From 9e72dc3b1501ed7ae12c3caee83cbaa72df5ea65 Mon Sep 17 00:00:00 2001 From: asafchen-dig Date: Thu, 21 Nov 2024 05:40:38 -0500 Subject: [PATCH 1/5] Add auth cookie to jaeger jcef --- .../plugin/jaegerui/JaegerUIFileEditor.java | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIFileEditor.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIFileEditor.java index fd6debf1d..cf41382de 100644 --- a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIFileEditor.java +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIFileEditor.java @@ -1,22 +1,29 @@ package org.digma.intellij.plugin.jaegerui; +import com.fasterxml.jackson.core.JsonProcessingException; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.fileEditor.*; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.*; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.ui.jcef.JBCefApp; +import com.intellij.ui.jcef.*; +import org.digma.intellij.plugin.auth.account.CredentialsHolder; +import org.digma.intellij.plugin.common.JsonUtilsKt; +import org.digma.intellij.plugin.log.Log; import org.digma.intellij.plugin.reload.ReloadObserver; import org.digma.intellij.plugin.ui.jcef.*; import org.jetbrains.annotations.*; import javax.swing.*; import java.beans.PropertyChangeListener; +import java.net.*; +import static org.digma.intellij.plugin.psi.LanguageService.LOGGER; import static org.digma.intellij.plugin.ui.jcef.JBcefBrowserPropertiesKt.JCEF_JAEGER_UI_FILE_PROPERTY_NAME; public class JaegerUIFileEditor extends UserDataHolderBase implements FileEditor { - + private final Logger logger = Logger.getInstance(JaegerUIFileEditor.class); private final JaegerUIVirtualFile file; @Nullable @@ -27,9 +34,26 @@ public class JaegerUIFileEditor extends UserDataHolderBase implements FileEditor public JaegerUIFileEditor(Project project, JaegerUIVirtualFile file) { this.file = file; jCefComponent = createJcefComponent(project, file); + setAuthCookie(project, file); ApplicationManager.getApplication().getService(ReloadObserver.class).register(project, "JaegerUI." + file.getName(), jCefComponent.getComponent(), this); } + private void setAuthCookie(Project project, JaegerUIVirtualFile file){ + var jaegerBaseUrl = file.getJaegerBaseUrl(); + var digmaCredentials = CredentialsHolder.INSTANCE.getDigmaCredentials(); + if (digmaCredentials == null) + return; + + try { + var jaegerDomain = new URI(jaegerBaseUrl).getHost(); + var cookie = new JBCefCookie("auth_token", JsonUtilsKt.objectToJson(digmaCredentials), jaegerDomain, "/", true, true); + jCefComponent.getJbCefBrowser().getJBCefCookieManager().setCookie(jaegerBaseUrl, cookie); +// jCefComponent.getJbCefBrowser().openDevtools(); + } catch (Exception e) { + Log.debugWithException(logger, e, "Failed to set auth cookie to jaeger", e.getMessage()); + } + } + @Nullable private JCefComponent createJcefComponent(Project project, JaegerUIVirtualFile file) { From 48ddbf2c61ac5e1182006dad1a3a8278a120d731 Mon Sep 17 00:00:00 2001 From: asafchen-dig Date: Fri, 22 Nov 2024 03:59:29 -0500 Subject: [PATCH 2/5] works --- .../plugin/jaegerui/JaegerUIConstants.java | 2 + .../plugin/jaegerui/JaegerUIFileEditor.java | 28 +--- .../JaegerUiIndexTemplateBuilder.java | 2 +- .../JaegerUiProxyResourceHandler.java | 121 ++++++++++++++++++ .../JaegerUiSchemeHandlerFactory.java | 33 ++++- .../ui/jcef/BaseSchemeHandlerFactory.kt | 13 +- .../ui/mainapp/MainAppSchemeHandlerFactory.kt | 9 ++ 7 files changed, 174 insertions(+), 34 deletions(-) create mode 100644 src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiProxyResourceHandler.java diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIConstants.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIConstants.java index 5b61d9694..f4be3739b 100644 --- a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIConstants.java +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIConstants.java @@ -5,6 +5,8 @@ public interface JaegerUIConstants { String JAEGER_UI_DOMAIN_NAME = "jaegerui"; String JAEGER_UI_SCHEMA = "http"; String JAEGER_UI_URL = JAEGER_UI_SCHEMA + "://" + JAEGER_UI_DOMAIN_NAME + "/index.html"; + String JAEGER_API_PROXY_PATH = "/api-proxy"; + String JAEGER_API_PROXY_URL = JAEGER_UI_SCHEMA + "://" + JAEGER_UI_DOMAIN_NAME + JAEGER_API_PROXY_PATH; String JAEGER_UI_RESOURCE_FOLDER_NAME = "/webview/jaegerui"; String JAEGER_UI_INDEX_TEMPLATE_NAME = "jaegeruitemplate.ftl"; diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIFileEditor.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIFileEditor.java index cf41382de..fd6debf1d 100644 --- a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIFileEditor.java +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIFileEditor.java @@ -1,29 +1,22 @@ package org.digma.intellij.plugin.jaegerui; -import com.fasterxml.jackson.core.JsonProcessingException; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.fileEditor.*; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.*; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.ui.jcef.*; -import org.digma.intellij.plugin.auth.account.CredentialsHolder; -import org.digma.intellij.plugin.common.JsonUtilsKt; -import org.digma.intellij.plugin.log.Log; +import com.intellij.ui.jcef.JBCefApp; import org.digma.intellij.plugin.reload.ReloadObserver; import org.digma.intellij.plugin.ui.jcef.*; import org.jetbrains.annotations.*; import javax.swing.*; import java.beans.PropertyChangeListener; -import java.net.*; -import static org.digma.intellij.plugin.psi.LanguageService.LOGGER; import static org.digma.intellij.plugin.ui.jcef.JBcefBrowserPropertiesKt.JCEF_JAEGER_UI_FILE_PROPERTY_NAME; public class JaegerUIFileEditor extends UserDataHolderBase implements FileEditor { - private final Logger logger = Logger.getInstance(JaegerUIFileEditor.class); + private final JaegerUIVirtualFile file; @Nullable @@ -34,26 +27,9 @@ public class JaegerUIFileEditor extends UserDataHolderBase implements FileEditor public JaegerUIFileEditor(Project project, JaegerUIVirtualFile file) { this.file = file; jCefComponent = createJcefComponent(project, file); - setAuthCookie(project, file); ApplicationManager.getApplication().getService(ReloadObserver.class).register(project, "JaegerUI." + file.getName(), jCefComponent.getComponent(), this); } - private void setAuthCookie(Project project, JaegerUIVirtualFile file){ - var jaegerBaseUrl = file.getJaegerBaseUrl(); - var digmaCredentials = CredentialsHolder.INSTANCE.getDigmaCredentials(); - if (digmaCredentials == null) - return; - - try { - var jaegerDomain = new URI(jaegerBaseUrl).getHost(); - var cookie = new JBCefCookie("auth_token", JsonUtilsKt.objectToJson(digmaCredentials), jaegerDomain, "/", true, true); - jCefComponent.getJbCefBrowser().getJBCefCookieManager().setCookie(jaegerBaseUrl, cookie); -// jCefComponent.getJbCefBrowser().openDevtools(); - } catch (Exception e) { - Log.debugWithException(logger, e, "Failed to set auth cookie to jaeger", e.getMessage()); - } - } - @Nullable private JCefComponent createJcefComponent(Project project, JaegerUIVirtualFile file) { diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiIndexTemplateBuilder.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiIndexTemplateBuilder.java index fd9aa19dd..a7b0906e4 100644 --- a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiIndexTemplateBuilder.java +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiIndexTemplateBuilder.java @@ -27,7 +27,7 @@ public JaegerUiIndexTemplateBuilder(JaegerUIVirtualFile file) { public void addAppSpecificEnvVariable(@NotNull Project project, @NotNull Map data) { var didUserChangeJaegerQueryUrl = !(SettingsState.DEFAULT_JAEGER_QUERY_URL.equalsIgnoreCase(SettingsState.getInstance().getJaegerQueryUrl())); - data.put(JAEGER_URL_PARAM_NAME, jaegerUIVirtualFile.getJaegerBaseUrl()); + data.put(JAEGER_URL_PARAM_NAME, JaegerUIConstants.JAEGER_API_PROXY_URL); data.put(JAEGER_QUERY_URL_CHANGED_FROM_DEFAULT_PARAM_NAME, String.valueOf(didUserChangeJaegerQueryUrl)); diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiProxyResourceHandler.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiProxyResourceHandler.java new file mode 100644 index 000000000..84a6f7106 --- /dev/null +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiProxyResourceHandler.java @@ -0,0 +1,121 @@ +package org.digma.intellij.plugin.jaegerui; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.intellij.openapi.diagnostic.Logger; +import com.posthog.java.shaded.okhttp3.*; +import org.cef.callback.CefCallback; +import org.cef.handler.CefResourceHandler; +import org.cef.misc.*; +import org.cef.network.*; +import org.digma.intellij.plugin.auth.account.CredentialsHolder; +import org.digma.intellij.plugin.common.JsonUtilsKt; +import org.digma.intellij.plugin.log.Log; +import org.digma.intellij.plugin.ui.jcef.JCefException; +import org.jetbrains.annotations.*; + +import java.net.*; +import java.util.*; +import java.util.stream.Collectors; + +public class JaegerUiProxyResourceHandler implements CefResourceHandler { + + private static final Logger LOGGER = Logger.getInstance(JaegerUiProxyResourceHandler.class); + private final OkHttpClient okHttpClient; + private final URL jaegerQueryUrl; + private Response okHttp3Response; + + public JaegerUiProxyResourceHandler(URL jaegerQueryUrl){ + this.jaegerQueryUrl = jaegerQueryUrl; + okHttpClient = new OkHttpClient.Builder().build(); + } + + public static boolean isJaegerQueryCall(URL url) { + return url.getPath().startsWith(JaegerUIConstants.JAEGER_API_PROXY_PATH); + } + + @Override + public boolean processRequest(CefRequest cefRequest, CefCallback callback) { + try { + var apiUrl = getApiUrl(cefRequest); + var headers = getHeaders(cefRequest); + var body = getBody(cefRequest, headers); + var okHttp3Request = new Request.Builder() + .method(cefRequest.getMethod(), body) + .headers(Headers.of(headers)) + .url(apiUrl) + .build(); + okHttp3Response = okHttpClient.newCall(okHttp3Request).execute(); + callback.Continue(); + return true; + } catch (Exception e) { + Log.warnWithException(LOGGER, e, "processRequest failed"); + callback.cancel(); + return false; + } + } + + @NotNull + private URL getApiUrl(CefRequest cefRequest) throws MalformedURLException { + var requestUrl = new URL(cefRequest.getURL()); + return new URL(jaegerQueryUrl.getProtocol(), jaegerQueryUrl.getHost(), jaegerQueryUrl.getPort(), + requestUrl.getPath().substring(JaegerUIConstants.JAEGER_API_PROXY_PATH.length()) + "?" + requestUrl.getQuery()); + } + + @NotNull + private static HashMap getHeaders(CefRequest cefRequest) throws JsonProcessingException { + var headers = new HashMap(); + cefRequest.getHeaderMap(headers); + var digmaCredentials = CredentialsHolder.INSTANCE.getDigmaCredentials(); + if (digmaCredentials != null){ + var digmaCredentialsJson = JsonUtilsKt.objectToJson(digmaCredentials); + headers.put("Cookie", "auth_token="+digmaCredentialsJson); + } + return headers; + } + + @Nullable + private static RequestBody getBody(CefRequest cefRequest, HashMap headers) { + return cefRequest.getPostData() != null + ? RequestBody.create(cefRequest.getPostData().toString(), MediaType.parse(headers.get("Content-Type"))) + : null; + } + + @Override + public void getResponseHeaders(CefResponse cefResponse, IntRef responseLength, StringRef redirectUrl) { + if (okHttp3Response == null) + return; + + cefResponse.setStatus(okHttp3Response.code()); + var headersMap = okHttp3Response.headers().names().stream().collect(Collectors.toMap(s -> s, okHttp3Response::header)); + cefResponse.setHeaderMap(headersMap); + + var body = okHttp3Response.body(); + if (body != null){ + cefResponse.setMimeType(body.contentType().toString()); + responseLength.set((int)body.contentLength()); + } + } + + @Override + public boolean readResponse(byte[] dataOut, int bytesToRead, IntRef bytesRead, CefCallback cefCallback) { + try{ + var inputStream = okHttp3Response.body().byteStream(); + var read = inputStream.read(dataOut, 0, bytesToRead); + if (read == -1) { + bytesRead.set(0); + inputStream.close(); + return false; + } + bytesRead.set(read); + return true; + } catch (Exception e) { + Log.warnWithException(LOGGER, e, "exception readResponse"); + throw new JCefException(e); + } + } + + @Override + public void cancel() { + okHttp3Response.close(); + } +} diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiSchemeHandlerFactory.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiSchemeHandlerFactory.java index 40a54d4d8..f004d2b45 100644 --- a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiSchemeHandlerFactory.java +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiSchemeHandlerFactory.java @@ -1,14 +1,32 @@ package org.digma.intellij.plugin.jaegerui; +import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.project.Project; import org.cef.browser.CefBrowser; import org.cef.handler.CefResourceHandler; +import org.digma.intellij.plugin.log.Log; +import org.digma.intellij.plugin.settings.SettingsState; import org.digma.intellij.plugin.ui.jcef.BaseSchemeHandlerFactory; -import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.*; + +import java.net.*; import static org.digma.intellij.plugin.jaegerui.JaegerUIConstants.JAEGER_UI_SCHEMA; public class JaegerUiSchemeHandlerFactory extends BaseSchemeHandlerFactory { + private static final Logger LOGGER = Logger.getInstance(JaegerUiSchemeHandlerFactory.class); + + @Nullable + @Override + public CefResourceHandler createProxyHandler(@NotNull Project project, @NotNull URL url) { + var jaegerQueryUrl = GetJaegerQueryUrlOrNull(); + if (jaegerQueryUrl != null && + JaegerUiProxyResourceHandler.isJaegerQueryCall(url)) { + return new JaegerUiProxyResourceHandler(jaegerQueryUrl); + } + return null; + } @NotNull @Override @@ -37,4 +55,17 @@ public String getDomain() { public String getResourceFolderName() { return JaegerUIConstants.JAEGER_UI_RESOURCE_FOLDER_NAME; } + + private static URL GetJaegerQueryUrlOrNull(){ + var urlStr = SettingsState.getInstance().getJaegerQueryUrl(); + if(urlStr == null) + return null; + + try { + return new URL(urlStr); + } catch (MalformedURLException e) { + Log.warnWithException(LOGGER, e, "JaegerQueryUrl parsing failed"); + } + return null; + } } diff --git a/src/main/kotlin/org/digma/intellij/plugin/ui/jcef/BaseSchemeHandlerFactory.kt b/src/main/kotlin/org/digma/intellij/plugin/ui/jcef/BaseSchemeHandlerFactory.kt index 2443be8c5..4d22cb566 100644 --- a/src/main/kotlin/org/digma/intellij/plugin/ui/jcef/BaseSchemeHandlerFactory.kt +++ b/src/main/kotlin/org/digma/intellij/plugin/ui/jcef/BaseSchemeHandlerFactory.kt @@ -1,6 +1,7 @@ package org.digma.intellij.plugin.ui.jcef import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.project.Project import org.cef.browser.CefBrowser import org.cef.browser.CefFrame import org.cef.callback.CefSchemeHandlerFactory @@ -39,16 +40,14 @@ abstract class BaseSchemeHandlerFactory : CefSchemeHandlerFactory { val url = getUrl(request) if (url != null) { - val host = url.host val file = url.file - - if (ApiProxyResourceHandler.isApiProxyCall(url)) { - return ApiProxyResourceHandler(project) + val proxyHandler = createProxyHandler(project, url) + if (proxyHandler != null) { + return proxyHandler } - if (getDomain() == host && getSchema() == schemeName) { var resourceName = getResourceFolderName() + file var resource = javaClass.getResource(resourceName) @@ -73,7 +72,9 @@ abstract class BaseSchemeHandlerFactory : CefSchemeHandlerFactory { } } - + protected open fun createProxyHandler(project: Project, url: URL): CefResourceHandler?{ + return null + } abstract fun createResourceHandler(resourceName: String, resourceExists: Boolean, browser: CefBrowser): CefResourceHandler abstract fun getSchema(): String abstract fun getDomain(): String diff --git a/src/main/kotlin/org/digma/intellij/plugin/ui/mainapp/MainAppSchemeHandlerFactory.kt b/src/main/kotlin/org/digma/intellij/plugin/ui/mainapp/MainAppSchemeHandlerFactory.kt index 42580d8dd..dbdc449b2 100644 --- a/src/main/kotlin/org/digma/intellij/plugin/ui/mainapp/MainAppSchemeHandlerFactory.kt +++ b/src/main/kotlin/org/digma/intellij/plugin/ui/mainapp/MainAppSchemeHandlerFactory.kt @@ -1,10 +1,19 @@ package org.digma.intellij.plugin.ui.mainapp +import com.intellij.openapi.project.Project import org.cef.browser.CefBrowser import org.cef.handler.CefResourceHandler +import org.digma.intellij.plugin.ui.jcef.ApiProxyResourceHandler import org.digma.intellij.plugin.ui.jcef.BaseSchemeHandlerFactory +import java.net.URL class MainAppSchemeHandlerFactory : BaseSchemeHandlerFactory() { + override fun createProxyHandler(project: Project, url: URL): CefResourceHandler? { + if (ApiProxyResourceHandler.isApiProxyCall(url)) { + return ApiProxyResourceHandler(project) + } + return null + } override fun createResourceHandler(resourceName: String, resourceExists: Boolean, browser: CefBrowser): CefResourceHandler { return if (resourceExists) { From 5df675faf6b68f94a3261303b02e0782fbb06301 Mon Sep 17 00:00:00 2001 From: asafchen-dig Date: Mon, 25 Nov 2024 05:01:04 -0500 Subject: [PATCH 3/5] more --- .../plugin/jaegerui/JaegerUIConstants.java | 3 +- .../JaegerUiIndexTemplateBuilder.java | 2 +- .../JaegerUiProxyResourceHandler.java | 32 +++++++++++++++++-- .../webview/jaegerui/jaegeruitemplate.ftl | 2 +- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIConstants.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIConstants.java index f4be3739b..98bfba2b3 100644 --- a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIConstants.java +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUIConstants.java @@ -5,8 +5,7 @@ public interface JaegerUIConstants { String JAEGER_UI_DOMAIN_NAME = "jaegerui"; String JAEGER_UI_SCHEMA = "http"; String JAEGER_UI_URL = JAEGER_UI_SCHEMA + "://" + JAEGER_UI_DOMAIN_NAME + "/index.html"; - String JAEGER_API_PROXY_PATH = "/api-proxy"; - String JAEGER_API_PROXY_URL = JAEGER_UI_SCHEMA + "://" + JAEGER_UI_DOMAIN_NAME + JAEGER_API_PROXY_PATH; + String JAEGER_API_URL = JAEGER_UI_SCHEMA + "://" + JAEGER_UI_DOMAIN_NAME + "/api"; String JAEGER_UI_RESOURCE_FOLDER_NAME = "/webview/jaegerui"; String JAEGER_UI_INDEX_TEMPLATE_NAME = "jaegeruitemplate.ftl"; diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiIndexTemplateBuilder.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiIndexTemplateBuilder.java index a7b0906e4..c1c185b93 100644 --- a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiIndexTemplateBuilder.java +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiIndexTemplateBuilder.java @@ -27,7 +27,7 @@ public JaegerUiIndexTemplateBuilder(JaegerUIVirtualFile file) { public void addAppSpecificEnvVariable(@NotNull Project project, @NotNull Map data) { var didUserChangeJaegerQueryUrl = !(SettingsState.DEFAULT_JAEGER_QUERY_URL.equalsIgnoreCase(SettingsState.getInstance().getJaegerQueryUrl())); - data.put(JAEGER_URL_PARAM_NAME, JaegerUIConstants.JAEGER_API_PROXY_URL); + data.put(JAEGER_URL_PARAM_NAME, JaegerUIConstants.JAEGER_API_URL); data.put(JAEGER_QUERY_URL_CHANGED_FROM_DEFAULT_PARAM_NAME, String.valueOf(didUserChangeJaegerQueryUrl)); diff --git a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiProxyResourceHandler.java b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiProxyResourceHandler.java index 84a6f7106..e63f148e6 100644 --- a/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiProxyResourceHandler.java +++ b/src/main/java/org/digma/intellij/plugin/jaegerui/JaegerUiProxyResourceHandler.java @@ -30,7 +30,7 @@ public JaegerUiProxyResourceHandler(URL jaegerQueryUrl){ } public static boolean isJaegerQueryCall(URL url) { - return url.getPath().startsWith(JaegerUIConstants.JAEGER_API_PROXY_PATH); + return url.getPath().startsWith("/api/"); } @Override @@ -45,6 +45,10 @@ public boolean processRequest(CefRequest cefRequest, CefCallback callback) { .url(apiUrl) .build(); okHttp3Response = okHttpClient.newCall(okHttp3Request).execute(); + var authFailureReason = getAuthFailureReason(okHttp3Response); + if (authFailureReason != null && !authFailureReason.isBlank()) { + okHttp3Response = buildAuthFailureResponse(okHttp3Request, okHttp3Response, authFailureReason); + } callback.Continue(); return true; } catch (Exception e) { @@ -54,11 +58,35 @@ public boolean processRequest(CefRequest cefRequest, CefCallback callback) { } } + @Nullable + private static String getAuthFailureReason(Response response){ + final var headerName = "X-Auth-Fail-Reason"; + var reason = response.header(headerName); + if(reason == null && response.priorResponse() != null) + reason = response.priorResponse().header(headerName); + return reason; + } + + private static Response buildAuthFailureResponse(Request okHttp3Request, Response response, String authFailureReason) { + return new Response( + okHttp3Request, + response.protocol(), + "Authentication failed", 401, + response.handshake(), + Headers.of(), + ResponseBody.create( + "Authentication failed: " + authFailureReason, + MediaType.parse("text/html") + ), + null, null, null, + 0, 0, null); + } + @NotNull private URL getApiUrl(CefRequest cefRequest) throws MalformedURLException { var requestUrl = new URL(cefRequest.getURL()); return new URL(jaegerQueryUrl.getProtocol(), jaegerQueryUrl.getHost(), jaegerQueryUrl.getPort(), - requestUrl.getPath().substring(JaegerUIConstants.JAEGER_API_PROXY_PATH.length()) + "?" + requestUrl.getQuery()); + requestUrl.getPath() + "?" + requestUrl.getQuery()); } @NotNull diff --git a/src/main/resources/webview/jaegerui/jaegeruitemplate.ftl b/src/main/resources/webview/jaegerui/jaegeruitemplate.ftl index d136db859..f7f79c403 100644 --- a/src/main/resources/webview/jaegerui/jaegeruitemplate.ftl +++ b/src/main/resources/webview/jaegerui/jaegeruitemplate.ftl @@ -41,7 +41,7 @@ - + @@ -63,6 +64,6 @@ - + diff --git a/src/main/resources/webview/jaegerui/jaegeruitemplate.ftl b/src/main/resources/webview/jaegerui/jaegeruitemplate.ftl index f7f79c403..264a1e005 100644 --- a/src/main/resources/webview/jaegerui/jaegeruitemplate.ftl +++ b/src/main/resources/webview/jaegerui/jaegeruitemplate.ftl @@ -40,15 +40,15 @@ - + @@ -63,6 +63,6 @@ - + diff --git a/src/main/resources/webview/jaegerui/static/index-7d2ffb6b.js b/src/main/resources/webview/jaegerui/static/index-a01b010b.js similarity index 88% rename from src/main/resources/webview/jaegerui/static/index-7d2ffb6b.js rename to src/main/resources/webview/jaegerui/static/index-a01b010b.js index 2f2e617c3..16988738e 100644 --- a/src/main/resources/webview/jaegerui/static/index-7d2ffb6b.js +++ b/src/main/resources/webview/jaegerui/static/index-a01b010b.js @@ -14,7 +14,7 @@ var Pm=Object.defineProperty;var Lm=(o,$,_e)=>$ in o?Pm(o,$,{enumerable:!0,confi * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var f$1=reactExports,k$3=Symbol.for("react.element"),l$1=Symbol.for("react.fragment"),m$2=Object.prototype.hasOwnProperty,n$1=f$1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p$3={key:!0,ref:!0,__self:!0,__source:!0};function q$1(o,$,_e){var et,tt={},rt=null,at=null;_e!==void 0&&(rt=""+_e),$.key!==void 0&&(rt=""+$.key),$.ref!==void 0&&(at=$.ref);for(et in $)m$2.call($,et)&&!p$3.hasOwnProperty(et)&&(tt[et]=$[et]);if(o&&o.defaultProps)for(et in $=o.defaultProps,$)tt[et]===void 0&&(tt[et]=$[et]);return{$$typeof:k$3,type:o,key:rt,ref:at,props:tt,_owner:n$1.current}}reactJsxRuntime_production_min.Fragment=l$1;reactJsxRuntime_production_min.jsx=q$1;reactJsxRuntime_production_min.jsxs=q$1;(function(o){o.exports=reactJsxRuntime_production_min})(jsxRuntime);function getAppEnvironment(){return"production"}function getVersionInfo(){return'{"version":"0.0.1","remote":"github.aaakk.us.kg-digma/digma-ai/jaeger-ui","objName":"faf0e053","changed":{"hasChanged":true,"files":5,"insertions":13,"deletions":14,"untracked":2,"pretty":"5f +13 -14 2?"},"refName":"feature/navigation-refactor","pretty":"0.0.1 | github.aaakk.us.kg-digma/digma-ai/jaeger-ui | faf0e053 | 5f +13 -14 2? | feature/navigation-refactor"}'}function shouldDebugGoogleAnalytics(){return""}const baseNode=document.querySelector("base");if(!baseNode&&getAppEnvironment()!=="test")throw new Error(" element not found");const sitePrefix=baseNode?baseNode.href:`${global.location.origin}/`;window.__webpack_public_path__=sitePrefix;var warning$7=function(){},warning_1$3=warning$7,propTypesExports={},propTypes$d={get exports(){return propTypesExports},set exports(o){propTypesExports=o}},ReactPropTypesSecret$1="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ReactPropTypesSecret_1=ReactPropTypesSecret$1,ReactPropTypesSecret=ReactPropTypesSecret_1;function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction;var factoryWithThrowingShims=function(){function o(et,tt,rt,at,nt,it){if(it!==ReactPropTypesSecret){var ot=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw ot.name="Invariant Violation",ot}}o.isRequired=o;function $(){return o}var _e={array:o,bigint:o,bool:o,func:o,number:o,object:o,string:o,symbol:o,any:o,arrayOf:$,element:o,elementType:o,instanceOf:$,node:o,objectOf:$,oneOf:$,oneOfType:$,shape:$,exact:$,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return _e.PropTypes=_e,_e};propTypes$d.exports=factoryWithThrowingShims();var warning$6=function(){},browser$1=warning$6,invariant=function(o,$,_e,et,tt,rt,at,nt){if(!o){var it;if($===void 0)it=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var ot=[_e,et,tt,rt,at,nt],st=0;it=new Error($.replace(/%s/g,function(){return ot[st++]})),it.name="Invariant Violation"}throw it.framesToPop=1,it}},browser=invariant;function isAbsolute(o){return o.charAt(0)==="/"}function spliceOne(o,$){for(var _e=$,et=_e+1,tt=o.length;et1&&arguments[1]!==void 0?arguments[1]:"",_e=o&&o.split("/")||[],et=$&&$.split("/")||[],tt=o&&isAbsolute(o),rt=$&&isAbsolute($),at=tt||rt;if(o&&isAbsolute(o)?et=_e:_e.length&&(et.pop(),et=et.concat(_e)),!et.length)return"/";var nt=void 0;if(et.length){var it=et[et.length-1];nt=it==="."||it===".."||it===""}else nt=!1;for(var ot=0,st=et.length;st>=0;st--){var lt=et[st];lt==="."?spliceOne(et,st):lt===".."?(spliceOne(et,st),ot++):ot&&(spliceOne(et,st),ot--)}if(!at)for(;ot--;ot)et.unshift("..");at&&et[0]!==""&&(!et[0]||!isAbsolute(et[0]))&&et.unshift("");var ct=et.join("/");return nt&&ct.substr(-1)!=="/"&&(ct+="/"),ct}const resolvePathname$1=Object.freeze(Object.defineProperty({__proto__:null,default:resolvePathname},Symbol.toStringTag,{value:"Module"}));var _typeof$1p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function valueEqual(o,$){if(o===$)return!0;if(o==null||$==null)return!1;if(Array.isArray(o))return Array.isArray($)&&o.length===$.length&&o.every(function(it,ot){return valueEqual(it,$[ot])});var _e=typeof o>"u"?"undefined":_typeof$1p(o),et=typeof $>"u"?"undefined":_typeof$1p($);if(_e!==et)return!1;if(_e==="object"){var tt=o.valueOf(),rt=$.valueOf();if(tt!==o||rt!==$)return valueEqual(tt,rt);var at=Object.keys(o),nt=Object.keys($);return at.length!==nt.length?!1:at.every(function(it){return valueEqual(o[it],$[it])})}return!1}const valueEqual$1=Object.freeze(Object.defineProperty({__proto__:null,default:valueEqual},Symbol.toStringTag,{value:"Module"}));var addLeadingSlash=function($){return $.charAt(0)==="/"?$:"/"+$},hasBasename$1=function($,_e){return new RegExp("^"+_e+"(\\/|\\?|#|$)","i").test($)},stripBasename=function($,_e){return hasBasename$1($,_e)?$.substr(_e.length):$},stripTrailingSlash=function($){return $.charAt($.length-1)==="/"?$.slice(0,-1):$},parsePath=function($){var _e=$||"/",et="",tt="",rt=_e.indexOf("#");rt!==-1&&(tt=_e.substr(rt),_e=_e.substr(0,rt));var at=_e.indexOf("?");return at!==-1&&(et=_e.substr(at),_e=_e.substr(0,at)),{pathname:_e,search:et==="?"?"":et,hash:tt==="#"?"":tt}},createPath=function($){var _e=$.pathname,et=$.search,tt=$.hash,rt=_e||"/";return et&&et!=="?"&&(rt+=et.charAt(0)==="?"?et:"?"+et),tt&&tt!=="#"&&(rt+=tt.charAt(0)==="#"?tt:"#"+tt),rt},_extends$2r=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{};browser(canUseDOM$3,"Browser history needs a DOM");var _e=window.history,et=supportsHistory(),tt=!supportsPopStateOnHashChange(),rt=$.forceRefresh,at=rt===void 0?!1:rt,nt=$.getUserConfirmation,it=nt===void 0?getConfirmation:nt,ot=$.keyLength,st=ot===void 0?6:ot,lt=$.basename?stripTrailingSlash(addLeadingSlash($.basename)):"",ct=function(Nt){var Wt=Nt||{},Jt=Wt.key,nr=Wt.state,er=window.location,Xt=er.pathname,tr=er.search,Zt=er.hash,Gt=Xt+tr+Zt;return browser$1(!lt||hasBasename$1(Gt,lt)),lt&&(Gt=stripBasename(Gt,lt)),createLocation(Gt,nr,Jt)},ut=function(){return Math.random().toString(36).substr(2,st)},ft=createTransitionManager$2(),At=function(Nt){_extends$2q(Vt,Nt),Vt.length=_e.length,ft.notifyListeners(Vt.location,Vt.action)},vt=function(Nt){isExtraneousPopstateEvent(Nt)||pt(ct(Nt.state))},ht=function(){pt(ct(getHistoryState$1()))},bt=!1,pt=function(Nt){if(bt)bt=!1,At();else{var Wt="POP";ft.confirmTransitionTo(Nt,Wt,it,function(Jt){Jt?At({action:Wt,location:Nt}):dt(Nt)})}},dt=function(Nt){var Wt=Vt.location,Jt=Ct.indexOf(Wt.key);Jt===-1&&(Jt=0);var nr=Ct.indexOf(Nt.key);nr===-1&&(nr=0);var er=Jt-nr;er&&(bt=!0,Et(er))},_t=ct(getHistoryState$1()),Ct=[_t.key],gt=function(Nt){return lt+createPath(Nt)},yt=function(Nt,Wt){browser$1(!((typeof Nt>"u"?"undefined":_typeof$1o(Nt))==="object"&&Nt.state!==void 0&&Wt!==void 0));var Jt="PUSH",nr=createLocation(Nt,Wt,ut(),Vt.location);ft.confirmTransitionTo(nr,Jt,it,function(er){if(er){var Xt=gt(nr),tr=nr.key,Zt=nr.state;if(et)if(_e.pushState({key:tr,state:Zt},null,Xt),at)window.location.href=Xt;else{var Gt=Ct.indexOf(Vt.location.key),Ft=Ct.slice(0,Gt===-1?0:Gt+1);Ft.push(nr.key),Ct=Ft,At({action:Jt,location:nr})}else window.location.href=Xt}})},xt=function(Nt,Wt){browser$1(!((typeof Nt>"u"?"undefined":_typeof$1o(Nt))==="object"&&Nt.state!==void 0&&Wt!==void 0));var Jt="REPLACE",nr=createLocation(Nt,Wt,ut(),Vt.location);ft.confirmTransitionTo(nr,Jt,it,function(er){if(er){var Xt=gt(nr),tr=nr.key,Zt=nr.state;if(et)if(_e.replaceState({key:tr,state:Zt},null,Xt),at)window.location.replace(Xt);else{var Gt=Ct.indexOf(Vt.location.key);Gt!==-1&&(Ct[Gt]=nr.key),At({action:Jt,location:nr})}else window.location.replace(Xt)}})},Et=function(Nt){_e.go(Nt)},It=function(){return Et(-1)},Tt=function(){return Et(1)},Rt=0,Ot=function(Nt){Rt+=Nt,Rt===1?(addEventListener$2(window,PopStateEvent$1,vt),tt&&addEventListener$2(window,HashChangeEvent$1,ht)):Rt===0&&(removeEventListener$1(window,PopStateEvent$1,vt),tt&&removeEventListener$1(window,HashChangeEvent$1,ht))},Mt=!1,Bt=function(){var Nt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Wt=ft.setPrompt(Nt);return Mt||(Ot(1),Mt=!0),function(){return Mt&&(Mt=!1,Ot(-1)),Wt()}},Lt=function(Nt){var Wt=ft.appendListener(Nt);return Ot(1),function(){Ot(-1),Wt()}},Vt={length:_e.length,action:"POP",location:_t,createHref:gt,push:yt,replace:xt,go:Et,goBack:It,goForward:Tt,block:Bt,listen:Lt};return Vt},_extends$2p=Object.assign||function(o){for(var $=1;$ may have only one child element"),this.unlisten=at.listen(function(){et.setState({match:et.computeMatch(at.location.pathname)})})},$.prototype.componentWillReceiveProps=function(et){warning_1$3(this.props.history===et.history)},$.prototype.componentWillUnmount=function(){this.unlisten()},$.prototype.render=function(){var et=this.props.children;return et?React$k.Children.only(et):null},$}(React$k.Component);Router.propTypes={history:propTypesExports.object.isRequired,children:propTypesExports.node};Router.contextTypes={router:propTypesExports.object};Router.childContextTypes={router:propTypesExports.object.isRequired};const Router$1=Router;function _classCallCheck$29(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$27(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$27(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var BrowserRouter=function(o){_inherits$27($,o);function $(){var _e,et,tt;_classCallCheck$29(this,$);for(var rt=arguments.length,at=Array(rt),nt=0;nt=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}function _classCallCheck$28(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$26(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$26(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var isModifiedEvent=function($){return!!($.metaKey||$.altKey||$.ctrlKey||$.shiftKey)},Link=function(o){_inherits$26($,o);function $(){var _e,et,tt;_classCallCheck$28(this,$);for(var rt=arguments.length,at=Array(rt),nt=0;nt outside a "),browser(tt!==void 0,'You must specify the "to" property');var nt=this.context.router.history,it=typeof tt=="string"?createLocation(tt,null,null,nt.location):tt,ot=nt.createHref(it);return React$k.createElement("a",_extends$2o({},at,{onClick:this.handleClick,href:ot,ref:rt}))},$}(React$k.Component);Link.propTypes={onClick:propTypesExports.func,target:propTypesExports.string,replace:propTypesExports.bool,to:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]).isRequired,innerRef:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func])};Link.defaultProps={replace:!1};Link.contextTypes={router:propTypesExports.shape({history:propTypesExports.shape({push:propTypesExports.func.isRequired,replace:propTypesExports.func.isRequired,createHref:propTypesExports.func.isRequired}).isRequired}).isRequired};const Link$1=Link;var pathToRegexpExports={},pathToRegexp$1={get exports(){return pathToRegexpExports},set exports(o){pathToRegexpExports=o}},isarray$1=Array.isArray||function(o){return Object.prototype.toString.call(o)=="[object Array]"},isarray=isarray$1;pathToRegexp$1.exports=pathToRegexp;pathToRegexpExports.parse=parse$3;pathToRegexpExports.compile=compile;pathToRegexpExports.tokensToFunction=tokensToFunction;pathToRegexpExports.tokensToRegExp=tokensToRegExp;var PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$3(o,$){for(var _e=[],et=0,tt=0,rt="",at=$&&$.delimiter||"/",nt;(nt=PATH_REGEXP.exec(o))!=null;){var it=nt[0],ot=nt[1],st=nt.index;if(rt+=o.slice(tt,st),tt=st+it.length,ot){rt+=ot[1];continue}var lt=o[tt],ct=nt[2],ut=nt[3],ft=nt[4],At=nt[5],vt=nt[6],ht=nt[7];rt&&(_e.push(rt),rt="");var bt=ct!=null&<!=null&<!==ct,pt=vt==="+"||vt==="*",dt=vt==="?"||vt==="*",_t=nt[2]||at,Ct=ft||At;_e.push({name:ut||et++,prefix:ct||"",delimiter:_t,optional:dt,repeat:pt,partial:bt,asterisk:!!ht,pattern:Ct?escapeGroup(Ct):ht?".*":"[^"+escapeString(_t)+"]+?"})}return tt1&&arguments[1]!==void 0?arguments[1]:{},et=arguments[2];typeof _e=="string"&&(_e={path:_e});var tt=_e,rt=tt.path,at=tt.exact,nt=at===void 0?!1:at,it=tt.strict,ot=it===void 0?!1:it,st=tt.sensitive,lt=st===void 0?!1:st;if(rt==null)return et;var ct=compilePath(rt,{end:nt,strict:ot,sensitive:lt}),ut=ct.re,ft=ct.keys,At=ut.exec($);if(!At)return null;var vt=At[0],ht=At.slice(1),bt=$===vt;return nt&&!bt?null:{path:rt,url:rt==="/"&&vt===""?"/":vt,isExact:bt,params:ft.reduce(function(pt,dt,_t){return pt[dt.name]=ht[_t],pt},{})}};const matchPath$1=matchPath;var _extends$2n=Object.assign||function(o){for(var $=1;$ or withRouter() outside a ");var lt=tt.route,ct=(at||lt.location).pathname;return matchPath$1(ct,{path:nt,strict:it,exact:ot,sensitive:st},lt.match)},$.prototype.componentWillMount=function(){warning_1$3(!(this.props.component&&this.props.render)),warning_1$3(!(this.props.component&&this.props.children&&!isEmptyChildren(this.props.children))),warning_1$3(!(this.props.render&&this.props.children&&!isEmptyChildren(this.props.children)))},$.prototype.componentWillReceiveProps=function(et,tt){warning_1$3(!(et.location&&!this.props.location)),warning_1$3(!(!et.location&&this.props.location)),this.setState({match:this.computeMatch(et,tt.router)})},$.prototype.render=function(){var et=this.state.match,tt=this.props,rt=tt.children,at=tt.component,nt=tt.render,it=this.context.router,ot=it.history,st=it.route,lt=it.staticContext,ct=this.props.location||st.location,ut={match:et,location:ct,history:ot,staticContext:lt};return at?et?React$k.createElement(at,ut):null:nt?et?nt(ut):null:typeof rt=="function"?rt(ut):rt&&!isEmptyChildren(rt)?React$k.Children.only(rt):null},$}(React$k.Component);Route.propTypes={computedMatch:propTypesExports.object,path:propTypesExports.string,exact:propTypesExports.bool,strict:propTypesExports.bool,sensitive:propTypesExports.bool,component:propTypesExports.func,render:propTypesExports.func,children:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),location:propTypesExports.object};Route.contextTypes={router:propTypesExports.shape({history:propTypesExports.object.isRequired,route:propTypesExports.object.isRequired,staticContext:propTypesExports.object})};Route.childContextTypes={router:propTypesExports.object.isRequired};const Route$1=Route;var patternCache={},cacheLimit=1e4,cacheCount=0,compileGenerator=function($){var _e=$,et=patternCache[_e]||(patternCache[_e]={});if(et[$])return et[$];var tt=pathToRegexpExports.compile($);return cacheCount0&&arguments[0]!==void 0?arguments[0]:"/",_e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if($==="/")return $;var et=compileGenerator($);return et(_e,{pretty:!0})};const generatePath$2=generatePath$1;var _extends$2m=Object.assign||function(o){for(var $=1;$ outside a "),this.isStatic()&&this.perform()},$.prototype.componentDidMount=function(){this.isStatic()||this.perform()},$.prototype.componentDidUpdate=function(et){var tt=createLocation(et.to),rt=createLocation(this.props.to);if(locationsAreEqual(tt,rt)){warning_1$3(!1,"You tried to redirect to the same route you're currently on: "+('"'+rt.pathname+rt.search+'"'));return}this.perform()},$.prototype.computeTo=function(et){var tt=et.computedMatch,rt=et.to;return tt?typeof rt=="string"?generatePath$2(rt,tt.params):_extends$2m({},rt,{pathname:generatePath$2(rt.pathname,tt.params)}):rt},$.prototype.perform=function(){var et=this.context.router.history,tt=this.props.push,rt=this.computeTo(this.props);tt?et.push(rt):et.replace(rt)},$.prototype.render=function(){return null},$}(React$k.Component);Redirect.propTypes={computedMatch:propTypesExports.object,push:propTypesExports.bool,from:propTypesExports.string,to:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]).isRequired};Redirect.defaultProps={push:!1};Redirect.contextTypes={router:propTypesExports.shape({history:propTypesExports.shape({push:propTypesExports.func.isRequired,replace:propTypesExports.func.isRequired}).isRequired,staticContext:propTypesExports.object}).isRequired};const Redirect$1=Redirect;function _classCallCheck$25(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$23(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$23(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var Switch=function(o){_inherits$23($,o);function $(){return _classCallCheck$25(this,$),_possibleConstructorReturn$23(this,o.apply(this,arguments))}return $.prototype.componentWillMount=function(){browser(this.context.router,"You should not use outside a ")},$.prototype.componentWillReceiveProps=function(et){warning_1$3(!(et.location&&!this.props.location)),warning_1$3(!(!et.location&&this.props.location))},$.prototype.render=function(){var et=this.context.router.route,tt=this.props.children,rt=this.props.location||et.location,at=void 0,nt=void 0;return React$k.Children.forEach(tt,function(it){if(at==null&&React$k.isValidElement(it)){var ot=it.props,st=ot.path,lt=ot.exact,ct=ot.strict,ut=ot.sensitive,ft=ot.from,At=st||ft;nt=it,at=matchPath$1(rt.pathname,{path:At,exact:lt,strict:ct,sensitive:ut},et.match)}}),at?React$k.cloneElement(nt,{location:rt,computedMatch:at}):null},$}(React$k.Component);Switch.contextTypes={router:propTypesExports.shape({route:propTypesExports.object.isRequired}).isRequired};Switch.propTypes={children:propTypesExports.node,location:propTypesExports.object};const Switch$1=Switch;var REACT_STATICS$3={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS$3={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},defineProperty$a=Object.defineProperty,getOwnPropertyNames$3=Object.getOwnPropertyNames,getOwnPropertySymbols$4=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$5=Object.getOwnPropertyDescriptor,getPrototypeOf$6=Object.getPrototypeOf,objectPrototype$3=getPrototypeOf$6&&getPrototypeOf$6(Object);function hoistNonReactStatics$3(o,$,_e){if(typeof $!="string"){if(objectPrototype$3){var et=getPrototypeOf$6($);et&&et!==objectPrototype$3&&hoistNonReactStatics$3(o,et,_e)}var tt=getOwnPropertyNames$3($);getOwnPropertySymbols$4&&(tt=tt.concat(getOwnPropertySymbols$4($)));for(var rt=0;rt=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}var withRouter=function($){var _e=function(tt){var rt=tt.wrappedComponentRef,at=_objectWithoutProperties$b(tt,["wrappedComponentRef"]);return React$k.createElement(Route$1,{children:function(it){return React$k.createElement($,_extends$2l({},at,it,{ref:rt}))}})};return _e.displayName="withRouter("+($.displayName||$.name)+")",_e.WrappedComponent=$,_e.propTypes={wrappedComponentRef:propTypesExports.func},hoistNonReactStatics_cjs$3(_e,$)};const withRouter$1=withRouter;var reactDomExports={},reactDom={get exports(){return reactDomExports},set exports(o){reactDomExports=o}},reactDom_production_min={},schedulerExports={},scheduler={get exports(){return schedulerExports},set exports(o){schedulerExports=o}},scheduler_production_min={};/** + */var f$1=reactExports,k$3=Symbol.for("react.element"),l$1=Symbol.for("react.fragment"),m$2=Object.prototype.hasOwnProperty,n$1=f$1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p$3={key:!0,ref:!0,__self:!0,__source:!0};function q$1(o,$,_e){var et,tt={},rt=null,at=null;_e!==void 0&&(rt=""+_e),$.key!==void 0&&(rt=""+$.key),$.ref!==void 0&&(at=$.ref);for(et in $)m$2.call($,et)&&!p$3.hasOwnProperty(et)&&(tt[et]=$[et]);if(o&&o.defaultProps)for(et in $=o.defaultProps,$)tt[et]===void 0&&(tt[et]=$[et]);return{$$typeof:k$3,type:o,key:rt,ref:at,props:tt,_owner:n$1.current}}reactJsxRuntime_production_min.Fragment=l$1;reactJsxRuntime_production_min.jsx=q$1;reactJsxRuntime_production_min.jsxs=q$1;(function(o){o.exports=reactJsxRuntime_production_min})(jsxRuntime);function getAppEnvironment(){return"production"}function getVersionInfo(){return'{"version":"0.0.1","remote":"github.aaakk.us.kg-digma/digma-ai/jaeger-ui","objName":"23b04e96","changed":{"hasChanged":true,"files":5,"insertions":41,"deletions":33,"untracked":2,"pretty":"5f +41 -33 2?"},"refName":"digma","pretty":"0.0.1 | github.aaakk.us.kg-digma/digma-ai/jaeger-ui | 23b04e96 | 5f +41 -33 2? | digma"}'}function shouldDebugGoogleAnalytics(){return""}const baseNode=document.querySelector("base");if(!baseNode&&getAppEnvironment()!=="test")throw new Error(" element not found");const sitePrefix=baseNode?baseNode.href:`${global.location.origin}/`;window.__webpack_public_path__=sitePrefix;var warning$7=function(){},warning_1$3=warning$7,propTypesExports={},propTypes$d={get exports(){return propTypesExports},set exports(o){propTypesExports=o}},ReactPropTypesSecret$1="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ReactPropTypesSecret_1=ReactPropTypesSecret$1,ReactPropTypesSecret=ReactPropTypesSecret_1;function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction;var factoryWithThrowingShims=function(){function o(et,tt,rt,at,nt,it){if(it!==ReactPropTypesSecret){var ot=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw ot.name="Invariant Violation",ot}}o.isRequired=o;function $(){return o}var _e={array:o,bigint:o,bool:o,func:o,number:o,object:o,string:o,symbol:o,any:o,arrayOf:$,element:o,elementType:o,instanceOf:$,node:o,objectOf:$,oneOf:$,oneOfType:$,shape:$,exact:$,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return _e.PropTypes=_e,_e};propTypes$d.exports=factoryWithThrowingShims();var warning$6=function(){},browser$1=warning$6,invariant=function(o,$,_e,et,tt,rt,at,nt){if(!o){var it;if($===void 0)it=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var ot=[_e,et,tt,rt,at,nt],st=0;it=new Error($.replace(/%s/g,function(){return ot[st++]})),it.name="Invariant Violation"}throw it.framesToPop=1,it}},browser=invariant;function isAbsolute(o){return o.charAt(0)==="/"}function spliceOne(o,$){for(var _e=$,et=_e+1,tt=o.length;et1&&arguments[1]!==void 0?arguments[1]:"",_e=o&&o.split("/")||[],et=$&&$.split("/")||[],tt=o&&isAbsolute(o),rt=$&&isAbsolute($),at=tt||rt;if(o&&isAbsolute(o)?et=_e:_e.length&&(et.pop(),et=et.concat(_e)),!et.length)return"/";var nt=void 0;if(et.length){var it=et[et.length-1];nt=it==="."||it===".."||it===""}else nt=!1;for(var ot=0,st=et.length;st>=0;st--){var lt=et[st];lt==="."?spliceOne(et,st):lt===".."?(spliceOne(et,st),ot++):ot&&(spliceOne(et,st),ot--)}if(!at)for(;ot--;ot)et.unshift("..");at&&et[0]!==""&&(!et[0]||!isAbsolute(et[0]))&&et.unshift("");var ct=et.join("/");return nt&&ct.substr(-1)!=="/"&&(ct+="/"),ct}const resolvePathname$1=Object.freeze(Object.defineProperty({__proto__:null,default:resolvePathname},Symbol.toStringTag,{value:"Module"}));var _typeof$1p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function valueEqual(o,$){if(o===$)return!0;if(o==null||$==null)return!1;if(Array.isArray(o))return Array.isArray($)&&o.length===$.length&&o.every(function(it,ot){return valueEqual(it,$[ot])});var _e=typeof o>"u"?"undefined":_typeof$1p(o),et=typeof $>"u"?"undefined":_typeof$1p($);if(_e!==et)return!1;if(_e==="object"){var tt=o.valueOf(),rt=$.valueOf();if(tt!==o||rt!==$)return valueEqual(tt,rt);var at=Object.keys(o),nt=Object.keys($);return at.length!==nt.length?!1:at.every(function(it){return valueEqual(o[it],$[it])})}return!1}const valueEqual$1=Object.freeze(Object.defineProperty({__proto__:null,default:valueEqual},Symbol.toStringTag,{value:"Module"}));var addLeadingSlash=function($){return $.charAt(0)==="/"?$:"/"+$},hasBasename$1=function($,_e){return new RegExp("^"+_e+"(\\/|\\?|#|$)","i").test($)},stripBasename=function($,_e){return hasBasename$1($,_e)?$.substr(_e.length):$},stripTrailingSlash=function($){return $.charAt($.length-1)==="/"?$.slice(0,-1):$},parsePath=function($){var _e=$||"/",et="",tt="",rt=_e.indexOf("#");rt!==-1&&(tt=_e.substr(rt),_e=_e.substr(0,rt));var at=_e.indexOf("?");return at!==-1&&(et=_e.substr(at),_e=_e.substr(0,at)),{pathname:_e,search:et==="?"?"":et,hash:tt==="#"?"":tt}},createPath=function($){var _e=$.pathname,et=$.search,tt=$.hash,rt=_e||"/";return et&&et!=="?"&&(rt+=et.charAt(0)==="?"?et:"?"+et),tt&&tt!=="#"&&(rt+=tt.charAt(0)==="#"?tt:"#"+tt),rt},_extends$2r=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{};browser(canUseDOM$3,"Browser history needs a DOM");var _e=window.history,et=supportsHistory(),tt=!supportsPopStateOnHashChange(),rt=$.forceRefresh,at=rt===void 0?!1:rt,nt=$.getUserConfirmation,it=nt===void 0?getConfirmation:nt,ot=$.keyLength,st=ot===void 0?6:ot,lt=$.basename?stripTrailingSlash(addLeadingSlash($.basename)):"",ct=function(Nt){var Wt=Nt||{},qt=Wt.key,nr=Wt.state,ar=window.location,Kt=ar.pathname,er=ar.search,Ut=ar.hash,Ht=Kt+er+Ut;return browser$1(!lt||hasBasename$1(Ht,lt)),lt&&(Ht=stripBasename(Ht,lt)),createLocation(Ht,nr,qt)},ut=function(){return Math.random().toString(36).substr(2,st)},ft=createTransitionManager$2(),At=function(Nt){_extends$2q(jt,Nt),jt.length=_e.length,ft.notifyListeners(jt.location,jt.action)},vt=function(Nt){isExtraneousPopstateEvent(Nt)||bt(ct(Nt.state))},ht=function(){bt(ct(getHistoryState$1()))},mt=!1,bt=function(Nt){if(mt)mt=!1,At();else{var Wt="POP";ft.confirmTransitionTo(Nt,Wt,it,function(qt){qt?At({action:Wt,location:Nt}):dt(Nt)})}},dt=function(Nt){var Wt=jt.location,qt=Ct.indexOf(Wt.key);qt===-1&&(qt=0);var nr=Ct.indexOf(Nt.key);nr===-1&&(nr=0);var ar=qt-nr;ar&&(mt=!0,Et(ar))},xt=ct(getHistoryState$1()),Ct=[xt.key],gt=function(Nt){return lt+createPath(Nt)},wt=function(Nt,Wt){browser$1(!((typeof Nt>"u"?"undefined":_typeof$1o(Nt))==="object"&&Nt.state!==void 0&&Wt!==void 0));var qt="PUSH",nr=createLocation(Nt,Wt,ut(),jt.location);ft.confirmTransitionTo(nr,qt,it,function(ar){if(ar){var Kt=gt(nr),er=nr.key,Ut=nr.state;if(et)if(_e.pushState({key:er,state:Ut},null,Kt),at)window.location.href=Kt;else{var Ht=Ct.indexOf(jt.location.key),Ft=Ct.slice(0,Ht===-1?0:Ht+1);Ft.push(nr.key),Ct=Ft,At({action:qt,location:nr})}else window.location.href=Kt}})},_t=function(Nt,Wt){browser$1(!((typeof Nt>"u"?"undefined":_typeof$1o(Nt))==="object"&&Nt.state!==void 0&&Wt!==void 0));var qt="REPLACE",nr=createLocation(Nt,Wt,ut(),jt.location);ft.confirmTransitionTo(nr,qt,it,function(ar){if(ar){var Kt=gt(nr),er=nr.key,Ut=nr.state;if(et)if(_e.replaceState({key:er,state:Ut},null,Kt),at)window.location.replace(Kt);else{var Ht=Ct.indexOf(jt.location.key);Ht!==-1&&(Ct[Ht]=nr.key),At({action:qt,location:nr})}else window.location.replace(Kt)}})},Et=function(Nt){_e.go(Nt)},It=function(){return Et(-1)},Tt=function(){return Et(1)},Rt=0,Ot=function(Nt){Rt+=Nt,Rt===1?(addEventListener$2(window,PopStateEvent$1,vt),tt&&addEventListener$2(window,HashChangeEvent$1,ht)):Rt===0&&(removeEventListener$1(window,PopStateEvent$1,vt),tt&&removeEventListener$1(window,HashChangeEvent$1,ht))},Mt=!1,Bt=function(){var Nt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Wt=ft.setPrompt(Nt);return Mt||(Ot(1),Mt=!0),function(){return Mt&&(Mt=!1,Ot(-1)),Wt()}},Lt=function(Nt){var Wt=ft.appendListener(Nt);return Ot(1),function(){Ot(-1),Wt()}},jt={length:_e.length,action:"POP",location:xt,createHref:gt,push:wt,replace:_t,go:Et,goBack:It,goForward:Tt,block:Bt,listen:Lt};return jt},_extends$2p=Object.assign||function(o){for(var $=1;$ may have only one child element"),this.unlisten=at.listen(function(){et.setState({match:et.computeMatch(at.location.pathname)})})},$.prototype.componentWillReceiveProps=function(et){warning_1$3(this.props.history===et.history)},$.prototype.componentWillUnmount=function(){this.unlisten()},$.prototype.render=function(){var et=this.props.children;return et?React$k.Children.only(et):null},$}(React$k.Component);Router.propTypes={history:propTypesExports.object.isRequired,children:propTypesExports.node};Router.contextTypes={router:propTypesExports.object};Router.childContextTypes={router:propTypesExports.object.isRequired};const Router$1=Router;function _classCallCheck$29(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$27(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$27(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var BrowserRouter=function(o){_inherits$27($,o);function $(){var _e,et,tt;_classCallCheck$29(this,$);for(var rt=arguments.length,at=Array(rt),nt=0;nt=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}function _classCallCheck$28(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$26(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$26(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var isModifiedEvent=function($){return!!($.metaKey||$.altKey||$.ctrlKey||$.shiftKey)},Link=function(o){_inherits$26($,o);function $(){var _e,et,tt;_classCallCheck$28(this,$);for(var rt=arguments.length,at=Array(rt),nt=0;nt outside a "),browser(tt!==void 0,'You must specify the "to" property');var nt=this.context.router.history,it=typeof tt=="string"?createLocation(tt,null,null,nt.location):tt,ot=nt.createHref(it);return React$k.createElement("a",_extends$2o({},at,{onClick:this.handleClick,href:ot,ref:rt}))},$}(React$k.Component);Link.propTypes={onClick:propTypesExports.func,target:propTypesExports.string,replace:propTypesExports.bool,to:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]).isRequired,innerRef:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func])};Link.defaultProps={replace:!1};Link.contextTypes={router:propTypesExports.shape({history:propTypesExports.shape({push:propTypesExports.func.isRequired,replace:propTypesExports.func.isRequired,createHref:propTypesExports.func.isRequired}).isRequired}).isRequired};const Link$1=Link;var pathToRegexpExports={},pathToRegexp$1={get exports(){return pathToRegexpExports},set exports(o){pathToRegexpExports=o}},isarray$1=Array.isArray||function(o){return Object.prototype.toString.call(o)=="[object Array]"},isarray=isarray$1;pathToRegexp$1.exports=pathToRegexp;pathToRegexpExports.parse=parse$3;pathToRegexpExports.compile=compile;pathToRegexpExports.tokensToFunction=tokensToFunction;pathToRegexpExports.tokensToRegExp=tokensToRegExp;var PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$3(o,$){for(var _e=[],et=0,tt=0,rt="",at=$&&$.delimiter||"/",nt;(nt=PATH_REGEXP.exec(o))!=null;){var it=nt[0],ot=nt[1],st=nt.index;if(rt+=o.slice(tt,st),tt=st+it.length,ot){rt+=ot[1];continue}var lt=o[tt],ct=nt[2],ut=nt[3],ft=nt[4],At=nt[5],vt=nt[6],ht=nt[7];rt&&(_e.push(rt),rt="");var mt=ct!=null&<!=null&<!==ct,bt=vt==="+"||vt==="*",dt=vt==="?"||vt==="*",xt=nt[2]||at,Ct=ft||At;_e.push({name:ut||et++,prefix:ct||"",delimiter:xt,optional:dt,repeat:bt,partial:mt,asterisk:!!ht,pattern:Ct?escapeGroup(Ct):ht?".*":"[^"+escapeString(xt)+"]+?"})}return tt1&&arguments[1]!==void 0?arguments[1]:{},et=arguments[2];typeof _e=="string"&&(_e={path:_e});var tt=_e,rt=tt.path,at=tt.exact,nt=at===void 0?!1:at,it=tt.strict,ot=it===void 0?!1:it,st=tt.sensitive,lt=st===void 0?!1:st;if(rt==null)return et;var ct=compilePath(rt,{end:nt,strict:ot,sensitive:lt}),ut=ct.re,ft=ct.keys,At=ut.exec($);if(!At)return null;var vt=At[0],ht=At.slice(1),mt=$===vt;return nt&&!mt?null:{path:rt,url:rt==="/"&&vt===""?"/":vt,isExact:mt,params:ft.reduce(function(bt,dt,xt){return bt[dt.name]=ht[xt],bt},{})}};const matchPath$1=matchPath;var _extends$2n=Object.assign||function(o){for(var $=1;$ or withRouter() outside a ");var lt=tt.route,ct=(at||lt.location).pathname;return matchPath$1(ct,{path:nt,strict:it,exact:ot,sensitive:st},lt.match)},$.prototype.componentWillMount=function(){warning_1$3(!(this.props.component&&this.props.render)),warning_1$3(!(this.props.component&&this.props.children&&!isEmptyChildren(this.props.children))),warning_1$3(!(this.props.render&&this.props.children&&!isEmptyChildren(this.props.children)))},$.prototype.componentWillReceiveProps=function(et,tt){warning_1$3(!(et.location&&!this.props.location)),warning_1$3(!(!et.location&&this.props.location)),this.setState({match:this.computeMatch(et,tt.router)})},$.prototype.render=function(){var et=this.state.match,tt=this.props,rt=tt.children,at=tt.component,nt=tt.render,it=this.context.router,ot=it.history,st=it.route,lt=it.staticContext,ct=this.props.location||st.location,ut={match:et,location:ct,history:ot,staticContext:lt};return at?et?React$k.createElement(at,ut):null:nt?et?nt(ut):null:typeof rt=="function"?rt(ut):rt&&!isEmptyChildren(rt)?React$k.Children.only(rt):null},$}(React$k.Component);Route.propTypes={computedMatch:propTypesExports.object,path:propTypesExports.string,exact:propTypesExports.bool,strict:propTypesExports.bool,sensitive:propTypesExports.bool,component:propTypesExports.func,render:propTypesExports.func,children:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),location:propTypesExports.object};Route.contextTypes={router:propTypesExports.shape({history:propTypesExports.object.isRequired,route:propTypesExports.object.isRequired,staticContext:propTypesExports.object})};Route.childContextTypes={router:propTypesExports.object.isRequired};const Route$1=Route;var patternCache={},cacheLimit=1e4,cacheCount=0,compileGenerator=function($){var _e=$,et=patternCache[_e]||(patternCache[_e]={});if(et[$])return et[$];var tt=pathToRegexpExports.compile($);return cacheCount0&&arguments[0]!==void 0?arguments[0]:"/",_e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if($==="/")return $;var et=compileGenerator($);return et(_e,{pretty:!0})};const generatePath$2=generatePath$1;var _extends$2m=Object.assign||function(o){for(var $=1;$ outside a "),this.isStatic()&&this.perform()},$.prototype.componentDidMount=function(){this.isStatic()||this.perform()},$.prototype.componentDidUpdate=function(et){var tt=createLocation(et.to),rt=createLocation(this.props.to);if(locationsAreEqual(tt,rt)){warning_1$3(!1,"You tried to redirect to the same route you're currently on: "+('"'+rt.pathname+rt.search+'"'));return}this.perform()},$.prototype.computeTo=function(et){var tt=et.computedMatch,rt=et.to;return tt?typeof rt=="string"?generatePath$2(rt,tt.params):_extends$2m({},rt,{pathname:generatePath$2(rt.pathname,tt.params)}):rt},$.prototype.perform=function(){var et=this.context.router.history,tt=this.props.push,rt=this.computeTo(this.props);tt?et.push(rt):et.replace(rt)},$.prototype.render=function(){return null},$}(React$k.Component);Redirect.propTypes={computedMatch:propTypesExports.object,push:propTypesExports.bool,from:propTypesExports.string,to:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]).isRequired};Redirect.defaultProps={push:!1};Redirect.contextTypes={router:propTypesExports.shape({history:propTypesExports.shape({push:propTypesExports.func.isRequired,replace:propTypesExports.func.isRequired}).isRequired,staticContext:propTypesExports.object}).isRequired};const Redirect$1=Redirect;function _classCallCheck$25(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$23(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$23(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var Switch=function(o){_inherits$23($,o);function $(){return _classCallCheck$25(this,$),_possibleConstructorReturn$23(this,o.apply(this,arguments))}return $.prototype.componentWillMount=function(){browser(this.context.router,"You should not use outside a ")},$.prototype.componentWillReceiveProps=function(et){warning_1$3(!(et.location&&!this.props.location)),warning_1$3(!(!et.location&&this.props.location))},$.prototype.render=function(){var et=this.context.router.route,tt=this.props.children,rt=this.props.location||et.location,at=void 0,nt=void 0;return React$k.Children.forEach(tt,function(it){if(at==null&&React$k.isValidElement(it)){var ot=it.props,st=ot.path,lt=ot.exact,ct=ot.strict,ut=ot.sensitive,ft=ot.from,At=st||ft;nt=it,at=matchPath$1(rt.pathname,{path:At,exact:lt,strict:ct,sensitive:ut},et.match)}}),at?React$k.cloneElement(nt,{location:rt,computedMatch:at}):null},$}(React$k.Component);Switch.contextTypes={router:propTypesExports.shape({route:propTypesExports.object.isRequired}).isRequired};Switch.propTypes={children:propTypesExports.node,location:propTypesExports.object};const Switch$1=Switch;var REACT_STATICS$3={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS$3={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},defineProperty$a=Object.defineProperty,getOwnPropertyNames$3=Object.getOwnPropertyNames,getOwnPropertySymbols$4=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$5=Object.getOwnPropertyDescriptor,getPrototypeOf$6=Object.getPrototypeOf,objectPrototype$3=getPrototypeOf$6&&getPrototypeOf$6(Object);function hoistNonReactStatics$3(o,$,_e){if(typeof $!="string"){if(objectPrototype$3){var et=getPrototypeOf$6($);et&&et!==objectPrototype$3&&hoistNonReactStatics$3(o,et,_e)}var tt=getOwnPropertyNames$3($);getOwnPropertySymbols$4&&(tt=tt.concat(getOwnPropertySymbols$4($)));for(var rt=0;rt=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}var withRouter=function($){var _e=function(tt){var rt=tt.wrappedComponentRef,at=_objectWithoutProperties$b(tt,["wrappedComponentRef"]);return React$k.createElement(Route$1,{children:function(it){return React$k.createElement($,_extends$2l({},at,it,{ref:rt}))}})};return _e.displayName="withRouter("+($.displayName||$.name)+")",_e.WrappedComponent=$,_e.propTypes={wrappedComponentRef:propTypesExports.func},hoistNonReactStatics_cjs$3(_e,$)};const withRouter$1=withRouter;var reactDomExports={},reactDom={get exports(){return reactDomExports},set exports(o){reactDomExports=o}},reactDom_production_min={},schedulerExports={},scheduler={get exports(){return schedulerExports},set exports(o){schedulerExports=o}},scheduler_production_min={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var Pm=Object.defineProperty;var Lm=(o,$,_e)=>$ in o?Pm(o,$,{enumerable:!0,confi * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(o){function $(Vt,zt){var Nt=Vt.length;Vt.push(zt);e:for(;0>>1,Jt=Vt[Wt];if(0>>1;Wttt(Xt,Nt))trtt(Zt,Xt)?(Vt[Wt]=Zt,Vt[tr]=Nt,Wt=tr):(Vt[Wt]=Xt,Vt[er]=Nt,Wt=er);else if(trtt(Zt,Nt))Vt[Wt]=Zt,Vt[tr]=Nt,Wt=tr;else break e}}return zt}function tt(Vt,zt){var Nt=Vt.sortIndex-zt.sortIndex;return Nt!==0?Nt:Vt.id-zt.id}if(typeof performance=="object"&&typeof performance.now=="function"){var rt=performance;o.unstable_now=function(){return rt.now()}}else{var at=Date,nt=at.now();o.unstable_now=function(){return at.now()-nt}}var it=[],ot=[],st=1,lt=null,ct=3,ut=!1,ft=!1,At=!1,vt=typeof setTimeout=="function"?setTimeout:null,ht=typeof clearTimeout=="function"?clearTimeout:null,bt=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function pt(Vt){for(var zt=_e(ot);zt!==null;){if(zt.callback===null)et(ot);else if(zt.startTime<=Vt)et(ot),zt.sortIndex=zt.expirationTime,$(it,zt);else break;zt=_e(ot)}}function dt(Vt){if(At=!1,pt(Vt),!ft)if(_e(it)!==null)ft=!0,Bt(_t);else{var zt=_e(ot);zt!==null&&Lt(dt,zt.startTime-Vt)}}function _t(Vt,zt){ft=!1,At&&(At=!1,ht(yt),yt=-1),ut=!0;var Nt=ct;try{for(pt(zt),lt=_e(it);lt!==null&&(!(lt.expirationTime>zt)||Vt&&!It());){var Wt=lt.callback;if(typeof Wt=="function"){lt.callback=null,ct=lt.priorityLevel;var Jt=Wt(lt.expirationTime<=zt);zt=o.unstable_now(),typeof Jt=="function"?lt.callback=Jt:lt===_e(it)&&et(it),pt(zt)}else et(it);lt=_e(it)}if(lt!==null)var nr=!0;else{var er=_e(ot);er!==null&&Lt(dt,er.startTime-zt),nr=!1}return nr}finally{lt=null,ct=Nt,ut=!1}}var Ct=!1,gt=null,yt=-1,xt=5,Et=-1;function It(){return!(o.unstable_now()-EtVt||125Wt?(Vt.sortIndex=Nt,$(ot,Vt),_e(it)===null&&Vt===_e(ot)&&(At?(ht(yt),yt=-1):At=!0,Lt(dt,Nt-Wt))):(Vt.sortIndex=Jt,$(it,Vt),ft||ut||(ft=!0,Bt(_t))),Vt},o.unstable_shouldYield=It,o.unstable_wrapCallback=function(Vt){var zt=ct;return function(){var Nt=ct;ct=zt;try{return Vt.apply(this,arguments)}finally{ct=Nt}}}})(scheduler_production_min);(function(o){o.exports=scheduler_production_min})(scheduler);/** + */(function(o){function $(jt,zt){var Nt=jt.length;jt.push(zt);e:for(;0>>1,qt=jt[Wt];if(0>>1;Wttt(Kt,Nt))ertt(Ut,Kt)?(jt[Wt]=Ut,jt[er]=Nt,Wt=er):(jt[Wt]=Kt,jt[ar]=Nt,Wt=ar);else if(ertt(Ut,Nt))jt[Wt]=Ut,jt[er]=Nt,Wt=er;else break e}}return zt}function tt(jt,zt){var Nt=jt.sortIndex-zt.sortIndex;return Nt!==0?Nt:jt.id-zt.id}if(typeof performance=="object"&&typeof performance.now=="function"){var rt=performance;o.unstable_now=function(){return rt.now()}}else{var at=Date,nt=at.now();o.unstable_now=function(){return at.now()-nt}}var it=[],ot=[],st=1,lt=null,ct=3,ut=!1,ft=!1,At=!1,vt=typeof setTimeout=="function"?setTimeout:null,ht=typeof clearTimeout=="function"?clearTimeout:null,mt=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function bt(jt){for(var zt=_e(ot);zt!==null;){if(zt.callback===null)et(ot);else if(zt.startTime<=jt)et(ot),zt.sortIndex=zt.expirationTime,$(it,zt);else break;zt=_e(ot)}}function dt(jt){if(At=!1,bt(jt),!ft)if(_e(it)!==null)ft=!0,Bt(xt);else{var zt=_e(ot);zt!==null&&Lt(dt,zt.startTime-jt)}}function xt(jt,zt){ft=!1,At&&(At=!1,ht(wt),wt=-1),ut=!0;var Nt=ct;try{for(bt(zt),lt=_e(it);lt!==null&&(!(lt.expirationTime>zt)||jt&&!It());){var Wt=lt.callback;if(typeof Wt=="function"){lt.callback=null,ct=lt.priorityLevel;var qt=Wt(lt.expirationTime<=zt);zt=o.unstable_now(),typeof qt=="function"?lt.callback=qt:lt===_e(it)&&et(it),bt(zt)}else et(it);lt=_e(it)}if(lt!==null)var nr=!0;else{var ar=_e(ot);ar!==null&&Lt(dt,ar.startTime-zt),nr=!1}return nr}finally{lt=null,ct=Nt,ut=!1}}var Ct=!1,gt=null,wt=-1,_t=5,Et=-1;function It(){return!(o.unstable_now()-Et<_t)}function Tt(){if(gt!==null){var jt=o.unstable_now();Et=jt;var zt=!0;try{zt=gt(!0,jt)}finally{zt?Rt():(Ct=!1,gt=null)}}else Ct=!1}var Rt;if(typeof mt=="function")Rt=function(){mt(Tt)};else if(typeof MessageChannel<"u"){var Ot=new MessageChannel,Mt=Ot.port2;Ot.port1.onmessage=Tt,Rt=function(){Mt.postMessage(null)}}else Rt=function(){vt(Tt,0)};function Bt(jt){gt=jt,Ct||(Ct=!0,Rt())}function Lt(jt,zt){wt=vt(function(){jt(o.unstable_now())},zt)}o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(jt){jt.callback=null},o.unstable_continueExecution=function(){ft||ut||(ft=!0,Bt(xt))},o.unstable_forceFrameRate=function(jt){0>jt||125Wt?(jt.sortIndex=Nt,$(ot,jt),_e(it)===null&&jt===_e(ot)&&(At?(ht(wt),wt=-1):At=!0,Lt(dt,Nt-Wt))):(jt.sortIndex=qt,$(it,jt),ft||ut||(ft=!0,Bt(xt))),jt},o.unstable_shouldYield=It,o.unstable_wrapCallback=function(jt){var zt=ct;return function(){var Nt=ct;ct=zt;try{return jt.apply(this,arguments)}finally{ct=Nt}}}})(scheduler_production_min);(function(o){o.exports=scheduler_production_min})(scheduler);/** * @license React * react-dom.production.min.js * @@ -34,21 +34,21 @@ var Pm=Object.defineProperty;var Lm=(o,$,_e)=>$ in o?Pm(o,$,{enumerable:!0,confi `+La+o}var Na=!1;function Oa(o,$){if(!o||Na)return"";Na=!0;var _e=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if($)if($=function(){throw Error()},Object.defineProperty($.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct($,[])}catch(ot){var et=ot}Reflect.construct(o,[],$)}else{try{$.call()}catch(ot){et=ot}o.call($.prototype)}else{try{throw Error()}catch(ot){et=ot}o()}}catch(ot){if(ot&&et&&typeof ot.stack=="string"){for(var tt=ot.stack.split(` `),rt=et.stack.split(` `),at=tt.length-1,nt=rt.length-1;1<=at&&0<=nt&&tt[at]!==rt[nt];)nt--;for(;1<=at&&0<=nt;at--,nt--)if(tt[at]!==rt[nt]){if(at!==1||nt!==1)do if(at--,nt--,0>nt||tt[at]!==rt[nt]){var it=` -`+tt[at].replace(" at new "," at ");return o.displayName&&it.includes("")&&(it=it.replace("",o.displayName)),it}while(1<=at&&0<=nt);break}}}finally{Na=!1,Error.prepareStackTrace=_e}return(o=o?o.displayName||o.name:"")?Ma(o):""}function Pa(o){switch(o.tag){case 5:return Ma(o.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return o=Oa(o.type,!1),o;case 11:return o=Oa(o.type.render,!1),o;case 1:return o=Oa(o.type,!0),o;default:return""}}function Qa(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case Ca:return(o.displayName||"Context")+".Consumer";case Ba:return(o._context.displayName||"Context")+".Provider";case Da:var $=o.render;return o=o.displayName,o||(o=$.displayName||$.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Ga:return $=o.displayName||null,$!==null?$:Qa(o.type)||"Memo";case Ha:$=o._payload,o=o._init;try{return Qa(o($))}catch(_e){}}return null}function Ra(o){var $=o.type;switch(o.tag){case 24:return"Cache";case 9:return($.displayName||"Context")+".Consumer";case 10:return($._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=$.render,o=o.displayName||o.name||"",$.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return $;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa($);case 8:return $===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof $=="function")return $.displayName||$.name||null;if(typeof $=="string")return $}return null}function Sa(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Ta(o){var $=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&($==="checkbox"||$==="radio")}function Ua(o){var $=Ta(o)?"checked":"value",_e=Object.getOwnPropertyDescriptor(o.constructor.prototype,$),et=""+o[$];if(!o.hasOwnProperty($)&&typeof _e<"u"&&typeof _e.get=="function"&&typeof _e.set=="function"){var tt=_e.get,rt=_e.set;return Object.defineProperty(o,$,{configurable:!0,get:function(){return tt.call(this)},set:function(at){et=""+at,rt.call(this,at)}}),Object.defineProperty(o,$,{enumerable:_e.enumerable}),{getValue:function(){return et},setValue:function(at){et=""+at},stopTracking:function(){o._valueTracker=null,delete o[$]}}}}function Va(o){o._valueTracker||(o._valueTracker=Ua(o))}function Wa(o){if(!o)return!1;var $=o._valueTracker;if(!$)return!0;var _e=$.getValue(),et="";return o&&(et=Ta(o)?o.checked?"true":"false":o.value),o=et,o!==_e?($.setValue(o),!0):!1}function Xa(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch($){return o.body}}function Ya(o,$){var _e=$.checked;return A$3({},$,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:_e!=null?_e:o._wrapperState.initialChecked})}function Za(o,$){var _e=$.defaultValue==null?"":$.defaultValue,et=$.checked!=null?$.checked:$.defaultChecked;_e=Sa($.value!=null?$.value:_e),o._wrapperState={initialChecked:et,initialValue:_e,controlled:$.type==="checkbox"||$.type==="radio"?$.checked!=null:$.value!=null}}function ab(o,$){$=$.checked,$!=null&&ta(o,"checked",$,!1)}function bb(o,$){ab(o,$);var _e=Sa($.value),et=$.type;if(_e!=null)et==="number"?(_e===0&&o.value===""||o.value!=_e)&&(o.value=""+_e):o.value!==""+_e&&(o.value=""+_e);else if(et==="submit"||et==="reset"){o.removeAttribute("value");return}$.hasOwnProperty("value")?cb(o,$.type,_e):$.hasOwnProperty("defaultValue")&&cb(o,$.type,Sa($.defaultValue)),$.checked==null&&$.defaultChecked!=null&&(o.defaultChecked=!!$.defaultChecked)}function db(o,$,_e){if($.hasOwnProperty("value")||$.hasOwnProperty("defaultValue")){var et=$.type;if(!(et!=="submit"&&et!=="reset"||$.value!==void 0&&$.value!==null))return;$=""+o._wrapperState.initialValue,_e||$===o.value||(o.value=$),o.defaultValue=$}_e=o.name,_e!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,_e!==""&&(o.name=_e)}function cb(o,$,_e){($!=="number"||Xa(o.ownerDocument)!==o)&&(_e==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+_e&&(o.defaultValue=""+_e))}var eb=Array.isArray;function fb(o,$,_e,et){if(o=o.options,$){$={};for(var tt=0;tt<_e.length;tt++)$["$"+_e[tt]]=!0;for(_e=0;_e"+$.valueOf().toString()+"",$=mb.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;$.firstChild;)o.appendChild($.firstChild)}});function ob(o,$){if($){var _e=o.firstChild;if(_e&&_e===o.lastChild&&_e.nodeType===3){_e.nodeValue=$;return}}o.textContent=$}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];Object.keys(pb).forEach(function(o){qb.forEach(function($){$=$+o.charAt(0).toUpperCase()+o.substring(1),pb[$]=pb[o]})});function rb(o,$,_e){return $==null||typeof $=="boolean"||$===""?"":_e||typeof $!="number"||$===0||pb.hasOwnProperty(o)&&pb[o]?(""+$).trim():$+"px"}function sb(o,$){o=o.style;for(var _e in $)if($.hasOwnProperty(_e)){var et=_e.indexOf("--")===0,tt=rb(_e,$[_e],et);_e==="float"&&(_e="cssFloat"),et?o.setProperty(_e,tt):o[_e]=tt}}var tb=A$3({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(o,$){if($){if(tb[o]&&($.children!=null||$.dangerouslySetInnerHTML!=null))throw Error(p$2(137,o));if($.dangerouslySetInnerHTML!=null){if($.children!=null)throw Error(p$2(60));if(typeof $.dangerouslySetInnerHTML!="object"||!("__html"in $.dangerouslySetInnerHTML))throw Error(p$2(61))}if($.style!=null&&typeof $.style!="object")throw Error(p$2(62))}}function vb(o,$){if(o.indexOf("-")===-1)return typeof $.is=="string";switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var yb=null,zb=null,Ab=null;function Bb(o){if(o=Cb(o)){if(typeof yb!="function")throw Error(p$2(280));var $=o.stateNode;$&&($=Db($),yb(o.stateNode,o.type,$))}}function Eb(o){zb?Ab?Ab.push(o):Ab=[o]:zb=o}function Fb(){if(zb){var o=zb,$=Ab;if(Ab=zb=null,Bb(o),$)for(o=0;o<$.length;o++)Bb($[o])}}function Gb(o,$){return o($)}function Hb(){}var Ib=!1;function Jb(o,$,_e){if(Ib)return o($,_e);Ib=!0;try{return Gb(o,$,_e)}finally{Ib=!1,(zb!==null||Ab!==null)&&(Hb(),Fb())}}function Kb(o,$){var _e=o.stateNode;if(_e===null)return null;var et=Db(_e);if(et===null)return null;_e=et[$];e:switch($){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(et=!et.disabled)||(o=o.type,et=!(o==="button"||o==="input"||o==="select"||o==="textarea")),o=!et;break e;default:o=!1}if(o)return null;if(_e&&typeof _e!="function")throw Error(p$2(231,$,typeof _e));return _e}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,"passive",{get:function(){Lb=!0}}),window.addEventListener("test",Mb,Mb),window.removeEventListener("test",Mb,Mb)}catch(o){Lb=!1}function Nb(o,$,_e,et,tt,rt,at,nt,it){var ot=Array.prototype.slice.call(arguments,3);try{$.apply(_e,ot)}catch(st){this.onError(st)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(o){Ob=!0,Pb=o}};function Tb(o,$,_e,et,tt,rt,at,nt,it){Ob=!1,Pb=null,Nb.apply(Sb,arguments)}function Ub(o,$,_e,et,tt,rt,at,nt,it){if(Tb.apply(this,arguments),Ob){if(Ob){var ot=Pb;Ob=!1,Pb=null}else throw Error(p$2(198));Qb||(Qb=!0,Rb=ot)}}function Vb(o){var $=o,_e=o;if(o.alternate)for(;$.return;)$=$.return;else{o=$;do $=o,$.flags&4098&&(_e=$.return),o=$.return;while(o)}return $.tag===3?_e:null}function Wb(o){if(o.tag===13){var $=o.memoizedState;if($===null&&(o=o.alternate,o!==null&&($=o.memoizedState)),$!==null)return $.dehydrated}return null}function Xb(o){if(Vb(o)!==o)throw Error(p$2(188))}function Yb(o){var $=o.alternate;if(!$){if($=Vb(o),$===null)throw Error(p$2(188));return $!==o?null:o}for(var _e=o,et=$;;){var tt=_e.return;if(tt===null)break;var rt=tt.alternate;if(rt===null){if(et=tt.return,et!==null){_e=et;continue}break}if(tt.child===rt.child){for(rt=tt.child;rt;){if(rt===_e)return Xb(tt),o;if(rt===et)return Xb(tt),$;rt=rt.sibling}throw Error(p$2(188))}if(_e.return!==et.return)_e=tt,et=rt;else{for(var at=!1,nt=tt.child;nt;){if(nt===_e){at=!0,_e=tt,et=rt;break}if(nt===et){at=!0,et=tt,_e=rt;break}nt=nt.sibling}if(!at){for(nt=rt.child;nt;){if(nt===_e){at=!0,_e=rt,et=tt;break}if(nt===et){at=!0,et=rt,_e=tt;break}nt=nt.sibling}if(!at)throw Error(p$2(189))}}if(_e.alternate!==et)throw Error(p$2(190))}if(_e.tag!==3)throw Error(p$2(188));return _e.stateNode.current===_e?o:$}function Zb(o){return o=Yb(o),o!==null?$b(o):null}function $b(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){var $=$b(o);if($!==null)return $;o=o.sibling}return null}var ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B$1=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(o){if(lc&&typeof lc.onCommitFiberRoot=="function")try{lc.onCommitFiberRoot(kc,o,void 0,(o.current.flags&128)===128)}catch($){}}var oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(o){return o>>>=0,o===0?32:31-(pc(o)/qc|0)|0}var rc=64,sc=4194304;function tc(o){switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function uc(o,$){var _e=o.pendingLanes;if(_e===0)return 0;var et=0,tt=o.suspendedLanes,rt=o.pingedLanes,at=_e&268435455;if(at!==0){var nt=at&~tt;nt!==0?et=tc(nt):(rt&=at,rt!==0&&(et=tc(rt)))}else at=_e&~tt,at!==0?et=tc(at):rt!==0&&(et=tc(rt));if(et===0)return 0;if($!==0&&$!==et&&!($&tt)&&(tt=et&-et,rt=$&-$,tt>=rt||tt===16&&(rt&4194240)!==0))return $;if(et&4&&(et|=_e&16),$=o.entangledLanes,$!==0)for(o=o.entanglements,$&=et;0<$;)_e=31-oc($),tt=1<<_e,et|=o[_e],$&=~tt;return et}function vc(o,$){switch(o){case 1:case 2:case 4:return $+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return $+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function wc(o,$){for(var _e=o.suspendedLanes,et=o.pingedLanes,tt=o.expirationTimes,rt=o.pendingLanes;0_e;_e++)$.push(o);return $}function Ac(o,$,_e){o.pendingLanes|=$,$!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,$=31-oc($),o[$]=_e}function Bc(o,$){var _e=o.pendingLanes&~$;o.pendingLanes=$,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=$,o.mutableReadLanes&=$,o.entangledLanes&=$,$=o.entanglements;var et=o.eventTimes;for(o=o.expirationTimes;0<_e;){var tt=31-oc(_e),rt=1<=be),ee=String.fromCharCode(32),fe=!1;function ge(o,$){switch(o){case"keyup":return $d.indexOf($.keyCode)!==-1;case"keydown":return $.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var ie=!1;function je(o,$){switch(o){case"compositionend":return he($);case"keypress":return $.which!==32?null:(fe=!0,ee);case"textInput":return o=$.data,o===ee&&fe?null:o;default:return null}}function ke(o,$){if(ie)return o==="compositionend"||!ae&&ge(o,$)?(o=nd(),md=ld=kd=null,ie=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!($.ctrlKey||$.altKey||$.metaKey)||$.ctrlKey&&$.altKey){if($.char&&1<$.char.length)return $.char;if($.which)return String.fromCharCode($.which)}return null;case"compositionend":return de&&$.locale!=="ko"?null:$.data;default:return null}}var le={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(o){var $=o&&o.nodeName&&o.nodeName.toLowerCase();return $==="input"?!!le[o.type]:$==="textarea"}function ne(o,$,_e,et){Eb(et),$=oe($,"onChange"),0<$.length&&(_e=new td("onChange","change",null,_e,et),o.push({event:_e,listeners:$}))}var pe=null,qe=null;function re$2(o){se(o,0)}function te(o){var $=ue(o);if(Wa($))return o}function ve(o,$){if(o==="change")return $}var we=!1;if(ia){var xe;if(ia){var ye="oninput"in document;if(!ye){var ze=document.createElement("div");ze.setAttribute("oninput","return;"),ye=typeof ze.oninput=="function"}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9=$)return{node:_e,offset:$-o};o=et}e:{for(;_e;){if(_e.nextSibling){_e=_e.nextSibling;break e}_e=_e.parentNode}_e=void 0}_e=Je(_e)}}function Le(o,$){return o&&$?o===$?!0:o&&o.nodeType===3?!1:$&&$.nodeType===3?Le(o,$.parentNode):"contains"in o?o.contains($):o.compareDocumentPosition?!!(o.compareDocumentPosition($)&16):!1:!1}function Me(){for(var o=window,$=Xa();$ instanceof o.HTMLIFrameElement;){try{var _e=typeof $.contentWindow.location.href=="string"}catch(et){_e=!1}if(_e)o=$.contentWindow;else break;$=Xa(o.document)}return $}function Ne(o){var $=o&&o.nodeName&&o.nodeName.toLowerCase();return $&&($==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||$==="textarea"||o.contentEditable==="true")}function Oe(o){var $=Me(),_e=o.focusedElem,et=o.selectionRange;if($!==_e&&_e&&_e.ownerDocument&&Le(_e.ownerDocument.documentElement,_e)){if(et!==null&&Ne(_e)){if($=et.start,o=et.end,o===void 0&&(o=$),"selectionStart"in _e)_e.selectionStart=$,_e.selectionEnd=Math.min(o,_e.value.length);else if(o=($=_e.ownerDocument||document)&&$.defaultView||window,o.getSelection){o=o.getSelection();var tt=_e.textContent.length,rt=Math.min(et.start,tt);et=et.end===void 0?rt:Math.min(et.end,tt),!o.extend&&rt>et&&(tt=et,et=rt,rt=tt),tt=Ke(_e,rt);var at=Ke(_e,et);tt&&at&&(o.rangeCount!==1||o.anchorNode!==tt.node||o.anchorOffset!==tt.offset||o.focusNode!==at.node||o.focusOffset!==at.offset)&&($=$.createRange(),$.setStart(tt.node,tt.offset),o.removeAllRanges(),rt>et?(o.addRange($),o.extend(at.node,at.offset)):($.setEnd(at.node,at.offset),o.addRange($)))}}for($=[],o=_e;o=o.parentNode;)o.nodeType===1&&$.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof _e.focus=="function"&&_e.focus(),_e=0;_e<$.length;_e++)o=$[_e],o.element.scrollLeft=o.left,o.element.scrollTop=o.top}}var Pe=ia&&"documentMode"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(o,$,_e){var et=_e.window===_e?_e.document:_e.nodeType===9?_e:_e.ownerDocument;Te||Qe==null||Qe!==Xa(et)||(et=Qe,"selectionStart"in et&&Ne(et)?et={start:et.selectionStart,end:et.selectionEnd}:(et=(et.ownerDocument&&et.ownerDocument.defaultView||window).getSelection(),et={anchorNode:et.anchorNode,anchorOffset:et.anchorOffset,focusNode:et.focusNode,focusOffset:et.focusOffset}),Se&&Ie(Se,et)||(Se=et,et=oe(Re,"onSelect"),0Tf||(o.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(o,$){Tf++,Sf[Tf]=o.current,o.current=$}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(o,$){var _e=o.type.contextTypes;if(!_e)return Vf;var et=o.stateNode;if(et&&et.__reactInternalMemoizedUnmaskedChildContext===$)return et.__reactInternalMemoizedMaskedChildContext;var tt={},rt;for(rt in _e)tt[rt]=$[rt];return et&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=$,o.__reactInternalMemoizedMaskedChildContext=tt),tt}function Zf(o){return o=o.childContextTypes,o!=null}function $f(){E$1(Wf),E$1(H)}function ag(o,$,_e){if(H.current!==Vf)throw Error(p$2(168));G(H,$),G(Wf,_e)}function bg(o,$,_e){var et=o.stateNode;if($=$.childContextTypes,typeof et.getChildContext!="function")return _e;et=et.getChildContext();for(var tt in et)if(!(tt in $))throw Error(p$2(108,Ra(o)||"Unknown",tt));return A$3({},_e,et)}function cg(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,o),G(Wf,Wf.current),!0}function dg(o,$,_e){var et=o.stateNode;if(!et)throw Error(p$2(169));_e?(o=bg(o,$,Xf),et.__reactInternalMemoizedMergedChildContext=o,E$1(Wf),E$1(H),G(H,o)):E$1(Wf),G(Wf,_e)}var eg=null,fg=!1,gg=!1;function hg(o){eg===null?eg=[o]:eg.push(o)}function ig(o){fg=!0,hg(o)}function jg(){if(!gg&&eg!==null){gg=!0;var o=0,$=C$1;try{var _e=eg;for(C$1=1;o<_e.length;o++){var et=_e[o];do et=et(!0);while(et!==null)}eg=null,fg=!1}catch(tt){throw eg!==null&&(eg=eg.slice(o+1)),ac(fc,jg),tt}finally{C$1=$,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg="";function tg(o,$){kg[lg++]=ng,kg[lg++]=mg,mg=o,ng=$}function ug(o,$,_e){og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,qg=o;var et=rg;o=sg;var tt=32-oc(et)-1;et&=~(1<>=at,tt-=at,rg=1<<32-oc($)+tt|_e<yt?(xt=gt,gt=null):xt=gt.sibling;var Et=ct(ht,gt,pt[yt],dt);if(Et===null){gt===null&&(gt=xt);break}o&>&&Et.alternate===null&&$(ht,gt),bt=rt(Et,bt,yt),Ct===null?_t=Et:Ct.sibling=Et,Ct=Et,gt=xt}if(yt===pt.length)return _e(ht,gt),I&&tg(ht,yt),_t;if(gt===null){for(;ytyt?(xt=gt,gt=null):xt=gt.sibling;var It=ct(ht,gt,Et.value,dt);if(It===null){gt===null&&(gt=xt);break}o&>&&It.alternate===null&&$(ht,gt),bt=rt(It,bt,yt),Ct===null?_t=It:Ct.sibling=It,Ct=It,gt=xt}if(Et.done)return _e(ht,gt),I&&tg(ht,yt),_t;if(gt===null){for(;!Et.done;yt++,Et=pt.next())Et=lt(ht,Et.value,dt),Et!==null&&(bt=rt(Et,bt,yt),Ct===null?_t=Et:Ct.sibling=Et,Ct=Et);return I&&tg(ht,yt),_t}for(gt=et(ht,gt);!Et.done;yt++,Et=pt.next())Et=ut(gt,ht,yt,Et.value,dt),Et!==null&&(o&&Et.alternate!==null&>.delete(Et.key===null?yt:Et.key),bt=rt(Et,bt,yt),Ct===null?_t=Et:Ct.sibling=Et,Ct=Et);return o&>.forEach(function(Tt){return $(ht,Tt)}),I&&tg(ht,yt),_t}function vt(ht,bt,pt,dt){if(typeof pt=="object"&&pt!==null&&pt.type===ya&&pt.key===null&&(pt=pt.props.children),typeof pt=="object"&&pt!==null){switch(pt.$$typeof){case va:e:{for(var _t=pt.key,Ct=bt;Ct!==null;){if(Ct.key===_t){if(_t=pt.type,_t===ya){if(Ct.tag===7){_e(ht,Ct.sibling),bt=tt(Ct,pt.props.children),bt.return=ht,ht=bt;break e}}else if(Ct.elementType===_t||typeof _t=="object"&&_t!==null&&_t.$$typeof===Ha&&uh(_t)===Ct.type){_e(ht,Ct.sibling),bt=tt(Ct,pt.props),bt.ref=sh(ht,Ct,pt),bt.return=ht,ht=bt;break e}_e(ht,Ct);break}else $(ht,Ct);Ct=Ct.sibling}pt.type===ya?(bt=Ah(pt.props.children,ht.mode,dt,pt.key),bt.return=ht,ht=bt):(dt=yh(pt.type,pt.key,pt.props,null,ht.mode,dt),dt.ref=sh(ht,bt,pt),dt.return=ht,ht=dt)}return at(ht);case wa:e:{for(Ct=pt.key;bt!==null;){if(bt.key===Ct)if(bt.tag===4&&bt.stateNode.containerInfo===pt.containerInfo&&bt.stateNode.implementation===pt.implementation){_e(ht,bt.sibling),bt=tt(bt,pt.children||[]),bt.return=ht,ht=bt;break e}else{_e(ht,bt);break}else $(ht,bt);bt=bt.sibling}bt=zh(pt,ht.mode,dt),bt.return=ht,ht=bt}return at(ht);case Ha:return Ct=pt._init,vt(ht,bt,Ct(pt._payload),dt)}if(eb(pt))return ft(ht,bt,pt,dt);if(Ka(pt))return At(ht,bt,pt,dt);th(ht,pt)}return typeof pt=="string"&&pt!==""||typeof pt=="number"?(pt=""+pt,bt!==null&&bt.tag===6?(_e(ht,bt.sibling),bt=tt(bt,pt),bt.return=ht,ht=bt):(_e(ht,bt),bt=xh(pt,ht.mode,dt),bt.return=ht,ht=bt),at(ht)):_e(ht,bt)}return vt}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(o){if(o===Dh)throw Error(p$2(174));return o}function Ih(o,$){switch(G(Gh,$),G(Fh,o),G(Eh,Dh),o=$.nodeType,o){case 9:case 11:$=($=$.documentElement)?$.namespaceURI:lb(null,"");break;default:o=o===8?$.parentNode:$,$=o.namespaceURI||null,o=o.tagName,$=lb($,o)}E$1(Eh),G(Eh,$)}function Jh(){E$1(Eh),E$1(Fh),E$1(Gh)}function Kh(o){Hh(Gh.current);var $=Hh(Eh.current),_e=lb($,o.type);$!==_e&&(G(Fh,o),G(Eh,_e))}function Lh(o){Fh.current===o&&(E$1(Eh),E$1(Fh))}var M=Uf(0);function Mh(o){for(var $=o;$!==null;){if($.tag===13){var _e=$.memoizedState;if(_e!==null&&(_e=_e.dehydrated,_e===null||_e.data==="$?"||_e.data==="$!"))return $}else if($.tag===19&&$.memoizedProps.revealOrder!==void 0){if($.flags&128)return $}else if($.child!==null){$.child.return=$,$=$.child;continue}if($===o)break;for(;$.sibling===null;){if($.return===null||$.return===o)return null;$=$.return}$.sibling.return=$.return,$=$.sibling}return null}var Nh=[];function Oh(){for(var o=0;o_e?_e:4,o(!0);var et=Qh.transition;Qh.transition={};try{o(!1),$()}finally{C$1=_e,Qh.transition=et}}function Fi(){return di().memoizedState}function Gi(o,$,_e){var et=lh(o);if(_e={lane:et,action:_e,hasEagerState:!1,eagerState:null,next:null},Hi(o))Ii($,_e);else if(_e=Yg(o,$,_e,et),_e!==null){var tt=L();mh(_e,o,et,tt),Ji(_e,$,et)}}function ri(o,$,_e){var et=lh(o),tt={lane:et,action:_e,hasEagerState:!1,eagerState:null,next:null};if(Hi(o))Ii($,tt);else{var rt=o.alternate;if(o.lanes===0&&(rt===null||rt.lanes===0)&&(rt=$.lastRenderedReducer,rt!==null))try{var at=$.lastRenderedState,nt=rt(at,_e);if(tt.hasEagerState=!0,tt.eagerState=nt,He(nt,at)){var it=$.interleaved;it===null?(tt.next=tt,Xg($)):(tt.next=it.next,it.next=tt),$.interleaved=tt;return}}catch(ot){}finally{}_e=Yg(o,$,tt,et),_e!==null&&(tt=L(),mh(_e,o,et,tt),Ji(_e,$,et))}}function Hi(o){var $=o.alternate;return o===N||$!==null&&$===N}function Ii(o,$){Th=Sh=!0;var _e=o.pending;_e===null?$.next=$:($.next=_e.next,_e.next=$),o.pending=$}function Ji(o,$,_e){if(_e&4194240){var et=$.lanes;et&=o.pendingLanes,_e|=et,$.lanes=_e,Cc(o,_e)}}var ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(o,$){return ci().memoizedState=[o,$===void 0?null:$],o},useContext:Vg,useEffect:vi,useImperativeHandle:function(o,$,_e){return _e=_e!=null?_e.concat([o]):null,ti(4194308,4,yi.bind(null,$,o),_e)},useLayoutEffect:function(o,$){return ti(4194308,4,o,$)},useInsertionEffect:function(o,$){return ti(4,2,o,$)},useMemo:function(o,$){var _e=ci();return $=$===void 0?null:$,o=o(),_e.memoizedState=[o,$],o},useReducer:function(o,$,_e){var et=ci();return $=_e!==void 0?_e($):$,et.memoizedState=et.baseState=$,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:$},et.queue=o,o=o.dispatch=Gi.bind(null,N,o),[et.memoizedState,o]},useRef:function(o){var $=ci();return o={current:o},$.memoizedState=o},useState:qi,useDebugValue:Ai,useDeferredValue:function(o){return ci().memoizedState=o},useTransition:function(){var o=qi(!1),$=o[0];return o=Ei.bind(null,o[1]),ci().memoizedState=o,[$,o]},useMutableSource:function(){},useSyncExternalStore:function(o,$,_e){var et=N,tt=ci();if(I){if(_e===void 0)throw Error(p$2(407));_e=_e()}else{if(_e=$(),R===null)throw Error(p$2(349));Rh&30||ni(et,$,_e)}tt.memoizedState=_e;var rt={value:_e,getSnapshot:$};return tt.queue=rt,vi(ki.bind(null,et,rt,o),[o]),et.flags|=2048,li(9,mi.bind(null,et,rt,_e,$),void 0,null),_e},useId:function(){var o=ci(),$=R.identifierPrefix;if(I){var _e=sg,et=rg;_e=(et&~(1<<32-oc(et)-1)).toString(32)+_e,$=":"+$+"R"+_e,_e=Uh++,0<_e&&($+="H"+_e.toString(32)),$+=":"}else _e=Vh++,$=":"+$+"r"+_e.toString(32)+":";return o.memoizedState=$},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},useDebugValue:Ai,useDeferredValue:function(o){var $=di();return Di($,O.memoizedState,o)},useTransition:function(){var o=fi(ei)[0],$=di().memoizedState;return[o,$]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(o){var $=di();return O===null?$.memoizedState=o:Di($,O.memoizedState,o)},useTransition:function(){var o=gi(ei)[0],$=di().memoizedState;return[o,$]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(o,$){try{var _e="",et=$;do _e+=Pa(et),et=et.return;while(et);var tt=_e}catch(rt){tt=` +`+tt[at].replace(" at new "," at ");return o.displayName&&it.includes("")&&(it=it.replace("",o.displayName)),it}while(1<=at&&0<=nt);break}}}finally{Na=!1,Error.prepareStackTrace=_e}return(o=o?o.displayName||o.name:"")?Ma(o):""}function Pa(o){switch(o.tag){case 5:return Ma(o.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return o=Oa(o.type,!1),o;case 11:return o=Oa(o.type.render,!1),o;case 1:return o=Oa(o.type,!0),o;default:return""}}function Qa(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case Ca:return(o.displayName||"Context")+".Consumer";case Ba:return(o._context.displayName||"Context")+".Provider";case Da:var $=o.render;return o=o.displayName,o||(o=$.displayName||$.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Ga:return $=o.displayName||null,$!==null?$:Qa(o.type)||"Memo";case Ha:$=o._payload,o=o._init;try{return Qa(o($))}catch(_e){}}return null}function Ra(o){var $=o.type;switch(o.tag){case 24:return"Cache";case 9:return($.displayName||"Context")+".Consumer";case 10:return($._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=$.render,o=o.displayName||o.name||"",$.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return $;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa($);case 8:return $===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof $=="function")return $.displayName||$.name||null;if(typeof $=="string")return $}return null}function Sa(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Ta(o){var $=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&($==="checkbox"||$==="radio")}function Ua(o){var $=Ta(o)?"checked":"value",_e=Object.getOwnPropertyDescriptor(o.constructor.prototype,$),et=""+o[$];if(!o.hasOwnProperty($)&&typeof _e<"u"&&typeof _e.get=="function"&&typeof _e.set=="function"){var tt=_e.get,rt=_e.set;return Object.defineProperty(o,$,{configurable:!0,get:function(){return tt.call(this)},set:function(at){et=""+at,rt.call(this,at)}}),Object.defineProperty(o,$,{enumerable:_e.enumerable}),{getValue:function(){return et},setValue:function(at){et=""+at},stopTracking:function(){o._valueTracker=null,delete o[$]}}}}function Va(o){o._valueTracker||(o._valueTracker=Ua(o))}function Wa(o){if(!o)return!1;var $=o._valueTracker;if(!$)return!0;var _e=$.getValue(),et="";return o&&(et=Ta(o)?o.checked?"true":"false":o.value),o=et,o!==_e?($.setValue(o),!0):!1}function Xa(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch($){return o.body}}function Ya(o,$){var _e=$.checked;return A$3({},$,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:_e!=null?_e:o._wrapperState.initialChecked})}function Za(o,$){var _e=$.defaultValue==null?"":$.defaultValue,et=$.checked!=null?$.checked:$.defaultChecked;_e=Sa($.value!=null?$.value:_e),o._wrapperState={initialChecked:et,initialValue:_e,controlled:$.type==="checkbox"||$.type==="radio"?$.checked!=null:$.value!=null}}function ab(o,$){$=$.checked,$!=null&&ta(o,"checked",$,!1)}function bb(o,$){ab(o,$);var _e=Sa($.value),et=$.type;if(_e!=null)et==="number"?(_e===0&&o.value===""||o.value!=_e)&&(o.value=""+_e):o.value!==""+_e&&(o.value=""+_e);else if(et==="submit"||et==="reset"){o.removeAttribute("value");return}$.hasOwnProperty("value")?cb(o,$.type,_e):$.hasOwnProperty("defaultValue")&&cb(o,$.type,Sa($.defaultValue)),$.checked==null&&$.defaultChecked!=null&&(o.defaultChecked=!!$.defaultChecked)}function db(o,$,_e){if($.hasOwnProperty("value")||$.hasOwnProperty("defaultValue")){var et=$.type;if(!(et!=="submit"&&et!=="reset"||$.value!==void 0&&$.value!==null))return;$=""+o._wrapperState.initialValue,_e||$===o.value||(o.value=$),o.defaultValue=$}_e=o.name,_e!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,_e!==""&&(o.name=_e)}function cb(o,$,_e){($!=="number"||Xa(o.ownerDocument)!==o)&&(_e==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+_e&&(o.defaultValue=""+_e))}var eb=Array.isArray;function fb(o,$,_e,et){if(o=o.options,$){$={};for(var tt=0;tt<_e.length;tt++)$["$"+_e[tt]]=!0;for(_e=0;_e"+$.valueOf().toString()+"",$=mb.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;$.firstChild;)o.appendChild($.firstChild)}});function ob(o,$){if($){var _e=o.firstChild;if(_e&&_e===o.lastChild&&_e.nodeType===3){_e.nodeValue=$;return}}o.textContent=$}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];Object.keys(pb).forEach(function(o){qb.forEach(function($){$=$+o.charAt(0).toUpperCase()+o.substring(1),pb[$]=pb[o]})});function rb(o,$,_e){return $==null||typeof $=="boolean"||$===""?"":_e||typeof $!="number"||$===0||pb.hasOwnProperty(o)&&pb[o]?(""+$).trim():$+"px"}function sb(o,$){o=o.style;for(var _e in $)if($.hasOwnProperty(_e)){var et=_e.indexOf("--")===0,tt=rb(_e,$[_e],et);_e==="float"&&(_e="cssFloat"),et?o.setProperty(_e,tt):o[_e]=tt}}var tb=A$3({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(o,$){if($){if(tb[o]&&($.children!=null||$.dangerouslySetInnerHTML!=null))throw Error(p$2(137,o));if($.dangerouslySetInnerHTML!=null){if($.children!=null)throw Error(p$2(60));if(typeof $.dangerouslySetInnerHTML!="object"||!("__html"in $.dangerouslySetInnerHTML))throw Error(p$2(61))}if($.style!=null&&typeof $.style!="object")throw Error(p$2(62))}}function vb(o,$){if(o.indexOf("-")===-1)return typeof $.is=="string";switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var yb=null,zb=null,Ab=null;function Bb(o){if(o=Cb(o)){if(typeof yb!="function")throw Error(p$2(280));var $=o.stateNode;$&&($=Db($),yb(o.stateNode,o.type,$))}}function Eb(o){zb?Ab?Ab.push(o):Ab=[o]:zb=o}function Fb(){if(zb){var o=zb,$=Ab;if(Ab=zb=null,Bb(o),$)for(o=0;o<$.length;o++)Bb($[o])}}function Gb(o,$){return o($)}function Hb(){}var Ib=!1;function Jb(o,$,_e){if(Ib)return o($,_e);Ib=!0;try{return Gb(o,$,_e)}finally{Ib=!1,(zb!==null||Ab!==null)&&(Hb(),Fb())}}function Kb(o,$){var _e=o.stateNode;if(_e===null)return null;var et=Db(_e);if(et===null)return null;_e=et[$];e:switch($){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(et=!et.disabled)||(o=o.type,et=!(o==="button"||o==="input"||o==="select"||o==="textarea")),o=!et;break e;default:o=!1}if(o)return null;if(_e&&typeof _e!="function")throw Error(p$2(231,$,typeof _e));return _e}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,"passive",{get:function(){Lb=!0}}),window.addEventListener("test",Mb,Mb),window.removeEventListener("test",Mb,Mb)}catch(o){Lb=!1}function Nb(o,$,_e,et,tt,rt,at,nt,it){var ot=Array.prototype.slice.call(arguments,3);try{$.apply(_e,ot)}catch(st){this.onError(st)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(o){Ob=!0,Pb=o}};function Tb(o,$,_e,et,tt,rt,at,nt,it){Ob=!1,Pb=null,Nb.apply(Sb,arguments)}function Ub(o,$,_e,et,tt,rt,at,nt,it){if(Tb.apply(this,arguments),Ob){if(Ob){var ot=Pb;Ob=!1,Pb=null}else throw Error(p$2(198));Qb||(Qb=!0,Rb=ot)}}function Vb(o){var $=o,_e=o;if(o.alternate)for(;$.return;)$=$.return;else{o=$;do $=o,$.flags&4098&&(_e=$.return),o=$.return;while(o)}return $.tag===3?_e:null}function Wb(o){if(o.tag===13){var $=o.memoizedState;if($===null&&(o=o.alternate,o!==null&&($=o.memoizedState)),$!==null)return $.dehydrated}return null}function Xb(o){if(Vb(o)!==o)throw Error(p$2(188))}function Yb(o){var $=o.alternate;if(!$){if($=Vb(o),$===null)throw Error(p$2(188));return $!==o?null:o}for(var _e=o,et=$;;){var tt=_e.return;if(tt===null)break;var rt=tt.alternate;if(rt===null){if(et=tt.return,et!==null){_e=et;continue}break}if(tt.child===rt.child){for(rt=tt.child;rt;){if(rt===_e)return Xb(tt),o;if(rt===et)return Xb(tt),$;rt=rt.sibling}throw Error(p$2(188))}if(_e.return!==et.return)_e=tt,et=rt;else{for(var at=!1,nt=tt.child;nt;){if(nt===_e){at=!0,_e=tt,et=rt;break}if(nt===et){at=!0,et=tt,_e=rt;break}nt=nt.sibling}if(!at){for(nt=rt.child;nt;){if(nt===_e){at=!0,_e=rt,et=tt;break}if(nt===et){at=!0,et=rt,_e=tt;break}nt=nt.sibling}if(!at)throw Error(p$2(189))}}if(_e.alternate!==et)throw Error(p$2(190))}if(_e.tag!==3)throw Error(p$2(188));return _e.stateNode.current===_e?o:$}function Zb(o){return o=Yb(o),o!==null?$b(o):null}function $b(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){var $=$b(o);if($!==null)return $;o=o.sibling}return null}var ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B$1=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(o){if(lc&&typeof lc.onCommitFiberRoot=="function")try{lc.onCommitFiberRoot(kc,o,void 0,(o.current.flags&128)===128)}catch($){}}var oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(o){return o>>>=0,o===0?32:31-(pc(o)/qc|0)|0}var rc=64,sc=4194304;function tc(o){switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function uc(o,$){var _e=o.pendingLanes;if(_e===0)return 0;var et=0,tt=o.suspendedLanes,rt=o.pingedLanes,at=_e&268435455;if(at!==0){var nt=at&~tt;nt!==0?et=tc(nt):(rt&=at,rt!==0&&(et=tc(rt)))}else at=_e&~tt,at!==0?et=tc(at):rt!==0&&(et=tc(rt));if(et===0)return 0;if($!==0&&$!==et&&!($&tt)&&(tt=et&-et,rt=$&-$,tt>=rt||tt===16&&(rt&4194240)!==0))return $;if(et&4&&(et|=_e&16),$=o.entangledLanes,$!==0)for(o=o.entanglements,$&=et;0<$;)_e=31-oc($),tt=1<<_e,et|=o[_e],$&=~tt;return et}function vc(o,$){switch(o){case 1:case 2:case 4:return $+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return $+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function wc(o,$){for(var _e=o.suspendedLanes,et=o.pingedLanes,tt=o.expirationTimes,rt=o.pendingLanes;0_e;_e++)$.push(o);return $}function Ac(o,$,_e){o.pendingLanes|=$,$!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,$=31-oc($),o[$]=_e}function Bc(o,$){var _e=o.pendingLanes&~$;o.pendingLanes=$,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=$,o.mutableReadLanes&=$,o.entangledLanes&=$,$=o.entanglements;var et=o.eventTimes;for(o=o.expirationTimes;0<_e;){var tt=31-oc(_e),rt=1<=be),ee=String.fromCharCode(32),fe=!1;function ge(o,$){switch(o){case"keyup":return $d.indexOf($.keyCode)!==-1;case"keydown":return $.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var ie=!1;function je(o,$){switch(o){case"compositionend":return he($);case"keypress":return $.which!==32?null:(fe=!0,ee);case"textInput":return o=$.data,o===ee&&fe?null:o;default:return null}}function ke(o,$){if(ie)return o==="compositionend"||!ae&&ge(o,$)?(o=nd(),md=ld=kd=null,ie=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!($.ctrlKey||$.altKey||$.metaKey)||$.ctrlKey&&$.altKey){if($.char&&1<$.char.length)return $.char;if($.which)return String.fromCharCode($.which)}return null;case"compositionend":return de&&$.locale!=="ko"?null:$.data;default:return null}}var le={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(o){var $=o&&o.nodeName&&o.nodeName.toLowerCase();return $==="input"?!!le[o.type]:$==="textarea"}function ne(o,$,_e,et){Eb(et),$=oe($,"onChange"),0<$.length&&(_e=new td("onChange","change",null,_e,et),o.push({event:_e,listeners:$}))}var pe=null,qe=null;function re$2(o){se(o,0)}function te(o){var $=ue(o);if(Wa($))return o}function ve(o,$){if(o==="change")return $}var we=!1;if(ia){var xe;if(ia){var ye="oninput"in document;if(!ye){var ze=document.createElement("div");ze.setAttribute("oninput","return;"),ye=typeof ze.oninput=="function"}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9=$)return{node:_e,offset:$-o};o=et}e:{for(;_e;){if(_e.nextSibling){_e=_e.nextSibling;break e}_e=_e.parentNode}_e=void 0}_e=Je(_e)}}function Le(o,$){return o&&$?o===$?!0:o&&o.nodeType===3?!1:$&&$.nodeType===3?Le(o,$.parentNode):"contains"in o?o.contains($):o.compareDocumentPosition?!!(o.compareDocumentPosition($)&16):!1:!1}function Me(){for(var o=window,$=Xa();$ instanceof o.HTMLIFrameElement;){try{var _e=typeof $.contentWindow.location.href=="string"}catch(et){_e=!1}if(_e)o=$.contentWindow;else break;$=Xa(o.document)}return $}function Ne(o){var $=o&&o.nodeName&&o.nodeName.toLowerCase();return $&&($==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||$==="textarea"||o.contentEditable==="true")}function Oe(o){var $=Me(),_e=o.focusedElem,et=o.selectionRange;if($!==_e&&_e&&_e.ownerDocument&&Le(_e.ownerDocument.documentElement,_e)){if(et!==null&&Ne(_e)){if($=et.start,o=et.end,o===void 0&&(o=$),"selectionStart"in _e)_e.selectionStart=$,_e.selectionEnd=Math.min(o,_e.value.length);else if(o=($=_e.ownerDocument||document)&&$.defaultView||window,o.getSelection){o=o.getSelection();var tt=_e.textContent.length,rt=Math.min(et.start,tt);et=et.end===void 0?rt:Math.min(et.end,tt),!o.extend&&rt>et&&(tt=et,et=rt,rt=tt),tt=Ke(_e,rt);var at=Ke(_e,et);tt&&at&&(o.rangeCount!==1||o.anchorNode!==tt.node||o.anchorOffset!==tt.offset||o.focusNode!==at.node||o.focusOffset!==at.offset)&&($=$.createRange(),$.setStart(tt.node,tt.offset),o.removeAllRanges(),rt>et?(o.addRange($),o.extend(at.node,at.offset)):($.setEnd(at.node,at.offset),o.addRange($)))}}for($=[],o=_e;o=o.parentNode;)o.nodeType===1&&$.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof _e.focus=="function"&&_e.focus(),_e=0;_e<$.length;_e++)o=$[_e],o.element.scrollLeft=o.left,o.element.scrollTop=o.top}}var Pe=ia&&"documentMode"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(o,$,_e){var et=_e.window===_e?_e.document:_e.nodeType===9?_e:_e.ownerDocument;Te||Qe==null||Qe!==Xa(et)||(et=Qe,"selectionStart"in et&&Ne(et)?et={start:et.selectionStart,end:et.selectionEnd}:(et=(et.ownerDocument&&et.ownerDocument.defaultView||window).getSelection(),et={anchorNode:et.anchorNode,anchorOffset:et.anchorOffset,focusNode:et.focusNode,focusOffset:et.focusOffset}),Se&&Ie(Se,et)||(Se=et,et=oe(Re,"onSelect"),0Tf||(o.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(o,$){Tf++,Sf[Tf]=o.current,o.current=$}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(o,$){var _e=o.type.contextTypes;if(!_e)return Vf;var et=o.stateNode;if(et&&et.__reactInternalMemoizedUnmaskedChildContext===$)return et.__reactInternalMemoizedMaskedChildContext;var tt={},rt;for(rt in _e)tt[rt]=$[rt];return et&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=$,o.__reactInternalMemoizedMaskedChildContext=tt),tt}function Zf(o){return o=o.childContextTypes,o!=null}function $f(){E$1(Wf),E$1(H)}function ag(o,$,_e){if(H.current!==Vf)throw Error(p$2(168));G(H,$),G(Wf,_e)}function bg(o,$,_e){var et=o.stateNode;if($=$.childContextTypes,typeof et.getChildContext!="function")return _e;et=et.getChildContext();for(var tt in et)if(!(tt in $))throw Error(p$2(108,Ra(o)||"Unknown",tt));return A$3({},_e,et)}function cg(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,o),G(Wf,Wf.current),!0}function dg(o,$,_e){var et=o.stateNode;if(!et)throw Error(p$2(169));_e?(o=bg(o,$,Xf),et.__reactInternalMemoizedMergedChildContext=o,E$1(Wf),E$1(H),G(H,o)):E$1(Wf),G(Wf,_e)}var eg=null,fg=!1,gg=!1;function hg(o){eg===null?eg=[o]:eg.push(o)}function ig(o){fg=!0,hg(o)}function jg(){if(!gg&&eg!==null){gg=!0;var o=0,$=C$1;try{var _e=eg;for(C$1=1;o<_e.length;o++){var et=_e[o];do et=et(!0);while(et!==null)}eg=null,fg=!1}catch(tt){throw eg!==null&&(eg=eg.slice(o+1)),ac(fc,jg),tt}finally{C$1=$,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg="";function tg(o,$){kg[lg++]=ng,kg[lg++]=mg,mg=o,ng=$}function ug(o,$,_e){og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,qg=o;var et=rg;o=sg;var tt=32-oc(et)-1;et&=~(1<>=at,tt-=at,rg=1<<32-oc($)+tt|_e<wt?(_t=gt,gt=null):_t=gt.sibling;var Et=ct(ht,gt,bt[wt],dt);if(Et===null){gt===null&&(gt=_t);break}o&>&&Et.alternate===null&&$(ht,gt),mt=rt(Et,mt,wt),Ct===null?xt=Et:Ct.sibling=Et,Ct=Et,gt=_t}if(wt===bt.length)return _e(ht,gt),I&&tg(ht,wt),xt;if(gt===null){for(;wtwt?(_t=gt,gt=null):_t=gt.sibling;var It=ct(ht,gt,Et.value,dt);if(It===null){gt===null&&(gt=_t);break}o&>&&It.alternate===null&&$(ht,gt),mt=rt(It,mt,wt),Ct===null?xt=It:Ct.sibling=It,Ct=It,gt=_t}if(Et.done)return _e(ht,gt),I&&tg(ht,wt),xt;if(gt===null){for(;!Et.done;wt++,Et=bt.next())Et=lt(ht,Et.value,dt),Et!==null&&(mt=rt(Et,mt,wt),Ct===null?xt=Et:Ct.sibling=Et,Ct=Et);return I&&tg(ht,wt),xt}for(gt=et(ht,gt);!Et.done;wt++,Et=bt.next())Et=ut(gt,ht,wt,Et.value,dt),Et!==null&&(o&&Et.alternate!==null&>.delete(Et.key===null?wt:Et.key),mt=rt(Et,mt,wt),Ct===null?xt=Et:Ct.sibling=Et,Ct=Et);return o&>.forEach(function(Tt){return $(ht,Tt)}),I&&tg(ht,wt),xt}function vt(ht,mt,bt,dt){if(typeof bt=="object"&&bt!==null&&bt.type===ya&&bt.key===null&&(bt=bt.props.children),typeof bt=="object"&&bt!==null){switch(bt.$$typeof){case va:e:{for(var xt=bt.key,Ct=mt;Ct!==null;){if(Ct.key===xt){if(xt=bt.type,xt===ya){if(Ct.tag===7){_e(ht,Ct.sibling),mt=tt(Ct,bt.props.children),mt.return=ht,ht=mt;break e}}else if(Ct.elementType===xt||typeof xt=="object"&&xt!==null&&xt.$$typeof===Ha&&uh(xt)===Ct.type){_e(ht,Ct.sibling),mt=tt(Ct,bt.props),mt.ref=sh(ht,Ct,bt),mt.return=ht,ht=mt;break e}_e(ht,Ct);break}else $(ht,Ct);Ct=Ct.sibling}bt.type===ya?(mt=Ah(bt.props.children,ht.mode,dt,bt.key),mt.return=ht,ht=mt):(dt=yh(bt.type,bt.key,bt.props,null,ht.mode,dt),dt.ref=sh(ht,mt,bt),dt.return=ht,ht=dt)}return at(ht);case wa:e:{for(Ct=bt.key;mt!==null;){if(mt.key===Ct)if(mt.tag===4&&mt.stateNode.containerInfo===bt.containerInfo&&mt.stateNode.implementation===bt.implementation){_e(ht,mt.sibling),mt=tt(mt,bt.children||[]),mt.return=ht,ht=mt;break e}else{_e(ht,mt);break}else $(ht,mt);mt=mt.sibling}mt=zh(bt,ht.mode,dt),mt.return=ht,ht=mt}return at(ht);case Ha:return Ct=bt._init,vt(ht,mt,Ct(bt._payload),dt)}if(eb(bt))return ft(ht,mt,bt,dt);if(Ka(bt))return At(ht,mt,bt,dt);th(ht,bt)}return typeof bt=="string"&&bt!==""||typeof bt=="number"?(bt=""+bt,mt!==null&&mt.tag===6?(_e(ht,mt.sibling),mt=tt(mt,bt),mt.return=ht,ht=mt):(_e(ht,mt),mt=xh(bt,ht.mode,dt),mt.return=ht,ht=mt),at(ht)):_e(ht,mt)}return vt}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(o){if(o===Dh)throw Error(p$2(174));return o}function Ih(o,$){switch(G(Gh,$),G(Fh,o),G(Eh,Dh),o=$.nodeType,o){case 9:case 11:$=($=$.documentElement)?$.namespaceURI:lb(null,"");break;default:o=o===8?$.parentNode:$,$=o.namespaceURI||null,o=o.tagName,$=lb($,o)}E$1(Eh),G(Eh,$)}function Jh(){E$1(Eh),E$1(Fh),E$1(Gh)}function Kh(o){Hh(Gh.current);var $=Hh(Eh.current),_e=lb($,o.type);$!==_e&&(G(Fh,o),G(Eh,_e))}function Lh(o){Fh.current===o&&(E$1(Eh),E$1(Fh))}var M=Uf(0);function Mh(o){for(var $=o;$!==null;){if($.tag===13){var _e=$.memoizedState;if(_e!==null&&(_e=_e.dehydrated,_e===null||_e.data==="$?"||_e.data==="$!"))return $}else if($.tag===19&&$.memoizedProps.revealOrder!==void 0){if($.flags&128)return $}else if($.child!==null){$.child.return=$,$=$.child;continue}if($===o)break;for(;$.sibling===null;){if($.return===null||$.return===o)return null;$=$.return}$.sibling.return=$.return,$=$.sibling}return null}var Nh=[];function Oh(){for(var o=0;o_e?_e:4,o(!0);var et=Qh.transition;Qh.transition={};try{o(!1),$()}finally{C$1=_e,Qh.transition=et}}function Fi(){return di().memoizedState}function Gi(o,$,_e){var et=lh(o);if(_e={lane:et,action:_e,hasEagerState:!1,eagerState:null,next:null},Hi(o))Ii($,_e);else if(_e=Yg(o,$,_e,et),_e!==null){var tt=L();mh(_e,o,et,tt),Ji(_e,$,et)}}function ri(o,$,_e){var et=lh(o),tt={lane:et,action:_e,hasEagerState:!1,eagerState:null,next:null};if(Hi(o))Ii($,tt);else{var rt=o.alternate;if(o.lanes===0&&(rt===null||rt.lanes===0)&&(rt=$.lastRenderedReducer,rt!==null))try{var at=$.lastRenderedState,nt=rt(at,_e);if(tt.hasEagerState=!0,tt.eagerState=nt,He(nt,at)){var it=$.interleaved;it===null?(tt.next=tt,Xg($)):(tt.next=it.next,it.next=tt),$.interleaved=tt;return}}catch(ot){}finally{}_e=Yg(o,$,tt,et),_e!==null&&(tt=L(),mh(_e,o,et,tt),Ji(_e,$,et))}}function Hi(o){var $=o.alternate;return o===N||$!==null&&$===N}function Ii(o,$){Th=Sh=!0;var _e=o.pending;_e===null?$.next=$:($.next=_e.next,_e.next=$),o.pending=$}function Ji(o,$,_e){if(_e&4194240){var et=$.lanes;et&=o.pendingLanes,_e|=et,$.lanes=_e,Cc(o,_e)}}var ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(o,$){return ci().memoizedState=[o,$===void 0?null:$],o},useContext:Vg,useEffect:vi,useImperativeHandle:function(o,$,_e){return _e=_e!=null?_e.concat([o]):null,ti(4194308,4,yi.bind(null,$,o),_e)},useLayoutEffect:function(o,$){return ti(4194308,4,o,$)},useInsertionEffect:function(o,$){return ti(4,2,o,$)},useMemo:function(o,$){var _e=ci();return $=$===void 0?null:$,o=o(),_e.memoizedState=[o,$],o},useReducer:function(o,$,_e){var et=ci();return $=_e!==void 0?_e($):$,et.memoizedState=et.baseState=$,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:$},et.queue=o,o=o.dispatch=Gi.bind(null,N,o),[et.memoizedState,o]},useRef:function(o){var $=ci();return o={current:o},$.memoizedState=o},useState:qi,useDebugValue:Ai,useDeferredValue:function(o){return ci().memoizedState=o},useTransition:function(){var o=qi(!1),$=o[0];return o=Ei.bind(null,o[1]),ci().memoizedState=o,[$,o]},useMutableSource:function(){},useSyncExternalStore:function(o,$,_e){var et=N,tt=ci();if(I){if(_e===void 0)throw Error(p$2(407));_e=_e()}else{if(_e=$(),R===null)throw Error(p$2(349));Rh&30||ni(et,$,_e)}tt.memoizedState=_e;var rt={value:_e,getSnapshot:$};return tt.queue=rt,vi(ki.bind(null,et,rt,o),[o]),et.flags|=2048,li(9,mi.bind(null,et,rt,_e,$),void 0,null),_e},useId:function(){var o=ci(),$=R.identifierPrefix;if(I){var _e=sg,et=rg;_e=(et&~(1<<32-oc(et)-1)).toString(32)+_e,$=":"+$+"R"+_e,_e=Uh++,0<_e&&($+="H"+_e.toString(32)),$+=":"}else _e=Vh++,$=":"+$+"r"+_e.toString(32)+":";return o.memoizedState=$},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},useDebugValue:Ai,useDeferredValue:function(o){var $=di();return Di($,O.memoizedState,o)},useTransition:function(){var o=fi(ei)[0],$=di().memoizedState;return[o,$]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(o){var $=di();return O===null?$.memoizedState=o:Di($,O.memoizedState,o)},useTransition:function(){var o=gi(ei)[0],$=di().memoizedState;return[o,$]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(o,$){try{var _e="",et=$;do _e+=Pa(et),et=et.return;while(et);var tt=_e}catch(rt){tt=` Error generating stack: `+rt.message+` -`+rt.stack}return{value:o,source:$,stack:tt,digest:null}}function Li(o,$,_e){return{value:o,source:null,stack:_e!=null?_e:null,digest:$!=null?$:null}}function Mi(o,$){try{console.error($.value)}catch(_e){setTimeout(function(){throw _e})}}var Ni=typeof WeakMap=="function"?WeakMap:Map;function Oi(o,$,_e){_e=ch(-1,_e),_e.tag=3,_e.payload={element:null};var et=$.value;return _e.callback=function(){Pi||(Pi=!0,Qi=et),Mi(o,$)},_e}function Ri(o,$,_e){_e=ch(-1,_e),_e.tag=3;var et=o.type.getDerivedStateFromError;if(typeof et=="function"){var tt=$.value;_e.payload=function(){return et(tt)},_e.callback=function(){Mi(o,$)}}var rt=o.stateNode;return rt!==null&&typeof rt.componentDidCatch=="function"&&(_e.callback=function(){Mi(o,$),typeof et!="function"&&(Si===null?Si=new Set([this]):Si.add(this));var at=$.stack;this.componentDidCatch($.value,{componentStack:at!==null?at:""})}),_e}function Ti(o,$,_e){var et=o.pingCache;if(et===null){et=o.pingCache=new Ni;var tt=new Set;et.set($,tt)}else tt=et.get($),tt===void 0&&(tt=new Set,et.set($,tt));tt.has(_e)||(tt.add(_e),o=Ui.bind(null,o,$,_e),$.then(o,o))}function Vi(o){do{var $;if(($=o.tag===13)&&($=o.memoizedState,$=$!==null?$.dehydrated!==null:!0),$)return o;o=o.return}while(o!==null);return null}function Wi(o,$,_e,et,tt){return o.mode&1?(o.flags|=65536,o.lanes=tt,o):(o===$?o.flags|=65536:(o.flags|=128,_e.flags|=131072,_e.flags&=-52805,_e.tag===1&&(_e.alternate===null?_e.tag=17:($=ch(-1,1),$.tag=2,dh(_e,$,1))),_e.lanes|=1),o)}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(o,$,_e,et){$.child=o===null?Ch($,null,_e,et):Bh($,o.child,_e,et)}function Zi(o,$,_e,et,tt){_e=_e.render;var rt=$.ref;return Tg($,tt),et=Xh(o,$,_e,et,rt,tt),_e=bi(),o!==null&&!Ug?($.updateQueue=o.updateQueue,$.flags&=-2053,o.lanes&=~tt,$i(o,$,tt)):(I&&_e&&vg($),$.flags|=1,Yi(o,$,et,tt),$.child)}function aj(o,$,_e,et,tt){if(o===null){var rt=_e.type;return typeof rt=="function"&&!bj(rt)&&rt.defaultProps===void 0&&_e.compare===null&&_e.defaultProps===void 0?($.tag=15,$.type=rt,cj(o,$,rt,et,tt)):(o=yh(_e.type,null,et,$,$.mode,tt),o.ref=$.ref,o.return=$,$.child=o)}if(rt=o.child,!(o.lanes&tt)){var at=rt.memoizedProps;if(_e=_e.compare,_e=_e!==null?_e:Ie,_e(at,et)&&o.ref===$.ref)return $i(o,$,tt)}return $.flags|=1,o=wh(rt,et),o.ref=$.ref,o.return=$,$.child=o}function cj(o,$,_e,et,tt){if(o!==null){var rt=o.memoizedProps;if(Ie(rt,et)&&o.ref===$.ref)if(Ug=!1,$.pendingProps=et=rt,(o.lanes&tt)!==0)o.flags&131072&&(Ug=!0);else return $.lanes=o.lanes,$i(o,$,tt)}return dj(o,$,_e,et,tt)}function ej(o,$,_e){var et=$.pendingProps,tt=et.children,rt=o!==null?o.memoizedState:null;if(et.mode==="hidden")if(!($.mode&1))$.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=_e;else{if(!(_e&1073741824))return o=rt!==null?rt.baseLanes|_e:_e,$.lanes=$.childLanes=1073741824,$.memoizedState={baseLanes:o,cachePool:null,transitions:null},$.updateQueue=null,G(fj,gj),gj|=o,null;$.memoizedState={baseLanes:0,cachePool:null,transitions:null},et=rt!==null?rt.baseLanes:_e,G(fj,gj),gj|=et}else rt!==null?(et=rt.baseLanes|_e,$.memoizedState=null):et=_e,G(fj,gj),gj|=et;return Yi(o,$,tt,_e),$.child}function hj(o,$){var _e=$.ref;(o===null&&_e!==null||o!==null&&o.ref!==_e)&&($.flags|=512,$.flags|=2097152)}function dj(o,$,_e,et,tt){var rt=Zf(_e)?Xf:H.current;return rt=Yf($,rt),Tg($,tt),_e=Xh(o,$,_e,et,rt,tt),et=bi(),o!==null&&!Ug?($.updateQueue=o.updateQueue,$.flags&=-2053,o.lanes&=~tt,$i(o,$,tt)):(I&&et&&vg($),$.flags|=1,Yi(o,$,_e,tt),$.child)}function ij(o,$,_e,et,tt){if(Zf(_e)){var rt=!0;cg($)}else rt=!1;if(Tg($,tt),$.stateNode===null)jj(o,$),ph($,_e,et),rh($,_e,et,tt),et=!0;else if(o===null){var at=$.stateNode,nt=$.memoizedProps;at.props=nt;var it=at.context,ot=_e.contextType;typeof ot=="object"&&ot!==null?ot=Vg(ot):(ot=Zf(_e)?Xf:H.current,ot=Yf($,ot));var st=_e.getDerivedStateFromProps,lt=typeof st=="function"||typeof at.getSnapshotBeforeUpdate=="function";lt||typeof at.UNSAFE_componentWillReceiveProps!="function"&&typeof at.componentWillReceiveProps!="function"||(nt!==et||it!==ot)&&qh($,at,et,ot),$g=!1;var ct=$.memoizedState;at.state=ct,gh($,et,at,tt),it=$.memoizedState,nt!==et||ct!==it||Wf.current||$g?(typeof st=="function"&&(kh($,_e,st,et),it=$.memoizedState),(nt=$g||oh($,_e,nt,et,ct,it,ot))?(lt||typeof at.UNSAFE_componentWillMount!="function"&&typeof at.componentWillMount!="function"||(typeof at.componentWillMount=="function"&&at.componentWillMount(),typeof at.UNSAFE_componentWillMount=="function"&&at.UNSAFE_componentWillMount()),typeof at.componentDidMount=="function"&&($.flags|=4194308)):(typeof at.componentDidMount=="function"&&($.flags|=4194308),$.memoizedProps=et,$.memoizedState=it),at.props=et,at.state=it,at.context=ot,et=nt):(typeof at.componentDidMount=="function"&&($.flags|=4194308),et=!1)}else{at=$.stateNode,bh(o,$),nt=$.memoizedProps,ot=$.type===$.elementType?nt:Lg($.type,nt),at.props=ot,lt=$.pendingProps,ct=at.context,it=_e.contextType,typeof it=="object"&&it!==null?it=Vg(it):(it=Zf(_e)?Xf:H.current,it=Yf($,it));var ut=_e.getDerivedStateFromProps;(st=typeof ut=="function"||typeof at.getSnapshotBeforeUpdate=="function")||typeof at.UNSAFE_componentWillReceiveProps!="function"&&typeof at.componentWillReceiveProps!="function"||(nt!==lt||ct!==it)&&qh($,at,et,it),$g=!1,ct=$.memoizedState,at.state=ct,gh($,et,at,tt);var ft=$.memoizedState;nt!==lt||ct!==ft||Wf.current||$g?(typeof ut=="function"&&(kh($,_e,ut,et),ft=$.memoizedState),(ot=$g||oh($,_e,ot,et,ct,ft,it)||!1)?(st||typeof at.UNSAFE_componentWillUpdate!="function"&&typeof at.componentWillUpdate!="function"||(typeof at.componentWillUpdate=="function"&&at.componentWillUpdate(et,ft,it),typeof at.UNSAFE_componentWillUpdate=="function"&&at.UNSAFE_componentWillUpdate(et,ft,it)),typeof at.componentDidUpdate=="function"&&($.flags|=4),typeof at.getSnapshotBeforeUpdate=="function"&&($.flags|=1024)):(typeof at.componentDidUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||($.flags|=4),typeof at.getSnapshotBeforeUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||($.flags|=1024),$.memoizedProps=et,$.memoizedState=ft),at.props=et,at.state=ft,at.context=it,et=ot):(typeof at.componentDidUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||($.flags|=4),typeof at.getSnapshotBeforeUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||($.flags|=1024),et=!1)}return kj(o,$,_e,et,rt,tt)}function kj(o,$,_e,et,tt,rt){hj(o,$);var at=($.flags&128)!==0;if(!et&&!at)return tt&&dg($,_e,!1),$i(o,$,rt);et=$.stateNode,Xi.current=$;var nt=at&&typeof _e.getDerivedStateFromError!="function"?null:et.render();return $.flags|=1,o!==null&&at?($.child=Bh($,o.child,null,rt),$.child=Bh($,null,nt,rt)):Yi(o,$,nt,rt),$.memoizedState=et.state,tt&&dg($,_e,!0),$.child}function lj(o){var $=o.stateNode;$.pendingContext?ag(o,$.pendingContext,$.pendingContext!==$.context):$.context&&ag(o,$.context,!1),Ih(o,$.containerInfo)}function mj(o,$,_e,et,tt){return Ig(),Jg(tt),$.flags|=256,Yi(o,$,_e,et),$.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(o){return{baseLanes:o,cachePool:null,transitions:null}}function pj(o,$,_e){var et=$.pendingProps,tt=M.current,rt=!1,at=($.flags&128)!==0,nt;if((nt=at)||(nt=o!==null&&o.memoizedState===null?!1:(tt&2)!==0),nt?(rt=!0,$.flags&=-129):(o===null||o.memoizedState!==null)&&(tt|=1),G(M,tt&1),o===null)return Eg($),o=$.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?($.mode&1?o.data==="$!"?$.lanes=8:$.lanes=1073741824:$.lanes=1,null):(at=et.children,o=et.fallback,rt?(et=$.mode,rt=$.child,at={mode:"hidden",children:at},!(et&1)&&rt!==null?(rt.childLanes=0,rt.pendingProps=at):rt=qj(at,et,0,null),o=Ah(o,et,_e,null),rt.return=$,o.return=$,rt.sibling=o,$.child=rt,$.child.memoizedState=oj(_e),$.memoizedState=nj,o):rj($,at));if(tt=o.memoizedState,tt!==null&&(nt=tt.dehydrated,nt!==null))return sj(o,$,at,et,nt,tt,_e);if(rt){rt=et.fallback,at=$.mode,tt=o.child,nt=tt.sibling;var it={mode:"hidden",children:et.children};return!(at&1)&&$.child!==tt?(et=$.child,et.childLanes=0,et.pendingProps=it,$.deletions=null):(et=wh(tt,it),et.subtreeFlags=tt.subtreeFlags&14680064),nt!==null?rt=wh(nt,rt):(rt=Ah(rt,at,_e,null),rt.flags|=2),rt.return=$,et.return=$,et.sibling=rt,$.child=et,et=rt,rt=$.child,at=o.child.memoizedState,at=at===null?oj(_e):{baseLanes:at.baseLanes|_e,cachePool:null,transitions:at.transitions},rt.memoizedState=at,rt.childLanes=o.childLanes&~_e,$.memoizedState=nj,et}return rt=o.child,o=rt.sibling,et=wh(rt,{mode:"visible",children:et.children}),!($.mode&1)&&(et.lanes=_e),et.return=$,et.sibling=null,o!==null&&(_e=$.deletions,_e===null?($.deletions=[o],$.flags|=16):_e.push(o)),$.child=et,$.memoizedState=null,et}function rj(o,$){return $=qj({mode:"visible",children:$},o.mode,0,null),$.return=o,o.child=$}function tj(o,$,_e,et){return et!==null&&Jg(et),Bh($,o.child,null,_e),o=rj($,$.pendingProps.children),o.flags|=2,$.memoizedState=null,o}function sj(o,$,_e,et,tt,rt,at){if(_e)return $.flags&256?($.flags&=-257,et=Li(Error(p$2(422))),tj(o,$,at,et)):$.memoizedState!==null?($.child=o.child,$.flags|=128,null):(rt=et.fallback,tt=$.mode,et=qj({mode:"visible",children:et.children},tt,0,null),rt=Ah(rt,tt,at,null),rt.flags|=2,et.return=$,rt.return=$,et.sibling=rt,$.child=et,$.mode&1&&Bh($,o.child,null,at),$.child.memoizedState=oj(at),$.memoizedState=nj,rt);if(!($.mode&1))return tj(o,$,at,null);if(tt.data==="$!"){if(et=tt.nextSibling&&tt.nextSibling.dataset,et)var nt=et.dgst;return et=nt,rt=Error(p$2(419)),et=Li(rt,et,void 0),tj(o,$,at,et)}if(nt=(at&o.childLanes)!==0,Ug||nt){if(et=R,et!==null){switch(at&-at){case 4:tt=2;break;case 16:tt=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:tt=32;break;case 536870912:tt=268435456;break;default:tt=0}tt=tt&(et.suspendedLanes|at)?0:tt,tt!==0&&tt!==rt.retryLane&&(rt.retryLane=tt,Zg(o,tt),mh(et,o,tt,-1))}return uj(),et=Li(Error(p$2(421))),tj(o,$,at,et)}return tt.data==="$?"?($.flags|=128,$.child=o.child,$=vj.bind(null,o),tt._reactRetry=$,null):(o=rt.treeContext,yg=Lf(tt.nextSibling),xg=$,I=!0,zg=null,o!==null&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=o.id,sg=o.overflow,qg=$),$=rj($,et.children),$.flags|=4096,$)}function wj(o,$,_e){o.lanes|=$;var et=o.alternate;et!==null&&(et.lanes|=$),Sg(o.return,$,_e)}function xj(o,$,_e,et,tt){var rt=o.memoizedState;rt===null?o.memoizedState={isBackwards:$,rendering:null,renderingStartTime:0,last:et,tail:_e,tailMode:tt}:(rt.isBackwards=$,rt.rendering=null,rt.renderingStartTime=0,rt.last=et,rt.tail=_e,rt.tailMode=tt)}function yj(o,$,_e){var et=$.pendingProps,tt=et.revealOrder,rt=et.tail;if(Yi(o,$,et.children,_e),et=M.current,et&2)et=et&1|2,$.flags|=128;else{if(o!==null&&o.flags&128)e:for(o=$.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&wj(o,_e,$);else if(o.tag===19)wj(o,_e,$);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===$)break e;for(;o.sibling===null;){if(o.return===null||o.return===$)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}et&=1}if(G(M,et),!($.mode&1))$.memoizedState=null;else switch(tt){case"forwards":for(_e=$.child,tt=null;_e!==null;)o=_e.alternate,o!==null&&Mh(o)===null&&(tt=_e),_e=_e.sibling;_e=tt,_e===null?(tt=$.child,$.child=null):(tt=_e.sibling,_e.sibling=null),xj($,!1,tt,_e,rt);break;case"backwards":for(_e=null,tt=$.child,$.child=null;tt!==null;){if(o=tt.alternate,o!==null&&Mh(o)===null){$.child=tt;break}o=tt.sibling,tt.sibling=_e,_e=tt,tt=o}xj($,!0,_e,null,rt);break;case"together":xj($,!1,null,null,void 0);break;default:$.memoizedState=null}return $.child}function jj(o,$){!($.mode&1)&&o!==null&&(o.alternate=null,$.alternate=null,$.flags|=2)}function $i(o,$,_e){if(o!==null&&($.dependencies=o.dependencies),hh|=$.lanes,!(_e&$.childLanes))return null;if(o!==null&&$.child!==o.child)throw Error(p$2(153));if($.child!==null){for(o=$.child,_e=wh(o,o.pendingProps),$.child=_e,_e.return=$;o.sibling!==null;)o=o.sibling,_e=_e.sibling=wh(o,o.pendingProps),_e.return=$;_e.sibling=null}return $.child}function zj(o,$,_e){switch($.tag){case 3:lj($),Ig();break;case 5:Kh($);break;case 1:Zf($.type)&&cg($);break;case 4:Ih($,$.stateNode.containerInfo);break;case 10:var et=$.type._context,tt=$.memoizedProps.value;G(Mg,et._currentValue),et._currentValue=tt;break;case 13:if(et=$.memoizedState,et!==null)return et.dehydrated!==null?(G(M,M.current&1),$.flags|=128,null):_e&$.child.childLanes?pj(o,$,_e):(G(M,M.current&1),o=$i(o,$,_e),o!==null?o.sibling:null);G(M,M.current&1);break;case 19:if(et=(_e&$.childLanes)!==0,o.flags&128){if(et)return yj(o,$,_e);$.flags|=128}if(tt=$.memoizedState,tt!==null&&(tt.rendering=null,tt.tail=null,tt.lastEffect=null),G(M,M.current),et)break;return null;case 22:case 23:return $.lanes=0,ej(o,$,_e)}return $i(o,$,_e)}var Aj,Bj,Cj,Dj;Aj=function(o,$){for(var _e=$.child;_e!==null;){if(_e.tag===5||_e.tag===6)o.appendChild(_e.stateNode);else if(_e.tag!==4&&_e.child!==null){_e.child.return=_e,_e=_e.child;continue}if(_e===$)break;for(;_e.sibling===null;){if(_e.return===null||_e.return===$)return;_e=_e.return}_e.sibling.return=_e.return,_e=_e.sibling}};Bj=function(){};Cj=function(o,$,_e,et){var tt=o.memoizedProps;if(tt!==et){o=$.stateNode,Hh(Eh.current);var rt=null;switch(_e){case"input":tt=Ya(o,tt),et=Ya(o,et),rt=[];break;case"select":tt=A$3({},tt,{value:void 0}),et=A$3({},et,{value:void 0}),rt=[];break;case"textarea":tt=gb(o,tt),et=gb(o,et),rt=[];break;default:typeof tt.onClick!="function"&&typeof et.onClick=="function"&&(o.onclick=Bf)}ub(_e,et);var at;_e=null;for(ot in tt)if(!et.hasOwnProperty(ot)&&tt.hasOwnProperty(ot)&&tt[ot]!=null)if(ot==="style"){var nt=tt[ot];for(at in nt)nt.hasOwnProperty(at)&&(_e||(_e={}),_e[at]="")}else ot!=="dangerouslySetInnerHTML"&&ot!=="children"&&ot!=="suppressContentEditableWarning"&&ot!=="suppressHydrationWarning"&&ot!=="autoFocus"&&(ea.hasOwnProperty(ot)?rt||(rt=[]):(rt=rt||[]).push(ot,null));for(ot in et){var it=et[ot];if(nt=tt!=null?tt[ot]:void 0,et.hasOwnProperty(ot)&&it!==nt&&(it!=null||nt!=null))if(ot==="style")if(nt){for(at in nt)!nt.hasOwnProperty(at)||it&&it.hasOwnProperty(at)||(_e||(_e={}),_e[at]="");for(at in it)it.hasOwnProperty(at)&&nt[at]!==it[at]&&(_e||(_e={}),_e[at]=it[at])}else _e||(rt||(rt=[]),rt.push(ot,_e)),_e=it;else ot==="dangerouslySetInnerHTML"?(it=it?it.__html:void 0,nt=nt?nt.__html:void 0,it!=null&&nt!==it&&(rt=rt||[]).push(ot,it)):ot==="children"?typeof it!="string"&&typeof it!="number"||(rt=rt||[]).push(ot,""+it):ot!=="suppressContentEditableWarning"&&ot!=="suppressHydrationWarning"&&(ea.hasOwnProperty(ot)?(it!=null&&ot==="onScroll"&&D$1("scroll",o),rt||nt===it||(rt=[])):(rt=rt||[]).push(ot,it))}_e&&(rt=rt||[]).push("style",_e);var ot=rt;($.updateQueue=ot)&&($.flags|=4)}};Dj=function(o,$,_e,et){_e!==et&&($.flags|=4)};function Ej(o,$){if(!I)switch(o.tailMode){case"hidden":$=o.tail;for(var _e=null;$!==null;)$.alternate!==null&&(_e=$),$=$.sibling;_e===null?o.tail=null:_e.sibling=null;break;case"collapsed":_e=o.tail;for(var et=null;_e!==null;)_e.alternate!==null&&(et=_e),_e=_e.sibling;et===null?$||o.tail===null?o.tail=null:o.tail.sibling=null:et.sibling=null}}function S(o){var $=o.alternate!==null&&o.alternate.child===o.child,_e=0,et=0;if($)for(var tt=o.child;tt!==null;)_e|=tt.lanes|tt.childLanes,et|=tt.subtreeFlags&14680064,et|=tt.flags&14680064,tt.return=o,tt=tt.sibling;else for(tt=o.child;tt!==null;)_e|=tt.lanes|tt.childLanes,et|=tt.subtreeFlags,et|=tt.flags,tt.return=o,tt=tt.sibling;return o.subtreeFlags|=et,o.childLanes=_e,$}function Fj(o,$,_e){var et=$.pendingProps;switch(wg($),$.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S($),null;case 1:return Zf($.type)&&$f(),S($),null;case 3:return et=$.stateNode,Jh(),E$1(Wf),E$1(H),Oh(),et.pendingContext&&(et.context=et.pendingContext,et.pendingContext=null),(o===null||o.child===null)&&(Gg($)?$.flags|=4:o===null||o.memoizedState.isDehydrated&&!($.flags&256)||($.flags|=1024,zg!==null&&(Gj(zg),zg=null))),Bj(o,$),S($),null;case 5:Lh($);var tt=Hh(Gh.current);if(_e=$.type,o!==null&&$.stateNode!=null)Cj(o,$,_e,et,tt),o.ref!==$.ref&&($.flags|=512,$.flags|=2097152);else{if(!et){if($.stateNode===null)throw Error(p$2(166));return S($),null}if(o=Hh(Eh.current),Gg($)){et=$.stateNode,_e=$.type;var rt=$.memoizedProps;switch(et[Of]=$,et[Pf]=rt,o=($.mode&1)!==0,_e){case"dialog":D$1("cancel",et),D$1("close",et);break;case"iframe":case"object":case"embed":D$1("load",et);break;case"video":case"audio":for(tt=0;tt<\/script>",o=o.removeChild(o.firstChild)):typeof et.is=="string"?o=at.createElement(_e,{is:et.is}):(o=at.createElement(_e),_e==="select"&&(at=o,et.multiple?at.multiple=!0:et.size&&(at.size=et.size))):o=at.createElementNS(o,_e),o[Of]=$,o[Pf]=et,Aj(o,$,!1,!1),$.stateNode=o;e:{switch(at=vb(_e,et),_e){case"dialog":D$1("cancel",o),D$1("close",o),tt=et;break;case"iframe":case"object":case"embed":D$1("load",o),tt=et;break;case"video":case"audio":for(tt=0;ttHj&&($.flags|=128,et=!0,Ej(rt,!1),$.lanes=4194304)}else{if(!et)if(o=Mh(at),o!==null){if($.flags|=128,et=!0,_e=o.updateQueue,_e!==null&&($.updateQueue=_e,$.flags|=4),Ej(rt,!0),rt.tail===null&&rt.tailMode==="hidden"&&!at.alternate&&!I)return S($),null}else 2*B$1()-rt.renderingStartTime>Hj&&_e!==1073741824&&($.flags|=128,et=!0,Ej(rt,!1),$.lanes=4194304);rt.isBackwards?(at.sibling=$.child,$.child=at):(_e=rt.last,_e!==null?_e.sibling=at:$.child=at,rt.last=at)}return rt.tail!==null?($=rt.tail,rt.rendering=$,rt.tail=$.sibling,rt.renderingStartTime=B$1(),$.sibling=null,_e=M.current,G(M,et?_e&1|2:_e&1),$):(S($),null);case 22:case 23:return Ij(),et=$.memoizedState!==null,o!==null&&o.memoizedState!==null!==et&&($.flags|=8192),et&&$.mode&1?gj&1073741824&&(S($),$.subtreeFlags&6&&($.flags|=8192)):S($),null;case 24:return null;case 25:return null}throw Error(p$2(156,$.tag))}function Jj(o,$){switch(wg($),$.tag){case 1:return Zf($.type)&&$f(),o=$.flags,o&65536?($.flags=o&-65537|128,$):null;case 3:return Jh(),E$1(Wf),E$1(H),Oh(),o=$.flags,o&65536&&!(o&128)?($.flags=o&-65537|128,$):null;case 5:return Lh($),null;case 13:if(E$1(M),o=$.memoizedState,o!==null&&o.dehydrated!==null){if($.alternate===null)throw Error(p$2(340));Ig()}return o=$.flags,o&65536?($.flags=o&-65537|128,$):null;case 19:return E$1(M),null;case 4:return Jh(),null;case 10:return Rg($.type._context),null;case 22:case 23:return Ij(),null;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=typeof WeakSet=="function"?WeakSet:Set,V=null;function Mj(o,$){var _e=o.ref;if(_e!==null)if(typeof _e=="function")try{_e(null)}catch(et){W(o,$,et)}else _e.current=null}function Nj(o,$,_e){try{_e()}catch(et){W(o,$,et)}}var Oj=!1;function Pj(o,$){if(Cf=dd,o=Me(),Ne(o)){if("selectionStart"in o)var _e={start:o.selectionStart,end:o.selectionEnd};else e:{_e=(_e=o.ownerDocument)&&_e.defaultView||window;var et=_e.getSelection&&_e.getSelection();if(et&&et.rangeCount!==0){_e=et.anchorNode;var tt=et.anchorOffset,rt=et.focusNode;et=et.focusOffset;try{_e.nodeType,rt.nodeType}catch(dt){_e=null;break e}var at=0,nt=-1,it=-1,ot=0,st=0,lt=o,ct=null;t:for(;;){for(var ut;lt!==_e||tt!==0&<.nodeType!==3||(nt=at+tt),lt!==rt||et!==0&<.nodeType!==3||(it=at+et),lt.nodeType===3&&(at+=lt.nodeValue.length),(ut=lt.firstChild)!==null;)ct=lt,lt=ut;for(;;){if(lt===o)break t;if(ct===_e&&++ot===tt&&(nt=at),ct===rt&&++st===et&&(it=at),(ut=lt.nextSibling)!==null)break;lt=ct,ct=lt.parentNode}lt=ut}_e=nt===-1||it===-1?null:{start:nt,end:it}}else _e=null}_e=_e||{start:0,end:0}}else _e=null;for(Df={focusedElem:o,selectionRange:_e},dd=!1,V=$;V!==null;)if($=V,o=$.child,($.subtreeFlags&1028)!==0&&o!==null)o.return=$,V=o;else for(;V!==null;){$=V;try{var ft=$.alternate;if($.flags&1024)switch($.tag){case 0:case 11:case 15:break;case 1:if(ft!==null){var At=ft.memoizedProps,vt=ft.memoizedState,ht=$.stateNode,bt=ht.getSnapshotBeforeUpdate($.elementType===$.type?At:Lg($.type,At),vt);ht.__reactInternalSnapshotBeforeUpdate=bt}break;case 3:var pt=$.stateNode.containerInfo;pt.nodeType===1?pt.textContent="":pt.nodeType===9&&pt.documentElement&&pt.removeChild(pt.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p$2(163))}}catch(dt){W($,$.return,dt)}if(o=$.sibling,o!==null){o.return=$.return,V=o;break}V=$.return}return ft=Oj,Oj=!1,ft}function Qj(o,$,_e){var et=$.updateQueue;if(et=et!==null?et.lastEffect:null,et!==null){var tt=et=et.next;do{if((tt.tag&o)===o){var rt=tt.destroy;tt.destroy=void 0,rt!==void 0&&Nj($,_e,rt)}tt=tt.next}while(tt!==et)}}function Rj(o,$){if($=$.updateQueue,$=$!==null?$.lastEffect:null,$!==null){var _e=$=$.next;do{if((_e.tag&o)===o){var et=_e.create;_e.destroy=et()}_e=_e.next}while(_e!==$)}}function Sj(o){var $=o.ref;if($!==null){var _e=o.stateNode;switch(o.tag){case 5:o=_e;break;default:o=_e}typeof $=="function"?$(o):$.current=o}}function Tj(o){var $=o.alternate;$!==null&&(o.alternate=null,Tj($)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&($=o.stateNode,$!==null&&(delete $[Of],delete $[Pf],delete $[of],delete $[Qf],delete $[Rf])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Uj(o){return o.tag===5||o.tag===3||o.tag===4}function Vj(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Uj(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Wj(o,$,_e){var et=o.tag;if(et===5||et===6)o=o.stateNode,$?_e.nodeType===8?_e.parentNode.insertBefore(o,$):_e.insertBefore(o,$):(_e.nodeType===8?($=_e.parentNode,$.insertBefore(o,_e)):($=_e,$.appendChild(o)),_e=_e._reactRootContainer,_e!=null||$.onclick!==null||($.onclick=Bf));else if(et!==4&&(o=o.child,o!==null))for(Wj(o,$,_e),o=o.sibling;o!==null;)Wj(o,$,_e),o=o.sibling}function Xj(o,$,_e){var et=o.tag;if(et===5||et===6)o=o.stateNode,$?_e.insertBefore(o,$):_e.appendChild(o);else if(et!==4&&(o=o.child,o!==null))for(Xj(o,$,_e),o=o.sibling;o!==null;)Xj(o,$,_e),o=o.sibling}var X=null,Yj=!1;function Zj(o,$,_e){for(_e=_e.child;_e!==null;)ak(o,$,_e),_e=_e.sibling}function ak(o,$,_e){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,_e)}catch(nt){}switch(_e.tag){case 5:U||Mj(_e,$);case 6:var et=X,tt=Yj;X=null,Zj(o,$,_e),X=et,Yj=tt,X!==null&&(Yj?(o=X,_e=_e.stateNode,o.nodeType===8?o.parentNode.removeChild(_e):o.removeChild(_e)):X.removeChild(_e.stateNode));break;case 18:X!==null&&(Yj?(o=X,_e=_e.stateNode,o.nodeType===8?Kf(o.parentNode,_e):o.nodeType===1&&Kf(o,_e),bd(o)):Kf(X,_e.stateNode));break;case 4:et=X,tt=Yj,X=_e.stateNode.containerInfo,Yj=!0,Zj(o,$,_e),X=et,Yj=tt;break;case 0:case 11:case 14:case 15:if(!U&&(et=_e.updateQueue,et!==null&&(et=et.lastEffect,et!==null))){tt=et=et.next;do{var rt=tt,at=rt.destroy;rt=rt.tag,at!==void 0&&(rt&2||rt&4)&&Nj(_e,$,at),tt=tt.next}while(tt!==et)}Zj(o,$,_e);break;case 1:if(!U&&(Mj(_e,$),et=_e.stateNode,typeof et.componentWillUnmount=="function"))try{et.props=_e.memoizedProps,et.state=_e.memoizedState,et.componentWillUnmount()}catch(nt){W(_e,$,nt)}Zj(o,$,_e);break;case 21:Zj(o,$,_e);break;case 22:_e.mode&1?(U=(et=U)||_e.memoizedState!==null,Zj(o,$,_e),U=et):Zj(o,$,_e);break;default:Zj(o,$,_e)}}function bk$1(o){var $=o.updateQueue;if($!==null){o.updateQueue=null;var _e=o.stateNode;_e===null&&(_e=o.stateNode=new Lj),$.forEach(function(et){var tt=ck.bind(null,o,et);_e.has(et)||(_e.add(et),et.then(tt,tt))})}}function dk(o,$){var _e=$.deletions;if(_e!==null)for(var et=0;et<_e.length;et++){var tt=_e[et];try{var rt=o,at=$,nt=at;e:for(;nt!==null;){switch(nt.tag){case 5:X=nt.stateNode,Yj=!1;break e;case 3:X=nt.stateNode.containerInfo,Yj=!0;break e;case 4:X=nt.stateNode.containerInfo,Yj=!0;break e}nt=nt.return}if(X===null)throw Error(p$2(160));ak(rt,at,tt),X=null,Yj=!1;var it=tt.alternate;it!==null&&(it.return=null),tt.return=null}catch(ot){W(tt,$,ot)}}if($.subtreeFlags&12854)for($=$.child;$!==null;)ek($,o),$=$.sibling}function ek(o,$){var _e=o.alternate,et=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(dk($,o),fk(o),et&4){try{Qj(3,o,o.return),Rj(3,o)}catch(At){W(o,o.return,At)}try{Qj(5,o,o.return)}catch(At){W(o,o.return,At)}}break;case 1:dk($,o),fk(o),et&512&&_e!==null&&Mj(_e,_e.return);break;case 5:if(dk($,o),fk(o),et&512&&_e!==null&&Mj(_e,_e.return),o.flags&32){var tt=o.stateNode;try{ob(tt,"")}catch(At){W(o,o.return,At)}}if(et&4&&(tt=o.stateNode,tt!=null)){var rt=o.memoizedProps,at=_e!==null?_e.memoizedProps:rt,nt=o.type,it=o.updateQueue;if(o.updateQueue=null,it!==null)try{nt==="input"&&rt.type==="radio"&&rt.name!=null&&ab(tt,rt),vb(nt,at);var ot=vb(nt,rt);for(at=0;attt&&(tt=at),et&=~rt}if(et=tt,et=B$1()-et,et=(120>et?120:480>et?480:1080>et?1080:1920>et?1920:3e3>et?3e3:4320>et?4320:1960*mk(et/1960))-et,10o?16:o,xk===null)var et=!1;else{if(o=xk,xk=null,yk=0,K$2&6)throw Error(p$2(331));var tt=K$2;for(K$2|=4,V=o.current;V!==null;){var rt=V,at=rt.child;if(V.flags&16){var nt=rt.deletions;if(nt!==null){for(var it=0;itB$1()-gk?Lk(o,0):sk|=_e),Ek(o,$)}function Zk(o,$){$===0&&(o.mode&1?($=sc,sc<<=1,!(sc&130023424)&&(sc=4194304)):$=1);var _e=L();o=Zg(o,$),o!==null&&(Ac(o,$,_e),Ek(o,_e))}function vj(o){var $=o.memoizedState,_e=0;$!==null&&(_e=$.retryLane),Zk(o,_e)}function ck(o,$){var _e=0;switch(o.tag){case 13:var et=o.stateNode,tt=o.memoizedState;tt!==null&&(_e=tt.retryLane);break;case 19:et=o.stateNode;break;default:throw Error(p$2(314))}et!==null&&et.delete($),Zk(o,_e)}var Wk;Wk=function(o,$,_e){if(o!==null)if(o.memoizedProps!==$.pendingProps||Wf.current)Ug=!0;else{if(!(o.lanes&_e)&&!($.flags&128))return Ug=!1,zj(o,$,_e);Ug=!!(o.flags&131072)}else Ug=!1,I&&$.flags&1048576&&ug($,ng,$.index);switch($.lanes=0,$.tag){case 2:var et=$.type;jj(o,$),o=$.pendingProps;var tt=Yf($,H.current);Tg($,_e),tt=Xh(null,$,et,o,tt,_e);var rt=bi();return $.flags|=1,typeof tt=="object"&&tt!==null&&typeof tt.render=="function"&&tt.$$typeof===void 0?($.tag=1,$.memoizedState=null,$.updateQueue=null,Zf(et)?(rt=!0,cg($)):rt=!1,$.memoizedState=tt.state!==null&&tt.state!==void 0?tt.state:null,ah($),tt.updater=nh,$.stateNode=tt,tt._reactInternals=$,rh($,et,o,_e),$=kj(null,$,et,!0,rt,_e)):($.tag=0,I&&rt&&vg($),Yi(null,$,tt,_e),$=$.child),$;case 16:et=$.elementType;e:{switch(jj(o,$),o=$.pendingProps,tt=et._init,et=tt(et._payload),$.type=et,tt=$.tag=$k(et),o=Lg(et,o),tt){case 0:$=dj(null,$,et,o,_e);break e;case 1:$=ij(null,$,et,o,_e);break e;case 11:$=Zi(null,$,et,o,_e);break e;case 14:$=aj(null,$,et,Lg(et.type,o),_e);break e}throw Error(p$2(306,et,""))}return $;case 0:return et=$.type,tt=$.pendingProps,tt=$.elementType===et?tt:Lg(et,tt),dj(o,$,et,tt,_e);case 1:return et=$.type,tt=$.pendingProps,tt=$.elementType===et?tt:Lg(et,tt),ij(o,$,et,tt,_e);case 3:e:{if(lj($),o===null)throw Error(p$2(387));et=$.pendingProps,rt=$.memoizedState,tt=rt.element,bh(o,$),gh($,et,null,_e);var at=$.memoizedState;if(et=at.element,rt.isDehydrated)if(rt={element:et,isDehydrated:!1,cache:at.cache,pendingSuspenseBoundaries:at.pendingSuspenseBoundaries,transitions:at.transitions},$.updateQueue.baseState=rt,$.memoizedState=rt,$.flags&256){tt=Ki(Error(p$2(423)),$),$=mj(o,$,et,_e,tt);break e}else if(et!==tt){tt=Ki(Error(p$2(424)),$),$=mj(o,$,et,_e,tt);break e}else for(yg=Lf($.stateNode.containerInfo.firstChild),xg=$,I=!0,zg=null,_e=Ch($,null,et,_e),$.child=_e;_e;)_e.flags=_e.flags&-3|4096,_e=_e.sibling;else{if(Ig(),et===tt){$=$i(o,$,_e);break e}Yi(o,$,et,_e)}$=$.child}return $;case 5:return Kh($),o===null&&Eg($),et=$.type,tt=$.pendingProps,rt=o!==null?o.memoizedProps:null,at=tt.children,Ef(et,tt)?at=null:rt!==null&&Ef(et,rt)&&($.flags|=32),hj(o,$),Yi(o,$,at,_e),$.child;case 6:return o===null&&Eg($),null;case 13:return pj(o,$,_e);case 4:return Ih($,$.stateNode.containerInfo),et=$.pendingProps,o===null?$.child=Bh($,null,et,_e):Yi(o,$,et,_e),$.child;case 11:return et=$.type,tt=$.pendingProps,tt=$.elementType===et?tt:Lg(et,tt),Zi(o,$,et,tt,_e);case 7:return Yi(o,$,$.pendingProps,_e),$.child;case 8:return Yi(o,$,$.pendingProps.children,_e),$.child;case 12:return Yi(o,$,$.pendingProps.children,_e),$.child;case 10:e:{if(et=$.type._context,tt=$.pendingProps,rt=$.memoizedProps,at=tt.value,G(Mg,et._currentValue),et._currentValue=at,rt!==null)if(He(rt.value,at)){if(rt.children===tt.children&&!Wf.current){$=$i(o,$,_e);break e}}else for(rt=$.child,rt!==null&&(rt.return=$);rt!==null;){var nt=rt.dependencies;if(nt!==null){at=rt.child;for(var it=nt.firstContext;it!==null;){if(it.context===et){if(rt.tag===1){it=ch(-1,_e&-_e),it.tag=2;var ot=rt.updateQueue;if(ot!==null){ot=ot.shared;var st=ot.pending;st===null?it.next=it:(it.next=st.next,st.next=it),ot.pending=it}}rt.lanes|=_e,it=rt.alternate,it!==null&&(it.lanes|=_e),Sg(rt.return,_e,$),nt.lanes|=_e;break}it=it.next}}else if(rt.tag===10)at=rt.type===$.type?null:rt.child;else if(rt.tag===18){if(at=rt.return,at===null)throw Error(p$2(341));at.lanes|=_e,nt=at.alternate,nt!==null&&(nt.lanes|=_e),Sg(at,_e,$),at=rt.sibling}else at=rt.child;if(at!==null)at.return=rt;else for(at=rt;at!==null;){if(at===$){at=null;break}if(rt=at.sibling,rt!==null){rt.return=at.return,at=rt;break}at=at.return}rt=at}Yi(o,$,tt.children,_e),$=$.child}return $;case 9:return tt=$.type,et=$.pendingProps.children,Tg($,_e),tt=Vg(tt),et=et(tt),$.flags|=1,Yi(o,$,et,_e),$.child;case 14:return et=$.type,tt=Lg(et,$.pendingProps),tt=Lg(et.type,tt),aj(o,$,et,tt,_e);case 15:return cj(o,$,$.type,$.pendingProps,_e);case 17:return et=$.type,tt=$.pendingProps,tt=$.elementType===et?tt:Lg(et,tt),jj(o,$),$.tag=1,Zf(et)?(o=!0,cg($)):o=!1,Tg($,_e),ph($,et,tt),rh($,et,tt,_e),kj(null,$,et,!0,o,_e);case 19:return yj(o,$,_e);case 22:return ej(o,$,_e)}throw Error(p$2(156,$.tag))};function Gk(o,$){return ac(o,$)}function al(o,$,_e,et){this.tag=o,this.key=_e,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=$,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=et,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(o,$,_e,et){return new al(o,$,_e,et)}function bj(o){return o=o.prototype,!(!o||!o.isReactComponent)}function $k(o){if(typeof o=="function")return bj(o)?1:0;if(o!=null){if(o=o.$$typeof,o===Da)return 11;if(o===Ga)return 14}return 2}function wh(o,$){var _e=o.alternate;return _e===null?(_e=Bg(o.tag,$,o.key,o.mode),_e.elementType=o.elementType,_e.type=o.type,_e.stateNode=o.stateNode,_e.alternate=o,o.alternate=_e):(_e.pendingProps=$,_e.type=o.type,_e.flags=0,_e.subtreeFlags=0,_e.deletions=null),_e.flags=o.flags&14680064,_e.childLanes=o.childLanes,_e.lanes=o.lanes,_e.child=o.child,_e.memoizedProps=o.memoizedProps,_e.memoizedState=o.memoizedState,_e.updateQueue=o.updateQueue,$=o.dependencies,_e.dependencies=$===null?null:{lanes:$.lanes,firstContext:$.firstContext},_e.sibling=o.sibling,_e.index=o.index,_e.ref=o.ref,_e}function yh(o,$,_e,et,tt,rt){var at=2;if(et=o,typeof o=="function")bj(o)&&(at=1);else if(typeof o=="string")at=5;else e:switch(o){case ya:return Ah(_e.children,tt,rt,$);case za:at=8,tt|=8;break;case Aa:return o=Bg(12,_e,$,tt|2),o.elementType=Aa,o.lanes=rt,o;case Ea:return o=Bg(13,_e,$,tt),o.elementType=Ea,o.lanes=rt,o;case Fa:return o=Bg(19,_e,$,tt),o.elementType=Fa,o.lanes=rt,o;case Ia:return qj(_e,tt,rt,$);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case Ba:at=10;break e;case Ca:at=9;break e;case Da:at=11;break e;case Ga:at=14;break e;case Ha:at=16,et=null;break e}throw Error(p$2(130,o==null?o:typeof o,""))}return $=Bg(at,_e,$,tt),$.elementType=o,$.type=et,$.lanes=rt,$}function Ah(o,$,_e,et){return o=Bg(7,o,et,$),o.lanes=_e,o}function qj(o,$,_e,et){return o=Bg(22,o,et,$),o.elementType=Ia,o.lanes=_e,o.stateNode={isHidden:!1},o}function xh(o,$,_e){return o=Bg(6,o,null,$),o.lanes=_e,o}function zh(o,$,_e){return $=Bg(4,o.children!==null?o.children:[],o.key,$),$.lanes=_e,$.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},$}function bl(o,$,_e,et,tt){this.tag=$,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=et,this.onRecoverableError=tt,this.mutableSourceEagerHydrationData=null}function cl(o,$,_e,et,tt,rt,at,nt,it){return o=new bl(o,$,_e,nt,it),$===1?($=1,rt===!0&&($|=8)):$=0,rt=Bg(3,null,null,$),o.current=rt,rt.stateNode=o,rt.memoizedState={element:et,isDehydrated:_e,cache:null,transitions:null,pendingSuspenseBoundaries:null},ah(rt),o}function dl(o,$,_e){var et=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($)}catch(_e){console.error(_e)}}$(),o.exports=reactDom_production_min})(reactDom);const ReactDOM=getDefaultExportFromCjs(reactDomExports);var createRoot,m$1=reactDomExports;createRoot=m$1.createRoot,m$1.hydrateRoot;var LocationUtils={};const require$$0=getAugmentedNamespace(resolvePathname$1),require$$1=getAugmentedNamespace(valueEqual$1);var PathUtils={};PathUtils.__esModule=!0;PathUtils.addLeadingSlash=function($){return $.charAt(0)==="/"?$:"/"+$};PathUtils.stripLeadingSlash=function($){return $.charAt(0)==="/"?$.substr(1):$};var hasBasename=PathUtils.hasBasename=function($,_e){return new RegExp("^"+_e+"(\\/|\\?|#|$)","i").test($)};PathUtils.stripBasename=function($,_e){return hasBasename($,_e)?$.substr(_e.length):$};PathUtils.stripTrailingSlash=function($){return $.charAt($.length-1)==="/"?$.slice(0,-1):$};PathUtils.parsePath=function($){var _e=$||"/",et="",tt="",rt=_e.indexOf("#");rt!==-1&&(tt=_e.substr(rt),_e=_e.substr(0,rt));var at=_e.indexOf("?");return at!==-1&&(et=_e.substr(at),_e=_e.substr(0,at)),{pathname:_e,search:et==="?"?"":et,hash:tt==="#"?"":tt}};PathUtils.createPath=function($){var _e=$.pathname,et=$.search,tt=$.hash,rt=_e||"/";return et&&et!=="?"&&(rt+=et.charAt(0)==="?"?et:"?"+et),tt&&tt!=="#"&&(rt+=tt.charAt(0)==="#"?tt:"#"+tt),rt};LocationUtils.__esModule=!0;LocationUtils.locationsAreEqual=LocationUtils.createLocation=void 0;var _extends$2k=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{};(0,_invariant2.default)(_DOMUtils.canUseDOM,"Browser history needs a DOM");var _e=window.history,et=(0,_DOMUtils.supportsHistory)(),tt=!(0,_DOMUtils.supportsPopStateOnHashChange)(),rt=$.forceRefresh,at=rt===void 0?!1:rt,nt=$.getUserConfirmation,it=nt===void 0?_DOMUtils.getConfirmation:nt,ot=$.keyLength,st=ot===void 0?6:ot,lt=$.basename?(0,_PathUtils.stripTrailingSlash)((0,_PathUtils.addLeadingSlash)($.basename)):"",ct=function(Nt){var Wt=Nt||{},Jt=Wt.key,nr=Wt.state,er=window.location,Xt=er.pathname,tr=er.search,Zt=er.hash,Gt=Xt+tr+Zt;return(0,_warning2.default)(!lt||(0,_PathUtils.hasBasename)(Gt,lt),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+Gt+'" to begin with "'+lt+'".'),lt&&(Gt=(0,_PathUtils.stripBasename)(Gt,lt)),(0,_LocationUtils.createLocation)(Gt,nr,Jt)},ut=function(){return Math.random().toString(36).substr(2,st)},ft=(0,_createTransitionManager2.default)(),At=function(Nt){_extends$2j(Vt,Nt),Vt.length=_e.length,ft.notifyListeners(Vt.location,Vt.action)},vt=function(Nt){(0,_DOMUtils.isExtraneousPopstateEvent)(Nt)||pt(ct(Nt.state))},ht=function(){pt(ct(getHistoryState()))},bt=!1,pt=function(Nt){if(bt)bt=!1,At();else{var Wt="POP";ft.confirmTransitionTo(Nt,Wt,it,function(Jt){Jt?At({action:Wt,location:Nt}):dt(Nt)})}},dt=function(Nt){var Wt=Vt.location,Jt=Ct.indexOf(Wt.key);Jt===-1&&(Jt=0);var nr=Ct.indexOf(Nt.key);nr===-1&&(nr=0);var er=Jt-nr;er&&(bt=!0,Et(er))},_t=ct(getHistoryState()),Ct=[_t.key],gt=function(Nt){return lt+(0,_PathUtils.createPath)(Nt)},yt=function(Nt,Wt){(0,_warning2.default)(!((typeof Nt>"u"?"undefined":_typeof$1n(Nt))==="object"&&Nt.state!==void 0&&Wt!==void 0),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");var Jt="PUSH",nr=(0,_LocationUtils.createLocation)(Nt,Wt,ut(),Vt.location);ft.confirmTransitionTo(nr,Jt,it,function(er){if(er){var Xt=gt(nr),tr=nr.key,Zt=nr.state;if(et)if(_e.pushState({key:tr,state:Zt},null,Xt),at)window.location.href=Xt;else{var Gt=Ct.indexOf(Vt.location.key),Ft=Ct.slice(0,Gt===-1?0:Gt+1);Ft.push(nr.key),Ct=Ft,At({action:Jt,location:nr})}else(0,_warning2.default)(Zt===void 0,"Browser history cannot push state in browsers that do not support HTML5 history"),window.location.href=Xt}})},xt=function(Nt,Wt){(0,_warning2.default)(!((typeof Nt>"u"?"undefined":_typeof$1n(Nt))==="object"&&Nt.state!==void 0&&Wt!==void 0),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");var Jt="REPLACE",nr=(0,_LocationUtils.createLocation)(Nt,Wt,ut(),Vt.location);ft.confirmTransitionTo(nr,Jt,it,function(er){if(er){var Xt=gt(nr),tr=nr.key,Zt=nr.state;if(et)if(_e.replaceState({key:tr,state:Zt},null,Xt),at)window.location.replace(Xt);else{var Gt=Ct.indexOf(Vt.location.key);Gt!==-1&&(Ct[Gt]=nr.key),At({action:Jt,location:nr})}else(0,_warning2.default)(Zt===void 0,"Browser history cannot replace state in browsers that do not support HTML5 history"),window.location.replace(Xt)}})},Et=function(Nt){_e.go(Nt)},It=function(){return Et(-1)},Tt=function(){return Et(1)},Rt=0,Ot=function(Nt){Rt+=Nt,Rt===1?((0,_DOMUtils.addEventListener)(window,PopStateEvent,vt),tt&&(0,_DOMUtils.addEventListener)(window,HashChangeEvent,ht)):Rt===0&&((0,_DOMUtils.removeEventListener)(window,PopStateEvent,vt),tt&&(0,_DOMUtils.removeEventListener)(window,HashChangeEvent,ht))},Mt=!1,Bt=function(){var Nt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Wt=ft.setPrompt(Nt);return Mt||(Ot(1),Mt=!0),function(){return Mt&&(Mt=!1,Ot(-1)),Wt()}},Lt=function(Nt){var Wt=ft.appendListener(Nt);return Ot(1),function(){Ot(-1),Wt()}},Vt={length:_e.length,action:"POP",location:_t,createHref:gt,push:yt,replace:xt,go:Et,goBack:It,goForward:Tt,block:Bt,listen:Lt};return Vt},_default$bF=createBrowserHistory;function _setPrototypeOf$1i(o,$){return _setPrototypeOf$1i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$1i(o,$)}function _inheritsLoose$1(o,$){o.prototype=Object.create($.prototype),o.prototype.constructor=o,_setPrototypeOf$1i(o,$)}var subscriptionShape=propTypesExports.shape({trySubscribe:propTypesExports.func.isRequired,tryUnsubscribe:propTypesExports.func.isRequired,notifyNestedSubs:propTypesExports.func.isRequired,isSubscribed:propTypesExports.func.isRequired}),storeShape=propTypesExports.shape({subscribe:propTypesExports.func.isRequired,dispatch:propTypesExports.func.isRequired,getState:propTypesExports.func.isRequired});function createProvider(o){var $;o===void 0&&(o="store");var _e=o+"Subscription",et=function(tt){_inheritsLoose$1(at,tt);var rt=at.prototype;rt.getChildContext=function(){var it;return it={},it[o]=this[o],it[_e]=null,it};function at(nt,it){var ot;return ot=tt.call(this,nt,it)||this,ot[o]=nt.store,ot}return rt.render=function(){return reactExports.Children.only(this.props.children)},at}(reactExports.Component);return et.propTypes={store:storeShape.isRequired,children:propTypesExports.element.isRequired},et.childContextTypes=($={},$[o]=storeShape.isRequired,$[_e]=subscriptionShape,$),et}const Provider$3=createProvider();function _assertThisInitialized$1h(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _extends$2i(){return _extends$2i=Object.assign?Object.assign.bind():function(o){for(var $=1;$=0)&&(_e[tt]=o[tt]);return _e}var reactIsExports={},reactIs$3={get exports(){return reactIsExports},set exports(o){reactIsExports=o}},reactIs_production_min={};/** @license React v16.13.1 +`+rt.stack}return{value:o,source:$,stack:tt,digest:null}}function Li(o,$,_e){return{value:o,source:null,stack:_e!=null?_e:null,digest:$!=null?$:null}}function Mi(o,$){try{console.error($.value)}catch(_e){setTimeout(function(){throw _e})}}var Ni=typeof WeakMap=="function"?WeakMap:Map;function Oi(o,$,_e){_e=ch(-1,_e),_e.tag=3,_e.payload={element:null};var et=$.value;return _e.callback=function(){Pi||(Pi=!0,Qi=et),Mi(o,$)},_e}function Ri(o,$,_e){_e=ch(-1,_e),_e.tag=3;var et=o.type.getDerivedStateFromError;if(typeof et=="function"){var tt=$.value;_e.payload=function(){return et(tt)},_e.callback=function(){Mi(o,$)}}var rt=o.stateNode;return rt!==null&&typeof rt.componentDidCatch=="function"&&(_e.callback=function(){Mi(o,$),typeof et!="function"&&(Si===null?Si=new Set([this]):Si.add(this));var at=$.stack;this.componentDidCatch($.value,{componentStack:at!==null?at:""})}),_e}function Ti(o,$,_e){var et=o.pingCache;if(et===null){et=o.pingCache=new Ni;var tt=new Set;et.set($,tt)}else tt=et.get($),tt===void 0&&(tt=new Set,et.set($,tt));tt.has(_e)||(tt.add(_e),o=Ui.bind(null,o,$,_e),$.then(o,o))}function Vi(o){do{var $;if(($=o.tag===13)&&($=o.memoizedState,$=$!==null?$.dehydrated!==null:!0),$)return o;o=o.return}while(o!==null);return null}function Wi(o,$,_e,et,tt){return o.mode&1?(o.flags|=65536,o.lanes=tt,o):(o===$?o.flags|=65536:(o.flags|=128,_e.flags|=131072,_e.flags&=-52805,_e.tag===1&&(_e.alternate===null?_e.tag=17:($=ch(-1,1),$.tag=2,dh(_e,$,1))),_e.lanes|=1),o)}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(o,$,_e,et){$.child=o===null?Ch($,null,_e,et):Bh($,o.child,_e,et)}function Zi(o,$,_e,et,tt){_e=_e.render;var rt=$.ref;return Tg($,tt),et=Xh(o,$,_e,et,rt,tt),_e=bi(),o!==null&&!Ug?($.updateQueue=o.updateQueue,$.flags&=-2053,o.lanes&=~tt,$i(o,$,tt)):(I&&_e&&vg($),$.flags|=1,Yi(o,$,et,tt),$.child)}function aj(o,$,_e,et,tt){if(o===null){var rt=_e.type;return typeof rt=="function"&&!bj(rt)&&rt.defaultProps===void 0&&_e.compare===null&&_e.defaultProps===void 0?($.tag=15,$.type=rt,cj(o,$,rt,et,tt)):(o=yh(_e.type,null,et,$,$.mode,tt),o.ref=$.ref,o.return=$,$.child=o)}if(rt=o.child,!(o.lanes&tt)){var at=rt.memoizedProps;if(_e=_e.compare,_e=_e!==null?_e:Ie,_e(at,et)&&o.ref===$.ref)return $i(o,$,tt)}return $.flags|=1,o=wh(rt,et),o.ref=$.ref,o.return=$,$.child=o}function cj(o,$,_e,et,tt){if(o!==null){var rt=o.memoizedProps;if(Ie(rt,et)&&o.ref===$.ref)if(Ug=!1,$.pendingProps=et=rt,(o.lanes&tt)!==0)o.flags&131072&&(Ug=!0);else return $.lanes=o.lanes,$i(o,$,tt)}return dj(o,$,_e,et,tt)}function ej(o,$,_e){var et=$.pendingProps,tt=et.children,rt=o!==null?o.memoizedState:null;if(et.mode==="hidden")if(!($.mode&1))$.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=_e;else{if(!(_e&1073741824))return o=rt!==null?rt.baseLanes|_e:_e,$.lanes=$.childLanes=1073741824,$.memoizedState={baseLanes:o,cachePool:null,transitions:null},$.updateQueue=null,G(fj,gj),gj|=o,null;$.memoizedState={baseLanes:0,cachePool:null,transitions:null},et=rt!==null?rt.baseLanes:_e,G(fj,gj),gj|=et}else rt!==null?(et=rt.baseLanes|_e,$.memoizedState=null):et=_e,G(fj,gj),gj|=et;return Yi(o,$,tt,_e),$.child}function hj(o,$){var _e=$.ref;(o===null&&_e!==null||o!==null&&o.ref!==_e)&&($.flags|=512,$.flags|=2097152)}function dj(o,$,_e,et,tt){var rt=Zf(_e)?Xf:H.current;return rt=Yf($,rt),Tg($,tt),_e=Xh(o,$,_e,et,rt,tt),et=bi(),o!==null&&!Ug?($.updateQueue=o.updateQueue,$.flags&=-2053,o.lanes&=~tt,$i(o,$,tt)):(I&&et&&vg($),$.flags|=1,Yi(o,$,_e,tt),$.child)}function ij(o,$,_e,et,tt){if(Zf(_e)){var rt=!0;cg($)}else rt=!1;if(Tg($,tt),$.stateNode===null)jj(o,$),ph($,_e,et),rh($,_e,et,tt),et=!0;else if(o===null){var at=$.stateNode,nt=$.memoizedProps;at.props=nt;var it=at.context,ot=_e.contextType;typeof ot=="object"&&ot!==null?ot=Vg(ot):(ot=Zf(_e)?Xf:H.current,ot=Yf($,ot));var st=_e.getDerivedStateFromProps,lt=typeof st=="function"||typeof at.getSnapshotBeforeUpdate=="function";lt||typeof at.UNSAFE_componentWillReceiveProps!="function"&&typeof at.componentWillReceiveProps!="function"||(nt!==et||it!==ot)&&qh($,at,et,ot),$g=!1;var ct=$.memoizedState;at.state=ct,gh($,et,at,tt),it=$.memoizedState,nt!==et||ct!==it||Wf.current||$g?(typeof st=="function"&&(kh($,_e,st,et),it=$.memoizedState),(nt=$g||oh($,_e,nt,et,ct,it,ot))?(lt||typeof at.UNSAFE_componentWillMount!="function"&&typeof at.componentWillMount!="function"||(typeof at.componentWillMount=="function"&&at.componentWillMount(),typeof at.UNSAFE_componentWillMount=="function"&&at.UNSAFE_componentWillMount()),typeof at.componentDidMount=="function"&&($.flags|=4194308)):(typeof at.componentDidMount=="function"&&($.flags|=4194308),$.memoizedProps=et,$.memoizedState=it),at.props=et,at.state=it,at.context=ot,et=nt):(typeof at.componentDidMount=="function"&&($.flags|=4194308),et=!1)}else{at=$.stateNode,bh(o,$),nt=$.memoizedProps,ot=$.type===$.elementType?nt:Lg($.type,nt),at.props=ot,lt=$.pendingProps,ct=at.context,it=_e.contextType,typeof it=="object"&&it!==null?it=Vg(it):(it=Zf(_e)?Xf:H.current,it=Yf($,it));var ut=_e.getDerivedStateFromProps;(st=typeof ut=="function"||typeof at.getSnapshotBeforeUpdate=="function")||typeof at.UNSAFE_componentWillReceiveProps!="function"&&typeof at.componentWillReceiveProps!="function"||(nt!==lt||ct!==it)&&qh($,at,et,it),$g=!1,ct=$.memoizedState,at.state=ct,gh($,et,at,tt);var ft=$.memoizedState;nt!==lt||ct!==ft||Wf.current||$g?(typeof ut=="function"&&(kh($,_e,ut,et),ft=$.memoizedState),(ot=$g||oh($,_e,ot,et,ct,ft,it)||!1)?(st||typeof at.UNSAFE_componentWillUpdate!="function"&&typeof at.componentWillUpdate!="function"||(typeof at.componentWillUpdate=="function"&&at.componentWillUpdate(et,ft,it),typeof at.UNSAFE_componentWillUpdate=="function"&&at.UNSAFE_componentWillUpdate(et,ft,it)),typeof at.componentDidUpdate=="function"&&($.flags|=4),typeof at.getSnapshotBeforeUpdate=="function"&&($.flags|=1024)):(typeof at.componentDidUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||($.flags|=4),typeof at.getSnapshotBeforeUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||($.flags|=1024),$.memoizedProps=et,$.memoizedState=ft),at.props=et,at.state=ft,at.context=it,et=ot):(typeof at.componentDidUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||($.flags|=4),typeof at.getSnapshotBeforeUpdate!="function"||nt===o.memoizedProps&&ct===o.memoizedState||($.flags|=1024),et=!1)}return kj(o,$,_e,et,rt,tt)}function kj(o,$,_e,et,tt,rt){hj(o,$);var at=($.flags&128)!==0;if(!et&&!at)return tt&&dg($,_e,!1),$i(o,$,rt);et=$.stateNode,Xi.current=$;var nt=at&&typeof _e.getDerivedStateFromError!="function"?null:et.render();return $.flags|=1,o!==null&&at?($.child=Bh($,o.child,null,rt),$.child=Bh($,null,nt,rt)):Yi(o,$,nt,rt),$.memoizedState=et.state,tt&&dg($,_e,!0),$.child}function lj(o){var $=o.stateNode;$.pendingContext?ag(o,$.pendingContext,$.pendingContext!==$.context):$.context&&ag(o,$.context,!1),Ih(o,$.containerInfo)}function mj(o,$,_e,et,tt){return Ig(),Jg(tt),$.flags|=256,Yi(o,$,_e,et),$.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(o){return{baseLanes:o,cachePool:null,transitions:null}}function pj(o,$,_e){var et=$.pendingProps,tt=M.current,rt=!1,at=($.flags&128)!==0,nt;if((nt=at)||(nt=o!==null&&o.memoizedState===null?!1:(tt&2)!==0),nt?(rt=!0,$.flags&=-129):(o===null||o.memoizedState!==null)&&(tt|=1),G(M,tt&1),o===null)return Eg($),o=$.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?($.mode&1?o.data==="$!"?$.lanes=8:$.lanes=1073741824:$.lanes=1,null):(at=et.children,o=et.fallback,rt?(et=$.mode,rt=$.child,at={mode:"hidden",children:at},!(et&1)&&rt!==null?(rt.childLanes=0,rt.pendingProps=at):rt=qj(at,et,0,null),o=Ah(o,et,_e,null),rt.return=$,o.return=$,rt.sibling=o,$.child=rt,$.child.memoizedState=oj(_e),$.memoizedState=nj,o):rj($,at));if(tt=o.memoizedState,tt!==null&&(nt=tt.dehydrated,nt!==null))return sj(o,$,at,et,nt,tt,_e);if(rt){rt=et.fallback,at=$.mode,tt=o.child,nt=tt.sibling;var it={mode:"hidden",children:et.children};return!(at&1)&&$.child!==tt?(et=$.child,et.childLanes=0,et.pendingProps=it,$.deletions=null):(et=wh(tt,it),et.subtreeFlags=tt.subtreeFlags&14680064),nt!==null?rt=wh(nt,rt):(rt=Ah(rt,at,_e,null),rt.flags|=2),rt.return=$,et.return=$,et.sibling=rt,$.child=et,et=rt,rt=$.child,at=o.child.memoizedState,at=at===null?oj(_e):{baseLanes:at.baseLanes|_e,cachePool:null,transitions:at.transitions},rt.memoizedState=at,rt.childLanes=o.childLanes&~_e,$.memoizedState=nj,et}return rt=o.child,o=rt.sibling,et=wh(rt,{mode:"visible",children:et.children}),!($.mode&1)&&(et.lanes=_e),et.return=$,et.sibling=null,o!==null&&(_e=$.deletions,_e===null?($.deletions=[o],$.flags|=16):_e.push(o)),$.child=et,$.memoizedState=null,et}function rj(o,$){return $=qj({mode:"visible",children:$},o.mode,0,null),$.return=o,o.child=$}function tj(o,$,_e,et){return et!==null&&Jg(et),Bh($,o.child,null,_e),o=rj($,$.pendingProps.children),o.flags|=2,$.memoizedState=null,o}function sj(o,$,_e,et,tt,rt,at){if(_e)return $.flags&256?($.flags&=-257,et=Li(Error(p$2(422))),tj(o,$,at,et)):$.memoizedState!==null?($.child=o.child,$.flags|=128,null):(rt=et.fallback,tt=$.mode,et=qj({mode:"visible",children:et.children},tt,0,null),rt=Ah(rt,tt,at,null),rt.flags|=2,et.return=$,rt.return=$,et.sibling=rt,$.child=et,$.mode&1&&Bh($,o.child,null,at),$.child.memoizedState=oj(at),$.memoizedState=nj,rt);if(!($.mode&1))return tj(o,$,at,null);if(tt.data==="$!"){if(et=tt.nextSibling&&tt.nextSibling.dataset,et)var nt=et.dgst;return et=nt,rt=Error(p$2(419)),et=Li(rt,et,void 0),tj(o,$,at,et)}if(nt=(at&o.childLanes)!==0,Ug||nt){if(et=R,et!==null){switch(at&-at){case 4:tt=2;break;case 16:tt=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:tt=32;break;case 536870912:tt=268435456;break;default:tt=0}tt=tt&(et.suspendedLanes|at)?0:tt,tt!==0&&tt!==rt.retryLane&&(rt.retryLane=tt,Zg(o,tt),mh(et,o,tt,-1))}return uj(),et=Li(Error(p$2(421))),tj(o,$,at,et)}return tt.data==="$?"?($.flags|=128,$.child=o.child,$=vj.bind(null,o),tt._reactRetry=$,null):(o=rt.treeContext,yg=Lf(tt.nextSibling),xg=$,I=!0,zg=null,o!==null&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=o.id,sg=o.overflow,qg=$),$=rj($,et.children),$.flags|=4096,$)}function wj(o,$,_e){o.lanes|=$;var et=o.alternate;et!==null&&(et.lanes|=$),Sg(o.return,$,_e)}function xj(o,$,_e,et,tt){var rt=o.memoizedState;rt===null?o.memoizedState={isBackwards:$,rendering:null,renderingStartTime:0,last:et,tail:_e,tailMode:tt}:(rt.isBackwards=$,rt.rendering=null,rt.renderingStartTime=0,rt.last=et,rt.tail=_e,rt.tailMode=tt)}function yj(o,$,_e){var et=$.pendingProps,tt=et.revealOrder,rt=et.tail;if(Yi(o,$,et.children,_e),et=M.current,et&2)et=et&1|2,$.flags|=128;else{if(o!==null&&o.flags&128)e:for(o=$.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&wj(o,_e,$);else if(o.tag===19)wj(o,_e,$);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===$)break e;for(;o.sibling===null;){if(o.return===null||o.return===$)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}et&=1}if(G(M,et),!($.mode&1))$.memoizedState=null;else switch(tt){case"forwards":for(_e=$.child,tt=null;_e!==null;)o=_e.alternate,o!==null&&Mh(o)===null&&(tt=_e),_e=_e.sibling;_e=tt,_e===null?(tt=$.child,$.child=null):(tt=_e.sibling,_e.sibling=null),xj($,!1,tt,_e,rt);break;case"backwards":for(_e=null,tt=$.child,$.child=null;tt!==null;){if(o=tt.alternate,o!==null&&Mh(o)===null){$.child=tt;break}o=tt.sibling,tt.sibling=_e,_e=tt,tt=o}xj($,!0,_e,null,rt);break;case"together":xj($,!1,null,null,void 0);break;default:$.memoizedState=null}return $.child}function jj(o,$){!($.mode&1)&&o!==null&&(o.alternate=null,$.alternate=null,$.flags|=2)}function $i(o,$,_e){if(o!==null&&($.dependencies=o.dependencies),hh|=$.lanes,!(_e&$.childLanes))return null;if(o!==null&&$.child!==o.child)throw Error(p$2(153));if($.child!==null){for(o=$.child,_e=wh(o,o.pendingProps),$.child=_e,_e.return=$;o.sibling!==null;)o=o.sibling,_e=_e.sibling=wh(o,o.pendingProps),_e.return=$;_e.sibling=null}return $.child}function zj(o,$,_e){switch($.tag){case 3:lj($),Ig();break;case 5:Kh($);break;case 1:Zf($.type)&&cg($);break;case 4:Ih($,$.stateNode.containerInfo);break;case 10:var et=$.type._context,tt=$.memoizedProps.value;G(Mg,et._currentValue),et._currentValue=tt;break;case 13:if(et=$.memoizedState,et!==null)return et.dehydrated!==null?(G(M,M.current&1),$.flags|=128,null):_e&$.child.childLanes?pj(o,$,_e):(G(M,M.current&1),o=$i(o,$,_e),o!==null?o.sibling:null);G(M,M.current&1);break;case 19:if(et=(_e&$.childLanes)!==0,o.flags&128){if(et)return yj(o,$,_e);$.flags|=128}if(tt=$.memoizedState,tt!==null&&(tt.rendering=null,tt.tail=null,tt.lastEffect=null),G(M,M.current),et)break;return null;case 22:case 23:return $.lanes=0,ej(o,$,_e)}return $i(o,$,_e)}var Aj,Bj,Cj,Dj;Aj=function(o,$){for(var _e=$.child;_e!==null;){if(_e.tag===5||_e.tag===6)o.appendChild(_e.stateNode);else if(_e.tag!==4&&_e.child!==null){_e.child.return=_e,_e=_e.child;continue}if(_e===$)break;for(;_e.sibling===null;){if(_e.return===null||_e.return===$)return;_e=_e.return}_e.sibling.return=_e.return,_e=_e.sibling}};Bj=function(){};Cj=function(o,$,_e,et){var tt=o.memoizedProps;if(tt!==et){o=$.stateNode,Hh(Eh.current);var rt=null;switch(_e){case"input":tt=Ya(o,tt),et=Ya(o,et),rt=[];break;case"select":tt=A$3({},tt,{value:void 0}),et=A$3({},et,{value:void 0}),rt=[];break;case"textarea":tt=gb(o,tt),et=gb(o,et),rt=[];break;default:typeof tt.onClick!="function"&&typeof et.onClick=="function"&&(o.onclick=Bf)}ub(_e,et);var at;_e=null;for(ot in tt)if(!et.hasOwnProperty(ot)&&tt.hasOwnProperty(ot)&&tt[ot]!=null)if(ot==="style"){var nt=tt[ot];for(at in nt)nt.hasOwnProperty(at)&&(_e||(_e={}),_e[at]="")}else ot!=="dangerouslySetInnerHTML"&&ot!=="children"&&ot!=="suppressContentEditableWarning"&&ot!=="suppressHydrationWarning"&&ot!=="autoFocus"&&(ea.hasOwnProperty(ot)?rt||(rt=[]):(rt=rt||[]).push(ot,null));for(ot in et){var it=et[ot];if(nt=tt!=null?tt[ot]:void 0,et.hasOwnProperty(ot)&&it!==nt&&(it!=null||nt!=null))if(ot==="style")if(nt){for(at in nt)!nt.hasOwnProperty(at)||it&&it.hasOwnProperty(at)||(_e||(_e={}),_e[at]="");for(at in it)it.hasOwnProperty(at)&&nt[at]!==it[at]&&(_e||(_e={}),_e[at]=it[at])}else _e||(rt||(rt=[]),rt.push(ot,_e)),_e=it;else ot==="dangerouslySetInnerHTML"?(it=it?it.__html:void 0,nt=nt?nt.__html:void 0,it!=null&&nt!==it&&(rt=rt||[]).push(ot,it)):ot==="children"?typeof it!="string"&&typeof it!="number"||(rt=rt||[]).push(ot,""+it):ot!=="suppressContentEditableWarning"&&ot!=="suppressHydrationWarning"&&(ea.hasOwnProperty(ot)?(it!=null&&ot==="onScroll"&&D$1("scroll",o),rt||nt===it||(rt=[])):(rt=rt||[]).push(ot,it))}_e&&(rt=rt||[]).push("style",_e);var ot=rt;($.updateQueue=ot)&&($.flags|=4)}};Dj=function(o,$,_e,et){_e!==et&&($.flags|=4)};function Ej(o,$){if(!I)switch(o.tailMode){case"hidden":$=o.tail;for(var _e=null;$!==null;)$.alternate!==null&&(_e=$),$=$.sibling;_e===null?o.tail=null:_e.sibling=null;break;case"collapsed":_e=o.tail;for(var et=null;_e!==null;)_e.alternate!==null&&(et=_e),_e=_e.sibling;et===null?$||o.tail===null?o.tail=null:o.tail.sibling=null:et.sibling=null}}function S(o){var $=o.alternate!==null&&o.alternate.child===o.child,_e=0,et=0;if($)for(var tt=o.child;tt!==null;)_e|=tt.lanes|tt.childLanes,et|=tt.subtreeFlags&14680064,et|=tt.flags&14680064,tt.return=o,tt=tt.sibling;else for(tt=o.child;tt!==null;)_e|=tt.lanes|tt.childLanes,et|=tt.subtreeFlags,et|=tt.flags,tt.return=o,tt=tt.sibling;return o.subtreeFlags|=et,o.childLanes=_e,$}function Fj(o,$,_e){var et=$.pendingProps;switch(wg($),$.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S($),null;case 1:return Zf($.type)&&$f(),S($),null;case 3:return et=$.stateNode,Jh(),E$1(Wf),E$1(H),Oh(),et.pendingContext&&(et.context=et.pendingContext,et.pendingContext=null),(o===null||o.child===null)&&(Gg($)?$.flags|=4:o===null||o.memoizedState.isDehydrated&&!($.flags&256)||($.flags|=1024,zg!==null&&(Gj(zg),zg=null))),Bj(o,$),S($),null;case 5:Lh($);var tt=Hh(Gh.current);if(_e=$.type,o!==null&&$.stateNode!=null)Cj(o,$,_e,et,tt),o.ref!==$.ref&&($.flags|=512,$.flags|=2097152);else{if(!et){if($.stateNode===null)throw Error(p$2(166));return S($),null}if(o=Hh(Eh.current),Gg($)){et=$.stateNode,_e=$.type;var rt=$.memoizedProps;switch(et[Of]=$,et[Pf]=rt,o=($.mode&1)!==0,_e){case"dialog":D$1("cancel",et),D$1("close",et);break;case"iframe":case"object":case"embed":D$1("load",et);break;case"video":case"audio":for(tt=0;tt<\/script>",o=o.removeChild(o.firstChild)):typeof et.is=="string"?o=at.createElement(_e,{is:et.is}):(o=at.createElement(_e),_e==="select"&&(at=o,et.multiple?at.multiple=!0:et.size&&(at.size=et.size))):o=at.createElementNS(o,_e),o[Of]=$,o[Pf]=et,Aj(o,$,!1,!1),$.stateNode=o;e:{switch(at=vb(_e,et),_e){case"dialog":D$1("cancel",o),D$1("close",o),tt=et;break;case"iframe":case"object":case"embed":D$1("load",o),tt=et;break;case"video":case"audio":for(tt=0;ttHj&&($.flags|=128,et=!0,Ej(rt,!1),$.lanes=4194304)}else{if(!et)if(o=Mh(at),o!==null){if($.flags|=128,et=!0,_e=o.updateQueue,_e!==null&&($.updateQueue=_e,$.flags|=4),Ej(rt,!0),rt.tail===null&&rt.tailMode==="hidden"&&!at.alternate&&!I)return S($),null}else 2*B$1()-rt.renderingStartTime>Hj&&_e!==1073741824&&($.flags|=128,et=!0,Ej(rt,!1),$.lanes=4194304);rt.isBackwards?(at.sibling=$.child,$.child=at):(_e=rt.last,_e!==null?_e.sibling=at:$.child=at,rt.last=at)}return rt.tail!==null?($=rt.tail,rt.rendering=$,rt.tail=$.sibling,rt.renderingStartTime=B$1(),$.sibling=null,_e=M.current,G(M,et?_e&1|2:_e&1),$):(S($),null);case 22:case 23:return Ij(),et=$.memoizedState!==null,o!==null&&o.memoizedState!==null!==et&&($.flags|=8192),et&&$.mode&1?gj&1073741824&&(S($),$.subtreeFlags&6&&($.flags|=8192)):S($),null;case 24:return null;case 25:return null}throw Error(p$2(156,$.tag))}function Jj(o,$){switch(wg($),$.tag){case 1:return Zf($.type)&&$f(),o=$.flags,o&65536?($.flags=o&-65537|128,$):null;case 3:return Jh(),E$1(Wf),E$1(H),Oh(),o=$.flags,o&65536&&!(o&128)?($.flags=o&-65537|128,$):null;case 5:return Lh($),null;case 13:if(E$1(M),o=$.memoizedState,o!==null&&o.dehydrated!==null){if($.alternate===null)throw Error(p$2(340));Ig()}return o=$.flags,o&65536?($.flags=o&-65537|128,$):null;case 19:return E$1(M),null;case 4:return Jh(),null;case 10:return Rg($.type._context),null;case 22:case 23:return Ij(),null;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=typeof WeakSet=="function"?WeakSet:Set,V=null;function Mj(o,$){var _e=o.ref;if(_e!==null)if(typeof _e=="function")try{_e(null)}catch(et){W(o,$,et)}else _e.current=null}function Nj(o,$,_e){try{_e()}catch(et){W(o,$,et)}}var Oj=!1;function Pj(o,$){if(Cf=dd,o=Me(),Ne(o)){if("selectionStart"in o)var _e={start:o.selectionStart,end:o.selectionEnd};else e:{_e=(_e=o.ownerDocument)&&_e.defaultView||window;var et=_e.getSelection&&_e.getSelection();if(et&&et.rangeCount!==0){_e=et.anchorNode;var tt=et.anchorOffset,rt=et.focusNode;et=et.focusOffset;try{_e.nodeType,rt.nodeType}catch(dt){_e=null;break e}var at=0,nt=-1,it=-1,ot=0,st=0,lt=o,ct=null;t:for(;;){for(var ut;lt!==_e||tt!==0&<.nodeType!==3||(nt=at+tt),lt!==rt||et!==0&<.nodeType!==3||(it=at+et),lt.nodeType===3&&(at+=lt.nodeValue.length),(ut=lt.firstChild)!==null;)ct=lt,lt=ut;for(;;){if(lt===o)break t;if(ct===_e&&++ot===tt&&(nt=at),ct===rt&&++st===et&&(it=at),(ut=lt.nextSibling)!==null)break;lt=ct,ct=lt.parentNode}lt=ut}_e=nt===-1||it===-1?null:{start:nt,end:it}}else _e=null}_e=_e||{start:0,end:0}}else _e=null;for(Df={focusedElem:o,selectionRange:_e},dd=!1,V=$;V!==null;)if($=V,o=$.child,($.subtreeFlags&1028)!==0&&o!==null)o.return=$,V=o;else for(;V!==null;){$=V;try{var ft=$.alternate;if($.flags&1024)switch($.tag){case 0:case 11:case 15:break;case 1:if(ft!==null){var At=ft.memoizedProps,vt=ft.memoizedState,ht=$.stateNode,mt=ht.getSnapshotBeforeUpdate($.elementType===$.type?At:Lg($.type,At),vt);ht.__reactInternalSnapshotBeforeUpdate=mt}break;case 3:var bt=$.stateNode.containerInfo;bt.nodeType===1?bt.textContent="":bt.nodeType===9&&bt.documentElement&&bt.removeChild(bt.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p$2(163))}}catch(dt){W($,$.return,dt)}if(o=$.sibling,o!==null){o.return=$.return,V=o;break}V=$.return}return ft=Oj,Oj=!1,ft}function Qj(o,$,_e){var et=$.updateQueue;if(et=et!==null?et.lastEffect:null,et!==null){var tt=et=et.next;do{if((tt.tag&o)===o){var rt=tt.destroy;tt.destroy=void 0,rt!==void 0&&Nj($,_e,rt)}tt=tt.next}while(tt!==et)}}function Rj(o,$){if($=$.updateQueue,$=$!==null?$.lastEffect:null,$!==null){var _e=$=$.next;do{if((_e.tag&o)===o){var et=_e.create;_e.destroy=et()}_e=_e.next}while(_e!==$)}}function Sj(o){var $=o.ref;if($!==null){var _e=o.stateNode;switch(o.tag){case 5:o=_e;break;default:o=_e}typeof $=="function"?$(o):$.current=o}}function Tj(o){var $=o.alternate;$!==null&&(o.alternate=null,Tj($)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&($=o.stateNode,$!==null&&(delete $[Of],delete $[Pf],delete $[of],delete $[Qf],delete $[Rf])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Uj(o){return o.tag===5||o.tag===3||o.tag===4}function Vj(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Uj(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Wj(o,$,_e){var et=o.tag;if(et===5||et===6)o=o.stateNode,$?_e.nodeType===8?_e.parentNode.insertBefore(o,$):_e.insertBefore(o,$):(_e.nodeType===8?($=_e.parentNode,$.insertBefore(o,_e)):($=_e,$.appendChild(o)),_e=_e._reactRootContainer,_e!=null||$.onclick!==null||($.onclick=Bf));else if(et!==4&&(o=o.child,o!==null))for(Wj(o,$,_e),o=o.sibling;o!==null;)Wj(o,$,_e),o=o.sibling}function Xj(o,$,_e){var et=o.tag;if(et===5||et===6)o=o.stateNode,$?_e.insertBefore(o,$):_e.appendChild(o);else if(et!==4&&(o=o.child,o!==null))for(Xj(o,$,_e),o=o.sibling;o!==null;)Xj(o,$,_e),o=o.sibling}var X=null,Yj=!1;function Zj(o,$,_e){for(_e=_e.child;_e!==null;)ak(o,$,_e),_e=_e.sibling}function ak(o,$,_e){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,_e)}catch(nt){}switch(_e.tag){case 5:U||Mj(_e,$);case 6:var et=X,tt=Yj;X=null,Zj(o,$,_e),X=et,Yj=tt,X!==null&&(Yj?(o=X,_e=_e.stateNode,o.nodeType===8?o.parentNode.removeChild(_e):o.removeChild(_e)):X.removeChild(_e.stateNode));break;case 18:X!==null&&(Yj?(o=X,_e=_e.stateNode,o.nodeType===8?Kf(o.parentNode,_e):o.nodeType===1&&Kf(o,_e),bd(o)):Kf(X,_e.stateNode));break;case 4:et=X,tt=Yj,X=_e.stateNode.containerInfo,Yj=!0,Zj(o,$,_e),X=et,Yj=tt;break;case 0:case 11:case 14:case 15:if(!U&&(et=_e.updateQueue,et!==null&&(et=et.lastEffect,et!==null))){tt=et=et.next;do{var rt=tt,at=rt.destroy;rt=rt.tag,at!==void 0&&(rt&2||rt&4)&&Nj(_e,$,at),tt=tt.next}while(tt!==et)}Zj(o,$,_e);break;case 1:if(!U&&(Mj(_e,$),et=_e.stateNode,typeof et.componentWillUnmount=="function"))try{et.props=_e.memoizedProps,et.state=_e.memoizedState,et.componentWillUnmount()}catch(nt){W(_e,$,nt)}Zj(o,$,_e);break;case 21:Zj(o,$,_e);break;case 22:_e.mode&1?(U=(et=U)||_e.memoizedState!==null,Zj(o,$,_e),U=et):Zj(o,$,_e);break;default:Zj(o,$,_e)}}function bk$1(o){var $=o.updateQueue;if($!==null){o.updateQueue=null;var _e=o.stateNode;_e===null&&(_e=o.stateNode=new Lj),$.forEach(function(et){var tt=ck.bind(null,o,et);_e.has(et)||(_e.add(et),et.then(tt,tt))})}}function dk(o,$){var _e=$.deletions;if(_e!==null)for(var et=0;et<_e.length;et++){var tt=_e[et];try{var rt=o,at=$,nt=at;e:for(;nt!==null;){switch(nt.tag){case 5:X=nt.stateNode,Yj=!1;break e;case 3:X=nt.stateNode.containerInfo,Yj=!0;break e;case 4:X=nt.stateNode.containerInfo,Yj=!0;break e}nt=nt.return}if(X===null)throw Error(p$2(160));ak(rt,at,tt),X=null,Yj=!1;var it=tt.alternate;it!==null&&(it.return=null),tt.return=null}catch(ot){W(tt,$,ot)}}if($.subtreeFlags&12854)for($=$.child;$!==null;)ek($,o),$=$.sibling}function ek(o,$){var _e=o.alternate,et=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(dk($,o),fk(o),et&4){try{Qj(3,o,o.return),Rj(3,o)}catch(At){W(o,o.return,At)}try{Qj(5,o,o.return)}catch(At){W(o,o.return,At)}}break;case 1:dk($,o),fk(o),et&512&&_e!==null&&Mj(_e,_e.return);break;case 5:if(dk($,o),fk(o),et&512&&_e!==null&&Mj(_e,_e.return),o.flags&32){var tt=o.stateNode;try{ob(tt,"")}catch(At){W(o,o.return,At)}}if(et&4&&(tt=o.stateNode,tt!=null)){var rt=o.memoizedProps,at=_e!==null?_e.memoizedProps:rt,nt=o.type,it=o.updateQueue;if(o.updateQueue=null,it!==null)try{nt==="input"&&rt.type==="radio"&&rt.name!=null&&ab(tt,rt),vb(nt,at);var ot=vb(nt,rt);for(at=0;attt&&(tt=at),et&=~rt}if(et=tt,et=B$1()-et,et=(120>et?120:480>et?480:1080>et?1080:1920>et?1920:3e3>et?3e3:4320>et?4320:1960*mk(et/1960))-et,10o?16:o,xk===null)var et=!1;else{if(o=xk,xk=null,yk=0,K$2&6)throw Error(p$2(331));var tt=K$2;for(K$2|=4,V=o.current;V!==null;){var rt=V,at=rt.child;if(V.flags&16){var nt=rt.deletions;if(nt!==null){for(var it=0;itB$1()-gk?Lk(o,0):sk|=_e),Ek(o,$)}function Zk(o,$){$===0&&(o.mode&1?($=sc,sc<<=1,!(sc&130023424)&&(sc=4194304)):$=1);var _e=L();o=Zg(o,$),o!==null&&(Ac(o,$,_e),Ek(o,_e))}function vj(o){var $=o.memoizedState,_e=0;$!==null&&(_e=$.retryLane),Zk(o,_e)}function ck(o,$){var _e=0;switch(o.tag){case 13:var et=o.stateNode,tt=o.memoizedState;tt!==null&&(_e=tt.retryLane);break;case 19:et=o.stateNode;break;default:throw Error(p$2(314))}et!==null&&et.delete($),Zk(o,_e)}var Wk;Wk=function(o,$,_e){if(o!==null)if(o.memoizedProps!==$.pendingProps||Wf.current)Ug=!0;else{if(!(o.lanes&_e)&&!($.flags&128))return Ug=!1,zj(o,$,_e);Ug=!!(o.flags&131072)}else Ug=!1,I&&$.flags&1048576&&ug($,ng,$.index);switch($.lanes=0,$.tag){case 2:var et=$.type;jj(o,$),o=$.pendingProps;var tt=Yf($,H.current);Tg($,_e),tt=Xh(null,$,et,o,tt,_e);var rt=bi();return $.flags|=1,typeof tt=="object"&&tt!==null&&typeof tt.render=="function"&&tt.$$typeof===void 0?($.tag=1,$.memoizedState=null,$.updateQueue=null,Zf(et)?(rt=!0,cg($)):rt=!1,$.memoizedState=tt.state!==null&&tt.state!==void 0?tt.state:null,ah($),tt.updater=nh,$.stateNode=tt,tt._reactInternals=$,rh($,et,o,_e),$=kj(null,$,et,!0,rt,_e)):($.tag=0,I&&rt&&vg($),Yi(null,$,tt,_e),$=$.child),$;case 16:et=$.elementType;e:{switch(jj(o,$),o=$.pendingProps,tt=et._init,et=tt(et._payload),$.type=et,tt=$.tag=$k(et),o=Lg(et,o),tt){case 0:$=dj(null,$,et,o,_e);break e;case 1:$=ij(null,$,et,o,_e);break e;case 11:$=Zi(null,$,et,o,_e);break e;case 14:$=aj(null,$,et,Lg(et.type,o),_e);break e}throw Error(p$2(306,et,""))}return $;case 0:return et=$.type,tt=$.pendingProps,tt=$.elementType===et?tt:Lg(et,tt),dj(o,$,et,tt,_e);case 1:return et=$.type,tt=$.pendingProps,tt=$.elementType===et?tt:Lg(et,tt),ij(o,$,et,tt,_e);case 3:e:{if(lj($),o===null)throw Error(p$2(387));et=$.pendingProps,rt=$.memoizedState,tt=rt.element,bh(o,$),gh($,et,null,_e);var at=$.memoizedState;if(et=at.element,rt.isDehydrated)if(rt={element:et,isDehydrated:!1,cache:at.cache,pendingSuspenseBoundaries:at.pendingSuspenseBoundaries,transitions:at.transitions},$.updateQueue.baseState=rt,$.memoizedState=rt,$.flags&256){tt=Ki(Error(p$2(423)),$),$=mj(o,$,et,_e,tt);break e}else if(et!==tt){tt=Ki(Error(p$2(424)),$),$=mj(o,$,et,_e,tt);break e}else for(yg=Lf($.stateNode.containerInfo.firstChild),xg=$,I=!0,zg=null,_e=Ch($,null,et,_e),$.child=_e;_e;)_e.flags=_e.flags&-3|4096,_e=_e.sibling;else{if(Ig(),et===tt){$=$i(o,$,_e);break e}Yi(o,$,et,_e)}$=$.child}return $;case 5:return Kh($),o===null&&Eg($),et=$.type,tt=$.pendingProps,rt=o!==null?o.memoizedProps:null,at=tt.children,Ef(et,tt)?at=null:rt!==null&&Ef(et,rt)&&($.flags|=32),hj(o,$),Yi(o,$,at,_e),$.child;case 6:return o===null&&Eg($),null;case 13:return pj(o,$,_e);case 4:return Ih($,$.stateNode.containerInfo),et=$.pendingProps,o===null?$.child=Bh($,null,et,_e):Yi(o,$,et,_e),$.child;case 11:return et=$.type,tt=$.pendingProps,tt=$.elementType===et?tt:Lg(et,tt),Zi(o,$,et,tt,_e);case 7:return Yi(o,$,$.pendingProps,_e),$.child;case 8:return Yi(o,$,$.pendingProps.children,_e),$.child;case 12:return Yi(o,$,$.pendingProps.children,_e),$.child;case 10:e:{if(et=$.type._context,tt=$.pendingProps,rt=$.memoizedProps,at=tt.value,G(Mg,et._currentValue),et._currentValue=at,rt!==null)if(He(rt.value,at)){if(rt.children===tt.children&&!Wf.current){$=$i(o,$,_e);break e}}else for(rt=$.child,rt!==null&&(rt.return=$);rt!==null;){var nt=rt.dependencies;if(nt!==null){at=rt.child;for(var it=nt.firstContext;it!==null;){if(it.context===et){if(rt.tag===1){it=ch(-1,_e&-_e),it.tag=2;var ot=rt.updateQueue;if(ot!==null){ot=ot.shared;var st=ot.pending;st===null?it.next=it:(it.next=st.next,st.next=it),ot.pending=it}}rt.lanes|=_e,it=rt.alternate,it!==null&&(it.lanes|=_e),Sg(rt.return,_e,$),nt.lanes|=_e;break}it=it.next}}else if(rt.tag===10)at=rt.type===$.type?null:rt.child;else if(rt.tag===18){if(at=rt.return,at===null)throw Error(p$2(341));at.lanes|=_e,nt=at.alternate,nt!==null&&(nt.lanes|=_e),Sg(at,_e,$),at=rt.sibling}else at=rt.child;if(at!==null)at.return=rt;else for(at=rt;at!==null;){if(at===$){at=null;break}if(rt=at.sibling,rt!==null){rt.return=at.return,at=rt;break}at=at.return}rt=at}Yi(o,$,tt.children,_e),$=$.child}return $;case 9:return tt=$.type,et=$.pendingProps.children,Tg($,_e),tt=Vg(tt),et=et(tt),$.flags|=1,Yi(o,$,et,_e),$.child;case 14:return et=$.type,tt=Lg(et,$.pendingProps),tt=Lg(et.type,tt),aj(o,$,et,tt,_e);case 15:return cj(o,$,$.type,$.pendingProps,_e);case 17:return et=$.type,tt=$.pendingProps,tt=$.elementType===et?tt:Lg(et,tt),jj(o,$),$.tag=1,Zf(et)?(o=!0,cg($)):o=!1,Tg($,_e),ph($,et,tt),rh($,et,tt,_e),kj(null,$,et,!0,o,_e);case 19:return yj(o,$,_e);case 22:return ej(o,$,_e)}throw Error(p$2(156,$.tag))};function Gk(o,$){return ac(o,$)}function al(o,$,_e,et){this.tag=o,this.key=_e,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=$,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=et,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(o,$,_e,et){return new al(o,$,_e,et)}function bj(o){return o=o.prototype,!(!o||!o.isReactComponent)}function $k(o){if(typeof o=="function")return bj(o)?1:0;if(o!=null){if(o=o.$$typeof,o===Da)return 11;if(o===Ga)return 14}return 2}function wh(o,$){var _e=o.alternate;return _e===null?(_e=Bg(o.tag,$,o.key,o.mode),_e.elementType=o.elementType,_e.type=o.type,_e.stateNode=o.stateNode,_e.alternate=o,o.alternate=_e):(_e.pendingProps=$,_e.type=o.type,_e.flags=0,_e.subtreeFlags=0,_e.deletions=null),_e.flags=o.flags&14680064,_e.childLanes=o.childLanes,_e.lanes=o.lanes,_e.child=o.child,_e.memoizedProps=o.memoizedProps,_e.memoizedState=o.memoizedState,_e.updateQueue=o.updateQueue,$=o.dependencies,_e.dependencies=$===null?null:{lanes:$.lanes,firstContext:$.firstContext},_e.sibling=o.sibling,_e.index=o.index,_e.ref=o.ref,_e}function yh(o,$,_e,et,tt,rt){var at=2;if(et=o,typeof o=="function")bj(o)&&(at=1);else if(typeof o=="string")at=5;else e:switch(o){case ya:return Ah(_e.children,tt,rt,$);case za:at=8,tt|=8;break;case Aa:return o=Bg(12,_e,$,tt|2),o.elementType=Aa,o.lanes=rt,o;case Ea:return o=Bg(13,_e,$,tt),o.elementType=Ea,o.lanes=rt,o;case Fa:return o=Bg(19,_e,$,tt),o.elementType=Fa,o.lanes=rt,o;case Ia:return qj(_e,tt,rt,$);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case Ba:at=10;break e;case Ca:at=9;break e;case Da:at=11;break e;case Ga:at=14;break e;case Ha:at=16,et=null;break e}throw Error(p$2(130,o==null?o:typeof o,""))}return $=Bg(at,_e,$,tt),$.elementType=o,$.type=et,$.lanes=rt,$}function Ah(o,$,_e,et){return o=Bg(7,o,et,$),o.lanes=_e,o}function qj(o,$,_e,et){return o=Bg(22,o,et,$),o.elementType=Ia,o.lanes=_e,o.stateNode={isHidden:!1},o}function xh(o,$,_e){return o=Bg(6,o,null,$),o.lanes=_e,o}function zh(o,$,_e){return $=Bg(4,o.children!==null?o.children:[],o.key,$),$.lanes=_e,$.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},$}function bl(o,$,_e,et,tt){this.tag=$,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=et,this.onRecoverableError=tt,this.mutableSourceEagerHydrationData=null}function cl(o,$,_e,et,tt,rt,at,nt,it){return o=new bl(o,$,_e,nt,it),$===1?($=1,rt===!0&&($|=8)):$=0,rt=Bg(3,null,null,$),o.current=rt,rt.stateNode=o,rt.memoizedState={element:et,isDehydrated:_e,cache:null,transitions:null,pendingSuspenseBoundaries:null},ah(rt),o}function dl(o,$,_e){var et=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($)}catch(_e){console.error(_e)}}$(),o.exports=reactDom_production_min})(reactDom);const ReactDOM=getDefaultExportFromCjs(reactDomExports);var createRoot,m$1=reactDomExports;createRoot=m$1.createRoot,m$1.hydrateRoot;var LocationUtils={};const require$$0=getAugmentedNamespace(resolvePathname$1),require$$1=getAugmentedNamespace(valueEqual$1);var PathUtils={};PathUtils.__esModule=!0;PathUtils.addLeadingSlash=function($){return $.charAt(0)==="/"?$:"/"+$};PathUtils.stripLeadingSlash=function($){return $.charAt(0)==="/"?$.substr(1):$};var hasBasename=PathUtils.hasBasename=function($,_e){return new RegExp("^"+_e+"(\\/|\\?|#|$)","i").test($)};PathUtils.stripBasename=function($,_e){return hasBasename($,_e)?$.substr(_e.length):$};PathUtils.stripTrailingSlash=function($){return $.charAt($.length-1)==="/"?$.slice(0,-1):$};PathUtils.parsePath=function($){var _e=$||"/",et="",tt="",rt=_e.indexOf("#");rt!==-1&&(tt=_e.substr(rt),_e=_e.substr(0,rt));var at=_e.indexOf("?");return at!==-1&&(et=_e.substr(at),_e=_e.substr(0,at)),{pathname:_e,search:et==="?"?"":et,hash:tt==="#"?"":tt}};PathUtils.createPath=function($){var _e=$.pathname,et=$.search,tt=$.hash,rt=_e||"/";return et&&et!=="?"&&(rt+=et.charAt(0)==="?"?et:"?"+et),tt&&tt!=="#"&&(rt+=tt.charAt(0)==="#"?tt:"#"+tt),rt};LocationUtils.__esModule=!0;LocationUtils.locationsAreEqual=LocationUtils.createLocation=void 0;var _extends$2k=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{};(0,_invariant2.default)(_DOMUtils.canUseDOM,"Browser history needs a DOM");var _e=window.history,et=(0,_DOMUtils.supportsHistory)(),tt=!(0,_DOMUtils.supportsPopStateOnHashChange)(),rt=$.forceRefresh,at=rt===void 0?!1:rt,nt=$.getUserConfirmation,it=nt===void 0?_DOMUtils.getConfirmation:nt,ot=$.keyLength,st=ot===void 0?6:ot,lt=$.basename?(0,_PathUtils.stripTrailingSlash)((0,_PathUtils.addLeadingSlash)($.basename)):"",ct=function(Nt){var Wt=Nt||{},qt=Wt.key,nr=Wt.state,ar=window.location,Kt=ar.pathname,er=ar.search,Ut=ar.hash,Ht=Kt+er+Ut;return(0,_warning2.default)(!lt||(0,_PathUtils.hasBasename)(Ht,lt),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+Ht+'" to begin with "'+lt+'".'),lt&&(Ht=(0,_PathUtils.stripBasename)(Ht,lt)),(0,_LocationUtils.createLocation)(Ht,nr,qt)},ut=function(){return Math.random().toString(36).substr(2,st)},ft=(0,_createTransitionManager2.default)(),At=function(Nt){_extends$2j(jt,Nt),jt.length=_e.length,ft.notifyListeners(jt.location,jt.action)},vt=function(Nt){(0,_DOMUtils.isExtraneousPopstateEvent)(Nt)||bt(ct(Nt.state))},ht=function(){bt(ct(getHistoryState()))},mt=!1,bt=function(Nt){if(mt)mt=!1,At();else{var Wt="POP";ft.confirmTransitionTo(Nt,Wt,it,function(qt){qt?At({action:Wt,location:Nt}):dt(Nt)})}},dt=function(Nt){var Wt=jt.location,qt=Ct.indexOf(Wt.key);qt===-1&&(qt=0);var nr=Ct.indexOf(Nt.key);nr===-1&&(nr=0);var ar=qt-nr;ar&&(mt=!0,Et(ar))},xt=ct(getHistoryState()),Ct=[xt.key],gt=function(Nt){return lt+(0,_PathUtils.createPath)(Nt)},wt=function(Nt,Wt){(0,_warning2.default)(!((typeof Nt>"u"?"undefined":_typeof$1n(Nt))==="object"&&Nt.state!==void 0&&Wt!==void 0),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");var qt="PUSH",nr=(0,_LocationUtils.createLocation)(Nt,Wt,ut(),jt.location);ft.confirmTransitionTo(nr,qt,it,function(ar){if(ar){var Kt=gt(nr),er=nr.key,Ut=nr.state;if(et)if(_e.pushState({key:er,state:Ut},null,Kt),at)window.location.href=Kt;else{var Ht=Ct.indexOf(jt.location.key),Ft=Ct.slice(0,Ht===-1?0:Ht+1);Ft.push(nr.key),Ct=Ft,At({action:qt,location:nr})}else(0,_warning2.default)(Ut===void 0,"Browser history cannot push state in browsers that do not support HTML5 history"),window.location.href=Kt}})},_t=function(Nt,Wt){(0,_warning2.default)(!((typeof Nt>"u"?"undefined":_typeof$1n(Nt))==="object"&&Nt.state!==void 0&&Wt!==void 0),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");var qt="REPLACE",nr=(0,_LocationUtils.createLocation)(Nt,Wt,ut(),jt.location);ft.confirmTransitionTo(nr,qt,it,function(ar){if(ar){var Kt=gt(nr),er=nr.key,Ut=nr.state;if(et)if(_e.replaceState({key:er,state:Ut},null,Kt),at)window.location.replace(Kt);else{var Ht=Ct.indexOf(jt.location.key);Ht!==-1&&(Ct[Ht]=nr.key),At({action:qt,location:nr})}else(0,_warning2.default)(Ut===void 0,"Browser history cannot replace state in browsers that do not support HTML5 history"),window.location.replace(Kt)}})},Et=function(Nt){_e.go(Nt)},It=function(){return Et(-1)},Tt=function(){return Et(1)},Rt=0,Ot=function(Nt){Rt+=Nt,Rt===1?((0,_DOMUtils.addEventListener)(window,PopStateEvent,vt),tt&&(0,_DOMUtils.addEventListener)(window,HashChangeEvent,ht)):Rt===0&&((0,_DOMUtils.removeEventListener)(window,PopStateEvent,vt),tt&&(0,_DOMUtils.removeEventListener)(window,HashChangeEvent,ht))},Mt=!1,Bt=function(){var Nt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Wt=ft.setPrompt(Nt);return Mt||(Ot(1),Mt=!0),function(){return Mt&&(Mt=!1,Ot(-1)),Wt()}},Lt=function(Nt){var Wt=ft.appendListener(Nt);return Ot(1),function(){Ot(-1),Wt()}},jt={length:_e.length,action:"POP",location:xt,createHref:gt,push:wt,replace:_t,go:Et,goBack:It,goForward:Tt,block:Bt,listen:Lt};return jt},_default$bF=createBrowserHistory;function _setPrototypeOf$1i(o,$){return _setPrototypeOf$1i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$1i(o,$)}function _inheritsLoose$1(o,$){o.prototype=Object.create($.prototype),o.prototype.constructor=o,_setPrototypeOf$1i(o,$)}var subscriptionShape=propTypesExports.shape({trySubscribe:propTypesExports.func.isRequired,tryUnsubscribe:propTypesExports.func.isRequired,notifyNestedSubs:propTypesExports.func.isRequired,isSubscribed:propTypesExports.func.isRequired}),storeShape=propTypesExports.shape({subscribe:propTypesExports.func.isRequired,dispatch:propTypesExports.func.isRequired,getState:propTypesExports.func.isRequired});function createProvider(o){var $;o===void 0&&(o="store");var _e=o+"Subscription",et=function(tt){_inheritsLoose$1(at,tt);var rt=at.prototype;rt.getChildContext=function(){var it;return it={},it[o]=this[o],it[_e]=null,it};function at(nt,it){var ot;return ot=tt.call(this,nt,it)||this,ot[o]=nt.store,ot}return rt.render=function(){return reactExports.Children.only(this.props.children)},at}(reactExports.Component);return et.propTypes={store:storeShape.isRequired,children:propTypesExports.element.isRequired},et.childContextTypes=($={},$[o]=storeShape.isRequired,$[_e]=subscriptionShape,$),et}const Provider$3=createProvider();function _assertThisInitialized$1h(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _extends$2i(){return _extends$2i=Object.assign?Object.assign.bind():function(o){for(var $=1;$=0)&&(_e[tt]=o[tt]);return _e}var reactIsExports={},reactIs$3={get exports(){return reactIsExports},set exports(o){reactIsExports=o}},reactIs_production_min={};/** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var b=typeof Symbol=="function"&&Symbol.for,c$1=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e$1=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k$2=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p$1=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"):60120,r$1=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x$2=b?Symbol.for("react.responder"):60118,y$2=b?Symbol.for("react.scope"):60119;function z(o){if(typeof o=="object"&&o!==null){var $=o.$$typeof;switch($){case c$1:switch(o=o.type,o){case l:case m:case e$1:case g:case f:case p$1:return o;default:switch(o=o&&o.$$typeof,o){case k$2:case n:case t:case r$1:case h:return o;default:return $}}case d:return $}}}function A$2(o){return z(o)===m}reactIs_production_min.AsyncMode=l;reactIs_production_min.ConcurrentMode=m;reactIs_production_min.ContextConsumer=k$2;reactIs_production_min.ContextProvider=h;reactIs_production_min.Element=c$1;reactIs_production_min.ForwardRef=n;reactIs_production_min.Fragment=e$1;reactIs_production_min.Lazy=t;reactIs_production_min.Memo=r$1;reactIs_production_min.Portal=d;reactIs_production_min.Profiler=g;reactIs_production_min.StrictMode=f;reactIs_production_min.Suspense=p$1;reactIs_production_min.isAsyncMode=function(o){return A$2(o)||z(o)===l};reactIs_production_min.isConcurrentMode=A$2;reactIs_production_min.isContextConsumer=function(o){return z(o)===k$2};reactIs_production_min.isContextProvider=function(o){return z(o)===h};reactIs_production_min.isElement=function(o){return typeof o=="object"&&o!==null&&o.$$typeof===c$1};reactIs_production_min.isForwardRef=function(o){return z(o)===n};reactIs_production_min.isFragment=function(o){return z(o)===e$1};reactIs_production_min.isLazy=function(o){return z(o)===t};reactIs_production_min.isMemo=function(o){return z(o)===r$1};reactIs_production_min.isPortal=function(o){return z(o)===d};reactIs_production_min.isProfiler=function(o){return z(o)===g};reactIs_production_min.isStrictMode=function(o){return z(o)===f};reactIs_production_min.isSuspense=function(o){return z(o)===p$1};reactIs_production_min.isValidElementType=function(o){return typeof o=="string"||typeof o=="function"||o===e$1||o===m||o===g||o===f||o===p$1||o===q||typeof o=="object"&&o!==null&&(o.$$typeof===t||o.$$typeof===r$1||o.$$typeof===h||o.$$typeof===k$2||o.$$typeof===n||o.$$typeof===w||o.$$typeof===x$2||o.$$typeof===y$2||o.$$typeof===v)};reactIs_production_min.typeOf=z;(function(o){o.exports=reactIs_production_min})(reactIs$3);var reactIs$2=reactIsExports,REACT_STATICS$2={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS$2={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS$2={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS$2={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS$2={};TYPE_STATICS$2[reactIs$2.ForwardRef]=FORWARD_REF_STATICS$2;TYPE_STATICS$2[reactIs$2.Memo]=MEMO_STATICS$2;function getStatics$2(o){return reactIs$2.isMemo(o)?MEMO_STATICS$2:TYPE_STATICS$2[o.$$typeof]||REACT_STATICS$2}var defineProperty$9=Object.defineProperty,getOwnPropertyNames$2=Object.getOwnPropertyNames,getOwnPropertySymbols$3=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$4=Object.getOwnPropertyDescriptor,getPrototypeOf$5=Object.getPrototypeOf,objectPrototype$2=Object.prototype;function hoistNonReactStatics$2(o,$,_e){if(typeof $!="string"){if(objectPrototype$2){var et=getPrototypeOf$5($);et&&et!==objectPrototype$2&&hoistNonReactStatics$2(o,et,_e)}var tt=getOwnPropertyNames$2($);getOwnPropertySymbols$3&&(tt=tt.concat(getOwnPropertySymbols$3($)));for(var rt=getStatics$2(o),at=getStatics$2($),nt=0;nt, ')+('or explicitly pass "'+ft+'" as a prop to "'+xt+'".')),Lt.initSelector(),Lt.initSubscription(),Lt}var Ot=Rt.prototype;return Ot.getChildContext=function(){var Bt,Lt=this.propsMode?null:this.subscription;return Bt={},Bt[bt]=Lt||this.context[bt],Bt},Ot.componentDidMount=function(){ct&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},Ot.componentWillReceiveProps=function(Bt){this.selector.run(Bt)},Ot.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},Ot.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=noop$h,this.store=null,this.selector.run=noop$h,this.selector.shouldComponentUpdate=!1},Ot.getWrappedInstance=function(){return browser(vt,"To access the wrapped instance, you need to specify "+("{ withRef: true } in the options argument of the "+it+"() call.")),this.wrappedInstance},Ot.setWrappedInstance=function(Bt){this.wrappedInstance=Bt},Ot.initSelector=function(){var Bt=o(this.store.dispatch,Et);this.selector=makeSelectorStateful(Bt,this.store),this.selector.run(this.props)},Ot.initSubscription=function(){if(ct){var Bt=(this.propsMode?this.props:this.context)[bt];this.subscription=new Subscription(this.store,Bt,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},Ot.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(dummyState)):this.notifyNestedSubs()},Ot.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},Ot.isSubscribed=function(){return!!this.subscription&&this.subscription.isSubscribed()},Ot.addExtraProps=function(Bt){if(!vt&&!st&&!(this.propsMode&&this.subscription))return Bt;var Lt=_extends$2i({},Bt);return vt&&(Lt.ref=this.setWrappedInstance),st&&(Lt[st]=this.renderCount++),this.propsMode&&this.subscription&&(Lt[bt]=this.subscription),Lt},Ot.render=function(){var Bt=this.selector;if(Bt.shouldComponentUpdate=!1,Bt.error)throw Bt.error;return reactExports.createElement(gt,this.addExtraProps(Bt.props))},Rt}(reactExports.Component);return It.WrappedComponent=gt,It.displayName=xt,It.childContextTypes=_t,It.contextTypes=dt,It.propTypes=dt,hoistNonReactStatics_cjs$2(It,gt)}}var hasOwn$1=Object.prototype.hasOwnProperty;function is$1(o,$){return o===$?o!==0||$!==0||1/o===1/$:o!==o&&$!==$}function shallowEqual$1(o,$){if(is$1(o,$))return!0;if(typeof o!="object"||o===null||typeof $!="object"||$===null)return!1;var _e=Object.keys(o),et=Object.keys($);if(_e.length!==et.length)return!1;for(var tt=0;tt<_e.length;tt++)if(!hasOwn$1.call($,_e[tt])||!is$1(o[_e[tt]],$[_e[tt]]))return!1;return!0}var freeGlobal$2=typeof global=="object"&&global&&global.Object===Object&&global;const freeGlobal$3=freeGlobal$2;var freeSelf$1=typeof self=="object"&&self&&self.Object===Object&&self,root$f=freeGlobal$3||freeSelf$1||Function("return this")();const root$g=root$f;var Symbol$8=root$g.Symbol;const Symbol$9=Symbol$8;var objectProto$k=Object.prototype,hasOwnProperty$j=objectProto$k.hasOwnProperty,nativeObjectToString$3=objectProto$k.toString,symToStringTag$3=Symbol$9?Symbol$9.toStringTag:void 0;function getRawTag$2(o){var $=hasOwnProperty$j.call(o,symToStringTag$3),_e=o[symToStringTag$3];try{o[symToStringTag$3]=void 0;var et=!0}catch(rt){}var tt=nativeObjectToString$3.call(o);return et&&($?o[symToStringTag$3]=_e:delete o[symToStringTag$3]),tt}var objectProto$j=Object.prototype,nativeObjectToString$2=objectProto$j.toString;function objectToString$2(o){return nativeObjectToString$2.call(o)}var nullTag$1="[object Null]",undefinedTag$1="[object Undefined]",symToStringTag$2=Symbol$9?Symbol$9.toStringTag:void 0;function baseGetTag$8(o){return o==null?o===void 0?undefinedTag$1:nullTag$1:symToStringTag$2&&symToStringTag$2 in Object(o)?getRawTag$2(o):objectToString$2(o)}function overArg$3(o,$){return function(_e){return o($(_e))}}var getPrototype$3=overArg$3(Object.getPrototypeOf,Object);const getPrototype$4=getPrototype$3;function isObjectLike$9(o){return o!=null&&typeof o=="object"}var objectTag$4="[object Object]",funcProto$3=Function.prototype,objectProto$i=Object.prototype,funcToString$3=funcProto$3.toString,hasOwnProperty$i=objectProto$i.hasOwnProperty,objectCtorString$1=funcToString$3.call(Object);function isPlainObject$5(o){if(!isObjectLike$9(o)||baseGetTag$8(o)!=objectTag$4)return!1;var $=getPrototype$4(o);if($===null)return!0;var _e=hasOwnProperty$i.call($,"constructor")&&$.constructor;return typeof _e=="function"&&_e instanceof _e&&funcToString$3.call(_e)==objectCtorString$1}function symbolObservablePonyfill(o){var $,_e=o.Symbol;return typeof _e=="function"?_e.observable?$=_e.observable:($=_e("observable"),_e.observable=$):$="@@observable",$}var root$e;typeof self<"u"?root$e=self:typeof window<"u"?root$e=window:typeof global<"u"?root$e=global:typeof module<"u"?root$e=module:root$e=Function("return this")();var result=symbolObservablePonyfill(root$e),ActionTypes={INIT:"@@redux/INIT"};function createStore$2(o,$,_e){var et;if(typeof $=="function"&&typeof _e>"u"&&(_e=$,$=void 0),typeof _e<"u"){if(typeof _e!="function")throw new Error("Expected the enhancer to be a function.");return _e(createStore$2)(o,$)}if(typeof o!="function")throw new Error("Expected the reducer to be a function.");var tt=o,rt=$,at=[],nt=at,it=!1;function ot(){nt===at&&(nt=at.slice())}function st(){return rt}function lt(At){if(typeof At!="function")throw new Error("Expected listener to be a function.");var vt=!0;return ot(),nt.push(At),function(){if(vt){vt=!1,ot();var bt=nt.indexOf(At);nt.splice(bt,1)}}}function ct(At){if(!isPlainObject$5(At))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(typeof At.type>"u")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(it)throw new Error("Reducers may not dispatch actions.");try{it=!0,rt=tt(rt,At)}finally{it=!1}for(var vt=at=nt,ht=0;ht"u")throw new Error('Reducer "'+$+`" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);var tt="@@redux/PROBE_UNKNOWN_ACTION_"+Math.random().toString(36).substring(7).split("").join(".");if(typeof _e(void 0,{type:tt})>"u")throw new Error('Reducer "'+$+'" returned undefined when probed with a random type. '+("Don't try to handle "+ActionTypes.INIT+' or other actions in "redux/*" ')+"namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.")})}function combineReducers(o){for(var $=Object.keys(o),_e={},et=0;et<$.length;et++){var tt=$[et];typeof o[tt]=="function"&&(_e[tt]=o[tt])}var rt=Object.keys(_e),at=void 0;try{assertReducerShape(_e)}catch(nt){at=nt}return function(){var it=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ot=arguments[1];if(at)throw at;for(var st=!1,lt={},ct=0;ct"u"){var ht=getUndefinedStateErrorMessage(ut,ot);throw new Error(ht)}lt[ut]=vt,st=st||vt!==At}return st?lt:it}}function bindActionCreator(o,$){return function(){return $(o.apply(void 0,arguments))}}function bindActionCreators(o,$){if(typeof o=="function")return bindActionCreator(o,$);if(typeof o!="object"||o===null)throw new Error("bindActionCreators expected an object or a function, instead received "+(o===null?"null":typeof o)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');for(var _e=Object.keys(o),et={},tt=0;tt<_e.length;tt++){var rt=_e[tt],at=o[rt];typeof at=="function"&&(et[rt]=bindActionCreator(at,$))}return et}function compose$1(){for(var o=arguments.length,$=Array(o),_e=0;_e=0;et--){var tt=$[et](o);if(tt)return tt}return function(rt,at){throw new Error("Invalid value of type "+typeof o+" for "+_e+" argument when connecting component "+at.wrappedComponentName+".")}}function strictEqual(o,$){return o===$}function createConnect(o){var $=o===void 0?{}:o,_e=$.connectHOC,et=_e===void 0?connectAdvanced:_e,tt=$.mapStateToPropsFactories,rt=tt===void 0?defaultMapStateToPropsFactories:tt,at=$.mapDispatchToPropsFactories,nt=at===void 0?defaultMapDispatchToPropsFactories:at,it=$.mergePropsFactories,ot=it===void 0?defaultMergePropsFactories:it,st=$.selectorFactory,lt=st===void 0?finalPropsSelectorFactory:st;return function(ut,ft,At,vt){vt===void 0&&(vt={});var ht=vt,bt=ht.pure,pt=bt===void 0?!0:bt,dt=ht.areStatesEqual,_t=dt===void 0?strictEqual:dt,Ct=ht.areOwnPropsEqual,gt=Ct===void 0?shallowEqual$1:Ct,yt=ht.areStatePropsEqual,xt=yt===void 0?shallowEqual$1:yt,Et=ht.areMergedPropsEqual,It=Et===void 0?shallowEqual$1:Et,Tt=_objectWithoutPropertiesLoose$7(ht,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),Rt=match$2(ut,rt,"mapStateToProps"),Ot=match$2(ft,nt,"mapDispatchToProps"),Mt=match$2(At,ot,"mergeProps");return et(lt,_extends$2i({methodName:"connect",getDisplayName:function(Lt){return"Connect("+Lt+")"},shouldHandleStateChanges:!!ut,initMapStateToProps:Rt,initMapDispatchToProps:Ot,initMergeProps:Mt,pure:pt,areStatesEqual:_t,areOwnPropsEqual:gt,areStatePropsEqual:xt,areMergedPropsEqual:It},Tt))}}const connect$3=createConnect();var _extends$2g=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:initialState$5,$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_e=$.type,et=$.payload;return _e===LOCATION_CHANGE?_extends$2g({},o,{location:et}):o}function _classCallCheck$24(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$22(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$22(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var ConnectedRouter=function(o){_inherits$22($,o);function $(){var _e,et,tt;_classCallCheck$24(this,$);for(var rt=arguments.length,at=Array(rt),nt=0;nt{const $=reactExports.useMemo(()=>o.color||DEFAULT_ICON_COLOR,[o.color]),_e=reactExports.useMemo(()=>o.size||DEFAULT_ICON_SIZE,[o.size]);return{color:$,size:_e}},CrossedCrosshairCircleIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 73 72",children:[jsxRuntimeExports.jsx("circle",{cx:"36.5",cy:"36",r:"36",fill:"#F5F5F5"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeWidth:"2",d:"m17 16 40 40"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"4",d:"M54.33 36c0 9.57-7.76 17.33-17.33 17.33M54.33 36c0-9.57-7.76-17.33-17.33-17.33M54.33 36h-9.2M37 53.33A17.33 17.33 0 0 1 19.67 36M37 53.33v-9.2M19.67 36c0-9.57 7.76-17.33 17.33-17.33M19.67 36h9.2M37 18.67v9.2"})]})},CrossedCrosshairCircleIcon=React$k.memo(CrossedCrosshairCircleIconComponent),SlackLogoIconComponent=o=>{const{size:$}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 12 12",children:[jsxRuntimeExports.jsxs("g",{clipPath:"url(#slack-clip-1)",children:[jsxRuntimeExports.jsx("path",{fill:"#E01E5A",d:"M2.5238 7.5619c0 .69525-.56189 1.25719-1.25714 1.25719-.69525 0-1.25714-.56194-1.25714-1.25719 0-.6952.5619-1.25709 1.25719-1.25709h1.25705v1.25714l.00004-.00005Zm.6286 0c0-.6952.56189-1.25709 1.25714-1.25709.69525 0 1.25714.56189 1.25714 1.25714v3.14285c0 .6952-.56189 1.2572-1.25719 1.2572-.69516 0-1.25709-.562-1.25709-1.2572V7.5619Z"}),jsxRuntimeExports.jsx("path",{fill:"#36C5F0",d:"M4.40953 2.51428c-.69525 0-1.25719-.56189-1.25719-1.25714C3.15234.56189 3.71433 0 4.40953 0s1.25714.5619 1.25714 1.25714v1.25719H4.40948l.00005-.00005Zm0 .63811c.69525 0 1.25714.56189 1.25714 1.25714 0 .69525-.56189 1.25714-1.25719 1.25714H1.25719C.56189 5.66667 0 5.10478 0 4.40948c0-.69515.5619-1.25709 1.25714-1.25709h3.15239Z"}),jsxRuntimeExports.jsx("path",{fill:"#2EB67D",d:"M9.44768 4.40953c0-.69525.56192-1.25719 1.25712-1.25719s1.2572.56194 1.2572 1.25719-.562 1.25714-1.2572 1.25714H9.44768V4.40953Zm-.62859 0c0 .69525-.56194 1.25714-1.25719 1.25714-.6952 0-1.25709-.56189-1.25709-1.25719V1.25719C6.30481.56189 6.8667 0 7.5619 0c.69521 0 1.25714.5619 1.25714 1.25714v3.15234l.00005.00005Z"}),jsxRuntimeExports.jsx("path",{fill:"#ECB22E",d:"M7.5619 9.44768c.69525 0 1.25719.56192 1.25719 1.25712S8.25715 11.962 7.5619 11.962c-.6952 0-1.25709-.562-1.25709-1.2572V9.44768H7.5619Zm0-.62859c-.6952 0-1.25709-.56194-1.25709-1.25719 0-.6952.56189-1.25709 1.25714-1.25709h3.15235c.6952 0 1.2572.56189 1.2572 1.25714 0 .6952-.562 1.25714-1.2572 1.25714H7.5619Z"})]}),jsxRuntimeExports.jsx("defs",{children:jsxRuntimeExports.jsx("clipPath",{id:"slack-clip-1",children:jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M0 0h12v12H0z"})})})]})},SlackLogoIcon=React$k.memo(SlackLogoIconComponent),BrokenLinkCircleIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{width:$,height:$,viewBox:"0 0 72 72",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntimeExports.jsx("circle",{cx:"36",cy:"36",r:"36",fill:"#F5F5F5"}),jsxRuntimeExports.jsx("path",{d:"M49.2217 23.2783C48.0049 22.0617 46.3553 21.3772 44.6346 21.375C42.9139 21.3727 41.2626 22.0527 40.0425 23.2661L37.6761 25.7462C37.3734 26.0291 36.9742 26.1857 36.5599 26.1841C36.1457 26.1824 35.7477 26.0226 35.4473 25.7372C35.147 25.4519 34.9669 25.0627 34.944 24.6491C34.921 24.2354 35.0569 23.8286 35.3239 23.5119L37.7045 21.0155C37.7128 21.0062 37.7216 20.9973 37.7309 20.9891C39.5644 19.1852 42.0365 18.1789 44.6086 18.1894C47.1806 18.1998 49.6444 19.2262 51.4631 21.045C53.2819 22.8637 54.3083 25.3275 54.3188 27.8996C54.3292 30.4717 53.3229 32.9437 51.5191 34.7772C51.5108 34.7865 51.502 34.7953 51.4927 34.8036L48.9963 37.1842C48.6795 37.4512 48.2727 37.5871 47.8591 37.5641C47.4454 37.5412 47.0562 37.3612 46.7709 37.0608C46.4856 36.7604 46.3257 36.3625 46.3241 35.9482C46.3224 35.5339 46.479 35.1347 46.7619 34.832L49.242 32.4656C50.4568 31.2442 51.137 29.5904 51.1332 27.8677C51.1294 26.1451 50.4419 24.4944 49.2217 23.2783ZM35.3239 46.2537L32.9575 48.7339C31.7326 49.9235 30.0889 50.5833 28.3815 50.5709C26.6741 50.5584 25.0401 49.8746 23.8328 48.6672C22.6254 47.4599 21.9416 45.8259 21.9291 44.1185C21.9167 42.4111 22.5765 40.7674 23.7661 39.5425L26.2462 37.1761C26.5291 36.8734 26.6857 36.4742 26.6841 36.0599C26.6824 35.6457 26.5226 35.2477 26.2372 34.9473C25.9519 34.647 25.5627 34.4669 25.1491 34.444C24.7354 34.421 24.3286 34.5569 24.0119 34.8239L21.5073 37.2045C21.498 37.2128 21.4892 37.2216 21.4809 37.2309C19.6771 39.0644 18.6708 41.5365 18.6812 44.1086C18.6917 46.6806 19.7181 49.1444 21.5369 50.9631C23.3556 52.7819 25.8194 53.8083 28.3914 53.8188C30.9635 53.8292 33.4356 52.8229 35.2691 51.0191C35.2784 51.0108 35.2872 51.002 35.2955 50.9927L37.6761 48.4963C37.8379 48.345 37.9671 48.1622 38.0558 47.9592C38.1444 47.7562 38.1906 47.5372 38.1915 47.3156C38.1924 47.0941 38.148 46.8747 38.061 46.671C37.974 46.4673 37.8463 46.2835 37.6857 46.1309C37.525 45.9783 37.3349 45.8602 37.127 45.7838C36.9191 45.7074 36.6977 45.6743 36.4765 45.6866C36.2553 45.6988 36.039 45.7562 35.8408 45.8551C35.6426 45.9541 35.4667 46.0925 35.3239 46.2619V46.2537ZM52.75 40.875H47.875C47.444 40.875 47.0307 41.0462 46.726 41.351C46.4212 41.6557 46.25 42.069 46.25 42.5C46.25 42.931 46.4212 43.3443 46.726 43.649C47.0307 43.9538 47.444 44.125 47.875 44.125H52.75C53.181 44.125 53.5943 43.9538 53.899 43.649C54.2038 43.3443 54.375 42.931 54.375 42.5C54.375 42.069 54.2038 41.6557 53.899 41.351C53.5943 41.0462 53.181 40.875 52.75 40.875ZM20.25 31.125H25.125C25.556 31.125 25.9693 30.9538 26.274 30.649C26.5788 30.3443 26.75 29.931 26.75 29.5C26.75 29.069 26.5788 28.6557 26.274 28.351C25.9693 28.0462 25.556 27.875 25.125 27.875H20.25C19.819 27.875 19.4057 28.0462 19.101 28.351C18.7962 28.6557 18.625 29.069 18.625 29.5C18.625 29.931 18.7962 30.3443 19.101 30.649C19.4057 30.9538 19.819 31.125 20.25 31.125ZM43 45.75C42.569 45.75 42.1557 45.9212 41.851 46.226C41.5462 46.5307 41.375 46.944 41.375 47.375V52.25C41.375 52.681 41.5462 53.0943 41.851 53.399C42.1557 53.7038 42.569 53.875 43 53.875C43.431 53.875 43.8443 53.7038 44.149 53.399C44.4538 53.0943 44.625 52.681 44.625 52.25V47.375C44.625 46.944 44.4538 46.5307 44.149 46.226C43.8443 45.9212 43.431 45.75 43 45.75ZM30 26.25C30.431 26.25 30.8443 26.0788 31.149 25.774C31.4538 25.4693 31.625 25.056 31.625 24.625V19.75C31.625 19.319 31.4538 18.9057 31.149 18.601C30.8443 18.2962 30.431 18.125 30 18.125C29.569 18.125 29.1557 18.2962 28.851 18.601C28.5462 18.9057 28.375 19.319 28.375 19.75V24.625C28.375 25.056 28.5462 25.4693 28.851 25.774C29.1557 26.0788 29.569 26.25 30 26.25Z",fill:_e})]})},BrokenLinkCircleIcon=React$k.memo(BrokenLinkCircleIconComponent),isString$6=o=>typeof o=="string",SLACK_CHANNEL_URL="https://join.slack.com/t/continuous-feedback/shared_invite/zt-2gsif7wdy-6Jf17HIJESc2tknT5gybtw";function ErrorAttr({name:o,value:$}){return jsxRuntimeExports.jsxs("tr",{className:"ErrorMessage--detailItem",children:[jsxRuntimeExports.jsx("td",{className:"ErrorMessage--attr",children:o}),jsxRuntimeExports.jsx("td",{className:"ErrorMessage--value",children:$})]})}function Message(o){const{className:$,error:_e,wrap:et,wrapperClassName:tt}=o,rt=`ErrorMessage--msg ${$||""}`,at=typeof _e=="string"?jsxRuntimeExports.jsx("h3",{className:rt,children:_e}):jsxRuntimeExports.jsx("h3",{className:rt,children:_e.message});return et?jsxRuntimeExports.jsx("div",{className:`ErrorMessage ${tt||""}`,children:at}):at}Message.defaultProps={className:void 0,wrap:!1,wrapperClassName:void 0};function Details(o){const{className:$,error:_e,wrap:et,wrapperClassName:tt}=o;if(typeof _e=="string")return null;const{httpStatus:rt,httpStatusText:at,httpUrl:nt,httpQuery:it,httpBody:ot}=_e,st=ot&&ot.length>1024?`${ot.slice(0,1021).trim()}...`:ot,lt=jsxRuntimeExports.jsx("div",{className:`ErrorMessage--details ${$||""} u-simple-scrollbars`,children:jsxRuntimeExports.jsx("table",{className:"ErrorMessage--detailsTable",children:jsxRuntimeExports.jsxs("tbody",{children:[rt?jsxRuntimeExports.jsx(ErrorAttr,{name:"Status",value:rt}):null,at?jsxRuntimeExports.jsx(ErrorAttr,{name:"Status text",value:at}):null,nt?jsxRuntimeExports.jsx(ErrorAttr,{name:"URL",value:nt}):null,it?jsxRuntimeExports.jsx(ErrorAttr,{name:"Query",value:it}):null,st?jsxRuntimeExports.jsx(ErrorAttr,{name:"Response body",value:st}):null]})})});return et?jsxRuntimeExports.jsx("div",{className:`ErrorMessage ${tt||""}`,children:lt}):lt}Details.defaultProps={className:void 0,wrap:!1,wrapperClassName:void 0};const DigmaErrorMessage=o=>jsxRuntimeExports.jsxs("div",{className:"CustomErrorMessage",children:[o.icon,jsxRuntimeExports.jsxs("div",{className:"CustomErrorMessage--text",children:[jsxRuntimeExports.jsx("span",{className:"CustomErrorMessage--title",children:o.title}),jsxRuntimeExports.jsx("span",{className:"CustomErrorMessage--description",children:o.content})]}),jsxRuntimeExports.jsxs("a",{href:SLACK_CHANNEL_URL,target:"_blank",rel:"noopener noreferrer",className:"CustomErrorMessage--slackLink",children:[jsxRuntimeExports.jsx(SlackLogoIcon,{}),"Join our slack channel for support"]})]});function ErrorMessage({className:o,detailClassName:$,error:_e,messageClassName:et}){if(!_e)return null;if(typeof _e=="string")return jsxRuntimeExports.jsx(Message,{className:et,error:_e,wrapperClassName:o,wrap:!0});if(_e.message.includes("trace not found"))return jsxRuntimeExports.jsx(DigmaErrorMessage,{icon:jsxRuntimeExports.jsx(CrossedCrosshairCircleIcon,{size:72,color:"#56b5bc"}),title:"We Cannot Find the Trace You're Looking For...",content:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["Our bad, the trace might be old or we may have simply missed it somehow.",jsxRuntimeExports.jsx("br",{}),"No need to worry! Please run some more actions and check again",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("br",{}),"If you're using your your own Jaeger instance, please check that Digma knows to send traces to it as well.",jsxRuntimeExports.jsx("br",{}),'Check the "Jaeger Query URL" parameter in the Digma plugin settings and make sure it matches your Jaeger address']})});if(_e.message.includes("Failed to fetch")||_e.httpStatus===502){const tt=window.isUserDefinedJaegerQueryURL===!0;return jsxRuntimeExports.jsx(DigmaErrorMessage,{icon:jsxRuntimeExports.jsx(BrokenLinkCircleIcon,{size:72,color:"#56b5bc"}),title:"Jaeger Not Available",content:tt?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["The Jaeger link",isString$6(window.apiBaseUrl)&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[" ",jsxRuntimeExports.jsx("a",{className:"CustomErrorMessage--link",href:window.apiBaseUrl,target:"_blank",rel:"noopener noreferrer",children:window.apiBaseUrl})]})," ","is not available.",jsxRuntimeExports.jsx("br",{}),"Please makes sure the link you specified in the",jsxRuntimeExports.jsx("br",{}),"Digma plugin settings is correct."]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["Something is wrong and we are unable to communicate",jsxRuntimeExports.jsx("br",{}),"with the Digma Jaeger instance.",jsxRuntimeExports.jsx("br",{}),"Please make sure Digma is fully up and running",jsxRuntimeExports.jsx("br",{}),"and try updating to the latest version."]})})}return jsxRuntimeExports.jsxs("div",{className:`ErrorMessage ${o||""}`,children:[jsxRuntimeExports.jsx(Message,{error:_e,className:et}),jsxRuntimeExports.jsx(Details,{error:_e,className:$})]})}ErrorMessage.defaultProps={className:void 0,detailClassName:void 0,messageClassName:void 0};const origin$1=window.location.origin;function getPathPrefix(o,$){const _e=o==null?"":o.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),et=$==null?"":$,tt=new RegExp(`^${_e}|/$`,"ig");return et.replace(tt,"")}const pathPrefix=getPathPrefix(origin$1,sitePrefix);function prefixUrl(o){const $=o==null?"":String(o);return`${pathPrefix}${$}`}function NotFound({error:o}){return jsxRuntimeExports.jsxs("section",{className:"ub-m3",children:[jsxRuntimeExports.jsx("h1",{children:"Error"}),o&&jsxRuntimeExports.jsx(ErrorMessage,{error:o}),jsxRuntimeExports.jsx(Link$1,{to:prefixUrl("/"),children:"Back home"})]})}const index$U="",index$T="";var classnamesExports$1={},classnames$1={get exports(){return classnamesExports$1},set exports(o){classnamesExports$1=o}};/*! + */var b=typeof Symbol=="function"&&Symbol.for,c$1=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e$1=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k$2=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p$1=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"):60120,r$1=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x$2=b?Symbol.for("react.responder"):60118,y$2=b?Symbol.for("react.scope"):60119;function z(o){if(typeof o=="object"&&o!==null){var $=o.$$typeof;switch($){case c$1:switch(o=o.type,o){case l:case m:case e$1:case g:case f:case p$1:return o;default:switch(o=o&&o.$$typeof,o){case k$2:case n:case t:case r$1:case h:return o;default:return $}}case d:return $}}}function A$2(o){return z(o)===m}reactIs_production_min.AsyncMode=l;reactIs_production_min.ConcurrentMode=m;reactIs_production_min.ContextConsumer=k$2;reactIs_production_min.ContextProvider=h;reactIs_production_min.Element=c$1;reactIs_production_min.ForwardRef=n;reactIs_production_min.Fragment=e$1;reactIs_production_min.Lazy=t;reactIs_production_min.Memo=r$1;reactIs_production_min.Portal=d;reactIs_production_min.Profiler=g;reactIs_production_min.StrictMode=f;reactIs_production_min.Suspense=p$1;reactIs_production_min.isAsyncMode=function(o){return A$2(o)||z(o)===l};reactIs_production_min.isConcurrentMode=A$2;reactIs_production_min.isContextConsumer=function(o){return z(o)===k$2};reactIs_production_min.isContextProvider=function(o){return z(o)===h};reactIs_production_min.isElement=function(o){return typeof o=="object"&&o!==null&&o.$$typeof===c$1};reactIs_production_min.isForwardRef=function(o){return z(o)===n};reactIs_production_min.isFragment=function(o){return z(o)===e$1};reactIs_production_min.isLazy=function(o){return z(o)===t};reactIs_production_min.isMemo=function(o){return z(o)===r$1};reactIs_production_min.isPortal=function(o){return z(o)===d};reactIs_production_min.isProfiler=function(o){return z(o)===g};reactIs_production_min.isStrictMode=function(o){return z(o)===f};reactIs_production_min.isSuspense=function(o){return z(o)===p$1};reactIs_production_min.isValidElementType=function(o){return typeof o=="string"||typeof o=="function"||o===e$1||o===m||o===g||o===f||o===p$1||o===q||typeof o=="object"&&o!==null&&(o.$$typeof===t||o.$$typeof===r$1||o.$$typeof===h||o.$$typeof===k$2||o.$$typeof===n||o.$$typeof===w||o.$$typeof===x$2||o.$$typeof===y$2||o.$$typeof===v)};reactIs_production_min.typeOf=z;(function(o){o.exports=reactIs_production_min})(reactIs$3);var reactIs$2=reactIsExports,REACT_STATICS$2={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS$2={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS$2={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS$2={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS$2={};TYPE_STATICS$2[reactIs$2.ForwardRef]=FORWARD_REF_STATICS$2;TYPE_STATICS$2[reactIs$2.Memo]=MEMO_STATICS$2;function getStatics$2(o){return reactIs$2.isMemo(o)?MEMO_STATICS$2:TYPE_STATICS$2[o.$$typeof]||REACT_STATICS$2}var defineProperty$9=Object.defineProperty,getOwnPropertyNames$2=Object.getOwnPropertyNames,getOwnPropertySymbols$3=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$4=Object.getOwnPropertyDescriptor,getPrototypeOf$5=Object.getPrototypeOf,objectPrototype$2=Object.prototype;function hoistNonReactStatics$2(o,$,_e){if(typeof $!="string"){if(objectPrototype$2){var et=getPrototypeOf$5($);et&&et!==objectPrototype$2&&hoistNonReactStatics$2(o,et,_e)}var tt=getOwnPropertyNames$2($);getOwnPropertySymbols$3&&(tt=tt.concat(getOwnPropertySymbols$3($)));for(var rt=getStatics$2(o),at=getStatics$2($),nt=0;nt, ')+('or explicitly pass "'+ft+'" as a prop to "'+_t+'".')),Lt.initSelector(),Lt.initSubscription(),Lt}var Ot=Rt.prototype;return Ot.getChildContext=function(){var Bt,Lt=this.propsMode?null:this.subscription;return Bt={},Bt[mt]=Lt||this.context[mt],Bt},Ot.componentDidMount=function(){ct&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},Ot.componentWillReceiveProps=function(Bt){this.selector.run(Bt)},Ot.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},Ot.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=noop$h,this.store=null,this.selector.run=noop$h,this.selector.shouldComponentUpdate=!1},Ot.getWrappedInstance=function(){return browser(vt,"To access the wrapped instance, you need to specify "+("{ withRef: true } in the options argument of the "+it+"() call.")),this.wrappedInstance},Ot.setWrappedInstance=function(Bt){this.wrappedInstance=Bt},Ot.initSelector=function(){var Bt=o(this.store.dispatch,Et);this.selector=makeSelectorStateful(Bt,this.store),this.selector.run(this.props)},Ot.initSubscription=function(){if(ct){var Bt=(this.propsMode?this.props:this.context)[mt];this.subscription=new Subscription(this.store,Bt,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},Ot.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(dummyState)):this.notifyNestedSubs()},Ot.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},Ot.isSubscribed=function(){return!!this.subscription&&this.subscription.isSubscribed()},Ot.addExtraProps=function(Bt){if(!vt&&!st&&!(this.propsMode&&this.subscription))return Bt;var Lt=_extends$2i({},Bt);return vt&&(Lt.ref=this.setWrappedInstance),st&&(Lt[st]=this.renderCount++),this.propsMode&&this.subscription&&(Lt[mt]=this.subscription),Lt},Ot.render=function(){var Bt=this.selector;if(Bt.shouldComponentUpdate=!1,Bt.error)throw Bt.error;return reactExports.createElement(gt,this.addExtraProps(Bt.props))},Rt}(reactExports.Component);return It.WrappedComponent=gt,It.displayName=_t,It.childContextTypes=xt,It.contextTypes=dt,It.propTypes=dt,hoistNonReactStatics_cjs$2(It,gt)}}var hasOwn$1=Object.prototype.hasOwnProperty;function is$1(o,$){return o===$?o!==0||$!==0||1/o===1/$:o!==o&&$!==$}function shallowEqual$1(o,$){if(is$1(o,$))return!0;if(typeof o!="object"||o===null||typeof $!="object"||$===null)return!1;var _e=Object.keys(o),et=Object.keys($);if(_e.length!==et.length)return!1;for(var tt=0;tt<_e.length;tt++)if(!hasOwn$1.call($,_e[tt])||!is$1(o[_e[tt]],$[_e[tt]]))return!1;return!0}var freeGlobal$2=typeof global=="object"&&global&&global.Object===Object&&global;const freeGlobal$3=freeGlobal$2;var freeSelf$1=typeof self=="object"&&self&&self.Object===Object&&self,root$f=freeGlobal$3||freeSelf$1||Function("return this")();const root$g=root$f;var Symbol$8=root$g.Symbol;const Symbol$9=Symbol$8;var objectProto$k=Object.prototype,hasOwnProperty$j=objectProto$k.hasOwnProperty,nativeObjectToString$3=objectProto$k.toString,symToStringTag$3=Symbol$9?Symbol$9.toStringTag:void 0;function getRawTag$2(o){var $=hasOwnProperty$j.call(o,symToStringTag$3),_e=o[symToStringTag$3];try{o[symToStringTag$3]=void 0;var et=!0}catch(rt){}var tt=nativeObjectToString$3.call(o);return et&&($?o[symToStringTag$3]=_e:delete o[symToStringTag$3]),tt}var objectProto$j=Object.prototype,nativeObjectToString$2=objectProto$j.toString;function objectToString$2(o){return nativeObjectToString$2.call(o)}var nullTag$1="[object Null]",undefinedTag$1="[object Undefined]",symToStringTag$2=Symbol$9?Symbol$9.toStringTag:void 0;function baseGetTag$8(o){return o==null?o===void 0?undefinedTag$1:nullTag$1:symToStringTag$2&&symToStringTag$2 in Object(o)?getRawTag$2(o):objectToString$2(o)}function overArg$3(o,$){return function(_e){return o($(_e))}}var getPrototype$3=overArg$3(Object.getPrototypeOf,Object);const getPrototype$4=getPrototype$3;function isObjectLike$9(o){return o!=null&&typeof o=="object"}var objectTag$4="[object Object]",funcProto$3=Function.prototype,objectProto$i=Object.prototype,funcToString$3=funcProto$3.toString,hasOwnProperty$i=objectProto$i.hasOwnProperty,objectCtorString$1=funcToString$3.call(Object);function isPlainObject$5(o){if(!isObjectLike$9(o)||baseGetTag$8(o)!=objectTag$4)return!1;var $=getPrototype$4(o);if($===null)return!0;var _e=hasOwnProperty$i.call($,"constructor")&&$.constructor;return typeof _e=="function"&&_e instanceof _e&&funcToString$3.call(_e)==objectCtorString$1}function symbolObservablePonyfill(o){var $,_e=o.Symbol;return typeof _e=="function"?_e.observable?$=_e.observable:($=_e("observable"),_e.observable=$):$="@@observable",$}var root$e;typeof self<"u"?root$e=self:typeof window<"u"?root$e=window:typeof global<"u"?root$e=global:typeof module<"u"?root$e=module:root$e=Function("return this")();var result=symbolObservablePonyfill(root$e),ActionTypes={INIT:"@@redux/INIT"};function createStore$2(o,$,_e){var et;if(typeof $=="function"&&typeof _e>"u"&&(_e=$,$=void 0),typeof _e<"u"){if(typeof _e!="function")throw new Error("Expected the enhancer to be a function.");return _e(createStore$2)(o,$)}if(typeof o!="function")throw new Error("Expected the reducer to be a function.");var tt=o,rt=$,at=[],nt=at,it=!1;function ot(){nt===at&&(nt=at.slice())}function st(){return rt}function lt(At){if(typeof At!="function")throw new Error("Expected listener to be a function.");var vt=!0;return ot(),nt.push(At),function(){if(vt){vt=!1,ot();var mt=nt.indexOf(At);nt.splice(mt,1)}}}function ct(At){if(!isPlainObject$5(At))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(typeof At.type>"u")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(it)throw new Error("Reducers may not dispatch actions.");try{it=!0,rt=tt(rt,At)}finally{it=!1}for(var vt=at=nt,ht=0;ht"u")throw new Error('Reducer "'+$+`" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);var tt="@@redux/PROBE_UNKNOWN_ACTION_"+Math.random().toString(36).substring(7).split("").join(".");if(typeof _e(void 0,{type:tt})>"u")throw new Error('Reducer "'+$+'" returned undefined when probed with a random type. '+("Don't try to handle "+ActionTypes.INIT+' or other actions in "redux/*" ')+"namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.")})}function combineReducers(o){for(var $=Object.keys(o),_e={},et=0;et<$.length;et++){var tt=$[et];typeof o[tt]=="function"&&(_e[tt]=o[tt])}var rt=Object.keys(_e),at=void 0;try{assertReducerShape(_e)}catch(nt){at=nt}return function(){var it=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ot=arguments[1];if(at)throw at;for(var st=!1,lt={},ct=0;ct"u"){var ht=getUndefinedStateErrorMessage(ut,ot);throw new Error(ht)}lt[ut]=vt,st=st||vt!==At}return st?lt:it}}function bindActionCreator(o,$){return function(){return $(o.apply(void 0,arguments))}}function bindActionCreators(o,$){if(typeof o=="function")return bindActionCreator(o,$);if(typeof o!="object"||o===null)throw new Error("bindActionCreators expected an object or a function, instead received "+(o===null?"null":typeof o)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');for(var _e=Object.keys(o),et={},tt=0;tt<_e.length;tt++){var rt=_e[tt],at=o[rt];typeof at=="function"&&(et[rt]=bindActionCreator(at,$))}return et}function compose$1(){for(var o=arguments.length,$=Array(o),_e=0;_e=0;et--){var tt=$[et](o);if(tt)return tt}return function(rt,at){throw new Error("Invalid value of type "+typeof o+" for "+_e+" argument when connecting component "+at.wrappedComponentName+".")}}function strictEqual(o,$){return o===$}function createConnect(o){var $=o===void 0?{}:o,_e=$.connectHOC,et=_e===void 0?connectAdvanced:_e,tt=$.mapStateToPropsFactories,rt=tt===void 0?defaultMapStateToPropsFactories:tt,at=$.mapDispatchToPropsFactories,nt=at===void 0?defaultMapDispatchToPropsFactories:at,it=$.mergePropsFactories,ot=it===void 0?defaultMergePropsFactories:it,st=$.selectorFactory,lt=st===void 0?finalPropsSelectorFactory:st;return function(ut,ft,At,vt){vt===void 0&&(vt={});var ht=vt,mt=ht.pure,bt=mt===void 0?!0:mt,dt=ht.areStatesEqual,xt=dt===void 0?strictEqual:dt,Ct=ht.areOwnPropsEqual,gt=Ct===void 0?shallowEqual$1:Ct,wt=ht.areStatePropsEqual,_t=wt===void 0?shallowEqual$1:wt,Et=ht.areMergedPropsEqual,It=Et===void 0?shallowEqual$1:Et,Tt=_objectWithoutPropertiesLoose$7(ht,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),Rt=match$2(ut,rt,"mapStateToProps"),Ot=match$2(ft,nt,"mapDispatchToProps"),Mt=match$2(At,ot,"mergeProps");return et(lt,_extends$2i({methodName:"connect",getDisplayName:function(Lt){return"Connect("+Lt+")"},shouldHandleStateChanges:!!ut,initMapStateToProps:Rt,initMapDispatchToProps:Ot,initMergeProps:Mt,pure:bt,areStatesEqual:xt,areOwnPropsEqual:gt,areStatePropsEqual:_t,areMergedPropsEqual:It},Tt))}}const connect$3=createConnect();var _extends$2g=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:initialState$5,$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_e=$.type,et=$.payload;return _e===LOCATION_CHANGE?_extends$2g({},o,{location:et}):o}function _classCallCheck$24(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$22(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$22(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var ConnectedRouter=function(o){_inherits$22($,o);function $(){var _e,et,tt;_classCallCheck$24(this,$);for(var rt=arguments.length,at=Array(rt),nt=0;nt{const $=reactExports.useMemo(()=>o.color||DEFAULT_ICON_COLOR,[o.color]),_e=reactExports.useMemo(()=>o.size||DEFAULT_ICON_SIZE,[o.size]);return{color:$,size:_e}},CrossedCrosshairCircleIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 73 72",children:[jsxRuntimeExports.jsx("circle",{cx:"36.5",cy:"36",r:"36",fill:"#F5F5F5"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeWidth:"2",d:"m17 16 40 40"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"4",d:"M54.33 36c0 9.57-7.76 17.33-17.33 17.33M54.33 36c0-9.57-7.76-17.33-17.33-17.33M54.33 36h-9.2M37 53.33A17.33 17.33 0 0 1 19.67 36M37 53.33v-9.2M19.67 36c0-9.57 7.76-17.33 17.33-17.33M19.67 36h9.2M37 18.67v9.2"})]})},CrossedCrosshairCircleIcon=React$k.memo(CrossedCrosshairCircleIconComponent),SlackLogoIconComponent=o=>{const{size:$}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 12 12",children:[jsxRuntimeExports.jsxs("g",{clipPath:"url(#slack-clip-1)",children:[jsxRuntimeExports.jsx("path",{fill:"#E01E5A",d:"M2.5238 7.5619c0 .69525-.56189 1.25719-1.25714 1.25719-.69525 0-1.25714-.56194-1.25714-1.25719 0-.6952.5619-1.25709 1.25719-1.25709h1.25705v1.25714l.00004-.00005Zm.6286 0c0-.6952.56189-1.25709 1.25714-1.25709.69525 0 1.25714.56189 1.25714 1.25714v3.14285c0 .6952-.56189 1.2572-1.25719 1.2572-.69516 0-1.25709-.562-1.25709-1.2572V7.5619Z"}),jsxRuntimeExports.jsx("path",{fill:"#36C5F0",d:"M4.40953 2.51428c-.69525 0-1.25719-.56189-1.25719-1.25714C3.15234.56189 3.71433 0 4.40953 0s1.25714.5619 1.25714 1.25714v1.25719H4.40948l.00005-.00005Zm0 .63811c.69525 0 1.25714.56189 1.25714 1.25714 0 .69525-.56189 1.25714-1.25719 1.25714H1.25719C.56189 5.66667 0 5.10478 0 4.40948c0-.69515.5619-1.25709 1.25714-1.25709h3.15239Z"}),jsxRuntimeExports.jsx("path",{fill:"#2EB67D",d:"M9.44768 4.40953c0-.69525.56192-1.25719 1.25712-1.25719s1.2572.56194 1.2572 1.25719-.562 1.25714-1.2572 1.25714H9.44768V4.40953Zm-.62859 0c0 .69525-.56194 1.25714-1.25719 1.25714-.6952 0-1.25709-.56189-1.25709-1.25719V1.25719C6.30481.56189 6.8667 0 7.5619 0c.69521 0 1.25714.5619 1.25714 1.25714v3.15234l.00005.00005Z"}),jsxRuntimeExports.jsx("path",{fill:"#ECB22E",d:"M7.5619 9.44768c.69525 0 1.25719.56192 1.25719 1.25712S8.25715 11.962 7.5619 11.962c-.6952 0-1.25709-.562-1.25709-1.2572V9.44768H7.5619Zm0-.62859c-.6952 0-1.25709-.56194-1.25709-1.25719 0-.6952.56189-1.25709 1.25714-1.25709h3.15235c.6952 0 1.2572.56189 1.2572 1.25714 0 .6952-.562 1.25714-1.2572 1.25714H7.5619Z"})]}),jsxRuntimeExports.jsx("defs",{children:jsxRuntimeExports.jsx("clipPath",{id:"slack-clip-1",children:jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M0 0h12v12H0z"})})})]})},SlackLogoIcon=React$k.memo(SlackLogoIconComponent),BrokenLinkCircleIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{width:$,height:$,viewBox:"0 0 72 72",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntimeExports.jsx("circle",{cx:"36",cy:"36",r:"36",fill:"#F5F5F5"}),jsxRuntimeExports.jsx("path",{d:"M49.2217 23.2783C48.0049 22.0617 46.3553 21.3772 44.6346 21.375C42.9139 21.3727 41.2626 22.0527 40.0425 23.2661L37.6761 25.7462C37.3734 26.0291 36.9742 26.1857 36.5599 26.1841C36.1457 26.1824 35.7477 26.0226 35.4473 25.7372C35.147 25.4519 34.9669 25.0627 34.944 24.6491C34.921 24.2354 35.0569 23.8286 35.3239 23.5119L37.7045 21.0155C37.7128 21.0062 37.7216 20.9973 37.7309 20.9891C39.5644 19.1852 42.0365 18.1789 44.6086 18.1894C47.1806 18.1998 49.6444 19.2262 51.4631 21.045C53.2819 22.8637 54.3083 25.3275 54.3188 27.8996C54.3292 30.4717 53.3229 32.9437 51.5191 34.7772C51.5108 34.7865 51.502 34.7953 51.4927 34.8036L48.9963 37.1842C48.6795 37.4512 48.2727 37.5871 47.8591 37.5641C47.4454 37.5412 47.0562 37.3612 46.7709 37.0608C46.4856 36.7604 46.3257 36.3625 46.3241 35.9482C46.3224 35.5339 46.479 35.1347 46.7619 34.832L49.242 32.4656C50.4568 31.2442 51.137 29.5904 51.1332 27.8677C51.1294 26.1451 50.4419 24.4944 49.2217 23.2783ZM35.3239 46.2537L32.9575 48.7339C31.7326 49.9235 30.0889 50.5833 28.3815 50.5709C26.6741 50.5584 25.0401 49.8746 23.8328 48.6672C22.6254 47.4599 21.9416 45.8259 21.9291 44.1185C21.9167 42.4111 22.5765 40.7674 23.7661 39.5425L26.2462 37.1761C26.5291 36.8734 26.6857 36.4742 26.6841 36.0599C26.6824 35.6457 26.5226 35.2477 26.2372 34.9473C25.9519 34.647 25.5627 34.4669 25.1491 34.444C24.7354 34.421 24.3286 34.5569 24.0119 34.8239L21.5073 37.2045C21.498 37.2128 21.4892 37.2216 21.4809 37.2309C19.6771 39.0644 18.6708 41.5365 18.6812 44.1086C18.6917 46.6806 19.7181 49.1444 21.5369 50.9631C23.3556 52.7819 25.8194 53.8083 28.3914 53.8188C30.9635 53.8292 33.4356 52.8229 35.2691 51.0191C35.2784 51.0108 35.2872 51.002 35.2955 50.9927L37.6761 48.4963C37.8379 48.345 37.9671 48.1622 38.0558 47.9592C38.1444 47.7562 38.1906 47.5372 38.1915 47.3156C38.1924 47.0941 38.148 46.8747 38.061 46.671C37.974 46.4673 37.8463 46.2835 37.6857 46.1309C37.525 45.9783 37.3349 45.8602 37.127 45.7838C36.9191 45.7074 36.6977 45.6743 36.4765 45.6866C36.2553 45.6988 36.039 45.7562 35.8408 45.8551C35.6426 45.9541 35.4667 46.0925 35.3239 46.2619V46.2537ZM52.75 40.875H47.875C47.444 40.875 47.0307 41.0462 46.726 41.351C46.4212 41.6557 46.25 42.069 46.25 42.5C46.25 42.931 46.4212 43.3443 46.726 43.649C47.0307 43.9538 47.444 44.125 47.875 44.125H52.75C53.181 44.125 53.5943 43.9538 53.899 43.649C54.2038 43.3443 54.375 42.931 54.375 42.5C54.375 42.069 54.2038 41.6557 53.899 41.351C53.5943 41.0462 53.181 40.875 52.75 40.875ZM20.25 31.125H25.125C25.556 31.125 25.9693 30.9538 26.274 30.649C26.5788 30.3443 26.75 29.931 26.75 29.5C26.75 29.069 26.5788 28.6557 26.274 28.351C25.9693 28.0462 25.556 27.875 25.125 27.875H20.25C19.819 27.875 19.4057 28.0462 19.101 28.351C18.7962 28.6557 18.625 29.069 18.625 29.5C18.625 29.931 18.7962 30.3443 19.101 30.649C19.4057 30.9538 19.819 31.125 20.25 31.125ZM43 45.75C42.569 45.75 42.1557 45.9212 41.851 46.226C41.5462 46.5307 41.375 46.944 41.375 47.375V52.25C41.375 52.681 41.5462 53.0943 41.851 53.399C42.1557 53.7038 42.569 53.875 43 53.875C43.431 53.875 43.8443 53.7038 44.149 53.399C44.4538 53.0943 44.625 52.681 44.625 52.25V47.375C44.625 46.944 44.4538 46.5307 44.149 46.226C43.8443 45.9212 43.431 45.75 43 45.75ZM30 26.25C30.431 26.25 30.8443 26.0788 31.149 25.774C31.4538 25.4693 31.625 25.056 31.625 24.625V19.75C31.625 19.319 31.4538 18.9057 31.149 18.601C30.8443 18.2962 30.431 18.125 30 18.125C29.569 18.125 29.1557 18.2962 28.851 18.601C28.5462 18.9057 28.375 19.319 28.375 19.75V24.625C28.375 25.056 28.5462 25.4693 28.851 25.774C29.1557 26.0788 29.569 26.25 30 26.25Z",fill:_e})]})},BrokenLinkCircleIcon=React$k.memo(BrokenLinkCircleIconComponent),isString$6=o=>typeof o=="string",SLACK_CHANNEL_URL="https://join.slack.com/t/continuous-feedback/shared_invite/zt-2gsif7wdy-6Jf17HIJESc2tknT5gybtw";function ErrorAttr({name:o,value:$}){return jsxRuntimeExports.jsxs("tr",{className:"ErrorMessage--detailItem",children:[jsxRuntimeExports.jsx("td",{className:"ErrorMessage--attr",children:o}),jsxRuntimeExports.jsx("td",{className:"ErrorMessage--value",children:$})]})}function Message(o){const{className:$,error:_e,wrap:et,wrapperClassName:tt}=o,rt=`ErrorMessage--msg ${$||""}`,at=typeof _e=="string"?jsxRuntimeExports.jsx("h3",{className:rt,children:_e}):jsxRuntimeExports.jsx("h3",{className:rt,children:_e.message});return et?jsxRuntimeExports.jsx("div",{className:`ErrorMessage ${tt||""}`,children:at}):at}Message.defaultProps={className:void 0,wrap:!1,wrapperClassName:void 0};function Details(o){const{className:$,error:_e,wrap:et,wrapperClassName:tt}=o;if(typeof _e=="string")return null;const{httpStatus:rt,httpStatusText:at,httpUrl:nt,httpQuery:it,httpBody:ot}=_e,st=ot&&ot.length>1024?`${ot.slice(0,1021).trim()}...`:ot,lt=jsxRuntimeExports.jsx("div",{className:`ErrorMessage--details ${$||""} u-simple-scrollbars`,children:jsxRuntimeExports.jsx("table",{className:"ErrorMessage--detailsTable",children:jsxRuntimeExports.jsxs("tbody",{children:[rt?jsxRuntimeExports.jsx(ErrorAttr,{name:"Status",value:rt}):null,at?jsxRuntimeExports.jsx(ErrorAttr,{name:"Status text",value:at}):null,nt?jsxRuntimeExports.jsx(ErrorAttr,{name:"URL",value:nt}):null,it?jsxRuntimeExports.jsx(ErrorAttr,{name:"Query",value:it}):null,st?jsxRuntimeExports.jsx(ErrorAttr,{name:"Response body",value:st}):null]})})});return et?jsxRuntimeExports.jsx("div",{className:`ErrorMessage ${tt||""}`,children:lt}):lt}Details.defaultProps={className:void 0,wrap:!1,wrapperClassName:void 0};const DigmaErrorMessage=o=>jsxRuntimeExports.jsxs("div",{className:"CustomErrorMessage",children:[o.icon,jsxRuntimeExports.jsxs("div",{className:"CustomErrorMessage--text",children:[jsxRuntimeExports.jsx("span",{className:"CustomErrorMessage--title",children:o.title}),jsxRuntimeExports.jsx("span",{className:"CustomErrorMessage--description",children:o.content})]}),jsxRuntimeExports.jsxs("a",{href:SLACK_CHANNEL_URL,target:"_blank",rel:"noopener noreferrer",className:"CustomErrorMessage--slackLink",children:[jsxRuntimeExports.jsx(SlackLogoIcon,{}),"Join our slack channel for support"]})]});function ErrorMessage({className:o,detailClassName:$,error:_e,messageClassName:et}){var tt;if(!_e)return null;if(typeof _e=="string")return jsxRuntimeExports.jsx(Message,{className:et,error:_e,wrapperClassName:o,wrap:!0});if(_e.message.includes("trace not found"))return jsxRuntimeExports.jsx(DigmaErrorMessage,{icon:jsxRuntimeExports.jsx(CrossedCrosshairCircleIcon,{size:72,color:"#56b5bc"}),title:"We Cannot Find the Trace You're Looking For...",content:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["Our bad, the trace might be old or we may have simply missed it somehow.",jsxRuntimeExports.jsx("br",{}),"No need to worry! Please run some more actions and check again",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("br",{}),"If you're using your your own Jaeger instance, please check that Digma knows to send traces to it as well.",jsxRuntimeExports.jsx("br",{}),'Check the "Jaeger Query URL" parameter in the Digma plugin settings and make sure it matches your Jaeger address']})});if(_e.message.includes("Failed to fetch")||_e.httpStatus===502){const rt=(tt=window.baseUrl)!=null?tt:window.apiBaseUrl,at=window.isUserDefinedJaegerQueryURL===!0;return jsxRuntimeExports.jsx(DigmaErrorMessage,{icon:jsxRuntimeExports.jsx(BrokenLinkCircleIcon,{size:72,color:"#56b5bc"}),title:"Jaeger Not Available",content:at?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["The Jaeger link",isString$6(rt)&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[" ",jsxRuntimeExports.jsx("a",{className:"CustomErrorMessage--link",href:rt,target:"_blank",rel:"noopener noreferrer",children:rt})]})," ","is not available.",jsxRuntimeExports.jsx("br",{}),"Please makes sure the link you specified in the",jsxRuntimeExports.jsx("br",{}),"Digma plugin settings is correct."]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["Something is wrong and we are unable to communicate",jsxRuntimeExports.jsx("br",{}),"with the Digma Jaeger instance.",jsxRuntimeExports.jsx("br",{}),"Please make sure Digma is fully up and running",jsxRuntimeExports.jsx("br",{}),"and try updating to the latest version."]})})}return jsxRuntimeExports.jsxs("div",{className:`ErrorMessage ${o||""}`,children:[jsxRuntimeExports.jsx(Message,{error:_e,className:et}),jsxRuntimeExports.jsx(Details,{error:_e,className:$})]})}ErrorMessage.defaultProps={className:void 0,detailClassName:void 0,messageClassName:void 0};const origin$1=window.location.origin;function getPathPrefix(o,$){const _e=o==null?"":o.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),et=$==null?"":$,tt=new RegExp(`^${_e}|/$`,"ig");return et.replace(tt,"")}const pathPrefix=getPathPrefix(origin$1,sitePrefix);function prefixUrl(o){const $=o==null?"":String(o);return`${pathPrefix}${$}`}function NotFound({error:o}){return jsxRuntimeExports.jsxs("section",{className:"ub-m3",children:[jsxRuntimeExports.jsx("h1",{children:"Error"}),o&&jsxRuntimeExports.jsx(ErrorMessage,{error:o}),jsxRuntimeExports.jsx(Link$1,{to:prefixUrl("/"),children:"Back home"})]})}const index$U="",index$T="";var classnamesExports$1={},classnames$1={get exports(){return classnamesExports$1},set exports(o){classnamesExports$1=o}};/*! Copyright (c) 2017 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(o){(function(){var $={}.hasOwnProperty;function _e(){for(var et=[],tt=0;tt0?floor:ceil)(o)},toInteger$5=_toInteger,min$3=Math.min,_toLength=function(o){return o>0?min$3(toInteger$5(o),9007199254740991):0},toInteger$4=_toInteger,max$4=Math.max,min$2=Math.min,_toAbsoluteIndex=function(o,$){return o=toInteger$4(o),o<0?max$4(o+$,0):min$2(o,$)},toIObject$6=_toIobject,toLength$2=_toLength,toAbsoluteIndex=_toAbsoluteIndex,_arrayIncludes$1=function(o){return function($,_e,et){var tt=toIObject$6($),rt=toLength$2(tt.length),at=toAbsoluteIndex(et,rt),nt;if(o&&_e!=_e){for(;rt>at;)if(nt=tt[at++],nt!=nt)return!0}else for(;rt>at;at++)if((o||at in tt)&&tt[at]===_e)return o||at||0;return!o&&-1}},_sharedExports={},_shared={get exports(){return _sharedExports},set exports(o){_sharedExports=o}},_library=!0,core$5=_coreExports,global$9=_globalExports,SHARED="__core-js_shared__",store$1=global$9[SHARED]||(global$9[SHARED]={});(_shared.exports=function(o,$){return store$1[o]||(store$1[o]=$!==void 0?$:{})})("versions",[]).push({version:core$5.version,mode:"pure",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"});var id$4=0,px=Math.random(),_uid=function(o){return"Symbol(".concat(o===void 0?"":o,")_",(++id$4+px).toString(36))},_sharedKey,hasRequired_sharedKey;function require_sharedKey(){if(hasRequired_sharedKey)return _sharedKey;hasRequired_sharedKey=1;var o=_sharedExports("keys"),$=_uid;return _sharedKey=function(_e){return o[_e]||(o[_e]=$(_e))},_sharedKey}var has$7=_has$1,toIObject$5=_toIobject,arrayIndexOf=_arrayIncludes$1(!1),IE_PROTO$1=require_sharedKey()("IE_PROTO"),_objectKeysInternal=function(o,$){var _e=toIObject$5(o),et=0,tt=[],rt;for(rt in _e)rt!=IE_PROTO$1&&has$7(_e,rt)&&tt.push(rt);for(;$.length>et;)has$7(_e,rt=$[et++])&&(~arrayIndexOf(tt,rt)||tt.push(rt));return tt},_enumBugKeys="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),$keys$3=_objectKeysInternal,enumBugKeys=_enumBugKeys,_objectKeys=Object.keys||function($){return $keys$3($,enumBugKeys)},_objectGops={},hasRequired_objectGops;function require_objectGops(){return hasRequired_objectGops||(hasRequired_objectGops=1,_objectGops.f=Object.getOwnPropertySymbols),_objectGops}var _objectPie={},hasRequired_objectPie;function require_objectPie(){return hasRequired_objectPie||(hasRequired_objectPie=1,_objectPie.f={}.propertyIsEnumerable),_objectPie}var _toObject,hasRequired_toObject;function require_toObject(){if(hasRequired_toObject)return _toObject;hasRequired_toObject=1;var o=_defined;return _toObject=function($){return Object(o($))},_toObject}var _objectAssign,hasRequired_objectAssign;function require_objectAssign(){if(hasRequired_objectAssign)return _objectAssign;hasRequired_objectAssign=1;var o=_objectKeys,$=require_objectGops(),_e=require_objectPie(),et=require_toObject(),tt=require_iobject(),rt=Object.assign;return _objectAssign=!rt||_fails(function(){var at={},nt={},it=Symbol(),ot="abcdefghijklmnopqrst";return at[it]=7,ot.split("").forEach(function(st){nt[st]=st}),rt({},at)[it]!=7||Object.keys(rt({},nt)).join("")!=ot})?function(nt,it){for(var ot=et(nt),st=arguments.length,lt=1,ct=$.f,ut=_e.f;st>lt;)for(var ft=tt(arguments[lt++]),At=ct?o(ft).concat(ct(ft)):o(ft),vt=At.length,ht=0,bt;vt>ht;)ut.call(ft,bt=At[ht++])&&(ot[bt]=ft[bt]);return ot}:rt,_objectAssign}var $export$a=_export;$export$a($export$a.S+$export$a.F,"Object",{assign:require_objectAssign()});var assign$4=_coreExports.Object.assign;(function(o){o.exports={default:assign$4,__esModule:!0}})(assign$5);_extends$2a.__esModule=!0;var _assign$2=assignExports,_assign2$1=_interopRequireDefault$o(_assign$2);function _interopRequireDefault$o(o){return o&&o.__esModule?o:{default:o}}var _default$bE=_extends$2a.default=_assign2$1.default||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e},classCallCheck$2={};classCallCheck$2.__esModule=!0;var _default$c=classCallCheck$2.default=function(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")},createClass$2={};createClass$2.__esModule=!0;var _defineProperty$1f=definePropertyExports,_defineProperty2=_interopRequireDefault$m(_defineProperty$1f);function _interopRequireDefault$m(o){return o&&o.__esModule?o:{default:o}}var _default$b=createClass$2.default=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),(0,_defineProperty2.default)($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),possibleConstructorReturn$2={},_typeof$1k={},iteratorExports={},iterator$1={get exports(){return iteratorExports},set exports(o){iteratorExports=o}},toInteger$3=_toInteger,defined=_defined,_stringAt=function(o){return function($,_e){var et=String(defined($)),tt=toInteger$3(_e),rt=et.length,at,nt;return tt<0||tt>=rt?o?"":void 0:(at=et.charCodeAt(tt),at<55296||at>56319||tt+1===rt||(nt=et.charCodeAt(tt+1))<56320||nt>57343?o?et.charAt(tt):at:o?et.slice(tt,tt+2):(at-55296<<10)+(nt-56320)+65536)}},_redefineExports={},_redefine={get exports(){return _redefineExports},set exports(o){_redefineExports=o}};(function(o){o.exports=_hide})(_redefine);var _iterators={},_objectDps,hasRequired_objectDps;function require_objectDps(){if(hasRequired_objectDps)return _objectDps;hasRequired_objectDps=1;var o=require_objectDp(),$=_anObject,_e=_objectKeys;return _objectDps=require_descriptors()?Object.defineProperties:function(tt,rt){$(tt);for(var at=_e(rt),nt=at.length,it=0,ot;nt>it;)o.f(tt,ot=at[it++],rt[ot]);return tt},_objectDps}var _html,hasRequired_html;function require_html(){if(hasRequired_html)return _html;hasRequired_html=1;var o=_globalExports.document;return _html=o&&o.documentElement,_html}var _objectCreate,hasRequired_objectCreate;function require_objectCreate(){if(hasRequired_objectCreate)return _objectCreate;hasRequired_objectCreate=1;var o=_anObject,$=require_objectDps(),_e=_enumBugKeys,et=require_sharedKey()("IE_PROTO"),tt=function(){},rt="prototype",at=function(){var nt=require_domCreate()("iframe"),it=_e.length,ot="<",st=">",lt;for(nt.style.display="none",require_html().appendChild(nt),nt.src="javascript:",lt=nt.contentWindow.document,lt.open(),lt.write(ot+"script"+st+"document.F=Object"+ot+"/script"+st),lt.close(),at=lt.F;it--;)delete at[rt][_e[it]];return at()};return _objectCreate=Object.create||function(it,ot){var st;return it!==null?(tt[rt]=o(it),st=new tt,tt[rt]=null,st[et]=it):st=at(),ot===void 0?st:$(st,ot)},_objectCreate}var _wksExports={},_wks={get exports(){return _wksExports},set exports(o){_wksExports=o}},store=_sharedExports("wks"),uid$2=_uid,Symbol$7=_globalExports.Symbol,USE_SYMBOL=typeof Symbol$7=="function",$exports=_wks.exports=function(o){return store[o]||(store[o]=USE_SYMBOL&&Symbol$7[o]||(USE_SYMBOL?Symbol$7:uid$2)("Symbol."+o))};$exports.store=store;var def=require_objectDp().f,has$6=_has$1,TAG$1=_wksExports("toStringTag"),_setToStringTag=function(o,$,_e){o&&!has$6(o=_e?o:o.prototype,TAG$1)&&def(o,TAG$1,{configurable:!0,value:$})},create$9=require_objectCreate(),descriptor=_propertyDesc,setToStringTag$2=_setToStringTag,IteratorPrototype={};_hide(IteratorPrototype,_wksExports("iterator"),function(){return this});var _iterCreate=function(o,$,_e){o.prototype=create$9(IteratorPrototype,{next:descriptor(1,_e)}),setToStringTag$2(o,$+" Iterator")},has$5=_has$1,toObject$4=require_toObject(),IE_PROTO=require_sharedKey()("IE_PROTO"),ObjectProto$1=Object.prototype,_objectGpo=Object.getPrototypeOf||function(o){return o=toObject$4(o),has$5(o,IE_PROTO)?o[IE_PROTO]:typeof o.constructor=="function"&&o instanceof o.constructor?o.constructor.prototype:o instanceof Object?ObjectProto$1:null},$export$8=_export,redefine$1=_redefineExports,hide$1=_hide,Iterators$4=_iterators,$iterCreate=_iterCreate,setToStringTag$1=_setToStringTag,getPrototypeOf$4=_objectGpo,ITERATOR$2=_wksExports("iterator"),BUGGY=!([].keys&&"next"in[].keys()),FF_ITERATOR="@@iterator",KEYS="keys",VALUES="values",returnThis=function(){return this},_iterDefine=function(o,$,_e,et,tt,rt,at){$iterCreate(_e,$,et);var nt=function(pt){if(!BUGGY&&pt in lt)return lt[pt];switch(pt){case KEYS:return function(){return new _e(this,pt)};case VALUES:return function(){return new _e(this,pt)}}return function(){return new _e(this,pt)}},it=$+" Iterator",ot=tt==VALUES,st=!1,lt=o.prototype,ct=lt[ITERATOR$2]||lt[FF_ITERATOR]||tt&<[tt],ut=ct||nt(tt),ft=tt?ot?nt("entries"):ut:void 0,At=$=="Array"&<.entries||ct,vt,ht,bt;if(At&&(bt=getPrototypeOf$4(At.call(new o)),bt!==Object.prototype&&bt.next&&setToStringTag$1(bt,it,!0)),ot&&ct&&ct.name!==VALUES&&(st=!0,ut=function(){return ct.call(this)}),at&&(BUGGY||st||!lt[ITERATOR$2])&&hide$1(lt,ITERATOR$2,ut),Iterators$4[$]=ut,Iterators$4[it]=returnThis,tt)if(vt={values:ot?ut:nt(VALUES),keys:rt?ut:nt(KEYS),entries:ft},at)for(ht in vt)ht in lt||redefine$1(lt,ht,vt[ht]);else $export$8($export$8.P+$export$8.F*(BUGGY||st),$,vt);return vt},$at=_stringAt(!0);_iterDefine(String,"String",function(o){this._t=String(o),this._i=0},function(){var o=this._t,$=this._i,_e;return $>=o.length?{value:void 0,done:!0}:(_e=$at(o,$),this._i+=_e.length,{value:_e,done:!1})});var _iterStep=function(o,$){return{value:$,done:!!o}},step$3=_iterStep,Iterators$3=_iterators,toIObject$4=_toIobject;_iterDefine(Array,"Array",function(o,$){this._t=toIObject$4(o),this._i=0,this._k=$},function(){var o=this._t,$=this._k,_e=this._i++;return!o||_e>=o.length?(this._t=void 0,step$3(1)):$=="keys"?step$3(0,_e):$=="values"?step$3(0,o[_e]):step$3(0,[_e,o[_e]])},"values");Iterators$3.Arguments=Iterators$3.Array;var global$8=_globalExports,hide=_hide,Iterators$2=_iterators,TO_STRING_TAG=_wksExports("toStringTag"),DOMIterables="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(",");for(var i$3=0;i$3rt;)tt.call(o,at=et[rt++])&&$.push(at);return $},cof$1=_cof,_isArray=Array.isArray||function($){return cof$1($)=="Array"},_objectGopnExt={},_objectGopn={},$keys$2=_objectKeysInternal,hiddenKeys=_enumBugKeys.concat("length","prototype");_objectGopn.f=Object.getOwnPropertyNames||function($){return $keys$2($,hiddenKeys)};var toIObject$3=_toIobject,gOPN$1=_objectGopn.f,toString$7={}.toString,windowNames=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],getWindowNames=function(o){try{return gOPN$1(o)}catch($){return windowNames.slice()}};_objectGopnExt.f=function($){return windowNames&&toString$7.call($)=="[object Window]"?getWindowNames($):gOPN$1(toIObject$3($))};var _objectGopd={},pIE=require_objectPie(),createDesc$2=_propertyDesc,toIObject$2=_toIobject,toPrimitive$1=_toPrimitive,has$3=_has$1,IE8_DOM_DEFINE=require_ie8DomDefine(),gOPD$1=Object.getOwnPropertyDescriptor;_objectGopd.f=require_descriptors()?gOPD$1:function($,_e){if($=toIObject$2($),_e=toPrimitive$1(_e,!0),IE8_DOM_DEFINE)try{return gOPD$1($,_e)}catch(et){}if(has$3($,_e))return createDesc$2(!pIE.f.call($,_e),$[_e])};var global$7=_globalExports,has$2=_has$1,DESCRIPTORS=require_descriptors(),$export$7=_export,redefine=_redefineExports,META=_metaExports.KEY,$fails=_fails,shared=_sharedExports,setToStringTag=_setToStringTag,uid$1=_uid,wks=_wksExports,wksExt=_wksExt,wksDefine=_wksDefine,enumKeys=_enumKeys,isArray$j=_isArray,anObject$4=_anObject,isObject$l=_isObject,toIObject$1=_toIobject,toPrimitive=_toPrimitive,createDesc$1=_propertyDesc,_create$1=require_objectCreate(),gOPNExt=_objectGopnExt,$GOPD=_objectGopd,$DP=require_objectDp(),$keys$1=_objectKeys,gOPD=$GOPD.f,dP=$DP.f,gOPN=gOPNExt.f,$Symbol=global$7.Symbol,$JSON=global$7.JSON,_stringify=$JSON&&$JSON.stringify,PROTOTYPE="prototype",HIDDEN=wks("_hidden"),TO_PRIMITIVE=wks("toPrimitive"),isEnum={}.propertyIsEnumerable,SymbolRegistry=shared("symbol-registry"),AllSymbols=shared("symbols"),OPSymbols=shared("op-symbols"),ObjectProto=Object[PROTOTYPE],USE_NATIVE$1=typeof $Symbol=="function",QObject=global$7.QObject,setter=!QObject||!QObject[PROTOTYPE]||!QObject[PROTOTYPE].findChild,setSymbolDesc=DESCRIPTORS&&$fails(function(){return _create$1(dP({},"a",{get:function(){return dP(this,"a",{value:7}).a}})).a!=7})?function(o,$,_e){var et=gOPD(ObjectProto,$);et&&delete ObjectProto[$],dP(o,$,_e),et&&o!==ObjectProto&&dP(ObjectProto,$,et)}:dP,wrap=function(o){var $=AllSymbols[o]=_create$1($Symbol[PROTOTYPE]);return $._k=o,$},isSymbol$7=USE_NATIVE$1&&typeof $Symbol.iterator=="symbol"?function(o){return typeof o=="symbol"}:function(o){return o instanceof $Symbol},$defineProperty$1=function($,_e,et){return $===ObjectProto&&$defineProperty$1(OPSymbols,_e,et),anObject$4($),_e=toPrimitive(_e,!0),anObject$4(et),has$2(AllSymbols,_e)?(et.enumerable?(has$2($,HIDDEN)&&$[HIDDEN][_e]&&($[HIDDEN][_e]=!1),et=_create$1(et,{enumerable:createDesc$1(0,!1)})):(has$2($,HIDDEN)||dP($,HIDDEN,createDesc$1(1,{})),$[HIDDEN][_e]=!0),setSymbolDesc($,_e,et)):dP($,_e,et)},$defineProperties=function($,_e){anObject$4($);for(var et=enumKeys(_e=toIObject$1(_e)),tt=0,rt=et.length,at;rt>tt;)$defineProperty$1($,at=et[tt++],_e[at]);return $},$create=function($,_e){return _e===void 0?_create$1($):$defineProperties(_create$1($),_e)},$propertyIsEnumerable=function($){var _e=isEnum.call(this,$=toPrimitive($,!0));return this===ObjectProto&&has$2(AllSymbols,$)&&!has$2(OPSymbols,$)?!1:_e||!has$2(this,$)||!has$2(AllSymbols,$)||has$2(this,HIDDEN)&&this[HIDDEN][$]?_e:!0},$getOwnPropertyDescriptor$1=function($,_e){if($=toIObject$1($),_e=toPrimitive(_e,!0),!($===ObjectProto&&has$2(AllSymbols,_e)&&!has$2(OPSymbols,_e))){var et=gOPD($,_e);return et&&has$2(AllSymbols,_e)&&!(has$2($,HIDDEN)&&$[HIDDEN][_e])&&(et.enumerable=!0),et}},$getOwnPropertyNames=function($){for(var _e=gOPN(toIObject$1($)),et=[],tt=0,rt;_e.length>tt;)!has$2(AllSymbols,rt=_e[tt++])&&rt!=HIDDEN&&rt!=META&&et.push(rt);return et},$getOwnPropertySymbols=function($){for(var _e=$===ObjectProto,et=gOPN(_e?OPSymbols:toIObject$1($)),tt=[],rt=0,at;et.length>rt;)has$2(AllSymbols,at=et[rt++])&&(!_e||has$2(ObjectProto,at))&&tt.push(AllSymbols[at]);return tt};USE_NATIVE$1||($Symbol=function(){if(this instanceof $Symbol)throw TypeError("Symbol is not a constructor!");var $=uid$1(arguments.length>0?arguments[0]:void 0),_e=function(et){this===ObjectProto&&_e.call(OPSymbols,et),has$2(this,HIDDEN)&&has$2(this[HIDDEN],$)&&(this[HIDDEN][$]=!1),setSymbolDesc(this,$,createDesc$1(1,et))};return DESCRIPTORS&&setter&&setSymbolDesc(ObjectProto,$,{configurable:!0,set:_e}),wrap($)},redefine($Symbol[PROTOTYPE],"toString",function(){return this._k}),$GOPD.f=$getOwnPropertyDescriptor$1,$DP.f=$defineProperty$1,_objectGopn.f=gOPNExt.f=$getOwnPropertyNames,require_objectPie().f=$propertyIsEnumerable,require_objectGops().f=$getOwnPropertySymbols,DESCRIPTORS&&!_library&&redefine(ObjectProto,"propertyIsEnumerable",$propertyIsEnumerable,!0),wksExt.f=function(o){return wrap(wks(o))});$export$7($export$7.G+$export$7.W+$export$7.F*!USE_NATIVE$1,{Symbol:$Symbol});for(var es6Symbols="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),j=0;es6Symbols.length>j;)wks(es6Symbols[j++]);for(var wellKnownSymbols=$keys$1(wks.store),k$1=0;wellKnownSymbols.length>k$1;)wksDefine(wellKnownSymbols[k$1++]);$export$7($export$7.S+$export$7.F*!USE_NATIVE$1,"Symbol",{for:function(o){return has$2(SymbolRegistry,o+="")?SymbolRegistry[o]:SymbolRegistry[o]=$Symbol(o)},keyFor:function($){if(!isSymbol$7($))throw TypeError($+" is not a symbol!");for(var _e in SymbolRegistry)if(SymbolRegistry[_e]===$)return _e},useSetter:function(){setter=!0},useSimple:function(){setter=!1}});$export$7($export$7.S+$export$7.F*!USE_NATIVE$1,"Object",{create:$create,defineProperty:$defineProperty$1,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor$1,getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols});$JSON&&$export$7($export$7.S+$export$7.F*(!USE_NATIVE$1||$fails(function(){var o=$Symbol();return _stringify([o])!="[null]"||_stringify({a:o})!="{}"||_stringify(Object(o))!="{}"})),"JSON",{stringify:function($){for(var _e=[$],et=1,tt,rt;arguments.length>et;)_e.push(arguments[et++]);if(rt=tt=_e[1],!(!isObject$l(tt)&&$===void 0||isSymbol$7($)))return isArray$j(tt)||(tt=function(at,nt){if(typeof rt=="function"&&(nt=rt.call(this,at,nt)),!isSymbol$7(nt))return nt}),_e[1]=tt,_stringify.apply($JSON,_e)}});$Symbol[PROTOTYPE][TO_PRIMITIVE]||_hide($Symbol[PROTOTYPE],TO_PRIMITIVE,$Symbol[PROTOTYPE].valueOf);setToStringTag($Symbol,"Symbol");setToStringTag(Math,"Math",!0);setToStringTag(global$7.JSON,"JSON",!0);_wksDefine("asyncIterator");_wksDefine("observable");var symbol$1=_coreExports.Symbol;(function(o){o.exports={default:symbol$1,__esModule:!0}})(symbol$2);_typeof$1k.__esModule=!0;var _iterator=iteratorExports,_iterator2=_interopRequireDefault$l(_iterator),_symbol=symbolExports,_symbol2=_interopRequireDefault$l(_symbol),_typeof$1j=typeof _symbol2.default=="function"&&typeof _iterator2.default=="symbol"?function(o){return typeof o}:function(o){return o&&typeof _symbol2.default=="function"&&o.constructor===_symbol2.default&&o!==_symbol2.default.prototype?"symbol":typeof o};function _interopRequireDefault$l(o){return o&&o.__esModule?o:{default:o}}var _default$a=_typeof$1k.default=typeof _symbol2.default=="function"&&_typeof$1j(_iterator2.default)==="symbol"?function(o){return typeof o>"u"?"undefined":_typeof$1j(o)}:function(o){return o&&typeof _symbol2.default=="function"&&o.constructor===_symbol2.default&&o!==_symbol2.default.prototype?"symbol":typeof o>"u"?"undefined":_typeof$1j(o)};possibleConstructorReturn$2.__esModule=!0;var _typeof2$1=_typeof$1k,_typeof3$1=_interopRequireDefault$k(_typeof2$1);function _interopRequireDefault$k(o){return o&&o.__esModule?o:{default:o}}var _default$9=possibleConstructorReturn$2.default=function(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&((typeof $>"u"?"undefined":(0,_typeof3$1.default)($))==="object"||typeof $=="function")?$:o},inherits$2={},setPrototypeOfExports={},setPrototypeOf$1={get exports(){return setPrototypeOfExports},set exports(o){setPrototypeOfExports=o}},_setProto,hasRequired_setProto;function require_setProto(){if(hasRequired_setProto)return _setProto;hasRequired_setProto=1;var o=_isObject,$=_anObject,_e=function(et,tt){if($(et),!o(tt)&&tt!==null)throw TypeError(tt+": can't set as prototype!")};return _setProto={set:Object.setPrototypeOf||("__proto__"in{}?function(et,tt,rt){try{rt=_ctx(Function.call,_objectGopd.f(Object.prototype,"__proto__").set,2),rt(et,[]),tt=!(et instanceof Array)}catch(at){tt=!0}return function(nt,it){return _e(nt,it),tt?nt.__proto__=it:rt(nt,it),nt}}({},!1):void 0),check:_e},_setProto}var $export$6=_export;$export$6($export$6.S,"Object",{setPrototypeOf:require_setProto().set});var setPrototypeOf=_coreExports.Object.setPrototypeOf;(function(o){o.exports={default:setPrototypeOf,__esModule:!0}})(setPrototypeOf$1);var createExports={},create$8={get exports(){return createExports},set exports(o){createExports=o}},$export$5=_export;$export$5($export$5.S,"Object",{create:require_objectCreate()});var $Object$1=_coreExports.Object,create$7=function($,_e){return $Object$1.create($,_e)};(function(o){o.exports={default:create$7,__esModule:!0}})(create$8);inherits$2.__esModule=!0;var _setPrototypeOf$1f=setPrototypeOfExports,_setPrototypeOf2=_interopRequireDefault$j(_setPrototypeOf$1f),_create=createExports,_create2$1=_interopRequireDefault$j(_create),_typeof2=_typeof$1k,_typeof3=_interopRequireDefault$j(_typeof2);function _interopRequireDefault$j(o){return o&&o.__esModule?o:{default:o}}var _default$8=inherits$2.default=function(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+(typeof $>"u"?"undefined":(0,_typeof3.default)($)));o.prototype=(0,_create2$1.default)($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(_setPrototypeOf2.default?(0,_setPrototypeOf2.default)(o,$):o.__proto__=$)},lib$8={},generate$3={},tinycolorExports={},tinycolor={get exports(){return tinycolorExports},set exports(o){tinycolorExports=o}};(function(o,$){(function(_e,et){o.exports=et()})(commonjsGlobal,function(){function _e(Gt){return _e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ft){return typeof Ft}:function(Ft){return Ft&&typeof Symbol=="function"&&Ft.constructor===Symbol&&Ft!==Symbol.prototype?"symbol":typeof Ft},_e(Gt)}var et=/^\s+/,tt=/\s+$/;function rt(Gt,Ft){if(Gt=Gt||"",Ft=Ft||{},Gt instanceof rt)return Gt;if(!(this instanceof rt))return new rt(Gt,Ft);var jt=at(Gt);this._originalInput=Gt,this._r=jt.r,this._g=jt.g,this._b=jt.b,this._a=jt.a,this._roundA=Math.round(100*this._a)/100,this._format=Ft.format||jt.format,this._gradientType=Ft.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=jt.ok}rt.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var Ft=this.toRgb();return(Ft.r*299+Ft.g*587+Ft.b*114)/1e3},getLuminance:function(){var Ft=this.toRgb(),jt,qt,or,fr,dr,vr;return jt=Ft.r/255,qt=Ft.g/255,or=Ft.b/255,jt<=.03928?fr=jt/12.92:fr=Math.pow((jt+.055)/1.055,2.4),qt<=.03928?dr=qt/12.92:dr=Math.pow((qt+.055)/1.055,2.4),or<=.03928?vr=or/12.92:vr=Math.pow((or+.055)/1.055,2.4),.2126*fr+.7152*dr+.0722*vr},setAlpha:function(Ft){return this._a=Ot(Ft),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var Ft=st(this._r,this._g,this._b);return{h:Ft.h*360,s:Ft.s,v:Ft.v,a:this._a}},toHsvString:function(){var Ft=st(this._r,this._g,this._b),jt=Math.round(Ft.h*360),qt=Math.round(Ft.s*100),or=Math.round(Ft.v*100);return this._a==1?"hsv("+jt+", "+qt+"%, "+or+"%)":"hsva("+jt+", "+qt+"%, "+or+"%, "+this._roundA+")"},toHsl:function(){var Ft=it(this._r,this._g,this._b);return{h:Ft.h*360,s:Ft.s,l:Ft.l,a:this._a}},toHslString:function(){var Ft=it(this._r,this._g,this._b),jt=Math.round(Ft.h*360),qt=Math.round(Ft.s*100),or=Math.round(Ft.l*100);return this._a==1?"hsl("+jt+", "+qt+"%, "+or+"%)":"hsla("+jt+", "+qt+"%, "+or+"%, "+this._roundA+")"},toHex:function(Ft){return ct(this._r,this._g,this._b,Ft)},toHexString:function(Ft){return"#"+this.toHex(Ft)},toHex8:function(Ft){return ut(this._r,this._g,this._b,this._a,Ft)},toHex8String:function(Ft){return"#"+this.toHex8(Ft)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(Mt(this._r,255)*100)+"%",g:Math.round(Mt(this._g,255)*100)+"%",b:Math.round(Mt(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(Mt(this._r,255)*100)+"%, "+Math.round(Mt(this._g,255)*100)+"%, "+Math.round(Mt(this._b,255)*100)+"%)":"rgba("+Math.round(Mt(this._r,255)*100)+"%, "+Math.round(Mt(this._g,255)*100)+"%, "+Math.round(Mt(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:Tt[ct(this._r,this._g,this._b,!0)]||!1},toFilter:function(Ft){var jt="#"+ft(this._r,this._g,this._b,this._a),qt=jt,or=this._gradientType?"GradientType = 1, ":"";if(Ft){var fr=rt(Ft);qt="#"+ft(fr._r,fr._g,fr._b,fr._a)}return"progid:DXImageTransform.Microsoft.gradient("+or+"startColorstr="+jt+",endColorstr="+qt+")"},toString:function(Ft){var jt=!!Ft;Ft=Ft||this._format;var qt=!1,or=this._a<1&&this._a>=0,fr=!jt&&or&&(Ft==="hex"||Ft==="hex6"||Ft==="hex3"||Ft==="hex4"||Ft==="hex8"||Ft==="name");return fr?Ft==="name"&&this._a===0?this.toName():this.toRgbString():(Ft==="rgb"&&(qt=this.toRgbString()),Ft==="prgb"&&(qt=this.toPercentageRgbString()),(Ft==="hex"||Ft==="hex6")&&(qt=this.toHexString()),Ft==="hex3"&&(qt=this.toHexString(!0)),Ft==="hex4"&&(qt=this.toHex8String(!0)),Ft==="hex8"&&(qt=this.toHex8String()),Ft==="name"&&(qt=this.toName()),Ft==="hsl"&&(qt=this.toHslString()),Ft==="hsv"&&(qt=this.toHsvString()),qt||this.toHexString())},clone:function(){return rt(this.toString())},_applyModification:function(Ft,jt){var qt=Ft.apply(null,[this].concat([].slice.call(jt)));return this._r=qt._r,this._g=qt._g,this._b=qt._b,this.setAlpha(qt._a),this},lighten:function(){return this._applyModification(bt,arguments)},brighten:function(){return this._applyModification(pt,arguments)},darken:function(){return this._applyModification(dt,arguments)},desaturate:function(){return this._applyModification(At,arguments)},saturate:function(){return this._applyModification(vt,arguments)},greyscale:function(){return this._applyModification(ht,arguments)},spin:function(){return this._applyModification(_t,arguments)},_applyCombination:function(Ft,jt){return Ft.apply(null,[this].concat([].slice.call(jt)))},analogous:function(){return this._applyCombination(xt,arguments)},complement:function(){return this._applyCombination(Ct,arguments)},monochromatic:function(){return this._applyCombination(Et,arguments)},splitcomplement:function(){return this._applyCombination(yt,arguments)},triad:function(){return this._applyCombination(gt,[3])},tetrad:function(){return this._applyCombination(gt,[4])}},rt.fromRatio=function(Gt,Ft){if(_e(Gt)=="object"){var jt={};for(var qt in Gt)Gt.hasOwnProperty(qt)&&(qt==="a"?jt[qt]=Gt[qt]:jt[qt]=Wt(Gt[qt]));Gt=jt}return rt(Gt,Ft)};function at(Gt){var Ft={r:0,g:0,b:0},jt=1,qt=null,or=null,fr=null,dr=!1,vr=!1;return typeof Gt=="string"&&(Gt=tr(Gt)),_e(Gt)=="object"&&(Xt(Gt.r)&&Xt(Gt.g)&&Xt(Gt.b)?(Ft=nt(Gt.r,Gt.g,Gt.b),dr=!0,vr=String(Gt.r).substr(-1)==="%"?"prgb":"rgb"):Xt(Gt.h)&&Xt(Gt.s)&&Xt(Gt.v)?(qt=Wt(Gt.s),or=Wt(Gt.v),Ft=lt(Gt.h,qt,or),dr=!0,vr="hsv"):Xt(Gt.h)&&Xt(Gt.s)&&Xt(Gt.l)&&(qt=Wt(Gt.s),fr=Wt(Gt.l),Ft=ot(Gt.h,qt,fr),dr=!0,vr="hsl"),Gt.hasOwnProperty("a")&&(jt=Gt.a)),jt=Ot(jt),{ok:dr,format:Gt.format||vr,r:Math.min(255,Math.max(Ft.r,0)),g:Math.min(255,Math.max(Ft.g,0)),b:Math.min(255,Math.max(Ft.b,0)),a:jt}}function nt(Gt,Ft,jt){return{r:Mt(Gt,255)*255,g:Mt(Ft,255)*255,b:Mt(jt,255)*255}}function it(Gt,Ft,jt){Gt=Mt(Gt,255),Ft=Mt(Ft,255),jt=Mt(jt,255);var qt=Math.max(Gt,Ft,jt),or=Math.min(Gt,Ft,jt),fr,dr,vr=(qt+or)/2;if(qt==or)fr=dr=0;else{var Er=qt-or;switch(dr=vr>.5?Er/(2-qt-or):Er/(qt+or),qt){case Gt:fr=(Ft-jt)/Er+(Ft1&&(Lr-=1),Lr<1/6?mr+(Or-mr)*6*Lr:Lr<1/2?Or:Lr<2/3?mr+(Or-mr)*(2/3-Lr)*6:mr}if(Ft===0)qt=or=fr=jt;else{var vr=jt<.5?jt*(1+Ft):jt+Ft-jt*Ft,Er=2*jt-vr;qt=dr(Er,vr,Gt+1/3),or=dr(Er,vr,Gt),fr=dr(Er,vr,Gt-1/3)}return{r:qt*255,g:or*255,b:fr*255}}function st(Gt,Ft,jt){Gt=Mt(Gt,255),Ft=Mt(Ft,255),jt=Mt(jt,255);var qt=Math.max(Gt,Ft,jt),or=Math.min(Gt,Ft,jt),fr,dr,vr=qt,Er=qt-or;if(dr=qt===0?0:Er/qt,qt==or)fr=0;else{switch(qt){case Gt:fr=(Ft-jt)/Er+(Ft>1)+720)%360;--Ft;)qt.h=(qt.h+or)%360,fr.push(rt(qt));return fr}function Et(Gt,Ft){Ft=Ft||6;for(var jt=rt(Gt).toHsv(),qt=jt.h,or=jt.s,fr=jt.v,dr=[],vr=1/Ft;Ft--;)dr.push(rt({h:qt,s:or,v:fr})),fr=(fr+vr)%1;return dr}rt.mix=function(Gt,Ft,jt){jt=jt===0?0:jt||50;var qt=rt(Gt).toRgb(),or=rt(Ft).toRgb(),fr=jt/100,dr={r:(or.r-qt.r)*fr+qt.r,g:(or.g-qt.g)*fr+qt.g,b:(or.b-qt.b)*fr+qt.b,a:(or.a-qt.a)*fr+qt.a};return rt(dr)},rt.readability=function(Gt,Ft){var jt=rt(Gt),qt=rt(Ft);return(Math.max(jt.getLuminance(),qt.getLuminance())+.05)/(Math.min(jt.getLuminance(),qt.getLuminance())+.05)},rt.isReadable=function(Gt,Ft,jt){var qt=rt.readability(Gt,Ft),or,fr;switch(fr=!1,or=Zt(jt),or.level+or.size){case"AAsmall":case"AAAlarge":fr=qt>=4.5;break;case"AAlarge":fr=qt>=3;break;case"AAAsmall":fr=qt>=7;break}return fr},rt.mostReadable=function(Gt,Ft,jt){var qt=null,or=0,fr,dr,vr,Er;jt=jt||{},dr=jt.includeFallbackColors,vr=jt.level,Er=jt.size;for(var mr=0;mror&&(or=fr,qt=rt(Ft[mr]));return rt.isReadable(Gt,qt,{level:vr,size:Er})||!dr?qt:(jt.includeFallbackColors=!1,rt.mostReadable(Gt,["#fff","#000"],jt))};var It=rt.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Tt=rt.hexNames=Rt(It);function Rt(Gt){var Ft={};for(var jt in Gt)Gt.hasOwnProperty(jt)&&(Ft[Gt[jt]]=jt);return Ft}function Ot(Gt){return Gt=parseFloat(Gt),(isNaN(Gt)||Gt<0||Gt>1)&&(Gt=1),Gt}function Mt(Gt,Ft){Vt(Gt)&&(Gt="100%");var jt=zt(Gt);return Gt=Math.min(Ft,Math.max(0,parseFloat(Gt))),jt&&(Gt=parseInt(Gt*Ft,10)/100),Math.abs(Gt-Ft)<1e-6?1:Gt%Ft/parseFloat(Ft)}function Bt(Gt){return Math.min(1,Math.max(0,Gt))}function Lt(Gt){return parseInt(Gt,16)}function Vt(Gt){return typeof Gt=="string"&&Gt.indexOf(".")!=-1&&parseFloat(Gt)===1}function zt(Gt){return typeof Gt=="string"&&Gt.indexOf("%")!=-1}function Nt(Gt){return Gt.length==1?"0"+Gt:""+Gt}function Wt(Gt){return Gt<=1&&(Gt=Gt*100+"%"),Gt}function Jt(Gt){return Math.round(parseFloat(Gt)*255).toString(16)}function nr(Gt){return Lt(Gt)/255}var er=function(){var Gt="[-\\+]?\\d+%?",Ft="[-\\+]?\\d*\\.\\d+%?",jt="(?:"+Ft+")|(?:"+Gt+")",qt="[\\s|\\(]+("+jt+")[,|\\s]+("+jt+")[,|\\s]+("+jt+")\\s*\\)?",or="[\\s|\\(]+("+jt+")[,|\\s]+("+jt+")[,|\\s]+("+jt+")[,|\\s]+("+jt+")\\s*\\)?";return{CSS_UNIT:new RegExp(jt),rgb:new RegExp("rgb"+qt),rgba:new RegExp("rgba"+or),hsl:new RegExp("hsl"+qt),hsla:new RegExp("hsla"+or),hsv:new RegExp("hsv"+qt),hsva:new RegExp("hsva"+or),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Xt(Gt){return!!er.CSS_UNIT.exec(Gt)}function tr(Gt){Gt=Gt.replace(et,"").replace(tt,"").toLowerCase();var Ft=!1;if(It[Gt])Gt=It[Gt],Ft=!0;else if(Gt=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var jt;return(jt=er.rgb.exec(Gt))?{r:jt[1],g:jt[2],b:jt[3]}:(jt=er.rgba.exec(Gt))?{r:jt[1],g:jt[2],b:jt[3],a:jt[4]}:(jt=er.hsl.exec(Gt))?{h:jt[1],s:jt[2],l:jt[3]}:(jt=er.hsla.exec(Gt))?{h:jt[1],s:jt[2],l:jt[3],a:jt[4]}:(jt=er.hsv.exec(Gt))?{h:jt[1],s:jt[2],v:jt[3]}:(jt=er.hsva.exec(Gt))?{h:jt[1],s:jt[2],v:jt[3],a:jt[4]}:(jt=er.hex8.exec(Gt))?{r:Lt(jt[1]),g:Lt(jt[2]),b:Lt(jt[3]),a:nr(jt[4]),format:Ft?"name":"hex8"}:(jt=er.hex6.exec(Gt))?{r:Lt(jt[1]),g:Lt(jt[2]),b:Lt(jt[3]),format:Ft?"name":"hex"}:(jt=er.hex4.exec(Gt))?{r:Lt(jt[1]+""+jt[1]),g:Lt(jt[2]+""+jt[2]),b:Lt(jt[3]+""+jt[3]),a:nr(jt[4]+""+jt[4]),format:Ft?"name":"hex8"}:(jt=er.hex3.exec(Gt))?{r:Lt(jt[1]+""+jt[1]),g:Lt(jt[2]+""+jt[2]),b:Lt(jt[3]+""+jt[3]),format:Ft?"name":"hex"}:!1}function Zt(Gt){var Ft,jt;return Gt=Gt||{level:"AA",size:"small"},Ft=(Gt.level||"AA").toUpperCase(),jt=(Gt.size||"small").toLowerCase(),Ft!=="AA"&&Ft!=="AAA"&&(Ft="AA"),jt!=="small"&&jt!=="large"&&(jt="small"),{level:Ft,size:jt}}return rt})})(tinycolor);var __importDefault$e=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(generate$3,"__esModule",{value:!0});var tinycolor2_1=__importDefault$e(tinycolorExports),hueStep=2,saturationStep=16,saturationStep2=5,brightnessStep1=5,brightnessStep2=15,lightColorCount=5,darkColorCount=4;function getHue(o,$,_e){var et;return Math.round(o.h)>=60&&Math.round(o.h)<=240?et=_e?Math.round(o.h)-hueStep*$:Math.round(o.h)+hueStep*$:et=_e?Math.round(o.h)+hueStep*$:Math.round(o.h)-hueStep*$,et<0?et+=360:et>=360&&(et-=360),et}function getSaturation(o,$,_e){if(o.h===0&&o.s===0)return o.s;var et;return _e?et=Math.round(o.s*100)-saturationStep*$:$===darkColorCount?et=Math.round(o.s*100)+saturationStep:et=Math.round(o.s*100)+saturationStep2*$,et>100&&(et=100),_e&&$===lightColorCount&&et>10&&(et=10),et<6&&(et=6),et}function getValue$5(o,$,_e){return _e?Math.round(o.v*100)+brightnessStep1*$:Math.round(o.v*100)-brightnessStep2*$}function generate$2(o){for(var $=[],_e=tinycolor2_1.default(o),et=lightColorCount;et>0;et-=1){var tt=_e.toHsv(),rt=tinycolor2_1.default({h:getHue(tt,et,!0),s:getSaturation(tt,et,!0),v:getValue$5(tt,et,!0)}).toHexString();$.push(rt)}$.push(_e.toHexString());for(var et=1;et<=darkColorCount;et+=1){var tt=_e.toHsv(),rt=tinycolor2_1.default({h:getHue(tt,et),s:getSaturation(tt,et),v:getValue$5(tt,et)}).toHexString();$.push(rt)}return $}generate$3.default=generate$2;var __importDefault$d=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(lib$8,"__esModule",{value:!0});var generate_1=__importDefault$d(generate$3),generate$1=lib$8.generate=generate_1.default,presetPrimaryColors={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"};lib$8.presetPrimaryColors=presetPrimaryColors;var presetPalettes={};lib$8.presetPalettes=presetPalettes;Object.keys(presetPrimaryColors).forEach(function(o){presetPalettes[o]=generate_1.default(presetPrimaryColors[o]),presetPalettes[o].primary=presetPalettes[o][5]});var red=presetPalettes.red;lib$8.red=red;var volcano=presetPalettes.volcano;lib$8.volcano=volcano;var gold=presetPalettes.gold;lib$8.gold=gold;var orange=presetPalettes.orange;lib$8.orange=orange;var yellow=presetPalettes.yellow;lib$8.yellow=yellow;var lime=presetPalettes.lime;lib$8.lime=lime;var green=presetPalettes.green;lib$8.green=green;var cyan=presetPalettes.cyan;lib$8.cyan=cyan;var blue=presetPalettes.blue;lib$8.blue=blue;var geekblue=presetPalettes.geekblue;lib$8.geekblue=geekblue;var purple=presetPalettes.purple;lib$8.purple=purple;var magenta=presetPalettes.magenta;lib$8.magenta=magenta;var grey=presetPalettes.grey;lib$8.grey=grey;function log$2(o){process&&process.env||console.error("[@ant-design/icons-react]: "+o+".")}function isIconDefinition(o){return typeof o=="object"&&typeof o.name=="string"&&typeof o.theme=="string"&&(typeof o.icon=="object"||typeof o.icon=="function")}function normalizeAttrs(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(o).reduce(function($,_e){var et=o[_e];switch(_e){case"class":$.className=et,delete $.class;break;default:$[_e]=et}return $},{})}var MiniMap$2=function(){function o(){_default$c(this,o),this.collection={}}return _default$b(o,[{key:"clear",value:function(){this.collection={}}},{key:"delete",value:function(_e){return delete this.collection[_e]}},{key:"get",value:function(_e){return this.collection[_e]}},{key:"has",value:function(_e){return!!this.collection[_e]}},{key:"set",value:function(_e,et){return this.collection[_e]=et,this}},{key:"size",get:function(){return Object.keys(this.collection).length}}]),o}();function generate(o,$,_e){return _e?reactExports.createElement(o.tag,_default$bE({key:$},normalizeAttrs(o.attrs),_e),(o.children||[]).map(function(et,tt){return generate(et,$+"-"+o.tag+"-"+tt)})):reactExports.createElement(o.tag,_default$bE({key:$},normalizeAttrs(o.attrs)),(o.children||[]).map(function(et,tt){return generate(et,$+"-"+o.tag+"-"+tt)}))}function getSecondaryColor(o){return generate$1(o)[0]}function withSuffix(o,$){switch($){case"fill":return o+"-fill";case"outline":return o+"-o";case"twotone":return o+"-twotone";default:throw new TypeError("Unknown theme type: "+$+", name: "+o)}}var twoToneColorPalette={primaryColor:"#333",secondaryColor:"#E6E6E6"},Icon$2=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"render",value:function(){var et,tt=this.props,rt=tt.type,at=tt.className,nt=tt.onClick,it=tt.style,ot=tt.primaryColor,st=tt.secondaryColor,lt=_default$d(tt,["type","className","onClick","style","primaryColor","secondaryColor"]),ct=void 0,ut=twoToneColorPalette;if(ot&&(ut={primaryColor:ot,secondaryColor:st||getSecondaryColor(ot)}),isIconDefinition(rt))ct=rt;else if(typeof rt=="string"&&(ct=$.get(rt,ut),!ct))return null;return ct?(ct&&typeof ct.icon=="function"&&(ct=_default$bE({},ct,{icon:ct.icon(ut.primaryColor,ut.secondaryColor)})),generate(ct.icon,"svg-"+ct.name,_default$bE((et={className:at,onClick:nt,style:it},_default$e(et,"data-icon",ct.name),_default$e(et,"width","1em"),_default$e(et,"height","1em"),_default$e(et,"fill","currentColor"),_default$e(et,"aria-hidden","true"),_default$e(et,"focusable","false"),et),lt))):(log$2("type should be string or icon definiton, but got "+rt),null)}}],[{key:"add",value:function(){for(var et=this,tt=arguments.length,rt=Array(tt),at=0;at1&&arguments[1]!==void 0?arguments[1]:twoToneColorPalette;if(et){var rt=this.definitions.get(et);return rt&&typeof rt.icon=="function"&&(rt=_default$bE({},rt,{icon:rt.icon(tt.primaryColor,tt.secondaryColor)})),rt}}},{key:"setTwoToneColors",value:function(et){var tt=et.primaryColor,rt=et.secondaryColor;twoToneColorPalette.primaryColor=tt,twoToneColorPalette.secondaryColor=rt||getSecondaryColor(tt)}},{key:"getTwoToneColors",value:function(){return _default$bE({},twoToneColorPalette)}}]),$}(reactExports.Component);Icon$2.displayName="IconReact";Icon$2.definitions=new MiniMap$2;const ReactIcon=Icon$2,es$3=Object.freeze(Object.defineProperty({__proto__:null,default:ReactIcon},Symbol.toStringTag,{value:"Module"}));function _extends$29(){return _extends$29=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{},$=o.scriptUrl,_e=o.extraCommonProps,et=_e===void 0?{}:_e;if(typeof document<"u"&&typeof window<"u"&&typeof document.createElement=="function"&&typeof $=="string"&&$.length&&!customCache.has($)){var tt=document.createElement("script");tt.setAttribute("src",$),tt.setAttribute("data-namespace",$),customCache.add($),document.body.appendChild(tt)}var rt=function(nt){var it=nt.type,ot=nt.children,st=__rest$C(nt,["type","children"]),lt=null;return nt.type&&(lt=reactExports.createElement("use",{xlinkHref:"#".concat(it)})),ot&&(lt=ot),reactExports.createElement(Icon$1,_extends$29({},et,st),lt)};return rt.displayName="Iconfont",rt}var svgBaseProps$1={width:"1em",height:"1em",fill:"currentColor","aria-hidden":!0,focusable:"false"},fillTester$1=/-fill$/,outlineTester$1=/-o$/,twoToneTester$1=/-twotone$/;function getThemeFromTypeName$1(o){var $=null;return fillTester$1.test(o)?$="filled":outlineTester$1.test(o)?$="outlined":twoToneTester$1.test(o)&&($="twoTone"),$}function removeTypeTheme$1(o){return o.replace(fillTester$1,"").replace(outlineTester$1,"").replace(twoToneTester$1,"")}function withThemeSuffix$1(o,$){var _e=o;return $==="filled"?_e+="-fill":$==="outlined"?_e+="-o":$==="twoTone"?_e+="-twotone":warning$4(!1,"Icon","This icon '".concat(o,"' has unknown theme '").concat($,"'")),_e}function alias$1(o){var $=o;switch(o){case"cross":$="close";break;case"interation":$="interaction";break;case"canlendar":$="calendar";break;case"colum-height":$="column-height";break}return warning$4($===o,"Icon","Icon '".concat(o,"' was a typo and is now deprecated, please use '").concat($,"' instead.")),$}function setTwoToneColor$1(o){return ReactIcon.setTwoToneColors({primaryColor:o})}function getTwoToneColor$1(){var o=ReactIcon.getTwoToneColors();return o.primaryColor}function _extends$28(){return _extends$28=Object.assign||function(o){for(var $=1;$o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}var __rest$B=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1h(o){return _getPrototypeOf$1h=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1h(o)}var __rest$A=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0&&arguments[0]!==void 0?arguments[0]:"";return o+=1,"".concat($).concat(o)}}(),InternalSider=function(o){_inherits$1$(_e,o);var $=_createSuper$12(_e);function _e(et){var tt;_classCallCheck$21(this,_e),tt=$.call(this,et),tt.responsiveHandler=function(nt){tt.setState({below:nt.matches});var it=tt.props.onBreakpoint;it&&it(nt.matches),tt.state.collapsed!==nt.matches&&tt.setCollapsed(nt.matches,"responsive")},tt.setCollapsed=function(nt,it){"collapsed"in tt.props||tt.setState({collapsed:nt});var ot=tt.props.onCollapse;ot&&ot(nt,it)},tt.toggle=function(){var nt=!tt.state.collapsed;tt.setCollapsed(nt,"clickTrigger")},tt.belowShowChange=function(){tt.setState(function(nt){var it=nt.belowShow;return{belowShow:!it}})},tt.renderSider=function(nt){var it,ot=nt.getPrefixCls,st=tt.props,lt=st.prefixCls,ct=st.className,ut=st.theme,ft=st.collapsible,At=st.reverseArrow,vt=st.trigger,ht=st.style,bt=st.width,pt=st.collapsedWidth,dt=st.zeroWidthTriggerStyle,_t=__rest$A(st,["prefixCls","className","theme","collapsible","reverseArrow","trigger","style","width","collapsedWidth","zeroWidthTriggerStyle"]),Ct=ot("layout-sider",lt),gt=omit(_t,["collapsed","defaultCollapsed","onCollapse","breakpoint","onBreakpoint","siderHook","zeroWidthTriggerStyle"]),yt=tt.state.collapsed?pt:bt,xt=isNumeric$1(yt)?"".concat(yt,"px"):String(yt),Et=parseFloat(String(pt||0))===0?reactExports.createElement("span",{onClick:tt.toggle,className:"".concat(Ct,"-zero-width-trigger ").concat(Ct,"-zero-width-trigger-").concat(At?"right":"left"),style:dt},reactExports.createElement(Icon$1,{type:"bars"})):null,It={expanded:At?reactExports.createElement(Icon$1,{type:"right"}):reactExports.createElement(Icon$1,{type:"left"}),collapsed:At?reactExports.createElement(Icon$1,{type:"left"}):reactExports.createElement(Icon$1,{type:"right"})},Tt=tt.state.collapsed?"collapsed":"expanded",Rt=It[Tt],Ot=vt!==null?Et||reactExports.createElement("div",{className:"".concat(Ct,"-trigger"),onClick:tt.toggle,style:{width:xt}},vt||Rt):null,Mt=_extends$27(_extends$27({},ht),{flex:"0 0 ".concat(xt),maxWidth:xt,minWidth:xt,width:xt}),Bt=classNames(ct,Ct,"".concat(Ct,"-").concat(ut),(it={},_defineProperty$1d(it,"".concat(Ct,"-collapsed"),!!tt.state.collapsed),_defineProperty$1d(it,"".concat(Ct,"-has-trigger"),ft&&vt!==null&&!Et),_defineProperty$1d(it,"".concat(Ct,"-below"),!!tt.state.below),_defineProperty$1d(it,"".concat(Ct,"-zero-width"),parseFloat(xt)===0),it));return reactExports.createElement("aside",_extends$27({className:Bt},gt,{style:Mt}),reactExports.createElement("div",{className:"".concat(Ct,"-children")},tt.props.children),ft||tt.state.below&&Et?Ot:null)},tt.uniqueId=generateId$1("ant-sider-");var rt;typeof window<"u"&&(rt=window.matchMedia),rt&&et.breakpoint&&et.breakpoint in dimensionMaxMap&&(tt.mql=rt("(max-width: ".concat(dimensionMaxMap[et.breakpoint],")")));var at;return"collapsed"in et?at=et.collapsed:at=et.defaultCollapsed,tt.state={collapsed:at,below:!1},tt}return _createClass$1X(_e,[{key:"componentDidMount",value:function(){this.mql&&(this.mql.addListener(this.responsiveHandler),this.responsiveHandler(this.mql)),this.props.siderHook&&this.props.siderHook.addSider(this.uniqueId)}},{key:"componentWillUnmount",value:function(){this.mql&&this.mql.removeListener(this.responsiveHandler),this.props.siderHook&&this.props.siderHook.removeSider(this.uniqueId)}},{key:"render",value:function(){var tt=this.state.collapsed,rt=this.props.collapsedWidth;return reactExports.createElement(SiderContext.Provider,{value:{siderCollapsed:tt,collapsedWidth:rt}},reactExports.createElement(ConfigConsumer,null,this.renderSider))}}],[{key:"getDerivedStateFromProps",value:function(tt){return"collapsed"in tt?{collapsed:tt.collapsed}:null}}]),_e}(reactExports.Component);InternalSider.defaultProps={collapsible:!1,defaultCollapsed:!1,reverseArrow:!1,width:200,collapsedWidth:80,style:{},theme:"dark"};polyfill(InternalSider);var Sider=function(o){_inherits$1$(_e,o);var $=_createSuper$12(_e);function _e(){return _classCallCheck$21(this,_e),$.apply(this,arguments)}return _createClass$1X(_e,[{key:"render",value:function(){var tt=this;return reactExports.createElement(LayoutContext.Consumer,null,function(rt){return reactExports.createElement(InternalSider,_extends$27({},rt,tt.props))})}}]),_e}(reactExports.Component);Layout$1.Sider=Sider;var classnamesExports={},classnames={get exports(){return classnamesExports},set exports(o){classnamesExports=o}};/*! +https://fb.me/react-async-component-lifecycle-hooks`)}if(typeof o.getDerivedStateFromProps=="function"&&($.componentWillMount=componentWillMount,$.componentWillReceiveProps=componentWillReceiveProps),typeof $.getSnapshotBeforeUpdate=="function"){if(typeof $.componentDidUpdate!="function")throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");$.componentWillUpdate=componentWillUpdate;var nt=$.componentDidUpdate;$.componentDidUpdate=function(ot,st,lt){var ct=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:lt;nt.call(this,ot,st,ct)}}return o}const reactLifecyclesCompat_es=Object.freeze(Object.defineProperty({__proto__:null,polyfill},Symbol.toStringTag,{value:"Module"}));var _extends$2a={},assignExports={},assign$5={get exports(){return assignExports},set exports(o){assignExports=o}},_globalExports={},_global={get exports(){return _globalExports},set exports(o){_globalExports=o}},global$b=_global.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=global$b);var _coreExports={},_core={get exports(){return _coreExports},set exports(o){_coreExports=o}},core$7=_core.exports={version:"2.6.5"};typeof __e=="number"&&(__e=core$7);var _aFunction=function(o){if(typeof o!="function")throw TypeError(o+" is not a function!");return o},aFunction$3=_aFunction,_ctx=function(o,$,_e){if(aFunction$3(o),$===void 0)return o;switch(_e){case 1:return function(et){return o.call($,et)};case 2:return function(et,tt){return o.call($,et,tt)};case 3:return function(et,tt,rt){return o.call($,et,tt,rt)}}return function(){return o.apply($,arguments)}},_objectDp={},_isObject=function(o){return typeof o=="object"?o!==null:typeof o=="function"},isObject$o=_isObject,_anObject=function(o){if(!isObject$o(o))throw TypeError(o+" is not an object!");return o},_fails=function(o){try{return!!o()}catch($){return!0}},_descriptors,hasRequired_descriptors;function require_descriptors(){return hasRequired_descriptors||(hasRequired_descriptors=1,_descriptors=!_fails(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})),_descriptors}var _domCreate,hasRequired_domCreate;function require_domCreate(){if(hasRequired_domCreate)return _domCreate;hasRequired_domCreate=1;var o=_isObject,$=_globalExports.document,_e=o($)&&o($.createElement);return _domCreate=function(et){return _e?$.createElement(et):{}},_domCreate}var _ie8DomDefine,hasRequired_ie8DomDefine;function require_ie8DomDefine(){return hasRequired_ie8DomDefine||(hasRequired_ie8DomDefine=1,_ie8DomDefine=!require_descriptors()&&!_fails(function(){return Object.defineProperty(require_domCreate()("div"),"a",{get:function(){return 7}}).a!=7})),_ie8DomDefine}var isObject$n=_isObject,_toPrimitive=function(o,$){if(!isObject$n(o))return o;var _e,et;if($&&typeof(_e=o.toString)=="function"&&!isObject$n(et=_e.call(o))||typeof(_e=o.valueOf)=="function"&&!isObject$n(et=_e.call(o))||!$&&typeof(_e=o.toString)=="function"&&!isObject$n(et=_e.call(o)))return et;throw TypeError("Can't convert object to primitive value")},hasRequired_objectDp;function require_objectDp(){if(hasRequired_objectDp)return _objectDp;hasRequired_objectDp=1;var o=_anObject,$=require_ie8DomDefine(),_e=_toPrimitive,et=Object.defineProperty;return _objectDp.f=require_descriptors()?Object.defineProperty:function(rt,at,nt){if(o(rt),at=_e(at,!0),o(nt),$)try{return et(rt,at,nt)}catch(it){}if("get"in nt||"set"in nt)throw TypeError("Accessors not supported!");return"value"in nt&&(rt[at]=nt.value),rt},_objectDp}var _propertyDesc=function(o,$){return{enumerable:!(o&1),configurable:!(o&2),writable:!(o&4),value:$}},dP$1=require_objectDp(),createDesc$3=_propertyDesc,_hide=require_descriptors()?function(o,$,_e){return dP$1.f(o,$,createDesc$3(1,_e))}:function(o,$,_e){return o[$]=_e,o},hasOwnProperty$h={}.hasOwnProperty,_has$1=function(o,$){return hasOwnProperty$h.call(o,$)},global$a=_globalExports,core$6=_coreExports,ctx$4=_ctx,hide$2=_hide,has$8=_has$1,PROTOTYPE$1="prototype",$export$b=function(o,$,_e){var et=o&$export$b.F,tt=o&$export$b.G,rt=o&$export$b.S,at=o&$export$b.P,nt=o&$export$b.B,it=o&$export$b.W,ot=tt?core$6:core$6[$]||(core$6[$]={}),st=ot[PROTOTYPE$1],lt=tt?global$a:rt?global$a[$]:(global$a[$]||{})[PROTOTYPE$1],ct,ut,ft;tt&&(_e=$);for(ct in _e)ut=!et&<&<[ct]!==void 0,!(ut&&has$8(ot,ct))&&(ft=ut?lt[ct]:_e[ct],ot[ct]=tt&&typeof lt[ct]!="function"?_e[ct]:nt&&ut?ctx$4(ft,global$a):it&<[ct]==ft?function(At){var vt=function(ht,mt,bt){if(this instanceof At){switch(arguments.length){case 0:return new At;case 1:return new At(ht);case 2:return new At(ht,mt)}return new At(ht,mt,bt)}return At.apply(this,arguments)};return vt[PROTOTYPE$1]=At[PROTOTYPE$1],vt}(ft):at&&typeof ft=="function"?ctx$4(Function.call,ft):ft,at&&((ot.virtual||(ot.virtual={}))[ct]=ft,o&$export$b.R&&st&&!st[ct]&&hide$2(st,ct,ft)))};$export$b.F=1;$export$b.G=2;$export$b.S=4;$export$b.P=8;$export$b.B=16;$export$b.W=32;$export$b.U=64;$export$b.R=128;var _export=$export$b,toString$8={}.toString,_cof=function(o){return toString$8.call(o).slice(8,-1)},_iobject,hasRequired_iobject;function require_iobject(){if(hasRequired_iobject)return _iobject;hasRequired_iobject=1;var o=_cof;return _iobject=Object("z").propertyIsEnumerable(0)?Object:function($){return o($)=="String"?$.split(""):Object($)},_iobject}var _defined=function(o){if(o==null)throw TypeError("Can't call method on "+o);return o},IObject=require_iobject(),defined$1=_defined,_toIobject=function(o){return IObject(defined$1(o))},ceil=Math.ceil,floor=Math.floor,_toInteger=function(o){return isNaN(o=+o)?0:(o>0?floor:ceil)(o)},toInteger$5=_toInteger,min$3=Math.min,_toLength=function(o){return o>0?min$3(toInteger$5(o),9007199254740991):0},toInteger$4=_toInteger,max$4=Math.max,min$2=Math.min,_toAbsoluteIndex=function(o,$){return o=toInteger$4(o),o<0?max$4(o+$,0):min$2(o,$)},toIObject$6=_toIobject,toLength$2=_toLength,toAbsoluteIndex=_toAbsoluteIndex,_arrayIncludes$1=function(o){return function($,_e,et){var tt=toIObject$6($),rt=toLength$2(tt.length),at=toAbsoluteIndex(et,rt),nt;if(o&&_e!=_e){for(;rt>at;)if(nt=tt[at++],nt!=nt)return!0}else for(;rt>at;at++)if((o||at in tt)&&tt[at]===_e)return o||at||0;return!o&&-1}},_sharedExports={},_shared={get exports(){return _sharedExports},set exports(o){_sharedExports=o}},_library=!0,core$5=_coreExports,global$9=_globalExports,SHARED="__core-js_shared__",store$1=global$9[SHARED]||(global$9[SHARED]={});(_shared.exports=function(o,$){return store$1[o]||(store$1[o]=$!==void 0?$:{})})("versions",[]).push({version:core$5.version,mode:"pure",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"});var id$4=0,px=Math.random(),_uid=function(o){return"Symbol(".concat(o===void 0?"":o,")_",(++id$4+px).toString(36))},_sharedKey,hasRequired_sharedKey;function require_sharedKey(){if(hasRequired_sharedKey)return _sharedKey;hasRequired_sharedKey=1;var o=_sharedExports("keys"),$=_uid;return _sharedKey=function(_e){return o[_e]||(o[_e]=$(_e))},_sharedKey}var has$7=_has$1,toIObject$5=_toIobject,arrayIndexOf=_arrayIncludes$1(!1),IE_PROTO$1=require_sharedKey()("IE_PROTO"),_objectKeysInternal=function(o,$){var _e=toIObject$5(o),et=0,tt=[],rt;for(rt in _e)rt!=IE_PROTO$1&&has$7(_e,rt)&&tt.push(rt);for(;$.length>et;)has$7(_e,rt=$[et++])&&(~arrayIndexOf(tt,rt)||tt.push(rt));return tt},_enumBugKeys="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),$keys$3=_objectKeysInternal,enumBugKeys=_enumBugKeys,_objectKeys=Object.keys||function($){return $keys$3($,enumBugKeys)},_objectGops={},hasRequired_objectGops;function require_objectGops(){return hasRequired_objectGops||(hasRequired_objectGops=1,_objectGops.f=Object.getOwnPropertySymbols),_objectGops}var _objectPie={},hasRequired_objectPie;function require_objectPie(){return hasRequired_objectPie||(hasRequired_objectPie=1,_objectPie.f={}.propertyIsEnumerable),_objectPie}var _toObject,hasRequired_toObject;function require_toObject(){if(hasRequired_toObject)return _toObject;hasRequired_toObject=1;var o=_defined;return _toObject=function($){return Object(o($))},_toObject}var _objectAssign,hasRequired_objectAssign;function require_objectAssign(){if(hasRequired_objectAssign)return _objectAssign;hasRequired_objectAssign=1;var o=_objectKeys,$=require_objectGops(),_e=require_objectPie(),et=require_toObject(),tt=require_iobject(),rt=Object.assign;return _objectAssign=!rt||_fails(function(){var at={},nt={},it=Symbol(),ot="abcdefghijklmnopqrst";return at[it]=7,ot.split("").forEach(function(st){nt[st]=st}),rt({},at)[it]!=7||Object.keys(rt({},nt)).join("")!=ot})?function(nt,it){for(var ot=et(nt),st=arguments.length,lt=1,ct=$.f,ut=_e.f;st>lt;)for(var ft=tt(arguments[lt++]),At=ct?o(ft).concat(ct(ft)):o(ft),vt=At.length,ht=0,mt;vt>ht;)ut.call(ft,mt=At[ht++])&&(ot[mt]=ft[mt]);return ot}:rt,_objectAssign}var $export$a=_export;$export$a($export$a.S+$export$a.F,"Object",{assign:require_objectAssign()});var assign$4=_coreExports.Object.assign;(function(o){o.exports={default:assign$4,__esModule:!0}})(assign$5);_extends$2a.__esModule=!0;var _assign$2=assignExports,_assign2$1=_interopRequireDefault$o(_assign$2);function _interopRequireDefault$o(o){return o&&o.__esModule?o:{default:o}}var _default$bE=_extends$2a.default=_assign2$1.default||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e},classCallCheck$2={};classCallCheck$2.__esModule=!0;var _default$c=classCallCheck$2.default=function(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")},createClass$2={};createClass$2.__esModule=!0;var _defineProperty$1f=definePropertyExports,_defineProperty2=_interopRequireDefault$m(_defineProperty$1f);function _interopRequireDefault$m(o){return o&&o.__esModule?o:{default:o}}var _default$b=createClass$2.default=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),(0,_defineProperty2.default)($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),possibleConstructorReturn$2={},_typeof$1k={},iteratorExports={},iterator$1={get exports(){return iteratorExports},set exports(o){iteratorExports=o}},toInteger$3=_toInteger,defined=_defined,_stringAt=function(o){return function($,_e){var et=String(defined($)),tt=toInteger$3(_e),rt=et.length,at,nt;return tt<0||tt>=rt?o?"":void 0:(at=et.charCodeAt(tt),at<55296||at>56319||tt+1===rt||(nt=et.charCodeAt(tt+1))<56320||nt>57343?o?et.charAt(tt):at:o?et.slice(tt,tt+2):(at-55296<<10)+(nt-56320)+65536)}},_redefineExports={},_redefine={get exports(){return _redefineExports},set exports(o){_redefineExports=o}};(function(o){o.exports=_hide})(_redefine);var _iterators={},_objectDps,hasRequired_objectDps;function require_objectDps(){if(hasRequired_objectDps)return _objectDps;hasRequired_objectDps=1;var o=require_objectDp(),$=_anObject,_e=_objectKeys;return _objectDps=require_descriptors()?Object.defineProperties:function(tt,rt){$(tt);for(var at=_e(rt),nt=at.length,it=0,ot;nt>it;)o.f(tt,ot=at[it++],rt[ot]);return tt},_objectDps}var _html,hasRequired_html;function require_html(){if(hasRequired_html)return _html;hasRequired_html=1;var o=_globalExports.document;return _html=o&&o.documentElement,_html}var _objectCreate,hasRequired_objectCreate;function require_objectCreate(){if(hasRequired_objectCreate)return _objectCreate;hasRequired_objectCreate=1;var o=_anObject,$=require_objectDps(),_e=_enumBugKeys,et=require_sharedKey()("IE_PROTO"),tt=function(){},rt="prototype",at=function(){var nt=require_domCreate()("iframe"),it=_e.length,ot="<",st=">",lt;for(nt.style.display="none",require_html().appendChild(nt),nt.src="javascript:",lt=nt.contentWindow.document,lt.open(),lt.write(ot+"script"+st+"document.F=Object"+ot+"/script"+st),lt.close(),at=lt.F;it--;)delete at[rt][_e[it]];return at()};return _objectCreate=Object.create||function(it,ot){var st;return it!==null?(tt[rt]=o(it),st=new tt,tt[rt]=null,st[et]=it):st=at(),ot===void 0?st:$(st,ot)},_objectCreate}var _wksExports={},_wks={get exports(){return _wksExports},set exports(o){_wksExports=o}},store=_sharedExports("wks"),uid$2=_uid,Symbol$7=_globalExports.Symbol,USE_SYMBOL=typeof Symbol$7=="function",$exports=_wks.exports=function(o){return store[o]||(store[o]=USE_SYMBOL&&Symbol$7[o]||(USE_SYMBOL?Symbol$7:uid$2)("Symbol."+o))};$exports.store=store;var def=require_objectDp().f,has$6=_has$1,TAG$1=_wksExports("toStringTag"),_setToStringTag=function(o,$,_e){o&&!has$6(o=_e?o:o.prototype,TAG$1)&&def(o,TAG$1,{configurable:!0,value:$})},create$9=require_objectCreate(),descriptor=_propertyDesc,setToStringTag$2=_setToStringTag,IteratorPrototype={};_hide(IteratorPrototype,_wksExports("iterator"),function(){return this});var _iterCreate=function(o,$,_e){o.prototype=create$9(IteratorPrototype,{next:descriptor(1,_e)}),setToStringTag$2(o,$+" Iterator")},has$5=_has$1,toObject$4=require_toObject(),IE_PROTO=require_sharedKey()("IE_PROTO"),ObjectProto$1=Object.prototype,_objectGpo=Object.getPrototypeOf||function(o){return o=toObject$4(o),has$5(o,IE_PROTO)?o[IE_PROTO]:typeof o.constructor=="function"&&o instanceof o.constructor?o.constructor.prototype:o instanceof Object?ObjectProto$1:null},$export$8=_export,redefine$1=_redefineExports,hide$1=_hide,Iterators$4=_iterators,$iterCreate=_iterCreate,setToStringTag$1=_setToStringTag,getPrototypeOf$4=_objectGpo,ITERATOR$2=_wksExports("iterator"),BUGGY=!([].keys&&"next"in[].keys()),FF_ITERATOR="@@iterator",KEYS="keys",VALUES="values",returnThis=function(){return this},_iterDefine=function(o,$,_e,et,tt,rt,at){$iterCreate(_e,$,et);var nt=function(bt){if(!BUGGY&&bt in lt)return lt[bt];switch(bt){case KEYS:return function(){return new _e(this,bt)};case VALUES:return function(){return new _e(this,bt)}}return function(){return new _e(this,bt)}},it=$+" Iterator",ot=tt==VALUES,st=!1,lt=o.prototype,ct=lt[ITERATOR$2]||lt[FF_ITERATOR]||tt&<[tt],ut=ct||nt(tt),ft=tt?ot?nt("entries"):ut:void 0,At=$=="Array"&<.entries||ct,vt,ht,mt;if(At&&(mt=getPrototypeOf$4(At.call(new o)),mt!==Object.prototype&&mt.next&&setToStringTag$1(mt,it,!0)),ot&&ct&&ct.name!==VALUES&&(st=!0,ut=function(){return ct.call(this)}),at&&(BUGGY||st||!lt[ITERATOR$2])&&hide$1(lt,ITERATOR$2,ut),Iterators$4[$]=ut,Iterators$4[it]=returnThis,tt)if(vt={values:ot?ut:nt(VALUES),keys:rt?ut:nt(KEYS),entries:ft},at)for(ht in vt)ht in lt||redefine$1(lt,ht,vt[ht]);else $export$8($export$8.P+$export$8.F*(BUGGY||st),$,vt);return vt},$at=_stringAt(!0);_iterDefine(String,"String",function(o){this._t=String(o),this._i=0},function(){var o=this._t,$=this._i,_e;return $>=o.length?{value:void 0,done:!0}:(_e=$at(o,$),this._i+=_e.length,{value:_e,done:!1})});var _iterStep=function(o,$){return{value:$,done:!!o}},step$3=_iterStep,Iterators$3=_iterators,toIObject$4=_toIobject;_iterDefine(Array,"Array",function(o,$){this._t=toIObject$4(o),this._i=0,this._k=$},function(){var o=this._t,$=this._k,_e=this._i++;return!o||_e>=o.length?(this._t=void 0,step$3(1)):$=="keys"?step$3(0,_e):$=="values"?step$3(0,o[_e]):step$3(0,[_e,o[_e]])},"values");Iterators$3.Arguments=Iterators$3.Array;var global$8=_globalExports,hide=_hide,Iterators$2=_iterators,TO_STRING_TAG=_wksExports("toStringTag"),DOMIterables="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(",");for(var i$3=0;i$3rt;)tt.call(o,at=et[rt++])&&$.push(at);return $},cof$1=_cof,_isArray=Array.isArray||function($){return cof$1($)=="Array"},_objectGopnExt={},_objectGopn={},$keys$2=_objectKeysInternal,hiddenKeys=_enumBugKeys.concat("length","prototype");_objectGopn.f=Object.getOwnPropertyNames||function($){return $keys$2($,hiddenKeys)};var toIObject$3=_toIobject,gOPN$1=_objectGopn.f,toString$7={}.toString,windowNames=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],getWindowNames=function(o){try{return gOPN$1(o)}catch($){return windowNames.slice()}};_objectGopnExt.f=function($){return windowNames&&toString$7.call($)=="[object Window]"?getWindowNames($):gOPN$1(toIObject$3($))};var _objectGopd={},pIE=require_objectPie(),createDesc$2=_propertyDesc,toIObject$2=_toIobject,toPrimitive$1=_toPrimitive,has$3=_has$1,IE8_DOM_DEFINE=require_ie8DomDefine(),gOPD$1=Object.getOwnPropertyDescriptor;_objectGopd.f=require_descriptors()?gOPD$1:function($,_e){if($=toIObject$2($),_e=toPrimitive$1(_e,!0),IE8_DOM_DEFINE)try{return gOPD$1($,_e)}catch(et){}if(has$3($,_e))return createDesc$2(!pIE.f.call($,_e),$[_e])};var global$7=_globalExports,has$2=_has$1,DESCRIPTORS=require_descriptors(),$export$7=_export,redefine=_redefineExports,META=_metaExports.KEY,$fails=_fails,shared=_sharedExports,setToStringTag=_setToStringTag,uid$1=_uid,wks=_wksExports,wksExt=_wksExt,wksDefine=_wksDefine,enumKeys=_enumKeys,isArray$j=_isArray,anObject$4=_anObject,isObject$l=_isObject,toIObject$1=_toIobject,toPrimitive=_toPrimitive,createDesc$1=_propertyDesc,_create$1=require_objectCreate(),gOPNExt=_objectGopnExt,$GOPD=_objectGopd,$DP=require_objectDp(),$keys$1=_objectKeys,gOPD=$GOPD.f,dP=$DP.f,gOPN=gOPNExt.f,$Symbol=global$7.Symbol,$JSON=global$7.JSON,_stringify=$JSON&&$JSON.stringify,PROTOTYPE="prototype",HIDDEN=wks("_hidden"),TO_PRIMITIVE=wks("toPrimitive"),isEnum={}.propertyIsEnumerable,SymbolRegistry=shared("symbol-registry"),AllSymbols=shared("symbols"),OPSymbols=shared("op-symbols"),ObjectProto=Object[PROTOTYPE],USE_NATIVE$1=typeof $Symbol=="function",QObject=global$7.QObject,setter=!QObject||!QObject[PROTOTYPE]||!QObject[PROTOTYPE].findChild,setSymbolDesc=DESCRIPTORS&&$fails(function(){return _create$1(dP({},"a",{get:function(){return dP(this,"a",{value:7}).a}})).a!=7})?function(o,$,_e){var et=gOPD(ObjectProto,$);et&&delete ObjectProto[$],dP(o,$,_e),et&&o!==ObjectProto&&dP(ObjectProto,$,et)}:dP,wrap=function(o){var $=AllSymbols[o]=_create$1($Symbol[PROTOTYPE]);return $._k=o,$},isSymbol$7=USE_NATIVE$1&&typeof $Symbol.iterator=="symbol"?function(o){return typeof o=="symbol"}:function(o){return o instanceof $Symbol},$defineProperty$1=function($,_e,et){return $===ObjectProto&&$defineProperty$1(OPSymbols,_e,et),anObject$4($),_e=toPrimitive(_e,!0),anObject$4(et),has$2(AllSymbols,_e)?(et.enumerable?(has$2($,HIDDEN)&&$[HIDDEN][_e]&&($[HIDDEN][_e]=!1),et=_create$1(et,{enumerable:createDesc$1(0,!1)})):(has$2($,HIDDEN)||dP($,HIDDEN,createDesc$1(1,{})),$[HIDDEN][_e]=!0),setSymbolDesc($,_e,et)):dP($,_e,et)},$defineProperties=function($,_e){anObject$4($);for(var et=enumKeys(_e=toIObject$1(_e)),tt=0,rt=et.length,at;rt>tt;)$defineProperty$1($,at=et[tt++],_e[at]);return $},$create=function($,_e){return _e===void 0?_create$1($):$defineProperties(_create$1($),_e)},$propertyIsEnumerable=function($){var _e=isEnum.call(this,$=toPrimitive($,!0));return this===ObjectProto&&has$2(AllSymbols,$)&&!has$2(OPSymbols,$)?!1:_e||!has$2(this,$)||!has$2(AllSymbols,$)||has$2(this,HIDDEN)&&this[HIDDEN][$]?_e:!0},$getOwnPropertyDescriptor$1=function($,_e){if($=toIObject$1($),_e=toPrimitive(_e,!0),!($===ObjectProto&&has$2(AllSymbols,_e)&&!has$2(OPSymbols,_e))){var et=gOPD($,_e);return et&&has$2(AllSymbols,_e)&&!(has$2($,HIDDEN)&&$[HIDDEN][_e])&&(et.enumerable=!0),et}},$getOwnPropertyNames=function($){for(var _e=gOPN(toIObject$1($)),et=[],tt=0,rt;_e.length>tt;)!has$2(AllSymbols,rt=_e[tt++])&&rt!=HIDDEN&&rt!=META&&et.push(rt);return et},$getOwnPropertySymbols=function($){for(var _e=$===ObjectProto,et=gOPN(_e?OPSymbols:toIObject$1($)),tt=[],rt=0,at;et.length>rt;)has$2(AllSymbols,at=et[rt++])&&(!_e||has$2(ObjectProto,at))&&tt.push(AllSymbols[at]);return tt};USE_NATIVE$1||($Symbol=function(){if(this instanceof $Symbol)throw TypeError("Symbol is not a constructor!");var $=uid$1(arguments.length>0?arguments[0]:void 0),_e=function(et){this===ObjectProto&&_e.call(OPSymbols,et),has$2(this,HIDDEN)&&has$2(this[HIDDEN],$)&&(this[HIDDEN][$]=!1),setSymbolDesc(this,$,createDesc$1(1,et))};return DESCRIPTORS&&setter&&setSymbolDesc(ObjectProto,$,{configurable:!0,set:_e}),wrap($)},redefine($Symbol[PROTOTYPE],"toString",function(){return this._k}),$GOPD.f=$getOwnPropertyDescriptor$1,$DP.f=$defineProperty$1,_objectGopn.f=gOPNExt.f=$getOwnPropertyNames,require_objectPie().f=$propertyIsEnumerable,require_objectGops().f=$getOwnPropertySymbols,DESCRIPTORS&&!_library&&redefine(ObjectProto,"propertyIsEnumerable",$propertyIsEnumerable,!0),wksExt.f=function(o){return wrap(wks(o))});$export$7($export$7.G+$export$7.W+$export$7.F*!USE_NATIVE$1,{Symbol:$Symbol});for(var es6Symbols="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),j=0;es6Symbols.length>j;)wks(es6Symbols[j++]);for(var wellKnownSymbols=$keys$1(wks.store),k$1=0;wellKnownSymbols.length>k$1;)wksDefine(wellKnownSymbols[k$1++]);$export$7($export$7.S+$export$7.F*!USE_NATIVE$1,"Symbol",{for:function(o){return has$2(SymbolRegistry,o+="")?SymbolRegistry[o]:SymbolRegistry[o]=$Symbol(o)},keyFor:function($){if(!isSymbol$7($))throw TypeError($+" is not a symbol!");for(var _e in SymbolRegistry)if(SymbolRegistry[_e]===$)return _e},useSetter:function(){setter=!0},useSimple:function(){setter=!1}});$export$7($export$7.S+$export$7.F*!USE_NATIVE$1,"Object",{create:$create,defineProperty:$defineProperty$1,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor$1,getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols});$JSON&&$export$7($export$7.S+$export$7.F*(!USE_NATIVE$1||$fails(function(){var o=$Symbol();return _stringify([o])!="[null]"||_stringify({a:o})!="{}"||_stringify(Object(o))!="{}"})),"JSON",{stringify:function($){for(var _e=[$],et=1,tt,rt;arguments.length>et;)_e.push(arguments[et++]);if(rt=tt=_e[1],!(!isObject$l(tt)&&$===void 0||isSymbol$7($)))return isArray$j(tt)||(tt=function(at,nt){if(typeof rt=="function"&&(nt=rt.call(this,at,nt)),!isSymbol$7(nt))return nt}),_e[1]=tt,_stringify.apply($JSON,_e)}});$Symbol[PROTOTYPE][TO_PRIMITIVE]||_hide($Symbol[PROTOTYPE],TO_PRIMITIVE,$Symbol[PROTOTYPE].valueOf);setToStringTag($Symbol,"Symbol");setToStringTag(Math,"Math",!0);setToStringTag(global$7.JSON,"JSON",!0);_wksDefine("asyncIterator");_wksDefine("observable");var symbol$1=_coreExports.Symbol;(function(o){o.exports={default:symbol$1,__esModule:!0}})(symbol$2);_typeof$1k.__esModule=!0;var _iterator=iteratorExports,_iterator2=_interopRequireDefault$l(_iterator),_symbol=symbolExports,_symbol2=_interopRequireDefault$l(_symbol),_typeof$1j=typeof _symbol2.default=="function"&&typeof _iterator2.default=="symbol"?function(o){return typeof o}:function(o){return o&&typeof _symbol2.default=="function"&&o.constructor===_symbol2.default&&o!==_symbol2.default.prototype?"symbol":typeof o};function _interopRequireDefault$l(o){return o&&o.__esModule?o:{default:o}}var _default$a=_typeof$1k.default=typeof _symbol2.default=="function"&&_typeof$1j(_iterator2.default)==="symbol"?function(o){return typeof o>"u"?"undefined":_typeof$1j(o)}:function(o){return o&&typeof _symbol2.default=="function"&&o.constructor===_symbol2.default&&o!==_symbol2.default.prototype?"symbol":typeof o>"u"?"undefined":_typeof$1j(o)};possibleConstructorReturn$2.__esModule=!0;var _typeof2$1=_typeof$1k,_typeof3$1=_interopRequireDefault$k(_typeof2$1);function _interopRequireDefault$k(o){return o&&o.__esModule?o:{default:o}}var _default$9=possibleConstructorReturn$2.default=function(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&((typeof $>"u"?"undefined":(0,_typeof3$1.default)($))==="object"||typeof $=="function")?$:o},inherits$2={},setPrototypeOfExports={},setPrototypeOf$1={get exports(){return setPrototypeOfExports},set exports(o){setPrototypeOfExports=o}},_setProto,hasRequired_setProto;function require_setProto(){if(hasRequired_setProto)return _setProto;hasRequired_setProto=1;var o=_isObject,$=_anObject,_e=function(et,tt){if($(et),!o(tt)&&tt!==null)throw TypeError(tt+": can't set as prototype!")};return _setProto={set:Object.setPrototypeOf||("__proto__"in{}?function(et,tt,rt){try{rt=_ctx(Function.call,_objectGopd.f(Object.prototype,"__proto__").set,2),rt(et,[]),tt=!(et instanceof Array)}catch(at){tt=!0}return function(nt,it){return _e(nt,it),tt?nt.__proto__=it:rt(nt,it),nt}}({},!1):void 0),check:_e},_setProto}var $export$6=_export;$export$6($export$6.S,"Object",{setPrototypeOf:require_setProto().set});var setPrototypeOf=_coreExports.Object.setPrototypeOf;(function(o){o.exports={default:setPrototypeOf,__esModule:!0}})(setPrototypeOf$1);var createExports={},create$8={get exports(){return createExports},set exports(o){createExports=o}},$export$5=_export;$export$5($export$5.S,"Object",{create:require_objectCreate()});var $Object$1=_coreExports.Object,create$7=function($,_e){return $Object$1.create($,_e)};(function(o){o.exports={default:create$7,__esModule:!0}})(create$8);inherits$2.__esModule=!0;var _setPrototypeOf$1f=setPrototypeOfExports,_setPrototypeOf2=_interopRequireDefault$j(_setPrototypeOf$1f),_create=createExports,_create2$1=_interopRequireDefault$j(_create),_typeof2=_typeof$1k,_typeof3=_interopRequireDefault$j(_typeof2);function _interopRequireDefault$j(o){return o&&o.__esModule?o:{default:o}}var _default$8=inherits$2.default=function(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+(typeof $>"u"?"undefined":(0,_typeof3.default)($)));o.prototype=(0,_create2$1.default)($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(_setPrototypeOf2.default?(0,_setPrototypeOf2.default)(o,$):o.__proto__=$)},lib$8={},generate$3={},tinycolorExports={},tinycolor={get exports(){return tinycolorExports},set exports(o){tinycolorExports=o}};(function(o,$){(function(_e,et){o.exports=et()})(commonjsGlobal,function(){function _e(Ht){return _e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ft){return typeof Ft}:function(Ft){return Ft&&typeof Symbol=="function"&&Ft.constructor===Symbol&&Ft!==Symbol.prototype?"symbol":typeof Ft},_e(Ht)}var et=/^\s+/,tt=/\s+$/;function rt(Ht,Ft){if(Ht=Ht||"",Ft=Ft||{},Ht instanceof rt)return Ht;if(!(this instanceof rt))return new rt(Ht,Ft);var Vt=at(Ht);this._originalInput=Ht,this._r=Vt.r,this._g=Vt.g,this._b=Vt.b,this._a=Vt.a,this._roundA=Math.round(100*this._a)/100,this._format=Ft.format||Vt.format,this._gradientType=Ft.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=Vt.ok}rt.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var Ft=this.toRgb();return(Ft.r*299+Ft.g*587+Ft.b*114)/1e3},getLuminance:function(){var Ft=this.toRgb(),Vt,Jt,or,Ar,hr,vr;return Vt=Ft.r/255,Jt=Ft.g/255,or=Ft.b/255,Vt<=.03928?Ar=Vt/12.92:Ar=Math.pow((Vt+.055)/1.055,2.4),Jt<=.03928?hr=Jt/12.92:hr=Math.pow((Jt+.055)/1.055,2.4),or<=.03928?vr=or/12.92:vr=Math.pow((or+.055)/1.055,2.4),.2126*Ar+.7152*hr+.0722*vr},setAlpha:function(Ft){return this._a=Ot(Ft),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var Ft=st(this._r,this._g,this._b);return{h:Ft.h*360,s:Ft.s,v:Ft.v,a:this._a}},toHsvString:function(){var Ft=st(this._r,this._g,this._b),Vt=Math.round(Ft.h*360),Jt=Math.round(Ft.s*100),or=Math.round(Ft.v*100);return this._a==1?"hsv("+Vt+", "+Jt+"%, "+or+"%)":"hsva("+Vt+", "+Jt+"%, "+or+"%, "+this._roundA+")"},toHsl:function(){var Ft=it(this._r,this._g,this._b);return{h:Ft.h*360,s:Ft.s,l:Ft.l,a:this._a}},toHslString:function(){var Ft=it(this._r,this._g,this._b),Vt=Math.round(Ft.h*360),Jt=Math.round(Ft.s*100),or=Math.round(Ft.l*100);return this._a==1?"hsl("+Vt+", "+Jt+"%, "+or+"%)":"hsla("+Vt+", "+Jt+"%, "+or+"%, "+this._roundA+")"},toHex:function(Ft){return ct(this._r,this._g,this._b,Ft)},toHexString:function(Ft){return"#"+this.toHex(Ft)},toHex8:function(Ft){return ut(this._r,this._g,this._b,this._a,Ft)},toHex8String:function(Ft){return"#"+this.toHex8(Ft)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(Mt(this._r,255)*100)+"%",g:Math.round(Mt(this._g,255)*100)+"%",b:Math.round(Mt(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(Mt(this._r,255)*100)+"%, "+Math.round(Mt(this._g,255)*100)+"%, "+Math.round(Mt(this._b,255)*100)+"%)":"rgba("+Math.round(Mt(this._r,255)*100)+"%, "+Math.round(Mt(this._g,255)*100)+"%, "+Math.round(Mt(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:Tt[ct(this._r,this._g,this._b,!0)]||!1},toFilter:function(Ft){var Vt="#"+ft(this._r,this._g,this._b,this._a),Jt=Vt,or=this._gradientType?"GradientType = 1, ":"";if(Ft){var Ar=rt(Ft);Jt="#"+ft(Ar._r,Ar._g,Ar._b,Ar._a)}return"progid:DXImageTransform.Microsoft.gradient("+or+"startColorstr="+Vt+",endColorstr="+Jt+")"},toString:function(Ft){var Vt=!!Ft;Ft=Ft||this._format;var Jt=!1,or=this._a<1&&this._a>=0,Ar=!Vt&&or&&(Ft==="hex"||Ft==="hex6"||Ft==="hex3"||Ft==="hex4"||Ft==="hex8"||Ft==="name");return Ar?Ft==="name"&&this._a===0?this.toName():this.toRgbString():(Ft==="rgb"&&(Jt=this.toRgbString()),Ft==="prgb"&&(Jt=this.toPercentageRgbString()),(Ft==="hex"||Ft==="hex6")&&(Jt=this.toHexString()),Ft==="hex3"&&(Jt=this.toHexString(!0)),Ft==="hex4"&&(Jt=this.toHex8String(!0)),Ft==="hex8"&&(Jt=this.toHex8String()),Ft==="name"&&(Jt=this.toName()),Ft==="hsl"&&(Jt=this.toHslString()),Ft==="hsv"&&(Jt=this.toHsvString()),Jt||this.toHexString())},clone:function(){return rt(this.toString())},_applyModification:function(Ft,Vt){var Jt=Ft.apply(null,[this].concat([].slice.call(Vt)));return this._r=Jt._r,this._g=Jt._g,this._b=Jt._b,this.setAlpha(Jt._a),this},lighten:function(){return this._applyModification(mt,arguments)},brighten:function(){return this._applyModification(bt,arguments)},darken:function(){return this._applyModification(dt,arguments)},desaturate:function(){return this._applyModification(At,arguments)},saturate:function(){return this._applyModification(vt,arguments)},greyscale:function(){return this._applyModification(ht,arguments)},spin:function(){return this._applyModification(xt,arguments)},_applyCombination:function(Ft,Vt){return Ft.apply(null,[this].concat([].slice.call(Vt)))},analogous:function(){return this._applyCombination(_t,arguments)},complement:function(){return this._applyCombination(Ct,arguments)},monochromatic:function(){return this._applyCombination(Et,arguments)},splitcomplement:function(){return this._applyCombination(wt,arguments)},triad:function(){return this._applyCombination(gt,[3])},tetrad:function(){return this._applyCombination(gt,[4])}},rt.fromRatio=function(Ht,Ft){if(_e(Ht)=="object"){var Vt={};for(var Jt in Ht)Ht.hasOwnProperty(Jt)&&(Jt==="a"?Vt[Jt]=Ht[Jt]:Vt[Jt]=Wt(Ht[Jt]));Ht=Vt}return rt(Ht,Ft)};function at(Ht){var Ft={r:0,g:0,b:0},Vt=1,Jt=null,or=null,Ar=null,hr=!1,vr=!1;return typeof Ht=="string"&&(Ht=er(Ht)),_e(Ht)=="object"&&(Kt(Ht.r)&&Kt(Ht.g)&&Kt(Ht.b)?(Ft=nt(Ht.r,Ht.g,Ht.b),hr=!0,vr=String(Ht.r).substr(-1)==="%"?"prgb":"rgb"):Kt(Ht.h)&&Kt(Ht.s)&&Kt(Ht.v)?(Jt=Wt(Ht.s),or=Wt(Ht.v),Ft=lt(Ht.h,Jt,or),hr=!0,vr="hsv"):Kt(Ht.h)&&Kt(Ht.s)&&Kt(Ht.l)&&(Jt=Wt(Ht.s),Ar=Wt(Ht.l),Ft=ot(Ht.h,Jt,Ar),hr=!0,vr="hsl"),Ht.hasOwnProperty("a")&&(Vt=Ht.a)),Vt=Ot(Vt),{ok:hr,format:Ht.format||vr,r:Math.min(255,Math.max(Ft.r,0)),g:Math.min(255,Math.max(Ft.g,0)),b:Math.min(255,Math.max(Ft.b,0)),a:Vt}}function nt(Ht,Ft,Vt){return{r:Mt(Ht,255)*255,g:Mt(Ft,255)*255,b:Mt(Vt,255)*255}}function it(Ht,Ft,Vt){Ht=Mt(Ht,255),Ft=Mt(Ft,255),Vt=Mt(Vt,255);var Jt=Math.max(Ht,Ft,Vt),or=Math.min(Ht,Ft,Vt),Ar,hr,vr=(Jt+or)/2;if(Jt==or)Ar=hr=0;else{var Er=Jt-or;switch(hr=vr>.5?Er/(2-Jt-or):Er/(Jt+or),Jt){case Ht:Ar=(Ft-Vt)/Er+(Ft1&&(Lr-=1),Lr<1/6?mr+(Or-mr)*6*Lr:Lr<1/2?Or:Lr<2/3?mr+(Or-mr)*(2/3-Lr)*6:mr}if(Ft===0)Jt=or=Ar=Vt;else{var vr=Vt<.5?Vt*(1+Ft):Vt+Ft-Vt*Ft,Er=2*Vt-vr;Jt=hr(Er,vr,Ht+1/3),or=hr(Er,vr,Ht),Ar=hr(Er,vr,Ht-1/3)}return{r:Jt*255,g:or*255,b:Ar*255}}function st(Ht,Ft,Vt){Ht=Mt(Ht,255),Ft=Mt(Ft,255),Vt=Mt(Vt,255);var Jt=Math.max(Ht,Ft,Vt),or=Math.min(Ht,Ft,Vt),Ar,hr,vr=Jt,Er=Jt-or;if(hr=Jt===0?0:Er/Jt,Jt==or)Ar=0;else{switch(Jt){case Ht:Ar=(Ft-Vt)/Er+(Ft>1)+720)%360;--Ft;)Jt.h=(Jt.h+or)%360,Ar.push(rt(Jt));return Ar}function Et(Ht,Ft){Ft=Ft||6;for(var Vt=rt(Ht).toHsv(),Jt=Vt.h,or=Vt.s,Ar=Vt.v,hr=[],vr=1/Ft;Ft--;)hr.push(rt({h:Jt,s:or,v:Ar})),Ar=(Ar+vr)%1;return hr}rt.mix=function(Ht,Ft,Vt){Vt=Vt===0?0:Vt||50;var Jt=rt(Ht).toRgb(),or=rt(Ft).toRgb(),Ar=Vt/100,hr={r:(or.r-Jt.r)*Ar+Jt.r,g:(or.g-Jt.g)*Ar+Jt.g,b:(or.b-Jt.b)*Ar+Jt.b,a:(or.a-Jt.a)*Ar+Jt.a};return rt(hr)},rt.readability=function(Ht,Ft){var Vt=rt(Ht),Jt=rt(Ft);return(Math.max(Vt.getLuminance(),Jt.getLuminance())+.05)/(Math.min(Vt.getLuminance(),Jt.getLuminance())+.05)},rt.isReadable=function(Ht,Ft,Vt){var Jt=rt.readability(Ht,Ft),or,Ar;switch(Ar=!1,or=Ut(Vt),or.level+or.size){case"AAsmall":case"AAAlarge":Ar=Jt>=4.5;break;case"AAlarge":Ar=Jt>=3;break;case"AAAsmall":Ar=Jt>=7;break}return Ar},rt.mostReadable=function(Ht,Ft,Vt){var Jt=null,or=0,Ar,hr,vr,Er;Vt=Vt||{},hr=Vt.includeFallbackColors,vr=Vt.level,Er=Vt.size;for(var mr=0;mror&&(or=Ar,Jt=rt(Ft[mr]));return rt.isReadable(Ht,Jt,{level:vr,size:Er})||!hr?Jt:(Vt.includeFallbackColors=!1,rt.mostReadable(Ht,["#fff","#000"],Vt))};var It=rt.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},Tt=rt.hexNames=Rt(It);function Rt(Ht){var Ft={};for(var Vt in Ht)Ht.hasOwnProperty(Vt)&&(Ft[Ht[Vt]]=Vt);return Ft}function Ot(Ht){return Ht=parseFloat(Ht),(isNaN(Ht)||Ht<0||Ht>1)&&(Ht=1),Ht}function Mt(Ht,Ft){jt(Ht)&&(Ht="100%");var Vt=zt(Ht);return Ht=Math.min(Ft,Math.max(0,parseFloat(Ht))),Vt&&(Ht=parseInt(Ht*Ft,10)/100),Math.abs(Ht-Ft)<1e-6?1:Ht%Ft/parseFloat(Ft)}function Bt(Ht){return Math.min(1,Math.max(0,Ht))}function Lt(Ht){return parseInt(Ht,16)}function jt(Ht){return typeof Ht=="string"&&Ht.indexOf(".")!=-1&&parseFloat(Ht)===1}function zt(Ht){return typeof Ht=="string"&&Ht.indexOf("%")!=-1}function Nt(Ht){return Ht.length==1?"0"+Ht:""+Ht}function Wt(Ht){return Ht<=1&&(Ht=Ht*100+"%"),Ht}function qt(Ht){return Math.round(parseFloat(Ht)*255).toString(16)}function nr(Ht){return Lt(Ht)/255}var ar=function(){var Ht="[-\\+]?\\d+%?",Ft="[-\\+]?\\d*\\.\\d+%?",Vt="(?:"+Ft+")|(?:"+Ht+")",Jt="[\\s|\\(]+("+Vt+")[,|\\s]+("+Vt+")[,|\\s]+("+Vt+")\\s*\\)?",or="[\\s|\\(]+("+Vt+")[,|\\s]+("+Vt+")[,|\\s]+("+Vt+")[,|\\s]+("+Vt+")\\s*\\)?";return{CSS_UNIT:new RegExp(Vt),rgb:new RegExp("rgb"+Jt),rgba:new RegExp("rgba"+or),hsl:new RegExp("hsl"+Jt),hsla:new RegExp("hsla"+or),hsv:new RegExp("hsv"+Jt),hsva:new RegExp("hsva"+or),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Kt(Ht){return!!ar.CSS_UNIT.exec(Ht)}function er(Ht){Ht=Ht.replace(et,"").replace(tt,"").toLowerCase();var Ft=!1;if(It[Ht])Ht=It[Ht],Ft=!0;else if(Ht=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var Vt;return(Vt=ar.rgb.exec(Ht))?{r:Vt[1],g:Vt[2],b:Vt[3]}:(Vt=ar.rgba.exec(Ht))?{r:Vt[1],g:Vt[2],b:Vt[3],a:Vt[4]}:(Vt=ar.hsl.exec(Ht))?{h:Vt[1],s:Vt[2],l:Vt[3]}:(Vt=ar.hsla.exec(Ht))?{h:Vt[1],s:Vt[2],l:Vt[3],a:Vt[4]}:(Vt=ar.hsv.exec(Ht))?{h:Vt[1],s:Vt[2],v:Vt[3]}:(Vt=ar.hsva.exec(Ht))?{h:Vt[1],s:Vt[2],v:Vt[3],a:Vt[4]}:(Vt=ar.hex8.exec(Ht))?{r:Lt(Vt[1]),g:Lt(Vt[2]),b:Lt(Vt[3]),a:nr(Vt[4]),format:Ft?"name":"hex8"}:(Vt=ar.hex6.exec(Ht))?{r:Lt(Vt[1]),g:Lt(Vt[2]),b:Lt(Vt[3]),format:Ft?"name":"hex"}:(Vt=ar.hex4.exec(Ht))?{r:Lt(Vt[1]+""+Vt[1]),g:Lt(Vt[2]+""+Vt[2]),b:Lt(Vt[3]+""+Vt[3]),a:nr(Vt[4]+""+Vt[4]),format:Ft?"name":"hex8"}:(Vt=ar.hex3.exec(Ht))?{r:Lt(Vt[1]+""+Vt[1]),g:Lt(Vt[2]+""+Vt[2]),b:Lt(Vt[3]+""+Vt[3]),format:Ft?"name":"hex"}:!1}function Ut(Ht){var Ft,Vt;return Ht=Ht||{level:"AA",size:"small"},Ft=(Ht.level||"AA").toUpperCase(),Vt=(Ht.size||"small").toLowerCase(),Ft!=="AA"&&Ft!=="AAA"&&(Ft="AA"),Vt!=="small"&&Vt!=="large"&&(Vt="small"),{level:Ft,size:Vt}}return rt})})(tinycolor);var __importDefault$e=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(generate$3,"__esModule",{value:!0});var tinycolor2_1=__importDefault$e(tinycolorExports),hueStep=2,saturationStep=16,saturationStep2=5,brightnessStep1=5,brightnessStep2=15,lightColorCount=5,darkColorCount=4;function getHue(o,$,_e){var et;return Math.round(o.h)>=60&&Math.round(o.h)<=240?et=_e?Math.round(o.h)-hueStep*$:Math.round(o.h)+hueStep*$:et=_e?Math.round(o.h)+hueStep*$:Math.round(o.h)-hueStep*$,et<0?et+=360:et>=360&&(et-=360),et}function getSaturation(o,$,_e){if(o.h===0&&o.s===0)return o.s;var et;return _e?et=Math.round(o.s*100)-saturationStep*$:$===darkColorCount?et=Math.round(o.s*100)+saturationStep:et=Math.round(o.s*100)+saturationStep2*$,et>100&&(et=100),_e&&$===lightColorCount&&et>10&&(et=10),et<6&&(et=6),et}function getValue$5(o,$,_e){return _e?Math.round(o.v*100)+brightnessStep1*$:Math.round(o.v*100)-brightnessStep2*$}function generate$2(o){for(var $=[],_e=tinycolor2_1.default(o),et=lightColorCount;et>0;et-=1){var tt=_e.toHsv(),rt=tinycolor2_1.default({h:getHue(tt,et,!0),s:getSaturation(tt,et,!0),v:getValue$5(tt,et,!0)}).toHexString();$.push(rt)}$.push(_e.toHexString());for(var et=1;et<=darkColorCount;et+=1){var tt=_e.toHsv(),rt=tinycolor2_1.default({h:getHue(tt,et),s:getSaturation(tt,et),v:getValue$5(tt,et)}).toHexString();$.push(rt)}return $}generate$3.default=generate$2;var __importDefault$d=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(lib$8,"__esModule",{value:!0});var generate_1=__importDefault$d(generate$3),generate$1=lib$8.generate=generate_1.default,presetPrimaryColors={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"};lib$8.presetPrimaryColors=presetPrimaryColors;var presetPalettes={};lib$8.presetPalettes=presetPalettes;Object.keys(presetPrimaryColors).forEach(function(o){presetPalettes[o]=generate_1.default(presetPrimaryColors[o]),presetPalettes[o].primary=presetPalettes[o][5]});var red=presetPalettes.red;lib$8.red=red;var volcano=presetPalettes.volcano;lib$8.volcano=volcano;var gold=presetPalettes.gold;lib$8.gold=gold;var orange=presetPalettes.orange;lib$8.orange=orange;var yellow=presetPalettes.yellow;lib$8.yellow=yellow;var lime=presetPalettes.lime;lib$8.lime=lime;var green=presetPalettes.green;lib$8.green=green;var cyan=presetPalettes.cyan;lib$8.cyan=cyan;var blue=presetPalettes.blue;lib$8.blue=blue;var geekblue=presetPalettes.geekblue;lib$8.geekblue=geekblue;var purple=presetPalettes.purple;lib$8.purple=purple;var magenta=presetPalettes.magenta;lib$8.magenta=magenta;var grey=presetPalettes.grey;lib$8.grey=grey;function log$2(o){process&&process.env||console.error("[@ant-design/icons-react]: "+o+".")}function isIconDefinition(o){return typeof o=="object"&&typeof o.name=="string"&&typeof o.theme=="string"&&(typeof o.icon=="object"||typeof o.icon=="function")}function normalizeAttrs(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(o).reduce(function($,_e){var et=o[_e];switch(_e){case"class":$.className=et,delete $.class;break;default:$[_e]=et}return $},{})}var MiniMap$2=function(){function o(){_default$c(this,o),this.collection={}}return _default$b(o,[{key:"clear",value:function(){this.collection={}}},{key:"delete",value:function(_e){return delete this.collection[_e]}},{key:"get",value:function(_e){return this.collection[_e]}},{key:"has",value:function(_e){return!!this.collection[_e]}},{key:"set",value:function(_e,et){return this.collection[_e]=et,this}},{key:"size",get:function(){return Object.keys(this.collection).length}}]),o}();function generate(o,$,_e){return _e?reactExports.createElement(o.tag,_default$bE({key:$},normalizeAttrs(o.attrs),_e),(o.children||[]).map(function(et,tt){return generate(et,$+"-"+o.tag+"-"+tt)})):reactExports.createElement(o.tag,_default$bE({key:$},normalizeAttrs(o.attrs)),(o.children||[]).map(function(et,tt){return generate(et,$+"-"+o.tag+"-"+tt)}))}function getSecondaryColor(o){return generate$1(o)[0]}function withSuffix(o,$){switch($){case"fill":return o+"-fill";case"outline":return o+"-o";case"twotone":return o+"-twotone";default:throw new TypeError("Unknown theme type: "+$+", name: "+o)}}var twoToneColorPalette={primaryColor:"#333",secondaryColor:"#E6E6E6"},Icon$2=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"render",value:function(){var et,tt=this.props,rt=tt.type,at=tt.className,nt=tt.onClick,it=tt.style,ot=tt.primaryColor,st=tt.secondaryColor,lt=_default$d(tt,["type","className","onClick","style","primaryColor","secondaryColor"]),ct=void 0,ut=twoToneColorPalette;if(ot&&(ut={primaryColor:ot,secondaryColor:st||getSecondaryColor(ot)}),isIconDefinition(rt))ct=rt;else if(typeof rt=="string"&&(ct=$.get(rt,ut),!ct))return null;return ct?(ct&&typeof ct.icon=="function"&&(ct=_default$bE({},ct,{icon:ct.icon(ut.primaryColor,ut.secondaryColor)})),generate(ct.icon,"svg-"+ct.name,_default$bE((et={className:at,onClick:nt,style:it},_default$e(et,"data-icon",ct.name),_default$e(et,"width","1em"),_default$e(et,"height","1em"),_default$e(et,"fill","currentColor"),_default$e(et,"aria-hidden","true"),_default$e(et,"focusable","false"),et),lt))):(log$2("type should be string or icon definiton, but got "+rt),null)}}],[{key:"add",value:function(){for(var et=this,tt=arguments.length,rt=Array(tt),at=0;at1&&arguments[1]!==void 0?arguments[1]:twoToneColorPalette;if(et){var rt=this.definitions.get(et);return rt&&typeof rt.icon=="function"&&(rt=_default$bE({},rt,{icon:rt.icon(tt.primaryColor,tt.secondaryColor)})),rt}}},{key:"setTwoToneColors",value:function(et){var tt=et.primaryColor,rt=et.secondaryColor;twoToneColorPalette.primaryColor=tt,twoToneColorPalette.secondaryColor=rt||getSecondaryColor(tt)}},{key:"getTwoToneColors",value:function(){return _default$bE({},twoToneColorPalette)}}]),$}(reactExports.Component);Icon$2.displayName="IconReact";Icon$2.definitions=new MiniMap$2;const ReactIcon=Icon$2,es$3=Object.freeze(Object.defineProperty({__proto__:null,default:ReactIcon},Symbol.toStringTag,{value:"Module"}));function _extends$29(){return _extends$29=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{},$=o.scriptUrl,_e=o.extraCommonProps,et=_e===void 0?{}:_e;if(typeof document<"u"&&typeof window<"u"&&typeof document.createElement=="function"&&typeof $=="string"&&$.length&&!customCache.has($)){var tt=document.createElement("script");tt.setAttribute("src",$),tt.setAttribute("data-namespace",$),customCache.add($),document.body.appendChild(tt)}var rt=function(nt){var it=nt.type,ot=nt.children,st=__rest$C(nt,["type","children"]),lt=null;return nt.type&&(lt=reactExports.createElement("use",{xlinkHref:"#".concat(it)})),ot&&(lt=ot),reactExports.createElement(Icon$1,_extends$29({},et,st),lt)};return rt.displayName="Iconfont",rt}var svgBaseProps$1={width:"1em",height:"1em",fill:"currentColor","aria-hidden":!0,focusable:"false"},fillTester$1=/-fill$/,outlineTester$1=/-o$/,twoToneTester$1=/-twotone$/;function getThemeFromTypeName$1(o){var $=null;return fillTester$1.test(o)?$="filled":outlineTester$1.test(o)?$="outlined":twoToneTester$1.test(o)&&($="twoTone"),$}function removeTypeTheme$1(o){return o.replace(fillTester$1,"").replace(outlineTester$1,"").replace(twoToneTester$1,"")}function withThemeSuffix$1(o,$){var _e=o;return $==="filled"?_e+="-fill":$==="outlined"?_e+="-o":$==="twoTone"?_e+="-twotone":warning$4(!1,"Icon","This icon '".concat(o,"' has unknown theme '").concat($,"'")),_e}function alias$1(o){var $=o;switch(o){case"cross":$="close";break;case"interation":$="interaction";break;case"canlendar":$="calendar";break;case"colum-height":$="column-height";break}return warning$4($===o,"Icon","Icon '".concat(o,"' was a typo and is now deprecated, please use '").concat($,"' instead.")),$}function setTwoToneColor$1(o){return ReactIcon.setTwoToneColors({primaryColor:o})}function getTwoToneColor$1(){var o=ReactIcon.getTwoToneColors();return o.primaryColor}function _extends$28(){return _extends$28=Object.assign||function(o){for(var $=1;$o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}var __rest$B=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1h(o){return _getPrototypeOf$1h=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1h(o)}var __rest$A=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0&&arguments[0]!==void 0?arguments[0]:"";return o+=1,"".concat($).concat(o)}}(),InternalSider=function(o){_inherits$1$(_e,o);var $=_createSuper$12(_e);function _e(et){var tt;_classCallCheck$21(this,_e),tt=$.call(this,et),tt.responsiveHandler=function(nt){tt.setState({below:nt.matches});var it=tt.props.onBreakpoint;it&&it(nt.matches),tt.state.collapsed!==nt.matches&&tt.setCollapsed(nt.matches,"responsive")},tt.setCollapsed=function(nt,it){"collapsed"in tt.props||tt.setState({collapsed:nt});var ot=tt.props.onCollapse;ot&&ot(nt,it)},tt.toggle=function(){var nt=!tt.state.collapsed;tt.setCollapsed(nt,"clickTrigger")},tt.belowShowChange=function(){tt.setState(function(nt){var it=nt.belowShow;return{belowShow:!it}})},tt.renderSider=function(nt){var it,ot=nt.getPrefixCls,st=tt.props,lt=st.prefixCls,ct=st.className,ut=st.theme,ft=st.collapsible,At=st.reverseArrow,vt=st.trigger,ht=st.style,mt=st.width,bt=st.collapsedWidth,dt=st.zeroWidthTriggerStyle,xt=__rest$A(st,["prefixCls","className","theme","collapsible","reverseArrow","trigger","style","width","collapsedWidth","zeroWidthTriggerStyle"]),Ct=ot("layout-sider",lt),gt=omit(xt,["collapsed","defaultCollapsed","onCollapse","breakpoint","onBreakpoint","siderHook","zeroWidthTriggerStyle"]),wt=tt.state.collapsed?bt:mt,_t=isNumeric$1(wt)?"".concat(wt,"px"):String(wt),Et=parseFloat(String(bt||0))===0?reactExports.createElement("span",{onClick:tt.toggle,className:"".concat(Ct,"-zero-width-trigger ").concat(Ct,"-zero-width-trigger-").concat(At?"right":"left"),style:dt},reactExports.createElement(Icon$1,{type:"bars"})):null,It={expanded:At?reactExports.createElement(Icon$1,{type:"right"}):reactExports.createElement(Icon$1,{type:"left"}),collapsed:At?reactExports.createElement(Icon$1,{type:"left"}):reactExports.createElement(Icon$1,{type:"right"})},Tt=tt.state.collapsed?"collapsed":"expanded",Rt=It[Tt],Ot=vt!==null?Et||reactExports.createElement("div",{className:"".concat(Ct,"-trigger"),onClick:tt.toggle,style:{width:_t}},vt||Rt):null,Mt=_extends$27(_extends$27({},ht),{flex:"0 0 ".concat(_t),maxWidth:_t,minWidth:_t,width:_t}),Bt=classNames(ct,Ct,"".concat(Ct,"-").concat(ut),(it={},_defineProperty$1d(it,"".concat(Ct,"-collapsed"),!!tt.state.collapsed),_defineProperty$1d(it,"".concat(Ct,"-has-trigger"),ft&&vt!==null&&!Et),_defineProperty$1d(it,"".concat(Ct,"-below"),!!tt.state.below),_defineProperty$1d(it,"".concat(Ct,"-zero-width"),parseFloat(_t)===0),it));return reactExports.createElement("aside",_extends$27({className:Bt},gt,{style:Mt}),reactExports.createElement("div",{className:"".concat(Ct,"-children")},tt.props.children),ft||tt.state.below&&Et?Ot:null)},tt.uniqueId=generateId$1("ant-sider-");var rt;typeof window<"u"&&(rt=window.matchMedia),rt&&et.breakpoint&&et.breakpoint in dimensionMaxMap&&(tt.mql=rt("(max-width: ".concat(dimensionMaxMap[et.breakpoint],")")));var at;return"collapsed"in et?at=et.collapsed:at=et.defaultCollapsed,tt.state={collapsed:at,below:!1},tt}return _createClass$1X(_e,[{key:"componentDidMount",value:function(){this.mql&&(this.mql.addListener(this.responsiveHandler),this.responsiveHandler(this.mql)),this.props.siderHook&&this.props.siderHook.addSider(this.uniqueId)}},{key:"componentWillUnmount",value:function(){this.mql&&this.mql.removeListener(this.responsiveHandler),this.props.siderHook&&this.props.siderHook.removeSider(this.uniqueId)}},{key:"render",value:function(){var tt=this.state.collapsed,rt=this.props.collapsedWidth;return reactExports.createElement(SiderContext.Provider,{value:{siderCollapsed:tt,collapsedWidth:rt}},reactExports.createElement(ConfigConsumer,null,this.renderSider))}}],[{key:"getDerivedStateFromProps",value:function(tt){return"collapsed"in tt?{collapsed:tt.collapsed}:null}}]),_e}(reactExports.Component);InternalSider.defaultProps={collapsible:!1,defaultCollapsed:!1,reverseArrow:!1,width:200,collapsedWidth:80,style:{},theme:"dark"};polyfill(InternalSider);var Sider=function(o){_inherits$1$(_e,o);var $=_createSuper$12(_e);function _e(){return _classCallCheck$21(this,_e),$.apply(this,arguments)}return _createClass$1X(_e,[{key:"render",value:function(){var tt=this;return reactExports.createElement(LayoutContext.Consumer,null,function(rt){return reactExports.createElement(InternalSider,_extends$27({},rt,tt.props))})}}]),_e}(reactExports.Component);Layout$1.Sider=Sider;var classnamesExports={},classnames={get exports(){return classnamesExports},set exports(o){classnamesExports=o}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames @@ -75,11 +75,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho object-assign (c) Sindre Sorhus @license MIT -*/var getOwnPropertySymbols$2=Object.getOwnPropertySymbols,hasOwnProperty$g=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject$3(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function shouldUseNative(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var $={},_e=0;_e<10;_e++)$["_"+String.fromCharCode(_e)]=_e;var et=Object.getOwnPropertyNames($).map(function(rt){return $[rt]});if(et.join("")!=="0123456789")return!1;var tt={};return"abcdefghijklmnopqrst".split("").forEach(function(rt){tt[rt]=rt}),Object.keys(Object.assign({},tt)).join("")==="abcdefghijklmnopqrst"}catch(rt){return!1}}var objectAssign=shouldUseNative()?Object.assign:function(o,$){for(var _e,et=toObject$3(o),tt,rt=1;rt=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e},possibleConstructorReturn$1=function(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o},encodeSpecialCharacters=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return _e===!1?String($):String($).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},getTitleFromPropsList=function($){var _e=getInnermostProperty($,TAG_NAMES.TITLE),et=getInnermostProperty($,HELMET_PROPS.TITLE_TEMPLATE);if(et&&_e)return et.replace(/%s/g,function(){return Array.isArray(_e)?_e.join(""):_e});var tt=getInnermostProperty($,HELMET_PROPS.DEFAULT_TITLE);return _e||tt||void 0},getOnChangeClientState=function($){return getInnermostProperty($,HELMET_PROPS.ON_CHANGE_CLIENT_STATE)||function(){}},getAttributesFromPropsList=function($,_e){return _e.filter(function(et){return typeof et[$]<"u"}).map(function(et){return et[$]}).reduce(function(et,tt){return _extends$26({},et,tt)},{})},getBaseTagFromPropsList=function($,_e){return _e.filter(function(et){return typeof et[TAG_NAMES.BASE]<"u"}).map(function(et){return et[TAG_NAMES.BASE]}).reverse().reduce(function(et,tt){if(!et.length)for(var rt=Object.keys(tt),at=0;at=0;et--){var tt=$[et];if(tt.hasOwnProperty(_e))return tt[_e]}return null},reducePropsToState=function($){return{baseTag:getBaseTagFromPropsList([TAG_PROPERTIES.HREF,TAG_PROPERTIES.TARGET],$),bodyAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY,$),defer:getInnermostProperty($,HELMET_PROPS.DEFER),encode:getInnermostProperty($,HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML,$),linkTags:getTagsFromPropsList(TAG_NAMES.LINK,[TAG_PROPERTIES.REL,TAG_PROPERTIES.HREF],$),metaTags:getTagsFromPropsList(TAG_NAMES.META,[TAG_PROPERTIES.NAME,TAG_PROPERTIES.CHARSET,TAG_PROPERTIES.HTTPEQUIV,TAG_PROPERTIES.PROPERTY,TAG_PROPERTIES.ITEM_PROP],$),noscriptTags:getTagsFromPropsList(TAG_NAMES.NOSCRIPT,[TAG_PROPERTIES.INNER_HTML],$),onChangeClientState:getOnChangeClientState($),scriptTags:getTagsFromPropsList(TAG_NAMES.SCRIPT,[TAG_PROPERTIES.SRC,TAG_PROPERTIES.INNER_HTML],$),styleTags:getTagsFromPropsList(TAG_NAMES.STYLE,[TAG_PROPERTIES.CSS_TEXT],$),title:getTitleFromPropsList($),titleAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE,$)}},rafPolyfill=function(){var o=Date.now();return function($){var _e=Date.now();_e-o>16?(o=_e,$(_e)):setTimeout(function(){rafPolyfill($)},0)}}(),cafPolyfill=function($){return clearTimeout($)},requestAnimationFrame$2=typeof window<"u"?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||rafPolyfill:global.requestAnimationFrame||rafPolyfill,cancelAnimationFrame$1=typeof window<"u"?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||cafPolyfill:global.cancelAnimationFrame||cafPolyfill,warn$3=function($){return console&&typeof console.warn=="function"&&console.warn($)},_helmetCallback=null,handleClientStateChange=function($){_helmetCallback&&cancelAnimationFrame$1(_helmetCallback),$.defer?_helmetCallback=requestAnimationFrame$2(function(){commitTagChanges($,function(){_helmetCallback=null})}):(commitTagChanges($),_helmetCallback=null)},commitTagChanges=function($,_e){var et=$.baseTag,tt=$.bodyAttributes,rt=$.htmlAttributes,at=$.linkTags,nt=$.metaTags,it=$.noscriptTags,ot=$.onChangeClientState,st=$.scriptTags,lt=$.styleTags,ct=$.title,ut=$.titleAttributes;updateAttributes(TAG_NAMES.BODY,tt),updateAttributes(TAG_NAMES.HTML,rt),updateTitle(ct,ut);var ft={baseTag:updateTags(TAG_NAMES.BASE,et),linkTags:updateTags(TAG_NAMES.LINK,at),metaTags:updateTags(TAG_NAMES.META,nt),noscriptTags:updateTags(TAG_NAMES.NOSCRIPT,it),scriptTags:updateTags(TAG_NAMES.SCRIPT,st),styleTags:updateTags(TAG_NAMES.STYLE,lt)},At={},vt={};Object.keys(ft).forEach(function(ht){var bt=ft[ht],pt=bt.newTags,dt=bt.oldTags;pt.length&&(At[ht]=pt),dt.length&&(vt[ht]=ft[ht].oldTags)}),_e&&_e(),ot($,At,vt)},flattenArray$1=function($){return Array.isArray($)?$.join(""):$},updateTitle=function($,_e){typeof $<"u"&&document.title!==$&&(document.title=flattenArray$1($)),updateAttributes(TAG_NAMES.TITLE,_e)},updateAttributes=function($,_e){var et=document.getElementsByTagName($)[0];if(et){for(var tt=et.getAttribute(HELMET_ATTRIBUTE),rt=tt?tt.split(","):[],at=[].concat(rt),nt=Object.keys(_e),it=0;it=0;ct--)et.removeAttribute(at[ct]);rt.length===at.length?et.removeAttribute(HELMET_ATTRIBUTE):et.getAttribute(HELMET_ATTRIBUTE)!==nt.join(",")&&et.setAttribute(HELMET_ATTRIBUTE,nt.join(","))}},updateTags=function($,_e){var et=document.head||document.querySelector(TAG_NAMES.HEAD),tt=et.querySelectorAll($+"["+HELMET_ATTRIBUTE+"]"),rt=Array.prototype.slice.call(tt),at=[],nt=void 0;return _e&&_e.length&&_e.forEach(function(it){var ot=document.createElement($);for(var st in it)if(it.hasOwnProperty(st))if(st===TAG_PROPERTIES.INNER_HTML)ot.innerHTML=it.innerHTML;else if(st===TAG_PROPERTIES.CSS_TEXT)ot.styleSheet?ot.styleSheet.cssText=it.cssText:ot.appendChild(document.createTextNode(it.cssText));else{var lt=typeof it[st]>"u"?"":it[st];ot.setAttribute(st,lt)}ot.setAttribute(HELMET_ATTRIBUTE,"true"),rt.some(function(ct,ut){return nt=ut,ot.isEqualNode(ct)})?rt.splice(nt,1):at.push(ot)}),rt.forEach(function(it){return it.parentNode.removeChild(it)}),at.forEach(function(it){return et.appendChild(it)}),{oldTags:rt,newTags:at}},generateElementAttributesAsString=function($){return Object.keys($).reduce(function(_e,et){var tt=typeof $[et]<"u"?et+'="'+$[et]+'"':""+et;return _e?_e+" "+tt:tt},"")},generateTitleAsString=function($,_e,et,tt){var rt=generateElementAttributesAsString(et),at=flattenArray$1(_e);return rt?"<"+$+" "+HELMET_ATTRIBUTE+'="true" '+rt+">"+encodeSpecialCharacters(at,tt)+"":"<"+$+" "+HELMET_ATTRIBUTE+'="true">'+encodeSpecialCharacters(at,tt)+""},generateTagsAsString=function($,_e,et){return _e.reduce(function(tt,rt){var at=Object.keys(rt).filter(function(ot){return!(ot===TAG_PROPERTIES.INNER_HTML||ot===TAG_PROPERTIES.CSS_TEXT)}).reduce(function(ot,st){var lt=typeof rt[st]>"u"?st:st+'="'+encodeSpecialCharacters(rt[st],et)+'"';return ot?ot+" "+lt:lt},""),nt=rt.innerHTML||rt.cssText||"",it=SELF_CLOSING_TAGS.indexOf($)===-1;return tt+"<"+$+" "+HELMET_ATTRIBUTE+'="true" '+at+(it?"/>":">"+nt+"")},"")},convertElementAttributestoReactProps=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys($).reduce(function(et,tt){return et[REACT_TAG_MAP[tt]||tt]=$[tt],et},_e)},convertReactPropstoHtmlAttributes=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys($).reduce(function(et,tt){return et[HTML_TAG_MAP[tt]||tt]=$[tt],et},_e)},generateTitleAsReactComponent=function($,_e,et){var tt,rt=(tt={key:_e},tt[HELMET_ATTRIBUTE]=!0,tt),at=convertElementAttributestoReactProps(et,rt);return[React$k.createElement(TAG_NAMES.TITLE,at,_e)]},generateTagsAsReactComponent=function($,_e){return _e.map(function(et,tt){var rt,at=(rt={key:tt},rt[HELMET_ATTRIBUTE]=!0,rt);return Object.keys(et).forEach(function(nt){var it=REACT_TAG_MAP[nt]||nt;if(it===TAG_PROPERTIES.INNER_HTML||it===TAG_PROPERTIES.CSS_TEXT){var ot=et.innerHTML||et.cssText;at.dangerouslySetInnerHTML={__html:ot}}else at[it]=et[nt]}),React$k.createElement($,at)})},getMethodsForTag=function($,_e,et){switch($){case TAG_NAMES.TITLE:return{toComponent:function(){return generateTitleAsReactComponent($,_e.title,_e.titleAttributes)},toString:function(){return generateTitleAsString($,_e.title,_e.titleAttributes,et)}};case ATTRIBUTE_NAMES.BODY:case ATTRIBUTE_NAMES.HTML:return{toComponent:function(){return convertElementAttributestoReactProps(_e)},toString:function(){return generateElementAttributesAsString(_e)}};default:return{toComponent:function(){return generateTagsAsReactComponent($,_e)},toString:function(){return generateTagsAsString($,_e,et)}}}},mapStateOnServer=function($){var _e=$.baseTag,et=$.bodyAttributes,tt=$.encode,rt=$.htmlAttributes,at=$.linkTags,nt=$.metaTags,it=$.noscriptTags,ot=$.scriptTags,st=$.styleTags,lt=$.title,ct=lt===void 0?"":lt,ut=$.titleAttributes;return{base:getMethodsForTag(TAG_NAMES.BASE,_e,tt),bodyAttributes:getMethodsForTag(ATTRIBUTE_NAMES.BODY,et,tt),htmlAttributes:getMethodsForTag(ATTRIBUTE_NAMES.HTML,rt,tt),link:getMethodsForTag(TAG_NAMES.LINK,at,tt),meta:getMethodsForTag(TAG_NAMES.META,nt,tt),noscript:getMethodsForTag(TAG_NAMES.NOSCRIPT,it,tt),script:getMethodsForTag(TAG_NAMES.SCRIPT,ot,tt),style:getMethodsForTag(TAG_NAMES.STYLE,st,tt),title:getMethodsForTag(TAG_NAMES.TITLE,{title:ct,titleAttributes:ut},tt)}},Helmet=function($){var _e,et;return et=_e=function(tt){inherits$1(rt,tt);function rt(){return classCallCheck$1(this,rt),possibleConstructorReturn$1(this,tt.apply(this,arguments))}return rt.prototype.shouldComponentUpdate=function(nt){return!reactFastCompare(this.props,nt)},rt.prototype.mapNestedChildrenToProps=function(nt,it){if(!it)return null;switch(nt.type){case TAG_NAMES.SCRIPT:case TAG_NAMES.NOSCRIPT:return{innerHTML:it};case TAG_NAMES.STYLE:return{cssText:it}}throw new Error("<"+nt.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},rt.prototype.flattenArrayTypeChildren=function(nt){var it,ot=nt.child,st=nt.arrayTypeChildren,lt=nt.newChildProps,ct=nt.nestedChildren;return _extends$26({},st,(it={},it[ot.type]=[].concat(st[ot.type]||[],[_extends$26({},lt,this.mapNestedChildrenToProps(ot,ct))]),it))},rt.prototype.mapObjectTypeChildren=function(nt){var it,ot,st=nt.child,lt=nt.newProps,ct=nt.newChildProps,ut=nt.nestedChildren;switch(st.type){case TAG_NAMES.TITLE:return _extends$26({},lt,(it={},it[st.type]=ut,it.titleAttributes=_extends$26({},ct),it));case TAG_NAMES.BODY:return _extends$26({},lt,{bodyAttributes:_extends$26({},ct)});case TAG_NAMES.HTML:return _extends$26({},lt,{htmlAttributes:_extends$26({},ct)})}return _extends$26({},lt,(ot={},ot[st.type]=_extends$26({},ct),ot))},rt.prototype.mapArrayTypeChildrenToProps=function(nt,it){var ot=_extends$26({},it);return Object.keys(nt).forEach(function(st){var lt;ot=_extends$26({},ot,(lt={},lt[st]=nt[st],lt))}),ot},rt.prototype.warnOnInvalidChildren=function(nt,it){return!0},rt.prototype.mapChildrenToProps=function(nt,it){var ot=this,st={};return React$k.Children.forEach(nt,function(lt){if(!(!lt||!lt.props)){var ct=lt.props,ut=ct.children,ft=objectWithoutProperties$1(ct,["children"]),At=convertReactPropstoHtmlAttributes(ft);switch(ot.warnOnInvalidChildren(lt,ut),lt.type){case TAG_NAMES.LINK:case TAG_NAMES.META:case TAG_NAMES.NOSCRIPT:case TAG_NAMES.SCRIPT:case TAG_NAMES.STYLE:st=ot.flattenArrayTypeChildren({child:lt,arrayTypeChildren:st,newChildProps:At,nestedChildren:ut});break;default:it=ot.mapObjectTypeChildren({child:lt,newProps:it,newChildProps:At,nestedChildren:ut});break}}}),it=this.mapArrayTypeChildrenToProps(st,it),it},rt.prototype.render=function(){var nt=this.props,it=nt.children,ot=objectWithoutProperties$1(nt,["children"]),st=_extends$26({},ot);return it&&(st=this.mapChildrenToProps(it,st)),React$k.createElement($,st)},createClass$1(rt,null,[{key:"canUseDOM",set:function(nt){$.canUseDOM=nt}}]),rt}(React$k.Component),_e.propTypes={base:propTypesExports.object,bodyAttributes:propTypesExports.object,children:propTypesExports.oneOfType([propTypesExports.arrayOf(propTypesExports.node),propTypesExports.node]),defaultTitle:propTypesExports.string,defer:propTypesExports.bool,encodeSpecialCharacters:propTypesExports.bool,htmlAttributes:propTypesExports.object,link:propTypesExports.arrayOf(propTypesExports.object),meta:propTypesExports.arrayOf(propTypesExports.object),noscript:propTypesExports.arrayOf(propTypesExports.object),onChangeClientState:propTypesExports.func,script:propTypesExports.arrayOf(propTypesExports.object),style:propTypesExports.arrayOf(propTypesExports.object),title:propTypesExports.string,titleAttributes:propTypesExports.object,titleTemplate:propTypesExports.string},_e.defaultProps={defer:!0,encodeSpecialCharacters:!0},_e.peek=$.peek,_e.rewind=function(){var tt=$.rewind();return tt||(tt=mapStateOnServer({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),tt},et},NullComponent=function(){return null},HelmetSideEffects=lib$7(reducePropsToState,handleClientStateChange,mapStateOnServer)(NullComponent),HelmetExport=Helmet(HelmetSideEffects);HelmetExport.renderStatic=HelmetExport.rewind;const index$S="",index$R="",index$Q="",index$P="",index$O="";function contains$1(o,$){for(var _e=$;_e;){if(_e===o)return!0;_e=_e.parentNode}return!1}var libExports$2={},lib$6={get exports(){return libExports$2},set exports(o){libExports$2=o}},EventObjectExports={},EventObject={get exports(){return EventObjectExports},set exports(o){EventObjectExports=o}},EventBaseObjectExports={},EventBaseObject={get exports(){return EventBaseObjectExports},set exports(o){EventBaseObjectExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});function _e(){return!1}function et(){return!0}function tt(){this.timeStamp=Date.now(),this.target=void 0,this.currentTarget=void 0}tt.prototype={isEventObject:1,constructor:tt,isDefaultPrevented:_e,isPropagationStopped:_e,isImmediatePropagationStopped:_e,preventDefault:function(){this.isDefaultPrevented=et},stopPropagation:function(){this.isPropagationStopped=et},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=et,this.stopPropagation()},halt:function(at){at?this.stopImmediatePropagation():this.stopPropagation(),this.preventDefault()}},$.default=tt,o.exports=$.default})(EventBaseObject,EventBaseObjectExports);(function(o,$){Object.defineProperty($,"__esModule",{value:!0});function _e(vt){return vt&&vt.__esModule?vt:{default:vt}}var et=EventBaseObjectExports,tt=_e(et),rt=objectAssign,at=_e(rt),nt=!0,it=!1,ot=["altKey","bubbles","cancelable","ctrlKey","currentTarget","eventPhase","metaKey","shiftKey","target","timeStamp","view","type"];function st(vt){return vt==null}var lt=[{reg:/^key/,props:["char","charCode","key","keyCode","which"],fix:function(ht,bt){st(ht.which)&&(ht.which=st(bt.charCode)?bt.keyCode:bt.charCode),ht.metaKey===void 0&&(ht.metaKey=ht.ctrlKey)}},{reg:/^touch/,props:["touches","changedTouches","targetTouches"]},{reg:/^hashchange$/,props:["newURL","oldURL"]},{reg:/^gesturechange$/i,props:["rotation","scale"]},{reg:/^(mousewheel|DOMMouseScroll)$/,props:[],fix:function(ht,bt){var pt=void 0,dt=void 0,_t=void 0,Ct=bt.wheelDelta,gt=bt.axis,yt=bt.wheelDeltaY,xt=bt.wheelDeltaX,Et=bt.detail;Ct&&(_t=Ct/120),Et&&(_t=0-(Et%3===0?Et/3:Et)),gt!==void 0&&(gt===ht.HORIZONTAL_AXIS?(dt=0,pt=0-_t):gt===ht.VERTICAL_AXIS&&(pt=0,dt=_t)),yt!==void 0&&(dt=yt/120),xt!==void 0&&(pt=-1*xt/120),!pt&&!dt&&(dt=_t),pt!==void 0&&(ht.deltaX=pt),dt!==void 0&&(ht.deltaY=dt),_t!==void 0&&(ht.delta=_t)}},{reg:/^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,props:["buttons","clientX","clientY","button","offsetX","relatedTarget","which","fromElement","toElement","offsetY","pageX","pageY","screenX","screenY"],fix:function(ht,bt){var pt=void 0,dt=void 0,_t=void 0,Ct=ht.target,gt=bt.button;return Ct&&st(ht.pageX)&&!st(bt.clientX)&&(pt=Ct.ownerDocument||document,dt=pt.documentElement,_t=pt.body,ht.pageX=bt.clientX+(dt&&dt.scrollLeft||_t&&_t.scrollLeft||0)-(dt&&dt.clientLeft||_t&&_t.clientLeft||0),ht.pageY=bt.clientY+(dt&&dt.scrollTop||_t&&_t.scrollTop||0)-(dt&&dt.clientTop||_t&&_t.clientTop||0)),!ht.which&>!==void 0&&(gt&1?ht.which=1:gt&2?ht.which=3:gt&4?ht.which=2:ht.which=0),!ht.relatedTarget&&ht.fromElement&&(ht.relatedTarget=ht.fromElement===Ct?ht.toElement:ht.fromElement),ht}}];function ct(){return nt}function ut(){return it}function ft(vt){var ht=vt.type,bt=typeof vt.stopPropagation=="function"||typeof vt.cancelBubble=="boolean";tt.default.call(this),this.nativeEvent=vt;var pt=ut;"defaultPrevented"in vt?pt=vt.defaultPrevented?ct:ut:"getPreventDefault"in vt?pt=vt.getPreventDefault()?ct:ut:"returnValue"in vt&&(pt=vt.returnValue===it?ct:ut),this.isDefaultPrevented=pt;var dt=[],_t=void 0,Ct=void 0,gt=void 0,yt=ot.concat();for(lt.forEach(function(xt){ht.match(xt.reg)&&(yt=yt.concat(xt.props),xt.fix&&dt.push(xt.fix))}),Ct=yt.length;Ct;)gt=yt[--Ct],this[gt]=vt[gt];for(!this.target&&bt&&(this.target=vt.srcElement||document),this.target&&this.target.nodeType===3&&(this.target=this.target.parentNode),Ct=dt.length;Ct;)_t=dt[--Ct],_t(this,vt);this.timeStamp=vt.timeStamp||Date.now()}var At=tt.default.prototype;(0,at.default)(ft.prototype,At,{constructor:ft,preventDefault:function(){var ht=this.nativeEvent;ht.preventDefault?ht.preventDefault():ht.returnValue=it,At.preventDefault.call(this)},stopPropagation:function(){var ht=this.nativeEvent;ht.stopPropagation?ht.stopPropagation():ht.cancelBubble=nt,At.stopPropagation.call(this)}}),$.default=ft,o.exports=$.default})(EventObject,EventObjectExports);(function(o,$){Object.defineProperty($,"__esModule",{value:!0}),$.default=rt;function _e(at){return at&&at.__esModule?at:{default:at}}var et=EventObjectExports,tt=_e(et);function rt(at,nt,it,ot){function st(ct){var ut=new tt.default(ct);it.call(at,ut)}if(at.addEventListener){var lt=function(){var ct=!1;return typeof ot=="object"?ct=ot.capture||!1:typeof ot=="boolean"&&(ct=ot),at.addEventListener(nt,st,ot||!1),{v:{remove:function(){at.removeEventListener(nt,st,ct)}}}}();if(typeof lt=="object")return lt.v}else if(at.attachEvent)return at.attachEvent("on"+nt,st),{remove:function(){at.detachEvent("on"+nt,st)}}}o.exports=$.default})(lib$6,libExports$2);const addDOMEventListener=getDefaultExportFromCjs(libExports$2);function addEventListenerWrap$1(o,$,_e,et){var tt=ReactDOM.unstable_batchedUpdates?function(at){ReactDOM.unstable_batchedUpdates(_e,at)}:_e;return addDOMEventListener(o,$,tt,et)}function _typeof$1g(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1g=function(_e){return typeof _e}:_typeof$1g=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1g(o)}function _classCallCheck$20(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1b(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1W(o,$,_e){return $&&_defineProperties$1b(o.prototype,$),_e&&_defineProperties$1b(o,_e),o}function _inherits$1_(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$1d(o,$)}function _setPrototypeOf$1d(o,$){return _setPrototypeOf$1d=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$1d(o,$)}function _createSuper$11(o){var $=_isNativeReflectConstruct$11();return function(){var et=_getPrototypeOf$1g(o),tt;if($){var rt=_getPrototypeOf$1g(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1_(this,tt)}}function _possibleConstructorReturn$1_(o,$){return $&&(_typeof$1g($)==="object"||typeof $=="function")?$:_assertThisInitialized$1d(o)}function _assertThisInitialized$1d(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$11(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1g(o){return _getPrototypeOf$1g=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1g(o)}var ContainerRender=function(o){_inherits$1_(_e,o);var $=_createSuper$11(_e);function _e(){var et;_classCallCheck$20(this,_e);for(var tt=arguments.length,rt=new Array(tt),at=0;at"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1f(o){return _getPrototypeOf$1f=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1f(o)}var Portal$1=function(o){_inherits$1Z(_e,o);var $=_createSuper$10(_e);function _e(){return _classCallCheck$1$(this,_e),$.apply(this,arguments)}return _createClass$1V(_e,[{key:"componentDidMount",value:function(){this.createContainer()}},{key:"componentDidUpdate",value:function(tt){var rt=this.props.didUpdate;rt&&rt(tt)}},{key:"componentWillUnmount",value:function(){this.removeContainer()}},{key:"createContainer",value:function(){this._container=this.props.getContainer(),this.forceUpdate()}},{key:"removeContainer",value:function(){this._container&&this._container.parentNode.removeChild(this._container)}},{key:"render",value:function(){return this._container?ReactDOM.createPortal(this.props.children,this._container):null}}]),_e}(React$k.Component);Portal$1.propTypes={getContainer:propTypesExports.func.isRequired,children:propTypesExports.node.isRequired,didUpdate:propTypesExports.func};function isPointsEq(o,$,_e){return _e?o[0]===$[0]:o[0]===$[0]&&o[1]===$[1]}function getAlignFromPlacement(o,$,_e){var et=o[$]||{};return _default$bE({},et,_e)}function getAlignPopupClassName(o,$,_e,et){var tt=_e.points;for(var rt in o)if(o.hasOwnProperty(rt)&&isPointsEq(o[rt].points,tt,et))return $+"-placement-"+rt;return""}function saveRef$2(o,$){this[o]=$}var vendorPrefix=void 0,jsCssMap={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-",O:"-o-"};function getVendorPrefix(){if(vendorPrefix!==void 0)return vendorPrefix;vendorPrefix="";var o=document.createElement("p").style,$="Transform";for(var _e in jsCssMap)_e+$ in o&&(vendorPrefix=_e);return vendorPrefix}function getTransitionName$1(){return getVendorPrefix()?getVendorPrefix()+"TransitionProperty":"transitionProperty"}function getTransformName(){return getVendorPrefix()?getVendorPrefix()+"Transform":"transform"}function setTransitionProperty(o,$){var _e=getTransitionName$1();_e&&(o.style[_e]=$,_e!=="transitionProperty"&&(o.style.transitionProperty=$))}function setTransform$2(o,$){var _e=getTransformName();_e&&(o.style[_e]=$,_e!=="transform"&&(o.style.transform=$))}function getTransitionProperty(o){return o.style.transitionProperty||o.style[getTransitionName$1()]}function getTransformXY(o){var $=window.getComputedStyle(o,null),_e=$.getPropertyValue("transform")||$.getPropertyValue(getTransformName());if(_e&&_e!=="none"){var et=_e.replace(/[^0-9\-.,]/g,"").split(",");return{x:parseFloat(et[12]||et[4],0),y:parseFloat(et[13]||et[5],0)}}return{x:0,y:0}}var matrix2d=/matrix\((.*)\)/,matrix3d=/matrix3d\((.*)\)/;function setTransformXY(o,$){var _e=window.getComputedStyle(o,null),et=_e.getPropertyValue("transform")||_e.getPropertyValue(getTransformName());if(et&&et!=="none"){var tt=void 0,rt=et.match(matrix2d);if(rt)rt=rt[1],tt=rt.split(",").map(function(nt){return parseFloat(nt,10)}),tt[4]=$.x,tt[5]=$.y,setTransform$2(o,"matrix("+tt.join(",")+")");else{var at=et.match(matrix3d)[1];tt=at.split(",").map(function(nt){return parseFloat(nt,10)}),tt[12]=$.x,tt[13]=$.y,setTransform$2(o,"matrix3d("+tt.join(",")+")")}}else setTransform$2(o,"translateX("+$.x+"px) translateY("+$.y+"px) translateZ(0)")}var _typeof$1e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},RE_NUM$1=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,getComputedStyleX$1=void 0;function forceRelayout(o){var $=o.style.display;o.style.display="none",o.offsetHeight,o.style.display=$}function css$1(o,$,_e){var et=_e;if((typeof $>"u"?"undefined":_typeof$1e($))==="object"){for(var tt in $)$.hasOwnProperty(tt)&&css$1(o,tt,$[tt]);return}if(typeof et<"u"){typeof et=="number"&&(et=et+"px"),o.style[$]=et;return}return getComputedStyleX$1(o,$)}function getClientPosition$1(o){var $=void 0,_e=void 0,et=void 0,tt=o.ownerDocument,rt=tt.body,at=tt&&tt.documentElement;return $=o.getBoundingClientRect(),_e=$.left,et=$.top,_e-=at.clientLeft||rt.clientLeft||0,et-=at.clientTop||rt.clientTop||0,{left:_e,top:et}}function getScroll$3(o,$){var _e=o["page"+($?"Y":"X")+"Offset"],et="scroll"+($?"Top":"Left");if(typeof _e!="number"){var tt=o.document;_e=tt.documentElement[et],typeof _e!="number"&&(_e=tt.body[et])}return _e}function getScrollLeft$1(o){return getScroll$3(o)}function getScrollTop$1(o){return getScroll$3(o,!0)}function getOffset$1(o){var $=getClientPosition$1(o),_e=o.ownerDocument,et=_e.defaultView||_e.parentWindow;return $.left+=getScrollLeft$1(et),$.top+=getScrollTop$1(et),$}function isWindow$2(o){return o!=null&&o==o.window}function getDocument(o){return isWindow$2(o)?o.document:o.nodeType===9?o:o.ownerDocument}function _getComputedStyle$1(o,$,_e){var et=_e,tt="",rt=getDocument(o);return et=et||rt.defaultView.getComputedStyle(o,null),et&&(tt=et.getPropertyValue($)||et[$]),tt}var _RE_NUM_NO_PX$1=new RegExp("^("+RE_NUM$1+")(?!px)[a-z%]+$","i"),RE_POS$1=/^(top|right|bottom|left)$/,CURRENT_STYLE$1="currentStyle",RUNTIME_STYLE$1="runtimeStyle",LEFT$6="left",PX$1="px";function _getComputedStyleIE$1(o,$){var _e=o[CURRENT_STYLE$1]&&o[CURRENT_STYLE$1][$];if(_RE_NUM_NO_PX$1.test(_e)&&!RE_POS$1.test($)){var et=o.style,tt=et[LEFT$6],rt=o[RUNTIME_STYLE$1][LEFT$6];o[RUNTIME_STYLE$1][LEFT$6]=o[CURRENT_STYLE$1][LEFT$6],et[LEFT$6]=$==="fontSize"?"1em":_e||0,_e=et.pixelLeft+PX$1,et[LEFT$6]=tt,o[RUNTIME_STYLE$1][LEFT$6]=rt}return _e===""?"auto":_e}typeof window<"u"&&(getComputedStyleX$1=window.getComputedStyle?_getComputedStyle$1:_getComputedStyleIE$1);function getOffsetDirection(o,$){return o==="left"?$.useCssRight?"right":o:$.useCssBottom?"bottom":o}function oppositeOffsetDirection(o){if(o==="left")return"right";if(o==="right")return"left";if(o==="top")return"bottom";if(o==="bottom")return"top"}function setLeftTop(o,$,_e){css$1(o,"position")==="static"&&(o.style.position="relative");var et=-999,tt=-999,rt=getOffsetDirection("left",_e),at=getOffsetDirection("top",_e),nt=oppositeOffsetDirection(rt),it=oppositeOffsetDirection(at);rt!=="left"&&(et=999),at!=="top"&&(tt=999);var ot="",st=getOffset$1(o);("left"in $||"top"in $)&&(ot=getTransitionProperty(o)||"",setTransitionProperty(o,"none")),"left"in $&&(o.style[nt]="",o.style[rt]=et+"px"),"top"in $&&(o.style[it]="",o.style[at]=tt+"px"),forceRelayout(o);var lt=getOffset$1(o),ct={};for(var ut in $)if($.hasOwnProperty(ut)){var ft=getOffsetDirection(ut,_e),At=ut==="left"?et:tt,vt=st[ut]-lt[ut];ft===ut?ct[ft]=At+vt:ct[ft]=At-vt}css$1(o,ct),forceRelayout(o),("left"in $||"top"in $)&&setTransitionProperty(o,ot);var ht={};for(var bt in $)if($.hasOwnProperty(bt)){var pt=getOffsetDirection(bt,_e),dt=$[bt]-st[bt];bt===pt?ht[pt]=ct[pt]+dt:ht[pt]=ct[pt]-dt}css$1(o,ht)}function setTransform$1(o,$){var _e=getOffset$1(o),et=getTransformXY(o),tt={x:et.x,y:et.y};"left"in $&&(tt.x=et.x+$.left-_e.left),"top"in $&&(tt.y=et.y+$.top-_e.top),setTransformXY(o,tt)}function setOffset$1(o,$,_e){if(_e.ignoreShake){var et=getOffset$1(o),tt=et.left.toFixed(0),rt=et.top.toFixed(0),at=$.left.toFixed(0),nt=$.top.toFixed(0);if(tt===at&&rt===nt)return}_e.useCssRight||_e.useCssBottom?setLeftTop(o,$,_e):_e.useCssTransform&&getTransformName()in document.body.style?setTransform$1(o,$):setLeftTop(o,$,_e)}function each$c(o,$){for(var _e=0;_e=0&&$.left>=0&&$.bottom>$.top&&$.right>$.left?$:null}function adjustForViewport(o,$,_e,et){var tt=utils$7.clone(o),rt={width:$.width,height:$.height};return et.adjustX&&tt.left<_e.left&&(tt.left=_e.left),et.resizeWidth&&tt.left>=_e.left&&tt.left+rt.width>_e.right&&(rt.width-=tt.left+rt.width-_e.right),et.adjustX&&tt.left+rt.width>_e.right&&(tt.left=Math.max(_e.right-rt.width,_e.left)),et.adjustY&&tt.top<_e.top&&(tt.top=_e.top),et.resizeHeight&&tt.top>=_e.top&&tt.top+rt.height>_e.bottom&&(rt.height-=tt.top+rt.height-_e.bottom),et.adjustY&&tt.top+rt.height>_e.bottom&&(tt.top=Math.max(_e.bottom-rt.height,_e.top)),utils$7.mix(tt,rt)}function getRegion(o){var $=void 0,_e=void 0,et=void 0;if(!utils$7.isWindow(o)&&o.nodeType!==9)$=utils$7.offset(o),_e=utils$7.outerWidth(o),et=utils$7.outerHeight(o);else{var tt=utils$7.getWindow(o);$={left:utils$7.getWindowScrollLeft(tt),top:utils$7.getWindowScrollTop(tt)},_e=utils$7.viewportWidth(tt),et=utils$7.viewportHeight(tt)}return $.width=_e,$.height=et,$}function getAlignOffset(o,$){var _e=$.charAt(0),et=$.charAt(1),tt=o.width,rt=o.height,at=o.left,nt=o.top;return _e==="c"?nt+=rt/2:_e==="b"&&(nt+=rt),et==="c"?at+=tt/2:et==="r"&&(at+=tt),{left:at,top:nt}}function getElFuturePos(o,$,_e,et,tt){var rt=getAlignOffset($,_e[1]),at=getAlignOffset(o,_e[0]),nt=[at.left-rt.left,at.top-rt.top];return{left:o.left-nt[0]+et[0]-tt[0],top:o.top-nt[1]+et[1]-tt[1]}}function isFailX(o,$,_e){return o.left<_e.left||o.left+$.width>_e.right}function isFailY(o,$,_e){return o.top<_e.top||o.top+$.height>_e.bottom}function isCompleteFailX(o,$,_e){return o.left>_e.right||o.left+$.width<_e.left}function isCompleteFailY(o,$,_e){return o.top>_e.bottom||o.top+$.height<_e.top}function flip(o,$,_e){var et=[];return utils$7.each(o,function(tt){et.push(tt.replace($,function(rt){return _e[rt]}))}),et}function flipOffset(o,$){return o[$]=-o[$],o}function convertOffset(o,$){var _e=void 0;return/%$/.test(o)?_e=parseInt(o.substring(0,o.length-1),10)/100*$:_e=parseInt(o,10),_e||0}function normalizeOffset(o,$){o[0]=convertOffset(o[0],$.width),o[1]=convertOffset(o[1],$.height)}function doAlign(o,$,_e,et){var tt=_e.points,rt=_e.offset||[0,0],at=_e.targetOffset||[0,0],nt=_e.overflow,it=_e.source||o;rt=[].concat(rt),at=[].concat(at),nt=nt||{};var ot={},st=0,lt=getVisibleRectForElement(it),ct=getRegion(it);normalizeOffset(rt,ct),normalizeOffset(at,$);var ut=getElFuturePos(ct,$,tt,rt,at),ft=utils$7.merge(ct,ut);if(lt&&(nt.adjustX||nt.adjustY)&&et){if(nt.adjustX&&isFailX(ut,ct,lt)){var At=flip(tt,/[lr]/ig,{l:"r",r:"l"}),vt=flipOffset(rt,0),ht=flipOffset(at,0),bt=getElFuturePos(ct,$,At,vt,ht);isCompleteFailX(bt,ct,lt)||(st=1,tt=At,rt=vt,at=ht)}if(nt.adjustY&&isFailY(ut,ct,lt)){var pt=flip(tt,/[tb]/ig,{t:"b",b:"t"}),dt=flipOffset(rt,1),_t=flipOffset(at,1),Ct=getElFuturePos(ct,$,pt,dt,_t);isCompleteFailY(Ct,ct,lt)||(st=1,tt=pt,rt=dt,at=_t)}st&&(ut=getElFuturePos(ct,$,tt,rt,at),utils$7.mix(ft,ut));var gt=isFailX(ut,ct,lt),yt=isFailY(ut,ct,lt);(gt||yt)&&(tt=_e.points,rt=_e.offset||[0,0],at=_e.targetOffset||[0,0]),ot.adjustX=nt.adjustX&>,ot.adjustY=nt.adjustY&&yt,(ot.adjustX||ot.adjustY)&&(ft=adjustForViewport(ut,ct,lt,ot))}return ft.width!==ct.width&&utils$7.css(it,"width",utils$7.width(it)+ft.width-ct.width),ft.height!==ct.height&&utils$7.css(it,"height",utils$7.height(it)+ft.height-ct.height),utils$7.offset(it,{left:ft.left,top:ft.top},{useCssRight:_e.useCssRight,useCssBottom:_e.useCssBottom,useCssTransform:_e.useCssTransform,ignoreShake:_e.ignoreShake}),{points:tt,offset:rt,targetOffset:at,overflow:ot}}function isOutOfVisibleRect(o){var $=getVisibleRectForElement(o),_e=getRegion(o);return!$||_e.left+_e.width<=$.left||_e.top+_e.height<=$.top||_e.left>=$.right||_e.top>=$.bottom}function alignElement(o,$,_e){var et=_e.target||$,tt=getRegion(et),rt=!isOutOfVisibleRect(et);return doAlign(o,tt,_e,rt)}alignElement.__getOffsetParent=getOffsetParent;alignElement.__getVisibleRectForElement=getVisibleRectForElement;var _extends$25=Object.assign||function(o){for(var $=1;$=0&&et<=nt+ot&&tt>=0&&tt<=it+st,ut=[_e.points[0],"cc"];return doAlign(o,lt,_extends$25({},_e,{points:ut}),ct)}function buffer(o,$){var _e=void 0;function et(){_e&&(clearTimeout(_e),_e=null)}function tt(){et(),_e=setTimeout(o,$)}return tt.clear=et,tt}function isSamePoint(o,$){return o===$?!0:!o||!$?!1:"pageX"in $&&"pageY"in $?o.pageX===$.pageX&&o.pageY===$.pageY:"clientX"in $&&"clientY"in $?o.clientX===$.clientX&&o.clientY===$.clientY:!1}function isWindow$1(o){return o&&typeof o=="object"&&o.window===o}function isSimilarValue(o,$){var _e=Math.floor(o),et=Math.floor($);return Math.abs(_e-et)<=1}function restoreFocus(o,$){o!==document.activeElement&&contains$1($,o)&&o.focus()}function getElement(o){return typeof o!="function"||!o?null:o()}function getPoint(o){return typeof o!="object"||!o?null:o}var Align=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it children");et=tt}}),et}function isSameChildren(o,$,_e){var et=o.length===$.length;return et&&o.forEach(function(tt,rt){var at=$[rt];tt&&at&&(tt&&!at||!tt&&at||tt.key!==at.key||_e&&tt.props[_e]!==at.props[_e])&&(et=!1)}),et}function mergeChildren(o,$){var _e=[],et={},tt=[];return o.forEach(function(rt){rt&&findChildInChildrenByKey($,rt.key)?tt.length&&(et[rt.key]=tt,tt=[]):tt.push(rt)}),$.forEach(function(rt){rt&&Object.prototype.hasOwnProperty.call(et,rt.key)&&(_e=_e.concat(et[rt.key])),_e.push(rt)}),_e=_e.concat(tt),_e}var START_EVENT_NAME_MAP={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},END_EVENT_NAME_MAP={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},startEvents=[],endEvents=[];function detectEvents(){var o=document.createElement("div"),$=o.style;"AnimationEvent"in window||(delete START_EVENT_NAME_MAP.animationstart.animation,delete END_EVENT_NAME_MAP.animationend.animation),"TransitionEvent"in window||(delete START_EVENT_NAME_MAP.transitionstart.transition,delete END_EVENT_NAME_MAP.transitionend.transition);function _e(et,tt){for(var rt in et)if(et.hasOwnProperty(rt)){var at=et[rt];for(var nt in at)if(nt in $){tt.push(at[nt]);break}}}_e(START_EVENT_NAME_MAP,startEvents),_e(END_EVENT_NAME_MAP,endEvents)}typeof window<"u"&&typeof document<"u"&&detectEvents();function addEventListener$1(o,$,_e){o.addEventListener($,_e,!1)}function removeEventListener(o,$,_e){o.removeEventListener($,_e,!1)}var TransitionEvents={startEvents,addStartEventListener:function($,_e){if(startEvents.length===0){window.setTimeout(_e,0);return}startEvents.forEach(function(et){addEventListener$1($,et,_e)})},removeStartEventListener:function($,_e){startEvents.length!==0&&startEvents.forEach(function(et){removeEventListener($,et,_e)})},endEvents,addEndEventListener:function($,_e){if(endEvents.length===0){window.setTimeout(_e,0);return}endEvents.forEach(function(et){addEventListener$1($,et,_e)})},removeEndEventListener:function($,_e){endEvents.length!==0&&endEvents.forEach(function(et){removeEventListener($,et,_e)})}},componentIndexof,hasRequiredComponentIndexof;function requireComponentIndexof(){return hasRequiredComponentIndexof||(hasRequiredComponentIndexof=1,componentIndexof=function(o,$){if(o.indexOf)return o.indexOf($);for(var _e=0;_e"u"?"undefined":_default$a(_e))==="object",rt=tt?_e.name:_e,at=tt?_e.active:_e+"-active",nt=et,it=void 0,ot=void 0,st=componentClasses($);return et&&Object.prototype.toString.call(et)==="[object Object]"&&(nt=et.end,it=et.start,ot=et.active),$.rcEndListener&&$.rcEndListener(),$.rcEndListener=function(lt){lt&<.target!==$||($.rcAnimTimeout&&(clearTimeout($.rcAnimTimeout),$.rcAnimTimeout=null),clearBrowserBugTimeout($),st.remove(rt),st.remove(at),TransitionEvents.removeEndEventListener($,$.rcEndListener),$.rcEndListener=null,nt&&nt())},TransitionEvents.addEndEventListener($,$.rcEndListener),it&&it(),st.add(rt),$.rcAnimTimeout=setTimeout(function(){$.rcAnimTimeout=null,st.add(at),ot&&setTimeout(ot,0),fixBrowserByTimeout($)},30),{stop:function(){$.rcEndListener&&$.rcEndListener()}}};cssAnimation.style=function(o,$,_e){o.rcEndListener&&o.rcEndListener(),o.rcEndListener=function(et){et&&et.target!==o||(o.rcAnimTimeout&&(clearTimeout(o.rcAnimTimeout),o.rcAnimTimeout=null),clearBrowserBugTimeout(o),TransitionEvents.removeEndEventListener(o,o.rcEndListener),o.rcEndListener=null,_e&&_e())},TransitionEvents.addEndEventListener(o,o.rcEndListener),o.rcAnimTimeout=setTimeout(function(){for(var et in $)$.hasOwnProperty(et)&&(o.style[et]=$[et]);o.rcAnimTimeout=null,fixBrowserByTimeout(o)},0)};cssAnimation.setTransition=function(o,$,_e){var et=$,tt=_e;_e===void 0&&(tt=et,et=""),et=et||"",capitalPrefixes.forEach(function(rt){o.style[rt+"Transition"+et]=tt})};cssAnimation.isCssAnimationSupported=isCssAnimationSupported;var util$d={isAppearSupported:function($){return $.transitionName&&$.transitionAppear||$.animation.appear},isEnterSupported:function($){return $.transitionName&&$.transitionEnter||$.animation.enter},isLeaveSupported:function($){return $.transitionName&&$.transitionLeave||$.animation.leave},allowAppearCallback:function($){return $.transitionAppear||$.animation.appear},allowEnterCallback:function($){return $.transitionEnter||$.animation.enter},allowLeaveCallback:function($){return $.transitionLeave||$.animation.leave}},transitionMap={enter:"transitionEnter",appear:"transitionAppear",leave:"transitionLeave"},AnimateChild=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"componentWillUnmount",value:function(){this.stop()}},{key:"componentWillEnter",value:function(et){util$d.isEnterSupported(this.props)?this.transition("enter",et):et()}},{key:"componentWillAppear",value:function(et){util$d.isAppearSupported(this.props)?this.transition("appear",et):et()}},{key:"componentWillLeave",value:function(et){util$d.isLeaveSupported(this.props)?this.transition("leave",et):et()}},{key:"transition",value:function(et,tt){var rt=this,at=ReactDOM.findDOMNode(this),nt=this.props,it=nt.transitionName,ot=typeof it=="object";this.stop();var st=function(){rt.stopper=null,tt()};if((isCssAnimationSupported||!nt.animation[et])&&it&&nt[transitionMap[et]]){var lt=ot?it[et]:it+"-"+et,ct=lt+"-active";ot&&it[et+"Active"]&&(ct=it[et+"Active"]),this.stopper=cssAnimation(at,{name:lt,active:ct},st)}else this.stopper=nt.animation[et](at,st)}},{key:"stop",value:function(){var et=this.stopper;et&&(this.stopper=null,et.stop())}},{key:"render",value:function(){return this.props.children}}]),$}(React$k.Component);AnimateChild.propTypes={children:propTypesExports.any,animation:propTypesExports.any,transitionName:propTypesExports.any};var defaultKey="rc_animate_"+Date.now();function getChildrenFromProps(o){var $=o.children;return React$k.isValidElement($)&&!$.key?React$k.cloneElement($,{key:defaultKey}):$}function noop$g(){}var Animate=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return _initialiseProps$8.call(et),et.currentlyAnimatingKeys={},et.keysToEnter=[],et.keysToLeave=[],et.state={children:toArrayChildren(getChildrenFromProps(_e))},et.childrenRefs={},et}return _default$b($,[{key:"componentDidMount",value:function(){var et=this,tt=this.props.showProp,rt=this.state.children;tt&&(rt=rt.filter(function(at){return!!at.props[tt]})),rt.forEach(function(at){at&&et.performAppear(at.key)})}},{key:"componentWillReceiveProps",value:function(et){var tt=this;this.nextProps=et;var rt=toArrayChildren(getChildrenFromProps(et)),at=this.props;at.exclusive&&Object.keys(this.currentlyAnimatingKeys).forEach(function(lt){tt.stop(lt)});var nt=at.showProp,it=this.currentlyAnimatingKeys,ot=at.exclusive?toArrayChildren(getChildrenFromProps(at)):this.state.children,st=[];nt?(ot.forEach(function(lt){var ct=lt&&findChildInChildrenByKey(rt,lt.key),ut=void 0;(!ct||!ct.props[nt])&<.props[nt]?ut=React$k.cloneElement(ct||lt,_default$e({},nt,!0)):ut=ct,ut&&st.push(ut)}),rt.forEach(function(lt){(!lt||!findChildInChildrenByKey(ot,lt.key))&&st.push(lt)})):st=mergeChildren(ot,rt),this.setState({children:st}),rt.forEach(function(lt){var ct=lt&<.key;if(!(lt&&it[ct])){var ut=lt&&findChildInChildrenByKey(ot,ct);if(nt){var ft=lt.props[nt];if(ut){var At=findShownChildInChildrenByKey(ot,ct,nt);!At&&ft&&tt.keysToEnter.push(ct)}else ft&&tt.keysToEnter.push(ct)}else ut||tt.keysToEnter.push(ct)}}),ot.forEach(function(lt){var ct=lt&<.key;if(!(lt&&it[ct])){var ut=lt&&findChildInChildrenByKey(rt,ct);if(nt){var ft=lt.props[nt];if(ut){var At=findShownChildInChildrenByKey(rt,ct,nt);!At&&ft&&tt.keysToLeave.push(ct)}else ft&&tt.keysToLeave.push(ct)}else ut||tt.keysToLeave.push(ct)}})}},{key:"componentDidUpdate",value:function(){var et=this.keysToEnter;this.keysToEnter=[],et.forEach(this.performEnter);var tt=this.keysToLeave;this.keysToLeave=[],tt.forEach(this.performLeave)}},{key:"isValidChildByKey",value:function(et,tt){var rt=this.props.showProp;return rt?findShownChildInChildrenByKey(et,tt,rt):findChildInChildrenByKey(et,tt)}},{key:"stop",value:function(et){delete this.currentlyAnimatingKeys[et];var tt=this.childrenRefs[et];tt&&tt.stop()}},{key:"render",value:function(){var et=this,tt=this.props;this.nextProps=tt;var rt=this.state.children,at=null;rt&&(at=rt.map(function(ot){if(ot==null)return ot;if(!ot.key)throw new Error("must set key for children");return React$k.createElement(AnimateChild,{key:ot.key,ref:function(lt){et.childrenRefs[ot.key]=lt},animation:tt.animation,transitionName:tt.transitionName,transitionEnter:tt.transitionEnter,transitionAppear:tt.transitionAppear,transitionLeave:tt.transitionLeave},ot)}));var nt=tt.component;if(nt){var it=tt;return typeof nt=="string"&&(it=_default$bE({className:tt.className,style:tt.style},tt.componentProps)),React$k.createElement(nt,it,at)}return at[0]||null}}]),$}(React$k.Component);Animate.isAnimate=!0;Animate.propTypes={className:propTypesExports.string,style:propTypesExports.object,component:propTypesExports.any,componentProps:propTypesExports.object,animation:propTypesExports.object,transitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),transitionEnter:propTypesExports.bool,transitionAppear:propTypesExports.bool,exclusive:propTypesExports.bool,transitionLeave:propTypesExports.bool,onEnd:propTypesExports.func,onEnter:propTypesExports.func,onLeave:propTypesExports.func,onAppear:propTypesExports.func,showProp:propTypesExports.string,children:propTypesExports.node};Animate.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:noop$g,onEnter:noop$g,onLeave:noop$g,onAppear:noop$g};var _initialiseProps$8=function(){var $=this;this.performEnter=function(_e){$.childrenRefs[_e]&&($.currentlyAnimatingKeys[_e]=!0,$.childrenRefs[_e].componentWillEnter($.handleDoneAdding.bind($,_e,"enter")))},this.performAppear=function(_e){$.childrenRefs[_e]&&($.currentlyAnimatingKeys[_e]=!0,$.childrenRefs[_e].componentWillAppear($.handleDoneAdding.bind($,_e,"appear")))},this.handleDoneAdding=function(_e,et){var tt=$.props;if(delete $.currentlyAnimatingKeys[_e],!(tt.exclusive&&tt!==$.nextProps)){var rt=toArrayChildren(getChildrenFromProps(tt));$.isValidChildByKey(rt,_e)?et==="appear"?util$d.allowAppearCallback(tt)&&(tt.onAppear(_e),tt.onEnd(_e,!0)):util$d.allowEnterCallback(tt)&&(tt.onEnter(_e),tt.onEnd(_e,!0)):$.performLeave(_e)}},this.performLeave=function(_e){$.childrenRefs[_e]&&($.currentlyAnimatingKeys[_e]=!0,$.childrenRefs[_e].componentWillLeave($.handleDoneLeaving.bind($,_e)))},this.handleDoneLeaving=function(_e){var et=$.props;if(delete $.currentlyAnimatingKeys[_e],!(et.exclusive&&et!==$.nextProps)){var tt=toArrayChildren(getChildrenFromProps(et));if($.isValidChildByKey(tt,_e))$.performEnter(_e);else{var rt=function(){util$d.allowLeaveCallback(et)&&(et.onLeave(_e),et.onEnd(_e,!1))};isSameChildren($.state.children,tt,et.showProp)?rt():$.setState({children:tt},rt)}}}};const Animate$1=unsafeLifecyclesPolyfill(Animate),Animate$2=Object.freeze(Object.defineProperty({__proto__:null,default:Animate$1},Symbol.toStringTag,{value:"Module"}));var LazyRenderBox$1=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,o.apply(this,arguments))}return $.prototype.shouldComponentUpdate=function(et){return et.hiddenClassName||et.visible},$.prototype.render=function(){var et=this.props,tt=et.hiddenClassName,rt=et.visible,at=_default$d(et,["hiddenClassName","visible"]);return tt||React$k.Children.count(at.children)>1?(!rt&&tt&&(at.className+=" "+tt),React$k.createElement("div",at)):React$k.Children.only(at.children)},$}(reactExports.Component);LazyRenderBox$1.propTypes={children:propTypesExports.any,className:propTypesExports.string,visible:propTypesExports.bool,hiddenClassName:propTypesExports.string};var PopupInner=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,o.apply(this,arguments))}return $.prototype.render=function(){var et=this.props,tt=et.className;return et.visible||(tt+=" "+et.hiddenClassName),React$k.createElement("div",{className:tt,onMouseEnter:et.onMouseEnter,onMouseLeave:et.onMouseLeave,onMouseDown:et.onMouseDown,onTouchStart:et.onTouchStart,style:et.style},React$k.createElement(LazyRenderBox$1,{className:et.prefixCls+"-content",visible:et.visible},et.children))},$}(reactExports.Component);PopupInner.propTypes={hiddenClassName:propTypesExports.string,className:propTypesExports.string,prefixCls:propTypesExports.string,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseDown:propTypesExports.func,onTouchStart:propTypesExports.func,children:propTypesExports.any};var Popup=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,o.call(this,_e));return _initialiseProps$7.call(et),et.state={stretchChecked:!1,targetWidth:void 0,targetHeight:void 0},et.savePopupRef=saveRef$2.bind(et,"popupInstance"),et.saveAlignRef=saveRef$2.bind(et,"alignInstance"),et}return $.prototype.componentDidMount=function(){this.rootNode=this.getPopupDomNode(),this.setStretchSize()},$.prototype.componentDidUpdate=function(){this.setStretchSize()},$.prototype.getPopupDomNode=function(){return ReactDOM.findDOMNode(this.popupInstance)},$.prototype.getMaskTransitionName=function(){var et=this.props,tt=et.maskTransitionName,rt=et.maskAnimation;return!tt&&rt&&(tt=et.prefixCls+"-"+rt),tt},$.prototype.getTransitionName=function(){var et=this.props,tt=et.transitionName;return!tt&&et.animation&&(tt=et.prefixCls+"-"+et.animation),tt},$.prototype.getClassName=function(et){return this.props.prefixCls+" "+this.props.className+" "+et},$.prototype.getPopupElement=function(){var et=this,tt=this.savePopupRef,rt=this.state,at=rt.stretchChecked,nt=rt.targetHeight,it=rt.targetWidth,ot=this.props,st=ot.align,lt=ot.visible,ct=ot.prefixCls,ut=ot.style,ft=ot.getClassNameFromAlign,At=ot.destroyPopupOnHide,vt=ot.stretch,ht=ot.children,bt=ot.onMouseEnter,pt=ot.onMouseLeave,dt=ot.onMouseDown,_t=ot.onTouchStart,Ct=this.getClassName(this.currentAlignClassName||ft(st)),gt=ct+"-hidden";lt||(this.currentAlignClassName=null);var yt={};vt&&(vt.indexOf("height")!==-1?yt.height=nt:vt.indexOf("minHeight")!==-1&&(yt.minHeight=nt),vt.indexOf("width")!==-1?yt.width=it:vt.indexOf("minWidth")!==-1&&(yt.minWidth=it),at||(yt.visibility="hidden",setTimeout(function(){et.alignInstance&&et.alignInstance.forceAlign()},0)));var xt=_default$bE({},yt,ut,this.getZIndexStyle()),Et={className:Ct,prefixCls:ct,ref:tt,onMouseEnter:bt,onMouseLeave:pt,onMouseDown:dt,onTouchStart:_t,style:xt};return At?React$k.createElement(Animate$1,{component:"",exclusive:!0,transitionAppear:!0,transitionName:this.getTransitionName()},lt?React$k.createElement(Align,{target:this.getAlignTarget(),key:"popup",ref:this.saveAlignRef,monitorWindowResize:!0,align:st,onAlign:this.onAlign},React$k.createElement(PopupInner,_default$bE({visible:!0},Et),ht)):null):React$k.createElement(Animate$1,{component:"",exclusive:!0,transitionAppear:!0,transitionName:this.getTransitionName(),showProp:"xVisible"},React$k.createElement(Align,{target:this.getAlignTarget(),key:"popup",ref:this.saveAlignRef,monitorWindowResize:!0,xVisible:lt,childrenProps:{visible:"xVisible"},disabled:!lt,align:st,onAlign:this.onAlign},React$k.createElement(PopupInner,_default$bE({hiddenClassName:gt},Et),ht)))},$.prototype.getZIndexStyle=function(){var et={},tt=this.props;return tt.zIndex!==void 0&&(et.zIndex=tt.zIndex),et},$.prototype.getMaskElement=function(){var et=this.props,tt=void 0;if(et.mask){var rt=this.getMaskTransitionName();tt=React$k.createElement(LazyRenderBox$1,{style:this.getZIndexStyle(),key:"mask",className:et.prefixCls+"-mask",hiddenClassName:et.prefixCls+"-mask-hidden",visible:et.visible}),rt&&(tt=React$k.createElement(Animate$1,{key:"mask",showProp:"visible",transitionAppear:!0,component:"",transitionName:rt},tt))}return tt},$.prototype.render=function(){return React$k.createElement("div",null,this.getMaskElement(),this.getPopupElement())},$}(reactExports.Component);Popup.propTypes={visible:propTypesExports.bool,style:propTypesExports.object,getClassNameFromAlign:propTypesExports.func,onAlign:propTypesExports.func,getRootDomNode:propTypesExports.func,align:propTypesExports.any,destroyPopupOnHide:propTypesExports.bool,className:propTypesExports.string,prefixCls:propTypesExports.string,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseDown:propTypesExports.func,onTouchStart:propTypesExports.func,stretch:propTypesExports.string,children:propTypesExports.node,point:propTypesExports.shape({pageX:propTypesExports.number,pageY:propTypesExports.number})};var _initialiseProps$7=function(){var $=this;this.onAlign=function(_e,et){var tt=$.props,rt=tt.getClassNameFromAlign(et);$.currentAlignClassName!==rt&&($.currentAlignClassName=rt,_e.className=$.getClassName(rt)),tt.onAlign(_e,et)},this.setStretchSize=function(){var _e=$.props,et=_e.stretch,tt=_e.getRootDomNode,rt=_e.visible,at=$.state,nt=at.stretchChecked,it=at.targetHeight,ot=at.targetWidth;if(!et||!rt){nt&&$.setState({stretchChecked:!1});return}var st=tt();if(st){var lt=st.offsetHeight,ct=st.offsetWidth;(it!==lt||ot!==ct||!nt)&&$.setState({stretchChecked:!0,targetHeight:lt,targetWidth:ct})}},this.getTargetElement=function(){return $.props.getRootDomNode()},this.getAlignTarget=function(){var _e=$.props.point;return _e||$.getTargetElement}};function noop$f(){}function returnEmptyString(){return""}function returnDocument(){return window.document}var ALL_HANDLERS=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"],IS_REACT_16$2=!!reactDomExports.createPortal,contextTypes={rcTrigger:propTypesExports.shape({onPopupMouseDown:propTypesExports.func})},Trigger=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,o.call(this,_e));_initialiseProps$6.call(et);var tt=void 0;return"popupVisible"in _e?tt=!!_e.popupVisible:tt=!!_e.defaultPopupVisible,et.state={prevPopupVisible:tt,popupVisible:tt},ALL_HANDLERS.forEach(function(rt){et["fire"+rt]=function(at){et.fireEvents(rt,at)}}),et}return $.prototype.getChildContext=function(){return{rcTrigger:{onPopupMouseDown:this.onPopupMouseDown}}},$.prototype.componentDidMount=function(){this.componentDidUpdate({},{popupVisible:this.state.popupVisible})},$.prototype.componentDidUpdate=function(et,tt){var rt=this.props,at=this.state,nt=function(){tt.popupVisible!==at.popupVisible&&rt.afterPopupVisibleChange(at.popupVisible)};if(IS_REACT_16$2||this.renderComponent(null,nt),at.popupVisible){var it=void 0;!this.clickOutsideHandler&&(this.isClickToHide()||this.isContextMenuToShow())&&(it=rt.getDocument(),this.clickOutsideHandler=addEventListenerWrap$1(it,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(it=it||rt.getDocument(),this.touchOutsideHandler=addEventListenerWrap$1(it,"touchstart",this.onDocumentClick)),!this.contextMenuOutsideHandler1&&this.isContextMenuToShow()&&(it=it||rt.getDocument(),this.contextMenuOutsideHandler1=addEventListenerWrap$1(it,"scroll",this.onContextMenuClose)),!this.contextMenuOutsideHandler2&&this.isContextMenuToShow()&&(this.contextMenuOutsideHandler2=addEventListenerWrap$1(window,"blur",this.onContextMenuClose));return}this.clearOutsideHandler()},$.prototype.componentWillUnmount=function(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout)},$.getDerivedStateFromProps=function(et,tt){var rt=et.popupVisible,at={};return rt!==void 0&&tt.popupVisible!==rt&&(at.popupVisible=rt,at.prevPopupVisible=tt.popupVisible),at},$.prototype.getPopupDomNode=function(){return this._component&&this._component.getPopupDomNode?this._component.getPopupDomNode():null},$.prototype.getPopupAlign=function(){var et=this.props,tt=et.popupPlacement,rt=et.popupAlign,at=et.builtinPlacements;return tt&&at?getAlignFromPlacement(at,tt,rt):rt},$.prototype.setPopupVisible=function(et,tt){var rt=this.props.alignPoint,at=this.state.popupVisible;this.clearDelayTimer(),at!==et&&("popupVisible"in this.props||this.setState({popupVisible:et,prevPopupVisible:at}),this.props.onPopupVisibleChange(et)),rt&&tt&&this.setPoint(tt)},$.prototype.delaySetPopupVisible=function(et,tt,rt){var at=this,nt=tt*1e3;if(this.clearDelayTimer(),nt){var it=rt?{pageX:rt.pageX,pageY:rt.pageY}:null;this.delayTimer=setTimeout(function(){at.setPopupVisible(et,it),at.clearDelayTimer()},nt)}else this.setPopupVisible(et,rt)},$.prototype.clearDelayTimer=function(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)},$.prototype.clearOutsideHandler=function(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextMenuOutsideHandler1&&(this.contextMenuOutsideHandler1.remove(),this.contextMenuOutsideHandler1=null),this.contextMenuOutsideHandler2&&(this.contextMenuOutsideHandler2.remove(),this.contextMenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)},$.prototype.createTwoChains=function(et){var tt=this.props.children.props,rt=this.props;return tt[et]&&rt[et]?this["fire"+et]:tt[et]||rt[et]},$.prototype.isClickToShow=function(){var et=this.props,tt=et.action,rt=et.showAction;return tt.indexOf("click")!==-1||rt.indexOf("click")!==-1},$.prototype.isContextMenuToShow=function(){var et=this.props,tt=et.action,rt=et.showAction;return tt.indexOf("contextMenu")!==-1||rt.indexOf("contextMenu")!==-1},$.prototype.isClickToHide=function(){var et=this.props,tt=et.action,rt=et.hideAction;return tt.indexOf("click")!==-1||rt.indexOf("click")!==-1},$.prototype.isMouseEnterToShow=function(){var et=this.props,tt=et.action,rt=et.showAction;return tt.indexOf("hover")!==-1||rt.indexOf("mouseEnter")!==-1},$.prototype.isMouseLeaveToHide=function(){var et=this.props,tt=et.action,rt=et.hideAction;return tt.indexOf("hover")!==-1||rt.indexOf("mouseLeave")!==-1},$.prototype.isFocusToShow=function(){var et=this.props,tt=et.action,rt=et.showAction;return tt.indexOf("focus")!==-1||rt.indexOf("focus")!==-1},$.prototype.isBlurToHide=function(){var et=this.props,tt=et.action,rt=et.hideAction;return tt.indexOf("focus")!==-1||rt.indexOf("blur")!==-1},$.prototype.forcePopupAlign=function(){this.state.popupVisible&&this._component&&this._component.alignInstance&&this._component.alignInstance.forceAlign()},$.prototype.fireEvents=function(et,tt){var rt=this.props.children.props[et];rt&&rt(tt);var at=this.props[et];at&&at(tt)},$.prototype.close=function(){this.setPopupVisible(!1)},$.prototype.render=function(){var et=this,tt=this.state.popupVisible,rt=this.props,at=rt.children,nt=rt.forceRender,it=rt.alignPoint,ot=rt.className,st=React$k.Children.only(at),lt={key:"trigger"};this.isContextMenuToShow()?lt.onContextMenu=this.onContextMenu:lt.onContextMenu=this.createTwoChains("onContextMenu"),this.isClickToHide()||this.isClickToShow()?(lt.onClick=this.onClick,lt.onMouseDown=this.onMouseDown,lt.onTouchStart=this.onTouchStart):(lt.onClick=this.createTwoChains("onClick"),lt.onMouseDown=this.createTwoChains("onMouseDown"),lt.onTouchStart=this.createTwoChains("onTouchStart")),this.isMouseEnterToShow()?(lt.onMouseEnter=this.onMouseEnter,it&&(lt.onMouseMove=this.onMouseMove)):lt.onMouseEnter=this.createTwoChains("onMouseEnter"),this.isMouseLeaveToHide()?lt.onMouseLeave=this.onMouseLeave:lt.onMouseLeave=this.createTwoChains("onMouseLeave"),this.isFocusToShow()||this.isBlurToHide()?(lt.onFocus=this.onFocus,lt.onBlur=this.onBlur):(lt.onFocus=this.createTwoChains("onFocus"),lt.onBlur=this.createTwoChains("onBlur"));var ct=classnamesExports(st&&st.props&&st.props.className,ot);ct&&(lt.className=ct);var ut=React$k.cloneElement(st,lt);if(!IS_REACT_16$2)return React$k.createElement(ContainerRender,{parent:this,visible:tt,autoMount:!1,forceRender:nt,getComponent:this.getComponent,getContainer:this.getContainer},function(At){var vt=At.renderComponent;return et.renderComponent=vt,ut});var ft=void 0;return(tt||this._component||nt)&&(ft=React$k.createElement(Portal$1,{key:"portal",getContainer:this.getContainer,didUpdate:this.handlePortalUpdate},this.getComponent())),[ut,ft]},$}(React$k.Component);Trigger.propTypes={children:propTypesExports.any,action:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.arrayOf(propTypesExports.string)]),showAction:propTypesExports.any,hideAction:propTypesExports.any,getPopupClassNameFromAlign:propTypesExports.any,onPopupVisibleChange:propTypesExports.func,afterPopupVisibleChange:propTypesExports.func,popup:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]).isRequired,popupStyle:propTypesExports.object,prefixCls:propTypesExports.string,popupClassName:propTypesExports.string,className:propTypesExports.string,popupPlacement:propTypesExports.string,builtinPlacements:propTypesExports.object,popupTransitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),popupAnimation:propTypesExports.any,mouseEnterDelay:propTypesExports.number,mouseLeaveDelay:propTypesExports.number,zIndex:propTypesExports.number,focusDelay:propTypesExports.number,blurDelay:propTypesExports.number,getPopupContainer:propTypesExports.func,getDocument:propTypesExports.func,forceRender:propTypesExports.bool,destroyPopupOnHide:propTypesExports.bool,mask:propTypesExports.bool,maskClosable:propTypesExports.bool,onPopupAlign:propTypesExports.func,popupAlign:propTypesExports.object,popupVisible:propTypesExports.bool,defaultPopupVisible:propTypesExports.bool,maskTransitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),maskAnimation:propTypesExports.string,stretch:propTypesExports.string,alignPoint:propTypesExports.bool};Trigger.contextTypes=contextTypes;Trigger.childContextTypes=contextTypes;Trigger.defaultProps={prefixCls:"rc-trigger-popup",getPopupClassNameFromAlign:returnEmptyString,getDocument:returnDocument,onPopupVisibleChange:noop$f,afterPopupVisibleChange:noop$f,onPopupAlign:noop$f,popupClassName:"",mouseEnterDelay:0,mouseLeaveDelay:.1,focusDelay:0,blurDelay:.15,popupStyle:{},destroyPopupOnHide:!1,popupAlign:{},defaultPopupVisible:!1,mask:!1,maskClosable:!0,action:[],showAction:[],hideAction:[]};var _initialiseProps$6=function(){var $=this;this.onMouseEnter=function(_e){var et=$.props.mouseEnterDelay;$.fireEvents("onMouseEnter",_e),$.delaySetPopupVisible(!0,et,et?null:_e)},this.onMouseMove=function(_e){$.fireEvents("onMouseMove",_e),$.setPoint(_e)},this.onMouseLeave=function(_e){$.fireEvents("onMouseLeave",_e),$.delaySetPopupVisible(!1,$.props.mouseLeaveDelay)},this.onPopupMouseEnter=function(){$.clearDelayTimer()},this.onPopupMouseLeave=function(_e){_e.relatedTarget&&!_e.relatedTarget.setTimeout&&$._component&&$._component.getPopupDomNode&&contains$1($._component.getPopupDomNode(),_e.relatedTarget)||$.delaySetPopupVisible(!1,$.props.mouseLeaveDelay)},this.onFocus=function(_e){$.fireEvents("onFocus",_e),$.clearDelayTimer(),$.isFocusToShow()&&($.focusTime=Date.now(),$.delaySetPopupVisible(!0,$.props.focusDelay))},this.onMouseDown=function(_e){$.fireEvents("onMouseDown",_e),$.preClickTime=Date.now()},this.onTouchStart=function(_e){$.fireEvents("onTouchStart",_e),$.preTouchTime=Date.now()},this.onBlur=function(_e){$.fireEvents("onBlur",_e),$.clearDelayTimer(),$.isBlurToHide()&&$.delaySetPopupVisible(!1,$.props.blurDelay)},this.onContextMenu=function(_e){_e.preventDefault(),$.fireEvents("onContextMenu",_e),$.setPopupVisible(!0,_e)},this.onContextMenuClose=function(){$.isContextMenuToShow()&&$.close()},this.onClick=function(_e){if($.fireEvents("onClick",_e),$.focusTime){var et=void 0;if($.preClickTime&&$.preTouchTime?et=Math.min($.preClickTime,$.preTouchTime):$.preClickTime?et=$.preClickTime:$.preTouchTime&&(et=$.preTouchTime),Math.abs(et-$.focusTime)<20)return;$.focusTime=0}$.preClickTime=0,$.preTouchTime=0,$.isClickToShow()&&($.isClickToHide()||$.isBlurToHide())&&_e&&_e.preventDefault&&_e.preventDefault();var tt=!$.state.popupVisible;($.isClickToHide()&&!tt||tt&&$.isClickToShow())&&$.setPopupVisible(!$.state.popupVisible,_e)},this.onPopupMouseDown=function(){var _e=$.context.rcTrigger,et=_e===void 0?{}:_e;$.hasPopupMouseDown=!0,clearTimeout($.mouseDownTimeout),$.mouseDownTimeout=setTimeout(function(){$.hasPopupMouseDown=!1},0),et.onPopupMouseDown&&et.onPopupMouseDown.apply(et,arguments)},this.onDocumentClick=function(_e){if(!($.props.mask&&!$.props.maskClosable)){var et=_e.target,tt=reactDomExports.findDOMNode($);!contains$1(tt,et)&&!$.hasPopupMouseDown&&$.close()}},this.getRootDomNode=function(){return reactDomExports.findDOMNode($)},this.getPopupClassNameFromAlign=function(_e){var et=[],tt=$.props,rt=tt.popupPlacement,at=tt.builtinPlacements,nt=tt.prefixCls,it=tt.alignPoint,ot=tt.getPopupClassNameFromAlign;return rt&&at&&et.push(getAlignPopupClassName(at,nt,_e,it)),ot&&et.push(ot(_e)),et.join(" ")},this.getComponent=function(){var _e=$.props,et=_e.prefixCls,tt=_e.destroyPopupOnHide,rt=_e.popupClassName,at=_e.action,nt=_e.onPopupAlign,it=_e.popupAnimation,ot=_e.popupTransitionName,st=_e.popupStyle,lt=_e.mask,ct=_e.maskAnimation,ut=_e.maskTransitionName,ft=_e.zIndex,At=_e.popup,vt=_e.stretch,ht=_e.alignPoint,bt=$.state,pt=bt.popupVisible,dt=bt.point,_t=$.getPopupAlign(),Ct={};return $.isMouseEnterToShow()&&(Ct.onMouseEnter=$.onPopupMouseEnter),$.isMouseLeaveToHide()&&(Ct.onMouseLeave=$.onPopupMouseLeave),Ct.onMouseDown=$.onPopupMouseDown,Ct.onTouchStart=$.onPopupMouseDown,React$k.createElement(Popup,_default$bE({prefixCls:et,destroyPopupOnHide:tt,visible:pt,point:ht&&dt,className:rt,action:at,align:_t,onAlign:nt,animation:it,getClassNameFromAlign:$.getPopupClassNameFromAlign},Ct,{stretch:vt,getRootDomNode:$.getRootDomNode,style:st,mask:lt,zIndex:ft,transitionName:ot,maskAnimation:ct,maskTransitionName:ut,ref:$.savePopup}),typeof At=="function"?At():At)},this.getContainer=function(){var _e=$.props,et=document.createElement("div");et.style.position="absolute",et.style.top="0",et.style.left="0",et.style.width="100%";var tt=_e.getPopupContainer?_e.getPopupContainer(reactDomExports.findDOMNode($)):_e.getDocument().body;return tt.appendChild(et),et},this.setPoint=function(_e){var et=$.props.alignPoint;!et||!_e||$.setState({point:{pageX:_e.pageX,pageY:_e.pageY}})},this.handlePortalUpdate=function(){$.state.prevPopupVisible!==$.state.popupVisible&&$.props.afterPopupVisibleChange($.state.popupVisible)},this.savePopup=function(_e){$._component=_e}};polyfill(Trigger);var autoAdjustOverflow$2={adjustX:1,adjustY:1},targetOffset$2=[0,0],placements$2={topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},topCenter:{points:["bc","tc"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},topRight:{points:["br","tr"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2},bottomCenter:{points:["tc","bc"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2},bottomRight:{points:["tr","br"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2}},_extends$24=Object.assign||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}function _classCallCheck$1_(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$1Y(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$1Y(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var Dropdown$1=function(o){_inherits$1Y($,o);function $(_e){_classCallCheck$1_(this,$);var et=_possibleConstructorReturn$1Y(this,o.call(this,_e));return _initialiseProps$5.call(et),"visible"in _e?et.state={visible:_e.visible}:et.state={visible:_e.defaultVisible},et}return $.getDerivedStateFromProps=function(et){return"visible"in et?{visible:et.visible}:null},$.prototype.getOverlayElement=function(){var et=this.props.overlay,tt=void 0;return typeof et=="function"?tt=et():tt=et,tt},$.prototype.getMenuElementOrLambda=function(){var et=this.props.overlay;return typeof et=="function"?this.getMenuElement:this.getMenuElement()},$.prototype.getPopupDomNode=function(){return this.trigger.getPopupDomNode()},$.prototype.getOpenClassName=function(){var et=this.props,tt=et.openClassName,rt=et.prefixCls;return tt!==void 0?tt:rt+"-open"},$.prototype.renderChildren=function(){var et=this.props.children,tt=this.state.visible,rt=et.props?et.props:{},at=classnamesExports(rt.className,this.getOpenClassName());return tt&&et?reactExports.cloneElement(et,{className:at}):et},$.prototype.render=function(){var et=this.props,tt=et.prefixCls,rt=et.transitionName,at=et.animation,nt=et.align,it=et.placement,ot=et.getPopupContainer,st=et.showAction,lt=et.hideAction,ct=et.overlayClassName,ut=et.overlayStyle,ft=et.trigger,At=_objectWithoutProperties$a(et,["prefixCls","transitionName","animation","align","placement","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","trigger"]),vt=lt;return!vt&&ft.indexOf("contextMenu")!==-1&&(vt=["click"]),React$k.createElement(Trigger,_extends$24({},At,{prefixCls:tt,ref:this.saveTrigger,popupClassName:ct,popupStyle:ut,builtinPlacements:placements$2,action:ft,showAction:st,hideAction:vt||[],popupPlacement:it,popupAlign:nt,popupTransitionName:rt,popupAnimation:at,popupVisible:this.state.visible,afterPopupVisibleChange:this.afterVisibleChange,popup:this.getMenuElementOrLambda(),onPopupVisibleChange:this.onVisibleChange,getPopupContainer:ot}),this.renderChildren())},$}(reactExports.Component);Dropdown$1.propTypes={minOverlayWidthMatchTrigger:propTypesExports.bool,onVisibleChange:propTypesExports.func,onOverlayClick:propTypesExports.func,prefixCls:propTypesExports.string,children:propTypesExports.any,transitionName:propTypesExports.string,overlayClassName:propTypesExports.string,openClassName:propTypesExports.string,animation:propTypesExports.any,align:propTypesExports.object,overlayStyle:propTypesExports.object,placement:propTypesExports.string,overlay:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]),trigger:propTypesExports.array,alignPoint:propTypesExports.bool,showAction:propTypesExports.array,hideAction:propTypesExports.array,getPopupContainer:propTypesExports.func,visible:propTypesExports.bool,defaultVisible:propTypesExports.bool};Dropdown$1.defaultProps={prefixCls:"rc-dropdown",trigger:["hover"],showAction:[],overlayClassName:"",overlayStyle:{},defaultVisible:!1,onVisibleChange:function(){},placement:"bottomLeft"};var _initialiseProps$5=function(){var $=this;this.onClick=function(_e){var et=$.props,tt=$.getOverlayElement().props;"visible"in et||$.setState({visible:!1}),et.onOverlayClick&&et.onOverlayClick(_e),tt.onClick&&tt.onClick(_e)},this.onVisibleChange=function(_e){var et=$.props;"visible"in et||$.setState({visible:_e}),et.onVisibleChange(_e)},this.getMinOverlayWidthMatchTrigger=function(){var _e=$.props,et=_e.minOverlayWidthMatchTrigger,tt=_e.alignPoint;return"minOverlayWidthMatchTrigger"in $.props?et:!tt},this.getMenuElement=function(){var _e=$.props.prefixCls,et=$.getOverlayElement(),tt={prefixCls:_e+"-menu",onClick:$.onClick};return typeof et.type=="string"&&delete tt.prefixCls,React$k.cloneElement(et,tt)},this.afterVisibleChange=function(_e){if(_e&&$.getMinOverlayWidthMatchTrigger()){var et=$.getPopupDomNode(),tt=ReactDOM.findDOMNode($);tt&&et&&tt.offsetWidth>et.offsetWidth&&(et.style.minWidth=tt.offsetWidth+"px",$.trigger&&$.trigger._component&&$.trigger._component.alignInstance&&$.trigger._component.alignInstance.forceAlign())}},this.saveTrigger=function(_e){$.trigger=_e}};polyfill(Dropdown$1);var tuple$1=function(){for(var $=arguments.length,_e=new Array($),et=0;et<$;et++)_e[et]=arguments[et];return _e};function _typeof$1d(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1d=function(_e){return typeof _e}:_typeof$1d=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1d(o)}function _extends$23(){return _extends$23=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1e(o){return _getPrototypeOf$1e=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1e(o)}tuple$1("topLeft","topCenter","topRight","bottomLeft","bottomCenter","bottomRight");var Dropdown=function(o){_inherits$1X(_e,o);var $=_createSuper$$(_e);function _e(){var et;return _classCallCheck$1Z(this,_e),et=$.apply(this,arguments),et.renderOverlay=function(tt){var rt=et.props.overlay,at;typeof rt=="function"?at=rt():at=rt,at=reactExports.Children.only(at);var nt=at.props;warning$4(!nt.mode||nt.mode==="vertical","Dropdown",'mode="'.concat(nt.mode,`" is not supported for Dropdown's Menu.`));var it=nt.selectable,ot=it===void 0?!1:it,st=nt.focusable,lt=st===void 0?!0:st,ct=reactExports.createElement("span",{className:"".concat(tt,"-menu-submenu-arrow")},reactExports.createElement(Icon$1,{type:"right",className:"".concat(tt,"-menu-submenu-arrow-icon")})),ut=typeof at.type=="string"?rt:reactExports.cloneElement(at,{mode:"vertical",selectable:ot,focusable:lt,expandIcon:ct});return ut},et.renderDropDown=function(tt){var rt=tt.getPopupContainer,at=tt.getPrefixCls,nt=et.props,it=nt.prefixCls,ot=nt.children,st=nt.trigger,lt=nt.disabled,ct=nt.getPopupContainer,ut=at("dropdown",it),ft=reactExports.Children.only(ot),At=reactExports.cloneElement(ft,{className:classNames(ft.props.className,"".concat(ut,"-trigger")),disabled:lt}),vt=lt?[]:st,ht;return vt&&vt.indexOf("contextMenu")!==-1&&(ht=!0),reactExports.createElement(Dropdown$1,_extends$23({alignPoint:ht},et.props,{prefixCls:ut,getPopupContainer:ct||rt,transitionName:et.getTransitionName(),trigger:vt,overlay:function(){return et.renderOverlay(ut)}}),At)},et}return _createClass$1U(_e,[{key:"getTransitionName",value:function(){var tt=this.props,rt=tt.placement,at=rt===void 0?"":rt,nt=tt.transitionName;return nt!==void 0?nt:at.indexOf("top")>=0?"slide-down":"slide-up"}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderDropDown)}}]),_e}(reactExports.Component);Dropdown.defaultProps={mouseEnterDelay:.15,mouseLeaveDelay:.1,placement:"bottomLeft"};var rafExports={},raf$2={get exports(){return rafExports},set exports(o){rafExports=o}},performanceNowExports$1={},performanceNow$2={get exports(){return performanceNowExports$1},set exports(o){performanceNowExports$1=o}};(function(){var o,$,_e,et,tt,rt;typeof performance<"u"&&performance!==null&&performance.now?performanceNow$2.exports=function(){return performance.now()}:typeof process<"u"&&process!==null&&process.hrtime?(performanceNow$2.exports=function(){return(o()-tt)/1e6},$=process.hrtime,o=function(){var at;return at=$(),at[0]*1e9+at[1]},et=o(),rt=process.uptime()*1e9,tt=et-rt):Date.now?(performanceNow$2.exports=function(){return Date.now()-_e},_e=Date.now()):(performanceNow$2.exports=function(){return new Date().getTime()-_e},_e=new Date().getTime())}).call(commonjsGlobal);var now$7=performanceNowExports$1,root$d=typeof window>"u"?commonjsGlobal:window,vendors=["moz","webkit"],suffix="AnimationFrame",raf$1=root$d["request"+suffix],caf=root$d["cancel"+suffix]||root$d["cancelRequest"+suffix];for(var i$2=0;!raf$1&&i$21&&arguments[1]!==void 0?arguments[1]:1,_e=id$1++,et=$;function tt(){et-=1,et<=0?(o(),delete ids[_e]):ids[_e]=rafExports(tt)}return ids[_e]=rafExports(tt),_e}wrapperRaf.cancel=function($){$!==void 0&&(rafExports.cancel(ids[$]),delete ids[$])};wrapperRaf.ids=ids;function _typeof$1c(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1c=function(_e){return typeof _e}:_typeof$1c=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1c(o)}function _classCallCheck$1Y(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$18(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1T(o,$,_e){return $&&_defineProperties$18(o.prototype,$),_e&&_defineProperties$18(o,_e),o}function _inherits$1W(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$1a(o,$)}function _setPrototypeOf$1a(o,$){return _setPrototypeOf$1a=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$1a(o,$)}function _createSuper$_(o){var $=_isNativeReflectConstruct$_();return function(){var et=_getPrototypeOf$1d(o),tt;if($){var rt=_getPrototypeOf$1d(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1W(this,tt)}}function _possibleConstructorReturn$1W(o,$){return $&&(_typeof$1c($)==="object"||typeof $=="function")?$:_assertThisInitialized$1a(o)}function _assertThisInitialized$1a(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1d(o){return _getPrototypeOf$1d=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1d(o)}var styleForPesudo;function isHidden$1(o){return!o||o.offsetParent===null}function isNotGrey(o){var $=(o||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\.\d]*)?\)/);return $&&$[1]&&$[2]&&$[3]?!($[1]===$[2]&&$[2]===$[3]):!0}var Wave=function(o){_inherits$1W(_e,o);var $=_createSuper$_(_e);function _e(){var et;return _classCallCheck$1Y(this,_e),et=$.apply(this,arguments),et.animationStart=!1,et.destroy=!1,et.onClick=function(tt,rt){if(!(!tt||isHidden$1(tt)||tt.className.indexOf("-leave")>=0)){var at=et.props.insertExtraNode;et.extraNode=document.createElement("div");var nt=_assertThisInitialized$1a(et),it=nt.extraNode;it.className="ant-click-animating-node";var ot=et.getAttributeName();tt.setAttribute(ot,"true"),styleForPesudo=styleForPesudo||document.createElement("style"),rt&&rt!=="#ffffff"&&rt!=="rgb(255, 255, 255)"&&isNotGrey(rt)&&!/rgba\(\d*, \d*, \d*, 0\)/.test(rt)&&rt!=="transparent"&&(et.csp&&et.csp.nonce&&(styleForPesudo.nonce=et.csp.nonce),it.style.borderColor=rt,styleForPesudo.innerHTML=` +*/var getOwnPropertySymbols$2=Object.getOwnPropertySymbols,hasOwnProperty$g=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject$3(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function shouldUseNative(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var $={},_e=0;_e<10;_e++)$["_"+String.fromCharCode(_e)]=_e;var et=Object.getOwnPropertyNames($).map(function(rt){return $[rt]});if(et.join("")!=="0123456789")return!1;var tt={};return"abcdefghijklmnopqrst".split("").forEach(function(rt){tt[rt]=rt}),Object.keys(Object.assign({},tt)).join("")==="abcdefghijklmnopqrst"}catch(rt){return!1}}var objectAssign=shouldUseNative()?Object.assign:function(o,$){for(var _e,et=toObject$3(o),tt,rt=1;rt=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e},possibleConstructorReturn$1=function(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o},encodeSpecialCharacters=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return _e===!1?String($):String($).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},getTitleFromPropsList=function($){var _e=getInnermostProperty($,TAG_NAMES.TITLE),et=getInnermostProperty($,HELMET_PROPS.TITLE_TEMPLATE);if(et&&_e)return et.replace(/%s/g,function(){return Array.isArray(_e)?_e.join(""):_e});var tt=getInnermostProperty($,HELMET_PROPS.DEFAULT_TITLE);return _e||tt||void 0},getOnChangeClientState=function($){return getInnermostProperty($,HELMET_PROPS.ON_CHANGE_CLIENT_STATE)||function(){}},getAttributesFromPropsList=function($,_e){return _e.filter(function(et){return typeof et[$]<"u"}).map(function(et){return et[$]}).reduce(function(et,tt){return _extends$26({},et,tt)},{})},getBaseTagFromPropsList=function($,_e){return _e.filter(function(et){return typeof et[TAG_NAMES.BASE]<"u"}).map(function(et){return et[TAG_NAMES.BASE]}).reverse().reduce(function(et,tt){if(!et.length)for(var rt=Object.keys(tt),at=0;at=0;et--){var tt=$[et];if(tt.hasOwnProperty(_e))return tt[_e]}return null},reducePropsToState=function($){return{baseTag:getBaseTagFromPropsList([TAG_PROPERTIES.HREF,TAG_PROPERTIES.TARGET],$),bodyAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY,$),defer:getInnermostProperty($,HELMET_PROPS.DEFER),encode:getInnermostProperty($,HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML,$),linkTags:getTagsFromPropsList(TAG_NAMES.LINK,[TAG_PROPERTIES.REL,TAG_PROPERTIES.HREF],$),metaTags:getTagsFromPropsList(TAG_NAMES.META,[TAG_PROPERTIES.NAME,TAG_PROPERTIES.CHARSET,TAG_PROPERTIES.HTTPEQUIV,TAG_PROPERTIES.PROPERTY,TAG_PROPERTIES.ITEM_PROP],$),noscriptTags:getTagsFromPropsList(TAG_NAMES.NOSCRIPT,[TAG_PROPERTIES.INNER_HTML],$),onChangeClientState:getOnChangeClientState($),scriptTags:getTagsFromPropsList(TAG_NAMES.SCRIPT,[TAG_PROPERTIES.SRC,TAG_PROPERTIES.INNER_HTML],$),styleTags:getTagsFromPropsList(TAG_NAMES.STYLE,[TAG_PROPERTIES.CSS_TEXT],$),title:getTitleFromPropsList($),titleAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE,$)}},rafPolyfill=function(){var o=Date.now();return function($){var _e=Date.now();_e-o>16?(o=_e,$(_e)):setTimeout(function(){rafPolyfill($)},0)}}(),cafPolyfill=function($){return clearTimeout($)},requestAnimationFrame$2=typeof window<"u"?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||rafPolyfill:global.requestAnimationFrame||rafPolyfill,cancelAnimationFrame$1=typeof window<"u"?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||cafPolyfill:global.cancelAnimationFrame||cafPolyfill,warn$3=function($){return console&&typeof console.warn=="function"&&console.warn($)},_helmetCallback=null,handleClientStateChange=function($){_helmetCallback&&cancelAnimationFrame$1(_helmetCallback),$.defer?_helmetCallback=requestAnimationFrame$2(function(){commitTagChanges($,function(){_helmetCallback=null})}):(commitTagChanges($),_helmetCallback=null)},commitTagChanges=function($,_e){var et=$.baseTag,tt=$.bodyAttributes,rt=$.htmlAttributes,at=$.linkTags,nt=$.metaTags,it=$.noscriptTags,ot=$.onChangeClientState,st=$.scriptTags,lt=$.styleTags,ct=$.title,ut=$.titleAttributes;updateAttributes(TAG_NAMES.BODY,tt),updateAttributes(TAG_NAMES.HTML,rt),updateTitle(ct,ut);var ft={baseTag:updateTags(TAG_NAMES.BASE,et),linkTags:updateTags(TAG_NAMES.LINK,at),metaTags:updateTags(TAG_NAMES.META,nt),noscriptTags:updateTags(TAG_NAMES.NOSCRIPT,it),scriptTags:updateTags(TAG_NAMES.SCRIPT,st),styleTags:updateTags(TAG_NAMES.STYLE,lt)},At={},vt={};Object.keys(ft).forEach(function(ht){var mt=ft[ht],bt=mt.newTags,dt=mt.oldTags;bt.length&&(At[ht]=bt),dt.length&&(vt[ht]=ft[ht].oldTags)}),_e&&_e(),ot($,At,vt)},flattenArray$1=function($){return Array.isArray($)?$.join(""):$},updateTitle=function($,_e){typeof $<"u"&&document.title!==$&&(document.title=flattenArray$1($)),updateAttributes(TAG_NAMES.TITLE,_e)},updateAttributes=function($,_e){var et=document.getElementsByTagName($)[0];if(et){for(var tt=et.getAttribute(HELMET_ATTRIBUTE),rt=tt?tt.split(","):[],at=[].concat(rt),nt=Object.keys(_e),it=0;it=0;ct--)et.removeAttribute(at[ct]);rt.length===at.length?et.removeAttribute(HELMET_ATTRIBUTE):et.getAttribute(HELMET_ATTRIBUTE)!==nt.join(",")&&et.setAttribute(HELMET_ATTRIBUTE,nt.join(","))}},updateTags=function($,_e){var et=document.head||document.querySelector(TAG_NAMES.HEAD),tt=et.querySelectorAll($+"["+HELMET_ATTRIBUTE+"]"),rt=Array.prototype.slice.call(tt),at=[],nt=void 0;return _e&&_e.length&&_e.forEach(function(it){var ot=document.createElement($);for(var st in it)if(it.hasOwnProperty(st))if(st===TAG_PROPERTIES.INNER_HTML)ot.innerHTML=it.innerHTML;else if(st===TAG_PROPERTIES.CSS_TEXT)ot.styleSheet?ot.styleSheet.cssText=it.cssText:ot.appendChild(document.createTextNode(it.cssText));else{var lt=typeof it[st]>"u"?"":it[st];ot.setAttribute(st,lt)}ot.setAttribute(HELMET_ATTRIBUTE,"true"),rt.some(function(ct,ut){return nt=ut,ot.isEqualNode(ct)})?rt.splice(nt,1):at.push(ot)}),rt.forEach(function(it){return it.parentNode.removeChild(it)}),at.forEach(function(it){return et.appendChild(it)}),{oldTags:rt,newTags:at}},generateElementAttributesAsString=function($){return Object.keys($).reduce(function(_e,et){var tt=typeof $[et]<"u"?et+'="'+$[et]+'"':""+et;return _e?_e+" "+tt:tt},"")},generateTitleAsString=function($,_e,et,tt){var rt=generateElementAttributesAsString(et),at=flattenArray$1(_e);return rt?"<"+$+" "+HELMET_ATTRIBUTE+'="true" '+rt+">"+encodeSpecialCharacters(at,tt)+"":"<"+$+" "+HELMET_ATTRIBUTE+'="true">'+encodeSpecialCharacters(at,tt)+""},generateTagsAsString=function($,_e,et){return _e.reduce(function(tt,rt){var at=Object.keys(rt).filter(function(ot){return!(ot===TAG_PROPERTIES.INNER_HTML||ot===TAG_PROPERTIES.CSS_TEXT)}).reduce(function(ot,st){var lt=typeof rt[st]>"u"?st:st+'="'+encodeSpecialCharacters(rt[st],et)+'"';return ot?ot+" "+lt:lt},""),nt=rt.innerHTML||rt.cssText||"",it=SELF_CLOSING_TAGS.indexOf($)===-1;return tt+"<"+$+" "+HELMET_ATTRIBUTE+'="true" '+at+(it?"/>":">"+nt+"")},"")},convertElementAttributestoReactProps=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys($).reduce(function(et,tt){return et[REACT_TAG_MAP[tt]||tt]=$[tt],et},_e)},convertReactPropstoHtmlAttributes=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys($).reduce(function(et,tt){return et[HTML_TAG_MAP[tt]||tt]=$[tt],et},_e)},generateTitleAsReactComponent=function($,_e,et){var tt,rt=(tt={key:_e},tt[HELMET_ATTRIBUTE]=!0,tt),at=convertElementAttributestoReactProps(et,rt);return[React$k.createElement(TAG_NAMES.TITLE,at,_e)]},generateTagsAsReactComponent=function($,_e){return _e.map(function(et,tt){var rt,at=(rt={key:tt},rt[HELMET_ATTRIBUTE]=!0,rt);return Object.keys(et).forEach(function(nt){var it=REACT_TAG_MAP[nt]||nt;if(it===TAG_PROPERTIES.INNER_HTML||it===TAG_PROPERTIES.CSS_TEXT){var ot=et.innerHTML||et.cssText;at.dangerouslySetInnerHTML={__html:ot}}else at[it]=et[nt]}),React$k.createElement($,at)})},getMethodsForTag=function($,_e,et){switch($){case TAG_NAMES.TITLE:return{toComponent:function(){return generateTitleAsReactComponent($,_e.title,_e.titleAttributes)},toString:function(){return generateTitleAsString($,_e.title,_e.titleAttributes,et)}};case ATTRIBUTE_NAMES.BODY:case ATTRIBUTE_NAMES.HTML:return{toComponent:function(){return convertElementAttributestoReactProps(_e)},toString:function(){return generateElementAttributesAsString(_e)}};default:return{toComponent:function(){return generateTagsAsReactComponent($,_e)},toString:function(){return generateTagsAsString($,_e,et)}}}},mapStateOnServer=function($){var _e=$.baseTag,et=$.bodyAttributes,tt=$.encode,rt=$.htmlAttributes,at=$.linkTags,nt=$.metaTags,it=$.noscriptTags,ot=$.scriptTags,st=$.styleTags,lt=$.title,ct=lt===void 0?"":lt,ut=$.titleAttributes;return{base:getMethodsForTag(TAG_NAMES.BASE,_e,tt),bodyAttributes:getMethodsForTag(ATTRIBUTE_NAMES.BODY,et,tt),htmlAttributes:getMethodsForTag(ATTRIBUTE_NAMES.HTML,rt,tt),link:getMethodsForTag(TAG_NAMES.LINK,at,tt),meta:getMethodsForTag(TAG_NAMES.META,nt,tt),noscript:getMethodsForTag(TAG_NAMES.NOSCRIPT,it,tt),script:getMethodsForTag(TAG_NAMES.SCRIPT,ot,tt),style:getMethodsForTag(TAG_NAMES.STYLE,st,tt),title:getMethodsForTag(TAG_NAMES.TITLE,{title:ct,titleAttributes:ut},tt)}},Helmet=function($){var _e,et;return et=_e=function(tt){inherits$1(rt,tt);function rt(){return classCallCheck$1(this,rt),possibleConstructorReturn$1(this,tt.apply(this,arguments))}return rt.prototype.shouldComponentUpdate=function(nt){return!reactFastCompare(this.props,nt)},rt.prototype.mapNestedChildrenToProps=function(nt,it){if(!it)return null;switch(nt.type){case TAG_NAMES.SCRIPT:case TAG_NAMES.NOSCRIPT:return{innerHTML:it};case TAG_NAMES.STYLE:return{cssText:it}}throw new Error("<"+nt.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},rt.prototype.flattenArrayTypeChildren=function(nt){var it,ot=nt.child,st=nt.arrayTypeChildren,lt=nt.newChildProps,ct=nt.nestedChildren;return _extends$26({},st,(it={},it[ot.type]=[].concat(st[ot.type]||[],[_extends$26({},lt,this.mapNestedChildrenToProps(ot,ct))]),it))},rt.prototype.mapObjectTypeChildren=function(nt){var it,ot,st=nt.child,lt=nt.newProps,ct=nt.newChildProps,ut=nt.nestedChildren;switch(st.type){case TAG_NAMES.TITLE:return _extends$26({},lt,(it={},it[st.type]=ut,it.titleAttributes=_extends$26({},ct),it));case TAG_NAMES.BODY:return _extends$26({},lt,{bodyAttributes:_extends$26({},ct)});case TAG_NAMES.HTML:return _extends$26({},lt,{htmlAttributes:_extends$26({},ct)})}return _extends$26({},lt,(ot={},ot[st.type]=_extends$26({},ct),ot))},rt.prototype.mapArrayTypeChildrenToProps=function(nt,it){var ot=_extends$26({},it);return Object.keys(nt).forEach(function(st){var lt;ot=_extends$26({},ot,(lt={},lt[st]=nt[st],lt))}),ot},rt.prototype.warnOnInvalidChildren=function(nt,it){return!0},rt.prototype.mapChildrenToProps=function(nt,it){var ot=this,st={};return React$k.Children.forEach(nt,function(lt){if(!(!lt||!lt.props)){var ct=lt.props,ut=ct.children,ft=objectWithoutProperties$1(ct,["children"]),At=convertReactPropstoHtmlAttributes(ft);switch(ot.warnOnInvalidChildren(lt,ut),lt.type){case TAG_NAMES.LINK:case TAG_NAMES.META:case TAG_NAMES.NOSCRIPT:case TAG_NAMES.SCRIPT:case TAG_NAMES.STYLE:st=ot.flattenArrayTypeChildren({child:lt,arrayTypeChildren:st,newChildProps:At,nestedChildren:ut});break;default:it=ot.mapObjectTypeChildren({child:lt,newProps:it,newChildProps:At,nestedChildren:ut});break}}}),it=this.mapArrayTypeChildrenToProps(st,it),it},rt.prototype.render=function(){var nt=this.props,it=nt.children,ot=objectWithoutProperties$1(nt,["children"]),st=_extends$26({},ot);return it&&(st=this.mapChildrenToProps(it,st)),React$k.createElement($,st)},createClass$1(rt,null,[{key:"canUseDOM",set:function(nt){$.canUseDOM=nt}}]),rt}(React$k.Component),_e.propTypes={base:propTypesExports.object,bodyAttributes:propTypesExports.object,children:propTypesExports.oneOfType([propTypesExports.arrayOf(propTypesExports.node),propTypesExports.node]),defaultTitle:propTypesExports.string,defer:propTypesExports.bool,encodeSpecialCharacters:propTypesExports.bool,htmlAttributes:propTypesExports.object,link:propTypesExports.arrayOf(propTypesExports.object),meta:propTypesExports.arrayOf(propTypesExports.object),noscript:propTypesExports.arrayOf(propTypesExports.object),onChangeClientState:propTypesExports.func,script:propTypesExports.arrayOf(propTypesExports.object),style:propTypesExports.arrayOf(propTypesExports.object),title:propTypesExports.string,titleAttributes:propTypesExports.object,titleTemplate:propTypesExports.string},_e.defaultProps={defer:!0,encodeSpecialCharacters:!0},_e.peek=$.peek,_e.rewind=function(){var tt=$.rewind();return tt||(tt=mapStateOnServer({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),tt},et},NullComponent=function(){return null},HelmetSideEffects=lib$7(reducePropsToState,handleClientStateChange,mapStateOnServer)(NullComponent),HelmetExport=Helmet(HelmetSideEffects);HelmetExport.renderStatic=HelmetExport.rewind;const index$S="",index$R="",index$Q="",index$P="",index$O="";function contains$1(o,$){for(var _e=$;_e;){if(_e===o)return!0;_e=_e.parentNode}return!1}var libExports$2={},lib$6={get exports(){return libExports$2},set exports(o){libExports$2=o}},EventObjectExports={},EventObject={get exports(){return EventObjectExports},set exports(o){EventObjectExports=o}},EventBaseObjectExports={},EventBaseObject={get exports(){return EventBaseObjectExports},set exports(o){EventBaseObjectExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});function _e(){return!1}function et(){return!0}function tt(){this.timeStamp=Date.now(),this.target=void 0,this.currentTarget=void 0}tt.prototype={isEventObject:1,constructor:tt,isDefaultPrevented:_e,isPropagationStopped:_e,isImmediatePropagationStopped:_e,preventDefault:function(){this.isDefaultPrevented=et},stopPropagation:function(){this.isPropagationStopped=et},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=et,this.stopPropagation()},halt:function(at){at?this.stopImmediatePropagation():this.stopPropagation(),this.preventDefault()}},$.default=tt,o.exports=$.default})(EventBaseObject,EventBaseObjectExports);(function(o,$){Object.defineProperty($,"__esModule",{value:!0});function _e(vt){return vt&&vt.__esModule?vt:{default:vt}}var et=EventBaseObjectExports,tt=_e(et),rt=objectAssign,at=_e(rt),nt=!0,it=!1,ot=["altKey","bubbles","cancelable","ctrlKey","currentTarget","eventPhase","metaKey","shiftKey","target","timeStamp","view","type"];function st(vt){return vt==null}var lt=[{reg:/^key/,props:["char","charCode","key","keyCode","which"],fix:function(ht,mt){st(ht.which)&&(ht.which=st(mt.charCode)?mt.keyCode:mt.charCode),ht.metaKey===void 0&&(ht.metaKey=ht.ctrlKey)}},{reg:/^touch/,props:["touches","changedTouches","targetTouches"]},{reg:/^hashchange$/,props:["newURL","oldURL"]},{reg:/^gesturechange$/i,props:["rotation","scale"]},{reg:/^(mousewheel|DOMMouseScroll)$/,props:[],fix:function(ht,mt){var bt=void 0,dt=void 0,xt=void 0,Ct=mt.wheelDelta,gt=mt.axis,wt=mt.wheelDeltaY,_t=mt.wheelDeltaX,Et=mt.detail;Ct&&(xt=Ct/120),Et&&(xt=0-(Et%3===0?Et/3:Et)),gt!==void 0&&(gt===ht.HORIZONTAL_AXIS?(dt=0,bt=0-xt):gt===ht.VERTICAL_AXIS&&(bt=0,dt=xt)),wt!==void 0&&(dt=wt/120),_t!==void 0&&(bt=-1*_t/120),!bt&&!dt&&(dt=xt),bt!==void 0&&(ht.deltaX=bt),dt!==void 0&&(ht.deltaY=dt),xt!==void 0&&(ht.delta=xt)}},{reg:/^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,props:["buttons","clientX","clientY","button","offsetX","relatedTarget","which","fromElement","toElement","offsetY","pageX","pageY","screenX","screenY"],fix:function(ht,mt){var bt=void 0,dt=void 0,xt=void 0,Ct=ht.target,gt=mt.button;return Ct&&st(ht.pageX)&&!st(mt.clientX)&&(bt=Ct.ownerDocument||document,dt=bt.documentElement,xt=bt.body,ht.pageX=mt.clientX+(dt&&dt.scrollLeft||xt&&xt.scrollLeft||0)-(dt&&dt.clientLeft||xt&&xt.clientLeft||0),ht.pageY=mt.clientY+(dt&&dt.scrollTop||xt&&xt.scrollTop||0)-(dt&&dt.clientTop||xt&&xt.clientTop||0)),!ht.which&>!==void 0&&(gt&1?ht.which=1:gt&2?ht.which=3:gt&4?ht.which=2:ht.which=0),!ht.relatedTarget&&ht.fromElement&&(ht.relatedTarget=ht.fromElement===Ct?ht.toElement:ht.fromElement),ht}}];function ct(){return nt}function ut(){return it}function ft(vt){var ht=vt.type,mt=typeof vt.stopPropagation=="function"||typeof vt.cancelBubble=="boolean";tt.default.call(this),this.nativeEvent=vt;var bt=ut;"defaultPrevented"in vt?bt=vt.defaultPrevented?ct:ut:"getPreventDefault"in vt?bt=vt.getPreventDefault()?ct:ut:"returnValue"in vt&&(bt=vt.returnValue===it?ct:ut),this.isDefaultPrevented=bt;var dt=[],xt=void 0,Ct=void 0,gt=void 0,wt=ot.concat();for(lt.forEach(function(_t){ht.match(_t.reg)&&(wt=wt.concat(_t.props),_t.fix&&dt.push(_t.fix))}),Ct=wt.length;Ct;)gt=wt[--Ct],this[gt]=vt[gt];for(!this.target&&mt&&(this.target=vt.srcElement||document),this.target&&this.target.nodeType===3&&(this.target=this.target.parentNode),Ct=dt.length;Ct;)xt=dt[--Ct],xt(this,vt);this.timeStamp=vt.timeStamp||Date.now()}var At=tt.default.prototype;(0,at.default)(ft.prototype,At,{constructor:ft,preventDefault:function(){var ht=this.nativeEvent;ht.preventDefault?ht.preventDefault():ht.returnValue=it,At.preventDefault.call(this)},stopPropagation:function(){var ht=this.nativeEvent;ht.stopPropagation?ht.stopPropagation():ht.cancelBubble=nt,At.stopPropagation.call(this)}}),$.default=ft,o.exports=$.default})(EventObject,EventObjectExports);(function(o,$){Object.defineProperty($,"__esModule",{value:!0}),$.default=rt;function _e(at){return at&&at.__esModule?at:{default:at}}var et=EventObjectExports,tt=_e(et);function rt(at,nt,it,ot){function st(ct){var ut=new tt.default(ct);it.call(at,ut)}if(at.addEventListener){var lt=function(){var ct=!1;return typeof ot=="object"?ct=ot.capture||!1:typeof ot=="boolean"&&(ct=ot),at.addEventListener(nt,st,ot||!1),{v:{remove:function(){at.removeEventListener(nt,st,ct)}}}}();if(typeof lt=="object")return lt.v}else if(at.attachEvent)return at.attachEvent("on"+nt,st),{remove:function(){at.detachEvent("on"+nt,st)}}}o.exports=$.default})(lib$6,libExports$2);const addDOMEventListener=getDefaultExportFromCjs(libExports$2);function addEventListenerWrap$1(o,$,_e,et){var tt=ReactDOM.unstable_batchedUpdates?function(at){ReactDOM.unstable_batchedUpdates(_e,at)}:_e;return addDOMEventListener(o,$,tt,et)}function _typeof$1g(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1g=function(_e){return typeof _e}:_typeof$1g=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1g(o)}function _classCallCheck$20(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1b(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1W(o,$,_e){return $&&_defineProperties$1b(o.prototype,$),_e&&_defineProperties$1b(o,_e),o}function _inherits$1_(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$1d(o,$)}function _setPrototypeOf$1d(o,$){return _setPrototypeOf$1d=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$1d(o,$)}function _createSuper$11(o){var $=_isNativeReflectConstruct$11();return function(){var et=_getPrototypeOf$1g(o),tt;if($){var rt=_getPrototypeOf$1g(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1_(this,tt)}}function _possibleConstructorReturn$1_(o,$){return $&&(_typeof$1g($)==="object"||typeof $=="function")?$:_assertThisInitialized$1d(o)}function _assertThisInitialized$1d(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$11(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1g(o){return _getPrototypeOf$1g=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1g(o)}var ContainerRender=function(o){_inherits$1_(_e,o);var $=_createSuper$11(_e);function _e(){var et;_classCallCheck$20(this,_e);for(var tt=arguments.length,rt=new Array(tt),at=0;at"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1f(o){return _getPrototypeOf$1f=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1f(o)}var Portal$1=function(o){_inherits$1Z(_e,o);var $=_createSuper$10(_e);function _e(){return _classCallCheck$1$(this,_e),$.apply(this,arguments)}return _createClass$1V(_e,[{key:"componentDidMount",value:function(){this.createContainer()}},{key:"componentDidUpdate",value:function(tt){var rt=this.props.didUpdate;rt&&rt(tt)}},{key:"componentWillUnmount",value:function(){this.removeContainer()}},{key:"createContainer",value:function(){this._container=this.props.getContainer(),this.forceUpdate()}},{key:"removeContainer",value:function(){this._container&&this._container.parentNode.removeChild(this._container)}},{key:"render",value:function(){return this._container?ReactDOM.createPortal(this.props.children,this._container):null}}]),_e}(React$k.Component);Portal$1.propTypes={getContainer:propTypesExports.func.isRequired,children:propTypesExports.node.isRequired,didUpdate:propTypesExports.func};function isPointsEq(o,$,_e){return _e?o[0]===$[0]:o[0]===$[0]&&o[1]===$[1]}function getAlignFromPlacement(o,$,_e){var et=o[$]||{};return _default$bE({},et,_e)}function getAlignPopupClassName(o,$,_e,et){var tt=_e.points;for(var rt in o)if(o.hasOwnProperty(rt)&&isPointsEq(o[rt].points,tt,et))return $+"-placement-"+rt;return""}function saveRef$2(o,$){this[o]=$}var vendorPrefix=void 0,jsCssMap={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-",O:"-o-"};function getVendorPrefix(){if(vendorPrefix!==void 0)return vendorPrefix;vendorPrefix="";var o=document.createElement("p").style,$="Transform";for(var _e in jsCssMap)_e+$ in o&&(vendorPrefix=_e);return vendorPrefix}function getTransitionName$1(){return getVendorPrefix()?getVendorPrefix()+"TransitionProperty":"transitionProperty"}function getTransformName(){return getVendorPrefix()?getVendorPrefix()+"Transform":"transform"}function setTransitionProperty(o,$){var _e=getTransitionName$1();_e&&(o.style[_e]=$,_e!=="transitionProperty"&&(o.style.transitionProperty=$))}function setTransform$2(o,$){var _e=getTransformName();_e&&(o.style[_e]=$,_e!=="transform"&&(o.style.transform=$))}function getTransitionProperty(o){return o.style.transitionProperty||o.style[getTransitionName$1()]}function getTransformXY(o){var $=window.getComputedStyle(o,null),_e=$.getPropertyValue("transform")||$.getPropertyValue(getTransformName());if(_e&&_e!=="none"){var et=_e.replace(/[^0-9\-.,]/g,"").split(",");return{x:parseFloat(et[12]||et[4],0),y:parseFloat(et[13]||et[5],0)}}return{x:0,y:0}}var matrix2d=/matrix\((.*)\)/,matrix3d=/matrix3d\((.*)\)/;function setTransformXY(o,$){var _e=window.getComputedStyle(o,null),et=_e.getPropertyValue("transform")||_e.getPropertyValue(getTransformName());if(et&&et!=="none"){var tt=void 0,rt=et.match(matrix2d);if(rt)rt=rt[1],tt=rt.split(",").map(function(nt){return parseFloat(nt,10)}),tt[4]=$.x,tt[5]=$.y,setTransform$2(o,"matrix("+tt.join(",")+")");else{var at=et.match(matrix3d)[1];tt=at.split(",").map(function(nt){return parseFloat(nt,10)}),tt[12]=$.x,tt[13]=$.y,setTransform$2(o,"matrix3d("+tt.join(",")+")")}}else setTransform$2(o,"translateX("+$.x+"px) translateY("+$.y+"px) translateZ(0)")}var _typeof$1e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},RE_NUM$1=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,getComputedStyleX$1=void 0;function forceRelayout(o){var $=o.style.display;o.style.display="none",o.offsetHeight,o.style.display=$}function css$1(o,$,_e){var et=_e;if((typeof $>"u"?"undefined":_typeof$1e($))==="object"){for(var tt in $)$.hasOwnProperty(tt)&&css$1(o,tt,$[tt]);return}if(typeof et<"u"){typeof et=="number"&&(et=et+"px"),o.style[$]=et;return}return getComputedStyleX$1(o,$)}function getClientPosition$1(o){var $=void 0,_e=void 0,et=void 0,tt=o.ownerDocument,rt=tt.body,at=tt&&tt.documentElement;return $=o.getBoundingClientRect(),_e=$.left,et=$.top,_e-=at.clientLeft||rt.clientLeft||0,et-=at.clientTop||rt.clientTop||0,{left:_e,top:et}}function getScroll$3(o,$){var _e=o["page"+($?"Y":"X")+"Offset"],et="scroll"+($?"Top":"Left");if(typeof _e!="number"){var tt=o.document;_e=tt.documentElement[et],typeof _e!="number"&&(_e=tt.body[et])}return _e}function getScrollLeft$1(o){return getScroll$3(o)}function getScrollTop$1(o){return getScroll$3(o,!0)}function getOffset$1(o){var $=getClientPosition$1(o),_e=o.ownerDocument,et=_e.defaultView||_e.parentWindow;return $.left+=getScrollLeft$1(et),$.top+=getScrollTop$1(et),$}function isWindow$2(o){return o!=null&&o==o.window}function getDocument(o){return isWindow$2(o)?o.document:o.nodeType===9?o:o.ownerDocument}function _getComputedStyle$1(o,$,_e){var et=_e,tt="",rt=getDocument(o);return et=et||rt.defaultView.getComputedStyle(o,null),et&&(tt=et.getPropertyValue($)||et[$]),tt}var _RE_NUM_NO_PX$1=new RegExp("^("+RE_NUM$1+")(?!px)[a-z%]+$","i"),RE_POS$1=/^(top|right|bottom|left)$/,CURRENT_STYLE$1="currentStyle",RUNTIME_STYLE$1="runtimeStyle",LEFT$6="left",PX$1="px";function _getComputedStyleIE$1(o,$){var _e=o[CURRENT_STYLE$1]&&o[CURRENT_STYLE$1][$];if(_RE_NUM_NO_PX$1.test(_e)&&!RE_POS$1.test($)){var et=o.style,tt=et[LEFT$6],rt=o[RUNTIME_STYLE$1][LEFT$6];o[RUNTIME_STYLE$1][LEFT$6]=o[CURRENT_STYLE$1][LEFT$6],et[LEFT$6]=$==="fontSize"?"1em":_e||0,_e=et.pixelLeft+PX$1,et[LEFT$6]=tt,o[RUNTIME_STYLE$1][LEFT$6]=rt}return _e===""?"auto":_e}typeof window<"u"&&(getComputedStyleX$1=window.getComputedStyle?_getComputedStyle$1:_getComputedStyleIE$1);function getOffsetDirection(o,$){return o==="left"?$.useCssRight?"right":o:$.useCssBottom?"bottom":o}function oppositeOffsetDirection(o){if(o==="left")return"right";if(o==="right")return"left";if(o==="top")return"bottom";if(o==="bottom")return"top"}function setLeftTop(o,$,_e){css$1(o,"position")==="static"&&(o.style.position="relative");var et=-999,tt=-999,rt=getOffsetDirection("left",_e),at=getOffsetDirection("top",_e),nt=oppositeOffsetDirection(rt),it=oppositeOffsetDirection(at);rt!=="left"&&(et=999),at!=="top"&&(tt=999);var ot="",st=getOffset$1(o);("left"in $||"top"in $)&&(ot=getTransitionProperty(o)||"",setTransitionProperty(o,"none")),"left"in $&&(o.style[nt]="",o.style[rt]=et+"px"),"top"in $&&(o.style[it]="",o.style[at]=tt+"px"),forceRelayout(o);var lt=getOffset$1(o),ct={};for(var ut in $)if($.hasOwnProperty(ut)){var ft=getOffsetDirection(ut,_e),At=ut==="left"?et:tt,vt=st[ut]-lt[ut];ft===ut?ct[ft]=At+vt:ct[ft]=At-vt}css$1(o,ct),forceRelayout(o),("left"in $||"top"in $)&&setTransitionProperty(o,ot);var ht={};for(var mt in $)if($.hasOwnProperty(mt)){var bt=getOffsetDirection(mt,_e),dt=$[mt]-st[mt];mt===bt?ht[bt]=ct[bt]+dt:ht[bt]=ct[bt]-dt}css$1(o,ht)}function setTransform$1(o,$){var _e=getOffset$1(o),et=getTransformXY(o),tt={x:et.x,y:et.y};"left"in $&&(tt.x=et.x+$.left-_e.left),"top"in $&&(tt.y=et.y+$.top-_e.top),setTransformXY(o,tt)}function setOffset$1(o,$,_e){if(_e.ignoreShake){var et=getOffset$1(o),tt=et.left.toFixed(0),rt=et.top.toFixed(0),at=$.left.toFixed(0),nt=$.top.toFixed(0);if(tt===at&&rt===nt)return}_e.useCssRight||_e.useCssBottom?setLeftTop(o,$,_e):_e.useCssTransform&&getTransformName()in document.body.style?setTransform$1(o,$):setLeftTop(o,$,_e)}function each$c(o,$){for(var _e=0;_e=0&&$.left>=0&&$.bottom>$.top&&$.right>$.left?$:null}function adjustForViewport(o,$,_e,et){var tt=utils$7.clone(o),rt={width:$.width,height:$.height};return et.adjustX&&tt.left<_e.left&&(tt.left=_e.left),et.resizeWidth&&tt.left>=_e.left&&tt.left+rt.width>_e.right&&(rt.width-=tt.left+rt.width-_e.right),et.adjustX&&tt.left+rt.width>_e.right&&(tt.left=Math.max(_e.right-rt.width,_e.left)),et.adjustY&&tt.top<_e.top&&(tt.top=_e.top),et.resizeHeight&&tt.top>=_e.top&&tt.top+rt.height>_e.bottom&&(rt.height-=tt.top+rt.height-_e.bottom),et.adjustY&&tt.top+rt.height>_e.bottom&&(tt.top=Math.max(_e.bottom-rt.height,_e.top)),utils$7.mix(tt,rt)}function getRegion(o){var $=void 0,_e=void 0,et=void 0;if(!utils$7.isWindow(o)&&o.nodeType!==9)$=utils$7.offset(o),_e=utils$7.outerWidth(o),et=utils$7.outerHeight(o);else{var tt=utils$7.getWindow(o);$={left:utils$7.getWindowScrollLeft(tt),top:utils$7.getWindowScrollTop(tt)},_e=utils$7.viewportWidth(tt),et=utils$7.viewportHeight(tt)}return $.width=_e,$.height=et,$}function getAlignOffset(o,$){var _e=$.charAt(0),et=$.charAt(1),tt=o.width,rt=o.height,at=o.left,nt=o.top;return _e==="c"?nt+=rt/2:_e==="b"&&(nt+=rt),et==="c"?at+=tt/2:et==="r"&&(at+=tt),{left:at,top:nt}}function getElFuturePos(o,$,_e,et,tt){var rt=getAlignOffset($,_e[1]),at=getAlignOffset(o,_e[0]),nt=[at.left-rt.left,at.top-rt.top];return{left:o.left-nt[0]+et[0]-tt[0],top:o.top-nt[1]+et[1]-tt[1]}}function isFailX(o,$,_e){return o.left<_e.left||o.left+$.width>_e.right}function isFailY(o,$,_e){return o.top<_e.top||o.top+$.height>_e.bottom}function isCompleteFailX(o,$,_e){return o.left>_e.right||o.left+$.width<_e.left}function isCompleteFailY(o,$,_e){return o.top>_e.bottom||o.top+$.height<_e.top}function flip(o,$,_e){var et=[];return utils$7.each(o,function(tt){et.push(tt.replace($,function(rt){return _e[rt]}))}),et}function flipOffset(o,$){return o[$]=-o[$],o}function convertOffset(o,$){var _e=void 0;return/%$/.test(o)?_e=parseInt(o.substring(0,o.length-1),10)/100*$:_e=parseInt(o,10),_e||0}function normalizeOffset(o,$){o[0]=convertOffset(o[0],$.width),o[1]=convertOffset(o[1],$.height)}function doAlign(o,$,_e,et){var tt=_e.points,rt=_e.offset||[0,0],at=_e.targetOffset||[0,0],nt=_e.overflow,it=_e.source||o;rt=[].concat(rt),at=[].concat(at),nt=nt||{};var ot={},st=0,lt=getVisibleRectForElement(it),ct=getRegion(it);normalizeOffset(rt,ct),normalizeOffset(at,$);var ut=getElFuturePos(ct,$,tt,rt,at),ft=utils$7.merge(ct,ut);if(lt&&(nt.adjustX||nt.adjustY)&&et){if(nt.adjustX&&isFailX(ut,ct,lt)){var At=flip(tt,/[lr]/ig,{l:"r",r:"l"}),vt=flipOffset(rt,0),ht=flipOffset(at,0),mt=getElFuturePos(ct,$,At,vt,ht);isCompleteFailX(mt,ct,lt)||(st=1,tt=At,rt=vt,at=ht)}if(nt.adjustY&&isFailY(ut,ct,lt)){var bt=flip(tt,/[tb]/ig,{t:"b",b:"t"}),dt=flipOffset(rt,1),xt=flipOffset(at,1),Ct=getElFuturePos(ct,$,bt,dt,xt);isCompleteFailY(Ct,ct,lt)||(st=1,tt=bt,rt=dt,at=xt)}st&&(ut=getElFuturePos(ct,$,tt,rt,at),utils$7.mix(ft,ut));var gt=isFailX(ut,ct,lt),wt=isFailY(ut,ct,lt);(gt||wt)&&(tt=_e.points,rt=_e.offset||[0,0],at=_e.targetOffset||[0,0]),ot.adjustX=nt.adjustX&>,ot.adjustY=nt.adjustY&&wt,(ot.adjustX||ot.adjustY)&&(ft=adjustForViewport(ut,ct,lt,ot))}return ft.width!==ct.width&&utils$7.css(it,"width",utils$7.width(it)+ft.width-ct.width),ft.height!==ct.height&&utils$7.css(it,"height",utils$7.height(it)+ft.height-ct.height),utils$7.offset(it,{left:ft.left,top:ft.top},{useCssRight:_e.useCssRight,useCssBottom:_e.useCssBottom,useCssTransform:_e.useCssTransform,ignoreShake:_e.ignoreShake}),{points:tt,offset:rt,targetOffset:at,overflow:ot}}function isOutOfVisibleRect(o){var $=getVisibleRectForElement(o),_e=getRegion(o);return!$||_e.left+_e.width<=$.left||_e.top+_e.height<=$.top||_e.left>=$.right||_e.top>=$.bottom}function alignElement(o,$,_e){var et=_e.target||$,tt=getRegion(et),rt=!isOutOfVisibleRect(et);return doAlign(o,tt,_e,rt)}alignElement.__getOffsetParent=getOffsetParent;alignElement.__getVisibleRectForElement=getVisibleRectForElement;var _extends$25=Object.assign||function(o){for(var $=1;$=0&&et<=nt+ot&&tt>=0&&tt<=it+st,ut=[_e.points[0],"cc"];return doAlign(o,lt,_extends$25({},_e,{points:ut}),ct)}function buffer(o,$){var _e=void 0;function et(){_e&&(clearTimeout(_e),_e=null)}function tt(){et(),_e=setTimeout(o,$)}return tt.clear=et,tt}function isSamePoint(o,$){return o===$?!0:!o||!$?!1:"pageX"in $&&"pageY"in $?o.pageX===$.pageX&&o.pageY===$.pageY:"clientX"in $&&"clientY"in $?o.clientX===$.clientX&&o.clientY===$.clientY:!1}function isWindow$1(o){return o&&typeof o=="object"&&o.window===o}function isSimilarValue(o,$){var _e=Math.floor(o),et=Math.floor($);return Math.abs(_e-et)<=1}function restoreFocus(o,$){o!==document.activeElement&&contains$1($,o)&&o.focus()}function getElement(o){return typeof o!="function"||!o?null:o()}function getPoint(o){return typeof o!="object"||!o?null:o}var Align=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it children");et=tt}}),et}function isSameChildren(o,$,_e){var et=o.length===$.length;return et&&o.forEach(function(tt,rt){var at=$[rt];tt&&at&&(tt&&!at||!tt&&at||tt.key!==at.key||_e&&tt.props[_e]!==at.props[_e])&&(et=!1)}),et}function mergeChildren(o,$){var _e=[],et={},tt=[];return o.forEach(function(rt){rt&&findChildInChildrenByKey($,rt.key)?tt.length&&(et[rt.key]=tt,tt=[]):tt.push(rt)}),$.forEach(function(rt){rt&&Object.prototype.hasOwnProperty.call(et,rt.key)&&(_e=_e.concat(et[rt.key])),_e.push(rt)}),_e=_e.concat(tt),_e}var START_EVENT_NAME_MAP={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},END_EVENT_NAME_MAP={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},startEvents=[],endEvents=[];function detectEvents(){var o=document.createElement("div"),$=o.style;"AnimationEvent"in window||(delete START_EVENT_NAME_MAP.animationstart.animation,delete END_EVENT_NAME_MAP.animationend.animation),"TransitionEvent"in window||(delete START_EVENT_NAME_MAP.transitionstart.transition,delete END_EVENT_NAME_MAP.transitionend.transition);function _e(et,tt){for(var rt in et)if(et.hasOwnProperty(rt)){var at=et[rt];for(var nt in at)if(nt in $){tt.push(at[nt]);break}}}_e(START_EVENT_NAME_MAP,startEvents),_e(END_EVENT_NAME_MAP,endEvents)}typeof window<"u"&&typeof document<"u"&&detectEvents();function addEventListener$1(o,$,_e){o.addEventListener($,_e,!1)}function removeEventListener(o,$,_e){o.removeEventListener($,_e,!1)}var TransitionEvents={startEvents,addStartEventListener:function($,_e){if(startEvents.length===0){window.setTimeout(_e,0);return}startEvents.forEach(function(et){addEventListener$1($,et,_e)})},removeStartEventListener:function($,_e){startEvents.length!==0&&startEvents.forEach(function(et){removeEventListener($,et,_e)})},endEvents,addEndEventListener:function($,_e){if(endEvents.length===0){window.setTimeout(_e,0);return}endEvents.forEach(function(et){addEventListener$1($,et,_e)})},removeEndEventListener:function($,_e){endEvents.length!==0&&endEvents.forEach(function(et){removeEventListener($,et,_e)})}},componentIndexof,hasRequiredComponentIndexof;function requireComponentIndexof(){return hasRequiredComponentIndexof||(hasRequiredComponentIndexof=1,componentIndexof=function(o,$){if(o.indexOf)return o.indexOf($);for(var _e=0;_e"u"?"undefined":_default$a(_e))==="object",rt=tt?_e.name:_e,at=tt?_e.active:_e+"-active",nt=et,it=void 0,ot=void 0,st=componentClasses($);return et&&Object.prototype.toString.call(et)==="[object Object]"&&(nt=et.end,it=et.start,ot=et.active),$.rcEndListener&&$.rcEndListener(),$.rcEndListener=function(lt){lt&<.target!==$||($.rcAnimTimeout&&(clearTimeout($.rcAnimTimeout),$.rcAnimTimeout=null),clearBrowserBugTimeout($),st.remove(rt),st.remove(at),TransitionEvents.removeEndEventListener($,$.rcEndListener),$.rcEndListener=null,nt&&nt())},TransitionEvents.addEndEventListener($,$.rcEndListener),it&&it(),st.add(rt),$.rcAnimTimeout=setTimeout(function(){$.rcAnimTimeout=null,st.add(at),ot&&setTimeout(ot,0),fixBrowserByTimeout($)},30),{stop:function(){$.rcEndListener&&$.rcEndListener()}}};cssAnimation.style=function(o,$,_e){o.rcEndListener&&o.rcEndListener(),o.rcEndListener=function(et){et&&et.target!==o||(o.rcAnimTimeout&&(clearTimeout(o.rcAnimTimeout),o.rcAnimTimeout=null),clearBrowserBugTimeout(o),TransitionEvents.removeEndEventListener(o,o.rcEndListener),o.rcEndListener=null,_e&&_e())},TransitionEvents.addEndEventListener(o,o.rcEndListener),o.rcAnimTimeout=setTimeout(function(){for(var et in $)$.hasOwnProperty(et)&&(o.style[et]=$[et]);o.rcAnimTimeout=null,fixBrowserByTimeout(o)},0)};cssAnimation.setTransition=function(o,$,_e){var et=$,tt=_e;_e===void 0&&(tt=et,et=""),et=et||"",capitalPrefixes.forEach(function(rt){o.style[rt+"Transition"+et]=tt})};cssAnimation.isCssAnimationSupported=isCssAnimationSupported;var util$m={isAppearSupported:function($){return $.transitionName&&$.transitionAppear||$.animation.appear},isEnterSupported:function($){return $.transitionName&&$.transitionEnter||$.animation.enter},isLeaveSupported:function($){return $.transitionName&&$.transitionLeave||$.animation.leave},allowAppearCallback:function($){return $.transitionAppear||$.animation.appear},allowEnterCallback:function($){return $.transitionEnter||$.animation.enter},allowLeaveCallback:function($){return $.transitionLeave||$.animation.leave}},transitionMap={enter:"transitionEnter",appear:"transitionAppear",leave:"transitionLeave"},AnimateChild=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"componentWillUnmount",value:function(){this.stop()}},{key:"componentWillEnter",value:function(et){util$m.isEnterSupported(this.props)?this.transition("enter",et):et()}},{key:"componentWillAppear",value:function(et){util$m.isAppearSupported(this.props)?this.transition("appear",et):et()}},{key:"componentWillLeave",value:function(et){util$m.isLeaveSupported(this.props)?this.transition("leave",et):et()}},{key:"transition",value:function(et,tt){var rt=this,at=ReactDOM.findDOMNode(this),nt=this.props,it=nt.transitionName,ot=typeof it=="object";this.stop();var st=function(){rt.stopper=null,tt()};if((isCssAnimationSupported||!nt.animation[et])&&it&&nt[transitionMap[et]]){var lt=ot?it[et]:it+"-"+et,ct=lt+"-active";ot&&it[et+"Active"]&&(ct=it[et+"Active"]),this.stopper=cssAnimation(at,{name:lt,active:ct},st)}else this.stopper=nt.animation[et](at,st)}},{key:"stop",value:function(){var et=this.stopper;et&&(this.stopper=null,et.stop())}},{key:"render",value:function(){return this.props.children}}]),$}(React$k.Component);AnimateChild.propTypes={children:propTypesExports.any,animation:propTypesExports.any,transitionName:propTypesExports.any};var defaultKey="rc_animate_"+Date.now();function getChildrenFromProps(o){var $=o.children;return React$k.isValidElement($)&&!$.key?React$k.cloneElement($,{key:defaultKey}):$}function noop$g(){}var Animate=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return _initialiseProps$8.call(et),et.currentlyAnimatingKeys={},et.keysToEnter=[],et.keysToLeave=[],et.state={children:toArrayChildren(getChildrenFromProps(_e))},et.childrenRefs={},et}return _default$b($,[{key:"componentDidMount",value:function(){var et=this,tt=this.props.showProp,rt=this.state.children;tt&&(rt=rt.filter(function(at){return!!at.props[tt]})),rt.forEach(function(at){at&&et.performAppear(at.key)})}},{key:"componentWillReceiveProps",value:function(et){var tt=this;this.nextProps=et;var rt=toArrayChildren(getChildrenFromProps(et)),at=this.props;at.exclusive&&Object.keys(this.currentlyAnimatingKeys).forEach(function(lt){tt.stop(lt)});var nt=at.showProp,it=this.currentlyAnimatingKeys,ot=at.exclusive?toArrayChildren(getChildrenFromProps(at)):this.state.children,st=[];nt?(ot.forEach(function(lt){var ct=lt&&findChildInChildrenByKey(rt,lt.key),ut=void 0;(!ct||!ct.props[nt])&<.props[nt]?ut=React$k.cloneElement(ct||lt,_default$e({},nt,!0)):ut=ct,ut&&st.push(ut)}),rt.forEach(function(lt){(!lt||!findChildInChildrenByKey(ot,lt.key))&&st.push(lt)})):st=mergeChildren(ot,rt),this.setState({children:st}),rt.forEach(function(lt){var ct=lt&<.key;if(!(lt&&it[ct])){var ut=lt&&findChildInChildrenByKey(ot,ct);if(nt){var ft=lt.props[nt];if(ut){var At=findShownChildInChildrenByKey(ot,ct,nt);!At&&ft&&tt.keysToEnter.push(ct)}else ft&&tt.keysToEnter.push(ct)}else ut||tt.keysToEnter.push(ct)}}),ot.forEach(function(lt){var ct=lt&<.key;if(!(lt&&it[ct])){var ut=lt&&findChildInChildrenByKey(rt,ct);if(nt){var ft=lt.props[nt];if(ut){var At=findShownChildInChildrenByKey(rt,ct,nt);!At&&ft&&tt.keysToLeave.push(ct)}else ft&&tt.keysToLeave.push(ct)}else ut||tt.keysToLeave.push(ct)}})}},{key:"componentDidUpdate",value:function(){var et=this.keysToEnter;this.keysToEnter=[],et.forEach(this.performEnter);var tt=this.keysToLeave;this.keysToLeave=[],tt.forEach(this.performLeave)}},{key:"isValidChildByKey",value:function(et,tt){var rt=this.props.showProp;return rt?findShownChildInChildrenByKey(et,tt,rt):findChildInChildrenByKey(et,tt)}},{key:"stop",value:function(et){delete this.currentlyAnimatingKeys[et];var tt=this.childrenRefs[et];tt&&tt.stop()}},{key:"render",value:function(){var et=this,tt=this.props;this.nextProps=tt;var rt=this.state.children,at=null;rt&&(at=rt.map(function(ot){if(ot==null)return ot;if(!ot.key)throw new Error("must set key for children");return React$k.createElement(AnimateChild,{key:ot.key,ref:function(lt){et.childrenRefs[ot.key]=lt},animation:tt.animation,transitionName:tt.transitionName,transitionEnter:tt.transitionEnter,transitionAppear:tt.transitionAppear,transitionLeave:tt.transitionLeave},ot)}));var nt=tt.component;if(nt){var it=tt;return typeof nt=="string"&&(it=_default$bE({className:tt.className,style:tt.style},tt.componentProps)),React$k.createElement(nt,it,at)}return at[0]||null}}]),$}(React$k.Component);Animate.isAnimate=!0;Animate.propTypes={className:propTypesExports.string,style:propTypesExports.object,component:propTypesExports.any,componentProps:propTypesExports.object,animation:propTypesExports.object,transitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),transitionEnter:propTypesExports.bool,transitionAppear:propTypesExports.bool,exclusive:propTypesExports.bool,transitionLeave:propTypesExports.bool,onEnd:propTypesExports.func,onEnter:propTypesExports.func,onLeave:propTypesExports.func,onAppear:propTypesExports.func,showProp:propTypesExports.string,children:propTypesExports.node};Animate.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:noop$g,onEnter:noop$g,onLeave:noop$g,onAppear:noop$g};var _initialiseProps$8=function(){var $=this;this.performEnter=function(_e){$.childrenRefs[_e]&&($.currentlyAnimatingKeys[_e]=!0,$.childrenRefs[_e].componentWillEnter($.handleDoneAdding.bind($,_e,"enter")))},this.performAppear=function(_e){$.childrenRefs[_e]&&($.currentlyAnimatingKeys[_e]=!0,$.childrenRefs[_e].componentWillAppear($.handleDoneAdding.bind($,_e,"appear")))},this.handleDoneAdding=function(_e,et){var tt=$.props;if(delete $.currentlyAnimatingKeys[_e],!(tt.exclusive&&tt!==$.nextProps)){var rt=toArrayChildren(getChildrenFromProps(tt));$.isValidChildByKey(rt,_e)?et==="appear"?util$m.allowAppearCallback(tt)&&(tt.onAppear(_e),tt.onEnd(_e,!0)):util$m.allowEnterCallback(tt)&&(tt.onEnter(_e),tt.onEnd(_e,!0)):$.performLeave(_e)}},this.performLeave=function(_e){$.childrenRefs[_e]&&($.currentlyAnimatingKeys[_e]=!0,$.childrenRefs[_e].componentWillLeave($.handleDoneLeaving.bind($,_e)))},this.handleDoneLeaving=function(_e){var et=$.props;if(delete $.currentlyAnimatingKeys[_e],!(et.exclusive&&et!==$.nextProps)){var tt=toArrayChildren(getChildrenFromProps(et));if($.isValidChildByKey(tt,_e))$.performEnter(_e);else{var rt=function(){util$m.allowLeaveCallback(et)&&(et.onLeave(_e),et.onEnd(_e,!1))};isSameChildren($.state.children,tt,et.showProp)?rt():$.setState({children:tt},rt)}}}};const Animate$1=unsafeLifecyclesPolyfill(Animate),Animate$2=Object.freeze(Object.defineProperty({__proto__:null,default:Animate$1},Symbol.toStringTag,{value:"Module"}));var LazyRenderBox$1=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,o.apply(this,arguments))}return $.prototype.shouldComponentUpdate=function(et){return et.hiddenClassName||et.visible},$.prototype.render=function(){var et=this.props,tt=et.hiddenClassName,rt=et.visible,at=_default$d(et,["hiddenClassName","visible"]);return tt||React$k.Children.count(at.children)>1?(!rt&&tt&&(at.className+=" "+tt),React$k.createElement("div",at)):React$k.Children.only(at.children)},$}(reactExports.Component);LazyRenderBox$1.propTypes={children:propTypesExports.any,className:propTypesExports.string,visible:propTypesExports.bool,hiddenClassName:propTypesExports.string};var PopupInner=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,o.apply(this,arguments))}return $.prototype.render=function(){var et=this.props,tt=et.className;return et.visible||(tt+=" "+et.hiddenClassName),React$k.createElement("div",{className:tt,onMouseEnter:et.onMouseEnter,onMouseLeave:et.onMouseLeave,onMouseDown:et.onMouseDown,onTouchStart:et.onTouchStart,style:et.style},React$k.createElement(LazyRenderBox$1,{className:et.prefixCls+"-content",visible:et.visible},et.children))},$}(reactExports.Component);PopupInner.propTypes={hiddenClassName:propTypesExports.string,className:propTypesExports.string,prefixCls:propTypesExports.string,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseDown:propTypesExports.func,onTouchStart:propTypesExports.func,children:propTypesExports.any};var Popup=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,o.call(this,_e));return _initialiseProps$7.call(et),et.state={stretchChecked:!1,targetWidth:void 0,targetHeight:void 0},et.savePopupRef=saveRef$2.bind(et,"popupInstance"),et.saveAlignRef=saveRef$2.bind(et,"alignInstance"),et}return $.prototype.componentDidMount=function(){this.rootNode=this.getPopupDomNode(),this.setStretchSize()},$.prototype.componentDidUpdate=function(){this.setStretchSize()},$.prototype.getPopupDomNode=function(){return ReactDOM.findDOMNode(this.popupInstance)},$.prototype.getMaskTransitionName=function(){var et=this.props,tt=et.maskTransitionName,rt=et.maskAnimation;return!tt&&rt&&(tt=et.prefixCls+"-"+rt),tt},$.prototype.getTransitionName=function(){var et=this.props,tt=et.transitionName;return!tt&&et.animation&&(tt=et.prefixCls+"-"+et.animation),tt},$.prototype.getClassName=function(et){return this.props.prefixCls+" "+this.props.className+" "+et},$.prototype.getPopupElement=function(){var et=this,tt=this.savePopupRef,rt=this.state,at=rt.stretchChecked,nt=rt.targetHeight,it=rt.targetWidth,ot=this.props,st=ot.align,lt=ot.visible,ct=ot.prefixCls,ut=ot.style,ft=ot.getClassNameFromAlign,At=ot.destroyPopupOnHide,vt=ot.stretch,ht=ot.children,mt=ot.onMouseEnter,bt=ot.onMouseLeave,dt=ot.onMouseDown,xt=ot.onTouchStart,Ct=this.getClassName(this.currentAlignClassName||ft(st)),gt=ct+"-hidden";lt||(this.currentAlignClassName=null);var wt={};vt&&(vt.indexOf("height")!==-1?wt.height=nt:vt.indexOf("minHeight")!==-1&&(wt.minHeight=nt),vt.indexOf("width")!==-1?wt.width=it:vt.indexOf("minWidth")!==-1&&(wt.minWidth=it),at||(wt.visibility="hidden",setTimeout(function(){et.alignInstance&&et.alignInstance.forceAlign()},0)));var _t=_default$bE({},wt,ut,this.getZIndexStyle()),Et={className:Ct,prefixCls:ct,ref:tt,onMouseEnter:mt,onMouseLeave:bt,onMouseDown:dt,onTouchStart:xt,style:_t};return At?React$k.createElement(Animate$1,{component:"",exclusive:!0,transitionAppear:!0,transitionName:this.getTransitionName()},lt?React$k.createElement(Align,{target:this.getAlignTarget(),key:"popup",ref:this.saveAlignRef,monitorWindowResize:!0,align:st,onAlign:this.onAlign},React$k.createElement(PopupInner,_default$bE({visible:!0},Et),ht)):null):React$k.createElement(Animate$1,{component:"",exclusive:!0,transitionAppear:!0,transitionName:this.getTransitionName(),showProp:"xVisible"},React$k.createElement(Align,{target:this.getAlignTarget(),key:"popup",ref:this.saveAlignRef,monitorWindowResize:!0,xVisible:lt,childrenProps:{visible:"xVisible"},disabled:!lt,align:st,onAlign:this.onAlign},React$k.createElement(PopupInner,_default$bE({hiddenClassName:gt},Et),ht)))},$.prototype.getZIndexStyle=function(){var et={},tt=this.props;return tt.zIndex!==void 0&&(et.zIndex=tt.zIndex),et},$.prototype.getMaskElement=function(){var et=this.props,tt=void 0;if(et.mask){var rt=this.getMaskTransitionName();tt=React$k.createElement(LazyRenderBox$1,{style:this.getZIndexStyle(),key:"mask",className:et.prefixCls+"-mask",hiddenClassName:et.prefixCls+"-mask-hidden",visible:et.visible}),rt&&(tt=React$k.createElement(Animate$1,{key:"mask",showProp:"visible",transitionAppear:!0,component:"",transitionName:rt},tt))}return tt},$.prototype.render=function(){return React$k.createElement("div",null,this.getMaskElement(),this.getPopupElement())},$}(reactExports.Component);Popup.propTypes={visible:propTypesExports.bool,style:propTypesExports.object,getClassNameFromAlign:propTypesExports.func,onAlign:propTypesExports.func,getRootDomNode:propTypesExports.func,align:propTypesExports.any,destroyPopupOnHide:propTypesExports.bool,className:propTypesExports.string,prefixCls:propTypesExports.string,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseDown:propTypesExports.func,onTouchStart:propTypesExports.func,stretch:propTypesExports.string,children:propTypesExports.node,point:propTypesExports.shape({pageX:propTypesExports.number,pageY:propTypesExports.number})};var _initialiseProps$7=function(){var $=this;this.onAlign=function(_e,et){var tt=$.props,rt=tt.getClassNameFromAlign(et);$.currentAlignClassName!==rt&&($.currentAlignClassName=rt,_e.className=$.getClassName(rt)),tt.onAlign(_e,et)},this.setStretchSize=function(){var _e=$.props,et=_e.stretch,tt=_e.getRootDomNode,rt=_e.visible,at=$.state,nt=at.stretchChecked,it=at.targetHeight,ot=at.targetWidth;if(!et||!rt){nt&&$.setState({stretchChecked:!1});return}var st=tt();if(st){var lt=st.offsetHeight,ct=st.offsetWidth;(it!==lt||ot!==ct||!nt)&&$.setState({stretchChecked:!0,targetHeight:lt,targetWidth:ct})}},this.getTargetElement=function(){return $.props.getRootDomNode()},this.getAlignTarget=function(){var _e=$.props.point;return _e||$.getTargetElement}};function noop$f(){}function returnEmptyString(){return""}function returnDocument(){return window.document}var ALL_HANDLERS=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"],IS_REACT_16$2=!!reactDomExports.createPortal,contextTypes={rcTrigger:propTypesExports.shape({onPopupMouseDown:propTypesExports.func})},Trigger=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,o.call(this,_e));_initialiseProps$6.call(et);var tt=void 0;return"popupVisible"in _e?tt=!!_e.popupVisible:tt=!!_e.defaultPopupVisible,et.state={prevPopupVisible:tt,popupVisible:tt},ALL_HANDLERS.forEach(function(rt){et["fire"+rt]=function(at){et.fireEvents(rt,at)}}),et}return $.prototype.getChildContext=function(){return{rcTrigger:{onPopupMouseDown:this.onPopupMouseDown}}},$.prototype.componentDidMount=function(){this.componentDidUpdate({},{popupVisible:this.state.popupVisible})},$.prototype.componentDidUpdate=function(et,tt){var rt=this.props,at=this.state,nt=function(){tt.popupVisible!==at.popupVisible&&rt.afterPopupVisibleChange(at.popupVisible)};if(IS_REACT_16$2||this.renderComponent(null,nt),at.popupVisible){var it=void 0;!this.clickOutsideHandler&&(this.isClickToHide()||this.isContextMenuToShow())&&(it=rt.getDocument(),this.clickOutsideHandler=addEventListenerWrap$1(it,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(it=it||rt.getDocument(),this.touchOutsideHandler=addEventListenerWrap$1(it,"touchstart",this.onDocumentClick)),!this.contextMenuOutsideHandler1&&this.isContextMenuToShow()&&(it=it||rt.getDocument(),this.contextMenuOutsideHandler1=addEventListenerWrap$1(it,"scroll",this.onContextMenuClose)),!this.contextMenuOutsideHandler2&&this.isContextMenuToShow()&&(this.contextMenuOutsideHandler2=addEventListenerWrap$1(window,"blur",this.onContextMenuClose));return}this.clearOutsideHandler()},$.prototype.componentWillUnmount=function(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout)},$.getDerivedStateFromProps=function(et,tt){var rt=et.popupVisible,at={};return rt!==void 0&&tt.popupVisible!==rt&&(at.popupVisible=rt,at.prevPopupVisible=tt.popupVisible),at},$.prototype.getPopupDomNode=function(){return this._component&&this._component.getPopupDomNode?this._component.getPopupDomNode():null},$.prototype.getPopupAlign=function(){var et=this.props,tt=et.popupPlacement,rt=et.popupAlign,at=et.builtinPlacements;return tt&&at?getAlignFromPlacement(at,tt,rt):rt},$.prototype.setPopupVisible=function(et,tt){var rt=this.props.alignPoint,at=this.state.popupVisible;this.clearDelayTimer(),at!==et&&("popupVisible"in this.props||this.setState({popupVisible:et,prevPopupVisible:at}),this.props.onPopupVisibleChange(et)),rt&&tt&&this.setPoint(tt)},$.prototype.delaySetPopupVisible=function(et,tt,rt){var at=this,nt=tt*1e3;if(this.clearDelayTimer(),nt){var it=rt?{pageX:rt.pageX,pageY:rt.pageY}:null;this.delayTimer=setTimeout(function(){at.setPopupVisible(et,it),at.clearDelayTimer()},nt)}else this.setPopupVisible(et,rt)},$.prototype.clearDelayTimer=function(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)},$.prototype.clearOutsideHandler=function(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextMenuOutsideHandler1&&(this.contextMenuOutsideHandler1.remove(),this.contextMenuOutsideHandler1=null),this.contextMenuOutsideHandler2&&(this.contextMenuOutsideHandler2.remove(),this.contextMenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)},$.prototype.createTwoChains=function(et){var tt=this.props.children.props,rt=this.props;return tt[et]&&rt[et]?this["fire"+et]:tt[et]||rt[et]},$.prototype.isClickToShow=function(){var et=this.props,tt=et.action,rt=et.showAction;return tt.indexOf("click")!==-1||rt.indexOf("click")!==-1},$.prototype.isContextMenuToShow=function(){var et=this.props,tt=et.action,rt=et.showAction;return tt.indexOf("contextMenu")!==-1||rt.indexOf("contextMenu")!==-1},$.prototype.isClickToHide=function(){var et=this.props,tt=et.action,rt=et.hideAction;return tt.indexOf("click")!==-1||rt.indexOf("click")!==-1},$.prototype.isMouseEnterToShow=function(){var et=this.props,tt=et.action,rt=et.showAction;return tt.indexOf("hover")!==-1||rt.indexOf("mouseEnter")!==-1},$.prototype.isMouseLeaveToHide=function(){var et=this.props,tt=et.action,rt=et.hideAction;return tt.indexOf("hover")!==-1||rt.indexOf("mouseLeave")!==-1},$.prototype.isFocusToShow=function(){var et=this.props,tt=et.action,rt=et.showAction;return tt.indexOf("focus")!==-1||rt.indexOf("focus")!==-1},$.prototype.isBlurToHide=function(){var et=this.props,tt=et.action,rt=et.hideAction;return tt.indexOf("focus")!==-1||rt.indexOf("blur")!==-1},$.prototype.forcePopupAlign=function(){this.state.popupVisible&&this._component&&this._component.alignInstance&&this._component.alignInstance.forceAlign()},$.prototype.fireEvents=function(et,tt){var rt=this.props.children.props[et];rt&&rt(tt);var at=this.props[et];at&&at(tt)},$.prototype.close=function(){this.setPopupVisible(!1)},$.prototype.render=function(){var et=this,tt=this.state.popupVisible,rt=this.props,at=rt.children,nt=rt.forceRender,it=rt.alignPoint,ot=rt.className,st=React$k.Children.only(at),lt={key:"trigger"};this.isContextMenuToShow()?lt.onContextMenu=this.onContextMenu:lt.onContextMenu=this.createTwoChains("onContextMenu"),this.isClickToHide()||this.isClickToShow()?(lt.onClick=this.onClick,lt.onMouseDown=this.onMouseDown,lt.onTouchStart=this.onTouchStart):(lt.onClick=this.createTwoChains("onClick"),lt.onMouseDown=this.createTwoChains("onMouseDown"),lt.onTouchStart=this.createTwoChains("onTouchStart")),this.isMouseEnterToShow()?(lt.onMouseEnter=this.onMouseEnter,it&&(lt.onMouseMove=this.onMouseMove)):lt.onMouseEnter=this.createTwoChains("onMouseEnter"),this.isMouseLeaveToHide()?lt.onMouseLeave=this.onMouseLeave:lt.onMouseLeave=this.createTwoChains("onMouseLeave"),this.isFocusToShow()||this.isBlurToHide()?(lt.onFocus=this.onFocus,lt.onBlur=this.onBlur):(lt.onFocus=this.createTwoChains("onFocus"),lt.onBlur=this.createTwoChains("onBlur"));var ct=classnamesExports(st&&st.props&&st.props.className,ot);ct&&(lt.className=ct);var ut=React$k.cloneElement(st,lt);if(!IS_REACT_16$2)return React$k.createElement(ContainerRender,{parent:this,visible:tt,autoMount:!1,forceRender:nt,getComponent:this.getComponent,getContainer:this.getContainer},function(At){var vt=At.renderComponent;return et.renderComponent=vt,ut});var ft=void 0;return(tt||this._component||nt)&&(ft=React$k.createElement(Portal$1,{key:"portal",getContainer:this.getContainer,didUpdate:this.handlePortalUpdate},this.getComponent())),[ut,ft]},$}(React$k.Component);Trigger.propTypes={children:propTypesExports.any,action:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.arrayOf(propTypesExports.string)]),showAction:propTypesExports.any,hideAction:propTypesExports.any,getPopupClassNameFromAlign:propTypesExports.any,onPopupVisibleChange:propTypesExports.func,afterPopupVisibleChange:propTypesExports.func,popup:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]).isRequired,popupStyle:propTypesExports.object,prefixCls:propTypesExports.string,popupClassName:propTypesExports.string,className:propTypesExports.string,popupPlacement:propTypesExports.string,builtinPlacements:propTypesExports.object,popupTransitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),popupAnimation:propTypesExports.any,mouseEnterDelay:propTypesExports.number,mouseLeaveDelay:propTypesExports.number,zIndex:propTypesExports.number,focusDelay:propTypesExports.number,blurDelay:propTypesExports.number,getPopupContainer:propTypesExports.func,getDocument:propTypesExports.func,forceRender:propTypesExports.bool,destroyPopupOnHide:propTypesExports.bool,mask:propTypesExports.bool,maskClosable:propTypesExports.bool,onPopupAlign:propTypesExports.func,popupAlign:propTypesExports.object,popupVisible:propTypesExports.bool,defaultPopupVisible:propTypesExports.bool,maskTransitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),maskAnimation:propTypesExports.string,stretch:propTypesExports.string,alignPoint:propTypesExports.bool};Trigger.contextTypes=contextTypes;Trigger.childContextTypes=contextTypes;Trigger.defaultProps={prefixCls:"rc-trigger-popup",getPopupClassNameFromAlign:returnEmptyString,getDocument:returnDocument,onPopupVisibleChange:noop$f,afterPopupVisibleChange:noop$f,onPopupAlign:noop$f,popupClassName:"",mouseEnterDelay:0,mouseLeaveDelay:.1,focusDelay:0,blurDelay:.15,popupStyle:{},destroyPopupOnHide:!1,popupAlign:{},defaultPopupVisible:!1,mask:!1,maskClosable:!0,action:[],showAction:[],hideAction:[]};var _initialiseProps$6=function(){var $=this;this.onMouseEnter=function(_e){var et=$.props.mouseEnterDelay;$.fireEvents("onMouseEnter",_e),$.delaySetPopupVisible(!0,et,et?null:_e)},this.onMouseMove=function(_e){$.fireEvents("onMouseMove",_e),$.setPoint(_e)},this.onMouseLeave=function(_e){$.fireEvents("onMouseLeave",_e),$.delaySetPopupVisible(!1,$.props.mouseLeaveDelay)},this.onPopupMouseEnter=function(){$.clearDelayTimer()},this.onPopupMouseLeave=function(_e){_e.relatedTarget&&!_e.relatedTarget.setTimeout&&$._component&&$._component.getPopupDomNode&&contains$1($._component.getPopupDomNode(),_e.relatedTarget)||$.delaySetPopupVisible(!1,$.props.mouseLeaveDelay)},this.onFocus=function(_e){$.fireEvents("onFocus",_e),$.clearDelayTimer(),$.isFocusToShow()&&($.focusTime=Date.now(),$.delaySetPopupVisible(!0,$.props.focusDelay))},this.onMouseDown=function(_e){$.fireEvents("onMouseDown",_e),$.preClickTime=Date.now()},this.onTouchStart=function(_e){$.fireEvents("onTouchStart",_e),$.preTouchTime=Date.now()},this.onBlur=function(_e){$.fireEvents("onBlur",_e),$.clearDelayTimer(),$.isBlurToHide()&&$.delaySetPopupVisible(!1,$.props.blurDelay)},this.onContextMenu=function(_e){_e.preventDefault(),$.fireEvents("onContextMenu",_e),$.setPopupVisible(!0,_e)},this.onContextMenuClose=function(){$.isContextMenuToShow()&&$.close()},this.onClick=function(_e){if($.fireEvents("onClick",_e),$.focusTime){var et=void 0;if($.preClickTime&&$.preTouchTime?et=Math.min($.preClickTime,$.preTouchTime):$.preClickTime?et=$.preClickTime:$.preTouchTime&&(et=$.preTouchTime),Math.abs(et-$.focusTime)<20)return;$.focusTime=0}$.preClickTime=0,$.preTouchTime=0,$.isClickToShow()&&($.isClickToHide()||$.isBlurToHide())&&_e&&_e.preventDefault&&_e.preventDefault();var tt=!$.state.popupVisible;($.isClickToHide()&&!tt||tt&&$.isClickToShow())&&$.setPopupVisible(!$.state.popupVisible,_e)},this.onPopupMouseDown=function(){var _e=$.context.rcTrigger,et=_e===void 0?{}:_e;$.hasPopupMouseDown=!0,clearTimeout($.mouseDownTimeout),$.mouseDownTimeout=setTimeout(function(){$.hasPopupMouseDown=!1},0),et.onPopupMouseDown&&et.onPopupMouseDown.apply(et,arguments)},this.onDocumentClick=function(_e){if(!($.props.mask&&!$.props.maskClosable)){var et=_e.target,tt=reactDomExports.findDOMNode($);!contains$1(tt,et)&&!$.hasPopupMouseDown&&$.close()}},this.getRootDomNode=function(){return reactDomExports.findDOMNode($)},this.getPopupClassNameFromAlign=function(_e){var et=[],tt=$.props,rt=tt.popupPlacement,at=tt.builtinPlacements,nt=tt.prefixCls,it=tt.alignPoint,ot=tt.getPopupClassNameFromAlign;return rt&&at&&et.push(getAlignPopupClassName(at,nt,_e,it)),ot&&et.push(ot(_e)),et.join(" ")},this.getComponent=function(){var _e=$.props,et=_e.prefixCls,tt=_e.destroyPopupOnHide,rt=_e.popupClassName,at=_e.action,nt=_e.onPopupAlign,it=_e.popupAnimation,ot=_e.popupTransitionName,st=_e.popupStyle,lt=_e.mask,ct=_e.maskAnimation,ut=_e.maskTransitionName,ft=_e.zIndex,At=_e.popup,vt=_e.stretch,ht=_e.alignPoint,mt=$.state,bt=mt.popupVisible,dt=mt.point,xt=$.getPopupAlign(),Ct={};return $.isMouseEnterToShow()&&(Ct.onMouseEnter=$.onPopupMouseEnter),$.isMouseLeaveToHide()&&(Ct.onMouseLeave=$.onPopupMouseLeave),Ct.onMouseDown=$.onPopupMouseDown,Ct.onTouchStart=$.onPopupMouseDown,React$k.createElement(Popup,_default$bE({prefixCls:et,destroyPopupOnHide:tt,visible:bt,point:ht&&dt,className:rt,action:at,align:xt,onAlign:nt,animation:it,getClassNameFromAlign:$.getPopupClassNameFromAlign},Ct,{stretch:vt,getRootDomNode:$.getRootDomNode,style:st,mask:lt,zIndex:ft,transitionName:ot,maskAnimation:ct,maskTransitionName:ut,ref:$.savePopup}),typeof At=="function"?At():At)},this.getContainer=function(){var _e=$.props,et=document.createElement("div");et.style.position="absolute",et.style.top="0",et.style.left="0",et.style.width="100%";var tt=_e.getPopupContainer?_e.getPopupContainer(reactDomExports.findDOMNode($)):_e.getDocument().body;return tt.appendChild(et),et},this.setPoint=function(_e){var et=$.props.alignPoint;!et||!_e||$.setState({point:{pageX:_e.pageX,pageY:_e.pageY}})},this.handlePortalUpdate=function(){$.state.prevPopupVisible!==$.state.popupVisible&&$.props.afterPopupVisibleChange($.state.popupVisible)},this.savePopup=function(_e){$._component=_e}};polyfill(Trigger);var autoAdjustOverflow$2={adjustX:1,adjustY:1},targetOffset$2=[0,0],placements$2={topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},topCenter:{points:["bc","tc"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},topRight:{points:["br","tr"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2},bottomCenter:{points:["tc","bc"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2},bottomRight:{points:["tr","br"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2}},_extends$24=Object.assign||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}function _classCallCheck$1_(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$1Y(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$1Y(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var Dropdown$1=function(o){_inherits$1Y($,o);function $(_e){_classCallCheck$1_(this,$);var et=_possibleConstructorReturn$1Y(this,o.call(this,_e));return _initialiseProps$5.call(et),"visible"in _e?et.state={visible:_e.visible}:et.state={visible:_e.defaultVisible},et}return $.getDerivedStateFromProps=function(et){return"visible"in et?{visible:et.visible}:null},$.prototype.getOverlayElement=function(){var et=this.props.overlay,tt=void 0;return typeof et=="function"?tt=et():tt=et,tt},$.prototype.getMenuElementOrLambda=function(){var et=this.props.overlay;return typeof et=="function"?this.getMenuElement:this.getMenuElement()},$.prototype.getPopupDomNode=function(){return this.trigger.getPopupDomNode()},$.prototype.getOpenClassName=function(){var et=this.props,tt=et.openClassName,rt=et.prefixCls;return tt!==void 0?tt:rt+"-open"},$.prototype.renderChildren=function(){var et=this.props.children,tt=this.state.visible,rt=et.props?et.props:{},at=classnamesExports(rt.className,this.getOpenClassName());return tt&&et?reactExports.cloneElement(et,{className:at}):et},$.prototype.render=function(){var et=this.props,tt=et.prefixCls,rt=et.transitionName,at=et.animation,nt=et.align,it=et.placement,ot=et.getPopupContainer,st=et.showAction,lt=et.hideAction,ct=et.overlayClassName,ut=et.overlayStyle,ft=et.trigger,At=_objectWithoutProperties$a(et,["prefixCls","transitionName","animation","align","placement","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","trigger"]),vt=lt;return!vt&&ft.indexOf("contextMenu")!==-1&&(vt=["click"]),React$k.createElement(Trigger,_extends$24({},At,{prefixCls:tt,ref:this.saveTrigger,popupClassName:ct,popupStyle:ut,builtinPlacements:placements$2,action:ft,showAction:st,hideAction:vt||[],popupPlacement:it,popupAlign:nt,popupTransitionName:rt,popupAnimation:at,popupVisible:this.state.visible,afterPopupVisibleChange:this.afterVisibleChange,popup:this.getMenuElementOrLambda(),onPopupVisibleChange:this.onVisibleChange,getPopupContainer:ot}),this.renderChildren())},$}(reactExports.Component);Dropdown$1.propTypes={minOverlayWidthMatchTrigger:propTypesExports.bool,onVisibleChange:propTypesExports.func,onOverlayClick:propTypesExports.func,prefixCls:propTypesExports.string,children:propTypesExports.any,transitionName:propTypesExports.string,overlayClassName:propTypesExports.string,openClassName:propTypesExports.string,animation:propTypesExports.any,align:propTypesExports.object,overlayStyle:propTypesExports.object,placement:propTypesExports.string,overlay:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]),trigger:propTypesExports.array,alignPoint:propTypesExports.bool,showAction:propTypesExports.array,hideAction:propTypesExports.array,getPopupContainer:propTypesExports.func,visible:propTypesExports.bool,defaultVisible:propTypesExports.bool};Dropdown$1.defaultProps={prefixCls:"rc-dropdown",trigger:["hover"],showAction:[],overlayClassName:"",overlayStyle:{},defaultVisible:!1,onVisibleChange:function(){},placement:"bottomLeft"};var _initialiseProps$5=function(){var $=this;this.onClick=function(_e){var et=$.props,tt=$.getOverlayElement().props;"visible"in et||$.setState({visible:!1}),et.onOverlayClick&&et.onOverlayClick(_e),tt.onClick&&tt.onClick(_e)},this.onVisibleChange=function(_e){var et=$.props;"visible"in et||$.setState({visible:_e}),et.onVisibleChange(_e)},this.getMinOverlayWidthMatchTrigger=function(){var _e=$.props,et=_e.minOverlayWidthMatchTrigger,tt=_e.alignPoint;return"minOverlayWidthMatchTrigger"in $.props?et:!tt},this.getMenuElement=function(){var _e=$.props.prefixCls,et=$.getOverlayElement(),tt={prefixCls:_e+"-menu",onClick:$.onClick};return typeof et.type=="string"&&delete tt.prefixCls,React$k.cloneElement(et,tt)},this.afterVisibleChange=function(_e){if(_e&&$.getMinOverlayWidthMatchTrigger()){var et=$.getPopupDomNode(),tt=ReactDOM.findDOMNode($);tt&&et&&tt.offsetWidth>et.offsetWidth&&(et.style.minWidth=tt.offsetWidth+"px",$.trigger&&$.trigger._component&&$.trigger._component.alignInstance&&$.trigger._component.alignInstance.forceAlign())}},this.saveTrigger=function(_e){$.trigger=_e}};polyfill(Dropdown$1);var tuple$1=function(){for(var $=arguments.length,_e=new Array($),et=0;et<$;et++)_e[et]=arguments[et];return _e};function _typeof$1d(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1d=function(_e){return typeof _e}:_typeof$1d=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1d(o)}function _extends$23(){return _extends$23=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1e(o){return _getPrototypeOf$1e=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1e(o)}tuple$1("topLeft","topCenter","topRight","bottomLeft","bottomCenter","bottomRight");var Dropdown=function(o){_inherits$1X(_e,o);var $=_createSuper$$(_e);function _e(){var et;return _classCallCheck$1Z(this,_e),et=$.apply(this,arguments),et.renderOverlay=function(tt){var rt=et.props.overlay,at;typeof rt=="function"?at=rt():at=rt,at=reactExports.Children.only(at);var nt=at.props;warning$4(!nt.mode||nt.mode==="vertical","Dropdown",'mode="'.concat(nt.mode,`" is not supported for Dropdown's Menu.`));var it=nt.selectable,ot=it===void 0?!1:it,st=nt.focusable,lt=st===void 0?!0:st,ct=reactExports.createElement("span",{className:"".concat(tt,"-menu-submenu-arrow")},reactExports.createElement(Icon$1,{type:"right",className:"".concat(tt,"-menu-submenu-arrow-icon")})),ut=typeof at.type=="string"?rt:reactExports.cloneElement(at,{mode:"vertical",selectable:ot,focusable:lt,expandIcon:ct});return ut},et.renderDropDown=function(tt){var rt=tt.getPopupContainer,at=tt.getPrefixCls,nt=et.props,it=nt.prefixCls,ot=nt.children,st=nt.trigger,lt=nt.disabled,ct=nt.getPopupContainer,ut=at("dropdown",it),ft=reactExports.Children.only(ot),At=reactExports.cloneElement(ft,{className:classNames(ft.props.className,"".concat(ut,"-trigger")),disabled:lt}),vt=lt?[]:st,ht;return vt&&vt.indexOf("contextMenu")!==-1&&(ht=!0),reactExports.createElement(Dropdown$1,_extends$23({alignPoint:ht},et.props,{prefixCls:ut,getPopupContainer:ct||rt,transitionName:et.getTransitionName(),trigger:vt,overlay:function(){return et.renderOverlay(ut)}}),At)},et}return _createClass$1U(_e,[{key:"getTransitionName",value:function(){var tt=this.props,rt=tt.placement,at=rt===void 0?"":rt,nt=tt.transitionName;return nt!==void 0?nt:at.indexOf("top")>=0?"slide-down":"slide-up"}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderDropDown)}}]),_e}(reactExports.Component);Dropdown.defaultProps={mouseEnterDelay:.15,mouseLeaveDelay:.1,placement:"bottomLeft"};var rafExports={},raf$2={get exports(){return rafExports},set exports(o){rafExports=o}},performanceNowExports$1={},performanceNow$2={get exports(){return performanceNowExports$1},set exports(o){performanceNowExports$1=o}};(function(){var o,$,_e,et,tt,rt;typeof performance<"u"&&performance!==null&&performance.now?performanceNow$2.exports=function(){return performance.now()}:typeof process<"u"&&process!==null&&process.hrtime?(performanceNow$2.exports=function(){return(o()-tt)/1e6},$=process.hrtime,o=function(){var at;return at=$(),at[0]*1e9+at[1]},et=o(),rt=process.uptime()*1e9,tt=et-rt):Date.now?(performanceNow$2.exports=function(){return Date.now()-_e},_e=Date.now()):(performanceNow$2.exports=function(){return new Date().getTime()-_e},_e=new Date().getTime())}).call(commonjsGlobal);var now$7=performanceNowExports$1,root$d=typeof window>"u"?commonjsGlobal:window,vendors=["moz","webkit"],suffix="AnimationFrame",raf$1=root$d["request"+suffix],caf=root$d["cancel"+suffix]||root$d["cancelRequest"+suffix];for(var i$2=0;!raf$1&&i$21&&arguments[1]!==void 0?arguments[1]:1,_e=id$1++,et=$;function tt(){et-=1,et<=0?(o(),delete ids[_e]):ids[_e]=rafExports(tt)}return ids[_e]=rafExports(tt),_e}wrapperRaf.cancel=function($){$!==void 0&&(rafExports.cancel(ids[$]),delete ids[$])};wrapperRaf.ids=ids;function _typeof$1c(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1c=function(_e){return typeof _e}:_typeof$1c=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1c(o)}function _classCallCheck$1Y(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$18(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1T(o,$,_e){return $&&_defineProperties$18(o.prototype,$),_e&&_defineProperties$18(o,_e),o}function _inherits$1W(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$1a(o,$)}function _setPrototypeOf$1a(o,$){return _setPrototypeOf$1a=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$1a(o,$)}function _createSuper$_(o){var $=_isNativeReflectConstruct$_();return function(){var et=_getPrototypeOf$1d(o),tt;if($){var rt=_getPrototypeOf$1d(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1W(this,tt)}}function _possibleConstructorReturn$1W(o,$){return $&&(_typeof$1c($)==="object"||typeof $=="function")?$:_assertThisInitialized$1a(o)}function _assertThisInitialized$1a(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1d(o){return _getPrototypeOf$1d=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1d(o)}var styleForPesudo;function isHidden$1(o){return!o||o.offsetParent===null}function isNotGrey(o){var $=(o||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\.\d]*)?\)/);return $&&$[1]&&$[2]&&$[3]?!($[1]===$[2]&&$[2]===$[3]):!0}var Wave=function(o){_inherits$1W(_e,o);var $=_createSuper$_(_e);function _e(){var et;return _classCallCheck$1Y(this,_e),et=$.apply(this,arguments),et.animationStart=!1,et.destroy=!1,et.onClick=function(tt,rt){if(!(!tt||isHidden$1(tt)||tt.className.indexOf("-leave")>=0)){var at=et.props.insertExtraNode;et.extraNode=document.createElement("div");var nt=_assertThisInitialized$1a(et),it=nt.extraNode;it.className="ant-click-animating-node";var ot=et.getAttributeName();tt.setAttribute(ot,"true"),styleForPesudo=styleForPesudo||document.createElement("style"),rt&&rt!=="#ffffff"&&rt!=="rgb(255, 255, 255)"&&isNotGrey(rt)&&!/rgba\(\d*, \d*, \d*, 0\)/.test(rt)&&rt!=="transparent"&&(et.csp&&et.csp.nonce&&(styleForPesudo.nonce=et.csp.nonce),it.style.borderColor=rt,styleForPesudo.innerHTML=` [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node { --antd-wave-shadow-color: `.concat(rt,`; - }`),document.body.contains(styleForPesudo)||document.body.appendChild(styleForPesudo)),at&&tt.appendChild(it),TransitionEvents.addStartEventListener(tt,et.onTransitionStart),TransitionEvents.addEndEventListener(tt,et.onTransitionEnd)}},et.onTransitionStart=function(tt){if(!et.destroy){var rt=reactDomExports.findDOMNode(_assertThisInitialized$1a(et));!tt||tt.target!==rt||et.animationStart||et.resetEffect(rt)}},et.onTransitionEnd=function(tt){!tt||tt.animationName!=="fadeEffect"||et.resetEffect(tt.target)},et.bindAnimationEvent=function(tt){if(!(!tt||!tt.getAttribute||tt.getAttribute("disabled")||tt.className.indexOf("disabled")>=0)){var rt=function(nt){if(!(nt.target.tagName==="INPUT"||isHidden$1(nt.target))){et.resetEffect(tt);var it=getComputedStyle(tt).getPropertyValue("border-top-color")||getComputedStyle(tt).getPropertyValue("border-color")||getComputedStyle(tt).getPropertyValue("background-color");et.clickWaveTimeoutId=window.setTimeout(function(){return et.onClick(tt,it)},0),wrapperRaf.cancel(et.animationStartId),et.animationStart=!0,et.animationStartId=wrapperRaf(function(){et.animationStart=!1},10)}};return tt.addEventListener("click",rt,!0),{cancel:function(){tt.removeEventListener("click",rt,!0)}}}},et.renderWave=function(tt){var rt=tt.csp,at=et.props.children;return et.csp=rt,at},et}return _createClass$1T(_e,[{key:"componentDidMount",value:function(){var tt=reactDomExports.findDOMNode(this);!tt||tt.nodeType!==1||(this.instance=this.bindAnimationEvent(tt))}},{key:"componentWillUnmount",value:function(){this.instance&&this.instance.cancel(),this.clickWaveTimeoutId&&clearTimeout(this.clickWaveTimeoutId),this.destroy=!0}},{key:"getAttributeName",value:function(){var tt=this.props.insertExtraNode;return tt?"ant-click-animating":"ant-click-animating-without-extra-node"}},{key:"resetEffect",value:function(tt){if(!(!tt||tt===this.extraNode||!(tt instanceof Element))){var rt=this.props.insertExtraNode,at=this.getAttributeName();tt.setAttribute(at,"false"),styleForPesudo&&(styleForPesudo.innerHTML=""),rt&&this.extraNode&&tt.contains(this.extraNode)&&tt.removeChild(this.extraNode),TransitionEvents.removeStartEventListener(tt,this.onTransitionStart),TransitionEvents.removeEndEventListener(tt,this.onTransitionEnd)}}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderWave)}}]),_e}(reactExports.Component);function _extends$22(){return _extends$22=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1c(o){return _getPrototypeOf$1c=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1c(o)}function _typeof$1b(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1b=function(_e){return typeof _e}:_typeof$1b=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1b(o)}var __rest$z=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1b(o){return _getPrototypeOf$1b=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1b(o)}var __rest$x=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=KeyCode$1.F1&&_e<=KeyCode$1.F12)return!1;switch(_e){case KeyCode$1.ALT:case KeyCode$1.CAPS_LOCK:case KeyCode$1.CONTEXT_MENU:case KeyCode$1.CTRL:case KeyCode$1.DOWN:case KeyCode$1.END:case KeyCode$1.ESC:case KeyCode$1.HOME:case KeyCode$1.INSERT:case KeyCode$1.LEFT:case KeyCode$1.MAC_FF_META:case KeyCode$1.META:case KeyCode$1.NUMLOCK:case KeyCode$1.NUM_CENTER:case KeyCode$1.PAGE_DOWN:case KeyCode$1.PAGE_UP:case KeyCode$1.PAUSE:case KeyCode$1.PRINT_SCREEN:case KeyCode$1.RIGHT:case KeyCode$1.SHIFT:case KeyCode$1.UP:case KeyCode$1.WIN_KEY:case KeyCode$1.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function($){if($>=KeyCode$1.ZERO&&$<=KeyCode$1.NINE||$>=KeyCode$1.NUM_ZERO&&$<=KeyCode$1.NUM_MULTIPLY||$>=KeyCode$1.A&&$<=KeyCode$1.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&$===0)return!0;switch($){case KeyCode$1.SPACE:case KeyCode$1.QUESTION_MARK:case KeyCode$1.NUM_PLUS:case KeyCode$1.NUM_MINUS:case KeyCode$1.NUM_PERIOD:case KeyCode$1.NUM_DIVISION:case KeyCode$1.SEMICOLON:case KeyCode$1.DASH:case KeyCode$1.EQUALS:case KeyCode$1.COMMA:case KeyCode$1.PERIOD:case KeyCode$1.SLASH:case KeyCode$1.APOSTROPHE:case KeyCode$1.SINGLE_QUOTE:case KeyCode$1.OPEN_SQUARE_BRACKET:case KeyCode$1.BACKSLASH:case KeyCode$1.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function createChainedFunction(){var o=[].slice.call(arguments,0);return o.length===1?o[0]:function(){for(var _e=0;_e=Rt&&(ht.push(et({type:"childList",target:xt,addedNodes:[Ot],removedNodes:[Ot],nextSibling:Ot.nextSibling,previousSibling:Ot.previousSibling})),Tt--),dt.b&&Mt.b&&nt(ht,Ot,Mt.b,dt.f),dt.a&&Ot.nodeType===3&&Ot.nodeValue!==Mt.a&&ht.push(et({type:"characterData",target:Ot,oldValue:Mt.a})),dt.g&&Ct(Ot,Mt)}function Ct(yt,xt){for(var Et=yt.childNodes,It=xt.c,Tt=Et.length,Rt=It?It.length:0,Ot,Mt,Bt,Lt,Vt,zt=0,Nt=0,Wt=0;Nt0},o.prototype.connect_=function(){!isBrowser$1||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),mutationObserverSupported?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},o.prototype.disconnect_=function(){!isBrowser$1||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},o.prototype.onTransitionEnd_=function($){var _e=$.propertyName,et=_e===void 0?"":_e,tt=transitionKeys.some(function(rt){return!!~et.indexOf(rt)});tt&&this.refresh()},o.getInstance=function(){return this.instance_||(this.instance_=new o),this.instance_},o.instance_=null,o}(),defineConfigurable=function(o,$){for(var _e=0,et=Object.keys($);_e"u"||!(Element instanceof Object))){if(!($ instanceof getWindowOf($).Element))throw new TypeError('parameter 1 is not of type "Element".');var _e=this.observations_;_e.has($)||(_e.set($,new ResizeObservation($)),this.controller_.addObserver(this),this.controller_.refresh())}},o.prototype.unobserve=function($){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!($ instanceof getWindowOf($).Element))throw new TypeError('parameter 1 is not of type "Element".');var _e=this.observations_;_e.has($)&&(_e.delete($),_e.size||this.controller_.removeObserver(this))}},o.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},o.prototype.gatherActive=function(){var $=this;this.clearActive(),this.observations_.forEach(function(_e){_e.isActive()&&$.activeObservations_.push(_e)})},o.prototype.broadcastActive=function(){if(this.hasActive()){var $=this.callbackCtx_,_e=this.activeObservations_.map(function(et){return new ResizeObserverEntry(et.target,et.broadcastRect())});this.callback_.call($,_e,$),this.clearActive()}},o.prototype.clearActive=function(){this.activeObservations_.splice(0)},o.prototype.hasActive=function(){return this.activeObservations_.length>0},o}(),observers=typeof WeakMap<"u"?new WeakMap:new MapShim,ResizeObserver$1=function(){function o($){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var _e=ResizeObserverController.getInstance(),et=new ResizeObserverSPI($,_e,this);observers.set(this,et)}return o}();["observe","unobserve","disconnect"].forEach(function(o){ResizeObserver$1.prototype[o]=function(){var $;return($=observers.get(this))[o].apply($,arguments)}});var index$M=function(){return typeof global$1$1.ResizeObserver<"u"?global$1$1.ResizeObserver:ResizeObserver$1}();const ResizeObserver_es=Object.freeze(Object.defineProperty({__proto__:null,default:index$M},Symbol.toStringTag,{value:"Module"}));function findDOMNode$2(o){return o instanceof HTMLElement?o:ReactDOM.findDOMNode(o)}var canUseDOM$1=!!(typeof window<"u"&&window.document&&window.document.createElement);function makePrefixMap(o,$){var _e={};return _e[o.toLowerCase()]=$.toLowerCase(),_e["Webkit"+o]="webkit"+$,_e["Moz"+o]="moz"+$,_e["ms"+o]="MS"+$,_e["O"+o]="o"+$.toLowerCase(),_e}function getVendorPrefixes(o,$){var _e={animationend:makePrefixMap("Animation","AnimationEnd"),transitionend:makePrefixMap("Transition","TransitionEnd")};return o&&("AnimationEvent"in $||delete _e.animationend.animation,"TransitionEvent"in $||delete _e.transitionend.transition),_e}var vendorPrefixes=getVendorPrefixes(canUseDOM$1,typeof window<"u"?window:{}),style$1={};canUseDOM$1&&(style$1=document.createElement("div").style);var prefixedEventNames={};function getVendorPrefixedEventName(o){if(prefixedEventNames[o])return prefixedEventNames[o];var $=vendorPrefixes[o];if($)for(var _e=Object.keys($),et=_e.length,tt=0;tt0&&setTimeout(function(){nt.onMotionEnd({deadline:!0})},lt)}})},nt.nextFrame=function(it){nt.cancelNextFrame(),nt.raf=rafExports(it)},nt.cancelNextFrame=function(){nt.raf&&(rafExports.cancel(nt.raf),nt.raf=null)},nt.state={status:STATUS_NONE,statusActive:!1,newStatus:!1,statusStyle:null},nt.$cacheEle=null,nt.node=null,nt.raf=null,nt}return _default$b(at,[{key:"componentDidMount",value:function(){this.onDomUpdate()}},{key:"componentDidUpdate",value:function(){this.onDomUpdate()}},{key:"componentWillUnmount",value:function(){this._destroyed=!0,this.removeEventListener(this.$cacheEle),this.cancelNextFrame()}},{key:"render",value:function(){var it,ot=this.state,st=ot.status,lt=ot.statusActive,ct=ot.statusStyle,ut=this.props,ft=ut.children,At=ut.motionName,vt=ut.visible,ht=ut.removeOnLeave,bt=ut.leavedClassName,pt=ut.eventProps;return ft?st===STATUS_NONE||!et(this.props)?vt?ft(_default$bE({},pt),this.setNodeRef):ht?null:ft(_default$bE({},pt,{className:bt}),this.setNodeRef):ft(_default$bE({},pt,{className:classnamesExports((it={},_default$e(it,getTransitionName(At,st),st!==STATUS_NONE),_default$e(it,getTransitionName(At,st+"-active"),st!==STATUS_NONE&<),_default$e(it,At,typeof At=="string"),it)),style:ct}),this.setNodeRef):null}}],[{key:"getDerivedStateFromProps",value:function(it,ot){var st=ot.prevProps,lt=ot.status;if(!et(it))return{};var ct=it.visible,ut=it.motionAppear,ft=it.motionEnter,At=it.motionLeave,vt=it.motionLeaveImmediately,ht={prevProps:it};return(lt===STATUS_APPEAR&&!ut||lt===STATUS_ENTER&&!ft||lt===STATUS_LEAVE&&!At)&&(ht.status=STATUS_NONE,ht.statusActive=!1,ht.newStatus=!1),!st&&ct&&ut&&(ht.status=STATUS_APPEAR,ht.statusActive=!1,ht.newStatus=!0),st&&!st.visible&&ct&&ft&&(ht.status=STATUS_ENTER,ht.statusActive=!1,ht.newStatus=!0),(st&&st.visible&&!ct&&At||!st&&vt&&!ct&&At)&&(ht.status=STATUS_LEAVE,ht.statusActive=!1,ht.newStatus=!0),ht}}]),at}(React$k.Component);return tt.propTypes=_default$bE({},MotionPropTypes,{internalRef:propTypesExports.oneOfType([propTypesExports.object,propTypesExports.func])}),tt.defaultProps={visible:!0,motionEnter:!0,motionAppear:!0,motionLeave:!0,removeOnLeave:!0},polyfill(tt),_e?React$k.forwardRef(function(rt,at){return React$k.createElement(tt,_default$bE({internalRef:at},rt))}):tt}const CSSMotion=genCSSMotion(supportTransition);var autoAdjustOverflow$1={adjustX:1,adjustY:1},placements$1={topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow$1,offset:[0,-7]},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow$1,offset:[0,7]},leftTop:{points:["tr","tl"],overflow:autoAdjustOverflow$1,offset:[-4,0]},rightTop:{points:["tl","tr"],overflow:autoAdjustOverflow$1,offset:[4,0]}};function _typeof$18(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$18=function(_e){return typeof _e}:_typeof$18=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$18(o)}function _classCallCheck$1T(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$15(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1O(o,$,_e){return $&&_defineProperties$15(o.prototype,$),_e&&_defineProperties$15(o,_e),o}function _possibleConstructorReturn$1R(o,$){return $&&(_typeof$18($)==="object"||typeof $=="function")?$:_assertThisInitialized$17(o)}function _getPrototypeOf$1a(o){return _getPrototypeOf$1a=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1a(o)}function _assertThisInitialized$17(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _inherits$1R(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$17(o,$)}function _setPrototypeOf$17(o,$){return _setPrototypeOf$17=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$17(o,$)}function ownKeys$h(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$h(o){for(var $=1;$=et.subMenuTitle.offsetWidth||(ot.style.minWidth="".concat(et.subMenuTitle.offsetWidth,"px"))}},et.saveSubMenuTitle=function(ot){et.subMenuTitle=ot};var tt=_e.store,rt=_e.eventKey,at=tt.getState(),nt=at.defaultActiveFirst;et.isRootMenu=!1;var it=!1;return nt&&(it=nt[rt]),updateDefaultActiveFirst(tt,rt,it),et}return _createClass$1O($,[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var et=this,tt=this.props,rt=tt.mode,at=tt.parentMenu,nt=tt.manualRef;nt&&nt(this),!(rt!=="horizontal"||!at.isRootMenu||!this.props.isOpen)&&(this.minWidthTimeout=setTimeout(function(){return et.adjustWidth()},0))}},{key:"componentWillUnmount",value:function(){var et=this.props,tt=et.onDestroy,rt=et.eventKey;tt&&tt(rt),this.minWidthTimeout&&clearTimeout(this.minWidthTimeout),this.mouseenterTimeout&&clearTimeout(this.mouseenterTimeout)}},{key:"renderChildren",value:function(et){var tt=this,rt=this.props,at={mode:rt.mode==="horizontal"?"vertical":rt.mode,visible:this.props.isOpen,level:rt.level+1,inlineIndent:rt.inlineIndent,focusable:!1,onClick:this.onSubMenuClick,onSelect:this.onSelect,onDeselect:this.onDeselect,onDestroy:this.onDestroy,selectedKeys:rt.selectedKeys,eventKey:"".concat(rt.eventKey,"-menu-"),openKeys:rt.openKeys,motion:rt.motion,onOpenChange:this.onOpenChange,subMenuOpenDelay:rt.subMenuOpenDelay,parentMenu:this,subMenuCloseDelay:rt.subMenuCloseDelay,forceSubMenuRender:rt.forceSubMenuRender,triggerSubMenuAction:rt.triggerSubMenuAction,builtinPlacements:rt.builtinPlacements,defaultActiveFirst:rt.store.getState().defaultActiveFirst[getMenuIdFromSubMenuEventKey(rt.eventKey)],multiple:rt.multiple,prefixCls:rt.rootPrefixCls,id:this.internalMenuId,manualRef:this.saveMenuInstance,itemIcon:rt.itemIcon,expandIcon:rt.expandIcon},nt=this.haveRendered;if(this.haveRendered=!0,this.haveOpened=this.haveOpened||at.visible||at.forceSubMenuRender,!this.haveOpened)return reactExports.createElement("div",null);var it=_objectSpread$h({},rt.motion,{leavedClassName:"".concat(rt.rootPrefixCls,"-hidden"),removeOnLeave:!1,motionAppear:nt||!at.visible||at.mode!=="inline"});return reactExports.createElement(CSSMotion,Object.assign({visible:at.visible},it),function(ot){var st=ot.className,lt=ot.style,ct=classnamesExports("".concat(at.prefixCls,"-sub"),st);return reactExports.createElement(connected$1,Object.assign({},at,{id:tt.internalMenuId,className:ct,style:lt}),et)})}},{key:"render",value:function(){var et,tt=_objectSpread$h({},this.props),rt=tt.isOpen,at=this.getPrefixCls(),nt=tt.mode==="inline",it=classnamesExports(at,"".concat(at,"-").concat(tt.mode),(et={},_defineProperty$18(et,tt.className,!!tt.className),_defineProperty$18(et,this.getOpenClassName(),rt),_defineProperty$18(et,this.getActiveClassName(),tt.active||rt&&!nt),_defineProperty$18(et,this.getDisabledClassName(),tt.disabled),_defineProperty$18(et,this.getSelectedClassName(),this.isChildrenSelected()),et));this.internalMenuId||(tt.eventKey?this.internalMenuId="".concat(tt.eventKey,"$Menu"):(guid+=1,this.internalMenuId="$__$".concat(guid,"$Menu")));var ot={},st={},lt={};tt.disabled||(ot={onMouseLeave:this.onMouseLeave,onMouseEnter:this.onMouseEnter},st={onClick:this.onTitleClick},lt={onMouseEnter:this.onTitleMouseEnter,onMouseLeave:this.onTitleMouseLeave});var ct={};nt&&(ct.paddingLeft=tt.inlineIndent*tt.level);var ut={};this.props.isOpen&&(ut={"aria-owns":this.internalMenuId});var ft=null;tt.mode!=="horizontal"&&(ft=this.props.expandIcon,typeof this.props.expandIcon=="function"&&(ft=reactExports.createElement(this.props.expandIcon,_objectSpread$h({},this.props))));var At=reactExports.createElement("div",Object.assign({ref:this.saveSubMenuTitle,style:ct,className:"".concat(at,"-title")},lt,st,{"aria-expanded":rt},ut,{"aria-haspopup":"true",title:typeof tt.title=="string"?tt.title:void 0}),tt.title,ft||reactExports.createElement("i",{className:"".concat(at,"-arrow")})),vt=this.renderChildren(tt.children),ht=tt.parentMenu.isRootMenu?tt.parentMenu.props.getPopupContainer:function(It){return It.parentNode},bt=popupPlacementMap[tt.mode],pt=tt.popupOffset?{offset:tt.popupOffset}:{},dt=tt.mode==="inline"?"":tt.popupClassName,_t=tt.disabled,Ct=tt.triggerSubMenuAction,gt=tt.subMenuOpenDelay,yt=tt.forceSubMenuRender,xt=tt.subMenuCloseDelay,Et=tt.builtinPlacements;return menuAllProps.forEach(function(It){return delete tt[It]}),delete tt.onClick,reactExports.createElement("li",Object.assign({},tt,ot,{className:it,role:"menuitem"}),nt&&At,nt&&vt,!nt&&reactExports.createElement(Trigger,{prefixCls:at,popupClassName:"".concat(at,"-popup ").concat(dt),getPopupContainer:ht,builtinPlacements:Object.assign({},placements$1,Et),popupPlacement:bt,popupVisible:rt,popupAlign:pt,popup:vt,action:_t?[]:[Ct],mouseEnterDelay:gt,mouseLeaveDelay:xt,onPopupVisibleChange:this.onPopupVisibleChange,forceRender:yt},At))}}]),$}(reactExports.Component);SubMenu$2.defaultProps={onMouseEnter:noop$e,onMouseLeave:noop$e,onTitleMouseEnter:noop$e,onTitleMouseLeave:noop$e,onTitleClick:noop$e,manualRef:noop$e,mode:"vertical",title:""};var connected$2=connect(function(o,$){var _e=o.openKeys,et=o.activeKey,tt=o.selectedKeys,rt=$.eventKey,at=$.subMenuKey;return{isOpen:_e.indexOf(rt)>-1,active:et[at]===rt,selectedKeys:tt}})(SubMenu$2);connected$2.isSubMenu=!0;function _typeof$17(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$17=function(_e){return typeof _e}:_typeof$17=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$17(o)}function _toConsumableArray$c(o){return _arrayWithoutHoles$8(o)||_iterableToArray$8(o)||_nonIterableSpread$8()}function _nonIterableSpread$8(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray$8(o){if(Symbol.iterator in Object(o)||Object.prototype.toString.call(o)==="[object Arguments]")return Array.from(o)}function _arrayWithoutHoles$8(o){if(Array.isArray(o)){for(var $=0,_e=new Array(o.length);$=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$6(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function _classCallCheck$1S(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$14(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1N(o,$,_e){return $&&_defineProperties$14(o.prototype,$),_e&&_defineProperties$14(o,_e),o}function _possibleConstructorReturn$1Q(o,$){return $&&(_typeof$17($)==="object"||typeof $=="function")?$:_assertThisInitialized$16(o)}function _getPrototypeOf$19(o){return _getPrototypeOf$19=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$19(o)}function _assertThisInitialized$16(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _inherits$1Q(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$16(o,$)}function _setPrototypeOf$16(o,$){return _setPrototypeOf$16=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$16(o,$)}var canUseDOM=!!(typeof window<"u"&&window.document&&window.document.createElement),MENUITEM_OVERFLOWED_CLASSNAME="menuitem-overflowed",FLOAT_PRECISION_ADJUST=.5;canUseDOM&&requireMutationobserver_min();var DOMWrap=function(o){_inherits$1Q($,o);function $(){var _e;return _classCallCheck$1S(this,$),_e=_possibleConstructorReturn$1Q(this,_getPrototypeOf$19($).apply(this,arguments)),_e.resizeObserver=null,_e.mutationObserver=null,_e.originalTotalWidth=0,_e.overflowedItems=[],_e.menuItemSizes=[],_e.state={lastVisibleIndex:void 0},_e.getMenuItemNodes=function(){var et=_e.props.prefixCls,tt=reactDomExports.findDOMNode(_assertThisInitialized$16(_e));return tt?[].slice.call(tt.children).filter(function(rt){return rt.className.split(" ").indexOf("".concat(et,"-overflowed-submenu"))<0}):[]},_e.getOverflowedSubMenuItem=function(et,tt,rt){var at=_e.props,nt=at.overflowedIndicator,it=at.level,ot=at.mode,st=at.prefixCls,lt=at.theme;if(it!==1||ot!=="horizontal")return null;var ct=_e.props.children[0],ut=ct.props;ut.children,ut.title;var ft=ut.style,At=_objectWithoutProperties$9(ut,["children","title","style"]),vt=_objectSpread$g({},ft),ht="".concat(et,"-overflowed-indicator"),bt="".concat(et,"-overflowed-indicator");tt.length===0&&rt!==!0?vt=_objectSpread$g({},vt,{display:"none"}):rt&&(vt=_objectSpread$g({},vt,{visibility:"hidden",position:"absolute"}),ht="".concat(ht,"-placeholder"),bt="".concat(bt,"-placeholder"));var pt=lt?"".concat(st,"-").concat(lt):"",dt={};return menuAllProps.forEach(function(_t){At[_t]!==void 0&&(dt[_t]=At[_t])}),reactExports.createElement(connected$2,Object.assign({title:nt,className:"".concat(st,"-overflowed-submenu"),popupClassName:pt},dt,{key:ht,eventKey:bt,disabled:!1,style:vt}),tt)},_e.setChildrenWidthAndResize=function(){if(_e.props.mode==="horizontal"){var et=reactDomExports.findDOMNode(_assertThisInitialized$16(_e));if(et){var tt=et.children;if(!(!tt||tt.length===0)){var rt=et.children[tt.length-1];setStyle$1(rt,"display","inline-block");var at=_e.getMenuItemNodes(),nt=at.filter(function(it){return it.className.split(" ").indexOf(MENUITEM_OVERFLOWED_CLASSNAME)>=0});nt.forEach(function(it){setStyle$1(it,"display","inline-block")}),_e.menuItemSizes=at.map(function(it){return getWidth(it)}),nt.forEach(function(it){setStyle$1(it,"display","none")}),_e.overflowedIndicatorWidth=getWidth(et.children[et.children.length-1]),_e.originalTotalWidth=_e.menuItemSizes.reduce(function(it,ot){return it+ot},0),_e.handleResize(),setStyle$1(rt,"display","none")}}}},_e.handleResize=function(){if(_e.props.mode==="horizontal"){var et=reactDomExports.findDOMNode(_assertThisInitialized$16(_e));if(et){var tt=getWidth(et);_e.overflowedItems=[];var rt=0,at;_e.originalTotalWidth>tt+FLOAT_PRECISION_ADJUST&&(at=-1,_e.menuItemSizes.forEach(function(nt){rt+=nt,rt+_e.overflowedIndicatorWidth<=tt&&(at+=1)})),_e.setState({lastVisibleIndex:at})}}},_e}return _createClass$1N($,[{key:"componentDidMount",value:function(){var et=this;if(this.setChildrenWidthAndResize(),this.props.level===1&&this.props.mode==="horizontal"){var tt=reactDomExports.findDOMNode(this);if(!tt)return;this.resizeObserver=new index$M(function(rt){rt.forEach(et.setChildrenWidthAndResize)}),[].slice.call(tt.children).concat(tt).forEach(function(rt){et.resizeObserver.observe(rt)}),typeof MutationObserver<"u"&&(this.mutationObserver=new MutationObserver(function(){et.resizeObserver.disconnect(),[].slice.call(tt.children).concat(tt).forEach(function(rt){et.resizeObserver.observe(rt)}),et.setChildrenWidthAndResize()}),this.mutationObserver.observe(tt,{attributes:!1,childList:!0,subTree:!1}))}}},{key:"componentWillUnmount",value:function(){this.resizeObserver&&this.resizeObserver.disconnect(),this.mutationObserver&&this.mutationObserver.disconnect()}},{key:"renderChildren",value:function(et){var tt=this,rt=this.state.lastVisibleIndex;return(et||[]).reduce(function(at,nt,it){var ot=nt;if(tt.props.mode==="horizontal"){var st=tt.getOverflowedSubMenuItem(nt.props.eventKey,[]);rt!==void 0&&tt.props.className.indexOf("".concat(tt.props.prefixCls,"-root"))!==-1&&(it>rt&&(ot=reactExports.cloneElement(nt,{style:{display:"none"},eventKey:"".concat(nt.props.eventKey,"-hidden"),className:"".concat(MENUITEM_OVERFLOWED_CLASSNAME)})),it===rt+1&&(tt.overflowedItems=et.slice(rt+1).map(function(ct){return reactExports.cloneElement(ct,{key:ct.props.eventKey,mode:"vertical-left"})}),st=tt.getOverflowedSubMenuItem(nt.props.eventKey,tt.overflowedItems)));var lt=[].concat(_toConsumableArray$c(at),[st,ot]);return it===et.length-1&<.push(tt.getOverflowedSubMenuItem(nt.props.eventKey,[],!0)),lt}return[].concat(_toConsumableArray$c(at),[ot])},[])}},{key:"render",value:function(){var et=this.props;et.visible,et.prefixCls,et.overflowedIndicator,et.mode,et.level;var tt=et.tag,rt=et.children;et.theme;var at=_objectWithoutProperties$9(et,["visible","prefixCls","overflowedIndicator","mode","level","tag","children","theme"]),nt=tt;return reactExports.createElement(nt,Object.assign({},at),this.renderChildren(rt))}}]),$}(reactExports.Component);DOMWrap.defaultProps={tag:"div",className:""};function _typeof$16(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$16=function(_e){return typeof _e}:_typeof$16=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$16(o)}function _extends$1Z(){return _extends$1Z=Object.assign||function(o){for(var $=1;$"u"?"undefined":_typeof$13($))==="object"){for(var tt in $)$.hasOwnProperty(tt)&&css(o,tt,$[tt]);return}if(typeof et<"u"){typeof et=="number"&&(et+="px"),o.style[$]=et;return}return getComputedStyleX(o,$)}each$b(["width","height"],function(o){var $=o.charAt(0).toUpperCase()+o.slice(1);domUtils["outer"+$]=function(et,tt){return et&&getWHIgnoreDisplay(et,o,tt?MARGIN_INDEX:BORDER_INDEX)};var _e=o==="width"?["Left","Right"]:["Top","Bottom"];domUtils[o]=function(et,tt){if(tt!==void 0){if(et){getComputedStyleX(et);var rt=isBorderBoxFn(et);return rt&&(tt+=getPBMWidth(et,["padding","border"],_e)),css(et,o,tt)}return}return et&&getWHIgnoreDisplay(et,o,CONTENT_INDEX)}});function setOffset(o,$){css(o,"position")==="static"&&(o.style.position="relative");var _e=getOffset(o),et={},tt=void 0,rt=void 0;for(rt in $)$.hasOwnProperty(rt)&&(tt=parseFloat(css(o,rt))||0,et[rt]=tt+$[rt]-_e[rt]);css(o,et)}var util$c=_extends$1Y({getWindow:function($){var _e=$.ownerDocument||$;return _e.defaultView||_e.parentWindow},offset:function($,_e){if(typeof _e<"u")setOffset($,_e);else return getOffset($)},isWindow,each:each$b,css,clone:function($){var _e={};for(var et in $)$.hasOwnProperty(et)&&(_e[et]=$[et]);var tt=$.overflow;if(tt)for(var et in $)$.hasOwnProperty(et)&&(_e.overflow[et]=$.overflow[et]);return _e},scrollLeft:function($,_e){if(isWindow($)){if(_e===void 0)return getScrollLeft($);window.scrollTo(_e,getScrollTop($))}else{if(_e===void 0)return $.scrollLeft;$.scrollLeft=_e}},scrollTop:function($,_e){if(isWindow($)){if(_e===void 0)return getScrollTop($);window.scrollTo(getScrollLeft($),_e)}else{if(_e===void 0)return $.scrollTop;$.scrollTop=_e}},viewportWidth:0,viewportHeight:0},domUtils),util$b=util$c;function scrollIntoView$1(o,$,_e){_e=_e||{},$.nodeType===9&&($=util$b.getWindow($));var et=_e.allowHorizontalScroll,tt=_e.onlyScrollIfNeeded,rt=_e.alignWithTop,at=_e.alignWithLeft,nt=_e.offsetTop||0,it=_e.offsetLeft||0,ot=_e.offsetBottom||0,st=_e.offsetRight||0;et=et===void 0?!0:et;var lt=util$b.isWindow($),ct=util$b.offset(o),ut=util$b.outerHeight(o),ft=util$b.outerWidth(o),At=void 0,vt=void 0,ht=void 0,bt=void 0,pt=void 0,dt=void 0,_t=void 0,Ct=void 0,gt=void 0,yt=void 0;lt?(_t=$,yt=util$b.height(_t),gt=util$b.width(_t),Ct={left:util$b.scrollLeft(_t),top:util$b.scrollTop(_t)},pt={left:ct.left-Ct.left-it,top:ct.top-Ct.top-nt},dt={left:ct.left+ft-(Ct.left+gt)+st,top:ct.top+ut-(Ct.top+yt)+ot},bt=Ct):(At=util$b.offset($),vt=$.clientHeight,ht=$.clientWidth,bt={left:$.scrollLeft,top:$.scrollTop},pt={left:ct.left-(At.left+(parseFloat(util$b.css($,"borderLeftWidth"))||0))-it,top:ct.top-(At.top+(parseFloat(util$b.css($,"borderTopWidth"))||0))-nt},dt={left:ct.left+ft-(At.left+ht+(parseFloat(util$b.css($,"borderRightWidth"))||0))+st,top:ct.top+ut-(At.top+vt+(parseFloat(util$b.css($,"borderBottomWidth"))||0))+ot}),pt.top<0||dt.top>0?rt===!0?util$b.scrollTop($,bt.top+pt.top):rt===!1?util$b.scrollTop($,bt.top+dt.top):pt.top<0?util$b.scrollTop($,bt.top+pt.top):util$b.scrollTop($,bt.top+dt.top):tt||(rt=rt===void 0?!0:!!rt,rt?util$b.scrollTop($,bt.top+pt.top):util$b.scrollTop($,bt.top+dt.top)),et&&(pt.left<0||dt.left>0?at===!0?util$b.scrollLeft($,bt.left+pt.left):at===!1?util$b.scrollLeft($,bt.left+dt.left):pt.left<0?util$b.scrollLeft($,bt.left+pt.left):util$b.scrollLeft($,bt.left+dt.left):tt||(at=at===void 0?!0:!!at,at?util$b.scrollLeft($,bt.left+pt.left):util$b.scrollLeft($,bt.left+dt.left)))}var domScrollIntoView=scrollIntoView$1;(function(o){o.exports=domScrollIntoView})(lib$4);const scrollIntoView=getDefaultExportFromCjs(libExports$1);function _typeof$12(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$12=function(_e){return typeof _e}:_typeof$12=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$12(o)}function ownKeys$d(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$d(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$14(o){return _getPrototypeOf$14=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$14(o)}var SubMenu=function(o){_inherits$1L(_e,o);var $=_createSuper$X(_e);function _e(){var et;return _classCallCheck$1N(this,_e),et=$.apply(this,arguments),et.onKeyDown=function(tt){et.subMenu.onKeyDown(tt)},et.saveSubMenu=function(tt){et.subMenu=tt},et}return _createClass$1I(_e,[{key:"render",value:function(){var tt=this,rt=this.props,at=rt.rootPrefixCls,nt=rt.popupClassName;return reactExports.createElement(MenuContext$1.Consumer,null,function(it){var ot=it.antdMenuTheme;return reactExports.createElement(connected$2,_extends$1W({},tt.props,{ref:tt.saveSubMenu,popupClassName:classNames("".concat(at,"-").concat(ot),nt)}))})}}]),_e}(reactExports.Component);SubMenu.contextTypes={antdMenuTheme:propTypesExports.string};SubMenu.isSubMenu=1;const SubMenu$1=SubMenu;var autoAdjustOverflow={adjustX:1,adjustY:1},targetOffset$1=[0,0],placements={left:{points:["cr","cl"],overflow:autoAdjustOverflow,offset:[-4,0],targetOffset:targetOffset$1},right:{points:["cl","cr"],overflow:autoAdjustOverflow,offset:[4,0],targetOffset:targetOffset$1},top:{points:["bc","tc"],overflow:autoAdjustOverflow,offset:[0,-4],targetOffset:targetOffset$1},bottom:{points:["tc","bc"],overflow:autoAdjustOverflow,offset:[0,4],targetOffset:targetOffset$1},topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow,offset:[0,-4],targetOffset:targetOffset$1},leftTop:{points:["tr","tl"],overflow:autoAdjustOverflow,offset:[-4,0],targetOffset:targetOffset$1},topRight:{points:["br","tr"],overflow:autoAdjustOverflow,offset:[0,-4],targetOffset:targetOffset$1},rightTop:{points:["tl","tr"],overflow:autoAdjustOverflow,offset:[4,0],targetOffset:targetOffset$1},bottomRight:{points:["tr","br"],overflow:autoAdjustOverflow,offset:[0,4],targetOffset:targetOffset$1},rightBottom:{points:["bl","br"],overflow:autoAdjustOverflow,offset:[4,0],targetOffset:targetOffset$1},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow,offset:[0,4],targetOffset:targetOffset$1},leftBottom:{points:["br","bl"],overflow:autoAdjustOverflow,offset:[-4,0],targetOffset:targetOffset$1}},Content$1=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,o.apply(this,arguments))}return $.prototype.componentDidUpdate=function(){var et=this.props.trigger;et&&et.forcePopupAlign()},$.prototype.render=function(){var et=this.props,tt=et.overlay,rt=et.prefixCls,at=et.id;return React$k.createElement("div",{className:rt+"-inner",id:at,role:"tooltip"},typeof tt=="function"?tt():tt)},$}(React$k.Component);Content$1.propTypes={prefixCls:propTypesExports.string,overlay:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]).isRequired,id:propTypesExports.string,trigger:propTypesExports.any};var Tooltip$2=function(o){_default$8($,o);function $(){var _e,et,tt;_default$c(this,$);for(var rt=arguments.length,at=Array(rt),nt=0;nt0&&arguments[0]!==void 0?arguments[0]:{},$=o.arrowWidth,_e=$===void 0?5:$,et=o.horizontalArrowShift,tt=et===void 0?16:et,rt=o.verticalArrowShift,at=rt===void 0?12:rt,nt=o.autoAdjustOverflow,it=nt===void 0?!0:nt,ot={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(tt+_e),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(at+_e)]},topRight:{points:["br","tc"],offset:[tt+_e,-4]},rightTop:{points:["tl","cr"],offset:[4,-(at+_e)]},bottomRight:{points:["tr","bc"],offset:[tt+_e,4]},rightBottom:{points:["bl","cr"],offset:[4,at+_e]},bottomLeft:{points:["tl","bc"],offset:[-(tt+_e),4]},leftBottom:{points:["br","cl"],offset:[-4,at+_e]}};return Object.keys(ot).forEach(function(st){ot[st]=o.arrowPointAtCenter?_extends$1V(_extends$1V({},ot[st]),{overflow:getOverflowOptions(it),targetOffset}):_extends$1V(_extends$1V({},placements[st]),{overflow:getOverflowOptions(it)}),ot[st].ignoreShake=!0}),ot}function _typeof$$(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$$=function(_e){return typeof _e}:_typeof$$=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$$(o)}function _defineProperty$13(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$1M(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$_(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1H(o,$,_e){return $&&_defineProperties$_(o.prototype,$),_e&&_defineProperties$_(o,_e),o}function _inherits$1K(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$10(o,$)}function _setPrototypeOf$10(o,$){return _setPrototypeOf$10=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$10(o,$)}function _createSuper$W(o){var $=_isNativeReflectConstruct$W();return function(){var et=_getPrototypeOf$13(o),tt;if($){var rt=_getPrototypeOf$13(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1K(this,tt)}}function _possibleConstructorReturn$1K(o,$){return $&&(_typeof$$($)==="object"||typeof $=="function")?$:_assertThisInitialized$10(o)}function _assertThisInitialized$10(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$W(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$13(o){return _getPrototypeOf$13=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$13(o)}function _extends$1U(){return _extends$1U=Object.assign||function(o){for(var $=1;$=0||it.indexOf("Bottom")>=0?st.top="".concat(ot.height-at.offset[1],"px"):(it.indexOf("Top")>=0||it.indexOf("bottom")>=0)&&(st.top="".concat(-at.offset[1],"px")),it.indexOf("left")>=0||it.indexOf("Right")>=0?st.left="".concat(ot.width-at.offset[0],"px"):(it.indexOf("right")>=0||it.indexOf("Left")>=0)&&(st.left="".concat(-at.offset[0],"px")),rt.style.transformOrigin="".concat(st.left," ").concat(st.top)}},tt.renderTooltip=function(rt){var at=rt.getPopupContainer,nt=rt.getPrefixCls,it=_assertThisInitialized$10(tt),ot=it.props,st=it.state,lt=ot.prefixCls,ct=ot.openClassName,ut=ot.getPopupContainer,ft=ot.getTooltipContainer,At=ot.children,vt=nt("tooltip",lt),ht=st.visible;!("visible"in ot)&&tt.isNoTitle()&&(ht=!1);var bt=getDisabledCompatibleChildren(reactExports.isValidElement(At)?At:reactExports.createElement("span",null,At)),pt=bt.props,dt=classNames(pt.className,_defineProperty$13({},ct||"".concat(vt,"-open"),!0));return reactExports.createElement(Tooltip$2,_extends$1U({},tt.props,{prefixCls:vt,getTooltipContainer:ut||ft||at,ref:tt.saveTooltip,builtinPlacements:tt.getPlacements(),overlay:tt.getOverlay(),visible:ht,onVisibleChange:tt.onVisibleChange,onPopupAlign:tt.onPopupAlign}),ht?reactExports.cloneElement(bt,{className:dt}):bt)},tt.state={visible:!!et.visible||!!et.defaultVisible},tt}return _createClass$1H(_e,[{key:"getPopupDomNode",value:function(){return this.tooltip.getPopupDomNode()}},{key:"getPlacements",value:function(){var tt=this.props,rt=tt.builtinPlacements,at=tt.arrowPointAtCenter,nt=tt.autoAdjustOverflow;return rt||getPlacements({arrowPointAtCenter:at,verticalArrowShift:8,autoAdjustOverflow:nt})}},{key:"isNoTitle",value:function(){var tt=this.props,rt=tt.title,at=tt.overlay;return!rt&&!at&&rt!==0}},{key:"getOverlay",value:function(){var tt=this.props,rt=tt.title,at=tt.overlay;return rt===0?rt:at||rt||""}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderTooltip)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"visible"in tt?{visible:tt.visible}:null}}]),_e}(reactExports.Component);Tooltip.defaultProps={placement:"top",transitionName:"zoom-big-fast",mouseEnterDelay:.1,mouseLeaveDelay:.1,arrowPointAtCenter:!1,autoAdjustOverflow:!0};polyfill(Tooltip);const Tooltip$1=Tooltip;function _typeof$_(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$_=function(_e){return typeof _e}:_typeof$_=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$_(o)}function _extends$1T(){return _extends$1T=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$12(o){return _getPrototypeOf$12=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$12(o)}var __rest$w=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$11(o){return _getPrototypeOf$11=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$11(o)}var InternalMenu=function(o){_inherits$1I(_e,o);var $=_createSuper$U(_e);function _e(et){var tt;_classCallCheck$1K(this,_e),tt=$.call(this,et),tt.handleMouseEnter=function(at){tt.restoreModeVerticalFromInline();var nt=tt.props.onMouseEnter;nt&&nt(at)},tt.handleTransitionEnd=function(at){var nt=at.propertyName==="width"&&at.target===at.currentTarget,it=at.target.className,ot=Object.prototype.toString.call(it)==="[object SVGAnimatedString]"?it.animVal:it,st=at.propertyName==="font-size"&&ot.indexOf("anticon")>=0;(nt||st)&&tt.restoreModeVerticalFromInline()},tt.handleClick=function(at){tt.handleOpenChange([]);var nt=tt.props.onClick;nt&&nt(at)},tt.handleOpenChange=function(at){tt.setOpenKeys(at);var nt=tt.props.onOpenChange;nt&&nt(at)},tt.renderMenu=function(at){var nt=at.getPopupContainer,it=at.getPrefixCls,ot=tt.props,st=ot.prefixCls,lt=ot.className,ct=ot.theme,ut=ot.collapsedWidth,ft=omit(tt.props,["collapsedWidth","siderCollapsed"]),At=tt.getRealMenuMode(),vt=tt.getOpenMotionProps(At),ht=it("menu",st),bt=classNames(lt,"".concat(ht,"-").concat(ct),_defineProperty$12({},"".concat(ht,"-inline-collapsed"),tt.getInlineCollapsed())),pt=_extends$1S({openKeys:tt.state.openKeys,onOpenChange:tt.handleOpenChange,className:bt,mode:At},vt);At!=="inline"&&(pt.onClick=tt.handleClick);var dt=tt.getInlineCollapsed()&&(ut===0||ut==="0"||ut==="0px");return dt&&(pt.openKeys=[]),reactExports.createElement(Menu$1,_extends$1S({getPopupContainer:nt},ft,pt,{prefixCls:ht,onTransitionEnd:tt.handleTransitionEnd,onMouseEnter:tt.handleMouseEnter}))},warning$4(!("onOpen"in et||"onClose"in et),"Menu","`onOpen` and `onClose` are removed, please use `onOpenChange` instead, see: https://u.ant.design/menu-on-open-change."),warning$4(!("inlineCollapsed"in et&&et.mode!=="inline"),"Menu","`inlineCollapsed` should only be used when `mode` is inline."),warning$4(!(et.siderCollapsed!==void 0&&"inlineCollapsed"in et),"Menu","`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.");var rt;return"openKeys"in et?rt=et.openKeys:"defaultOpenKeys"in et&&(rt=et.defaultOpenKeys),tt.state={openKeys:rt||[],switchingModeFromInline:!1,inlineOpenKeys:[],prevProps:et},tt}return _createClass$1F(_e,[{key:"componentWillUnmount",value:function(){wrapperRaf.cancel(this.mountRafId)}},{key:"setOpenKeys",value:function(tt){"openKeys"in this.props||this.setState({openKeys:tt})}},{key:"getRealMenuMode",value:function(){var tt=this.getInlineCollapsed();if(this.state.switchingModeFromInline&&tt)return"inline";var rt=this.props.mode;return tt?"vertical":rt}},{key:"getInlineCollapsed",value:function(){var tt=this.props.inlineCollapsed;return this.props.siderCollapsed!==void 0?this.props.siderCollapsed:tt}},{key:"getOpenMotionProps",value:function(tt){var rt=this.props,at=rt.openTransitionName,nt=rt.openAnimation,it=rt.motion;return it?{motion:it}:nt?(warning$4(typeof nt=="string","Menu","`openAnimation` do not support object. Please use `motion` instead."),{openAnimation:nt}):at?{openTransitionName:at}:tt==="horizontal"?{motion:{motionName:"slide-up"}}:tt==="inline"?{motion:collapseMotion$1}:{motion:{motionName:this.state.switchingModeFromInline?"":"zoom-big"}}}},{key:"restoreModeVerticalFromInline",value:function(){var tt=this.state.switchingModeFromInline;tt&&this.setState({switchingModeFromInline:!1})}},{key:"render",value:function(){return reactExports.createElement(MenuContext$1.Provider,{value:{inlineCollapsed:this.getInlineCollapsed()||!1,antdMenuTheme:this.props.theme}},reactExports.createElement(ConfigConsumer,null,this.renderMenu))}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=rt.prevProps,nt={prevProps:tt};return at.mode==="inline"&&tt.mode!=="inline"&&(nt.switchingModeFromInline=!0),"openKeys"in tt?nt.openKeys=tt.openKeys:((tt.inlineCollapsed&&!at.inlineCollapsed||tt.siderCollapsed&&!at.siderCollapsed)&&(nt.switchingModeFromInline=!0,nt.inlineOpenKeys=rt.openKeys,nt.openKeys=[]),(!tt.inlineCollapsed&&at.inlineCollapsed||!tt.siderCollapsed&&at.siderCollapsed)&&(nt.openKeys=rt.inlineOpenKeys,nt.inlineOpenKeys=[])),nt}}]),_e}(reactExports.Component);InternalMenu.defaultProps={className:"",theme:"light",focusable:!1};polyfill(InternalMenu);var Menu=function(o){_inherits$1I(_e,o);var $=_createSuper$U(_e);function _e(){return _classCallCheck$1K(this,_e),$.apply(this,arguments)}return _createClass$1F(_e,[{key:"render",value:function(){var tt=this;return reactExports.createElement(SiderContext.Consumer,null,function(rt){return reactExports.createElement(InternalMenu,_extends$1S({},tt.props,rt))})}}]),_e}(reactExports.Component);Menu.Divider=Divider$2;Menu.Item=MenuItem;Menu.SubMenu=SubMenu$1;Menu.ItemGroup=MenuItemGroup;var objectProto$h=Object.prototype,hasOwnProperty$f=objectProto$h.hasOwnProperty;function baseHas$1(o,$){return o!=null&&hasOwnProperty$f.call(o,$)}var _baseHas=baseHas$1,isArray$i=Array.isArray,isArray_1=isArray$i,freeGlobal$1=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,_freeGlobal=freeGlobal$1,freeGlobal=_freeGlobal,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root$c=freeGlobal||freeSelf||Function("return this")(),_root=root$c,root$b=_root,Symbol$6=root$b.Symbol,_Symbol=Symbol$6,Symbol$5=_Symbol,objectProto$g=Object.prototype,hasOwnProperty$e=objectProto$g.hasOwnProperty,nativeObjectToString$1=objectProto$g.toString,symToStringTag$1=Symbol$5?Symbol$5.toStringTag:void 0;function getRawTag$1(o){var $=hasOwnProperty$e.call(o,symToStringTag$1),_e=o[symToStringTag$1];try{o[symToStringTag$1]=void 0;var et=!0}catch(rt){}var tt=nativeObjectToString$1.call(o);return et&&($?o[symToStringTag$1]=_e:delete o[symToStringTag$1]),tt}var _getRawTag=getRawTag$1,objectProto$f=Object.prototype,nativeObjectToString=objectProto$f.toString;function objectToString$1(o){return nativeObjectToString.call(o)}var _objectToString=objectToString$1,Symbol$4=_Symbol,getRawTag=_getRawTag,objectToString=_objectToString,nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$4?Symbol$4.toStringTag:void 0;function baseGetTag$7(o){return o==null?o===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(o)?getRawTag(o):objectToString(o)}var _baseGetTag=baseGetTag$7;function isObjectLike$8(o){return o!=null&&typeof o=="object"}var isObjectLike_1=isObjectLike$8,baseGetTag$6=_baseGetTag,isObjectLike$7=isObjectLike_1,symbolTag$1="[object Symbol]";function isSymbol$6(o){return typeof o=="symbol"||isObjectLike$7(o)&&baseGetTag$6(o)==symbolTag$1}var isSymbol_1=isSymbol$6,isArray$h=isArray_1,isSymbol$5=isSymbol_1,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey$3(o,$){if(isArray$h(o))return!1;var _e=typeof o;return _e=="number"||_e=="symbol"||_e=="boolean"||o==null||isSymbol$5(o)?!0:reIsPlainProp.test(o)||!reIsDeepProp.test(o)||$!=null&&o in Object($)}var _isKey=isKey$3;function isObject$k(o){var $=typeof o;return o!=null&&($=="object"||$=="function")}var isObject_1=isObject$k,baseGetTag$5=_baseGetTag,isObject$j=isObject_1,asyncTag="[object AsyncFunction]",funcTag$1="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$9(o){if(!isObject$j(o))return!1;var $=baseGetTag$5(o);return $==funcTag$1||$==genTag||$==asyncTag||$==proxyTag}var isFunction_1=isFunction$9,root$a=_root,coreJsData$1=root$a["__core-js_shared__"],_coreJsData=coreJsData$1,coreJsData=_coreJsData,maskSrcKey=function(){var o=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}();function isMasked$1(o){return!!maskSrcKey&&maskSrcKey in o}var _isMasked=isMasked$1,funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource$2(o){if(o!=null){try{return funcToString$2.call(o)}catch($){}try{return o+""}catch($){}}return""}var _toSource=toSource$2,isFunction$8=isFunction_1,isMasked=_isMasked,isObject$i=isObject_1,toSource$1=_toSource,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$e=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$d=objectProto$e.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$d).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative$1(o){if(!isObject$i(o)||isMasked(o))return!1;var $=isFunction$8(o)?reIsNative:reIsHostCtor;return $.test(toSource$1(o))}var _baseIsNative=baseIsNative$1;function getValue$4(o,$){return o==null?void 0:o[$]}var _getValue=getValue$4,baseIsNative=_baseIsNative,getValue$3=_getValue;function getNative$7(o,$){var _e=getValue$3(o,$);return baseIsNative(_e)?_e:void 0}var _getNative=getNative$7,getNative$6=_getNative,nativeCreate$4=getNative$6(Object,"create"),_nativeCreate=nativeCreate$4,nativeCreate$3=_nativeCreate;function hashClear$1(){this.__data__=nativeCreate$3?nativeCreate$3(null):{},this.size=0}var _hashClear=hashClear$1;function hashDelete$1(o){var $=this.has(o)&&delete this.__data__[o];return this.size-=$?1:0,$}var _hashDelete=hashDelete$1,nativeCreate$2=_nativeCreate,HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$d=Object.prototype,hasOwnProperty$c=objectProto$d.hasOwnProperty;function hashGet$1(o){var $=this.__data__;if(nativeCreate$2){var _e=$[o];return _e===HASH_UNDEFINED$2?void 0:_e}return hasOwnProperty$c.call($,o)?$[o]:void 0}var _hashGet=hashGet$1,nativeCreate$1=_nativeCreate,objectProto$c=Object.prototype,hasOwnProperty$b=objectProto$c.hasOwnProperty;function hashHas$1(o){var $=this.__data__;return nativeCreate$1?$[o]!==void 0:hasOwnProperty$b.call($,o)}var _hashHas=hashHas$1,nativeCreate=_nativeCreate,HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet$1(o,$){var _e=this.__data__;return this.size+=this.has(o)?0:1,_e[o]=nativeCreate&&$===void 0?HASH_UNDEFINED$1:$,this}var _hashSet=hashSet$1,hashClear=_hashClear,hashDelete=_hashDelete,hashGet=_hashGet,hashHas=_hashHas,hashSet=_hashSet;function Hash$1(o){var $=-1,_e=o==null?0:o.length;for(this.clear();++$<_e;){var et=o[$];this.set(et[0],et[1])}}Hash$1.prototype.clear=hashClear;Hash$1.prototype.delete=hashDelete;Hash$1.prototype.get=hashGet;Hash$1.prototype.has=hashHas;Hash$1.prototype.set=hashSet;var _Hash=Hash$1;function listCacheClear$1(){this.__data__=[],this.size=0}var _listCacheClear=listCacheClear$1;function eq$5(o,$){return o===$||o!==o&&$!==$}var eq_1=eq$5,eq$4=eq_1;function assocIndexOf$4(o,$){for(var _e=o.length;_e--;)if(eq$4(o[_e][0],$))return _e;return-1}var _assocIndexOf=assocIndexOf$4,assocIndexOf$3=_assocIndexOf,arrayProto=Array.prototype,splice$2=arrayProto.splice;function listCacheDelete$1(o){var $=this.__data__,_e=assocIndexOf$3($,o);if(_e<0)return!1;var et=$.length-1;return _e==et?$.pop():splice$2.call($,_e,1),--this.size,!0}var _listCacheDelete=listCacheDelete$1,assocIndexOf$2=_assocIndexOf;function listCacheGet$1(o){var $=this.__data__,_e=assocIndexOf$2($,o);return _e<0?void 0:$[_e][1]}var _listCacheGet=listCacheGet$1,assocIndexOf$1=_assocIndexOf;function listCacheHas$1(o){return assocIndexOf$1(this.__data__,o)>-1}var _listCacheHas=listCacheHas$1,assocIndexOf=_assocIndexOf;function listCacheSet$1(o,$){var _e=this.__data__,et=assocIndexOf(_e,o);return et<0?(++this.size,_e.push([o,$])):_e[et][1]=$,this}var _listCacheSet=listCacheSet$1,listCacheClear=_listCacheClear,listCacheDelete=_listCacheDelete,listCacheGet=_listCacheGet,listCacheHas=_listCacheHas,listCacheSet=_listCacheSet;function ListCache$4(o){var $=-1,_e=o==null?0:o.length;for(this.clear();++$<_e;){var et=o[$];this.set(et[0],et[1])}}ListCache$4.prototype.clear=listCacheClear;ListCache$4.prototype.delete=listCacheDelete;ListCache$4.prototype.get=listCacheGet;ListCache$4.prototype.has=listCacheHas;ListCache$4.prototype.set=listCacheSet;var _ListCache=ListCache$4,getNative$5=_getNative,root$9=_root,Map$5=getNative$5(root$9,"Map"),_Map=Map$5,Hash=_Hash,ListCache$3=_ListCache,Map$4=_Map;function mapCacheClear$1(){this.size=0,this.__data__={hash:new Hash,map:new(Map$4||ListCache$3),string:new Hash}}var _mapCacheClear=mapCacheClear$1;function isKeyable$1(o){var $=typeof o;return $=="string"||$=="number"||$=="symbol"||$=="boolean"?o!=="__proto__":o===null}var _isKeyable=isKeyable$1,isKeyable=_isKeyable;function getMapData$4(o,$){var _e=o.__data__;return isKeyable($)?_e[typeof $=="string"?"string":"hash"]:_e.map}var _getMapData=getMapData$4,getMapData$3=_getMapData;function mapCacheDelete$1(o){var $=getMapData$3(this,o).delete(o);return this.size-=$?1:0,$}var _mapCacheDelete=mapCacheDelete$1,getMapData$2=_getMapData;function mapCacheGet$1(o){return getMapData$2(this,o).get(o)}var _mapCacheGet=mapCacheGet$1,getMapData$1=_getMapData;function mapCacheHas$1(o){return getMapData$1(this,o).has(o)}var _mapCacheHas=mapCacheHas$1,getMapData=_getMapData;function mapCacheSet$1(o,$){var _e=getMapData(this,o),et=_e.size;return _e.set(o,$),this.size+=_e.size==et?0:1,this}var _mapCacheSet=mapCacheSet$1,mapCacheClear=_mapCacheClear,mapCacheDelete=_mapCacheDelete,mapCacheGet=_mapCacheGet,mapCacheHas=_mapCacheHas,mapCacheSet=_mapCacheSet;function MapCache$3(o){var $=-1,_e=o==null?0:o.length;for(this.clear();++$<_e;){var et=o[$];this.set(et[0],et[1])}}MapCache$3.prototype.clear=mapCacheClear;MapCache$3.prototype.delete=mapCacheDelete;MapCache$3.prototype.get=mapCacheGet;MapCache$3.prototype.has=mapCacheHas;MapCache$3.prototype.set=mapCacheSet;var _MapCache=MapCache$3,MapCache$2=_MapCache,FUNC_ERROR_TEXT$2="Expected a function";function memoize$3(o,$){if(typeof o!="function"||$!=null&&typeof $!="function")throw new TypeError(FUNC_ERROR_TEXT$2);var _e=function(){var et=arguments,tt=$?$.apply(this,et):et[0],rt=_e.cache;if(rt.has(tt))return rt.get(tt);var at=o.apply(this,et);return _e.cache=rt.set(tt,at)||rt,at};return _e.cache=new(memoize$3.Cache||MapCache$2),_e}memoize$3.Cache=MapCache$2;var memoize_1=memoize$3,memoize$2=memoize_1,MAX_MEMOIZE_SIZE=500;function memoizeCapped$1(o){var $=memoize$2(o,function(et){return _e.size===MAX_MEMOIZE_SIZE&&_e.clear(),et}),_e=$.cache;return $}var _memoizeCapped=memoizeCapped$1,memoizeCapped=_memoizeCapped,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath$2=memoizeCapped(function(o){var $=[];return o.charCodeAt(0)===46&&$.push(""),o.replace(rePropName,function(_e,et,tt,rt){$.push(tt?rt.replace(reEscapeChar,"$1"):et||_e)}),$}),_stringToPath=stringToPath$2;function arrayMap$3(o,$){for(var _e=-1,et=o==null?0:o.length,tt=Array(et);++_e-1&&o%1==0&&o<$}var _isIndex=isIndex$4,MAX_SAFE_INTEGER$1=9007199254740991;function isLength$3(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=MAX_SAFE_INTEGER$1}var isLength_1=isLength$3,isSymbol$3=isSymbol_1,INFINITY$2=1/0;function toKey$7(o){if(typeof o=="string"||isSymbol$3(o))return o;var $=o+"";return $=="0"&&1/o==-INFINITY$2?"-0":$}var _toKey=toKey$7,castPath$3=_castPath,isArguments$5=isArguments_1,isArray$e=isArray_1,isIndex$3=_isIndex,isLength$2=isLength_1,toKey$6=_toKey;function hasPath$2(o,$,_e){$=castPath$3($,o);for(var et=-1,tt=$.length,rt=!1;++et1?arguments[1]:void 0,at=rt!==void 0,nt=0,it=getIterFn$1(_e),ot,st,lt,ct;if(at&&(rt=ctx$3(rt,tt>2?arguments[2]:void 0,2)),it!=null&&!(et==Array&&isArrayIter$1(it)))for(ct=it.call(_e),st=new et;!(lt=ct.next()).done;nt++)createProperty(st,nt,at?call$2(ct,rt,[lt.value,nt],!0):lt.value);else for(ot=toLength$1(_e.length),st=new et(ot);ot>nt;nt++)createProperty(st,nt,at?rt(_e[nt],nt):_e[nt]);return st.length=nt,st}});var from=_coreExports.Array.from;(function(o){o.exports={default:from,__esModule:!0}})(from$1);var _from=fromExports,_from2=_interopRequireDefault$e(_from);function _interopRequireDefault$e(o){return o&&o.__esModule?o:{default:o}}var _default$7=function(o){if(Array.isArray(o)){for(var $=0,_e=Array(o.length);$"u")throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var ReactNoopUpdateQueue=new React$i.Component().updater,createReactClass=factory(React$i.Component,React$i.isValidElement,ReactNoopUpdateQueue),es$2={},util$a={};Object.defineProperty(util$a,"__esModule",{value:!0});var _extends$1R=Object.assign||function(o){for(var $=1;$=rt)return it;switch(it){case"%s":return String($[et++]);case"%d":return Number($[et++]);case"%j":try{return JSON.stringify($[et++])}catch(ot){return"[Circular]"}break;default:return it}}),nt=$[et];et"u"?"undefined":_typeof$Y(et))==="object"&&_typeof$Y(o[_e])==="object"?o[_e]=_extends$1R({},o[_e],et):o[_e]=et}}return o}var validator={},string$2={},rule={},required$2={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$a,_e=et($);function et(rt){if(rt&&rt.__esModule)return rt;var at={};if(rt!=null)for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(at[nt]=rt[nt]);return at.default=rt,at}function tt(rt,at,nt,it,ot,st){rt.required&&(!nt.hasOwnProperty(rt.field)||_e.isEmptyValue(at,st||rt.type))&&it.push(_e.format(ot.messages.required,rt.fullField))}o.default=tt})(required$2);var whitespace={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$a,_e=et($);function et(rt){if(rt&&rt.__esModule)return rt;var at={};if(rt!=null)for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(at[nt]=rt[nt]);return at.default=rt,at}function tt(rt,at,nt,it,ot){(/^\s+$/.test(at)||at==="")&&it.push(_e.format(ot.messages.whitespace,rt.fullField))}o.default=tt})(whitespace);var type$3={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(lt){return typeof lt}:function(lt){return lt&&typeof Symbol=="function"&<.constructor===Symbol&<!==Symbol.prototype?"symbol":typeof lt},_e=util$a,et=nt(_e),tt=required$2,rt=at(tt);function at(lt){return lt&<.__esModule?lt:{default:lt}}function nt(lt){if(lt&<.__esModule)return lt;var ct={};if(lt!=null)for(var ut in lt)Object.prototype.hasOwnProperty.call(lt,ut)&&(ct[ut]=lt[ut]);return ct.default=lt,ct}var it={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},ot={integer:function(ct){return ot.number(ct)&&parseInt(ct,10)===ct},float:function(ct){return ot.number(ct)&&!ot.integer(ct)},array:function(ct){return Array.isArray(ct)},regexp:function(ct){if(ct instanceof RegExp)return!0;try{return!!new RegExp(ct)}catch(ut){return!1}},date:function(ct){return typeof ct.getTime=="function"&&typeof ct.getMonth=="function"&&typeof ct.getYear=="function"},number:function(ct){return isNaN(ct)?!1:typeof ct=="number"},object:function(ct){return(typeof ct>"u"?"undefined":$(ct))==="object"&&!ot.array(ct)},method:function(ct){return typeof ct=="function"},email:function(ct){return typeof ct=="string"&&!!ct.match(it.email)&&ct.length<255},url:function(ct){return typeof ct=="string"&&!!ct.match(it.url)},hex:function(ct){return typeof ct=="string"&&!!ct.match(it.hex)}};function st(lt,ct,ut,ft,At){if(lt.required&&ct===void 0){(0,rt.default)(lt,ct,ut,ft,At);return}var vt=["integer","float","array","regexp","object","method","email","number","date","url","hex"],ht=lt.type;vt.indexOf(ht)>-1?ot[ht](ct)||ft.push(et.format(At.messages.types[ht],lt.fullField,lt.type)):ht&&(typeof ct>"u"?"undefined":$(ct))!==lt.type&&ft.push(et.format(At.messages.types[ht],lt.fullField,lt.type))}o.default=st})(type$3);var range$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$a,_e=et($);function et(rt){if(rt&&rt.__esModule)return rt;var at={};if(rt!=null)for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(at[nt]=rt[nt]);return at.default=rt,at}function tt(rt,at,nt,it,ot){var st=typeof rt.len=="number",lt=typeof rt.min=="number",ct=typeof rt.max=="number",ut=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ft=at,At=null,vt=typeof at=="number",ht=typeof at=="string",bt=Array.isArray(at);if(vt?At="number":ht?At="string":bt&&(At="array"),!At)return!1;bt&&(ft=at.length),ht&&(ft=at.replace(ut,"_").length),st?ft!==rt.len&&it.push(_e.format(ot.messages[At].len,rt.fullField,rt.len)):lt&&!ct&&ftrt.max?it.push(_e.format(ot.messages[At].max,rt.fullField,rt.max)):lt&&ct&&(ftrt.max)&&it.push(_e.format(ot.messages[At].range,rt.fullField,rt.min,rt.max))}o.default=tt})(range$1);var _enum$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$a,_e=et($);function et(at){if(at&&at.__esModule)return at;var nt={};if(at!=null)for(var it in at)Object.prototype.hasOwnProperty.call(at,it)&&(nt[it]=at[it]);return nt.default=at,nt}var tt="enum";function rt(at,nt,it,ot,st){at[tt]=Array.isArray(at[tt])?at[tt]:[],at[tt].indexOf(nt)===-1&&ot.push(_e.format(st.messages[tt],at.fullField,at[tt].join(", ")))}o.default=rt})(_enum$1);var pattern$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$a,_e=et($);function et(rt){if(rt&&rt.__esModule)return rt;var at={};if(rt!=null)for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(at[nt]=rt[nt]);return at.default=rt,at}function tt(rt,at,nt,it,ot){if(rt.pattern){if(rt.pattern instanceof RegExp)rt.pattern.lastIndex=0,rt.pattern.test(at)||it.push(_e.format(ot.messages.pattern.mismatch,rt.fullField,at,rt.pattern));else if(typeof rt.pattern=="string"){var st=new RegExp(rt.pattern);st.test(at)||it.push(_e.format(ot.messages.pattern.mismatch,rt.fullField,at,rt.pattern))}}}o.default=tt})(pattern$1);(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=required$2,_e=ut($),et=whitespace,tt=ut(et),rt=type$3,at=ut(rt),nt=range$1,it=ut(nt),ot=_enum$1,st=ut(ot),lt=pattern$1,ct=ut(lt);function ut(ft){return ft&&ft.__esModule?ft:{default:ft}}o.default={required:_e.default,whitespace:tt.default,type:at.default,range:it.default,enum:st.default,pattern:ct.default}})(rule);(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt,"string")&&!at.required)return it();_e.default.required(at,nt,ot,lt,st,"string"),(0,et.isEmptyValue)(nt,"string")||(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st),_e.default.pattern(at,nt,ot,lt,st),at.whitespace===!0&&_e.default.whitespace(at,nt,ot,lt,st))}it(lt)}o.default=rt})(string$2);var method={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&_e.default.type(at,nt,ot,lt,st)}it(lt)}o.default=rt})(method);var number$3={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if(nt===""&&(nt=void 0),(0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st))}it(lt)}o.default=rt})(number$3);var boolean={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$a,_e=rule,et=tt(_e);function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,$.isEmptyValue)(nt)&&!at.required)return it();et.default.required(at,nt,ot,lt,st),nt!==void 0&&et.default.type(at,nt,ot,lt,st)}it(lt)}o.default=rt})(boolean);var regexp={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),(0,et.isEmptyValue)(nt)||_e.default.type(at,nt,ot,lt,st)}it(lt)}o.default=rt})(regexp);var integer$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st))}it(lt)}o.default=rt})(integer$1);var float={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st))}it(lt)}o.default=rt})(float);var array$5={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt,"array")&&!at.required)return it();_e.default.required(at,nt,ot,lt,st,"array"),(0,et.isEmptyValue)(nt,"array")||(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st))}it(lt)}o.default=rt})(array$5);var object$2={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&_e.default.type(at,nt,ot,lt,st)}it(lt)}o.default=rt})(object$2);var _enum={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(nt){return nt&&nt.__esModule?nt:{default:nt}}var rt="enum";function at(nt,it,ot,st,lt){var ct=[],ut=nt.required||!nt.required&&st.hasOwnProperty(nt.field);if(ut){if((0,et.isEmptyValue)(it)&&!nt.required)return ot();_e.default.required(nt,it,st,ct,lt),it&&_e.default[rt](nt,it,st,ct,lt)}ot(ct)}o.default=at})(_enum);var pattern={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt,"string")&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),(0,et.isEmptyValue)(nt,"string")||_e.default.pattern(at,nt,ot,lt,st)}it(lt)}o.default=rt})(pattern);var date$2={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();if(_e.default.required(at,nt,ot,lt,st),!(0,et.isEmptyValue)(nt)){var ut=void 0;typeof nt=="number"?ut=new Date(nt):ut=nt,_e.default.type(at,ut,ot,lt,st),ut&&_e.default.range(at,ut.getTime(),ot,lt,st)}}it(lt)}o.default=rt})(date$2);var required$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(at){return typeof at}:function(at){return at&&typeof Symbol=="function"&&at.constructor===Symbol&&at!==Symbol.prototype?"symbol":typeof at},_e=rule,et=tt(_e);function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=Array.isArray(nt)?"array":typeof nt>"u"?"undefined":$(nt);et.default.required(at,nt,ot,lt,st,ct),it(lt)}o.default=rt})(required$1);var type$2={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$a;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=at.type,ct=[],ut=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ut){if((0,et.isEmptyValue)(nt,lt)&&!at.required)return it();_e.default.required(at,nt,ot,ct,st,lt),(0,et.isEmptyValue)(nt,lt)||_e.default.type(at,nt,ot,ct,st)}it(ct)}o.default=rt})(type$2);(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=string$2,_e=Rt($),et=method,tt=Rt(et),rt=number$3,at=Rt(rt),nt=boolean,it=Rt(nt),ot=regexp,st=Rt(ot),lt=integer$1,ct=Rt(lt),ut=float,ft=Rt(ut),At=array$5,vt=Rt(At),ht=object$2,bt=Rt(ht),pt=_enum,dt=Rt(pt),_t=pattern,Ct=Rt(_t),gt=date$2,yt=Rt(gt),xt=required$1,Et=Rt(xt),It=type$2,Tt=Rt(It);function Rt(Ot){return Ot&&Ot.__esModule?Ot:{default:Ot}}o.default={string:_e.default,method:tt.default,number:at.default,boolean:it.default,regexp:st.default,integer:ct.default,float:ft.default,array:vt.default,object:bt.default,enum:dt.default,pattern:Ct.default,date:yt.default,url:Tt.default,hex:Tt.default,email:Tt.default,required:Et.default}})(validator);var messages={};Object.defineProperty(messages,"__esModule",{value:!0});messages.newMessages=newMessages;function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var $=JSON.parse(JSON.stringify(this));return $.clone=this.clone,$}}}messages.messages=newMessages();(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=Object.assign||function(ot){for(var st=1;st"u"?"undefined":_e(st))!=="object"||Array.isArray(st))throw new Error("Rules must be an object");this.rules={};var lt=void 0,ct=void 0;for(lt in st)st.hasOwnProperty(lt)&&(ct=st[lt],this.rules[lt]=Array.isArray(ct)?ct:[ct])},validate:function(st){var lt=this,ct=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ut=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},ft=st,At=ct,vt=ut;if(typeof At=="function"&&(vt=At,At={}),!this.rules||Object.keys(this.rules).length===0)return vt&&vt(),Promise.resolve();function ht(yt){var xt=void 0,Et=[],It={};function Tt(Rt){if(Array.isArray(Rt)){var Ot;Et=(Ot=Et).concat.apply(Ot,Rt)}else Et.push(Rt)}for(xt=0;xt0&&arguments[0]!==void 0?arguments[0]:[],Bt=Mt;if(Array.isArray(Bt)||(Bt=[Bt]),!At.suppressWarning&&Bt.length&&it.warning("async-validator:",Bt),Bt.length&&Et.message&&(Bt=[].concat(Et.message)),Bt=Bt.map((0,et.complementError)(Et)),At.first&&Bt.length)return gt[Et.field]=1,xt(Bt);if(!It)xt(Bt);else{if(Et.required&&!yt.value)return Et.message?Bt=[].concat(Et.message).map((0,et.complementError)(Et)):At.error?Bt=[At.error(Et,(0,et.format)(At.messages.required,Et.field))]:Bt=[],xt(Bt);var Lt={};if(Et.defaultField)for(var Vt in yt.value)yt.value.hasOwnProperty(Vt)&&(Lt[Vt]=Et.defaultField);Lt=$({},Lt,yt.rule.fields);for(var zt in Lt)if(Lt.hasOwnProperty(zt)){var Nt=Array.isArray(Lt[zt])?Lt[zt]:[Lt[zt]];Lt[zt]=Nt.map(Tt.bind(null,zt))}var Wt=new it(Lt);Wt.messages(At.messages),yt.rule.options&&(yt.rule.options.messages=At.messages,yt.rule.options.error=At.error),Wt.validate(yt.value,yt.rule.options||At,function(Jt){var nr=[];Bt&&Bt.length&&nr.push.apply(nr,Bt),Jt&&Jt.length&&nr.push.apply(nr,Jt),xt(nr.length?nr:null)})}}var Ot=void 0;Et.asyncValidator?Ot=Et.asyncValidator(Et,yt.value,Rt,yt.source,At):Et.validator&&(Ot=Et.validator(Et,yt.value,Rt,yt.source,At),Ot===!0?Rt():Ot===!1?Rt(Et.message||Et.field+" fails"):Ot instanceof Array?Rt(Ot):Ot instanceof Error&&Rt(Ot.message)),Ot&&Ot.then&&Ot.then(function(){return Rt()},function(Mt){return Rt(Mt)})},function(yt){ht(yt)})},getType:function(st){if(st.type===void 0&&st.pattern instanceof RegExp&&(st.type="pattern"),typeof st.validator!="function"&&st.type&&!rt.default.hasOwnProperty(st.type))throw new Error((0,et.format)("Unknown rule type %s",st.type));return st.type||"string"},getValidationMethod:function(st){if(typeof st.validator=="function")return st.validator;var lt=Object.keys(st),ct=lt.indexOf("message");return ct!==-1&<.splice(ct,1),lt.length===1&<[0]==="required"?rt.default.required:rt.default[this.getType(st)]||!1}},it.register=function(st,lt){if(typeof lt!="function")throw new Error("Cannot register a validator by type, validator is not a function");rt.default[st]=lt},it.warning=et.warning,it.messages=at.messages,o.default=it})(es$2);const AsyncValidator=getDefaultExportFromCjs(es$2);var castPath$2=_castPath,toKey$5=_toKey;function baseGet$3(o,$){$=castPath$2($,o);for(var _e=0,et=$.length;o!=null&&_e0&&arguments[0]!==void 0?arguments[0]:"",$=arguments[1],_e=arguments[2],et=arguments[3],tt=arguments[4];if(_e(o,$))tt(o,$);else if($!=null)if(Array.isArray($))$.forEach(function(rt,at){return treeTraverse(o+"["+at+"]",rt,_e,et,tt)});else{if(typeof $!="object")return;Object.keys($).forEach(function(rt){var at=$[rt];treeTraverse(""+o+(o?".":"")+rt,at,_e,et,tt)})}}function flattenFields(o,$,_e){var et={};return treeTraverse(void 0,o,$,_e,function(tt,rt){et[tt]=rt}),et}function normalizeValidateRules(o,$,_e){var et=o.map(function(tt){var rt=_default$bE({},tt,{trigger:tt.trigger||[]});return typeof rt.trigger=="string"&&(rt.trigger=[rt.trigger]),rt});return $&&et.push({trigger:_e?[].concat(_e):[],rules:$}),et}function getValidateTriggers(o){return o.filter(function($){return!!$.rules&&$.rules.length}).map(function($){return $.trigger}).reduce(function($,_e){return $.concat(_e)},[])}function getValueFromEvent(o){if(!o||!o.target)return o;var $=o.target;return $.type==="checkbox"?$.checked:$.value}function getErrorStrs(o){return o&&o.map(function($){return $&&$.message?$.message:$})}function getParams(o,$,_e){var et=o,tt=$,rt=_e;return _e===void 0&&(typeof et=="function"?(rt=et,tt={},et=void 0):Array.isArray(et)?typeof tt=="function"?(rt=tt,tt={}):tt=tt||{}:(rt=tt,tt=et||{},et=void 0)),{names:et,options:tt,callback:rt}}function isEmptyObject$2(o){return Object.keys(o).length===0}function hasRules(o){return o?o.some(function($){return $.rules&&$.rules.length}):!1}function startsWith(o,$){return o.lastIndexOf($,0)===0}function supportRef$2(o){var $=reactIsExports.isMemo(o)?o.type.type:o.type;return!(typeof $=="function"&&!($.prototype&&$.prototype.render)||typeof o=="function"&&!(o.prototype&&o.prototype.render))}function partOf(o,$){return $.indexOf(o)===0&&[".","["].indexOf($[o.length])!==-1}function internalFlattenFields(o){return flattenFields(o,function($,_e){return isFormField(_e)},"You must wrap field data with `createFormField`.")}var FieldsStore=function(){function o($){_default$c(this,o),_initialiseProps$4.call(this),this.fields=internalFlattenFields($),this.fieldsMeta={}}return _default$b(o,[{key:"updateFields",value:function(_e){this.fields=internalFlattenFields(_e)}},{key:"flattenRegisteredFields",value:function(_e){var et=this.getAllFieldsName();return flattenFields(_e,function(tt){return et.indexOf(tt)>=0},"You cannot set a form field before rendering a field associated with the value.")}},{key:"setFields",value:function(_e){var et=this,tt=this.fieldsMeta,rt=_default$bE({},this.fields,_e),at={};Object.keys(tt).forEach(function(nt){at[nt]=et.getValueFromFields(nt,rt)}),Object.keys(at).forEach(function(nt){var it=at[nt],ot=et.getFieldMeta(nt);if(ot&&ot.normalize){var st=ot.normalize(it,et.getValueFromFields(nt,et.fields),at);st!==it&&(rt[nt]=_default$bE({},rt[nt],{value:st}))}}),this.fields=rt}},{key:"resetFields",value:function(_e){var et=this.fields,tt=_e?this.getValidFieldsFullName(_e):this.getAllFieldsName();return tt.reduce(function(rt,at){var nt=et[at];return nt&&"value"in nt&&(rt[at]={}),rt},{})}},{key:"setFieldMeta",value:function(_e,et){this.fieldsMeta[_e]=et}},{key:"setFieldsAsDirty",value:function(){var _e=this;Object.keys(this.fields).forEach(function(et){var tt=_e.fields[et],rt=_e.fieldsMeta[et];tt&&rt&&hasRules(rt.validate)&&(_e.fields[et]=_default$bE({},tt,{dirty:!0}))})}},{key:"getFieldMeta",value:function(_e){return this.fieldsMeta[_e]=this.fieldsMeta[_e]||{},this.fieldsMeta[_e]}},{key:"getValueFromFields",value:function(_e,et){var tt=et[_e];if(tt&&"value"in tt)return tt.value;var rt=this.getFieldMeta(_e);return rt&&rt.initialValue}},{key:"getValidFieldsName",value:function(){var _e=this,et=this.fieldsMeta;return et?Object.keys(et).filter(function(tt){return!_e.getFieldMeta(tt).hidden}):[]}},{key:"getAllFieldsName",value:function(){var _e=this.fieldsMeta;return _e?Object.keys(_e):[]}},{key:"getValidFieldsFullName",value:function(_e){var et=Array.isArray(_e)?_e:[_e];return this.getValidFieldsName().filter(function(tt){return et.some(function(rt){return tt===rt||startsWith(tt,rt)&&[".","["].indexOf(tt[rt.length])>=0})})}},{key:"getFieldValuePropValue",value:function(_e){var et=_e.name,tt=_e.getValueProps,rt=_e.valuePropName,at=this.getField(et),nt="value"in at?at.value:_e.initialValue;return tt?tt(nt):_default$e({},rt,nt)}},{key:"getField",value:function(_e){return _default$bE({},this.fields[_e],{name:_e})}},{key:"getNotCollectedFields",value:function(){var _e=this,et=this.getValidFieldsName();return et.filter(function(tt){return!_e.fields[tt]}).map(function(tt){return{name:tt,dirty:!1,value:_e.getFieldMeta(tt).initialValue}}).reduce(function(tt,rt){return set_1(tt,rt.name,createFormField(rt))},{})}},{key:"getNestedAllFields",value:function(){var _e=this;return Object.keys(this.fields).reduce(function(et,tt){return set_1(et,tt,createFormField(_e.fields[tt]))},this.getNotCollectedFields())}},{key:"getFieldMember",value:function(_e,et){return this.getField(_e)[et]}},{key:"getNestedFields",value:function(_e,et){var tt=_e||this.getValidFieldsName();return tt.reduce(function(rt,at){return set_1(rt,at,et(at))},{})}},{key:"getNestedField",value:function(_e,et){var tt=this.getValidFieldsFullName(_e);if(tt.length===0||tt.length===1&&tt[0]===_e)return et(_e);var rt=tt[0][_e.length]==="[",at=rt?_e.length:_e.length+1;return tt.reduce(function(nt,it){return set_1(nt,it.slice(at),et(it))},rt?[]:{})}},{key:"isValidNestedFieldName",value:function(_e){var et=this.getAllFieldsName();return et.every(function(tt){return!partOf(tt,_e)&&!partOf(_e,tt)})}},{key:"clearField",value:function(_e){delete this.fields[_e],delete this.fieldsMeta[_e]}}]),o}(),_initialiseProps$4=function(){var $=this;this.setFieldsInitialValue=function(_e){var et=$.flattenRegisteredFields(_e),tt=$.fieldsMeta;Object.keys(et).forEach(function(rt){tt[rt]&&$.setFieldMeta(rt,_default$bE({},$.getFieldMeta(rt),{initialValue:et[rt]}))})},this.getAllValues=function(){var _e=$.fieldsMeta,et=$.fields;return Object.keys(_e).reduce(function(tt,rt){return set_1(tt,rt,$.getValueFromFields(rt,et))},{})},this.getFieldsValue=function(_e){return $.getNestedFields(_e,$.getFieldValue)},this.getFieldValue=function(_e){var et=$.fields;return $.getNestedField(_e,function(tt){return $.getValueFromFields(tt,et)})},this.getFieldsError=function(_e){return $.getNestedFields(_e,$.getFieldError)},this.getFieldError=function(_e){return $.getNestedField(_e,function(et){return getErrorStrs($.getFieldMember(et,"errors"))})},this.isFieldValidating=function(_e){return $.getFieldMember(_e,"validating")},this.isFieldsValidating=function(_e){var et=_e||$.getValidFieldsName();return et.some(function(tt){return $.isFieldValidating(tt)})},this.isFieldTouched=function(_e){return $.getFieldMember(_e,"touched")},this.isFieldsTouched=function(_e){var et=_e||$.getValidFieldsName();return et.some(function(tt){return $.isFieldTouched(tt)})}};function createFieldsStore(o){return new FieldsStore(o)}var FieldElemWrapper=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"componentDidMount",value:function(){var et=this.props,tt=et.name,rt=et.form;rt.domFields[tt]=!0,rt.recoverClearedField(tt)}},{key:"componentWillUnmount",value:function(){var et=this.props,tt=et.name,rt=et.form,at=rt.fieldsStore.getFieldMeta(tt);at.preserve||(rt.clearedFieldMetaCache[tt]={field:rt.fieldsStore.getField(tt),meta:at},rt.clearField(tt)),delete rt.domFields[tt]}},{key:"render",value:function(){return this.props.children}}]),$}(React$k.Component);FieldElemWrapper.propTypes={name:propTypesExports.string,form:propTypesExports.shape({domFields:propTypesExports.objectOf(propTypesExports.bool),recoverClearedField:propTypesExports.func,fieldsStore:propTypesExports.shape({getFieldMeta:propTypesExports.func,getField:propTypesExports.func}),clearedFieldMetaCache:propTypesExports.objectOf(propTypesExports.shape({field:propTypesExports.object,meta:propTypesExports.object})),clearField:propTypesExports.func}),children:propTypesExports.node};var DEFAULT_TRIGGER="onChange";function createBaseForm(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_e=o.validateMessages,et=o.onFieldsChange,tt=o.onValuesChange,rt=o.mapProps,at=rt===void 0?identity$c:rt,nt=o.mapPropsToFields,it=o.fieldNameProp,ot=o.fieldMetaProp,st=o.fieldDataProp,lt=o.formPropName,ct=lt===void 0?"form":lt,ut=o.name,ft=o.withRef;return function(vt){var ht=createReactClass({displayName:"Form",mixins:$,getInitialState:function(){var pt=this,dt=nt&&nt(this.props);return this.fieldsStore=createFieldsStore(dt||{}),this.instances={},this.cachedBind={},this.clearedFieldMetaCache={},this.renderFields={},this.domFields={},["getFieldsValue","getFieldValue","setFieldsInitialValue","getFieldsError","getFieldError","isFieldValidating","isFieldsValidating","isFieldsTouched","isFieldTouched"].forEach(function(_t){pt[_t]=function(){var Ct;return(Ct=pt.fieldsStore)[_t].apply(Ct,arguments)}}),{submitting:!1}},componentDidMount:function(){this.cleanUpUselessFields()},componentWillReceiveProps:function(pt){nt&&this.fieldsStore.updateFields(nt(pt))},componentDidUpdate:function(){this.cleanUpUselessFields()},onCollectCommon:function(pt,dt,_t){var Ct=this.fieldsStore.getFieldMeta(pt);if(Ct[dt])Ct[dt].apply(Ct,_default$7(_t));else if(Ct.originalProps&&Ct.originalProps[dt]){var gt;(gt=Ct.originalProps)[dt].apply(gt,_default$7(_t))}var yt=Ct.getValueFromEvent?Ct.getValueFromEvent.apply(Ct,_default$7(_t)):getValueFromEvent.apply(void 0,_default$7(_t));if(tt&&yt!==this.fieldsStore.getFieldValue(pt)){var xt=this.fieldsStore.getAllValues(),Et={};xt[pt]=yt,Object.keys(xt).forEach(function(Tt){return set_1(Et,Tt,xt[Tt])}),tt(_default$bE(_default$e({},ct,this.getForm()),this.props),set_1({},pt,yt),Et)}var It=this.fieldsStore.getField(pt);return{name:pt,field:_default$bE({},It,{value:yt,touched:!0}),fieldMeta:Ct}},onCollect:function(pt,dt){for(var _t=arguments.length,Ct=Array(_t>2?_t-2:0),gt=2;gt<_t;gt++)Ct[gt-2]=arguments[gt];var yt=this.onCollectCommon(pt,dt,Ct),xt=yt.name,Et=yt.field,It=yt.fieldMeta,Tt=It.validate;this.fieldsStore.setFieldsAsDirty();var Rt=_default$bE({},Et,{dirty:hasRules(Tt)});this.setFields(_default$e({},xt,Rt))},onCollectValidate:function(pt,dt){for(var _t=arguments.length,Ct=Array(_t>2?_t-2:0),gt=2;gt<_t;gt++)Ct[gt-2]=arguments[gt];var yt=this.onCollectCommon(pt,dt,Ct),xt=yt.field,Et=yt.fieldMeta,It=_default$bE({},xt,{dirty:!0});this.fieldsStore.setFieldsAsDirty(),this.validateFieldsInternal([It],{action:dt,options:{firstFields:!!Et.validateFirst}})},getCacheBind:function(pt,dt,_t){this.cachedBind[pt]||(this.cachedBind[pt]={});var Ct=this.cachedBind[pt];return(!Ct[dt]||Ct[dt].oriFn!==_t)&&(Ct[dt]={fn:_t.bind(this,pt,dt),oriFn:_t}),Ct[dt].fn},getFieldDecorator:function(pt,dt){var _t=this,Ct=this.getFieldProps(pt,dt);return function(gt){_t.renderFields[pt]=!0;var yt=_t.fieldsStore.getFieldMeta(pt),xt=gt.props;yt.originalProps=xt,yt.ref=gt.ref;var Et=React$k.cloneElement(gt,_default$bE({},Ct,_t.fieldsStore.getFieldValuePropValue(yt)));return supportRef$2(gt)?Et:React$k.createElement(FieldElemWrapper,{name:pt,form:_t},Et)}},getFieldProps:function(pt){var dt=this,_t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!pt)throw new Error("Must call `getFieldProps` with valid name string!");delete this.clearedFieldMetaCache[pt];var Ct=_default$bE({name:pt,trigger:DEFAULT_TRIGGER,valuePropName:"value",validate:[]},_t),gt=Ct.rules,yt=Ct.trigger,xt=Ct.validateTrigger,Et=xt===void 0?yt:xt,It=Ct.validate,Tt=this.fieldsStore.getFieldMeta(pt);"initialValue"in Ct&&(Tt.initialValue=Ct.initialValue);var Rt=_default$bE({},this.fieldsStore.getFieldValuePropValue(Ct),{ref:this.getCacheBind(pt,pt+"__ref",this.saveRef)});it&&(Rt[it]=ut?ut+"_"+pt:pt);var Ot=normalizeValidateRules(It,gt,Et),Mt=getValidateTriggers(Ot);Mt.forEach(function(Lt){Rt[Lt]||(Rt[Lt]=dt.getCacheBind(pt,Lt,dt.onCollectValidate))}),yt&&Mt.indexOf(yt)===-1&&(Rt[yt]=this.getCacheBind(pt,yt,this.onCollect));var Bt=_default$bE({},Tt,Ct,{validate:Ot});return this.fieldsStore.setFieldMeta(pt,Bt),ot&&(Rt[ot]=Bt),st&&(Rt[st]=this.fieldsStore.getField(pt)),this.renderFields[pt]=!0,Rt},getFieldInstance:function(pt){return this.instances[pt]},getRules:function(pt,dt){var _t=pt.validate.filter(function(Ct){return!dt||Ct.trigger.indexOf(dt)>=0}).map(function(Ct){return Ct.rules});return flattenArray(_t)},setFields:function(pt,dt){var _t=this,Ct=this.fieldsStore.flattenRegisteredFields(pt);if(this.fieldsStore.setFields(Ct),et){var gt=Object.keys(Ct).reduce(function(yt,xt){return set_1(yt,xt,_t.fieldsStore.getField(xt))},{});et(_default$bE(_default$e({},ct,this.getForm()),this.props),gt,this.fieldsStore.getNestedAllFields())}this.forceUpdate(dt)},setFieldsValue:function(pt,dt){var _t=this.fieldsStore.fieldsMeta,Ct=this.fieldsStore.flattenRegisteredFields(pt),gt=Object.keys(Ct).reduce(function(xt,Et){var It=_t[Et];if(It){var Tt=Ct[Et];xt[Et]={value:Tt}}return xt},{});if(this.setFields(gt,dt),tt){var yt=this.fieldsStore.getAllValues();tt(_default$bE(_default$e({},ct,this.getForm()),this.props),pt,yt)}},saveRef:function(pt,dt,_t){if(!_t){var Ct=this.fieldsStore.getFieldMeta(pt);Ct.preserve||(this.clearedFieldMetaCache[pt]={field:this.fieldsStore.getField(pt),meta:Ct},this.clearField(pt)),delete this.domFields[pt];return}this.domFields[pt]=!0,this.recoverClearedField(pt);var gt=this.fieldsStore.getFieldMeta(pt);if(gt){var yt=gt.ref;if(yt){if(typeof yt=="string")throw new Error("can not set ref string for "+pt);typeof yt=="function"?yt(_t):Object.prototype.hasOwnProperty.call(yt,"current")&&(yt.current=_t)}}this.instances[pt]=_t},cleanUpUselessFields:function(){var pt=this,dt=this.fieldsStore.getAllFieldsName(),_t=dt.filter(function(Ct){var gt=pt.fieldsStore.getFieldMeta(Ct);return!pt.renderFields[Ct]&&!pt.domFields[Ct]&&!gt.preserve});_t.length&&_t.forEach(this.clearField),this.renderFields={}},clearField:function(pt){this.fieldsStore.clearField(pt),delete this.instances[pt],delete this.cachedBind[pt]},resetFields:function(pt){var dt=this,_t=this.fieldsStore.resetFields(pt);if(Object.keys(_t).length>0&&this.setFields(_t),pt){var Ct=Array.isArray(pt)?pt:[pt];Ct.forEach(function(gt){return delete dt.clearedFieldMetaCache[gt]})}else this.clearedFieldMetaCache={}},recoverClearedField:function(pt){this.clearedFieldMetaCache[pt]&&(this.fieldsStore.setFields(_default$e({},pt,this.clearedFieldMetaCache[pt].field)),this.fieldsStore.setFieldMeta(pt,this.clearedFieldMetaCache[pt].meta),delete this.clearedFieldMetaCache[pt])},validateFieldsInternal:function(pt,dt,_t){var Ct=this,gt=dt.fieldNames,yt=dt.action,xt=dt.options,Et=xt===void 0?{}:xt,It={},Tt={},Rt={},Ot={};if(pt.forEach(function(Bt){var Lt=Bt.name;if(Et.force!==!0&&Bt.dirty===!1){Bt.errors&&set_1(Ot,Lt,{errors:Bt.errors});return}var Vt=Ct.fieldsStore.getFieldMeta(Lt),zt=_default$bE({},Bt);zt.errors=void 0,zt.validating=!0,zt.dirty=!0,It[Lt]=Ct.getRules(Vt,yt),Tt[Lt]=zt.value,Rt[Lt]=zt}),this.setFields(Rt),Object.keys(Tt).forEach(function(Bt){Tt[Bt]=Ct.fieldsStore.getFieldValue(Bt)}),_t&&isEmptyObject$2(Rt)){_t(isEmptyObject$2(Ot)?null:Ot,this.fieldsStore.getFieldsValue(gt));return}var Mt=new AsyncValidator(It);_e&&Mt.messages(_e),Mt.validate(Tt,Et,function(Bt){var Lt=_default$bE({},Ot);Bt&&Bt.length&&Bt.forEach(function(Nt){var Wt=Nt.field,Jt=Wt;Object.keys(It).some(function(Xt){var tr=It[Xt]||[];if(Xt===Wt)return Jt=Xt,!0;if(tr.every(function(Gt){var Ft=Gt.type;return Ft!=="array"})||Wt.indexOf(Xt+".")!==0)return!1;var Zt=Wt.slice(Xt.length+1);return/^\d+$/.test(Zt)?(Jt=Xt,!0):!1});var nr=get_1$1(Lt,Jt);(typeof nr!="object"||Array.isArray(nr))&&set_1(Lt,Jt,{errors:[]});var er=get_1$1(Lt,Jt.concat(".errors"));er.push(Nt)});var Vt=[],zt={};Object.keys(It).forEach(function(Nt){var Wt=get_1$1(Lt,Nt),Jt=Ct.fieldsStore.getField(Nt);eq_1(Jt.value,Tt[Nt])?(Jt.errors=Wt&&Wt.errors,Jt.value=Tt[Nt],Jt.validating=!1,Jt.dirty=!1,zt[Nt]=Jt):Vt.push({name:Nt})}),Ct.setFields(zt),_t&&(Vt.length&&Vt.forEach(function(Nt){var Wt=Nt.name,Jt=[{message:Wt+" need to revalidate",field:Wt}];set_1(Lt,Wt,{expired:!0,errors:Jt})}),_t(isEmptyObject$2(Lt)?null:Lt,Ct.fieldsStore.getFieldsValue(gt)))})},validateFields:function(pt,dt,_t){var Ct=this,gt=new Promise(function(yt,xt){var Et=getParams(pt,dt,_t),It=Et.names,Tt=Et.options,Rt=getParams(pt,dt,_t),Ot=Rt.callback;if(!Ot||typeof Ot=="function"){var Mt=Ot;Ot=function(zt,Nt){Mt&&Mt(zt,Nt),zt?xt({errors:zt,values:Nt}):yt(Nt)}}var Bt=It?Ct.fieldsStore.getValidFieldsFullName(It):Ct.fieldsStore.getValidFieldsName(),Lt=Bt.filter(function(Vt){var zt=Ct.fieldsStore.getFieldMeta(Vt);return hasRules(zt.validate)}).map(function(Vt){var zt=Ct.fieldsStore.getField(Vt);return zt.value=Ct.fieldsStore.getFieldValue(Vt),zt});if(!Lt.length){Ot(null,Ct.fieldsStore.getFieldsValue(Bt));return}"firstFields"in Tt||(Tt.firstFields=Bt.filter(function(Vt){var zt=Ct.fieldsStore.getFieldMeta(Vt);return!!zt.validateFirst})),Ct.validateFieldsInternal(Lt,{fieldNames:Bt,options:Tt},Ot)});return gt.catch(function(yt){return yt}),gt},isSubmitting:function(){return this.state.submitting},submit:function(pt){var dt=this,_t=function(){dt.setState({submitting:!1})};this.setState({submitting:!0}),pt(_t)},render:function(){var pt=this.props,dt=pt.wrappedComponentRef,_t=_default$d(pt,["wrappedComponentRef"]),Ct=_default$e({},ct,this.getForm());ft?Ct.ref="wrappedComponent":dt&&(Ct.ref=dt);var gt=at.call(this,_default$bE({},Ct,_t));return React$k.createElement(vt,gt)}});return argumentContainer(unsafeLifecyclesPolyfill(ht),vt)}}var mixin$1={getForm:function(){return{getFieldsValue:this.fieldsStore.getFieldsValue,getFieldValue:this.fieldsStore.getFieldValue,getFieldInstance:this.getFieldInstance,setFieldsValue:this.setFieldsValue,setFields:this.setFields,setFieldsInitialValue:this.fieldsStore.setFieldsInitialValue,getFieldDecorator:this.getFieldDecorator,getFieldProps:this.getFieldProps,getFieldsError:this.fieldsStore.getFieldsError,getFieldError:this.fieldsStore.getFieldError,isFieldValidating:this.fieldsStore.isFieldValidating,isFieldsValidating:this.fieldsStore.isFieldsValidating,isFieldsTouched:this.fieldsStore.isFieldsTouched,isFieldTouched:this.fieldsStore.isFieldTouched,isSubmitting:this.isSubmitting,submit:this.submit,validateFields:this.validateFields,resetFields:this.resetFields}}};function computedStyle(o,$){var _e=window.getComputedStyle,et=_e?_e(o):o.currentStyle;if(et)return et[$.replace(/-(\w)/gi,function(tt,rt){return rt.toUpperCase()})]}function getScrollableContainer(o){for(var $=o,_e=void 0;(_e=$.nodeName.toLowerCase())!=="body";){var et=computedStyle($,"overflowY");if($!==o&&(et==="auto"||et==="scroll")&&$.scrollHeight>$.clientHeight)return $;$=$.parentNode}return _e==="body"?$.ownerDocument:$}var mixin={getForm:function(){return _default$bE({},mixin$1.getForm.call(this),{validateFieldsAndScroll:this.validateFieldsAndScroll})},validateFieldsAndScroll:function($,_e,et){var tt=this,rt=getParams($,_e,et),at=rt.names,nt=rt.callback,it=rt.options,ot=function(lt,ct){if(lt){var ut=tt.fieldsStore.getValidFieldsName(),ft=void 0,At=void 0;if(ut.forEach(function(ht){if(has_1(lt,ht)){var bt=tt.getFieldInstance(ht);if(bt){var pt=ReactDOM.findDOMNode(bt),dt=pt.getBoundingClientRect().top;pt.type!=="hidden"&&(At===void 0||At>dt)&&(At=dt,ft=pt)}}}),ft){var vt=it.container||getScrollableContainer(ft);scrollIntoView(ft,vt,_default$bE({onlyScrollIfNeeded:!0},it.scroll))}}typeof nt=="function"&&nt(lt,ct)};return this.validateFields(at,it,ot)}};function createDOMForm(o){return createBaseForm(_default$bE({},o),[mixin])}var RowContext$1=createReactContext({});const RowContext$2=RowContext$1;var QueryHandler_1,hasRequiredQueryHandler;function requireQueryHandler(){if(hasRequiredQueryHandler)return QueryHandler_1;hasRequiredQueryHandler=1;function o($){this.options=$,!$.deferSetup&&this.setup()}return o.prototype={constructor:o,setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function($){return this.options===$||this.options.match===$}},QueryHandler_1=o,QueryHandler_1}var Util,hasRequiredUtil$2;function requireUtil$2(){if(hasRequiredUtil$2)return Util;hasRequiredUtil$2=1;function o(et,tt){var rt=0,at=et.length,nt;for(rt;rt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$10(o){return _getPrototypeOf$10=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$10(o)}var __rest$v=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0?{marginLeft:ht[0]/-2,marginRight:ht[0]/-2}:{}),ht[1]>0?{marginTop:ht[1]/-2,marginBottom:ht[1]/-2}:{}),ut),dt=_extends$1P({},At);return delete dt.gutter,reactExports.createElement(RowContext$2.Provider,{value:{gutter:ht}},reactExports.createElement("div",_extends$1P({},dt,{className:bt,style:pt}),ft))},et}return _createClass$1E(_e,[{key:"componentDidMount",value:function(){var tt=this;this.token=ResponsiveObserve.subscribe(function(rt){var at=tt.props.gutter;(_typeof$X(at)==="object"||Array.isArray(at)&&(_typeof$X(at[0])==="object"||_typeof$X(at[1])==="object"))&&tt.setState({screens:rt})})}},{key:"componentWillUnmount",value:function(){ResponsiveObserve.unsubscribe(this.token)}},{key:"getGutter",value:function(){var tt=[0,0],rt=this.props.gutter,at=this.state.screens,nt=Array.isArray(rt)?rt:[rt,0];return nt.forEach(function(it,ot){if(_typeof$X(it)==="object")for(var st=0;st"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$$(o){return _getPrototypeOf$$=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$$(o)}var __rest$u=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0?{paddingLeft:Ct[0]/2,paddingRight:Ct[0]/2}:{}),Ct[1]>0?{paddingTop:Ct[1]/2,paddingBottom:Ct[1]/2}:{}),gt)),reactExports.createElement("div",_extends$1O({},ht,{style:gt,className:dt}),vt)})},et}return _createClass$1D(_e,[{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderCol)}}]),_e}(reactExports.Component);Col.propTypes={span:propTypesExports.number,order:propTypesExports.number,offset:propTypesExports.number,push:propTypesExports.number,pull:propTypesExports.number,className:propTypesExports.string,children:propTypesExports.node,xs:objectOrNumber,sm:objectOrNumber,md:objectOrNumber,lg:objectOrNumber,xl:objectOrNumber,xxl:objectOrNumber};var FIELD_META_PROP$1="data-__meta",FIELD_DATA_PROP$1="data-__field",FormContext=createReactContext({labelAlign:"right",vertical:!1});const FormContext$1=FormContext;function _typeof$V(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$V=function(_e){return typeof _e}:_typeof$V=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$V(o)}function _extends$1N(){return _extends$1N=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$_(o){return _getPrototypeOf$_=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$_(o)}function _toConsumableArray$b(o){return _arrayWithoutHoles$7(o)||_iterableToArray$7(o)||_unsupportedIterableToArray$8(o)||_nonIterableSpread$7()}function _nonIterableSpread$7(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$8(o,$){if(o){if(typeof o=="string")return _arrayLikeToArray$8(o,$);var _e=Object.prototype.toString.call(o).slice(8,-1);if(_e==="Object"&&o.constructor&&(_e=o.constructor.name),_e==="Map"||_e==="Set")return Array.from(o);if(_e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_e))return _arrayLikeToArray$8(o,$)}}function _iterableToArray$7(o){if(typeof Symbol<"u"&&Symbol.iterator in Object(o))return Array.from(o)}function _arrayWithoutHoles$7(o){if(Array.isArray(o))return _arrayLikeToArray$8(o)}function _arrayLikeToArray$8(o,$){($==null||$>o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}var __rest$t=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0);it++){var ot=nt[it];ot.type&&(ot.type===_e||ot.type.displayName==="FormItem")||ot.props&&(FIELD_META_PROP$1 in ot.props?at.push(ot):ot.props.children&&(at=at.concat(this.getControls(ot.props.children,rt))))}return at}},{key:"getOnlyControl",value:function(){var tt=this.getControls(this.props.children,!1)[0];return tt!==void 0?tt:null}},{key:"getChildProp",value:function(tt){var rt=this.getOnlyControl();return rt&&rt.props&&rt.props[tt]}},{key:"getId",value:function(){return this.getChildProp("id")}},{key:"getMeta",value:function(){return this.getChildProp(FIELD_META_PROP$1)}},{key:"getField",value:function(){return this.getChildProp(FIELD_DATA_PROP$1)}},{key:"getValidateStatus",value:function(){var tt=this.getOnlyControl();if(!tt)return"";var rt=this.getField();if(rt.validating)return"validating";if(rt.errors)return"error";var at="value"in rt?rt.value:this.getMeta().initialValue;return at!=null&&at!==""?"success":""}},{key:"isRequired",value:function(){var tt=this.props.required;if(tt!==void 0)return tt;if(this.getOnlyControl()){var rt=this.getMeta()||{},at=rt.validate||[];return at.filter(function(nt){return!!nt.rules}).some(function(nt){return nt.rules.some(function(it){return it.required})})}return!1}},{key:"renderHelp",value:function(tt){var rt=this.getHelpMessage(),at=rt?reactExports.createElement("div",{className:"".concat(tt,"-explain"),key:"help"},rt):null;return at&&(this.helpShow=!!at),reactExports.createElement(Animate$1,{transitionName:"show-help",component:"",transitionAppear:!0,key:"help",onEnd:this.onHelpAnimEnd},at)}},{key:"renderExtra",value:function(tt){var rt=this.props.extra;return rt?reactExports.createElement("div",{className:"".concat(tt,"-extra")},rt):null}},{key:"renderValidateWrapper",value:function(tt,rt,at,nt){var it=this.props,ot=this.getOnlyControl,st=it.validateStatus===void 0&&ot?this.getValidateStatus():it.validateStatus,lt="".concat(tt,"-item-control");st&&(lt=classNames("".concat(tt,"-item-control"),{"has-feedback":st&&it.hasFeedback,"has-success":st==="success","has-warning":st==="warning","has-error":st==="error","is-validating":st==="validating"}));var ct="";switch(st){case"success":ct="check-circle";break;case"warning":ct="exclamation-circle";break;case"error":ct="close-circle";break;case"validating":ct="loading";break;default:ct="";break}var ut=it.hasFeedback&&ct?reactExports.createElement("span",{className:"".concat(tt,"-item-children-icon")},reactExports.createElement(Icon$1,{type:ct,theme:ct==="loading"?"outlined":"filled"})):null;return reactExports.createElement("div",{className:lt},reactExports.createElement("span",{className:"".concat(tt,"-item-children")},rt,ut),at,nt)}},{key:"renderWrapper",value:function(tt,rt){var at=this;return reactExports.createElement(FormContext$1.Consumer,{key:"wrapper"},function(nt){var it=nt.wrapperCol,ot=nt.vertical,st=at.props.wrapperCol,lt=("wrapperCol"in at.props?st:it)||{},ct=classNames("".concat(tt,"-item-control-wrapper"),lt.className);return reactExports.createElement(FormContext$1.Provider,{value:{vertical:ot}},reactExports.createElement(Col,_extends$1N({},lt,{className:ct}),rt))})}},{key:"renderLabel",value:function(tt){var rt=this;return reactExports.createElement(FormContext$1.Consumer,{key:"label"},function(at){var nt,it=at.vertical,ot=at.labelAlign,st=at.labelCol,lt=at.colon,ct=rt.props,ut=ct.label,ft=ct.labelCol,At=ct.labelAlign,vt=ct.colon,ht=ct.id,bt=ct.htmlFor,pt=rt.isRequired(),dt=("labelCol"in rt.props?ft:st)||{},_t="labelAlign"in rt.props?At:ot,Ct="".concat(tt,"-item-label"),gt=classNames(Ct,_t==="left"&&"".concat(Ct,"-left"),dt.className),yt=ut,xt=vt===!0||lt!==!1&&vt!==!1,Et=xt&&!it;Et&&typeof ut=="string"&&ut.trim()!==""&&(yt=ut.replace(/[::]\s*$/,""));var It=classNames((nt={},_defineProperty$Z(nt,"".concat(tt,"-item-required"),pt),_defineProperty$Z(nt,"".concat(tt,"-item-no-colon"),!xt),nt));return ut?reactExports.createElement(Col,_extends$1N({},dt,{className:gt}),reactExports.createElement("label",{htmlFor:bt||ht||rt.getId(),className:It,title:typeof ut=="string"?ut:"",onClick:rt.onLabelClick},yt)):null})}},{key:"renderChildren",value:function(tt){var rt=this.props.children;return[this.renderLabel(tt),this.renderWrapper(tt,this.renderValidateWrapper(tt,rt,this.renderHelp(tt),this.renderExtra(tt)))]}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderFormItem)}}]),_e}(reactExports.Component);FormItem$3.defaultProps={hasFeedback:!1};FormItem$3.propTypes={prefixCls:propTypesExports.string,label:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.node]),labelCol:propTypesExports.object,help:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.bool]),validateStatus:propTypesExports.oneOf(ValidateStatuses),hasFeedback:propTypesExports.bool,wrapperCol:propTypesExports.object,className:propTypesExports.string,id:propTypesExports.string,children:propTypesExports.node,colon:propTypesExports.bool};function _typeof$U(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$U=function(_e){return typeof _e}:_typeof$U=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$U(o)}function _extends$1M(){return _extends$1M=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$Z(o){return _getPrototypeOf$Z=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$Z(o)}var FormLayouts=tuple$1("horizontal","inline","vertical"),Form=function(o){_inherits$1E(_e,o);var $=_createSuper$Q(_e);function _e(et){var tt;return _classCallCheck$1G(this,_e),tt=$.call(this,et),tt.renderForm=function(rt){var at,nt=rt.getPrefixCls,it=tt.props,ot=it.prefixCls,st=it.hideRequiredMark,lt=it.className,ct=lt===void 0?"":lt,ut=it.layout,ft=nt("form",ot),At=classNames(ft,(at={},_defineProperty$Y(at,"".concat(ft,"-horizontal"),ut==="horizontal"),_defineProperty$Y(at,"".concat(ft,"-vertical"),ut==="vertical"),_defineProperty$Y(at,"".concat(ft,"-inline"),ut==="inline"),_defineProperty$Y(at,"".concat(ft,"-hide-required-mark"),st),at),ct),vt=omit(tt.props,["prefixCls","className","layout","form","hideRequiredMark","wrapperCol","labelAlign","labelCol","colon"]);return reactExports.createElement("form",_extends$1M({},vt,{className:At}))},warning$4(!et.form,"Form","It is unnecessary to pass `form` to `Form` after antd@1.7.0."),tt}return _createClass$1B(_e,[{key:"render",value:function(){var tt=this.props,rt=tt.wrapperCol,at=tt.labelAlign,nt=tt.labelCol,it=tt.layout,ot=tt.colon;return reactExports.createElement(FormContext$1.Provider,{value:{wrapperCol:rt,labelAlign:at,labelCol:nt,vertical:it==="vertical",colon:ot}},reactExports.createElement(ConfigConsumer,null,this.renderForm))}}]),_e}(reactExports.Component);Form.defaultProps={colon:!0,layout:"horizontal",hideRequiredMark:!1,onSubmit:function($){$.preventDefault()}};Form.propTypes={prefixCls:propTypesExports.string,layout:propTypesExports.oneOf(FormLayouts),children:propTypesExports.any,onSubmit:propTypesExports.func,hideRequiredMark:propTypesExports.bool,colon:propTypesExports.bool};Form.Item=FormItem$3;Form.createFormField=createFormField;Form.create=function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return createDOMForm(_extends$1M(_extends$1M({fieldNameProp:"id"},$),{fieldMetaProp:FIELD_META_PROP$1,fieldDataProp:FIELD_DATA_PROP$1}))};function _typeof$T(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$T=function(_e){return typeof _e}:_typeof$T=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$T(o)}function _defineProperty$X(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$1F(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$T(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1A(o,$,_e){return $&&_defineProperties$T(o.prototype,$),_e&&_defineProperties$T(o,_e),o}function _inherits$1D(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$V(o,$)}function _setPrototypeOf$V(o,$){return _setPrototypeOf$V=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$V(o,$)}function _createSuper$P(o){var $=_isNativeReflectConstruct$P();return function(){var et=_getPrototypeOf$Y(o),tt;if($){var rt=_getPrototypeOf$Y(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1D(this,tt)}}function _possibleConstructorReturn$1D(o,$){return $&&(_typeof$T($)==="object"||typeof $=="function")?$:_assertThisInitialized$V(o)}function _assertThisInitialized$V(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$P(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$Y(o){return _getPrototypeOf$Y=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$Y(o)}var ClearableInputType=tuple$1("text","input");function hasPrefixSuffix(o){return!!(o.prefix||o.suffix||o.allowClear)}var ClearableLabeledInput=function(o){_inherits$1D(_e,o);var $=_createSuper$P(_e);function _e(){return _classCallCheck$1F(this,_e),$.apply(this,arguments)}return _createClass$1A(_e,[{key:"renderClearIcon",value:function(tt){var rt=this.props,at=rt.allowClear,nt=rt.value,it=rt.disabled,ot=rt.readOnly,st=rt.inputType,lt=rt.handleReset;if(!at||it||ot||nt===void 0||nt===null||nt==="")return null;var ct=st===ClearableInputType[0]?"".concat(tt,"-textarea-clear-icon"):"".concat(tt,"-clear-icon");return reactExports.createElement(Icon$1,{type:"close-circle",theme:"filled",onClick:lt,className:ct,role:"button"})}},{key:"renderSuffix",value:function(tt){var rt=this.props,at=rt.suffix,nt=rt.allowClear;return at||nt?reactExports.createElement("span",{className:"".concat(tt,"-suffix")},this.renderClearIcon(tt),at):null}},{key:"renderLabeledIcon",value:function(tt,rt){var at,nt=this.props,it=this.renderSuffix(tt);if(!hasPrefixSuffix(nt))return reactExports.cloneElement(rt,{value:nt.value});var ot=nt.prefix?reactExports.createElement("span",{className:"".concat(tt,"-prefix")},nt.prefix):null,st=classNames(nt.className,"".concat(tt,"-affix-wrapper"),(at={},_defineProperty$X(at,"".concat(tt,"-affix-wrapper-sm"),nt.size==="small"),_defineProperty$X(at,"".concat(tt,"-affix-wrapper-lg"),nt.size==="large"),_defineProperty$X(at,"".concat(tt,"-affix-wrapper-input-with-clear-btn"),nt.suffix&&nt.allowClear&&this.props.value),at));return reactExports.createElement("span",{className:st,style:nt.style},ot,reactExports.cloneElement(rt,{style:null,value:nt.value,className:getInputClassName(tt,nt.size,nt.disabled)}),it)}},{key:"renderInputWithLabel",value:function(tt,rt){var at,nt=this.props,it=nt.addonBefore,ot=nt.addonAfter,st=nt.style,lt=nt.size,ct=nt.className;if(!it&&!ot)return rt;var ut="".concat(tt,"-group"),ft="".concat(ut,"-addon"),At=it?reactExports.createElement("span",{className:ft},it):null,vt=ot?reactExports.createElement("span",{className:ft},ot):null,ht=classNames("".concat(tt,"-wrapper"),_defineProperty$X({},ut,it||ot)),bt=classNames(ct,"".concat(tt,"-group-wrapper"),(at={},_defineProperty$X(at,"".concat(tt,"-group-wrapper-sm"),lt==="small"),_defineProperty$X(at,"".concat(tt,"-group-wrapper-lg"),lt==="large"),at));return reactExports.createElement("span",{className:bt,style:st},reactExports.createElement("span",{className:ht},At,reactExports.cloneElement(rt,{style:null}),vt))}},{key:"renderTextAreaWithClearIcon",value:function(tt,rt){var at=this.props,nt=at.value,it=at.allowClear,ot=at.className,st=at.style;if(!it)return reactExports.cloneElement(rt,{value:nt});var lt=classNames(ot,"".concat(tt,"-affix-wrapper"),"".concat(tt,"-affix-wrapper-textarea-with-clear-btn"));return reactExports.createElement("span",{className:lt,style:st},reactExports.cloneElement(rt,{style:null,value:nt}),this.renderClearIcon(tt))}},{key:"renderClearableLabeledInput",value:function(){var tt=this.props,rt=tt.prefixCls,at=tt.inputType,nt=tt.element;return at===ClearableInputType[0]?this.renderTextAreaWithClearIcon(rt,nt):this.renderInputWithLabel(rt,this.renderLabeledIcon(rt,nt))}},{key:"render",value:function(){return this.renderClearableLabeledInput()}}]),_e}(reactExports.Component);polyfill(ClearableLabeledInput);const ClearableLabeledInput$1=ClearableLabeledInput;function _typeof$S(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$S=function(_e){return typeof _e}:_typeof$S=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$S(o)}function _extends$1L(){return _extends$1L=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$X(o){return _getPrototypeOf$X=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$X(o)}function _defineProperty$W(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var InputSizes=tuple$1("small","default","large");function fixControlledValue(o){return typeof o>"u"||o===null?"":o}function resolveOnChange(o,$,_e){if(_e){var et=$;if($.type==="click"){et=Object.create($),et.target=o,et.currentTarget=o;var tt=o.value;o.value="",_e(et),o.value=tt;return}_e(et)}}function getInputClassName(o,$,_e){var et;return classNames(o,(et={},_defineProperty$W(et,"".concat(o,"-sm"),$==="small"),_defineProperty$W(et,"".concat(o,"-lg"),$==="large"),_defineProperty$W(et,"".concat(o,"-disabled"),_e),et))}var Input=function(o){_inherits$1C(_e,o);var $=_createSuper$O(_e);function _e(et){var tt;_classCallCheck$1E(this,_e),tt=$.call(this,et),tt.saveClearableInput=function(at){tt.clearableInput=at},tt.saveInput=function(at){tt.input=at},tt.handleReset=function(at){tt.setValue("",function(){tt.focus()}),resolveOnChange(tt.input,at,tt.props.onChange)},tt.renderInput=function(at){var nt=tt.props,it=nt.className,ot=nt.addonBefore,st=nt.addonAfter,lt=nt.size,ct=nt.disabled,ut=omit(tt.props,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","size","inputType"]);return reactExports.createElement("input",_extends$1L({},ut,{onChange:tt.handleChange,onKeyDown:tt.handleKeyDown,className:classNames(getInputClassName(at,lt,ct),_defineProperty$W({},it,it&&!ot&&!st)),ref:tt.saveInput}))},tt.clearPasswordValueAttribute=function(){tt.removePasswordTimeout=setTimeout(function(){tt.input&&tt.input.getAttribute("type")==="password"&&tt.input.hasAttribute("value")&&tt.input.removeAttribute("value")})},tt.handleChange=function(at){tt.setValue(at.target.value,tt.clearPasswordValueAttribute),resolveOnChange(tt.input,at,tt.props.onChange)},tt.handleKeyDown=function(at){var nt=tt.props,it=nt.onPressEnter,ot=nt.onKeyDown;at.keyCode===13&&it&&it(at),ot&&ot(at)},tt.renderComponent=function(at){var nt=at.getPrefixCls,it=tt.state.value,ot=tt.props.prefixCls,st=nt("input",ot);return reactExports.createElement(ClearableLabeledInput$1,_extends$1L({},tt.props,{prefixCls:st,inputType:"input",value:fixControlledValue(it),element:tt.renderInput(st),handleReset:tt.handleReset,ref:tt.saveClearableInput}))};var rt=typeof et.value>"u"?et.defaultValue:et.value;return tt.state={value:rt},tt}return _createClass$1z(_e,[{key:"componentDidMount",value:function(){this.clearPasswordValueAttribute()}},{key:"componentDidUpdate",value:function(){}},{key:"getSnapshotBeforeUpdate",value:function(tt){return hasPrefixSuffix(tt)!==hasPrefixSuffix(this.props)&&warning$4(this.input!==document.activeElement,"Input","When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ"),null}},{key:"componentWillUnmount",value:function(){this.removePasswordTimeout&&clearTimeout(this.removePasswordTimeout)}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"setValue",value:function(tt,rt){"value"in this.props||this.setState({value:tt},rt)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderComponent)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"value"in tt?{value:tt.value}:null}}]),_e}(reactExports.Component);Input.defaultProps={type:"text"};Input.propTypes={type:propTypesExports.string,id:propTypesExports.string,size:propTypesExports.oneOf(InputSizes),maxLength:propTypesExports.number,disabled:propTypesExports.bool,value:propTypesExports.any,defaultValue:propTypesExports.any,className:propTypesExports.string,addonBefore:propTypesExports.node,addonAfter:propTypesExports.node,prefixCls:propTypesExports.string,onPressEnter:propTypesExports.func,onKeyDown:propTypesExports.func,onKeyUp:propTypesExports.func,onFocus:propTypesExports.func,onBlur:propTypesExports.func,prefix:propTypesExports.node,suffix:propTypesExports.node,allowClear:propTypesExports.bool};polyfill(Input);const Input$1=Input;function _defineProperty$V(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var Group$2=function($){return reactExports.createElement(ConfigConsumer,null,function(_e){var et,tt=_e.getPrefixCls,rt=$.prefixCls,at=$.className,nt=at===void 0?"":at,it=tt("input-group",rt),ot=classNames(it,(et={},_defineProperty$V(et,"".concat(it,"-lg"),$.size==="large"),_defineProperty$V(et,"".concat(it,"-sm"),$.size==="small"),_defineProperty$V(et,"".concat(it,"-compact"),$.compact),et),nt);return reactExports.createElement("span",{className:ot,style:$.style,onMouseEnter:$.onMouseEnter,onMouseLeave:$.onMouseLeave,onFocus:$.onFocus,onBlur:$.onBlur},$.children)})};const Group$3=Group$2;var isMobileExports={},isMobile$1={get exports(){return isMobileExports},set exports(o){isMobileExports=o}};isMobile$1.exports=isMobile;var isMobile_2=isMobileExports.isMobile=isMobile;isMobileExports.default=isMobile;var mobileRE=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,tabletRE=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function isMobile(o){o||(o={});var $=o.ua;if(!$&&typeof navigator<"u"&&($=navigator.userAgent),$&&$.headers&&typeof $.headers["user-agent"]=="string"&&($=$.headers["user-agent"]),typeof $!="string")return!1;var _e=o.tablet?tabletRE.test($):mobileRE.test($);return!_e&&o.tablet&&o.featureDetect&&navigator&&navigator.maxTouchPoints>1&&$.indexOf("Macintosh")!==-1&&$.indexOf("Safari")!==-1&&(_e=!0),_e}function _typeof$R(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$R=function(_e){return typeof _e}:_typeof$R=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$R(o)}function _defineProperty$U(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$1K(){return _extends$1K=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$W(o){return _getPrototypeOf$W=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$W(o)}var __rest$s=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt1)warning_1$2.default(!1,"Find more than one child node with `children` in ResizeObserver. Will only observe first one.");else if(tt.length===0)return warning_1$2.default(!1,"`children` of ResizeObserver is empty. Nothing is in observe."),null;var rt=tt[0];if(React$h.isValidElement(rt)&&util_1.supportRef(rt)){var at=rt.ref;tt[0]=React$h.cloneElement(rt,{ref:ref_1.composeRef(at,this.setChildNode)})}return tt.length===1?tt[0]:tt.map(function(nt,it){return!React$h.isValidElement(nt)||"key"in nt&&nt.key!==null?nt:React$h.cloneElement(nt,{key:"".concat(INTERNAL_PREFIX_KEY,"-").concat(it)})})}}]),$}(React$h.Component);ReactResizeObserver.displayName="ResizeObserver";var _default$5=es$1.default=ReactResizeObserver,HIDDEN_TEXTAREA_STYLE=` + }`),document.body.contains(styleForPesudo)||document.body.appendChild(styleForPesudo)),at&&tt.appendChild(it),TransitionEvents.addStartEventListener(tt,et.onTransitionStart),TransitionEvents.addEndEventListener(tt,et.onTransitionEnd)}},et.onTransitionStart=function(tt){if(!et.destroy){var rt=reactDomExports.findDOMNode(_assertThisInitialized$1a(et));!tt||tt.target!==rt||et.animationStart||et.resetEffect(rt)}},et.onTransitionEnd=function(tt){!tt||tt.animationName!=="fadeEffect"||et.resetEffect(tt.target)},et.bindAnimationEvent=function(tt){if(!(!tt||!tt.getAttribute||tt.getAttribute("disabled")||tt.className.indexOf("disabled")>=0)){var rt=function(nt){if(!(nt.target.tagName==="INPUT"||isHidden$1(nt.target))){et.resetEffect(tt);var it=getComputedStyle(tt).getPropertyValue("border-top-color")||getComputedStyle(tt).getPropertyValue("border-color")||getComputedStyle(tt).getPropertyValue("background-color");et.clickWaveTimeoutId=window.setTimeout(function(){return et.onClick(tt,it)},0),wrapperRaf.cancel(et.animationStartId),et.animationStart=!0,et.animationStartId=wrapperRaf(function(){et.animationStart=!1},10)}};return tt.addEventListener("click",rt,!0),{cancel:function(){tt.removeEventListener("click",rt,!0)}}}},et.renderWave=function(tt){var rt=tt.csp,at=et.props.children;return et.csp=rt,at},et}return _createClass$1T(_e,[{key:"componentDidMount",value:function(){var tt=reactDomExports.findDOMNode(this);!tt||tt.nodeType!==1||(this.instance=this.bindAnimationEvent(tt))}},{key:"componentWillUnmount",value:function(){this.instance&&this.instance.cancel(),this.clickWaveTimeoutId&&clearTimeout(this.clickWaveTimeoutId),this.destroy=!0}},{key:"getAttributeName",value:function(){var tt=this.props.insertExtraNode;return tt?"ant-click-animating":"ant-click-animating-without-extra-node"}},{key:"resetEffect",value:function(tt){if(!(!tt||tt===this.extraNode||!(tt instanceof Element))){var rt=this.props.insertExtraNode,at=this.getAttributeName();tt.setAttribute(at,"false"),styleForPesudo&&(styleForPesudo.innerHTML=""),rt&&this.extraNode&&tt.contains(this.extraNode)&&tt.removeChild(this.extraNode),TransitionEvents.removeStartEventListener(tt,this.onTransitionStart),TransitionEvents.removeEndEventListener(tt,this.onTransitionEnd)}}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderWave)}}]),_e}(reactExports.Component);function _extends$22(){return _extends$22=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1c(o){return _getPrototypeOf$1c=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1c(o)}function _typeof$1b(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1b=function(_e){return typeof _e}:_typeof$1b=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1b(o)}var __rest$z=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1b(o){return _getPrototypeOf$1b=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1b(o)}var __rest$x=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=KeyCode$1.F1&&_e<=KeyCode$1.F12)return!1;switch(_e){case KeyCode$1.ALT:case KeyCode$1.CAPS_LOCK:case KeyCode$1.CONTEXT_MENU:case KeyCode$1.CTRL:case KeyCode$1.DOWN:case KeyCode$1.END:case KeyCode$1.ESC:case KeyCode$1.HOME:case KeyCode$1.INSERT:case KeyCode$1.LEFT:case KeyCode$1.MAC_FF_META:case KeyCode$1.META:case KeyCode$1.NUMLOCK:case KeyCode$1.NUM_CENTER:case KeyCode$1.PAGE_DOWN:case KeyCode$1.PAGE_UP:case KeyCode$1.PAUSE:case KeyCode$1.PRINT_SCREEN:case KeyCode$1.RIGHT:case KeyCode$1.SHIFT:case KeyCode$1.UP:case KeyCode$1.WIN_KEY:case KeyCode$1.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function($){if($>=KeyCode$1.ZERO&&$<=KeyCode$1.NINE||$>=KeyCode$1.NUM_ZERO&&$<=KeyCode$1.NUM_MULTIPLY||$>=KeyCode$1.A&&$<=KeyCode$1.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&$===0)return!0;switch($){case KeyCode$1.SPACE:case KeyCode$1.QUESTION_MARK:case KeyCode$1.NUM_PLUS:case KeyCode$1.NUM_MINUS:case KeyCode$1.NUM_PERIOD:case KeyCode$1.NUM_DIVISION:case KeyCode$1.SEMICOLON:case KeyCode$1.DASH:case KeyCode$1.EQUALS:case KeyCode$1.COMMA:case KeyCode$1.PERIOD:case KeyCode$1.SLASH:case KeyCode$1.APOSTROPHE:case KeyCode$1.SINGLE_QUOTE:case KeyCode$1.OPEN_SQUARE_BRACKET:case KeyCode$1.BACKSLASH:case KeyCode$1.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function createChainedFunction(){var o=[].slice.call(arguments,0);return o.length===1?o[0]:function(){for(var _e=0;_e=Rt&&(ht.push(et({type:"childList",target:_t,addedNodes:[Ot],removedNodes:[Ot],nextSibling:Ot.nextSibling,previousSibling:Ot.previousSibling})),Tt--),dt.b&&Mt.b&&nt(ht,Ot,Mt.b,dt.f),dt.a&&Ot.nodeType===3&&Ot.nodeValue!==Mt.a&&ht.push(et({type:"characterData",target:Ot,oldValue:Mt.a})),dt.g&&Ct(Ot,Mt)}function Ct(wt,_t){for(var Et=wt.childNodes,It=_t.c,Tt=Et.length,Rt=It?It.length:0,Ot,Mt,Bt,Lt,jt,zt=0,Nt=0,Wt=0;Nt0},o.prototype.connect_=function(){!isBrowser$1||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),mutationObserverSupported?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},o.prototype.disconnect_=function(){!isBrowser$1||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},o.prototype.onTransitionEnd_=function($){var _e=$.propertyName,et=_e===void 0?"":_e,tt=transitionKeys.some(function(rt){return!!~et.indexOf(rt)});tt&&this.refresh()},o.getInstance=function(){return this.instance_||(this.instance_=new o),this.instance_},o.instance_=null,o}(),defineConfigurable=function(o,$){for(var _e=0,et=Object.keys($);_e"u"||!(Element instanceof Object))){if(!($ instanceof getWindowOf($).Element))throw new TypeError('parameter 1 is not of type "Element".');var _e=this.observations_;_e.has($)||(_e.set($,new ResizeObservation($)),this.controller_.addObserver(this),this.controller_.refresh())}},o.prototype.unobserve=function($){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!($ instanceof getWindowOf($).Element))throw new TypeError('parameter 1 is not of type "Element".');var _e=this.observations_;_e.has($)&&(_e.delete($),_e.size||this.controller_.removeObserver(this))}},o.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},o.prototype.gatherActive=function(){var $=this;this.clearActive(),this.observations_.forEach(function(_e){_e.isActive()&&$.activeObservations_.push(_e)})},o.prototype.broadcastActive=function(){if(this.hasActive()){var $=this.callbackCtx_,_e=this.activeObservations_.map(function(et){return new ResizeObserverEntry(et.target,et.broadcastRect())});this.callback_.call($,_e,$),this.clearActive()}},o.prototype.clearActive=function(){this.activeObservations_.splice(0)},o.prototype.hasActive=function(){return this.activeObservations_.length>0},o}(),observers=typeof WeakMap<"u"?new WeakMap:new MapShim,ResizeObserver$1=function(){function o($){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var _e=ResizeObserverController.getInstance(),et=new ResizeObserverSPI($,_e,this);observers.set(this,et)}return o}();["observe","unobserve","disconnect"].forEach(function(o){ResizeObserver$1.prototype[o]=function(){var $;return($=observers.get(this))[o].apply($,arguments)}});var index$M=function(){return typeof global$1$1.ResizeObserver<"u"?global$1$1.ResizeObserver:ResizeObserver$1}();const ResizeObserver_es=Object.freeze(Object.defineProperty({__proto__:null,default:index$M},Symbol.toStringTag,{value:"Module"}));function findDOMNode$2(o){return o instanceof HTMLElement?o:ReactDOM.findDOMNode(o)}var canUseDOM$1=!!(typeof window<"u"&&window.document&&window.document.createElement);function makePrefixMap(o,$){var _e={};return _e[o.toLowerCase()]=$.toLowerCase(),_e["Webkit"+o]="webkit"+$,_e["Moz"+o]="moz"+$,_e["ms"+o]="MS"+$,_e["O"+o]="o"+$.toLowerCase(),_e}function getVendorPrefixes(o,$){var _e={animationend:makePrefixMap("Animation","AnimationEnd"),transitionend:makePrefixMap("Transition","TransitionEnd")};return o&&("AnimationEvent"in $||delete _e.animationend.animation,"TransitionEvent"in $||delete _e.transitionend.transition),_e}var vendorPrefixes=getVendorPrefixes(canUseDOM$1,typeof window<"u"?window:{}),style$1={};canUseDOM$1&&(style$1=document.createElement("div").style);var prefixedEventNames={};function getVendorPrefixedEventName(o){if(prefixedEventNames[o])return prefixedEventNames[o];var $=vendorPrefixes[o];if($)for(var _e=Object.keys($),et=_e.length,tt=0;tt0&&setTimeout(function(){nt.onMotionEnd({deadline:!0})},lt)}})},nt.nextFrame=function(it){nt.cancelNextFrame(),nt.raf=rafExports(it)},nt.cancelNextFrame=function(){nt.raf&&(rafExports.cancel(nt.raf),nt.raf=null)},nt.state={status:STATUS_NONE,statusActive:!1,newStatus:!1,statusStyle:null},nt.$cacheEle=null,nt.node=null,nt.raf=null,nt}return _default$b(at,[{key:"componentDidMount",value:function(){this.onDomUpdate()}},{key:"componentDidUpdate",value:function(){this.onDomUpdate()}},{key:"componentWillUnmount",value:function(){this._destroyed=!0,this.removeEventListener(this.$cacheEle),this.cancelNextFrame()}},{key:"render",value:function(){var it,ot=this.state,st=ot.status,lt=ot.statusActive,ct=ot.statusStyle,ut=this.props,ft=ut.children,At=ut.motionName,vt=ut.visible,ht=ut.removeOnLeave,mt=ut.leavedClassName,bt=ut.eventProps;return ft?st===STATUS_NONE||!et(this.props)?vt?ft(_default$bE({},bt),this.setNodeRef):ht?null:ft(_default$bE({},bt,{className:mt}),this.setNodeRef):ft(_default$bE({},bt,{className:classnamesExports((it={},_default$e(it,getTransitionName(At,st),st!==STATUS_NONE),_default$e(it,getTransitionName(At,st+"-active"),st!==STATUS_NONE&<),_default$e(it,At,typeof At=="string"),it)),style:ct}),this.setNodeRef):null}}],[{key:"getDerivedStateFromProps",value:function(it,ot){var st=ot.prevProps,lt=ot.status;if(!et(it))return{};var ct=it.visible,ut=it.motionAppear,ft=it.motionEnter,At=it.motionLeave,vt=it.motionLeaveImmediately,ht={prevProps:it};return(lt===STATUS_APPEAR&&!ut||lt===STATUS_ENTER&&!ft||lt===STATUS_LEAVE&&!At)&&(ht.status=STATUS_NONE,ht.statusActive=!1,ht.newStatus=!1),!st&&ct&&ut&&(ht.status=STATUS_APPEAR,ht.statusActive=!1,ht.newStatus=!0),st&&!st.visible&&ct&&ft&&(ht.status=STATUS_ENTER,ht.statusActive=!1,ht.newStatus=!0),(st&&st.visible&&!ct&&At||!st&&vt&&!ct&&At)&&(ht.status=STATUS_LEAVE,ht.statusActive=!1,ht.newStatus=!0),ht}}]),at}(React$k.Component);return tt.propTypes=_default$bE({},MotionPropTypes,{internalRef:propTypesExports.oneOfType([propTypesExports.object,propTypesExports.func])}),tt.defaultProps={visible:!0,motionEnter:!0,motionAppear:!0,motionLeave:!0,removeOnLeave:!0},polyfill(tt),_e?React$k.forwardRef(function(rt,at){return React$k.createElement(tt,_default$bE({internalRef:at},rt))}):tt}const CSSMotion=genCSSMotion(supportTransition);var autoAdjustOverflow$1={adjustX:1,adjustY:1},placements$1={topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow$1,offset:[0,-7]},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow$1,offset:[0,7]},leftTop:{points:["tr","tl"],overflow:autoAdjustOverflow$1,offset:[-4,0]},rightTop:{points:["tl","tr"],overflow:autoAdjustOverflow$1,offset:[4,0]}};function _typeof$18(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$18=function(_e){return typeof _e}:_typeof$18=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$18(o)}function _classCallCheck$1T(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$15(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1O(o,$,_e){return $&&_defineProperties$15(o.prototype,$),_e&&_defineProperties$15(o,_e),o}function _possibleConstructorReturn$1R(o,$){return $&&(_typeof$18($)==="object"||typeof $=="function")?$:_assertThisInitialized$17(o)}function _getPrototypeOf$1a(o){return _getPrototypeOf$1a=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1a(o)}function _assertThisInitialized$17(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _inherits$1R(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$17(o,$)}function _setPrototypeOf$17(o,$){return _setPrototypeOf$17=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$17(o,$)}function ownKeys$h(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$h(o){for(var $=1;$=et.subMenuTitle.offsetWidth||(ot.style.minWidth="".concat(et.subMenuTitle.offsetWidth,"px"))}},et.saveSubMenuTitle=function(ot){et.subMenuTitle=ot};var tt=_e.store,rt=_e.eventKey,at=tt.getState(),nt=at.defaultActiveFirst;et.isRootMenu=!1;var it=!1;return nt&&(it=nt[rt]),updateDefaultActiveFirst(tt,rt,it),et}return _createClass$1O($,[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var et=this,tt=this.props,rt=tt.mode,at=tt.parentMenu,nt=tt.manualRef;nt&&nt(this),!(rt!=="horizontal"||!at.isRootMenu||!this.props.isOpen)&&(this.minWidthTimeout=setTimeout(function(){return et.adjustWidth()},0))}},{key:"componentWillUnmount",value:function(){var et=this.props,tt=et.onDestroy,rt=et.eventKey;tt&&tt(rt),this.minWidthTimeout&&clearTimeout(this.minWidthTimeout),this.mouseenterTimeout&&clearTimeout(this.mouseenterTimeout)}},{key:"renderChildren",value:function(et){var tt=this,rt=this.props,at={mode:rt.mode==="horizontal"?"vertical":rt.mode,visible:this.props.isOpen,level:rt.level+1,inlineIndent:rt.inlineIndent,focusable:!1,onClick:this.onSubMenuClick,onSelect:this.onSelect,onDeselect:this.onDeselect,onDestroy:this.onDestroy,selectedKeys:rt.selectedKeys,eventKey:"".concat(rt.eventKey,"-menu-"),openKeys:rt.openKeys,motion:rt.motion,onOpenChange:this.onOpenChange,subMenuOpenDelay:rt.subMenuOpenDelay,parentMenu:this,subMenuCloseDelay:rt.subMenuCloseDelay,forceSubMenuRender:rt.forceSubMenuRender,triggerSubMenuAction:rt.triggerSubMenuAction,builtinPlacements:rt.builtinPlacements,defaultActiveFirst:rt.store.getState().defaultActiveFirst[getMenuIdFromSubMenuEventKey(rt.eventKey)],multiple:rt.multiple,prefixCls:rt.rootPrefixCls,id:this.internalMenuId,manualRef:this.saveMenuInstance,itemIcon:rt.itemIcon,expandIcon:rt.expandIcon},nt=this.haveRendered;if(this.haveRendered=!0,this.haveOpened=this.haveOpened||at.visible||at.forceSubMenuRender,!this.haveOpened)return reactExports.createElement("div",null);var it=_objectSpread$h({},rt.motion,{leavedClassName:"".concat(rt.rootPrefixCls,"-hidden"),removeOnLeave:!1,motionAppear:nt||!at.visible||at.mode!=="inline"});return reactExports.createElement(CSSMotion,Object.assign({visible:at.visible},it),function(ot){var st=ot.className,lt=ot.style,ct=classnamesExports("".concat(at.prefixCls,"-sub"),st);return reactExports.createElement(connected$1,Object.assign({},at,{id:tt.internalMenuId,className:ct,style:lt}),et)})}},{key:"render",value:function(){var et,tt=_objectSpread$h({},this.props),rt=tt.isOpen,at=this.getPrefixCls(),nt=tt.mode==="inline",it=classnamesExports(at,"".concat(at,"-").concat(tt.mode),(et={},_defineProperty$18(et,tt.className,!!tt.className),_defineProperty$18(et,this.getOpenClassName(),rt),_defineProperty$18(et,this.getActiveClassName(),tt.active||rt&&!nt),_defineProperty$18(et,this.getDisabledClassName(),tt.disabled),_defineProperty$18(et,this.getSelectedClassName(),this.isChildrenSelected()),et));this.internalMenuId||(tt.eventKey?this.internalMenuId="".concat(tt.eventKey,"$Menu"):(guid+=1,this.internalMenuId="$__$".concat(guid,"$Menu")));var ot={},st={},lt={};tt.disabled||(ot={onMouseLeave:this.onMouseLeave,onMouseEnter:this.onMouseEnter},st={onClick:this.onTitleClick},lt={onMouseEnter:this.onTitleMouseEnter,onMouseLeave:this.onTitleMouseLeave});var ct={};nt&&(ct.paddingLeft=tt.inlineIndent*tt.level);var ut={};this.props.isOpen&&(ut={"aria-owns":this.internalMenuId});var ft=null;tt.mode!=="horizontal"&&(ft=this.props.expandIcon,typeof this.props.expandIcon=="function"&&(ft=reactExports.createElement(this.props.expandIcon,_objectSpread$h({},this.props))));var At=reactExports.createElement("div",Object.assign({ref:this.saveSubMenuTitle,style:ct,className:"".concat(at,"-title")},lt,st,{"aria-expanded":rt},ut,{"aria-haspopup":"true",title:typeof tt.title=="string"?tt.title:void 0}),tt.title,ft||reactExports.createElement("i",{className:"".concat(at,"-arrow")})),vt=this.renderChildren(tt.children),ht=tt.parentMenu.isRootMenu?tt.parentMenu.props.getPopupContainer:function(It){return It.parentNode},mt=popupPlacementMap[tt.mode],bt=tt.popupOffset?{offset:tt.popupOffset}:{},dt=tt.mode==="inline"?"":tt.popupClassName,xt=tt.disabled,Ct=tt.triggerSubMenuAction,gt=tt.subMenuOpenDelay,wt=tt.forceSubMenuRender,_t=tt.subMenuCloseDelay,Et=tt.builtinPlacements;return menuAllProps.forEach(function(It){return delete tt[It]}),delete tt.onClick,reactExports.createElement("li",Object.assign({},tt,ot,{className:it,role:"menuitem"}),nt&&At,nt&&vt,!nt&&reactExports.createElement(Trigger,{prefixCls:at,popupClassName:"".concat(at,"-popup ").concat(dt),getPopupContainer:ht,builtinPlacements:Object.assign({},placements$1,Et),popupPlacement:mt,popupVisible:rt,popupAlign:bt,popup:vt,action:xt?[]:[Ct],mouseEnterDelay:gt,mouseLeaveDelay:_t,onPopupVisibleChange:this.onPopupVisibleChange,forceRender:wt},At))}}]),$}(reactExports.Component);SubMenu$2.defaultProps={onMouseEnter:noop$e,onMouseLeave:noop$e,onTitleMouseEnter:noop$e,onTitleMouseLeave:noop$e,onTitleClick:noop$e,manualRef:noop$e,mode:"vertical",title:""};var connected$2=connect(function(o,$){var _e=o.openKeys,et=o.activeKey,tt=o.selectedKeys,rt=$.eventKey,at=$.subMenuKey;return{isOpen:_e.indexOf(rt)>-1,active:et[at]===rt,selectedKeys:tt}})(SubMenu$2);connected$2.isSubMenu=!0;function _typeof$17(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$17=function(_e){return typeof _e}:_typeof$17=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$17(o)}function _toConsumableArray$c(o){return _arrayWithoutHoles$8(o)||_iterableToArray$8(o)||_nonIterableSpread$8()}function _nonIterableSpread$8(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray$8(o){if(Symbol.iterator in Object(o)||Object.prototype.toString.call(o)==="[object Arguments]")return Array.from(o)}function _arrayWithoutHoles$8(o){if(Array.isArray(o)){for(var $=0,_e=new Array(o.length);$=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$6(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function _classCallCheck$1S(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$14(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1N(o,$,_e){return $&&_defineProperties$14(o.prototype,$),_e&&_defineProperties$14(o,_e),o}function _possibleConstructorReturn$1Q(o,$){return $&&(_typeof$17($)==="object"||typeof $=="function")?$:_assertThisInitialized$16(o)}function _getPrototypeOf$19(o){return _getPrototypeOf$19=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$19(o)}function _assertThisInitialized$16(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _inherits$1Q(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$16(o,$)}function _setPrototypeOf$16(o,$){return _setPrototypeOf$16=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$16(o,$)}var canUseDOM=!!(typeof window<"u"&&window.document&&window.document.createElement),MENUITEM_OVERFLOWED_CLASSNAME="menuitem-overflowed",FLOAT_PRECISION_ADJUST=.5;canUseDOM&&requireMutationobserver_min();var DOMWrap=function(o){_inherits$1Q($,o);function $(){var _e;return _classCallCheck$1S(this,$),_e=_possibleConstructorReturn$1Q(this,_getPrototypeOf$19($).apply(this,arguments)),_e.resizeObserver=null,_e.mutationObserver=null,_e.originalTotalWidth=0,_e.overflowedItems=[],_e.menuItemSizes=[],_e.state={lastVisibleIndex:void 0},_e.getMenuItemNodes=function(){var et=_e.props.prefixCls,tt=reactDomExports.findDOMNode(_assertThisInitialized$16(_e));return tt?[].slice.call(tt.children).filter(function(rt){return rt.className.split(" ").indexOf("".concat(et,"-overflowed-submenu"))<0}):[]},_e.getOverflowedSubMenuItem=function(et,tt,rt){var at=_e.props,nt=at.overflowedIndicator,it=at.level,ot=at.mode,st=at.prefixCls,lt=at.theme;if(it!==1||ot!=="horizontal")return null;var ct=_e.props.children[0],ut=ct.props;ut.children,ut.title;var ft=ut.style,At=_objectWithoutProperties$9(ut,["children","title","style"]),vt=_objectSpread$g({},ft),ht="".concat(et,"-overflowed-indicator"),mt="".concat(et,"-overflowed-indicator");tt.length===0&&rt!==!0?vt=_objectSpread$g({},vt,{display:"none"}):rt&&(vt=_objectSpread$g({},vt,{visibility:"hidden",position:"absolute"}),ht="".concat(ht,"-placeholder"),mt="".concat(mt,"-placeholder"));var bt=lt?"".concat(st,"-").concat(lt):"",dt={};return menuAllProps.forEach(function(xt){At[xt]!==void 0&&(dt[xt]=At[xt])}),reactExports.createElement(connected$2,Object.assign({title:nt,className:"".concat(st,"-overflowed-submenu"),popupClassName:bt},dt,{key:ht,eventKey:mt,disabled:!1,style:vt}),tt)},_e.setChildrenWidthAndResize=function(){if(_e.props.mode==="horizontal"){var et=reactDomExports.findDOMNode(_assertThisInitialized$16(_e));if(et){var tt=et.children;if(!(!tt||tt.length===0)){var rt=et.children[tt.length-1];setStyle$1(rt,"display","inline-block");var at=_e.getMenuItemNodes(),nt=at.filter(function(it){return it.className.split(" ").indexOf(MENUITEM_OVERFLOWED_CLASSNAME)>=0});nt.forEach(function(it){setStyle$1(it,"display","inline-block")}),_e.menuItemSizes=at.map(function(it){return getWidth(it)}),nt.forEach(function(it){setStyle$1(it,"display","none")}),_e.overflowedIndicatorWidth=getWidth(et.children[et.children.length-1]),_e.originalTotalWidth=_e.menuItemSizes.reduce(function(it,ot){return it+ot},0),_e.handleResize(),setStyle$1(rt,"display","none")}}}},_e.handleResize=function(){if(_e.props.mode==="horizontal"){var et=reactDomExports.findDOMNode(_assertThisInitialized$16(_e));if(et){var tt=getWidth(et);_e.overflowedItems=[];var rt=0,at;_e.originalTotalWidth>tt+FLOAT_PRECISION_ADJUST&&(at=-1,_e.menuItemSizes.forEach(function(nt){rt+=nt,rt+_e.overflowedIndicatorWidth<=tt&&(at+=1)})),_e.setState({lastVisibleIndex:at})}}},_e}return _createClass$1N($,[{key:"componentDidMount",value:function(){var et=this;if(this.setChildrenWidthAndResize(),this.props.level===1&&this.props.mode==="horizontal"){var tt=reactDomExports.findDOMNode(this);if(!tt)return;this.resizeObserver=new index$M(function(rt){rt.forEach(et.setChildrenWidthAndResize)}),[].slice.call(tt.children).concat(tt).forEach(function(rt){et.resizeObserver.observe(rt)}),typeof MutationObserver<"u"&&(this.mutationObserver=new MutationObserver(function(){et.resizeObserver.disconnect(),[].slice.call(tt.children).concat(tt).forEach(function(rt){et.resizeObserver.observe(rt)}),et.setChildrenWidthAndResize()}),this.mutationObserver.observe(tt,{attributes:!1,childList:!0,subTree:!1}))}}},{key:"componentWillUnmount",value:function(){this.resizeObserver&&this.resizeObserver.disconnect(),this.mutationObserver&&this.mutationObserver.disconnect()}},{key:"renderChildren",value:function(et){var tt=this,rt=this.state.lastVisibleIndex;return(et||[]).reduce(function(at,nt,it){var ot=nt;if(tt.props.mode==="horizontal"){var st=tt.getOverflowedSubMenuItem(nt.props.eventKey,[]);rt!==void 0&&tt.props.className.indexOf("".concat(tt.props.prefixCls,"-root"))!==-1&&(it>rt&&(ot=reactExports.cloneElement(nt,{style:{display:"none"},eventKey:"".concat(nt.props.eventKey,"-hidden"),className:"".concat(MENUITEM_OVERFLOWED_CLASSNAME)})),it===rt+1&&(tt.overflowedItems=et.slice(rt+1).map(function(ct){return reactExports.cloneElement(ct,{key:ct.props.eventKey,mode:"vertical-left"})}),st=tt.getOverflowedSubMenuItem(nt.props.eventKey,tt.overflowedItems)));var lt=[].concat(_toConsumableArray$c(at),[st,ot]);return it===et.length-1&<.push(tt.getOverflowedSubMenuItem(nt.props.eventKey,[],!0)),lt}return[].concat(_toConsumableArray$c(at),[ot])},[])}},{key:"render",value:function(){var et=this.props;et.visible,et.prefixCls,et.overflowedIndicator,et.mode,et.level;var tt=et.tag,rt=et.children;et.theme;var at=_objectWithoutProperties$9(et,["visible","prefixCls","overflowedIndicator","mode","level","tag","children","theme"]),nt=tt;return reactExports.createElement(nt,Object.assign({},at),this.renderChildren(rt))}}]),$}(reactExports.Component);DOMWrap.defaultProps={tag:"div",className:""};function _typeof$16(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$16=function(_e){return typeof _e}:_typeof$16=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$16(o)}function _extends$1Z(){return _extends$1Z=Object.assign||function(o){for(var $=1;$"u"?"undefined":_typeof$13($))==="object"){for(var tt in $)$.hasOwnProperty(tt)&&css(o,tt,$[tt]);return}if(typeof et<"u"){typeof et=="number"&&(et+="px"),o.style[$]=et;return}return getComputedStyleX(o,$)}each$b(["width","height"],function(o){var $=o.charAt(0).toUpperCase()+o.slice(1);domUtils["outer"+$]=function(et,tt){return et&&getWHIgnoreDisplay(et,o,tt?MARGIN_INDEX:BORDER_INDEX)};var _e=o==="width"?["Left","Right"]:["Top","Bottom"];domUtils[o]=function(et,tt){if(tt!==void 0){if(et){getComputedStyleX(et);var rt=isBorderBoxFn(et);return rt&&(tt+=getPBMWidth(et,["padding","border"],_e)),css(et,o,tt)}return}return et&&getWHIgnoreDisplay(et,o,CONTENT_INDEX)}});function setOffset(o,$){css(o,"position")==="static"&&(o.style.position="relative");var _e=getOffset(o),et={},tt=void 0,rt=void 0;for(rt in $)$.hasOwnProperty(rt)&&(tt=parseFloat(css(o,rt))||0,et[rt]=tt+$[rt]-_e[rt]);css(o,et)}var util$l=_extends$1Y({getWindow:function($){var _e=$.ownerDocument||$;return _e.defaultView||_e.parentWindow},offset:function($,_e){if(typeof _e<"u")setOffset($,_e);else return getOffset($)},isWindow,each:each$b,css,clone:function($){var _e={};for(var et in $)$.hasOwnProperty(et)&&(_e[et]=$[et]);var tt=$.overflow;if(tt)for(var et in $)$.hasOwnProperty(et)&&(_e.overflow[et]=$.overflow[et]);return _e},scrollLeft:function($,_e){if(isWindow($)){if(_e===void 0)return getScrollLeft($);window.scrollTo(_e,getScrollTop($))}else{if(_e===void 0)return $.scrollLeft;$.scrollLeft=_e}},scrollTop:function($,_e){if(isWindow($)){if(_e===void 0)return getScrollTop($);window.scrollTo(getScrollLeft($),_e)}else{if(_e===void 0)return $.scrollTop;$.scrollTop=_e}},viewportWidth:0,viewportHeight:0},domUtils),util$k=util$l;function scrollIntoView$1(o,$,_e){_e=_e||{},$.nodeType===9&&($=util$k.getWindow($));var et=_e.allowHorizontalScroll,tt=_e.onlyScrollIfNeeded,rt=_e.alignWithTop,at=_e.alignWithLeft,nt=_e.offsetTop||0,it=_e.offsetLeft||0,ot=_e.offsetBottom||0,st=_e.offsetRight||0;et=et===void 0?!0:et;var lt=util$k.isWindow($),ct=util$k.offset(o),ut=util$k.outerHeight(o),ft=util$k.outerWidth(o),At=void 0,vt=void 0,ht=void 0,mt=void 0,bt=void 0,dt=void 0,xt=void 0,Ct=void 0,gt=void 0,wt=void 0;lt?(xt=$,wt=util$k.height(xt),gt=util$k.width(xt),Ct={left:util$k.scrollLeft(xt),top:util$k.scrollTop(xt)},bt={left:ct.left-Ct.left-it,top:ct.top-Ct.top-nt},dt={left:ct.left+ft-(Ct.left+gt)+st,top:ct.top+ut-(Ct.top+wt)+ot},mt=Ct):(At=util$k.offset($),vt=$.clientHeight,ht=$.clientWidth,mt={left:$.scrollLeft,top:$.scrollTop},bt={left:ct.left-(At.left+(parseFloat(util$k.css($,"borderLeftWidth"))||0))-it,top:ct.top-(At.top+(parseFloat(util$k.css($,"borderTopWidth"))||0))-nt},dt={left:ct.left+ft-(At.left+ht+(parseFloat(util$k.css($,"borderRightWidth"))||0))+st,top:ct.top+ut-(At.top+vt+(parseFloat(util$k.css($,"borderBottomWidth"))||0))+ot}),bt.top<0||dt.top>0?rt===!0?util$k.scrollTop($,mt.top+bt.top):rt===!1?util$k.scrollTop($,mt.top+dt.top):bt.top<0?util$k.scrollTop($,mt.top+bt.top):util$k.scrollTop($,mt.top+dt.top):tt||(rt=rt===void 0?!0:!!rt,rt?util$k.scrollTop($,mt.top+bt.top):util$k.scrollTop($,mt.top+dt.top)),et&&(bt.left<0||dt.left>0?at===!0?util$k.scrollLeft($,mt.left+bt.left):at===!1?util$k.scrollLeft($,mt.left+dt.left):bt.left<0?util$k.scrollLeft($,mt.left+bt.left):util$k.scrollLeft($,mt.left+dt.left):tt||(at=at===void 0?!0:!!at,at?util$k.scrollLeft($,mt.left+bt.left):util$k.scrollLeft($,mt.left+dt.left)))}var domScrollIntoView=scrollIntoView$1;(function(o){o.exports=domScrollIntoView})(lib$4);const scrollIntoView=getDefaultExportFromCjs(libExports$1);function _typeof$12(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$12=function(_e){return typeof _e}:_typeof$12=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$12(o)}function ownKeys$d(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$d(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$14(o){return _getPrototypeOf$14=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$14(o)}var SubMenu=function(o){_inherits$1L(_e,o);var $=_createSuper$X(_e);function _e(){var et;return _classCallCheck$1N(this,_e),et=$.apply(this,arguments),et.onKeyDown=function(tt){et.subMenu.onKeyDown(tt)},et.saveSubMenu=function(tt){et.subMenu=tt},et}return _createClass$1I(_e,[{key:"render",value:function(){var tt=this,rt=this.props,at=rt.rootPrefixCls,nt=rt.popupClassName;return reactExports.createElement(MenuContext$1.Consumer,null,function(it){var ot=it.antdMenuTheme;return reactExports.createElement(connected$2,_extends$1W({},tt.props,{ref:tt.saveSubMenu,popupClassName:classNames("".concat(at,"-").concat(ot),nt)}))})}}]),_e}(reactExports.Component);SubMenu.contextTypes={antdMenuTheme:propTypesExports.string};SubMenu.isSubMenu=1;const SubMenu$1=SubMenu;var autoAdjustOverflow={adjustX:1,adjustY:1},targetOffset$1=[0,0],placements={left:{points:["cr","cl"],overflow:autoAdjustOverflow,offset:[-4,0],targetOffset:targetOffset$1},right:{points:["cl","cr"],overflow:autoAdjustOverflow,offset:[4,0],targetOffset:targetOffset$1},top:{points:["bc","tc"],overflow:autoAdjustOverflow,offset:[0,-4],targetOffset:targetOffset$1},bottom:{points:["tc","bc"],overflow:autoAdjustOverflow,offset:[0,4],targetOffset:targetOffset$1},topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow,offset:[0,-4],targetOffset:targetOffset$1},leftTop:{points:["tr","tl"],overflow:autoAdjustOverflow,offset:[-4,0],targetOffset:targetOffset$1},topRight:{points:["br","tr"],overflow:autoAdjustOverflow,offset:[0,-4],targetOffset:targetOffset$1},rightTop:{points:["tl","tr"],overflow:autoAdjustOverflow,offset:[4,0],targetOffset:targetOffset$1},bottomRight:{points:["tr","br"],overflow:autoAdjustOverflow,offset:[0,4],targetOffset:targetOffset$1},rightBottom:{points:["bl","br"],overflow:autoAdjustOverflow,offset:[4,0],targetOffset:targetOffset$1},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow,offset:[0,4],targetOffset:targetOffset$1},leftBottom:{points:["br","bl"],overflow:autoAdjustOverflow,offset:[-4,0],targetOffset:targetOffset$1}},Content$1=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,o.apply(this,arguments))}return $.prototype.componentDidUpdate=function(){var et=this.props.trigger;et&&et.forcePopupAlign()},$.prototype.render=function(){var et=this.props,tt=et.overlay,rt=et.prefixCls,at=et.id;return React$k.createElement("div",{className:rt+"-inner",id:at,role:"tooltip"},typeof tt=="function"?tt():tt)},$}(React$k.Component);Content$1.propTypes={prefixCls:propTypesExports.string,overlay:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]).isRequired,id:propTypesExports.string,trigger:propTypesExports.any};var Tooltip$2=function(o){_default$8($,o);function $(){var _e,et,tt;_default$c(this,$);for(var rt=arguments.length,at=Array(rt),nt=0;nt0&&arguments[0]!==void 0?arguments[0]:{},$=o.arrowWidth,_e=$===void 0?5:$,et=o.horizontalArrowShift,tt=et===void 0?16:et,rt=o.verticalArrowShift,at=rt===void 0?12:rt,nt=o.autoAdjustOverflow,it=nt===void 0?!0:nt,ot={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(tt+_e),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(at+_e)]},topRight:{points:["br","tc"],offset:[tt+_e,-4]},rightTop:{points:["tl","cr"],offset:[4,-(at+_e)]},bottomRight:{points:["tr","bc"],offset:[tt+_e,4]},rightBottom:{points:["bl","cr"],offset:[4,at+_e]},bottomLeft:{points:["tl","bc"],offset:[-(tt+_e),4]},leftBottom:{points:["br","cl"],offset:[-4,at+_e]}};return Object.keys(ot).forEach(function(st){ot[st]=o.arrowPointAtCenter?_extends$1V(_extends$1V({},ot[st]),{overflow:getOverflowOptions(it),targetOffset}):_extends$1V(_extends$1V({},placements[st]),{overflow:getOverflowOptions(it)}),ot[st].ignoreShake=!0}),ot}function _typeof$$(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$$=function(_e){return typeof _e}:_typeof$$=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$$(o)}function _defineProperty$13(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$1M(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$_(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1H(o,$,_e){return $&&_defineProperties$_(o.prototype,$),_e&&_defineProperties$_(o,_e),o}function _inherits$1K(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$10(o,$)}function _setPrototypeOf$10(o,$){return _setPrototypeOf$10=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$10(o,$)}function _createSuper$W(o){var $=_isNativeReflectConstruct$W();return function(){var et=_getPrototypeOf$13(o),tt;if($){var rt=_getPrototypeOf$13(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1K(this,tt)}}function _possibleConstructorReturn$1K(o,$){return $&&(_typeof$$($)==="object"||typeof $=="function")?$:_assertThisInitialized$10(o)}function _assertThisInitialized$10(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$W(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$13(o){return _getPrototypeOf$13=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$13(o)}function _extends$1U(){return _extends$1U=Object.assign||function(o){for(var $=1;$=0||it.indexOf("Bottom")>=0?st.top="".concat(ot.height-at.offset[1],"px"):(it.indexOf("Top")>=0||it.indexOf("bottom")>=0)&&(st.top="".concat(-at.offset[1],"px")),it.indexOf("left")>=0||it.indexOf("Right")>=0?st.left="".concat(ot.width-at.offset[0],"px"):(it.indexOf("right")>=0||it.indexOf("Left")>=0)&&(st.left="".concat(-at.offset[0],"px")),rt.style.transformOrigin="".concat(st.left," ").concat(st.top)}},tt.renderTooltip=function(rt){var at=rt.getPopupContainer,nt=rt.getPrefixCls,it=_assertThisInitialized$10(tt),ot=it.props,st=it.state,lt=ot.prefixCls,ct=ot.openClassName,ut=ot.getPopupContainer,ft=ot.getTooltipContainer,At=ot.children,vt=nt("tooltip",lt),ht=st.visible;!("visible"in ot)&&tt.isNoTitle()&&(ht=!1);var mt=getDisabledCompatibleChildren(reactExports.isValidElement(At)?At:reactExports.createElement("span",null,At)),bt=mt.props,dt=classNames(bt.className,_defineProperty$13({},ct||"".concat(vt,"-open"),!0));return reactExports.createElement(Tooltip$2,_extends$1U({},tt.props,{prefixCls:vt,getTooltipContainer:ut||ft||at,ref:tt.saveTooltip,builtinPlacements:tt.getPlacements(),overlay:tt.getOverlay(),visible:ht,onVisibleChange:tt.onVisibleChange,onPopupAlign:tt.onPopupAlign}),ht?reactExports.cloneElement(mt,{className:dt}):mt)},tt.state={visible:!!et.visible||!!et.defaultVisible},tt}return _createClass$1H(_e,[{key:"getPopupDomNode",value:function(){return this.tooltip.getPopupDomNode()}},{key:"getPlacements",value:function(){var tt=this.props,rt=tt.builtinPlacements,at=tt.arrowPointAtCenter,nt=tt.autoAdjustOverflow;return rt||getPlacements({arrowPointAtCenter:at,verticalArrowShift:8,autoAdjustOverflow:nt})}},{key:"isNoTitle",value:function(){var tt=this.props,rt=tt.title,at=tt.overlay;return!rt&&!at&&rt!==0}},{key:"getOverlay",value:function(){var tt=this.props,rt=tt.title,at=tt.overlay;return rt===0?rt:at||rt||""}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderTooltip)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"visible"in tt?{visible:tt.visible}:null}}]),_e}(reactExports.Component);Tooltip.defaultProps={placement:"top",transitionName:"zoom-big-fast",mouseEnterDelay:.1,mouseLeaveDelay:.1,arrowPointAtCenter:!1,autoAdjustOverflow:!0};polyfill(Tooltip);const Tooltip$1=Tooltip;function _typeof$_(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$_=function(_e){return typeof _e}:_typeof$_=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$_(o)}function _extends$1T(){return _extends$1T=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$12(o){return _getPrototypeOf$12=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$12(o)}var __rest$w=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$11(o){return _getPrototypeOf$11=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$11(o)}var InternalMenu=function(o){_inherits$1I(_e,o);var $=_createSuper$U(_e);function _e(et){var tt;_classCallCheck$1K(this,_e),tt=$.call(this,et),tt.handleMouseEnter=function(at){tt.restoreModeVerticalFromInline();var nt=tt.props.onMouseEnter;nt&&nt(at)},tt.handleTransitionEnd=function(at){var nt=at.propertyName==="width"&&at.target===at.currentTarget,it=at.target.className,ot=Object.prototype.toString.call(it)==="[object SVGAnimatedString]"?it.animVal:it,st=at.propertyName==="font-size"&&ot.indexOf("anticon")>=0;(nt||st)&&tt.restoreModeVerticalFromInline()},tt.handleClick=function(at){tt.handleOpenChange([]);var nt=tt.props.onClick;nt&&nt(at)},tt.handleOpenChange=function(at){tt.setOpenKeys(at);var nt=tt.props.onOpenChange;nt&&nt(at)},tt.renderMenu=function(at){var nt=at.getPopupContainer,it=at.getPrefixCls,ot=tt.props,st=ot.prefixCls,lt=ot.className,ct=ot.theme,ut=ot.collapsedWidth,ft=omit(tt.props,["collapsedWidth","siderCollapsed"]),At=tt.getRealMenuMode(),vt=tt.getOpenMotionProps(At),ht=it("menu",st),mt=classNames(lt,"".concat(ht,"-").concat(ct),_defineProperty$12({},"".concat(ht,"-inline-collapsed"),tt.getInlineCollapsed())),bt=_extends$1S({openKeys:tt.state.openKeys,onOpenChange:tt.handleOpenChange,className:mt,mode:At},vt);At!=="inline"&&(bt.onClick=tt.handleClick);var dt=tt.getInlineCollapsed()&&(ut===0||ut==="0"||ut==="0px");return dt&&(bt.openKeys=[]),reactExports.createElement(Menu$1,_extends$1S({getPopupContainer:nt},ft,bt,{prefixCls:ht,onTransitionEnd:tt.handleTransitionEnd,onMouseEnter:tt.handleMouseEnter}))},warning$4(!("onOpen"in et||"onClose"in et),"Menu","`onOpen` and `onClose` are removed, please use `onOpenChange` instead, see: https://u.ant.design/menu-on-open-change."),warning$4(!("inlineCollapsed"in et&&et.mode!=="inline"),"Menu","`inlineCollapsed` should only be used when `mode` is inline."),warning$4(!(et.siderCollapsed!==void 0&&"inlineCollapsed"in et),"Menu","`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.");var rt;return"openKeys"in et?rt=et.openKeys:"defaultOpenKeys"in et&&(rt=et.defaultOpenKeys),tt.state={openKeys:rt||[],switchingModeFromInline:!1,inlineOpenKeys:[],prevProps:et},tt}return _createClass$1F(_e,[{key:"componentWillUnmount",value:function(){wrapperRaf.cancel(this.mountRafId)}},{key:"setOpenKeys",value:function(tt){"openKeys"in this.props||this.setState({openKeys:tt})}},{key:"getRealMenuMode",value:function(){var tt=this.getInlineCollapsed();if(this.state.switchingModeFromInline&&tt)return"inline";var rt=this.props.mode;return tt?"vertical":rt}},{key:"getInlineCollapsed",value:function(){var tt=this.props.inlineCollapsed;return this.props.siderCollapsed!==void 0?this.props.siderCollapsed:tt}},{key:"getOpenMotionProps",value:function(tt){var rt=this.props,at=rt.openTransitionName,nt=rt.openAnimation,it=rt.motion;return it?{motion:it}:nt?(warning$4(typeof nt=="string","Menu","`openAnimation` do not support object. Please use `motion` instead."),{openAnimation:nt}):at?{openTransitionName:at}:tt==="horizontal"?{motion:{motionName:"slide-up"}}:tt==="inline"?{motion:collapseMotion$1}:{motion:{motionName:this.state.switchingModeFromInline?"":"zoom-big"}}}},{key:"restoreModeVerticalFromInline",value:function(){var tt=this.state.switchingModeFromInline;tt&&this.setState({switchingModeFromInline:!1})}},{key:"render",value:function(){return reactExports.createElement(MenuContext$1.Provider,{value:{inlineCollapsed:this.getInlineCollapsed()||!1,antdMenuTheme:this.props.theme}},reactExports.createElement(ConfigConsumer,null,this.renderMenu))}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=rt.prevProps,nt={prevProps:tt};return at.mode==="inline"&&tt.mode!=="inline"&&(nt.switchingModeFromInline=!0),"openKeys"in tt?nt.openKeys=tt.openKeys:((tt.inlineCollapsed&&!at.inlineCollapsed||tt.siderCollapsed&&!at.siderCollapsed)&&(nt.switchingModeFromInline=!0,nt.inlineOpenKeys=rt.openKeys,nt.openKeys=[]),(!tt.inlineCollapsed&&at.inlineCollapsed||!tt.siderCollapsed&&at.siderCollapsed)&&(nt.openKeys=rt.inlineOpenKeys,nt.inlineOpenKeys=[])),nt}}]),_e}(reactExports.Component);InternalMenu.defaultProps={className:"",theme:"light",focusable:!1};polyfill(InternalMenu);var Menu=function(o){_inherits$1I(_e,o);var $=_createSuper$U(_e);function _e(){return _classCallCheck$1K(this,_e),$.apply(this,arguments)}return _createClass$1F(_e,[{key:"render",value:function(){var tt=this;return reactExports.createElement(SiderContext.Consumer,null,function(rt){return reactExports.createElement(InternalMenu,_extends$1S({},tt.props,rt))})}}]),_e}(reactExports.Component);Menu.Divider=Divider$2;Menu.Item=MenuItem;Menu.SubMenu=SubMenu$1;Menu.ItemGroup=MenuItemGroup;var objectProto$h=Object.prototype,hasOwnProperty$f=objectProto$h.hasOwnProperty;function baseHas$1(o,$){return o!=null&&hasOwnProperty$f.call(o,$)}var _baseHas=baseHas$1,isArray$i=Array.isArray,isArray_1=isArray$i,freeGlobal$1=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,_freeGlobal=freeGlobal$1,freeGlobal=_freeGlobal,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root$c=freeGlobal||freeSelf||Function("return this")(),_root=root$c,root$b=_root,Symbol$6=root$b.Symbol,_Symbol=Symbol$6,Symbol$5=_Symbol,objectProto$g=Object.prototype,hasOwnProperty$e=objectProto$g.hasOwnProperty,nativeObjectToString$1=objectProto$g.toString,symToStringTag$1=Symbol$5?Symbol$5.toStringTag:void 0;function getRawTag$1(o){var $=hasOwnProperty$e.call(o,symToStringTag$1),_e=o[symToStringTag$1];try{o[symToStringTag$1]=void 0;var et=!0}catch(rt){}var tt=nativeObjectToString$1.call(o);return et&&($?o[symToStringTag$1]=_e:delete o[symToStringTag$1]),tt}var _getRawTag=getRawTag$1,objectProto$f=Object.prototype,nativeObjectToString=objectProto$f.toString;function objectToString$1(o){return nativeObjectToString.call(o)}var _objectToString=objectToString$1,Symbol$4=_Symbol,getRawTag=_getRawTag,objectToString=_objectToString,nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$4?Symbol$4.toStringTag:void 0;function baseGetTag$7(o){return o==null?o===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(o)?getRawTag(o):objectToString(o)}var _baseGetTag=baseGetTag$7;function isObjectLike$8(o){return o!=null&&typeof o=="object"}var isObjectLike_1=isObjectLike$8,baseGetTag$6=_baseGetTag,isObjectLike$7=isObjectLike_1,symbolTag$1="[object Symbol]";function isSymbol$6(o){return typeof o=="symbol"||isObjectLike$7(o)&&baseGetTag$6(o)==symbolTag$1}var isSymbol_1=isSymbol$6,isArray$h=isArray_1,isSymbol$5=isSymbol_1,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey$3(o,$){if(isArray$h(o))return!1;var _e=typeof o;return _e=="number"||_e=="symbol"||_e=="boolean"||o==null||isSymbol$5(o)?!0:reIsPlainProp.test(o)||!reIsDeepProp.test(o)||$!=null&&o in Object($)}var _isKey=isKey$3;function isObject$k(o){var $=typeof o;return o!=null&&($=="object"||$=="function")}var isObject_1=isObject$k,baseGetTag$5=_baseGetTag,isObject$j=isObject_1,asyncTag="[object AsyncFunction]",funcTag$1="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$9(o){if(!isObject$j(o))return!1;var $=baseGetTag$5(o);return $==funcTag$1||$==genTag||$==asyncTag||$==proxyTag}var isFunction_1=isFunction$9,root$a=_root,coreJsData$1=root$a["__core-js_shared__"],_coreJsData=coreJsData$1,coreJsData=_coreJsData,maskSrcKey=function(){var o=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}();function isMasked$1(o){return!!maskSrcKey&&maskSrcKey in o}var _isMasked=isMasked$1,funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource$2(o){if(o!=null){try{return funcToString$2.call(o)}catch($){}try{return o+""}catch($){}}return""}var _toSource=toSource$2,isFunction$8=isFunction_1,isMasked=_isMasked,isObject$i=isObject_1,toSource$1=_toSource,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$e=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$d=objectProto$e.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$d).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative$1(o){if(!isObject$i(o)||isMasked(o))return!1;var $=isFunction$8(o)?reIsNative:reIsHostCtor;return $.test(toSource$1(o))}var _baseIsNative=baseIsNative$1;function getValue$4(o,$){return o==null?void 0:o[$]}var _getValue=getValue$4,baseIsNative=_baseIsNative,getValue$3=_getValue;function getNative$7(o,$){var _e=getValue$3(o,$);return baseIsNative(_e)?_e:void 0}var _getNative=getNative$7,getNative$6=_getNative,nativeCreate$4=getNative$6(Object,"create"),_nativeCreate=nativeCreate$4,nativeCreate$3=_nativeCreate;function hashClear$1(){this.__data__=nativeCreate$3?nativeCreate$3(null):{},this.size=0}var _hashClear=hashClear$1;function hashDelete$1(o){var $=this.has(o)&&delete this.__data__[o];return this.size-=$?1:0,$}var _hashDelete=hashDelete$1,nativeCreate$2=_nativeCreate,HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$d=Object.prototype,hasOwnProperty$c=objectProto$d.hasOwnProperty;function hashGet$1(o){var $=this.__data__;if(nativeCreate$2){var _e=$[o];return _e===HASH_UNDEFINED$2?void 0:_e}return hasOwnProperty$c.call($,o)?$[o]:void 0}var _hashGet=hashGet$1,nativeCreate$1=_nativeCreate,objectProto$c=Object.prototype,hasOwnProperty$b=objectProto$c.hasOwnProperty;function hashHas$1(o){var $=this.__data__;return nativeCreate$1?$[o]!==void 0:hasOwnProperty$b.call($,o)}var _hashHas=hashHas$1,nativeCreate=_nativeCreate,HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet$1(o,$){var _e=this.__data__;return this.size+=this.has(o)?0:1,_e[o]=nativeCreate&&$===void 0?HASH_UNDEFINED$1:$,this}var _hashSet=hashSet$1,hashClear=_hashClear,hashDelete=_hashDelete,hashGet=_hashGet,hashHas=_hashHas,hashSet=_hashSet;function Hash$1(o){var $=-1,_e=o==null?0:o.length;for(this.clear();++$<_e;){var et=o[$];this.set(et[0],et[1])}}Hash$1.prototype.clear=hashClear;Hash$1.prototype.delete=hashDelete;Hash$1.prototype.get=hashGet;Hash$1.prototype.has=hashHas;Hash$1.prototype.set=hashSet;var _Hash=Hash$1;function listCacheClear$1(){this.__data__=[],this.size=0}var _listCacheClear=listCacheClear$1;function eq$5(o,$){return o===$||o!==o&&$!==$}var eq_1=eq$5,eq$4=eq_1;function assocIndexOf$4(o,$){for(var _e=o.length;_e--;)if(eq$4(o[_e][0],$))return _e;return-1}var _assocIndexOf=assocIndexOf$4,assocIndexOf$3=_assocIndexOf,arrayProto=Array.prototype,splice$2=arrayProto.splice;function listCacheDelete$1(o){var $=this.__data__,_e=assocIndexOf$3($,o);if(_e<0)return!1;var et=$.length-1;return _e==et?$.pop():splice$2.call($,_e,1),--this.size,!0}var _listCacheDelete=listCacheDelete$1,assocIndexOf$2=_assocIndexOf;function listCacheGet$1(o){var $=this.__data__,_e=assocIndexOf$2($,o);return _e<0?void 0:$[_e][1]}var _listCacheGet=listCacheGet$1,assocIndexOf$1=_assocIndexOf;function listCacheHas$1(o){return assocIndexOf$1(this.__data__,o)>-1}var _listCacheHas=listCacheHas$1,assocIndexOf=_assocIndexOf;function listCacheSet$1(o,$){var _e=this.__data__,et=assocIndexOf(_e,o);return et<0?(++this.size,_e.push([o,$])):_e[et][1]=$,this}var _listCacheSet=listCacheSet$1,listCacheClear=_listCacheClear,listCacheDelete=_listCacheDelete,listCacheGet=_listCacheGet,listCacheHas=_listCacheHas,listCacheSet=_listCacheSet;function ListCache$4(o){var $=-1,_e=o==null?0:o.length;for(this.clear();++$<_e;){var et=o[$];this.set(et[0],et[1])}}ListCache$4.prototype.clear=listCacheClear;ListCache$4.prototype.delete=listCacheDelete;ListCache$4.prototype.get=listCacheGet;ListCache$4.prototype.has=listCacheHas;ListCache$4.prototype.set=listCacheSet;var _ListCache=ListCache$4,getNative$5=_getNative,root$9=_root,Map$5=getNative$5(root$9,"Map"),_Map=Map$5,Hash=_Hash,ListCache$3=_ListCache,Map$4=_Map;function mapCacheClear$1(){this.size=0,this.__data__={hash:new Hash,map:new(Map$4||ListCache$3),string:new Hash}}var _mapCacheClear=mapCacheClear$1;function isKeyable$1(o){var $=typeof o;return $=="string"||$=="number"||$=="symbol"||$=="boolean"?o!=="__proto__":o===null}var _isKeyable=isKeyable$1,isKeyable=_isKeyable;function getMapData$4(o,$){var _e=o.__data__;return isKeyable($)?_e[typeof $=="string"?"string":"hash"]:_e.map}var _getMapData=getMapData$4,getMapData$3=_getMapData;function mapCacheDelete$1(o){var $=getMapData$3(this,o).delete(o);return this.size-=$?1:0,$}var _mapCacheDelete=mapCacheDelete$1,getMapData$2=_getMapData;function mapCacheGet$1(o){return getMapData$2(this,o).get(o)}var _mapCacheGet=mapCacheGet$1,getMapData$1=_getMapData;function mapCacheHas$1(o){return getMapData$1(this,o).has(o)}var _mapCacheHas=mapCacheHas$1,getMapData=_getMapData;function mapCacheSet$1(o,$){var _e=getMapData(this,o),et=_e.size;return _e.set(o,$),this.size+=_e.size==et?0:1,this}var _mapCacheSet=mapCacheSet$1,mapCacheClear=_mapCacheClear,mapCacheDelete=_mapCacheDelete,mapCacheGet=_mapCacheGet,mapCacheHas=_mapCacheHas,mapCacheSet=_mapCacheSet;function MapCache$3(o){var $=-1,_e=o==null?0:o.length;for(this.clear();++$<_e;){var et=o[$];this.set(et[0],et[1])}}MapCache$3.prototype.clear=mapCacheClear;MapCache$3.prototype.delete=mapCacheDelete;MapCache$3.prototype.get=mapCacheGet;MapCache$3.prototype.has=mapCacheHas;MapCache$3.prototype.set=mapCacheSet;var _MapCache=MapCache$3,MapCache$2=_MapCache,FUNC_ERROR_TEXT$2="Expected a function";function memoize$3(o,$){if(typeof o!="function"||$!=null&&typeof $!="function")throw new TypeError(FUNC_ERROR_TEXT$2);var _e=function(){var et=arguments,tt=$?$.apply(this,et):et[0],rt=_e.cache;if(rt.has(tt))return rt.get(tt);var at=o.apply(this,et);return _e.cache=rt.set(tt,at)||rt,at};return _e.cache=new(memoize$3.Cache||MapCache$2),_e}memoize$3.Cache=MapCache$2;var memoize_1=memoize$3,memoize$2=memoize_1,MAX_MEMOIZE_SIZE=500;function memoizeCapped$1(o){var $=memoize$2(o,function(et){return _e.size===MAX_MEMOIZE_SIZE&&_e.clear(),et}),_e=$.cache;return $}var _memoizeCapped=memoizeCapped$1,memoizeCapped=_memoizeCapped,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath$2=memoizeCapped(function(o){var $=[];return o.charCodeAt(0)===46&&$.push(""),o.replace(rePropName,function(_e,et,tt,rt){$.push(tt?rt.replace(reEscapeChar,"$1"):et||_e)}),$}),_stringToPath=stringToPath$2;function arrayMap$3(o,$){for(var _e=-1,et=o==null?0:o.length,tt=Array(et);++_e-1&&o%1==0&&o<$}var _isIndex=isIndex$4,MAX_SAFE_INTEGER$1=9007199254740991;function isLength$3(o){return typeof o=="number"&&o>-1&&o%1==0&&o<=MAX_SAFE_INTEGER$1}var isLength_1=isLength$3,isSymbol$3=isSymbol_1,INFINITY$2=1/0;function toKey$7(o){if(typeof o=="string"||isSymbol$3(o))return o;var $=o+"";return $=="0"&&1/o==-INFINITY$2?"-0":$}var _toKey=toKey$7,castPath$3=_castPath,isArguments$5=isArguments_1,isArray$e=isArray_1,isIndex$3=_isIndex,isLength$2=isLength_1,toKey$6=_toKey;function hasPath$2(o,$,_e){$=castPath$3($,o);for(var et=-1,tt=$.length,rt=!1;++et1?arguments[1]:void 0,at=rt!==void 0,nt=0,it=getIterFn$1(_e),ot,st,lt,ct;if(at&&(rt=ctx$3(rt,tt>2?arguments[2]:void 0,2)),it!=null&&!(et==Array&&isArrayIter$1(it)))for(ct=it.call(_e),st=new et;!(lt=ct.next()).done;nt++)createProperty(st,nt,at?call$2(ct,rt,[lt.value,nt],!0):lt.value);else for(ot=toLength$1(_e.length),st=new et(ot);ot>nt;nt++)createProperty(st,nt,at?rt(_e[nt],nt):_e[nt]);return st.length=nt,st}});var from=_coreExports.Array.from;(function(o){o.exports={default:from,__esModule:!0}})(from$1);var _from=fromExports,_from2=_interopRequireDefault$e(_from);function _interopRequireDefault$e(o){return o&&o.__esModule?o:{default:o}}var _default$7=function(o){if(Array.isArray(o)){for(var $=0,_e=Array(o.length);$"u")throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var ReactNoopUpdateQueue=new React$i.Component().updater,createReactClass=factory(React$i.Component,React$i.isValidElement,ReactNoopUpdateQueue),es$2={},util$j={};Object.defineProperty(util$j,"__esModule",{value:!0});var _extends$1R=Object.assign||function(o){for(var $=1;$=rt)return it;switch(it){case"%s":return String($[et++]);case"%d":return Number($[et++]);case"%j":try{return JSON.stringify($[et++])}catch(ot){return"[Circular]"}break;default:return it}}),nt=$[et];et"u"?"undefined":_typeof$Y(et))==="object"&&_typeof$Y(o[_e])==="object"?o[_e]=_extends$1R({},o[_e],et):o[_e]=et}}return o}var validator={},string$2={},rule={},required$2={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$j,_e=et($);function et(rt){if(rt&&rt.__esModule)return rt;var at={};if(rt!=null)for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(at[nt]=rt[nt]);return at.default=rt,at}function tt(rt,at,nt,it,ot,st){rt.required&&(!nt.hasOwnProperty(rt.field)||_e.isEmptyValue(at,st||rt.type))&&it.push(_e.format(ot.messages.required,rt.fullField))}o.default=tt})(required$2);var whitespace={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$j,_e=et($);function et(rt){if(rt&&rt.__esModule)return rt;var at={};if(rt!=null)for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(at[nt]=rt[nt]);return at.default=rt,at}function tt(rt,at,nt,it,ot){(/^\s+$/.test(at)||at==="")&&it.push(_e.format(ot.messages.whitespace,rt.fullField))}o.default=tt})(whitespace);var type$3={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(lt){return typeof lt}:function(lt){return lt&&typeof Symbol=="function"&<.constructor===Symbol&<!==Symbol.prototype?"symbol":typeof lt},_e=util$j,et=nt(_e),tt=required$2,rt=at(tt);function at(lt){return lt&<.__esModule?lt:{default:lt}}function nt(lt){if(lt&<.__esModule)return lt;var ct={};if(lt!=null)for(var ut in lt)Object.prototype.hasOwnProperty.call(lt,ut)&&(ct[ut]=lt[ut]);return ct.default=lt,ct}var it={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},ot={integer:function(ct){return ot.number(ct)&&parseInt(ct,10)===ct},float:function(ct){return ot.number(ct)&&!ot.integer(ct)},array:function(ct){return Array.isArray(ct)},regexp:function(ct){if(ct instanceof RegExp)return!0;try{return!!new RegExp(ct)}catch(ut){return!1}},date:function(ct){return typeof ct.getTime=="function"&&typeof ct.getMonth=="function"&&typeof ct.getYear=="function"},number:function(ct){return isNaN(ct)?!1:typeof ct=="number"},object:function(ct){return(typeof ct>"u"?"undefined":$(ct))==="object"&&!ot.array(ct)},method:function(ct){return typeof ct=="function"},email:function(ct){return typeof ct=="string"&&!!ct.match(it.email)&&ct.length<255},url:function(ct){return typeof ct=="string"&&!!ct.match(it.url)},hex:function(ct){return typeof ct=="string"&&!!ct.match(it.hex)}};function st(lt,ct,ut,ft,At){if(lt.required&&ct===void 0){(0,rt.default)(lt,ct,ut,ft,At);return}var vt=["integer","float","array","regexp","object","method","email","number","date","url","hex"],ht=lt.type;vt.indexOf(ht)>-1?ot[ht](ct)||ft.push(et.format(At.messages.types[ht],lt.fullField,lt.type)):ht&&(typeof ct>"u"?"undefined":$(ct))!==lt.type&&ft.push(et.format(At.messages.types[ht],lt.fullField,lt.type))}o.default=st})(type$3);var range$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$j,_e=et($);function et(rt){if(rt&&rt.__esModule)return rt;var at={};if(rt!=null)for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(at[nt]=rt[nt]);return at.default=rt,at}function tt(rt,at,nt,it,ot){var st=typeof rt.len=="number",lt=typeof rt.min=="number",ct=typeof rt.max=="number",ut=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ft=at,At=null,vt=typeof at=="number",ht=typeof at=="string",mt=Array.isArray(at);if(vt?At="number":ht?At="string":mt&&(At="array"),!At)return!1;mt&&(ft=at.length),ht&&(ft=at.replace(ut,"_").length),st?ft!==rt.len&&it.push(_e.format(ot.messages[At].len,rt.fullField,rt.len)):lt&&!ct&&ftrt.max?it.push(_e.format(ot.messages[At].max,rt.fullField,rt.max)):lt&&ct&&(ftrt.max)&&it.push(_e.format(ot.messages[At].range,rt.fullField,rt.min,rt.max))}o.default=tt})(range$1);var _enum$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$j,_e=et($);function et(at){if(at&&at.__esModule)return at;var nt={};if(at!=null)for(var it in at)Object.prototype.hasOwnProperty.call(at,it)&&(nt[it]=at[it]);return nt.default=at,nt}var tt="enum";function rt(at,nt,it,ot,st){at[tt]=Array.isArray(at[tt])?at[tt]:[],at[tt].indexOf(nt)===-1&&ot.push(_e.format(st.messages[tt],at.fullField,at[tt].join(", ")))}o.default=rt})(_enum$1);var pattern$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$j,_e=et($);function et(rt){if(rt&&rt.__esModule)return rt;var at={};if(rt!=null)for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(at[nt]=rt[nt]);return at.default=rt,at}function tt(rt,at,nt,it,ot){if(rt.pattern){if(rt.pattern instanceof RegExp)rt.pattern.lastIndex=0,rt.pattern.test(at)||it.push(_e.format(ot.messages.pattern.mismatch,rt.fullField,at,rt.pattern));else if(typeof rt.pattern=="string"){var st=new RegExp(rt.pattern);st.test(at)||it.push(_e.format(ot.messages.pattern.mismatch,rt.fullField,at,rt.pattern))}}}o.default=tt})(pattern$1);(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=required$2,_e=ut($),et=whitespace,tt=ut(et),rt=type$3,at=ut(rt),nt=range$1,it=ut(nt),ot=_enum$1,st=ut(ot),lt=pattern$1,ct=ut(lt);function ut(ft){return ft&&ft.__esModule?ft:{default:ft}}o.default={required:_e.default,whitespace:tt.default,type:at.default,range:it.default,enum:st.default,pattern:ct.default}})(rule);(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt,"string")&&!at.required)return it();_e.default.required(at,nt,ot,lt,st,"string"),(0,et.isEmptyValue)(nt,"string")||(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st),_e.default.pattern(at,nt,ot,lt,st),at.whitespace===!0&&_e.default.whitespace(at,nt,ot,lt,st))}it(lt)}o.default=rt})(string$2);var method={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&_e.default.type(at,nt,ot,lt,st)}it(lt)}o.default=rt})(method);var number$3={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if(nt===""&&(nt=void 0),(0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st))}it(lt)}o.default=rt})(number$3);var boolean={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=util$j,_e=rule,et=tt(_e);function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,$.isEmptyValue)(nt)&&!at.required)return it();et.default.required(at,nt,ot,lt,st),nt!==void 0&&et.default.type(at,nt,ot,lt,st)}it(lt)}o.default=rt})(boolean);var regexp={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),(0,et.isEmptyValue)(nt)||_e.default.type(at,nt,ot,lt,st)}it(lt)}o.default=rt})(regexp);var integer$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st))}it(lt)}o.default=rt})(integer$1);var float={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st))}it(lt)}o.default=rt})(float);var array$5={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt,"array")&&!at.required)return it();_e.default.required(at,nt,ot,lt,st,"array"),(0,et.isEmptyValue)(nt,"array")||(_e.default.type(at,nt,ot,lt,st),_e.default.range(at,nt,ot,lt,st))}it(lt)}o.default=rt})(array$5);var object$2={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),nt!==void 0&&_e.default.type(at,nt,ot,lt,st)}it(lt)}o.default=rt})(object$2);var _enum={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(nt){return nt&&nt.__esModule?nt:{default:nt}}var rt="enum";function at(nt,it,ot,st,lt){var ct=[],ut=nt.required||!nt.required&&st.hasOwnProperty(nt.field);if(ut){if((0,et.isEmptyValue)(it)&&!nt.required)return ot();_e.default.required(nt,it,st,ct,lt),it&&_e.default[rt](nt,it,st,ct,lt)}ot(ct)}o.default=at})(_enum);var pattern={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt,"string")&&!at.required)return it();_e.default.required(at,nt,ot,lt,st),(0,et.isEmptyValue)(nt,"string")||_e.default.pattern(at,nt,ot,lt,st)}it(lt)}o.default=rt})(pattern);var date$2={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ct){if((0,et.isEmptyValue)(nt)&&!at.required)return it();if(_e.default.required(at,nt,ot,lt,st),!(0,et.isEmptyValue)(nt)){var ut=void 0;typeof nt=="number"?ut=new Date(nt):ut=nt,_e.default.type(at,ut,ot,lt,st),ut&&_e.default.range(at,ut.getTime(),ot,lt,st)}}it(lt)}o.default=rt})(date$2);var required$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(at){return typeof at}:function(at){return at&&typeof Symbol=="function"&&at.constructor===Symbol&&at!==Symbol.prototype?"symbol":typeof at},_e=rule,et=tt(_e);function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=[],ct=Array.isArray(nt)?"array":typeof nt>"u"?"undefined":$(nt);et.default.required(at,nt,ot,lt,st,ct),it(lt)}o.default=rt})(required$1);var type$2={};(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=rule,_e=tt($),et=util$j;function tt(at){return at&&at.__esModule?at:{default:at}}function rt(at,nt,it,ot,st){var lt=at.type,ct=[],ut=at.required||!at.required&&ot.hasOwnProperty(at.field);if(ut){if((0,et.isEmptyValue)(nt,lt)&&!at.required)return it();_e.default.required(at,nt,ot,ct,st,lt),(0,et.isEmptyValue)(nt,lt)||_e.default.type(at,nt,ot,ct,st)}it(ct)}o.default=rt})(type$2);(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=string$2,_e=Rt($),et=method,tt=Rt(et),rt=number$3,at=Rt(rt),nt=boolean,it=Rt(nt),ot=regexp,st=Rt(ot),lt=integer$1,ct=Rt(lt),ut=float,ft=Rt(ut),At=array$5,vt=Rt(At),ht=object$2,mt=Rt(ht),bt=_enum,dt=Rt(bt),xt=pattern,Ct=Rt(xt),gt=date$2,wt=Rt(gt),_t=required$1,Et=Rt(_t),It=type$2,Tt=Rt(It);function Rt(Ot){return Ot&&Ot.__esModule?Ot:{default:Ot}}o.default={string:_e.default,method:tt.default,number:at.default,boolean:it.default,regexp:st.default,integer:ct.default,float:ft.default,array:vt.default,object:mt.default,enum:dt.default,pattern:Ct.default,date:wt.default,url:Tt.default,hex:Tt.default,email:Tt.default,required:Et.default}})(validator);var messages={};Object.defineProperty(messages,"__esModule",{value:!0});messages.newMessages=newMessages;function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var $=JSON.parse(JSON.stringify(this));return $.clone=this.clone,$}}}messages.messages=newMessages();(function(o){Object.defineProperty(o,"__esModule",{value:!0});var $=Object.assign||function(ot){for(var st=1;st"u"?"undefined":_e(st))!=="object"||Array.isArray(st))throw new Error("Rules must be an object");this.rules={};var lt=void 0,ct=void 0;for(lt in st)st.hasOwnProperty(lt)&&(ct=st[lt],this.rules[lt]=Array.isArray(ct)?ct:[ct])},validate:function(st){var lt=this,ct=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ut=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},ft=st,At=ct,vt=ut;if(typeof At=="function"&&(vt=At,At={}),!this.rules||Object.keys(this.rules).length===0)return vt&&vt(),Promise.resolve();function ht(wt){var _t=void 0,Et=[],It={};function Tt(Rt){if(Array.isArray(Rt)){var Ot;Et=(Ot=Et).concat.apply(Ot,Rt)}else Et.push(Rt)}for(_t=0;_t0&&arguments[0]!==void 0?arguments[0]:[],Bt=Mt;if(Array.isArray(Bt)||(Bt=[Bt]),!At.suppressWarning&&Bt.length&&it.warning("async-validator:",Bt),Bt.length&&Et.message&&(Bt=[].concat(Et.message)),Bt=Bt.map((0,et.complementError)(Et)),At.first&&Bt.length)return gt[Et.field]=1,_t(Bt);if(!It)_t(Bt);else{if(Et.required&&!wt.value)return Et.message?Bt=[].concat(Et.message).map((0,et.complementError)(Et)):At.error?Bt=[At.error(Et,(0,et.format)(At.messages.required,Et.field))]:Bt=[],_t(Bt);var Lt={};if(Et.defaultField)for(var jt in wt.value)wt.value.hasOwnProperty(jt)&&(Lt[jt]=Et.defaultField);Lt=$({},Lt,wt.rule.fields);for(var zt in Lt)if(Lt.hasOwnProperty(zt)){var Nt=Array.isArray(Lt[zt])?Lt[zt]:[Lt[zt]];Lt[zt]=Nt.map(Tt.bind(null,zt))}var Wt=new it(Lt);Wt.messages(At.messages),wt.rule.options&&(wt.rule.options.messages=At.messages,wt.rule.options.error=At.error),Wt.validate(wt.value,wt.rule.options||At,function(qt){var nr=[];Bt&&Bt.length&&nr.push.apply(nr,Bt),qt&&qt.length&&nr.push.apply(nr,qt),_t(nr.length?nr:null)})}}var Ot=void 0;Et.asyncValidator?Ot=Et.asyncValidator(Et,wt.value,Rt,wt.source,At):Et.validator&&(Ot=Et.validator(Et,wt.value,Rt,wt.source,At),Ot===!0?Rt():Ot===!1?Rt(Et.message||Et.field+" fails"):Ot instanceof Array?Rt(Ot):Ot instanceof Error&&Rt(Ot.message)),Ot&&Ot.then&&Ot.then(function(){return Rt()},function(Mt){return Rt(Mt)})},function(wt){ht(wt)})},getType:function(st){if(st.type===void 0&&st.pattern instanceof RegExp&&(st.type="pattern"),typeof st.validator!="function"&&st.type&&!rt.default.hasOwnProperty(st.type))throw new Error((0,et.format)("Unknown rule type %s",st.type));return st.type||"string"},getValidationMethod:function(st){if(typeof st.validator=="function")return st.validator;var lt=Object.keys(st),ct=lt.indexOf("message");return ct!==-1&<.splice(ct,1),lt.length===1&<[0]==="required"?rt.default.required:rt.default[this.getType(st)]||!1}},it.register=function(st,lt){if(typeof lt!="function")throw new Error("Cannot register a validator by type, validator is not a function");rt.default[st]=lt},it.warning=et.warning,it.messages=at.messages,o.default=it})(es$2);const AsyncValidator=getDefaultExportFromCjs(es$2);var castPath$2=_castPath,toKey$5=_toKey;function baseGet$3(o,$){$=castPath$2($,o);for(var _e=0,et=$.length;o!=null&&_e0&&arguments[0]!==void 0?arguments[0]:"",$=arguments[1],_e=arguments[2],et=arguments[3],tt=arguments[4];if(_e(o,$))tt(o,$);else if($!=null)if(Array.isArray($))$.forEach(function(rt,at){return treeTraverse(o+"["+at+"]",rt,_e,et,tt)});else{if(typeof $!="object")return;Object.keys($).forEach(function(rt){var at=$[rt];treeTraverse(""+o+(o?".":"")+rt,at,_e,et,tt)})}}function flattenFields(o,$,_e){var et={};return treeTraverse(void 0,o,$,_e,function(tt,rt){et[tt]=rt}),et}function normalizeValidateRules(o,$,_e){var et=o.map(function(tt){var rt=_default$bE({},tt,{trigger:tt.trigger||[]});return typeof rt.trigger=="string"&&(rt.trigger=[rt.trigger]),rt});return $&&et.push({trigger:_e?[].concat(_e):[],rules:$}),et}function getValidateTriggers(o){return o.filter(function($){return!!$.rules&&$.rules.length}).map(function($){return $.trigger}).reduce(function($,_e){return $.concat(_e)},[])}function getValueFromEvent(o){if(!o||!o.target)return o;var $=o.target;return $.type==="checkbox"?$.checked:$.value}function getErrorStrs(o){return o&&o.map(function($){return $&&$.message?$.message:$})}function getParams(o,$,_e){var et=o,tt=$,rt=_e;return _e===void 0&&(typeof et=="function"?(rt=et,tt={},et=void 0):Array.isArray(et)?typeof tt=="function"?(rt=tt,tt={}):tt=tt||{}:(rt=tt,tt=et||{},et=void 0)),{names:et,options:tt,callback:rt}}function isEmptyObject$2(o){return Object.keys(o).length===0}function hasRules(o){return o?o.some(function($){return $.rules&&$.rules.length}):!1}function startsWith(o,$){return o.lastIndexOf($,0)===0}function supportRef$2(o){var $=reactIsExports.isMemo(o)?o.type.type:o.type;return!(typeof $=="function"&&!($.prototype&&$.prototype.render)||typeof o=="function"&&!(o.prototype&&o.prototype.render))}function partOf(o,$){return $.indexOf(o)===0&&[".","["].indexOf($[o.length])!==-1}function internalFlattenFields(o){return flattenFields(o,function($,_e){return isFormField(_e)},"You must wrap field data with `createFormField`.")}var FieldsStore=function(){function o($){_default$c(this,o),_initialiseProps$4.call(this),this.fields=internalFlattenFields($),this.fieldsMeta={}}return _default$b(o,[{key:"updateFields",value:function(_e){this.fields=internalFlattenFields(_e)}},{key:"flattenRegisteredFields",value:function(_e){var et=this.getAllFieldsName();return flattenFields(_e,function(tt){return et.indexOf(tt)>=0},"You cannot set a form field before rendering a field associated with the value.")}},{key:"setFields",value:function(_e){var et=this,tt=this.fieldsMeta,rt=_default$bE({},this.fields,_e),at={};Object.keys(tt).forEach(function(nt){at[nt]=et.getValueFromFields(nt,rt)}),Object.keys(at).forEach(function(nt){var it=at[nt],ot=et.getFieldMeta(nt);if(ot&&ot.normalize){var st=ot.normalize(it,et.getValueFromFields(nt,et.fields),at);st!==it&&(rt[nt]=_default$bE({},rt[nt],{value:st}))}}),this.fields=rt}},{key:"resetFields",value:function(_e){var et=this.fields,tt=_e?this.getValidFieldsFullName(_e):this.getAllFieldsName();return tt.reduce(function(rt,at){var nt=et[at];return nt&&"value"in nt&&(rt[at]={}),rt},{})}},{key:"setFieldMeta",value:function(_e,et){this.fieldsMeta[_e]=et}},{key:"setFieldsAsDirty",value:function(){var _e=this;Object.keys(this.fields).forEach(function(et){var tt=_e.fields[et],rt=_e.fieldsMeta[et];tt&&rt&&hasRules(rt.validate)&&(_e.fields[et]=_default$bE({},tt,{dirty:!0}))})}},{key:"getFieldMeta",value:function(_e){return this.fieldsMeta[_e]=this.fieldsMeta[_e]||{},this.fieldsMeta[_e]}},{key:"getValueFromFields",value:function(_e,et){var tt=et[_e];if(tt&&"value"in tt)return tt.value;var rt=this.getFieldMeta(_e);return rt&&rt.initialValue}},{key:"getValidFieldsName",value:function(){var _e=this,et=this.fieldsMeta;return et?Object.keys(et).filter(function(tt){return!_e.getFieldMeta(tt).hidden}):[]}},{key:"getAllFieldsName",value:function(){var _e=this.fieldsMeta;return _e?Object.keys(_e):[]}},{key:"getValidFieldsFullName",value:function(_e){var et=Array.isArray(_e)?_e:[_e];return this.getValidFieldsName().filter(function(tt){return et.some(function(rt){return tt===rt||startsWith(tt,rt)&&[".","["].indexOf(tt[rt.length])>=0})})}},{key:"getFieldValuePropValue",value:function(_e){var et=_e.name,tt=_e.getValueProps,rt=_e.valuePropName,at=this.getField(et),nt="value"in at?at.value:_e.initialValue;return tt?tt(nt):_default$e({},rt,nt)}},{key:"getField",value:function(_e){return _default$bE({},this.fields[_e],{name:_e})}},{key:"getNotCollectedFields",value:function(){var _e=this,et=this.getValidFieldsName();return et.filter(function(tt){return!_e.fields[tt]}).map(function(tt){return{name:tt,dirty:!1,value:_e.getFieldMeta(tt).initialValue}}).reduce(function(tt,rt){return set_1(tt,rt.name,createFormField(rt))},{})}},{key:"getNestedAllFields",value:function(){var _e=this;return Object.keys(this.fields).reduce(function(et,tt){return set_1(et,tt,createFormField(_e.fields[tt]))},this.getNotCollectedFields())}},{key:"getFieldMember",value:function(_e,et){return this.getField(_e)[et]}},{key:"getNestedFields",value:function(_e,et){var tt=_e||this.getValidFieldsName();return tt.reduce(function(rt,at){return set_1(rt,at,et(at))},{})}},{key:"getNestedField",value:function(_e,et){var tt=this.getValidFieldsFullName(_e);if(tt.length===0||tt.length===1&&tt[0]===_e)return et(_e);var rt=tt[0][_e.length]==="[",at=rt?_e.length:_e.length+1;return tt.reduce(function(nt,it){return set_1(nt,it.slice(at),et(it))},rt?[]:{})}},{key:"isValidNestedFieldName",value:function(_e){var et=this.getAllFieldsName();return et.every(function(tt){return!partOf(tt,_e)&&!partOf(_e,tt)})}},{key:"clearField",value:function(_e){delete this.fields[_e],delete this.fieldsMeta[_e]}}]),o}(),_initialiseProps$4=function(){var $=this;this.setFieldsInitialValue=function(_e){var et=$.flattenRegisteredFields(_e),tt=$.fieldsMeta;Object.keys(et).forEach(function(rt){tt[rt]&&$.setFieldMeta(rt,_default$bE({},$.getFieldMeta(rt),{initialValue:et[rt]}))})},this.getAllValues=function(){var _e=$.fieldsMeta,et=$.fields;return Object.keys(_e).reduce(function(tt,rt){return set_1(tt,rt,$.getValueFromFields(rt,et))},{})},this.getFieldsValue=function(_e){return $.getNestedFields(_e,$.getFieldValue)},this.getFieldValue=function(_e){var et=$.fields;return $.getNestedField(_e,function(tt){return $.getValueFromFields(tt,et)})},this.getFieldsError=function(_e){return $.getNestedFields(_e,$.getFieldError)},this.getFieldError=function(_e){return $.getNestedField(_e,function(et){return getErrorStrs($.getFieldMember(et,"errors"))})},this.isFieldValidating=function(_e){return $.getFieldMember(_e,"validating")},this.isFieldsValidating=function(_e){var et=_e||$.getValidFieldsName();return et.some(function(tt){return $.isFieldValidating(tt)})},this.isFieldTouched=function(_e){return $.getFieldMember(_e,"touched")},this.isFieldsTouched=function(_e){var et=_e||$.getValidFieldsName();return et.some(function(tt){return $.isFieldTouched(tt)})}};function createFieldsStore(o){return new FieldsStore(o)}var FieldElemWrapper=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"componentDidMount",value:function(){var et=this.props,tt=et.name,rt=et.form;rt.domFields[tt]=!0,rt.recoverClearedField(tt)}},{key:"componentWillUnmount",value:function(){var et=this.props,tt=et.name,rt=et.form,at=rt.fieldsStore.getFieldMeta(tt);at.preserve||(rt.clearedFieldMetaCache[tt]={field:rt.fieldsStore.getField(tt),meta:at},rt.clearField(tt)),delete rt.domFields[tt]}},{key:"render",value:function(){return this.props.children}}]),$}(React$k.Component);FieldElemWrapper.propTypes={name:propTypesExports.string,form:propTypesExports.shape({domFields:propTypesExports.objectOf(propTypesExports.bool),recoverClearedField:propTypesExports.func,fieldsStore:propTypesExports.shape({getFieldMeta:propTypesExports.func,getField:propTypesExports.func}),clearedFieldMetaCache:propTypesExports.objectOf(propTypesExports.shape({field:propTypesExports.object,meta:propTypesExports.object})),clearField:propTypesExports.func}),children:propTypesExports.node};var DEFAULT_TRIGGER="onChange";function createBaseForm(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_e=o.validateMessages,et=o.onFieldsChange,tt=o.onValuesChange,rt=o.mapProps,at=rt===void 0?identity$c:rt,nt=o.mapPropsToFields,it=o.fieldNameProp,ot=o.fieldMetaProp,st=o.fieldDataProp,lt=o.formPropName,ct=lt===void 0?"form":lt,ut=o.name,ft=o.withRef;return function(vt){var ht=createReactClass({displayName:"Form",mixins:$,getInitialState:function(){var bt=this,dt=nt&&nt(this.props);return this.fieldsStore=createFieldsStore(dt||{}),this.instances={},this.cachedBind={},this.clearedFieldMetaCache={},this.renderFields={},this.domFields={},["getFieldsValue","getFieldValue","setFieldsInitialValue","getFieldsError","getFieldError","isFieldValidating","isFieldsValidating","isFieldsTouched","isFieldTouched"].forEach(function(xt){bt[xt]=function(){var Ct;return(Ct=bt.fieldsStore)[xt].apply(Ct,arguments)}}),{submitting:!1}},componentDidMount:function(){this.cleanUpUselessFields()},componentWillReceiveProps:function(bt){nt&&this.fieldsStore.updateFields(nt(bt))},componentDidUpdate:function(){this.cleanUpUselessFields()},onCollectCommon:function(bt,dt,xt){var Ct=this.fieldsStore.getFieldMeta(bt);if(Ct[dt])Ct[dt].apply(Ct,_default$7(xt));else if(Ct.originalProps&&Ct.originalProps[dt]){var gt;(gt=Ct.originalProps)[dt].apply(gt,_default$7(xt))}var wt=Ct.getValueFromEvent?Ct.getValueFromEvent.apply(Ct,_default$7(xt)):getValueFromEvent.apply(void 0,_default$7(xt));if(tt&&wt!==this.fieldsStore.getFieldValue(bt)){var _t=this.fieldsStore.getAllValues(),Et={};_t[bt]=wt,Object.keys(_t).forEach(function(Tt){return set_1(Et,Tt,_t[Tt])}),tt(_default$bE(_default$e({},ct,this.getForm()),this.props),set_1({},bt,wt),Et)}var It=this.fieldsStore.getField(bt);return{name:bt,field:_default$bE({},It,{value:wt,touched:!0}),fieldMeta:Ct}},onCollect:function(bt,dt){for(var xt=arguments.length,Ct=Array(xt>2?xt-2:0),gt=2;gt2?xt-2:0),gt=2;gt1&&arguments[1]!==void 0?arguments[1]:{};if(!bt)throw new Error("Must call `getFieldProps` with valid name string!");delete this.clearedFieldMetaCache[bt];var Ct=_default$bE({name:bt,trigger:DEFAULT_TRIGGER,valuePropName:"value",validate:[]},xt),gt=Ct.rules,wt=Ct.trigger,_t=Ct.validateTrigger,Et=_t===void 0?wt:_t,It=Ct.validate,Tt=this.fieldsStore.getFieldMeta(bt);"initialValue"in Ct&&(Tt.initialValue=Ct.initialValue);var Rt=_default$bE({},this.fieldsStore.getFieldValuePropValue(Ct),{ref:this.getCacheBind(bt,bt+"__ref",this.saveRef)});it&&(Rt[it]=ut?ut+"_"+bt:bt);var Ot=normalizeValidateRules(It,gt,Et),Mt=getValidateTriggers(Ot);Mt.forEach(function(Lt){Rt[Lt]||(Rt[Lt]=dt.getCacheBind(bt,Lt,dt.onCollectValidate))}),wt&&Mt.indexOf(wt)===-1&&(Rt[wt]=this.getCacheBind(bt,wt,this.onCollect));var Bt=_default$bE({},Tt,Ct,{validate:Ot});return this.fieldsStore.setFieldMeta(bt,Bt),ot&&(Rt[ot]=Bt),st&&(Rt[st]=this.fieldsStore.getField(bt)),this.renderFields[bt]=!0,Rt},getFieldInstance:function(bt){return this.instances[bt]},getRules:function(bt,dt){var xt=bt.validate.filter(function(Ct){return!dt||Ct.trigger.indexOf(dt)>=0}).map(function(Ct){return Ct.rules});return flattenArray(xt)},setFields:function(bt,dt){var xt=this,Ct=this.fieldsStore.flattenRegisteredFields(bt);if(this.fieldsStore.setFields(Ct),et){var gt=Object.keys(Ct).reduce(function(wt,_t){return set_1(wt,_t,xt.fieldsStore.getField(_t))},{});et(_default$bE(_default$e({},ct,this.getForm()),this.props),gt,this.fieldsStore.getNestedAllFields())}this.forceUpdate(dt)},setFieldsValue:function(bt,dt){var xt=this.fieldsStore.fieldsMeta,Ct=this.fieldsStore.flattenRegisteredFields(bt),gt=Object.keys(Ct).reduce(function(_t,Et){var It=xt[Et];if(It){var Tt=Ct[Et];_t[Et]={value:Tt}}return _t},{});if(this.setFields(gt,dt),tt){var wt=this.fieldsStore.getAllValues();tt(_default$bE(_default$e({},ct,this.getForm()),this.props),bt,wt)}},saveRef:function(bt,dt,xt){if(!xt){var Ct=this.fieldsStore.getFieldMeta(bt);Ct.preserve||(this.clearedFieldMetaCache[bt]={field:this.fieldsStore.getField(bt),meta:Ct},this.clearField(bt)),delete this.domFields[bt];return}this.domFields[bt]=!0,this.recoverClearedField(bt);var gt=this.fieldsStore.getFieldMeta(bt);if(gt){var wt=gt.ref;if(wt){if(typeof wt=="string")throw new Error("can not set ref string for "+bt);typeof wt=="function"?wt(xt):Object.prototype.hasOwnProperty.call(wt,"current")&&(wt.current=xt)}}this.instances[bt]=xt},cleanUpUselessFields:function(){var bt=this,dt=this.fieldsStore.getAllFieldsName(),xt=dt.filter(function(Ct){var gt=bt.fieldsStore.getFieldMeta(Ct);return!bt.renderFields[Ct]&&!bt.domFields[Ct]&&!gt.preserve});xt.length&&xt.forEach(this.clearField),this.renderFields={}},clearField:function(bt){this.fieldsStore.clearField(bt),delete this.instances[bt],delete this.cachedBind[bt]},resetFields:function(bt){var dt=this,xt=this.fieldsStore.resetFields(bt);if(Object.keys(xt).length>0&&this.setFields(xt),bt){var Ct=Array.isArray(bt)?bt:[bt];Ct.forEach(function(gt){return delete dt.clearedFieldMetaCache[gt]})}else this.clearedFieldMetaCache={}},recoverClearedField:function(bt){this.clearedFieldMetaCache[bt]&&(this.fieldsStore.setFields(_default$e({},bt,this.clearedFieldMetaCache[bt].field)),this.fieldsStore.setFieldMeta(bt,this.clearedFieldMetaCache[bt].meta),delete this.clearedFieldMetaCache[bt])},validateFieldsInternal:function(bt,dt,xt){var Ct=this,gt=dt.fieldNames,wt=dt.action,_t=dt.options,Et=_t===void 0?{}:_t,It={},Tt={},Rt={},Ot={};if(bt.forEach(function(Bt){var Lt=Bt.name;if(Et.force!==!0&&Bt.dirty===!1){Bt.errors&&set_1(Ot,Lt,{errors:Bt.errors});return}var jt=Ct.fieldsStore.getFieldMeta(Lt),zt=_default$bE({},Bt);zt.errors=void 0,zt.validating=!0,zt.dirty=!0,It[Lt]=Ct.getRules(jt,wt),Tt[Lt]=zt.value,Rt[Lt]=zt}),this.setFields(Rt),Object.keys(Tt).forEach(function(Bt){Tt[Bt]=Ct.fieldsStore.getFieldValue(Bt)}),xt&&isEmptyObject$2(Rt)){xt(isEmptyObject$2(Ot)?null:Ot,this.fieldsStore.getFieldsValue(gt));return}var Mt=new AsyncValidator(It);_e&&Mt.messages(_e),Mt.validate(Tt,Et,function(Bt){var Lt=_default$bE({},Ot);Bt&&Bt.length&&Bt.forEach(function(Nt){var Wt=Nt.field,qt=Wt;Object.keys(It).some(function(Kt){var er=It[Kt]||[];if(Kt===Wt)return qt=Kt,!0;if(er.every(function(Ht){var Ft=Ht.type;return Ft!=="array"})||Wt.indexOf(Kt+".")!==0)return!1;var Ut=Wt.slice(Kt.length+1);return/^\d+$/.test(Ut)?(qt=Kt,!0):!1});var nr=get_1$1(Lt,qt);(typeof nr!="object"||Array.isArray(nr))&&set_1(Lt,qt,{errors:[]});var ar=get_1$1(Lt,qt.concat(".errors"));ar.push(Nt)});var jt=[],zt={};Object.keys(It).forEach(function(Nt){var Wt=get_1$1(Lt,Nt),qt=Ct.fieldsStore.getField(Nt);eq_1(qt.value,Tt[Nt])?(qt.errors=Wt&&Wt.errors,qt.value=Tt[Nt],qt.validating=!1,qt.dirty=!1,zt[Nt]=qt):jt.push({name:Nt})}),Ct.setFields(zt),xt&&(jt.length&&jt.forEach(function(Nt){var Wt=Nt.name,qt=[{message:Wt+" need to revalidate",field:Wt}];set_1(Lt,Wt,{expired:!0,errors:qt})}),xt(isEmptyObject$2(Lt)?null:Lt,Ct.fieldsStore.getFieldsValue(gt)))})},validateFields:function(bt,dt,xt){var Ct=this,gt=new Promise(function(wt,_t){var Et=getParams(bt,dt,xt),It=Et.names,Tt=Et.options,Rt=getParams(bt,dt,xt),Ot=Rt.callback;if(!Ot||typeof Ot=="function"){var Mt=Ot;Ot=function(zt,Nt){Mt&&Mt(zt,Nt),zt?_t({errors:zt,values:Nt}):wt(Nt)}}var Bt=It?Ct.fieldsStore.getValidFieldsFullName(It):Ct.fieldsStore.getValidFieldsName(),Lt=Bt.filter(function(jt){var zt=Ct.fieldsStore.getFieldMeta(jt);return hasRules(zt.validate)}).map(function(jt){var zt=Ct.fieldsStore.getField(jt);return zt.value=Ct.fieldsStore.getFieldValue(jt),zt});if(!Lt.length){Ot(null,Ct.fieldsStore.getFieldsValue(Bt));return}"firstFields"in Tt||(Tt.firstFields=Bt.filter(function(jt){var zt=Ct.fieldsStore.getFieldMeta(jt);return!!zt.validateFirst})),Ct.validateFieldsInternal(Lt,{fieldNames:Bt,options:Tt},Ot)});return gt.catch(function(wt){return wt}),gt},isSubmitting:function(){return this.state.submitting},submit:function(bt){var dt=this,xt=function(){dt.setState({submitting:!1})};this.setState({submitting:!0}),bt(xt)},render:function(){var bt=this.props,dt=bt.wrappedComponentRef,xt=_default$d(bt,["wrappedComponentRef"]),Ct=_default$e({},ct,this.getForm());ft?Ct.ref="wrappedComponent":dt&&(Ct.ref=dt);var gt=at.call(this,_default$bE({},Ct,xt));return React$k.createElement(vt,gt)}});return argumentContainer(unsafeLifecyclesPolyfill(ht),vt)}}var mixin$1={getForm:function(){return{getFieldsValue:this.fieldsStore.getFieldsValue,getFieldValue:this.fieldsStore.getFieldValue,getFieldInstance:this.getFieldInstance,setFieldsValue:this.setFieldsValue,setFields:this.setFields,setFieldsInitialValue:this.fieldsStore.setFieldsInitialValue,getFieldDecorator:this.getFieldDecorator,getFieldProps:this.getFieldProps,getFieldsError:this.fieldsStore.getFieldsError,getFieldError:this.fieldsStore.getFieldError,isFieldValidating:this.fieldsStore.isFieldValidating,isFieldsValidating:this.fieldsStore.isFieldsValidating,isFieldsTouched:this.fieldsStore.isFieldsTouched,isFieldTouched:this.fieldsStore.isFieldTouched,isSubmitting:this.isSubmitting,submit:this.submit,validateFields:this.validateFields,resetFields:this.resetFields}}};function computedStyle(o,$){var _e=window.getComputedStyle,et=_e?_e(o):o.currentStyle;if(et)return et[$.replace(/-(\w)/gi,function(tt,rt){return rt.toUpperCase()})]}function getScrollableContainer(o){for(var $=o,_e=void 0;(_e=$.nodeName.toLowerCase())!=="body";){var et=computedStyle($,"overflowY");if($!==o&&(et==="auto"||et==="scroll")&&$.scrollHeight>$.clientHeight)return $;$=$.parentNode}return _e==="body"?$.ownerDocument:$}var mixin={getForm:function(){return _default$bE({},mixin$1.getForm.call(this),{validateFieldsAndScroll:this.validateFieldsAndScroll})},validateFieldsAndScroll:function($,_e,et){var tt=this,rt=getParams($,_e,et),at=rt.names,nt=rt.callback,it=rt.options,ot=function(lt,ct){if(lt){var ut=tt.fieldsStore.getValidFieldsName(),ft=void 0,At=void 0;if(ut.forEach(function(ht){if(has_1(lt,ht)){var mt=tt.getFieldInstance(ht);if(mt){var bt=ReactDOM.findDOMNode(mt),dt=bt.getBoundingClientRect().top;bt.type!=="hidden"&&(At===void 0||At>dt)&&(At=dt,ft=bt)}}}),ft){var vt=it.container||getScrollableContainer(ft);scrollIntoView(ft,vt,_default$bE({onlyScrollIfNeeded:!0},it.scroll))}}typeof nt=="function"&&nt(lt,ct)};return this.validateFields(at,it,ot)}};function createDOMForm(o){return createBaseForm(_default$bE({},o),[mixin])}var RowContext$1=createReactContext({});const RowContext$2=RowContext$1;var QueryHandler_1,hasRequiredQueryHandler;function requireQueryHandler(){if(hasRequiredQueryHandler)return QueryHandler_1;hasRequiredQueryHandler=1;function o($){this.options=$,!$.deferSetup&&this.setup()}return o.prototype={constructor:o,setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function($){return this.options===$||this.options.match===$}},QueryHandler_1=o,QueryHandler_1}var Util,hasRequiredUtil;function requireUtil(){if(hasRequiredUtil)return Util;hasRequiredUtil=1;function o(et,tt){var rt=0,at=et.length,nt;for(rt;rt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$10(o){return _getPrototypeOf$10=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$10(o)}var __rest$v=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0?{marginLeft:ht[0]/-2,marginRight:ht[0]/-2}:{}),ht[1]>0?{marginTop:ht[1]/-2,marginBottom:ht[1]/-2}:{}),ut),dt=_extends$1P({},At);return delete dt.gutter,reactExports.createElement(RowContext$2.Provider,{value:{gutter:ht}},reactExports.createElement("div",_extends$1P({},dt,{className:mt,style:bt}),ft))},et}return _createClass$1E(_e,[{key:"componentDidMount",value:function(){var tt=this;this.token=ResponsiveObserve.subscribe(function(rt){var at=tt.props.gutter;(_typeof$X(at)==="object"||Array.isArray(at)&&(_typeof$X(at[0])==="object"||_typeof$X(at[1])==="object"))&&tt.setState({screens:rt})})}},{key:"componentWillUnmount",value:function(){ResponsiveObserve.unsubscribe(this.token)}},{key:"getGutter",value:function(){var tt=[0,0],rt=this.props.gutter,at=this.state.screens,nt=Array.isArray(rt)?rt:[rt,0];return nt.forEach(function(it,ot){if(_typeof$X(it)==="object")for(var st=0;st"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$$(o){return _getPrototypeOf$$=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$$(o)}var __rest$u=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0?{paddingLeft:Ct[0]/2,paddingRight:Ct[0]/2}:{}),Ct[1]>0?{paddingTop:Ct[1]/2,paddingBottom:Ct[1]/2}:{}),gt)),reactExports.createElement("div",_extends$1O({},ht,{style:gt,className:dt}),vt)})},et}return _createClass$1D(_e,[{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderCol)}}]),_e}(reactExports.Component);Col.propTypes={span:propTypesExports.number,order:propTypesExports.number,offset:propTypesExports.number,push:propTypesExports.number,pull:propTypesExports.number,className:propTypesExports.string,children:propTypesExports.node,xs:objectOrNumber,sm:objectOrNumber,md:objectOrNumber,lg:objectOrNumber,xl:objectOrNumber,xxl:objectOrNumber};var FIELD_META_PROP$1="data-__meta",FIELD_DATA_PROP$1="data-__field",FormContext=createReactContext({labelAlign:"right",vertical:!1});const FormContext$1=FormContext;function _typeof$V(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$V=function(_e){return typeof _e}:_typeof$V=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$V(o)}function _extends$1N(){return _extends$1N=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$_(o){return _getPrototypeOf$_=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$_(o)}function _toConsumableArray$b(o){return _arrayWithoutHoles$7(o)||_iterableToArray$7(o)||_unsupportedIterableToArray$8(o)||_nonIterableSpread$7()}function _nonIterableSpread$7(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$8(o,$){if(o){if(typeof o=="string")return _arrayLikeToArray$8(o,$);var _e=Object.prototype.toString.call(o).slice(8,-1);if(_e==="Object"&&o.constructor&&(_e=o.constructor.name),_e==="Map"||_e==="Set")return Array.from(o);if(_e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_e))return _arrayLikeToArray$8(o,$)}}function _iterableToArray$7(o){if(typeof Symbol<"u"&&Symbol.iterator in Object(o))return Array.from(o)}function _arrayWithoutHoles$7(o){if(Array.isArray(o))return _arrayLikeToArray$8(o)}function _arrayLikeToArray$8(o,$){($==null||$>o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}var __rest$t=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0);it++){var ot=nt[it];ot.type&&(ot.type===_e||ot.type.displayName==="FormItem")||ot.props&&(FIELD_META_PROP$1 in ot.props?at.push(ot):ot.props.children&&(at=at.concat(this.getControls(ot.props.children,rt))))}return at}},{key:"getOnlyControl",value:function(){var tt=this.getControls(this.props.children,!1)[0];return tt!==void 0?tt:null}},{key:"getChildProp",value:function(tt){var rt=this.getOnlyControl();return rt&&rt.props&&rt.props[tt]}},{key:"getId",value:function(){return this.getChildProp("id")}},{key:"getMeta",value:function(){return this.getChildProp(FIELD_META_PROP$1)}},{key:"getField",value:function(){return this.getChildProp(FIELD_DATA_PROP$1)}},{key:"getValidateStatus",value:function(){var tt=this.getOnlyControl();if(!tt)return"";var rt=this.getField();if(rt.validating)return"validating";if(rt.errors)return"error";var at="value"in rt?rt.value:this.getMeta().initialValue;return at!=null&&at!==""?"success":""}},{key:"isRequired",value:function(){var tt=this.props.required;if(tt!==void 0)return tt;if(this.getOnlyControl()){var rt=this.getMeta()||{},at=rt.validate||[];return at.filter(function(nt){return!!nt.rules}).some(function(nt){return nt.rules.some(function(it){return it.required})})}return!1}},{key:"renderHelp",value:function(tt){var rt=this.getHelpMessage(),at=rt?reactExports.createElement("div",{className:"".concat(tt,"-explain"),key:"help"},rt):null;return at&&(this.helpShow=!!at),reactExports.createElement(Animate$1,{transitionName:"show-help",component:"",transitionAppear:!0,key:"help",onEnd:this.onHelpAnimEnd},at)}},{key:"renderExtra",value:function(tt){var rt=this.props.extra;return rt?reactExports.createElement("div",{className:"".concat(tt,"-extra")},rt):null}},{key:"renderValidateWrapper",value:function(tt,rt,at,nt){var it=this.props,ot=this.getOnlyControl,st=it.validateStatus===void 0&&ot?this.getValidateStatus():it.validateStatus,lt="".concat(tt,"-item-control");st&&(lt=classNames("".concat(tt,"-item-control"),{"has-feedback":st&&it.hasFeedback,"has-success":st==="success","has-warning":st==="warning","has-error":st==="error","is-validating":st==="validating"}));var ct="";switch(st){case"success":ct="check-circle";break;case"warning":ct="exclamation-circle";break;case"error":ct="close-circle";break;case"validating":ct="loading";break;default:ct="";break}var ut=it.hasFeedback&&ct?reactExports.createElement("span",{className:"".concat(tt,"-item-children-icon")},reactExports.createElement(Icon$1,{type:ct,theme:ct==="loading"?"outlined":"filled"})):null;return reactExports.createElement("div",{className:lt},reactExports.createElement("span",{className:"".concat(tt,"-item-children")},rt,ut),at,nt)}},{key:"renderWrapper",value:function(tt,rt){var at=this;return reactExports.createElement(FormContext$1.Consumer,{key:"wrapper"},function(nt){var it=nt.wrapperCol,ot=nt.vertical,st=at.props.wrapperCol,lt=("wrapperCol"in at.props?st:it)||{},ct=classNames("".concat(tt,"-item-control-wrapper"),lt.className);return reactExports.createElement(FormContext$1.Provider,{value:{vertical:ot}},reactExports.createElement(Col,_extends$1N({},lt,{className:ct}),rt))})}},{key:"renderLabel",value:function(tt){var rt=this;return reactExports.createElement(FormContext$1.Consumer,{key:"label"},function(at){var nt,it=at.vertical,ot=at.labelAlign,st=at.labelCol,lt=at.colon,ct=rt.props,ut=ct.label,ft=ct.labelCol,At=ct.labelAlign,vt=ct.colon,ht=ct.id,mt=ct.htmlFor,bt=rt.isRequired(),dt=("labelCol"in rt.props?ft:st)||{},xt="labelAlign"in rt.props?At:ot,Ct="".concat(tt,"-item-label"),gt=classNames(Ct,xt==="left"&&"".concat(Ct,"-left"),dt.className),wt=ut,_t=vt===!0||lt!==!1&&vt!==!1,Et=_t&&!it;Et&&typeof ut=="string"&&ut.trim()!==""&&(wt=ut.replace(/[::]\s*$/,""));var It=classNames((nt={},_defineProperty$Z(nt,"".concat(tt,"-item-required"),bt),_defineProperty$Z(nt,"".concat(tt,"-item-no-colon"),!_t),nt));return ut?reactExports.createElement(Col,_extends$1N({},dt,{className:gt}),reactExports.createElement("label",{htmlFor:mt||ht||rt.getId(),className:It,title:typeof ut=="string"?ut:"",onClick:rt.onLabelClick},wt)):null})}},{key:"renderChildren",value:function(tt){var rt=this.props.children;return[this.renderLabel(tt),this.renderWrapper(tt,this.renderValidateWrapper(tt,rt,this.renderHelp(tt),this.renderExtra(tt)))]}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderFormItem)}}]),_e}(reactExports.Component);FormItem$3.defaultProps={hasFeedback:!1};FormItem$3.propTypes={prefixCls:propTypesExports.string,label:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.node]),labelCol:propTypesExports.object,help:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.bool]),validateStatus:propTypesExports.oneOf(ValidateStatuses),hasFeedback:propTypesExports.bool,wrapperCol:propTypesExports.object,className:propTypesExports.string,id:propTypesExports.string,children:propTypesExports.node,colon:propTypesExports.bool};function _typeof$U(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$U=function(_e){return typeof _e}:_typeof$U=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$U(o)}function _extends$1M(){return _extends$1M=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$Z(o){return _getPrototypeOf$Z=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$Z(o)}var FormLayouts=tuple$1("horizontal","inline","vertical"),Form=function(o){_inherits$1E(_e,o);var $=_createSuper$Q(_e);function _e(et){var tt;return _classCallCheck$1G(this,_e),tt=$.call(this,et),tt.renderForm=function(rt){var at,nt=rt.getPrefixCls,it=tt.props,ot=it.prefixCls,st=it.hideRequiredMark,lt=it.className,ct=lt===void 0?"":lt,ut=it.layout,ft=nt("form",ot),At=classNames(ft,(at={},_defineProperty$Y(at,"".concat(ft,"-horizontal"),ut==="horizontal"),_defineProperty$Y(at,"".concat(ft,"-vertical"),ut==="vertical"),_defineProperty$Y(at,"".concat(ft,"-inline"),ut==="inline"),_defineProperty$Y(at,"".concat(ft,"-hide-required-mark"),st),at),ct),vt=omit(tt.props,["prefixCls","className","layout","form","hideRequiredMark","wrapperCol","labelAlign","labelCol","colon"]);return reactExports.createElement("form",_extends$1M({},vt,{className:At}))},warning$4(!et.form,"Form","It is unnecessary to pass `form` to `Form` after antd@1.7.0."),tt}return _createClass$1B(_e,[{key:"render",value:function(){var tt=this.props,rt=tt.wrapperCol,at=tt.labelAlign,nt=tt.labelCol,it=tt.layout,ot=tt.colon;return reactExports.createElement(FormContext$1.Provider,{value:{wrapperCol:rt,labelAlign:at,labelCol:nt,vertical:it==="vertical",colon:ot}},reactExports.createElement(ConfigConsumer,null,this.renderForm))}}]),_e}(reactExports.Component);Form.defaultProps={colon:!0,layout:"horizontal",hideRequiredMark:!1,onSubmit:function($){$.preventDefault()}};Form.propTypes={prefixCls:propTypesExports.string,layout:propTypesExports.oneOf(FormLayouts),children:propTypesExports.any,onSubmit:propTypesExports.func,hideRequiredMark:propTypesExports.bool,colon:propTypesExports.bool};Form.Item=FormItem$3;Form.createFormField=createFormField;Form.create=function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return createDOMForm(_extends$1M(_extends$1M({fieldNameProp:"id"},$),{fieldMetaProp:FIELD_META_PROP$1,fieldDataProp:FIELD_DATA_PROP$1}))};function _typeof$T(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$T=function(_e){return typeof _e}:_typeof$T=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$T(o)}function _defineProperty$X(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$1F(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$T(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1A(o,$,_e){return $&&_defineProperties$T(o.prototype,$),_e&&_defineProperties$T(o,_e),o}function _inherits$1D(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$V(o,$)}function _setPrototypeOf$V(o,$){return _setPrototypeOf$V=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$V(o,$)}function _createSuper$P(o){var $=_isNativeReflectConstruct$P();return function(){var et=_getPrototypeOf$Y(o),tt;if($){var rt=_getPrototypeOf$Y(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1D(this,tt)}}function _possibleConstructorReturn$1D(o,$){return $&&(_typeof$T($)==="object"||typeof $=="function")?$:_assertThisInitialized$V(o)}function _assertThisInitialized$V(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$P(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$Y(o){return _getPrototypeOf$Y=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$Y(o)}var ClearableInputType=tuple$1("text","input");function hasPrefixSuffix(o){return!!(o.prefix||o.suffix||o.allowClear)}var ClearableLabeledInput=function(o){_inherits$1D(_e,o);var $=_createSuper$P(_e);function _e(){return _classCallCheck$1F(this,_e),$.apply(this,arguments)}return _createClass$1A(_e,[{key:"renderClearIcon",value:function(tt){var rt=this.props,at=rt.allowClear,nt=rt.value,it=rt.disabled,ot=rt.readOnly,st=rt.inputType,lt=rt.handleReset;if(!at||it||ot||nt===void 0||nt===null||nt==="")return null;var ct=st===ClearableInputType[0]?"".concat(tt,"-textarea-clear-icon"):"".concat(tt,"-clear-icon");return reactExports.createElement(Icon$1,{type:"close-circle",theme:"filled",onClick:lt,className:ct,role:"button"})}},{key:"renderSuffix",value:function(tt){var rt=this.props,at=rt.suffix,nt=rt.allowClear;return at||nt?reactExports.createElement("span",{className:"".concat(tt,"-suffix")},this.renderClearIcon(tt),at):null}},{key:"renderLabeledIcon",value:function(tt,rt){var at,nt=this.props,it=this.renderSuffix(tt);if(!hasPrefixSuffix(nt))return reactExports.cloneElement(rt,{value:nt.value});var ot=nt.prefix?reactExports.createElement("span",{className:"".concat(tt,"-prefix")},nt.prefix):null,st=classNames(nt.className,"".concat(tt,"-affix-wrapper"),(at={},_defineProperty$X(at,"".concat(tt,"-affix-wrapper-sm"),nt.size==="small"),_defineProperty$X(at,"".concat(tt,"-affix-wrapper-lg"),nt.size==="large"),_defineProperty$X(at,"".concat(tt,"-affix-wrapper-input-with-clear-btn"),nt.suffix&&nt.allowClear&&this.props.value),at));return reactExports.createElement("span",{className:st,style:nt.style},ot,reactExports.cloneElement(rt,{style:null,value:nt.value,className:getInputClassName(tt,nt.size,nt.disabled)}),it)}},{key:"renderInputWithLabel",value:function(tt,rt){var at,nt=this.props,it=nt.addonBefore,ot=nt.addonAfter,st=nt.style,lt=nt.size,ct=nt.className;if(!it&&!ot)return rt;var ut="".concat(tt,"-group"),ft="".concat(ut,"-addon"),At=it?reactExports.createElement("span",{className:ft},it):null,vt=ot?reactExports.createElement("span",{className:ft},ot):null,ht=classNames("".concat(tt,"-wrapper"),_defineProperty$X({},ut,it||ot)),mt=classNames(ct,"".concat(tt,"-group-wrapper"),(at={},_defineProperty$X(at,"".concat(tt,"-group-wrapper-sm"),lt==="small"),_defineProperty$X(at,"".concat(tt,"-group-wrapper-lg"),lt==="large"),at));return reactExports.createElement("span",{className:mt,style:st},reactExports.createElement("span",{className:ht},At,reactExports.cloneElement(rt,{style:null}),vt))}},{key:"renderTextAreaWithClearIcon",value:function(tt,rt){var at=this.props,nt=at.value,it=at.allowClear,ot=at.className,st=at.style;if(!it)return reactExports.cloneElement(rt,{value:nt});var lt=classNames(ot,"".concat(tt,"-affix-wrapper"),"".concat(tt,"-affix-wrapper-textarea-with-clear-btn"));return reactExports.createElement("span",{className:lt,style:st},reactExports.cloneElement(rt,{style:null,value:nt}),this.renderClearIcon(tt))}},{key:"renderClearableLabeledInput",value:function(){var tt=this.props,rt=tt.prefixCls,at=tt.inputType,nt=tt.element;return at===ClearableInputType[0]?this.renderTextAreaWithClearIcon(rt,nt):this.renderInputWithLabel(rt,this.renderLabeledIcon(rt,nt))}},{key:"render",value:function(){return this.renderClearableLabeledInput()}}]),_e}(reactExports.Component);polyfill(ClearableLabeledInput);const ClearableLabeledInput$1=ClearableLabeledInput;function _typeof$S(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$S=function(_e){return typeof _e}:_typeof$S=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$S(o)}function _extends$1L(){return _extends$1L=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$X(o){return _getPrototypeOf$X=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$X(o)}function _defineProperty$W(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var InputSizes=tuple$1("small","default","large");function fixControlledValue(o){return typeof o>"u"||o===null?"":o}function resolveOnChange(o,$,_e){if(_e){var et=$;if($.type==="click"){et=Object.create($),et.target=o,et.currentTarget=o;var tt=o.value;o.value="",_e(et),o.value=tt;return}_e(et)}}function getInputClassName(o,$,_e){var et;return classNames(o,(et={},_defineProperty$W(et,"".concat(o,"-sm"),$==="small"),_defineProperty$W(et,"".concat(o,"-lg"),$==="large"),_defineProperty$W(et,"".concat(o,"-disabled"),_e),et))}var Input=function(o){_inherits$1C(_e,o);var $=_createSuper$O(_e);function _e(et){var tt;_classCallCheck$1E(this,_e),tt=$.call(this,et),tt.saveClearableInput=function(at){tt.clearableInput=at},tt.saveInput=function(at){tt.input=at},tt.handleReset=function(at){tt.setValue("",function(){tt.focus()}),resolveOnChange(tt.input,at,tt.props.onChange)},tt.renderInput=function(at){var nt=tt.props,it=nt.className,ot=nt.addonBefore,st=nt.addonAfter,lt=nt.size,ct=nt.disabled,ut=omit(tt.props,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","size","inputType"]);return reactExports.createElement("input",_extends$1L({},ut,{onChange:tt.handleChange,onKeyDown:tt.handleKeyDown,className:classNames(getInputClassName(at,lt,ct),_defineProperty$W({},it,it&&!ot&&!st)),ref:tt.saveInput}))},tt.clearPasswordValueAttribute=function(){tt.removePasswordTimeout=setTimeout(function(){tt.input&&tt.input.getAttribute("type")==="password"&&tt.input.hasAttribute("value")&&tt.input.removeAttribute("value")})},tt.handleChange=function(at){tt.setValue(at.target.value,tt.clearPasswordValueAttribute),resolveOnChange(tt.input,at,tt.props.onChange)},tt.handleKeyDown=function(at){var nt=tt.props,it=nt.onPressEnter,ot=nt.onKeyDown;at.keyCode===13&&it&&it(at),ot&&ot(at)},tt.renderComponent=function(at){var nt=at.getPrefixCls,it=tt.state.value,ot=tt.props.prefixCls,st=nt("input",ot);return reactExports.createElement(ClearableLabeledInput$1,_extends$1L({},tt.props,{prefixCls:st,inputType:"input",value:fixControlledValue(it),element:tt.renderInput(st),handleReset:tt.handleReset,ref:tt.saveClearableInput}))};var rt=typeof et.value>"u"?et.defaultValue:et.value;return tt.state={value:rt},tt}return _createClass$1z(_e,[{key:"componentDidMount",value:function(){this.clearPasswordValueAttribute()}},{key:"componentDidUpdate",value:function(){}},{key:"getSnapshotBeforeUpdate",value:function(tt){return hasPrefixSuffix(tt)!==hasPrefixSuffix(this.props)&&warning$4(this.input!==document.activeElement,"Input","When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ"),null}},{key:"componentWillUnmount",value:function(){this.removePasswordTimeout&&clearTimeout(this.removePasswordTimeout)}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"setValue",value:function(tt,rt){"value"in this.props||this.setState({value:tt},rt)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderComponent)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"value"in tt?{value:tt.value}:null}}]),_e}(reactExports.Component);Input.defaultProps={type:"text"};Input.propTypes={type:propTypesExports.string,id:propTypesExports.string,size:propTypesExports.oneOf(InputSizes),maxLength:propTypesExports.number,disabled:propTypesExports.bool,value:propTypesExports.any,defaultValue:propTypesExports.any,className:propTypesExports.string,addonBefore:propTypesExports.node,addonAfter:propTypesExports.node,prefixCls:propTypesExports.string,onPressEnter:propTypesExports.func,onKeyDown:propTypesExports.func,onKeyUp:propTypesExports.func,onFocus:propTypesExports.func,onBlur:propTypesExports.func,prefix:propTypesExports.node,suffix:propTypesExports.node,allowClear:propTypesExports.bool};polyfill(Input);const Input$1=Input;function _defineProperty$V(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var Group$2=function($){return reactExports.createElement(ConfigConsumer,null,function(_e){var et,tt=_e.getPrefixCls,rt=$.prefixCls,at=$.className,nt=at===void 0?"":at,it=tt("input-group",rt),ot=classNames(it,(et={},_defineProperty$V(et,"".concat(it,"-lg"),$.size==="large"),_defineProperty$V(et,"".concat(it,"-sm"),$.size==="small"),_defineProperty$V(et,"".concat(it,"-compact"),$.compact),et),nt);return reactExports.createElement("span",{className:ot,style:$.style,onMouseEnter:$.onMouseEnter,onMouseLeave:$.onMouseLeave,onFocus:$.onFocus,onBlur:$.onBlur},$.children)})};const Group$3=Group$2;var isMobileExports={},isMobile$1={get exports(){return isMobileExports},set exports(o){isMobileExports=o}};isMobile$1.exports=isMobile;var isMobile_2=isMobileExports.isMobile=isMobile;isMobileExports.default=isMobile;var mobileRE=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,tabletRE=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function isMobile(o){o||(o={});var $=o.ua;if(!$&&typeof navigator<"u"&&($=navigator.userAgent),$&&$.headers&&typeof $.headers["user-agent"]=="string"&&($=$.headers["user-agent"]),typeof $!="string")return!1;var _e=o.tablet?tabletRE.test($):mobileRE.test($);return!_e&&o.tablet&&o.featureDetect&&navigator&&navigator.maxTouchPoints>1&&$.indexOf("Macintosh")!==-1&&$.indexOf("Safari")!==-1&&(_e=!0),_e}function _typeof$R(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$R=function(_e){return typeof _e}:_typeof$R=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$R(o)}function _defineProperty$U(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$1K(){return _extends$1K=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$W(o){return _getPrototypeOf$W=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$W(o)}var __rest$s=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt1)warning_1$2.default(!1,"Find more than one child node with `children` in ResizeObserver. Will only observe first one.");else if(tt.length===0)return warning_1$2.default(!1,"`children` of ResizeObserver is empty. Nothing is in observe."),null;var rt=tt[0];if(React$h.isValidElement(rt)&&util_1.supportRef(rt)){var at=rt.ref;tt[0]=React$h.cloneElement(rt,{ref:ref_1.composeRef(at,this.setChildNode)})}return tt.length===1?tt[0]:tt.map(function(nt,it){return!React$h.isValidElement(nt)||"key"in nt&&nt.key!==null?nt:React$h.cloneElement(nt,{key:"".concat(INTERNAL_PREFIX_KEY,"-").concat(it)})})}}]),$}(React$h.Component);ReactResizeObserver.displayName="ResizeObserver";var _default$5=es$1.default=ReactResizeObserver,HIDDEN_TEXTAREA_STYLE=` min-height:0 !important; max-height:none !important; height:0 !important; @@ -89,10 +89,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho z-index:-1000 !important; top:0 !important; right:0 !important -`,SIZING_STYLE=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"],computedStyleCache={},hiddenTextarea;function calculateNodeStyling(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,_e=o.getAttribute("id")||o.getAttribute("data-reactid")||o.getAttribute("name");if($&&computedStyleCache[_e])return computedStyleCache[_e];var et=window.getComputedStyle(o),tt=et.getPropertyValue("box-sizing")||et.getPropertyValue("-moz-box-sizing")||et.getPropertyValue("-webkit-box-sizing"),rt=parseFloat(et.getPropertyValue("padding-bottom"))+parseFloat(et.getPropertyValue("padding-top")),at=parseFloat(et.getPropertyValue("border-bottom-width"))+parseFloat(et.getPropertyValue("border-top-width")),nt=SIZING_STYLE.map(function(ot){return"".concat(ot,":").concat(et.getPropertyValue(ot))}).join(";"),it={sizingStyle:nt,paddingSize:rt,borderSize:at,boxSizing:tt};return $&&_e&&(computedStyleCache[_e]=it),it}function calculateNodeHeight(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,_e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;hiddenTextarea||(hiddenTextarea=document.createElement("textarea"),document.body.appendChild(hiddenTextarea)),o.getAttribute("wrap")?hiddenTextarea.setAttribute("wrap",o.getAttribute("wrap")):hiddenTextarea.removeAttribute("wrap");var tt=calculateNodeStyling(o,$),rt=tt.paddingSize,at=tt.borderSize,nt=tt.boxSizing,it=tt.sizingStyle;hiddenTextarea.setAttribute("style","".concat(it,";").concat(HIDDEN_TEXTAREA_STYLE)),hiddenTextarea.value=o.value||o.placeholder||"";var ot=Number.MIN_SAFE_INTEGER,st=Number.MAX_SAFE_INTEGER,lt=hiddenTextarea.scrollHeight,ct;if(nt==="border-box"?lt+=at:nt==="content-box"&&(lt-=rt),_e!==null||et!==null){hiddenTextarea.value=" ";var ut=hiddenTextarea.scrollHeight-rt;_e!==null&&(ot=ut*_e,nt==="border-box"&&(ot=ot+rt+at),lt=Math.max(ot,lt)),et!==null&&(st=ut*et,nt==="border-box"&&(st=st+rt+at),ct=lt>st?"":"hidden",lt=Math.min(st,lt))}return{height:lt,minHeight:ot,maxHeight:st,overflowY:ct}}function _typeof$O(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$O=function(_e){return typeof _e}:_typeof$O=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$O(o)}function _extends$1J(){return _extends$1J=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$U(o){return _getPrototypeOf$U=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$U(o)}var ResizableTextArea=function(o){_inherits$1z(_e,o);var $=_createSuper$M(_e);function _e(et){var tt;return _classCallCheck$1B(this,_e),tt=$.call(this,et),tt.saveTextArea=function(rt){tt.textArea=rt},tt.resizeOnNextFrame=function(){wrapperRaf.cancel(tt.nextFrameActionId),tt.nextFrameActionId=wrapperRaf(tt.resizeTextarea)},tt.resizeTextarea=function(){var rt=tt.props.autoSize||tt.props.autosize;if(!(!rt||!tt.textArea)){var at=rt.minRows,nt=rt.maxRows,it=calculateNodeHeight(tt.textArea,!1,at,nt);tt.setState({textareaStyles:it,resizing:!0},function(){wrapperRaf.cancel(tt.resizeFrameId),tt.resizeFrameId=wrapperRaf(function(){tt.setState({resizing:!1}),tt.fixFirefoxAutoScroll()})})}},tt.renderTextArea=function(){var rt=tt.props,at=rt.prefixCls,nt=rt.autoSize,it=rt.autosize,ot=rt.className,st=rt.disabled,lt=tt.state,ct=lt.textareaStyles,ut=lt.resizing;warning$4(it===void 0,"Input.TextArea","autosize is deprecated, please use autoSize instead.");var ft=omit(tt.props,["prefixCls","onPressEnter","autoSize","autosize","defaultValue","allowClear"]),At=classNames(at,ot,_defineProperty$T({},"".concat(at,"-disabled"),st));"value"in ft&&(ft.value=ft.value||"");var vt=_extends$1J(_extends$1J(_extends$1J({},tt.props.style),ct),ut?{overflowX:"hidden",overflowY:"hidden"}:null);return reactExports.createElement(_default$5,{onResize:tt.resizeOnNextFrame,disabled:!(nt||it)},reactExports.createElement("textarea",_extends$1J({},ft,{className:At,style:vt,ref:tt.saveTextArea})))},tt.state={textareaStyles:{},resizing:!1},tt}return _createClass$1w(_e,[{key:"componentDidMount",value:function(){this.resizeTextarea()}},{key:"componentDidUpdate",value:function(tt){tt.value!==this.props.value&&this.resizeTextarea()}},{key:"componentWillUnmount",value:function(){wrapperRaf.cancel(this.nextFrameActionId),wrapperRaf.cancel(this.resizeFrameId)}},{key:"fixFirefoxAutoScroll",value:function(){try{if(document.activeElement===this.textArea){var tt=this.textArea.selectionStart,rt=this.textArea.selectionEnd;this.textArea.setSelectionRange(tt,rt)}}catch(at){}}},{key:"render",value:function(){return this.renderTextArea()}}]),_e}(reactExports.Component);polyfill(ResizableTextArea);const ResizableTextArea$1=ResizableTextArea;function _typeof$N(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$N=function(_e){return typeof _e}:_typeof$N=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$N(o)}function _extends$1I(){return _extends$1I=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$T(o){return _getPrototypeOf$T=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$T(o)}var TextArea=function(o){_inherits$1y(_e,o);var $=_createSuper$L(_e);function _e(et){var tt;_classCallCheck$1A(this,_e),tt=$.call(this,et),tt.saveTextArea=function(at){tt.resizableTextArea=at},tt.saveClearableInput=function(at){tt.clearableInput=at},tt.handleChange=function(at){tt.setValue(at.target.value,function(){tt.resizableTextArea.resizeTextarea()}),resolveOnChange(tt.resizableTextArea.textArea,at,tt.props.onChange)},tt.handleKeyDown=function(at){var nt=tt.props,it=nt.onPressEnter,ot=nt.onKeyDown;at.keyCode===13&&it&&it(at),ot&&ot(at)},tt.handleReset=function(at){tt.setValue("",function(){tt.resizableTextArea.renderTextArea(),tt.focus()}),resolveOnChange(tt.resizableTextArea.textArea,at,tt.props.onChange)},tt.renderTextArea=function(at){return reactExports.createElement(ResizableTextArea$1,_extends$1I({},tt.props,{prefixCls:at,onKeyDown:tt.handleKeyDown,onChange:tt.handleChange,ref:tt.saveTextArea}))},tt.renderComponent=function(at){var nt=at.getPrefixCls,it=tt.state.value,ot=tt.props.prefixCls,st=nt("input",ot);return reactExports.createElement(ClearableLabeledInput$1,_extends$1I({},tt.props,{prefixCls:st,inputType:"text",value:fixControlledValue(it),element:tt.renderTextArea(st),handleReset:tt.handleReset,ref:tt.saveClearableInput}))};var rt=typeof et.value>"u"?et.defaultValue:et.value;return tt.state={value:rt},tt}return _createClass$1v(_e,[{key:"setValue",value:function(tt,rt){"value"in this.props||this.setState({value:tt},rt)}},{key:"focus",value:function(){this.resizableTextArea.textArea.focus()}},{key:"blur",value:function(){this.resizableTextArea.textArea.blur()}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderComponent)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"value"in tt?{value:tt.value}:null}}]),_e}(reactExports.Component);polyfill(TextArea);const TextArea$1=TextArea;function _typeof$M(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$M=function(_e){return typeof _e}:_typeof$M=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$M(o)}function _extends$1H(){return _extends$1H=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$S(o){return _getPrototypeOf$S=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$S(o)}var __rest$r=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);ttencodeURIComponent(o).replace(/[!'()*]/g,$=>`%${$.charCodeAt(0).toString(16).toUpperCase()}`),token="%[a-f0-9]{2}",singleMatcher=new RegExp("("+token+")|([^%]+?)","gi"),multiMatcher=new RegExp("("+token+")+","gi");function decodeComponents(o,$){try{return[decodeURIComponent(o.join(""))]}catch(tt){}if(o.length===1)return o;$=$||1;var _e=o.slice(0,$),et=o.slice($);return Array.prototype.concat.call([],decodeComponents(_e),decodeComponents(et))}function decode$3(o){try{return decodeURIComponent(o)}catch(et){for(var $=o.match(singleMatcher)||[],_e=1;_e<$.length;_e++)o=decodeComponents($,_e).join(""),$=o.match(singleMatcher)||[];return o}}function customDecodeURIComponent(o){for(var $={"%FE%FF":"��","%FF%FE":"��"},_e=multiMatcher.exec(o);_e;){try{$[_e[0]]=decodeURIComponent(_e[0])}catch(nt){var et=decode$3(_e[0]);et!==_e[0]&&($[_e[0]]=et)}_e=multiMatcher.exec(o)}$["%C2"]="�";for(var tt=Object.keys($),rt=0;rt_e===null?[encode$1($,o),"[",et,"]"].join(""):[encode$1($,o),"[",encode$1(et,o),"]=",encode$1(_e,o)].join("");case"bracket":return($,_e)=>_e===null?[encode$1($,o),"[]"].join(""):[encode$1($,o),"[]=",encode$1(_e,o)].join("");default:return($,_e)=>_e===null?encode$1($,o):[encode$1($,o),"=",encode$1(_e,o)].join("")}}function parserForArrayFormat(o){let $;switch(o.arrayFormat){case"index":return(_e,et,tt)=>{if($=/\[(\d*)\]$/.exec(_e),_e=_e.replace(/\[\d*\]$/,""),!$){tt[_e]=et;return}tt[_e]===void 0&&(tt[_e]={}),tt[_e][$[1]]=et};case"bracket":return(_e,et,tt)=>{if($=/(\[\])$/.exec(_e),_e=_e.replace(/\[\]$/,""),!$){tt[_e]=et;return}if(tt[_e]===void 0){tt[_e]=[et];return}tt[_e]=[].concat(tt[_e],et)};default:return(_e,et,tt)=>{if(tt[_e]===void 0){tt[_e]=et;return}tt[_e]=[].concat(tt[_e],et)}}}function encode$1(o,$){return $.encode?$.strict?strictUriEncode(o):encodeURIComponent(o):o}function decode$2(o,$){return $.decode?decodeComponent(o):o}function keysSorter(o){return Array.isArray(o)?o.sort():typeof o=="object"?keysSorter(Object.keys(o)).sort(($,_e)=>Number($)-Number(_e)).map($=>o[$]):o}function extract(o){const $=o.indexOf("?");return $===-1?"":o.slice($+1)}function parse$2(o,$){$=Object.assign({decode:!0,arrayFormat:"none"},$);const _e=parserForArrayFormat($),et=Object.create(null);if(typeof o!="string"||(o=o.trim().replace(/^[?#&]/,""),!o))return et;for(const tt of o.split("&")){let[rt,at]=tt.replace(/\+/g," ").split("=");at=at===void 0?null:decode$2(at,$),_e(decode$2(rt,$),at,et)}return Object.keys(et).sort().reduce((tt,rt)=>{const at=et[rt];return at&&typeof at=="object"&&!Array.isArray(at)?tt[rt]=keysSorter(at):tt[rt]=at,tt},Object.create(null))}queryString.extract=extract;queryString.parse=parse$2;queryString.stringify=(o,$)=>{if(!o)return"";$=Object.assign({encode:!0,strict:!0,arrayFormat:"none"},$);const _e=encoderForArrayFormat($),et=Object.keys(o);return $.sort!==!1&&et.sort($.sort),et.map(tt=>{const rt=o[tt];if(rt===void 0)return"";if(rt===null)return encode$1(tt,$);if(Array.isArray(rt)){const at=[];for(const nt of rt.slice())nt!==void 0&&at.push(_e(tt,nt,at.length));return at.join("&")}return encode$1(tt,$)+"="+encode$1(rt,$)}).filter(tt=>tt.length>0).join("&")};queryString.parseUrl=(o,$)=>{const _e=o.indexOf("#");return _e!==-1&&(o=o.slice(0,_e)),{url:o.split("?")[0]||"",query:parse$2(extract(o),$)}};const ROUTE_PATH$6=prefixUrl("/trace/:id");function getUrl$6(o,$){const _e=prefixUrl(`/trace/${o}`);return $?`${_e}?${queryString.stringify({uiFind:$})}`:_e}function getLocation(o,$,_e){return{state:$,pathname:getUrl$6(o),search:_e&&queryString.stringify({uiFind:_e})}}const TraceIDSearchInput$2="";class TraceIDSearchInput extends reactExports.PureComponent{constructor(){super(...arguments),this.goToTrace=$=>{$.preventDefault();const et=$.target.elements.idInput.value;et&&this.props.history.push(getUrl$6(et))}}render(){return jsxRuntimeExports.jsx(Form,{layout:"horizontal",onSubmit:this.goToTrace,className:"TraceIDSearchInput--form",children:jsxRuntimeExports.jsx(Input$1,{name:"idInput",placeholder:"Lookup by Trace ID...",prefix:jsxRuntimeExports.jsx(Icon$1,{type:"search"})})})}}const TraceIDSearchInput$1=withRouter$1(TraceIDSearchInput),ROUTE_PATH$5=prefixUrl("/dependencies"),ROUTE_MATCHER$5={path:ROUTE_PATH$5,strict:!0,exact:!0};function matches$8(o){return!!matchPath$1(o,ROUTE_MATCHER$5)}function getUrl$5(){return ROUTE_PATH$5}var objectProto$9=Object.prototype;function isPrototype$4(o){var $=o&&o.constructor,_e=typeof $=="function"&&$.prototype||objectProto$9;return o===_e}var _isPrototype=isPrototype$4;function overArg$2(o,$){return function(_e){return o($(_e))}}var _overArg=overArg$2,overArg$1=_overArg,nativeKeys$1=overArg$1(Object.keys,Object),_nativeKeys=nativeKeys$1,isPrototype$3=_isPrototype,nativeKeys=_nativeKeys,objectProto$8=Object.prototype,hasOwnProperty$8=objectProto$8.hasOwnProperty;function baseKeys$2(o){if(!isPrototype$3(o))return nativeKeys(o);var $=[];for(var _e in Object(o))hasOwnProperty$8.call(o,_e)&&_e!="constructor"&&$.push(_e);return $}var _baseKeys=baseKeys$2,getNative$3=_getNative,root$8=_root,DataView$2=getNative$3(root$8,"DataView"),_DataView=DataView$2,getNative$2=_getNative,root$7=_root,Promise$3=getNative$2(root$7,"Promise"),_Promise=Promise$3,getNative$1=_getNative,root$6=_root,Set$4=getNative$1(root$6,"Set"),_Set=Set$4,getNative=_getNative,root$5=_root,WeakMap$2=getNative(root$5,"WeakMap"),_WeakMap=WeakMap$2,DataView$1=_DataView,Map$3=_Map,Promise$2=_Promise,Set$3=_Set,WeakMap$1=_WeakMap,baseGetTag$3=_baseGetTag,toSource=_toSource,mapTag$3="[object Map]",objectTag$3="[object Object]",promiseTag="[object Promise]",setTag$3="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$2="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$3),promiseCtorString=toSource(Promise$2),setCtorString=toSource(Set$3),weakMapCtorString=toSource(WeakMap$1),getTag$2=baseGetTag$3;(DataView$1&&getTag$2(new DataView$1(new ArrayBuffer(1)))!=dataViewTag$2||Map$3&&getTag$2(new Map$3)!=mapTag$3||Promise$2&&getTag$2(Promise$2.resolve())!=promiseTag||Set$3&&getTag$2(new Set$3)!=setTag$3||WeakMap$1&&getTag$2(new WeakMap$1)!=weakMapTag$1)&&(getTag$2=function(o){var $=baseGetTag$3(o),_e=$==objectTag$3?o.constructor:void 0,et=_e?toSource(_e):"";if(et)switch(et){case dataViewCtorString:return dataViewTag$2;case mapCtorString:return mapTag$3;case promiseCtorString:return promiseTag;case setCtorString:return setTag$3;case weakMapCtorString:return weakMapTag$1}return $});var _getTag=getTag$2,isFunction$7=isFunction_1,isLength$1=isLength_1;function isArrayLike$8(o){return o!=null&&isLength$1(o.length)&&!isFunction$7(o)}var isArrayLike_1=isArrayLike$8,isBufferExports={},isBuffer$5={get exports(){return isBufferExports},set exports(o){isBufferExports=o}};function stubFalse(){return!1}var stubFalse_1=stubFalse;(function(o,$){var _e=_root,et=stubFalse_1,tt=$&&!$.nodeType&&$,rt=tt&&!0&&o&&!o.nodeType&&o,at=rt&&rt.exports===tt,nt=at?_e.Buffer:void 0,it=nt?nt.isBuffer:void 0,ot=it||et;o.exports=ot})(isBuffer$5,isBufferExports);var baseGetTag$2=_baseGetTag,isLength=isLength_1,isObjectLike$4=isObjectLike_1,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",mapTag$2="[object Map]",numberTag$1="[object Number]",objectTag$2="[object Object]",regexpTag$1="[object RegExp]",setTag$2="[object Set]",stringTag$2="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0;typedArrayTags[argsTag$1]=typedArrayTags[arrayTag$1]=typedArrayTags[arrayBufferTag$1]=typedArrayTags[boolTag$1]=typedArrayTags[dataViewTag$1]=typedArrayTags[dateTag$1]=typedArrayTags[errorTag$1]=typedArrayTags[funcTag]=typedArrayTags[mapTag$2]=typedArrayTags[numberTag$1]=typedArrayTags[objectTag$2]=typedArrayTags[regexpTag$1]=typedArrayTags[setTag$2]=typedArrayTags[stringTag$2]=typedArrayTags[weakMapTag]=!1;function baseIsTypedArray$1(o){return isObjectLike$4(o)&&isLength(o.length)&&!!typedArrayTags[baseGetTag$2(o)]}var _baseIsTypedArray=baseIsTypedArray$1;function baseUnary$1(o){return function($){return o($)}}var _baseUnary=baseUnary$1,_nodeUtilExports={},_nodeUtil={get exports(){return _nodeUtilExports},set exports(o){_nodeUtilExports=o}};(function(o,$){var _e=_freeGlobal,et=$&&!$.nodeType&&$,tt=et&&!0&&o&&!o.nodeType&&o,rt=tt&&tt.exports===et,at=rt&&_e.process,nt=function(){try{var it=tt&&tt.require&&tt.require("util").types;return it||at&&at.binding&&at.binding("util")}catch(ot){}}();o.exports=nt})(_nodeUtil,_nodeUtilExports);var baseIsTypedArray=_baseIsTypedArray,baseUnary=_baseUnary,nodeUtil=_nodeUtilExports,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray$4=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,isTypedArray_1=isTypedArray$4,baseKeys$1=_baseKeys,getTag$1=_getTag,isArguments$4=isArguments_1,isArray$d=isArray_1,isArrayLike$7=isArrayLike_1,isBuffer$4=isBufferExports,isPrototype$2=_isPrototype,isTypedArray$3=isTypedArray_1,mapTag$1="[object Map]",setTag$1="[object Set]",objectProto$7=Object.prototype,hasOwnProperty$7=objectProto$7.hasOwnProperty;function isEmpty$2(o){if(o==null)return!0;if(isArrayLike$7(o)&&(isArray$d(o)||typeof o=="string"||typeof o.splice=="function"||isBuffer$4(o)||isTypedArray$3(o)||isArguments$4(o)))return!o.length;var $=getTag$1(o);if($==mapTag$1||$==setTag$1)return!o.size;if(isPrototype$2(o))return!baseKeys$1(o).length;for(var _e in o)if(hasOwnProperty$7.call(o,_e))return!1;return!0}var isEmpty_1=isEmpty$2,safeIsNaN=Number.isNaN||function($){return typeof $=="number"&&$!==$};function isEqual$2(o,$){return!!(o===$||safeIsNaN(o)&&safeIsNaN($))}function areInputsEqual$1(o,$){if(o.length!==$.length)return!1;for(var _e=0;_e({memberIdx:this.memberIdx,operation:this.operation.name,service:this.operation.service.name,visibilityIdx:this._visibilityIdx}),this.memberIdx=et,this.memberOf=$,this.operation=_e}get distance(){return this.memberIdx-this.memberOf.focalIdx}get externalPath(){const $=[];let _e=this;for(;_e;)$.push(_e),_e=_e.externalSideNeighbor;return this.distance<0&&$.reverse(),$}get externalSideNeighbor(){return this.distance?this.memberOf.members[this.memberIdx+Math.sign(this.distance)]:null}get focalPath(){const $=[];let _e=this;for(;_e;)$.push(_e),_e=_e.focalSideNeighbor;return this.distance>0&&$.reverse(),$}get focalSideNeighbor(){return this.distance?this.memberOf.members[this.memberIdx-Math.sign(this.distance)]:null}get isExternal(){return!!this.distance&&(this.memberIdx===0||this.memberIdx===this.memberOf.members.length-1)}set visibilityIdx($){if(this._visibilityIdx==null)this._visibilityIdx=$;else throw new Error("Visibility Index cannot be changed once set")}get visibilityIdx(){if(this._visibilityIdx==null)throw new Error("Visibility Index was never set for this PathElem");return this._visibilityIdx}toJSON(){return{...this.toJSONHelper(),memberOf:{focalIdx:this.memberOf.focalIdx,members:this.memberOf.members.map($=>$.toJSONHelper())}}}toString(){return JSON.stringify(this.toJSON(),null,2)}get[Symbol.toStringTag](){return`PathElem ${this._visibilityIdx}`}}var EViewModifier=(o=>(o[o.None=0]="None",o[o.Hovered=1]="Hovered",o[o.Selected=2]="Selected",o[o.Emphasized=4]="Emphasized",o[o.PathHovered=8]="PathHovered",o))(EViewModifier||{}),EDdgDensity=(o=>(o.ExternalVsInternal="ext-vs-int",o.MostConcise="mc",o.OnePerLevel="per-level",o.PreventPathEntanglement="ppe",o.UpstreamVsDownstream="up-vs-down",o))(EDdgDensity||{}),ECheckedStatus=(o=>(o.Empty="Empty",o.Full="Full",o.Partial="Partial",o))(ECheckedStatus||{}),EDirection=(o=>(o[o.Upstream=-1]="Upstream",o[o.Downstream=1]="Downstream",o))(EDirection||{});const ROUTE_PATH$4=prefixUrl("/deep-dependencies"),ROUTE_MATCHER$4={path:ROUTE_PATH$4,strict:!0,exact:!0};function matches$7(o){return!!matchPath$1(o,ROUTE_MATCHER$4)}function getUrl$4(o,$=ROUTE_PATH$4){if(o&&!isEmpty_1(o)){const _e=Reflect.has(o,"showOp")&&o.showOp!==void 0?{...o,showOp:o.showOp?1:0}:o;return`${$}?${queryString.stringify(_e)}`}return $}function firstParam(o){if(Array.isArray(o)){const $=o[0];return console.warn(`Found multiple query parameters: "${o}", using "${$}"`),$}return o}const getUrlState$2=memoizeOne$1(function($){const{density:_e=EDdgDensity.PreventPathEntanglement,decoration:et,end:tt,hash:rt,operation:at,service:nt,showOp:it,start:ot,visEncoding:st}=queryString.parse($),lt={density:firstParam(_e)};return et&&(lt.decoration=firstParam(et)),tt&&(lt.end=Number.parseInt(firstParam(tt),10)),rt&&(lt.hash=firstParam(rt)),at&&(lt.operation=firstParam(at)),nt&&(lt.service=firstParam(nt)),it&&(lt.showOp=!!+firstParam(it)),ot&&(lt.start=Number.parseInt(firstParam(ot),10)),st&&(lt.visEncoding=firstParam(st)),lt}),sanitizeUrlState=memoizeOne$1(function($,_e){if(_e&&$.hash===_e)return $;const{visEncoding:et,...tt}=$;return tt}),ROUTE_PATH$3=prefixUrl("/quality-metrics"),ROUTE_MATCHER$3={path:ROUTE_PATH$3,strict:!0,exact:!0};function matches$6(o){return!!matchPath$1(o,ROUTE_MATCHER$3)}function getUrl$3(o){return o?`${ROUTE_PATH$3}?${queryString.stringify(o)}`:ROUTE_PATH$3}const getUrlState$1=memoizeOne$1(function($){const{lookback:_e,service:et}=queryString.parse($),tt=Array.isArray(et)?et[0]:et,rt=Array.isArray(_e)?_e[0]:_e,at=rt&&Number.parseInt(rt,10),nt={lookback:48};return tt&&(nt.service=tt),at&&(nt.lookback=at),nt}),FONT_SIZE=14,FONT=`${FONT_SIZE}px Helvetica Nueue`,LINE_HEIGHT=1.5,OP_PADDING_TOP=5,PROGRESS_BAR_STROKE_WIDTH=15,RADIUS=75,WORD_RX$1=/\W*\w+\W*/g,MAX_LENGTH=7e3,MAX_LINKED_TRACES=35,MIN_LENGTH=getUrl$2().length,PARAM_NAME_LENGTH=9;function eqEq(o,$){return o==null&&$==null||String(o)===String($)}const ROUTE_PATH$2=prefixUrl("/search"),ROUTE_MATCHER$2={path:ROUTE_PATH$2,strict:!0,exact:!0};function matches$5(o){return!!matchPath$1(o,ROUTE_MATCHER$2)}function getUrl$2(o){const $=prefixUrl("/search");if(!o)return $;const{traceID:_e,spanLinks:et,...tt}=o;let rt=_e;et&&_e&&(rt=(Array.isArray(_e)?_e:[_e]).filter(ot=>!et[ot]));const at={...tt,span:et&&Object.keys(et).reduce((ot,st)=>[...ot,`${et[st]}@${st}`],[]),traceID:rt&&rt.length?rt:void 0},nt=`${$}?${queryString.stringify(at)}`;if(nt.length<=MAX_LENGTH)return nt;const it=nt.slice(0,MAX_LENGTH+1);return it[MAX_LENGTH]==="&"?it.slice(0,-1):it.slice(0,it.lastIndexOf("&"))}const getUrlState=memoizeOne$1(function($){const{traceID:_e,span:et,...tt}=queryString.parse($),rt={...tt},at=new Set(!_e||Array.isArray(_e)?_e:[_e]),nt={};return et&&et.length&&((Array.isArray(et)?et:[et]).forEach(it=>{const[ot,st]=it.split("@");at.add(st),ot&&(nt[st]?nt[st]=nt[st].concat(" ",ot):nt[st]=ot)}),rt.spanLinks=nt),at.size&&(rt.traceID=[...at]),rt});function isSameQuery(o,$){return!!o!=!!$?!1:eqEq(o.end,$.end)&&eqEq(o.limit,$.limit)&&eqEq(o.lookback,$.lookback)&&eqEq(o.maxDuration,$.maxDuration)&&eqEq(o.minDuration,$.minDuration)&&eqEq(o.operation,$.operation)&&eqEq(o.service,$.service)&&eqEq(o.start,$.start)&&eqEq(o.tags,$.tags)}function getValidState(o){const{a:$,b:_e,cohort:et}=o,tt=new Set([].concat($,_e,et).filter(it=>!!it)),rt=Array.from(tt),at=rt[0],nt=rt[1];return{a:at,b:nt,cohort:rt}}const ROUTE_PATH$1=prefixUrl("/trace/:a?\\.\\.\\.:b?"),ROUTE_MATCHER$1={path:ROUTE_PATH$1,strict:!0,exact:!0};function matches$4(o){return!!matchPath$1(o,ROUTE_MATCHER$1)}function getUrl$1(o){const{a:$=void 0,b:_e=void 0,cohort:et}=getValidState(o),tt=queryString.stringify({cohort:et});return prefixUrl(`/trace/${$||""}...${_e||""}${tt?"?":""}${tt}`)}const ROUTE_PATH=prefixUrl("/monitor"),ROUTE_MATCHER={path:ROUTE_PATH,strict:!0,exact:!0};function matches$3(o){return!!matchPath$1(o,ROUTE_MATCHER)}function getUrl(){return ROUTE_PATH}var last_1,hasRequiredLast;function requireLast(){if(hasRequiredLast)return last_1;hasRequiredLast=1;function o($){var _e=$==null?0:$.length;return _e?$[_e-1]:void 0}return last_1=o,last_1}function baseSlice$2(o,$,_e){var et=-1,tt=o.length;$<0&&($=-$>tt?0:tt+$),_e=_e>tt?tt:_e,_e<0&&(_e+=tt),tt=$>_e?0:_e-$>>>0,$>>>=0;for(var rt=Array(tt);++et1&&arguments[1]!==void 0?arguments[1]:!1,_e=o.getAttribute("id")||o.getAttribute("data-reactid")||o.getAttribute("name");if($&&computedStyleCache[_e])return computedStyleCache[_e];var et=window.getComputedStyle(o),tt=et.getPropertyValue("box-sizing")||et.getPropertyValue("-moz-box-sizing")||et.getPropertyValue("-webkit-box-sizing"),rt=parseFloat(et.getPropertyValue("padding-bottom"))+parseFloat(et.getPropertyValue("padding-top")),at=parseFloat(et.getPropertyValue("border-bottom-width"))+parseFloat(et.getPropertyValue("border-top-width")),nt=SIZING_STYLE.map(function(ot){return"".concat(ot,":").concat(et.getPropertyValue(ot))}).join(";"),it={sizingStyle:nt,paddingSize:rt,borderSize:at,boxSizing:tt};return $&&_e&&(computedStyleCache[_e]=it),it}function calculateNodeHeight(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,_e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;hiddenTextarea||(hiddenTextarea=document.createElement("textarea"),document.body.appendChild(hiddenTextarea)),o.getAttribute("wrap")?hiddenTextarea.setAttribute("wrap",o.getAttribute("wrap")):hiddenTextarea.removeAttribute("wrap");var tt=calculateNodeStyling(o,$),rt=tt.paddingSize,at=tt.borderSize,nt=tt.boxSizing,it=tt.sizingStyle;hiddenTextarea.setAttribute("style","".concat(it,";").concat(HIDDEN_TEXTAREA_STYLE)),hiddenTextarea.value=o.value||o.placeholder||"";var ot=Number.MIN_SAFE_INTEGER,st=Number.MAX_SAFE_INTEGER,lt=hiddenTextarea.scrollHeight,ct;if(nt==="border-box"?lt+=at:nt==="content-box"&&(lt-=rt),_e!==null||et!==null){hiddenTextarea.value=" ";var ut=hiddenTextarea.scrollHeight-rt;_e!==null&&(ot=ut*_e,nt==="border-box"&&(ot=ot+rt+at),lt=Math.max(ot,lt)),et!==null&&(st=ut*et,nt==="border-box"&&(st=st+rt+at),ct=lt>st?"":"hidden",lt=Math.min(st,lt))}return{height:lt,minHeight:ot,maxHeight:st,overflowY:ct}}function _typeof$O(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$O=function(_e){return typeof _e}:_typeof$O=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$O(o)}function _extends$1J(){return _extends$1J=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$U(o){return _getPrototypeOf$U=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$U(o)}var ResizableTextArea=function(o){_inherits$1z(_e,o);var $=_createSuper$M(_e);function _e(et){var tt;return _classCallCheck$1B(this,_e),tt=$.call(this,et),tt.saveTextArea=function(rt){tt.textArea=rt},tt.resizeOnNextFrame=function(){wrapperRaf.cancel(tt.nextFrameActionId),tt.nextFrameActionId=wrapperRaf(tt.resizeTextarea)},tt.resizeTextarea=function(){var rt=tt.props.autoSize||tt.props.autosize;if(!(!rt||!tt.textArea)){var at=rt.minRows,nt=rt.maxRows,it=calculateNodeHeight(tt.textArea,!1,at,nt);tt.setState({textareaStyles:it,resizing:!0},function(){wrapperRaf.cancel(tt.resizeFrameId),tt.resizeFrameId=wrapperRaf(function(){tt.setState({resizing:!1}),tt.fixFirefoxAutoScroll()})})}},tt.renderTextArea=function(){var rt=tt.props,at=rt.prefixCls,nt=rt.autoSize,it=rt.autosize,ot=rt.className,st=rt.disabled,lt=tt.state,ct=lt.textareaStyles,ut=lt.resizing;warning$4(it===void 0,"Input.TextArea","autosize is deprecated, please use autoSize instead.");var ft=omit(tt.props,["prefixCls","onPressEnter","autoSize","autosize","defaultValue","allowClear"]),At=classNames(at,ot,_defineProperty$T({},"".concat(at,"-disabled"),st));"value"in ft&&(ft.value=ft.value||"");var vt=_extends$1J(_extends$1J(_extends$1J({},tt.props.style),ct),ut?{overflowX:"hidden",overflowY:"hidden"}:null);return reactExports.createElement(_default$5,{onResize:tt.resizeOnNextFrame,disabled:!(nt||it)},reactExports.createElement("textarea",_extends$1J({},ft,{className:At,style:vt,ref:tt.saveTextArea})))},tt.state={textareaStyles:{},resizing:!1},tt}return _createClass$1w(_e,[{key:"componentDidMount",value:function(){this.resizeTextarea()}},{key:"componentDidUpdate",value:function(tt){tt.value!==this.props.value&&this.resizeTextarea()}},{key:"componentWillUnmount",value:function(){wrapperRaf.cancel(this.nextFrameActionId),wrapperRaf.cancel(this.resizeFrameId)}},{key:"fixFirefoxAutoScroll",value:function(){try{if(document.activeElement===this.textArea){var tt=this.textArea.selectionStart,rt=this.textArea.selectionEnd;this.textArea.setSelectionRange(tt,rt)}}catch(at){}}},{key:"render",value:function(){return this.renderTextArea()}}]),_e}(reactExports.Component);polyfill(ResizableTextArea);const ResizableTextArea$1=ResizableTextArea;function _typeof$N(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$N=function(_e){return typeof _e}:_typeof$N=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$N(o)}function _extends$1I(){return _extends$1I=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$T(o){return _getPrototypeOf$T=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$T(o)}var TextArea=function(o){_inherits$1y(_e,o);var $=_createSuper$L(_e);function _e(et){var tt;_classCallCheck$1A(this,_e),tt=$.call(this,et),tt.saveTextArea=function(at){tt.resizableTextArea=at},tt.saveClearableInput=function(at){tt.clearableInput=at},tt.handleChange=function(at){tt.setValue(at.target.value,function(){tt.resizableTextArea.resizeTextarea()}),resolveOnChange(tt.resizableTextArea.textArea,at,tt.props.onChange)},tt.handleKeyDown=function(at){var nt=tt.props,it=nt.onPressEnter,ot=nt.onKeyDown;at.keyCode===13&&it&&it(at),ot&&ot(at)},tt.handleReset=function(at){tt.setValue("",function(){tt.resizableTextArea.renderTextArea(),tt.focus()}),resolveOnChange(tt.resizableTextArea.textArea,at,tt.props.onChange)},tt.renderTextArea=function(at){return reactExports.createElement(ResizableTextArea$1,_extends$1I({},tt.props,{prefixCls:at,onKeyDown:tt.handleKeyDown,onChange:tt.handleChange,ref:tt.saveTextArea}))},tt.renderComponent=function(at){var nt=at.getPrefixCls,it=tt.state.value,ot=tt.props.prefixCls,st=nt("input",ot);return reactExports.createElement(ClearableLabeledInput$1,_extends$1I({},tt.props,{prefixCls:st,inputType:"text",value:fixControlledValue(it),element:tt.renderTextArea(st),handleReset:tt.handleReset,ref:tt.saveClearableInput}))};var rt=typeof et.value>"u"?et.defaultValue:et.value;return tt.state={value:rt},tt}return _createClass$1v(_e,[{key:"setValue",value:function(tt,rt){"value"in this.props||this.setState({value:tt},rt)}},{key:"focus",value:function(){this.resizableTextArea.textArea.focus()}},{key:"blur",value:function(){this.resizableTextArea.textArea.blur()}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderComponent)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"value"in tt?{value:tt.value}:null}}]),_e}(reactExports.Component);polyfill(TextArea);const TextArea$1=TextArea;function _typeof$M(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$M=function(_e){return typeof _e}:_typeof$M=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$M(o)}function _extends$1H(){return _extends$1H=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$S(o){return _getPrototypeOf$S=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$S(o)}var __rest$r=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);ttencodeURIComponent(o).replace(/[!'()*]/g,$=>`%${$.charCodeAt(0).toString(16).toUpperCase()}`),token="%[a-f0-9]{2}",singleMatcher=new RegExp("("+token+")|([^%]+?)","gi"),multiMatcher=new RegExp("("+token+")+","gi");function decodeComponents(o,$){try{return[decodeURIComponent(o.join(""))]}catch(tt){}if(o.length===1)return o;$=$||1;var _e=o.slice(0,$),et=o.slice($);return Array.prototype.concat.call([],decodeComponents(_e),decodeComponents(et))}function decode$3(o){try{return decodeURIComponent(o)}catch(et){for(var $=o.match(singleMatcher)||[],_e=1;_e<$.length;_e++)o=decodeComponents($,_e).join(""),$=o.match(singleMatcher)||[];return o}}function customDecodeURIComponent(o){for(var $={"%FE%FF":"��","%FF%FE":"��"},_e=multiMatcher.exec(o);_e;){try{$[_e[0]]=decodeURIComponent(_e[0])}catch(nt){var et=decode$3(_e[0]);et!==_e[0]&&($[_e[0]]=et)}_e=multiMatcher.exec(o)}$["%C2"]="�";for(var tt=Object.keys($),rt=0;rt_e===null?[encode$1($,o),"[",et,"]"].join(""):[encode$1($,o),"[",encode$1(et,o),"]=",encode$1(_e,o)].join("");case"bracket":return($,_e)=>_e===null?[encode$1($,o),"[]"].join(""):[encode$1($,o),"[]=",encode$1(_e,o)].join("");default:return($,_e)=>_e===null?encode$1($,o):[encode$1($,o),"=",encode$1(_e,o)].join("")}}function parserForArrayFormat(o){let $;switch(o.arrayFormat){case"index":return(_e,et,tt)=>{if($=/\[(\d*)\]$/.exec(_e),_e=_e.replace(/\[\d*\]$/,""),!$){tt[_e]=et;return}tt[_e]===void 0&&(tt[_e]={}),tt[_e][$[1]]=et};case"bracket":return(_e,et,tt)=>{if($=/(\[\])$/.exec(_e),_e=_e.replace(/\[\]$/,""),!$){tt[_e]=et;return}if(tt[_e]===void 0){tt[_e]=[et];return}tt[_e]=[].concat(tt[_e],et)};default:return(_e,et,tt)=>{if(tt[_e]===void 0){tt[_e]=et;return}tt[_e]=[].concat(tt[_e],et)}}}function encode$1(o,$){return $.encode?$.strict?strictUriEncode(o):encodeURIComponent(o):o}function decode$2(o,$){return $.decode?decodeComponent(o):o}function keysSorter(o){return Array.isArray(o)?o.sort():typeof o=="object"?keysSorter(Object.keys(o)).sort(($,_e)=>Number($)-Number(_e)).map($=>o[$]):o}function extract(o){const $=o.indexOf("?");return $===-1?"":o.slice($+1)}function parse$2(o,$){$=Object.assign({decode:!0,arrayFormat:"none"},$);const _e=parserForArrayFormat($),et=Object.create(null);if(typeof o!="string"||(o=o.trim().replace(/^[?#&]/,""),!o))return et;for(const tt of o.split("&")){let[rt,at]=tt.replace(/\+/g," ").split("=");at=at===void 0?null:decode$2(at,$),_e(decode$2(rt,$),at,et)}return Object.keys(et).sort().reduce((tt,rt)=>{const at=et[rt];return at&&typeof at=="object"&&!Array.isArray(at)?tt[rt]=keysSorter(at):tt[rt]=at,tt},Object.create(null))}queryString.extract=extract;queryString.parse=parse$2;queryString.stringify=(o,$)=>{if(!o)return"";$=Object.assign({encode:!0,strict:!0,arrayFormat:"none"},$);const _e=encoderForArrayFormat($),et=Object.keys(o);return $.sort!==!1&&et.sort($.sort),et.map(tt=>{const rt=o[tt];if(rt===void 0)return"";if(rt===null)return encode$1(tt,$);if(Array.isArray(rt)){const at=[];for(const nt of rt.slice())nt!==void 0&&at.push(_e(tt,nt,at.length));return at.join("&")}return encode$1(tt,$)+"="+encode$1(rt,$)}).filter(tt=>tt.length>0).join("&")};queryString.parseUrl=(o,$)=>{const _e=o.indexOf("#");return _e!==-1&&(o=o.slice(0,_e)),{url:o.split("?")[0]||"",query:parse$2(extract(o),$)}};const ROUTE_PATH$6=prefixUrl("/trace/:id");function getUrl$6(o,$){const _e=prefixUrl(`/trace/${o}`);return $?`${_e}?${queryString.stringify({uiFind:$})}`:_e}function getLocation(o,$,_e){return{state:$,pathname:getUrl$6(o),search:_e&&queryString.stringify({uiFind:_e})}}const TraceIDSearchInput$2="";class TraceIDSearchInput extends reactExports.PureComponent{constructor(){super(...arguments),this.goToTrace=$=>{$.preventDefault();const et=$.target.elements.idInput.value;et&&this.props.history.push(getUrl$6(et))}}render(){return jsxRuntimeExports.jsx(Form,{layout:"horizontal",onSubmit:this.goToTrace,className:"TraceIDSearchInput--form",children:jsxRuntimeExports.jsx(Input$1,{name:"idInput",placeholder:"Lookup by Trace ID...",prefix:jsxRuntimeExports.jsx(Icon$1,{type:"search"})})})}}const TraceIDSearchInput$1=withRouter$1(TraceIDSearchInput),ROUTE_PATH$5=prefixUrl("/dependencies"),ROUTE_MATCHER$5={path:ROUTE_PATH$5,strict:!0,exact:!0};function matches$8(o){return!!matchPath$1(o,ROUTE_MATCHER$5)}function getUrl$5(){return ROUTE_PATH$5}var objectProto$9=Object.prototype;function isPrototype$4(o){var $=o&&o.constructor,_e=typeof $=="function"&&$.prototype||objectProto$9;return o===_e}var _isPrototype=isPrototype$4;function overArg$2(o,$){return function(_e){return o($(_e))}}var _overArg=overArg$2,overArg$1=_overArg,nativeKeys$1=overArg$1(Object.keys,Object),_nativeKeys=nativeKeys$1,isPrototype$3=_isPrototype,nativeKeys=_nativeKeys,objectProto$8=Object.prototype,hasOwnProperty$8=objectProto$8.hasOwnProperty;function baseKeys$2(o){if(!isPrototype$3(o))return nativeKeys(o);var $=[];for(var _e in Object(o))hasOwnProperty$8.call(o,_e)&&_e!="constructor"&&$.push(_e);return $}var _baseKeys=baseKeys$2,getNative$3=_getNative,root$8=_root,DataView$2=getNative$3(root$8,"DataView"),_DataView=DataView$2,getNative$2=_getNative,root$7=_root,Promise$3=getNative$2(root$7,"Promise"),_Promise=Promise$3,getNative$1=_getNative,root$6=_root,Set$4=getNative$1(root$6,"Set"),_Set=Set$4,getNative=_getNative,root$5=_root,WeakMap$2=getNative(root$5,"WeakMap"),_WeakMap=WeakMap$2,DataView$1=_DataView,Map$3=_Map,Promise$2=_Promise,Set$3=_Set,WeakMap$1=_WeakMap,baseGetTag$3=_baseGetTag,toSource=_toSource,mapTag$3="[object Map]",objectTag$3="[object Object]",promiseTag="[object Promise]",setTag$3="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$2="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$3),promiseCtorString=toSource(Promise$2),setCtorString=toSource(Set$3),weakMapCtorString=toSource(WeakMap$1),getTag$2=baseGetTag$3;(DataView$1&&getTag$2(new DataView$1(new ArrayBuffer(1)))!=dataViewTag$2||Map$3&&getTag$2(new Map$3)!=mapTag$3||Promise$2&&getTag$2(Promise$2.resolve())!=promiseTag||Set$3&&getTag$2(new Set$3)!=setTag$3||WeakMap$1&&getTag$2(new WeakMap$1)!=weakMapTag$1)&&(getTag$2=function(o){var $=baseGetTag$3(o),_e=$==objectTag$3?o.constructor:void 0,et=_e?toSource(_e):"";if(et)switch(et){case dataViewCtorString:return dataViewTag$2;case mapCtorString:return mapTag$3;case promiseCtorString:return promiseTag;case setCtorString:return setTag$3;case weakMapCtorString:return weakMapTag$1}return $});var _getTag=getTag$2,isFunction$7=isFunction_1,isLength$1=isLength_1;function isArrayLike$8(o){return o!=null&&isLength$1(o.length)&&!isFunction$7(o)}var isArrayLike_1=isArrayLike$8,isBufferExports={},isBuffer$5={get exports(){return isBufferExports},set exports(o){isBufferExports=o}};function stubFalse(){return!1}var stubFalse_1=stubFalse;(function(o,$){var _e=_root,et=stubFalse_1,tt=$&&!$.nodeType&&$,rt=tt&&!0&&o&&!o.nodeType&&o,at=rt&&rt.exports===tt,nt=at?_e.Buffer:void 0,it=nt?nt.isBuffer:void 0,ot=it||et;o.exports=ot})(isBuffer$5,isBufferExports);var baseGetTag$2=_baseGetTag,isLength=isLength_1,isObjectLike$4=isObjectLike_1,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",mapTag$2="[object Map]",numberTag$1="[object Number]",objectTag$2="[object Object]",regexpTag$1="[object RegExp]",setTag$2="[object Set]",stringTag$2="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0;typedArrayTags[argsTag$1]=typedArrayTags[arrayTag$1]=typedArrayTags[arrayBufferTag$1]=typedArrayTags[boolTag$1]=typedArrayTags[dataViewTag$1]=typedArrayTags[dateTag$1]=typedArrayTags[errorTag$1]=typedArrayTags[funcTag]=typedArrayTags[mapTag$2]=typedArrayTags[numberTag$1]=typedArrayTags[objectTag$2]=typedArrayTags[regexpTag$1]=typedArrayTags[setTag$2]=typedArrayTags[stringTag$2]=typedArrayTags[weakMapTag]=!1;function baseIsTypedArray$1(o){return isObjectLike$4(o)&&isLength(o.length)&&!!typedArrayTags[baseGetTag$2(o)]}var _baseIsTypedArray=baseIsTypedArray$1;function baseUnary$1(o){return function($){return o($)}}var _baseUnary=baseUnary$1,_nodeUtilExports={},_nodeUtil={get exports(){return _nodeUtilExports},set exports(o){_nodeUtilExports=o}};(function(o,$){var _e=_freeGlobal,et=$&&!$.nodeType&&$,tt=et&&!0&&o&&!o.nodeType&&o,rt=tt&&tt.exports===et,at=rt&&_e.process,nt=function(){try{var it=tt&&tt.require&&tt.require("util").types;return it||at&&at.binding&&at.binding("util")}catch(ot){}}();o.exports=nt})(_nodeUtil,_nodeUtilExports);var baseIsTypedArray=_baseIsTypedArray,baseUnary=_baseUnary,nodeUtil=_nodeUtilExports,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray$4=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,isTypedArray_1=isTypedArray$4,baseKeys$1=_baseKeys,getTag$1=_getTag,isArguments$4=isArguments_1,isArray$d=isArray_1,isArrayLike$7=isArrayLike_1,isBuffer$4=isBufferExports,isPrototype$2=_isPrototype,isTypedArray$3=isTypedArray_1,mapTag$1="[object Map]",setTag$1="[object Set]",objectProto$7=Object.prototype,hasOwnProperty$7=objectProto$7.hasOwnProperty;function isEmpty$2(o){if(o==null)return!0;if(isArrayLike$7(o)&&(isArray$d(o)||typeof o=="string"||typeof o.splice=="function"||isBuffer$4(o)||isTypedArray$3(o)||isArguments$4(o)))return!o.length;var $=getTag$1(o);if($==mapTag$1||$==setTag$1)return!o.size;if(isPrototype$2(o))return!baseKeys$1(o).length;for(var _e in o)if(hasOwnProperty$7.call(o,_e))return!1;return!0}var isEmpty_1=isEmpty$2,safeIsNaN=Number.isNaN||function($){return typeof $=="number"&&$!==$};function isEqual$2(o,$){return!!(o===$||safeIsNaN(o)&&safeIsNaN($))}function areInputsEqual$1(o,$){if(o.length!==$.length)return!1;for(var _e=0;_e({memberIdx:this.memberIdx,operation:this.operation.name,service:this.operation.service.name,visibilityIdx:this._visibilityIdx}),this.memberIdx=et,this.memberOf=$,this.operation=_e}get distance(){return this.memberIdx-this.memberOf.focalIdx}get externalPath(){const $=[];let _e=this;for(;_e;)$.push(_e),_e=_e.externalSideNeighbor;return this.distance<0&&$.reverse(),$}get externalSideNeighbor(){return this.distance?this.memberOf.members[this.memberIdx+Math.sign(this.distance)]:null}get focalPath(){const $=[];let _e=this;for(;_e;)$.push(_e),_e=_e.focalSideNeighbor;return this.distance>0&&$.reverse(),$}get focalSideNeighbor(){return this.distance?this.memberOf.members[this.memberIdx-Math.sign(this.distance)]:null}get isExternal(){return!!this.distance&&(this.memberIdx===0||this.memberIdx===this.memberOf.members.length-1)}set visibilityIdx($){if(this._visibilityIdx==null)this._visibilityIdx=$;else throw new Error("Visibility Index cannot be changed once set")}get visibilityIdx(){if(this._visibilityIdx==null)throw new Error("Visibility Index was never set for this PathElem");return this._visibilityIdx}toJSON(){return{...this.toJSONHelper(),memberOf:{focalIdx:this.memberOf.focalIdx,members:this.memberOf.members.map($=>$.toJSONHelper())}}}toString(){return JSON.stringify(this.toJSON(),null,2)}get[Symbol.toStringTag](){return`PathElem ${this._visibilityIdx}`}}var EViewModifier=(o=>(o[o.None=0]="None",o[o.Hovered=1]="Hovered",o[o.Selected=2]="Selected",o[o.Emphasized=4]="Emphasized",o[o.PathHovered=8]="PathHovered",o))(EViewModifier||{}),EDdgDensity=(o=>(o.ExternalVsInternal="ext-vs-int",o.MostConcise="mc",o.OnePerLevel="per-level",o.PreventPathEntanglement="ppe",o.UpstreamVsDownstream="up-vs-down",o))(EDdgDensity||{}),ECheckedStatus=(o=>(o.Empty="Empty",o.Full="Full",o.Partial="Partial",o))(ECheckedStatus||{}),EDirection=(o=>(o[o.Upstream=-1]="Upstream",o[o.Downstream=1]="Downstream",o))(EDirection||{});const ROUTE_PATH$4=prefixUrl("/deep-dependencies"),ROUTE_MATCHER$4={path:ROUTE_PATH$4,strict:!0,exact:!0};function matches$7(o){return!!matchPath$1(o,ROUTE_MATCHER$4)}function getUrl$4(o,$=ROUTE_PATH$4){if(o&&!isEmpty_1(o)){const _e=Reflect.has(o,"showOp")&&o.showOp!==void 0?{...o,showOp:o.showOp?1:0}:o;return`${$}?${queryString.stringify(_e)}`}return $}function firstParam(o){if(Array.isArray(o)){const $=o[0];return console.warn(`Found multiple query parameters: "${o}", using "${$}"`),$}return o}const getUrlState$2=memoizeOne$1(function($){const{density:_e=EDdgDensity.PreventPathEntanglement,decoration:et,end:tt,hash:rt,operation:at,service:nt,showOp:it,start:ot,visEncoding:st}=queryString.parse($),lt={density:firstParam(_e)};return et&&(lt.decoration=firstParam(et)),tt&&(lt.end=Number.parseInt(firstParam(tt),10)),rt&&(lt.hash=firstParam(rt)),at&&(lt.operation=firstParam(at)),nt&&(lt.service=firstParam(nt)),it&&(lt.showOp=!!+firstParam(it)),ot&&(lt.start=Number.parseInt(firstParam(ot),10)),st&&(lt.visEncoding=firstParam(st)),lt}),sanitizeUrlState=memoizeOne$1(function($,_e){if(_e&&$.hash===_e)return $;const{visEncoding:et,...tt}=$;return tt}),ROUTE_PATH$3=prefixUrl("/quality-metrics"),ROUTE_MATCHER$3={path:ROUTE_PATH$3,strict:!0,exact:!0};function matches$6(o){return!!matchPath$1(o,ROUTE_MATCHER$3)}function getUrl$3(o){return o?`${ROUTE_PATH$3}?${queryString.stringify(o)}`:ROUTE_PATH$3}const getUrlState$1=memoizeOne$1(function($){const{lookback:_e,service:et}=queryString.parse($),tt=Array.isArray(et)?et[0]:et,rt=Array.isArray(_e)?_e[0]:_e,at=rt&&Number.parseInt(rt,10),nt={lookback:48};return tt&&(nt.service=tt),at&&(nt.lookback=at),nt}),FONT_SIZE=14,FONT=`${FONT_SIZE}px Helvetica Nueue`,LINE_HEIGHT=1.5,OP_PADDING_TOP=5,PROGRESS_BAR_STROKE_WIDTH=15,RADIUS=75,WORD_RX$1=/\W*\w+\W*/g,MAX_LENGTH=7e3,MAX_LINKED_TRACES=35,MIN_LENGTH=getUrl$2().length,PARAM_NAME_LENGTH=9;function eqEq(o,$){return o==null&&$==null||String(o)===String($)}const ROUTE_PATH$2=prefixUrl("/search"),ROUTE_MATCHER$2={path:ROUTE_PATH$2,strict:!0,exact:!0};function matches$5(o){return!!matchPath$1(o,ROUTE_MATCHER$2)}function getUrl$2(o){const $=prefixUrl("/search");if(!o)return $;const{traceID:_e,spanLinks:et,...tt}=o;let rt=_e;et&&_e&&(rt=(Array.isArray(_e)?_e:[_e]).filter(ot=>!et[ot]));const at={...tt,span:et&&Object.keys(et).reduce((ot,st)=>[...ot,`${et[st]}@${st}`],[]),traceID:rt&&rt.length?rt:void 0},nt=`${$}?${queryString.stringify(at)}`;if(nt.length<=MAX_LENGTH)return nt;const it=nt.slice(0,MAX_LENGTH+1);return it[MAX_LENGTH]==="&"?it.slice(0,-1):it.slice(0,it.lastIndexOf("&"))}const getUrlState=memoizeOne$1(function($){const{traceID:_e,span:et,...tt}=queryString.parse($),rt={...tt},at=new Set(!_e||Array.isArray(_e)?_e:[_e]),nt={};return et&&et.length&&((Array.isArray(et)?et:[et]).forEach(it=>{const[ot,st]=it.split("@");at.add(st),ot&&(nt[st]?nt[st]=nt[st].concat(" ",ot):nt[st]=ot)}),rt.spanLinks=nt),at.size&&(rt.traceID=[...at]),rt});function isSameQuery(o,$){return!!o!=!!$?!1:eqEq(o.end,$.end)&&eqEq(o.limit,$.limit)&&eqEq(o.lookback,$.lookback)&&eqEq(o.maxDuration,$.maxDuration)&&eqEq(o.minDuration,$.minDuration)&&eqEq(o.operation,$.operation)&&eqEq(o.service,$.service)&&eqEq(o.start,$.start)&&eqEq(o.tags,$.tags)}function getValidState(o){const{a:$,b:_e,cohort:et}=o,tt=new Set([].concat($,_e,et).filter(it=>!!it)),rt=Array.from(tt),at=rt[0],nt=rt[1];return{a:at,b:nt,cohort:rt}}const ROUTE_PATH$1=prefixUrl("/trace/:a?\\.\\.\\.:b?"),ROUTE_MATCHER$1={path:ROUTE_PATH$1,strict:!0,exact:!0};function matches$4(o){return!!matchPath$1(o,ROUTE_MATCHER$1)}function getUrl$1(o){const{a:$=void 0,b:_e=void 0,cohort:et}=getValidState(o),tt=queryString.stringify({cohort:et});return prefixUrl(`/trace/${$||""}...${_e||""}${tt?"?":""}${tt}`)}const ROUTE_PATH=prefixUrl("/monitor"),ROUTE_MATCHER={path:ROUTE_PATH,strict:!0,exact:!0};function matches$3(o){return!!matchPath$1(o,ROUTE_MATCHER)}function getUrl(){return ROUTE_PATH}function last$1(o){var $=o==null?0:o.length;return $?o[$-1]:void 0}var last_1=last$1;function baseSlice$2(o,$,_e){var et=-1,tt=o.length;$<0&&($=-$>tt?0:tt+$),_e=_e>tt?tt:_e,_e<0&&(_e+=tt),tt=$>_e?0:_e-$>>>0,$>>>=0;for(var rt=Array(tt);++et",FETCH_DONE="FETCH_DONE",FETCH_ERROR="FETCH_ERROR",FETCH_LOADING="FETCH_LOADING",fetchedState={DONE:FETCH_DONE,ERROR:FETCH_ERROR,LOADING:FETCH_LOADING},defaultVersion=Object.freeze({gitCommit:"",gitVersion:"",buildDate:""});let haveWarnedFactoryFn$1=!1;function getVersion(){const o=window.getJaegerVersion;if(typeof o!="function")return haveWarnedFactoryFn$1||(console.warn("Embedded version information not available"),haveWarnedFactoryFn$1=!0),{...defaultVersion};const $=o();return $?{...$}:{...defaultVersion}}const version$3="1.29.1",defaultConfig={archiveEnabled:!1,dependencies:{dagMaxNumServices:FALLBACK_DAG_MAX_NUM_SERVICES,menuEnabled:!0},menu:[{label:"About Jaeger",items:[{label:"Website/Docs",url:"https://www.jaegertracing.io/"},{label:"Blog",url:"https://medium.com/jaegertracing/"},{label:"Twitter",url:"https://twitter.com/JaegerTracing"},{label:"Discussion Group",url:"https://groups.google.com/forum/#!forum/jaeger-tracing"},{label:"Online Chat",url:"https://cloud-native.slack.com/archives/CGG7NFUJ3"},{label:"GitHub",url:"https://github.com/jaegertracing/"},{label:`Jaeger ${getVersion().gitVersion}`},{label:`Commit ${getVersion().gitCommit.substring(0,7)}`},{label:`Build ${getVersion().buildDate}`},{label:`Jaeger UI v${version$3}`}]}],search:{maxLookback:{label:"2 Days",value:"2d"},maxLimit:1500},tracking:{gaID:null,trackErrors:!0,customWebAnalytics:null},linkPatterns:[],monitor:{menuEnabled:!0,emptyState:{mainTitle:"Get started with Service Performance Monitoring",subTitle:"A high-level monitoring dashboard that helps you cut down the time to identify and resolve anomalies and issues.",description:"Service Performance Monitoring aggregates tracing data into RED metrics and visualizes them in service and operation level dashboards.",button:{text:"Read the Documentation",onClick:()=>window.open("https://www.jaegertracing.io/docs/latest/spm/")},alert:{message:"Service Performance Monitoring requires a Prometheus-compatible time series database.",type:"info"}},docsLink:"https://www.jaegertracing.io/docs/latest/spm/"},traceGraph:{layoutManagerMemory:void 0},deepDependencies:{menuEnabled:!1},qualityMetrics:{menuEnabled:!1,menuLabel:"Trace Quality"}},mergeFields=["dependencies","search","tracking"],defaultConfig$1=deepFreeze(defaultConfig),deprecations=[{formerKey:"dependenciesMenuEnabled",currentKey:"dependencies.menuEnabled"},{formerKey:"gaTrackingID",currentKey:"tracking.gaID"}];let haveWarnedFactoryFn=!1,haveWarnedDeprecations=!1;const getConfig=memoizeOne$1(function(){const $=window.getJaegerUiConfig;if(typeof $!="function")return haveWarnedFactoryFn||(console.warn("Embedded config not available"),haveWarnedFactoryFn=!0),{...defaultConfig$1};const _e=$();if(!_e)return{...defaultConfig$1};Array.isArray(deprecations)&&(deprecations.forEach(rt=>processDeprecation(_e,rt,!haveWarnedDeprecations)),haveWarnedDeprecations=!0);const et={...defaultConfig$1,..._e},tt=mergeFields;for(let rt=0;rtgetUrl$1(o.traceDiff),matches:matches$4,text:"Compare"}];getConfigValue("dependencies.menuEnabled")&&NAV_LINKS.push({to:getUrl$5(),matches:matches$8,text:"System Architecture"});getConfigValue("deepDependencies.menuEnabled")&&NAV_LINKS.push({to:getUrl$4(),matches:matches$7,text:"Service Dependencies"});getConfigValue("qualityMetrics.menuEnabled")&&NAV_LINKS.push({to:getUrl$3(),matches:matches$6,text:getConfigValue("qualityMetrics.menuLabel")});getConfigValue("monitor.menuEnabled")&&NAV_LINKS.push({to:getUrl(),matches:matches$3,text:"Monitor"});function getItem$1(o){const{label:$,anchorTarget:_e,url:et}=o,tt=jsxRuntimeExports.jsx("a",{href:et,target:_e||"_blank",rel:"noopener noreferrer",children:$});return jsxRuntimeExports.jsx(Menu.Item,{disabled:!et,children:et?tt:$},$)}function CustomNavDropdown({label:o,items:$}){const _e=jsxRuntimeExports.jsx(Menu,{children:$.map(getItem$1)});return jsxRuntimeExports.jsx(Dropdown,{overlay:_e,placement:"bottomRight",children:jsxRuntimeExports.jsxs("a",{children:[o," ",jsxRuntimeExports.jsx(Icon$1,{type:"down"})]})})}function isItem(o){return!has_1(o,"items")}function TopNavImpl(o){const{config:$,router:_e}=o,{pathname:et}=_e.location,tt=Array.isArray($.menu)?$.menu:[];return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs(Menu,{theme:"dark",mode:"horizontal",selectable:!1,className:"ub-right",selectedKeys:[et],children:[jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(TraceIDSearchInput$1,{})}),tt.map(rt=>isItem(rt)?getItem$1(rt):jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(CustomNavDropdown,{...rt},rt.label)},rt.label))]}),jsxRuntimeExports.jsxs(Menu,{theme:"dark",mode:"horizontal",selectable:!1,selectedKeys:[et],children:[jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(Link$1,{to:prefixUrl("/"),style:{fontSize:"14px",fontWeight:500},children:"JAEGER UI"})}),NAV_LINKS.map(({matches:rt,to:at,text:nt})=>{const it=typeof at=="string"?at:at(o),ot=rt(et)?et:it;return jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(Link$1,{to:it,children:nt})},ot)})]})]})}TopNavImpl.CustomNavDropdown=CustomNavDropdown;function mapStateToProps$d(o){return o}const TopNav=withRouter$1(connect$3(mapStateToProps$d)(TopNavImpl));function warn$2(o){console.warn("[react-ga]",o)}function _typeof$L(o){return _typeof$L=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},_typeof$L(o)}var _excluded$1=["to","target"];function ownKeys$c(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$c(o){for(var $=1;$=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$5(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function _classCallCheck$1y(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$M(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1t(o,$,_e){return $&&_defineProperties$M(o.prototype,$),_e&&_defineProperties$M(o,_e),Object.defineProperty(o,"prototype",{writable:!1}),o}function _inherits$1w(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),Object.defineProperty(o,"prototype",{writable:!1}),$&&_setPrototypeOf$O(o,$)}function _setPrototypeOf$O(o,$){return _setPrototypeOf$O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$O(o,$)}function _createSuper$J(o){var $=_isNativeReflectConstruct$J();return function(){var et=_getPrototypeOf$R(o),tt;if($){var rt=_getPrototypeOf$R(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1w(this,tt)}}function _possibleConstructorReturn$1w(o,$){if($&&(_typeof$L($)==="object"||typeof $=="function"))return $;if($!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized$O(o)}function _assertThisInitialized$O(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$J(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$R(o){return _getPrototypeOf$R=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$R(o)}function _defineProperty$R(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var NEWTAB="_blank",MIDDLECLICK=1,OutboundLink$1=function(o){_inherits$1w(_e,o);var $=_createSuper$J(_e);function _e(){var et;_classCallCheck$1y(this,_e);for(var tt=arguments.length,rt=new Array(tt),at=0;at0&&_e+$.length!==et.length&&$.search(smallWords)>-1&&et.charAt(_e-2)!==":"&&(et.charAt(_e+$.length)!=="-"||et.charAt(_e-1)==="-")&&et.charAt(_e-1).search(/[^\s-]/)<0?$.toLowerCase():$.substr(1).search(/[A-Z]|\../)>-1?$:$.charAt(0).toUpperCase()+$.substr(1)})}function format$2(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,_e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,et=o||"";return $&&(et=toTitleCase$1(o)),_e&&(et=redactEmail(et)),et}function removeLeadingSlash(o){return o.substring(0,1)==="/"?o.substring(1):o}var isLoaded=!1;function loadGA(o){if(!isLoaded){isLoaded=!0;var $="https://www.google-analytics.com/analytics.js";o&&o.gaAddress?$=o.gaAddress:o&&o.debug&&($="https://www.google-analytics.com/analytics_debug.js");var _e=o&&o.onerror;(function(et,tt,rt,at,nt,it,ot){et.GoogleAnalyticsObject=nt,et[nt]=et[nt]||function(){(et[nt].q=et[nt].q||[]).push(arguments)},et[nt].l=1*new Date,it=tt.createElement(rt),ot=tt.getElementsByTagName(rt)[0],it.async=1,it.src=at,it.onerror=_e,ot.parentNode.insertBefore(it,ot)})(window,document,"script",$,"ga")}}function log$1(o){console.info("[react-ga]",o)}var gaCalls=[];const TestModeAPI={calls:gaCalls,ga:function(){for(var $=arguments.length,_e=new Array($),et=0;et<$;et++)_e[et]=arguments[et];gaCalls.push([].concat(_e))},resetCalls:function(){gaCalls.length=0}};var _excluded=["category","action","label","value","nonInteraction","transport"];function _objectWithoutProperties$7(o,$){if(o==null)return{};var _e=_objectWithoutPropertiesLoose$4(o,$),et,tt;if(Object.getOwnPropertySymbols){var rt=Object.getOwnPropertySymbols(o);for(tt=0;tt=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$4(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function ownKeys$b(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$b(o){for(var $=1;$o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}var _isNotBrowser=typeof window>"u"||typeof document>"u",_debug=!1,_titleCase=!0,_testMode=!1,_alwaysSendToDefaultTracker=!0,_redactEmail=!0,internalGa=function(){var $;return _testMode?TestModeAPI.ga.apply(TestModeAPI,arguments):_isNotBrowser?!1:window.ga?($=window).ga.apply($,arguments):warn$2("ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually")};function _format(o){return format$2(o,_titleCase,_redactEmail)}function _gaCommand(o){for(var $=arguments.length,_e=new Array($>1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];var tt=_e[0];if(typeof internalGa=="function"){if(typeof tt!="string"){warn$2("ga command must be a string");return}(_alwaysSendToDefaultTracker||!Array.isArray(o))&&internalGa.apply(void 0,_e),Array.isArray(o)&&o.forEach(function(rt){internalGa.apply(void 0,_toConsumableArray$a(["".concat(rt,".").concat(tt)].concat(_e.slice(1))))})}}function _initialize(o,$){if(!o){warn$2("gaTrackingID is required in initialize()");return}$&&($.debug&&$.debug===!0&&(_debug=!0),$.titleCase===!1&&(_titleCase=!1),$.redactEmail===!1&&(_redactEmail=!1),$.useExistingGa)||($&&$.gaOptions?internalGa("create",o,$.gaOptions):internalGa("create",o,"auto"))}function addTrackers(o,$){return Array.isArray(o)?o.forEach(function(_e){if(_typeof$K(_e)!=="object"){warn$2("All configs must be an object");return}_initialize(_e.trackingId,_e)}):_initialize(o,$),!0}function initialize$1(o,$){if($&&$.testMode===!0)_testMode=!0;else{if(_isNotBrowser)return;(!$||$.standardImplementation!==!0)&&loadGA($)}_alwaysSendToDefaultTracker=$&&typeof $.alwaysSendToDefaultTracker=="boolean"?$.alwaysSendToDefaultTracker:!0,addTrackers(o,$)}function ga(){for(var o=arguments.length,$=new Array(o),_e=0;_e0&&(internalGa.apply(void 0,$),_debug&&(log$1("called ga('arguments');"),log$1("with arguments: ".concat(JSON.stringify($))))),window.ga}function set$4(o,$){if(!o){warn$2("`fieldsObject` is required in .set()");return}if(_typeof$K(o)!=="object"){warn$2("Expected `fieldsObject` arg to be an Object");return}Object.keys(o).length===0&&warn$2("empty `fieldsObject` given to .set()"),_gaCommand($,"set",o),_debug&&(log$1("called ga('set', fieldsObject);"),log$1("with fieldsObject: ".concat(JSON.stringify(o))))}function send(o,$){_gaCommand($,"send",o),_debug&&(log$1("called ga('send', fieldObject);"),log$1("with fieldObject: ".concat(JSON.stringify(o))),log$1("with trackers: ".concat(JSON.stringify($))))}function pageview(o,$,_e){if(!o){warn$2("path is required in .pageview()");return}var et=trim$3(o);if(et===""){warn$2("path cannot be an empty string in .pageview()");return}var tt={};if(_e&&(tt.title=_e),typeof ga=="function"&&(_gaCommand($,"send",_objectSpread$b({hitType:"pageview",page:et},tt)),_debug)){log$1("called ga('send', 'pageview', path);");var rt="";_e&&(rt=" and title: ".concat(_e)),log$1("with path: ".concat(et).concat(rt))}}function modalview(o,$){if(!o){warn$2("modalName is required in .modalview(modalName)");return}var _e=removeLeadingSlash(trim$3(o));if(_e===""){warn$2("modalName cannot be an empty string or a single / in .modalview()");return}if(typeof ga=="function"){var et="/modal/".concat(_e);_gaCommand($,"send","pageview",et),_debug&&(log$1("called ga('send', 'pageview', path);"),log$1("with path: ".concat(et)))}}function timing(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=o.category,_e=o.variable,et=o.value,tt=o.label,rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(typeof ga=="function"){if(!$||!_e||typeof et!="number"){warn$2("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number");return}var at={hitType:"timing",timingCategory:_format($),timingVar:_format(_e),timingValue:et};tt&&(at.timingLabel=_format(tt)),send(at,rt)}}function event$1(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=o.category,_e=o.action,et=o.label,tt=o.value,rt=o.nonInteraction,at=o.transport,nt=_objectWithoutProperties$7(o,_excluded),it=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(typeof ga=="function"){if(!$||!_e){warn$2("args.category AND args.action are required in event()");return}var ot={hitType:"event",eventCategory:_format($),eventAction:_format(_e)};et&&(ot.eventLabel=_format(et)),typeof tt<"u"&&(typeof tt!="number"?warn$2("Expected `args.value` arg to be a Number."):ot.eventValue=tt),typeof rt<"u"&&(typeof rt!="boolean"?warn$2("`args.nonInteraction` must be a boolean."):ot.nonInteraction=rt),typeof at<"u"&&(typeof at!="string"?warn$2("`args.transport` must be a string."):(["beacon","xhr","image"].indexOf(at)===-1&&warn$2("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),ot.transport=at)),Object.keys(nt).filter(function(st){return st.substr(0,9)==="dimension"}).forEach(function(st){ot[st]=nt[st]}),Object.keys(nt).filter(function(st){return st.substr(0,6)==="metric"}).forEach(function(st){ot[st]=nt[st]}),send(ot,it)}}function exception(o,$){var _e=o.description,et=o.fatal;if(typeof ga=="function"){var tt={hitType:"exception"};_e&&(tt.exDescription=_format(_e)),typeof et<"u"&&(typeof et!="boolean"?warn$2("`args.fatal` must be a boolean."):tt.exFatal=et),send(tt,$)}}var plugin={require:function($,_e,et){if(typeof ga=="function"){if(!$){warn$2("`name` is required in .require()");return}var tt=trim$3($);if(tt===""){warn$2("`name` cannot be an empty string in .require()");return}var rt=et?"".concat(et,".require"):"require";if(_e){if(_typeof$K(_e)!=="object"){warn$2("Expected `options` arg to be an Object");return}Object.keys(_e).length===0&&warn$2("Empty `options` given to .require()"),ga(rt,tt,_e),_debug&&log$1("called ga('require', '".concat(tt,"', ").concat(JSON.stringify(_e)))}else ga(rt,tt),_debug&&log$1("called ga('require', '".concat(tt,"');"))}},execute:function($,_e){for(var et,tt,rt=arguments.length,at=new Array(rt>2?rt-2:0),nt=2;nt0){var ct=_e(it,this);~ct?it.splice(ct+1):it.push(this),~ct?ot.splice(ct,1/0,st):ot.push(st),~_e(it,lt)&&(lt=nt.call(this,st,lt))}else it.push(lt);return at==null?lt instanceof Error?tt(lt):lt:at.call(this,st,lt)}}})(stringify$2,stringifyExports);var stringify$1=stringifyExports,_window$3=typeof window<"u"?window:typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:{};function isObject$g(o){return typeof o=="object"&&o!==null}function isError$2(o){switch(Object.prototype.toString.call(o)){case"[object Error]":return!0;case"[object Exception]":return!0;case"[object DOMException]":return!0;default:return o instanceof Error}}function isErrorEvent$1(o){return Object.prototype.toString.call(o)==="[object ErrorEvent]"}function isDOMError$1(o){return Object.prototype.toString.call(o)==="[object DOMError]"}function isDOMException$1(o){return Object.prototype.toString.call(o)==="[object DOMException]"}function isUndefined$2(o){return o===void 0}function isFunction$6(o){return typeof o=="function"}function isPlainObject$4(o){return Object.prototype.toString.call(o)==="[object Object]"}function isString$3(o){return Object.prototype.toString.call(o)==="[object String]"}function isArray$c(o){return Object.prototype.toString.call(o)==="[object Array]"}function isEmptyObject$1(o){if(!isPlainObject$4(o))return!1;for(var $ in o)if(o.hasOwnProperty($))return!1;return!0}function supportsErrorEvent(){try{return new ErrorEvent(""),!0}catch(o){return!1}}function supportsDOMError(){try{return new DOMError(""),!0}catch(o){return!1}}function supportsDOMException(){try{return new DOMException(""),!0}catch(o){return!1}}function supportsFetch$1(){if(!("fetch"in _window$3))return!1;try{return new Headers,new Request(""),new Response,!0}catch(o){return!1}}function supportsReferrerPolicy$1(){if(!supportsFetch$1())return!1;try{return new Request("pickleRick",{referrerPolicy:"origin"}),!0}catch(o){return!1}}function supportsPromiseRejectionEvent(){return typeof PromiseRejectionEvent=="function"}function wrappedCallback(o){function $(_e,et){var tt=o(_e)||_e;return et&&et(tt)||tt}return $}function each$a(o,$){var _e,et;if(isUndefined$2(o.length))for(_e in o)hasKey$1(o,_e)&&$.call(null,_e,o[_e]);else if(et=o.length,et)for(_e=0;_e ",nt=at.length,it;o&&tt++<$&&(it=htmlElementAsString(o),!(it==="html"||tt>1&&rt+et.length*nt+it.length>=_e));)et.push(it),rt+=it.length,o=o.parentNode;return et.reverse().join(at)}function htmlElementAsString(o){var $=[],_e,et,tt,rt,at;if(!o||!o.tagName)return"";if($.push(o.tagName.toLowerCase()),o.id&&$.push("#"+o.id),_e=o.className,_e&&isString$3(_e))for(et=_e.split(/\s+/),at=0;at"u")return o;var _e=Object.prototype.toString.call(o);return _e==="[object Object]"?"[Object]":_e==="[object Array]"?"[Array]":_e==="[object Function]"?o.name?"[Function: "+o.name+"]":"[Function]":o}function serializeObject(o,$){return $===0?serializeValue(o):isPlainObject$4(o)?Object.keys(o).reduce(function(_e,et){return _e[et]=serializeObject(o[et],$-1),_e},{}):Array.isArray(o)?o.map(function(_e){return serializeObject(_e,$-1)}):serializeValue(o)}function serializeException$1(o,$,_e){if(!isPlainObject$4(o))return o;$=typeof $!="number"?MAX_SERIALIZE_EXCEPTION_DEPTH:$,_e=typeof $!="number"?MAX_SERIALIZE_EXCEPTION_SIZE:_e;var et=serializeObject(o,$);return jsonSize(stringify$1(et))>_e?serializeException$1(o,$-1):et}function serializeKeysForMessage$1(o,$){if(typeof o=="number"||typeof o=="string")return o.toString();if(!Array.isArray(o))return"";if(o=o.filter(function(tt){return typeof tt=="string"}),o.length===0)return"[object has no keys]";if($=typeof $!="number"?MAX_SERIALIZE_KEYS_LENGTH:$,o[0].length>=$)return o[0];for(var _e=o.length;_e>0;_e--){var et=o.slice(0,_e).join(", ");if(!(et.length>$))return _e===o.length?et:et+"…"}return""}function sanitize$1(o,$){if(!isArray$c($)||isArray$c($)&&$.length===0)return o;var _e=joinRegExp$1($),et="********",tt;try{tt=JSON.parse(stringify$1(o))}catch(at){return o}function rt(at){return isArray$c(at)?at.map(function(nt){return rt(nt)}):isPlainObject$4(at)?Object.keys(at).reduce(function(nt,it){return _e.test(it)?nt[it]=et:nt[it]=rt(at[it]),nt},{}):at}return rt(tt)}var utils$6={isObject:isObject$g,isError:isError$2,isErrorEvent:isErrorEvent$1,isDOMError:isDOMError$1,isDOMException:isDOMException$1,isUndefined:isUndefined$2,isFunction:isFunction$6,isPlainObject:isPlainObject$4,isString:isString$3,isArray:isArray$c,isEmptyObject:isEmptyObject$1,supportsErrorEvent,supportsDOMError,supportsDOMException,supportsFetch:supportsFetch$1,supportsReferrerPolicy:supportsReferrerPolicy$1,supportsPromiseRejectionEvent,wrappedCallback,each:each$a,objectMerge:objectMerge$1,truncate:truncate$2,objectFrozen:objectFrozen$1,hasKey:hasKey$1,joinRegExp:joinRegExp$1,urlencode:urlencode$1,uuid4:uuid4$1,htmlTreeAsString:htmlTreeAsString$1,htmlElementAsString,isSameException:isSameException$1,isSameStacktrace:isSameStacktrace$1,parseUrl:parseUrl$1,fill:fill$1,safeJoin,serializeException:serializeException$1,serializeKeysForMessage:serializeKeysForMessage$1,sanitize:sanitize$1},utils$5=utils$6,TraceKit$1={collectWindowErrors:!0,debug:!1},_window$2=typeof window<"u"?window:typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:{},_slice=[].slice,UNKNOWN_FUNCTION="?",ERROR_TYPES_RE=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function getLocationHref(){return typeof document>"u"||document.location==null?"":document.location.href}function getLocationOrigin(){return typeof document>"u"||document.location==null?"":document.location.origin?document.location.origin:document.location.protocol+"//"+document.location.hostname+(document.location.port?":"+document.location.port:"")}TraceKit$1.report=function(){var $=[],_e=null,et=null,tt=null;function rt(vt){ct(),$.push(vt)}function at(vt){for(var ht=$.length-1;ht>=0;--ht)$[ht]===vt&&$.splice(ht,1)}function nt(){ut(),$=[]}function it(vt,ht){var bt=null;if(!(ht&&!TraceKit$1.collectWindowErrors)){for(var pt in $)if($.hasOwnProperty(pt))try{$[pt].apply(null,[vt].concat(_slice.call(arguments,2)))}catch(dt){bt=dt}if(bt)throw bt}}var ot,st;function lt(vt,ht,bt,pt,dt){var _t=null,Ct=utils$5.isErrorEvent(dt)?dt.error:dt,gt=utils$5.isErrorEvent(vt)?vt.message:vt;if(tt)TraceKit$1.computeStackTrace.augmentStackTraceWithInitialElement(tt,ht,bt,gt),ft();else if(Ct&&utils$5.isError(Ct))_t=TraceKit$1.computeStackTrace(Ct),it(_t,!0);else{var yt={url:ht,line:bt,column:pt},xt=void 0,Et;if({}.toString.call(gt)==="[object String]"){var Et=gt.match(ERROR_TYPES_RE);Et&&(xt=Et[1],gt=Et[2])}yt.func=UNKNOWN_FUNCTION,_t={name:xt,message:gt,url:getLocationHref(),stack:[yt]},it(_t,!0)}return ot?ot.apply(this,arguments):!1}function ct(){st||(ot=_window$2.onerror,_window$2.onerror=lt,st=!0)}function ut(){st&&(_window$2.onerror=ot,st=!1,ot=void 0)}function ft(){var vt=tt,ht=_e;_e=null,tt=null,et=null,it.apply(null,[vt,!1].concat(ht))}function At(vt,ht){var bt=_slice.call(arguments,1);if(tt){if(et===vt)return;ft()}var pt=TraceKit$1.computeStackTrace(vt);if(tt=pt,et=vt,_e=bt,setTimeout(function(){et===vt&&ft()},pt.incomplete?2e3:0),ht!==!1)throw vt}return At.subscribe=rt,At.unsubscribe=at,At.uninstall=nt,At}();TraceKit$1.computeStackTrace=function(){function $(rt){if(!(typeof rt.stack>"u"||!rt.stack)){var at=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack||[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,nt=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx(?:-web)|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,it=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,ot=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,st=/\((\S*)(?::(\d+))(?::(\d+))\)/,lt=rt.stack.split(` -`),ct=[],ut,ft,At;/^(.*) is undefined$/.exec(rt.message);for(var vt=0,ht=lt.length;vt eval")>-1;pt&&(ut=ot.exec(ft[3]))?(ft[3]=ut[1],ft[4]=ut[2],ft[5]=null):vt===0&&!ft[5]&&typeof rt.columnNumber<"u"&&(ct[0].column=rt.columnNumber+1),At={url:ft[3],func:ft[1]||UNKNOWN_FUNCTION,args:ft[2]?ft[2].split(","):[],line:ft[4]?+ft[4]:null,column:ft[5]?+ft[5]:null}}else continue;if(!At.func&&At.line&&(At.func=UNKNOWN_FUNCTION),At.url&&At.url.substr(0,5)==="blob:"){var dt=new XMLHttpRequest;if(dt.open("GET",At.url,!1),dt.send(null),dt.status===200){var _t=dt.responseText||"";_t=_t.slice(-300);var Ct=_t.match(/\/\/# sourceMappingURL=(.*)$/);if(Ct){var gt=Ct[1];gt.charAt(0)==="~"&&(gt=getLocationOrigin()+gt.slice(1)),At.url=gt.slice(0,-4)}}}ct.push(At)}return ct.length?{name:rt.name,message:rt.message,url:getLocationHref(),stack:ct}:null}}function _e(rt,at,nt,it){var ot={url:at,line:nt};if(ot.url&&ot.line){if(rt.incomplete=!1,ot.func||(ot.func=UNKNOWN_FUNCTION),rt.stack.length>0&&rt.stack[0].url===ot.url){if(rt.stack[0].line===ot.line)return!1;if(!rt.stack[0].line&&rt.stack[0].func===ot.func)return rt.stack[0].line=ot.line,!1}return rt.stack.unshift(ot),rt.partial=!0,!0}else rt.incomplete=!0;return!1}function et(rt,at){for(var nt=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,it=[],ot={},st=!1,lt,ct,ut=et.caller;ut&&!st;ut=ut.caller)if(!(ut===tt||ut===TraceKit$1.report)){if(ct={url:null,func:UNKNOWN_FUNCTION,line:null,column:null},ut.name?ct.func=ut.name:(lt=nt.exec(ut.toString()))&&(ct.func=lt[1]),typeof ct.func>"u")try{ct.func=lt.input.substring(0,lt.input.indexOf("{"))}catch(At){}ot[""+ut]?st=!0:ot[""+ut]=!0,it.push(ct)}at&&it.splice(0,at);var ft={name:rt.name,message:rt.message,url:getLocationHref(),stack:it};return _e(ft,rt.sourceURL||rt.fileName,rt.line||rt.lineNumber,rt.message||rt.description),ft}function tt(rt,at){var nt=null;at=at==null?0:+at;try{if(nt=$(rt),nt)return nt}catch(it){if(TraceKit$1.debug)throw it}try{if(nt=et(rt,at+1),nt)return nt}catch(it){if(TraceKit$1.debug)throw it}return{name:rt.name,message:rt.message,url:getLocationHref()}}return tt.augmentStackTraceWithInitialElement=_e,tt.computeStackTraceFromStackProp=$,tt}();var tracekit=TraceKit$1;function safeAdd(o,$){var _e=(o&65535)+($&65535),et=(o>>16)+($>>16)+(_e>>16);return et<<16|_e&65535}function bitRotateLeft(o,$){return o<<$|o>>>32-$}function md5cmn(o,$,_e,et,tt,rt){return safeAdd(bitRotateLeft(safeAdd(safeAdd($,o),safeAdd(et,rt)),tt),_e)}function md5ff(o,$,_e,et,tt,rt,at){return md5cmn($&_e|~$&et,o,$,tt,rt,at)}function md5gg(o,$,_e,et,tt,rt,at){return md5cmn($&et|_e&~et,o,$,tt,rt,at)}function md5hh(o,$,_e,et,tt,rt,at){return md5cmn($^_e^et,o,$,tt,rt,at)}function md5ii(o,$,_e,et,tt,rt,at){return md5cmn(_e^($|~et),o,$,tt,rt,at)}function binlMD5(o,$){o[$>>5]|=128<<$%32,o[($+64>>>9<<4)+14]=$;var _e,et,tt,rt,at,nt=1732584193,it=-271733879,ot=-1732584194,st=271733878;for(_e=0;_e>5]>>>$%32&255);return _e}function rstr2binl(o){var $,_e=[];for(_e[(o.length>>2)-1]=void 0,$=0;$<_e.length;$+=1)_e[$]=0;var et=o.length*8;for($=0;$>5]|=(o.charCodeAt($/8)&255)<<$%32;return _e}function rstrMD5(o){return binl2rstr(binlMD5(rstr2binl(o),o.length*8))}function rstrHMACMD5(o,$){var _e,et=rstr2binl(o),tt=[],rt=[],at;for(tt[15]=rt[15]=void 0,et.length>16&&(et=binlMD5(et,o.length*8)),_e=0;_e<16;_e+=1)tt[_e]=et[_e]^909522486,rt[_e]=et[_e]^1549556828;return at=binlMD5(tt.concat(rstr2binl($)),512+$.length*8),binl2rstr(binlMD5(rt.concat(at),512+128))}function rstr2hex(o){var $="0123456789abcdef",_e="",et,tt;for(tt=0;tt>>4&15)+$.charAt(et&15);return _e}function str2rstrUTF8(o){return unescape(encodeURIComponent(o))}function rawMD5(o){return rstrMD5(str2rstrUTF8(o))}function hexMD5(o){return rstr2hex(rawMD5(o))}function rawHMACMD5(o,$){return rstrHMACMD5(str2rstrUTF8(o),str2rstrUTF8($))}function hexHMACMD5(o,$){return rstr2hex(rawHMACMD5(o,$))}function md5$1(o,$,_e){return $?_e?rawHMACMD5($,o):hexHMACMD5($,o):_e?rawMD5(o):hexMD5(o)}var md5_1=md5$1;function RavenConfigError$1(o){this.name="RavenConfigError",this.message=o}RavenConfigError$1.prototype=new Error;RavenConfigError$1.prototype.constructor=RavenConfigError$1;var configError=RavenConfigError$1,utils$4=utils$6,wrapMethod=function(o,$,_e){var et=o[$],tt=o;if($ in o){var rt=$==="warn"?"warning":$;o[$]=function(){var at=[].slice.call(arguments),nt=utils$4.safeJoin(at," "),it={level:rt,logger:"console",extra:{arguments:at}};$==="assert"?at[0]===!1&&(nt="Assertion failed: "+(utils$4.safeJoin(at.slice(1)," ")||"console.assert"),it.extra.arguments=at.slice(1),_e&&_e(nt,it)):_e&&_e(nt,it),et&&Function.prototype.apply.call(et,tt,at)}}},console$1={wrapMethod},TraceKit=tracekit,stringify=stringifyExports,md5=md5_1,RavenConfigError=configError,utils$3=utils$6,isErrorEvent=utils$3.isErrorEvent,isDOMError=utils$3.isDOMError,isDOMException=utils$3.isDOMException,isError$1=utils$3.isError,isObject$f=utils$3.isObject,isPlainObject$3=utils$3.isPlainObject,isUndefined$1=utils$3.isUndefined,isFunction$5=utils$3.isFunction,isString$2=utils$3.isString,isArray$b=utils$3.isArray,isEmptyObject=utils$3.isEmptyObject,each$9=utils$3.each,objectMerge=utils$3.objectMerge,truncate$1=utils$3.truncate,objectFrozen=utils$3.objectFrozen,hasKey=utils$3.hasKey,joinRegExp=utils$3.joinRegExp,urlencode=utils$3.urlencode,uuid4=utils$3.uuid4,htmlTreeAsString=utils$3.htmlTreeAsString,isSameException=utils$3.isSameException,isSameStacktrace=utils$3.isSameStacktrace,parseUrl=utils$3.parseUrl,fill=utils$3.fill,supportsFetch=utils$3.supportsFetch,supportsReferrerPolicy=utils$3.supportsReferrerPolicy,serializeKeysForMessage=utils$3.serializeKeysForMessage,serializeException=utils$3.serializeException,sanitize=utils$3.sanitize,wrapConsoleMethod=console$1.wrapMethod,dsnKeys="source protocol user pass host port path".split(" "),dsnPattern=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;function now$6(){return+new Date}var _window$1=typeof window<"u"?window:typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:{},_document=_window$1.document,_navigator=_window$1.navigator;function keepOriginalCallback(o,$){return isFunction$5($)?function(_e){return $(_e,o)}:$}function Raven$1(){this._hasJSON=!!(typeof JSON=="object"&&JSON.stringify),this._hasDocument=!isUndefined$1(_document),this._hasNavigator=!isUndefined$1(_navigator),this._lastCapturedException=null,this._lastData=null,this._lastEventId=null,this._globalServer=null,this._globalKey=null,this._globalProject=null,this._globalContext={},this._globalOptions={release:_window$1.SENTRY_RELEASE&&_window$1.SENTRY_RELEASE.id,logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],headers:null,collectWindowErrors:!0,captureUnhandledRejections:!0,maxMessageLength:0,maxUrlLength:250,stackTraceLimit:50,autoBreadcrumbs:!0,instrument:!0,sampleRate:1,sanitizeKeys:[]},this._fetchDefaults={method:"POST",referrerPolicy:supportsReferrerPolicy()?"origin":""},this._ignoreOnError=0,this._isRavenInstalled=!1,this._originalErrorStackTraceLimit=Error.stackTraceLimit,this._originalConsole=_window$1.console||{},this._originalConsoleMethods={},this._plugins=[],this._startTime=now$6(),this._wrappedBuiltIns=[],this._breadcrumbs=[],this._lastCapturedEvent=null,this._keypressTimeout,this._location=_window$1.location,this._lastHref=this._location&&this._location.href,this._resetBackoff();for(var o in this._originalConsole)this._originalConsoleMethods[o]=this._originalConsole[o]}Raven$1.prototype={VERSION:"3.27.2",debug:!1,TraceKit,config:function(o,$){var _e=this;if(_e._globalServer)return this._logDebug("error","Error: Raven has already been configured"),_e;if(!o)return _e;var et=_e._globalOptions;$&&each$9($,function(it,ot){it==="tags"||it==="extra"||it==="user"?_e._globalContext[it]=ot:et[it]=ot}),_e.setDSN(o),et.ignoreErrors.push(/^Script error\.?$/),et.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),et.ignoreErrors=joinRegExp(et.ignoreErrors),et.ignoreUrls=et.ignoreUrls.length?joinRegExp(et.ignoreUrls):!1,et.whitelistUrls=et.whitelistUrls.length?joinRegExp(et.whitelistUrls):!1,et.includePaths=joinRegExp(et.includePaths),et.maxBreadcrumbs=Math.max(0,Math.min(et.maxBreadcrumbs||100,100));var tt={xhr:!0,console:!0,dom:!0,location:!0,sentry:!0},rt=et.autoBreadcrumbs;({}).toString.call(rt)==="[object Object]"?rt=objectMerge(tt,rt):rt!==!1&&(rt=tt),et.autoBreadcrumbs=rt;var at={tryCatch:!0},nt=et.instrument;return{}.toString.call(nt)==="[object Object]"?nt=objectMerge(at,nt):nt!==!1&&(nt=at),et.instrument=nt,TraceKit.collectWindowErrors=!!et.collectWindowErrors,_e},install:function(){var o=this;return o.isSetup()&&!o._isRavenInstalled&&(TraceKit.report.subscribe(function(){o._handleOnErrorStackInfo.apply(o,arguments)}),o._globalOptions.captureUnhandledRejections&&o._attachPromiseRejectionHandler(),o._patchFunctionToString(),o._globalOptions.instrument&&o._globalOptions.instrument.tryCatch&&o._instrumentTryCatch(),o._globalOptions.autoBreadcrumbs&&o._instrumentBreadcrumbs(),o._drainPlugins(),o._isRavenInstalled=!0),Error.stackTraceLimit=o._globalOptions.stackTraceLimit,this},setDSN:function(o){var $=this,_e=$._parseDSN(o),et=_e.path.lastIndexOf("/"),tt=_e.path.substr(1,et);$._dsn=o,$._globalKey=_e.user,$._globalSecret=_e.pass&&_e.pass.substr(1),$._globalProject=_e.path.substr(et+1),$._globalServer=$._getGlobalServer(_e),$._globalEndpoint=$._globalServer+"/"+tt+"api/"+$._globalProject+"/store/",this._resetBackoff()},context:function(o,$,_e){return isFunction$5(o)&&(_e=$||[],$=o,o={}),this.wrap(o,$).apply(this,_e)},wrap:function(o,$,_e){var et=this;if(isUndefined$1($)&&!isFunction$5(o))return o;if(isFunction$5(o)&&($=o,o=void 0),!isFunction$5($))return $;try{if($.__raven__)return $;if($.__raven_wrapper__)return $.__raven_wrapper__}catch(at){return $}function tt(){var at=[],nt=arguments.length,it=!o||o&&o.deep!==!1;for(_e&&isFunction$5(_e)&&_e.apply(this,arguments);nt--;)at[nt]=it?et.wrap(o,arguments[nt]):arguments[nt];try{return $.apply(this,at)}catch(ot){throw et._ignoreNextOnError(),et.captureException(ot,o),ot}}for(var rt in $)hasKey($,rt)&&(tt[rt]=$[rt]);return tt.prototype=$.prototype,$.__raven_wrapper__=tt,tt.__raven__=!0,tt.__orig__=$,tt},uninstall:function(){return TraceKit.report.uninstall(),this._detachPromiseRejectionHandler(),this._unpatchFunctionToString(),this._restoreBuiltIns(),this._restoreConsole(),Error.stackTraceLimit=this._originalErrorStackTraceLimit,this._isRavenInstalled=!1,this},_promiseRejectionHandler:function(o){this._logDebug("debug","Raven caught unhandled promise rejection:",o),this.captureException(o.reason,{mechanism:{type:"onunhandledrejection",handled:!1}})},_attachPromiseRejectionHandler:function(){return this._promiseRejectionHandler=this._promiseRejectionHandler.bind(this),_window$1.addEventListener&&_window$1.addEventListener("unhandledrejection",this._promiseRejectionHandler),this},_detachPromiseRejectionHandler:function(){return _window$1.removeEventListener&&_window$1.removeEventListener("unhandledrejection",this._promiseRejectionHandler),this},captureException:function(o,$){if($=objectMerge({trimHeadFrames:0},$||{}),isErrorEvent(o)&&o.error)o=o.error;else if(isDOMError(o)||isDOMException(o)){var _e=o.name||(isDOMError(o)?"DOMError":"DOMException"),et=o.message?_e+": "+o.message:_e;return this.captureMessage(et,objectMerge($,{stacktrace:!0,trimHeadFrames:$.trimHeadFrames+1}))}else if(isError$1(o))o=o;else if(isPlainObject$3(o))$=this._getCaptureExceptionOptionsFromPlainObject($,o),o=new Error($.message);else return this.captureMessage(o,objectMerge($,{stacktrace:!0,trimHeadFrames:$.trimHeadFrames+1}));this._lastCapturedException=o;try{var tt=TraceKit.computeStackTrace(o);this._handleStackInfo(tt,$)}catch(rt){if(o!==rt)throw rt}return this},_getCaptureExceptionOptionsFromPlainObject:function(o,$){var _e=Object.keys($).sort(),et=objectMerge(o,{message:"Non-Error exception captured with keys: "+serializeKeysForMessage(_e),fingerprint:[md5(_e)],extra:o.extra||{}});return et.extra.__serialized__=serializeException($),et},captureMessage:function(o,$){if(!(this._globalOptions.ignoreErrors.test&&this._globalOptions.ignoreErrors.test(o))){$=$||{},o=o+"";var _e=objectMerge({message:o},$),et;try{throw new Error(o)}catch(it){et=it}et.name=null;var tt=TraceKit.computeStackTrace(et),rt=isArray$b(tt.stack)&&tt.stack[1];rt&&rt.func==="Raven.captureException"&&(rt=tt.stack[2]);var at=rt&&rt.url||"";if(!(this._globalOptions.ignoreUrls.test&&this._globalOptions.ignoreUrls.test(at))&&!(this._globalOptions.whitelistUrls.test&&!this._globalOptions.whitelistUrls.test(at))){if(this._globalOptions.stacktrace||$.stacktrace||_e.message===""){_e.fingerprint=_e.fingerprint==null?o:_e.fingerprint,$=objectMerge({trimHeadFrames:0},$),$.trimHeadFrames+=1;var nt=this._prepareFrames(tt,$);_e.stacktrace={frames:nt.reverse()}}return _e.fingerprint&&(_e.fingerprint=isArray$b(_e.fingerprint)?_e.fingerprint:[_e.fingerprint]),this._send(_e),this}}},captureBreadcrumb:function(o){var $=objectMerge({timestamp:now$6()/1e3},o);if(isFunction$5(this._globalOptions.breadcrumbCallback)){var _e=this._globalOptions.breadcrumbCallback($);if(isObject$f(_e)&&!isEmptyObject(_e))$=_e;else if(_e===!1)return this}return this._breadcrumbs.push($),this._breadcrumbs.length>this._globalOptions.maxBreadcrumbs&&this._breadcrumbs.shift(),this},addPlugin:function(o){var $=[].slice.call(arguments,1);return this._plugins.push([o,$]),this._isRavenInstalled&&this._drainPlugins(),this},setUserContext:function(o){return this._globalContext.user=o,this},setExtraContext:function(o){return this._mergeContext("extra",o),this},setTagsContext:function(o){return this._mergeContext("tags",o),this},clearContext:function(){return this._globalContext={},this},getContext:function(){return JSON.parse(stringify(this._globalContext))},setEnvironment:function(o){return this._globalOptions.environment=o,this},setRelease:function(o){return this._globalOptions.release=o,this},setDataCallback:function(o){var $=this._globalOptions.dataCallback;return this._globalOptions.dataCallback=keepOriginalCallback($,o),this},setBreadcrumbCallback:function(o){var $=this._globalOptions.breadcrumbCallback;return this._globalOptions.breadcrumbCallback=keepOriginalCallback($,o),this},setShouldSendCallback:function(o){var $=this._globalOptions.shouldSendCallback;return this._globalOptions.shouldSendCallback=keepOriginalCallback($,o),this},setTransport:function(o){return this._globalOptions.transport=o,this},lastException:function(){return this._lastCapturedException},lastEventId:function(){return this._lastEventId},isSetup:function(){return this._hasJSON?this._globalServer?!0:(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this._logDebug("error","Error: Raven has not been configured.")),!1):!1},afterLoad:function(){var o=_window$1.RavenConfig;o&&this.config(o.dsn,o.config).install()},showReportDialog:function(o){if(_document){if(o=objectMerge({eventId:this.lastEventId(),dsn:this._dsn,user:this._globalContext.user||{}},o),!o.eventId)throw new RavenConfigError("Missing eventId");if(!o.dsn)throw new RavenConfigError("Missing DSN");var $=encodeURIComponent,_e=[];for(var et in o)if(et==="user"){var tt=o.user;tt.name&&_e.push("name="+$(tt.name)),tt.email&&_e.push("email="+$(tt.email))}else _e.push($(et)+"="+$(o[et]));var rt=this._getGlobalServer(this._parseDSN(o.dsn)),at=_document.createElement("script");at.async=!0,at.src=rt+"/api/embed/error-page/?"+_e.join("&"),(_document.head||_document.body).appendChild(at)}},_ignoreNextOnError:function(){var o=this;this._ignoreOnError+=1,setTimeout(function(){o._ignoreOnError-=1})},_triggerEvent:function(o,$){var _e,et;if(this._hasDocument){$=$||{},o="raven"+o.substr(0,1).toUpperCase()+o.substr(1),_document.createEvent?(_e=_document.createEvent("HTMLEvents"),_e.initEvent(o,!0,!0)):(_e=_document.createEventObject(),_e.eventType=o);for(et in $)hasKey($,et)&&(_e[et]=$[et]);if(_document.createEvent)_document.dispatchEvent(_e);else try{_document.fireEvent("on"+_e.eventType.toLowerCase(),_e)}catch(tt){}}},_breadcrumbEventHandler:function(o){var $=this;return function(_e){if($._keypressTimeout=null,$._lastCapturedEvent!==_e){$._lastCapturedEvent=_e;var et;try{et=htmlTreeAsString(_e.target)}catch(tt){et=""}$.captureBreadcrumb({category:"ui."+o,message:et})}}},_keypressEventHandler:function(){var o=this,$=1e3;return function(_e){var et;try{et=_e.target}catch(at){return}var tt=et&&et.tagName;if(!(!tt||tt!=="INPUT"&&tt!=="TEXTAREA"&&!et.isContentEditable)){var rt=o._keypressTimeout;rt||o._breadcrumbEventHandler("input")(_e),clearTimeout(rt),o._keypressTimeout=setTimeout(function(){o._keypressTimeout=null},$)}}},_captureUrlChange:function(o,$){var _e=parseUrl(this._location.href),et=parseUrl($),tt=parseUrl(o);this._lastHref=$,_e.protocol===et.protocol&&_e.host===et.host&&($=et.relative),_e.protocol===tt.protocol&&_e.host===tt.host&&(o=tt.relative),this.captureBreadcrumb({category:"navigation",data:{to:$,from:o}})},_patchFunctionToString:function(){var o=this;o._originalFunctionToString=Function.prototype.toString,Function.prototype.toString=function(){return typeof this=="function"&&this.__raven__?o._originalFunctionToString.apply(this.__orig__,arguments):o._originalFunctionToString.apply(this,arguments)}},_unpatchFunctionToString:function(){this._originalFunctionToString&&(Function.prototype.toString=this._originalFunctionToString)},_instrumentTryCatch:function(){var o=this,$=o._wrappedBuiltIns;function _e(nt){return function(it,ot){for(var st=new Array(arguments.length),lt=0;lt"}}},ct)),nt.apply?nt.apply(this,st):nt(st[0],st[1])}}var et=this._globalOptions.autoBreadcrumbs;function tt(nt){var it=_window$1[nt]&&_window$1[nt].prototype;it&&it.hasOwnProperty&&it.hasOwnProperty("addEventListener")&&(fill(it,"addEventListener",function(ot){return function(st,lt,ct,ut){try{lt&<.handleEvent&&(lt.handleEvent=o.wrap({mechanism:{type:"instrument",data:{target:nt,function:"handleEvent",handler:lt&<.name||""}}},lt.handleEvent))}catch(ht){}var ft,At,vt;return et&&et.dom&&(nt==="EventTarget"||nt==="Node")&&(At=o._breadcrumbEventHandler("click"),vt=o._keypressEventHandler(),ft=function(ht){if(ht){var bt;try{bt=ht.type}catch(pt){return}if(bt==="click")return At(ht);if(bt==="keypress")return vt(ht)}}),ot.call(this,st,o.wrap({mechanism:{type:"instrument",data:{target:nt,function:"addEventListener",handler:lt&<.name||""}}},lt,ft),ct,ut)}},$),fill(it,"removeEventListener",function(ot){return function(st,lt,ct,ut){try{lt=lt&&(lt.__raven_wrapper__?lt.__raven_wrapper__:lt)}catch(ft){}return ot.call(this,st,lt,ct,ut)}},$))}fill(_window$1,"setTimeout",_e,$),fill(_window$1,"setInterval",_e,$),_window$1.requestAnimationFrame&&fill(_window$1,"requestAnimationFrame",function(nt){return function(it){return nt(o.wrap({mechanism:{type:"instrument",data:{function:"requestAnimationFrame",handler:nt&&nt.name||""}}},it))}},$);for(var rt=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],at=0;at"}}},ut)})}if($.xhr&&"XMLHttpRequest"in _window$1){var tt=_window$1.XMLHttpRequest&&_window$1.XMLHttpRequest.prototype;fill(tt,"open",function(lt){return function(ct,ut){return isString$2(ut)&&ut.indexOf(o._globalKey)===-1&&(this.__raven_xhr={method:ct,url:ut,status_code:null}),lt.apply(this,arguments)}},_e),fill(tt,"send",function(lt){return function(){var ct=this;function ut(){if(ct.__raven_xhr&&ct.readyState===4){try{ct.__raven_xhr.status_code=ct.status}catch(vt){}o.captureBreadcrumb({type:"http",category:"xhr",data:ct.__raven_xhr})}}for(var ft=["onload","onerror","onprogress"],At=0;At"}}},vt,ut)}):ct.onreadystatechange=ut,lt.apply(this,arguments)}},_e)}$.xhr&&supportsFetch()&&fill(_window$1,"fetch",function(lt){return function(){for(var ct=new Array(arguments.length),ut=0;ut2?arguments[2]:void 0;return ct&&o._captureUrlChange(o._lastHref,ct+""),lt.apply(this,arguments)}};fill(_window$1.history,"pushState",ot,_e),fill(_window$1.history,"replaceState",ot,_e)}if($.console&&"console"in _window$1&&console.log){var st=function(lt,ct){o.captureBreadcrumb({message:lt,level:ct.level,category:"console"})};each$9(["debug","info","warn","error","log"],function(lt,ct){wrapConsoleMethod(console,ct,st)})}},_restoreBuiltIns:function(){for(var o;this._wrappedBuiltIns.length;){o=this._wrappedBuiltIns.shift();var $=o[0],_e=o[1],et=o[2];$[_e]=et}},_restoreConsole:function(){for(var o in this._originalConsoleMethods)this._originalConsole[o]=this._originalConsoleMethods[o]},_drainPlugins:function(){var o=this;each$9(this._plugins,function($,_e){var et=_e[0],tt=_e[1];et.apply(o,[o].concat(tt))})},_parseDSN:function(o){var $=dsnPattern.exec(o),_e={},et=7;try{for(;et--;)_e[dsnKeys[et]]=$[et]||""}catch(tt){throw new RavenConfigError("Invalid DSN: "+o)}if(_e.pass&&!this._globalOptions.allowSecretKey)throw new RavenConfigError("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return _e},_getGlobalServer:function(o){var $="//"+o.host+(o.port?":"+o.port:"");return o.protocol&&($=o.protocol+":"+$),$},_handleOnErrorStackInfo:function(o,$){$=$||{},$.mechanism=$.mechanism||{type:"onerror",handled:!1},this._ignoreOnError||this._handleStackInfo(o,$)},_handleStackInfo:function(o,$){var _e=this._prepareFrames(o,$);this._triggerEvent("handle",{stackInfo:o,options:$}),this._processException(o.name,o.message,o.url,o.lineno,_e,$)},_prepareFrames:function(o,$){var _e=this,et=[];if(o.stack&&o.stack.length&&(each$9(o.stack,function(rt,at){var nt=_e._normalizeFrame(at,o.url);nt&&et.push(nt)}),$&&$.trimHeadFrames))for(var tt=0;tt<$.trimHeadFrames&&tt0&&(o.breadcrumbs={values:[].slice.call(this._breadcrumbs,0)}),this._globalContext.user&&(o.user=this._globalContext.user),$.environment&&(o.environment=$.environment),$.release&&(o.release=$.release),$.serverName&&(o.server_name=$.serverName),o=this._sanitizeData(o),Object.keys(o).forEach(function(tt){(o[tt]==null||o[tt]===""||isEmptyObject(o[tt]))&&delete o[tt]}),isFunction$5($.dataCallback)&&(o=$.dataCallback(o)||o),!(!o||isEmptyObject(o))&&!(isFunction$5($.shouldSendCallback)&&!$.shouldSendCallback(o))){if(this._shouldBackoff()){this._logDebug("warn","Raven dropped error due to backoff: ",o);return}typeof $.sampleRate=="number"?Math.random()<$.sampleRate&&this._sendProcessedPayload(o):this._sendProcessedPayload(o)}},_sanitizeData:function(o){return sanitize(o,this._globalOptions.sanitizeKeys)},_getUuid:function(){return uuid4()},_sendProcessedPayload:function(o,$){var _e=this,et=this._globalOptions;if(this.isSetup()){if(o=this._trimPacket(o),!this._globalOptions.allowDuplicates&&this._isRepeatData(o)){this._logDebug("warn","Raven dropped repeat event: ",o);return}this._lastEventId=o.event_id||(o.event_id=this._getUuid()),this._lastData=o,this._logDebug("debug","Raven about to send:",o);var tt={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this._globalKey};this._globalSecret&&(tt.sentry_secret=this._globalSecret);var rt=o.exception&&o.exception.values[0];this._globalOptions.autoBreadcrumbs&&this._globalOptions.autoBreadcrumbs.sentry&&this.captureBreadcrumb({category:"sentry",message:rt?(rt.type?rt.type+": ":"")+rt.value:o.message,event_id:o.event_id,level:o.level||"error"});var at=this._globalEndpoint;(et.transport||this._makeRequest).call(this,{url:at,auth:tt,data:o,options:et,onSuccess:function(){_e._resetBackoff(),_e._triggerEvent("success",{data:o,src:at}),$&&$()},onError:function(it){_e._logDebug("error","Raven transport failed to send: ",it),it.request&&_e._setBackoffState(it.request),_e._triggerEvent("failure",{data:o,src:at}),it=it||new Error("Raven send failed (no additional details provided)"),$&&$(it)}})}},_makeRequest:function(o){var $=o.url+"?"+urlencode(o.auth),_e=null,et={};if(o.options.headers&&(_e=this._evaluateHash(o.options.headers)),o.options.fetchParameters&&(et=this._evaluateHash(o.options.fetchParameters)),supportsFetch()){et.body=stringify(o.data);var tt=objectMerge({},this._fetchDefaults),rt=objectMerge(tt,et);return _e&&(rt.headers=_e),_window$1.fetch($,rt).then(function(it){if(it.ok)o.onSuccess&&o.onSuccess();else{var ot=new Error("Sentry error code: "+it.status);ot.request=it,o.onError&&o.onError(ot)}}).catch(function(){o.onError&&o.onError(new Error("Sentry error code: network unavailable"))})}var at=_window$1.XMLHttpRequest&&new _window$1.XMLHttpRequest;if(at){var nt="withCredentials"in at||typeof XDomainRequest<"u";nt&&("withCredentials"in at?at.onreadystatechange=function(){if(at.readyState===4){if(at.status===200)o.onSuccess&&o.onSuccess();else if(o.onError){var it=new Error("Sentry error code: "+at.status);it.request=at,o.onError(it)}}}:(at=new XDomainRequest,$=$.replace(/^https?:/,""),o.onSuccess&&(at.onload=o.onSuccess),o.onError&&(at.onerror=function(){var it=new Error("Sentry error code: XDomainRequest");it.request=at,o.onError(it)})),at.open("POST",$),_e&&each$9(_e,function(it,ot){at.setRequestHeader(it,ot)}),at.send(stringify(o.data)))}},_evaluateHash:function(o){var $={};for(var _e in o)if(o.hasOwnProperty(_e)){var et=o[_e];$[_e]=typeof et=="function"?et():et}return $},_logDebug:function(o){this._originalConsoleMethods[o]&&(this.debug||this._globalOptions.debug)&&Function.prototype.apply.call(this._originalConsoleMethods[o],this._originalConsole,[].slice.call(arguments,1))},_mergeContext:function(o,$){isUndefined$1($)?delete this._globalContext[o]:this._globalContext[o]=objectMerge(this._globalContext[o]||{},$)}};Raven$1.prototype.setUser=Raven$1.prototype.setUserContext;Raven$1.prototype.setReleaseContext=Raven$1.prototype.setRelease;var raven=Raven$1,RavenConstructor=raven,_window=typeof window<"u"?window:typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:{},_Raven=_window.Raven,Raven=new RavenConstructor;Raven.noConflict=function(){return _window.Raven=_Raven,Raven};Raven.afterLoad();singleton.exports=Raven;singletonExports.Client=RavenConstructor;const UNKNOWN_SYM={sym:"??",word:"??"},NAV_SYMBOLS=[{sym:"dp",word:"dependencies",rx:/^\/dep/i},{sym:"tr",word:"trace",rx:/^\/trace/i},{sym:"sd",word:"search",rx:/^\/search\?./i},{sym:"sr",word:"search",rx:/^\/search/i},{sym:"rt",word:"home",rx:/^\/$/}],FETCH_SYMBOLS=[{sym:"svc",word:"",rx:/^\/api\/services$/i},{sym:"op",word:"",rx:/^\/api\/.*?operations$/i},{sym:"sr",word:"",rx:/^\/api\/traces\?/i},{sym:"tr",word:"",rx:/^\/api\/traces\/./i},{sym:"dp",word:"",rx:/^\/api\/dep/i},{sym:"__IGNORE__",word:"",rx:/\.js(\.map)?$/i}],warn$1=console.warn.bind(console),origin=window.location.origin+prefixUrl("");function truncate(o,$,_e=!1){return o.length>$?_e?`~${o.slice(1-$)}`:`${o.slice(0,$-1)}~`:o}function collapseWhitespace(o){return o.trim().replace(/\n/g,"|").replace(/\s\s+/g," ").trim()}function getSym(o,$){for(let _e=0;_e-1){const at=_e.slice(0,tt).replace(/error/i,"").trim();at&&et.push(at,"! "),_e=_e.slice(tt+1)}et.push(_e.trim());const rt=et.join("");return $?truncate(rt,$):et.join("")}function convException(o){const $=convErrorMessage(`${o.type}: ${o.value}`,149),_e=o.stacktrace.frames.map(rt=>{const at=rt.filename.replace(origin,"").replace(/^\/static\/js\//i,""),nt=collapseWhitespace(rt.function||"??");return{filename:at,fn:nt}}),et=[];let tt="";for(let rt=_e.length-1;rt>=0;rt--){const{filename:at,fn:nt}=_e[rt];tt!==at&&(et.push(`> ${at}`),tt=at),et.push(nt)}return{message:$,stack:et.join(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$7(o,$){if(o){if(typeof o=="string")return _arrayLikeToArray$7(o,$);var _e=Object.prototype.toString.call(o).slice(8,-1);if(_e==="Object"&&o.constructor&&(_e=o.constructor.name),_e==="Map"||_e==="Set")return Array.from(o);if(_e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_e))return _arrayLikeToArray$7(o,$)}}function _iterableToArray$6(o){if(typeof Symbol<"u"&&o[Symbol.iterator]!=null||o["@@iterator"]!=null)return Array.from(o)}function _arrayWithoutHoles$6(o){if(Array.isArray(o))return _arrayLikeToArray$7(o)}function _arrayLikeToArray$7(o,$){($==null||$>o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}var _isNotBrowser=typeof window>"u"||typeof document>"u",_debug=!1,_titleCase=!0,_testMode=!1,_alwaysSendToDefaultTracker=!0,_redactEmail=!0,internalGa=function(){var $;return _testMode?TestModeAPI.ga.apply(TestModeAPI,arguments):_isNotBrowser?!1:window.ga?($=window).ga.apply($,arguments):warn$2("ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually")};function _format(o){return format$2(o,_titleCase,_redactEmail)}function _gaCommand(o){for(var $=arguments.length,_e=new Array($>1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];var tt=_e[0];if(typeof internalGa=="function"){if(typeof tt!="string"){warn$2("ga command must be a string");return}(_alwaysSendToDefaultTracker||!Array.isArray(o))&&internalGa.apply(void 0,_e),Array.isArray(o)&&o.forEach(function(rt){internalGa.apply(void 0,_toConsumableArray$a(["".concat(rt,".").concat(tt)].concat(_e.slice(1))))})}}function _initialize(o,$){if(!o){warn$2("gaTrackingID is required in initialize()");return}$&&($.debug&&$.debug===!0&&(_debug=!0),$.titleCase===!1&&(_titleCase=!1),$.redactEmail===!1&&(_redactEmail=!1),$.useExistingGa)||($&&$.gaOptions?internalGa("create",o,$.gaOptions):internalGa("create",o,"auto"))}function addTrackers(o,$){return Array.isArray(o)?o.forEach(function(_e){if(_typeof$K(_e)!=="object"){warn$2("All configs must be an object");return}_initialize(_e.trackingId,_e)}):_initialize(o,$),!0}function initialize$1(o,$){if($&&$.testMode===!0)_testMode=!0;else{if(_isNotBrowser)return;(!$||$.standardImplementation!==!0)&&loadGA($)}_alwaysSendToDefaultTracker=$&&typeof $.alwaysSendToDefaultTracker=="boolean"?$.alwaysSendToDefaultTracker:!0,addTrackers(o,$)}function ga(){for(var o=arguments.length,$=new Array(o),_e=0;_e0&&(internalGa.apply(void 0,$),_debug&&(log$1("called ga('arguments');"),log$1("with arguments: ".concat(JSON.stringify($))))),window.ga}function set$4(o,$){if(!o){warn$2("`fieldsObject` is required in .set()");return}if(_typeof$K(o)!=="object"){warn$2("Expected `fieldsObject` arg to be an Object");return}Object.keys(o).length===0&&warn$2("empty `fieldsObject` given to .set()"),_gaCommand($,"set",o),_debug&&(log$1("called ga('set', fieldsObject);"),log$1("with fieldsObject: ".concat(JSON.stringify(o))))}function send(o,$){_gaCommand($,"send",o),_debug&&(log$1("called ga('send', fieldObject);"),log$1("with fieldObject: ".concat(JSON.stringify(o))),log$1("with trackers: ".concat(JSON.stringify($))))}function pageview(o,$,_e){if(!o){warn$2("path is required in .pageview()");return}var et=trim$3(o);if(et===""){warn$2("path cannot be an empty string in .pageview()");return}var tt={};if(_e&&(tt.title=_e),typeof ga=="function"&&(_gaCommand($,"send",_objectSpread$b({hitType:"pageview",page:et},tt)),_debug)){log$1("called ga('send', 'pageview', path);");var rt="";_e&&(rt=" and title: ".concat(_e)),log$1("with path: ".concat(et).concat(rt))}}function modalview(o,$){if(!o){warn$2("modalName is required in .modalview(modalName)");return}var _e=removeLeadingSlash(trim$3(o));if(_e===""){warn$2("modalName cannot be an empty string or a single / in .modalview()");return}if(typeof ga=="function"){var et="/modal/".concat(_e);_gaCommand($,"send","pageview",et),_debug&&(log$1("called ga('send', 'pageview', path);"),log$1("with path: ".concat(et)))}}function timing(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=o.category,_e=o.variable,et=o.value,tt=o.label,rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(typeof ga=="function"){if(!$||!_e||typeof et!="number"){warn$2("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number");return}var at={hitType:"timing",timingCategory:_format($),timingVar:_format(_e),timingValue:et};tt&&(at.timingLabel=_format(tt)),send(at,rt)}}function event$1(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=o.category,_e=o.action,et=o.label,tt=o.value,rt=o.nonInteraction,at=o.transport,nt=_objectWithoutProperties$7(o,_excluded),it=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0;if(typeof ga=="function"){if(!$||!_e){warn$2("args.category AND args.action are required in event()");return}var ot={hitType:"event",eventCategory:_format($),eventAction:_format(_e)};et&&(ot.eventLabel=_format(et)),typeof tt<"u"&&(typeof tt!="number"?warn$2("Expected `args.value` arg to be a Number."):ot.eventValue=tt),typeof rt<"u"&&(typeof rt!="boolean"?warn$2("`args.nonInteraction` must be a boolean."):ot.nonInteraction=rt),typeof at<"u"&&(typeof at!="string"?warn$2("`args.transport` must be a string."):(["beacon","xhr","image"].indexOf(at)===-1&&warn$2("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),ot.transport=at)),Object.keys(nt).filter(function(st){return st.substr(0,9)==="dimension"}).forEach(function(st){ot[st]=nt[st]}),Object.keys(nt).filter(function(st){return st.substr(0,6)==="metric"}).forEach(function(st){ot[st]=nt[st]}),send(ot,it)}}function exception(o,$){var _e=o.description,et=o.fatal;if(typeof ga=="function"){var tt={hitType:"exception"};_e&&(tt.exDescription=_format(_e)),typeof et<"u"&&(typeof et!="boolean"?warn$2("`args.fatal` must be a boolean."):tt.exFatal=et),send(tt,$)}}var plugin={require:function($,_e,et){if(typeof ga=="function"){if(!$){warn$2("`name` is required in .require()");return}var tt=trim$3($);if(tt===""){warn$2("`name` cannot be an empty string in .require()");return}var rt=et?"".concat(et,".require"):"require";if(_e){if(_typeof$K(_e)!=="object"){warn$2("Expected `options` arg to be an Object");return}Object.keys(_e).length===0&&warn$2("Empty `options` given to .require()"),ga(rt,tt,_e),_debug&&log$1("called ga('require', '".concat(tt,"', ").concat(JSON.stringify(_e)))}else ga(rt,tt),_debug&&log$1("called ga('require', '".concat(tt,"');"))}},execute:function($,_e){for(var et,tt,rt=arguments.length,at=new Array(rt>2?rt-2:0),nt=2;nt0){var ct=_e(it,this);~ct?it.splice(ct+1):it.push(this),~ct?ot.splice(ct,1/0,st):ot.push(st),~_e(it,lt)&&(lt=nt.call(this,st,lt))}else it.push(lt);return at==null?lt instanceof Error?tt(lt):lt:at.call(this,st,lt)}}})(stringify$2,stringifyExports);var stringify$1=stringifyExports,_window$3=typeof window<"u"?window:typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:{};function isObject$g(o){return typeof o=="object"&&o!==null}function isError$2(o){switch(Object.prototype.toString.call(o)){case"[object Error]":return!0;case"[object Exception]":return!0;case"[object DOMException]":return!0;default:return o instanceof Error}}function isErrorEvent$1(o){return Object.prototype.toString.call(o)==="[object ErrorEvent]"}function isDOMError$1(o){return Object.prototype.toString.call(o)==="[object DOMError]"}function isDOMException$1(o){return Object.prototype.toString.call(o)==="[object DOMException]"}function isUndefined$2(o){return o===void 0}function isFunction$6(o){return typeof o=="function"}function isPlainObject$4(o){return Object.prototype.toString.call(o)==="[object Object]"}function isString$3(o){return Object.prototype.toString.call(o)==="[object String]"}function isArray$c(o){return Object.prototype.toString.call(o)==="[object Array]"}function isEmptyObject$1(o){if(!isPlainObject$4(o))return!1;for(var $ in o)if(o.hasOwnProperty($))return!1;return!0}function supportsErrorEvent(){try{return new ErrorEvent(""),!0}catch(o){return!1}}function supportsDOMError(){try{return new DOMError(""),!0}catch(o){return!1}}function supportsDOMException(){try{return new DOMException(""),!0}catch(o){return!1}}function supportsFetch$1(){if(!("fetch"in _window$3))return!1;try{return new Headers,new Request(""),new Response,!0}catch(o){return!1}}function supportsReferrerPolicy$1(){if(!supportsFetch$1())return!1;try{return new Request("pickleRick",{referrerPolicy:"origin"}),!0}catch(o){return!1}}function supportsPromiseRejectionEvent(){return typeof PromiseRejectionEvent=="function"}function wrappedCallback(o){function $(_e,et){var tt=o(_e)||_e;return et&&et(tt)||tt}return $}function each$a(o,$){var _e,et;if(isUndefined$2(o.length))for(_e in o)hasKey$1(o,_e)&&$.call(null,_e,o[_e]);else if(et=o.length,et)for(_e=0;_e ",nt=at.length,it;o&&tt++<$&&(it=htmlElementAsString(o),!(it==="html"||tt>1&&rt+et.length*nt+it.length>=_e));)et.push(it),rt+=it.length,o=o.parentNode;return et.reverse().join(at)}function htmlElementAsString(o){var $=[],_e,et,tt,rt,at;if(!o||!o.tagName)return"";if($.push(o.tagName.toLowerCase()),o.id&&$.push("#"+o.id),_e=o.className,_e&&isString$3(_e))for(et=_e.split(/\s+/),at=0;at"u")return o;var _e=Object.prototype.toString.call(o);return _e==="[object Object]"?"[Object]":_e==="[object Array]"?"[Array]":_e==="[object Function]"?o.name?"[Function: "+o.name+"]":"[Function]":o}function serializeObject(o,$){return $===0?serializeValue(o):isPlainObject$4(o)?Object.keys(o).reduce(function(_e,et){return _e[et]=serializeObject(o[et],$-1),_e},{}):Array.isArray(o)?o.map(function(_e){return serializeObject(_e,$-1)}):serializeValue(o)}function serializeException$1(o,$,_e){if(!isPlainObject$4(o))return o;$=typeof $!="number"?MAX_SERIALIZE_EXCEPTION_DEPTH:$,_e=typeof $!="number"?MAX_SERIALIZE_EXCEPTION_SIZE:_e;var et=serializeObject(o,$);return jsonSize(stringify$1(et))>_e?serializeException$1(o,$-1):et}function serializeKeysForMessage$1(o,$){if(typeof o=="number"||typeof o=="string")return o.toString();if(!Array.isArray(o))return"";if(o=o.filter(function(tt){return typeof tt=="string"}),o.length===0)return"[object has no keys]";if($=typeof $!="number"?MAX_SERIALIZE_KEYS_LENGTH:$,o[0].length>=$)return o[0];for(var _e=o.length;_e>0;_e--){var et=o.slice(0,_e).join(", ");if(!(et.length>$))return _e===o.length?et:et+"…"}return""}function sanitize$1(o,$){if(!isArray$c($)||isArray$c($)&&$.length===0)return o;var _e=joinRegExp$1($),et="********",tt;try{tt=JSON.parse(stringify$1(o))}catch(at){return o}function rt(at){return isArray$c(at)?at.map(function(nt){return rt(nt)}):isPlainObject$4(at)?Object.keys(at).reduce(function(nt,it){return _e.test(it)?nt[it]=et:nt[it]=rt(at[it]),nt},{}):at}return rt(tt)}var utils$6={isObject:isObject$g,isError:isError$2,isErrorEvent:isErrorEvent$1,isDOMError:isDOMError$1,isDOMException:isDOMException$1,isUndefined:isUndefined$2,isFunction:isFunction$6,isPlainObject:isPlainObject$4,isString:isString$3,isArray:isArray$c,isEmptyObject:isEmptyObject$1,supportsErrorEvent,supportsDOMError,supportsDOMException,supportsFetch:supportsFetch$1,supportsReferrerPolicy:supportsReferrerPolicy$1,supportsPromiseRejectionEvent,wrappedCallback,each:each$a,objectMerge:objectMerge$1,truncate:truncate$2,objectFrozen:objectFrozen$1,hasKey:hasKey$1,joinRegExp:joinRegExp$1,urlencode:urlencode$1,uuid4:uuid4$1,htmlTreeAsString:htmlTreeAsString$1,htmlElementAsString,isSameException:isSameException$1,isSameStacktrace:isSameStacktrace$1,parseUrl:parseUrl$1,fill:fill$1,safeJoin,serializeException:serializeException$1,serializeKeysForMessage:serializeKeysForMessage$1,sanitize:sanitize$1},utils$5=utils$6,TraceKit$1={collectWindowErrors:!0,debug:!1},_window$2=typeof window<"u"?window:typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:{},_slice=[].slice,UNKNOWN_FUNCTION="?",ERROR_TYPES_RE=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function getLocationHref(){return typeof document>"u"||document.location==null?"":document.location.href}function getLocationOrigin(){return typeof document>"u"||document.location==null?"":document.location.origin?document.location.origin:document.location.protocol+"//"+document.location.hostname+(document.location.port?":"+document.location.port:"")}TraceKit$1.report=function(){var $=[],_e=null,et=null,tt=null;function rt(vt){ct(),$.push(vt)}function at(vt){for(var ht=$.length-1;ht>=0;--ht)$[ht]===vt&&$.splice(ht,1)}function nt(){ut(),$=[]}function it(vt,ht){var mt=null;if(!(ht&&!TraceKit$1.collectWindowErrors)){for(var bt in $)if($.hasOwnProperty(bt))try{$[bt].apply(null,[vt].concat(_slice.call(arguments,2)))}catch(dt){mt=dt}if(mt)throw mt}}var ot,st;function lt(vt,ht,mt,bt,dt){var xt=null,Ct=utils$5.isErrorEvent(dt)?dt.error:dt,gt=utils$5.isErrorEvent(vt)?vt.message:vt;if(tt)TraceKit$1.computeStackTrace.augmentStackTraceWithInitialElement(tt,ht,mt,gt),ft();else if(Ct&&utils$5.isError(Ct))xt=TraceKit$1.computeStackTrace(Ct),it(xt,!0);else{var wt={url:ht,line:mt,column:bt},_t=void 0,Et;if({}.toString.call(gt)==="[object String]"){var Et=gt.match(ERROR_TYPES_RE);Et&&(_t=Et[1],gt=Et[2])}wt.func=UNKNOWN_FUNCTION,xt={name:_t,message:gt,url:getLocationHref(),stack:[wt]},it(xt,!0)}return ot?ot.apply(this,arguments):!1}function ct(){st||(ot=_window$2.onerror,_window$2.onerror=lt,st=!0)}function ut(){st&&(_window$2.onerror=ot,st=!1,ot=void 0)}function ft(){var vt=tt,ht=_e;_e=null,tt=null,et=null,it.apply(null,[vt,!1].concat(ht))}function At(vt,ht){var mt=_slice.call(arguments,1);if(tt){if(et===vt)return;ft()}var bt=TraceKit$1.computeStackTrace(vt);if(tt=bt,et=vt,_e=mt,setTimeout(function(){et===vt&&ft()},bt.incomplete?2e3:0),ht!==!1)throw vt}return At.subscribe=rt,At.unsubscribe=at,At.uninstall=nt,At}();TraceKit$1.computeStackTrace=function(){function $(rt){if(!(typeof rt.stack>"u"||!rt.stack)){var at=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack||[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,nt=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx(?:-web)|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,it=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,ot=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,st=/\((\S*)(?::(\d+))(?::(\d+))\)/,lt=rt.stack.split(` +`),ct=[],ut,ft,At;/^(.*) is undefined$/.exec(rt.message);for(var vt=0,ht=lt.length;vt eval")>-1;bt&&(ut=ot.exec(ft[3]))?(ft[3]=ut[1],ft[4]=ut[2],ft[5]=null):vt===0&&!ft[5]&&typeof rt.columnNumber<"u"&&(ct[0].column=rt.columnNumber+1),At={url:ft[3],func:ft[1]||UNKNOWN_FUNCTION,args:ft[2]?ft[2].split(","):[],line:ft[4]?+ft[4]:null,column:ft[5]?+ft[5]:null}}else continue;if(!At.func&&At.line&&(At.func=UNKNOWN_FUNCTION),At.url&&At.url.substr(0,5)==="blob:"){var dt=new XMLHttpRequest;if(dt.open("GET",At.url,!1),dt.send(null),dt.status===200){var xt=dt.responseText||"";xt=xt.slice(-300);var Ct=xt.match(/\/\/# sourceMappingURL=(.*)$/);if(Ct){var gt=Ct[1];gt.charAt(0)==="~"&&(gt=getLocationOrigin()+gt.slice(1)),At.url=gt.slice(0,-4)}}}ct.push(At)}return ct.length?{name:rt.name,message:rt.message,url:getLocationHref(),stack:ct}:null}}function _e(rt,at,nt,it){var ot={url:at,line:nt};if(ot.url&&ot.line){if(rt.incomplete=!1,ot.func||(ot.func=UNKNOWN_FUNCTION),rt.stack.length>0&&rt.stack[0].url===ot.url){if(rt.stack[0].line===ot.line)return!1;if(!rt.stack[0].line&&rt.stack[0].func===ot.func)return rt.stack[0].line=ot.line,!1}return rt.stack.unshift(ot),rt.partial=!0,!0}else rt.incomplete=!0;return!1}function et(rt,at){for(var nt=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,it=[],ot={},st=!1,lt,ct,ut=et.caller;ut&&!st;ut=ut.caller)if(!(ut===tt||ut===TraceKit$1.report)){if(ct={url:null,func:UNKNOWN_FUNCTION,line:null,column:null},ut.name?ct.func=ut.name:(lt=nt.exec(ut.toString()))&&(ct.func=lt[1]),typeof ct.func>"u")try{ct.func=lt.input.substring(0,lt.input.indexOf("{"))}catch(At){}ot[""+ut]?st=!0:ot[""+ut]=!0,it.push(ct)}at&&it.splice(0,at);var ft={name:rt.name,message:rt.message,url:getLocationHref(),stack:it};return _e(ft,rt.sourceURL||rt.fileName,rt.line||rt.lineNumber,rt.message||rt.description),ft}function tt(rt,at){var nt=null;at=at==null?0:+at;try{if(nt=$(rt),nt)return nt}catch(it){if(TraceKit$1.debug)throw it}try{if(nt=et(rt,at+1),nt)return nt}catch(it){if(TraceKit$1.debug)throw it}return{name:rt.name,message:rt.message,url:getLocationHref()}}return tt.augmentStackTraceWithInitialElement=_e,tt.computeStackTraceFromStackProp=$,tt}();var tracekit=TraceKit$1;function safeAdd(o,$){var _e=(o&65535)+($&65535),et=(o>>16)+($>>16)+(_e>>16);return et<<16|_e&65535}function bitRotateLeft(o,$){return o<<$|o>>>32-$}function md5cmn(o,$,_e,et,tt,rt){return safeAdd(bitRotateLeft(safeAdd(safeAdd($,o),safeAdd(et,rt)),tt),_e)}function md5ff(o,$,_e,et,tt,rt,at){return md5cmn($&_e|~$&et,o,$,tt,rt,at)}function md5gg(o,$,_e,et,tt,rt,at){return md5cmn($&et|_e&~et,o,$,tt,rt,at)}function md5hh(o,$,_e,et,tt,rt,at){return md5cmn($^_e^et,o,$,tt,rt,at)}function md5ii(o,$,_e,et,tt,rt,at){return md5cmn(_e^($|~et),o,$,tt,rt,at)}function binlMD5(o,$){o[$>>5]|=128<<$%32,o[($+64>>>9<<4)+14]=$;var _e,et,tt,rt,at,nt=1732584193,it=-271733879,ot=-1732584194,st=271733878;for(_e=0;_e>5]>>>$%32&255);return _e}function rstr2binl(o){var $,_e=[];for(_e[(o.length>>2)-1]=void 0,$=0;$<_e.length;$+=1)_e[$]=0;var et=o.length*8;for($=0;$>5]|=(o.charCodeAt($/8)&255)<<$%32;return _e}function rstrMD5(o){return binl2rstr(binlMD5(rstr2binl(o),o.length*8))}function rstrHMACMD5(o,$){var _e,et=rstr2binl(o),tt=[],rt=[],at;for(tt[15]=rt[15]=void 0,et.length>16&&(et=binlMD5(et,o.length*8)),_e=0;_e<16;_e+=1)tt[_e]=et[_e]^909522486,rt[_e]=et[_e]^1549556828;return at=binlMD5(tt.concat(rstr2binl($)),512+$.length*8),binl2rstr(binlMD5(rt.concat(at),512+128))}function rstr2hex(o){var $="0123456789abcdef",_e="",et,tt;for(tt=0;tt>>4&15)+$.charAt(et&15);return _e}function str2rstrUTF8(o){return unescape(encodeURIComponent(o))}function rawMD5(o){return rstrMD5(str2rstrUTF8(o))}function hexMD5(o){return rstr2hex(rawMD5(o))}function rawHMACMD5(o,$){return rstrHMACMD5(str2rstrUTF8(o),str2rstrUTF8($))}function hexHMACMD5(o,$){return rstr2hex(rawHMACMD5(o,$))}function md5$1(o,$,_e){return $?_e?rawHMACMD5($,o):hexHMACMD5($,o):_e?rawMD5(o):hexMD5(o)}var md5_1=md5$1;function RavenConfigError$1(o){this.name="RavenConfigError",this.message=o}RavenConfigError$1.prototype=new Error;RavenConfigError$1.prototype.constructor=RavenConfigError$1;var configError=RavenConfigError$1,utils$4=utils$6,wrapMethod=function(o,$,_e){var et=o[$],tt=o;if($ in o){var rt=$==="warn"?"warning":$;o[$]=function(){var at=[].slice.call(arguments),nt=utils$4.safeJoin(at," "),it={level:rt,logger:"console",extra:{arguments:at}};$==="assert"?at[0]===!1&&(nt="Assertion failed: "+(utils$4.safeJoin(at.slice(1)," ")||"console.assert"),it.extra.arguments=at.slice(1),_e&&_e(nt,it)):_e&&_e(nt,it),et&&Function.prototype.apply.call(et,tt,at)}}},console$1={wrapMethod},TraceKit=tracekit,stringify=stringifyExports,md5=md5_1,RavenConfigError=configError,utils$3=utils$6,isErrorEvent=utils$3.isErrorEvent,isDOMError=utils$3.isDOMError,isDOMException=utils$3.isDOMException,isError$1=utils$3.isError,isObject$f=utils$3.isObject,isPlainObject$3=utils$3.isPlainObject,isUndefined$1=utils$3.isUndefined,isFunction$5=utils$3.isFunction,isString$2=utils$3.isString,isArray$b=utils$3.isArray,isEmptyObject=utils$3.isEmptyObject,each$9=utils$3.each,objectMerge=utils$3.objectMerge,truncate$1=utils$3.truncate,objectFrozen=utils$3.objectFrozen,hasKey=utils$3.hasKey,joinRegExp=utils$3.joinRegExp,urlencode=utils$3.urlencode,uuid4=utils$3.uuid4,htmlTreeAsString=utils$3.htmlTreeAsString,isSameException=utils$3.isSameException,isSameStacktrace=utils$3.isSameStacktrace,parseUrl=utils$3.parseUrl,fill=utils$3.fill,supportsFetch=utils$3.supportsFetch,supportsReferrerPolicy=utils$3.supportsReferrerPolicy,serializeKeysForMessage=utils$3.serializeKeysForMessage,serializeException=utils$3.serializeException,sanitize=utils$3.sanitize,wrapConsoleMethod=console$1.wrapMethod,dsnKeys="source protocol user pass host port path".split(" "),dsnPattern=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;function now$6(){return+new Date}var _window$1=typeof window<"u"?window:typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:{},_document=_window$1.document,_navigator=_window$1.navigator;function keepOriginalCallback(o,$){return isFunction$5($)?function(_e){return $(_e,o)}:$}function Raven$1(){this._hasJSON=!!(typeof JSON=="object"&&JSON.stringify),this._hasDocument=!isUndefined$1(_document),this._hasNavigator=!isUndefined$1(_navigator),this._lastCapturedException=null,this._lastData=null,this._lastEventId=null,this._globalServer=null,this._globalKey=null,this._globalProject=null,this._globalContext={},this._globalOptions={release:_window$1.SENTRY_RELEASE&&_window$1.SENTRY_RELEASE.id,logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],headers:null,collectWindowErrors:!0,captureUnhandledRejections:!0,maxMessageLength:0,maxUrlLength:250,stackTraceLimit:50,autoBreadcrumbs:!0,instrument:!0,sampleRate:1,sanitizeKeys:[]},this._fetchDefaults={method:"POST",referrerPolicy:supportsReferrerPolicy()?"origin":""},this._ignoreOnError=0,this._isRavenInstalled=!1,this._originalErrorStackTraceLimit=Error.stackTraceLimit,this._originalConsole=_window$1.console||{},this._originalConsoleMethods={},this._plugins=[],this._startTime=now$6(),this._wrappedBuiltIns=[],this._breadcrumbs=[],this._lastCapturedEvent=null,this._keypressTimeout,this._location=_window$1.location,this._lastHref=this._location&&this._location.href,this._resetBackoff();for(var o in this._originalConsole)this._originalConsoleMethods[o]=this._originalConsole[o]}Raven$1.prototype={VERSION:"3.27.2",debug:!1,TraceKit,config:function(o,$){var _e=this;if(_e._globalServer)return this._logDebug("error","Error: Raven has already been configured"),_e;if(!o)return _e;var et=_e._globalOptions;$&&each$9($,function(it,ot){it==="tags"||it==="extra"||it==="user"?_e._globalContext[it]=ot:et[it]=ot}),_e.setDSN(o),et.ignoreErrors.push(/^Script error\.?$/),et.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),et.ignoreErrors=joinRegExp(et.ignoreErrors),et.ignoreUrls=et.ignoreUrls.length?joinRegExp(et.ignoreUrls):!1,et.whitelistUrls=et.whitelistUrls.length?joinRegExp(et.whitelistUrls):!1,et.includePaths=joinRegExp(et.includePaths),et.maxBreadcrumbs=Math.max(0,Math.min(et.maxBreadcrumbs||100,100));var tt={xhr:!0,console:!0,dom:!0,location:!0,sentry:!0},rt=et.autoBreadcrumbs;({}).toString.call(rt)==="[object Object]"?rt=objectMerge(tt,rt):rt!==!1&&(rt=tt),et.autoBreadcrumbs=rt;var at={tryCatch:!0},nt=et.instrument;return{}.toString.call(nt)==="[object Object]"?nt=objectMerge(at,nt):nt!==!1&&(nt=at),et.instrument=nt,TraceKit.collectWindowErrors=!!et.collectWindowErrors,_e},install:function(){var o=this;return o.isSetup()&&!o._isRavenInstalled&&(TraceKit.report.subscribe(function(){o._handleOnErrorStackInfo.apply(o,arguments)}),o._globalOptions.captureUnhandledRejections&&o._attachPromiseRejectionHandler(),o._patchFunctionToString(),o._globalOptions.instrument&&o._globalOptions.instrument.tryCatch&&o._instrumentTryCatch(),o._globalOptions.autoBreadcrumbs&&o._instrumentBreadcrumbs(),o._drainPlugins(),o._isRavenInstalled=!0),Error.stackTraceLimit=o._globalOptions.stackTraceLimit,this},setDSN:function(o){var $=this,_e=$._parseDSN(o),et=_e.path.lastIndexOf("/"),tt=_e.path.substr(1,et);$._dsn=o,$._globalKey=_e.user,$._globalSecret=_e.pass&&_e.pass.substr(1),$._globalProject=_e.path.substr(et+1),$._globalServer=$._getGlobalServer(_e),$._globalEndpoint=$._globalServer+"/"+tt+"api/"+$._globalProject+"/store/",this._resetBackoff()},context:function(o,$,_e){return isFunction$5(o)&&(_e=$||[],$=o,o={}),this.wrap(o,$).apply(this,_e)},wrap:function(o,$,_e){var et=this;if(isUndefined$1($)&&!isFunction$5(o))return o;if(isFunction$5(o)&&($=o,o=void 0),!isFunction$5($))return $;try{if($.__raven__)return $;if($.__raven_wrapper__)return $.__raven_wrapper__}catch(at){return $}function tt(){var at=[],nt=arguments.length,it=!o||o&&o.deep!==!1;for(_e&&isFunction$5(_e)&&_e.apply(this,arguments);nt--;)at[nt]=it?et.wrap(o,arguments[nt]):arguments[nt];try{return $.apply(this,at)}catch(ot){throw et._ignoreNextOnError(),et.captureException(ot,o),ot}}for(var rt in $)hasKey($,rt)&&(tt[rt]=$[rt]);return tt.prototype=$.prototype,$.__raven_wrapper__=tt,tt.__raven__=!0,tt.__orig__=$,tt},uninstall:function(){return TraceKit.report.uninstall(),this._detachPromiseRejectionHandler(),this._unpatchFunctionToString(),this._restoreBuiltIns(),this._restoreConsole(),Error.stackTraceLimit=this._originalErrorStackTraceLimit,this._isRavenInstalled=!1,this},_promiseRejectionHandler:function(o){this._logDebug("debug","Raven caught unhandled promise rejection:",o),this.captureException(o.reason,{mechanism:{type:"onunhandledrejection",handled:!1}})},_attachPromiseRejectionHandler:function(){return this._promiseRejectionHandler=this._promiseRejectionHandler.bind(this),_window$1.addEventListener&&_window$1.addEventListener("unhandledrejection",this._promiseRejectionHandler),this},_detachPromiseRejectionHandler:function(){return _window$1.removeEventListener&&_window$1.removeEventListener("unhandledrejection",this._promiseRejectionHandler),this},captureException:function(o,$){if($=objectMerge({trimHeadFrames:0},$||{}),isErrorEvent(o)&&o.error)o=o.error;else if(isDOMError(o)||isDOMException(o)){var _e=o.name||(isDOMError(o)?"DOMError":"DOMException"),et=o.message?_e+": "+o.message:_e;return this.captureMessage(et,objectMerge($,{stacktrace:!0,trimHeadFrames:$.trimHeadFrames+1}))}else if(isError$1(o))o=o;else if(isPlainObject$3(o))$=this._getCaptureExceptionOptionsFromPlainObject($,o),o=new Error($.message);else return this.captureMessage(o,objectMerge($,{stacktrace:!0,trimHeadFrames:$.trimHeadFrames+1}));this._lastCapturedException=o;try{var tt=TraceKit.computeStackTrace(o);this._handleStackInfo(tt,$)}catch(rt){if(o!==rt)throw rt}return this},_getCaptureExceptionOptionsFromPlainObject:function(o,$){var _e=Object.keys($).sort(),et=objectMerge(o,{message:"Non-Error exception captured with keys: "+serializeKeysForMessage(_e),fingerprint:[md5(_e)],extra:o.extra||{}});return et.extra.__serialized__=serializeException($),et},captureMessage:function(o,$){if(!(this._globalOptions.ignoreErrors.test&&this._globalOptions.ignoreErrors.test(o))){$=$||{},o=o+"";var _e=objectMerge({message:o},$),et;try{throw new Error(o)}catch(it){et=it}et.name=null;var tt=TraceKit.computeStackTrace(et),rt=isArray$b(tt.stack)&&tt.stack[1];rt&&rt.func==="Raven.captureException"&&(rt=tt.stack[2]);var at=rt&&rt.url||"";if(!(this._globalOptions.ignoreUrls.test&&this._globalOptions.ignoreUrls.test(at))&&!(this._globalOptions.whitelistUrls.test&&!this._globalOptions.whitelistUrls.test(at))){if(this._globalOptions.stacktrace||$.stacktrace||_e.message===""){_e.fingerprint=_e.fingerprint==null?o:_e.fingerprint,$=objectMerge({trimHeadFrames:0},$),$.trimHeadFrames+=1;var nt=this._prepareFrames(tt,$);_e.stacktrace={frames:nt.reverse()}}return _e.fingerprint&&(_e.fingerprint=isArray$b(_e.fingerprint)?_e.fingerprint:[_e.fingerprint]),this._send(_e),this}}},captureBreadcrumb:function(o){var $=objectMerge({timestamp:now$6()/1e3},o);if(isFunction$5(this._globalOptions.breadcrumbCallback)){var _e=this._globalOptions.breadcrumbCallback($);if(isObject$f(_e)&&!isEmptyObject(_e))$=_e;else if(_e===!1)return this}return this._breadcrumbs.push($),this._breadcrumbs.length>this._globalOptions.maxBreadcrumbs&&this._breadcrumbs.shift(),this},addPlugin:function(o){var $=[].slice.call(arguments,1);return this._plugins.push([o,$]),this._isRavenInstalled&&this._drainPlugins(),this},setUserContext:function(o){return this._globalContext.user=o,this},setExtraContext:function(o){return this._mergeContext("extra",o),this},setTagsContext:function(o){return this._mergeContext("tags",o),this},clearContext:function(){return this._globalContext={},this},getContext:function(){return JSON.parse(stringify(this._globalContext))},setEnvironment:function(o){return this._globalOptions.environment=o,this},setRelease:function(o){return this._globalOptions.release=o,this},setDataCallback:function(o){var $=this._globalOptions.dataCallback;return this._globalOptions.dataCallback=keepOriginalCallback($,o),this},setBreadcrumbCallback:function(o){var $=this._globalOptions.breadcrumbCallback;return this._globalOptions.breadcrumbCallback=keepOriginalCallback($,o),this},setShouldSendCallback:function(o){var $=this._globalOptions.shouldSendCallback;return this._globalOptions.shouldSendCallback=keepOriginalCallback($,o),this},setTransport:function(o){return this._globalOptions.transport=o,this},lastException:function(){return this._lastCapturedException},lastEventId:function(){return this._lastEventId},isSetup:function(){return this._hasJSON?this._globalServer?!0:(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this._logDebug("error","Error: Raven has not been configured.")),!1):!1},afterLoad:function(){var o=_window$1.RavenConfig;o&&this.config(o.dsn,o.config).install()},showReportDialog:function(o){if(_document){if(o=objectMerge({eventId:this.lastEventId(),dsn:this._dsn,user:this._globalContext.user||{}},o),!o.eventId)throw new RavenConfigError("Missing eventId");if(!o.dsn)throw new RavenConfigError("Missing DSN");var $=encodeURIComponent,_e=[];for(var et in o)if(et==="user"){var tt=o.user;tt.name&&_e.push("name="+$(tt.name)),tt.email&&_e.push("email="+$(tt.email))}else _e.push($(et)+"="+$(o[et]));var rt=this._getGlobalServer(this._parseDSN(o.dsn)),at=_document.createElement("script");at.async=!0,at.src=rt+"/api/embed/error-page/?"+_e.join("&"),(_document.head||_document.body).appendChild(at)}},_ignoreNextOnError:function(){var o=this;this._ignoreOnError+=1,setTimeout(function(){o._ignoreOnError-=1})},_triggerEvent:function(o,$){var _e,et;if(this._hasDocument){$=$||{},o="raven"+o.substr(0,1).toUpperCase()+o.substr(1),_document.createEvent?(_e=_document.createEvent("HTMLEvents"),_e.initEvent(o,!0,!0)):(_e=_document.createEventObject(),_e.eventType=o);for(et in $)hasKey($,et)&&(_e[et]=$[et]);if(_document.createEvent)_document.dispatchEvent(_e);else try{_document.fireEvent("on"+_e.eventType.toLowerCase(),_e)}catch(tt){}}},_breadcrumbEventHandler:function(o){var $=this;return function(_e){if($._keypressTimeout=null,$._lastCapturedEvent!==_e){$._lastCapturedEvent=_e;var et;try{et=htmlTreeAsString(_e.target)}catch(tt){et=""}$.captureBreadcrumb({category:"ui."+o,message:et})}}},_keypressEventHandler:function(){var o=this,$=1e3;return function(_e){var et;try{et=_e.target}catch(at){return}var tt=et&&et.tagName;if(!(!tt||tt!=="INPUT"&&tt!=="TEXTAREA"&&!et.isContentEditable)){var rt=o._keypressTimeout;rt||o._breadcrumbEventHandler("input")(_e),clearTimeout(rt),o._keypressTimeout=setTimeout(function(){o._keypressTimeout=null},$)}}},_captureUrlChange:function(o,$){var _e=parseUrl(this._location.href),et=parseUrl($),tt=parseUrl(o);this._lastHref=$,_e.protocol===et.protocol&&_e.host===et.host&&($=et.relative),_e.protocol===tt.protocol&&_e.host===tt.host&&(o=tt.relative),this.captureBreadcrumb({category:"navigation",data:{to:$,from:o}})},_patchFunctionToString:function(){var o=this;o._originalFunctionToString=Function.prototype.toString,Function.prototype.toString=function(){return typeof this=="function"&&this.__raven__?o._originalFunctionToString.apply(this.__orig__,arguments):o._originalFunctionToString.apply(this,arguments)}},_unpatchFunctionToString:function(){this._originalFunctionToString&&(Function.prototype.toString=this._originalFunctionToString)},_instrumentTryCatch:function(){var o=this,$=o._wrappedBuiltIns;function _e(nt){return function(it,ot){for(var st=new Array(arguments.length),lt=0;lt"}}},ct)),nt.apply?nt.apply(this,st):nt(st[0],st[1])}}var et=this._globalOptions.autoBreadcrumbs;function tt(nt){var it=_window$1[nt]&&_window$1[nt].prototype;it&&it.hasOwnProperty&&it.hasOwnProperty("addEventListener")&&(fill(it,"addEventListener",function(ot){return function(st,lt,ct,ut){try{lt&<.handleEvent&&(lt.handleEvent=o.wrap({mechanism:{type:"instrument",data:{target:nt,function:"handleEvent",handler:lt&<.name||""}}},lt.handleEvent))}catch(ht){}var ft,At,vt;return et&&et.dom&&(nt==="EventTarget"||nt==="Node")&&(At=o._breadcrumbEventHandler("click"),vt=o._keypressEventHandler(),ft=function(ht){if(ht){var mt;try{mt=ht.type}catch(bt){return}if(mt==="click")return At(ht);if(mt==="keypress")return vt(ht)}}),ot.call(this,st,o.wrap({mechanism:{type:"instrument",data:{target:nt,function:"addEventListener",handler:lt&<.name||""}}},lt,ft),ct,ut)}},$),fill(it,"removeEventListener",function(ot){return function(st,lt,ct,ut){try{lt=lt&&(lt.__raven_wrapper__?lt.__raven_wrapper__:lt)}catch(ft){}return ot.call(this,st,lt,ct,ut)}},$))}fill(_window$1,"setTimeout",_e,$),fill(_window$1,"setInterval",_e,$),_window$1.requestAnimationFrame&&fill(_window$1,"requestAnimationFrame",function(nt){return function(it){return nt(o.wrap({mechanism:{type:"instrument",data:{function:"requestAnimationFrame",handler:nt&&nt.name||""}}},it))}},$);for(var rt=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],at=0;at"}}},ut)})}if($.xhr&&"XMLHttpRequest"in _window$1){var tt=_window$1.XMLHttpRequest&&_window$1.XMLHttpRequest.prototype;fill(tt,"open",function(lt){return function(ct,ut){return isString$2(ut)&&ut.indexOf(o._globalKey)===-1&&(this.__raven_xhr={method:ct,url:ut,status_code:null}),lt.apply(this,arguments)}},_e),fill(tt,"send",function(lt){return function(){var ct=this;function ut(){if(ct.__raven_xhr&&ct.readyState===4){try{ct.__raven_xhr.status_code=ct.status}catch(vt){}o.captureBreadcrumb({type:"http",category:"xhr",data:ct.__raven_xhr})}}for(var ft=["onload","onerror","onprogress"],At=0;At"}}},vt,ut)}):ct.onreadystatechange=ut,lt.apply(this,arguments)}},_e)}$.xhr&&supportsFetch()&&fill(_window$1,"fetch",function(lt){return function(){for(var ct=new Array(arguments.length),ut=0;ut2?arguments[2]:void 0;return ct&&o._captureUrlChange(o._lastHref,ct+""),lt.apply(this,arguments)}};fill(_window$1.history,"pushState",ot,_e),fill(_window$1.history,"replaceState",ot,_e)}if($.console&&"console"in _window$1&&console.log){var st=function(lt,ct){o.captureBreadcrumb({message:lt,level:ct.level,category:"console"})};each$9(["debug","info","warn","error","log"],function(lt,ct){wrapConsoleMethod(console,ct,st)})}},_restoreBuiltIns:function(){for(var o;this._wrappedBuiltIns.length;){o=this._wrappedBuiltIns.shift();var $=o[0],_e=o[1],et=o[2];$[_e]=et}},_restoreConsole:function(){for(var o in this._originalConsoleMethods)this._originalConsole[o]=this._originalConsoleMethods[o]},_drainPlugins:function(){var o=this;each$9(this._plugins,function($,_e){var et=_e[0],tt=_e[1];et.apply(o,[o].concat(tt))})},_parseDSN:function(o){var $=dsnPattern.exec(o),_e={},et=7;try{for(;et--;)_e[dsnKeys[et]]=$[et]||""}catch(tt){throw new RavenConfigError("Invalid DSN: "+o)}if(_e.pass&&!this._globalOptions.allowSecretKey)throw new RavenConfigError("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return _e},_getGlobalServer:function(o){var $="//"+o.host+(o.port?":"+o.port:"");return o.protocol&&($=o.protocol+":"+$),$},_handleOnErrorStackInfo:function(o,$){$=$||{},$.mechanism=$.mechanism||{type:"onerror",handled:!1},this._ignoreOnError||this._handleStackInfo(o,$)},_handleStackInfo:function(o,$){var _e=this._prepareFrames(o,$);this._triggerEvent("handle",{stackInfo:o,options:$}),this._processException(o.name,o.message,o.url,o.lineno,_e,$)},_prepareFrames:function(o,$){var _e=this,et=[];if(o.stack&&o.stack.length&&(each$9(o.stack,function(rt,at){var nt=_e._normalizeFrame(at,o.url);nt&&et.push(nt)}),$&&$.trimHeadFrames))for(var tt=0;tt<$.trimHeadFrames&&tt0&&(o.breadcrumbs={values:[].slice.call(this._breadcrumbs,0)}),this._globalContext.user&&(o.user=this._globalContext.user),$.environment&&(o.environment=$.environment),$.release&&(o.release=$.release),$.serverName&&(o.server_name=$.serverName),o=this._sanitizeData(o),Object.keys(o).forEach(function(tt){(o[tt]==null||o[tt]===""||isEmptyObject(o[tt]))&&delete o[tt]}),isFunction$5($.dataCallback)&&(o=$.dataCallback(o)||o),!(!o||isEmptyObject(o))&&!(isFunction$5($.shouldSendCallback)&&!$.shouldSendCallback(o))){if(this._shouldBackoff()){this._logDebug("warn","Raven dropped error due to backoff: ",o);return}typeof $.sampleRate=="number"?Math.random()<$.sampleRate&&this._sendProcessedPayload(o):this._sendProcessedPayload(o)}},_sanitizeData:function(o){return sanitize(o,this._globalOptions.sanitizeKeys)},_getUuid:function(){return uuid4()},_sendProcessedPayload:function(o,$){var _e=this,et=this._globalOptions;if(this.isSetup()){if(o=this._trimPacket(o),!this._globalOptions.allowDuplicates&&this._isRepeatData(o)){this._logDebug("warn","Raven dropped repeat event: ",o);return}this._lastEventId=o.event_id||(o.event_id=this._getUuid()),this._lastData=o,this._logDebug("debug","Raven about to send:",o);var tt={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this._globalKey};this._globalSecret&&(tt.sentry_secret=this._globalSecret);var rt=o.exception&&o.exception.values[0];this._globalOptions.autoBreadcrumbs&&this._globalOptions.autoBreadcrumbs.sentry&&this.captureBreadcrumb({category:"sentry",message:rt?(rt.type?rt.type+": ":"")+rt.value:o.message,event_id:o.event_id,level:o.level||"error"});var at=this._globalEndpoint;(et.transport||this._makeRequest).call(this,{url:at,auth:tt,data:o,options:et,onSuccess:function(){_e._resetBackoff(),_e._triggerEvent("success",{data:o,src:at}),$&&$()},onError:function(it){_e._logDebug("error","Raven transport failed to send: ",it),it.request&&_e._setBackoffState(it.request),_e._triggerEvent("failure",{data:o,src:at}),it=it||new Error("Raven send failed (no additional details provided)"),$&&$(it)}})}},_makeRequest:function(o){var $=o.url+"?"+urlencode(o.auth),_e=null,et={};if(o.options.headers&&(_e=this._evaluateHash(o.options.headers)),o.options.fetchParameters&&(et=this._evaluateHash(o.options.fetchParameters)),supportsFetch()){et.body=stringify(o.data);var tt=objectMerge({},this._fetchDefaults),rt=objectMerge(tt,et);return _e&&(rt.headers=_e),_window$1.fetch($,rt).then(function(it){if(it.ok)o.onSuccess&&o.onSuccess();else{var ot=new Error("Sentry error code: "+it.status);ot.request=it,o.onError&&o.onError(ot)}}).catch(function(){o.onError&&o.onError(new Error("Sentry error code: network unavailable"))})}var at=_window$1.XMLHttpRequest&&new _window$1.XMLHttpRequest;if(at){var nt="withCredentials"in at||typeof XDomainRequest<"u";nt&&("withCredentials"in at?at.onreadystatechange=function(){if(at.readyState===4){if(at.status===200)o.onSuccess&&o.onSuccess();else if(o.onError){var it=new Error("Sentry error code: "+at.status);it.request=at,o.onError(it)}}}:(at=new XDomainRequest,$=$.replace(/^https?:/,""),o.onSuccess&&(at.onload=o.onSuccess),o.onError&&(at.onerror=function(){var it=new Error("Sentry error code: XDomainRequest");it.request=at,o.onError(it)})),at.open("POST",$),_e&&each$9(_e,function(it,ot){at.setRequestHeader(it,ot)}),at.send(stringify(o.data)))}},_evaluateHash:function(o){var $={};for(var _e in o)if(o.hasOwnProperty(_e)){var et=o[_e];$[_e]=typeof et=="function"?et():et}return $},_logDebug:function(o){this._originalConsoleMethods[o]&&(this.debug||this._globalOptions.debug)&&Function.prototype.apply.call(this._originalConsoleMethods[o],this._originalConsole,[].slice.call(arguments,1))},_mergeContext:function(o,$){isUndefined$1($)?delete this._globalContext[o]:this._globalContext[o]=objectMerge(this._globalContext[o]||{},$)}};Raven$1.prototype.setUser=Raven$1.prototype.setUserContext;Raven$1.prototype.setReleaseContext=Raven$1.prototype.setRelease;var raven=Raven$1,RavenConstructor=raven,_window=typeof window<"u"?window:typeof commonjsGlobal<"u"?commonjsGlobal:typeof self<"u"?self:{},_Raven=_window.Raven,Raven=new RavenConstructor;Raven.noConflict=function(){return _window.Raven=_Raven,Raven};Raven.afterLoad();singleton.exports=Raven;singletonExports.Client=RavenConstructor;const UNKNOWN_SYM={sym:"??",word:"??"},NAV_SYMBOLS=[{sym:"dp",word:"dependencies",rx:/^\/dep/i},{sym:"tr",word:"trace",rx:/^\/trace/i},{sym:"sd",word:"search",rx:/^\/search\?./i},{sym:"sr",word:"search",rx:/^\/search/i},{sym:"rt",word:"home",rx:/^\/$/}],FETCH_SYMBOLS=[{sym:"svc",word:"",rx:/^\/api\/services$/i},{sym:"op",word:"",rx:/^\/api\/.*?operations$/i},{sym:"sr",word:"",rx:/^\/api\/traces\?/i},{sym:"tr",word:"",rx:/^\/api\/traces\/./i},{sym:"dp",word:"",rx:/^\/api\/dep/i},{sym:"__IGNORE__",word:"",rx:/\.js(\.map)?$/i}],warn$1=console.warn.bind(console),origin=window.location.origin+prefixUrl("");function truncate(o,$,_e=!1){return o.length>$?_e?`~${o.slice(1-$)}`:`${o.slice(0,$-1)}~`:o}function collapseWhitespace(o){return o.trim().replace(/\n/g,"|").replace(/\s\s+/g," ").trim()}function getSym(o,$){for(let _e=0;_e-1){const at=_e.slice(0,tt).replace(/error/i,"").trim();at&&et.push(at,"! "),_e=_e.slice(tt+1)}et.push(_e.trim());const rt=et.join("");return $?truncate(rt,$):et.join("")}function convException(o){const $=convErrorMessage(`${o.type}: ${o.value}`,149),_e=o.stacktrace.frames.map(rt=>{const at=rt.filename.replace(origin,"").replace(/^\/static\/js\//i,""),nt=collapseWhitespace(rt.function||"??");return{filename:at,fn:nt}}),et=[];let tt="";for(let rt=_e.length-1;rt>=0;rt--){const{filename:at,fn:nt}=_e[rt];tt!==at&&(et.push(`> ${at}`),tt=at),et.push(nt)}return{message:$,stack:et.join(` `)}}function convNav(o){return getSym(NAV_SYMBOLS,o).sym}function convFetch(o){const{url:$,status_code:_e}=o,et=_e===200?"":`|${_e}`,tt=getSym(FETCH_SYMBOLS,$);return tt.sym==="__IGNORE__"?null:`[${tt.sym}${et}]`}function compressCssSelector(o){return o.replace(/\.(?=\s|$)/g,"").replace(/\.ub-[^. [:]+/g,"").replace(/^(\w+ > )+/,"").replace(/(^| )\w+?(?=\.)/g,"$1").replace(/ > /g," >")}function convBreadcrumbs(o){if(!Array.isArray(o)||!o.length)return"";let $=-1;for(let nt=o.length-1;nt>=0;nt--)if(o[nt].category.slice(0,2)==="ui"){$=nt;break}let _e=[],et=!0;for(let nt=0;ntnt!=null).join(` `),at=convBreadcrumbs(tt);return`${rt} ${truncate(at,498-rt.length,!0)}`}function convRavenToGa({data:o}){const{breadcrumbs:$,exception:_e,extra:et,request:tt,tags:rt}=o,{message:at,stack:nt}=convException(_e.values[0]),it=truncate(tt.url.replace(origin,""),50),{word:ot}=getSym(NAV_SYMBOLS,it),st=Math.round(et["session:duration"]/1e3),lt=`jaeger/${ot}/error`;let ct=[at,rt&&rt.git,it,"",nt].filter(ft=>ft!=null).join(` -`);ct=truncate(ct,499);const ut=getLabel(at,ot,st,rt&&rt.git,$&&$.values);return{message:at,category:lt,action:ct,label:ut,value:st}}const logTrackingCalls=()=>{const o=ReactGA.testModeAPI.calls;for(let $=0;$!!o&&o!=="0"&&o!=="false",GA=(o,$,_e)=>{const et=getAppEnvironment(),tt=et==="production",rt=et==="development",at=et==="test",nt=rt&&isTruish(shouldDebugGoogleAnalytics())||isTruish(queryString.parse(get_1$1(window,"location.search"))["ga-debug"]),it=get_1$1(o,"tracking.gaID"),ot=nt||!!get_1$1(o,"tracking.trackErrors"),st=get_1$1(o,"tracking.cookiesToDimensions"),lt=ot?singletonExports:null,ct={action:499,category:149,label:499},ut=()=>at||nt||tt&&!!it,ft=pt=>{let dt=pt;/^jaeger/i.test(dt)||(dt=`jaeger/${dt}`),dt=dt.slice(0,149),ReactGA.exception({description:dt,fatal:!1}),nt&&logTrackingCalls()},At=(pt,dt,_t,Ct)=>{const gt={category:/^jaeger/i.test(pt)?pt.slice(0,ct.category):`jaeger/${pt}`.slice(0,ct.category),action:dt.slice(0,ct.action)};_t!=null&&(typeof _t=="string"?gt.label=_t.slice(0,ct.action):gt.value=Math.round(_t)),Ct!=null&&(gt.value=Math.round(Ct)),ReactGA.event(gt),nt&&logTrackingCalls()},vt=pt=>{const{message:dt,category:_t,action:Ct,label:gt,value:yt}=convRavenToGa(pt);ft(dt),At(_t,Ct,gt,yt)};return{isEnabled:ut,init:()=>{if(!ut())return;const pt={testMode:nt,titleCase:!1,debug:!0};if(ReactGA.initialize(it||"debug-mode",pt),ReactGA.set({appId:"github.com/jaegertracing/jaeger-ui",appName:"Jaeger UI",appVersion:_e}),st!==void 0&&st.forEach(({cookie:dt,dimension:_t})=>{const Ct=` ${document.cookie}`.match(new RegExp(`[; ]${dt}=([^\\s;]*)`));Ct?ReactGA.set({[_t]:Ct[1]}):console.warn(`${dt} not present in cookies, could not set dimension: ${_t}`)}),ot){const dt={autoBreadcrumbs:{xhr:!0,console:!1,dom:!0,location:!0},environment:getAppEnvironment(),transport:vt};$&&$!=="unknown"&&(dt.tags={git:$}),singletonExports.config("https://fakedsn@omg.com/1",dt).install(),window.onunhandledrejection=function(Ct){singletonExports.captureException(Ct.reason)}}nt&&logTrackingCalls()},context:lt,trackPageView:(pt,dt)=>{const _t=dt?`${pt}${dt}`:pt;ReactGA.pageview(_t),nt&&logTrackingCalls()},trackError:ft,trackEvent:At}},NoopWebAnalytics=()=>({init:()=>{},trackPageView:()=>{},trackError:()=>{},trackEvent:()=>{},context:null,isEnabled:()=>!1}),TrackingImplementation=()=>{const o=getConfig();let $,_e;const et=getVersionInfo();{try{const at=JSON.parse(et),nt=[at.objName];at.changed.hasChanged&&nt.push(at.changed.pretty),$=nt.join(" "),_e=at.pretty}catch(at){$=et,_e=et}_e=_e.length>99?`${_e.slice(0,96)}...`:_e}let tt=NoopWebAnalytics;o.tracking&&o.tracking.customWebAnalytics?tt=o.tracking.customWebAnalytics:o.tracking&&o.tracking.gaID&&(tt=GA);const rt=tt(o,$,_e);return rt.init(),rt},tracker=TrackingImplementation();function trackPageView(o,$){return tracker.trackPageView(o,$)}function trackEvent(o,$,_e,et){return tracker.trackEvent(o,$,_e,et)}const context$2=tracker.context,isWaEnabled=tracker.isEnabled(),Page$1="",{Header:Header$3,Content}=Layout$1;class PageImpl extends reactExports.Component{componentDidMount(){const{pathname:$,search:_e}=this.props;trackPageView($,_e)}componentDidUpdate($){const{pathname:_e,search:et}=$,{pathname:tt,search:rt}=this.props;(_e!==tt||et!==rt)&&trackPageView(tt,rt)}render(){const{embedded:$}=this.props,_e=classnamesExports({"Page--content":!0,"Page--content--no-embedded":!$});return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(HelmetExport,{title:"Jaeger UI"}),jsxRuntimeExports.jsxs(Layout$1,{children:[!$&&jsxRuntimeExports.jsx(Header$3,{className:"Page--topNav",children:jsxRuntimeExports.jsx(TopNav,{})}),jsxRuntimeExports.jsx(Content,{className:_e,children:this.props.children})]})]})}}function mapStateToProps$c(o){const{embedded:$}=o,{pathname:_e,search:et}=o.router.location;return{embedded:$,pathname:_e,search:et}}const Page=withRouter$1(connect$3(mapStateToProps$c)(PageImpl)),index$I="",KeyCode={LEFT:37,UP:38,RIGHT:39,DOWN:40};function toArray$4(o){var $=[];return React$k.Children.forEach(o,function(_e){_e&&$.push(_e)}),$}function getActiveIndex(o,$){for(var _e=toArray$4(o),et=0;et<_e.length;et++)if(_e[et].key===$)return et;return-1}function setTransform(o,$){o.transform=$,o.webkitTransform=$,o.mozTransform=$}function isTransform3dSupported(o){return("transform"in o||"webkitTransform"in o||"MozTransform"in o)&&window.atob}function getTransformPropValue(o){return{transform:o,WebkitTransform:o,MozTransform:o}}function isVertical(o){return o==="left"||o==="right"}function getTransformByIndex(o,$){var _e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"ltr",et=isVertical($)?"translateY":"translateX";return!isVertical($)&&_e==="rtl"?et+"("+o*100+"%) translateZ(0)":et+"("+-o*100+"%) translateZ(0)"}function getMarginStyle(o,$){var _e=isVertical($)?"marginTop":"marginLeft";return _default$e({},_e,-o*100+"%")}function getStyle(o,$){return+window.getComputedStyle(o).getPropertyValue($).replace("px","")}function getDataAttr(o){return Object.keys(o).reduce(function($,_e){return(_e.substr(0,5)==="aria-"||_e.substr(0,5)==="data-"||_e==="role")&&($[_e]=o[_e]),$},{})}function toNum(o,$){return+o.getPropertyValue($).replace("px","")}function getTypeValue(o,$,_e,et,tt){var rt=getStyle(tt,"padding-"+o);if(!et||!et.parentNode)return rt;var at=et.parentNode.childNodes;return Array.prototype.some.call(at,function(nt){var it=window.getComputedStyle(nt);return nt!==et?(rt+=toNum(it,"margin-"+o),rt+=nt[$],rt+=toNum(it,"margin-"+_e),it.boxSizing==="content-box"&&(rt+=toNum(it,"border-"+o+"-width")+toNum(it,"border-"+_e+"-width")),!1):(rt+=toNum(it,"margin-"+o),!0)}),rt}function getLeft(o,$){return getTypeValue("left","offsetWidth","right",o,$)}function getTop(o,$){return getTypeValue("top","offsetHeight","bottom",o,$)}var SentinelContext=createReactContext({}),SentinelProvider=SentinelContext.Provider,SentinelConsumer=SentinelContext.Consumer,sentinelStyle={width:0,height:0,overflow:"hidden",position:"absolute"},Sentinel=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=0}var Tabs$1=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));_initialiseProps$3.call(et);var tt=void 0;return"activeKey"in _e?tt=_e.activeKey:"defaultActiveKey"in _e?tt=_e.defaultActiveKey:tt=getDefaultActiveKey(_e),et.state={activeKey:tt},et}return _default$b($,[{key:"componentWillUnmount",value:function(){this.destroy=!0,rafExports.cancel(this.sentinelId)}},{key:"updateSentinelContext",value:function(){var et=this;this.destroy||(rafExports.cancel(this.sentinelId),this.sentinelId=rafExports(function(){et.destroy||et.forceUpdate()}))}},{key:"render",value:function(){var et,tt=this.props,rt=tt.prefixCls,at=tt.navWrapper,nt=tt.tabBarPosition,it=tt.className,ot=tt.renderTabContent,st=tt.renderTabBar,lt=tt.destroyInactiveTabPane,ct=tt.direction,ut=_default$d(tt,["prefixCls","navWrapper","tabBarPosition","className","renderTabContent","renderTabBar","destroyInactiveTabPane","direction"]),ft=classnamesExports((et={},_default$e(et,rt,1),_default$e(et,rt+"-"+nt,1),_default$e(et,it,!!it),_default$e(et,rt+"-rtl",ct==="rtl"),et));this.tabBar=st();var At=React$k.cloneElement(this.tabBar,{prefixCls:rt,navWrapper:at,key:"tabBar",onKeyDown:this.onNavKeyDown,tabBarPosition:nt,onTabClick:this.onTabClick,panels:tt.children,activeKey:this.state.activeKey,direction:this.props.direction}),vt=React$k.cloneElement(ot(),{prefixCls:rt,tabBarPosition:nt,activeKey:this.state.activeKey,destroyInactiveTabPane:lt,children:tt.children,onChange:this.setActiveKey,key:"tabContent",direction:this.props.direction}),ht=React$k.createElement(Sentinel,{key:"sentinelStart",setRef:this.setSentinelStart,nextElement:this.panelSentinelStart}),bt=React$k.createElement(Sentinel,{key:"sentinelEnd",setRef:this.setSentinelEnd,prevElement:this.panelSentinelEnd}),pt=[];return nt==="bottom"?pt.push(ht,vt,bt,At):pt.push(At,ht,vt,bt),React$k.createElement(SentinelProvider,{value:{sentinelStart:this.sentinelStart,sentinelEnd:this.sentinelEnd,setPanelSentinelStart:this.setPanelSentinelStart,setPanelSentinelEnd:this.setPanelSentinelEnd}},React$k.createElement("div",_default$bE({className:ft,style:tt.style},getDataAttr(ut),{onScroll:this.onScroll}),pt))}}],[{key:"getDerivedStateFromProps",value:function(et,tt){var rt={};return"activeKey"in et?rt.activeKey=et.activeKey:activeKeyIsValid(et,tt.activeKey)||(rt.activeKey=getDefaultActiveKey(et)),Object.keys(rt).length>0?rt:null}}]),$}(React$k.Component),_initialiseProps$3=function(){var $=this;this.onTabClick=function(_e,et){$.tabBar.props.onTabClick&&$.tabBar.props.onTabClick(_e,et),$.setActiveKey(_e)},this.onNavKeyDown=function(_e){var et=_e.keyCode;if(et===KeyCode.RIGHT||et===KeyCode.DOWN){_e.preventDefault();var tt=$.getNextActiveKey(!0);$.onTabClick(tt)}else if(et===KeyCode.LEFT||et===KeyCode.UP){_e.preventDefault();var rt=$.getNextActiveKey(!1);$.onTabClick(rt)}},this.onScroll=function(_e){var et=_e.target,tt=_e.currentTarget;et===tt&&et.scrollLeft>0&&(et.scrollLeft=0)},this.setSentinelStart=function(_e){$.sentinelStart=_e},this.setSentinelEnd=function(_e){$.sentinelEnd=_e},this.setPanelSentinelStart=function(_e){_e!==$.panelSentinelStart&&$.updateSentinelContext(),$.panelSentinelStart=_e},this.setPanelSentinelEnd=function(_e){_e!==$.panelSentinelEnd&&$.updateSentinelContext(),$.panelSentinelEnd=_e},this.setActiveKey=function(_e){$.state.activeKey!==_e&&("activeKey"in $.props||$.setState({activeKey:_e}),$.props.onChange(_e))},this.getNextActiveKey=function(_e){var et=$.state.activeKey,tt=[];React$k.Children.forEach($.props.children,function(nt){nt&&!nt.props.disabled&&(_e?tt.push(nt):tt.unshift(nt))});var rt=tt.length,at=rt&&tt[0].key;return tt.forEach(function(nt,it){nt.key===et&&(it===rt-1?at=tt[0].key:at=tt[it+1].key)}),at}};Tabs$1.propTypes={destroyInactiveTabPane:propTypesExports.bool,renderTabBar:propTypesExports.func.isRequired,renderTabContent:propTypesExports.func.isRequired,navWrapper:propTypesExports.func,onChange:propTypesExports.func,children:propTypesExports.node,prefixCls:propTypesExports.string,className:propTypesExports.string,tabBarPosition:propTypesExports.string,style:propTypesExports.object,activeKey:propTypesExports.string,defaultActiveKey:propTypesExports.string,direction:propTypesExports.string};Tabs$1.defaultProps={prefixCls:"rc-tabs",destroyInactiveTabPane:!1,onChange:noop$d,navWrapper:function($){return $},tabBarPosition:"top",children:null,style:{},direction:"ltr"};Tabs$1.TabPane=TabPane$2;polyfill(Tabs$1);var TabContent=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"getTabPanes",value:function(){var et=this.props,tt=et.activeKey,rt=et.children,at=[];return React$k.Children.forEach(rt,function(nt){if(nt){var it=nt.key,ot=tt===it;at.push(React$k.cloneElement(nt,{active:ot,destroyInactiveTabPane:et.destroyInactiveTabPane,rootPrefixCls:et.prefixCls}))}}),at}},{key:"render",value:function(){var et,tt=this.props,rt=tt.prefixCls,at=tt.children,nt=tt.activeKey,it=tt.className,ot=tt.tabBarPosition,st=tt.animated,lt=tt.animatedWithMargin,ct=tt.direction,ut=tt.style,ft=classnamesExports((et={},_default$e(et,rt+"-content",!0),_default$e(et,st?rt+"-content-animated":rt+"-content-no-animated",!0),et),it);if(st){var At=getActiveIndex(at,nt);if(At!==-1){var vt=lt?getMarginStyle(At,ot):getTransformPropValue(getTransformByIndex(At,ot,ct));ut=_default$bE({},ut,vt)}else ut=_default$bE({},ut,{display:"none"})}return React$k.createElement("div",{className:ft,style:ut},this.getTabPanes())}}]),$}(React$k.Component);TabContent.propTypes={animated:propTypesExports.bool,animatedWithMargin:propTypesExports.bool,prefixCls:propTypesExports.string,children:propTypesExports.node,activeKey:propTypesExports.string,style:propTypesExports.any,tabBarPosition:propTypesExports.string,className:propTypesExports.string,destroyInactiveTabPane:propTypesExports.bool,direction:propTypesExports.string};TabContent.defaultProps={animated:!0};function _componentDidUpdate(o,$){var _e=o.props,et=_e.styles,tt=_e.panels,rt=_e.activeKey,at=_e.direction,nt=o.props.getRef("root"),it=o.props.getRef("nav")||nt,ot=o.props.getRef("inkBar"),st=o.props.getRef("activeTab"),lt=ot.style,ct=o.props.tabBarPosition,ut=getActiveIndex(tt,rt);if($&&(lt.display="none"),st){var ft=st,At=isTransform3dSupported(lt);if(setTransform(lt,""),lt.width="",lt.height="",lt.left="",lt.top="",lt.bottom="",lt.right="",ct==="top"||ct==="bottom"){var vt=getLeft(ft,it),ht=ft.offsetWidth;ht===nt.offsetWidth?ht=0:et.inkBar&&et.inkBar.width!==void 0&&(ht=parseFloat(et.inkBar.width,10),ht&&(vt+=(ft.offsetWidth-ht)/2)),at==="rtl"&&(vt=getStyle(ft,"margin-left")-vt),At?setTransform(lt,"translate3d("+vt+"px,0,0)"):lt.left=vt+"px",lt.width=ht+"px"}else{var bt=getTop(ft,it),pt=ft.offsetHeight;et.inkBar&&et.inkBar.height!==void 0&&(pt=parseFloat(et.inkBar.height,10),pt&&(bt+=(ft.offsetHeight-pt)/2)),At?(setTransform(lt,"translate3d(0,"+bt+"px,0)"),lt.top="0"):lt.top=bt+"px",lt.height=pt+"px"}}lt.display=ut!==-1?"block":"none"}var InkTabBarNode=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"componentDidMount",value:function(){var et=this;this.timeout=setTimeout(function(){_componentDidUpdate(et,!0)},0)}},{key:"componentDidUpdate",value:function(){_componentDidUpdate(this)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.timeout)}},{key:"render",value:function(){var et,tt=this.props,rt=tt.prefixCls,at=tt.styles,nt=tt.inkBarAnimated,it=rt+"-ink-bar",ot=classnamesExports((et={},_default$e(et,it,!0),_default$e(et,nt?it+"-animated":it+"-no-animated",!0),et));return React$k.createElement("div",{style:at.inkBar,className:ot,key:"inkBar",ref:this.props.saveRef("inkBar")})}}]),$}(React$k.Component);InkTabBarNode.propTypes={prefixCls:propTypesExports.string,styles:propTypesExports.object,inkBarAnimated:propTypesExports.bool,saveRef:propTypesExports.func,direction:propTypesExports.string};InkTabBarNode.defaultProps={prefixCls:"",inkBarAnimated:!0,styles:{},saveRef:function(){}};var TabBarTabsNode=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"render",value:function(){var et=this,tt=this.props,rt=tt.panels,at=tt.activeKey,nt=tt.prefixCls,it=tt.tabBarGutter,ot=tt.saveRef,st=tt.tabBarPosition,lt=tt.renderTabBarNode,ct=tt.direction,ut=[];return React$k.Children.forEach(rt,function(ft,At){if(ft){var vt=ft.key,ht=at===vt?nt+"-tab-active":"";ht+=" "+nt+"-tab";var bt={};ft.props.disabled?ht+=" "+nt+"-tab-disabled":bt={onClick:et.props.onTabClick.bind(et,vt)};var pt={};at===vt&&(pt.ref=ot("activeTab"));var dt=it&&At===rt.length-1?0:it,_t=ct==="rtl"?"marginLeft":"marginRight",Ct=_default$e({},isVertical(st)?"marginBottom":_t,dt);warning_1$3("tab"in ft.props);var gt=React$k.createElement("div",_default$bE({role:"tab","aria-disabled":ft.props.disabled?"true":"false","aria-selected":at===vt?"true":"false"},bt,{className:ht,key:vt,style:Ct},pt),ft.props.tab);lt&&(gt=lt(gt)),ut.push(gt)}}),React$k.createElement("div",{ref:ot("navTabsContainer")},ut)}}]),$}(React$k.Component);TabBarTabsNode.propTypes={activeKey:propTypesExports.string,panels:propTypesExports.node,prefixCls:propTypesExports.string,tabBarGutter:propTypesExports.number,onTabClick:propTypesExports.func,saveRef:propTypesExports.func,renderTabBarNode:propTypesExports.func,tabBarPosition:propTypesExports.string,direction:propTypesExports.string};TabBarTabsNode.defaultProps={panels:[],prefixCls:[],tabBarGutter:null,onTabClick:function(){},saveRef:function(){}};var TabBarRootNode=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"render",value:function(){var et=this.props,tt=et.prefixCls,rt=et.onKeyDown,at=et.className,nt=et.extraContent,it=et.style,ot=et.tabBarPosition,st=et.children,lt=_default$d(et,["prefixCls","onKeyDown","className","extraContent","style","tabBarPosition","children"]),ct=classnamesExports(tt+"-bar",_default$e({},at,!!at)),ut=ot==="top"||ot==="bottom",ft=ut?{float:"right"}:{},At=nt&&nt.props?nt.props.style:{},vt=st;return nt&&(vt=[reactExports.cloneElement(nt,{key:"extra",style:_default$bE({},ft,At)}),reactExports.cloneElement(st,{key:"content"})],vt=ut?vt:vt.reverse()),React$k.createElement("div",_default$bE({role:"tablist",className:ct,tabIndex:"0",ref:this.props.saveRef("root"),onKeyDown:rt,style:it},getDataAttr(lt)),vt)}}]),$}(React$k.Component);TabBarRootNode.propTypes={prefixCls:propTypesExports.string,className:propTypesExports.string,style:propTypesExports.object,tabBarPosition:propTypesExports.oneOf(["left","right","top","bottom"]),children:propTypesExports.node,extraContent:propTypesExports.node,onKeyDown:propTypesExports.func,saveRef:propTypesExports.func};TabBarRootNode.defaultProps={prefixCls:"",className:"",style:{},tabBarPosition:"top",extraContent:null,children:null,onKeyDown:function(){},saveRef:function(){}};var root$4=_root,now$5=function(){return root$4.Date.now()},now_1=now$5,reWhitespace=/\s/;function trimmedEndIndex$1(o){for(var $=o.length;$--&&reWhitespace.test(o.charAt($)););return $}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(o){return o&&o.slice(0,trimmedEndIndex(o)+1).replace(reTrimStart,"")}var _baseTrim=baseTrim$1,baseTrim=_baseTrim,isObject$e=isObject_1,isSymbol$2=isSymbol_1,NAN=0/0,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$4(o){if(typeof o=="number")return o;if(isSymbol$2(o))return NAN;if(isObject$e(o)){var $=typeof o.valueOf=="function"?o.valueOf():o;o=isObject$e($)?$+"":$}if(typeof o!="string")return o===0?o:+o;o=baseTrim(o);var _e=reIsBinary.test(o);return _e||reIsOctal.test(o)?freeParseInt(o.slice(2),_e?2:8):reIsBadHex.test(o)?NAN:+o}var toNumber_1=toNumber$4,isObject$d=isObject_1,now$4=now_1,toNumber$3=toNumber_1,FUNC_ERROR_TEXT$1="Expected a function",nativeMax$2=Math.max,nativeMin$1=Math.min;function debounce$3(o,$,_e){var et,tt,rt,at,nt,it,ot=0,st=!1,lt=!1,ct=!0;if(typeof o!="function")throw new TypeError(FUNC_ERROR_TEXT$1);$=toNumber$3($)||0,isObject$d(_e)&&(st=!!_e.leading,lt="maxWait"in _e,rt=lt?nativeMax$2(toNumber$3(_e.maxWait)||0,$):rt,ct="trailing"in _e?!!_e.trailing:ct);function ut(Ct){var gt=et,yt=tt;return et=tt=void 0,ot=Ct,at=o.apply(yt,gt),at}function ft(Ct){return ot=Ct,nt=setTimeout(ht,$),st?ut(Ct):at}function At(Ct){var gt=Ct-it,yt=Ct-ot,xt=$-gt;return lt?nativeMin$1(xt,rt-yt):xt}function vt(Ct){var gt=Ct-it,yt=Ct-ot;return it===void 0||gt>=$||gt<0||lt&&yt>=rt}function ht(){var Ct=now$4();if(vt(Ct))return bt(Ct);nt=setTimeout(ht,At(Ct))}function bt(Ct){return nt=void 0,ct&&et?ut(Ct):(et=tt=void 0,at)}function pt(){nt!==void 0&&clearTimeout(nt),ot=0,et=it=tt=nt=void 0}function dt(){return nt===void 0?at:bt(now$4())}function _t(){var Ct=now$4(),gt=vt(Ct);if(et=arguments,tt=this,it=Ct,gt){if(nt===void 0)return ft(it);if(lt)return clearTimeout(nt),nt=setTimeout(ht,$),ut(it)}return nt===void 0&&(nt=setTimeout(ht,$)),at}return _t.cancel=pt,_t.flush=dt,_t}var debounce_1=debounce$3,ScrollableTabBarNode=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et.prevTransitionEnd=function(tt){if(tt.propertyName==="opacity"){var rt=et.props.getRef("container");et.scrollToActiveTab({target:rt,currentTarget:rt})}},et.scrollToActiveTab=function(tt){var rt=et.props.getRef("activeTab"),at=et.props.getRef("navWrap");if(!(tt&&tt.target!==tt.currentTarget||!rt)){var nt=et.isNextPrevShown()&&et.lastNextPrevShown;if(et.lastNextPrevShown=et.isNextPrevShown(),!!nt){var it=et.getScrollWH(rt),ot=et.getOffsetWH(at),st=et.offset,lt=et.getOffsetLT(at),ct=et.getOffsetLT(rt);lt>ct?(st+=lt-ct,et.setOffset(st)):lt+ot=0)lt=!1,this.setOffset(0,!1),it=0;else if(ot1&&arguments[1]!==void 0?arguments[1]:!0,rt=Math.min(0,et);if(this.offset!==rt){this.offset=rt;var at={},nt=this.props.tabBarPosition,it=this.props.getRef("nav").style,ot=isTransform3dSupported(it);nt==="left"||nt==="right"?ot?at={value:"translate3d(0,"+rt+"px,0)"}:at={name:"top",value:rt+"px"}:ot?(this.props.direction==="rtl"&&(rt=-rt),at={value:"translate3d("+rt+"px,0,0)"}):at={name:"left",value:rt+"px"},ot?setTransform(it,at.value):it[at.name]=at.value,tt&&this.setNextPrev()}}},{key:"setPrev",value:function(et){this.state.prev!==et&&this.setState({prev:et})}},{key:"setNext",value:function(et){this.state.next!==et&&this.setState({next:et})}},{key:"isNextPrevShown",value:function(et){return et?et.next||et.prev:this.state.next||this.state.prev}},{key:"render",value:function(){var et,tt,rt,at,nt=this.state,it=nt.next,ot=nt.prev,st=this.props,lt=st.prefixCls,ct=st.scrollAnimated,ut=st.navWrapper,ft=st.prevIcon,At=st.nextIcon,vt=ot||it,ht=React$k.createElement("span",{onClick:ot?this.prev:null,unselectable:"unselectable",className:classnamesExports((et={},_default$e(et,lt+"-tab-prev",1),_default$e(et,lt+"-tab-btn-disabled",!ot),_default$e(et,lt+"-tab-arrow-show",vt),et)),onTransitionEnd:this.prevTransitionEnd},ft||React$k.createElement("span",{className:lt+"-tab-prev-icon"})),bt=React$k.createElement("span",{onClick:it?this.next:null,unselectable:"unselectable",className:classnamesExports((tt={},_default$e(tt,lt+"-tab-next",1),_default$e(tt,lt+"-tab-btn-disabled",!it),_default$e(tt,lt+"-tab-arrow-show",vt),tt))},At||React$k.createElement("span",{className:lt+"-tab-next-icon"})),pt=lt+"-nav",dt=classnamesExports((rt={},_default$e(rt,pt,!0),_default$e(rt,ct?pt+"-animated":pt+"-no-animated",!0),rt));return React$k.createElement("div",{className:classnamesExports((at={},_default$e(at,lt+"-nav-container",1),_default$e(at,lt+"-nav-container-scrolling",vt),at)),key:"container",ref:this.props.saveRef("container")},ht,bt,React$k.createElement("div",{className:lt+"-nav-wrap",ref:this.props.saveRef("navWrap")},React$k.createElement("div",{className:lt+"-nav-scroll"},React$k.createElement("div",{className:dt,ref:this.props.saveRef("nav")},ut(this.props.children)))))}}]),$}(React$k.Component);ScrollableTabBarNode.propTypes={activeKey:propTypesExports.string,getRef:propTypesExports.func.isRequired,saveRef:propTypesExports.func.isRequired,tabBarPosition:propTypesExports.oneOf(["left","right","top","bottom"]),prefixCls:propTypesExports.string,scrollAnimated:propTypesExports.bool,onPrevClick:propTypesExports.func,onNextClick:propTypesExports.func,navWrapper:propTypesExports.func,children:propTypesExports.node,prevIcon:propTypesExports.node,nextIcon:propTypesExports.node,direction:propTypesExports.node};ScrollableTabBarNode.defaultProps={tabBarPosition:"left",prefixCls:"",scrollAnimated:!0,onPrevClick:function(){},onNextClick:function(){},navWrapper:function($){return $}};var SaveRef=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$Q(o){return _getPrototypeOf$Q=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$Q(o)}var TabBar=function(o){_inherits$1v(_e,o);var $=_createSuper$I(_e);function _e(){return _classCallCheck$1x(this,_e),$.apply(this,arguments)}return _createClass$1s(_e,[{key:"render",value:function(){var tt,rt=this.props,at=rt.tabBarStyle,nt=rt.animated,it=rt.renderTabBar,ot=rt.tabBarExtraContent,st=rt.tabPosition,lt=rt.prefixCls,ct=rt.className,ut=rt.size,ft=rt.type,At=_typeof$J(nt)==="object"?nt.inkBar:nt,vt=st==="left"||st==="right",ht=vt?"up":"left",bt=vt?"down":"right",pt=reactExports.createElement("span",{className:"".concat(lt,"-tab-prev-icon")},reactExports.createElement(Icon$1,{type:ht,className:"".concat(lt,"-tab-prev-icon-target")})),dt=reactExports.createElement("span",{className:"".concat(lt,"-tab-next-icon")},reactExports.createElement(Icon$1,{type:bt,className:"".concat(lt,"-tab-next-icon-target")})),_t=classNames("".concat(lt,"-").concat(st,"-bar"),(tt={},_defineProperty$O(tt,"".concat(lt,"-").concat(ut,"-bar"),!!ut),_defineProperty$O(tt,"".concat(lt,"-card-bar"),ft&&ft.indexOf("card")>=0),tt),ct),Ct=_extends$1G(_extends$1G({},this.props),{children:null,inkBarAnimated:At,extraContent:ot,style:at,prevIcon:pt,nextIcon:dt,className:_t}),gt;return it?gt=it(Ct,ScrollableInkTabBar):gt=reactExports.createElement(ScrollableInkTabBar,Ct),reactExports.cloneElement(gt)}}]),_e}(reactExports.Component);TabBar.defaultProps={animated:!0,type:"line"};var isStyleSupport=function($){if(typeof window<"u"&&window.document&&window.document.documentElement){var _e=Array.isArray($)?$:[$],et=window.document.documentElement;return _e.some(function(tt){return tt in et.style})}return!1},isFlexSupported=isStyleSupport(["flex","webkitFlex","Flex","msFlex"]);function _extends$1F(){return _extends$1F=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$P(o){return _getPrototypeOf$P=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$P(o)}var __rest$q=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=0&&(lt==="small"||lt==="large")),"Tabs","`type=card|editable-card` doesn't have small or large size, it's by design.");var _t=at("tabs",it),Ct=classNames(st,(rt={},_defineProperty$N(rt,"".concat(_t,"-vertical"),ft==="left"||ft==="right"),_defineProperty$N(rt,"".concat(_t,"-").concat(lt),!!lt),_defineProperty$N(rt,"".concat(_t,"-card"),ut.indexOf("card")>=0),_defineProperty$N(rt,"".concat(_t,"-").concat(ut),!0),_defineProperty$N(rt,"".concat(_t,"-no-animation"),!dt),rt)),gt=[];ut==="editable-card"&&(gt=[],reactExports.Children.forEach(At,function(Et,It){if(!reactExports.isValidElement(Et))return Et;var Tt=Et.props.closable;Tt=typeof Tt>"u"?!0:Tt;var Rt=Tt?reactExports.createElement(Icon$1,{type:"close",className:"".concat(_t,"-close-x"),onClick:function(Mt){return et.removeTab(Et.key,Mt)}}):null;gt.push(reactExports.cloneElement(Et,{tab:reactExports.createElement("div",{className:Tt?void 0:"".concat(_t,"-tab-unclosable")},Et.props.tab,Rt),key:Et.key||It}))}),bt||(pt=reactExports.createElement("span",null,reactExports.createElement(Icon$1,{type:"plus",className:"".concat(_t,"-new-tab"),onClick:et.createNewTab}),pt))),pt=pt?reactExports.createElement("div",{className:"".concat(_t,"-extra-content")},pt):null;var yt=__rest$q(et.props,[]),xt=classNames("".concat(_t,"-").concat(ft,"-content"),ut.indexOf("card")>=0&&"".concat(_t,"-card-content"));return reactExports.createElement(Tabs$1,_extends$1F({},et.props,{prefixCls:_t,className:Ct,tabBarPosition:ft,renderTabBar:function(){return reactExports.createElement(TabBar,_extends$1F({},omit(yt,["className"]),{tabBarExtraContent:pt}))},renderTabContent:function(){return reactExports.createElement(TabContent,{className:xt,animated:dt,animatedWithMargin:!0})},onChange:et.handleChange}),gt.length>0?gt:At)},et}return _createClass$1r(_e,[{key:"componentDidMount",value:function(){var tt=" no-flex",rt=reactDomExports.findDOMNode(this);rt&&!isFlexSupported&&rt.className.indexOf(tt)===-1&&(rt.className+=tt)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderTabs)}}]),_e}(reactExports.Component);Tabs.TabPane=TabPane$2;Tabs.defaultProps={hideAdd:!1,tabPosition:"top"};var heapExports$1={},heap$1={get exports(){return heapExports$1},set exports(o){heapExports$1=o}},heapExports={},heap={get exports(){return heapExports},set exports(o){heapExports=o}};(function(o,$){(function(){var _e,et,tt,rt,at,nt,it,ot,st,lt,ct,ut,ft,At,vt;tt=Math.floor,lt=Math.min,et=function(ht,bt){return htbt?1:0},st=function(ht,bt,pt,dt,_t){var Ct;if(pt==null&&(pt=0),_t==null&&(_t=et),pt<0)throw new Error("lo must be non-negative");for(dt==null&&(dt=ht.length);ptEt;0<=Et?xt++:xt--)yt.push(xt);return yt}.apply(this).reverse(),gt=[],dt=0,_t=Ct.length;dt<_t;dt++)pt=Ct[dt],gt.push(vt(ht,pt,bt));return gt},ft=function(ht,bt,pt){var dt;if(pt==null&&(pt=et),dt=ht.indexOf(bt),dt!==-1)return At(ht,0,dt,pt),vt(ht,dt,pt)},ct=function(ht,bt,pt){var dt,_t,Ct,gt,yt;if(pt==null&&(pt=et),_t=ht.slice(0,bt),!_t.length)return _t;for(rt(_t,pt),yt=ht.slice(bt),Ct=0,gt=yt.length;CtIt;0<=It?++yt:--yt)Tt.push(at(ht,pt));return Tt},At=function(ht,bt,pt,dt){var _t,Ct,gt;for(dt==null&&(dt=et),_t=ht[pt];pt>bt;){if(gt=pt-1>>1,Ct=ht[gt],dt(_t,Ct)<0){ht[pt]=Ct,pt=gt;continue}break}return ht[pt]=_t},vt=function(ht,bt,pt){var dt,_t,Ct,gt,yt;for(pt==null&&(pt=et),_t=ht.length,yt=bt,Ct=ht[bt],dt=2*bt+1;dt<_t;)gt=dt+1,gt<_t&&!(pt(ht[dt],ht[gt])<0)&&(dt=gt),ht[bt]=ht[dt],bt=dt,dt=2*bt+1;return ht[bt]=Ct,At(ht,yt,bt,pt)},_e=function(){ht.push=nt,ht.pop=at,ht.replace=ot,ht.pushpop=it,ht.heapify=rt,ht.updateItem=ft,ht.nlargest=ct,ht.nsmallest=ut;function ht(bt){this.cmp=bt!=null?bt:et,this.nodes=[]}return ht.prototype.push=function(bt){return nt(this.nodes,bt,this.cmp)},ht.prototype.pop=function(){return at(this.nodes,this.cmp)},ht.prototype.peek=function(){return this.nodes[0]},ht.prototype.contains=function(bt){return this.nodes.indexOf(bt)!==-1},ht.prototype.replace=function(bt){return ot(this.nodes,bt,this.cmp)},ht.prototype.pushpop=function(bt){return it(this.nodes,bt,this.cmp)},ht.prototype.heapify=function(){return rt(this.nodes,this.cmp)},ht.prototype.updateItem=function(bt){return ft(this.nodes,bt,this.cmp)},ht.prototype.clear=function(){return this.nodes=[]},ht.prototype.empty=function(){return this.nodes.length===0},ht.prototype.size=function(){return this.nodes.length},ht.prototype.clone=function(){var bt;return bt=new ht,bt.nodes=this.nodes.slice(0),bt},ht.prototype.toArray=function(){return this.nodes.slice(0)},ht.prototype.insert=ht.prototype.push,ht.prototype.top=ht.prototype.peek,ht.prototype.front=ht.prototype.peek,ht.prototype.has=ht.prototype.contains,ht.prototype.copy=ht.prototype.clone,ht}(),function(ht,bt){return o.exports=bt()}(this,function(){return _e})}).call(commonjsGlobal)})(heap);(function(o){o.exports=heapExports})(heap$1);function copyArray$3(o,$){var _e=-1,et=o.length;for($||($=Array(et));++_eo.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _nonIterableRest$1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var window$1=typeof window>"u"?null:window,navigator$2=window$1?window$1.navigator:null;window$1&&window$1.document;var typeofstr=_typeof$H(""),typeofobj=_typeof$H({}),typeoffn=_typeof$H(function(){}),typeofhtmlele=typeof HTMLElement>"u"?"undefined":_typeof$H(HTMLElement),instanceStr=function($){return $&&$.instanceString&&fn$6($.instanceString)?$.instanceString():null},string$1=function($){return $!=null&&_typeof$H($)==typeofstr},fn$6=function($){return $!=null&&_typeof$H($)===typeoffn},array$4=function($){return!elementOrCollection($)&&(Array.isArray?Array.isArray($):$!=null&&$ instanceof Array)},plainObject=function($){return $!=null&&_typeof$H($)===typeofobj&&!array$4($)&&$.constructor===Object},object$1=function($){return $!=null&&_typeof$H($)===typeofobj},number$1$1=function($){return $!=null&&_typeof$H($)===_typeof$H(1)&&!isNaN($)},integer=function($){return number$1$1($)&&Math.floor($)===$},htmlElement=function($){if(typeofhtmlele!=="undefined")return $!=null&&$ instanceof HTMLElement},elementOrCollection=function($){return element($)||collection($)},element=function($){return instanceStr($)==="collection"&&$._private.single},collection=function($){return instanceStr($)==="collection"&&!$._private.single},core$2=function($){return instanceStr($)==="core"},stylesheet=function($){return instanceStr($)==="stylesheet"},event=function($){return instanceStr($)==="event"},emptyString=function($){return $==null?!0:!!($===""||$.match(/^\s+$/))},domElement=function($){return typeof HTMLElement>"u"?!1:$ instanceof HTMLElement},boundingBox=function($){return plainObject($)&&number$1$1($.x1)&&number$1$1($.x2)&&number$1$1($.y1)&&number$1$1($.y2)},promise$3=function($){return object$1($)&&fn$6($.then)},ms=function(){return navigator$2&&navigator$2.userAgent.match(/msie|trident|edge/i)},memoize$1=function($,_e){_e||(_e=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var rt=[],at=0;at_e?1:0},descending$2=function($,_e){return-1*ascending$4($,_e)},extend$3=Object.assign!=null?Object.assign.bind(Object):function(o){for(var $=arguments,_e=1;_e<$.length;_e++){var et=$[_e];if(et!=null)for(var tt=Object.keys(et),rt=0;rt1&&(vt-=1),vt<1/6?ft+(At-ft)*6*vt:vt<1/2?At:vt<2/3?ft+(At-ft)*(2/3-vt)*6:ft}var lt=new RegExp("^"+hsla$3+"$").exec($);if(lt){if(et=parseInt(lt[1]),et<0?et=(360- -1*et%360)%360:et>360&&(et=et%360),et/=360,tt=parseFloat(lt[2]),tt<0||tt>100||(tt=tt/100,rt=parseFloat(lt[3]),rt<0||rt>100)||(rt=rt/100,at=lt[4],at!==void 0&&(at=parseFloat(at),at<0||at>1)))return;if(tt===0)nt=it=ot=Math.round(rt*255);else{var ct=rt<.5?rt*(1+tt):rt+tt-rt*tt,ut=2*rt-ct;nt=Math.round(255*st(ut,ct,et+1/3)),it=Math.round(255*st(ut,ct,et)),ot=Math.round(255*st(ut,ct,et-1/3))}_e=[nt,it,ot,at]}return _e},rgb2tuple=function($){var _e,et=new RegExp("^"+rgba$3+"$").exec($);if(et){_e=[];for(var tt=[],rt=1;rt<=3;rt++){var at=et[rt];if(at[at.length-1]==="%"&&(tt[rt]=!0),at=parseFloat(at),tt[rt]&&(at=at/100*255),at<0||at>255)return;_e.push(Math.floor(at))}var nt=tt[1]||tt[2]||tt[3],it=tt[1]&&tt[2]&&tt[3];if(nt&&!it)return;var ot=et[4];if(ot!==void 0){if(ot=parseFloat(ot),ot<0||ot>1)return;_e.push(ot)}}return _e},colorname2tuple=function($){return colors$1[$.toLowerCase()]},color2tuple=function($){return(array$4($)?$:null)||colorname2tuple($)||hex2tuple($)||rgb2tuple($)||hsl2tuple($)},colors$1={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},setMap=function($){for(var _e=$.map,et=$.keys,tt=et.length,rt=0;rt1&&arguments[1]!==void 0?arguments[1]:DEFAULT_HASH_SEED,et=_e,tt;tt=$.next(),!tt.done;)et=et*K$1+tt.value|0;return et},hashInt=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:DEFAULT_HASH_SEED;return _e*K$1+$|0},hashIntAlt=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:DEFAULT_HASH_SEED_ALT;return(_e<<5)+_e+$|0},combineHashes=function($,_e){return $*2097152+_e},combineHashesArray=function($){return $[0]*2097152+$[1]},hashArrays=function($,_e){return[hashInt($[0],_e[0]),hashIntAlt($[1],_e[1])]},hashIntsArray=function($,_e){var et={value:0,done:!1},tt=0,rt=$.length,at={next:function(){return tt=0&&!($[tt]===_e&&($.splice(tt,1),et));tt--);},clearArray=function($){$.splice(0,$.length)},push=function($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];$.push(tt)}},getPrefixedProperty=function($,_e,et){return et&&(_e=prependCamel(et,_e)),$[_e]},setPrefixedProperty=function($,_e,et,tt){et&&(_e=prependCamel(et,_e)),$[_e]=tt},ObjectMap=function(){function o(){_classCallCheck$1v(this,o),this._obj={}}return _createClass$1q(o,[{key:"set",value:function(_e,et){return this._obj[_e]=et,this}},{key:"delete",value:function(_e){return this._obj[_e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(_e){return this._obj[_e]!==void 0}},{key:"get",value:function(_e){return this._obj[_e]}}]),o}(),Map$1$1=typeof Map<"u"?Map:ObjectMap,undef="undefined",ObjectSet=function(){function o($){if(_classCallCheck$1v(this,o),this._obj=Object.create(null),this.size=0,$!=null){var _e;$.instanceString!=null&&$.instanceString()===this.instanceString()?_e=$.toArray():_e=$;for(var et=0;et<_e.length;et++)this.add(_e[et])}}return _createClass$1q(o,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(_e){var et=this._obj;et[_e]!==1&&(et[_e]=1,this.size++)}},{key:"delete",value:function(_e){var et=this._obj;et[_e]===1&&(et[_e]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(_e){return this._obj[_e]===1}},{key:"toArray",value:function(){var _e=this;return Object.keys(this._obj).filter(function(et){return _e.has(et)})}},{key:"forEach",value:function(_e,et){return this.toArray().forEach(_e,et)}}]),o}(),Set$1$1=(typeof Set>"u"?"undefined":_typeof$H(Set))!==undef?Set:ObjectSet,Element$1=function($,_e){var et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if($===void 0||_e===void 0||!core$2($)){error("An element must have a core reference and parameters set");return}var tt=_e.group;if(tt==null&&(_e.data&&_e.data.source!=null&&_e.data.target!=null?tt="edges":tt="nodes"),tt!=="nodes"&&tt!=="edges"){error("An element must be of type `nodes` or `edges`; you specified `"+tt+"`");return}this.length=1,this[0]=this;var rt=this._private={cy:$,single:!0,data:_e.data||{},position:_e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:tt,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!_e.selected,selectable:_e.selectable===void 0?!0:!!_e.selectable,locked:!!_e.locked,grabbed:!1,grabbable:_e.grabbable===void 0?!0:!!_e.grabbable,pannable:_e.pannable===void 0?tt==="edges":!!_e.pannable,active:!1,classes:new Set$1$1,animation:{current:[],queue:[]},rscratch:{},scratch:_e.scratch||{},edges:[],children:[],parent:_e.parent&&_e.parent.isNode()?_e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(rt.position.x==null&&(rt.position.x=0),rt.position.y==null&&(rt.position.y=0),_e.renderedPosition){var at=_e.renderedPosition,nt=$.pan(),it=$.zoom();rt.position={x:(at.x-nt.x)/it,y:(at.y-nt.y)/it}}var ot=[];array$4(_e.classes)?ot=_e.classes:string$1(_e.classes)&&(ot=_e.classes.split(/\s+/));for(var st=0,lt=ot.length;st0;){var Ct=bt.pop(),gt=vt(Ct),yt=Ct.id();if(ct[yt]=gt,gt!==1/0)for(var xt=Ct.neighborhood().intersect(ft),Et=0;Et0)for(Vt.unshift(Lt);lt[Nt];){var Wt=lt[Nt];Vt.unshift(Wt.edge),Vt.unshift(Wt.node),zt=Wt.node,Nt=zt.id()}return nt.spawn(Vt)}}}},elesfn$t={kruskal:function($){$=$||function(pt){return 1};for(var _e=this.byGroup(),et=_e.nodes,tt=_e.edges,rt=et.length,at=new Array(rt),nt=et,it=function(dt){for(var _t=0;_t0;){if(_t(),gt++,dt===st){for(var yt=[],xt=rt,Et=st,It=ht[Et];yt.unshift(xt),It!=null&&yt.unshift(It),xt=vt[Et],xt!=null;)Et=xt.id(),It=ht[Et];return{found:!0,distance:lt[dt],path:this.spawn(yt),steps:gt}}ut[dt]=!0;for(var Tt=pt._private.edges,Rt=0;RtIt&&(ft[Et]=It,bt[Et]=xt,pt[Et]=_t),!rt){var Tt=xt*st+yt;!rt&&ft[Tt]>It&&(ft[Tt]=It,bt[Tt]=yt,pt[Tt]=_t)}}}for(var Rt=0;Rt1&&arguments[1]!==void 0?arguments[1]:at,na=pt(Or),ba=[],qr=na;;){if(qr==null)return _e.spawn();var Pr=bt(qr),ur=Pr.edge,Sr=Pr.pred;if(ba.unshift(qr[0]),qr.same(Lr)&&ba.length>0)break;ur!=null&&ba.unshift(ur),qr=Sr}return it.spawn(ba)},Ct=0;Ct=0;st--){var lt=ot[st],ct=lt[1],ut=lt[2];(_e[ct]===nt&&_e[ut]===it||_e[ct]===it&&_e[ut]===nt)&&ot.splice(st,1)}for(var ft=0;fttt;){var rt=Math.floor(Math.random()*_e.length);_e=collapse(rt,$,_e),et--}return _e},elesfn$p={kargerStein:function(){var $=this,_e=this.byGroup(),et=_e.nodes,tt=_e.edges;tt.unmergeBy(function(Vt){return Vt.isLoop()});var rt=et.length,at=tt.length,nt=Math.ceil(Math.pow(Math.log(rt)/Math.LN2,2)),it=Math.floor(rt/sqrt2);if(rt<2){error("At least 2 nodes are required for Karger-Stein algorithm");return}for(var ot=[],st=0;st1&&arguments[1]!==void 0?arguments[1]:0,et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$.length,tt=1/0,rt=_e;rt1&&arguments[1]!==void 0?arguments[1]:0,et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$.length,tt=-1/0,rt=_e;rt1&&arguments[1]!==void 0?arguments[1]:0,et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$.length,tt=0,rt=0,at=_e;at1&&arguments[1]!==void 0?arguments[1]:0,et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$.length,tt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,rt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,at=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;tt?$=$.slice(_e,et):(et<$.length&&$.splice(et,$.length-et),_e>0&&$.splice(0,_e));for(var nt=0,it=$.length-1;it>=0;it--){var ot=$[it];at?isFinite(ot)||($[it]=-1/0,nt++):$.splice(it,1)}rt&&$.sort(function(ct,ut){return ct-ut});var st=$.length,lt=Math.floor(st/2);return st%2!==0?$[lt+1+nt]:($[lt-1+nt]+$[lt+nt])/2},deg2rad$1=function($){return Math.PI*$/180},getAngleFromDisp=function($,_e){return Math.atan2(_e,$)-Math.PI/2},log2=Math.log2||function(o){return Math.log(o)/Math.log(2)},signum=function($){return $>0?1:$<0?-1:0},dist$1=function($,_e){return Math.sqrt(sqdist($,_e))},sqdist=function($,_e){var et=_e.x-$.x,tt=_e.y-$.y;return et*et+tt*tt},inPlaceSumNormalize=function($){for(var _e=$.length,et=0,tt=0;tt<_e;tt++)et+=$[tt];for(var rt=0;rt<_e;rt++)$[rt]=$[rt]/et;return $},qbezierAt=function($,_e,et,tt){return(1-tt)*(1-tt)*$+2*(1-tt)*tt*_e+tt*tt*et},qbezierPtAt=function($,_e,et,tt){return{x:qbezierAt($.x,_e.x,et.x,tt),y:qbezierAt($.y,_e.y,et.y,tt)}},lineAt=function($,_e,et,tt){var rt={x:_e.x-$.x,y:_e.y-$.y},at=dist$1($,_e),nt={x:rt.x/at,y:rt.y/at};return et=et==null?0:et,tt=tt!=null?tt:et*at,{x:$.x+nt.x*tt,y:$.y+nt.y*tt}},bound=function($,_e,et){return Math.max($,Math.min(et,_e))},makeBoundingBox=function($){if($==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if($.x1!=null&&$.y1!=null){if($.x2!=null&&$.y2!=null&&$.x2>=$.x1&&$.y2>=$.y1)return{x1:$.x1,y1:$.y1,x2:$.x2,y2:$.y2,w:$.x2-$.x1,h:$.y2-$.y1};if($.w!=null&&$.h!=null&&$.w>=0&&$.h>=0)return{x1:$.x1,y1:$.y1,x2:$.x1+$.w,y2:$.y1+$.h,w:$.w,h:$.h}}},copyBoundingBox=function($){return{x1:$.x1,x2:$.x2,w:$.w,y1:$.y1,y2:$.y2,h:$.h}},clearBoundingBox=function($){$.x1=1/0,$.y1=1/0,$.x2=-1/0,$.y2=-1/0,$.w=0,$.h=0},updateBoundingBox=function($,_e){$.x1=Math.min($.x1,_e.x1),$.x2=Math.max($.x2,_e.x2),$.w=$.x2-$.x1,$.y1=Math.min($.y1,_e.y1),$.y2=Math.max($.y2,_e.y2),$.h=$.y2-$.y1},expandBoundingBoxByPoint=function($,_e,et){$.x1=Math.min($.x1,_e),$.x2=Math.max($.x2,_e),$.w=$.x2-$.x1,$.y1=Math.min($.y1,et),$.y2=Math.max($.y2,et),$.h=$.y2-$.y1},expandBoundingBox=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return $.x1-=_e,$.x2+=_e,$.y1-=_e,$.y2+=_e,$.w=$.x2-$.x1,$.h=$.y2-$.y1,$},expandBoundingBoxSides=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],et,tt,rt,at;if(_e.length===1)et=tt=rt=at=_e[0];else if(_e.length===2)et=rt=_e[0],at=tt=_e[1];else if(_e.length===4){var nt=_slicedToArray$4(_e,4);et=nt[0],tt=nt[1],rt=nt[2],at=nt[3]}return $.x1-=at,$.x2+=tt,$.y1-=et,$.y2+=rt,$.w=$.x2-$.x1,$.h=$.y2-$.y1,$},assignBoundingBox=function($,_e){$.x1=_e.x1,$.y1=_e.y1,$.x2=_e.x2,$.y2=_e.y2,$.w=$.x2-$.x1,$.h=$.y2-$.y1},boundingBoxesIntersect=function($,_e){return!($.x1>_e.x2||_e.x1>$.x2||$.x2<_e.x1||_e.x2<$.x1||$.y2<_e.y1||_e.y2<$.y1||$.y1>_e.y2||_e.y1>$.y2)},inBoundingBox=function($,_e,et){return $.x1<=_e&&_e<=$.x2&&$.y1<=et&&et<=$.y2},pointInBoundingBox=function($,_e){return inBoundingBox($,_e.x,_e.y)},boundingBoxInBoundingBox=function($,_e){return inBoundingBox($,_e.x1,_e.y1)&&inBoundingBox($,_e.x2,_e.y2)},roundRectangleIntersectLine=function($,_e,et,tt,rt,at,nt){var it=getRoundRectangleRadius(rt,at),ot=rt/2,st=at/2,lt;{var ct=et-ot+it-nt,ut=tt-st-nt,ft=et+ot-it+nt,At=ut;if(lt=finiteLinesIntersect($,_e,et,tt,ct,ut,ft,At,!1),lt.length>0)return lt}{var vt=et+ot+nt,ht=tt-st+it-nt,bt=vt,pt=tt+st-it+nt;if(lt=finiteLinesIntersect($,_e,et,tt,vt,ht,bt,pt,!1),lt.length>0)return lt}{var dt=et-ot+it-nt,_t=tt+st+nt,Ct=et+ot-it+nt,gt=_t;if(lt=finiteLinesIntersect($,_e,et,tt,dt,_t,Ct,gt,!1),lt.length>0)return lt}{var yt=et-ot-nt,xt=tt-st+it-nt,Et=yt,It=tt+st-it+nt;if(lt=finiteLinesIntersect($,_e,et,tt,yt,xt,Et,It,!1),lt.length>0)return lt}var Tt;{var Rt=et-ot+it,Ot=tt-st+it;if(Tt=intersectLineCircle($,_e,et,tt,Rt,Ot,it+nt),Tt.length>0&&Tt[0]<=Rt&&Tt[1]<=Ot)return[Tt[0],Tt[1]]}{var Mt=et+ot-it,Bt=tt-st+it;if(Tt=intersectLineCircle($,_e,et,tt,Mt,Bt,it+nt),Tt.length>0&&Tt[0]>=Mt&&Tt[1]<=Bt)return[Tt[0],Tt[1]]}{var Lt=et+ot-it,Vt=tt+st-it;if(Tt=intersectLineCircle($,_e,et,tt,Lt,Vt,it+nt),Tt.length>0&&Tt[0]>=Lt&&Tt[1]>=Vt)return[Tt[0],Tt[1]]}{var zt=et-ot+it,Nt=tt+st-it;if(Tt=intersectLineCircle($,_e,et,tt,zt,Nt,it+nt),Tt.length>0&&Tt[0]<=zt&&Tt[1]>=Nt)return[Tt[0],Tt[1]]}return[]},inLineVicinity=function($,_e,et,tt,rt,at,nt){var it=nt,ot=Math.min(et,rt),st=Math.max(et,rt),lt=Math.min(tt,at),ct=Math.max(tt,at);return ot-it<=$&&$<=st+it&<-it<=_e&&_e<=ct+it},inBezierVicinity=function($,_e,et,tt,rt,at,nt,it,ot){var st={x1:Math.min(et,nt,rt)-ot,x2:Math.max(et,nt,rt)+ot,y1:Math.min(tt,it,at)-ot,y2:Math.max(tt,it,at)+ot};return!($st.x2||_est.y2)},solveQuadratic=function($,_e,et,tt){et-=tt;var rt=_e*_e-4*$*et;if(rt<0)return[];var at=Math.sqrt(rt),nt=2*$,it=(-_e+at)/nt,ot=(-_e-at)/nt;return[it,ot]},solveCubic=function($,_e,et,tt,rt){var at=1e-5;$===0&&($=at),_e/=$,et/=$,tt/=$;var nt,it,ot,st,lt,ct,ut,ft;if(it=(3*et-_e*_e)/9,ot=-(27*tt)+_e*(9*et-2*(_e*_e)),ot/=54,nt=it*it*it+ot*ot,rt[1]=0,ut=_e/3,nt>0){lt=ot+Math.sqrt(nt),lt=lt<0?-Math.pow(-lt,1/3):Math.pow(lt,1/3),ct=ot-Math.sqrt(nt),ct=ct<0?-Math.pow(-ct,1/3):Math.pow(ct,1/3),rt[0]=-ut+lt+ct,ut+=(lt+ct)/2,rt[4]=rt[2]=-ut,ut=Math.sqrt(3)*(-ct+lt)/2,rt[3]=ut,rt[5]=-ut;return}if(rt[5]=rt[3]=0,nt===0){ft=ot<0?-Math.pow(-ot,1/3):Math.pow(ot,1/3),rt[0]=-ut+2*ft,rt[4]=rt[2]=-(ft+ut);return}it=-it,st=it*it*it,st=Math.acos(ot/Math.sqrt(st)),ft=2*Math.sqrt(it),rt[0]=-ut+ft*Math.cos(st/3),rt[2]=-ut+ft*Math.cos((st+2*Math.PI)/3),rt[4]=-ut+ft*Math.cos((st+4*Math.PI)/3)},sqdistToQuadraticBezier=function($,_e,et,tt,rt,at,nt,it){var ot=1*et*et-4*et*rt+2*et*nt+4*rt*rt-4*rt*nt+nt*nt+tt*tt-4*tt*at+2*tt*it+4*at*at-4*at*it+it*it,st=1*9*et*rt-3*et*et-3*et*nt-6*rt*rt+3*rt*nt+9*tt*at-3*tt*tt-3*tt*it-6*at*at+3*at*it,lt=1*3*et*et-6*et*rt+et*nt-et*$+2*rt*rt+2*rt*$-nt*$+3*tt*tt-6*tt*at+tt*it-tt*_e+2*at*at+2*at*_e-it*_e,ct=1*et*rt-et*et+et*$-rt*$+tt*at-tt*tt+tt*_e-at*_e,ut=[];solveCubic(ot,st,lt,ct,ut);for(var ft=1e-7,At=[],vt=0;vt<6;vt+=2)Math.abs(ut[vt+1])=0&&ut[vt]<=1&&At.push(ut[vt]);At.push(1),At.push(0);for(var ht=-1,bt,pt,dt,_t=0;_t=0?dtot?($-rt)*($-rt)+(_e-at)*(_e-at):st-ct},pointInsidePolygonPoints=function($,_e,et){for(var tt,rt,at,nt,it,ot=0,st=0;st=$&&$>=at||tt<=$&&$<=at)it=($-tt)/(at-tt)*(nt-rt)+rt,it>_e&&ot++;else continue;return ot%2!==0},pointInsidePolygon=function($,_e,et,tt,rt,at,nt,it,ot){var st=new Array(et.length),lt;it[0]!=null?(lt=Math.atan(it[1]/it[0]),it[0]<0?lt=lt+Math.PI/2:lt=-lt-Math.PI/2):lt=it;for(var ct=Math.cos(-lt),ut=Math.sin(-lt),ft=0;ft0){var vt=expandPolygon(st,-ot);At=joinLines(vt)}else At=st;return pointInsidePolygonPoints($,_e,At)},pointInsideRoundPolygon=function($,_e,et,tt,rt,at,nt){for(var it=new Array(et.length),ot=at/2,st=nt/2,lt=getRoundPolygonRadius(at,nt),ct=lt*lt,ut=0;ut=0&&vt<=1&&bt.push(vt),ht>=0&&ht<=1&&bt.push(ht),bt.length===0)return[];var pt=bt[0]*it[0]+$,dt=bt[0]*it[1]+_e;if(bt.length>1){if(bt[0]==bt[1])return[pt,dt];var _t=bt[1]*it[0]+$,Ct=bt[1]*it[1]+_e;return[pt,dt,_t,Ct]}else return[pt,dt]},midOfThree=function($,_e,et){return _e<=$&&$<=et||et<=$&&$<=_e?$:$<=_e&&_e<=et||et<=_e&&_e<=$?_e:et},finiteLinesIntersect=function($,_e,et,tt,rt,at,nt,it,ot){var st=$-rt,lt=et-$,ct=nt-rt,ut=_e-at,ft=tt-_e,At=it-at,vt=ct*ut-At*st,ht=lt*ut-ft*st,bt=At*lt-ct*ft;if(bt!==0){var pt=vt/bt,dt=ht/bt,_t=.001,Ct=0-_t,gt=1+_t;return Ct<=pt&&pt<=gt&&Ct<=dt&&dt<=gt?[$+pt*lt,_e+pt*ft]:ot?[$+pt*lt,_e+pt*ft]:[]}else return vt===0||ht===0?midOfThree($,et,nt)===nt?[nt,it]:midOfThree($,et,rt)===rt?[rt,at]:midOfThree(rt,nt,et)===et?[et,tt]:[]:[]},polygonIntersectLine=function($,_e,et,tt,rt,at,nt,it){var ot=[],st,lt=new Array(et.length),ct=!0;at==null&&(ct=!1);var ut;if(ct){for(var ft=0;ft0){var At=expandPolygon(lt,-it);ut=joinLines(At)}else ut=lt}else ut=et;for(var vt,ht,bt,pt,dt=0;dt2){for(var Bt=[ot[0],ot[1]],Lt=Math.pow(Bt[0]-$,2)+Math.pow(Bt[1]-_e,2),Vt=1;Vtst&&(st=dt)},get:function(pt){return ot[pt]}},ct=0;ct0?Bt=Mt.edgesTo(Ot)[0]:Bt=Ot.edgesTo(Mt)[0];var Lt=tt(Bt);Ot=Ot.id(),yt[Ot]>yt[Tt]+Lt&&(yt[Ot]=yt[Tt]+Lt,xt.nodes.indexOf(Ot)<0?xt.push(Ot):xt.updateItem(Ot),gt[Ot]=0,Ct[Ot]=[]),yt[Ot]==yt[Tt]+Lt&&(gt[Ot]=gt[Ot]+gt[Tt],Ct[Ot].push(Tt))}else for(var Vt=0;Vt0;){for(var Jt=_t.pop(),nr=0;nr0&&nt.push(et[it]);nt.length!==0&&rt.push(tt.collection(nt))}return rt},isDuplicate=function($,_e){for(var et=0;et<$.length;et++)if(!_e[et]||$[et].id()!==_e[et].id())return!1;return!0},removeDuplicates=function($){for(var _e=0;_e<$.length;_e++)for(var et=0;et<$.length;et++)_e!=et&&isDuplicate($[_e],$[et])&&$.splice(et,1);return $},markovClustering=function($){for(var _e=this.nodes(),et=this.edges(),tt=this.cy(),rt=setOptions$3($),at={},nt=0;nt<_e.length;nt++)at[_e[nt].id()]=nt;for(var it=_e.length,ot=it*it,st=new Array(ot),lt,ct=0;ct5&&arguments[5]!==void 0?arguments[5]:identity$b,nt=tt,it,ot,st=0;st<$;st++)it=_e(st),ot=et(st),nt=rt(nt,it,ot);return at(nt)},distances={euclidean:function($,_e,et){return $>=2?getDistance($,_e,et,0,addSquaredDiff,sqrt$2):getDistance($,_e,et,0,addAbsDiff)},squaredEuclidean:function($,_e,et){return getDistance($,_e,et,0,addSquaredDiff)},manhattan:function($,_e,et){return getDistance($,_e,et,0,addAbsDiff)},max:function($,_e,et){return getDistance($,_e,et,-1/0,maxAbsDiff)}};distances["squared-euclidean"]=distances.squaredEuclidean;distances.squaredeuclidean=distances.squaredEuclidean;function clusteringDistance(o,$,_e,et,tt,rt){var at;return fn$6(o)?at=o:at=distances[o]||distances.euclidean,$===0&&fn$6(o)?at(tt,rt):at($,_e,et,tt,rt)}var defaults$b=defaults$g({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),setOptions$2=function($){return defaults$b($)},getDist=function($,_e,et,tt,rt){var at=rt!=="kMedoids",nt=at?function(lt){return et[lt]}:function(lt){return tt[lt](et)},it=function(ct){return tt[ct](_e)},ot=et,st=_e;return clusteringDistance($,tt.length,nt,it,ot,st)},randomCentroids=function($,_e,et){for(var tt=et.length,rt=new Array(tt),at=new Array(tt),nt=new Array(_e),it=null,ot=0;otet)return!1}return!0},seenBefore=function($,_e,et){for(var tt=0;ttnt&&(nt=_e[ot][st],it=st);rt[it].push($[ot])}for(var lt=0;lt=rt.threshold||rt.mode==="dendrogram"&&$.length===1)return!1;var ft=_e[at],At=_e[tt[at]],vt;rt.mode==="dendrogram"?vt={left:ft,right:At,key:ft.key}:vt={value:ft.value.concat(At.value),key:ft.key},$[ft.index]=vt,$.splice(At.index,1),_e[ft.key]=vt;for(var ht=0;ht<$.length;ht++){var bt=$[ht];ft.key===bt.key?it=1/0:rt.linkage==="min"?(it=et[ft.key][bt.key],et[ft.key][bt.key]>et[At.key][bt.key]&&(it=et[At.key][bt.key])):rt.linkage==="max"?(it=et[ft.key][bt.key],et[ft.key][bt.key]0&&tt.push(rt);return tt},assignClusters=function($,_e,et){for(var tt=[],rt=0;rt<$;rt++){for(var at=-1,nt=-1/0,it=0;itnt&&(at=ot,nt=_e[rt*$+ot])}at>0&&tt.push(at)}for(var st=0;stot&&(it=st,ot=lt)}et[rt]=at[it]}return tt=assignClusters($,_e,et),tt},affinityPropagation=function($){for(var _e=this.cy(),et=this.nodes(),tt=setOptions($),rt={},at=0;at=It?(Tt=It,It=Ot,Rt=Mt):Ot>Tt&&(Tt=Ot);for(var Bt=0;Bt0?1:0;gt[xt%tt.minIterations*nt+Jt]=nr,Wt+=nr}if(Wt>0&&(xt>=tt.minIterations-1||xt==tt.maxIterations-1)){for(var er=0,Xt=0;Xt1||Ct>1)&&(nt=!0),lt[pt]=[],bt.outgoers().forEach(function(yt){yt.isEdge()&<[pt].push(yt.id())})}else ct[pt]=[void 0,bt.target().id()]}):at.forEach(function(bt){var pt=bt.id();if(bt.isNode()){var dt=bt.degree(!0);dt%2&&(it?ot?nt=!0:ot=pt:it=pt),lt[pt]=[],bt.connectedEdges().forEach(function(_t){return lt[pt].push(_t.id())})}else ct[pt]=[bt.source().id(),bt.target().id()]});var ut={found:!1,trail:void 0};if(nt)return ut;if(ot&&it)if(rt){if(st&&ot!=st)return ut;st=ot}else{if(st&&ot!=st&&it!=st)return ut;st||(st=ot)}else st||(st=at[0].id());var ft=function(pt){for(var dt=pt,_t=[pt],Ct,gt,yt;lt[dt].length;)Ct=lt[dt].shift(),gt=ct[Ct][0],yt=ct[Ct][1],dt!=yt?(lt[yt]=lt[yt].filter(function(xt){return xt!=Ct}),dt=yt):!rt&&dt!=gt&&(lt[gt]=lt[gt].filter(function(xt){return xt!=Ct}),dt=gt),_t.unshift(Ct),_t.unshift(dt);return _t},At=[],vt=[];for(vt=ft(st);vt.length!=1;)lt[vt[0]].length==0?(At.unshift(at.getElementById(vt.shift())),At.unshift(at.getElementById(vt.shift()))):vt=ft(vt.shift()).concat(vt);At.unshift(at.getElementById(vt.shift()));for(var ht in lt)if(lt[ht].length)return ut;return ut.found=!0,ut.trail=this.spawn(At,!0),ut}},hopcroftTarjanBiconnected=function(){var $=this,_e={},et=0,tt=0,rt=[],at=[],nt={},it=function(ct,ut){for(var ft=at.length-1,At=[],vt=$.spawn();at[ft].x!=ct||at[ft].y!=ut;)At.push(at.pop().edge),ft--;At.push(at.pop().edge),At.forEach(function(ht){var bt=ht.connectedNodes().intersection($);vt.merge(ht),bt.forEach(function(pt){var dt=pt.id(),_t=pt.connectedEdges().intersection($);vt.merge(pt),_e[dt].cutVertex?vt.merge(_t.filter(function(Ct){return Ct.isLoop()})):vt.merge(_t)})}),rt.push(vt)},ot=function lt(ct,ut,ft){ct===ft&&(tt+=1),_e[ut]={id:et,low:et++,cutVertex:!1};var At=$.getElementById(ut).connectedEdges().intersection($);if(At.size()===0)rt.push($.spawn($.getElementById(ut)));else{var vt,ht,bt,pt;At.forEach(function(dt){vt=dt.source().id(),ht=dt.target().id(),bt=vt===ut?ht:vt,bt!==ft&&(pt=dt.id(),nt[pt]||(nt[pt]=!0,at.push({x:ut,y:bt,edge:dt})),bt in _e?_e[ut].low=Math.min(_e[ut].low,_e[bt].id):(lt(ct,bt,ut),_e[ut].low=Math.min(_e[ut].low,_e[bt].low),_e[ut].id<=_e[bt].low&&(_e[ut].cutVertex=!0,it(ut,bt))))})}};$.forEach(function(lt){if(lt.isNode()){var ct=lt.id();ct in _e||(tt=0,ot(ct,ct),_e[ct].cutVertex=tt>1)}});var st=Object.keys(_e).filter(function(lt){return _e[lt].cutVertex}).map(function(lt){return $.getElementById(lt)});return{cut:$.spawn(st),components:rt}},hopcroftTarjanBiconnected$1={hopcroftTarjanBiconnected,htbc:hopcroftTarjanBiconnected,htb:hopcroftTarjanBiconnected,hopcroftTarjanBiconnectedComponents:hopcroftTarjanBiconnected},tarjanStronglyConnected=function(){var $=this,_e={},et=0,tt=[],rt=[],at=$.spawn($),nt=function it(ot){rt.push(ot),_e[ot]={index:et,low:et++,explored:!1};var st=$.getElementById(ot).connectedEdges().intersection($);if(st.forEach(function(At){var vt=At.target().id();vt!==ot&&(vt in _e||it(vt),_e[vt].explored||(_e[ot].low=Math.min(_e[ot].low,_e[vt].low)))}),_e[ot].index===_e[ot].low){for(var lt=$.spawn();;){var ct=rt.pop();if(lt.merge($.getElementById(ct)),_e[ct].low=_e[ot].index,_e[ct].explored=!0,ct===ot)break}var ut=lt.edgesWith(lt),ft=lt.merge(ut);tt.push(ft),at=at.difference(ft)}};return $.forEach(function(it){if(it.isNode()){var ot=it.id();ot in _e||nt(ot)}}),{cut:at,components:tt}},tarjanStronglyConnected$1={tarjanStronglyConnected,tsc:tarjanStronglyConnected,tscc:tarjanStronglyConnected,tarjanStronglyConnectedComponents:tarjanStronglyConnected},elesfn$j={};[elesfn$v,elesfn$u,elesfn$t,elesfn$s,elesfn$r,elesfn$q,elesfn$p,elesfn$o,elesfn$n,elesfn$m,elesfn$l,markovClustering$1,kClustering,hierarchicalClustering$1,affinityPropagation$1,elesfn$k,hopcroftTarjanBiconnected$1,tarjanStronglyConnected$1].forEach(function(o){extend$3(elesfn$j,o)});/*! +`);ct=truncate(ct,499);const ut=getLabel(at,ot,st,rt&&rt.git,$&&$.values);return{message:at,category:lt,action:ct,label:ut,value:st}}const logTrackingCalls=()=>{const o=ReactGA.testModeAPI.calls;for(let $=0;$!!o&&o!=="0"&&o!=="false",GA=(o,$,_e)=>{const et=getAppEnvironment(),tt=et==="production",rt=et==="development",at=et==="test",nt=rt&&isTruish(shouldDebugGoogleAnalytics())||isTruish(queryString.parse(get_1$1(window,"location.search"))["ga-debug"]),it=get_1$1(o,"tracking.gaID"),ot=nt||!!get_1$1(o,"tracking.trackErrors"),st=get_1$1(o,"tracking.cookiesToDimensions"),lt=ot?singletonExports:null,ct={action:499,category:149,label:499},ut=()=>at||nt||tt&&!!it,ft=bt=>{let dt=bt;/^jaeger/i.test(dt)||(dt=`jaeger/${dt}`),dt=dt.slice(0,149),ReactGA.exception({description:dt,fatal:!1}),nt&&logTrackingCalls()},At=(bt,dt,xt,Ct)=>{const gt={category:/^jaeger/i.test(bt)?bt.slice(0,ct.category):`jaeger/${bt}`.slice(0,ct.category),action:dt.slice(0,ct.action)};xt!=null&&(typeof xt=="string"?gt.label=xt.slice(0,ct.action):gt.value=Math.round(xt)),Ct!=null&&(gt.value=Math.round(Ct)),ReactGA.event(gt),nt&&logTrackingCalls()},vt=bt=>{const{message:dt,category:xt,action:Ct,label:gt,value:wt}=convRavenToGa(bt);ft(dt),At(xt,Ct,gt,wt)};return{isEnabled:ut,init:()=>{if(!ut())return;const bt={testMode:nt,titleCase:!1,debug:!0};if(ReactGA.initialize(it||"debug-mode",bt),ReactGA.set({appId:"github.com/jaegertracing/jaeger-ui",appName:"Jaeger UI",appVersion:_e}),st!==void 0&&st.forEach(({cookie:dt,dimension:xt})=>{const Ct=` ${document.cookie}`.match(new RegExp(`[; ]${dt}=([^\\s;]*)`));Ct?ReactGA.set({[xt]:Ct[1]}):console.warn(`${dt} not present in cookies, could not set dimension: ${xt}`)}),ot){const dt={autoBreadcrumbs:{xhr:!0,console:!1,dom:!0,location:!0},environment:getAppEnvironment(),transport:vt};$&&$!=="unknown"&&(dt.tags={git:$}),singletonExports.config("https://fakedsn@omg.com/1",dt).install(),window.onunhandledrejection=function(Ct){singletonExports.captureException(Ct.reason)}}nt&&logTrackingCalls()},context:lt,trackPageView:(bt,dt)=>{const xt=dt?`${bt}${dt}`:bt;ReactGA.pageview(xt),nt&&logTrackingCalls()},trackError:ft,trackEvent:At}},NoopWebAnalytics=()=>({init:()=>{},trackPageView:()=>{},trackError:()=>{},trackEvent:()=>{},context:null,isEnabled:()=>!1}),TrackingImplementation=()=>{const o=getConfig();let $,_e;const et=getVersionInfo();{try{const at=JSON.parse(et),nt=[at.objName];at.changed.hasChanged&&nt.push(at.changed.pretty),$=nt.join(" "),_e=at.pretty}catch(at){$=et,_e=et}_e=_e.length>99?`${_e.slice(0,96)}...`:_e}let tt=NoopWebAnalytics;o.tracking&&o.tracking.customWebAnalytics?tt=o.tracking.customWebAnalytics:o.tracking&&o.tracking.gaID&&(tt=GA);const rt=tt(o,$,_e);return rt.init(),rt},tracker=TrackingImplementation();function trackPageView(o,$){return tracker.trackPageView(o,$)}function trackEvent(o,$,_e,et){return tracker.trackEvent(o,$,_e,et)}const context$2=tracker.context,isWaEnabled=tracker.isEnabled(),Page$1="",{Header:Header$3,Content}=Layout$1;class PageImpl extends reactExports.Component{componentDidMount(){const{pathname:$,search:_e}=this.props;trackPageView($,_e)}componentDidUpdate($){const{pathname:_e,search:et}=$,{pathname:tt,search:rt}=this.props;(_e!==tt||et!==rt)&&trackPageView(tt,rt)}render(){const{embedded:$}=this.props,_e=classnamesExports({"Page--content":!0,"Page--content--no-embedded":!$});return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(HelmetExport,{title:"Jaeger UI"}),jsxRuntimeExports.jsxs(Layout$1,{children:[!$&&jsxRuntimeExports.jsx(Header$3,{className:"Page--topNav",children:jsxRuntimeExports.jsx(TopNav,{})}),jsxRuntimeExports.jsx(Content,{className:_e,children:this.props.children})]})]})}}function mapStateToProps$c(o){const{embedded:$}=o,{pathname:_e,search:et}=o.router.location;return{embedded:$,pathname:_e,search:et}}const Page=withRouter$1(connect$3(mapStateToProps$c)(PageImpl)),index$I="",KeyCode={LEFT:37,UP:38,RIGHT:39,DOWN:40};function toArray$4(o){var $=[];return React$k.Children.forEach(o,function(_e){_e&&$.push(_e)}),$}function getActiveIndex(o,$){for(var _e=toArray$4(o),et=0;et<_e.length;et++)if(_e[et].key===$)return et;return-1}function setTransform(o,$){o.transform=$,o.webkitTransform=$,o.mozTransform=$}function isTransform3dSupported(o){return("transform"in o||"webkitTransform"in o||"MozTransform"in o)&&window.atob}function getTransformPropValue(o){return{transform:o,WebkitTransform:o,MozTransform:o}}function isVertical(o){return o==="left"||o==="right"}function getTransformByIndex(o,$){var _e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"ltr",et=isVertical($)?"translateY":"translateX";return!isVertical($)&&_e==="rtl"?et+"("+o*100+"%) translateZ(0)":et+"("+-o*100+"%) translateZ(0)"}function getMarginStyle(o,$){var _e=isVertical($)?"marginTop":"marginLeft";return _default$e({},_e,-o*100+"%")}function getStyle(o,$){return+window.getComputedStyle(o).getPropertyValue($).replace("px","")}function getDataAttr(o){return Object.keys(o).reduce(function($,_e){return(_e.substr(0,5)==="aria-"||_e.substr(0,5)==="data-"||_e==="role")&&($[_e]=o[_e]),$},{})}function toNum(o,$){return+o.getPropertyValue($).replace("px","")}function getTypeValue(o,$,_e,et,tt){var rt=getStyle(tt,"padding-"+o);if(!et||!et.parentNode)return rt;var at=et.parentNode.childNodes;return Array.prototype.some.call(at,function(nt){var it=window.getComputedStyle(nt);return nt!==et?(rt+=toNum(it,"margin-"+o),rt+=nt[$],rt+=toNum(it,"margin-"+_e),it.boxSizing==="content-box"&&(rt+=toNum(it,"border-"+o+"-width")+toNum(it,"border-"+_e+"-width")),!1):(rt+=toNum(it,"margin-"+o),!0)}),rt}function getLeft(o,$){return getTypeValue("left","offsetWidth","right",o,$)}function getTop(o,$){return getTypeValue("top","offsetHeight","bottom",o,$)}var SentinelContext=createReactContext({}),SentinelProvider=SentinelContext.Provider,SentinelConsumer=SentinelContext.Consumer,sentinelStyle={width:0,height:0,overflow:"hidden",position:"absolute"},Sentinel=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=0}var Tabs$1=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));_initialiseProps$3.call(et);var tt=void 0;return"activeKey"in _e?tt=_e.activeKey:"defaultActiveKey"in _e?tt=_e.defaultActiveKey:tt=getDefaultActiveKey(_e),et.state={activeKey:tt},et}return _default$b($,[{key:"componentWillUnmount",value:function(){this.destroy=!0,rafExports.cancel(this.sentinelId)}},{key:"updateSentinelContext",value:function(){var et=this;this.destroy||(rafExports.cancel(this.sentinelId),this.sentinelId=rafExports(function(){et.destroy||et.forceUpdate()}))}},{key:"render",value:function(){var et,tt=this.props,rt=tt.prefixCls,at=tt.navWrapper,nt=tt.tabBarPosition,it=tt.className,ot=tt.renderTabContent,st=tt.renderTabBar,lt=tt.destroyInactiveTabPane,ct=tt.direction,ut=_default$d(tt,["prefixCls","navWrapper","tabBarPosition","className","renderTabContent","renderTabBar","destroyInactiveTabPane","direction"]),ft=classnamesExports((et={},_default$e(et,rt,1),_default$e(et,rt+"-"+nt,1),_default$e(et,it,!!it),_default$e(et,rt+"-rtl",ct==="rtl"),et));this.tabBar=st();var At=React$k.cloneElement(this.tabBar,{prefixCls:rt,navWrapper:at,key:"tabBar",onKeyDown:this.onNavKeyDown,tabBarPosition:nt,onTabClick:this.onTabClick,panels:tt.children,activeKey:this.state.activeKey,direction:this.props.direction}),vt=React$k.cloneElement(ot(),{prefixCls:rt,tabBarPosition:nt,activeKey:this.state.activeKey,destroyInactiveTabPane:lt,children:tt.children,onChange:this.setActiveKey,key:"tabContent",direction:this.props.direction}),ht=React$k.createElement(Sentinel,{key:"sentinelStart",setRef:this.setSentinelStart,nextElement:this.panelSentinelStart}),mt=React$k.createElement(Sentinel,{key:"sentinelEnd",setRef:this.setSentinelEnd,prevElement:this.panelSentinelEnd}),bt=[];return nt==="bottom"?bt.push(ht,vt,mt,At):bt.push(At,ht,vt,mt),React$k.createElement(SentinelProvider,{value:{sentinelStart:this.sentinelStart,sentinelEnd:this.sentinelEnd,setPanelSentinelStart:this.setPanelSentinelStart,setPanelSentinelEnd:this.setPanelSentinelEnd}},React$k.createElement("div",_default$bE({className:ft,style:tt.style},getDataAttr(ut),{onScroll:this.onScroll}),bt))}}],[{key:"getDerivedStateFromProps",value:function(et,tt){var rt={};return"activeKey"in et?rt.activeKey=et.activeKey:activeKeyIsValid(et,tt.activeKey)||(rt.activeKey=getDefaultActiveKey(et)),Object.keys(rt).length>0?rt:null}}]),$}(React$k.Component),_initialiseProps$3=function(){var $=this;this.onTabClick=function(_e,et){$.tabBar.props.onTabClick&&$.tabBar.props.onTabClick(_e,et),$.setActiveKey(_e)},this.onNavKeyDown=function(_e){var et=_e.keyCode;if(et===KeyCode.RIGHT||et===KeyCode.DOWN){_e.preventDefault();var tt=$.getNextActiveKey(!0);$.onTabClick(tt)}else if(et===KeyCode.LEFT||et===KeyCode.UP){_e.preventDefault();var rt=$.getNextActiveKey(!1);$.onTabClick(rt)}},this.onScroll=function(_e){var et=_e.target,tt=_e.currentTarget;et===tt&&et.scrollLeft>0&&(et.scrollLeft=0)},this.setSentinelStart=function(_e){$.sentinelStart=_e},this.setSentinelEnd=function(_e){$.sentinelEnd=_e},this.setPanelSentinelStart=function(_e){_e!==$.panelSentinelStart&&$.updateSentinelContext(),$.panelSentinelStart=_e},this.setPanelSentinelEnd=function(_e){_e!==$.panelSentinelEnd&&$.updateSentinelContext(),$.panelSentinelEnd=_e},this.setActiveKey=function(_e){$.state.activeKey!==_e&&("activeKey"in $.props||$.setState({activeKey:_e}),$.props.onChange(_e))},this.getNextActiveKey=function(_e){var et=$.state.activeKey,tt=[];React$k.Children.forEach($.props.children,function(nt){nt&&!nt.props.disabled&&(_e?tt.push(nt):tt.unshift(nt))});var rt=tt.length,at=rt&&tt[0].key;return tt.forEach(function(nt,it){nt.key===et&&(it===rt-1?at=tt[0].key:at=tt[it+1].key)}),at}};Tabs$1.propTypes={destroyInactiveTabPane:propTypesExports.bool,renderTabBar:propTypesExports.func.isRequired,renderTabContent:propTypesExports.func.isRequired,navWrapper:propTypesExports.func,onChange:propTypesExports.func,children:propTypesExports.node,prefixCls:propTypesExports.string,className:propTypesExports.string,tabBarPosition:propTypesExports.string,style:propTypesExports.object,activeKey:propTypesExports.string,defaultActiveKey:propTypesExports.string,direction:propTypesExports.string};Tabs$1.defaultProps={prefixCls:"rc-tabs",destroyInactiveTabPane:!1,onChange:noop$d,navWrapper:function($){return $},tabBarPosition:"top",children:null,style:{},direction:"ltr"};Tabs$1.TabPane=TabPane$2;polyfill(Tabs$1);var TabContent=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"getTabPanes",value:function(){var et=this.props,tt=et.activeKey,rt=et.children,at=[];return React$k.Children.forEach(rt,function(nt){if(nt){var it=nt.key,ot=tt===it;at.push(React$k.cloneElement(nt,{active:ot,destroyInactiveTabPane:et.destroyInactiveTabPane,rootPrefixCls:et.prefixCls}))}}),at}},{key:"render",value:function(){var et,tt=this.props,rt=tt.prefixCls,at=tt.children,nt=tt.activeKey,it=tt.className,ot=tt.tabBarPosition,st=tt.animated,lt=tt.animatedWithMargin,ct=tt.direction,ut=tt.style,ft=classnamesExports((et={},_default$e(et,rt+"-content",!0),_default$e(et,st?rt+"-content-animated":rt+"-content-no-animated",!0),et),it);if(st){var At=getActiveIndex(at,nt);if(At!==-1){var vt=lt?getMarginStyle(At,ot):getTransformPropValue(getTransformByIndex(At,ot,ct));ut=_default$bE({},ut,vt)}else ut=_default$bE({},ut,{display:"none"})}return React$k.createElement("div",{className:ft,style:ut},this.getTabPanes())}}]),$}(React$k.Component);TabContent.propTypes={animated:propTypesExports.bool,animatedWithMargin:propTypesExports.bool,prefixCls:propTypesExports.string,children:propTypesExports.node,activeKey:propTypesExports.string,style:propTypesExports.any,tabBarPosition:propTypesExports.string,className:propTypesExports.string,destroyInactiveTabPane:propTypesExports.bool,direction:propTypesExports.string};TabContent.defaultProps={animated:!0};function _componentDidUpdate(o,$){var _e=o.props,et=_e.styles,tt=_e.panels,rt=_e.activeKey,at=_e.direction,nt=o.props.getRef("root"),it=o.props.getRef("nav")||nt,ot=o.props.getRef("inkBar"),st=o.props.getRef("activeTab"),lt=ot.style,ct=o.props.tabBarPosition,ut=getActiveIndex(tt,rt);if($&&(lt.display="none"),st){var ft=st,At=isTransform3dSupported(lt);if(setTransform(lt,""),lt.width="",lt.height="",lt.left="",lt.top="",lt.bottom="",lt.right="",ct==="top"||ct==="bottom"){var vt=getLeft(ft,it),ht=ft.offsetWidth;ht===nt.offsetWidth?ht=0:et.inkBar&&et.inkBar.width!==void 0&&(ht=parseFloat(et.inkBar.width,10),ht&&(vt+=(ft.offsetWidth-ht)/2)),at==="rtl"&&(vt=getStyle(ft,"margin-left")-vt),At?setTransform(lt,"translate3d("+vt+"px,0,0)"):lt.left=vt+"px",lt.width=ht+"px"}else{var mt=getTop(ft,it),bt=ft.offsetHeight;et.inkBar&&et.inkBar.height!==void 0&&(bt=parseFloat(et.inkBar.height,10),bt&&(mt+=(ft.offsetHeight-bt)/2)),At?(setTransform(lt,"translate3d(0,"+mt+"px,0)"),lt.top="0"):lt.top=mt+"px",lt.height=bt+"px"}}lt.display=ut!==-1?"block":"none"}var InkTabBarNode=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"componentDidMount",value:function(){var et=this;this.timeout=setTimeout(function(){_componentDidUpdate(et,!0)},0)}},{key:"componentDidUpdate",value:function(){_componentDidUpdate(this)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.timeout)}},{key:"render",value:function(){var et,tt=this.props,rt=tt.prefixCls,at=tt.styles,nt=tt.inkBarAnimated,it=rt+"-ink-bar",ot=classnamesExports((et={},_default$e(et,it,!0),_default$e(et,nt?it+"-animated":it+"-no-animated",!0),et));return React$k.createElement("div",{style:at.inkBar,className:ot,key:"inkBar",ref:this.props.saveRef("inkBar")})}}]),$}(React$k.Component);InkTabBarNode.propTypes={prefixCls:propTypesExports.string,styles:propTypesExports.object,inkBarAnimated:propTypesExports.bool,saveRef:propTypesExports.func,direction:propTypesExports.string};InkTabBarNode.defaultProps={prefixCls:"",inkBarAnimated:!0,styles:{},saveRef:function(){}};var TabBarTabsNode=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"render",value:function(){var et=this,tt=this.props,rt=tt.panels,at=tt.activeKey,nt=tt.prefixCls,it=tt.tabBarGutter,ot=tt.saveRef,st=tt.tabBarPosition,lt=tt.renderTabBarNode,ct=tt.direction,ut=[];return React$k.Children.forEach(rt,function(ft,At){if(ft){var vt=ft.key,ht=at===vt?nt+"-tab-active":"";ht+=" "+nt+"-tab";var mt={};ft.props.disabled?ht+=" "+nt+"-tab-disabled":mt={onClick:et.props.onTabClick.bind(et,vt)};var bt={};at===vt&&(bt.ref=ot("activeTab"));var dt=it&&At===rt.length-1?0:it,xt=ct==="rtl"?"marginLeft":"marginRight",Ct=_default$e({},isVertical(st)?"marginBottom":xt,dt);warning_1$3("tab"in ft.props);var gt=React$k.createElement("div",_default$bE({role:"tab","aria-disabled":ft.props.disabled?"true":"false","aria-selected":at===vt?"true":"false"},mt,{className:ht,key:vt,style:Ct},bt),ft.props.tab);lt&&(gt=lt(gt)),ut.push(gt)}}),React$k.createElement("div",{ref:ot("navTabsContainer")},ut)}}]),$}(React$k.Component);TabBarTabsNode.propTypes={activeKey:propTypesExports.string,panels:propTypesExports.node,prefixCls:propTypesExports.string,tabBarGutter:propTypesExports.number,onTabClick:propTypesExports.func,saveRef:propTypesExports.func,renderTabBarNode:propTypesExports.func,tabBarPosition:propTypesExports.string,direction:propTypesExports.string};TabBarTabsNode.defaultProps={panels:[],prefixCls:[],tabBarGutter:null,onTabClick:function(){},saveRef:function(){}};var TabBarRootNode=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _default$b($,[{key:"render",value:function(){var et=this.props,tt=et.prefixCls,rt=et.onKeyDown,at=et.className,nt=et.extraContent,it=et.style,ot=et.tabBarPosition,st=et.children,lt=_default$d(et,["prefixCls","onKeyDown","className","extraContent","style","tabBarPosition","children"]),ct=classnamesExports(tt+"-bar",_default$e({},at,!!at)),ut=ot==="top"||ot==="bottom",ft=ut?{float:"right"}:{},At=nt&&nt.props?nt.props.style:{},vt=st;return nt&&(vt=[reactExports.cloneElement(nt,{key:"extra",style:_default$bE({},ft,At)}),reactExports.cloneElement(st,{key:"content"})],vt=ut?vt:vt.reverse()),React$k.createElement("div",_default$bE({role:"tablist",className:ct,tabIndex:"0",ref:this.props.saveRef("root"),onKeyDown:rt,style:it},getDataAttr(lt)),vt)}}]),$}(React$k.Component);TabBarRootNode.propTypes={prefixCls:propTypesExports.string,className:propTypesExports.string,style:propTypesExports.object,tabBarPosition:propTypesExports.oneOf(["left","right","top","bottom"]),children:propTypesExports.node,extraContent:propTypesExports.node,onKeyDown:propTypesExports.func,saveRef:propTypesExports.func};TabBarRootNode.defaultProps={prefixCls:"",className:"",style:{},tabBarPosition:"top",extraContent:null,children:null,onKeyDown:function(){},saveRef:function(){}};var root$4=_root,now$5=function(){return root$4.Date.now()},now_1=now$5,reWhitespace=/\s/;function trimmedEndIndex$1(o){for(var $=o.length;$--&&reWhitespace.test(o.charAt($)););return $}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(o){return o&&o.slice(0,trimmedEndIndex(o)+1).replace(reTrimStart,"")}var _baseTrim=baseTrim$1,baseTrim=_baseTrim,isObject$e=isObject_1,isSymbol$2=isSymbol_1,NAN=0/0,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$4(o){if(typeof o=="number")return o;if(isSymbol$2(o))return NAN;if(isObject$e(o)){var $=typeof o.valueOf=="function"?o.valueOf():o;o=isObject$e($)?$+"":$}if(typeof o!="string")return o===0?o:+o;o=baseTrim(o);var _e=reIsBinary.test(o);return _e||reIsOctal.test(o)?freeParseInt(o.slice(2),_e?2:8):reIsBadHex.test(o)?NAN:+o}var toNumber_1=toNumber$4,isObject$d=isObject_1,now$4=now_1,toNumber$3=toNumber_1,FUNC_ERROR_TEXT$1="Expected a function",nativeMax$2=Math.max,nativeMin$1=Math.min;function debounce$3(o,$,_e){var et,tt,rt,at,nt,it,ot=0,st=!1,lt=!1,ct=!0;if(typeof o!="function")throw new TypeError(FUNC_ERROR_TEXT$1);$=toNumber$3($)||0,isObject$d(_e)&&(st=!!_e.leading,lt="maxWait"in _e,rt=lt?nativeMax$2(toNumber$3(_e.maxWait)||0,$):rt,ct="trailing"in _e?!!_e.trailing:ct);function ut(Ct){var gt=et,wt=tt;return et=tt=void 0,ot=Ct,at=o.apply(wt,gt),at}function ft(Ct){return ot=Ct,nt=setTimeout(ht,$),st?ut(Ct):at}function At(Ct){var gt=Ct-it,wt=Ct-ot,_t=$-gt;return lt?nativeMin$1(_t,rt-wt):_t}function vt(Ct){var gt=Ct-it,wt=Ct-ot;return it===void 0||gt>=$||gt<0||lt&&wt>=rt}function ht(){var Ct=now$4();if(vt(Ct))return mt(Ct);nt=setTimeout(ht,At(Ct))}function mt(Ct){return nt=void 0,ct&&et?ut(Ct):(et=tt=void 0,at)}function bt(){nt!==void 0&&clearTimeout(nt),ot=0,et=it=tt=nt=void 0}function dt(){return nt===void 0?at:mt(now$4())}function xt(){var Ct=now$4(),gt=vt(Ct);if(et=arguments,tt=this,it=Ct,gt){if(nt===void 0)return ft(it);if(lt)return clearTimeout(nt),nt=setTimeout(ht,$),ut(it)}return nt===void 0&&(nt=setTimeout(ht,$)),at}return xt.cancel=bt,xt.flush=dt,xt}var debounce_1=debounce$3,ScrollableTabBarNode=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et.prevTransitionEnd=function(tt){if(tt.propertyName==="opacity"){var rt=et.props.getRef("container");et.scrollToActiveTab({target:rt,currentTarget:rt})}},et.scrollToActiveTab=function(tt){var rt=et.props.getRef("activeTab"),at=et.props.getRef("navWrap");if(!(tt&&tt.target!==tt.currentTarget||!rt)){var nt=et.isNextPrevShown()&&et.lastNextPrevShown;if(et.lastNextPrevShown=et.isNextPrevShown(),!!nt){var it=et.getScrollWH(rt),ot=et.getOffsetWH(at),st=et.offset,lt=et.getOffsetLT(at),ct=et.getOffsetLT(rt);lt>ct?(st+=lt-ct,et.setOffset(st)):lt+ot=0)lt=!1,this.setOffset(0,!1),it=0;else if(ot1&&arguments[1]!==void 0?arguments[1]:!0,rt=Math.min(0,et);if(this.offset!==rt){this.offset=rt;var at={},nt=this.props.tabBarPosition,it=this.props.getRef("nav").style,ot=isTransform3dSupported(it);nt==="left"||nt==="right"?ot?at={value:"translate3d(0,"+rt+"px,0)"}:at={name:"top",value:rt+"px"}:ot?(this.props.direction==="rtl"&&(rt=-rt),at={value:"translate3d("+rt+"px,0,0)"}):at={name:"left",value:rt+"px"},ot?setTransform(it,at.value):it[at.name]=at.value,tt&&this.setNextPrev()}}},{key:"setPrev",value:function(et){this.state.prev!==et&&this.setState({prev:et})}},{key:"setNext",value:function(et){this.state.next!==et&&this.setState({next:et})}},{key:"isNextPrevShown",value:function(et){return et?et.next||et.prev:this.state.next||this.state.prev}},{key:"render",value:function(){var et,tt,rt,at,nt=this.state,it=nt.next,ot=nt.prev,st=this.props,lt=st.prefixCls,ct=st.scrollAnimated,ut=st.navWrapper,ft=st.prevIcon,At=st.nextIcon,vt=ot||it,ht=React$k.createElement("span",{onClick:ot?this.prev:null,unselectable:"unselectable",className:classnamesExports((et={},_default$e(et,lt+"-tab-prev",1),_default$e(et,lt+"-tab-btn-disabled",!ot),_default$e(et,lt+"-tab-arrow-show",vt),et)),onTransitionEnd:this.prevTransitionEnd},ft||React$k.createElement("span",{className:lt+"-tab-prev-icon"})),mt=React$k.createElement("span",{onClick:it?this.next:null,unselectable:"unselectable",className:classnamesExports((tt={},_default$e(tt,lt+"-tab-next",1),_default$e(tt,lt+"-tab-btn-disabled",!it),_default$e(tt,lt+"-tab-arrow-show",vt),tt))},At||React$k.createElement("span",{className:lt+"-tab-next-icon"})),bt=lt+"-nav",dt=classnamesExports((rt={},_default$e(rt,bt,!0),_default$e(rt,ct?bt+"-animated":bt+"-no-animated",!0),rt));return React$k.createElement("div",{className:classnamesExports((at={},_default$e(at,lt+"-nav-container",1),_default$e(at,lt+"-nav-container-scrolling",vt),at)),key:"container",ref:this.props.saveRef("container")},ht,mt,React$k.createElement("div",{className:lt+"-nav-wrap",ref:this.props.saveRef("navWrap")},React$k.createElement("div",{className:lt+"-nav-scroll"},React$k.createElement("div",{className:dt,ref:this.props.saveRef("nav")},ut(this.props.children)))))}}]),$}(React$k.Component);ScrollableTabBarNode.propTypes={activeKey:propTypesExports.string,getRef:propTypesExports.func.isRequired,saveRef:propTypesExports.func.isRequired,tabBarPosition:propTypesExports.oneOf(["left","right","top","bottom"]),prefixCls:propTypesExports.string,scrollAnimated:propTypesExports.bool,onPrevClick:propTypesExports.func,onNextClick:propTypesExports.func,navWrapper:propTypesExports.func,children:propTypesExports.node,prevIcon:propTypesExports.node,nextIcon:propTypesExports.node,direction:propTypesExports.node};ScrollableTabBarNode.defaultProps={tabBarPosition:"left",prefixCls:"",scrollAnimated:!0,onPrevClick:function(){},onNextClick:function(){},navWrapper:function($){return $}};var SaveRef=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$Q(o){return _getPrototypeOf$Q=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$Q(o)}var TabBar=function(o){_inherits$1v(_e,o);var $=_createSuper$I(_e);function _e(){return _classCallCheck$1x(this,_e),$.apply(this,arguments)}return _createClass$1s(_e,[{key:"render",value:function(){var tt,rt=this.props,at=rt.tabBarStyle,nt=rt.animated,it=rt.renderTabBar,ot=rt.tabBarExtraContent,st=rt.tabPosition,lt=rt.prefixCls,ct=rt.className,ut=rt.size,ft=rt.type,At=_typeof$J(nt)==="object"?nt.inkBar:nt,vt=st==="left"||st==="right",ht=vt?"up":"left",mt=vt?"down":"right",bt=reactExports.createElement("span",{className:"".concat(lt,"-tab-prev-icon")},reactExports.createElement(Icon$1,{type:ht,className:"".concat(lt,"-tab-prev-icon-target")})),dt=reactExports.createElement("span",{className:"".concat(lt,"-tab-next-icon")},reactExports.createElement(Icon$1,{type:mt,className:"".concat(lt,"-tab-next-icon-target")})),xt=classNames("".concat(lt,"-").concat(st,"-bar"),(tt={},_defineProperty$O(tt,"".concat(lt,"-").concat(ut,"-bar"),!!ut),_defineProperty$O(tt,"".concat(lt,"-card-bar"),ft&&ft.indexOf("card")>=0),tt),ct),Ct=_extends$1G(_extends$1G({},this.props),{children:null,inkBarAnimated:At,extraContent:ot,style:at,prevIcon:bt,nextIcon:dt,className:xt}),gt;return it?gt=it(Ct,ScrollableInkTabBar):gt=reactExports.createElement(ScrollableInkTabBar,Ct),reactExports.cloneElement(gt)}}]),_e}(reactExports.Component);TabBar.defaultProps={animated:!0,type:"line"};var isStyleSupport=function($){if(typeof window<"u"&&window.document&&window.document.documentElement){var _e=Array.isArray($)?$:[$],et=window.document.documentElement;return _e.some(function(tt){return tt in et.style})}return!1},isFlexSupported=isStyleSupport(["flex","webkitFlex","Flex","msFlex"]);function _extends$1F(){return _extends$1F=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$P(o){return _getPrototypeOf$P=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$P(o)}var __rest$q=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=0&&(lt==="small"||lt==="large")),"Tabs","`type=card|editable-card` doesn't have small or large size, it's by design.");var xt=at("tabs",it),Ct=classNames(st,(rt={},_defineProperty$N(rt,"".concat(xt,"-vertical"),ft==="left"||ft==="right"),_defineProperty$N(rt,"".concat(xt,"-").concat(lt),!!lt),_defineProperty$N(rt,"".concat(xt,"-card"),ut.indexOf("card")>=0),_defineProperty$N(rt,"".concat(xt,"-").concat(ut),!0),_defineProperty$N(rt,"".concat(xt,"-no-animation"),!dt),rt)),gt=[];ut==="editable-card"&&(gt=[],reactExports.Children.forEach(At,function(Et,It){if(!reactExports.isValidElement(Et))return Et;var Tt=Et.props.closable;Tt=typeof Tt>"u"?!0:Tt;var Rt=Tt?reactExports.createElement(Icon$1,{type:"close",className:"".concat(xt,"-close-x"),onClick:function(Mt){return et.removeTab(Et.key,Mt)}}):null;gt.push(reactExports.cloneElement(Et,{tab:reactExports.createElement("div",{className:Tt?void 0:"".concat(xt,"-tab-unclosable")},Et.props.tab,Rt),key:Et.key||It}))}),mt||(bt=reactExports.createElement("span",null,reactExports.createElement(Icon$1,{type:"plus",className:"".concat(xt,"-new-tab"),onClick:et.createNewTab}),bt))),bt=bt?reactExports.createElement("div",{className:"".concat(xt,"-extra-content")},bt):null;var wt=__rest$q(et.props,[]),_t=classNames("".concat(xt,"-").concat(ft,"-content"),ut.indexOf("card")>=0&&"".concat(xt,"-card-content"));return reactExports.createElement(Tabs$1,_extends$1F({},et.props,{prefixCls:xt,className:Ct,tabBarPosition:ft,renderTabBar:function(){return reactExports.createElement(TabBar,_extends$1F({},omit(wt,["className"]),{tabBarExtraContent:bt}))},renderTabContent:function(){return reactExports.createElement(TabContent,{className:_t,animated:dt,animatedWithMargin:!0})},onChange:et.handleChange}),gt.length>0?gt:At)},et}return _createClass$1r(_e,[{key:"componentDidMount",value:function(){var tt=" no-flex",rt=reactDomExports.findDOMNode(this);rt&&!isFlexSupported&&rt.className.indexOf(tt)===-1&&(rt.className+=tt)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderTabs)}}]),_e}(reactExports.Component);Tabs.TabPane=TabPane$2;Tabs.defaultProps={hideAdd:!1,tabPosition:"top"};var heapExports$1={},heap$1={get exports(){return heapExports$1},set exports(o){heapExports$1=o}},heapExports={},heap={get exports(){return heapExports},set exports(o){heapExports=o}};(function(o,$){(function(){var _e,et,tt,rt,at,nt,it,ot,st,lt,ct,ut,ft,At,vt;tt=Math.floor,lt=Math.min,et=function(ht,mt){return htmt?1:0},st=function(ht,mt,bt,dt,xt){var Ct;if(bt==null&&(bt=0),xt==null&&(xt=et),bt<0)throw new Error("lo must be non-negative");for(dt==null&&(dt=ht.length);btEt;0<=Et?_t++:_t--)wt.push(_t);return wt}.apply(this).reverse(),gt=[],dt=0,xt=Ct.length;dtIt;0<=It?++wt:--wt)Tt.push(at(ht,bt));return Tt},At=function(ht,mt,bt,dt){var xt,Ct,gt;for(dt==null&&(dt=et),xt=ht[bt];bt>mt;){if(gt=bt-1>>1,Ct=ht[gt],dt(xt,Ct)<0){ht[bt]=Ct,bt=gt;continue}break}return ht[bt]=xt},vt=function(ht,mt,bt){var dt,xt,Ct,gt,wt;for(bt==null&&(bt=et),xt=ht.length,wt=mt,Ct=ht[mt],dt=2*mt+1;dto.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _nonIterableRest$1(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var window$1=typeof window>"u"?null:window,navigator$2=window$1?window$1.navigator:null;window$1&&window$1.document;var typeofstr=_typeof$H(""),typeofobj=_typeof$H({}),typeoffn=_typeof$H(function(){}),typeofhtmlele=typeof HTMLElement>"u"?"undefined":_typeof$H(HTMLElement),instanceStr=function($){return $&&$.instanceString&&fn$6($.instanceString)?$.instanceString():null},string$1=function($){return $!=null&&_typeof$H($)==typeofstr},fn$6=function($){return $!=null&&_typeof$H($)===typeoffn},array$4=function($){return!elementOrCollection($)&&(Array.isArray?Array.isArray($):$!=null&&$ instanceof Array)},plainObject=function($){return $!=null&&_typeof$H($)===typeofobj&&!array$4($)&&$.constructor===Object},object$1=function($){return $!=null&&_typeof$H($)===typeofobj},number$1$1=function($){return $!=null&&_typeof$H($)===_typeof$H(1)&&!isNaN($)},integer=function($){return number$1$1($)&&Math.floor($)===$},htmlElement=function($){if(typeofhtmlele!=="undefined")return $!=null&&$ instanceof HTMLElement},elementOrCollection=function($){return element($)||collection($)},element=function($){return instanceStr($)==="collection"&&$._private.single},collection=function($){return instanceStr($)==="collection"&&!$._private.single},core$2=function($){return instanceStr($)==="core"},stylesheet=function($){return instanceStr($)==="stylesheet"},event=function($){return instanceStr($)==="event"},emptyString=function($){return $==null?!0:!!($===""||$.match(/^\s+$/))},domElement=function($){return typeof HTMLElement>"u"?!1:$ instanceof HTMLElement},boundingBox=function($){return plainObject($)&&number$1$1($.x1)&&number$1$1($.x2)&&number$1$1($.y1)&&number$1$1($.y2)},promise$3=function($){return object$1($)&&fn$6($.then)},ms=function(){return navigator$2&&navigator$2.userAgent.match(/msie|trident|edge/i)},memoize$1=function($,_e){_e||(_e=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var rt=[],at=0;at_e?1:0},descending$2=function($,_e){return-1*ascending$4($,_e)},extend$3=Object.assign!=null?Object.assign.bind(Object):function(o){for(var $=arguments,_e=1;_e<$.length;_e++){var et=$[_e];if(et!=null)for(var tt=Object.keys(et),rt=0;rt1&&(vt-=1),vt<1/6?ft+(At-ft)*6*vt:vt<1/2?At:vt<2/3?ft+(At-ft)*(2/3-vt)*6:ft}var lt=new RegExp("^"+hsla$3+"$").exec($);if(lt){if(et=parseInt(lt[1]),et<0?et=(360- -1*et%360)%360:et>360&&(et=et%360),et/=360,tt=parseFloat(lt[2]),tt<0||tt>100||(tt=tt/100,rt=parseFloat(lt[3]),rt<0||rt>100)||(rt=rt/100,at=lt[4],at!==void 0&&(at=parseFloat(at),at<0||at>1)))return;if(tt===0)nt=it=ot=Math.round(rt*255);else{var ct=rt<.5?rt*(1+tt):rt+tt-rt*tt,ut=2*rt-ct;nt=Math.round(255*st(ut,ct,et+1/3)),it=Math.round(255*st(ut,ct,et)),ot=Math.round(255*st(ut,ct,et-1/3))}_e=[nt,it,ot,at]}return _e},rgb2tuple=function($){var _e,et=new RegExp("^"+rgba$3+"$").exec($);if(et){_e=[];for(var tt=[],rt=1;rt<=3;rt++){var at=et[rt];if(at[at.length-1]==="%"&&(tt[rt]=!0),at=parseFloat(at),tt[rt]&&(at=at/100*255),at<0||at>255)return;_e.push(Math.floor(at))}var nt=tt[1]||tt[2]||tt[3],it=tt[1]&&tt[2]&&tt[3];if(nt&&!it)return;var ot=et[4];if(ot!==void 0){if(ot=parseFloat(ot),ot<0||ot>1)return;_e.push(ot)}}return _e},colorname2tuple=function($){return colors$1[$.toLowerCase()]},color2tuple=function($){return(array$4($)?$:null)||colorname2tuple($)||hex2tuple($)||rgb2tuple($)||hsl2tuple($)},colors$1={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},setMap=function($){for(var _e=$.map,et=$.keys,tt=et.length,rt=0;rt1&&arguments[1]!==void 0?arguments[1]:DEFAULT_HASH_SEED,et=_e,tt;tt=$.next(),!tt.done;)et=et*K$1+tt.value|0;return et},hashInt=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:DEFAULT_HASH_SEED;return _e*K$1+$|0},hashIntAlt=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:DEFAULT_HASH_SEED_ALT;return(_e<<5)+_e+$|0},combineHashes=function($,_e){return $*2097152+_e},combineHashesArray=function($){return $[0]*2097152+$[1]},hashArrays=function($,_e){return[hashInt($[0],_e[0]),hashIntAlt($[1],_e[1])]},hashIntsArray=function($,_e){var et={value:0,done:!1},tt=0,rt=$.length,at={next:function(){return tt=0&&!($[tt]===_e&&($.splice(tt,1),et));tt--);},clearArray=function($){$.splice(0,$.length)},push=function($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];$.push(tt)}},getPrefixedProperty=function($,_e,et){return et&&(_e=prependCamel(et,_e)),$[_e]},setPrefixedProperty=function($,_e,et,tt){et&&(_e=prependCamel(et,_e)),$[_e]=tt},ObjectMap=function(){function o(){_classCallCheck$1v(this,o),this._obj={}}return _createClass$1q(o,[{key:"set",value:function(_e,et){return this._obj[_e]=et,this}},{key:"delete",value:function(_e){return this._obj[_e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(_e){return this._obj[_e]!==void 0}},{key:"get",value:function(_e){return this._obj[_e]}}]),o}(),Map$1$1=typeof Map<"u"?Map:ObjectMap,undef="undefined",ObjectSet=function(){function o($){if(_classCallCheck$1v(this,o),this._obj=Object.create(null),this.size=0,$!=null){var _e;$.instanceString!=null&&$.instanceString()===this.instanceString()?_e=$.toArray():_e=$;for(var et=0;et<_e.length;et++)this.add(_e[et])}}return _createClass$1q(o,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(_e){var et=this._obj;et[_e]!==1&&(et[_e]=1,this.size++)}},{key:"delete",value:function(_e){var et=this._obj;et[_e]===1&&(et[_e]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(_e){return this._obj[_e]===1}},{key:"toArray",value:function(){var _e=this;return Object.keys(this._obj).filter(function(et){return _e.has(et)})}},{key:"forEach",value:function(_e,et){return this.toArray().forEach(_e,et)}}]),o}(),Set$1$1=(typeof Set>"u"?"undefined":_typeof$H(Set))!==undef?Set:ObjectSet,Element$1=function($,_e){var et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if($===void 0||_e===void 0||!core$2($)){error("An element must have a core reference and parameters set");return}var tt=_e.group;if(tt==null&&(_e.data&&_e.data.source!=null&&_e.data.target!=null?tt="edges":tt="nodes"),tt!=="nodes"&&tt!=="edges"){error("An element must be of type `nodes` or `edges`; you specified `"+tt+"`");return}this.length=1,this[0]=this;var rt=this._private={cy:$,single:!0,data:_e.data||{},position:_e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:tt,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!_e.selected,selectable:_e.selectable===void 0?!0:!!_e.selectable,locked:!!_e.locked,grabbed:!1,grabbable:_e.grabbable===void 0?!0:!!_e.grabbable,pannable:_e.pannable===void 0?tt==="edges":!!_e.pannable,active:!1,classes:new Set$1$1,animation:{current:[],queue:[]},rscratch:{},scratch:_e.scratch||{},edges:[],children:[],parent:_e.parent&&_e.parent.isNode()?_e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(rt.position.x==null&&(rt.position.x=0),rt.position.y==null&&(rt.position.y=0),_e.renderedPosition){var at=_e.renderedPosition,nt=$.pan(),it=$.zoom();rt.position={x:(at.x-nt.x)/it,y:(at.y-nt.y)/it}}var ot=[];array$4(_e.classes)?ot=_e.classes:string$1(_e.classes)&&(ot=_e.classes.split(/\s+/));for(var st=0,lt=ot.length;st0;){var Ct=mt.pop(),gt=vt(Ct),wt=Ct.id();if(ct[wt]=gt,gt!==1/0)for(var _t=Ct.neighborhood().intersect(ft),Et=0;Et<_t.length;Et++){var It=_t[Et],Tt=It.id(),Rt=xt(Ct,It),Ot=gt+Rt.dist;Ot0)for(jt.unshift(Lt);lt[Nt];){var Wt=lt[Nt];jt.unshift(Wt.edge),jt.unshift(Wt.node),zt=Wt.node,Nt=zt.id()}return nt.spawn(jt)}}}},elesfn$t={kruskal:function($){$=$||function(bt){return 1};for(var _e=this.byGroup(),et=_e.nodes,tt=_e.edges,rt=et.length,at=new Array(rt),nt=et,it=function(dt){for(var xt=0;xt0;){if(xt(),gt++,dt===st){for(var wt=[],_t=rt,Et=st,It=ht[Et];wt.unshift(_t),It!=null&&wt.unshift(It),_t=vt[Et],_t!=null;)Et=_t.id(),It=ht[Et];return{found:!0,distance:lt[dt],path:this.spawn(wt),steps:gt}}ut[dt]=!0;for(var Tt=bt._private.edges,Rt=0;RtIt&&(ft[Et]=It,mt[Et]=_t,bt[Et]=xt),!rt){var Tt=_t*st+wt;!rt&&ft[Tt]>It&&(ft[Tt]=It,mt[Tt]=wt,bt[Tt]=xt)}}}for(var Rt=0;Rt1&&arguments[1]!==void 0?arguments[1]:at,na=bt(Or),ba=[],qr=na;;){if(qr==null)return _e.spawn();var Pr=mt(qr),ur=Pr.edge,Sr=Pr.pred;if(ba.unshift(qr[0]),qr.same(Lr)&&ba.length>0)break;ur!=null&&ba.unshift(ur),qr=Sr}return it.spawn(ba)},Ct=0;Ct=0;st--){var lt=ot[st],ct=lt[1],ut=lt[2];(_e[ct]===nt&&_e[ut]===it||_e[ct]===it&&_e[ut]===nt)&&ot.splice(st,1)}for(var ft=0;fttt;){var rt=Math.floor(Math.random()*_e.length);_e=collapse(rt,$,_e),et--}return _e},elesfn$p={kargerStein:function(){var $=this,_e=this.byGroup(),et=_e.nodes,tt=_e.edges;tt.unmergeBy(function(jt){return jt.isLoop()});var rt=et.length,at=tt.length,nt=Math.ceil(Math.pow(Math.log(rt)/Math.LN2,2)),it=Math.floor(rt/sqrt2);if(rt<2){error("At least 2 nodes are required for Karger-Stein algorithm");return}for(var ot=[],st=0;st1&&arguments[1]!==void 0?arguments[1]:0,et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$.length,tt=1/0,rt=_e;rt1&&arguments[1]!==void 0?arguments[1]:0,et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$.length,tt=-1/0,rt=_e;rt1&&arguments[1]!==void 0?arguments[1]:0,et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$.length,tt=0,rt=0,at=_e;at1&&arguments[1]!==void 0?arguments[1]:0,et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$.length,tt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,rt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,at=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;tt?$=$.slice(_e,et):(et<$.length&&$.splice(et,$.length-et),_e>0&&$.splice(0,_e));for(var nt=0,it=$.length-1;it>=0;it--){var ot=$[it];at?isFinite(ot)||($[it]=-1/0,nt++):$.splice(it,1)}rt&&$.sort(function(ct,ut){return ct-ut});var st=$.length,lt=Math.floor(st/2);return st%2!==0?$[lt+1+nt]:($[lt-1+nt]+$[lt+nt])/2},deg2rad$1=function($){return Math.PI*$/180},getAngleFromDisp=function($,_e){return Math.atan2(_e,$)-Math.PI/2},log2=Math.log2||function(o){return Math.log(o)/Math.log(2)},signum=function($){return $>0?1:$<0?-1:0},dist$1=function($,_e){return Math.sqrt(sqdist($,_e))},sqdist=function($,_e){var et=_e.x-$.x,tt=_e.y-$.y;return et*et+tt*tt},inPlaceSumNormalize=function($){for(var _e=$.length,et=0,tt=0;tt<_e;tt++)et+=$[tt];for(var rt=0;rt<_e;rt++)$[rt]=$[rt]/et;return $},qbezierAt=function($,_e,et,tt){return(1-tt)*(1-tt)*$+2*(1-tt)*tt*_e+tt*tt*et},qbezierPtAt=function($,_e,et,tt){return{x:qbezierAt($.x,_e.x,et.x,tt),y:qbezierAt($.y,_e.y,et.y,tt)}},lineAt=function($,_e,et,tt){var rt={x:_e.x-$.x,y:_e.y-$.y},at=dist$1($,_e),nt={x:rt.x/at,y:rt.y/at};return et=et==null?0:et,tt=tt!=null?tt:et*at,{x:$.x+nt.x*tt,y:$.y+nt.y*tt}},bound=function($,_e,et){return Math.max($,Math.min(et,_e))},makeBoundingBox=function($){if($==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if($.x1!=null&&$.y1!=null){if($.x2!=null&&$.y2!=null&&$.x2>=$.x1&&$.y2>=$.y1)return{x1:$.x1,y1:$.y1,x2:$.x2,y2:$.y2,w:$.x2-$.x1,h:$.y2-$.y1};if($.w!=null&&$.h!=null&&$.w>=0&&$.h>=0)return{x1:$.x1,y1:$.y1,x2:$.x1+$.w,y2:$.y1+$.h,w:$.w,h:$.h}}},copyBoundingBox=function($){return{x1:$.x1,x2:$.x2,w:$.w,y1:$.y1,y2:$.y2,h:$.h}},clearBoundingBox=function($){$.x1=1/0,$.y1=1/0,$.x2=-1/0,$.y2=-1/0,$.w=0,$.h=0},updateBoundingBox=function($,_e){$.x1=Math.min($.x1,_e.x1),$.x2=Math.max($.x2,_e.x2),$.w=$.x2-$.x1,$.y1=Math.min($.y1,_e.y1),$.y2=Math.max($.y2,_e.y2),$.h=$.y2-$.y1},expandBoundingBoxByPoint=function($,_e,et){$.x1=Math.min($.x1,_e),$.x2=Math.max($.x2,_e),$.w=$.x2-$.x1,$.y1=Math.min($.y1,et),$.y2=Math.max($.y2,et),$.h=$.y2-$.y1},expandBoundingBox=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return $.x1-=_e,$.x2+=_e,$.y1-=_e,$.y2+=_e,$.w=$.x2-$.x1,$.h=$.y2-$.y1,$},expandBoundingBoxSides=function($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],et,tt,rt,at;if(_e.length===1)et=tt=rt=at=_e[0];else if(_e.length===2)et=rt=_e[0],at=tt=_e[1];else if(_e.length===4){var nt=_slicedToArray$4(_e,4);et=nt[0],tt=nt[1],rt=nt[2],at=nt[3]}return $.x1-=at,$.x2+=tt,$.y1-=et,$.y2+=rt,$.w=$.x2-$.x1,$.h=$.y2-$.y1,$},assignBoundingBox=function($,_e){$.x1=_e.x1,$.y1=_e.y1,$.x2=_e.x2,$.y2=_e.y2,$.w=$.x2-$.x1,$.h=$.y2-$.y1},boundingBoxesIntersect=function($,_e){return!($.x1>_e.x2||_e.x1>$.x2||$.x2<_e.x1||_e.x2<$.x1||$.y2<_e.y1||_e.y2<$.y1||$.y1>_e.y2||_e.y1>$.y2)},inBoundingBox=function($,_e,et){return $.x1<=_e&&_e<=$.x2&&$.y1<=et&&et<=$.y2},pointInBoundingBox=function($,_e){return inBoundingBox($,_e.x,_e.y)},boundingBoxInBoundingBox=function($,_e){return inBoundingBox($,_e.x1,_e.y1)&&inBoundingBox($,_e.x2,_e.y2)},roundRectangleIntersectLine=function($,_e,et,tt,rt,at,nt){var it=getRoundRectangleRadius(rt,at),ot=rt/2,st=at/2,lt;{var ct=et-ot+it-nt,ut=tt-st-nt,ft=et+ot-it+nt,At=ut;if(lt=finiteLinesIntersect($,_e,et,tt,ct,ut,ft,At,!1),lt.length>0)return lt}{var vt=et+ot+nt,ht=tt-st+it-nt,mt=vt,bt=tt+st-it+nt;if(lt=finiteLinesIntersect($,_e,et,tt,vt,ht,mt,bt,!1),lt.length>0)return lt}{var dt=et-ot+it-nt,xt=tt+st+nt,Ct=et+ot-it+nt,gt=xt;if(lt=finiteLinesIntersect($,_e,et,tt,dt,xt,Ct,gt,!1),lt.length>0)return lt}{var wt=et-ot-nt,_t=tt-st+it-nt,Et=wt,It=tt+st-it+nt;if(lt=finiteLinesIntersect($,_e,et,tt,wt,_t,Et,It,!1),lt.length>0)return lt}var Tt;{var Rt=et-ot+it,Ot=tt-st+it;if(Tt=intersectLineCircle($,_e,et,tt,Rt,Ot,it+nt),Tt.length>0&&Tt[0]<=Rt&&Tt[1]<=Ot)return[Tt[0],Tt[1]]}{var Mt=et+ot-it,Bt=tt-st+it;if(Tt=intersectLineCircle($,_e,et,tt,Mt,Bt,it+nt),Tt.length>0&&Tt[0]>=Mt&&Tt[1]<=Bt)return[Tt[0],Tt[1]]}{var Lt=et+ot-it,jt=tt+st-it;if(Tt=intersectLineCircle($,_e,et,tt,Lt,jt,it+nt),Tt.length>0&&Tt[0]>=Lt&&Tt[1]>=jt)return[Tt[0],Tt[1]]}{var zt=et-ot+it,Nt=tt+st-it;if(Tt=intersectLineCircle($,_e,et,tt,zt,Nt,it+nt),Tt.length>0&&Tt[0]<=zt&&Tt[1]>=Nt)return[Tt[0],Tt[1]]}return[]},inLineVicinity=function($,_e,et,tt,rt,at,nt){var it=nt,ot=Math.min(et,rt),st=Math.max(et,rt),lt=Math.min(tt,at),ct=Math.max(tt,at);return ot-it<=$&&$<=st+it&<-it<=_e&&_e<=ct+it},inBezierVicinity=function($,_e,et,tt,rt,at,nt,it,ot){var st={x1:Math.min(et,nt,rt)-ot,x2:Math.max(et,nt,rt)+ot,y1:Math.min(tt,it,at)-ot,y2:Math.max(tt,it,at)+ot};return!($st.x2||_est.y2)},solveQuadratic=function($,_e,et,tt){et-=tt;var rt=_e*_e-4*$*et;if(rt<0)return[];var at=Math.sqrt(rt),nt=2*$,it=(-_e+at)/nt,ot=(-_e-at)/nt;return[it,ot]},solveCubic=function($,_e,et,tt,rt){var at=1e-5;$===0&&($=at),_e/=$,et/=$,tt/=$;var nt,it,ot,st,lt,ct,ut,ft;if(it=(3*et-_e*_e)/9,ot=-(27*tt)+_e*(9*et-2*(_e*_e)),ot/=54,nt=it*it*it+ot*ot,rt[1]=0,ut=_e/3,nt>0){lt=ot+Math.sqrt(nt),lt=lt<0?-Math.pow(-lt,1/3):Math.pow(lt,1/3),ct=ot-Math.sqrt(nt),ct=ct<0?-Math.pow(-ct,1/3):Math.pow(ct,1/3),rt[0]=-ut+lt+ct,ut+=(lt+ct)/2,rt[4]=rt[2]=-ut,ut=Math.sqrt(3)*(-ct+lt)/2,rt[3]=ut,rt[5]=-ut;return}if(rt[5]=rt[3]=0,nt===0){ft=ot<0?-Math.pow(-ot,1/3):Math.pow(ot,1/3),rt[0]=-ut+2*ft,rt[4]=rt[2]=-(ft+ut);return}it=-it,st=it*it*it,st=Math.acos(ot/Math.sqrt(st)),ft=2*Math.sqrt(it),rt[0]=-ut+ft*Math.cos(st/3),rt[2]=-ut+ft*Math.cos((st+2*Math.PI)/3),rt[4]=-ut+ft*Math.cos((st+4*Math.PI)/3)},sqdistToQuadraticBezier=function($,_e,et,tt,rt,at,nt,it){var ot=1*et*et-4*et*rt+2*et*nt+4*rt*rt-4*rt*nt+nt*nt+tt*tt-4*tt*at+2*tt*it+4*at*at-4*at*it+it*it,st=1*9*et*rt-3*et*et-3*et*nt-6*rt*rt+3*rt*nt+9*tt*at-3*tt*tt-3*tt*it-6*at*at+3*at*it,lt=1*3*et*et-6*et*rt+et*nt-et*$+2*rt*rt+2*rt*$-nt*$+3*tt*tt-6*tt*at+tt*it-tt*_e+2*at*at+2*at*_e-it*_e,ct=1*et*rt-et*et+et*$-rt*$+tt*at-tt*tt+tt*_e-at*_e,ut=[];solveCubic(ot,st,lt,ct,ut);for(var ft=1e-7,At=[],vt=0;vt<6;vt+=2)Math.abs(ut[vt+1])=0&&ut[vt]<=1&&At.push(ut[vt]);At.push(1),At.push(0);for(var ht=-1,mt,bt,dt,xt=0;xt=0?dtot?($-rt)*($-rt)+(_e-at)*(_e-at):st-ct},pointInsidePolygonPoints=function($,_e,et){for(var tt,rt,at,nt,it,ot=0,st=0;st=$&&$>=at||tt<=$&&$<=at)it=($-tt)/(at-tt)*(nt-rt)+rt,it>_e&&ot++;else continue;return ot%2!==0},pointInsidePolygon=function($,_e,et,tt,rt,at,nt,it,ot){var st=new Array(et.length),lt;it[0]!=null?(lt=Math.atan(it[1]/it[0]),it[0]<0?lt=lt+Math.PI/2:lt=-lt-Math.PI/2):lt=it;for(var ct=Math.cos(-lt),ut=Math.sin(-lt),ft=0;ft0){var vt=expandPolygon(st,-ot);At=joinLines(vt)}else At=st;return pointInsidePolygonPoints($,_e,At)},pointInsideRoundPolygon=function($,_e,et,tt,rt,at,nt){for(var it=new Array(et.length),ot=at/2,st=nt/2,lt=getRoundPolygonRadius(at,nt),ct=lt*lt,ut=0;ut=0&&vt<=1&&mt.push(vt),ht>=0&&ht<=1&&mt.push(ht),mt.length===0)return[];var bt=mt[0]*it[0]+$,dt=mt[0]*it[1]+_e;if(mt.length>1){if(mt[0]==mt[1])return[bt,dt];var xt=mt[1]*it[0]+$,Ct=mt[1]*it[1]+_e;return[bt,dt,xt,Ct]}else return[bt,dt]},midOfThree=function($,_e,et){return _e<=$&&$<=et||et<=$&&$<=_e?$:$<=_e&&_e<=et||et<=_e&&_e<=$?_e:et},finiteLinesIntersect=function($,_e,et,tt,rt,at,nt,it,ot){var st=$-rt,lt=et-$,ct=nt-rt,ut=_e-at,ft=tt-_e,At=it-at,vt=ct*ut-At*st,ht=lt*ut-ft*st,mt=At*lt-ct*ft;if(mt!==0){var bt=vt/mt,dt=ht/mt,xt=.001,Ct=0-xt,gt=1+xt;return Ct<=bt&&bt<=gt&&Ct<=dt&&dt<=gt?[$+bt*lt,_e+bt*ft]:ot?[$+bt*lt,_e+bt*ft]:[]}else return vt===0||ht===0?midOfThree($,et,nt)===nt?[nt,it]:midOfThree($,et,rt)===rt?[rt,at]:midOfThree(rt,nt,et)===et?[et,tt]:[]:[]},polygonIntersectLine=function($,_e,et,tt,rt,at,nt,it){var ot=[],st,lt=new Array(et.length),ct=!0;at==null&&(ct=!1);var ut;if(ct){for(var ft=0;ft0){var At=expandPolygon(lt,-it);ut=joinLines(At)}else ut=lt}else ut=et;for(var vt,ht,mt,bt,dt=0;dt2){for(var Bt=[ot[0],ot[1]],Lt=Math.pow(Bt[0]-$,2)+Math.pow(Bt[1]-_e,2),jt=1;jtst&&(st=dt)},get:function(bt){return ot[bt]}},ct=0;ct0?Bt=Mt.edgesTo(Ot)[0]:Bt=Ot.edgesTo(Mt)[0];var Lt=tt(Bt);Ot=Ot.id(),wt[Ot]>wt[Tt]+Lt&&(wt[Ot]=wt[Tt]+Lt,_t.nodes.indexOf(Ot)<0?_t.push(Ot):_t.updateItem(Ot),gt[Ot]=0,Ct[Ot]=[]),wt[Ot]==wt[Tt]+Lt&&(gt[Ot]=gt[Ot]+gt[Tt],Ct[Ot].push(Tt))}else for(var jt=0;jt0;){for(var qt=xt.pop(),nr=0;nr0&&nt.push(et[it]);nt.length!==0&&rt.push(tt.collection(nt))}return rt},isDuplicate=function($,_e){for(var et=0;et<$.length;et++)if(!_e[et]||$[et].id()!==_e[et].id())return!1;return!0},removeDuplicates=function($){for(var _e=0;_e<$.length;_e++)for(var et=0;et<$.length;et++)_e!=et&&isDuplicate($[_e],$[et])&&$.splice(et,1);return $},markovClustering=function($){for(var _e=this.nodes(),et=this.edges(),tt=this.cy(),rt=setOptions$3($),at={},nt=0;nt<_e.length;nt++)at[_e[nt].id()]=nt;for(var it=_e.length,ot=it*it,st=new Array(ot),lt,ct=0;ct5&&arguments[5]!==void 0?arguments[5]:identity$b,nt=tt,it,ot,st=0;st<$;st++)it=_e(st),ot=et(st),nt=rt(nt,it,ot);return at(nt)},distances={euclidean:function($,_e,et){return $>=2?getDistance($,_e,et,0,addSquaredDiff,sqrt$2):getDistance($,_e,et,0,addAbsDiff)},squaredEuclidean:function($,_e,et){return getDistance($,_e,et,0,addSquaredDiff)},manhattan:function($,_e,et){return getDistance($,_e,et,0,addAbsDiff)},max:function($,_e,et){return getDistance($,_e,et,-1/0,maxAbsDiff)}};distances["squared-euclidean"]=distances.squaredEuclidean;distances.squaredeuclidean=distances.squaredEuclidean;function clusteringDistance(o,$,_e,et,tt,rt){var at;return fn$6(o)?at=o:at=distances[o]||distances.euclidean,$===0&&fn$6(o)?at(tt,rt):at($,_e,et,tt,rt)}var defaults$b=defaults$g({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),setOptions$2=function($){return defaults$b($)},getDist=function($,_e,et,tt,rt){var at=rt!=="kMedoids",nt=at?function(lt){return et[lt]}:function(lt){return tt[lt](et)},it=function(ct){return tt[ct](_e)},ot=et,st=_e;return clusteringDistance($,tt.length,nt,it,ot,st)},randomCentroids=function($,_e,et){for(var tt=et.length,rt=new Array(tt),at=new Array(tt),nt=new Array(_e),it=null,ot=0;otet)return!1}return!0},seenBefore=function($,_e,et){for(var tt=0;ttnt&&(nt=_e[ot][st],it=st);rt[it].push($[ot])}for(var lt=0;lt=rt.threshold||rt.mode==="dendrogram"&&$.length===1)return!1;var ft=_e[at],At=_e[tt[at]],vt;rt.mode==="dendrogram"?vt={left:ft,right:At,key:ft.key}:vt={value:ft.value.concat(At.value),key:ft.key},$[ft.index]=vt,$.splice(At.index,1),_e[ft.key]=vt;for(var ht=0;ht<$.length;ht++){var mt=$[ht];ft.key===mt.key?it=1/0:rt.linkage==="min"?(it=et[ft.key][mt.key],et[ft.key][mt.key]>et[At.key][mt.key]&&(it=et[At.key][mt.key])):rt.linkage==="max"?(it=et[ft.key][mt.key],et[ft.key][mt.key]0&&tt.push(rt);return tt},assignClusters=function($,_e,et){for(var tt=[],rt=0;rt<$;rt++){for(var at=-1,nt=-1/0,it=0;itnt&&(at=ot,nt=_e[rt*$+ot])}at>0&&tt.push(at)}for(var st=0;stot&&(it=st,ot=lt)}et[rt]=at[it]}return tt=assignClusters($,_e,et),tt},affinityPropagation=function($){for(var _e=this.cy(),et=this.nodes(),tt=setOptions($),rt={},at=0;at=It?(Tt=It,It=Ot,Rt=Mt):Ot>Tt&&(Tt=Ot);for(var Bt=0;Bt0?1:0;gt[_t%tt.minIterations*nt+qt]=nr,Wt+=nr}if(Wt>0&&(_t>=tt.minIterations-1||_t==tt.maxIterations-1)){for(var ar=0,Kt=0;Kt1||Ct>1)&&(nt=!0),lt[bt]=[],mt.outgoers().forEach(function(wt){wt.isEdge()&<[bt].push(wt.id())})}else ct[bt]=[void 0,mt.target().id()]}):at.forEach(function(mt){var bt=mt.id();if(mt.isNode()){var dt=mt.degree(!0);dt%2&&(it?ot?nt=!0:ot=bt:it=bt),lt[bt]=[],mt.connectedEdges().forEach(function(xt){return lt[bt].push(xt.id())})}else ct[bt]=[mt.source().id(),mt.target().id()]});var ut={found:!1,trail:void 0};if(nt)return ut;if(ot&&it)if(rt){if(st&&ot!=st)return ut;st=ot}else{if(st&&ot!=st&&it!=st)return ut;st||(st=ot)}else st||(st=at[0].id());var ft=function(bt){for(var dt=bt,xt=[bt],Ct,gt,wt;lt[dt].length;)Ct=lt[dt].shift(),gt=ct[Ct][0],wt=ct[Ct][1],dt!=wt?(lt[wt]=lt[wt].filter(function(_t){return _t!=Ct}),dt=wt):!rt&&dt!=gt&&(lt[gt]=lt[gt].filter(function(_t){return _t!=Ct}),dt=gt),xt.unshift(Ct),xt.unshift(dt);return xt},At=[],vt=[];for(vt=ft(st);vt.length!=1;)lt[vt[0]].length==0?(At.unshift(at.getElementById(vt.shift())),At.unshift(at.getElementById(vt.shift()))):vt=ft(vt.shift()).concat(vt);At.unshift(at.getElementById(vt.shift()));for(var ht in lt)if(lt[ht].length)return ut;return ut.found=!0,ut.trail=this.spawn(At,!0),ut}},hopcroftTarjanBiconnected=function(){var $=this,_e={},et=0,tt=0,rt=[],at=[],nt={},it=function(ct,ut){for(var ft=at.length-1,At=[],vt=$.spawn();at[ft].x!=ct||at[ft].y!=ut;)At.push(at.pop().edge),ft--;At.push(at.pop().edge),At.forEach(function(ht){var mt=ht.connectedNodes().intersection($);vt.merge(ht),mt.forEach(function(bt){var dt=bt.id(),xt=bt.connectedEdges().intersection($);vt.merge(bt),_e[dt].cutVertex?vt.merge(xt.filter(function(Ct){return Ct.isLoop()})):vt.merge(xt)})}),rt.push(vt)},ot=function lt(ct,ut,ft){ct===ft&&(tt+=1),_e[ut]={id:et,low:et++,cutVertex:!1};var At=$.getElementById(ut).connectedEdges().intersection($);if(At.size()===0)rt.push($.spawn($.getElementById(ut)));else{var vt,ht,mt,bt;At.forEach(function(dt){vt=dt.source().id(),ht=dt.target().id(),mt=vt===ut?ht:vt,mt!==ft&&(bt=dt.id(),nt[bt]||(nt[bt]=!0,at.push({x:ut,y:mt,edge:dt})),mt in _e?_e[ut].low=Math.min(_e[ut].low,_e[mt].id):(lt(ct,mt,ut),_e[ut].low=Math.min(_e[ut].low,_e[mt].low),_e[ut].id<=_e[mt].low&&(_e[ut].cutVertex=!0,it(ut,mt))))})}};$.forEach(function(lt){if(lt.isNode()){var ct=lt.id();ct in _e||(tt=0,ot(ct,ct),_e[ct].cutVertex=tt>1)}});var st=Object.keys(_e).filter(function(lt){return _e[lt].cutVertex}).map(function(lt){return $.getElementById(lt)});return{cut:$.spawn(st),components:rt}},hopcroftTarjanBiconnected$1={hopcroftTarjanBiconnected,htbc:hopcroftTarjanBiconnected,htb:hopcroftTarjanBiconnected,hopcroftTarjanBiconnectedComponents:hopcroftTarjanBiconnected},tarjanStronglyConnected=function(){var $=this,_e={},et=0,tt=[],rt=[],at=$.spawn($),nt=function it(ot){rt.push(ot),_e[ot]={index:et,low:et++,explored:!1};var st=$.getElementById(ot).connectedEdges().intersection($);if(st.forEach(function(At){var vt=At.target().id();vt!==ot&&(vt in _e||it(vt),_e[vt].explored||(_e[ot].low=Math.min(_e[ot].low,_e[vt].low)))}),_e[ot].index===_e[ot].low){for(var lt=$.spawn();;){var ct=rt.pop();if(lt.merge($.getElementById(ct)),_e[ct].low=_e[ot].index,_e[ct].explored=!0,ct===ot)break}var ut=lt.edgesWith(lt),ft=lt.merge(ut);tt.push(ft),at=at.difference(ft)}};return $.forEach(function(it){if(it.isNode()){var ot=it.id();ot in _e||nt(ot)}}),{cut:at,components:tt}},tarjanStronglyConnected$1={tarjanStronglyConnected,tsc:tarjanStronglyConnected,tscc:tarjanStronglyConnected,tarjanStronglyConnectedComponents:tarjanStronglyConnected},elesfn$j={};[elesfn$v,elesfn$u,elesfn$t,elesfn$s,elesfn$r,elesfn$q,elesfn$p,elesfn$o,elesfn$n,elesfn$m,elesfn$l,markovClustering$1,kClustering,hierarchicalClustering$1,affinityPropagation$1,elesfn$k,hopcroftTarjanBiconnected$1,tarjanStronglyConnected$1].forEach(function(o){extend$3(elesfn$j,o)});/*! Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) Licensed under The MIT License (http://opensource.org/licenses/MIT) -*/var STATE_PENDING=0,STATE_FULFILLED=1,STATE_REJECTED=2,api$1=function o($){if(!(this instanceof o))return new o($);this.id="Thenable/1.0.7",this.state=STATE_PENDING,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof $=="function"&&$.call(this,this.fulfill.bind(this),this.reject.bind(this))};api$1.prototype={fulfill:function($){return deliver(this,STATE_FULFILLED,"fulfillValue",$)},reject:function($){return deliver(this,STATE_REJECTED,"rejectReason",$)},then:function($,_e){var et=this,tt=new api$1;return et.onFulfilled.push(resolver($,tt,"fulfill")),et.onRejected.push(resolver(_e,tt,"reject")),execute(et),tt.proxy}};var deliver=function($,_e,et,tt){return $.state===STATE_PENDING&&($.state=_e,$[et]=tt,execute($)),$},execute=function($){$.state===STATE_FULFILLED?execute_handlers($,"onFulfilled",$.fulfillValue):$.state===STATE_REJECTED&&execute_handlers($,"onRejected",$.rejectReason)},execute_handlers=function($,_e,et){if($[_e].length!==0){var tt=$[_e];$[_e]=[];var rt=function(){for(var nt=0;nt0}},clearQueue:function(){return function(){var _e=this,et=_e.length!==void 0,tt=et?_e:[_e],rt=this._private.cy||this;if(!rt.styleEnabled())return this;for(var at=0;at0&&this.spawn(tt).updateStyle().emit("class"),_e},addClass:function($){return this.toggleClass($,!0)},hasClass:function($){var _e=this[0];return _e!=null&&_e._private.classes.has($)},toggleClass:function($,_e){array$4($)||($=$.match(/\S+/g)||[]);for(var et=this,tt=_e===void 0,rt=[],at=0,nt=et.length;at0&&this.spawn(rt).updateStyle().emit("class"),et},removeClass:function($){return this.toggleClass($,!1)},flashClass:function($,_e){var et=this;if(_e==null)_e=250;else if(_e===0)return et;return et.addClass($),setTimeout(function(){et.removeClass($)},_e),et}};elesfn$h.className=elesfn$h.classNames=elesfn$h.classes;var tokens={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:number$2,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tokens.variable="(?:[\\w-.]|(?:\\\\"+tokens.metaChar+"))+";tokens.className="(?:[\\w-]|(?:\\\\"+tokens.metaChar+"))+";tokens.value=tokens.string+"|"+tokens.number;tokens.id=tokens.variable;(function(){var o,$,_e;for(o=tokens.comparatorOp.split("|"),_e=0;_e=0)&&$!=="="&&(tokens.comparatorOp+="|\\!"+$)})();var newQuery=function(){return{checks:[]}},Type={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},stateSelectors=[{selector:":selected",matches:function($){return $.selected()}},{selector:":unselected",matches:function($){return!$.selected()}},{selector:":selectable",matches:function($){return $.selectable()}},{selector:":unselectable",matches:function($){return!$.selectable()}},{selector:":locked",matches:function($){return $.locked()}},{selector:":unlocked",matches:function($){return!$.locked()}},{selector:":visible",matches:function($){return $.visible()}},{selector:":hidden",matches:function($){return!$.visible()}},{selector:":transparent",matches:function($){return $.transparent()}},{selector:":grabbed",matches:function($){return $.grabbed()}},{selector:":free",matches:function($){return!$.grabbed()}},{selector:":removed",matches:function($){return $.removed()}},{selector:":inside",matches:function($){return!$.removed()}},{selector:":grabbable",matches:function($){return $.grabbable()}},{selector:":ungrabbable",matches:function($){return!$.grabbable()}},{selector:":animated",matches:function($){return $.animated()}},{selector:":unanimated",matches:function($){return!$.animated()}},{selector:":parent",matches:function($){return $.isParent()}},{selector:":childless",matches:function($){return $.isChildless()}},{selector:":child",matches:function($){return $.isChild()}},{selector:":orphan",matches:function($){return $.isOrphan()}},{selector:":nonorphan",matches:function($){return $.isChild()}},{selector:":compound",matches:function($){return $.isNode()?$.isParent():$.source().isParent()||$.target().isParent()}},{selector:":loop",matches:function($){return $.isLoop()}},{selector:":simple",matches:function($){return $.isSimple()}},{selector:":active",matches:function($){return $.active()}},{selector:":inactive",matches:function($){return!$.active()}},{selector:":backgrounding",matches:function($){return $.backgrounding()}},{selector:":nonbackgrounding",matches:function($){return!$.backgrounding()}}].sort(function(o,$){return descending$2(o.selector,$.selector)}),lookup=function(){for(var o={},$,_e=0;_e0&&st.edgeCount>0)return warn("The selector `"+$+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(st.edgeCount>1)return warn("The selector `"+$+"` is invalid because it uses multiple edge selectors"),!1;st.edgeCount===1&&warn("The selector `"+$+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString$2=function(){if(this.toStringCache!=null)return this.toStringCache;for(var $=function(st){return st==null?"":st},_e=function(st){return string$1(st)?'"'+st+'"':$(st)},et=function(st){return" "+st+" "},tt=function(st,lt){var ct=st.type,ut=st.value;switch(ct){case Type.GROUP:{var ft=$(ut);return ft.substring(0,ft.length-1)}case Type.DATA_COMPARE:{var At=st.field,vt=st.operator;return"["+At+et($(vt))+_e(ut)+"]"}case Type.DATA_BOOL:{var ht=st.operator,bt=st.field;return"["+$(ht)+bt+"]"}case Type.DATA_EXIST:{var pt=st.field;return"["+pt+"]"}case Type.META_COMPARE:{var dt=st.operator,_t=st.field;return"[["+_t+et($(dt))+_e(ut)+"]]"}case Type.STATE:return ut;case Type.ID:return"#"+ut;case Type.CLASS:return"."+ut;case Type.PARENT:case Type.CHILD:return rt(st.parent,lt)+et(">")+rt(st.child,lt);case Type.ANCESTOR:case Type.DESCENDANT:return rt(st.ancestor,lt)+" "+rt(st.descendant,lt);case Type.COMPOUND_SPLIT:{var Ct=rt(st.left,lt),gt=rt(st.subject,lt),yt=rt(st.right,lt);return Ct+(Ct.length>0?" ":"")+gt+yt}case Type.TRUE:return""}},rt=function(st,lt){return st.checks.reduce(function(ct,ut,ft){return ct+(lt===st&&ft===0?"$":"")+tt(ut,lt)},"")},at="",nt=0;nt1&&nt=0&&(_e=_e.replace("!",""),lt=!0),_e.indexOf("@")>=0&&(_e=_e.replace("@",""),st=!0),(rt||nt||st)&&(it=!rt&&!at?"":""+$,ot=""+et),st&&($=it=it.toLowerCase(),et=ot=ot.toLowerCase()),_e){case"*=":tt=it.indexOf(ot)>=0;break;case"$=":tt=it.indexOf(ot,it.length-ot.length)>=0;break;case"^=":tt=it.indexOf(ot)===0;break;case"=":tt=$===et;break;case">":ct=!0,tt=$>et;break;case">=":ct=!0,tt=$>=et;break;case"<":ct=!0,tt=$0;){var st=tt.shift();$(st),rt.add(st.id()),nt&&et(tt,rt,st)}return o}function addChildren(o,$,_e){if(_e.isParent())for(var et=_e._private.children,tt=0;tt1&&arguments[1]!==void 0?arguments[1]:!0;return forEachCompound(this,o,$,addChildren)};function addParent(o,$,_e){if(_e.isChild()){var et=_e._private.parent;$.has(et.id())||o.push(et)}}elesfn$f.forEachUp=function(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return forEachCompound(this,o,$,addParent)};function addParentAndChildren(o,$,_e){addParent(o,$,_e),addChildren(o,$,_e)}elesfn$f.forEachUpAndDown=function(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return forEachCompound(this,o,$,addParentAndChildren)};elesfn$f.ancestors=elesfn$f.parents;var fn$5,elesfn$e;fn$5=elesfn$e={data:define$4.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:define$4.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:define$4.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:define$4.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:define$4.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:define$4.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var $=this[0];if($)return $._private.data.id}};fn$5.attr=fn$5.data;fn$5.removeAttr=fn$5.removeData;var data=elesfn$e,elesfn$d={};function defineDegreeFunction(o){return function($){var _e=this;if($===void 0&&($=!0),_e.length!==0)if(_e.isNode()&&!_e.removed()){for(var et=0,tt=_e[0],rt=tt._private.edges,at=0;at$}),minIndegree:defineDegreeBoundsFunction("indegree",function(o,$){return o<$}),maxIndegree:defineDegreeBoundsFunction("indegree",function(o,$){return o>$}),minOutdegree:defineDegreeBoundsFunction("outdegree",function(o,$){return o<$}),maxOutdegree:defineDegreeBoundsFunction("outdegree",function(o,$){return o>$})});extend$3(elesfn$d,{totalDegree:function($){for(var _e=0,et=this.nodes(),tt=0;tt0,ct=lt;lt&&(st=st[0]);var ut=ct?st.position():{x:0,y:0};_e!==void 0?ot.position($,_e+ut[$]):rt!==void 0&&ot.position({x:rt.x+ut.x,y:rt.y+ut.y})}else{var ft=et.position(),At=nt?et.parent():null,vt=At&&At.length>0,ht=vt;vt&&(At=At[0]);var bt=ht?At.position():{x:0,y:0};return rt={x:ft.x-bt.x,y:ft.y-bt.y},$===void 0?rt:rt[$]}else if(!at)return;return this}};fn$4.modelPosition=fn$4.point=fn$4.position;fn$4.modelPositions=fn$4.points=fn$4.positions;fn$4.renderedPoint=fn$4.renderedPosition;fn$4.relativePoint=fn$4.relativePosition;var position$1=elesfn$c,fn$3,elesfn$b;fn$3=elesfn$b={};elesfn$b.renderedBoundingBox=function(o){var $=this.boundingBox(o),_e=this.cy(),et=_e.zoom(),tt=_e.pan(),rt=$.x1*et+tt.x,at=$.x2*et+tt.x,nt=$.y1*et+tt.y,it=$.y2*et+tt.y;return{x1:rt,x2:at,y1:nt,y2:it,w:at-rt,h:it-nt}};elesfn$b.dirtyCompoundBoundsCache=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,$=this.cy();return!$.styleEnabled()||!$.hasCompoundNodes()?this:(this.forEachUp(function(_e){if(_e.isParent()){var et=_e._private;et.compoundBoundsClean=!1,et.bbCache=null,o||_e.emitAndNotify("bounds")}}),this)};elesfn$b.updateCompoundBounds=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,$=this.cy();if(!$.styleEnabled()||!$.hasCompoundNodes())return this;if(!o&&$.batching())return this;function _e(at){if(!at.isParent())return;var nt=at._private,it=at.children(),ot=at.pstyle("compound-sizing-wrt-labels").value==="include",st={width:{val:at.pstyle("min-width").pfValue,left:at.pstyle("min-width-bias-left"),right:at.pstyle("min-width-bias-right")},height:{val:at.pstyle("min-height").pfValue,top:at.pstyle("min-height-bias-top"),bottom:at.pstyle("min-height-bias-bottom")}},lt=it.boundingBox({includeLabels:ot,includeOverlays:!1,useCache:!1}),ct=nt.position;(lt.w===0||lt.h===0)&&(lt={w:at.pstyle("width").pfValue,h:at.pstyle("height").pfValue},lt.x1=ct.x-lt.w/2,lt.x2=ct.x+lt.w/2,lt.y1=ct.y-lt.h/2,lt.y2=ct.y+lt.h/2);function ut(xt,Et,It){var Tt=0,Rt=0,Ot=Et+It;return xt>0&&Ot>0&&(Tt=Et/Ot*xt,Rt=It/Ot*xt),{biasDiff:Tt,biasComplementDiff:Rt}}function ft(xt,Et,It,Tt){if(It.units==="%")switch(Tt){case"width":return xt>0?It.pfValue*xt:0;case"height":return Et>0?It.pfValue*Et:0;case"average":return xt>0&&Et>0?It.pfValue*(xt+Et)/2:0;case"min":return xt>0&&Et>0?xt>Et?It.pfValue*Et:It.pfValue*xt:0;case"max":return xt>0&&Et>0?xt>Et?It.pfValue*xt:It.pfValue*Et:0;default:return 0}else return It.units==="px"?It.pfValue:0}var At=st.width.left.value;st.width.left.units==="px"&&st.width.val>0&&(At=At*100/st.width.val);var vt=st.width.right.value;st.width.right.units==="px"&&st.width.val>0&&(vt=vt*100/st.width.val);var ht=st.height.top.value;st.height.top.units==="px"&&st.height.val>0&&(ht=ht*100/st.height.val);var bt=st.height.bottom.value;st.height.bottom.units==="px"&&st.height.val>0&&(bt=bt*100/st.height.val);var pt=ut(st.width.val-lt.w,At,vt),dt=pt.biasDiff,_t=pt.biasComplementDiff,Ct=ut(st.height.val-lt.h,ht,bt),gt=Ct.biasDiff,yt=Ct.biasComplementDiff;nt.autoPadding=ft(lt.w,lt.h,at.pstyle("padding"),at.pstyle("padding-relative-to").value),nt.autoWidth=Math.max(lt.w,st.width.val),ct.x=(-dt+lt.x1+lt.x2+_t)/2,nt.autoHeight=Math.max(lt.h,st.height.val),ct.y=(-gt+lt.y1+lt.y2+yt)/2}for(var et=0;et$.x2?tt:$.x2,$.y1=et<$.y1?et:$.y1,$.y2=rt>$.y2?rt:$.y2,$.w=$.x2-$.x1,$.h=$.y2-$.y1)},updateBoundsFromBox=function($,_e){return _e==null?$:updateBounds($,_e.x1,_e.y1,_e.x2,_e.y2)},prefixedProperty=function($,_e,et){return getPrefixedProperty($,_e,et)},updateBoundsFromArrow=function($,_e,et){if(!_e.cy().headless()){var tt=_e._private,rt=tt.rstyle,at=rt.arrowWidth/2,nt=_e.pstyle(et+"-arrow-shape").value,it,ot;if(nt!=="none"){et==="source"?(it=rt.srcX,ot=rt.srcY):et==="target"?(it=rt.tgtX,ot=rt.tgtY):(it=rt.midX,ot=rt.midY);var st=tt.arrowBounds=tt.arrowBounds||{},lt=st[et]=st[et]||{};lt.x1=it-at,lt.y1=ot-at,lt.x2=it+at,lt.y2=ot+at,lt.w=lt.x2-lt.x1,lt.h=lt.y2-lt.y1,expandBoundingBox(lt,1),updateBounds($,lt.x1,lt.y1,lt.x2,lt.y2)}}},updateBoundsFromLabel=function($,_e,et){if(!_e.cy().headless()){var tt;et?tt=et+"-":tt="";var rt=_e._private,at=rt.rstyle,nt=_e.pstyle(tt+"label").strValue;if(nt){var it=_e.pstyle("text-halign"),ot=_e.pstyle("text-valign"),st=prefixedProperty(at,"labelWidth",et),lt=prefixedProperty(at,"labelHeight",et),ct=prefixedProperty(at,"labelX",et),ut=prefixedProperty(at,"labelY",et),ft=_e.pstyle(tt+"text-margin-x").pfValue,At=_e.pstyle(tt+"text-margin-y").pfValue,vt=_e.isEdge(),ht=_e.pstyle(tt+"text-rotation"),bt=_e.pstyle("text-outline-width").pfValue,pt=_e.pstyle("text-border-width").pfValue,dt=pt/2,_t=_e.pstyle("text-background-padding").pfValue,Ct=2,gt=lt,yt=st,xt=yt/2,Et=gt/2,It,Tt,Rt,Ot;if(vt)It=ct-xt,Tt=ct+xt,Rt=ut-Et,Ot=ut+Et;else{switch(it.value){case"left":It=ct-yt,Tt=ct;break;case"center":It=ct-xt,Tt=ct+xt;break;case"right":It=ct,Tt=ct+yt;break}switch(ot.value){case"top":Rt=ut-gt,Ot=ut;break;case"center":Rt=ut-Et,Ot=ut+Et;break;case"bottom":Rt=ut,Ot=ut+gt;break}}It+=ft-Math.max(bt,dt)-_t-Ct,Tt+=ft+Math.max(bt,dt)+_t+Ct,Rt+=At-Math.max(bt,dt)-_t-Ct,Ot+=At+Math.max(bt,dt)+_t+Ct;var Mt=et||"main",Bt=rt.labelBounds,Lt=Bt[Mt]=Bt[Mt]||{};Lt.x1=It,Lt.y1=Rt,Lt.x2=Tt,Lt.y2=Ot,Lt.w=Tt-It,Lt.h=Ot-Rt;var Vt=vt&&ht.strValue==="autorotate",zt=ht.pfValue!=null&&ht.pfValue!==0;if(Vt||zt){var Nt=Vt?prefixedProperty(rt.rstyle,"labelAngle",et):ht.pfValue,Wt=Math.cos(Nt),Jt=Math.sin(Nt),nr=(It+Tt)/2,er=(Rt+Ot)/2;if(!vt){switch(it.value){case"left":nr=Tt;break;case"right":nr=It;break}switch(ot.value){case"top":er=Ot;break;case"bottom":er=Rt;break}}var Xt=function(fr,dr){return fr=fr-nr,dr=dr-er,{x:fr*Wt-dr*Jt+nr,y:fr*Jt+dr*Wt+er}},tr=Xt(It,Rt),Zt=Xt(It,Ot),Gt=Xt(Tt,Rt),Ft=Xt(Tt,Ot);It=Math.min(tr.x,Zt.x,Gt.x,Ft.x),Tt=Math.max(tr.x,Zt.x,Gt.x,Ft.x),Rt=Math.min(tr.y,Zt.y,Gt.y,Ft.y),Ot=Math.max(tr.y,Zt.y,Gt.y,Ft.y)}var jt=Mt+"Rot",qt=Bt[jt]=Bt[jt]||{};qt.x1=It,qt.y1=Rt,qt.x2=Tt,qt.y2=Ot,qt.w=Tt-It,qt.h=Ot-Rt,updateBounds($,It,Rt,Tt,Ot),updateBounds(rt.labelBounds.all,It,Rt,Tt,Ot)}return $}},boundingBoxImpl=function($,_e){var et=$._private.cy,tt=et.styleEnabled(),rt=et.headless(),at=makeBoundingBox(),nt=$._private,it=$.isNode(),ot=$.isEdge(),st,lt,ct,ut,ft,At,vt=nt.rstyle,ht=it&&tt?$.pstyle("bounds-expansion").pfValue:[0],bt=function(Er){return Er.pstyle("display").value!=="none"},pt=!tt||bt($)&&(!ot||bt($.source())&&bt($.target()));if(pt){var dt=0,_t=0;tt&&_e.includeOverlays&&(dt=$.pstyle("overlay-opacity").value,dt!==0&&(_t=$.pstyle("overlay-padding").value));var Ct=0,gt=0;tt&&_e.includeUnderlays&&(Ct=$.pstyle("underlay-opacity").value,Ct!==0&&(gt=$.pstyle("underlay-padding").value));var yt=Math.max(_t,gt),xt=0,Et=0;if(tt&&(xt=$.pstyle("width").pfValue,Et=xt/2),it&&_e.includeNodes){var It=$.position();ft=It.x,At=It.y;var Tt=$.outerWidth(),Rt=Tt/2,Ot=$.outerHeight(),Mt=Ot/2;st=ft-Rt,lt=ft+Rt,ct=At-Mt,ut=At+Mt,updateBounds(at,st,ct,lt,ut)}else if(ot&&_e.includeEdges)if(tt&&!rt){var Bt=$.pstyle("curve-style").strValue;if(st=Math.min(vt.srcX,vt.midX,vt.tgtX),lt=Math.max(vt.srcX,vt.midX,vt.tgtX),ct=Math.min(vt.srcY,vt.midY,vt.tgtY),ut=Math.max(vt.srcY,vt.midY,vt.tgtY),st-=Et,lt+=Et,ct-=Et,ut+=Et,updateBounds(at,st,ct,lt,ut),Bt==="haystack"){var Lt=vt.haystackPts;if(Lt&&Lt.length===2){if(st=Lt[0].x,ct=Lt[0].y,lt=Lt[1].x,ut=Lt[1].y,st>lt){var Vt=st;st=lt,lt=Vt}if(ct>ut){var zt=ct;ct=ut,ut=zt}updateBounds(at,st-Et,ct-Et,lt+Et,ut+Et)}}else if(Bt==="bezier"||Bt==="unbundled-bezier"||Bt==="segments"||Bt==="taxi"){var Nt;switch(Bt){case"bezier":case"unbundled-bezier":Nt=vt.bezierPts;break;case"segments":case"taxi":Nt=vt.linePts;break}if(Nt!=null)for(var Wt=0;Wtlt){var Zt=st;st=lt,lt=Zt}if(ct>ut){var Gt=ct;ct=ut,ut=Gt}st-=Et,lt+=Et,ct-=Et,ut+=Et,updateBounds(at,st,ct,lt,ut)}if(tt&&_e.includeEdges&&ot&&(updateBoundsFromArrow(at,$,"mid-source"),updateBoundsFromArrow(at,$,"mid-target"),updateBoundsFromArrow(at,$,"source"),updateBoundsFromArrow(at,$,"target")),tt){var Ft=$.pstyle("ghost").value==="yes";if(Ft){var jt=$.pstyle("ghost-offset-x").pfValue,qt=$.pstyle("ghost-offset-y").pfValue;updateBounds(at,at.x1+jt,at.y1+qt,at.x2+jt,at.y2+qt)}}var or=nt.bodyBounds=nt.bodyBounds||{};assignBoundingBox(or,at),expandBoundingBoxSides(or,ht),expandBoundingBox(or,1),tt&&(st=at.x1,lt=at.x2,ct=at.y1,ut=at.y2,updateBounds(at,st-yt,ct-yt,lt+yt,ut+yt));var fr=nt.overlayBounds=nt.overlayBounds||{};assignBoundingBox(fr,at),expandBoundingBoxSides(fr,ht),expandBoundingBox(fr,1);var dr=nt.labelBounds=nt.labelBounds||{};dr.all!=null?clearBoundingBox(dr.all):dr.all=makeBoundingBox(),tt&&_e.includeLabels&&(_e.includeMainLabels&&updateBoundsFromLabel(at,$,null),ot&&(_e.includeSourceLabels&&updateBoundsFromLabel(at,$,"source"),_e.includeTargetLabels&&updateBoundsFromLabel(at,$,"target")))}return at.x1=noninf(at.x1),at.y1=noninf(at.y1),at.x2=noninf(at.x2),at.y2=noninf(at.y2),at.w=noninf(at.x2-at.x1),at.h=noninf(at.y2-at.y1),at.w>0&&at.h>0&&pt&&(expandBoundingBoxSides(at,ht),expandBoundingBox(at,1)),at},getKey=function($){var _e=0,et=function(at){return(at?1:0)<<_e++},tt=0;return tt+=et($.incudeNodes),tt+=et($.includeEdges),tt+=et($.includeLabels),tt+=et($.includeMainLabels),tt+=et($.includeSourceLabels),tt+=et($.includeTargetLabels),tt+=et($.includeOverlays),tt},getBoundingBoxPosKey=function($){if($.isEdge()){var _e=$.source().position(),et=$.target().position(),tt=function(at){return Math.round(at)};return hashIntsArray([tt(_e.x),tt(_e.y),tt(et.x),tt(et.y)])}else return 0},cachedBoundingBoxImpl=function($,_e){var et=$._private,tt,rt=$.isEdge(),at=_e==null?defBbOptsKey:getKey(_e),nt=at===defBbOptsKey,it=getBoundingBoxPosKey($),ot=et.bbCachePosKey===it,st=_e.useCache&&ot,lt=function(At){return At._private.bbCache==null||At._private.styleDirty},ct=!st||lt($)||rt&<($.source())||lt($.target());if(ct?(ot||$.recalculateRenderedStyle(st),tt=boundingBoxImpl($,defBbOpts),et.bbCache=tt,et.bbCachePosKey=it):tt=et.bbCache,!nt){var ut=$.isNode();tt=makeBoundingBox(),(_e.includeNodes&&ut||_e.includeEdges&&!ut)&&(_e.includeOverlays?updateBoundsFromBox(tt,et.overlayBounds):updateBoundsFromBox(tt,et.bodyBounds)),_e.includeLabels&&(_e.includeMainLabels&&(!rt||_e.includeSourceLabels&&_e.includeTargetLabels)?updateBoundsFromBox(tt,et.labelBounds.all):(_e.includeMainLabels&&updateBoundsFromBox(tt,et.labelBounds.mainRot),_e.includeSourceLabels&&updateBoundsFromBox(tt,et.labelBounds.sourceRot),_e.includeTargetLabels&&updateBoundsFromBox(tt,et.labelBounds.targetRot))),tt.w=tt.x2-tt.x1,tt.h=tt.y2-tt.y1}return tt},defBbOpts={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,useCache:!0},defBbOptsKey=getKey(defBbOpts),filledBbOpts=defaults$g(defBbOpts);elesfn$b.boundingBox=function(o){var $;if(this.length===1&&this[0]._private.bbCache!=null&&!this[0]._private.styleDirty&&(o===void 0||o.useCache===void 0||o.useCache===!0))o===void 0?o=defBbOpts:o=filledBbOpts(o),$=cachedBoundingBoxImpl(this[0],o);else{$=makeBoundingBox(),o=o||defBbOpts;var _e=filledBbOpts(o),et=this,tt=et.cy(),rt=tt.styleEnabled();if(rt)for(var at=0;at0}},clearQueue:function(){return function(){var _e=this,et=_e.length!==void 0,tt=et?_e:[_e],rt=this._private.cy||this;if(!rt.styleEnabled())return this;for(var at=0;at0&&this.spawn(tt).updateStyle().emit("class"),_e},addClass:function($){return this.toggleClass($,!0)},hasClass:function($){var _e=this[0];return _e!=null&&_e._private.classes.has($)},toggleClass:function($,_e){array$4($)||($=$.match(/\S+/g)||[]);for(var et=this,tt=_e===void 0,rt=[],at=0,nt=et.length;at0&&this.spawn(rt).updateStyle().emit("class"),et},removeClass:function($){return this.toggleClass($,!1)},flashClass:function($,_e){var et=this;if(_e==null)_e=250;else if(_e===0)return et;return et.addClass($),setTimeout(function(){et.removeClass($)},_e),et}};elesfn$h.className=elesfn$h.classNames=elesfn$h.classes;var tokens={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:number$2,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tokens.variable="(?:[\\w-.]|(?:\\\\"+tokens.metaChar+"))+";tokens.className="(?:[\\w-]|(?:\\\\"+tokens.metaChar+"))+";tokens.value=tokens.string+"|"+tokens.number;tokens.id=tokens.variable;(function(){var o,$,_e;for(o=tokens.comparatorOp.split("|"),_e=0;_e=0)&&$!=="="&&(tokens.comparatorOp+="|\\!"+$)})();var newQuery=function(){return{checks:[]}},Type={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},stateSelectors=[{selector:":selected",matches:function($){return $.selected()}},{selector:":unselected",matches:function($){return!$.selected()}},{selector:":selectable",matches:function($){return $.selectable()}},{selector:":unselectable",matches:function($){return!$.selectable()}},{selector:":locked",matches:function($){return $.locked()}},{selector:":unlocked",matches:function($){return!$.locked()}},{selector:":visible",matches:function($){return $.visible()}},{selector:":hidden",matches:function($){return!$.visible()}},{selector:":transparent",matches:function($){return $.transparent()}},{selector:":grabbed",matches:function($){return $.grabbed()}},{selector:":free",matches:function($){return!$.grabbed()}},{selector:":removed",matches:function($){return $.removed()}},{selector:":inside",matches:function($){return!$.removed()}},{selector:":grabbable",matches:function($){return $.grabbable()}},{selector:":ungrabbable",matches:function($){return!$.grabbable()}},{selector:":animated",matches:function($){return $.animated()}},{selector:":unanimated",matches:function($){return!$.animated()}},{selector:":parent",matches:function($){return $.isParent()}},{selector:":childless",matches:function($){return $.isChildless()}},{selector:":child",matches:function($){return $.isChild()}},{selector:":orphan",matches:function($){return $.isOrphan()}},{selector:":nonorphan",matches:function($){return $.isChild()}},{selector:":compound",matches:function($){return $.isNode()?$.isParent():$.source().isParent()||$.target().isParent()}},{selector:":loop",matches:function($){return $.isLoop()}},{selector:":simple",matches:function($){return $.isSimple()}},{selector:":active",matches:function($){return $.active()}},{selector:":inactive",matches:function($){return!$.active()}},{selector:":backgrounding",matches:function($){return $.backgrounding()}},{selector:":nonbackgrounding",matches:function($){return!$.backgrounding()}}].sort(function(o,$){return descending$2(o.selector,$.selector)}),lookup=function(){for(var o={},$,_e=0;_e0&&st.edgeCount>0)return warn("The selector `"+$+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(st.edgeCount>1)return warn("The selector `"+$+"` is invalid because it uses multiple edge selectors"),!1;st.edgeCount===1&&warn("The selector `"+$+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString$2=function(){if(this.toStringCache!=null)return this.toStringCache;for(var $=function(st){return st==null?"":st},_e=function(st){return string$1(st)?'"'+st+'"':$(st)},et=function(st){return" "+st+" "},tt=function(st,lt){var ct=st.type,ut=st.value;switch(ct){case Type.GROUP:{var ft=$(ut);return ft.substring(0,ft.length-1)}case Type.DATA_COMPARE:{var At=st.field,vt=st.operator;return"["+At+et($(vt))+_e(ut)+"]"}case Type.DATA_BOOL:{var ht=st.operator,mt=st.field;return"["+$(ht)+mt+"]"}case Type.DATA_EXIST:{var bt=st.field;return"["+bt+"]"}case Type.META_COMPARE:{var dt=st.operator,xt=st.field;return"[["+xt+et($(dt))+_e(ut)+"]]"}case Type.STATE:return ut;case Type.ID:return"#"+ut;case Type.CLASS:return"."+ut;case Type.PARENT:case Type.CHILD:return rt(st.parent,lt)+et(">")+rt(st.child,lt);case Type.ANCESTOR:case Type.DESCENDANT:return rt(st.ancestor,lt)+" "+rt(st.descendant,lt);case Type.COMPOUND_SPLIT:{var Ct=rt(st.left,lt),gt=rt(st.subject,lt),wt=rt(st.right,lt);return Ct+(Ct.length>0?" ":"")+gt+wt}case Type.TRUE:return""}},rt=function(st,lt){return st.checks.reduce(function(ct,ut,ft){return ct+(lt===st&&ft===0?"$":"")+tt(ut,lt)},"")},at="",nt=0;nt1&&nt=0&&(_e=_e.replace("!",""),lt=!0),_e.indexOf("@")>=0&&(_e=_e.replace("@",""),st=!0),(rt||nt||st)&&(it=!rt&&!at?"":""+$,ot=""+et),st&&($=it=it.toLowerCase(),et=ot=ot.toLowerCase()),_e){case"*=":tt=it.indexOf(ot)>=0;break;case"$=":tt=it.indexOf(ot,it.length-ot.length)>=0;break;case"^=":tt=it.indexOf(ot)===0;break;case"=":tt=$===et;break;case">":ct=!0,tt=$>et;break;case">=":ct=!0,tt=$>=et;break;case"<":ct=!0,tt=$0;){var st=tt.shift();$(st),rt.add(st.id()),nt&&et(tt,rt,st)}return o}function addChildren(o,$,_e){if(_e.isParent())for(var et=_e._private.children,tt=0;tt1&&arguments[1]!==void 0?arguments[1]:!0;return forEachCompound(this,o,$,addChildren)};function addParent(o,$,_e){if(_e.isChild()){var et=_e._private.parent;$.has(et.id())||o.push(et)}}elesfn$f.forEachUp=function(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return forEachCompound(this,o,$,addParent)};function addParentAndChildren(o,$,_e){addParent(o,$,_e),addChildren(o,$,_e)}elesfn$f.forEachUpAndDown=function(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return forEachCompound(this,o,$,addParentAndChildren)};elesfn$f.ancestors=elesfn$f.parents;var fn$5,elesfn$e;fn$5=elesfn$e={data:define$4.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:define$4.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:define$4.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:define$4.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:define$4.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:define$4.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var $=this[0];if($)return $._private.data.id}};fn$5.attr=fn$5.data;fn$5.removeAttr=fn$5.removeData;var data=elesfn$e,elesfn$d={};function defineDegreeFunction(o){return function($){var _e=this;if($===void 0&&($=!0),_e.length!==0)if(_e.isNode()&&!_e.removed()){for(var et=0,tt=_e[0],rt=tt._private.edges,at=0;at$}),minIndegree:defineDegreeBoundsFunction("indegree",function(o,$){return o<$}),maxIndegree:defineDegreeBoundsFunction("indegree",function(o,$){return o>$}),minOutdegree:defineDegreeBoundsFunction("outdegree",function(o,$){return o<$}),maxOutdegree:defineDegreeBoundsFunction("outdegree",function(o,$){return o>$})});extend$3(elesfn$d,{totalDegree:function($){for(var _e=0,et=this.nodes(),tt=0;tt0,ct=lt;lt&&(st=st[0]);var ut=ct?st.position():{x:0,y:0};_e!==void 0?ot.position($,_e+ut[$]):rt!==void 0&&ot.position({x:rt.x+ut.x,y:rt.y+ut.y})}else{var ft=et.position(),At=nt?et.parent():null,vt=At&&At.length>0,ht=vt;vt&&(At=At[0]);var mt=ht?At.position():{x:0,y:0};return rt={x:ft.x-mt.x,y:ft.y-mt.y},$===void 0?rt:rt[$]}else if(!at)return;return this}};fn$4.modelPosition=fn$4.point=fn$4.position;fn$4.modelPositions=fn$4.points=fn$4.positions;fn$4.renderedPoint=fn$4.renderedPosition;fn$4.relativePoint=fn$4.relativePosition;var position$3=elesfn$c,fn$3,elesfn$b;fn$3=elesfn$b={};elesfn$b.renderedBoundingBox=function(o){var $=this.boundingBox(o),_e=this.cy(),et=_e.zoom(),tt=_e.pan(),rt=$.x1*et+tt.x,at=$.x2*et+tt.x,nt=$.y1*et+tt.y,it=$.y2*et+tt.y;return{x1:rt,x2:at,y1:nt,y2:it,w:at-rt,h:it-nt}};elesfn$b.dirtyCompoundBoundsCache=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,$=this.cy();return!$.styleEnabled()||!$.hasCompoundNodes()?this:(this.forEachUp(function(_e){if(_e.isParent()){var et=_e._private;et.compoundBoundsClean=!1,et.bbCache=null,o||_e.emitAndNotify("bounds")}}),this)};elesfn$b.updateCompoundBounds=function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,$=this.cy();if(!$.styleEnabled()||!$.hasCompoundNodes())return this;if(!o&&$.batching())return this;function _e(at){if(!at.isParent())return;var nt=at._private,it=at.children(),ot=at.pstyle("compound-sizing-wrt-labels").value==="include",st={width:{val:at.pstyle("min-width").pfValue,left:at.pstyle("min-width-bias-left"),right:at.pstyle("min-width-bias-right")},height:{val:at.pstyle("min-height").pfValue,top:at.pstyle("min-height-bias-top"),bottom:at.pstyle("min-height-bias-bottom")}},lt=it.boundingBox({includeLabels:ot,includeOverlays:!1,useCache:!1}),ct=nt.position;(lt.w===0||lt.h===0)&&(lt={w:at.pstyle("width").pfValue,h:at.pstyle("height").pfValue},lt.x1=ct.x-lt.w/2,lt.x2=ct.x+lt.w/2,lt.y1=ct.y-lt.h/2,lt.y2=ct.y+lt.h/2);function ut(_t,Et,It){var Tt=0,Rt=0,Ot=Et+It;return _t>0&&Ot>0&&(Tt=Et/Ot*_t,Rt=It/Ot*_t),{biasDiff:Tt,biasComplementDiff:Rt}}function ft(_t,Et,It,Tt){if(It.units==="%")switch(Tt){case"width":return _t>0?It.pfValue*_t:0;case"height":return Et>0?It.pfValue*Et:0;case"average":return _t>0&&Et>0?It.pfValue*(_t+Et)/2:0;case"min":return _t>0&&Et>0?_t>Et?It.pfValue*Et:It.pfValue*_t:0;case"max":return _t>0&&Et>0?_t>Et?It.pfValue*_t:It.pfValue*Et:0;default:return 0}else return It.units==="px"?It.pfValue:0}var At=st.width.left.value;st.width.left.units==="px"&&st.width.val>0&&(At=At*100/st.width.val);var vt=st.width.right.value;st.width.right.units==="px"&&st.width.val>0&&(vt=vt*100/st.width.val);var ht=st.height.top.value;st.height.top.units==="px"&&st.height.val>0&&(ht=ht*100/st.height.val);var mt=st.height.bottom.value;st.height.bottom.units==="px"&&st.height.val>0&&(mt=mt*100/st.height.val);var bt=ut(st.width.val-lt.w,At,vt),dt=bt.biasDiff,xt=bt.biasComplementDiff,Ct=ut(st.height.val-lt.h,ht,mt),gt=Ct.biasDiff,wt=Ct.biasComplementDiff;nt.autoPadding=ft(lt.w,lt.h,at.pstyle("padding"),at.pstyle("padding-relative-to").value),nt.autoWidth=Math.max(lt.w,st.width.val),ct.x=(-dt+lt.x1+lt.x2+xt)/2,nt.autoHeight=Math.max(lt.h,st.height.val),ct.y=(-gt+lt.y1+lt.y2+wt)/2}for(var et=0;et$.x2?tt:$.x2,$.y1=et<$.y1?et:$.y1,$.y2=rt>$.y2?rt:$.y2,$.w=$.x2-$.x1,$.h=$.y2-$.y1)},updateBoundsFromBox=function($,_e){return _e==null?$:updateBounds($,_e.x1,_e.y1,_e.x2,_e.y2)},prefixedProperty=function($,_e,et){return getPrefixedProperty($,_e,et)},updateBoundsFromArrow=function($,_e,et){if(!_e.cy().headless()){var tt=_e._private,rt=tt.rstyle,at=rt.arrowWidth/2,nt=_e.pstyle(et+"-arrow-shape").value,it,ot;if(nt!=="none"){et==="source"?(it=rt.srcX,ot=rt.srcY):et==="target"?(it=rt.tgtX,ot=rt.tgtY):(it=rt.midX,ot=rt.midY);var st=tt.arrowBounds=tt.arrowBounds||{},lt=st[et]=st[et]||{};lt.x1=it-at,lt.y1=ot-at,lt.x2=it+at,lt.y2=ot+at,lt.w=lt.x2-lt.x1,lt.h=lt.y2-lt.y1,expandBoundingBox(lt,1),updateBounds($,lt.x1,lt.y1,lt.x2,lt.y2)}}},updateBoundsFromLabel=function($,_e,et){if(!_e.cy().headless()){var tt;et?tt=et+"-":tt="";var rt=_e._private,at=rt.rstyle,nt=_e.pstyle(tt+"label").strValue;if(nt){var it=_e.pstyle("text-halign"),ot=_e.pstyle("text-valign"),st=prefixedProperty(at,"labelWidth",et),lt=prefixedProperty(at,"labelHeight",et),ct=prefixedProperty(at,"labelX",et),ut=prefixedProperty(at,"labelY",et),ft=_e.pstyle(tt+"text-margin-x").pfValue,At=_e.pstyle(tt+"text-margin-y").pfValue,vt=_e.isEdge(),ht=_e.pstyle(tt+"text-rotation"),mt=_e.pstyle("text-outline-width").pfValue,bt=_e.pstyle("text-border-width").pfValue,dt=bt/2,xt=_e.pstyle("text-background-padding").pfValue,Ct=2,gt=lt,wt=st,_t=wt/2,Et=gt/2,It,Tt,Rt,Ot;if(vt)It=ct-_t,Tt=ct+_t,Rt=ut-Et,Ot=ut+Et;else{switch(it.value){case"left":It=ct-wt,Tt=ct;break;case"center":It=ct-_t,Tt=ct+_t;break;case"right":It=ct,Tt=ct+wt;break}switch(ot.value){case"top":Rt=ut-gt,Ot=ut;break;case"center":Rt=ut-Et,Ot=ut+Et;break;case"bottom":Rt=ut,Ot=ut+gt;break}}It+=ft-Math.max(mt,dt)-xt-Ct,Tt+=ft+Math.max(mt,dt)+xt+Ct,Rt+=At-Math.max(mt,dt)-xt-Ct,Ot+=At+Math.max(mt,dt)+xt+Ct;var Mt=et||"main",Bt=rt.labelBounds,Lt=Bt[Mt]=Bt[Mt]||{};Lt.x1=It,Lt.y1=Rt,Lt.x2=Tt,Lt.y2=Ot,Lt.w=Tt-It,Lt.h=Ot-Rt;var jt=vt&&ht.strValue==="autorotate",zt=ht.pfValue!=null&&ht.pfValue!==0;if(jt||zt){var Nt=jt?prefixedProperty(rt.rstyle,"labelAngle",et):ht.pfValue,Wt=Math.cos(Nt),qt=Math.sin(Nt),nr=(It+Tt)/2,ar=(Rt+Ot)/2;if(!vt){switch(it.value){case"left":nr=Tt;break;case"right":nr=It;break}switch(ot.value){case"top":ar=Ot;break;case"bottom":ar=Rt;break}}var Kt=function(Ar,hr){return Ar=Ar-nr,hr=hr-ar,{x:Ar*Wt-hr*qt+nr,y:Ar*qt+hr*Wt+ar}},er=Kt(It,Rt),Ut=Kt(It,Ot),Ht=Kt(Tt,Rt),Ft=Kt(Tt,Ot);It=Math.min(er.x,Ut.x,Ht.x,Ft.x),Tt=Math.max(er.x,Ut.x,Ht.x,Ft.x),Rt=Math.min(er.y,Ut.y,Ht.y,Ft.y),Ot=Math.max(er.y,Ut.y,Ht.y,Ft.y)}var Vt=Mt+"Rot",Jt=Bt[Vt]=Bt[Vt]||{};Jt.x1=It,Jt.y1=Rt,Jt.x2=Tt,Jt.y2=Ot,Jt.w=Tt-It,Jt.h=Ot-Rt,updateBounds($,It,Rt,Tt,Ot),updateBounds(rt.labelBounds.all,It,Rt,Tt,Ot)}return $}},boundingBoxImpl=function($,_e){var et=$._private.cy,tt=et.styleEnabled(),rt=et.headless(),at=makeBoundingBox(),nt=$._private,it=$.isNode(),ot=$.isEdge(),st,lt,ct,ut,ft,At,vt=nt.rstyle,ht=it&&tt?$.pstyle("bounds-expansion").pfValue:[0],mt=function(Er){return Er.pstyle("display").value!=="none"},bt=!tt||mt($)&&(!ot||mt($.source())&&mt($.target()));if(bt){var dt=0,xt=0;tt&&_e.includeOverlays&&(dt=$.pstyle("overlay-opacity").value,dt!==0&&(xt=$.pstyle("overlay-padding").value));var Ct=0,gt=0;tt&&_e.includeUnderlays&&(Ct=$.pstyle("underlay-opacity").value,Ct!==0&&(gt=$.pstyle("underlay-padding").value));var wt=Math.max(xt,gt),_t=0,Et=0;if(tt&&(_t=$.pstyle("width").pfValue,Et=_t/2),it&&_e.includeNodes){var It=$.position();ft=It.x,At=It.y;var Tt=$.outerWidth(),Rt=Tt/2,Ot=$.outerHeight(),Mt=Ot/2;st=ft-Rt,lt=ft+Rt,ct=At-Mt,ut=At+Mt,updateBounds(at,st,ct,lt,ut)}else if(ot&&_e.includeEdges)if(tt&&!rt){var Bt=$.pstyle("curve-style").strValue;if(st=Math.min(vt.srcX,vt.midX,vt.tgtX),lt=Math.max(vt.srcX,vt.midX,vt.tgtX),ct=Math.min(vt.srcY,vt.midY,vt.tgtY),ut=Math.max(vt.srcY,vt.midY,vt.tgtY),st-=Et,lt+=Et,ct-=Et,ut+=Et,updateBounds(at,st,ct,lt,ut),Bt==="haystack"){var Lt=vt.haystackPts;if(Lt&&Lt.length===2){if(st=Lt[0].x,ct=Lt[0].y,lt=Lt[1].x,ut=Lt[1].y,st>lt){var jt=st;st=lt,lt=jt}if(ct>ut){var zt=ct;ct=ut,ut=zt}updateBounds(at,st-Et,ct-Et,lt+Et,ut+Et)}}else if(Bt==="bezier"||Bt==="unbundled-bezier"||Bt==="segments"||Bt==="taxi"){var Nt;switch(Bt){case"bezier":case"unbundled-bezier":Nt=vt.bezierPts;break;case"segments":case"taxi":Nt=vt.linePts;break}if(Nt!=null)for(var Wt=0;Wtlt){var Ut=st;st=lt,lt=Ut}if(ct>ut){var Ht=ct;ct=ut,ut=Ht}st-=Et,lt+=Et,ct-=Et,ut+=Et,updateBounds(at,st,ct,lt,ut)}if(tt&&_e.includeEdges&&ot&&(updateBoundsFromArrow(at,$,"mid-source"),updateBoundsFromArrow(at,$,"mid-target"),updateBoundsFromArrow(at,$,"source"),updateBoundsFromArrow(at,$,"target")),tt){var Ft=$.pstyle("ghost").value==="yes";if(Ft){var Vt=$.pstyle("ghost-offset-x").pfValue,Jt=$.pstyle("ghost-offset-y").pfValue;updateBounds(at,at.x1+Vt,at.y1+Jt,at.x2+Vt,at.y2+Jt)}}var or=nt.bodyBounds=nt.bodyBounds||{};assignBoundingBox(or,at),expandBoundingBoxSides(or,ht),expandBoundingBox(or,1),tt&&(st=at.x1,lt=at.x2,ct=at.y1,ut=at.y2,updateBounds(at,st-wt,ct-wt,lt+wt,ut+wt));var Ar=nt.overlayBounds=nt.overlayBounds||{};assignBoundingBox(Ar,at),expandBoundingBoxSides(Ar,ht),expandBoundingBox(Ar,1);var hr=nt.labelBounds=nt.labelBounds||{};hr.all!=null?clearBoundingBox(hr.all):hr.all=makeBoundingBox(),tt&&_e.includeLabels&&(_e.includeMainLabels&&updateBoundsFromLabel(at,$,null),ot&&(_e.includeSourceLabels&&updateBoundsFromLabel(at,$,"source"),_e.includeTargetLabels&&updateBoundsFromLabel(at,$,"target")))}return at.x1=noninf(at.x1),at.y1=noninf(at.y1),at.x2=noninf(at.x2),at.y2=noninf(at.y2),at.w=noninf(at.x2-at.x1),at.h=noninf(at.y2-at.y1),at.w>0&&at.h>0&&bt&&(expandBoundingBoxSides(at,ht),expandBoundingBox(at,1)),at},getKey=function($){var _e=0,et=function(at){return(at?1:0)<<_e++},tt=0;return tt+=et($.incudeNodes),tt+=et($.includeEdges),tt+=et($.includeLabels),tt+=et($.includeMainLabels),tt+=et($.includeSourceLabels),tt+=et($.includeTargetLabels),tt+=et($.includeOverlays),tt},getBoundingBoxPosKey=function($){if($.isEdge()){var _e=$.source().position(),et=$.target().position(),tt=function(at){return Math.round(at)};return hashIntsArray([tt(_e.x),tt(_e.y),tt(et.x),tt(et.y)])}else return 0},cachedBoundingBoxImpl=function($,_e){var et=$._private,tt,rt=$.isEdge(),at=_e==null?defBbOptsKey:getKey(_e),nt=at===defBbOptsKey,it=getBoundingBoxPosKey($),ot=et.bbCachePosKey===it,st=_e.useCache&&ot,lt=function(At){return At._private.bbCache==null||At._private.styleDirty},ct=!st||lt($)||rt&<($.source())||lt($.target());if(ct?(ot||$.recalculateRenderedStyle(st),tt=boundingBoxImpl($,defBbOpts),et.bbCache=tt,et.bbCachePosKey=it):tt=et.bbCache,!nt){var ut=$.isNode();tt=makeBoundingBox(),(_e.includeNodes&&ut||_e.includeEdges&&!ut)&&(_e.includeOverlays?updateBoundsFromBox(tt,et.overlayBounds):updateBoundsFromBox(tt,et.bodyBounds)),_e.includeLabels&&(_e.includeMainLabels&&(!rt||_e.includeSourceLabels&&_e.includeTargetLabels)?updateBoundsFromBox(tt,et.labelBounds.all):(_e.includeMainLabels&&updateBoundsFromBox(tt,et.labelBounds.mainRot),_e.includeSourceLabels&&updateBoundsFromBox(tt,et.labelBounds.sourceRot),_e.includeTargetLabels&&updateBoundsFromBox(tt,et.labelBounds.targetRot))),tt.w=tt.x2-tt.x1,tt.h=tt.y2-tt.y1}return tt},defBbOpts={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,useCache:!0},defBbOptsKey=getKey(defBbOpts),filledBbOpts=defaults$g(defBbOpts);elesfn$b.boundingBox=function(o){var $;if(this.length===1&&this[0]._private.bbCache!=null&&!this[0]._private.styleDirty&&(o===void 0||o.useCache===void 0||o.useCache===!0))o===void 0?o=defBbOpts:o=filledBbOpts(o),$=cachedBoundingBoxImpl(this[0],o);else{$=makeBoundingBox(),o=o||defBbOpts;var _e=filledBbOpts(o),et=this,tt=et.cy(),rt=tt.styleEnabled();if(rt)for(var at=0;at0&&arguments[0]!==void 0?arguments[0]:emptyOpts,$=arguments.length>1?arguments[1]:void 0,_e=0;_e=0;nt--)at(nt);return this};p.removeAllListeners=function(){return this.removeListener("*")};p.emit=p.trigger=function(o,$,_e){var et=this.listeners,tt=et.length;return this.emitting++,array$4($)||($=[$]),forEachEventObj(this,function(rt,at){_e!=null&&(et=[{event:at.event,type:at.type,namespace:at.namespace,callback:_e}],tt=et.length);for(var nt=function(st){var lt=et[st];if(lt.type===at.type&&(!lt.namespace||lt.namespace===at.namespace||lt.namespace===universalNamespace)&&rt.eventMatches(rt.context,lt,at)){var ct=[at];$!=null&&push(ct,$),rt.beforeEmit(rt.context,lt,at),lt.conf&<.conf.one&&(rt.listeners=rt.listeners.filter(function(At){return At!==lt}));var ut=rt.callbackContext(rt.context,lt,at),ft=lt.callback.apply(ut,ct);rt.afterEmit(rt.context,lt,at),ft===!1&&(at.stopPropagation(),at.preventDefault())}},it=0;it1&&!at){var nt=this.length-1,it=this[nt],ot=it._private.data.id;this[nt]=void 0,this[$]=it,rt.set(ot,{ele:it,index:$})}return this.length--,this},unmergeOne:function($){$=$[0];var _e=this._private,et=$._private.data.id,tt=_e.map,rt=tt.get(et);if(!rt)return this;var at=rt.index;return this.unmergeAt(at),this},unmerge:function($){var _e=this._private.cy;if(!$)return this;if($&&string$1($)){var et=$;$=_e.mutableElements().filter(et)}for(var tt=0;tt<$.length;tt++)this.unmergeOne($[tt]);return this},unmergeBy:function($){for(var _e=this.length-1;_e>=0;_e--){var et=this[_e];$(et)&&this.unmergeAt(_e)}return this},map:function($,_e){for(var et=[],tt=this,rt=0;rtet&&(et=it,tt=nt)}return{value:et,ele:tt}},min:function($,_e){for(var et=1/0,tt,rt=this,at=0;at=0&&rt<_e&&rt"u"?"undefined":_typeof$H(Symbol))!=$&&_typeof$H(Symbol.iterator)!=$;_e&&(elesfn$6[Symbol.iterator]=function(){var et=this,tt={value:void 0,done:!1},rt=0,at=this.length;return _defineProperty$M({next:function(){return rt1&&arguments[1]!==void 0?arguments[1]:!0,et=this[0],tt=et.cy();if(tt.styleEnabled()&&et){this.cleanStyle();var rt=et._private.style[$];return rt!=null?rt:_e?tt.style().getDefaultProperty($):null}},numericStyle:function($){var _e=this[0];if(_e.cy().styleEnabled()&&_e){var et=_e.pstyle($);return et.pfValue!==void 0?et.pfValue:et.value}},numericStyleUnits:function($){var _e=this[0];if(_e.cy().styleEnabled()&&_e)return _e.pstyle($).units},renderedStyle:function($){var _e=this.cy();if(!_e.styleEnabled())return this;var et=this[0];if(et)return _e.style().getRenderedStyle(et,$)},style:function($,_e){var et=this.cy();if(!et.styleEnabled())return this;var tt=!1,rt=et.style();if(plainObject($)){var at=$;rt.applyBypass(this,at,tt),this.emitAndNotify("style")}else if(string$1($))if(_e===void 0){var nt=this[0];return nt?rt.getStylePropertyValue(nt,$):void 0}else rt.applyBypass(this,$,_e,tt),this.emitAndNotify("style");else if($===void 0){var it=this[0];return it?rt.getRawStyle(it):void 0}return this},removeStyle:function($){var _e=this.cy();if(!_e.styleEnabled())return this;var et=!1,tt=_e.style(),rt=this;if($===void 0)for(var at=0;at0&&$.push(st[0]),$.push(nt[0])}return this.spawn($,!0).filter(o)},"neighborhood"),closedNeighborhood:function($){return this.neighborhood().add(this).filter($)},openNeighborhood:function($){return this.neighborhood($)}});elesfn$2.neighbourhood=elesfn$2.neighborhood;elesfn$2.closedNeighbourhood=elesfn$2.closedNeighborhood;elesfn$2.openNeighbourhood=elesfn$2.openNeighborhood;extend$3(elesfn$2,{source:cache$1(function($){var _e=this[0],et;return _e&&(et=_e._private.source||_e.cy().collection()),et&&$?et.filter($):et},"source"),target:cache$1(function($){var _e=this[0],et;return _e&&(et=_e._private.target||_e.cy().collection()),et&&$?et.filter($):et},"target"),sources:defineSourceFunction({attr:"source"}),targets:defineSourceFunction({attr:"target"})});function defineSourceFunction(o){return function(_e){for(var et=[],tt=0;tt0);return at},component:function(){var $=this[0];return $.cy().mutableElements().components($)[0]}});elesfn$2.componentsOf=elesfn$2.components;var Collection=function($,_e){var et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,tt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if($===void 0){error("A collection must have a reference to the core");return}var rt=new Map$1$1,at=!1;if(!_e)_e=[];else if(_e.length>0&&plainObject(_e[0])&&!element(_e[0])){at=!0;for(var nt=[],it=new Set$1$1,ot=0,st=_e.length;ot0&&arguments[0]!==void 0?arguments[0]:!0,$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,_e=this,et=_e.cy(),tt=et._private,rt=[],at=[],nt,it=0,ot=_e.length;it0){for(var zt=nt.length===_e.length?_e:new Collection(et,nt),Nt=0;Nt0&&arguments[0]!==void 0?arguments[0]:!0,$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,_e=this,et=[],tt={},rt=_e._private.cy;function at(Ot){for(var Mt=Ot._private.edges,Bt=0;Bt0&&(o?It.emitAndNotify("remove"):$&&It.emit("remove"));for(var Tt=0;Tt0?Tt=Ot:It=Ot;while(Math.abs(Rt)>at&&++Mt=rt?bt(Et,Mt):Bt===0?Mt:dt(Et,It,It+ot)}var Ct=!1;function gt(){Ct=!0,(o!==$||_e!==et)&&pt()}var yt=function(It){return Ct||gt(),o===$&&_e===et?It:It===0?0:It===1?1:vt(_t(It),$,et)};yt.getControlPoints=function(){return[{x:o,y:$},{x:_e,y:et}]};var xt="generateBezier("+[o,$,_e,et]+")";return yt.toString=function(){return xt},yt}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var generateSpringRK4=function(){function o(et){return-et.tension*et.x-et.friction*et.v}function $(et,tt,rt){var at={x:et.x+rt.dx*tt,v:et.v+rt.dv*tt,tension:et.tension,friction:et.friction};return{dx:at.v,dv:o(at)}}function _e(et,tt){var rt={dx:et.v,dv:o(et)},at=$(et,tt*.5,rt),nt=$(et,tt*.5,at),it=$(et,tt,nt),ot=1/6*(rt.dx+2*(at.dx+nt.dx)+it.dx),st=1/6*(rt.dv+2*(at.dv+nt.dv)+it.dv);return et.x=et.x+ot*tt,et.v=et.v+st*tt,et}return function et(tt,rt,at){var nt={x:-1,v:0,tension:null,friction:null},it=[0],ot=0,st=1/1e4,lt=16/1e3,ct,ut,ft;for(tt=parseFloat(tt)||500,rt=parseFloat(rt)||20,at=at||null,nt.tension=tt,nt.friction=rt,ct=at!==null,ct?(ot=et(tt,rt),ut=ot/at*lt):ut=lt;ft=_e(ft||nt,ut),it.push(1+ft.x),ot+=16,Math.abs(ft.x)>st&&Math.abs(ft.v)>st;);return ct?function(At){return it[At*(it.length-1)|0]}:ot}}(),cubicBezier=function($,_e,et,tt){var rt=generateCubicBezier($,_e,et,tt);return function(at,nt,it){return at+(nt-at)*rt(it)}},easings={linear:function($,_e,et){return $+(_e-$)*et},ease:cubicBezier(.25,.1,.25,1),"ease-in":cubicBezier(.42,0,1,1),"ease-out":cubicBezier(0,0,.58,1),"ease-in-out":cubicBezier(.42,0,.58,1),"ease-in-sine":cubicBezier(.47,0,.745,.715),"ease-out-sine":cubicBezier(.39,.575,.565,1),"ease-in-out-sine":cubicBezier(.445,.05,.55,.95),"ease-in-quad":cubicBezier(.55,.085,.68,.53),"ease-out-quad":cubicBezier(.25,.46,.45,.94),"ease-in-out-quad":cubicBezier(.455,.03,.515,.955),"ease-in-cubic":cubicBezier(.55,.055,.675,.19),"ease-out-cubic":cubicBezier(.215,.61,.355,1),"ease-in-out-cubic":cubicBezier(.645,.045,.355,1),"ease-in-quart":cubicBezier(.895,.03,.685,.22),"ease-out-quart":cubicBezier(.165,.84,.44,1),"ease-in-out-quart":cubicBezier(.77,0,.175,1),"ease-in-quint":cubicBezier(.755,.05,.855,.06),"ease-out-quint":cubicBezier(.23,1,.32,1),"ease-in-out-quint":cubicBezier(.86,0,.07,1),"ease-in-expo":cubicBezier(.95,.05,.795,.035),"ease-out-expo":cubicBezier(.19,1,.22,1),"ease-in-out-expo":cubicBezier(1,0,0,1),"ease-in-circ":cubicBezier(.6,.04,.98,.335),"ease-out-circ":cubicBezier(.075,.82,.165,1),"ease-in-out-circ":cubicBezier(.785,.135,.15,.86),spring:function($,_e,et){if(et===0)return easings.linear;var tt=generateSpringRK4($,_e,et);return function(rt,at,nt){return rt+(at-rt)*tt(nt)}},"cubic-bezier":cubicBezier};function getEasedValue(o,$,_e,et,tt){if(et===1||$===_e)return _e;var rt=tt($,_e,et);return o==null||((o.roundValue||o.color)&&(rt=Math.round(rt)),o.min!==void 0&&(rt=Math.max(rt,o.min)),o.max!==void 0&&(rt=Math.min(rt,o.max))),rt}function getValue$2(o,$){return o.pfValue!=null||o.value!=null?o.pfValue!=null&&($==null||$.type.units!=="%")?o.pfValue:o.value:o}function ease(o,$,_e,et,tt){var rt=tt!=null?tt.type:null;_e<0?_e=0:_e>1&&(_e=1);var at=getValue$2(o,tt),nt=getValue$2($,tt);if(number$1$1(at)&&number$1$1(nt))return getEasedValue(rt,at,nt,_e,et);if(array$4(at)&&array$4(nt)){for(var it=[],ot=0;ot0?(ut==="spring"&&ft.push(at.duration),at.easingImpl=easings[ut].apply(null,ft)):at.easingImpl=easings[ut]}var At=at.easingImpl,vt;if(at.duration===0?vt=1:vt=(_e-it)/at.duration,at.applying&&(vt=at.progress),vt<0?vt=0:vt>1&&(vt=1),at.delay==null){var ht=at.startPosition,bt=at.position;if(bt&&tt&&!o.locked()){var pt={};valid(ht.x,bt.x)&&(pt.x=ease(ht.x,bt.x,vt,At)),valid(ht.y,bt.y)&&(pt.y=ease(ht.y,bt.y,vt,At)),o.position(pt)}var dt=at.startPan,_t=at.pan,Ct=rt.pan,gt=_t!=null&&et;gt&&(valid(dt.x,_t.x)&&(Ct.x=ease(dt.x,_t.x,vt,At)),valid(dt.y,_t.y)&&(Ct.y=ease(dt.y,_t.y,vt,At)),o.emit("pan"));var yt=at.startZoom,xt=at.zoom,Et=xt!=null&&et;Et&&(valid(yt,xt)&&(rt.zoom=bound(rt.minZoom,ease(yt,xt,vt,At),rt.maxZoom)),o.emit("zoom")),(gt||Et)&&o.emit("viewport");var It=at.style;if(It&&It.length>0&&tt){for(var Tt=0;Tt=0;gt--){var yt=Ct[gt];yt()}Ct.splice(0,Ct.length)},bt=ut.length-1;bt>=0;bt--){var pt=ut[bt],dt=pt._private;if(dt.stopped){ut.splice(bt,1),dt.hooked=!1,dt.playing=!1,dt.started=!1,ht(dt.frames);continue}!dt.playing&&!dt.applying||(dt.playing&&dt.applying&&(dt.applying=!1),dt.started||startAnimation(st,pt,o),step$1(st,pt,o,lt),dt.applying&&(dt.applying=!1),ht(dt.frames),dt.step!=null&&dt.step(o),pt.completed()&&(ut.splice(bt,1),dt.hooked=!1,dt.playing=!1,dt.started=!1,ht(dt.completes)),At=!0)}return!lt&&ut.length===0&&ft.length===0&&et.push(st),At}for(var rt=!1,at=0;at<_e.length;at++){var nt=_e[at],it=tt(nt);rt=rt||it}var ot=tt($,!0);(rt||ot)&&(_e.length>0?$.notify("draw",_e):$.notify("draw")),_e.unmerge(et),$.emit("step")}var corefn$8={animate:define$4.animate(),animation:define$4.animation(),animated:define$4.animated(),clearQueue:define$4.clearQueue(),delay:define$4.delay(),delayAnimation:define$4.delayAnimation(),stop:define$4.stop(),addToAnimationPool:function($){var _e=this;_e.styleEnabled()&&_e._private.aniEles.merge($)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var $=this;if($._private.animationsRunning=!0,!$.styleEnabled())return;function _e(){$._private.animationsRunning&&requestAnimationFrame$1(function(rt){stepAll(rt,$),_e()})}var et=$.renderer();et&&et.beforeRender?et.beforeRender(function(rt,at){stepAll(at,$)},et.beforeRenderPriorities.animations):_e()}},emitterOptions={qualifierCompare:function($,_e){return $==null||_e==null?$==null&&_e==null:$.sameText(_e)},eventMatches:function($,_e,et){var tt=_e.qualifier;return tt!=null?$!==et.target&&element(et.target)&&tt.matches(et.target):!0},addEventFields:function($,_e){_e.cy=$,_e.target=$},callbackContext:function($,_e,et){return _e.qualifier!=null?et.target:$}},argSelector=function($){return string$1($)?new Selector$2($):$},elesfn={createEmitter:function(){var $=this._private;return $.emitter||($.emitter=new Emitter(emitterOptions,this)),this},emitter:function(){return this._private.emitter},on:function($,_e,et){return this.emitter().on($,argSelector(_e),et),this},removeListener:function($,_e,et){return this.emitter().removeListener($,argSelector(_e),et),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function($,_e,et){return this.emitter().one($,argSelector(_e),et),this},once:function($,_e,et){return this.emitter().one($,argSelector(_e),et),this},emit:function($,_e){return this.emitter().emit($,_e),this},emitAndNotify:function($,_e){return this.emit($),this.notify($,_e),this}};define$4.eventAliasesOn(elesfn);var corefn$7={png:function($){var _e=this._private.renderer;return $=$||{},_e.png($)},jpg:function($){var _e=this._private.renderer;return $=$||{},$.bg=$.bg||"#fff",_e.jpg($)}};corefn$7.jpeg=corefn$7.jpg;var corefn$6={layout:function($){var _e=this;if($==null){error("Layout options must be specified to make a layout");return}if($.name==null){error("A `name` must be specified to make a layout");return}var et=$.name,tt=_e.extension("layout",et);if(tt==null){error("No such layout `"+et+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var rt;string$1($.eles)?rt=_e.$($.eles):rt=$.eles!=null?$.eles:_e.$();var at=new tt(extend$3({},$,{cy:_e,eles:rt}));return at}};corefn$6.createLayout=corefn$6.makeLayout=corefn$6.layout;var corefn$5={notify:function($,_e){var et=this._private;if(this.batching()){et.batchNotifications=et.batchNotifications||{};var tt=et.batchNotifications[$]=et.batchNotifications[$]||this.collection();_e!=null&&tt.merge(_e);return}if(et.notificationsEnabled){var rt=this.renderer();this.destroyed()||!rt||rt.notify($,_e)}},notifications:function($){var _e=this._private;return $===void 0?_e.notificationsEnabled:(_e.notificationsEnabled=!!$,this)},noNotifications:function($){this.notifications(!1),$(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var $=this._private;return $.batchCount==null&&($.batchCount=0),$.batchCount===0&&($.batchStyleEles=this.collection(),$.batchNotifications={}),$.batchCount++,this},endBatch:function(){var $=this._private;if($.batchCount===0)return this;if($.batchCount--,$.batchCount===0){$.batchStyleEles.updateStyle();var _e=this.renderer();Object.keys($.batchNotifications).forEach(function(et){var tt=$.batchNotifications[et];tt.empty()?_e.notify(et):_e.notify(et,tt)})}return this},batch:function($){return this.startBatch(),$(),this.endBatch(),this},batchData:function($){var _e=this;return this.batch(function(){for(var et=Object.keys($),tt=0;tt0;)_e.removeChild(_e.childNodes[0]);$._private.renderer=null,$.mutableElements().forEach(function(et){var tt=et._private;tt.rscratch={},tt.rstyle={},tt.animation.current=[],tt.animation.queue=[]})},onRender:function($){return this.on("render",$)},offRender:function($){return this.off("render",$)}};corefn$4.invalidateDimensions=corefn$4.resize;var corefn$3={collection:function($,_e){return string$1($)?this.$($):elementOrCollection($)?$.collection():array$4($)?(_e||(_e={}),new Collection(this,$,_e.unique,_e.removed)):new Collection(this)},nodes:function($){var _e=this.$(function(et){return et.isNode()});return $?_e.filter($):_e},edges:function($){var _e=this.$(function(et){return et.isEdge()});return $?_e.filter($):_e},$:function($){var _e=this._private.elements;return $?_e.filter($):_e.spawnSelf()},mutableElements:function(){return this._private.elements}};corefn$3.elements=corefn$3.filter=corefn$3.$;var styfn$8={},TRUE="t",FALSE="f";styfn$8.apply=function(o){for(var $=this,_e=$._private,et=_e.cy,tt=et.collection(),rt=0;rt0;if(ct||lt&&ut){var ft=void 0;ct&&ut||ct?ft=ot.properties:ut&&(ft=ot.mappedProperties);for(var At=0;At1&&(dt=1),nt.color){var Ct=et.valueMin[0],gt=et.valueMax[0],yt=et.valueMin[1],xt=et.valueMax[1],Et=et.valueMin[2],It=et.valueMax[2],Tt=et.valueMin[3]==null?1:et.valueMin[3],Rt=et.valueMax[3]==null?1:et.valueMax[3],Ot=[Math.round(Ct+(gt-Ct)*dt),Math.round(yt+(xt-yt)*dt),Math.round(Et+(It-Et)*dt),Math.round(Tt+(Rt-Tt)*dt)];rt={bypass:et.bypass,name:et.name,value:Ot,strValue:"rgb("+Ot[0]+", "+Ot[1]+", "+Ot[2]+")"}}else if(nt.number){var Mt=et.valueMin+(et.valueMax-et.valueMin)*dt;rt=this.parse(et.name,Mt,et.bypass,ct)}else return!1;if(!rt)return At(),!1;rt.mapping=et,et=rt;break}case at.data:{for(var Bt=et.field.split("."),Lt=lt.data,Vt=0;Vt0&&rt>0){for(var nt={},it=!1,ot=0;ot0?o.delayAnimation(at).play().promise().then(pt):pt()}).then(function(){return o.animation({style:nt,duration:rt,easing:o.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){_e.removeBypasses(o,tt),o.emitAndNotify("style"),et.transitioning=!1})}else et.transitioning&&(this.removeBypasses(o,tt),o.emitAndNotify("style"),et.transitioning=!1)};styfn$8.checkTrigger=function(o,$,_e,et,tt,rt){var at=this.properties[$],nt=tt(at);nt!=null&&nt(_e,et)&&rt(at)};styfn$8.checkZOrderTrigger=function(o,$,_e,et){var tt=this;this.checkTrigger(o,$,_e,et,function(rt){return rt.triggersZOrder},function(){tt._private.cy.notify("zorder",o)})};styfn$8.checkBoundsTrigger=function(o,$,_e,et){this.checkTrigger(o,$,_e,et,function(tt){return tt.triggersBounds},function(tt){o.dirtyCompoundBoundsCache(),o.dirtyBoundingBoxCache(),tt.triggersBoundsOfParallelBeziers&&($==="curve-style"&&(_e==="bezier"||et==="bezier")||$==="display"&&(_e==="none"||et==="none"))&&o.parallelEdges().forEach(function(rt){rt.isBundledBezier()&&rt.dirtyBoundingBoxCache()})})};styfn$8.checkTriggers=function(o,$,_e,et){o.dirtyStyleCache(),this.checkZOrderTrigger(o,$,_e,et),this.checkBoundsTrigger(o,$,_e,et)};var styfn$7={};styfn$7.applyBypass=function(o,$,_e,et){var tt=this,rt=[],at=!0;if($==="*"||$==="**"){if(_e!==void 0)for(var nt=0;nttt.length?et=et.substr(tt.length):et=""}function it(){rt.length>at.length?rt=rt.substr(at.length):rt=""}for(;;){var ot=et.match(/^\s*$/);if(ot)break;var st=et.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!st){warn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+et);break}tt=st[0];var lt=st[1];if(lt!=="core"){var ct=new Selector$2(lt);if(ct.invalid){warn("Skipping parsing of block: Invalid selector found in string stylesheet: "+lt),nt();continue}}var ut=st[2],ft=!1;rt=ut;for(var At=[];;){var vt=rt.match(/^\s*$/);if(vt)break;var ht=rt.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!ht){warn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ut),ft=!0;break}at=ht[0];var bt=ht[1],pt=ht[2],dt=$.properties[bt];if(!dt){warn("Skipping property: Invalid property name in: "+at),it();continue}var _t=_e.parse(bt,pt);if(!_t){warn("Skipping property: Invalid property definition in: "+at),it();continue}At.push({name:bt,val:pt}),it()}if(ft){nt();break}_e.selector(lt);for(var Ct=0;Ct=7&&$[0]==="d"&&(st=new RegExp(nt.data.regex).exec($))){if(_e)return!1;var ct=nt.data;return{name:o,value:st,strValue:""+$,mapped:ct,field:st[1],bypass:_e}}else if($.length>=10&&$[0]==="m"&&(lt=new RegExp(nt.mapData.regex).exec($))){if(_e||ot.multiple)return!1;var ut=nt.mapData;if(!(ot.color||ot.number))return!1;var ft=this.parse(o,lt[4]);if(!ft||ft.mapped)return!1;var At=this.parse(o,lt[5]);if(!At||At.mapped)return!1;if(ft.pfValue===At.pfValue||ft.strValue===At.strValue)return warn("`"+o+": "+$+"` is not a valid mapper because the output range is zero; converting to `"+o+": "+ft.strValue+"`"),this.parse(o,ft.strValue);if(ot.color){var vt=ft.value,ht=At.value,bt=vt[0]===ht[0]&&vt[1]===ht[1]&&vt[2]===ht[2]&&(vt[3]===ht[3]||(vt[3]==null||vt[3]===1)&&(ht[3]==null||ht[3]===1));if(bt)return!1}return{name:o,value:lt,strValue:""+$,mapped:ut,field:lt[1],fieldMin:parseFloat(lt[2]),fieldMax:parseFloat(lt[3]),valueMin:ft.value,valueMax:At.value,bypass:_e}}}if(ot.multiple&&et!=="multiple"){var pt;if(it?pt=$.split(/\s+/):array$4($)?pt=$:pt=[$],ot.evenMultiple&&pt.length%2!==0)return null;for(var dt=[],_t=[],Ct=[],gt="",yt=!1,xt=0;xt0?" ":"")+Et.strValue}return ot.validate&&!ot.validate(dt,_t)?null:ot.singleEnum&&yt?dt.length===1&&string$1(dt[0])?{name:o,value:dt[0],strValue:dt[0],bypass:_e}:null:{name:o,value:dt,pfValue:Ct,strValue:gt,bypass:_e,units:_t}}var It=function(){for(var Ft=0;Ftot.max||ot.strictMax&&$===ot.max))return null;var Bt={name:o,value:$,strValue:""+$+(Tt||""),units:Tt,bypass:_e};return ot.unitless||Tt!=="px"&&Tt!=="em"?Bt.pfValue=$:Bt.pfValue=Tt==="px"||!Tt?$:this.getEmSizeInPixels()*$,(Tt==="ms"||Tt==="s")&&(Bt.pfValue=Tt==="ms"?$:1e3*$),(Tt==="deg"||Tt==="rad")&&(Bt.pfValue=Tt==="rad"?$:deg2rad$1($)),Tt==="%"&&(Bt.pfValue=$/100),Bt}else if(ot.propList){var Lt=[],Vt=""+$;if(Vt!=="none"){for(var zt=Vt.split(/\s*,\s*|\s+/),Nt=0;Nt0&&nt>0&&!isNaN(et.w)&&!isNaN(et.h)&&et.w>0&&et.h>0){it=Math.min((at-2*_e)/et.w,(nt-2*_e)/et.h),it=it>this._private.maxZoom?this._private.maxZoom:it,it=it=et.minZoom&&(et.maxZoom=_e),this},minZoom:function($){return $===void 0?this._private.minZoom:this.zoomRange({min:$})},maxZoom:function($){return $===void 0?this._private.maxZoom:this.zoomRange({max:$})},getZoomedViewport:function($){var _e=this._private,et=_e.pan,tt=_e.zoom,rt,at,nt=!1;if(_e.zoomingEnabled||(nt=!0),number$1$1($)?at=$:plainObject($)&&(at=$.level,$.position!=null?rt=modelToRenderedPosition($.position,tt,et):$.renderedPosition!=null&&(rt=$.renderedPosition),rt!=null&&!_e.panningEnabled&&(nt=!0)),at=at>_e.maxZoom?_e.maxZoom:at,at=at<_e.minZoom?_e.minZoom:at,nt||!number$1$1(at)||at===tt||rt!=null&&(!number$1$1(rt.x)||!number$1$1(rt.y)))return null;if(rt!=null){var it=et,ot=tt,st=at,lt={x:-st/ot*(rt.x-it.x)+rt.x,y:-st/ot*(rt.y-it.y)+rt.y};return{zoomed:!0,panned:!0,zoom:st,pan:lt}}else return{zoomed:!0,panned:!1,zoom:at,pan:et}},zoom:function($){if($===void 0)return this._private.zoom;var _e=this.getZoomedViewport($),et=this._private;return _e==null||!_e.zoomed?this:(et.zoom=_e.zoom,_e.panned&&(et.pan.x=_e.pan.x,et.pan.y=_e.pan.y),this.emit("zoom"+(_e.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function($){var _e=this._private,et=!0,tt=!0,rt=[],at=!1,nt=!1;if(!$)return this;if(number$1$1($.zoom)||(et=!1),plainObject($.pan)||(tt=!1),!et&&!tt)return this;if(et){var it=$.zoom;it<_e.minZoom||it>_e.maxZoom||!_e.zoomingEnabled?at=!0:(_e.zoom=it,rt.push("zoom"))}if(tt&&(!at||!$.cancelOnFailedZoom)&&_e.panningEnabled){var ot=$.pan;number$1$1(ot.x)&&(_e.pan.x=ot.x,nt=!1),number$1$1(ot.y)&&(_e.pan.y=ot.y,nt=!1),nt||rt.push("pan")}return rt.length>0&&(rt.push("viewport"),this.emit(rt.join(" ")),this.notify("viewport")),this},center:function($){var _e=this.getCenterPan($);return _e&&(this._private.pan=_e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function($,_e){if(this._private.panningEnabled){if(string$1($)){var et=$;$=this.mutableElements().filter(et)}else elementOrCollection($)||($=this.mutableElements());if($.length!==0){var tt=$.boundingBox(),rt=this.width(),at=this.height();_e=_e===void 0?this._private.zoom:_e;var nt={x:(rt-_e*(tt.x1+tt.x2))/2,y:(at-_e*(tt.y1+tt.y2))/2};return nt}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var $=this._private,_e=$.container;return $.sizeCache=$.sizeCache||(_e?function(){var et=window$1.getComputedStyle(_e),tt=function(at){return parseFloat(et.getPropertyValue(at))};return{width:_e.clientWidth-tt("padding-left")-tt("padding-right"),height:_e.clientHeight-tt("padding-top")-tt("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var $=this._private.pan,_e=this._private.zoom,et=this.renderedExtent(),tt={x1:(et.x1-$.x)/_e,x2:(et.x2-$.x)/_e,y1:(et.y1-$.y)/_e,y2:(et.y2-$.y)/_e};return tt.w=tt.x2-tt.x1,tt.h=tt.y2-tt.y1,tt},renderedExtent:function(){var $=this.width(),_e=this.height();return{x1:0,y1:0,x2:$,y2:_e,w:$,h:_e}},multiClickDebounceTime:function($){if($)this._private.multiClickDebounceTime=$;else return this._private.multiClickDebounceTime;return this}};corefn$1.centre=corefn$1.center;corefn$1.autolockNodes=corefn$1.autolock;corefn$1.autoungrabifyNodes=corefn$1.autoungrabify;var fn={data:define$4.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:define$4.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:define$4.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:define$4.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};fn.attr=fn.data;fn.removeAttr=fn.removeData;var Core=function($){var _e=this;$=extend$3({},$);var et=$.container;et&&!htmlElement(et)&&htmlElement(et[0])&&(et=et[0]);var tt=et?et._cyreg:null;tt=tt||{},tt&&tt.cy&&(tt.cy.destroy(),tt={});var rt=tt.readies=tt.readies||[];et&&(et._cyreg=tt),tt.cy=_e;var at=window$1!==void 0&&et!==void 0&&!$.headless,nt=$;nt.layout=extend$3({name:at?"grid":"null"},nt.layout),nt.renderer=extend$3({name:at?"canvas":"null"},nt.renderer);var it=function(ft,At,vt){return At!==void 0?At:vt!==void 0?vt:ft},ot=this._private={container:et,ready:!1,options:nt,elements:new Collection(this),listeners:[],aniEles:new Collection(this),data:nt.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:it(!0,nt.zoomingEnabled),userZoomingEnabled:it(!0,nt.userZoomingEnabled),panningEnabled:it(!0,nt.panningEnabled),userPanningEnabled:it(!0,nt.userPanningEnabled),boxSelectionEnabled:it(!0,nt.boxSelectionEnabled),autolock:it(!1,nt.autolock,nt.autolockNodes),autoungrabify:it(!1,nt.autoungrabify,nt.autoungrabifyNodes),autounselectify:it(!1,nt.autounselectify),styleEnabled:nt.styleEnabled===void 0?at:nt.styleEnabled,zoom:number$1$1(nt.zoom)?nt.zoom:1,pan:{x:plainObject(nt.pan)&&number$1$1(nt.pan.x)?nt.pan.x:0,y:plainObject(nt.pan)&&number$1$1(nt.pan.y)?nt.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:it(250,nt.multiClickDebounceTime)};this.createEmitter(),this.selectionType(nt.selectionType),this.zoomRange({min:nt.minZoom,max:nt.maxZoom});var st=function(ft,At){var vt=ft.some(promise$3);if(vt)return Promise$1$1.all(ft).then(At);At(ft)};ot.styleEnabled&&_e.setStyle([]);var lt=extend$3({},nt,nt.renderer);_e.initRenderer(lt);var ct=function(ft,At,vt){_e.notifications(!1);var ht=_e.mutableElements();ht.length>0&&ht.remove(),ft!=null&&(plainObject(ft)||array$4(ft))&&_e.add(ft),_e.one("layoutready",function(pt){_e.notifications(!0),_e.emit(pt),_e.one("load",At),_e.emitAndNotify("load")}).one("layoutstop",function(){_e.one("done",vt),_e.emit("done")});var bt=extend$3({},_e._private.options.layout);bt.eles=_e.elements(),_e.layout(bt).run()};st([nt.style,nt.elements],function(ut){var ft=ut[0],At=ut[1];ot.styleEnabled&&_e.style().append(ft),ct(At,function(){_e.startAnimationLoop(),ot.ready=!0,fn$6(nt.ready)&&_e.on("ready",nt.ready);for(var vt=0;vt0,it=makeBoundingBox($.boundingBox?$.boundingBox:{x1:0,y1:0,w:_e.width(),h:_e.height()}),ot;if(elementOrCollection($.roots))ot=$.roots;else if(array$4($.roots)){for(var st=[],lt=0;lt<$.roots.length;lt++){var ct=$.roots[lt],ut=_e.getElementById(ct);st.push(ut)}ot=_e.collection(st)}else if(string$1($.roots))ot=_e.$($.roots);else if(at)ot=tt.roots();else{var ft=et.components();ot=_e.collection();for(var At=function(vr){var Er=ft[vr],mr=Er.maxDegree(!1),Or=Er.filter(function(Lr){return Lr.degree(!1)===mr});ot=ot.add(Or)},vt=0;vt0;){var Mt=Ot(),Bt=Et(Mt,Tt);if(Bt)Mt.outgoers().filter(function(dr){return dr.isNode()&&et.has(dr)}).forEach(Rt);else if(Bt===null){warn("Detected double maximal shift for node `"+Mt.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}xt();var Lt=0;if($.avoidOverlap)for(var Vt=0;Vt0&&ht[0].length<=3?qr/2:0),Sr=2*Math.PI/ht[mr].length*Or;return mr===0&&ht[0].length===1&&(ur=1),{x:qt.x+ur*Math.cos(Sr),y:qt.y+ur*Math.sin(Sr)}}else{var Pr={x:qt.x+(Or+1-(Lr+1)/2)*na,y:(mr+1)*ba};return Pr}};return et.nodes().layoutPositions(this,$,fr),this};var defaults$6={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function($,_e){return!0},ready:void 0,stop:void 0,transform:function($,_e){return _e}};function CircleLayout(o){this.options=extend$3({},defaults$6,o)}CircleLayout.prototype.run=function(){var o=this.options,$=o,_e=o.cy,et=$.eles,tt=$.counterclockwise!==void 0?!$.counterclockwise:$.clockwise,rt=et.nodes().not(":parent");$.sort&&(rt=rt.sort($.sort));for(var at=makeBoundingBox($.boundingBox?$.boundingBox:{x1:0,y1:0,w:_e.width(),h:_e.height()}),nt={x:at.x1+at.w/2,y:at.y1+at.h/2},it=$.sweep===void 0?2*Math.PI-2*Math.PI/rt.length:$.sweep,ot=it/Math.max(1,rt.length-1),st,lt=0,ct=0;ct1&&$.avoidOverlap){lt*=1.75;var ht=Math.cos(ot)-Math.cos(0),bt=Math.sin(ot)-Math.sin(0),pt=Math.sqrt(lt*lt/(ht*ht+bt*bt));st=Math.max(pt,st)}var dt=function(Ct,gt){var yt=$.startAngle+gt*ot*(tt?1:-1),xt=st*Math.cos(yt),Et=st*Math.sin(yt),It={x:nt.x+xt,y:nt.y+Et};return It};return et.nodes().layoutPositions(this,$,dt),this};var defaults$5={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function($){return $.degree()},levelWidth:function($){return $.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function($,_e){return!0},ready:void 0,stop:void 0,transform:function($,_e){return _e}};function ConcentricLayout(o){this.options=extend$3({},defaults$5,o)}ConcentricLayout.prototype.run=function(){for(var o=this.options,$=o,_e=$.counterclockwise!==void 0?!$.counterclockwise:$.clockwise,et=o.cy,tt=$.eles,rt=tt.nodes().not(":parent"),at=makeBoundingBox($.boundingBox?$.boundingBox:{x1:0,y1:0,w:et.width(),h:et.height()}),nt={x:at.x1+at.w/2,y:at.y1+at.h/2},it=[],ot=0,st=0;st0){var _t=Math.abs(bt[0].value-dt.value);_t>=vt&&(bt=[],ht.push(bt))}bt.push(dt)}var Ct=ot+$.minNodeSpacing;if(!$.avoidOverlap){var gt=ht.length>0&&ht[0].length>1,yt=Math.min(at.w,at.h)/2-Ct,xt=yt/(ht.length+gt?1:0);Ct=Math.min(Ct,xt)}for(var Et=0,It=0;It1&&$.avoidOverlap){var Mt=Math.cos(Ot)-Math.cos(0),Bt=Math.sin(Ot)-Math.sin(0),Lt=Math.sqrt(Ct*Ct/(Mt*Mt+Bt*Bt));Et=Math.max(Lt,Et)}Tt.r=Et,Et+=Ct}if($.equidistant){for(var Vt=0,zt=0,Nt=0;Nt=o.numIter||(step$2(et,o),et.temperature=et.temperature*o.coolingFactor,et.temperature=o.animationThreshold&&rt(),requestAnimationFrame$1(lt)}};st()}else{for(;ot;)ot=at(it),it++;separateComponents(et,o),nt()}return this};CoseLayout.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};CoseLayout.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var createLayoutInfo=function($,_e,et){for(var tt=et.eles.edges(),rt=et.eles.nodes(),at={isCompound:$.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:rt.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:tt.size(),temperature:et.initialTemp,clientWidth:$.width(),clientHeight:$.width(),boundingBox:makeBoundingBox(et.boundingBox?et.boundingBox:{x1:0,y1:0,w:$.width(),h:$.height()})},nt=et.eles.components(),it={},ot=0;ot0){at.graphSet.push(gt);for(var ot=0;ottt.count?0:tt.graph},findLCA_aux=function o($,_e,et,tt){var rt=tt.graphSet[et];if(-10)var lt=tt.nodeOverlap*st,ct=Math.sqrt(nt*nt+it*it),ut=lt*nt/ct,ft=lt*it/ct;else var At=findClippingPoint($,nt,it),vt=findClippingPoint(_e,-1*nt,-1*it),ht=vt.x-At.x,bt=vt.y-At.y,pt=ht*ht+bt*bt,ct=Math.sqrt(pt),lt=($.nodeRepulsion+_e.nodeRepulsion)/pt,ut=lt*ht/ct,ft=lt*bt/ct;$.isLocked||($.offsetX-=ut,$.offsetY-=ft),_e.isLocked||(_e.offsetX+=ut,_e.offsetY+=ft)}},nodesOverlap=function($,_e,et,tt){if(et>0)var rt=$.maxX-_e.minX;else var rt=_e.maxX-$.minX;if(tt>0)var at=$.maxY-_e.minY;else var at=_e.maxY-$.minY;return rt>=0&&at>=0?Math.sqrt(rt*rt+at*at):0},findClippingPoint=function($,_e,et){var tt=$.positionX,rt=$.positionY,at=$.height||1,nt=$.width||1,it=et/_e,ot=at/nt,st={};return _e===0&&0et?(st.x=tt,st.y=rt+at/2,st):0<_e&&-1*ot<=it&&it<=ot?(st.x=tt+nt/2,st.y=rt+nt*et/2/_e,st):0>_e&&-1*ot<=it&&it<=ot?(st.x=tt-nt/2,st.y=rt-nt*et/2/_e,st):0=ot)?(st.x=tt+at*_e/2/et,st.y=rt+at/2,st):(0>et&&(it<=-1*ot||it>=ot)&&(st.x=tt-at*_e/2/et,st.y=rt-at/2),st)},calculateEdgeForces=function($,_e){for(var et=0;et<$.edgeSize;et++){var tt=$.layoutEdges[et],rt=$.idToIndex[tt.sourceId],at=$.layoutNodes[rt],nt=$.idToIndex[tt.targetId],it=$.layoutNodes[nt],ot=it.positionX-at.positionX,st=it.positionY-at.positionY;if(!(ot===0&&st===0)){var lt=findClippingPoint(at,ot,st),ct=findClippingPoint(it,-1*ot,-1*st),ut=ct.x-lt.x,ft=ct.y-lt.y,At=Math.sqrt(ut*ut+ft*ft),vt=Math.pow(tt.idealLength-At,2)/tt.elasticity;if(At!==0)var ht=vt*ut/At,bt=vt*ft/At;else var ht=0,bt=0;at.isLocked||(at.offsetX+=ht,at.offsetY+=bt),it.isLocked||(it.offsetX-=ht,it.offsetY-=bt)}}},calculateGravityForces=function($,_e){if(_e.gravity!==0)for(var et=1,tt=0;tt<$.graphSet.length;tt++){var rt=$.graphSet[tt],at=rt.length;if(tt===0)var nt=$.clientHeight/2,it=$.clientWidth/2;else var ot=$.layoutNodes[$.idToIndex[rt[0]]],st=$.layoutNodes[$.idToIndex[ot.parentId]],nt=st.positionX,it=st.positionY;for(var lt=0;ltet){var vt=_e.gravity*ut/At,ht=_e.gravity*ft/At;ct.offsetX+=vt,ct.offsetY+=ht}}}}},propagateForces=function($,_e){var et=[],tt=0,rt=-1;for(et.push.apply(et,$.graphSet[0]),rt+=$.graphSet[0].length;tt<=rt;){var at=et[tt++],nt=$.idToIndex[at],it=$.layoutNodes[nt],ot=it.children;if(0et)var rt={x:et*$/tt,y:et*_e/tt};else var rt={x:$,y:_e};return rt},updateAncestryBoundaries=function o($,_e){var et=$.parentId;if(et!=null){var tt=_e.layoutNodes[_e.idToIndex[et]],rt=!1;if((tt.maxX==null||$.maxX+tt.padRight>tt.maxX)&&(tt.maxX=$.maxX+tt.padRight,rt=!0),(tt.minX==null||$.minX-tt.padLefttt.maxY)&&(tt.maxY=$.maxY+tt.padBottom,rt=!0),(tt.minY==null||$.minY-tt.padTopht&&(ft+=vt+_e.componentSpacing,ut=0,At=0,vt=0)}}},defaults$3={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function($){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function($,_e){return!0},ready:void 0,stop:void 0,transform:function($,_e){return _e}};function GridLayout(o){this.options=extend$3({},defaults$3,o)}GridLayout.prototype.run=function(){var o=this.options,$=o,_e=o.cy,et=$.eles,tt=et.nodes().not(":parent");$.sort&&(tt=tt.sort($.sort));var rt=makeBoundingBox($.boundingBox?$.boundingBox:{x1:0,y1:0,w:_e.width(),h:_e.height()});if(rt.h===0||rt.w===0)et.nodes().layoutPositions(this,$,function(nr){return{x:rt.x1,y:rt.y1}});else{var at=tt.size(),nt=Math.sqrt(at*rt.h/rt.w),it=Math.round(nt),ot=Math.round(rt.w/rt.h*nt),st=function(er){if(er==null)return Math.min(it,ot);var Xt=Math.min(it,ot);Xt==it?it=er:ot=er},lt=function(er){if(er==null)return Math.max(it,ot);var Xt=Math.max(it,ot);Xt==it?it=er:ot=er},ct=$.rows,ut=$.cols!=null?$.cols:$.columns;if(ct!=null&&ut!=null)it=ct,ot=ut;else if(ct!=null&&ut==null)it=ct,ot=Math.ceil(at/it);else if(ct==null&&ut!=null)ot=ut,it=Math.ceil(at/ot);else if(ot*it>at){var ft=st(),At=lt();(ft-1)*At>=at?st(ft-1):(At-1)*ft>=at&<(At-1)}else for(;ot*it=at?lt(ht+1):st(vt+1)}var bt=rt.w/ot,pt=rt.h/it;if($.condense&&(bt=0,pt=0),$.avoidOverlap)for(var dt=0;dt=ot&&(Mt=0,Ot++)},Lt={},Vt=0;Vt(Mt=sqdistToFiniteLine(o,$,Bt[Lt],Bt[Lt+1],Bt[Lt+2],Bt[Lt+3])))return vt(gt,Mt),!0}else if(xt.edgeType==="bezier"||xt.edgeType==="multibezier"||xt.edgeType==="self"||xt.edgeType==="compound"){for(var Bt=xt.allpts,Lt=0;Lt+5(Mt=sqdistToQuadraticBezier(o,$,Bt[Lt],Bt[Lt+1],Bt[Lt+2],Bt[Lt+3],Bt[Lt+4],Bt[Lt+5])))return vt(gt,Mt),!0}for(var Vt=Vt||yt.source,zt=zt||yt.target,Nt=tt.getArrowWidth(Et,It),Wt=[{name:"source",x:xt.arrowStartX,y:xt.arrowStartY,angle:xt.srcArrowAngle},{name:"target",x:xt.arrowEndX,y:xt.arrowEndY,angle:xt.tgtArrowAngle},{name:"mid-source",x:xt.midX,y:xt.midY,angle:xt.midsrcArrowAngle},{name:"mid-target",x:xt.midX,y:xt.midY,angle:xt.midtgtArrowAngle}],Lt=0;Lt0&&(ht(Vt),ht(zt))}function pt(gt,yt,xt){return getPrefixedProperty(gt,yt,xt)}function dt(gt,yt){var xt=gt._private,Et=ct,It;yt?It=yt+"-":It="",gt.boundingBox();var Tt=xt.labelBounds[yt||"main"],Rt=gt.pstyle(It+"label").value,Ot=gt.pstyle("text-events").strValue==="yes";if(!(!Ot||!Rt)){var Mt=pt(xt.rscratch,"labelX",yt),Bt=pt(xt.rscratch,"labelY",yt),Lt=pt(xt.rscratch,"labelAngle",yt),Vt=gt.pstyle(It+"text-margin-x").pfValue,zt=gt.pstyle(It+"text-margin-y").pfValue,Nt=Tt.x1-Et-Vt,Wt=Tt.x2+Et-Vt,Jt=Tt.y1-Et-zt,nr=Tt.y2+Et-zt;if(Lt){var er=Math.cos(Lt),Xt=Math.sin(Lt),tr=function(fr,dr){return fr=fr-Mt,dr=dr-Bt,{x:fr*er-dr*Xt+Mt,y:fr*Xt+dr*er+Bt}},Zt=tr(Nt,Jt),Gt=tr(Nt,nr),Ft=tr(Wt,Jt),jt=tr(Wt,nr),qt=[Zt.x+Vt,Zt.y+zt,Ft.x+Vt,Ft.y+zt,jt.x+Vt,jt.y+zt,Gt.x+Vt,Gt.y+zt];if(pointInsidePolygonPoints(o,$,qt))return vt(gt),!0}else if(inBoundingBox(Tt,o,$))return vt(gt),!0}}for(var _t=at.length-1;_t>=0;_t--){var Ct=at[_t];Ct.isNode()?ht(Ct)||dt(Ct):bt(Ct)||dt(Ct)||dt(Ct,"source")||dt(Ct,"target")}return nt};BRp$e.getAllInBox=function(o,$,_e,et){var tt=this.getCachedZSortedEles().interactive,rt=[],at=Math.min(o,_e),nt=Math.max(o,_e),it=Math.min($,et),ot=Math.max($,et);o=at,_e=nt,$=it,et=ot;for(var st=makeBoundingBox({x1:o,y1:$,x2:_e,y2:et}),lt=0;lt0?Math.max(Kr-_n,0):Math.min(Kr+_n,0)},Rt=Tt(Et,yt),Ot=Tt(It,xt),Mt=!1;bt===ot?ht=Math.abs(Rt)>Math.abs(Ot)?tt:et:bt===it||bt===nt?(ht=et,Mt=!0):(bt===rt||bt===at)&&(ht=tt,Mt=!0);var Bt=ht===et,Lt=Bt?Ot:Rt,Vt=Bt?It:Et,zt=signum(Vt),Nt=!1;!(Mt&&(dt||Ct))&&(bt===nt&&Vt<0||bt===it&&Vt>0||bt===rt&&Vt>0||bt===at&&Vt<0)&&(zt*=-1,Lt=zt*Math.abs(Lt),Nt=!0);var Wt;if(dt){var Jt=_t<0?1+_t:_t;Wt=Jt*Lt}else{var nr=_t<0?Lt:0;Wt=nr+_t*zt}var er=function(Kr){return Math.abs(Kr)=Math.abs(Lt)},Xt=er(Wt),tr=er(Math.abs(Lt)-Math.abs(Wt)),Zt=Xt||tr;if(Zt&&!Nt)if(Bt){var Gt=Math.abs(Vt)<=ct/2,Ft=Math.abs(Et)<=ut/2;if(Gt){var jt=(st.x1+st.x2)/2,qt=st.y1,or=st.y2;_e.segpts=[jt,qt,jt,or]}else if(Ft){var fr=(st.y1+st.y2)/2,dr=st.x1,vr=st.x2;_e.segpts=[dr,fr,vr,fr]}else _e.segpts=[st.x1,st.y2]}else{var Er=Math.abs(Vt)<=lt/2,mr=Math.abs(It)<=ft/2;if(Er){var Or=(st.y1+st.y2)/2,Lr=st.x1,na=st.x2;_e.segpts=[Lr,Or,na,Or]}else if(mr){var ba=(st.x1+st.x2)/2,qr=st.y1,Pr=st.y2;_e.segpts=[ba,qr,ba,Pr]}else _e.segpts=[st.x2,st.y1]}else if(Bt){var ur=st.y1+Wt+(vt?ct/2*zt:0),Sr=st.x1,jr=st.x2;_e.segpts=[Sr,ur,jr,ur]}else{var Dr=st.x1+Wt+(vt?lt/2*zt:0),Cr=st.y1,tn=st.y2;_e.segpts=[Dr,Cr,Dr,tn]}};BRp$c.tryToCorrectInvalidPoints=function(o,$){var _e=o._private.rscratch;if(_e.edgeType==="bezier"){var et=$.srcPos,tt=$.tgtPos,rt=$.srcW,at=$.srcH,nt=$.tgtW,it=$.tgtH,ot=$.srcShape,st=$.tgtShape,lt=!number$1$1(_e.startX)||!number$1$1(_e.startY),ct=!number$1$1(_e.arrowStartX)||!number$1$1(_e.arrowStartY),ut=!number$1$1(_e.endX)||!number$1$1(_e.endY),ft=!number$1$1(_e.arrowEndX)||!number$1$1(_e.arrowEndY),At=3,vt=this.getArrowWidth(o.pstyle("width").pfValue,o.pstyle("arrow-scale").value)*this.arrowShapeWidth,ht=At*vt,bt=dist$1({x:_e.ctrlpts[0],y:_e.ctrlpts[1]},{x:_e.startX,y:_e.startY}),pt=btOt.poolIndex()){var Mt=Rt;Rt=Ot,Ot=Mt}var Bt=xt.srcPos=Rt.position(),Lt=xt.tgtPos=Ot.position(),Vt=xt.srcW=Rt.outerWidth(),zt=xt.srcH=Rt.outerHeight(),Nt=xt.tgtW=Ot.outerWidth(),Wt=xt.tgtH=Ot.outerHeight(),Jt=xt.srcShape=_e.nodeShapes[$.getNodeShape(Rt)],nr=xt.tgtShape=_e.nodeShapes[$.getNodeShape(Ot)];xt.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var er=0;er0){var Gt=rt,Ft=sqdist(Gt,array2point(_e)),jt=sqdist(Gt,array2point(Zt)),qt=Ft;if(jt2){var or=sqdist(Gt,{x:Zt[2],y:Zt[3]});or0){var Sr=at,jr=sqdist(Sr,array2point(_e)),Dr=sqdist(Sr,array2point(ur)),Cr=jr;if(Dr2){var tn=sqdist(Sr,{x:ur[2],y:ur[3]});tn=ft||gt){vt={cp:dt,segment:Ct};break}}if(vt)break}var yt=vt.cp,xt=vt.segment,Et=(ft-ht)/xt.length,It=xt.t1-xt.t0,Tt=ut?xt.t0+It*Et:xt.t1-It*Et;Tt=bound(0,Tt,1),$=qbezierPtAt(yt.p0,yt.p1,yt.p2,Tt),ct=bezierAngle(yt.p0,yt.p1,yt.p2,Tt);break}case"straight":case"segments":case"haystack":{for(var Rt=0,Ot,Mt,Bt,Lt,Vt=et.allpts.length,zt=0;zt+3=ft));zt+=2);var Nt=ft-Mt,Wt=Nt/Ot;Wt=bound(0,Wt,1),$=lineAt(Bt,Lt,Wt),ct=lineAngle(Bt,Lt);break}}at("labelX",lt,$.x),at("labelY",lt,$.y),at("labelAutoAngle",lt,ct)}};ot("source"),ot("target"),this.applyLabelDimensions(o)}};BRp$9.applyLabelDimensions=function(o){this.applyPrefixedLabelDimensions(o),o.isEdge()&&(this.applyPrefixedLabelDimensions(o,"source"),this.applyPrefixedLabelDimensions(o,"target"))};BRp$9.applyPrefixedLabelDimensions=function(o,$){var _e=o._private,et=this.getLabelText(o,$),tt=this.calculateLabelDimensions(o,et),rt=o.pstyle("line-height").pfValue,at=o.pstyle("text-wrap").strValue,nt=getPrefixedProperty(_e.rscratch,"labelWrapCachedLines",$)||[],it=at!=="wrap"?1:Math.max(nt.length,1),ot=tt.height/it,st=ot*rt,lt=tt.width,ct=tt.height+(it-1)*(rt-1)*ot;setPrefixedProperty(_e.rstyle,"labelWidth",$,lt),setPrefixedProperty(_e.rscratch,"labelWidth",$,lt),setPrefixedProperty(_e.rstyle,"labelHeight",$,ct),setPrefixedProperty(_e.rscratch,"labelHeight",$,ct),setPrefixedProperty(_e.rscratch,"labelLineHeight",$,st)};BRp$9.getLabelText=function(o,$){var _e=o._private,et=$?$+"-":"",tt=o.pstyle(et+"label").strValue,rt=o.pstyle("text-transform").value,at=function(Nt,Wt){return Wt?(setPrefixedProperty(_e.rscratch,Nt,$,Wt),Wt):getPrefixedProperty(_e.rscratch,Nt,$)};if(!tt)return"";rt=="none"||(rt=="uppercase"?tt=tt.toUpperCase():rt=="lowercase"&&(tt=tt.toLowerCase()));var nt=o.pstyle("text-wrap").value;if(nt==="wrap"){var it=at("labelKey");if(it!=null&&at("labelWrapKey")===it)return at("labelWrapCachedText");for(var ot="​",st=tt.split(` -`),lt=o.pstyle("text-max-width").pfValue,ct=o.pstyle("text-overflow-wrap").value,ut=ct==="anywhere",ft=[],At=/[\s\u200b]+/,vt=ut?"":" ",ht=0;htlt){for(var Ct=bt.split(At),gt="",yt=0;ytRt)break;Ot+=tt[Lt],Lt===tt.length-1&&(Bt=!0)}return Bt||(Ot+=Mt),Ot}return tt};BRp$9.getLabelJustification=function(o){var $=o.pstyle("text-justification").strValue,_e=o.pstyle("text-halign").strValue;if($==="auto")if(o.isNode())switch(_e){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return $};BRp$9.calculateLabelDimensions=function(o,$){var _e=this,et=hashString($,o._private.labelDimsKey),tt=_e.labelDimCache||(_e.labelDimCache=[]),rt=tt[et];if(rt!=null)return rt;var at=0,nt=o.pstyle("font-style").strValue,it=o.pstyle("font-size").pfValue,ot=o.pstyle("font-family").strValue,st=o.pstyle("font-weight").strValue,lt=this.labelCalcCanvas,ct=this.labelCalcCanvasContext;if(!lt){lt=this.labelCalcCanvas=document.createElement("canvas"),ct=this.labelCalcCanvasContext=lt.getContext("2d");var ut=lt.style;ut.position="absolute",ut.left="-9999px",ut.top="-9999px",ut.zIndex="-1",ut.visibility="hidden",ut.pointerEvents="none"}ct.font="".concat(nt," ").concat(st," ").concat(it,"px ").concat(ot);for(var ft=0,At=0,vt=$.split(` -`),ht=0;ht1&&arguments[1]!==void 0?arguments[1]:!0;if($.merge(at),nt)for(var it=0;it=o.desktopTapThreshold2}var no=et(ur);On&&(o.hoverData.tapholdCancelled=!0);var ho=function(){var po=o.hoverData.dragDelta=o.hoverData.dragDelta||[];po.length===0?(po.push(cn[0]),po.push(cn[1])):(po[0]+=cn[0],po[1]+=cn[1])};jr=!0,_e(gn,["mousemove","vmousemove","tapdrag"],ur,{x:Vr[0],y:Vr[1]});var Yo=function(){o.data.bgActivePosistion=void 0,o.hoverData.selecting||Dr.emit({originalEvent:ur,type:"boxstart",position:{x:Vr[0],y:Vr[1]}}),$n[4]=1,o.hoverData.selecting=!0,o.redrawHint("select",!0),o.redraw()};if(o.hoverData.which===3){if(On){var _o={originalEvent:ur,type:"cxtdrag",position:{x:Vr[0],y:Vr[1]}};kn?kn.emit(_o):Dr.emit(_o),o.hoverData.cxtDragged=!0,(!o.hoverData.cxtOver||gn!==o.hoverData.cxtOver)&&(o.hoverData.cxtOver&&o.hoverData.cxtOver.emit({originalEvent:ur,type:"cxtdragout",position:{x:Vr[0],y:Vr[1]}}),o.hoverData.cxtOver=gn,gn&&gn.emit({originalEvent:ur,type:"cxtdragover",position:{x:Vr[0],y:Vr[1]}}))}}else if(o.hoverData.dragging){if(jr=!0,Dr.panningEnabled()&&Dr.userPanningEnabled()){var Do;if(o.hoverData.justStartedPan){var An=o.hoverData.mdownPos;Do={x:(Vr[0]-An[0])*Cr,y:(Vr[1]-An[1])*Cr},o.hoverData.justStartedPan=!1}else Do={x:cn[0]*Cr,y:cn[1]*Cr};Dr.panBy(Do),Dr.emit("dragpan"),o.hoverData.dragged=!0}Vr=o.projectIntoViewport(ur.clientX,ur.clientY)}else if($n[4]==1&&(kn==null||kn.pannable())){if(On){if(!o.hoverData.dragging&&Dr.boxSelectionEnabled()&&(no||!Dr.panningEnabled()||!Dr.userPanningEnabled()))Yo();else if(!o.hoverData.selecting&&Dr.panningEnabled()&&Dr.userPanningEnabled()){var r0=tt(kn,o.hoverData.downs);r0&&(o.hoverData.dragging=!0,o.hoverData.justStartedPan=!0,$n[4]=0,o.data.bgActivePosistion=array2point(Kr),o.redrawHint("select",!0),o.redraw())}kn&&kn.pannable()&&kn.active()&&kn.unactivate()}}else{if(kn&&kn.pannable()&&kn.active()&&kn.unactivate(),(!kn||!kn.grabbed())&&gn!=Nn&&(Nn&&_e(Nn,["mouseout","tapdragout"],ur,{x:Vr[0],y:Vr[1]}),gn&&_e(gn,["mouseover","tapdragover"],ur,{x:Vr[0],y:Vr[1]}),o.hoverData.last=gn),kn)if(On){if(Dr.boxSelectionEnabled()&&no)kn&&kn.grabbed()&&(At(s0),kn.emit("freeon"),s0.emit("free"),o.dragData.didDrag&&(kn.emit("dragfreeon"),s0.emit("dragfree"))),Yo();else if(kn&&kn.grabbed()&&o.nodeIsDraggable(kn)){var vn=!o.dragData.didDrag;vn&&o.redrawHint("eles",!0),o.dragData.didDrag=!0,o.hoverData.draggingEles||ut(s0,{inDragLayer:!0});var _0={x:0,y:0};if(number$1$1(cn[0])&&number$1$1(cn[1])&&(_0.x+=cn[0],_0.y+=cn[1],vn)){var xn=o.hoverData.dragDelta;xn&&number$1$1(xn[0])&&number$1$1(xn[1])&&(_0.x+=xn[0],_0.y+=xn[1])}o.hoverData.draggingEles=!0,s0.silentShift(_0).emit("position drag"),o.redrawHint("drag",!0),o.redraw()}}else ho();jr=!0}if($n[2]=Vr[0],$n[3]=Vr[1],jr)return ur.stopPropagation&&ur.stopPropagation(),ur.preventDefault&&ur.preventDefault(),!1}},!1);var xt,Et,It;o.registerBinding(window,"mouseup",function(ur){var Sr=o.hoverData.capture;if(Sr){o.hoverData.capture=!1;var jr=o.cy,Dr=o.projectIntoViewport(ur.clientX,ur.clientY),Cr=o.selection,tn=o.findNearestElement(Dr[0],Dr[1],!0,!1),Vr=o.dragData.possibleDragElements,Kr=o.hoverData.down,_n=et(ur);if(o.data.bgActivePosistion&&(o.redrawHint("select",!0),o.redraw()),o.hoverData.tapholdCancelled=!0,o.data.bgActivePosistion=void 0,Kr&&Kr.unactivate(),o.hoverData.which===3){var $n={originalEvent:ur,type:"cxttapend",position:{x:Dr[0],y:Dr[1]}};if(Kr?Kr.emit($n):jr.emit($n),!o.hoverData.cxtDragged){var gn={originalEvent:ur,type:"cxttap",position:{x:Dr[0],y:Dr[1]}};Kr?Kr.emit(gn):jr.emit(gn)}o.hoverData.cxtDragged=!1,o.hoverData.which=null}else if(o.hoverData.which===1){if(_e(tn,["mouseup","tapend","vmouseup"],ur,{x:Dr[0],y:Dr[1]}),!o.dragData.didDrag&&!o.hoverData.dragged&&!o.hoverData.selecting&&!o.hoverData.isOverThresholdDrag&&(_e(Kr,["click","tap","vclick"],ur,{x:Dr[0],y:Dr[1]}),Et=!1,ur.timeStamp-It<=jr.multiClickDebounceTime()?(xt&&clearTimeout(xt),Et=!0,It=null,_e(Kr,["dblclick","dbltap","vdblclick"],ur,{x:Dr[0],y:Dr[1]})):(xt=setTimeout(function(){Et||_e(Kr,["oneclick","onetap","voneclick"],ur,{x:Dr[0],y:Dr[1]})},jr.multiClickDebounceTime()),It=ur.timeStamp)),Kr==null&&!o.dragData.didDrag&&!o.hoverData.selecting&&!o.hoverData.dragged&&!et(ur)&&(jr.$($).unselect(["tapunselect"]),Vr.length>0&&o.redrawHint("eles",!0),o.dragData.possibleDragElements=Vr=jr.collection()),tn==Kr&&!o.dragData.didDrag&&!o.hoverData.selecting&&tn!=null&&tn._private.selectable&&(o.hoverData.dragging||(jr.selectionType()==="additive"||_n?tn.selected()?tn.unselect(["tapunselect"]):tn.select(["tapselect"]):_n||(jr.$($).unmerge(tn).unselect(["tapunselect"]),tn.select(["tapselect"]))),o.redrawHint("eles",!0)),o.hoverData.selecting){var Nn=jr.collection(o.getAllInBox(Cr[0],Cr[1],Cr[2],Cr[3]));o.redrawHint("select",!0),Nn.length>0&&o.redrawHint("eles",!0),jr.emit({type:"boxend",originalEvent:ur,position:{x:Dr[0],y:Dr[1]}});var kn=function(On){return On.selectable()&&!On.selected()};jr.selectionType()==="additive"||_n||jr.$($).unmerge(Nn).unselect(),Nn.emit("box").stdFilter(kn).select().emit("boxselect"),o.redraw()}if(o.hoverData.dragging&&(o.hoverData.dragging=!1,o.redrawHint("select",!0),o.redrawHint("eles",!0),o.redraw()),!Cr[4]){o.redrawHint("drag",!0),o.redrawHint("eles",!0);var cn=Kr&&Kr.grabbed();At(Vr),cn&&(Kr.emit("freeon"),Vr.emit("free"),o.dragData.didDrag&&(Kr.emit("dragfreeon"),Vr.emit("dragfree")))}}Cr[4]=0,o.hoverData.down=null,o.hoverData.cxtStarted=!1,o.hoverData.draggingEles=!1,o.hoverData.selecting=!1,o.hoverData.isOverThresholdDrag=!1,o.dragData.didDrag=!1,o.hoverData.dragged=!1,o.hoverData.dragDelta=[],o.hoverData.mdownPos=null,o.hoverData.mdownGPos=null}},!1);var Tt=function(ur){if(!o.scrollingPage){var Sr=o.cy,jr=Sr.zoom(),Dr=Sr.pan(),Cr=o.projectIntoViewport(ur.clientX,ur.clientY),tn=[Cr[0]*jr+Dr.x,Cr[1]*jr+Dr.y];if(o.hoverData.draggingEles||o.hoverData.dragging||o.hoverData.cxtStarted||gt()){ur.preventDefault();return}if(Sr.panningEnabled()&&Sr.userPanningEnabled()&&Sr.zoomingEnabled()&&Sr.userZoomingEnabled()){ur.preventDefault(),o.data.wheelZooming=!0,clearTimeout(o.data.wheelTimeout),o.data.wheelTimeout=setTimeout(function(){o.data.wheelZooming=!1,o.redrawHint("eles",!0),o.redraw()},150);var Vr;ur.deltaY!=null?Vr=ur.deltaY/-250:ur.wheelDeltaY!=null?Vr=ur.wheelDeltaY/1e3:Vr=ur.wheelDelta/1e3,Vr=Vr*o.wheelSensitivity;var Kr=ur.deltaMode===1;Kr&&(Vr*=33);var _n=Sr.zoom()*Math.pow(10,Vr);ur.type==="gesturechange"&&(_n=o.gestureStartZoom*ur.scale),Sr.zoom({level:_n,renderedPosition:{x:tn[0],y:tn[1]}}),Sr.emit(ur.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};o.registerBinding(o.container,"wheel",Tt,!0),o.registerBinding(window,"scroll",function(ur){o.scrollingPage=!0,clearTimeout(o.scrollingPageTimeout),o.scrollingPageTimeout=setTimeout(function(){o.scrollingPage=!1},250)},!0),o.registerBinding(o.container,"gesturestart",function(ur){o.gestureStartZoom=o.cy.zoom(),o.hasTouchStarted||ur.preventDefault()},!0),o.registerBinding(o.container,"gesturechange",function(Pr){o.hasTouchStarted||Tt(Pr)},!0),o.registerBinding(o.container,"mouseout",function(ur){var Sr=o.projectIntoViewport(ur.clientX,ur.clientY);o.cy.emit({originalEvent:ur,type:"mouseout",position:{x:Sr[0],y:Sr[1]}})},!1),o.registerBinding(o.container,"mouseover",function(ur){var Sr=o.projectIntoViewport(ur.clientX,ur.clientY);o.cy.emit({originalEvent:ur,type:"mouseover",position:{x:Sr[0],y:Sr[1]}})},!1);var Rt,Ot,Mt,Bt,Lt,Vt,zt,Nt,Wt,Jt,nr,er,Xt,tr=function(ur,Sr,jr,Dr){return Math.sqrt((jr-ur)*(jr-ur)+(Dr-Sr)*(Dr-Sr))},Zt=function(ur,Sr,jr,Dr){return(jr-ur)*(jr-ur)+(Dr-Sr)*(Dr-Sr)},Gt;o.registerBinding(o.container,"touchstart",Gt=function(ur){if(o.hasTouchStarted=!0,!!yt(ur)){ht(),o.touchData.capture=!0,o.data.bgActivePosistion=void 0;var Sr=o.cy,jr=o.touchData.now,Dr=o.touchData.earlier;if(ur.touches[0]){var Cr=o.projectIntoViewport(ur.touches[0].clientX,ur.touches[0].clientY);jr[0]=Cr[0],jr[1]=Cr[1]}if(ur.touches[1]){var Cr=o.projectIntoViewport(ur.touches[1].clientX,ur.touches[1].clientY);jr[2]=Cr[0],jr[3]=Cr[1]}if(ur.touches[2]){var Cr=o.projectIntoViewport(ur.touches[2].clientX,ur.touches[2].clientY);jr[4]=Cr[0],jr[5]=Cr[1]}if(ur.touches[1]){o.touchData.singleTouchMoved=!0,At(o.dragData.touchDragEles);var tn=o.findContainerClientCoords();Wt=tn[0],Jt=tn[1],nr=tn[2],er=tn[3],Rt=ur.touches[0].clientX-Wt,Ot=ur.touches[0].clientY-Jt,Mt=ur.touches[1].clientX-Wt,Bt=ur.touches[1].clientY-Jt,Xt=0<=Rt&&Rt<=nr&&0<=Mt&&Mt<=nr&&0<=Ot&&Ot<=er&&0<=Bt&&Bt<=er;var Vr=Sr.pan(),Kr=Sr.zoom();Lt=tr(Rt,Ot,Mt,Bt),Vt=Zt(Rt,Ot,Mt,Bt),zt=[(Rt+Mt)/2,(Ot+Bt)/2],Nt=[(zt[0]-Vr.x)/Kr,(zt[1]-Vr.y)/Kr];var _n=200,$n=_n*_n;if(Vt<$n&&!ur.touches[2]){var gn=o.findNearestElement(jr[0],jr[1],!0,!0),Nn=o.findNearestElement(jr[2],jr[3],!0,!0);gn&&gn.isNode()?(gn.activate().emit({originalEvent:ur,type:"cxttapstart",position:{x:jr[0],y:jr[1]}}),o.touchData.start=gn):Nn&&Nn.isNode()?(Nn.activate().emit({originalEvent:ur,type:"cxttapstart",position:{x:jr[0],y:jr[1]}}),o.touchData.start=Nn):Sr.emit({originalEvent:ur,type:"cxttapstart",position:{x:jr[0],y:jr[1]}}),o.touchData.start&&(o.touchData.start._private.grabbed=!1),o.touchData.cxt=!0,o.touchData.cxtDragged=!1,o.data.bgActivePosistion=void 0,o.redraw();return}}if(ur.touches[2])Sr.boxSelectionEnabled()&&ur.preventDefault();else if(!ur.touches[1]){if(ur.touches[0]){var kn=o.findNearestElements(jr[0],jr[1],!0,!0),cn=kn[0];if(cn!=null&&(cn.activate(),o.touchData.start=cn,o.touchData.starts=kn,o.nodeIsGrabbable(cn))){var s0=o.dragData.touchDragEles=Sr.collection(),On=null;o.redrawHint("eles",!0),o.redrawHint("drag",!0),cn.selected()?(On=Sr.$(function(e0){return e0.selected()&&o.nodeIsGrabbable(e0)}),ut(On,{addToList:s0})):ft(cn,{addToList:s0}),ot(cn);var rn=function(no){return{originalEvent:ur,type:no,position:{x:jr[0],y:jr[1]}}};cn.emit(rn("grabon")),On?On.forEach(function(e0){e0.emit(rn("grab"))}):cn.emit(rn("grab"))}_e(cn,["touchstart","tapstart","vmousedown"],ur,{x:jr[0],y:jr[1]}),cn==null&&(o.data.bgActivePosistion={x:Cr[0],y:Cr[1]},o.redrawHint("select",!0),o.redraw()),o.touchData.singleTouchMoved=!1,o.touchData.singleTouchStartTime=+new Date,clearTimeout(o.touchData.tapholdTimeout),o.touchData.tapholdTimeout=setTimeout(function(){o.touchData.singleTouchMoved===!1&&!o.pinching&&!o.touchData.selecting&&_e(o.touchData.start,["taphold"],ur,{x:jr[0],y:jr[1]})},o.tapholdDuration)}}if(ur.touches.length>=1){for(var l0=o.touchData.startPosition=[],_a=0;_a=o.touchTapThreshold2}if(Sr&&o.touchData.cxt){ur.preventDefault();var l0=ur.touches[0].clientX-Wt,_a=ur.touches[0].clientY-Jt,Ao=ur.touches[1].clientX-Wt,e0=ur.touches[1].clientY-Jt,no=Zt(l0,_a,Ao,e0),ho=no/Vt,Yo=150,_o=Yo*Yo,Do=1.5,An=Do*Do;if(ho>=An||no>=_o){o.touchData.cxt=!1,o.data.bgActivePosistion=void 0,o.redrawHint("select",!0);var r0={originalEvent:ur,type:"cxttapend",position:{x:Cr[0],y:Cr[1]}};o.touchData.start?(o.touchData.start.unactivate().emit(r0),o.touchData.start=null):Dr.emit(r0)}}if(Sr&&o.touchData.cxt){var r0={originalEvent:ur,type:"cxtdrag",position:{x:Cr[0],y:Cr[1]}};o.data.bgActivePosistion=void 0,o.redrawHint("select",!0),o.touchData.start?o.touchData.start.emit(r0):Dr.emit(r0),o.touchData.start&&(o.touchData.start._private.grabbed=!1),o.touchData.cxtDragged=!0;var vn=o.findNearestElement(Cr[0],Cr[1],!0,!0);(!o.touchData.cxtOver||vn!==o.touchData.cxtOver)&&(o.touchData.cxtOver&&o.touchData.cxtOver.emit({originalEvent:ur,type:"cxtdragout",position:{x:Cr[0],y:Cr[1]}}),o.touchData.cxtOver=vn,vn&&vn.emit({originalEvent:ur,type:"cxtdragover",position:{x:Cr[0],y:Cr[1]}}))}else if(Sr&&ur.touches[2]&&Dr.boxSelectionEnabled())ur.preventDefault(),o.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,o.touchData.selecting||Dr.emit({originalEvent:ur,type:"boxstart",position:{x:Cr[0],y:Cr[1]}}),o.touchData.selecting=!0,o.touchData.didSelect=!0,jr[4]=1,!jr||jr.length===0||jr[0]===void 0?(jr[0]=(Cr[0]+Cr[2]+Cr[4])/3,jr[1]=(Cr[1]+Cr[3]+Cr[5])/3,jr[2]=(Cr[0]+Cr[2]+Cr[4])/3+1,jr[3]=(Cr[1]+Cr[3]+Cr[5])/3+1):(jr[2]=(Cr[0]+Cr[2]+Cr[4])/3,jr[3]=(Cr[1]+Cr[3]+Cr[5])/3),o.redrawHint("select",!0),o.redraw();else if(Sr&&ur.touches[1]&&!o.touchData.didSelect&&Dr.zoomingEnabled()&&Dr.panningEnabled()&&Dr.userZoomingEnabled()&&Dr.userPanningEnabled()){ur.preventDefault(),o.data.bgActivePosistion=void 0,o.redrawHint("select",!0);var _0=o.dragData.touchDragEles;if(_0){o.redrawHint("drag",!0);for(var xn=0;xn<_0.length;xn++){var W0=_0[xn]._private;W0.grabbed=!1,W0.rscratch.inDragLayer=!1}}var po=o.touchData.start,l0=ur.touches[0].clientX-Wt,_a=ur.touches[0].clientY-Jt,Ao=ur.touches[1].clientX-Wt,e0=ur.touches[1].clientY-Jt,Uo=tr(l0,_a,Ao,e0),bs=Uo/Lt;if(Xt){var a0=l0-Rt,so=_a-Ot,Ts=Ao-Mt,Bn=e0-Bt,Cn=(a0+Ts)/2,gs=(so+Bn)/2,So=Dr.zoom(),Qo=So*bs,B0=Dr.pan(),Il=Nt[0]*So+B0.x,P0=Nt[1]*So+B0.y,Ss={x:-Qo/So*(Il-B0.x-Cn)+Il,y:-Qo/So*(P0-B0.y-gs)+P0};if(po&&po.active()){var _0=o.dragData.touchDragEles;At(_0),o.redrawHint("drag",!0),o.redrawHint("eles",!0),po.unactivate().emit("freeon"),_0.emit("free"),o.dragData.didDrag&&(po.emit("dragfreeon"),_0.emit("dragfree"))}Dr.viewport({zoom:Qo,pan:Ss,cancelOnFailedZoom:!0}),Dr.emit("pinchzoom"),Lt=Uo,Rt=l0,Ot=_a,Mt=Ao,Bt=e0,o.pinching=!0}if(ur.touches[0]){var Kr=o.projectIntoViewport(ur.touches[0].clientX,ur.touches[0].clientY);Cr[0]=Kr[0],Cr[1]=Kr[1]}if(ur.touches[1]){var Kr=o.projectIntoViewport(ur.touches[1].clientX,ur.touches[1].clientY);Cr[2]=Kr[0],Cr[3]=Kr[1]}if(ur.touches[2]){var Kr=o.projectIntoViewport(ur.touches[2].clientX,ur.touches[2].clientY);Cr[4]=Kr[0],Cr[5]=Kr[1]}}else if(ur.touches[0]&&!o.touchData.didSelect){var j0=o.touchData.start,ls=o.touchData.last,vn;if(!o.hoverData.draggingEles&&!o.swipePanning&&(vn=o.findNearestElement(Cr[0],Cr[1],!0,!0)),Sr&&j0!=null&&ur.preventDefault(),Sr&&j0!=null&&o.nodeIsDraggable(j0))if($n){var _0=o.dragData.touchDragEles,yo=!o.dragData.didDrag;yo&&ut(_0,{inDragLayer:!0}),o.dragData.didDrag=!0;var vo={x:0,y:0};if(number$1$1(gn[0])&&number$1$1(gn[1])&&(vo.x+=gn[0],vo.y+=gn[1],yo)){o.redrawHint("eles",!0);var c0=o.touchData.dragDelta;c0&&number$1$1(c0[0])&&number$1$1(c0[1])&&(vo.x+=c0[0],vo.y+=c0[1])}o.hoverData.draggingEles=!0,_0.silentShift(vo).emit("position drag"),o.redrawHint("drag",!0),o.touchData.startPosition[0]==tn[0]&&o.touchData.startPosition[1]==tn[1]&&o.redrawHint("eles",!0),o.redraw()}else{var c0=o.touchData.dragDelta=o.touchData.dragDelta||[];c0.length===0?(c0.push(gn[0]),c0.push(gn[1])):(c0[0]+=gn[0],c0[1]+=gn[1])}if(_e(j0||vn,["touchmove","tapdrag","vmousemove"],ur,{x:Cr[0],y:Cr[1]}),(!j0||!j0.grabbed())&&vn!=ls&&(ls&&ls.emit({originalEvent:ur,type:"tapdragout",position:{x:Cr[0],y:Cr[1]}}),vn&&vn.emit({originalEvent:ur,type:"tapdragover",position:{x:Cr[0],y:Cr[1]}})),o.touchData.last=vn,Sr)for(var xn=0;xn0&&!o.hoverData.draggingEles&&!o.swipePanning&&o.data.bgActivePosistion!=null&&(o.data.bgActivePosistion=void 0,o.redrawHint("select",!0),o.redraw())}},!1);var jt;o.registerBinding(window,"touchcancel",jt=function(ur){var Sr=o.touchData.start;o.touchData.capture=!1,Sr&&Sr.unactivate()});var qt,or,fr,dr;if(o.registerBinding(window,"touchend",qt=function(ur){var Sr=o.touchData.start,jr=o.touchData.capture;if(jr)ur.touches.length===0&&(o.touchData.capture=!1),ur.preventDefault();else return;var Dr=o.selection;o.swipePanning=!1,o.hoverData.draggingEles=!1;var Cr=o.cy,tn=Cr.zoom(),Vr=o.touchData.now,Kr=o.touchData.earlier;if(ur.touches[0]){var _n=o.projectIntoViewport(ur.touches[0].clientX,ur.touches[0].clientY);Vr[0]=_n[0],Vr[1]=_n[1]}if(ur.touches[1]){var _n=o.projectIntoViewport(ur.touches[1].clientX,ur.touches[1].clientY);Vr[2]=_n[0],Vr[3]=_n[1]}if(ur.touches[2]){var _n=o.projectIntoViewport(ur.touches[2].clientX,ur.touches[2].clientY);Vr[4]=_n[0],Vr[5]=_n[1]}Sr&&Sr.unactivate();var $n;if(o.touchData.cxt){if($n={originalEvent:ur,type:"cxttapend",position:{x:Vr[0],y:Vr[1]}},Sr?Sr.emit($n):Cr.emit($n),!o.touchData.cxtDragged){var gn={originalEvent:ur,type:"cxttap",position:{x:Vr[0],y:Vr[1]}};Sr?Sr.emit(gn):Cr.emit(gn)}o.touchData.start&&(o.touchData.start._private.grabbed=!1),o.touchData.cxt=!1,o.touchData.start=null,o.redraw();return}if(!ur.touches[2]&&Cr.boxSelectionEnabled()&&o.touchData.selecting){o.touchData.selecting=!1;var Nn=Cr.collection(o.getAllInBox(Dr[0],Dr[1],Dr[2],Dr[3]));Dr[0]=void 0,Dr[1]=void 0,Dr[2]=void 0,Dr[3]=void 0,Dr[4]=0,o.redrawHint("select",!0),Cr.emit({type:"boxend",originalEvent:ur,position:{x:Vr[0],y:Vr[1]}});var kn=function(_o){return _o.selectable()&&!_o.selected()};Nn.emit("box").stdFilter(kn).select().emit("boxselect"),Nn.nonempty()&&o.redrawHint("eles",!0),o.redraw()}if(Sr!=null&&Sr.unactivate(),ur.touches[2])o.data.bgActivePosistion=void 0,o.redrawHint("select",!0);else if(!ur.touches[1]){if(!ur.touches[0]){if(!ur.touches[0]){o.data.bgActivePosistion=void 0,o.redrawHint("select",!0);var cn=o.dragData.touchDragEles;if(Sr!=null){var s0=Sr._private.grabbed;At(cn),o.redrawHint("drag",!0),o.redrawHint("eles",!0),s0&&(Sr.emit("freeon"),cn.emit("free"),o.dragData.didDrag&&(Sr.emit("dragfreeon"),cn.emit("dragfree"))),_e(Sr,["touchend","tapend","vmouseup","tapdragout"],ur,{x:Vr[0],y:Vr[1]}),Sr.unactivate(),o.touchData.start=null}else{var On=o.findNearestElement(Vr[0],Vr[1],!0,!0);_e(On,["touchend","tapend","vmouseup","tapdragout"],ur,{x:Vr[0],y:Vr[1]})}var rn=o.touchData.startPosition[0]-Vr[0],l0=rn*rn,_a=o.touchData.startPosition[1]-Vr[1],Ao=_a*_a,e0=l0+Ao,no=e0*tn*tn;o.touchData.singleTouchMoved||(Sr||Cr.$(":selected").unselect(["tapunselect"]),_e(Sr,["tap","vclick"],ur,{x:Vr[0],y:Vr[1]}),or=!1,ur.timeStamp-dr<=Cr.multiClickDebounceTime()?(fr&&clearTimeout(fr),or=!0,dr=null,_e(Sr,["dbltap","vdblclick"],ur,{x:Vr[0],y:Vr[1]})):(fr=setTimeout(function(){or||_e(Sr,["onetap","voneclick"],ur,{x:Vr[0],y:Vr[1]})},Cr.multiClickDebounceTime()),dr=ur.timeStamp)),Sr!=null&&!o.dragData.didDrag&&Sr._private.selectable&&no"u"){var vr=[],Er=function(ur){return{clientX:ur.clientX,clientY:ur.clientY,force:1,identifier:ur.pointerId,pageX:ur.pageX,pageY:ur.pageY,radiusX:ur.width/2,radiusY:ur.height/2,screenX:ur.screenX,screenY:ur.screenY,target:ur.target}},mr=function(ur){return{event:ur,touch:Er(ur)}},Or=function(ur){vr.push(mr(ur))},Lr=function(ur){for(var Sr=0;Sr0)return Wt[0]}return null},ut=Object.keys(lt),ft=0;ft0?ct:roundRectangleIntersectLine(rt,at,$,_e,et,tt,nt)},checkPoint:function($,_e,et,tt,rt,at,nt){var it=getRoundRectangleRadius(tt,rt),ot=2*it;if(pointInsidePolygon($,_e,this.points,at,nt,tt,rt-ot,[0,-1],et)||pointInsidePolygon($,_e,this.points,at,nt,tt-ot,rt,[0,-1],et))return!0;var st=tt/2+2*et,lt=rt/2+2*et,ct=[at-st,nt-lt,at-st,nt,at+st,nt,at+st,nt-lt];return!!(pointInsidePolygonPoints($,_e,ct)||checkInEllipse($,_e,ot,ot,at+tt/2-it,nt+rt/2-it,et)||checkInEllipse($,_e,ot,ot,at-tt/2+it,nt+rt/2-it,et))}}};BRp$2.registerNodeShapes=function(){var o=this.nodeShapes={},$=this;this.generateEllipse(),this.generatePolygon("triangle",generateUnitNgonPointsFitToSquare(3,0)),this.generateRoundPolygon("round-triangle",generateUnitNgonPointsFitToSquare(3,0)),this.generatePolygon("rectangle",generateUnitNgonPointsFitToSquare(4,0)),o.square=o.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var _e=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",_e),this.generateRoundPolygon("round-diamond",_e)}this.generatePolygon("pentagon",generateUnitNgonPointsFitToSquare(5,0)),this.generateRoundPolygon("round-pentagon",generateUnitNgonPointsFitToSquare(5,0)),this.generatePolygon("hexagon",generateUnitNgonPointsFitToSquare(6,0)),this.generateRoundPolygon("round-hexagon",generateUnitNgonPointsFitToSquare(6,0)),this.generatePolygon("heptagon",generateUnitNgonPointsFitToSquare(7,0)),this.generateRoundPolygon("round-heptagon",generateUnitNgonPointsFitToSquare(7,0)),this.generatePolygon("octagon",generateUnitNgonPointsFitToSquare(8,0)),this.generateRoundPolygon("round-octagon",generateUnitNgonPointsFitToSquare(8,0));var et=new Array(20);{var tt=generateUnitNgonPoints(5,0),rt=generateUnitNgonPoints(5,Math.PI/5),at=.5*(3-Math.sqrt(5));at*=1.57;for(var nt=0;nt=$.deqFastCost*dt)break}else if(ot){if(bt>=$.deqCost*ut||bt>=$.deqAvgCost*ct)break}else if(pt>=$.deqNoDrawCost*fullFpsTime)break;var _t=$.deq(et,vt,At);if(_t.length>0)for(var Ct=0;Ct<_t.length;Ct++)ft.push(_t[Ct]);else break}ft.length>0&&($.onDeqd(et,ft),!ot&&$.shouldRedraw(et,ft,vt,At)&&rt())},nt=$.priority||noop$1$1;tt.beforeRender(at,nt(et))}}}},ElementTextureCacheLookup=function(){function o($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:falsify;_classCallCheck$1v(this,o),this.idsByKey=new Map$1$1,this.keyForId=new Map$1$1,this.cachesByLvl=new Map$1$1,this.lvls=[],this.getKey=$,this.doesEleInvalidateKey=_e}return _createClass$1q(o,[{key:"getIdsFor",value:function(_e){_e==null&&error("Can not get id list for null key");var et=this.idsByKey,tt=this.idsByKey.get(_e);return tt||(tt=new Set$1$1,et.set(_e,tt)),tt}},{key:"addIdForKey",value:function(_e,et){_e!=null&&this.getIdsFor(_e).add(et)}},{key:"deleteIdForKey",value:function(_e,et){_e!=null&&this.getIdsFor(_e).delete(et)}},{key:"getNumberOfIdsForKey",value:function(_e){return _e==null?0:this.getIdsFor(_e).size}},{key:"updateKeyMappingFor",value:function(_e){var et=_e.id(),tt=this.keyForId.get(et),rt=this.getKey(_e);this.deleteIdForKey(tt,et),this.addIdForKey(rt,et),this.keyForId.set(et,rt)}},{key:"deleteKeyMappingFor",value:function(_e){var et=_e.id(),tt=this.keyForId.get(et);this.deleteIdForKey(tt,et),this.keyForId.delete(et)}},{key:"keyHasChangedFor",value:function(_e){var et=_e.id(),tt=this.keyForId.get(et),rt=this.getKey(_e);return tt!==rt}},{key:"isInvalid",value:function(_e){return this.keyHasChangedFor(_e)||this.doesEleInvalidateKey(_e)}},{key:"getCachesAt",value:function(_e){var et=this.cachesByLvl,tt=this.lvls,rt=et.get(_e);return rt||(rt=new Map$1$1,et.set(_e,rt),tt.push(_e)),rt}},{key:"getCache",value:function(_e,et){return this.getCachesAt(et).get(_e)}},{key:"get",value:function(_e,et){var tt=this.getKey(_e),rt=this.getCache(tt,et);return rt!=null&&this.updateKeyMappingFor(_e),rt}},{key:"getForCachedKey",value:function(_e,et){var tt=this.keyForId.get(_e.id()),rt=this.getCache(tt,et);return rt}},{key:"hasCache",value:function(_e,et){return this.getCachesAt(et).has(_e)}},{key:"has",value:function(_e,et){var tt=this.getKey(_e);return this.hasCache(tt,et)}},{key:"setCache",value:function(_e,et,tt){tt.key=_e,this.getCachesAt(et).set(_e,tt)}},{key:"set",value:function(_e,et,tt){var rt=this.getKey(_e);this.setCache(rt,et,tt),this.updateKeyMappingFor(_e)}},{key:"deleteCache",value:function(_e,et){this.getCachesAt(et).delete(_e)}},{key:"delete",value:function(_e,et){var tt=this.getKey(_e);this.deleteCache(tt,et)}},{key:"invalidateKey",value:function(_e){var et=this;this.lvls.forEach(function(tt){return et.deleteCache(_e,tt)})}},{key:"invalidate",value:function(_e){var et=_e.id(),tt=this.keyForId.get(et);this.deleteKeyMappingFor(_e);var rt=this.doesEleInvalidateKey(_e);return rt&&this.invalidateKey(tt),rt||this.getNumberOfIdsForKey(tt)===0}}]),o}(),minTxrH=25,txrStepH=50,minLvl$1=-4,maxLvl$1=3,maxZoom$1=7.99,eleTxrSpacing=8,defTxrWidth=1024,maxTxrW=1024,maxTxrH=1024,minUtility=.2,maxFullness=.8,maxFullnessChecks=10,deqCost$1=.15,deqAvgCost$1=.1,deqNoDrawCost$1=.9,deqFastCost$1=.9,deqRedrawThreshold$1=100,maxDeqSize$1=1,getTxrReasons={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},initDefaults=defaults$g({getKey:null,doesEleInvalidateKey:falsify,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:trueify,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ElementTextureCache=function($,_e){var et=this;et.renderer=$,et.onDequeues=[];var tt=initDefaults(_e);extend$3(et,tt),et.lookup=new ElementTextureCacheLookup(tt.getKey,tt.doesEleInvalidateKey),et.setupDequeueing()},ETCp=ElementTextureCache.prototype;ETCp.reasons=getTxrReasons;ETCp.getTextureQueue=function(o){var $=this;return $.eleImgCaches=$.eleImgCaches||{},$.eleImgCaches[o]=$.eleImgCaches[o]||[]};ETCp.getRetiredTextureQueue=function(o){var $=this,_e=$.eleImgCaches.retired=$.eleImgCaches.retired||{},et=_e[o]=_e[o]||[];return et};ETCp.getElementQueue=function(){var o=this,$=o.eleCacheQueue=o.eleCacheQueue||new Heap__default.default(function(_e,et){return et.reqs-_e.reqs});return $};ETCp.getElementKeyToQueue=function(){var o=this,$=o.eleKeyToCacheQueue=o.eleKeyToCacheQueue||{};return $};ETCp.getElement=function(o,$,_e,et,tt){var rt=this,at=this.renderer,nt=at.cy.zoom(),it=this.lookup;if(!$||$.w===0||$.h===0||isNaN($.w)||isNaN($.h)||!o.visible()||o.removed()||!rt.allowEdgeTxrCaching&&o.isEdge()||!rt.allowParentTxrCaching&&o.isParent())return null;if(et==null&&(et=Math.ceil(log2(nt*_e))),et=maxZoom$1||et>maxLvl$1)return null;var ot=Math.pow(2,et),st=$.h*ot,lt=$.w*ot,ct=at.eleTextBiggerThanMin(o,ot);if(!this.isVisible(o,ct))return null;var ut=it.get(o,et);if(ut&&ut.invalidated&&(ut.invalidated=!1,ut.texture.invalidatedWidth-=ut.width),ut)return ut;var ft;if(st<=minTxrH?ft=minTxrH:st<=txrStepH?ft=txrStepH:ft=Math.ceil(st/txrStepH)*txrStepH,st>maxTxrH||lt>maxTxrW)return null;var At=rt.getTextureQueue(ft),vt=At[At.length-2],ht=function(){return rt.recycleTexture(ft,lt)||rt.addTexture(ft,lt)};vt||(vt=At[At.length-1]),vt||(vt=ht()),vt.width-vt.usedWidthet;It--)xt=rt.getElement(o,$,_e,It,getTxrReasons.downscale);Et()}else return rt.queueElement(o,Ct.level-1),Ct;else{var Tt;if(!pt&&!dt&&!_t)for(var Rt=et-1;Rt>=minLvl$1;Rt--){var Ot=it.get(o,Rt);if(Ot){Tt=Ot;break}}if(bt(Tt))return rt.queueElement(o,et),Tt;vt.context.translate(vt.usedWidth,0),vt.context.scale(ot,ot),this.drawElement(vt.context,o,$,ct,!1),vt.context.scale(1/ot,1/ot),vt.context.translate(-vt.usedWidth,0)}return ut={x:vt.usedWidth,texture:vt,level:et,scale:ot,width:lt,height:st,scaledLabelShown:ct},vt.usedWidth+=Math.ceil(lt+eleTxrSpacing),vt.eleCaches.push(ut),it.set(o,et,ut),rt.checkTextureFullness(vt),ut};ETCp.invalidateElements=function(o){for(var $=0;$=minUtility*o.width&&this.retireTexture(o)};ETCp.checkTextureFullness=function(o){var $=this,_e=$.getTextureQueue(o.height);o.usedWidth/o.width>maxFullness&&o.fullnessChecks>=maxFullnessChecks?removeFromArray(_e,o):o.fullnessChecks++};ETCp.retireTexture=function(o){var $=this,_e=o.height,et=$.getTextureQueue(_e),tt=this.lookup;removeFromArray(et,o),o.retired=!0;for(var rt=o.eleCaches,at=0;at=$)return at.retired=!1,at.usedWidth=0,at.invalidatedWidth=0,at.fullnessChecks=0,clearArray(at.eleCaches),at.context.setTransform(1,0,0,1,0,0),at.context.clearRect(0,0,at.width,at.height),removeFromArray(tt,at),et.push(at),at}};ETCp.queueElement=function(o,$){var _e=this,et=_e.getElementQueue(),tt=_e.getElementKeyToQueue(),rt=this.getKey(o),at=tt[rt];if(at)at.level=Math.max(at.level,$),at.eles.merge(o),at.reqs++,et.updateItem(at);else{var nt={eles:o.spawn().merge(o),level:$,reqs:1,key:rt};et.push(nt),tt[rt]=nt}};ETCp.dequeue=function(o){for(var $=this,_e=$.getElementQueue(),et=$.getElementKeyToQueue(),tt=[],rt=$.lookup,at=0;at0;at++){var nt=_e.pop(),it=nt.key,ot=nt.eles[0],st=rt.hasCache(ot,nt.level);if(et[it]=null,st)continue;tt.push(nt);var lt=$.getBoundingBox(ot);$.getElement(ot,lt,o,nt.level,getTxrReasons.dequeue)}return tt};ETCp.removeFromQueue=function(o){var $=this,_e=$.getElementQueue(),et=$.getElementKeyToQueue(),tt=this.getKey(o),rt=et[tt];rt!=null&&(rt.eles.length===1?(rt.reqs=MAX_INT$1,_e.updateItem(rt),_e.pop(),et[tt]=null):rt.eles.unmerge(o))};ETCp.onDequeue=function(o){this.onDequeues.push(o)};ETCp.offDequeue=function(o){removeFromArray(this.onDequeues,o)};ETCp.setupDequeueing=defs.setupDequeueing({deqRedrawThreshold:deqRedrawThreshold$1,deqCost:deqCost$1,deqAvgCost:deqAvgCost$1,deqNoDrawCost:deqNoDrawCost$1,deqFastCost:deqFastCost$1,deq:function($,_e,et){return $.dequeue(_e,et)},onDeqd:function($,_e){for(var et=0;et<$.onDequeues.length;et++){var tt=$.onDequeues[et];tt(_e)}},shouldRedraw:function($,_e,et,tt){for(var rt=0;rt<_e.length;rt++)for(var at=_e[rt].eles,nt=0;nt=maxZoom||_e>maxLvl)return null}et.validateLayersElesOrdering(_e,o);var it=et.layersByLevel,ot=Math.pow(2,_e),st=it[_e]=it[_e]||[],lt,ct=et.levelIsComplete(_e,o),ut,ft=function(){var Et=function(Mt){if(et.validateLayersElesOrdering(Mt,o),et.levelIsComplete(Mt,o))return ut=it[Mt],!0},It=function(Mt){if(!ut)for(var Bt=_e+Mt;minLvl<=Bt&&Bt<=maxLvl&&!Et(Bt);Bt+=Mt);};It(1),It(-1);for(var Tt=st.length-1;Tt>=0;Tt--){var Rt=st[Tt];Rt.invalid&&removeFromArray(st,Rt)}};if(!ct)ft();else return st;var At=function(){if(!lt){lt=makeBoundingBox();for(var Et=0;EtmaxLayerArea)return null;var Rt=et.makeLayer(lt,_e);if(It!=null){var Ot=st.indexOf(It)+1;st.splice(Ot,0,Rt)}else(Et.insert===void 0||Et.insert)&&st.unshift(Rt);return Rt};if(et.skipping&&!nt)return null;for(var ht=null,bt=o.length/defNumLayers,pt=!nt,dt=0;dt=bt||!boundingBoxInBoundingBox(ht.bb,_t.boundingBox()))&&(ht=vt({insert:!0,after:ht}),!ht))return null;ut||pt?et.queueLayer(ht,_t):et.drawEleInLayer(ht,_t,_e,$),ht.eles.push(_t),gt[_e]=ht}return ut||(pt?null:st)};LTCp.getEleLevelForLayerLevel=function(o,$){return o};LTCp.drawEleInLayer=function(o,$,_e,et){var tt=this,rt=this.renderer,at=o.context,nt=$.boundingBox();nt.w===0||nt.h===0||!$.visible()||(_e=tt.getEleLevelForLayerLevel(_e,et),rt.setImgSmoothing(at,!1),rt.drawCachedElement(at,$,null,null,_e,useHighQualityEleTxrReqs),rt.setImgSmoothing(at,!0))};LTCp.levelIsComplete=function(o,$){var _e=this,et=_e.layersByLevel[o];if(!et||et.length===0)return!1;for(var tt=0,rt=0;rt0||at.invalid)return!1;tt+=at.eles.length}return tt===$.length};LTCp.validateLayersElesOrdering=function(o,$){var _e=this.layersByLevel[o];if(_e)for(var et=0;et<_e.length;et++){for(var tt=_e[et],rt=-1,at=0;at<$.length;at++)if(tt.eles[0]===$[at]){rt=at;break}if(rt<0){this.invalidateLayer(tt);continue}for(var nt=rt,at=0;at0){$=!0;break}}return $};LTCp.invalidateElements=function(o){var $=this;o.length!==0&&($.lastInvalidationTime=performanceNow$1(),!(o.length===0||!$.haveLayers())&&$.updateElementsInLayers(o,function(et,tt,rt){$.invalidateLayer(et)}))};LTCp.invalidateLayer=function(o){if(this.lastInvalidationTime=performanceNow$1(),!o.invalid){var $=o.level,_e=o.eles,et=this.layersByLevel[$];removeFromArray(et,o),o.elesQueue=[],o.invalid=!0,o.replacement&&(o.replacement.invalid=!0);for(var tt=0;tt<_e.length;tt++){var rt=_e[tt]._private.rscratch.imgLayerCaches;rt&&(rt[$]=null)}}};LTCp.refineElementTextures=function(o){var $=this;$.updateElementsInLayers(o,function(et,tt,rt){var at=et.replacement;if(at||(at=et.replacement=$.makeLayer(et.bb,et.level),at.replaces=et,at.eles=et.eles),!at.reqs)for(var nt=0;nt3&&arguments[3]!==void 0?arguments[3]:!0,tt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,rt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,at=this,nt=$._private.rscratch;if(!(rt&&!$.visible())&&!(nt.badLine||nt.allpts==null||isNaN(nt.allpts[0]))){var it;_e&&(it=_e,o.translate(-it.x1,-it.y1));var ot=rt?$.pstyle("opacity").value:1,st=rt?$.pstyle("line-opacity").value:1,lt=$.pstyle("curve-style").value,ct=$.pstyle("line-style").value,ut=$.pstyle("width").pfValue,ft=$.pstyle("line-cap").value,At=ot*st,vt=ot*st,ht=function(){var Tt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:At;lt==="straight-triangle"?(at.eleStrokeStyle(o,$,Tt),at.drawEdgeTrianglePath($,o,nt.allpts)):(o.lineWidth=ut,o.lineCap=ft,at.eleStrokeStyle(o,$,Tt),at.drawEdgePath($,o,nt.allpts,ct),o.lineCap="butt")},bt=function(){tt&&at.drawEdgeOverlay(o,$)},pt=function(){tt&&at.drawEdgeUnderlay(o,$)},dt=function(){var Tt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vt;at.drawArrowheads(o,$,Tt)},_t=function(){at.drawElementText(o,$,null,et)};o.lineJoin="round";var Ct=$.pstyle("ghost").value==="yes";if(Ct){var gt=$.pstyle("ghost-offset-x").pfValue,yt=$.pstyle("ghost-offset-y").pfValue,xt=$.pstyle("ghost-opacity").value,Et=At*xt;o.translate(gt,yt),ht(Et),dt(Et),o.translate(-gt,-yt)}pt(),ht(),dt(),bt(),_t(),_e&&o.translate(it.x1,it.y1)}};var drawEdgeOverlayUnderlay=function($){if(!["overlay","underlay"].includes($))throw new Error("Invalid state");return function(_e,et){if(et.visible()){var tt=et.pstyle("".concat($,"-opacity")).value;if(tt!==0){var rt=this,at=rt.usePaths(),nt=et._private.rscratch,it=et.pstyle("".concat($,"-padding")).pfValue,ot=2*it,st=et.pstyle("".concat($,"-color")).value;_e.lineWidth=ot,nt.edgeType==="self"&&!at?_e.lineCap="butt":_e.lineCap="round",rt.colorStrokeStyle(_e,st[0],st[1],st[2],tt),rt.drawEdgePath(et,_e,nt.allpts,"solid")}}}};CRp$8.drawEdgeOverlay=drawEdgeOverlayUnderlay("overlay");CRp$8.drawEdgeUnderlay=drawEdgeOverlayUnderlay("underlay");CRp$8.drawEdgePath=function(o,$,_e,et){var tt=o._private.rscratch,rt=$,at,nt=!1,it=this.usePaths(),ot=o.pstyle("line-dash-pattern").pfValue,st=o.pstyle("line-dash-offset").pfValue;if(it){var lt=_e.join("$"),ct=tt.pathCacheKey&&tt.pathCacheKey===lt;ct?(at=$=tt.pathCache,nt=!0):(at=$=new Path2D,tt.pathCacheKey=lt,tt.pathCache=at)}if(rt.setLineDash)switch(et){case"dotted":rt.setLineDash([1,1]);break;case"dashed":rt.setLineDash(ot),rt.lineDashOffset=st;break;case"solid":rt.setLineDash([]);break}if(!nt&&!tt.badLine)switch($.beginPath&&$.beginPath(),$.moveTo(_e[0],_e[1]),tt.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ut=2;ut+3<_e.length;ut+=4)$.quadraticCurveTo(_e[ut],_e[ut+1],_e[ut+2],_e[ut+3]);break;case"straight":case"segments":case"haystack":for(var ft=2;ft+1<_e.length;ft+=2)$.lineTo(_e[ft],_e[ft+1]);break}$=rt,it?$.stroke(at):$.stroke(),$.setLineDash&&$.setLineDash([])};CRp$8.drawEdgeTrianglePath=function(o,$,_e){$.fillStyle=$.strokeStyle;for(var et=o.pstyle("width").pfValue,tt=0;tt+1<_e.length;tt+=2){var rt=[_e[tt+2]-_e[tt],_e[tt+3]-_e[tt+1]],at=Math.sqrt(rt[0]*rt[0]+rt[1]*rt[1]),nt=[rt[1]/at,-rt[0]/at],it=[nt[0]*et/2,nt[1]*et/2];$.beginPath(),$.moveTo(_e[tt]-it[0],_e[tt+1]-it[1]),$.lineTo(_e[tt]+it[0],_e[tt+1]+it[1]),$.lineTo(_e[tt+2],_e[tt+3]),$.closePath(),$.fill()}};CRp$8.drawArrowheads=function(o,$,_e){var et=$._private.rscratch,tt=et.edgeType==="haystack";tt||this.drawArrowhead(o,$,"source",et.arrowStartX,et.arrowStartY,et.srcArrowAngle,_e),this.drawArrowhead(o,$,"mid-target",et.midX,et.midY,et.midtgtArrowAngle,_e),this.drawArrowhead(o,$,"mid-source",et.midX,et.midY,et.midsrcArrowAngle,_e),tt||this.drawArrowhead(o,$,"target",et.arrowEndX,et.arrowEndY,et.tgtArrowAngle,_e)};CRp$8.drawArrowhead=function(o,$,_e,et,tt,rt,at){if(!(isNaN(et)||et==null||isNaN(tt)||tt==null||isNaN(rt)||rt==null)){var nt=this,it=$.pstyle(_e+"-arrow-shape").value;if(it!=="none"){var ot=$.pstyle(_e+"-arrow-fill").value==="hollow"?"both":"filled",st=$.pstyle(_e+"-arrow-fill").value,lt=$.pstyle("width").pfValue,ct=$.pstyle("opacity").value;at===void 0&&(at=ct);var ut=o.globalCompositeOperation;(at!==1||st==="hollow")&&(o.globalCompositeOperation="destination-out",nt.colorFillStyle(o,255,255,255,1),nt.colorStrokeStyle(o,255,255,255,1),nt.drawArrowShape($,o,ot,lt,it,et,tt,rt),o.globalCompositeOperation=ut);var ft=$.pstyle(_e+"-arrow-color").value;nt.colorFillStyle(o,ft[0],ft[1],ft[2],at),nt.colorStrokeStyle(o,ft[0],ft[1],ft[2],at),nt.drawArrowShape($,o,st,lt,it,et,tt,rt)}}};CRp$8.drawArrowShape=function(o,$,_e,et,tt,rt,at,nt){var it=this,ot=this.usePaths()&&tt!=="triangle-cross",st=!1,lt,ct=$,ut={x:rt,y:at},ft=o.pstyle("arrow-scale").value,At=this.getArrowWidth(et,ft),vt=it.arrowShapes[tt];if(ot){var ht=it.arrowPathCache=it.arrowPathCache||[],bt=hashString(tt),pt=ht[bt];pt!=null?(lt=$=pt,st=!0):(lt=$=new Path2D,ht[bt]=lt)}st||($.beginPath&&$.beginPath(),ot?vt.draw($,1,0,{x:0,y:0},1):vt.draw($,At,nt,ut,et),$.closePath&&$.closePath()),$=ct,ot&&($.translate(rt,at),$.rotate(nt),$.scale(At,At)),(_e==="filled"||_e==="both")&&(ot?$.fill(lt):$.fill()),(_e==="hollow"||_e==="both")&&($.lineWidth=(vt.matchEdgeWidth?et:1)/(ot?At:1),$.lineJoin="miter",ot?$.stroke(lt):$.stroke()),ot&&($.scale(1/At,1/At),$.rotate(-nt),$.translate(-rt,-at))};var CRp$7={};CRp$7.safeDrawImage=function(o,$,_e,et,tt,rt,at,nt,it,ot){if(!(tt<=0||rt<=0||it<=0||ot<=0))try{o.drawImage($,_e,et,tt,rt,at,nt,it,ot)}catch(st){warn(st)}};CRp$7.drawInscribedImage=function(o,$,_e,et,tt){var rt=this,at=_e.position(),nt=at.x,it=at.y,ot=_e.cy().style(),st=ot.getIndexedStyle.bind(ot),lt=st(_e,"background-fit","value",et),ct=st(_e,"background-repeat","value",et),ut=_e.width(),ft=_e.height(),At=_e.padding()*2,vt=ut+(st(_e,"background-width-relative-to","value",et)==="inner"?0:At),ht=ft+(st(_e,"background-height-relative-to","value",et)==="inner"?0:At),bt=_e._private.rscratch,pt=st(_e,"background-clip","value",et),dt=pt==="node",_t=st(_e,"background-image-opacity","value",et)*tt,Ct=st(_e,"background-image-smoothing","value",et),gt=$.width||$.cachedW,yt=$.height||$.cachedH;(gt==null||yt==null)&&(document.body.appendChild($),gt=$.cachedW=$.width||$.offsetWidth,yt=$.cachedH=$.height||$.offsetHeight,document.body.removeChild($));var xt=gt,Et=yt;if(st(_e,"background-width","value",et)!=="auto"&&(st(_e,"background-width","units",et)==="%"?xt=st(_e,"background-width","pfValue",et)*vt:xt=st(_e,"background-width","pfValue",et)),st(_e,"background-height","value",et)!=="auto"&&(st(_e,"background-height","units",et)==="%"?Et=st(_e,"background-height","pfValue",et)*ht:Et=st(_e,"background-height","pfValue",et)),!(xt===0||Et===0)){if(lt==="contain"){var It=Math.min(vt/xt,ht/Et);xt*=It,Et*=It}else if(lt==="cover"){var It=Math.max(vt/xt,ht/Et);xt*=It,Et*=It}var Tt=nt-vt/2,Rt=st(_e,"background-position-x","units",et),Ot=st(_e,"background-position-x","pfValue",et);Rt==="%"?Tt+=(vt-xt)*Ot:Tt+=Ot;var Mt=st(_e,"background-offset-x","units",et),Bt=st(_e,"background-offset-x","pfValue",et);Mt==="%"?Tt+=(vt-xt)*Bt:Tt+=Bt;var Lt=it-ht/2,Vt=st(_e,"background-position-y","units",et),zt=st(_e,"background-position-y","pfValue",et);Vt==="%"?Lt+=(ht-Et)*zt:Lt+=zt;var Nt=st(_e,"background-offset-y","units",et),Wt=st(_e,"background-offset-y","pfValue",et);Nt==="%"?Lt+=(ht-Et)*Wt:Lt+=Wt,bt.pathCache&&(Tt-=nt,Lt-=it,nt=0,it=0);var Jt=o.globalAlpha;o.globalAlpha=_t;var nr=rt.getImgSmoothing(o),er=!1;if(Ct==="no"&&nr?(rt.setImgSmoothing(o,!1),er=!0):Ct==="yes"&&!nr&&(rt.setImgSmoothing(o,!0),er=!0),ct==="no-repeat")dt&&(o.save(),bt.pathCache?o.clip(bt.pathCache):(rt.nodeShapes[rt.getNodeShape(_e)].draw(o,nt,it,vt,ht),o.clip())),rt.safeDrawImage(o,$,0,0,gt,yt,Tt,Lt,xt,Et),dt&&o.restore();else{var Xt=o.createPattern($,ct);o.fillStyle=Xt,rt.nodeShapes[rt.getNodeShape(_e)].draw(o,nt,it,vt,ht),o.translate(Tt,Lt),o.fill(),o.translate(-Tt,-Lt)}o.globalAlpha=Jt,er&&rt.setImgSmoothing(o,nr)}};var CRp$6={};CRp$6.eleTextBiggerThanMin=function(o,$){if(!$){var _e=o.cy().zoom(),et=this.getPixelRatio(),tt=Math.ceil(log2(_e*et));$=Math.pow(2,tt)}var rt=o.pstyle("font-size").pfValue*$,at=o.pstyle("min-zoomed-font-size").pfValue;return!(rt5&&arguments[5]!==void 0?arguments[5]:!0,at=this;if(et==null){if(rt&&!at.eleTextBiggerThanMin($))return}else if(et===!1)return;if($.isNode()){var nt=$.pstyle("label");if(!nt||!nt.value)return;var it=at.getLabelJustification($);o.textAlign=it,o.textBaseline="bottom"}else{var ot=$.element()._private.rscratch.badLine,st=$.pstyle("label"),lt=$.pstyle("source-label"),ct=$.pstyle("target-label");if(ot||(!st||!st.value)&&(!lt||!lt.value)&&(!ct||!ct.value))return;o.textAlign="center",o.textBaseline="bottom"}var ut=!_e,ft;_e&&(ft=_e,o.translate(-ft.x1,-ft.y1)),tt==null?(at.drawText(o,$,null,ut,rt),$.isEdge()&&(at.drawText(o,$,"source",ut,rt),at.drawText(o,$,"target",ut,rt))):at.drawText(o,$,tt,ut,rt),_e&&o.translate(ft.x1,ft.y1)};CRp$6.getFontCache=function(o){var $;this.fontCaches=this.fontCaches||[];for(var _e=0;_e2&&arguments[2]!==void 0?arguments[2]:!0,et=$.pstyle("font-style").strValue,tt=$.pstyle("font-size").pfValue+"px",rt=$.pstyle("font-family").strValue,at=$.pstyle("font-weight").strValue,nt=_e?$.effectiveOpacity()*$.pstyle("text-opacity").value:1,it=$.pstyle("text-outline-opacity").value*nt,ot=$.pstyle("color").value,st=$.pstyle("text-outline-color").value;o.font=et+" "+at+" "+tt+" "+rt,o.lineJoin="round",this.colorFillStyle(o,ot[0],ot[1],ot[2],nt),this.colorStrokeStyle(o,st[0],st[1],st[2],it)};function roundRect(o,$,_e,et,tt){var rt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5;o.beginPath(),o.moveTo($+rt,_e),o.lineTo($+et-rt,_e),o.quadraticCurveTo($+et,_e,$+et,_e+rt),o.lineTo($+et,_e+tt-rt),o.quadraticCurveTo($+et,_e+tt,$+et-rt,_e+tt),o.lineTo($+rt,_e+tt),o.quadraticCurveTo($,_e+tt,$,_e+tt-rt),o.lineTo($,_e+rt),o.quadraticCurveTo($,_e,$+rt,_e),o.closePath(),o.fill()}CRp$6.getTextAngle=function(o,$){var _e,et=o._private,tt=et.rscratch,rt=$?$+"-":"",at=o.pstyle(rt+"text-rotation"),nt=getPrefixedProperty(tt,"labelAngle",$);return at.strValue==="autorotate"?_e=o.isEdge()?nt:0:at.strValue==="none"?_e=0:_e=at.pfValue,_e};CRp$6.drawText=function(o,$,_e){var et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,tt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,rt=$._private,at=rt.rscratch,nt=tt?$.effectiveOpacity():1;if(!(tt&&(nt===0||$.pstyle("text-opacity").value===0))){_e==="main"&&(_e=null);var it=getPrefixedProperty(at,"labelX",_e),ot=getPrefixedProperty(at,"labelY",_e),st,lt,ct=this.getLabelText($,_e);if(ct!=null&&ct!==""&&!isNaN(it)&&!isNaN(ot)){this.setupTextStyle(o,$,tt);var ut=_e?_e+"-":"",ft=getPrefixedProperty(at,"labelWidth",_e),At=getPrefixedProperty(at,"labelHeight",_e),vt=$.pstyle(ut+"text-margin-x").pfValue,ht=$.pstyle(ut+"text-margin-y").pfValue,bt=$.isEdge(),pt=$.pstyle("text-halign").value,dt=$.pstyle("text-valign").value;bt&&(pt="center",dt="center"),it+=vt,ot+=ht;var _t;switch(et?_t=this.getTextAngle($,_e):_t=0,_t!==0&&(st=it,lt=ot,o.translate(st,lt),o.rotate(_t),it=0,ot=0),dt){case"top":break;case"center":ot+=At/2;break;case"bottom":ot+=At;break}var Ct=$.pstyle("text-background-opacity").value,gt=$.pstyle("text-border-opacity").value,yt=$.pstyle("text-border-width").pfValue,xt=$.pstyle("text-background-padding").pfValue;if(Ct>0||yt>0&>>0){var Et=it-xt;switch(pt){case"left":Et-=ft;break;case"center":Et-=ft/2;break}var It=ot-At-xt,Tt=ft+2*xt,Rt=At+2*xt;if(Ct>0){var Ot=o.fillStyle,Mt=$.pstyle("text-background-color").value;o.fillStyle="rgba("+Mt[0]+","+Mt[1]+","+Mt[2]+","+Ct*nt+")";var Bt=$.pstyle("text-background-shape").strValue;Bt.indexOf("round")===0?roundRect(o,Et,It,Tt,Rt,2):o.fillRect(Et,It,Tt,Rt),o.fillStyle=Ot}if(yt>0&>>0){var Lt=o.strokeStyle,Vt=o.lineWidth,zt=$.pstyle("text-border-color").value,Nt=$.pstyle("text-border-style").value;if(o.strokeStyle="rgba("+zt[0]+","+zt[1]+","+zt[2]+","+gt*nt+")",o.lineWidth=yt,o.setLineDash)switch(Nt){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash([4,2]);break;case"double":o.lineWidth=yt/4,o.setLineDash([]);break;case"solid":o.setLineDash([]);break}if(o.strokeRect(Et,It,Tt,Rt),Nt==="double"){var Wt=yt/2;o.strokeRect(Et+Wt,It+Wt,Tt-Wt*2,Rt-Wt*2)}o.setLineDash&&o.setLineDash([]),o.lineWidth=Vt,o.strokeStyle=Lt}}var Jt=2*$.pstyle("text-outline-width").pfValue;if(Jt>0&&(o.lineWidth=Jt),$.pstyle("text-wrap").value==="wrap"){var nr=getPrefixedProperty(at,"labelWrapCachedLines",_e),er=getPrefixedProperty(at,"labelLineHeight",_e),Xt=ft/2,tr=this.getLabelJustification($);switch(tr==="auto"||(pt==="left"?tr==="left"?it+=-ft:tr==="center"&&(it+=-Xt):pt==="center"?tr==="left"?it+=-Xt:tr==="right"&&(it+=Xt):pt==="right"&&(tr==="center"?it+=Xt:tr==="right"&&(it+=ft))),dt){case"top":ot-=(nr.length-1)*er;break;case"center":case"bottom":ot-=(nr.length-1)*er;break}for(var Zt=0;Zt0&&o.strokeText(nr[Zt],it,ot),o.fillText(nr[Zt],it,ot),ot+=er}else Jt>0&&o.strokeText(ct,it,ot),o.fillText(ct,it,ot);_t!==0&&(o.rotate(-_t),o.translate(-st,-lt))}}};var CRp$5={};CRp$5.drawNode=function(o,$,_e){var et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,tt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,rt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,at=this,nt,it,ot=$._private,st=ot.rscratch,lt=$.position();if(!(!number$1$1(lt.x)||!number$1$1(lt.y))&&!(rt&&!$.visible())){var ct=rt?$.effectiveOpacity():1,ut=at.usePaths(),ft,At=!1,vt=$.padding();nt=$.width()+2*vt,it=$.height()+2*vt;var ht;_e&&(ht=_e,o.translate(-ht.x1,-ht.y1));for(var bt=$.pstyle("background-image"),pt=bt.value,dt=new Array(pt.length),_t=new Array(pt.length),Ct=0,gt=0;gt0&&arguments[0]!==void 0?arguments[0]:Rt;at.eleFillStyle(o,$,Or)},Vt=function(){var Or=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Bt;at.colorStrokeStyle(o,Ot[0],Ot[1],Ot[2],Or)},zt=$.pstyle("shape").strValue,Nt=$.pstyle("shape-polygon-points").pfValue;if(ut){o.translate(lt.x,lt.y);var Wt=at.nodePathCache=at.nodePathCache||[],Jt=hashStrings(zt==="polygon"?zt+","+Nt.join(","):zt,""+it,""+nt),nr=Wt[Jt];nr!=null?(ft=nr,At=!0,st.pathCache=ft):(ft=new Path2D,Wt[Jt]=st.pathCache=ft)}var er=function(){if(!At){var Or=lt;ut&&(Or={x:0,y:0}),at.nodeShapes[at.getNodeShape($)].draw(ft||o,Or.x,Or.y,nt,it)}ut?o.fill(ft):o.fill()},Xt=function(){for(var Or=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ct,Lr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,na=ot.backgrounding,ba=0,qr=0;qr<_t.length;qr++){var Pr=$.cy().style().getIndexedStyle($,"background-image-containment","value",qr);if(Lr&&Pr==="over"||!Lr&&Pr==="inside"){ba++;continue}dt[qr]&&_t[qr].complete&&!_t[qr].error&&(ba++,at.drawInscribedImage(o,_t[qr],$,qr,Or))}ot.backgrounding=ba!==Ct,na!==ot.backgrounding&&$.updateStyle(!1)},tr=function(){var Or=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Lr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ct;at.hasPie($)&&(at.drawPie(o,$,Lr),Or&&(ut||at.nodeShapes[at.getNodeShape($)].draw(o,lt.x,lt.y,nt,it)))},Zt=function(){var Or=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ct,Lr=(It>0?It:-It)*Or,na=It>0?0:255;It!==0&&(at.colorFillStyle(o,na,na,na,Lr),ut?o.fill(ft):o.fill())},Gt=function(){if(Tt>0){if(o.lineWidth=Tt,o.lineCap="butt",o.setLineDash)switch(Mt){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash([4,2]);break;case"solid":case"double":o.setLineDash([]);break}if(ut?o.stroke(ft):o.stroke(),Mt==="double"){o.lineWidth=Tt/3;var Or=o.globalCompositeOperation;o.globalCompositeOperation="destination-out",ut?o.stroke(ft):o.stroke(),o.globalCompositeOperation=Or}o.setLineDash&&o.setLineDash([])}},Ft=function(){tt&&at.drawNodeOverlay(o,$,lt,nt,it)},jt=function(){tt&&at.drawNodeUnderlay(o,$,lt,nt,it)},qt=function(){at.drawElementText(o,$,null,et)},or=$.pstyle("ghost").value==="yes";if(or){var fr=$.pstyle("ghost-offset-x").pfValue,dr=$.pstyle("ghost-offset-y").pfValue,vr=$.pstyle("ghost-opacity").value,Er=vr*ct;o.translate(fr,dr),Lt(vr*Rt),er(),Xt(Er,!0),Vt(vr*Bt),Gt(),tr(It!==0||Tt!==0),Xt(Er,!1),Zt(Er),o.translate(-fr,-dr)}ut&&o.translate(-lt.x,-lt.y),jt(),ut&&o.translate(lt.x,lt.y),Lt(),er(),Xt(ct,!0),Vt(),Gt(),tr(It!==0||Tt!==0),Xt(ct,!1),Zt(),ut&&o.translate(-lt.x,-lt.y),qt(),Ft(),_e&&o.translate(ht.x1,ht.y1)}};var drawNodeOverlayUnderlay=function($){if(!["overlay","underlay"].includes($))throw new Error("Invalid state");return function(_e,et,tt,rt,at){var nt=this;if(et.visible()){var it=et.pstyle("".concat($,"-padding")).pfValue,ot=et.pstyle("".concat($,"-opacity")).value,st=et.pstyle("".concat($,"-color")).value,lt=et.pstyle("".concat($,"-shape")).value;if(ot>0){if(tt=tt||et.position(),rt==null||at==null){var ct=et.padding();rt=et.width()+2*ct,at=et.height()+2*ct}nt.colorFillStyle(_e,st[0],st[1],st[2],ot),nt.nodeShapes[lt].draw(_e,tt.x,tt.y,rt+it*2,at+it*2),_e.fill()}}}};CRp$5.drawNodeOverlay=drawNodeOverlayUnderlay("overlay");CRp$5.drawNodeUnderlay=drawNodeOverlayUnderlay("underlay");CRp$5.hasPie=function(o){return o=o[0],o._private.hasPie};CRp$5.drawPie=function(o,$,_e,et){$=$[0],et=et||$.position();var tt=$.cy().style(),rt=$.pstyle("pie-size"),at=et.x,nt=et.y,it=$.width(),ot=$.height(),st=Math.min(it,ot)/2,lt=0,ct=this.usePaths();ct&&(at=0,nt=0),rt.units==="%"?st=st*rt.pfValue:rt.pfValue!==void 0&&(st=rt.pfValue/2);for(var ut=1;ut<=tt.pieBackgroundN;ut++){var ft=$.pstyle("pie-"+ut+"-background-size").value,At=$.pstyle("pie-"+ut+"-background-color").value,vt=$.pstyle("pie-"+ut+"-background-opacity").value*_e,ht=ft/100;ht+lt>1&&(ht=1-lt);var bt=1.5*Math.PI+2*Math.PI*lt,pt=2*Math.PI*ht,dt=bt+pt;ft===0||lt>=1||lt+ht>1||(o.beginPath(),o.moveTo(at,nt),o.arc(at,nt,st,bt,dt),o.closePath(),this.colorFillStyle(o,At[0],At[1],At[2],vt),o.fill(),lt+=ht)}};var CRp$4={},motionBlurDelay=100;CRp$4.getPixelRatio=function(){var o=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var $=o.backingStorePixelRatio||o.webkitBackingStorePixelRatio||o.mozBackingStorePixelRatio||o.msBackingStorePixelRatio||o.oBackingStorePixelRatio||o.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/$};CRp$4.paintCache=function(o){for(var $=this.paintCaches=this.paintCaches||[],_e=!0,et,tt=0;tt<$.length;tt++)if(et=$[tt],et.context===o){_e=!1;break}return _e&&(et={context:o},$.push(et)),et};CRp$4.createGradientStyleFor=function(o,$,_e,et,tt){var rt,at=this.usePaths(),nt=_e.pstyle($+"-gradient-stop-colors").value,it=_e.pstyle($+"-gradient-stop-positions").pfValue;if(et==="radial-gradient")if(_e.isEdge()){var ot=_e.sourceEndpoint(),st=_e.targetEndpoint(),lt=_e.midpoint(),ct=dist$1(ot,lt),ut=dist$1(st,lt);rt=o.createRadialGradient(lt.x,lt.y,0,lt.x,lt.y,Math.max(ct,ut))}else{var ft=at?{x:0,y:0}:_e.position(),At=_e.paddedWidth(),vt=_e.paddedHeight();rt=o.createRadialGradient(ft.x,ft.y,0,ft.x,ft.y,Math.max(At,vt))}else if(_e.isEdge()){var ht=_e.sourceEndpoint(),bt=_e.targetEndpoint();rt=o.createLinearGradient(ht.x,ht.y,bt.x,bt.y)}else{var pt=at?{x:0,y:0}:_e.position(),dt=_e.paddedWidth(),_t=_e.paddedHeight(),Ct=dt/2,gt=_t/2,yt=_e.pstyle("background-gradient-direction").value;switch(yt){case"to-bottom":rt=o.createLinearGradient(pt.x,pt.y-gt,pt.x,pt.y+gt);break;case"to-top":rt=o.createLinearGradient(pt.x,pt.y+gt,pt.x,pt.y-gt);break;case"to-left":rt=o.createLinearGradient(pt.x+Ct,pt.y,pt.x-Ct,pt.y);break;case"to-right":rt=o.createLinearGradient(pt.x-Ct,pt.y,pt.x+Ct,pt.y);break;case"to-bottom-right":case"to-right-bottom":rt=o.createLinearGradient(pt.x-Ct,pt.y-gt,pt.x+Ct,pt.y+gt);break;case"to-top-right":case"to-right-top":rt=o.createLinearGradient(pt.x-Ct,pt.y+gt,pt.x+Ct,pt.y-gt);break;case"to-bottom-left":case"to-left-bottom":rt=o.createLinearGradient(pt.x+Ct,pt.y-gt,pt.x-Ct,pt.y+gt);break;case"to-top-left":case"to-left-top":rt=o.createLinearGradient(pt.x+Ct,pt.y+gt,pt.x-Ct,pt.y-gt);break}}if(!rt)return null;for(var xt=it.length===nt.length,Et=nt.length,It=0;Itat.minMbLowQualFrames&&(at.motionBlurPxRatio=at.mbPxRBlurry)),at.clearingMotionBlur&&(at.motionBlurPxRatio=1),at.textureDrawLastFrame&&!lt&&(st[at.NODE]=!0,st[at.SELECT_BOX]=!0);var bt=it.style(),pt=it.zoom(),dt=tt!==void 0?tt:pt,_t=it.pan(),Ct={x:_t.x,y:_t.y},gt={zoom:pt,pan:{x:_t.x,y:_t.y}},yt=at.prevViewport,xt=yt===void 0||gt.zoom!==yt.zoom||gt.pan.x!==yt.pan.x||gt.pan.y!==yt.pan.y;!xt&&!(At&&!ft)&&(at.motionBlurPxRatio=1),rt&&(Ct=rt),dt*=nt,Ct.x*=nt,Ct.y*=nt;var Et=at.getCachedZSortedEles();function It(dr,vr,Er,mr,Or){var Lr=dr.globalCompositeOperation;dr.globalCompositeOperation="destination-out",at.colorFillStyle(dr,255,255,255,at.motionBlurTransparency),dr.fillRect(vr,Er,mr,Or),dr.globalCompositeOperation=Lr}function Tt(dr,vr){var Er,mr,Or,Lr;!at.clearingMotionBlur&&(dr===ot.bufferContexts[at.MOTIONBLUR_BUFFER_NODE]||dr===ot.bufferContexts[at.MOTIONBLUR_BUFFER_DRAG])?(Er={x:_t.x*ut,y:_t.y*ut},mr=pt*ut,Or=at.canvasWidth*ut,Lr=at.canvasHeight*ut):(Er=Ct,mr=dt,Or=at.canvasWidth,Lr=at.canvasHeight),dr.setTransform(1,0,0,1,0,0),vr==="motionBlur"?It(dr,0,0,Or,Lr):!$&&(vr===void 0||vr)&&dr.clearRect(0,0,Or,Lr),_e||(dr.translate(Er.x,Er.y),dr.scale(mr,mr)),rt&&dr.translate(rt.x,rt.y),tt&&dr.scale(tt,tt)}if(lt||(at.textureDrawLastFrame=!1),lt){if(at.textureDrawLastFrame=!0,!at.textureCache){at.textureCache={},at.textureCache.bb=it.mutableElements().boundingBox(),at.textureCache.texture=at.data.bufferCanvases[at.TEXTURE_BUFFER];var Rt=at.data.bufferContexts[at.TEXTURE_BUFFER];Rt.setTransform(1,0,0,1,0,0),Rt.clearRect(0,0,at.canvasWidth*at.textureMult,at.canvasHeight*at.textureMult),at.render({forcedContext:Rt,drawOnlyNodeLayer:!0,forcedPxRatio:nt*at.textureMult});var gt=at.textureCache.viewport={zoom:it.zoom(),pan:it.pan(),width:at.canvasWidth,height:at.canvasHeight};gt.mpan={x:(0-gt.pan.x)/gt.zoom,y:(0-gt.pan.y)/gt.zoom}}st[at.DRAG]=!1,st[at.NODE]=!1;var Ot=ot.contexts[at.NODE],Mt=at.textureCache.texture,gt=at.textureCache.viewport;Ot.setTransform(1,0,0,1,0,0),ct?It(Ot,0,0,gt.width,gt.height):Ot.clearRect(0,0,gt.width,gt.height);var Bt=bt.core("outside-texture-bg-color").value,Lt=bt.core("outside-texture-bg-opacity").value;at.colorFillStyle(Ot,Bt[0],Bt[1],Bt[2],Lt),Ot.fillRect(0,0,gt.width,gt.height);var pt=it.zoom();Tt(Ot,!1),Ot.clearRect(gt.mpan.x,gt.mpan.y,gt.width/gt.zoom/nt,gt.height/gt.zoom/nt),Ot.drawImage(Mt,gt.mpan.x,gt.mpan.y,gt.width/gt.zoom/nt,gt.height/gt.zoom/nt)}else at.textureOnViewport&&!$&&(at.textureCache=null);var Vt=it.extent(),zt=at.pinching||at.hoverData.dragging||at.swipePanning||at.data.wheelZooming||at.hoverData.draggingEles||at.cy.animated(),Nt=at.hideEdgesOnViewport&&zt,Wt=[];if(Wt[at.NODE]=!st[at.NODE]&&ct&&!at.clearedForMotionBlur[at.NODE]||at.clearingMotionBlur,Wt[at.NODE]&&(at.clearedForMotionBlur[at.NODE]=!0),Wt[at.DRAG]=!st[at.DRAG]&&ct&&!at.clearedForMotionBlur[at.DRAG]||at.clearingMotionBlur,Wt[at.DRAG]&&(at.clearedForMotionBlur[at.DRAG]=!0),st[at.NODE]||_e||et||Wt[at.NODE]){var Jt=ct&&!Wt[at.NODE]&&ut!==1,Ot=$||(Jt?at.data.bufferContexts[at.MOTIONBLUR_BUFFER_NODE]:ot.contexts[at.NODE]),nr=ct&&!Jt?"motionBlur":void 0;Tt(Ot,nr),Nt?at.drawCachedNodes(Ot,Et.nondrag,nt,Vt):at.drawLayeredElements(Ot,Et.nondrag,nt,Vt),at.debug&&at.drawDebugPoints(Ot,Et.nondrag),!_e&&!ct&&(st[at.NODE]=!1)}if(!et&&(st[at.DRAG]||_e||Wt[at.DRAG])){var Jt=ct&&!Wt[at.DRAG]&&ut!==1,Ot=$||(Jt?at.data.bufferContexts[at.MOTIONBLUR_BUFFER_DRAG]:ot.contexts[at.DRAG]);Tt(Ot,ct&&!Jt?"motionBlur":void 0),Nt?at.drawCachedNodes(Ot,Et.drag,nt,Vt):at.drawCachedElements(Ot,Et.drag,nt,Vt),at.debug&&at.drawDebugPoints(Ot,Et.drag),!_e&&!ct&&(st[at.DRAG]=!1)}if(at.showFps||!et&&st[at.SELECT_BOX]&&!_e){var Ot=$||ot.contexts[at.SELECT_BOX];if(Tt(Ot),at.selection[4]==1&&(at.hoverData.selecting||at.touchData.selecting)){var pt=at.cy.zoom(),er=bt.core("selection-box-border-width").value/pt;Ot.lineWidth=er,Ot.fillStyle="rgba("+bt.core("selection-box-color").value[0]+","+bt.core("selection-box-color").value[1]+","+bt.core("selection-box-color").value[2]+","+bt.core("selection-box-opacity").value+")",Ot.fillRect(at.selection[0],at.selection[1],at.selection[2]-at.selection[0],at.selection[3]-at.selection[1]),er>0&&(Ot.strokeStyle="rgba("+bt.core("selection-box-border-color").value[0]+","+bt.core("selection-box-border-color").value[1]+","+bt.core("selection-box-border-color").value[2]+","+bt.core("selection-box-opacity").value+")",Ot.strokeRect(at.selection[0],at.selection[1],at.selection[2]-at.selection[0],at.selection[3]-at.selection[1]))}if(ot.bgActivePosistion&&!at.hoverData.selecting){var pt=at.cy.zoom(),Xt=ot.bgActivePosistion;Ot.fillStyle="rgba("+bt.core("active-bg-color").value[0]+","+bt.core("active-bg-color").value[1]+","+bt.core("active-bg-color").value[2]+","+bt.core("active-bg-opacity").value+")",Ot.beginPath(),Ot.arc(Xt.x,Xt.y,bt.core("active-bg-size").pfValue/pt,0,2*Math.PI),Ot.fill()}var tr=at.lastRedrawTime;if(at.showFps&&tr){tr=Math.round(tr);var Zt=Math.round(1e3/tr);Ot.setTransform(1,0,0,1,0,0),Ot.fillStyle="rgba(255, 0, 0, 0.75)",Ot.strokeStyle="rgba(255, 0, 0, 0.75)",Ot.lineWidth=1,Ot.fillText("1 frame = "+tr+" ms = "+Zt+" fps",0,20);var Gt=60;Ot.strokeRect(0,30,250,20),Ot.fillRect(0,30,250*Math.min(Zt/Gt,1),20)}_e||(st[at.SELECT_BOX]=!1)}if(ct&&ut!==1){var Ft=ot.contexts[at.NODE],jt=at.data.bufferCanvases[at.MOTIONBLUR_BUFFER_NODE],qt=ot.contexts[at.DRAG],or=at.data.bufferCanvases[at.MOTIONBLUR_BUFFER_DRAG],fr=function(vr,Er,mr){vr.setTransform(1,0,0,1,0,0),mr||!ht?vr.clearRect(0,0,at.canvasWidth,at.canvasHeight):It(vr,0,0,at.canvasWidth,at.canvasHeight);var Or=ut;vr.drawImage(Er,0,0,at.canvasWidth*Or,at.canvasHeight*Or,0,0,at.canvasWidth,at.canvasHeight)};(st[at.NODE]||Wt[at.NODE])&&(fr(Ft,jt,Wt[at.NODE]),st[at.NODE]=!1),(st[at.DRAG]||Wt[at.DRAG])&&(fr(qt,or,Wt[at.DRAG]),st[at.DRAG]=!1)}at.prevViewport=gt,at.clearingMotionBlur&&(at.clearingMotionBlur=!1,at.motionBlurCleared=!0,at.motionBlur=!0),ct&&(at.motionBlurTimeout=setTimeout(function(){at.motionBlurTimeout=null,at.clearedForMotionBlur[at.NODE]=!1,at.clearedForMotionBlur[at.DRAG]=!1,at.motionBlur=!1,at.clearingMotionBlur=!lt,at.mbFrames=0,st[at.NODE]=!0,st[at.DRAG]=!0,at.redraw()},motionBlurDelay)),$||it.emit("render")};var CRp$3={};CRp$3.drawPolygonPath=function(o,$,_e,et,tt,rt){var at=et/2,nt=tt/2;o.beginPath&&o.beginPath(),o.moveTo($+at*rt[0],_e+nt*rt[1]);for(var it=1;it0&&at>0){ut.clearRect(0,0,rt,at),ut.globalCompositeOperation="source-over";var ft=this.getCachedZSortedEles();if(o.full)ut.translate(-et.x1*ot,-et.y1*ot),ut.scale(ot,ot),this.drawElements(ut,ft),ut.scale(1/ot,1/ot),ut.translate(et.x1*ot,et.y1*ot);else{var At=$.pan(),vt={x:At.x*ot,y:At.y*ot};ot*=$.zoom(),ut.translate(vt.x,vt.y),ut.scale(ot,ot),this.drawElements(ut,ft),ut.scale(1/ot,1/ot),ut.translate(-vt.x,-vt.y)}o.bg&&(ut.globalCompositeOperation="destination-over",ut.fillStyle=o.bg,ut.rect(0,0,rt,at),ut.fill())}return ct};function b64ToBlob(o,$){for(var _e=atob(o),et=new ArrayBuffer(_e.length),tt=new Uint8Array(et),rt=0;rt<_e.length;rt++)tt[rt]=_e.charCodeAt(rt);return new Blob([et],{type:$})}function b64UriToB64(o){var $=o.indexOf(",");return o.substr($+1)}function output(o,$,_e){var et=function(){return $.toDataURL(_e,o.quality)};switch(o.output){case"blob-promise":return new Promise$1$1(function(tt,rt){try{$.toBlob(function(at){at!=null?tt(at):rt(new Error("`canvas.toBlob()` sent a null value in its callback"))},_e,o.quality)}catch(at){rt(at)}});case"blob":return b64ToBlob(b64UriToB64(et()),_e);case"base64":return b64UriToB64(et());case"base64uri":default:return et()}}CRp$2.png=function(o){return output(o,this.bufferCanvasImage(o),"image/png")};CRp$2.jpg=function(o){return output(o,this.bufferCanvasImage(o),"image/jpeg")};var CRp$1={};CRp$1.nodeShapeImpl=function(o,$,_e,et,tt,rt,at){switch(o){case"ellipse":return this.drawEllipsePath($,_e,et,tt,rt);case"polygon":return this.drawPolygonPath($,_e,et,tt,rt,at);case"round-polygon":return this.drawRoundPolygonPath($,_e,et,tt,rt,at);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath($,_e,et,tt,rt);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath($,_e,et,tt,rt);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath($,_e,et,tt,rt);case"barrel":return this.drawBarrelPath($,_e,et,tt,rt)}};var CR=CanvasRenderer,CRp=CanvasRenderer.prototype;CRp.CANVAS_LAYERS=3;CRp.SELECT_BOX=0;CRp.DRAG=1;CRp.NODE=2;CRp.BUFFER_COUNT=3;CRp.TEXTURE_BUFFER=0;CRp.MOTIONBLUR_BUFFER_NODE=1;CRp.MOTIONBLUR_BUFFER_DRAG=2;function CanvasRenderer(o){var $=this;$.data={canvases:new Array(CRp.CANVAS_LAYERS),contexts:new Array(CRp.CANVAS_LAYERS),canvasNeedsRedraw:new Array(CRp.CANVAS_LAYERS),bufferCanvases:new Array(CRp.BUFFER_COUNT),bufferContexts:new Array(CRp.CANVAS_LAYERS)};var _e="-webkit-tap-highlight-color",et="rgba(0,0,0,0)";$.data.canvasContainer=document.createElement("div");var tt=$.data.canvasContainer.style;$.data.canvasContainer.style[_e]=et,tt.position="relative",tt.zIndex="0",tt.overflow="hidden";var rt=o.cy.container();rt.appendChild($.data.canvasContainer),rt.style[_e]=et;var at={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};ms()&&(at["-ms-touch-action"]="none",at["touch-action"]="none");for(var nt=0;nt"u"?"undefined":_typeof$H(OffscreenCanvas))!=="undefined"?_e=new OffscreenCanvas(o,$):(_e=document.createElement("canvas"),_e.width=o,_e.height=$),_e};[CRp$a,CRp$9,CRp$8,CRp$7,CRp$6,CRp$5,CRp$4,CRp$3,CRp$2,CRp$1].forEach(function(o){extend$3(CRp,o)});var renderer=[{name:"null",impl:NullRenderer},{name:"base",impl:BR},{name:"canvas",impl:CR}],incExts=[{type:"layout",extensions:layout$1},{type:"renderer",extensions:renderer}],extensions={},modules={};function setExtension(o,$,_e){var et=_e,tt=function(yt){warn("Can not register `"+$+"` for `"+o+"` since `"+yt+"` already exists in the prototype and can not be overridden")};if(o==="core"){if(Core.prototype[$])return tt($);Core.prototype[$]=_e}else if(o==="collection"){if(Collection.prototype[$])return tt($);Collection.prototype[$]=_e}else if(o==="layout"){for(var rt=function(yt){this.options=yt,_e.call(this,yt),plainObject(this._private)||(this._private={}),this._private.cy=yt.cy,this._private.listeners=[],this.createEmitter()},at=rt.prototype=Object.create(_e.prototype),nt=[],it=0;itnt))return!1;var ot=rt.get(o),st=rt.get($);if(ot&&st)return ot==$&&st==o;var lt=-1,ct=!0,ut=_e&COMPARE_UNORDERED_FLAG$3?new SetCache$1:void 0;for(rt.set(o,$),rt.set($,o);++lt0&&_e(nt)?$>1?baseFlatten$1(nt,$-1,_e,et,tt):arrayPush$2(tt,nt):et||(tt[tt.length]=nt)}return tt}var _baseFlatten=baseFlatten$1;function apply$1(o,$,_e){switch(_e.length){case 0:return o.call($);case 1:return o.call($,_e[0]);case 2:return o.call($,_e[0],_e[1]);case 3:return o.call($,_e[0],_e[1],_e[2])}return o.apply($,_e)}var _apply=apply$1,apply=_apply,nativeMax$1=Math.max;function overRest$1(o,$,_e){return $=nativeMax$1($===void 0?o.length-1:$,0),function(){for(var et=arguments,tt=-1,rt=nativeMax$1(et.length-$,0),at=Array(rt);++tt0){if(++$>=HOT_COUNT)return arguments[0]}else $=0;return o.apply(void 0,arguments)}}var _shortOut=shortOut$1,baseSetToString=_baseSetToString,shortOut=_shortOut,setToString$1=shortOut(baseSetToString),_setToString=setToString$1,identity$7=identity_1,overRest=_overRest,setToString=_setToString;function baseRest$1(o,$){return setToString(overRest(o,$,identity$7),o+"")}var _baseRest=baseRest$1;function baseFindIndex$2(o,$,_e,et){for(var tt=o.length,rt=_e+(et?1:-1);et?rt--:++rt-1}var _arrayIncludes=arrayIncludes$1;function arrayIncludesWith$1(o,$,_e){for(var et=-1,tt=o==null?0:o.length;++et=LARGE_ARRAY_SIZE){var ot=$?null:createSet(o);if(ot)return setToArray(ot);at=!1,tt=cacheHas,it=new SetCache}else it=$?[]:nt;e:for(;++et1?ut.setNode(ft,lt):ut.setNode(ft)}),this},tt.prototype.setNode=function(st,lt){return o.has(this._nodes,st)?(arguments.length>1&&(this._nodes[st]=lt),this):(this._nodes[st]=arguments.length>1?lt:this._defaultNodeLabelFn(st),this._isCompound&&(this._parent[st]=_e,this._children[st]={},this._children[_e][st]=!0),this._in[st]={},this._preds[st]={},this._out[st]={},this._sucs[st]={},++this._nodeCount,this)},tt.prototype.node=function(st){return this._nodes[st]},tt.prototype.hasNode=function(st){return o.has(this._nodes,st)},tt.prototype.removeNode=function(st){var lt=this;if(o.has(this._nodes,st)){var ct=function(ut){lt.removeEdge(lt._edgeObjs[ut])};delete this._nodes[st],this._isCompound&&(this._removeFromParentsChildList(st),delete this._parent[st],o.each(this.children(st),function(ut){lt.setParent(ut)}),delete this._children[st]),o.each(o.keys(this._in[st]),ct),delete this._in[st],delete this._preds[st],o.each(o.keys(this._out[st]),ct),delete this._out[st],delete this._sucs[st],--this._nodeCount}return this},tt.prototype.setParent=function(st,lt){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o.isUndefined(lt))lt=_e;else{lt+="";for(var ct=lt;!o.isUndefined(ct);ct=this.parent(ct))if(ct===st)throw new Error("Setting "+lt+" as parent of "+st+" would create a cycle");this.setNode(lt)}return this.setNode(st),this._removeFromParentsChildList(st),this._parent[st]=lt,this._children[lt][st]=!0,this},tt.prototype._removeFromParentsChildList=function(st){delete this._children[this._parent[st]][st]},tt.prototype.parent=function(st){if(this._isCompound){var lt=this._parent[st];if(lt!==_e)return lt}},tt.prototype.children=function(st){if(o.isUndefined(st)&&(st=_e),this._isCompound){var lt=this._children[st];if(lt)return o.keys(lt)}else{if(st===_e)return this.nodes();if(this.hasNode(st))return[]}},tt.prototype.predecessors=function(st){var lt=this._preds[st];if(lt)return o.keys(lt)},tt.prototype.successors=function(st){var lt=this._sucs[st];if(lt)return o.keys(lt)},tt.prototype.neighbors=function(st){var lt=this.predecessors(st);if(lt)return o.union(lt,this.successors(st))},tt.prototype.isLeaf=function(st){var lt;return this.isDirected()?lt=this.successors(st):lt=this.neighbors(st),lt.length===0},tt.prototype.filterNodes=function(st){var lt=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});lt.setGraph(this.graph());var ct=this;o.each(this._nodes,function(At,vt){st(vt)&<.setNode(vt,At)}),o.each(this._edgeObjs,function(At){lt.hasNode(At.v)&<.hasNode(At.w)&<.setEdge(At,ct.edge(At))});var ut={};function ft(At){var vt=ct.parent(At);return vt===void 0||lt.hasNode(vt)?(ut[At]=vt,vt):vt in ut?ut[vt]:ft(vt)}return this._isCompound&&o.each(lt.nodes(),function(At){lt.setParent(At,ft(At))}),lt},tt.prototype.setDefaultEdgeLabel=function(st){return o.isFunction(st)||(st=o.constant(st)),this._defaultEdgeLabelFn=st,this},tt.prototype.edgeCount=function(){return this._edgeCount},tt.prototype.edges=function(){return o.values(this._edgeObjs)},tt.prototype.setPath=function(st,lt){var ct=this,ut=arguments;return o.reduce(st,function(ft,At){return ut.length>1?ct.setEdge(ft,At,lt):ct.setEdge(ft,At),At}),this},tt.prototype.setEdge=function(){var st,lt,ct,ut,ft=!1,At=arguments[0];typeof At=="object"&&At!==null&&"v"in At?(st=At.v,lt=At.w,ct=At.name,arguments.length===2&&(ut=arguments[1],ft=!0)):(st=At,lt=arguments[1],ct=arguments[3],arguments.length>2&&(ut=arguments[2],ft=!0)),st=""+st,lt=""+lt,o.isUndefined(ct)||(ct=""+ct);var vt=nt(this._isDirected,st,lt,ct);if(o.has(this._edgeLabels,vt))return ft&&(this._edgeLabels[vt]=ut),this;if(!o.isUndefined(ct)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(st),this.setNode(lt),this._edgeLabels[vt]=ft?ut:this._defaultEdgeLabelFn(st,lt,ct);var ht=it(this._isDirected,st,lt,ct);return st=ht.v,lt=ht.w,Object.freeze(ht),this._edgeObjs[vt]=ht,rt(this._preds[lt],st),rt(this._sucs[st],lt),this._in[lt][vt]=ht,this._out[st][vt]=ht,this._edgeCount++,this},tt.prototype.edge=function(st,lt,ct){var ut=arguments.length===1?ot(this._isDirected,arguments[0]):nt(this._isDirected,st,lt,ct);return this._edgeLabels[ut]},tt.prototype.hasEdge=function(st,lt,ct){var ut=arguments.length===1?ot(this._isDirected,arguments[0]):nt(this._isDirected,st,lt,ct);return o.has(this._edgeLabels,ut)},tt.prototype.removeEdge=function(st,lt,ct){var ut=arguments.length===1?ot(this._isDirected,arguments[0]):nt(this._isDirected,st,lt,ct),ft=this._edgeObjs[ut];return ft&&(st=ft.v,lt=ft.w,delete this._edgeLabels[ut],delete this._edgeObjs[ut],at(this._preds[lt],st),at(this._sucs[st],lt),delete this._in[lt][ut],delete this._out[st][ut],this._edgeCount--),this},tt.prototype.inEdges=function(st,lt){var ct=this._in[st];if(ct){var ut=o.values(ct);return lt?o.filter(ut,function(ft){return ft.v===lt}):ut}},tt.prototype.outEdges=function(st,lt){var ct=this._out[st];if(ct){var ut=o.values(ct);return lt?o.filter(ut,function(ft){return ft.w===lt}):ut}},tt.prototype.nodeEdges=function(st,lt){var ct=this.inEdges(st,lt);if(ct)return ct.concat(this.outEdges(st,lt))};function rt(st,lt){st[lt]?st[lt]++:st[lt]=1}function at(st,lt){--st[lt]||delete st[lt]}function nt(st,lt,ct,ut){var ft=""+lt,At=""+ct;if(!st&&ft>At){var vt=ft;ft=At,At=vt}return ft+et+At+et+(o.isUndefined(ut)?$:ut)}function it(st,lt,ct,ut){var ft=""+lt,At=""+ct;if(!st&&ft>At){var vt=ft;ft=At,At=vt}var ht={v:ft,w:At};return ut&&(ht.name=ut),ht}function ot(st,lt){return nt(st,lt.v,lt.w,lt.name)}return graph}var version$1,hasRequiredVersion$1;function requireVersion$1(){return hasRequiredVersion$1||(hasRequiredVersion$1=1,version$1="2.1.8"),version$1}var lib$3,hasRequiredLib;function requireLib(){return hasRequiredLib||(hasRequiredLib=1,lib$3={Graph:requireGraph(),version:requireVersion$1()}),lib$3}var json,hasRequiredJson;function requireJson(){if(hasRequiredJson)return json;hasRequiredJson=1;var o=requireLodash$1(),$=requireGraph();json={write:_e,read:rt};function _e(at){var nt={options:{directed:at.isDirected(),multigraph:at.isMultigraph(),compound:at.isCompound()},nodes:et(at),edges:tt(at)};return o.isUndefined(at.graph())||(nt.value=o.clone(at.graph())),nt}function et(at){return o.map(at.nodes(),function(nt){var it=at.node(nt),ot=at.parent(nt),st={v:nt};return o.isUndefined(it)||(st.value=it),o.isUndefined(ot)||(st.parent=ot),st})}function tt(at){return o.map(at.edges(),function(nt){var it=at.edge(nt),ot={v:nt.v,w:nt.w};return o.isUndefined(nt.name)||(ot.name=nt.name),o.isUndefined(it)||(ot.value=it),ot})}function rt(at){var nt=new $(at.options).setGraph(at.value);return o.each(at.nodes,function(it){nt.setNode(it.v,it.value),it.parent&&nt.setParent(it.v,it.parent)}),o.each(at.edges,function(it){nt.setEdge({v:it.v,w:it.w,name:it.name},it.value)}),nt}return json}var components_1,hasRequiredComponents;function requireComponents(){if(hasRequiredComponents)return components_1;hasRequiredComponents=1;var o=requireLodash$1();components_1=$;function $(_e){var et={},tt=[],rt;function at(nt){o.has(et,nt)||(et[nt]=!0,rt.push(nt),o.each(_e.successors(nt),at),o.each(_e.predecessors(nt),at))}return o.each(_e.nodes(),function(nt){rt=[],at(nt),rt.length&&tt.push(rt)}),tt}return components_1}var priorityQueue,hasRequiredPriorityQueue;function requirePriorityQueue(){if(hasRequiredPriorityQueue)return priorityQueue;hasRequiredPriorityQueue=1;var o=requireLodash$1();priorityQueue=$;function $(){this._arr=[],this._keyIndices={}}return $.prototype.size=function(){return this._arr.length},$.prototype.keys=function(){return this._arr.map(function(_e){return _e.key})},$.prototype.has=function(_e){return o.has(this._keyIndices,_e)},$.prototype.priority=function(_e){var et=this._keyIndices[_e];if(et!==void 0)return this._arr[et].priority},$.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},$.prototype.add=function(_e,et){var tt=this._keyIndices;if(_e=String(_e),!o.has(tt,_e)){var rt=this._arr,at=rt.length;return tt[_e]=at,rt.push({key:_e,priority:et}),this._decrease(at),!0}return!1},$.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var _e=this._arr.pop();return delete this._keyIndices[_e.key],this._heapify(0),_e.key},$.prototype.decrease=function(_e,et){var tt=this._keyIndices[_e];if(et>this._arr[tt].priority)throw new Error("New priority is greater than current priority. Key: "+_e+" Old: "+this._arr[tt].priority+" New: "+et);this._arr[tt].priority=et,this._decrease(tt)},$.prototype._heapify=function(_e){var et=this._arr,tt=2*_e,rt=tt+1,at=_e;tt>1,!(et[rt].priority0&&(lt=st.removeMin(),ct=ot[lt],ct.distance!==Number.POSITIVE_INFINITY);)it(lt).forEach(ut);return ot}return dijkstra_1}var dijkstraAll_1,hasRequiredDijkstraAll;function requireDijkstraAll(){if(hasRequiredDijkstraAll)return dijkstraAll_1;hasRequiredDijkstraAll=1;var o=requireDijkstra(),$=requireLodash$1();dijkstraAll_1=_e;function _e(et,tt,rt){return $.transform(et.nodes(),function(at,nt){at[nt]=o(et,nt,tt,rt)},{})}return dijkstraAll_1}var tarjan_1,hasRequiredTarjan;function requireTarjan(){if(hasRequiredTarjan)return tarjan_1;hasRequiredTarjan=1;var o=requireLodash$1();tarjan_1=$;function $(_e){var et=0,tt=[],rt={},at=[];function nt(it){var ot=rt[it]={onStack:!0,lowlink:et,index:et++};if(tt.push(it),_e.successors(it).forEach(function(ct){o.has(rt,ct)?rt[ct].onStack&&(ot.lowlink=Math.min(ot.lowlink,rt[ct].index)):(nt(ct),ot.lowlink=Math.min(ot.lowlink,rt[ct].lowlink))}),ot.lowlink===ot.index){var st=[],lt;do lt=tt.pop(),rt[lt].onStack=!1,st.push(lt);while(it!==lt);at.push(st)}}return _e.nodes().forEach(function(it){o.has(rt,it)||nt(it)}),at}return tarjan_1}var findCycles_1,hasRequiredFindCycles;function requireFindCycles(){if(hasRequiredFindCycles)return findCycles_1;hasRequiredFindCycles=1;var o=requireLodash$1(),$=requireTarjan();findCycles_1=_e;function _e(et){return o.filter($(et),function(tt){return tt.length>1||tt.length===1&&et.hasEdge(tt[0],tt[0])})}return findCycles_1}var floydWarshall_1,hasRequiredFloydWarshall;function requireFloydWarshall(){if(hasRequiredFloydWarshall)return floydWarshall_1;hasRequiredFloydWarshall=1;var o=requireLodash$1();floydWarshall_1=_e;var $=o.constant(1);function _e(tt,rt,at){return et(tt,rt||$,at||function(nt){return tt.outEdges(nt)})}function et(tt,rt,at){var nt={},it=tt.nodes();return it.forEach(function(ot){nt[ot]={},nt[ot][ot]={distance:0},it.forEach(function(st){ot!==st&&(nt[ot][st]={distance:Number.POSITIVE_INFINITY})}),at(ot).forEach(function(st){var lt=st.v===ot?st.w:st.v,ct=rt(st);nt[ot][lt]={distance:ct,predecessor:ot}})}),it.forEach(function(ot){var st=nt[ot];it.forEach(function(lt){var ct=nt[lt];it.forEach(function(ut){var ft=ct[ot],At=st[ut],vt=ct[ut],ht=ft.distance+At.distance;ht0;){if(ot=it.removeMin(),o.has(nt,ot))at.setEdge(ot,nt[ot]);else{if(lt)throw new Error("Input graph is not connected: "+tt);lt=!0}tt.nodeEdges(ot).forEach(st)}return at}return prim_1}var alg,hasRequiredAlg;function requireAlg(){return hasRequiredAlg||(hasRequiredAlg=1,alg={components:requireComponents(),dijkstra:requireDijkstra(),dijkstraAll:requireDijkstraAll(),findCycles:requireFindCycles(),floydWarshall:requireFloydWarshall(),isAcyclic:requireIsAcyclic(),postorder:requirePostorder(),preorder:requirePreorder(),prim:requirePrim(),tarjan:requireTarjan(),topsort:requireTopsort()}),alg}var graphlib,hasRequiredGraphlib$1;function requireGraphlib$1(){if(hasRequiredGraphlib$1)return graphlib;hasRequiredGraphlib$1=1;var o=requireLib();return graphlib={Graph:o.Graph,json:requireJson(),alg:requireAlg(),version:o.version},graphlib}var graphlib_1,hasRequiredGraphlib;function requireGraphlib(){if(hasRequiredGraphlib)return graphlib_1;hasRequiredGraphlib=1;var o;if(typeof commonjsRequire=="function")try{o=requireGraphlib$1()}catch($){}return o||(o=window.graphlib),graphlib_1=o,graphlib_1}var cloneDeep_1,hasRequiredCloneDeep;function requireCloneDeep(){if(hasRequiredCloneDeep)return cloneDeep_1;hasRequiredCloneDeep=1;var o=require_baseClone(),$=1,_e=4;function et(tt){return o(tt,$|_e)}return cloneDeep_1=et,cloneDeep_1}var eq$1=eq_1,isArrayLike$1=isArrayLike_1,isIndex=_isIndex,isObject$9=isObject_1;function isIterateeCall$1(o,$,_e){if(!isObject$9(_e))return!1;var et=typeof $;return(et=="number"?isArrayLike$1(_e)&&isIndex($,_e.length):et=="string"&&$ in _e)?eq$1(_e[$],o):!1}var _isIterateeCall=isIterateeCall$1,defaults_1,hasRequiredDefaults;function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var o=_baseRest,$=eq_1,_e=_isIterateeCall,et=keysIn_1,tt=Object.prototype,rt=tt.hasOwnProperty,at=o(function(nt,it){nt=Object(nt);var ot=-1,st=it.length,lt=st>2?it[2]:void 0;for(lt&&_e(it[0],it[1],lt)&&(st=1);++ot-1?tt[rt?$[at]:at]:void 0}}var _createFind=createFind$1,toNumber$2=toNumber_1,INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite$1(o){if(!o)return o===0?o:0;if(o=toNumber$2(o),o===INFINITY||o===-INFINITY){var $=o<0?-1:1;return $*MAX_INTEGER}return o===o?o:0}var toFinite_1=toFinite$1,toFinite=toFinite_1;function toInteger$2(o){var $=toFinite(o),_e=$%1;return $===$?_e?$-_e:$:0}var toInteger_1=toInteger$2,baseFindIndex=_baseFindIndex,baseIteratee$5=_baseIteratee,toInteger$1=toInteger_1,nativeMax=Math.max;function findIndex$2(o,$,_e){var et=o==null?0:o.length;if(!et)return-1;var tt=_e==null?0:toInteger$1(_e);return tt<0&&(tt=nativeMax(et+tt,0)),baseFindIndex(o,baseIteratee$5($),tt)}var findIndex_1=findIndex$2,createFind=_createFind,findIndex$1=findIndex_1,find$1=createFind(findIndex$1),find_1=find$1,flatten_1,hasRequiredFlatten;function requireFlatten(){if(hasRequiredFlatten)return flatten_1;hasRequiredFlatten=1;var o=_baseFlatten;function $(_e){var et=_e==null?0:_e.length;return et?o(_e,1):[]}return flatten_1=$,flatten_1}var forIn_1,hasRequiredForIn;function requireForIn(){if(hasRequiredForIn)return forIn_1;hasRequiredForIn=1;var o=_baseFor,$=require_castFunction(),_e=keysIn_1;function et(tt,rt){return tt==null?tt:o(tt,$(rt),_e)}return forIn_1=et,forIn_1}var baseAssignValue$2=_baseAssignValue,baseForOwn=_baseForOwn,baseIteratee$4=_baseIteratee;function mapValues(o,$){var _e={};return $=baseIteratee$4($),baseForOwn(o,function(et,tt,rt){baseAssignValue$2(_e,tt,$(et,tt,rt))}),_e}var mapValues_1=mapValues,isSymbol=isSymbol_1;function baseExtremum$1(o,$,_e){for(var et=-1,tt=o.length;++et$}var _baseGt=baseGt$1,max_1,hasRequiredMax;function requireMax(){if(hasRequiredMax)return max_1;hasRequiredMax=1;var o=_baseExtremum,$=_baseGt,_e=identity_1;function et(tt){return tt&&tt.length?o(tt,_e,$):void 0}return max_1=et,max_1}var baseAssignValue$1=_baseAssignValue,eq=eq_1;function assignMergeValue$2(o,$,_e){(_e!==void 0&&!eq(o[$],_e)||_e===void 0&&!($ in o))&&baseAssignValue$1(o,$,_e)}var _assignMergeValue=assignMergeValue$2,baseGetTag=_baseGetTag,getPrototype=_getPrototype,isObjectLike=isObjectLike_1,objectTag="[object Object]",funcProto=Function.prototype,objectProto$1=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$2=objectProto$1.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$2(o){if(!isObjectLike(o)||baseGetTag(o)!=objectTag)return!1;var $=getPrototype(o);if($===null)return!0;var _e=hasOwnProperty$2.call($,"constructor")&&$.constructor;return typeof _e=="function"&&_e instanceof _e&&funcToString.call(_e)==objectCtorString}var isPlainObject_1=isPlainObject$2;function safeGet$2(o,$){if(!($==="constructor"&&typeof o[$]=="function")&&$!="__proto__")return o[$]}var _safeGet=safeGet$2,copyObject=_copyObject,keysIn$1=keysIn_1;function toPlainObject$1(o){return copyObject(o,keysIn$1(o))}var toPlainObject_1=toPlainObject$1,assignMergeValue$1=_assignMergeValue,cloneBuffer=_cloneBufferExports,cloneTypedArray=_cloneTypedArray,copyArray=_copyArray,initCloneObject=_initCloneObject,isArguments$1=isArguments_1,isArray$2=isArray_1,isArrayLikeObject=isArrayLikeObject_1,isBuffer$1=isBufferExports,isFunction$4=isFunction_1,isObject$8=isObject_1,isPlainObject$1=isPlainObject_1,isTypedArray=isTypedArray_1,safeGet$1=_safeGet,toPlainObject=toPlainObject_1;function baseMergeDeep$1(o,$,_e,et,tt,rt,at){var nt=safeGet$1(o,_e),it=safeGet$1($,_e),ot=at.get(it);if(ot){assignMergeValue$1(o,_e,ot);return}var st=rt?rt(nt,it,_e+"",o,$,at):void 0,lt=st===void 0;if(lt){var ct=isArray$2(it),ut=!ct&&isBuffer$1(it),ft=!ct&&!ut&&isTypedArray(it);st=it,ct||ut||ft?isArray$2(nt)?st=nt:isArrayLikeObject(nt)?st=copyArray(nt):ut?(lt=!1,st=cloneBuffer(it,!0)):ft?(lt=!1,st=cloneTypedArray(it,!0)):st=[]:isPlainObject$1(it)||isArguments$1(it)?(st=nt,isArguments$1(nt)?st=toPlainObject(nt):(!isObject$8(nt)||isFunction$4(nt))&&(st=initCloneObject(it))):lt=!1}lt&&(at.set(it,st),tt(st,it,et,rt,at),at.delete(it)),assignMergeValue$1(o,_e,st)}var _baseMergeDeep=baseMergeDeep$1,Stack=_Stack,assignMergeValue=_assignMergeValue,baseFor=_baseFor,baseMergeDeep=_baseMergeDeep,isObject$7=isObject_1,keysIn=keysIn_1,safeGet=_safeGet;function baseMerge$1(o,$,_e,et,tt){o!==$&&baseFor($,function(rt,at){if(tt||(tt=new Stack),isObject$7(rt))baseMergeDeep(o,$,at,_e,baseMerge$1,et,tt);else{var nt=et?et(safeGet(o,at),rt,at+"",o,$,tt):void 0;nt===void 0&&(nt=rt),assignMergeValue(o,at,nt)}},keysIn)}var _baseMerge=baseMerge$1,baseRest=_baseRest,isIterateeCall=_isIterateeCall;function createAssigner$1(o){return baseRest(function($,_e){var et=-1,tt=_e.length,rt=tt>1?_e[tt-1]:void 0,at=tt>2?_e[2]:void 0;for(rt=o.length>3&&typeof rt=="function"?(tt--,rt):void 0,at&&isIterateeCall(_e[0],_e[1],at)&&(rt=tt<3?void 0:rt,tt=1),$=Object($);++etet||nt&&it&&st&&!ot&&!lt||rt&&it&&st||!tt&&st||!at)return 1;if(!rt&&!nt&&!lt&&_e=ot)return st;var lt=tt[rt];return st*(lt=="desc"?-1:1)}}return _e.index-et.index}return _compareMultiple=$,_compareMultiple}var _baseOrderBy,hasRequired_baseOrderBy;function require_baseOrderBy(){if(hasRequired_baseOrderBy)return _baseOrderBy;hasRequired_baseOrderBy=1;var o=_arrayMap,$=_baseGet,_e=_baseIteratee,et=_baseMap,tt=require_baseSortBy(),rt=_baseUnary,at=require_compareMultiple(),nt=identity_1,it=isArray_1;function ot(st,lt,ct){lt.length?lt=o(lt,function(At){return it(At)?function(vt){return $(vt,At.length===1?At[0]:At)}:At}):lt=[nt];var ut=-1;lt=o(lt,rt(_e));var ft=et(st,function(At,vt,ht){var bt=o(lt,function(pt){return pt(At)});return{criteria:bt,index:++ut,value:At}});return tt(ft,function(At,vt){return at(At,vt,ct)})}return _baseOrderBy=ot,_baseOrderBy}var sortBy_1,hasRequiredSortBy;function requireSortBy(){if(hasRequiredSortBy)return sortBy_1;hasRequiredSortBy=1;var o=_baseFlatten,$=require_baseOrderBy(),_e=_baseRest,et=_isIterateeCall,tt=_e(function(rt,at){if(rt==null)return[];var nt=at.length;return nt>1&&et(rt,at[0],at[1])?at=[]:nt>2&&et(at[0],at[1],at[2])&&(at=[at[0]]),$(rt,o(at,1),[])});return sortBy_1=tt,sortBy_1}var uniqueId_1,hasRequiredUniqueId;function requireUniqueId(){if(hasRequiredUniqueId)return uniqueId_1;hasRequiredUniqueId=1;var o=toString_1,$=0;function _e(et){var tt=++$;return o(et)+tt}return uniqueId_1=_e,uniqueId_1}var _baseZipObject,hasRequired_baseZipObject;function require_baseZipObject(){if(hasRequired_baseZipObject)return _baseZipObject;hasRequired_baseZipObject=1;function o($,_e,et){for(var tt=-1,rt=$.length,at=_e.length,nt={};++tt0;--vt)if(At=st[vt].dequeue(),At){ct=ct.concat(at(ot,st,lt,At,!0));break}}}return ct}function at(ot,st,lt,ct,ut){var ft=ut?[]:void 0;return o.forEach(ot.inEdges(ct.v),function(At){var vt=ot.edge(At),ht=ot.node(At.v);ut&&ft.push({v:At.v,w:At.w}),ht.out-=vt,it(st,lt,ht)}),o.forEach(ot.outEdges(ct.v),function(At){var vt=ot.edge(At),ht=At.w,bt=ot.node(ht);bt.in-=vt,it(st,lt,bt)}),ot.removeNode(ct.v),ft}function nt(ot,st){var lt=new $,ct=0,ut=0;o.forEach(ot.nodes(),function(vt){lt.setNode(vt,{v:vt,in:0,out:0})}),o.forEach(ot.edges(),function(vt){var ht=lt.edge(vt.v,vt.w)||0,bt=st(vt),pt=ht+bt;lt.setEdge(vt.v,vt.w,pt),ut=Math.max(ut,lt.node(vt.v).out+=bt),ct=Math.max(ct,lt.node(vt.w).in+=bt)});var ft=o.range(ut+ct+3).map(function(){return new _e}),At=ct+1;return o.forEach(lt.nodes(),function(vt){it(ft,At,lt.node(vt))}),{graph:lt,buckets:ft,zeroIdx:At}}function it(ot,st,lt){lt.out?lt.in?ot[lt.out-lt.in+st].enqueue(lt):ot[ot.length-1].enqueue(lt):ot[0].enqueue(lt)}return greedyFas}var acyclic,hasRequiredAcyclic;function requireAcyclic(){if(hasRequiredAcyclic)return acyclic;hasRequiredAcyclic=1;var o=requireLodash(),$=requireGreedyFas();acyclic={run:_e,undo:tt};function _e(rt){var at=rt.graph().acyclicer==="greedy"?$(rt,nt(rt)):et(rt);o.forEach(at,function(it){var ot=rt.edge(it);rt.removeEdge(it),ot.forwardName=it.name,ot.reversed=!0,rt.setEdge(it.w,it.v,ot,o.uniqueId("rev"))});function nt(it){return function(ot){return it.edge(ot).weight}}}function et(rt){var at=[],nt={},it={};function ot(st){o.has(it,st)||(it[st]=!0,nt[st]=!0,o.forEach(rt.outEdges(st),function(lt){o.has(nt,lt.w)?at.push(lt):ot(lt.w)}),delete nt[st])}return o.forEach(rt.nodes(),ot),at}function tt(rt){o.forEach(rt.edges(),function(at){var nt=rt.edge(at);if(nt.reversed){rt.removeEdge(at);var it=nt.forwardName;delete nt.reversed,delete nt.forwardName,rt.setEdge(at.w,at.v,nt,it)}})}return acyclic}var util$8,hasRequiredUtil$1;function requireUtil$1(){if(hasRequiredUtil$1)return util$8;hasRequiredUtil$1=1;var o=requireLodash(),$=requireGraphlib().Graph;util$8={addDummyNode:_e,simplify:et,asNonCompoundGraph:tt,successorWeights:rt,predecessorWeights:at,intersectRect:nt,buildLayerMatrix:it,normalizeRanks:ot,removeEmptyRanks:st,addBorderNode:lt,maxRank:ct,partition:ut,time:ft,notime:At};function _e(vt,ht,bt,pt){var dt;do dt=o.uniqueId(pt);while(vt.hasNode(dt));return bt.dummy=ht,vt.setNode(dt,bt),dt}function et(vt){var ht=new $().setGraph(vt.graph());return o.forEach(vt.nodes(),function(bt){ht.setNode(bt,vt.node(bt))}),o.forEach(vt.edges(),function(bt){var pt=ht.edge(bt.v,bt.w)||{weight:0,minlen:1},dt=vt.edge(bt);ht.setEdge(bt.v,bt.w,{weight:pt.weight+dt.weight,minlen:Math.max(pt.minlen,dt.minlen)})}),ht}function tt(vt){var ht=new $({multigraph:vt.isMultigraph()}).setGraph(vt.graph());return o.forEach(vt.nodes(),function(bt){vt.children(bt).length||ht.setNode(bt,vt.node(bt))}),o.forEach(vt.edges(),function(bt){ht.setEdge(bt,vt.edge(bt))}),ht}function rt(vt){var ht=o.map(vt.nodes(),function(bt){var pt={};return o.forEach(vt.outEdges(bt),function(dt){pt[dt.w]=(pt[dt.w]||0)+vt.edge(dt).weight}),pt});return o.zipObject(vt.nodes(),ht)}function at(vt){var ht=o.map(vt.nodes(),function(bt){var pt={};return o.forEach(vt.inEdges(bt),function(dt){pt[dt.v]=(pt[dt.v]||0)+vt.edge(dt).weight}),pt});return o.zipObject(vt.nodes(),ht)}function nt(vt,ht){var bt=vt.x,pt=vt.y,dt=ht.x-bt,_t=ht.y-pt,Ct=vt.width/2,gt=vt.height/2;if(!dt&&!_t)throw new Error("Not possible to find intersection inside of the rectangle");var yt,xt;return Math.abs(_t)*Ct>Math.abs(dt)*gt?(_t<0&&(gt=-gt),yt=gt*dt/_t,xt=gt):(dt<0&&(Ct=-Ct),yt=Ct,xt=Ct*_t/dt),{x:bt+yt,y:pt+xt}}function it(vt){var ht=o.map(o.range(ct(vt)+1),function(){return[]});return o.forEach(vt.nodes(),function(bt){var pt=vt.node(bt),dt=pt.rank;o.isUndefined(dt)||(ht[dt][pt.order]=bt)}),ht}function ot(vt){var ht=o.min(o.map(vt.nodes(),function(bt){return vt.node(bt).rank}));o.forEach(vt.nodes(),function(bt){var pt=vt.node(bt);o.has(pt,"rank")&&(pt.rank-=ht)})}function st(vt){var ht=o.min(o.map(vt.nodes(),function(_t){return vt.node(_t).rank})),bt=[];o.forEach(vt.nodes(),function(_t){var Ct=vt.node(_t).rank-ht;bt[Ct]||(bt[Ct]=[]),bt[Ct].push(_t)});var pt=0,dt=vt.graph().nodeRankFactor;o.forEach(bt,function(_t,Ct){o.isUndefined(_t)&&Ct%dt!==0?--pt:pt&&o.forEach(_t,function(gt){vt.node(gt).rank+=pt})})}function lt(vt,ht,bt,pt){var dt={width:0,height:0};return arguments.length>=4&&(dt.rank=bt,dt.order=pt),_e(vt,"border",dt,ht)}function ct(vt){return o.max(o.map(vt.nodes(),function(ht){var bt=vt.node(ht).rank;if(!o.isUndefined(bt))return bt}))}function ut(vt,ht){var bt={lhs:[],rhs:[]};return o.forEach(vt,function(pt){ht(pt)?bt.lhs.push(pt):bt.rhs.push(pt)}),bt}function ft(vt,ht){var bt=o.now();try{return ht()}finally{console.log(vt+" time: "+(o.now()-bt)+"ms")}}function At(vt,ht){return ht()}return util$8}var normalize,hasRequiredNormalize;function requireNormalize(){if(hasRequiredNormalize)return normalize;hasRequiredNormalize=1;var o=requireLodash(),$=requireUtil$1();normalize={run:_e,undo:tt};function _e(rt){rt.graph().dummyChains=[],o.forEach(rt.edges(),function(at){et(rt,at)})}function et(rt,at){var nt=at.v,it=rt.node(nt).rank,ot=at.w,st=rt.node(ot).rank,lt=at.name,ct=rt.edge(at),ut=ct.labelRank;if(st!==it+1){rt.removeEdge(at);var ft,At,vt;for(vt=0,++it;itxt.lim&&(Et=xt,It=!0);var Tt=o.filter(dt.edges(),function(Rt){return It===bt(pt,pt.node(Rt.v),Et)&&It!==bt(pt,pt.node(Rt.w),Et)});return o.minBy(Tt,function(Rt){return _e(dt,Rt)})}function At(pt,dt,_t,Ct){var gt=_t.v,yt=_t.w;pt.removeEdge(gt,yt),pt.setEdge(Ct.v,Ct.w,{}),lt(pt),it(pt,dt),vt(pt,dt)}function vt(pt,dt){var _t=o.find(pt.nodes(),function(gt){return!dt.node(gt).parent}),Ct=tt(pt,_t);Ct=Ct.slice(1),o.forEach(Ct,function(gt){var yt=pt.node(gt).parent,xt=dt.edge(gt,yt),Et=!1;xt||(xt=dt.edge(yt,gt),Et=!0),dt.node(gt).rank=dt.node(yt).rank+(Et?xt.minlen:-xt.minlen)})}function ht(pt,dt,_t){return pt.hasEdge(dt,_t)}function bt(pt,dt,_t){return _t.low<=dt.lim&&dt.lim<=_t.lim}return networkSimplex_1}var rank_1,hasRequiredRank;function requireRank(){if(hasRequiredRank)return rank_1;hasRequiredRank=1;var o=requireUtil(),$=o.longestPath,_e=requireFeasibleTree(),et=requireNetworkSimplex();rank_1=tt;function tt(it){switch(it.graph().ranker){case"network-simplex":nt(it);break;case"tight-tree":at(it);break;case"longest-path":rt(it);break;default:nt(it)}}var rt=$;function at(it){$(it),_e(it)}function nt(it){et(it)}return rank_1}var parentDummyChains_1,hasRequiredParentDummyChains;function requireParentDummyChains(){if(hasRequiredParentDummyChains)return parentDummyChains_1;hasRequiredParentDummyChains=1;var o=requireLodash();parentDummyChains_1=$;function $(tt){var rt=et(tt);o.forEach(tt.graph().dummyChains,function(at){for(var nt=tt.node(at),it=nt.edgeObj,ot=_e(tt,rt,it.v,it.w),st=ot.path,lt=ot.lca,ct=0,ut=st[ct],ft=!0;at!==it.w;){if(nt=tt.node(at),ft){for(;(ut=st[ct])!==lt&&tt.node(ut).maxRankst||lt>rt[ct].lim));for(ut=ct,ct=nt;(ct=tt.parent(ct))!==ut;)ot.push(ct);return{path:it.concat(ot.reverse()),lca:ut}}function et(tt){var rt={},at=0;function nt(it){var ot=at;o.forEach(tt.children(it),nt),rt[it]={low:ot,lim:at++}}return o.forEach(tt.children(),nt),rt}return parentDummyChains_1}var nestingGraph,hasRequiredNestingGraph;function requireNestingGraph(){if(hasRequiredNestingGraph)return nestingGraph;hasRequiredNestingGraph=1;var o=requireLodash(),$=requireUtil$1();nestingGraph={run:_e,cleanup:at};function _e(nt){var it=$.addDummyNode(nt,"root",{},"_root"),ot=tt(nt),st=o.max(o.values(ot))-1,lt=2*st+1;nt.graph().nestingRoot=it,o.forEach(nt.edges(),function(ut){nt.edge(ut).minlen*=lt});var ct=rt(nt)+1;o.forEach(nt.children(),function(ut){et(nt,it,lt,ct,st,ot,ut)}),nt.graph().nodeRankFactor=lt}function et(nt,it,ot,st,lt,ct,ut){var ft=nt.children(ut);if(!ft.length){ut!==it&&nt.setEdge(it,ut,{weight:0,minlen:ot});return}var At=$.addBorderNode(nt,"_bt"),vt=$.addBorderNode(nt,"_bb"),ht=nt.node(ut);nt.setParent(At,ut),ht.borderTop=At,nt.setParent(vt,ut),ht.borderBottom=vt,o.forEach(ft,function(bt){et(nt,it,ot,st,lt,ct,bt);var pt=nt.node(bt),dt=pt.borderTop?pt.borderTop:bt,_t=pt.borderBottom?pt.borderBottom:bt,Ct=pt.borderTop?st:2*st,gt=dt!==_t?1:lt-ct[ut]+1;nt.setEdge(At,dt,{weight:Ct,minlen:gt,nestingEdge:!0}),nt.setEdge(_t,vt,{weight:Ct,minlen:gt,nestingEdge:!0})}),nt.parent(ut)||nt.setEdge(it,At,{weight:0,minlen:lt+ct[ut]})}function tt(nt){var it={};function ot(st,lt){var ct=nt.children(st);ct&&ct.length&&o.forEach(ct,function(ut){ot(ut,lt+1)}),it[st]=lt}return o.forEach(nt.children(),function(st){ot(st,1)}),it}function rt(nt){return o.reduce(nt.edges(),function(it,ot){return it+nt.edge(ot).weight},0)}function at(nt){var it=nt.graph();nt.removeNode(it.nestingRoot),delete it.nestingRoot,o.forEach(nt.edges(),function(ot){var st=nt.edge(ot);st.nestingEdge&&nt.removeEdge(ot)})}return nestingGraph}var addBorderSegments_1,hasRequiredAddBorderSegments;function requireAddBorderSegments(){if(hasRequiredAddBorderSegments)return addBorderSegments_1;hasRequiredAddBorderSegments=1;var o=requireLodash(),$=requireUtil$1();addBorderSegments_1=_e;function _e(tt){function rt(at){var nt=tt.children(at),it=tt.node(at);if(nt.length&&o.forEach(nt,rt),o.has(it,"minRank")){it.borderLeft=[],it.borderRight=[];for(var ot=it.minRank,st=it.maxRank+1;ot0;)ut%2&&(ft+=st[ut+1]),ut=ut-1>>1,st[ut]+=ct.weight;lt+=ct.weight*ft})),lt}return crossCount_1}var barycenter_1,hasRequiredBarycenter;function requireBarycenter(){if(hasRequiredBarycenter)return barycenter_1;hasRequiredBarycenter=1;var o=requireLodash();barycenter_1=$;function $(_e,et){return o.map(et,function(tt){var rt=_e.inEdges(tt);if(rt.length){var at=o.reduce(rt,function(nt,it){var ot=_e.edge(it),st=_e.node(it.v);return{sum:nt.sum+ot.weight*st.order,weight:nt.weight+ot.weight}},{sum:0,weight:0});return{v:tt,barycenter:at.sum/at.weight,weight:at.weight}}else return{v:tt}})}return barycenter_1}var resolveConflicts_1,hasRequiredResolveConflicts;function requireResolveConflicts(){if(hasRequiredResolveConflicts)return resolveConflicts_1;hasRequiredResolveConflicts=1;var o=requireLodash();resolveConflicts_1=$;function $(tt,rt){var at={};o.forEach(tt,function(it,ot){var st=at[it.v]={indegree:0,in:[],out:[],vs:[it.v],i:ot};o.isUndefined(it.barycenter)||(st.barycenter=it.barycenter,st.weight=it.weight)}),o.forEach(rt.edges(),function(it){var ot=at[it.v],st=at[it.w];!o.isUndefined(ot)&&!o.isUndefined(st)&&(st.indegree++,ot.out.push(at[it.w]))});var nt=o.filter(at,function(it){return!it.indegree});return _e(nt)}function _e(tt){var rt=[];function at(ot){return function(st){st.merged||(o.isUndefined(st.barycenter)||o.isUndefined(ot.barycenter)||st.barycenter>=ot.barycenter)&&et(ot,st)}}function nt(ot){return function(st){st.in.push(ot),--st.indegree===0&&tt.push(st)}}for(;tt.length;){var it=tt.pop();rt.push(it),o.forEach(it.in.reverse(),at(it)),o.forEach(it.out,nt(it))}return o.map(o.filter(rt,function(ot){return!ot.merged}),function(ot){return o.pick(ot,["vs","i","barycenter","weight"])})}function et(tt,rt){var at=0,nt=0;tt.weight&&(at+=tt.barycenter*tt.weight,nt+=tt.weight),rt.weight&&(at+=rt.barycenter*rt.weight,nt+=rt.weight),tt.vs=rt.vs.concat(tt.vs),tt.barycenter=at/nt,tt.weight=nt,tt.i=Math.min(rt.i,tt.i),rt.merged=!0}return resolveConflicts_1}var sort_1,hasRequiredSort;function requireSort(){if(hasRequiredSort)return sort_1;hasRequiredSort=1;var o=requireLodash(),$=requireUtil$1();sort_1=_e;function _e(rt,at){var nt=$.partition(rt,function(At){return o.has(At,"barycenter")}),it=nt.lhs,ot=o.sortBy(nt.rhs,function(At){return-At.i}),st=[],lt=0,ct=0,ut=0;it.sort(tt(!!at)),ut=et(st,ot,ut),o.forEach(it,function(At){ut+=At.vs.length,st.push(At.vs),lt+=At.barycenter*At.weight,ct+=At.weight,ut=et(st,ot,ut)});var ft={vs:o.flatten(st,!0)};return ct&&(ft.barycenter=lt/ct,ft.weight=ct),ft}function et(rt,at,nt){for(var it;at.length&&(it=o.last(at)).i<=nt;)at.pop(),rt.push(it.vs),nt++;return nt}function tt(rt){return function(at,nt){return at.barycenternt.barycenter?1:rt?nt.i-at.i:at.i-nt.i}}return sort_1}var sortSubgraph_1,hasRequiredSortSubgraph;function requireSortSubgraph(){if(hasRequiredSortSubgraph)return sortSubgraph_1;hasRequiredSortSubgraph=1;var o=requireLodash(),$=requireBarycenter(),_e=requireResolveConflicts(),et=requireSort();sortSubgraph_1=tt;function tt(nt,it,ot,st){var lt=nt.children(it),ct=nt.node(it),ut=ct?ct.borderLeft:void 0,ft=ct?ct.borderRight:void 0,At={};ut&&(lt=o.filter(lt,function(_t){return _t!==ut&&_t!==ft}));var vt=$(nt,lt);o.forEach(vt,function(_t){if(nt.children(_t.v).length){var Ct=tt(nt,_t.v,ot,st);At[_t.v]=Ct,o.has(Ct,"barycenter")&&at(_t,Ct)}});var ht=_e(vt,ot);rt(ht,At);var bt=et(ht,st);if(ut&&(bt.vs=o.flatten([ut,bt.vs,ft],!0),nt.predecessors(ut).length)){var pt=nt.node(nt.predecessors(ut)[0]),dt=nt.node(nt.predecessors(ft)[0]);o.has(bt,"barycenter")||(bt.barycenter=0,bt.weight=0),bt.barycenter=(bt.barycenter*bt.weight+pt.order+dt.order)/(bt.weight+2),bt.weight+=2}return bt}function rt(nt,it){o.forEach(nt,function(ot){ot.vs=o.flatten(ot.vs.map(function(st){return it[st]?it[st].vs:st}),!0)})}function at(nt,it){o.isUndefined(nt.barycenter)?(nt.barycenter=it.barycenter,nt.weight=it.weight):(nt.barycenter=(nt.barycenter*nt.weight+it.barycenter*it.weight)/(nt.weight+it.weight),nt.weight+=it.weight)}return sortSubgraph_1}var buildLayerGraph_1,hasRequiredBuildLayerGraph;function requireBuildLayerGraph(){if(hasRequiredBuildLayerGraph)return buildLayerGraph_1;hasRequiredBuildLayerGraph=1;var o=requireLodash(),$=requireGraphlib().Graph;buildLayerGraph_1=_e;function _e(tt,rt,at){var nt=et(tt),it=new $({compound:!0}).setGraph({root:nt}).setDefaultNodeLabel(function(ot){return tt.node(ot)});return o.forEach(tt.nodes(),function(ot){var st=tt.node(ot),lt=tt.parent(ot);(st.rank===rt||st.minRank<=rt&&rt<=st.maxRank)&&(it.setNode(ot),it.setParent(ot,lt||nt),o.forEach(tt[at](ot),function(ct){var ut=ct.v===ot?ct.w:ct.v,ft=it.edge(ut,ot),At=o.isUndefined(ft)?0:ft.weight;it.setEdge(ut,ot,{weight:tt.edge(ct).weight+At})}),o.has(st,"minRank")&&it.setNode(ot,{borderLeft:st.borderLeft[rt],borderRight:st.borderRight[rt]}))}),it}function et(tt){for(var rt;tt.hasNode(rt=o.uniqueId("_root")););return rt}return buildLayerGraph_1}var addSubgraphConstraints_1,hasRequiredAddSubgraphConstraints;function requireAddSubgraphConstraints(){if(hasRequiredAddSubgraphConstraints)return addSubgraphConstraints_1;hasRequiredAddSubgraphConstraints=1;var o=requireLodash();addSubgraphConstraints_1=$;function $(_e,et,tt){var rt={},at;o.forEach(tt,function(nt){for(var it=_e.parent(nt),ot,st;it;){if(ot=_e.parent(it),ot?(st=rt[ot],rt[ot]=it):(st=at,at=it),st&&st!==it){et.setEdge(st,it);return}it=ot}})}return addSubgraphConstraints_1}var order_1,hasRequiredOrder;function requireOrder(){if(hasRequiredOrder)return order_1;hasRequiredOrder=1;var o=requireLodash(),$=requireInitOrder(),_e=requireCrossCount(),et=requireSortSubgraph(),tt=requireBuildLayerGraph(),rt=requireAddSubgraphConstraints(),at=requireGraphlib().Graph,nt=requireUtil$1();order_1=it;function it(ct){var ut=nt.maxRank(ct),ft=ot(ct,o.range(1,ut+1),"inEdges"),At=ot(ct,o.range(ut-1,-1,-1),"outEdges"),vt=$(ct);lt(ct,vt);for(var ht=Number.POSITIVE_INFINITY,bt,pt=0,dt=0;dt<4;++pt,++dt){st(pt%2?ft:At,pt%4>=2),vt=nt.buildLayerMatrix(ct);var _t=_e(ct,vt);_tEt)&&at(pt,Rt,It)})})}function _t(Ct,gt){var yt=-1,xt,Et=0;return o.forEach(gt,function(It,Tt){if(ht.node(It).dummy==="border"){var Rt=ht.predecessors(It);Rt.length&&(xt=ht.node(Rt[0]).order,dt(gt,Et,Tt,yt,xt),Et=Tt,yt=xt)}dt(gt,Et,gt.length,xt,Ct.length)}),gt}return o.reduce(bt,_t),pt}function rt(ht,bt){if(ht.node(bt).dummy)return o.find(ht.predecessors(bt),function(pt){return ht.node(pt).dummy})}function at(ht,bt,pt){if(bt>pt){var dt=bt;bt=pt,pt=dt}var _t=ht[bt];_t||(ht[bt]=_t={}),_t[pt]=!0}function nt(ht,bt,pt){if(bt>pt){var dt=bt;bt=pt,pt=dt}return o.has(ht[bt],pt)}function it(ht,bt,pt,dt){var _t={},Ct={},gt={};return o.forEach(bt,function(yt){o.forEach(yt,function(xt,Et){_t[xt]=xt,Ct[xt]=xt,gt[xt]=Et})}),o.forEach(bt,function(yt){var xt=-1;o.forEach(yt,function(Et){var It=dt(Et);if(It.length){It=o.sortBy(It,function(Bt){return gt[Bt]});for(var Tt=(It.length-1)/2,Rt=Math.floor(Tt),Ot=Math.ceil(Tt);Rt<=Ot;++Rt){var Mt=It[Rt];Ct[Et]===Et&&xt1?at-1:0),it=1;it{rt.parent.trim().length!==0&&rt.child.trim().length!==0&&(_e[rt.parent]||(et.push({data:{id:rt.parent}}),_e[rt.parent]=!0),_e[rt.child]||(et.push({data:{id:rt.child}}),_e[rt.child]=!0),tt.push({data:{source:rt.parent,target:rt.child,label:`${rt.callCount}`}}))}),cytoscape_cjs({container:this.cytoscapeRef.current,boxSelectionEnabled:!1,autounselectify:!0,layout:{name:"dagre"},minZoom:.5,style:[{selector:"node",style:{content:"data(id)","text-opacity":.5,"text-valign":"center","text-halign":"right","background-color":"#11939A"}},{selector:"edge",style:{width:4,label:"data(label)","target-arrow-shape":"triangle","line-color":"gray","target-arrow-color":"gray","curve-style":"bezier"}}],elements:{nodes:et,edges:tt}})}render(){return jsxRuntimeExports.jsx("div",{id:"cy",style:{width:"100%",height:"100%",position:"absolute",left:0,top:0},ref:this.cytoscapeRef})}}Mu(DAG,"propTypes",{serviceCalls:propTypesExports.arrayOf(propTypesExports.shape({parent:propTypesExports.string,child:propTypesExports.string,callCount:propTypesExports.number}))}),Mu(DAG,"defaultProps",{serviceCalls:[]});var reactVisForceExports={},reactVisForce={get exports(){return reactVisForceExports},set exports(o){reactVisForceExports=o}};(function(o,$){(function(et,tt){o.exports=tt(reactExports)})(commonjsGlobal,function(_e){return function(et){var tt={};function rt(at){if(tt[at])return tt[at].exports;var nt=tt[at]={exports:{},id:at,loaded:!1};return et[at].call(nt.exports,nt,nt.exports,rt),nt.loaded=!0,nt.exports}return rt.m=et,rt.c=tt,rt.p="/react-vis-force/",rt(0)}([function(et,tt,rt){rt(9),et.exports=rt(15)},function(et,tt,rt){et.exports=rt(32)()},function(et,tt){et.exports=_e},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(It){return typeof It}:function(It){return It&&typeof Symbol=="function"&&It.constructor===Symbol&&It!==Symbol.prototype?"symbol":typeof It};tt.asStrengthFn=At,tt.nodeId=Ct,tt.linkId=gt,tt.runSimulation=yt,tt.createSimulation=xt,tt.updateSimulation=Et;var nt=rt(22),it=rt(19),ot=st(it);function st(It){return It&&It.__esModule?It:{default:It}}function lt(It){if(Array.isArray(It)){for(var Tt=0,Rt=Array(It.length);Tt1?Tt-1:0),Ot=1;Ot"u"?"undefined":at(It)){case"function":return It;default:return function(){return It}}}function vt(It,Tt){return ut.forEach(function(Rt){({}).hasOwnProperty.call(Tt,Rt)&&It[Rt](Tt[Rt])}),It}function ht(It,Tt){var Rt=Tt.height,Ot=Tt.width;It.force("center")||It.force("center",(0,nt.forceCenter)());var Mt=Ot?Ot/2:0;Ot>0&&It.force("center").x()!==Mt&&(It.shouldRun=!0,It.force("center").x(Mt));var Bt=Rt?Rt/2:0;return Rt>0&&It.force("center").y()!==Bt&&(It.shouldRun=!0,It.force("center").y(Bt)),It}function bt(It,Tt){var Rt=Tt.strength,Ot=Rt===void 0?{}:Rt;It.force("charge")||It.force("charge",(0,nt.forceManyBody)()),Ot.charge!==It.strength.charge&&(It.strength.charge=Ot.charge,It.shouldRun=!0,It.force("charge").strength(At(Ot.charge)))}function pt(It,Tt){var Rt=Tt.radiusMargin,Ot=Rt===void 0?3:Rt,Mt=Tt.strength,Bt=Mt===void 0?{}:Mt;It.force("collide")||It.force("collide",(0,nt.forceCollide)()),It.radiusMargin!==Ot&&(It.radiusMargin=Ot,It.shouldRun=!0,It.force("collide").radius(function(Lt){var Vt=Lt.radius;return Vt+Ot})),Bt.collide!==It.strength.collide&&(It.strength.collide=Bt.collide,It.shouldRun=!0,It.force("collide").strength(At(Bt.collide)()))}function dt(It,Tt){var Rt=Tt.data,Ot=Rt.nodes,Mt=Rt.links,Bt=Tt.linkAttrs,Lt=Bt===void 0?[]:Bt,Vt=Tt.nodeAttrs,zt=Vt===void 0?[]:Vt;It.force("link")||It.force("link",(0,nt.forceLink)().id(Ct));var Nt=new Set(It.nodes().map(Ct)),Wt=new Set(Ot.map(Ct));(0,ot.default)(Nt,Wt)||(It.shouldRun=!0,It.nodes(ft.apply(void 0,[Ot,"id","radius","fx","fy"].concat(lt(zt)))));var Jt=new Set(It.force("link").links().map(gt)),nr=new Set(Mt.map(gt));(0,ot.default)(Jt,nr)||(It.shouldRun=!0,It.force("link").links(ft.apply(void 0,[Mt,"source","target","value"].concat(lt(Lt)))))}function _t(It,Tt){var Rt=Tt.strength,Ot=Rt===void 0?{}:Rt;It.force("x")||It.force("x",(0,nt.forceX)()),It.force("y")||It.force("y",(0,nt.forceY)()),Ot.x!==It.strength.x&&(It.strength.x=Ot.x,It.shouldRun=!0,It.force("x").strength(At(Ot.x))),Ot.y!==It.strength.y&&(It.strength.y=Ot.y,It.shouldRun=!0,It.force("y").strength(At(Ot.y)))}function Ct(It){return It.id}function gt(It){return(It.source.id||It.source)+"=>"+(It.target.id||It.target)}function yt(It){for(It.restart();It.alpha()>It.alphaMin();)It.tick();return It.stop(),It}function xt(It){var Tt=(0,nt.forceSimulation)();return Tt.strength={},Et(Tt,It)}function Et(It,Tt){return vt(It,Tt),ht(It,Tt),bt(It,Tt),pt(It,Tt),dt(It,Tt),_t(It,Tt),!Tt.animate&&It.shouldRun&&yt(It),It.shouldRun=null,It}},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=Object.assign||function(Lt){for(var Vt=1;Vt=0||Object.prototype.hasOwnProperty.call(Lt,Nt)&&(zt[Nt]=Lt[Nt]);return zt}function xt(Lt,Vt,zt){return Vt in Lt?Object.defineProperty(Lt,Vt,{value:zt,enumerable:!0,configurable:!0,writable:!0}):Lt[Vt]=zt,Lt}function Et(Lt,Vt){if(!(Lt instanceof Vt))throw new TypeError("Cannot call a class as a function")}function It(Lt,Vt){if(!Lt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Vt&&(typeof Vt=="object"||typeof Vt=="function")?Vt:Lt}function Tt(Lt,Vt){if(typeof Vt!="function"&&Vt!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof Vt);Lt.prototype=Object.create(Vt&&Vt.prototype,{constructor:{value:Lt,enumerable:!1,writable:!0,configurable:!0}}),Vt&&(Object.setPrototypeOf?Object.setPrototypeOf(Lt,Vt):Lt.__proto__=Vt)}function Rt(Lt){return Lt.props&&Lt.props.node}function Ot(Lt){return Lt.props&&Lt.props.link}var Mt=lt.default.shape({zoomSpeed:lt.default.number,minScale:lt.default.number,maxScale:lt.default.number,panLimit:lt.default.number,onZoom:lt.default.func,onPan:lt.default.func}),Bt=function(Lt){Tt(Vt,Lt),nt(Vt,null,[{key:"getDataFromChildren",value:function(Nt){var Wt={nodes:[],links:[]};return it.Children.forEach(Nt,function(Jt){Rt(Jt)?Wt.nodes.push(Jt.props.node):Ot(Jt)&&Wt.links.push(Jt.props.link)}),Wt}},{key:"getNodePositions",value:function(Nt){return Nt.nodes().reduce(function(Wt,Jt){return Object.assign(Wt,xt({},At.nodeId(Jt),{cx:Jt.fx||Jt.x,cy:Jt.fy||Jt.y}))},{})}},{key:"getLinkPositions",value:function(Nt){return Nt.force("link").links().reduce(function(Wt,Jt){return Object.assign(Wt,xt({},At.linkId(Jt),{x1:Jt.source.x,y1:Jt.source.y,x2:Jt.target.x,y2:Jt.target.y}))},{})}},{key:"propTypes",get:function(){return{children:lt.default.any,className:lt.default.string,zoom:lt.default.bool,zoomOptions:Mt,createSimulation:lt.default.func,updateSimulation:lt.default.func,simulationOptions:_t.default,labelAttr:lt.default.string,labelOffset:lt.default.objectOf(lt.default.func),showLabels:lt.default.bool}}},{key:"defaultProps",get:function(){return{createSimulation:At.createSimulation,updateSimulation:At.updateSimulation,zoom:!1,labelAttr:"id",simulationOptions:dt.DEFAULT_SIMULATION_PROPS,labelOffset:{x:function(Wt){var Jt=Wt.radius,nr=Jt===void 0?5:Jt;return nr/2},y:function(Wt){var Jt=Wt.radius,nr=Jt===void 0?5:Jt;return-nr/4}},showLabels:!1,zoomOptions:{}}}}]);function Vt(zt){Et(this,Vt);var Nt=It(this,(Vt.__proto__||Object.getPrototypeOf(Vt)).call(this,zt)),Wt=zt.createSimulation,Jt=zt.simulationOptions,nr=Nt.getDataFromChildren();return Nt.simulation=Wt(at({},dt.DEFAULT_SIMULATION_PROPS,Jt,{data:nr})),Nt.state={linkPositions:{},nodePositions:{},scale:1},Nt.bindSimulationTick(),Nt}return nt(Vt,[{key:"componentDidMount",value:function(){this.updateSimulation()}},{key:"componentWillReceiveProps",value:function(Nt){this.lastUpdated=new Date,this.updateSimulation(Nt)}},{key:"componentWillUnmount",value:function(){this.unbindSimulationTick()}},{key:"onSimulationTick",value:function(){this.frame=ht.requestAnimationFrame(this.updatePositions.bind(this))}},{key:"onZoom",value:function(Nt,Wt){for(var Jt=this.props.zoomOptions.onZoom,nr=Jt===void 0?function(){}:Jt,er=arguments.length,Xt=Array(er>2?er-2:0),tr=2;tr0&&arguments[0]!==void 0?arguments[0]:this.props,Wt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!Wt&&this.cachedData&&new Date>this.lastUpdated)return this.cachedData;var Jt=Vt.getDataFromChildren(Nt.children);return Object.assign(this,{cachedData:Jt,lastUpdated:new Date}),Jt}},{key:"bindSimulationTick",value:function(){this.simulation.on("tick",this.updateSimulation.bind(this))}},{key:"unbindSimulationTick",value:function(){this.simulation.on("tick",null),this.frame=this.frame&&ht.cancelAnimationFrame(this.frame)}},{key:"updateSimulation",value:function(){var Nt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,Wt=this.simulation,Jt=Nt.updateSimulation,nr=Nt.simulationOptions;this.simulation=Jt(Wt,at({},dt.DEFAULT_SIMULATION_PROPS,nr,{data:this.getDataFromChildren(Nt,!0)})),this.onSimulationTick()}},{key:"updatePositions",value:function(){this.setState({linkPositions:Vt.getLinkPositions(this.simulation),nodePositions:Vt.getNodePositions(this.simulation)})}},{key:"scale",value:function(Nt){return typeof Nt=="number"?Nt/this.state.scale:Nt}},{key:"render",value:function(){var Nt=this,Wt=this.props,Jt=Wt.children,nr=Wt.className,er=Wt.labelAttr,Xt=Wt.labelOffset,tr=Wt.showLabels,Zt=Wt.simulationOptions,Gt=Wt.zoomOptions,Ft=Wt.zoom,jt=this.state,qt=jt.linkPositions,or=jt.nodePositions,fr=Zt.height,dr=fr===void 0?dt.DEFAULT_SIMULATION_PROPS.height:fr,vr=Zt.width,Er=vr===void 0?dt.DEFAULT_SIMULATION_PROPS.width:vr,mr=[],Or=[],Lr=[],na=[],ba=[],qr=(0,ut.default)(or,function(ur,Sr){var jr=Sr.cx;return ur>Math.abs(jr)?ur:Math.abs(jr)},0),Pr=(0,ut.default)(or,function(ur,Sr){var jr=Sr.cy;return ur>Math.abs(jr)?ur:Math.abs(jr)},0);return it.Children.forEach(Jt,function(ur,Sr){if(Rt(ur)){var jr=ur.props,Dr=jr.node,Cr=jr.showLabel,tn=jr.labelClass,Vr=jr.labelStyle,Kr=Vr===void 0?{}:Vr,_n=jr.strokeWidth,$n=or[At.nodeId(Dr)];if(mr.push((0,it.cloneElement)(ur,at({},$n,{scale:Nt.state.scale,strokeWidth:Nt.scale(_n)}))),(tr||Cr)&&$n){var gn=Kr.fontSize,Nn=yt(Kr,["fontSize"]);Or.push(ot.default.createElement("text",{className:"rv-force__label "+tn,key:At.nodeId(Dr)+"-label",x:$n.cx+Xt.x(Dr),y:$n.cy+Xt.y(Dr),fontSize:Nt.scale(gn),style:Nn},Dr[er]))}}else if(Ot(ur)){var kn=ur.props.link,cn=kn.strokeWidth,s0=qt[At.linkId(kn)];Lr.push((0,it.cloneElement)(ur,at({},s0,{strokeWidth:Nt.scale(cn)})))}else{var On=ur.props.zoomable;Ft&&On?na.push((0,it.cloneElement)(ur,{key:ur.key||"zoomable-"+Sr})):ba.push((0,it.cloneElement)(ur,{key:ur.key||"static-"+Sr}))}}),ot.default.createElement("svg",{className:"rv-force__svg "+nr,width:Er,height:dr},ot.default.createElement("g",{className:"rv-force__static-elements"},ba),ot.default.createElement(pt.default,at({disabled:!Ft,height:Pr,width:qr},Gt,{onZoom:function(){return Nt.onZoom.apply(Nt,arguments)},onPan:function(){return Nt.onPan.apply(Nt,arguments)}}),ot.default.createElement("g",{className:"rv-force__zoomable-elements"},na),ot.default.createElement("g",{className:"rv-force__links"},Lr),ot.default.createElement("g",{className:"rv-force__nodes"},mr),ot.default.createElement("g",{className:"rv-force__labels"},Or)))}}]),Vt}(it.PureComponent);tt.default=Bt},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=Object.assign||function(dt){for(var _t=1;_t=0||Object.prototype.hasOwnProperty.call(dt,gt)&&(Ct[gt]=dt[gt]);return Ct}function vt(dt,_t){if(!(dt instanceof _t))throw new TypeError("Cannot call a class as a function")}function ht(dt,_t){if(!dt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _t&&(typeof _t=="object"||typeof _t=="function")?_t:dt}function bt(dt,_t){if(typeof _t!="function"&&_t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof _t);dt.prototype=Object.create(_t&&_t.prototype,{constructor:{value:dt,enumerable:!1,writable:!0,configurable:!0}}),_t&&(Object.setPrototypeOf?Object.setPrototypeOf(dt,_t):dt.__proto__=_t)}var pt=function(dt){bt(_t,dt);function _t(){return vt(this,_t),ht(this,(_t.__proto__||Object.getPrototypeOf(_t)).apply(this,arguments))}return nt(_t,[{key:"render",value:function(){var gt=this.props,yt=gt.link,xt=gt.strokeWidth,Et=gt.className,It=gt.edgeOffset,Tt=At(gt,["link","strokeWidth","className","edgeOffset"]);if(typeof It=="number"){var Rt=Tt.x1,Ot=Tt.x2,Mt=Tt.y1,Bt=Tt.y2,Lt=Rt+Ot,Vt=Mt+Bt,zt=Math.sqrt(Math.pow(Lt,2)+Math.pow(Vt,2)),Nt=It/zt,Wt=Nt*Lt,Jt=Nt*Vt;Rt>Ot?(Tt.x1-=Wt,Tt.x2+=Wt):RtBt?(Tt.y1-=Jt,Tt.y2+=Jt):Mt"u"&&(rt(31).enable(),window.Promise=rt(30)),rt(35),Object.assign=rt(29)})()},function(et,tt){(function(rt){et.exports=at;function at(vt){nt.length||it(),nt[nt.length]=vt}var nt=[],it,ot=0,st=1024;function lt(){for(;otst){for(var ht=0,bt=nt.length-ot;ht=0||Object.prototype.hasOwnProperty.call(gt,Et)&&(xt[Et]=gt[Et]);return xt}function pt(gt,yt){if(!(gt instanceof yt))throw new TypeError("Cannot call a class as a function")}function dt(gt,yt){if(!gt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return yt&&(typeof yt=="object"||typeof yt=="function")?yt:gt}function _t(gt,yt){if(typeof yt!="function"&&yt!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof yt);gt.prototype=Object.create(yt&&yt.prototype,{constructor:{value:gt,enumerable:!1,writable:!0,configurable:!0}}),yt&&(Object.setPrototypeOf?Object.setPrototypeOf(gt,yt):gt.__proto__=yt)}var Ct=function(gt){_t(yt,gt);function yt(){return pt(this,yt),dt(this,(yt.__proto__||Object.getPrototypeOf(yt)).apply(this,arguments))}return nt(yt,[{key:"render",value:function(){var Et=this.props,It=Et.link,Tt=Et.targetRadius,Rt=bt(Et,["link","targetRadius"]),Ot="arrow-"+(0,ft.linkId)(It);return ot.default.createElement("g",null,ot.default.createElement("defs",null,ot.default.createElement("marker",{id:Ot,markerWidth:Tt*3+1,markerHeight:Tt*3+1,refX:Tt*3+1,refY:Tt,orient:"auto",markerUnits:"strokeWidth"},Tt>0&&ot.default.createElement("path",{d:"M0,0 L0,"+Tt*2+" L"+Tt*3+","+Tt+" z",fill:Rt.stroke||Rt.color}))),ot.default.createElement(vt.default,at({},this.props,{edgeOffset:Tt,markerEnd:"url(#"+Ot+")"})))}}],[{key:"propTypes",get:function(){return{link:ut.default.isRequired,targetRadius:lt.default.number}}},{key:"defaultProps",get:function(){return{className:"",opacity:.6,stroke:"#999",targetRadius:2,strokeWidth:1}}}]),yt}(it.PureComponent);tt.default=Ct},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=Object.assign||function(dt){for(var _t=1;_t=0||Object.prototype.hasOwnProperty.call(dt,gt)&&(Ct[gt]=dt[gt]);return Ct}function vt(dt,_t){if(!(dt instanceof _t))throw new TypeError("Cannot call a class as a function")}function ht(dt,_t){if(!dt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _t&&(typeof _t=="object"||typeof _t=="function")?_t:dt}function bt(dt,_t){if(typeof _t!="function"&&_t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof _t);dt.prototype=Object.create(_t&&_t.prototype,{constructor:{value:dt,enumerable:!1,writable:!0,configurable:!0}}),_t&&(Object.setPrototypeOf?Object.setPrototypeOf(dt,_t):dt.__proto__=_t)}var pt=function(dt){bt(_t,dt);function _t(){return vt(this,_t),ht(this,(_t.__proto__||Object.getPrototypeOf(_t)).apply(this,arguments))}return nt(_t,[{key:"render",value:function(){var gt=this.props,yt=gt.node,xt=gt.className,Et=gt.r;gt.labelStyle,gt.labelClass,gt.showLabel;var It=At(gt,["node","className","r","labelStyle","labelClass","showLabel"]),Tt=yt.radius,Rt=Tt===void 0?5:Tt;return ot.default.createElement("circle",at({className:"rv-force__node "+xt,r:Et||Rt},It))}}],[{key:"propTypes",get:function(){return{node:ut.default.isRequired,cx:lt.default.number,cy:lt.default.number,r:lt.default.number,className:lt.default.string,labelStyle:lt.default.object,labelClass:lt.default.string,showLabel:lt.default.bool}}},{key:"defaultProps",get:function(){return{className:"",fill:"#333",opacity:1,stroke:"#FFF",strokeWidth:1.5}}}]),_t}(it.PureComponent);tt.default=pt},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=Object.assign||function(yt){for(var xt=1;xt=0||Object.prototype.hasOwnProperty.call(yt,It)&&(Et[It]=yt[It]);return Et}function bt(yt,xt){if(!(yt instanceof xt))throw new TypeError("Cannot call a class as a function")}function pt(yt,xt){if(!yt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return xt&&(typeof xt=="object"||typeof xt=="function")?xt:yt}function dt(yt,xt){if(typeof xt!="function"&&xt!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof xt);yt.prototype=Object.create(xt&&xt.prototype,{constructor:{value:yt,enumerable:!1,writable:!0,configurable:!0}}),xt&&(Object.setPrototypeOf?Object.setPrototypeOf(yt,xt):yt.__proto__=xt)}var _t=ct.window&&"ontouchstart"in ct.window,Ct=lt.default.shape({id:lt.default.string}),gt=function(yt){dt(xt,yt),nt(xt,null,[{key:"propTypes",get:function(){return Object.assign({selectedNode:Ct,defaultSelectedNode:Ct,highlightDependencies:lt.default.bool,opacityFactor:lt.default.number,onSelectNode:lt.default.func,onDeselectNode:lt.default.func},ft.default.propTypes)}},{key:"defaultProps",get:function(){return{className:"",defaultSelectedNode:null,opacityFactor:4,onSelectNode:function(){},onDeselectNode:function(){}}}}]);function xt(Et){bt(this,xt);var It=pt(this,(xt.__proto__||Object.getPrototypeOf(xt)).call(this,Et));return It.state={hoveredNode:null,selectedNode:Et.selectedNode||Et.defaultSelectedNode},It}return nt(xt,[{key:"componentWillReceiveProps",value:function(It){Object.prototype.hasOwnProperty.call(It,"selectedNode")&&this.setState({selectedNode:It.selectedNode})}},{key:"onHoverNode",value:function(It,Tt){_t||this.setState({hoveredNode:Tt})}},{key:"onBlurNode",value:function(){this.setState({hoveredNode:null})}},{key:"onClickNode",value:function(It,Tt){var Rt=this.props,Ot=Rt.onDeselectNode,Mt=Rt.onSelectNode,Bt=this.state.selectedNode;Bt&&(0,At.nodeId)(Bt)===(0,At.nodeId)(Tt)?(this.setState({selectedNode:null}),Ot(It,Tt)):(this.setState({selectedNode:Tt}),Mt(It,Tt))}},{key:"render",value:function(){var It=this,Tt=this.props,Rt=Tt.highlightDependencies,Ot=Tt.opacityFactor,Mt=Tt.children,Bt=Tt.className,Lt=Tt.selectedNode,Vt=ht(Tt,["highlightDependencies","opacityFactor","children","className","selectedNode"]),zt=this.state,Nt=zt.hoveredNode,Wt=zt.selectedNode,Jt=ft.default.getDataFromChildren(Mt),nr=Jt.links,er=Lt||Wt,Xt=function(){var Er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;return Er/Ot},tr=function(Er,mr,Or){return function(Lr){It[Er](Lr,mr),Or&&Or(Lr)}},Zt=function(Er,mr){return Er&&mr&&nr.findIndex(function(Or){return Or.value>0&&(Or.source===(0,At.nodeId)(Er)&&Or.target===(0,At.nodeId)(mr)||Or.source===(0,At.nodeId)(mr)&&Or.target===(0,At.nodeId)(Er))})>-1},Gt=function(Er,mr){return Er&&((0,At.nodeId)(Er)===(0,At.nodeId)(mr)||er&&(0,At.nodeId)(er)===(0,At.nodeId)(mr)||Rt&&Zt(mr,er||Er))},Ft=function(Er,mr){return Er&&Rt&&mr.value>0&&((0,At.nodeId)(Er)===mr.source||(0,At.nodeId)(Er)===mr.target)},jt=function(Er){return er&&(0,At.nodeId)(Er)===(0,At.nodeId)(er)?14:10},qt=function(Er){return er&&(0,At.nodeId)(Er)===(0,At.nodeId)(er)?700:null},or=function(Er){return Gt(er,Er)||Gt(Nt,Er)},fr=function(Er){var mr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return Rt&&er&&!Gt(er,Er)&&!Gt(Nt,Er)?Xt(mr/4):er&&!Gt(er,Er)&&!Gt(Nt,Er)||Nt&&!Gt(Nt,Er)?Xt(mr):mr},dr=function(Er){var mr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return(Rt?!er&&Nt&&!Ft(Nt,Er)||er&&!Ft(er,Er):Nt||er)?Xt(mr/4):Nt&&!Ft(Nt,Er)&&er&&!Ft(er,Er)?Xt(mr):mr};return ot.default.createElement(ft.default,at({className:"rv-force__interactive "+Bt},Vt),it.Children.map(Mt,function(vr){if((0,ut.isNode)(vr)){var Er=vr.props,mr=Er.node,Or=Er.labelStyle,Lr=Er.fontSize,na=Lr===void 0?jt(mr):Lr,ba=Er.fontWeight,qr=ba===void 0?qt(mr):ba,Pr=Er.showLabel,ur=Pr===void 0?or(mr):Pr,Sr=Er.onMouseEnter,jr=Er.onMouseLeave,Dr=Er.onClick,Cr=vr.props.opacity;return Cr=fr(mr,Cr),(0,it.cloneElement)(vr,{showLabel:ur,opacity:Cr,labelStyle:at({fontSize:na,fontWeight:qr,opacity:Cr},Or),onMouseEnter:tr("onHoverNode",mr,Sr),onMouseLeave:tr("onBlurNode",mr,jr),onClick:tr("onClickNode",mr,Dr)})}else if((0,ut.isLink)(vr)){var tn=vr.props.link,Vr=vr.props.opacity;return Vr=dr(tn,Vr),(0,it.cloneElement)(vr,{opacity:Vr})}return vr}))}}]),xt}(it.PureComponent);tt.default=gt},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.ZOOMABLE_SVG_GROUP_EVENT_NAMES=void 0;var at=Object.assign||function(dt){for(var _t=1;_t=0||Object.prototype.hasOwnProperty.call(dt,gt)&&(Ct[gt]=dt[gt]);return Ct}function ft(dt,_t,Ct){return _t in dt?Object.defineProperty(dt,_t,{value:Ct,enumerable:!0,configurable:!0,writable:!0}):dt[_t]=Ct,dt}function At(dt,_t){if(!(dt instanceof _t))throw new TypeError("Cannot call a class as a function")}function vt(dt,_t){if(!dt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _t&&(typeof _t=="object"||typeof _t=="function")?_t:dt}function ht(dt,_t){if(typeof _t!="function"&&_t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof _t);dt.prototype=Object.create(_t&&_t.prototype,{constructor:{value:dt,enumerable:!1,writable:!0,configurable:!0}}),_t&&(Object.setPrototypeOf?Object.setPrototypeOf(dt,_t):dt.__proto__=_t)}var bt=tt.ZOOMABLE_SVG_GROUP_EVENT_NAMES=["onMouseDown","onMouseMove","onMouseUp","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onWheel"],pt=function(dt){ht(_t,dt),nt(_t,null,[{key:"isValidMatrix",value:function(gt){return gt.length===6&>.findIndex(function(yt){return typeof yt!="number"})===-1}},{key:"getPinchZoomLength",value:function(gt,yt){return(gt.clientX-yt.clientX)*(gt.clientX-yt.clientX)+(gt.clientY-yt.clientY)*(gt.clientY-yt.clientY)}},{key:"getTouchClientValues",value:function(gt){return gt.touches.length>=2?{clientX:(gt.touches[0].clientX+gt.touches[1].clientX)/2,clientY:(gt.touches[0].clientY+gt.touches[1].clientY)/2}:gt.touches[0]}},{key:"propTypes",get:function(){return at({width:lt.default.number.isRequired,height:lt.default.number.isRequired,disabled:lt.default.bool,zoomSpeed:lt.default.number,minScale:lt.default.number,maxScale:lt.default.number,panLimit:lt.default.number,onZoom:lt.default.func,onPan:lt.default.func},bt.reduce(function(gt,yt){return at({},gt,ft({},yt,lt.default.func))},{}))}},{key:"defaultProps",get:function(){return at({disabled:!1,zoomSpeed:.065,panLimit:.75,minScale:0,maxScale:1/0,onZoom:function(){},onPan:function(){}},bt.reduce(function(gt,yt){return at({},gt,ft({},yt,function(){}))},{}))}}]);function _t(Ct){At(this,_t);var gt=vt(this,(_t.__proto__||Object.getPrototypeOf(_t)).call(this,Ct));return gt.state={matrix:[1,0,0,1,0,0],scale:1},gt}return nt(_t,[{key:"componentDidMount",value:function(){this.setInitialMatrix()}},{key:"onMouseDown",value:function(gt){return this.state.touching?(gt.stopPropagation(),null):gt.button!==0?null:this.setState({dragging:!0,dragX:gt.clientX,dragY:gt.clientY})}},{key:"onMouseMove",value:function(gt){return this.state.touching?(gt.stopPropagation(),null):this.state.dragging?this.panBy(gt.clientX,gt.clientY):gt}},{key:"onMouseUp",value:function(gt){return this.state.touching?(gt.stopPropagation(),null):this.setState({dragging:!1,dragX:null,dragY:null})}},{key:"onTouchCancel",value:function(){this.setState({touching:!1,dragging:!1,pinchLength:null,dragX:null,dragY:null})}},{key:"onTouchEnd",value:function(){this.onTouchCancel()}},{key:"onTouchMove",value:function(gt){if(gt.preventDefault(),gt.touches.length>=2){var yt=gt.touches[0],xt=gt.touches[1],Et=_t.getPinchZoomLength(yt,xt),It=this.state.pinchLength,Tt=0;EtIt&&(Tt=-1);var Rt=_t.getTouchClientValues(gt),Ot=Rt.clientX,Mt=Rt.clientY,Bt=this.getScaleMultiplier(Tt);this.zoomTo(Ot,Mt,Bt,gt),this.setState({pinchLength:Et})}else this.panBy(gt.touches[0].clientX,gt.touches[0].clientY)}},{key:"onTouchStart",value:function(gt){var yt=_t.getTouchClientValues(gt),xt=yt.clientX,Et=yt.clientY;this.setState({touching:!0,pinchLength:0,dragX:xt,dragY:Et})}},{key:"onWheel",value:function(gt){var yt=gt.clientX,xt=gt.clientY,Et=gt.deltaY,It=this.getScaleMultiplier(Et);It!==1&&(gt.preventDefault(),this.zoomTo(yt,xt,It,gt))}},{key:"setInitialMatrix",value:function(){var gt=this.el.ownerSVGElement,yt=gt.createSVGTransform();this.setState({scale:1,matrix:[yt.matrix.a,yt.matrix.b,yt.matrix.c,yt.matrix.d,yt.matrix.e,yt.matrix.f]})}},{key:"getScaleMultiplier",value:function(gt){var yt=this.props.zoomSpeed;return gt>0?1-yt:gt<0?1+yt:1}},{key:"zoomTo",value:function(gt,yt,xt,Et){var It=this,Tt=this.state.matrix,Rt=this.state.scale,Ot=Rt*xt,Mt=this.el.ownerSVGElement.getScreenCTM(),Bt=gt*Mt.a-Mt.e,Lt=yt*Mt.d-Mt.f;Ot>this.props.maxScale||OtTt*Ot||Math.abs(nr/zt)>Rt*Ot||this.setState({dragX:gt,dragY:yt,matrix:[Bt[0],Bt[1],Bt[2],Bt[3],Jt,nr]},function(){return Et.props.onPan(xt,Jt,nr)})}},{key:"render",value:function(){var gt=this,yt=this.props,xt=yt.width,Et=yt.height,It=yt.children,Tt=yt.disabled,Rt=yt.style,Ot=Rt===void 0?{}:Rt,Mt=yt.transform,Bt=Mt===void 0?"":Mt;yt.canvasHeight,yt.canvasWidth,yt.minScale,yt.maxScale,yt.panLimit,yt.onZoom,yt.onPan,yt.zoomSpeed;var Lt=ut(yt,["width","height","children","disabled","style","transform","canvasHeight","canvasWidth","minScale","maxScale","panLimit","onZoom","onPan","zoomSpeed"]),Vt=this.state,zt=Vt.matrix,Nt=Vt.scale,Wt=function(er){return function(){var Xt;gt[er].apply(gt,arguments),(Xt=gt.props)[er].apply(Xt,arguments)}},Jt={transform:Bt};return!Tt&&_t.isValidMatrix(zt)&&Object.assign(Jt,at({},bt.reduce(function(nr,er){return at({},nr,ft({},er,Wt(er)))},{}),{style:Object.assign({},Ot,{transformOrigin:"0 0 0",cursor:"default",pointerEvents:"all"}),transform:"matrix("+zt.join(" ")+") "+Bt})),ot.default.createElement("g",at({ref:function(er){gt.el=er}},Lt,Jt),ot.default.createElement("rect",{x:-1*zt[4],y:-1*zt[5],transform:"scale("+1/Nt+")",fillOpacity:0,height:Et,width:xt}),It)}}]),_t}(it.PureComponent);tt.default=pt},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=rt(3);Object.defineProperty(tt,"createSimulation",{enumerable:!0,get:function(){return at.createSimulation}}),Object.defineProperty(tt,"updateSimulation",{enumerable:!0,get:function(){return at.updateSimulation}});var nt=rt(4);Object.defineProperty(tt,"ForceGraph",{enumerable:!0,get:function(){return ct(nt).default}});var it=rt(5);Object.defineProperty(tt,"ForceGraphLink",{enumerable:!0,get:function(){return ct(it).default}});var ot=rt(11);Object.defineProperty(tt,"ForceGraphArrowLink",{enumerable:!0,get:function(){return ct(ot).default}});var st=rt(12);Object.defineProperty(tt,"ForceGraphNode",{enumerable:!0,get:function(){return ct(st).default}});var lt=rt(13);Object.defineProperty(tt,"InteractiveForceGraph",{enumerable:!0,get:function(){return ct(lt).default}});function ct(ut){return ut&&ut.__esModule?ut:{default:ut}}},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=rt(1),nt=it(at);function it(ot){return ot&&ot.__esModule?ot:{default:ot}}tt.default=nt.default.shape({id:nt.default.string.isRequired,radius:nt.default.number})},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.DEFAULT_SIMULATION_PROPS=void 0;var at=rt(1),nt=it(at);function it(ot){return ot&&ot.__esModule?ot:{default:ot}}tt.DEFAULT_SIMULATION_PROPS={animate:!1,width:900,height:600,strength:{}},tt.default=nt.default.shape({data:nt.default.object,animate:nt.default.bool,alpha:nt.default.number,alphaDecay:nt.default.number,alphaMin:nt.default.number,alphaTarget:nt.default.number,velocityDecay:nt.default.number,radiusMargin:nt.default.number,linkAttrs:nt.default.array,nodeAttrs:nt.default.array,strength:nt.default.objectOf(nt.default.oneOfType([nt.default.func,nt.default.number]))})},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.cancelAnimationFrame=tt.requestAnimationFrame=void 0;var at=rt(7);tt.requestAnimationFrame=function(it){for(var ot=arguments.length,st=Array(ot>1?ot-1:0),lt=1;lt=_t.length)return yt!=null?yt(Tt):gt!=null?Tt.sort(gt):Tt;for(var Bt=-1,Lt=Tt.length,Vt=_t[Rt++],zt,Nt,Wt=ot(),Jt,nr=Ot();++Bt_t.length)return Tt;var Ot,Mt=Ct[Rt-1];return yt!=null&&Rt>=_t.length?Ot=Tt.entries():(Ot=[],Tt.each(function(Bt,Lt){Ot.push({key:Lt,values:It(Bt,Rt)})})),Mt!=null?Ot.sort(function(Bt,Lt){return Mt(Bt.key,Lt.key)}):Ot}return xt={object:function(Tt){return Et(Tt,0,lt,ct)},map:function(Tt){return Et(Tt,0,ut,ft)},entries:function(Tt){return It(Et(Tt,0,ut,ft),0)},key:function(Tt){return _t.push(Tt),xt},sortKeys:function(Tt){return Ct[_t.length-1]=Tt,xt},sortValues:function(Tt){return gt=Tt,xt},rollup:function(Tt){return yt=Tt,xt}}};function lt(){return{}}function ct(_t,Ct,gt){_t[Ct]=gt}function ut(){return ot()}function ft(_t,Ct,gt){_t.set(Ct,gt)}function At(){}var vt=ot.prototype;At.prototype=ht.prototype={constructor:At,has:vt.has,add:function(_t){return _t+="",this[nt+_t]=_t,this},remove:vt.remove,clear:vt.clear,values:vt.keys,size:vt.size,empty:vt.empty,each:vt.each};function ht(_t,Ct){var gt=new At;if(_t instanceof At)_t.each(function(Et){gt.add(Et)});else if(_t){var yt=-1,xt=_t.length;if(Ct==null)for(;++yt=0&&(vt=At.slice(ht+1),At=At.slice(0,ht)),At&&!ft.hasOwnProperty(At))throw new Error("unknown type: "+At);return{type:At,name:vt}})}ot.prototype=it.prototype={constructor:ot,on:function(ut,ft){var At=this._,vt=st(ut+"",At),ht,bt=-1,pt=vt.length;if(arguments.length<2){for(;++bt0)for(var At=new Array(ht),vt=0,ht,bt;vtnr.index){var Or=er-vr.x-vr.vx,Lr=Xt-vr.y-vr.vy,na=Or*Or+Lr*Lr;naer+mr||frXt+mr||drNt.r&&(Nt.r=Nt[Wt].r)}function zt(){if(Rt){var Nt,Wt=Rt.length,Jt;for(Ot=new Array(Wt),Nt=0;Nt1?(Zt==null?zt.remove(tr):zt.set(tr,Xt(Zt)),Rt):zt.get(tr)},find:function(tr,Zt,Gt){var Ft=0,jt=Tt.length,qt,or,fr,dr,vr;for(Gt==null?Gt=1/0:Gt*=Gt,Ft=0;Ft1?(Wt.on(tr,Zt),Rt):Wt.on(tr)}}},xt=function(){var Tt,Rt,Ot,Mt=ct(-30),Bt,Lt=1,Vt=1/0,zt=.81;function Nt(er){var Xt,tr=Tt.length,Zt=nt.quadtree(Tt,dt,_t).visitAfter(Jt);for(Ot=er,Xt=0;Xt=Vt)return;(er.data!==Rt||er.next)&&(Gt===0&&(Gt=ut(),qt+=Gt*Gt),Ft===0&&(Ft=ut(),qt+=Ft*Ft),qt=(er=(Nt+Jt)/2))?Nt=er:Jt=er,(Ft=Mt>=(Xt=(Wt+nr)/2))?Wt=Xt:nr=Xt,Lt=Vt,!(Vt=Vt[jt=Ft<<1|Gt]))return Lt[jt]=zt,Rt;if(tr=+Rt._x.call(null,Vt.data),Zt=+Rt._y.call(null,Vt.data),Ot===tr&&Mt===Zt)return zt.next=Vt,Lt?Lt[jt]=zt:Rt._root=zt,Rt;do Lt=Lt?Lt[jt]=new Array(4):Rt._root=new Array(4),(Gt=Ot>=(er=(Nt+Jt)/2))?Nt=er:Jt=er,(Ft=Mt>=(Xt=(Wt+nr)/2))?Wt=Xt:nr=Xt;while((jt=Ft<<1|Gt)===(qt=(Zt>=Xt)<<1|tr>=er));return Lt[qt]=Vt,Lt[jt]=zt,Rt}function ot(Rt){var Ot,Mt,Bt=Rt.length,Lt,Vt,zt=new Array(Bt),Nt=new Array(Bt),Wt=1/0,Jt=1/0,nr=-1/0,er=-1/0;for(Mt=0;Mtnr&&(nr=Lt),Vter&&(er=Vt));for(nrRt||Rt>Lt||Bt>Ot||Ot>Vt){var zt=Lt-Mt,Nt=this._root,Wt,Jt;switch(Jt=(Ot<(Bt+Vt)/2)<<1|Rt<(Mt+Lt)/2){case 0:{do Wt=new Array(4),Wt[Jt]=Nt,Nt=Wt;while(zt*=2,Lt=Mt+zt,Vt=Bt+zt,Rt>Lt||Ot>Vt);break}case 1:{do Wt=new Array(4),Wt[Jt]=Nt,Nt=Wt;while(zt*=2,Mt=Lt-zt,Vt=Bt+zt,Mt>Rt||Ot>Vt);break}case 2:{do Wt=new Array(4),Wt[Jt]=Nt,Nt=Wt;while(zt*=2,Lt=Mt+zt,Bt=Vt-zt,Rt>Lt||Bt>Ot);break}case 3:{do Wt=new Array(4),Wt[Jt]=Nt,Nt=Wt;while(zt*=2,Mt=Lt-zt,Bt=Vt-zt,Mt>Rt||Bt>Ot);break}}this._root&&this._root.length&&(this._root=Nt)}else return this;return this._x0=Mt,this._y0=Bt,this._x1=Lt,this._y1=Vt,this},lt=function(){var Rt=[];return this.visit(function(Ot){if(!Ot.length)do Rt.push(Ot.data);while(Ot=Ot.next)}),Rt},ct=function(Rt){return arguments.length?this.cover(+Rt[0][0],+Rt[0][1]).cover(+Rt[1][0],+Rt[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},ut=function(Rt,Ot,Mt,Bt,Lt){this.node=Rt,this.x0=Ot,this.y0=Mt,this.x1=Bt,this.y1=Lt},ft=function(Rt,Ot,Mt){var Bt,Lt=this._x0,Vt=this._y0,zt,Nt,Wt,Jt,nr=this._x1,er=this._y1,Xt=[],tr=this._root,Zt,Gt;for(tr&&Xt.push(new ut(tr,Lt,Vt,nr,er)),Mt==null?Mt=1/0:(Lt=Rt-Mt,Vt=Ot-Mt,nr=Rt+Mt,er=Ot+Mt,Mt*=Mt);Zt=Xt.pop();)if(!(!(tr=Zt.node)||(zt=Zt.x0)>nr||(Nt=Zt.y0)>er||(Wt=Zt.x1)=jt)<<1|Rt>=Ft)&&(Zt=Xt[Xt.length-1],Xt[Xt.length-1]=Xt[Xt.length-1-Gt],Xt[Xt.length-1-Gt]=Zt)}else{var qt=Rt-+this._x.call(null,tr.data),or=Ot-+this._y.call(null,tr.data),fr=qt*qt+or*or;if(fr=(Xt=(zt+Wt)/2))?zt=Xt:Wt=Xt,(Gt=er>=(tr=(Nt+Jt)/2))?Nt=tr:Jt=tr,Ot=Mt,!(Mt=Mt[Ft=Gt<<1|Zt]))return this;if(!Mt.length)break;(Ot[Ft+1&3]||Ot[Ft+2&3]||Ot[Ft+3&3])&&(Bt=Ot,jt=Ft)}for(;Mt.data!==Rt;)if(Lt=Mt,!(Mt=Mt.next))return this;return(Vt=Mt.next)&&delete Mt.next,Lt?(Vt?Lt.next=Vt:delete Lt.next,this):Ot?(Vt?Ot[Ft]=Vt:delete Ot[Ft],(Mt=Ot[0]||Ot[1]||Ot[2]||Ot[3])&&Mt===(Ot[3]||Ot[2]||Ot[1]||Ot[0])&&!Mt.length&&(Bt?Bt[jt]=Mt:this._root=Mt),this):(this._root=Vt,this)};function vt(Rt){for(var Ot=0,Mt=Rt.length;Ot=0&&Rt._call.call(null,Ot),Rt=Rt._next;--nt}function gt(){ft=(ut=vt.now())+At,nt=it=0;try{Ct()}finally{nt=0,xt(),ft=0}}function yt(){var Rt=vt.now(),Ot=Rt-ut;Ot>st&&(At-=Ot,ut=Rt)}function xt(){for(var Rt,Ot=lt,Mt,Bt=1/0;Ot;)Ot._call?(Bt>Ot._time&&(Bt=Ot._time),Rt=Ot,Ot=Ot._next):(Mt=Ot._next,Ot._next=null,Ot=Rt?Rt._next=Mt:lt=Mt);ct=Rt,Et(Bt)}function Et(Rt){if(!nt){it&&(it=clearTimeout(it));var Ot=Rt-ft;Ot>24?(Rt<1/0&&(it=setTimeout(gt,Ot)),ot&&(ot=clearInterval(ot))):(ot||(ut=ft,ot=setInterval(yt,st)),nt=1,ht(gt))}}var It=function(Rt,Ot,Mt){var Bt=new dt;return Ot=Ot==null?0:+Ot,Bt.restart(function(Lt){Bt.stop(),Rt(Lt+Ot)},Ot,Mt),Bt},Tt=function(Rt,Ot,Mt){var Bt=new dt,Lt=Ot;return Ot==null?(Bt.restart(Rt,Ot,Mt),Bt):(Ot=+Ot,Mt=Mt==null?bt():+Mt,Bt.restart(function Vt(zt){zt+=Lt,Bt.restart(Vt,Lt+=Ot,Mt),Rt(zt)},Ot,Mt),Bt)};at.now=bt,at.timer=_t,at.timerFlush=Ct,at.timeout=It,at.interval=Tt,Object.defineProperty(at,"__esModule",{value:!0})})},function(et,tt){},function(et,tt){function rt(nt){return function(){return nt}}var at=function(){};at.thatReturns=rt,at.thatReturnsFalse=rt(!1),at.thatReturnsTrue=rt(!0),at.thatReturnsNull=rt(null),at.thatReturnsThis=function(){return this},at.thatReturnsArgument=function(nt){return nt},et.exports=at},function(et,tt,rt){function at(nt,it,ot,st,lt,ct,ut,ft){if(!nt){var At;if(it===void 0)At=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var vt=[ot,st,lt,ct,ut,ft],ht=0;At=new Error(it.replace(/%s/g,function(){return vt[ht++]})),At.name="Invariant Violation"}throw At.framesToPop=1,At}}et.exports=at},function(et,tt,rt){(function(at,nt){var it=200,ot="Expected a function",st="__lodash_hash_undefined__",lt=1,ct=2,ut=1/0,ft=9007199254740991,At="[object Arguments]",vt="[object Array]",ht="[object Boolean]",bt="[object Date]",pt="[object Error]",dt="[object Function]",_t="[object GeneratorFunction]",Ct="[object Map]",gt="[object Number]",yt="[object Object]",xt="[object Promise]",Et="[object RegExp]",It="[object Set]",Tt="[object String]",Rt="[object Symbol]",Ot="[object WeakMap]",Mt="[object ArrayBuffer]",Bt="[object DataView]",Lt="[object Float32Array]",Vt="[object Float64Array]",zt="[object Int8Array]",Nt="[object Int16Array]",Wt="[object Int32Array]",Jt="[object Uint8Array]",nr="[object Uint8ClampedArray]",er="[object Uint16Array]",Xt="[object Uint32Array]",tr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Zt=/^\w*$/,Gt=/^\./,Ft=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jt=/[\\^$.*+?()[\]{}|]/g,qt=/\\(\\)?/g,or=/^\[object .+?Constructor\]$/,fr=/^(?:0|[1-9]\d*)$/,dr={};dr[Lt]=dr[Vt]=dr[zt]=dr[Nt]=dr[Wt]=dr[Jt]=dr[nr]=dr[er]=dr[Xt]=!0,dr[At]=dr[vt]=dr[Mt]=dr[ht]=dr[Bt]=dr[bt]=dr[pt]=dr[dt]=dr[Ct]=dr[gt]=dr[yt]=dr[Et]=dr[It]=dr[Tt]=dr[Ot]=!1;var vr=typeof at=="object"&&at&&at.Object===Object&&at,Er=typeof self=="object"&&self&&self.Object===Object&&self,mr=vr||Er||Function("return this")(),Or=typeof tt=="object"&&tt&&!tt.nodeType&&tt,Lr=Or&&typeof nt=="object"&&nt&&!nt.nodeType&&nt,na=Lr&&Lr.exports===Or,ba=na&&vr.process,qr=function(){try{return ba&&ba.binding("util")}catch(sr){}}(),Pr=qr&&qr.isTypedArray;function ur(sr,gr,Ir,Jr){var pn=-1,an=sr?sr.length:0;for(Jr&&an&&(Ir=sr[++pn]);++pn-1}function vo(sr,gr){var Ir=this.__data__,Jr=Oo(Ir,sr);return Jr<0?Ir.push([sr,gr]):Ir[Jr][1]=gr,this}P0.prototype.clear=Ss,P0.prototype.delete=j0,P0.prototype.get=ls,P0.prototype.has=yo,P0.prototype.set=vo;function c0(sr){var gr=-1,Ir=sr?sr.length:0;for(this.clear();++grn0))return!1;var L0=an.get(sr);if(L0&&an.get(gr))return L0==gr;var q0=-1,S0=!0,p0=pn<?new Zs:void 0;for(an.set(sr,gr),an.set(gr,sr);++q0-1&&sr%1==0&&sr-1&&sr%1==0&&sr<=ft}function Ds(sr){var gr=typeof sr;return!!sr&&(gr=="object"||gr=="function")}function nn(sr){return!!sr&&typeof sr=="object"}function Js(sr){return typeof sr=="symbol"||nn(sr)&&_a.call(sr)==Rt}var io=Pr?tn(Pr):Pl;function Bo(sr){return sr==null?"":r2(sr)}function Q0(sr,gr,Ir){var Jr=sr==null?void 0:_c(sr,gr);return Jr===void 0?Ir:Jr}function l2(sr,gr){return sr!=null&&D2(sr,gr,I0)}function fs(sr){return U0(sr)?Bl(sr):Jo(sr)}function Go(sr){return sr}function xo(sr){return f0(sr)?jr(qs(sr)):M2(sr)}nt.exports=D0}).call(tt,function(){return this}(),rt(34)(et))},function(et,tt){var rt=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable;function nt(ot){if(ot==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(ot)}function it(){try{if(!Object.assign)return!1;var ot=new String("abc");if(ot[5]="de",Object.getOwnPropertyNames(ot)[0]==="5")return!1;for(var st={},lt=0;lt<10;lt++)st["_"+String.fromCharCode(lt)]=lt;var ct=Object.getOwnPropertyNames(st).map(function(ft){return st[ft]});if(ct.join("")!=="0123456789")return!1;var ut={};return"abcdefghijklmnopqrst".split("").forEach(function(ft){ut[ft]=ft}),Object.keys(Object.assign({},ut)).join("")==="abcdefghijklmnopqrst"}catch(ft){return!1}}et.exports=it()?Object.assign:function(ot,st){for(var lt,ct=nt(ot),ut,ft=1;ft-1?yt:gt}function bt(gt,yt){yt=yt||{};var xt=yt.body;if(bt.prototype.isPrototypeOf(gt)){if(gt.bodyUsed)throw new TypeError("Already read");this.url=gt.url,this.credentials=gt.credentials,yt.headers||(this.headers=new st(gt.headers)),this.method=gt.method,this.mode=gt.mode,xt||(xt=gt._bodyInit,gt.bodyUsed=!0)}else this.url=gt;if(this.credentials=yt.credentials||this.credentials||"omit",(yt.headers||!this.headers)&&(this.headers=new st(yt.headers)),this.method=ht(yt.method||this.method||"GET"),this.mode=yt.mode||this.mode||null,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&xt)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(xt)}bt.prototype.clone=function(){return new bt(this)};function pt(gt){var yt=new FormData;return gt.trim().split("&").forEach(function(xt){if(xt){var Et=xt.split("="),It=Et.shift().replace(/\+/g," "),Tt=Et.join("=").replace(/\+/g," ");yt.append(decodeURIComponent(It),decodeURIComponent(Tt))}}),yt}function dt(gt){var yt=new st,xt=(gt.getAllResponseHeaders()||"").trim().split(` -`);return xt.forEach(function(Et){var It=Et.trim().split(":"),Tt=It.shift().trim(),Rt=It.join(":").trim();yt.append(Tt,Rt)}),yt}At.call(bt.prototype);function _t(gt,yt){yt||(yt={}),this.type="default",this.status=yt.status,this.ok=this.status>=200&&this.status<300,this.statusText=yt.statusText,this.headers=yt.headers instanceof st?yt.headers:new st(yt.headers),this.url=yt.url||"",this._initBody(gt)}At.call(_t.prototype),_t.prototype.clone=function(){return new _t(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new st(this.headers),url:this.url})},_t.error=function(){var gt=new _t(null,{status:0,statusText:""});return gt.type="error",gt};var Ct=[301,302,303,307,308];_t.redirect=function(gt,yt){if(Ct.indexOf(yt)===-1)throw new RangeError("Invalid status code");return new _t(null,{status:yt,headers:{location:gt}})},rt.Headers=st,rt.Request=bt,rt.Response=_t,rt.fetch=function(gt,yt){return new Promise(function(xt,Et){var It;bt.prototype.isPrototypeOf(gt)&&!yt?It=gt:It=new bt(gt,yt);var Tt=new XMLHttpRequest;function Rt(){if("responseURL"in Tt)return Tt.responseURL;if(/^X-Request-URL:/m.test(Tt.getAllResponseHeaders()))return Tt.getResponseHeader("X-Request-URL")}Tt.onload=function(){var Ot={status:Tt.status,statusText:Tt.statusText,headers:dt(Tt),url:Rt()},Mt="response"in Tt?Tt.response:Tt.responseText;xt(new _t(Mt,Ot))},Tt.onerror=function(){Et(new TypeError("Network request failed"))},Tt.ontimeout=function(){Et(new TypeError("Network request failed"))},Tt.open(It.method,It.url,!0),It.credentials==="include"&&(Tt.withCredentials=!0),"responseType"in Tt&&at.blob&&(Tt.responseType="blob"),It.headers.forEach(function(Ot,Mt){Tt.setRequestHeader(Mt,Ot)}),Tt.send(typeof It._bodyInit>"u"?null:It._bodyInit)})},rt.fetch.polyfill=!0})(typeof self<"u"?self:this)}])})})(reactVisForce);var win$1;typeof window<"u"?win$1=window:typeof commonjsGlobal<"u"?win$1=commonjsGlobal:typeof self<"u"?win$1=self:win$1={};var window_1=win$1,lodashExports={},lodash={get exports(){return lodashExports},set exports(o){lodashExports=o}};/** +*/var Event=function($,_e){this.recycle($,_e)};function returnFalse(){return!1}function returnTrue(){return!0}Event.prototype={instanceString:function(){return"event"},recycle:function($,_e){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=returnFalse,$!=null&&$.preventDefault?(this.type=$.type,this.isDefaultPrevented=$.defaultPrevented?returnTrue:returnFalse):$!=null&&$.type?_e=$:this.type=$,_e!=null&&(this.originalEvent=_e.originalEvent,this.type=_e.type!=null?_e.type:this.type,this.cy=_e.cy,this.target=_e.target,this.position=_e.position,this.renderedPosition=_e.renderedPosition,this.namespace=_e.namespace,this.layout=_e.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var et=this.position,tt=this.cy.zoom(),rt=this.cy.pan();this.renderedPosition={x:et.x*tt+rt.x,y:et.y*tt+rt.y}}this.timeStamp=$&&$.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=returnTrue;var $=this.originalEvent;$&&$.preventDefault&&$.preventDefault()},stopPropagation:function(){this.isPropagationStopped=returnTrue;var $=this.originalEvent;$&&$.stopPropagation&&$.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue,this.stopPropagation()},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var eventRegex=/^([^.]+)(\.(?:[^.]+))?$/,universalNamespace=".*",defaults$8={qualifierCompare:function($,_e){return $===_e},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function($){return $},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},defaultsKeys=Object.keys(defaults$8),emptyOpts={};function Emitter(){for(var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:emptyOpts,$=arguments.length>1?arguments[1]:void 0,_e=0;_e=0;nt--)at(nt);return this};p.removeAllListeners=function(){return this.removeListener("*")};p.emit=p.trigger=function(o,$,_e){var et=this.listeners,tt=et.length;return this.emitting++,array$4($)||($=[$]),forEachEventObj(this,function(rt,at){_e!=null&&(et=[{event:at.event,type:at.type,namespace:at.namespace,callback:_e}],tt=et.length);for(var nt=function(st){var lt=et[st];if(lt.type===at.type&&(!lt.namespace||lt.namespace===at.namespace||lt.namespace===universalNamespace)&&rt.eventMatches(rt.context,lt,at)){var ct=[at];$!=null&&push(ct,$),rt.beforeEmit(rt.context,lt,at),lt.conf&<.conf.one&&(rt.listeners=rt.listeners.filter(function(At){return At!==lt}));var ut=rt.callbackContext(rt.context,lt,at),ft=lt.callback.apply(ut,ct);rt.afterEmit(rt.context,lt,at),ft===!1&&(at.stopPropagation(),at.preventDefault())}},it=0;it1&&!at){var nt=this.length-1,it=this[nt],ot=it._private.data.id;this[nt]=void 0,this[$]=it,rt.set(ot,{ele:it,index:$})}return this.length--,this},unmergeOne:function($){$=$[0];var _e=this._private,et=$._private.data.id,tt=_e.map,rt=tt.get(et);if(!rt)return this;var at=rt.index;return this.unmergeAt(at),this},unmerge:function($){var _e=this._private.cy;if(!$)return this;if($&&string$1($)){var et=$;$=_e.mutableElements().filter(et)}for(var tt=0;tt<$.length;tt++)this.unmergeOne($[tt]);return this},unmergeBy:function($){for(var _e=this.length-1;_e>=0;_e--){var et=this[_e];$(et)&&this.unmergeAt(_e)}return this},map:function($,_e){for(var et=[],tt=this,rt=0;rtet&&(et=it,tt=nt)}return{value:et,ele:tt}},min:function($,_e){for(var et=1/0,tt,rt=this,at=0;at=0&&rt<_e&&rt"u"?"undefined":_typeof$H(Symbol))!=$&&_typeof$H(Symbol.iterator)!=$;_e&&(elesfn$6[Symbol.iterator]=function(){var et=this,tt={value:void 0,done:!1},rt=0,at=this.length;return _defineProperty$M({next:function(){return rt1&&arguments[1]!==void 0?arguments[1]:!0,et=this[0],tt=et.cy();if(tt.styleEnabled()&&et){this.cleanStyle();var rt=et._private.style[$];return rt!=null?rt:_e?tt.style().getDefaultProperty($):null}},numericStyle:function($){var _e=this[0];if(_e.cy().styleEnabled()&&_e){var et=_e.pstyle($);return et.pfValue!==void 0?et.pfValue:et.value}},numericStyleUnits:function($){var _e=this[0];if(_e.cy().styleEnabled()&&_e)return _e.pstyle($).units},renderedStyle:function($){var _e=this.cy();if(!_e.styleEnabled())return this;var et=this[0];if(et)return _e.style().getRenderedStyle(et,$)},style:function($,_e){var et=this.cy();if(!et.styleEnabled())return this;var tt=!1,rt=et.style();if(plainObject($)){var at=$;rt.applyBypass(this,at,tt),this.emitAndNotify("style")}else if(string$1($))if(_e===void 0){var nt=this[0];return nt?rt.getStylePropertyValue(nt,$):void 0}else rt.applyBypass(this,$,_e,tt),this.emitAndNotify("style");else if($===void 0){var it=this[0];return it?rt.getRawStyle(it):void 0}return this},removeStyle:function($){var _e=this.cy();if(!_e.styleEnabled())return this;var et=!1,tt=_e.style(),rt=this;if($===void 0)for(var at=0;at0&&$.push(st[0]),$.push(nt[0])}return this.spawn($,!0).filter(o)},"neighborhood"),closedNeighborhood:function($){return this.neighborhood().add(this).filter($)},openNeighborhood:function($){return this.neighborhood($)}});elesfn$2.neighbourhood=elesfn$2.neighborhood;elesfn$2.closedNeighbourhood=elesfn$2.closedNeighborhood;elesfn$2.openNeighbourhood=elesfn$2.openNeighborhood;extend$3(elesfn$2,{source:cache$1(function($){var _e=this[0],et;return _e&&(et=_e._private.source||_e.cy().collection()),et&&$?et.filter($):et},"source"),target:cache$1(function($){var _e=this[0],et;return _e&&(et=_e._private.target||_e.cy().collection()),et&&$?et.filter($):et},"target"),sources:defineSourceFunction({attr:"source"}),targets:defineSourceFunction({attr:"target"})});function defineSourceFunction(o){return function(_e){for(var et=[],tt=0;tt0);return at},component:function(){var $=this[0];return $.cy().mutableElements().components($)[0]}});elesfn$2.componentsOf=elesfn$2.components;var Collection=function($,_e){var et=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,tt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if($===void 0){error("A collection must have a reference to the core");return}var rt=new Map$1$1,at=!1;if(!_e)_e=[];else if(_e.length>0&&plainObject(_e[0])&&!element(_e[0])){at=!0;for(var nt=[],it=new Set$1$1,ot=0,st=_e.length;ot0&&arguments[0]!==void 0?arguments[0]:!0,$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,_e=this,et=_e.cy(),tt=et._private,rt=[],at=[],nt,it=0,ot=_e.length;it0){for(var zt=nt.length===_e.length?_e:new Collection(et,nt),Nt=0;Nt0&&arguments[0]!==void 0?arguments[0]:!0,$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,_e=this,et=[],tt={},rt=_e._private.cy;function at(Ot){for(var Mt=Ot._private.edges,Bt=0;Bt0&&(o?It.emitAndNotify("remove"):$&&It.emit("remove"));for(var Tt=0;Tt0?Tt=Ot:It=Ot;while(Math.abs(Rt)>at&&++Mt=rt?mt(Et,Mt):Bt===0?Mt:dt(Et,It,It+ot)}var Ct=!1;function gt(){Ct=!0,(o!==$||_e!==et)&&bt()}var wt=function(It){return Ct||gt(),o===$&&_e===et?It:It===0?0:It===1?1:vt(xt(It),$,et)};wt.getControlPoints=function(){return[{x:o,y:$},{x:_e,y:et}]};var _t="generateBezier("+[o,$,_e,et]+")";return wt.toString=function(){return _t},wt}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var generateSpringRK4=function(){function o(et){return-et.tension*et.x-et.friction*et.v}function $(et,tt,rt){var at={x:et.x+rt.dx*tt,v:et.v+rt.dv*tt,tension:et.tension,friction:et.friction};return{dx:at.v,dv:o(at)}}function _e(et,tt){var rt={dx:et.v,dv:o(et)},at=$(et,tt*.5,rt),nt=$(et,tt*.5,at),it=$(et,tt,nt),ot=1/6*(rt.dx+2*(at.dx+nt.dx)+it.dx),st=1/6*(rt.dv+2*(at.dv+nt.dv)+it.dv);return et.x=et.x+ot*tt,et.v=et.v+st*tt,et}return function et(tt,rt,at){var nt={x:-1,v:0,tension:null,friction:null},it=[0],ot=0,st=1/1e4,lt=16/1e3,ct,ut,ft;for(tt=parseFloat(tt)||500,rt=parseFloat(rt)||20,at=at||null,nt.tension=tt,nt.friction=rt,ct=at!==null,ct?(ot=et(tt,rt),ut=ot/at*lt):ut=lt;ft=_e(ft||nt,ut),it.push(1+ft.x),ot+=16,Math.abs(ft.x)>st&&Math.abs(ft.v)>st;);return ct?function(At){return it[At*(it.length-1)|0]}:ot}}(),cubicBezier=function($,_e,et,tt){var rt=generateCubicBezier($,_e,et,tt);return function(at,nt,it){return at+(nt-at)*rt(it)}},easings={linear:function($,_e,et){return $+(_e-$)*et},ease:cubicBezier(.25,.1,.25,1),"ease-in":cubicBezier(.42,0,1,1),"ease-out":cubicBezier(0,0,.58,1),"ease-in-out":cubicBezier(.42,0,.58,1),"ease-in-sine":cubicBezier(.47,0,.745,.715),"ease-out-sine":cubicBezier(.39,.575,.565,1),"ease-in-out-sine":cubicBezier(.445,.05,.55,.95),"ease-in-quad":cubicBezier(.55,.085,.68,.53),"ease-out-quad":cubicBezier(.25,.46,.45,.94),"ease-in-out-quad":cubicBezier(.455,.03,.515,.955),"ease-in-cubic":cubicBezier(.55,.055,.675,.19),"ease-out-cubic":cubicBezier(.215,.61,.355,1),"ease-in-out-cubic":cubicBezier(.645,.045,.355,1),"ease-in-quart":cubicBezier(.895,.03,.685,.22),"ease-out-quart":cubicBezier(.165,.84,.44,1),"ease-in-out-quart":cubicBezier(.77,0,.175,1),"ease-in-quint":cubicBezier(.755,.05,.855,.06),"ease-out-quint":cubicBezier(.23,1,.32,1),"ease-in-out-quint":cubicBezier(.86,0,.07,1),"ease-in-expo":cubicBezier(.95,.05,.795,.035),"ease-out-expo":cubicBezier(.19,1,.22,1),"ease-in-out-expo":cubicBezier(1,0,0,1),"ease-in-circ":cubicBezier(.6,.04,.98,.335),"ease-out-circ":cubicBezier(.075,.82,.165,1),"ease-in-out-circ":cubicBezier(.785,.135,.15,.86),spring:function($,_e,et){if(et===0)return easings.linear;var tt=generateSpringRK4($,_e,et);return function(rt,at,nt){return rt+(at-rt)*tt(nt)}},"cubic-bezier":cubicBezier};function getEasedValue(o,$,_e,et,tt){if(et===1||$===_e)return _e;var rt=tt($,_e,et);return o==null||((o.roundValue||o.color)&&(rt=Math.round(rt)),o.min!==void 0&&(rt=Math.max(rt,o.min)),o.max!==void 0&&(rt=Math.min(rt,o.max))),rt}function getValue$2(o,$){return o.pfValue!=null||o.value!=null?o.pfValue!=null&&($==null||$.type.units!=="%")?o.pfValue:o.value:o}function ease(o,$,_e,et,tt){var rt=tt!=null?tt.type:null;_e<0?_e=0:_e>1&&(_e=1);var at=getValue$2(o,tt),nt=getValue$2($,tt);if(number$1$1(at)&&number$1$1(nt))return getEasedValue(rt,at,nt,_e,et);if(array$4(at)&&array$4(nt)){for(var it=[],ot=0;ot0?(ut==="spring"&&ft.push(at.duration),at.easingImpl=easings[ut].apply(null,ft)):at.easingImpl=easings[ut]}var At=at.easingImpl,vt;if(at.duration===0?vt=1:vt=(_e-it)/at.duration,at.applying&&(vt=at.progress),vt<0?vt=0:vt>1&&(vt=1),at.delay==null){var ht=at.startPosition,mt=at.position;if(mt&&tt&&!o.locked()){var bt={};valid(ht.x,mt.x)&&(bt.x=ease(ht.x,mt.x,vt,At)),valid(ht.y,mt.y)&&(bt.y=ease(ht.y,mt.y,vt,At)),o.position(bt)}var dt=at.startPan,xt=at.pan,Ct=rt.pan,gt=xt!=null&&et;gt&&(valid(dt.x,xt.x)&&(Ct.x=ease(dt.x,xt.x,vt,At)),valid(dt.y,xt.y)&&(Ct.y=ease(dt.y,xt.y,vt,At)),o.emit("pan"));var wt=at.startZoom,_t=at.zoom,Et=_t!=null&&et;Et&&(valid(wt,_t)&&(rt.zoom=bound(rt.minZoom,ease(wt,_t,vt,At),rt.maxZoom)),o.emit("zoom")),(gt||Et)&&o.emit("viewport");var It=at.style;if(It&&It.length>0&&tt){for(var Tt=0;Tt=0;gt--){var wt=Ct[gt];wt()}Ct.splice(0,Ct.length)},mt=ut.length-1;mt>=0;mt--){var bt=ut[mt],dt=bt._private;if(dt.stopped){ut.splice(mt,1),dt.hooked=!1,dt.playing=!1,dt.started=!1,ht(dt.frames);continue}!dt.playing&&!dt.applying||(dt.playing&&dt.applying&&(dt.applying=!1),dt.started||startAnimation(st,bt,o),step$1(st,bt,o,lt),dt.applying&&(dt.applying=!1),ht(dt.frames),dt.step!=null&&dt.step(o),bt.completed()&&(ut.splice(mt,1),dt.hooked=!1,dt.playing=!1,dt.started=!1,ht(dt.completes)),At=!0)}return!lt&&ut.length===0&&ft.length===0&&et.push(st),At}for(var rt=!1,at=0;at<_e.length;at++){var nt=_e[at],it=tt(nt);rt=rt||it}var ot=tt($,!0);(rt||ot)&&(_e.length>0?$.notify("draw",_e):$.notify("draw")),_e.unmerge(et),$.emit("step")}var corefn$8={animate:define$4.animate(),animation:define$4.animation(),animated:define$4.animated(),clearQueue:define$4.clearQueue(),delay:define$4.delay(),delayAnimation:define$4.delayAnimation(),stop:define$4.stop(),addToAnimationPool:function($){var _e=this;_e.styleEnabled()&&_e._private.aniEles.merge($)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var $=this;if($._private.animationsRunning=!0,!$.styleEnabled())return;function _e(){$._private.animationsRunning&&requestAnimationFrame$1(function(rt){stepAll(rt,$),_e()})}var et=$.renderer();et&&et.beforeRender?et.beforeRender(function(rt,at){stepAll(at,$)},et.beforeRenderPriorities.animations):_e()}},emitterOptions={qualifierCompare:function($,_e){return $==null||_e==null?$==null&&_e==null:$.sameText(_e)},eventMatches:function($,_e,et){var tt=_e.qualifier;return tt!=null?$!==et.target&&element(et.target)&&tt.matches(et.target):!0},addEventFields:function($,_e){_e.cy=$,_e.target=$},callbackContext:function($,_e,et){return _e.qualifier!=null?et.target:$}},argSelector=function($){return string$1($)?new Selector$2($):$},elesfn={createEmitter:function(){var $=this._private;return $.emitter||($.emitter=new Emitter(emitterOptions,this)),this},emitter:function(){return this._private.emitter},on:function($,_e,et){return this.emitter().on($,argSelector(_e),et),this},removeListener:function($,_e,et){return this.emitter().removeListener($,argSelector(_e),et),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function($,_e,et){return this.emitter().one($,argSelector(_e),et),this},once:function($,_e,et){return this.emitter().one($,argSelector(_e),et),this},emit:function($,_e){return this.emitter().emit($,_e),this},emitAndNotify:function($,_e){return this.emit($),this.notify($,_e),this}};define$4.eventAliasesOn(elesfn);var corefn$7={png:function($){var _e=this._private.renderer;return $=$||{},_e.png($)},jpg:function($){var _e=this._private.renderer;return $=$||{},$.bg=$.bg||"#fff",_e.jpg($)}};corefn$7.jpeg=corefn$7.jpg;var corefn$6={layout:function($){var _e=this;if($==null){error("Layout options must be specified to make a layout");return}if($.name==null){error("A `name` must be specified to make a layout");return}var et=$.name,tt=_e.extension("layout",et);if(tt==null){error("No such layout `"+et+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var rt;string$1($.eles)?rt=_e.$($.eles):rt=$.eles!=null?$.eles:_e.$();var at=new tt(extend$3({},$,{cy:_e,eles:rt}));return at}};corefn$6.createLayout=corefn$6.makeLayout=corefn$6.layout;var corefn$5={notify:function($,_e){var et=this._private;if(this.batching()){et.batchNotifications=et.batchNotifications||{};var tt=et.batchNotifications[$]=et.batchNotifications[$]||this.collection();_e!=null&&tt.merge(_e);return}if(et.notificationsEnabled){var rt=this.renderer();this.destroyed()||!rt||rt.notify($,_e)}},notifications:function($){var _e=this._private;return $===void 0?_e.notificationsEnabled:(_e.notificationsEnabled=!!$,this)},noNotifications:function($){this.notifications(!1),$(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var $=this._private;return $.batchCount==null&&($.batchCount=0),$.batchCount===0&&($.batchStyleEles=this.collection(),$.batchNotifications={}),$.batchCount++,this},endBatch:function(){var $=this._private;if($.batchCount===0)return this;if($.batchCount--,$.batchCount===0){$.batchStyleEles.updateStyle();var _e=this.renderer();Object.keys($.batchNotifications).forEach(function(et){var tt=$.batchNotifications[et];tt.empty()?_e.notify(et):_e.notify(et,tt)})}return this},batch:function($){return this.startBatch(),$(),this.endBatch(),this},batchData:function($){var _e=this;return this.batch(function(){for(var et=Object.keys($),tt=0;tt0;)_e.removeChild(_e.childNodes[0]);$._private.renderer=null,$.mutableElements().forEach(function(et){var tt=et._private;tt.rscratch={},tt.rstyle={},tt.animation.current=[],tt.animation.queue=[]})},onRender:function($){return this.on("render",$)},offRender:function($){return this.off("render",$)}};corefn$4.invalidateDimensions=corefn$4.resize;var corefn$3={collection:function($,_e){return string$1($)?this.$($):elementOrCollection($)?$.collection():array$4($)?(_e||(_e={}),new Collection(this,$,_e.unique,_e.removed)):new Collection(this)},nodes:function($){var _e=this.$(function(et){return et.isNode()});return $?_e.filter($):_e},edges:function($){var _e=this.$(function(et){return et.isEdge()});return $?_e.filter($):_e},$:function($){var _e=this._private.elements;return $?_e.filter($):_e.spawnSelf()},mutableElements:function(){return this._private.elements}};corefn$3.elements=corefn$3.filter=corefn$3.$;var styfn$8={},TRUE="t",FALSE="f";styfn$8.apply=function(o){for(var $=this,_e=$._private,et=_e.cy,tt=et.collection(),rt=0;rt0;if(ct||lt&&ut){var ft=void 0;ct&&ut||ct?ft=ot.properties:ut&&(ft=ot.mappedProperties);for(var At=0;At1&&(dt=1),nt.color){var Ct=et.valueMin[0],gt=et.valueMax[0],wt=et.valueMin[1],_t=et.valueMax[1],Et=et.valueMin[2],It=et.valueMax[2],Tt=et.valueMin[3]==null?1:et.valueMin[3],Rt=et.valueMax[3]==null?1:et.valueMax[3],Ot=[Math.round(Ct+(gt-Ct)*dt),Math.round(wt+(_t-wt)*dt),Math.round(Et+(It-Et)*dt),Math.round(Tt+(Rt-Tt)*dt)];rt={bypass:et.bypass,name:et.name,value:Ot,strValue:"rgb("+Ot[0]+", "+Ot[1]+", "+Ot[2]+")"}}else if(nt.number){var Mt=et.valueMin+(et.valueMax-et.valueMin)*dt;rt=this.parse(et.name,Mt,et.bypass,ct)}else return!1;if(!rt)return At(),!1;rt.mapping=et,et=rt;break}case at.data:{for(var Bt=et.field.split("."),Lt=lt.data,jt=0;jt0&&rt>0){for(var nt={},it=!1,ot=0;ot0?o.delayAnimation(at).play().promise().then(bt):bt()}).then(function(){return o.animation({style:nt,duration:rt,easing:o.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){_e.removeBypasses(o,tt),o.emitAndNotify("style"),et.transitioning=!1})}else et.transitioning&&(this.removeBypasses(o,tt),o.emitAndNotify("style"),et.transitioning=!1)};styfn$8.checkTrigger=function(o,$,_e,et,tt,rt){var at=this.properties[$],nt=tt(at);nt!=null&&nt(_e,et)&&rt(at)};styfn$8.checkZOrderTrigger=function(o,$,_e,et){var tt=this;this.checkTrigger(o,$,_e,et,function(rt){return rt.triggersZOrder},function(){tt._private.cy.notify("zorder",o)})};styfn$8.checkBoundsTrigger=function(o,$,_e,et){this.checkTrigger(o,$,_e,et,function(tt){return tt.triggersBounds},function(tt){o.dirtyCompoundBoundsCache(),o.dirtyBoundingBoxCache(),tt.triggersBoundsOfParallelBeziers&&($==="curve-style"&&(_e==="bezier"||et==="bezier")||$==="display"&&(_e==="none"||et==="none"))&&o.parallelEdges().forEach(function(rt){rt.isBundledBezier()&&rt.dirtyBoundingBoxCache()})})};styfn$8.checkTriggers=function(o,$,_e,et){o.dirtyStyleCache(),this.checkZOrderTrigger(o,$,_e,et),this.checkBoundsTrigger(o,$,_e,et)};var styfn$7={};styfn$7.applyBypass=function(o,$,_e,et){var tt=this,rt=[],at=!0;if($==="*"||$==="**"){if(_e!==void 0)for(var nt=0;nttt.length?et=et.substr(tt.length):et=""}function it(){rt.length>at.length?rt=rt.substr(at.length):rt=""}for(;;){var ot=et.match(/^\s*$/);if(ot)break;var st=et.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!st){warn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+et);break}tt=st[0];var lt=st[1];if(lt!=="core"){var ct=new Selector$2(lt);if(ct.invalid){warn("Skipping parsing of block: Invalid selector found in string stylesheet: "+lt),nt();continue}}var ut=st[2],ft=!1;rt=ut;for(var At=[];;){var vt=rt.match(/^\s*$/);if(vt)break;var ht=rt.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!ht){warn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ut),ft=!0;break}at=ht[0];var mt=ht[1],bt=ht[2],dt=$.properties[mt];if(!dt){warn("Skipping property: Invalid property name in: "+at),it();continue}var xt=_e.parse(mt,bt);if(!xt){warn("Skipping property: Invalid property definition in: "+at),it();continue}At.push({name:mt,val:bt}),it()}if(ft){nt();break}_e.selector(lt);for(var Ct=0;Ct=7&&$[0]==="d"&&(st=new RegExp(nt.data.regex).exec($))){if(_e)return!1;var ct=nt.data;return{name:o,value:st,strValue:""+$,mapped:ct,field:st[1],bypass:_e}}else if($.length>=10&&$[0]==="m"&&(lt=new RegExp(nt.mapData.regex).exec($))){if(_e||ot.multiple)return!1;var ut=nt.mapData;if(!(ot.color||ot.number))return!1;var ft=this.parse(o,lt[4]);if(!ft||ft.mapped)return!1;var At=this.parse(o,lt[5]);if(!At||At.mapped)return!1;if(ft.pfValue===At.pfValue||ft.strValue===At.strValue)return warn("`"+o+": "+$+"` is not a valid mapper because the output range is zero; converting to `"+o+": "+ft.strValue+"`"),this.parse(o,ft.strValue);if(ot.color){var vt=ft.value,ht=At.value,mt=vt[0]===ht[0]&&vt[1]===ht[1]&&vt[2]===ht[2]&&(vt[3]===ht[3]||(vt[3]==null||vt[3]===1)&&(ht[3]==null||ht[3]===1));if(mt)return!1}return{name:o,value:lt,strValue:""+$,mapped:ut,field:lt[1],fieldMin:parseFloat(lt[2]),fieldMax:parseFloat(lt[3]),valueMin:ft.value,valueMax:At.value,bypass:_e}}}if(ot.multiple&&et!=="multiple"){var bt;if(it?bt=$.split(/\s+/):array$4($)?bt=$:bt=[$],ot.evenMultiple&&bt.length%2!==0)return null;for(var dt=[],xt=[],Ct=[],gt="",wt=!1,_t=0;_t0?" ":"")+Et.strValue}return ot.validate&&!ot.validate(dt,xt)?null:ot.singleEnum&&wt?dt.length===1&&string$1(dt[0])?{name:o,value:dt[0],strValue:dt[0],bypass:_e}:null:{name:o,value:dt,pfValue:Ct,strValue:gt,bypass:_e,units:xt}}var It=function(){for(var Ft=0;Ftot.max||ot.strictMax&&$===ot.max))return null;var Bt={name:o,value:$,strValue:""+$+(Tt||""),units:Tt,bypass:_e};return ot.unitless||Tt!=="px"&&Tt!=="em"?Bt.pfValue=$:Bt.pfValue=Tt==="px"||!Tt?$:this.getEmSizeInPixels()*$,(Tt==="ms"||Tt==="s")&&(Bt.pfValue=Tt==="ms"?$:1e3*$),(Tt==="deg"||Tt==="rad")&&(Bt.pfValue=Tt==="rad"?$:deg2rad$1($)),Tt==="%"&&(Bt.pfValue=$/100),Bt}else if(ot.propList){var Lt=[],jt=""+$;if(jt!=="none"){for(var zt=jt.split(/\s*,\s*|\s+/),Nt=0;Nt0&&nt>0&&!isNaN(et.w)&&!isNaN(et.h)&&et.w>0&&et.h>0){it=Math.min((at-2*_e)/et.w,(nt-2*_e)/et.h),it=it>this._private.maxZoom?this._private.maxZoom:it,it=it=et.minZoom&&(et.maxZoom=_e),this},minZoom:function($){return $===void 0?this._private.minZoom:this.zoomRange({min:$})},maxZoom:function($){return $===void 0?this._private.maxZoom:this.zoomRange({max:$})},getZoomedViewport:function($){var _e=this._private,et=_e.pan,tt=_e.zoom,rt,at,nt=!1;if(_e.zoomingEnabled||(nt=!0),number$1$1($)?at=$:plainObject($)&&(at=$.level,$.position!=null?rt=modelToRenderedPosition($.position,tt,et):$.renderedPosition!=null&&(rt=$.renderedPosition),rt!=null&&!_e.panningEnabled&&(nt=!0)),at=at>_e.maxZoom?_e.maxZoom:at,at=at<_e.minZoom?_e.minZoom:at,nt||!number$1$1(at)||at===tt||rt!=null&&(!number$1$1(rt.x)||!number$1$1(rt.y)))return null;if(rt!=null){var it=et,ot=tt,st=at,lt={x:-st/ot*(rt.x-it.x)+rt.x,y:-st/ot*(rt.y-it.y)+rt.y};return{zoomed:!0,panned:!0,zoom:st,pan:lt}}else return{zoomed:!0,panned:!1,zoom:at,pan:et}},zoom:function($){if($===void 0)return this._private.zoom;var _e=this.getZoomedViewport($),et=this._private;return _e==null||!_e.zoomed?this:(et.zoom=_e.zoom,_e.panned&&(et.pan.x=_e.pan.x,et.pan.y=_e.pan.y),this.emit("zoom"+(_e.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function($){var _e=this._private,et=!0,tt=!0,rt=[],at=!1,nt=!1;if(!$)return this;if(number$1$1($.zoom)||(et=!1),plainObject($.pan)||(tt=!1),!et&&!tt)return this;if(et){var it=$.zoom;it<_e.minZoom||it>_e.maxZoom||!_e.zoomingEnabled?at=!0:(_e.zoom=it,rt.push("zoom"))}if(tt&&(!at||!$.cancelOnFailedZoom)&&_e.panningEnabled){var ot=$.pan;number$1$1(ot.x)&&(_e.pan.x=ot.x,nt=!1),number$1$1(ot.y)&&(_e.pan.y=ot.y,nt=!1),nt||rt.push("pan")}return rt.length>0&&(rt.push("viewport"),this.emit(rt.join(" ")),this.notify("viewport")),this},center:function($){var _e=this.getCenterPan($);return _e&&(this._private.pan=_e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function($,_e){if(this._private.panningEnabled){if(string$1($)){var et=$;$=this.mutableElements().filter(et)}else elementOrCollection($)||($=this.mutableElements());if($.length!==0){var tt=$.boundingBox(),rt=this.width(),at=this.height();_e=_e===void 0?this._private.zoom:_e;var nt={x:(rt-_e*(tt.x1+tt.x2))/2,y:(at-_e*(tt.y1+tt.y2))/2};return nt}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var $=this._private,_e=$.container;return $.sizeCache=$.sizeCache||(_e?function(){var et=window$1.getComputedStyle(_e),tt=function(at){return parseFloat(et.getPropertyValue(at))};return{width:_e.clientWidth-tt("padding-left")-tt("padding-right"),height:_e.clientHeight-tt("padding-top")-tt("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var $=this._private.pan,_e=this._private.zoom,et=this.renderedExtent(),tt={x1:(et.x1-$.x)/_e,x2:(et.x2-$.x)/_e,y1:(et.y1-$.y)/_e,y2:(et.y2-$.y)/_e};return tt.w=tt.x2-tt.x1,tt.h=tt.y2-tt.y1,tt},renderedExtent:function(){var $=this.width(),_e=this.height();return{x1:0,y1:0,x2:$,y2:_e,w:$,h:_e}},multiClickDebounceTime:function($){if($)this._private.multiClickDebounceTime=$;else return this._private.multiClickDebounceTime;return this}};corefn$1.centre=corefn$1.center;corefn$1.autolockNodes=corefn$1.autolock;corefn$1.autoungrabifyNodes=corefn$1.autoungrabify;var fn={data:define$4.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:define$4.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:define$4.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:define$4.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};fn.attr=fn.data;fn.removeAttr=fn.removeData;var Core=function($){var _e=this;$=extend$3({},$);var et=$.container;et&&!htmlElement(et)&&htmlElement(et[0])&&(et=et[0]);var tt=et?et._cyreg:null;tt=tt||{},tt&&tt.cy&&(tt.cy.destroy(),tt={});var rt=tt.readies=tt.readies||[];et&&(et._cyreg=tt),tt.cy=_e;var at=window$1!==void 0&&et!==void 0&&!$.headless,nt=$;nt.layout=extend$3({name:at?"grid":"null"},nt.layout),nt.renderer=extend$3({name:at?"canvas":"null"},nt.renderer);var it=function(ft,At,vt){return At!==void 0?At:vt!==void 0?vt:ft},ot=this._private={container:et,ready:!1,options:nt,elements:new Collection(this),listeners:[],aniEles:new Collection(this),data:nt.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:it(!0,nt.zoomingEnabled),userZoomingEnabled:it(!0,nt.userZoomingEnabled),panningEnabled:it(!0,nt.panningEnabled),userPanningEnabled:it(!0,nt.userPanningEnabled),boxSelectionEnabled:it(!0,nt.boxSelectionEnabled),autolock:it(!1,nt.autolock,nt.autolockNodes),autoungrabify:it(!1,nt.autoungrabify,nt.autoungrabifyNodes),autounselectify:it(!1,nt.autounselectify),styleEnabled:nt.styleEnabled===void 0?at:nt.styleEnabled,zoom:number$1$1(nt.zoom)?nt.zoom:1,pan:{x:plainObject(nt.pan)&&number$1$1(nt.pan.x)?nt.pan.x:0,y:plainObject(nt.pan)&&number$1$1(nt.pan.y)?nt.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:it(250,nt.multiClickDebounceTime)};this.createEmitter(),this.selectionType(nt.selectionType),this.zoomRange({min:nt.minZoom,max:nt.maxZoom});var st=function(ft,At){var vt=ft.some(promise$3);if(vt)return Promise$1$1.all(ft).then(At);At(ft)};ot.styleEnabled&&_e.setStyle([]);var lt=extend$3({},nt,nt.renderer);_e.initRenderer(lt);var ct=function(ft,At,vt){_e.notifications(!1);var ht=_e.mutableElements();ht.length>0&&ht.remove(),ft!=null&&(plainObject(ft)||array$4(ft))&&_e.add(ft),_e.one("layoutready",function(bt){_e.notifications(!0),_e.emit(bt),_e.one("load",At),_e.emitAndNotify("load")}).one("layoutstop",function(){_e.one("done",vt),_e.emit("done")});var mt=extend$3({},_e._private.options.layout);mt.eles=_e.elements(),_e.layout(mt).run()};st([nt.style,nt.elements],function(ut){var ft=ut[0],At=ut[1];ot.styleEnabled&&_e.style().append(ft),ct(At,function(){_e.startAnimationLoop(),ot.ready=!0,fn$6(nt.ready)&&_e.on("ready",nt.ready);for(var vt=0;vt0,it=makeBoundingBox($.boundingBox?$.boundingBox:{x1:0,y1:0,w:_e.width(),h:_e.height()}),ot;if(elementOrCollection($.roots))ot=$.roots;else if(array$4($.roots)){for(var st=[],lt=0;lt<$.roots.length;lt++){var ct=$.roots[lt],ut=_e.getElementById(ct);st.push(ut)}ot=_e.collection(st)}else if(string$1($.roots))ot=_e.$($.roots);else if(at)ot=tt.roots();else{var ft=et.components();ot=_e.collection();for(var At=function(vr){var Er=ft[vr],mr=Er.maxDegree(!1),Or=Er.filter(function(Lr){return Lr.degree(!1)===mr});ot=ot.add(Or)},vt=0;vt0;){var Mt=Ot(),Bt=Et(Mt,Tt);if(Bt)Mt.outgoers().filter(function(hr){return hr.isNode()&&et.has(hr)}).forEach(Rt);else if(Bt===null){warn("Detected double maximal shift for node `"+Mt.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}_t();var Lt=0;if($.avoidOverlap)for(var jt=0;jt0&&ht[0].length<=3?qr/2:0),Sr=2*Math.PI/ht[mr].length*Or;return mr===0&&ht[0].length===1&&(ur=1),{x:Jt.x+ur*Math.cos(Sr),y:Jt.y+ur*Math.sin(Sr)}}else{var Pr={x:Jt.x+(Or+1-(Lr+1)/2)*na,y:(mr+1)*ba};return Pr}};return et.nodes().layoutPositions(this,$,Ar),this};var defaults$6={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function($,_e){return!0},ready:void 0,stop:void 0,transform:function($,_e){return _e}};function CircleLayout(o){this.options=extend$3({},defaults$6,o)}CircleLayout.prototype.run=function(){var o=this.options,$=o,_e=o.cy,et=$.eles,tt=$.counterclockwise!==void 0?!$.counterclockwise:$.clockwise,rt=et.nodes().not(":parent");$.sort&&(rt=rt.sort($.sort));for(var at=makeBoundingBox($.boundingBox?$.boundingBox:{x1:0,y1:0,w:_e.width(),h:_e.height()}),nt={x:at.x1+at.w/2,y:at.y1+at.h/2},it=$.sweep===void 0?2*Math.PI-2*Math.PI/rt.length:$.sweep,ot=it/Math.max(1,rt.length-1),st,lt=0,ct=0;ct1&&$.avoidOverlap){lt*=1.75;var ht=Math.cos(ot)-Math.cos(0),mt=Math.sin(ot)-Math.sin(0),bt=Math.sqrt(lt*lt/(ht*ht+mt*mt));st=Math.max(bt,st)}var dt=function(Ct,gt){var wt=$.startAngle+gt*ot*(tt?1:-1),_t=st*Math.cos(wt),Et=st*Math.sin(wt),It={x:nt.x+_t,y:nt.y+Et};return It};return et.nodes().layoutPositions(this,$,dt),this};var defaults$5={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function($){return $.degree()},levelWidth:function($){return $.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function($,_e){return!0},ready:void 0,stop:void 0,transform:function($,_e){return _e}};function ConcentricLayout(o){this.options=extend$3({},defaults$5,o)}ConcentricLayout.prototype.run=function(){for(var o=this.options,$=o,_e=$.counterclockwise!==void 0?!$.counterclockwise:$.clockwise,et=o.cy,tt=$.eles,rt=tt.nodes().not(":parent"),at=makeBoundingBox($.boundingBox?$.boundingBox:{x1:0,y1:0,w:et.width(),h:et.height()}),nt={x:at.x1+at.w/2,y:at.y1+at.h/2},it=[],ot=0,st=0;st0){var xt=Math.abs(mt[0].value-dt.value);xt>=vt&&(mt=[],ht.push(mt))}mt.push(dt)}var Ct=ot+$.minNodeSpacing;if(!$.avoidOverlap){var gt=ht.length>0&&ht[0].length>1,wt=Math.min(at.w,at.h)/2-Ct,_t=wt/(ht.length+gt?1:0);Ct=Math.min(Ct,_t)}for(var Et=0,It=0;It1&&$.avoidOverlap){var Mt=Math.cos(Ot)-Math.cos(0),Bt=Math.sin(Ot)-Math.sin(0),Lt=Math.sqrt(Ct*Ct/(Mt*Mt+Bt*Bt));Et=Math.max(Lt,Et)}Tt.r=Et,Et+=Ct}if($.equidistant){for(var jt=0,zt=0,Nt=0;Nt=o.numIter||(step$2(et,o),et.temperature=et.temperature*o.coolingFactor,et.temperature=o.animationThreshold&&rt(),requestAnimationFrame$1(lt)}};st()}else{for(;ot;)ot=at(it),it++;separateComponents(et,o),nt()}return this};CoseLayout.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};CoseLayout.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var createLayoutInfo=function($,_e,et){for(var tt=et.eles.edges(),rt=et.eles.nodes(),at={isCompound:$.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:rt.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:tt.size(),temperature:et.initialTemp,clientWidth:$.width(),clientHeight:$.width(),boundingBox:makeBoundingBox(et.boundingBox?et.boundingBox:{x1:0,y1:0,w:$.width(),h:$.height()})},nt=et.eles.components(),it={},ot=0;ot0){at.graphSet.push(gt);for(var ot=0;ottt.count?0:tt.graph},findLCA_aux=function o($,_e,et,tt){var rt=tt.graphSet[et];if(-10)var lt=tt.nodeOverlap*st,ct=Math.sqrt(nt*nt+it*it),ut=lt*nt/ct,ft=lt*it/ct;else var At=findClippingPoint($,nt,it),vt=findClippingPoint(_e,-1*nt,-1*it),ht=vt.x-At.x,mt=vt.y-At.y,bt=ht*ht+mt*mt,ct=Math.sqrt(bt),lt=($.nodeRepulsion+_e.nodeRepulsion)/bt,ut=lt*ht/ct,ft=lt*mt/ct;$.isLocked||($.offsetX-=ut,$.offsetY-=ft),_e.isLocked||(_e.offsetX+=ut,_e.offsetY+=ft)}},nodesOverlap=function($,_e,et,tt){if(et>0)var rt=$.maxX-_e.minX;else var rt=_e.maxX-$.minX;if(tt>0)var at=$.maxY-_e.minY;else var at=_e.maxY-$.minY;return rt>=0&&at>=0?Math.sqrt(rt*rt+at*at):0},findClippingPoint=function($,_e,et){var tt=$.positionX,rt=$.positionY,at=$.height||1,nt=$.width||1,it=et/_e,ot=at/nt,st={};return _e===0&&0et?(st.x=tt,st.y=rt+at/2,st):0<_e&&-1*ot<=it&&it<=ot?(st.x=tt+nt/2,st.y=rt+nt*et/2/_e,st):0>_e&&-1*ot<=it&&it<=ot?(st.x=tt-nt/2,st.y=rt-nt*et/2/_e,st):0=ot)?(st.x=tt+at*_e/2/et,st.y=rt+at/2,st):(0>et&&(it<=-1*ot||it>=ot)&&(st.x=tt-at*_e/2/et,st.y=rt-at/2),st)},calculateEdgeForces=function($,_e){for(var et=0;et<$.edgeSize;et++){var tt=$.layoutEdges[et],rt=$.idToIndex[tt.sourceId],at=$.layoutNodes[rt],nt=$.idToIndex[tt.targetId],it=$.layoutNodes[nt],ot=it.positionX-at.positionX,st=it.positionY-at.positionY;if(!(ot===0&&st===0)){var lt=findClippingPoint(at,ot,st),ct=findClippingPoint(it,-1*ot,-1*st),ut=ct.x-lt.x,ft=ct.y-lt.y,At=Math.sqrt(ut*ut+ft*ft),vt=Math.pow(tt.idealLength-At,2)/tt.elasticity;if(At!==0)var ht=vt*ut/At,mt=vt*ft/At;else var ht=0,mt=0;at.isLocked||(at.offsetX+=ht,at.offsetY+=mt),it.isLocked||(it.offsetX-=ht,it.offsetY-=mt)}}},calculateGravityForces=function($,_e){if(_e.gravity!==0)for(var et=1,tt=0;tt<$.graphSet.length;tt++){var rt=$.graphSet[tt],at=rt.length;if(tt===0)var nt=$.clientHeight/2,it=$.clientWidth/2;else var ot=$.layoutNodes[$.idToIndex[rt[0]]],st=$.layoutNodes[$.idToIndex[ot.parentId]],nt=st.positionX,it=st.positionY;for(var lt=0;ltet){var vt=_e.gravity*ut/At,ht=_e.gravity*ft/At;ct.offsetX+=vt,ct.offsetY+=ht}}}}},propagateForces=function($,_e){var et=[],tt=0,rt=-1;for(et.push.apply(et,$.graphSet[0]),rt+=$.graphSet[0].length;tt<=rt;){var at=et[tt++],nt=$.idToIndex[at],it=$.layoutNodes[nt],ot=it.children;if(0et)var rt={x:et*$/tt,y:et*_e/tt};else var rt={x:$,y:_e};return rt},updateAncestryBoundaries=function o($,_e){var et=$.parentId;if(et!=null){var tt=_e.layoutNodes[_e.idToIndex[et]],rt=!1;if((tt.maxX==null||$.maxX+tt.padRight>tt.maxX)&&(tt.maxX=$.maxX+tt.padRight,rt=!0),(tt.minX==null||$.minX-tt.padLefttt.maxY)&&(tt.maxY=$.maxY+tt.padBottom,rt=!0),(tt.minY==null||$.minY-tt.padTopht&&(ft+=vt+_e.componentSpacing,ut=0,At=0,vt=0)}}},defaults$3={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function($){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function($,_e){return!0},ready:void 0,stop:void 0,transform:function($,_e){return _e}};function GridLayout(o){this.options=extend$3({},defaults$3,o)}GridLayout.prototype.run=function(){var o=this.options,$=o,_e=o.cy,et=$.eles,tt=et.nodes().not(":parent");$.sort&&(tt=tt.sort($.sort));var rt=makeBoundingBox($.boundingBox?$.boundingBox:{x1:0,y1:0,w:_e.width(),h:_e.height()});if(rt.h===0||rt.w===0)et.nodes().layoutPositions(this,$,function(nr){return{x:rt.x1,y:rt.y1}});else{var at=tt.size(),nt=Math.sqrt(at*rt.h/rt.w),it=Math.round(nt),ot=Math.round(rt.w/rt.h*nt),st=function(ar){if(ar==null)return Math.min(it,ot);var Kt=Math.min(it,ot);Kt==it?it=ar:ot=ar},lt=function(ar){if(ar==null)return Math.max(it,ot);var Kt=Math.max(it,ot);Kt==it?it=ar:ot=ar},ct=$.rows,ut=$.cols!=null?$.cols:$.columns;if(ct!=null&&ut!=null)it=ct,ot=ut;else if(ct!=null&&ut==null)it=ct,ot=Math.ceil(at/it);else if(ct==null&&ut!=null)ot=ut,it=Math.ceil(at/ot);else if(ot*it>at){var ft=st(),At=lt();(ft-1)*At>=at?st(ft-1):(At-1)*ft>=at&<(At-1)}else for(;ot*it=at?lt(ht+1):st(vt+1)}var mt=rt.w/ot,bt=rt.h/it;if($.condense&&(mt=0,bt=0),$.avoidOverlap)for(var dt=0;dt=ot&&(Mt=0,Ot++)},Lt={},jt=0;jt(Mt=sqdistToFiniteLine(o,$,Bt[Lt],Bt[Lt+1],Bt[Lt+2],Bt[Lt+3])))return vt(gt,Mt),!0}else if(_t.edgeType==="bezier"||_t.edgeType==="multibezier"||_t.edgeType==="self"||_t.edgeType==="compound"){for(var Bt=_t.allpts,Lt=0;Lt+5<_t.allpts.length;Lt+=4)if(inBezierVicinity(o,$,Bt[Lt],Bt[Lt+1],Bt[Lt+2],Bt[Lt+3],Bt[Lt+4],Bt[Lt+5],Ot)&&Rt>(Mt=sqdistToQuadraticBezier(o,$,Bt[Lt],Bt[Lt+1],Bt[Lt+2],Bt[Lt+3],Bt[Lt+4],Bt[Lt+5])))return vt(gt,Mt),!0}for(var jt=jt||wt.source,zt=zt||wt.target,Nt=tt.getArrowWidth(Et,It),Wt=[{name:"source",x:_t.arrowStartX,y:_t.arrowStartY,angle:_t.srcArrowAngle},{name:"target",x:_t.arrowEndX,y:_t.arrowEndY,angle:_t.tgtArrowAngle},{name:"mid-source",x:_t.midX,y:_t.midY,angle:_t.midsrcArrowAngle},{name:"mid-target",x:_t.midX,y:_t.midY,angle:_t.midtgtArrowAngle}],Lt=0;Lt0&&(ht(jt),ht(zt))}function bt(gt,wt,_t){return getPrefixedProperty(gt,wt,_t)}function dt(gt,wt){var _t=gt._private,Et=ct,It;wt?It=wt+"-":It="",gt.boundingBox();var Tt=_t.labelBounds[wt||"main"],Rt=gt.pstyle(It+"label").value,Ot=gt.pstyle("text-events").strValue==="yes";if(!(!Ot||!Rt)){var Mt=bt(_t.rscratch,"labelX",wt),Bt=bt(_t.rscratch,"labelY",wt),Lt=bt(_t.rscratch,"labelAngle",wt),jt=gt.pstyle(It+"text-margin-x").pfValue,zt=gt.pstyle(It+"text-margin-y").pfValue,Nt=Tt.x1-Et-jt,Wt=Tt.x2+Et-jt,qt=Tt.y1-Et-zt,nr=Tt.y2+Et-zt;if(Lt){var ar=Math.cos(Lt),Kt=Math.sin(Lt),er=function(Ar,hr){return Ar=Ar-Mt,hr=hr-Bt,{x:Ar*ar-hr*Kt+Mt,y:Ar*Kt+hr*ar+Bt}},Ut=er(Nt,qt),Ht=er(Nt,nr),Ft=er(Wt,qt),Vt=er(Wt,nr),Jt=[Ut.x+jt,Ut.y+zt,Ft.x+jt,Ft.y+zt,Vt.x+jt,Vt.y+zt,Ht.x+jt,Ht.y+zt];if(pointInsidePolygonPoints(o,$,Jt))return vt(gt),!0}else if(inBoundingBox(Tt,o,$))return vt(gt),!0}}for(var xt=at.length-1;xt>=0;xt--){var Ct=at[xt];Ct.isNode()?ht(Ct)||dt(Ct):mt(Ct)||dt(Ct)||dt(Ct,"source")||dt(Ct,"target")}return nt};BRp$e.getAllInBox=function(o,$,_e,et){var tt=this.getCachedZSortedEles().interactive,rt=[],at=Math.min(o,_e),nt=Math.max(o,_e),it=Math.min($,et),ot=Math.max($,et);o=at,_e=nt,$=it,et=ot;for(var st=makeBoundingBox({x1:o,y1:$,x2:_e,y2:et}),lt=0;lt0?Math.max(Kr-_n,0):Math.min(Kr+_n,0)},Rt=Tt(Et,wt),Ot=Tt(It,_t),Mt=!1;mt===ot?ht=Math.abs(Rt)>Math.abs(Ot)?tt:et:mt===it||mt===nt?(ht=et,Mt=!0):(mt===rt||mt===at)&&(ht=tt,Mt=!0);var Bt=ht===et,Lt=Bt?Ot:Rt,jt=Bt?It:Et,zt=signum(jt),Nt=!1;!(Mt&&(dt||Ct))&&(mt===nt&&jt<0||mt===it&&jt>0||mt===rt&&jt>0||mt===at&&jt<0)&&(zt*=-1,Lt=zt*Math.abs(Lt),Nt=!0);var Wt;if(dt){var qt=xt<0?1+xt:xt;Wt=qt*Lt}else{var nr=xt<0?Lt:0;Wt=nr+xt*zt}var ar=function(Kr){return Math.abs(Kr)=Math.abs(Lt)},Kt=ar(Wt),er=ar(Math.abs(Lt)-Math.abs(Wt)),Ut=Kt||er;if(Ut&&!Nt)if(Bt){var Ht=Math.abs(jt)<=ct/2,Ft=Math.abs(Et)<=ut/2;if(Ht){var Vt=(st.x1+st.x2)/2,Jt=st.y1,or=st.y2;_e.segpts=[Vt,Jt,Vt,or]}else if(Ft){var Ar=(st.y1+st.y2)/2,hr=st.x1,vr=st.x2;_e.segpts=[hr,Ar,vr,Ar]}else _e.segpts=[st.x1,st.y2]}else{var Er=Math.abs(jt)<=lt/2,mr=Math.abs(It)<=ft/2;if(Er){var Or=(st.y1+st.y2)/2,Lr=st.x1,na=st.x2;_e.segpts=[Lr,Or,na,Or]}else if(mr){var ba=(st.x1+st.x2)/2,qr=st.y1,Pr=st.y2;_e.segpts=[ba,qr,ba,Pr]}else _e.segpts=[st.x2,st.y1]}else if(Bt){var ur=st.y1+Wt+(vt?ct/2*zt:0),Sr=st.x1,jr=st.x2;_e.segpts=[Sr,ur,jr,ur]}else{var Dr=st.x1+Wt+(vt?lt/2*zt:0),Cr=st.y1,tn=st.y2;_e.segpts=[Dr,Cr,Dr,tn]}};BRp$c.tryToCorrectInvalidPoints=function(o,$){var _e=o._private.rscratch;if(_e.edgeType==="bezier"){var et=$.srcPos,tt=$.tgtPos,rt=$.srcW,at=$.srcH,nt=$.tgtW,it=$.tgtH,ot=$.srcShape,st=$.tgtShape,lt=!number$1$1(_e.startX)||!number$1$1(_e.startY),ct=!number$1$1(_e.arrowStartX)||!number$1$1(_e.arrowStartY),ut=!number$1$1(_e.endX)||!number$1$1(_e.endY),ft=!number$1$1(_e.arrowEndX)||!number$1$1(_e.arrowEndY),At=3,vt=this.getArrowWidth(o.pstyle("width").pfValue,o.pstyle("arrow-scale").value)*this.arrowShapeWidth,ht=At*vt,mt=dist$1({x:_e.ctrlpts[0],y:_e.ctrlpts[1]},{x:_e.startX,y:_e.startY}),bt=mtOt.poolIndex()){var Mt=Rt;Rt=Ot,Ot=Mt}var Bt=_t.srcPos=Rt.position(),Lt=_t.tgtPos=Ot.position(),jt=_t.srcW=Rt.outerWidth(),zt=_t.srcH=Rt.outerHeight(),Nt=_t.tgtW=Ot.outerWidth(),Wt=_t.tgtH=Ot.outerHeight(),qt=_t.srcShape=_e.nodeShapes[$.getNodeShape(Rt)],nr=_t.tgtShape=_e.nodeShapes[$.getNodeShape(Ot)];_t.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ar=0;ar<_t.eles.length;ar++){var Kt=_t.eles[ar],er=Kt[0]._private.rscratch,Ut=Kt.pstyle("curve-style").value,Ht=Ut==="unbundled-bezier"||Ut==="segments"||Ut==="taxi",Ft=!Rt.same(Kt.source());if(!_t.calculatedIntersection&&Rt!==Ot&&(_t.hasBezier||_t.hasUnbundled)){_t.calculatedIntersection=!0;var Vt=qt.intersectLine(Bt.x,Bt.y,jt,zt,Lt.x,Lt.y,0),Jt=_t.srcIntn=Vt,or=nr.intersectLine(Lt.x,Lt.y,Nt,Wt,Bt.x,Bt.y,0),Ar=_t.tgtIntn=or,hr=_t.intersectionPts={x1:Vt[0],x2:or[0],y1:Vt[1],y2:or[1]},vr=_t.posPts={x1:Bt.x,x2:Lt.x,y1:Bt.y,y2:Lt.y},Er=or[1]-Vt[1],mr=or[0]-Vt[0],Or=Math.sqrt(mr*mr+Er*Er),Lr=_t.vector={x:mr,y:Er},na=_t.vectorNorm={x:Lr.x/Or,y:Lr.y/Or},ba={x:-na.y,y:na.x};_t.nodesOverlap=!number$1$1(Or)||nr.checkPoint(Vt[0],Vt[1],0,Nt,Wt,Lt.x,Lt.y)||qt.checkPoint(or[0],or[1],0,jt,zt,Bt.x,Bt.y),_t.vectorNormInverse=ba,Et={nodesOverlap:_t.nodesOverlap,dirCounts:_t.dirCounts,calculatedIntersection:!0,hasBezier:_t.hasBezier,hasUnbundled:_t.hasUnbundled,eles:_t.eles,srcPos:Lt,tgtPos:Bt,srcW:Nt,srcH:Wt,tgtW:jt,tgtH:zt,srcIntn:Ar,tgtIntn:Jt,srcShape:nr,tgtShape:qt,posPts:{x1:vr.x2,y1:vr.y2,x2:vr.x1,y2:vr.y1},intersectionPts:{x1:hr.x2,y1:hr.y2,x2:hr.x1,y2:hr.y1},vector:{x:-Lr.x,y:-Lr.y},vectorNorm:{x:-na.x,y:-na.y},vectorNormInverse:{x:-ba.x,y:-ba.y}}}var qr=Ft?Et:_t;er.nodesOverlap=qr.nodesOverlap,er.srcIntn=qr.srcIntn,er.tgtIntn=qr.tgtIntn,tt&&(Rt.isParent()||Rt.isChild()||Ot.isParent()||Ot.isChild())&&(Rt.parents().anySame(Ot)||Ot.parents().anySame(Rt)||Rt.same(Ot)&&Rt.isParent())?$.findCompoundLoopPoints(Kt,qr,ar,Ht):Rt===Ot?$.findLoopPoints(Kt,qr,ar,Ht):Ut==="segments"?$.findSegmentsPoints(Kt,qr):Ut==="taxi"?$.findTaxiPoints(Kt,qr):Ut==="straight"||!Ht&&_t.eles.length%2===1&&ar===Math.floor(_t.eles.length/2)?$.findStraightEdgePoints(Kt):$.findBezierPoints(Kt,qr,ar,Ht,Ft),$.findEndpoints(Kt),$.tryToCorrectInvalidPoints(Kt,qr),$.checkForInvalidEdgeWarning(Kt),$.storeAllpts(Kt),$.storeEdgeProjections(Kt),$.calculateArrowAngles(Kt),$.recalculateEdgeLabelProjections(Kt),$.calculateLabelAngles(Kt)}},xt=0;xt0){var Ht=rt,Ft=sqdist(Ht,array2point(_e)),Vt=sqdist(Ht,array2point(Ut)),Jt=Ft;if(Vt2){var or=sqdist(Ht,{x:Ut[2],y:Ut[3]});or0){var Sr=at,jr=sqdist(Sr,array2point(_e)),Dr=sqdist(Sr,array2point(ur)),Cr=jr;if(Dr2){var tn=sqdist(Sr,{x:ur[2],y:ur[3]});tn=ft||gt){vt={cp:dt,segment:Ct};break}}if(vt)break}var wt=vt.cp,_t=vt.segment,Et=(ft-ht)/_t.length,It=_t.t1-_t.t0,Tt=ut?_t.t0+It*Et:_t.t1-It*Et;Tt=bound(0,Tt,1),$=qbezierPtAt(wt.p0,wt.p1,wt.p2,Tt),ct=bezierAngle(wt.p0,wt.p1,wt.p2,Tt);break}case"straight":case"segments":case"haystack":{for(var Rt=0,Ot,Mt,Bt,Lt,jt=et.allpts.length,zt=0;zt+3=ft));zt+=2);var Nt=ft-Mt,Wt=Nt/Ot;Wt=bound(0,Wt,1),$=lineAt(Bt,Lt,Wt),ct=lineAngle(Bt,Lt);break}}at("labelX",lt,$.x),at("labelY",lt,$.y),at("labelAutoAngle",lt,ct)}};ot("source"),ot("target"),this.applyLabelDimensions(o)}};BRp$9.applyLabelDimensions=function(o){this.applyPrefixedLabelDimensions(o),o.isEdge()&&(this.applyPrefixedLabelDimensions(o,"source"),this.applyPrefixedLabelDimensions(o,"target"))};BRp$9.applyPrefixedLabelDimensions=function(o,$){var _e=o._private,et=this.getLabelText(o,$),tt=this.calculateLabelDimensions(o,et),rt=o.pstyle("line-height").pfValue,at=o.pstyle("text-wrap").strValue,nt=getPrefixedProperty(_e.rscratch,"labelWrapCachedLines",$)||[],it=at!=="wrap"?1:Math.max(nt.length,1),ot=tt.height/it,st=ot*rt,lt=tt.width,ct=tt.height+(it-1)*(rt-1)*ot;setPrefixedProperty(_e.rstyle,"labelWidth",$,lt),setPrefixedProperty(_e.rscratch,"labelWidth",$,lt),setPrefixedProperty(_e.rstyle,"labelHeight",$,ct),setPrefixedProperty(_e.rscratch,"labelHeight",$,ct),setPrefixedProperty(_e.rscratch,"labelLineHeight",$,st)};BRp$9.getLabelText=function(o,$){var _e=o._private,et=$?$+"-":"",tt=o.pstyle(et+"label").strValue,rt=o.pstyle("text-transform").value,at=function(Nt,Wt){return Wt?(setPrefixedProperty(_e.rscratch,Nt,$,Wt),Wt):getPrefixedProperty(_e.rscratch,Nt,$)};if(!tt)return"";rt=="none"||(rt=="uppercase"?tt=tt.toUpperCase():rt=="lowercase"&&(tt=tt.toLowerCase()));var nt=o.pstyle("text-wrap").value;if(nt==="wrap"){var it=at("labelKey");if(it!=null&&at("labelWrapKey")===it)return at("labelWrapCachedText");for(var ot="​",st=tt.split(` +`),lt=o.pstyle("text-max-width").pfValue,ct=o.pstyle("text-overflow-wrap").value,ut=ct==="anywhere",ft=[],At=/[\s\u200b]+/,vt=ut?"":" ",ht=0;htlt){for(var Ct=mt.split(At),gt="",wt=0;wtRt)break;Ot+=tt[Lt],Lt===tt.length-1&&(Bt=!0)}return Bt||(Ot+=Mt),Ot}return tt};BRp$9.getLabelJustification=function(o){var $=o.pstyle("text-justification").strValue,_e=o.pstyle("text-halign").strValue;if($==="auto")if(o.isNode())switch(_e){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return $};BRp$9.calculateLabelDimensions=function(o,$){var _e=this,et=hashString($,o._private.labelDimsKey),tt=_e.labelDimCache||(_e.labelDimCache=[]),rt=tt[et];if(rt!=null)return rt;var at=0,nt=o.pstyle("font-style").strValue,it=o.pstyle("font-size").pfValue,ot=o.pstyle("font-family").strValue,st=o.pstyle("font-weight").strValue,lt=this.labelCalcCanvas,ct=this.labelCalcCanvasContext;if(!lt){lt=this.labelCalcCanvas=document.createElement("canvas"),ct=this.labelCalcCanvasContext=lt.getContext("2d");var ut=lt.style;ut.position="absolute",ut.left="-9999px",ut.top="-9999px",ut.zIndex="-1",ut.visibility="hidden",ut.pointerEvents="none"}ct.font="".concat(nt," ").concat(st," ").concat(it,"px ").concat(ot);for(var ft=0,At=0,vt=$.split(` +`),ht=0;ht1&&arguments[1]!==void 0?arguments[1]:!0;if($.merge(at),nt)for(var it=0;it=o.desktopTapThreshold2}var no=et(ur);On&&(o.hoverData.tapholdCancelled=!0);var ho=function(){var po=o.hoverData.dragDelta=o.hoverData.dragDelta||[];po.length===0?(po.push(cn[0]),po.push(cn[1])):(po[0]+=cn[0],po[1]+=cn[1])};jr=!0,_e(gn,["mousemove","vmousemove","tapdrag"],ur,{x:Vr[0],y:Vr[1]});var Yo=function(){o.data.bgActivePosistion=void 0,o.hoverData.selecting||Dr.emit({originalEvent:ur,type:"boxstart",position:{x:Vr[0],y:Vr[1]}}),$n[4]=1,o.hoverData.selecting=!0,o.redrawHint("select",!0),o.redraw()};if(o.hoverData.which===3){if(On){var _o={originalEvent:ur,type:"cxtdrag",position:{x:Vr[0],y:Vr[1]}};kn?kn.emit(_o):Dr.emit(_o),o.hoverData.cxtDragged=!0,(!o.hoverData.cxtOver||gn!==o.hoverData.cxtOver)&&(o.hoverData.cxtOver&&o.hoverData.cxtOver.emit({originalEvent:ur,type:"cxtdragout",position:{x:Vr[0],y:Vr[1]}}),o.hoverData.cxtOver=gn,gn&&gn.emit({originalEvent:ur,type:"cxtdragover",position:{x:Vr[0],y:Vr[1]}}))}}else if(o.hoverData.dragging){if(jr=!0,Dr.panningEnabled()&&Dr.userPanningEnabled()){var Do;if(o.hoverData.justStartedPan){var An=o.hoverData.mdownPos;Do={x:(Vr[0]-An[0])*Cr,y:(Vr[1]-An[1])*Cr},o.hoverData.justStartedPan=!1}else Do={x:cn[0]*Cr,y:cn[1]*Cr};Dr.panBy(Do),Dr.emit("dragpan"),o.hoverData.dragged=!0}Vr=o.projectIntoViewport(ur.clientX,ur.clientY)}else if($n[4]==1&&(kn==null||kn.pannable())){if(On){if(!o.hoverData.dragging&&Dr.boxSelectionEnabled()&&(no||!Dr.panningEnabled()||!Dr.userPanningEnabled()))Yo();else if(!o.hoverData.selecting&&Dr.panningEnabled()&&Dr.userPanningEnabled()){var r0=tt(kn,o.hoverData.downs);r0&&(o.hoverData.dragging=!0,o.hoverData.justStartedPan=!0,$n[4]=0,o.data.bgActivePosistion=array2point(Kr),o.redrawHint("select",!0),o.redraw())}kn&&kn.pannable()&&kn.active()&&kn.unactivate()}}else{if(kn&&kn.pannable()&&kn.active()&&kn.unactivate(),(!kn||!kn.grabbed())&&gn!=Nn&&(Nn&&_e(Nn,["mouseout","tapdragout"],ur,{x:Vr[0],y:Vr[1]}),gn&&_e(gn,["mouseover","tapdragover"],ur,{x:Vr[0],y:Vr[1]}),o.hoverData.last=gn),kn)if(On){if(Dr.boxSelectionEnabled()&&no)kn&&kn.grabbed()&&(At(s0),kn.emit("freeon"),s0.emit("free"),o.dragData.didDrag&&(kn.emit("dragfreeon"),s0.emit("dragfree"))),Yo();else if(kn&&kn.grabbed()&&o.nodeIsDraggable(kn)){var vn=!o.dragData.didDrag;vn&&o.redrawHint("eles",!0),o.dragData.didDrag=!0,o.hoverData.draggingEles||ut(s0,{inDragLayer:!0});var _0={x:0,y:0};if(number$1$1(cn[0])&&number$1$1(cn[1])&&(_0.x+=cn[0],_0.y+=cn[1],vn)){var xn=o.hoverData.dragDelta;xn&&number$1$1(xn[0])&&number$1$1(xn[1])&&(_0.x+=xn[0],_0.y+=xn[1])}o.hoverData.draggingEles=!0,s0.silentShift(_0).emit("position drag"),o.redrawHint("drag",!0),o.redraw()}}else ho();jr=!0}if($n[2]=Vr[0],$n[3]=Vr[1],jr)return ur.stopPropagation&&ur.stopPropagation(),ur.preventDefault&&ur.preventDefault(),!1}},!1);var _t,Et,It;o.registerBinding(window,"mouseup",function(ur){var Sr=o.hoverData.capture;if(Sr){o.hoverData.capture=!1;var jr=o.cy,Dr=o.projectIntoViewport(ur.clientX,ur.clientY),Cr=o.selection,tn=o.findNearestElement(Dr[0],Dr[1],!0,!1),Vr=o.dragData.possibleDragElements,Kr=o.hoverData.down,_n=et(ur);if(o.data.bgActivePosistion&&(o.redrawHint("select",!0),o.redraw()),o.hoverData.tapholdCancelled=!0,o.data.bgActivePosistion=void 0,Kr&&Kr.unactivate(),o.hoverData.which===3){var $n={originalEvent:ur,type:"cxttapend",position:{x:Dr[0],y:Dr[1]}};if(Kr?Kr.emit($n):jr.emit($n),!o.hoverData.cxtDragged){var gn={originalEvent:ur,type:"cxttap",position:{x:Dr[0],y:Dr[1]}};Kr?Kr.emit(gn):jr.emit(gn)}o.hoverData.cxtDragged=!1,o.hoverData.which=null}else if(o.hoverData.which===1){if(_e(tn,["mouseup","tapend","vmouseup"],ur,{x:Dr[0],y:Dr[1]}),!o.dragData.didDrag&&!o.hoverData.dragged&&!o.hoverData.selecting&&!o.hoverData.isOverThresholdDrag&&(_e(Kr,["click","tap","vclick"],ur,{x:Dr[0],y:Dr[1]}),Et=!1,ur.timeStamp-It<=jr.multiClickDebounceTime()?(_t&&clearTimeout(_t),Et=!0,It=null,_e(Kr,["dblclick","dbltap","vdblclick"],ur,{x:Dr[0],y:Dr[1]})):(_t=setTimeout(function(){Et||_e(Kr,["oneclick","onetap","voneclick"],ur,{x:Dr[0],y:Dr[1]})},jr.multiClickDebounceTime()),It=ur.timeStamp)),Kr==null&&!o.dragData.didDrag&&!o.hoverData.selecting&&!o.hoverData.dragged&&!et(ur)&&(jr.$($).unselect(["tapunselect"]),Vr.length>0&&o.redrawHint("eles",!0),o.dragData.possibleDragElements=Vr=jr.collection()),tn==Kr&&!o.dragData.didDrag&&!o.hoverData.selecting&&tn!=null&&tn._private.selectable&&(o.hoverData.dragging||(jr.selectionType()==="additive"||_n?tn.selected()?tn.unselect(["tapunselect"]):tn.select(["tapselect"]):_n||(jr.$($).unmerge(tn).unselect(["tapunselect"]),tn.select(["tapselect"]))),o.redrawHint("eles",!0)),o.hoverData.selecting){var Nn=jr.collection(o.getAllInBox(Cr[0],Cr[1],Cr[2],Cr[3]));o.redrawHint("select",!0),Nn.length>0&&o.redrawHint("eles",!0),jr.emit({type:"boxend",originalEvent:ur,position:{x:Dr[0],y:Dr[1]}});var kn=function(On){return On.selectable()&&!On.selected()};jr.selectionType()==="additive"||_n||jr.$($).unmerge(Nn).unselect(),Nn.emit("box").stdFilter(kn).select().emit("boxselect"),o.redraw()}if(o.hoverData.dragging&&(o.hoverData.dragging=!1,o.redrawHint("select",!0),o.redrawHint("eles",!0),o.redraw()),!Cr[4]){o.redrawHint("drag",!0),o.redrawHint("eles",!0);var cn=Kr&&Kr.grabbed();At(Vr),cn&&(Kr.emit("freeon"),Vr.emit("free"),o.dragData.didDrag&&(Kr.emit("dragfreeon"),Vr.emit("dragfree")))}}Cr[4]=0,o.hoverData.down=null,o.hoverData.cxtStarted=!1,o.hoverData.draggingEles=!1,o.hoverData.selecting=!1,o.hoverData.isOverThresholdDrag=!1,o.dragData.didDrag=!1,o.hoverData.dragged=!1,o.hoverData.dragDelta=[],o.hoverData.mdownPos=null,o.hoverData.mdownGPos=null}},!1);var Tt=function(ur){if(!o.scrollingPage){var Sr=o.cy,jr=Sr.zoom(),Dr=Sr.pan(),Cr=o.projectIntoViewport(ur.clientX,ur.clientY),tn=[Cr[0]*jr+Dr.x,Cr[1]*jr+Dr.y];if(o.hoverData.draggingEles||o.hoverData.dragging||o.hoverData.cxtStarted||gt()){ur.preventDefault();return}if(Sr.panningEnabled()&&Sr.userPanningEnabled()&&Sr.zoomingEnabled()&&Sr.userZoomingEnabled()){ur.preventDefault(),o.data.wheelZooming=!0,clearTimeout(o.data.wheelTimeout),o.data.wheelTimeout=setTimeout(function(){o.data.wheelZooming=!1,o.redrawHint("eles",!0),o.redraw()},150);var Vr;ur.deltaY!=null?Vr=ur.deltaY/-250:ur.wheelDeltaY!=null?Vr=ur.wheelDeltaY/1e3:Vr=ur.wheelDelta/1e3,Vr=Vr*o.wheelSensitivity;var Kr=ur.deltaMode===1;Kr&&(Vr*=33);var _n=Sr.zoom()*Math.pow(10,Vr);ur.type==="gesturechange"&&(_n=o.gestureStartZoom*ur.scale),Sr.zoom({level:_n,renderedPosition:{x:tn[0],y:tn[1]}}),Sr.emit(ur.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};o.registerBinding(o.container,"wheel",Tt,!0),o.registerBinding(window,"scroll",function(ur){o.scrollingPage=!0,clearTimeout(o.scrollingPageTimeout),o.scrollingPageTimeout=setTimeout(function(){o.scrollingPage=!1},250)},!0),o.registerBinding(o.container,"gesturestart",function(ur){o.gestureStartZoom=o.cy.zoom(),o.hasTouchStarted||ur.preventDefault()},!0),o.registerBinding(o.container,"gesturechange",function(Pr){o.hasTouchStarted||Tt(Pr)},!0),o.registerBinding(o.container,"mouseout",function(ur){var Sr=o.projectIntoViewport(ur.clientX,ur.clientY);o.cy.emit({originalEvent:ur,type:"mouseout",position:{x:Sr[0],y:Sr[1]}})},!1),o.registerBinding(o.container,"mouseover",function(ur){var Sr=o.projectIntoViewport(ur.clientX,ur.clientY);o.cy.emit({originalEvent:ur,type:"mouseover",position:{x:Sr[0],y:Sr[1]}})},!1);var Rt,Ot,Mt,Bt,Lt,jt,zt,Nt,Wt,qt,nr,ar,Kt,er=function(ur,Sr,jr,Dr){return Math.sqrt((jr-ur)*(jr-ur)+(Dr-Sr)*(Dr-Sr))},Ut=function(ur,Sr,jr,Dr){return(jr-ur)*(jr-ur)+(Dr-Sr)*(Dr-Sr)},Ht;o.registerBinding(o.container,"touchstart",Ht=function(ur){if(o.hasTouchStarted=!0,!!wt(ur)){ht(),o.touchData.capture=!0,o.data.bgActivePosistion=void 0;var Sr=o.cy,jr=o.touchData.now,Dr=o.touchData.earlier;if(ur.touches[0]){var Cr=o.projectIntoViewport(ur.touches[0].clientX,ur.touches[0].clientY);jr[0]=Cr[0],jr[1]=Cr[1]}if(ur.touches[1]){var Cr=o.projectIntoViewport(ur.touches[1].clientX,ur.touches[1].clientY);jr[2]=Cr[0],jr[3]=Cr[1]}if(ur.touches[2]){var Cr=o.projectIntoViewport(ur.touches[2].clientX,ur.touches[2].clientY);jr[4]=Cr[0],jr[5]=Cr[1]}if(ur.touches[1]){o.touchData.singleTouchMoved=!0,At(o.dragData.touchDragEles);var tn=o.findContainerClientCoords();Wt=tn[0],qt=tn[1],nr=tn[2],ar=tn[3],Rt=ur.touches[0].clientX-Wt,Ot=ur.touches[0].clientY-qt,Mt=ur.touches[1].clientX-Wt,Bt=ur.touches[1].clientY-qt,Kt=0<=Rt&&Rt<=nr&&0<=Mt&&Mt<=nr&&0<=Ot&&Ot<=ar&&0<=Bt&&Bt<=ar;var Vr=Sr.pan(),Kr=Sr.zoom();Lt=er(Rt,Ot,Mt,Bt),jt=Ut(Rt,Ot,Mt,Bt),zt=[(Rt+Mt)/2,(Ot+Bt)/2],Nt=[(zt[0]-Vr.x)/Kr,(zt[1]-Vr.y)/Kr];var _n=200,$n=_n*_n;if(jt<$n&&!ur.touches[2]){var gn=o.findNearestElement(jr[0],jr[1],!0,!0),Nn=o.findNearestElement(jr[2],jr[3],!0,!0);gn&&gn.isNode()?(gn.activate().emit({originalEvent:ur,type:"cxttapstart",position:{x:jr[0],y:jr[1]}}),o.touchData.start=gn):Nn&&Nn.isNode()?(Nn.activate().emit({originalEvent:ur,type:"cxttapstart",position:{x:jr[0],y:jr[1]}}),o.touchData.start=Nn):Sr.emit({originalEvent:ur,type:"cxttapstart",position:{x:jr[0],y:jr[1]}}),o.touchData.start&&(o.touchData.start._private.grabbed=!1),o.touchData.cxt=!0,o.touchData.cxtDragged=!1,o.data.bgActivePosistion=void 0,o.redraw();return}}if(ur.touches[2])Sr.boxSelectionEnabled()&&ur.preventDefault();else if(!ur.touches[1]){if(ur.touches[0]){var kn=o.findNearestElements(jr[0],jr[1],!0,!0),cn=kn[0];if(cn!=null&&(cn.activate(),o.touchData.start=cn,o.touchData.starts=kn,o.nodeIsGrabbable(cn))){var s0=o.dragData.touchDragEles=Sr.collection(),On=null;o.redrawHint("eles",!0),o.redrawHint("drag",!0),cn.selected()?(On=Sr.$(function(e0){return e0.selected()&&o.nodeIsGrabbable(e0)}),ut(On,{addToList:s0})):ft(cn,{addToList:s0}),ot(cn);var rn=function(no){return{originalEvent:ur,type:no,position:{x:jr[0],y:jr[1]}}};cn.emit(rn("grabon")),On?On.forEach(function(e0){e0.emit(rn("grab"))}):cn.emit(rn("grab"))}_e(cn,["touchstart","tapstart","vmousedown"],ur,{x:jr[0],y:jr[1]}),cn==null&&(o.data.bgActivePosistion={x:Cr[0],y:Cr[1]},o.redrawHint("select",!0),o.redraw()),o.touchData.singleTouchMoved=!1,o.touchData.singleTouchStartTime=+new Date,clearTimeout(o.touchData.tapholdTimeout),o.touchData.tapholdTimeout=setTimeout(function(){o.touchData.singleTouchMoved===!1&&!o.pinching&&!o.touchData.selecting&&_e(o.touchData.start,["taphold"],ur,{x:jr[0],y:jr[1]})},o.tapholdDuration)}}if(ur.touches.length>=1){for(var l0=o.touchData.startPosition=[],_a=0;_a=o.touchTapThreshold2}if(Sr&&o.touchData.cxt){ur.preventDefault();var l0=ur.touches[0].clientX-Wt,_a=ur.touches[0].clientY-qt,Ao=ur.touches[1].clientX-Wt,e0=ur.touches[1].clientY-qt,no=Ut(l0,_a,Ao,e0),ho=no/jt,Yo=150,_o=Yo*Yo,Do=1.5,An=Do*Do;if(ho>=An||no>=_o){o.touchData.cxt=!1,o.data.bgActivePosistion=void 0,o.redrawHint("select",!0);var r0={originalEvent:ur,type:"cxttapend",position:{x:Cr[0],y:Cr[1]}};o.touchData.start?(o.touchData.start.unactivate().emit(r0),o.touchData.start=null):Dr.emit(r0)}}if(Sr&&o.touchData.cxt){var r0={originalEvent:ur,type:"cxtdrag",position:{x:Cr[0],y:Cr[1]}};o.data.bgActivePosistion=void 0,o.redrawHint("select",!0),o.touchData.start?o.touchData.start.emit(r0):Dr.emit(r0),o.touchData.start&&(o.touchData.start._private.grabbed=!1),o.touchData.cxtDragged=!0;var vn=o.findNearestElement(Cr[0],Cr[1],!0,!0);(!o.touchData.cxtOver||vn!==o.touchData.cxtOver)&&(o.touchData.cxtOver&&o.touchData.cxtOver.emit({originalEvent:ur,type:"cxtdragout",position:{x:Cr[0],y:Cr[1]}}),o.touchData.cxtOver=vn,vn&&vn.emit({originalEvent:ur,type:"cxtdragover",position:{x:Cr[0],y:Cr[1]}}))}else if(Sr&&ur.touches[2]&&Dr.boxSelectionEnabled())ur.preventDefault(),o.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,o.touchData.selecting||Dr.emit({originalEvent:ur,type:"boxstart",position:{x:Cr[0],y:Cr[1]}}),o.touchData.selecting=!0,o.touchData.didSelect=!0,jr[4]=1,!jr||jr.length===0||jr[0]===void 0?(jr[0]=(Cr[0]+Cr[2]+Cr[4])/3,jr[1]=(Cr[1]+Cr[3]+Cr[5])/3,jr[2]=(Cr[0]+Cr[2]+Cr[4])/3+1,jr[3]=(Cr[1]+Cr[3]+Cr[5])/3+1):(jr[2]=(Cr[0]+Cr[2]+Cr[4])/3,jr[3]=(Cr[1]+Cr[3]+Cr[5])/3),o.redrawHint("select",!0),o.redraw();else if(Sr&&ur.touches[1]&&!o.touchData.didSelect&&Dr.zoomingEnabled()&&Dr.panningEnabled()&&Dr.userZoomingEnabled()&&Dr.userPanningEnabled()){ur.preventDefault(),o.data.bgActivePosistion=void 0,o.redrawHint("select",!0);var _0=o.dragData.touchDragEles;if(_0){o.redrawHint("drag",!0);for(var xn=0;xn<_0.length;xn++){var W0=_0[xn]._private;W0.grabbed=!1,W0.rscratch.inDragLayer=!1}}var po=o.touchData.start,l0=ur.touches[0].clientX-Wt,_a=ur.touches[0].clientY-qt,Ao=ur.touches[1].clientX-Wt,e0=ur.touches[1].clientY-qt,Uo=er(l0,_a,Ao,e0),bs=Uo/Lt;if(Kt){var a0=l0-Rt,so=_a-Ot,Ts=Ao-Mt,Bn=e0-Bt,Cn=(a0+Ts)/2,gs=(so+Bn)/2,So=Dr.zoom(),Qo=So*bs,B0=Dr.pan(),Il=Nt[0]*So+B0.x,P0=Nt[1]*So+B0.y,Ss={x:-Qo/So*(Il-B0.x-Cn)+Il,y:-Qo/So*(P0-B0.y-gs)+P0};if(po&&po.active()){var _0=o.dragData.touchDragEles;At(_0),o.redrawHint("drag",!0),o.redrawHint("eles",!0),po.unactivate().emit("freeon"),_0.emit("free"),o.dragData.didDrag&&(po.emit("dragfreeon"),_0.emit("dragfree"))}Dr.viewport({zoom:Qo,pan:Ss,cancelOnFailedZoom:!0}),Dr.emit("pinchzoom"),Lt=Uo,Rt=l0,Ot=_a,Mt=Ao,Bt=e0,o.pinching=!0}if(ur.touches[0]){var Kr=o.projectIntoViewport(ur.touches[0].clientX,ur.touches[0].clientY);Cr[0]=Kr[0],Cr[1]=Kr[1]}if(ur.touches[1]){var Kr=o.projectIntoViewport(ur.touches[1].clientX,ur.touches[1].clientY);Cr[2]=Kr[0],Cr[3]=Kr[1]}if(ur.touches[2]){var Kr=o.projectIntoViewport(ur.touches[2].clientX,ur.touches[2].clientY);Cr[4]=Kr[0],Cr[5]=Kr[1]}}else if(ur.touches[0]&&!o.touchData.didSelect){var j0=o.touchData.start,ls=o.touchData.last,vn;if(!o.hoverData.draggingEles&&!o.swipePanning&&(vn=o.findNearestElement(Cr[0],Cr[1],!0,!0)),Sr&&j0!=null&&ur.preventDefault(),Sr&&j0!=null&&o.nodeIsDraggable(j0))if($n){var _0=o.dragData.touchDragEles,yo=!o.dragData.didDrag;yo&&ut(_0,{inDragLayer:!0}),o.dragData.didDrag=!0;var vo={x:0,y:0};if(number$1$1(gn[0])&&number$1$1(gn[1])&&(vo.x+=gn[0],vo.y+=gn[1],yo)){o.redrawHint("eles",!0);var c0=o.touchData.dragDelta;c0&&number$1$1(c0[0])&&number$1$1(c0[1])&&(vo.x+=c0[0],vo.y+=c0[1])}o.hoverData.draggingEles=!0,_0.silentShift(vo).emit("position drag"),o.redrawHint("drag",!0),o.touchData.startPosition[0]==tn[0]&&o.touchData.startPosition[1]==tn[1]&&o.redrawHint("eles",!0),o.redraw()}else{var c0=o.touchData.dragDelta=o.touchData.dragDelta||[];c0.length===0?(c0.push(gn[0]),c0.push(gn[1])):(c0[0]+=gn[0],c0[1]+=gn[1])}if(_e(j0||vn,["touchmove","tapdrag","vmousemove"],ur,{x:Cr[0],y:Cr[1]}),(!j0||!j0.grabbed())&&vn!=ls&&(ls&&ls.emit({originalEvent:ur,type:"tapdragout",position:{x:Cr[0],y:Cr[1]}}),vn&&vn.emit({originalEvent:ur,type:"tapdragover",position:{x:Cr[0],y:Cr[1]}})),o.touchData.last=vn,Sr)for(var xn=0;xn0&&!o.hoverData.draggingEles&&!o.swipePanning&&o.data.bgActivePosistion!=null&&(o.data.bgActivePosistion=void 0,o.redrawHint("select",!0),o.redraw())}},!1);var Vt;o.registerBinding(window,"touchcancel",Vt=function(ur){var Sr=o.touchData.start;o.touchData.capture=!1,Sr&&Sr.unactivate()});var Jt,or,Ar,hr;if(o.registerBinding(window,"touchend",Jt=function(ur){var Sr=o.touchData.start,jr=o.touchData.capture;if(jr)ur.touches.length===0&&(o.touchData.capture=!1),ur.preventDefault();else return;var Dr=o.selection;o.swipePanning=!1,o.hoverData.draggingEles=!1;var Cr=o.cy,tn=Cr.zoom(),Vr=o.touchData.now,Kr=o.touchData.earlier;if(ur.touches[0]){var _n=o.projectIntoViewport(ur.touches[0].clientX,ur.touches[0].clientY);Vr[0]=_n[0],Vr[1]=_n[1]}if(ur.touches[1]){var _n=o.projectIntoViewport(ur.touches[1].clientX,ur.touches[1].clientY);Vr[2]=_n[0],Vr[3]=_n[1]}if(ur.touches[2]){var _n=o.projectIntoViewport(ur.touches[2].clientX,ur.touches[2].clientY);Vr[4]=_n[0],Vr[5]=_n[1]}Sr&&Sr.unactivate();var $n;if(o.touchData.cxt){if($n={originalEvent:ur,type:"cxttapend",position:{x:Vr[0],y:Vr[1]}},Sr?Sr.emit($n):Cr.emit($n),!o.touchData.cxtDragged){var gn={originalEvent:ur,type:"cxttap",position:{x:Vr[0],y:Vr[1]}};Sr?Sr.emit(gn):Cr.emit(gn)}o.touchData.start&&(o.touchData.start._private.grabbed=!1),o.touchData.cxt=!1,o.touchData.start=null,o.redraw();return}if(!ur.touches[2]&&Cr.boxSelectionEnabled()&&o.touchData.selecting){o.touchData.selecting=!1;var Nn=Cr.collection(o.getAllInBox(Dr[0],Dr[1],Dr[2],Dr[3]));Dr[0]=void 0,Dr[1]=void 0,Dr[2]=void 0,Dr[3]=void 0,Dr[4]=0,o.redrawHint("select",!0),Cr.emit({type:"boxend",originalEvent:ur,position:{x:Vr[0],y:Vr[1]}});var kn=function(_o){return _o.selectable()&&!_o.selected()};Nn.emit("box").stdFilter(kn).select().emit("boxselect"),Nn.nonempty()&&o.redrawHint("eles",!0),o.redraw()}if(Sr!=null&&Sr.unactivate(),ur.touches[2])o.data.bgActivePosistion=void 0,o.redrawHint("select",!0);else if(!ur.touches[1]){if(!ur.touches[0]){if(!ur.touches[0]){o.data.bgActivePosistion=void 0,o.redrawHint("select",!0);var cn=o.dragData.touchDragEles;if(Sr!=null){var s0=Sr._private.grabbed;At(cn),o.redrawHint("drag",!0),o.redrawHint("eles",!0),s0&&(Sr.emit("freeon"),cn.emit("free"),o.dragData.didDrag&&(Sr.emit("dragfreeon"),cn.emit("dragfree"))),_e(Sr,["touchend","tapend","vmouseup","tapdragout"],ur,{x:Vr[0],y:Vr[1]}),Sr.unactivate(),o.touchData.start=null}else{var On=o.findNearestElement(Vr[0],Vr[1],!0,!0);_e(On,["touchend","tapend","vmouseup","tapdragout"],ur,{x:Vr[0],y:Vr[1]})}var rn=o.touchData.startPosition[0]-Vr[0],l0=rn*rn,_a=o.touchData.startPosition[1]-Vr[1],Ao=_a*_a,e0=l0+Ao,no=e0*tn*tn;o.touchData.singleTouchMoved||(Sr||Cr.$(":selected").unselect(["tapunselect"]),_e(Sr,["tap","vclick"],ur,{x:Vr[0],y:Vr[1]}),or=!1,ur.timeStamp-hr<=Cr.multiClickDebounceTime()?(Ar&&clearTimeout(Ar),or=!0,hr=null,_e(Sr,["dbltap","vdblclick"],ur,{x:Vr[0],y:Vr[1]})):(Ar=setTimeout(function(){or||_e(Sr,["onetap","voneclick"],ur,{x:Vr[0],y:Vr[1]})},Cr.multiClickDebounceTime()),hr=ur.timeStamp)),Sr!=null&&!o.dragData.didDrag&&Sr._private.selectable&&no"u"){var vr=[],Er=function(ur){return{clientX:ur.clientX,clientY:ur.clientY,force:1,identifier:ur.pointerId,pageX:ur.pageX,pageY:ur.pageY,radiusX:ur.width/2,radiusY:ur.height/2,screenX:ur.screenX,screenY:ur.screenY,target:ur.target}},mr=function(ur){return{event:ur,touch:Er(ur)}},Or=function(ur){vr.push(mr(ur))},Lr=function(ur){for(var Sr=0;Sr0)return Wt[0]}return null},ut=Object.keys(lt),ft=0;ft0?ct:roundRectangleIntersectLine(rt,at,$,_e,et,tt,nt)},checkPoint:function($,_e,et,tt,rt,at,nt){var it=getRoundRectangleRadius(tt,rt),ot=2*it;if(pointInsidePolygon($,_e,this.points,at,nt,tt,rt-ot,[0,-1],et)||pointInsidePolygon($,_e,this.points,at,nt,tt-ot,rt,[0,-1],et))return!0;var st=tt/2+2*et,lt=rt/2+2*et,ct=[at-st,nt-lt,at-st,nt,at+st,nt,at+st,nt-lt];return!!(pointInsidePolygonPoints($,_e,ct)||checkInEllipse($,_e,ot,ot,at+tt/2-it,nt+rt/2-it,et)||checkInEllipse($,_e,ot,ot,at-tt/2+it,nt+rt/2-it,et))}}};BRp$2.registerNodeShapes=function(){var o=this.nodeShapes={},$=this;this.generateEllipse(),this.generatePolygon("triangle",generateUnitNgonPointsFitToSquare(3,0)),this.generateRoundPolygon("round-triangle",generateUnitNgonPointsFitToSquare(3,0)),this.generatePolygon("rectangle",generateUnitNgonPointsFitToSquare(4,0)),o.square=o.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var _e=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",_e),this.generateRoundPolygon("round-diamond",_e)}this.generatePolygon("pentagon",generateUnitNgonPointsFitToSquare(5,0)),this.generateRoundPolygon("round-pentagon",generateUnitNgonPointsFitToSquare(5,0)),this.generatePolygon("hexagon",generateUnitNgonPointsFitToSquare(6,0)),this.generateRoundPolygon("round-hexagon",generateUnitNgonPointsFitToSquare(6,0)),this.generatePolygon("heptagon",generateUnitNgonPointsFitToSquare(7,0)),this.generateRoundPolygon("round-heptagon",generateUnitNgonPointsFitToSquare(7,0)),this.generatePolygon("octagon",generateUnitNgonPointsFitToSquare(8,0)),this.generateRoundPolygon("round-octagon",generateUnitNgonPointsFitToSquare(8,0));var et=new Array(20);{var tt=generateUnitNgonPoints(5,0),rt=generateUnitNgonPoints(5,Math.PI/5),at=.5*(3-Math.sqrt(5));at*=1.57;for(var nt=0;nt=$.deqFastCost*dt)break}else if(ot){if(mt>=$.deqCost*ut||mt>=$.deqAvgCost*ct)break}else if(bt>=$.deqNoDrawCost*fullFpsTime)break;var xt=$.deq(et,vt,At);if(xt.length>0)for(var Ct=0;Ct0&&($.onDeqd(et,ft),!ot&&$.shouldRedraw(et,ft,vt,At)&&rt())},nt=$.priority||noop$1$1;tt.beforeRender(at,nt(et))}}}},ElementTextureCacheLookup=function(){function o($){var _e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:falsify;_classCallCheck$1v(this,o),this.idsByKey=new Map$1$1,this.keyForId=new Map$1$1,this.cachesByLvl=new Map$1$1,this.lvls=[],this.getKey=$,this.doesEleInvalidateKey=_e}return _createClass$1q(o,[{key:"getIdsFor",value:function(_e){_e==null&&error("Can not get id list for null key");var et=this.idsByKey,tt=this.idsByKey.get(_e);return tt||(tt=new Set$1$1,et.set(_e,tt)),tt}},{key:"addIdForKey",value:function(_e,et){_e!=null&&this.getIdsFor(_e).add(et)}},{key:"deleteIdForKey",value:function(_e,et){_e!=null&&this.getIdsFor(_e).delete(et)}},{key:"getNumberOfIdsForKey",value:function(_e){return _e==null?0:this.getIdsFor(_e).size}},{key:"updateKeyMappingFor",value:function(_e){var et=_e.id(),tt=this.keyForId.get(et),rt=this.getKey(_e);this.deleteIdForKey(tt,et),this.addIdForKey(rt,et),this.keyForId.set(et,rt)}},{key:"deleteKeyMappingFor",value:function(_e){var et=_e.id(),tt=this.keyForId.get(et);this.deleteIdForKey(tt,et),this.keyForId.delete(et)}},{key:"keyHasChangedFor",value:function(_e){var et=_e.id(),tt=this.keyForId.get(et),rt=this.getKey(_e);return tt!==rt}},{key:"isInvalid",value:function(_e){return this.keyHasChangedFor(_e)||this.doesEleInvalidateKey(_e)}},{key:"getCachesAt",value:function(_e){var et=this.cachesByLvl,tt=this.lvls,rt=et.get(_e);return rt||(rt=new Map$1$1,et.set(_e,rt),tt.push(_e)),rt}},{key:"getCache",value:function(_e,et){return this.getCachesAt(et).get(_e)}},{key:"get",value:function(_e,et){var tt=this.getKey(_e),rt=this.getCache(tt,et);return rt!=null&&this.updateKeyMappingFor(_e),rt}},{key:"getForCachedKey",value:function(_e,et){var tt=this.keyForId.get(_e.id()),rt=this.getCache(tt,et);return rt}},{key:"hasCache",value:function(_e,et){return this.getCachesAt(et).has(_e)}},{key:"has",value:function(_e,et){var tt=this.getKey(_e);return this.hasCache(tt,et)}},{key:"setCache",value:function(_e,et,tt){tt.key=_e,this.getCachesAt(et).set(_e,tt)}},{key:"set",value:function(_e,et,tt){var rt=this.getKey(_e);this.setCache(rt,et,tt),this.updateKeyMappingFor(_e)}},{key:"deleteCache",value:function(_e,et){this.getCachesAt(et).delete(_e)}},{key:"delete",value:function(_e,et){var tt=this.getKey(_e);this.deleteCache(tt,et)}},{key:"invalidateKey",value:function(_e){var et=this;this.lvls.forEach(function(tt){return et.deleteCache(_e,tt)})}},{key:"invalidate",value:function(_e){var et=_e.id(),tt=this.keyForId.get(et);this.deleteKeyMappingFor(_e);var rt=this.doesEleInvalidateKey(_e);return rt&&this.invalidateKey(tt),rt||this.getNumberOfIdsForKey(tt)===0}}]),o}(),minTxrH=25,txrStepH=50,minLvl$1=-4,maxLvl$1=3,maxZoom$1=7.99,eleTxrSpacing=8,defTxrWidth=1024,maxTxrW=1024,maxTxrH=1024,minUtility=.2,maxFullness=.8,maxFullnessChecks=10,deqCost$1=.15,deqAvgCost$1=.1,deqNoDrawCost$1=.9,deqFastCost$1=.9,deqRedrawThreshold$1=100,maxDeqSize$1=1,getTxrReasons={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},initDefaults=defaults$g({getKey:null,doesEleInvalidateKey:falsify,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:trueify,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ElementTextureCache=function($,_e){var et=this;et.renderer=$,et.onDequeues=[];var tt=initDefaults(_e);extend$3(et,tt),et.lookup=new ElementTextureCacheLookup(tt.getKey,tt.doesEleInvalidateKey),et.setupDequeueing()},ETCp=ElementTextureCache.prototype;ETCp.reasons=getTxrReasons;ETCp.getTextureQueue=function(o){var $=this;return $.eleImgCaches=$.eleImgCaches||{},$.eleImgCaches[o]=$.eleImgCaches[o]||[]};ETCp.getRetiredTextureQueue=function(o){var $=this,_e=$.eleImgCaches.retired=$.eleImgCaches.retired||{},et=_e[o]=_e[o]||[];return et};ETCp.getElementQueue=function(){var o=this,$=o.eleCacheQueue=o.eleCacheQueue||new Heap__default.default(function(_e,et){return et.reqs-_e.reqs});return $};ETCp.getElementKeyToQueue=function(){var o=this,$=o.eleKeyToCacheQueue=o.eleKeyToCacheQueue||{};return $};ETCp.getElement=function(o,$,_e,et,tt){var rt=this,at=this.renderer,nt=at.cy.zoom(),it=this.lookup;if(!$||$.w===0||$.h===0||isNaN($.w)||isNaN($.h)||!o.visible()||o.removed()||!rt.allowEdgeTxrCaching&&o.isEdge()||!rt.allowParentTxrCaching&&o.isParent())return null;if(et==null&&(et=Math.ceil(log2(nt*_e))),et=maxZoom$1||et>maxLvl$1)return null;var ot=Math.pow(2,et),st=$.h*ot,lt=$.w*ot,ct=at.eleTextBiggerThanMin(o,ot);if(!this.isVisible(o,ct))return null;var ut=it.get(o,et);if(ut&&ut.invalidated&&(ut.invalidated=!1,ut.texture.invalidatedWidth-=ut.width),ut)return ut;var ft;if(st<=minTxrH?ft=minTxrH:st<=txrStepH?ft=txrStepH:ft=Math.ceil(st/txrStepH)*txrStepH,st>maxTxrH||lt>maxTxrW)return null;var At=rt.getTextureQueue(ft),vt=At[At.length-2],ht=function(){return rt.recycleTexture(ft,lt)||rt.addTexture(ft,lt)};vt||(vt=At[At.length-1]),vt||(vt=ht()),vt.width-vt.usedWidthet;It--)_t=rt.getElement(o,$,_e,It,getTxrReasons.downscale);Et()}else return rt.queueElement(o,Ct.level-1),Ct;else{var Tt;if(!bt&&!dt&&!xt)for(var Rt=et-1;Rt>=minLvl$1;Rt--){var Ot=it.get(o,Rt);if(Ot){Tt=Ot;break}}if(mt(Tt))return rt.queueElement(o,et),Tt;vt.context.translate(vt.usedWidth,0),vt.context.scale(ot,ot),this.drawElement(vt.context,o,$,ct,!1),vt.context.scale(1/ot,1/ot),vt.context.translate(-vt.usedWidth,0)}return ut={x:vt.usedWidth,texture:vt,level:et,scale:ot,width:lt,height:st,scaledLabelShown:ct},vt.usedWidth+=Math.ceil(lt+eleTxrSpacing),vt.eleCaches.push(ut),it.set(o,et,ut),rt.checkTextureFullness(vt),ut};ETCp.invalidateElements=function(o){for(var $=0;$=minUtility*o.width&&this.retireTexture(o)};ETCp.checkTextureFullness=function(o){var $=this,_e=$.getTextureQueue(o.height);o.usedWidth/o.width>maxFullness&&o.fullnessChecks>=maxFullnessChecks?removeFromArray(_e,o):o.fullnessChecks++};ETCp.retireTexture=function(o){var $=this,_e=o.height,et=$.getTextureQueue(_e),tt=this.lookup;removeFromArray(et,o),o.retired=!0;for(var rt=o.eleCaches,at=0;at=$)return at.retired=!1,at.usedWidth=0,at.invalidatedWidth=0,at.fullnessChecks=0,clearArray(at.eleCaches),at.context.setTransform(1,0,0,1,0,0),at.context.clearRect(0,0,at.width,at.height),removeFromArray(tt,at),et.push(at),at}};ETCp.queueElement=function(o,$){var _e=this,et=_e.getElementQueue(),tt=_e.getElementKeyToQueue(),rt=this.getKey(o),at=tt[rt];if(at)at.level=Math.max(at.level,$),at.eles.merge(o),at.reqs++,et.updateItem(at);else{var nt={eles:o.spawn().merge(o),level:$,reqs:1,key:rt};et.push(nt),tt[rt]=nt}};ETCp.dequeue=function(o){for(var $=this,_e=$.getElementQueue(),et=$.getElementKeyToQueue(),tt=[],rt=$.lookup,at=0;at0;at++){var nt=_e.pop(),it=nt.key,ot=nt.eles[0],st=rt.hasCache(ot,nt.level);if(et[it]=null,st)continue;tt.push(nt);var lt=$.getBoundingBox(ot);$.getElement(ot,lt,o,nt.level,getTxrReasons.dequeue)}return tt};ETCp.removeFromQueue=function(o){var $=this,_e=$.getElementQueue(),et=$.getElementKeyToQueue(),tt=this.getKey(o),rt=et[tt];rt!=null&&(rt.eles.length===1?(rt.reqs=MAX_INT$1,_e.updateItem(rt),_e.pop(),et[tt]=null):rt.eles.unmerge(o))};ETCp.onDequeue=function(o){this.onDequeues.push(o)};ETCp.offDequeue=function(o){removeFromArray(this.onDequeues,o)};ETCp.setupDequeueing=defs.setupDequeueing({deqRedrawThreshold:deqRedrawThreshold$1,deqCost:deqCost$1,deqAvgCost:deqAvgCost$1,deqNoDrawCost:deqNoDrawCost$1,deqFastCost:deqFastCost$1,deq:function($,_e,et){return $.dequeue(_e,et)},onDeqd:function($,_e){for(var et=0;et<$.onDequeues.length;et++){var tt=$.onDequeues[et];tt(_e)}},shouldRedraw:function($,_e,et,tt){for(var rt=0;rt<_e.length;rt++)for(var at=_e[rt].eles,nt=0;nt=maxZoom||_e>maxLvl)return null}et.validateLayersElesOrdering(_e,o);var it=et.layersByLevel,ot=Math.pow(2,_e),st=it[_e]=it[_e]||[],lt,ct=et.levelIsComplete(_e,o),ut,ft=function(){var Et=function(Mt){if(et.validateLayersElesOrdering(Mt,o),et.levelIsComplete(Mt,o))return ut=it[Mt],!0},It=function(Mt){if(!ut)for(var Bt=_e+Mt;minLvl<=Bt&&Bt<=maxLvl&&!Et(Bt);Bt+=Mt);};It(1),It(-1);for(var Tt=st.length-1;Tt>=0;Tt--){var Rt=st[Tt];Rt.invalid&&removeFromArray(st,Rt)}};if(!ct)ft();else return st;var At=function(){if(!lt){lt=makeBoundingBox();for(var Et=0;EtmaxLayerArea)return null;var Rt=et.makeLayer(lt,_e);if(It!=null){var Ot=st.indexOf(It)+1;st.splice(Ot,0,Rt)}else(Et.insert===void 0||Et.insert)&&st.unshift(Rt);return Rt};if(et.skipping&&!nt)return null;for(var ht=null,mt=o.length/defNumLayers,bt=!nt,dt=0;dt=mt||!boundingBoxInBoundingBox(ht.bb,xt.boundingBox()))&&(ht=vt({insert:!0,after:ht}),!ht))return null;ut||bt?et.queueLayer(ht,xt):et.drawEleInLayer(ht,xt,_e,$),ht.eles.push(xt),gt[_e]=ht}return ut||(bt?null:st)};LTCp.getEleLevelForLayerLevel=function(o,$){return o};LTCp.drawEleInLayer=function(o,$,_e,et){var tt=this,rt=this.renderer,at=o.context,nt=$.boundingBox();nt.w===0||nt.h===0||!$.visible()||(_e=tt.getEleLevelForLayerLevel(_e,et),rt.setImgSmoothing(at,!1),rt.drawCachedElement(at,$,null,null,_e,useHighQualityEleTxrReqs),rt.setImgSmoothing(at,!0))};LTCp.levelIsComplete=function(o,$){var _e=this,et=_e.layersByLevel[o];if(!et||et.length===0)return!1;for(var tt=0,rt=0;rt0||at.invalid)return!1;tt+=at.eles.length}return tt===$.length};LTCp.validateLayersElesOrdering=function(o,$){var _e=this.layersByLevel[o];if(_e)for(var et=0;et<_e.length;et++){for(var tt=_e[et],rt=-1,at=0;at<$.length;at++)if(tt.eles[0]===$[at]){rt=at;break}if(rt<0){this.invalidateLayer(tt);continue}for(var nt=rt,at=0;at0){$=!0;break}}return $};LTCp.invalidateElements=function(o){var $=this;o.length!==0&&($.lastInvalidationTime=performanceNow$1(),!(o.length===0||!$.haveLayers())&&$.updateElementsInLayers(o,function(et,tt,rt){$.invalidateLayer(et)}))};LTCp.invalidateLayer=function(o){if(this.lastInvalidationTime=performanceNow$1(),!o.invalid){var $=o.level,_e=o.eles,et=this.layersByLevel[$];removeFromArray(et,o),o.elesQueue=[],o.invalid=!0,o.replacement&&(o.replacement.invalid=!0);for(var tt=0;tt<_e.length;tt++){var rt=_e[tt]._private.rscratch.imgLayerCaches;rt&&(rt[$]=null)}}};LTCp.refineElementTextures=function(o){var $=this;$.updateElementsInLayers(o,function(et,tt,rt){var at=et.replacement;if(at||(at=et.replacement=$.makeLayer(et.bb,et.level),at.replaces=et,at.eles=et.eles),!at.reqs)for(var nt=0;nt3&&arguments[3]!==void 0?arguments[3]:!0,tt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,rt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,at=this,nt=$._private.rscratch;if(!(rt&&!$.visible())&&!(nt.badLine||nt.allpts==null||isNaN(nt.allpts[0]))){var it;_e&&(it=_e,o.translate(-it.x1,-it.y1));var ot=rt?$.pstyle("opacity").value:1,st=rt?$.pstyle("line-opacity").value:1,lt=$.pstyle("curve-style").value,ct=$.pstyle("line-style").value,ut=$.pstyle("width").pfValue,ft=$.pstyle("line-cap").value,At=ot*st,vt=ot*st,ht=function(){var Tt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:At;lt==="straight-triangle"?(at.eleStrokeStyle(o,$,Tt),at.drawEdgeTrianglePath($,o,nt.allpts)):(o.lineWidth=ut,o.lineCap=ft,at.eleStrokeStyle(o,$,Tt),at.drawEdgePath($,o,nt.allpts,ct),o.lineCap="butt")},mt=function(){tt&&at.drawEdgeOverlay(o,$)},bt=function(){tt&&at.drawEdgeUnderlay(o,$)},dt=function(){var Tt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vt;at.drawArrowheads(o,$,Tt)},xt=function(){at.drawElementText(o,$,null,et)};o.lineJoin="round";var Ct=$.pstyle("ghost").value==="yes";if(Ct){var gt=$.pstyle("ghost-offset-x").pfValue,wt=$.pstyle("ghost-offset-y").pfValue,_t=$.pstyle("ghost-opacity").value,Et=At*_t;o.translate(gt,wt),ht(Et),dt(Et),o.translate(-gt,-wt)}bt(),ht(),dt(),mt(),xt(),_e&&o.translate(it.x1,it.y1)}};var drawEdgeOverlayUnderlay=function($){if(!["overlay","underlay"].includes($))throw new Error("Invalid state");return function(_e,et){if(et.visible()){var tt=et.pstyle("".concat($,"-opacity")).value;if(tt!==0){var rt=this,at=rt.usePaths(),nt=et._private.rscratch,it=et.pstyle("".concat($,"-padding")).pfValue,ot=2*it,st=et.pstyle("".concat($,"-color")).value;_e.lineWidth=ot,nt.edgeType==="self"&&!at?_e.lineCap="butt":_e.lineCap="round",rt.colorStrokeStyle(_e,st[0],st[1],st[2],tt),rt.drawEdgePath(et,_e,nt.allpts,"solid")}}}};CRp$8.drawEdgeOverlay=drawEdgeOverlayUnderlay("overlay");CRp$8.drawEdgeUnderlay=drawEdgeOverlayUnderlay("underlay");CRp$8.drawEdgePath=function(o,$,_e,et){var tt=o._private.rscratch,rt=$,at,nt=!1,it=this.usePaths(),ot=o.pstyle("line-dash-pattern").pfValue,st=o.pstyle("line-dash-offset").pfValue;if(it){var lt=_e.join("$"),ct=tt.pathCacheKey&&tt.pathCacheKey===lt;ct?(at=$=tt.pathCache,nt=!0):(at=$=new Path2D,tt.pathCacheKey=lt,tt.pathCache=at)}if(rt.setLineDash)switch(et){case"dotted":rt.setLineDash([1,1]);break;case"dashed":rt.setLineDash(ot),rt.lineDashOffset=st;break;case"solid":rt.setLineDash([]);break}if(!nt&&!tt.badLine)switch($.beginPath&&$.beginPath(),$.moveTo(_e[0],_e[1]),tt.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ut=2;ut+3<_e.length;ut+=4)$.quadraticCurveTo(_e[ut],_e[ut+1],_e[ut+2],_e[ut+3]);break;case"straight":case"segments":case"haystack":for(var ft=2;ft+1<_e.length;ft+=2)$.lineTo(_e[ft],_e[ft+1]);break}$=rt,it?$.stroke(at):$.stroke(),$.setLineDash&&$.setLineDash([])};CRp$8.drawEdgeTrianglePath=function(o,$,_e){$.fillStyle=$.strokeStyle;for(var et=o.pstyle("width").pfValue,tt=0;tt+1<_e.length;tt+=2){var rt=[_e[tt+2]-_e[tt],_e[tt+3]-_e[tt+1]],at=Math.sqrt(rt[0]*rt[0]+rt[1]*rt[1]),nt=[rt[1]/at,-rt[0]/at],it=[nt[0]*et/2,nt[1]*et/2];$.beginPath(),$.moveTo(_e[tt]-it[0],_e[tt+1]-it[1]),$.lineTo(_e[tt]+it[0],_e[tt+1]+it[1]),$.lineTo(_e[tt+2],_e[tt+3]),$.closePath(),$.fill()}};CRp$8.drawArrowheads=function(o,$,_e){var et=$._private.rscratch,tt=et.edgeType==="haystack";tt||this.drawArrowhead(o,$,"source",et.arrowStartX,et.arrowStartY,et.srcArrowAngle,_e),this.drawArrowhead(o,$,"mid-target",et.midX,et.midY,et.midtgtArrowAngle,_e),this.drawArrowhead(o,$,"mid-source",et.midX,et.midY,et.midsrcArrowAngle,_e),tt||this.drawArrowhead(o,$,"target",et.arrowEndX,et.arrowEndY,et.tgtArrowAngle,_e)};CRp$8.drawArrowhead=function(o,$,_e,et,tt,rt,at){if(!(isNaN(et)||et==null||isNaN(tt)||tt==null||isNaN(rt)||rt==null)){var nt=this,it=$.pstyle(_e+"-arrow-shape").value;if(it!=="none"){var ot=$.pstyle(_e+"-arrow-fill").value==="hollow"?"both":"filled",st=$.pstyle(_e+"-arrow-fill").value,lt=$.pstyle("width").pfValue,ct=$.pstyle("opacity").value;at===void 0&&(at=ct);var ut=o.globalCompositeOperation;(at!==1||st==="hollow")&&(o.globalCompositeOperation="destination-out",nt.colorFillStyle(o,255,255,255,1),nt.colorStrokeStyle(o,255,255,255,1),nt.drawArrowShape($,o,ot,lt,it,et,tt,rt),o.globalCompositeOperation=ut);var ft=$.pstyle(_e+"-arrow-color").value;nt.colorFillStyle(o,ft[0],ft[1],ft[2],at),nt.colorStrokeStyle(o,ft[0],ft[1],ft[2],at),nt.drawArrowShape($,o,st,lt,it,et,tt,rt)}}};CRp$8.drawArrowShape=function(o,$,_e,et,tt,rt,at,nt){var it=this,ot=this.usePaths()&&tt!=="triangle-cross",st=!1,lt,ct=$,ut={x:rt,y:at},ft=o.pstyle("arrow-scale").value,At=this.getArrowWidth(et,ft),vt=it.arrowShapes[tt];if(ot){var ht=it.arrowPathCache=it.arrowPathCache||[],mt=hashString(tt),bt=ht[mt];bt!=null?(lt=$=bt,st=!0):(lt=$=new Path2D,ht[mt]=lt)}st||($.beginPath&&$.beginPath(),ot?vt.draw($,1,0,{x:0,y:0},1):vt.draw($,At,nt,ut,et),$.closePath&&$.closePath()),$=ct,ot&&($.translate(rt,at),$.rotate(nt),$.scale(At,At)),(_e==="filled"||_e==="both")&&(ot?$.fill(lt):$.fill()),(_e==="hollow"||_e==="both")&&($.lineWidth=(vt.matchEdgeWidth?et:1)/(ot?At:1),$.lineJoin="miter",ot?$.stroke(lt):$.stroke()),ot&&($.scale(1/At,1/At),$.rotate(-nt),$.translate(-rt,-at))};var CRp$7={};CRp$7.safeDrawImage=function(o,$,_e,et,tt,rt,at,nt,it,ot){if(!(tt<=0||rt<=0||it<=0||ot<=0))try{o.drawImage($,_e,et,tt,rt,at,nt,it,ot)}catch(st){warn(st)}};CRp$7.drawInscribedImage=function(o,$,_e,et,tt){var rt=this,at=_e.position(),nt=at.x,it=at.y,ot=_e.cy().style(),st=ot.getIndexedStyle.bind(ot),lt=st(_e,"background-fit","value",et),ct=st(_e,"background-repeat","value",et),ut=_e.width(),ft=_e.height(),At=_e.padding()*2,vt=ut+(st(_e,"background-width-relative-to","value",et)==="inner"?0:At),ht=ft+(st(_e,"background-height-relative-to","value",et)==="inner"?0:At),mt=_e._private.rscratch,bt=st(_e,"background-clip","value",et),dt=bt==="node",xt=st(_e,"background-image-opacity","value",et)*tt,Ct=st(_e,"background-image-smoothing","value",et),gt=$.width||$.cachedW,wt=$.height||$.cachedH;(gt==null||wt==null)&&(document.body.appendChild($),gt=$.cachedW=$.width||$.offsetWidth,wt=$.cachedH=$.height||$.offsetHeight,document.body.removeChild($));var _t=gt,Et=wt;if(st(_e,"background-width","value",et)!=="auto"&&(st(_e,"background-width","units",et)==="%"?_t=st(_e,"background-width","pfValue",et)*vt:_t=st(_e,"background-width","pfValue",et)),st(_e,"background-height","value",et)!=="auto"&&(st(_e,"background-height","units",et)==="%"?Et=st(_e,"background-height","pfValue",et)*ht:Et=st(_e,"background-height","pfValue",et)),!(_t===0||Et===0)){if(lt==="contain"){var It=Math.min(vt/_t,ht/Et);_t*=It,Et*=It}else if(lt==="cover"){var It=Math.max(vt/_t,ht/Et);_t*=It,Et*=It}var Tt=nt-vt/2,Rt=st(_e,"background-position-x","units",et),Ot=st(_e,"background-position-x","pfValue",et);Rt==="%"?Tt+=(vt-_t)*Ot:Tt+=Ot;var Mt=st(_e,"background-offset-x","units",et),Bt=st(_e,"background-offset-x","pfValue",et);Mt==="%"?Tt+=(vt-_t)*Bt:Tt+=Bt;var Lt=it-ht/2,jt=st(_e,"background-position-y","units",et),zt=st(_e,"background-position-y","pfValue",et);jt==="%"?Lt+=(ht-Et)*zt:Lt+=zt;var Nt=st(_e,"background-offset-y","units",et),Wt=st(_e,"background-offset-y","pfValue",et);Nt==="%"?Lt+=(ht-Et)*Wt:Lt+=Wt,mt.pathCache&&(Tt-=nt,Lt-=it,nt=0,it=0);var qt=o.globalAlpha;o.globalAlpha=xt;var nr=rt.getImgSmoothing(o),ar=!1;if(Ct==="no"&&nr?(rt.setImgSmoothing(o,!1),ar=!0):Ct==="yes"&&!nr&&(rt.setImgSmoothing(o,!0),ar=!0),ct==="no-repeat")dt&&(o.save(),mt.pathCache?o.clip(mt.pathCache):(rt.nodeShapes[rt.getNodeShape(_e)].draw(o,nt,it,vt,ht),o.clip())),rt.safeDrawImage(o,$,0,0,gt,wt,Tt,Lt,_t,Et),dt&&o.restore();else{var Kt=o.createPattern($,ct);o.fillStyle=Kt,rt.nodeShapes[rt.getNodeShape(_e)].draw(o,nt,it,vt,ht),o.translate(Tt,Lt),o.fill(),o.translate(-Tt,-Lt)}o.globalAlpha=qt,ar&&rt.setImgSmoothing(o,nr)}};var CRp$6={};CRp$6.eleTextBiggerThanMin=function(o,$){if(!$){var _e=o.cy().zoom(),et=this.getPixelRatio(),tt=Math.ceil(log2(_e*et));$=Math.pow(2,tt)}var rt=o.pstyle("font-size").pfValue*$,at=o.pstyle("min-zoomed-font-size").pfValue;return!(rt5&&arguments[5]!==void 0?arguments[5]:!0,at=this;if(et==null){if(rt&&!at.eleTextBiggerThanMin($))return}else if(et===!1)return;if($.isNode()){var nt=$.pstyle("label");if(!nt||!nt.value)return;var it=at.getLabelJustification($);o.textAlign=it,o.textBaseline="bottom"}else{var ot=$.element()._private.rscratch.badLine,st=$.pstyle("label"),lt=$.pstyle("source-label"),ct=$.pstyle("target-label");if(ot||(!st||!st.value)&&(!lt||!lt.value)&&(!ct||!ct.value))return;o.textAlign="center",o.textBaseline="bottom"}var ut=!_e,ft;_e&&(ft=_e,o.translate(-ft.x1,-ft.y1)),tt==null?(at.drawText(o,$,null,ut,rt),$.isEdge()&&(at.drawText(o,$,"source",ut,rt),at.drawText(o,$,"target",ut,rt))):at.drawText(o,$,tt,ut,rt),_e&&o.translate(ft.x1,ft.y1)};CRp$6.getFontCache=function(o){var $;this.fontCaches=this.fontCaches||[];for(var _e=0;_e2&&arguments[2]!==void 0?arguments[2]:!0,et=$.pstyle("font-style").strValue,tt=$.pstyle("font-size").pfValue+"px",rt=$.pstyle("font-family").strValue,at=$.pstyle("font-weight").strValue,nt=_e?$.effectiveOpacity()*$.pstyle("text-opacity").value:1,it=$.pstyle("text-outline-opacity").value*nt,ot=$.pstyle("color").value,st=$.pstyle("text-outline-color").value;o.font=et+" "+at+" "+tt+" "+rt,o.lineJoin="round",this.colorFillStyle(o,ot[0],ot[1],ot[2],nt),this.colorStrokeStyle(o,st[0],st[1],st[2],it)};function roundRect(o,$,_e,et,tt){var rt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5;o.beginPath(),o.moveTo($+rt,_e),o.lineTo($+et-rt,_e),o.quadraticCurveTo($+et,_e,$+et,_e+rt),o.lineTo($+et,_e+tt-rt),o.quadraticCurveTo($+et,_e+tt,$+et-rt,_e+tt),o.lineTo($+rt,_e+tt),o.quadraticCurveTo($,_e+tt,$,_e+tt-rt),o.lineTo($,_e+rt),o.quadraticCurveTo($,_e,$+rt,_e),o.closePath(),o.fill()}CRp$6.getTextAngle=function(o,$){var _e,et=o._private,tt=et.rscratch,rt=$?$+"-":"",at=o.pstyle(rt+"text-rotation"),nt=getPrefixedProperty(tt,"labelAngle",$);return at.strValue==="autorotate"?_e=o.isEdge()?nt:0:at.strValue==="none"?_e=0:_e=at.pfValue,_e};CRp$6.drawText=function(o,$,_e){var et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,tt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,rt=$._private,at=rt.rscratch,nt=tt?$.effectiveOpacity():1;if(!(tt&&(nt===0||$.pstyle("text-opacity").value===0))){_e==="main"&&(_e=null);var it=getPrefixedProperty(at,"labelX",_e),ot=getPrefixedProperty(at,"labelY",_e),st,lt,ct=this.getLabelText($,_e);if(ct!=null&&ct!==""&&!isNaN(it)&&!isNaN(ot)){this.setupTextStyle(o,$,tt);var ut=_e?_e+"-":"",ft=getPrefixedProperty(at,"labelWidth",_e),At=getPrefixedProperty(at,"labelHeight",_e),vt=$.pstyle(ut+"text-margin-x").pfValue,ht=$.pstyle(ut+"text-margin-y").pfValue,mt=$.isEdge(),bt=$.pstyle("text-halign").value,dt=$.pstyle("text-valign").value;mt&&(bt="center",dt="center"),it+=vt,ot+=ht;var xt;switch(et?xt=this.getTextAngle($,_e):xt=0,xt!==0&&(st=it,lt=ot,o.translate(st,lt),o.rotate(xt),it=0,ot=0),dt){case"top":break;case"center":ot+=At/2;break;case"bottom":ot+=At;break}var Ct=$.pstyle("text-background-opacity").value,gt=$.pstyle("text-border-opacity").value,wt=$.pstyle("text-border-width").pfValue,_t=$.pstyle("text-background-padding").pfValue;if(Ct>0||wt>0&>>0){var Et=it-_t;switch(bt){case"left":Et-=ft;break;case"center":Et-=ft/2;break}var It=ot-At-_t,Tt=ft+2*_t,Rt=At+2*_t;if(Ct>0){var Ot=o.fillStyle,Mt=$.pstyle("text-background-color").value;o.fillStyle="rgba("+Mt[0]+","+Mt[1]+","+Mt[2]+","+Ct*nt+")";var Bt=$.pstyle("text-background-shape").strValue;Bt.indexOf("round")===0?roundRect(o,Et,It,Tt,Rt,2):o.fillRect(Et,It,Tt,Rt),o.fillStyle=Ot}if(wt>0&>>0){var Lt=o.strokeStyle,jt=o.lineWidth,zt=$.pstyle("text-border-color").value,Nt=$.pstyle("text-border-style").value;if(o.strokeStyle="rgba("+zt[0]+","+zt[1]+","+zt[2]+","+gt*nt+")",o.lineWidth=wt,o.setLineDash)switch(Nt){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash([4,2]);break;case"double":o.lineWidth=wt/4,o.setLineDash([]);break;case"solid":o.setLineDash([]);break}if(o.strokeRect(Et,It,Tt,Rt),Nt==="double"){var Wt=wt/2;o.strokeRect(Et+Wt,It+Wt,Tt-Wt*2,Rt-Wt*2)}o.setLineDash&&o.setLineDash([]),o.lineWidth=jt,o.strokeStyle=Lt}}var qt=2*$.pstyle("text-outline-width").pfValue;if(qt>0&&(o.lineWidth=qt),$.pstyle("text-wrap").value==="wrap"){var nr=getPrefixedProperty(at,"labelWrapCachedLines",_e),ar=getPrefixedProperty(at,"labelLineHeight",_e),Kt=ft/2,er=this.getLabelJustification($);switch(er==="auto"||(bt==="left"?er==="left"?it+=-ft:er==="center"&&(it+=-Kt):bt==="center"?er==="left"?it+=-Kt:er==="right"&&(it+=Kt):bt==="right"&&(er==="center"?it+=Kt:er==="right"&&(it+=ft))),dt){case"top":ot-=(nr.length-1)*ar;break;case"center":case"bottom":ot-=(nr.length-1)*ar;break}for(var Ut=0;Ut0&&o.strokeText(nr[Ut],it,ot),o.fillText(nr[Ut],it,ot),ot+=ar}else qt>0&&o.strokeText(ct,it,ot),o.fillText(ct,it,ot);xt!==0&&(o.rotate(-xt),o.translate(-st,-lt))}}};var CRp$5={};CRp$5.drawNode=function(o,$,_e){var et=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,tt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,rt=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,at=this,nt,it,ot=$._private,st=ot.rscratch,lt=$.position();if(!(!number$1$1(lt.x)||!number$1$1(lt.y))&&!(rt&&!$.visible())){var ct=rt?$.effectiveOpacity():1,ut=at.usePaths(),ft,At=!1,vt=$.padding();nt=$.width()+2*vt,it=$.height()+2*vt;var ht;_e&&(ht=_e,o.translate(-ht.x1,-ht.y1));for(var mt=$.pstyle("background-image"),bt=mt.value,dt=new Array(bt.length),xt=new Array(bt.length),Ct=0,gt=0;gt0&&arguments[0]!==void 0?arguments[0]:Rt;at.eleFillStyle(o,$,Or)},jt=function(){var Or=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Bt;at.colorStrokeStyle(o,Ot[0],Ot[1],Ot[2],Or)},zt=$.pstyle("shape").strValue,Nt=$.pstyle("shape-polygon-points").pfValue;if(ut){o.translate(lt.x,lt.y);var Wt=at.nodePathCache=at.nodePathCache||[],qt=hashStrings(zt==="polygon"?zt+","+Nt.join(","):zt,""+it,""+nt),nr=Wt[qt];nr!=null?(ft=nr,At=!0,st.pathCache=ft):(ft=new Path2D,Wt[qt]=st.pathCache=ft)}var ar=function(){if(!At){var Or=lt;ut&&(Or={x:0,y:0}),at.nodeShapes[at.getNodeShape($)].draw(ft||o,Or.x,Or.y,nt,it)}ut?o.fill(ft):o.fill()},Kt=function(){for(var Or=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ct,Lr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,na=ot.backgrounding,ba=0,qr=0;qr0&&arguments[0]!==void 0?arguments[0]:!1,Lr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ct;at.hasPie($)&&(at.drawPie(o,$,Lr),Or&&(ut||at.nodeShapes[at.getNodeShape($)].draw(o,lt.x,lt.y,nt,it)))},Ut=function(){var Or=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ct,Lr=(It>0?It:-It)*Or,na=It>0?0:255;It!==0&&(at.colorFillStyle(o,na,na,na,Lr),ut?o.fill(ft):o.fill())},Ht=function(){if(Tt>0){if(o.lineWidth=Tt,o.lineCap="butt",o.setLineDash)switch(Mt){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash([4,2]);break;case"solid":case"double":o.setLineDash([]);break}if(ut?o.stroke(ft):o.stroke(),Mt==="double"){o.lineWidth=Tt/3;var Or=o.globalCompositeOperation;o.globalCompositeOperation="destination-out",ut?o.stroke(ft):o.stroke(),o.globalCompositeOperation=Or}o.setLineDash&&o.setLineDash([])}},Ft=function(){tt&&at.drawNodeOverlay(o,$,lt,nt,it)},Vt=function(){tt&&at.drawNodeUnderlay(o,$,lt,nt,it)},Jt=function(){at.drawElementText(o,$,null,et)},or=$.pstyle("ghost").value==="yes";if(or){var Ar=$.pstyle("ghost-offset-x").pfValue,hr=$.pstyle("ghost-offset-y").pfValue,vr=$.pstyle("ghost-opacity").value,Er=vr*ct;o.translate(Ar,hr),Lt(vr*Rt),ar(),Kt(Er,!0),jt(vr*Bt),Ht(),er(It!==0||Tt!==0),Kt(Er,!1),Ut(Er),o.translate(-Ar,-hr)}ut&&o.translate(-lt.x,-lt.y),Vt(),ut&&o.translate(lt.x,lt.y),Lt(),ar(),Kt(ct,!0),jt(),Ht(),er(It!==0||Tt!==0),Kt(ct,!1),Ut(),ut&&o.translate(-lt.x,-lt.y),Jt(),Ft(),_e&&o.translate(ht.x1,ht.y1)}};var drawNodeOverlayUnderlay=function($){if(!["overlay","underlay"].includes($))throw new Error("Invalid state");return function(_e,et,tt,rt,at){var nt=this;if(et.visible()){var it=et.pstyle("".concat($,"-padding")).pfValue,ot=et.pstyle("".concat($,"-opacity")).value,st=et.pstyle("".concat($,"-color")).value,lt=et.pstyle("".concat($,"-shape")).value;if(ot>0){if(tt=tt||et.position(),rt==null||at==null){var ct=et.padding();rt=et.width()+2*ct,at=et.height()+2*ct}nt.colorFillStyle(_e,st[0],st[1],st[2],ot),nt.nodeShapes[lt].draw(_e,tt.x,tt.y,rt+it*2,at+it*2),_e.fill()}}}};CRp$5.drawNodeOverlay=drawNodeOverlayUnderlay("overlay");CRp$5.drawNodeUnderlay=drawNodeOverlayUnderlay("underlay");CRp$5.hasPie=function(o){return o=o[0],o._private.hasPie};CRp$5.drawPie=function(o,$,_e,et){$=$[0],et=et||$.position();var tt=$.cy().style(),rt=$.pstyle("pie-size"),at=et.x,nt=et.y,it=$.width(),ot=$.height(),st=Math.min(it,ot)/2,lt=0,ct=this.usePaths();ct&&(at=0,nt=0),rt.units==="%"?st=st*rt.pfValue:rt.pfValue!==void 0&&(st=rt.pfValue/2);for(var ut=1;ut<=tt.pieBackgroundN;ut++){var ft=$.pstyle("pie-"+ut+"-background-size").value,At=$.pstyle("pie-"+ut+"-background-color").value,vt=$.pstyle("pie-"+ut+"-background-opacity").value*_e,ht=ft/100;ht+lt>1&&(ht=1-lt);var mt=1.5*Math.PI+2*Math.PI*lt,bt=2*Math.PI*ht,dt=mt+bt;ft===0||lt>=1||lt+ht>1||(o.beginPath(),o.moveTo(at,nt),o.arc(at,nt,st,mt,dt),o.closePath(),this.colorFillStyle(o,At[0],At[1],At[2],vt),o.fill(),lt+=ht)}};var CRp$4={},motionBlurDelay=100;CRp$4.getPixelRatio=function(){var o=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var $=o.backingStorePixelRatio||o.webkitBackingStorePixelRatio||o.mozBackingStorePixelRatio||o.msBackingStorePixelRatio||o.oBackingStorePixelRatio||o.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/$};CRp$4.paintCache=function(o){for(var $=this.paintCaches=this.paintCaches||[],_e=!0,et,tt=0;tt<$.length;tt++)if(et=$[tt],et.context===o){_e=!1;break}return _e&&(et={context:o},$.push(et)),et};CRp$4.createGradientStyleFor=function(o,$,_e,et,tt){var rt,at=this.usePaths(),nt=_e.pstyle($+"-gradient-stop-colors").value,it=_e.pstyle($+"-gradient-stop-positions").pfValue;if(et==="radial-gradient")if(_e.isEdge()){var ot=_e.sourceEndpoint(),st=_e.targetEndpoint(),lt=_e.midpoint(),ct=dist$1(ot,lt),ut=dist$1(st,lt);rt=o.createRadialGradient(lt.x,lt.y,0,lt.x,lt.y,Math.max(ct,ut))}else{var ft=at?{x:0,y:0}:_e.position(),At=_e.paddedWidth(),vt=_e.paddedHeight();rt=o.createRadialGradient(ft.x,ft.y,0,ft.x,ft.y,Math.max(At,vt))}else if(_e.isEdge()){var ht=_e.sourceEndpoint(),mt=_e.targetEndpoint();rt=o.createLinearGradient(ht.x,ht.y,mt.x,mt.y)}else{var bt=at?{x:0,y:0}:_e.position(),dt=_e.paddedWidth(),xt=_e.paddedHeight(),Ct=dt/2,gt=xt/2,wt=_e.pstyle("background-gradient-direction").value;switch(wt){case"to-bottom":rt=o.createLinearGradient(bt.x,bt.y-gt,bt.x,bt.y+gt);break;case"to-top":rt=o.createLinearGradient(bt.x,bt.y+gt,bt.x,bt.y-gt);break;case"to-left":rt=o.createLinearGradient(bt.x+Ct,bt.y,bt.x-Ct,bt.y);break;case"to-right":rt=o.createLinearGradient(bt.x-Ct,bt.y,bt.x+Ct,bt.y);break;case"to-bottom-right":case"to-right-bottom":rt=o.createLinearGradient(bt.x-Ct,bt.y-gt,bt.x+Ct,bt.y+gt);break;case"to-top-right":case"to-right-top":rt=o.createLinearGradient(bt.x-Ct,bt.y+gt,bt.x+Ct,bt.y-gt);break;case"to-bottom-left":case"to-left-bottom":rt=o.createLinearGradient(bt.x+Ct,bt.y-gt,bt.x-Ct,bt.y+gt);break;case"to-top-left":case"to-left-top":rt=o.createLinearGradient(bt.x+Ct,bt.y+gt,bt.x-Ct,bt.y-gt);break}}if(!rt)return null;for(var _t=it.length===nt.length,Et=nt.length,It=0;Itat.minMbLowQualFrames&&(at.motionBlurPxRatio=at.mbPxRBlurry)),at.clearingMotionBlur&&(at.motionBlurPxRatio=1),at.textureDrawLastFrame&&!lt&&(st[at.NODE]=!0,st[at.SELECT_BOX]=!0);var mt=it.style(),bt=it.zoom(),dt=tt!==void 0?tt:bt,xt=it.pan(),Ct={x:xt.x,y:xt.y},gt={zoom:bt,pan:{x:xt.x,y:xt.y}},wt=at.prevViewport,_t=wt===void 0||gt.zoom!==wt.zoom||gt.pan.x!==wt.pan.x||gt.pan.y!==wt.pan.y;!_t&&!(At&&!ft)&&(at.motionBlurPxRatio=1),rt&&(Ct=rt),dt*=nt,Ct.x*=nt,Ct.y*=nt;var Et=at.getCachedZSortedEles();function It(hr,vr,Er,mr,Or){var Lr=hr.globalCompositeOperation;hr.globalCompositeOperation="destination-out",at.colorFillStyle(hr,255,255,255,at.motionBlurTransparency),hr.fillRect(vr,Er,mr,Or),hr.globalCompositeOperation=Lr}function Tt(hr,vr){var Er,mr,Or,Lr;!at.clearingMotionBlur&&(hr===ot.bufferContexts[at.MOTIONBLUR_BUFFER_NODE]||hr===ot.bufferContexts[at.MOTIONBLUR_BUFFER_DRAG])?(Er={x:xt.x*ut,y:xt.y*ut},mr=bt*ut,Or=at.canvasWidth*ut,Lr=at.canvasHeight*ut):(Er=Ct,mr=dt,Or=at.canvasWidth,Lr=at.canvasHeight),hr.setTransform(1,0,0,1,0,0),vr==="motionBlur"?It(hr,0,0,Or,Lr):!$&&(vr===void 0||vr)&&hr.clearRect(0,0,Or,Lr),_e||(hr.translate(Er.x,Er.y),hr.scale(mr,mr)),rt&&hr.translate(rt.x,rt.y),tt&&hr.scale(tt,tt)}if(lt||(at.textureDrawLastFrame=!1),lt){if(at.textureDrawLastFrame=!0,!at.textureCache){at.textureCache={},at.textureCache.bb=it.mutableElements().boundingBox(),at.textureCache.texture=at.data.bufferCanvases[at.TEXTURE_BUFFER];var Rt=at.data.bufferContexts[at.TEXTURE_BUFFER];Rt.setTransform(1,0,0,1,0,0),Rt.clearRect(0,0,at.canvasWidth*at.textureMult,at.canvasHeight*at.textureMult),at.render({forcedContext:Rt,drawOnlyNodeLayer:!0,forcedPxRatio:nt*at.textureMult});var gt=at.textureCache.viewport={zoom:it.zoom(),pan:it.pan(),width:at.canvasWidth,height:at.canvasHeight};gt.mpan={x:(0-gt.pan.x)/gt.zoom,y:(0-gt.pan.y)/gt.zoom}}st[at.DRAG]=!1,st[at.NODE]=!1;var Ot=ot.contexts[at.NODE],Mt=at.textureCache.texture,gt=at.textureCache.viewport;Ot.setTransform(1,0,0,1,0,0),ct?It(Ot,0,0,gt.width,gt.height):Ot.clearRect(0,0,gt.width,gt.height);var Bt=mt.core("outside-texture-bg-color").value,Lt=mt.core("outside-texture-bg-opacity").value;at.colorFillStyle(Ot,Bt[0],Bt[1],Bt[2],Lt),Ot.fillRect(0,0,gt.width,gt.height);var bt=it.zoom();Tt(Ot,!1),Ot.clearRect(gt.mpan.x,gt.mpan.y,gt.width/gt.zoom/nt,gt.height/gt.zoom/nt),Ot.drawImage(Mt,gt.mpan.x,gt.mpan.y,gt.width/gt.zoom/nt,gt.height/gt.zoom/nt)}else at.textureOnViewport&&!$&&(at.textureCache=null);var jt=it.extent(),zt=at.pinching||at.hoverData.dragging||at.swipePanning||at.data.wheelZooming||at.hoverData.draggingEles||at.cy.animated(),Nt=at.hideEdgesOnViewport&&zt,Wt=[];if(Wt[at.NODE]=!st[at.NODE]&&ct&&!at.clearedForMotionBlur[at.NODE]||at.clearingMotionBlur,Wt[at.NODE]&&(at.clearedForMotionBlur[at.NODE]=!0),Wt[at.DRAG]=!st[at.DRAG]&&ct&&!at.clearedForMotionBlur[at.DRAG]||at.clearingMotionBlur,Wt[at.DRAG]&&(at.clearedForMotionBlur[at.DRAG]=!0),st[at.NODE]||_e||et||Wt[at.NODE]){var qt=ct&&!Wt[at.NODE]&&ut!==1,Ot=$||(qt?at.data.bufferContexts[at.MOTIONBLUR_BUFFER_NODE]:ot.contexts[at.NODE]),nr=ct&&!qt?"motionBlur":void 0;Tt(Ot,nr),Nt?at.drawCachedNodes(Ot,Et.nondrag,nt,jt):at.drawLayeredElements(Ot,Et.nondrag,nt,jt),at.debug&&at.drawDebugPoints(Ot,Et.nondrag),!_e&&!ct&&(st[at.NODE]=!1)}if(!et&&(st[at.DRAG]||_e||Wt[at.DRAG])){var qt=ct&&!Wt[at.DRAG]&&ut!==1,Ot=$||(qt?at.data.bufferContexts[at.MOTIONBLUR_BUFFER_DRAG]:ot.contexts[at.DRAG]);Tt(Ot,ct&&!qt?"motionBlur":void 0),Nt?at.drawCachedNodes(Ot,Et.drag,nt,jt):at.drawCachedElements(Ot,Et.drag,nt,jt),at.debug&&at.drawDebugPoints(Ot,Et.drag),!_e&&!ct&&(st[at.DRAG]=!1)}if(at.showFps||!et&&st[at.SELECT_BOX]&&!_e){var Ot=$||ot.contexts[at.SELECT_BOX];if(Tt(Ot),at.selection[4]==1&&(at.hoverData.selecting||at.touchData.selecting)){var bt=at.cy.zoom(),ar=mt.core("selection-box-border-width").value/bt;Ot.lineWidth=ar,Ot.fillStyle="rgba("+mt.core("selection-box-color").value[0]+","+mt.core("selection-box-color").value[1]+","+mt.core("selection-box-color").value[2]+","+mt.core("selection-box-opacity").value+")",Ot.fillRect(at.selection[0],at.selection[1],at.selection[2]-at.selection[0],at.selection[3]-at.selection[1]),ar>0&&(Ot.strokeStyle="rgba("+mt.core("selection-box-border-color").value[0]+","+mt.core("selection-box-border-color").value[1]+","+mt.core("selection-box-border-color").value[2]+","+mt.core("selection-box-opacity").value+")",Ot.strokeRect(at.selection[0],at.selection[1],at.selection[2]-at.selection[0],at.selection[3]-at.selection[1]))}if(ot.bgActivePosistion&&!at.hoverData.selecting){var bt=at.cy.zoom(),Kt=ot.bgActivePosistion;Ot.fillStyle="rgba("+mt.core("active-bg-color").value[0]+","+mt.core("active-bg-color").value[1]+","+mt.core("active-bg-color").value[2]+","+mt.core("active-bg-opacity").value+")",Ot.beginPath(),Ot.arc(Kt.x,Kt.y,mt.core("active-bg-size").pfValue/bt,0,2*Math.PI),Ot.fill()}var er=at.lastRedrawTime;if(at.showFps&&er){er=Math.round(er);var Ut=Math.round(1e3/er);Ot.setTransform(1,0,0,1,0,0),Ot.fillStyle="rgba(255, 0, 0, 0.75)",Ot.strokeStyle="rgba(255, 0, 0, 0.75)",Ot.lineWidth=1,Ot.fillText("1 frame = "+er+" ms = "+Ut+" fps",0,20);var Ht=60;Ot.strokeRect(0,30,250,20),Ot.fillRect(0,30,250*Math.min(Ut/Ht,1),20)}_e||(st[at.SELECT_BOX]=!1)}if(ct&&ut!==1){var Ft=ot.contexts[at.NODE],Vt=at.data.bufferCanvases[at.MOTIONBLUR_BUFFER_NODE],Jt=ot.contexts[at.DRAG],or=at.data.bufferCanvases[at.MOTIONBLUR_BUFFER_DRAG],Ar=function(vr,Er,mr){vr.setTransform(1,0,0,1,0,0),mr||!ht?vr.clearRect(0,0,at.canvasWidth,at.canvasHeight):It(vr,0,0,at.canvasWidth,at.canvasHeight);var Or=ut;vr.drawImage(Er,0,0,at.canvasWidth*Or,at.canvasHeight*Or,0,0,at.canvasWidth,at.canvasHeight)};(st[at.NODE]||Wt[at.NODE])&&(Ar(Ft,Vt,Wt[at.NODE]),st[at.NODE]=!1),(st[at.DRAG]||Wt[at.DRAG])&&(Ar(Jt,or,Wt[at.DRAG]),st[at.DRAG]=!1)}at.prevViewport=gt,at.clearingMotionBlur&&(at.clearingMotionBlur=!1,at.motionBlurCleared=!0,at.motionBlur=!0),ct&&(at.motionBlurTimeout=setTimeout(function(){at.motionBlurTimeout=null,at.clearedForMotionBlur[at.NODE]=!1,at.clearedForMotionBlur[at.DRAG]=!1,at.motionBlur=!1,at.clearingMotionBlur=!lt,at.mbFrames=0,st[at.NODE]=!0,st[at.DRAG]=!0,at.redraw()},motionBlurDelay)),$||it.emit("render")};var CRp$3={};CRp$3.drawPolygonPath=function(o,$,_e,et,tt,rt){var at=et/2,nt=tt/2;o.beginPath&&o.beginPath(),o.moveTo($+at*rt[0],_e+nt*rt[1]);for(var it=1;it0&&at>0){ut.clearRect(0,0,rt,at),ut.globalCompositeOperation="source-over";var ft=this.getCachedZSortedEles();if(o.full)ut.translate(-et.x1*ot,-et.y1*ot),ut.scale(ot,ot),this.drawElements(ut,ft),ut.scale(1/ot,1/ot),ut.translate(et.x1*ot,et.y1*ot);else{var At=$.pan(),vt={x:At.x*ot,y:At.y*ot};ot*=$.zoom(),ut.translate(vt.x,vt.y),ut.scale(ot,ot),this.drawElements(ut,ft),ut.scale(1/ot,1/ot),ut.translate(-vt.x,-vt.y)}o.bg&&(ut.globalCompositeOperation="destination-over",ut.fillStyle=o.bg,ut.rect(0,0,rt,at),ut.fill())}return ct};function b64ToBlob(o,$){for(var _e=atob(o),et=new ArrayBuffer(_e.length),tt=new Uint8Array(et),rt=0;rt<_e.length;rt++)tt[rt]=_e.charCodeAt(rt);return new Blob([et],{type:$})}function b64UriToB64(o){var $=o.indexOf(",");return o.substr($+1)}function output(o,$,_e){var et=function(){return $.toDataURL(_e,o.quality)};switch(o.output){case"blob-promise":return new Promise$1$1(function(tt,rt){try{$.toBlob(function(at){at!=null?tt(at):rt(new Error("`canvas.toBlob()` sent a null value in its callback"))},_e,o.quality)}catch(at){rt(at)}});case"blob":return b64ToBlob(b64UriToB64(et()),_e);case"base64":return b64UriToB64(et());case"base64uri":default:return et()}}CRp$2.png=function(o){return output(o,this.bufferCanvasImage(o),"image/png")};CRp$2.jpg=function(o){return output(o,this.bufferCanvasImage(o),"image/jpeg")};var CRp$1={};CRp$1.nodeShapeImpl=function(o,$,_e,et,tt,rt,at){switch(o){case"ellipse":return this.drawEllipsePath($,_e,et,tt,rt);case"polygon":return this.drawPolygonPath($,_e,et,tt,rt,at);case"round-polygon":return this.drawRoundPolygonPath($,_e,et,tt,rt,at);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath($,_e,et,tt,rt);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath($,_e,et,tt,rt);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath($,_e,et,tt,rt);case"barrel":return this.drawBarrelPath($,_e,et,tt,rt)}};var CR=CanvasRenderer,CRp=CanvasRenderer.prototype;CRp.CANVAS_LAYERS=3;CRp.SELECT_BOX=0;CRp.DRAG=1;CRp.NODE=2;CRp.BUFFER_COUNT=3;CRp.TEXTURE_BUFFER=0;CRp.MOTIONBLUR_BUFFER_NODE=1;CRp.MOTIONBLUR_BUFFER_DRAG=2;function CanvasRenderer(o){var $=this;$.data={canvases:new Array(CRp.CANVAS_LAYERS),contexts:new Array(CRp.CANVAS_LAYERS),canvasNeedsRedraw:new Array(CRp.CANVAS_LAYERS),bufferCanvases:new Array(CRp.BUFFER_COUNT),bufferContexts:new Array(CRp.CANVAS_LAYERS)};var _e="-webkit-tap-highlight-color",et="rgba(0,0,0,0)";$.data.canvasContainer=document.createElement("div");var tt=$.data.canvasContainer.style;$.data.canvasContainer.style[_e]=et,tt.position="relative",tt.zIndex="0",tt.overflow="hidden";var rt=o.cy.container();rt.appendChild($.data.canvasContainer),rt.style[_e]=et;var at={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};ms()&&(at["-ms-touch-action"]="none",at["touch-action"]="none");for(var nt=0;nt"u"?"undefined":_typeof$H(OffscreenCanvas))!=="undefined"?_e=new OffscreenCanvas(o,$):(_e=document.createElement("canvas"),_e.width=o,_e.height=$),_e};[CRp$a,CRp$9,CRp$8,CRp$7,CRp$6,CRp$5,CRp$4,CRp$3,CRp$2,CRp$1].forEach(function(o){extend$3(CRp,o)});var renderer=[{name:"null",impl:NullRenderer},{name:"base",impl:BR},{name:"canvas",impl:CR}],incExts=[{type:"layout",extensions:layout$2},{type:"renderer",extensions:renderer}],extensions={},modules={};function setExtension(o,$,_e){var et=_e,tt=function(wt){warn("Can not register `"+$+"` for `"+o+"` since `"+wt+"` already exists in the prototype and can not be overridden")};if(o==="core"){if(Core.prototype[$])return tt($);Core.prototype[$]=_e}else if(o==="collection"){if(Collection.prototype[$])return tt($);Collection.prototype[$]=_e}else if(o==="layout"){for(var rt=function(wt){this.options=wt,_e.call(this,wt),plainObject(this._private)||(this._private={}),this._private.cy=wt.cy,this._private.listeners=[],this.createEmitter()},at=rt.prototype=Object.create(_e.prototype),nt=[],it=0;itnt))return!1;var ot=rt.get(o),st=rt.get($);if(ot&&st)return ot==$&&st==o;var lt=-1,ct=!0,ut=_e&COMPARE_UNORDERED_FLAG$3?new SetCache$1:void 0;for(rt.set(o,$),rt.set($,o);++lt0&&_e(nt)?$>1?baseFlatten$1(nt,$-1,_e,et,tt):arrayPush$2(tt,nt):et||(tt[tt.length]=nt)}return tt}var _baseFlatten=baseFlatten$1;function apply$1(o,$,_e){switch(_e.length){case 0:return o.call($);case 1:return o.call($,_e[0]);case 2:return o.call($,_e[0],_e[1]);case 3:return o.call($,_e[0],_e[1],_e[2])}return o.apply($,_e)}var _apply=apply$1,apply=_apply,nativeMax$1=Math.max;function overRest$1(o,$,_e){return $=nativeMax$1($===void 0?o.length-1:$,0),function(){for(var et=arguments,tt=-1,rt=nativeMax$1(et.length-$,0),at=Array(rt);++tt0){if(++$>=HOT_COUNT)return arguments[0]}else $=0;return o.apply(void 0,arguments)}}var _shortOut=shortOut$1,baseSetToString=_baseSetToString,shortOut=_shortOut,setToString$1=shortOut(baseSetToString),_setToString=setToString$1,identity$7=identity_1,overRest=_overRest,setToString=_setToString;function baseRest$1(o,$){return setToString(overRest(o,$,identity$7),o+"")}var _baseRest=baseRest$1;function baseFindIndex$2(o,$,_e,et){for(var tt=o.length,rt=_e+(et?1:-1);et?rt--:++rt-1}var _arrayIncludes=arrayIncludes$1;function arrayIncludesWith$1(o,$,_e){for(var et=-1,tt=o==null?0:o.length;++et=LARGE_ARRAY_SIZE){var ot=$?null:createSet(o);if(ot)return setToArray(ot);at=!1,tt=cacheHas,it=new SetCache}else it=$?[]:nt;e:for(;++et1?ut.setNode(ft,lt):ut.setNode(ft)}),this},tt.prototype.setNode=function(st,lt){return o.has(this._nodes,st)?(arguments.length>1&&(this._nodes[st]=lt),this):(this._nodes[st]=arguments.length>1?lt:this._defaultNodeLabelFn(st),this._isCompound&&(this._parent[st]=_e,this._children[st]={},this._children[_e][st]=!0),this._in[st]={},this._preds[st]={},this._out[st]={},this._sucs[st]={},++this._nodeCount,this)},tt.prototype.node=function(st){return this._nodes[st]},tt.prototype.hasNode=function(st){return o.has(this._nodes,st)},tt.prototype.removeNode=function(st){var lt=this;if(o.has(this._nodes,st)){var ct=function(ut){lt.removeEdge(lt._edgeObjs[ut])};delete this._nodes[st],this._isCompound&&(this._removeFromParentsChildList(st),delete this._parent[st],o.each(this.children(st),function(ut){lt.setParent(ut)}),delete this._children[st]),o.each(o.keys(this._in[st]),ct),delete this._in[st],delete this._preds[st],o.each(o.keys(this._out[st]),ct),delete this._out[st],delete this._sucs[st],--this._nodeCount}return this},tt.prototype.setParent=function(st,lt){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o.isUndefined(lt))lt=_e;else{lt+="";for(var ct=lt;!o.isUndefined(ct);ct=this.parent(ct))if(ct===st)throw new Error("Setting "+lt+" as parent of "+st+" would create a cycle");this.setNode(lt)}return this.setNode(st),this._removeFromParentsChildList(st),this._parent[st]=lt,this._children[lt][st]=!0,this},tt.prototype._removeFromParentsChildList=function(st){delete this._children[this._parent[st]][st]},tt.prototype.parent=function(st){if(this._isCompound){var lt=this._parent[st];if(lt!==_e)return lt}},tt.prototype.children=function(st){if(o.isUndefined(st)&&(st=_e),this._isCompound){var lt=this._children[st];if(lt)return o.keys(lt)}else{if(st===_e)return this.nodes();if(this.hasNode(st))return[]}},tt.prototype.predecessors=function(st){var lt=this._preds[st];if(lt)return o.keys(lt)},tt.prototype.successors=function(st){var lt=this._sucs[st];if(lt)return o.keys(lt)},tt.prototype.neighbors=function(st){var lt=this.predecessors(st);if(lt)return o.union(lt,this.successors(st))},tt.prototype.isLeaf=function(st){var lt;return this.isDirected()?lt=this.successors(st):lt=this.neighbors(st),lt.length===0},tt.prototype.filterNodes=function(st){var lt=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});lt.setGraph(this.graph());var ct=this;o.each(this._nodes,function(At,vt){st(vt)&<.setNode(vt,At)}),o.each(this._edgeObjs,function(At){lt.hasNode(At.v)&<.hasNode(At.w)&<.setEdge(At,ct.edge(At))});var ut={};function ft(At){var vt=ct.parent(At);return vt===void 0||lt.hasNode(vt)?(ut[At]=vt,vt):vt in ut?ut[vt]:ft(vt)}return this._isCompound&&o.each(lt.nodes(),function(At){lt.setParent(At,ft(At))}),lt},tt.prototype.setDefaultEdgeLabel=function(st){return o.isFunction(st)||(st=o.constant(st)),this._defaultEdgeLabelFn=st,this},tt.prototype.edgeCount=function(){return this._edgeCount},tt.prototype.edges=function(){return o.values(this._edgeObjs)},tt.prototype.setPath=function(st,lt){var ct=this,ut=arguments;return o.reduce(st,function(ft,At){return ut.length>1?ct.setEdge(ft,At,lt):ct.setEdge(ft,At),At}),this},tt.prototype.setEdge=function(){var st,lt,ct,ut,ft=!1,At=arguments[0];typeof At=="object"&&At!==null&&"v"in At?(st=At.v,lt=At.w,ct=At.name,arguments.length===2&&(ut=arguments[1],ft=!0)):(st=At,lt=arguments[1],ct=arguments[3],arguments.length>2&&(ut=arguments[2],ft=!0)),st=""+st,lt=""+lt,o.isUndefined(ct)||(ct=""+ct);var vt=nt(this._isDirected,st,lt,ct);if(o.has(this._edgeLabels,vt))return ft&&(this._edgeLabels[vt]=ut),this;if(!o.isUndefined(ct)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(st),this.setNode(lt),this._edgeLabels[vt]=ft?ut:this._defaultEdgeLabelFn(st,lt,ct);var ht=it(this._isDirected,st,lt,ct);return st=ht.v,lt=ht.w,Object.freeze(ht),this._edgeObjs[vt]=ht,rt(this._preds[lt],st),rt(this._sucs[st],lt),this._in[lt][vt]=ht,this._out[st][vt]=ht,this._edgeCount++,this},tt.prototype.edge=function(st,lt,ct){var ut=arguments.length===1?ot(this._isDirected,arguments[0]):nt(this._isDirected,st,lt,ct);return this._edgeLabels[ut]},tt.prototype.hasEdge=function(st,lt,ct){var ut=arguments.length===1?ot(this._isDirected,arguments[0]):nt(this._isDirected,st,lt,ct);return o.has(this._edgeLabels,ut)},tt.prototype.removeEdge=function(st,lt,ct){var ut=arguments.length===1?ot(this._isDirected,arguments[0]):nt(this._isDirected,st,lt,ct),ft=this._edgeObjs[ut];return ft&&(st=ft.v,lt=ft.w,delete this._edgeLabels[ut],delete this._edgeObjs[ut],at(this._preds[lt],st),at(this._sucs[st],lt),delete this._in[lt][ut],delete this._out[st][ut],this._edgeCount--),this},tt.prototype.inEdges=function(st,lt){var ct=this._in[st];if(ct){var ut=o.values(ct);return lt?o.filter(ut,function(ft){return ft.v===lt}):ut}},tt.prototype.outEdges=function(st,lt){var ct=this._out[st];if(ct){var ut=o.values(ct);return lt?o.filter(ut,function(ft){return ft.w===lt}):ut}},tt.prototype.nodeEdges=function(st,lt){var ct=this.inEdges(st,lt);if(ct)return ct.concat(this.outEdges(st,lt))};function rt(st,lt){st[lt]?st[lt]++:st[lt]=1}function at(st,lt){--st[lt]||delete st[lt]}function nt(st,lt,ct,ut){var ft=""+lt,At=""+ct;if(!st&&ft>At){var vt=ft;ft=At,At=vt}return ft+et+At+et+(o.isUndefined(ut)?$:ut)}function it(st,lt,ct,ut){var ft=""+lt,At=""+ct;if(!st&&ft>At){var vt=ft;ft=At,At=vt}var ht={v:ft,w:At};return ut&&(ht.name=ut),ht}function ot(st,lt){return nt(st,lt.v,lt.w,lt.name)}return graph}var version$1,hasRequiredVersion;function requireVersion(){return hasRequiredVersion||(hasRequiredVersion=1,version$1="2.1.8"),version$1}var lib$3,hasRequiredLib;function requireLib(){return hasRequiredLib||(hasRequiredLib=1,lib$3={Graph:requireGraph(),version:requireVersion()}),lib$3}var json,hasRequiredJson;function requireJson(){if(hasRequiredJson)return json;hasRequiredJson=1;var o=requireLodash(),$=requireGraph();json={write:_e,read:rt};function _e(at){var nt={options:{directed:at.isDirected(),multigraph:at.isMultigraph(),compound:at.isCompound()},nodes:et(at),edges:tt(at)};return o.isUndefined(at.graph())||(nt.value=o.clone(at.graph())),nt}function et(at){return o.map(at.nodes(),function(nt){var it=at.node(nt),ot=at.parent(nt),st={v:nt};return o.isUndefined(it)||(st.value=it),o.isUndefined(ot)||(st.parent=ot),st})}function tt(at){return o.map(at.edges(),function(nt){var it=at.edge(nt),ot={v:nt.v,w:nt.w};return o.isUndefined(nt.name)||(ot.name=nt.name),o.isUndefined(it)||(ot.value=it),ot})}function rt(at){var nt=new $(at.options).setGraph(at.value);return o.each(at.nodes,function(it){nt.setNode(it.v,it.value),it.parent&&nt.setParent(it.v,it.parent)}),o.each(at.edges,function(it){nt.setEdge({v:it.v,w:it.w,name:it.name},it.value)}),nt}return json}var components_1,hasRequiredComponents;function requireComponents(){if(hasRequiredComponents)return components_1;hasRequiredComponents=1;var o=requireLodash();components_1=$;function $(_e){var et={},tt=[],rt;function at(nt){o.has(et,nt)||(et[nt]=!0,rt.push(nt),o.each(_e.successors(nt),at),o.each(_e.predecessors(nt),at))}return o.each(_e.nodes(),function(nt){rt=[],at(nt),rt.length&&tt.push(rt)}),tt}return components_1}var priorityQueue,hasRequiredPriorityQueue;function requirePriorityQueue(){if(hasRequiredPriorityQueue)return priorityQueue;hasRequiredPriorityQueue=1;var o=requireLodash();priorityQueue=$;function $(){this._arr=[],this._keyIndices={}}return $.prototype.size=function(){return this._arr.length},$.prototype.keys=function(){return this._arr.map(function(_e){return _e.key})},$.prototype.has=function(_e){return o.has(this._keyIndices,_e)},$.prototype.priority=function(_e){var et=this._keyIndices[_e];if(et!==void 0)return this._arr[et].priority},$.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},$.prototype.add=function(_e,et){var tt=this._keyIndices;if(_e=String(_e),!o.has(tt,_e)){var rt=this._arr,at=rt.length;return tt[_e]=at,rt.push({key:_e,priority:et}),this._decrease(at),!0}return!1},$.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var _e=this._arr.pop();return delete this._keyIndices[_e.key],this._heapify(0),_e.key},$.prototype.decrease=function(_e,et){var tt=this._keyIndices[_e];if(et>this._arr[tt].priority)throw new Error("New priority is greater than current priority. Key: "+_e+" Old: "+this._arr[tt].priority+" New: "+et);this._arr[tt].priority=et,this._decrease(tt)},$.prototype._heapify=function(_e){var et=this._arr,tt=2*_e,rt=tt+1,at=_e;tt>1,!(et[rt].priority0&&(lt=st.removeMin(),ct=ot[lt],ct.distance!==Number.POSITIVE_INFINITY);)it(lt).forEach(ut);return ot}return dijkstra_1}var dijkstraAll_1,hasRequiredDijkstraAll;function requireDijkstraAll(){if(hasRequiredDijkstraAll)return dijkstraAll_1;hasRequiredDijkstraAll=1;var o=requireDijkstra(),$=requireLodash();dijkstraAll_1=_e;function _e(et,tt,rt){return $.transform(et.nodes(),function(at,nt){at[nt]=o(et,nt,tt,rt)},{})}return dijkstraAll_1}var tarjan_1,hasRequiredTarjan;function requireTarjan(){if(hasRequiredTarjan)return tarjan_1;hasRequiredTarjan=1;var o=requireLodash();tarjan_1=$;function $(_e){var et=0,tt=[],rt={},at=[];function nt(it){var ot=rt[it]={onStack:!0,lowlink:et,index:et++};if(tt.push(it),_e.successors(it).forEach(function(ct){o.has(rt,ct)?rt[ct].onStack&&(ot.lowlink=Math.min(ot.lowlink,rt[ct].index)):(nt(ct),ot.lowlink=Math.min(ot.lowlink,rt[ct].lowlink))}),ot.lowlink===ot.index){var st=[],lt;do lt=tt.pop(),rt[lt].onStack=!1,st.push(lt);while(it!==lt);at.push(st)}}return _e.nodes().forEach(function(it){o.has(rt,it)||nt(it)}),at}return tarjan_1}var findCycles_1,hasRequiredFindCycles;function requireFindCycles(){if(hasRequiredFindCycles)return findCycles_1;hasRequiredFindCycles=1;var o=requireLodash(),$=requireTarjan();findCycles_1=_e;function _e(et){return o.filter($(et),function(tt){return tt.length>1||tt.length===1&&et.hasEdge(tt[0],tt[0])})}return findCycles_1}var floydWarshall_1,hasRequiredFloydWarshall;function requireFloydWarshall(){if(hasRequiredFloydWarshall)return floydWarshall_1;hasRequiredFloydWarshall=1;var o=requireLodash();floydWarshall_1=_e;var $=o.constant(1);function _e(tt,rt,at){return et(tt,rt||$,at||function(nt){return tt.outEdges(nt)})}function et(tt,rt,at){var nt={},it=tt.nodes();return it.forEach(function(ot){nt[ot]={},nt[ot][ot]={distance:0},it.forEach(function(st){ot!==st&&(nt[ot][st]={distance:Number.POSITIVE_INFINITY})}),at(ot).forEach(function(st){var lt=st.v===ot?st.w:st.v,ct=rt(st);nt[ot][lt]={distance:ct,predecessor:ot}})}),it.forEach(function(ot){var st=nt[ot];it.forEach(function(lt){var ct=nt[lt];it.forEach(function(ut){var ft=ct[ot],At=st[ut],vt=ct[ut],ht=ft.distance+At.distance;ht0;){if(ot=it.removeMin(),o.has(nt,ot))at.setEdge(ot,nt[ot]);else{if(lt)throw new Error("Input graph is not connected: "+tt);lt=!0}tt.nodeEdges(ot).forEach(st)}return at}return prim_1}var alg,hasRequiredAlg;function requireAlg(){return hasRequiredAlg||(hasRequiredAlg=1,alg={components:requireComponents(),dijkstra:requireDijkstra(),dijkstraAll:requireDijkstraAll(),findCycles:requireFindCycles(),floydWarshall:requireFloydWarshall(),isAcyclic:requireIsAcyclic(),postorder:requirePostorder(),preorder:requirePreorder(),prim:requirePrim(),tarjan:requireTarjan(),topsort:requireTopsort()}),alg}var graphlib$1,hasRequiredGraphlib;function requireGraphlib(){if(hasRequiredGraphlib)return graphlib$1;hasRequiredGraphlib=1;var o=requireLib();return graphlib$1={Graph:o.Graph,json:requireJson(),alg:requireAlg(),version:o.version},graphlib$1}var graphlib;if(typeof commonjsRequire=="function")try{graphlib=requireGraphlib()}catch(o){}graphlib||(graphlib=window.graphlib);var graphlib_1=graphlib,cloneDeep_1,hasRequiredCloneDeep;function requireCloneDeep(){if(hasRequiredCloneDeep)return cloneDeep_1;hasRequiredCloneDeep=1;var o=require_baseClone(),$=1,_e=4;function et(tt){return o(tt,$|_e)}return cloneDeep_1=et,cloneDeep_1}var eq$1=eq_1,isArrayLike$1=isArrayLike_1,isIndex=_isIndex,isObject$9=isObject_1;function isIterateeCall$1(o,$,_e){if(!isObject$9(_e))return!1;var et=typeof $;return(et=="number"?isArrayLike$1(_e)&&isIndex($,_e.length):et=="string"&&$ in _e)?eq$1(_e[$],o):!1}var _isIterateeCall=isIterateeCall$1,defaults_1,hasRequiredDefaults;function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var o=_baseRest,$=eq_1,_e=_isIterateeCall,et=keysIn_1,tt=Object.prototype,rt=tt.hasOwnProperty,at=o(function(nt,it){nt=Object(nt);var ot=-1,st=it.length,lt=st>2?it[2]:void 0;for(lt&&_e(it[0],it[1],lt)&&(st=1);++ot-1?tt[rt?$[at]:at]:void 0}}var _createFind=createFind$1,toNumber$2=toNumber_1,INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite$1(o){if(!o)return o===0?o:0;if(o=toNumber$2(o),o===INFINITY||o===-INFINITY){var $=o<0?-1:1;return $*MAX_INTEGER}return o===o?o:0}var toFinite_1=toFinite$1,toFinite=toFinite_1;function toInteger$2(o){var $=toFinite(o),_e=$%1;return $===$?_e?$-_e:$:0}var toInteger_1=toInteger$2,baseFindIndex=_baseFindIndex,baseIteratee$5=_baseIteratee,toInteger$1=toInteger_1,nativeMax=Math.max;function findIndex$2(o,$,_e){var et=o==null?0:o.length;if(!et)return-1;var tt=_e==null?0:toInteger$1(_e);return tt<0&&(tt=nativeMax(et+tt,0)),baseFindIndex(o,baseIteratee$5($),tt)}var findIndex_1=findIndex$2,createFind=_createFind,findIndex$1=findIndex_1,find$1=createFind(findIndex$1),find_1=find$1,flatten_1,hasRequiredFlatten;function requireFlatten(){if(hasRequiredFlatten)return flatten_1;hasRequiredFlatten=1;var o=_baseFlatten;function $(_e){var et=_e==null?0:_e.length;return et?o(_e,1):[]}return flatten_1=$,flatten_1}var forIn_1,hasRequiredForIn;function requireForIn(){if(hasRequiredForIn)return forIn_1;hasRequiredForIn=1;var o=_baseFor,$=require_castFunction(),_e=keysIn_1;function et(tt,rt){return tt==null?tt:o(tt,$(rt),_e)}return forIn_1=et,forIn_1}var baseAssignValue$2=_baseAssignValue,baseForOwn=_baseForOwn,baseIteratee$4=_baseIteratee;function mapValues(o,$){var _e={};return $=baseIteratee$4($),baseForOwn(o,function(et,tt,rt){baseAssignValue$2(_e,tt,$(et,tt,rt))}),_e}var mapValues_1=mapValues,isSymbol=isSymbol_1;function baseExtremum$1(o,$,_e){for(var et=-1,tt=o.length;++et$}var _baseGt=baseGt$1,max_1,hasRequiredMax;function requireMax(){if(hasRequiredMax)return max_1;hasRequiredMax=1;var o=_baseExtremum,$=_baseGt,_e=identity_1;function et(tt){return tt&&tt.length?o(tt,_e,$):void 0}return max_1=et,max_1}var baseAssignValue$1=_baseAssignValue,eq=eq_1;function assignMergeValue$2(o,$,_e){(_e!==void 0&&!eq(o[$],_e)||_e===void 0&&!($ in o))&&baseAssignValue$1(o,$,_e)}var _assignMergeValue=assignMergeValue$2,baseGetTag=_baseGetTag,getPrototype=_getPrototype,isObjectLike=isObjectLike_1,objectTag="[object Object]",funcProto=Function.prototype,objectProto$1=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$2=objectProto$1.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$2(o){if(!isObjectLike(o)||baseGetTag(o)!=objectTag)return!1;var $=getPrototype(o);if($===null)return!0;var _e=hasOwnProperty$2.call($,"constructor")&&$.constructor;return typeof _e=="function"&&_e instanceof _e&&funcToString.call(_e)==objectCtorString}var isPlainObject_1=isPlainObject$2;function safeGet$2(o,$){if(!($==="constructor"&&typeof o[$]=="function")&&$!="__proto__")return o[$]}var _safeGet=safeGet$2,copyObject=_copyObject,keysIn$1=keysIn_1;function toPlainObject$1(o){return copyObject(o,keysIn$1(o))}var toPlainObject_1=toPlainObject$1,assignMergeValue$1=_assignMergeValue,cloneBuffer=_cloneBufferExports,cloneTypedArray=_cloneTypedArray,copyArray=_copyArray,initCloneObject=_initCloneObject,isArguments$1=isArguments_1,isArray$2=isArray_1,isArrayLikeObject=isArrayLikeObject_1,isBuffer$1=isBufferExports,isFunction$4=isFunction_1,isObject$8=isObject_1,isPlainObject$1=isPlainObject_1,isTypedArray=isTypedArray_1,safeGet$1=_safeGet,toPlainObject=toPlainObject_1;function baseMergeDeep$1(o,$,_e,et,tt,rt,at){var nt=safeGet$1(o,_e),it=safeGet$1($,_e),ot=at.get(it);if(ot){assignMergeValue$1(o,_e,ot);return}var st=rt?rt(nt,it,_e+"",o,$,at):void 0,lt=st===void 0;if(lt){var ct=isArray$2(it),ut=!ct&&isBuffer$1(it),ft=!ct&&!ut&&isTypedArray(it);st=it,ct||ut||ft?isArray$2(nt)?st=nt:isArrayLikeObject(nt)?st=copyArray(nt):ut?(lt=!1,st=cloneBuffer(it,!0)):ft?(lt=!1,st=cloneTypedArray(it,!0)):st=[]:isPlainObject$1(it)||isArguments$1(it)?(st=nt,isArguments$1(nt)?st=toPlainObject(nt):(!isObject$8(nt)||isFunction$4(nt))&&(st=initCloneObject(it))):lt=!1}lt&&(at.set(it,st),tt(st,it,et,rt,at),at.delete(it)),assignMergeValue$1(o,_e,st)}var _baseMergeDeep=baseMergeDeep$1,Stack=_Stack,assignMergeValue=_assignMergeValue,baseFor=_baseFor,baseMergeDeep=_baseMergeDeep,isObject$7=isObject_1,keysIn=keysIn_1,safeGet=_safeGet;function baseMerge$1(o,$,_e,et,tt){o!==$&&baseFor($,function(rt,at){if(tt||(tt=new Stack),isObject$7(rt))baseMergeDeep(o,$,at,_e,baseMerge$1,et,tt);else{var nt=et?et(safeGet(o,at),rt,at+"",o,$,tt):void 0;nt===void 0&&(nt=rt),assignMergeValue(o,at,nt)}},keysIn)}var _baseMerge=baseMerge$1,baseRest=_baseRest,isIterateeCall=_isIterateeCall;function createAssigner$1(o){return baseRest(function($,_e){var et=-1,tt=_e.length,rt=tt>1?_e[tt-1]:void 0,at=tt>2?_e[2]:void 0;for(rt=o.length>3&&typeof rt=="function"?(tt--,rt):void 0,at&&isIterateeCall(_e[0],_e[1],at)&&(rt=tt<3?void 0:rt,tt=1),$=Object($);++etet||nt&&it&&st&&!ot&&!lt||rt&&it&&st||!tt&&st||!at)return 1;if(!rt&&!nt&&!lt&&_e=ot)return st;var lt=tt[rt];return st*(lt=="desc"?-1:1)}}return _e.index-et.index}return _compareMultiple=$,_compareMultiple}var _baseOrderBy,hasRequired_baseOrderBy;function require_baseOrderBy(){if(hasRequired_baseOrderBy)return _baseOrderBy;hasRequired_baseOrderBy=1;var o=_arrayMap,$=_baseGet,_e=_baseIteratee,et=_baseMap,tt=require_baseSortBy(),rt=_baseUnary,at=require_compareMultiple(),nt=identity_1,it=isArray_1;function ot(st,lt,ct){lt.length?lt=o(lt,function(At){return it(At)?function(vt){return $(vt,At.length===1?At[0]:At)}:At}):lt=[nt];var ut=-1;lt=o(lt,rt(_e));var ft=et(st,function(At,vt,ht){var mt=o(lt,function(bt){return bt(At)});return{criteria:mt,index:++ut,value:At}});return tt(ft,function(At,vt){return at(At,vt,ct)})}return _baseOrderBy=ot,_baseOrderBy}var sortBy_1,hasRequiredSortBy;function requireSortBy(){if(hasRequiredSortBy)return sortBy_1;hasRequiredSortBy=1;var o=_baseFlatten,$=require_baseOrderBy(),_e=_baseRest,et=_isIterateeCall,tt=_e(function(rt,at){if(rt==null)return[];var nt=at.length;return nt>1&&et(rt,at[0],at[1])?at=[]:nt>2&&et(at[0],at[1],at[2])&&(at=[at[0]]),$(rt,o(at,1),[])});return sortBy_1=tt,sortBy_1}var uniqueId_1,hasRequiredUniqueId;function requireUniqueId(){if(hasRequiredUniqueId)return uniqueId_1;hasRequiredUniqueId=1;var o=toString_1,$=0;function _e(et){var tt=++$;return o(et)+tt}return uniqueId_1=_e,uniqueId_1}var _baseZipObject,hasRequired_baseZipObject;function require_baseZipObject(){if(hasRequired_baseZipObject)return _baseZipObject;hasRequired_baseZipObject=1;function o($,_e,et){for(var tt=-1,rt=$.length,at=_e.length,nt={};++tt0;--nt)if(at=$[nt].dequeue(),at){et=et.concat(removeNode(o,$,_e,at,!0));break}}}return et}function removeNode(o,$,_e,et,tt){var rt=tt?[]:void 0;return _$o.forEach(o.inEdges(et.v),function(at){var nt=o.edge(at),it=o.node(at.v);tt&&rt.push({v:at.v,w:at.w}),it.out-=nt,assignBucket($,_e,it)}),_$o.forEach(o.outEdges(et.v),function(at){var nt=o.edge(at),it=at.w,ot=o.node(it);ot.in-=nt,assignBucket($,_e,ot)}),o.removeNode(et.v),rt}function buildState(o,$){var _e=new Graph$8,et=0,tt=0;_$o.forEach(o.nodes(),function(nt){_e.setNode(nt,{v:nt,in:0,out:0})}),_$o.forEach(o.edges(),function(nt){var it=_e.edge(nt.v,nt.w)||0,ot=$(nt),st=it+ot;_e.setEdge(nt.v,nt.w,st),tt=Math.max(tt,_e.node(nt.v).out+=ot),et=Math.max(et,_e.node(nt.w).in+=ot)});var rt=_$o.range(tt+et+3).map(function(){return new List$5}),at=et+1;return _$o.forEach(_e.nodes(),function(nt){assignBucket(rt,at,_e.node(nt))}),{graph:_e,buckets:rt,zeroIdx:at}}function assignBucket(o,$,_e){_e.out?_e.in?o[_e.out-_e.in+$].enqueue(_e):o[o.length-1].enqueue(_e):o[0].enqueue(_e)}var _$n=lodash_1,greedyFAS=greedyFas,acyclic$1={run:run$3,undo:undo$2};function run$3(o){var $=o.graph().acyclicer==="greedy"?greedyFAS(o,_e(o)):dfsFAS(o);_$n.forEach($,function(et){var tt=o.edge(et);o.removeEdge(et),tt.forwardName=et.name,tt.reversed=!0,o.setEdge(et.w,et.v,tt,_$n.uniqueId("rev"))});function _e(et){return function(tt){return et.edge(tt).weight}}}function dfsFAS(o){var $=[],_e={},et={};function tt(rt){_$n.has(et,rt)||(et[rt]=!0,_e[rt]=!0,_$n.forEach(o.outEdges(rt),function(at){_$n.has(_e,at.w)?$.push(at):tt(at.w)}),delete _e[rt])}return _$n.forEach(o.nodes(),tt),$}function undo$2(o){_$n.forEach(o.edges(),function($){var _e=o.edge($);if(_e.reversed){o.removeEdge($);var et=_e.forwardName;delete _e.reversed,delete _e.forwardName,o.setEdge($.w,$.v,_e,et)}})}var _$m=lodash_1,Graph$7=graphlib_1.Graph,util$h={addDummyNode,simplify:simplify$1,asNonCompoundGraph,successorWeights,predecessorWeights,intersectRect,buildLayerMatrix,normalizeRanks:normalizeRanks$1,removeEmptyRanks:removeEmptyRanks$1,addBorderNode:addBorderNode$1,maxRank,partition:partition$1,time,notime};function addDummyNode(o,$,_e,et){var tt;do tt=_$m.uniqueId(et);while(o.hasNode(tt));return _e.dummy=$,o.setNode(tt,_e),tt}function simplify$1(o){var $=new Graph$7().setGraph(o.graph());return _$m.forEach(o.nodes(),function(_e){$.setNode(_e,o.node(_e))}),_$m.forEach(o.edges(),function(_e){var et=$.edge(_e.v,_e.w)||{weight:0,minlen:1},tt=o.edge(_e);$.setEdge(_e.v,_e.w,{weight:et.weight+tt.weight,minlen:Math.max(et.minlen,tt.minlen)})}),$}function asNonCompoundGraph(o){var $=new Graph$7({multigraph:o.isMultigraph()}).setGraph(o.graph());return _$m.forEach(o.nodes(),function(_e){o.children(_e).length||$.setNode(_e,o.node(_e))}),_$m.forEach(o.edges(),function(_e){$.setEdge(_e,o.edge(_e))}),$}function successorWeights(o){var $=_$m.map(o.nodes(),function(_e){var et={};return _$m.forEach(o.outEdges(_e),function(tt){et[tt.w]=(et[tt.w]||0)+o.edge(tt).weight}),et});return _$m.zipObject(o.nodes(),$)}function predecessorWeights(o){var $=_$m.map(o.nodes(),function(_e){var et={};return _$m.forEach(o.inEdges(_e),function(tt){et[tt.v]=(et[tt.v]||0)+o.edge(tt).weight}),et});return _$m.zipObject(o.nodes(),$)}function intersectRect(o,$){var _e=o.x,et=o.y,tt=$.x-_e,rt=$.y-et,at=o.width/2,nt=o.height/2;if(!tt&&!rt)throw new Error("Not possible to find intersection inside of the rectangle");var it,ot;return Math.abs(rt)*at>Math.abs(tt)*nt?(rt<0&&(nt=-nt),it=nt*tt/rt,ot=nt):(tt<0&&(at=-at),it=at,ot=at*rt/tt),{x:_e+it,y:et+ot}}function buildLayerMatrix(o){var $=_$m.map(_$m.range(maxRank(o)+1),function(){return[]});return _$m.forEach(o.nodes(),function(_e){var et=o.node(_e),tt=et.rank;_$m.isUndefined(tt)||($[tt][et.order]=_e)}),$}function normalizeRanks$1(o){var $=_$m.min(_$m.map(o.nodes(),function(_e){return o.node(_e).rank}));_$m.forEach(o.nodes(),function(_e){var et=o.node(_e);_$m.has(et,"rank")&&(et.rank-=$)})}function removeEmptyRanks$1(o){var $=_$m.min(_$m.map(o.nodes(),function(rt){return o.node(rt).rank})),_e=[];_$m.forEach(o.nodes(),function(rt){var at=o.node(rt).rank-$;_e[at]||(_e[at]=[]),_e[at].push(rt)});var et=0,tt=o.graph().nodeRankFactor;_$m.forEach(_e,function(rt,at){_$m.isUndefined(rt)&&at%tt!==0?--et:et&&_$m.forEach(rt,function(nt){o.node(nt).rank+=et})})}function addBorderNode$1(o,$,_e,et){var tt={width:0,height:0};return arguments.length>=4&&(tt.rank=_e,tt.order=et),addDummyNode(o,"border",tt,$)}function maxRank(o){return _$m.max(_$m.map(o.nodes(),function($){var _e=o.node($).rank;if(!_$m.isUndefined(_e))return _e}))}function partition$1(o,$){var _e={lhs:[],rhs:[]};return _$m.forEach(o,function(et){$(et)?_e.lhs.push(et):_e.rhs.push(et)}),_e}function time(o,$){var _e=_$m.now();try{return $()}finally{console.log(o+" time: "+(_$m.now()-_e)+"ms")}}function notime(o,$){return $()}var _$l=lodash_1,util$g=util$h,normalize$1={run:run$2,undo:undo$1};function run$2(o){o.graph().dummyChains=[],_$l.forEach(o.edges(),function($){normalizeEdge(o,$)})}function normalizeEdge(o,$){var _e=$.v,et=o.node(_e).rank,tt=$.w,rt=o.node(tt).rank,at=$.name,nt=o.edge($),it=nt.labelRank;if(rt!==et+1){o.removeEdge($);var ot,st,lt;for(lt=0,++et;etat.lim&&(nt=at,it=!0);var ot=_$i.filter($.edges(),function(st){return it===isDescendant(o,o.node(st.v),nt)&&it!==isDescendant(o,o.node(st.w),nt)});return _$i.minBy(ot,function(st){return slack($,st)})}function exchangeEdges(o,$,_e,et){var tt=_e.v,rt=_e.w;o.removeEdge(tt,rt),o.setEdge(et.v,et.w,{}),initLowLimValues(o),initCutValues(o,$),updateRanks(o,$)}function updateRanks(o,$){var _e=_$i.find(o.nodes(),function(tt){return!$.node(tt).parent}),et=preorder(o,_e);et=et.slice(1),_$i.forEach(et,function(tt){var rt=o.node(tt).parent,at=$.edge(tt,rt),nt=!1;at||(at=$.edge(rt,tt),nt=!0),$.node(tt).rank=$.node(rt).rank+(nt?at.minlen:-at.minlen)})}function isTreeEdge(o,$,_e){return o.hasEdge($,_e)}function isDescendant(o,$,_e){return _e.low<=$.lim&&$.lim<=_e.lim}var rankUtil=util$f,longestPath=rankUtil.longestPath,feasibleTree=feasibleTree_1,networkSimplex=networkSimplex_1,rank_1=rank$1;function rank$1(o){switch(o.graph().ranker){case"network-simplex":networkSimplexRanker(o);break;case"tight-tree":tightTreeRanker(o);break;case"longest-path":longestPathRanker(o);break;default:networkSimplexRanker(o)}}var longestPathRanker=longestPath;function tightTreeRanker(o){longestPath(o),feasibleTree(o)}function networkSimplexRanker(o){networkSimplex(o)}var _$h=lodash_1,parentDummyChains_1=parentDummyChains$1;function parentDummyChains$1(o){var $=postorder(o);_$h.forEach(o.graph().dummyChains,function(_e){for(var et=o.node(_e),tt=et.edgeObj,rt=findPath(o,$,tt.v,tt.w),at=rt.path,nt=rt.lca,it=0,ot=at[it],st=!0;_e!==tt.w;){if(et=o.node(_e),st){for(;(ot=at[it])!==nt&&o.node(ot).maxRankat||nt>$[it].lim));for(ot=it,it=et;(it=o.parent(it))!==ot;)rt.push(it);return{path:tt.concat(rt.reverse()),lca:ot}}function postorder(o){var $={},_e=0;function et(tt){var rt=_e;_$h.forEach(o.children(tt),et),$[tt]={low:rt,lim:_e++}}return _$h.forEach(o.children(),et),$}var _$g=lodash_1,util$e=util$h,nestingGraph$1={run:run$1,cleanup};function run$1(o){var $=util$e.addDummyNode(o,"root",{},"_root"),_e=treeDepths(o),et=_$g.max(_$g.values(_e))-1,tt=2*et+1;o.graph().nestingRoot=$,_$g.forEach(o.edges(),function(at){o.edge(at).minlen*=tt});var rt=sumWeights(o)+1;_$g.forEach(o.children(),function(at){dfs(o,$,tt,rt,et,_e,at)}),o.graph().nodeRankFactor=tt}function dfs(o,$,_e,et,tt,rt,at){var nt=o.children(at);if(!nt.length){at!==$&&o.setEdge($,at,{weight:0,minlen:_e});return}var it=util$e.addBorderNode(o,"_bt"),ot=util$e.addBorderNode(o,"_bb"),st=o.node(at);o.setParent(it,at),st.borderTop=it,o.setParent(ot,at),st.borderBottom=ot,_$g.forEach(nt,function(lt){dfs(o,$,_e,et,tt,rt,lt);var ct=o.node(lt),ut=ct.borderTop?ct.borderTop:lt,ft=ct.borderBottom?ct.borderBottom:lt,At=ct.borderTop?et:2*et,vt=ut!==ft?1:tt-rt[at]+1;o.setEdge(it,ut,{weight:At,minlen:vt,nestingEdge:!0}),o.setEdge(ft,ot,{weight:At,minlen:vt,nestingEdge:!0})}),o.parent(at)||o.setEdge($,it,{weight:0,minlen:tt+rt[at]})}function treeDepths(o){var $={};function _e(et,tt){var rt=o.children(et);rt&&rt.length&&_$g.forEach(rt,function(at){_e(at,tt+1)}),$[et]=tt}return _$g.forEach(o.children(),function(et){_e(et,1)}),$}function sumWeights(o){return _$g.reduce(o.edges(),function($,_e){return $+o.edge(_e).weight},0)}function cleanup(o){var $=o.graph();o.removeNode($.nestingRoot),delete $.nestingRoot,_$g.forEach(o.edges(),function(_e){var et=o.edge(_e);et.nestingEdge&&o.removeEdge(_e)})}var _$f=lodash_1,util$d=util$h,addBorderSegments_1=addBorderSegments$1;function addBorderSegments$1(o){function $(_e){var et=o.children(_e),tt=o.node(_e);if(et.length&&_$f.forEach(et,$),_$f.has(tt,"minRank")){tt.borderLeft=[],tt.borderRight=[];for(var rt=tt.minRank,at=tt.maxRank+1;rt0;)st%2&&(lt+=nt[st+1]),st=st-1>>1,nt[st]+=ot.weight;it+=ot.weight*lt})),it}var _$b=lodash_1,barycenter_1=barycenter$1;function barycenter$1(o,$){return _$b.map($,function(_e){var et=o.inEdges(_e);if(et.length){var tt=_$b.reduce(et,function(rt,at){var nt=o.edge(at),it=o.node(at.v);return{sum:rt.sum+nt.weight*it.order,weight:rt.weight+nt.weight}},{sum:0,weight:0});return{v:_e,barycenter:tt.sum/tt.weight,weight:tt.weight}}else return{v:_e}})}var _$a=lodash_1,resolveConflicts_1=resolveConflicts$1;function resolveConflicts$1(o,$){var _e={};_$a.forEach(o,function(tt,rt){var at=_e[tt.v]={indegree:0,in:[],out:[],vs:[tt.v],i:rt};_$a.isUndefined(tt.barycenter)||(at.barycenter=tt.barycenter,at.weight=tt.weight)}),_$a.forEach($.edges(),function(tt){var rt=_e[tt.v],at=_e[tt.w];!_$a.isUndefined(rt)&&!_$a.isUndefined(at)&&(at.indegree++,rt.out.push(_e[tt.w]))});var et=_$a.filter(_e,function(tt){return!tt.indegree});return doResolveConflicts(et)}function doResolveConflicts(o){var $=[];function _e(rt){return function(at){at.merged||(_$a.isUndefined(at.barycenter)||_$a.isUndefined(rt.barycenter)||at.barycenter>=rt.barycenter)&&mergeEntries(rt,at)}}function et(rt){return function(at){at.in.push(rt),--at.indegree===0&&o.push(at)}}for(;o.length;){var tt=o.pop();$.push(tt),_$a.forEach(tt.in.reverse(),_e(tt)),_$a.forEach(tt.out,et(tt))}return _$a.map(_$a.filter($,function(rt){return!rt.merged}),function(rt){return _$a.pick(rt,["vs","i","barycenter","weight"])})}function mergeEntries(o,$){var _e=0,et=0;o.weight&&(_e+=o.barycenter*o.weight,et+=o.weight),$.weight&&(_e+=$.barycenter*$.weight,et+=$.weight),o.vs=$.vs.concat(o.vs),o.barycenter=_e/et,o.weight=et,o.i=Math.min($.i,o.i),$.merged=!0}var _$9=lodash_1,util$c=util$h,sort_1=sort$1;function sort$1(o,$){var _e=util$c.partition(o,function(st){return _$9.has(st,"barycenter")}),et=_e.lhs,tt=_$9.sortBy(_e.rhs,function(st){return-st.i}),rt=[],at=0,nt=0,it=0;et.sort(compareWithBias(!!$)),it=consumeUnsortable(rt,tt,it),_$9.forEach(et,function(st){it+=st.vs.length,rt.push(st.vs),at+=st.barycenter*st.weight,nt+=st.weight,it=consumeUnsortable(rt,tt,it)});var ot={vs:_$9.flatten(rt,!0)};return nt&&(ot.barycenter=at/nt,ot.weight=nt),ot}function consumeUnsortable(o,$,_e){for(var et;$.length&&(et=_$9.last($)).i<=_e;)$.pop(),o.push(et.vs),_e++;return _e}function compareWithBias(o){return function($,_e){return $.barycenter<_e.barycenter?-1:$.barycenter>_e.barycenter?1:o?_e.i-$.i:$.i-_e.i}}var _$8=lodash_1,barycenter=barycenter_1,resolveConflicts=resolveConflicts_1,sort=sort_1,sortSubgraph_1=sortSubgraph$1;function sortSubgraph$1(o,$,_e,et){var tt=o.children($),rt=o.node($),at=rt?rt.borderLeft:void 0,nt=rt?rt.borderRight:void 0,it={};at&&(tt=_$8.filter(tt,function(ft){return ft!==at&&ft!==nt}));var ot=barycenter(o,tt);_$8.forEach(ot,function(ft){if(o.children(ft.v).length){var At=sortSubgraph$1(o,ft.v,_e,et);it[ft.v]=At,_$8.has(At,"barycenter")&&mergeBarycenters(ft,At)}});var st=resolveConflicts(ot,_e);expandSubgraphs(st,it);var lt=sort(st,et);if(at&&(lt.vs=_$8.flatten([at,lt.vs,nt],!0),o.predecessors(at).length)){var ct=o.node(o.predecessors(at)[0]),ut=o.node(o.predecessors(nt)[0]);_$8.has(lt,"barycenter")||(lt.barycenter=0,lt.weight=0),lt.barycenter=(lt.barycenter*lt.weight+ct.order+ut.order)/(lt.weight+2),lt.weight+=2}return lt}function expandSubgraphs(o,$){_$8.forEach(o,function(_e){_e.vs=_$8.flatten(_e.vs.map(function(et){return $[et]?$[et].vs:et}),!0)})}function mergeBarycenters(o,$){_$8.isUndefined(o.barycenter)?(o.barycenter=$.barycenter,o.weight=$.weight):(o.barycenter=(o.barycenter*o.weight+$.barycenter*$.weight)/(o.weight+$.weight),o.weight+=$.weight)}var _$7=lodash_1,Graph$5=graphlib_1.Graph,buildLayerGraph_1=buildLayerGraph$1;function buildLayerGraph$1(o,$,_e){var et=createRootNode(o),tt=new Graph$5({compound:!0}).setGraph({root:et}).setDefaultNodeLabel(function(rt){return o.node(rt)});return _$7.forEach(o.nodes(),function(rt){var at=o.node(rt),nt=o.parent(rt);(at.rank===$||at.minRank<=$&&$<=at.maxRank)&&(tt.setNode(rt),tt.setParent(rt,nt||et),_$7.forEach(o[_e](rt),function(it){var ot=it.v===rt?it.w:it.v,st=tt.edge(ot,rt),lt=_$7.isUndefined(st)?0:st.weight;tt.setEdge(ot,rt,{weight:o.edge(it).weight+lt})}),_$7.has(at,"minRank")&&tt.setNode(rt,{borderLeft:at.borderLeft[$],borderRight:at.borderRight[$]}))}),tt}function createRootNode(o){for(var $;o.hasNode($=_$7.uniqueId("_root")););return $}var _$6=lodash_1,addSubgraphConstraints_1=addSubgraphConstraints$1;function addSubgraphConstraints$1(o,$,_e){var et={},tt;_$6.forEach(_e,function(rt){for(var at=o.parent(rt),nt,it;at;){if(nt=o.parent(at),nt?(it=et[nt],et[nt]=at):(it=tt,tt=at),it&&it!==at){$.setEdge(it,at);return}at=nt}})}var _$5=lodash_1,initOrder=initOrder_1,crossCount=crossCount_1,sortSubgraph=sortSubgraph_1,buildLayerGraph=buildLayerGraph_1,addSubgraphConstraints=addSubgraphConstraints_1,Graph$4=graphlib_1.Graph,util$b=util$h,order_1=order$1;function order$1(o){var $=util$b.maxRank(o),_e=buildLayerGraphs(o,_$5.range(1,$+1),"inEdges"),et=buildLayerGraphs(o,_$5.range($-1,-1,-1),"outEdges"),tt=initOrder(o);assignOrder(o,tt);for(var rt=Number.POSITIVE_INFINITY,at,nt=0,it=0;it<4;++nt,++it){sweepLayerGraphs(nt%2?_e:et,nt%4>=2),tt=util$b.buildLayerMatrix(o);var ot=crossCount(o,tt);otot)&&addConflict(_e,ct,st)})})}function tt(rt,at){var nt=-1,it,ot=0;return _$4.forEach(at,function(st,lt){if(o.node(st).dummy==="border"){var ct=o.predecessors(st);ct.length&&(it=o.node(ct[0]).order,et(at,ot,lt,nt,it),ot=lt,nt=it)}et(at,ot,at.length,it,rt.length)}),at}return _$4.reduce($,tt),_e}function findOtherInnerSegmentNode(o,$){if(o.node($).dummy)return _$4.find(o.predecessors($),function(_e){return o.node(_e).dummy})}function addConflict(o,$,_e){if($>_e){var et=$;$=_e,_e=et}var tt=o[$];tt||(o[$]=tt={}),tt[_e]=!0}function hasConflict(o,$,_e){if($>_e){var et=$;$=_e,_e=et}return _$4.has(o[$],_e)}function verticalAlignment(o,$,_e,et){var tt={},rt={},at={};return _$4.forEach($,function(nt){_$4.forEach(nt,function(it,ot){tt[it]=it,rt[it]=it,at[it]=ot})}),_$4.forEach($,function(nt){var it=-1;_$4.forEach(nt,function(ot){var st=et(ot);if(st.length){st=_$4.sortBy(st,function(At){return at[At]});for(var lt=(st.length-1)/2,ct=Math.floor(lt),ut=Math.ceil(lt);ct<=ut;++ct){var ft=st[ct];rt[ot]===ot&&it1?at-1:0),it=1;it{rt.parent.trim().length!==0&&rt.child.trim().length!==0&&(_e[rt.parent]||(et.push({data:{id:rt.parent}}),_e[rt.parent]=!0),_e[rt.child]||(et.push({data:{id:rt.child}}),_e[rt.child]=!0),tt.push({data:{source:rt.parent,target:rt.child,label:`${rt.callCount}`}}))}),cytoscape_cjs({container:this.cytoscapeRef.current,boxSelectionEnabled:!1,autounselectify:!0,layout:{name:"dagre"},minZoom:.5,style:[{selector:"node",style:{content:"data(id)","text-opacity":.5,"text-valign":"center","text-halign":"right","background-color":"#11939A"}},{selector:"edge",style:{width:4,label:"data(label)","target-arrow-shape":"triangle","line-color":"gray","target-arrow-color":"gray","curve-style":"bezier"}}],elements:{nodes:et,edges:tt}})}render(){return jsxRuntimeExports.jsx("div",{id:"cy",style:{width:"100%",height:"100%",position:"absolute",left:0,top:0},ref:this.cytoscapeRef})}}Mu(DAG,"propTypes",{serviceCalls:propTypesExports.arrayOf(propTypesExports.shape({parent:propTypesExports.string,child:propTypesExports.string,callCount:propTypesExports.number}))}),Mu(DAG,"defaultProps",{serviceCalls:[]});var reactVisForceExports={},reactVisForce={get exports(){return reactVisForceExports},set exports(o){reactVisForceExports=o}};(function(o,$){(function(et,tt){o.exports=tt(reactExports)})(commonjsGlobal,function(_e){return function(et){var tt={};function rt(at){if(tt[at])return tt[at].exports;var nt=tt[at]={exports:{},id:at,loaded:!1};return et[at].call(nt.exports,nt,nt.exports,rt),nt.loaded=!0,nt.exports}return rt.m=et,rt.c=tt,rt.p="/react-vis-force/",rt(0)}([function(et,tt,rt){rt(9),et.exports=rt(15)},function(et,tt,rt){et.exports=rt(32)()},function(et,tt){et.exports=_e},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(It){return typeof It}:function(It){return It&&typeof Symbol=="function"&&It.constructor===Symbol&&It!==Symbol.prototype?"symbol":typeof It};tt.asStrengthFn=At,tt.nodeId=Ct,tt.linkId=gt,tt.runSimulation=wt,tt.createSimulation=_t,tt.updateSimulation=Et;var nt=rt(22),it=rt(19),ot=st(it);function st(It){return It&&It.__esModule?It:{default:It}}function lt(It){if(Array.isArray(It)){for(var Tt=0,Rt=Array(It.length);Tt1?Tt-1:0),Ot=1;Ot"u"?"undefined":at(It)){case"function":return It;default:return function(){return It}}}function vt(It,Tt){return ut.forEach(function(Rt){({}).hasOwnProperty.call(Tt,Rt)&&It[Rt](Tt[Rt])}),It}function ht(It,Tt){var Rt=Tt.height,Ot=Tt.width;It.force("center")||It.force("center",(0,nt.forceCenter)());var Mt=Ot?Ot/2:0;Ot>0&&It.force("center").x()!==Mt&&(It.shouldRun=!0,It.force("center").x(Mt));var Bt=Rt?Rt/2:0;return Rt>0&&It.force("center").y()!==Bt&&(It.shouldRun=!0,It.force("center").y(Bt)),It}function mt(It,Tt){var Rt=Tt.strength,Ot=Rt===void 0?{}:Rt;It.force("charge")||It.force("charge",(0,nt.forceManyBody)()),Ot.charge!==It.strength.charge&&(It.strength.charge=Ot.charge,It.shouldRun=!0,It.force("charge").strength(At(Ot.charge)))}function bt(It,Tt){var Rt=Tt.radiusMargin,Ot=Rt===void 0?3:Rt,Mt=Tt.strength,Bt=Mt===void 0?{}:Mt;It.force("collide")||It.force("collide",(0,nt.forceCollide)()),It.radiusMargin!==Ot&&(It.radiusMargin=Ot,It.shouldRun=!0,It.force("collide").radius(function(Lt){var jt=Lt.radius;return jt+Ot})),Bt.collide!==It.strength.collide&&(It.strength.collide=Bt.collide,It.shouldRun=!0,It.force("collide").strength(At(Bt.collide)()))}function dt(It,Tt){var Rt=Tt.data,Ot=Rt.nodes,Mt=Rt.links,Bt=Tt.linkAttrs,Lt=Bt===void 0?[]:Bt,jt=Tt.nodeAttrs,zt=jt===void 0?[]:jt;It.force("link")||It.force("link",(0,nt.forceLink)().id(Ct));var Nt=new Set(It.nodes().map(Ct)),Wt=new Set(Ot.map(Ct));(0,ot.default)(Nt,Wt)||(It.shouldRun=!0,It.nodes(ft.apply(void 0,[Ot,"id","radius","fx","fy"].concat(lt(zt)))));var qt=new Set(It.force("link").links().map(gt)),nr=new Set(Mt.map(gt));(0,ot.default)(qt,nr)||(It.shouldRun=!0,It.force("link").links(ft.apply(void 0,[Mt,"source","target","value"].concat(lt(Lt)))))}function xt(It,Tt){var Rt=Tt.strength,Ot=Rt===void 0?{}:Rt;It.force("x")||It.force("x",(0,nt.forceX)()),It.force("y")||It.force("y",(0,nt.forceY)()),Ot.x!==It.strength.x&&(It.strength.x=Ot.x,It.shouldRun=!0,It.force("x").strength(At(Ot.x))),Ot.y!==It.strength.y&&(It.strength.y=Ot.y,It.shouldRun=!0,It.force("y").strength(At(Ot.y)))}function Ct(It){return It.id}function gt(It){return(It.source.id||It.source)+"=>"+(It.target.id||It.target)}function wt(It){for(It.restart();It.alpha()>It.alphaMin();)It.tick();return It.stop(),It}function _t(It){var Tt=(0,nt.forceSimulation)();return Tt.strength={},Et(Tt,It)}function Et(It,Tt){return vt(It,Tt),ht(It,Tt),mt(It,Tt),bt(It,Tt),dt(It,Tt),xt(It,Tt),!Tt.animate&&It.shouldRun&&wt(It),It.shouldRun=null,It}},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=Object.assign||function(Lt){for(var jt=1;jt=0||Object.prototype.hasOwnProperty.call(Lt,Nt)&&(zt[Nt]=Lt[Nt]);return zt}function _t(Lt,jt,zt){return jt in Lt?Object.defineProperty(Lt,jt,{value:zt,enumerable:!0,configurable:!0,writable:!0}):Lt[jt]=zt,Lt}function Et(Lt,jt){if(!(Lt instanceof jt))throw new TypeError("Cannot call a class as a function")}function It(Lt,jt){if(!Lt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return jt&&(typeof jt=="object"||typeof jt=="function")?jt:Lt}function Tt(Lt,jt){if(typeof jt!="function"&&jt!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof jt);Lt.prototype=Object.create(jt&&jt.prototype,{constructor:{value:Lt,enumerable:!1,writable:!0,configurable:!0}}),jt&&(Object.setPrototypeOf?Object.setPrototypeOf(Lt,jt):Lt.__proto__=jt)}function Rt(Lt){return Lt.props&&Lt.props.node}function Ot(Lt){return Lt.props&&Lt.props.link}var Mt=lt.default.shape({zoomSpeed:lt.default.number,minScale:lt.default.number,maxScale:lt.default.number,panLimit:lt.default.number,onZoom:lt.default.func,onPan:lt.default.func}),Bt=function(Lt){Tt(jt,Lt),nt(jt,null,[{key:"getDataFromChildren",value:function(Nt){var Wt={nodes:[],links:[]};return it.Children.forEach(Nt,function(qt){Rt(qt)?Wt.nodes.push(qt.props.node):Ot(qt)&&Wt.links.push(qt.props.link)}),Wt}},{key:"getNodePositions",value:function(Nt){return Nt.nodes().reduce(function(Wt,qt){return Object.assign(Wt,_t({},At.nodeId(qt),{cx:qt.fx||qt.x,cy:qt.fy||qt.y}))},{})}},{key:"getLinkPositions",value:function(Nt){return Nt.force("link").links().reduce(function(Wt,qt){return Object.assign(Wt,_t({},At.linkId(qt),{x1:qt.source.x,y1:qt.source.y,x2:qt.target.x,y2:qt.target.y}))},{})}},{key:"propTypes",get:function(){return{children:lt.default.any,className:lt.default.string,zoom:lt.default.bool,zoomOptions:Mt,createSimulation:lt.default.func,updateSimulation:lt.default.func,simulationOptions:xt.default,labelAttr:lt.default.string,labelOffset:lt.default.objectOf(lt.default.func),showLabels:lt.default.bool}}},{key:"defaultProps",get:function(){return{createSimulation:At.createSimulation,updateSimulation:At.updateSimulation,zoom:!1,labelAttr:"id",simulationOptions:dt.DEFAULT_SIMULATION_PROPS,labelOffset:{x:function(Wt){var qt=Wt.radius,nr=qt===void 0?5:qt;return nr/2},y:function(Wt){var qt=Wt.radius,nr=qt===void 0?5:qt;return-nr/4}},showLabels:!1,zoomOptions:{}}}}]);function jt(zt){Et(this,jt);var Nt=It(this,(jt.__proto__||Object.getPrototypeOf(jt)).call(this,zt)),Wt=zt.createSimulation,qt=zt.simulationOptions,nr=Nt.getDataFromChildren();return Nt.simulation=Wt(at({},dt.DEFAULT_SIMULATION_PROPS,qt,{data:nr})),Nt.state={linkPositions:{},nodePositions:{},scale:1},Nt.bindSimulationTick(),Nt}return nt(jt,[{key:"componentDidMount",value:function(){this.updateSimulation()}},{key:"componentWillReceiveProps",value:function(Nt){this.lastUpdated=new Date,this.updateSimulation(Nt)}},{key:"componentWillUnmount",value:function(){this.unbindSimulationTick()}},{key:"onSimulationTick",value:function(){this.frame=ht.requestAnimationFrame(this.updatePositions.bind(this))}},{key:"onZoom",value:function(Nt,Wt){for(var qt=this.props.zoomOptions.onZoom,nr=qt===void 0?function(){}:qt,ar=arguments.length,Kt=Array(ar>2?ar-2:0),er=2;er0&&arguments[0]!==void 0?arguments[0]:this.props,Wt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(!Wt&&this.cachedData&&new Date>this.lastUpdated)return this.cachedData;var qt=jt.getDataFromChildren(Nt.children);return Object.assign(this,{cachedData:qt,lastUpdated:new Date}),qt}},{key:"bindSimulationTick",value:function(){this.simulation.on("tick",this.updateSimulation.bind(this))}},{key:"unbindSimulationTick",value:function(){this.simulation.on("tick",null),this.frame=this.frame&&ht.cancelAnimationFrame(this.frame)}},{key:"updateSimulation",value:function(){var Nt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,Wt=this.simulation,qt=Nt.updateSimulation,nr=Nt.simulationOptions;this.simulation=qt(Wt,at({},dt.DEFAULT_SIMULATION_PROPS,nr,{data:this.getDataFromChildren(Nt,!0)})),this.onSimulationTick()}},{key:"updatePositions",value:function(){this.setState({linkPositions:jt.getLinkPositions(this.simulation),nodePositions:jt.getNodePositions(this.simulation)})}},{key:"scale",value:function(Nt){return typeof Nt=="number"?Nt/this.state.scale:Nt}},{key:"render",value:function(){var Nt=this,Wt=this.props,qt=Wt.children,nr=Wt.className,ar=Wt.labelAttr,Kt=Wt.labelOffset,er=Wt.showLabels,Ut=Wt.simulationOptions,Ht=Wt.zoomOptions,Ft=Wt.zoom,Vt=this.state,Jt=Vt.linkPositions,or=Vt.nodePositions,Ar=Ut.height,hr=Ar===void 0?dt.DEFAULT_SIMULATION_PROPS.height:Ar,vr=Ut.width,Er=vr===void 0?dt.DEFAULT_SIMULATION_PROPS.width:vr,mr=[],Or=[],Lr=[],na=[],ba=[],qr=(0,ut.default)(or,function(ur,Sr){var jr=Sr.cx;return ur>Math.abs(jr)?ur:Math.abs(jr)},0),Pr=(0,ut.default)(or,function(ur,Sr){var jr=Sr.cy;return ur>Math.abs(jr)?ur:Math.abs(jr)},0);return it.Children.forEach(qt,function(ur,Sr){if(Rt(ur)){var jr=ur.props,Dr=jr.node,Cr=jr.showLabel,tn=jr.labelClass,Vr=jr.labelStyle,Kr=Vr===void 0?{}:Vr,_n=jr.strokeWidth,$n=or[At.nodeId(Dr)];if(mr.push((0,it.cloneElement)(ur,at({},$n,{scale:Nt.state.scale,strokeWidth:Nt.scale(_n)}))),(er||Cr)&&$n){var gn=Kr.fontSize,Nn=wt(Kr,["fontSize"]);Or.push(ot.default.createElement("text",{className:"rv-force__label "+tn,key:At.nodeId(Dr)+"-label",x:$n.cx+Kt.x(Dr),y:$n.cy+Kt.y(Dr),fontSize:Nt.scale(gn),style:Nn},Dr[ar]))}}else if(Ot(ur)){var kn=ur.props.link,cn=kn.strokeWidth,s0=Jt[At.linkId(kn)];Lr.push((0,it.cloneElement)(ur,at({},s0,{strokeWidth:Nt.scale(cn)})))}else{var On=ur.props.zoomable;Ft&&On?na.push((0,it.cloneElement)(ur,{key:ur.key||"zoomable-"+Sr})):ba.push((0,it.cloneElement)(ur,{key:ur.key||"static-"+Sr}))}}),ot.default.createElement("svg",{className:"rv-force__svg "+nr,width:Er,height:hr},ot.default.createElement("g",{className:"rv-force__static-elements"},ba),ot.default.createElement(bt.default,at({disabled:!Ft,height:Pr,width:qr},Ht,{onZoom:function(){return Nt.onZoom.apply(Nt,arguments)},onPan:function(){return Nt.onPan.apply(Nt,arguments)}}),ot.default.createElement("g",{className:"rv-force__zoomable-elements"},na),ot.default.createElement("g",{className:"rv-force__links"},Lr),ot.default.createElement("g",{className:"rv-force__nodes"},mr),ot.default.createElement("g",{className:"rv-force__labels"},Or)))}}]),jt}(it.PureComponent);tt.default=Bt},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=Object.assign||function(dt){for(var xt=1;xt=0||Object.prototype.hasOwnProperty.call(dt,gt)&&(Ct[gt]=dt[gt]);return Ct}function vt(dt,xt){if(!(dt instanceof xt))throw new TypeError("Cannot call a class as a function")}function ht(dt,xt){if(!dt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return xt&&(typeof xt=="object"||typeof xt=="function")?xt:dt}function mt(dt,xt){if(typeof xt!="function"&&xt!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof xt);dt.prototype=Object.create(xt&&xt.prototype,{constructor:{value:dt,enumerable:!1,writable:!0,configurable:!0}}),xt&&(Object.setPrototypeOf?Object.setPrototypeOf(dt,xt):dt.__proto__=xt)}var bt=function(dt){mt(xt,dt);function xt(){return vt(this,xt),ht(this,(xt.__proto__||Object.getPrototypeOf(xt)).apply(this,arguments))}return nt(xt,[{key:"render",value:function(){var gt=this.props,wt=gt.link,_t=gt.strokeWidth,Et=gt.className,It=gt.edgeOffset,Tt=At(gt,["link","strokeWidth","className","edgeOffset"]);if(typeof It=="number"){var Rt=Tt.x1,Ot=Tt.x2,Mt=Tt.y1,Bt=Tt.y2,Lt=Rt+Ot,jt=Mt+Bt,zt=Math.sqrt(Math.pow(Lt,2)+Math.pow(jt,2)),Nt=It/zt,Wt=Nt*Lt,qt=Nt*jt;Rt>Ot?(Tt.x1-=Wt,Tt.x2+=Wt):RtBt?(Tt.y1-=qt,Tt.y2+=qt):Mt"u"&&(rt(31).enable(),window.Promise=rt(30)),rt(35),Object.assign=rt(29)})()},function(et,tt){(function(rt){et.exports=at;function at(vt){nt.length||it(),nt[nt.length]=vt}var nt=[],it,ot=0,st=1024;function lt(){for(;otst){for(var ht=0,mt=nt.length-ot;ht=0||Object.prototype.hasOwnProperty.call(gt,Et)&&(_t[Et]=gt[Et]);return _t}function bt(gt,wt){if(!(gt instanceof wt))throw new TypeError("Cannot call a class as a function")}function dt(gt,wt){if(!gt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return wt&&(typeof wt=="object"||typeof wt=="function")?wt:gt}function xt(gt,wt){if(typeof wt!="function"&&wt!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof wt);gt.prototype=Object.create(wt&&wt.prototype,{constructor:{value:gt,enumerable:!1,writable:!0,configurable:!0}}),wt&&(Object.setPrototypeOf?Object.setPrototypeOf(gt,wt):gt.__proto__=wt)}var Ct=function(gt){xt(wt,gt);function wt(){return bt(this,wt),dt(this,(wt.__proto__||Object.getPrototypeOf(wt)).apply(this,arguments))}return nt(wt,[{key:"render",value:function(){var Et=this.props,It=Et.link,Tt=Et.targetRadius,Rt=mt(Et,["link","targetRadius"]),Ot="arrow-"+(0,ft.linkId)(It);return ot.default.createElement("g",null,ot.default.createElement("defs",null,ot.default.createElement("marker",{id:Ot,markerWidth:Tt*3+1,markerHeight:Tt*3+1,refX:Tt*3+1,refY:Tt,orient:"auto",markerUnits:"strokeWidth"},Tt>0&&ot.default.createElement("path",{d:"M0,0 L0,"+Tt*2+" L"+Tt*3+","+Tt+" z",fill:Rt.stroke||Rt.color}))),ot.default.createElement(vt.default,at({},this.props,{edgeOffset:Tt,markerEnd:"url(#"+Ot+")"})))}}],[{key:"propTypes",get:function(){return{link:ut.default.isRequired,targetRadius:lt.default.number}}},{key:"defaultProps",get:function(){return{className:"",opacity:.6,stroke:"#999",targetRadius:2,strokeWidth:1}}}]),wt}(it.PureComponent);tt.default=Ct},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=Object.assign||function(dt){for(var xt=1;xt=0||Object.prototype.hasOwnProperty.call(dt,gt)&&(Ct[gt]=dt[gt]);return Ct}function vt(dt,xt){if(!(dt instanceof xt))throw new TypeError("Cannot call a class as a function")}function ht(dt,xt){if(!dt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return xt&&(typeof xt=="object"||typeof xt=="function")?xt:dt}function mt(dt,xt){if(typeof xt!="function"&&xt!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof xt);dt.prototype=Object.create(xt&&xt.prototype,{constructor:{value:dt,enumerable:!1,writable:!0,configurable:!0}}),xt&&(Object.setPrototypeOf?Object.setPrototypeOf(dt,xt):dt.__proto__=xt)}var bt=function(dt){mt(xt,dt);function xt(){return vt(this,xt),ht(this,(xt.__proto__||Object.getPrototypeOf(xt)).apply(this,arguments))}return nt(xt,[{key:"render",value:function(){var gt=this.props,wt=gt.node,_t=gt.className,Et=gt.r;gt.labelStyle,gt.labelClass,gt.showLabel;var It=At(gt,["node","className","r","labelStyle","labelClass","showLabel"]),Tt=wt.radius,Rt=Tt===void 0?5:Tt;return ot.default.createElement("circle",at({className:"rv-force__node "+_t,r:Et||Rt},It))}}],[{key:"propTypes",get:function(){return{node:ut.default.isRequired,cx:lt.default.number,cy:lt.default.number,r:lt.default.number,className:lt.default.string,labelStyle:lt.default.object,labelClass:lt.default.string,showLabel:lt.default.bool}}},{key:"defaultProps",get:function(){return{className:"",fill:"#333",opacity:1,stroke:"#FFF",strokeWidth:1.5}}}]),xt}(it.PureComponent);tt.default=bt},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=Object.assign||function(wt){for(var _t=1;_t=0||Object.prototype.hasOwnProperty.call(wt,It)&&(Et[It]=wt[It]);return Et}function mt(wt,_t){if(!(wt instanceof _t))throw new TypeError("Cannot call a class as a function")}function bt(wt,_t){if(!wt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _t&&(typeof _t=="object"||typeof _t=="function")?_t:wt}function dt(wt,_t){if(typeof _t!="function"&&_t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof _t);wt.prototype=Object.create(_t&&_t.prototype,{constructor:{value:wt,enumerable:!1,writable:!0,configurable:!0}}),_t&&(Object.setPrototypeOf?Object.setPrototypeOf(wt,_t):wt.__proto__=_t)}var xt=ct.window&&"ontouchstart"in ct.window,Ct=lt.default.shape({id:lt.default.string}),gt=function(wt){dt(_t,wt),nt(_t,null,[{key:"propTypes",get:function(){return Object.assign({selectedNode:Ct,defaultSelectedNode:Ct,highlightDependencies:lt.default.bool,opacityFactor:lt.default.number,onSelectNode:lt.default.func,onDeselectNode:lt.default.func},ft.default.propTypes)}},{key:"defaultProps",get:function(){return{className:"",defaultSelectedNode:null,opacityFactor:4,onSelectNode:function(){},onDeselectNode:function(){}}}}]);function _t(Et){mt(this,_t);var It=bt(this,(_t.__proto__||Object.getPrototypeOf(_t)).call(this,Et));return It.state={hoveredNode:null,selectedNode:Et.selectedNode||Et.defaultSelectedNode},It}return nt(_t,[{key:"componentWillReceiveProps",value:function(It){Object.prototype.hasOwnProperty.call(It,"selectedNode")&&this.setState({selectedNode:It.selectedNode})}},{key:"onHoverNode",value:function(It,Tt){xt||this.setState({hoveredNode:Tt})}},{key:"onBlurNode",value:function(){this.setState({hoveredNode:null})}},{key:"onClickNode",value:function(It,Tt){var Rt=this.props,Ot=Rt.onDeselectNode,Mt=Rt.onSelectNode,Bt=this.state.selectedNode;Bt&&(0,At.nodeId)(Bt)===(0,At.nodeId)(Tt)?(this.setState({selectedNode:null}),Ot(It,Tt)):(this.setState({selectedNode:Tt}),Mt(It,Tt))}},{key:"render",value:function(){var It=this,Tt=this.props,Rt=Tt.highlightDependencies,Ot=Tt.opacityFactor,Mt=Tt.children,Bt=Tt.className,Lt=Tt.selectedNode,jt=ht(Tt,["highlightDependencies","opacityFactor","children","className","selectedNode"]),zt=this.state,Nt=zt.hoveredNode,Wt=zt.selectedNode,qt=ft.default.getDataFromChildren(Mt),nr=qt.links,ar=Lt||Wt,Kt=function(){var Er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;return Er/Ot},er=function(Er,mr,Or){return function(Lr){It[Er](Lr,mr),Or&&Or(Lr)}},Ut=function(Er,mr){return Er&&mr&&nr.findIndex(function(Or){return Or.value>0&&(Or.source===(0,At.nodeId)(Er)&&Or.target===(0,At.nodeId)(mr)||Or.source===(0,At.nodeId)(mr)&&Or.target===(0,At.nodeId)(Er))})>-1},Ht=function(Er,mr){return Er&&((0,At.nodeId)(Er)===(0,At.nodeId)(mr)||ar&&(0,At.nodeId)(ar)===(0,At.nodeId)(mr)||Rt&&Ut(mr,ar||Er))},Ft=function(Er,mr){return Er&&Rt&&mr.value>0&&((0,At.nodeId)(Er)===mr.source||(0,At.nodeId)(Er)===mr.target)},Vt=function(Er){return ar&&(0,At.nodeId)(Er)===(0,At.nodeId)(ar)?14:10},Jt=function(Er){return ar&&(0,At.nodeId)(Er)===(0,At.nodeId)(ar)?700:null},or=function(Er){return Ht(ar,Er)||Ht(Nt,Er)},Ar=function(Er){var mr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return Rt&&ar&&!Ht(ar,Er)&&!Ht(Nt,Er)?Kt(mr/4):ar&&!Ht(ar,Er)&&!Ht(Nt,Er)||Nt&&!Ht(Nt,Er)?Kt(mr):mr},hr=function(Er){var mr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return(Rt?!ar&&Nt&&!Ft(Nt,Er)||ar&&!Ft(ar,Er):Nt||ar)?Kt(mr/4):Nt&&!Ft(Nt,Er)&&ar&&!Ft(ar,Er)?Kt(mr):mr};return ot.default.createElement(ft.default,at({className:"rv-force__interactive "+Bt},jt),it.Children.map(Mt,function(vr){if((0,ut.isNode)(vr)){var Er=vr.props,mr=Er.node,Or=Er.labelStyle,Lr=Er.fontSize,na=Lr===void 0?Vt(mr):Lr,ba=Er.fontWeight,qr=ba===void 0?Jt(mr):ba,Pr=Er.showLabel,ur=Pr===void 0?or(mr):Pr,Sr=Er.onMouseEnter,jr=Er.onMouseLeave,Dr=Er.onClick,Cr=vr.props.opacity;return Cr=Ar(mr,Cr),(0,it.cloneElement)(vr,{showLabel:ur,opacity:Cr,labelStyle:at({fontSize:na,fontWeight:qr,opacity:Cr},Or),onMouseEnter:er("onHoverNode",mr,Sr),onMouseLeave:er("onBlurNode",mr,jr),onClick:er("onClickNode",mr,Dr)})}else if((0,ut.isLink)(vr)){var tn=vr.props.link,Vr=vr.props.opacity;return Vr=hr(tn,Vr),(0,it.cloneElement)(vr,{opacity:Vr})}return vr}))}}]),_t}(it.PureComponent);tt.default=gt},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.ZOOMABLE_SVG_GROUP_EVENT_NAMES=void 0;var at=Object.assign||function(dt){for(var xt=1;xt=0||Object.prototype.hasOwnProperty.call(dt,gt)&&(Ct[gt]=dt[gt]);return Ct}function ft(dt,xt,Ct){return xt in dt?Object.defineProperty(dt,xt,{value:Ct,enumerable:!0,configurable:!0,writable:!0}):dt[xt]=Ct,dt}function At(dt,xt){if(!(dt instanceof xt))throw new TypeError("Cannot call a class as a function")}function vt(dt,xt){if(!dt)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return xt&&(typeof xt=="object"||typeof xt=="function")?xt:dt}function ht(dt,xt){if(typeof xt!="function"&&xt!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof xt);dt.prototype=Object.create(xt&&xt.prototype,{constructor:{value:dt,enumerable:!1,writable:!0,configurable:!0}}),xt&&(Object.setPrototypeOf?Object.setPrototypeOf(dt,xt):dt.__proto__=xt)}var mt=tt.ZOOMABLE_SVG_GROUP_EVENT_NAMES=["onMouseDown","onMouseMove","onMouseUp","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onWheel"],bt=function(dt){ht(xt,dt),nt(xt,null,[{key:"isValidMatrix",value:function(gt){return gt.length===6&>.findIndex(function(wt){return typeof wt!="number"})===-1}},{key:"getPinchZoomLength",value:function(gt,wt){return(gt.clientX-wt.clientX)*(gt.clientX-wt.clientX)+(gt.clientY-wt.clientY)*(gt.clientY-wt.clientY)}},{key:"getTouchClientValues",value:function(gt){return gt.touches.length>=2?{clientX:(gt.touches[0].clientX+gt.touches[1].clientX)/2,clientY:(gt.touches[0].clientY+gt.touches[1].clientY)/2}:gt.touches[0]}},{key:"propTypes",get:function(){return at({width:lt.default.number.isRequired,height:lt.default.number.isRequired,disabled:lt.default.bool,zoomSpeed:lt.default.number,minScale:lt.default.number,maxScale:lt.default.number,panLimit:lt.default.number,onZoom:lt.default.func,onPan:lt.default.func},mt.reduce(function(gt,wt){return at({},gt,ft({},wt,lt.default.func))},{}))}},{key:"defaultProps",get:function(){return at({disabled:!1,zoomSpeed:.065,panLimit:.75,minScale:0,maxScale:1/0,onZoom:function(){},onPan:function(){}},mt.reduce(function(gt,wt){return at({},gt,ft({},wt,function(){}))},{}))}}]);function xt(Ct){At(this,xt);var gt=vt(this,(xt.__proto__||Object.getPrototypeOf(xt)).call(this,Ct));return gt.state={matrix:[1,0,0,1,0,0],scale:1},gt}return nt(xt,[{key:"componentDidMount",value:function(){this.setInitialMatrix()}},{key:"onMouseDown",value:function(gt){return this.state.touching?(gt.stopPropagation(),null):gt.button!==0?null:this.setState({dragging:!0,dragX:gt.clientX,dragY:gt.clientY})}},{key:"onMouseMove",value:function(gt){return this.state.touching?(gt.stopPropagation(),null):this.state.dragging?this.panBy(gt.clientX,gt.clientY):gt}},{key:"onMouseUp",value:function(gt){return this.state.touching?(gt.stopPropagation(),null):this.setState({dragging:!1,dragX:null,dragY:null})}},{key:"onTouchCancel",value:function(){this.setState({touching:!1,dragging:!1,pinchLength:null,dragX:null,dragY:null})}},{key:"onTouchEnd",value:function(){this.onTouchCancel()}},{key:"onTouchMove",value:function(gt){if(gt.preventDefault(),gt.touches.length>=2){var wt=gt.touches[0],_t=gt.touches[1],Et=xt.getPinchZoomLength(wt,_t),It=this.state.pinchLength,Tt=0;EtIt&&(Tt=-1);var Rt=xt.getTouchClientValues(gt),Ot=Rt.clientX,Mt=Rt.clientY,Bt=this.getScaleMultiplier(Tt);this.zoomTo(Ot,Mt,Bt,gt),this.setState({pinchLength:Et})}else this.panBy(gt.touches[0].clientX,gt.touches[0].clientY)}},{key:"onTouchStart",value:function(gt){var wt=xt.getTouchClientValues(gt),_t=wt.clientX,Et=wt.clientY;this.setState({touching:!0,pinchLength:0,dragX:_t,dragY:Et})}},{key:"onWheel",value:function(gt){var wt=gt.clientX,_t=gt.clientY,Et=gt.deltaY,It=this.getScaleMultiplier(Et);It!==1&&(gt.preventDefault(),this.zoomTo(wt,_t,It,gt))}},{key:"setInitialMatrix",value:function(){var gt=this.el.ownerSVGElement,wt=gt.createSVGTransform();this.setState({scale:1,matrix:[wt.matrix.a,wt.matrix.b,wt.matrix.c,wt.matrix.d,wt.matrix.e,wt.matrix.f]})}},{key:"getScaleMultiplier",value:function(gt){var wt=this.props.zoomSpeed;return gt>0?1-wt:gt<0?1+wt:1}},{key:"zoomTo",value:function(gt,wt,_t,Et){var It=this,Tt=this.state.matrix,Rt=this.state.scale,Ot=Rt*_t,Mt=this.el.ownerSVGElement.getScreenCTM(),Bt=gt*Mt.a-Mt.e,Lt=wt*Mt.d-Mt.f;Ot>this.props.maxScale||OtTt*Ot||Math.abs(nr/zt)>Rt*Ot||this.setState({dragX:gt,dragY:wt,matrix:[Bt[0],Bt[1],Bt[2],Bt[3],qt,nr]},function(){return Et.props.onPan(_t,qt,nr)})}},{key:"render",value:function(){var gt=this,wt=this.props,_t=wt.width,Et=wt.height,It=wt.children,Tt=wt.disabled,Rt=wt.style,Ot=Rt===void 0?{}:Rt,Mt=wt.transform,Bt=Mt===void 0?"":Mt;wt.canvasHeight,wt.canvasWidth,wt.minScale,wt.maxScale,wt.panLimit,wt.onZoom,wt.onPan,wt.zoomSpeed;var Lt=ut(wt,["width","height","children","disabled","style","transform","canvasHeight","canvasWidth","minScale","maxScale","panLimit","onZoom","onPan","zoomSpeed"]),jt=this.state,zt=jt.matrix,Nt=jt.scale,Wt=function(ar){return function(){var Kt;gt[ar].apply(gt,arguments),(Kt=gt.props)[ar].apply(Kt,arguments)}},qt={transform:Bt};return!Tt&&xt.isValidMatrix(zt)&&Object.assign(qt,at({},mt.reduce(function(nr,ar){return at({},nr,ft({},ar,Wt(ar)))},{}),{style:Object.assign({},Ot,{transformOrigin:"0 0 0",cursor:"default",pointerEvents:"all"}),transform:"matrix("+zt.join(" ")+") "+Bt})),ot.default.createElement("g",at({ref:function(ar){gt.el=ar}},Lt,qt),ot.default.createElement("rect",{x:-1*zt[4],y:-1*zt[5],transform:"scale("+1/Nt+")",fillOpacity:0,height:Et,width:_t}),It)}}]),xt}(it.PureComponent);tt.default=bt},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=rt(3);Object.defineProperty(tt,"createSimulation",{enumerable:!0,get:function(){return at.createSimulation}}),Object.defineProperty(tt,"updateSimulation",{enumerable:!0,get:function(){return at.updateSimulation}});var nt=rt(4);Object.defineProperty(tt,"ForceGraph",{enumerable:!0,get:function(){return ct(nt).default}});var it=rt(5);Object.defineProperty(tt,"ForceGraphLink",{enumerable:!0,get:function(){return ct(it).default}});var ot=rt(11);Object.defineProperty(tt,"ForceGraphArrowLink",{enumerable:!0,get:function(){return ct(ot).default}});var st=rt(12);Object.defineProperty(tt,"ForceGraphNode",{enumerable:!0,get:function(){return ct(st).default}});var lt=rt(13);Object.defineProperty(tt,"InteractiveForceGraph",{enumerable:!0,get:function(){return ct(lt).default}});function ct(ut){return ut&&ut.__esModule?ut:{default:ut}}},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0});var at=rt(1),nt=it(at);function it(ot){return ot&&ot.__esModule?ot:{default:ot}}tt.default=nt.default.shape({id:nt.default.string.isRequired,radius:nt.default.number})},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.DEFAULT_SIMULATION_PROPS=void 0;var at=rt(1),nt=it(at);function it(ot){return ot&&ot.__esModule?ot:{default:ot}}tt.DEFAULT_SIMULATION_PROPS={animate:!1,width:900,height:600,strength:{}},tt.default=nt.default.shape({data:nt.default.object,animate:nt.default.bool,alpha:nt.default.number,alphaDecay:nt.default.number,alphaMin:nt.default.number,alphaTarget:nt.default.number,velocityDecay:nt.default.number,radiusMargin:nt.default.number,linkAttrs:nt.default.array,nodeAttrs:nt.default.array,strength:nt.default.objectOf(nt.default.oneOfType([nt.default.func,nt.default.number]))})},function(et,tt,rt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.cancelAnimationFrame=tt.requestAnimationFrame=void 0;var at=rt(7);tt.requestAnimationFrame=function(it){for(var ot=arguments.length,st=Array(ot>1?ot-1:0),lt=1;lt=xt.length)return wt!=null?wt(Tt):gt!=null?Tt.sort(gt):Tt;for(var Bt=-1,Lt=Tt.length,jt=xt[Rt++],zt,Nt,Wt=ot(),qt,nr=Ot();++Btxt.length)return Tt;var Ot,Mt=Ct[Rt-1];return wt!=null&&Rt>=xt.length?Ot=Tt.entries():(Ot=[],Tt.each(function(Bt,Lt){Ot.push({key:Lt,values:It(Bt,Rt)})})),Mt!=null?Ot.sort(function(Bt,Lt){return Mt(Bt.key,Lt.key)}):Ot}return _t={object:function(Tt){return Et(Tt,0,lt,ct)},map:function(Tt){return Et(Tt,0,ut,ft)},entries:function(Tt){return It(Et(Tt,0,ut,ft),0)},key:function(Tt){return xt.push(Tt),_t},sortKeys:function(Tt){return Ct[xt.length-1]=Tt,_t},sortValues:function(Tt){return gt=Tt,_t},rollup:function(Tt){return wt=Tt,_t}}};function lt(){return{}}function ct(xt,Ct,gt){xt[Ct]=gt}function ut(){return ot()}function ft(xt,Ct,gt){xt.set(Ct,gt)}function At(){}var vt=ot.prototype;At.prototype=ht.prototype={constructor:At,has:vt.has,add:function(xt){return xt+="",this[nt+xt]=xt,this},remove:vt.remove,clear:vt.clear,values:vt.keys,size:vt.size,empty:vt.empty,each:vt.each};function ht(xt,Ct){var gt=new At;if(xt instanceof At)xt.each(function(Et){gt.add(Et)});else if(xt){var wt=-1,_t=xt.length;if(Ct==null)for(;++wt<_t;)gt.add(xt[wt]);else for(;++wt<_t;)gt.add(Ct(xt[wt],wt,xt))}return gt}var mt=function(xt){var Ct=[];for(var gt in xt)Ct.push(gt);return Ct},bt=function(xt){var Ct=[];for(var gt in xt)Ct.push(xt[gt]);return Ct},dt=function(xt){var Ct=[];for(var gt in xt)Ct.push({key:gt,value:xt[gt]});return Ct};at.nest=st,at.set=ht,at.map=ot,at.keys=mt,at.values=bt,at.entries=dt,Object.defineProperty(at,"__esModule",{value:!0})})},function(et,tt,rt){(function(at,nt){nt(tt)})(this,function(at){var nt={value:function(){}};function it(){for(var ut=0,ft=arguments.length,At={},vt;ut=0&&(vt=At.slice(ht+1),At=At.slice(0,ht)),At&&!ft.hasOwnProperty(At))throw new Error("unknown type: "+At);return{type:At,name:vt}})}ot.prototype=it.prototype={constructor:ot,on:function(ut,ft){var At=this._,vt=st(ut+"",At),ht,mt=-1,bt=vt.length;if(arguments.length<2){for(;++mt0)for(var At=new Array(ht),vt=0,ht,mt;vtnr.index){var Or=ar-vr.x-vr.vx,Lr=Kt-vr.y-vr.vy,na=Or*Or+Lr*Lr;naar+mr||ArKt+mr||hrNt.r&&(Nt.r=Nt[Wt].r)}function zt(){if(Rt){var Nt,Wt=Rt.length,qt;for(Ot=new Array(Wt),Nt=0;Nt1?(Ut==null?zt.remove(er):zt.set(er,Kt(Ut)),Rt):zt.get(er)},find:function(er,Ut,Ht){var Ft=0,Vt=Tt.length,Jt,or,Ar,hr,vr;for(Ht==null?Ht=1/0:Ht*=Ht,Ft=0;Ft1?(Wt.on(er,Ut),Rt):Wt.on(er)}}},_t=function(){var Tt,Rt,Ot,Mt=ct(-30),Bt,Lt=1,jt=1/0,zt=.81;function Nt(ar){var Kt,er=Tt.length,Ut=nt.quadtree(Tt,dt,xt).visitAfter(qt);for(Ot=ar,Kt=0;Kt=jt)return;(ar.data!==Rt||ar.next)&&(Ht===0&&(Ht=ut(),Jt+=Ht*Ht),Ft===0&&(Ft=ut(),Jt+=Ft*Ft),Jt=(ar=(Nt+qt)/2))?Nt=ar:qt=ar,(Ft=Mt>=(Kt=(Wt+nr)/2))?Wt=Kt:nr=Kt,Lt=jt,!(jt=jt[Vt=Ft<<1|Ht]))return Lt[Vt]=zt,Rt;if(er=+Rt._x.call(null,jt.data),Ut=+Rt._y.call(null,jt.data),Ot===er&&Mt===Ut)return zt.next=jt,Lt?Lt[Vt]=zt:Rt._root=zt,Rt;do Lt=Lt?Lt[Vt]=new Array(4):Rt._root=new Array(4),(Ht=Ot>=(ar=(Nt+qt)/2))?Nt=ar:qt=ar,(Ft=Mt>=(Kt=(Wt+nr)/2))?Wt=Kt:nr=Kt;while((Vt=Ft<<1|Ht)===(Jt=(Ut>=Kt)<<1|er>=ar));return Lt[Jt]=jt,Lt[Vt]=zt,Rt}function ot(Rt){var Ot,Mt,Bt=Rt.length,Lt,jt,zt=new Array(Bt),Nt=new Array(Bt),Wt=1/0,qt=1/0,nr=-1/0,ar=-1/0;for(Mt=0;Mtnr&&(nr=Lt),jtar&&(ar=jt));for(nrRt||Rt>Lt||Bt>Ot||Ot>jt){var zt=Lt-Mt,Nt=this._root,Wt,qt;switch(qt=(Ot<(Bt+jt)/2)<<1|Rt<(Mt+Lt)/2){case 0:{do Wt=new Array(4),Wt[qt]=Nt,Nt=Wt;while(zt*=2,Lt=Mt+zt,jt=Bt+zt,Rt>Lt||Ot>jt);break}case 1:{do Wt=new Array(4),Wt[qt]=Nt,Nt=Wt;while(zt*=2,Mt=Lt-zt,jt=Bt+zt,Mt>Rt||Ot>jt);break}case 2:{do Wt=new Array(4),Wt[qt]=Nt,Nt=Wt;while(zt*=2,Lt=Mt+zt,Bt=jt-zt,Rt>Lt||Bt>Ot);break}case 3:{do Wt=new Array(4),Wt[qt]=Nt,Nt=Wt;while(zt*=2,Mt=Lt-zt,Bt=jt-zt,Mt>Rt||Bt>Ot);break}}this._root&&this._root.length&&(this._root=Nt)}else return this;return this._x0=Mt,this._y0=Bt,this._x1=Lt,this._y1=jt,this},lt=function(){var Rt=[];return this.visit(function(Ot){if(!Ot.length)do Rt.push(Ot.data);while(Ot=Ot.next)}),Rt},ct=function(Rt){return arguments.length?this.cover(+Rt[0][0],+Rt[0][1]).cover(+Rt[1][0],+Rt[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},ut=function(Rt,Ot,Mt,Bt,Lt){this.node=Rt,this.x0=Ot,this.y0=Mt,this.x1=Bt,this.y1=Lt},ft=function(Rt,Ot,Mt){var Bt,Lt=this._x0,jt=this._y0,zt,Nt,Wt,qt,nr=this._x1,ar=this._y1,Kt=[],er=this._root,Ut,Ht;for(er&&Kt.push(new ut(er,Lt,jt,nr,ar)),Mt==null?Mt=1/0:(Lt=Rt-Mt,jt=Ot-Mt,nr=Rt+Mt,ar=Ot+Mt,Mt*=Mt);Ut=Kt.pop();)if(!(!(er=Ut.node)||(zt=Ut.x0)>nr||(Nt=Ut.y0)>ar||(Wt=Ut.x1)=Vt)<<1|Rt>=Ft)&&(Ut=Kt[Kt.length-1],Kt[Kt.length-1]=Kt[Kt.length-1-Ht],Kt[Kt.length-1-Ht]=Ut)}else{var Jt=Rt-+this._x.call(null,er.data),or=Ot-+this._y.call(null,er.data),Ar=Jt*Jt+or*or;if(Ar=(Kt=(zt+Wt)/2))?zt=Kt:Wt=Kt,(Ht=ar>=(er=(Nt+qt)/2))?Nt=er:qt=er,Ot=Mt,!(Mt=Mt[Ft=Ht<<1|Ut]))return this;if(!Mt.length)break;(Ot[Ft+1&3]||Ot[Ft+2&3]||Ot[Ft+3&3])&&(Bt=Ot,Vt=Ft)}for(;Mt.data!==Rt;)if(Lt=Mt,!(Mt=Mt.next))return this;return(jt=Mt.next)&&delete Mt.next,Lt?(jt?Lt.next=jt:delete Lt.next,this):Ot?(jt?Ot[Ft]=jt:delete Ot[Ft],(Mt=Ot[0]||Ot[1]||Ot[2]||Ot[3])&&Mt===(Ot[3]||Ot[2]||Ot[1]||Ot[0])&&!Mt.length&&(Bt?Bt[Vt]=Mt:this._root=Mt),this):(this._root=jt,this)};function vt(Rt){for(var Ot=0,Mt=Rt.length;Ot=0&&Rt._call.call(null,Ot),Rt=Rt._next;--nt}function gt(){ft=(ut=vt.now())+At,nt=it=0;try{Ct()}finally{nt=0,_t(),ft=0}}function wt(){var Rt=vt.now(),Ot=Rt-ut;Ot>st&&(At-=Ot,ut=Rt)}function _t(){for(var Rt,Ot=lt,Mt,Bt=1/0;Ot;)Ot._call?(Bt>Ot._time&&(Bt=Ot._time),Rt=Ot,Ot=Ot._next):(Mt=Ot._next,Ot._next=null,Ot=Rt?Rt._next=Mt:lt=Mt);ct=Rt,Et(Bt)}function Et(Rt){if(!nt){it&&(it=clearTimeout(it));var Ot=Rt-ft;Ot>24?(Rt<1/0&&(it=setTimeout(gt,Ot)),ot&&(ot=clearInterval(ot))):(ot||(ut=ft,ot=setInterval(wt,st)),nt=1,ht(gt))}}var It=function(Rt,Ot,Mt){var Bt=new dt;return Ot=Ot==null?0:+Ot,Bt.restart(function(Lt){Bt.stop(),Rt(Lt+Ot)},Ot,Mt),Bt},Tt=function(Rt,Ot,Mt){var Bt=new dt,Lt=Ot;return Ot==null?(Bt.restart(Rt,Ot,Mt),Bt):(Ot=+Ot,Mt=Mt==null?mt():+Mt,Bt.restart(function jt(zt){zt+=Lt,Bt.restart(jt,Lt+=Ot,Mt),Rt(zt)},Ot,Mt),Bt)};at.now=mt,at.timer=xt,at.timerFlush=Ct,at.timeout=It,at.interval=Tt,Object.defineProperty(at,"__esModule",{value:!0})})},function(et,tt){},function(et,tt){function rt(nt){return function(){return nt}}var at=function(){};at.thatReturns=rt,at.thatReturnsFalse=rt(!1),at.thatReturnsTrue=rt(!0),at.thatReturnsNull=rt(null),at.thatReturnsThis=function(){return this},at.thatReturnsArgument=function(nt){return nt},et.exports=at},function(et,tt,rt){function at(nt,it,ot,st,lt,ct,ut,ft){if(!nt){var At;if(it===void 0)At=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var vt=[ot,st,lt,ct,ut,ft],ht=0;At=new Error(it.replace(/%s/g,function(){return vt[ht++]})),At.name="Invariant Violation"}throw At.framesToPop=1,At}}et.exports=at},function(et,tt,rt){(function(at,nt){var it=200,ot="Expected a function",st="__lodash_hash_undefined__",lt=1,ct=2,ut=1/0,ft=9007199254740991,At="[object Arguments]",vt="[object Array]",ht="[object Boolean]",mt="[object Date]",bt="[object Error]",dt="[object Function]",xt="[object GeneratorFunction]",Ct="[object Map]",gt="[object Number]",wt="[object Object]",_t="[object Promise]",Et="[object RegExp]",It="[object Set]",Tt="[object String]",Rt="[object Symbol]",Ot="[object WeakMap]",Mt="[object ArrayBuffer]",Bt="[object DataView]",Lt="[object Float32Array]",jt="[object Float64Array]",zt="[object Int8Array]",Nt="[object Int16Array]",Wt="[object Int32Array]",qt="[object Uint8Array]",nr="[object Uint8ClampedArray]",ar="[object Uint16Array]",Kt="[object Uint32Array]",er=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ut=/^\w*$/,Ht=/^\./,Ft=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Vt=/[\\^$.*+?()[\]{}|]/g,Jt=/\\(\\)?/g,or=/^\[object .+?Constructor\]$/,Ar=/^(?:0|[1-9]\d*)$/,hr={};hr[Lt]=hr[jt]=hr[zt]=hr[Nt]=hr[Wt]=hr[qt]=hr[nr]=hr[ar]=hr[Kt]=!0,hr[At]=hr[vt]=hr[Mt]=hr[ht]=hr[Bt]=hr[mt]=hr[bt]=hr[dt]=hr[Ct]=hr[gt]=hr[wt]=hr[Et]=hr[It]=hr[Tt]=hr[Ot]=!1;var vr=typeof at=="object"&&at&&at.Object===Object&&at,Er=typeof self=="object"&&self&&self.Object===Object&&self,mr=vr||Er||Function("return this")(),Or=typeof tt=="object"&&tt&&!tt.nodeType&&tt,Lr=Or&&typeof nt=="object"&&nt&&!nt.nodeType&&nt,na=Lr&&Lr.exports===Or,ba=na&&vr.process,qr=function(){try{return ba&&ba.binding("util")}catch(sr){}}(),Pr=qr&&qr.isTypedArray;function ur(sr,gr,Ir,Jr){var pn=-1,an=sr?sr.length:0;for(Jr&&an&&(Ir=sr[++pn]);++pn-1}function vo(sr,gr){var Ir=this.__data__,Jr=Oo(Ir,sr);return Jr<0?Ir.push([sr,gr]):Ir[Jr][1]=gr,this}P0.prototype.clear=Ss,P0.prototype.delete=j0,P0.prototype.get=ls,P0.prototype.has=yo,P0.prototype.set=vo;function c0(sr){var gr=-1,Ir=sr?sr.length:0;for(this.clear();++grn0))return!1;var L0=an.get(sr);if(L0&&an.get(gr))return L0==gr;var q0=-1,S0=!0,p0=pn<?new Zs:void 0;for(an.set(sr,gr),an.set(gr,sr);++q0-1&&sr%1==0&&sr-1&&sr%1==0&&sr<=ft}function Ds(sr){var gr=typeof sr;return!!sr&&(gr=="object"||gr=="function")}function nn(sr){return!!sr&&typeof sr=="object"}function Js(sr){return typeof sr=="symbol"||nn(sr)&&_a.call(sr)==Rt}var io=Pr?tn(Pr):Pl;function Bo(sr){return sr==null?"":r2(sr)}function Q0(sr,gr,Ir){var Jr=sr==null?void 0:_c(sr,gr);return Jr===void 0?Ir:Jr}function l2(sr,gr){return sr!=null&&D2(sr,gr,I0)}function fs(sr){return U0(sr)?Bl(sr):Jo(sr)}function Go(sr){return sr}function xo(sr){return f0(sr)?jr(qs(sr)):M2(sr)}nt.exports=D0}).call(tt,function(){return this}(),rt(34)(et))},function(et,tt){var rt=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable;function nt(ot){if(ot==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(ot)}function it(){try{if(!Object.assign)return!1;var ot=new String("abc");if(ot[5]="de",Object.getOwnPropertyNames(ot)[0]==="5")return!1;for(var st={},lt=0;lt<10;lt++)st["_"+String.fromCharCode(lt)]=lt;var ct=Object.getOwnPropertyNames(st).map(function(ft){return st[ft]});if(ct.join("")!=="0123456789")return!1;var ut={};return"abcdefghijklmnopqrst".split("").forEach(function(ft){ut[ft]=ft}),Object.keys(Object.assign({},ut)).join("")==="abcdefghijklmnopqrst"}catch(ft){return!1}}et.exports=it()?Object.assign:function(ot,st){for(var lt,ct=nt(ot),ut,ft=1;ft-1?wt:gt}function mt(gt,wt){wt=wt||{};var _t=wt.body;if(mt.prototype.isPrototypeOf(gt)){if(gt.bodyUsed)throw new TypeError("Already read");this.url=gt.url,this.credentials=gt.credentials,wt.headers||(this.headers=new st(gt.headers)),this.method=gt.method,this.mode=gt.mode,_t||(_t=gt._bodyInit,gt.bodyUsed=!0)}else this.url=gt;if(this.credentials=wt.credentials||this.credentials||"omit",(wt.headers||!this.headers)&&(this.headers=new st(wt.headers)),this.method=ht(wt.method||this.method||"GET"),this.mode=wt.mode||this.mode||null,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&_t)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(_t)}mt.prototype.clone=function(){return new mt(this)};function bt(gt){var wt=new FormData;return gt.trim().split("&").forEach(function(_t){if(_t){var Et=_t.split("="),It=Et.shift().replace(/\+/g," "),Tt=Et.join("=").replace(/\+/g," ");wt.append(decodeURIComponent(It),decodeURIComponent(Tt))}}),wt}function dt(gt){var wt=new st,_t=(gt.getAllResponseHeaders()||"").trim().split(` +`);return _t.forEach(function(Et){var It=Et.trim().split(":"),Tt=It.shift().trim(),Rt=It.join(":").trim();wt.append(Tt,Rt)}),wt}At.call(mt.prototype);function xt(gt,wt){wt||(wt={}),this.type="default",this.status=wt.status,this.ok=this.status>=200&&this.status<300,this.statusText=wt.statusText,this.headers=wt.headers instanceof st?wt.headers:new st(wt.headers),this.url=wt.url||"",this._initBody(gt)}At.call(xt.prototype),xt.prototype.clone=function(){return new xt(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new st(this.headers),url:this.url})},xt.error=function(){var gt=new xt(null,{status:0,statusText:""});return gt.type="error",gt};var Ct=[301,302,303,307,308];xt.redirect=function(gt,wt){if(Ct.indexOf(wt)===-1)throw new RangeError("Invalid status code");return new xt(null,{status:wt,headers:{location:gt}})},rt.Headers=st,rt.Request=mt,rt.Response=xt,rt.fetch=function(gt,wt){return new Promise(function(_t,Et){var It;mt.prototype.isPrototypeOf(gt)&&!wt?It=gt:It=new mt(gt,wt);var Tt=new XMLHttpRequest;function Rt(){if("responseURL"in Tt)return Tt.responseURL;if(/^X-Request-URL:/m.test(Tt.getAllResponseHeaders()))return Tt.getResponseHeader("X-Request-URL")}Tt.onload=function(){var Ot={status:Tt.status,statusText:Tt.statusText,headers:dt(Tt),url:Rt()},Mt="response"in Tt?Tt.response:Tt.responseText;_t(new xt(Mt,Ot))},Tt.onerror=function(){Et(new TypeError("Network request failed"))},Tt.ontimeout=function(){Et(new TypeError("Network request failed"))},Tt.open(It.method,It.url,!0),It.credentials==="include"&&(Tt.withCredentials=!0),"responseType"in Tt&&at.blob&&(Tt.responseType="blob"),It.headers.forEach(function(Ot,Mt){Tt.setRequestHeader(Mt,Ot)}),Tt.send(typeof It._bodyInit>"u"?null:It._bodyInit)})},rt.fetch.polyfill=!0})(typeof self<"u"?self:this)}])})})(reactVisForce);var win$1;typeof window<"u"?win$1=window:typeof commonjsGlobal<"u"?win$1=commonjsGlobal:typeof self<"u"?win$1=self:win$1={};var window_1=win$1,lodashExports={},lodash={get exports(){return lodashExports},set exports(o){lodashExports=o}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(o,$){(function(){var _e,et="4.17.21",tt=200,rt="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",at="Expected a function",nt="Invalid `variable` option passed into `_.template`",it="__lodash_hash_undefined__",ot=500,st="__lodash_placeholder__",lt=1,ct=2,ut=4,ft=1,At=2,vt=1,ht=2,bt=4,pt=8,dt=16,_t=32,Ct=64,gt=128,yt=256,xt=512,Et=30,It="...",Tt=800,Rt=16,Ot=1,Mt=2,Bt=3,Lt=1/0,Vt=9007199254740991,zt=17976931348623157e292,Nt=0/0,Wt=4294967295,Jt=Wt-1,nr=Wt>>>1,er=[["ary",gt],["bind",vt],["bindKey",ht],["curry",pt],["curryRight",dt],["flip",xt],["partial",_t],["partialRight",Ct],["rearg",yt]],Xt="[object Arguments]",tr="[object Array]",Zt="[object AsyncFunction]",Gt="[object Boolean]",Ft="[object Date]",jt="[object DOMException]",qt="[object Error]",or="[object Function]",fr="[object GeneratorFunction]",dr="[object Map]",vr="[object Number]",Er="[object Null]",mr="[object Object]",Or="[object Promise]",Lr="[object Proxy]",na="[object RegExp]",ba="[object Set]",qr="[object String]",Pr="[object Symbol]",ur="[object Undefined]",Sr="[object WeakMap]",jr="[object WeakSet]",Dr="[object ArrayBuffer]",Cr="[object DataView]",tn="[object Float32Array]",Vr="[object Float64Array]",Kr="[object Int8Array]",_n="[object Int16Array]",$n="[object Int32Array]",gn="[object Uint8Array]",Nn="[object Uint8ClampedArray]",kn="[object Uint16Array]",cn="[object Uint32Array]",s0=/\b__p \+= '';/g,On=/\b(__p \+=) '' \+/g,rn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,l0=/&(?:amp|lt|gt|quot|#39);/g,_a=/[&<>"']/g,Ao=RegExp(l0.source),e0=RegExp(_a.source),no=/<%-([\s\S]+?)%>/g,ho=/<%([\s\S]+?)%>/g,Yo=/<%=([\s\S]+?)%>/g,_o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Do=/^\w*$/,An=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r0=/[\\^$.*+?()[\]{}|]/g,vn=RegExp(r0.source),_0=/^\s+/,xn=/\s/,W0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,po=/\{\n\/\* \[wrapped with (.+)\] \*/,Uo=/,? & /,bs=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,a0=/[()=,{}\[\]\/\s]/,so=/\\(\\)?/g,Ts=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Bn=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,gs=/^0b[01]+$/i,So=/^\[object .+?Constructor\]$/,Qo=/^0o[0-7]+$/i,B0=/^(?:0|[1-9]\d*)$/,Il=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,P0=/($^)/,Ss=/['\n\r\u2028\u2029\\]/g,j0="\\ud800-\\udfff",ls="\\u0300-\\u036f",yo="\\ufe20-\\ufe2f",vo="\\u20d0-\\u20ff",c0=ls+yo+vo,$0="\\u2700-\\u27bf",qo="a-z\\xdf-\\xf6\\xf8-\\xff",Rl="\\xac\\xb1\\xd7\\xf7",Fo="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ml="\\u2000-\\u206f",Zs=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",T0="A-Z\\xc0-\\xd6\\xd8-\\xde",w0="\\ufe0e\\ufe0f",bo=Rl+Fo+Ml+Zs,Os="['’]",Kl="["+j0+"]",Is="["+bo+"]",u0="["+c0+"]",Rs="\\d+",Bl="["+$0+"]",Oo="["+qo+"]",cs="[^"+j0+bo+Rs+$0+qo+T0+"]",Ms="\\ud83c[\\udffb-\\udfff]",No="(?:"+u0+"|"+Ms+")",_c="[^"+j0+"]",Bs="(?:\\ud83c[\\udde6-\\uddff]){2}",I0="[\\ud800-\\udbff][\\udc00-\\udfff]",wo="["+T0+"]",Io="\\u200d",Ro="(?:"+Oo+"|"+cs+")",ys="(?:"+wo+"|"+cs+")",Pl="(?:"+Os+"(?:d|ll|m|re|s|t|ve))?",Ys="(?:"+Os+"(?:D|LL|M|RE|S|T|VE))?",Jo=No+"?",k2="["+w0+"]?",Ln="(?:"+Io+"(?:"+[_c,Bs,I0].join("|")+")"+k2+Jo+")*",M2="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",r2="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Us=k2+Jo+Ln,B2="(?:"+[Bl,Bs,I0].join("|")+")"+Us,a2="(?:"+[_c+u0+"?",u0,Bs,I0,Kl].join("|")+")",Qs=RegExp(Os,"g"),P2=RegExp(u0,"g"),n2=RegExp(Ms+"(?="+Ms+")|"+a2+Us,"g"),Ll=RegExp([wo+"?"+Oo+"+"+Pl+"(?="+[Is,wo,"$"].join("|")+")",ys+"+"+Ys+"(?="+[Is,wo+Ro,"$"].join("|")+")",wo+"?"+Ro+"+"+Pl,wo+"+"+Ys,r2,M2,Rs,B2].join("|"),"g"),L2=RegExp("["+Io+j0+c0+w0+"]"),Ps=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,us=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],D2=-1,v0={};v0[tn]=v0[Vr]=v0[Kr]=v0[_n]=v0[$n]=v0[gn]=v0[Nn]=v0[kn]=v0[cn]=!0,v0[Xt]=v0[tr]=v0[Dr]=v0[Gt]=v0[Cr]=v0[Ft]=v0[qt]=v0[or]=v0[dr]=v0[vr]=v0[mr]=v0[na]=v0[ba]=v0[qr]=v0[Sr]=!1;var f0={};f0[Xt]=f0[tr]=f0[Dr]=f0[Cr]=f0[Gt]=f0[Ft]=f0[tn]=f0[Vr]=f0[Kr]=f0[_n]=f0[$n]=f0[dr]=f0[vr]=f0[mr]=f0[na]=f0[ba]=f0[qr]=f0[Pr]=f0[gn]=f0[Nn]=f0[kn]=f0[cn]=!0,f0[qt]=f0[or]=f0[Sr]=!1;var F2={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},i2={"&":"&","<":"<",">":">",'"':""","'":"'"},N2={"&":"&","<":"<",">":">",""":'"',"'":"'"},E2={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},o2=parseFloat,_2=parseInt,qs=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,zo=typeof self=="object"&&self&&self.Object===Object&&self,D0=qs||zo||Function("return this")(),jo=$&&!$.nodeType&&$,F0=jo&&!0&&o&&!o.nodeType&&o,Vo=F0&&F0.exports===jo,Mo=Vo&&qs.process,U0=function(){try{var Tr=F0&&F0.require&&F0.require("util").types;return Tr||Mo&&Mo.binding&&Mo.binding("util")}catch(Wr){}}(),Ls=U0&&U0.isArrayBuffer,s2=U0&&U0.isDate,Dl=U0&&U0.isMap,Ds=U0&&U0.isRegExp,nn=U0&&U0.isSet,Js=U0&&U0.isTypedArray;function io(Tr,Wr,Nr){switch(Nr.length){case 0:return Tr.call(Wr);case 1:return Tr.call(Wr,Nr[0]);case 2:return Tr.call(Wr,Nr[0],Nr[1]);case 3:return Tr.call(Wr,Nr[0],Nr[1],Nr[2])}return Tr.apply(Wr,Nr)}function Bo(Tr,Wr,Nr,hn){for(var zn=-1,b0=Tr==null?0:Tr.length;++zn-1}function sr(Tr,Wr,Nr){for(var hn=-1,zn=Tr==null?0:Tr.length;++hn-1;);return Nr}function d0(Tr,Wr){for(var Nr=Tr.length;Nr--&&S0(Wr,Tr[Nr],0)>-1;);return Nr}function bn(Tr,Wr){for(var Nr=Tr.length,hn=0;Nr--;)Tr[Nr]===Wr&&++hn;return hn}var V0=ir(F2),oo=ir(i2);function co(Tr){return"\\"+E2[Tr]}function Fs(Tr,Wr){return Tr==null?_e:Tr[Wr]}function Xo(Tr){return L2.test(Tr)}function Xs(Tr){return Ps.test(Tr)}function x2(Tr){for(var Wr,Nr=[];!(Wr=Tr.next()).done;)Nr.push(Wr.value);return Nr}function f1(Tr){var Wr=-1,Nr=Array(Tr.size);return Tr.forEach(function(hn,zn){Nr[++Wr]=[zn,hn]}),Nr}function R4(Tr,Wr){return function(Nr){return Tr(Wr(Nr))}}function C2(Tr,Wr){for(var Nr=-1,hn=Tr.length,zn=0,b0=[];++Nr-1}function Y4(mt,$t){var Dt=this.__data__,Yt=w1(Dt,mt);return Yt<0?(++this.size,Dt.push([mt,$t])):Dt[Yt][1]=$t,this}Vl.prototype.clear=c8,Vl.prototype.delete=u8,Vl.prototype.get=Z4,Vl.prototype.has=f8,Vl.prototype.set=Y4;function Gl(mt){var $t=-1,Dt=mt==null?0:mt.length;for(this.clear();++$t=$t?mt:$t)),mt}function ws(mt,$t,Dt,Yt,rr,cr){var br,wr=$t<,xr=$t&ct,Fr=$t&ut;if(Dt&&(br=rr?Dt(mt,Yt,rr,cr):Dt(mt)),br!==_e)return br;if(!K0(mt))return mt;var Rr=Gn(mt);if(Rr){if(br=V8(mt),!wr)return os(mt,br)}else{var Br=Wo(mt),$a=Br==or||Br==fr;if(g2(mt))return M1(mt,wr);if(Br==mr||Br==Xt||$a&&!rr){if(br=xr||$a?{}:V1(mt),!wr)return xr?P8(mt,E8(br,mt)):hp(mt,wA(br,mt))}else{if(!f0[Br])return rr?mt:{};br=G8(mt,Br,wr)}}cr||(cr=new zs);var sn=cr.get(mt);if(sn)return sn;cr.set(mt,br),w3(mt)?mt.forEach(function(dn){br.add(ws(dn,$t,Dt,dn,mt,cr))}):l1(mt)&&mt.forEach(function(dn,Dn){br.set(Dn,ws(dn,$t,Dt,Dn,mt,cr))});var un=Fr?xr?JA:F1:xr?ds:To,In=Rr?_e:un(mt);return Q0(In||mt,function(dn,Dn){In&&(Dn=dn,dn=mt[Dn]),Vu(br,Dn,ws(dn,$t,Dt,Dn,mt,cr))}),br}function ep(mt){var $t=To(mt);return function(Dt){return kA(Dt,mt,$t)}}function kA(mt,$t,Dt){var Yt=Dt.length;if(mt==null)return!Yt;for(mt=R0(mt);Yt--;){var rr=Dt[Yt],cr=$t[rr],br=mt[rr];if(br===_e&&!(rr in mt)||!cr(br))return!1}return!0}function Wl(mt,$t,Dt){if(typeof mt!="function")throw new ts(at);return Zo(function(){mt.apply(_e,Dt)},$t)}function A2(mt,$t,Dt,Yt){var rr=-1,cr=xo,br=!0,wr=mt.length,xr=[],Fr=$t.length;if(!wr)return xr;Dt&&($t=gr($t,yn(Dt))),Yt?(cr=sr,br=!1):$t.length>=tt&&(cr=i0,br=!1,$t=new T2($t));e:for(;++rrrr?0:rr+Dt),Yt=Yt===_e||Yt>rr?rr:Qn(Yt),Yt<0&&(Yt+=rr),Yt=Dt>Yt?0:x3(Yt);Dt0&&Dt(wr)?$t>1?Po(wr,$t-1,Dt,Yt,rr):Ir(rr,wr):Yt||(rr[rr.length]=wr)}return rr}var xA=vp(),tp=vp(!0);function Al(mt,$t){return mt&&xA(mt,$t,To)}function Gu(mt,$t){return mt&&tp(mt,$t,To)}function Hu(mt,$t){return Go($t,function(Dt){return m2(mt[Dt])})}function Q2(mt,$t){$t=O2($t,mt);for(var Dt=0,Yt=$t.length;mt!=null&&Dt$t}function rp(mt,$t){return mt!=null&&k0.call(mt,$t)}function C1(mt,$t){return mt!=null&&$t in R0(mt)}function ns(mt,$t,Dt){return mt>=Ho($t,Dt)&&mt=120&&Rr.length>=120)?new T2(br&&Rr):_e}Rr=mt[0];var Br=-1,$a=wr[0];e:for(;++Br-1;)wr!==mt&&j2.call(wr,xr,1),j2.call(mt,xr,1);return mt}function Wu(mt,$t){for(var Dt=mt?$t.length:0,Yt=Dt-1;Dt--;){var rr=$t[Dt];if(Dt==Yt||rr!==cr){var cr=rr;b2(rr)?j2.call(mt,rr,1):R1(mt,rr)}}return mt}function LA(mt,$t){return mt+lu(j4()*($t-mt+1))}function sp(mt,$t,Dt,Yt){for(var rr=-1,cr=uo(g1(($t-mt)/(Dt||1)),0),br=Nr(cr);cr--;)br[Yt?cr:++rr]=mt,mt+=Dt;return br}function O1(mt,$t){var Dt="";if(!mt||$t<1||$t>Vt)return Dt;do $t%2&&(Dt+=mt),$t=lu($t/2),$t&&(mt+=mt);while($t);return Dt}function Un(mt,$t){return Ju(Ul(mt,$t,vs),mt+"")}function lp(mt){return X4(hs(mt))}function Zu(mt,$t){var Dt=hs(mt);return Xu(Dt,Hl($t,0,Dt.length))}function du(mt,$t,Dt,Yt){if(!K0(mt))return mt;$t=O2($t,mt);for(var rr=-1,cr=$t.length,br=cr-1,wr=mt;wr!=null&&++rrrr?0:rr+$t),Dt=Dt>rr?rr:Dt,Dt<0&&(Dt+=rr),rr=$t>Dt?0:Dt-$t>>>0,$t>>>=0;for(var cr=Nr(rr);++Yt>>1,br=mt[cr];br!==null&&!Cs(br)&&(Dt?br<=$t:br<$t)?Yt=cr+1:rr=cr}return rr}return DA(mt,$t,vs,Dt)}function DA(mt,$t,Dt,Yt){var rr=0,cr=mt==null?0:mt.length;if(cr===0)return 0;$t=Dt($t);for(var br=$t!==$t,wr=$t===null,xr=Cs($t),Fr=$t===_e;rr=tt){var Fr=$t?null:D8(mt);if(Fr)return A1(Fr);br=!1,rr=i0,xr=new T2}else xr=$t?[]:wr;e:for(;++Yt=Yt?mt:eo(mt,$t,Dt)}var fp=Y3||function(mt){return D0.clearTimeout(mt)};function M1(mt,$t){if($t)return mt.slice();var Dt=mt.length,Yt=hA?hA(Dt):new mt.constructor(Dt);return mt.copy(Yt),Yt}function B1(mt){var $t=new mt.constructor(mt.byteLength);return new v1($t).set(new v1(mt)),$t}function Ap(mt,$t){var Dt=$t?B1(mt.buffer):mt.buffer;return new mt.constructor(Dt,mt.byteOffset,mt.byteLength)}function M8(mt){var $t=new mt.constructor(mt.source,Bn.exec(mt));return $t.lastIndex=mt.lastIndex,$t}function dp(mt){return uu?R0(uu.call(mt)):{}}function WA(mt,$t){var Dt=$t?B1(mt.buffer):mt.buffer;return new mt.constructor(Dt,mt.byteOffset,mt.length)}function ZA(mt,$t){if(mt!==$t){var Dt=mt!==_e,Yt=mt===null,rr=mt===mt,cr=Cs(mt),br=$t!==_e,wr=$t===null,xr=$t===$t,Fr=Cs($t);if(!wr&&!Fr&&!cr&&mt>$t||cr&&br&&xr&&!wr&&!Fr||Yt&&br&&xr||!Dt&&xr||!rr)return 1;if(!Yt&&!cr&&!Fr&&mt<$t||Fr&&Dt&&rr&&!Yt&&!cr||wr&&Dt&&rr||!br&&rr||!xr)return-1}return 0}function B8(mt,$t,Dt){for(var Yt=-1,rr=mt.criteria,cr=$t.criteria,br=rr.length,wr=Dt.length;++Yt=wr)return xr;var Fr=Dt[Yt];return xr*(Fr=="desc"?-1:1)}}return mt.index-$t.index}function P1(mt,$t,Dt,Yt){for(var rr=-1,cr=mt.length,br=Dt.length,wr=-1,xr=$t.length,Fr=uo(cr-br,0),Rr=Nr(xr+Fr),Br=!Yt;++wr1?Dt[rr-1]:_e,br=rr>2?Dt[2]:_e;for(cr=mt.length>3&&typeof cr=="function"?(rr--,cr):_e,br&&ss(Dt[0],Dt[1],br)&&(cr=rr<3?_e:cr,rr=1),$t=R0($t);++Yt-1?rr[cr?$t[br]:br]:_e}}function yp(mt){return Yl(function($t){var Dt=$t.length,Yt=Dt,rr=Ns.prototype.thru;for(mt&&$t.reverse();Yt--;){var cr=$t[Yt];if(typeof cr!="function")throw new ts(at);if(rr&&!br&&wu(cr)=="wrapper")var br=new Ns([],!0)}for(Yt=br?Yt:Dt;++Yt1&&Pn.reverse(),Rr&&xrwr))return!1;var Fr=cr.get(mt),Rr=cr.get($t);if(Fr&&Rr)return Fr==$t&&Rr==mt;var Br=-1,$a=!0,sn=Dt&At?new T2:_e;for(cr.set(mt,$t),cr.set($t,mt);++Br1?"& ":"")+$t[Yt],$t=$t.join(Dt>2?", ":" "),mt.replace(W0,`{ + */(function(o,$){(function(){var _e,et="4.17.21",tt=200,rt="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",at="Expected a function",nt="Invalid `variable` option passed into `_.template`",it="__lodash_hash_undefined__",ot=500,st="__lodash_placeholder__",lt=1,ct=2,ut=4,ft=1,At=2,vt=1,ht=2,mt=4,bt=8,dt=16,xt=32,Ct=64,gt=128,wt=256,_t=512,Et=30,It="...",Tt=800,Rt=16,Ot=1,Mt=2,Bt=3,Lt=1/0,jt=9007199254740991,zt=17976931348623157e292,Nt=0/0,Wt=4294967295,qt=Wt-1,nr=Wt>>>1,ar=[["ary",gt],["bind",vt],["bindKey",ht],["curry",bt],["curryRight",dt],["flip",_t],["partial",xt],["partialRight",Ct],["rearg",wt]],Kt="[object Arguments]",er="[object Array]",Ut="[object AsyncFunction]",Ht="[object Boolean]",Ft="[object Date]",Vt="[object DOMException]",Jt="[object Error]",or="[object Function]",Ar="[object GeneratorFunction]",hr="[object Map]",vr="[object Number]",Er="[object Null]",mr="[object Object]",Or="[object Promise]",Lr="[object Proxy]",na="[object RegExp]",ba="[object Set]",qr="[object String]",Pr="[object Symbol]",ur="[object Undefined]",Sr="[object WeakMap]",jr="[object WeakSet]",Dr="[object ArrayBuffer]",Cr="[object DataView]",tn="[object Float32Array]",Vr="[object Float64Array]",Kr="[object Int8Array]",_n="[object Int16Array]",$n="[object Int32Array]",gn="[object Uint8Array]",Nn="[object Uint8ClampedArray]",kn="[object Uint16Array]",cn="[object Uint32Array]",s0=/\b__p \+= '';/g,On=/\b(__p \+=) '' \+/g,rn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,l0=/&(?:amp|lt|gt|quot|#39);/g,_a=/[&<>"']/g,Ao=RegExp(l0.source),e0=RegExp(_a.source),no=/<%-([\s\S]+?)%>/g,ho=/<%([\s\S]+?)%>/g,Yo=/<%=([\s\S]+?)%>/g,_o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Do=/^\w*$/,An=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r0=/[\\^$.*+?()[\]{}|]/g,vn=RegExp(r0.source),_0=/^\s+/,xn=/\s/,W0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,po=/\{\n\/\* \[wrapped with (.+)\] \*/,Uo=/,? & /,bs=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,a0=/[()=,{}\[\]\/\s]/,so=/\\(\\)?/g,Ts=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Bn=/\w*$/,Cn=/^[-+]0x[0-9a-f]+$/i,gs=/^0b[01]+$/i,So=/^\[object .+?Constructor\]$/,Qo=/^0o[0-7]+$/i,B0=/^(?:0|[1-9]\d*)$/,Il=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,P0=/($^)/,Ss=/['\n\r\u2028\u2029\\]/g,j0="\\ud800-\\udfff",ls="\\u0300-\\u036f",yo="\\ufe20-\\ufe2f",vo="\\u20d0-\\u20ff",c0=ls+yo+vo,$0="\\u2700-\\u27bf",qo="a-z\\xdf-\\xf6\\xf8-\\xff",Rl="\\xac\\xb1\\xd7\\xf7",Fo="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ml="\\u2000-\\u206f",Zs=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",T0="A-Z\\xc0-\\xd6\\xd8-\\xde",w0="\\ufe0e\\ufe0f",bo=Rl+Fo+Ml+Zs,Os="['’]",Kl="["+j0+"]",Is="["+bo+"]",u0="["+c0+"]",Rs="\\d+",Bl="["+$0+"]",Oo="["+qo+"]",cs="[^"+j0+bo+Rs+$0+qo+T0+"]",Ms="\\ud83c[\\udffb-\\udfff]",No="(?:"+u0+"|"+Ms+")",_c="[^"+j0+"]",Bs="(?:\\ud83c[\\udde6-\\uddff]){2}",I0="[\\ud800-\\udbff][\\udc00-\\udfff]",wo="["+T0+"]",Io="\\u200d",Ro="(?:"+Oo+"|"+cs+")",ys="(?:"+wo+"|"+cs+")",Pl="(?:"+Os+"(?:d|ll|m|re|s|t|ve))?",Ys="(?:"+Os+"(?:D|LL|M|RE|S|T|VE))?",Jo=No+"?",k2="["+w0+"]?",Ln="(?:"+Io+"(?:"+[_c,Bs,I0].join("|")+")"+k2+Jo+")*",M2="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",r2="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Us=k2+Jo+Ln,B2="(?:"+[Bl,Bs,I0].join("|")+")"+Us,a2="(?:"+[_c+u0+"?",u0,Bs,I0,Kl].join("|")+")",Qs=RegExp(Os,"g"),P2=RegExp(u0,"g"),n2=RegExp(Ms+"(?="+Ms+")|"+a2+Us,"g"),Ll=RegExp([wo+"?"+Oo+"+"+Pl+"(?="+[Is,wo,"$"].join("|")+")",ys+"+"+Ys+"(?="+[Is,wo+Ro,"$"].join("|")+")",wo+"?"+Ro+"+"+Pl,wo+"+"+Ys,r2,M2,Rs,B2].join("|"),"g"),L2=RegExp("["+Io+j0+c0+w0+"]"),Ps=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,us=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],D2=-1,v0={};v0[tn]=v0[Vr]=v0[Kr]=v0[_n]=v0[$n]=v0[gn]=v0[Nn]=v0[kn]=v0[cn]=!0,v0[Kt]=v0[er]=v0[Dr]=v0[Ht]=v0[Cr]=v0[Ft]=v0[Jt]=v0[or]=v0[hr]=v0[vr]=v0[mr]=v0[na]=v0[ba]=v0[qr]=v0[Sr]=!1;var f0={};f0[Kt]=f0[er]=f0[Dr]=f0[Cr]=f0[Ht]=f0[Ft]=f0[tn]=f0[Vr]=f0[Kr]=f0[_n]=f0[$n]=f0[hr]=f0[vr]=f0[mr]=f0[na]=f0[ba]=f0[qr]=f0[Pr]=f0[gn]=f0[Nn]=f0[kn]=f0[cn]=!0,f0[Jt]=f0[or]=f0[Sr]=!1;var F2={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},i2={"&":"&","<":"<",">":">",'"':""","'":"'"},N2={"&":"&","<":"<",">":">",""":'"',"'":"'"},E2={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},o2=parseFloat,_2=parseInt,qs=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,zo=typeof self=="object"&&self&&self.Object===Object&&self,D0=qs||zo||Function("return this")(),jo=$&&!$.nodeType&&$,F0=jo&&!0&&o&&!o.nodeType&&o,Vo=F0&&F0.exports===jo,Mo=Vo&&qs.process,U0=function(){try{var Tr=F0&&F0.require&&F0.require("util").types;return Tr||Mo&&Mo.binding&&Mo.binding("util")}catch(Wr){}}(),Ls=U0&&U0.isArrayBuffer,s2=U0&&U0.isDate,Dl=U0&&U0.isMap,Ds=U0&&U0.isRegExp,nn=U0&&U0.isSet,Js=U0&&U0.isTypedArray;function io(Tr,Wr,Nr){switch(Nr.length){case 0:return Tr.call(Wr);case 1:return Tr.call(Wr,Nr[0]);case 2:return Tr.call(Wr,Nr[0],Nr[1]);case 3:return Tr.call(Wr,Nr[0],Nr[1],Nr[2])}return Tr.apply(Wr,Nr)}function Bo(Tr,Wr,Nr,hn){for(var zn=-1,b0=Tr==null?0:Tr.length;++zn-1}function sr(Tr,Wr,Nr){for(var hn=-1,zn=Tr==null?0:Tr.length;++hn-1;);return Nr}function d0(Tr,Wr){for(var Nr=Tr.length;Nr--&&S0(Wr,Tr[Nr],0)>-1;);return Nr}function bn(Tr,Wr){for(var Nr=Tr.length,hn=0;Nr--;)Tr[Nr]===Wr&&++hn;return hn}var V0=ir(F2),oo=ir(i2);function co(Tr){return"\\"+E2[Tr]}function Fs(Tr,Wr){return Tr==null?_e:Tr[Wr]}function Xo(Tr){return L2.test(Tr)}function Xs(Tr){return Ps.test(Tr)}function x2(Tr){for(var Wr,Nr=[];!(Wr=Tr.next()).done;)Nr.push(Wr.value);return Nr}function f1(Tr){var Wr=-1,Nr=Array(Tr.size);return Tr.forEach(function(hn,zn){Nr[++Wr]=[zn,hn]}),Nr}function R4(Tr,Wr){return function(Nr){return Tr(Wr(Nr))}}function C2(Tr,Wr){for(var Nr=-1,hn=Tr.length,zn=0,b0=[];++Nr-1}function Y4(pt,$t){var Dt=this.__data__,Zt=w1(Dt,pt);return Zt<0?(++this.size,Dt.push([pt,$t])):Dt[Zt][1]=$t,this}Vl.prototype.clear=c8,Vl.prototype.delete=u8,Vl.prototype.get=Z4,Vl.prototype.has=f8,Vl.prototype.set=Y4;function Gl(pt){var $t=-1,Dt=pt==null?0:pt.length;for(this.clear();++$t=$t?pt:$t)),pt}function ws(pt,$t,Dt,Zt,tr,cr){var br,wr=$t<,xr=$t&ct,Fr=$t&ut;if(Dt&&(br=tr?Dt(pt,Zt,tr,cr):Dt(pt)),br!==_e)return br;if(!K0(pt))return pt;var Rr=Gn(pt);if(Rr){if(br=V8(pt),!wr)return os(pt,br)}else{var Br=Wo(pt),$a=Br==or||Br==Ar;if(g2(pt))return M1(pt,wr);if(Br==mr||Br==Kt||$a&&!tr){if(br=xr||$a?{}:V1(pt),!wr)return xr?P8(pt,E8(br,pt)):hp(pt,wA(br,pt))}else{if(!f0[Br])return tr?pt:{};br=G8(pt,Br,wr)}}cr||(cr=new zs);var sn=cr.get(pt);if(sn)return sn;cr.set(pt,br),w3(pt)?pt.forEach(function(dn){br.add(ws(dn,$t,Dt,dn,pt,cr))}):l1(pt)&&pt.forEach(function(dn,Dn){br.set(Dn,ws(dn,$t,Dt,Dn,pt,cr))});var un=Fr?xr?JA:F1:xr?ds:To,In=Rr?_e:un(pt);return Q0(In||pt,function(dn,Dn){In&&(Dn=dn,dn=pt[Dn]),Vu(br,Dn,ws(dn,$t,Dt,Dn,pt,cr))}),br}function ep(pt){var $t=To(pt);return function(Dt){return kA(Dt,pt,$t)}}function kA(pt,$t,Dt){var Zt=Dt.length;if(pt==null)return!Zt;for(pt=R0(pt);Zt--;){var tr=Dt[Zt],cr=$t[tr],br=pt[tr];if(br===_e&&!(tr in pt)||!cr(br))return!1}return!0}function Wl(pt,$t,Dt){if(typeof pt!="function")throw new ts(at);return Zo(function(){pt.apply(_e,Dt)},$t)}function A2(pt,$t,Dt,Zt){var tr=-1,cr=xo,br=!0,wr=pt.length,xr=[],Fr=$t.length;if(!wr)return xr;Dt&&($t=gr($t,yn(Dt))),Zt?(cr=sr,br=!1):$t.length>=tt&&(cr=i0,br=!1,$t=new T2($t));e:for(;++trtr?0:tr+Dt),Zt=Zt===_e||Zt>tr?tr:Qn(Zt),Zt<0&&(Zt+=tr),Zt=Dt>Zt?0:x3(Zt);Dt0&&Dt(wr)?$t>1?Po(wr,$t-1,Dt,Zt,tr):Ir(tr,wr):Zt||(tr[tr.length]=wr)}return tr}var xA=vp(),tp=vp(!0);function Al(pt,$t){return pt&&xA(pt,$t,To)}function Gu(pt,$t){return pt&&tp(pt,$t,To)}function Hu(pt,$t){return Go($t,function(Dt){return m2(pt[Dt])})}function Q2(pt,$t){$t=O2($t,pt);for(var Dt=0,Zt=$t.length;pt!=null&&Dt$t}function rp(pt,$t){return pt!=null&&k0.call(pt,$t)}function C1(pt,$t){return pt!=null&&$t in R0(pt)}function ns(pt,$t,Dt){return pt>=Ho($t,Dt)&&pt=120&&Rr.length>=120)?new T2(br&&Rr):_e}Rr=pt[0];var Br=-1,$a=wr[0];e:for(;++Br-1;)wr!==pt&&j2.call(wr,xr,1),j2.call(pt,xr,1);return pt}function Wu(pt,$t){for(var Dt=pt?$t.length:0,Zt=Dt-1;Dt--;){var tr=$t[Dt];if(Dt==Zt||tr!==cr){var cr=tr;b2(tr)?j2.call(pt,tr,1):R1(pt,tr)}}return pt}function LA(pt,$t){return pt+lu(j4()*($t-pt+1))}function sp(pt,$t,Dt,Zt){for(var tr=-1,cr=uo(g1(($t-pt)/(Dt||1)),0),br=Nr(cr);cr--;)br[Zt?cr:++tr]=pt,pt+=Dt;return br}function O1(pt,$t){var Dt="";if(!pt||$t<1||$t>jt)return Dt;do $t%2&&(Dt+=pt),$t=lu($t/2),$t&&(pt+=pt);while($t);return Dt}function Un(pt,$t){return Ju(Ul(pt,$t,vs),pt+"")}function lp(pt){return X4(hs(pt))}function Zu(pt,$t){var Dt=hs(pt);return Xu(Dt,Hl($t,0,Dt.length))}function du(pt,$t,Dt,Zt){if(!K0(pt))return pt;$t=O2($t,pt);for(var tr=-1,cr=$t.length,br=cr-1,wr=pt;wr!=null&&++trtr?0:tr+$t),Dt=Dt>tr?tr:Dt,Dt<0&&(Dt+=tr),tr=$t>Dt?0:Dt-$t>>>0,$t>>>=0;for(var cr=Nr(tr);++Zt>>1,br=pt[cr];br!==null&&!Cs(br)&&(Dt?br<=$t:br<$t)?Zt=cr+1:tr=cr}return tr}return DA(pt,$t,vs,Dt)}function DA(pt,$t,Dt,Zt){var tr=0,cr=pt==null?0:pt.length;if(cr===0)return 0;$t=Dt($t);for(var br=$t!==$t,wr=$t===null,xr=Cs($t),Fr=$t===_e;tr=tt){var Fr=$t?null:D8(pt);if(Fr)return A1(Fr);br=!1,tr=i0,xr=new T2}else xr=$t?[]:wr;e:for(;++Zt=Zt?pt:eo(pt,$t,Dt)}var fp=Y3||function(pt){return D0.clearTimeout(pt)};function M1(pt,$t){if($t)return pt.slice();var Dt=pt.length,Zt=hA?hA(Dt):new pt.constructor(Dt);return pt.copy(Zt),Zt}function B1(pt){var $t=new pt.constructor(pt.byteLength);return new v1($t).set(new v1(pt)),$t}function Ap(pt,$t){var Dt=$t?B1(pt.buffer):pt.buffer;return new pt.constructor(Dt,pt.byteOffset,pt.byteLength)}function M8(pt){var $t=new pt.constructor(pt.source,Bn.exec(pt));return $t.lastIndex=pt.lastIndex,$t}function dp(pt){return uu?R0(uu.call(pt)):{}}function WA(pt,$t){var Dt=$t?B1(pt.buffer):pt.buffer;return new pt.constructor(Dt,pt.byteOffset,pt.length)}function ZA(pt,$t){if(pt!==$t){var Dt=pt!==_e,Zt=pt===null,tr=pt===pt,cr=Cs(pt),br=$t!==_e,wr=$t===null,xr=$t===$t,Fr=Cs($t);if(!wr&&!Fr&&!cr&&pt>$t||cr&&br&&xr&&!wr&&!Fr||Zt&&br&&xr||!Dt&&xr||!tr)return 1;if(!Zt&&!cr&&!Fr&&pt<$t||Fr&&Dt&&tr&&!Zt&&!cr||wr&&Dt&&tr||!br&&tr||!xr)return-1}return 0}function B8(pt,$t,Dt){for(var Zt=-1,tr=pt.criteria,cr=$t.criteria,br=tr.length,wr=Dt.length;++Zt=wr)return xr;var Fr=Dt[Zt];return xr*(Fr=="desc"?-1:1)}}return pt.index-$t.index}function P1(pt,$t,Dt,Zt){for(var tr=-1,cr=pt.length,br=Dt.length,wr=-1,xr=$t.length,Fr=uo(cr-br,0),Rr=Nr(xr+Fr),Br=!Zt;++wr1?Dt[tr-1]:_e,br=tr>2?Dt[2]:_e;for(cr=pt.length>3&&typeof cr=="function"?(tr--,cr):_e,br&&ss(Dt[0],Dt[1],br)&&(cr=tr<3?_e:cr,tr=1),$t=R0($t);++Zt-1?tr[cr?$t[br]:br]:_e}}function yp(pt){return Yl(function($t){var Dt=$t.length,Zt=Dt,tr=Ns.prototype.thru;for(pt&&$t.reverse();Zt--;){var cr=$t[Zt];if(typeof cr!="function")throw new ts(at);if(tr&&!br&&wu(cr)=="wrapper")var br=new Ns([],!0)}for(Zt=br?Zt:Dt;++Zt1&&Pn.reverse(),Rr&&xrwr))return!1;var Fr=cr.get(pt),Rr=cr.get($t);if(Fr&&Rr)return Fr==$t&&Rr==pt;var Br=-1,$a=!0,sn=Dt&At?new T2:_e;for(cr.set(pt,$t),cr.set($t,pt);++Br1?"& ":"")+$t[Zt],$t=$t.join(Dt>2?", ":" "),pt.replace(W0,`{ /* [wrapped with `+$t+`] */ -`)}function W8(mt){return Gn(mt)||nu(mt)||!!(F4&&mt&&mt[F4])}function b2(mt,$t){var Dt=typeof mt;return $t=$t==null?Vt:$t,!!$t&&(Dt=="number"||Dt!="symbol"&&B0.test(mt))&&mt>-1&&mt%1==0&&mt<$t}function ss(mt,$t,Dt){if(!K0(Dt))return!1;var Yt=typeof $t;return(Yt=="number"?As(Dt)&&b2($t,Dt.length):Yt=="string"&&$t in Dt)?Tl(Dt[$t],mt):!1}function eu(mt,$t){if(Gn(mt))return!1;var Dt=typeof mt;return Dt=="number"||Dt=="symbol"||Dt=="boolean"||mt==null||Cs(mt)?!0:Do.test(mt)||!_o.test(mt)||$t!=null&&mt in R0($t)}function _d(mt){var $t=typeof mt;return $t=="string"||$t=="number"||$t=="symbol"||$t=="boolean"?mt!=="__proto__":mt===null}function Qu(mt){var $t=wu(mt),Dt=hr[$t];if(typeof Dt!="function"||!($t in Kn.prototype))return!1;if(mt===Dt)return!0;var Yt=N1(Dt);return!!Yt&&mt===Yt[0]}function _h(mt){return!!fA&&fA in mt}var $p=Lu?m2:St;function Eu(mt){var $t=mt&&mt.constructor,Dt=typeof $t=="function"&&$t.prototype||Co;return mt===Dt}function G1(mt){return mt===mt&&!K0(mt)}function go(mt,$t){return function(Dt){return Dt==null?!1:Dt[mt]===$t&&($t!==_e||mt in R0(Dt))}}function fo(mt){var $t=tA(mt,function(Yt){return Dt.size===ot&&Dt.clear(),Yt}),Dt=$t.cache;return $t}function H1(mt,$t){var Dt=mt[1],Yt=$t[1],rr=Dt|Yt,cr=rr<(vt|ht|gt),br=Yt==gt&&Dt==pt||Yt==gt&&Dt==yt&&mt[7].length<=$t[8]||Yt==(gt|yt)&&$t[7].length<=$t[8]&&Dt==pt;if(!(cr||br))return mt;Yt&vt&&(mt[2]=$t[2],rr|=Dt&vt?0:bt);var wr=$t[3];if(wr){var xr=mt[3];mt[3]=xr?P1(xr,wr,$t[4]):wr,mt[4]=xr?C2(mt[3],st):$t[4]}return wr=$t[5],wr&&(xr=mt[5],mt[5]=xr?Uu(xr,wr,$t[6]):wr,mt[6]=xr?C2(mt[5],st):$t[6]),wr=$t[7],wr&&(mt[7]=wr),Yt>&&(mt[8]=mt[8]==null?$t[8]:Ho(mt[8],$t[8])),mt[9]==null&&(mt[9]=$t[9]),mt[0]=$t[0],mt[1]=rr,mt}function qu(mt){var $t=[];if(mt!=null)for(var Dt in R0(mt))$t.push(Dt);return $t}function Tp(mt){return h1.call(mt)}function Ul(mt,$t,Dt){return $t=uo($t===_e?mt.length-1:$t,0),function(){for(var Yt=arguments,rr=-1,cr=uo(Yt.length-$t,0),br=Nr(cr);++rr0){if(++$t>=Tt)return arguments[0]}else $t=0;return mt.apply(_e,arguments)}}function Xu(mt,$t){var Dt=-1,Yt=mt.length,rr=Yt-1;for($t=$t===_e?Yt:$t;++Dt<$t;){var cr=LA(Dt,rr),br=mt[cr];mt[cr]=mt[Dt],mt[Dt]=br}return mt.length=$t,mt}var tu=fo(function(mt){var $t=[];return mt.charCodeAt(0)===46&&$t.push(""),mt.replace(An,function(Dt,Yt,rr,cr){$t.push(rr?cr.replace(so,"$1"):Yt||Dt)}),$t});function xl(mt){if(typeof mt=="string"||Cs(mt))return mt;var $t=mt+"";return $t=="0"&&1/mt==-Lt?"-0":$t}function I2(mt){if(mt!=null){try{return Du.call(mt)}catch($t){}try{return mt+""}catch($t){}}return""}function Ql(mt,$t){return Q0(er,function(Dt){var Yt="_."+Dt[0];$t&Dt[1]&&!xo(mt,Yt)&&mt.push(Yt)}),mt.sort()}function t4(mt){if(mt instanceof Kn)return mt.clone();var $t=new Ns(mt.__wrapped__,mt.__chain__);return $t.__actions__=os(mt.__actions__),$t.__index__=mt.__index__,$t.__values__=mt.__values__,$t}function Op(mt,$t,Dt){(Dt?ss(mt,$t,Dt):$t===_e)?$t=1:$t=uo(Qn($t),0);var Yt=mt==null?0:mt.length;if(!Yt||$t<1)return[];for(var rr=0,cr=0,br=Nr(g1(Yt/$t));rr1?mt[$t-1]:_e;return Dt=typeof Dt=="function"?(mt.pop(),Dt):_e,Jp(mt,Dt)});function e3(mt){var $t=hr(mt);return $t.__chain__=!0,$t}function f4(mt,$t){return $t(mt),mt}function a1(mt,$t){return $t(mt)}var cv=Yl(function(mt){var $t=mt.length,Dt=$t?mt[0]:0,Yt=this.__wrapped__,rr=function(cr){return k1(cr,mt)};return $t>1||this.__actions__.length||!(Yt instanceof Kn)||!b2(Dt)?this.thru(rr):(Yt=Yt.slice(Dt,+Dt+($t?1:0)),Yt.__actions__.push({func:a1,args:[rr],thisArg:_e}),new Ns(Yt,this.__chain__).thru(function(cr){return $t&&!cr.length&&cr.push(_e),cr}))});function uv(){return e3(this)}function fv(){return new Ns(this.value(),this.__chain__)}function q1(){this.__values__===_e&&(this.__values__=g4(this.value()));var mt=this.__index__>=this.__values__.length,$t=mt?_e:this.__values__[this.__index__++];return{done:mt,value:$t}}function r3(){return this}function J1(mt){for(var $t,Dt=this;Dt instanceof ju;){var Yt=t4(Dt);Yt.__index__=0,Yt.__values__=_e,$t?rr.__wrapped__=Yt:$t=Yt;var rr=Yt;Dt=Dt.__wrapped__}return rr.__wrapped__=mt,$t}function Av(){var mt=this.__wrapped__;if(mt instanceof Kn){var $t=mt;return this.__actions__.length&&($t=new Kn(this)),$t=$t.reverse(),$t.__actions__.push({func:a1,args:[e1],thisArg:_e}),new Ns($t,this.__chain__)}return this.thru(e1)}function dv(){return zA(this.__wrapped__,this.__actions__)}var hv=L1(function(mt,$t,Dt){k0.call(mt,Dt)?++mt[Dt]:f2(mt,Dt,1)});function pv(mt,$t,Dt){var Yt=Gn(mt)?fs:_8;return Dt&&ss(mt,$t,Dt)&&($t=_e),Yt(mt,mn($t,3))}function vv(mt,$t){var Dt=Gn(mt)?Go:_A;return Dt(mt,mn($t,3))}var bv=mp(a4),gv=mp(n4);function mv(mt,$t){return Po(eA(mt,$t),1)}function yv(mt,$t){return Po(eA(mt,$t),Lt)}function a3(mt,$t,Dt){return Dt=Dt===_e?1:Qn(Dt),Po(eA(mt,$t),Dt)}function n3(mt,$t){var Dt=Gn(mt)?Q0:S2;return Dt(mt,mn($t,3))}function K1(mt,$t){var Dt=Gn(mt)?l2:EA;return Dt(mt,mn($t,3))}var wv=L1(function(mt,$t,Dt){k0.call(mt,Dt)?mt[Dt].push($t):f2(mt,Dt,[$t])});function kv(mt,$t,Dt,Yt){mt=As(mt)?mt:hs(mt),Dt=Dt&&!Yt?Qn(Dt):0;var rr=mt.length;return Dt<0&&(Dt=uo(rr+Dt,0)),aA(mt)?Dt<=rr&&mt.indexOf($t,Dt)>-1:!!rr&&S0(mt,$t,Dt)>-1}var Ev=Un(function(mt,$t,Dt){var Yt=-1,rr=typeof $t=="function",cr=As(mt)?Nr(mt.length):[];return S2(mt,function(br){cr[++Yt]=rr?io($t,br,Dt):ks(br,$t,Dt)}),cr}),_v=L1(function(mt,$t,Dt){f2(mt,Dt,$t)});function eA(mt,$t){var Dt=Gn(mt)?gr:$1;return Dt(mt,mn($t,3))}function xv(mt,$t,Dt,Yt){return mt==null?[]:(Gn($t)||($t=$t==null?[]:[$t]),Dt=Yt?_e:Dt,Gn(Dt)||(Dt=Dt==null?[]:[Dt]),MA(mt,$t,Dt))}var Cv=L1(function(mt,$t,Dt){mt[Dt?0:1].push($t)},function(){return[[],[]]});function i3(mt,$t,Dt){var Yt=Gn(mt)?Jr:yr,rr=arguments.length<3;return Yt(mt,mn($t,4),Dt,rr,S2)}function $v(mt,$t,Dt){var Yt=Gn(mt)?pn:yr,rr=arguments.length<3;return Yt(mt,mn($t,4),Dt,rr,EA)}function Tv(mt,$t){var Dt=Gn(mt)?Go:_A;return Dt(mt,i1(mn($t,3)))}function o3(mt){var $t=Gn(mt)?X4:lp;return $t(mt)}function s3(mt,$t,Dt){(Dt?ss(mt,$t,Dt):$t===_e)?$t=1:$t=Qn($t);var Yt=Gn(mt)?w8:Zu;return Yt(mt,$t)}function Sv(mt){var $t=Gn(mt)?K4:I8;return $t(mt)}function Ov(mt){if(mt==null)return 0;if(As(mt))return aA(mt)?Fl(mt):mt.length;var $t=Wo(mt);return $t==dr||$t==ba?mt.size:js(mt).length}function Iv(mt,$t,Dt){var Yt=Gn(mt)?an:hu;return Dt&&ss(mt,$t,Dt)&&($t=_e),Yt(mt,mn($t,3))}var Rv=Un(function(mt,$t){if(mt==null)return[];var Dt=$t.length;return Dt>1&&ss(mt,$t[0],$t[1])?$t=[]:Dt>2&&ss($t[0],$t[1],$t[2])&&($t=[$t[0]]),MA(mt,Po($t,1),[])}),n1=U3||function(){return D0.Date.now()};function Mv(mt,$t){if(typeof $t!="function")throw new ts(at);return mt=Qn(mt),function(){if(--mt<1)return $t.apply(this,arguments)}}function l3(mt,$t,Dt){return $t=Dt?_e:$t,$t=mt&&$t==null?mt.length:$t,v2(mt,gt,_e,_e,_e,_e,$t)}function A4(mt,$t){var Dt;if(typeof $t!="function")throw new ts(at);return mt=Qn(mt),function(){return--mt>0&&(Dt=$t.apply(this,arguments)),mt<=1&&($t=_e),Dt}}var d4=Un(function(mt,$t,Dt){var Yt=vt;if(Dt.length){var rr=C2(Dt,ku(d4));Yt|=_t}return v2(mt,Yt,$t,Dt,rr)}),h4=Un(function(mt,$t,Dt){var Yt=vt|ht;if(Dt.length){var rr=C2(Dt,ku(h4));Yt|=_t}return v2($t,Yt,mt,Dt,rr)});function c3(mt,$t,Dt){$t=Dt?_e:$t;var Yt=v2(mt,pt,_e,_e,_e,_e,_e,$t);return Yt.placeholder=c3.placeholder,Yt}function u3(mt,$t,Dt){$t=Dt?_e:$t;var Yt=v2(mt,dt,_e,_e,_e,_e,_e,$t);return Yt.placeholder=u3.placeholder,Yt}function f3(mt,$t,Dt){var Yt,rr,cr,br,wr,xr,Fr=0,Rr=!1,Br=!1,$a=!0;if(typeof mt!="function")throw new ts(at);$t=Gs($t)||0,K0(Dt)&&(Rr=!!Dt.leading,Br="maxWait"in Dt,cr=Br?uo(Gs(Dt.maxWait)||0,$t):cr,$a="trailing"in Dt?!!Dt.trailing:$a);function sn(N0){var $s=Yt,Hs=rr;return Yt=rr=_e,Fr=N0,br=mt.apply(Hs,$s),br}function un(N0){return Fr=N0,wr=Zo(Dn,$t),Rr?sn(N0):br}function In(N0){var $s=N0-xr,Hs=N0-Fr,O4=$t-$s;return Br?Ho(O4,cr-Hs):O4}function dn(N0){var $s=N0-xr,Hs=N0-Fr;return xr===_e||$s>=$t||$s<0||Br&&Hs>=cr}function Dn(){var N0=n1();if(dn(N0))return Pn(N0);wr=Zo(Dn,In(N0))}function Pn(N0){return wr=_e,$a&&Yt?sn(N0):(Yt=rr=_e,br)}function h0(){wr!==_e&&fp(wr),Fr=0,Yt=xr=rr=wr=_e}function g0(){return wr===_e?br:Pn(n1())}function Lo(){var N0=n1(),$s=dn(N0);if(Yt=arguments,rr=this,xr=N0,$s){if(wr===_e)return un(xr);if(Br)return fp(wr),wr=Zo(Dn,$t),sn(xr)}return wr===_e&&(wr=Zo(Dn,$t)),br}return Lo.cancel=h0,Lo.flush=g0,Lo}var Bv=Un(function(mt,$t){return Wl(mt,1,$t)}),A3=Un(function(mt,$t,Dt){return Wl(mt,Gs($t)||0,Dt)});function Pv(mt){return v2(mt,xt)}function tA(mt,$t){if(typeof mt!="function"||$t!=null&&typeof $t!="function")throw new ts(at);var Dt=function(){var Yt=arguments,rr=$t?$t.apply(this,Yt):Yt[0],cr=Dt.cache;if(cr.has(rr))return cr.get(rr);var br=mt.apply(this,Yt);return Dt.cache=cr.set(rr,br)||cr,br};return Dt.cache=new(tA.Cache||Gl),Dt}tA.Cache=Gl;function i1(mt){if(typeof mt!="function")throw new ts(at);return function(){var $t=arguments;switch($t.length){case 0:return!mt.call(this);case 1:return!mt.call(this,$t[0]);case 2:return!mt.call(this,$t[0],$t[1]);case 3:return!mt.call(this,$t[0],$t[1],$t[2])}return!mt.apply(this,$t)}}function Lv(mt){return A4(2,mt)}var Dv=R8(function(mt,$t){$t=$t.length==1&&Gn($t[0])?gr($t[0],yn(mn())):gr(Po($t,1),yn(mn()));var Dt=$t.length;return Un(function(Yt){for(var rr=-1,cr=Ho(Yt.length,Dt);++rr=$t}),nu=TA(function(){return arguments}())?TA:function(mt){return ro(mt)&&k0.call(mt,"callee")&&!D4.call(mt,"callee")},Gn=Nr.isArray,Yv=Ls?yn(Ls):ap;function As(mt){return mt!=null&&s1(mt.length)&&!m2(mt)}function J0(mt){return ro(mt)&&As(mt)}function Uv(mt){return mt===!0||mt===!1||ro(mt)&&rs(mt)==Gt}var g2=q3||St,p4=s2?yn(s2):x8;function b3(mt){return ro(mt)&&mt.nodeType===1&&!Sl(mt)}function Qv(mt){if(mt==null)return!0;if(As(mt)&&(Gn(mt)||typeof mt=="string"||typeof mt.splice=="function"||g2(mt)||Tu(mt)||nu(mt)))return!mt.length;var $t=Wo(mt);if($t==dr||$t==ba)return!mt.size;if(Eu(mt))return!js(mt).length;for(var Dt in mt)if(k0.call(mt,Dt))return!1;return!0}function g3(mt,$t){return q2(mt,$t)}function v4(mt,$t,Dt){Dt=typeof Dt=="function"?Dt:_e;var Yt=Dt?Dt(mt,$t):_e;return Yt===_e?q2(mt,$t,_e,Dt):!!Yt}function rA(mt){if(!ro(mt))return!1;var $t=rs(mt);return $t==qt||$t==jt||typeof mt.message=="string"&&typeof mt.name=="string"&&!Sl(mt)}function qv(mt){return typeof mt=="number"&&N4(mt)}function m2(mt){if(!K0(mt))return!1;var $t=rs(mt);return $t==or||$t==fr||$t==Zt||$t==Lr}function m3(mt){return typeof mt=="number"&&mt==Qn(mt)}function s1(mt){return typeof mt=="number"&&mt>-1&&mt%1==0&&mt<=Vt}function K0(mt){var $t=typeof mt;return mt!=null&&($t=="object"||$t=="function")}function ro(mt){return mt!=null&&typeof mt=="object"}var l1=Dl?yn(Dl):C8;function Jv(mt,$t){return mt===$t||SA(mt,$t,XA($t))}function Xv(mt,$t,Dt){return Dt=typeof Dt=="function"?Dt:_e,SA(mt,$t,XA($t),Dt)}function Kv(mt){return y3(mt)&&mt!=+mt}function e6(mt){if($p(mt))throw new zn(rt);return ip(mt)}function t6(mt){return mt===null}function r6(mt){return mt==null}function y3(mt){return typeof mt=="number"||ro(mt)&&rs(mt)==vr}function Sl(mt){if(!ro(mt)||rs(mt)!=mr)return!1;var $t=Fu(mt);if($t===null)return!0;var Dt=k0.call($t,"constructor")&&$t.constructor;return typeof Dt=="function"&&Dt instanceof Dt&&Du.call(Dt)==zl}var b4=Ds?yn(Ds):$8;function a6(mt){return m3(mt)&&mt>=-Vt&&mt<=Vt}var w3=nn?yn(nn):OA;function aA(mt){return typeof mt=="string"||!Gn(mt)&&ro(mt)&&rs(mt)==qr}function Cs(mt){return typeof mt=="symbol"||ro(mt)&&rs(mt)==Pr}var Tu=Js?yn(Js):Es;function nA(mt){return mt===_e}function k3(mt){return ro(mt)&&Wo(mt)==Sr}function E3(mt){return ro(mt)&&rs(mt)==jr}var _3=yu(IA),iA=yu(function(mt,$t){return mt<=$t});function g4(mt){if(!mt)return[];if(As(mt))return aA(mt)?Ko(mt):os(mt);if(V2&&mt[V2])return x2(mt[V2]());var $t=Wo(mt),Dt=$t==dr?f1:$t==ba?A1:hs;return Dt(mt)}function Ol(mt){if(!mt)return mt===0?mt:0;if(mt=Gs(mt),mt===Lt||mt===-Lt){var $t=mt<0?-1:1;return $t*zt}return mt===mt?mt:0}function Qn(mt){var $t=Ol(mt),Dt=$t%1;return $t===$t?Dt?$t-Dt:$t:0}function x3(mt){return mt?Hl(Qn(mt),0,Wt):0}function Gs(mt){if(typeof mt=="number")return mt;if(Cs(mt))return Nt;if(K0(mt)){var $t=typeof mt.valueOf=="function"?mt.valueOf():mt;mt=K0($t)?$t+"":$t}if(typeof mt!="string")return mt===0?mt:+mt;mt=En(mt);var Dt=gs.test(mt);return Dt||Qo.test(mt)?_2(mt.slice(2),Dt?2:8):Cn.test(mt)?Nt:+mt}function C3(mt){return Vs(mt,ds(mt))}function n6(mt){return mt?Hl(Qn(mt),-Vt,Vt):mt===0?mt:0}function C0(mt){return mt==null?"":_s(mt)}var i6=vu(function(mt,$t){if(Eu($t)||As($t)){Vs($t,To($t),mt);return}for(var Dt in $t)k0.call($t,Dt)&&Vu(mt,Dt,$t[Dt])}),m4=vu(function(mt,$t){Vs($t,ds($t),mt)}),oA=vu(function(mt,$t,Dt,Yt){Vs($t,ds($t),mt,Yt)}),o6=vu(function(mt,$t,Dt,Yt){Vs($t,To($t),mt,Yt)}),$3=Yl(k1);function T3(mt,$t){var Dt=W2(mt);return $t==null?Dt:wA(Dt,$t)}var s6=Un(function(mt,$t){mt=R0(mt);var Dt=-1,Yt=$t.length,rr=Yt>2?$t[2]:_e;for(rr&&ss($t[0],$t[1],rr)&&(Yt=1);++Dt1),cr}),Vs(mt,JA(mt),Dt),Yt&&(Dt=ws(Dt,lt|ct|ut,_p));for(var rr=$t.length;rr--;)R1(Dt,$t[rr]);return Dt});function y6(mt,$t){return y2(mt,i1(mn($t)))}var w6=Yl(function(mt,$t){return mt==null?{}:S8(mt,$t)});function y2(mt,$t){if(mt==null)return{};var Dt=gr(JA(mt),function(Yt){return[Yt]});return $t=mn($t),Au(mt,Dt,function(Yt,rr){return $t(Yt,rr[0])})}function k6(mt,$t,Dt){$t=O2($t,mt);var Yt=-1,rr=$t.length;for(rr||(rr=1,mt=_e);++Yt$t){var Yt=mt;mt=$t,$t=Yt}if(Dt||mt%1||$t%1){var rr=j4();return Ho(mt+rr*($t-mt+o2("1e-"+((rr+"").length-1))),$t)}return LA(mt,$t)}var O6=bu(function(mt,$t,Dt){return $t=$t.toLowerCase(),mt+(Dt?M3($t):$t)});function M3(mt){return u1(C0(mt).toLowerCase())}function B3(mt){return mt=C0(mt),mt&&mt.replace(Il,V0).replace(P2,"")}function I6(mt,$t,Dt){mt=C0(mt),$t=_s($t);var Yt=mt.length;Dt=Dt===_e?Yt:Hl(Qn(Dt),0,Yt);var rr=Dt;return Dt-=$t.length,Dt>=0&&mt.slice(Dt,rr)==$t}function R6(mt){return mt=C0(mt),mt&&e0.test(mt)?mt.replace(_a,oo):mt}function M6(mt){return mt=C0(mt),mt&&vn.test(mt)?mt.replace(r0,"\\$&"):mt}var B6=bu(function(mt,$t,Dt){return mt+(Dt?"-":"")+$t.toLowerCase()}),P6=bu(function(mt,$t,Dt){return mt+(Dt?" ":"")+$t.toLowerCase()}),L6=gp("toLowerCase");function D6(mt,$t,Dt){mt=C0(mt),$t=Qn($t);var Yt=$t?Fl(mt):0;if(!$t||Yt>=$t)return mt;var rr=($t-Yt)/2;return p2(lu(rr),Dt)+mt+p2(g1(rr),Dt)}function w2(mt,$t,Dt){mt=C0(mt),$t=Qn($t);var Yt=$t?Fl(mt):0;return $t&&Yt<$t?mt+p2($t-Yt,Dt):mt}function F6(mt,$t,Dt){mt=C0(mt),$t=Qn($t);var Yt=$t?Fl(mt):0;return $t&&Yt<$t?p2($t-Yt,Dt)+mt:mt}function N6(mt,$t,Dt){return Dt||$t==null?$t=0:$t&&($t=+$t),X3(C0(mt).replace(_0,""),$t||0)}function z6(mt,$t,Dt){return(Dt?ss(mt,$t,Dt):$t===_e)?$t=1:$t=Qn($t),O1(C0(mt),$t)}function _4(){var mt=arguments,$t=C0(mt[0]);return mt.length<3?$t:$t.replace(mt[1],mt[2])}var j6=bu(function(mt,$t,Dt){return mt+(Dt?"_":"")+$t.toLowerCase()});function P3(mt,$t,Dt){return Dt&&typeof Dt!="number"&&ss(mt,$t,Dt)&&($t=Dt=_e),Dt=Dt===_e?Wt:Dt>>>0,Dt?(mt=C0(mt),mt&&(typeof $t=="string"||$t!=null&&!b4($t))&&($t=_s($t),!$t&&Xo(mt))?h2(Ko(mt),0,Dt):mt.split($t,Dt)):[]}var x4=bu(function(mt,$t,Dt){return mt+(Dt?" ":"")+u1($t)});function V6(mt,$t,Dt){return mt=C0(mt),Dt=Dt==null?0:Hl(Qn(Dt),0,mt.length),$t=_s($t),mt.slice(Dt,Dt+$t.length)==$t}function G6(mt,$t,Dt){var Yt=hr.templateSettings;Dt&&ss(mt,$t,Dt)&&($t=_e),mt=C0(mt),$t=oA({},$t,Yt,kp);var rr=oA({},$t.imports,Yt.imports,kp),cr=To(rr),br=Jn(rr,cr),wr,xr,Fr=0,Rr=$t.interpolate||P0,Br="__p += '",$a=z2(($t.escape||P0).source+"|"+Rr.source+"|"+(Rr===Yo?Ts:P0).source+"|"+($t.evaluate||P0).source+"|$","g"),sn="//# sourceURL="+(k0.call($t,"sourceURL")?($t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++D2+"]")+` -`;mt.replace($a,function(dn,Dn,Pn,h0,g0,Lo){return Pn||(Pn=h0),Br+=mt.slice(Fr,Lo).replace(Ss,co),Dn&&(wr=!0,Br+=`' + +`)}function W8(pt){return Gn(pt)||nu(pt)||!!(F4&&pt&&pt[F4])}function b2(pt,$t){var Dt=typeof pt;return $t=$t==null?jt:$t,!!$t&&(Dt=="number"||Dt!="symbol"&&B0.test(pt))&&pt>-1&&pt%1==0&&pt<$t}function ss(pt,$t,Dt){if(!K0(Dt))return!1;var Zt=typeof $t;return(Zt=="number"?As(Dt)&&b2($t,Dt.length):Zt=="string"&&$t in Dt)?Tl(Dt[$t],pt):!1}function eu(pt,$t){if(Gn(pt))return!1;var Dt=typeof pt;return Dt=="number"||Dt=="symbol"||Dt=="boolean"||pt==null||Cs(pt)?!0:Do.test(pt)||!_o.test(pt)||$t!=null&&pt in R0($t)}function _d(pt){var $t=typeof pt;return $t=="string"||$t=="number"||$t=="symbol"||$t=="boolean"?pt!=="__proto__":pt===null}function Qu(pt){var $t=wu(pt),Dt=dr[$t];if(typeof Dt!="function"||!($t in Kn.prototype))return!1;if(pt===Dt)return!0;var Zt=N1(Dt);return!!Zt&&pt===Zt[0]}function _h(pt){return!!fA&&fA in pt}var $p=Lu?m2:St;function Eu(pt){var $t=pt&&pt.constructor,Dt=typeof $t=="function"&&$t.prototype||Co;return pt===Dt}function G1(pt){return pt===pt&&!K0(pt)}function go(pt,$t){return function(Dt){return Dt==null?!1:Dt[pt]===$t&&($t!==_e||pt in R0(Dt))}}function fo(pt){var $t=tA(pt,function(Zt){return Dt.size===ot&&Dt.clear(),Zt}),Dt=$t.cache;return $t}function H1(pt,$t){var Dt=pt[1],Zt=$t[1],tr=Dt|Zt,cr=tr<(vt|ht|gt),br=Zt==gt&&Dt==bt||Zt==gt&&Dt==wt&&pt[7].length<=$t[8]||Zt==(gt|wt)&&$t[7].length<=$t[8]&&Dt==bt;if(!(cr||br))return pt;Zt&vt&&(pt[2]=$t[2],tr|=Dt&vt?0:mt);var wr=$t[3];if(wr){var xr=pt[3];pt[3]=xr?P1(xr,wr,$t[4]):wr,pt[4]=xr?C2(pt[3],st):$t[4]}return wr=$t[5],wr&&(xr=pt[5],pt[5]=xr?Uu(xr,wr,$t[6]):wr,pt[6]=xr?C2(pt[5],st):$t[6]),wr=$t[7],wr&&(pt[7]=wr),Zt>&&(pt[8]=pt[8]==null?$t[8]:Ho(pt[8],$t[8])),pt[9]==null&&(pt[9]=$t[9]),pt[0]=$t[0],pt[1]=tr,pt}function qu(pt){var $t=[];if(pt!=null)for(var Dt in R0(pt))$t.push(Dt);return $t}function Tp(pt){return h1.call(pt)}function Ul(pt,$t,Dt){return $t=uo($t===_e?pt.length-1:$t,0),function(){for(var Zt=arguments,tr=-1,cr=uo(Zt.length-$t,0),br=Nr(cr);++tr0){if(++$t>=Tt)return arguments[0]}else $t=0;return pt.apply(_e,arguments)}}function Xu(pt,$t){var Dt=-1,Zt=pt.length,tr=Zt-1;for($t=$t===_e?Zt:$t;++Dt<$t;){var cr=LA(Dt,tr),br=pt[cr];pt[cr]=pt[Dt],pt[Dt]=br}return pt.length=$t,pt}var tu=fo(function(pt){var $t=[];return pt.charCodeAt(0)===46&&$t.push(""),pt.replace(An,function(Dt,Zt,tr,cr){$t.push(tr?cr.replace(so,"$1"):Zt||Dt)}),$t});function xl(pt){if(typeof pt=="string"||Cs(pt))return pt;var $t=pt+"";return $t=="0"&&1/pt==-Lt?"-0":$t}function I2(pt){if(pt!=null){try{return Du.call(pt)}catch($t){}try{return pt+""}catch($t){}}return""}function Ql(pt,$t){return Q0(ar,function(Dt){var Zt="_."+Dt[0];$t&Dt[1]&&!xo(pt,Zt)&&pt.push(Zt)}),pt.sort()}function t4(pt){if(pt instanceof Kn)return pt.clone();var $t=new Ns(pt.__wrapped__,pt.__chain__);return $t.__actions__=os(pt.__actions__),$t.__index__=pt.__index__,$t.__values__=pt.__values__,$t}function Op(pt,$t,Dt){(Dt?ss(pt,$t,Dt):$t===_e)?$t=1:$t=uo(Qn($t),0);var Zt=pt==null?0:pt.length;if(!Zt||$t<1)return[];for(var tr=0,cr=0,br=Nr(g1(Zt/$t));tr1?pt[$t-1]:_e;return Dt=typeof Dt=="function"?(pt.pop(),Dt):_e,Jp(pt,Dt)});function e3(pt){var $t=dr(pt);return $t.__chain__=!0,$t}function f4(pt,$t){return $t(pt),pt}function a1(pt,$t){return $t(pt)}var cv=Yl(function(pt){var $t=pt.length,Dt=$t?pt[0]:0,Zt=this.__wrapped__,tr=function(cr){return k1(cr,pt)};return $t>1||this.__actions__.length||!(Zt instanceof Kn)||!b2(Dt)?this.thru(tr):(Zt=Zt.slice(Dt,+Dt+($t?1:0)),Zt.__actions__.push({func:a1,args:[tr],thisArg:_e}),new Ns(Zt,this.__chain__).thru(function(cr){return $t&&!cr.length&&cr.push(_e),cr}))});function uv(){return e3(this)}function fv(){return new Ns(this.value(),this.__chain__)}function q1(){this.__values__===_e&&(this.__values__=g4(this.value()));var pt=this.__index__>=this.__values__.length,$t=pt?_e:this.__values__[this.__index__++];return{done:pt,value:$t}}function r3(){return this}function J1(pt){for(var $t,Dt=this;Dt instanceof ju;){var Zt=t4(Dt);Zt.__index__=0,Zt.__values__=_e,$t?tr.__wrapped__=Zt:$t=Zt;var tr=Zt;Dt=Dt.__wrapped__}return tr.__wrapped__=pt,$t}function Av(){var pt=this.__wrapped__;if(pt instanceof Kn){var $t=pt;return this.__actions__.length&&($t=new Kn(this)),$t=$t.reverse(),$t.__actions__.push({func:a1,args:[e1],thisArg:_e}),new Ns($t,this.__chain__)}return this.thru(e1)}function dv(){return zA(this.__wrapped__,this.__actions__)}var hv=L1(function(pt,$t,Dt){k0.call(pt,Dt)?++pt[Dt]:f2(pt,Dt,1)});function pv(pt,$t,Dt){var Zt=Gn(pt)?fs:_8;return Dt&&ss(pt,$t,Dt)&&($t=_e),Zt(pt,mn($t,3))}function vv(pt,$t){var Dt=Gn(pt)?Go:_A;return Dt(pt,mn($t,3))}var bv=mp(a4),gv=mp(n4);function mv(pt,$t){return Po(eA(pt,$t),1)}function yv(pt,$t){return Po(eA(pt,$t),Lt)}function a3(pt,$t,Dt){return Dt=Dt===_e?1:Qn(Dt),Po(eA(pt,$t),Dt)}function n3(pt,$t){var Dt=Gn(pt)?Q0:S2;return Dt(pt,mn($t,3))}function K1(pt,$t){var Dt=Gn(pt)?l2:EA;return Dt(pt,mn($t,3))}var wv=L1(function(pt,$t,Dt){k0.call(pt,Dt)?pt[Dt].push($t):f2(pt,Dt,[$t])});function kv(pt,$t,Dt,Zt){pt=As(pt)?pt:hs(pt),Dt=Dt&&!Zt?Qn(Dt):0;var tr=pt.length;return Dt<0&&(Dt=uo(tr+Dt,0)),aA(pt)?Dt<=tr&&pt.indexOf($t,Dt)>-1:!!tr&&S0(pt,$t,Dt)>-1}var Ev=Un(function(pt,$t,Dt){var Zt=-1,tr=typeof $t=="function",cr=As(pt)?Nr(pt.length):[];return S2(pt,function(br){cr[++Zt]=tr?io($t,br,Dt):ks(br,$t,Dt)}),cr}),_v=L1(function(pt,$t,Dt){f2(pt,Dt,$t)});function eA(pt,$t){var Dt=Gn(pt)?gr:$1;return Dt(pt,mn($t,3))}function xv(pt,$t,Dt,Zt){return pt==null?[]:(Gn($t)||($t=$t==null?[]:[$t]),Dt=Zt?_e:Dt,Gn(Dt)||(Dt=Dt==null?[]:[Dt]),MA(pt,$t,Dt))}var Cv=L1(function(pt,$t,Dt){pt[Dt?0:1].push($t)},function(){return[[],[]]});function i3(pt,$t,Dt){var Zt=Gn(pt)?Jr:yr,tr=arguments.length<3;return Zt(pt,mn($t,4),Dt,tr,S2)}function $v(pt,$t,Dt){var Zt=Gn(pt)?pn:yr,tr=arguments.length<3;return Zt(pt,mn($t,4),Dt,tr,EA)}function Tv(pt,$t){var Dt=Gn(pt)?Go:_A;return Dt(pt,i1(mn($t,3)))}function o3(pt){var $t=Gn(pt)?X4:lp;return $t(pt)}function s3(pt,$t,Dt){(Dt?ss(pt,$t,Dt):$t===_e)?$t=1:$t=Qn($t);var Zt=Gn(pt)?w8:Zu;return Zt(pt,$t)}function Sv(pt){var $t=Gn(pt)?K4:I8;return $t(pt)}function Ov(pt){if(pt==null)return 0;if(As(pt))return aA(pt)?Fl(pt):pt.length;var $t=Wo(pt);return $t==hr||$t==ba?pt.size:js(pt).length}function Iv(pt,$t,Dt){var Zt=Gn(pt)?an:hu;return Dt&&ss(pt,$t,Dt)&&($t=_e),Zt(pt,mn($t,3))}var Rv=Un(function(pt,$t){if(pt==null)return[];var Dt=$t.length;return Dt>1&&ss(pt,$t[0],$t[1])?$t=[]:Dt>2&&ss($t[0],$t[1],$t[2])&&($t=[$t[0]]),MA(pt,Po($t,1),[])}),n1=U3||function(){return D0.Date.now()};function Mv(pt,$t){if(typeof $t!="function")throw new ts(at);return pt=Qn(pt),function(){if(--pt<1)return $t.apply(this,arguments)}}function l3(pt,$t,Dt){return $t=Dt?_e:$t,$t=pt&&$t==null?pt.length:$t,v2(pt,gt,_e,_e,_e,_e,$t)}function A4(pt,$t){var Dt;if(typeof $t!="function")throw new ts(at);return pt=Qn(pt),function(){return--pt>0&&(Dt=$t.apply(this,arguments)),pt<=1&&($t=_e),Dt}}var d4=Un(function(pt,$t,Dt){var Zt=vt;if(Dt.length){var tr=C2(Dt,ku(d4));Zt|=xt}return v2(pt,Zt,$t,Dt,tr)}),h4=Un(function(pt,$t,Dt){var Zt=vt|ht;if(Dt.length){var tr=C2(Dt,ku(h4));Zt|=xt}return v2($t,Zt,pt,Dt,tr)});function c3(pt,$t,Dt){$t=Dt?_e:$t;var Zt=v2(pt,bt,_e,_e,_e,_e,_e,$t);return Zt.placeholder=c3.placeholder,Zt}function u3(pt,$t,Dt){$t=Dt?_e:$t;var Zt=v2(pt,dt,_e,_e,_e,_e,_e,$t);return Zt.placeholder=u3.placeholder,Zt}function f3(pt,$t,Dt){var Zt,tr,cr,br,wr,xr,Fr=0,Rr=!1,Br=!1,$a=!0;if(typeof pt!="function")throw new ts(at);$t=Gs($t)||0,K0(Dt)&&(Rr=!!Dt.leading,Br="maxWait"in Dt,cr=Br?uo(Gs(Dt.maxWait)||0,$t):cr,$a="trailing"in Dt?!!Dt.trailing:$a);function sn(N0){var $s=Zt,Hs=tr;return Zt=tr=_e,Fr=N0,br=pt.apply(Hs,$s),br}function un(N0){return Fr=N0,wr=Zo(Dn,$t),Rr?sn(N0):br}function In(N0){var $s=N0-xr,Hs=N0-Fr,O4=$t-$s;return Br?Ho(O4,cr-Hs):O4}function dn(N0){var $s=N0-xr,Hs=N0-Fr;return xr===_e||$s>=$t||$s<0||Br&&Hs>=cr}function Dn(){var N0=n1();if(dn(N0))return Pn(N0);wr=Zo(Dn,In(N0))}function Pn(N0){return wr=_e,$a&&Zt?sn(N0):(Zt=tr=_e,br)}function h0(){wr!==_e&&fp(wr),Fr=0,Zt=xr=tr=wr=_e}function g0(){return wr===_e?br:Pn(n1())}function Lo(){var N0=n1(),$s=dn(N0);if(Zt=arguments,tr=this,xr=N0,$s){if(wr===_e)return un(xr);if(Br)return fp(wr),wr=Zo(Dn,$t),sn(xr)}return wr===_e&&(wr=Zo(Dn,$t)),br}return Lo.cancel=h0,Lo.flush=g0,Lo}var Bv=Un(function(pt,$t){return Wl(pt,1,$t)}),A3=Un(function(pt,$t,Dt){return Wl(pt,Gs($t)||0,Dt)});function Pv(pt){return v2(pt,_t)}function tA(pt,$t){if(typeof pt!="function"||$t!=null&&typeof $t!="function")throw new ts(at);var Dt=function(){var Zt=arguments,tr=$t?$t.apply(this,Zt):Zt[0],cr=Dt.cache;if(cr.has(tr))return cr.get(tr);var br=pt.apply(this,Zt);return Dt.cache=cr.set(tr,br)||cr,br};return Dt.cache=new(tA.Cache||Gl),Dt}tA.Cache=Gl;function i1(pt){if(typeof pt!="function")throw new ts(at);return function(){var $t=arguments;switch($t.length){case 0:return!pt.call(this);case 1:return!pt.call(this,$t[0]);case 2:return!pt.call(this,$t[0],$t[1]);case 3:return!pt.call(this,$t[0],$t[1],$t[2])}return!pt.apply(this,$t)}}function Lv(pt){return A4(2,pt)}var Dv=R8(function(pt,$t){$t=$t.length==1&&Gn($t[0])?gr($t[0],yn(mn())):gr(Po($t,1),yn(mn()));var Dt=$t.length;return Un(function(Zt){for(var tr=-1,cr=Ho(Zt.length,Dt);++tr=$t}),nu=TA(function(){return arguments}())?TA:function(pt){return ro(pt)&&k0.call(pt,"callee")&&!D4.call(pt,"callee")},Gn=Nr.isArray,Yv=Ls?yn(Ls):ap;function As(pt){return pt!=null&&s1(pt.length)&&!m2(pt)}function J0(pt){return ro(pt)&&As(pt)}function Uv(pt){return pt===!0||pt===!1||ro(pt)&&rs(pt)==Ht}var g2=q3||St,p4=s2?yn(s2):x8;function b3(pt){return ro(pt)&&pt.nodeType===1&&!Sl(pt)}function Qv(pt){if(pt==null)return!0;if(As(pt)&&(Gn(pt)||typeof pt=="string"||typeof pt.splice=="function"||g2(pt)||Tu(pt)||nu(pt)))return!pt.length;var $t=Wo(pt);if($t==hr||$t==ba)return!pt.size;if(Eu(pt))return!js(pt).length;for(var Dt in pt)if(k0.call(pt,Dt))return!1;return!0}function g3(pt,$t){return q2(pt,$t)}function v4(pt,$t,Dt){Dt=typeof Dt=="function"?Dt:_e;var Zt=Dt?Dt(pt,$t):_e;return Zt===_e?q2(pt,$t,_e,Dt):!!Zt}function rA(pt){if(!ro(pt))return!1;var $t=rs(pt);return $t==Jt||$t==Vt||typeof pt.message=="string"&&typeof pt.name=="string"&&!Sl(pt)}function qv(pt){return typeof pt=="number"&&N4(pt)}function m2(pt){if(!K0(pt))return!1;var $t=rs(pt);return $t==or||$t==Ar||$t==Ut||$t==Lr}function m3(pt){return typeof pt=="number"&&pt==Qn(pt)}function s1(pt){return typeof pt=="number"&&pt>-1&&pt%1==0&&pt<=jt}function K0(pt){var $t=typeof pt;return pt!=null&&($t=="object"||$t=="function")}function ro(pt){return pt!=null&&typeof pt=="object"}var l1=Dl?yn(Dl):C8;function Jv(pt,$t){return pt===$t||SA(pt,$t,XA($t))}function Xv(pt,$t,Dt){return Dt=typeof Dt=="function"?Dt:_e,SA(pt,$t,XA($t),Dt)}function Kv(pt){return y3(pt)&&pt!=+pt}function e6(pt){if($p(pt))throw new zn(rt);return ip(pt)}function t6(pt){return pt===null}function r6(pt){return pt==null}function y3(pt){return typeof pt=="number"||ro(pt)&&rs(pt)==vr}function Sl(pt){if(!ro(pt)||rs(pt)!=mr)return!1;var $t=Fu(pt);if($t===null)return!0;var Dt=k0.call($t,"constructor")&&$t.constructor;return typeof Dt=="function"&&Dt instanceof Dt&&Du.call(Dt)==zl}var b4=Ds?yn(Ds):$8;function a6(pt){return m3(pt)&&pt>=-jt&&pt<=jt}var w3=nn?yn(nn):OA;function aA(pt){return typeof pt=="string"||!Gn(pt)&&ro(pt)&&rs(pt)==qr}function Cs(pt){return typeof pt=="symbol"||ro(pt)&&rs(pt)==Pr}var Tu=Js?yn(Js):Es;function nA(pt){return pt===_e}function k3(pt){return ro(pt)&&Wo(pt)==Sr}function E3(pt){return ro(pt)&&rs(pt)==jr}var _3=yu(IA),iA=yu(function(pt,$t){return pt<=$t});function g4(pt){if(!pt)return[];if(As(pt))return aA(pt)?Ko(pt):os(pt);if(V2&&pt[V2])return x2(pt[V2]());var $t=Wo(pt),Dt=$t==hr?f1:$t==ba?A1:hs;return Dt(pt)}function Ol(pt){if(!pt)return pt===0?pt:0;if(pt=Gs(pt),pt===Lt||pt===-Lt){var $t=pt<0?-1:1;return $t*zt}return pt===pt?pt:0}function Qn(pt){var $t=Ol(pt),Dt=$t%1;return $t===$t?Dt?$t-Dt:$t:0}function x3(pt){return pt?Hl(Qn(pt),0,Wt):0}function Gs(pt){if(typeof pt=="number")return pt;if(Cs(pt))return Nt;if(K0(pt)){var $t=typeof pt.valueOf=="function"?pt.valueOf():pt;pt=K0($t)?$t+"":$t}if(typeof pt!="string")return pt===0?pt:+pt;pt=En(pt);var Dt=gs.test(pt);return Dt||Qo.test(pt)?_2(pt.slice(2),Dt?2:8):Cn.test(pt)?Nt:+pt}function C3(pt){return Vs(pt,ds(pt))}function n6(pt){return pt?Hl(Qn(pt),-jt,jt):pt===0?pt:0}function C0(pt){return pt==null?"":_s(pt)}var i6=vu(function(pt,$t){if(Eu($t)||As($t)){Vs($t,To($t),pt);return}for(var Dt in $t)k0.call($t,Dt)&&Vu(pt,Dt,$t[Dt])}),m4=vu(function(pt,$t){Vs($t,ds($t),pt)}),oA=vu(function(pt,$t,Dt,Zt){Vs($t,ds($t),pt,Zt)}),o6=vu(function(pt,$t,Dt,Zt){Vs($t,To($t),pt,Zt)}),$3=Yl(k1);function T3(pt,$t){var Dt=W2(pt);return $t==null?Dt:wA(Dt,$t)}var s6=Un(function(pt,$t){pt=R0(pt);var Dt=-1,Zt=$t.length,tr=Zt>2?$t[2]:_e;for(tr&&ss($t[0],$t[1],tr)&&(Zt=1);++Dt1),cr}),Vs(pt,JA(pt),Dt),Zt&&(Dt=ws(Dt,lt|ct|ut,_p));for(var tr=$t.length;tr--;)R1(Dt,$t[tr]);return Dt});function y6(pt,$t){return y2(pt,i1(mn($t)))}var w6=Yl(function(pt,$t){return pt==null?{}:S8(pt,$t)});function y2(pt,$t){if(pt==null)return{};var Dt=gr(JA(pt),function(Zt){return[Zt]});return $t=mn($t),Au(pt,Dt,function(Zt,tr){return $t(Zt,tr[0])})}function k6(pt,$t,Dt){$t=O2($t,pt);var Zt=-1,tr=$t.length;for(tr||(tr=1,pt=_e);++Zt$t){var Zt=pt;pt=$t,$t=Zt}if(Dt||pt%1||$t%1){var tr=j4();return Ho(pt+tr*($t-pt+o2("1e-"+((tr+"").length-1))),$t)}return LA(pt,$t)}var O6=bu(function(pt,$t,Dt){return $t=$t.toLowerCase(),pt+(Dt?M3($t):$t)});function M3(pt){return u1(C0(pt).toLowerCase())}function B3(pt){return pt=C0(pt),pt&&pt.replace(Il,V0).replace(P2,"")}function I6(pt,$t,Dt){pt=C0(pt),$t=_s($t);var Zt=pt.length;Dt=Dt===_e?Zt:Hl(Qn(Dt),0,Zt);var tr=Dt;return Dt-=$t.length,Dt>=0&&pt.slice(Dt,tr)==$t}function R6(pt){return pt=C0(pt),pt&&e0.test(pt)?pt.replace(_a,oo):pt}function M6(pt){return pt=C0(pt),pt&&vn.test(pt)?pt.replace(r0,"\\$&"):pt}var B6=bu(function(pt,$t,Dt){return pt+(Dt?"-":"")+$t.toLowerCase()}),P6=bu(function(pt,$t,Dt){return pt+(Dt?" ":"")+$t.toLowerCase()}),L6=gp("toLowerCase");function D6(pt,$t,Dt){pt=C0(pt),$t=Qn($t);var Zt=$t?Fl(pt):0;if(!$t||Zt>=$t)return pt;var tr=($t-Zt)/2;return p2(lu(tr),Dt)+pt+p2(g1(tr),Dt)}function w2(pt,$t,Dt){pt=C0(pt),$t=Qn($t);var Zt=$t?Fl(pt):0;return $t&&Zt<$t?pt+p2($t-Zt,Dt):pt}function F6(pt,$t,Dt){pt=C0(pt),$t=Qn($t);var Zt=$t?Fl(pt):0;return $t&&Zt<$t?p2($t-Zt,Dt)+pt:pt}function N6(pt,$t,Dt){return Dt||$t==null?$t=0:$t&&($t=+$t),X3(C0(pt).replace(_0,""),$t||0)}function z6(pt,$t,Dt){return(Dt?ss(pt,$t,Dt):$t===_e)?$t=1:$t=Qn($t),O1(C0(pt),$t)}function _4(){var pt=arguments,$t=C0(pt[0]);return pt.length<3?$t:$t.replace(pt[1],pt[2])}var j6=bu(function(pt,$t,Dt){return pt+(Dt?"_":"")+$t.toLowerCase()});function P3(pt,$t,Dt){return Dt&&typeof Dt!="number"&&ss(pt,$t,Dt)&&($t=Dt=_e),Dt=Dt===_e?Wt:Dt>>>0,Dt?(pt=C0(pt),pt&&(typeof $t=="string"||$t!=null&&!b4($t))&&($t=_s($t),!$t&&Xo(pt))?h2(Ko(pt),0,Dt):pt.split($t,Dt)):[]}var x4=bu(function(pt,$t,Dt){return pt+(Dt?" ":"")+u1($t)});function V6(pt,$t,Dt){return pt=C0(pt),Dt=Dt==null?0:Hl(Qn(Dt),0,pt.length),$t=_s($t),pt.slice(Dt,Dt+$t.length)==$t}function G6(pt,$t,Dt){var Zt=dr.templateSettings;Dt&&ss(pt,$t,Dt)&&($t=_e),pt=C0(pt),$t=oA({},$t,Zt,kp);var tr=oA({},$t.imports,Zt.imports,kp),cr=To(tr),br=Jn(tr,cr),wr,xr,Fr=0,Rr=$t.interpolate||P0,Br="__p += '",$a=z2(($t.escape||P0).source+"|"+Rr.source+"|"+(Rr===Yo?Ts:P0).source+"|"+($t.evaluate||P0).source+"|$","g"),sn="//# sourceURL="+(k0.call($t,"sourceURL")?($t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++D2+"]")+` +`;pt.replace($a,function(dn,Dn,Pn,h0,g0,Lo){return Pn||(Pn=h0),Br+=pt.slice(Fr,Lo).replace(Ss,co),Dn&&(wr=!0,Br+=`' + __e(`+Dn+`) + '`),g0&&(xr=!0,Br+=`'; `+g0+`; @@ -144,23 +144,23 @@ __p += '`),Pn&&(Br+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+Br+`return __p -}`;var In=F3(function(){return b0(cr,sn+"return "+Br).apply(_e,br)});if(In.source=Br,rA(In))throw In;return In}function H6(mt){return C0(mt).toLowerCase()}function W6(mt){return C0(mt).toUpperCase()}function L3(mt,$t,Dt){if(mt=C0(mt),mt&&(Dt||$t===_e))return En(mt);if(!mt||!($t=_s($t)))return mt;var Yt=Ko(mt),rr=Ko($t),cr=o0(Yt,rr),br=d0(Yt,rr)+1;return h2(Yt,cr,br).join("")}function Z6(mt,$t,Dt){if(mt=C0(mt),mt&&(Dt||$t===_e))return mt.slice(0,Bu(mt)+1);if(!mt||!($t=_s($t)))return mt;var Yt=Ko(mt),rr=d0(Yt,Ko($t))+1;return h2(Yt,0,rr).join("")}function Y6(mt,$t,Dt){if(mt=C0(mt),mt&&(Dt||$t===_e))return mt.replace(_0,"");if(!mt||!($t=_s($t)))return mt;var Yt=Ko(mt),rr=o0(Yt,Ko($t));return h2(Yt,rr).join("")}function D3(mt,$t){var Dt=Et,Yt=It;if(K0($t)){var rr="separator"in $t?$t.separator:rr;Dt="length"in $t?Qn($t.length):Dt,Yt="omission"in $t?_s($t.omission):Yt}mt=C0(mt);var cr=mt.length;if(Xo(mt)){var br=Ko(mt);cr=br.length}if(Dt>=cr)return mt;var wr=Dt-Fl(Yt);if(wr<1)return Yt;var xr=br?h2(br,0,wr).join(""):mt.slice(0,wr);if(rr===_e)return xr+Yt;if(br&&(wr+=xr.length-wr),b4(rr)){if(mt.slice(wr).search(rr)){var Fr,Rr=xr;for(rr.global||(rr=z2(rr.source,C0(Bn.exec(rr))+"g")),rr.lastIndex=0;Fr=rr.exec(Rr);)var Br=Fr.index;xr=xr.slice(0,Br===_e?wr:Br)}}else if(mt.indexOf(_s(rr),wr)!=wr){var $a=xr.lastIndexOf(rr);$a>-1&&(xr=xr.slice(0,$a))}return xr+Yt}function ps(mt){return mt=C0(mt),mt&&Ao.test(mt)?mt.replace(l0,ou):mt}var Ou=bu(function(mt,$t,Dt){return mt+(Dt?" ":"")+$t.toUpperCase()}),u1=gp("toUpperCase");function C4(mt,$t,Dt){return mt=C0(mt),$t=Dt?_e:$t,$t===_e?Xs(mt)?W3(mt):A0(mt):mt.match($t)||[]}var F3=Un(function(mt,$t){try{return io(mt,_e,$t)}catch(Dt){return rA(Dt)?Dt:new zn(Dt)}}),U6=Yl(function(mt,$t){return Q0($t,function(Dt){Dt=xl(Dt),f2(mt,Dt,d4(mt[Dt],mt))}),mt});function Q6(mt){var $t=mt==null?0:mt.length,Dt=mn();return mt=$t?gr(mt,function(Yt){if(typeof Yt[1]!="function")throw new ts(at);return[Dt(Yt[0]),Yt[1]]}):[],Un(function(Yt){for(var rr=-1;++rr<$t;){var cr=mt[rr];if(io(cr[0],this,Yt))return io(cr[1],this,Yt)}})}function N3(mt){return ep(ws(mt,lt))}function $4(mt){return function(){return mt}}function q6(mt,$t){return mt==null||mt!==mt?$t:mt}var z3=yp(),j3=yp(!0);function vs(mt){return mt}function T4(mt){return Zl(typeof mt=="function"?mt:ws(mt,lt))}function J6(mt){return T1(ws(mt,lt))}function X6(mt,$t){return RA(mt,ws($t,lt))}var K6=Un(function(mt,$t){return function(Dt){return ks(Dt,mt,$t)}}),_b=Un(function(mt,$t){return function(Dt){return ks(mt,Dt,$t)}});function S4(mt,$t,Dt){var Yt=To($t),rr=Hu($t,Yt);Dt==null&&!(K0($t)&&(rr.length||!Yt.length))&&(Dt=$t,$t=mt,mt=this,rr=Hu($t,To($t)));var cr=!(K0(Dt)&&"chain"in Dt)||!!Dt.chain,br=m2(mt);return Q0(rr,function(wr){var xr=$t[wr];mt[wr]=xr,br&&(mt.prototype[wr]=function(){var Fr=this.__chain__;if(cr||Fr){var Rr=mt(this.__wrapped__),Br=Rr.__actions__=os(this.__actions__);return Br.push({func:xr,args:arguments,thisArg:mt}),Rr.__chain__=Fr,Rr}return xr.apply(mt,Ir([this.value()],arguments))})}),mt}function _g(){return D0._===this&&(D0._=AA),this}function lA(){}function em(mt){return mt=Qn(mt),Un(function($t){return op($t,mt)})}var tm=mu(gr),V3=mu(fs),rm=mu(an);function G3(mt){return eu(mt)?Ut(xl(mt)):BA(mt)}function am(mt){return function($t){return mt==null?_e:Q2(mt,$t)}}var nm=QA(),wt=QA(!0);function kt(){return[]}function St(){return!1}function Pt(){return{}}function Ht(){return""}function Qt(){return!0}function Kt(mt,$t){if(mt=Qn(mt),mt<1||mt>Vt)return[];var Dt=Wt,Yt=Ho(mt,Wt);$t=mn($t),mt-=Wt;for(var rr=Yr(Yt,$t);++Dt0||$t<0)?new Kn(Dt):(mt<0?Dt=Dt.takeRight(-mt):mt&&(Dt=Dt.drop(mt)),$t!==_e&&($t=Qn($t),Dt=$t<0?Dt.dropRight(-$t):Dt.take($t-mt)),Dt)},Kn.prototype.takeRightWhile=function(mt){return this.reverse().takeWhile(mt).reverse()},Kn.prototype.toArray=function(){return this.take(Wt)},Al(Kn.prototype,function(mt,$t){var Dt=/^(?:filter|find|map|reject)|While$/.test($t),Yt=/^(?:head|last)$/.test($t),rr=hr[Yt?"take"+($t=="last"?"Right":""):$t],cr=Yt||/^find/.test($t);rr&&(hr.prototype[$t]=function(){var br=this.__wrapped__,wr=Yt?[1]:arguments,xr=br instanceof Kn,Fr=wr[0],Rr=xr||Gn(br),Br=function(Dn){var Pn=rr.apply(hr,Ir([Dn],wr));return Yt&&$a?Pn[0]:Pn};Rr&&Dt&&typeof Fr=="function"&&Fr.length!=1&&(xr=Rr=!1);var $a=this.__chain__,sn=!!this.__actions__.length,un=cr&&!$a,In=xr&&!sn;if(!cr&&Rr){br=In?br:new Kn(this);var dn=mt.apply(br,wr);return dn.__actions__.push({func:a1,args:[Br],thisArg:_e}),new Ns(dn,$a)}return un&&In?mt.apply(this,wr):(dn=this.thru(Br),un?Yt?dn.value()[0]:dn.value():dn)})}),Q0(["pop","push","shift","sort","splice","unshift"],function(mt){var $t=d1[mt],Dt=/^(?:push|sort|unshift)$/.test(mt)?"tap":"thru",Yt=/^(?:pop|shift)$/.test(mt);hr.prototype[mt]=function(){var rr=arguments;if(Yt&&!this.__chain__){var cr=this.value();return $t.apply(Gn(cr)?cr:[],rr)}return this[Dt](function(br){return $t.apply(Gn(br)?br:[],rr)})}}),Al(Kn.prototype,function(mt,$t){var Dt=hr[$t];if(Dt){var Yt=Dt.name+"";k0.call(Ks,Yt)||(Ks[Yt]=[]),Ks[Yt].push({name:$t,func:Dt})}}),Ks[Ur(_e,ht).name]=[{name:"wrapper",func:_e}],Kn.prototype.clone=G4,Kn.prototype.reverse=H4,Kn.prototype.value=n8,hr.prototype.at=cv,hr.prototype.chain=uv,hr.prototype.commit=fv,hr.prototype.next=q1,hr.prototype.plant=J1,hr.prototype.reverse=Av,hr.prototype.toJSON=hr.prototype.valueOf=hr.prototype.value=dv,hr.prototype.first=hr.prototype.head,V2&&(hr.prototype[V2]=r3),hr},su=Z3();F0?((F0.exports=su)._=su,jo._=su):D0._=su}).call(commonjsGlobal)})(lodash,lodashExports);const _=lodashExports;function linkId(o){const{source:$,target:_e}=o,et=typeof $=="string"?$:$.id,tt=typeof _e=="string"?_e:_e.id;return`${et}=>${tt}`}class ForceGraphArrowLink extends reactExports.PureComponent{render(){const{link:$,targetRadius:_e,edgeOffset:et,...tt}=this.props,rt=`arrow-${linkId($)}`;return jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("defs",{children:jsxRuntimeExports.jsx("marker",{id:rt,markerWidth:6,markerHeight:4,refX:5+(_e||0),refY:2,orient:"auto",markerUnits:"strokeWidth",children:Number(_e)>0&&jsxRuntimeExports.jsx("path",{d:"M0,0 L0,4 L6,2 z",fill:tt.stroke||tt.color})})}),jsxRuntimeExports.jsx(reactVisForceExports.ForceGraphLink,{...tt,link:$,markerEnd:`url(#${rt})`})]})}}ForceGraphArrowLink.defaultProps={className:"",edgeOffset:2,opacity:.6,stroke:"#999",strokeWidth:1,targetRadius:2};const nodesPropTypes=propTypesExports.arrayOf(propTypesExports.shape({id:propTypesExports.string.isRequired,radius:propTypesExports.number.isRequired})),linksPropTypes=propTypesExports.arrayOf(propTypesExports.shape({source:propTypesExports.string.isRequired,target:propTypesExports.string.isRequired,target_node_size:propTypesExports.number,value:propTypesExports.number.isRequired})),chargeStrength=({radius:o=5,orphan:$})=>$?-20*o:-12*o;class DependencyForceGraph extends reactExports.Component{constructor($){super($),this.state={width:window_1.window.innerWidth,height:window_1.window.innerHeight}}componentDidMount(){this.onResize(),this.debouncedResize=lodashExports.debounce((...$)=>this.onResize(...$),50),window_1.window.addEventListener("resize",this.debouncedResize)}componentWillUnmount(){window_1.window.removeEventListener("resize",this.debouncedResize)}onResize(){const $=window_1.window.innerWidth;let _e=window_1.window.innerHeight;this.container&&(_e-=this.container.offsetTop),this.setState({width:$,height:_e})}render(){const{nodes:$,links:_e}=this.props,{width:et,height:tt}=this.state,rt=new Map($.map(at=>[at.id,at]));return jsxRuntimeExports.jsx("div",{ref:at=>{this.container=at},style:{position:"relative"},children:jsxRuntimeExports.jsxs(reactVisForceExports.InteractiveForceGraph,{zoom:!0,minScale:1/2,maxScale:4,panLimit:2,simulationOptions:{width:et,height:tt,strength:{charge:chargeStrength,x:et/tt>1?.1:.12,y:et/tt<1?.1:.12}},labelOffset:{x:({radius:at})=>at+2,y:({radius:at})=>at/2},nodeAttrs:["orphan"],highlightDependencies:!0,children:[$.map(({labelStyle:at,labelClass:nt,showLabel:it,opacity:ot,fill:st,...lt})=>jsxRuntimeExports.jsx(reactVisForceExports.ForceGraphNode,{node:lt,labelStyle:at,labelClass:nt,showLabel:it,opacity:ot,fill:st},lt.id)),_e.map(({opacity:at,...nt})=>jsxRuntimeExports.jsx(ForceGraphArrowLink,{opacity:at,link:nt,targetRadius:rt.get(nt.target).radius},`${nt.source}=>${nt.target}`))]})})}}Mu(DependencyForceGraph,"propTypes",{nodes:nodesPropTypes.isRequired,links:linksPropTypes.isRequired});const LoadingIndicator$1="";function LoadingIndicator(o){const{centered:$,vcentered:_e,className:et,small:tt,...rt}=o,at=` +}`;var In=F3(function(){return b0(cr,sn+"return "+Br).apply(_e,br)});if(In.source=Br,rA(In))throw In;return In}function H6(pt){return C0(pt).toLowerCase()}function W6(pt){return C0(pt).toUpperCase()}function L3(pt,$t,Dt){if(pt=C0(pt),pt&&(Dt||$t===_e))return En(pt);if(!pt||!($t=_s($t)))return pt;var Zt=Ko(pt),tr=Ko($t),cr=o0(Zt,tr),br=d0(Zt,tr)+1;return h2(Zt,cr,br).join("")}function Z6(pt,$t,Dt){if(pt=C0(pt),pt&&(Dt||$t===_e))return pt.slice(0,Bu(pt)+1);if(!pt||!($t=_s($t)))return pt;var Zt=Ko(pt),tr=d0(Zt,Ko($t))+1;return h2(Zt,0,tr).join("")}function Y6(pt,$t,Dt){if(pt=C0(pt),pt&&(Dt||$t===_e))return pt.replace(_0,"");if(!pt||!($t=_s($t)))return pt;var Zt=Ko(pt),tr=o0(Zt,Ko($t));return h2(Zt,tr).join("")}function D3(pt,$t){var Dt=Et,Zt=It;if(K0($t)){var tr="separator"in $t?$t.separator:tr;Dt="length"in $t?Qn($t.length):Dt,Zt="omission"in $t?_s($t.omission):Zt}pt=C0(pt);var cr=pt.length;if(Xo(pt)){var br=Ko(pt);cr=br.length}if(Dt>=cr)return pt;var wr=Dt-Fl(Zt);if(wr<1)return Zt;var xr=br?h2(br,0,wr).join(""):pt.slice(0,wr);if(tr===_e)return xr+Zt;if(br&&(wr+=xr.length-wr),b4(tr)){if(pt.slice(wr).search(tr)){var Fr,Rr=xr;for(tr.global||(tr=z2(tr.source,C0(Bn.exec(tr))+"g")),tr.lastIndex=0;Fr=tr.exec(Rr);)var Br=Fr.index;xr=xr.slice(0,Br===_e?wr:Br)}}else if(pt.indexOf(_s(tr),wr)!=wr){var $a=xr.lastIndexOf(tr);$a>-1&&(xr=xr.slice(0,$a))}return xr+Zt}function ps(pt){return pt=C0(pt),pt&&Ao.test(pt)?pt.replace(l0,ou):pt}var Ou=bu(function(pt,$t,Dt){return pt+(Dt?" ":"")+$t.toUpperCase()}),u1=gp("toUpperCase");function C4(pt,$t,Dt){return pt=C0(pt),$t=Dt?_e:$t,$t===_e?Xs(pt)?W3(pt):A0(pt):pt.match($t)||[]}var F3=Un(function(pt,$t){try{return io(pt,_e,$t)}catch(Dt){return rA(Dt)?Dt:new zn(Dt)}}),U6=Yl(function(pt,$t){return Q0($t,function(Dt){Dt=xl(Dt),f2(pt,Dt,d4(pt[Dt],pt))}),pt});function Q6(pt){var $t=pt==null?0:pt.length,Dt=mn();return pt=$t?gr(pt,function(Zt){if(typeof Zt[1]!="function")throw new ts(at);return[Dt(Zt[0]),Zt[1]]}):[],Un(function(Zt){for(var tr=-1;++tr<$t;){var cr=pt[tr];if(io(cr[0],this,Zt))return io(cr[1],this,Zt)}})}function N3(pt){return ep(ws(pt,lt))}function $4(pt){return function(){return pt}}function q6(pt,$t){return pt==null||pt!==pt?$t:pt}var z3=yp(),j3=yp(!0);function vs(pt){return pt}function T4(pt){return Zl(typeof pt=="function"?pt:ws(pt,lt))}function J6(pt){return T1(ws(pt,lt))}function X6(pt,$t){return RA(pt,ws($t,lt))}var K6=Un(function(pt,$t){return function(Dt){return ks(Dt,pt,$t)}}),_b=Un(function(pt,$t){return function(Dt){return ks(pt,Dt,$t)}});function S4(pt,$t,Dt){var Zt=To($t),tr=Hu($t,Zt);Dt==null&&!(K0($t)&&(tr.length||!Zt.length))&&(Dt=$t,$t=pt,pt=this,tr=Hu($t,To($t)));var cr=!(K0(Dt)&&"chain"in Dt)||!!Dt.chain,br=m2(pt);return Q0(tr,function(wr){var xr=$t[wr];pt[wr]=xr,br&&(pt.prototype[wr]=function(){var Fr=this.__chain__;if(cr||Fr){var Rr=pt(this.__wrapped__),Br=Rr.__actions__=os(this.__actions__);return Br.push({func:xr,args:arguments,thisArg:pt}),Rr.__chain__=Fr,Rr}return xr.apply(pt,Ir([this.value()],arguments))})}),pt}function _g(){return D0._===this&&(D0._=AA),this}function lA(){}function em(pt){return pt=Qn(pt),Un(function($t){return op($t,pt)})}var tm=mu(gr),V3=mu(fs),rm=mu(an);function G3(pt){return eu(pt)?Yt(xl(pt)):BA(pt)}function am(pt){return function($t){return pt==null?_e:Q2(pt,$t)}}var nm=QA(),yt=QA(!0);function kt(){return[]}function St(){return!1}function Pt(){return{}}function Gt(){return""}function Qt(){return!0}function Xt(pt,$t){if(pt=Qn(pt),pt<1||pt>jt)return[];var Dt=Wt,Zt=Ho(pt,Wt);$t=mn($t),pt-=Wt;for(var tr=Yr(Zt,$t);++Dt0||$t<0)?new Kn(Dt):(pt<0?Dt=Dt.takeRight(-pt):pt&&(Dt=Dt.drop(pt)),$t!==_e&&($t=Qn($t),Dt=$t<0?Dt.dropRight(-$t):Dt.take($t-pt)),Dt)},Kn.prototype.takeRightWhile=function(pt){return this.reverse().takeWhile(pt).reverse()},Kn.prototype.toArray=function(){return this.take(Wt)},Al(Kn.prototype,function(pt,$t){var Dt=/^(?:filter|find|map|reject)|While$/.test($t),Zt=/^(?:head|last)$/.test($t),tr=dr[Zt?"take"+($t=="last"?"Right":""):$t],cr=Zt||/^find/.test($t);tr&&(dr.prototype[$t]=function(){var br=this.__wrapped__,wr=Zt?[1]:arguments,xr=br instanceof Kn,Fr=wr[0],Rr=xr||Gn(br),Br=function(Dn){var Pn=tr.apply(dr,Ir([Dn],wr));return Zt&&$a?Pn[0]:Pn};Rr&&Dt&&typeof Fr=="function"&&Fr.length!=1&&(xr=Rr=!1);var $a=this.__chain__,sn=!!this.__actions__.length,un=cr&&!$a,In=xr&&!sn;if(!cr&&Rr){br=In?br:new Kn(this);var dn=pt.apply(br,wr);return dn.__actions__.push({func:a1,args:[Br],thisArg:_e}),new Ns(dn,$a)}return un&&In?pt.apply(this,wr):(dn=this.thru(Br),un?Zt?dn.value()[0]:dn.value():dn)})}),Q0(["pop","push","shift","sort","splice","unshift"],function(pt){var $t=d1[pt],Dt=/^(?:push|sort|unshift)$/.test(pt)?"tap":"thru",Zt=/^(?:pop|shift)$/.test(pt);dr.prototype[pt]=function(){var tr=arguments;if(Zt&&!this.__chain__){var cr=this.value();return $t.apply(Gn(cr)?cr:[],tr)}return this[Dt](function(br){return $t.apply(Gn(br)?br:[],tr)})}}),Al(Kn.prototype,function(pt,$t){var Dt=dr[$t];if(Dt){var Zt=Dt.name+"";k0.call(Ks,Zt)||(Ks[Zt]=[]),Ks[Zt].push({name:$t,func:Dt})}}),Ks[Ur(_e,ht).name]=[{name:"wrapper",func:_e}],Kn.prototype.clone=G4,Kn.prototype.reverse=H4,Kn.prototype.value=n8,dr.prototype.at=cv,dr.prototype.chain=uv,dr.prototype.commit=fv,dr.prototype.next=q1,dr.prototype.plant=J1,dr.prototype.reverse=Av,dr.prototype.toJSON=dr.prototype.valueOf=dr.prototype.value=dv,dr.prototype.first=dr.prototype.head,V2&&(dr.prototype[V2]=r3),dr},su=Z3();F0?((F0.exports=su)._=su,jo._=su):D0._=su}).call(commonjsGlobal)})(lodash,lodashExports);const _=lodashExports;function linkId(o){const{source:$,target:_e}=o,et=typeof $=="string"?$:$.id,tt=typeof _e=="string"?_e:_e.id;return`${et}=>${tt}`}class ForceGraphArrowLink extends reactExports.PureComponent{render(){const{link:$,targetRadius:_e,edgeOffset:et,...tt}=this.props,rt=`arrow-${linkId($)}`;return jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("defs",{children:jsxRuntimeExports.jsx("marker",{id:rt,markerWidth:6,markerHeight:4,refX:5+(_e||0),refY:2,orient:"auto",markerUnits:"strokeWidth",children:Number(_e)>0&&jsxRuntimeExports.jsx("path",{d:"M0,0 L0,4 L6,2 z",fill:tt.stroke||tt.color})})}),jsxRuntimeExports.jsx(reactVisForceExports.ForceGraphLink,{...tt,link:$,markerEnd:`url(#${rt})`})]})}}ForceGraphArrowLink.defaultProps={className:"",edgeOffset:2,opacity:.6,stroke:"#999",strokeWidth:1,targetRadius:2};const nodesPropTypes=propTypesExports.arrayOf(propTypesExports.shape({id:propTypesExports.string.isRequired,radius:propTypesExports.number.isRequired})),linksPropTypes=propTypesExports.arrayOf(propTypesExports.shape({source:propTypesExports.string.isRequired,target:propTypesExports.string.isRequired,target_node_size:propTypesExports.number,value:propTypesExports.number.isRequired})),chargeStrength=({radius:o=5,orphan:$})=>$?-20*o:-12*o;class DependencyForceGraph extends reactExports.Component{constructor($){super($),this.state={width:window_1.window.innerWidth,height:window_1.window.innerHeight}}componentDidMount(){this.onResize(),this.debouncedResize=lodashExports.debounce((...$)=>this.onResize(...$),50),window_1.window.addEventListener("resize",this.debouncedResize)}componentWillUnmount(){window_1.window.removeEventListener("resize",this.debouncedResize)}onResize(){const $=window_1.window.innerWidth;let _e=window_1.window.innerHeight;this.container&&(_e-=this.container.offsetTop),this.setState({width:$,height:_e})}render(){const{nodes:$,links:_e}=this.props,{width:et,height:tt}=this.state,rt=new Map($.map(at=>[at.id,at]));return jsxRuntimeExports.jsx("div",{ref:at=>{this.container=at},style:{position:"relative"},children:jsxRuntimeExports.jsxs(reactVisForceExports.InteractiveForceGraph,{zoom:!0,minScale:1/2,maxScale:4,panLimit:2,simulationOptions:{width:et,height:tt,strength:{charge:chargeStrength,x:et/tt>1?.1:.12,y:et/tt<1?.1:.12}},labelOffset:{x:({radius:at})=>at+2,y:({radius:at})=>at/2},nodeAttrs:["orphan"],highlightDependencies:!0,children:[$.map(({labelStyle:at,labelClass:nt,showLabel:it,opacity:ot,fill:st,...lt})=>jsxRuntimeExports.jsx(reactVisForceExports.ForceGraphNode,{node:lt,labelStyle:at,labelClass:nt,showLabel:it,opacity:ot,fill:st},lt.id)),_e.map(({opacity:at,...nt})=>jsxRuntimeExports.jsx(ForceGraphArrowLink,{opacity:at,link:nt,targetRadius:rt.get(nt.target).radius},`${nt.source}=>${nt.target}`))]})})}}Mu(DependencyForceGraph,"propTypes",{nodes:nodesPropTypes.isRequired,links:linksPropTypes.isRequired});const LoadingIndicator$1="";function LoadingIndicator(o){const{centered:$,vcentered:_e,className:et,small:tt,...rt}=o,at=` LoadingIndicator ${$?"is-centered":""} ${_e?"is-vcentered":""} ${tt?"is-small":""} ${et||""} `;return jsxRuntimeExports.jsx(Icon$1,{type:"loading",className:at,...rt})}LoadingIndicator.defaultProps={centered:!1,className:void 0,small:!1};const isFunction$3=function(o){return typeof o=="function"},isEmpty$1=function(o){return o.length===0},toString$1=function(o){return o.toString()},isString=function(o){return typeof o=="string"};var DEFAULT_NAMESPACE="/",ACTION_TYPE_DELIMITER="||";const identity$6=function(o){return o},isNull$1=function(o){return o===null};function createAction(o,$,_e){$===void 0&&($=identity$6),browser(isFunction$3($)||isNull$1($),"Expected payloadCreator to be a function, undefined or null");var et=isNull$1($)||$===identity$6?identity$6:function(nt){for(var it=arguments.length,ot=new Array(it>1?it-1:0),st=1;st1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];var tt=isPlainObject(getLastElement(_e))?_e.pop():{};return browser(_e.every(isString)&&(isString(o)||isPlainObject(o)),"Expected optional object followed by string action types"),isString(o)?actionCreatorsFromIdentityActions([o].concat(_e),tt):_objectSpread$9({},actionCreatorsFromActionMap(o,tt),actionCreatorsFromIdentityActions(_e,tt))}function actionCreatorsFromActionMap(o,$){var _e=flattenActionMap(o,$),et=actionMapToActionCreators(_e);return unflattenActionCreators(et,$)}function actionMapToActionCreators(o,$){var _e=$===void 0?{}:$,et=_e.prefix,tt=_e.namespace,rt=tt===void 0?DEFAULT_NAMESPACE:tt;function at(nt){if(isFunction$3(nt)||isNil$1(nt))return!0;if(isArray$1(nt)){var it=nt[0],ot=it===void 0?identity$6:it,st=nt[1];return isFunction$3(ot)&&isFunction$3(st)}return!1}return arrayToObject(Object.keys(o),function(nt,it){var ot,st=o[it];browser(at(st),"Expected function, undefined, null, or array with payload and meta "+("functions for "+it));var lt=et?""+et+rt+it:it,ct=isArray$1(st)?createAction.apply(void 0,[lt].concat(st)):createAction(lt,st);return _objectSpread$9({},nt,(ot={},ot[it]=ct,ot))})}function actionCreatorsFromIdentityActions(o,$){var _e=arrayToObject(o,function(tt,rt){var at;return _objectSpread$9({},tt,(at={},at[rt]=identity$6,at))}),et=actionMapToActionCreators(_e,$);return arrayToObject(Object.keys(et),function(tt,rt){var at;return _objectSpread$9({},tt,(at={},at[camelCase(rt)]=et[rt],at))})}const isUndefined=function(o){return o===void 0};function handleAction(o,$,_e){$===void 0&&($=identity$6);var et=toString$1(o).split(ACTION_TYPE_DELIMITER);browser(!isUndefined(_e),"defaultState for reducer handling "+et.join(", ")+" should be defined"),browser(isFunction$3($)||isPlainObject($),"Expected reducer to be a function or object with next and throw reducers");var tt=isFunction$3($)?[$,$]:[$.next,$.throw].map(function(nt){return isNil$1(nt)?identity$6:nt}),rt=tt[0],at=tt[1];return function(nt,it){nt===void 0&&(nt=_e);var ot=it.type;return!ot||et.indexOf(toString$1(ot))===-1?nt:(it.error===!0?at:rt)(nt,it)}}const reduceReducers=function(){for(var o=arguments.length,$=Array(o),_e=0;_e"u")throw new TypeError("The initial state may not be undefined. If you do not want to set a value for this reducer, you can use null instead of undefined.");return function(rt,at){for(var nt=arguments.length,it=Array(nt>2?nt-2:0),ot=2;ot"u",lt=typeof at>"u";return st&<&&et?et:tt.reduce(function(ct,ut){return ut.apply(void 0,[ct,at].concat(it))},st&&!lt&&et?et:rt)}};function hasGeneratorInterface(o){var $=ownKeys$9(o),_e=$.every(function(et){return et==="next"||et==="throw"});return $.length&&$.length<=2&&_e}const flattenReducerMap=flattenWhenNode(function(o){return(isPlainObject(o)||isMap(o))&&!hasGeneratorInterface(o)});function handleActions(o,$,_e){_e===void 0&&(_e={}),browser(isPlainObject(o)||isMap(o),"Expected handlers to be a plain object.");var et=flattenReducerMap(o,_e),tt=ownKeys$9(et).map(function(at){return handleAction(at,get$2(at,et),$)}),rt=reduceReducers.apply(void 0,tt.concat([$]));return function(at,nt){return at===void 0&&(at=$),rt(at,nt)}}var global$6=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof global$6<"u"&&global$6,support={searchParams:"URLSearchParams"in global$6,iterable:"Symbol"in global$6&&"iterator"in Symbol,blob:"FileReader"in global$6&&"Blob"in global$6&&function(){try{return new Blob,!0}catch(o){return!1}}(),formData:"FormData"in global$6,arrayBuffer:"ArrayBuffer"in global$6};function isDataView(o){return o&&DataView.prototype.isPrototypeOf(o)}if(support.arrayBuffer)var viewClasses=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],isArrayBufferView=ArrayBuffer.isView||function(o){return o&&viewClasses.indexOf(Object.prototype.toString.call(o))>-1};function normalizeName(o){if(typeof o!="string"&&(o=String(o)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(o)||o==="")throw new TypeError('Invalid character in header field name: "'+o+'"');return o.toLowerCase()}function normalizeValue(o){return typeof o!="string"&&(o=String(o)),o}function iteratorFor(o){var $={next:function(){var _e=o.shift();return{done:_e===void 0,value:_e}}};return support.iterable&&($[Symbol.iterator]=function(){return $}),$}function Headers$1(o){this.map={},o instanceof Headers$1?o.forEach(function($,_e){this.append(_e,$)},this):Array.isArray(o)?o.forEach(function($){this.append($[0],$[1])},this):o&&Object.getOwnPropertyNames(o).forEach(function($){this.append($,o[$])},this)}Headers$1.prototype.append=function(o,$){o=normalizeName(o),$=normalizeValue($);var _e=this.map[o];this.map[o]=_e?_e+", "+$:$};Headers$1.prototype.delete=function(o){delete this.map[normalizeName(o)]};Headers$1.prototype.get=function(o){return o=normalizeName(o),this.has(o)?this.map[o]:null};Headers$1.prototype.has=function(o){return this.map.hasOwnProperty(normalizeName(o))};Headers$1.prototype.set=function(o,$){this.map[normalizeName(o)]=normalizeValue($)};Headers$1.prototype.forEach=function(o,$){for(var _e in this.map)this.map.hasOwnProperty(_e)&&o.call($,this.map[_e],_e,this)};Headers$1.prototype.keys=function(){var o=[];return this.forEach(function($,_e){o.push(_e)}),iteratorFor(o)};Headers$1.prototype.values=function(){var o=[];return this.forEach(function($){o.push($)}),iteratorFor(o)};Headers$1.prototype.entries=function(){var o=[];return this.forEach(function($,_e){o.push([_e,$])}),iteratorFor(o)};support.iterable&&(Headers$1.prototype[Symbol.iterator]=Headers$1.prototype.entries);function consumed(o){if(o.bodyUsed)return Promise.reject(new TypeError("Already read"));o.bodyUsed=!0}function fileReaderReady(o){return new Promise(function($,_e){o.onload=function(){$(o.result)},o.onerror=function(){_e(o.error)}})}function readBlobAsArrayBuffer(o){var $=new FileReader,_e=fileReaderReady($);return $.readAsArrayBuffer(o),_e}function readBlobAsText(o){var $=new FileReader,_e=fileReaderReady($);return $.readAsText(o),_e}function readArrayBufferAsText(o){for(var $=new Uint8Array(o),_e=new Array($.length),et=0;et<$.length;et++)_e[et]=String.fromCharCode($[et]);return _e.join("")}function bufferClone(o){if(o.slice)return o.slice(0);var $=new Uint8Array(o.byteLength);return $.set(new Uint8Array(o)),$.buffer}function Body(){return this.bodyUsed=!1,this._initBody=function(o){this.bodyUsed=this.bodyUsed,this._bodyInit=o,o?typeof o=="string"?this._bodyText=o:support.blob&&Blob.prototype.isPrototypeOf(o)?this._bodyBlob=o:support.formData&&FormData.prototype.isPrototypeOf(o)?this._bodyFormData=o:support.searchParams&&URLSearchParams.prototype.isPrototypeOf(o)?this._bodyText=o.toString():support.arrayBuffer&&support.blob&&isDataView(o)?(this._bodyArrayBuffer=bufferClone(o.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):support.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(o)||isArrayBufferView(o))?this._bodyArrayBuffer=bufferClone(o):this._bodyText=o=Object.prototype.toString.call(o):this._bodyText="",this.headers.get("content-type")||(typeof o=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):support.searchParams&&URLSearchParams.prototype.isPrototypeOf(o)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},support.blob&&(this.blob=function(){var o=consumed(this);if(o)return o;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var o=consumed(this);return o||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else return this.blob().then(readBlobAsArrayBuffer)}),this.text=function(){var o=consumed(this);if(o)return o;if(this._bodyBlob)return readBlobAsText(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},support.formData&&(this.formData=function(){return this.text().then(decode$1)}),this.json=function(){return this.text().then(JSON.parse)},this}var methods=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function normalizeMethod(o){var $=o.toUpperCase();return methods.indexOf($)>-1?$:o}function Request$1(o,$){if(!(this instanceof Request$1))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');$=$||{};var _e=$.body;if(o instanceof Request$1){if(o.bodyUsed)throw new TypeError("Already read");this.url=o.url,this.credentials=o.credentials,$.headers||(this.headers=new Headers$1(o.headers)),this.method=o.method,this.mode=o.mode,this.signal=o.signal,!_e&&o._bodyInit!=null&&(_e=o._bodyInit,o.bodyUsed=!0)}else this.url=String(o);if(this.credentials=$.credentials||this.credentials||"same-origin",($.headers||!this.headers)&&(this.headers=new Headers$1($.headers)),this.method=normalizeMethod($.method||this.method||"GET"),this.mode=$.mode||this.mode||null,this.signal=$.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&_e)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(_e),(this.method==="GET"||this.method==="HEAD")&&($.cache==="no-store"||$.cache==="no-cache")){var et=/([?&])_=[^&]*/;if(et.test(this.url))this.url=this.url.replace(et,"$1_="+new Date().getTime());else{var tt=/\?/;this.url+=(tt.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}Request$1.prototype.clone=function(){return new Request$1(this,{body:this._bodyInit})};function decode$1(o){var $=new FormData;return o.trim().split("&").forEach(function(_e){if(_e){var et=_e.split("="),tt=et.shift().replace(/\+/g," "),rt=et.join("=").replace(/\+/g," ");$.append(decodeURIComponent(tt),decodeURIComponent(rt))}}),$}function parseHeaders(o){var $=new Headers$1,_e=o.replace(/\r?\n[\t ]+/g," ");return _e.split("\r").map(function(et){return et.indexOf(` -`)===0?et.substr(1,et.length):et}).forEach(function(et){var tt=et.split(":"),rt=tt.shift().trim();if(rt){var at=tt.join(":").trim();$.append(rt,at)}}),$}Body.call(Request$1.prototype);function Response$1(o,$){if(!(this instanceof Response$1))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');$||($={}),this.type="default",this.status=$.status===void 0?200:$.status,this.ok=this.status>=200&&this.status<300,this.statusText=$.statusText===void 0?"":""+$.statusText,this.headers=new Headers$1($.headers),this.url=$.url||"",this._initBody(o)}Body.call(Response$1.prototype);Response$1.prototype.clone=function(){return new Response$1(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers$1(this.headers),url:this.url})};Response$1.error=function(){var o=new Response$1(null,{status:0,statusText:""});return o.type="error",o};var redirectStatuses=[301,302,303,307,308];Response$1.redirect=function(o,$){if(redirectStatuses.indexOf($)===-1)throw new RangeError("Invalid status code");return new Response$1(null,{status:$,headers:{location:o}})};var DOMException$1=global$6.DOMException;try{new DOMException$1}catch(o){DOMException$1=function($,_e){this.message=$,this.name=_e;var et=Error($);this.stack=et.stack},DOMException$1.prototype=Object.create(Error.prototype),DOMException$1.prototype.constructor=DOMException$1}function fetch$1(o,$){return new Promise(function(_e,et){var tt=new Request$1(o,$);if(tt.signal&&tt.signal.aborted)return et(new DOMException$1("Aborted","AbortError"));var rt=new XMLHttpRequest;function at(){rt.abort()}rt.onload=function(){var it={status:rt.status,statusText:rt.statusText,headers:parseHeaders(rt.getAllResponseHeaders()||"")};it.url="responseURL"in rt?rt.responseURL:it.headers.get("X-Request-URL");var ot="response"in rt?rt.response:rt.responseText;setTimeout(function(){_e(new Response$1(ot,it))},0)},rt.onerror=function(){setTimeout(function(){et(new TypeError("Network request failed"))},0)},rt.ontimeout=function(){setTimeout(function(){et(new TypeError("Network request failed"))},0)},rt.onabort=function(){setTimeout(function(){et(new DOMException$1("Aborted","AbortError"))},0)};function nt(it){try{return it===""&&global$6.location.href?global$6.location.href:it}catch(ot){return it}}rt.open(tt.method,nt(tt.url),!0),tt.credentials==="include"?rt.withCredentials=!0:tt.credentials==="omit"&&(rt.withCredentials=!1),"responseType"in rt&&(support.blob?rt.responseType="blob":support.arrayBuffer&&tt.headers.get("Content-Type")&&tt.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(rt.responseType="arraybuffer")),$&&typeof $.headers=="object"&&!($.headers instanceof Headers$1)?Object.getOwnPropertyNames($.headers).forEach(function(it){rt.setRequestHeader(it,normalizeValue($.headers[it]))}):tt.headers.forEach(function(it,ot){rt.setRequestHeader(ot,it)}),tt.signal&&(tt.signal.addEventListener("abort",at),rt.onreadystatechange=function(){rt.readyState===4&&tt.signal.removeEventListener("abort",at)}),rt.send(typeof tt._bodyInit>"u"?null:tt._bodyInit)})}fetch$1.polyfill=!0;global$6.fetch||(global$6.fetch=fetch$1,global$6.Headers=Headers$1,global$6.Request=Request$1,global$6.Response=Response$1);var fetchNpmBrowserify=self.fetch.bind(self);function getMessageFromError(o,$){if(o.code!=null&&o.msg!=null)return o.code===$?o.msg:`${o.code} - ${o.msg}`;try{return JSON.stringify(o)}catch(_e){return String(o)}}function getJSON(o,$={}){const{query:_e=null,...et}=$;et.credentials="same-origin";let tt="";return _e&&(tt=`?${typeof _e=="string"?_e:queryString.stringify(_e)}`),fetchNpmBrowserify(`${o}${tt}`,et).then(rt=>rt.status<400?rt.json():rt.text().then(at=>{let nt,it,ot;try{nt=JSON.parse(at),it=JSON.stringify(nt,null,2)}catch(lt){nt=null,it=null}nt&&Array.isArray(nt.errors)&&nt.errors.length?ot=nt.errors.map(lt=>getMessageFromError(lt,rt.status)).join("; "):ot=at||`${rt.status} - ${rt.statusText}`,typeof ot=="string"&&(ot=ot.trim());const st=new Error(`HTTP Error: ${ot}`);throw st.httpStatus=rt.status,st.httpStatusText=rt.statusText,st.httpBody=it||at,st.httpUrl=o,st.httpQuery=typeof _e=="string"?_e:queryString.stringify(_e),st}))}const DEFAULT_API_ROOT=isString$6(window.apiBaseUrl)?`${window.apiBaseUrl}/api/`:prefixUrl("/api/"),ANALYTICS_ROOT=prefixUrl("/analytics/"),DEFAULT_DEPENDENCY_LOOKBACK=hooks$1.duration(1,"weeks").asMilliseconds(),JaegerAPI={apiRoot:DEFAULT_API_ROOT,archiveTrace(o){return getJSON(`${this.apiRoot}archive/${o}`,{method:"POST"})},fetchDecoration(o){return getJSON(o)},fetchDeepDependencyGraph(o){return getJSON(`${ANALYTICS_ROOT}v1/dependencies`,{query:o})},fetchDependencies(o=new Date().getTime(),$=DEFAULT_DEPENDENCY_LOOKBACK){return getJSON(`${this.apiRoot}dependencies`,{query:{endTs:o,lookback:$}})},fetchQualityMetrics(o,$){return getJSON("/qualitymetrics-v2",{query:{hours:$,service:o}})},fetchServiceOperations(o){return getJSON(`${this.apiRoot}services/${encodeURIComponent(o)}/operations`)},fetchServiceServerOps(o){return getJSON(`${this.apiRoot}operations`,{query:{service:o,spanKind:"server"}})},fetchServices(){return getJSON(`${this.apiRoot}services`)},fetchTrace(o){return getJSON(`${this.apiRoot}traces/${o}`)},searchTraces(o){return getJSON(`${this.apiRoot}traces`,{query:o})},fetchMetrics(o,$,_e){const et=$.map(tt=>`service=${tt}`).join(",");return getJSON(`${this.apiRoot}metrics/${o}`,{query:`${et}&${queryString.stringify(_e)}`}).then(tt=>({...tt,quantile:_e.quantile}))}},metricType={latencies:"latencies",calls:"calls",errors:"errors"};function allSettled(o){const $=o.map(_e=>Promise.resolve(_e).then(et=>({status:"fulfilled",value:et}),et=>({status:"rejected",reason:et})));return Promise.all($)}const fetchTrace=createAction("@JAEGER_API/FETCH_TRACE",o=>JaegerAPI.fetchTrace(o),o=>({id:o})),fetchMultipleTraces=createAction("@JAEGER_API/FETCH_MULTIPLE_TRACES",o=>JaegerAPI.searchTraces({traceID:o}),o=>({ids:o})),archiveTrace=createAction("@JAEGER_API/ARCHIVE_TRACE",o=>JaegerAPI.archiveTrace(o),o=>({id:o})),searchTraces=createAction("@JAEGER_API/SEARCH_TRACES",o=>JaegerAPI.searchTraces(o),o=>({query:o})),fetchServices=createAction("@JAEGER_API/FETCH_SERVICES",()=>JaegerAPI.fetchServices()),fetchServiceOperations=createAction("@JAEGER_API/FETCH_SERVICE_OPERATIONS",o=>JaegerAPI.fetchServiceOperations(o),o=>({serviceName:o})),fetchServiceServerOps=createAction("@JAEGER_API/FETCH_SERVICE_SERVER_OP",o=>JaegerAPI.fetchServiceServerOps(o),o=>({serviceName:o})),fetchDeepDependencyGraph=createAction("@JAEGER_API/FETCH_DEEP_DEPENDENCY_GRAPH",o=>JaegerAPI.fetchDeepDependencyGraph(o),o=>({query:o})),fetchDependencies=createAction("@JAEGER_API/FETCH_DEPENDENCIES",()=>JaegerAPI.fetchDependencies()),fetchAllServiceMetrics=createAction("@JAEGER_API/FETCH_ALL_SERVICE_METRICS",(o,$)=>allSettled([JaegerAPI.fetchMetrics(metricType.latencies,[o],{...$,quantile:.5}),JaegerAPI.fetchMetrics(metricType.latencies,[o],{...$,quantile:.75}),JaegerAPI.fetchMetrics(metricType.latencies,[o],$),JaegerAPI.fetchMetrics(metricType.calls,[o],$),JaegerAPI.fetchMetrics(metricType.errors,[o],$)])),fetchAggregatedServiceMetrics=createAction("@JAEGER_API/FETCH_AGGREGATED_SERVICE_METRICS",(o,$)=>{const _e={...$,groupByOperation:!0};return allSettled([JaegerAPI.fetchMetrics(metricType.latencies,[o],_e),JaegerAPI.fetchMetrics(metricType.calls,[o],_e),JaegerAPI.fetchMetrics(metricType.errors,[o],_e)])}),jaegerApiActions=Object.freeze(Object.defineProperty({__proto__:null,allSettled,archiveTrace,fetchAggregatedServiceMetrics,fetchAllServiceMetrics,fetchDeepDependencyGraph,fetchDependencies,fetchMultipleTraces,fetchServiceOperations,fetchServiceServerOps,fetchServices,fetchTrace,searchTraces},Symbol.toStringTag,{value:"Module"}));var NOT_FOUND="NOT_FOUND";function createSingletonCache(o){var $;return{get:function(et){return $&&o($.key,et)?$.value:NOT_FOUND},put:function(et,tt){$={key:et,value:tt}},getEntries:function(){return $?[$]:[]},clear:function(){$=void 0}}}function createLruCache(o,$){var _e=[];function et(nt){var it=_e.findIndex(function(st){return $(nt,st.key)});if(it>-1){var ot=_e[it];return it>0&&(_e.splice(it,1),_e.unshift(ot)),ot.value}return NOT_FOUND}function tt(nt,it){et(nt)===NOT_FOUND&&(_e.unshift({key:nt,value:it}),_e.length>o&&_e.pop())}function rt(){return _e}function at(){_e=[]}return{get:et,put:tt,getEntries:rt,clear:at}}var defaultEqualityCheck=function($,_e){return $===_e};function createCacheKeyComparator(o){return function(_e,et){if(_e===null||et===null||_e.length!==et.length)return!1;for(var tt=_e.length,rt=0;rt1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];var tt=function(){for(var at=arguments.length,nt=new Array(at),it=0;ito,o=>{const $=o.reduce((tt,rt)=>{const{nodeMap:at}=tt;let{links:nt}=tt;return at[rt.parent]=at[rt.parent]?at[rt.parent]+rt.callCount:rt.callCount,at[rt.child]=at[rt.child]?tt.nodeMap[rt.child]+rt.callCount:rt.callCount,rt.parent!==rt.child&&(nt=nt.concat([{source:rt.parent,target:rt.child,callCount:rt.callCount,value:Math.max(Math.sqrt(rt.callCount/1e4),1),target_node_size:Math.max(Math.log(at[rt.child]/1e3),3)}])),{nodeMap:at,links:nt}},{nodeMap:{},links:[]});$.nodes=Object.keys($.nodeMap).map(tt=>({callCount:$.nodeMap[tt],radius:Math.max(Math.log($.nodeMap[tt]/1e3),3),orphan:$.links.findIndex(rt=>tt===rt.source||tt===rt.target)===-1,id:tt}));const{nodes:_e,links:et}=$;return{nodes:_e,links:et}}),index$H="",TabPane$1=Tabs.TabPane,GRAPH_TYPES={FORCE_DIRECTED:{type:"FORCE_DIRECTED",name:"Force Directed Graph"},DAG:{type:"DAG",name:"DAG"}},dagMaxNumServices=getConfigValue("dependencies.dagMaxNumServices")||FALLBACK_DAG_MAX_NUM_SERVICES;class DependencyGraphPageImpl extends reactExports.Component{constructor(_e){super(_e);Mu(this,"handleGraphTypeChange",_e=>this.setState({graphType:_e}));this.state={graphType:"FORCE_DIRECTED"}}componentDidMount(){this.props.fetchDependencies()}render(){const{nodes:_e,links:et,error:tt,dependencies:rt,loading:at}=this.props,{graphType:nt}=this.state;if(at)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});if(tt)return jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-m3",error:tt});if(!_e||!et)return jsxRuntimeExports.jsx("div",{className:"u-simple-card ub-m3",children:"No service dependencies found."});const it=[GRAPH_TYPES.FORCE_DIRECTED];return rt.length<=dagMaxNumServices&&it.push(GRAPH_TYPES.DAG),jsxRuntimeExports.jsx(Tabs,{onChange:this.handleGraphTypeChange,activeKey:nt,type:"card",tabBarStyle:{background:"#f5f5f5",padding:"1rem 1rem 0 1rem"},children:it.map(ot=>jsxRuntimeExports.jsx(TabPane$1,{className:"ub-relelative",tab:ot.name,children:jsxRuntimeExports.jsxs("div",{className:"DependencyGraph--graphWrapper",children:[ot.type==="FORCE_DIRECTED"&&jsxRuntimeExports.jsx(DependencyForceGraph,{nodes:_e,links:et}),ot.type==="DAG"&&jsxRuntimeExports.jsx(DAG,{serviceCalls:rt})]})},ot.type))})}}Mu(DependencyGraphPageImpl,"propTypes",{dependencies:propTypesExports.any.isRequired,fetchDependencies:propTypesExports.func.isRequired,nodes:nodesPropTypes,links:linksPropTypes,loading:propTypesExports.bool.isRequired,error:propTypesExports.object}),Mu(DependencyGraphPageImpl,"defaultProps",{nodes:null,links:null,error:null});function mapStateToProps$b(o){const{dependencies:$,error:_e,loading:et}=o.dependencies;let tt,rt;if($&&$.length>0){const at=formatDependenciesAsNodesAndLinks({dependencies:$});tt=at.links,rt=at.nodes}return{loading:et,error:_e,nodes:rt,links:tt,dependencies:$}}function mapDispatchToProps$b(o){const{fetchDependencies:$}=bindActionCreators(jaegerApiActions,o);return{fetchDependencies:$}}const DependencyGraph=connect$3(mapStateToProps$b,mapDispatchToProps$b)(DependencyGraphPageImpl);var debounce$1=debounce_1,isObject$6=isObject_1,FUNC_ERROR_TEXT="Expected a function";function throttle(o,$,_e){var et=!0,tt=!0;if(typeof o!="function")throw new TypeError(FUNC_ERROR_TEXT);return isObject$6(_e)&&(et="leading"in _e?!!_e.leading:et,tt="trailing"in _e?!!_e.trailing:tt),debounce$1(o,$,{leading:et,maxWait:$,trailing:tt})}var throttle_1=throttle;const ACTION_FILTER_SET="set",ACTION_FILTER_CLEAR="clear",getTrackFilterSet=o=>throttle_1(trackEvent.bind(null,o,ACTION_FILTER_SET),750,{leading:!1}),getTrackFilterClear=o=>throttle_1(trackEvent.bind(null,o,ACTION_FILTER_CLEAR),750,{leading:!1});function getTrackFilter(o){const $=getTrackFilterSet(o),_e=getTrackFilterClear(o);return et=>et?$():_e()}const CATEGORY_DENSITY_CHANGE="jaeger/ux/ddg/density-change",CATEGORY_DENSITY_SELECTION="jaeger/ux/ddg/density-selection",CATEGORY_DOWNSTREAM_HOPS_CHANGE="jaeger/ux/ddg/downstream-hops-change",CATEGORY_DOWNSTREAM_HOPS_SELECTION="jaeger/ux/ddg/downstream-hops-selection",CATEGORY_FILTER$1="jaeger/ux/ddg/filter",CATEGORY_MATCH_INTERACTIONS$1="jaeger/ux/ddg/match-interactions",CATEGORY_SEARCH="jaeger/ux/ddg/search",CATEGORY_TOGGLE_SHOW_OP="jaeger/ux/ddg/toggle-show-op",CATEGORY_UPSTREAM_HOPS_CHANGE="jaeger/ux/ddg/upstream-hops-change",CATEGORY_UPSTREAM_HOPS_SELECTION="jaeger/ux/ddg/upstream-hops-selection",CATEGORY_VERTEX_INTERACTIONS="jaeger/ux/ddg/vertex-interactions",ACTION_CLEAR_OPERATION="clear-operation",ACTION_DECREASE="decrease",ACTION_FOCUS_PATHS="focus-paths",ACTION_HIDE="hide",ACTION_HIDE_CHILDREN="hide-children",ACTION_HIDE_PARENTS="hide-parents",ACTION_INCREASE="increase",ACTION_SET_FOCUS="set-focus",ACTION_SET_OPERATION="set-operation",ACTION_SET_SERVICE="set-service",ACTION_SHOW="show",ACTION_SHOW_CHILDREN="show-children",ACTION_SHOW_PARENTS="show-parents",ACTION_VIEW_TRACES="view-traces";function trackClearOperation(){trackEvent(CATEGORY_SEARCH,ACTION_CLEAR_OPERATION)}function trackDensityChange(o,$,_e){if(o===$)return;let et,tt;if(_e.forEach(({option:at},nt)=>{at===o&&(et=nt),at===$&&(tt=nt)}),et===void 0&&console.warn(`Received unknown density ${o}`),tt===void 0){console.warn(`Received unknown density ${$}`);return}if(et===void 0)return;const rt=et>tt?ACTION_INCREASE:ACTION_DECREASE;trackEvent(CATEGORY_DENSITY_CHANGE,rt),trackEvent(CATEGORY_DENSITY_SELECTION,$)}const trackFilter$1=getTrackFilter(CATEGORY_FILTER$1);function trackFocusPaths(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_FOCUS_PATHS)}function trackHeaderSetOperation(){trackEvent(CATEGORY_SEARCH,ACTION_SET_OPERATION)}function trackHide(o){o?o===EDirection.Upstream?trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE_PARENTS):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE_CHILDREN):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE)}function trackHopChange(o,$,_e){if(o===$)return;const et=Math.abs($)>Math.abs(o)?ACTION_INCREASE:ACTION_DECREASE,[tt,rt]=_e===EDirection.Upstream?[CATEGORY_UPSTREAM_HOPS_SELECTION,CATEGORY_UPSTREAM_HOPS_CHANGE]:[CATEGORY_DOWNSTREAM_HOPS_SELECTION,CATEGORY_DOWNSTREAM_HOPS_CHANGE];trackEvent(tt,`${$}`),trackEvent(rt,et)}function trackShow(o){o===EDirection.Upstream?trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SHOW_PARENTS):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SHOW_CHILDREN)}function trackSetFocus(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SET_FOCUS)}function trackSetService(){trackEvent(CATEGORY_SEARCH,ACTION_SET_SERVICE)}function trackShowMatches(){trackEvent(CATEGORY_MATCH_INTERACTIONS$1,ACTION_SHOW)}function trackToggleShowOp(o){trackEvent(CATEGORY_TOGGLE_SHOW_OP,o?ACTION_SHOW:ACTION_HIDE)}function trackVertexSetOperation(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SET_OPERATION)}function trackViewTraces$1(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_VIEW_TRACES)}function makeCacheScope(){const o=new Map;return function(_e,et){const tt=o.get(_e);return tt||(o.set(_e,et),et)}}const defaultScope=Object.assign(makeCacheScope(),{makeScope:makeCacheScope});function reduce$1(o,$){let{className:_e,style:et,...tt}=o;const{className:rt,style:at,...nt}=$;return rt&&(_e=_e?`${_e} ${rt}`:rt),at&&typeof at=="object"&&(et=et?{...et,...at}:at),{className:_e,style:et,...tt,...nt}}function assignMergeCss$1(){for(var o=arguments.length,$=new Array(o),_e=0;_e1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];if(!o)return{};const rt=(Array.isArray(o)?o:[o]).map(at=>typeof at=="function"?at(..._e)||{}:at);return assignMergeCss$1(...rt)}const getValueScaler=(()=>{const o={expAdjuster:.5,factorMax:1,factorMin:0,valueMax:1,valueMin:.3};function $(){let _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{expAdjuster:et,factorMax:tt,factorMin:rt,valueMax:at,valueMin:nt}={...o,..._e};return function(ot){return ot>=tt?at:ot<=rt?nt:nt+((ot-rt)/(tt-rt))**et*(at-nt)}}return $})();function isSamePropSetter(o,$){return Array.isArray(o)?!Array.isArray($)||o.length!==$.length?!1:!o.some((_e,et)=>_e!==$[et]):o===$}var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(o){var $=o+="",_e=$.indexOf(":");return _e>=0&&($=o.slice(0,_e))!=="xmlns"&&(o=o.slice(_e+1)),namespaces.hasOwnProperty($)?{space:namespaces[$],local:o}:o}function creatorInherit(o){return function(){var $=this.ownerDocument,_e=this.namespaceURI;return _e===xhtml&&$.documentElement.namespaceURI===xhtml?$.createElement(o):$.createElementNS(_e,o)}}function creatorFixed(o){return function(){return this.ownerDocument.createElementNS(o.space,o.local)}}function creator(o){var $=namespace(o);return($.local?creatorFixed:creatorInherit)($)}function none$2(){}function selector(o){return o==null?none$2:function(){return this.querySelector(o)}}function selection_select(o){typeof o!="function"&&(o=selector(o));for(var $=this._groups,_e=$.length,et=new Array(_e),tt=0;tt<_e;++tt)for(var rt=$[tt],at=rt.length,nt=et[tt]=new Array(at),it,ot,st=0;st=pt&&(pt=bt+1);!(_t=vt[pt])&&++pt=0;)(at=et[tt])&&(rt&&at.compareDocumentPosition(rt)^4&&rt.parentNode.insertBefore(at,rt),rt=at);return this}function selection_sort(o){o||(o=ascending$3);function $(lt,ct){return lt&&ct?o(lt.__data__,ct.__data__):!lt-!ct}for(var _e=this._groups,et=_e.length,tt=new Array(et),rt=0;rt$?1:o>=$?0:NaN}function selection_call(){var o=arguments[0];return arguments[0]=this,o.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){for(var o=this._groups,$=0,_e=o.length;$<_e;++$)for(var et=o[$],tt=0,rt=et.length;tt1?this.each(($==null?styleRemove$1:typeof $=="function"?styleFunction$1:styleConstant$1)(o,$,_e==null?"":_e)):styleValue(this.node(),o)}function styleValue(o,$){return o.style.getPropertyValue($)||defaultView(o).getComputedStyle(o,null).getPropertyValue($)}function propertyRemove(o){return function(){delete this[o]}}function propertyConstant(o,$){return function(){this[o]=$}}function propertyFunction(o,$){return function(){var _e=$.apply(this,arguments);_e==null?delete this[o]:this[o]=_e}}function selection_property(o,$){return arguments.length>1?this.each(($==null?propertyRemove:typeof $=="function"?propertyFunction:propertyConstant)(o,$)):this.node()[o]}function classArray(o){return o.trim().split(/^|\s+/)}function classList(o){return o.classList||new ClassList(o)}function ClassList(o){this._node=o,this._names=classArray(o.getAttribute("class")||"")}ClassList.prototype={add:function(o){var $=this._names.indexOf(o);$<0&&(this._names.push(o),this._node.setAttribute("class",this._names.join(" ")))},remove:function(o){var $=this._names.indexOf(o);$>=0&&(this._names.splice($,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(o){return this._names.indexOf(o)>=0}};function classedAdd(o,$){for(var _e=classList(o),et=-1,tt=$.length;++et=0&&(_e=$.slice(et+1),$=$.slice(0,et)),{type:$,name:_e}})}function onRemove(o){return function(){var $=this.__on;if($){for(var _e=0,et=-1,tt=$.length,rt;_e{}};function dispatch(){for(var o=0,$=arguments.length,_e={},et;o<$;++o){if(!(et=arguments[o]+"")||et in _e||/[\s.]/.test(et))throw new Error("illegal type: "+et);_e[et]=[]}return new Dispatch$1(_e)}function Dispatch$1(o){this._=o}function parseTypenames(o,$){return o.trim().split(/^|\s+/).map(function(_e){var et="",tt=_e.indexOf(".");if(tt>=0&&(et=_e.slice(tt+1),_e=_e.slice(0,tt)),_e&&!$.hasOwnProperty(_e))throw new Error("unknown type: "+_e);return{type:_e,name:et}})}Dispatch$1.prototype=dispatch.prototype={constructor:Dispatch$1,on:function(o,$){var _e=this._,et=parseTypenames(o+"",_e),tt,rt=-1,at=et.length;if(arguments.length<2){for(;++rt0)for(var _e=new Array(tt),et=0,tt,rt;et>8&15|$>>4&240,$>>4&15|$&240,($&15)<<4|$&15,1):_e===8?rgba$2($>>24&255,$>>16&255,$>>8&255,($&255)/255):_e===4?rgba$2($>>12&15|$>>8&240,$>>8&15|$>>4&240,$>>4&15|$&240,(($&15)<<4|$&15)/255):null):($=reRgbInteger$2.exec(o))?new Rgb$2($[1],$[2],$[3],1):($=reRgbPercent$2.exec(o))?new Rgb$2($[1]*255/100,$[2]*255/100,$[3]*255/100,1):($=reRgbaInteger$2.exec(o))?rgba$2($[1],$[2],$[3],$[4]):($=reRgbaPercent$2.exec(o))?rgba$2($[1]*255/100,$[2]*255/100,$[3]*255/100,$[4]):($=reHslPercent$2.exec(o))?hsla$2($[1],$[2]/100,$[3]/100,1):($=reHslaPercent$2.exec(o))?hsla$2($[1],$[2]/100,$[3]/100,$[4]):named$2.hasOwnProperty(o)?rgbn$2(named$2[o]):o==="transparent"?new Rgb$2(NaN,NaN,NaN,0):null}function rgbn$2(o){return new Rgb$2(o>>16&255,o>>8&255,o&255,1)}function rgba$2(o,$,_e,et){return et<=0&&(o=$=_e=NaN),new Rgb$2(o,$,_e,et)}function rgbConvert$2(o){return o instanceof Color$2||(o=color$2(o)),o?(o=o.rgb(),new Rgb$2(o.r,o.g,o.b,o.opacity)):new Rgb$2}function rgb$3(o,$,_e,et){return arguments.length===1?rgbConvert$2(o):new Rgb$2(o,$,_e,et==null?1:et)}function Rgb$2(o,$,_e,et){this.r=+o,this.g=+$,this.b=+_e,this.opacity=+et}define$2(Rgb$2,rgb$3,extend$2(Color$2,{brighter(o){return o=o==null?brighter$2:Math.pow(brighter$2,o),new Rgb$2(this.r*o,this.g*o,this.b*o,this.opacity)},darker(o){return o=o==null?darker$2:Math.pow(darker$2,o),new Rgb$2(this.r*o,this.g*o,this.b*o,this.opacity)},rgb(){return this},clamp(){return new Rgb$2(clampi$1(this.r),clampi$1(this.g),clampi$1(this.b),clampa$1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex$1,formatHex:rgb_formatHex$1,formatHex8:rgb_formatHex8$1,formatRgb:rgb_formatRgb$1,toString:rgb_formatRgb$1}));function rgb_formatHex$1(){return`#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}`}function rgb_formatHex8$1(){return`#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}${hex$2((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb$1(){const o=clampa$1(this.opacity);return`${o===1?"rgb(":"rgba("}${clampi$1(this.r)}, ${clampi$1(this.g)}, ${clampi$1(this.b)}${o===1?")":`, ${o})`}`}function clampa$1(o){return isNaN(o)?1:Math.max(0,Math.min(1,o))}function clampi$1(o){return Math.max(0,Math.min(255,Math.round(o)||0))}function hex$2(o){return o=clampi$1(o),(o<16?"0":"")+o.toString(16)}function hsla$2(o,$,_e,et){return et<=0?o=$=_e=NaN:_e<=0||_e>=1?o=$=NaN:$<=0&&(o=NaN),new Hsl$2(o,$,_e,et)}function hslConvert$2(o){if(o instanceof Hsl$2)return new Hsl$2(o.h,o.s,o.l,o.opacity);if(o instanceof Color$2||(o=color$2(o)),!o)return new Hsl$2;if(o instanceof Hsl$2)return o;o=o.rgb();var $=o.r/255,_e=o.g/255,et=o.b/255,tt=Math.min($,_e,et),rt=Math.max($,_e,et),at=NaN,nt=rt-tt,it=(rt+tt)/2;return nt?($===rt?at=(_e-et)/nt+(_e0&&it<1?0:at,new Hsl$2(at,nt,it,o.opacity)}function hsl$2(o,$,_e,et){return arguments.length===1?hslConvert$2(o):new Hsl$2(o,$,_e,et==null?1:et)}function Hsl$2(o,$,_e,et){this.h=+o,this.s=+$,this.l=+_e,this.opacity=+et}define$2(Hsl$2,hsl$2,extend$2(Color$2,{brighter(o){return o=o==null?brighter$2:Math.pow(brighter$2,o),new Hsl$2(this.h,this.s,this.l*o,this.opacity)},darker(o){return o=o==null?darker$2:Math.pow(darker$2,o),new Hsl$2(this.h,this.s,this.l*o,this.opacity)},rgb(){var o=this.h%360+(this.h<0)*360,$=isNaN(o)||isNaN(this.s)?0:this.s,_e=this.l,et=_e+(_e<.5?_e:1-_e)*$,tt=2*_e-et;return new Rgb$2(hsl2rgb$2(o>=240?o-240:o+120,tt,et),hsl2rgb$2(o,tt,et),hsl2rgb$2(o<120?o+240:o-120,tt,et),this.opacity)},clamp(){return new Hsl$2(clamph$1(this.h),clampt$1(this.s),clampt$1(this.l),clampa$1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const o=clampa$1(this.opacity);return`${o===1?"hsl(":"hsla("}${clamph$1(this.h)}, ${clampt$1(this.s)*100}%, ${clampt$1(this.l)*100}%${o===1?")":`, ${o})`}`}}));function clamph$1(o){return o=(o||0)%360,o<0?o+360:o}function clampt$1(o){return Math.max(0,Math.min(1,o||0))}function hsl2rgb$2(o,$,_e){return(o<60?$+(_e-$)*o/60:o<180?_e:o<240?$+(_e-$)*(240-o)/60:$)*255}const constant$7=o=>()=>o;function linear$2(o,$){return function(_e){return o+_e*$}}function exponential$1(o,$,_e){return o=Math.pow(o,_e),$=Math.pow($,_e)-o,_e=1/_e,function(et){return Math.pow(o+et*$,_e)}}function gamma$1(o){return(o=+o)==1?nogamma$1:function($,_e){return _e-$?exponential$1($,_e,o):constant$7(isNaN($)?_e:$)}}function nogamma$1(o,$){var _e=$-o;return _e?linear$2(o,_e):constant$7(isNaN(o)?$:o)}const interpolateRgb=function o($){var _e=gamma$1($);function et(tt,rt){var at=_e((tt=rgb$3(tt)).r,(rt=rgb$3(rt)).r),nt=_e(tt.g,rt.g),it=_e(tt.b,rt.b),ot=nogamma$1(tt.opacity,rt.opacity);return function(st){return tt.r=at(st),tt.g=nt(st),tt.b=it(st),tt.opacity=ot(st),tt+""}}return et.gamma=o,et}(1);function interpolateNumber(o,$){return o=+o,$=+$,function(_e){return o*(1-_e)+$*_e}}var reA$1=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB$1=new RegExp(reA$1.source,"g");function zero$1(o){return function(){return o}}function one$1(o){return function($){return o($)+""}}function interpolateString(o,$){var _e=reA$1.lastIndex=reB$1.lastIndex=0,et,tt,rt,at=-1,nt=[],it=[];for(o=o+"",$=$+"";(et=reA$1.exec(o))&&(tt=reB$1.exec($));)(rt=tt.index)>_e&&(rt=$.slice(_e,rt),nt[at]?nt[at]+=rt:nt[++at]=rt),(et=et[0])===(tt=tt[0])?nt[at]?nt[at]+=tt:nt[++at]=tt:(nt[++at]=null,it.push({i:at,x:interpolateNumber(et,tt)})),_e=reB$1.lastIndex;return _e<$.length&&(rt=$.slice(_e),nt[at]?nt[at]+=rt:nt[++at]=rt),nt.length<2?it[0]?one$1(it[0].x):zero$1($):($=it.length,function(ot){for(var st=0,lt;st<$;++st)nt[(lt=it[st]).i]=lt.x(ot);return nt.join("")})}var degrees=180/Math.PI,identity$5={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(o,$,_e,et,tt,rt){var at,nt,it;return(at=Math.sqrt(o*o+$*$))&&(o/=at,$/=at),(it=o*_e+$*et)&&(_e-=o*it,et-=$*it),(nt=Math.sqrt(_e*_e+et*et))&&(_e/=nt,et/=nt,it/=nt),o*et<$*_e&&(o=-o,$=-$,it=-it,at=-at),{translateX:tt,translateY:rt,rotate:Math.atan2($,o)*degrees,skewX:Math.atan(it)*degrees,scaleX:at,scaleY:nt}}var svgNode;function parseCss(o){const $=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(o+"");return $.isIdentity?identity$5:decompose($.a,$.b,$.c,$.d,$.e,$.f)}function parseSvg(o){return o==null||(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",o),!(o=svgNode.transform.baseVal.consolidate()))?identity$5:(o=o.matrix,decompose(o.a,o.b,o.c,o.d,o.e,o.f))}function interpolateTransform(o,$,_e,et){function tt(ot){return ot.length?ot.pop()+" ":""}function rt(ot,st,lt,ct,ut,ft){if(ot!==lt||st!==ct){var At=ut.push("translate(",null,$,null,_e);ft.push({i:At-4,x:interpolateNumber(ot,lt)},{i:At-2,x:interpolateNumber(st,ct)})}else(lt||ct)&&ut.push("translate("+lt+$+ct+_e)}function at(ot,st,lt,ct){ot!==st?(ot-st>180?st+=360:st-ot>180&&(ot+=360),ct.push({i:lt.push(tt(lt)+"rotate(",null,et)-2,x:interpolateNumber(ot,st)})):st&<.push(tt(lt)+"rotate("+st+et)}function nt(ot,st,lt,ct){ot!==st?ct.push({i:lt.push(tt(lt)+"skewX(",null,et)-2,x:interpolateNumber(ot,st)}):st&<.push(tt(lt)+"skewX("+st+et)}function it(ot,st,lt,ct,ut,ft){if(ot!==lt||st!==ct){var At=ut.push(tt(ut)+"scale(",null,",",null,")");ft.push({i:At-4,x:interpolateNumber(ot,lt)},{i:At-2,x:interpolateNumber(st,ct)})}else(lt!==1||ct!==1)&&ut.push(tt(ut)+"scale("+lt+","+ct+")")}return function(ot,st){var lt=[],ct=[];return ot=o(ot),st=o(st),rt(ot.translateX,ot.translateY,st.translateX,st.translateY,lt,ct),at(ot.rotate,st.rotate,lt,ct),nt(ot.skewX,st.skewX,lt,ct),it(ot.scaleX,ot.scaleY,st.scaleX,st.scaleY,lt,ct),ot=st=null,function(ut){for(var ft=-1,At=ct.length,vt;++ft=0&&o._call.call(void 0,$),o=o._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var o=clock.now(),$=o-clockLast;$>pokeDelay&&(clockSkew-=$,clockLast=o)}function nap(){for(var o,$=taskHead,_e,et=1/0;$;)$._call?(et>$._time&&(et=$._time),o=$,$=$._next):(_e=$._next,$._next=null,$=o?o._next=_e:taskHead=_e);taskTail=o,sleep(et)}function sleep(o){if(!frame){timeout$1&&(timeout$1=clearTimeout(timeout$1));var $=o-clockNow;$>24?(o<1/0&&(timeout$1=setTimeout(wake,o-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake))}}function timeout(o,$,_e){var et=new Timer;return $=$==null?0:+$,et.restart(tt=>{et.stop(),o(tt+$)},$,_e),et}var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(o,$,_e,et,tt,rt){var at=o.__transition;if(!at)o.__transition={};else if(_e in at)return;create$2(o,_e,{name:$,index:et,group:tt,on:emptyOn,tween:emptyTween,time:rt.time,delay:rt.delay,duration:rt.duration,ease:rt.ease,timer:null,state:CREATED})}function init(o,$){var _e=get(o,$);if(_e.state>CREATED)throw new Error("too late; already scheduled");return _e}function set$1(o,$){var _e=get(o,$);if(_e.state>STARTED)throw new Error("too late; already running");return _e}function get(o,$){var _e=o.__transition;if(!_e||!(_e=_e[$]))throw new Error("transition not found");return _e}function create$2(o,$,_e){var et=o.__transition,tt;et[$]=_e,_e.timer=timer(rt,0,_e.time);function rt(ot){_e.state=SCHEDULED,_e.timer.restart(at,_e.delay,_e.time),_e.delay<=ot&&at(ot-_e.delay)}function at(ot){var st,lt,ct,ut;if(_e.state!==SCHEDULED)return it();for(st in et)if(ut=et[st],ut.name===_e.name){if(ut.state===STARTED)return timeout(at);ut.state===RUNNING?(ut.state=ENDED,ut.timer.stop(),ut.on.call("interrupt",o,o.__data__,ut.index,ut.group),delete et[st]):+st<$&&(ut.state=ENDED,ut.timer.stop(),ut.on.call("cancel",o,o.__data__,ut.index,ut.group),delete et[st])}if(timeout(function(){_e.state===STARTED&&(_e.state=RUNNING,_e.timer.restart(nt,_e.delay,_e.time),nt(ot))}),_e.state=STARTING,_e.on.call("start",o,o.__data__,_e.index,_e.group),_e.state===STARTING){for(_e.state=STARTED,tt=new Array(ct=_e.tween.length),st=0,lt=-1;stSTARTING&&et.state>8&15|$>>4&240,$>>4&15|$&240,($&15)<<4|$&15,1):_e===8?rgba$1($>>24&255,$>>16&255,$>>8&255,($&255)/255):_e===4?rgba$1($>>12&15|$>>8&240,$>>8&15|$>>4&240,$>>4&15|$&240,(($&15)<<4|$&15)/255):null):($=reRgbInteger$1.exec(o))?new Rgb$1($[1],$[2],$[3],1):($=reRgbPercent$1.exec(o))?new Rgb$1($[1]*255/100,$[2]*255/100,$[3]*255/100,1):($=reRgbaInteger$1.exec(o))?rgba$1($[1],$[2],$[3],$[4]):($=reRgbaPercent$1.exec(o))?rgba$1($[1]*255/100,$[2]*255/100,$[3]*255/100,$[4]):($=reHslPercent$1.exec(o))?hsla$1($[1],$[2]/100,$[3]/100,1):($=reHslaPercent$1.exec(o))?hsla$1($[1],$[2]/100,$[3]/100,$[4]):named$1.hasOwnProperty(o)?rgbn$1(named$1[o]):o==="transparent"?new Rgb$1(NaN,NaN,NaN,0):null}function rgbn$1(o){return new Rgb$1(o>>16&255,o>>8&255,o&255,1)}function rgba$1(o,$,_e,et){return et<=0&&(o=$=_e=NaN),new Rgb$1(o,$,_e,et)}function rgbConvert$1(o){return o instanceof Color$1||(o=color$1(o)),o?(o=o.rgb(),new Rgb$1(o.r,o.g,o.b,o.opacity)):new Rgb$1}function rgb$2(o,$,_e,et){return arguments.length===1?rgbConvert$1(o):new Rgb$1(o,$,_e,et==null?1:et)}function Rgb$1(o,$,_e,et){this.r=+o,this.g=+$,this.b=+_e,this.opacity=+et}define$1(Rgb$1,rgb$2,extend$1(Color$1,{brighter(o){return o=o==null?brighter$1:Math.pow(brighter$1,o),new Rgb$1(this.r*o,this.g*o,this.b*o,this.opacity)},darker(o){return o=o==null?darker$1:Math.pow(darker$1,o),new Rgb$1(this.r*o,this.g*o,this.b*o,this.opacity)},rgb(){return this},clamp(){return new Rgb$1(clampi(this.r),clampi(this.g),clampi(this.b),clampa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return`#${hex$1(this.r)}${hex$1(this.g)}${hex$1(this.b)}`}function rgb_formatHex8(){return`#${hex$1(this.r)}${hex$1(this.g)}${hex$1(this.b)}${hex$1((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb(){const o=clampa(this.opacity);return`${o===1?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${o===1?")":`, ${o})`}`}function clampa(o){return isNaN(o)?1:Math.max(0,Math.min(1,o))}function clampi(o){return Math.max(0,Math.min(255,Math.round(o)||0))}function hex$1(o){return o=clampi(o),(o<16?"0":"")+o.toString(16)}function hsla$1(o,$,_e,et){return et<=0?o=$=_e=NaN:_e<=0||_e>=1?o=$=NaN:$<=0&&(o=NaN),new Hsl$1(o,$,_e,et)}function hslConvert$1(o){if(o instanceof Hsl$1)return new Hsl$1(o.h,o.s,o.l,o.opacity);if(o instanceof Color$1||(o=color$1(o)),!o)return new Hsl$1;if(o instanceof Hsl$1)return o;o=o.rgb();var $=o.r/255,_e=o.g/255,et=o.b/255,tt=Math.min($,_e,et),rt=Math.max($,_e,et),at=NaN,nt=rt-tt,it=(rt+tt)/2;return nt?($===rt?at=(_e-et)/nt+(_e0&&it<1?0:at,new Hsl$1(at,nt,it,o.opacity)}function hsl$1(o,$,_e,et){return arguments.length===1?hslConvert$1(o):new Hsl$1(o,$,_e,et==null?1:et)}function Hsl$1(o,$,_e,et){this.h=+o,this.s=+$,this.l=+_e,this.opacity=+et}define$1(Hsl$1,hsl$1,extend$1(Color$1,{brighter(o){return o=o==null?brighter$1:Math.pow(brighter$1,o),new Hsl$1(this.h,this.s,this.l*o,this.opacity)},darker(o){return o=o==null?darker$1:Math.pow(darker$1,o),new Hsl$1(this.h,this.s,this.l*o,this.opacity)},rgb(){var o=this.h%360+(this.h<0)*360,$=isNaN(o)||isNaN(this.s)?0:this.s,_e=this.l,et=_e+(_e<.5?_e:1-_e)*$,tt=2*_e-et;return new Rgb$1(hsl2rgb$1(o>=240?o-240:o+120,tt,et),hsl2rgb$1(o,tt,et),hsl2rgb$1(o<120?o+240:o-120,tt,et),this.opacity)},clamp(){return new Hsl$1(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const o=clampa(this.opacity);return`${o===1?"hsl(":"hsla("}${clamph(this.h)}, ${clampt(this.s)*100}%, ${clampt(this.l)*100}%${o===1?")":`, ${o})`}`}}));function clamph(o){return o=(o||0)%360,o<0?o+360:o}function clampt(o){return Math.max(0,Math.min(1,o||0))}function hsl2rgb$1(o,$,_e){return(o<60?$+(_e-$)*o/60:o<180?_e:o<240?$+(_e-$)*(240-o)/60:$)*255}function interpolate$1(o,$){var _e;return(typeof $=="number"?interpolateNumber:$ instanceof color$1?interpolateRgb:(_e=color$1($))?($=_e,interpolateRgb):interpolateString)(o,$)}function attrRemove(o){return function(){this.removeAttribute(o)}}function attrRemoveNS(o){return function(){this.removeAttributeNS(o.space,o.local)}}function attrConstant(o,$,_e){var et,tt=_e+"",rt;return function(){var at=this.getAttribute(o);return at===tt?null:at===et?rt:rt=$(et=at,_e)}}function attrConstantNS(o,$,_e){var et,tt=_e+"",rt;return function(){var at=this.getAttributeNS(o.space,o.local);return at===tt?null:at===et?rt:rt=$(et=at,_e)}}function attrFunction(o,$,_e){var et,tt,rt;return function(){var at,nt=_e(this),it;return nt==null?void this.removeAttribute(o):(at=this.getAttribute(o),it=nt+"",at===it?null:at===et&&it===tt?rt:(tt=it,rt=$(et=at,nt)))}}function attrFunctionNS(o,$,_e){var et,tt,rt;return function(){var at,nt=_e(this),it;return nt==null?void this.removeAttributeNS(o.space,o.local):(at=this.getAttributeNS(o.space,o.local),it=nt+"",at===it?null:at===et&&it===tt?rt:(tt=it,rt=$(et=at,nt)))}}function transition_attr(o,$){var _e=namespace(o),et=_e==="transform"?interpolateTransformSvg:interpolate$1;return this.attrTween(o,typeof $=="function"?(_e.local?attrFunctionNS:attrFunction)(_e,et,tweenValue(this,"attr."+o,$)):$==null?(_e.local?attrRemoveNS:attrRemove)(_e):(_e.local?attrConstantNS:attrConstant)(_e,et,$))}function attrInterpolate(o,$){return function(_e){this.setAttribute(o,$.call(this,_e))}}function attrInterpolateNS(o,$){return function(_e){this.setAttributeNS(o.space,o.local,$.call(this,_e))}}function attrTweenNS(o,$){var _e,et;function tt(){var rt=$.apply(this,arguments);return rt!==et&&(_e=(et=rt)&&attrInterpolateNS(o,rt)),_e}return tt._value=$,tt}function attrTween(o,$){var _e,et;function tt(){var rt=$.apply(this,arguments);return rt!==et&&(_e=(et=rt)&&attrInterpolate(o,rt)),_e}return tt._value=$,tt}function transition_attrTween(o,$){var _e="attr."+o;if(arguments.length<2)return(_e=this.tween(_e))&&_e._value;if($==null)return this.tween(_e,null);if(typeof $!="function")throw new Error;var et=namespace(o);return this.tween(_e,(et.local?attrTweenNS:attrTween)(et,$))}function delayFunction(o,$){return function(){init(this,o).delay=+$.apply(this,arguments)}}function delayConstant(o,$){return $=+$,function(){init(this,o).delay=$}}function transition_delay(o){var $=this._id;return arguments.length?this.each((typeof o=="function"?delayFunction:delayConstant)($,o)):get(this.node(),$).delay}function durationFunction(o,$){return function(){set$1(this,o).duration=+$.apply(this,arguments)}}function durationConstant(o,$){return $=+$,function(){set$1(this,o).duration=$}}function transition_duration(o){var $=this._id;return arguments.length?this.each((typeof o=="function"?durationFunction:durationConstant)($,o)):get(this.node(),$).duration}function easeConstant(o,$){if(typeof $!="function")throw new Error;return function(){set$1(this,o).ease=$}}function transition_ease(o){var $=this._id;return arguments.length?this.each(easeConstant($,o)):get(this.node(),$).ease}function easeVarying(o,$){return function(){var _e=$.apply(this,arguments);if(typeof _e!="function")throw new Error;set$1(this,o).ease=_e}}function transition_easeVarying(o){if(typeof o!="function")throw new Error;return this.each(easeVarying(this._id,o))}function transition_filter(o){typeof o!="function"&&(o=matcher(o));for(var $=this._groups,_e=$.length,et=new Array(_e),tt=0;tt<_e;++tt)for(var rt=$[tt],at=rt.length,nt=et[tt]=[],it,ot=0;ot=0&&($=$.slice(0,_e)),!$||$==="start"})}function onFunction(o,$,_e){var et,tt,rt=start($)?init:set$1;return function(){var at=rt(this,o),nt=at.on;nt!==et&&(tt=(et=nt).copy()).on($,_e),at.on=tt}}function transition_on(o,$){var _e=this._id;return arguments.length<2?get(this.node(),_e).on.on(o):this.each(onFunction(_e,o,$))}function removeFunction(o){return function(){var $=this.parentNode;for(var _e in this.__transition)if(+_e!==o)return;$&&$.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(o){var $=this._name,_e=this._id;typeof o!="function"&&(o=selector(o));for(var et=this._groups,tt=et.length,rt=new Array(tt),at=0;at()=>o;function ZoomEvent(o,{sourceEvent:$,target:_e,transform:et,dispatch:tt}){Object.defineProperties(this,{type:{value:o,enumerable:!0,configurable:!0},sourceEvent:{value:$,enumerable:!0,configurable:!0},target:{value:_e,enumerable:!0,configurable:!0},transform:{value:et,enumerable:!0,configurable:!0},_:{value:tt}})}function Transform(o,$,_e){this.k=o,this.x=$,this.y=_e}Transform.prototype={constructor:Transform,scale:function(o){return o===1?this:new Transform(this.k*o,this.x,this.y)},translate:function(o,$){return o===0&$===0?this:new Transform(this.k,this.x+this.k*o,this.y+this.k*$)},apply:function(o){return[o[0]*this.k+this.x,o[1]*this.k+this.y]},applyX:function(o){return o*this.k+this.x},applyY:function(o){return o*this.k+this.y},invert:function(o){return[(o[0]-this.x)/this.k,(o[1]-this.y)/this.k]},invertX:function(o){return(o-this.x)/this.k},invertY:function(o){return(o-this.y)/this.k},rescaleX:function(o){return o.copy().domain(o.range().map(this.invertX,this).map(o.invert,o))},rescaleY:function(o){return o.copy().domain(o.range().map(this.invertY,this).map(o.invert,o))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity$4=new Transform(1,0,0);transform.prototype=Transform.prototype;function transform(o){for(;!o.__zoom;)if(!(o=o.parentNode))return identity$4;return o.__zoom}function nopropagation(o){o.stopImmediatePropagation()}function noevent(o){o.preventDefault(),o.stopImmediatePropagation()}function defaultFilter(o){return(!o.ctrlKey||o.type==="wheel")&&!o.button}function defaultExtent(){var o=this;return o instanceof SVGElement?(o=o.ownerSVGElement||o,o.hasAttribute("viewBox")?(o=o.viewBox.baseVal,[[o.x,o.y],[o.x+o.width,o.y+o.height]]):[[0,0],[o.width.baseVal.value,o.height.baseVal.value]]):[[0,0],[o.clientWidth,o.clientHeight]]}function defaultTransform(){return this.__zoom||identity$4}function defaultWheelDelta(o){return-o.deltaY*(o.deltaMode===1?.05:o.deltaMode?1:.002)*(o.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(o,$,_e){var et=o.invertX($[0][0])-_e[0][0],tt=o.invertX($[1][0])-_e[1][0],rt=o.invertY($[0][1])-_e[0][1],at=o.invertY($[1][1])-_e[1][1];return o.translate(tt>et?(et+tt)/2:Math.min(0,et)||Math.max(0,tt),at>rt?(rt+at)/2:Math.min(0,rt)||Math.max(0,at))}function d3Zoom(){var o=defaultFilter,$=defaultExtent,_e=defaultConstrain,et=defaultWheelDelta,tt=defaultTouchable,rt=[0,1/0],at=[[-1/0,-1/0],[1/0,1/0]],nt=250,it=interpolateZoom,ot=dispatch("start","zoom","end"),st,lt,ct,ut=500,ft=150,At=0,vt=10;function ht(Ot){Ot.property("__zoom",defaultTransform).on("wheel.zoom",yt,{passive:!1}).on("mousedown.zoom",xt).on("dblclick.zoom",Et).filter(tt).on("touchstart.zoom",It).on("touchmove.zoom",Tt).on("touchend.zoom touchcancel.zoom",Rt).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}ht.transform=function(Ot,Mt,Bt,Lt){var Vt=Ot.selection?Ot.selection():Ot;Vt.property("__zoom",defaultTransform),Ot!==Vt?_t(Ot,Mt,Bt,Lt):Vt.interrupt().each(function(){Ct(this,arguments).event(Lt).start().zoom(null,typeof Mt=="function"?Mt.apply(this,arguments):Mt).end()})},ht.scaleBy=function(Ot,Mt,Bt,Lt){ht.scaleTo(Ot,function(){var Vt=this.__zoom.k,zt=typeof Mt=="function"?Mt.apply(this,arguments):Mt;return Vt*zt},Bt,Lt)},ht.scaleTo=function(Ot,Mt,Bt,Lt){ht.transform(Ot,function(){var Vt=$.apply(this,arguments),zt=this.__zoom,Nt=Bt==null?dt(Vt):typeof Bt=="function"?Bt.apply(this,arguments):Bt,Wt=zt.invert(Nt),Jt=typeof Mt=="function"?Mt.apply(this,arguments):Mt;return _e(pt(bt(zt,Jt),Nt,Wt),Vt,at)},Bt,Lt)},ht.translateBy=function(Ot,Mt,Bt,Lt){ht.transform(Ot,function(){return _e(this.__zoom.translate(typeof Mt=="function"?Mt.apply(this,arguments):Mt,typeof Bt=="function"?Bt.apply(this,arguments):Bt),$.apply(this,arguments),at)},null,Lt)},ht.translateTo=function(Ot,Mt,Bt,Lt,Vt){ht.transform(Ot,function(){var zt=$.apply(this,arguments),Nt=this.__zoom,Wt=Lt==null?dt(zt):typeof Lt=="function"?Lt.apply(this,arguments):Lt;return _e(identity$4.translate(Wt[0],Wt[1]).scale(Nt.k).translate(typeof Mt=="function"?-Mt.apply(this,arguments):-Mt,typeof Bt=="function"?-Bt.apply(this,arguments):-Bt),zt,at)},Lt,Vt)};function bt(Ot,Mt){return Mt=Math.max(rt[0],Math.min(rt[1],Mt)),Mt===Ot.k?Ot:new Transform(Mt,Ot.x,Ot.y)}function pt(Ot,Mt,Bt){var Lt=Mt[0]-Bt[0]*Ot.k,Vt=Mt[1]-Bt[1]*Ot.k;return Lt===Ot.x&&Vt===Ot.y?Ot:new Transform(Ot.k,Lt,Vt)}function dt(Ot){return[(+Ot[0][0]+ +Ot[1][0])/2,(+Ot[0][1]+ +Ot[1][1])/2]}function _t(Ot,Mt,Bt,Lt){Ot.on("start.zoom",function(){Ct(this,arguments).event(Lt).start()}).on("interrupt.zoom end.zoom",function(){Ct(this,arguments).event(Lt).end()}).tween("zoom",function(){var Vt=this,zt=arguments,Nt=Ct(Vt,zt).event(Lt),Wt=$.apply(Vt,zt),Jt=Bt==null?dt(Wt):typeof Bt=="function"?Bt.apply(Vt,zt):Bt,nr=Math.max(Wt[1][0]-Wt[0][0],Wt[1][1]-Wt[0][1]),er=Vt.__zoom,Xt=typeof Mt=="function"?Mt.apply(Vt,zt):Mt,tr=it(er.invert(Jt).concat(nr/er.k),Xt.invert(Jt).concat(nr/Xt.k));return function(Zt){if(Zt===1)Zt=Xt;else{var Gt=tr(Zt),Ft=nr/Gt[2];Zt=new Transform(Ft,Jt[0]-Gt[0]*Ft,Jt[1]-Gt[1]*Ft)}Nt.zoom(null,Zt)}})}function Ct(Ot,Mt,Bt){return!Bt&&Ot.__zooming||new gt(Ot,Mt)}function gt(Ot,Mt){this.that=Ot,this.args=Mt,this.active=0,this.sourceEvent=null,this.extent=$.apply(Ot,Mt),this.taps=0}gt.prototype={event:function(Ot){return Ot&&(this.sourceEvent=Ot),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Ot,Mt){return this.mouse&&Ot!=="mouse"&&(this.mouse[1]=Mt.invert(this.mouse[0])),this.touch0&&Ot!=="touch"&&(this.touch0[1]=Mt.invert(this.touch0[0])),this.touch1&&Ot!=="touch"&&(this.touch1[1]=Mt.invert(this.touch1[0])),this.that.__zoom=Mt,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Ot){var Mt=select(this.that).datum();ot.call(Ot,this.that,new ZoomEvent(Ot,{sourceEvent:this.sourceEvent,target:ht,type:Ot,transform:this.that.__zoom,dispatch:ot}),Mt)}};function yt(Ot,...Mt){if(!o.apply(this,arguments))return;var Bt=Ct(this,Mt).event(Ot),Lt=this.__zoom,Vt=Math.max(rt[0],Math.min(rt[1],Lt.k*Math.pow(2,et.apply(this,arguments)))),zt=pointer(Ot);if(Bt.wheel)(Bt.mouse[0][0]!==zt[0]||Bt.mouse[0][1]!==zt[1])&&(Bt.mouse[1]=Lt.invert(Bt.mouse[0]=zt)),clearTimeout(Bt.wheel);else{if(Lt.k===Vt)return;Bt.mouse=[zt,Lt.invert(zt)],interrupt(this),Bt.start()}noevent(Ot),Bt.wheel=setTimeout(Nt,ft),Bt.zoom("mouse",_e(pt(bt(Lt,Vt),Bt.mouse[0],Bt.mouse[1]),Bt.extent,at));function Nt(){Bt.wheel=null,Bt.end()}}function xt(Ot,...Mt){if(ct||!o.apply(this,arguments))return;var Bt=Ot.currentTarget,Lt=Ct(this,Mt,!0).event(Ot),Vt=select(Ot.view).on("mousemove.zoom",Jt,!0).on("mouseup.zoom",nr,!0),zt=pointer(Ot,Bt),Nt=Ot.clientX,Wt=Ot.clientY;dragDisable(Ot.view),nopropagation(Ot),Lt.mouse=[zt,this.__zoom.invert(zt)],interrupt(this),Lt.start();function Jt(er){if(noevent(er),!Lt.moved){var Xt=er.clientX-Nt,tr=er.clientY-Wt;Lt.moved=Xt*Xt+tr*tr>At}Lt.event(er).zoom("mouse",_e(pt(Lt.that.__zoom,Lt.mouse[0]=pointer(er,Bt),Lt.mouse[1]),Lt.extent,at))}function nr(er){Vt.on("mousemove.zoom mouseup.zoom",null),yesdrag(er.view,Lt.moved),noevent(er),Lt.event(er).end()}}function Et(Ot,...Mt){if(o.apply(this,arguments)){var Bt=this.__zoom,Lt=pointer(Ot.changedTouches?Ot.changedTouches[0]:Ot,this),Vt=Bt.invert(Lt),zt=Bt.k*(Ot.shiftKey?.5:2),Nt=_e(pt(bt(Bt,zt),Lt,Vt),$.apply(this,Mt),at);noevent(Ot),nt>0?select(this).transition().duration(nt).call(_t,Nt,Lt,Ot):select(this).call(ht.transform,Nt,Lt,Ot)}}function It(Ot,...Mt){if(o.apply(this,arguments)){var Bt=Ot.touches,Lt=Bt.length,Vt=Ct(this,Mt,Ot.changedTouches.length===Lt).event(Ot),zt,Nt,Wt,Jt;for(nopropagation(Ot),Nt=0;Nt$?$:_e}function getFittedScale(o,$,_e,et){return Math.max(SCALE_MIN,Math.min((1-SCALE_MARGIN)*_e/o,(1-SCALE_MARGIN)*et/$,SCALE_MAX))}function getScaleExtent(o,$,_e,et){return[getFittedScale(o,$,_e,et),SCALE_MAX]}function fitWithinContainer(o,$,_e,et){const tt=getFittedScale(o,$,_e,et),rt=tt*$,at=tt*o,nt=(_e-at)/2,it=(et-rt)/2;return identity$4.translate(nt,it).scale(tt)}function constrainZoom(o,$,_e,et,tt){const{k:rt,x:at,y:nt}=o,it=getFittedScale($,_e,et,tt),ot=Math.max(rt,it),st=boundValue(-$*ot+et*.5,et*.5,at),lt=boundValue(-_e*ot+tt*.5,tt*.5,nt);return ot!==rt||st!==at||lt!==nt?identity$4.translate(st,lt).scale(ot):o}function getZoomStyle(o){if(o==null)return DEFAULT_ZOOM_STYLE;const{x:$,y:_e,k:et}=o;return{transform:`translate(${$.toFixed()}px, ${_e.toFixed()}px) scale(${et})`,transformOrigin:"0 0"}}function getZoomAttr(o){if(!o)return;const{x:$,y:_e,k:et}=o;return`translate(${$.toFixed()},${_e.toFixed()}) scale(${et})`}let ZoomManager$1=class{static getZoomAttr($){return getZoomAttr($)}static getZoomStyle($){return getZoomStyle($)}constructor($){this.elem=null,this.contentSize=null,this.selection=null,this.updateCallback=void 0,this.zoom=void 0,this.currentTransform=identity$4,this.resetZoom=()=>{const _e=this.elem,et=this.selection,tt=this.contentSize;if(!_e||!et||!tt){this.updateCallback(identity$4);return}const{clientHeight:rt,clientWidth:at}=_e;this.currentTransform=fitWithinContainer(tt.width,tt.height,at,rt),this.zoom.transform(et,this.currentTransform),this.updateCallback(this.currentTransform)},this.onZoomed=()=>{this.elem&&(this.currentTransform=transform(this.elem),this.updateCallback(this.currentTransform))},this.constrainZoom=(_e,et)=>{if(!this.contentSize)return _e;const{height:tt,width:rt}=this.contentSize,[,[at,nt]]=et;return constrainZoom(_e,rt,tt,at,nt)},this.updateCallback=$,this.zoom=d3Zoom().scaleExtent(DEFAULT_SCALE_EXTENT).constrain(this.constrainZoom).on("zoom",this.onZoomed)}setElement($){$!==this.elem&&(this.elem=$,this.selection=select($),this.selection.call(this.zoom),this.setExtent(),this.resetZoom())}setContentSize($){(!this.contentSize||this.contentSize.height!==$.height||this.contentSize.width!==$.width)&&(this.contentSize=$),this.setExtent(),this.resetZoom()}getProps(){const{x:$,y:_e,k:et}=this.currentTransform,{height:tt=1,width:rt=1}=this.contentSize||{},{clientHeight:at=1,clientWidth:nt=1}=this.elem||{};return{contentHeight:tt,contentWidth:rt,k:et,viewportHeight:at,viewportWidth:nt,x:$,y:_e,viewAll:this.resetZoom}}setExtent(){const $=this.elem,_e=this.contentSize;if(!$||!_e)return;const{clientHeight:et,clientWidth:tt}=$,rt=getScaleExtent(_e.width,_e.height,tt,et);this.zoom.scaleExtent(rt)}};const STYLE$1={left:0,position:"absolute",top:0};class HtmlLayer extends reactExports.PureComponent{render(){const{children:$,classNamePart:_e,getClassName:et,graphState:tt,setOnContainer:rt,standalone:at,topLayer:nt}=this.props,{zoomTransform:it}=tt,ot={style:nt||at?ZoomManager$1.getZoomStyle(it):{}},st=assignMergeCss$1({className:et(_e),style:STYLE$1},ot,getProps(rt,tt));return reactExports.createElement("div",st,$)}}let ELayoutPhase=function(o){return o.NoData="NoData",o.CalcSizes="CalcSizes",o.CalcPositions="CalcPositions",o.CalcEdges="CalcEdges",o.Done="Done",o}({}),ELayerType=function(o){return o.Html="html",o.Svg="svg",o}({});const SVG_HIDDEN_STYLE={visibility:"hidden"};class MeasurableNode extends reactExports.PureComponent{constructor(){super(...arguments),this.htmlRef=reactExports.createRef(),this.svgRef=reactExports.createRef()}measureHtml(){const{current:$}=this.htmlRef;return $?{height:$.offsetHeight,width:$.offsetWidth}:{height:0,width:0}}measureSvg(){const{current:$}=this.svgRef;if(!$)return{height:0,width:0};const{height:_e,width:et}=$.getBBox();return{height:_e,width:et}}renderHtml(){const{getClassName:$,hidden:_e,renderNode:et,renderUtils:tt,setOnNode:rt,vertex:at,layoutVertex:nt}=this.props,{height:it=null,left:ot=null,top:st=null,width:lt=null}=nt||{},ct=assignMergeCss$1({className:$("MeasurableHtmlNode"),style:{height:it,width:lt,boxSizing:"border-box",position:"absolute",transform:ot==null||st==null?void 0:`translate(${ot.toFixed()}px,${st.toFixed()}px)`,visibility:_e?"hidden":void 0}},getProps(rt,at,tt,nt));return reactExports.createElement("div",Object.assign({ref:this.htmlRef},ct),et(at,tt,nt))}renderSvg(){const{getClassName:$,hidden:_e,renderNode:et,renderUtils:tt,setOnNode:rt,vertex:at,layoutVertex:nt}=this.props,{left:it=null,top:ot=null}=nt||{},st=assignMergeCss$1({className:$("MeasurableSvgNode"),transform:it==null||ot==null?void 0:`translate(${it.toFixed()}, ${ot.toFixed()})`,style:_e?SVG_HIDDEN_STYLE:null},getProps(rt,at,tt,nt));return reactExports.createElement("g",Object.assign({ref:this.svgRef},st),et(at,tt,nt))}getRef(){return this.props.layerType===ELayerType.Html?{htmlWrapper:this.htmlRef.current,svgWrapper:void 0}:{svgWrapper:this.svgRef.current,htmlWrapper:void 0}}measure(){return this.props.layerType===ELayerType.Html?this.measureHtml():this.measureSvg()}render(){const{layerType:$}=this.props;return $===ELayerType.Html?this.renderHtml():this.renderSvg()}}class MeasurableNodes extends reactExports.Component{shouldComponentUpdate($){const _e=this.props;return _e.renderNode!==$.renderNode||_e.getClassName!==$.getClassName||_e.layerType!==$.layerType||_e.layoutVertices!==$.layoutVertices||_e.nodeRefs!==$.nodeRefs||_e.renderUtils!==$.renderUtils||_e.vertices!==$.vertices||!isSamePropSetter(_e.setOnNode,$.setOnNode)}render(){const{getClassName:$,nodeRefs:_e,layoutVertices:et,renderUtils:tt,vertices:rt,layerType:at,renderNode:nt,setOnNode:it}=this.props;return rt.map((ot,st)=>reactExports.createElement(MeasurableNode,{key:ot.key,getClassName:$,ref:_e[st],hidden:!et,layerType:at,renderNode:nt,renderUtils:tt,vertex:ot,layoutVertex:et&&et[st],setOnNode:it}))}}const getMarkerScale=getValueScaler({factorMax:1,factorMin:.1,valueMax:2,valueMin:6});function renderDefaultMarker(o,$,_e){const et=getMarkerScale(o.zoomTransform.k);return reactExports.createElement("marker",Object.assign({id:_e,markerHeight:et*8,markerUnits:"userSpaceOnUse",markerWidth:et*8,orient:"auto",refX:et*8,refY:et*3},$),reactExports.createElement("path",{d:`M0,0 L0,${et*6} L${et*9},${et*3} z`}))}class SvgDefEntry extends reactExports.PureComponent{render(){const{getClassName:$,localId:_e,graphState:et,renderEntry:tt=renderDefaultMarker,setOnEntry:rt}=this.props,at=et.renderUtils.getGlobalId(_e),nt=assignMergeCss$1({className:$("DefEntry")},getProps(rt,et));return tt(et,nt,at)}}const STYLE={left:0,minHeight:"100%",minWidth:"100%",position:"absolute",top:0};class SvgLayer extends reactExports.PureComponent{render(){const{children:$,classNamePart:_e,getClassName:et,defs:tt,extraWrapper:rt,graphState:at,setOnContainer:nt,standalone:it,topLayer:ot}=this.props,st=assignMergeCss$1({className:et(_e)},getProps(nt,at));let lt=reactExports.createElement("g",st,tt&&reactExports.createElement("defs",null,tt.map(ut=>reactExports.createElement(SvgDefEntry,Object.assign({key:ut.localId},ut,{getClassName:et,graphState:at})))),$);if(rt&&(lt=reactExports.createElement("g",rt,lt)),!it&&!ot)return lt;const{zoomTransform:ct}=at;return reactExports.createElement("svg",{className:et("SvgLayer"),style:STYLE},reactExports.createElement("g",{className:et("SvgLayer--transformer"),transform:ZoomManager$1.getZoomAttr(ct)},lt))}}function createRefs(o){const $=[];for(let _e=0;_e{if(it)return it.getRef();throw new Error("Invalid scenario")},getWrapperSize:()=>{if(it)return it.measure();throw new Error("Invalid scenario")}},st=[];for(let lt=0;ltreactExports.createElement(Node$4,{key:nt.vertex.key,getClassName:$,layerType:tt,layoutVertex:nt,renderNode:rt,renderUtils:et,setOnNode:at}))}}class NodesLayer extends reactExports.PureComponent{render(){const{renderNode:$}=this.props,{layoutVertices:_e,renderUtils:et}=this.props.graphState;if(!_e||!$)return null;const{getClassName:tt,layerType:rt,setOnNode:at}=this.props,nt=rt===ELayerType.Html?HtmlLayer:SvgLayer;return reactExports.createElement(nt,Object.assign({},this.props,{classNamePart:"NodesLayer"}),reactExports.createElement(Nodes,{getClassName:tt,layerType:rt,layoutVertices:_e,renderNode:$,renderUtils:et,setOnNode:at}))}}class HtmlLayersGroup extends reactExports.PureComponent{renderLayers(){const{getClassName:$,layers:_e,graphState:et,setSizeVertices:tt}=this.props;return _e.map(rt=>{const{key:at,setOnContainer:nt}=rt;if(rt.measurable){const{renderNode:it,setOnNode:ot}=rt;return reactExports.createElement(MeasurableNodesLayer,{key:at,getClassName:$,graphState:et,layerType:ELayerType.Html,renderNode:it,senderKey:at,setOnContainer:nt,setOnNode:ot,setSizeVertices:tt})}if(rt.renderNode){const{renderNode:it,setOnNode:ot}=rt;return reactExports.createElement(NodesLayer,{key:at,getClassName:$,graphState:et,layerType:ELayerType.Html,renderNode:it,setOnContainer:nt,setOnNode:ot})}throw new Error("Not implemented")})}render(){return reactExports.createElement(HtmlLayer,Object.assign({topLayer:!0,classNamePart:"HtmlLayersGroup"},this.props),this.renderLayers())}}const classNameIsSmall$3=(()=>{function $(_e){const{k:et=1}=_e.zoomTransform||{};return et<=.29?{className:"is-small"}:null}return $})(),scaleProperty=(()=>{function et(tt){let rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.3,at=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,nt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.5;const it={style:{[tt]:at}},ot=`scale_${tt}`,st=getValueScaler({valueMax:at,valueMin:rt,expAdjuster:nt});return{[ot](ct){const{zoomTransform:ut}=ct;if(!ut)return it;const ft=st(ut.k);return{style:{[tt]:ft}}}}[ot]}return et.opacity=et("opacity"),et.strokeOpacity=et("strokeOpacity"),et.strokeOpacityStrong=et("strokeOpacity",.3,1,.75),et.strokeOpacityStrongest=et("strokeOpacity",.3,1,1),et})();function makeIriRef(o,$){return $&&`url(#${o.getGlobalId($)})`}const PATH_D_CMDS=["M","C"];function makePathD(o){const $=[],_e=PATH_D_CMDS.length;for(let et=0;etreactExports.createElement(SvgEdge,{key:`${nt.edge.from}\v${nt.edge.to}`,getClassName:$,layoutEdge:nt,markerEndId:et,markerStartId:tt,renderUtils:rt,setOnEdge:at}))}}const INHERIT_STROKE={stroke:"#000"};class SvgEdgesLayer extends reactExports.PureComponent{render(){const{getClassName:$,graphState:_e,markerEndId:et,markerStartId:tt,setOnEdge:rt}=this.props,{layoutEdges:at,renderUtils:nt}=_e;return at?reactExports.createElement(SvgLayer,Object.assign({},this.props,{classNamePart:"SvgEdgesLayer",extraWrapper:INHERIT_STROKE}),reactExports.createElement(SvgEdges,{getClassName:$,layoutEdges:at,markerEndId:et,markerStartId:tt,renderUtils:nt,setOnEdge:rt})):null}}class SvgLayersGroup extends reactExports.PureComponent{renderLayers(){const{getClassName:$,layers:_e,graphState:et}=this.props;return _e.map(tt=>{const{key:rt,setOnContainer:at}=tt;if(tt.edges)return reactExports.createElement(SvgEdgesLayer,{key:rt,getClassName:$,graphState:et,markerEndId:tt.markerEndId,markerStartId:tt.markerStartId,setOnContainer:at,setOnEdge:tt.setOnEdge});if(tt.measurable)throw new Error("Not implemented");return reactExports.createElement(NodesLayer,{key:rt,getClassName:$,graphState:et,layerType:ELayerType.Svg,renderNode:tt.renderNode,setOnContainer:at,setOnNode:tt.setOnNode})})}render(){return reactExports.createElement(SvgLayer,Object.assign({topLayer:!0},this.props,{classNamePart:"SvgLayersGroup"}),this.renderLayers())}}const resetZoomIcon=reactExports.createElement("svg",{fill:"currentColor",preserveAspectRatio:"xMidYMid meet",height:"1em",width:"1em",viewBox:"0 0 40 40"},reactExports.createElement("g",null,reactExports.createElement("path",{d:"m35 25v10h-10l3.8-3.8-4.8-4.8 2.4-2.4 4.8 4.8z m-20 10h-10v-10l3.8 3.8 4.8-4.8 2.4 2.4-4.8 4.8z m-10-20v-10h10l-3.8 3.8 4.8 4.8-2.4 2.4-4.8-4.8z m20-10h10v10l-3.8-3.8-4.8 4.8-2.4-2.4 4.8-4.8z"}))),LENGTH_TARGET_PX=80;function getMapSize(o){const{contentHeight:$,contentWidth:_e}=o;return $>_e?{height:LENGTH_TARGET_PX,width:LENGTH_TARGET_PX*_e/$}:{height:LENGTH_TARGET_PX*$/_e,width:LENGTH_TARGET_PX}}function getViewTransform(o,$){const{contentHeight:_e,contentWidth:et,viewportHeight:tt,viewportWidth:rt,k:at=1,x:nt=1,y:it=1}=o,{height:ot,width:st}=$,lt=_e*at,ct=et*at,ut=Math.max(-nt/ct,0),ft=Math.min((-nt+rt)/ct,1),At=Math.max(-it/lt,0),vt=Math.min((-it+tt)/lt,1);return{transform:` +`)===0?et.substr(1,et.length):et}).forEach(function(et){var tt=et.split(":"),rt=tt.shift().trim();if(rt){var at=tt.join(":").trim();$.append(rt,at)}}),$}Body.call(Request$1.prototype);function Response$1(o,$){if(!(this instanceof Response$1))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');$||($={}),this.type="default",this.status=$.status===void 0?200:$.status,this.ok=this.status>=200&&this.status<300,this.statusText=$.statusText===void 0?"":""+$.statusText,this.headers=new Headers$1($.headers),this.url=$.url||"",this._initBody(o)}Body.call(Response$1.prototype);Response$1.prototype.clone=function(){return new Response$1(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers$1(this.headers),url:this.url})};Response$1.error=function(){var o=new Response$1(null,{status:0,statusText:""});return o.type="error",o};var redirectStatuses=[301,302,303,307,308];Response$1.redirect=function(o,$){if(redirectStatuses.indexOf($)===-1)throw new RangeError("Invalid status code");return new Response$1(null,{status:$,headers:{location:o}})};var DOMException$1=global$6.DOMException;try{new DOMException$1}catch(o){DOMException$1=function($,_e){this.message=$,this.name=_e;var et=Error($);this.stack=et.stack},DOMException$1.prototype=Object.create(Error.prototype),DOMException$1.prototype.constructor=DOMException$1}function fetch$1(o,$){return new Promise(function(_e,et){var tt=new Request$1(o,$);if(tt.signal&&tt.signal.aborted)return et(new DOMException$1("Aborted","AbortError"));var rt=new XMLHttpRequest;function at(){rt.abort()}rt.onload=function(){var it={status:rt.status,statusText:rt.statusText,headers:parseHeaders(rt.getAllResponseHeaders()||"")};it.url="responseURL"in rt?rt.responseURL:it.headers.get("X-Request-URL");var ot="response"in rt?rt.response:rt.responseText;setTimeout(function(){_e(new Response$1(ot,it))},0)},rt.onerror=function(){setTimeout(function(){et(new TypeError("Network request failed"))},0)},rt.ontimeout=function(){setTimeout(function(){et(new TypeError("Network request failed"))},0)},rt.onabort=function(){setTimeout(function(){et(new DOMException$1("Aborted","AbortError"))},0)};function nt(it){try{return it===""&&global$6.location.href?global$6.location.href:it}catch(ot){return it}}rt.open(tt.method,nt(tt.url),!0),tt.credentials==="include"?rt.withCredentials=!0:tt.credentials==="omit"&&(rt.withCredentials=!1),"responseType"in rt&&(support.blob?rt.responseType="blob":support.arrayBuffer&&tt.headers.get("Content-Type")&&tt.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(rt.responseType="arraybuffer")),$&&typeof $.headers=="object"&&!($.headers instanceof Headers$1)?Object.getOwnPropertyNames($.headers).forEach(function(it){rt.setRequestHeader(it,normalizeValue($.headers[it]))}):tt.headers.forEach(function(it,ot){rt.setRequestHeader(ot,it)}),tt.signal&&(tt.signal.addEventListener("abort",at),rt.onreadystatechange=function(){rt.readyState===4&&tt.signal.removeEventListener("abort",at)}),rt.send(typeof tt._bodyInit>"u"?null:tt._bodyInit)})}fetch$1.polyfill=!0;global$6.fetch||(global$6.fetch=fetch$1,global$6.Headers=Headers$1,global$6.Request=Request$1,global$6.Response=Response$1);var fetchNpmBrowserify=self.fetch.bind(self);function getMessageFromError(o,$){if(o.code!=null&&o.msg!=null)return o.code===$?o.msg:`${o.code} - ${o.msg}`;try{return JSON.stringify(o)}catch(_e){return String(o)}}function getJSON(o,$={}){const{query:_e=null,...et}=$;et.credentials="same-origin";let tt="";return _e&&(tt=`?${typeof _e=="string"?_e:queryString.stringify(_e)}`),fetchNpmBrowserify(`${o}${tt}`,et).then(rt=>rt.status<400?rt.json():rt.text().then(at=>{let nt,it,ot;try{nt=JSON.parse(at),it=JSON.stringify(nt,null,2)}catch(lt){nt=null,it=null}nt&&Array.isArray(nt.errors)&&nt.errors.length?ot=nt.errors.map(lt=>getMessageFromError(lt,rt.status)).join("; "):ot=at||`${rt.status} - ${rt.statusText}`,typeof ot=="string"&&(ot=ot.trim());const st=new Error(`HTTP Error: ${ot}`);throw st.httpStatus=rt.status,st.httpStatusText=rt.statusText,st.httpBody=it||at,st.httpUrl=o,st.httpQuery=typeof _e=="string"?_e:queryString.stringify(_e),st}))}const DEFAULT_API_ROOT=isString$6(window.apiBaseUrl)?`${window.apiBaseUrl}/api/`:prefixUrl("/api/"),ANALYTICS_ROOT=prefixUrl("/analytics/"),DEFAULT_DEPENDENCY_LOOKBACK=hooks$1.duration(1,"weeks").asMilliseconds(),JaegerAPI={apiRoot:DEFAULT_API_ROOT,archiveTrace(o){return getJSON(`${this.apiRoot}archive/${o}`,{method:"POST"})},fetchDecoration(o){return getJSON(o)},fetchDeepDependencyGraph(o){return getJSON(`${ANALYTICS_ROOT}v1/dependencies`,{query:o})},fetchDependencies(o=new Date().getTime(),$=DEFAULT_DEPENDENCY_LOOKBACK){return getJSON(`${this.apiRoot}dependencies`,{query:{endTs:o,lookback:$}})},fetchQualityMetrics(o,$){return getJSON("/qualitymetrics-v2",{query:{hours:$,service:o}})},fetchServiceOperations(o){return getJSON(`${this.apiRoot}services/${encodeURIComponent(o)}/operations`)},fetchServiceServerOps(o){return getJSON(`${this.apiRoot}operations`,{query:{service:o,spanKind:"server"}})},fetchServices(){return getJSON(`${this.apiRoot}services`)},fetchTrace(o){return getJSON(`${this.apiRoot}traces/${o}`)},searchTraces(o){return getJSON(`${this.apiRoot}traces`,{query:o})},fetchMetrics(o,$,_e){const et=$.map(tt=>`service=${tt}`).join(",");return getJSON(`${this.apiRoot}metrics/${o}`,{query:`${et}&${queryString.stringify(_e)}`}).then(tt=>({...tt,quantile:_e.quantile}))}},metricType={latencies:"latencies",calls:"calls",errors:"errors"};function allSettled(o){const $=o.map(_e=>Promise.resolve(_e).then(et=>({status:"fulfilled",value:et}),et=>({status:"rejected",reason:et})));return Promise.all($)}const fetchTrace=createAction("@JAEGER_API/FETCH_TRACE",o=>JaegerAPI.fetchTrace(o),o=>({id:o})),fetchMultipleTraces=createAction("@JAEGER_API/FETCH_MULTIPLE_TRACES",o=>JaegerAPI.searchTraces({traceID:o}),o=>({ids:o})),archiveTrace=createAction("@JAEGER_API/ARCHIVE_TRACE",o=>JaegerAPI.archiveTrace(o),o=>({id:o})),searchTraces=createAction("@JAEGER_API/SEARCH_TRACES",o=>JaegerAPI.searchTraces(o),o=>({query:o})),fetchServices=createAction("@JAEGER_API/FETCH_SERVICES",()=>JaegerAPI.fetchServices()),fetchServiceOperations=createAction("@JAEGER_API/FETCH_SERVICE_OPERATIONS",o=>JaegerAPI.fetchServiceOperations(o),o=>({serviceName:o})),fetchServiceServerOps=createAction("@JAEGER_API/FETCH_SERVICE_SERVER_OP",o=>JaegerAPI.fetchServiceServerOps(o),o=>({serviceName:o})),fetchDeepDependencyGraph=createAction("@JAEGER_API/FETCH_DEEP_DEPENDENCY_GRAPH",o=>JaegerAPI.fetchDeepDependencyGraph(o),o=>({query:o})),fetchDependencies=createAction("@JAEGER_API/FETCH_DEPENDENCIES",()=>JaegerAPI.fetchDependencies()),fetchAllServiceMetrics=createAction("@JAEGER_API/FETCH_ALL_SERVICE_METRICS",(o,$)=>allSettled([JaegerAPI.fetchMetrics(metricType.latencies,[o],{...$,quantile:.5}),JaegerAPI.fetchMetrics(metricType.latencies,[o],{...$,quantile:.75}),JaegerAPI.fetchMetrics(metricType.latencies,[o],$),JaegerAPI.fetchMetrics(metricType.calls,[o],$),JaegerAPI.fetchMetrics(metricType.errors,[o],$)])),fetchAggregatedServiceMetrics=createAction("@JAEGER_API/FETCH_AGGREGATED_SERVICE_METRICS",(o,$)=>{const _e={...$,groupByOperation:!0};return allSettled([JaegerAPI.fetchMetrics(metricType.latencies,[o],_e),JaegerAPI.fetchMetrics(metricType.calls,[o],_e),JaegerAPI.fetchMetrics(metricType.errors,[o],_e)])}),jaegerApiActions=Object.freeze(Object.defineProperty({__proto__:null,allSettled,archiveTrace,fetchAggregatedServiceMetrics,fetchAllServiceMetrics,fetchDeepDependencyGraph,fetchDependencies,fetchMultipleTraces,fetchServiceOperations,fetchServiceServerOps,fetchServices,fetchTrace,searchTraces},Symbol.toStringTag,{value:"Module"}));var NOT_FOUND="NOT_FOUND";function createSingletonCache(o){var $;return{get:function(et){return $&&o($.key,et)?$.value:NOT_FOUND},put:function(et,tt){$={key:et,value:tt}},getEntries:function(){return $?[$]:[]},clear:function(){$=void 0}}}function createLruCache(o,$){var _e=[];function et(nt){var it=_e.findIndex(function(st){return $(nt,st.key)});if(it>-1){var ot=_e[it];return it>0&&(_e.splice(it,1),_e.unshift(ot)),ot.value}return NOT_FOUND}function tt(nt,it){et(nt)===NOT_FOUND&&(_e.unshift({key:nt,value:it}),_e.length>o&&_e.pop())}function rt(){return _e}function at(){_e=[]}return{get:et,put:tt,getEntries:rt,clear:at}}var defaultEqualityCheck=function($,_e){return $===_e};function createCacheKeyComparator(o){return function(_e,et){if(_e===null||et===null||_e.length!==et.length)return!1;for(var tt=_e.length,rt=0;rt1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];var tt=function(){for(var at=arguments.length,nt=new Array(at),it=0;ito,o=>{const $=o.reduce((tt,rt)=>{const{nodeMap:at}=tt;let{links:nt}=tt;return at[rt.parent]=at[rt.parent]?at[rt.parent]+rt.callCount:rt.callCount,at[rt.child]=at[rt.child]?tt.nodeMap[rt.child]+rt.callCount:rt.callCount,rt.parent!==rt.child&&(nt=nt.concat([{source:rt.parent,target:rt.child,callCount:rt.callCount,value:Math.max(Math.sqrt(rt.callCount/1e4),1),target_node_size:Math.max(Math.log(at[rt.child]/1e3),3)}])),{nodeMap:at,links:nt}},{nodeMap:{},links:[]});$.nodes=Object.keys($.nodeMap).map(tt=>({callCount:$.nodeMap[tt],radius:Math.max(Math.log($.nodeMap[tt]/1e3),3),orphan:$.links.findIndex(rt=>tt===rt.source||tt===rt.target)===-1,id:tt}));const{nodes:_e,links:et}=$;return{nodes:_e,links:et}}),index$H="",TabPane$1=Tabs.TabPane,GRAPH_TYPES={FORCE_DIRECTED:{type:"FORCE_DIRECTED",name:"Force Directed Graph"},DAG:{type:"DAG",name:"DAG"}},dagMaxNumServices=getConfigValue("dependencies.dagMaxNumServices")||FALLBACK_DAG_MAX_NUM_SERVICES;class DependencyGraphPageImpl extends reactExports.Component{constructor(_e){super(_e);Mu(this,"handleGraphTypeChange",_e=>this.setState({graphType:_e}));this.state={graphType:"FORCE_DIRECTED"}}componentDidMount(){this.props.fetchDependencies()}render(){const{nodes:_e,links:et,error:tt,dependencies:rt,loading:at}=this.props,{graphType:nt}=this.state;if(at)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});if(tt)return jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-m3",error:tt});if(!_e||!et)return jsxRuntimeExports.jsx("div",{className:"u-simple-card ub-m3",children:"No service dependencies found."});const it=[GRAPH_TYPES.FORCE_DIRECTED];return rt.length<=dagMaxNumServices&&it.push(GRAPH_TYPES.DAG),jsxRuntimeExports.jsx(Tabs,{onChange:this.handleGraphTypeChange,activeKey:nt,type:"card",tabBarStyle:{background:"#f5f5f5",padding:"1rem 1rem 0 1rem"},children:it.map(ot=>jsxRuntimeExports.jsx(TabPane$1,{className:"ub-relelative",tab:ot.name,children:jsxRuntimeExports.jsxs("div",{className:"DependencyGraph--graphWrapper",children:[ot.type==="FORCE_DIRECTED"&&jsxRuntimeExports.jsx(DependencyForceGraph,{nodes:_e,links:et}),ot.type==="DAG"&&jsxRuntimeExports.jsx(DAG,{serviceCalls:rt})]})},ot.type))})}}Mu(DependencyGraphPageImpl,"propTypes",{dependencies:propTypesExports.any.isRequired,fetchDependencies:propTypesExports.func.isRequired,nodes:nodesPropTypes,links:linksPropTypes,loading:propTypesExports.bool.isRequired,error:propTypesExports.object}),Mu(DependencyGraphPageImpl,"defaultProps",{nodes:null,links:null,error:null});function mapStateToProps$b(o){const{dependencies:$,error:_e,loading:et}=o.dependencies;let tt,rt;if($&&$.length>0){const at=formatDependenciesAsNodesAndLinks({dependencies:$});tt=at.links,rt=at.nodes}return{loading:et,error:_e,nodes:rt,links:tt,dependencies:$}}function mapDispatchToProps$b(o){const{fetchDependencies:$}=bindActionCreators(jaegerApiActions,o);return{fetchDependencies:$}}const DependencyGraph=connect$3(mapStateToProps$b,mapDispatchToProps$b)(DependencyGraphPageImpl);var debounce$1=debounce_1,isObject$6=isObject_1,FUNC_ERROR_TEXT="Expected a function";function throttle(o,$,_e){var et=!0,tt=!0;if(typeof o!="function")throw new TypeError(FUNC_ERROR_TEXT);return isObject$6(_e)&&(et="leading"in _e?!!_e.leading:et,tt="trailing"in _e?!!_e.trailing:tt),debounce$1(o,$,{leading:et,maxWait:$,trailing:tt})}var throttle_1=throttle;const ACTION_FILTER_SET="set",ACTION_FILTER_CLEAR="clear",getTrackFilterSet=o=>throttle_1(trackEvent.bind(null,o,ACTION_FILTER_SET),750,{leading:!1}),getTrackFilterClear=o=>throttle_1(trackEvent.bind(null,o,ACTION_FILTER_CLEAR),750,{leading:!1});function getTrackFilter(o){const $=getTrackFilterSet(o),_e=getTrackFilterClear(o);return et=>et?$():_e()}const CATEGORY_DENSITY_CHANGE="jaeger/ux/ddg/density-change",CATEGORY_DENSITY_SELECTION="jaeger/ux/ddg/density-selection",CATEGORY_DOWNSTREAM_HOPS_CHANGE="jaeger/ux/ddg/downstream-hops-change",CATEGORY_DOWNSTREAM_HOPS_SELECTION="jaeger/ux/ddg/downstream-hops-selection",CATEGORY_FILTER$1="jaeger/ux/ddg/filter",CATEGORY_MATCH_INTERACTIONS$1="jaeger/ux/ddg/match-interactions",CATEGORY_SEARCH="jaeger/ux/ddg/search",CATEGORY_TOGGLE_SHOW_OP="jaeger/ux/ddg/toggle-show-op",CATEGORY_UPSTREAM_HOPS_CHANGE="jaeger/ux/ddg/upstream-hops-change",CATEGORY_UPSTREAM_HOPS_SELECTION="jaeger/ux/ddg/upstream-hops-selection",CATEGORY_VERTEX_INTERACTIONS="jaeger/ux/ddg/vertex-interactions",ACTION_CLEAR_OPERATION="clear-operation",ACTION_DECREASE="decrease",ACTION_FOCUS_PATHS="focus-paths",ACTION_HIDE="hide",ACTION_HIDE_CHILDREN="hide-children",ACTION_HIDE_PARENTS="hide-parents",ACTION_INCREASE="increase",ACTION_SET_FOCUS="set-focus",ACTION_SET_OPERATION="set-operation",ACTION_SET_SERVICE="set-service",ACTION_SHOW="show",ACTION_SHOW_CHILDREN="show-children",ACTION_SHOW_PARENTS="show-parents",ACTION_VIEW_TRACES="view-traces";function trackClearOperation(){trackEvent(CATEGORY_SEARCH,ACTION_CLEAR_OPERATION)}function trackDensityChange(o,$,_e){if(o===$)return;let et,tt;if(_e.forEach(({option:at},nt)=>{at===o&&(et=nt),at===$&&(tt=nt)}),et===void 0&&console.warn(`Received unknown density ${o}`),tt===void 0){console.warn(`Received unknown density ${$}`);return}if(et===void 0)return;const rt=et>tt?ACTION_INCREASE:ACTION_DECREASE;trackEvent(CATEGORY_DENSITY_CHANGE,rt),trackEvent(CATEGORY_DENSITY_SELECTION,$)}const trackFilter$1=getTrackFilter(CATEGORY_FILTER$1);function trackFocusPaths(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_FOCUS_PATHS)}function trackHeaderSetOperation(){trackEvent(CATEGORY_SEARCH,ACTION_SET_OPERATION)}function trackHide(o){o?o===EDirection.Upstream?trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE_PARENTS):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE_CHILDREN):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE)}function trackHopChange(o,$,_e){if(o===$)return;const et=Math.abs($)>Math.abs(o)?ACTION_INCREASE:ACTION_DECREASE,[tt,rt]=_e===EDirection.Upstream?[CATEGORY_UPSTREAM_HOPS_SELECTION,CATEGORY_UPSTREAM_HOPS_CHANGE]:[CATEGORY_DOWNSTREAM_HOPS_SELECTION,CATEGORY_DOWNSTREAM_HOPS_CHANGE];trackEvent(tt,`${$}`),trackEvent(rt,et)}function trackShow(o){o===EDirection.Upstream?trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SHOW_PARENTS):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SHOW_CHILDREN)}function trackSetFocus(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SET_FOCUS)}function trackSetService(){trackEvent(CATEGORY_SEARCH,ACTION_SET_SERVICE)}function trackShowMatches(){trackEvent(CATEGORY_MATCH_INTERACTIONS$1,ACTION_SHOW)}function trackToggleShowOp(o){trackEvent(CATEGORY_TOGGLE_SHOW_OP,o?ACTION_SHOW:ACTION_HIDE)}function trackVertexSetOperation(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SET_OPERATION)}function trackViewTraces$1(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_VIEW_TRACES)}function makeCacheScope(){const o=new Map;return function(_e,et){const tt=o.get(_e);return tt||(o.set(_e,et),et)}}const defaultScope=Object.assign(makeCacheScope(),{makeScope:makeCacheScope});function reduce$1(o,$){let{className:_e,style:et,...tt}=o;const{className:rt,style:at,...nt}=$;return rt&&(_e=_e?`${_e} ${rt}`:rt),at&&typeof at=="object"&&(et=et?{...et,...at}:at),{className:_e,style:et,...tt,...nt}}function assignMergeCss$1(){for(var o=arguments.length,$=new Array(o),_e=0;_e1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];if(!o)return{};const rt=(Array.isArray(o)?o:[o]).map(at=>typeof at=="function"?at(..._e)||{}:at);return assignMergeCss$1(...rt)}const getValueScaler=(()=>{const o={expAdjuster:.5,factorMax:1,factorMin:0,valueMax:1,valueMin:.3};function $(){let _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{expAdjuster:et,factorMax:tt,factorMin:rt,valueMax:at,valueMin:nt}={...o,..._e};return function(ot){return ot>=tt?at:ot<=rt?nt:nt+((ot-rt)/(tt-rt))**et*(at-nt)}}return $})();function isSamePropSetter(o,$){return Array.isArray(o)?!Array.isArray($)||o.length!==$.length?!1:!o.some((_e,et)=>_e!==$[et]):o===$}var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(o){var $=o+="",_e=$.indexOf(":");return _e>=0&&($=o.slice(0,_e))!=="xmlns"&&(o=o.slice(_e+1)),namespaces.hasOwnProperty($)?{space:namespaces[$],local:o}:o}function creatorInherit(o){return function(){var $=this.ownerDocument,_e=this.namespaceURI;return _e===xhtml&&$.documentElement.namespaceURI===xhtml?$.createElement(o):$.createElementNS(_e,o)}}function creatorFixed(o){return function(){return this.ownerDocument.createElementNS(o.space,o.local)}}function creator(o){var $=namespace(o);return($.local?creatorFixed:creatorInherit)($)}function none$2(){}function selector(o){return o==null?none$2:function(){return this.querySelector(o)}}function selection_select(o){typeof o!="function"&&(o=selector(o));for(var $=this._groups,_e=$.length,et=new Array(_e),tt=0;tt<_e;++tt)for(var rt=$[tt],at=rt.length,nt=et[tt]=new Array(at),it,ot,st=0;st=bt&&(bt=mt+1);!(xt=vt[bt])&&++bt=0;)(at=et[tt])&&(rt&&at.compareDocumentPosition(rt)^4&&rt.parentNode.insertBefore(at,rt),rt=at);return this}function selection_sort(o){o||(o=ascending$3);function $(lt,ct){return lt&&ct?o(lt.__data__,ct.__data__):!lt-!ct}for(var _e=this._groups,et=_e.length,tt=new Array(et),rt=0;rt$?1:o>=$?0:NaN}function selection_call(){var o=arguments[0];return arguments[0]=this,o.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){for(var o=this._groups,$=0,_e=o.length;$<_e;++$)for(var et=o[$],tt=0,rt=et.length;tt1?this.each(($==null?styleRemove$1:typeof $=="function"?styleFunction$1:styleConstant$1)(o,$,_e==null?"":_e)):styleValue(this.node(),o)}function styleValue(o,$){return o.style.getPropertyValue($)||defaultView(o).getComputedStyle(o,null).getPropertyValue($)}function propertyRemove(o){return function(){delete this[o]}}function propertyConstant(o,$){return function(){this[o]=$}}function propertyFunction(o,$){return function(){var _e=$.apply(this,arguments);_e==null?delete this[o]:this[o]=_e}}function selection_property(o,$){return arguments.length>1?this.each(($==null?propertyRemove:typeof $=="function"?propertyFunction:propertyConstant)(o,$)):this.node()[o]}function classArray(o){return o.trim().split(/^|\s+/)}function classList(o){return o.classList||new ClassList(o)}function ClassList(o){this._node=o,this._names=classArray(o.getAttribute("class")||"")}ClassList.prototype={add:function(o){var $=this._names.indexOf(o);$<0&&(this._names.push(o),this._node.setAttribute("class",this._names.join(" ")))},remove:function(o){var $=this._names.indexOf(o);$>=0&&(this._names.splice($,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(o){return this._names.indexOf(o)>=0}};function classedAdd(o,$){for(var _e=classList(o),et=-1,tt=$.length;++et=0&&(_e=$.slice(et+1),$=$.slice(0,et)),{type:$,name:_e}})}function onRemove(o){return function(){var $=this.__on;if($){for(var _e=0,et=-1,tt=$.length,rt;_e{}};function dispatch(){for(var o=0,$=arguments.length,_e={},et;o<$;++o){if(!(et=arguments[o]+"")||et in _e||/[\s.]/.test(et))throw new Error("illegal type: "+et);_e[et]=[]}return new Dispatch$1(_e)}function Dispatch$1(o){this._=o}function parseTypenames(o,$){return o.trim().split(/^|\s+/).map(function(_e){var et="",tt=_e.indexOf(".");if(tt>=0&&(et=_e.slice(tt+1),_e=_e.slice(0,tt)),_e&&!$.hasOwnProperty(_e))throw new Error("unknown type: "+_e);return{type:_e,name:et}})}Dispatch$1.prototype=dispatch.prototype={constructor:Dispatch$1,on:function(o,$){var _e=this._,et=parseTypenames(o+"",_e),tt,rt=-1,at=et.length;if(arguments.length<2){for(;++rt0)for(var _e=new Array(tt),et=0,tt,rt;et>8&15|$>>4&240,$>>4&15|$&240,($&15)<<4|$&15,1):_e===8?rgba$2($>>24&255,$>>16&255,$>>8&255,($&255)/255):_e===4?rgba$2($>>12&15|$>>8&240,$>>8&15|$>>4&240,$>>4&15|$&240,(($&15)<<4|$&15)/255):null):($=reRgbInteger$2.exec(o))?new Rgb$2($[1],$[2],$[3],1):($=reRgbPercent$2.exec(o))?new Rgb$2($[1]*255/100,$[2]*255/100,$[3]*255/100,1):($=reRgbaInteger$2.exec(o))?rgba$2($[1],$[2],$[3],$[4]):($=reRgbaPercent$2.exec(o))?rgba$2($[1]*255/100,$[2]*255/100,$[3]*255/100,$[4]):($=reHslPercent$2.exec(o))?hsla$2($[1],$[2]/100,$[3]/100,1):($=reHslaPercent$2.exec(o))?hsla$2($[1],$[2]/100,$[3]/100,$[4]):named$2.hasOwnProperty(o)?rgbn$2(named$2[o]):o==="transparent"?new Rgb$2(NaN,NaN,NaN,0):null}function rgbn$2(o){return new Rgb$2(o>>16&255,o>>8&255,o&255,1)}function rgba$2(o,$,_e,et){return et<=0&&(o=$=_e=NaN),new Rgb$2(o,$,_e,et)}function rgbConvert$2(o){return o instanceof Color$2||(o=color$2(o)),o?(o=o.rgb(),new Rgb$2(o.r,o.g,o.b,o.opacity)):new Rgb$2}function rgb$3(o,$,_e,et){return arguments.length===1?rgbConvert$2(o):new Rgb$2(o,$,_e,et==null?1:et)}function Rgb$2(o,$,_e,et){this.r=+o,this.g=+$,this.b=+_e,this.opacity=+et}define$2(Rgb$2,rgb$3,extend$2(Color$2,{brighter(o){return o=o==null?brighter$2:Math.pow(brighter$2,o),new Rgb$2(this.r*o,this.g*o,this.b*o,this.opacity)},darker(o){return o=o==null?darker$2:Math.pow(darker$2,o),new Rgb$2(this.r*o,this.g*o,this.b*o,this.opacity)},rgb(){return this},clamp(){return new Rgb$2(clampi$1(this.r),clampi$1(this.g),clampi$1(this.b),clampa$1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex$1,formatHex:rgb_formatHex$1,formatHex8:rgb_formatHex8$1,formatRgb:rgb_formatRgb$1,toString:rgb_formatRgb$1}));function rgb_formatHex$1(){return`#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}`}function rgb_formatHex8$1(){return`#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}${hex$2((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb$1(){const o=clampa$1(this.opacity);return`${o===1?"rgb(":"rgba("}${clampi$1(this.r)}, ${clampi$1(this.g)}, ${clampi$1(this.b)}${o===1?")":`, ${o})`}`}function clampa$1(o){return isNaN(o)?1:Math.max(0,Math.min(1,o))}function clampi$1(o){return Math.max(0,Math.min(255,Math.round(o)||0))}function hex$2(o){return o=clampi$1(o),(o<16?"0":"")+o.toString(16)}function hsla$2(o,$,_e,et){return et<=0?o=$=_e=NaN:_e<=0||_e>=1?o=$=NaN:$<=0&&(o=NaN),new Hsl$2(o,$,_e,et)}function hslConvert$2(o){if(o instanceof Hsl$2)return new Hsl$2(o.h,o.s,o.l,o.opacity);if(o instanceof Color$2||(o=color$2(o)),!o)return new Hsl$2;if(o instanceof Hsl$2)return o;o=o.rgb();var $=o.r/255,_e=o.g/255,et=o.b/255,tt=Math.min($,_e,et),rt=Math.max($,_e,et),at=NaN,nt=rt-tt,it=(rt+tt)/2;return nt?($===rt?at=(_e-et)/nt+(_e0&&it<1?0:at,new Hsl$2(at,nt,it,o.opacity)}function hsl$2(o,$,_e,et){return arguments.length===1?hslConvert$2(o):new Hsl$2(o,$,_e,et==null?1:et)}function Hsl$2(o,$,_e,et){this.h=+o,this.s=+$,this.l=+_e,this.opacity=+et}define$2(Hsl$2,hsl$2,extend$2(Color$2,{brighter(o){return o=o==null?brighter$2:Math.pow(brighter$2,o),new Hsl$2(this.h,this.s,this.l*o,this.opacity)},darker(o){return o=o==null?darker$2:Math.pow(darker$2,o),new Hsl$2(this.h,this.s,this.l*o,this.opacity)},rgb(){var o=this.h%360+(this.h<0)*360,$=isNaN(o)||isNaN(this.s)?0:this.s,_e=this.l,et=_e+(_e<.5?_e:1-_e)*$,tt=2*_e-et;return new Rgb$2(hsl2rgb$2(o>=240?o-240:o+120,tt,et),hsl2rgb$2(o,tt,et),hsl2rgb$2(o<120?o+240:o-120,tt,et),this.opacity)},clamp(){return new Hsl$2(clamph$1(this.h),clampt$1(this.s),clampt$1(this.l),clampa$1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const o=clampa$1(this.opacity);return`${o===1?"hsl(":"hsla("}${clamph$1(this.h)}, ${clampt$1(this.s)*100}%, ${clampt$1(this.l)*100}%${o===1?")":`, ${o})`}`}}));function clamph$1(o){return o=(o||0)%360,o<0?o+360:o}function clampt$1(o){return Math.max(0,Math.min(1,o||0))}function hsl2rgb$2(o,$,_e){return(o<60?$+(_e-$)*o/60:o<180?_e:o<240?$+(_e-$)*(240-o)/60:$)*255}const constant$7=o=>()=>o;function linear$2(o,$){return function(_e){return o+_e*$}}function exponential$1(o,$,_e){return o=Math.pow(o,_e),$=Math.pow($,_e)-o,_e=1/_e,function(et){return Math.pow(o+et*$,_e)}}function gamma$1(o){return(o=+o)==1?nogamma$1:function($,_e){return _e-$?exponential$1($,_e,o):constant$7(isNaN($)?_e:$)}}function nogamma$1(o,$){var _e=$-o;return _e?linear$2(o,_e):constant$7(isNaN(o)?$:o)}const interpolateRgb=function o($){var _e=gamma$1($);function et(tt,rt){var at=_e((tt=rgb$3(tt)).r,(rt=rgb$3(rt)).r),nt=_e(tt.g,rt.g),it=_e(tt.b,rt.b),ot=nogamma$1(tt.opacity,rt.opacity);return function(st){return tt.r=at(st),tt.g=nt(st),tt.b=it(st),tt.opacity=ot(st),tt+""}}return et.gamma=o,et}(1);function interpolateNumber(o,$){return o=+o,$=+$,function(_e){return o*(1-_e)+$*_e}}var reA$1=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB$1=new RegExp(reA$1.source,"g");function zero$1(o){return function(){return o}}function one$1(o){return function($){return o($)+""}}function interpolateString(o,$){var _e=reA$1.lastIndex=reB$1.lastIndex=0,et,tt,rt,at=-1,nt=[],it=[];for(o=o+"",$=$+"";(et=reA$1.exec(o))&&(tt=reB$1.exec($));)(rt=tt.index)>_e&&(rt=$.slice(_e,rt),nt[at]?nt[at]+=rt:nt[++at]=rt),(et=et[0])===(tt=tt[0])?nt[at]?nt[at]+=tt:nt[++at]=tt:(nt[++at]=null,it.push({i:at,x:interpolateNumber(et,tt)})),_e=reB$1.lastIndex;return _e<$.length&&(rt=$.slice(_e),nt[at]?nt[at]+=rt:nt[++at]=rt),nt.length<2?it[0]?one$1(it[0].x):zero$1($):($=it.length,function(ot){for(var st=0,lt;st<$;++st)nt[(lt=it[st]).i]=lt.x(ot);return nt.join("")})}var degrees=180/Math.PI,identity$5={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(o,$,_e,et,tt,rt){var at,nt,it;return(at=Math.sqrt(o*o+$*$))&&(o/=at,$/=at),(it=o*_e+$*et)&&(_e-=o*it,et-=$*it),(nt=Math.sqrt(_e*_e+et*et))&&(_e/=nt,et/=nt,it/=nt),o*et<$*_e&&(o=-o,$=-$,it=-it,at=-at),{translateX:tt,translateY:rt,rotate:Math.atan2($,o)*degrees,skewX:Math.atan(it)*degrees,scaleX:at,scaleY:nt}}var svgNode;function parseCss(o){const $=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(o+"");return $.isIdentity?identity$5:decompose($.a,$.b,$.c,$.d,$.e,$.f)}function parseSvg(o){return o==null||(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",o),!(o=svgNode.transform.baseVal.consolidate()))?identity$5:(o=o.matrix,decompose(o.a,o.b,o.c,o.d,o.e,o.f))}function interpolateTransform(o,$,_e,et){function tt(ot){return ot.length?ot.pop()+" ":""}function rt(ot,st,lt,ct,ut,ft){if(ot!==lt||st!==ct){var At=ut.push("translate(",null,$,null,_e);ft.push({i:At-4,x:interpolateNumber(ot,lt)},{i:At-2,x:interpolateNumber(st,ct)})}else(lt||ct)&&ut.push("translate("+lt+$+ct+_e)}function at(ot,st,lt,ct){ot!==st?(ot-st>180?st+=360:st-ot>180&&(ot+=360),ct.push({i:lt.push(tt(lt)+"rotate(",null,et)-2,x:interpolateNumber(ot,st)})):st&<.push(tt(lt)+"rotate("+st+et)}function nt(ot,st,lt,ct){ot!==st?ct.push({i:lt.push(tt(lt)+"skewX(",null,et)-2,x:interpolateNumber(ot,st)}):st&<.push(tt(lt)+"skewX("+st+et)}function it(ot,st,lt,ct,ut,ft){if(ot!==lt||st!==ct){var At=ut.push(tt(ut)+"scale(",null,",",null,")");ft.push({i:At-4,x:interpolateNumber(ot,lt)},{i:At-2,x:interpolateNumber(st,ct)})}else(lt!==1||ct!==1)&&ut.push(tt(ut)+"scale("+lt+","+ct+")")}return function(ot,st){var lt=[],ct=[];return ot=o(ot),st=o(st),rt(ot.translateX,ot.translateY,st.translateX,st.translateY,lt,ct),at(ot.rotate,st.rotate,lt,ct),nt(ot.skewX,st.skewX,lt,ct),it(ot.scaleX,ot.scaleY,st.scaleX,st.scaleY,lt,ct),ot=st=null,function(ut){for(var ft=-1,At=ct.length,vt;++ft=0&&o._call.call(void 0,$),o=o._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var o=clock.now(),$=o-clockLast;$>pokeDelay&&(clockSkew-=$,clockLast=o)}function nap(){for(var o,$=taskHead,_e,et=1/0;$;)$._call?(et>$._time&&(et=$._time),o=$,$=$._next):(_e=$._next,$._next=null,$=o?o._next=_e:taskHead=_e);taskTail=o,sleep(et)}function sleep(o){if(!frame){timeout$1&&(timeout$1=clearTimeout(timeout$1));var $=o-clockNow;$>24?(o<1/0&&(timeout$1=setTimeout(wake,o-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake))}}function timeout(o,$,_e){var et=new Timer;return $=$==null?0:+$,et.restart(tt=>{et.stop(),o(tt+$)},$,_e),et}var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(o,$,_e,et,tt,rt){var at=o.__transition;if(!at)o.__transition={};else if(_e in at)return;create$2(o,_e,{name:$,index:et,group:tt,on:emptyOn,tween:emptyTween,time:rt.time,delay:rt.delay,duration:rt.duration,ease:rt.ease,timer:null,state:CREATED})}function init(o,$){var _e=get(o,$);if(_e.state>CREATED)throw new Error("too late; already scheduled");return _e}function set$1(o,$){var _e=get(o,$);if(_e.state>STARTED)throw new Error("too late; already running");return _e}function get(o,$){var _e=o.__transition;if(!_e||!(_e=_e[$]))throw new Error("transition not found");return _e}function create$2(o,$,_e){var et=o.__transition,tt;et[$]=_e,_e.timer=timer(rt,0,_e.time);function rt(ot){_e.state=SCHEDULED,_e.timer.restart(at,_e.delay,_e.time),_e.delay<=ot&&at(ot-_e.delay)}function at(ot){var st,lt,ct,ut;if(_e.state!==SCHEDULED)return it();for(st in et)if(ut=et[st],ut.name===_e.name){if(ut.state===STARTED)return timeout(at);ut.state===RUNNING?(ut.state=ENDED,ut.timer.stop(),ut.on.call("interrupt",o,o.__data__,ut.index,ut.group),delete et[st]):+st<$&&(ut.state=ENDED,ut.timer.stop(),ut.on.call("cancel",o,o.__data__,ut.index,ut.group),delete et[st])}if(timeout(function(){_e.state===STARTED&&(_e.state=RUNNING,_e.timer.restart(nt,_e.delay,_e.time),nt(ot))}),_e.state=STARTING,_e.on.call("start",o,o.__data__,_e.index,_e.group),_e.state===STARTING){for(_e.state=STARTED,tt=new Array(ct=_e.tween.length),st=0,lt=-1;stSTARTING&&et.state>8&15|$>>4&240,$>>4&15|$&240,($&15)<<4|$&15,1):_e===8?rgba$1($>>24&255,$>>16&255,$>>8&255,($&255)/255):_e===4?rgba$1($>>12&15|$>>8&240,$>>8&15|$>>4&240,$>>4&15|$&240,(($&15)<<4|$&15)/255):null):($=reRgbInteger$1.exec(o))?new Rgb$1($[1],$[2],$[3],1):($=reRgbPercent$1.exec(o))?new Rgb$1($[1]*255/100,$[2]*255/100,$[3]*255/100,1):($=reRgbaInteger$1.exec(o))?rgba$1($[1],$[2],$[3],$[4]):($=reRgbaPercent$1.exec(o))?rgba$1($[1]*255/100,$[2]*255/100,$[3]*255/100,$[4]):($=reHslPercent$1.exec(o))?hsla$1($[1],$[2]/100,$[3]/100,1):($=reHslaPercent$1.exec(o))?hsla$1($[1],$[2]/100,$[3]/100,$[4]):named$1.hasOwnProperty(o)?rgbn$1(named$1[o]):o==="transparent"?new Rgb$1(NaN,NaN,NaN,0):null}function rgbn$1(o){return new Rgb$1(o>>16&255,o>>8&255,o&255,1)}function rgba$1(o,$,_e,et){return et<=0&&(o=$=_e=NaN),new Rgb$1(o,$,_e,et)}function rgbConvert$1(o){return o instanceof Color$1||(o=color$1(o)),o?(o=o.rgb(),new Rgb$1(o.r,o.g,o.b,o.opacity)):new Rgb$1}function rgb$2(o,$,_e,et){return arguments.length===1?rgbConvert$1(o):new Rgb$1(o,$,_e,et==null?1:et)}function Rgb$1(o,$,_e,et){this.r=+o,this.g=+$,this.b=+_e,this.opacity=+et}define$1(Rgb$1,rgb$2,extend$1(Color$1,{brighter(o){return o=o==null?brighter$1:Math.pow(brighter$1,o),new Rgb$1(this.r*o,this.g*o,this.b*o,this.opacity)},darker(o){return o=o==null?darker$1:Math.pow(darker$1,o),new Rgb$1(this.r*o,this.g*o,this.b*o,this.opacity)},rgb(){return this},clamp(){return new Rgb$1(clampi(this.r),clampi(this.g),clampi(this.b),clampa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return`#${hex$1(this.r)}${hex$1(this.g)}${hex$1(this.b)}`}function rgb_formatHex8(){return`#${hex$1(this.r)}${hex$1(this.g)}${hex$1(this.b)}${hex$1((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb(){const o=clampa(this.opacity);return`${o===1?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${o===1?")":`, ${o})`}`}function clampa(o){return isNaN(o)?1:Math.max(0,Math.min(1,o))}function clampi(o){return Math.max(0,Math.min(255,Math.round(o)||0))}function hex$1(o){return o=clampi(o),(o<16?"0":"")+o.toString(16)}function hsla$1(o,$,_e,et){return et<=0?o=$=_e=NaN:_e<=0||_e>=1?o=$=NaN:$<=0&&(o=NaN),new Hsl$1(o,$,_e,et)}function hslConvert$1(o){if(o instanceof Hsl$1)return new Hsl$1(o.h,o.s,o.l,o.opacity);if(o instanceof Color$1||(o=color$1(o)),!o)return new Hsl$1;if(o instanceof Hsl$1)return o;o=o.rgb();var $=o.r/255,_e=o.g/255,et=o.b/255,tt=Math.min($,_e,et),rt=Math.max($,_e,et),at=NaN,nt=rt-tt,it=(rt+tt)/2;return nt?($===rt?at=(_e-et)/nt+(_e0&&it<1?0:at,new Hsl$1(at,nt,it,o.opacity)}function hsl$1(o,$,_e,et){return arguments.length===1?hslConvert$1(o):new Hsl$1(o,$,_e,et==null?1:et)}function Hsl$1(o,$,_e,et){this.h=+o,this.s=+$,this.l=+_e,this.opacity=+et}define$1(Hsl$1,hsl$1,extend$1(Color$1,{brighter(o){return o=o==null?brighter$1:Math.pow(brighter$1,o),new Hsl$1(this.h,this.s,this.l*o,this.opacity)},darker(o){return o=o==null?darker$1:Math.pow(darker$1,o),new Hsl$1(this.h,this.s,this.l*o,this.opacity)},rgb(){var o=this.h%360+(this.h<0)*360,$=isNaN(o)||isNaN(this.s)?0:this.s,_e=this.l,et=_e+(_e<.5?_e:1-_e)*$,tt=2*_e-et;return new Rgb$1(hsl2rgb$1(o>=240?o-240:o+120,tt,et),hsl2rgb$1(o,tt,et),hsl2rgb$1(o<120?o+240:o-120,tt,et),this.opacity)},clamp(){return new Hsl$1(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const o=clampa(this.opacity);return`${o===1?"hsl(":"hsla("}${clamph(this.h)}, ${clampt(this.s)*100}%, ${clampt(this.l)*100}%${o===1?")":`, ${o})`}`}}));function clamph(o){return o=(o||0)%360,o<0?o+360:o}function clampt(o){return Math.max(0,Math.min(1,o||0))}function hsl2rgb$1(o,$,_e){return(o<60?$+(_e-$)*o/60:o<180?_e:o<240?$+(_e-$)*(240-o)/60:$)*255}function interpolate$1(o,$){var _e;return(typeof $=="number"?interpolateNumber:$ instanceof color$1?interpolateRgb:(_e=color$1($))?($=_e,interpolateRgb):interpolateString)(o,$)}function attrRemove(o){return function(){this.removeAttribute(o)}}function attrRemoveNS(o){return function(){this.removeAttributeNS(o.space,o.local)}}function attrConstant(o,$,_e){var et,tt=_e+"",rt;return function(){var at=this.getAttribute(o);return at===tt?null:at===et?rt:rt=$(et=at,_e)}}function attrConstantNS(o,$,_e){var et,tt=_e+"",rt;return function(){var at=this.getAttributeNS(o.space,o.local);return at===tt?null:at===et?rt:rt=$(et=at,_e)}}function attrFunction(o,$,_e){var et,tt,rt;return function(){var at,nt=_e(this),it;return nt==null?void this.removeAttribute(o):(at=this.getAttribute(o),it=nt+"",at===it?null:at===et&&it===tt?rt:(tt=it,rt=$(et=at,nt)))}}function attrFunctionNS(o,$,_e){var et,tt,rt;return function(){var at,nt=_e(this),it;return nt==null?void this.removeAttributeNS(o.space,o.local):(at=this.getAttributeNS(o.space,o.local),it=nt+"",at===it?null:at===et&&it===tt?rt:(tt=it,rt=$(et=at,nt)))}}function transition_attr(o,$){var _e=namespace(o),et=_e==="transform"?interpolateTransformSvg:interpolate$1;return this.attrTween(o,typeof $=="function"?(_e.local?attrFunctionNS:attrFunction)(_e,et,tweenValue(this,"attr."+o,$)):$==null?(_e.local?attrRemoveNS:attrRemove)(_e):(_e.local?attrConstantNS:attrConstant)(_e,et,$))}function attrInterpolate(o,$){return function(_e){this.setAttribute(o,$.call(this,_e))}}function attrInterpolateNS(o,$){return function(_e){this.setAttributeNS(o.space,o.local,$.call(this,_e))}}function attrTweenNS(o,$){var _e,et;function tt(){var rt=$.apply(this,arguments);return rt!==et&&(_e=(et=rt)&&attrInterpolateNS(o,rt)),_e}return tt._value=$,tt}function attrTween(o,$){var _e,et;function tt(){var rt=$.apply(this,arguments);return rt!==et&&(_e=(et=rt)&&attrInterpolate(o,rt)),_e}return tt._value=$,tt}function transition_attrTween(o,$){var _e="attr."+o;if(arguments.length<2)return(_e=this.tween(_e))&&_e._value;if($==null)return this.tween(_e,null);if(typeof $!="function")throw new Error;var et=namespace(o);return this.tween(_e,(et.local?attrTweenNS:attrTween)(et,$))}function delayFunction(o,$){return function(){init(this,o).delay=+$.apply(this,arguments)}}function delayConstant(o,$){return $=+$,function(){init(this,o).delay=$}}function transition_delay(o){var $=this._id;return arguments.length?this.each((typeof o=="function"?delayFunction:delayConstant)($,o)):get(this.node(),$).delay}function durationFunction(o,$){return function(){set$1(this,o).duration=+$.apply(this,arguments)}}function durationConstant(o,$){return $=+$,function(){set$1(this,o).duration=$}}function transition_duration(o){var $=this._id;return arguments.length?this.each((typeof o=="function"?durationFunction:durationConstant)($,o)):get(this.node(),$).duration}function easeConstant(o,$){if(typeof $!="function")throw new Error;return function(){set$1(this,o).ease=$}}function transition_ease(o){var $=this._id;return arguments.length?this.each(easeConstant($,o)):get(this.node(),$).ease}function easeVarying(o,$){return function(){var _e=$.apply(this,arguments);if(typeof _e!="function")throw new Error;set$1(this,o).ease=_e}}function transition_easeVarying(o){if(typeof o!="function")throw new Error;return this.each(easeVarying(this._id,o))}function transition_filter(o){typeof o!="function"&&(o=matcher(o));for(var $=this._groups,_e=$.length,et=new Array(_e),tt=0;tt<_e;++tt)for(var rt=$[tt],at=rt.length,nt=et[tt]=[],it,ot=0;ot=0&&($=$.slice(0,_e)),!$||$==="start"})}function onFunction(o,$,_e){var et,tt,rt=start($)?init:set$1;return function(){var at=rt(this,o),nt=at.on;nt!==et&&(tt=(et=nt).copy()).on($,_e),at.on=tt}}function transition_on(o,$){var _e=this._id;return arguments.length<2?get(this.node(),_e).on.on(o):this.each(onFunction(_e,o,$))}function removeFunction(o){return function(){var $=this.parentNode;for(var _e in this.__transition)if(+_e!==o)return;$&&$.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(o){var $=this._name,_e=this._id;typeof o!="function"&&(o=selector(o));for(var et=this._groups,tt=et.length,rt=new Array(tt),at=0;at()=>o;function ZoomEvent(o,{sourceEvent:$,target:_e,transform:et,dispatch:tt}){Object.defineProperties(this,{type:{value:o,enumerable:!0,configurable:!0},sourceEvent:{value:$,enumerable:!0,configurable:!0},target:{value:_e,enumerable:!0,configurable:!0},transform:{value:et,enumerable:!0,configurable:!0},_:{value:tt}})}function Transform(o,$,_e){this.k=o,this.x=$,this.y=_e}Transform.prototype={constructor:Transform,scale:function(o){return o===1?this:new Transform(this.k*o,this.x,this.y)},translate:function(o,$){return o===0&$===0?this:new Transform(this.k,this.x+this.k*o,this.y+this.k*$)},apply:function(o){return[o[0]*this.k+this.x,o[1]*this.k+this.y]},applyX:function(o){return o*this.k+this.x},applyY:function(o){return o*this.k+this.y},invert:function(o){return[(o[0]-this.x)/this.k,(o[1]-this.y)/this.k]},invertX:function(o){return(o-this.x)/this.k},invertY:function(o){return(o-this.y)/this.k},rescaleX:function(o){return o.copy().domain(o.range().map(this.invertX,this).map(o.invert,o))},rescaleY:function(o){return o.copy().domain(o.range().map(this.invertY,this).map(o.invert,o))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity$4=new Transform(1,0,0);transform.prototype=Transform.prototype;function transform(o){for(;!o.__zoom;)if(!(o=o.parentNode))return identity$4;return o.__zoom}function nopropagation(o){o.stopImmediatePropagation()}function noevent(o){o.preventDefault(),o.stopImmediatePropagation()}function defaultFilter(o){return(!o.ctrlKey||o.type==="wheel")&&!o.button}function defaultExtent(){var o=this;return o instanceof SVGElement?(o=o.ownerSVGElement||o,o.hasAttribute("viewBox")?(o=o.viewBox.baseVal,[[o.x,o.y],[o.x+o.width,o.y+o.height]]):[[0,0],[o.width.baseVal.value,o.height.baseVal.value]]):[[0,0],[o.clientWidth,o.clientHeight]]}function defaultTransform(){return this.__zoom||identity$4}function defaultWheelDelta(o){return-o.deltaY*(o.deltaMode===1?.05:o.deltaMode?1:.002)*(o.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(o,$,_e){var et=o.invertX($[0][0])-_e[0][0],tt=o.invertX($[1][0])-_e[1][0],rt=o.invertY($[0][1])-_e[0][1],at=o.invertY($[1][1])-_e[1][1];return o.translate(tt>et?(et+tt)/2:Math.min(0,et)||Math.max(0,tt),at>rt?(rt+at)/2:Math.min(0,rt)||Math.max(0,at))}function d3Zoom(){var o=defaultFilter,$=defaultExtent,_e=defaultConstrain,et=defaultWheelDelta,tt=defaultTouchable,rt=[0,1/0],at=[[-1/0,-1/0],[1/0,1/0]],nt=250,it=interpolateZoom,ot=dispatch("start","zoom","end"),st,lt,ct,ut=500,ft=150,At=0,vt=10;function ht(Ot){Ot.property("__zoom",defaultTransform).on("wheel.zoom",wt,{passive:!1}).on("mousedown.zoom",_t).on("dblclick.zoom",Et).filter(tt).on("touchstart.zoom",It).on("touchmove.zoom",Tt).on("touchend.zoom touchcancel.zoom",Rt).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}ht.transform=function(Ot,Mt,Bt,Lt){var jt=Ot.selection?Ot.selection():Ot;jt.property("__zoom",defaultTransform),Ot!==jt?xt(Ot,Mt,Bt,Lt):jt.interrupt().each(function(){Ct(this,arguments).event(Lt).start().zoom(null,typeof Mt=="function"?Mt.apply(this,arguments):Mt).end()})},ht.scaleBy=function(Ot,Mt,Bt,Lt){ht.scaleTo(Ot,function(){var jt=this.__zoom.k,zt=typeof Mt=="function"?Mt.apply(this,arguments):Mt;return jt*zt},Bt,Lt)},ht.scaleTo=function(Ot,Mt,Bt,Lt){ht.transform(Ot,function(){var jt=$.apply(this,arguments),zt=this.__zoom,Nt=Bt==null?dt(jt):typeof Bt=="function"?Bt.apply(this,arguments):Bt,Wt=zt.invert(Nt),qt=typeof Mt=="function"?Mt.apply(this,arguments):Mt;return _e(bt(mt(zt,qt),Nt,Wt),jt,at)},Bt,Lt)},ht.translateBy=function(Ot,Mt,Bt,Lt){ht.transform(Ot,function(){return _e(this.__zoom.translate(typeof Mt=="function"?Mt.apply(this,arguments):Mt,typeof Bt=="function"?Bt.apply(this,arguments):Bt),$.apply(this,arguments),at)},null,Lt)},ht.translateTo=function(Ot,Mt,Bt,Lt,jt){ht.transform(Ot,function(){var zt=$.apply(this,arguments),Nt=this.__zoom,Wt=Lt==null?dt(zt):typeof Lt=="function"?Lt.apply(this,arguments):Lt;return _e(identity$4.translate(Wt[0],Wt[1]).scale(Nt.k).translate(typeof Mt=="function"?-Mt.apply(this,arguments):-Mt,typeof Bt=="function"?-Bt.apply(this,arguments):-Bt),zt,at)},Lt,jt)};function mt(Ot,Mt){return Mt=Math.max(rt[0],Math.min(rt[1],Mt)),Mt===Ot.k?Ot:new Transform(Mt,Ot.x,Ot.y)}function bt(Ot,Mt,Bt){var Lt=Mt[0]-Bt[0]*Ot.k,jt=Mt[1]-Bt[1]*Ot.k;return Lt===Ot.x&&jt===Ot.y?Ot:new Transform(Ot.k,Lt,jt)}function dt(Ot){return[(+Ot[0][0]+ +Ot[1][0])/2,(+Ot[0][1]+ +Ot[1][1])/2]}function xt(Ot,Mt,Bt,Lt){Ot.on("start.zoom",function(){Ct(this,arguments).event(Lt).start()}).on("interrupt.zoom end.zoom",function(){Ct(this,arguments).event(Lt).end()}).tween("zoom",function(){var jt=this,zt=arguments,Nt=Ct(jt,zt).event(Lt),Wt=$.apply(jt,zt),qt=Bt==null?dt(Wt):typeof Bt=="function"?Bt.apply(jt,zt):Bt,nr=Math.max(Wt[1][0]-Wt[0][0],Wt[1][1]-Wt[0][1]),ar=jt.__zoom,Kt=typeof Mt=="function"?Mt.apply(jt,zt):Mt,er=it(ar.invert(qt).concat(nr/ar.k),Kt.invert(qt).concat(nr/Kt.k));return function(Ut){if(Ut===1)Ut=Kt;else{var Ht=er(Ut),Ft=nr/Ht[2];Ut=new Transform(Ft,qt[0]-Ht[0]*Ft,qt[1]-Ht[1]*Ft)}Nt.zoom(null,Ut)}})}function Ct(Ot,Mt,Bt){return!Bt&&Ot.__zooming||new gt(Ot,Mt)}function gt(Ot,Mt){this.that=Ot,this.args=Mt,this.active=0,this.sourceEvent=null,this.extent=$.apply(Ot,Mt),this.taps=0}gt.prototype={event:function(Ot){return Ot&&(this.sourceEvent=Ot),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Ot,Mt){return this.mouse&&Ot!=="mouse"&&(this.mouse[1]=Mt.invert(this.mouse[0])),this.touch0&&Ot!=="touch"&&(this.touch0[1]=Mt.invert(this.touch0[0])),this.touch1&&Ot!=="touch"&&(this.touch1[1]=Mt.invert(this.touch1[0])),this.that.__zoom=Mt,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Ot){var Mt=select(this.that).datum();ot.call(Ot,this.that,new ZoomEvent(Ot,{sourceEvent:this.sourceEvent,target:ht,type:Ot,transform:this.that.__zoom,dispatch:ot}),Mt)}};function wt(Ot,...Mt){if(!o.apply(this,arguments))return;var Bt=Ct(this,Mt).event(Ot),Lt=this.__zoom,jt=Math.max(rt[0],Math.min(rt[1],Lt.k*Math.pow(2,et.apply(this,arguments)))),zt=pointer(Ot);if(Bt.wheel)(Bt.mouse[0][0]!==zt[0]||Bt.mouse[0][1]!==zt[1])&&(Bt.mouse[1]=Lt.invert(Bt.mouse[0]=zt)),clearTimeout(Bt.wheel);else{if(Lt.k===jt)return;Bt.mouse=[zt,Lt.invert(zt)],interrupt(this),Bt.start()}noevent(Ot),Bt.wheel=setTimeout(Nt,ft),Bt.zoom("mouse",_e(bt(mt(Lt,jt),Bt.mouse[0],Bt.mouse[1]),Bt.extent,at));function Nt(){Bt.wheel=null,Bt.end()}}function _t(Ot,...Mt){if(ct||!o.apply(this,arguments))return;var Bt=Ot.currentTarget,Lt=Ct(this,Mt,!0).event(Ot),jt=select(Ot.view).on("mousemove.zoom",qt,!0).on("mouseup.zoom",nr,!0),zt=pointer(Ot,Bt),Nt=Ot.clientX,Wt=Ot.clientY;dragDisable(Ot.view),nopropagation(Ot),Lt.mouse=[zt,this.__zoom.invert(zt)],interrupt(this),Lt.start();function qt(ar){if(noevent(ar),!Lt.moved){var Kt=ar.clientX-Nt,er=ar.clientY-Wt;Lt.moved=Kt*Kt+er*er>At}Lt.event(ar).zoom("mouse",_e(bt(Lt.that.__zoom,Lt.mouse[0]=pointer(ar,Bt),Lt.mouse[1]),Lt.extent,at))}function nr(ar){jt.on("mousemove.zoom mouseup.zoom",null),yesdrag(ar.view,Lt.moved),noevent(ar),Lt.event(ar).end()}}function Et(Ot,...Mt){if(o.apply(this,arguments)){var Bt=this.__zoom,Lt=pointer(Ot.changedTouches?Ot.changedTouches[0]:Ot,this),jt=Bt.invert(Lt),zt=Bt.k*(Ot.shiftKey?.5:2),Nt=_e(bt(mt(Bt,zt),Lt,jt),$.apply(this,Mt),at);noevent(Ot),nt>0?select(this).transition().duration(nt).call(xt,Nt,Lt,Ot):select(this).call(ht.transform,Nt,Lt,Ot)}}function It(Ot,...Mt){if(o.apply(this,arguments)){var Bt=Ot.touches,Lt=Bt.length,jt=Ct(this,Mt,Ot.changedTouches.length===Lt).event(Ot),zt,Nt,Wt,qt;for(nopropagation(Ot),Nt=0;Nt$?$:_e}function getFittedScale(o,$,_e,et){return Math.max(SCALE_MIN,Math.min((1-SCALE_MARGIN)*_e/o,(1-SCALE_MARGIN)*et/$,SCALE_MAX))}function getScaleExtent(o,$,_e,et){return[getFittedScale(o,$,_e,et),SCALE_MAX]}function fitWithinContainer(o,$,_e,et){const tt=getFittedScale(o,$,_e,et),rt=tt*$,at=tt*o,nt=(_e-at)/2,it=(et-rt)/2;return identity$4.translate(nt,it).scale(tt)}function constrainZoom(o,$,_e,et,tt){const{k:rt,x:at,y:nt}=o,it=getFittedScale($,_e,et,tt),ot=Math.max(rt,it),st=boundValue(-$*ot+et*.5,et*.5,at),lt=boundValue(-_e*ot+tt*.5,tt*.5,nt);return ot!==rt||st!==at||lt!==nt?identity$4.translate(st,lt).scale(ot):o}function getZoomStyle(o){if(o==null)return DEFAULT_ZOOM_STYLE;const{x:$,y:_e,k:et}=o;return{transform:`translate(${$.toFixed()}px, ${_e.toFixed()}px) scale(${et})`,transformOrigin:"0 0"}}function getZoomAttr(o){if(!o)return;const{x:$,y:_e,k:et}=o;return`translate(${$.toFixed()},${_e.toFixed()}) scale(${et})`}let ZoomManager$1=class{static getZoomAttr($){return getZoomAttr($)}static getZoomStyle($){return getZoomStyle($)}constructor($){this.elem=null,this.contentSize=null,this.selection=null,this.updateCallback=void 0,this.zoom=void 0,this.currentTransform=identity$4,this.resetZoom=()=>{const _e=this.elem,et=this.selection,tt=this.contentSize;if(!_e||!et||!tt){this.updateCallback(identity$4);return}const{clientHeight:rt,clientWidth:at}=_e;this.currentTransform=fitWithinContainer(tt.width,tt.height,at,rt),this.zoom.transform(et,this.currentTransform),this.updateCallback(this.currentTransform)},this.onZoomed=()=>{this.elem&&(this.currentTransform=transform(this.elem),this.updateCallback(this.currentTransform))},this.constrainZoom=(_e,et)=>{if(!this.contentSize)return _e;const{height:tt,width:rt}=this.contentSize,[,[at,nt]]=et;return constrainZoom(_e,rt,tt,at,nt)},this.updateCallback=$,this.zoom=d3Zoom().scaleExtent(DEFAULT_SCALE_EXTENT).constrain(this.constrainZoom).on("zoom",this.onZoomed)}setElement($){$!==this.elem&&(this.elem=$,this.selection=select($),this.selection.call(this.zoom),this.setExtent(),this.resetZoom())}setContentSize($){(!this.contentSize||this.contentSize.height!==$.height||this.contentSize.width!==$.width)&&(this.contentSize=$),this.setExtent(),this.resetZoom()}getProps(){const{x:$,y:_e,k:et}=this.currentTransform,{height:tt=1,width:rt=1}=this.contentSize||{},{clientHeight:at=1,clientWidth:nt=1}=this.elem||{};return{contentHeight:tt,contentWidth:rt,k:et,viewportHeight:at,viewportWidth:nt,x:$,y:_e,viewAll:this.resetZoom}}setExtent(){const $=this.elem,_e=this.contentSize;if(!$||!_e)return;const{clientHeight:et,clientWidth:tt}=$,rt=getScaleExtent(_e.width,_e.height,tt,et);this.zoom.scaleExtent(rt)}};const STYLE$1={left:0,position:"absolute",top:0};class HtmlLayer extends reactExports.PureComponent{render(){const{children:$,classNamePart:_e,getClassName:et,graphState:tt,setOnContainer:rt,standalone:at,topLayer:nt}=this.props,{zoomTransform:it}=tt,ot={style:nt||at?ZoomManager$1.getZoomStyle(it):{}},st=assignMergeCss$1({className:et(_e),style:STYLE$1},ot,getProps(rt,tt));return reactExports.createElement("div",st,$)}}let ELayoutPhase=function(o){return o.NoData="NoData",o.CalcSizes="CalcSizes",o.CalcPositions="CalcPositions",o.CalcEdges="CalcEdges",o.Done="Done",o}({}),ELayerType=function(o){return o.Html="html",o.Svg="svg",o}({});const SVG_HIDDEN_STYLE={visibility:"hidden"};class MeasurableNode extends reactExports.PureComponent{constructor(){super(...arguments),this.htmlRef=reactExports.createRef(),this.svgRef=reactExports.createRef()}measureHtml(){const{current:$}=this.htmlRef;return $?{height:$.offsetHeight,width:$.offsetWidth}:{height:0,width:0}}measureSvg(){const{current:$}=this.svgRef;if(!$)return{height:0,width:0};const{height:_e,width:et}=$.getBBox();return{height:_e,width:et}}renderHtml(){const{getClassName:$,hidden:_e,renderNode:et,renderUtils:tt,setOnNode:rt,vertex:at,layoutVertex:nt}=this.props,{height:it=null,left:ot=null,top:st=null,width:lt=null}=nt||{},ct=assignMergeCss$1({className:$("MeasurableHtmlNode"),style:{height:it,width:lt,boxSizing:"border-box",position:"absolute",transform:ot==null||st==null?void 0:`translate(${ot.toFixed()}px,${st.toFixed()}px)`,visibility:_e?"hidden":void 0}},getProps(rt,at,tt,nt));return reactExports.createElement("div",Object.assign({ref:this.htmlRef},ct),et(at,tt,nt))}renderSvg(){const{getClassName:$,hidden:_e,renderNode:et,renderUtils:tt,setOnNode:rt,vertex:at,layoutVertex:nt}=this.props,{left:it=null,top:ot=null}=nt||{},st=assignMergeCss$1({className:$("MeasurableSvgNode"),transform:it==null||ot==null?void 0:`translate(${it.toFixed()}, ${ot.toFixed()})`,style:_e?SVG_HIDDEN_STYLE:null},getProps(rt,at,tt,nt));return reactExports.createElement("g",Object.assign({ref:this.svgRef},st),et(at,tt,nt))}getRef(){return this.props.layerType===ELayerType.Html?{htmlWrapper:this.htmlRef.current,svgWrapper:void 0}:{svgWrapper:this.svgRef.current,htmlWrapper:void 0}}measure(){return this.props.layerType===ELayerType.Html?this.measureHtml():this.measureSvg()}render(){const{layerType:$}=this.props;return $===ELayerType.Html?this.renderHtml():this.renderSvg()}}class MeasurableNodes extends reactExports.Component{shouldComponentUpdate($){const _e=this.props;return _e.renderNode!==$.renderNode||_e.getClassName!==$.getClassName||_e.layerType!==$.layerType||_e.layoutVertices!==$.layoutVertices||_e.nodeRefs!==$.nodeRefs||_e.renderUtils!==$.renderUtils||_e.vertices!==$.vertices||!isSamePropSetter(_e.setOnNode,$.setOnNode)}render(){const{getClassName:$,nodeRefs:_e,layoutVertices:et,renderUtils:tt,vertices:rt,layerType:at,renderNode:nt,setOnNode:it}=this.props;return rt.map((ot,st)=>reactExports.createElement(MeasurableNode,{key:ot.key,getClassName:$,ref:_e[st],hidden:!et,layerType:at,renderNode:nt,renderUtils:tt,vertex:ot,layoutVertex:et&&et[st],setOnNode:it}))}}const getMarkerScale=getValueScaler({factorMax:1,factorMin:.1,valueMax:2,valueMin:6});function renderDefaultMarker(o,$,_e){const et=getMarkerScale(o.zoomTransform.k);return reactExports.createElement("marker",Object.assign({id:_e,markerHeight:et*8,markerUnits:"userSpaceOnUse",markerWidth:et*8,orient:"auto",refX:et*8,refY:et*3},$),reactExports.createElement("path",{d:`M0,0 L0,${et*6} L${et*9},${et*3} z`}))}class SvgDefEntry extends reactExports.PureComponent{render(){const{getClassName:$,localId:_e,graphState:et,renderEntry:tt=renderDefaultMarker,setOnEntry:rt}=this.props,at=et.renderUtils.getGlobalId(_e),nt=assignMergeCss$1({className:$("DefEntry")},getProps(rt,et));return tt(et,nt,at)}}const STYLE={left:0,minHeight:"100%",minWidth:"100%",position:"absolute",top:0};class SvgLayer extends reactExports.PureComponent{render(){const{children:$,classNamePart:_e,getClassName:et,defs:tt,extraWrapper:rt,graphState:at,setOnContainer:nt,standalone:it,topLayer:ot}=this.props,st=assignMergeCss$1({className:et(_e)},getProps(nt,at));let lt=reactExports.createElement("g",st,tt&&reactExports.createElement("defs",null,tt.map(ut=>reactExports.createElement(SvgDefEntry,Object.assign({key:ut.localId},ut,{getClassName:et,graphState:at})))),$);if(rt&&(lt=reactExports.createElement("g",rt,lt)),!it&&!ot)return lt;const{zoomTransform:ct}=at;return reactExports.createElement("svg",{className:et("SvgLayer"),style:STYLE},reactExports.createElement("g",{className:et("SvgLayer--transformer"),transform:ZoomManager$1.getZoomAttr(ct)},lt))}}function createRefs(o){const $=[];for(let _e=0;_e{if(it)return it.getRef();throw new Error("Invalid scenario")},getWrapperSize:()=>{if(it)return it.measure();throw new Error("Invalid scenario")}},st=[];for(let lt=0;ltreactExports.createElement(Node$4,{key:nt.vertex.key,getClassName:$,layerType:tt,layoutVertex:nt,renderNode:rt,renderUtils:et,setOnNode:at}))}}class NodesLayer extends reactExports.PureComponent{render(){const{renderNode:$}=this.props,{layoutVertices:_e,renderUtils:et}=this.props.graphState;if(!_e||!$)return null;const{getClassName:tt,layerType:rt,setOnNode:at}=this.props,nt=rt===ELayerType.Html?HtmlLayer:SvgLayer;return reactExports.createElement(nt,Object.assign({},this.props,{classNamePart:"NodesLayer"}),reactExports.createElement(Nodes,{getClassName:tt,layerType:rt,layoutVertices:_e,renderNode:$,renderUtils:et,setOnNode:at}))}}class HtmlLayersGroup extends reactExports.PureComponent{renderLayers(){const{getClassName:$,layers:_e,graphState:et,setSizeVertices:tt}=this.props;return _e.map(rt=>{const{key:at,setOnContainer:nt}=rt;if(rt.measurable){const{renderNode:it,setOnNode:ot}=rt;return reactExports.createElement(MeasurableNodesLayer,{key:at,getClassName:$,graphState:et,layerType:ELayerType.Html,renderNode:it,senderKey:at,setOnContainer:nt,setOnNode:ot,setSizeVertices:tt})}if(rt.renderNode){const{renderNode:it,setOnNode:ot}=rt;return reactExports.createElement(NodesLayer,{key:at,getClassName:$,graphState:et,layerType:ELayerType.Html,renderNode:it,setOnContainer:nt,setOnNode:ot})}throw new Error("Not implemented")})}render(){return reactExports.createElement(HtmlLayer,Object.assign({topLayer:!0,classNamePart:"HtmlLayersGroup"},this.props),this.renderLayers())}}const classNameIsSmall$3=(()=>{function $(_e){const{k:et=1}=_e.zoomTransform||{};return et<=.29?{className:"is-small"}:null}return $})(),scaleProperty=(()=>{function et(tt){let rt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.3,at=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,nt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:.5;const it={style:{[tt]:at}},ot=`scale_${tt}`,st=getValueScaler({valueMax:at,valueMin:rt,expAdjuster:nt});return{[ot](ct){const{zoomTransform:ut}=ct;if(!ut)return it;const ft=st(ut.k);return{style:{[tt]:ft}}}}[ot]}return et.opacity=et("opacity"),et.strokeOpacity=et("strokeOpacity"),et.strokeOpacityStrong=et("strokeOpacity",.3,1,.75),et.strokeOpacityStrongest=et("strokeOpacity",.3,1,1),et})();function makeIriRef(o,$){return $&&`url(#${o.getGlobalId($)})`}const PATH_D_CMDS=["M","C"];function makePathD(o){const $=[],_e=PATH_D_CMDS.length;for(let et=0;etreactExports.createElement(SvgEdge,{key:`${nt.edge.from}\v${nt.edge.to}`,getClassName:$,layoutEdge:nt,markerEndId:et,markerStartId:tt,renderUtils:rt,setOnEdge:at}))}}const INHERIT_STROKE={stroke:"#000"};class SvgEdgesLayer extends reactExports.PureComponent{render(){const{getClassName:$,graphState:_e,markerEndId:et,markerStartId:tt,setOnEdge:rt}=this.props,{layoutEdges:at,renderUtils:nt}=_e;return at?reactExports.createElement(SvgLayer,Object.assign({},this.props,{classNamePart:"SvgEdgesLayer",extraWrapper:INHERIT_STROKE}),reactExports.createElement(SvgEdges,{getClassName:$,layoutEdges:at,markerEndId:et,markerStartId:tt,renderUtils:nt,setOnEdge:rt})):null}}class SvgLayersGroup extends reactExports.PureComponent{renderLayers(){const{getClassName:$,layers:_e,graphState:et}=this.props;return _e.map(tt=>{const{key:rt,setOnContainer:at}=tt;if(tt.edges)return reactExports.createElement(SvgEdgesLayer,{key:rt,getClassName:$,graphState:et,markerEndId:tt.markerEndId,markerStartId:tt.markerStartId,setOnContainer:at,setOnEdge:tt.setOnEdge});if(tt.measurable)throw new Error("Not implemented");return reactExports.createElement(NodesLayer,{key:rt,getClassName:$,graphState:et,layerType:ELayerType.Svg,renderNode:tt.renderNode,setOnContainer:at,setOnNode:tt.setOnNode})})}render(){return reactExports.createElement(SvgLayer,Object.assign({topLayer:!0},this.props,{classNamePart:"SvgLayersGroup"}),this.renderLayers())}}const resetZoomIcon=reactExports.createElement("svg",{fill:"currentColor",preserveAspectRatio:"xMidYMid meet",height:"1em",width:"1em",viewBox:"0 0 40 40"},reactExports.createElement("g",null,reactExports.createElement("path",{d:"m35 25v10h-10l3.8-3.8-4.8-4.8 2.4-2.4 4.8 4.8z m-20 10h-10v-10l3.8 3.8 4.8-4.8 2.4 2.4-4.8 4.8z m-10-20v-10h10l-3.8 3.8 4.8 4.8-2.4 2.4-4.8-4.8z m20-10h10v10l-3.8-3.8-4.8 4.8-2.4-2.4 4.8-4.8z"}))),LENGTH_TARGET_PX=80;function getMapSize(o){const{contentHeight:$,contentWidth:_e}=o;return $>_e?{height:LENGTH_TARGET_PX,width:LENGTH_TARGET_PX*_e/$}:{height:LENGTH_TARGET_PX*$/_e,width:LENGTH_TARGET_PX}}function getViewTransform(o,$){const{contentHeight:_e,contentWidth:et,viewportHeight:tt,viewportWidth:rt,k:at=1,x:nt=1,y:it=1}=o,{height:ot,width:st}=$,lt=_e*at,ct=et*at,ut=Math.max(-nt/ct,0),ft=Math.min((-nt+rt)/ct,1),At=Math.max(-it/lt,0),vt=Math.min((-it+tt)/lt,1);return{transform:` translate(${(ut*st).toFixed(2)}px, ${(At*ot).toFixed(2)}px) scale(${ft-ut}, ${vt-At}) - `,transformOrigin:"0 0"}}function getClassNames(o){const{className:$,classNamePrefix:_e}=o,et=`${_e||"plexus"}-MiniMap`;return{root:`${et} ${$||""}`,item:`${et}--item`,map:`${et}--map`,mapActive:`${et}--mapActive`,button:`${et}--button`}}function MiniMap(o){const $=getClassNames(o),_e=getMapSize(o),et=getViewTransform(o,_e);return reactExports.createElement("div",{className:$.root},reactExports.createElement("div",{className:`${$.item} ${$.map}`,style:_e},reactExports.createElement("div",{className:$.mapActive,style:{...et,..._e}})),reactExports.createElement("div",{className:`${$.item} ${$.button}`,onClick:o.viewAll,role:"button"},resetZoomIcon))}MiniMap.defaultProps={className:"",classNamePrefix:"plexus"};const MiniMap$1=reactExports.memo(MiniMap),WRAPPER_STYLE_ZOOM$1={height:"100%",overflow:"hidden",position:"relative",width:"100%"},WRAPPER_STYLE$1={position:"relative"};let idCounter$1=0;class Digraph extends reactExports.PureComponent{constructor($){super($),this.renderUtils=void 0,this.state={edges:[],layoutEdges:null,layoutGraph:null,layoutPhase:ELayoutPhase.NoData,layoutVertices:null,sizeVertices:null,vertices:[],zoomTransform:identity$4},this.baseId=`plexus--Digraph--${idCounter$1++}`,this.makeClassNameFactory=memoizeOne$1(rt=>at=>`${rt} ${rt}-Digraph--${at}`),this.rootRef=reactExports.createRef(),this.zoomManager=null,this.getGlobalId=rt=>`${this.baseId}--${rt}`,this.getZoomTransform=()=>this.state.zoomTransform,this.setSizeVertices=(rt,at)=>{const{edges:nt,layoutManager:it,measurableNodesKey:ot}=this.props;if(rt!==ot){const lt=`expected ${JSON.stringify(ot)}, recieved ${JSON.stringify(rt)}`;throw new Error(`Key mismatch for measuring nodes; ${lt}`)}this.setState({sizeVertices:at});const{layout:st}=it.getLayout(nt,at);st.then(this.onLayoutDone),this.setState({sizeVertices:at,layoutPhase:ELayoutPhase.CalcPositions})},this.onZoomUpdated=rt=>{this.setState({zoomTransform:rt})},this.onLayoutDone=rt=>{if(rt.isCancelled)return;const{edges:at,graph:nt,vertices:it}=rt;this.setState({layoutEdges:at,layoutGraph:nt,layoutVertices:it,layoutPhase:ELayoutPhase.Done}),this.zoomManager&&this.zoomManager.setContentSize(nt)};const{edges:_e,vertices:et,zoom:tt}=$;Array.isArray(_e)&&_e.length&&Array.isArray(et)&&et.length&&(this.state.layoutPhase=ELayoutPhase.CalcSizes,this.state.edges=_e,this.state.vertices=et),tt&&(this.zoomManager=new ZoomManager$1(this.onZoomUpdated)),this.renderUtils={getGlobalId:this.getGlobalId,getZoomTransform:this.getZoomTransform}}componentDidMount(){const{current:$}=this.rootRef;$&&this.zoomManager&&this.zoomManager.setElement($)}renderLayers(){const{classNamePrefix:$,layers:_e}=this.props,et=this.makeClassNameFactory($||""),{sizeVertices:tt,...rt}=this.state,at={...rt,renderUtils:this.renderUtils},{layoutPhase:nt}=at;return _e.map(it=>{const{layerType:ot,key:st,setOnContainer:lt}=it;if(it.layers){if(it.layerType===ELayerType.Html)return reactExports.createElement(HtmlLayersGroup,{key:st,graphState:at,layers:it.layers,getClassName:et,setOnContainer:lt,setSizeVertices:this.setSizeVertices});if(it.layerType===ELayerType.Svg)return reactExports.createElement(SvgLayersGroup,{key:st,getClassName:et,defs:it.defs,graphState:at,layers:it.layers,setOnContainer:lt})}if(it.edges){const{defs:ut,markerEndId:ft,markerStartId:At,setOnEdge:vt}=it;return nt===ELayoutPhase.Done?reactExports.createElement(SvgEdgesLayer,{key:st,standalone:!0,getClassName:et,defs:ut,graphState:at,markerEndId:ft,markerStartId:At,setOnContainer:lt,setOnEdge:vt}):null}if(it.measurable){const{measureNode:ut,renderNode:ft,setOnNode:At}=it;return reactExports.createElement(MeasurableNodesLayer,{key:st,standalone:!0,getClassName:et,graphState:at,layerType:ot,measureNode:ut,renderNode:ft,senderKey:st,setOnContainer:lt,setOnNode:At,setSizeVertices:this.setSizeVertices})}const{renderNode:ct}=it;if(ct!==void 0)return reactExports.createElement(NodesLayer,{key:st,standalone:!0,getClassName:et,graphState:at,layerType:it.layerType,renderNode:ct,setOnContainer:lt,setOnNode:it.setOnNode});throw new Error("Unrecognized layer")})}render(){const{className:$,classNamePrefix:_e,minimap:et,minimapClassName:tt,setOnGraph:rt,style:at}=this.props,nt=this.zoomManager?WRAPPER_STYLE_ZOOM$1:WRAPPER_STYLE$1,it=assignMergeCss$1({style:nt,className:`${_e} ${_e}-Digraph`},{className:$,style:at},getProps(rt,{...this.state,renderUtils:this.renderUtils}));return reactExports.createElement("div",it,reactExports.createElement("div",{style:nt,ref:this.rootRef},this.renderLayers()),et&&this.zoomManager&&reactExports.createElement(MiniMap$1,Object.assign({className:tt,classNamePrefix:_e},this.zoomManager.getProps())))}}Digraph.propsFactories={classNameIsSmall:classNameIsSmall$3,scaleOpacity:scaleProperty.opacity,scaleStrokeOpacity:scaleProperty.strokeOpacity,scaleStrokeOpacityStrong:scaleProperty.strokeOpacityStrong,scaleStrokeOpacityStrongest:scaleProperty.strokeOpacityStrongest};Digraph.scaleProperty=scaleProperty;Digraph.defaultProps={className:"",classNamePrefix:"plexus",minimap:!1,minimapClassName:"",zoom:!1};class EdgeArrowDef extends reactExports.PureComponent{static getId($){return`${$}--edgeArrow`}static getIriRef($){return`url(#${EdgeArrowDef.getId($)})`}render(){const{id:$,scaleDampener:_e,zoomScale:et=null}=this.props,tt=et!=null?Math.max(_e/et,1):1;return reactExports.createElement("defs",null,reactExports.createElement("marker",{id:$,markerHeight:tt*8,markerUnits:"strokeWidth",markerWidth:tt*8,orient:"auto",refX:tt*8,refY:tt*3},reactExports.createElement("path",{d:`M0,0 L0,${tt*6} L${tt*9},${tt*3} z`,fill:"#000"})))}}EdgeArrowDef.defaultProps={zoomScale:null,scaleDampener:.6};function EdgesContainer(o){const{children:$,height:_e,width:et,...tt}=o;return reactExports.createElement("svg",Object.assign({height:_e,width:et,xmlns:"http://www.w3.org/2000/svg"},tt),$)}const D_CMDS=["M","C"];class EdgePath extends reactExports.PureComponent{render(){const{markerEnd:$,pathPoints:_e,...et}=this.props,tt=_e.map((rt,at)=>`${D_CMDS[at]||""}${rt.join(",")}`).join(" ");return reactExports.createElement("path",Object.assign({d:tt,fill:"none",stroke:"#000",vectorEffect:"non-scaling-stroke",markerEnd:$},et))}}class PureEdges extends reactExports.PureComponent{render(){const{arrowIriRef:$,layoutEdges:_e,setOnEdgePath:et}=this.props;return _e.map(tt=>reactExports.createElement(EdgePath,Object.assign({key:`${tt.edge.from}\v${tt.edge.to}`,pathPoints:tt.pathPoints,markerEnd:$},et&&et(tt.edge))))}}let Node$2=class extends reactExports.PureComponent{render(){const{classNamePrefix:$,hidden:_e,labelFactory:et,vertex:tt,left:rt,top:at,forwardedRef:nt,...it}=this.props,ot=it;return ot.style={...ot.style,position:"absolute",transform:rt==null||at==null?void 0:`translate(${rt}px,${at}px)`,visibility:_e?"hidden":void 0},ot.className=`${$}-Node ${ot.className||""}`,reactExports.createElement("div",Object.assign({ref:nt},ot),et(tt))}};Node$2.defaultProps={hidden:!1,left:null,top:null};const Node$3=reactExports.forwardRef((o,$)=>reactExports.createElement(Node$2,Object.assign({},o,{forwardedRef:$})));class PureNodes extends reactExports.PureComponent{_renderVertices(){const{classNamePrefix:$,getNodeLabel:_e,setOnNode:et,vertices:tt,vertexRefs:rt}=this.props;return tt.map((at,nt)=>reactExports.createElement(Node$3,Object.assign({key:at.key,ref:rt[nt],hidden:!0,classNamePrefix:$,labelFactory:_e,vertex:at},et&&et(at))))}_renderLayoutVertices(){const{classNamePrefix:$,getNodeLabel:_e,setOnNode:et,layoutVertices:tt,vertexRefs:rt}=this.props;return tt?tt.map((at,nt)=>reactExports.createElement(Node$3,Object.assign({key:at.vertex.key,ref:rt[nt],classNamePrefix:$,labelFactory:_e,vertex:at.vertex,left:at.left,top:at.top},et&&et(at.vertex)))):null}render(){return this.props.layoutVertices?this._renderLayoutVertices():this._renderVertices()}}const SCALE_THRESHOLD_SMALL=.29;function classNameIsSmall$2(o){const{k:$=1}=o.zoomTransform||{};return $<=SCALE_THRESHOLD_SMALL?{className:"is-small"}:null}function reduce(o,$){let{className:_e,style:et,...tt}=o;const{className:rt,style:at,...nt}=$;return rt&&(_e=_e?`${_e} ${rt}`:rt),at&&typeof at=="object"&&(et=et?{...et,...at}:at),{className:_e,style:et,...tt,...nt}}function assignMergeCss(){for(var o=arguments.length,$=new Array(o),_e=0;_e{const tt=[];for(let rt=0;rt<$.length;rt++){const at=$[rt](et);at&&tt.push(at)}return tt.reduce(reduce)}}const STROKE_MAX=4.2,STROKE_MIN=2,STROKE_SPREAD=STROKE_MAX-STROKE_MIN,PROPS_MAX={style:{strokeWidth:STROKE_MAX.toFixed(1)}},PROPS_MIN={style:{strokeWidth:STROKE_MIN.toFixed(1)}},THRESHOLD_MAX=.1,THRESHOLD_MIN=.6,THRESHOLD_SPREAD=THRESHOLD_MIN-THRESHOLD_MAX,cache={};let lastK=-Number.MIN_VALUE,lastProps=PROPS_MIN;function scaledStrokeWidth(o){const{k:$=1}=o.zoomTransform||{};if($===lastK)return lastProps;let _e=lastProps;if($>THRESHOLD_MIN)_e=PROPS_MIN;else if(${if(!at.isCancelled){const{graph:nt,vertices:it}=at;this.setState({layoutGraph:nt,layoutVertices:it,layoutPhase:PHASE_CALC_EDGES})}},this._onLayoutDone=at=>{const nt=this.rootRef.current;if(at.isCancelled||!nt)return;const{edges:it,graph:ot,vertices:st}=at;this.setState({layoutEdges:it,layoutGraph:ot,layoutVertices:st,layoutPhase:PHASE_DONE}),this.zoomManager&&this.zoomManager.setContentSize(ot)},this._onZoomUpdated=at=>{this.setState({zoomTransform:at})};const{edges:_e,vertices:et,zoom:tt}=$;Array.isArray(_e)&&_e.length&&Array.isArray(et)&&et.length&&(this.state.layoutPhase=PHASE_CALC_SIZES,this.state.edges=_e,this.state.vertices=et,this.state.vertexRefs=createHtmlRefs(et.length)),this.state.zoomEnabled=tt;const rt=`plexus--DirectedGraph--${idCounter}`;idCounter+=1,this.arrowId=EdgeArrowDef.getId(rt),this.arrowIriRef=EdgeArrowDef.getIriRef(rt),this.rootRef=reactExports.createRef(),tt?this.zoomManager=new ZoomManager$1(this._onZoomUpdated):this.zoomManager=null}componentDidMount(){this._setSizeVertices();const{current:$}=this.rootRef;$&&this.zoomManager&&this.zoomManager.setElement($)}componentDidUpdate(){const{layoutPhase:$}=this.state;$===PHASE_CALC_SIZES&&this._setSizeVertices()}_setSizeVertices(){const{edges:$,layoutManager:_e,vertices:et}=this.props,tt=[];this.state.vertexRefs.forEach((nt,it)=>{const{current:ot}=nt;ot&&tt.push({height:ot.offsetHeight,vertex:et[it],width:ot.offsetWidth})});const{positions:rt,layout:at}=_e.getLayout($,tt);rt.then(this._onPositionsDone),at.then(this._onLayoutDone),this.setState({sizeVertices:tt,layoutPhase:PHASE_CALC_POSITIONS})}_renderVertices(){const{classNamePrefix:$,getNodeLabel:_e,setOnNode:et,vertices:tt}=this.props,{layoutVertices:rt,vertexRefs:at}=this.state;return reactExports.createElement(PureNodes,{classNamePrefix:$,getNodeLabel:_e||String,layoutVertices:rt,setOnNode:et,vertexRefs:at,vertices:tt})}_renderEdges(){const{setOnEdgePath:$}=this.props,{layoutEdges:_e}=this.state;return _e&&reactExports.createElement(PureEdges,{setOnEdgePath:$,layoutEdges:_e,arrowIriRef:this.arrowIriRef})}render(){const{arrowScaleDampener:$,className:_e,classNamePrefix:et,minimap:tt,minimapClassName:rt,setOnEdgesContainer:at,setOnNodesContainer:nt,setOnRoot:it}=this.props,{layoutPhase:ot,layoutGraph:st,zoomEnabled:lt,zoomTransform:ct}=this.state,{height:ut=0,width:ft=0}=st||{},At=ot===PHASE_DONE,vt=assignMergeCss(nt&&nt(this.state)||{},{style:{...lt?ZoomManager$1.getZoomStyle(ct):null,position:"absolute",top:0,left:0},className:`${et}-DirectedGraph--nodeContainer`}),ht=assignMergeCss(at&&at(this.state)||{},{style:{minHeight:"100%",minWidth:"100%"},className:`${et}-DirectedGraph--nodeContainer`}),bt=assignMergeCss(it&&it(this.state)||{},{style:lt?WRAPPER_STYLE_ZOOM:WRAPPER_STYLE,className:`${et}-DirectedGraph ${_e}`});return reactExports.createElement("div",Object.assign({},bt,{ref:this.rootRef}),st&&At&&reactExports.createElement(EdgesContainer,Object.assign({},ht,{height:ut,width:ft}),reactExports.createElement(EdgeArrowDef,{id:this.arrowId,scaleDampener:$,zoomScale:lt&&ct?ct.k:null}),reactExports.createElement("g",{transform:lt?ZoomManager$1.getZoomAttr(ct):void 0},this._renderEdges())),reactExports.createElement("div",vt,this._renderVertices()),lt&&tt&&this.zoomManager&&reactExports.createElement(MiniMap$1,Object.assign({className:rt,classNamePrefix:et},this.zoomManager.getProps())))}}DirectedGraph.propsFactories={classNameIsSmall:classNameIsSmall$2,mergePropSetters,scaledStrokeWidth};DirectedGraph.defaultProps={arrowScaleDampener:void 0,className:"",classNamePrefix:"plexus",minimap:!1,minimapClassName:"",zoom:!1};let EWorkerErrorType=function(o){return o.Error="Error",o.LayoutError="LayoutError",o}({}),ECoordinatorPhase=function(o){return o.Done="Done",o.DotOnly="DotOnly",o.Edges="Edges",o.NotStarted="NotStarted",o.Positions="Positions",o}({}),EWorkerPhase=function(o){return o.DotOnly="DotOnly",o.Edges="Edges",o.Positions="Positions",o}({});const round$1=Math.round,DPI=72;function vertexToDot(o){const{vertex:$,height:_e,width:et}=o;return{vertex:$,height:_e/DPI,width:et/DPI}}function edgeToPixels(o,$){const{height:_e}=o,{edge:et,pathPoints:tt}=$;return{edge:et,pathPoints:tt&&tt.map(rt=>[round$1(rt[0]*DPI),round$1((_e-rt[1])*DPI)])}}function graphToPixels(o){const{height:$,scale:_e,width:et}=o;return{scale:_e,height:$*DPI,width:et*DPI}}function vertexToPixels(o,$){const{height:_e}=o,{vertex:et,height:tt,left:rt,top:at,width:nt}=$;return{vertex:et,height:round$1(tt*DPI),left:rt!=null?round$1((rt-nt*.5)*DPI):rt,top:at!=null?round$1((_e-at-tt*.5)*DPI):at,width:round$1(nt*DPI)}}const makeEdgeId=o=>`${o.from}\v${o.to}`;function unmapVertices(o,$){return $.map(_e=>{const et=o.get(_e.vertex.key);if(!et)throw new Error(`Unable to find Vertex for ${_e.vertex.key}`);return{..._e,vertex:et.vertex}})}function unmapEdges(o,$){return $.map(_e=>{const et=makeEdgeId(_e.edge),tt=o.get(et);if(!tt)throw new Error(`Unable to find edge for ${et}`);return{..._e,edge:tt}})}function convInputs(o,$){const _e=new Map,et=new Map,tt=new Map,rt=$.map(nt=>{const{vertex:{key:it},...ot}=nt;if(_e.has(it))throw new Error(`Non-unique vertex key: ${it}`);const st=String(_e.size);return _e.set(it,st),et.set(st,nt),{vertex:{key:st},...ot}});return{edges:o.map(nt=>{const{from:it,to:ot,isBidirectional:st}=nt,lt=_e.get(it),ct=_e.get(ot);if(lt==null)throw new Error(`Unrecognized key on edge, from: ${it}`);if(ct==null)throw new Error(`Unrecognized key on edge, to: ${ot}`);const ut={isBidirectional:st,from:lt,to:ct};return tt.set(makeEdgeId(ut),nt),ut}),vertices:rt,unmapEdges:unmapEdges.bind(null,tt),unmapVertices:unmapVertices.bind(null,et)}}var A$1={5:o=>{o.exports=function($,_e,et,tt){var rt=self||window;try{try{var at;try{at=new rt.Blob([$])}catch(st){(at=new(rt.BlobBuilder||rt.WebKitBlobBuilder||rt.MozBlobBuilder||rt.MSBlobBuilder)).append($),at=at.getBlob()}var nt=rt.URL||rt.webkitURL,it=nt.createObjectURL(at),ot=new rt[_e](it,et);return nt.revokeObjectURL(it),ot}catch(st){return new rt[_e]("data:application/javascript,".concat(encodeURIComponent($)),et)}}catch(st){if(!tt)throw Error("Inline worker is not supported");return new rt[_e](tt,et)}}}},e={};function a$1(o){var $=e[o];if($!==void 0)return $.exports;var _e=e[o]={exports:{}};return A$1[o](_e,_e.exports,a$1),_e.exports}a$1.n=o=>{var $=o&&o.__esModule?()=>o.default:()=>o;return a$1.d($,{a:$}),$},a$1.d=(o,$)=>{for(var _e in $)a$1.o($,_e)&&!a$1.o(o,_e)&&Object.defineProperty(o,_e,{enumerable:!0,get:$[_e]})},a$1.o=(o,$)=>Object.prototype.hasOwnProperty.call(o,$);var i={};(()=>{a$1.d(i,{Z:()=>_e});var o=a$1(5),$=a$1.n(o);function _e(){return $()(`var A={221:function(A,e,i){!function(e){var r=function(A){A=void 0!==(A=A||{})?A:{};var e,r={};for(e in A)A.hasOwnProperty(e)&&(r[e]=A[e]);A.arguments=[],A.thisProgram="./this.program",A.quit=function(A,e){throw e},A.preRun=[],A.postRun=[];var f,a,n=!1,l=!1,t=!1,c=!1;if(A.ENVIRONMENT)if("WEB"===A.ENVIRONMENT)n=!0;else if("WORKER"===A.ENVIRONMENT)l=!0;else if("NODE"===A.ENVIRONMENT)t=!0;else{if("SHELL"!==A.ENVIRONMENT)throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");c=!0}else n="object"==typeof window,l="function"==typeof importScripts,t="object"==typeof process&&!n&&!l,c=!n&&!t&&!l;for(e in t?(A.read=function(A,e){var r;return(r=HA(A))||(f||(f=i(725)),a||(a=i(966)),A=a.normalize(A),r=f.readFileSync(A)),e?r:r.toString()},A.readBinary=function(e){var i=A.read(e,!0);return i.buffer||(i=new Uint8Array(i)),k(i.buffer),i},process.argv.length>1&&(A.thisProgram=process.argv[1].replace(/\\\\/g,"/")),A.arguments=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof ee))throw A})),process.on("unhandledRejection",(function(A,e){process.exit(1)})),A.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(A.read=function(A){var e=HA(A);return e?XA(e):read(A)}),A.readBinary=function(A){var e;return(e=HA(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(k("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?A.arguments=scriptArgs:void 0!==arguments&&(A.arguments=arguments),"function"==typeof quit&&(A.quit=function(A,e){quit(A)})):(n||l)&&(A.read=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var i=HA(A);if(i)return XA(i);throw e}},l&&(A.readBinary=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=HA(A);if(i)return i;throw e}}),A.readAsync=function(A,e,i){var r=new XMLHttpRequest;r.open("GET",A,!0),r.responseType="arraybuffer",r.onload=function(){if(200==r.status||0==r.status&&r.response)e(r.response);else{var f=HA(A);f?e(f.buffer):i()}},r.onerror=i,r.send(null)},void 0!==arguments&&(A.arguments=arguments),A.setWindowTitle=function(A){document.title=A}),A.print="undefined"!=typeof console?console.log:"undefined"!=typeof print?print:null,A.printErr="undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn||A.print,A.print=A.print,A.printErr=A.printErr,r)r.hasOwnProperty(e)&&(A[e]=r[e]);function b(A){k(!Z);var e=I;return I=I+A+15&-16,e}function s(A){k(W);var e=C[W>>2],i=e+A+15&-16;return C[W>>2]=i,i>=X&&!J()?(C[W>>2]=e,0):e}function w(A,e){return e||(e=16),Math.ceil(A/e)*e}r=void 0,new Array(0);var u=0;function k(A,e){A||re("Assertion failed: "+e)}var o={stackSave:function(){OA()},stackRestore:function(){PA()},arrayToC:function(A){var e=SA(A.length);return function(A,e){v.set(A,e)}(A,e),e},stringToC:function(A){var e=0;if(null!=A&&0!==A){var i=1+(A.length<<2);M(A,e=SA(i),i)}return e}},h={string:o.stringToC,array:o.arrayToC};function d(A,e){if(0===e||!A)return"";for(var i,r=0,f=0;r|=i=g[A+f>>0],(0!=i||e)&&(f++,!e||f!=e););e||(e=f);var a="";if(r<128){for(var n,l=1024;e>0;)n=String.fromCharCode.apply(String,g.subarray(A,A+Math.min(e,l))),a=a?a+n:n,A+=l,e-=l;return a}return Y(A)}var B,v,g,E,C,I,Z,G,Q,m,L,W,y="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(A,e){for(var i=e;A[i];)++i;if(i-e>16&&A.subarray&&y)return y.decode(A.subarray(e,i));for(var r,f,a,n,l,t="";;){if(!(r=A[e++]))return t;if(128&r)if(f=63&A[e++],192!=(224&r))if(a=63&A[e++],224==(240&r)?r=(15&r)<<12|f<<6|a:(n=63&A[e++],240==(248&r)?r=(7&r)<<18|f<<12|a<<6|n:(l=63&A[e++],r=248==(252&r)?(3&r)<<24|f<<18|a<<12|n<<6|l:(1&r)<<30|f<<24|a<<18|n<<12|l<<6|63&A[e++])),r<65536)t+=String.fromCharCode(r);else{var c=r-65536;t+=String.fromCharCode(55296|c>>10,56320|1023&c)}else t+=String.fromCharCode((31&r)<<6|f);else t+=String.fromCharCode(r)}}function Y(A){return z(g,A)}function D(A,e,i,r){if(!(r>0))return 0;for(var f=i,a=i+r-1,n=0;n=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&A.charCodeAt(++n)),l<=127){if(i>=a)break;e[i++]=l}else if(l<=2047){if(i+1>=a)break;e[i++]=192|l>>6,e[i++]=128|63&l}else if(l<=65535){if(i+2>=a)break;e[i++]=224|l>>12,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=2097151){if(i+3>=a)break;e[i++]=240|l>>18,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=67108863){if(i+4>=a)break;e[i++]=248|l>>24,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else{if(i+5>=a)break;e[i++]=252|l>>30,e[i++]=128|l>>24&63,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}}return e[i]=0,i-f}function M(A,e,i){return D(A,g,e,i)}function F(A){for(var e=0,i=0;i=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&A.charCodeAt(++i)),r<=127?++e:e+=r<=2047?2:r<=65535?3:r<=2097151?4:r<=67108863?5:6}return e}function V(){re("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+X+", (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 J(){V()}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),I=Q=W=0,Z=!1;var N=A.TOTAL_STACK||5242880,X=A.TOTAL_MEMORY||16777216;if(X0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?A.dynCall_v(r):A.dynCall_vi(r,i.arg):r(void 0===i.arg?null:i.arg)}else i()}}var H=[],p=[],U=[],x=[],T=[],j=!1;function S(A,e,i){for(var r=0;r>0]=A.charCodeAt(r);i||(v[e>>0]=0)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(A,e){var i=65535&A,r=65535&e;return i*r+((A>>>16)*r+i*(e>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(A){A>>>=0;for(var e=0;e<32;e++)if(A&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(A){return A<0?Math.ceil(A):Math.floor(A)}),Math.trunc=Math.trunc;var P=Math.abs,O=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt),K=Math.ceil,_=Math.floor,q=Math.pow,$=(Math.imul,Math.fround,Math.round,Math.min,Math.max,Math.clz32,Math.trunc,0),AA=null,eA=null;function iA(e){$++,A.monitorRunDependencies&&A.monitorRunDependencies($)}function rA(e){if($--,A.monitorRunDependencies&&A.monitorRunDependencies($),0==$&&(null!==AA&&(clearInterval(AA),AA=null),eA)){var i=eA;eA=null,i()}}A.preloadedImages={},A.preloadedAudios={};var fA=null,aA="data:application/octet-stream;base64,";function nA(A){return String.prototype.startsWith?A.startsWith(aA):0===A.indexOf(aA)}var lA=[function(A,e){var i=d(A),r=d(e);EA.createPath("/",oA.dirname(i)),EA.writeFile(oA.join("/",i),r)}];I=197240,p.push(),fA="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABr4VQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/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+AAAAAAAADD0AAAQAAAA4PwAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAEAAAADAAAAAAAAAAAAAAAI2QIAGNkCACjZAgA42QIASNkCAFjZAgBo2QIAeNkCABjZAgAY2QIAWNkCAFjZAgAfAAAAPwAAAH8AAAAAAAAAooUBAAEAAACoKwAAaAAAAAQAAADVCAEAAQAAACAsAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAUBAAEAAAAAAAAA4AAAAAAAAAB4BQEAAQAAAAAAAADgAAAAAQAAAH8FAQABAAAAAAAAAKgAAAACAAAAiQUBAAEAAAAAAAAA4AAAAAMAAACTBQEAAQAAAAAAAADgAAAABAAAAKEFAQABAAAAAAAAAOAAAAAFAAAAqwUBAAEAAAAAAAAA4AAAAAYAAAC4BQEAAQAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ggBAAEAAADELQAAGAEAAAEAAADfCAEAAQAAAMQtAAAYAQAAAgAAAOUIAQABAAAAxC0AABgBAAADAAAA7ggBAAEAAADELQAAGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgIAQABAAAAAAAAAHABAAABAAAAAgkBAAEAAAAAAAAAcAEAAAIAAAANCQEAAQAAAAAAAAA4AQAAAwAAABsJAQABAAAAAAAAADgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAwAAAANAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAYAAAACAAAAAgAAAAcAAAACAAAAAAAAAGIYAgBnAQIA+AICADgJAgAvEAIAbhQCAO4XAgD/FwIAAAAAAGIJAQABAAAAKC8AAKgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmCQEAAQAAAAAAAADIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAbgkBAAEAAAA4MAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAKYKAQABAAAAAAAAACACAAACAAAAsAoBAAEAAAAAAAAAWAIAAAAAAAC5CgEAAQAAAAAAAABYAgAAAwAAAMIKAQABAAAAAAAAAFgCAAAAAAAAzAoBAAEAAAAAAAAAIAIAAAMAAADYCgEAAQAAAAAAAAAgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAASAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAJAAAAAwAAAAMAAAAKAAAABAAAAAAAAABiGAIAZwECADgJAgD4AgIAbhQCAC8QAgD/FwIA7hcCAAAAAAAAAAAAlQwBAP////88MQAAkAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgMAQD/////AAAAALACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACojQEAAQAAAFAyAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGQAAABoAAAAAAAAABAAAAAAAAAAbAAAAHAAAAB0AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAgAAAAIQAAACIAAAACAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAMAAAABQAAAAQAAAANAAAABQAAAAMAAACVEAEAoxABALkQAQDz+QIAxxABANYQAQDbEAEA+RABAPP5AgALEQEAOxEBAPP5AgBZEQEAgREBAI8RAQC+EQEA8hEBAAMSAQAoEgEASxIBAFESAQBtEgEAihIBAKUSAQDGEgEA4BIBAAITAQAhEwEARxMBAF8TAQB/EwEAnBMBAMATAQDMEwEA8/kCANcTAQD9EwEAIRQBAEcUAQDz+QIAfRQBAJUUAQCiFAEA0RQBAMwTAQDz+QIA3hQBAOcUAQAIFQEAQxUBAI4VAQDiFQEABBYBABkWAQAwFgEARhYBAF4WAQDz+QIAdBYBAI8WAQCzFgEA1xYBAPwWAQDz+QIAHRcBADcXAQBJFwEAVhcBAGMXAQB3FwEAhhcBAI4XAQCjFwEAsRcBAO8XAQD6FwEAzBMBAPP5AgAAGAEADBgBABsYAQBLEgEA8/kCAC4YAQBXGAEAdRgBAIUYAQCWGAEAnRgBAKwYAQC8GAEAABkBAAcZAQBLEgEA8/kCABEZAQA9GQEASBkBAFEZAQBaGQEAaxkBAHwZAQCQGQEAzBMBAPP5AgCcGQEArBkBALoZAQDIGQEA1RkBAOIZAQD4GQEAARoBABAaAQAdGgEALhoBAMwTAQDz+QIAORoBAFgaAQDz+QIAahoBAHkaAQCpGgEAsxoBAMAaAQDNGgEA2hoBAOcaAQDqGgEA8/kCAO4aAQDz+QIAERsBAEIbAQBxGwEAiBsBAKMbAQC+GwEAzBMBAPP5AgDaGwEA8/kCAAIcAQAOHAEAIRwBADQcAQBJHAEAXhwBAGIcAQBLEgEA8/kCAG4cAQDz+QIAfhwBAIwcAQCYHAEApRwBAMUcAQDbHAEA8/kCAO8cAQA4HQEAfh0BAK4dAQDhHQEA6B0BAA8eAQA2HgEA8/kCADseAQAAAAAAAAAAAPBHAQABAAAAAAAAAAgDAAABAAAArx4BAAEAAAAAAAAACAMAAAIAAADpRwEAAQAAAAAAAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAlAAAABgAAACYAAAAnAAAAKAAAACkAAAAqAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAEAAAALwAAAAAAAAAAAAAADgAAAAAAAAAPAAAABwAAAAUAAAAQAAAABgAAAAAAAAB/AAIAiQACAHkxAQDOAAIACQECACsBAgAxAQIAYhgCAFgBAgBnAQIAhAECAI8BAgCxAQIA5wECAB0CAgBYAgIAjgICALACAgC/AgIA8AICAPgCAgA/JQEASCUBABUDAgBRJQEAXwMCAFolAQBpAwIAYyUBAHMDAgDCAwIA/QMCAG8lAQA4BAIAQwQCAIgEAgCWBAIA4AQCAO4EAgD8BAIABwUCADgFAgB4BQIAgAUCAIgFAgDDBQIA+QUCAAUGAgB+MQEAEQYCABsGAgAmBgIAQwYCAHkGAgA4CQIAWgkCAGYJAgAlDAIAVgwCAIIMAgC4DAIAxQwCAOcMAgAJDQIAEg0CAFwNAgBmDQIAqw0CAOENAgDsDQIAcQ4CAIYOAgB3JQEAkA4CAJoOAgDQDgIAEA8CAB4PAgByDwIAgQ8CAJAPAgDfDwIAhjEBAB8QAgApEAIALxACAFsQAgCCEAIAkxACAJ4QAgDjEAIAKBECADcRAgBHEQIAWRECAGkRAgB5EQIAhhECAJARAgDGEQIAzxECAA8SAgAiEgIAizEBACoSAgBgEgIAhxICAL0SAgDkEgIA8hICACgTAgByEwIAvBMCAMcTAgD9EwIAAhQCAB8UAgA8FAIARxQCAG4UAgCGFAIAvBQCAPIUAgD+FAIAJRUCADAVAgBhFQIAkhUCAHg8AQC5FQIA5RUCABsWAgBRFgIAWxYCAHgWAgC4FgIA7hYCAJExAQAGFwIAMhcCAFkXAgCPFwIAzBcCAO4XAgD0FwIA/xcCACYYAgAAAAAAq40BAAEAAADINQAAeAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMdIAQABAAAAAAAAAJgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAABIAAAAIAAAABgAAABMAAAAHAAAAAAAAAAAAAACtJgEAAQAAANw4AADQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsCYBAAEAAAAAAAAA8AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAA1AAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADcAAAAAAAAAAAAAABQAAAAAAAAAFQAAAAkAAAAHAAAAFgAAAAgAAAAAAAAAeTEBAGIYAgBnAQIAfjEBAHkGAgA4CQIAhjEBAFsQAgAPEgIAizEBAEcUAgBuFAIAeDwBAJExAQDuFwIA/xcCAAAAAACWMQEAAQAAAKQ5AAAoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmjEBAAEAAAAAAAAASAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAA5AAAAOgAAAAoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQQAAAEIAAABDAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAGAAAAAsAAAAIAAAAGQAAAAkAAAAAAAAAzgACAA47AQBiGAIAZwECAIQBAgAZOwEAHzsBACo7AQAxOwEAjwECAOcBAgA5OwEAPzsBAEo7AQCOAgIAsAICAPgCAgBROwEAXwMCAHMDAgD9AwIAWzsBAIgEAgCWBAIA4AQCAGY7AQDuBAIAbjsBAHc7AQCFOwEAjzsBAMMFAgCYOwEABQYCACYGAgBDBgIAnjsBAIoGAgC1BgIA3gYCAAEHAgAqBwIATQcCAHYHAgCZBwIAwgcCAOUHAgAOCAIAMQgCAFoIAgB9CAIApggCAMkIAgDyCAIAFQkCADgJAgClOwEAWgkCALE7AQCCDAIA5wwCAKsNAgC+OwEAkA8CAMs7AQAfEAIALxACANU7AQBbEAIAghACAJMQAgDkOwEA9jsBAJ4QAgAoEQIANxECAEcRAgBZEQIAaRECAAY8AQARPAEAHDwBAHkRAgAPEgIAFBICACE8AQAqPAEAMzwBAEM8AQBKPAEAYBICAIcSAgC9EgIA8hICAAIUAgAfFAIAUjwBAG4UAgBZPAEA/hQCAGI8AQAwFQIAajwBAJIVAgB4PAEAuRUCAOUVAgB/PAEAeBYCALgWAgCJPAEA7hYCAAYXAgBZFwIAkzwBAKE8AQCPFwIAlhcCAMwXAgDuFwIA/xcCACYYAgAAAAAAszwBAAEAAACsOgAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALc8AQABAAAAAAAAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEUAAAAAAAAAAAAAAEYAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAABsAAAAMAAAACQAAABwAAAAKAAAAAAAAAEFCAACwoQEAQUkAAIqhAQBBUgAAXaEBAEFYAADFoQEAQiAAAAGkAQBCSQAAEqQBAENCAABKogEAQ08AADiiAQBDWAAAV6IBAEggAAB7ogEASEIAAIWiAQBISQAAEaMBAEhYAACUogEASGIAAMWiAQBIaQAA+KIBAEhyAACqogEASHgAANuiAQBJIAAAI6QBAEtCAADcoQEAS0kAACSiAQBLUgAAEKIBAEtYAAD9oQEATkIAACOjAQBOSQAAaqMBAE5SAACCowEATlgAAE6jAQBQQQAA46MBAFBCAACfowEAUEkAANOjAQBQWAAAv6MBAFIgAADapQEAUyAAAPKjAQBaRAAAYKQBAAAAAAAAAAAAAQAAAAAAAABdRwEA/////1w9AADYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYUcBAP////8AAAAA+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAGlHAQABAAAAIEMAAAAAAAAQAAAAcUcBAAEAAAAgQwAAAAAAABEAAAB5RwEAAQAAACBDAAAAAAAAEQAAAIJHAQABAAAAIEMAAAAAAAARAAAAikcBAAEAAAAgQwAAAAAAABMAAACSRwEAAQAAACRDAAAAAAAAFAAAAJpHAQABAAAAJEMAAAAAAAAVAAAAokcBAAEAAAAkQwAAAAAAABUAAACrRwEAAQAAACRDAAAAAAAAFQAAALNHAQABAAAAJEMAAAAAAAAWAAAAu0cBAAEAAAAoQwAAAAAAABcAAADERwEAAQAAAChDAAAAAAAAGAAAAM1HAQABAAAAKEMAAAAAAAAYAAAA10cBAAEAAAAoQwAAAAAAABgAAADgRwEAAQAAAChDAAAAAAAAGQAAAOlHAQABAAAALEMAAAAAAAAZAAAA8EcBAAEAAAAsQwAAAAAAABoAAAD2RwEAAQAAADBDAAAAAAAACgAAAP9HAQABAAAANEMAAAAAAAALAAAAB0gBAAEAAAA0QwAAAAAAAAwAAAAPSAEAAQAAADRDAAAAAAAADAAAABhIAQABAAAANEMAAAAAAAAMAAAAIEgBAAEAAAA0QwAAAAAAAA4AAAAoSAEAAQAAADRDAAAAAAAADgAAAC9IAQABAAAANEMAAAAAAAANAAAAN0gBAAEAAAA0QwAAAAAAAAUAAAA/SAEAAQAAADRDAAAAAAAABgAAAEdIAQABAAAANEMAAAAAAAAHAAAAT0gBAAEAAAA0QwAAAAAAAAcAAABYSAEAAQAAADRDAAAAAAAABwAAAGBIAQABAAAANEMAAAAAAAAJAAAAaEgBAAEAAAA0QwAAAAAAAAkAAABvSAEAAQAAADRDAAAAAAAACAAAAHdIAQABAAAANEMAAAAAAAAAAAAAf0gBAAEAAAA4QwAAAAAAAAEAAACISAEAAQAAADhDAAAAAAAAAgAAAJFIAQABAAAAOEMAAAAAAAACAAAAm0gBAAEAAAA4QwAAAAAAAAIAAACkSAEAAQAAADhDAAAAAAAABAAAAK1IAQABAAAAOEMAAAAAAAAEAAAAtUgBAAEAAAA4QwAAAAAAAAMAAAC+SAEAAQAAADhDAAAAAAAAEgAAAMdIAQABAAAAIEMAAAAAAAAbAAAAz0gBAAEAAAA8QwAAAAAAABwAAADXSAEAAQAAADxDAAAAAAAAHQAAAN9IAQABAAAAPEMAAAAAAAAdAAAA6EgBAAEAAAA8QwAAAAAAAB0AAADwSAEAAQAAADxDAAAAAAAAHgAAAPhIAQABAAAAQEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAAGNMAQBMQwAAAQAAAGhDAAAAAAAAAAAAAEgAAABJAAAAAQAAAAAAAACihQEAAAAAAFxDAABkQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAQAAAAYAQAAMAEAALAAAACIVAEAjVQBAJFUAQCYVAEAnFQBAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAdAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAfAAAAAAAAAAAAAACRWQEAKEQAAAEAAACARAAAAAAAAAAAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAEsAAABVAAAASwAAAFYAAABXAAAAWAAAAFkAAAAAAAAAnlkBAAAAAAA4RAAAKNsCAAEAAACkWQEAAAAAAEBEAAAo2wIAAgAAAKhZAQAAAAAASEQAACjbAgADAAAArVkBAAAAAABQRAAAKNsCAAQAAACzWQEAAAAAAFhEAAAo2wIABQAAALlZAQAAAAAAcEQAACjbAgAGAAAAw1kBAAAAAAB4RAAAKNsCAAcAAADJWQEAAAAAAGBEAAAo2wIABwAAAM1ZAQAAAAAAYEQAACjbAgAHAAAA0lkBAAAAAABoRAAAKNsCAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAADAAAAAAAAAAAQAAACAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAAAAAAPGcBAFRnAQBzZwEAkGcBAK9nAQC2ZwEAv2cBADxnAQBBZwEASGcBAE1nAQDeZgEA8GYBAP5mAQAMZwEAGmcBACFnAQAwZwEAPGcBAAAAAADz+QIAAAAAAB0SAgABAAAA+GkBAAcAAAC8aQEAAwAAAMYlAgAFAAAAAGoBAA8AAACQjQEACAAAAJCNAQAQAAAACGoBAAQAAAAIagEAEQAAAA1qAQAFAAAADWoBAAIAAAATagEABgAAABpqAQAEAAAAJmoBAAcAAAAuagEABwAAAD5qAQAFAAAARGoBAAgAAABbagEACAAAAERqAQAJAAAAZGoBAAcAAABsagEACgAAAIZqAQAHAAAAjmoBAAsAAACoagEABgAAAK9qAQAMAAAAzWoBAAkAAACvagEADQAAANdqAQAIAAAA4GoBAA4AAAABawEACAAAAAprAQASAAAAK2sBAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAMAAAAhAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAiAAAABQAAAAAAAAAAAAAAAAAAAAUAAABAAAAAiEcAAJhHAAAGAAAABAAAAKRHAAAGAAAACAAAAAYAAAAEAAAArEcAAAAEAAAIAAAA/////wAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAJAAAAAAAAAAcAAAAAAAAACQAAAAsAAAAIAAAACgAAADBJAAC0SAAAGEkAAAEAAAABAAAACgAAABYAAAALAAAAWgAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA0AAAAAAAAABwAAAAAAAAAHAAAAAgAAAAUAAAAIAAAAAAAAAAAAAAAGAAAAAwAAAA4AAAALAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAADwAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAEAAAAAAAAAAHAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAmAAAAAAAAAAAAAAAAAAAAAAAAABAAAAD/////AAAAAAAAAAAnAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAwAAAAEAAAABAAAAAgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAABAAAAAUAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAGAAAAAQAAAAEAAAAHAAAACAAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAAQAAAAEAAAALAAAAAQAAAAwAAAABAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABMAAAATAAAAEwAAABMAAAAXAAAAGAAAABkAAAATAAAAGgAAABsAAAAcAAAAHQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAB4AAAABAAAAAQAAABMAAAABAAAAHwAAACAAAAAhAAAAIgAAACMAAAATAAAAJAAAACUAAAAmAAAAEwAAABMAAAATAAAAEwAAACcAAAAoAAAAKQAAABMAAAAqAAAAKwAAACwAAAAtAAAAEwAAABMAAAATAAAAEwAAABMAAAABAAAAAQAAAAEAAAABAAAAAQAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAALgAAABMAAAATAAAAEwAAAC8AAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAADAAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAAAAAAAEAAAABAAAAAgAAAAMAAAABAAAABAAAAAEAAAAFAAAAAQAAAAYAAAAHAAAABwAAAAEAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAwAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAIAAAAB5swEAWrMBACB8AQCGswEAfrMBAIyzAQAAAAAAJoABAC+AAQA2gAEARIABAHqyAQCiswEAS4ABAFKAAQABAAAACAAAAP////8AAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAA8IEBAAgAAAADAAAA+YEBAP2BAQALAAAABgAAAKiNAQAJggEAAgAAAAEAAAAMggEAEIIBAAQAAAACAAAAFYIBABmCAQAEAAAABAAAAB6CAQAjggEABQAAAAUAAAApggEALYIBAAQAAAAHAAAAMoIBADaCAQAFAAAACQAAADyCAQBAggEABAAAAAoAAABFggEASoIBAAQAAAAMAAAAT4IBAOKGAQAAAAAAAQAAAOqGAQABAAAAAAAAAHWyAQABAAAAAQAAAB0SAgAAAAAAAAAAAAAAAAAAAAAAAAAAAMuFAQAxAAAAAAAAAAAAAACjrQEAEAAAAEUeAgCAAAAAxIUBAEAAAAAOoAEAEAAAAMaFAQBAAAAAAAAAAAAAAACShQEAAQAAAJmFAQACAAAAnoUBAAMAAADMpgEABAAAADCdAQAFAAAAooUBAAYAAAAdEgIACAAAAKaFAQAhAAAAqoUBACIAAACuhQEAIgAAALKFAQABAAAAt4UBAAcAAAC9hQEAJwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAApAAAAAAAAAAAAAAAAAAAAAAAAAP2KAQAEiwEAAAAAAKWNAQCojQEAq40BAAAAAAAAAAAAAQAAAAIAAAD/////aI0BAG6NAQAdEgIAAAAAAGQAAABlAAAAZgAAAGQAAAAIAAAACAAAAAAAAAAAAAAAKgAAABEAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAJAAAAKwAAABEAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAADMpgEAYFUAAIAGAAAAAAAA+ZwBAGBVAACwBgAAAAAAANKlAQBgVQAA4AYAAAAAAAABnQEAYFUAAOAGAAAAAAAABp0BAGBVAAAQBwAAAAAAAA2dAQB4VQAAEAcAAAAAAAATnQEAYFUAAEAHAAAAAAAAF50BAGBVAABwBwAAAAAAAB0SAgBgVQAAoAcAAAAAAAAgnQEAYFUAAKAHAAAAAAAAKp0BAGBVAABQBgAAAAAAADCdAQBgVQAA0AcAAAAAAAA4nQEAYFUAAAAIAAAAAAAAQp0BAGBVAAAwCAAAAAAAAFCdAQBgVQAAYAgAAAAAAABWnQEAYFUAAJAIAAAAAAAAX50BAGBVAADACAAAAAAAAGedAQBgVQAA8AgAAAAAAABwnQEAYFUAACAJAAAAAAAAeJ0BAGBVAABQCQAAAAAAAH2dAQBgVQAAgAkAAAAAAACBnQEAYFUAALAJAAAAAAAAiJ0BAGBVAADgCQAAAAAAAI6dAQBgVQAAEAoAAAAAAACYnQEAkFUAAEAKAAAAAAAAoZ0BAGBVAACABgAAAAAAAKadAQBgVQAAgAYAAAAAAACwnQEAYFUAAHAKAAAAAAAAt50BAGBVAACgCgAAAAAAAMSdAQBgVQAA0AoAAAAAAADSnQEAYFUAAAALAAAAAAAA4J0BAGBVAAAwCwAAAAAAAOydAQBgVQAAYAsAAAAAAAD5nQEAYFUAAJALAAAAAAAAAp4BAGBVAADACwAAAAAAAAyeAQBgVQAA8AsAAAAAAAAVngEAYFUAACAMAAAAAAAAHZ4BAGBVAABQDAAAAAAAACWeAQBgVQAAgAwAAAAAAAAungEAYFUAALAMAAAAAAAAMp4BAGBVAADgDAAAAAAAAD2eAQBgVQAAEA0AAAAAAABBngEAYFUAAEANAAAAAAAAS54BAGBVAABwDQAAAAAAAFSeAQBgVQAAoA0AAAAAAABcngEAYFUAANANAAAAAAAAaZ4BAGBVAAAADgAAAAAAAHWeAQBgVQAAMA4AAAAAAACAngEAYFUAAGAOAAAAAAAAkJ4BAGBVAACQDgAAAAAAAJ6eAQBgVQAAwA4AAAAAAACtngEAYFUAAPAOAAAAAAAAt54BAGBVAAAgDwAAAAAAAMCeAQBgVQAAUA8AAAAAAADKngEAYFUAAIAPAAAAAAAA1J4BAGBVAACwDwAAAAAAANueAQBgVQAA4A8AAAAAAADingEAYFUAABAQAAAAAAAA7J4BAKhVAAAAAAAAAAAAAPOeAQCoVQAAAAAAAAAAAADVnAEAwFUAAAAAAAAAAAAA+54BANhVAABAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbAAAAXAAAABcAAAAEAAAAAgAAAAwAAABdAAAAXAAAABcAAAAFAAAAAAAAAA0AAABbAAAAXAAAABcAAAAEAAAAAgAAAAwAAABeAAAAXwAAABgAAAAGAAAAAwAAAA4AAABgAAAAYQAAABcAAAAHAAAAAAAAAA8AAABbAAAAXAAAABcAAAAIAAAAAgAAAAwAAAAQAAAAEQAAABIAAAATAAAA/Z8BAASgAQAAAAAADKABAA6gAQB/HgIAEKABAAwAAAAEAAAABgAAAAIAAAADAAAAAQAAAAkAAAAIAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAF2hAQBtoQEAeqEBAAAAAAAAAAAABAAAAH+hAQAAAAAAAAAAAIqhAQBtoQEAeqEBAAAAAAChoQEABQAAAH+hAQAAAAAAqaEBALChAQBtoQEAwKEBAAAAAAAAAAAABgAAAH+hAQDrsQEAAAAAAMWhAQBtoQEAwKEBAAAAAAChoQEABwAAAH+hAQDrsQEAqaEBANyhAQDpoQEAwKEBAAAAAAAAAAAACgAAAPehAQDrsQEAAAAAAP2hAQDpoQEAwKEBAAAAAACpoQEACwAAAPehAQDrsQEAqaEBABCiAQDpoQEAHqIBAAAAAAAAAAAACAAAAPehAQAAAAAAAAAAACSiAQDpoQEAHqIBAAAAAACpoQEACQAAAPehAQAAAAAAqaEBADiiAQA4ogEAAAAAAAAAAAAAAAAADAAAAECiAQAAAAAAAAAAAEqiAQA4ogEA67EBAAAAAAAAAAAADgAAAECiAQDrsQEAAAAAAFeiAQA4ogEA67EBAAAAAAChoQEADwAAAECiAQDrsQEAqaEBAGuiAQA4ogEAAAAAAAAAAAChoQEADQAAAECiAQAAAAAAqaEBAHuiAQB7ogEAAAAAAAAAAAAAAAAAEAAAAH+hAQAAAAAAAAAAAIWiAQB7ogEA67EBAAAAAAAAAAAAEgAAAH+hAQDrsQEAAAAAAJSiAQB7ogEA67EBAAAAAAChoQEAEwAAAH+hAQDrsQEAqaEBAKqiAQB7ogEAAAAAALuiAQAAAAAAFAAAAH+hAQAAAAAAAAAAAMWiAQB7ogEA67EBALuiAQAAAAAAFgAAAH+hAQDrsQEAAAAAANuiAQB7ogEA67EBALuiAQChoQEAFwAAAH+hAQDrsQEAqaEBAPiiAQB7ogEAAAAAALuiAQChoQEAFQAAAH+hAQAAAAAAqaEBABGjAQB7ogEAAAAAAAAAAAChoQEAEQAAAH+hAQAAAAAAqaEBACOjAQA5owEA67EBAAAAAAAAAAAAGgAAAPehAQDrsQEAAAAAAE6jAQA5owEA67EBAAAAAACpoQEAGwAAAPehAQDrsQEAqaEBAGqjAQA5owEAAAAAAAAAAACpoQEAGQAAAPehAQAAAAAAqaEBAIKjAQA5owEAmaMBAAAAAAAAAAAAGAAAAPehAQAAAAAAAAAAAJ+jAQCtowEA67EBAAAAAAAAAAAAHgAAAPehAQDrsQEAAAAAAL+jAQCtowEA67EBAAAAAACpoQEAHwAAAPehAQDrsQEAqaEBANOjAQCtowEAAAAAAAAAAACpoQEAHQAAAPehAQAAAAAAqaEBAOOjAQCtowEAmaMBAAAAAAAAAAAAHAAAAPehAQAAAAAAAAAAAPKjAQDyowEAAAAAAAAAAAAAAAAAIAAAAPmjAQAAAAAAAAAAAAGkAQAMpAEA67EBAAAAAAAAAAAAAgAAAPehAQDrsQEAAAAAABKkAQAMpAEA67EBAAAAAACpoQEAAwAAAPehAQDrsQEAqaEBACOkAQAMpAEAAAAAAAAAAACpoQEAAQAAAPehAQAAAAAAqaEBANqlAQAMpAEAAAAAAAAAAAAAAAAAAAAAAPehAQAAAAAAAAAAADCkAQBKpAEAWaQBAAAAAACpoQEAIQAAAPehAQAAAAAAqaEBAGCkAQBtpAEAAAAAAAAAAAAAAAAAIgAAAPmjAQAAAAAAAAAAAAgAAAAEAAAAAAAAAAoAAAAtAAAAEgAAAAAAAAAAAAAAAAAAAAgAAAD/////AAAAAAAAAAAuAAAAAAAAAAAAAAAAAAAAAAAAAAmnAQDGAAAAD6cBAMEAAAAWpwEAwgAAABynAQDAAAAAI6cBAJEDAAAppwEAxQAAAC+nAQDDAAAANqcBAMQAAAA7pwEAkgMAAECnAQDHAAAAR6cBAKcDAABLpwEAISAAAFKnAQCUAwAAWKcBANAAAABcpwEAyQAAAGOnAQDKAAAAaacBAMgAAABwpwEAlQMAAHinAQCXAwAAfKcBAMsAAACBpwEAkwMAAIenAQDNAAAAjqcBAM4AAACUpwEAzAAAAJunAQCZAwAAoKcBAM8AAAClpwEAmgMAAKunAQCbAwAAsqcBAJwDAAC1pwEA0QAAALynAQCdAwAAv6cBAFIBAADFpwEA0wAAAMynAQDUAAAA0qcBANIAAADZpwEAqQMAAN+nAQCfAwAA56cBANgAAADupwEA1QAAAPWnAQDWAAAA+qcBAKYDAAD+pwEAoAMAAAGoAQAzIAAAB6gBAKgDAAALqAEAoQMAAA+oAQBgAQAAFqgBAKMDAAAcqAEA3gAAACKoAQCkAwAAJqgBAJgDAAAsqAEA2gAAADOoAQDbAAAAOagBANkAAABAqAEApQMAAEioAQDcAAAATagBAJ4DAABQqAEA3QAAAFeoAQB4AQAAXKgBAJYDAABhqAEA4QAAAGioAQDiAAAAbqgBALQAAAB0qAEA5gAAAHqoAQDgAAAAgagBADUhAACJqAEAsQMAAI+oAQAmAAAAk6gBACciAACXqAEAICIAAJuoAQDlAAAAoagBAEgiAACnqAEA4wAAAK6oAQDkAAAAs6gBAB4gAAC5qAEAsgMAAL6oAQCmAAAAxagBACIgAADKqAEAKSIAAM6oAQDnAAAA1agBALgAAADbqAEAogAAAOCoAQDHAwAA5KgBAMYCAADpqAEAYyYAAO+oAQBFIgAA9KgBAKkAAAD5qAEAtSEAAP+oAQAqIgAAA6kBAKQAAAAKqQEA0yEAAA+pAQAgIAAAFqkBAJMhAAAbqQEAsAAAAB+pAQC0AwAAJakBAGYmAAArqQEA9wAAADKpAQDpAAAAOakBAOoAAAA/qQEA6AAAAEapAQAFIgAATKkBAAMgAABRqQEAAiAAAFapAQC1AwAAXqkBAGEiAABkqQEAtwMAAGipAQDwAAAAbKkBAOsAAABxqQEArCAAAHapAQADIgAAfKkBAJIBAACBqQEAACIAAIipAQC9AAAAj6kBALwAAACWqQEAvgAAAJ2pAQBEIAAAo6kBALMDAACpqQEAZSIAAKypAQA+AAAAr6kBANQhAAC0qQEAlCEAALmpAQBlJgAAwKkBACYgAADHqQEA7QAAAM6pAQDuAAAA1KkBAKEAAADaqQEA7AAAAOGpAQARIQAA56kBAB4iAADtqQEAKyIAAPGpAQC5AwAA9qkBAL8AAAD9qQEACCIAAAKqAQDvAAAAB6oBALoDAAANqgEA0CEAABKqAQC7AwAAGaoBACkjAAAeqgEAqwAAACSqAQCQIQAAKaoBAAgjAAAvqgEAHCAAADWqAQBkIgAAOKoBAAojAAA/qgEAFyIAAEaqAQDKJQAASqoBAA4gAABOqgEAOSAAAFWqAQAYIAAAW6oBADwAAABeqgEArwAAAGOqAQAUIAAAaaoBALUAAABvqgEAtwAAAEazAQASIgAAdqoBALwDAAB5qgEAByIAAH+qAQCgAAAAhKoBABMgAACKqgEAYCIAAI2qAQALIgAAkKoBAKwAAACUqgEACSIAAJqqAQCEIgAAn6oBAPEAAACmqgEAvQMAAKmqAQDzAAAAsKoBAPQAAAC2qgEAUwEAALyqAQDyAAAAw6oBAD4gAADJqgEAyQMAAM+qAQC/AwAA16oBAJUiAADdqgEAKCIAAOCqAQCqAAAA5aoBALoAAADqqgEA+AAAAPGqAQD1AAAA+KoBAJciAAD/qgEA9gAAAASrAQC2AAAACasBAAIiAAAOqwEAMCAAABWrAQClIgAAGqsBAMYDAAAeqwEAwAMAACGrAQDWAwAAJasBALEAAAAsqwEAowAAADKrAQAyIAAAOKsBAA8iAAA9qwEAHSIAAEKrAQDIAwAARqsBACIAAABLqwEA0iEAAFCrAQAaIgAAVqsBACojAABbqwEAuwAAAGGrAQCSIQAAZqsBAAkjAABsqwEAHSAAAHKrAQAcIQAAd6sBAK4AAAB7qwEACyMAAIKrAQDBAwAAhqsBAA8gAACKqwEAOiAAAJGrAQAZIAAAl6sBABogAACdqwEAYQEAAKSrAQDFIgAAqasBAKcAAACuqwEArQAAALKrAQDDAwAAuKsBAMIDAAC/qwEAPCIAAMOrAQBgJgAAyqsBAIIiAADOqwEAhiIAANOrAQARIgAA16sBAIMiAADbqwEAuQAAAOCrAQCyAAAA5asBALMAAADqqwEAhyIAAO+rAQDfAAAA9asBAMQDAAD5qwEANCIAAACsAQC4AwAABqwBANEDAAAPrAEACSAAABasAQD+AAAAHKwBANwCAAAirAEA1wAAACisAQAiIQAALqwBANEhAAAzrAEA+gAAADqsAQCRIQAAP6wBAPsAAABFrAEA+QAAAEysAQCoAAAAUKwBANIDAABWrAEAxQMAAF6sAQD8AAAAY6wBABghAABqrAEAvgMAAG2sAQD9AAAAdKwBAKUAAAB4rAEA/wAAAH2sAQC2AwAAgqwBAA0gAACGrAEADCAAAAcAAAAIAAAAAQEAAAgAAAAIAAAAAAAAAAAAAAAvAAAAEwAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAwAAAAFAAAAAAAAAAAAAAAAAAAAAazAQAJAAAACLMBAAoAAAANswEACgAAABWzAQALAAAAG7MBAAsAAAAkswEADAAAACezAQAMAAAALbMBAA0AAAAyswEADQAAADqzAQAOAAAAP7MBAA4AAABGswEADwAAAEyzAQAPAAAAWLMBABAAAABiAAAAMQAAADIAAAAUAAAAMwAAAGMAAAA0AAAAFQAAADUAAAAIAAAABAAAAP////8AAAAAAAAAABUAAAAAAAAAAAAAAAAAAACjtAEAVV3Jf8l//wCutAEAuy3Uvq7U/wC5tAEAFHf9/cCG/wDEtAEAVV3Jf8l//wDPtAEAuy3Uvq7U/wDatAEAFHf9/cCG/wDltAEAKmb///+Z/wDwtAEAVV3Jf8l//wD7tAEAuy3Uvq7U/wAGtQEAFHf9/cCG/wARtQEAKmb///+Z/wActQEAl62wOGyw/wAntQEAVV3Jf8l//wAytQEAuy3Uvq7U/wA9tQEAFHf9/cCG/wBItQEAKmb///+Z/wBTtQEAl62wOGyw/wBetQEA6Pzw8AJ//wBptQEAVV3Jf8l//wB0tQEAuy3Uvq7U/wB/tQEAFHf9/cCG/wCKtQEAKmb///+Z/wCVtQEAl62wOGyw/wCgtQEA6Pzw8AJ//wCrtQEAEeC/v1sX/wC2tQEAVV3Jf8l//wDBtQEAuy3Uvq7U/wDMtQEAFHf9/cCG/wDXtQEAKmb///+Z/wDitQEAl62wOGyw/wDttQEA6Pzw8AJ//wD4tQEAEeC/v1sX/wADtgEAAABmZmZm/wAOtgEAkxn33uv3/wAYtgEAjkvhnsrh/wAitgEAkby9MYK9/wAstgEAnxD/7/P//wA2tgEAjy7nvdfn/wBAtgEAj3/Wa67W/wBKtgEAk9C1IXG1/wBUtgEAnxD/7/P//wBetgEAjy7nvdfn/wBotgEAj3/Wa67W/wBytgEAkby9MYK9/wB8tgEAlfGcCFGc/wCGtgEAnxD/7/P//wCQtgEAlCvvxtvv/wCatgEAjkvhnsrh/wCktgEAj3/Wa67W/wCutgEAkby9MYK9/wC4tgEAlfGcCFGc/wDCtgEAnxD/7/P//wDMtgEAlCvvxtvv/wDWtgEAjkvhnsrh/wDgtgEAj3/Wa67W/wDqtgEAkKnGQpLG/wD0tgEAk9C1IXG1/wD+tgEAl/GUCEWU/wAItwEAlAj/9/v//wAStwEAkxn33uv3/wActwEAlCvvxtvv/wAmtwEAjkvhnsrh/wAwtwEAj3/Wa67W/wA6twEAkKnGQpLG/wBEtwEAk9C1IXG1/wBOtwEAl/GUCEWU/wBYtwEAlAj/9/v//wBitwEAkxn33uv3/wBstwEAlCvvxtvv/wB2twEAjkvhnsrh/wCAtwEAj3/Wa67W/wCKtwEAkKnGQpLG/wCUtwEAk9C1IXG1/wCetwEAlfGcCFGc/wCotwEAmOtrCDBr/wCytwEAF+9UVDAF/wC8twEAd/88ADww/wDHtwEAF+yMjFEK/wDRtwEAGMK/v4Et/wDbtwEAHXDf38J9/wDltwEAHjT29ujD/wDvtwEAeSbqx+rl/wD5twEAeF/NgM3B/wADuAEAfKWXNZeP/wANuAEAfPxmAWZe/wAXuAEAF+9UVDAF/wAhuAEAfPxmAWZe/wAsuAEAd/88ADww/wA3uAEAF+yMjFEK/wBBuAEAGMK/v4Et/wBLuAEAHXDf38J9/wBVuAEAHjT29ujD/wBfuAEAAAD19fX1/wBpuAEAeSbqx+rl/wBzuAEAeF/NgM3B/wB9uAEAfKWXNZeP/wCHuAEAHIfY2LNl/wCQuAEAAAD19fX1/wCZuAEAe3+0WrSs/wCiuAEAFdempmEa/wCruAEAHXDf38J9/wC0uAEAeF/NgM3B/wC9uAEAef2FAYVx/wDGuAEAFdempmEa/wDPuAEAHXDf38J9/wDYuAEAAAD19fX1/wDhuAEAeF/NgM3B/wDquAEAef2FAYVx/wDzuAEAF+yMjFEK/wD8uAEAHIfY2LNl/wAFuQEAHjT29ujD/wAOuQEAeSbqx+rl/wAXuQEAe3+0WrSs/wAguQEAfPxmAWZe/wApuQEAF+yMjFEK/wAyuQEAHIfY2LNl/wA7uQEAHjT29ujD/wBEuQEAAAD19fX1/wBNuQEAeSbqx+rl/wBWuQEAe3+0WrSs/wBfuQEAfPxmAWZe/wBouQEAF+yMjFEK/wBxuQEAGMK/v4Et/wB6uQEAHXDf38J9/wCDuQEAHjT29ujD/wCMuQEAeSbqx+rl/wCVuQEAeF/NgM3B/wCeuQEAfKWXNZeP/wCnuQEAfPxmAWZe/wCwuQEAF+yMjFEK/wC5uQEAGMK/v4Et/wDCuQEAHXDf38J9/wDLuQEAHjT29ujD/wDUuQEAAAD19fX1/wDduQEAeSbqx+rl/wDmuQEAeF/NgM3B/wDvuQEAfKWXNZeP/wD4uQEAfPxmAWZe/wABugEAhxT55fX5/wAKugEAdUrYmdjJ/wATugEAZ7miLKJf/wAcugEAiA777fj7/wAlugEAfzbisuLi/wAuugEAcXjCZsKk/wA3ugEAYr6LI4tF/wBAugEAiA777fj7/wBJugEAfzbisuLi/wBSugEAcXjCZsKk/wBbugEAZ7miLKJf/wBkugEAZv9tAG0s/wBtugEAiA777fj7/wB2ugEAdyLszOzm/wB/ugEAdUrYmdjJ/wCIugEAcXjCZsKk/wCRugEAZ7miLKJf/wCaugEAZv9tAG0s/wCjugEAiA777fj7/wCsugEAdyLszOzm/wC1ugEAdUrYmdjJ/wC+ugEAcXjCZsKk/wDHugEAaZ+uQa52/wDQugEAYr6LI4tF/wDZugEAZv9YAFgk/wDiugEAhgb99/z9/wDrugEAhxT55fX5/wD0ugEAdyLszOzm/wD9ugEAdUrYmdjJ/wAGuwEAcXjCZsKk/wAPuwEAaZ+uQa52/wAYuwEAYr6LI4tF/wAhuwEAZv9YAFgk/wAquwEAhgb99/z9/wAzuwEAhxT55fX5/wA8uwEAdyLszOzm/wBFuwEAdUrYmdjJ/wBOuwEAcXjCZsKk/wBXuwEAaZ+uQa52/wBguwEAYr6LI4tF/wBpuwEAZv9tAG0s/wByuwEAZf9EAEQb/wB7uwEAkBT04Oz0/wCEuwEAlEbanrza/wCNuwEAxHuniFan/wCWuwEAiA777fj7/wCfuwEAkjXjs83j/wCouwEAokrGjJbG/wCxuwEAypWdiEGd/wC6uwEAiA777fj7/wDDuwEAkjXjs83j/wDMuwEAokrGjJbG/wDVuwEAxHuniFan/wDeuwEA1uGBgQ98/wDnuwEAiA777fj7/wDwuwEAlCvmv9Pm/wD5uwEAlEbanrza/wACvAEAokrGjJbG/wALvAEAxHuniFan/wAUvAEA1uGBgQ98/wAdvAEAiA777fj7/wAmvAEAlCvmv9Pm/wAvvAEAlEbanrza/wA4vAEAokrGjJbG/wBBvAEAvmSxjGux/wBKvAEAypWdiEGd/wBTvAEA1fxubgFr/wBcvAEAhgb99/z9/wBlvAEAkBT04Oz0/wBuvAEAlCvmv9Pm/wB3vAEAlEbanrza/wCAvAEAokrGjJbG/wCJvAEAvmSxjGux/wCSvAEAypWdiEGd/wCbvAEA1fxubgFr/wCkvAEAhgb99/z9/wCtvAEAkBT04Oz0/wC2vAEAlCvmv9Pm/wC/vAEAlEbanrza/wDIvAEAokrGjJbG/wDRvAEAvmSxjGux/wDavAEAypWdiEGd/wDjvAEA1uGBgQ98/wDsvAEA1f9NTQBL/wD1vAEActOeG553/wD/vAEAEvzZ2V8C/wAJvQEArV+zdXCz/wATvQEActOeG553/wAdvQEAEvzZ2V8C/wAnvQEArV+zdXCz/wAxvQEA6dHn5ymK/wA7vQEActOeG553/wBFvQEAEvzZ2V8C/wBPvQEArV+zdXCz/wBZvQEA6dHn5ymK/wBjvQEAPtCmZqYe/wBtvQEActOeG553/wB3vQEAEvzZ2V8C/wCBvQEArV+zdXCz/wCLvQEA6dHn5ymK/wCVvQEAPtCmZqYe/wCfvQEAH/zm5qsC/wCpvQEActOeG553/wCzvQEAEvzZ2V8C/wC9vQEArV+zdXCz/wDHvQEA6dHn5ymK/wDRvQEAPtCmZqYe/wDbvQEAH/zm5qsC/wDlvQEAG9KmpnYd/wDvvQEActOeG553/wD5vQEAEvzZ2V8C/wADvgEArV+zdXCz/wANvgEA6dHn5ymK/wAXvgEAPtCmZqYe/wAhvgEAH/zm5qsC/wArvgEAG9KmpnYd/wA1vgEAAABmZmZm/wA/vgEATBnz4PPb/wBIvgEAXz3dqN21/wBRvgEAjKrKQ6LK/wBavgEAQRH58Pno/wBjvgEAVy7kuuS8/wBsvgEAe2XMe8zE/wB1vgEAjcW+K4y+/wB+vgEAQRH58Pno/wCHvgEAVy7kuuS8/wCQvgEAe2XMe8zE/wCZvgEAjKrKQ6LK/wCivgEAkfOsCGis/wCrvgEAQRH58Pno/wC0vgEATSnrzOvF/wC9vgEAXz3dqN21/wDGvgEAe2XMe8zE/wDPvgEAjKrKQ6LK/wDYvgEAkfOsCGis/wDhvgEAQRH58Pno/wDqvgEATSnrzOvF/wDzvgEAXz3dqN21/wD8vgEAe2XMe8zE/wAFvwEAiaDTTrPT/wAOvwEAjcW+K4y+/wAXvwEAk/KeCFie/wAgvwEAPAz89/zw/wApvwEATBnz4PPb/wAyvwEATSnrzOvF/wA7vwEAXz3dqN21/wBEvwEAe2XMe8zE/wBNvwEAiaDTTrPT/wBWvwEAjcW+K4y+/wBfvwEAk/KeCFie/wBovwEAPAz89/zw/wBxvwEATBnz4PPb/wB6vwEATSnrzOvF/wCDvwEAXz3dqN21/wCMvwEAe2XMe8zE/wCVvwEAiaDTTrPT/wCevwEAjcW+K4y+/wCnvwEAkfOsCGis/wCwvwEAlu+BCECB/wC5vwEAShX15fXg/wDEvwEAUEjZodmb/wDPvwEAYrKjMaNU/wDavwEASQ/47fjp/wDlvwEATjbkuuSz/wDwvwEAVmjEdMR2/wD7vwEAYr6LI4tF/wAGwAEASQ/47fjp/wARwAEATjbkuuSz/wAcwAEAVmjEdMR2/wAnwAEAYrKjMaNU/wAywAEAZv9tAG0s/wA9wAEASQ/47fjp/wBIwAEATSzpx+nA/wBTwAEAUEjZodmb/wBewAEAVmjEdMR2/wBpwAEAYrKjMaNU/wB0wAEAZv9tAG0s/wB/wAEASQ/47fjp/wCKwAEATSzpx+nA/wCVwAEAUEjZodmb/wCgwAEAVmjEdMR2/wCrwAEAYJ6rQatd/wC2wAEAYr6LI4tF/wDBwAEAbP9aAFoy/wDMwAEASAf89/z1/wDXwAEAShX15fXg/wDiwAEATSzpx+nA/wDtwAEAUEjZodmb/wD4wAEAVmjEdMR2/wADwQEAYJ6rQatd/wAOwQEAYr6LI4tF/wAZwQEAbP9aAFoy/wAkwQEASAf89/z1/wAvwQEAShX15fXg/wA6wQEATSzpx+nA/wBFwQEAUEjZodmb/wBQwQEAVmjEdMR2/wBbwQEAYJ6rQatd/wBmwQEAYr6LI4tF/wBxwQEAZv9tAG0s/wB8wQEAZf9EAEQb/wCHwQEAAADw8PDw/wCRwQEAAAC9vb29/wCbwQEAAABjY2Nj/wClwQEAAAD39/f3/wCvwQEAAADMzMzM/wC5wQEAAACWlpaW/wDDwQEAAABSUlJS/wDNwQEAAAD39/f3/wDXwQEAAADMzMzM/wDhwQEAAACWlpaW/wDrwQEAAABjY2Nj/wD1wQEAAAAlJSUl/wD/wQEAAAD39/f3/wAJwgEAAADZ2dnZ/wATwgEAAAC9vb29/wAdwgEAAACWlpaW/wAnwgEAAABjY2Nj/wAxwgEAAAAlJSUl/wA7wgEAAAD39/f3/wBFwgEAAADZ2dnZ/wBPwgEAAAC9vb29/wBZwgEAAACWlpaW/wBjwgEAAABzc3Nz/wBtwgEAAABSUlJS/wB3wgEAAAAlJSUl/wCBwgEAAAD//////wCLwgEAAADw8PDw/wCVwgEAAADZ2dnZ/wCfwgEAAAC9vb29/wCpwgEAAACWlpaW/wCzwgEAAABzc3Nz/wC9wgEAAABSUlJS/wDHwgEAAAAlJSUl/wDRwgEAAAD//////wDbwgEAAADw8PDw/wDlwgEAAADZ2dnZ/wDvwgEAAAC9vb29/wD5wgEAAACWlpaW/wADwwEAAABzc3Nz/wANwwEAAABSUlJS/wAXwwEAAAAlJSUl/wAhwwEAAAAAAAAA/wArwwEAFTD+/ubO/wA3wwEAE5P9/a5r/wBDwwEADvDm5lUN/wBPwwEAEyD+/u3e/wBbwwEAFHj9/b6F/wBnwwEAEcL9/Y08/wBzwwEADf3Z2UcB/wB/wwEAEyD+/u3e/wCLwwEAFHj9/b6F/wCXwwEAEcL9/Y08/wCjwwEADvDm5lUN/wCvwwEADfqmpjYD/wC7wwEAEyD+/u3e/wDHwwEAFVv9/dCi/wDTwwEAE5P9/a5r/wDfwwEAEcL9/Y08/wDrwwEADvDm5lUN/wD3wwEADfqmpjYD/wADxAEAEyD+/u3e/wAPxAEAFVv9/dCi/wAbxAEAE5P9/a5r/wAnxAEAEcL9/Y08/wAzxAEAEOrx8WkT/wA/xAEADf3Z2UgB/wBLxAEADPeMjC0E/wBXxAEAFRT///Xr/wBjxAEAFTD+/ubO/wBvxAEAFVv9/dCi/wB7xAEAE5P9/a5r/wCHxAEAEcL9/Y08/wCTxAEAEOrx8WkT/wCfxAEADf3Z2UgB/wCrxAEADPeMjC0E/wC3xAEAFRT///Xr/wDDxAEAFTD+/ubO/wDPxAEAFVv9/dCi/wDbxAEAE5P9/a5r/wDnxAEAEcL9/Y08/wDzxAEAEOrx8WkT/wD/xAEADf3Z2UgB/wALxQEADfqmpjYD/wAXxQEADPZ/fycE/wAjxQEAGTb+/ujI/wAsxQEAE3n9/buE/wA1xQEABcXj40oz/wA+xQEAGiX+/vDZ/wBHxQEAGHP9/cyK/wBQxQEADaT8/I1Z/wBZxQEAA9rX1zAf/wBixQEAGiX+/vDZ/wBrxQEAGHP9/cyK/wB0xQEADaT8/I1Z/wB9xQEABcXj40oz/wCGxQEAAP+zswAA/wCPxQEAGiX+/vDZ/wCYxQEAGF/9/dSe/wChxQEAE3n9/buE/wCqxQEADaT8/I1Z/wCzxQEABcXj40oz/wC8xQEAAP+zswAA/wDFxQEAGiX+/vDZ/wDOxQEAGF/9/dSe/wDXxQEAE3n9/buE/wDgxQEADaT8/I1Z/wDpxQEAB7Lv72VI/wDyxQEAA9rX1zAf/wD7xQEAAP+ZmQAA/wAExgEAGBL///fs/wANxgEAGTb+/ujI/wAWxgEAGF/9/dSe/wAfxgEAE3n9/buE/wAoxgEADaT8/I1Z/wAxxgEAB7Lv72VI/wA6xgEAA9rX1zAf/wBDxgEAAP+ZmQAA/wBMxgEAGBL///fs/wBVxgEAGTb+/ujI/wBexgEAGF/9/dSe/wBnxgEAE3n9/buE/wBwxgEADaT8/I1Z/wB5xgEAB7Lv72VI/wCCxgEAA9rX1zAf/wCLxgEAAP+zswAA/wCUxgEAAP9/fwAA/wCdxgEAjkTjps7j/wCpxgEAvpmaaj2a/wC2xgEAkNO0H3i0/wDCxgEAQWHfst+K/wDOxgEAUrigM6As/wDaxgEAAGP7+5qZ/wDmxgEA/uHj4xoc/wDyxgEAF4/9/b9v/wD+xgEAFf///38A/wAKxwEAxirWyrLW/wAWxwEAjkTjps7j/wAixwEAvpmaaj2a/wAvxwEAKmb///+Z/wA8xwEAkNO0H3i0/wBIxwEAQWHfst+K/wBUxwEAUrigM6As/wBgxwEAAGP7+5qZ/wBsxwEA/uHj4xoc/wB4xwEAF4/9/b9v/wCExwEAFf///38A/wCQxwEAxirWyrLW/wCcxwEAjkTjps7j/wCoxwEAvpmaaj2a/wC1xwEAKmb///+Z/wDCxwEAD8WxsVko/wDPxwEAkNO0H3i0/wDbxwEAQWHfst+K/wDnxwEAUrigM6As/wDzxwEAAGP7+5qZ/wD/xwEA/uHj4xoc/wALyAEAF4/9/b9v/wAXyAEAFf///38A/wAjyAEAxirWyrLW/wAvyAEAjkTjps7j/wA6yAEAkNO0H3i0/wBFyAEAQWHfst+K/wBQyAEAjkTjps7j/wBbyAEAkNO0H3i0/wBmyAEAQWHfst+K/wBxyAEAUrigM6As/wB8yAEAjkTjps7j/wCHyAEAkNO0H3i0/wCSyAEAQWHfst+K/wCdyAEAUrigM6As/wCoyAEAAGP7+5qZ/wCzyAEAjkTjps7j/wC+yAEAkNO0H3i0/wDJyAEAQWHfst+K/wDUyAEAUrigM6As/wDfyAEAAGP7+5qZ/wDqyAEA/uHj4xoc/wD1yAEAjkTjps7j/wAAyQEAkNO0H3i0/wALyQEAQWHfst+K/wAWyQEAUrigM6As/wAhyQEAAGP7+5qZ/wAsyQEA/uHj4xoc/wA3yQEAF4/9/b9v/wBCyQEAjkTjps7j/wBNyQEAkNO0H3i0/wBYyQEAQWHfst+K/wBjyQEAUrigM6As/wBuyQEAAGP7+5qZ/wB5yQEA/uHj4xoc/wCEyQEAF4/9/b9v/wCPyQEAFf///38A/wCayQEAjkTjps7j/wClyQEAkNO0H3i0/wCwyQEAQWHfst+K/wC7yQEAUrigM6As/wDGyQEAAGP7+5qZ/wDRyQEA/uHj4xoc/wDcyQEAF4/9/b9v/wDnyQEAFf///38A/wDyyQEAxirWyrLW/wD9yQEAA077+7Su/wAJygEAkjXjs83j/wAVygEATSnrzOvF/wAhygEAA077+7Su/wAtygEAkjXjs83j/wA5ygEATSnrzOvF/wBFygEAyhvk3svk/wBRygEAA077+7Su/wBdygEAkjXjs83j/wBpygEATSnrzOvF/wB1ygEAyhvk3svk/wCBygEAGFj+/tmm/wCNygEAA077+7Su/wCZygEAkjXjs83j/wClygEATSnrzOvF/wCxygEAyhvk3svk/wC9ygEAGFj+/tmm/wDJygEAKjL////M/wDVygEAA077+7Su/wDhygEAkjXjs83j/wDtygEATSnrzOvF/wD5ygEAyhvk3svk/wAFywEAGFj+/tmm/wARywEAKjL////M/wAdywEAHCzl5di9/wApywEAA077+7Su/wA1ywEAkjXjs83j/wBBywEATSnrzOvF/wBNywEAyhvk3svk/wBZywEAGFj+/tmm/wBlywEAKjL////M/wBxywEAHCzl5di9/wB9ywEA6SP9/drs/wCJywEAA077+7Su/wCVywEAkjXjs83j/wChywEATSnrzOvF/wCtywEAyhvk3svk/wC5ywEAGFj+/tmm/wDFywEAKjL////M/wDRywEAHCzl5di9/wDdywEA6SP9/drs/wDpywEAAADy8vLy/wD1ywEAbDXis+LN/wABzAEAEVH9/c2s/wANzAEAmx/oy9Xo/wAZzAEAbDXis+LN/wAlzAEAEVH9/c2s/wAxzAEAmx/oy9Xo/wA9zAEA5Cv09Mrk/wBJzAEAbDXis+LN/wBVzAEAEVH9/c2s/wBhzAEAmx/oy9Xo/wBtzAEA5Cv09Mrk/wB5zAEAOC315vXJ/wCFzAEAbDXis+LN/wCRzAEAEVH9/c2s/wCdzAEAmx/oy9Xo/wCpzAEA5Cv09Mrk/wC1zAEAOC315vXJ/wDBzAEAI1H///Ku/wDNzAEAbDXis+LN/wDZzAEAEVH9/c2s/wDlzAEAmx/oy9Xo/wDxzAEA5Cv09Mrk/wD9zAEAOC315vXJ/wAJzQEAI1H///Ku/wAVzQEAGSfx8eLM/wAhzQEAbDXis+LN/wAtzQEAEVH9/c2s/wA5zQEAmx/oy9Xo/wBFzQEA5Cv09Mrk/wBRzQEAOC315vXJ/wBdzQEAI1H///Ku/wBpzQEAGSfx8eLM/wB1zQEAAADMzMzM/wCBzQEA5v2OjgFS/wCLzQEATb9kJ2QZ/wCWzQEA5tzFxRt9/wCgzQEA6Hbe3neu/wCqzQEA5T7x8bba/wC0zQEA6R39/eDv/wC+zQEAOyb15vXQ/wDIzQEAPWfhuOGG/wDSzQEAP6a8f7xB/wDczQEARMWSTZIh/wDmzQEA5v2OjgFS/wDwzQEARMWSTZIh/wD7zQEATb9kJ2QZ/wAGzgEA5tzFxRt9/wAQzgEA6Hbe3neu/wAazgEA5T7x8bba/wAkzgEA6R39/eDv/wAuzgEAAAD39/f3/wA4zgEAOyb15vXQ/wBCzgEAPWfhuOGG/wBMzgEAP6a8f7xB/wBWzgEA50zp6aPJ/wBfzgEAAAD39/f3/wBozgEAP4HXoddq/wBxzgEA5NzQ0ByL/wB6zgEA5T7x8bba/wCDzgEAPWfhuOGG/wCMzgEASMasTawm/wCVzgEA5NzQ0ByL/wCezgEA5T7x8bba/wCnzgEAAAD39/f3/wCwzgEAPWfhuOGG/wC5zgEASMasTawm/wDCzgEA5tzFxRt9/wDLzgEA50zp6aPJ/wDUzgEA6R39/eDv/wDdzgEAOyb15vXQ/wDmzgEAP4HXoddq/wDvzgEARMWSTZIh/wD4zgEA5tzFxRt9/wABzwEA50zp6aPJ/wAKzwEA6R39/eDv/wATzwEAAAD39/f3/wAczwEAOyb15vXQ/wAlzwEAP4HXoddq/wAuzwEARMWSTZIh/wA3zwEA5tzFxRt9/wBAzwEA6Hbe3neu/wBJzwEA5T7x8bba/wBSzwEA6R39/eDv/wBbzwEAOyb15vXQ/wBkzwEAPWfhuOGG/wBtzwEAP6a8f7xB/wB2zwEARMWSTZIh/wB/zwEA5tzFxRt9/wCIzwEA6Hbe3neu/wCRzwEA5T7x8bba/wCazwEA6R39/eDv/wCjzwEAAAD39/f3/wCszwEAOyb15vXQ/wC1zwEAPWfhuOGG/wC+zwEAP6a8f7xB/wDHzwEARMWSTZIh/wDQzwEAzv9LQABL/wDazwEAZf9EAEQb/wDlzwEAzq2DdiqD/wDvzwEAx1ermXCr/wD5zwEAxzPPwqXP/wAD0AEA0hXo59To/wAN0AEATB7w2fDT/wAX0AEAUETbptug/wAh0AEAWHuuWq5h/wAr0AEAYcV4G3g3/wA10AEAzv9LQABL/wA/0AEAYcV4G3g3/wBK0AEAZf9EAEQb/wBV0AEAzq2DdiqD/wBf0AEAx1ermXCr/wBp0AEAxzPPwqXP/wBz0AEA0hXo59To/wB90AEAAAD39/f3/wCH0AEATB7w2fDT/wCR0AEAUETbptug/wCb0AEAWHuuWq5h/wCl0AEAxEbDr43D/wCu0AEAAAD39/f3/wC30AEAUlq/f797/wDA0AEAyaiUezKU/wDJ0AEAxzPPwqXP/wDS0AEAUETbptug/wDb0AEAZv+IAIg3/wDk0AEAyaiUezKU/wDt0AEAxzPPwqXP/wD20AEAAAD39/f3/wD/0AEAUETbptug/wAI0QEAZv+IAIg3/wAR0QEAzq2DdiqD/wAa0QEAxEbDr43D/wAj0QEA0hXo59To/wAs0QEATB7w2fDT/wA10QEAUlq/f797/wA+0QEAYcV4G3g3/wBH0QEAzq2DdiqD/wBQ0QEAxEbDr43D/wBZ0QEA0hXo59To/wBi0QEAAAD39/f3/wBr0QEATB7w2fDT/wB00QEAUlq/f797/wB90QEAYcV4G3g3/wCG0QEAzq2DdiqD/wCP0QEAx1ermXCr/wCY0QEAxzPPwqXP/wCh0QEA0hXo59To/wCq0QEATB7w2fDT/wCz0QEAUETbptug/wC80QEAWHuuWq5h/wDF0QEAYcV4G3g3/wDO0QEAzq2DdiqD/wDX0QEAx1ermXCr/wDg0QEAxzPPwqXP/wDp0QEA0hXo59To/wDy0QEAAAD39/f3/wD70QEATB7w2fDT/wAE0gEAUETbptug/wAN0gEAWHuuWq5h/wAW0gEAYcV4G3g3/wAf0gEAvQvy7Ofy/wAo0gEAlz3bpr3b/wAx0gEAjcW+K4y+/wA60gEAuQj28e72/wBD0gEAmyjhvcnh/wBM0gEAkXDPdKnP/wBV0gEAj/ewBXCw/wBe0gEAuQj28e72/wBn0gEAmyjhvcnh/wBw0gEAkXDPdKnP/wB50gEAjcW+K4y+/wCC0gEAj/eNBFqN/wCL0gEAuQj28e72/wCU0gEAqBjm0NHm/wCd0gEAlz3bpr3b/wCm0gEAkXDPdKnP/wCv0gEAjcW+K4y+/wC40gEAj/eNBFqN/wDB0gEAuQj28e72/wDK0gEAqBjm0NHm/wDT0gEAlz3bpr3b/wDc0gEAkXDPdKnP/wDl0gEAjrfANpDA/wDu0gEAj/ewBXCw/wD30gEAj/h7A057/wAA0wEA6Qj///f7/wAJ0wEAvQvy7Ofy/wAS0wEAqBjm0NHm/wAb0wEAlz3bpr3b/wAk0wEAkXDPdKnP/wAt0wEAjrfANpDA/wA20wEAj/ewBXCw/wA/0wEAj/h7A057/wBI0wEA6Qj///f7/wBR0wEAvQvy7Ofy/wBa0wEAqBjm0NHm/wBj0wEAlz3bpr3b/wBs0wEAkXDPdKnP/wB10wEAjrfANpDA/wB+0wEAj/ewBXCw/wCH0wEAj/eNBFqN/wCQ0wEAj/lYAjhY/wCZ0wEAyA7w7OLw/wCk0wEAlz3bpr3b/wCv0wEAgtCZHJCZ/wC60wEAzwj39u/3/wDF0wEAmyjhvcnh/wDQ0wEAj4DPZ6nP/wDb0wEAgvuKAoGK/wDm0wEAzwj39u/3/wDx0wEAmyjhvcnh/wD80wEAj4DPZ6nP/wAH1AEAgtCZHJCZ/wAS1AEAd/xsAWxZ/wAd1AEAzwj39u/3/wAo1AEAqBjm0NHm/wAz1AEAlz3bpr3b/wA+1AEAj4DPZ6nP/wBJ1AEAgtCZHJCZ/wBU1AEAd/xsAWxZ/wBf1AEAzwj39u/3/wBq1AEAqBjm0NHm/wB11AEAlz3bpr3b/wCA1AEAj4DPZ6nP/wCL1AEAjrfANpDA/wCW1AEAgvuKAoGK/wCh1AEAdvxkAWRQ/wCs1AEA6Qj///f7/wC31AEAyA7w7OLw/wDC1AEAqBjm0NHm/wDN1AEAlz3bpr3b/wDY1AEAj4DPZ6nP/wDj1AEAjrfANpDA/wDu1AEAgvuKAoGK/wD51AEAdvxkAWRQ/wAE1QEA6Qj///f7/wAP1QEAyA7w7OLw/wAa1QEAqBjm0NHm/wAl1QEAlz3bpr3b/wAw1QEAj4DPZ6nP/wA71QEAjrfANpDA/wBG1QEAgvuKAoGK/wBR1QEAd/xsAWxZ/wBc1QEAdftGAUY2/wBn1QEAEu5/fzsI/wBx1QEAw/9LLQBL/wB81QEAFPazs1gG/wCG1QEAFujg4IIU/wCQ1QEAF5v9/bhj/wCa1QEAGEj+/uC2/wCk1QEApRTr2Nrr/wCu1QEAsS/SsqvS/wC41QEAs1SsgHOs/wDC1QEAvbWIVCeI/wDM1QEAEu5/fzsI/wDW1QEAvbWIVCeI/wDh1QEAw/9LLQBL/wDs1QEAFPazs1gG/wD21QEAFujg4IIU/wAA1gEAF5v9/bhj/wAK1gEAGEj+/uC2/wAU1gEAAAD39/f3/wAe1gEApRTr2Nrr/wAo1gEAsS/SsqvS/wAy1gEAs1SsgHOs/wA81gEAF7vx8aNA/wBF1gEAAAD39/f3/wBO1gEAskXDmY7D/wBX1gEAEf3m5mEB/wBg1gEAF5v9/bhj/wBp1gEAsS/SsqvS/wBy1gEAuZuZXjyZ/wB71gEAEf3m5mEB/wCE1gEAF5v9/bhj/wCN1gEAAAD39/f3/wCW1gEAsS/SsqvS/wCf1gEAuZuZXjyZ/wCo1gEAFPazs1gG/wCx1gEAF7vx8aNA/wC61gEAGEj+/uC2/wDD1gEApRTr2Nrr/wDM1gEAskXDmY7D/wDV1gEAvbWIVCeI/wDe1gEAFPazs1gG/wDn1gEAF7vx8aNA/wDw1gEAGEj+/uC2/wD51gEAAAD39/f3/wAC1wEApRTr2Nrr/wAL1wEAskXDmY7D/wAU1wEAvbWIVCeI/wAd1wEAFPazs1gG/wAm1wEAFujg4IIU/wAv1wEAF5v9/bhj/wA41wEAGEj+/uC2/wBB1wEApRTr2Nrr/wBK1wEAsS/SsqvS/wBT1wEAs1SsgHOs/wBc1wEAvbWIVCeI/wBl1wEAFPazs1gG/wBu1wEAFujg4IIU/wB31wEAF5v9/bhj/wCA1wEAGEj+/uC2/wCJ1wEAAAD39/f3/wCS1wEApRTr2Nrr/wCb1wEAsS/SsqvS/wCk1wEAs1SsgHOs/wCt1wEAvbWIVCeI/wC21wEAvA7v5+Hv/wC/1wEA1kPJyZTH/wDI1wEA6t7d3Rx3/wDR1wEAuQj28e72/wDa1wEA0ynY17XY/wDj1wEA5Ivf32Ww/wDs1wEA7+jOzhJW/wD11wEAuQj28e72/wD+1wEA0ynY17XY/wAH2AEA5Ivf32Ww/wAQ2AEA6t7d3Rx3/wAZ2AEA7P+YmABD/wAi2AEAuQj28e72/wAr2AEAzCba1Lna/wA02AEA1kPJyZTH/wA92AEA5Ivf32Ww/wBG2AEA6t7d3Rx3/wBP2AEA7P+YmABD/wBY2AEAuQj28e72/wBh2AEAzCba1Lna/wBq2AEA1kPJyZTH/wBz2AEA5Ivf32Ww/wB82AEA6dHn5ymK/wCF2AEA7+jOzhJW/wCO2AEA7P+RkQA//wCX2AEAwwX59/T5/wCg2AEAvA7v5+Hv/wCp2AEAzCba1Lna/wCy2AEA1kPJyZTH/wC72AEA5Ivf32Ww/wDE2AEA6dHn5ymK/wDN2AEA7+jOzhJW/wDW2AEA7P+RkQA//wDf2AEAwwX59/T5/wDo2AEAvA7v5+Hv/wDx2AEAzCba1Lna/wD62AEA1kPJyZTH/wAD2QEA5Ivf32Ww/wAM2QEA6dHn5ymK/wAV2QEA7+jOzhJW/wAe2QEA7P+YmABD/wAn2QEA8v9nZwAf/wAw2QEAtAj17+31/wA82QEAqCXcvL3c/wBI2QEAsGSxdWux/wBU2QEAtgf38vD3/wBg2QEArRziy8ni/wBs2QEArTrInprI/wB42QEAtoCjalGj/wCE2QEAtgf38vD3/wCQ2QEArRziy8ni/wCc2QEArTrInprI/wCo2QEAsGSxdWux/wC02QEAvLmPVCeP/wDA2QEAtgf38vD3/wDM2QEAqhLr2trr/wDY2QEAqCXcvL3c/wDk2QEArTrInprI/wDw2QEAsGSxdWux/wD82QEAvLmPVCeP/wAI2gEAtgf38vD3/wAU2gEAqhLr2trr/wAg2gEAqCXcvL3c/wAs2gEArTrInprI/wA42gEArFO6gH26/wBE2gEAtoCjalGj/wBQ2gEAvtiGShSG/wBc2gEAvwL9/Pv9/wBo2gEAtAj17+31/wB02gEAqhLr2trr/wCA2gEAqCXcvL3c/wCM2gEArTrInprI/wCY2gEArFO6gH26/wCk2gEAtoCjalGj/wCw2gEAvtiGShSG/wC82gEAvwL9/Pv9/wDI2gEAtAj17+31/wDU2gEAqhLr2trr/wDg2gEAqCXcvL3c/wDs2gEArTrInprI/wD42gEArFO6gH26/wAE2wEAtoCjalGj/wAQ2wEAvLmPVCeP/wAc2wEAv/99PwB9/wAo2wEA8v9nZwAf/wAy2wEAlvFhBTBh/wA92wEA+dyyshgr/wBH2wEABaPW1mBN/wBR2wEADXf09KWC/wBb2wEADzb9/dvH/wBl2wEAjiDw0eXw/wBv2wEAjVfeksXe/wB52wEAj6fDQ5PD/wCD2wEAlM6sIWas/wCN2wEA8v9nZwAf/wCX2wEAlM6sIWas/wCi2wEAlvFhBTBh/wCt2wEA+dyyshgr/wC32wEABaPW1mBN/wDB2wEADXf09KWC/wDL2wEADzb9/dvH/wDV2wEAAAD39/f3/wDf2wEAjiDw0eXw/wDp2wEAjVfeksXe/wDz2wEAj6fDQ5PD/wD92wEADJbv74pi/wAG3AEAAAD39/f3/wAP3AEAj4DPZ6nP/wAY3AEA+P/KygAg/wAh3AEADXf09KWC/wAq3AEAjVfeksXe/wAz3AEAj/ewBXGw/wA83AEA+P/KygAg/wBF3AEADXf09KWC/wBO3AEAAAD39/f3/wBX3AEAjVfeksXe/wBg3AEAj/ewBXGw/wBp3AEA+dyyshgr/wBy3AEADJbv74pi/wB73AEADzb9/dvH/wCE3AEAjiDw0eXw/wCN3AEAj4DPZ6nP/wCW3AEAlM6sIWas/wCf3AEA+dyyshgr/wCo3AEADJbv74pi/wCx3AEADzb9/dvH/wC63AEAAAD39/f3/wDD3AEAjiDw0eXw/wDM3AEAj4DPZ6nP/wDV3AEAlM6sIWas/wDe3AEA+dyyshgr/wDn3AEABaPW1mBN/wDw3AEADXf09KWC/wD53AEADzb9/dvH/wAC3QEAjiDw0eXw/wAL3QEAjVfeksXe/wAU3QEAj6fDQ5PD/wAd3QEAlM6sIWas/wAm3QEA+dyyshgr/wAv3QEABaPW1mBN/wA43QEADXf09KWC/wBB3QEADzb9/dvH/wBK3QEAAAD39/f3/wBT3QEAjiDw0eXw/wBc3QEAjVfeksXe/wBl3QEAj6fDQ5PD/wBu3QEAlM6sIWas/wB33QEA8v9nZwAf/wCB3QEAAAAaGhoa/wCM3QEA+dyyshgr/wCW3QEABaPW1mBN/wCg3QEADXf09KWC/wCq3QEADzb9/dvH/wC03QEAAADg4ODg/wC+3QEAAAC6urq6/wDI3QEAAACHh4eH/wDS3QEAAABNTU1N/wDc3QEA8v9nZwAf/wDm3QEAAABNTU1N/wDx3QEAAAAaGhoa/wD83QEA+dyyshgr/wAG3gEABaPW1mBN/wAQ3gEADXf09KWC/wAa3gEADzb9/dvH/wAk3gEAAAD//////wAu3gEAAADg4ODg/wA43gEAAAC6urq6/wBC3gEAAACHh4eH/wBM3gEADJbv74pi/wBV3gEAAAD//////wBe3gEAAACZmZmZ/wBn3gEA+P/KygAg/wBw3gEADXf09KWC/wB53gEAAAC6urq6/wCC3gEAAABAQEBA/wCL3gEA+P/KygAg/wCU3gEADXf09KWC/wCd3gEAAAD//////wCm3gEAAAC6urq6/wCv3gEAAABAQEBA/wC43gEA+dyyshgr/wDB3gEADJbv74pi/wDK3gEADzb9/dvH/wDT3gEAAADg4ODg/wDc3gEAAACZmZmZ/wDl3gEAAABNTU1N/wDu3gEA+dyyshgr/wD33gEADJbv74pi/wAA3wEADzb9/dvH/wAJ3wEAAAD//////wAS3wEAAADg4ODg/wAb3wEAAACZmZmZ/wAk3wEAAABNTU1N/wAt3wEA+dyyshgr/wA23wEABaPW1mBN/wA/3wEADXf09KWC/wBI3wEADzb9/dvH/wBR3wEAAADg4ODg/wBa3wEAAAC6urq6/wBj3wEAAACHh4eH/wBs3wEAAABNTU1N/wB13wEA+dyyshgr/wB+3wEABaPW1mBN/wCH3wEADXf09KWC/wCQ3wEADzb9/dvH/wCZ3wEAAAD//////wCi3wEAAADg4ODg/wCr3wEAAAC6urq6/wC03wEAAACHh4eH/wC93wEAAABNTU1N/wDG3wEAAyD9/eDd/wDP3wEA9Fz6+p+1/wDY3wEA49zFxRuK/wDh3wEADRz+/uvi/wDq3wEA/Ej7+7S5/wDz3wEA7pP392ih/wD83wEA4P2urgF+/wAF4AEADRz+/uvi/wAO4AEA/Ej7+7S5/wAX4AEA7pP392ih/wAg4AEA49zFxRuK/wAp4AEA1fx6egF3/wAy4AEADRz+/uvi/wA74AEAAzz8/MXA/wBE4AEA9Fz6+p+1/wBN4AEA7pP392ih/wBW4AEA49zFxRuK/wBf4AEA1fx6egF3/wBo4AEADRz+/uvi/wBx4AEAAzz8/MXA/wB64AEA9Fz6+p+1/wCD4AEA7pP392ih/wCM4AEA5sPd3TSX/wCV4AEA4P2urgF+/wCe4AEA1fx6egF3/wCn4AEADgz///fz/wCw4AEAAyD9/eDd/wC54AEAAzz8/MXA/wDC4AEA9Fz6+p+1/wDL4AEA7pP392ih/wDU4AEA5sPd3TSX/wDd4AEA4P2urgF+/wDm4AEA1fx6egF3/wDv4AEADgz///fz/wD44AEAAyD9/eDd/wAB4QEAAzz8/MXA/wAK4QEA9Fz6+p+1/wAT4QEA7pP392ih/wAc4QEA5sPd3TSX/wAl4QEA4P2urgF+/wAu4QEA1fx6egF3/wA34QEAx/9qSQBq/wBA4QEA9f+lpQAm/wBM4QEAp6uVMTaV/wBZ4QEAAtDX1zAn/wBl4QEACrj09G1D/wBx4QEAFJ39/a5h/wB94QEAHm7+/uCQ/wCJ4QEAiBj44PP4/wCV4QEAikPpq9np/wCh4QEAj3HRdK3R/wCt4QEAl520RXW0/wC54QEA9f+lpQAm/wDF4QEAl520RXW0/wDS4QEAp6uVMTaV/wDf4QEAAtDX1zAn/wDr4QEACrj09G1D/wD34QEAFJ39/a5h/wAD4gEAHm7+/uCQ/wAP4gEAKkD///+//wAb4gEAiBj44PP4/wAn4gEAikPpq9np/wAz4gEAj3HRdK3R/wA/4gEADaT8/I1Z/wBK4gEAKkD///+//wBV4gEAj1bbkb/b/wBg4gEA/uHX1xkc/wBr4gEAFJ39/a5h/wB24gEAikPpq9np/wCB4gEAkcG2LHu2/wCM4gEA/uHX1xkc/wCX4gEAFJ39/a5h/wCi4gEAKkD///+//wCt4gEAikPpq9np/wC44gEAkcG2LHu2/wDD4gEAAtDX1zAn/wDO4gEADaT8/I1Z/wDZ4gEAHm7+/uCQ/wDk4gEAiBj44PP4/wDv4gEAj1bbkb/b/wD64gEAl520RXW0/wAF4wEAAtDX1zAn/wAQ4wEADaT8/I1Z/wAb4wEAHm7+/uCQ/wAm4wEAKkD///+//wAx4wEAiBj44PP4/wA84wEAj1bbkb/b/wBH4wEAl520RXW0/wBS4wEAAtDX1zAn/wBd4wEACrj09G1D/wBo4wEAFJ39/a5h/wBz4wEAHm7+/uCQ/wB+4wEAiBj44PP4/wCJ4wEAikPpq9np/wCU4wEAj3HRdK3R/wCf4wEAl520RXW0/wCq4wEAAtDX1zAn/wC14wEACrj09G1D/wDA4wEAFJ39/a5h/wDL4wEAHm7+/uCQ/wDW4wEAKkD///+//wDh4wEAiBj44PP4/wDs4wEAikPpq9np/wD34wEAj3HRdK3R/wAC5AEAl520RXW0/wAN5AEA9f+lpQAm/wAZ5AEAa/9oAGg3/wAm5AEAAtDX1zAn/wAy5AEACrj09G1D/wA+5AEAFJ39/a5h/wBK5AEAH3P+/uCL/wBW5AEAM2rv2e+L/wBi5AEAPoLZptlq/wBu5AEAU3m9Zr1j/wB65AEAZ9OYGphQ/wCG5AEA9f+lpQAm/wCS5AEAZ9OYGphQ/wCf5AEAa/9oAGg3/wCs5AEAAtDX1zAn/wC45AEACrj09G1D/wDE5AEAFJ39/a5h/wDQ5AEAH3P+/uCL/wDc5AEAKkD///+//wDo5AEAM2rv2e+L/wD05AEAPoLZptlq/wAA5QEAU3m9Zr1j/wAM5QEADaT8/I1Z/wAX5QEAKkD///+//wAi5QEAQojPkc9g/wAt5QEA/uHX1xkc/wA45QEAFJ39/a5h/wBD5QEAPoLZptlq/wBO5QEAYtKWGpZB/wBZ5QEA/uHX1xkc/wBk5QEAFJ39/a5h/wBv5QEAKkD///+//wB65QEAPoLZptlq/wCF5QEAYtKWGpZB/wCQ5QEAAtDX1zAn/wCb5QEADaT8/I1Z/wCm5QEAH3P+/uCL/wCx5QEAM2rv2e+L/wC85QEAQojPkc9g/wDH5QEAZ9OYGphQ/wDS5QEAAtDX1zAn/wDd5QEADaT8/I1Z/wDo5QEAH3P+/uCL/wDz5QEAKkD///+//wD+5QEAM2rv2e+L/wAJ5gEAQojPkc9g/wAU5gEAZ9OYGphQ/wAf5gEAAtDX1zAn/wAq5gEACrj09G1D/wA15gEAFJ39/a5h/wBA5gEAH3P+/uCL/wBL5gEAM2rv2e+L/wBW5gEAPoLZptlq/wBh5gEAU3m9Zr1j/wBs5gEAZ9OYGphQ/wB35gEAAtDX1zAn/wCC5gEACrj09G1D/wCN5gEAFJ39/a5h/wCY5gEAH3P+/uCL/wCj5gEAKkD///+//wCu5gEAM2rv2e+L/wC55gEAPoLZptlq/wDE5gEAU3m9Zr1j/wDP5gEAZ9OYGphQ/wDa5gEADSz+/uDS/wDj5gEACYv8/JJy/wDs5gEAAdPe3i0m/wD15gEADSX+/uXZ/wD+5gEAC2z8/K6R/wAH5wEAB7P7+2pK/wAQ5wEA/eDLyxgd/wAZ5wEADSX+/uXZ/wAi5wEAC2z8/K6R/wAr5wEAB7P7+2pK/wA05wEAAdPe3i0m/wA95wEA/eelpQ8V/wBG5wEADSX+/uXZ/wBP5wEADFz8/Luh/wBY5wEACYv8/JJy/wBh5wEAB7P7+2pK/wBq5wEAAdPe3i0m/wBz5wEA/eelpQ8V/wB85wEADSX+/uXZ/wCF5wEADFz8/Luh/wCO5wEACYv8/JJy/wCX5wEAB7P7+2pK/wCg5wEAA9Dv7zss/wCp5wEA/eDLyxgd/wCy5wEA+/+ZmQAN/wC75wEADg////Xw/wDE5wEADSz+/uDS/wDN5wEADFz8/Luh/wDW5wEACYv8/JJy/wDf5wEAB7P7+2pK/wDo5wEAA9Dv7zss/wDx5wEA/eDLyxgd/wD65wEA+/+ZmQAN/wAD6AEADg////Xw/wAM6AEADSz+/uDS/wAV6AEADFz8/Luh/wAe6AEACYv8/JJy/wAn6AEAB7P7+2pK/wAw6AEAA9Dv7zss/wA56AEA/eDLyxgd/wBC6AEA/eelpQ8V/wBL6AEA+f9nZwAN/wBU6AEA/uHk5Boc/wBd6AEAkrK4N364/wBm6AEAU5OvTa9K/wBv6AEA/uHk5Boc/wB46AEAkrK4N364/wCB6AEAU5OvTa9K/wCK6AEAz4SjmE6j/wCT6AEA/uHk5Boc/wCc6AEAkrK4N364/wCl6AEAU5OvTa9K/wCu6AEAz4SjmE6j/wC36AEAFf///38A/wDA6AEA/uHk5Boc/wDJ6AEAkrK4N364/wDS6AEAU5OvTa9K/wDb6AEAz4SjmE6j/wDk6AEAFf///38A/wDt6AEAKsz///8z/wD26AEA/uHk5Boc/wD/6AEAkrK4N364/wAI6QEAU5OvTa9K/wAR6QEAz4SjmE6j/wAa6QEAFf///38A/wAj6QEAKsz///8z/wAs6QEAD8GmplYo/wA16QEA/uHk5Boc/wA+6QEAkrK4N364/wBH6QEAU5OvTa9K/wBQ6QEAz4SjmE6j/wBZ6QEAFf///38A/wBi6QEAKsz///8z/wBr6QEAD8GmplYo/wB06QEA6Hn394G//wB96QEA/uHk5Boc/wCG6QEAkrK4N364/wCP6QEAU5OvTa9K/wCY6QEAz4SjmE6j/wCh6QEAFf///38A/wCq6QEAKsz///8z/wCz6QEAD8GmplYo/wC86QEA6Hn394G//wDF6QEAAACZmZmZ/wDO6QEAcnjCZsKl/wDX6QEAC5v8/I1i/wDg6QEAnE3LjaDL/wDp6QEAcnjCZsKl/wDy6QEAC5v8/I1i/wD76QEAnE3LjaDL/wAE6gEA5Gbn54rD/wAN6gEAcnjCZsKl/wAW6gEAC5v8/I1i/wAf6gEAnE3LjaDL/wAo6gEA5Gbn54rD/wAx6gEAOpvYpthU/wA66gEAcnjCZsKl/wBD6gEAC5v8/I1i/wBM6gEAnE3LjaDL/wBV6gEA5Gbn54rD/wBe6gEAOpvYpthU/wBn6gEAItD//9kv/wBw6gEAcnjCZsKl/wB56gEAC5v8/I1i/wCC6gEAnE3LjaDL/wCL6gEA5Gbn54rD/wCU6gEAOpvYpthU/wCd6gEAItD//9kv/wCm6gEAGVrl5cSU/wCv6gEAcnjCZsKl/wC46gEAC5v8/I1i/wDB6gEAnE3LjaDL/wDK6gEA5Gbn54rD/wDT6gEAOpvYpthU/wDc6gEAItD//9kv/wDl6gEAGVrl5cSU/wDu6gEAAACzs7Oz/wD36gEAeFTTjdPH/wAB6wEA01K9vIC9/wAM6wEAKkz///+z/wAW6wEAryXavrra/wAg6wEABIv7+4By/wAq6wEAkGTTgLHT/wA06wEAFpz9/bRi/wA+6wEAOobes95p/wBI6wEA6S/8/M3l/wBS6wEAAADZ2dnZ/wBc6wEAeFTTjdPH/wBm6wEA01K9vIC9/wBx6wEATSnrzOvF/wB86wEAKkz///+z/wCG6wEAryXavrra/wCQ6wEABIv7+4By/wCa6wEAkGTTgLHT/wCk6wEAFpz9/bRi/wCu6wEAOobes95p/wC46wEA6S/8/M3l/wDC6wEAAADZ2dnZ/wDM6wEAeFTTjdPH/wDW6wEA01K9vIC9/wDh6wEATSnrzOvF/wDs6wEAJZD//+1v/wD36wEAKkz///+z/wAB7AEAryXavrra/wAL7AEABIv7+4By/wAV7AEAkGTTgLHT/wAf7AEAFpz9/bRi/wAp7AEAOobes95p/wAz7AEA6S/8/M3l/wA97AEAAADZ2dnZ/wBH7AEAeFTTjdPH/wBQ7AEAKkz///+z/wBZ7AEAryXavrra/wBi7AEAeFTTjdPH/wBr7AEAKkz///+z/wB07AEAryXavrra/wB97AEABIv7+4By/wCG7AEAeFTTjdPH/wCP7AEAKkz///+z/wCY7AEAryXavrra/wCh7AEABIv7+4By/wCq7AEAkGTTgLHT/wCz7AEAeFTTjdPH/wC87AEAKkz///+z/wDF7AEAryXavrra/wDO7AEABIv7+4By/wDX7AEAkGTTgLHT/wDg7AEAFpz9/bRi/wDp7AEAeFTTjdPH/wDy7AEAKkz///+z/wD77AEAryXavrra/wAE7QEABIv7+4By/wAN7QEAkGTTgLHT/wAW7QEAFpz9/bRi/wAf7QEAOobes95p/wAo7QEAeFTTjdPH/wAx7QEAKkz///+z/wA67QEAryXavrra/wBD7QEABIv7+4By/wBM7QEAkGTTgLHT/wBV7QEAFpz9/bRi/wBe7QEAOobes95p/wBn7QEA6S/8/M3l/wBw7QEAeFTTjdPH/wB57QEAKkz///+z/wCC7QEAryXavrra/wCL7QEABIv7+4By/wCU7QEAkGTTgLHT/wCd7QEAFpz9/bRi/wCm7QEAOobes95p/wCv7QEA6S/8/M3l/wC47QEAAADZ2dnZ/wDB7QEA7f2engFC/wDP7QEAsYKiXk+i/wDe7QEA+rTV1T5P/wDs7QEACrj09G1D/wD67QEAFJ39/a5h/wAI7gEAH3P+/uCL/wAW7gEAMWD15vWY/wAk7gEAT0Hdq92k/wAy7gEAcnjCZsKl/wBA7gEAj7u9Moi9/wBO7gEA7f2engFC/wBc7gEAj7u9Moi9/wBr7gEAsYKiXk+i/wB67gEA+rTV1T5P/wCI7gEACrj09G1D/wCW7gEAFJ39/a5h/wCk7gEAH3P+/uCL/wCy7gEAKkD///+//wDA7gEAMWD15vWY/wDO7gEAT0Hdq92k/wDc7gEAcnjCZsKl/wDq7gEADaT8/I1Z/wD37gEAKkD///+//wAE7wEAUU3VmdWU/wAR7wEA/uHX1xkc/wAe7wEAFJ39/a5h/wAr7wEAT0Hdq92k/wA47wEAj8S6K4O6/wBF7wEA/uHX1xkc/wBS7wEAFJ39/a5h/wBf7wEAKkD///+//wBs7wEAT0Hdq92k/wB57wEAj8S6K4O6/wCG7wEA+rTV1T5P/wCT7wEADaT8/I1Z/wCg7wEAH3P+/uCL/wCt7wEAMWD15vWY/wC67wEAUU3VmdWU/wDH7wEAj7u9Moi9/wDU7wEA+rTV1T5P/wDh7wEADaT8/I1Z/wDu7wEAH3P+/uCL/wD77wEAKkD///+//wAI8AEAMWD15vWY/wAV8AEAUU3VmdWU/wAi8AEAj7u9Moi9/wAv8AEA+rTV1T5P/wA88AEACrj09G1D/wBJ8AEAFJ39/a5h/wBW8AEAH3P+/uCL/wBj8AEAMWD15vWY/wBw8AEAT0Hdq92k/wB98AEAcnjCZsKl/wCK8AEAj7u9Moi9/wCX8AEA+rTV1T5P/wCk8AEACrj09G1D/wCx8AEAFJ39/a5h/wC+8AEAH3P+/uCL/wDL8AEAKkD///+//wDY8AEAMWD15vWY/wDl8AEAT0Hdq92k/wDy8AEAcnjCZsKl/wD/8AEAj7u9Moi9/wAM8QEAkw//8Pj//wAb8QEAGCP6+uvX/wAt8QEAf///AP///wA38QEAcYD/f//U/wBH8QEAfw//8P///wBS8QEAKhr19fXc/wBd8QEAFzr//+TE/wBp8QEAAAAAAAAA/wB08QEAGTH//+vN/wCI8QEAqv//AAD//wCS8QEAwM7iiivi/wCi8QEAAL6lpSoq/wCt8QEAF2Pe3riH/wC88QEAgGegX56g/wDL8QEAP///f/8A/wDb8QEAEdrS0mke/wDq8QEAC6///39Q/wD18QEAmpPtZJXt/wAJ8gEAISL///jc/wAX8gEA9ufc3BQ8/wAk8gEAf///AP///wAu8gEAqv+LAACL/wA88gEAf/+LAIuL/wBK8gEAHu+4uIYL/wBd8gEAAACpqamp/wBr8gEAVf9kAGQA/wB68gEAAACpqamp/wCI8gEAJ269vbdr/wCX8gEA1P+LiwCL/wCo8gEAOo5rVWsv/wC88gEAF////4wA/wDM8gEAxsDMmTLM/wDc8gEAAP+LiwAA/wDp8gEACnnp6ZZ6/wD58gEAVT28j7yP/wAL8wEAr4+LSD2L/wAe8wEAf2dPL09P/wAx8wEAf2dPL09P/wBE8wEAgP/RAM7R/wBX8wEAx//TlADT/wBn8wEA6Ov//xST/wB18wEAiv//AL///wCG8wEAAABpaWlp/wCT8wEAAABpaWlp/wCg8wEAlOH/HpD//wCw8wEAAM6ysiIi/wC/8wEAHA////rw/wDQ8wEAVcCLIosi/wDh8wEA1P///wD//wDu8wEAAADc3Nzc/wD98wEAqgf/+Pj//wAN9AEAI////9cA/wAX9AEAHtna2qUg/wAm9AEAAACAgICA/wAw9AEAVf+AAIAA/wA79AEAO9D/rf8v/wBM9AEAAACAgICA/wBW9AEAVQ//8P/w/wBk9AEA6Zb//2m0/wBx9AEAAIzNzVxc/wCA9AEAwv+CSwCC/wCM9AEAKg/////w/wCX9AEAJmrw8OaM/wCi9AEAqhT65ub6/wCw9AEA8A////D1/wDD9AEAQP/8fPwA/wDS9AEAJjH///rN/wDk9AEAiT/mrdjm/wDz9AEAAHfw8ICA/wAD9QEAfx//4P///wAS9QEAKij6+vrS/wAs9QEAAADT09PT/wA79QEAVWTukO6Q/wBL9QEAAADT09PT/wBa9QEA+En//7bB/wBp9QEADIT//6B6/wB69QEAfdGyILKq/wCN9QEAj3X6h876/wCf9QEAlDiZd4iZ/wCz9QEAlDiZd4iZ/wDH9QEAlzTesMTe/wDb9QEAKh/////g/wDs9QEAVf//AP8A/wD29QEAVcDNMs0y/wAF9gEAFRT6+vDm/wAQ9gEA1P///wD//wAd9gEAAP+AgAAA/wAp9gEAcYDNZs2q/wA/9gEAqv/NAADN/wBP9gEAzJjTulXT/wBh9gEAt3zbk3Db/wBz9gEAZ6mzPLNx/wCH9gEAsI/ue2ju/wCc9gEAb//6APqa/wCz9gEAfafRSNHM/wDI9gEA5OTHxxWF/wDd9gEAqsZwGRlw/wDv9gEAagn/9f/6/wD+9gEABB7//+Th/wAN9wEAGkn//+S1/wAb9wEAGVH//96t/wAs9wEAqv+AAACA/wA29wEAGxf9/fXm/wBD9wEAKv+AgIAA/wBO9wEAOMCOa44j/wBd9wEAG////6UA/wBp9wEAC////0UA/wB49wEA1nva2nDW/wCE9wEAJkju7uiq/wCX9wEAVWT7mPuY/wCm9wEAf0Pur+7u/wC59wEA8Xzb23CT/wDM9wEAGin//+/V/wDc9wEAFEb//9q5/wDr9wEAFLDNzYU//wD19wEA9z///8DL/wD/9wEA1Ebd3aDd/wAJ+AEAhDvmsODm/wAZ+AEA1P+AgACA/wAl+AEAAP///wAA/wAu+AEAAD28vI+P/wA9+AEAn7XhQWnh/wBM+AEAEdyLi0UT/wBd+AEABIr6+oBy/wBp+AEAE5r09KRg/wB5+AEAZ6qLLotX/wCH+AEAERD///Xu/wCV+AEADbegoFIt/wCh+AEAAADAwMDA/wCt+AEAi2zrh87r/wC6+AEAr4/NalrN/wDJ+AEAlDiQcICQ/wDY+AEAlDiQcICQ/wDn+AEAAAX///r6/wDx+AEAav//AP9//wAC+QEAkpu0RoK0/wAR+QEAGFTS0rSM/wAa+QEAf/+AAICA/wAk+QEA1B3Y2L/Y/wAx+QEABrj//2NH/wA9+QEAe7bgQODQ/wBM+QEA1HPu7oLu/wBY+QEAG0T19d6z/wBj+QEAAAD//////wBu+QEAAAD19fX1/wB++QEAKv////8A/wCK+QEAOMDNms0y/wCb+QEALUP89/y5/wCk+QEARFvdrd2O/wCt+QEAYrKjMaNU/wC2+QEAKjL////M/wC/+QEAPlXmwuaZ/wDI+QEAVWTGeMZ5/wDR+QEAY7uEI4RD/wDa+QEAKjL////M/wDj+QEAPlXmwuaZ/wDs+QEAVWTGeMZ5/wD1+QEAYrKjMaNU/wD++QEAa/9oAGg3/wAH+gEAKjL////M/wAQ+gEAN1Hw2fCj/wAZ+gEARFvdrd2O/wAi+gEAVWTGeMZ5/wAr+gEAYrKjMaNU/wA0+gEAa/9oAGg3/wA9+gEAKjL////M/wBG+gEAN1Hw2fCj/wBP+gEARFvdrd2O/wBY+gEAVWTGeMZ5/wBh+gEAYJ6rQatd/wBq+gEAY7uEI4RD/wBz+gEAbP9aAFoy/wB8+gEAKhn////l/wCF+gEALUP89/y5/wCO+gEAN1Hw2fCj/wCX+gEARFvdrd2O/wCg+gEAVWTGeMZ5/wCp+gEAYJ6rQatd/wCy+gEAY7uEI4RD/wC7+gEAbP9aAFoy/wDE+gEAKhn////l/wDN+gEALUP89/y5/wDW+gEAN1Hw2fCj/wDf+gEARFvdrd2O/wDo+gEAVWTGeMZ5/wDx+gEAYJ6rQatd/wD6+gEAY7uEI4RD/wAD+wEAa/9oAGg3/wAM+wEAbv9FAEUp/wAV+wEAMUn47fix/wAg+wEAdWHNf827/wAr+wEAkMK4LH+4/wA2+wEAKjL////M/wBB+wEAY0Laodq0/wBM+wEAhKrEQbbE/wBX+wEAlsuoIl6o/wBi+wEAKjL////M/wBt+wEAY0Laodq0/wB4+wEAhKrEQbbE/wCD+wEAkMK4LH+4/wCO+wEApL+UJTSU/wCZ+wEAKjL////M/wCk+wEARTrpx+m0/wCv+wEAdWHNf827/wC6+wEAhKrEQbbE/wDF+wEAkMK4LH+4/wDQ+wEApL+UJTSU/wDb+wEAKjL////M/wDm+wEARTrpx+m0/wDx+wEAdWHNf827/wD8+wEAhKrEQbbE/wAH/AEAi9jAHZHA/wAS/AEAlsuoIl6o/wAd/AEAnueEDCyE/wAo/AEAKib////Z/wAz/AEAMUn47fix/wA+/AEARTrpx+m0/wBJ/AEAdWHNf827/wBU/AEAhKrEQbbE/wBf/AEAi9jAHZHA/wBq/AEAlsuoIl6o/wB1/AEAnueEDCyE/wCA/AEAKib////Z/wCL/AEAMUn47fix/wCW/AEARTrpx+m0/wCh/AEAdWHNf827/wCs/AEAhKrEQbbE/wC3/AEAi9jAHZHA/wDC/AEAlsuoIl6o/wDN/AEApL+UJTSU/wDY/AEAnudYCB1Y/wDj/AEAJUL///e8/wDu/AEAHK/+/sRP/wD5/AEAEO7Z2V8O/wAE/QEAKir////U/wAP/QEAHHD+/tmO/wAa/QEAFtX+/pkp/wAl/QEAD/zMzEwC/wAw/QEAKir////U/wA7/QEAHHD+/tmO/wBG/QEAFtX+/pkp/wBR/QEAEO7Z2V8O/wBc/QEADfiZmTQE/wBn/QEAKir////U/wBy/QEAH23+/uOR/wB9/QEAHK/+/sRP/wCI/QEAFtX+/pkp/wCT/QEAEO7Z2V8O/wCe/QEADfiZmTQE/wCp/QEAKir////U/wC0/QEAH23+/uOR/wC//QEAHK/+/sRP/wDK/QEAFtX+/pkp/wDV/QEAEuns7HAU/wDg/QEAD/zMzEwC/wDr/QEADPeMjC0E/wD2/QEAKhn////l/wAB/gEAJUL///e8/wAM/gEAH23+/uOR/wAX/gEAHK/+/sRP/wAi/gEAFtX+/pkp/wAt/gEAEuns7HAU/wA4/gEAD/zMzEwC/wBD/gEADPeMjC0E/wBO/gEAKhn////l/wBZ/gEAJUL///e8/wBk/gEAH23+/uOR/wBv/gEAHK/+/sRP/wB6/gEAFtX+/pkp/wCF/gEAEuns7HAU/wCQ/gEAD/zMzEwC/wCb/gEADfiZmTQE/wCm/gEADfBmZiUG/wCx/gEAIl///+2g/wC8/gEAGLL+/rJM/wDH/gEABd3w8Dsg/wDS/gEAKk3///+y/wDd/gEAHaL+/sxc/wDo/gEAEcL9/Y08/wDz/gEA/uHj4xoc/wD+/gEAKk3///+y/wAJ/wEAHaL+/sxc/wAU/wEAEcL9/Y08/wAf/wEABd3w8Dsg/wAq/wEA9v+9vQAm/wA1/wEAKk3///+y/wBA/wEAHoj+/tl2/wBL/wEAGLL+/rJM/wBW/wEAEcL9/Y08/wBh/wEABd3w8Dsg/wBs/wEA9v+9vQAm/wB3/wEAKk3///+y/wCC/wEAHoj+/tl2/wCN/wEAGLL+/rJM/wCY/wEAEcL9/Y08/wCj/wEAB9T8/E4q/wCu/wEA/uHj4xoc/wC5/wEA9f+xsQAm/wDE/wEAKjL////M/wDP/wEAIl///+2g/wDa/wEAHoj+/tl2/wDl/wEAGLL+/rJM/wDw/wEAEcL9/Y08/wD7/wEAB9T8/E4q/wAGAAIA/uHj4xoc/wARAAIA9f+xsQAm/wAcAAIAKjL////M/wAnAAIAIl///+2g/wAyAAIAHoj+/tl2/wA9AAIAGLL+/rJM/wBIAAIAEcL9/Y08/wBTAAIAB9T8/E4q/wBeAAIA/uHj4xoc/wBpAAIA9v+9vQAm/wB0AAIA8v+AgAAm/wB/AAIAkw//8Pj//wCJAAIAGCP6+uvX/wCWAAIAFyT//+/b/wCkAAIAFyTu7t/M/wCyAAIAFyTNzcCw/wDAAAIAGCKLi4N4/wDOAAIAcYD/f//U/wDZAAIAcYD/f//U/wDlAAIAcYDudu7G/wDxAAIAcYDNZs2q/wD9AAIAcYCLRYt0/wAJAQIAfw//8P///wAPAQIAfw//8P///wAWAQIAfw/u4O7u/wAdAQIAfw7Nwc3N/wAkAQIAfw6Lg4uL/wArAQIAKhr19fXc/wAxAQIAFzr//+TE/wA4AQIAFzr//+TE/wBAAQIAFzru7tW3/wBIAQIAFjrNzbee/wBQAQIAFzqLi31r/wBiGAIAAAAAAAAA/wBYAQIAGTH//+vN/wBnAQIAqv//AAD//wBsAQIAqv//AAD//wByAQIAqv/uAADu/wB4AQIAqv/NAADN/wB+AQIAqv+LAACL/wCEAQIAwM7iiivi/wCPAQIAAL6lpSoq/wCVAQIAAL///0BA/wCcAQIAAL/u7js7/wCjAQIAAL/NzTMz/wCqAQIAAL6LiyMj/wCxAQIAF2Pe3riH/wC7AQIAF2T//9Ob/wDGAQIAF2Pu7sWR/wDRAQIAF2PNzap9/wDcAQIAF2OLi3NV/wDnAQIAgGegX56g/wDxAQIAg2f/mPX//wD8AQIAg2bujuXu/wAHAgIAg2fNesXN/wASAgIAg2aLU4aL/wAdAgIAP///f/8A/wAoAgIAP///f/8A/wA0AgIAP//udu4A/wBAAgIAP//NZs0A/wBMAgIAP/+LRYsA/wBYAgIAEdrS0mke/wBiAgIAEdv//38k/wBtAgIAEdvu7nYh/wB4AgIAEdrNzWYd/wCDAgIAEdyLi0UT/wCOAgIAC6///39Q/wCUAgIAB6n//3JW/wCbAgIABqnu7mpQ/wCiAgIABqnNzVtF/wCpAgIABqiLiz4v/wCwAgIAmpPtZJXt/wC/AgIAISL///jc/wDIAgIAISL///jc/wDSAgIAIiPu7ujN/wDcAgIAIiLNzcix/wDmAgIAIyKLi4h4/wDwAgIA9ufc3BQ8/wD4AgIAf///AP///wD9AgIAf///AP///wADAwIAf//uAO7u/wAJAwIAf//NAM3N/wAPAwIAf/+LAIuL/wAVAwIAHu+4uIYL/wAjAwIAHvD//7kP/wAyAwIAHvDu7q0O/wBBAwIAHvDNzZUM/wBQAwIAHvCLi2UI/wBfAwIAVf9kAGQA/wBpAwIAJ269vbdr/wBzAwIAOo5rVWsv/wCCAwIAOo//yv9w/wCSAwIAOo/uvO5o/wCiAwIAOo/Nos1a/wCyAwIAOo+Lbos9/wDCAwIAF////4wA/wDNAwIAFf///38A/wDZAwIAFf/u7nYA/wDlAwIAFf/NzWYA/wDxAwIAFf+Li0UA/wD9AwIAxsDMmTLM/wAIBAIAxsH/vz7//wAUBAIAxsDusjru/wAgBAIAxsDNmjLN/wAsBAIAxsCLaCKL/wA4BAIACnnp6ZZ6/wBDBAIAVT28j7yP/wBQBAIAVT7/wf/B/wBeBAIAVT7utO60/wBsBAIAVT7Nm82b/wB6BAIAVT6LaYtp/wCIBAIAr4+LSD2L/wCWBAIAf2dPL09P/wCkBAIAf2j/l////wCzBAIAf2fuje7u/wDCBAIAf2jNec3N/wDRBAIAf2iLUouL/wDgBAIAf2dPL09P/wDuBAIAgP/RAM7R/wD8BAIAx//TlADT/wAHBQIA6Ov//xST/wAQBQIA6Ov//xST/wAaBQIA6Ovu7hKJ/wAkBQIA6OvNzRB2/wAuBQIA5+yLiwpQ/wA4BQIAiv//AL///wBEBQIAiv//AL///wBRBQIAiv/uALLu/wBeBQIAiv/NAJrN/wBrBQIAiv+LAGiL/wB4BQIAAABpaWlp/wCABQIAAABpaWlp/wCIBQIAlOH/HpD//wCTBQIAlOH/HpD//wCfBQIAlOHuHIbu/wCrBQIAlOHNGHTN/wC3BQIAlOGLEE6L/wDDBQIAAM6ysiIi/wDNBQIAAM///zAw/wDYBQIAAM/u7iws/wDjBQIAAM/NzSYm/wDuBQIAAM+Lixoa/wD5BQIAHA////rw/wAFBgIAVcCLIosi/wARBgIAAADc3Nzc/wAbBgIAqgf/+Pj//wAmBgIAI////9cA/wArBgIAI////9cA/wAxBgIAI//u7skA/wA3BgIAI//Nza0A/wA9BgIAI/+Li3UA/wBDBgIAHtna2qUg/wBNBgIAHtr//8El/wBYBgIAHtru7rQi/wBjBgIAHtrNzZsd/wBuBgIAHtqLi2kU/wB5BgIAAADAwMDA/wB+BgIAAAAAAAAA/wCEBgIAAAADAwMD/wCKBgIAAAAaGhoa/wCRBgIAAAD//////wCZBgIAAAAcHBwc/wCgBgIAAAAfHx8f/wCnBgIAAAAhISEh/wCuBgIAAAAkJCQk/wC1BgIAAAAmJiYm/wC8BgIAAAApKSkp/wDDBgIAAAArKysr/wDKBgIAAAAuLi4u/wDRBgIAAAAwMDAw/wDYBgIAAAAFBQUF/wDeBgIAAAAzMzMz/wDlBgIAAAA2NjY2/wDsBgIAAAA4ODg4/wDzBgIAAAA7Ozs7/wD6BgIAAAA9PT09/wABBwIAAABAQEBA/wAIBwIAAABCQkJC/wAPBwIAAABFRUVF/wAWBwIAAABHR0dH/wAdBwIAAABKSkpK/wAkBwIAAAAICAgI/wAqBwIAAABNTU1N/wAxBwIAAABPT09P/wA4BwIAAABSUlJS/wA/BwIAAABUVFRU/wBGBwIAAABXV1dX/wBNBwIAAABZWVlZ/wBUBwIAAABcXFxc/wBbBwIAAABeXl5e/wBiBwIAAABhYWFh/wBpBwIAAABjY2Nj/wBwBwIAAAAKCgoK/wB2BwIAAABmZmZm/wB9BwIAAABpaWlp/wCEBwIAAABra2tr/wCLBwIAAABubm5u/wCSBwIAAABwcHBw/wCZBwIAAABzc3Nz/wCgBwIAAAB1dXV1/wCnBwIAAAB4eHh4/wCuBwIAAAB6enp6/wC1BwIAAAB9fX19/wC8BwIAAAANDQ0N/wDCBwIAAAB/f39//wDJBwIAAACCgoKC/wDQBwIAAACFhYWF/wDXBwIAAACHh4eH/wDeBwIAAACKioqK/wDlBwIAAACMjIyM/wDsBwIAAACPj4+P/wDzBwIAAACRkZGR/wD6BwIAAACUlJSU/wABCAIAAACWlpaW/wAICAIAAAAPDw8P/wAOCAIAAACZmZmZ/wAVCAIAAACcnJyc/wAcCAIAAACenp6e/wAjCAIAAAChoaGh/wAqCAIAAACjo6Oj/wAxCAIAAACmpqam/wA4CAIAAACoqKio/wA/CAIAAACrq6ur/wBGCAIAAACtra2t/wBNCAIAAACwsLCw/wBUCAIAAAASEhIS/wBaCAIAAACzs7Oz/wBhCAIAAAC1tbW1/wBoCAIAAAC4uLi4/wBvCAIAAAC6urq6/wB2CAIAAAC9vb29/wB9CAIAAAC/v7+//wCECAIAAADCwsLC/wCLCAIAAADExMTE/wCSCAIAAADHx8fH/wCZCAIAAADJycnJ/wCgCAIAAAAUFBQU/wCmCAIAAADMzMzM/wCtCAIAAADPz8/P/wC0CAIAAADR0dHR/wC7CAIAAADU1NTU/wDCCAIAAADW1tbW/wDJCAIAAADZ2dnZ/wDQCAIAAADb29vb/wDXCAIAAADe3t7e/wDeCAIAAADg4ODg/wDlCAIAAADj4+Pj/wDsCAIAAAAXFxcX/wDyCAIAAADl5eXl/wD5CAIAAADo6Ojo/wAACQIAAADr6+vr/wAHCQIAAADt7e3t/wAOCQIAAADw8PDw/wAVCQIAAADy8vLy/wAcCQIAAAD19fX1/wAjCQIAAAD39/f3/wAqCQIAAAD6+vr6/wAxCQIAAAD8/Pz8/wA4CQIAVf//AP8A/wA+CQIAVf//AP8A/wBFCQIAVf/uAO4A/wBMCQIAVf/NAM0A/wBTCQIAVf+LAIsA/wBaCQIAO9D/rf8v/wBmCQIAAADAwMDA/wBrCQIAAAAAAAAA/wBxCQIAAAADAwMD/wB3CQIAAAAaGhoa/wB+CQIAAAD//////wCGCQIAAAAcHBwc/wCNCQIAAAAfHx8f/wCUCQIAAAAhISEh/wCbCQIAAAAkJCQk/wCiCQIAAAAmJiYm/wCpCQIAAAApKSkp/wCwCQIAAAArKysr/wC3CQIAAAAuLi4u/wC+CQIAAAAwMDAw/wDFCQIAAAAFBQUF/wDLCQIAAAAzMzMz/wDSCQIAAAA2NjY2/wDZCQIAAAA4ODg4/wDgCQIAAAA7Ozs7/wDnCQIAAAA9PT09/wDuCQIAAABAQEBA/wD1CQIAAABCQkJC/wD8CQIAAABFRUVF/wADCgIAAABHR0dH/wAKCgIAAABKSkpK/wARCgIAAAAICAgI/wAXCgIAAABNTU1N/wAeCgIAAABPT09P/wAlCgIAAABSUlJS/wAsCgIAAABUVFRU/wAzCgIAAABXV1dX/wA6CgIAAABZWVlZ/wBBCgIAAABcXFxc/wBICgIAAABeXl5e/wBPCgIAAABhYWFh/wBWCgIAAABjY2Nj/wBdCgIAAAAKCgoK/wBjCgIAAABmZmZm/wBqCgIAAABpaWlp/wBxCgIAAABra2tr/wB4CgIAAABubm5u/wB/CgIAAABwcHBw/wCGCgIAAABzc3Nz/wCNCgIAAAB1dXV1/wCUCgIAAAB4eHh4/wCbCgIAAAB6enp6/wCiCgIAAAB9fX19/wCpCgIAAAANDQ0N/wCvCgIAAAB/f39//wC2CgIAAACCgoKC/wC9CgIAAACFhYWF/wDECgIAAACHh4eH/wDLCgIAAACKioqK/wDSCgIAAACMjIyM/wDZCgIAAACPj4+P/wDgCgIAAACRkZGR/wDnCgIAAACUlJSU/wDuCgIAAACWlpaW/wD1CgIAAAAPDw8P/wD7CgIAAACZmZmZ/wACCwIAAACcnJyc/wAJCwIAAACenp6e/wAQCwIAAAChoaGh/wAXCwIAAACjo6Oj/wAeCwIAAACmpqam/wAlCwIAAACoqKio/wAsCwIAAACrq6ur/wAzCwIAAACtra2t/wA6CwIAAACwsLCw/wBBCwIAAAASEhIS/wBHCwIAAACzs7Oz/wBOCwIAAAC1tbW1/wBVCwIAAAC4uLi4/wBcCwIAAAC6urq6/wBjCwIAAAC9vb29/wBqCwIAAAC/v7+//wBxCwIAAADCwsLC/wB4CwIAAADExMTE/wB/CwIAAADHx8fH/wCGCwIAAADJycnJ/wCNCwIAAAAUFBQU/wCTCwIAAADMzMzM/wCaCwIAAADPz8/P/wChCwIAAADR0dHR/wCoCwIAAADU1NTU/wCvCwIAAADW1tbW/wC2CwIAAADZ2dnZ/wC9CwIAAADb29vb/wDECwIAAADe3t7e/wDLCwIAAADg4ODg/wDSCwIAAADj4+Pj/wDZCwIAAAAXFxcX/wDfCwIAAADl5eXl/wDmCwIAAADo6Ojo/wDtCwIAAADr6+vr/wD0CwIAAADt7e3t/wD7CwIAAADw8PDw/wACDAIAAADy8vLy/wAJDAIAAAD19fX1/wAQDAIAAAD39/f3/wAXDAIAAAD6+vr6/wAeDAIAAAD8/Pz8/wAlDAIAVQ//8P/w/wAuDAIAVQ//8P/w/wA4DAIAVQ/u4O7g/wBCDAIAVQ7Nwc3B/wBMDAIAVQ6Lg4uD/wBWDAIA6Zb//2m0/wBeDAIA6pH//260/wBnDAIA643u7mqn/wBwDAIA7IfNzWCQ/wB5DAIA6pSLizpi/wCCDAIAAIzNzVxc/wCMDAIAAJT//2pq/wCXDAIAAJTu7mNj/wCiDAIAAJXNzVVV/wCtDAIAAJSLizo6/wC4DAIAwv+CSwCC/wC/DAIAKgD////+AADFDAIAKg/////w/wDLDAIAKg/////w/wDSDAIAKg/u7u7g/wDZDAIAKg7Nzc3B/wDgDAIAKg6Li4uD/wDnDAIAJmrw8OaM/wDtDAIAJ3D///aP/wD0DAIAJ3Du7uaF/wD7DAIAJ2/NzcZz/wACDQIAJ2+Li4ZO/wAJDQIAqhT65ub6/wASDQIA8A////D1/wAgDQIA8A////D1/wAvDQIA7w/u7uDl/wA+DQIA8A7NzcHF/wBNDQIA7w6Li4OG/wBcDQIAQP/8fPwA/wBmDQIAJjH///rN/wBzDQIAJjH///rN/wCBDQIAJTLu7um//wCPDQIAJjHNzcml/wCdDQIAJzGLi4lw/wCrDQIAiT/mrdjm/wC1DQIAikD/v+///wDADQIAikDust/u/wDLDQIAij/NmsDN/wDWDQIAiUCLaIOL/wDhDQIAAHfw8ICA/wDsDQIAfx//4P///wD2DQIAfx//4P///wABDgIAfx/u0e7u/wAMDgIAfx/NtM3N/wAXDgIAfx+LeouL/wAiDgIAI3Pu7t2C/wAxDgIAI3T//+yL/wBBDgIAI3Pu7tyC/wBRDgIAI3PNzb5w/wBhDgIAI3OLi4FM/wBxDgIAKij6+vrS/wCGDgIAAADT09PT/wCQDgIAAADT09PT/wCaDgIA+En//7bB/wCkDgIA+VH//665/wCvDgIA+FHu7qKt/wC6DgIA+VDNzYyV/wDFDgIA+VCLi19l/wDQDgIADIT//6B6/wDcDgIADIT//6B6/wDpDgIAC4Tu7pVy/wD2DgIADIXNzYFi/wADDwIADIWLi1dC/wAQDwIAfdGyILKq/wAeDwIAj3X6h876/wArDwIAj0//sOL//wA5DwIAj0/upNPu/wBHDwIAjk/NjbbN/wBVDwIAj06LYHuL/wBjDwIAr4//hHD//wByDwIAlDiZd4iZ/wCBDwIAlDiZd4iZ/wCQDwIAlzTesMTe/wCfDwIAlzX/yuH//wCvDwIAlzXuvNLu/wC/DwIAlzXNorXN/wDPDwIAljWLbnuL/wDfDwIAKh/////g/wDrDwIAKh/////g/wD4DwIAKh/u7u7R/wAFEAIAKh/Nzc20/wASEAIAKh+Li4t6/wAfEAIAVcDNMs0y/wApEAIAFRT6+vDm/wAvEAIA1P///wD//wA3EAIA1P///wD//wBAEAIA1P/u7gDu/wBJEAIA1P/NzQDN/wBSEAIA1P+LiwCL/wBbEAIA77mwsDBg/wBiEAIA5Mv//zSz/wBqEAIA5Mvu7jCn/wByEAIA5MzNzSmQ/wB6EAIA5MuLixxi/wCCEAIAcYDNZs2q/wCTEAIAqv/NAADN/wCeEAIAzJjTulXT/wCrEAIAy5n/4Gb//wC5EAIAy5nu0V/u/wDHEAIAy5nNtFLN/wDVEAIAy5qLejeL/wDjEAIAt3zbk3Db/wDwEAIAt33/q4L//wD+EAIAt33un3nu/wAMEQIAt33NiWjN/wAaEQIAt3yLXUeL/wAoEQIAZ6mzPLNx/wA3EQIAsI/ue2ju/wBHEQIAb//6APqa/wBZEQIAfafRSNHM/wBpEQIA5OTHxxWF/wB5EQIAqsZwGRlw/wCGEQIAagn/9f/6/wCQEQIABB7//+Th/wCaEQIABB7//+Th/wClEQIABB7u7tXS/wCwEQIAAx3Nzbe1/wC7EQIABR2Li317/wDGEQIAGkn//+S1/wDPEQIAGVH//96t/wDbEQIAGVH//96t/wDoEQIAGVLu7s+h/wD1EQIAGVLNzbOL/wACEgIAGVKLi3le/wAPEgIAqv+AAACA/wAUEgIAqv+AAACA/wAdEgIAKgD////+AAAiEgIAGxf9/fXm/wAqEgIAOMCOa44j/wA0EgIAOMH/wP8+/wA/EgIAOMDus+46/wBKEgIAOMDNms0y/wBVEgIAOMCLaYsi/wBgEgIAG////6UA/wBnEgIAG////6UA/wBvEgIAG//u7poA/wB3EgIAG//NzYUA/wB/EgIAG/+Li1oA/wCHEgIAC////0UA/wCREgIAC////0UA/wCcEgIAC//u7kAA/wCnEgIAC//NzTcA/wCyEgIAC/+LiyUA/wC9EgIA1nva2nDW/wDEEgIA1nz//4P6/wDMEgIA1nzu7nrp/wDUEgIA1nzNzWnJ/wDcEgIA1XyLi0eJ/wDkEgIAJkju7uiq/wDyEgIAVWT7mPuY/wD8EgIAVWX/mv+a/wAHEwIAVWTukO6Q/wASEwIAVWTNfM18/wAdEwIAVWSLVItU/wAoEwIAf0Pur+7u/wA2EwIAf0T/u////wBFEwIAf0Turu7u/wBUEwIAf0TNls3N/wBjEwIAf0OLZouL/wByEwIA8Xzb23CT/wCAEwIA8X3//4Kr/wCPEwIA8X3u7nmf/wCeEwIA8X3NzWiJ/wCtEwIA8XyLi0dd/wC8EwIAGin//+/V/wDHEwIAFEb//9q5/wDREwIAFEb//9q5/wDcEwIAE0Xu7sut/wDnEwIAE0XNza+V/wDyEwIAFEWLi3dl/wD9EwIAFLDNzYU//wACFAIA9z///8DL/wAHFAIA9Un//7XF/wANFAIA9Unu7qm4/wATFAIA9UrNzZGe/wAZFAIA9UmLi2Ns/wAfFAIA1Ebd3aDd/wAkFAIA1ET//7v//wAqFAIA1ETu7q7u/wAwFAIA1ETNzZbN/wA2FAIA1EOLi2aL/wA8FAIAhDvmsODm/wBHFAIAxN3woCDw/wBOFAIAv8//mzD//wBWFAIAwM/ukSzu/wBeFAIAwM/NfSbN/wBmFAIAwM+LVRqL/wBuFAIAAP///wAA/wByFAIAAP///wAA/wB3FAIAAP/u7gAA/wB8FAIAAP/NzQAA/wCBFAIAAP+LiwAA/wCGFAIAAD28vI+P/wCQFAIAAD7//8HB/wCbFAIAAD7u7rS0/wCmFAIAAD7NzZub/wCxFAIAAD6Li2lp/wC8FAIAn7XhQWnh/wDGFAIAn7f/SHb//wDRFAIAn7fuQ27u/wDcFAIAn7bNOl/N/wDnFAIAn7eLJ0CL/wDyFAIAEdyLi0UT/wD+FAIABIr6+oBy/wAFFQIACZb//4xp/wANFQIACZbu7oJi/wAVFQIACZbNzXBU/wAdFQIACZaLi0w5/wAlFQIAE5r09KRg/wAwFQIAZ6qLLotX/wA5FQIAZ6v/VP+f/wBDFQIAZ6vuTu6U/wBNFQIAZ6vNQ82A/wBXFQIAZ6qLLotX/wBhFQIAERD///Xu/wBqFQIAERD///Xu/wB0FQIAEhHu7uXe/wB+FQIAEhHNzcW//wCIFQIAEhCLi4aC/wCSFQIADbegoFIt/wCZFQIADbj//4JH/wChFQIADbju7nlC/wCpFQIADbjNzWg5/wCxFQIADbmLi0cm/wC5FQIAi2zrh87r/wDBFQIAkHj/h87//wDKFQIAkHjufsDu/wDTFQIAkHjNbKbN/wDcFQIAkXeLSnCL/wDlFQIAr4/NalrN/wDvFQIAr5D/g2///wD6FQIAr5Duemfu/wAFFgIAr5DNaVnN/wAQFgIAr5CLRzyL/wAbFgIAlDiQcICQ/wAlFgIAlTj/xuL//wAwFgIAlTjuudPu/wA7FgIAlDnNn7bN/wBGFgIAlTiLbHuL/wBRFgIAlDiQcICQ/wBbFgIAAAX///r6/wBgFgIAAAX///r6/wBmFgIAAAXu7unp/wBsFgIAAATNzcnJ/wByFgIAAAOLi4mJ/wB4FgIAav//AP9//wCEFgIAav//AP9//wCRFgIAav/uAO52/wCeFgIAav/NAM1m/wCrFgIAav+LAItF/wC4FgIAkpu0RoK0/wDCFgIAkpz/Y7j//wDNFgIAkpzuXKzu/wDYFgIAkpzNT5TN/wDjFgIAk5uLNmSL/wDuFgIAGFTS0rSM/wDyFgIAFLD//6VP/wD3FgIAFLDu7ppJ/wD8FgIAFLDNzYU//wABFwIAFLCLi1or/wAGFwIA1B3Y2L/Y/wAOFwIA1B7//+H//wAXFwIA1B7u7tLu/wAgFwIA1B3NzbXN/wApFwIA1B2Li3uL/wAyFwIABrj//2NH/wA5FwIABrj//2NH/wBBFwIABrju7lxC/wBJFwIABrjNzU85/wBRFwIABrmLizYm/wCjGAIAKgD////+AABZFwIAe7bgQODQ/wBjFwIAgf//APX//wBuFwIAgf/uAOXu/wB5FwIAgf/NAMXN/wCEFwIAgf+LAIaL/wCPFwIA1HPu7oLu/wCWFwIA49fQ0CCQ/wCgFwIA68H//z6W/wCrFwIA68Du7jqM/wC2FwIA68DNzTJ4/wDBFwIA68CLiyJS/wDMFwIAG0T19d6z/wDSFwIAG0X//+e6/wDZFwIAG0Tu7tiu/wDgFwIAG0TNzbqW/wDnFwIAG0OLi35m/wDuFwIAAAD//////wD0FwIAAAD19fX1/wD/FwIAKv////8A/wAGGAIAKv////8A/wAOGAIAKv/u7u4A/wAWGAIAKv/Nzc0A/wAeGAIAKv+Li4sA/wAmGAIAOMDNms0y/wCaHAIAfywCALYYAgC4GAIAuhgCALwYAgC+GAIAwBgCAMIYAgDEGAIAxhgCAMkYAgDMGAIAzxgCANIYAgDVGAIA2BgCANsYAgDeGAIA4RgCAOQYAgAAAAAABAAAAAQAAAALAAAANgAAABYAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAADGJQIACQAAAMwlAgAKAAAA1SUCAAsAAAAXJgIADAAAAB0mAgANAAAAIiYCAA4AAADVJQIADwAAAKomAgAQAAAAsSYCABEAAAC5JgIAEgAAAMAmAgATAAAAzCYCABQAAAAXJgIAFQAAANgmAgAWAAAA4CYCABcAAADqJgIAGAAAAPgmAgAZAAAA/yYCABoAAAAEJwIAGwAAAAcnAgAcAAAADCcCAB0AAAAUJwIAHgAAABonAgAfAAAAICcCACAAAAAnJwIAIQAAAC0nAgAhAAAANScCACIAAAA8JwIAIwAAANUlAgAkAAAAsSYCABEAAAC5JgIAEgAAADMpAgAlAAAAwCYCABMAAADMJgIAFAAAABcmAgAVAAAAPikCACYAAADgJgIAFwAAAOomAgAYAAAA+CYCABkAAAD/JgIAGgAAAAQnAgAbAAAABycCABwAAABGKQIAJwAAABQnAgAeAAAAGicCAB8AAAAgJwIAIAAAACcnAgAhAAAALScCACEAAAA1JwIAIgAAADwnAgAjAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAABP7//4f+//8HAAAAAAAAAAD//3////9///////////N//v3//////3///////////w/g/////zH8////AAAAAAAAAP//////////////AQD4AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNf///v/////f39U/f8PAP7f///////////+3/////8DAP///////58Z////zz8DAAAAAAAA/v///38C/v///38AAAAAAAAAAAD///8HBwAAAAAA/v//B/4HAAAAAP7//////////3z/fy8AYAAAAOD///////8jAAAA/wMAAADgn/n///3FAwAAALADAAMA4If5///9bQMAAABeAAAcAOCv+////e0jAAAAAAEAAADgn/n///3NIwAAALADAAAA4Mc91hjHvwMAAAAAAAAAAODf/f///e8DAAAAAAMAAADg3/3///3vAwAAAEADAAAA4N/9///9/wMAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAD+/////38NAD8AAAAAAAAAliXw/q5sDSAfAAAAAAAAAAAAAAAAAAAA//7///8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////PwD/////fwDt2gcAAAAAUAFQMYKrYiwAAAAAQADJgPUHAAAAAAgBAv////////////////////////8P//////////////8D//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAQEwAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAIAAAAD+AwAA/v///////////x8A/v////////////8H4P////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////z8AAAAAAAAAAAAAAP//////////////////////////DwAAAAAAAAAAAAAAAAAAAABg/wf+//+H/v//BwAAAAAAAIAA//9/////f/////8AAAAAAAAA//////////////8BAPgDAAMAAAAAAP//////////PwAAAAMAAADA1///+/////9/f1T9/w8A/t////////////7f/////3sA////////nxn////PPwMAAAAAAAD+////fwL+////fwD+//v//7sWAP///wcHAAAAAAD+//8H//8HAP8D////////////fP9/7///Pf8D7v////////P/Px7/z/8AAO6f+f///cXTnzmAsM//AwDkh/n///1t04c5AF7A/x8A7q/7///97fO/OwAAwf8AAO6f+f///c3zjznAsMP/AADsxz3WGMe/w8c9gACA/wAA7t/9///978PfPWAAw/8AAOzf/f///e/D3z1gQMP/AADs3/3///3/w889gADD/wAAAAAAAAAAAAAAAAAAAAAAAP7/////f/8H/3//AwAAAACWJfD+rmz/O18//wMAAAAAAAAAA/8DoML//v///wP+/98Pv/7/P/4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8fAgAAAKAAAAD+/z4A/v///////////x9m/v////////////93GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcAAAAAAAAAAAABASsAAAAsAAAALQAAAC4AAAAvAAAALQAAADAAAAAxAAAAMgAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAA3QAAYOYAANjkAADM5wAAzOcAADjpAADY5AAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAIAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAAzAAAANAAAACkAAAA1AAAADQAAABoAAAAqAAAACQAAAAoAAAACAAAAAAAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAANgAAADcAAAAyAAAAOAAAAA4AAAAbAAAAMwAAAAsAAAAMAAAAAgAAAAABAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz40BALIzAgBTjgEAuzMCAMIzAgDLMwIAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcAAAAAAAAAAAABASsAAAAsAAAALQAAAC4AAAAvAAAALQAAADAAAAAxAAAAMgAAAETsAACw7QAAHO8AAIjwAACI8AAA9PEAABzvAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAIAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAMwAAADQAAAApAAAANQAAAA0AAAAaAAAAKgAAAAkAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADYAAAA3AAAAMgAAADgAAAAOAAAAGwAAADMAAAALAAAADAAAAAIAAAAAAQAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF00AgBjNAIAZjQCAGw0AgAGNAIAczQCAHw0AgCENAIAnPMAABQAAABDLlVURi04AAAAAAAAAAAAAAAAAN4SBJUAAAAA////////////////AgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTgPQAAAkAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAQAAAA/PkCAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QAABQAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAABAAAAAE/gIAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1AACE9QAABQAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABAAAAAMAgMAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmOgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAIAAAAAkAAAAKAAAADQAAAAsAAAAMAAAAhQAAAAAgAAABIAAAAiAAAAMgAAAEIAAABSAAAAYgAAAIIAAACSAAAAogAAAoIAAAKSAAAF8gAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BV9wiQD/CS8PdAAAAP1XAgBuAAAA/1cCAHIAAAABWAIAZgAAAANYAgBhAAAABVgCAGUAAAAHWAIAdwAAAAlYAgBXAAAAFlgCAHMAAAAkWAIAUwAAADBYAgBkAAAAPVgCAEQAAABJWAIAAAAAAAAAAAAAAAAAAAAEAAQAGwAbACAAIAAjACEACgACABYACQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/FwCu/3cArv8HAC4Arv8mAK7/FwARACMArv8NAK7/rv+u/67/OgCu/67/NQCu/67/rv8oAK7/BwCu/zsARQCu/0gArv+u/67/rv+u/67/rv/8/+gA9v///xoAAAAnAAEAMgCu/67/AgAkAAMALwCu/67/rv+u/67//v+UAK7/CQAbAK7/vP+u/67/r/+u/67/rv+u/67/rv+u/wAAAAAAAG3m7N4FAAsASQAxAVMAfwEwAWkAeAH/AIEBUwKCAYMBhAGFAYYBVAKHAYgBiQFWAooBVwKLAYwBjgHdAY8BWQKQAVsCkQGSAZMBYAKUAWMClgFpApcBaAKYAZkBnAFvAp0BcgKfAXUCpgGAAqcBqAGpAYMCrAGtAa4BiAKvAbABsQGKArIBiwK3AZICuAG5AbwBvQHEAcYBxAHFAcUBxgHHAckBxwHIAcgByQHKAcwBygHLAcsBzAHxAfMB8QHyAfIB8wH0AfUB9gGVAfcBvwEgAp4BhgOsA4gDrQOJA64DigOvA4wDzAOOA80DjwPOA5kDRQOZA74fowPCA/cD+AP6A/sDYB6bHp4e3wBZH1EfWx9TH10fVR9fH1cfvB+zH8wfwx/sH+Uf/B/zHzoCZSw7AjwCPQKaAT4CZixBAkICQwKAAUQCiQJFAowC9AO4A/kD8gP9A3sD/gN8A/8DfQPABM8EJiHJAyohawArIeUAMiFOIYMhhCFgLGEsYixrAmMsfR1kLH0CbSxRAm4scQJvLFACcCxSAnIscyx1LHYsfiw/An8sQALyLPMsfad5HYunjKeNp2UCqqdmAscQJy3NEC0tdgN3A5wDtQCSA9ADmAPRA6YD1QOgA9YDmgPwA6ED8QOVA/UDzwPXAwAAAABBACAawAAgHwABAS8yAQEFOQEBD0oBAS15AQEFcAMBA5EDIBGjAyAJAARQEBAEICBgBAEhigQBNcEEAQ3QBAE/FAUBEzEFMCagAQEFswEBA80BAQ/eAQER+AEBJyICARHYAwEXAB4BlaAeAV8IH/gIGB/4Bigf+Ag4H/gISB/4Bmgf+AiIH/gImB/4CKgf+Ai4H/gCuh+2AsgfqgTYH/gC2h+cAugf+ALqH5AC+B+AAvofggJGAgEJEAUBA2AhEBAALDAvZywBBYAsAWPrLAEDQKYBLYCmARcipwENMqcBPXmnAQN+pwEJkKcBA6CnAQkh/yAaAAAAAHsgdmFyIHBhdGggPSBQb2ludGVyX3N0cmluZ2lmeSgkMCk7IHZhciBkYXRhID0gUG9pbnRlcl9zdHJpbmdpZnkoJDEpOyBGUy5jcmVhdGVQYXRoKCIvIiwgUEFUSC5kaXJuYW1lKHBhdGgpKTsgRlMud3JpdGVGaWxlKFBBVEguam9pbigiLyIsIHBhdGgpLCBkYXRhKTsgfQBjb3JlAHhkb3R2ZXJzaW9uADEuNwAxLjQAMS4yAF9sZHJhd18AX2hkcmF3XwBfdGRyYXdfAF9obGRyYXdfAF90bGRyYXdfAHhkb3QgdmVyc2lvbiAiJXMiIHRvbyBsb25nACAlZCAAJS4wMmYAJXMlZCAtACMlMDJ4JTAyeCUwMnglMDJ4AHNldGxpbmV3aWR0aCgAJS4zZgBTIABDIAAyIABFIABlIABGIAB0ICV1IABUIABkb3Q6ZG90AGd2OmRvdABjYW5vbjpkb3QAcGxhaW46ZG90AHBsYWluLWV4dDpkb3QAeGRvdDp4ZG90AHhkb3QxLjI6eGRvdAB4ZG90MS40Onhkb3QASSAAIl9zdWJncmFwaF9jbnQiOiAlZAAiX2d2aWQiOiAlZAAiZWRnZXMiOiBbCgAiX2d2aWQiOiAlZCwKACJ0YWlsIjogJWQsCgAiaGVhZCI6ICVkACJvYmplY3RzIjogWwoAIm5vZGVzIjogWwoAIm5hbWUiOiAiJXMiAFwiAFwvAFxiAFxmAFxuAFxyAFx0ACJzdWJncmFwaHMiOiBbCgAiJXMiOiAAIiVzIgBDb3VsZCBub3QgcGFyc2UgeGRvdCAiJXMiCgBbCgAib3AiOiAiJWMiLAoAInJlY3QiOiBbJS4wM2YsJS4wM2YsJS4wM2YsJS4wM2ZdCgAib3AiOiAiTCIsCgAib3AiOiAiVCIsCgAicHQiOiBbJS4wM2YsJS4wM2ZdLAoAImFsaWduIjogIiVjIiwKACJ3aWR0aCI6ICUuMDNmLAoAInRleHQiOiAiJXMiCgAiZ3JhZCI6ICJub25lIiwKACJjb2xvciI6ICIlcyIKACJncmFkIjogImxpbmVhciIsCgAiZ3JhZCI6ICJyYWRpYWwiLAoAIm9wIjogIkYiLAoAInNpemUiOiAlLjAzZiwKACJmYWNlIjogIiVzIgoAIm9wIjogIlMiLAoAInN0eWxlIjogIiVzIgoAIm9wIjogInQiLAoAImZvbnRjaGFyIjogJWQKACJwMCI6IFslLjAzZiwlLjAzZiwlLjAzZl0sCgAicDEiOiBbJS4wM2YsJS4wM2YsJS4wM2ZdLAoAInN0b3BzIjogWwB7ImZyYWMiOiAlLjAzZiwgImNvbG9yIjogIiVzIn0AXQoAInAwIjogWyUuMDNmLCUuMDNmXSwKACJwMSI6IFslLjAzZiwlLjAzZl0sCgAicG9pbnRzIjogWwBbJS4wM2YsJS4wM2ZdAGRyYXdfAGxkcmF3XwBoZHJhd18AdGRyYXdfAGhsZHJhd18AdGxkcmF3XwAiZGlyZWN0ZWQiOiAlcywKACJzdHJpY3QiOiAlcwBEdXBsaWNhdGUgY2x1c3RlciBuYW1lICIlcyIKAHhkb3QAanNvbgBqc29uMABkb3RfanNvbgB4ZG90X2pzb24AanNvbjpqc29uAGpzb24wOmpzb24AZG90X2pzb246anNvbgB4ZG90X2pzb246anNvbgBuID49IDQAZ3ZyZW5kZXJfY29yZV9maWcuYwBmaWdfYmV6aWVyAGZpZ19yZXNvbHZlX2NvbG9yAGZpZwBmaWc6ZmlnAG1hcAByZWN0ICVzICVkLCVkICVkLCVkCgBjaXJjbGUgJXMgJWQsJWQsJWQKAHBvbHkgJXMAICVkLCVkAGd2cmVuZGVyX2NvcmVfbWFwLmMAbWFwX291dHB1dF9zaGFwZQByZWN0YW5nbGUgKCVkLCVkKSAoJWQsJWQpICVzICVzCgA8YXJlYSBzaGFwZT0iY2lyY2xlIgA8YXJlYSBzaGFwZT0icmVjdCIAPGFyZWEgc2hhcGU9InBvbHkiACBocmVmPSIAIHRpdGxlPSIAIGFsdD0iIgAgY29vcmRzPSIAJWQsJWQsJWQAJWQsJWQsJWQsJWQAJWQsJWQALCVkLCVkACI+CgA8L21hcD4KAGJhc2UgcmVmZXJlcgoAZGVmYXVsdCAAPG1hcCBpZD0iACIgbmFtZT0iAGlzbWFwOm1hcABjbWFwOm1hcABpbWFwOm1hcABjbWFweDptYXAAaW1hcF9ucDptYXAAY21hcHhfbnA6bWFwACMgJXMKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuM2YgJWQgJS40ZiAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAJWQgJWQgIyUwMnglMDJ4JTAyeAoAZ3ZyZW5kZXJfY29yZV9tcC5jAG1wX3Jlc29sdmVfY29sb3IAJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlLjRmICVkICUuMWYgJS4xZiAlZCAlZCAlc1wwMDEKACMgZW5kIG9mIEZJRyBmaWxlCgAjRklHIDMuMgoAIyBHZW5lcmF0ZWQgYnkgJXMgdmVyc2lvbiAlcyAoJXMpCgAjIFRpdGxlOiAlcwoAIyBQYWdlczogJWQKAFBvcnRyYWl0CgBDZW50ZXIKAEluY2hlcwoATGV0dGVyCgAxMDAuMDAKAFNpbmdsZQoALTIKADEyMDAAIDIKAG1wAG1wOm1wACBdICAlZCB0cnVlICVzCgAgXSAgJWQgZmFsc2UgJXMKACBzZXRsaW5ld2lkdGgKACVzIABzZXRoc2IAJS41ZyAlLjVnICUuNWcgJXNjb2xvcgoAJSAAbmV3cGF0aCAAIG1vdmV0bwoAIGxpbmV0bwoAc3Ryb2tlCgAgY3VydmV0bwoAY2xvc2VwYXRoIGZpbGwKAGNsb3NlcGF0aCBzdHJva2UKACBlbGxpcHNlX3BhdGggZmlsbAoAIGVsbGlwc2VfcGF0aCBzdHJva2UKACAvJXMgc2V0X2ZvbnQKACBtb3ZldG8gACAlcyBhbGlnbmVkdGV4dAoAWyAvUmVjdCBbIAAgXQoAICAvQm9yZGVyIFsgMCAwIDAgXQogIC9BY3Rpb24gPDwgL1N1YnR5cGUgL1VSSSAvVVJJICVzID4+CiAgL1N1YnR5cGUgL0xpbmsKL0FOTiBwZGZtYXJrCgBnc2F2ZQoAJSUgJXMKADAgMCAwIGVkZ2Vjb2xvcgoAZW5kcGFnZQpzaG93cGFnZQpncmVzdG9yZQoAJSVQYWdlVHJhaWxlcgoAJSUlJUVuZFBhZ2U6ICVkCgAlJSUlUGFnZTogJWQgJWQKACUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBMYW5kc2NhcGUAUG9ydHJhaXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRleE9mICgnLicsIG1zaWUgKSkpCgAgICAgICB9CgAgICAgICBpZiAoaWV2ZXJzPj01KXsKACAgICAgICBmb3IgKHggaW4gVk1MeWVzKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUx5ZXNbeF0pOwoAICAgICAgICAgaWYgKGl0ZW0pIHsKACAgICAgICAgICAgaXRlbS5zdHlsZS52aXNpYmlsaXR5PSd2aXNpYmxlJzsKACAgICAgICAgIH0KACAgICAgICB9CgAgICAgICAgZm9yICh4IGluIFZNTG5vKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUxub1t4XSk7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJzsKACAgICAgfWVsc2V7CgAgICAgIH0KACAgIH0KACAgIDwvU0NSSVBUPgoAPC9IRUFEPgA8Qk9EWSBvbmxvYWQ9J2Jyb3dzZXJjaGVjaygpOyc+CgA8RElWIGlkPSdfVk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTppbmxpbmU7IHZpc2liaWxpdHk6aGlkZGVuACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0Ij4KADxTVFlMRT4KAHZcOiogeyBiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7ZGlzcGxheTppbmxpbmUtYmxvY2t9CgA8L1NUWUxFPgoAPHhtbDpuYW1lc3BhY2UgbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiBwcmVmaXg9InYiIC8+CgAgPHY6Z3JvdXAgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyAAIHdpZHRoOiAlZHB0OyBoZWlnaHQ6ICVkcHQiACBjb29yZG9yaWdpbj0iMCwwIiBjb29yZHNpemU9IiVkLCVkIiA+ADxIVE1MPgoACjwhLS0gR2VuZXJhdGVkIGJ5IAAgdmVyc2lvbiAAICgAKQotLT4KAGFxdWEAZnVjaHNpYQBsaW1lAG9saXZlAHRlYWwAdm1sAHZtbDp2bWwALy8qKiogY29tbWVudDogJXMKAC8vKioqIHBvbHlsaW5lCgBzY2FsZSAgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHJvdGF0ZSAgIDwlOS4zZiwgJTkuM2YsICU5LjNmPgoAdHJhbnNsYXRlPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgBzcGhlcmVfc3dlZXAgewogICAgJXMKICAgICVkLAoAbGluZWFyX3NwbGluZQA8JTkuM2YsICU5LjNmLCAlOS4zZj4sICUuM2YKACVzICAgICVzACAgICB0b2xlcmFuY2UgMC4wMQogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAlcyVzACVzIHRyYW5zbWl0ICUuM2YAUmVkAEdyZWVuAEJsdWUAcmdiPCU5LjNmLCAlOS4zZiwgJTkuM2Y+IHRyYW5zbWl0ICUuM2YAb29wcywgaW50ZXJuYWwgZXJyb3I6IHVuaGFuZGxlZCBjb2xvciB0eXBlPSVkICVzCgBndnJlbmRlcl9jb3JlX3Bvdi5jAHBvdl9jb2xvcl9hc19zdHIAcGlnbWVudCB7IGNvbG9yICVzIH0KAHBvdiByZW5kZXJlcjplbCAtICVzCgAvLyoqKiBiZXppZXIKAGJfc3BsaW5lACAgICAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogcG9seWdvbgoAICAgIHRvbGVyYW5jZSAwLjEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAcG9seWdvbiB7ICVkLAoAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+ACVzCiAgICAlcwAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogZWxsaXBzZQoAdG9ydXMgeyAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHNwaGVyZSB7PCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAxLjAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogdGV4dHNwYW46ICVzLCBmb250c2l6ZSA9ICUuM2YsIGZvbnRuYW1lID0gJXMKAHNjYWxlICUuM2YKAHRleHQgewogICAgdHRmICIlcyIsCiAgICAiJXMiLCAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlcyAgICAlc30KACAgICBub19zaGFkb3cKAC8vKioqIGVuZF9lZGdlCgAvLyoqKiBiZWdpbl9lZGdlCgAvLyoqKiBlbmRfbm9kZQoALy8qKiogYmVnaW5fbm9kZTogJXMKAC8vKioqIGVuZF9jbHVzdGVyCgAvLyoqKiBiZWdpbl9jbHVzdGVyCgAvLyoqKiBlbmRfcGFnZQoALy8qKiogYmVnaW5fcGFnZQoALy8qKiogZW5kX2xheWVyCgAvLyoqKiBiZWdpbl9sYXllcjogJXMsICVkLyVkCgAvLyoqKiBlbmRfZ3JhcGgKAC8vKioqIGJlZ2luX2dyYXBoICVzCgBjYW1lcmEgeyBsb2NhdGlvbiA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICBsb29rX2F0ICA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICByaWdodCB4ICogaW1hZ2Vfd2lkdGggLyBpbWFnZV9oZWlnaHQKICAgICAgICAgYW5nbGUgJS4zZgp9CgAvL3NreQpwbGFuZSB7IDwwLCAxLCAwPiwgMSBob2xsb3cKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnQgeyBib3pvIHR1cmJ1bGVuY2UgMC45NQogICAgICAgICAgICBjb2xvcl9tYXAgewogICAgICAgICAgICAgICAgWzAuMDAgcmdiIDwwLjA1LCAwLjIwLCAwLjUwPl0KICAgICAgICAgICAgICAgIFswLjUwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC43NSByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwwLjI1LCAwLjI1LCAwLjI1Pl0KICAgICAgICAgICAgICAgIFsxLjAwIHJnYiA8MC41MCwgMC41MCwgMC41MD5dCiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2NhbGUgPDEuMDAsIDEuMDAsIDEuNTA+ICogMi41MAogICAgICAgICAgICB0cmFuc2xhdGUgPDAuMDAsIDAuMDAsIDAuMDA+CiAgICAgICAgfQogICAgICAgIGZpbmlzaCB7IGFtYmllbnQgMSBkaWZmdXNlIDAgfQogICAgfQogICAgc2NhbGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAY29tcABjbnQgPT0gc3oAbWluY3Jvc3MuYwBmaXhMYWJlbE9yZGVyAHJlbWluY3Jvc3MAbWluY3Jvc3MgJXM6ICVkIGNyb3NzaW5ncywgJS4yZiBzZWNzLgoAdgBuZWlnaGJvcgAocnYgPT0gMCkgfHwgKE5EX29yZGVyKHJ2KS1ORF9vcmRlcih2KSkqZGlyID4gMABjb25zdHJhaW5pbmdfZmxhdF9lZGdlKGcsdixlKSA9PSBGQUxTRQBmbGF0X3Jlb3JkZXIATkRfcmFuayh2KSA9PSByAHBvc3RvcmRlcgBmbGF0aW5kZXgoYWdoZWFkKGUpKSA8IE0tPm5yb3dzAGZsYXRfc2VhcmNoAGZsYXRpbmRleChhZ3RhaWwoZSkpIDwgTS0+bmNvbHMAb3V0AG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQuCgBvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkIGZvciBub2RlICclcycuCgBtZXJnZTI6IGdyYXBoICVzLCByYW5rICVkIGhhcyBvbmx5ICVkIDwgJWQgbm9kZXMKAG1pbmNyb3NzOiBwYXNzICVkIGl0ZXIgJWQgdHJ5aW5nICVkIGN1cl9jcm9zcyAlZCBiZXN0X2Nyb3NzICVkCgBORF9vcmRlcih2KSA8IE5EX29yZGVyKHcpAGJhbGFuY2UAdHJhbnNwb3NlX3N0ZXAAc3VycHJpc2UKAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogJXMgJXMgcmFuayAlZCBpID0gJWQgYW4gPSAwCgBHRF9yYW5rKGcpW3JdLm4gPD0gR0RfcmFuayhnKVtyXS5hbgBpbnN0YWxsX2luX3JhbmsAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogcmFuayAlZCBub3QgaW4gcmFuayByYW5nZSBbJWQsJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IEdEX3JhbmsoZylbJWRdLnYgKyBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoZylbJWRdLmF2ICsgR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAX25ld19yYW5rAG1jbGltaXQAcmFuayhnLCAyLCBuc2l0ZXIyKGcpKSA9PSAwAHBvc2l0aW9uLmMAZG90X3Bvc2l0aW9uAEFSPSUwLjRsZgkgQXJlYT0gJTAuNGxmCQBEdW1teT0lZAoAR29pbmcgdG8gYXBwbHkgYW5vdGhlciBleHBhbnNpb24uCgBuZXh0I2l0ZXI9JWQKAGhwAGNvbm5lY3RHcmFwaABFZGdlIGxlbmd0aCAlZiBsYXJnZXIgdGhhbiBtYXhpbXVtICV1IGFsbG93ZWQuCkNoZWNrIGZvciBvdmVyd2lkZSBub2RlKHMpLgoAbnNsaW1pdABjb250YWluX25vZGVzIGNsdXN0ICVzIHJhbmsgJWQgbWlzc2luZyBub2RlCgBuc2xpbWl0MQBuZXdyYW5rAE1heHJhbmsgPSAlZCwgbWlucmFuayA9ICVkCgBsZWFkZXIgIT0gTlVMTAByYW5rLmMAY2x1c3Rlcl9sZWFkZXIAKE5EX1VGX3NpemUobikgPD0gMSkgfHwgKG4gPT0gbGVhZGVyKQBhZ2hlYWQoZSkgPT0gVUZfZmluZChhZ2hlYWQoZSkpAG1pbm1heF9lZGdlcwBhZ3RhaWwoZSkgPT0gVUZfZmluZChhZ3RhaWwoZSkpAHJhbmsAc2FtZQBtaW4Ac291cmNlAG1heABzaW5rAGxldmVsIGFzc2lnbm1lbnQgY29uc3RyYWludHMAbGV2ZWwgZ3JhcGggcmVjAH9yb290AH90b3AAf2JvdABjb21wYWN0AF93ZWFrXyVkAHJhbmtpbmc6IGZhaWx1cmUgdG8gY3JlYXRlIHN0cm9uZyBjb25zdHJhaW50IGVkZ2UgYmV0d2VlbiBub2RlcyAlcyBhbmQgJXMKACVzIGhhcyB1bnJlY29nbml6ZWQgcmFuaz0lcwBsZXZlbCBlZGdlIHJlYwBsZXZlbCBub2RlIHJlYwBzYW1laGVhZABzYW1ldGFpbAB0b28gbWFueSAoPiAlZCkgc2FtZXtoZWFkLHRhaWx9IGdyb3VwcyBmb3Igbm9kZSAlcwoAY29tYmlBUiA9ICVsZgoAJWxmLCVkAHRoZSBhc3BlY3QgYXR0cmlidXRlIGhhcyBiZWVuIGRpc2FibGVkIGR1ZSB0byBpbXBsZW1lbnRhdGlvbiBmbGF3cyAtIGF0dHJpYnV0ZSBpZ25vcmVkLgoARURfdG9fdmlydChlKSA9PSBOVUxMAGNsYXNzMi5jAG1lcmdlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgPT0gTlVMTABtYWtlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgIT0gTlVMTABORF9yYW5rKGZyb20pIDwgTkRfcmFuayh0bykAY2x1c3Rlci5jAG1hcF9wYXRoACVzIHdhcyBhbHJlYWR5IGluIGEgcmFua3NldCwgZGVsZXRlZCBmcm9tIGNsdXN0ZXIgJXMKAGxoZWFkAGx0YWlsACVzIC0+ICVzOiBzcGxpbmUgc2l6ZSA+IDEgbm90IHN1cHBvcnRlZAoAJXMgLT4gJXM6IGhlYWQgbm90IGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiB0YWlsIGlzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGJlei0+c2ZsYWcAY29tcG91bmQuYwBtYWtlQ29tcG91bmRFZGdlAGJlei0+ZWZsYWcAJXMgLT4gJXM6IHRhaWwgbm90IGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiBoZWFkIGlzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHNlZ21lbnQgWyVzLCVzXSBkb2VzIG5vdCBpbnRlcnNlY3QgYm94IGxsPSVzLHVyPSVzCgBib3hJbnRlcnNlY3RmACglLjVnLCUuNWcpAGNsdXN0ZXIgbmFtZWQgJXMgbm90IGZvdW5kCgBjb25jZW50cmF0ZT10cnVlIG1heSBub3Qgd29yayBjb3JyZWN0bHkuCgByZWJ1aWx0ZF92bGlzdHM6IHJhbmsgbGVhZCAlcyBub3QgaW4gb3JkZXIgJWQgb2YgcmFuayAlZAoAZGVnZW5lcmF0ZSBjb25jZW50cmF0ZWQgcmFuayAlcywlZAoATkRfaW4ocmlnaHQpLnNpemUgKyBORF9vdXQocmlnaHQpLnNpemUgPT0gMABjb25jLmMAbWVyZ2V2aXJ0dWFsAGRvdDogT3V0IG9mIG1lbW9yeQoATkRfb3V0KHYpLnNpemUgPT0gMgBmbGF0LmMAc2V0Ym91bmRzAEdEX21pbnJhbmsoZykgPT0gMABhYm9taW5hdGlvbgBuZWF0b19sYXlvdXQAbmVhdG8AZmRwAHNmZHAAdHdvcGkAY2lyY28AcGF0Y2h3b3JrAG9zYWdlAG5vcABub3AxAG5vcDIAJWxmLCVsZiwlbGYlYwBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGRvdWJsZXMKAG5vdHJhbnNsYXRlAG5vZGUgJXMgaW4gZ3JhcGggJXMgaGFzIG5vIHBvc2l0aW9uCgBzLCVsZiwlbGYlbgAgZSwlbGYsJWxmJW4AcG9zIGF0dHJpYnV0ZSBmb3IgZWRnZSAoJXMsJXMpIGRvZXNuJ3QgaGF2ZSAzbisxIHBvaW50cwoAJWxmLCVsZiVuAHN5bnRheCBlcnJvciBpbiBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykKACVsZiwlbGYsJWxmLCVsZgBzdGFydABzZWxmAHJhbmRvbQBub2RlIHBvc2l0aW9ucyBhcmUgaWdub3JlZCB1bmxlc3Mgc3RhcnQ9cmFuZG9tCgBhcyByZXF1aXJlZCBieSB0aGUgLW4gZmxhZwoAX25lYXRvX2NjAGdyYXBoICVzIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBBbHRlcm5hdGl2ZWx5LCBjb25zaWRlciBydW5uaW5nIG5lYXRvIHVzaW5nIC1HcGFjaz10cnVlIG9yIGRlY29tcG9zaW5nCgB0aGUgZ3JhcGggaW50byBjb25uZWN0ZWQgY29tcG9uZW50cy4KAFNvbHZpbmcgbW9kZWwgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAE5EX2lkKG5wKSA9PSBpAG5lYXRvaW5pdC5jAG1ha2VHcmFwaERhdGEAZiA8IGdyYXBoW2pdLm5lZGdlcwBkZnNDeWNsZQBtb2RlbCAlZCBzbWFydF9pbml0ICVkIHN0cmVzc3d0ICVkIGl0ZXJhdGlvbnMgJWQgdG9sICVmCgBjb252ZXJ0IGdyYXBoOiAAbWFqb3JpemF0aW9uCgAlZCBub2RlcyAlLjJmIHNlYwoAbGV2ZWxzZ2FwAGxheW91dCBhYm9ydGVkCgBzdHJlc3N3dAAlcyBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSAxIG9yIDIgLSBpZ25vcmluZwoAbW9kZWwAY2lyY3VpdABzdWJzZXQAc2hvcnRwYXRoAG1kcwBlZGdlcyBpbiBncmFwaCAlcyBoYXZlIG5vIGxlbiBhdHRyaWJ1dGUuIEhlbmNlLCB0aGUgbWRzIG1vZGVsCgBpcyBpbmFwcHJvcHJpYXRlLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBVbmtub3duIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGVsIiBpbiBncmFwaCAlcyAtIGlnbm9yZWQKAG1vZGUAS0sAbWFqb3IAaGllcgBJbGxlZ2FsIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGUiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbWFrZVNwbGluZTogZmFpbGVkIHRvIG1ha2Ugc3BsaW5lIGVkZ2UgKCVzLCVzKQoAc3BsaW5lICVzICVzCgBiID09IG4AbmVhdG9zcGxpbmVzLmMAbWFrZV9iYXJyaWVycwB0aGUgYm91bmRpbmcgYm94ZXMgb2Ygc29tZSBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBzb21lIG5vZGVzIHdpdGggbWFyZ2luICglLjAyZiwlLjAyZikgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcG9seWxpbmVzAGxpbmUgc2VnbWVudHMAb3J0aG9nb25hbCBsaW5lcwBDcmVhdGluZyBlZGdlcyB1c2luZyAlcwoAcG9seWxpbmUgJXMgJXMKAG1kc01vZGVsOiBkZWx0YSA9ICVmCgBTZXR0aW5nIHVwIHN0cmVzcyBmdW5jdGlvbgBTb2x2aW5nIG1vZGVsOiAACmZpbmFsIGUgPSAlZiAlZCBpdGVyYXRpb25zICUuMmYgc2VjCgBEYW1waW5nAGRlZmF1bHRkaXN0ACBpbiAlcyAtIHNldHRpbmcgdG8gJS4wMmYKAGJhZCBlZGdlIGxlbiAiJXMiAFNldHRpbmcgaW5pdGlhbCBwb3NpdGlvbnMKAHN0YXJ0PSVzIG5vdCBzdXBwb3J0ZWQgd2l0aCBtb2RlPXNlbGYgLSBpZ25vcmVkCgBTZXR0aW5nIHVwIHNwcmluZyBtb2RlbDogACUuMmYgc2VjCgAKZmluYWwgZSA9ICVmACEAICVkJXMgaXRlcmF0aW9ucyAlLjJmIHNlYwoATWF4LiBpdGVyYXRpb25zICglZCkgcmVhY2hlZCBvbiBncmFwaCAlcwoAJXMgJS4zZgoAJS4zZiAATkRfaGVhcGluZGV4KHYpIDwgMABzdHVmZi5jAG5lYXRvX2VucXVldWUAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHM6IABzcGVjaWZpZWQgcm9vdCBub2RlICIlcyIgd2FzIG5vdCBmb3VuZC4AVXNpbmcgZGVmYXVsdCBjYWxjdWxhdGlvbiBmb3Igcm9vdCBub2RlCgByZXBvc2l0aW9uICVzCgAlcyA6ICVmICVmCgAlcyA6ICVmICVmICVmICVmCgAgIABHcmFwaCAlcyBoYXMgYXJyYXkgcGFja2luZyB3aXRoIHVzZXIgdmFsdWVzIGJ1dCBubyAic29ydHYiIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGxheW91dCAlcwoAZW5kICVzCgBpZHggPT0gc3oAbGF5b3V0LmMAZXhwYW5kQ2x1c3RlcgBpID09IGRlZwBnZXRFZGdlTGlzdABfZGdfJWQAZGVyaXZlIGdyYXBoICVzIG9mICVzCgBub2RlICIlcyIgaXMgY29udGFpbmVkIGluIHR3byBub24tY29tcGFyYWJsZSBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBfcG9ydF8lc18lc18lc18lbGQAX3BvcnRfJXNfKCVkKV8oJWQpXyVsZAAlbGYsJWxmLCVsZiwlbGYlYwBncmFwaCAlcywgY29vcmQgJXMsIGV4cGVjdGVkIGZvdXIgZG91YmxlcwoAc3BsaW5lcyBhbmQgY2x1c3RlciBlZGdlcyBub3Qgc3VwcG9ydGVkIC0gdXNpbmcgbGluZSBzZWdtZW50cwoAbWF4aXRlcgBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Ac2ZkcCBvbmx5IHN1cHBvcnRzIHN0YXJ0PXJhbmRvbQoASwByZXB1bHNpdmVmb3JjZQBsZXZlbHMAc21vb3RoaW5nAHF1YWR0cmVlAGJlYXV0aWZ5AG92ZXJsYXBfc2hyaW5rAHJvdGF0aW9uAGxhYmVsX3NjaGVtZQBsYWJlbF9zY2hlbWUgPSAlZCA+IDQgOiBpZ25vcmluZwoAZmFzdABhdmdfZGlzdABncmFwaF9kaXN0AHBvd2VyX2Rpc3QAc3ByaW5nAGRpbWVuAGRpbQBzcHJpbmdfZWxlY3RyaWNhbF9jb250cm9sOgoAICByZXB1bHNpdmUgYW5kIGF0dHJhY3RpdmUgZXhwb25lbnRzOiAlLjAzZiAlLjAzZgoAICByYW5kb20gc3RhcnQgJWQgc2VlZCAlZAoAICBLIDogJS4wM2YgQyA6ICUuMDNmCgAgIG1heCBsZXZlbHMgJWQgY29hcnNlbl9zY2hlbWUgJWQgY29hcnNlbl9ub2RlICVkCgAgIHF1YWR0cmVlIHNpemUgJWQgbWF4X2xldmVsICVkCgAgIEJhcm5lcy1IdXR0IGNvbnN0YW50ICUuMDNmIHRvbGVyYW5jZSAgJS4wM2YgbWF4aXRlciAlZAoAICBjb29saW5nICUuMDNmIHN0ZXAgc2l6ZSAgJS4wM2YgYWRhcHRpdmUgJWQKACAgYmVhdXRpZnlfbGVhdmVzICVkIG5vZGUgd2VpZ2h0cyAlZCByb3RhdGlvbiAlLjAzZgoAICBzbW9vdGhpbmcgJXMgb3ZlcmxhcCAlZCBpbml0aWFsX3NjYWxpbmcgJS4wM2YgZG9fc2hyaW5raW5nICVkCgAgIG9jdHJlZSBzY2hlbWUgJXMgbWV0aG9kICVzCgAgIGVkZ2VfbGFiZWxpbmdfc2NoZW1lICVkCgBTUFJJTkdfRUxFQ1RSSUNBTABTUFJJTkdfTUFYRU5UAFNUUkVTU19NQVhFTlQAU1RSRVNTX0FQUFJPWABTVFJFU1MAVU5JRk9STV9TVFJFU1MARlVMTF9TVFJFU1MATk9ORQBOT1JNQUwARkFTVABIWUJSSUQAU1RSRVNTX01BSk9SSVpBVElPTl9HUkFQSF9ESVNUAFNUUkVTU19NQUpPUklaQVRJT05fQVZHX0RJU1QAU1RSRVNTX01BSk9SSVpBVElPTl9QT1dFUl9ESVNUAFNQUklORwBUUklBTkdMRQBSTkcADSAgICAgICAgICAgICAgICBpdGVyID0gJWQsIHN0ZXAgPSAlZiBGbm9ybSA9ICVmIG56ID0gJWQgIEsgPSAlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAc3ByaW5nX2VsZWN0cmljYWxfZW1iZWRkaW5nX3Nsb3cAZG1lYW4gPSAlZiwgcmhvID0gJWYKAHNlbmQgcmFuZG9tIGNvb3JkaW5hdGVzCgBzY2FsaW5nIGZhY3RvciA9ICVmCgBRVUFEX1RSRUVfSFlCUklELCBzaXplIGxhcmdlciB0aGFuICVkLCBzd2l0Y2ggdG8gZmFzdCBxdWFkdHJlZQBjdHJsLT5vdmVybGFwPSVkCgAlZCAlZAoAdW5pZm9ybV9zdHJlc3MuYwBVbmlmb3JtU3RyZXNzU21vb3RoZXJfbmV3AFNwYXJzZU1hdHJpeF9pc19zeW1tZXRyaWMoQiwgRkFMU0UpAHVuaWZvcm1fc3RyZXNzAHxlZGdlbGFiZWx8AGxlbgBub3JtYWxpemUAb3ZlcmxhcABPdmVybGFwIHZhbHVlICIlcyIgdW5zdXBwb3J0ZWQgLSBpZ25vcmVkCgBVbnJlY29nbml6ZWQgb3ZlcmxhcCB2YWx1ZSAiJXMiIC0gdXNpbmcgZmFsc2UKAFZvcm9ub2kAb3ZlcmxhcDogJXMgdmFsdWUgJWQgc2NhbGluZyAlLjA0ZgoAb3ZlcmxhcF9zY2FsaW5nAHZvcm9ub2kAc2NhbGluZwB2cHNjAGlwc2VwAG9zY2FsZQBvbGQgc2NhbGluZwBzY2FsZXh5AHggYW5kIHkgc2NhbGluZwBvcnRobwBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAG9ydGhvX3l4AG9ydGhveHkAeHkgb3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob3l4AHl4IG9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhvAHBzZXVkby1vcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRob195eABwb3J0aG94eQB4eSBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG95eAB5eCBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwcmlzbQBBZGp1c3RpbmcgJXMgdXNpbmcgJXMKAFVuaGFuZGxlZCBhZGp1c3Qgb3B0aW9uICVzCgBOdW1iZXIgb2YgaXRlcmF0aW9ucyA9ICVkCgBOdW1iZXIgb2YgaW5jcmVhc2VzID0gJWQKAG92ZXJsYXAgWyVkXSA6ICVkCgB2b3JvX21hcmdpbgBzZXAAZXNlcABOb2RlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgAlZiwlZgBzY2FsZSA9ICglLjAzZiwlLjAzZikKAEVkZ2Ugc2VwYXJhdGlvbjogYWRkPSVkICglZiwlZikKAENhbGN1bGF0aW5nIGNpcmN1aXQgbW9kZWwAY29uanVnYXRlX2dyYWRpZW50OiB1bmV4cGVjdGVkIGxlbmd0aCAwIHZlY3RvcgoAQ2FsY3VsYXRpbmcgc3Vic2V0IG1vZGVsAGdyYXBoIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBpcyB1bmRlZmluZWQuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAENhbGN1bGF0aW5nIE1EUyBtb2RlbABDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRocwA6ICUuMmYgc2VjCgBTZXR0aW5nIGluaXRpYWwgcG9zaXRpb25zADogJS4yZiBzZWMAY2cAZGVsdGEgPD0gMHhGRkZGAGNvbnN0cmFpbnQuYwBta05Db25zdHJhaW50RwB2ZwBjb21wcmVzcyAlZyAKAHNjYWxlIGJ5ICVnLCVnIAoAYmVzdGNvc3QgPCBIVUdFX1ZBTABjb21wdXRlU2NhbGVYWQBHcmFwaHZpeiBidWlsdCB3aXRob3V0IGFueSB0cmlhbmd1bGF0aW9uIGxpYnJhcnkKAGRlbGF1bmF5X3RyaWFuZ3VsYXRpb246ICVzCgBkZWxhdW5heV90cmk6ICVzCgB0cnlpbmcgdG8gZGVsZXRlIGEgbm9uLWxpbmUKAAppbnRlcnNlY3Rpb24gYXQgJS4zZiAlLjNmCgBzZWcjJWQgOiAoJS4zZiwgJS4zZikgKCUuM2YsICUuM2YpCgByZW1vdmVfb3ZlcmxhcDogR3JhcGh2aXogbm90IGJ1aWx0IHdpdGggdHJpYW5ndWxhdGlvbiBsaWJyYXJ5CgBtYWtlQWRkUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgBtYWtlUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgB4IT1OVUxMAHNtYXJ0X2luaV94LmMASU1EU19naXZlbl9kaW0AaWxsLWNvbmRpdGlvbmVkAHJvb3QgPSAlcyBtYXggc3RlcHMgdG8gcm9vdCA9ICVkCgB0d29waTogdXNlIG9mIHdlaWdodD0wIGNyZWF0ZXMgZGlzY29ubmVjdGVkIGNvbXBvbmVudC4KAFJhbmsgc2VwYXJhdGlvbiA9IAAlLjAzbGYgAGFyZWEAaW5zZXQAJXMgY29vcmQgJS41ZyAlLjVnIGh0ICVmIHdpZHRoICVmCgAlLjAzZgByZWMgJWYgJWYgJWYgJWYKACVmIC0gJWYgJWYgJWYgJWYgPSAlZiAoJWYgJWYgJWYgJWYpCgB0cnlpbmcgdG8gYWRkIHRvIHJlY3QgeyVmICsvLSAlZiwgJWYgKy8tICVmfQoAdG90YWwgYWRkZWQgc28gZmFyID0gJWQKAGFkZGluZyAlZCBpdGVtcywgdG90YWwgYXJlYSA9ICVmLCB3ID0gJWYsIGFyZWEvdz0lZgoAY29tcG91bmRFZGdlczogY291bGQgbm90IGNvbnN0cnVjdCBvYnN0YWNsZXMgLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAY29tcG91bmRFZGdlczogbm9kZXMgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcGFjayB2YWx1ZSAlZCBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBzZXAgdmFsdWUgKCUuMDNmLCUuMDNmKSBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBjYyVzXyVkAGNjJXMrJWQAY19jbnQgPT0gMABjb21wLmMAZmluZENDb21wAGdyaWQoJWQsJWQpOiAlcwoAd2d0ID4gMABRdWFkVHJlZS5jAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9hY2N1bXVsYXRlAHF0Mi0+biA+IDAAcXQxLT5uID4gMCAmJiBxdDItPm4gPiAwAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9pbnRlcmFjdABkaXN0ID4gMAAhKHEtPmwpAFF1YWRUcmVlX2FkZF9pbnRlcm5hbABpaSA8IDE8PGRpbSAmJiBpaSA+PSAwAHEtPnF0c1tpaV0AcS0+biA9PSAxACEocS0+cXRzKQBxLT5sAHdpZHRoID4gMABRdWFkVHJlZV9uZXcAQS0+Zm9ybWF0ID09IEZPUk1BVF9DU1IAU3BhcnNlTWF0cml4LmMAU3BhcnNlTWF0cml4X3RyYW5zcG9zZQBBICYmIEIAU3BhcnNlTWF0cml4X2FkZABBLT5mb3JtYXQgPT0gQi0+Zm9ybWF0ICYmIEEtPmZvcm1hdCA9PSBGT1JNQVRfQ1NSAEEtPnR5cGUgPT0gQi0+dHlwZQBTcGFyc2VNYXRyaXhfaXNfc3ltbWV0cmljAEEtPmZvcm1hdCA9PSBGT1JNQVRfQ09PUkQAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9mb3JtYXQAbSA+IDAgJiYgbiA+IDAgJiYgbnogPj0gMABTcGFyc2VNYXRyaXhfZnJvbV9jb29yZGluYXRlX2FycmF5c19pbnRlcm5hbABBAGphW21hc2tbamFbal1dXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfc3VtX3JlcGVhdF9lbnRyaWVzAGlkIDwgbiooeW1heC15bWluKzEpAGphW21hc2tbaWRdXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfbXVsdGlwbHlfZGVuc2UyAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTABTcGFyc2VNYXRyaXhfbXVsdGlwbHlfdmVjdG9yAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTCB8fCBBLT50eXBlID09IE1BVFJJWF9UWVBFX0lOVEVHRVIAU3BhcnNlTWF0cml4X211bHRpcGx5X2RlbnNlMQBTcGFyc2VNYXRyaXhfbXVsdGlwbHkAamNbbWFza1tqYltrXV1dID09IGpiW2tdAFNwYXJzZU1hdHJpeF9tdWx0aXBseTMAamRbbWFza1tqY1trXV1dID09IGpjW2tdAFNwYXJzZU1hdHJpeF9jb29yZGluYXRlX2Zvcm1fYWRkX2VudHJpZXMAU3BhcnNlTWF0cml4X2RpdmlkZV9yb3dfYnlfZGVncmVlAG4gPiAxAGdlbmVyYWwuYwBpcmFuZABvbmVibG9jawBtaW5kaXN0AGFydGljdWxhdGlvbl9wb3MAcm9vdABQcmlvcml0eVF1ZXVlLmMAUHJpb3JpdHlRdWV1ZV9wdXNoAGdhaW4gPD0gcS0+bmdhaW4AU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkAcG9zdF9wcm9jZXNzLmMAaWRlYWxfZGlzdGFuY2VfbWF0cml4AGxlbiA+IDAAU3RyZXNzTWFqb3JpemF0aW9uU21vb3RoZXIyX25ldwBueiA+IDAAaWRlYWxfZGlzdF9zY2hlbWUgdmFsdWUgd3JvbmcAU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkgJiYgQS0+dHlwZSA9PSBNQVRSSVhfVFlQRV9SRUFMAFNwYXJzZVN0cmVzc01ham9yaXphdGlvblNtb290aGVyX25ldwBpZGlhZyA+PSAwAFN0cmVzc01ham9yaXphdGlvblNtb290aGVyX3Ntb290aAAoIWpjbikgJiYgKCF2YWwpAGdldF9lZGdlX2xhYmVsX21hdHJpeABUcmlhbmdsZVNtb290aGVyX25ldwBqZGlhZyA+PSAwAFNwcmluZ1Ntb290aGVyX25ldwAhZmxhZwBTcHJpbmdTbW9vdGhlcl9zbW9vdGgAbmVpZ2hiPSVkCgByb290ID0gJXMKAF9ibG9ja18lZABzLT5zeiA+IDAAYmxvY2t0cmVlLmMAcG9wAGFjdHVhbABub2RlbGlzdC5jAGluc2VydE5vZGVsaXN0AF9zcGFuXyVkAF9jbG9uZV8lZABpcABkZWdsaXN0LmMAcmVtb3ZlRGVnbGlzdABFcnJvcgBXYXJuaW5nACVzOiAAdXNlcm91dDogY291bGQgbm90IGFsbG9jYXRlIG1lbW9yeQoAX0FHX3N0cmRhdGEAX0FHX2RhdGFkaWN0AGFnZGljdG9mOiB1bmtub3duIGtpbmQgJWQKACVjJWxkAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUAYWdkZWxldGUgb24gd3JvbmcgZ3JhcGgAX0FHX3BlbmRpbmcAYWdyZWNvcmRfY2FsbGJhY2sgb2YgYSBiYWQgb2JqZWN0AHBlbmQgZGljdG9mIGEgYmFkIG9iamVjdABtb3ZlIHRvIGZyb250IGxvY2sgaW5jb25zaXN0ZW5jeQBcXABmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLW5vIGFjdGlvbiBmb3VuZAAlcwoAZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1lbmQgb2YgYnVmZmVyIG1pc3NlZABmYXRhbCBlcnJvciAtIHNjYW5uZXIgaW5wdXQgYnVmZmVyIG92ZXJmbG93AG91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiBhYWdfZ2V0X25leHRfYnVmZmVyKCkAaW5wdXQAc3ludGF4IGFtYmlndWl0eSAtIGJhZGx5IGRlbGltaXRlZCBudW1iZXIgJwAnIGluIGxpbmUgJWQgb2YgACBzcGxpdHMgaW50byB0d28gdG9rZW5zCgAlcwBsaW5lACVkICUxWyJdJW4Ab3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19jcmVhdGVfYnVmZmVyKCkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ2Vuc3VyZV9idWZmZXJfc3RhY2soKQA6IAAgaW4gbGluZSAlZAAgbmVhciAnACBzY2FubmluZyBhIHF1b3RlZCBzdHJpbmcgKG1pc3NpbmcgZW5kcXVvdGU/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzoiACBzY2FubmluZyBhIEhUTUwgc3RyaW5nIChtaXNzaW5nICc+Jz8gYmFkIG5lc3Rpbmc/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzo8ACBzY2FubmluZyBhIC8qLi4uKi8gY29tbWVudCAobWlzc2luZyAnKi8/IGxvbmdlciB0aGFuICVkPykAZmxleCBzY2FubmVyIHB1c2gtYmFjayBvdmVyZmxvdwAiIgBzdHJpY3QAbGluZWxlbmd0aAA7CgAgW2tleT0AXQAgWwAsCgA9AF8lbGRfU1VTUEVDVABkaQBzdHJpY3QgAHsKAF07CgAS7u4UCQPu/u7u7gHu7u4B7u4K/u4TGRXuEwHu7u7uCxHu7u7u7u7u7u4B7u4WCQEBHQ8X7u4aFxvu7hzu7u7uARn77u7uAe4Q7u4e7u7u7gACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXEQICAgICAgICAgICAgISEAITAgIWAgICAgICAgICAgICAgICAgICAgICAgICAgIUAhUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4CDwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNCwMEBQ8HAwwNBgwNDgwNGhUWAAEAAwcOBg8IDA0SEyoQEQkQLzARMhcTDRQSLhIUQRMyEyxAKkIZLEJGIgwNDiMPCRARChARyRARLUVG/AEG9g8H9iQCEBEvMDZNTigmOzwqNjE5PT8vOkDYRDA+JTdDNUsrOElMAAMJAAAAAQ4CCwwIIyQlNjs9AA0QEhsWHBInMiIXMx48Bgc1BQ8RFBgpABMpAAAAAAA3FSgdHgAhJjQfMD4ZLAAbACAaKgArOi4vADE4OS0AAgIBAAMDAQABAAEBAQACAQEAAgIDAQEAAAUAAQMBAwUDAQEBAQIAAQAEAgACAQEDAgEAAwIBAAEBAAEBAQMAGBkZGRobHBwdHR4eHx8gICEhIiIjJCQmJyUlKCgpKSkqKisrKywsLS0uLy8wMTEyMzQ2NTc3Nzg4ODk5Ojru7v/u7u7u7u4fIO4A7+7u7gzu7u4IDe7u7vju7u7u7u717v8DCAQhBQsSEycUFRYpMkEXGBkaLDM0QkdIG0ocHS4eTx8ga2V5AGF0dHJpYnV0ZSBtYWNyb3Mgbm90IGltcGxlbWVudGVkACVzOiVzAENvdWxkIG5vdCBvcGVuICIlcyIgZm9yIHdyaXRpbmcgOiAlcwoATm8gbGlieiBzdXBwb3J0LgoALiVkAG5vbmFtZS5ndgBndndyaXRlX25vX3ogcHJvYmxlbSAlZAoAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQoATm8gbGlieiBzdXBwb3J0CgBndnByaW50ZjogJXMKAC05OTk5OTk5OTk5OTk5OTkuOTkAZ3JhcGh2aXoAMi40MC4xADIwMTYxMjI1LjAzMDQAcmVuZGVyAGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwAlZCAlZCAlZCAlZABMYXlvdXQgd2FzIG5vdCBkb25lCgBmYWlsdXJlIG1hbGxvYydpbmcgZm9yIHJlc3VsdCBzdHJpbmcAZ2M6IE91dCBvZiBtZW1vcnkKAF9jY18Ab3JpZwBvcABjY29tcHMuYwBtYXBDbHVzdABjY2dyYXBoaW5mbwBjY2dub2RlaW5mbwAoJTRsZCkgJTdsZCBub2RlcyAlN2xkIGVkZ2VzCgAgICAgICAgJTdkIG5vZGVzICU3ZCBlZGdlcyAlN2xkIGNvbXBvbmVudHMgJXMKAGRnAEVycm9yOiBub2RlICIlcyIgYmVsb25ncyB0byB0d28gbm9uLW5lc3RlZCBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBzb3J0dgByb3cgbWFqb3IAY29sdW1uIG1ham9yAGFycmF5IHBhY2tpbmc6ICVzICVkIHJvd3MgJWQgY29sdW1ucwoAYmJbJXNdICUuNWcgJS41ZyAlLjVnICUuNWcKAHN0ZXAgc2l6ZSA9ICVkCgBwb3NbJWRdICVkICVkCgBjYyAoJWQgY2VsbHMpIGF0ICglZCwlZCkgKCVkLCVkKQoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpCgAlcyBuby4gY2VsbHMgJWQgVyAlZCBIICVkCgAgICVkICVkIGNlbGwKAGxpYnBhY2s6IGRpc2MgPSAlZiAoIDwgMCkKAFBhY2tpbmc6IGNvbXB1dGUgZ3JpZCBzaXplCgBhICVmIGIgJWYgYyAlZiBkICVmIHIgJWYKAHJvb3QgJWQgKCVmKSAlZCAoJWYpCgAgcjEgJWYgcjIgJWYKAHBpbmZvAHBhY2suYwBnZXRQYWNrSW5mbwAgIG1hcmdpbiAlZAoAcGFja21vZGUAcGFyc2VQYWNrTW9kZUluZm8AYXJyYXkAYXNwZWN0ACVmAHBhY2sgaW5mbzoKACAgbW9kZSAgICVzCgAgIGFzcGVjdCAlZgoAICBzaXplICAgJWQKACAgZmxhZ3MgICVkCgB1bmRlZmluZWQAcGFjawBBcnJvdyB0eXBlICIlcyIgdW5rbm93biAtIGlnbm9yaW5nCgBub3JtYWwAY3JvdwB0ZWUAZG90AGludgB2ZWUAcGVuAG1wdHkAY3VydmUAaWN1cnZlAGwAaGFsZgBpbnZlbXB0eQBfYmFja2dyb3VuZABfZHJhd18AQ291bGQgbm90IHBhcnNlICJfYmFja2dyb3VuZCIgYXR0cmlidXRlIGluIGdyYXBoICVzCgAgICIlcyIKAG5vIG1lbW9yeSBmcm9tIHptYWxsb2MoKQoAb2JqAGVtaXQuYwBwb3Bfb2JqX3N0YXRlAGNsdXN0ACVsZABwYWdlJWQsJWRfAFRvdGFsIHNpemUgPiAxIGluICIlcyIgY29sb3Igc3BlYyAASWxsZWdhbCBsZW5ndGggdmFsdWUgaW4gIiVzIiBjb2xvciBhdHRyaWJ1dGUgAGxucmNvbG9yc2NoZW1lAGVtaXRfZWRnZV9sYWJlbAAlcy0lcwBmb3J3YXJkAGJhY2sAIC0+IAAgLS0gAGluIGVkZ2UgJXMlcyVzCgBsYWJlbGFsaWduZWQAZWRnZWhyZWYAZWRnZVVSTABsYWJlbGhyZWYAbGFiZWxVUkwAdGFpbGhyZWYAdGFpbFVSTABoZWFkaHJlZgBoZWFkVVJMAGVkZ2V0YXJnZXQAbGFiZWx0YXJnZXQAdGFpbHRhcmdldABoZWFkdGFyZ2V0AGVkZ2V0b29sdGlwAGxhYmVsdG9vbHRpcAB0YWlsdG9vbHRpcABoZWFkdG9vbHRpcAABbmVzdGluZyBub3QgYWxsb3dlZCBpbiBzdHlsZTogJXMKAHVubWF0Y2hlZCAnKScgaW4gc3R5bGU6ICVzCgB0cnVuY2F0aW5nIHN0eWxlICclcycKAHVubWF0Y2hlZCAnKCcgaW4gc3R5bGU6ICVzCgBhbGwAaW4gY2x1c3RlciAlcwoATW9yZSB0aGFuIDIgY29sb3JzIHNwZWNpZmllZCBmb3IgYSBncmFkaWVudCAtIGlnbm9yaW5nIHJlbWFpbmluZwoAZ3JhZGllbnQgcGVuIGNvbG9ycyBub3QgeWV0IHN1cHBvcnRlZC4KAEltYWdlcyB1bnN1cHBvcnRlZCBpbiAiYmFja2dyb3VuZCIgYXR0cmlidXRlCgBsYXllcnMgbm90IHN1cHBvcnRlZCBpbiAlcyBvdXRwdXQKAExheW91dCB3YXMgbm90IGRvbmUuICBNaXNzaW5nIGxheW91dCBwbHVnaW5zPyAKAGd2UmVuZGVySm9icyAlczogJS4yZiBzZWNzLgoAbGF5b3V0IHdhcyBub3QgZG9uZQoAcmVuZGVyZXIgZm9yICVzIGlzIHVuYXZhaWxhYmxlCgBwYWdlZGlyPSVzIGlnbm9yZWQKAHZpZXdwb3J0ACVsZiwlbGYsJWxmLCclW14nXScAJWxmLCVsZiwlbGYsJVteLF0lcwAlbGYsJWxmLCVsZiwlbGYsJWxmAG91dHB1dG9yZGVyAG9kZXNmaXJzdABkZ2VzZmlyc3QAbGF5ZXJzAGxheWVyc2VsZWN0AFRoZSBsYXllcnNlbGVjdCBhdHRyaWJ1dGUgIiVzIiBkb2VzIG5vdCBtYXRjaCBhbnkgbGF5ZXIgc3BlY2lmZWQgYnkgdGhlIGxheWVycyBhdHRyaWJ1dGUgLSBpZ25vcmVkLgoAbGF5ZXJzZXAAOgkgAGxheWVybGlzdHNlcAAsAFRoZSBjaGFyYWN0ZXIgJyVjJyBhcHBlYXJzIGluIGJvdGggdGhlIGxheWVyc2VwIGFuZCBsYXllcmxpc3RzZXAgYXR0cmlidXRlcyAtIGxheWVybGlzdHNlcCBpZ25vcmVkLgoAcGFkAEJMAHBhZ2VkaXIAc29saWQAAHNldGxpbmV3aWR0aAAxAABzcGwtPnNpemUgPiAwAGluaXRfc3BsaW5lc19iYgBiei5zaXplID4gMABiZXppZXJfYmIAYnouc2l6ZSAlIDMgPT0gMQAlbGYAZm9udHBhdGgARE9URk9OVFBBVEgAR0RGT05UUEFUSABpbWFnZXBhdGgAcXVhbnR1bQByYW5rZGlyAExSAEJUAFJMAG5vZGVzZXAAcmFua3NlcABlcXVhbGx5AHNob3dib3hlcwBmb250bmFtZXMAc2l6ZQBwYWdlAGNlbnRlcgByb3RhdGUAb3JpZW50YXRpb24AbGFuZHNjYXBlAGNsdXN0ZXJyYW5rAGNvbmNlbnRyYXRlAGRwaQByZXNvbHV0aW9uAG9yZGVyaW5nAGZpbGxjb2xvcgBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBub2p1c3RpZnkAbGF5ZXIAZ3JvdXAAY29tbWVudAB2ZXJ0aWNlcwB6AHdlaWdodABsYWJlbGZsb2F0AGRpcgBhcnJvd2hlYWQAYXJyb3d0YWlsAGhlYWRsYWJlbAB0YWlsbGFiZWwAbGFiZWxmb250c2l6ZQBsYWJlbGZvbnRuYW1lAGxhYmVsZm9udGNvbG9yAGxhYmVsZGlzdGFuY2UAbGFiZWxhbmdsZQBtaW5sZW4AZGVjb3JhdGUAYXJyb3dzaXplAGNvbnN0cmFpbnQAdGFpbGNsaXAAaGVhZGNsaXAAbGFiZWxqdXN0AGxvY2FsAGdsb2JhbAAlbGYsJWxmJWMAJWxmJWMAcmF0aW8AYXV0bwBjb21wcmVzcwBleHBhbmQAZmlsbABnZABwcwBzdmcAY2hhcnNldAB1dGYtOABsYXRpbi0xAGxhdGluMQBsMQBJU08tODg1OS0xAElTT184ODU5LTEASVNPODg1OS0xAElTTy1JUi0xMDAAYmlnLTUAYmlnNQB1dGY4AFVuc3VwcG9ydGVkIGNoYXJzZXQgIiVzIiAtIGFzc3VtaW5nIHV0Zi04CgBVbnN1cHBvcnRlZCBjaGFyc2V0IHZhbHVlICVkCgBVVEYtOABCSUctNQBpbiBsYWJlbCBvZiBncmFwaCAlcwoAaW4gbGFiZWwgb2Ygbm9kZSAlcwoAaW4gbGFiZWwgb2YgZWRnZSAlcyAlcyAlcwoAa2luZCA9PSBMVF9OT05FAGxhYmVscy5jAG1ha2VfbGFiZWwAXEwAXEcAXEUAXEgAXFQAJiMxMzsAJiMxMDsAJnF1b3Q7ACYjMTYwOwAmYW1wOwAmZ3Q7ACYjMzk7ACYjNDU7ACZsdDsAJXMgJWQgbm9kZXMgJWQgZWRnZXMgbWF4aXRlcj0lZCBiYWxhbmNlPSVkCgBuZXR3b3JrIHNpbXBsZXg6IAAlZCAAJXMlZCBub2RlcyAlZCBlZGdlcyAlZCBpdGVyICUuMmYgc2VjCgB1cGRhdGU6IG1pc21hdGNoZWQgbGNhIGluIHRyZWV1cGRhdGVzCgBUcmVlX2VkZ2Uuc2l6ZSA9PSBOX25vZGVzIC0gMQBucy5jAGZlYXNpYmxlX3RyZWUAIVRSRUVfRURHRShlKQBtZXJnZV90cmVlcwAocjAtPmhlYXBfaW5kZXggPiAtMSkgfHwgKHIxLT5oZWFwX2luZGV4ID4gLTEpAFNUc2V0VW5pb24Aci0+aGVhcF9pbmRleCA+PSAwAGFkZF90cmVlX2VkZ2U6IG1pc3NpbmcgdHJlZSBlZGdlCgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBvdXRlZGdlIGxpc3QKAGFkZF90cmVlX2VkZ2U6IGVtcHR5IGluZWRnZSBsaXN0CgB0cm91YmxlIGluIGluaXRfcmFuawoACSVzICVkCgBzZWFyY2hzaXplAGdyYXBoIAAgAG5vZGUgAHN0b3AKACUuNWcAcG9zAHJlY3RzAHhscABscABoZWFkX2xwAHRhaWxfbHAAbHdpZHRoAGxoZWlnaHQAYmIAJS41ZywlLjVnLCUuNWcALCUuNWcAJS41ZywlLjVnAHNhbXBsZXBvaW50cwAlLjVnICUuNWcAcywlLjVnLCUuNWcgAGUsJS41ZywlLjVnIAAlLjVnLCUuNWcsJS41ZywlLjVnACUuMmYAJS41ZywlLjVnLCUuNWcsJS41ZyAAL3BhdGhib3ggewogICAgL1ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgAvcGF0aGJveCB7CiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL1ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIC95IGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveCBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCiB9IGRlZgovZGJnc3RhcnQgeyBnc2F2ZSAlLjVnICUuNWcgdHJhbnNsYXRlIH0gZGVmCi9hcnJvd2xlbmd0aCAxMCBkZWYKL2Fycm93d2lkdGggYXJyb3dsZW5ndGggMiBkaXYgZGVmCi9hcnJvd2hlYWQgewogICAgZ3NhdmUKICAgIHJvdGF0ZQogICAgY3VycmVudHBvaW50CiAgICBuZXdwYXRoCiAgICBtb3ZldG8KICAgIGFycm93bGVuZ3RoIGFycm93d2lkdGggMiBkaXYgcmxpbmV0bwogICAgMCBhcnJvd3dpZHRoIG5lZyBybGluZXRvCiAgICBjbG9zZXBhdGggZmlsbAogICAgZ3Jlc3RvcmUKfSBiaW5kIGRlZgovbWFrZWFycm93IHsKICAgIGN1cnJlbnRwb2ludCBleGNoIHBvcCBzdWIgZXhjaCBjdXJyZW50cG9pbnQgcG9wIHN1YiBhdGFuCiAgICBhcnJvd2hlYWQKfSBiaW5kIGRlZgovcG9pbnQgeyAgICBuZXdwYXRoICAgIDIgMCAzNjAgYXJjIGZpbGx9IGRlZi9tYWtldmVjIHsKICAgIC9ZIGV4Y2ggZGVmCiAgICAvWCBleGNoIGRlZgogICAgL3kgZXhjaCBkZWYKICAgIC94IGV4Y2ggZGVmCiAgICBuZXdwYXRoIHggeSBtb3ZldG8KICAgIFggWSBsaW5ldG8gc3Ryb2tlCiAgICBYIFkgbW92ZXRvCiAgICB4IHkgbWFrZWFycm93Cn0gZGVmCgBsb3N0ICVzICVzIGVkZ2UKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB0YWlsIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggaGVhZCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIHhsYWJlbCAlcwBmb3JjZWxhYmVscwAlZCBvdXQgb2YgJWQgbGFiZWxzIHBvc2l0aW9uZWQuCgAlZCBvdXQgb2YgJWQgZXh0ZXJpb3IgbGFiZWxzIHBvc2l0aW9uZWQuCgAlZCBvYmpzICVkIHhsYWJlbHMgZm9yY2U9JWQgYmI9KCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpCgBvYmplY3RzCgAgWyVkXSAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXAgIiVzIgoAeGxhYmVscwoAIFslZF0gJXAgc2V0ICVkICglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKSAlcwoAc2hhcGVmaWxlIG5vdCBzZXQgb3Igbm90IGZvdW5kIGZvciBlcHNmIG5vZGUgJXMKAGNvdWxkbid0IG9wZW4gZXBzZiBmaWxlICVzCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkAHJlYWQAQm91bmRpbmdCb3ggbm90IGZvdW5kIGluIGVwc2YgZmlsZSAlcwoAY2FuJ3QgZmluZCBsaWJyYXJ5IGZpbGUgJXMKAGNhbid0IG9wZW4gbGlicmFyeSBmaWxlICVzCgBFT0YAQkVHSU4ARU5EAFRSQUlMRVIAL3VzZXJfc2hhcGVfJWQgewoAJSVCZWdpbkRvY3VtZW50OgoAJSVFbmREb2N1bWVudAoAfSBiaW5kIGRlZgoAVVRGLTggaW5wdXQgdXNlcyBub24tTGF0aW4xIGNoYXJhY3RlcnMgd2hpY2ggY2Fubm90IGJlIGhhbmRsZWQgYnkgdGhpcyBQb3N0U2NyaXB0IGRyaXZlcgoAY2Fubm90IHJlLWFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXNpbml0OiBjYW5ub3QgYWxsb2NhdGUgcHMKAHJvdXRlc3BsaW5lczogJWQgZWRnZXMsICVkIGJveGVzICUuMmYgc2VjCgBpbiByb3V0ZXNwbGluZXMsIGNhbm5vdCBmaW5kIE5PUk1BTCBlZGdlCgBpbiByb3V0ZXNwbGluZXMsIGlsbGVnYWwgdmFsdWVzIG9mIHByZXYgJWQgYW5kIG5leHQgJWQsIGxpbmUgJWQKAGluIHJvdXRlc3BsaW5lcywgZWRnZSBpcyBhIGxvb3AgYXQgJXMKAGluIHJvdXRlc3BsaW5lcywgUHNob3J0ZXN0cGF0aCBmYWlsZWQKAGluIHJvdXRlc3BsaW5lcywgUHJvdXRlc3BsaW5lIGZhaWxlZAoAVW5hYmxlIHRvIHJlY2xhaW0gYm94IHNwYWNlIGluIHNwbGluZSByb3V0aW5nIGZvciBlZGdlICIlcyIgLT4gIiVzIi4gU29tZXRoaW5nIGlzIHByb2JhYmx5IHNlcmlvdXNseSB3cm9uZy4KAGluIGNoZWNrcGF0aCwgYm94IDAgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGluIGNoZWNrcGF0aCwgYm94ICVkIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveGVzICVkIGFuZCAlZCBkb24ndCB0b3VjaAoAaW4gY2hlY2twYXRoLCBzdGFydCBwb3J0IG5vdCBpbiBmaXJzdCBib3gKAGluIGNoZWNrcGF0aCwgZW5kIHBvcnQgbm90IGluIGxhc3QgYm94CgAlZCBib3hlczoKACVkICglLjVnLCAlLjVnKSwgKCUuNWcsICUuNWcpCgBjb25zdHJhaW5lZABub3QgY29uc3RyYWluZWQAc3RhcnQgcG9ydDogKCUuNWcsICUuNWcpLCB0YW5nZW50IGFuZ2xlOiAlLjVnLCAlcwoAZW5kIHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAHNpZGVzID09IDQAc2hhcGVzLmMAcm91bmRfY29ybmVycwBiYWQgbGFiZWwgZm9ybWF0ICVzCgBcTgBtYXJnaW4AJWxmLCVsZgByZWd1bGFyAGN1c3RvbQBzaGFwZWZpbGUAPG5pbD4ATm8gb3IgaW1wcm9wZXIgc2hhcGVmaWxlPSIlcyIgZm9yIG5vZGUgIiVzIgoATm8gb3IgaW1wcm9wZXIgaW1hZ2U9IiVzIiBmb3Igbm9kZSAiJXMiCgBsYWJlbGxvYwBub2RlICclcycsIGdyYXBoICclcycgc2l6ZSB0b28gc21hbGwgZm9yIGxhYmVsCgBlcHNmAHVzaW5nICVzIGZvciB1bmtub3duIHNoYXBlICVzCgBwb2x5Z29uAG92YWwAY2lyY2xlAHBvaW50AGVnZwB0cmlhbmdsZQBwbGFpbnRleHQAcGxhaW4AZGlhbW9uZAB0cmFwZXppdW0AcGFyYWxsZWxvZ3JhbQBob3VzZQBwZW50YWdvbgBoZXhhZ29uAHNlcHRhZ29uAG9jdGFnb24Abm90ZQB0YWIAZm9sZGVyAGJveDNkAGNvbXBvbmVudABjeWxpbmRlcgByZWN0AHJlY3RhbmdsZQBzcXVhcmUAZG91YmxlY2lyY2xlAGRvdWJsZW9jdGFnb24AdHJpcGxlb2N0YWdvbgBpbnZ0cmlhbmdsZQBpbnZ0cmFwZXppdW0AaW52aG91c2UAdW5kZXJsaW5lAE1kaWFtb25kAE1zcXVhcmUATWNpcmNsZQBwcm9tb3RlcgBjZHMAdGVybWluYXRvcgB1dHIAaW5zdWxhdG9yAHJpYm9zaXRlAHJuYXN0YWIAcHJvdGVhc2VzaXRlAHByb3RlaW5zdGFiAHByaW1lcnNpdGUAcmVzdHJpY3Rpb25zaXRlAGZpdmVwb3ZlcmhhbmcAdGhyZWVwb3ZlcmhhbmcAbm92ZXJoYW5nAGFzc2VtYmx5AHNpZ25hdHVyZQBycHJvbW90ZXIAbGFycm93AHJhcnJvdwBscHJvbW90ZXIAcmVjb3JkAE1yZWNvcmQAc3RhcgAjODA4MDgwACNmY2ZjZmMAIzMwMzAzMAAjZThlOGU4ACNlMGUwZTAAI2YwZjBmMAAjMTAxMDEwACNmOGY4ZjgAaW4gbm9kZSAlcwoAcm91bmRlZABkaWFnb25hbHMAcmFkaWFsAHN0cmlwZWQAd2VkZ2VkAF8Abm9kZSAlcywgcG9ydCAlcywgdW5yZWNvZ25pemVkIGNvbXBhc3MgcG9pbnQgJyVzJyAtIGlnbm9yZWQKAG5vZGUgJXMsIHBvcnQgJXMgdW5yZWNvZ25pemVkCgAlLjVnICUuNWcgdHJhbnNsYXRlIG5ld3BhdGggdXNlcl9zaGFwZV8lZAoAaW52aXMAAGZpbGxlZAAAcwBlAHcAc3BsaW5lcy5jAGJlZ2lucGF0aABQLT5lbmQudGhldGEgPCAyICogTV9QSQBlbmRwYXRoAG1ha2VTZWxmRWRnZQBnZXRzcGxpbmVwb2ludHM6IG5vIHNwbGluZSBwb2ludHMgYXZhaWxhYmxlIGZvciBlZGdlICglcywlcykKAHBvbHlsaW5lTWlkcG9pbnQAc3Bhbi0+Zm9udAB0ZXh0c3Bhbi5jAHRleHRzcGFuX3NpemUAZm9udC0+bmFtZQBmb250bmFtZTogIiVzIiByZXNvbHZlZCB0bzogJXMKAGZvbnRuYW1lOiB1bmFibGUgdG8gcmVzb2x2ZSAiJXMiCgBjb3VyAGFyaWFsAGhlbHZldGljYQBbaW50ZXJuYWwgdGltZXNdAFtpbnRlcm5hbCBjb3VyaWVyXQBbaW50ZXJuYWwgYXJpYWxdAEF2YW50R2FyZGUtQm9vawBVUlcgR290aGljIEwAYm9vawBzYW5zLVNlcmlmAEF2YW50R2FyZGUtQm9va09ibGlxdWUAb2JsaXF1ZQBpdGFsaWMAQXZhbnRHYXJkZS1EZW1pAGRlbWkAQXZhbnRHYXJkZS1EZW1pT2JsaXF1ZQBCb29rbWFuLURlbWkAVVJXIEJvb2ttYW4gTABzZXJpZgBCb29rbWFuLURlbWlJdGFsaWMAQm9va21hbi1MaWdodABsaWdodABCb29rbWFuLUxpZ2h0SXRhbGljAENvdXJpZXIAbW9ub3NwYWNlAENvdXJpZXItQm9sZABDb3VyaWVyLUJvbGRPYmxpcXVlAENvdXJpZXItT2JsaXF1ZQBIZWx2ZXRpY2EASGVsdmV0aWNhLUJvbGQASGVsdmV0aWNhLUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3cAY29uZGVuc2VkAEhlbHZldGljYS1OYXJyb3ctQm9sZABIZWx2ZXRpY2EtTmFycm93LUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3ctT2JsaXF1ZQBIZWx2ZXRpY2EtT2JsaXF1ZQBOZXdDZW50dXJ5U2NobGJrLUJvbGQAQ2VudHVyeSBTY2hvb2xib29rIEwATmV3Q2VudHVyeVNjaGxiay1Cb2xkSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstUm9tYW4Acm9tYW4AUGFsYXRpbm8tQm9sZABQYWxhdGlubyBMaW5vdHlwZQBQYWxhdGluby1Cb2xkSXRhbGljAFBhbGF0aW5vLUl0YWxpYwBQYWxhdGluby1Sb21hbgBTeW1ib2wAZmFudGFzeQBUaW1lcy1Cb2xkAFRpbWVzAFRpbWVzLUJvbGRJdGFsaWMAVGltZXMtSXRhbGljAFphcGZDaGFuY2VyeS1NZWRpdW1JdGFsaWMAVVJXIENoYW5jZXJ5IEwAbWVkaXVtAFphcGZEaW5nYmF0cwBEaW5nYmF0cwBpbnB1dHNjYWxlAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAY2x1c3RlciBjeWNsZSAlcyAtLSAlcyBub3Qgc3VwcG9ydGVkCgB0YWlsIGNsdXN0ZXIgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBjbHVzdGVyICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHRhaWwgbm9kZSAlcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBoZWFkIG5vZGUgJXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAX18AbGFiZWwAc2hhcGUAYm94AFR3byBjbHVzdGVycyBuYW1lZCAlcyAtIHRoZSBzZWNvbmQgd2lsbCBiZSBpZ25vcmVkCgBtYXBOAEFFbGlnAEFhY3V0ZQBBY2lyYwBBZ3JhdmUAQWxwaGEAQXJpbmcAQXRpbGRlAEF1bWwAQmV0YQBDY2VkaWwAQ2hpAERhZ2dlcgBEZWx0YQBFVEgARWFjdXRlAEVjaXJjAEVncmF2ZQBFcHNpbG9uAEV0YQBFdW1sAEdhbW1hAElhY3V0ZQBJY2lyYwBJZ3JhdmUASW90YQBJdW1sAEthcHBhAExhbWJkYQBNdQBOdGlsZGUATnUAT0VsaWcAT2FjdXRlAE9jaXJjAE9ncmF2ZQBPbWVnYQBPbWljcm9uAE9zbGFzaABPdGlsZGUAT3VtbABQaGkAUGkAUHJpbWUAUHNpAFJobwBTY2Fyb24AU2lnbWEAVEhPUk4AVGF1AFRoZXRhAFVhY3V0ZQBVY2lyYwBVZ3JhdmUAVXBzaWxvbgBVdW1sAFhpAFlhY3V0ZQBZdW1sAFpldGEAYWFjdXRlAGFjaXJjAGFjdXRlAGFlbGlnAGFncmF2ZQBhbGVmc3ltAGFscGhhAGFtcABhbmQAYW5nAGFyaW5nAGFzeW1wAGF0aWxkZQBhdW1sAGJkcXVvAGJldGEAYnJ2YmFyAGJ1bGwAY2FwAGNjZWRpbABjZWRpbABjZW50AGNoaQBjaXJjAGNsdWJzAGNvbmcAY29weQBjcmFycgBjdXAAY3VycmVuAGRBcnIAZGFnZ2VyAGRhcnIAZGVnAGRlbHRhAGRpYW1zAGRpdmlkZQBlYWN1dGUAZWNpcmMAZWdyYXZlAGVtcHR5AGVtc3AAZW5zcABlcHNpbG9uAGVxdWl2AGV0YQBldGgAZXVtbABldXJvAGV4aXN0AGZub2YAZm9yYWxsAGZyYWMxMgBmcmFjMTQAZnJhYzM0AGZyYXNsAGdhbW1hAGdlAGd0AGhBcnIAaGFycgBoZWFydHMAaGVsbGlwAGlhY3V0ZQBpY2lyYwBpZXhjbABpZ3JhdmUAaW1hZ2UAaW5maW4AaW50AGlvdGEAaXF1ZXN0AGlzaW4AaXVtbABrYXBwYQBsQXJyAGxhbWJkYQBsYW5nAGxhcXVvAGxhcnIAbGNlaWwAbGRxdW8AbGUAbGZsb29yAGxvd2FzdABsb3oAbHJtAGxzYXF1bwBsc3F1bwBsdABtYWNyAG1kYXNoAG1pY3JvAG1pZGRvdABtdQBuYWJsYQBuYnNwAG5kYXNoAG5lAG5pAG5vdABub3RpbgBuc3ViAG50aWxkZQBudQBvYWN1dGUAb2NpcmMAb2VsaWcAb2dyYXZlAG9saW5lAG9tZWdhAG9taWNyb24Ab3BsdXMAb3IAb3JkZgBvcmRtAG9zbGFzaABvdGlsZGUAb3RpbWVzAG91bWwAcGFyYQBwYXJ0AHBlcm1pbABwZXJwAHBoaQBwaQBwaXYAcGx1c21uAHBvdW5kAHByaW1lAHByb2QAcHJvcABwc2kAcXVvdAByQXJyAHJhZGljAHJhbmcAcmFxdW8AcmFycgByY2VpbAByZHF1bwByZWFsAHJlZwByZmxvb3IAcmhvAHJsbQByc2FxdW8AcnNxdW8Ac2JxdW8Ac2Nhcm9uAHNkb3QAc2VjdABzaHkAc2lnbWEAc2lnbWFmAHNpbQBzcGFkZXMAc3ViAHN1YmUAc3VtAHN1cABzdXAxAHN1cDIAc3VwMwBzdXBlAHN6bGlnAHRhdQB0aGVyZTQAdGhldGEAdGhldGFzeW0AdGhpbnNwAHRob3JuAHRpbGRlAHRpbWVzAHRyYWRlAHVBcnIAdWFjdXRlAHVhcnIAdWNpcmMAdWdyYXZlAHVtbAB1cHNpaAB1cHNpbG9uAHV1bWwAd2VpZXJwAHhpAHlhY3V0ZQB5ZW4AeXVtbAB6ZXRhAHp3agB6d25qAFVURjggY29kZXMgPiA0IGJ5dGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCAoZ3JhcGggJXMpIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBJbnZhbGlkICVkLWJ5dGUgVVRGOCBmb3VuZCBpbiBpbnB1dCBvZiBncmFwaCAlcyAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoAYnouc2l6ZQBvdmVybGFwX2JlemllcgB1cnZlZABvbXBvdW5kAGFsc2UAaW5lAG9uZQBvAHJ0aG8Ab2x5bGluZQBwbGluZQBydWUAZXMAVW5rbm93biAic3BsaW5lcyIgdmFsdWU6ICIlcyIgLSBpZ25vcmVkCgBzcGxpbmVzAG9kYgBPcnRob2dvbmFsIGVkZ2VzIGRvIG5vdCBjdXJyZW50bHkgaGFuZGxlIGVkZ2UgbGFiZWxzLiBUcnkgdXNpbmcgeGxhYmVscy4KAG9ydGhvICVzICVzCgBjaGFuaQBvcnRoby5jAGNoYW5TZWFyY2gAY3AAJSUhUFMtQWRvYmUtMi4wCiUlJSVCb3VuZGluZ0JveDogKGF0ZW5kKQovcG9pbnQgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICBuZXdwYXRoCiAgWCBZIDMgMCAzNjAgYXJjIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCi9ub2RlIHsKIC91IGV4Y2ggZGVmCiAvciBleGNoIGRlZgogL2QgZXhjaCBkZWYKIC9sIGV4Y2ggZGVmCiBuZXdwYXRoIGwgZCBtb3ZldG8KIHIgZCBsaW5ldG8gciB1IGxpbmV0byBsIHUgbGluZXRvCiBjbG9zZXBhdGggZmlsbAp9IGRlZgoKACVkICVkIHRyYW5zbGF0ZQoAMC44IDAuOCAwLjggc2V0cmdiY29sb3IKAHNob3dwYWdlCiUlJSVUcmFpbGVyCiUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKAG5ld3BhdGggJWQgJWQgbW92ZXRvCgAlZCAlZCBsaW5ldG8KACVkICVkIGxpbmV0byBzdHJva2UKAGNoYW5uZWwgJWQgKCVmLCVmKQoAIC0+CgAgICAgIAAoKCVmLCVmKSwoJWYsJWYpKSAlcyAlcwBCX1JJR0hUAEJfRE9XTgBCX0xFRlQAQl9VUABCX05PREUAc2VnAG5leHRfc2VnAGRlY2lkZV9wb2ludABpbmNvbXBhcmFibGUgc2VnbWVudHMgISEgLS0gQWJvcnRpbmcKAHMxLT5jb21tX2Nvb3JkPT1zMi0+Y29tbV9jb29yZABpc19wYXJhbGxlbABncmFwaCBHIHsKACBub2RlW3NoYXBlPXBvaW50XQoAICAlZCBbcG9zPSIlZCwlZCJdCgAgICVkIC0tICVkW2xlbj0iJWYiXQoAfQoAY29sb3IgJXMAJXMgaXMgbm90IGEga25vd24gY29sb3IuCgBlcnJvciBpbiBjb2x4bGF0ZSgpCgBzb2xpZABpbnZpc2libGUAYm9sZABzZXRsaW5ld2lkdGgAZmlsbGVkAHVuZmlsbGVkAHRhcGVyZWQAZ3ZyZW5kZXJfc2V0X3N0eWxlOiB1bnN1cHBvcnRlZCBzdHlsZSAlcyAtIGlnbm9yaW5nCgBndnJlbmRlci5jAGd2cmVuZGVyX3VzZXJzaGFwZQBuYW1lAG5hbWVbMF0AYm90aABsYXlvdXQATGF5b3V0IHR5cGU6ICIlcyIgbm90IHJlY29nbml6ZWQuIFVzZSBvbmUgb2Y6JXMKAGpvYgBndmxvYWRpbWFnZS5jAGd2bG9hZGltYWdlAHVzAHVzLT5uYW1lAHVzLT5uYW1lWzBdAE5vIGxvYWRpbWFnZSBwbHVnaW4gZm9yICIlcyIKAFEATGVmdABLUF9MZWZ0AFJpZ2h0AEtQX1JpZ2h0AFVwAEtQX1VwAERvd24AS1BfRG93bgBwbHVzAEtQX0FkZABtaW51cwBLUF9TdWJ0cmFjdABGAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AFVSTABub2RlAGRpZ3JhcGgAZ3JhcGgAc3ViZ3JhcGgAX0xUWF9saWJyYXJ5AHRleHRsYXlvdXQAb2JqcC0+bGJsAHhsYWJlbHMuYwB4bGFkanVzdAB4bGludGVyc2VjdGlvbnMAbHAgIT0gY2xwAGdldGludHJzeGkAb2JqcDEtPnN6LnggPT0gMCAmJiBvYmpwMS0+c3oueSA9PSAwAGxibGVuY2xvc2luZwB2cAB4bGhkeHVubG9hZABzaXplPT1mcmVlZAByZWN0LmJvdW5kYXJ5WzJdIDwgSU5UX01BWABvYmpwbHBta3MAcmVjdC5ib3VuZGFyeVszXSA8IElOVF9NQVgAb3V0IG9mIG1lbW9yeQoAIyUyeCUyeCUyeCUyeAAlbGYlbGYlbGYAL2FjY2VudDMvMQAvYWNjZW50My8yAC9hY2NlbnQzLzMAL2FjY2VudDQvMQAvYWNjZW50NC8yAC9hY2NlbnQ0LzMAL2FjY2VudDQvNAAvYWNjZW50NS8xAC9hY2NlbnQ1LzIAL2FjY2VudDUvMwAvYWNjZW50NS80AC9hY2NlbnQ1LzUAL2FjY2VudDYvMQAvYWNjZW50Ni8yAC9hY2NlbnQ2LzMAL2FjY2VudDYvNAAvYWNjZW50Ni81AC9hY2NlbnQ2LzYAL2FjY2VudDcvMQAvYWNjZW50Ny8yAC9hY2NlbnQ3LzMAL2FjY2VudDcvNAAvYWNjZW50Ny81AC9hY2NlbnQ3LzYAL2FjY2VudDcvNwAvYWNjZW50OC8xAC9hY2NlbnQ4LzIAL2FjY2VudDgvMwAvYWNjZW50OC80AC9hY2NlbnQ4LzUAL2FjY2VudDgvNgAvYWNjZW50OC83AC9hY2NlbnQ4LzgAL2JsdWVzMy8xAC9ibHVlczMvMgAvYmx1ZXMzLzMAL2JsdWVzNC8xAC9ibHVlczQvMgAvYmx1ZXM0LzMAL2JsdWVzNC80AC9ibHVlczUvMQAvYmx1ZXM1LzIAL2JsdWVzNS8zAC9ibHVlczUvNAAvYmx1ZXM1LzUAL2JsdWVzNi8xAC9ibHVlczYvMgAvYmx1ZXM2LzMAL2JsdWVzNi80AC9ibHVlczYvNQAvYmx1ZXM2LzYAL2JsdWVzNy8xAC9ibHVlczcvMgAvYmx1ZXM3LzMAL2JsdWVzNy80AC9ibHVlczcvNQAvYmx1ZXM3LzYAL2JsdWVzNy83AC9ibHVlczgvMQAvYmx1ZXM4LzIAL2JsdWVzOC8zAC9ibHVlczgvNAAvYmx1ZXM4LzUAL2JsdWVzOC82AC9ibHVlczgvNwAvYmx1ZXM4LzgAL2JsdWVzOS8xAC9ibHVlczkvMgAvYmx1ZXM5LzMAL2JsdWVzOS80AC9ibHVlczkvNQAvYmx1ZXM5LzYAL2JsdWVzOS83AC9ibHVlczkvOAAvYmx1ZXM5LzkAL2JyYmcxMC8xAC9icmJnMTAvMTAAL2JyYmcxMC8yAC9icmJnMTAvMwAvYnJiZzEwLzQAL2JyYmcxMC81AC9icmJnMTAvNgAvYnJiZzEwLzcAL2JyYmcxMC84AC9icmJnMTAvOQAvYnJiZzExLzEAL2JyYmcxMS8xMAAvYnJiZzExLzExAC9icmJnMTEvMgAvYnJiZzExLzMAL2JyYmcxMS80AC9icmJnMTEvNQAvYnJiZzExLzYAL2JyYmcxMS83AC9icmJnMTEvOAAvYnJiZzExLzkAL2JyYmczLzEAL2JyYmczLzIAL2JyYmczLzMAL2JyYmc0LzEAL2JyYmc0LzIAL2JyYmc0LzMAL2JyYmc0LzQAL2JyYmc1LzEAL2JyYmc1LzIAL2JyYmc1LzMAL2JyYmc1LzQAL2JyYmc1LzUAL2JyYmc2LzEAL2JyYmc2LzIAL2JyYmc2LzMAL2JyYmc2LzQAL2JyYmc2LzUAL2JyYmc2LzYAL2JyYmc3LzEAL2JyYmc3LzIAL2JyYmc3LzMAL2JyYmc3LzQAL2JyYmc3LzUAL2JyYmc3LzYAL2JyYmc3LzcAL2JyYmc4LzEAL2JyYmc4LzIAL2JyYmc4LzMAL2JyYmc4LzQAL2JyYmc4LzUAL2JyYmc4LzYAL2JyYmc4LzcAL2JyYmc4LzgAL2JyYmc5LzEAL2JyYmc5LzIAL2JyYmc5LzMAL2JyYmc5LzQAL2JyYmc5LzUAL2JyYmc5LzYAL2JyYmc5LzcAL2JyYmc5LzgAL2JyYmc5LzkAL2J1Z24zLzEAL2J1Z24zLzIAL2J1Z24zLzMAL2J1Z240LzEAL2J1Z240LzIAL2J1Z240LzMAL2J1Z240LzQAL2J1Z241LzEAL2J1Z241LzIAL2J1Z241LzMAL2J1Z241LzQAL2J1Z241LzUAL2J1Z242LzEAL2J1Z242LzIAL2J1Z242LzMAL2J1Z242LzQAL2J1Z242LzUAL2J1Z242LzYAL2J1Z243LzEAL2J1Z243LzIAL2J1Z243LzMAL2J1Z243LzQAL2J1Z243LzUAL2J1Z243LzYAL2J1Z243LzcAL2J1Z244LzEAL2J1Z244LzIAL2J1Z244LzMAL2J1Z244LzQAL2J1Z244LzUAL2J1Z244LzYAL2J1Z244LzcAL2J1Z244LzgAL2J1Z245LzEAL2J1Z245LzIAL2J1Z245LzMAL2J1Z245LzQAL2J1Z245LzUAL2J1Z245LzYAL2J1Z245LzcAL2J1Z245LzgAL2J1Z245LzkAL2J1cHUzLzEAL2J1cHUzLzIAL2J1cHUzLzMAL2J1cHU0LzEAL2J1cHU0LzIAL2J1cHU0LzMAL2J1cHU0LzQAL2J1cHU1LzEAL2J1cHU1LzIAL2J1cHU1LzMAL2J1cHU1LzQAL2J1cHU1LzUAL2J1cHU2LzEAL2J1cHU2LzIAL2J1cHU2LzMAL2J1cHU2LzQAL2J1cHU2LzUAL2J1cHU2LzYAL2J1cHU3LzEAL2J1cHU3LzIAL2J1cHU3LzMAL2J1cHU3LzQAL2J1cHU3LzUAL2J1cHU3LzYAL2J1cHU3LzcAL2J1cHU4LzEAL2J1cHU4LzIAL2J1cHU4LzMAL2J1cHU4LzQAL2J1cHU4LzUAL2J1cHU4LzYAL2J1cHU4LzcAL2J1cHU4LzgAL2J1cHU5LzEAL2J1cHU5LzIAL2J1cHU5LzMAL2J1cHU5LzQAL2J1cHU5LzUAL2J1cHU5LzYAL2J1cHU5LzcAL2J1cHU5LzgAL2J1cHU5LzkAL2RhcmsyMy8xAC9kYXJrMjMvMgAvZGFyazIzLzMAL2RhcmsyNC8xAC9kYXJrMjQvMgAvZGFyazI0LzMAL2RhcmsyNC80AC9kYXJrMjUvMQAvZGFyazI1LzIAL2RhcmsyNS8zAC9kYXJrMjUvNAAvZGFyazI1LzUAL2RhcmsyNi8xAC9kYXJrMjYvMgAvZGFyazI2LzMAL2RhcmsyNi80AC9kYXJrMjYvNQAvZGFyazI2LzYAL2RhcmsyNy8xAC9kYXJrMjcvMgAvZGFyazI3LzMAL2RhcmsyNy80AC9kYXJrMjcvNQAvZGFyazI3LzYAL2RhcmsyNy83AC9kYXJrMjgvMQAvZGFyazI4LzIAL2RhcmsyOC8zAC9kYXJrMjgvNAAvZGFyazI4LzUAL2RhcmsyOC82AC9kYXJrMjgvNwAvZGFyazI4LzgAL2duYnUzLzEAL2duYnUzLzIAL2duYnUzLzMAL2duYnU0LzEAL2duYnU0LzIAL2duYnU0LzMAL2duYnU0LzQAL2duYnU1LzEAL2duYnU1LzIAL2duYnU1LzMAL2duYnU1LzQAL2duYnU1LzUAL2duYnU2LzEAL2duYnU2LzIAL2duYnU2LzMAL2duYnU2LzQAL2duYnU2LzUAL2duYnU2LzYAL2duYnU3LzEAL2duYnU3LzIAL2duYnU3LzMAL2duYnU3LzQAL2duYnU3LzUAL2duYnU3LzYAL2duYnU3LzcAL2duYnU4LzEAL2duYnU4LzIAL2duYnU4LzMAL2duYnU4LzQAL2duYnU4LzUAL2duYnU4LzYAL2duYnU4LzcAL2duYnU4LzgAL2duYnU5LzEAL2duYnU5LzIAL2duYnU5LzMAL2duYnU5LzQAL2duYnU5LzUAL2duYnU5LzYAL2duYnU5LzcAL2duYnU5LzgAL2duYnU5LzkAL2dyZWVuczMvMQAvZ3JlZW5zMy8yAC9ncmVlbnMzLzMAL2dyZWVuczQvMQAvZ3JlZW5zNC8yAC9ncmVlbnM0LzMAL2dyZWVuczQvNAAvZ3JlZW5zNS8xAC9ncmVlbnM1LzIAL2dyZWVuczUvMwAvZ3JlZW5zNS80AC9ncmVlbnM1LzUAL2dyZWVuczYvMQAvZ3JlZW5zNi8yAC9ncmVlbnM2LzMAL2dyZWVuczYvNAAvZ3JlZW5zNi81AC9ncmVlbnM2LzYAL2dyZWVuczcvMQAvZ3JlZW5zNy8yAC9ncmVlbnM3LzMAL2dyZWVuczcvNAAvZ3JlZW5zNy81AC9ncmVlbnM3LzYAL2dyZWVuczcvNwAvZ3JlZW5zOC8xAC9ncmVlbnM4LzIAL2dyZWVuczgvMwAvZ3JlZW5zOC80AC9ncmVlbnM4LzUAL2dyZWVuczgvNgAvZ3JlZW5zOC83AC9ncmVlbnM4LzgAL2dyZWVuczkvMQAvZ3JlZW5zOS8yAC9ncmVlbnM5LzMAL2dyZWVuczkvNAAvZ3JlZW5zOS81AC9ncmVlbnM5LzYAL2dyZWVuczkvNwAvZ3JlZW5zOS84AC9ncmVlbnM5LzkAL2dyZXlzMy8xAC9ncmV5czMvMgAvZ3JleXMzLzMAL2dyZXlzNC8xAC9ncmV5czQvMgAvZ3JleXM0LzMAL2dyZXlzNC80AC9ncmV5czUvMQAvZ3JleXM1LzIAL2dyZXlzNS8zAC9ncmV5czUvNAAvZ3JleXM1LzUAL2dyZXlzNi8xAC9ncmV5czYvMgAvZ3JleXM2LzMAL2dyZXlzNi80AC9ncmV5czYvNQAvZ3JleXM2LzYAL2dyZXlzNy8xAC9ncmV5czcvMgAvZ3JleXM3LzMAL2dyZXlzNy80AC9ncmV5czcvNQAvZ3JleXM3LzYAL2dyZXlzNy83AC9ncmV5czgvMQAvZ3JleXM4LzIAL2dyZXlzOC8zAC9ncmV5czgvNAAvZ3JleXM4LzUAL2dyZXlzOC82AC9ncmV5czgvNwAvZ3JleXM4LzgAL2dyZXlzOS8xAC9ncmV5czkvMgAvZ3JleXM5LzMAL2dyZXlzOS80AC9ncmV5czkvNQAvZ3JleXM5LzYAL2dyZXlzOS83AC9ncmV5czkvOAAvZ3JleXM5LzkAL29yYW5nZXMzLzEAL29yYW5nZXMzLzIAL29yYW5nZXMzLzMAL29yYW5nZXM0LzEAL29yYW5nZXM0LzIAL29yYW5nZXM0LzMAL29yYW5nZXM0LzQAL29yYW5nZXM1LzEAL29yYW5nZXM1LzIAL29yYW5nZXM1LzMAL29yYW5nZXM1LzQAL29yYW5nZXM1LzUAL29yYW5nZXM2LzEAL29yYW5nZXM2LzIAL29yYW5nZXM2LzMAL29yYW5nZXM2LzQAL29yYW5nZXM2LzUAL29yYW5nZXM2LzYAL29yYW5nZXM3LzEAL29yYW5nZXM3LzIAL29yYW5nZXM3LzMAL29yYW5nZXM3LzQAL29yYW5nZXM3LzUAL29yYW5nZXM3LzYAL29yYW5nZXM3LzcAL29yYW5nZXM4LzEAL29yYW5nZXM4LzIAL29yYW5nZXM4LzMAL29yYW5nZXM4LzQAL29yYW5nZXM4LzUAL29yYW5nZXM4LzYAL29yYW5nZXM4LzcAL29yYW5nZXM4LzgAL29yYW5nZXM5LzEAL29yYW5nZXM5LzIAL29yYW5nZXM5LzMAL29yYW5nZXM5LzQAL29yYW5nZXM5LzUAL29yYW5nZXM5LzYAL29yYW5nZXM5LzcAL29yYW5nZXM5LzgAL29yYW5nZXM5LzkAL29ycmQzLzEAL29ycmQzLzIAL29ycmQzLzMAL29ycmQ0LzEAL29ycmQ0LzIAL29ycmQ0LzMAL29ycmQ0LzQAL29ycmQ1LzEAL29ycmQ1LzIAL29ycmQ1LzMAL29ycmQ1LzQAL29ycmQ1LzUAL29ycmQ2LzEAL29ycmQ2LzIAL29ycmQ2LzMAL29ycmQ2LzQAL29ycmQ2LzUAL29ycmQ2LzYAL29ycmQ3LzEAL29ycmQ3LzIAL29ycmQ3LzMAL29ycmQ3LzQAL29ycmQ3LzUAL29ycmQ3LzYAL29ycmQ3LzcAL29ycmQ4LzEAL29ycmQ4LzIAL29ycmQ4LzMAL29ycmQ4LzQAL29ycmQ4LzUAL29ycmQ4LzYAL29ycmQ4LzcAL29ycmQ4LzgAL29ycmQ5LzEAL29ycmQ5LzIAL29ycmQ5LzMAL29ycmQ5LzQAL29ycmQ5LzUAL29ycmQ5LzYAL29ycmQ5LzcAL29ycmQ5LzgAL29ycmQ5LzkAL3BhaXJlZDEwLzEAL3BhaXJlZDEwLzEwAC9wYWlyZWQxMC8yAC9wYWlyZWQxMC8zAC9wYWlyZWQxMC80AC9wYWlyZWQxMC81AC9wYWlyZWQxMC82AC9wYWlyZWQxMC83AC9wYWlyZWQxMC84AC9wYWlyZWQxMC85AC9wYWlyZWQxMS8xAC9wYWlyZWQxMS8xMAAvcGFpcmVkMTEvMTEAL3BhaXJlZDExLzIAL3BhaXJlZDExLzMAL3BhaXJlZDExLzQAL3BhaXJlZDExLzUAL3BhaXJlZDExLzYAL3BhaXJlZDExLzcAL3BhaXJlZDExLzgAL3BhaXJlZDExLzkAL3BhaXJlZDEyLzEAL3BhaXJlZDEyLzEwAC9wYWlyZWQxMi8xMQAvcGFpcmVkMTIvMTIAL3BhaXJlZDEyLzIAL3BhaXJlZDEyLzMAL3BhaXJlZDEyLzQAL3BhaXJlZDEyLzUAL3BhaXJlZDEyLzYAL3BhaXJlZDEyLzcAL3BhaXJlZDEyLzgAL3BhaXJlZDEyLzkAL3BhaXJlZDMvMQAvcGFpcmVkMy8yAC9wYWlyZWQzLzMAL3BhaXJlZDQvMQAvcGFpcmVkNC8yAC9wYWlyZWQ0LzMAL3BhaXJlZDQvNAAvcGFpcmVkNS8xAC9wYWlyZWQ1LzIAL3BhaXJlZDUvMwAvcGFpcmVkNS80AC9wYWlyZWQ1LzUAL3BhaXJlZDYvMQAvcGFpcmVkNi8yAC9wYWlyZWQ2LzMAL3BhaXJlZDYvNAAvcGFpcmVkNi81AC9wYWlyZWQ2LzYAL3BhaXJlZDcvMQAvcGFpcmVkNy8yAC9wYWlyZWQ3LzMAL3BhaXJlZDcvNAAvcGFpcmVkNy81AC9wYWlyZWQ3LzYAL3BhaXJlZDcvNwAvcGFpcmVkOC8xAC9wYWlyZWQ4LzIAL3BhaXJlZDgvMwAvcGFpcmVkOC80AC9wYWlyZWQ4LzUAL3BhaXJlZDgvNgAvcGFpcmVkOC83AC9wYWlyZWQ4LzgAL3BhaXJlZDkvMQAvcGFpcmVkOS8yAC9wYWlyZWQ5LzMAL3BhaXJlZDkvNAAvcGFpcmVkOS81AC9wYWlyZWQ5LzYAL3BhaXJlZDkvNwAvcGFpcmVkOS84AC9wYWlyZWQ5LzkAL3Bhc3RlbDEzLzEAL3Bhc3RlbDEzLzIAL3Bhc3RlbDEzLzMAL3Bhc3RlbDE0LzEAL3Bhc3RlbDE0LzIAL3Bhc3RlbDE0LzMAL3Bhc3RlbDE0LzQAL3Bhc3RlbDE1LzEAL3Bhc3RlbDE1LzIAL3Bhc3RlbDE1LzMAL3Bhc3RlbDE1LzQAL3Bhc3RlbDE1LzUAL3Bhc3RlbDE2LzEAL3Bhc3RlbDE2LzIAL3Bhc3RlbDE2LzMAL3Bhc3RlbDE2LzQAL3Bhc3RlbDE2LzUAL3Bhc3RlbDE2LzYAL3Bhc3RlbDE3LzEAL3Bhc3RlbDE3LzIAL3Bhc3RlbDE3LzMAL3Bhc3RlbDE3LzQAL3Bhc3RlbDE3LzUAL3Bhc3RlbDE3LzYAL3Bhc3RlbDE3LzcAL3Bhc3RlbDE4LzEAL3Bhc3RlbDE4LzIAL3Bhc3RlbDE4LzMAL3Bhc3RlbDE4LzQAL3Bhc3RlbDE4LzUAL3Bhc3RlbDE4LzYAL3Bhc3RlbDE4LzcAL3Bhc3RlbDE4LzgAL3Bhc3RlbDE5LzEAL3Bhc3RlbDE5LzIAL3Bhc3RlbDE5LzMAL3Bhc3RlbDE5LzQAL3Bhc3RlbDE5LzUAL3Bhc3RlbDE5LzYAL3Bhc3RlbDE5LzcAL3Bhc3RlbDE5LzgAL3Bhc3RlbDE5LzkAL3Bhc3RlbDIzLzEAL3Bhc3RlbDIzLzIAL3Bhc3RlbDIzLzMAL3Bhc3RlbDI0LzEAL3Bhc3RlbDI0LzIAL3Bhc3RlbDI0LzMAL3Bhc3RlbDI0LzQAL3Bhc3RlbDI1LzEAL3Bhc3RlbDI1LzIAL3Bhc3RlbDI1LzMAL3Bhc3RlbDI1LzQAL3Bhc3RlbDI1LzUAL3Bhc3RlbDI2LzEAL3Bhc3RlbDI2LzIAL3Bhc3RlbDI2LzMAL3Bhc3RlbDI2LzQAL3Bhc3RlbDI2LzUAL3Bhc3RlbDI2LzYAL3Bhc3RlbDI3LzEAL3Bhc3RlbDI3LzIAL3Bhc3RlbDI3LzMAL3Bhc3RlbDI3LzQAL3Bhc3RlbDI3LzUAL3Bhc3RlbDI3LzYAL3Bhc3RlbDI3LzcAL3Bhc3RlbDI4LzEAL3Bhc3RlbDI4LzIAL3Bhc3RlbDI4LzMAL3Bhc3RlbDI4LzQAL3Bhc3RlbDI4LzUAL3Bhc3RlbDI4LzYAL3Bhc3RlbDI4LzcAL3Bhc3RlbDI4LzgAL3BpeWcxMC8xAC9waXlnMTAvMTAAL3BpeWcxMC8yAC9waXlnMTAvMwAvcGl5ZzEwLzQAL3BpeWcxMC81AC9waXlnMTAvNgAvcGl5ZzEwLzcAL3BpeWcxMC84AC9waXlnMTAvOQAvcGl5ZzExLzEAL3BpeWcxMS8xMAAvcGl5ZzExLzExAC9waXlnMTEvMgAvcGl5ZzExLzMAL3BpeWcxMS80AC9waXlnMTEvNQAvcGl5ZzExLzYAL3BpeWcxMS83AC9waXlnMTEvOAAvcGl5ZzExLzkAL3BpeWczLzEAL3BpeWczLzIAL3BpeWczLzMAL3BpeWc0LzEAL3BpeWc0LzIAL3BpeWc0LzMAL3BpeWc0LzQAL3BpeWc1LzEAL3BpeWc1LzIAL3BpeWc1LzMAL3BpeWc1LzQAL3BpeWc1LzUAL3BpeWc2LzEAL3BpeWc2LzIAL3BpeWc2LzMAL3BpeWc2LzQAL3BpeWc2LzUAL3BpeWc2LzYAL3BpeWc3LzEAL3BpeWc3LzIAL3BpeWc3LzMAL3BpeWc3LzQAL3BpeWc3LzUAL3BpeWc3LzYAL3BpeWc3LzcAL3BpeWc4LzEAL3BpeWc4LzIAL3BpeWc4LzMAL3BpeWc4LzQAL3BpeWc4LzUAL3BpeWc4LzYAL3BpeWc4LzcAL3BpeWc4LzgAL3BpeWc5LzEAL3BpeWc5LzIAL3BpeWc5LzMAL3BpeWc5LzQAL3BpeWc5LzUAL3BpeWc5LzYAL3BpeWc5LzcAL3BpeWc5LzgAL3BpeWc5LzkAL3ByZ24xMC8xAC9wcmduMTAvMTAAL3ByZ24xMC8yAC9wcmduMTAvMwAvcHJnbjEwLzQAL3ByZ24xMC81AC9wcmduMTAvNgAvcHJnbjEwLzcAL3ByZ24xMC84AC9wcmduMTAvOQAvcHJnbjExLzEAL3ByZ24xMS8xMAAvcHJnbjExLzExAC9wcmduMTEvMgAvcHJnbjExLzMAL3ByZ24xMS80AC9wcmduMTEvNQAvcHJnbjExLzYAL3ByZ24xMS83AC9wcmduMTEvOAAvcHJnbjExLzkAL3ByZ24zLzEAL3ByZ24zLzIAL3ByZ24zLzMAL3ByZ240LzEAL3ByZ240LzIAL3ByZ240LzMAL3ByZ240LzQAL3ByZ241LzEAL3ByZ241LzIAL3ByZ241LzMAL3ByZ241LzQAL3ByZ241LzUAL3ByZ242LzEAL3ByZ242LzIAL3ByZ242LzMAL3ByZ242LzQAL3ByZ242LzUAL3ByZ242LzYAL3ByZ243LzEAL3ByZ243LzIAL3ByZ243LzMAL3ByZ243LzQAL3ByZ243LzUAL3ByZ243LzYAL3ByZ243LzcAL3ByZ244LzEAL3ByZ244LzIAL3ByZ244LzMAL3ByZ244LzQAL3ByZ244LzUAL3ByZ244LzYAL3ByZ244LzcAL3ByZ244LzgAL3ByZ245LzEAL3ByZ245LzIAL3ByZ245LzMAL3ByZ245LzQAL3ByZ245LzUAL3ByZ245LzYAL3ByZ245LzcAL3ByZ245LzgAL3ByZ245LzkAL3B1YnUzLzEAL3B1YnUzLzIAL3B1YnUzLzMAL3B1YnU0LzEAL3B1YnU0LzIAL3B1YnU0LzMAL3B1YnU0LzQAL3B1YnU1LzEAL3B1YnU1LzIAL3B1YnU1LzMAL3B1YnU1LzQAL3B1YnU1LzUAL3B1YnU2LzEAL3B1YnU2LzIAL3B1YnU2LzMAL3B1YnU2LzQAL3B1YnU2LzUAL3B1YnU2LzYAL3B1YnU3LzEAL3B1YnU3LzIAL3B1YnU3LzMAL3B1YnU3LzQAL3B1YnU3LzUAL3B1YnU3LzYAL3B1YnU3LzcAL3B1YnU4LzEAL3B1YnU4LzIAL3B1YnU4LzMAL3B1YnU4LzQAL3B1YnU4LzUAL3B1YnU4LzYAL3B1YnU4LzcAL3B1YnU4LzgAL3B1YnU5LzEAL3B1YnU5LzIAL3B1YnU5LzMAL3B1YnU5LzQAL3B1YnU5LzUAL3B1YnU5LzYAL3B1YnU5LzcAL3B1YnU5LzgAL3B1YnU5LzkAL3B1YnVnbjMvMQAvcHVidWduMy8yAC9wdWJ1Z24zLzMAL3B1YnVnbjQvMQAvcHVidWduNC8yAC9wdWJ1Z240LzMAL3B1YnVnbjQvNAAvcHVidWduNS8xAC9wdWJ1Z241LzIAL3B1YnVnbjUvMwAvcHVidWduNS80AC9wdWJ1Z241LzUAL3B1YnVnbjYvMQAvcHVidWduNi8yAC9wdWJ1Z242LzMAL3B1YnVnbjYvNAAvcHVidWduNi81AC9wdWJ1Z242LzYAL3B1YnVnbjcvMQAvcHVidWduNy8yAC9wdWJ1Z243LzMAL3B1YnVnbjcvNAAvcHVidWduNy81AC9wdWJ1Z243LzYAL3B1YnVnbjcvNwAvcHVidWduOC8xAC9wdWJ1Z244LzIAL3B1YnVnbjgvMwAvcHVidWduOC80AC9wdWJ1Z244LzUAL3B1YnVnbjgvNgAvcHVidWduOC83AC9wdWJ1Z244LzgAL3B1YnVnbjkvMQAvcHVidWduOS8yAC9wdWJ1Z245LzMAL3B1YnVnbjkvNAAvcHVidWduOS81AC9wdWJ1Z245LzYAL3B1YnVnbjkvNwAvcHVidWduOS84AC9wdWJ1Z245LzkAL3B1b3IxMC8xAC9wdW9yMTAvMTAAL3B1b3IxMC8yAC9wdW9yMTAvMwAvcHVvcjEwLzQAL3B1b3IxMC81AC9wdW9yMTAvNgAvcHVvcjEwLzcAL3B1b3IxMC84AC9wdW9yMTAvOQAvcHVvcjExLzEAL3B1b3IxMS8xMAAvcHVvcjExLzExAC9wdW9yMTEvMgAvcHVvcjExLzMAL3B1b3IxMS80AC9wdW9yMTEvNQAvcHVvcjExLzYAL3B1b3IxMS83AC9wdW9yMTEvOAAvcHVvcjExLzkAL3B1b3IzLzEAL3B1b3IzLzIAL3B1b3IzLzMAL3B1b3I0LzEAL3B1b3I0LzIAL3B1b3I0LzMAL3B1b3I0LzQAL3B1b3I1LzEAL3B1b3I1LzIAL3B1b3I1LzMAL3B1b3I1LzQAL3B1b3I1LzUAL3B1b3I2LzEAL3B1b3I2LzIAL3B1b3I2LzMAL3B1b3I2LzQAL3B1b3I2LzUAL3B1b3I2LzYAL3B1b3I3LzEAL3B1b3I3LzIAL3B1b3I3LzMAL3B1b3I3LzQAL3B1b3I3LzUAL3B1b3I3LzYAL3B1b3I3LzcAL3B1b3I4LzEAL3B1b3I4LzIAL3B1b3I4LzMAL3B1b3I4LzQAL3B1b3I4LzUAL3B1b3I4LzYAL3B1b3I4LzcAL3B1b3I4LzgAL3B1b3I5LzEAL3B1b3I5LzIAL3B1b3I5LzMAL3B1b3I5LzQAL3B1b3I5LzUAL3B1b3I5LzYAL3B1b3I5LzcAL3B1b3I5LzgAL3B1b3I5LzkAL3B1cmQzLzEAL3B1cmQzLzIAL3B1cmQzLzMAL3B1cmQ0LzEAL3B1cmQ0LzIAL3B1cmQ0LzMAL3B1cmQ0LzQAL3B1cmQ1LzEAL3B1cmQ1LzIAL3B1cmQ1LzMAL3B1cmQ1LzQAL3B1cmQ1LzUAL3B1cmQ2LzEAL3B1cmQ2LzIAL3B1cmQ2LzMAL3B1cmQ2LzQAL3B1cmQ2LzUAL3B1cmQ2LzYAL3B1cmQ3LzEAL3B1cmQ3LzIAL3B1cmQ3LzMAL3B1cmQ3LzQAL3B1cmQ3LzUAL3B1cmQ3LzYAL3B1cmQ3LzcAL3B1cmQ4LzEAL3B1cmQ4LzIAL3B1cmQ4LzMAL3B1cmQ4LzQAL3B1cmQ4LzUAL3B1cmQ4LzYAL3B1cmQ4LzcAL3B1cmQ4LzgAL3B1cmQ5LzEAL3B1cmQ5LzIAL3B1cmQ5LzMAL3B1cmQ5LzQAL3B1cmQ5LzUAL3B1cmQ5LzYAL3B1cmQ5LzcAL3B1cmQ5LzgAL3B1cmQ5LzkAL3B1cnBsZXMzLzEAL3B1cnBsZXMzLzIAL3B1cnBsZXMzLzMAL3B1cnBsZXM0LzEAL3B1cnBsZXM0LzIAL3B1cnBsZXM0LzMAL3B1cnBsZXM0LzQAL3B1cnBsZXM1LzEAL3B1cnBsZXM1LzIAL3B1cnBsZXM1LzMAL3B1cnBsZXM1LzQAL3B1cnBsZXM1LzUAL3B1cnBsZXM2LzEAL3B1cnBsZXM2LzIAL3B1cnBsZXM2LzMAL3B1cnBsZXM2LzQAL3B1cnBsZXM2LzUAL3B1cnBsZXM2LzYAL3B1cnBsZXM3LzEAL3B1cnBsZXM3LzIAL3B1cnBsZXM3LzMAL3B1cnBsZXM3LzQAL3B1cnBsZXM3LzUAL3B1cnBsZXM3LzYAL3B1cnBsZXM3LzcAL3B1cnBsZXM4LzEAL3B1cnBsZXM4LzIAL3B1cnBsZXM4LzMAL3B1cnBsZXM4LzQAL3B1cnBsZXM4LzUAL3B1cnBsZXM4LzYAL3B1cnBsZXM4LzcAL3B1cnBsZXM4LzgAL3B1cnBsZXM5LzEAL3B1cnBsZXM5LzIAL3B1cnBsZXM5LzMAL3B1cnBsZXM5LzQAL3B1cnBsZXM5LzUAL3B1cnBsZXM5LzYAL3B1cnBsZXM5LzcAL3B1cnBsZXM5LzgAL3B1cnBsZXM5LzkAL3JkYnUxMC8xAC9yZGJ1MTAvMTAAL3JkYnUxMC8yAC9yZGJ1MTAvMwAvcmRidTEwLzQAL3JkYnUxMC81AC9yZGJ1MTAvNgAvcmRidTEwLzcAL3JkYnUxMC84AC9yZGJ1MTAvOQAvcmRidTExLzEAL3JkYnUxMS8xMAAvcmRidTExLzExAC9yZGJ1MTEvMgAvcmRidTExLzMAL3JkYnUxMS80AC9yZGJ1MTEvNQAvcmRidTExLzYAL3JkYnUxMS83AC9yZGJ1MTEvOAAvcmRidTExLzkAL3JkYnUzLzEAL3JkYnUzLzIAL3JkYnUzLzMAL3JkYnU0LzEAL3JkYnU0LzIAL3JkYnU0LzMAL3JkYnU0LzQAL3JkYnU1LzEAL3JkYnU1LzIAL3JkYnU1LzMAL3JkYnU1LzQAL3JkYnU1LzUAL3JkYnU2LzEAL3JkYnU2LzIAL3JkYnU2LzMAL3JkYnU2LzQAL3JkYnU2LzUAL3JkYnU2LzYAL3JkYnU3LzEAL3JkYnU3LzIAL3JkYnU3LzMAL3JkYnU3LzQAL3JkYnU3LzUAL3JkYnU3LzYAL3JkYnU3LzcAL3JkYnU4LzEAL3JkYnU4LzIAL3JkYnU4LzMAL3JkYnU4LzQAL3JkYnU4LzUAL3JkYnU4LzYAL3JkYnU4LzcAL3JkYnU4LzgAL3JkYnU5LzEAL3JkYnU5LzIAL3JkYnU5LzMAL3JkYnU5LzQAL3JkYnU5LzUAL3JkYnU5LzYAL3JkYnU5LzcAL3JkYnU5LzgAL3JkYnU5LzkAL3JkZ3kxMC8xAC9yZGd5MTAvMTAAL3JkZ3kxMC8yAC9yZGd5MTAvMwAvcmRneTEwLzQAL3JkZ3kxMC81AC9yZGd5MTAvNgAvcmRneTEwLzcAL3JkZ3kxMC84AC9yZGd5MTAvOQAvcmRneTExLzEAL3JkZ3kxMS8xMAAvcmRneTExLzExAC9yZGd5MTEvMgAvcmRneTExLzMAL3JkZ3kxMS80AC9yZGd5MTEvNQAvcmRneTExLzYAL3JkZ3kxMS83AC9yZGd5MTEvOAAvcmRneTExLzkAL3JkZ3kzLzEAL3JkZ3kzLzIAL3JkZ3kzLzMAL3JkZ3k0LzEAL3JkZ3k0LzIAL3JkZ3k0LzMAL3JkZ3k0LzQAL3JkZ3k1LzEAL3JkZ3k1LzIAL3JkZ3k1LzMAL3JkZ3k1LzQAL3JkZ3k1LzUAL3JkZ3k2LzEAL3JkZ3k2LzIAL3JkZ3k2LzMAL3JkZ3k2LzQAL3JkZ3k2LzUAL3JkZ3k2LzYAL3JkZ3k3LzEAL3JkZ3k3LzIAL3JkZ3k3LzMAL3JkZ3k3LzQAL3JkZ3k3LzUAL3JkZ3k3LzYAL3JkZ3k3LzcAL3JkZ3k4LzEAL3JkZ3k4LzIAL3JkZ3k4LzMAL3JkZ3k4LzQAL3JkZ3k4LzUAL3JkZ3k4LzYAL3JkZ3k4LzcAL3JkZ3k4LzgAL3JkZ3k5LzEAL3JkZ3k5LzIAL3JkZ3k5LzMAL3JkZ3k5LzQAL3JkZ3k5LzUAL3JkZ3k5LzYAL3JkZ3k5LzcAL3JkZ3k5LzgAL3JkZ3k5LzkAL3JkcHUzLzEAL3JkcHUzLzIAL3JkcHUzLzMAL3JkcHU0LzEAL3JkcHU0LzIAL3JkcHU0LzMAL3JkcHU0LzQAL3JkcHU1LzEAL3JkcHU1LzIAL3JkcHU1LzMAL3JkcHU1LzQAL3JkcHU1LzUAL3JkcHU2LzEAL3JkcHU2LzIAL3JkcHU2LzMAL3JkcHU2LzQAL3JkcHU2LzUAL3JkcHU2LzYAL3JkcHU3LzEAL3JkcHU3LzIAL3JkcHU3LzMAL3JkcHU3LzQAL3JkcHU3LzUAL3JkcHU3LzYAL3JkcHU3LzcAL3JkcHU4LzEAL3JkcHU4LzIAL3JkcHU4LzMAL3JkcHU4LzQAL3JkcHU4LzUAL3JkcHU4LzYAL3JkcHU4LzcAL3JkcHU4LzgAL3JkcHU5LzEAL3JkcHU5LzIAL3JkcHU5LzMAL3JkcHU5LzQAL3JkcHU5LzUAL3JkcHU5LzYAL3JkcHU5LzcAL3JkcHU5LzgAL3JkcHU5LzkAL3JkeWxidTEwLzEAL3JkeWxidTEwLzEwAC9yZHlsYnUxMC8yAC9yZHlsYnUxMC8zAC9yZHlsYnUxMC80AC9yZHlsYnUxMC81AC9yZHlsYnUxMC82AC9yZHlsYnUxMC83AC9yZHlsYnUxMC84AC9yZHlsYnUxMC85AC9yZHlsYnUxMS8xAC9yZHlsYnUxMS8xMAAvcmR5bGJ1MTEvMTEAL3JkeWxidTExLzIAL3JkeWxidTExLzMAL3JkeWxidTExLzQAL3JkeWxidTExLzUAL3JkeWxidTExLzYAL3JkeWxidTExLzcAL3JkeWxidTExLzgAL3JkeWxidTExLzkAL3JkeWxidTMvMQAvcmR5bGJ1My8yAC9yZHlsYnUzLzMAL3JkeWxidTQvMQAvcmR5bGJ1NC8yAC9yZHlsYnU0LzMAL3JkeWxidTQvNAAvcmR5bGJ1NS8xAC9yZHlsYnU1LzIAL3JkeWxidTUvMwAvcmR5bGJ1NS80AC9yZHlsYnU1LzUAL3JkeWxidTYvMQAvcmR5bGJ1Ni8yAC9yZHlsYnU2LzMAL3JkeWxidTYvNAAvcmR5bGJ1Ni81AC9yZHlsYnU2LzYAL3JkeWxidTcvMQAvcmR5bGJ1Ny8yAC9yZHlsYnU3LzMAL3JkeWxidTcvNAAvcmR5bGJ1Ny81AC9yZHlsYnU3LzYAL3JkeWxidTcvNwAvcmR5bGJ1OC8xAC9yZHlsYnU4LzIAL3JkeWxidTgvMwAvcmR5bGJ1OC80AC9yZHlsYnU4LzUAL3JkeWxidTgvNgAvcmR5bGJ1OC83AC9yZHlsYnU4LzgAL3JkeWxidTkvMQAvcmR5bGJ1OS8yAC9yZHlsYnU5LzMAL3JkeWxidTkvNAAvcmR5bGJ1OS81AC9yZHlsYnU5LzYAL3JkeWxidTkvNwAvcmR5bGJ1OS84AC9yZHlsYnU5LzkAL3JkeWxnbjEwLzEAL3JkeWxnbjEwLzEwAC9yZHlsZ24xMC8yAC9yZHlsZ24xMC8zAC9yZHlsZ24xMC80AC9yZHlsZ24xMC81AC9yZHlsZ24xMC82AC9yZHlsZ24xMC83AC9yZHlsZ24xMC84AC9yZHlsZ24xMC85AC9yZHlsZ24xMS8xAC9yZHlsZ24xMS8xMAAvcmR5bGduMTEvMTEAL3JkeWxnbjExLzIAL3JkeWxnbjExLzMAL3JkeWxnbjExLzQAL3JkeWxnbjExLzUAL3JkeWxnbjExLzYAL3JkeWxnbjExLzcAL3JkeWxnbjExLzgAL3JkeWxnbjExLzkAL3JkeWxnbjMvMQAvcmR5bGduMy8yAC9yZHlsZ24zLzMAL3JkeWxnbjQvMQAvcmR5bGduNC8yAC9yZHlsZ240LzMAL3JkeWxnbjQvNAAvcmR5bGduNS8xAC9yZHlsZ241LzIAL3JkeWxnbjUvMwAvcmR5bGduNS80AC9yZHlsZ241LzUAL3JkeWxnbjYvMQAvcmR5bGduNi8yAC9yZHlsZ242LzMAL3JkeWxnbjYvNAAvcmR5bGduNi81AC9yZHlsZ242LzYAL3JkeWxnbjcvMQAvcmR5bGduNy8yAC9yZHlsZ243LzMAL3JkeWxnbjcvNAAvcmR5bGduNy81AC9yZHlsZ243LzYAL3JkeWxnbjcvNwAvcmR5bGduOC8xAC9yZHlsZ244LzIAL3JkeWxnbjgvMwAvcmR5bGduOC80AC9yZHlsZ244LzUAL3JkeWxnbjgvNgAvcmR5bGduOC83AC9yZHlsZ244LzgAL3JkeWxnbjkvMQAvcmR5bGduOS8yAC9yZHlsZ245LzMAL3JkeWxnbjkvNAAvcmR5bGduOS81AC9yZHlsZ245LzYAL3JkeWxnbjkvNwAvcmR5bGduOS84AC9yZHlsZ245LzkAL3JlZHMzLzEAL3JlZHMzLzIAL3JlZHMzLzMAL3JlZHM0LzEAL3JlZHM0LzIAL3JlZHM0LzMAL3JlZHM0LzQAL3JlZHM1LzEAL3JlZHM1LzIAL3JlZHM1LzMAL3JlZHM1LzQAL3JlZHM1LzUAL3JlZHM2LzEAL3JlZHM2LzIAL3JlZHM2LzMAL3JlZHM2LzQAL3JlZHM2LzUAL3JlZHM2LzYAL3JlZHM3LzEAL3JlZHM3LzIAL3JlZHM3LzMAL3JlZHM3LzQAL3JlZHM3LzUAL3JlZHM3LzYAL3JlZHM3LzcAL3JlZHM4LzEAL3JlZHM4LzIAL3JlZHM4LzMAL3JlZHM4LzQAL3JlZHM4LzUAL3JlZHM4LzYAL3JlZHM4LzcAL3JlZHM4LzgAL3JlZHM5LzEAL3JlZHM5LzIAL3JlZHM5LzMAL3JlZHM5LzQAL3JlZHM5LzUAL3JlZHM5LzYAL3JlZHM5LzcAL3JlZHM5LzgAL3JlZHM5LzkAL3NldDEzLzEAL3NldDEzLzIAL3NldDEzLzMAL3NldDE0LzEAL3NldDE0LzIAL3NldDE0LzMAL3NldDE0LzQAL3NldDE1LzEAL3NldDE1LzIAL3NldDE1LzMAL3NldDE1LzQAL3NldDE1LzUAL3NldDE2LzEAL3NldDE2LzIAL3NldDE2LzMAL3NldDE2LzQAL3NldDE2LzUAL3NldDE2LzYAL3NldDE3LzEAL3NldDE3LzIAL3NldDE3LzMAL3NldDE3LzQAL3NldDE3LzUAL3NldDE3LzYAL3NldDE3LzcAL3NldDE4LzEAL3NldDE4LzIAL3NldDE4LzMAL3NldDE4LzQAL3NldDE4LzUAL3NldDE4LzYAL3NldDE4LzcAL3NldDE4LzgAL3NldDE5LzEAL3NldDE5LzIAL3NldDE5LzMAL3NldDE5LzQAL3NldDE5LzUAL3NldDE5LzYAL3NldDE5LzcAL3NldDE5LzgAL3NldDE5LzkAL3NldDIzLzEAL3NldDIzLzIAL3NldDIzLzMAL3NldDI0LzEAL3NldDI0LzIAL3NldDI0LzMAL3NldDI0LzQAL3NldDI1LzEAL3NldDI1LzIAL3NldDI1LzMAL3NldDI1LzQAL3NldDI1LzUAL3NldDI2LzEAL3NldDI2LzIAL3NldDI2LzMAL3NldDI2LzQAL3NldDI2LzUAL3NldDI2LzYAL3NldDI3LzEAL3NldDI3LzIAL3NldDI3LzMAL3NldDI3LzQAL3NldDI3LzUAL3NldDI3LzYAL3NldDI3LzcAL3NldDI4LzEAL3NldDI4LzIAL3NldDI4LzMAL3NldDI4LzQAL3NldDI4LzUAL3NldDI4LzYAL3NldDI4LzcAL3NldDI4LzgAL3NldDMxMC8xAC9zZXQzMTAvMTAAL3NldDMxMC8yAC9zZXQzMTAvMwAvc2V0MzEwLzQAL3NldDMxMC81AC9zZXQzMTAvNgAvc2V0MzEwLzcAL3NldDMxMC84AC9zZXQzMTAvOQAvc2V0MzExLzEAL3NldDMxMS8xMAAvc2V0MzExLzExAC9zZXQzMTEvMgAvc2V0MzExLzMAL3NldDMxMS80AC9zZXQzMTEvNQAvc2V0MzExLzYAL3NldDMxMS83AC9zZXQzMTEvOAAvc2V0MzExLzkAL3NldDMxMi8xAC9zZXQzMTIvMTAAL3NldDMxMi8xMQAvc2V0MzEyLzEyAC9zZXQzMTIvMgAvc2V0MzEyLzMAL3NldDMxMi80AC9zZXQzMTIvNQAvc2V0MzEyLzYAL3NldDMxMi83AC9zZXQzMTIvOAAvc2V0MzEyLzkAL3NldDMzLzEAL3NldDMzLzIAL3NldDMzLzMAL3NldDM0LzEAL3NldDM0LzIAL3NldDM0LzMAL3NldDM0LzQAL3NldDM1LzEAL3NldDM1LzIAL3NldDM1LzMAL3NldDM1LzQAL3NldDM1LzUAL3NldDM2LzEAL3NldDM2LzIAL3NldDM2LzMAL3NldDM2LzQAL3NldDM2LzUAL3NldDM2LzYAL3NldDM3LzEAL3NldDM3LzIAL3NldDM3LzMAL3NldDM3LzQAL3NldDM3LzUAL3NldDM3LzYAL3NldDM3LzcAL3NldDM4LzEAL3NldDM4LzIAL3NldDM4LzMAL3NldDM4LzQAL3NldDM4LzUAL3NldDM4LzYAL3NldDM4LzcAL3NldDM4LzgAL3NldDM5LzEAL3NldDM5LzIAL3NldDM5LzMAL3NldDM5LzQAL3NldDM5LzUAL3NldDM5LzYAL3NldDM5LzcAL3NldDM5LzgAL3NldDM5LzkAL3NwZWN0cmFsMTAvMQAvc3BlY3RyYWwxMC8xMAAvc3BlY3RyYWwxMC8yAC9zcGVjdHJhbDEwLzMAL3NwZWN0cmFsMTAvNAAvc3BlY3RyYWwxMC81AC9zcGVjdHJhbDEwLzYAL3NwZWN0cmFsMTAvNwAvc3BlY3RyYWwxMC84AC9zcGVjdHJhbDEwLzkAL3NwZWN0cmFsMTEvMQAvc3BlY3RyYWwxMS8xMAAvc3BlY3RyYWwxMS8xMQAvc3BlY3RyYWwxMS8yAC9zcGVjdHJhbDExLzMAL3NwZWN0cmFsMTEvNAAvc3BlY3RyYWwxMS81AC9zcGVjdHJhbDExLzYAL3NwZWN0cmFsMTEvNwAvc3BlY3RyYWwxMS84AC9zcGVjdHJhbDExLzkAL3NwZWN0cmFsMy8xAC9zcGVjdHJhbDMvMgAvc3BlY3RyYWwzLzMAL3NwZWN0cmFsNC8xAC9zcGVjdHJhbDQvMgAvc3BlY3RyYWw0LzMAL3NwZWN0cmFsNC80AC9zcGVjdHJhbDUvMQAvc3BlY3RyYWw1LzIAL3NwZWN0cmFsNS8zAC9zcGVjdHJhbDUvNAAvc3BlY3RyYWw1LzUAL3NwZWN0cmFsNi8xAC9zcGVjdHJhbDYvMgAvc3BlY3RyYWw2LzMAL3NwZWN0cmFsNi80AC9zcGVjdHJhbDYvNQAvc3BlY3RyYWw2LzYAL3NwZWN0cmFsNy8xAC9zcGVjdHJhbDcvMgAvc3BlY3RyYWw3LzMAL3NwZWN0cmFsNy80AC9zcGVjdHJhbDcvNQAvc3BlY3RyYWw3LzYAL3NwZWN0cmFsNy83AC9zcGVjdHJhbDgvMQAvc3BlY3RyYWw4LzIAL3NwZWN0cmFsOC8zAC9zcGVjdHJhbDgvNAAvc3BlY3RyYWw4LzUAL3NwZWN0cmFsOC82AC9zcGVjdHJhbDgvNwAvc3BlY3RyYWw4LzgAL3NwZWN0cmFsOS8xAC9zcGVjdHJhbDkvMgAvc3BlY3RyYWw5LzMAL3NwZWN0cmFsOS80AC9zcGVjdHJhbDkvNQAvc3BlY3RyYWw5LzYAL3NwZWN0cmFsOS83AC9zcGVjdHJhbDkvOAAvc3BlY3RyYWw5LzkAL3N2Zy9hbGljZWJsdWUAL3N2Zy9hbnRpcXVld2hpdGUAL3N2Zy9hcXVhAC9zdmcvYXF1YW1hcmluZQAvc3ZnL2F6dXJlAC9zdmcvYmVpZ2UAL3N2Zy9iaXNxdWUAL3N2Zy9ibGFjawAvc3ZnL2JsYW5jaGVkYWxtb25kAC9zdmcvYmx1ZQAvc3ZnL2JsdWV2aW9sZXQAL3N2Zy9icm93bgAvc3ZnL2J1cmx5d29vZAAvc3ZnL2NhZGV0Ymx1ZQAvc3ZnL2NoYXJ0cmV1c2UAL3N2Zy9jaG9jb2xhdGUAL3N2Zy9jb3JhbAAvc3ZnL2Nvcm5mbG93ZXJibHVlAC9zdmcvY29ybnNpbGsAL3N2Zy9jcmltc29uAC9zdmcvY3lhbgAvc3ZnL2RhcmtibHVlAC9zdmcvZGFya2N5YW4AL3N2Zy9kYXJrZ29sZGVucm9kAC9zdmcvZGFya2dyYXkAL3N2Zy9kYXJrZ3JlZW4AL3N2Zy9kYXJrZ3JleQAvc3ZnL2RhcmtraGFraQAvc3ZnL2RhcmttYWdlbnRhAC9zdmcvZGFya29saXZlZ3JlZW4AL3N2Zy9kYXJrb3JhbmdlAC9zdmcvZGFya29yY2hpZAAvc3ZnL2RhcmtyZWQAL3N2Zy9kYXJrc2FsbW9uAC9zdmcvZGFya3NlYWdyZWVuAC9zdmcvZGFya3NsYXRlYmx1ZQAvc3ZnL2RhcmtzbGF0ZWdyYXkAL3N2Zy9kYXJrc2xhdGVncmV5AC9zdmcvZGFya3R1cnF1b2lzZQAvc3ZnL2Rhcmt2aW9sZXQAL3N2Zy9kZWVwcGluawAvc3ZnL2RlZXBza3libHVlAC9zdmcvZGltZ3JheQAvc3ZnL2RpbWdyZXkAL3N2Zy9kb2RnZXJibHVlAC9zdmcvZmlyZWJyaWNrAC9zdmcvZmxvcmFsd2hpdGUAL3N2Zy9mb3Jlc3RncmVlbgAvc3ZnL2Z1Y2hzaWEAL3N2Zy9nYWluc2Jvcm8AL3N2Zy9naG9zdHdoaXRlAC9zdmcvZ29sZAAvc3ZnL2dvbGRlbnJvZAAvc3ZnL2dyYXkAL3N2Zy9ncmVlbgAvc3ZnL2dyZWVueWVsbG93AC9zdmcvZ3JleQAvc3ZnL2hvbmV5ZGV3AC9zdmcvaG90cGluawAvc3ZnL2luZGlhbnJlZAAvc3ZnL2luZGlnbwAvc3ZnL2l2b3J5AC9zdmcva2hha2kAL3N2Zy9sYXZlbmRlcgAvc3ZnL2xhdmVuZGVyYmx1c2gAL3N2Zy9sYXduZ3JlZW4AL3N2Zy9sZW1vbmNoaWZmb24AL3N2Zy9saWdodGJsdWUAL3N2Zy9saWdodGNvcmFsAC9zdmcvbGlnaHRjeWFuAC9zdmcvbGlnaHRnb2xkZW5yb2R5ZWxsb3cAL3N2Zy9saWdodGdyYXkAL3N2Zy9saWdodGdyZWVuAC9zdmcvbGlnaHRncmV5AC9zdmcvbGlnaHRwaW5rAC9zdmcvbGlnaHRzYWxtb24AL3N2Zy9saWdodHNlYWdyZWVuAC9zdmcvbGlnaHRza3libHVlAC9zdmcvbGlnaHRzbGF0ZWdyYXkAL3N2Zy9saWdodHNsYXRlZ3JleQAvc3ZnL2xpZ2h0c3RlZWxibHVlAC9zdmcvbGlnaHR5ZWxsb3cAL3N2Zy9saW1lAC9zdmcvbGltZWdyZWVuAC9zdmcvbGluZW4AL3N2Zy9tYWdlbnRhAC9zdmcvbWFyb29uAC9zdmcvbWVkaXVtYXF1YW1hcmluZQAvc3ZnL21lZGl1bWJsdWUAL3N2Zy9tZWRpdW1vcmNoaWQAL3N2Zy9tZWRpdW1wdXJwbGUAL3N2Zy9tZWRpdW1zZWFncmVlbgAvc3ZnL21lZGl1bXNsYXRlYmx1ZQAvc3ZnL21lZGl1bXNwcmluZ2dyZWVuAC9zdmcvbWVkaXVtdHVycXVvaXNlAC9zdmcvbWVkaXVtdmlvbGV0cmVkAC9zdmcvbWlkbmlnaHRibHVlAC9zdmcvbWludGNyZWFtAC9zdmcvbWlzdHlyb3NlAC9zdmcvbW9jY2FzaW4AL3N2Zy9uYXZham93aGl0ZQAvc3ZnL25hdnkAL3N2Zy9vbGRsYWNlAC9zdmcvb2xpdmUAL3N2Zy9vbGl2ZWRyYWIAL3N2Zy9vcmFuZ2UAL3N2Zy9vcmFuZ2VyZWQAL3N2Zy9vcmNoaWQAL3N2Zy9wYWxlZ29sZGVucm9kAC9zdmcvcGFsZWdyZWVuAC9zdmcvcGFsZXR1cnF1b2lzZQAvc3ZnL3BhbGV2aW9sZXRyZWQAL3N2Zy9wYXBheWF3aGlwAC9zdmcvcGVhY2hwdWZmAC9zdmcvcGVydQAvc3ZnL3BpbmsAL3N2Zy9wbHVtAC9zdmcvcG93ZGVyYmx1ZQAvc3ZnL3B1cnBsZQAvc3ZnL3JlZAAvc3ZnL3Jvc3licm93bgAvc3ZnL3JveWFsYmx1ZQAvc3ZnL3NhZGRsZWJyb3duAC9zdmcvc2FsbW9uAC9zdmcvc2FuZHlicm93bgAvc3ZnL3NlYWdyZWVuAC9zdmcvc2Vhc2hlbGwAL3N2Zy9zaWVubmEAL3N2Zy9zaWx2ZXIAL3N2Zy9za3libHVlAC9zdmcvc2xhdGVibHVlAC9zdmcvc2xhdGVncmF5AC9zdmcvc2xhdGVncmV5AC9zdmcvc25vdwAvc3ZnL3NwcmluZ2dyZWVuAC9zdmcvc3RlZWxibHVlAC9zdmcvdGFuAC9zdmcvdGVhbAAvc3ZnL3RoaXN0bGUAL3N2Zy90b21hdG8AL3N2Zy90dXJxdW9pc2UAL3N2Zy92aW9sZXQAL3N2Zy93aGVhdAAvc3ZnL3doaXRlAC9zdmcvd2hpdGVzbW9rZQAvc3ZnL3llbGxvdwAvc3ZnL3llbGxvd2dyZWVuAC95bGduMy8xAC95bGduMy8yAC95bGduMy8zAC95bGduNC8xAC95bGduNC8yAC95bGduNC8zAC95bGduNC80AC95bGduNS8xAC95bGduNS8yAC95bGduNS8zAC95bGduNS80AC95bGduNS81AC95bGduNi8xAC95bGduNi8yAC95bGduNi8zAC95bGduNi80AC95bGduNi81AC95bGduNi82AC95bGduNy8xAC95bGduNy8yAC95bGduNy8zAC95bGduNy80AC95bGduNy81AC95bGduNy82AC95bGduNy83AC95bGduOC8xAC95bGduOC8yAC95bGduOC8zAC95bGduOC80AC95bGduOC81AC95bGduOC82AC95bGduOC83AC95bGduOC84AC95bGduOS8xAC95bGduOS8yAC95bGduOS8zAC95bGduOS80AC95bGduOS81AC95bGduOS82AC95bGduOS83AC95bGduOS84AC95bGduOS85AC95bGduYnUzLzEAL3lsZ25idTMvMgAveWxnbmJ1My8zAC95bGduYnU0LzEAL3lsZ25idTQvMgAveWxnbmJ1NC8zAC95bGduYnU0LzQAL3lsZ25idTUvMQAveWxnbmJ1NS8yAC95bGduYnU1LzMAL3lsZ25idTUvNAAveWxnbmJ1NS81AC95bGduYnU2LzEAL3lsZ25idTYvMgAveWxnbmJ1Ni8zAC95bGduYnU2LzQAL3lsZ25idTYvNQAveWxnbmJ1Ni82AC95bGduYnU3LzEAL3lsZ25idTcvMgAveWxnbmJ1Ny8zAC95bGduYnU3LzQAL3lsZ25idTcvNQAveWxnbmJ1Ny82AC95bGduYnU3LzcAL3lsZ25idTgvMQAveWxnbmJ1OC8yAC95bGduYnU4LzMAL3lsZ25idTgvNAAveWxnbmJ1OC81AC95bGduYnU4LzYAL3lsZ25idTgvNwAveWxnbmJ1OC84AC95bGduYnU5LzEAL3lsZ25idTkvMgAveWxnbmJ1OS8zAC95bGduYnU5LzQAL3lsZ25idTkvNQAveWxnbmJ1OS82AC95bGduYnU5LzcAL3lsZ25idTkvOAAveWxnbmJ1OS85AC95bG9yYnIzLzEAL3lsb3JicjMvMgAveWxvcmJyMy8zAC95bG9yYnI0LzEAL3lsb3JicjQvMgAveWxvcmJyNC8zAC95bG9yYnI0LzQAL3lsb3JicjUvMQAveWxvcmJyNS8yAC95bG9yYnI1LzMAL3lsb3JicjUvNAAveWxvcmJyNS81AC95bG9yYnI2LzEAL3lsb3JicjYvMgAveWxvcmJyNi8zAC95bG9yYnI2LzQAL3lsb3JicjYvNQAveWxvcmJyNi82AC95bG9yYnI3LzEAL3lsb3JicjcvMgAveWxvcmJyNy8zAC95bG9yYnI3LzQAL3lsb3JicjcvNQAveWxvcmJyNy82AC95bG9yYnI3LzcAL3lsb3JicjgvMQAveWxvcmJyOC8yAC95bG9yYnI4LzMAL3lsb3JicjgvNAAveWxvcmJyOC81AC95bG9yYnI4LzYAL3lsb3JicjgvNwAveWxvcmJyOC84AC95bG9yYnI5LzEAL3lsb3JicjkvMgAveWxvcmJyOS8zAC95bG9yYnI5LzQAL3lsb3JicjkvNQAveWxvcmJyOS82AC95bG9yYnI5LzcAL3lsb3JicjkvOAAveWxvcmJyOS85AC95bG9ycmQzLzEAL3lsb3JyZDMvMgAveWxvcnJkMy8zAC95bG9ycmQ0LzEAL3lsb3JyZDQvMgAveWxvcnJkNC8zAC95bG9ycmQ0LzQAL3lsb3JyZDUvMQAveWxvcnJkNS8yAC95bG9ycmQ1LzMAL3lsb3JyZDUvNAAveWxvcnJkNS81AC95bG9ycmQ2LzEAL3lsb3JyZDYvMgAveWxvcnJkNi8zAC95bG9ycmQ2LzQAL3lsb3JyZDYvNQAveWxvcnJkNi82AC95bG9ycmQ3LzEAL3lsb3JyZDcvMgAveWxvcnJkNy8zAC95bG9ycmQ3LzQAL3lsb3JyZDcvNQAveWxvcnJkNy82AC95bG9ycmQ3LzcAL3lsb3JyZDgvMQAveWxvcnJkOC8yAC95bG9ycmQ4LzMAL3lsb3JyZDgvNAAveWxvcnJkOC81AC95bG9ycmQ4LzYAL3lsb3JyZDgvNwAveWxvcnJkOC84AC95bG9ycmQ5LzEAL3lsb3JyZDkvMgAveWxvcnJkOS8zAC95bG9ycmQ5LzQAL3lsb3JyZDkvNQAveWxvcnJkOS82AC95bG9ycmQ5LzcAL3lsb3JyZDkvOAAveWxvcnJkOS85AGFsaWNlYmx1ZQBhbnRpcXVld2hpdGUAYW50aXF1ZXdoaXRlMQBhbnRpcXVld2hpdGUyAGFudGlxdWV3aGl0ZTMAYW50aXF1ZXdoaXRlNABhcXVhbWFyaW5lAGFxdWFtYXJpbmUxAGFxdWFtYXJpbmUyAGFxdWFtYXJpbmUzAGFxdWFtYXJpbmU0AGF6dXJlAGF6dXJlMQBhenVyZTIAYXp1cmUzAGF6dXJlNABiZWlnZQBiaXNxdWUAYmlzcXVlMQBiaXNxdWUyAGJpc3F1ZTMAYmlzcXVlNABibGFuY2hlZGFsbW9uZABibHVlAGJsdWUxAGJsdWUyAGJsdWUzAGJsdWU0AGJsdWV2aW9sZXQAYnJvd24AYnJvd24xAGJyb3duMgBicm93bjMAYnJvd240AGJ1cmx5d29vZABidXJseXdvb2QxAGJ1cmx5d29vZDIAYnVybHl3b29kMwBidXJseXdvb2Q0AGNhZGV0Ymx1ZQBjYWRldGJsdWUxAGNhZGV0Ymx1ZTIAY2FkZXRibHVlMwBjYWRldGJsdWU0AGNoYXJ0cmV1c2UAY2hhcnRyZXVzZTEAY2hhcnRyZXVzZTIAY2hhcnRyZXVzZTMAY2hhcnRyZXVzZTQAY2hvY29sYXRlAGNob2NvbGF0ZTEAY2hvY29sYXRlMgBjaG9jb2xhdGUzAGNob2NvbGF0ZTQAY29yYWwAY29yYWwxAGNvcmFsMgBjb3JhbDMAY29yYWw0AGNvcm5mbG93ZXJibHVlAGNvcm5zaWxrAGNvcm5zaWxrMQBjb3Juc2lsazIAY29ybnNpbGszAGNvcm5zaWxrNABjcmltc29uAGN5YW4AY3lhbjEAY3lhbjIAY3lhbjMAY3lhbjQAZGFya2dvbGRlbnJvZABkYXJrZ29sZGVucm9kMQBkYXJrZ29sZGVucm9kMgBkYXJrZ29sZGVucm9kMwBkYXJrZ29sZGVucm9kNABkYXJrZ3JlZW4AZGFya2toYWtpAGRhcmtvbGl2ZWdyZWVuAGRhcmtvbGl2ZWdyZWVuMQBkYXJrb2xpdmVncmVlbjIAZGFya29saXZlZ3JlZW4zAGRhcmtvbGl2ZWdyZWVuNABkYXJrb3JhbmdlAGRhcmtvcmFuZ2UxAGRhcmtvcmFuZ2UyAGRhcmtvcmFuZ2UzAGRhcmtvcmFuZ2U0AGRhcmtvcmNoaWQAZGFya29yY2hpZDEAZGFya29yY2hpZDIAZGFya29yY2hpZDMAZGFya29yY2hpZDQAZGFya3NhbG1vbgBkYXJrc2VhZ3JlZW4AZGFya3NlYWdyZWVuMQBkYXJrc2VhZ3JlZW4yAGRhcmtzZWFncmVlbjMAZGFya3NlYWdyZWVuNABkYXJrc2xhdGVibHVlAGRhcmtzbGF0ZWdyYXkAZGFya3NsYXRlZ3JheTEAZGFya3NsYXRlZ3JheTIAZGFya3NsYXRlZ3JheTMAZGFya3NsYXRlZ3JheTQAZGFya3NsYXRlZ3JleQBkYXJrdHVycXVvaXNlAGRhcmt2aW9sZXQAZGVlcHBpbmsAZGVlcHBpbmsxAGRlZXBwaW5rMgBkZWVwcGluazMAZGVlcHBpbms0AGRlZXBza3libHVlAGRlZXBza3libHVlMQBkZWVwc2t5Ymx1ZTIAZGVlcHNreWJsdWUzAGRlZXBza3libHVlNABkaW1ncmF5AGRpbWdyZXkAZG9kZ2VyYmx1ZQBkb2RnZXJibHVlMQBkb2RnZXJibHVlMgBkb2RnZXJibHVlMwBkb2RnZXJibHVlNABmaXJlYnJpY2sAZmlyZWJyaWNrMQBmaXJlYnJpY2syAGZpcmVicmljazMAZmlyZWJyaWNrNABmbG9yYWx3aGl0ZQBmb3Jlc3RncmVlbgBnYWluc2Jvcm8AZ2hvc3R3aGl0ZQBnb2xkAGdvbGQxAGdvbGQyAGdvbGQzAGdvbGQ0AGdvbGRlbnJvZABnb2xkZW5yb2QxAGdvbGRlbnJvZDIAZ29sZGVucm9kMwBnb2xkZW5yb2Q0AGdyYXkAZ3JheTAAZ3JheTEAZ3JheTEwAGdyYXkxMDAAZ3JheTExAGdyYXkxMgBncmF5MTMAZ3JheTE0AGdyYXkxNQBncmF5MTYAZ3JheTE3AGdyYXkxOABncmF5MTkAZ3JheTIAZ3JheTIwAGdyYXkyMQBncmF5MjIAZ3JheTIzAGdyYXkyNABncmF5MjUAZ3JheTI2AGdyYXkyNwBncmF5MjgAZ3JheTI5AGdyYXkzAGdyYXkzMABncmF5MzEAZ3JheTMyAGdyYXkzMwBncmF5MzQAZ3JheTM1AGdyYXkzNgBncmF5MzcAZ3JheTM4AGdyYXkzOQBncmF5NABncmF5NDAAZ3JheTQxAGdyYXk0MgBncmF5NDMAZ3JheTQ0AGdyYXk0NQBncmF5NDYAZ3JheTQ3AGdyYXk0OABncmF5NDkAZ3JheTUAZ3JheTUwAGdyYXk1MQBncmF5NTIAZ3JheTUzAGdyYXk1NABncmF5NTUAZ3JheTU2AGdyYXk1NwBncmF5NTgAZ3JheTU5AGdyYXk2AGdyYXk2MABncmF5NjEAZ3JheTYyAGdyYXk2MwBncmF5NjQAZ3JheTY1AGdyYXk2NgBncmF5NjcAZ3JheTY4AGdyYXk2OQBncmF5NwBncmF5NzAAZ3JheTcxAGdyYXk3MgBncmF5NzMAZ3JheTc0AGdyYXk3NQBncmF5NzYAZ3JheTc3AGdyYXk3OABncmF5NzkAZ3JheTgAZ3JheTgwAGdyYXk4MQBncmF5ODIAZ3JheTgzAGdyYXk4NABncmF5ODUAZ3JheTg2AGdyYXk4NwBncmF5ODgAZ3JheTg5AGdyYXk5AGdyYXk5MABncmF5OTEAZ3JheTkyAGdyYXk5MwBncmF5OTQAZ3JheTk1AGdyYXk5NgBncmF5OTcAZ3JheTk4AGdyYXk5OQBncmVlbgBncmVlbjEAZ3JlZW4yAGdyZWVuMwBncmVlbjQAZ3JlZW55ZWxsb3cAZ3JleQBncmV5MABncmV5MQBncmV5MTAAZ3JleTEwMABncmV5MTEAZ3JleTEyAGdyZXkxMwBncmV5MTQAZ3JleTE1AGdyZXkxNgBncmV5MTcAZ3JleTE4AGdyZXkxOQBncmV5MgBncmV5MjAAZ3JleTIxAGdyZXkyMgBncmV5MjMAZ3JleTI0AGdyZXkyNQBncmV5MjYAZ3JleTI3AGdyZXkyOABncmV5MjkAZ3JleTMAZ3JleTMwAGdyZXkzMQBncmV5MzIAZ3JleTMzAGdyZXkzNABncmV5MzUAZ3JleTM2AGdyZXkzNwBncmV5MzgAZ3JleTM5AGdyZXk0AGdyZXk0MABncmV5NDEAZ3JleTQyAGdyZXk0MwBncmV5NDQAZ3JleTQ1AGdyZXk0NgBncmV5NDcAZ3JleTQ4AGdyZXk0OQBncmV5NQBncmV5NTAAZ3JleTUxAGdyZXk1MgBncmV5NTMAZ3JleTU0AGdyZXk1NQBncmV5NTYAZ3JleTU3AGdyZXk1OABncmV5NTkAZ3JleTYAZ3JleTYwAGdyZXk2MQBncmV5NjIAZ3JleTYzAGdyZXk2NABncmV5NjUAZ3JleTY2AGdyZXk2NwBncmV5NjgAZ3JleTY5AGdyZXk3AGdyZXk3MABncmV5NzEAZ3JleTcyAGdyZXk3MwBncmV5NzQAZ3JleTc1AGdyZXk3NgBncmV5NzcAZ3JleTc4AGdyZXk3OQBncmV5OABncmV5ODAAZ3JleTgxAGdyZXk4MgBncmV5ODMAZ3JleTg0AGdyZXk4NQBncmV5ODYAZ3JleTg3AGdyZXk4OABncmV5ODkAZ3JleTkAZ3JleTkwAGdyZXk5MQBncmV5OTIAZ3JleTkzAGdyZXk5NABncmV5OTUAZ3JleTk2AGdyZXk5NwBncmV5OTgAZ3JleTk5AGhvbmV5ZGV3AGhvbmV5ZGV3MQBob25leWRldzIAaG9uZXlkZXczAGhvbmV5ZGV3NABob3RwaW5rAGhvdHBpbmsxAGhvdHBpbmsyAGhvdHBpbmszAGhvdHBpbms0AGluZGlhbnJlZABpbmRpYW5yZWQxAGluZGlhbnJlZDIAaW5kaWFucmVkMwBpbmRpYW5yZWQ0AGluZGlnbwBpbnZpcwBpdm9yeQBpdm9yeTEAaXZvcnkyAGl2b3J5MwBpdm9yeTQAa2hha2kAa2hha2kxAGtoYWtpMgBraGFraTMAa2hha2k0AGxhdmVuZGVyAGxhdmVuZGVyYmx1c2gAbGF2ZW5kZXJibHVzaDEAbGF2ZW5kZXJibHVzaDIAbGF2ZW5kZXJibHVzaDMAbGF2ZW5kZXJibHVzaDQAbGF3bmdyZWVuAGxlbW9uY2hpZmZvbgBsZW1vbmNoaWZmb24xAGxlbW9uY2hpZmZvbjIAbGVtb25jaGlmZm9uMwBsZW1vbmNoaWZmb240AGxpZ2h0Ymx1ZQBsaWdodGJsdWUxAGxpZ2h0Ymx1ZTIAbGlnaHRibHVlMwBsaWdodGJsdWU0AGxpZ2h0Y29yYWwAbGlnaHRjeWFuAGxpZ2h0Y3lhbjEAbGlnaHRjeWFuMgBsaWdodGN5YW4zAGxpZ2h0Y3lhbjQAbGlnaHRnb2xkZW5yb2QAbGlnaHRnb2xkZW5yb2QxAGxpZ2h0Z29sZGVucm9kMgBsaWdodGdvbGRlbnJvZDMAbGlnaHRnb2xkZW5yb2Q0AGxpZ2h0Z29sZGVucm9keWVsbG93AGxpZ2h0Z3JheQBsaWdodGdyZXkAbGlnaHRwaW5rAGxpZ2h0cGluazEAbGlnaHRwaW5rMgBsaWdodHBpbmszAGxpZ2h0cGluazQAbGlnaHRzYWxtb24AbGlnaHRzYWxtb24xAGxpZ2h0c2FsbW9uMgBsaWdodHNhbG1vbjMAbGlnaHRzYWxtb240AGxpZ2h0c2VhZ3JlZW4AbGlnaHRza3libHVlAGxpZ2h0c2t5Ymx1ZTEAbGlnaHRza3libHVlMgBsaWdodHNreWJsdWUzAGxpZ2h0c2t5Ymx1ZTQAbGlnaHRzbGF0ZWJsdWUAbGlnaHRzbGF0ZWdyYXkAbGlnaHRzbGF0ZWdyZXkAbGlnaHRzdGVlbGJsdWUAbGlnaHRzdGVlbGJsdWUxAGxpZ2h0c3RlZWxibHVlMgBsaWdodHN0ZWVsYmx1ZTMAbGlnaHRzdGVlbGJsdWU0AGxpZ2h0eWVsbG93AGxpZ2h0eWVsbG93MQBsaWdodHllbGxvdzIAbGlnaHR5ZWxsb3czAGxpZ2h0eWVsbG93NABsaW1lZ3JlZW4AbGluZW4AbWFnZW50YQBtYWdlbnRhMQBtYWdlbnRhMgBtYWdlbnRhMwBtYWdlbnRhNABtYXJvb24AbWFyb29uMQBtYXJvb24yAG1hcm9vbjMAbWFyb29uNABtZWRpdW1hcXVhbWFyaW5lAG1lZGl1bWJsdWUAbWVkaXVtb3JjaGlkAG1lZGl1bW9yY2hpZDEAbWVkaXVtb3JjaGlkMgBtZWRpdW1vcmNoaWQzAG1lZGl1bW9yY2hpZDQAbWVkaXVtcHVycGxlAG1lZGl1bXB1cnBsZTEAbWVkaXVtcHVycGxlMgBtZWRpdW1wdXJwbGUzAG1lZGl1bXB1cnBsZTQAbWVkaXVtc2VhZ3JlZW4AbWVkaXVtc2xhdGVibHVlAG1lZGl1bXNwcmluZ2dyZWVuAG1lZGl1bXR1cnF1b2lzZQBtZWRpdW12aW9sZXRyZWQAbWlkbmlnaHRibHVlAG1pbnRjcmVhbQBtaXN0eXJvc2UAbWlzdHlyb3NlMQBtaXN0eXJvc2UyAG1pc3R5cm9zZTMAbWlzdHlyb3NlNABtb2NjYXNpbgBuYXZham93aGl0ZQBuYXZham93aGl0ZTEAbmF2YWpvd2hpdGUyAG5hdmFqb3doaXRlMwBuYXZham93aGl0ZTQAbmF2eQBuYXZ5Ymx1ZQBub25lAG9sZGxhY2UAb2xpdmVkcmFiAG9saXZlZHJhYjEAb2xpdmVkcmFiMgBvbGl2ZWRyYWIzAG9saXZlZHJhYjQAb3JhbmdlAG9yYW5nZTEAb3JhbmdlMgBvcmFuZ2UzAG9yYW5nZTQAb3JhbmdlcmVkAG9yYW5nZXJlZDEAb3JhbmdlcmVkMgBvcmFuZ2VyZWQzAG9yYW5nZXJlZDQAb3JjaGlkAG9yY2hpZDEAb3JjaGlkMgBvcmNoaWQzAG9yY2hpZDQAcGFsZWdvbGRlbnJvZABwYWxlZ3JlZW4AcGFsZWdyZWVuMQBwYWxlZ3JlZW4yAHBhbGVncmVlbjMAcGFsZWdyZWVuNABwYWxldHVycXVvaXNlAHBhbGV0dXJxdW9pc2UxAHBhbGV0dXJxdW9pc2UyAHBhbGV0dXJxdW9pc2UzAHBhbGV0dXJxdW9pc2U0AHBhbGV2aW9sZXRyZWQAcGFsZXZpb2xldHJlZDEAcGFsZXZpb2xldHJlZDIAcGFsZXZpb2xldHJlZDMAcGFsZXZpb2xldHJlZDQAcGFwYXlhd2hpcABwZWFjaHB1ZmYAcGVhY2hwdWZmMQBwZWFjaHB1ZmYyAHBlYWNocHVmZjMAcGVhY2hwdWZmNABwZXJ1AHBpbmsAcGluazEAcGluazIAcGluazMAcGluazQAcGx1bQBwbHVtMQBwbHVtMgBwbHVtMwBwbHVtNABwb3dkZXJibHVlAHB1cnBsZQBwdXJwbGUxAHB1cnBsZTIAcHVycGxlMwBwdXJwbGU0AHJlZAByZWQxAHJlZDIAcmVkMwByZWQ0AHJvc3licm93bgByb3N5YnJvd24xAHJvc3licm93bjIAcm9zeWJyb3duMwByb3N5YnJvd240AHJveWFsYmx1ZQByb3lhbGJsdWUxAHJveWFsYmx1ZTIAcm95YWxibHVlMwByb3lhbGJsdWU0AHNhZGRsZWJyb3duAHNhbG1vbgBzYWxtb24xAHNhbG1vbjIAc2FsbW9uMwBzYWxtb240AHNhbmR5YnJvd24Ac2VhZ3JlZW4Ac2VhZ3JlZW4xAHNlYWdyZWVuMgBzZWFncmVlbjMAc2VhZ3JlZW40AHNlYXNoZWxsAHNlYXNoZWxsMQBzZWFzaGVsbDIAc2Vhc2hlbGwzAHNlYXNoZWxsNABzaWVubmEAc2llbm5hMQBzaWVubmEyAHNpZW5uYTMAc2llbm5hNABza3libHVlAHNreWJsdWUxAHNreWJsdWUyAHNreWJsdWUzAHNreWJsdWU0AHNsYXRlYmx1ZQBzbGF0ZWJsdWUxAHNsYXRlYmx1ZTIAc2xhdGVibHVlMwBzbGF0ZWJsdWU0AHNsYXRlZ3JheQBzbGF0ZWdyYXkxAHNsYXRlZ3JheTIAc2xhdGVncmF5MwBzbGF0ZWdyYXk0AHNsYXRlZ3JleQBzbm93AHNub3cxAHNub3cyAHNub3czAHNub3c0AHNwcmluZ2dyZWVuAHNwcmluZ2dyZWVuMQBzcHJpbmdncmVlbjIAc3ByaW5nZ3JlZW4zAHNwcmluZ2dyZWVuNABzdGVlbGJsdWUAc3RlZWxibHVlMQBzdGVlbGJsdWUyAHN0ZWVsYmx1ZTMAc3RlZWxibHVlNAB0YW4AdGFuMQB0YW4yAHRhbjMAdGFuNAB0aGlzdGxlAHRoaXN0bGUxAHRoaXN0bGUyAHRoaXN0bGUzAHRoaXN0bGU0AHRvbWF0bwB0b21hdG8xAHRvbWF0bzIAdG9tYXRvMwB0b21hdG80AHR1cnF1b2lzZQB0dXJxdW9pc2UxAHR1cnF1b2lzZTIAdHVycXVvaXNlMwB0dXJxdW9pc2U0AHZpb2xldAB2aW9sZXRyZWQAdmlvbGV0cmVkMQB2aW9sZXRyZWQyAHZpb2xldHJlZDMAdmlvbGV0cmVkNAB3aGVhdAB3aGVhdDEAd2hlYXQyAHdoZWF0MwB3aGVhdDQAd2hpdGUAd2hpdGVzbW9rZQB5ZWxsb3cAeWVsbG93MQB5ZWxsb3cyAHllbGxvdzMAeWVsbG93NAB5ZWxsb3dncmVlbgBsYWNrAGhpdGUAaWdodGdyZXkAWDExLwAvJXMvJXMAaW1hZ2VzY2FsZQBmYWxzZQBibGFjawBkb3R0ZWQAZGFzaGVkAGNwLT5zcmMAaHRtbHRhYmxlLmMAZW1pdF9odG1sX2ltZwBjcC0+c3JjWzBdAHRyYW5zcGFyZW50AF8lZAAlZAAyADMANAA1ADYANwA4ADkAMTAAMTEAMTIAMTMAMTQAMTUAMTYAMTcAMTgAMTkAMjAAQWdub2RlaW5mb190AEFnZWRnZWluZm9fdAByb3dnAGNvbGcAQWdyYXBoaW5mb190AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IALT4AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpbWVtb3J5IGV4aGF1c3RlZAAlcyBpbiBsaW5lICVkIAoALi4uICVzIC4uLgoAVEFCTEUAVFIAVEgAVEQASFRNTABGT05UAEIAVQBPAEkAU1VQAFNVQgBTAEJSAEhSAFZSAElNRwBVbmtub3duIEhUTUwgZWxlbWVudCA8JXM+IG9uIGxpbmUgJWQgCgA8SU1HPgBJbGxlZ2FsIGF0dHJpYnV0ZSAlcyBpbiAlcyAtIGlnbm9yZWQKAHNjYWxlAHNyYwA8QlI+AGFsaWduAElHSFQARUZUAEVOVEVSAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIC0gaWdub3JlZAoAPEZPTlQ+AGNvbG9yAGZhY2UAcG9pbnQtc2l6ZQBQT0lOVC1TSVpFAEltcHJvcGVyICVzIHZhbHVlICVzIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA+ICVkIC0gdG9vIGxhcmdlIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA8ICVkIC0gdG9vIHNtYWxsIC0gaWdub3JlZAA8VEQ+AGJhbGlnbgBiZ2NvbG9yAGJvcmRlcgBjZWxscGFkZGluZwBjZWxsc3BhY2luZwBjb2xzcGFuAGZpeGVkc2l6ZQBncmFkaWVudGFuZ2xlAGhlaWdodABocmVmAGlkAHBvcnQAcm93c3BhbgBzaWRlcwBzdHlsZQB0YXJnZXQAdGl0bGUAdG9vbHRpcAB2YWxpZ24Ad2lkdGgAV0lEVEgAT1RUT00AT1AASURETEUASWxsZWdhbCB2YWx1ZSAlcyBmb3IgVkFMSUdOIC0gaWdub3JlZAoAICwAT1VOREVEAEFESUFMAElsbGVnYWwgdmFsdWUgJXMgZm9yIFNUWUxFIC0gaWdub3JlZAoAU09MSUQASU5WSVNJQkxFAElOVklTAERPVFRFRABEQVNIRUQAVW5yZWNvZ25pemVkIGNoYXJhY3RlciAnJWMnICglZCkgaW4gc2lkZXMgYXR0cmlidXRlCgBST1dTUEFOAFJPV1NQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBIRUlHSFQAR1JBRElFTlRBTkdMRQBSVUUAQUxTRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBGSVhFRFNJWkUgLSBpZ25vcmVkCgBDT0xTUEFOAENPTFNQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBDRUxMU1BBQ0lORwBDRUxMUEFERElORwBCT1JERVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQkFMSUdOIGluIFREIC0gaWdub3JlZAoARVhUAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIGluIFREIC0gaWdub3JlZAoAPFRBQkxFPgBjZWxsYm9yZGVyAGNvbHVtbnMAcm93cwBVbmtub3duIHZhbHVlICVzIGZvciBST1dTIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgQ09MVU1OUyAtIGlnbm9yZWQKAENFTExTQk9SREVSADxIVE1MPgA8L0hUTUw+AC0tAExhYmVsIGNsb3NlZCBiZWZvcmUgZW5kIG9mIEhUTUwgZWxlbWVudAoAVW5jbG9zZWQgY29tbWVudAoAaiA9PSAwAGN2dC5jAFBvYnNwYXRoAHJvdXRlLmMAbGlicGF0aC8lczolZDogJXMKAHNob3J0ZXN0LmMAc291cmNlIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAZGVzdGluYXRpb24gcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBjYW5ub3QgZmluZCB0cmlhbmdsZSBwYXRoAGNhbm5vdCBtYWxsb2Mgb3BzAGNhbm5vdCByZWFsbG9jIG9wcwB0cmlhbmd1bGF0aW9uIGZhaWxlZABjYW5ub3QgbWFsbG9jIHRyaXMAY2Fubm90IHJlYWxsb2MgdHJpcwBjYW5ub3QgbWFsbG9jIGRxLnBubHMAY2Fubm90IHJlYWxsb2MgZHEucG5scwBjYW5ub3QgbWFsbG9jIHBubHMAY2Fubm90IG1hbGxvYyBwbmxwcwBjYW5ub3QgcmVhbGxvYyBwbmxzAGNhbm5vdCByZWFsbG9jIHBubHBzAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVFkARU5USVRJRVMATk1UT0tFTgBOTVRPS0VOUwBOT1RBVElPTigAKAB8AGh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZQBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLwB4bWw9aHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAC9kZXYvdXJhbmRvbQBmYWxsYmFjayg0KQBnZXR0aW1lb2ZkYXlfcmVzID09IDAAeG1scGFyc2UuYwBnYXRoZXJfdGltZV9lbnRyb3B5AEVYUEFUX0VOVFJPUFlfREVCVUcAMQBFbnRyb3B5OiAlcyAtLT4gMHglMCpseCAoJWx1IGJ5dGVzKQoAaW52YWxpZCBhcmd1bWVudABwcmVmaXggbXVzdCBub3QgYmUgYm91bmQgdG8gb25lIG9mIHRoZSByZXNlcnZlZCBuYW1lc3BhY2UgbmFtZXMAcmVzZXJ2ZWQgcHJlZml4ICh4bWxucykgbXVzdCBub3QgYmUgZGVjbGFyZWQgb3IgdW5kZWNsYXJlZAByZXNlcnZlZCBwcmVmaXggKHhtbCkgbXVzdCBub3QgYmUgdW5kZWNsYXJlZCBvciBib3VuZCB0byBhbm90aGVyIG5hbWVzcGFjZSBuYW1lAGNhbm5vdCBzdXNwZW5kIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHkAcGFyc2luZyBmaW5pc2hlZABwYXJzaW5nIGFib3J0ZWQAcGFyc2VyIG5vdCBzdXNwZW5kZWQAcGFyc2VyIHN1c3BlbmRlZABpbGxlZ2FsIGNoYXJhY3RlcihzKSBpbiBwdWJsaWMgaWQAdGV4dCBkZWNsYXJhdGlvbiBub3Qgd2VsbC1mb3JtZWQAWE1MIGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABpbmNvbXBsZXRlIG1hcmt1cCBpbiBwYXJhbWV0ZXIgZW50aXR5AG11c3Qgbm90IHVuZGVjbGFyZSBwcmVmaXgAdW5ib3VuZCBwcmVmaXgAY2Fubm90IGNoYW5nZSBzZXR0aW5nIG9uY2UgcGFyc2luZyBoYXMgYmVndW4AcmVxdWVzdGVkIGZlYXR1cmUgcmVxdWlyZXMgWE1MX0RURCBzdXBwb3J0IGluIEV4cGF0AGVudGl0eSBkZWNsYXJlZCBpbiBwYXJhbWV0ZXIgZW50aXR5AHVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlIC0gcGxlYXNlIHNlbmQgYSBidWcgcmVwb3J0AGRvY3VtZW50IGlzIG5vdCBzdGFuZGFsb25lAGVycm9yIGluIHByb2Nlc3NpbmcgZXh0ZXJuYWwgZW50aXR5IHJlZmVyZW5jZQB1bmNsb3NlZCBDREFUQSBzZWN0aW9uAGVuY29kaW5nIHNwZWNpZmllZCBpbiBYTUwgZGVjbGFyYXRpb24gaXMgaW5jb3JyZWN0AHVua25vd24gZW5jb2RpbmcAWE1MIG9yIHRleHQgZGVjbGFyYXRpb24gbm90IGF0IHN0YXJ0IG9mIGVudGl0eQByZWZlcmVuY2UgdG8gZXh0ZXJuYWwgZW50aXR5IGluIGF0dHJpYnV0ZQByZWZlcmVuY2UgdG8gYmluYXJ5IGVudGl0eQByZWZlcmVuY2UgdG8gaW52YWxpZCBjaGFyYWN0ZXIgbnVtYmVyAGFzeW5jaHJvbm91cyBlbnRpdHkAcmVjdXJzaXZlIGVudGl0eSByZWZlcmVuY2UAdW5kZWZpbmVkIGVudGl0eQBpbGxlZ2FsIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlAGp1bmsgYWZ0ZXIgZG9jdW1lbnQgZWxlbWVudABkdXBsaWNhdGUgYXR0cmlidXRlAG1pc21hdGNoZWQgdGFnAHBhcnRpYWwgY2hhcmFjdGVyAHVuY2xvc2VkIHRva2VuAG5vdCB3ZWxsLWZvcm1lZCAoaW52YWxpZCB0b2tlbikAbm8gZWxlbWVudCBmb3VuZABzeW50YXggZXJyb3IAb3V0IG9mIG1lbW9yeQACAwQFBgcIAAAJCgsMDQ4PEBEAAAAAAAAAAAAAAAASEwAUAAAAAAAAAAAAAAAAAAAVFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQMaGxwdHgAAHyAhIiMkJRARAAAAAAAAAAAAAAAAEhMmFAAAAAAAAAAAAAAAAAAAJxYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFwAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENEQVRBW1VTLUFTQ0lJAFVURi0xNgBVVEYtMTZCRQBVVEYtMTZMRQB2ZXJzaW9uAGVuY29kaW5nAHN0YW5kYWxvbmUARE9DVFlQRQBTWVNURU0AUFVCTElDAEVOVElUWQBBVFRMSVNUAEVMRU1FTlQATk9UQVRJT04ASU5DTFVERQBJR05PUkUARU1QVFkAQU5ZAFBDREFUQQBJTVBMSUVEAFJFUVVJUkVEAEZJWEVEAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5EQVRBAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAEhATFBUWFxgZGhscHR4fICEQECIjECQlJicoKSorECwtLhEvMBERMRERETIzNDU2Nzg5ERAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA6EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA7EDw9Pj9AQRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBCEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBDEBBEEEVGRxBIEEkQEBAQSktMTRAQThBPUBAQEBBREBAQEBAQEBAQEBAQEFIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBUVVZXEBBYWRAQEBAQEBAQEBAQEBAQEBAQEBAQEBBaEFtcXV5fYGFiEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAP7/APwBAAD4AQAAeAAAAAD/+9/7AACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8APz/4K//////////////3///////IECwAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAIb+////AEBJAAAAAAAYAN//AMgAAAAAAAAAAQA8AAAAAAAAAAAAAAAAEOABHgBg/78AAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAD4zwMAAAADACD/fwAAAE4AAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAQACAeADAAAQAAAAAAAAAAEAAgAAAAAPwPAAAAAAAAABAAIAAAAAAAAAAAAAAAAAAQACAAAAAAAwAAAAAAAAAAEAAgAAAAAP0AAAAAAAAAAAAAIAAAAAD/BwAAAAAAAAAAACAAAAAAAP8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAAAAAIAAAAAA/AgAAAAAAAAAAAAQAAAAAEAAAAAAAAIAAgMDfAAwAAAAAAAAAAAAAAAAAHwAAAAAAAP7///8A/P//AAAAAAAAAAD8AAAAAAAAwP/f/wcAAAAAAAAAAAAAgAYA/AAAGD4AAIC/AMwAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAGD///8fAAD/AwAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAEAABgAAAAAAAAAAAA4AAAAABAAAABwAAAAAAAAAAAAAAAAAAAAMAAA/n8vAAD/A/9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4xAAAAAAAAAAAAAAAAAAAAAAAAxP////8AAADAAAAAAAAAAAABAOCfAAAAAH8/AAAAAAAAAAAAAAAAAAAAABAAEAAA/P///x8AAAAAAAwAAAAAAABAAAzwAAAAAAAAwPgAAAAAAAAAwAAAAAAAAAAA/wD///8hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////fwAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAPgAOAA4ABggPj////8//////9/H/zxf/9/AAD///8DAAD/////AQB7A9DBr0IADB+8//8AAAAAAAL//////////////////////////////////////////////////////////w8A/////38AAAD/BwAA/////////////z8AAAAAAAD8///+/////////////////////////////////////////////////////x//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCHA/4AAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAP//////f/8PAAAAAAAAAAD////7/////////////w8A//////////////////////////////////8/AAAA/w8e////AfzB4AAAAAAAAAAAAAAAHgEAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAP////8PAAAA////f////////////////////////////////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAP///////38AAAAAAADAAOAAAAAAAAAAAAAAAIAPcAAAAAAAAAAAAAAAAAAA/wD//38AAwAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAEQIAAAAD/8DAAAAAAAA8AAAAAAAAAAAABDAAAD//wMHAAAAAAD4AAAAAAiAAAAAAAAAAAAAAAgA/z8AwAAAAAAAAAAAAAAAAAAAAPAAAIALAAAAAAAAAIACAADAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAD8/wMAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD///8DfwD/////9/9/DwAAAAAAAAAAAAAAAAAAAAAAgP7/APwBAAD4AQAA+D8AAAAAAAAAAAAAAAAAAAB/fwAwh///////j/8AAAAAAADg//8H/w8AAAAAAAD//////z8AAAAADwAAAAAAAAAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAAAAACA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAADAjwAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/8A/wEAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//P8/AAAAAwAAAAAAAP4DAAAAAAAAAAAAAAAAABgADwAAAAAAAAAAAAAAAAAAAOEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAA////////////////////////////////////////PwD/////f/7///////////////////////////8/AAAAAP//////////PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////38A//8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAAAACAAAIAAAACAAAIAAAACAAAAAAgAAAAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD//////w////////////////8PAP9//n/+//7/AAAAAP8H////f/////////8P//////8HAAAAAAAAAADA////BwD//////wf/AQMAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQC///////////8f//8PAP/////fBwAA//8BAP////////9//f////////////////////////////8e/////////z8PAP///wAAAAAAAAAAAAAAAAAAAAAAAPj//////////+H/AAAAAAAA//////////8/AAAAAAAAAP//////////////////DwAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIEBwMGBQASERMUFRYXGBkaGxwdHh8gIREiIyQRJSYnKCkqKywRLS4vEBAwEBAQEBAQEDEyMxA0NRAQERERERERERERERERERERERERERERERERETYRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE3ERERETgROTo7PD0+ERERERERERERERERERERERERERERERERERERERERERERERERERERERERET8QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARQEERQkNERUZHSEkQEBBKS0xNThAQEE9QEBAQEFEQEBAQEBAQEBARERFSUxAQEBAQEBAQEBAQEREREVQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAREVUQEBAQVhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBXEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBYWVpbEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFwQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9//////////////////////////////////8P/AwAfUAAAAAAAAAAAAAAgAAAAAADfPEDX///7////////////v///////////////////////A/z/////////////////////////AP7///9/Av7/////AAAAAAD/v7YA////BwcAAAD/B//////////+/8P////////////////vH/7h/58AAP///////wDg////////////////AwD//////wcwBP////z/HwAA////AQAAAAAAAAAA/R8AAAAAAADwA/9//////////+//3+H/z//+/u6f+f///cXjn1mAsM//AwDuh/n///1tw4cZAl7A/z8A7r/7///97eO/GwEAz/8AAO6f+f///e3jnxnAsM//AgDsxz3WGMf/w8cdgQDA/wAA7t/9///97+PfHWADz/8AAOzf/f///e/j3x1gQM//BgDs3/3/////599dgADP/wD87P9//P//+y9/gF//AAAMAP7/////f/8HPyD/AwAAAACWJfD+ruz/O18g//MAAAAAAQAAAP8DAAD//v///x/+/wP///7///8fAAAAAAAAAAD///////9/+f8D///nwf//f0D/M/////+/IP//////9////////////z1/Pf//////Pf////89fz3/f/////////89//////////+HAAAAAP//AAD/////////////HwD+//////////////////////////////////////////////////////////+f///+//8H////////////xwEA/98PAP//DwD//w8A/98NAP///////8///wGAEP8DAAAAAP8D//////////////8A//////8H//////////8/AP///x//D/8BwP////8/HwD//////w////8D/wMAAAAA////D/////////9//v8fAP8D/wOAAAAAAAAAAAAAAAD////////v/+8P/wMAAAAA///////z////////v/8DAP///////z8A/+P//////z8AAAAAAAAAAAAAAAAA3m8A////////////////////////////////AAAAAAAAAAD//z8//////z8//6r///8/////////31/cH88P/x/cHwAAAAAAAAAAAAAAAAAAAoAAAP8fAAAAAAAAAAAAAAAAhPwvPlC9//PgQwAA//////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///////wMAAP//////f///////f/////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/f/////8AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAD+Az4f/v///////////3/g/v/////////////34P////8//v////////////9/AAD///8HAAAAAAAA////////////////////////////////PwAAAAAAAAAAAP////////////////////////////////8fAAAAAAAA//////////////////////8fAAAAAAAAAAD//////z//H////w8AAP//////f/CP////gP////////////8AAAAAgP/8////////////////eQ8A/wcAAAAAAAAAAAD/u/f///8AAAD///////8PAP//////////DwD/AwAA/Aj//////wf/////BwD///8f////////9/8AgP8DAAAAAP///////38A/z//A///fwT/////////fwUAADj//zwAfn5+AH9/AAAAAAAAAAAAAAAAAAAAAAAA//////8H/wP//////////////////////////w8A//9/+P//////D/////////////////8//////////////////wMAAAAAfwD44P/9f1/b/////////////////wMAAAD4////////////////PwAA///////////8////////AAAAAAD/DwAAAAAAAAAAAAAAAAAA3/////////////////////8fAAD/A/7//wf+//8HwP////////////9//Pz8HAAAAAD/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///x////////8BAAAAAAD///9/AAD///8HAAAAAAAA////P/////8P/z4AAAAAAP////////////////////////8//wMAAAAAAAAAAAAAP/3/////v5H//z8AAAAAAAAAAAAAAAAAAAAAAAAAAAD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//w8AAAAAAP///x8AAAAAAAAAAAAAAAAAAAAA////////PwD//z8A//8HAAAAAAAAAAAAAAAAAAAAAAD///////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/8AAAAAAAAAAP//////////HgD/AwAAAAAAAAAAAAAAAAAAAAAAAAAA////////PwD/AwAAAAAAAP////////////////9/AAAAAAAAAAAAAAAAAAAAAAAA////////////////BwAAAAAAAAAAAAAAAAAAAAAAAAD//////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8fAP//////fwAA+P8AAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////7////5b+9wqE6paqlvf3Xv/7/w/u+/8PAAAAAAAAAABMQ19BTEwATENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOADAxMjM0NTY3ODlBQkNERUYuAGFsbnVtAGFscGhhAGJsYW5rAGNudHJsAGRpZ2l0AGdyYXBoAGxvd2VyAHByaW50AHB1bmN0AHNwYWNlAHVwcGVyAHhkaWdpdABDLlVURi04AAAAAAAAAAAAQwAvcHJvYy9zZWxmL2ZkLwByd2EAaW5maW5pdHkAbmFuAAkACgANAAwABwAbAFtbOmFsbnVtOl1fXQBbXls6YWxudW06XV9dAFtbOnNwYWNlOl1dAFteWzpzcGFjZTpdXQBbWzpkaWdpdDpdXQBbXls6ZGlnaXQ6XV0AL3RtcC90bXBmaWxlX1hYWFhYWAB3Kw==";var tA=I;function cA(){re()}function bA(){return t||"undefined"!=typeof dateNow||(n||l)&&self.performance&&self.performance.now}I+=16;var sA={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 wA(e){return A.___errno_location&&(C[A.___errno_location()>>2]=e),e}function uA(A,e){var i;if(0===A)i=Date.now();else{if(1!==A||!bA())return wA(sA.EINVAL),-1;i=cA()}return C[e>>2]=i/1e3|0,C[e+4>>2]=i%1e3*1e3*1e3|0,0}var kA={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"},oA={splitPath:function(A){return/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,e){for(var i=0,r=A.length-1;r>=0;r--){var f=A[r];"."===f?A.splice(r,1):".."===f?(A.splice(r,1),i++):i&&(A.splice(r,1),i--)}if(e)for(;i;i--)A.unshift("..");return A},normalize:function(A){var e="/"===A.charAt(0),i="/"===A.substr(-1);return(A=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||e||(A="."),A&&i&&(A+="/"),(e?"/":"")+A},dirname:function(A){var e=oA.splitPath(A),i=e[0],r=e[1];return i||r?(r&&(r=r.substr(0,r.length-1)),i+r):"."},basename:function(A){if("/"===A)return"/";var e=A.lastIndexOf("/");return-1===e?A:A.substr(e+1)},extname:function(A){return oA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return oA.normalize(A.join("/"))},join2:function(A,e){return oA.normalize(A+"/"+e)},resolve:function(){for(var A="",e=!1,i=arguments.length-1;i>=-1&&!e;i--){var r=i>=0?arguments[i]:EA.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";A=r+"/"+A,e="/"===r.charAt(0)}return(e?"/":"")+(A=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||"."},relative:function(A,e){function i(A){for(var e=0;e=0&&""===A[i];i--);return e>i?[]:A.slice(e,i-e+1)}A=oA.resolve(A).substr(1),e=oA.resolve(e).substr(1);for(var r=i(A.split("/")),f=i(e.split("/")),a=Math.min(r.length,f.length),n=a,l=0;l0?i.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n");if(!e)return null;A.input=NA(e,!0)}return A.input.shift()},put_char:function(e,i){null===i||10===i?(A.print(z(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.print(z(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,i){null===i||10===i?(A.printErr(z(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.printErr(z(e.output,0)),e.output=[])}}},dA={ops_table:null,mount:function(A){return dA.createNode(null,"/",16895,0)},createNode:function(A,e,i,r){if(EA.isBlkdev(i)||EA.isFIFO(i))throw new EA.ErrnoError(sA.EPERM);dA.ops_table||(dA.ops_table={dir:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr,lookup:dA.node_ops.lookup,mknod:dA.node_ops.mknod,rename:dA.node_ops.rename,unlink:dA.node_ops.unlink,rmdir:dA.node_ops.rmdir,readdir:dA.node_ops.readdir,symlink:dA.node_ops.symlink},stream:{llseek:dA.stream_ops.llseek}},file:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr},stream:{llseek:dA.stream_ops.llseek,read:dA.stream_ops.read,write:dA.stream_ops.write,allocate:dA.stream_ops.allocate,mmap:dA.stream_ops.mmap,msync:dA.stream_ops.msync}},link:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr,readlink:dA.node_ops.readlink},stream:{}},chrdev:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr},stream:EA.chrdev_stream_ops}});var f=EA.createNode(A,e,i,r);return EA.isDir(f.mode)?(f.node_ops=dA.ops_table.dir.node,f.stream_ops=dA.ops_table.dir.stream,f.contents={}):EA.isFile(f.mode)?(f.node_ops=dA.ops_table.file.node,f.stream_ops=dA.ops_table.file.stream,f.usedBytes=0,f.contents=null):EA.isLink(f.mode)?(f.node_ops=dA.ops_table.link.node,f.stream_ops=dA.ops_table.link.stream):EA.isChrdev(f.mode)&&(f.node_ops=dA.ops_table.chrdev.node,f.stream_ops=dA.ops_table.chrdev.stream),f.timestamp=Date.now(),A&&(A.contents[e]=f),f},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var e=[],i=0;iA.contents.length&&(A.contents=dA.getFileDataAsRegularArray(A),A.usedBytes=A.contents.length),!A.contents||A.contents.subarray){var i=A.contents?A.contents.length:0;if(i>=e)return;e=Math.max(e,i*(i<1048576?2:1.125)|0),0!=i&&(e=Math.max(e,256));var r=A.contents;return A.contents=new Uint8Array(e),void(A.usedBytes>0&&A.contents.set(r.subarray(0,A.usedBytes),0))}for(!A.contents&&e>0&&(A.contents=[]);A.contents.lengthe)A.contents.length=e;else for(;A.contents.length=A.node.usedBytes)return 0;var n=Math.min(A.node.usedBytes-f,r);if(k(n>=0),n>8&&a.subarray)e.set(a.subarray(f,f+n),i);else for(var l=0;l0||f+rn.timestamp)&&(f.push(i),r++)}));var a=[];if(Object.keys(e.entries).forEach((function(i){e.entries[i],A.entries[i]||(a.push(i),r++)})),!r)return i(null);var n=0,l=("remote"===A.type?A.db:e.db).transaction([BA.DB_STORE_NAME],"readwrite"),t=l.objectStore(BA.DB_STORE_NAME);function c(A){return A?c.errored?void 0:(c.errored=!0,i(A)):++n>=r?i(null):void 0}l.onerror=function(A){c(this.error),A.preventDefault()},f.sort().forEach((function(A){"local"===e.type?BA.loadRemoteEntry(t,A,(function(e,i){if(e)return c(e);BA.storeLocalEntry(A,i,c)})):BA.loadLocalEntry(A,(function(e,i){if(e)return c(e);BA.storeRemoteEntry(t,A,i,c)}))})),a.sort().reverse().forEach((function(A){"local"===e.type?BA.removeLocalEntry(A,c):BA.removeRemoteEntry(t,A,c)}))}},vA={isWindows:!1,staticInit:function(){vA.isWindows=!!process.platform.match(/^win/);var A=process.binding("constants");A.fs&&(A=A.fs),vA.flagsForNodeMap={1024:A.O_APPEND,64:A.O_CREAT,128:A.O_EXCL,0:A.O_RDONLY,2:A.O_RDWR,4096:A.O_SYNC,512:A.O_TRUNC,1:A.O_WRONLY}},bufferFrom:function(A){return Buffer.alloc?Buffer.from(A):new Buffer(A)},mount:function(A){return k(t),vA.createNode(null,"/",vA.getMode(A.opts.root),0)},createNode:function(A,e,i,r){if(!EA.isDir(i)&&!EA.isFile(i)&&!EA.isLink(i))throw new EA.ErrnoError(sA.EINVAL);var f=EA.createNode(A,e,i);return f.node_ops=vA.node_ops,f.stream_ops=vA.stream_ops,f},getMode:function(A){var e;try{e=FA.lstatSync(A),vA.isWindows&&(e.mode=e.mode|(292&e.mode)>>2)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return e.mode},realPath:function(A){for(var e=[];A.parent!==A;)e.push(A.name),A=A.parent;return e.push(A.mount.opts.root),e.reverse(),oA.join.apply(null,e)},flagsForNode:function(A){A&=-2097153,A&=-2049,A&=-32769,A&=-524289;var e=0;for(var i in vA.flagsForNodeMap)A&i&&(e|=vA.flagsForNodeMap[i],A^=i);if(A)throw new EA.ErrnoError(sA.EINVAL);return e},node_ops:{getattr:function(A){var e,i=vA.realPath(A);try{e=FA.lstatSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return vA.isWindows&&!e.blksize&&(e.blksize=4096),vA.isWindows&&!e.blocks&&(e.blocks=(e.size+e.blksize-1)/e.blksize|0),{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(A,e){var i=vA.realPath(A);try{if(void 0!==e.mode&&(FA.chmodSync(i,e.mode),A.mode=e.mode),void 0!==e.timestamp){var r=new Date(e.timestamp);FA.utimesSync(i,r,r)}void 0!==e.size&&FA.truncateSync(i,e.size)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},lookup:function(A,e){var i=oA.join2(vA.realPath(A),e),r=vA.getMode(i);return vA.createNode(A,e,r)},mknod:function(A,e,i,r){var f=vA.createNode(A,e,i,r),a=vA.realPath(f);try{EA.isDir(f.mode)?FA.mkdirSync(a,f.mode):FA.writeFileSync(a,"",{mode:f.mode})}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return f},rename:function(A,e,i){var r=vA.realPath(A),f=oA.join2(vA.realPath(e),i);try{FA.renameSync(r,f)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},unlink:function(A,e){var i=oA.join2(vA.realPath(A),e);try{FA.unlinkSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},rmdir:function(A,e){var i=oA.join2(vA.realPath(A),e);try{FA.rmdirSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},readdir:function(A){var e=vA.realPath(A);try{return FA.readdirSync(e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},symlink:function(A,e,i){var r=oA.join2(vA.realPath(A),e);try{FA.symlinkSync(i,r)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},readlink:function(A){var e=vA.realPath(A);try{return e=FA.readlinkSync(e),e=VA.relative(VA.resolve(A.mount.opts.root),e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}}},stream_ops:{open:function(A){var e=vA.realPath(A.node);try{EA.isFile(A.node.mode)&&(A.nfd=FA.openSync(e,vA.flagsForNode(A.flags)))}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},close:function(A){try{EA.isFile(A.node.mode)&&A.nfd&&FA.closeSync(A.nfd)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},read:function(A,e,i,r,f){if(0===r)return 0;try{return FA.readSync(A.nfd,vA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new EA.ErrnoError(sA[A.code])}},write:function(A,e,i,r,f){try{return FA.writeSync(A.nfd,vA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new EA.ErrnoError(sA[A.code])}},llseek:function(A,e,i){var r=e;if(1===i)r+=A.position;else if(2===i&&EA.isFile(A.node.mode))try{r+=FA.fstatSync(A.nfd).size}catch(A){throw new EA.ErrnoError(sA[A.code])}if(r<0)throw new EA.ErrnoError(sA.EINVAL);return r}}},gA={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(A){k(l),gA.reader||(gA.reader=new FileReaderSync);var e=gA.createNode(null,"/",gA.DIR_MODE,0),i={};function r(A){for(var r=A.split("/"),f=e,a=0;a=A.node.size)return 0;var a=A.node.contents.slice(f,f+r),n=gA.reader.readAsArrayBuffer(a);return e.set(new Uint8Array(n),i),a.size},write:function(A,e,i,r,f){throw new EA.ErrnoError(sA.EIO)},llseek:function(A,e,i){var r=e;if(1===i?r+=A.position:2===i&&EA.isFile(A.node.mode)&&(r+=A.node.size),r<0)throw new EA.ErrnoError(sA.EINVAL);return r}}};I+=16,I+=16,I+=16;var EA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof EA.ErrnoError))throw e+" : "+(i=function(){var A=new Error;if(!A.stack){try{throw new Error(0)}catch(e){A=e}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}(),A.extraStackTrace&&(i+="\\n"+A.extraStackTrace()),i.replace(/__Z[\\w\\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"})));var i;return wA(e.errno)},lookupPath:function(A,e){if(e=e||{},!(A=oA.resolve(EA.cwd(),A)))return{path:"",node:null};var i={follow_mount:!0,recurse_count:0};for(var r in i)void 0===e[r]&&(e[r]=i[r]);if(e.recurse_count>8)throw new EA.ErrnoError(sA.ELOOP);for(var f=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),a=EA.root,n="/",l=0;l40)throw new EA.ErrnoError(sA.ELOOP)}}return{path:n,node:a}},getPath:function(A){for(var e;;){if(EA.isRoot(A)){var i=A.mount.mountpoint;return e?"/"!==i[i.length-1]?i+"/"+e:i+e:i}e=e?A.name+"/"+e:A.name,A=A.parent}},hashName:function(A,e){for(var i=0,r=0;r>>0)%EA.nameTable.length},hashAddNode:function(A){var e=EA.hashName(A.parent.id,A.name);A.name_next=EA.nameTable[e],EA.nameTable[e]=A},hashRemoveNode:function(A){var e=EA.hashName(A.parent.id,A.name);if(EA.nameTable[e]===A)EA.nameTable[e]=A.name_next;else for(var i=EA.nameTable[e];i;){if(i.name_next===A){i.name_next=A.name_next;break}i=i.name_next}},lookupNode:function(A,e){var i=EA.mayLookup(A);if(i)throw new EA.ErrnoError(i,A);for(var r=EA.hashName(A.id,e),f=EA.nameTable[r];f;f=f.name_next){var a=f.name;if(f.parent.id===A.id&&a===e)return f}return EA.lookup(A,e)},createNode:function(A,e,i,r){if(!EA.FSNode){EA.FSNode=function(A,e,i,r){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=EA.nextInode++,this.name=e,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=r},EA.FSNode.prototype={};Object.defineProperties(EA.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return EA.isDir(this.mode)}},isDevice:{get:function(){return EA.isChrdev(this.mode)}}})}var f=new EA.FSNode(A,e,i,r);return EA.hashAddNode(f),f},destroyNode:function(A){EA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},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(A){var e=EA.flagModes[A];if(void 0===e)throw new Error("Unknown file open mode: "+A);return e},flagsToPermissionString:function(A){var e=["r","w","rw"][3&A];return 512&A&&(e+="w"),e},nodePermissions:function(A,e){return EA.ignorePermissions||(-1===e.indexOf("r")||292&A.mode)&&(-1===e.indexOf("w")||146&A.mode)&&(-1===e.indexOf("x")||73&A.mode)?0:sA.EACCES},mayLookup:function(A){return EA.nodePermissions(A,"x")||(A.node_ops.lookup?0:sA.EACCES)},mayCreate:function(A,e){try{return EA.lookupNode(A,e),sA.EEXIST}catch(A){}return EA.nodePermissions(A,"wx")},mayDelete:function(A,e,i){var r;try{r=EA.lookupNode(A,e)}catch(A){return A.errno}var f=EA.nodePermissions(A,"wx");if(f)return f;if(i){if(!EA.isDir(r.mode))return sA.ENOTDIR;if(EA.isRoot(r)||EA.getPath(r)===EA.cwd())return sA.EBUSY}else if(EA.isDir(r.mode))return sA.EISDIR;return 0},mayOpen:function(A,e){return A?EA.isLink(A.mode)?sA.ELOOP:EA.isDir(A.mode)&&("r"!==EA.flagsToPermissionString(e)||512&e)?sA.EISDIR:EA.nodePermissions(A,EA.flagsToPermissionString(e)):sA.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(A,e){A=A||0,e=e||EA.MAX_OPEN_FDS;for(var i=A;i<=e;i++)if(!EA.streams[i])return i;throw new EA.ErrnoError(sA.EMFILE)},getStream:function(A){return EA.streams[A]},createStream:function(A,e,i){EA.FSStream||(EA.FSStream=function(){},EA.FSStream.prototype={},Object.defineProperties(EA.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var r=new EA.FSStream;for(var f in A)r[f]=A[f];A=r;var a=EA.nextfd(e,i);return A.fd=a,EA.streams[a]=A,A},closeStream:function(A){EA.streams[A]=null},chrdev_stream_ops:{open:function(A){var e=EA.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new EA.ErrnoError(sA.ESPIPE)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,e){return A<<8|e},registerDevice:function(A,e){EA.devices[A]={stream_ops:e}},getDevice:function(A){return EA.devices[A]},getMounts:function(A){for(var e=[],i=[A];i.length;){var r=i.pop();e.push(r),i.push.apply(i,r.mounts)}return e},syncfs:function(A,e){"function"==typeof A&&(e=A,A=!1),EA.syncFSRequests++,EA.syncFSRequests>1&&console.log("warning: "+EA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var i=EA.getMounts(EA.root.mount),r=0;function f(A){return k(EA.syncFSRequests>0),EA.syncFSRequests--,e(A)}function a(A){if(A)return a.errored?void 0:(a.errored=!0,f(A));++r>=i.length&&f(null)}i.forEach((function(e){if(!e.type.syncfs)return a(null);e.type.syncfs(e,A,a)}))},mount:function(A,e,i){var r,f="/"===i,a=!i;if(f&&EA.root)throw new EA.ErrnoError(sA.EBUSY);if(!f&&!a){var n=EA.lookupPath(i,{follow_mount:!1});if(i=n.path,r=n.node,EA.isMountpoint(r))throw new EA.ErrnoError(sA.EBUSY);if(!EA.isDir(r.mode))throw new EA.ErrnoError(sA.ENOTDIR)}var l={type:A,opts:e,mountpoint:i,mounts:[]},t=A.mount(l);return t.mount=l,l.root=t,f?EA.root=t:r&&(r.mounted=l,r.mount&&r.mount.mounts.push(l)),t},unmount:function(A){var e=EA.lookupPath(A,{follow_mount:!1});if(!EA.isMountpoint(e.node))throw new EA.ErrnoError(sA.EINVAL);var i=e.node,r=i.mounted,f=EA.getMounts(r);Object.keys(EA.nameTable).forEach((function(A){for(var e=EA.nameTable[A];e;){var i=e.name_next;-1!==f.indexOf(e.mount)&&EA.destroyNode(e),e=i}})),i.mounted=null;var a=i.mount.mounts.indexOf(r);k(-1!==a),i.mount.mounts.splice(a,1)},lookup:function(A,e){return A.node_ops.lookup(A,e)},mknod:function(A,e,i){var r=EA.lookupPath(A,{parent:!0}).node,f=oA.basename(A);if(!f||"."===f||".."===f)throw new EA.ErrnoError(sA.EINVAL);var a=EA.mayCreate(r,f);if(a)throw new EA.ErrnoError(a);if(!r.node_ops.mknod)throw new EA.ErrnoError(sA.EPERM);return r.node_ops.mknod(r,f,e,i)},create:function(A,e){return e=void 0!==e?e:438,e&=4095,e|=32768,EA.mknod(A,e,0)},mkdir:function(A,e){return e=void 0!==e?e:511,e&=1023,e|=16384,EA.mknod(A,e,0)},mkdirTree:function(A,e){for(var i=A.split("/"),r="",f=0;fthis.length-1||A<0)){var e=A%this.chunkSize,i=A/this.chunkSize|0;return this.getter(i)[e]}},a.prototype.setDataGetter=function(A){this.getter=A},a.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",i,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+i+". Status: "+A.status);var e,r=Number(A.getResponseHeader("Content-length")),f=(e=A.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=A.getResponseHeader("Content-Encoding"))&&"gzip"===e,n=1048576;f||(n=r);var l=this;l.setDataGetter((function(A){var e=A*n,f=(A+1)*n-1;if(f=Math.min(f,r-1),void 0===l.chunks[A]&&(l.chunks[A]=function(A,e){if(A>e)throw new Error("invalid range ("+A+", "+e+") or no bytes requested!");if(e>r-1)throw new Error("only "+r+" bytes available! programmer error!");var f=new XMLHttpRequest;if(f.open("GET",i,!1),r!==n&&f.setRequestHeader("Range","bytes="+A+"-"+e),"undefined"!=typeof Uint8Array&&(f.responseType="arraybuffer"),f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined"),f.send(null),!(f.status>=200&&f.status<300||304===f.status))throw new Error("Couldn't load "+i+". Status: "+f.status);return void 0!==f.response?new Uint8Array(f.response||[]):NA(f.responseText||"",!0)}(e,f)),void 0===l.chunks[A])throw new Error("doXHR failed!");return l.chunks[A]})),!a&&r||(n=r=1,r=this.getter(0).length,n=r,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var n=new a;Object.defineProperties(n,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var t={isDevice:!1,contents:n}}else t={isDevice:!1,url:i};var c=EA.createFile(A,e,t,r,f);t.contents?c.contents=t.contents:t.url&&(c.contents=null,c.url=t.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var b={};return Object.keys(c.stream_ops).forEach((function(A){var e=c.stream_ops[A];b[A]=function(){if(!EA.forceLoadFile(c))throw new EA.ErrnoError(sA.EIO);return e.apply(null,arguments)}})),b.read=function(A,e,i,r,f){if(!EA.forceLoadFile(c))throw new EA.ErrnoError(sA.EIO);var a=A.node.contents;if(f>=a.length)return 0;var n=Math.min(a.length-f,r);if(k(n>=0),a.slice)for(var l=0;l>2]=r.dev,C[i+4>>2]=0,C[i+8>>2]=r.ino,C[i+12>>2]=r.mode,C[i+16>>2]=r.nlink,C[i+20>>2]=r.uid,C[i+24>>2]=r.gid,C[i+28>>2]=r.rdev,C[i+32>>2]=0,C[i+36>>2]=r.size,C[i+40>>2]=4096,C[i+44>>2]=r.blocks,C[i+48>>2]=r.atime.getTime()/1e3|0,C[i+52>>2]=0,C[i+56>>2]=r.mtime.getTime()/1e3|0,C[i+60>>2]=0,C[i+64>>2]=r.ctime.getTime()/1e3|0,C[i+68>>2]=0,C[i+72>>2]=r.ino,0},doMsync:function(A,e,i,r){var f=new Uint8Array(g.subarray(A,A+i));EA.msync(e,f,0,i,r)},doMkdir:function(A,e){return"/"===(A=oA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),EA.mkdir(A,e,0),0},doMknod:function(A,e,i){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-sA.EINVAL}return EA.mknod(A,e,i),0},doReadlink:function(A,e,i){if(i<=0)return-sA.EINVAL;var r=EA.readlink(A),f=Math.min(i,F(r)),a=v[e+f];return M(r,e,i+1),v[e+f]=a,f},doAccess:function(A,e){if(-8&e)return-sA.EINVAL;var i;i=EA.lookupPath(A,{follow:!0}).node;var r="";return 4&e&&(r+="r"),2&e&&(r+="w"),1&e&&(r+="x"),r&&EA.nodePermissions(i,r)?-sA.EACCES:0},doDup:function(A,e,i){var r=EA.getStream(i);return r&&EA.close(r),EA.open(A,e,0,i,i).fd},doReadv:function(A,e,i,r){for(var f=0,a=0;a>2],l=C[e+(8*a+4)>>2],t=EA.read(A,v,n,l,r);if(t<0)return-1;if(f+=t,t>2],l=C[e+(8*a+4)>>2],t=EA.write(A,v,n,l,r);if(t<0)return-1;f+=t}return f},varargs:0,get:function(A){return CA.varargs+=4,C[CA.varargs-4>>2]},getStr:function(){return d(CA.get())},getStreamFromFD:function(){var A=EA.getStream(CA.get());if(!A)throw new EA.ErrnoError(sA.EBADF);return A},getSocketFromFD:function(){var A=SOCKFS.getSocket(CA.get());if(!A)throw new EA.ErrnoError(sA.EBADF);return A},getSocketAddress:function(A){var e=CA.get(),i=CA.get();if(A&&0===e)return null;var r=__read_sockaddr(e,i);if(r.errno)throw new EA.ErrnoError(r.errno);return r.addr=DNS.lookup_addr(r.addr)||r.addr,r},get64:function(){var A=CA.get(),e=CA.get();return k(A>=0?0===e:-1===e),A},getZero:function(){k(0===CA.get())}},IA=function(A,e,i,r){var f,a;"number"==typeof A?(f=!0,a=A):(f=!1,a=A.length);var n,l=e;if(n=["function"==typeof xA?xA:b,SA,b,s][2](Math.max(a,l?1:2)),f){var t;for(r=n,k(0==(3&n)),t=n+(-4&a);r>2]=0;for(t=n+a;r>0]=0;return n}return A.subarray||A.slice?g.set(A,n):g.set(new Uint8Array(A),n),n}([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");function ZA(e){A.exit(e)}var GA=I;function QA(e){var i,r;QA.called?(r=C[GA>>2],i=C[r>>2]):(QA.called=!0,mA.USER=mA.LOGNAME="web_user",mA.PATH="/",mA.PWD="/",mA.HOME="/home/web_user",mA.LANG="C.UTF-8",mA._=A.thisProgram,i=b(1024),r=b(256),C[r>>2]=i,C[GA>>2]=r);var f=[],a=0;for(var n in e)if("string"==typeof e[n]){var l=n+"="+e[n];f.push(l),a+=l.length}if(a>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var t=0;t>2]=i,i+=l.length+1;C[r+4*f.length>>2]=0}I+=16;var mA={},LA=K,WA=P,yA=P,zA=_,YA=q,DA=O,MA=O;if(cA=t?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:"object"==typeof self&&self.performance&&"function"==typeof self.performance.now?function(){return self.performance.now()}:"object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,EA.staticInit(),p.unshift((function(){A.noFSInit||EA.init.initialized||EA.init()})),U.push((function(){EA.ignorePermissions=!1})),x.push((function(){EA.quit()})),p.unshift((function(){hA.init()})),x.push((function(){hA.shutdown()})),t){var FA=i(725),VA=i(966);vA.staticInit()}QA(mA),W=b(4),G=Q=w(I),L=w(m=G+N),C[W>>2]=L,Z=!0;var JA=!1;function NA(A,e,i){var r=i>0?i:F(A)+1,f=new Array(r),a=D(A,f,0,f.length);return e&&(f.length=a),f}function XA(A){for(var e=[],i=0;i255&&(JA&&k(!1,"Character code "+r+" ("+String.fromCharCode(r)+") at offset "+i+" not in 0x00-0xFF."),r&=255),e.push(String.fromCharCode(r))}return e.join("")}var RA="function"==typeof atob?atob:function(A){var e,i,r,f,a,n,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="",c=0;A=A.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do{e=l.indexOf(A.charAt(c++))<<2|(f=l.indexOf(A.charAt(c++)))>>4,i=(15&f)<<4|(a=l.indexOf(A.charAt(c++)))>>2,r=(3&a)<<6|(n=l.indexOf(A.charAt(c++))),t+=String.fromCharCode(e),64!==a&&(t+=String.fromCharCode(i)),64!==n&&(t+=String.fromCharCode(r))}while(c>2]=i.position,i.getdents&&0===n&&0===a&&(i.getdents=null),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall145:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return CA.doReadv(i,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall146:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return CA.doWritev(i,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall192:function(A,e){CA.varargs=e;try{var i,r=CA.get(),f=CA.get(),a=CA.get(),n=CA.get(),l=CA.get(),t=CA.get();t<<=12;var c=!1;if(-1===l){if(!(i=TA(16384,f)))return-sA.ENOMEM;jA(i,0,f),c=!0}else{var b=EA.getStream(l);if(!b)return-sA.EBADF;var s=EA.mmap(b,g,r,f,t,a,n);i=s.ptr,c=s.allocated}return CA.mappings[i]={malloc:i,len:f,allocated:c,fd:l,flags:n},i}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall195:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get();return CA.doStat(EA.stat,i,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall197:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get();return CA.doStat(EA.stat,i.path,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall20:function(A,e){CA.varargs=e;try{return 42}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall221:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD();switch(CA.get()){case 0:return(r=CA.get())<0?-sA.EINVAL:EA.open(i.path,i.flags,0,r).fd;case 1:case 2:case 13:case 14:case 13:case 14:return 0;case 3:return i.flags;case 4:var r=CA.get();return i.flags|=r,0;case 12:case 12:return r=CA.get(),E[r+0>>1]=2,0;case 16:case 8:default:return-sA.EINVAL;case 9:return wA(sA.EINVAL),-1}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall3:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return EA.read(i,v,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall33:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get();return CA.doAccess(i,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall5:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get(),f=CA.get();return EA.open(i,r,f).fd}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall54:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get();switch(r){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:return i.tty?0:-sA.ENOTTY;case 21519:if(!i.tty)return-sA.ENOTTY;var f=CA.get();return C[f>>2]=0,0;case 21520:return i.tty?-sA.EINVAL:-sA.ENOTTY;case 21531:return f=CA.get(),EA.ioctl(i,r,f);default:re("bad ioctl syscall "+r)}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall6:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD();return EA.close(i),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall91:function(A,e){CA.varargs=e;try{var i=CA.get(),r=CA.get(),f=CA.mappings[i];if(!f)return 0;if(r===f.len){var a=EA.getStream(f.fd);CA.doMsync(i,a,r,f.flags),EA.munmap(a),CA.mappings[i]=null,f.allocated&&UA(f.malloc)}return 0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___unlock:function(){},__exit:ZA,_clock_gettime:uA,_emscripten_asm_const_iii:function(A,e,i){return lA[A](e,i)},_emscripten_get_now:cA,_emscripten_get_now_is_monotonic:bA,_emscripten_memcpy_big:function(A,e,i){return g.set(g.subarray(e,e+i),A),A},_exit:function(A){ZA(A)},_getenv:function A(e){return 0===e?0:(e=d(e),mA.hasOwnProperty(e)?(A.ret&&UA(A.ret),A.ret=(r=F(i=mA[e])+1,(f=xA(r))&&D(i,v,f,r),f)):0);var i,r,f},_gettimeofday:function(A){var e=Date.now();return C[A>>2]=e/1e3|0,C[A+4>>2]=e%1e3*1e3|0,0},_llvm_ceil_f64:LA,_llvm_fabs_f32:WA,_llvm_fabs_f64:yA,_llvm_floor_f64:zA,_llvm_pow_f64:YA,_llvm_sqrt_f32:DA,_llvm_sqrt_f64:MA,_llvm_trap:function(){re("trap!")},_longjmp:function(e,i){throw A.setThrew(e,i||1),"longjmp"},_setenv:function(A,e,i){if(0===A)return wA(sA.EINVAL),-1;var r=d(A),f=d(e);return""===r||-1!==r.indexOf("=")?(wA(sA.EINVAL),-1):(mA.hasOwnProperty(r)&&!i||(mA[r]=f,QA(mA)),0)},_time:function(A){var e=Date.now()/1e3|0;return A&&(C[A>>2]=e),e},_times:function(A){return 0!==A&&jA(A,0,16),0},DYNAMICTOP_PTR:W,tempDoublePtr:tA,ABORT:u,STACKTOP:Q,STACK_MAX:m,cttz_i8:IA};var pA=function(A,e,i){"use asm";var r=new A.Int8Array(i);var f=new A.Int16Array(i);var a=new A.Int32Array(i);var n=new A.Uint8Array(i);var l=new A.Uint16Array(i);var t=new A.Uint32Array(i);var c=new A.Float32Array(i);var b=new A.Float64Array(i);var s=e.DYNAMICTOP_PTR|0;var w=e.tempDoublePtr|0;var u=e.ABORT|0;var k=e.STACKTOP|0;var o=e.STACK_MAX|0;var h=e.cttz_i8|0;var d=0;var B=0;var v=0;var g=0;var E=A.NaN,C=A.Infinity;var I=0,Z=0,G=0,Q=0,m=0.0;var L=0;var W=A.Math.floor;var y=A.Math.abs;var z=A.Math.sqrt;var Y=A.Math.pow;var D=A.Math.cos;var M=A.Math.sin;var F=A.Math.tan;var V=A.Math.acos;var J=A.Math.asin;var N=A.Math.atan;var X=A.Math.atan2;var R=A.Math.exp;var H=A.Math.log;var p=A.Math.ceil;var U=A.Math.imul;var x=A.Math.min;var T=A.Math.max;var j=A.Math.clz32;var S=e.abort;var P=e.assert;var O=e.enlargeMemory;var K=e.getTotalMemory;var _=e.abortOnCannotGrowMemory;var q=e.invoke_d;var $=e.invoke_dddd;var AA=e.invoke_di;var eA=e.invoke_i;var iA=e.invoke_ii;var rA=e.invoke_iii;var fA=e.invoke_iiidd;var aA=e.invoke_iiii;var nA=e.invoke_iiiii;var lA=e.invoke_iiiiii;var tA=e.invoke_iiiiiii;var cA=e.invoke_iiiiiiiiiii;var bA=e.invoke_v;var sA=e.invoke_vi;var wA=e.invoke_vii;var uA=e.invoke_viii;var kA=e.invoke_viiiddi;var oA=e.invoke_viiii;var hA=e.invoke_viiiii;var dA=e.invoke_viiiiii;var BA=e.invoke_viiiiiiiii;var vA=e.___assert_fail;var gA=e.___buildEnvironment;var EA=e.___clock_gettime;var CA=e.___lock;var IA=e.___map_file;var ZA=e.___setErrNo;var GA=e.___syscall10;var QA=e.___syscall140;var mA=e.___syscall145;var LA=e.___syscall146;var WA=e.___syscall192;var yA=e.___syscall195;var zA=e.___syscall197;var YA=e.___syscall20;var DA=e.___syscall221;var MA=e.___syscall3;var FA=e.___syscall33;var VA=e.___syscall5;var JA=e.___syscall54;var NA=e.___syscall6;var XA=e.___syscall91;var RA=e.___unlock;var HA=e.__exit;var pA=e._clock_gettime;var UA=e._emscripten_asm_const_iii;var xA=e._emscripten_get_now;var TA=e._emscripten_get_now_is_monotonic;var jA=e._emscripten_memcpy_big;var SA=e._exit;var PA=e._getenv;var OA=e._gettimeofday;var KA=e._llvm_ceil_f64;var _A=e._llvm_fabs_f32;var qA=e._llvm_fabs_f64;var $A=e._llvm_floor_f64;var Ae=e._llvm_pow_f64;var ee=e._llvm_sqrt_f32;var ie=e._llvm_sqrt_f64;var re=e._llvm_trap;var fe=e._longjmp;var ae=e._setenv;var ne=e._time;var le=e._times;var te=0.0;function ce(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0;Z=k;k=k+16|0;c=Z+8|0;I=4;C=m2(40)|0;a[C>>2]=0;h=Z;d=0;i=iA(29,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;A:do{if((n|0)!=1){d=0;E=iA(23,i<<3|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){i=W6(a[f>>2]|0,C|0,I|0)|0;if(!i)fe(f|0,B|0);L=B}else i=-1;if((i|0)!=1){if(!(r[194954]|0))v=0;else{d=0;i=eA(3)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=0;b=0;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74;break}v=i}d=0;i=rA(97,A|0,110064)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[47323]=0;e:do{if(i|0?(t=r[i>>0]|0,t<<24>>24):0){l=i;f=t;n=0;while(1){t=l+1|0;if(!(f<<24>>24))break e;switch(f<<24>>24|0){case 99:{i=8;g=16;break}case 105:{i=18;g=16;break}case 109:{i=1;g=16;break}case 114:{i=4;g=16;break}case 115:{i=2;g=16;break}default:i=n}if((g|0)==16){g=0;i=n|i;a[47323]=i}l=t;f=r[t>>0]|0;n=i}}}while(0);if(e|0){d=0;aA(20,0,110068,c|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=0;b=v;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74;break}}d=0;o=rA(98,A|0,0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){s=a[o+16>>2]|0;if(a[47323]&2|0){d=0;wA(26,a[15712]|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break}}d=0;n=iA(25,A|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){w=0;while(1){if(!n)break;d=0;i=rA(99,A|0,n|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}t=w;while(1){if(!i)break;if(!((a[47134]|0)==2?(a[(a[i+16>>2]|0)+8>>2]|0)!=0:0))g=32;e:do{if((g|0)==32){g=0;do{if(r[194954]|0){b=a[i>>2]&3;c=(a[a[((b|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;b=(a[a[((b|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if(c>>>0>b>>>0){d=0;f=aA(34,v|0,b|0,c|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){e=W6(a[l>>2]|0,C|0,I|0)|0;if(!e)fe(l|0,B|0);L=B}else e=-1;if((e|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}if(f|0)break e;d=0;uA(64,v|0,b|0,c|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}break}else{d=0;f=aA(34,v|0,c|0,b|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){e=W6(a[l>>2]|0,C|0,I|0)|0;if(!e)fe(l|0,B|0);L=B}else e=-1;if((e|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}if(f|0)break e;d=0;uA(64,v|0,c|0,b|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}break}}}while(0);a[E+(t<<3)+4>>2]=i;d=0;e=iA(30,i|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}a[E+(t<<3)>>2]=e;t=t+1|0}}while(0);d=0;i=rA(100,A|0,i|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}}d=0;n=rA(86,A|0,n|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}w=t}d=0;c=iA(31,w<<3|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){d=0;oA(28,E|0,w|0,8,101);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){n=a[s>>2]|0;d=0;sA(110,n+2|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){t=a[s+16>>2]|0;e=t+(n*40|0)|0;t=t+((n+1|0)*40|0)|0;u=a[15712]|0;l=0;while(1){if((l|0)>=(w|0))break;if((l|0)>0?a[47323]&16|0:0){d=0;wA(26,u|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}i=a[E+(l<<3)+4>>2]|0;b=a[i>>2]&3;n=a[(a[(a[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;i=a[(a[(a[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((n|0)==(i|0)){d=0;oA(29,s|0,n|0,t|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}else{d=0;uA(65,s|0,i|0,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}d=0;uA(65,s|0,n|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}d=0;i=aA(35,s|0,t|0,e|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}if(i|0){b=v;s=c;t=o;e=E;l=E;break A}i=c+(l<<3)|0;d=0;oA(30,h|0,s|0,e|0,t|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}n=h;b=a[n+4>>2]|0;a[i>>2]=a[n>>2];a[i+4>>2]=b;d=0;sA(111,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}l=l+1|0}d=0;bA(8);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){d=0;i=iA(32,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[o+20>>2]=i;d=0;i=iA(33,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[o+24>>2]=i;d=0;uA(66,w|0,c|0,o|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){C=L6(189296,1,C|0,I|0)|0;I=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){b=v;s=c;t=o;e=E;l=E;i=0;n=u;g=74}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=0;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=0;g=74}}else{b=v;s=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=0;s=0;c=0;t=0;e=0;l=E;i=L;n=0;g=74}}else{w=0;b=0;s=0;c=0;t=0;e=0;l=0;i=L;n=0;g=74}}while(0);A:while(1){if((g|0)==74){g=0;if(i|0){u=n;continue}d=0;sA(112,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){G=n;f=l;u=e;o=t;h=c;v=s;E=b;g=w;i=L;n=G;l=f;e=u;t=o;c=h;s=v;b=E;w=g;g=74;continue}if(a[47323]&4|0){d=0;hA(8,n|0,t|0,w|0,s|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){f=n;u=l;o=e;h=t;v=c;E=s;G=b;g=w;i=L;n=f;l=u;e=o;t=h;c=v;s=E;b=G;w=g;g=74;continue}}d=0;dA(10,A|0,t|0,w|0,s|0,e|0,0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){f=n;u=l;o=e;h=t;v=c;E=s;G=b;g=w;i=L;n=f;l=u;e=o;t=h;c=v;s=E;b=G;w=g;g=74;continue}u=n}if(!(r[194954]|0))i=0;else{d=0;sA(113,b|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}i=0}while(1){if((i|0)>=(w|0))break;d=0;sA(105,a[s+(i<<3)+4>>2]|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;n=u;g=74;continue A}i=i+1|0}d=0;sA(105,c|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}d=0;sA(114,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}d=0;sA(105,l|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74}else break}L2(C|0);k=Z;return}function be(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+64|0;o=h+32|0;u=h+16|0;t=h;c=h+48|0;m3(110935,A)|0;m3(110946,A)|0;s=e+16|0;w=t+8|0;l=c+4|0;n=0;while(1){if((n|0)>=(a[e>>2]|0))break;i=a[s>>2]|0;r=a[i+(n*40|0)+20>>2]|0;f=a[i+(n*40|0)+24>>2]|0;if((r|0)==(f|0)){ri(t,r);i=~~+b[t>>3];r=~~+b[w>>3]}else{ai(c,(a[r>>2]&1|0)==0?r:f,i+(n*40|0)|0);i=a[c>>2]|0;r=a[l>>2]|0}a[u>>2]=n;a[u+4>>2]=i;a[u+8>>2]=r;f3(A,110966,u)|0;n=n+1|0}f=e+4|0;r=e+20|0;i=0;while(1){if((i|0)>=(a[f>>2]|0))break;u=a[r>>2]|0;e=a[u+(i*24|0)+16>>2]|0;d=+b[u+(i*24|0)>>3];a[o>>2]=a[u+(i*24|0)+12>>2];a[o+4>>2]=e;b[o+8>>3]=d;f3(A,110986,o)|0;i=i+1|0}m3(111008,A)|0;k=h;return}function se(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;f=a[A>>2]&3;r=a[(a[((f|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;A=a[(a[((f|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;e=+b[r+16>>3]-+b[A+16>>3];i=+b[r+24>>3]-+b[A+24>>3];return~~(i*i+e*e)|0}function we(A,e){A=A|0;e=e|0;return(a[A>>2]|0)-(a[e>>2]|0)|0}function ue(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+32|0;c=w;ri(w+16|0,e);b=e+32|0;s=e+36|0;n=0;while(1){if((n|0)>=(a[b>>2]|0))break;l=a[(a[s>>2]|0)+(n<<2)>>2]|0;do{if(!(r[l+36>>0]|0)){t=a[l+20>>2]|0;if((t|0)==(e|0)){ei(c,l,a[l+24>>2]|0);Ci(A,f,l,0.0)|0;break}else{ei(c,l,t);Ci(A,i,l,0.0)|0;break}}}while(0);n=n+1|0}a[A>>2]=(a[A>>2]|0)+2;k=w;return}function ke(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;l=b;ri(b+16|0,e);t=e+32|0;c=e+36|0;f=0;while(1){if((f|0)>=(a[t>>2]|0))break;n=a[(a[c>>2]|0)+(f<<2)>>2]|0;r=a[n+20>>2]|0;if((r|0)==(e|0))r=a[n+24>>2]|0;ei(l,n,r);Ci(A,i,n,0.0)|0;f=f+1|0}a[A>>2]=(a[A>>2]|0)+1;a[i+24>>2]=e;a[i+20>>2]=e;k=b;return}function oe(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+128|0;L=D+64|0;w=D+48|0;W=D+32|0;y=D+16|0;z=D;n=0;l=i;while(1){if(!l)break;n=n+1|0;l=a[l+8>>2]|0}m=qF((n*56|0)+-112|0)|0;a[L+52>>2]=0;a[L+48>>2]=0;Q=i+8|0;i=a[Q>>2]|0;l=a[i+8>>2]|0;n=a[i+20>>2]|0;if(a[n>>2]&1)n=a[i+24>>2]|0;ei(w,i,n);t=i;h=i;o=0.0;u=+b[w>>3];G=0;s=0.0;I=+b[w+8>>3];while(1){Z=l+8|0;if(!(a[Z>>2]|0))break;E=ii(t,l)|0;Oa(e,E,a[h+12>>2]|0);v=h+36|0;g=l+36|0;if((r[v>>0]|0)==(r[g>>0]|0))if((a[Z>>2]|0)==(f|0)){ei(y,l,E);i=y;Y=12}else{t=h;i=G;c=I}else{ri(W,E);i=W;Y=12}if((Y|0)==12){Y=0;C=+b[i>>3];c=+b[i+8>>3];i=r[v>>0]|0;B=i<<24>>24==0;d=(h|0)==(a[Q>>2]|0);if(B){if(!(r[g>>0]|0))i=0;else i=(a[l+20>>2]|0)==(E|0)?4:2;w=E+48|0;h=n+48|0;t=n+40|0;n=d?0:o>u?4:2}else{if(i<<24>>24==(r[g>>0]|0))i=0;else i=(a[l+20>>2]|0)==(E|0)?1:3;w=E+40|0;h=n+40|0;t=n+48|0;n=d?0:s>I?1:3}fi(L,B&1,+b[t>>3],+b[h>>3],+b[w>>3],n,i);h=G+1|0;n=m+(G*56|0)|0;i=L;t=n+56|0;do{a[n>>2]=a[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(t|0));if((r[v>>0]|0)!=(r[g>>0]|0)?(a[Z>>2]|0)==(f|0):0){ei(z,l,E);w=(r[g>>0]|0)==0;i=E+40|0;n=E+48|0;o=+b[(w?n:i)>>3];fi(L,w&1,+b[(w?i:n)>>3],o,o,w?u>C?4:2:I>c?1:3,0);w=G+2|0;n=m+(h*56|0)|0;i=L;t=n+56|0;do{a[n>>2]=a[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(t|0));n=E;t=l;o=u;u=C;i=w;s=I}else{n=E;t=l;o=u;u=C;i=h;s=I}}E=l;l=a[Z>>2]|0;h=t;G=i;I=c;t=E}l=y2(m,G*56|0)|0;i=G+-1|0;n=0;while(1){if((n|0)>=(G|0))break;if((n|0)>0)a[l+(n*56|0)+48>>2]=l+((n+-1|0)*56|0);if((n|0)<(i|0)){Y=n+1|0;a[l+(n*56|0)+52>>2]=l+(Y*56|0);n=Y;continue}else{n=n+1|0;continue}}a[A>>2]=G;a[A+4>>2]=l;k=D;return}function he(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=jk(25692,a[4581]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(a[A>>2]|0))break;e=(a[c>>2]|0)+(l*72|0)|0;if(!(a[e>>2]&4)){while(1){i=a[(a[e+36>>2]|0)+8>>2]|0;if(!i)break;i=a[i+20>>2]|0;if(!i)break;if(!(a[i>>2]&1))e=i;else break}n=qF(40)|0;a[n+36>>2]=e;b[n+8>>3]=+b[e+40>>3];f=e;i=a[e>>2]|0;while(1){a[f>>2]=i|4;i=a[a[f+36>>2]>>2]|0;if(!i)break;r=a[i+24>>2]|0;if(!r)break;i=a[r>>2]|0;if(i&1|0)break;else f=r}b[n+16>>3]=+b[f+56>>3];Ke(t,n,+b[e+48>>3])}l=l+1|0}return t|0}function de(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=jk(25692,a[4581]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(a[A>>2]|0))break;e=(a[c>>2]|0)+(l*72|0)|0;if(!(a[e>>2]&2)){while(1){i=a[(a[e+36>>2]|0)+12>>2]|0;if(!i)break;i=a[i+20>>2]|0;if(!i)break;if(!(a[i>>2]&1))e=i;else break}n=qF(40)|0;a[n+36>>2]=e;b[n+8>>3]=+b[e+48>>3];f=e;i=a[e>>2]|0;while(1){a[f>>2]=i|2;i=a[(a[f+36>>2]|0)+4>>2]|0;if(!i)break;r=a[i+24>>2]|0;if(!r)break;i=a[r>>2]|0;if(i&1|0)break;else f=r}b[n+16>>3]=+b[f+64>>3];Ke(t,n,+b[e+40>>3])}l=l+1|0}return t|0}function Be(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=i+20|0;t=i+24|0;i=0;while(1){if((i|0)>=(A|0))break;n=a[e+(i<<3)>>2]|0;l=a[e+(i<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(n|0))break;b=l+(f*56|0)|0;Oe(me(a[((r[b>>0]|0)==0?c:t)>>2]|0,b)|0,b);f=f+1|0}i=i+1|0}return}function ve(A){A=A|0;var e=0,i=0;i=A+20|0;We(a[i>>2]|0);e=A+24|0;We(a[e>>2]|0);ye(a[i>>2]|0);ye(a[e>>2]|0);ze(a[i>>2]|0,A);ze(a[e>>2]|0,A);Ye(a[i>>2]|0);Ye(a[e>>2]|0);return}function ge(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0.0,W=0,y=0.0;G=k;k=k+224|0;w=G+176|0;s=G+208|0;I=G+160|0;Z=G+128|0;c=G+96|0;v=G+64|0;g=G;u=G+32|0;E=g+8|0;b[E>>3]=1797693134862315708145274.0e284;b[g>>3]=1797693134862315708145274.0e284;C=g+24|0;b[C>>3]=-1797693134862315708145274.0e284;o=g+16|0;b[o>>3]=-1797693134862315708145274.0e284;m3(110183,A)|0;a[w>>2]=10;a[w+4>>2]=10;f3(A,110589,w)|0;m3(138265,A)|0;l=e+4|0;t=e+12|0;h=v+8|0;d=v+16|0;B=v+24|0;n=0;while(1){if((n|0)>=(a[l>>2]|0))break;W=(a[t>>2]|0)+(n*72|0)+40|0;a[v>>2]=a[W>>2];a[v+4>>2]=a[W+4>>2];a[v+8>>2]=a[W+8>>2];a[v+12>>2]=a[W+12>>2];a[v+16>>2]=a[W+16>>2];a[v+20>>2]=a[W+20>>2];a[v+24>>2]=a[W+24>>2];a[v+28>>2]=a[W+28>>2];L=+b[h>>3];m=+b[d>>3];Q=+b[B>>3];b[c>>3]=+b[v>>3];b[c+8>>3]=L;b[c+16>>3]=m;b[c+24>>3]=Q;f3(A,138284,c)|0;n=n+1|0}n=0;while(1){if((n|0)>=(i|0))break;W=a[f+(n<<3)+4>>2]|0;c=r+(n<<3)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[w>>2]=a[g>>2];a[w+4>>2]=a[g+4>>2];a[w+8>>2]=a[g+8>>2];a[w+12>>2]=a[g+12>>2];a[w+16>>2]=a[g+16>>2];a[w+20>>2]=a[g+20>>2];a[w+24>>2]=a[g+24>>2];a[w+28>>2]=a[g+28>>2];Le(u,A,W,s,e,w);a[g>>2]=a[u>>2];a[g+4>>2]=a[u+4>>2];a[g+8>>2]=a[u+8>>2];a[g+12>>2]=a[u+12>>2];a[g+16>>2]=a[u+16>>2];a[g+20>>2]=a[u+20>>2];a[g+24>>2]=a[u+24>>2];a[g+28>>2]=a[u+28>>2];n=n+1|0}m3(110606,A)|0;l=e+8|0;n=0;while(1){if((n|0)>=(a[e>>2]|0))break;W=(a[l>>2]|0)+(n*72|0)+40|0;a[v>>2]=a[W>>2];a[v+4>>2]=a[W+4>>2];a[v+8>>2]=a[W+8>>2];a[v+12>>2]=a[W+12>>2];a[v+16>>2]=a[W+16>>2];a[v+20>>2]=a[W+20>>2];a[v+24>>2]=a[W+24>>2];a[v+28>>2]=a[W+28>>2];y=+b[v>>3];Q=+b[h>>3];m=+b[d>>3];L=+b[B>>3];b[Z>>3]=y;b[Z+8>>3]=Q;b[Z+16>>3]=m;b[Z+24>>3]=L;f3(A,138321,Z)|0;b[g>>3]=+b[(+b[g>>3]>3];b[E>>3]=+b[(+b[E>>3]>3];b[o>>3]=+b[(+b[o>>3]>m?g:v)+16>>3];b[C>>3]=+b[(+b[C>>3]>L?g:v)+24>>3];n=n+1|0}E=~~(+b[E>>3]+10.0);Z=~~(+b[o>>3]+10.0);W=~~(+b[C>>3]+10.0);a[I>>2]=~~(+b[g>>3]+10.0);a[I+4>>2]=E;a[I+8>>2]=Z;a[I+12>>2]=W;f3(A,110631,I)|0;k=G;return}function Ee(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;X=k;k=k+112|0;z=X+88|0;y=X+72|0;N=X+32|0;M=X+16|0;F=X;V=X+56|0;J=X+40|0;Y=a[15712]|0;C=(l|0)==0;I=F+8|0;Z=M+8|0;E=0;s=0;w=0;u=0;o=0;l=0;while(1){if((E|0)>=(i|0))break;G=a[n+(E<<3)+4>>2]|0;Q=G+48|0;g=(a[(a[((a[G>>2]&3|0)==3?G:Q)+40>>2]|0)+16>>2]|0)+16|0;m=G+16|0;L=(a[m>>2]|0)+16|0;a[y>>2]=a[g>>2];a[y+4>>2]=a[g+4>>2];a[y+8>>2]=a[g+8>>2];a[y+12>>2]=a[g+12>>2];a[z>>2]=a[L>>2];a[z+4>>2]=a[L+4>>2];a[z+8>>2]=a[L+8>>2];a[z+12>>2]=a[L+12>>2];Ce(V,y,z);a[M>>2]=a[V>>2];a[M+4>>2]=a[V+4>>2];a[M+8>>2]=a[V+8>>2];a[M+12>>2]=a[V+12>>2];L=G+-48|0;g=(a[(a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0)+16>>2]|0)+16|0;v=(a[m>>2]|0)+56|0;a[y>>2]=a[g>>2];a[y+4>>2]=a[g+4>>2];a[y+8>>2]=a[g+8>>2];a[y+12>>2]=a[g+12>>2];a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];Ce(J,y,z);a[F>>2]=a[J>>2];a[F+4>>2]=a[J+4>>2];a[F+8>>2]=a[J+8>>2];a[F+12>>2]=a[J+12>>2];v=a[f+(E<<3)>>2]|0;g=a[f+(E<<3)+4>>2]|0;B=v*3|0;W=B+1|0;if((B|0)>=(w|0)){if(s|0)L2(l);o=$F(W<<4)|0;s=o;w=W;u=o;l=o}if(!(r[g>>0]|0)){c=+(Ze(g,e)|0);t=+b[M>>3]}else{t=+Ie(g,e);c=+b[Z>>3]}d=s+16|0;b[s+16>>3]=t;b[s+24>>3]=c;a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];d=1;h=g;B=2;while(1){if((d|0)>=(v|0))break;h=g+(d*56|0)|0;if(!(r[h>>0]|0))c=+(Ze(h,e)|0);else t=+Ie(h,e);R=s+(B+2<<4)|0;p=s+(B+1<<4)|0;H=s+(B<<4)|0;b[H>>3]=t;b[s+(B<<4)+8>>3]=c;a[p>>2]=a[H>>2];a[p+4>>2]=a[H+4>>2];a[p+8>>2]=a[H+8>>2];a[p+12>>2]=a[H+12>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];d=d+1|0;B=B+3|0}if(!(r[h>>0]|0)){c=+(Ze(h,e)|0);t=+b[F>>3]}else{t=+Ie(h,e);c=+b[I>>3]}p=s+(B<<4)|0;R=B+1|0;H=s+(R<<4)|0;b[H>>3]=t;b[s+(R<<4)+8>>3]=c;a[p>>2]=a[H>>2];a[p+4>>2]=a[H+4>>2];a[p+8>>2]=a[H+8>>2];a[p+12>>2]=a[H+12>>2];if(0>1){H=Vh(a[((a[G>>2]&3|0)==3?G:Q)+40>>2]|0)|0;p=Vh(a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0)|0;a[N>>2]=H;a[N+4>>2]=p;f3(Y,110142,N)|0}gX(G,a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0,s,W,25680);if((!C?(D=a[(a[m>>2]|0)+96>>2]|0,D|0):0)?(r[D+81>>0]|0)==0:0){a[y>>2]=a[M>>2];a[y+4>>2]=a[M+4>>2];a[y+8>>2]=a[M+8>>2];a[y+12>>2]=a[M+12>>2];a[z>>2]=a[F>>2];a[z+4>>2]=a[F+4>>2];a[z+8>>2]=a[F+8>>2];a[z+12>>2]=a[F+12>>2];HX(A,G,y,z)}E=E+1|0}L2(u);k=X;return}function Ce(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]+ +b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]+ +b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Ie(A,e){A=A|0;e=e|0;var i=0.0,r=0;e=me(a[e+24>>2]|0,A)|0;r=a[e+36>>2]|0;i=+b[r+40>>3];return+((+b[r+56>>3]-i)*(+(a[A+44>>2]|0)/+((a[e+24>>2]|0)+1|0))+i)}function Ze(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=me(a[e+20>>2]|0,A)|0;e=a[r+36>>2]|0;i=+b[e+48>>3];return~~((1.0-+(a[A+44>>2]|0)/+((a[r+24>>2]|0)+1|0))*(+b[e+64>>3]-i)+i)|0}function Ge(A){A=A|0;return 0}function Qe(A){A=A|0;return 0}function me(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e+8|0,512)|0;if(!A)vA(110155,110161,423,110169);A=a[A+16>>2]|0;A=W5[a[A>>2]&63](A,e+16|0,512)|0;if(!A)vA(110180,110161,425,110169);else return A|0;return 0}function Le(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0.0,s=0,w=0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0.0;G=k;k=k+32|0;Z=G+16|0;g=G+8|0;s=G;t=a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;v=a[f+4>>2]|0;if(!(r[v>>0]|0)){c=+b[t+56>>3];B=+b[t+40>>3];t=Ze(v,n)|0;c=(B+c)*.5}else{c=+b[t+64>>3];B=+b[t+48>>3];t=~~((B+c)*.5);c=+Ie(v,n)}Q=~~c;o=+b[l>>3];d=+(Q|0);o=o>3]=o;E=l+8|0;h=+b[E>>3];B=+(t|0);h=h>3]=h;C=l+16|0;c=+b[C>>3];d=c>d?c:d;b[C>>3]=d;I=l+24|0;c=+b[I>>3];B=c>B?c:B;b[I>>3]=B;a[s>>2]=Q;a[s+4>>2]=t;f3(e,110682,s)|0;u=a[f>>2]|0;s=v;w=1;f=Q;while(1){if((w|0)>=(u|0))break;s=v+(w*56|0)|0;if(!(r[s>>0]|0))t=Ze(s,n)|0;else f=~~+Ie(s,n);m=+(f|0);W=o>3]=W;c=+(t|0);L=h>3]=L;m=d>m?d:m;b[C>>3]=m;c=B>c?B:c;b[I>>3]=c;a[g>>2]=f;a[g+4>>2]=t;f3(e,110704,g)|0;w=w+1|0;o=W;h=L;d=m;B=c}t=a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(r[s>>0]|0)){c=+b[t+56>>3];W=+b[t+40>>3];t=Ze(s,n)|0;c=(W+c)*.5}else{c=+b[t+64>>3];W=+b[t+48>>3];t=~~((W+c)*.5);c=+Ie(s,n)}Q=~~c;L=+(Q|0);b[l>>3]=o>3]=h>3]=d>L?d:L;b[I>>3]=B>W?B:W;a[Z>>2]=Q;a[Z+4>>2]=t;f3(e,110718,Z)|0;a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];a[A+12>>2]=a[l+12>>2];a[A+16>>2]=a[l+16>>2];a[A+20>>2]=a[l+20>>2];a[A+24>>2]=a[l+24>>2];a[A+28>>2]=a[l+28>>2];k=G;return}function We(A){A=A|0;var e=0;A=xk(A)|0;while(1){if(!A)break;e=xk(a[A+16>>2]|0)|0;while(1){if(!e)break;a[e+32>>2]=ni(a[e+24>>2]|0)|0;e=a[e>>2]|0}A=a[A>>2]|0}return}function ye(A){A=A|0;var e=0;A=xk(A)|0;while(1){if(!A)break;e=xk(a[A+16>>2]|0)|0;while(1){if(!e)break;if(a[e+24>>2]|0)Pe(e);e=a[e>>2]|0}A=a[A>>2]|0}return}function ze(A,e){A=A|0;e=e|0;var i=0;i=xk(A)|0;while(1){if(!i)break;A=xk(a[i+16>>2]|0)|0;while(1){if(!A)break;Ve(A,e);A=a[A>>2]|0}i=a[i>>2]|0}return}function Ye(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=xk(A)|0;while(1){if(!r)break;l=r+8|0;f=xk(a[r+16>>2]|0)|0;while(1){if(!f)break;A=f+24|0;A:do{if(a[A>>2]|0){if(a[47323]&8|0)De(f,~~+b[l>>3]);n=f+32|0;si(a[n>>2]|0);e=a[A>>2]|0;i=f+28|0;A=0;while(1){if((A|0)>=(e|0))break A;a[(a[(a[i>>2]|0)+(A<<2)>>2]|0)+44>>2]=(a[(a[(a[n>>2]|0)+4>>2]|0)+(A*12|0)+4>>2]|0)+1;A=A+1|0}}}while(0);f=a[f>>2]|0}r=a[r>>2]|0}return}function De(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+32|0;i=t;n=A+24|0;A:do{if((a[n>>2]|0)>=2){l=a[15712]|0;s=+b[A+8>>3];c=+b[A+16>>3];a[i>>2]=e;b[i+8>>3]=s;b[i+16>>3]=c;f3(l,110739,i)|0;f=A+32|0;A=A+28|0;e=0;while(1){if((e|0)>=(a[n>>2]|0))break A;r=a[(a[(a[f>>2]|0)+4>>2]|0)+(e*12|0)+8>>2]|0;e:do{if(Pk(r)|0){Me(l,a[(a[A>>2]|0)+(e<<2)>>2]|0);m3(110759,l)|0;i=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!i)break e;m3(110764,l)|0;Me(l,a[(a[A>>2]|0)+(a[i>>2]<<2)>>2]|0);m3(153599,l)|0;i=W5[a[r>>2]&63](r,i,8)|0}}}while(0);e=e+1|0}}}while(0);k=t;return}function Me(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0;n=k;k=k+80|0;f=n+40|0;i=n;if(!(r[e>>0]|0)){s=+b[e+16>>3];t=+b[e+8>>3];c=+b[e+24>>3];l=Fe(a[e+32>>2]|0)|0;i=Fe(a[e+36>>2]|0)|0;b[f>>3]=s;b[f+8>>3]=t;b[f+16>>3]=c;b[f+24>>3]=t;a[f+32>>2]=l;a[f+36>>2]=i;f3(A,110770,f)|0}else{c=+b[e+8>>3];t=+b[e+16>>3];s=+b[e+24>>3];f=Fe(a[e+32>>2]|0)|0;l=Fe(a[e+36>>2]|0)|0;b[i>>3]=c;b[i+8>>3]=t;b[i+16>>3]=c;b[i+24>>3]=s;a[i+32>>2]=f;a[i+36>>2]=l;f3(A,110770,i)|0}k=n;return}function Fe(A){A=A|0;switch(A|0){case 0:{A=110821;break}case 1:{A=110816;break}case 2:{A=110809;break}case 3:{A=110802;break}case 4:{A=110794;break}default:A=0}return A|0}function Ve(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+16|0;d=C+8|0;v=C;g=a[A+32>>2]|0;E=a[A+28>>2]|0;o=A+24|0;s=d+4|0;w=v+4|0;t=0;A=a[o>>2]|0;A:while(1){h=t+1|0;if((h|0)>=(A|0))break;u=E+(t<<2)|0;c=h;while(1){if((c|0)>=(A|0)){t=h;continue A}e:do{if(((bi(g,t,c)|0)==0?(bi(g,c,t)|0)==0:0)?(B=E+(c<<2)|0,Je(a[u>>2]|0,a[B>>2]|0)|0):0){f=a[u>>2]|0;A=a[f+48>>2]|0;l=a[B>>2]|0;i=a[l+48>>2]|0;r=(i|0)==0;if(A)if(r)A=1;else A=+b[A+8>>3]!=+b[i+8>>3];else A=r^1;n=A&1;Ne(d,f,l,0,n);A=a[d>>2]|0;l=a[s>>2]|0;f=n^1;Ne(v,a[u>>2]|0,a[B>>2]|0,1,f);i=a[v>>2]|0;r=a[w>>2]|0;switch(l|0){case-1:{Xe(a[B>>2]|0,a[u>>2]|0,n,0,A,e);Xe(a[B>>2]|0,a[u>>2]|0,f,1,i,e);if((r|0)!=1)break e;Re(a[u>>2]|0,a[B>>2]|0,f,e);break e}case 0:switch(r|0){case-1:{Xe(a[B>>2]|0,a[u>>2]|0,n,0,A,e);Xe(a[B>>2]|0,a[u>>2]|0,f,1,i,e);break e}case 0:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);break e}case 1:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);break e}default:break e}case 1:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);if((r|0)!=-1)break e;Re(a[u>>2]|0,a[B>>2]|0,f,e);break e}default:break e}}}while(0);c=c+1|0;A=a[o>>2]|0}}k=C;return}function Je(A,e){A=A|0;e=e|0;if(!(+b[A+8>>3]==+b[e+8>>3]))vA(110892,110161,843,110923);if((+b[A+16>>3]==+b[e+16>>3]?+b[A+24>>3]==+b[e+24>>3]:0)?(a[A+32>>2]|0)==(a[e+32>>2]|0):0)A=(a[A+36>>2]|0)==(a[e+36>>2]|0)&1;else A=0;return A|0}function Ne(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;n=0;while(1){e=He(e,r)|0;if(!e){l=0;break}i=He(i,f)|0;if(!i){t=6;break}if(!(Je(e,i)|0)){t=7;break}n=n+1|0}if((t|0)==6)vA(138394,110161,871,110841);else if((t|0)==7)l=Ue(e,pe(e,i)|0,n+1|0,1-r|0)|0;a[A>>2]=n;a[A+4>>2]=l;return}function Xe(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,k=0,o=0;k=l+20|0;u=l+24|0;l=me(a[((r[A>>0]|0)==0?k:u)>>2]|0,A)|0;ti(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0);c=1;while(1){if((c|0)>(n|0))break;s=He(A,i)|0;w=He(e,f)|0;do{if(!(r[A>>0]|0)){t=me(a[u>>2]|0,s)|0;if(+b[s+8>>3]==+b[A+16>>3]){o=(a[A+32>>2]|0)==1;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}}else{o=(a[A+36>>2]|0)==1;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}}}else{t=me(a[k>>2]|0,s)|0;if(+b[s+8>>3]==+b[A+16>>3]){o=(a[A+32>>2]|0)==2;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}}else{o=(a[A+36>>2]|0)==2;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}}}}while(0);A=s;e=w;c=c+1|0}return}function Re(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0;while(1){if(!(Je(A,e)|0))break;n=He(A,1)|0;e=He(e,i)|0;A=n}n=a[(me(a[((r[A>>0]|0)==0?f+20|0:f+24|0)>>2]|0,A)|0)+32>>2]|0;ci(n,a[A+40>>2]|0,a[e+40>>2]|0);return}function He(A,e){A=A|0;e=e|0;if(!A)vA(110828,110161,798,110832);else return a[((e|0)==0?A+48|0:A+52|0)>>2]|0;return 0}function pe(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=k;k=k+16|0;f=a;i=r[A>>0]|0;if(i<<24>>24==(r[e>>0]|0)?!(+b[A+8>>3]!=+b[e+8>>3]):0){if(!(i<<24>>24))A=xe(A,e,3,1)|0;else A=xe(A,e,4,2)|0;k=a;return A|0}ao(1,110854,f)|0;fe(189296,1);return 0}function Ue(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;t=1;while(1){if((t|0)>(i|0))break;l=He(A,f)|0;n=+b[l+8>>3]==+b[A+16>>3];do{if(!(r[A>>0]|0))if(n){n=(a[A+32>>2]|0)==1;break}else{n=(a[A+36>>2]|0)==3;break}else if(n){n=(a[A+32>>2]|0)==4;break}else{n=(a[A+36>>2]|0)==2;break}}while(0);A=l;t=t+1|0;e=n?0-e|0:e}return e|0}function xe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,k=0;t=+b[A+24>>3];c=+b[e+16>>3];do{if(!(t>3],l=+b[e+24>>3],!(n>l)):0){if(c>2]|0;return((i|0)==(a[e+32>>2]|0)?0:(i|0)==(r|0)?1:-1)|0}else{i=a[A+32>>2]|0;e=(i|0)==(a[e+36>>2]|0)?0:(i|0)==(r|0)?1:-1;break}if(!(t==l))if(t>2]|0)==(i|0);i=Se(a[e+32>>2]|0,a[A+32>>2]|0,i,r)|0;return(k?i:0-i|0)|0}else{k=(a[e+36>>2]|0)==(r|0);e=Se(a[A+32>>2]|0,a[e+32>>2]|0,i,r)|0;e=k?e:0-e|0;break}k=a[A+32>>2]|0;u=a[e+32>>2]|0;if((k|0)==(u|0)){e=a[e+36>>2]|0;if((a[A+36>>2]|0)==(e|0)){e=0;break}}else e=a[e+36>>2]|0;w=(u|0)==(i|0);if((u|0)==(e|0)){if(w){e=1;break}if((u|0)==(r|0)){e=-1;break}if((k|0)!=(i|0)?(a[A+36>>2]|0)!=(i|0):0){e=1;break}if((k|0)!=(r|0)?(a[A+36>>2]|0)!=(r|0):0){e=-1;break}e=0;break}f=(e|0)==(r|0);if(w&f){e=(a[A+36>>2]|0)==(r|0);if((k|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}s=(e|0)==(i|0);if((u|0)==(r|0)&s){e=(k|0)==(r|0);if((a[A+36>>2]|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}if(!u){if(s){e=je(k,a[A+36>>2]|0,i)|0;break}if(f){e=0-(je(k,a[A+36>>2]|0,r)|0)|0;break}}f=a[A+36>>2]|0;if(w&(e|0)==0){e=je(f,k,i)|0;break}else{e=0-(je(f,k,r)|0)|0;break}}else e=0}while(0);return e|0}function Te(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0;l=+b[A+24>>3];t=+b[e+24>>3];do{if(l>2]|0;if((A|0)==(i|0)?(a[e+32>>2]|0)==(r|0):0){A=-1;break}if((A|0)==(r|0)?(a[e+32>>2]|0)==(i|0):0){A=1;break}A=0}else{f=a[e+32>>2]|0;n=(f|0)==(r|0);if(l==t)if(n){A=Se(a[A+36>>2]|0,a[e+36>>2]|0,i,r)|0;break}else{A=0-(Se(a[e+36>>2]|0,a[A+36>>2]|0,i,r)|0)|0;break}if(n?(a[e+36>>2]|0)==(r|0):0){A=-1;break}if((f|0)==(i|0)?(a[e+36>>2]|0)==(i|0):0){A=1;break}A=0}}while(0);return A|0}function je(A,e,i){A=A|0;e=e|0;i=i|0;return((A|0)==(i|0)?((e|0)==(i|0))<<31>>31:1)|0}function Se(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((A|0)==(r|0)){e=(A|0)==0;if(e)return 0;else e=e&1}return((A|0)!=0|(e|0)!=(i|0))<<31>>31|0}function Pe(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;n=a[A+28>>2]|0;l=a[A+24>>2]|0;i=a[A+32>>2]|0;A=0;A:while(1){r=A+1|0;if((r|0)>=(l|0))break;f=n+(A<<2)|0;e=r;while(1){if((e|0)==(l|0)){A=r;continue A}switch(pe(a[f>>2]|0,a[n+(e<<2)>>2]|0)|0){case 1:{ti(i,A,e);break}case-1:{ti(i,e,A);break}default:{}}e=e+1|0}}return}function Oe(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+24|0;r=a[f>>2]|0;i=r+1|0;a[f>>2]=i;a[e+40>>2]=r;r=A+28|0;A=a[r>>2]|0;if(!A)A=$F(i<<2)|0;else A=eV(A,i<<2)|0;a[r>>2]=A;a[A+((a[f>>2]|0)+-1<<2)>>2]=e;return}function Ke(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;b[f>>3]=i;r=W5[a[A>>2]&63](A,f,512)|0;if(!r){r=qF(24)|0;b[r+8>>3]=+b[f>>3];a[r+16>>2]=jk(25728,a[4581]|0)|0;W5[a[A>>2]&63](A,r,1)|0}f=a[r+16>>2]|0;W5[a[f>>2]&63](f,e,1)|0;k=n;return}function _e(A,e,i){A=A|0;e=e|0;i=i|0;li(a[e+32>>2]|0);L2(a[e+28>>2]|0);L2(e);return}function qe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e>>3];a=+b[i>>3];if(!(f>a))if(f>3]>=+b[i+8>>3])<<31>>31;else A=0;else A=!(+b[e+8>>3]<=+b[i+8>>3])&1;return A|0}function $e(A,e,i){A=A|0;e=e|0;i=i|0;pk(a[e+16>>2]|0)|0;L2(e);return}function Ai(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;a=+b[e>>3];f=+b[i>>3];return(a>f?1:(a>31)|0}function ei(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0,t=0;l=(r[e+36>>0]|0)!=0;t=i+40|0;do{if((a[e+24>>2]|0)==(i|0)){f=+b[t>>3];if(l){n=(+b[i+64>>3]+ +b[i+48>>3])*.5;break}else{n=+b[i+48>>3];f=(+b[i+56>>3]+f)*.5;break}}else if(l){n=(+b[i+64>>3]+ +b[i+48>>3])*.5;f=+b[i+56>>3];break}else{n=+b[i+64>>3];f=(+b[i+56>>3]+ +b[t>>3])*.5;break}}while(0);b[A>>3]=f;b[A+8>>3]=n;return}function ii(A,e){A=A|0;e=e|0;var i=0;i=a[A+20>>2]|0;if((i|0)!=(a[e+20>>2]|0)?(i|0)!=(a[e+24>>2]|0):0)i=a[A+24>>2]|0;return i|0}function ri(A,e){A=A|0;e=e|0;var i=0.0;i=(+b[e+64>>3]+ +b[e+48>>3])*.5;b[A>>3]=(+b[e+56>>3]+ +b[e+40>>3])*.5;b[A+8>>3]=i;return}function fi(A,e,i,f,n,l,t){A=A|0;e=e|0;i=+i;f=+f;n=+n;l=l|0;t=t|0;var c=0,s=0;r[A>>0]=e;b[A+8>>3]=i;if(f>3]=f;b[A+16>>3]=i;a[A+36>>2]=e;a[A+32>>2]=s;r[A+1>>0]=c;return}function ai(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=a[e+36>>2]|0;do{if((a[r+4>>2]|0)!=(i|0)){if((a[r+12>>2]|0)==(i|0)){r=~~((+b[e+56>>3]+ +b[e+40>>3])*.5);i=~~+b[e+48>>3];break}if((a[r+8>>2]|0)==(i|0)){r=~~+b[e+40>>3];i=~~((+b[e+64>>3]+ +b[e+48>>3])*.5);break}if((a[r>>2]|0)==(i|0)){r=~~+b[e+56>>3];i=~~((+b[e+64>>3]+ +b[e+48>>3])*.5)}else{r=0;i=0}}else{r=~~((+b[e+56>>3]+ +b[e+40>>3])*.5);i=~~+b[e+64>>3]}}while(0);a[A>>2]=r;a[A+4>>2]=i;return}function ni(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=qF(8)|0;a[i>>2]=A;r=i+4|0;a[r>>2]=qF(A*12|0)|0;e=0;while(1){if((e|0)>=(A|0))break;n=Ma()|0;f=a[r>>2]|0;a[f+(e*12|0)+8>>2]=n;a[f+(e*12|0)>>2]=0;e=e+1|0}return i|0}function li(A){A=A|0;var e=0,i=0,r=0;i=A+4|0;e=0;while(1){r=a[i>>2]|0;if((e|0)>=(a[A>>2]|0))break;pk(a[r+(e*12|0)+8>>2]|0)|0;e=e+1|0}L2(r);L2(A);return}function ti(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=a[(a[A+4>>2]|0)+(e*12|0)+8>>2]|0;W5[a[i>>2]&63](i,f,1)|0;k=r;return}function ci(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r;a[f>>2]=i;A=A+4|0;n=a[(a[A>>2]|0)+(e*12|0)+8>>2]|0;W5[a[n>>2]&63](n,f,2)|0;a[f>>2]=e;i=a[(a[A>>2]|0)+(i*12|0)+8>>2]|0;W5[a[i>>2]&63](i,f,2)|0;k=r;return}function bi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=a[(a[A+4>>2]|0)+(e*12|0)+8>>2]|0;i=(W5[a[i>>2]&63](i,f,512)|0)!=0&1;k=r;return i|0}function si(A){A=A|0;var e=0,i=0,r=0,f=0;e=a[A>>2]|0;switch(e|0){case 0:break;case 1:{a[(a[A+4>>2]|0)+4>>2]=0;break}default:{r=wi(e)|0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(a[A>>2]|0)){e=0;break}if(!(a[(a[f>>2]|0)+(i*12|0)>>2]|0))e=ui(A,i,e,r)|0;i=i+1|0}while(1){i=ki(r)|0;if((i|0)<=-1)break;a[(a[f>>2]|0)+(i*12|0)+4>>2]=e;e=e+1|0}oi(r)}}return}function wi(A){A=A|0;var e=0;e=qF(8)|0;a[e+4>>2]=qF(A<<2)|0;a[e>>2]=-1;return e|0}function ui(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;t=A+4|0;n=a[t>>2]|0;c=n+(e*12|0)|0;a[c>>2]=1;n=a[n+(e*12|0)+8>>2]|0;l=n+4|0;i=i+1|0;n=xk(n)|0;while(1){if(!n)break;f=a[(a[l>>2]|0)+8>>2]|0;if((f|0)<0)f=a[n+8>>2]|0;else f=n+(0-f)|0;f=a[f>>2]|0;if(!(a[(a[t>>2]|0)+(f*12|0)>>2]|0))i=ui(A,f,i,r)|0;n=a[n>>2]|0}a[c>>2]=2;hi(r,e);return i+1|0}function ki(A){A=A|0;var e=0,i=0;e=a[A>>2]|0;if((e|0)==-1)A=-1;else{i=a[(a[A+4>>2]|0)+(e<<2)>>2]|0;a[A>>2]=e+-1;A=i}return A|0}function oi(A){A=A|0;L2(a[A+4>>2]|0);L2(A);return}function hi(A,e){A=A|0;e=e|0;var i=0;i=(a[A>>2]|0)+1|0;a[A>>2]=i;a[(a[A+4>>2]|0)+(i<<2)>>2]=e;return}function di(A){A=A|0;var e=0,i=0,r=0;i=a[A>>2]|0;a[A+8>>2]=i;a[A+12>>2]=a[A+4>>2];e=A+16|0;A=0;while(1){if((A|0)>=(i|0))break;r=a[e>>2]|0;f[r+(A*40|0)+18>>1]=f[r+(A*40|0)+16>>1]|0;A=A+1|0}return}function Bi(A){A=A|0;var e=0,i=0,r=0;e=a[A+8>>2]|0;a[A>>2]=e;a[A+4>>2]=a[A+12>>2];i=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;r=a[i>>2]|0;f[r+(A*40|0)+16>>1]=f[r+(A*40|0)+18>>1]|0;A=A+1|0}e=e+2|0;while(1){if((A|0)>=(e|0))break;f[(a[i>>2]|0)+(A*40|0)+16>>1]=0;A=A+1|0}return}function vi(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=qF(((a[A>>2]|0)*6|0)+(e<<1)<<2)|0;a[A+20>>2]=qF((((a[A>>2]|0)*3|0)+e|0)*24|0)|0;r=a[A>>2]|0;f=A+16|0;A=0;while(1){if((A|0)>=(r|0))break;a[(a[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+24|0;A=A+1|0}r=r+2|0;while(1){if((A|0)>=(r|0))break;a[(a[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+(e<<2)|0;A=A+1|0}return}function gi(A){A=A|0;var e=0;e=qF(24)|0;a[e>>2]=0;a[e+16>>2]=qF(A*40|0)|0;return e|0}function Ei(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=a[A>>2]|0;a[i+(e*40|0)+32>>2]=e;a[A>>2]=e+1;return i+(e*40|0)|0}function Ci(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0;n=A+4|0;f=a[n>>2]|0;a[n>>2]=f+1;n=a[A+20>>2]|0;A=n+(f*24|0)|0;a[n+(f*24|0)+12>>2]=a[e+32>>2];a[n+(f*24|0)+16>>2]=a[i+32>>2];b[A>>3]=r;a[n+(f*24|0)+8>>2]=0;Ii(e,f);Ii(i,f);return A|0}function Ii(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;r=f[i>>1]|0;a[(a[A+28>>2]|0)+(r<<16>>16<<2)>>2]=e;f[i>>1]=r+1<<16>>16;return}function Zi(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+28>>2]|0);L2(a[e>>2]|0);L2(a[A+20>>2]|0);L2(A);return}function Gi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;n=a[A>>2]|0;l=A+16|0;r=0;while(1){if((r|0)>=(n|0))break;a[(a[l>>2]|0)+(r*40|0)>>2]=-2147483648;r=r+1|0}pa();A:do{if(!(Ta(e)|0)){a[e+8>>2]=0;a[e>>2]=0;e=A+20|0;e:while(1){n=Sa()|0;if(!n){r=0;break A}a[n>>2]=0-(a[n>>2]|0);if((n|0)==(i|0)){r=0;break A}l=n+16|0;t=n+28|0;r=0;while(1){if((r|0)>=(f[l>>1]|0))continue e;c=(a[e>>2]|0)+((a[(a[t>>2]|0)+(r<<2)>>2]|0)*24|0)|0;s=Qi(A,c,n)|0;w=a[s>>2]|0;do{if((w|0)<0){u=~~-(+b[c>>3]+ +(a[n>>2]|0));if((w|0)==-2147483648){a[s>>2]=u;if(Ta(s)|0){r=1;break A}a[s+8>>2]=n;a[s+12>>2]=c;break}else{if((w|0)>=(u|0))break;Pa(s,u);a[s+8>>2]=n;a[s+12>>2]=c;break}}}while(0);r=r+1|0}}}else r=1}while(0);return r|0}function Qi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=a[e+12>>2]|0;if((r|0)==(a[i+32>>2]|0))r=a[e+16>>2]|0;return(a[A+16>>2]|0)+(r*40|0)|0}function mi(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=a[A>>2]|0;Jg(n,3,e)|0;e=a[n+92>>2]|0;do{if(e){i=a[e+16>>2]|0;l=a[i+12>>2]|0;a[A+76>>2]=l;r=a[i+16>>2]|0;a[A+84>>2]=r;f=A+80|0;a[f>>2]=a[i>>2];a[A+88>>2]=a[e+4>>2];i=A+152|0;r=a[i>>2]|a[r>>2];a[i>>2]=r;e=a[n+80>>2]|0;if(!e){a[A+60>>2]=0;e=999;break}else{n=a[e+16>>2]|0;a[A+60>>2]=a[n+12>>2];t=a[n+16>>2]|0;a[A+68>>2]=t;a[A+72>>2]=a[e+4>>2];a[i>>2]=r|a[t>>2];a[A+64>>2]=a[((l|0)==0?f:n)>>2];e=300;break}}else e=999}while(0);return e|0}function Li(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(!(bg(A)|0))if((e|0)!=0?(i=a[e>>2]|0,(i|0)!=0):0){F5[i&127](A);A=0}else A=0;else A=1;return A|0}function Wi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+4>>2]|0,i|0):0)F5[i&127](A);a[(a[A>>2]|0)+24>>2]=0;Bg(A);return}function yi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0;r=+b[e+504>>3];f=+b[e+512>>3];l=+b[e+352>>3];if(!(a[e+360>>2]|0)){n=+b[i>>3]+r;i=i+8|0;r=f}else n=-(f+ +b[i+8>>3]);f=+b[e+528>>3]*l*(+b[i>>3]+r);b[A>>3]=+b[e+520>>3]*l*n;b[A+8>>3]=f;return}function zi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0.0;f=+b[A+504>>3];n=+b[A+512>>3];l=+b[A+352>>3];t=+b[A+520>>3]*l;l=+b[A+528>>3]*l;A:do{if(!(a[A+360>>2]|0)){A=0;while(1){if((A|0)>=(r|0))break A;b[i+(A<<4)>>3]=(+b[e+(A<<4)>>3]+f)*t;b[i+(A<<4)+8>>3]=(+b[e+(A<<4)+8>>3]+n)*l;A=A+1|0}}else{A=0;while(1){if((A|0)>=(r|0))break A;c=-(t*(+b[e+(A<<4)+8>>3]+n));b[i+(A<<4)+8>>3]=(+b[e+(A<<4)>>3]+f)*l;b[i+(A<<4)>>3]=c;A=A+1|0}}}while(0);return i|0}function Yi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+8>>2]|0,i|0):0)F5[i&127](A);return}function Di(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+12>>2]|0,i|0):0)F5[i&127](A);dg(A);return}function Mi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+24>>2]|0,i|0):0)F5[i&127](A);return}function Fi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+28>>2]|0,i|0):0)F5[i&127](A);return}function Vi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+16>>2]|0,i|0):0){e=a[A+160>>2]|0;X5[i&31](A,a[(a[(a[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0,e,a[A+156>>2]|0)}return}function Ji(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+20>>2]|0,i|0):0)F5[i&127](A);return}function Ni(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+32>>2]|0,i|0):0)F5[i&127](A);return}function Xi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+36>>2]|0,i|0):0)F5[i&127](A);return}function Ri(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+40>>2]|0,i|0):0)F5[i&127](A);return}function Hi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+44>>2]|0,i|0):0)F5[i&127](A);return}function pi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+48>>2]|0,i|0):0)F5[i&127](A);return}function Ui(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+52>>2]|0,i|0):0)F5[i&127](A);return}function xi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+56>>2]|0,i|0):0)F5[i&127](A);return}function Ti(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+60>>2]|0,i|0):0)F5[i&127](A);return}function ji(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+64>>2]|0,i|0):0)F5[i&127](A);return}function Si(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+68>>2]|0,i|0):0)F5[i&127](A);return}function Pi(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=a[A+60>>2]|0;if(n|0?(l=a[n+72>>2]|0,l|0):0)R5[l&15](A,e,i,r,f);return}function Oi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+76>>2]|0,i|0):0)F5[i&127](A);return}function Ki(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[A+60>>2]|0;if(i|0?(r=a[i+80>>2]|0,r|0):0)V5[r&63](A,e);return}function _i(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+84>>2]|0,i|0):0)F5[i&127](A);return}function qi(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+48|0;f=b+32|0;l=b;t=b+16|0;c=a[A+60>>2]|0;s=a[i>>2]|0;do{if(s|0?r[s>>0]|0:0){s=a[A+16>>2]|0;if(s|0?(a[s+144>>2]|0)==0:0)break;if(!(a[A+152>>2]&8192)){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];yi(t,A,f);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2]}else{a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2]}if(c|0?(n=a[c+88>>2]|0,n|0):0){a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];J5[n&127](A,f,i)}}}while(0);k=b;return}function $i(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=a[A+60>>2]|0;n=(a[A+16>>2]|0)+16|0;t=G1(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(Ar(a[A+68>>2]|0,e,n),i=a[f+92>>2]|0,i|0):0)V5[i&63](A,n);if(l)r[t>>0]=58;return}function Ar(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;n=b+16|0;c=b+8|0;t=b;a[i>>2]=e;a[i+32>>2]=5;r=Bf(e)|0;f=a[A+16>>2]|0;if(!((f|0)!=0?(i8(r,f,a[A+20>>2]|0,4,102)|0)!=0:0))l=3;A:do{if((l|0)==3){switch(vf(e,i,a[A+24>>2]|0)|0){case 0:break A;case 1:break;default:{ao(1,111046,n)|0;break A}}A=$F((S2(e)|0)+16|0)|0;a[t>>2]=e;P4(A,111011,t)|0;if(fF(A)|0){a[c>>2]=e;ao(0,111020,c)|0}L2(A)}}while(0);k=b;return}function er(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=a[A+60>>2]|0;n=(a[A+16>>2]|0)+56|0;t=G1(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(Ar(a[A+68>>2]|0,e,n),i=a[f+92>>2]|0,i|0):0)V5[i&63](A,n);if(l)r[t>>0]=58;return}function ir(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0,l=0,t=0;n=a[A+60>>2]|0;l=A+16|0;t=(a[l>>2]|0)+96|0;if(n|0?(Ar(a[A+68>>2]|0,e,t),f=a[n+92>>2]|0,f|0):0)V5[f&63](A,t);t=a[l>>2]|0;a[t+136>>2]=i;c[t+140>>2]=r;return}function rr(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;c=s;t=a[A+60>>2]|0;A=a[A+16>>2]|0;a[A+160>>2]=e;A:do{if((e|0)!=0&(t|0)!=0){t=A+144|0;l=A+152|0;n=A+148|0;A=e;e:while(1){f=A+4|0;A=a[A>>2]|0;if(!A)break A;i:do{switch(r[A>>0]|0){case 115:{if(!(A1(A,111067)|0)){a[t>>2]=3;A=f;continue e}if(!(A1(A,111088)|0)){i=115;while(1){e=A+1|0;if(!(i<<24>>24))break;A=e;i=r[e>>0]|0}b[l>>3]=+$3(e);A=f;continue e}break}case 100:{if(!(A1(A,137327)|0)){a[t>>2]=1;A=f;continue e}if(!(A1(A,137320)|0)){a[t>>2]=2;A=f;continue e}break}case 105:{if(A1(A,134335)|0?A1(A,111073)|0:0)break i;a[t>>2]=0;A=f;continue e}case 98:{if(!(A1(A,111083)|0)){b[l>>3]=2.0;A=f;continue e}break}case 102:{if(!(A1(A,111101)|0)){a[n>>2]=1;A=f;continue e}break}case 117:{if(!(A1(A,111108)|0)){a[n>>2]=0;A=f;continue e}break}case 116:{if(!(A1(A,111117)|0)){A=f;continue e}break}default:{}}}while(0);a[c>>2]=A;ao(0,111125,c)|0;A=f}}}while(0);k=s;return}function fr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t;i=a[A+60>>2]|0;if((i|0?(l=i+96|0,f=a[l>>2]|0,f|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){i=e+16|0;b[n>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[n+8>>3]=(+b[e+24>>3]+ +b[e+8>>3])*.5;e=n+16|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];if(!(a[A+152>>2]&8192)){zi(A,n,n,2)|0;f=a[l>>2]|0}J5[f&127](A,n,r)}k=t;return}function ar(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+48|0;s=u;f=a[A+60>>2]|0;if((f|0?(w=f+100|0,a[w>>2]|0):0)?(b=A+16|0,c=a[b>>2]|0,a[c+144>>2]|0):0){if(!(r&4)){f=r;n=0}else{f=r&-5;r=c+16|0;n=s;l=r;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));n=r;l=c+56|0;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));n=1}if(!(a[A+152>>2]&8192)){r=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=r;r=eV(a[47364]|0,r<<4)|0;a[47364]=r}else r=a[47364]|0;zi(A,e,r,i)|0;X5[a[w>>2]&31](A,r,i,f)}else X5[a[w>>2]&31](A,e,i,f);if(n|0){n=(a[b>>2]|0)+16|0;l=s;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0))}}k=u;return}function nr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+64|0;f=r;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];n=f+32|0;e=e+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];b[f+16>>3]=+b[f>>3];b[f+24>>3]=+b[f+40>>3];b[f+48>>3]=+b[n>>3];b[f+56>>3]=+b[f+8>>3];ar(A,f,4,i);k=r;return}function lr(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0;t=a[A+60>>2]|0;do{if((t|0?(c=t+104|0,l=a[c>>2]|0,l|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){if(a[A+152>>2]&8192|0){H5[l&15](A,e,i,r,f,n&255);break}l=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=l;l=eV(a[47364]|0,l<<4)|0;a[47364]=l}else l=a[47364]|0;zi(A,e,l,i)|0;H5[a[c>>2]&15](A,l,i,r,f,n&255)}}while(0);return}function tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=a[A+60>>2]|0;do{if((r|0?(n=r+108|0,f=a[n>>2]|0,f|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){if(a[A+152>>2]&8192|0){J5[f&127](A,e,i);break}r=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=r;r=eV(a[47364]|0,r<<4)|0;a[47364]=r}else r=a[47364]|0;zi(A,e,r,i)|0;J5[a[n>>2]&127](A,r,i)}}while(0);return}function cr(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A+60>>2]|0;if((e|0?!((i|0)==0|(r[e>>0]|0)==0):0)?(f=a[i+112>>2]|0,f|0):0)V5[f&63](A,e);return}function br(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0.0,g=0.0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0;z=k;k=k+112|0;m=z+64|0;y=z;w=z+96|0;I=z+48|0;Z=z+32|0;L=a[A+60>>2]|0;if(!A)vA(111282,111178,691,111189);if(!e)vA(111208,111178,692,111189);if(!(r[e>>0]|0))vA(111213,111178,693,111189);W=Xg(e)|0;if(!W){if((L|0)!=0&(GN(e)|0)!=0?(s=a[L+116>>2]|0,s|0):0)R5[s&15](A,e,i,f,n&255)}else{B=A+432|0;a[m>>2]=a[B>>2];a[m+4>>2]=a[B+4>>2];a[m+8>>2]=a[B+8>>2];a[m+12>>2]=a[B+12>>2];pg(w,W,m);B=a[w>>2]|0;s=a[w+4>>2]|0;if(!((B|0)<1&(s|0)<1)){w=y+16|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[y>>2]=a[i>>2];a[y+4>>2]=a[i+4>>2];a[y+8>>2]=a[i+8>>2];a[y+12>>2]=a[i+12>>2];G=y+8|0;Q=y+24|0;e=1;while(1){if((e|0)>=(f|0))break;Y=i+(e<<4)|0;E=+b[Y>>3];b[y>>3]=+b[(+b[y>>3]>3];C=+b[i+(e<<4)+8>>3];b[G>>3]=+b[(+b[G>>3]>3];b[w>>3]=+b[(+b[w>>3]>E?w:Y)>>3];b[Q>>3]=+b[(+b[Q>>3]>C?w:Y)+8>>3];e=e+1|0}c=+b[w>>3];t=+b[y>>3];v=c-t;g=+b[Q>>3];E=+b[G>>3];C=g-E;u=+(s|0);o=+(B|0);h=v/o;d=C/u;A:do{switch(sr(l)|0){case 1:if(h>3]=t;c=c-v;b[w>>3]=c}if(u>3]=E+C;b[Q>>3]=g-C}if(!(a[A+152>>2]&8192)){a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];yi(I,A,m);a[y>>2]=a[I>>2];a[y+4>>2]=a[I+4>>2];a[y+8>>2]=a[I+8>>2];a[y+12>>2]=a[I+12>>2];a[m>>2]=a[w>>2];a[m+4>>2]=a[w+4>>2];a[m+8>>2]=a[w+8>>2];a[m+12>>2]=a[w+12>>2];yi(Z,A,m);a[w>>2]=a[Z>>2];a[w+4>>2]=a[Z+4>>2];a[w+8>>2]=a[Z+8>>2];a[w+12>>2]=a[Z+12>>2];c=+b[w>>3];t=+b[y>>3]}if(t>c){b[y>>3]=c;b[w>>3]=t}t=+b[G>>3];c=+b[Q>>3];if(t>c){b[G>>3]=c;b[Q>>3]=t}if(L|0){Y=a[A+72>>2]|0;a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];a[m+16>>2]=a[y+16>>2];a[m+20>>2]=a[y+20>>2];a[m+24>>2]=a[y+24>>2];a[m+28>>2]=a[y+28>>2];or(A,W,m,n,Y)}}}k=z;return}function sr(A){A=A|0;if(r[A>>0]|0)if(N1(A,141116)|0)if(N1(A,141048)|0)if(!(N1(A,111221)|0))A=4;else A=(gR(A)|0)<<24>>24!=0&1;else A=3;else A=2;else A=0;return A|0}function wr(A,e){A=A|0;e=+e;if(a[A+60>>2]|0)b[(a[A+16>>2]|0)+152>>3]=e;return}function ur(A,e){A=A|0;e=e|0;e=Jg(A,1,e)|0;if(!e)e=999;else{e=a[e+16>>2]|0;a[A+184>>2]=a[e+4>>2];a[A+172>>2]=a[e+12>>2];a[A+176>>2]=a[e>>2];a[A+180>>2]=a[e+16>>2];e=300}return e|0}function kr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t;Td(e,137483,280,1)|0;n=e+16|0;a[(a[n>>2]|0)+144>>2]=A;if((Zd(e)|0)!=(e|0))a[(a[(Zd(e)|0)+16>>2]|0)+144>>2]=A;r=po(e,111226)|0;i=A+172|0;if((r|0)!=0?(a[i>>2]=0,(ur(A,r)|0)==999):0){i=Ng(A,1,r)|0;a[f>>2]=r;a[f+4>>2]=i;ao(1,111233,f)|0;i=-1}else{r=a[i>>2]|0;if(!r)i=-1;else{nF(1);DF(e,a[a[A+180>>2]>>2]&1);i=a[(a[n>>2]|0)+8>>2]|0;a[(a[(Zd(e)|0)+16>>2]|0)+8>>2]=i;oX();i=a[r>>2]|0;if(i|0?(F5[i&127](e),l=a[r+4>>2]|0,l|0):0)a[(a[n>>2]|0)+148>>2]=l;nF(0);i=0}}k=t;return i|0}function or(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+176|0;b=w+8|0;c=w;l=w+40|0;if(!A)vA(111282,111286,52,111300);if(!e)vA(111312,111286,53,111300);t=a[e+8>>2]|0;if(!t)vA(111315,111286,54,111300);if(!(r[t>>0]|0))vA(111324,111286,55,111300);$1(l,a[e+28>>2]|0)|0;t=l+(S2(l)|0)|0;r[t>>0]=58;r[t+1>>0]=0;u3(l,n)|0;if((hr(A,l)|0)==999){a[c>>2]=l;ao(0,111336,c)|0}n=a[A+92>>2]|0;if(n|0?(s=a[n>>2]|0,s|0):0){a[b>>2]=a[i>>2];a[b+4>>2]=a[i+4>>2];a[b+8>>2]=a[i+8>>2];a[b+12>>2]=a[i+12>>2];a[b+16>>2]=a[i+16>>2];a[b+20>>2]=a[i+20>>2];a[b+24>>2]=a[i+24>>2];a[b+28>>2]=a[i+28>>2];X5[s&31](A,e,b,f)}k=w;return}function hr(A,e){A=A|0;e=e|0;e=Jg(a[A>>2]|0,4,e)|0;if(!e)e=999;else{e=a[e+16>>2]|0;a[A+92>>2]=a[e+12>>2];a[A+96>>2]=a[e>>2];e=300}return e|0}function dr(A){A=A|0;return 1}function Br(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;b[e>>3]=+b[e>>3]+10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function vr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;b[e>>3]=+b[e>>3]-10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function gr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;b[e>>3]=+b[e>>3]-10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function Er(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;b[e>>3]=+b[e>>3]+10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function Cr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;b[e>>3]=+b[e>>3]*1.1;r[A+537>>0]=1;return 0}function Ir(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;b[e>>3]=+b[e>>3]*.9090909090909091;r[A+537>>0]=1;return 0}function Zr(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0;i=A+536|0;e=(r[i>>0]|0)==0;r[i>>0]=e&1;if(e){e=a[A+448>>2]|0;i=a[A+452>>2]|0;l=+(e>>>0);n=+(i>>>0);f=l/+(e|0)>3]=(f?l:n)/+((f?e:i)|0);i=A+336|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;r[A+537>>0]=1}return 0}function Gr(A){A=A|0;var e=0,i=0;e=a[(a[A>>2]|0)+168>>2]|0;i=A+580|0;if(!(a[i>>2]|0)){a[i>>2]=e;i=(a[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]|2;Hr(A,e)}BI(A,e);r[A+540>>0]=1;return}function Qr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;f=c;switch(e|0){case 1:{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];Mr(A,f);Rr(A);r[A+538>>0]=1;r[A+541>>0]=1;t=13;break}case 2:{r[A+538>>0]=1;r[A+541>>0]=2;t=13;break}case 3:{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];Mr(A,f);r[A+538>>0]=1;r[A+541>>0]=3;t=13;break}case 4:{r[A+536>>0]=0;if(!(a[A+360>>2]|0)){f=A+352|0;l=+b[f>>3];e=A+336|0;b[e>>3]=(+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+520>>3]*l)+ +b[e>>3];n=+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5;e=A+528|0}else{f=A+352|0;l=+b[f>>3];e=A+336|0;b[e>>3]=+b[e>>3]-(+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+528>>3]*l);n=+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5;e=A+520|0}t=A+344|0;b[t>>3]=n*.10000000000000009/(+b[e>>3]*l)+ +b[t>>3];b[f>>3]=l*1.1;t=13;break}case 5:{r[A+536>>0]=0;t=A+352|0;l=+b[t>>3]*.9090909090909091;b[t>>3]=l;if(!(a[A+360>>2]|0)){f=A+336|0;b[f>>3]=+b[f>>3]-(+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+520>>3]*l);n=+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5;f=A+528|0}else{f=A+336|0;b[f>>3]=(+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+528>>3]*l)+ +b[f>>3];n=+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5;f=A+520|0}t=A+344|0;b[t>>3]=+b[t>>3]-n*.10000000000000009/(+b[f>>3]*l);t=13;break}default:{}}if((t|0)==13)r[A+537>>0]=1;A=A+560|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=c;return}function mr(A,e,i){A=A|0;e=e|0;i=i|0;r[A+538>>0]=0;r[A+541>>0]=0;return}function Lr(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0;c=k;k=k+16|0;i=c;l=A+560|0;t=(+b[e>>3]-+b[l>>3])/+b[A+520>>3];n=(+b[e+8>>3]-+b[A+568>>3])/+b[A+528>>3];if(!(+y(+t)<.0001&+y(+n)<.0001)){switch(r[A+541>>0]|0){case 0:{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];Mr(A,i);break}case 2:{f=+b[A+352>>3];if(!(a[A+360>>2]|0)){i=A+336|0;b[i>>3]=+b[i>>3]-t/f;i=A+344|0;b[i>>3]=+b[i>>3]-n/f}else{i=A+336|0;b[i>>3]=+b[i>>3]-n/f;i=A+344|0;b[i>>3]=+b[i>>3]+t/f}r[A+537>>0]=1;break}default:{}}a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2]}k=c;return}function Wr(A,e,i){A=A|0;e=e|0;i=i|0;return}function yr(A){A=A|0;return}function zr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=a[A>>2]|0;if(e){e=F3(e,138821)|0;if(e|0){t=cg(e,0)|0;h3(e)|0;f=5}}else{t=cg(a[15647]|0,0)|0;f=5}if((f|0)==5?t|0:0){n=c+168|0;e=a[n>>2]|0;if(e|0){f=a[c+172>>2]|0;if((f|0)!=0?(l=a[f+4>>2]|0,(l|0)!=0):0){F5[l&127](e);e=a[n>>2]|0}NF(e);Bh(a[n>>2]|0)|0}Kd(t,0,137483,280,1);Kd(t,1,137447,304,1);Kd(t,2,137460,176,1);a[n>>2]=t;a[(a[t+16>>2]|0)+144>>2]=c;if((uE(c,t,i)|0)!=-1){a[A+580>>2]=0;a[A+576>>2]=0;r[A+537>>0]=1}}return}function Yr(A,e){A=A|0;e=e|0;A=a[A>>2]|0;uE(A,a[A+168>>2]|0,e)|0;return}function Dr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=a[A>>2]|0;f=n+160|0;r=a[f>>2]|0;if((r|0)!=0?(a[n+164>>2]|0)==0:0){t=n+192|0;l=a[t>>2]|0;a[f>>2]=0;a[t>>2]=0;f=l}else{f=0;r=0}oE(n,a[n+168>>2]|0,e,i)|0;if(r|0){t=a[A>>2]|0;a[t+160>>2]=r;a[t+192>>2]=f}return}function Mr(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0.0,t=0.0,c=0.0,s=0;f=k;k=k+80|0;i=f+48|0;n=f;s=f+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];Fr(s,A,i);c=+b[s>>3];t=+b[s+8>>3];l=1.0/+b[A+352>>3];b[n+16>>3]=l+c;b[n+24>>3]=l+t;b[n>>3]=c-l;b[n+8>>3]=t-l;e=a[(a[A>>2]|0)+168>>2]|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[i+16>>2]=a[n+16>>2];a[i+20>>2]=a[n+20>>2];a[i+24>>2]=a[n+24>>2];a[i+28>>2]=a[n+28>>2];e=Vr(e,i)|0;i=A+576|0;if((e|0)!=(a[i>>2]|0)){Jr(A);a[i>>2]=e;Nr(A);r[A+537>>0]=1}k=f;return}function Fr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0;if(!(a[e+360>>2]|0)){r=+b[e+352>>3];f=+b[i+8>>3];n=r;l=e+528|0;r=+b[i>>3]/(+b[e+520>>3]*r)-+b[e+504>>3]}else{r=+b[e+352>>3];f=-+b[i>>3];n=r;l=e+520|0;r=+b[i+8>>3]/(+b[e+528>>3]*r)-+b[e+504>>3]}n=f/(+b[l>>3]*n)-+b[e+512>>3];b[A>>3]=r;b[A+8>>3]=n;return}function Vr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n;r=cd(A)|0;A:while(1){if(!r){r=9;break}i=Oo(A,r)|0;while(1){if(!i)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];if((QH(i,f)|0)<<24>>24){r=6;break A}i=_o(A,i)|0}r=bd(A,r)|0}do{if((r|0)!=6)if((r|0)==9){i=sd(A)|0;while(1){if(!i)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];if((IH(i,f)|0)<<24>>24){r=12;break}i=wd(A,i)|0}if((r|0)==12)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];i=Xr(A,f)|0;if(!i){i=A;break}else break}}while(0);k=n;return i|0}function Jr(A){A=A|0;var e=0;e=a[A+576>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{e=(a[e+16>>2]|0)+112|0;r[e>>0]=r[e>>0]&-2;break A}case 1:{e=(a[e+16>>2]|0)+117|0;r[e>>0]=r[e>>0]&-2;break A}case 2:{e=(a[e+16>>2]|0)+115|0;r[e>>0]=r[e>>0]&-2;break A}default:break A}}while(0);a[A+584>>2]=0;return}function Nr(A){A=A|0;var e=0,i=0;i=A+584|0;e=a[i>>2]|0;if(e|0){L2(e);a[i>>2]=0}e=a[A+576>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{A=(a[e+16>>2]|0)+112|0;r[A>>0]=r[A>>0]|1;A=Yo(e,0,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}case 1:{A=(a[e+16>>2]|0)+117|0;r[A>>0]=r[A>>0]|1;A=Yo(Id(e)|0,1,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}case 2:{A=(a[e+16>>2]|0)+115|0;r[A>>0]=r[A>>0]|1;A=Yo(Id(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0,2,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}default:break A}}while(0);return}function Xr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;s=k;k=k+32|0;r=s;n=a[A+16>>2]|0;l=a[n+180>>2]|0;t=n+184|0;i=1;while(1){if((i|0)>(l|0)){c=4;break}f=a[(a[t>>2]|0)+(i<<2)>>2]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];a[r+16>>2]=a[e+16>>2];a[r+20>>2]=a[e+20>>2];a[r+24>>2]=a[e+24>>2];a[r+28>>2]=a[e+28>>2];f=Xr(f,r)|0;if(!f)i=i+1|0;else{A=f;break}}do{if((c|0)==4){u=+b[n+24>>3];w=+b[n+40>>3];if(((+b[e+16>>3]>=+b[n+16>>3]?+b[n+32>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=u:0)?w>=+b[e+8>>3]:0)break;A=0}}while(0);k=s;return A|0}function Rr(A){A=A|0;var e=0,i=0,f=0;f=A+580|0;e=a[f>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{i=(a[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]&-7|4;break A}case 1:{i=(a[e+16>>2]|0)+117|0;r[i>>0]=r[i>>0]&-7|4;break A}case 2:{i=(a[e+16>>2]|0)+115|0;r[i>>0]=r[i>>0]&-7|4;break A}default:break A}}while(0);e=A+588|0;i=a[e>>2]|0;if(i|0){L2(i);a[e>>2]=0}e=a[A+576>>2]|0;a[f>>2]=e;A:do{if(e|0)switch(Md(e)|0){case 0:{f=(a[e+16>>2]|0)+112|0;r[f>>0]=r[f>>0]|2;Hr(A,e);break A}case 1:{f=(a[e+16>>2]|0)+117|0;r[f>>0]=r[f>>0]|2;pr(A,e);break A}case 2:{f=(a[e+16>>2]|0)+115|0;r[f>>0]=r[f>>0]|2;Ur(A,e);break A}default:break A}}while(0);return}function Hr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+592|0;do{if((Zd(e)|0)==(e|0))if(!(Ih(e)|0)){Yg(i,0,111494);break}else{Yg(i,0,111486);break}else Yg(i,0,111500)}while(0);Yg(i,1,Vh(e)|0);a[A+596>>2]=2;f=A+604|0;i=0;r=2;while(1){i=Jo(e,0,i)|0;if(!i)break;Yg(f,r,a[i+8>>2]|0);Yg(f,r+1|0,Uo(e,i)|0);Yg(f,r+2|0,0);r=r+3|0}a[A+608>>2]=r;i=Yo(e,0,141055,0)|0;if(!i){i=Yo(e,0,111477,0)|0;if(i|0)n=11}else n=11;if((n|0)==11)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function pr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;f=A+592|0;Yg(f,0,111481);Yg(f,1,Vh(e)|0);a[A+596>>2]=2;f=A+604|0;n=Zd(Id(e)|0)|0;r=2;i=0;while(1){i=Jo(n,1,i)|0;if(!i)break;Yg(f,r,a[i+8>>2]|0);Yg(f,r|1,Uo(e,i)|0);r=r+2|0}a[A+608>>2]=r;i=Yo(Id(e)|0,1,141055,0)|0;if(!i){i=Yo(Id(e)|0,1,111477,0)|0;if(i|0)l=6}else l=6;if((l|0)==6)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function Ur(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;l=A+592|0;Yg(l,0,111450);b=e+48|0;Yg(l,1,Vh(a[((a[e>>2]&3|0)==3?e:b)+40>>2]|0)|0);b=(Ih(Id(a[((a[e>>2]&3|0)==3?e:b)+40>>2]|0)|0)|0)!=0;Yg(l,3,b?137738:141747);b=e+-48|0;Yg(l,4,Vh(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0);a[A+596>>2]=7;t=A+604|0;c=Zd(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0)|0;n=7;i=0;A:while(1){while(1){i=Jo(c,2,i)|0;if(!i)break A;r=i+8|0;f=a[r>>2]|0;if(!(A1(f,111455)|0)){s=5;break}if(!(A1(f,111464)|0)){s=7;break}if(A1(f,111473)|0)break;Yg(l,6,Uo(e,i)|0)}if((s|0)==5){s=0;Yg(l,2,Uo(e,i)|0)}else if((s|0)==7){s=0;Yg(l,5,Uo(e,i)|0)}Yg(t,n,a[r>>2]|0);Yg(t,n+1|0,Uo(e,i)|0);n=n+2|0}a[A+608>>2]=n;i=Yo(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0,2,141055,0)|0;if(!i){i=Yo(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0,2,111477,0)|0;if(i|0)s=13}else s=13;if((s|0)==13)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function xr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=Tr(A,e,a[i>>2]|0)|0;i=a[i+4>>2]|0;while(1){f=a[i+4>>2]|0;if(!f)break;e=0;while(1){r=a[f+(e*20|0)+4>>2]|0;if(!r)break;Fg(A,a[i>>2]|0,r,a[f+(e*20|0)+8>>2]|0,n,f+(e*20|0)|0)|0;e=e+1|0}i=i+8|0}return}function Tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=$F(12)|0;if(!e)e=0;else e=s3(e)|0;a[r+4>>2]=e;a[r+8>>2]=s3(i)|0;i=A+100|0;a[r>>2]=a[i>>2];a[i>>2]=r;return r|0}function jr(A,e){A=A|0;e=e|0;Sr(A);r[A+44>>0]=0;Pr(A)|0;fR(A)|0;return}function Sr(A){A=A|0;var e=0,i=0;e=a[A+32>>2]|0;A:do{if(e|0)while(1){i=a[e>>2]|0;if(!i)break A;if((r[i>>0]|0)==103?X4(i,111509)|0:0)xr(A,0,a[e+4>>2]|0);e=e+8|0}}while(0);return}function Pr(A){A=A|0;var e=0;e=Jg(A,2,111522)|0;if(!e)A=999;else{a[A+148>>2]=a[(a[e+16>>2]|0)+12>>2];A=300}return A|0}function Or(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=a[A+148>>2]|0;if((A|0)!=0?(r=a[A>>2]|0,(r|0)!=0):0)A=m5[r&127](e,i)|0;else A=0;return A|0}function Kr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(a[e>>2]|0)-(a[i>>2]|0)|0}function _r(A){A=A|0;var e=0.0,i=0.0;A=a[A+16>>2]|0;i=+b[A+16>>3];e=+b[A+24>>3];return(qr(~~(i>e?i:e)>>>0)|0)+1|0}function qr(A){A=A|0;var e=0,i=0;if(!A)A=-1;else{i=A>>>0>65535;A=i?A>>>16:A;i=i?16:0;e=A>>>0>255;A=e?A>>>8:A;i=e?i|8:i;e=A>>>0>15;A=e?A>>>4:A;i=e?i|4:i;e=A>>>0>3;A=(e?i|2:i)+((e?A>>>2:A)>>>0>1&1)|0}return A|0}function $r(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+32|0;h=d;o=Af(A,e,i,f,n)|0;i=ef(o)|0;if((i|0)>=0){w=h+16|0;u=h+24|0;s=h+8|0;c=n+32|0;i=0;n=0;while(1){if((n|0)>=(e|0))break;f=A+(n*40|0)+32|0;do{if(a[f>>2]|0){rf(h,o,A+(n*40|0)|0);l=+b[w>>3];t=+b[u>>3];if(!(a[h>>2]|0)){r[(a[f>>2]|0)+36>>0]=1;break}if(+b[s>>3]==0.0){f=a[f>>2]|0;b[f+16>>3]=l;b[f+24>>3]=t;r[f+36>>0]=1;break}if((r[c>>0]|0)==1){f=a[f>>2]|0;b[f+16>>3]=l;b[f+24>>3]=t;r[f+36>>0]=1}else i=1}}while(0);n=n+1|0}ff(o)}k=d;return i|0}function Af(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;n=qF(28)|0;c=jk(25912,a[4584]|0)|0;l=n+20|0;a[l>>2]=c;do{if(c){c=Xn()|0;a[n+24>>2]=c;if(!c){L3(111740,14,1,a[15712]|0)|0;t=6;break}else{a[n>>2]=A;a[n+4>>2]=e;a[n+8>>2]=i;a[n+12>>2]=r;a[n+16>>2]=f;break}}else{L3(111740,14,1,a[15712]|0)|0;t=6}}while(0);if((t|0)==6){A=a[l>>2]|0;if(A|0)pk(A)|0;A=a[n+24>>2]|0;if(A|0)Hn(A)|0;L2(n);n=0}return n|0}function ef(A){A=A|0;var e=0;e=uf(A)|0;if((e|0)>=0){kf(A);of(A);e=pk(a[A+20>>2]|0)|0}return e|0}function rf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0.0,J=0,N=0;N=k;k=k+464|0;F=N+416|0;J=N+400|0;Y=N+384|0;s=N+352|0;w=N+320|0;u=N+288|0;o=N+256|0;d=N+224|0;B=N+192|0;v=N+160|0;g=N+128|0;E=N+96|0;I=N+64|0;Z=N+32|0;D=N;G=a[i+32>>2]|0;r=+b[G>>3];L=i+16|0;Q=(r*2.0+ +b[L>>3])*.125;W=G+8|0;M=i+24|0;l=+b[M>>3];V=(+b[W>>3]*2.0+l)*.5;if(!G)vA(111533,111543,445,111553);f=F;n=f+36|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));m=G+16|0;b[m>>3]=+b[i>>3]-r;y=i+8|0;z=G+24|0;b[z>>3]=l+ +b[y>>3];af(s,e,i,F);t=a[s>>2]|0;f=a[s+4>>2]|0;r=+b[s+8>>3];s=s+16|0;a[J>>2]=a[s>>2];a[J+4>>2]=a[s+4>>2];a[J+8>>2]=a[s+8>>2];a[J+12>>2]=a[s+12>>2];A:do{if(!t){a[A>>2]=0;a[A+4>>2]=f;b[A+8>>3]=r;A=A+16|0;a[A>>2]=a[J>>2];a[A+4>>2]=a[J+4>>2];a[A+8>>2]=a[J+8>>2];a[A+12>>2]=a[J+12>>2]}else{b[z>>3]=+b[y>>3];af(w,e,i,F);n=a[w>>2]|0;s=a[w+4>>2]|0;l=+b[w+8>>3];w=w+16|0;a[Y>>2]=a[w>>2];a[Y+4>>2]=a[w+4>>2];a[Y+8>>2]=a[w+8>>2];a[Y+12>>2]=a[w+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=s;r=l}else n=t;b[z>>3]=+b[y>>3]-+b[W>>3];af(u,e,i,F);s=a[u>>2]|0;t=a[u+4>>2]|0;l=+b[u+8>>3];u=u+16|0;a[Y>>2]=a[u>>2];a[Y+4>>2]=a[u+4>>2];a[Y+8>>2]=a[u+8>>2];a[Y+12>>2]=a[u+12>>2];if(!s){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=t;r=l}else s=n;b[m>>3]=+b[i>>3];b[z>>3]=+b[M>>3]+ +b[y>>3];af(o,e,i,F);n=a[o>>2]|0;t=a[o+4>>2]|0;l=+b[o+8>>3];o=o+16|0;a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3]-+b[W>>3];af(d,e,i,F);n=a[d>>2]|0;t=a[d+4>>2]|0;l=+b[d+8>>3];d=d+16|0;a[Y>>2]=a[d>>2];a[Y+4>>2]=a[d+4>>2];a[Y+8>>2]=a[d+8>>2];a[Y+12>>2]=a[d+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[m>>3]=+b[L>>3]+ +b[i>>3];b[z>>3]=+b[M>>3]+ +b[y>>3];af(B,e,i,F);n=a[B>>2]|0;t=a[B+4>>2]|0;l=+b[B+8>>3];B=B+16|0;a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3];af(v,e,i,F);n=a[v>>2]|0;t=a[v+4>>2]|0;l=+b[v+8>>3];v=v+16|0;a[Y>>2]=a[v>>2];a[Y+4>>2]=a[v+4>>2];a[Y+8>>2]=a[v+8>>2];a[Y+12>>2]=a[v+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3]-+b[W>>3];af(g,e,i,F);n=a[g>>2]|0;t=a[g+4>>2]|0;l=+b[g+8>>3];g=g+16|0;a[Y>>2]=a[g>>2];a[Y+4>>2]=a[g+4>>2];a[Y+8>>2]=a[g+8>>2];a[Y+12>>2]=a[g+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=t;r=l}else n=s;t=(a[F+28>>2]|0)==0;do{if(!(a[F+24>>2]|0))if(t){if(a[F+32>>2]|0){C=38;break}if(!((a[F+12>>2]|0)==0&(a[F>>2]|0)==0))C=38}else C=46;else if(t)C=38;else C=46}while(0);e:do{if((C|0)==38)if(!(a[F+32>>2]|0)){b[m>>3]=+b[i>>3]-+b[G>>3];o=E+4|0;d=E+8|0;B=E+16|0;s=z;t=y;l=+b[M>>3];i:while(1){while(1){b[s>>3]=+b[t>>3]+l;if(!(+b[m>>3]<=+b[L>>3]+ +b[i>>3])){C=46;break e}af(E,e,i,F);w=a[E>>2]|0;u=a[o>>2]|0;c=+b[d>>3];a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!w)break i;if(c>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=m;t=m;l=Q;n=w;f=u;r=c}a[A>>2]=0;a[A+4>>2]=u;b[A+8>>3]=c;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}else C=46}while(0);e:do{if((C|0)==46)if((a[F+12>>2]|0)==0&(a[F>>2]|0)==0){b[m>>3]=+b[i>>3]-+b[G>>3];c=+b[y>>3];w=I+4|0;u=I+8|0;o=I+16|0;l=c;c=+b[M>>3]+c;while(1){b[z>>3]=c;if(!(c>=l-+b[W>>3]))break e;af(I,e,i,F);t=a[I>>2]|0;s=a[w>>2]|0;l=+b[u>>3];a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!t)break;if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];n=t;f=s;r=l}l=+b[y>>3];c=+b[z>>3]-V}a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);l=+b[i>>3];c=+b[L>>3]+l;b[m>>3]=c;h=+b[W>>3];b[z>>3]=+b[y>>3]-h;t=a[F+4>>2]|0;do{if(!(a[F+8>>2]|0)){s=a[F>>2]|0;if(!((t|0)==0&(s|0)==0)){C=59;break}if(a[F+20>>2]|0){t=0;s=0;C=59;break}if(a[F+32>>2]|0){t=0;s=0;C=59}}else{s=a[F>>2]|0;C=59}}while(0);e:do{if((C|0)==59){i:do{if((t|0)==0&(s|0)==0){b[m>>3]=c;o=Z+4|0;d=Z+8|0;B=Z+16|0;s=z;t=y;l=h;r:while(1){while(1){b[s>>3]=+b[t>>3]-l;l=+b[i>>3];if(!(+b[m>>3]>=l-+b[G>>3]))break i;af(Z,e,i,F);w=a[Z>>2]|0;u=a[o>>2]|0;c=+b[d>>3];a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!w)break r;if(c>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=m;t=m;l=Q;n=w;f=u;r=c}a[A>>2]=0;a[A+4>>2]=u;b[A+8>>3]=c;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);if(a[F+20>>2]|0)break;if(a[F+32>>2]|0)break;b[m>>3]=+b[L>>3]+l;l=+b[y>>3];w=D+4|0;u=D+8|0;o=D+16|0;c=l;l=l-+b[W>>3];while(1){b[z>>3]=l;if(!(l<=+b[M>>3]+c))break e;af(D,e,i,F);t=a[D>>2]|0;s=a[w>>2]|0;l=+b[u>>3];a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!t)break;if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];n=t;f=s;r=l}c=+b[y>>3];l=+b[z>>3]+V}a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);a[A>>2]=n;a[A+4>>2]=f;b[A+8>>3]=r;A=A+16|0;a[A>>2]=a[J>>2];a[A+4>>2]=a[J+4>>2];a[A+8>>2]=a[J+8>>2];a[A+12>>2]=a[J+12>>2]}}while(0);k=N;return}function ff(A){A=A|0;Hn(a[A+24>>2]|0)|0;L2(A);return}function af(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0.0,t=0,c=0,s=0,w=0.0,u=0,o=0,h=0,d=0.0,B=0,v=0;v=k;k=k+48|0;h=v+32|0;B=v+16|0;o=v;n=a[i+32>>2]|0;if(!n)vA(111533,111543,382,111562);u=n+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];u=e+4|0;s=0;n=0;while(1){if((s|0)>=(a[u>>2]|0))break;t=a[e>>2]|0;c=t+(s*40|0)|0;do{if((c|0)!=(i|0)){if(+b[t+(s*40|0)+16>>3]>0.0?+b[t+(s*40|0)+24>>3]>0.0:0)break;n=n+((nf(i,c)|0)!=0&1)|0}}while(0);s=s+1|0}lf(i,h);s=a[e+24>>2]|0;s=Un(s,a[s>>2]|0,h)|0;if(!s){a[A>>2]=n;b[A+8>>3]=0.0;B=A+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2]}else{c=s;l=0.0;while(1){if(!c)break;t=a[(a[c+4>>2]|0)+16>>2]|0;if((t|0)!=(i|0)){tf(t,B);w=+cf(h,B);if(w>0.0){n=n+1|0;l=+bf(i,t,h,w,f)+l}e=a[t+32>>2]|0;if(((e|0)!=0?(r[e+36>>0]|0)!=0:0)?(lf(t,B),d=+cf(h,B),d>0.0):0){n=n+1|0;l=+sf(i,t,h,d,f)+l}}c=a[c>>2]|0}Nn(s);a[A>>2]=n;b[A+8>>3]=l;B=A+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2]}k=v;return}function nf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0;A=a[A+32>>2]|0;if(+b[e+16>>3]==0.0?+b[e+24>>3]==0.0:0){if((((A|0)!=0?(i=+b[e>>3],r=+b[A+16>>3],i>r):0)?i<+b[A>>3]+r:0)?(f=+b[e+8>>3],n=+b[A+24>>3],f>n):0)A=f<+b[A+8>>3]+n&1;else A=0;return A|0}vA(111599,111543,219,111636);return 0}function lf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A+32>>2]|0;r=+b[A+16>>3];a[e>>2]=~~r;i=+b[A+24>>3];a[e+4>>2]=~~i;a[e+8>>2]=~~(+b[A>>3]+r);a[e+12>>2]=~~(+b[A+8>>3]+i);return}function tf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];a[e>>2]=~~r;i=+b[A+8>>3];a[e+4>>2]=~~i;a[e+8>>2]=~~(+b[A+16>>3]+r);a[e+12>>2]=~~(+b[A+24>>3]+i);return}function cf(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;t=a[A+8>>2]|0;c=a[e>>2]|0;if((((t|0)>=(c|0)?(b=a[A>>2]|0,s=a[e+8>>2]|0,(b|0)<=(s|0)):0)?(r=a[A+12>>2]|0,f=a[e+4>>2]|0,(r|0)>=(f|0)):0)?(n=a[A+4>>2]|0,l=a[e+12>>2]|0,(n|0)<=(l|0)):0)i=(+(a[((r|0)<(l|0)?A:e)+12>>2]|0)-+(a[((n|0)>(f|0)?A:e)+4>>2]|0))*(+(a[((t|0)<(s|0)?A:e)+8>>2]|0)-+(a[((b|0)>(c|0)?A:e)>>2]|0));else i=0.0;return+i}function bf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;t=c;A=wf(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=a[f>>2]|0;if(!A){a[f>>2]=e;n=r}else{tf(A,t);n=+cf(i,t);n=n>r?n:0.0;A=a[f>>2]|0;if((a[A+32>>2]|0)!=0?(lf(A,t),l=+cf(i,t),l>r):0)n=l>n?l:n;if(!(n>0.0)){a[f>>2]=e;n=r}}k=c;return+n}function sf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;t=c;A=wf(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=a[f>>2]|0;if(!A){a[f>>2]=e;n=r}else{tf(A,t);n=+cf(i,t);n=n>r?n:0.0;A=a[f>>2]|0;if((a[A+32>>2]|0)!=0?(lf(A,t),l=+cf(i,t),l>r):0)n=l>n?l:n;if(!(n>0.0)){a[f>>2]=e;n=r}}k=c;return+n}function wf(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0;i=a[A+32>>2]|0;f=a[e+32>>2]|0;if((i|0)==(f|0))vA(111578,111543,276,111588);do{if((r[i+36>>0]|0)!=0?(r[f+36>>0]|0)!=0:0){t=+b[A>>3];if(t==0.0?+b[A+8>>3]==0.0:0){i=-1;break}c=+b[e>>3];l=+b[e+8>>3];if(!(c==0.0&l==0.0)){n=+b[A+8>>3];if(lt?2:1;break}i=cn){if(i){i=6;break}i=c>t?8:7;break}if(!i)if(c>t)i=5;else i=-1;else i=3}else i=-1}else i=-1}while(0);return i|0}function uf(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;b=k;k=k+32|0;i=b+24|0;r=b+16|0;f=b;n=_r(A)|0;l=A+4|0;t=r+4|0;c=A+20|0;e=0;while(1){if((e|0)>=(a[l>>2]|0)){e=0;break}s=qF(32)|0;u=(a[A>>2]|0)+(e*40|0)|0;w=s+12|0;a[s+28>>2]=u;hf(f,u);a[w>>2]=a[f>>2];a[w+4>>2]=a[f+4>>2];a[w+8>>2]=a[f+8>>2];a[w+12>>2]=a[f+12>>2];w=a[w>>2]|0;a[r>>2]=(((a[s+20>>2]|0)-w|0)/2|0)+w;w=a[s+16>>2]|0;a[t>>2]=(((a[s+24>>2]|0)-w|0)/2|0)+w;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[s+8>>2]=df(i,n)|0;w=a[c>>2]|0;if(!(W5[a[w>>2]&63](w,s,1)|0)){e=-1;break}else e=e+1|0}k=b;return e|0}function kf(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;r=a[i>>2]|0;e=A+24|0;A=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!A)break;r=a[e>>2]|0;xn(r,A+12|0,a[A+28>>2]|0,r,0)|0;r=a[i>>2]|0;A=W5[a[r>>2]&63](r,A,8)|0}return}function of(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=A+20|0;f=Pk(a[r>>2]|0)|0;i=0;while(1){if(!(Pk(a[r>>2]|0)|0))break;n=a[r>>2]|0;A=a[(a[n+8>>2]|0)+4>>2]|0;if(!A){l=8;break}e=a[(a[n+4>>2]|0)+8>>2]|0;if((e|0)<0)A=a[A+8>>2]|0;else A=A+(0-e)|0;if(!A){l=8;break}W5[a[n>>2]&63](n,A,4096)|0;L2(A);i=i+1|0}if((l|0)==8)vA(111649,111543,616,111652);if((f|0)==(i|0))return;else vA(111664,111543,623,111652)}function hf(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0,t=0,c=0,s=0.0;i=a[e+32>>2]|0;if(!i){r=0.0;f=0.0}else{r=+b[i>>3];f=+b[i+8>>3]}s=+b[e>>3];c=~~+W(+(s-r));n=+b[e+8>>3];t=~~+W(+(n-f));l=~~+p(+(s+r+ +b[e+16>>3]));if((l|0)==2147483647)vA(111676,111543,264,111703);i=~~+p(+(n+f+ +b[e+24>>3]));if((i|0)==2147483647)vA(111713,111543,266,111703);else{a[A>>2]=c;a[A+4>>2]=t;a[A+8>>2]=l;a[A+12>>2]=i;return}}function df(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;f=0;r=a[A>>2]|0;i=a[A+4>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;t=r>>>A&1;e=i>>>A&1;n=e+-1|0;l=n&(r^i);n=n&0-t;f=t<<1|f<<2|t^e;e=A;r=l^r^n;i=l^i^n}return f|0}function Bf(A){A=A|0;var e=0,i=0,f=0,n=0;e=S2(A)|0;if(e>>>0>=(a[47365]|0)>>>0){e=e+11|0;a[47365]=e;e=eV(a[47366]|0,e)|0;a[47366]=e;if(!e)e=0;else i=4}else{e=a[47366]|0;i=4}if((i|0)==4){n=e;while(1){i=r[A>>0]|0;if(!(i<<24>>24))break;f=i&255;if(R1(f)|0)i=(X1(f)|0)&255;r[n>>0]=i;n=n+1|0;A=A+1|0}r[n>>0]=0}return e|0}function vf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0;z=k;k=k+144|0;B=z+96|0;o=z+80|0;E=z+124|0;v=z+72|0;C=z+64|0;I=z+56|0;L=z+48|0;W=z+40|0;y=z+32|0;Z=z+24|0;G=z+16|0;Q=z+8|0;m=z;l=z+120|0;s=z+116|0;w=z+112|0;u=z+108|0;a[e+32>>2]=i;d=A;while(1)if((r[d>>0]|0)==32)d=d+1|0;else break;a[u>>2]=255;A=r[d>>0]|0;A:do{if(A<<24>>24==35){a[o>>2]=l;a[o+4>>2]=s;a[o+8>>2]=w;a[o+12>>2]=u;if((J3(d,111755,o)|0)<=2){A=r[d>>0]|0;h=12;break}switch(i|0){case 0:{Y=+((a[l>>2]|0)>>>0)*.00392156862745098;b[L>>3]=Y;f=+((a[s>>2]|0)>>>0)*.00392156862745098;b[W>>3]=f;t=+((a[w>>2]|0)>>>0)*.00392156862745098;b[y>>3]=t;c=+((a[u>>2]|0)>>>0)*.00392156862745098;gf(Y,f,t,v,C,I);b[e>>3]=+b[v>>3];b[e+8>>3]=+b[C>>3];b[e+16>>3]=+b[I>>3];b[e+24>>3]=c;A=0;break A}case 1:{r[e>>0]=a[l>>2];r[e+1>>0]=a[s>>2];r[e+2>>0]=a[w>>2];r[e+3>>0]=a[u>>2];A=0;break A}case 3:{t=+((a[l>>2]|0)>>>0)*.00392156862745098;b[L>>3]=t;c=+((a[s>>2]|0)>>>0)*.00392156862745098;b[W>>3]=c;Y=+((a[w>>2]|0)>>>0)*.00392156862745098;b[y>>3]=Y;Ef(t,c,Y,Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{a[e>>2]=(((a[l>>2]|0)*65535|0)>>>0)/255|0;a[e+4>>2]=(((a[s>>2]|0)*65535|0)>>>0)/255|0;a[e+8>>2]=(((a[w>>2]|0)*65535|0)>>>0)/255|0;a[e+12>>2]=(((a[u>>2]|0)*65535|0)>>>0)/255|0;A=0;break A}case 4:{b[e>>3]=+((a[l>>2]|0)>>>0)*.00392156862745098;b[e+8>>3]=+((a[s>>2]|0)>>>0)*.00392156862745098;b[e+16>>3]=+((a[w>>2]|0)>>>0)*.00392156862745098;b[e+24>>3]=+((a[u>>2]|0)>>>0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}else h=12}while(0);A:do{if((h|0)==12){if(!(A<<24>>24!=46?((A&255)+-48|0)>>>0>=10:0)){A=S2(d)|0;if(A>>>0>=(a[47367]|0)>>>0){A=A+11|0;a[47367]=A;A=eV(a[47368]|0,A)|0;a[47368]=A;if(!A){A=-1;break}}else A=a[47368]|0;s=A;l=d;e:while(1){w=l+1|0;l=r[l>>0]|0;switch(l<<24>>24){case 0:break e;case 44:{l=32;break}default:{}}r[s>>0]=l;s=s+1|0;l=w}r[s>>0]=0;a[B>>2]=v;a[B+4>>2]=C;a[B+8>>2]=I;if((J3(A,111769,B)|0)==3){c=+b[v>>3];c=c<1.0?c:1.0;c=c>0.0?c:0.0;b[v>>3]=c;t=+b[C>>3];t=t<1.0?t:1.0;t=t>0.0?t:0.0;b[C>>3]=t;f=+b[I>>3];f=f<1.0?f:1.0;f=f>0.0?f:0.0;b[I>>3]=f;switch(i|0){case 0:{b[e>>3]=c;b[e+8>>3]=t;b[e+16>>3]=f;b[e+24>>3]=1.0;A=0;break A}case 1:{Cf(c,t,f,L,W,y);r[e>>0]=~~(+b[L>>3]*255.0);r[e+1>>0]=~~(+b[W>>3]*255.0);r[e+2>>0]=~~(+b[y>>3]*255.0);r[e+3>>0]=-1;A=0;break A}case 3:{Cf(c,t,f,L,W,y);Ef(+b[L>>3],+b[W>>3],+b[y>>3],Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{Cf(c,t,f,L,W,y);a[e>>2]=~~(+b[L>>3]*65535.0);a[e+4>>2]=~~(+b[W>>3]*65535.0);a[e+8>>2]=~~(+b[y>>3]*65535.0);a[e+12>>2]=65535;A=0;break A}case 4:{Cf(c,t,f,L,W,y);b[e>>3]=+b[L>>3];b[e+8>>3]=+b[W>>3];b[e+16>>3]=+b[y>>3];b[e+24>>3]=1.0;A=0;break A}default:{A=0;break A}}}}l=If(d)|0;a[E>>2]=l;if(!l)A=-1;else{A=a[47369]|0;if(!(((A|0)!=0?(g=a[A>>2]|0,(r[g>>0]|0)==(r[l>>0]|0)):0)?(A1(g,l)|0)==0:0)){A=i8(E,25948,2491,12,103)|0;a[47369]=A;if(!A)switch(i|0){case 0:{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0;b[e+24>>3]=1.0;A=1;break A}case 1:{r[e+2>>0]=0;r[e+1>>0]=0;r[e>>0]=0;r[e+3>>0]=-1;A=1;break A}case 3:{a[e>>2]=0;A=1;break A}case 2:{a[e+8>>2]=0;a[e+4>>2]=0;a[e>>2]=0;a[e+12>>2]=65535;A=1;break A}case 4:{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0;b[e+24>>3]=1.0;A=1;break A}default:{A=1;break A}}}switch(i|0){case 0:{b[e>>3]=+(n[A+4>>0]|0)*.00392156862745098;b[e+8>>3]=+(n[A+5>>0]|0)*.00392156862745098;b[e+16>>3]=+(n[A+6>>0]|0)*.00392156862745098;b[e+24>>3]=+(n[A+10>>0]|0)*.00392156862745098;A=0;break A}case 1:{r[e>>0]=r[A+7>>0]|0;r[e+1>>0]=r[A+8>>0]|0;r[e+2>>0]=r[A+9>>0]|0;r[e+3>>0]=r[A+10>>0]|0;A=0;break A}case 3:{t=+(n[A+7>>0]|0)*.00392156862745098;b[L>>3]=t;c=+(n[A+8>>0]|0)*.00392156862745098;b[W>>3]=c;Y=+(n[A+9>>0]|0)*.00392156862745098;b[y>>3]=Y;Ef(t,c,Y,Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{a[e>>2]=(n[A+7>>0]|0)*257;a[e+4>>2]=(n[A+8>>0]|0)*257;a[e+8>>2]=(n[A+9>>0]|0)*257;a[e+12>>2]=(n[A+10>>0]|0)*257;A=0;break A}case 4:{b[e>>3]=+(n[A+7>>0]|0)*.00392156862745098;b[e+8>>3]=+(n[A+8>>0]|0)*.00392156862745098;b[e+16>>3]=+(n[A+9>>0]|0)*.00392156862745098;b[e+24>>3]=+(n[A+10>>0]|0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}}}while(0);k=z;return A|0}function gf(A,e,i,r,f,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;var n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0;l=ei?e:i;w=wA?A:l);n=l/w;if(w>0.0)if(n>0.0){t=(w-A)/l;c=(w-e)/l;s=(w-i)/l;do{if(!(w==A)){if(w==e){A=t+2.0-s;break}if(w==i)A=c+4.0-t;else A=0.0}else A=(e-i)/l}while(0);A=A*60.0;if(A<0.0)A=A+360.0}else A=0.0;else{n=0.0;A=0.0}b[r>>3]=A*.002777777777777778;b[a>>3]=w;b[f>>3]=n;return}function Ef(A,e,i,r,f,a,n){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;n=n|0;b[r>>3]=1.0-A;b[f>>3]=1.0-e;b[a>>3]=1.0-i;e=+b[r>>3];i=+b[f>>3];i=e>3]=i;e=+b[a>>3];i=e>3]=i;b[r>>3]=+b[r>>3]-i;b[f>>3]=+b[f>>3]-+b[n>>3];b[a>>3]=+b[a>>3]-+b[n>>3];return}function Cf(A,e,i,r,f,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;var n=0.0,l=0.0,t=0.0,c=0,s=0;A:do{if(!(e<=0.0)){l=!(A>=1.0)?A*6.0:0.0;s=~~l;l=l-+(s|0);A=(1.0-e)*i;t=(1.0-l*e)*i;e=(1.0-(1.0-l)*e)*i;switch(s|0){case 0:{n=A;l=e;A=i;c=8;break A}case 1:{n=A;l=i;A=t;c=8;break A}case 2:{n=e;l=i;c=8;break A}case 3:{n=i;l=t;c=8;break A}case 4:{n=i;l=A;A=e;c=8;break A}case 5:{n=t;l=A;A=i;c=8;break A}default:break A}}else{n=i;l=i;A=i;c=8}}while(0);if((c|0)==8){b[r>>3]=A;b[f>>3]=l;b[a>>3]=n}return}function If(A){A=A|0;var e=0,i=0;e=r[A>>0]|0;if(((e<<24>>24!=98?(i=A+1|0,!(e<<24>>24==119|(Z1(i,137266,4)|0)==0)):0)?!(e<<24>>24==108|(Z1(i,137271,4)|0)==0):0)?(Z1(i,137276,8)|0)!=0:0){do{if(e<<24>>24==47){e=G1(i,47)|0;if(!e)A=i;else{if((r[i>>0]|0)!=47){i=(T1(137285,i,4)|0)==0;A=i?e+1|0:A;break}e=a[47370]|0;if((e|0?r[e>>0]|0:0)?T1(137285,e,3)|0:0){A=Gf(e,A+2|0)|0;break}A=A+2|0}}else{e=a[47370]|0;if(((e|0)!=0?(r[e>>0]|0)!=0:0)?(T1(137285,e,3)|0)!=0:0)A=Gf(e,A)|0}}while(0);A=Bf(A)|0}return A|0}function Zf(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function Gf(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;f=k;k=k+16|0;r=f;n=S2(A)|0;n=(S2(e)|0)+n|0;i=n+13|0;if((n+3|0)>>>0<(a[47371]|0)>>>0)i=a[47372]|0;else{a[47371]=i;i=eV(a[47372]|0,i)|0;a[47372]=i}a[r>>2]=A;a[r+4>>2]=e;P4(i,137290,r)|0;k=f;return a[47372]|0}function Qf(A){A=A|0;a[47370]=A;return}function mf(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var a=0,n=0;a=k;k=k+208|0;n=a;Lf(n,+b[A>>3],+b[A+8>>3],e,i,r,f);A=Wf(n)|0;k=a;return A|0}function Lf(A,e,i,r,f,a,n){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;n=+n;var l=0,t=0;b[A>>3]=e;b[A+8>>3]=i;t=A+16|0;b[t>>3]=r;l=A+24|0;b[l>>3]=f;b[A+32>>3]=0.0;i=+X(+(+M(+a)/f),+(+D(+a)/r));b[A+56>>3]=i;f=+X(+(+M(+n)/f),+(+D(+n)/r));b[A+40>>3]=1.0;b[A+48>>3]=0.0;f=f-+W(+((f-i)*.15915494309189535))*6.283185307179586;b[A+64>>3]=n-a>3.141592653589793&f-i<3.141592653589793?f+6.283185307179586:f;Ff(A);Vf(A);Jf(A);n=+b[t>>3];n=(n-+b[l>>3])/n;b[A+168>>3]=n;b[A+176>>3]=(2.0-n)*n;n=1.0-n;b[A+184>>3]=n;b[A+192>>3]=n*n;return}function Wf(A){A=A|0;var e=0,i=0.0,r=0,f=0.0,a=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0;h=qF(8)|0;a=+b[A+56>>3];f=+b[A+64>>3]-a;o=1;e=0;while(1){k=f/+(o|0);if(!(e<<24>>24==0&(o|0)<1024))break;A:do{if(!(k<=1.5707963267948966))e=0;else{i=a;r=0;e=1;while(1){if(!(e<<24>>24!=0&(r|0)<(o|0)))break A;u=i+k;e=+yf(A,i,u)<=1.0e-05&1;i=u;r=r+1|0}}}while(0);o=o<<1}l=+D(+a);g=+M(+a);r=A+16|0;B=+b[r>>3];E=B*l;t=A+24|0;i=+b[t>>3];n=i*g;l=i*l;i=+b[A>>3];c=A+40|0;v=+b[c>>3];s=A+48|0;d=+b[s>>3];f=v*E+i-d*n;w=A+8|0;u=+b[w>>3];n=d*E+v*n+u;B=-(g*B);zf(h,i,u);Yf(h,f,n);u=+F(+(k*.5));u=+M(+k)*.3333333333333333*(+z(+(u*u*3.0+4.0))+-1.0);i=a;a=n;n=d*B+v*l;l=v*B-d*l;e=0;while(1){if((e|0)>=(o|0))break;d=i+k;g=+D(+d);E=+M(+d);I=+b[r>>3];G=I*g;C=+b[t>>3];v=C*E;g=C*g;C=+b[c>>3];Z=+b[s>>3];B=C*G+ +b[A>>3]-Z*v;v=Z*G+C*v+ +b[w>>3];I=-(E*I);E=C*I-Z*g;g=Z*I+C*g;Df(h,f+l*u,a+n*u,B-E*u,v-g*u,B,v);i=d;f=B;a=v;n=g;l=E;e=e+1|0}Mf(h);return h|0}function yf(A,e,i){A=A|0;e=+e;i=+i;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;r=i+e;l=+b[A+16>>3];f=+b[A+24>>3]/l;n=+D(+r);a=+D(+(r*2.0));r=+D(+(r*3.0));A=f<.25?10392:10648;return+(((f*.001+4.98)*f+.207)/(f+.0067)*l*+R(+(((+b[A+32>>3]*f+ +b[A+40>>3])*f+ +b[A+48>>3])/(+b[A+56>>3]+f)*n+((+b[A>>3]*f+ +b[A+8>>3])*f+ +b[A+16>>3])/(+b[A+24>>3]+f)+((+b[A+64>>3]*f+ +b[A+72>>3])*f+ +b[A+80>>3])/(+b[A+88>>3]+f)*a+((+b[A+96>>3]*f+ +b[A+104>>3])*f+ +b[A+112>>3])/(+b[A+120>>3]+f)*r+(((+b[A+160>>3]*f+ +b[A+168>>3])*f+ +b[A+176>>3])/(+b[A+184>>3]+f)*n+((+b[A+128>>3]*f+ +b[A+136>>3])*f+ +b[A+144>>3])/(+b[A+152>>3]+f)+((+b[A+192>>3]*f+ +b[A+200>>3])*f+ +b[A+208>>3])/(+b[A+216>>3]+f)*a+((+b[A+224>>3]*f+ +b[A+232>>3])*f+ +b[A+240>>3])/(+b[A+248>>3]+f)*r)*(i-e))))}function zf(A,e,i){A=A|0;e=+e;i=+i;var r=0;a[47373]=100;r=qF(1600)|0;a[A>>2]=r;b[r>>3]=e;b[r+8>>3]=i;a[A+4>>2]=1;return}function Yf(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;f=a[A>>2]|0;r=(a[A+4>>2]|0)+-1|0;Df(A,+b[f+(r<<4)>>3],+b[f+(r<<4)+8>>3],e,i,e,i);return}function Df(A,e,i,r,f,n,l){A=A|0;e=+e;i=+i;r=+r;f=+f;n=+n;l=+l;var t=0,c=0,s=0,w=0;s=A+4|0;t=a[s>>2]|0;c=a[47373]|0;if((t+3|0)<(c|0))A=a[A>>2]|0;else{a[47373]=c<<1;t=y2(a[A>>2]|0,c<<5)|0;a[A>>2]=t;A=t;t=a[s>>2]|0}b[A+(t<<4)>>3]=e;w=t+1|0;b[A+(t<<4)+8>>3]=i;b[A+(w<<4)>>3]=r;c=t+2|0;b[A+(w<<4)+8>>3]=f;b[A+(c<<4)>>3]=n;a[s>>2]=t+3;b[A+(c<<4)+8>>3]=l;return}function Mf(A){A=A|0;var e=0;e=a[A>>2]|0;Yf(A,+b[e>>3],+b[e+8>>3]);a[A>>2]=y2(a[A>>2]|0,a[A+4>>2]<<4)|0;a[47373]=0;return}function Ff(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0;r=+b[A+16>>3];e=+b[A+24>>3];e=+z(+(r*r-e*e));r=e*+b[A+40>>3];e=e*+b[A+48>>3];f=+b[A>>3];b[A+104>>3]=f-r;i=+b[A+8>>3];b[A+112>>3]=i-e;b[A+120>>3]=f+r;b[A+128>>3]=i+e;return}function Vf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0;r=+b[A+16>>3];l=+b[A+56>>3];t=+D(+l)*r;e=+b[A+24>>3];l=+M(+l)*e;n=+b[A+64>>3];r=+D(+n)*r;e=+M(+n)*e;n=+b[A>>3];i=+b[A+40>>3];f=+b[A+48>>3];b[A+72>>3]=i*t+n-f*l;a=+b[A+8>>3];b[A+80>>3]=f*t+a+i*l;b[A+88>>3]=n+i*r-f*e;b[A+96>>3]=a+f*r+i*e;return}function Jf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0;c=+b[A+24>>3];s=+b[A+16>>3];f=c/s;w=+b[A+48>>3];u=+y(+w)<.1;t=+b[A+40>>3];do{if(u){e=w/t;i=+N(+(e*f));r=-i;if(t<0.0){e=+N(+(e/f));f=r;r=3.141592653589793-i;i=4.71238898038469-e;e=1.5707963267948966-e;break}else{e=+N(+(e/f));f=-3.141592653589793-i;i=1.5707963267948966-e;e=-1.5707963267948966-e;break}}else{e=t/w;i=+N(+(e/f));r=i+1.5707963267948966;if(w<0.0){e=+N(+(e*f));f=i+-1.5707963267948966;i=e+3.141592653589793;break}else{e=+N(+(e*f));f=r;r=i+4.71238898038469;i=e;e=e+-3.141592653589793;break}}}while(0);n=+b[A+56>>3];f=f-+W(+((f-n)*.15915494309189535))*6.283185307179586;e=e-+W(+((e-n)*.15915494309189535))*6.283185307179586;a=r-+W(+((r-n)*.15915494309189535))*6.283185307179586;n=i-+W(+((i-n)*.15915494309189535))*6.283185307179586;l=+b[A+64>>3];if(!(f<=l)){f=+b[A+72>>3];i=+b[A+88>>3];i=f>3]-c*+M(+f)*w;b[A+136>>3]=i;if(!(e<=l)){f=+b[A+80>>3];r=+b[A+96>>3];r=f>3]+ +M(+e)*c*t;b[A+144>>3]=r;if(!(a<=l)){a=+b[A+72>>3];e=+b[A+88>>3];e=a>e?a:e}else e=+D(+a)*s*t+ +b[A>>3]-c*+M(+a)*w;b[A+152>>3]=e-i;if(!(n<=l)){w=+b[A+80>>3];e=+b[A+96>>3];e=w>e?w:e}else e=+D(+n)*s*w+ +b[A+8>>3]+ +M(+n)*c*t;b[A+160>>3]=e-r;return}function Nf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+80|0;s=w;Xf(A);c=+b[i+56>>3];n=+b[i+64>>3];switch(r[i+80>>0]|0){case 116:{n=(+b[i+48>>3]-+Rf(e))*.5+n;f=4;break}case 98:{n=n-(+b[i+48>>3]-+Rf(e))*.5;f=4;break}default:{}}if((f|0)==4)n=n+-1.0;b[s>>3]=c;b[s+8>>3]=n;a[s+20>>2]=a[i+8>>2];a[s+16>>2]=a[i+4>>2];b[s+32>>3]=+b[i+16>>3];t=A+16|0;f=po(a[(a[t>>2]|0)+8>>2]|0,137297)|0;i=s+56|0;a[i>>2]=f;l=s+60|0;a[l>>2]=a[(a[t>>2]|0)+212>>2];t=s+64|0;r[t>>0]=0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))a[i>>2]=137308;if((r[e+4>>0]|0)==1){i=a[e>>2]|0;rr(A,a[(a[A>>2]|0)+336>>2]|0);f=a[i+24>>2]|0;if(!f)$i(A,137314);else $i(A,f);pf(A,i,s);if(r[t>>0]|0)L2(a[l>>2]|0)}else Hf(A,a[e>>2]|0,s);Uf(A);k=w;return}function Xf(A){A=A|0;var e=0,i=0,r=0;e=AI(A)|0;i=a[e>>2]|0;A=a[i+4>>2]|0;a[e+4>>2]=A;a[e+12>>2]=a[i+12>>2];switch(A|0){case 2:{A=i+8|0;r=6;break}case 0:{A=i+8|0;r=6;break}case 1:{A=i+8|0;r=6;break}case 3:{A=i+8|0;r=6;break}default:{}}if((r|0)==6)a[e+8>>2]=a[A>>2];a[e+208>>2]=a[i+208>>2];a[e+228>>2]=a[i+228>>2];a[e+244>>2]=a[i+244>>2];r=e+260|0;f[r>>1]=f[r>>1]&-2|f[i+260>>1]&1;return}function Rf(A){A=A|0;var e=0.0,i=0,f=0;switch(r[A+4>>0]|0){case 1:{i=a[A>>2]|0;A=i+72|0;i=i+56|0;f=5;break}case 3:{i=a[A>>2]|0;A=i+24|0;i=i+8|0;f=5;break}case 2:{i=a[A>>2]|0;A=i+32|0;i=i+16|0;f=5;break}default:e=0.0}if((f|0)==5)e=+b[A>>3]-+b[i>>3];return+e}function Hf(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;w=k;k=k+96|0;t=w+64|0;l=w+32|0;n=w+16|0;c=w;s=f[e+4>>1]|0;if(s<<16>>16>=1){d=e+8|0;o=+b[e+24>>3];u=+b[d>>3];b[c>>3]=(u+o)*.5+ +b[i>>3];b[c+8>>3]=(+b[e+16>>3]+ +b[e+32>>3])*.5+ +b[i+8>>3];h=a[e>>2]|0;B=i+16|0;i=r[e+6>>0]|0;a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[l+16>>2]=a[B+16>>2];a[l+20>>2]=a[B+20>>2];a[l+24>>2]=a[B+24>>2];a[l+28>>2]=a[B+28>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];a[t+16>>2]=a[d+16>>2];a[t+20>>2]=a[d+20>>2];a[t+24>>2]=a[d+24>>2];a[t+28>>2]=a[d+28>>2];ea(A,s<<16>>16,h,n,(o-u)*.5,l,t,i)}k=w;return}function pf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+176|0;v=Z+96|0;E=Z+64|0;C=Z+136|0;o=Z;h=Z+128|0;d=e+48|0;a[E>>2]=a[d>>2];a[E+4>>2]=a[d+4>>2];a[E+8>>2]=a[d+8>>2];a[E+12>>2]=a[d+12>>2];a[E+16>>2]=a[d+16>>2];a[E+20>>2]=a[d+20>>2];a[E+24>>2]=a[d+24>>2];a[E+28>>2]=a[d+28>>2];s=+b[i>>3];w=+b[i+8>>3];d=e+84|0;l=a[d>>2]|0;if(!(a[e>>2]|0))I=(a[e+8>>2]|0)!=0;else I=1;g=e+108|0;t=a[g>>2]|0;if(t|0)xf(i,t,186544);b[E>>3]=+b[E>>3]+s;B=E+16|0;b[B>>3]=+b[B>>3]+s;B=E+8|0;b[B>>3]=+b[B>>3]+w;B=E+24|0;b[B>>3]=+b[B>>3]+w;if(I?(a[A+152>>2]&4|0)==0:0){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];B=Tf(A,i,e,v,C)|0}else B=0;u=e+42|0;t=f[u>>1]|0;if(!(t&32)){c=a[e+20>>2]|0;if(c){t=jf(A,c,a[e+28>>2]|0,t&65535,h)|0;if(!(f[u>>1]&4)){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];nr(A,v,t)}else{u=n[e+33>>0]|0;a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];tN(A,Sf(o,v,u)|0,4,4,t)}L2(a[h>>2]|0)}while(1){t=a[l>>2]|0;if(!t)break;Pf(A,t,i);l=l+4|0}l=a[d>>2]|0;wr(A,1.0);t=e+24|0;while(1){c=l+4|0;l=a[l>>2]|0;if(!l)break;if(!(r[l+100>>0]|0)){l=c;continue}Of(A,l,i,a[t>>2]|0,a[c>>2]|0);l=c}if(r[e+33>>0]|0){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];Kf(A,e,v)}}if(B|0)_f(A,C);if((I?a[A+152>>2]&4|0:0)?(a[v>>2]=a[E>>2],a[v+4>>2]=a[E+4>>2],a[v+8>>2]=a[E+8>>2],a[v+12>>2]=a[E+12>>2],a[v+16>>2]=a[E+16>>2],a[v+20>>2]=a[E+20>>2],a[v+24>>2]=a[E+24>>2],a[v+28>>2]=a[E+28>>2],Tf(A,i,e,v,C)|0):0)_f(A,C);if(a[g>>2]|0)qf(i,186544);k=Z;return}function Uf(A){A=A|0;var e=0;e=a[A+16>>2]|0;a[e+208>>2]=0;a[e+228>>2]=0;a[e+244>>2]=0;a[e+212>>2]=0;eI(A);return}function xf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0;l=A+16|0;f=a[l>>2]|0;if(f|0){if(!(a[e>>2]|0)){f=0;n=i}else{a[i>>2]=f;f=a[e>>2]|0;n=l}a[n>>2]=f}f=a[A+20>>2]|0;if(f|0){n=e+4|0;if(!(a[n>>2]|0)){f=0;n=i}else{a[i+4>>2]=f;f=a[n>>2]|0;n=l}a[n+4>>2]=f}r=+b[A+32>>3];if(r>=0.0){f=e+16|0;if(!(+b[f>>3]>=0.0))r=-1.0;else{b[i+16>>3]=r;r=+b[f>>3];i=l}b[i+16>>3]=r}return}function Tf(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+224|0;w=g+8|0;b=g;v=g+40|0;c=g+184|0;t=g+56|0;s=a[A+16>>2]|0;u=s+208|0;a[l>>2]=a[u>>2];o=s+228|0;a[l+4>>2]=a[o>>2];h=s+244|0;a[l+8>>2]=a[h>>2];d=s+212|0;a[l+12>>2]=a[d>>2];B=s+260|0;r[l+16>>0]=(f[B>>1]<<15&65535)<<16>>16>>15;l=a[i+16>>2]|0;if((l|0)!=0?(r[l>>0]|0)!=0:0)t=0;else{co(v,128,t);t=e+60|0;l=a[t>>2]|0;if(!l){l=s3(rI(A,a[s+8>>2]|0,v)|0)|0;a[t>>2]=l;r[e+64>>0]=1}wo(v,l)|0;t=a[47374]|0;a[47374]=t+1;a[b>>2]=t;P4(c,137391,b)|0;wo(v,c)|0;t=v+4|0;l=a[t>>2]|0;if(l>>>0>=(a[v+8>>2]|0)>>>0){bo(v,1)|0;l=a[t>>2]|0}r[l>>0]=0;l=a[v>>2]|0;a[t>>2]=l;t=1}l=iI(A,0,a[i>>2]|0,a[i+12>>2]|0,a[i+8>>2]|0,l,a[s+8>>2]|0)|0;if(t)uo(v);do{if(l|0){if((a[u>>2]|0)==0?(f[B>>1]&1)==0:0)break;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];a[w+16>>2]=a[n+16>>2];a[w+20>>2]=a[n+20>>2];a[w+24>>2]=a[n+24>>2];a[w+28>>2]=a[n+28>>2];bI(A,w);Pi(A,a[u>>2]|0,a[o>>2]|0,a[h>>2]|0,a[d>>2]|0)}}while(0);k=g;return l|0}function jf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0;t=k;k=k+16|0;l=t;if(!((qM(e,f,l)|0)<<24>>24)){er(A,e);e=1}else{er(A,a[f>>2]|0);e=a[f+4>>2]|0;n=+c[l>>2];if(!e)ir(A,137314,i,n);else ir(A,e,i,n);e=r>>>1&1|2}$i(A,137379);k=t;return e|0}function Sf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];r=A+32|0;e=e+16|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];if((i|0)>1){t=+(i|0)*.5;l=+b[A>>3]+t;b[A>>3]=l;i=A+8|0;n=+b[i>>3]+t;b[i>>3]=n;f=+b[r>>3]-t;b[r>>3]=f;r=A+40|0;t=+b[r>>3]-t;b[r>>3]=t}else{f=+b[r>>3];n=+b[A+8>>3];l=+b[A>>3];t=+b[A+40>>3]}b[A+16>>3]=f;b[A+24>>3]=n;b[A+48>>3]=l;b[A+56>>3]=t;return A|0}function Pf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+176|0;d=E+96|0;B=E+136|0;v=E+64|0;o=E;h=E+128|0;g=e+48|0;a[v>>2]=a[g>>2];a[v+4>>2]=a[g+4>>2];a[v+8>>2]=a[g+8>>2];a[v+12>>2]=a[g+12>>2];a[v+16>>2]=a[g+16>>2];a[v+20>>2]=a[g+20>>2];a[v+24>>2]=a[g+24>>2];a[v+28>>2]=a[g+28>>2];t=+b[i>>3];c=+b[i+8>>3];if(!(a[e>>2]|0))g=(a[e+8>>2]|0)!=0;else g=1;b[v>>3]=+b[v>>3]+t;u=v+16|0;b[u>>3]=+b[u>>3]+t;u=v+8|0;b[u>>3]=+b[u>>3]+c;u=v+24|0;b[u>>3]=+b[u>>3]+c;if(g?(a[A+152>>2]&4|0)==0:0){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];u=Tf(A,i,e,d,B)|0}else u=0;w=e+42|0;l=f[w>>1]|0;A:do{if(!(l&32)){s=a[e+20>>2]|0;if(s|0){l=jf(A,s,a[e+28>>2]|0,l&65535,h)|0;if(!(f[w>>1]&4)){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];nr(A,d,l)}else{w=n[e+33>>0]|0;a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];tN(A,Sf(o,d,w)|0,4,4,l)}L2(a[h>>2]|0)}if(r[e+33>>0]|0){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];Kf(A,e,d)}l=e+88|0;switch(r[e+92>>0]|0){case 1:{pf(A,a[l>>2]|0,i);break A}case 3:{Aa(A,a[l>>2]|0,i);break A}default:{Hf(A,a[l>>2]|0,i);break A}}}}while(0);if(u|0)_f(A,B);if((g?a[A+152>>2]&4|0:0)?(a[d>>2]=a[v>>2],a[d+4>>2]=a[v+4>>2],a[d+8>>2]=a[v+8>>2],a[d+12>>2]=a[v+12>>2],a[d+16>>2]=a[v+16>>2],a[d+20>>2]=a[v+20>>2],a[d+24>>2]=a[v+24>>2],a[d+28>>2]=a[v+28>>2],Tf(A,i,e,d,B)|0):0)_f(A,B);k=E;return}function Of(A,e,i,t,c){A=A|0;e=e|0;i=i|0;t=t|0;c=c|0;var s=0.0,w=0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0;Q=k;k=k+32|0;Z=Q+16|0;G=Q;d=+b[i>>3];I=+b[i+8>>3];h=(t|0)==0?137314:t;er(A,h);$i(A,h);v=+b[e+48>>3];u=+b[e+56>>3];g=+b[e+64>>3];o=+b[e+72>>3];B=v+d;d=g+d;I=u+I;h=e+100|0;i=r[h>>0]|0;if((i&1)!=0?(w=a[e+96>>2]|0,((l[e+80>>1]|0)+(l[e+84>>1]|0)|0)<(a[w+104>>2]|0)):0){i=f[e+86>>1]|0;do{if(i<<16>>16)if(((l[e+82>>1]|0)+(i&65535)|0)==(a[w+100>>2]|0)){m=r[w+32>>0]|0;L=(m<<24>>24)/2|0;t=(L<<24>>24)+(n[w+33>>0]|0)|0;i=t;t=t&255;s=I-+(L<<24>>24);w=m;break}else{w=r[w+32>>0]|0;i=0;t=((w<<24>>24)/2|0)<<24>>24;s=I;break}else{L=r[w+32>>0]|0;t=((L<<24>>24)/2|0)<<24>>24;i=t+(n[w+33>>0]|0)|0;s=I;w=L}}while(0);b[G+8>>3]=s-+(t|0);b[G>>3]=d+ +(((w<<24>>24)/2|0)<<24>>24);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];$f(A,Z,0.0,o-u+ +(i&255|0)+ +(w<<24>>24));i=r[h>>0]|0}if(i&2?(E=f[e+86>>1]|0,C=a[e+96>>2]|0,((l[e+82>>1]|0)+(E&65535)|0)<(a[C+100>>2]|0)):0){i=f[e+84>>1]|0;do{if(!(i<<16>>16)){i=r[C+32>>0]|0;L=(i<<24>>24)/2|0;w=(L<<24>>24)+(n[C+33>>0]|0)|0;t=w&255;w=w&255;s=+(L<<24>>24);b[G>>3]=B-s-+(w|0);if((a[C+104>>2]|0)==(l[e+80>>1]|0)){t=w<<1&255;break}if((c|0)!=0?(f[c+86>>1]|0)!=E<<16>>16:0)t=~~(+(t&255)-g+ +b[C+64>>3]-s)&255}else{if(((l[e+80>>1]|0)+(i&65535)|0)==(a[C+104>>2]|0)){i=r[C+32>>0]|0;L=(i<<24>>24)/2|0;t=(L&255)+(n[C+33>>0]|0)&255;b[G>>3]=B-+(L<<24>>24);break}i=r[C+32>>0]|0;s=+(((i<<24>>24)/2|0)<<24>>24);b[G>>3]=B-s;if((c|0)!=0?(f[c+86>>1]|0)!=E<<16>>16:0)t=~~(+b[C+64>>3]-g-s)&255;else t=0}}while(0);b[G+8>>3]=I-+(((i<<24>>24)/2|0)<<24>>24);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];$f(A,Z,g-v+ +(t&255)+ +(i<<24>>24),0.0)}k=Q;return}function Kf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0;o=k;k=k+160|0;u=o+112|0;w=o;t=o+144|0;s=a[e+24>>2]|0;$i(A,(s|0)==0?137314:s);s=e+42|0;l=f[s>>1]|0;if(!(l&384))rr(A,a[(a[A>>2]|0)+336>>2]|0);else{a[t+4>>2]=0;a[t>>2]=0;l=l&65535;if(!(l&256)){if(l&128|0){l=137320;c=4}}else{l=137327;c=4}if((c|0)==4)a[t>>2]=l;rr(A,t)}c=e+33|0;wr(A,+(n[c>>0]|0));A:do{if(!(f[s>>1]&4)){l=f[e+36>>1]&15360;if(!(l<<16>>16)){l=r[c>>0]|0;if((l&255)>1){h=+(l&255)*.5;b[i>>3]=+b[i>>3]+h;w=i+8|0;b[w>>3]=+b[w>>3]+h;w=i+16|0;b[w>>3]=+b[w>>3]-h;w=i+24|0;b[w>>3]=+b[w>>3]-h}a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];nr(A,u,0);break}t=w+16|0;s=n[c>>0]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];Sf(t,u,s)|0;do{switch(((l&65535)+-1024|0)>>>10&4194303|0){case 7:{tr(A,t,2);break A}case 3:{tr(A,w+32|0,2);break A}case 1:{tr(A,w+48|0,2);break A}case 0:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,2);break A}case 11:{tr(A,t,3);break A}case 5:{tr(A,w+32|0,3);break A}case 2:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];tr(A,w+48|0,3);break A}case 8:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,3);break A}case 13:{tr(A,t,4);break A}case 6:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];tr(A,w+32|0,4);break A}case 10:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];i=w+96|0;u=w+32|0;a[i>>2]=a[u>>2];a[i+4>>2]=a[u+4>>2];a[i+8>>2]=a[u+8>>2];a[i+12>>2]=a[u+12>>2];tr(A,w+48|0,4);break A}case 12:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,4);break A}case 9:{tr(A,t,2);tr(A,w+48|0,2);break A}case 4:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,2);tr(A,w+32|0,2);break A}default:break A}}while(0)}else{s=n[c>>0]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];tN(A,Sf(w,u,s)|0,4,4,0)}}while(0);k=o;return}function _f(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=a[A+16>>2]|0;i=l+208|0;if((a[i>>2]|0)==0?(f[l+260>>1]&1)==0:0)A=0;else{Oi(A);A=a[i>>2]|0}if((A|0)!=(a[e>>2]|0)){L2(A);a[i>>2]=a[e>>2]}A=l+228|0;i=a[A>>2]|0;n=e+4|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}A=l+244|0;i=a[A>>2]|0;n=e+8|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}A=l+212|0;i=a[A>>2]|0;n=e+12|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}l=l+260|0;f[l>>1]=f[l>>1]&-2|r[e+16>>0]&1;return}function qf(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=a[e>>2]|0;if(r|0)a[A+16>>2]=r;r=a[e+4>>2]|0;if(r|0)a[A+20>>2]=r;i=+b[e+16>>3];if(i>=0.0)b[A+32>>3]=i;return}function $f(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0,l=0;f=k;k=k+64|0;n=f+32|0;l=f;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];b[l+16>>3]=+b[e>>3]+i;b[l+24>>3]=+b[e+8>>3]+r;a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];a[n+16>>2]=a[l+16>>2];a[n+20>>2]=a[l+20>>2];a[n+24>>2]=a[l+24>>2];a[n+28>>2]=a[l+28>>2];nr(A,n,1);k=f;return}function Aa(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0.0;l=k;k=k+64|0;n=l;c=+b[i>>3];w=c+ +b[e>>3];s=+b[i+8>>3];t=s+ +b[e+8>>3];c=c+ +b[e+16>>3];s=s+ +b[e+24>>3];b[n>>3]=c;b[n+8>>3]=s;b[n+32>>3]=w;b[n+40>>3]=t;b[n+16>>3]=w;b[n+24>>3]=s;b[n+48>>3]=c;b[n+56>>3]=t;f=a[e+36>>2]|0;if(!f)f=a[i+56>>2]|0;i=a[e+32>>2]|0;if(!i)vA(137334,137342,623,137354);if(!(r[i>>0]|0))vA(137368,137342,624,137354);else{br(A,i,n,4,1,f);k=l;return}}function ea(A,e,i,n,l,t,c,s){A=A|0;e=e|0;i=i|0;n=n|0;l=+l;t=t|0;c=c|0;s=s|0;var w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0.0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,U=0;U=k;k=k+128|0;V=U+104|0;R=U+48|0;H=U+16|0;J=U;F=J;a[F>>2]=0;a[F+4>>2]=0;N=+b[n>>3];X=N-l;M=N+l;F=J+8|0;b[F>>3]=(+b[c+24>>3]-+b[c+8>>3])*.5+ +b[n+8>>3];Ki(A,1);W=H+16|0;y=H+4|0;z=H+24|0;Y=R+4|0;D=R+16|0;B=(s|0)==0;v=R+24|0;g=R+8|0;E=R+32|0;C=R+40|0;I=R+48|0;Z=t+16|0;G=t+4|0;Q=H+8|0;h=0;while(1){if((h|0)>=(e|0))break;switch(r[i+(h*24|0)+6>>0]|0){case 108:{l=X;break}case 114:{l=M-+b[i+(h*24|0)+8>>3];break}default:l=N-+b[i+(h*24|0)+8>>3]*.5}b[n>>3]=l;m=i+(h*24|0)+16|0;b[F>>3]=+b[F>>3]-+b[m>>3];L=i+(h*24|0)+4|0;o=a[i+(h*24|0)>>2]|0;d=0;while(1){if((d|0)>=(f[L>>1]|0))break;u=o+4|0;s=a[u>>2]|0;if(s){b[W>>3]=+b[(+b[s+16>>3]>0.0?s:t)+16>>3];a[H>>2]=a[((a[s>>2]|0)==0?t:s)>>2];c=a[((a[s+4>>2]|0)==0?t:s)+4>>2]|0;a[y>>2]=c;s=a[s+24>>2]&127;if(!s)p=12;else s=a[z>>2]&-128|s}else{b[W>>3]=+b[Z>>3];a[H>>2]=a[t>>2];c=a[G>>2]|0;a[y>>2]=c;p=12}if((p|0)==12){p=0;s=a[z>>2]&-128}a[z>>2]=s;$i(A,c);a[R>>2]=a[o>>2];a[Y>>2]=H;b[D>>3]=+b[o+16>>3];if(B)w=1.0;else w=+b[o+24>>3];b[v>>3]=w;a[Q>>2]=a[(a[u>>2]|0)+8>>2];a[g>>2]=a[o+8>>2];u=o+32|0;b[E>>3]=+b[u>>3];b[C>>3]=+b[m>>3];r[I>>0]=108;b[J>>3]=l;a[V>>2]=a[J>>2];a[V+4>>2]=a[J+4>>2];a[V+8>>2]=a[J+8>>2];a[V+12>>2]=a[J+12>>2];qi(A,V,R);w=+b[u>>3]+l;b[n>>3]=w;o=o+56|0;d=d+1|0;l=w}h=h+1|0}_i(A);k=U;return}function ia(A){A=A|0;L2(a[A>>2]|0);L2(a[A+4>>2]|0);L2(a[A+8>>2]|0);L2(a[A+16>>2]|0);L2(a[A+12>>2]|0);L2(a[A+20>>2]|0);L2(a[A+24>>2]|0);return}function ra(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;if(A|0){c=A+4|0;i=0;n=a[A>>2]|0;while(1){if((i|0)>=(f[c>>1]|0))break;b=n+4|0;e=0;r=a[n>>2]|0;while(1){if((e|0)>=(f[b>>1]|0))break;L2(a[r>>2]|0);l=a[r+8>>2]|0;if(l|0?(t=a[r+12>>2]|0,t|0):0)F5[t&127](l);e=e+1|0;r=r+56|0}i=i+1|0;n=n+24|0}e=a[A>>2]|0;if(e|0)L2(e);L2(A)}return}function fa(A){A=A|0;L2(a[A+32>>2]|0);L2(A);return}function aa(A,e){A=A|0;e=e|0;switch(r[A+4>>0]|0){case 1:{na(a[A>>2]|0);break}case 3:{fa(a[A>>2]|0);break}default:ra(a[A>>2]|0)}if(e|0)L2(A);return}function na(A){A=A|0;var e=0,i=0,r=0;r=A+84|0;if((a[A+100>>2]|0)==-1)pk(a[r>>2]|0)|0;else{e=a[r>>2]|0;L2(a[A+92>>2]|0);L2(a[A+96>>2]|0);while(1){i=a[e>>2]|0;if(!i)break;la(i);e=e+4|0}L2(a[r>>2]|0)}ia(A);L2(A);return}function la(A){A=A|0;aa(A+88|0,0);ia(A);L2(A);return}function ta(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A=a[(a[(a[A+16>>2]|0)+104>>2]|0)+72>>2]|0;if((r[A+4>>0]|0)!=2?(f=ca(a[A>>2]|0,e)|0,(f|0)!=0):0){a[i>>2]=n[f+35>>0];A=f+48|0}else A=0;return A|0}function ca(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[A+4>>2]|0;if(!((i|0)!=0?(N1(i,e)|0)==0:0))r=3;A:do{if((r|0)==3){i=a[A+84>>2]|0;while(1){A=a[i>>2]|0;if(!A){A=0;break A}A=ba(A,e)|0;if(!A)i=i+4|0;else break}}}while(0);return A|0}function ba(A,e){A=A|0;e=e|0;var i=0;i=a[A+4>>2]|0;if(!((i|0)!=0?(N1(i,e)|0)==0:0))if((r[A+92>>0]|0)==1)A=ca(a[A+88>>2]|0,e)|0;else A=0;return A|0}function sa(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function wa(A){A=A|0;var e=0.0,i=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=A+92|0;a[o>>2]=qF((a[A+100>>2]<<2)+4|0)|0;u=qF((a[A+104>>2]<<2)+4|0)|0;a[A+96>>2]=u;k=A+32|0;w=a[A+84>>2]|0;while(1){s=a[w>>2]|0;if(!s)break;A=f[s+82>>1]|0;e=+b[s+72>>3];if(A<<16>>16==1)n=~~e;else{n=~~((e-+(U((r[k>>0]|0)+-1|0,(A&65535)+-1|0)|0))/+(A&65535));n=(n|0)>1?n:1}t=f[s+80>>1]|0;e=+b[s+64>>3];if(t<<16>>16==1)c=~~e;else{c=~~((e-+(U((r[k>>0]|0)+-1|0,(t&65535)+-1|0)|0))/+(t&65535));c=(c|0)>1?c:1}h=l[s+86>>1]|0;i=(A&65535)+h|0;A=h;while(1){if((A|0)>=(i|0))break;h=(a[o>>2]|0)+(A<<2)|0;d=a[h>>2]|0;a[h>>2]=(d|0)>(n|0)?d:n;A=A+1|0}A=l[s+84>>1]|0;i=(t&65535)+A|0;while(1){if((A|0)>=(i|0))break;d=u+(A<<2)|0;h=a[d>>2]|0;a[d>>2]=(h|0)>(c|0)?h:c;A=A+1|0}w=w+4|0}return}function ua(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;if(A>>>0<21)A=a[55840+(A<<2)>>2]|0;else{a[e>>2]=A;P4(194959,137395,e)|0;A=194959}k=i;return A|0}function ka(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0;c=A+104|0;s=A+100|0;t=i+16|0;r=0;f=0;while(1){if((r|0)>(a[c>>2]|0))break;n=vd(i,ua(r)|0,1)|0;Td(n,137447,304,1)|0;w=n+16|0;a[(a[w>>2]|0)+176>>2]=0;k=qF((a[s>>2]<<2)+4|0)|0;u=a[w>>2]|0;a[u+172>>2]=k;a[u+184>>2]=0;u=qF((a[s>>2]<<2)+4|0)|0;a[(a[w>>2]|0)+180>>2]=u;if(!f)a[(a[t>>2]|0)+192>>2]=n;else a[(a[f+16>>2]|0)+164>>2]=n;r=r+1|0;f=n}t=e+16|0;r=0;f=0;while(1){if((r|0)>(a[s>>2]|0))break;n=vd(e,ua(r)|0,1)|0;Td(n,137447,304,1)|0;k=n+16|0;a[(a[k>>2]|0)+176>>2]=0;w=qF((a[c>>2]<<2)+4|0)|0;u=a[k>>2]|0;a[u+172>>2]=w;a[u+184>>2]=0;u=qF((a[c>>2]<<2)+4|0)|0;a[(a[k>>2]|0)+180>>2]=u;if(!f)a[(a[t>>2]|0)+192>>2]=n;else a[(a[f+16>>2]|0)+164>>2]=n;r=r+1|0;f=n}r=a[A+84>>2]|0;while(1){f=a[r>>2]|0;if(!f)break;k=f+84|0;u=vd(i,ua(l[k>>1]|0)|0,0)|0;k=vd(i,ua((l[f+80>>1]|0)+(l[k>>1]|0)|0)|0,0)|0;oa(i,u,k,~~+b[f+64>>3]);k=f+86|0;u=vd(e,ua(l[k>>1]|0)|0,0)|0;k=vd(e,ua((l[f+82>>1]|0)+(l[k>>1]|0)|0)|0,0)|0;oa(e,u,k,~~+b[f+72>>3]);r=r+4|0}ha(i);ha(e);return}function oa(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0;n=th(A,e,i,0,0)|0;if(!n){t=th(A,e,i,0,1)|0;Td(t,137460,176,1)|0;f[(a[t+16>>2]|0)+170>>1]=r;e=e+16|0;A=a[e>>2]|0;n=a[A+180>>2]|0;if(!n)A=$F((a[A+184>>2]<<2)+8|0)|0;else A=eV(n,(a[A+184>>2]<<2)+8|0)|0;r=a[e>>2]|0;a[r+180>>2]=A;r=r+184|0;n=a[r>>2]|0;a[r>>2]=n+1;a[A+(n<<2)>>2]=t;e=a[e>>2]|0;a[(a[e+180>>2]|0)+(a[e+184>>2]<<2)>>2]=0;e=i+16|0;A=a[e>>2]|0;n=a[A+172>>2]|0;if(!n)A=$F((a[A+176>>2]<<2)+8|0)|0;else A=eV(n,(a[A+176>>2]<<2)+8|0)|0;r=a[e>>2]|0;a[r+172>>2]=A;r=r+176|0;i=a[r>>2]|0;a[r>>2]=i+1;a[A+(i<<2)>>2]=t;t=a[e>>2]|0;a[(a[t+172>>2]|0)+(a[t+176>>2]<<2)>>2]=0}else{t=(a[n+16>>2]|0)+170|0;i=l[t>>1]|0;f[t>>1]=(i|0)>(r|0)?i:r}return}function ha(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;e=a[(a[A+16>>2]|0)+192>>2]|0;while(1){r=e+16|0;l=a[(a[r>>2]|0)+164>>2]|0;if(!l)break;if(th(A,e,l,0,0)|0){e=l;continue}n=th(A,e,l,0,1)|0;Td(n,137460,176,1)|0;f[(a[n+16>>2]|0)+170>>1]=0;e=a[r>>2]|0;i=a[e+180>>2]|0;if(!i)e=$F((a[e+184>>2]<<2)+8|0)|0;else e=eV(i,(a[e+184>>2]<<2)+8|0)|0;t=a[r>>2]|0;a[t+180>>2]=e;t=t+184|0;i=a[t>>2]|0;a[t>>2]=i+1;a[e+(i<<2)>>2]=n;r=a[r>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=l+16|0;e=a[r>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;i=a[r>>2]|0;a[i+172>>2]=e;i=i+176|0;t=a[i>>2]|0;a[i>>2]=t+1;a[e+(t<<2)>>2]=n;e=a[r>>2]|0;a[(a[e+172>>2]|0)+(a[e+176>>2]<<2)>>2]=0;e=l}return}function da(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=A+92|0;r=0;f=0;e=a[(a[(a[e+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=a[e+164>>2]|0;if(!e)break;e=a[e+16>>2]|0;l=e+232|0;a[(a[n>>2]|0)+(f<<2)>>2]=(a[l>>2]|0)-r;r=a[l>>2]|0;f=f+1|0}A=A+96|0;r=0;f=0;e=a[(a[(a[i+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=a[e+164>>2]|0;if(!e)break;e=a[e+16>>2]|0;l=e+232|0;a[(a[A>>2]|0)+(f<<2)>>2]=(a[l>>2]|0)-r;r=a[l>>2]|0;f=f+1|0}return}function Ba(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l+4|0;e=l;a[e>>2]=a[4647];i=a[A+100>>2]|0;if((i|0)!=1?(f=A+104|0,(a[f>>2]|0)!=1):0){a[A+92>>2]=qF((i<<2)+4|0)|0;a[A+96>>2]=qF((a[f>>2]<<2)+4|0)|0;r[n>>0]=r[e>>0]|0;r[n+1>>0]=r[e+1>>0]|0;r[n+2>>0]=r[e+2>>0]|0;r[n+3>>0]=r[e+3>>0]|0;f=kh(137473,n,0)|0;r[n>>0]=r[e>>0]|0;r[n+1>>0]=r[e+1>>0]|0;r[n+2>>0]=r[e+2>>0]|0;r[n+3>>0]=r[e+3>>0]|0;n=kh(137478,n,0)|0;Td(f,137483,280,1)|0;Td(n,137483,280,1)|0;ka(A,f,n);JV(f,2,2147483647)|0;JV(n,2,2147483647)|0;da(A,f,n);va(f,n)}else wa(A);k=l;return}function va(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=(a[e+16>>2]|0)+192|0;while(1){i=a[i>>2]|0;if(!i)break;f=i+16|0;i=a[f>>2]|0;r=a[i+172>>2]|0;if(r){L2(r);i=a[f>>2]|0}r=a[i+180>>2]|0;if(r){L2(r);i=a[f>>2]|0}i=i+164|0}Bh(A)|0;Bh(e)|0;return}function ga(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0;o=k;k=k+272|0;w=o+104|0;u=o+136|0;t=o+72|0;c=o;n=o+144|0;a[c+48>>2]=A;switch(Md(A)|0){case 0:{i=a[A+60>>2]|0;break}case 1:{i=Id(A)|0;break}case 2:{i=Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;break}default:{}}l=c+52|0;a[l>>2]=i;s=a[i+60>>2]|0;b[c+32>>3]=+b[e+16>>3];a[c+16>>2]=a[e+4>>2];a[c+20>>2]=a[e+8>>2];a[c+40>>2]=0;f=zl(a[e>>2]|0,u,c)|0;if(!f){co(w,128,n);r[e+82>>0]=0;i=s3(Ea(A,w)|0)|0;a[e>>2]=i;if((a[e+12>>2]|0)==1)i=EH(i)|0;else i=BH(i,a[l>>2]|0)|0;L2(a[e>>2]|0);a[e>>2]=i;RF(a[(a[s+16>>2]|0)+144>>2]|0,e);uo(w);i=a[u>>2]|0}else{i=f+4|0;if((r[i>>0]|0)==1){if((a[(a[f>>2]|0)+24>>2]|0)==0?Ca(A)|0:0){l=s3(Ca(A)|0)|0;a[(a[f>>2]|0)+24>>2]=l}s=Ia(s,a[f>>2]|0,0,c)|0;a[u>>2]=a[u>>2]|s;s=a[f>>2]|0;d=+b[s+64>>3]*.5;h=+b[s+72>>3]*.5;Za(t,-d,-h,d,h);s=a[f>>2]|0;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[w+16>>2]=a[t+16>>2];a[w+20>>2]=a[t+20>>2];a[w+24>>2]=a[t+24>>2];a[w+28>>2]=a[t+28>>2];Ga(s,w,15)}else{Qa(a[(a[s+16>>2]|0)+144>>2]|0,a[f>>2]|0,c);w=a[f>>2]|0;h=+b[w+24>>3]*.5;d=+b[w+32>>3]*.5;Za(t,-h,-d,h,d);w=(a[f>>2]|0)+8|0;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[w+16>>2]=a[t+16>>2];a[w+20>>2]=a[t+20>>2];a[w+24>>2]=a[t+24>>2];a[w+28>>2]=a[t+28>>2]}b[e+24>>3]=+b[t+16>>3]-+b[t>>3];b[e+32>>3]=+b[t+24>>3]-+b[t+8>>3];a[e+72>>2]=f;if((r[i>>0]|0)==1){L2(a[e>>2]|0);a[e>>2]=s3(141611)|0}i=a[u>>2]|0}k=o;return i|0}function Ea(A,e){A=A|0;e=e|0;var i=0;A:do{switch(Md(A)|0){case 0:{wo(e,Vh(A)|0)|0;break}case 1:{wo(e,Vh(A)|0)|0;break}case 2:{wo(e,Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)|0;i=A+-48|0;wo(e,Vh(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0;if(!(Ih(Id(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0)){wo(e,141747)|0;break A}else{wo(e,137738)|0;break A}}default:{}}}while(0);i=e+4|0;A=a[i>>2]|0;if(A>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;A=a[i>>2]|0}r[A>>0]=0;e=a[e>>2]|0;a[i>>2]=e;return e|0}function Ca(A){A=A|0;var e=0,i=0;e=po(A,137729)|0;if(!((e|0)!=0?(r[e>>0]|0)!=0:0))i=3;do{if((i|0)==3){e=po(A,140823)|0;if(e|0?r[e>>0]|0:0)break;e=0}}while(0);return e|0}function Ia(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+16|0;g=C+8|0;v=C;E=e+108|0;c=a[E>>2]|0;if(c|0)xf(t,c,186576);a[e+80>>2]=i;c=ya(A,e,t)|0;d=e+36|0;A=f[d>>1]|0;if(!(A&128))r[e+32>>0]=2;i=e+33|0;if(!(A&32))r[i>>0]=1;Ba(e);w=a[e+104>>2]|0;o=r[e+32>>0]|0;A=U(w+1|0,o)|0;u=n[i>>0]<<1;h=a[e+100>>2]|0;o=U(h+1|0,o)|0;s=e+96|0;A=u+A|0;i=0;while(1){if((i|0)>=(w|0))break;A=(a[(a[s>>2]|0)+(i<<2)>>2]|0)+A|0;i=i+1|0}w=e+92|0;i=o+u|0;s=0;while(1){if((s|0)>=(h|0))break;i=(a[(a[w>>2]|0)+(s<<2)>>2]|0)+i|0;s=s+1|0}w=e+38|0;do{if(f[d>>1]&1){d=f[w>>1]|0;s=d&65535;if(d<<16>>16?(B=f[e+40>>1]|0,B<<16>>16):0){if(!((A|0)>(s|0)|(i|0)>(B&65535|0))){i=0;A=0;break}ao(0,137529,v)|0;c=1;i=0;A=0;break}ao(0,137563,g)|0;c=1}}while(0);g=l[w>>1]|0;b[e+64>>3]=+(((A|0)>(g|0)?A:g)|0);g=l[e+40>>1]|0;b[e+72>>3]=+(((i|0)>(g|0)?i:g)|0);if(a[E>>2]|0)qf(t,186576);k=C;return c|0}function Za(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function Ga(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0.0,V=0;M=k;k=k+64|0;Y=M+32|0;D=M;y=a[A+84>>2]|0;c=a[A+80>>2]|0;if((c|0?(l=a[c+24>>2]|0,l|0):0)?(t=A+24|0,(a[t>>2]|0)==0):0)a[t>>2]=s3(l)|0;z=A+48|0;l=e+16|0;w=+b[l>>3];s=+b[e>>3];c=~~(w-s-+(~~+b[A+64>>3]|0));if((c|0)<=-1)vA(137496,137342,1761,137506);u=e+24|0;Z=+b[u>>3];o=e+8|0;h=+b[o>>3];d=+(~~+b[A+72>>3]|0);B=~~(Z-h-d);if((B|0)<=-1)vA(137519,137342,1764,137506);v=f[A+36>>1]|0;t=v&65535;A:do{if(t&1){e:do{if((c|0)>0)switch(t&6){case 4:{b[l>>3]=s+d;break e}case 2:{F=+(c|0);b[l>>3]=w+F;s=s+F;b[e>>3]=s;break e}default:{F=+(c>>>1|0);s=s+F;b[e>>3]=s;b[l>>3]=w-F;break e}}}while(0);if((B|0)>0)switch(v&24){case 16:{Z=h+d;b[u>>3]=Z;B=0;l=0;break A}case 8:{F=+(B|0);Z=Z+F;b[u>>3]=Z;b[o>>3]=h+F;B=0;l=0;break A}default:{F=+(B>>>1|0);b[o>>3]=h+F;Z=Z-F;b[u>>3]=Z;B=0;l=0;break A}}else{B=0;l=0}}else l=c}while(0);w=+(n[A+33>>0]|0);L=A+32|0;g=r[L>>0]|0;h=+(g<<24>>24);W=A+104|0;c=a[W>>2]|0;v=(l|0)/(c|0)|0;u=l-(U(v,c)|0)|0;u=~~(((u|0)>-1?.5:-.5)+ +(u|0));m=A+96|0;o=g<<24>>24;l=~~(s+w+h);t=0;while(1){if((t|0)>(c|0))break;Q=(a[m>>2]|0)+(t<<2)|0;c=a[Q>>2]|0;a[Q>>2]=l;l=l+v+((t|0)<(u|0)&1)+c+o|0;t=t+1|0;c=a[W>>2]|0}Q=A+100|0;c=a[Q>>2]|0;v=(B|0)/(c|0)|0;o=B-(U(v,c)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));G=A+92|0;u=g<<24>>24;l=~~(Z-w-h);t=0;while(1){if((t|0)>(c|0))break;I=(a[G>>2]|0)+(t<<2)|0;c=a[I>>2]|0;a[I>>2]=l;l=l-v+(((t|0)<(o|0))<<31>>31)-c-u|0;t=t+1|0;c=a[Q>>2]|0}g=(i|0)==0;E=D+16|0;C=D+24|0;I=D+8|0;l=y;while(1){u=a[l>>2]|0;if(!u)break;c=f[u+84>>1]|0;if(g){t=0;o=f[u+80>>1]|0;B=f[u+86>>1]|0;v=f[u+82>>1]|0}else{t=c<<16>>16==0?8:0;B=f[u+86>>1]|0;t=B<<16>>16==0?t|4:t;o=f[u+80>>1]|0;v=f[u+82>>1]|0;t=(((o&65535)+(c&65535)|0)==(a[W>>2]|0)?t|2:t)|((v&65535)+(B&65535)|0)==(a[Q>>2]|0)}V=a[m>>2]|0;c=c&65535;b[D>>3]=+(a[V+(c<<2)>>2]|0);y=r[L>>0]|0;b[E>>3]=+((a[V+((o&65535)+c<<2)>>2]|0)-y|0);o=a[G>>2]|0;b[C>>3]=+(a[o+((B&65535)<<2)>>2]|0);b[I>>3]=+((a[o+((v&65535)+(B&65535)<<2)>>2]|0)+y|0);a[Y>>2]=a[D>>2];a[Y+4>>2]=a[D+4>>2];a[Y+8>>2]=a[D+8>>2];a[Y+12>>2]=a[D+12>>2];a[Y+16>>2]=a[D+16>>2];a[Y+20>>2]=a[D+20>>2];a[Y+24>>2]=a[D+24>>2];a[Y+28>>2]=a[D+28>>2];ma(u,Y,t&i);l=l+4|0}r[A+35>>0]=i;a[z>>2]=a[e>>2];a[z+4>>2]=a[e+4>>2];a[z+8>>2]=a[e+8>>2];a[z+12>>2]=a[e+12>>2];a[z+16>>2]=a[e+16>>2];a[z+20>>2]=a[e+20>>2];a[z+24>>2]=a[e+24>>2];a[z+28>>2]=a[e+28>>2];k=M;return}function Qa(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0.0,p=0.0,U=0.0;R=k;k=k+112|0;D=R+48|0;M=R+16|0;F=R;a[M>>2]=0;a[M+4>>2]=0;a[M+8>>2]=0;a[M+12>>2]=0;a[M+16>>2]=0;a[M+20>>2]=0;a[M+24>>2]=0;a[M+28>>2]=0;V=e+4|0;J=i+16|0;N=i+32|0;X=M+16|0;d=f[V>>1]|0;w=d<<16>>16;n=0;t=-1.0;s=0;while(1){if((s|0)>=(w|0)){n=1;break}l=a[e>>2]|0;if((f[l+(s*24|0)+4>>1]|0)>1){n=0;break}l=a[(a[l+(s*24|0)>>2]|0)+4>>2]|0;if(!l){c=+b[N>>3];b[X>>3]=c;l=J}else{if(a[l+24>>2]&127|0){n=0;break}c=+b[(+b[l+16>>3]>0.0?l:J)+16>>3];b[X>>3]=c;l=(a[l>>2]|0)==0?J:l}l=a[l>>2]|0;a[M>>2]=l;if(!(t==-1.0)){if(c!=t){n=0;break}}else t=c;if(n){if(A1(l,n)|0){n=0;break}}else n=l;s=s+1|0}r[e+6>>0]=n;y=i+48|0;z=i+20|0;Y=M+4|0;C=i+40|0;I=M+24|0;Z=A+144|0;G=D+4|0;E=F+8|0;Q=D+16|0;m=D+24|0;L=D+8|0;W=D+12|0;i=(n|0)==0;t=0.0;B=0.0;v=0.0;g=0.0;w=0;n=d;while(1){if((w|0)>=(n<<16>>16|0))break;c=0.0;h=0.0;s=0;o=0.0;t=0.0;l=a[e>>2]|0;while(1){if((s|0)>=(f[l+(w*24|0)+4>>1]|0))break;a[D>>2]=SF(a[(a[l+(w*24|0)>>2]|0)+(s*56|0)>>2]|0,a[y>>2]|0)|0;l=(a[e>>2]|0)+(w*24|0)|0;n=a[(a[l>>2]|0)+(s*56|0)+4>>2]|0;if(!n){b[X>>3]=+b[N>>3];a[M>>2]=a[J>>2];a[Y>>2]=a[z>>2];a[I>>2]=a[I>>2]&-128|a[C>>2]&127}else{n=a[n+24>>2]&127;if(!n)n=a[C>>2]&127;a[I>>2]=a[I>>2]&-128|n;d=a[(a[l>>2]|0)+(s*56|0)+4>>2]|0;b[X>>3]=+b[(+b[d+16>>3]>0.0?d:J)+16>>3];a[M>>2]=a[((a[d>>2]|0)==0?J:d)>>2];a[Y>>2]=a[((a[d+4>>2]|0)==0?J:d)+4>>2]}l=a[Z>>2]|0;a[G>>2]=W5[a[l>>2]&63](l,M,1)|0;AR(F,A,D);p=+b[F>>3];u=+b[E>>3];L2(a[(a[(a[e>>2]|0)+(w*24|0)>>2]|0)+(s*56|0)>>2]|0);l=a[e>>2]|0;d=a[l+(w*24|0)>>2]|0;a[d+(s*56|0)>>2]=a[D>>2];b[d+(s*56|0)+32>>3]=p;b[d+(s*56|0)+16>>3]=+b[Q>>3];b[d+(s*56|0)+24>>3]=+b[m>>3];a[d+(s*56|0)+4>>2]=a[G>>2];a[d+(s*56|0)+8>>2]=a[L>>2];a[d+(s*56|0)+12>>2]=a[W>>2];H=+b[X>>3];U=+b[m>>3];c=U>c?U:c;h=p+h;s=s+1|0;o=H>o?H:o;t=u>t?u:t}b[l+(w*24|0)+8>>3]=h;n=(w|0)==0;do{if(i)if(n){u=o;c=o-c;n=l;break}else{u=o;c=v-g+o-c;n=l+(w*24|0)|0;break}else{u=t;c=n?o:t;n=l+(w*24|0)|0}}while(0);b[n+16>>3]=c;B=h>B?h:B;v=u+v;g=+b[l+(w*24|0)+16>>3]+g;w=w+1|0;n=f[V>>1]|0}b[e+24>>3]=B;b[e+32>>3]=n<<16>>16==1?t:v;k=R;return}function ma(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0;Z=k;k=k+64|0;E=Z+32|0;I=Z;t=A+24|0;if((a[t>>2]|0)==0?(l=a[(a[A+96>>2]|0)+24>>2]|0,l|0):0)a[t>>2]=s3(l)|0;v=A+36|0;C=f[v>>1]|0;l=C&65535;A:do{if(l&1){c=+b[A+64>>3];h=+b[A+72>>3];t=e+16|0;s=+b[t>>3];u=+b[e>>3];w=s-u-c;e:do{if(w>0.0)switch(l&6){case 4:{s=u+c;b[t>>3]=s;c=u;break e}case 2:{s=w+s;b[t>>3]=s;c=u+w;b[e>>3]=c;break e}default:{o=w*.5;c=o+u;b[e>>3]=c;s=s-o;b[t>>3]=s;break e}}else c=u}while(0);l=e+24|0;o=+b[l>>3];t=e+8|0;w=+b[t>>3];u=o-w-h;if(u>0.0)switch(C&24){case 16:{u=w+h;b[l>>3]=u;break A}case 8:{h=u+o;b[l>>3]=h;w=w+u;b[t>>3]=w;u=h;break A}default:{u=u*.5;w=u+w;b[t>>3]=w;u=o-u;b[l>>3]=u;break A}}else u=o}else{c=+b[e>>3];w=+b[e+8>>3];s=+b[e+16>>3];u=+b[e+24>>3]}}while(0);B=A+48|0;a[B>>2]=a[e>>2];a[B+4>>2]=a[e+4>>2];a[B+8>>2]=a[e+8>>2];a[B+12>>2]=a[e+12>>2];a[B+16>>2]=a[e+16>>2];a[B+20>>2]=a[e+20>>2];a[B+24>>2]=a[e+24>>2];a[B+28>>2]=a[e+28>>2];r[A+35>>0]=i;Q=+(n[A+33>>0]|0);G=+(n[A+34>>0]|0);o=c+Q+G;b[I>>3]=o;h=w+Q+G;B=I+8|0;b[B>>3]=h;w=s-Q-G;e=I+16|0;b[e>>3]=w;u=u-Q-G;d=I+24|0;b[d>>3]=u;t=A+88|0;switch(r[A+92>>0]|0){case 1:{C=a[t>>2]|0;a[E>>2]=a[I>>2];a[E+4>>2]=a[I+4>>2];a[E+8>>2]=a[I+8>>2];a[E+12>>2]=a[I+12>>2];a[E+16>>2]=a[I+16>>2];a[E+20>>2]=a[I+20>>2];a[E+24>>2]=a[I+24>>2];a[E+28>>2]=a[I+28>>2];Ga(C,E,i);break}case 3:{l=a[t>>2]|0;c=+b[l+24>>3];s=w-o-+b[l+16>>3];A:do{if(s>0.0)switch(C&6){case 4:{b[e>>3]=w-s;break A}case 2:{b[I>>3]=s+o;break A}default:break A}}while(0);c=u-h-c;A:do{if(c>0.0)switch(C&24){case 16:{b[d>>3]=u-c;break A}case 8:{b[B>>3]=c+h;break A}default:break A}}while(0);a[E>>2]=a[I>>2];a[E+4>>2]=a[I+4>>2];a[E+8>>2]=a[I+8>>2];a[E+12>>2]=a[I+12>>2];a[E+16>>2]=a[I+16>>2];a[E+20>>2]=a[I+20>>2];a[E+24>>2]=a[I+24>>2];a[E+28>>2]=a[I+28>>2];La(l,E);break}default:{l=a[t>>2]|0;c=+b[l+32>>3];s=w-o-+b[l+24>>3];A:do{if(s>0.0?(g=C&6,g<<16>>16!=6):0)switch(g&7){case 4:{b[e>>3]=w-s;break A}case 2:{b[I>>3]=s+o;break A}default:{Q=s*.5;b[I>>3]=Q+o;b[e>>3]=w-Q;break A}}}while(0);c=u-h-c;A:do{if(c>0.0)switch(C&24){case 16:{b[d>>3]=u-c;break A}case 8:{b[B>>3]=c+h;break A}default:{Q=c*.5;b[B>>3]=Q+h;b[d>>3]=u-Q;break A}}}while(0);C=l+8|0;a[C>>2]=a[I>>2];a[C+4>>2]=a[I+4>>2];a[C+8>>2]=a[I+8>>2];a[C+12>>2]=a[I+12>>2];a[C+16>>2]=a[I+16>>2];a[C+20>>2]=a[I+20>>2];a[C+24>>2]=a[I+24>>2];a[C+28>>2]=a[I+28>>2];I=f[v>>1]&768;Wa(a[t>>2]|0,(I&1023)==512?108:(I&1023)==256?114:110)}}k=Z;return}function La(A,e){A=A|0;e=e|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];return}function Wa(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;n=f[A+4>>1]|0;i=0;while(1){if((i|0)>=(n|0))break;l=(a[A>>2]|0)+(i*24|0)+6|0;if(!(r[l>>0]|0))r[l>>0]=e;i=i+1|0}return}function ya(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;s=e+84|0;v=a[s>>2]|0;g=$V()|0;E=Ma()|0;t=0;n=0;b=xk(v)|0;while(1){if(!b)break;c=xk(a[b+8>>2]|0)|0;while(1){if(!c)break;c=a[c>>2]|0;t=t+1|0}n=n+1|0;if(r[b+12>>0]|0)Na(E,n);b=a[b>>2]|0}n=qF((t<<2)+4|0)|0;a[s>>2]=n;t=0;c=0;b=0;h=0;d=xk(v)|0;while(1){if(!d)break;B=h&65535;o=0;k=xk(a[d+8>>2]|0)|0;while(1){if(!k)break;u=a[k+8>>2]|0;a[n>>2]=u;b=za(A,u,e,i)|0|b;s=Ya(g,h,o,u)|0;f[u+86>>1]=B;f[u+84>>1]=s;s=s+(l[u+80>>1]|0)|0;w=h+(l[u+82>>1]|0)|0;if(Xa(E,w)|0){o=u+100|0;r[o>>0]=r[o>>0]|2}o=s;n=n+4|0;k=a[k>>2]|0;t=(s|0)>(t|0)?s:t;c=(w|0)>(c|0)?w:c}h=h+1|0;d=a[d>>2]|0}a[e+100>>2]=c;a[e+104>>2]=t;pk(v)|0;pk(E)|0;iJ(g);return b|0}function za(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+16|0;v=g+8|0;B=g;a[e+96>>2]=i;h=e+36|0;u=f[h>>1]|0;if(!(u&64)){if(!(f[i+36>>1]&64))w=2;else w=r[i+34>>0]|0;r[e+34>>0]=w}if(!(u&32)){w=r[i+88>>0]|0;if(w<<24>>24<=-1)if(!(f[i+36>>1]&32))w=1;else w=r[i+33>>0]|0;r[e+33>>0]=w}w=e+88|0;o=e+92|0;switch(r[o>>0]|0){case 1:{u=Ia(A,a[w>>2]|0,e,t)|0;i=a[w>>2]|0;w=u;u=i+64|0;i=i+72|0;break}case 3:{u=Da(a[w>>2]|0,t)|0;i=a[w>>2]|0;w=u;u=i+16|0;i=i+24|0;break}default:{Qa(a[(a[A+16>>2]|0)+144>>2]|0,a[w>>2]|0,t);i=a[w>>2]|0;w=0;u=i+24|0;i=i+32|0}}c=+((n[e+33>>0]|0)+(n[e+34>>0]|0)<<1|0);s=+b[u>>3]+c;c=+b[i>>3]+c;i=e+38|0;do{if(f[h>>1]&1){u=f[i>>1]|0;if(u<<16>>16?(d=f[e+40>>1]|0,d<<16>>16):0){if(!(s>+(u&65535)|c>+(d&65535))){s=0.0;c=0.0;break}if((r[o>>0]|0)==3){s=0.0;c=0.0;break}ao(0,137614,B)|0;w=1;s=0.0;c=0.0;break}ao(0,137647,v)|0;w=1}}while(0);E=+(l[i>>1]|0);b[e+64>>3]=s>E?s:E;s=+(l[e+40>>1]|0);b[e+72>>3]=c>s?c:s;k=g;return w|0}function Ya(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,t=0,c=0;c=r+80|0;t=(l[c>>1]|0)+-1|0;n=0;A:while(1){f=i;while(1){if(n)break A;a=t+f|0;while(1){if((a|0)<(f|0)){i=f;n=1;continue A}if(lJ(A,a,e)|0)break;a=a+-1|0}f=a+1|0}}n=r+82|0;f=i;while(1){if((f|0)<(i+(l[c>>1]|0)|0))a=e;else break;while(1){if((a|0)>=((l[n>>1]|0)+e|0))break;aJ(A,f,a);a=a+1|0}f=f+1|0}return i|0}function Da(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;t=s;l=s+8|0;e=e+52|0;n=A+32|0;Ug(l,a[e>>2]|0,a[n>>2]|0);c=a[l>>2]|0;l=a[l+4>>2]|0;if((l&c|0)==-1){a[t>>2]=a[n>>2];ao(1,137697,t)|0;e=1;f=0.0;i=0.0}else{r[(a[(a[e>>2]|0)+16>>2]|0)+114>>0]=1;e=0;f=+(l|0);i=+(c|0)}a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;b[A+16>>3]=i;b[A+24>>3]=f;k=s;return e|0}function Ma(){return jk(55924,a[4581]|0)|0}function Fa(A,e,i){A=A|0;e=e|0;i=i|0;i=qF(12)|0;a[i>>2]=a[e>>2];return i|0}function Va(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Ja(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return((e|0)>(r|0)?1:((e|0)<(r|0))<<31>>31)|0}function Na(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;W5[a[A>>2]&63](A,r,1)|0;k=i;return}function Xa(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;e=(W5[a[A>>2]&63](A,r,512)|0)!=0&1;k=i;return e|0}function Ra(A){A=A|0;var e=0;if(!(a[47375]|0)){e=qF((A<<2)+4|0)|0;a[47375]=e;a[e>>2]=189504;a[47386]=A}a[47387]=0;return}function Ha(){L2(a[47375]|0);a[47375]=0;a[47387]=0;return}function pa(){a[47387]=0;return}function Ua(){var A=0,e=0,i=0;e=a[47387]|0;i=a[47375]|0;A=1;while(1){if((A|0)>(e|0)){A=5;break}if((a[(a[i+(A<<2)>>2]|0)+4>>2]|0)==(A|0))A=A+1|0;else{A=4;break}}if((A|0)==4)vA(138394,137741,59,137747);else if((A|0)==5)return}function xa(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;f=a[47375]|0;n=a[f+(A<<2)>>2]|0;l=a[n>>2]|0;while(1){e=(A|0)/2|0;i=a[f+(e<<2)>>2]|0;r=f+(A<<2)|0;if((a[i>>2]|0)>=(l|0))break;a[r>>2]=i;a[i+4>>2]=A;A=e}a[r>>2]=n;a[n+4>>2]=A;return}function Ta(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=a[47387]|0;if((e|0)==(a[47386]|0)){ao(1,137755,i)|0;A=1}else{e=e+1|0;a[47387]=e;a[(a[47375]|0)+(e<<2)>>2]=A;xa(e);Ua();A=0}k=i;return A|0}function ja(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;r=a[47375]|0;f=a[r+(A<<2)>>2]|0;n=a[f>>2]|0;l=a[47387]|0;t=(l|0)/2|0;while(1){if((A|0)>(t|0))break;i=A<<1;e=a[r+(i<<2)>>2]|0;if((i|0)<(l|0)){s=i|1;c=a[r+(s<<2)>>2]|0;b=(a[e>>2]|0)<(a[c>>2]|0);i=b?s:i;e=b?c:e}if((n|0)>=(a[e>>2]|0))break;a[r+(A<<2)>>2]=e;a[e+4>>2]=A;A=i}a[r+(A<<2)>>2]=f;a[f+4>>2]=A;return}function Sa(){var A=0,e=0,i=0,r=0;e=a[47387]|0;if(!e)A=0;else{r=a[47375]|0;i=r+4|0;A=a[i>>2]|0;a[i>>2]=a[r+(e<<2)>>2];e=e+-1|0;a[47387]=e;if(e|0)ja(1);Ua()}return A|0}function Pa(A,e){A=A|0;e=e|0;a[A>>2]=e;xa(a[A+4>>2]|0);Ua();return}function Oa(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;w=A+16|0;t=a[w>>2]|0;t=(r[t+((a[i+12>>2]|0)*40|0)+36>>0]|0)!=(r[t+((a[i+16>>2]|0)*40|0)+36>>0]|0);c=~~((+b[e+64>>3]+-3.0-+b[e+48>>3])*.5);s=~~((+b[e+56>>3]+-3.0-+b[e+40>>3])*.5);n=(c|0)<(s|0)?c:s;u=e+4|0;f=0;while(1){A=a[u>>2]|0;if((f|0)>=(A|0)){n=f;break}l=a[e+8+(f<<2)>>2]|0;k=a[w>>2]|0;if((r[k+((a[l+12>>2]|0)*40|0)+36>>0]|0)==(r[k+((a[l+16>>2]|0)*40|0)+36>>0]|0)){n=f;break}Ka(l,n);f=f+1|0}while(1){if((n|0)>=(A|0))break;f=a[e+8+(n<<2)>>2]|0;if(t|(f|0)==(i|0)){Ka(f,r[(a[w>>2]|0)+((a[f+12>>2]|0)*40|0)+36>>0]|0?c:s);A=a[u>>2]|0}n=n+1|0}return}function Ka(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=a[i>>2]|0;a[i>>2]=r+1;if((r|0)>=(e|0)){a[i>>2]=0;b[A>>3]=+b[A>>3]+16384.0}return}function _a(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0,Q=0.0,m=0.0,L=0,W=0,y=0.0;I=k;k=k+112|0;g=I+64|0;v=I+96|0;s=I+32|0;E=I;C=qF(28)|0;e=vh(A)|0;B=C+4|0;a[B>>2]=e;e=qF(e*72|0)|0;d=C+12|0;a[d>>2]=e;r=E+8|0;b[r>>3]=1797693134862315708145274.0e284;b[E>>3]=1797693134862315708145274.0e284;f=E+24|0;b[f>>3]=-1797693134862315708145274.0e284;n=E+16|0;b[n>>3]=-1797693134862315708145274.0e284;l=s+16|0;t=s+8|0;c=s+24|0;i=cd(A)|0;w=1797693134862315708145274.0e284;u=1797693134862315708145274.0e284;o=-1797693134862315708145274.0e284;h=-1797693134862315708145274.0e284;while(1){if(!i)break;L=i+16|0;W=a[L>>2]|0;G=(+b[W+96>>3]+ +b[W+88>>3])*.5;G=G<1.0?1.0:G;Z=+b[W+80>>3]*.5;Z=Z<1.0?1.0:Z;y=+b[W+16>>3];m=y-G;b[s>>3]=m;G=y+G;b[l>>3]=G;y=+b[W+24>>3];Q=y-Z;b[t>>3]=Q;Z=y+Z;b[c>>3]=Z;m=+b[(w>3];b[E>>3]=m;Q=+b[(u>3];b[r>>3]=Q;G=+b[(o>G?E:s)+16>>3];b[n>>3]=G;Z=+b[(h>Z?E:s)+24>>3];b[f>>3]=Z;W=e+40|0;a[W>>2]=a[s>>2];a[W+4>>2]=a[s+4>>2];a[W+8>>2]=a[s+8>>2];a[W+12>>2]=a[s+12>>2];a[W+16>>2]=a[s+16>>2];a[W+20>>2]=a[s+20>>2];a[W+24>>2]=a[s+24>>2];a[W+28>>2]=a[s+28>>2];a[e>>2]=a[e>>2]|1;a[(a[L>>2]|0)+112>>2]=e;e=e+72|0;i=bd(A,i)|0;w=m;u=Q;o=G;h=Z}b[E>>3]=w+-36.0;b[r>>3]=u+-36.0;b[n>>3]=o+36.0;b[f>>3]=h+36.0;W=a[d>>2]|0;f=a[B>>2]|0;a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];f=tn(W,f,v,g)|0;if(a[47323]&1|0){d=a[d>>2]|0;L=a[B>>2]|0;W=a[v>>2]|0;a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];qa(d,L,g,f,W)}r=C+8|0;a[r>>2]=qF((a[v>>2]|0)*72|0)|0;a[C>>2]=a[v>>2];i=a[v>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;W=(a[r>>2]|0)+(e*72|0)+40|0;L=f+(e<<5)|0;a[W>>2]=a[L>>2];a[W+4>>2]=a[L+4>>2];a[W+8>>2]=a[L+8>>2];a[W+12>>2]=a[L+12>>2];a[W+16>>2]=a[L+16>>2];a[W+20>>2]=a[L+20>>2];a[W+24>>2]=a[L+24>>2];a[W+28>>2]=a[L+28>>2];e=e+1|0}L2(f);a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];a[C+16>>2]=$a(C,g)|0;k=I;return C|0}function qa(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0,E=0.0;h=k;k=k+128|0;o=h+96|0;u=h+64|0;t=h+32|0;d=h+16|0;B=h;s=+b[i+16>>3];w=+b[i>>3];c=+b[i+24>>3];n=+b[i+8>>3];l=a[15712]|0;m3(137770,l)|0;a[B>>2]=10;a[B+4>>2]=10;a[B+8>>2]=~~(s+10.0-w);a[B+12>>2]=~~(c+10.0-n);f3(l,138200,B)|0;b[d>>3]=10.0-w;b[d+8>>3]=10.0-n;f3(l,138248,d)|0;m3(138265,l)|0;i=0;while(1){if((i|0)>=(e|0))break;E=+b[A+(i*72|0)+48>>3];g=+b[A+(i*72|0)+56>>3];v=+b[A+(i*72|0)+64>>3];b[t>>3]=+b[A+(i*72|0)+40>>3];b[t+8>>3]=E;b[t+16>>3]=g;b[t+24>>3]=v;f3(l,138284,t)|0;i=i+1|0}m3(138302,l)|0;i=0;while(1){if((i|0)>=(f|0))break;v=+b[r+(i<<5)+8>>3];g=+b[r+(i<<5)+16>>3];E=+b[r+(i<<5)+24>>3];b[u>>3]=+b[r+(i<<5)>>3];b[u+8>>3]=v;b[u+16>>3]=g;b[u+24>>3]=E;f3(l,138321,u)|0;i=i+1|0}m3(138339,l)|0;b[o>>3]=w;b[o+8>>3]=n;b[o+16>>3]=s;b[o+24>>3]=c;f3(l,138321,o)|0;m3(138086,l)|0;k=h;return}function $a(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;Q=k;k=k+32|0;v=Q+16|0;c=Q;C=a[A>>2]|0;Z=gi(C<<2|2)|0;G=jk(55960,a[4581]|0)|0;E=jk(55996,a[4581]|0)|0;C=qF(C<<7)|0;f=qF(a[A>>2]<<4)|0;I=A+8|0;n=e+16|0;l=c+8|0;t=e+24|0;s=e+8|0;i=0;while(1){if((i|0)>=(a[A>>2]|0))break;w=a[I>>2]|0;u=w+(i*72|0)|0;a[w+(i*72|0)+32>>2]=4;o=w+(i*72|0)+36|0;a[o>>2]=f+(i<<2<<2);h=w+(i*72|0)+40|0;r=+b[w+(i*72|0)+56>>3];if(r<+b[n>>3]){b[c>>3]=r;b[l>>3]=+b[w+(i*72|0)+48>>3];a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];B=An(Z,G,v,C,1)|0;a[B+20>>2]=u;a[a[o>>2]>>2]=B}r=+b[w+(i*72|0)+64>>3];if(r<+b[t>>3]){b[c>>3]=+b[h>>3];b[l>>3]=r;a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];B=An(Z,E,v,C,0)|0;a[B+20>>2]=u;a[(a[o>>2]|0)+4>>2]=B}if(+b[h>>3]>+b[e>>3]){a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];B=An(Z,G,v,C,1)|0;a[B+24>>2]=u;a[(a[o>>2]|0)+8>>2]=B}if(+b[w+(i*72|0)+48>>3]>+b[s>>3]){a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];B=An(Z,E,v,C,0)|0;a[B+24>>2]=u;a[(a[o>>2]|0)+12>>2]=B}i=i+1|0}u=qF(a[Z>>2]<<2)|0;d=A+4|0;B=A+12|0;o=v+8|0;s=0;h=0;w=0;while(1){i=a[d>>2]|0;if((w|0)>=(i|0)){e=0;break}n=a[B>>2]|0;l=n+(w*72|0)|0;t=n+(w*72|0)+36|0;a[t>>2]=u+(s<<2);e=n+(w*72|0)+40|0;a[v>>2]=a[e>>2];a[v+4>>2]=a[e+4>>2];a[v+8>>2]=a[e+8>>2];a[v+12>>2]=a[e+12>>2];e=n+(w*72|0)+56|0;c=n+(w*72|0)+32|0;i=W5[a[E>>2]&63](E,v,512)|0;while(1){if(!i)break;if(!(+b[i+8>>3]<+b[e>>3]))break;L=a[i>>2]|0;m=a[t>>2]|0;f=a[c>>2]|0;a[c>>2]=f+1;a[m+(f<<2)>>2]=L;a[(a[i>>2]|0)+24>>2]=l;i=W5[a[E>>2]&63](E,i,8)|0}f=n+(w*72|0)+64|0;i=W5[a[G>>2]&63](G,v,512)|0;while(1){if(!i){g=20;break}r=+b[f>>3];if(!(+b[i+16>>3]>2]|0;m=a[t>>2]|0;L=a[c>>2]|0;a[c>>2]=L+1;a[m+(L<<2)>>2]=e;a[(a[i>>2]|0)+24>>2]=l;i=W5[a[G>>2]&63](G,i,8)|0}if((g|0)==20){g=0;r=+b[f>>3]}b[o>>3]=r;e=n+(w*72|0)+56|0;i=W5[a[E>>2]&63](E,v,512)|0;while(1){if(!i){g=25;break}r=+b[e>>3];if(!(+b[i+8>>3]>2]|0;m=a[t>>2]|0;L=a[c>>2]|0;a[c>>2]=L+1;a[m+(L<<2)>>2]=W;a[(a[i>>2]|0)+20>>2]=l;i=W5[a[E>>2]&63](E,i,8)|0}if((g|0)==25){g=0;r=+b[e>>3]}b[v>>3]=r;b[o>>3]=+b[n+(w*72|0)+48>>3];i=W5[a[G>>2]&63](G,v,512)|0;while(1){if(!i)break;if(!(+b[i+16>>3]<+b[f>>3]))break;m=a[i>>2]|0;L=a[t>>2]|0;W=a[c>>2]|0;a[c>>2]=W+1;a[L+(W<<2)>>2]=m;a[(a[i>>2]|0)+20>>2]=l;i=W5[a[G>>2]&63](G,i,8)|0}W=a[c>>2]|0;s=W+s|0;h=(W|0)>(h|0)?W:h;w=w+1|0}while(1){if((e|0)>=(i|0))break;en((a[B>>2]|0)+(e*72|0)|0);e=e+1|0;i=a[d>>2]|0}i=a[Z>>2]|0;W=a[Z+16>>2]|0;a[W+(i*40|0)+32>>2]=i;i=i+1|0;a[W+(i*40|0)+32>>2]=i;vi(Z,h);i=0;while(1){if((i|0)>=(a[A>>2]|0))break;rn((a[I>>2]|0)+(i*72|0)|0,Z);i=i+1|0}pk(G)|0;pk(E)|0;L2(C);fn(Z);di(Z);k=Q;return Z|0}function An(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;l=W5[a[e>>2]&63](e,i,512)|0;do{if(!l){A=Ei(A)|0;if(!f)vA(138183,138131,291,138190);else{l=a[A+32>>2]|0;t=f+(l<<5)|0;f=f+(l<<5)+8|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[t>>2]=A;r[A+36>>0]=n;W5[a[e>>2]&63](e,t,1)|0;break}}else t=l}while(0);return a[t>>2]|0}function en(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;A:do{if((+b[A+64>>3]+-3.0-+b[A+48>>3])*.5<2.0){l=a[A+32>>2]|0;t=A+36|0;n=0;while(1){if((n|0)>=(l|0))break A;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;e:do{if(r[e+36>>0]|0){f=a[e+20>>2]|0;if((f|0)==(A|0)){i=a[e+24>>2]|0;e=i;i=a[i>>2]|0;do{a[e>>2]=i|8;e=a[a[e+36>>2]>>2]|0;if(!e)break e;e=a[e+24>>2]|0;i=a[e>>2]|0}while(!(i&1|0))}else{i=f;e=a[f>>2]|0;do{a[i>>2]=e|8;e=a[(a[i+36>>2]|0)+8>>2]|0;if(!e)break e;i=a[e+20>>2]|0;e=a[i>>2]|0}while(!(e&1|0))}}}while(0);n=n+1|0}}}while(0);A:do{if((+b[A+56>>3]+-3.0-+b[A+40>>3])*.5<2.0){l=a[A+32>>2]|0;t=A+36|0;n=0;while(1){if((n|0)>=(l|0))break A;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;e:do{if(!(r[e+36>>0]|0)){f=a[e+20>>2]|0;if((f|0)==(A|0)){i=a[e+24>>2]|0;e=i;i=a[i>>2]|0;do{a[e>>2]=i|16;e=a[(a[e+36>>2]|0)+4>>2]|0;if(!e)break e;e=a[e+24>>2]|0;i=a[e>>2]|0}while(!(i&1|0))}else{i=f;e=a[f>>2]|0;do{a[i>>2]=e|16;e=a[(a[i+36>>2]|0)+12>>2]|0;if(!e)break e;i=a[e+20>>2]|0;e=a[i>>2]|0}while(!(e&1|0))}}}while(0);n=n+1|0}}}while(0);return}function rn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;n=+b[A+56>>3]-+b[A+40>>3];l=+b[A+64>>3]-+b[A+48>>3];f=(l+n)*.5+500.0;if((l+-3.0)*.5<2.0){s=(a[A>>2]&8|0)==0;f=s?16384.0:f;o=s?16384.0:n}else o=n;if((n+-3.0)*.5<2.0){s=(a[A>>2]&16|0)==0;l=s?16384.0:l;f=s?16384.0:f}s=A+36|0;i=a[s>>2]|0;r=a[i+8>>2]|0;if((r|0)!=0?(t=a[i+4>>2]|0,(t|0)!=0):0){t=Ci(e,r,t,f)|0;r=A+4|0;i=a[r>>2]|0;a[r>>2]=i+1;a[A+8+(i<<2)>>2]=t;i=a[s>>2]|0}r=a[i+4>>2]|0;if((r|0)!=0?(c=a[i>>2]|0,(c|0)!=0):0){c=Ci(e,r,c,f)|0;t=A+4|0;i=a[t>>2]|0;a[t>>2]=i+1;a[A+8+(i<<2)>>2]=c;i=a[s>>2]|0}r=a[i+8>>2]|0;if((r|0)!=0?(w=a[i+12>>2]|0,(w|0)!=0):0){w=Ci(e,r,w,f)|0;c=A+4|0;i=a[c>>2]|0;a[c>>2]=i+1;a[A+8+(i<<2)>>2]=w;i=a[s>>2]|0}r=a[i+12>>2]|0;if((r|0)!=0?(u=a[i>>2]|0,(u|0)!=0):0){u=Ci(e,r,u,f)|0;w=A+4|0;i=a[w>>2]|0;a[w>>2]=i+1;a[A+8+(i<<2)>>2]=u;i=a[s>>2]|0}r=a[i+4>>2]|0;if((r|0)!=0?(k=a[i+12>>2]|0,(k|0)!=0):0){k=Ci(e,r,k,l)|0;u=A+4|0;i=a[u>>2]|0;a[u>>2]=i+1;a[A+8+(i<<2)>>2]=k;i=a[s>>2]|0}r=a[i+8>>2]|0;if(r|0?(h=a[i>>2]|0,h|0):0){e=Ci(e,r,h,o)|0;k=A+4|0;h=a[k>>2]|0;a[k>>2]=h+1;a[A+8+(h<<2)>>2]=e}return}function fn(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;f=A+16|0;n=a[15712]|0;r=0;while(1){if((r|0)>=(a[A>>2]|0)){e=10;break}e=a[f>>2]|0;i=e+(r*40|0)+20|0;if((a[i>>2]|0)==0?(a[l>>2]=r,f3(n,138096,l)|0,(a[i>>2]|0)==0):0){e=5;break}e=e+(r*40|0)+24|0;if((a[e>>2]|0)==0?(a[t>>2]=r,f3(n,138148,t)|0,(a[e>>2]|0)==0):0){e=8;break}r=r+1|0}if((e|0)==5)vA(138118,138131,311,138138);else if((e|0)==8)vA(138170,138131,313,138138);else if((e|0)==10){k=c;return}}function an(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e+8>>3];a=+b[i+8>>3];if(!(f>a))if(!(f>3];f=+b[i>>3];if(a>f)A=1;else A=(a>31}else A=-1;else A=1;return A|0}function nn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e>>3];a=+b[i>>3];if(!(f>a))if(!(f>3];f=+b[i+8>>3];if(a>f)A=1;else A=(a>31}else A=-1;else A=1;return A|0}function ln(A){A=A|0;var e=0,i=0;i=A+8|0;L2(a[(a[i>>2]|0)+36>>2]|0);e=A+12|0;L2(a[(a[e>>2]|0)+36>>2]|0);L2(a[i>>2]|0);L2(a[e>>2]|0);Zi(a[A+16>>2]|0);pk(a[A+20>>2]|0)|0;pk(a[A+24>>2]|0)|0;L2(A);return}function tn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+32|0;l=o;t=e<<2;f=t+4|0;t=t+5|0;u=$F(t*56|0)|0;t=qF(t<<2)|0;n=f*5|1;c=$F(n*72|0)|0;s=n<<5;b=qF(s)|0;s=qF(s)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[l+16>>2]=a[r+16>>2];a[l+20>>2]=a[r+20>>2];a[l+24>>2]=a[r+24>>2];a[l+28>>2]=a[r+28>>2];cn(A,e,l,u,0);l8(173);bn(f,t);gn(f,u,t,n,c)|0;w=sn(f,u,c,0,b)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[l+16>>2]=a[r+16>>2];a[l+20>>2]=a[r+20>>2];a[l+24>>2]=a[r+24>>2];a[l+28>>2]=a[r+28>>2];cn(A,e,l,u,1);bn(f,t);gn(f,u,t,n,c)|0;f=sn(f,u,c,1,s)|0;n=qF(U(w<<5,f)|0)|0;e=0;A=0;while(1){if((e|0)>=(f|0))break;l=s+(e<<5)|0;r=0;while(1){if((r|0)>=(w|0))break;h=A+((wn(n+(A<<5)|0,l,b+(r<<5)|0)|0)!=0&1)|0;r=r+1|0;A=h}e=e+1|0}h=eV(n,A<<5)|0;L2(u);L2(t);L2(c);L2(b);L2(s);a[i>>2]=A;k=o;return h|0}function cn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;c=k;k=k+96|0;l=c+64|0;t=c;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[l+16>>2]=a[i+16>>2];a[l+20>>2]=a[i+20>>2];a[l+24>>2]=a[i+24>>2];a[l+28>>2]=a[i+28>>2];Bn(l,f,1,t);i=vn(r,1,t)|0;n=0;while(1){if((n|0)>=(e|0))break;b=A+(n*72|0)+40|0;a[l>>2]=a[b>>2];a[l+4>>2]=a[b+4>>2];a[l+8>>2]=a[b+8>>2];a[l+12>>2]=a[b+12>>2];a[l+16>>2]=a[b+16>>2];a[l+20>>2]=a[b+20>>2];a[l+24>>2]=a[b+24>>2];a[l+28>>2]=a[b+28>>2];Bn(l,f,0,t);i=vn(r,i,t)|0;n=n+1|0}k=c;return}function bn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=0;while(1){if((i|0)>(A|0))break;a[e+(i<<2)>>2]=i;i=i+1|0}n=A+1|0;i=1;while(1){if((i|0)>(A|0))break;l=~~(+c8()*+(n-i|0)+ +(i|0));r=e+(i<<2)|0;f=e+(l<<2)|0;if((i|0)!=(l|0)){l=a[r>>2]|0;a[r>>2]=a[f>>2];a[f>>2]=l}i=i+1|0}return}function sn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;n=A*5|0;c=n+1|0;s=qF(c<<2)|0;a[47388]=qF(c<<4)|0;a[47389]=qF((A*56|0)+56|0)|0;c=qF(A<<2)|0;a[47390]=c;b=0;while(1){if((b|0)>(n|0))break;if(un(i+(b*72|0)|0,e)|0)break;b=b+1|0}l=a[47388]|0;t=a[47389]|0;n=1;while(1){if((n|0)>(A|0))break;a[l+(n<<4)+8>>2]=a[e+(n*56|0)+48>>2];w=e+(n*56|0)+44|0;a[l+(n<<4)+4>>2]=a[w>>2];a[l+(n<<4)>>2]=n;u=t+(n*56|0)|0;k=e+(n*56|0)|0;a[u>>2]=a[k>>2];a[u+4>>2]=a[k+4>>2];a[u+8>>2]=a[k+8>>2];a[u+12>>2]=a[k+12>>2];a[t+(n*56|0)+16>>2]=a[w>>2];a[t+(n*56|0)+32>>2]=n;a[t+(n*56|0)+48>>2]=1;n=n+1|0}a[47391]=A;a[47392]=0;a[c>>2]=1;n=a[i+(b*72|0)+40>>2]|0;if((n|0)<=0){n=a[i+(b*72|0)+48>>2]|0;if((n|0)>0)n=kn(s,f,0,e,i,0,b,n,r,2)|0;else n=0}else n=kn(s,f,0,e,i,0,b,n,r,1)|0;L2(s);L2(a[47388]|0);L2(a[47389]|0);L2(a[47390]|0);return n|0}function wn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;n=+b[(+b[e>>3]>+b[i>>3]?e:i)>>3];a=+b[(+b[e+16>>3]<+b[i+16>>3]?e:i)+16>>3];b[A+16>>3]=a;b[A>>3]=n;f=+b[(+b[e+8>>3]>+b[i+8>>3]?e:i)+8>>3];r=+b[(+b[e+24>>3]<+b[i+24>>3]?e:i)+24>>3];b[A+24>>3]=r;b[A+8>>3]=f;return!(n>=a)&!(f>=r)&1|0}function un(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[A+4>>2]|0;do{if((a[A+68>>2]|0)!=2?!((f|0)<1|(a[A>>2]|0)<1):0){if(!((a[A+40>>2]|0)<1?(a[A+44>>2]|0)<1:0)){if((a[A+48>>2]|0)>=1){A=0;break}if((a[A+52>>2]|0)>=1){A=0;break}}i=+b[e+(f*56|0)+24>>3];r=+b[e+(f*56|0)+8>>3];if(!(i>r+1.0e-07))if(i>3]>+b[e+(f*56|0)>>3]&1;else A=1}else A=0}while(0);return A|0}function kn(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,k=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0.0,F=0,V=0.0,J=0,N=0,X=0,R=0,H=0;L=(c|0)==0;m=l;A:while(1){Z=f+(m*72|0)|0;if((m|0)<1)break;l=A+(m<<2)|0;if(a[l>>2]|0)break;a[l>>2]=1;E=f+(m*72|0)+8|0;v=f+(m*72|0)+16|0;o=+b[v>>3];C=f+(m*72|0)+24|0;I=f+(m*72|0)+32|0;k=+b[I>>3];if((o>k?(Q=a[Z>>2]|0,M=+b[r+(Q*56|0)>>3],M==+b[r+(Q*56|0)+16>>3]):0)?(Q=a[f+(m*72|0)+4>>2]|0,V=+b[r+(Q*56|0)>>3],V==+b[r+(Q*56|0)+16>>3]):0){l=e+(i<<5)|0;if(L){b[l>>3]=M;h=o;o=V}else{b[l>>3]=k;h=-M;k=-V}b[e+(i<<5)+8>>3]=k;b[e+(i<<5)+16>>3]=o;b[e+(i<<5)+24>>3]=h;i=i+1|0}l=f+(m*72|0)+40|0;G=a[l>>2]|0;do{if((G|0)<1?(J=f+(m*72|0)+44|0,(a[J>>2]|0)<1):0){l=f+(m*72|0)+48|0;u=f+(m*72|0)+52|0;if((a[l>>2]|0)>0?(N=a[u>>2]|0,(N|0)>0):0){w=a[f+(N*72|0)>>2]|0;s=a[Z>>2]|0;if((N|0)==(t|0)){s=on(n,s,w)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,1)|0;n=s;s=1;break}else{s=on(n,w,s)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,1)|0;n=s;l=u;s=1;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[J>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,1)|0;l=u;s=1}else H=19}while(0);do{if((H|0)==19){H=0;Q=f+(m*72|0)+48|0;d=a[Q>>2]|0;if((d|0)<1?(X=f+(m*72|0)+52|0,(a[X>>2]|0)<1):0){u=f+(m*72|0)+44|0;if((G|0)>0?(R=a[u>>2]|0,(R|0)>0):0){w=a[f+(m*72|0)+4>>2]|0;s=a[f+(G*72|0)+4>>2]|0;if((R|0)==(t|0)){s=on(n,s,w)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,2)|0;n=s;s=2;break}else{s=on(n,w,s)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;n=s;l=u;s=2;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;l=X;s=1;break}g=f+(m*72|0)+44|0;B=a[g>>2]|0;w=(B|0)>0;if((G|0)>0){if(w){if((d|0)>0?(W=f+(m*72|0)+52|0,z=a[W>>2]|0,(z|0)>0):0){u=a[f+(z*72|0)>>2]|0;w=a[f+(G*72|0)+4>>2]|0;if(!((s|0)==2&(z|0)==(t|0))?!((s|0)==1&(B|0)==(t|0)):0){s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[g>>2]|0,m,c,2)|0;n=s;l=W;s=1;break}s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[W>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}w=a[Z>>2]|0;if(+y(+(+b[I>>3]-+b[r+(w*56|0)+24>>3]))<=1.0e-07?+y(+(+b[C>>3]-+b[r+(w*56|0)+16>>3]))<=1.0e-07:0){u=a[f+(G*72|0)+4>>2]|0;w=a[r+(w*56|0)+44>>2]|0;if((s|0)==1&(G|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[g>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+52|0;s=1;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;s=2;break}}u=a[f+(m*72|0)+4>>2]|0;w=a[f+(G*72|0)+4>>2]|0;if((s|0)==1&(B|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[Q>>2]|0,m,c,1)|0;n=s;s=2;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=g;s=2;break}}}else if(!w)break A;if((d|0)>0?(Y=f+(m*72|0)+52|0,D=a[Y>>2]|0,(D|0)>0):0){u=a[Z>>2]|0;if(+y(+(+b[v>>3]-+b[r+(u*56|0)+8>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(u*56|0)>>3]))<=1.0e-07:0){w=a[f+(D*72|0)>>2]|0;if((s|0)==2&(d|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;n=s;l=Y;s=1;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Y>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}}w=a[f+(D*72|0)>>2]|0;u=a[r+((a[f+(m*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((s|0)==2&(D|0)==(t|0)){s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[Y>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}else{s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;n=s;l=Y;s=1;break}}k=+b[v>>3];u=a[Z>>2]|0;if(((+y(+(k-+b[r+(u*56|0)+8>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(u*56|0)>>3]))<=1.0e-07:0)?(F=a[f+(m*72|0)+4>>2]|0,+y(+(+b[I>>3]-+b[r+(F*56|0)+8>>3]))<=1.0e-07):0)?+y(+(+b[C>>3]-+b[r+(F*56|0)>>3]))<=1.0e-07:0)if((s|0)==1){s=on(n,u,F)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=Q;s=1;break}else{s=on(n,F,u)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+44|0;s=2;break}t=a[f+(m*72|0)+4>>2]|0;if(((+y(+(k-+b[r+(t*56|0)+24>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(t*56|0)+16>>3]))<=1.0e-07:0)?+y(+(+b[I>>3]-+b[r+(u*56|0)+24>>3]))<=1.0e-07:0)?+y(+(+b[C>>3]-+b[r+(u*56|0)+16>>3]))<=1.0e-07:0){w=a[r+(t*56|0)+44>>2]|0;t=a[r+(u*56|0)+44>>2]|0;if((s|0)==1){s=on(n,t,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=Q;s=1;break}else{s=on(n,w,t)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+44|0;s=2;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;l=f+(m*72|0)+52|0;s=1}}while(0);t=m;m=a[l>>2]|0}return i|0}function on(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;f=k;k=k+16|0;d=f+4|0;t=f;r=(a[47392]|0)+1|0;a[47392]=r;s=a[47389]|0;hn(e,i,d,t);d=a[d>>2]|0;l=a[s+(e*56|0)+32+(d<<2)>>2]|0;t=a[s+(i*56|0)+32+(a[t>>2]<<2)>>2]|0;w=a[47391]|0;n=w+1|0;w=w+2|0;a[47391]=w;h=a[47388]|0;a[h+(n<<4)>>2]=e;a[h+(w<<4)>>2]=i;u=h+(l<<4)+4|0;o=h+(n<<4)+4|0;a[o>>2]=a[u>>2];a[h+(a[u>>2]<<4)+8>>2]=n;a[h+(n<<4)+8>>2]=w;a[h+(w<<4)+4>>2]=n;c=h+(t<<4)+8|0;a[h+(w<<4)+8>>2]=a[c>>2];a[h+(a[c>>2]<<4)+4>>2]=w;a[u>>2]=t;a[c>>2]=l;c=s+(e*56|0)+48|0;u=a[c>>2]|0;t=s+(i*56|0)+48|0;b=a[t>>2]|0;a[s+(e*56|0)+16+(d<<2)>>2]=i;a[s+(e*56|0)+32+(u<<2)>>2]=n;a[s+(e*56|0)+16+(u<<2)>>2]=a[h+(a[o>>2]<<4)>>2];a[s+(i*56|0)+32+(b<<2)>>2]=w;a[s+(i*56|0)+16+(b<<2)>>2]=e;a[c>>2]=(a[c>>2]|0)+1;a[t>>2]=(a[t>>2]|0)+1;i=a[47390]|0;a[i+(A<<2)>>2]=l;a[i+(r<<2)>>2]=n;k=f;return r|0}function hn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0.0,b=0.0,s=0,w=0,u=0;s=a[47389]|0;w=s+(A*56|0)|0;u=s+(e*56|0)|0;f=0;n=-4.0;t=0;while(1){if((t|0)==4)break;l=a[s+(A*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(c=+dn(w,s+(l*56|0)|0,u),c>n):0){f=t;n=c}t=t+1|0}a[i>>2]=f;f=0;t=0;n=-4.0;while(1){if((t|0)==4)break;l=a[s+(e*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(b=+dn(u,s+(l*56|0)|0,w),b>n):0){f=t;n=b}t=t+1|0}a[r>>2]=f;return}function dn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;n=+b[A>>3];l=+b[e>>3]-n;r=+b[A+8>>3];a=+b[e+8>>3]-r;n=+b[i>>3]-n;r=+b[i+8>>3]-r;f=r*a+n*l;if(!(r*l-n*a>=0.0))r=-f/(+z(+(r*r+n*n))*+z(+(a*a+l*l)))+-2.0;else r=f/(+z(+(r*r+n*n))*+z(+(a*a+l*l)));return+r}function Bn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;a[r>>2]=a[A>>2];a[r+4>>2]=a[A+4>>2];a[r+8>>2]=a[A+8>>2];a[r+12>>2]=a[A+12>>2];l=r+32|0;t=A+16|0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];if(!i){f=A+8|0;n=t;l=A+24|0;i=A}else{f=A+24|0;n=A;l=A+8|0;i=t}c=+b[n>>3];s=+b[l>>3];b[r+16>>3]=+b[i>>3];b[r+24>>3]=s;b[r+48>>3]=c;b[r+56>>3]=+b[f>>3];A:do{if(e|0){i=0;while(1){if((i|0)==4)break A;t=r+(i<<4)+8|0;s=+b[t>>3];e=r+(i<<4)|0;b[t>>3]=+b[e>>3];b[e>>3]=-s;i=i+1|0}}}while(0);return}function vn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;l=e+3|0;t=e+1|0;c=e+2|0;b=A+(e*56|0)+44|0;s=A+(l*56|0)+44|0;r=0;f=e;while(1){if((f|0)>(l|0))break;do{if((f|0)!=(e|0))if((f|0)==(l|0)){a[s>>2]=e;n=c;break}else{a[A+(f*56|0)+44>>2]=f+1;n=f+-1|0;break}else{a[b>>2]=t;n=l}}while(0);a[A+(f*56|0)+48>>2]=n;a[A+(f*56|0)+32>>2]=0;u=A+(f*56|0)|0;w=i+(r<<4)|0;a[u>>2]=a[w>>2];a[u+4>>2]=a[w+4>>2];a[u+8>>2]=a[w+8>>2];a[u+12>>2]=a[w+12>>2];z6(A+(n*56|0)+16|0,w|0,16)|0;r=r+1|0;f=f+1|0}return e+4|0}function gn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;a[47393]=r<<1;a[47394]=r;b=qF(r*80|0)|0;a[47395]=1;a[47396]=1;Y6(f|0,0,r*72|0)|0;n=En(a[i+4>>2]|0,e,f,b)|0;r=1;while(1){if((r|0)>(A|0))break;a[e+(r*56|0)+40>>2]=n;a[e+(r*56|0)+36>>2]=n;r=r+1|0}c=Cn(A)|0;n=2;t=1;while(1){if((t|0)>(c|0))break;r=In(A,t+-1|0)|0;l=In(A,t)|0;while(1){if((r|0)>=(l|0)){r=1;break}Zn(a[i+(n<<2)>>2]|0,e,f,b);r=r+1|0;n=n+1|0}while(1){if((r|0)>(A|0))break;Gn(r,e,f,b);r=r+1|0}t=t+1|0}r=In(A,c)|0;while(1){if((r|0)>=(A|0))break;Zn(a[i+(n<<2)>>2]|0,e,f,b);n=n+1|0;r=r+1|0}L2(b);return a[47395]|0}function En(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;f=yn()|0;a[r+(f*40|0)>>2]=2;B=r+(f*40|0)+8|0;c=e+(A*56|0)|0;s=e+(A*56|0)+16|0;Mn(B,c,s);u=yn()|0;a[r+(f*40|0)+36>>2]=u;a[r+(u*40|0)>>2]=3;a[r+(u*40|0)+28>>2]=f;t=yn()|0;a[r+(f*40|0)+32>>2]=t;a[r+(t*40|0)>>2]=2;d=r+(t*40|0)+8|0;Fn(d,c,s);a[r+(t*40|0)+28>>2]=f;s=yn()|0;a[r+(t*40|0)+32>>2]=s;a[r+(s*40|0)>>2]=3;a[r+(s*40|0)+28>>2]=t;c=yn()|0;a[r+(t*40|0)+36>>2]=c;a[r+(c*40|0)>>2]=1;a[r+(c*40|0)+4>>2]=A;a[r+(c*40|0)+28>>2]=t;t=yn()|0;a[r+(c*40|0)+32>>2]=t;a[r+(t*40|0)>>2]=3;a[r+(t*40|0)+28>>2]=c;n=yn()|0;a[r+(c*40|0)+36>>2]=n;a[r+(n*40|0)>>2]=3;a[r+(n*40|0)+28>>2]=c;c=Wn(i)|0;l=Wn(i)|0;w=Wn(i)|0;k=Wn(i)|0;o=i+(c*72|0)+8|0;h=i+(l*72|0)+8|0;v=i+(k*72|0)+24|0;a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];z6(h|0,B|0,16)|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];o=i+(c*72|0)+24|0;h=i+(l*72|0)+24|0;B=i+(w*72|0)+8|0;a[B>>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];z6(h|0,d|0,16)|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];b[i+(k*72|0)+16>>3]=1073741824.0;b[i+(k*72|0)+8>>3]=1073741824.0;b[i+(w*72|0)+32>>3]=-1073741824.0;b[i+(w*72|0)+24>>3]=-1073741824.0;a[i+(l*72|0)>>2]=A;a[i+(c*72|0)+4>>2]=A;a[i+(l*72|0)+40>>2]=k;a[i+(c*72|0)+40>>2]=k;a[i+(l*72|0)+48>>2]=w;a[i+(c*72|0)+48>>2]=w;a[i+(w*72|0)+40>>2]=c;a[i+(k*72|0)+48>>2]=c;a[i+(w*72|0)+44>>2]=l;a[i+(k*72|0)+52>>2]=l;a[i+(c*72|0)+56>>2]=t;a[i+(l*72|0)+56>>2]=n;a[i+(w*72|0)+56>>2]=s;a[i+(k*72|0)+56>>2]=u;a[i+(l*72|0)+68>>2]=1;a[i+(c*72|0)+68>>2]=1;a[i+(k*72|0)+68>>2]=1;a[i+(w*72|0)+68>>2]=1;a[r+(u*40|0)+24>>2]=k;a[r+(s*40|0)+24>>2]=w;a[r+(t*40|0)+24>>2]=c;a[r+(n*40|0)+24>>2]=l;a[e+(A*56|0)+32>>2]=1;return f|0}function Cn(A){A=A|0;var e=0.0;e=+(A|0);A=0;while(1){if(!(e>=1.0))break;e=+a1(e);A=A+1|0}return A+-1|0}function In(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+(A|0);i=r;A=0;while(1){if((A|0)>=(e|0))break;i=+a1(i);A=A+1|0}return~~+p(+(r/i))|0}function Zn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0;P=k;k=k+96|0;x=P+32|0;f=P+16|0;T=P;B=x;c=e+(A*56|0)|0;d=B+56|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));j=x+16|0;S=x+24|0;l=+b[S>>3];D=x+8|0;t=+b[D>>3];do{if(!(l>t+1.0e-07)){if(!(l>3]>+b[x>>3]:0){Y=4;break}Y=(Ln(A,e,1)|0)==0;f=a[x+36>>2]|0;if(Y){w=0;Y=7}else{f=Qn(x,j,f,e,r)|0;Y=20}}else Y=4}while(0);if((Y|0)==4){a[f>>2]=a[x>>2];a[f+4>>2]=a[x+4>>2];a[f+8>>2]=a[x+8>>2];a[f+12>>2]=a[x+12>>2];a[x>>2]=a[j>>2];a[x+4>>2]=a[j+4>>2];a[x+8>>2]=a[j+8>>2];a[x+12>>2]=a[j+12>>2];a[j>>2]=a[f>>2];a[j+4>>2]=a[f+4>>2];a[j+8>>2]=a[f+8>>2];a[j+12>>2]=a[f+12>>2];W=x+36|0;z=a[W>>2]|0;Y=x+40|0;f=a[Y>>2]|0;a[W>>2]=f;a[Y>>2]=z;if(!(Ln(A,e,2)|0)){w=1;Y=7}else{f=Qn(x,j,f,e,r)|0;Y=19}}if((Y|0)==7){s=Qn(x,j,f,e,r)|0;f=Wn(i)|0;a[i+(f*72|0)+68>>2]=1;B=i+(f*72|0)|0;c=i+(s*72|0)|0;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));h=+b[D>>3];b[i+(f*72|0)+16>>3]=h;b[i+(s*72|0)+32>>3]=h;h=+b[x>>3];b[i+(f*72|0)+8>>3]=h;b[i+(s*72|0)+24>>3]=h;a[i+(s*72|0)+48>>2]=f;a[i+(s*72|0)+52>>2]=0;a[i+(f*72|0)+40>>2]=s;a[i+(f*72|0)+44>>2]=0;n=a[i+(f*72|0)+48>>2]|0;if((n|0)>0){c=i+(n*72|0)+40|0;if((a[c>>2]|0)==(s|0))a[c>>2]=f;n=i+(n*72|0)+44|0;if((a[n>>2]|0)==(s|0))a[n>>2]=f}n=a[i+(f*72|0)+52>>2]|0;if((n|0)>0){c=i+(n*72|0)+40|0;if((a[c>>2]|0)==(s|0))a[c>>2]=f;n=i+(n*72|0)+44|0;if((a[n>>2]|0)==(s|0))a[n>>2]=f}W=yn()|0;Y=yn()|0;z=i+(s*72|0)+56|0;L=a[z>>2]|0;a[r+(L*40|0)>>2]=2;m=r+(L*40|0)+8|0;a[m>>2]=a[x>>2];a[m+4>>2]=a[x+4>>2];a[m+8>>2]=a[x+8>>2];a[m+12>>2]=a[x+12>>2];a[r+(L*40|0)+4>>2]=A;a[r+(L*40|0)+32>>2]=Y;a[r+(L*40|0)+36>>2]=W;a[r+(W*40|0)>>2]=3;a[r+(W*40|0)+24>>2]=s;a[r+(W*40|0)+28>>2]=L;a[r+(Y*40|0)>>2]=3;a[r+(Y*40|0)+24>>2]=f;a[r+(Y*40|0)+28>>2]=L;a[z>>2]=W;a[i+(f*72|0)+56>>2]=Y;if(w)Y=19;else Y=20}if((Y|0)==19)if(!(Ln(A,e,1)|0)){n=1;Y=21}else{n=1;Y=32}else if((Y|0)==20)if(!(Ln(A,e,2)|0)){n=0;Y=21}else{n=0;Y=32}if((Y|0)==21){u=Qn(j,x,a[x+40>>2]|0,e,r)|0;w=Wn(i)|0;a[i+(w*72|0)+68>>2]=1;B=i+(w*72|0)|0;c=i+(u*72|0)|0;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));h=+b[S>>3];b[i+(w*72|0)+16>>3]=h;b[i+(u*72|0)+32>>3]=h;h=+b[j>>3];b[i+(w*72|0)+8>>3]=h;b[i+(u*72|0)+24>>3]=h;a[i+(u*72|0)+48>>2]=w;a[i+(u*72|0)+52>>2]=0;a[i+(w*72|0)+40>>2]=u;a[i+(w*72|0)+44>>2]=0;c=a[i+(w*72|0)+48>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((a[s>>2]|0)==(u|0))a[s>>2]=w;c=i+(c*72|0)+44|0;if((a[c>>2]|0)==(u|0))a[c>>2]=w}c=a[i+(w*72|0)+52>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((a[s>>2]|0)==(u|0))a[s>>2]=w;c=i+(c*72|0)+44|0;if((a[c>>2]|0)==(u|0))a[c>>2]=w}L=yn()|0;z=yn()|0;W=i+(u*72|0)+56|0;m=a[W>>2]|0;a[r+(m*40|0)>>2]=2;Q=r+(m*40|0)+8|0;a[Q>>2]=a[j>>2];a[Q+4>>2]=a[j+4>>2];a[Q+8>>2]=a[j+8>>2];a[Q+12>>2]=a[j+12>>2];a[r+(m*40|0)+4>>2]=A;a[r+(m*40|0)+32>>2]=z;a[r+(m*40|0)+36>>2]=L;a[r+(L*40|0)>>2]=3;a[r+(L*40|0)+24>>2]=u;a[r+(L*40|0)+28>>2]=m;a[r+(z*40|0)>>2]=3;a[r+(z*40|0)+24>>2]=w;a[r+(z*40|0)+28>>2]=m;a[W>>2]=L;a[i+(w*72|0)+56>>2]=z;z=f;f=0}else if((Y|0)==32){z=f;u=Qn(j,x,a[x+40>>2]|0,e,r)|0;f=1}A:do{if((z|0)>0){L=i+(u*72|0)+24|0;W=i+(u*72|0)+32|0;m=(f|0)!=0;Z=n?e+(A*56|0)+48|0:e+(A*56|0)+44|0;G=T+8|0;n=0;f=0;I=z;e:while(1){c=i+(I*72|0)|0;E=i+(I*72|0)+24|0;if(!(zn(E,L)|0))break A;s=i+(I*72|0)+56|0;g=a[s>>2]|0;w=yn()|0;o=yn()|0;a[r+(g*40|0)>>2]=1;a[r+(g*40|0)+4>>2]=A;a[r+(g*40|0)+32>>2]=w;a[r+(g*40|0)+36>>2]=o;a[r+(w*40|0)>>2]=3;a[r+(w*40|0)+24>>2]=I;a[r+(w*40|0)+28>>2]=g;a[r+(o*40|0)>>2]=3;C=Wn(i)|0;a[r+(o*40|0)+24>>2]=C;Q=i+(C*72|0)|0;a[i+(C*72|0)+68>>2]=1;a[r+(o*40|0)+28>>2]=g;n=(I|0)==(z|0)?C:n;g=i+(I*72|0)+32|0;if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0)f=C;B=Q;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));a[s>>2]=w;a[i+(C*72|0)+56>>2]=o;v=i+(I*72|0)+48|0;s=i+(I*72|0)+52|0;c=(a[s>>2]|0)<1;do{if((a[v>>2]|0)<1){if(c)break e;B=i+(I*72|0)+40|0;c=a[B>>2]|0;do{if((c|0)>0?(N=i+(I*72|0)+44|0,X=a[N>>2]|0,(X|0)>0):0){d=i+(I*72|0)+60|0;c=a[d>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=X;a[i+(C*72|0)+44>>2]=-1;a[N>>2]=-1;a[i+(X*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=X;a[N>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;o=C;w=X}else{a[i+(C*72|0)+44>>2]=-1;v=i+(C*72|0)+40|0;a[v>>2]=a[N>>2];w=a[B>>2]|0;a[N>>2]=w;a[B>>2]=c;a[i+(c*72|0)+48>>2]=I;o=I;c=a[v>>2]|0}a[i+(w*72|0)+48>>2]=o;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[d>>2]=0}else Y=77}while(0);do{if((Y|0)==77){Y=0;w=i+(c*72|0)+48|0;o=a[w>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(a[c>>2]|0)>0:0){c=a[i+(o*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[B>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;break}a[w>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[Z>>2]|0;if((c|0)>0?(mn(c,e,x)|0)!=0:0){a[i+((a[s>>2]|0)*72|0)+40>>2]=I;w=i+(C*72|0)+52|0;c=C}else{a[i+((a[i+(C*72|0)+52>>2]|0)*72|0)+44>>2]=C;w=s;c=I}a[w>>2]=-1;a[i+(c*72|0)+48>>2]=-1;c=a[s>>2]|0;break}c=a[s>>2]|0;s=i+(c*72|0)+40|0;w=a[s>>2]|0;o=i+(c*72|0)+44|0;if((w|0)>0?(R=a[o>>2]|0,H=(w|0)==(I|0),(R|0)>0):0){a[i+(c*72|0)+60>>2]=H?R:w;a[i+(c*72|0)+64>>2]=H?1:2}a[s>>2]=I;a[o>>2]=C}else{if(!c){l=+b[g>>3];t=+b[D>>3];h=l-t;if(!(+y(+h)<=1.0e-07)){b[G>>3]=l;l=+b[x>>3];b[T>>3]=(+b[j>>3]-l)*(h/(+b[S>>3]-t))+l;B=(Yn(T,E)|0)!=0}else B=+b[E>>3]>+b[x>>3];d=i+(I*72|0)+40|0;c=a[d>>2]|0;do{if((c|0)>0?(p=i+(I*72|0)+44|0,U=a[p>>2]|0,(U|0)>0):0){o=i+(I*72|0)+60|0;c=a[o>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=U;a[i+(C*72|0)+44>>2]=-1;a[p>>2]=-1;a[i+(U*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=U;a[p>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[d>>2]|0)*72|0)+48>>2]=I;w=C;s=U}else{a[i+(C*72|0)+44>>2]=-1;O=i+(C*72|0)+40|0;a[O>>2]=a[p>>2];s=a[d>>2]|0;a[p>>2]=s;a[d>>2]=c;a[i+(c*72|0)+48>>2]=I;w=I;c=a[O>>2]|0}a[i+(s*72|0)+48>>2]=w;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[o>>2]=0}else Y=106}while(0);do{if((Y|0)==106){Y=0;s=i+(c*72|0)+48|0;w=a[s>>2]|0;c=i+(c*72|0)+52|0;if((w|0)>0?(a[c>>2]|0)>0:0){c=a[i+(w*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[d>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[d>>2]|0)*72|0)+48>>2]=I;break}a[s>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[v>>2]|0;a[i+(c*72|0)+40>>2]=I;a[i+(c*72|0)+44>>2]=-1;c=i+(I*72|0)+52|0;O=a[c>>2]|0;a[i+(O*72|0)+40>>2]=C;a[i+(O*72|0)+44>>2]=-1;a[i+(C*72|0)+48>>2]=O;a[i+(C*72|0)+52>>2]=-1;a[c>>2]=-1;c=-1}else Y=116;do{if((Y|0)==116){Y=0;c=a[v>>2]|0;a[i+(c*72|0)+40>>2]=I;s=i+(c*72|0)+44|0;if(B){a[s>>2]=C;O=i+(I*72|0)+52|0;E=a[O>>2]|0;a[i+(E*72|0)+40>>2]=C;a[i+(E*72|0)+44>>2]=-1;a[O>>2]=-1;break}else{a[s>>2]=-1;c=i+(I*72|0)+52|0;O=a[c>>2]|0;a[i+(O*72|0)+40>>2]=I;a[i+(O*72|0)+44>>2]=C;a[i+(C*72|0)+48>>2]=O;a[i+(C*72|0)+52>>2]=-1;c=a[c>>2]|0;break}}}while(0);break}B=i+(I*72|0)+40|0;c=a[B>>2]|0;do{if((c|0)>0?(M=i+(I*72|0)+44|0,F=a[M>>2]|0,(F|0)>0):0){d=i+(I*72|0)+60|0;c=a[d>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=F;a[i+(C*72|0)+44>>2]=-1;a[M>>2]=-1;a[i+(F*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=F;a[M>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;o=C;w=F}else{a[i+(C*72|0)+44>>2]=-1;O=i+(C*72|0)+40|0;a[O>>2]=a[M>>2];w=a[B>>2]|0;a[M>>2]=w;a[B>>2]=c;a[i+(c*72|0)+48>>2]=I;o=I;c=a[O>>2]|0}a[i+(w*72|0)+48>>2]=o;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[d>>2]=0}else Y=51}while(0);do{if((Y|0)==51){Y=0;w=i+(c*72|0)+48|0;o=a[w>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(a[c>>2]|0)>0:0){c=a[i+(o*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[B>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;break}a[w>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[Z>>2]|0;if((c|0)>0?(mn(c,e,x)|0)!=0:0){a[i+((a[v>>2]|0)*72|0)+40>>2]=I;s=i+(C*72|0)+52|0;c=C}else{a[i+((a[i+(C*72|0)+48>>2]|0)*72|0)+44>>2]=C;c=I}a[s>>2]=-1;a[i+(c*72|0)+48>>2]=-1;c=a[v>>2]|0;break}c=a[v>>2]|0;s=i+(c*72|0)+40|0;w=a[s>>2]|0;o=i+(c*72|0)+44|0;if((w|0)>0?(V=a[o>>2]|0,J=(w|0)==(I|0),(V|0)>0):0){a[i+(c*72|0)+60>>2]=J?V:w;a[i+(c*72|0)+64>>2]=J?1:2}a[s>>2]=I;a[o>>2]=C}}while(0);a[Q>>2]=A;a[i+(I*72|0)+4>>2]=A;if((c|0)>0)I=c;else break A}L3(138424,19,1,a[15712]|0)|0}else{n=0;f=0}}while(0);Dn(A,z,u,1,i,r);Dn(A,n,f,2,i,r);a[e+(A*56|0)+32>>2]=1;k=P;return}function Gn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;if(!(a[e+(A*56|0)+32>>2]|0)){f=e+(A*56|0)|0;n=e+(A*56|0)+16|0;l=e+(A*56|0)+36|0;a[l>>2]=a[i+((Qn(f,n,a[l>>2]|0,e,r)|0)*72|0)+56>>2];A=e+(A*56|0)+40|0;a[A>>2]=a[i+((Qn(n,f,a[A>>2]|0,e,r)|0)*72|0)+56>>2]}return}function Qn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0,o=0.0,h=0,d=0;k=A+8|0;h=e+8|0;A:while(1){e:do{switch(a[f+(i*40|0)>>2]|0){case 3:{d=3;break A}case 2:{n=+b[k>>3];l=f+(i*40|0)+8|0;t=+b[f+(i*40|0)+16>>3];c=t+1.0e-07;do{if(!(n>c)){s=t+-1.0e-07;if(!(n>3]>+b[l>>3]:0)break;if(+y(+(n-t))<=1.0e-07?(w=+b[l>>3],+y(+(+b[A>>3]-w))<=1.0e-07):0){n=+b[h>>3];do{if(!(n>c)){if(!(n>3]>w:0)break;i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break e}i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break}case 1:{n=+b[k>>3];l=a[f+(i*40|0)+4>>2]|0;if(+y(+(n-+b[r+(l*56|0)+8>>3]))<=1.0e-07?(u=+b[A>>3],+y(+(u-+b[r+(l*56|0)>>3]))<=1.0e-07):0)t=u;else d=19;do{if((d|0)==19){d=0;if(+y(+(n-+b[r+(l*56|0)+24>>3]))<=1.0e-07?(o=+b[A>>3],+y(+(o-+b[r+(l*56|0)+16>>3]))<=1.0e-07):0){t=o;break}if(!(mn(l,r,A)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}}}while(0);if(!(+y(+(n-+b[h>>3]))<=1.0e-07))if(!(mn(l,r,e)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}else if(+b[e>>3]>2]|0}if((d|0)==3)return a[f+(i*40|0)+24>>2]|0;else if((d|0)==31){L3(138358,35,1,a[15712]|0)|0;vA(138394,138396,349,138408)}return 0}function mn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0,n=0.0,l=0,t=0,c=0.0;a=e+(A*56|0)+16|0;n=+b[e+(A*56|0)+24>>3];l=e+(A*56|0)|0;f=+b[e+(A*56|0)+8>>3];do{if(!(n>f+1.0e-07)){if(!(n>3]>+b[l>>3]:0){t=4;break}r=+b[i+8>>3];if(+y(+(n-r))<=1.0e-07){r=+b[i>>3]<+b[a>>3]?1.0:-1.0;break}if(!(+y(+(f-r))<=1.0e-07)){c=+b[a>>3];r=(+b[l>>3]-c)*(r-n)-(+b[i>>3]-c)*(f-n);break}else{r=+b[i>>3]<+b[l>>3]?1.0:-1.0;break}}else t=4}while(0);do{if((t|0)==4){r=+b[i+8>>3];if(+y(+(n-r))<=1.0e-07){r=+b[i>>3]<+b[a>>3]?1.0:-1.0;break}if(!(+y(+(f-r))<=1.0e-07)){c=+b[l>>3];r=(+b[a>>3]-c)*(r-f)-(+b[i>>3]-c)*(n-f);break}else{r=+b[i>>3]<+b[l>>3]?1.0:-1.0;break}}}while(0);return r>0.0|0}function Ln(A,e,i){A=A|0;e=e|0;i=i|0;return a[e+((a[((i|0)==1?e+(A*56|0)+48|0:e+(A*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function Wn(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=a[47395]|0;if((e|0)<(a[47394]|0)){a[A+(e*72|0)>>2]=-1;a[A+(e*72|0)+4>>2]=-1;a[A+(e*72|0)+68>>2]=1;a[47395]=e+1;k=r;return e|0}else{r=a[15712]|0;a[i>>2]=e;f3(r,138483,i)|0;vA(138394,138396,88,138521)}return 0}function yn(){var A=0;A=a[47396]|0;if((A|0)<(a[47393]|0)){a[47396]=A+1;return A|0}else{L3(138444,30,1,a[15712]|0)|0;vA(138394,138396,72,138475)}return 0}function zn(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(i>r+1.0e-07))if(i>3]>=+b[e>>3]&1;else A=1;return A|0}function Yn(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(ir+1.0e-07)A=0;else A=+b[A>>3]<+b[e>>3]&1;else A=1;return A|0}function Dn(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;h=f+(i*72|0)+24|0;o=(r|0)==1;A:while(1){k=f+(e*72|0)+24|0;c=f+(e*72|0)+48|0;b=f+(e*72|0)+52|0;s=f+(e*72|0)|0;w=f+(e*72|0)+4|0;u=f+(e*72|0)+56|0;if((e|0)<=0)break;while(1){if(!(zn(k,h)|0))break A;i=a[c>>2]|0;r=(i|0)>0;do{if(o){if(r?(a[f+(i*72|0)+4>>2]|0)==(A|0):0)break;i=a[b>>2]|0;if((i|0)<=0){e=i;continue A}if((a[f+(i*72|0)+4>>2]|0)!=(A|0)){e=i;continue A}}else{if(r?(a[f+(i*72|0)>>2]|0)==(A|0):0)break;i=a[b>>2]|0;if((i|0)<=0){e=i;continue A}if((a[f+(i*72|0)>>2]|0)!=(A|0)){e=i;continue A}}}while(0);if((a[s>>2]|0)!=(a[f+(i*72|0)>>2]|0)){e=i;continue A}if((a[w>>2]|0)!=(a[f+(i*72|0)+4>>2]|0)){e=i;continue A}d=a[f+(i*72|0)+56>>2]|0;r=a[n+(d*40|0)+28>>2]|0;l=n+(r*40|0)+32|0;t=a[u>>2]|0;if((a[l>>2]|0)==(d|0))a[l>>2]=t;else a[n+(r*40|0)+36>>2]=t;r=a[f+(i*72|0)+48>>2]|0;a[c>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((a[l>>2]|0)==(i|0)){a[l>>2]=e;break}r=f+(r*72|0)+44|0;if((a[r>>2]|0)==(i|0))a[r>>2]=e}}while(0);r=a[f+(i*72|0)+52>>2]|0;a[b>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((a[l>>2]|0)==(i|0)){a[l>>2]=e;break}r=f+(r*72|0)+44|0;if((a[r>>2]|0)==(i|0))a[r>>2]=e}}while(0);d=f+(i*72|0)+24|0;a[k>>2]=a[d>>2];a[k+4>>2]=a[d+4>>2];a[k+8>>2]=a[d+8>>2];a[k+12>>2]=a[d+12>>2];a[f+(i*72|0)+68>>2]=2}}return}function Mn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[i+8>>3];do{if(!(r>f+1.0e-07)){if(!(+y(+(r-f))<=1.0e-07)){a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}if(+b[e>>3]>+b[i>>3]+1.0e-07){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function Fn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[i+8>>3];do{if(!(r>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}if(+b[e>>3]<+b[i>>3]){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function Vn(A){A=A|0;var e=0;e=qF(8)|0;if(e|0){a[e+4>>2]=A;a[e>>2]=0}return e|0}function Jn(A,e){A=A|0;e=e|0;if(e){e=Vn(e)|0;a[e>>2]=A;A=e}return A|0}function Nn(A){A=A|0;var e=0;do{e=A;A=a[A>>2]|0;L2(e)}while((A|0)!=0);return}function Xn(){var A=0;A=qF(1992)|0;if(A|0)a[A>>2]=Rn(A)|0;return A|0}function Rn(A){A=A|0;var e=0;e=jn(A)|0;a[e+4>>2]=0;A=A+1972|0;a[A>>2]=(a[A>>2]|0)+1;return e|0}function Hn(A){A=A|0;pn(A,a[A>>2]|0);L2(a[A>>2]|0);L2(A);return 0}function pn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=A+1980|0;l=A+1912|0;t=A+1936|0;A:do{if((a[e+4>>2]|0)>0){i=0;while(1){if((i|0)==64)break A;r=e+8+(i*20|0)+16|0;f=a[r>>2]|0;if(f|0?(pn(A,f),L2(a[r>>2]|0),qn(e,i),a[n>>2]=(a[n>>2]|0)+-1,a[l>>2]|0):0)a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}else{i=0;while(1){if((i|0)==64)break A;if(a[e+8+(i*20|0)+16>>2]|0?(qn(e,i),a[n>>2]=(a[n>>2]|0)+-1,a[l>>2]|0):0)a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}}while(0);return}function Un(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;if(!e)vA(138879,138529,194,138537);r=a[e+4>>2]|0;if((r|0)<=-1)vA(138549,138529,195,138537);if(!i)vA(138821,138529,196,138537);t=A+1952|0;a[t>>2]=(a[t>>2]|0)+1;A:do{if((r|0)>0){t=0;r=0;while(1){if((t|0)==64)break A;f=e+8+(t*20|0)+16|0;if((a[f>>2]|0)!=0?(rl(i,e+8+(t*20|0)|0)|0)!=0:0){n=Un(A,a[f>>2]|0,i)|0;if(!r)r=n;else{f=r;while(1){l=a[f>>2]|0;if(!l)break;else f=l}a[f>>2]=n}}t=t+1|0}}else{n=0;r=0;while(1){if((n|0)==64)break A;f=e+8+(n*20|0)|0;if((a[e+8+(n*20|0)+16>>2]|0)!=0?(rl(i,f)|0)!=0:0)r=Jn(r,f)|0;n=n+1|0}}}while(0);return r|0}function xn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+64|0;b=o+52|0;s=o+32|0;w=o+16|0;u=o;a[b>>2]=0;if(!((e|0)!=0&(r|0)!=0))vA(138735,138529,247,138563);if((f|0)>-1?(c=a[r>>2]|0,(a[c+4>>2]|0)>=(f|0)):0){n=0;while(1){if((n|0)>=2)break;if((a[e+(n<<2)>>2]|0)>(a[e+(n+2<<2)>>2]|0)){l=8;break}else n=n+1|0}if((l|0)==8)vA(138610,138529,250,138563);t=A+1912|0;n=A+1908|0;l=a[n>>2]|0;if(a[t>>2]|0){h=l|0?A+1924|0:A+1916|0;a[h>>2]=(a[h>>2]|0)+1}if(!l){h=A+1964|0;a[h>>2]=(a[h>>2]|0)+1}if(!(Tn(A,e,i,c,b,f)|0))n=0;else{if(a[t>>2]|0){h=a[n>>2]|0?A+1948|0:A+1944|0;a[h>>2]=(a[h>>2]|0)+1}n=jn(A)|0;h=A+1976|0;a[h>>2]=(a[h>>2]|0)+1;h=a[r>>2]|0;a[n+4>>2]=(a[h+4>>2]|0)+1;On(w,h);a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];h=s+16|0;a[h>>2]=a[r>>2];_n(A,s,n,0)|0;On(u,a[b>>2]|0);a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[h>>2]=a[b>>2];_n(A,s,n,0)|0;a[r>>2]=n;n=A+1980|0;a[n>>2]=(a[n>>2]|0)+2;n=1}k=o;return n|0}vA(138575,138529,248,138563);return 0}function Tn(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+80|0;s=h+52|0;w=h+48|0;u=h+32|0;o=h+16|0;b=h;a[w>>2]=0;if(!((e|0)!=0&(r|0)!=0&(f|0)!=0))vA(138653,138529,311,138667);if((n|0)>-1?(t=r+4|0,l=a[t>>2]|0,(l|0)>=(n|0)):0){if(a[A+1912>>2]|0){l=a[A+1908>>2]|0?A+1948|0:A+1944|0;a[l>>2]=(a[l>>2]|0)+1;l=a[t>>2]|0}do{if((l|0)>(n|0)){t=Kn(e,r)|0;l=r+8+(t*20|0)+16|0;t=r+8+(t*20|0)|0;if(!(Tn(A,e,i,a[l>>2]|0,w,n)|0)){il(u,e,t);a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];c=0;break}else{On(o,a[l>>2]|0);a[t>>2]=a[o>>2];a[t+4>>2]=a[o+4>>2];a[t+8>>2]=a[o+8>>2];a[t+12>>2]=a[o+12>>2];c=a[w>>2]|0;a[s+16>>2]=c;On(b,c);a[s>>2]=a[b>>2];a[s+4>>2]=a[b+4>>2];a[s+8>>2]=a[b+8>>2];a[s+12>>2]=a[b+12>>2];c=A+1980|0;a[c>>2]=(a[c>>2]|0)+1;c=_n(A,s,r,f)|0;break}}else if((l|0)==(n|0)){a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];a[s+16>>2]=i;c=A+1980|0;a[c>>2]=(a[c>>2]|0)+1;c=_n(A,s,r,f)|0;break}else vA(138712,138529,341,138667)}while(0);k=h;return c|0}vA(138680,138529,312,138667);return 0}function jn(A){A=A|0;A=A+1968|0;a[A>>2]=(a[A>>2]|0)+1;A=m2(1288)|0;Sn(A);return A|0}function Sn(A){A=A|0;var e=0;a[A>>2]=0;a[A+4>>2]=-1;e=0;while(1){if((e|0)==64)break;Pn(A+8+(e*20|0)|0);e=e+1|0}return}function Pn(A){A=A|0;$n(A);a[A+16>>2]=0;return}function On(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t+16|0;l=t;if(!e)vA(138879,138718,99,138725);$n(n);i=1;f=0;while(1){if((f|0)==64)break;do{if(a[e+8+(f*20|0)+16>>2]|0){r=e+8+(f*20|0)|0;if(!i){il(l,n,r);a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];i=0;break}else{a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];i=0;break}}}while(0);f=f+1|0}a[A>>2]=a[n>>2];a[A+4>>2]=a[n+4>>2];a[A+8>>2]=a[n+8>>2];a[A+12>>2]=a[n+12>>2];k=t;return}function Kn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;b=k;k=k+32|0;t=b+16|0;c=b;if(!((A|0)!=0&(e|0)!=0))vA(138735,138718,125,138742);i=0;r=0;f=0;n=1;l=0;while(1){if((l|0)==64)break;if(a[e+8+(l*20|0)+16>>2]|0){w=e+8+(l*20|0)|0;o=el(w)|0;il(c,A,w);a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];w=(el(t)|0)-o|0;s=(n|0)!=0|(w|0)<(f|0);u=s|(o|0)<(r|0)&(w|0)==(f|0);i=u?l:i;r=u?o:r;f=u?w:f;n=s?0:n}l=l+1|0}k=b;return i|0}function _n(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;if(!e)vA(138901,138718,167,138753);if(!i)vA(138879,138718,168,138753);do{if((a[i>>2]|0)<64){A=0;while(1){if((A|0)>=64){r=10;break}if(!(a[i+8+(A*20|0)+16>>2]|0)){r=8;break}A=A+1|0}if((r|0)==8){f=i+8+(A*20|0)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];f=0;n=i;break}else if((r|0)==10)vA(138763,138718,178,138753)}else{if(a[A+1912>>2]|0){l=a[A+1908>>2]|0?A+1948|0:A+1944|0;a[l>>2]=(a[l>>2]|0)+1}if(!r)vA(138776,138718,187,138753);else{fl(A,i,e,r);f=1;n=(a[i+4>>2]|0)==0?A+1972|0:A+1976|0;break}}}while(0);a[n>>2]=(a[n>>2]|0)+1;return f|0}function qn(A,e){A=A|0;e=e|0;if(!((A|0)!=0&e>>>0<64))vA(138780,138718,201,138808);if(!(a[A+8+(e*20|0)+16>>2]|0))vA(139302,138718,202,138808);else{Pn(A+8+(e*20|0)|0);a[A>>2]=(a[A>>2]|0)+-1;return}}function $n(A){A=A|0;var e=0;e=0;while(1){if((e|0)==4)break;a[A+(e<<2)>>2]=0;e=e+1|0}return}function Al(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;a[i>>2]=1;a[i+8>>2]=-1;e=1;while(1){if((e|0)==2)break;a[i+(e+2<<2)>>2]=0;a[i+(e<<2)>>2]=0;e=e+1|0}a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=r;return}function el(A){A=A|0;var e=0,i=0,r=0;if(!A)vA(138821,138823,128,138835);A:do{if((a[A>>2]|0)>(a[A+8>>2]|0))e=0;else{e=1;i=0;while(1){if((i|0)==2)break A;r=U(a[A+(i+2<<2)>>2]|0,e)|0;e=r-(a[A+(i<<2)>>2]|0)|0;i=i+1|0}}}while(0);return e|0}function il(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;n=k;k=k+16|0;f=n;if(!((e|0)!=0&(i|0)!=0))vA(138844,138823,195,138852);do{if((a[e>>2]|0)>(a[e+8>>2]|0)){a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2]}else{if((a[i>>2]|0)>(a[i+8>>2]|0)){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else r=0;while(1){if((r|0)==2)break;c=a[e+(r<<2)>>2]|0;l=a[i+(r<<2)>>2]|0;a[f+(r<<2)>>2]=(c|0)<(l|0)?c:l;l=r+2|0;c=a[e+(l<<2)>>2]|0;t=a[i+(l<<2)>>2]|0;a[f+(l<<2)>>2]=(c|0)>(t|0)?c:t;r=r+1|0}a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2]}}while(0);k=n;return}function rl(A,e){A=A|0;e=e|0;var i=0,r=0;if((A|0)!=0&(e|0)!=0)i=0;else vA(138864,138823,216,138871);while(1){if((i|0)>=2){i=1;break}r=i+2|0;if((a[A+(i<<2)>>2]|0)>(a[e+(r<<2)>>2]|0)){i=0;break}if((a[e+(i<<2)>>2]|0)>(a[A+(r<<2)>>2]|0)){i=0;break}else i=i+1|0}return i|0}function fl(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;if(!e)vA(138879,138881,40,138891);if(!i)vA(138901,138881,41,138891);t=A+1912|0;if(a[t>>2]|0){l=a[A+1908>>2]|0?A+1932|0:A+1928|0;a[l>>2]=(a[l>>2]|0)+1}n=e+4|0;l=a[n>>2]|0;al(A,e,i);i=A+1324|0;nl(A);f=el(A+1852|0)|0;f=(el(A+1868|0)|0)+f|0;if(a[t>>2]|0?(f|0)!=0&(a[A+1908>>2]|0)==0:0){t=A+1960|0;c[t>>2]=+((a[A+1320>>2]|0)>>>0)/+(f|0)+ +c[t>>2]}t=jn(A)|0;a[r>>2]=t;a[n>>2]=l;a[t+4>>2]=l;ll(A,e,t,i);if(((a[a[r>>2]>>2]|0)+(a[e>>2]|0)|0)==65)return;else vA(138903,138881,86,138891)}function al(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+16|0;n=l;if(!e)vA(138879,138881,106,139290);if(!i)vA(138901,138881,107,139290);else r=0;while(1){if((r|0)>=64)break;if(!(a[e+8+(r*20|0)+16>>2]|0)){f=7;break}c=e+8+(r*20|0)|0;t=A+4+(r*20|0)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];r=r+1|0}if((f|0)==7)vA(139302,138881,111,139290);r=A+4|0;c=A+1284|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[c+16>>2]=a[i+16>>2];i=A+1304|0;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];r=1;while(1){if((r|0)==65)break;il(n,i,A+4+(r*20|0)|0);a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];r=r+1|0}a[A+1320>>2]=el(i)|0;Sn(e);k=l;return}function nl(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;g=k;k=k+48|0;t=g+32|0;b=g+16|0;s=g;tl(A);cl(A);h=A+1844|0;B=A+1848|0;v=A+1892|0;w=A+1852|0;u=A+1884|0;o=A+1868|0;c=A+1888|0;f=0;r=0;while(1){i=a[h>>2]|0;e=a[B>>2]|0;if((e+i|0)>=65)break;l=65-(a[v>>2]|0)|0;if((i|0)<(l|0)&(e|0)<(l|0)){n=-1;l=0}else{d=12;break}while(1){if((l|0)==65)break;if(!(a[A+1584+(l<<2)>>2]|0)){E=A+4+(l*20|0)|0;il(b,E,w);a[t>>2]=a[b>>2];a[t+4>>2]=a[b+4>>2];a[t+8>>2]=a[b+8>>2];a[t+12>>2]=a[b+12>>2];e=el(t)|0;i=a[u>>2]|0;il(s,E,o);a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];E=el(t)|0;e=E-(a[c>>2]|0)+(i-e)|0;i=(e|0)>-1;e=i?e:0-e|0;i=(i^1)&1;if((e|0)<=(n|0))if((e|0)==(n|0)){E=(a[A+1844+(i<<2)>>2]|0)<(a[A+1844+(f<<2)>>2]|0);e=n;i=E?i:f;r=E?l:r}else{e=n;i=f}else r=l}else{e=n;i=f}n=e;l=l+1|0;f=i}bl(A,r,f)}if((d|0)==12){e=(i|0)>=(65-(a[v>>2]|0)|0)&1;i=0;while(1){if((i|0)==65)break;if(!(a[A+1584+(i<<2)>>2]|0))bl(A,i,e);i=i+1|0}i=a[h>>2]|0;e=a[B>>2]|0}if((e+i|0)!=65)vA(139046,138881,210,139132);E=a[v>>2]|0;if((i|0)<(E|0)|(e|0)<(E|0))vA(139143,138881,212,139132);else{k=g;return}}function ll(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if(!e)vA(138879,138881,297,138943);if(!i)vA(138953,138881,298,138943);if(!r)vA(138955,138881,299,138943);else f=0;while(1){if((f|0)>=65){r=14;break}r=a[A+1324+(f<<2)>>2]|0;if(r>>>0>=2){r=9;break}switch(r|0){case 0:{_n(A,A+4+(f*20|0)|0,e,0)|0;break}case 1:{_n(A,A+4+(f*20|0)|0,i,0)|0;break}default:{}}f=f+1|0}if((r|0)==9)vA(138957,138881,303,138943);else if((r|0)==14)return}function tl(A){A=A|0;var e=0,i=0,r=0,f=0;i=k;k=k+16|0;r=i;a[A+1848>>2]=0;a[A+1844>>2]=0;e=A+1852|0;f=A+1868|0;Al(r);a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];a[A+1888>>2]=0;a[A+1884>>2]=0;e=0;while(1){if((e|0)==65)break;a[A+1584+(e<<2)>>2]=0;a[A+1324+(e<<2)>>2]=-1;e=e+1|0}k=i;return}function cl(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;u=k;k=k+304|0;b=u+32|0;s=u+16|0;w=u;e=0;while(1){if((e|0)==65)break;a[b+(e<<2)>>2]=el(A+4+(e*20|0)|0)|0;e=e+1|0}e=0;i=0;r=0;n=0;A:while(1){if((n|0)==64)break;t=n+1|0;c=A+4+(n*20|0)|0;l=b+(n<<2)|0;f=t;while(1){if((f|0)==65){n=t;continue A}il(w,c,A+4+(f*20|0)|0);a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];o=el(s)|0;o=o-(a[l>>2]|0)-(a[b+(f<<2)>>2]|0)|0;h=o>>>0>r>>>0;d=h?f:e;f=f+1|0;e=d;i=h?n:i;r=h?o:r}}bl(A,i,0);bl(A,e,1);k=u;return}function bl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;r=A+1584+(e<<2)|0;if(a[r>>2]|0)vA(139246,138881,257,139281);a[A+1324+(e<<2)>>2]=i;a[r>>2]=1;n=A+1844+(i<<2)|0;f=A+1852+(i<<4)|0;r=A+4+(e*20|0)|0;if(!(a[n>>2]|0)){a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2]}else{il(l,r,f);a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2]}a[A+1884+(i<<2)>>2]=el(f)|0;a[n>>2]=(a[n>>2]|0)+1;k=t;return}function sl(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1200|0;d=v+800|0;i=v;a[47397]=0;a[47398]=-2;e=d;t=200;w=i;o=0;h=0;u=d;A:while(1){f[u>>1]=o;if((e+(t<<1)+-2|0)>>>0>u>>>0)b=t;else{s=u-e>>1;A=s+1|0;if(t>>>0>9999){B=95;break}b=t<<1;b=b>>>0<1e4?b:1e4;l=m2(b*6|3)|0;if(l){y6(l|0,e|0,A<<1|0)|0;t=l+(b>>>1<<2)|0;y6(t|0,w|0,A<<2|0)|0;if((e|0)==(d|0)){A=0;e=l}else{L2(e);A=0;e=l}}else{A=4;t=w}c=(A|0)==0;l=e+(s<<1)|0;switch((c?(e+(b<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;B=96;break A}case 4:{B=95;break A}case 0:{i=c?t+(s<<2)|0:i;w=t;u=c?l:u;break}default:{A=0;break A}}}if((o|0)==31){A=0;B=96;break}A=f[65534+(o<<1)>>1]|0;c=A<<16>>16;do{if(A<<16>>16!=-82){l=a[47398]|0;if((l|0)==-2){l=Qt()|0;a[47398]=l}if((l|0)>=1)if(l>>>0<296)t=n[139321+l>>0]|0;else t=2;else{a[47398]=0;t=0}l=t+c|0;if(l>>>0<=271?(t|0)==(r[139617+l>>0]|0):0){o=r[139889+l>>0]|0;A=o<<24>>24;if(o<<24>>24<1){l=0-A|0;B=23;break}else{a[47398]=-2;i=i+4|0;a[i>>2]=a[47399];c=(h|0)==0?0:h+-1|0;l=u;break}}else B=22}else B=22}while(0);if((B|0)==22){B=0;o=r[140161+o>>0]|0;l=o&255;if(!(o<<24>>24)){l=a[47398]|0;e:do{switch(h|0){case 0:{a[47397]=(a[47397]|0)+1;Yl(143761);l=u;break}case 3:if((l|0)<1)if(!l){A=1;B=96;break A}else{l=u;break e}else{a[47398]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<16>>16==8)break;if((l|0)==(e|0)){A=1;B=96;break A}A=l+-2|0;i=i+-4|0;l=A;A=f[65534+(f[A>>1]<<1)>>1]|0}i=i+4|0;a[i>>2]=a[47399];A=1;c=3}else B=23}do{if((B|0)==23){B=0;c=n[140277+l>>0]|0;A=a[i+(1-c<<2)>>2]|0;do{switch(l|0){case 4:{B=26;break A}case 2:{a[47400]=wl(a[i+-4>>2]|0,2)|0;break}case 3:{a[47400]=wl(a[i+-4>>2]|0,1)|0;break}case 5:{A=kl()|0;break}case 8:{ol(a[47401]|0);break}case 9:{hl(a[i>>2]|0);break}case 18:{dl(a[i>>2]|0);break}case 19:{Bl();break}case 20:{dl(a[i>>2]|0);break}case 21:{Bl();break}case 22:{dl(a[i>>2]|0);break}case 23:{Bl();break}case 24:{dl(a[i>>2]|0);break}case 25:{Bl();break}case 26:{dl(a[i>>2]|0);break}case 27:{Bl();break}case 28:{dl(a[i>>2]|0);break}case 29:{Bl();break}case 30:{dl(a[i>>2]|0);break}case 31:{Bl();break}case 32:{dl(a[i>>2]|0);break}case 33:{Bl();break}case 34:{A=a[i+-4>>2]|0;break}case 35:{A=a[i>>2]|0;break}case 38:{A=a[47401]|0;t=a[A+4>>2]|0;if(t>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;t=a[47401]|0;A=t;t=a[t+4>>2]|0}r[t>>0]=0;o=a[A>>2]|0;a[A+4>>2]=o;if(vl(o)|0){B=51;break A}a[(a[i>>2]|0)+80>>2]=a[47402];A=jk(56032,a[4580]|0)|0;a[(a[i>>2]|0)+84>>2]=A;a[47402]=a[i>>2];a[(a[i>>2]|0)+108>>2]=a[a[47403]>>2];A=a[i>>2]|0;break}case 39:{A=a[47401]|0;t=a[A+4>>2]|0;if(t>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;t=a[47401]|0;A=t;t=a[t+4>>2]|0}r[t>>0]=0;o=a[A>>2]|0;a[A+4>>2]=o;if(vl(o)|0){B=56;break A}A=a[47402]|0;a[47402]=a[A+80>>2];break}case 40:{A=a[i>>2]|0;break}case 41:{A=a[i+-4>>2]|0;break}case 42:{A=a[i+-4>>2]|0;break}case 43:{A=a[i+-4>>2]|0;break}case 44:{A=a[i+-4>>2]|0;break}case 45:{A=a[i+-4>>2]|0;break}case 48:{A=a[i>>2]|0;break}case 49:{A=a[i>>2]|0;break}case 50:{r[(a[i+-8>>2]|0)+12>>0]=1;A=a[i>>2]|0;break}case 51:{gl();break}case 52:{A=El()|0;break}case 53:{A=a[i>>2]|0;break}case 54:{A=a[i>>2]|0;break}case 55:{A=(a[i+-8>>2]|0)+100|0;r[A>>0]=r[A>>0]|1;A=a[i>>2]|0;break}case 56:{Cl(a[i+-4>>2]|0,a[i>>2]|0,1);break}case 57:{A=a[i+-12>>2]|0;break}case 58:{Cl(a[i+-4>>2]|0,a[i>>2]|0,2);break}case 59:{A=a[i+-12>>2]|0;break}case 60:{Cl(a[i+-4>>2]|0,a[i>>2]|0,3);break}case 61:{A=a[i+-12>>2]|0;break}case 62:{Cl(a[i>>2]|0,kl()|0,2);break}case 63:{A=a[i+-8>>2]|0;break}case 64:{A=a[i+-4>>2]|0;break}case 65:{A=a[i>>2]|0;break}default:{}}}while(0);t=0-c|0;o=i+(t<<2)|0;t=u+(t<<1)|0;i=o+4|0;a[o+4>>2]=A;A=(n[140449+l>>0]|0)+-41|0;o=f[t>>1]|0;l=o+(f[65766+(A<<1)>>1]|0)|0;if(l>>>0<272?(r[139617+l>>0]|0)==(o|0):0){A=r[139889+l>>0]|0;c=h;l=t;break}A=r[140519+A>>0]|0;c=h;l=t}}while(0);t=b;o=A;h=c;u=l+2|0}if((B|0)==26){ul();A=1;B=96}else if((B|0)==51){Yl(140347);ul();A=1;B=96}else if((B|0)==56){Yl(140398);ul();A=1;B=96}else if((B|0)==95){Yl(140558);A=2;B=96}if((B|0)==96)if((e|0)!=(d|0))L2(e);k=v;return A|0}function wl(A,e){A=A|0;e=e|0;var i=0;i=qF(8)|0;r[i+4>>0]=e;a[i>>2]=A;return i|0}function ul(){var A=0,e=0;A=a[47402]|0;e=a[47400]|0;if(e|0){aa(e,1);a[47400]=0}a[14021]=67;while(1){if(!A)break;e=a[A+80>>2]|0;Ql(A);A=e}a[14021]=56;a[14030]=68;e=a[47405]|0;W5[a[e>>2]&63](e,0,64)|0;a[14030]=56;a[14039]=69;e=a[47406]|0;W5[a[e>>2]&63](e,0,64)|0;a[14039]=56;Wl();return}function kl(){var A=0,e=0,i=0,r=0,n=0,l=0;i=a[47406]|0;r=qF(40)|0;if(Pk(a[47405]|0)|0)hl(0);A=Pk(i)|0;f[r+4>>1]=A;A:do{if(!A)A=i;else{a[r>>2]=qF(A*24|0)|0;A=0;e=W5[a[i>>2]&63](i,0,128)|0;while(1){if(!e){A=i;break A}n=(a[r>>2]|0)+(A*24|0)|0;l=e+8|0;a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];a[n+16>>2]=a[l+16>>2];a[n+20>>2]=a[l+20>>2];A=A+1|0;e=W5[a[i>>2]&63](i,e,8)|0}}}while(0);W5[a[A>>2]&63](i,0,64)|0;return r|0}function ol(A){A=A|0;var e=0,i=0,f=0;i=qF(64)|0;f=A+4|0;e=a[f>>2]|0;if(e>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;e=a[f>>2]|0}r[e>>0]=0;A=a[A>>2]|0;a[f>>2]=A;a[i+8>>2]=s3(A)|0;a[i+12>>2]=a[a[47403]>>2];f=a[47405]|0;W5[a[f>>2]&63](f,i,1)|0;return}function hl(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;t=qF(32)|0;c=a[47405]|0;e=Pk(c)|0;b=t+8|0;r[t+14>>0]=A;A:do{if(!e){a[b>>2]=qF(56)|0;f[t+12>>1]=1;l=s3(195059)|0;b=a[b>>2]|0;a[b>>2]=l;a[b+4>>2]=a[a[47403]>>2]}else{f[t+12>>1]=e;a[b>>2]=qF(e*56|0)|0;A=0;e=xk(c)|0;while(1){if(!e)break A;i=(a[b>>2]|0)+(A*56|0)|0;n=e+8|0;l=i+56|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));A=A+1|0;e=a[e>>2]|0}}}while(0);W5[a[c>>2]&63](c,0,64)|0;b=a[47406]|0;W5[a[b>>2]&63](b,t,1)|0;return}function dl(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t;l=qF(8)|0;f=a[a[47403]>>2]|0;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[n+16>>2]=a[A+16>>2];a[n+20>>2]=a[A+20>>2];a[n+24>>2]=a[A+24>>2];a[n+28>>2]=a[A+28>>2];if(f|0){A=n+4|0;if((a[A>>2]|0)==0?(e=a[f+4>>2]|0,e|0):0)a[A>>2]=e;A=n+16|0;if(+b[A>>3]<0.0?(i=+b[f+16>>3],i>=0.0):0)b[A>>3]=i;if((a[n>>2]|0)==0?(r=a[f>>2]|0,r|0):0)a[n>>2]=r;A=a[f+24>>2]&127;if(A|0){f=n+24|0;r=a[f>>2]|0;a[f>>2]=r&127|A|r&-128}}f=a[(a[47404]|0)+144>>2]|0;a[l>>2]=W5[a[f>>2]&63](f,n,1)|0;a[l+4>>2]=a[47403];a[47403]=l;k=t;return}function Bl(){var A=0,e=0;e=a[47403]|0;A=a[e+4>>2]|0;L2(e);a[47403]=A;return}function vl(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=0;break}if(e<<24>>24==32)A=A+1|0;else{A=1;break}}return A|0}function gl(){var A=0,e=0,i=0;i=jk(56068,a[4580]|0)|0;A=a[47402]|0;e=qF(16)|0;a[e+8>>2]=i;if(r[A+112>>0]&2)r[e+12>>0]=1;i=a[A+84>>2]|0;W5[a[i>>2]&63](i,e,1)|0;return}function El(){var A=0;A=a[(a[47402]|0)+84>>2]|0;return W5[a[A>>2]&63](A,0,256)|0}function Cl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=qF(16)|0;f=a[47402]|0;l=a[f+84>>2]|0;l=a[(W5[a[l>>2]&63](l,0,256)|0)+8>>2]|0;a[n+8>>2]=A;W5[a[l>>2]&63](l,n,1)|0;r[A+92>>0]=i;if(r[f+112>>0]&1)r[A+100>>0]=1;a[A+88>>2]=e;return}function Il(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Zl(A,e,i){A=A|0;e=e|0;i=i|0;pk(a[e+8>>2]|0)|0;L2(e);return}function Gl(A,e,i){A=A|0;e=e|0;i=i|0;yl(a[e+8>>2]|0);L2(e);return}function Ql(A){A=A|0;pk(a[A+84>>2]|0)|0;ia(A);L2(A);return}function ml(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+8>>2]|0);L2(e);return}function Ll(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0;n=e+12|0;A=f[n>>1]|0;if(A<<16>>16){l=e+8|0;i=0;r=a[l>>2]|0;while(1){if((i|0)>=(A<<16>>16|0))break;L2(a[r>>2]|0);i=i+1|0;r=r+56|0;A=f[n>>1]|0}L2(a[l>>2]|0)}L2(e);return}function Wl(){var A=0,e=0;A=a[47403]|0;while(1){e=a[A+4>>2]|0;if(!e)break;L2(A);A=e}return}function yl(A){A=A|0;var e=0;e=A+88|0;switch(r[A+92>>0]|0){case 1:{Ql(a[e>>2]|0);break}case 2:{ra(a[e>>2]|0);break}default:{}}ia(A);L2(A);return}function zl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=k;k=k+160|0;r=f+8|0;n=f;a[n>>2]=0;a[n+4>>2]=0;a[47403]=n;a[47402]=0;a[47400]=0;a[47404]=a[(a[(a[i+52>>2]|0)+16>>2]|0)+144>>2];a[47405]=jk(56104,a[4580]|0)|0;a[47406]=jk(56140,a[4580]|0)|0;co(r,128,f+24|0);a[47401]=r;if(!(Fl(A,r,i)|0)){sl()|0;a[e>>2]=Gt()|0;A=a[47400]|0}else{a[e>>2]=2;A=0}pk(a[47405]|0)|0;pk(a[47406]|0)|0;a[47405]=0;a[47406]=0;a[47403]=0;uo(r);k=f;return A|0}function Yl(A){A=A|0;var e=0,i=0,f=0;i=k;k=k+16|0;e=i;if(!(r[189661]|0)){r[189661]=1;f=Dl()|0;a[e>>2]=A;a[e+4>>2]=f;ao(1,140575,e)|0;Ml()}k=i;return}function Dl(){return ks(a[47407]|0)|0}function Ml(){var A=0,e=0,i=0,f=0;f=k;k=k+16|0;i=f;A=a[47410]|0;a[A+4>>2]=a[A>>2];e=a[47419]|0;if((e|0)>0){so(A,a[47417]|0,e)|0;A=a[47410]|0}so(A,a[47416]|0,a[47418]|0)|0;e=a[47410]|0;A=a[e+4>>2]|0;if(A>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;A=a[47410]|0;e=A;A=a[A+4>>2]|0}a[e+4>>2]=A+1;r[A>>0]=0;A=a[47410]|0;e=a[A>>2]|0;a[A+4>>2]=e;a[i>>2]=e;ao(3,140591,i)|0;k=f;return}function Fl(A,e,i){A=A|0;e=e|0;i=i|0;a[47410]=e;co(189644,128,0);a[47408]=A;r[189663]=0;r[189660]=0;r[189661]=0;a[47418]=0;a[47419]=0;r[189662]=1;i=i+52|0;e=Rc(XF(n[(a[(a[i>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;a[47407]=e;es(e,a[(a[(a[i>>2]|0)+16>>2]|0)+144>>2]|0);is(a[47407]|0,70,27);rs(a[47407]|0,71);return 0}function Vl(A,e,i){A=A|0;e=e|0;i=i|0;do{if(!(N1(e,140603)|0)){a[47399]=Rl(i)|0;r[189662]=0;a[47409]=286}else{if(N1(e,140609)|0?N1(e,140612)|0:0){if(!(N1(e,140615)|0)){r[189662]=1;a[47399]=Hl(i)|0;a[47409]=287;break}if(!(N1(e,140623)|0)){a[47399]=pl(A,i,0)|0;a[47409]=288;break}if(!(N1(e,140628)|0)){a[47399]=pl(A,0,1)|0;a[47409]=290;break}if(!(N1(e,140644)|0)){a[47399]=pl(A,0,32)|0;a[47409]=295;break}if(!(N1(e,140630)|0)){a[47399]=pl(A,0,4)|0;a[47409]=291;break}if(!(N1(e,140632)|0)){a[47399]=pl(A,0,64)|0;a[47409]=292;break}if(!(N1(e,140634)|0)){a[47399]=pl(A,0,2)|0;a[47409]=289;break}if(!(N1(e,140636)|0)){a[47399]=pl(A,0,8)|0;a[47409]=293;break}if(!(N1(e,140640)|0)){a[47399]=pl(A,0,16)|0;a[47409]=294;break}if(!(N1(e,140646)|0)){Ul(i);a[47409]=283;break}if(!(N1(e,140649)|0)){a[47409]=277;break}if(!(N1(e,140652)|0)){a[47409]=280;break}if(!(N1(e,140655)|0)){a[47399]=xl(i)|0;a[47409]=285;break}if(!(N1(e,140618)|0)){a[47409]=262;break}else{Xl(e);break}}r[189662]=0;a[47409]=260}}while(0);return}function Jl(A,e){A=A|0;e=e|0;do{if(!(N1(e,140603)|0)){a[47409]=264;r[189662]=1}else{if(N1(e,140609)|0?N1(e,140612)|0:0){if(!(N1(e,140615)|0)){a[47409]=265;r[189662]=0;break}if(!(N1(e,140618)|0)){a[47409]=263;break}if(!(N1(e,140623)|0)){a[47409]=266;break}if(!(N1(e,140628)|0)){a[47409]=270;break}if(!(N1(e,140630)|0)){a[47409]=271;break}if(!(N1(e,140632)|0)){a[47409]=272;break}if(!(N1(e,140634)|0)){a[47409]=269;break}if(!(N1(e,140636)|0)){a[47409]=273;break}if(!(N1(e,140640)|0)){a[47409]=274;break}if(!(N1(e,140644)|0)){a[47409]=275;break}if(!(N1(e,140646)|0)){a[47409]=(a[47409]|0)==283?282:258;break}if(!(N1(e,140649)|0)){a[47409]=(a[47409]|0)==277?276:278;break}if(!(N1(e,140652)|0)){a[47409]=(a[47409]|0)==280?279:281;break}if(!(N1(e,140655)|0)){a[47409]=(a[47409]|0)==285?284:259;break}else{Xl(e);break}}a[47409]=261}}while(0);return}function Nl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if(r[189662]|0){A=0;while(1){if(!i)break;l=e+1|0;n=r[e>>0]|0;if((n&255)>31){e=a[47410]|0;f=a[e+4>>2]|0;if(f>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;f=a[47410]|0;e=f;f=a[f+4>>2]|0}a[e+4>>2]=f+1;r[f>>0]=n;A=A+1|0}e=l;i=i+-1|0}if(A|0)a[47409]=267}return}function Xl(A){A=A|0;var e=0,i=0,f=0;e=k;k=k+16|0;i=e;a[47409]=268;r[189661]=1;f=Dl()|0;a[i>>2]=A;a[i+4>>2]=f;ao(1,140659,i)|0;k=e;return}function Rl(A){A=A|0;var e=0;e=qF(120)|0;a[e+100>>2]=-1;r[e+88>>0]=-1;Tl(e,56400,22,A,141611);return e|0}function Hl(A){A=A|0;var e=0;e=qF(104)|0;f[e+80>>1]=1;f[e+82>>1]=1;Tl(e,56224,22,A,140965);return e|0}function pl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+32|0;r=f;a[r>>2]=0;a[r+4>>2]=0;a[r+8>>2]=0;a[r+12>>2]=0;a[r+16>>2]=0;a[r+20>>2]=0;a[r+24>>2]=0;a[r+28>>2]=0;b[r+16>>3]=-1.0;a[r+24>>2]=i&127;if(e|0)Tl(r,56200,3,e,140816);i=a[A+144>>2]|0;r=W5[a[i>>2]&63](i,r,1)|0;k=f;return r|0}function Ul(A){A=A|0;a[47399]=0;Tl(189596,56192,1,A,140752);return}function xl(A){A=A|0;var e=0;e=qF(40)|0;Tl(e,56176,2,A,140698);return e|0}function Tl(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;s=u+8|0;while(1){b=a[f>>2]|0;if(!b)break;t=a[f+4>>2]|0;a[s>>2]=b;c=i8(s,e,i,8,104)|0;if(!c){a[w>>2]=b;a[w+4>>2]=l;ao(0,140704,w)|0;t=1}else{t=m5[a[c+4>>2]&127](A,t)|0;t=(t|(n[189660]|0))&255}r[189660]=t;f=f+8|0}k=u;return}function jl(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function Sl(A,e){A=A|0;e=e|0;a[A+36>>2]=s3(e)|0;return 0}function Pl(A,e){A=A|0;e=e|0;a[A+32>>2]=s3(e)|0;return 0}function Ol(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=(Y4(r[e>>0]|0)|0)<<24>>24;switch(f|0){case 82:{i=e+1|0;if(!(N1(i,140763)|0)){a[A>>2]=114;i=0}else l=5;break}case 76:{l=6;break}default:{i=e+1|0;l=5}}do{if((l|0)==5)if(!(N1(i,140768)|0))l=6;else{if((f|0)!=67?(N1(i,140772)|0)==0:0){a[n>>2]=e;ao(0,140778,n)|0;i=1;break}a[A>>2]=110;i=0}}while(0);if((l|0)==6){a[A>>2]=108;i=0}k=t;return i|0}function Kl(A,e){A=A|0;e=e|0;a[A+4>>2]=e;return 0}function _l(A,e){A=A|0;e=e|0;a[A>>2]=e;return 0}function ql(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,140845,0,255,i)|0)){b[A+16>>3]=+(a[i>>2]|0);A=0}else A=1;k=r;return A|0}function $l(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+48|0;c=b+24|0;t=b+8|0;l=b;s=b+36|0;n=n3(A,s,10)|0;do{if((a[s>>2]|0)!=(A|0)){if((n|0)>(r|0)){a[t>>2]=e;a[t+4>>2]=A;a[t+8>>2]=r;ao(0,140887,t)|0;A=1;break}if((n|0)<(i|0)){a[c>>2]=e;a[c+4>>2]=A;a[c+8>>2]=i;ao(0,140926,c)|0;A=1;break}else{a[f>>2]=n;A=0;break}}else{a[l>>2]=e;a[l+4>>2]=A;ao(0,140856,l)|0;A=1}}while(0);k=b;return A|0}function At(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|4;A=0}else n=9;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|2;A=0}else n=9;break}case 84:{if(!(N1(e+1|0,141563)|0)){A=A+36|0;f[A>>1]=f[A>>1]|6;A=0}else n=9;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=9;break}default:n=9}if((n|0)==9){a[i>>2]=e;ao(0,141567,i)|0;A=1}k=l;return A|0}function et(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|512;A=0}else n=7;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|256;A=0}else n=7;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,141518,i)|0;A=1}k=l;return A|0}function it(A,e){A=A|0;e=e|0;a[A+20>>2]=s3(e)|0;return 0}function rt(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141511,0,255,i)|0)){r[A+33>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|32;A=0}else A=1;k=n;return A|0}function ft(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141499,0,255,i)|0)){r[A+34>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|64;A=0}else A=1;k=n;return A|0}function at(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141487,-128,127,i)|0)){r[A+32>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|128;A=0}else A=1;k=n;return A|0}function nt(A,e){A=A|0;e=e|0;a[A+24>>2]=s3(e)|0;return 0}function lt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=k;k=k+16|0;r=n;i=n+4|0;do{if(!($l(e,141442,0,65535,i)|0)){e=a[i>>2]|0;if(!e){ao(0,141450,r)|0;e=1;break}else{f[A+80>>1]=e;e=0;break}}else e=1}while(0);k=n;return e|0}function tt(A,e){A=A|0;e=e|0;var i=0,r=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(n[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(N1(e+1|0,141391)|0)){A=A+36|0;f[A>>1]=f[A>>1]|1;A=0}else r=5;break}case 70:{if(!(N1(e+1|0,141395)|0))A=0;else r=5;break}default:r=5}if((r|0)==5){a[i>>2]=e;ao(0,141400,i)|0;A=1}k=l;return A|0}function ct(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141377,0,360,i)|0)){a[A+28>>2]=a[i>>2]&65535;A=0}else A=1;k=r;return A|0}function bt(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141370,0,65535,i)|0)){f[A+40>>1]=a[i>>2];A=0}else A=1;k=r;return A|0}function st(A,e){A=A|0;e=e|0;a[A>>2]=s3(e)|0;return 0}function wt(A,e){A=A|0;e=e|0;a[A+16>>2]=s3(e)|0;return 0}function ut(A,e){A=A|0;e=e|0;a[A+4>>2]=s3(e)|0;return 0}function kt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=k;k=k+16|0;r=n;i=n+4|0;do{if(!($l(e,141325,0,65535,i)|0)){e=a[i>>2]|0;if(!e){ao(0,141333,r)|0;e=1;break}else{f[A+82>>1]=e;e=0;break}}else e=1}while(0);k=n;return e|0}function ot(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;t=b;l=0;A:while(1){e:while(1){n=e+1|0;e=r[e>>0]|0;if(!(e<<24>>24))break A;e=e<<24>>24;i=(X1(e)|0)+-98|0;switch(i>>>1|i<<31|0){case 5:{c=5;break e}case 9:{i=2048;break e}case 8:{c=6;break e}case 0:{c=7;break e}default:{}}a[t>>2]=e;a[t+4>>2]=e;ao(0,141272,t)|0;e=n}if((c|0)==5){c=0;i=1024}else if((c|0)==6){c=0;i=4096}else if((c|0)==7){c=0;i=8192}e=n;l=l|i}if(l<<16>>16!=15360){c=A+36|0;f[c>>1]=f[c>>1]|l}k=b;return 0}function ht(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;l=s3(e)|0;n=A+42|0;i=0;e=l;while(1){A=t3(e,141182)|0;if(!A)break;if(((Y4(r[A>>0]|0)|0)&255|0)==82){e=A+1|0;if(!(N1(e,141185)|0)){f[n>>1]=f[n>>1]|4;A=i;e=0;i=A;continue}if(!(N1(e,141192)|0)){f[n>>1]=f[n>>1]|2;A=i;e=0;i=A;continue}else{a[t>>2]=A;ao(0,141198,t)|0;i=1;e=0;continue}}if(!(N1(A,141236)|0)){f[n>>1]=f[n>>1]&-385;A=i;e=0;i=A;continue}if(N1(A,141242)|0?N1(A,141252)|0:0){if(!(N1(A,141258)|0)){f[n>>1]=f[n>>1]|128;A=i;e=0;i=A;continue}if(!(N1(A,141265)|0)){f[n>>1]=f[n>>1]|256;A=i;e=0;i=A;continue}else{a[c>>2]=A;ao(0,141198,c)|0;i=1;e=0;continue}}f[n>>1]=f[n>>1]|32;A=i;e=0;i=A}L2(l);k=b;return i|0}function dt(A,e){A=A|0;e=e|0;a[A+8>>2]=s3(e)|0;return 0}function Bt(A,e){A=A|0;e=e|0;a[A+12>>2]=s3(e)|0;return 0}function vt(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(N1(e+1|0,141128)|0)){A=A+36|0;f[A>>1]=f[A>>1]|16;A=0}else n=7;break}case 84:{if(!(N1(e+1|0,141134)|0)){A=A+36|0;f[A>>1]=f[A>>1]|8;A=0}else n=7;break}case 77:{if(!(N1(e+1|0,141137)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,141143,i)|0;A=1}k=l;return A|0}function gt(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141122,0,65535,i)|0)){f[A+38>>1]=a[i>>2];A=0}else A=1;k=r;return A|0}function Et(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|4;A=0}else n=7;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|2;A=0}else n=7;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,140778,i)|0;A=1}k=l;return A|0}function Ct(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if(!($l(e,141720,0,127,i)|0)){r[A+88>>0]=a[i>>2];A=0}else A=1;k=f;return A|0}function It(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((r[e>>0]|0)==42){A=A+112|0;r[A>>0]=r[A>>0]|1;A=0}else{a[i>>2]=e;ao(0,141680,i)|0;A=1}k=f;return A|0}function Zt(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((r[e>>0]|0)==42){A=A+112|0;r[A>>0]=r[A>>0]|2;A=0}else{a[i>>2]=e;ao(0,141643,i)|0;A=1}k=f;return A|0}function Gt(){var A=0;A=(r[189661]|r[189660])<<24>>24;jc(a[47407]|0);uo(189644);return A|0}function Qt(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;a[47409]=0;e=0;A:do{e:do{switch(r[189663]|0){case 2:{A=-1;break A}case 0:{r[189663]=1;l=6;A=141732;e=0;break}default:{A=a[47408]|0;if(!(r[A>>0]|0)){r[189663]=2;l=7;A=141739;break e}else{e=mt(A)|0;l=e-A|0;break e}}}}while(0);a[47417]=a[47416];a[47419]=a[47418];a[47416]=A;a[47418]=l;i=a[47412]|0;f=i-(a[47411]|0)|0;n=a[47407]|0;if(!f)A=fs(n,A,l,(l|0)==0&1)|0;else{if(i>>>0<(a[47413]|0)>>>0)A=i;else{bo(189644,1)|0;A=a[47412]|0}r[A>>0]=0;A=a[47411]|0;a[47412]=A;A=fs(n,A,f,0)|0}if(!((A|0)!=0|(r[189661]|0)!=0)){n=os(us(a[47407]|0)|0)|0;l=Dl()|0;a[t>>2]=n;a[t+4>>2]=l;ao(1,140575,t)|0;Ml();r[189661]=1;a[47409]=268}if(e|0)a[47408]=e;A=a[47409]|0}while((A|0)==0);k=c;return A|0}function mt(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;e=A+1|0;i=r[A>>0]|0;A:do{if(i<<24>>24==60){i=r[e>>0]|0;if(i<<24>>24==33)if(!(Z1(A+2|0,141747,2)|0)){i=Lt(A+4|0)|0;e=i;i=r[i>>0]|0;n=8}else{i=e;n=5}else n=6;e:while(1)if((n|0)==5){e=i;i=r[i>>0]|0;n=6;continue}else if((n|0)==6){switch(i<<24>>24){case 62:case 0:{n=8;continue e}default:{}}i=e+1|0;n=5;continue}else if((n|0)==8)if(i<<24>>24==62){n=10;break}else{n=9;break}if((n|0)==9){ao(0,141750,f)|0;r[189660]=1;break}else if((n|0)==10){e=e+1|0;break}}else{e=A;A=i;while(1){switch(A<<24>>24){case 60:case 0:break A;case 38:{i=e+1|0;if((r[i>>0]|0)==35)n=15;else i=hH(i,189644)|0;break}default:n=15}if((n|0)==15){n=0;i=a[47412]|0;if(i>>>0>=(a[47413]|0)>>>0){bo(189644,1)|0;i=a[47412]|0}a[47412]=i+1;r[i>>0]=A;i=e+1|0}e=i;A=r[i>>0]|0}}}while(0);k=l;return e|0}function Lt(A){A=A|0;var e=0,i=0,f=0,a=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;a=1;e=A;A:while(1){f=(a|0)==0;i=e;e:while(1){if(f)break A;n=i+1|0;switch(r[i>>0]|0){case 0:{e=n;break A}case 60:{l=5;break e}case 62:{e=-1;break e}default:i=n}}if((l|0)==5){l=0;e=1}a=a+e|0;e=n}i=e+-1|0;do{if(r[i>>0]|0){e=e+-3|0;if(e>>>0>=A>>>0?(Z1(e,141747,2)|0)==0:0)break;ao(0,141791,t)|0;r[189660]=1}}while(0);k=c;return i|0}function Wt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;i=m2(28)|0;if(!i)i=0;else{r=0;f=0;while(1){if((r|0)>=(e|0))break;d=(a[(a[A+(r<<2)>>2]|0)+4>>2]|0)+f|0;r=r+1|0;f=d}k=i+8|0;a[k>>2]=yt(f<<4)|0;o=i+12|0;a[o>>2]=yt((e<<2)+4|0)|0;r=f<<2;h=i+16|0;a[h>>2]=yt(r)|0;r=yt(r)|0;d=i+20|0;a[d>>2]=r;a[i+4>>2]=f;a[i>>2]=e;f=0;l=0;while(1){a[(a[o>>2]|0)+(l<<2)>>2]=f;if((l|0)>=(e|0))break;c=A+(l<<2)|0;u=a[c>>2]|0;b=a[u+4>>2]|0;s=f+-1|0;n=0;t=f;w=b;while(1){if((n|0)>=(w|0))break;w=(a[k>>2]|0)+(t<<4)|0;r=(a[u>>2]|0)+(n<<4)|0;a[w>>2]=a[r>>2];a[w+4>>2]=a[r+4>>2];a[w+8>>2]=a[r+8>>2];a[w+12>>2]=a[r+12>>2];w=t+1|0;a[(a[h>>2]|0)+(t<<2)>>2]=w;r=a[d>>2]|0;a[r+(t<<2)>>2]=t+-1;B=a[c>>2]|0;n=n+1|0;t=w;w=a[B+4>>2]|0;u=B}B=s+b|0;a[(a[h>>2]|0)+(B<<2)>>2]=f;a[r+(f<<2)>>2]=B;f=t;l=l+1|0}yc(i)}return i|0}function yt(A){A=A|0;if(!A)A=0;else A=m2(A)|0;return A|0}function zt(A){A=A|0;var e=0,i=0;L2(a[A+8>>2]|0);L2(a[A+12>>2]|0);L2(a[A+16>>2]|0);L2(a[A+20>>2]|0);i=A+24|0;e=a[i>>2]|0;if(e|0){L2(a[e>>2]|0);L2(a[i>>2]|0)}L2(A);return}function Yt(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+32|0;s=o+16|0;c=o;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];w=Jc(A,i,s)|0;a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];u=Jc(A,f,s)|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];s=gc(c,i,w,s,f,u,A)|0;i=a[A+4>>2]|0;c=i+1|0;f=1;l=i;while(1){l=a[s+(l<<2)>>2]|0;b=f+1|0;if((l|0)==(c|0))break;else f=b}t=m2(b<<4)|0;l=t+(f<<4)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];A=A+8|0;while(1){i=a[s+(i<<2)>>2]|0;f=f+-1|0;l=t+(f<<4)|0;if((i|0)==(c|0))break;r=(a[A>>2]|0)+(i<<4)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2]}a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];if(f|0)vA(141809,141816,148,141822);if(w|0)L2(w);if(u|0)L2(u);a[n+4>>2]=b;a[n>>2]=t;L2(s);k=o;return 1}function Dt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;c=k;k=k+48|0;l=c+32|0;n=c+16|0;f=c;t=a[A>>2]|0;i=a[A+4>>2]|0;r=i+-1|0;A=0;while(1){if((A|0)>=(i|0)){A=1;break}s=t+(((r+A|0)%(i|0)|0)<<4)|0;b=t+(A<<4)|0;a[f>>2]=a[s>>2];a[f+4>>2]=a[s+4>>2];a[f+8>>2]=a[s+8>>2];a[f+12>>2]=a[s+12>>2];a[n>>2]=a[b>>2];a[n+4>>2]=a[b+4>>2];a[n+8>>2]=a[b+8>>2];a[n+12>>2]=a[b+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];if((Qc(f,n,l)|0)==1){A=0;break}else A=A+1|0}k=c;return A|0}function Mt(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0;g=k;k=k+64|0;s=g+48|0;b=g+32|0;h=4;c=m2(40)|0;a[c>>2]=0;w=g+16|0;u=g;o=a[i>>2]|0;t=a[i+4>>2]|0;h=L6(189680,1,c|0,h|0)|0;c=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1)i=L;else i=0;while(1){if(i|0){i=-1;break}d=0;a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];wA(28,w|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}a[r>>2]=a[w>>2];a[r+4>>2]=a[w+4>>2];a[r+8>>2]=a[w+8>>2];a[r+12>>2]=a[w+12>>2];l=r+16|0;d=0;a[s>>2]=a[l>>2];a[s+4>>2]=a[l+4>>2];a[s+8>>2]=a[l+8>>2];a[s+12>>2]=a[l+12>>2];wA(28,u|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}a[l>>2]=a[u>>2];a[l+4>>2]=a[u+4>>2];a[l+8>>2]=a[u+8>>2];a[l+12>>2]=a[u+12>>2];a[47459]=0;d=0;sA(115,4);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}n=a[47460]|0;i=a[47459]|0;a[47459]=i+1;i=n+(i<<4)|0;a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];d=0;a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];a[b+12>>2]=a[r+12>>2];a[s>>2]=a[l>>2];a[s+4>>2]=a[l+4>>2];a[s+8>>2]=a[l+8>>2];a[s+12>>2]=a[l+12>>2];i=tA(1,A|0,e|0,o|0,t|0,b|0,s|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,h|0,c|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1)i=L;else{v=8;break}}if((v|0)==8)if((i|0)==-1)i=-1;else{a[f+4>>2]=a[47459];a[f>>2]=a[47460];i=0}L2(h|0);k=g;return i|0}function Ft(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,l=0.0;i=+b[e>>3];r=e+8|0;f=+b[r>>3];l=f*f+i*i;n=+z(+l);if(l>1.0e-06){b[e>>3]=i/n;b[r>>3]=f/n}a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Vt(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47463]|0)<(A|0)){e=a[47460]|0;if(!e){r=m2(A<<4)|0;a[47460]=r;if(!r){r=a[15712]|0;a[i>>2]=141831;a[i+4>>2]=531;a[i+8>>2]=141966;f3(r,141839,i)|0;fe(189680,1)}}else{i=y2(e,A<<4)|0;a[47460]=i;if(!i){i=a[15712]|0;a[r>>2]=141831;a[r+4>>2]=537;a[r+8>>2]=141984;f3(i,141839,r)|0;fe(189680,1)}}a[47463]=A}k=f;return}function Jt(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0.0,j=0.0,S=0.0,P=0.0;U=k;k=k+336|0;F=U+320|0;M=U+304|0;C=U+144|0;h=U+128|0;Y=U+112|0;D=U+96|0;p=U+80|0;Q=U+64|0;L=U+48|0;V=U+32|0;J=U+16|0;N=U;I=U+288|0;Z=U+272|0;G=U+256|0;m=U+240|0;W=U+224|0;y=U+208|0;X=U+192|0;R=U+176|0;H=U+160|0;l=a[47462]|0;do{if((a[47461]|0)<(r|0)){if(!l){l=m2(r*40|0)|0;a[47462]=l;if(!l){l=-1;break}}else{l=y2(l,r*40|0)|0;a[47462]=l;if(!l){l=-1;break}}a[47461]=r;c=6}else c=6}while(0);if((c|0)==6){b[l>>3]=0.0;c=1;t=0.0;while(1){if((c|0)>=(r|0))break;w=i+(c<<4)|0;z=i+(c+-1<<4)|0;a[M>>2]=a[w>>2];a[M+4>>2]=a[w+4>>2];a[M+8>>2]=a[w+8>>2];a[M+12>>2]=a[w+12>>2];a[F>>2]=a[z>>2];a[F+4>>2]=a[z+4>>2];a[F+8>>2]=a[z+8>>2];a[F+12>>2]=a[z+12>>2];E=+Nt(M,F)+t;b[l+(c*40|0)>>3]=E;c=c+1|0;t=E}z=r+-1|0;w=l+(z*40|0)|0;c=1;while(1){if((c|0)>=(r|0))break;x=l+(c*40|0)|0;b[x>>3]=+b[x>>3]/+b[w>>3];c=c+1|0}c=0;while(1){if((c|0)>=(r|0))break;x=l+(c*40|0)+8|0;w=l+(c*40|0)|0;E=+Xt(+b[w>>3]);a[F>>2]=a[f>>2];a[F+4>>2]=a[f+4>>2];a[F+8>>2]=a[f+8>>2];a[F+12>>2]=a[f+12>>2];Rt(I,F,E);a[x>>2]=a[I>>2];a[x+4>>2]=a[I+4>>2];a[x+8>>2]=a[I+8>>2];a[x+12>>2]=a[I+12>>2];x=l+(c*40|0)+24|0;E=+Ht(+b[w>>3]);a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];Rt(Z,F,E);a[x>>2]=a[Z>>2];a[x+4>>2]=a[Z+4>>2];a[x+8>>2]=a[Z+8>>2];a[x+12>>2]=a[Z+12>>2];c=c+1|0}a[M>>2]=a[f>>2];a[M+4>>2]=a[f+4>>2];a[M+8>>2]=a[f+8>>2];a[M+12>>2]=a[f+12>>2];a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];pt(i,r,l,M,F,Y,Q,D,L);a[h>>2]=a[Y>>2];a[h+4>>2]=a[Y+4>>2];a[h+8>>2]=a[Y+8>>2];a[h+12>>2]=a[Y+12>>2];a[C>>2]=a[Q>>2];a[C+4>>2]=a[Q+4>>2];a[C+8>>2]=a[Q+8>>2];a[C+12>>2]=a[Q+12>>2];a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];if(!(Ut(A,e,h,C,M,F,i,r)|0)){a[F>>2]=a[Q>>2];a[F+4>>2]=a[Q+4>>2];a[F+8>>2]=a[Q+8>>2];a[F+12>>2]=a[Q+12>>2];Rt(G,F,.3333333333333333);a[M>>2]=a[Y>>2];a[M+4>>2]=a[Y+4>>2];a[M+8>>2]=a[Y+8>>2];a[M+12>>2]=a[Y+12>>2];a[F>>2]=a[G>>2];a[F+4>>2]=a[G+4>>2];a[F+8>>2]=a[G+8>>2];a[F+12>>2]=a[G+12>>2];xt(m,M,F);E=+b[m>>3];g=+b[m+8>>3];a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];Rt(W,F,.3333333333333333);a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];a[F>>2]=a[W>>2];a[F+4>>2]=a[W+4>>2];a[F+8>>2]=a[W+8>>2];a[F+12>>2]=a[W+12>>2];Tt(y,M,F);v=+b[y>>3];o=+b[y+8>>3];h=a[47462]|0;d=+b[Y>>3];B=+b[D>>3];u=+b[Y+8>>3];s=+b[D+8>>3];w=p+8|0;l=-1;t=-1.0;c=1;while(1){if((c|0)>=(z|0))break;T=+b[h+(c*40|0)>>3];j=+jt(T);S=+Xt(T);P=+Ht(T);T=+St(T);b[p>>3]=S*E+d*j+P*v+B*T;b[w>>3]=P*o+S*g+u*j+s*T;x=i+(c<<4)|0;a[M>>2]=a[p>>2];a[M+4>>2]=a[p+4>>2];a[M+8>>2]=a[p+8>>2];a[M+12>>2]=a[p+12>>2];a[F>>2]=a[x>>2];a[F+4>>2]=a[x+4>>2];a[F+8>>2]=a[x+8>>2];a[F+12>>2]=a[x+12>>2];T=+Nt(M,F);x=T>t;l=x?c:l;t=x?T:t;c=c+1|0}x=i+(l<<4)|0;p=i+(l+-1<<4)|0;a[M>>2]=a[x>>2];a[M+4>>2]=a[x+4>>2];a[M+8>>2]=a[x+8>>2];a[M+12>>2]=a[x+12>>2];a[F>>2]=a[p>>2];a[F+4>>2]=a[p+4>>2];a[F+8>>2]=a[p+8>>2];a[F+12>>2]=a[p+12>>2];Tt(X,M,F);a[F>>2]=a[X>>2];a[F+4>>2]=a[X+4>>2];a[F+8>>2]=a[X+8>>2];a[F+12>>2]=a[X+12>>2];Ft(J,F);p=l+1|0;X=i+(p<<4)|0;a[M>>2]=a[X>>2];a[M+4>>2]=a[X+4>>2];a[M+8>>2]=a[X+8>>2];a[M+12>>2]=a[X+12>>2];a[F>>2]=a[x>>2];a[F+4>>2]=a[x+4>>2];a[F+8>>2]=a[x+8>>2];a[F+12>>2]=a[x+12>>2];Tt(R,M,F);a[F>>2]=a[R>>2];a[F+4>>2]=a[R+4>>2];a[F+8>>2]=a[R+8>>2];a[F+12>>2]=a[R+12>>2];Ft(N,F);a[M>>2]=a[J>>2];a[M+4>>2]=a[J+4>>2];a[M+8>>2]=a[J+8>>2];a[M+12>>2]=a[J+12>>2];a[F>>2]=a[N>>2];a[F+4>>2]=a[N+4>>2];a[F+8>>2]=a[N+8>>2];a[F+12>>2]=a[N+12>>2];xt(H,M,F);a[F>>2]=a[H>>2];a[F+4>>2]=a[H+4>>2];a[F+8>>2]=a[H+8>>2];a[F+12>>2]=a[H+12>>2];Ft(V,F);a[M>>2]=a[f>>2];a[M+4>>2]=a[f+4>>2];a[M+8>>2]=a[f+8>>2];a[M+12>>2]=a[f+12>>2];a[F>>2]=a[V>>2];a[F+4>>2]=a[V+4>>2];a[F+8>>2]=a[V+8>>2];a[F+12>>2]=a[V+12>>2];Jt(A,e,i,p,M,F)|0;a[M>>2]=a[V>>2];a[M+4>>2]=a[V+4>>2];a[M+8>>2]=a[V+8>>2];a[M+12>>2]=a[V+12>>2];a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];Jt(A,e,x,r-l|0,M,F)|0;l=0}else l=0}k=U;return l|0}function Nt(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[e>>3]-+b[A>>3];r=+b[e+8>>3]-+b[A+8>>3];return+ +z(+(r*r+i*i))}function Xt(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(A*3.0))}function Rt(A,e,i){A=A|0;e=e|0;i=+i;var r=0;b[e>>3]=+b[e>>3]*i;r=e+8|0;b[r>>3]=+b[r>>3]*i;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Ht(A){A=+A;return+(A*A*3.0*(1.0-A))}function pt(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0.0,G=0.0,Q=0.0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0.0,F=0,V=0,J=0,N=0;Y=k;k=k+128|0;m=Y+112|0;E=Y+80|0;g=Y;d=Y+96|0;B=Y+64|0;v=Y+48|0;L=Y+32|0;W=Y+16|0;y=A+(e+-1<<4)|0;h=0;C=0.0;I=0.0;Z=0.0;G=0.0;Q=0.0;while(1){if((h|0)>=(e|0))break;V=i+(h*40|0)+8|0;a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];D=+$t(E,m)+I;F=i+(h*40|0)+24|0;a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[F>>2];a[m+4>>2]=a[F+4>>2];a[m+8>>2]=a[F+8>>2];a[m+12>>2]=a[F+12>>2];o=+$t(E,m)+Q;a[E>>2]=a[F>>2];a[E+4>>2]=a[F+4>>2];a[E+8>>2]=a[F+8>>2];a[E+12>>2]=a[F+12>>2];a[m>>2]=a[F>>2];a[m+4>>2]=a[F+4>>2];a[m+8>>2]=a[F+8>>2];a[m+12>>2]=a[F+12>>2];u=+$t(E,m)+Z;J=A+(h<<4)|0;N=i+(h*40|0)|0;M=+Ac(+b[N>>3]);a[m>>2]=a[A>>2];a[m+4>>2]=a[A+4>>2];a[m+8>>2]=a[A+8>>2];a[m+12>>2]=a[A+12>>2];Rt(B,m,M);M=+ec(+b[N>>3]);a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];Rt(v,m,M);a[E>>2]=a[B>>2];a[E+4>>2]=a[B+4>>2];a[E+8>>2]=a[B+8>>2];a[E+12>>2]=a[B+12>>2];a[m>>2]=a[v>>2];a[m+4>>2]=a[v+4>>2];a[m+8>>2]=a[v+8>>2];a[m+12>>2]=a[v+12>>2];xt(d,E,m);a[E>>2]=a[J>>2];a[E+4>>2]=a[J+4>>2];a[E+8>>2]=a[J+8>>2];a[E+12>>2]=a[J+12>>2];a[m>>2]=a[d>>2];a[m+4>>2]=a[d+4>>2];a[m+8>>2]=a[d+8>>2];a[m+12>>2]=a[d+12>>2];Tt(g,E,m);a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];M=+$t(E,m)+C;a[E>>2]=a[F>>2];a[E+4>>2]=a[F+4>>2];a[E+8>>2]=a[F+8>>2];a[E+12>>2]=a[F+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];h=h+1|0;C=M;I=D;Z=u;G=+$t(E,m)+G;Q=o}u=Z*I-Q*Q;o=u>=0.0?u:-u;if(!(o>=1.0e-06?(s=(Z*C-Q*G)/u,w=(I*G-Q*C)/u,!(o<1.0e-06|s<=0.0|w<=0.0)):0))z=6;if((z|0)==6){a[E>>2]=a[A>>2];a[E+4>>2]=a[A+4>>2];a[E+8>>2]=a[A+8>>2];a[E+12>>2]=a[A+12>>2];a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];s=+Nt(E,m)*.3333333333333333;w=s}a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[m>>2]=a[r>>2];a[m+4>>2]=a[r+4>>2];a[m+8>>2]=a[r+8>>2];a[m+12>>2]=a[r+12>>2];Rt(L,m,s);a[l>>2]=a[L>>2];a[l+4>>2]=a[L+4>>2];a[l+8>>2]=a[L+8>>2];a[l+12>>2]=a[L+12>>2];a[t>>2]=a[y>>2];a[t+4>>2]=a[y+4>>2];a[t+8>>2]=a[y+8>>2];a[t+12>>2]=a[y+12>>2];a[m>>2]=a[f>>2];a[m+4>>2]=a[f+4>>2];a[m+8>>2]=a[f+8>>2];a[m+12>>2]=a[f+12>>2];Rt(W,m,w);a[c>>2]=a[W>>2];a[c+4>>2]=a[W+4>>2];a[c+8>>2]=a[W+8>>2];a[c+12>>2]=a[W+12>>2];k=Y;return}function Ut(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0,g=0.0,E=0,C=0.0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0.0,y=0;L=k;k=k+64|0;m=L;G=(t|0)==2;Z=+b[i>>3];g=+b[i+8>>3];E=m+8|0;C=+b[r>>3];I=m+16|0;o=+b[r+8>>3];h=m+24|0;d=+b[f>>3];B=+b[n>>3];v=m+32|0;u=+b[f+8>>3];w=+b[n+8>>3];r=m+40|0;f=m+48|0;n=m+56|0;i=1;c=4.0;s=4.0;while(1){b[m>>3]=Z;b[E>>3]=g;W=s*.3333333333333333;b[I>>3]=W*C+Z;b[h>>3]=W*o+g;W=c*.3333333333333333;b[v>>3]=d-W*B;b[r>>3]=u-W*w;b[f>>3]=d;b[n>>3]=u;if(i?(W=+Pt(m,4),W<+Pt(l,t)+-.001):0){i=0;break}if(Ot(A,e,m)|0){Q=5;break}if(s==0.0&c==0.0){Q=9;break}y=s>.01;i=0;c=y?c*.5:0.0;s=y?s*.5:0.0}A:do{if((Q|0)==5){Vt((a[47459]|0)+4|0);r=a[47460]|0;i=1;while(1){if((i|0)==4){i=1;break A}y=a[47459]|0;b[r+(y<<4)>>3]=+b[m+(i<<4)>>3];W=+b[m+(i<<4)+8>>3];a[47459]=y+1;b[r+(y<<4)+8>>3]=W;i=i+1|0}}else if((Q|0)==9)if(G){Vt((a[47459]|0)+4|0);r=a[47460]|0;i=1;while(1){if((i|0)==4){i=1;break A}y=a[47459]|0;b[r+(y<<4)>>3]=+b[m+(i<<4)>>3];W=+b[m+(i<<4)+8>>3];a[47459]=y+1;b[r+(y<<4)+8>>3]=W;i=i+1|0}}else i=0}while(0);k=L;return i|0}function xt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]+ +b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]+ +b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Tt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]-+b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]-+b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function jt(A){A=+A;A=1.0-A;return+(A*A*A)}function St(A){A=+A;return+(A*A*A)}function Pt(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,n=0;i=0.0;r=1;while(1){if((r|0)>=(e|0))break;n=r+-1|0;f=+b[A+(r<<4)>>3]-+b[A+(n<<4)>>3];a=+b[A+(r<<4)+8>>3]-+b[A+(n<<4)+8>>3];i=+z(+(a*a+f*f))+i;r=r+1|0}return+i}function Ot(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0;L=k;k=k+64|0;v=L+32|0;g=L;C=g+16|0;Z=i+16|0;G=i+32|0;Q=i+48|0;m=i+8|0;n=i+24|0;l=i+40|0;t=i+56|0;c=g+8|0;s=g+24|0;f=0;A:while(1){if((f|0)>=(e|0)){r=1;break}w=A+(f<<5)|0;a[g>>2]=a[w>>2];a[g+4>>2]=a[w+4>>2];a[g+8>>2]=a[w+8>>2];a[g+12>>2]=a[w+12>>2];w=A+(f<<5)+16|0;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];w=Kt(i,g,v)|0;e:do{if((w|0)!=4){u=+b[g>>3];o=+b[c>>3];h=+b[C>>3];d=+b[s>>3];r=0;while(1){if((r|0)>=(w|0))break e;B=+b[v+(r<<3)>>3];if((!(B<1.0e-06|B>.999999)?(I=B*B*B,y=B*3.0,W=1.0-B,B=y*B*W,E=W*W,y=E*y,W=E*W,E=+b[Z>>3]*y+ +b[i>>3]*W+ +b[G>>3]*B+ +b[Q>>3]*I,I=+b[n>>3]*y+ +b[m>>3]*W+ +b[l>>3]*B+ +b[t>>3]*I,B=E-u,W=I-o,!(W*W+B*B<.001)):0)?(y=E-h,W=I-d,!(W*W+y*y<.001)):0){r=0;break A}r=r+1|0}}}while(0);f=f+1|0}k=L;return r|0}function Kt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+96|0;B=E+48|0;v=E+24|0;c=E;g=E+80|0;o=+b[e>>3];n=+b[e+16>>3]-o;h=+b[e+8>>3];t=+b[e+24>>3]-h;a[g>>2]=0;A:do{if(!(n==0.0)){t=t/n;s=A+16|0;w=A+32|0;u=A+48|0;_t(+b[A+8>>3]-+b[A>>3]*t,+b[A+24>>3]-+b[s>>3]*t,+b[A+40>>3]-+b[w>>3]*t,+b[A+56>>3]-+b[u>>3]*t,B);b[B>>3]=t*o-h+ +b[B>>3];r=Ec(B,v)|0;if((r|0)==4)e=4;else{f=B+8|0;l=B+16|0;c=B+24|0;n=1.0/n;e=0;while(1){if((e|0)>=(r|0))break;t=+b[v+(e<<3)>>3];if(t>=0.0&t<=1.0?(_t(+b[A>>3],+b[s>>3],+b[w>>3],+b[u>>3],B),h=(+b[B>>3]-o+((+b[c>>3]*t+ +b[l>>3])*t+ +b[f>>3])*t)*n,h>=0.0&h<=1.0):0)qt(t,i,g);e=e+1|0}e=a[g>>2]|0}}else{_t(+b[A>>3],+b[A+16>>3],+b[A+32>>3],+b[A+48>>3],B);b[B>>3]=+b[B>>3]-o;d=Ec(B,v)|0;if(!(t==0.0)){if((d|0)==4){e=4;break}s=A+8|0;w=A+24|0;u=A+40|0;r=A+56|0;f=B+8|0;l=B+16|0;c=B+24|0;n=1.0/t;e=0;while(1){if((e|0)>=(d|0))break;t=+b[v+(e<<3)>>3];if(t>=0.0&t<=1.0?(_t(+b[s>>3],+b[w>>3],+b[u>>3],+b[r>>3],B),o=(+b[B>>3]-h+((+b[c>>3]*t+ +b[l>>3])*t+ +b[f>>3])*t)*n,o>=0.0&o<=1.0):0)qt(t,i,g);e=e+1|0}e=a[g>>2]|0;break}_t(+b[A+8>>3],+b[A+24>>3],+b[A+40>>3],+b[A+56>>3],B);b[B>>3]=+b[B>>3]-h;l=Ec(B,c)|0;e=(l|0)==4;e:do{if((d|0)==4){if(e){e=4;break A}else e=0;while(1){if((e|0)>=(l|0))break e;qt(+b[c+(e<<3)>>3],i,g);e=e+1|0}}else{if(e){e=0;while(1){if((e|0)>=(d|0))break e;qt(+b[v+(e<<3)>>3],i,g);e=e+1|0}}else r=0;while(1){if((r|0)>=(d|0))break e;f=v+(r<<3)|0;e=0;while(1){if((e|0)>=(l|0))break;n=+b[f>>3];if(n==+b[c+(e<<3)>>3])qt(n,i,g);e=e+1|0}r=r+1|0}}}while(0);e=a[g>>2]|0}}while(0);k=E;return e|0}function _t(A,e,i,r,f){A=+A;e=+e;i=+i;r=+r;f=f|0;b[f+24>>3]=r-A+(e-i)*3.0;b[f+16>>3]=(i+A)*3.0-e*6.0;b[f+8>>3]=(e-A)*3.0;b[f>>3]=A;return}function qt(A,e,i){A=+A;e=e|0;i=i|0;var r=0;if(A>=0.0&A<=1.0){r=a[i>>2]|0;b[e+(r<<3)>>3]=A;a[i>>2]=r+1}return}function $t(A,e){A=A|0;e=e|0;return+(+b[e+8>>3]*+b[A+8>>3]+ +b[e>>3]*+b[A>>3])}function Ac(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(e+A*3.0))}function ec(A){A=+A;return+(A*A*((1.0-A)*3.0+A))}function ic(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0,M=0.0;D=k;k=k+112|0;y=D+80|0;W=D+64|0;m=D+48|0;Y=4;z=m2(40)|0;a[z>>2]=0;E=D+32|0;I=D+16|0;Z=D;G=D+96|0;Y=L6(189856,1,z|0,Y|0)|0;z=L;d=0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1)r=L;else r=0;A:while(1){if(r|0){r=-2;break}n=A+4|0;d=0;sA(116,a[n>>2]|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}a[47503]=0;a[47504]=0;d=0;sA(117,a[n>>2]<<1|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}s=(a[47506]|0)/2|0;a[47507]=s;a[47508]=s+-1;s=a[n>>2]|0;n=a[A>>2]|0;r=0;f=-1;l=C;while(1){if((r|0)>=(s|0))break;M=+b[n+(r<<4)>>3];g=l>M;v=g?r:f;r=r+1|0;f=v;l=g?M:l}g=n+(f<<4)|0;a[I>>2]=a[g>>2];a[I+4>>2]=a[g+4>>2];a[I+8>>2]=a[g+8>>2];a[I+12>>2]=a[g+12>>2];g=n+(((f|0)==0?s:f)+-1<<4)|0;a[E>>2]=a[g>>2];a[E+4>>2]=a[g+4>>2];a[E+8>>2]=a[g+8>>2];a[E+12>>2]=a[g+12>>2];g=n+(((f|0)==(s+-1|0)?0:f+1|0)<<4)|0;a[Z>>2]=a[g>>2];a[Z+4>>2]=a[g+4>>2];a[Z+8>>2]=a[g+8>>2];a[Z+12>>2]=a[g+12>>2];M=+b[I>>3];if((+b[E>>3]==M?M==+b[Z>>3]:0)?+b[Z+8>>3]>+b[I+8>>3]:0)g=15;else g=12;e:do{if((g|0)==12){g=0;d=0;r=aA(36,E|0,I|0,Z|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,Y|0,z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((r|0)==1){n=a[47510]|0;r=a[47511]|0;f=0;while(1){if((f|0)>=(s|0))break e;t=a[A>>2]|0;if(!(((f|0)>0?(Q=f+-1|0,+b[t+(f<<4)>>3]==+b[t+(Q<<4)>>3]):0)?+b[t+(f<<4)+8>>3]==+b[t+(Q<<4)+8>>3]:0)){v=a[47503]|0;a[n+(v<<3)>>2]=t+(f<<4);a[n+(v<<3)+4>>2]=n+(((v|0)%(s|0)|0)<<3);a[r+(v<<2)>>2]=n+(v<<3);a[47503]=v+1}f=f+1|0}}else g=15}}while(0);e:do{if((g|0)==15){g=0;t=a[47510]|0;r=a[47511]|0;n=s;while(1){f=n+-1|0;if((n|0)<=0)break e;c=a[A>>2]|0;if(((n|0)<(s|0)?+b[c+(f<<4)>>3]==+b[c+(n<<4)>>3]:0)?+b[c+(f<<4)+8>>3]==+b[c+(n<<4)+8>>3]:0){n=f;continue}n=a[47503]|0;a[t+(n<<3)>>2]=c+(f<<4);a[t+(n<<3)+4>>2]=t+(((n|0)%(s|0)|0)<<3);a[r+(n<<2)>>2]=t+(n<<3);a[47503]=n+1;n=f}}}while(0);d=0;wA(29,r|0,a[47503]|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}t=0;r=a[47504]|0;e:while(1){if((t|0)>=(r|0)){h=0;break}c=t+1|0;n=c;while(1){if((n|0)>=(r|0)){t=c;continue e}d=0;wA(30,t|0,n|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue A}n=n+1|0;r=a[47504]|0}}while(1){if((h|0)>=(r|0))break;d=0;f=rA(105,h|0,e|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}if(f|0)break;h=h+1|0}if((h|0)==(r|0)){r=a[15712]|0;d=0;a[m>>2]=141858;a[m+4>>2]=192;a[m+8>>2]=141869;aA(32,r|0,141839,m|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=41;break}}v=e+16|0;c=0;while(1){if((c|0)>=(r|0))break;d=0;f=rA(105,c|0,v|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}if(f|0)break;c=c+1|0}if((c|0)==(r|0)){r=a[15712]|0;d=0;a[W>>2]=141858;a[W+4>>2]=200;a[W+8>>2]=141902;aA(32,r|0,141839,W|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=48;break}}d=0;r=rA(106,h|0,c|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,Y|0,z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue}if(!r){r=a[15712]|0;d=0;a[y>>2]=141858;a[y+4>>2]=207;a[y+8>>2]=141940;aA(32,r|0,141839,y|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}d=0;sA(118,2);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=53;break}}if((h|0)==(c|0)){d=0;sA(118,2);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=56;break}}a[G>>2]=e;a[G+4>>2]=0;f=G+8|0;a[f>>2]=v;a[G+12>>2]=0;d=0;wA(31,1,G|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue}a[47509]=a[47507];u=h;e:while(1){if((u|0)==-1){n=f;r=0;break}o=a[47513]|0;a[o+(u*52|0)>>2]=2;r=0;while(1){if((r|0)>=3){g=65;break}g=a[o+(u*52|0)+4+(r<<4)+12>>2]|0;if(g|0?(a[g>>2]|0)==1:0){g=68;break}r=r+1|0}if((g|0)==65){g=0;if((r|0)==3){r=a[47505]|0;c=a[r+(a[47508]<<2)>>2]|0;d=0;r=aA(36,v|0,a[a[r+(a[47507]<<2)>>2]>>2]|0,a[c>>2]|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}t=(r|0)==1;w=t?f:c;t=t?c:f}else g=68}if((g|0)==68){g=0;c=a[o+(u*52|0)+4+(r<<4)>>2]|0;s=a[o+(u*52|0)+4+(r<<4)+4>>2]|0;d=0;r=aA(36,a[c>>2]|0,a[a[o+(u*52|0)+4+(((r+1|0)%3|0)<<4)+4>>2]>>2]|0,a[s>>2]|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}t=(r|0)==1;w=t?c:s;t=t?s:c}do{if((u|0)==(h|0)){d=0;wA(31,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,1,w|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}r=0}else{s=a[47505]|0;if((a[s+(a[47507]<<2)>>2]|0)!=(w|0)?(a[s+(a[47508]<<2)>>2]|0)!=(w|0):0){d=0;t=iA(34,w|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(32,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,1,w|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((t|0)<=(a[47509]|0)){r=0;break}a[47509]=t;r=0;break}d=0;c=iA(34,t|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(32,1,c|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((c|0)>=(a[47509]|0)){r=0;break}a[47509]=c;r=0}}while(0);while(1){if((r|0)>=3){u=-1;continue e}n=a[o+(u*52|0)+4+(r<<4)+12>>2]|0;if(n|0?(a[n>>2]|0)==1:0)break;r=r+1|0}u=(n-(a[47513]|0)|0)/52|0}while(1){if(!n)break;n=a[n+4>>2]|0;r=r+1|0}d=0;sA(118,r|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1)r=L;else{g=94;break}}if((g|0)==41)r=-1;else if((g|0)==48)r=-1;else if((g|0)==53){a[i+4>>2]=2;r=a[47512]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];z=r+16|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];a[i>>2]=r;r=0}else if((g|0)==56){a[i+4>>2]=2;r=a[47512]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];z=r+16|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];a[i>>2]=r;r=0}else if((g|0)==94){a[i+4>>2]=r;n=a[47512]|0;while(1){r=r+-1|0;if(!f)break;z=n+(r<<4)|0;y=a[f>>2]|0;a[z>>2]=a[y>>2];a[z+4>>2]=a[y+4>>2];a[z+8>>2]=a[y+8>>2];a[z+12>>2]=a[y+12>>2];f=a[f+4>>2]|0}a[i>>2]=n;r=0}L2(Y|0);k=D;return r|0}function rc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+64|0;r=l+48|0;n=l+32|0;f=l+16|0;i=l;if((a[47516]|0)<(A|0)){e=a[47510]|0;if(!e){n=m2(A<<3)|0;a[47510]=n;if(!n){n=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=523;a[i+8>>2]=142108;f3(n,141839,i)|0;fe(189856,1)}n=m2(A<<2)|0;a[47511]=n;if(!n){n=a[15712]|0;a[f>>2]=141858;a[f+4>>2]=527;a[f+8>>2]=142127;f3(n,141839,f)|0;fe(189856,1)}}else{f=y2(e,A<<3)|0;a[47510]=f;if(!f){f=a[15712]|0;a[n>>2]=141858;a[n+4>>2]=533;a[n+8>>2]=142147;f3(f,141839,n)|0;fe(189856,1)}n=y2(a[47511]|0,A<<2)|0;a[47511]=n;if(!n){n=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=539;a[r+8>>2]=142167;f3(n,141839,r)|0;fe(189856,1)}}a[47516]=A}k=l;return}function fc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47506]|0)<(A|0)){e=a[47505]|0;if(!e){r=m2(A<<2)|0;a[47505]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=573;a[i+8>>2]=142063;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A<<2)|0;a[47505]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=580;a[r+8>>2]=142085;f3(i,141839,r)|0;fe(189856,1)}}a[47506]=A}k=f;return}function ac(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];r=(+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r);return(r>0.0?1:r<0.0?2:3)|0}function nc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;A:while(1){if((e|0)>3)r=0;else{e=9;break}while(1){if((r|0)>=(e|0)){e=8;break A}f=r+1|0;i=(f|0)%(e|0)|0;n=(r+2|0)%(e|0)|0;if(!(kc(r,n,A,e)|0))r=f;else break}oc(a[A+(r<<2)>>2]|0,a[A+(i<<2)>>2]|0,a[A+(n<<2)>>2]|0);e=e+-1|0;while(1){if((i|0)>=(e|0))continue A;n=i+1|0;a[A+(i<<2)>>2]=a[A+(n<<2)>>2];i=n}}if((e|0)==8){A=a[15712]|0;a[l>>2]=141858;a[l+4>>2]=324;a[l+8>>2]=142003;f3(A,141839,l)|0}else if((e|0)==9)oc(a[A>>2]|0,a[A+4>>2]|0,a[A+8>>2]|0);k=t;return}function lc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;t=a[47513]|0;c=t+(A*52|0)|0;b=t+(e*52|0)|0;n=0;while(1){if((n|0)==3)break;s=t+(A*52|0)+4+(n<<4)|0;w=t+(A*52|0)+4+(n<<4)+4|0;u=t+(A*52|0)+4+(n<<4)+12|0;f=0;while(1){if((f|0)==3)break;k=a[a[s>>2]>>2]|0;l=a[a[t+(e*52|0)+4+(f<<4)>>2]>>2]|0;if((k|0)==(l|0)){i=a[a[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;if((a[a[w>>2]>>2]|0)==(i|0))r=10;else r=8}else{i=a[a[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;r=8}if(((r|0)==8?(r=0,(k|0)==(i|0)):0)?(a[a[w>>2]>>2]|0)==(l|0):0)r=10;if((r|0)==10){a[u>>2]=b;a[t+(e*52|0)+4+(f<<4)+12>>2]=c}f=f+1|0}n=n+1|0}return}function tc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=a[47513]|0;i=0;r=0;while(1){if((r|0)==3)break;i=i+((ac(a[a[f+(A*52|0)+4+(r<<4)>>2]>>2]|0,a[a[f+(A*52|0)+4+(r<<4)+4>>2]>>2]|0,e)|0)!=2&1)|0;r=r+1|0}return((i|0)==3|(i|0)==0)&1|0}function cc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[47513]|0;r=i+(A*52|0)|0;A:do{if(!(a[r>>2]|0)){a[r>>2]=1;if((A|0)==(e|0))i=1;else{f=0;while(1){if((f|0)>=3)break;r=a[i+(A*52|0)+4+(f<<4)+12>>2]|0;if(r){if(cc((r-i|0)/52|0,e)|0){i=1;break A}i=a[47513]|0}f=f+1|0}a[i+(A*52|0)>>2]=0;i=0}}else i=0}while(0);return i|0}function bc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47514]|0)<(A|0)){e=a[47512]|0;if(!e){r=m2(A<<4)|0;a[47512]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=593;a[i+8>>2]=141966;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A<<4)|0;a[47512]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=599;a[r+8>>2]=141984;f3(i,141839,r)|0;fe(189856,1)}}a[47514]=A}k=f;return}function sc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[47508]|0;r=a[47507]|0;f=(i|0)>=(r|0);if((A|0)==1)if(f){a[e+4>>2]=a[(a[47505]|0)+(r<<2)>>2];A=190028;i=-1}else{A=190028;i=-1}else if(f){a[e+4>>2]=a[(a[47505]|0)+(i<<2)>>2];A=190032;i=1}else{A=190032;i=1}f=(a[A>>2]|0)+i|0;a[A>>2]=f;a[(a[47505]|0)+(f<<2)>>2]=e;return}function wc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[47509]|0;n=a[47505]|0;e=a[47507]|0;while(1){if((e|0)>=(f|0)){r=4;break}i=e+1|0;if((ac(a[a[n+(i<<2)>>2]>>2]|0,a[a[n+(e<<2)>>2]>>2]|0,a[A>>2]|0)|0)==1)break;else e=i}A:do{if((r|0)==4){e=a[47508]|0;while(1){if((e|0)<=(f|0)){e=f;break A}i=e+-1|0;if((ac(a[a[n+(i<<2)>>2]>>2]|0,a[a[n+(e<<2)>>2]>>2]|0,a[A>>2]|0)|0)==2)break;else e=i}}}while(0);return e|0}function uc(A,e){A=A|0;e=e|0;a[((A|0)==1?190032:190028)>>2]=e;return}function kc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;f=a[a[i+(((A+-1+r|0)%(r|0)|0)<<2)>>2]>>2]|0;t=a[a[i+(A<<2)>>2]>>2]|0;n=a[a[i+(((A+1|0)%(r|0)|0)<<2)>>2]>>2]|0;b=(ac(f,t,n)|0)==1;c=a[a[i+(e<<2)>>2]>>2]|0;if(b)if((ac(t,c,f)|0)==1){f=ac(c,t,n)|0;n=1;l=5}else f=0;else{f=ac(t,c,n)|0;n=2;l=5}A:do{if((l|0)==5)if((f|0)==(n|0)){f=0;while(1){if((f|0)>=(r|0)){f=1;break A}n=f;f=f+1|0;l=(f|0)%(r|0)|0;if((l|0)==(e|0)|((n|0)==(e|0)|((n|0)==(A|0)|(l|0)==(A|0))))continue;if(dc(t,c,a[a[i+(n<<2)>>2]>>2]|0,a[a[i+(l<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0}while(0);return f|0}function oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=a[47504]|0;f=a[47515]|0;if((r|0)<(f|0))l=r;else{hc(f+20|0);l=a[47504]|0}n=a[47513]|0;a[47504]=l+1;f=n+(l*52|0)|0;a[f>>2]=0;a[n+(l*52|0)+4>>2]=A;a[n+(l*52|0)+8>>2]=e;a[n+(l*52|0)+16>>2]=0;a[n+(l*52|0)+20>>2]=e;a[n+(l*52|0)+24>>2]=i;a[n+(l*52|0)+32>>2]=0;a[n+(l*52|0)+36>>2]=i;a[n+(l*52|0)+40>>2]=A;a[n+(l*52|0)+48>>2]=0;r=0;while(1){if((r|0)==3)break;a[n+(l*52|0)+4+(r<<4)+8>>2]=f;r=r+1|0}return}function hc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47515]|0)<(A|0)){e=a[47513]|0;if(!e){r=m2(A*52|0)|0;a[47513]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=552;a[i+8>>2]=142024;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A*52|0)|0;a[47513]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=558;a[r+8>>2]=142043;f3(i,141839,r)|0;fe(189856,1)}}a[47515]=A}k=f;return}function dc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,l=0;a=ac(A,e,i)|0;if((((a|0)!=3?(n=ac(A,e,r)|0,(n|0)!=3):0)?(l=ac(i,r,A)|0,(l|0)!=3):0)?(f=ac(i,r,e)|0,(f|0)!=3):0)return((a|0)==1^(n|0)==1)&((l|0)==1^(f|0)==1)&1|0;if(((Bc(A,e,i)|0)==0?(Bc(A,e,r)|0)==0:0)?(Bc(i,r,A)|0)==0:0)return(Bc(i,r,e)|0)!=0|0;return 1}function Bc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;f=+b[A>>3];n=+b[e>>3]-f;a=+b[A+8>>3];r=+b[e+8>>3]-a;f=+b[i>>3]-f;a=+b[i+8>>3]-a;if((ac(A,e,i)|0)==3?a*r+f*n>=0.0:0)A=a*a+f*f<=r*r+n*n&1;else A=0;return A|0}function vc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;w=m2(i<<2)|0;u=m2((i<<3)+8|0)|0;k=u+8|0;f=0;while(1){if((f|0)>=(i|0))break;a[w+(f<<2)>>2]=-1;b[k+(f<<3)>>3]=-2147483647.0;f=f+1|0}b[u>>3]=-2147483648.0;A:while(1){if((A|0)==(e|0))break;s=k+(A<<3)|0;t=+b[s>>3];b[s>>3]=t==-2147483647.0?0.0:-t;c=0;f=-1;while(1){if((c|0)>=(i|0)){A=f;continue A}l=k+(c<<3)|0;n=+b[l>>3];if(n<0.0){h=(A|0)<(c|0);o=+b[(a[r+((h?c:A)<<2)>>2]|0)+((h?A:c)<<3)>>3];t=-(o+ +b[s>>3]);if(o!=0.0&n>3]=t;a[w+(c<<2)>>2]=A;n=t}f=n>+b[k+(f<<3)>>3]?c:f}c=c+1|0}}L2(u);return w|0}function gc(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0;c=k;k=k+32|0;b=c+16|0;s=c;t=a[l+4>>2]|0;a[s>>2]=a[A>>2];a[s+4>>2]=a[A+4>>2];a[s+8>>2]=a[A+8>>2];a[s+12>>2]=a[A+12>>2];a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];a[b+12>>2]=a[r+12>>2];if(!(Xc(s,e,b,f,l)|0)){A=a[l+24>>2]|0;a[A+(t<<2)>>2]=n;s=t+1|0;a[A+(s<<2)>>2]=i;A=vc(s,t,t+2|0,A)|0}else{A=m2((t<<2)+8|0)|0;s=t+1|0;a[A+(t<<2)>>2]=s;a[A+(s<<2)>>2]=-1}k=c;return A|0}function Ec(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0;r=+b[A+24>>3];A:do{if(r<1.0e-07&r>-1.0e-07)A=Cc(A,e)|0;else{n=+b[A+16>>3]/(r*3.0);a=+b[A+8>>3]/r;f=n*n;r=n*2.0*f-n*a+ +b[A>>3]/r;f=a*.3333333333333333-f;f=f*f*4.0*f;a=r*r+f;if(!(a<0.0)){l=(+z(+a)-r)*.5;f=+w1(l);r=+w1(-r-l)+f;b[e>>3]=r;if(a>0.0)A=1;else{r=r*-.5;b[e+16>>3]=r;A=1;i=7}}else{l=+X(+ +z(+-a),+-r);r=+w1(+z(+-f)*.5)*2.0;b[e>>3]=r*+D(+(l*.3333333333333333));b[e+8>>3]=+D(+((l+6.283185307179586)*.3333333333333333))*r;r=+D(+((l+-6.283185307179586)*.3333333333333333))*r;A=2;i=7}if((i|0)==7){b[e+(A<<3)>>3]=r;A=3}i=0;while(1){if((i|0)>=(A|0))break A;t=e+(i<<3)|0;b[t>>3]=+b[t>>3]-n;i=i+1|0}}}while(0);return A|0}function Cc(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+16>>3];do{if(!(i<1.0e-07&i>-1.0e-07)){r=+b[A+8>>3]/(i*2.0);i=r*r-+b[A>>3]/i;if(!(i<0.0))if(i==0.0){b[e>>3]=-r;A=1;break}else{i=+z(+i)-r;b[e>>3]=i;b[e+8>>3]=r*-2.0-i;A=2;break}else A=0}else A=Ic(A,e)|0}while(0);return A|0}function Ic(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A+8>>3];i=+b[A>>3];if(r<1.0e-07&r>-1.0e-07)A=i<1.0e-07&i>-1.0e-07?4:0;else{b[e>>3]=-i/r;A=1}return A|0}function Zc(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function Gc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;r=a[A+4>>2]|0;t=(r*3|0)+-2|0;i=a[47518]|0;if((t|0)>(a[47517]|0)){if(!i)i=m2(t<<4)|0;else i=y2(i,t<<4)|0;a[47518]=i;a[47517]=t;l=i;n=i}else{l=i;n=i}f=a[A>>2]|0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];z6(l+16|0,f|0,16)|0;r=r+-1|0;i=1;A=2;while(1){if((i|0)>=(r|0))break;c=l+(A+2<<4)|0;b=l+(A+1<<4)|0;w=l+(A<<4)|0;s=f+(i<<4)|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];a[w+8>>2]=a[s+8>>2];a[w+12>>2]=a[s+12>>2];z6(b|0,s|0,16)|0;a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];i=i+1|0;A=A+3|0}s=l+(A<<4)|0;w=f+(i<<4)|0;a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];z6(l+(A+1<<4)|0,w|0,16)|0;a[e+4>>2]=t;a[e>>2]=n;return}function Qc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];r=(+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r);return(r>.0001?1:(r<-.0001)<<31>>31)|0}function mc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;f=+b[A>>3];a=+b[e>>3];if(f!=a){r=+b[i>>3];if(!(f>3];f=+b[i+8>>3];r=+b[e+8>>3];if(!(a>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];c=Qc(n,l,t)|0;if((c|0)==0?(a[n>>2]=a[A>>2],a[n+4>>2]=a[A+4>>2],a[n+8>>2]=a[A+8>>2],a[n+12>>2]=a[A+12>>2],a[l>>2]=a[e>>2],a[l+4>>2]=a[e+4>>2],a[l+8>>2]=a[e+8>>2],a[l+12>>2]=a[e+12>>2],a[t>>2]=a[i>>2],a[t+4>>2]=a[i+4>>2],a[t+8>>2]=a[i+8>>2],a[t+12>>2]=a[i+12>>2],(mc(n,l,t)|0)!=0):0)f=1;else b=3;do{if((b|0)==3){a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];a[t>>2]=a[r>>2];a[t+4>>2]=a[r+4>>2];a[t+8>>2]=a[r+8>>2];a[t+12>>2]=a[r+12>>2];f=Qc(n,l,t)|0;if((f|0)==0?(a[n>>2]=a[A>>2],a[n+4>>2]=a[A+4>>2],a[n+8>>2]=a[A+8>>2],a[n+12>>2]=a[A+12>>2],a[l>>2]=a[e>>2],a[l+4>>2]=a[e+4>>2],a[l+8>>2]=a[e+8>>2],a[l+12>>2]=a[e+12>>2],a[t>>2]=a[r>>2],a[t+4>>2]=a[r+4>>2],a[t+8>>2]=a[r+8>>2],a[t+12>>2]=a[r+12>>2],mc(n,l,t)|0):0){f=1;break}a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[t>>2]=a[A>>2];a[t+4>>2]=a[A+4>>2];a[t+8>>2]=a[A+8>>2];a[t+12>>2]=a[A+12>>2];A=Qc(n,l,t)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];b=(U(f,c)|0)<0;f=(U(Qc(n,l,t)|0,A)|0)>>>31;f=b?f:0}}while(0);k=s;return f|0}function Wc(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+(r*r+i*i)}function yc(A){A=A|0;a[A+24>>2]=zc(a[A+4>>2]|0)|0;Yc(A);return}function zc(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+2|0;f=m2(r<<2)|0;e=W2(U(A,A)|0,8)|0;i=0;while(1){if((i|0)>=(A|0))break;a[f+(i<<2)>>2]=e;e=e+(A<<3)|0;i=i+1|0}while(1){if((A|0)>=(r|0))break;a[f+(A<<2)>>2]=0;A=A+1|0}return f|0}function Yc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;o=k;k=k+32|0;l=o+16|0;n=o;t=a[A+4>>2]|0;s=a[A+8>>2]|0;w=a[A+16>>2]|0;u=a[A+20>>2]|0;i=a[A+24>>2]|0;e=0;while(1){if((e|0)>=(t|0))break;h=a[u+(e<<2)>>2]|0;r=s+(e<<4)|0;f=s+(h<<4)|0;a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];d=+Dc(n,l);f=a[i+(e<<2)>>2]|0;b[f+(h<<3)>>3]=d;b[(a[i+(h<<2)>>2]|0)+(e<<3)>>3]=d;A=e+-1|0;A=(h|0)==(A|0)?e+-2|0:A;while(1){if((A|0)<=-1)break;if((Mc(e,A,s,w,u)|0?Mc(A,e,s,w,u)|0:0)?(c=s+(A<<4)|0,a[n>>2]=a[r>>2],a[n+4>>2]=a[r+4>>2],a[n+8>>2]=a[r+8>>2],a[n+12>>2]=a[r+12>>2],a[l>>2]=a[c>>2],a[l+4>>2]=a[c+4>>2],a[l+8>>2]=a[c+8>>2],a[l+12>>2]=a[c+12>>2],Fc(n,l,t,t,t,s,w)|0):0){a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];d=+Dc(n,l);b[f+(A<<3)>>3]=d;b[(a[i+(A<<2)>>2]|0)+(e<<3)>>3]=d}A=A+-1|0}e=e+1|0}k=o;return}function Dc(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0;r=k;k=k+32|0;f=r+16|0;n=r;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];i=+z(+ +Wc(n,f));k=r;return+i}function Mc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;n=k;k=k+64|0;l=n+48|0;t=n+32|0;c=n+16|0;b=n;w=i+(a[f+(A<<2)>>2]<<4)|0;s=i+(A<<4)|0;r=i+(a[r+(A<<2)>>2]<<4)|0;f=i+(e<<4)|0;a[b>>2]=a[w>>2];a[b+4>>2]=a[w+4>>2];a[b+8>>2]=a[w+8>>2];a[b+12>>2]=a[w+12>>2];a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[t>>2]=a[r>>2];a[t+4>>2]=a[r+4>>2];a[t+8>>2]=a[r+8>>2];a[t+12>>2]=a[r+12>>2];a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];f=Vc(b,c,t,l)|0;k=n;return f|0}function Fc(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+64|0;w=o+48|0;s=o+32|0;b=o+16|0;c=o;t=0;while(1){if((t|0)>=(i|0)){u=4;break}d=n+(t<<4)|0;h=n+(a[l+(t<<2)>>2]<<4)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[s>>2]=a[d>>2];a[s+4>>2]=a[d+4>>2];a[s+8>>2]=a[d+8>>2];a[s+12>>2]=a[d+12>>2];a[w>>2]=a[h>>2];a[w+4>>2]=a[h+4>>2];a[w+8>>2]=a[h+8>>2];a[w+12>>2]=a[h+12>>2];if(!(Lc(c,b,s,w)|0))t=t+1|0;else{r=0;break}}A:do{if((u|0)==4)while(1){if((r|0)>=(f|0)){r=1;break A}h=n+(r<<4)|0;d=n+(a[l+(r<<2)>>2]<<4)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[s>>2]=a[h>>2];a[s+4>>2]=a[h+4>>2];a[s+8>>2]=a[h+8>>2];a[s+12>>2]=a[h+12>>2];a[w>>2]=a[d>>2];a[w+4>>2]=a[d+4>>2];a[w+8>>2]=a[d+8>>2];a[w+12>>2]=a[d+12>>2];if(!(Lc(c,b,s,w)|0)){r=r+1|0;u=4}else{r=0;break}}}while(0);k=o;return r|0}function Vc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;n=k;k=k+48|0;l=n+32|0;t=n+16|0;c=n;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[t>>2]=a[A>>2];a[t+4>>2]=a[A+4>>2];a[t+8>>2]=a[A+8>>2];a[t+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];f=Qc(c,t,l)|0;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];r=Qc(c,t,l)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];i=(Qc(c,t,l)|0)>0;k=n;return(i?r|f:r&f)>>>31^1|0}function Jc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;B=k;k=k+80|0;t=B+64|0;l=B+48|0;n=B+32|0;c=B+16|0;u=B;o=a[A+4>>2]|0;h=a[A+8>>2]|0;d=a[A+16>>2]|0;s=a[A+20>>2]|0;w=m2((o<<3)+16|0)|0;if((e|0)==-2222){a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];e=Nc(A,t)|0}if((e|0)>-1){A=a[A+12>>2]|0;f=a[A+(e+1<<2)>>2]|0;A=a[A+(e<<2)>>2]|0}else{f=o;A=o}e=0;while(1){if((e|0)>=(A|0)){e=A;break}g=h+(e<<4)|0;a[u>>2]=a[g>>2];a[u+4>>2]=a[g+4>>2];a[u+8>>2]=a[g+8>>2];a[u+12>>2]=a[g+12>>2];g=h+(a[s+(e<<2)>>2]<<4)|0;v=h+(a[d+(e<<2)>>2]<<4)|0;a[c>>2]=a[g>>2];a[c+4>>2]=a[g+4>>2];a[c+8>>2]=a[g+8>>2];a[c+12>>2]=a[g+12>>2];a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[v>>2];a[l+4>>2]=a[v+4>>2];a[l+8>>2]=a[v+8>>2];a[l+12>>2]=a[v+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];if((Vc(c,n,l,t)|0)!=0?(a[l>>2]=a[i>>2],a[l+4>>2]=a[i+4>>2],a[l+8>>2]=a[i+8>>2],a[l+12>>2]=a[i+12>>2],a[t>>2]=a[u>>2],a[t+4>>2]=a[u+4>>2],a[t+8>>2]=a[u+8>>2],a[t+12>>2]=a[u+12>>2],(Fc(l,t,A,f,o,h,d)|0)!=0):0){a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];r=+Dc(l,t)}else r=0.0;b[w+(e<<3)>>3]=r;e=e+1|0}while(1){if((e|0)>=(f|0)){e=f;break}b[w+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((e|0)>=(o|0))break;v=h+(e<<4)|0;a[u>>2]=a[v>>2];a[u+4>>2]=a[v+4>>2];a[u+8>>2]=a[v+8>>2];a[u+12>>2]=a[v+12>>2];v=h+(a[s+(e<<2)>>2]<<4)|0;g=h+(a[d+(e<<2)>>2]<<4)|0;a[c>>2]=a[v>>2];a[c+4>>2]=a[v+4>>2];a[c+8>>2]=a[v+8>>2];a[c+12>>2]=a[v+12>>2];a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];if((Vc(c,n,l,t)|0)!=0?(a[l>>2]=a[i>>2],a[l+4>>2]=a[i+4>>2],a[l+8>>2]=a[i+8>>2],a[l+12>>2]=a[i+12>>2],a[t>>2]=a[u>>2],a[t+4>>2]=a[u+4>>2],a[t+8>>2]=a[u+8>>2],a[t+12>>2]=a[u+12>>2],(Fc(l,t,A,f,o,h,d)|0)!=0):0){a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];r=+Dc(l,t)}else r=0.0;b[w+(e<<3)>>3]=r;e=e+1|0}b[w+(o<<3)>>3]=0.0;b[w+(o+1<<3)>>3]=0.0;k=B;return w|0}function Nc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;s=k;k=k+32|0;f=s+8|0;r=s;l=s+24|0;t=A+8|0;c=A+12|0;b=l+4|0;i=0;while(1){if((i|0)>=(a[A>>2]|0)){i=-1111;break}u=a[c>>2]|0;w=a[u+(i<<2)>>2]|0;a[l>>2]=(a[t>>2]|0)+(w<<4);n=i+1|0;a[b>>2]=(a[u+(n<<2)>>2]|0)-w;a[r>>2]=a[l>>2];a[r+4>>2]=a[l+4>>2];a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];if(!(Dt(r,f)|0))i=n;else break}k=s;return i|0}function Xc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+64|0;w=v+48|0;s=v+32|0;o=v+16|0;u=v;d=a[f+4>>2]|0;B=a[f+8>>2]|0;h=a[f+16>>2]|0;n=(r|0)<0;do{if((e|0)<0)if(n){n=0;t=0;f=0;l=0}else{e=a[f+12>>2]|0;f=0;l=0;t=r;c=e;e=e+(r<<2)|0;b=9}else{if(n){b=a[f+12>>2]|0;f=0;l=0;t=e;c=b;e=b+(e<<2)|0;b=9;break}n=a[f+12>>2]|0;if((e|0)>(r|0)){f=a[n+(r+1<<2)>>2]|0;l=a[n+(r<<2)>>2]|0;t=e;c=n;e=n+(e<<2)|0;b=9;break}else{f=a[n+(e+1<<2)>>2]|0;l=a[n+(e<<2)>>2]|0;t=r;c=n;e=n+(r<<2)|0;b=9;break}}}while(0);if((b|0)==9){n=a[c+(t+1<<2)>>2]|0;t=a[e>>2]|0}e=0;while(1){if((e|0)>=(l|0)){b=13;break}c=B+(e<<4)|0;r=B+(a[h+(e<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];a[w>>2]=a[r>>2];a[w+4>>2]=a[r+4>>2];a[w+8>>2]=a[r+8>>2];a[w+12>>2]=a[r+12>>2];if(!(Lc(u,o,s,w)|0))e=e+1|0;else{n=0;break}}A:do{if((b|0)==13){while(1){if((f|0)>=(t|0))break;r=B+(f<<4)|0;b=B+(a[h+(f<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];if(!(Lc(u,o,s,w)|0)){f=f+1|0;b=13}else{n=0;break A}}while(1){if((n|0)>=(d|0)){n=1;break A}r=B+(n<<4)|0;b=B+(a[h+(n<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];if(!(Lc(u,o,s,w)|0))n=n+1|0;else{n=0;break}}}}while(0);k=v;return n|0}function Rc(A){A=A|0;return Hc(A,0,0)|0}function Hc(A,e,i){A=A|0;e=e|0;i=i|0;return pc(A,e,i,0)|0}function pc(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;if(!e){n=m2(496)|0;if(!n)n=0;else{a[n+12>>2]=35;a[n+16>>2]=107;a[n+20>>2]=105;e=35;l=6}}else{n=Q5[a[e>>2]&63](496)|0;if(!n)n=0;else{l=a[e>>2]|0;a[n+12>>2]=l;a[n+16>>2]=a[e+4>>2];a[n+20>>2]=a[e+8>>2];e=l;l=6}}do{if((l|0)==6){a[n+8>>2]=0;a[n+32>>2]=0;a[n+376>>2]=16;c=n+12|0;t=Q5[e&63](256)|0;e=n+388|0;a[e>>2]=t;if(!t){F5[a[n+20>>2]&127](n);n=0;break}l=Q5[a[c>>2]&63](1024)|0;t=n+44|0;a[t>>2]=l;if(!l){i=n+20|0;F5[a[i>>2]&127](a[e>>2]|0);F5[a[i>>2]&127](n);n=0;break}a[n+48>>2]=l+1024;if(!f){f=Uc(c)|0;a[n+352>>2]=f;if(!f){i=n+20|0;F5[a[i>>2]&127](a[t>>2]|0);F5[a[i>>2]&127](a[e>>2]|0);F5[a[i>>2]&127](n);n=0;break}}else a[n+352>>2]=f;a[n+372>>2]=0;a[n+364>>2]=0;a[n+300>>2]=0;a[n+464>>2]=0;a[n+460>>2]=0;a[n+124>>2]=0;a[n+244>>2]=0;e=n+468|0;r[e>>0]=33;l=n+232|0;r[l>>0]=0;r[n+233>>0]=0;a[n+392>>2]=0;a[n+396>>2]=0;r[n+400>>0]=0;f=n+228|0;a[f>>2]=0;xc(n+412|0,c);xc(n+436|0,c);Tc(n,A);if(A|0?(a[f>>2]|0)==0:0){jc(n);n=0;break}if(!i){a[n+224>>2]=xq()|0;break}else{r[l>>0]=1;a[n+224>>2]=C0()|0;r[e>>0]=r[i>>0]|0;break}}}while(0);return n|0}function Uc(A){A=A|0;var e=0;e=Q5[a[A>>2]&63](188)|0;if(e|0){xc(e+80|0,A);xc(e+104|0,A);$b(e,A);$b(e+20|0,A);$b(e+40|0,A);$b(e+60|0,A);r[e+131>>0]=0;$b(e+132|0,A);a[e+152>>2]=0;a[e+156>>2]=0;r[e+160>>0]=0;A=e+164|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A+16>>2]=0;a[A+20>>2]=0;r[e+128>>0]=1;r[e+129>>0]=0;r[e+130>>0]=0}return e|0}function xc(A,e){A=A|0;e=e|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A+16>>2]=0;a[A+20>>2]=e;return}function Tc(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;a[A+276>>2]=56;W0(A+252|0);if(e|0)a[A+228>>2]=Ab(e,A+12|0)|0;a[A+356>>2]=0;Y$(A+148|0,A+144|0,0)|0;a[A>>2]=0;a[A+4>>2]=0;e=A+116|0;n=A+52|0;l=n+64|0;do{a[n>>2]=0;n=n+4|0}while((n|0)<(l|0));a[e>>2]=A;a[A+120>>2]=0;e=A+128|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;e=a[A+8>>2]|0;a[A+24>>2]=e;a[A+28>>2]=e;a[A+36>>2]=0;a[A+40>>2]=0;e=A+312|0;n=A+404|0;a[n>>2]=0;a[n+4>>2]=0;n=A+280|0;i=A+304|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=0;n=e;l=n+36|0;do{a[n>>2]=0;n=n+4|0}while((n|0)<(l|0));f[e+36>>1]=0;r[i>>0]=1;a[A+308>>2]=0;a[A+360>>2]=0;a[A+368>>2]=0;a[A+380>>2]=0;a[A+236>>2]=0;a[A+248>>2]=0;a[A+240>>2]=0;a[A+472>>2]=0;a[A+476>>2]=0;r[A+484>>0]=0;r[A+485>>0]=0;a[A+488>>2]=0;a[A+492>>2]=0;return}function jc(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;if(A|0){i=A+364|0;n=A+20|0;e=a[A+360>>2]|0;while(1){if(!e){e=a[i>>2]|0;if(!e)break;a[i>>2]=0}l=a[e>>2]|0;F5[a[n>>2]&127](a[e+36>>2]|0);Sc(a[e+44>>2]|0,A);F5[a[n>>2]&127](e);e=l}i=A+300|0;e=a[A+296>>2]|0;while(1){if(!e){e=a[i>>2]|0;if(!e)break;a[i>>2]=0}l=a[e+8>>2]|0;F5[a[n>>2]&127](e);e=l}Sc(a[A+372>>2]|0,A);Sc(a[A+368>>2]|0,A);Pc(A+412|0);Pc(A+436|0);e=A+12|0;F5[a[n>>2]&127](a[A+228>>2]|0);if((r[A+484>>0]|0)==0?(f=a[A+352>>2]|0,f|0):0)Oc(f,(a[A+472>>2]|0)==0&1,e);F5[a[n>>2]&127](a[A+388>>2]|0);F5[a[n>>2]&127](a[A+460>>2]|0);F5[a[n>>2]&127](a[A+8>>2]|0);F5[a[n>>2]&127](a[A+44>>2]|0);F5[a[n>>2]&127](a[A+392>>2]|0);F5[a[n>>2]&127](a[A+236>>2]|0);e=a[A+248>>2]|0;if(e|0)F5[e&127](a[A+240>>2]|0);F5[a[n>>2]&127](A)}return}function Sc(A,e){A=A|0;e=e|0;var i=0;e=e+20|0;while(1){if(!A)break;i=a[A+4>>2]|0;F5[a[e>>2]&127](a[A+16>>2]|0);F5[a[e>>2]&127](A);A=i}return}function Pc(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;e=a[A>>2]|0;while(1){if(!e)break;r=a[e>>2]|0;F5[a[(a[i>>2]|0)+8>>2]&127](e);e=r}e=a[A+4>>2]|0;while(1){if(!e)break;r=a[e>>2]|0;F5[a[(a[i>>2]|0)+8>>2]&127](e);e=r}return}function Oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;n=A+20|0;Kc(f,n);i=i+8|0;while(1){r=_c(f)|0;if(!r)break;if(!(a[r+16>>2]|0))continue;F5[a[i>>2]&127](a[r+20>>2]|0)}qc(A);qc(A+132|0);qc(n);qc(A+40|0);qc(A+60|0);Pc(A+80|0);Pc(A+104|0);if(e<<24>>24){F5[a[i>>2]&127](a[A+184>>2]|0);F5[a[i>>2]&127](a[A+164>>2]|0)}F5[a[i>>2]&127](A);k=l;return}function Kc(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;a[A>>2]=i;a[A+4>>2]=i+(a[e+8>>2]<<2);return}function _c(A){A=A|0;var e=0,i=0,r=0;i=a[A+4>>2]|0;r=a[A>>2]|0;do{if((r|0)==(i|0)){e=0;break}e=r;r=r+4|0;a[A>>2]=r;e=a[e>>2]|0}while(!(e|0));return e|0}function qc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=A+8|0;r=A+16|0;e=0;while(1){f=a[(a[r>>2]|0)+8>>2]|0;n=a[A>>2]|0;if(e>>>0>=(a[i>>2]|0)>>>0)break;F5[f&127](a[n+(e<<2)>>2]|0);e=e+1|0}F5[f&127](n);return}function $c(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=eb(A)|0;if(!f){a[A+276>>2]=57;f=ib(A,e,i,r)|0}return f|0}function Ab(A,e){A=A|0;e=e|0;var i=0,f=0;i=0;do{f=i;i=i+1|0}while((r[A+f>>0]|0)!=0);e=Q5[a[e>>2]&63](i)|0;if(!e)e=0;else y6(e|0,A|0,i|0)|0;return e|0}function eb(A){A=A|0;var e=0;e=A+228|0;if(!(W5[(r[A+232>>0]<<24>>24?38:37)&63](A+148|0,A+144|0,a[e>>2]|0)|0))A=qb(A,a[e>>2]|0)|0;else A=0;return A|0}function ib(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;n=k;k=k+16|0;l=n;a[l>>2]=e;c=A+144|0;t=a[c>>2]|0;t=y5[a[t>>2]&127](t,e,i,l)|0;f=rb(A,a[c>>2]|0,e,i,t,a[l>>2]|0,f,(r[A+480>>0]|0)==0&1)|0;k=n;return f|0}function rb(A,e,i,f,l,t,c,b){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;t=t|0;c=c|0;b=b|0;var s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0,tA=0,cA=0,bA=0,sA=0,wA=0,uA=0,kA=0,oA=0,hA=0,dA=0,BA=0,vA=0,gA=0,EA=0,CA=0,IA=0,ZA=0,GA=0,QA=0,mA=0,LA=0,WA=0,yA=0,zA=0,YA=0;YA=k;k=k+16|0;WA=YA;a[WA>>2]=t;d=a[A+352>>2]|0;B=A+144|0;if((a[B>>2]|0)==(e|0)){o=A+284|0;h=A+288|0;uA=A+296|0}else{uA=A+296|0;h=a[uA>>2]|0;o=h;h=h+4|0}v=b<<24>>24!=0;oA=A+252|0;g=A+80|0;E=A+476|0;C=A+84|0;I=A+320|0;Z=A+412|0;G=A+316|0;Q=A+424|0;m=A+428|0;L=A+324|0;dA=A+4|0;W=A+485|0;y=d+132|0;z=A+312|0;vA=d+129|0;Y=d+128|0;D=d+80|0;M=d+92|0;F=d+96|0;V=A+136|0;J=A+88|0;N=A+488|0;EA=A+112|0;CA=d+131|0;IA=A+116|0;ZA=d+130|0;GA=A+108|0;QA=A+356|0;X=A+340|0;R=A+132|0;H=A+344|0;p=A+348|0;U=A+328|0;x=A+349|0;T=A+420|0;j=d+120|0;S=d+116|0;P=A+92|0;O=A+472|0;K=A+336|0;_=A+332|0;q=A+96|0;$=A+256|0;AA=A+464|0;eA=A+460|0;iA=d+160|0;rA=d+184|0;fA=d+180|0;aA=d+164|0;nA=A+128|0;lA=A+12|0;tA=A+16|0;cA=A+268|0;bA=A+120|0;sA=d+176|0;wA=d+168|0;u=e;w=i;e=l;A:while(1){a[o>>2]=w;i=a[WA>>2]|0;a[h>>2]=i;t=i;e:do{if((e|0)<1){if(v&(e|0)!=0){s=7;break A}switch(e|0){case-1:{t=5;s=280;break A}case 0:{s=9;break A}case-2:{t=6;break A}case-4:{s=10;break A}case-15:{e=15;break e}default:{}}a[WA>>2]=f;e=0-e|0;t=f}}while(0);l=z5[a[oA>>2]&127](oA,e,w,t,u)|0;e:do{switch(l|0){case 2:{s=58;break A}case-1:{s=184;break A}case 1:{t=fb(A,0,w,a[WA>>2]|0)|0;if(t|0){s=280;break A}t=a[B>>2]|0;break}case 4:{if(!(a[C>>2]|0))t=1;else{s=ab(Z,u,w,a[WA>>2]|0)|0;a[G>>2]=s;if(!s){t=1;s=280;break A}a[m>>2]=a[Q>>2];a[L>>2]=0;t=0}a[I>>2]=0;s=274;break}case 7:{t=a[C>>2]|0;if(!t)s=275;else{R5[t&15](a[dA>>2]|0,a[G>>2]|0,a[I>>2]|0,a[L>>2]|0,1);a[G>>2]=0;nb(Z);t=u}break}case 57:{t=fb(A,1,w,a[WA>>2]|0)|0;if(t|0){s=280;break A}t=a[B>>2]|0;break}case 6:{r[W>>0]=0;s=lb(A,y,75395,36)|0;a[z>>2]=s;if(!s){t=1;s=280;break A}r[vA>>0]=1;if(!(a[C>>2]|0))s=33;else{if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break A}t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}tb(t);a[m>>2]=a[Q>>2];a[L>>2]=t;t=0;s=34}break}case 14:{s=33;break}case 8:{t=a[G>>2]|0;if(!t)t=1;else{R5[a[C>>2]&15](a[dA>>2]|0,t,a[I>>2]|0,a[L>>2]|0,0);nb(Z);t=0}if(!((a[I>>2]|0)==0?!(r[W>>0]|0):0)){i=r[vA>>0]|0;r[vA>>0]=1;do{if(a[N>>2]|0?a[EA>>2]|0:0){l=lb(A,y,75395,36)|0;if(!l){t=1;s=280;break A}if(!(r[W>>0]|0))e=l+20|0;else{e=l+20|0;a[e>>2]=a[QA>>2]}r[CA>>0]=0;if(!(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[e>>2]|0,a[l+16>>2]|0,a[l+24>>2]|0)|0)){t=21;s=280;break A}if(!(r[CA>>0]|0)){if(a[I>>2]|0)break;r[vA>>0]=i;break}if(((r[ZA>>0]|0)==0?(kA=a[GA>>2]|0,kA|0):0)?(Q5[kA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}}}while(0);r[W>>0]=0}e=a[J>>2]|0;if(!e)s=274;else{F5[e&127](a[dA>>2]|0);t=u}break}case 34:{s=bb(A,u,w,a[WA>>2]|0)|0;a[X>>2]=s;if(!s){t=1;s=280;break A}else s=80;break}case 22:{s=sb(A,u,w,a[WA>>2]|0)|0;a[H>>2]=s;if(!s){t=1;s=280;break A}r[p>>0]=0;a[U>>2]=0;r[x>>0]=0;s=80;break}case 23:{r[p>>0]=1;a[U>>2]=142188;s=80;break}case 24:{r[x>>0]=1;a[U>>2]=142194;s=80;break}case 25:{a[U>>2]=142197;s=80;break}case 26:{a[U>>2]=142203;s=80;break}case 27:{a[U>>2]=142210;s=80;break}case 28:{a[U>>2]=142217;s=80;break}case 29:{a[U>>2]=142226;s=80;break}case 30:{a[U>>2]=142234;s=80;break}case 32:case 31:{if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0){if(!(wb(Z,(a[U>>2]|0)==0?(l|0)==32?142243:142253:142255)|0)){t=1;s=280;break A}if(!(ub(Z,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}a[U>>2]=a[m>>2];t=u}else s=275;break}case 36:case 35:{if(r[Y>>0]|0){if(!(kb(a[X>>2]|0,a[H>>2]|0,r[p>>0]|0,r[x>>0]|0,0,A)|0)){t=1;s=280;break A}if((a[R>>2]|0)!=0?(hA=a[U>>2]|0,(hA|0)!=0):0){switch(r[hA>>0]|0){case 40:{s=93;break}case 78:{if((r[hA+1>>0]|0)==79)s=93;break}default:{}}if((s|0)==93){s=0;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=41;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=0;a[U>>2]=a[m>>2];a[m>>2]=a[Q>>2]}a[h>>2]=w;H5[a[R>>2]&15](a[dA>>2]|0,a[a[X>>2]>>2]|0,a[a[H>>2]>>2]|0,a[U>>2]|0,0,(l|0)==36&1);nb(Z);t=u}else s=275}else s=275;break}case 38:case 37:{if(r[Y>>0]|0){t=a[u+64>>2]|0;t=hb(A,u,r[p>>0]|0,w+t|0,(a[WA>>2]|0)+(0-t)|0,D)|0;if(t|0){s=280;break A}e=a[F>>2]|0;a[F>>2]=a[M>>2];if(!(kb(a[X>>2]|0,a[H>>2]|0,r[p>>0]|0,0,e,A)|0)){t=1;s=280;break A}if((a[R>>2]|0)!=0?(BA=a[U>>2]|0,(BA|0)!=0):0){switch(r[BA>>0]|0){case 40:{s=108;break}case 78:{if((r[BA+1>>0]|0)==79)s=108;break}default:{}}if((s|0)==108){s=0;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=41;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=0;a[U>>2]=a[m>>2];a[m>>2]=a[Q>>2]}a[h>>2]=w;H5[a[R>>2]&15](a[dA>>2]|0,a[a[X>>2]>>2]|0,a[a[H>>2]>>2]|0,a[U>>2]|0,e,(l|0)==38&1);nb(Z);t=u}else s=275}else s=275;break}case 12:{if(r[Y>>0]|0){t=a[u+64>>2]|0;t=db(A,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;e=a[z>>2]|0;i=a[j>>2]|0;if(e){a[e+4>>2]=i;a[(a[z>>2]|0)+8>>2]=(a[S>>2]|0)-(a[j>>2]|0);a[j>>2]=a[S>>2];if(!(a[V>>2]|0))e=1;else{a[h>>2]=w;e=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[e>>2]|0,n[e+33>>0]|0,a[e+4>>2]|0,a[e+8>>2]|0,a[QA>>2]|0,0,0,0);e=0}}else{a[S>>2]=i;e=1}if(!t){t=e;s=274}else{s=280;break A}}else s=275;break}case 5:{r[W>>0]=0;r[vA>>0]=1;if(!(a[C>>2]|0)){a[I>>2]=75395;t=1}else{s=a[u+64>>2]|0;s=ab(Z,u,w+s|0,(a[WA>>2]|0)+(0-s)|0)|0;a[I>>2]=s;if(!s){t=1;s=280;break A}a[m>>2]=a[Q>>2];t=0}if((((r[ZA>>0]|0)==0?(a[N>>2]|0)==0:0)?(gA=a[GA>>2]|0,gA|0):0)?(Q5[gA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}if(!(a[z>>2]|0)){e=lb(A,y,75395,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}a[e+24>>2]=0;s=133}else s=133;break}case 13:{t=1;s=133;break}case 15:{if(((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0)?(a[V>>2]|0)!=0:0){a[h>>2]=w;t=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[t>>2]|0,n[t+33>>0]|0,0,0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,0);t=u}else s=275;break}case 16:{if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){l=ab(D,u,w,a[WA>>2]|0)|0;a[(a[z>>2]|0)+28>>2]=l;if(!(a[(a[z>>2]|0)+28>>2]|0)){t=1;s=280;break A}a[F>>2]=a[M>>2];if(a[P>>2]|0){a[h>>2]=w;t=a[z>>2]|0;H5[a[P>>2]&15](a[dA>>2]|0,a[t>>2]|0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,a[t+28>>2]|0);t=u;break e}if(a[V>>2]|0){a[h>>2]=w;t=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[t>>2]|0,0,0,0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,a[t+28>>2]|0);t=u}else s=275}else s=275;break}case 9:{if(W5[a[u+44>>2]&63](u,w,a[WA>>2]|0)|0){a[z>>2]=0;s=275;break e}if(!(r[Y>>0]|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}t=ab(D,u,w,a[WA>>2]|0)|0;if(!t){t=1;s=280;break A}e=lb(A,d,t,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}if((a[e>>2]|0)!=(t|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}a[F>>2]=a[M>>2];a[(a[z>>2]|0)+24>>2]=0;r[(a[z>>2]|0)+33>>0]=0;if(!(a[O>>2]|0))t=(a[uA>>2]|0)!=0;else t=1;r[(a[z>>2]|0)+34>>0]=(t^1)&1;if(!(a[V>>2]|0))s=275;else t=u;break}case 10:{if(!(r[Y>>0]|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}t=ab(D,u,w,a[WA>>2]|0)|0;if(!t){t=1;s=280;break A}e=lb(A,y,t,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}if((a[e>>2]|0)!=(t|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}a[F>>2]=a[M>>2];a[(a[z>>2]|0)+24>>2]=0;r[(a[z>>2]|0)+33>>0]=1;if(!(a[O>>2]|0))t=(a[uA>>2]|0)!=0;else t=1;r[(a[z>>2]|0)+34>>0]=(t^1)&1;if(!(a[V>>2]|0))s=275;else t=u;break}case 18:{a[K>>2]=0;a[_>>2]=0;if(!(a[q>>2]|0))s=275;else{w=ab(Z,u,w,a[WA>>2]|0)|0;a[_>>2]=w;if(!w){t=1;s=280;break A}a[m>>2]=a[Q>>2];t=u}break}case 21:{if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break A}if(!(a[_>>2]|0))s=275;else{t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}tb(t);a[K>>2]=t;a[m>>2]=a[Q>>2];t=u}break}case 19:{if((a[_>>2]|0)!=0?(a[q>>2]|0)!=0:0){t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}a[h>>2]=w;R5[a[q>>2]&15](a[dA>>2]|0,a[_>>2]|0,a[QA>>2]|0,t,a[K>>2]|0);t=0}else t=1;nb(Z);s=274;break}case 20:{if((a[K>>2]|0)!=0?(a[q>>2]|0)!=0:0){a[h>>2]=w;R5[a[q>>2]&15](a[dA>>2]|0,a[_>>2]|0,a[QA>>2]|0,0,a[K>>2]|0);t=0}else t=1;nb(Z);s=274;break}case 58:{if(a[g>>2]|0)Bb(A,u,w,a[WA>>2]|0);t=vb(A,u,WA,f,c,b)|0;if(t|0){s=280;break A}if(!(a[WA>>2]|0)){s=189;break A}else t=u;break}case 44:{t=a[AA>>2]|0;do{if((a[$>>2]|0)>>>0>=t>>>0){if(!t){l=a[lA>>2]|0;a[AA>>2]=32;l=Q5[l&63](32)|0;a[eA>>2]=l;if(!l){s=198;break A}else break}i=a[tA>>2]|0;l=a[eA>>2]|0;t=t<<1;a[AA>>2]=t;t=m5[i&127](l,t)|0;if(!t){s=193;break A}a[eA>>2]=t;t=a[rA>>2]|0;if(t|0){t=m5[a[tA>>2]&127](t,a[AA>>2]<<2)|0;if(!t){t=1;s=280;break A}a[rA>>2]=t}}}while(0);r[(a[eA>>2]|0)+(a[$>>2]|0)>>0]=0;if(r[iA>>0]|0){t=Eb(A)|0;if((t|0)<0){t=1;s=280;break A}a[(a[rA>>2]|0)+(a[fA>>2]<<2)>>2]=t;a[fA>>2]=(a[fA>>2]|0)+1;a[(a[aA>>2]|0)+(t*28|0)>>2]=6;if(a[nA>>2]|0)t=u;else s=275}else s=275;break}case 50:{t=(a[eA>>2]|0)+(a[$>>2]|0)|0;if((r[t>>0]|0)==124){t=2;s=280;break A}r[t>>0]=44;if((r[iA>>0]|0)!=0?(a[nA>>2]|0)!=0:0)t=u;else s=275;break}case 49:{i=a[eA>>2]|0;e=a[$>>2]|0;t=r[i+e>>0]|0;if(t<<24>>24==44){t=2;s=280;break A}if(t<<24>>24==0&(r[iA>>0]|0)!=0?(mA=(a[aA>>2]|0)+((a[(a[rA>>2]|0)+((a[fA>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(a[mA>>2]|0)!=3):0){a[mA>>2]=5;t=(a[nA>>2]|0)==0&1;i=a[eA>>2]|0;e=a[$>>2]|0}else t=1;r[i+e>>0]=124;s=274;break}case 59:case 60:{r[vA>>0]=1;if(a[N>>2]|0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;if(!e){t=1;s=280;break A}i=lb(A,y,e,0)|0;a[M>>2]=a[F>>2];do{if(a[cA>>2]|0){if(!(r[ZA>>0]|0)){if(r[vA>>0]|0){s=219;break}}else if(a[uA>>2]|0){s=219;break}if(!i){t=11;s=280;break A}if(!(r[i+34>>0]|0)){t=24;s=280;break A}}else s=219}while(0);if((s|0)==219?(s=0,(i|0)==0):0){r[Y>>0]=r[ZA>>0]|0;if((l|0)!=60){s=275;break e}t=a[bA>>2]|0;if(!t){s=275;break e}J5[t&127](a[dA>>2]|0,e,1);t=u;break e}t=i+32|0;if(r[t>>0]|0){t=12;s=280;break A}if(a[i+4>>2]|0){t=Cb(A,i,(l|0)==60&1)|0;e=(t|0)==0;if(e){t=(e^1)&1;s=274;break e}else{s=280;break A}}if(!(a[EA>>2]|0)){r[Y>>0]=r[ZA>>0]|0;s=275;break e}r[CA>>0]=0;r[t>>0]=1;l=(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[i+20>>2]|0,a[i+16>>2]|0,a[i+24>>2]|0)|0)==0;r[t>>0]=0;if(l){t=21;s=280;break A}e=r[ZA>>0]|0;if(!(r[CA>>0]|0)){r[Y>>0]=e;t=u;break e}else t=0}else{e=r[ZA>>0]|0;r[Y>>0]=e;t=1}if((e<<24>>24==0?(LA=a[GA>>2]|0,(LA|0)!=0):0)?(Q5[LA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}else s=274;break}case 40:{if(!(a[nA>>2]|0))s=275;else{w=bb(A,u,w,a[WA>>2]|0)|0;a[X>>2]=w;if(!w){t=1;s=280;break A}a[fA>>2]=0;a[sA>>2]=0;r[iA>>0]=1;t=u}break}case 42:case 41:{if(!(r[iA>>0]|0))s=275;else{if(!(a[nA>>2]|0))t=1;else{t=Q5[a[lA>>2]&63](20)|0;if(!t){t=1;s=280;break A}s=t+4|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;a[t>>2]=(l|0)==41?2:1;a[h>>2]=w;J5[a[nA>>2]&127](a[dA>>2]|0,a[a[X>>2]>>2]|0,t);t=0}r[iA>>0]=0;s=274}break}case 43:{if((r[iA>>0]|0)!=0?(a[(a[aA>>2]|0)+((a[(a[rA>>2]|0)+((a[fA>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(a[nA>>2]|0)!=0):0)t=u;else s=275;break}case 51:{e=0;s=247;break}case 53:{e=1;s=247;break}case 52:{e=2;s=247;break}case 54:{e=3;s=247;break}case 45:{i=0;s=258;break}case 47:{i=1;s=258;break}case 46:{i=2;s=258;break}case 48:{i=3;s=258;break}case 55:{if(!(Zb(A,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}else t=u;break}case 56:{if(!(Gb(A,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}else t=u;break}case 0:{if((e|0)==14)t=u;else s=275;break}case 3:{if(!(a[C>>2]|0))s=275;else t=u;break}case 11:{if((r[Y>>0]|0)!=0?(a[V>>2]|0)!=0:0)t=u;else s=275;break}case 17:{if(!(a[q>>2]|0))s=275;else t=u;break}case 33:{if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0)t=u;else s=275;break}case 39:{if(!(a[nA>>2]|0))s=275;else t=u;break}default:s=275}}while(0);if((s|0)==33)if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break}else{t=1;s=34}else if((s|0)==80){s=0;if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0)t=u;else s=275}else if((s|0)==133){s=0;if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;a[(a[z>>2]|0)+16>>2]=e;e=a[z>>2]|0;if(!(a[e+16>>2]|0)){t=1;s=280;break}a[e+20>>2]=a[QA>>2];a[F>>2]=a[M>>2];if((l|0)==13&(a[V>>2]|0)!=0)t=u;else s=274}else s=274}else if((s|0)==247){s=0;if(r[iA>>0]|0){t=a[WA>>2]|0;if(e)t=t+(0-(a[u+64>>2]|0))|0;i=Eb(A)|0;if((i|0)<0){t=1;s=280;break}a[(a[aA>>2]|0)+(i*28|0)>>2]=4;a[(a[aA>>2]|0)+(i*28|0)+4>>2]=e;t=bb(A,u,w,t)|0;if(!t){t=1;s=280;break}e=a[t>>2]|0;a[(a[aA>>2]|0)+(i*28|0)+8>>2]=e;t=0;do{l=t;t=t+1|0}while((r[e+l>>0]|0)!=0);a[wA>>2]=(a[wA>>2]|0)+t;if(a[nA>>2]|0)t=u;else s=275}else s=275}else if((s|0)==258)if(r[iA>>0]|0){e=(a[nA>>2]|0)==0;t=e&1;s=(a[fA>>2]|0)+-1|0;a[fA>>2]=s;a[(a[aA>>2]|0)+((a[(a[rA>>2]|0)+(s<<2)>>2]|0)*28|0)+4>>2]=i;if(!(a[fA>>2]|0)){if(!e){e=Ib(A)|0;if(!e){t=1;s=280;break}a[h>>2]=w;J5[a[nA>>2]&127](a[dA>>2]|0,a[a[X>>2]>>2]|0,e)}r[iA>>0]=0;a[wA>>2]=0;s=274}else s=274}else s=275;if((s|0)==34){s=0;if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;if(!e){t=1;s=280;break}tb(e);a[(a[z>>2]|0)+24>>2]=e;a[F>>2]=a[M>>2];if((l|0)==14&(a[V>>2]|0)!=0)t=u;else s=274}else s=274}if((s|0)==274){s=0;if(!(t<<24>>24))t=u;else s=275}if((s|0)==275){s=0;if(!(a[g>>2]|0))t=u;else{Bb(A,u,w,a[WA>>2]|0);t=u}}switch(a[E>>2]|0){case 3:{s=278;break A}case 2:{t=35;s=280;break A}default:{}}e=a[WA>>2]|0;u=t;w=e;e=y5[a[t>>2]&127](t,e,f,WA)|0}A:switch(s|0){case 7:{a[c>>2]=w;t=0;break}case 9:{a[o>>2]=i;t=4;break}case 10:{t=(u|0)==(a[B>>2]|0);if(!t?(r[(a[uA>>2]|0)+20>>0]|0)==0:0){a[c>>2]=w;t=0;break}if((r[A+484>>0]|0)!=0|t^1)if((z5[a[oA>>2]&127](oA,-4,f,f,u)|0)==-1)t=29;else{a[c>>2]=w;t=0}else t=3;break}case 58:{do{if((r[W>>0]|0?(yA=r[vA>>0]|0,r[vA>>0]=1,a[N>>2]|0):0)?a[EA>>2]|0:0){t=lb(A,y,75395,36)|0;if(!t){t=1;break A}WA=t+20|0;a[WA>>2]=a[QA>>2];r[CA>>0]=0;if(!(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[WA>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0)|0)){t=21;break A}if(!(r[CA>>0]|0)){r[vA>>0]=yA;break}if(((r[ZA>>0]|0)==0?(zA=a[GA>>2]|0,zA|0):0)?(Q5[zA&63](a[dA>>2]|0)|0)==0:0){t=22;break A}}}while(0);a[A+276>>2]=58;t=cb(A,w,f,c)|0;break}case 184:{t=(e|0)==28?10:(e|0)==12?17:2;break}case 189:{a[A+276>>2]=59;t=0;break}case 193:{a[AA>>2]=(a[AA>>2]|0)>>>1;t=1;break}case 198:{a[AA>>2]=0;t=1;break}case 278:{a[c>>2]=a[WA>>2];t=0;break}case 280:break}k=YA;return t|0}function fb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+32|0;o=h+16|0;s=h+12|0;t=h+8|0;c=h+4|0;b=h;a[o>>2]=0;a[s>>2]=0;a[t>>2]=0;a[b>>2]=-1;w=A+144|0;u=A+284|0;n=(e|0)!=0;A:do{if(D5[(r[A+232>>0]<<24>>24?2:1)&3](e,a[w>>2]|0,i,f,u,t,c,o,s,b)|0){if((a[b>>2]|0)==1&(n^1)?(r[(a[A+352>>2]|0)+130>>0]=1,l=A+488|0,(a[l>>2]|0)==1):0)a[l>>2]=0;l=A+140|0;if(!(a[l>>2]|0))if(!(a[A+80>>2]|0)){i=0;e=0}else{Bb(A,a[w>>2]|0,i,f);i=0;e=0}else{e=a[o>>2]|0;if(!e)e=0;else{f=a[w>>2]|0;e=ab(A+436|0,f,e,e+(m5[a[f+28>>2]&127](f,e)|0)|0)|0;if(!e){e=1;break}a[A+452>>2]=a[A+448>>2]}n=a[t>>2]|0;if(n){t=a[w>>2]|0;n=ab(A+436|0,t,n,(a[c>>2]|0)+(0-(a[t+64>>2]|0))|0)|0;if(!n){e=1;break}}else n=0;X5[a[l>>2]&31](a[A+4>>2]|0,n,e,a[b>>2]|0);i=n}do{if(!(a[A+228>>2]|0)){n=a[s>>2]|0;l=n;if(n|0){b=a[n+64>>2]|0;s=a[w>>2]|0;if((b|0)==(a[s+64>>2]|0)?(b|0)!=2|(n|0)==(s|0):0){a[w>>2]=l;break}a[u>>2]=a[o>>2];e=19;break A}n=a[o>>2]|0;if(n|0){l=A+436|0;if(!e){e=a[w>>2]|0;e=ab(l,e,n,n+(m5[a[e+28>>2]&127](e,n)|0)|0)|0;if(!e){e=1;break A}}e=qb(A,e)|0;nb(l);if((e|0)!=18)break A;a[u>>2]=a[o>>2];e=18;break A}}}while(0);if((e|0)!=0|(i|0)!=0){nb(A+436|0);e=0}else e=0}else e=n?31:30}while(0);k=h;return e|0}function ab(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;do{if(!(ub(A,e,i,f)|0))e=0;else{i=A+12|0;e=a[i>>2]|0;if((e|0)==(a[A+8>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=0;e=a[A+16>>2]|0}}while(0);return e|0}function nb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=A+4|0;e=a[r>>2]|0;A:do{if(!e){a[r>>2]=a[A>>2];e=A}else{i=a[A>>2]|0;while(1){if(!i){e=A;break A}n=a[i>>2]|0;a[i>>2]=e;a[r>>2]=i;f=i;i=n;e=f}}}while(0);a[e>>2]=0;a[A+16>>2]=0;a[A+12>>2]=0;a[A+8>>2]=0;return}function lb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;C=e+8|0;A:do{if(!(a[C>>2]|0))if(f){r[e+4>>0]=6;a[C>>2]=64;l=e+16|0;t=Q5[a[a[l>>2]>>2]&63](256)|0;a[e>>2]=t;if(!t){a[C>>2]=0;l=0;break}else{Y6(t|0,0,256)|0;c=Kb(A,i)|0;c=(a[C>>2]|0)+-1&c;t=e;k=27;break}}else l=0;else{E=Kb(A,i)|0;b=a[C>>2]|0;c=b+-1|0;s=a[e>>2]|0;w=E&0-b;g=e+4|0;u=c>>>2;t=0;c=c&E;while(1){l=a[s+(c<<2)>>2]|0;if(!l)break;if((_b(i,a[l>>2]|0)|0)<<24>>24)break A;if(!(t<<24>>24))l=(w>>>((n[g>>0]|0)+-1|0)&u|1)&255;else l=t;v=l&255;t=l;c=c-v+(c>>>0>>0?b:0)|0}if(f){t=r[g>>0]|0;l=t&255;if(!((a[e+12>>2]|0)>>>(l+-1|0))){l=e+16|0;t=e;k=27;break}h=l+1&255;c=t+1&255;B=1<>2]>>2]&63](t)|0;if(v){Y6(v|0,0,t|0)|0;o=0-B|0;u=c+-1|0;k=d>>>2;w=0;while(1){if(w>>>0>=(a[C>>2]|0)>>>0)break;t=a[(a[e>>2]|0)+(w<<2)>>2]|0;if(t|0){t=Kb(A,a[t>>2]|0)|0;b=((t&o)>>>u&k|1)&255;t=t&d;c=0;while(1){s=v+(t<<2)|0;if(!(a[s>>2]|0))break;s=c<<24>>24==0?b:c;I=s&255;t=t+(t>>>0>>0?B:0)-I|0;c=s}a[s>>2]=a[(a[e>>2]|0)+(w<<2)>>2]}w=w+1|0}F5[a[(a[l>>2]|0)+8>>2]&127](a[e>>2]|0);a[e>>2]=v;r[g>>0]=h;a[C>>2]=B;b=((E&o)>>>u&k|1)&255;t=d&E;c=0;while(1){if(!(a[v+(t<<2)>>2]|0)){c=t;t=e;k=27;break A}I=c<<24>>24==0?b:c;C=I&255;t=t+(t>>>0>>0?B:0)-C|0;c=I}}else l=0}else l=0}}while(0);if((k|0)==27){l=Q5[a[a[l>>2]>>2]&63](f)|0;a[(a[t>>2]|0)+(c<<2)>>2]=l;l=a[(a[t>>2]|0)+(c<<2)>>2]|0;if(!l)l=0;else{Y6(l|0,0,f|0)|0;a[a[(a[t>>2]|0)+(c<<2)>>2]>>2]=i;l=e+12|0;a[l>>2]=(a[l>>2]|0)+1;l=a[(a[t>>2]|0)+(c<<2)>>2]|0}}return l|0}function tb(A){A=A|0;var e=0,i=0,f=0;f=A;e=A;while(1){i=r[f>>0]|0;if(!(i<<24>>24))break;switch(i<<24>>24|0){case 10:case 13:case 32:{if((e|0)!=(A|0)){if((r[e+-1>>0]|0)!=32){r[e>>0]=32;e=e+1|0}}else e=A;break}default:{r[e>>0]=i;e=e+1|0}}f=f+1|0}if((e|0)!=(A|0)){A=e+-1|0;A=(r[A>>0]|0)==32?A:e}r[A>>0]=0;return}function cb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;e=Lb(A,0,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;if((e|0)==0?(Jb(A)|0)<<24>>24==0:0)e=1;return e|0}function bb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=a[A+352>>2]|0;e=ab(n+80|0,e,i,r)|0;do{if((e|0)!=0?(f=lb(A,n+20|0,e,24)|0,(f|0)!=0):0)if((a[f>>2]|0)==(e|0)){a[n+96>>2]=a[n+92>>2];if(!(Xb(A,f)|0)){f=0;break}}else a[n+92>>2]=a[n+96>>2];else f=0}while(0);return f|0}function sb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=a[A+352>>2]|0;b=w+80|0;u=w+92|0;l=a[u>>2]|0;s=w+88|0;if((l|0)==(a[s>>2]|0))if(!((ob(b)|0)<<24>>24))n=0;else{l=a[u>>2]|0;t=4}else t=4;A:do{if((t|0)==4){a[u>>2]=l+1;r[l>>0]=0;e=ab(b,e,i,f)|0;if((e|0)!=0?(c=e+1|0,n=lb(A,w+40|0,c,12)|0,(n|0)!=0):0){if((a[n>>2]|0)!=(c|0)){a[u>>2]=a[w+96>>2];break}l=a[u>>2]|0;t=w+96|0;a[t>>2]=l;if(r[A+232>>0]|0){i=r[c>>0]|0;e:do{if(i<<24>>24==120)if((((r[e+2>>0]|0)==109?(r[e+3>>0]|0)==108:0)?(r[e+4>>0]|0)==110:0)?(r[e+5>>0]|0)==115:0){switch(r[e+6>>0]|0){case 0:{l=w+152|0;break}case 58:{l=lb(A,w+60|0,e+7|0,8)|0;break}default:{f=0;e=120;break e}}a[n+4>>2]=l;r[n+9>>0]=1;break A}else{f=0;e=120}else{f=0;e=i}}while(0);e:while(1){switch(e<<24>>24){case 0:break A;case 58:{i=0;break e}default:{}}e=f+1|0;f=e;e=r[c+e>>0]|0}while(1){e=(l|0)==(a[s>>2]|0);if((i|0)>=(f|0))break;if(e){if(!((ob(b)|0)<<24>>24)){n=0;break A}l=a[u>>2]|0}e=r[c+i>>0]|0;a[u>>2]=l+1;r[l>>0]=e;i=i+1|0;l=a[u>>2]|0}if(e){if(!((ob(b)|0)<<24>>24)){n=0;break}l=a[u>>2]|0}a[u>>2]=l+1;r[l>>0]=0;l=lb(A,w+60|0,a[t>>2]|0,8)|0;a[n+4>>2]=l;if(l){e=a[t>>2]|0;if((a[l>>2]|0)==(e|0)){a[t>>2]=a[u>>2];break}else{a[u>>2]=e;break}}else n=0}}else n=0}}while(0);return n|0}function wb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;n=A+12|0;l=A+8|0;while(1){i=r[e>>0]|0;if(!(i<<24>>24)){t=7;break}f=a[n>>2]|0;if((f|0)==(a[l>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}f=a[n>>2]|0;i=r[e>>0]|0}a[n>>2]=f+1;r[f>>0]=i;e=e+1|0}if((t|0)==7)e=a[A+16>>2]|0;return e|0}function ub(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;a[l>>2]=i;n=A+12|0;if((a[n>>2]|0)==0?(ob(A)|0)<<24>>24==0:0)i=0;else f=3;A:do{if((f|0)==3){i=e+56|0;f=A+8|0;while(1){if((z5[a[i>>2]&127](e,l,r,n,a[f>>2]|0)|0)>>>0<2)break;if(!((ob(A)|0)<<24>>24)){i=0;break A}}i=a[A+16>>2]|0}}while(0);k=t;return i|0}function kb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0;t=f<<24>>24==0;u=A+12|0;w=a[u>>2]|0;A:do{if(!(t&(n|0)==0)){c=A+20|0;f=0;while(1){if((f|0)>=(w|0))break;if((a[(a[c>>2]|0)+(f*12|0)>>2]|0)==(e|0)){f=1;break A}else f=f+1|0}if((!t?(b=A+8|0,(a[b>>2]|0)==0):0)?(r[e+9>>0]|0)==0:0){a[b>>2]=e;s=9}else s=9}else s=9}while(0);A:do{if((s|0)==9){c=A+16|0;do{if((w|0)==(a[c>>2]|0))if(!w){a[c>>2]=8;f=Q5[a[l+12>>2]&63](96)|0;a[A+20>>2]=f;if(f|0)break;a[c>>2]=0;f=0;break A}else{t=A+20|0;f=m5[a[l+16>>2]&127](a[t>>2]|0,w*24|0)|0;if(!f){f=0;break A}a[c>>2]=w<<1;a[t>>2]=f;break}else f=a[A+20>>2]|0}while(0);l=a[u>>2]|0;a[f+(l*12|0)>>2]=e;a[f+(l*12|0)+8>>2]=n;r[f+(l*12|0)+4>>0]=i;if(!(i<<24>>24))r[e+8>>0]=1;a[u>>2]=(a[u>>2]|0)+1;f=1}}while(0);return f|0}function ob(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;e=A+4|0;r=a[e>>2]|0;do{if(r){f=A+16|0;n=a[f>>2]|0;if(!n){a[A>>2]=r;a[e>>2]=a[r>>2];a[r>>2]=0;s=a[A>>2]|0;e=s+8|0;a[f>>2]=e;a[A+8>>2]=(a[s+4>>2]|0)+(s+8);a[A+12>>2]=e;e=1;break}i=A+8|0;if(((a[i>>2]|0)-n|0)<(a[r+4>>2]|0)){b=a[r>>2]|0;a[r>>2]=a[A>>2];s=a[e>>2]|0;a[A>>2]=s;a[e>>2]=b;e=a[f>>2]|0;y6(s+8|0,e|0,(a[i>>2]|0)-e|0)|0;e=a[A>>2]|0;s=A+12|0;a[s>>2]=(a[s>>2]|0)-(a[f>>2]|0)+(e+8);a[f>>2]=e+8;a[i>>2]=(a[e+4>>2]|0)+(e+8);e=1}else l=6}else l=6}while(0);A:do{if((l|0)==6){r=a[A>>2]|0;b=A+16|0;do{if(!r){t=b;e=a[b>>2]|0}else{c=a[b>>2]|0;e=c;if((c|0)!=(r+8|0)){t=b;break}f=A+8|0;n=(a[f>>2]|0)-e<<1;l=A+12|0;i=(a[l>>2]|0)-e|0;if((n|0)<0){e=0;break A}e=Ob(n)|0;if(!e){e=0;break A}e=m5[a[(a[A+20>>2]|0)+4>>2]&127](r,e)|0;if(!e){e=0;break A}a[A>>2]=e;a[e+4>>2]=n;e=a[A>>2]|0;a[l>>2]=e+8+i;a[b>>2]=e+8;a[f>>2]=e+8+n;e=1;break A}}while(0);c=A+8|0;e=(a[c>>2]|0)-e|0;if((e|0)>=0){if((e|0)>=1024){e=e<<1;if((e|0)<0){e=0;break}}else e=1024;i=Ob(e)|0;if((i|0)!=0?(s=Q5[a[a[A+20>>2]>>2]&63](i)|0,(s|0)!=0):0){a[s+4>>2]=e;a[s>>2]=a[A>>2];a[A>>2]=s;l=A+12|0;A=a[l>>2]|0;r=a[b>>2]|0;i=A;f=r;if((A|0)==(r|0)){n=s+8|0;r=f}else{n=s+8|0;y6(n|0,r|0,i-f|0)|0;r=a[t>>2]|0;i=a[l>>2]|0}a[l>>2]=s+8+(i-r);a[b>>2]=n;a[c>>2]=s+8+e;e=1}else e=0}else e=0}}while(0);return e|0}function hb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0;A=Pb(A,e,i,f,n,l)|0;do{if(!A){e=l+12|0;A=a[e>>2]|0;if((i<<24>>24==0?(a[l+16>>2]|0)!=(A|0):0)?(t=A+-1|0,(r[t>>0]|0)==32):0){a[e>>2]=t;A=t}if((A|0)==(a[l+8>>2]|0)){if(!((ob(l)|0)<<24>>24)){A=1;break}A=a[e>>2]|0}a[e>>2]=A+1;r[A>>0]=0;A=0}}while(0);return A|0}function db(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+16|0;m=D;L=D+4|0;n=a[A+352>>2]|0;W=n+104|0;z=A+272|0;y=a[z>>2]|0;a[z>>2]=1;if((a[W>>2]|0)==0?(ob(W)|0)<<24>>24==0:0)n=1;else{w=e+20|0;u=A+484|0;o=A+144|0;h=A+412|0;d=e+64|0;B=n+132|0;v=A+428|0;g=A+424|0;E=A+224|0;C=A+112|0;s=n+130|0;I=n+128|0;Z=n+131|0;G=A+116|0;Q=n+112|0;c=n+116|0;b=e+40|0;A:while(1){e:do{switch(y5[a[w>>2]&127](e,i,f,m)|0){case-4:{n=0;break A}case-1:{Y=37;break A}case 0:{Y=39;break A}case 28:{if((r[u>>0]|0)==0?(a[o>>2]|0)==(e|0):0){Y=19;break A}n=a[d>>2]|0;n=ab(h,e,i+n|0,(a[m>>2]|0)+(0-n)|0)|0;if(!n){n=1;break A}l=lb(A,B,n,0)|0;a[g>>2]=a[v>>2];if(!l){Y=9;break A}t=l+32|0;if(r[t>>0]|0){Y=11;break A}n=l+16|0;if(!(a[n>>2]|0)){r[t>>0]=1;n=a[l+4>>2]|0;n=db(A,a[E>>2]|0,n,n+(a[l+8>>2]|0)|0)|0;r[t>>0]=0;if(!n)break e;else break A}if(a[C>>2]|0){r[Z>>0]=0;r[t>>0]=1;l=(z5[a[C>>2]&127](a[G>>2]|0,0,a[l+20>>2]|0,a[n>>2]|0,a[l+24>>2]|0)|0)==0;r[t>>0]=0;if(l){n=21;break A}if(r[Z>>0]|0)break e}r[I>>0]=r[s>>0]|0;break}case 6:case 9:{if(!(ub(W,e,i,a[m>>2]|0)|0)){n=1;break A}break}case-3:{a[m>>2]=i+(a[d>>2]|0);Y=22;break}case 7:{Y=22;break}case 10:{n=m5[a[b>>2]&127](e,i)|0;if((n|0)<0){Y=27;break A}l=ds(n,L)|0;i=0;while(1){if((i|0)>=(l|0))break;n=a[c>>2]|0;if((a[Q>>2]|0)==(n|0)){if(!((ob(W)|0)<<24>>24)){n=1;Y=35;break A}n=a[c>>2]|0}t=r[L+i>>0]|0;a[c>>2]=n+1;r[n>>0]=t;i=i+1|0}break}default:{Y=41;break A}}}while(0);if((Y|0)==22){Y=0;n=a[c>>2]|0;if((a[Q>>2]|0)==(n|0)){if(!((ob(W)|0)<<24>>24)){n=1;break}n=a[c>>2]|0}a[c>>2]=n+1;r[n>>0]=10}i=a[m>>2]|0}if((Y|0)==9){r[I>>0]=r[s>>0]|0;n=0}else if((Y|0)==11)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=12}else n=12;else if((Y|0)==19){a[A+284>>2]=i;n=10}else if((Y|0)==27)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=14;Y=35}else{n=14;Y=35}else if((Y|0)==37)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=4}else n=4;else if((Y|0)==39)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=a[m>>2];n=4}else n=4;else if((Y|0)==41)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=23}else n=23;a[z>>2]=y}k=D;return n|0}function Bb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+16|0;w=o;u=o+4|0;a[w>>2]=i;if(!(r[e+68>>0]|0)){if((a[A+144>>2]|0)==(e|0)){n=A+288|0;l=A+284|0}else{l=a[A+296>>2]|0;n=l+4|0}t=A+44|0;c=e+56|0;b=A+48|0;s=A+80|0;i=A+4|0;do{a[u>>2]=a[t>>2];A=z5[a[c>>2]&127](e,w,f,u,a[b>>2]|0)|0;a[n>>2]=a[w>>2];h=a[t>>2]|0;J5[a[s>>2]&127](a[i>>2]|0,h,(a[u>>2]|0)-h|0);a[l>>2]=a[w>>2]}while(A>>>0>1)}else J5[a[A+80>>2]&127](a[A+4>>2]|0,i,f-i|0);k=o;return}function vb(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;c=s;b=a[i>>2]|0;if((a[A+144>>2]|0)==(e|0)){t=A+284|0;a[t>>2]=b;l=A+288|0}else{t=a[A+296>>2]|0;l=t+4|0}a[t>>2]=b;a[i>>2]=0;w=y5[a[e+12>>2]&127](e,b,r,c)|0;r=a[c>>2]|0;a[l>>2]=r;switch(w|0){case 42:{if(a[A+80>>2]|0){Bb(A,e,b,r);r=a[c>>2]|0}a[i>>2]=r;a[f>>2]=r;r=(a[A+476>>2]|0)==2?35:0;break}case 0:{a[t>>2]=r;r=4;break}case-2:{if(!(n<<24>>24))r=6;else{a[f>>2]=b;r=0}break}case-4:case-1:{if(!(n<<24>>24))r=2;else{a[f>>2]=b;r=0}break}default:{a[t>>2]=r;r=23}}k=s;return r|0}function gb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;a[n>>2]=e;e=vb(A,a[A+144>>2]|0,n,i,f,(r[A+480>>0]|0)==0&1)|0;n=a[n>>2]|0;if(!((e|0)!=0|(n|0)==0)){a[A+276>>2]=57;e=ib(A,n,i,f)|0}k=l;return e|0}function Eb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=a[A+352>>2]|0;c=t+184|0;if(!(a[c>>2]|0)){e=Q5[a[A+12>>2]&63](a[A+464>>2]<<2)|0;a[c>>2]=e;if(!e)e=-1;else{a[e>>2]=0;i=4}}else i=4;do{if((i|0)==4){l=t+176|0;e=a[l>>2]|0;n=t+172|0;i=a[n>>2]|0;f=t+164|0;r=a[f>>2]|0;if(e>>>0>>0)n=r;else{if(!r){e=Q5[a[A+12>>2]&63](896)|0;if(!e){e=-1;break}else{i=e;e=32}}else{e=m5[a[A+16>>2]&127](r,i*56|0)|0;if(!e){e=-1;break}i=e;e=a[n>>2]<<1}a[n>>2]=e;a[f>>2]=i;e=a[l>>2]|0;n=i}a[l>>2]=e+1;i=a[t+180>>2]|0;if(i|0){A=a[(a[c>>2]|0)+(i+-1<<2)>>2]|0;f=n+(A*28|0)+16|0;i=a[f>>2]|0;if(i|0)a[n+(i*28|0)+24>>2]=e;i=n+(A*28|0)+20|0;r=a[i>>2]|0;if(!r)a[n+(A*28|0)+12>>2]=e;a[f>>2]=e;a[i>>2]=r+1}c=n+(e*28|0)+12|0;a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0}}while(0);return e|0}function Cb(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;u=A+300|0;f=a[u>>2]|0;if(!f){f=Q5[a[A+12>>2]&63](24)|0;if(!f)f=1;else{s=f;n=4}}else{a[u>>2]=a[f+8>>2];s=f;n=4}do{if((n|0)==4){l=e+32|0;r[l>>0]=1;t=e+12|0;a[t>>2]=0;c=A+296|0;b=s+8|0;a[b>>2]=a[c>>2];a[c>>2]=s;a[s+12>>2]=e;f=A+308|0;a[s+16>>2]=a[f>>2];r[s+20>>0]=i;a[s>>2]=0;a[s+4>>2]=0;n=a[e+4>>2]|0;i=n+(a[e+8>>2]|0)|0;a[w>>2]=n;if(!(r[e+33>>0]|0))f=Lb(A,a[f>>2]|0,a[A+224>>2]|0,n,i,w,0)|0;else{e=A+224|0;f=a[e>>2]|0;f=y5[a[f>>2]&127](f,n,i,w)|0;f=rb(A,a[e>>2]|0,n,i,f,a[w>>2]|0,w,0)|0}if(!f){f=a[w>>2]|0;if((i|0)!=(f|0)?(a[A+476>>2]|0)==3:0){a[t>>2]=f-n;a[A+276>>2]=60;f=0;break}r[l>>0]=0;a[c>>2]=a[b>>2];a[b>>2]=a[u>>2];a[u>>2]=s;f=0}}}while(0);k=o;return f|0}function Ib(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+16|0;i=n+4|0;r=n;e=a[A+352>>2]|0;f=e+176|0;e=Q5[a[A+12>>2]&63](((a[f>>2]|0)*20|0)+(a[e+168>>2]|0)|0)|0;if(!e)e=0;else{a[r>>2]=e+((a[f>>2]|0)*20|0);a[i>>2]=e+20;mb(A,0,e,i,r)}k=n;return e|0}function Zb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=A+64|0;if(!(a[c>>2]|0))if(!(a[A+80>>2]|0))i=1;else{Bb(A,e,i,r);i=1}else{l=e+64|0;n=i+(a[l>>2]<<1)|0;i=n+(m5[a[e+28>>2]&127](e,n)|0)|0;f=A+412|0;n=ab(f,e,n,i)|0;if((n|0)!=0?(a[A+428>>2]=a[A+424>>2],t=m5[a[e+32>>2]&127](e,i)|0,t=ab(f,e,t,r+(0-(a[l>>2]<<1))|0)|0,(t|0)!=0):0){Qb(t);J5[a[c>>2]&127](a[A+4>>2]|0,n,t);nb(f);i=1}else i=0}return i|0}function Gb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;n=A+68|0;if(!(a[n>>2]|0))if(!(a[A+80>>2]|0))e=1;else{Bb(A,e,i,r);e=1}else{f=A+412|0;l=a[e+64>>2]|0;e=ab(f,e,i+(l<<2)|0,r+(U(l,-3)|0)|0)|0;if(!e)e=0;else{Qb(e);V5[a[n>>2]&63](a[A+4>>2]|0,e);nb(f);e=1}}return e|0}function Qb(A){A=A|0;var e=0,i=0,f=0;A:while(1){switch(r[A>>0]|0){case 0:break A;case 13:{i=A;e=13;f=4;break A}default:{}}A=A+1|0}if((f|0)==4){while(1){if(e<<24>>24==13){r[i>>0]=10;f=A+1|0;A=(r[f>>0]|0)==10?A+2|0:f}else{r[i>>0]=e;A=A+1|0}i=i+1|0;e=r[A>>0]|0;if(!(e<<24>>24))break;else f=4}r[i>>0]=0}return}function mb(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=(a[A+352>>2]|0)+164|0;c=a[(a[b>>2]|0)+(e*28|0)>>2]|0;a[i>>2]=c;a[i+4>>2]=a[(a[b>>2]|0)+(e*28|0)+4>>2];if((c|0)==4){a[i+8>>2]=a[n>>2];e=a[(a[b>>2]|0)+(e*28|0)+8>>2]|0;while(1){c=r[e>>0]|0;b=a[n>>2]|0;a[n>>2]=b+1;r[b>>0]=c;if(!(r[e>>0]|0))break;else e=e+1|0}a[i+12>>2]=0;a[i+16>>2]=0}else{l=a[(a[b>>2]|0)+(e*28|0)+20>>2]|0;t=i+12|0;a[t>>2]=l;c=i+16|0;a[c>>2]=a[f>>2];a[f>>2]=(a[f>>2]|0)+(l*20|0);e=(a[b>>2]|0)+(e*28|0)+12|0;l=0;while(1){e=a[e>>2]|0;if(l>>>0>=(a[t>>2]|0)>>>0)break;mb(A,e,(a[c>>2]|0)+(l*20|0)|0,f,n);e=(a[b>>2]|0)+(e*28|0)+24|0;l=l+1|0}a[i+8>>2]=0}return}function Lb(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0,tA=0,cA=0,bA=0,sA=0,wA=0,uA=0;wA=k;k=k+48|0;cA=wA+28|0;fA=wA+32|0;bA=wA+24|0;_=wA;a[cA>>2]=f;q=a[A+352>>2]|0;if((a[A+144>>2]|0)==(i|0)){aA=A+284|0;K=A+288|0}else{K=a[A+296>>2]|0;aA=K;K=K+4|0}a[aA>>2]=f;v=i+4|0;nA=A+80|0;g=A+476|0;E=i+44|0;C=i+64|0;I=q+80|0;Z=q+96|0;G=q+92|0;Q=q+129|0;m=A+112|0;L=A+116|0;W=A+428|0;y=A+424|0;z=A+304|0;Y=A+120|0;lA=A+4|0;D=q+130|0;$=A+60|0;M=A+364|0;F=A+12|0;V=A+360|0;J=i+28|0;tA=A+308|0;AA=i+56|0;N=A+16|0;X=A+52|0;R=A+412|0;H=A+388|0;p=A+56|0;U=A+232|0;x=A+233|0;T=A+468|0;j=A+104|0;S=A+372|0;P=i+40|0;O=A+72|0;eA=i+68|0;iA=A+44|0;rA=A+48|0;A:while(1){B=a[cA>>2]|0;a[fA>>2]=B;B=y5[a[v>>2]&127](i,B,n,fA)|0;f=a[fA>>2]|0;a[K>>2]=f;b=f;e:do{switch(B|0){case-3:{sA=6;break A}case-4:{sA=15;break A}case 0:{sA=20;break A}case-1:{sA=21;break A}case-2:{sA=23;break A}case 12:{f=17;break A}case-5:{sA=134;break A}case 9:{B=a[C>>2]|0;B=(W5[a[E>>2]&63](i,(a[cA>>2]|0)+B|0,b+(0-B)|0)|0)&255;r[bA>>0]=B;do{if(B<<24>>24){f=a[$>>2]|0;if(f|0){J5[f&127](a[lA>>2]|0,bA,1);break}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{c=a[C>>2]|0;c=ab(I,i,(a[cA>>2]|0)+c|0,(a[fA>>2]|0)+(0-c)|0)|0;if(!c){f=1;sA=56;break A}b=lb(A,q,c,0)|0;a[G>>2]=a[Z>>2];if((r[Q>>0]|0)!=0?(r[D>>0]|0)==0:0){if(!b){f=a[Y>>2]|0;if(f|0){J5[f&127](a[lA>>2]|0,c,0);break}if(!(a[nA>>2]|0))break;Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}}else{if(!b){f=11;sA=56;break A}if(!(r[b+34>>0]|0)){f=24;sA=56;break A}}f=b+32|0;if(r[f>>0]|0){f=12;sA=56;break A}if(a[b+28>>2]|0){f=15;sA=56;break A}if(!(a[b+4>>2]|0)){if(!(a[m>>2]|0)){if(!(a[nA>>2]|0))break;Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}r[f>>0]=1;c=yb(A)|0;r[f>>0]=0;if(!c){f=1;sA=56;break A}if(!(z5[a[m>>2]&127](a[L>>2]|0,c,a[b+20>>2]|0,a[b+16>>2]|0,a[b+24>>2]|0)|0)){f=21;sA=56;break A}a[y>>2]=a[W>>2];break}if(r[z>>0]|0){f=Cb(A,b,0)|0;if(!f)break;else{sA=58;break A}}f=a[Y>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else J5[f&127](a[lA>>2]|0,a[b>>2]|0,0);break e}}while(0);break}case 1:case 2:{f=a[M>>2]|0;if(!f){f=Q5[a[F>>2]&63](48)|0;if(!f){f=1;sA=75;break A}c=Q5[a[F>>2]&63](32)|0;a[f+36>>2]=c;if(!c){sA=63;break A}a[f+40>>2]=c+32}else a[M>>2]=a[f>>2];u=f+44|0;a[u>>2]=0;a[f>>2]=a[V>>2];a[V>>2]=f;B=f+12|0;a[f+16>>2]=0;a[f+20>>2]=0;d=(a[cA>>2]|0)+(a[C>>2]|0)|0;h=f+4|0;a[h>>2]=d;o=f+8|0;a[o>>2]=m5[a[J>>2]&127](i,d)|0;a[tA>>2]=(a[tA>>2]|0)+1;h=a[h>>2]|0;o=h+(a[o>>2]|0)|0;a[_>>2]=h;h=f+36|0;a[bA>>2]=a[h>>2];d=f+40|0;c=a[d>>2]|0;while(1){uA=z5[a[AA>>2]&127](i,_,o,bA,c+-1|0)|0;c=a[bA>>2]|0;s=a[h>>2]|0;b=s;w=c-b|0;if((uA|0)==1?1:(a[_>>2]|0)>>>0>=o>>>0)break;b=(a[d>>2]|0)-b<<1;c=m5[a[N>>2]&127](s,b)|0;if(!c){sA=69;break A}a[h>>2]=c;uA=c+b|0;a[d>>2]=uA;a[bA>>2]=c+w;c=uA}a[f+24>>2]=w;a[B>>2]=b;r[c>>0]=0;f=zb(A,i,a[cA>>2]|0,B,u)|0;if(f|0){sA=75;break A}f=a[X>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else J5[f&127](a[lA>>2]|0,a[B>>2]|0,a[H>>2]|0);nb(R);break}case 3:case 4:{uA=(a[cA>>2]|0)+(a[C>>2]|0)|0;a[bA>>2]=0;uA=ab(R,i,uA,uA+(m5[a[J>>2]&127](i,uA)|0)|0)|0;a[_>>2]=uA;if(!uA){f=1;sA=89;break A}a[W>>2]=a[y>>2];f=zb(A,i,a[cA>>2]|0,_,bA)|0;if(f|0){sA=79;break A}a[W>>2]=a[y>>2];f=a[X>>2]|0;if(!f)c=1;else{J5[f&127](a[lA>>2]|0,a[_>>2]|0,a[H>>2]|0);c=0}f=a[p>>2]|0;if(!f){if(c|0?a[nA>>2]|0:0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{if(a[X>>2]|0){a[aA>>2]=a[K>>2];f=a[p>>2]|0}V5[f&63](a[lA>>2]|0,a[_>>2]|0)}nb(R);Yb(A,a[bA>>2]|0);if((a[tA>>2]|0)==0?(a[g>>2]&-2|0)!=2:0){sA=92;break A}break}case 5:{if((a[tA>>2]|0)==(e|0)){f=13;break A}w=a[V>>2]|0;a[V>>2]=a[w>>2];a[w>>2]=a[M>>2];a[M>>2]=w;f=(a[cA>>2]|0)+(a[C>>2]<<1)|0;c=m5[a[J>>2]&127](i,f)|0;if((c|0)!=(a[w+8>>2]|0)){sA=96;break A}if(F4(a[w+4>>2]|0,f,c)|0){sA=96;break A}a[tA>>2]=(a[tA>>2]|0)+-1;f=a[p>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{c=a[w+16>>2]|0;s=w+12|0;if((c|0)!=0&(r[U>>0]|0)!=0){f=(a[s>>2]|0)+(a[w+28>>2]|0)|0;while(1){b=r[c>>0]|0;if(!(b<<24>>24))break;r[f>>0]=b;f=f+1|0;c=c+1|0}c=a[w+20>>2]|0;i:do{if((c|0)!=0&(r[x>>0]|0)!=0){r[f>>0]=r[T>>0]|0;while(1){f=f+1|0;b=r[c>>0]|0;if(!(b<<24>>24))break i;r[f>>0]=b;c=c+1|0}}}while(0);r[f>>0]=0;f=a[p>>2]|0}V5[f&63](a[lA>>2]|0,a[s>>2]|0)}b=w+44|0;while(1){s=a[b>>2]|0;if(!s)break;f=a[j>>2]|0;if(!f){f=s;c=s}else{V5[f&63](a[lA>>2]|0,a[a[s>>2]>>2]|0);f=s;c=a[b>>2]|0}a[b>>2]=a[c+4>>2];a[s+4>>2]=a[S>>2];a[S>>2]=s;a[(a[f>>2]|0)+4>>2]=a[s+8>>2]}if(!(a[tA>>2]|0)){sA=117;break A}break}case 10:{f=m5[a[P>>2]&127](i,a[cA>>2]|0)|0;if((f|0)<0){f=14;break A}c=a[$>>2]|0;if(c|0){B=a[lA>>2]|0;uA=ds(f,bA)|0;J5[c&127](B,bA,uA);break e}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}case 7:{f=a[$>>2]|0;if(f|0){r[bA>>0]=10;J5[f&127](a[lA>>2]|0,bA,1);break e}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b);break}case 8:{f=a[O>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b)}else F5[f&127](a[lA>>2]|0);f=Mb(A,i,fA,n,l,t)|0;if(f|0)break A;if(!(a[fA>>2]|0)){sA=133;break A}break}case 6:{c=a[$>>2]|0;if(!c){if(!(a[nA>>2]|0))break e;Bb(A,i,a[cA>>2]|0,b);break e}if(!(r[eA>>0]|0))f=b;else{uA=a[cA>>2]|0;J5[c&127](a[lA>>2]|0,uA,f-uA|0);break e}while(1){a[bA>>2]=a[iA>>2];uA=z5[a[AA>>2]&127](i,cA,f,bA,a[rA>>2]|0)|0;a[K>>2]=a[cA>>2];B=a[iA>>2]|0;J5[c&127](a[lA>>2]|0,B,(a[bA>>2]|0)-B|0);if(uA>>>0<2)break;a[aA>>2]=a[cA>>2];f=a[fA>>2]|0}break}case 11:{if(!(Zb(A,i,a[cA>>2]|0,b)|0)){f=1;break A}break}case 13:{if(!(Gb(A,i,a[cA>>2]|0,b)|0)){f=1;break A}break}default:if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b)}}while(0);uA=a[fA>>2]|0;a[cA>>2]=uA;a[aA>>2]=uA;switch(a[g>>2]|0){case 2:{f=35;break A}case 3:{sA=160;break A}default:{}}}switch(sA|0){case 6:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}a[K>>2]=n;f=a[$>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,n)}else{r[bA>>0]=10;J5[f&127](a[lA>>2]|0,bA,1)}if(e)if((a[tA>>2]|0)==(e|0)){a[l>>2]=n;f=0}else f=13;else f=3;break}case 15:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}if((e|0)>0)if((a[tA>>2]|0)==(e|0)){a[l>>2]=a[cA>>2];f=0}else f=13;else f=3;break}case 20:{a[aA>>2]=f;f=4;break}case 21:{if(!(t<<24>>24))f=5;else{a[l>>2]=a[cA>>2];f=0}break}case 23:{if(!(t<<24>>24))f=6;else{a[l>>2]=a[cA>>2];f=0}break}case 56:break;case 58:break;case 63:{F5[a[A+20>>2]&127](f);f=1;sA=75;break}case 69:{f=1;sA=75;break}case 79:{Yb(A,a[bA>>2]|0);sA=89;break}case 92:{f=Db(A,a[fA>>2]|0,n,l)|0;break}case 96:{a[aA>>2]=f;f=7;break}case 117:{f=Db(A,a[fA>>2]|0,n,l)|0;break}case 133:{a[A+276>>2]=61;f=0;break}case 134:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}f=a[$>>2]|0;do{if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,n)}else if(!(r[eA>>0]|0)){a[bA>>2]=a[iA>>2];z5[a[AA>>2]&127](i,cA,n,bA,a[rA>>2]|0)|0;uA=a[iA>>2]|0;J5[a[$>>2]&127](a[lA>>2]|0,uA,(a[bA>>2]|0)-uA|0);break}else{uA=a[cA>>2]|0;J5[f&127](a[lA>>2]|0,uA,n-uA|0);break}}while(0);if(!e){a[aA>>2]=n;f=3;break}if((a[tA>>2]|0)==(e|0)){a[l>>2]=n;f=0;break}else{a[aA>>2]=n;f=13;break}}case 160:{a[l>>2]=a[fA>>2];f=0;break}}k=wA;return f|0}function Wb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;h=k;k=k+16|0;o=h;b=A+296|0;s=a[b>>2]|0;do{if(s){w=a[s+12>>2]|0;l=w+4|0;c=a[l>>2]|0;t=w+12|0;n=c+(a[t>>2]|0)|0;c=c+(a[w+8>>2]|0)|0;a[o>>2]=n;u=w+33|0;if(!(r[u>>0]|0))n=Lb(A,a[s+16>>2]|0,a[A+224>>2]|0,n,c,o,0)|0;else{B=A+224|0;d=a[B>>2]|0;d=y5[a[d>>2]&127](d,n,c,o)|0;n=rb(A,a[B>>2]|0,n,c,d,a[o>>2]|0,o,0)|0}if(!n){n=a[o>>2]|0;if((c|0)!=(n|0)?(a[A+476>>2]|0)==3:0){a[t>>2]=n-(a[l>>2]|0);n=0;break}r[w+32>>0]=0;B=s+8|0;a[b>>2]=a[B>>2];n=A+300|0;a[B>>2]=a[n>>2];a[n>>2]=s;n=A+276|0;if(!(r[u>>0]|0)){a[n>>2]=58;n=Lb(A,(a[A+472>>2]|0)!=0&1,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;break}else{a[n>>2]=57;B=A+144|0;n=a[B>>2]|0;n=y5[a[n>>2]&127](n,e,i,o)|0;n=rb(A,a[B>>2]|0,e,i,n,a[o>>2]|0,f,(r[A+480>>0]|0)==0&1)|0;break}}}else n=23}while(0);k=h;return n|0}function yb(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;w=h;s=a[A+352>>2]|0;l=s+156|0;u=A+412|0;o=A+424|0;A:do{if(!(a[l>>2]|0)){e=0;t=A+420|0;b=A+468|0;c=12}else{e=a[o>>2]|0;t=A+420|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=61;n=A+468|0;i=(a[(a[l>>2]|0)+20>>2]|0)+(((r[n>>0]|0)!=0)<<31>>31)|0;f=0;while(1){if((f|0)>=(i|0)){e=1;b=n;c=12;break A}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}b=r[(a[(a[l>>2]|0)+16>>2]|0)+f>>0]|0;a[o>>2]=e+1;r[e>>0]=b;f=f+1|0}}}while(0);A:do{if((c|0)==12){Kc(w,s+60|0);e:while(1){do{i=_c(w)|0;if(!i)break e;l=i+4|0}while(!(a[l>>2]|0));if(e<<24>>24){e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=12}n=a[i>>2]|0;while(1){i=r[n>>0]|0;e=a[o>>2]|0;f=(e|0)==(a[t>>2]|0);if(!(i<<24>>24))break;if(f){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0;i=r[n>>0]|0}a[o>>2]=e+1;r[e>>0]=i;n=n+1|0}if(f){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=61;f=(a[(a[l>>2]|0)+20>>2]|0)+(((r[b>>0]|0)!=0)<<31>>31)|0;i=0;while(1){if((i|0)>=(f|0)){e=1;continue e}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}c=r[(a[(a[l>>2]|0)+16>>2]|0)+i>>0]|0;a[o>>2]=e+1;r[e>>0]=c;i=i+1|0}}Kc(w,s);e:while(1){do{i=_c(w)|0;if(!i)break e}while(!(r[i+32>>0]|0));if(e<<24>>24){e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=12}f=a[i>>2]|0;while(1){i=r[f>>0]|0;if(!(i<<24>>24)){e=1;continue e}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0;i=r[f>>0]|0}a[o>>2]=e+1;r[e>>0]=i;f=f+1|0}}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=0;e=a[A+428>>2]|0}}while(0);k=h;return e|0}function zb(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0;R=k;k=k+80|0;V=R+16|0;J=R;N=a[A+352>>2]|0;b=N+20|0;t=lb(A,b,a[f>>2]|0,0)|0;if(!t){t=Nb(N+80|0,a[f>>2]|0)|0;if((t|0)!=0?(c=lb(A,b,t,24)|0,(c|0)!=0):0)if((r[A+232>>0]|0)!=0?(Xb(A,c)|0)==0:0)t=1;else Q=6;else t=1}else{c=t;Q=6}A:do{if((Q|0)==6){I=a[c+12>>2]|0;b=e+36|0;s=A+376|0;v=A+388|0;g=y5[a[b>>2]&127](e,i,a[s>>2]|0,a[v>>2]|0)|0;t=g+I|0;w=a[s>>2]|0;if((t|0)>(w|0)){t=t+16|0;a[s>>2]=t;t=m5[a[A+16>>2]&127](a[v>>2]|0,t<<4)|0;if(!t){a[s>>2]=w;t=1;break}a[v>>2]=t;if((g|0)>(w|0))y5[a[b>>2]&127](e,i,g,t)|0}F=a[v>>2]|0;d=e+28|0;D=A+412|0;M=A+428|0;C=c+20|0;h=A+424|0;B=0;o=0;b=0;while(1){if((o|0)>=(g|0))break;u=a[(a[v>>2]|0)+(o<<4)>>2]|0;u=sb(A,e,u,u+(m5[a[d>>2]&127](e,u)|0)|0)|0;if(!u){t=1;break A}t=(a[u>>2]|0)+-1|0;if(r[t>>0]|0){Q=15;break}r[t>>0]=1;i=B+1|0;a[F+(B<<2)>>2]=a[u>>2];w=a[v>>2]|0;if(r[w+(o<<4)+12>>0]|0){Y=ab(D,e,a[w+(o<<4)+4>>2]|0,a[w+(o<<4)+8>>2]|0)|0;a[F+(i<<2)>>2]=Y;if(!Y){t=1;break A}}else{e:do{if(!(r[u+8>>0]|0))t=1;else{t=0;while(1){if((t|0)>=(I|0)){t=1;break e}s=a[C>>2]|0;if((u|0)==(a[s+(t*12|0)>>2]|0))break;t=t+1|0}t=r[s+(t*12|0)+4>>0]|0}}while(0);t=hb(A,e,t,a[w+(o<<4)+4>>2]|0,a[w+(o<<4)+8>>2]|0,D)|0;if(t|0)break A;a[F+(i<<2)>>2]=a[M>>2]}a[M>>2]=a[h>>2];t=a[u+4>>2]|0;do{if(t)if(r[u+9>>0]|0){t=Rb(A,t,u,a[F+(i<<2)>>2]|0,l)|0;if(!t){t=B;break}else break A}else{r[(a[u>>2]|0)+-1>>0]=2;b=b+1|0;t=B+2|0;break}else t=B+2|0}while(0);B=t;o=o+1|0}if((Q|0)==15){if((a[A+144>>2]|0)!=(e|0)){t=8;break}a[A+284>>2]=a[(a[v>>2]|0)+(o<<4)>>2];t=8;break}a[A+380>>2]=B;t=a[c+8>>2]|0;e:do{if((t|0)!=0?(E=a[t>>2]|0,(r[E+-1>>0]|0)!=0):0){t=0;while(1){if((t|0)>=(B|0)){i=0;o=b;Y=B;break e}if((a[F+(t<<2)>>2]|0)==(E|0)){Q=37;break e}t=t+2|0}}else{t=-1;Q=37}}while(0);if((Q|0)==37){a[A+384>>2]=t;i=0;o=b;Y=B}while(1){if((i|0)>=(I|0))break;t=a[C>>2]|0;w=t+(i*12|0)|0;b=a[w>>2]|0;s=(a[b>>2]|0)+-1|0;e:do{if((r[s>>0]|0)==0?(Z=t+(i*12|0)+8|0,G=a[Z>>2]|0,(G|0)!=0):0){t=a[b+4>>2]|0;do{if(t)if(r[b+9>>0]|0){t=Rb(A,t,b,G,l)|0;if(!t){t=o;b=Y;break e}else break A}else{r[s>>0]=2;t=o+1|0;break}else{r[s>>0]=1;t=o}}while(0);a[F+(Y<<2)>>2]=a[a[w>>2]>>2];a[F+(Y+1<<2)>>2]=a[Z>>2];b=Y+2|0}else{t=o;b=Y}}while(0);i=i+1|0;o=t;Y=b}a[F+(Y<<2)>>2]=0;e:do{if(!o)t=0;else{u=A+396|0;w=a[u>>2]|0;z=A+400|0;i=r[z>>0]|0;t=i&255;do{if(!(o<<1>>t)){t=1<>24}while((o>>(y&255)|0)!=0);t=(t&255)>3?t:3;r[z>>0]=t;t=t&255;s=A+392|0;b=m5[a[A+16>>2]&127](a[s>>2]|0,12<>0]=i;t=1;break A}else{a[s>>2]=b;b=1<>2]|0)+(y*12|0)>>2]=-1;t=y}}}while(0);y=t+-1|0;a[u>>2]=y;C=N+40|0;I=A+424|0;Z=A+420|0;G=b+-1|0;Q=0-b|0;m=G>>>2;L=A+233|0;W=A+468|0;t=0;E=o;i:while(1){while(1){if((t|0)>=(Y|0))break e;e=F+(t<<2)|0;w=a[e>>2]|0;i=w+-1|0;if((r[i>>0]|0)==2)break;r[i>>0]=0;t=t+2|0}Hb(A,J);pb(V,J);r[i>>0]=0;i=lb(A,C,w,0)|0;if(!i){t=1;break}i=a[i+4>>2]|0;if(!i){t=1;break}g=a[i+4>>2]|0;if(!g){t=27;break}h=g+20|0;d=g+16|0;o=0;while(1){i=a[h>>2]|0;u=a[d>>2]|0;if((o|0)>=(i|0))break;u=r[u+o>>0]|0;i=a[I>>2]|0;if((i|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}i=a[I>>2]|0}a[I>>2]=i+1;r[i>>0]=u;o=o+1|0}Ub(V,u,i);do{v=w;w=w+1|0}while((r[v>>0]|0)!=58);Ub(V,w,xb(w)|0);while(1){i=a[I>>2]|0;if((i|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}i=a[I>>2]|0}v=r[w>>0]|0;a[I>>2]=i+1;r[i>>0]=v;if(!(r[w>>0]|0))break;else w=w+1|0}v=Tb(V)|0;h=a[s>>2]|0;d=v&Q;w=0;B=G&v;while(1){if((a[h+(B*12|0)>>2]|0)!=(y|0))break;if((a[h+(B*12|0)+4>>2]|0)==(v|0)){i=a[h+(B*12|0)+8>>2]|0;u=a[M>>2]|0;while(1){H=r[u>>0]|0;o=H<<24>>24==0;if(o|H<<24>>24!=(r[i>>0]|0))break;i=i+1|0;u=u+1|0}if(o){t=8;break i}}if(!(w<<24>>24))w=(d>>>((n[z>>0]|0)+-1|0)&m|1)&255;H=w&255;B=B+((B|0)<(H|0)?b:0)-H|0}if(r[L>>0]|0){r[(a[I>>2]|0)+-1>>0]=r[W>>0]|0;i=a[a[g>>2]>>2]|0;while(1){w=a[I>>2]|0;if((w|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}w=a[I>>2]|0}H=r[i>>0]|0;a[I>>2]=w+1;r[w>>0]=H;if(!(r[i>>0]|0))break;else i=i+1|0}}H=a[M>>2]|0;a[M>>2]=a[I>>2];a[e>>2]=H;a[(a[s>>2]|0)+(B*12|0)>>2]=y;a[(a[s>>2]|0)+(B*12|0)+4>>2]=v;a[(a[s>>2]|0)+(B*12|0)+8>>2]=H;E=E+-1|0;t=t+2|0;if(!E)break e}break A}}while(0);while(1){if((t|0)>=(Y|0)){t=l;break}r[(a[F+(t<<2)>>2]|0)+-1>>0]=0;t=t+2|0}while(1){t=a[t>>2]|0;if(!t)break;r[(a[a[t+12>>2]>>2]|0)+-1>>0]=0;t=t+4|0}if(!(r[A+232>>0]|0))t=0;else{t=a[c+4>>2]|0;if(!t){t=a[N+156>>2]|0;if(!t){t=0;break}b=a[f>>2]|0}else{t=a[t+4>>2]|0;if(!t){t=27;break}c=a[f>>2]|0;while(1){b=c+1|0;if((r[c>>0]|0)==58)break;else c=b}}if((r[A+233>>0]|0)!=0?(X=a[a[t>>2]>>2]|0,(X|0)!=0):0){c=0;while(1){s=c+1|0;if(!(r[X+c>>0]|0))break;else c=s}}else s=0;a[f+4>>2]=b;o=t+20|0;a[f+16>>2]=a[o>>2];a[f+8>>2]=a[a[t>>2]>>2];a[f+20>>2]=s;h=0;while(1){d=h+1|0;if(!(r[b+h>>0]|0))break;else h=d}c=a[o>>2]|0;w=d+s+c|0;i=t+24|0;if((w|0)>(a[i>>2]|0)){c=w+24|0;u=Q5[a[A+12>>2]&63](c)|0;if(!u){t=1;break}a[i>>2]=c;i=t+16|0;y6(u|0,a[i>>2]|0,a[o>>2]|0)|0;c=A+360|0;while(1){c=a[c>>2]|0;if(!c)break;w=c+12|0;if((a[w>>2]|0)==(a[i>>2]|0))a[w>>2]=u}F5[a[A+20>>2]&127](a[i>>2]|0);a[i>>2]=u;w=u;c=a[o>>2]|0}else{w=t+16|0;i=w;w=a[w>>2]|0}c=w+c|0;y6(c|0,b|0,d|0)|0;if(s|0){H=c+h|0;r[H>>0]=r[A+468>>0]|0;y6(H+1|0,a[a[t>>2]>>2]|0,s|0)|0}a[f>>2]=a[i>>2];t=0}}}while(0);k=R;return t|0}function Yb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;r=A+104|0;f=A+372|0;i=A+4|0;while(1){if(!e)break;A=a[r>>2]|0;if(!A)A=e;else{V5[A&63](a[i>>2]|0,a[a[e>>2]>>2]|0);A=e}l=e+4|0;n=a[l>>2]|0;a[l>>2]=a[f>>2];a[f>>2]=e;a[(a[A>>2]|0)+4>>2]=a[e+8>>2];e=n}return}function Db(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;h=k;k=k+16|0;c=h;a[A+276>>2]=62;b=A+284|0;a[b>>2]=e;s=A+144|0;w=A+288|0;u=A+80|0;t=A+476|0;n=e;A:while(1){a[c>>2]=0;d=a[s>>2]|0;d=y5[a[d>>2]&127](d,n,i,c)|0;e=a[c>>2]|0;a[w>>2]=e;l=e;switch(d|0){case-15:{o=3;break A}case-4:{o=7;break A}case 0:{o=12;break A}case-1:{o=13;break A}case-2:{o=15;break A}case 15:{if(a[u>>2]|0)Bb(A,a[s>>2]|0,n,l);break}case 11:{if(!(Zb(A,a[s>>2]|0,n,l)|0)){e=1;break A}break}case 13:{if(!(Gb(A,a[s>>2]|0,n,l)|0)){e=1;break A}break}default:{e=9;break A}}e=a[c>>2]|0;a[b>>2]=e;switch(a[t>>2]|0){case 2:{e=35;break A}case 3:{o=18;break A}default:{}}n=e}do{if((o|0)==3){if(a[u>>2]|0){Bb(A,a[s>>2]|0,n,l);if((a[t>>2]|0)==2){e=35;break}e=a[c>>2]|0}a[f>>2]=e;e=0}else if((o|0)==7){a[f>>2]=n;e=0}else if((o|0)==12){a[b>>2]=e;e=4}else if((o|0)==13)if(!(r[A+480>>0]|0)){a[f>>2]=n;e=0}else e=5;else if((o|0)==15)if(!(r[A+480>>0]|0)){a[f>>2]=n;e=0}else e=6;else if((o|0)==18){a[f>>2]=e;e=0}}while(0);k=h;return e|0}function Mb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;m=k;k=k+16|0;Z=m+8|0;G=m+4|0;I=m;t=a[i>>2]|0;a[Z>>2]=t;if((a[A+144>>2]|0)==(e|0)){B=A+284|0;a[B>>2]=t;v=A+288|0}else{v=a[A+296>>2]|0;B=v;v=v+4|0}a[B>>2]=t;a[i>>2]=0;b=e+8|0;s=A+60|0;g=A+80|0;E=A+4|0;C=A+476|0;w=e+68|0;u=A+44|0;o=e+56|0;h=A+48|0;A:while(1){c=y5[a[b>>2]&127](e,a[Z>>2]|0,f,G)|0;t=a[G>>2]|0;a[v>>2]=t;d=t;e:do{switch(c|0){case 40:{Q=6;break A}case 0:{Q=23;break A}case-2:{Q=24;break A}case-4:case-1:{Q=26;break A}case 7:{t=a[s>>2]|0;if(t|0){r[I>>0]=10;J5[t&127](a[E>>2]|0,I,1);break e}if(a[g>>2]|0)Bb(A,e,a[Z>>2]|0,d);break}case 6:{c=a[s>>2]|0;if(!c){if(!(a[g>>2]|0))break e;Bb(A,e,a[Z>>2]|0,d);break e}if(!(r[w>>0]|0))t=d;else{d=a[Z>>2]|0;J5[c&127](a[E>>2]|0,d,t-d|0);break e}while(1){a[I>>2]=a[u>>2];d=z5[a[o>>2]&127](e,Z,t,I,a[h>>2]|0)|0;a[v>>2]=a[G>>2];t=a[u>>2]|0;J5[c&127](a[E>>2]|0,t,(a[I>>2]|0)-t|0);if(d>>>0<2)break;a[B>>2]=a[Z>>2];t=a[G>>2]|0}break}default:{Q=28;break A}}}while(0);d=a[G>>2]|0;a[Z>>2]=d;a[B>>2]=d;switch(a[C>>2]|0){case 3:{Q=30;break A}case 2:{t=35;break A}default:{}}}if((Q|0)==6){t=a[A+76>>2]|0;if(!t){if(a[g>>2]|0)Bb(A,e,a[Z>>2]|0,d)}else F5[t&127](a[E>>2]|0);t=a[G>>2]|0;a[i>>2]=t;a[n>>2]=t;t=(a[C>>2]|0)==2?35:0}else if((Q|0)==23){a[B>>2]=t;t=4}else if((Q|0)==24)if(!(l<<24>>24))t=6;else{a[n>>2]=a[Z>>2];t=0}else if((Q|0)==26)if(!(l<<24>>24))t=20;else{a[n>>2]=a[Z>>2];t=0}else if((Q|0)==28){a[B>>2]=t;t=23}else if((Q|0)==30){a[n>>2]=a[G>>2];t=0}k=m;return t|0}function Fb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;a[n>>2]=e;e=Mb(A,a[A+144>>2]|0,n,i,f,(r[A+480>>0]|0)==0&1)|0;n=a[n>>2]|0;do{if(!((e|0)!=0|(n|0)==0)){e=A+276|0;if(!(a[A+472>>2]|0)){a[e>>2]=58;e=cb(A,n,i,f)|0;break}else{a[e>>2]=63;e=Vb(A,n,i,f)|0;break}}}while(0);k=l;return e|0}function Vb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;e=Lb(A,1,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;if((e|0)==0?(Jb(A)|0)<<24>>24==0:0)e=1;return e|0}function Jb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=A+16|0;A=A+360|0;while(1){A=a[A>>2]|0;if(!A){A=1;break}t=(a[A+24>>2]|0)+1|0;c=A+36|0;f=a[c>>2]|0;r=f+t|0;s=A+4|0;i=a[s>>2]|0;if((i|0)==(r|0)){A=1;break}b=A+8|0;e=a[b>>2]|0;n=e+t|0;l=A+40|0;if((n|0)>((a[l>>2]|0)-f|0)){r=m5[a[w>>2]&127](f,n)|0;if(!r){A=0;break}e=A+12|0;f=a[c>>2]|0;if((a[e>>2]|0)==(f|0))a[e>>2]=r;e=A+16|0;i=a[e>>2]|0;if(i|0)a[e>>2]=r+(i-f);a[c>>2]=r;a[l>>2]=r+n;r=r+t|0;i=a[s>>2]|0;e=a[b>>2]|0}y6(r|0,i|0,e|0)|0;a[s>>2]=r}return A|0}function Nb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=A+12|0;n=A+8|0;while(1){i=a[f>>2]|0;if((i|0)==(a[n>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}i=a[f>>2]|0}t=r[e>>0]|0;a[f>>2]=i+1;r[i>>0]=t;if(!(r[e>>0]|0)){l=6;break}else e=e+1|0}if((l|0)==6){t=A+16|0;e=a[t>>2]|0;a[t>>2]=a[f>>2]}return e|0}function Xb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=a[A+352>>2]|0;c=u+80|0;b=u+92|0;s=u+88|0;w=u+60|0;u=u+96|0;t=e+4|0;l=a[e>>2]|0;A:while(1){switch(r[l>>0]|0){case 0:{i=1;break A}case 58:{n=a[e>>2]|0;while(1){i=a[b>>2]|0;f=(i|0)==(a[s>>2]|0);if((n|0)==(l|0))break;if(f){if(!((ob(c)|0)<<24>>24)){i=0;break A}i=a[b>>2]|0}f=r[n>>0]|0;a[b>>2]=i+1;r[i>>0]=f;n=n+1|0}if(f){if(!((ob(c)|0)<<24>>24)){i=0;break A}i=a[b>>2]|0}a[b>>2]=i+1;r[i>>0]=0;i=lb(A,w,a[u>>2]|0,8)|0;if(!i){i=0;break A}f=a[u>>2]|0;if((a[i>>2]|0)==(f|0))a[u>>2]=a[b>>2];else a[b>>2]=f;a[t>>2]=i;break}default:{}}l=l+1|0}return i|0}function Rb(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;b=r[f>>0]|0;t=a[e>>2]|0;l=(t|0)==0;do{if(!(b<<24>>24))if(l){w=0;c=11}else l=28;else if(((!l?(r[t>>0]|0)==120:0)?(r[t+1>>0]|0)==109:0)?(r[t+2>>0]|0)==108:0){l=r[t+3>>0]|0;if((l<<24>>24==110?(r[t+4>>0]|0)==115:0)?(r[t+5>>0]|0)==0:0){l=39;break}w=l<<24>>24==0&1;c=11}else{w=0;c=11}}while(0);A:do{if((c|0)==11){s=w<<24>>24!=0;l=1;t=1;u=0;while(1){c=t<<24>>24!=0;if(!(b<<24>>24))break;do{if(c){if((u|0)<=36?b<<24>>24==(r[142257+u>>0]|0):0)break;t=0}else t=0}while(0);do{if(!(s|l<<24>>24==0)){if((u|0)<=29?b<<24>>24==(r[142294+u>>0]|0):0)break;l=0}}while(0);b=u+1|0;u=b;b=r[f+b>>0]|0}if((w&255|0)!=(c&(u|0)==36&1|0)){l=s?38:40;break}if(!(l<<24>>24!=0&(u|0)==29)){k=A+468|0;u=u+((r[k>>0]|0)!=0&1)|0;l=A+372|0;c=a[l>>2]|0;do{if(!c){l=A+12|0;t=Q5[a[l>>2]&63](28)|0;if(!t){l=1;break A}c=u+24|0;w=Q5[a[l>>2]&63](c)|0;a[t+16>>2]=w;if(!w){F5[a[A+20>>2]&127](t);l=1;break A}else{a[t+24>>2]=c;c=t;break}}else{t=c+24|0;if((u|0)>(a[t>>2]|0)){b=c+16|0;s=u+24|0;w=m5[a[A+16>>2]&127](a[b>>2]|0,s)|0;if(!w){l=1;break A}a[b>>2]=w;a[t>>2]=s}a[l>>2]=a[c+4>>2]}}while(0);a[c+20>>2]=u;t=c+16|0;y6(a[t>>2]|0,f|0,u|0)|0;l=r[k>>0]|0;if(l<<24>>24)r[(a[t>>2]|0)+(u+-1)>>0]=l;a[c>>2]=e;a[c+12>>2]=i;t=e+4|0;a[c+8>>2]=a[t>>2];if((r[f>>0]|0)==0?((a[A+352>>2]|0)+152|0)==(e|0):0)l=0;else l=c;a[t>>2]=l;a[c+4>>2]=a[n>>2];a[n>>2]=c;if((i|0)!=0?(o=a[A+100>>2]|0,(o|0)!=0):0){J5[o&127](a[A+4>>2]|0,a[e>>2]|0,a[t>>2]|0?f:0);l=0}else l=0}else l=40}}while(0);return l|0}function Hb(A,e){A=A|0;e=e|0;var i=0;i=e;a[i>>2]=0;a[i+4>>2]=0;e=e+8|0;a[e>>2]=Sb(A)|0;a[e+4>>2]=0;return}function pb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=e;n=a[i+4>>2]^1936682341;r=A;a[r>>2]=a[i>>2]^1886610805;a[r+4>>2]=n;r=e+8|0;n=r;i=a[n+4>>2]^1685025377;f=A+8|0;a[f>>2]=a[n>>2]^1852075885;a[f+4>>2]=i;f=e;e=a[f+4>>2]^1819895653;i=A+16|0;a[i>>2]=a[f>>2]^1852142177;a[i+4>>2]=e;i=a[r+4>>2]^1952801890;e=A+24|0;a[e>>2]=a[r>>2]^2037671283;a[e+4>>2]=i;a[A+40>>2]=A+32;e=A+48|0;a[e>>2]=0;a[e+4>>2]=0;return}function Ub(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;u=e+i|0;k=A+40|0;o=A+40|0;h=A+32|0;d=A+33|0;B=A+34|0;v=A+35|0;l=A+36|0;t=A+37|0;c=A+38|0;b=A+39|0;s=A+24|0;w=A+48|0;i=e;do{while(1){f=a[k>>2]|0;if(i>>>0>=u>>>0){e=0;break}if(f>>>0>=o>>>0){e=1;break}e=r[i>>0]|0;a[k>>2]=f+1;r[f>>0]=e;i=i+1|0}if(f>>>0>>0)break;G=n[h>>0]|0;Q=G6(n[d>>0]|0|0,0,8)|0;f=L;Z=G6(n[B>>0]|0|0,0,16)|0;f=f|L;C=G6(n[v>>0]|0|0,0,24)|0;f=f|L|(n[l>>0]|0);g=G6(n[t>>0]|0|0,0,40)|0;f=f|L;I=G6(n[c>>0]|0|0,0,48)|0;f=f|L;E=G6(n[b>>0]|0|0,0,56)|0;E=Q|G|Z|C|g|I|E;f=f|L;I=s;g=f^a[I+4>>2];C=s;a[C>>2]=E^a[I>>2];a[C+4>>2]=g;jb(A,2);C=A;f=a[C+4>>2]^f;g=A;a[g>>2]=a[C>>2]^E;a[g+4>>2]=f;a[k>>2]=h;g=w;g=d6(a[g>>2]|0,a[g+4>>2]|0,8,0)|0;f=w;a[f>>2]=g;a[f+4>>2]=L}while(e);return}function xb(A){A=A|0;var e=0;e=0;while(1){if(!(r[A>>0]|0))break;e=e+1|0;A=A+1|0}return e|0}function Tb(A){A=A|0;var e=0,i=0,r=0,f=0,l=0,t=0;r=A+32|0;l=(a[A+40>>2]|0)-r|0;i=A+48|0;i=d6(a[i>>2]|0,a[i+4>>2]|0,l|0,0)|0;i=G6(i|0,L|0,56)|0;e=L;switch(l<<24>>24|0){case 7:{i=G6(n[A+38>>0]|0|0,0,48)|0|i;e=L|e;f=3;break}case 6:{f=3;break}case 5:{f=4;break}case 4:{f=5;break}case 3:{f=6;break}case 2:{f=7;break}case 1:{f=8;break}default:{}}if((f|0)==3){l=G6(n[A+37>>0]|0|0,0,40)|0;i=l|i;e=L|e;f=4}if((f|0)==4){e=n[A+36>>0]|0|e;f=5}if((f|0)==5){l=G6(n[A+35>>0]|0|0,0,24)|0;i=l|i;e=L|e;f=6}if((f|0)==6){l=G6(n[A+34>>0]|0|0,0,16)|0;i=l|i;e=L|e;f=7}if((f|0)==7){l=G6(n[A+33>>0]|0|0,0,8)|0;e=L|e;i=l|i;f=8}if((f|0)==8)i=i|(n[r>>0]|0);l=A+24|0;t=l;f=a[t+4>>2]^e;r=l;a[r>>2]=a[t>>2]^i;a[r+4>>2]=f;jb(A,2);r=A;e=a[r+4>>2]^e;f=A;a[f>>2]=a[r>>2]^i;a[f+4>>2]=e;f=A+16|0;e=f;i=a[e+4>>2]|0;r=f;a[r>>2]=a[e>>2]^255;a[r+4>>2]=i;jb(A,4);r=A;A=A+8|0;L=a[A+4>>2]^a[r+4>>2]^a[f+4>>2]^a[l+4>>2];return a[A>>2]^a[r>>2]^a[f>>2]^a[l>>2]|0}function jb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;r=A+8|0;f=A+24|0;n=A+16|0;i=0;while(1){if((i|0)>=(e|0))break;l=r;u=a[l>>2]|0;l=a[l+4>>2]|0;k=A;k=d6(a[k>>2]|0,a[k+4>>2]|0,u|0,l|0)|0;b=L;w=G6(u|0,l|0,13)|0;s=L;l=Z6(u|0,l|0,51)|0;l=(w|l)^k;s=(s|L)^b;w=f;u=a[w>>2]|0;w=a[w+4>>2]|0;c=n;c=d6(a[c>>2]|0,a[c+4>>2]|0,u|0,w|0)|0;t=L;h=G6(u|0,w|0,16)|0;o=L;w=Z6(u|0,w|0,48)|0;w=(h|w)^c;o=(o|L)^t;k=d6(b|0,k|0,w|0,o|0)|0;b=L;h=A;a[h>>2]=k;a[h+4>>2]=b;h=G6(w|0,o|0,21)|0;u=L;o=Z6(w|0,o|0,43)|0;w=f;a[w>>2]=(h|o)^k;a[w+4>>2]=(u|L)^b;t=d6(c|0,t|0,l|0,s|0)|0;c=L;w=G6(l|0,s|0,17)|0;b=L;s=Z6(l|0,s|0,47)|0;l=r;a[l>>2]=(w|s)^t;a[l+4>>2]=(b|L)^c;l=n;a[l>>2]=c;a[l+4>>2]=t;i=i+1|0}return}function Sb(A){A=A|0;var e=0;while(1){e=a[A+472>>2]|0;if(!e)break;else A=e}return a[A+492>>2]|0}function Pb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;J=k;k=k+16|0;M=J;F=J+4|0;V=a[A+352>>2]|0;u=e+16|0;o=e+40|0;h=A+144|0;d=A+284|0;B=i<<24>>24==0;v=l+12|0;E=l+16|0;C=l+8|0;I=e+44|0;Z=e+64|0;G=A+436|0;Q=A+452|0;m=A+448|0;L=(V+80|0)==(l|0);W=A+268|0;y=V+130|0;z=V+129|0;Y=A+296|0;D=A+224|0;t=0;A:while(1){e:while(1){switch(y5[a[u>>2]&127](e,f,n,M)|0){case-4:{t=0;w=61;break A}case 0:{w=4;break A}case-1:{w=6;break A}case 6:{w=21;break e}case-3:{w=22;break e}case 7:case 39:{w=23;break e}case 10:{c=m5[a[o>>2]&127](e,f)|0;i:do{if((c|0)<0)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;c=1;t=14}else{c=1;t=14}else{if(B&(c|0)==32){b=a[v>>2]|0;if((a[E>>2]|0)==(b|0)){c=4;break}if((r[b+-1>>0]|0)==32){c=4;break}}s=ds(c,F)|0;b=0;while(1){if((b|0)>=(s|0)){c=0;break i}c=a[v>>2]|0;if((c|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){c=1;t=1;break i}c=a[v>>2]|0}N=r[F+b>>0]|0;a[v>>2]=c+1;r[c>>0]=N;b=b+1|0}}}while(0);switch(c&7){case 4:case 0:break e;default:{}}break}case 9:{c=a[Z>>2]|0;c=(W5[a[I>>2]&63](e,f+c|0,(a[M>>2]|0)+(0-c)|0)|0)&255;if(c<<24>>24){w=31;break e}c=a[Z>>2]|0;c=ab(G,e,f+c|0,(a[M>>2]|0)+(0-c)|0)|0;if(!c){t=1;w=61;break A}s=lb(A,V,c,0)|0;a[m>>2]=a[Q>>2];do{if(L){if(!(a[W>>2]|0))if(!s)break e;else break;if(!(r[y>>0]|0)){c=(s|0)!=0;if(!(r[z>>0]|0)){w=45;break}else{g=c;w=47;break}}else{c=(s|0)!=0;if(!(a[Y>>2]|0)){w=45;break}else{g=c;w=47;break}}}else if(!(r[z>>0]|0))if(!s){t=11;w=61;break A}else{w=46;break}else{c=(s|0)!=0;if(!(r[y>>0]|0)){g=c;w=47;break}else{w=45;break}}}while(0);if((w|0)==45)if(c)w=46;else{t=11;w=61;break A}else if((w|0)==47?(w=0,!g):0)break e;if((w|0)==46?(w=0,(r[s+34>>0]|0)==0):0){t=24;w=61;break A}b=s+32|0;if(r[b>>0]|0){w=49;break A}if(a[s+28>>2]|0){w=52;break A}c=a[s+4>>2]|0;if(!c){w=55;break A}s=c+(a[s+8>>2]|0)|0;r[b>>0]=1;s=Pb(A,a[D>>2]|0,i,c,s,l)|0;r[b>>0]=0;c=(s|0)==0;if(c)break e;else{c=(c^1)&1;t=s}break}default:{w=58;break A}}if(c)break A}if((w|0)==21){w=0;if(!(ub(l,e,f,a[M>>2]|0)|0)){t=1;w=61;break}}else if((w|0)==22){a[M>>2]=f+(a[Z>>2]|0);w=23}else if((w|0)==31){w=0;f=a[v>>2]|0;if((f|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){t=1;w=61;break}f=a[v>>2]|0}a[v>>2]=f+1;r[f>>0]=c}do{if((w|0)==23){w=0;f=a[v>>2]|0;if(B){if((a[E>>2]|0)==(f|0))break;if((r[f+-1>>0]|0)==32)break}if((f|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){t=1;w=61;break A}f=a[v>>2]|0}a[v>>2]=f+1;r[f>>0]=32}}while(0);f=a[M>>2]|0}if((w|0)==4)if((a[h>>2]|0)==(e|0)){a[d>>2]=a[M>>2];t=4;w=61}else{t=4;w=61}else if((w|0)==6)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=4;w=61}else{t=4;w=61}else if((w|0)==49)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=12;w=61}else{t=12;w=61}else if((w|0)==52)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=15;w=61}else{t=15;w=61}else if((w|0)==55)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=16;w=61}else{t=16;w=61}else if((w|0)==58)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=23;w=61}else{t=23;w=61}k=J;return t|0}function Ob(A){A=A|0;var e=0;e=A+8|0;return((A|0)<1?0:(e|0)>0?e:0)|0}function Kb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+80|0;r=i+16|0;f=i;Hb(A,f);pb(r,f);Ub(r,e,xb(e)|0);e=Tb(r)|0;k=i;return e|0}function _b(A,e){A=A|0;e=e|0;var i=0;while(1){i=r[A>>0]|0;if(i<<24>>24!=(r[e>>0]|0)){e=0;break}if(!(i<<24>>24)){e=1;break}e=e+1|0;A=A+1|0}return e|0}function qb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+1040|0;t=b;f=a[A+124>>2]|0;A:do{if(!f)i=18;else{i=0;while(1){if((i|0)==256)break;a[t+(i<<2)>>2]=-1;i=i+1|0}n=t+1028|0;a[n>>2]=0;c=t+1024|0;a[c>>2]=0;l=t+1032|0;a[l>>2]=0;do{if(W5[f&63](a[A+244>>2]|0,e,t)|0){f=a[A+12>>2]|0;i=Bs()|0;i=Q5[f&63](i)|0;a[A+236>>2]=i;if(!i){i=a[l>>2]|0;if(!i)i=1;else{F5[i&127](a[c>>2]|0);i=1}}else{i=y5[(r[A+232>>0]<<24>>24?65:64)&127](i,t,a[n>>2]|0,a[c>>2]|0)|0;if(!i)break;a[A+240>>2]=a[c>>2];a[A+248>>2]=a[l>>2];a[A+144>>2]=i;i=0}break A}}while(0);i=a[l>>2]|0;if(i|0)F5[i&127](a[c>>2]|0);i=18}}while(0);k=b;return i|0}function $b(A,e){A=A|0;e=e|0;r[A+4>>0]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A>>2]=0;a[A+16>>2]=e;return}function As(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;s=a[A+352>>2]|0;w=A+424|0;u=A+420|0;k=A+412|0;o=A+428|0;h=s+152|0;d=A+368|0;c=s+60|0;b=s+80|0;A:while(1){l=e;e:while(1){if(!(r[e>>0]|0)){e=1;break A}f=r[l>>0]|0;switch(f<<24>>24){case 0:case 12:{B=5;break e}case 61:break e;default:{}}i=a[w>>2]|0;if((i|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break A}i=a[w>>2]|0;f=r[l>>0]|0}a[w>>2]=i+1;r[i>>0]=f;l=l+1|0}if((B|0)==5){B=0;e=a[w>>2]|0;if((e|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;e=lb(A,s,a[o>>2]|0,0)|0;if(e|0)r[e+32>>0]=1;e=(r[l>>0]|0)==0?l:l+1|0;a[w>>2]=a[o>>2];continue}e=a[w>>2]|0;if((a[o>>2]|0)==(e|0))f=h;else{if((e|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;f=lb(A,c,a[o>>2]|0,8)|0;if(!f){e=0;break}i=a[f>>2]|0;t=a[o>>2]|0;e=t;if((i|0)==(t|0)){t=Nb(b,i)|0;a[f>>2]=t;if(!t){e=0;break}e=a[o>>2]|0}a[w>>2]=e}e:while(1){t=l+1|0;i=r[t>>0]|0;n=(e|0)==(a[u>>2]|0);switch(i<<24>>24){case 0:case 12:break e;default:{}}if(n){if(!((ob(k)|0)<<24>>24)){e=0;break A}e=a[w>>2]|0;i=r[t>>0]|0}a[w>>2]=e+1;r[e>>0]=i;l=t;e=a[w>>2]|0}if(n){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;if(Rb(A,f,0,a[o>>2]|0,d)|0){e=0;break}a[w>>2]=a[o>>2];e=(r[t>>0]|0)==0?t:l+2|0}return e|0}function es(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0?(i=A+4|0,r=(a[i>>2]|0)==(a[A>>2]|0),a[A>>2]=e,r):0)a[i>>2]=e;return}function is(A,e,i){A=A|0;e=e|0;i=i|0;if(A|0){a[A+52>>2]=e;a[A+56>>2]=i}return}function rs(A,e){A=A|0;e=e|0;if(A|0)a[A+60>>2]=e;return}function fs(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;n=(A|0)==0;A:do{if(!(n|(i|0)<0)?!((e|0)==0&(i|0)!=0):0){l=A+476|0;switch(a[l>>2]|0){case 3:{a[A+280>>2]=33;n=0;break A}case 2:{a[A+280>>2]=36;n=0;break A}case 0:{if((a[A+472>>2]|0)==0?(as(A)|0)<<24>>24==0:0){a[A+280>>2]=1;n=0;break A}break}default:{}}a[l>>2]=1;if(i|0){n=ls(A,i)|0;if(!n){n=0;break}y6(n|0,e|0,i|0)|0;n=ts(A,i,f)|0;break}r[A+480>>0]=f;if(!f)n=1;else{n=A+24|0;c=a[n>>2]|0;e=A+292|0;a[e>>2]=c;f=a[A+28>>2]|0;a[A+40>>2]=f;i=A+276|0;f=y5[a[i>>2]&127](A,c,f,n)|0;a[A+280>>2]=f;if(f|0){a[A+288>>2]=a[A+284>>2];a[i>>2]=66;n=0;break}switch(a[l>>2]|0){case 3:{c=a[A+144>>2]|0;X5[a[c+48>>2]&31](c,a[e>>2]|0,a[n>>2]|0,A+404|0);a[e>>2]=a[n>>2];n=2;break A}case 1:case 0:{a[l>>2]=2;n=1;break A}default:{n=1;break A}}}}else t=3}while(0);if((t|0)==3)if(n)n=0;else{a[A+280>>2]=41;n=0}return n|0}function as(A){A=A|0;var e=0;e=A+492|0;if(!(a[e>>2]|0))a[e>>2]=cs()|0;if(!(r[A+232>>0]|0))A=1;else A=As(A,142324)|0;return A|0}function ns(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return a[A+280>>2]|0}function ls(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;A:do{if(!A)i=0;else{if((e|0)<0){a[A+280>>2]=1;i=0;break}switch(a[A+476>>2]|0){case 3:{a[A+280>>2]=33;i=0;break A}case 2:{a[A+280>>2]=36;i=0;break A}default:{w=A+32|0;c=a[w>>2]|0;u=A+28|0;r=a[u>>2]|0;i=r;if((c-r|0)>=(e|0))break A;o=A+24|0;b=a[o>>2]|0;t=r-b|0;r=t+e|0;if((r|0)<0){a[A+280>>2]=1;i=0;break A}s=A+8|0;f=a[s>>2]|0;h=f;n=b-h|0;l=(n|0)>1024;e=l?1024:n;r=e+r|0;do{if((r|0)>(c-h|0)){i=c-b|0;i=(i|0)==0?1024:i;do{i=i<<1}while((i|0)<(r|0)&(i|0)>0);if((i|0)<1){a[A+280>>2]=1;i=0;break A}r=Q5[a[A+12>>2]&63](i)|0;if(!r){a[A+280>>2]=1;i=0;break A}a[w>>2]=r+i;i=a[o>>2]|0;if(!i){i=r+(a[u>>2]|0)|0;a[u>>2]=i;a[s>>2]=r;k=22;break}else{h=i;k=h-(a[s>>2]|0)|0;k=(k|0)<1024?k:1024;y6(r|0,i+(0-k)|0,(a[u>>2]|0)-h+k|0)|0;F5[a[A+20>>2]&127](a[s>>2]|0);a[s>>2]=r;i=r+((a[u>>2]|0)-(a[o>>2]|0))+k|0;a[u>>2]=i;r=r+k|0;k=22;break}}else if(l){r=n-e|0;z6(f|0,f+r|0,e+t|0)|0;r=0-r|0;i=(a[u>>2]|0)+r|0;a[u>>2]=i;r=(a[o>>2]|0)+r|0;k=22}}while(0);if((k|0)==22)a[o>>2]=r;a[A+288>>2]=0;a[A+284>>2]=0;a[A+292>>2]=0;break A}}}}while(0);return i|0}function ts(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;A:do{if(!A)e=0;else{f=A+476|0;switch(a[f>>2]|0){case 3:{a[A+280>>2]=33;e=0;break A}case 2:{a[A+280>>2]=36;e=0;break A}case 0:{if((a[A+472>>2]|0)==0?(as(A)|0)<<24>>24==0:0){a[A+280>>2]=1;e=0;break A}break}default:{}}a[f>>2]=1;n=A+24|0;c=a[n>>2]|0;l=A+292|0;a[l>>2]=c;b=A+28|0;t=(a[b>>2]|0)+e|0;a[b>>2]=t;a[A+40>>2]=t;b=A+36|0;a[b>>2]=(a[b>>2]|0)+e;r[A+480>>0]=i;e=A+276|0;t=y5[a[e>>2]&127](A,c,t,n)|0;a[A+280>>2]=t;if(t|0){a[A+288>>2]=a[A+284>>2];a[e>>2]=66;e=0;break}switch(a[f>>2]|0){case 3:{e=2;break}case 1:case 0:{if(!i)e=1;else{a[f>>2]=2;e=1;break A}break}default:e=1}b=a[A+144>>2]|0;X5[a[b+48>>2]&31](b,a[l>>2]|0,a[n>>2]|0,A+404|0);a[l>>2]=a[n>>2]}}while(0);return e|0}function cs(){var A=0,e=0,i=0;e=k;k=k+16|0;A=e;if(!(bs(A)|0)){i=ws()|0;i=(z3()|0)^i;a[A>>2]=i;A=ss(142378,U(i,2147483647)|0)|0}else A=ss(142365,a[A>>2]|0)|0;k=e;return A|0}function bs(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=k;k=k+16|0;r=P2(142365,0,f)|0;if((r|0)<0)e=0;else{e=0;while(1){n=y3(r,A+e|0,4-e|0)|0;i=n+e|0;if((n|0)>0)if(i>>>0<4)e=i;else{e=1;break}if((a[(X2()|0)>>2]|0)!=4){e=0;break}}S4(r)|0}k=f;return e|0}function ss(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;r=f;i=PA(142443)|0;if(i|0?(A1(i,142463)|0)==0:0){i=a[15712]|0;a[r>>2]=A;a[r+4>>2]=8;a[r+8>>2]=e;a[r+12>>2]=4;f3(i,142465,r)|0}k=f;return e|0}function ws(){var A=0,e=0;e=k;k=k+16|0;A=e;if(!(OA(A|0,0)|0)){k=e;return a[A+4>>2]|0}else vA(142390,142412,819,142423);return 0}function us(A){A=A|0;if(!A)A=41;else A=a[A+280>>2]|0;return A|0}function ks(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(!A)A=0;else{e=A+284|0;i=a[e>>2]|0;if(i|0?(r=A+292|0,f=a[r>>2]|0,i>>>0>=f>>>0):0){n=a[A+144>>2]|0;X5[a[n+48>>2]&31](n,f,i,A+404|0);a[r>>2]=a[e>>2]}A=(a[A+404>>2]|0)+1|0}return A|0}function os(A){A=A|0;do{switch(A|0){case 41:{A=142502;break}case 1:{A=143774;break}case 2:{A=143761;break}case 3:{A=143744;break}case 4:{A=143712;break}case 5:{A=143697;break}case 6:{A=143679;break}case 7:{A=143664;break}case 8:{A=143644;break}case 9:{A=143616;break}case 10:{A=143581;break}case 11:{A=143564;break}case 12:{A=143537;break}case 13:{A=143517;break}case 14:{A=143479;break}case 15:{A=143452;break}case 16:{A=143410;break}case 17:{A=143363;break}case 18:{A=143346;break}case 19:{A=143295;break}case 20:{A=143272;break}case 21:{A=143226;break}case 22:{A=143199;break}case 23:{A=143148;break}case 24:{A=143112;break}case 25:{A=143060;break}case 26:{A=143015;break}case 27:{A=143e3;break}case 28:{A=142974;break}case 29:{A=142936;break}case 30:{A=142904;break}case 31:{A=142871;break}case 32:{A=142837;break}case 33:{A=142820;break}case 34:{A=142799;break}case 35:{A=142783;break}case 36:{A=142766;break}case 37:{A=142722;break}case 38:{A=142642;break}case 39:{A=142583;break}case 40:{A=142519;break}default:A=0}}while(0);return A|0}function hs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;i=a[e>>2]|0;r=0;A:while(1){if(i>>>0<=A>>>0)break;l=i+-1|0;f=n[l>>0]|0;do{if((f&248|0)==240)if((r+1|0)>>>0>3){t=5;break A}else r=0;else{if((f&240|0)==224)if((r+1|0)>>>0>2){t=8;break A}else{r=0;break}if((f&224|0)==192)if((r+1|0)>>>0>1){t=11;break A}else{r=0;break}else if(!(f&128))break A;else break}}while(0);i=l;r=r+1|0}if((t|0)==5)i=i+3|0;else if((t|0)==8)i=i+2|0;else if((t|0)==11)i=i+1|0;a[e>>2]=i;return}function ds(A,e){A=A|0;e=e|0;do{if((A|0)>=0){if((A|0)<128){r[e>>0]=A;A=1;break}if((A|0)<2048){r[e>>0]=A>>>6|192;r[e+1>>0]=A&63|128;A=2;break}if((A|0)<65536){r[e>>0]=A>>>12|224;r[e+1>>0]=A>>>6&63|128;r[e+2>>0]=A&63|128;A=3;break}if((A|0)<1114112){r[e>>0]=A>>>18|240;r[e+1>>0]=A>>>12&63|128;r[e+2>>0]=A>>>6&63|128;r[e+3>>0]=A&63|128;A=4}else A=0}else A=0}while(0);return A|0}function Bs(){return 1908}function vs(A,e,i,l){A=A|0;e=e|0;i=i|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;t=0;while(1){if((t|0)==364){t=0;break}r[A+t>>0]=r[56576+t>>0]|0;t=t+1|0}A:while(1){if((t|0)>=128){c=5;break}switch(r[56648+t>>0]|0){case 0:case 28:break;default:if((a[e+(t<<2)>>2]|0)!=(t|0)){A=0;break A}}t=t+1|0}A:do{if((c|0)==5){h=A+72|0;w=A+372|0;u=A+884|0;k=(i|0)==0;s=0;while(1){if((s|0)>=256)break;o=a[e+(s<<2)>>2]|0;do{if((o|0)==-1){r[h+s>>0]=1;f[w+(s<<1)>>1]=-1;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=0}else{if((o|0)<0){if(k|(o|0)<-4){A=0;break A}r[h+s>>0]=3-o;r[u+(s<<2)>>0]=0;f[w+(s<<1)>>1]=0;break}if((o|0)<128){t=r[56648+o>>0]|0;switch(t<<24>>24){case 0:case 28:break;default:if((o|0)!=(s|0)){A=0;break A}}r[h+s>>0]=t;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=o;f[w+(s<<1)>>1]=(o|0)==0?-1:o&65535;break}if((gs(o)|0)<0){r[h+s>>0]=0;f[w+(s<<1)>>1]=-1;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=0;break}if((o|0)>65535){A=0;break A}t=o>>>8;c=o>>>5&7;b=1<<(o&31);if(!(a[56940+((n[143788+t>>0]<<3|c)<<2)>>2]&b))r[h+s>>0]=a[56940+((n[144044+t>>0]<<3|c)<<2)>>2]&b|0?26:28;else r[h+s>>0]=22;r[u+(s<<2)>>0]=ds(o,u+(s<<2)+1|0)|0;f[w+(s<<1)>>1]=o}}while(0);s=s+1|0}a[A+368>>2]=l;a[A+364>>2]=i;if(!k){a[A+328>>2]=108;a[A+332>>2]=108;a[A+336>>2]=108;a[A+340>>2]=109;a[A+344>>2]=109;a[A+348>>2]=109;a[A+352>>2]=110;a[A+356>>2]=110;a[A+360>>2]=110}a[A+56>>2]=13;a[A+60>>2]=14}}while(0);return A|0}function gs(A){A=A|0;var e=0;switch(A>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{A=-1;break}case 0:{if(!(r[56648+A>>0]|0))A=-1;else e=4;break}case 255:{if((A|1|0)==65535)A=-1;else e=4;break}default:e=4}return A|0}function Es(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=0;else A=a[56940+(((n[144044+(A>>>8)>>0]|0)<<3|A>>>5&7)<<2)>>2]&1<<(A&31);return A|0}function Cs(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=0;else A=a[56940+(((n[143788+(A>>>8)>>0]|0)<<3|A>>>5&7)<<2)>>2]&1<<(A&31);return A|0}function Is(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=1;else A=(gs(A)|0)>>>31;return A|0}function Zs(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;h=k;k=k+16|0;s=h;w=A+364|0;u=A+884|0;o=A+368|0;b=A+72|0;while(1){t=a[e>>2]|0;if((t|0)==(i|0)){l=0;break}d=n[t>>0]|0;c=u+(d<<2)+1|0;d=r[u+(d<<2)>>0]|0;A=d<<24>>24;if(!(d<<24>>24)){A=ds(m5[a[w>>2]&127](a[o>>2]|0,t)|0,s)|0;if((A|0)>(l-(a[f>>2]|0)|0)){l=2;break}t=a[e>>2]|0;c=s;t=t+((n[b+(n[t>>0]|0)>>0]|0)+-3)|0}else{if((l-(a[f>>2]|0)|0)<(A|0)){l=2;break}t=t+1|0}a[e>>2]=t;y6(a[f>>2]|0,c|0,A|0)|0;a[f>>2]=(a[f>>2]|0)+A}k=h;return l|0}function Gs(A,e,i,r,l){A=A|0;e=e|0;i=i|0;r=r|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;w=A+372|0;u=A+364|0;k=A+368|0;s=A+72|0;while(1){b=a[e>>2]|0;A=b>>>0>>0;t=a[r>>2]|0;if(!(A&t>>>0>>0))break;A=f[w+((n[b>>0]|0)<<1)>>1]|0;if(!(A<<16>>16)){A=(m5[a[u>>2]&127](a[k>>2]|0,b)|0)&65535;t=a[e>>2]|0;c=(n[s+(n[t>>0]|0)>>0]|0)+-3|0}else{c=1;t=b}a[e>>2]=t+c;b=a[r>>2]|0;a[r>>2]=b+2;f[b>>1]=A}return((t|0)!=(l|0)|A^1?0:2)|0}function Qs(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0;A:do{if(e>>>0>>0){u=A+72|0;do{switch(r[u+(n[e>>0]|0)>>0]|0){case 12:{l=Hq(12,A,e+1|0,i,f)|0;break A}case 13:{l=Hq(13,A,e+1|0,i,f)|0;break A}case 2:{l=e+1|0;if((i-l|0)<=0){l=-1;break A}switch(r[u+(n[l>>0]|0)>>0]|0){case 16:{l=pq(A,e+2|0,i,f)|0;break A}case 15:{l=Jq(A,e+2|0,i,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;l=29;break A}default:{a[f>>2]=l;l=0;break A}}}case 9:{if((e+1|0)==(i|0)){a[f>>2]=i;l=-15;break A}else b=3;break}case 10:case 21:{b=3;break}case 30:{l=zq(A,e+1|0,i,f)|0;break A}case 35:{a[f>>2]=e+1;l=38;break A}case 20:{a[f>>2]=e+1;l=25;break A}case 4:{t=e+1|0;l=i-t|0;if((l|0)<=0){l=-26;break A}if((r[t>>0]|0)==93){if((l|0)<=1){l=-1;break A}if((r[e+2>>0]|0)==62){a[f>>2]=e+3;l=34;break A}}a[f>>2]=t;l=26;break A}case 31:{a[f>>2]=e+1;l=23;break A}case 32:{l=e+1|0;if((i-l|0)<=0){l=-24;break A}switch(r[u+(n[l>>0]|0)>>0]|0){case 33:{a[f>>2]=e+2;l=36;break A}case 15:{a[f>>2]=e+2;l=35;break A}case 34:{a[f>>2]=e+2;l=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;l=24;break A}default:{a[f>>2]=l;l=0;break A}}}case 36:{a[f>>2]=e+1;l=21;break A}case 11:{a[f>>2]=e+1;l=17;break A}case 19:{l=Uq(A,e+1|0,i,f)|0;break A}case 5:{if((i-e|0)<2){l=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0))if(!(m5[a[A+328>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=2}else{l=18;t=2}break}case 6:{if((i-e|0)<3){l=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0))if(!(m5[a[A+332>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=3}else{l=18;t=3}break}case 7:{if((i-e|0)<4){l=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0))if(!(m5[a[A+336>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=4}else{l=18;t=4}break}case 24:case 22:{l=18;t=1;break}case 23:case 27:case 26:case 25:{l=19;t=1;break}default:{a[f>>2]=e;l=0;break A}}}while(0);if((b|0)==3){c=i;t=e;e:while(1){l=t;t=t+1|0;if((c-t|0)<=0){b=18;break}switch(r[u+(n[t>>0]|0)>>0]|0){case 10:case 21:continue e;case 9:break;default:{b=17;break e}}if((l+2|0)==(i|0)){b=17;break}}if((b|0)==17){a[f>>2]=t;l=15;break}else if((b|0)==18){a[f>>2]=t;l=15;break}}b=A+328|0;s=A+332|0;w=A+336|0;c=e+t|0;e:while(1){t=i-c|0;if((t|0)<=0){b=99;break}switch(r[u+(n[c>>0]|0)>>0]|0){case 29:{b=56;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{b=70;break e}case 34:{b=89;break e}case 33:{b=92;break e}case 15:{b=95;break e}case 27:case 26:case 25:case 24:case 22:{e=l;c=c+1|0;l=e;continue e}case 5:{if((t|0)<2){l=-2;break A}if(!(m5[a[b>>2]&127](A,c)|0)){b=60;break e}e=l;c=c+2|0;l=e;continue e}case 6:{if((t|0)<3){l=-2;break A}if(!(m5[a[s>>2]&127](A,c)|0)){b=64;break e}e=l;c=c+3|0;l=e;continue e}case 7:{if((t|0)<4){l=-2;break A}if(!(m5[a[w>>2]&127](A,c)|0)){b=68;break e}e=l;c=c+4|0;l=e;continue e}case 23:{t=c+1|0;switch(l&63){case 18:break;case 41:{l=19;c=t;continue e}default:{e=l;c=t;l=e;continue e}}l=i-t|0;if((l|0)<=0){l=-1;break A}switch(r[u+(n[t>>0]|0)>>0]|0){case 29:{b=74;break e}case 27:case 26:case 25:case 24:case 22:{l=41;c=c+2|0;continue e}case 5:{if((l|0)<2){l=-2;break A}if(!(m5[a[b>>2]&127](A,t)|0)){b=78;break e}l=41;c=c+3|0;continue e}case 6:{if((l|0)<3){l=-2;break A}if(!(m5[a[s>>2]&127](A,t)|0)){b=82;break e}l=41;c=c+4|0;continue e}case 7:{if((l|0)<4){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){b=86;break e}l=41;c=c+5|0;continue e}default:{l=19;c=t;continue e}}}default:{b=98;break e}}}switch(b|0){case 56:{a[f>>2]=c;l=0;break A}case 60:{a[f>>2]=c;l=0;break A}case 64:{a[f>>2]=c;l=0;break A}case 68:{a[f>>2]=c;l=0;break A}case 70:{a[f>>2]=c;break A}case 74:{a[f>>2]=t;l=0;break A}case 78:{a[f>>2]=t;l=0;break A}case 82:{a[f>>2]=t;l=0;break A}case 86:{a[f>>2]=t;l=0;break A}case 89:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=32;break A}case 92:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=31;break A}case 95:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=30;break A}case 98:{a[f>>2]=c;l=0;break A}case 99:{l=0-l|0;break A}}}else l=-4}while(0);return l|0}function ms(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){w=A+72|0;e:do{switch(r[w+(n[e>>0]|0)>>0]|0){case 2:{l=Mq(A,e+1|0,i,f)|0;break A}case 3:{l=yq(A,e+1|0,i,f)|0;break A}case 9:{l=e+1|0;if((i-l|0)<=0){l=-3;break A}a[f>>2]=(r[w+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break A}case 10:{a[f>>2]=e+1;l=7;break A}case 4:{t=e+1|0;if((i-t|0)<=0){l=-5;break A}if((r[t>>0]|0)==93){l=e+2|0;if((i-l|0)<=0){l=-5;break A}if((r[l>>0]|0)==62){a[f>>2]=l;l=0;break A}else l=i}else l=i;break}case 5:{l=i;if((l-e|0)<2){l=-2;break A}if(!(m5[a[A+352>>2]&127](A,e)|0)){t=e+2|0;break e}else{a[f>>2]=e;l=0;break A}}case 6:{l=i;if((l-e|0)<3){l=-2;break A}if(!(m5[a[A+356>>2]&127](A,e)|0)){t=e+3|0;break e}else{a[f>>2]=e;l=0;break A}}case 7:{l=i;if((l-e|0)<4){l=-2;break A}if(!(m5[a[A+360>>2]&127](A,e)|0)){t=e+4|0;break e}else{a[f>>2]=e;l=0;break A}}case 8:case 1:case 0:{a[f>>2]=e;l=0;break A}default:{t=e+1|0;l=i}}}while(0);c=A+352|0;b=A+356|0;s=A+360|0;e:while(1){i=l-t|0;if((i|0)<=0){i=49;break}switch(r[w+(n[t>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{i=47;break e}case 5:{if((i|0)<2){i=32;break e}if(m5[a[c>>2]&127](A,t)|0){i=32;break e}t=t+2|0;continue e}case 6:{if((i|0)<3){i=36;break e}if(m5[a[b>>2]&127](A,t)|0){i=36;break e}t=t+3|0;continue e}case 7:{if((i|0)<4){i=40;break e}if(m5[a[s>>2]&127](A,t)|0){i=40;break e}t=t+4|0;continue e}case 4:{if((i|0)<=1){i=47;break e}e=t+1|0;if((r[e>>0]|0)!=93){t=e;continue e}if((i|0)<=2){i=47;break e}t=t+2|0;if((r[t>>0]|0)==62){i=46;break e}else{t=e;continue e}}default:{t=t+1|0;continue e}}}if((i|0)==32){a[f>>2]=t;l=6;break}else if((i|0)==36){a[f>>2]=t;l=6;break}else if((i|0)==40){a[f>>2]=t;l=6;break}else if((i|0)==46){a[f>>2]=t;l=0;break}else if((i|0)==47){a[f>>2]=t;l=6;break}else if((i|0)==49){a[f>>2]=t;l=6;break}}else l=-4}while(0);return l|0}function Ls(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;A:do{if(e>>>0>>0){s=A+72|0;e:do{switch(r[s+(n[e>>0]|0)>>0]|0){case 4:{t=e+1|0;l=i;if((l-t|0)<=0){l=-1;break A}if((r[t>>0]|0)==93){i=e+2|0;if((l-i|0)<=0){l=-1;break A}if((r[i>>0]|0)==62){a[f>>2]=e+3;l=40;break A}}break}case 9:{l=e+1|0;if((i-l|0)<=0){l=-1;break A}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break A}case 10:{a[f>>2]=e+1;l=7;break A}case 5:{l=i;if((l-e|0)<2){l=-2;break A}if(!(m5[a[A+352>>2]&127](A,e)|0)){t=e+2|0;break e}else{a[f>>2]=e;l=0;break A}}case 6:{l=i;if((l-e|0)<3){l=-2;break A}if(!(m5[a[A+356>>2]&127](A,e)|0)){t=e+3|0;break e}else{a[f>>2]=e;l=0;break A}}case 7:{l=i;if((l-e|0)<4){l=-2;break A}if(!(m5[a[A+360>>2]&127](A,e)|0)){t=e+4|0;break e}else{a[f>>2]=e;l=0;break A}}case 8:case 1:case 0:{a[f>>2]=e;l=0;break A}default:{t=e+1|0;l=i}}}while(0);e=A+352|0;c=A+356|0;b=A+360|0;e:while(1){i=l-t|0;if((i|0)<=0){i=39;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{i=37;break e}case 5:{if((i|0)<2){i=30;break e}if(!(m5[a[e>>2]&127](A,t)|0))i=2;else{i=30;break e}break}case 6:{if((i|0)<3){i=33;break e}if(!(m5[a[c>>2]&127](A,t)|0))i=3;else{i=33;break e}break}case 7:{if((i|0)<4){i=36;break e}if(!(m5[a[b>>2]&127](A,t)|0))i=4;else{i=36;break e}break}default:i=1}t=t+i|0}if((i|0)==30){a[f>>2]=t;l=6;break}else if((i|0)==33){a[f>>2]=t;l=6;break}else if((i|0)==36){a[f>>2]=t;l=6;break}else if((i|0)==37){a[f>>2]=t;l=6;break}else if((i|0)==39){a[f>>2]=t;l=6;break}}else l=-4}while(0);return l|0}function Ws(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0;if(!((A|0)>-1&((e|0)>0&(i|0)>0)))vA(95162,94943,843,95188);t=wq(e,i,A,l,t,1)|0;if(!t)vA(95233,94943,847,95188);g=a[t+20>>2]|0;v=a[t+24>>2]|0;w=e+1|0;s=0;while(1){if((s|0)==(w|0))break;a[g+(s<<2)>>2]=0;s=s+1|0}A:do{switch(l|0){case 1:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){h=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=13;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=13;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==13)vA(138394,94943,862,95188);while(1){if((h|0)==(e|0)){s=0;break}B=h+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(h<<2)>>2]|0);h=B}while(1){if((s|0)==(A|0))break;d=g+(a[r+(s<<2)>>2]<<2)|0;B=a[d>>2]|0;b[l+(B<<3)>>3]=+b[n+(s<<3)>>3];i=a[f+(s<<2)>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 2:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){d=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=25;break}h=a[f+(s<<2)>>2]|0;if(!((h|0)>-1&(h|0)<(i|0))){B=25;break}h=g+(w+1<<2)|0;a[h>>2]=(a[h>>2]|0)+1;s=s+1|0}if((B|0)==25)vA(138394,94943,880,95188);while(1){if((d|0)==(e|0)){s=0;break}B=d+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(d<<2)>>2]|0);d=B}while(1){if((s|0)==(A|0))break;d=g+(a[r+(s<<2)>>2]<<2)|0;B=a[d>>2]|0;i=B<<1;b[l+(i<<3)>>3]=+b[n>>3];b[l+((i|1)<<3)>>3]=+b[n+8>>3];i=a[f+(s<<2)>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+16|0;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 4:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){o=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=37;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=37;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==37)vA(138394,94943,899,95188);while(1){if((o|0)==(e|0)){s=0;break}B=o+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(o<<2)>>2]|0);o=B}while(1){if((s|0)==(A|0))break;d=r+(s<<2)|0;a[l+(a[g+(a[d>>2]<<2)>>2]<<2)>>2]=a[n+(s<<2)>>2];i=a[f+(s<<2)>>2]|0;d=g+(a[d>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 8:{n=0;while(1){if((n|0)>=(A|0)){u=0;break}s=a[r+(n<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(e|0))){B=48;break}d=a[f+(n<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=48;break}d=g+(s+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;n=n+1|0}if((B|0)==48)vA(138394,94943,915,95188);while(1){if((u|0)==(e|0)){n=0;break}B=u+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(u<<2)>>2]|0);u=B}while(1){if((n|0)==(A|0))break;i=a[f+(n<<2)>>2]|0;d=g+(a[r+(n<<2)>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 16:{s=0;while(1){if((s|0)>=(A|0)){k=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=59;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=59;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==59)vA(138394,94943,930,95188);while(1){if((k|0)==(e|0))break;B=k+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(k<<2)>>2]|0);k=B}y6(a[t+28>>2]|0,n|0,U(a[t+40>>2]|0,A)|0)|0;n=0;while(1){if((n|0)==(A|0))break;i=a[f+(n<<2)>>2]|0;d=g+(a[r+(n<<2)>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}default:vA(138394,94943,944,95188)}}while(0);a[g>>2]=0;a[t+8>>2]=A;if(c)t=ys(t,c)|0;return t|0}function ys(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;v=a[A+20>>2]|0;g=a[A+24>>2]|0;r=a[A+16>>2]|0;d=a[A+4>>2]|0;A:do{if(e){w=d<<2;u=$F(w)|0;i=0;while(1){if((i|0)>=(d|0))break;a[u+(i<<2)>>2]=-1;i=i+1|0}e:do{switch(r|0){case 1:{c=a[A+28>>2]|0;f=0;r=a[v>>2]|0;i=0;i:while(1){if((i|0)>=(a[A>>2]|0)){E=f;C=u;break e}s=i+1|0;w=v+(s<<2)|0;l=v+(i<<2)|0;i=f;while(1){e=a[w>>2]|0;if((r|0)>=(e|0))break;e=g+(r<<2)|0;f=a[e>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;b[c+(i<<3)>>3]=+b[c+(r<<3)>>3];a[u+(a[e>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;B=c+(n<<3)|0;b[B>>3]=+b[B>>3]+ +b[c+(r<<3)>>3]}r=r+1|0}a[w>>2]=i;f=i;r=e;i=s}vA(95235,94943,1792,95260);break}case 2:{B=a[A+28>>2]|0;switch(e|0){case 1:{e=a[v>>2]|0;r=0;i=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}c=r+1|0;s=v+(c<<2)|0;l=v+(r<<2)|0;while(1){r=a[s>>2]|0;if((e|0)>=(r|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;h=e<<1;d=i<<1;b[B+(d<<3)>>3]=+b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;h=e<<1;d=n<<1;o=B+(d<<3)|0;b[o>>3]=+b[o>>3]+ +b[B+(h<<3)>>3];d=B+((d|1)<<3)|0;b[d>>3]=+b[d>>3]+ +b[B+((h|1)<<3)>>3]}e=e+1|0}a[s>>2]=i;e=r;r=c}vA(95235,94943,1815,95260);break}case 4:{e=a[v>>2]|0;r=0;i=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}s=r+1|0;c=v+(s<<2)|0;l=v+(r<<2)|0;while(1){r=a[c>>2]|0;if((e|0)>=(r|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;h=e<<1;d=i<<1;b[B+(d<<3)>>3]=+b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;h=e<<1;d=n<<1;o=B+(d<<3)|0;b[o>>3]=+b[o>>3]+ +b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3]}e=e+1|0}a[c>>2]=i;e=r;r=s}vA(95235,94943,1835,95260);break}case 2:{h=~~+b[B+8>>3];l=a[A>>2]|0;r=h;n=0;i=0;i:while(1){if((n|0)>=(l|0))break;c=n+1|0;s=a[v+(c<<2)>>2]|0;f=i;e=h;i=a[v+(n<<2)>>2]|0;while(1){if((i|0)>=(s|0)){h=e;n=c;i=f;continue i}h=~~+b[B+((f<<1|1)<<3)>>3];f=f+1|0;r=(r|0)>(h|0)?r:h;e=(e|0)<(h|0)?e:h;i=i+1|0}}L2(u);o=r-h+1|0;k=$F(U(o,w)|0)|0;o=U(o,d)|0;i=0;while(1){if((i|0)>=(o|0))break;a[k+(i<<2)>>2]=-1;i=i+1|0}i=0;e=a[v>>2]|0;r=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=k;break e}w=r+1|0;u=v+(w<<2)|0;s=v+(r<<2)|0;while(1){r=a[u>>2]|0;if((e|0)>=(r|0))break;r=a[g+(e<<2)>>2]|0;f=e<<1;t=+b[B+((f|1)<<3)>>3];n=(U(~~t-h|0,d)|0)+r|0;l=k+(n<<2)|0;c=a[l>>2]|0;if((c|0)<(a[s>>2]|0)){a[g+(i<<2)>>2]=r;c=i<<1;b[B+(c<<3)>>3]=+b[B+(f<<3)>>3];b[B+((c|1)<<3)>>3]=t;a[l>>2]=i;i=i+1|0}else{if((n|0)>=(o|0)){i=55;break i}if((a[g+(c<<2)>>2]|0)!=(r|0)){i=57;break i}c=c<<1;l=B+(c<<3)|0;b[l>>3]=+b[l>>3]+ +b[B+(f<<3)>>3];b[B+((c|1)<<3)>>3]=t}e=e+1|0}a[u>>2]=i;e=r;r=w}if((i|0)==55)vA(95292,94943,1869,95260);else if((i|0)==57)vA(95313,94943,1870,95260);break}case 3:{f=~~+b[B+8>>3];l=a[A>>2]|0;i=f;r=0;n=0;i:while(1){if((n|0)>=(l|0))break;c=n+1|0;s=a[v+(c<<2)>>2]|0;e=i;i=a[v+(n<<2)>>2]|0;while(1){if((i|0)>=(s|0)){i=e;n=c;continue i}h=~~+b[B+(r<<1<<3)>>3];e=(e|0)>(h|0)?e:h;f=(f|0)>(h|0)?f:h;r=r+1|0;i=i+1|0}}L2(u);r=i-f+1|0;k=$F(U(r,w)|0)|0;r=U(r,d)|0;i=0;while(1){if((i|0)>=(r|0))break;a[k+(i<<2)>>2]=-1;i=i+1|0}i=0;e=a[v>>2]|0;r=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=k;break e}w=r+1|0;u=v+(w<<2)|0;s=v+(r<<2)|0;while(1){r=a[u>>2]|0;if((e|0)>=(r|0))break;r=a[g+(e<<2)>>2]|0;n=e<<1;t=+b[B+(n<<3)>>3];l=k+((U(~~t-f|0,d)|0)+r<<2)|0;c=a[l>>2]|0;if((c|0)<(a[s>>2]|0)){a[g+(i<<2)>>2]=r;h=i<<1;b[B+(h<<3)>>3]=t;b[B+((h|1)<<3)>>3]=+b[B+((n|1)<<3)>>3];a[l>>2]=i;i=i+1|0}else{if((a[g+(c<<2)>>2]|0)!=(r|0))break i;h=c<<1;b[B+(h<<3)>>3]=t;h=B+((h|1)<<3)|0;b[h>>3]=+b[h>>3]+ +b[B+((n|1)<<3)>>3]}e=e+1|0}a[u>>2]=i;e=r;r=w}vA(95313,94943,1905,95260);break}default:{E=0;C=u;break e}}break}case 4:{c=a[A+28>>2]|0;r=0;i=0;e=a[v>>2]|0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}s=r+1|0;w=v+(s<<2)|0;l=v+(r<<2)|0;while(1){f=a[w>>2]|0;if((e|0)>=(f|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;a[c+(i<<2)>>2]=a[c+(e<<2)>>2];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;B=c+(n<<2)|0;a[B>>2]=(a[B>>2]|0)+(a[c+(e<<2)>>2]|0)}e=e+1|0}a[w>>2]=i;r=s;e=f}vA(95235,94943,1929,95260);break}case 8:{r=0;i=0;e=a[v>>2]|0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}c=r+1|0;s=v+(c<<2)|0;l=v+(r<<2)|0;while(1){f=a[s>>2]|0;if((e|0)>=(f|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)>=(a[l>>2]|0)){if((a[g+(n<<2)>>2]|0)!=(f|0))break i}else{a[g+(i<<2)>>2]=f;a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}e=e+1|0}a[s>>2]=i;r=c;e=f}vA(95235,94943,1948,95260);break}default:{A=0;break A}}}while(0);a[A+8>>2]=E;L2(C)}}while(0);return A|0}function zs(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;if(!r)Ys(A,i,f,n,e,a);else Ds(A,i,f,n,e,a);return}function Ys(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0;if((a[A+32>>2]|0)!=1)vA(94919,94943,1121,95483);if((a[A+16>>2]|0)!=1)vA(95364,94943,1122,95483);o=a[A+28>>2]|0;h=a[A+20>>2]|0;d=a[A+24>>2]|0;B=a[A>>2]|0;k=a[A+4>>2]|0;A=a[i>>2]|0;l=(A|0)!=0;if(!f){if(!l)A=$F(U(r<<3,B)|0)|0;f=0;A:while(1){if((f|0)>=(B|0))break;u=U(f,r)|0;l=0;while(1){if((l|0)>=(r|0))break;b[A+(l+u<<3)>>3]=0.0;l=l+1|0}s=f+1|0;w=a[h+(s<<2)>>2]|0;l=a[h+(f<<2)>>2]|0;while(1){if((l|0)>=(w|0)){f=s;continue A}t=o+(l<<3)|0;c=d+(l<<2)|0;f=0;while(1){if((f|0)>=(r|0))break;v=+b[e+((U(a[c>>2]|0,r)|0)+f<<3)>>3]*+b[t>>3];k=A+(f+u<<3)|0;b[k>>3]=+b[k>>3]+v;f=f+1|0}l=l+1|0}}if(n)Fs(A,B,r)}else{if(!l)A=$F(U(r<<3,k)|0)|0;f=U(k,r)|0;l=0;while(1){if((l|0)>=(f|0)){l=0;break}b[A+(l<<3)>>3]=0.0;l=l+1|0}A:while(1){if((l|0)>=(B|0))break;s=l+1|0;w=a[h+(s<<2)>>2]|0;u=U(l,r)|0;l=a[h+(l<<2)>>2]|0;while(1){if((l|0)>=(w|0)){l=s;continue A}t=o+(l<<3)|0;c=d+(l<<2)|0;f=0;while(1){if((f|0)>=(r|0))break;g=A+((U(a[c>>2]|0,r)|0)+f<<3)|0;b[g>>3]=+b[g>>3]+ +b[e+(f+u<<3)>>3]*+b[t>>3];f=f+1|0}l=l+1|0}}if(n)Fs(A,k,r)}a[i>>2]=A;return}function Ds(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w;if((a[A+32>>2]|0)!=1)vA(94919,94943,1163,95335);if((a[A+16>>2]|0)!=1)vA(95364,94943,1164,95335);l=a[i>>2]|0;c=a[A>>2]|0;b=a[A+4>>2]|0;t=(l|0)!=0;if(!f){if(!t)l=$F(U(r<<3,c)|0)|0;t=0;while(1){if((t|0)>=(r|0))break;a[s>>2]=l+((U(t,c)|0)<<3);Ms(A,e+((U(t,b)|0)<<3)|0,s,0);t=t+1|0}if(!n)Fs(l,r,c)}else{if(!t)l=$F(U(r<<3,b)|0)|0;t=0;while(1){if((t|0)>=(r|0))break;a[s>>2]=l+((U(t,b)|0)<<3);Ms(A,e+((U(t,c)|0)<<3)|0,s,f);t=t+1|0}if(!n)Fs(l,r,b)}a[i>>2]=l;k=w;return}function Ms(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0;if((a[A+32>>2]|0)!=1)vA(94919,94943,1222,95392);l=a[A+16>>2]|0;switch(l|0){case 4:case 1:break;default:vA(95421,94943,1223,95392)}u=a[A+20>>2]|0;w=a[A+24>>2]|0;k=a[A>>2]|0;c=a[A+4>>2]|0;t=a[i>>2]|0;A:do{switch(l|0){case 1:{s=a[A+28>>2]|0;A=(r|0)!=0;f=(t|0)!=0;if(!e){if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[s+(A<<3)>>3];b[l>>3]=o;A=A+1|0;n=o}}}if(!f)t=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[t+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0)){f=t;break A}f=A+1|0;l=a[u+(f<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(l|0)){A=f;continue e}e=t+(a[w+(A<<2)>>2]<<3)|0;b[e>>3]=+b[e>>3]+ +b[s+(A<<3)>>3];A=A+1|0}}}else{if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[e+(a[w+(A<<2)>>2]<<3)>>3]*+b[s+(A<<3)>>3];b[l>>3]=o;A=A+1|0;n=o}}}if(f)f=t;else f=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[f+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0))break A;l=A+1|0;t=a[u+(l<<2)>>2]|0;r=e+(A<<3)|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(t|0)){A=l;continue e}c=f+(a[w+(A<<2)>>2]<<3)|0;b[c>>3]=+b[c>>3]+ +b[r>>3]*+b[s+(A<<3)>>3];A=A+1|0}}}}case 4:{s=a[A+28>>2]|0;A=(r|0)!=0;f=(t|0)!=0;if(!e){if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +(a[s+(A<<2)>>2]|0);b[l>>3]=o;A=A+1|0;n=o}}}if(!f)t=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[t+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0)){f=t;break A}f=A+1|0;l=a[u+(f<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(l|0)){A=f;continue e}e=t+(a[w+(A<<2)>>2]<<3)|0;b[e>>3]=+b[e>>3]+ +(a[s+(A<<2)>>2]|0);A=A+1|0}}}else{if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[e+(a[w+(A<<2)>>2]<<3)>>3]*+(a[s+(A<<2)>>2]|0);b[l>>3]=o;A=A+1|0;n=o}}}if(f)f=t;else f=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[f+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0))break A;l=A+1|0;t=a[u+(l<<2)>>2]|0;r=e+(A<<3)|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(t|0)){A=l;continue e}c=f+(a[w+(A<<2)>>2]<<3)|0;b[c>>3]=+b[c>>3]+ +b[r>>3]*+(a[s+(A<<2)>>2]|0);A=A+1|0}}}}default:vA(138394,94943,1315,95392)}}while(0);a[i>>2]=f;return}function Fs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,n=0;r=U(e<<3,i)|0;a=$F(r)|0;y6(a|0,A|0,r|0)|0;r=0;while(1){if((r|0)>=(e|0))break;n=U(r,i)|0;f=0;while(1){if((f|0)>=(i|0))break;b[A+((U(f,e)|0)+r<<3)>>3]=+b[a+(f+n<<3)>>3];f=f+1|0}r=r+1|0}L2(a);return}function Vs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;I=a[A+20>>2]|0;Z=a[A+24>>2]|0;G=a[e+20>>2]|0;Q=a[e+24>>2]|0;C=a[A+32>>2]|0;if(!((C|0)==1?(C|0)==(a[e+32>>2]|0):0))vA(95005,94943,1408,95512);C=a[A>>2]|0;if(((a[A+4>>2]|0)==(a[e>>2]|0)?(u=a[A+16>>2]|0,(u|0)==(a[e+16>>2]|0)):0)?(w=e+4|0,m=$F(a[w>>2]<<2)|0,(m|0)!=0):0){i=0;while(1){if((i|0)>=(a[w>>2]|0)){r=0;i=0;break}a[m+(i<<2)>>2]=-1;i=i+1|0}A:while(1){if((i|0)>=(C|0))break;t=i+1|0;c=I+(t<<2)|0;s=-2-i|0;l=a[I+(i<<2)>>2]|0;while(1){if((l|0)>=(a[c>>2]|0)){i=t;continue A}f=a[Z+(l<<2)>>2]|0;n=G+(f+1<<2)|0;f=a[G+(f<<2)>>2]|0;while(1){if((f|0)>=(a[n>>2]|0))break;i=m+(a[Q+(f<<2)>>2]<<2)|0;if((a[i>>2]|0)!=(s|0)){a[i>>2]=s;r=r+1|0}f=f+1|0}l=l+1|0}}i=fq(C,a[w>>2]|0,r,u,1)|0;A:do{if(!i)i=0;else{v=a[i+20>>2]|0;g=a[i+24>>2]|0;e:do{switch(u|0){case 1:{d=a[A+28>>2]|0;u=a[e+28>>2]|0;e=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((r|0)>=(C|0)){E=f;break e}k=r+1|0;o=I+(k<<2)|0;h=v+(r<<2)|0;A=a[I+(r<<2)>>2]|0;while(1){if((A|0)>=(a[o>>2]|0))break;c=a[Z+(A<<2)>>2]|0;s=G+(c+1<<2)|0;w=d+(A<<3)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;r=Q+(c<<2)|0;n=a[r>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[h>>2]|0)){a[l>>2]=f;a[g+(f<<2)>>2]=a[r>>2];b[e+(f<<3)>>3]=+b[u+(c<<3)>>3]*+b[w>>3];f=f+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;B=e+(t<<3)|0;b[B>>3]=+b[B>>3]+ +b[u+(c<<3)>>3]*+b[w>>3]}c=c+1|0}A=A+1|0}a[v+(k<<2)>>2]=f;r=k}vA(95534,94943,1468,95512);break}case 2:{B=a[A+28>>2]|0;e=a[e+28>>2]|0;k=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((r|0)>=(C|0)){E=f;break e}o=r+1|0;h=I+(o<<2)|0;d=v+(r<<2)|0;u=a[I+(r<<2)>>2]|0;while(1){if((u|0)>=(a[h>>2]|0))break;c=a[Z+(u<<2)>>2]|0;s=G+(c+1<<2)|0;A=u<<1;w=B+(A<<3)|0;A=B+((A|1)<<3)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;r=Q+(c<<2)|0;n=a[r>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[d>>2]|0)){a[l>>2]=f;a[g+(f<<2)>>2]=a[r>>2];l=c<<1;n=e+(l<<3)|0;l=e+((l|1)<<3)|0;t=f<<1;b[k+(t<<3)>>3]=+b[n>>3]*+b[w>>3]-+b[l>>3]*+b[A>>3];b[k+((t|1)<<3)>>3]=+b[n>>3]*+b[A>>3]+ +b[l>>3]*+b[w>>3];f=f+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;l=c<<1;n=e+(l<<3)|0;l=e+((l|1)<<3)|0;t=t<<1;r=k+(t<<3)|0;b[r>>3]=+b[r>>3]+ +b[n>>3]*+b[w>>3]-+b[l>>3]*+b[A>>3];t=k+((t|1)<<3)|0;b[t>>3]=+b[n>>3]*+b[A>>3]+ +b[l>>3]*+b[w>>3]+ +b[t>>3]}c=c+1|0}u=u+1|0}a[v+(o<<2)>>2]=f;r=o}vA(95534,94943,1497,95512);break}case 4:{d=a[A+28>>2]|0;u=a[e+28>>2]|0;e=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((f|0)>=(C|0)){E=r;break e}k=f+1|0;o=I+(k<<2)|0;h=v+(f<<2)|0;s=a[I+(f<<2)>>2]|0;while(1){if((s|0)>=(a[o>>2]|0))break;c=a[Z+(s<<2)>>2]|0;w=G+(c+1<<2)|0;A=d+(s<<2)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[w>>2]|0))break;f=Q+(c<<2)|0;n=a[f>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[h>>2]|0)){a[l>>2]=r;a[g+(r<<2)>>2]=a[f>>2];a[e+(r<<2)>>2]=U(a[u+(c<<2)>>2]|0,a[A>>2]|0)|0;r=r+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;l=U(a[u+(c<<2)>>2]|0,a[A>>2]|0)|0;B=e+(t<<2)|0;a[B>>2]=(a[B>>2]|0)+l}c=c+1|0}s=s+1|0}a[v+(k<<2)>>2]=r;f=k}vA(95534,94943,1523,95512);break}case 8:{a[v>>2]=0;r=0;f=0;i:while(1){if((f|0)>=(C|0)){E=r;break e}A=f+1|0;u=I+(A<<2)|0;e=v+(f<<2)|0;s=a[I+(f<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;c=a[Z+(s<<2)>>2]|0;w=G+(c+1<<2)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[w>>2]|0))break;f=Q+(c<<2)|0;n=a[f>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)>=(a[e>>2]|0)){if((a[g+(t<<2)>>2]|0)!=(n|0))break i}else{a[l>>2]=r;a[g+(r<<2)>>2]=a[f>>2];r=r+1|0}c=c+1|0}s=s+1|0}a[v+(A<<2)>>2]=r;f=A}vA(95534,94943,1543,95512);break}default:{rq(i);i=0;break A}}}while(0);a[i+8>>2]=E}}while(0);L2(m)}else i=0;return i|0}function Js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0.0,V=0.0,J=0.0,N=0.0;z=a[A+20>>2]|0;Y=a[A+24>>2]|0;D=a[e+20>>2]|0;m=a[e+24>>2]|0;L=a[i+20>>2]|0;W=a[i+24>>2]|0;y=a[A+32>>2]|0;if(!((y|0)==1?(y|0)==(a[e+32>>2]|0):0))vA(95005,94943,1574,95559);y=a[A>>2]|0;if(((((a[A+4>>2]|0)==(a[e>>2]|0)?(a[e+4>>2]|0)==(a[i>>2]|0):0)?(h=a[A+16>>2]|0,(h|0)==(a[e+16>>2]|0)):0)?(h|0)==(a[i+16>>2]|0):0)?(o=i+4|0,M=$F(a[o>>2]<<2)|0,(M|0)!=0):0){r=0;while(1){if((r|0)>=(a[o>>2]|0)){f=0;r=0;break}a[M+(r<<2)>>2]=-1;r=r+1|0}A:while(1){if((r|0)>=(y|0))break;w=r+1|0;u=z+(w<<2)|0;k=-2-r|0;s=a[z+(r<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0)){r=w;continue A}t=a[Y+(s<<2)>>2]|0;c=D+(t+1<<2)|0;t=a[D+(t<<2)>>2]|0;while(1){if((t|0)>=(a[c>>2]|0))break;n=a[m+(t<<2)>>2]|0;l=L+(n+1<<2)|0;n=a[L+(n<<2)>>2]|0;while(1){if((n|0)>=(a[l>>2]|0))break;r=M+(a[W+(n<<2)>>2]<<2)|0;if((a[r>>2]|0)!=(k|0)){a[r>>2]=k;f=f+1|0}n=n+1|0}t=t+1|0}s=s+1|0}}r=fq(y,a[o>>2]|0,f,h,1)|0;A:do{if(!r)r=0;else{Z=a[r+20>>2]|0;G=a[r+24>>2]|0;e:do{switch(h|0){case 1:{E=a[A+28>>2]|0;g=a[e+28>>2]|0;i=a[i+28>>2]|0;d=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((f|0)>=(y|0)){Q=n;break e}B=f+1|0;v=z+(B<<2)|0;e=Z+(f<<2)|0;h=a[z+(f<<2)>>2]|0;while(1){if((h|0)>=(a[v>>2]|0))break;k=a[Y+(h<<2)>>2]|0;o=D+(k+1<<2)|0;A=E+(h<<3)|0;k=a[D+(k<<2)>>2]|0;while(1){if((k|0)>=(a[o>>2]|0))break;s=a[m+(k<<2)>>2]|0;w=L+(s+1<<2)|0;u=g+(k<<3)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[w>>2]|0))break;f=W+(s<<2)|0;l=a[f>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[e>>2]|0)){a[t>>2]=n;a[G+(n<<2)>>2]=a[f>>2];b[d+(n<<3)>>3]=+b[u>>3]*+b[A>>3]*+b[i+(s<<3)>>3];n=n+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;I=d+(c<<3)|0;b[I>>3]=+b[I>>3]+ +b[u>>3]*+b[A>>3]*+b[i+(s<<3)>>3]}s=s+1|0}k=k+1|0}h=h+1|0}a[Z+(B<<2)>>2]=n;f=B}vA(95582,94943,1642,95559);break}case 2:{I=a[A+28>>2]|0;C=a[e+28>>2]|0;d=a[i+28>>2]|0;B=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}v=n+1|0;g=z+(v<<2)|0;E=Z+(n<<2)|0;A=a[z+(n<<2)>>2]|0;while(1){if((A|0)>=(a[g>>2]|0))break;w=a[Y+(A<<2)>>2]|0;h=D+(w+1<<2)|0;i=A<<1;e=I+(i<<3)|0;i=I+((i|1)<<3)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[h>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;o=w<<1;k=C+(o<<3)|0;o=C+((o|1)<<3)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[E>>2]|0)){a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];V=+b[e>>3];J=+b[k>>3];F=+b[i>>3];N=+b[o>>3];t=s<<1;l=d+(t<<3)|0;t=d+((t|1)<<3)|0;c=f<<1;b[B+(c<<3)>>3]=(J*V-N*F)*+b[l>>3]-(N*V+F*J)*+b[t>>3];J=+b[e>>3];F=+b[o>>3];V=+b[i>>3];N=+b[k>>3];b[B+((c|1)<<3)>>3]=(N*V+F*J)*+b[l>>3]+(N*J-V*F)*+b[t>>3];f=f+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;J=+b[e>>3];V=+b[k>>3];N=+b[i>>3];F=+b[o>>3];t=s<<1;l=d+(t<<3)|0;t=d+((t|1)<<3)|0;c=c<<1;n=B+(c<<3)|0;b[n>>3]=+b[n>>3]+(V*J-F*N)*+b[l>>3]-(F*J+N*V)*+b[t>>3];V=+b[e>>3];N=+b[o>>3];J=+b[i>>3];F=+b[k>>3];c=B+((c|1)<<3)|0;b[c>>3]=(F*J+N*V)*+b[l>>3]+(F*V-J*N)*+b[t>>3]+ +b[c>>3]}s=s+1|0}w=w+1|0}A=A+1|0}a[Z+(v<<2)>>2]=f;n=v}vA(95582,94943,1674,95559);break}case 4:{E=a[A+28>>2]|0;g=a[e+28>>2]|0;e=a[i+28>>2]|0;i=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}d=n+1|0;B=z+(d<<2)|0;v=Z+(n<<2)|0;o=a[z+(n<<2)>>2]|0;while(1){if((o|0)>=(a[B>>2]|0))break;w=a[Y+(o<<2)>>2]|0;A=D+(w+1<<2)|0;h=E+(o<<2)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[A>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;k=g+(w<<2)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[v>>2]|0)){a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];C=U(a[k>>2]|0,a[h>>2]|0)|0;C=U(C,a[e+(s<<2)>>2]|0)|0;I=i+(f<<2)|0;a[I>>2]=(a[I>>2]|0)+C;f=f+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;C=U(a[k>>2]|0,a[h>>2]|0)|0;C=U(C,a[e+(s<<2)>>2]|0)|0;I=i+(c<<2)|0;a[I>>2]=(a[I>>2]|0)+C}s=s+1|0}w=w+1|0}o=o+1|0}a[Z+(d<<2)>>2]=f;n=d}vA(95582,94943,1706,95559);break}case 8:{a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}A=n+1|0;h=z+(A<<2)|0;e=Z+(n<<2)|0;k=a[z+(n<<2)>>2]|0;while(1){if((k|0)>=(a[h>>2]|0))break;w=a[Y+(k<<2)>>2]|0;o=D+(w+1<<2)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[o>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)>=(a[e>>2]|0)){if((a[G+(c<<2)>>2]|0)!=(l|0))break i}else{a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];f=f+1|0}s=s+1|0}w=w+1|0}k=k+1|0}a[Z+(A<<2)>>2]=f;n=A}vA(95582,94943,1729,95559);break}default:{rq(r);r=0;break A}}}while(0);a[r+8>>2]=Q}}while(0);L2(M)}else r=0;return r|0}function Ns(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;if((a[A+32>>2]|0)!=2)vA(95100,94943,1971,95607);if((e|0)>=1){l=a[A+8>>2]|0;n=l+e|0;if((n|0)>=(a[A+12>>2]|0))Xs(A,n+10|0)|0;t=l<<2;n=e<<2;y6((a[A+20>>2]|0)+t|0,i|0,n|0)|0;y6((a[A+24>>2]|0)+t|0,r|0,n|0)|0;n=a[A+40>>2]|0;if(n|0){t=U(n,e)|0;l=U(n,l)|0;y6((a[A+28>>2]|0)+l|0,f|0,t|0)|0}f=A+4|0;l=0;while(1){if((l|0)>=(e|0))break;n=a[i+(l<<2)>>2]|0;if((n|0)>=(a[A>>2]|0))a[A>>2]=n+1;n=a[r+(l<<2)>>2]|0;if((n|0)>=(a[f>>2]|0))a[f>>2]=n+1;l=l+1|0}t=A+8|0;a[t>>2]=(a[t>>2]|0)+e}return A|0}function Xs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((a[A+32>>2]|0)==2){i=A+20|0;f=e<<2;a[i>>2]=eV(a[i>>2]|0,f)|0;i=A+24|0;a[i>>2]=eV(a[i>>2]|0,f)|0;i=a[A+40>>2]|0;if((i|0)>0){f=A+28|0;r=a[f>>2]|0;i=U(i,e)|0;if(!r)i=$F(i)|0;else i=eV(r,i)|0;a[f>>2]=i}}else{i=A+24|0;a[i>>2]=eV(a[i>>2]|0,e<<2)|0;i=a[A+40>>2]|0;if((i|0)>0){f=A+28|0;r=a[f>>2]|0;i=U(i,e)|0;if(!r)i=$F(i)|0;else i=eV(r,i)|0;a[f>>2]=i}}a[A+12>>2]=e;return A|0}function Rs(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;A:do{if(!A)A=0;else{s=a[A+20>>2]|0;c=a[A+24>>2]|0;e:do{switch(a[A+16>>2]|0){case 1:{l=a[A+28>>2]|0;r=a[A>>2]|0;e=0;i:while(1){if((e|0)>=(r|0))break e;f=e+1|0;n=a[s+(f<<2)>>2]|0;e=a[s+(e<<2)>>2]|0;i=1.0/+(n-e|0);while(1){if((e|0)>=(n|0)){e=f;continue i}c=l+(e<<3)|0;b[c>>3]=+b[c>>3]*i;e=e+1|0}}}case 2:{f=a[A+28>>2]|0;n=a[A>>2]|0;e=0;i:while(1){if((e|0)>=(n|0))break e;l=e+1|0;t=a[s+(l<<2)>>2]|0;r=a[s+(e<<2)>>2]|0;i=1.0/+(t-r|0);while(1){if((r|0)>=(t|0)){e=l;continue i}if((a[c+(r<<2)>>2]|0)!=(e|0)){w=r<<1;u=f+(w<<3)|0;b[u>>3]=+b[u>>3]*i;w=f+((w|1)<<3)|0;b[w>>3]=+b[w>>3]*i}r=r+1|0}}}case 4:{vA(138394,94943,2192,95648);break}case 8:break;default:{A=0;break A}}}while(0)}}while(0);return A|0}function Hs(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((A|0)!=0?(e=A+8|0,i=a[e>>2]|0,r=a[A+4>>2]|0,(r|0)==(a[A>>2]|0)):0){n=a[A+24>>2]|0;A=a[A+20>>2]|0;f=fq(r,r,i,8,1)|0;y6(a[f+20>>2]|0,A|0,(r<<2)+4|0)|0;y6(a[f+24>>2]|0,n|0,i<<2|0)|0;a[f+8>>2]=a[e>>2];A=tq(f,1)|0;rq(f);A=kq(A)|0;r=A+8|0;i=$F(a[r>>2]<<3)|0;a[A+28>>2]=i;r=a[r>>2]|0;e=0;while(1){if((e|0)>=(r|0))break;b[i+(e<<3)>>3]=1.0;e=e+1|0}a[A+16>>2]=1;a[A+40>>2]=8}else A=0;return A|0}function ps(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;E=a[A+4>>2]|0;u=a[A>>2]|0;d=E<<2;B=$F(d)|0;v=$F(d+4|0)|0;g=$F(d)|0;d=$F(d)|0;k=v+4|0;A=0;while(1){if((A|0)>=(E|0))break;a[B+(A<<2)>>2]=0;A=A+1|0}a[k>>2]=E;A=0;while(1){if((A|0)>=(E|0)){l=1;b=0;break}a[g+(A<<2)>>2]=-1;A=A+1|0}A:while(1){if((b|0)>=(u|0))break;n=o+(b<<2)|0;s=b+1|0;w=o+(s<<2)|0;A=a[n>>2]|0;while(1){f=a[w>>2]|0;if((A|0)>=(f|0))break;c=k+(a[B+(a[h+(A<<2)>>2]<<2)>>2]<<2)|0;a[c>>2]=(a[c>>2]|0)+-1;A=A+1|0}A=l;c=a[n>>2]|0;while(1){if((c|0)>=(f|0)){l=A;b=s;continue A}l=h+(c<<2)|0;f=B+(a[l>>2]<<2)|0;t=a[f>>2]|0;n=g+(t<<2)|0;if((a[n>>2]|0)<(b|0)){a[n>>2]=b;f=k+(t<<2)|0;if(!(a[f>>2]|0)){a[f>>2]=1;n=A;A=t;f=d+(t<<2)|0}else{a[d+(t<<2)>>2]=A;a[k+(A<<2)>>2]=1;n=A+1|0;f=B+(a[l>>2]<<2)|0}a[f>>2]=A;A=n}else{t=d+(t<<2)|0;a[f>>2]=a[t>>2];t=k+(a[t>>2]<<2)|0;a[t>>2]=(a[t>>2]|0)+1}c=c+1|0;f=a[w>>2]|0}}a[v>>2]=0;A=0;f=0;while(1){if((A|0)>=(l|0))break;o=A+1|0;k=v+(o<<2)|0;h=(a[k>>2]|0)+f|0;a[k>>2]=h;A=o;f=h}a[i>>2]=d;A=0;while(1){if((A|0)>=(E|0)){A=l;break}h=v+(a[B+(A<<2)>>2]<<2)|0;i=a[h>>2]|0;a[h>>2]=i+1;a[d+(i<<2)>>2]=A;A=A+1|0}while(1){if((A|0)<=0)break;E=A+-1|0;a[v+(A<<2)>>2]=a[v+(E<<2)>>2];A=E}a[v>>2]=0;a[r>>2]=v;a[e>>2]=l;L2(g);L2(B);return}function Us(){return+(+(a8()|0)*4.656612875245797e-10)}function xs(A){A=A|0;if((A|0)>1)return(a8()|0)%(A|0)|0|0;else vA(95682,95688,58,95698);return 0}function Ts(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;A:do{if((A|0)<1)e=0;else{e=$F(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break;a[e+(i<<2)>>2]=i;i=i+1|0}while(1){if((A|0)<=1)break A;r=xs(A)|0;i=A+-1|0;n=e+(i<<2)|0;f=a[n>>2]|0;r=e+(r<<2)|0;a[n>>2]=a[r>>2];a[r>>2]=f;A=i}}}while(0);return e|0}function js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=0;while(1){if((r|0)>=(A|0))break;f=i+(r<<3)|0;b[f>>3]=+b[e+(r<<3)>>3]-+b[f>>3];r=r+1|0}return i|0}function Ss(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0;r=0;f=0.0;while(1){if((r|0)>=(A|0))break;a=+b[i+(r<<3)>>3]*+b[e+(r<<3)>>3]+f;r=r+1|0;f=a}return+f}function Ps(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=i+(f<<3)|0;b[a>>3]=+b[a>>3]*r+ +b[e+(f<<3)>>3];f=f+1|0}return i|0}function Os(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=e+(f<<3)|0;b[a>>3]=+b[i+(f<<3)>>3]*r+ +b[a>>3];f=f+1|0}return e|0}function Ks(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,n=0.0;a=U(i,e)|0;r=U(r,e)|0;f=0.0;i=0;while(1){if((i|0)>=(e|0))break;n=+b[A+(i+a<<3)>>3]-+b[A+(i+r<<3)>>3];f=n*n+f;i=i+1|0}n=+z(+f);return+(n>1.0e-15?n:1.0e-15)}function _s(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,n=0.0;a=U(i,e)|0;r=U(r,e)|0;f=0.0;i=0;while(1){if((i|0)>=(e|0))break;n=+b[A+(i+a<<3)>>3]-+b[A+(i+r<<3)>>3];f=n*n+f;i=i+1|0}return+ +z(+f)}function qs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0.0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;a=+b[A+(f<<3)>>3]-+b[e+(f<<3)>>3];r=a*a+r;f=f+1|0}return+ +z(+r)}function $s(A,e,i,r,f,a,n){A=+A;e=+e;i=+i;r=+r;f=f|0;a=a|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0.0;o=k;k=k+80|0;w=o+48|0;s=o+24|0;u=o;l=0;while(1){if((l|0)>=(a|0)){t=0;break}h=+b[n+(l<<3)>>3];b[w+(l<<3)>>3]=h;b[s+(l<<3)>>3]=h;l=l+1|0}while(1){if((t|0)>=(f|0))break;c=U(t,a)|0;l=0;while(1){if((l|0)>=(a|0))break;B=+b[n+(l+c<<3)>>3];d=w+(l<<3)|0;h=+b[d>>3];b[d>>3]=B>3];b[d>>3]=B>h?B:h;l=l+1|0}t=t+1|0}h=+b[s>>3]-+b[w>>3];i=h!=0.0?(i-A)/h:1.0;h=+b[s+8>>3]-+b[w+8>>3];B=(r-e)/h;i=h!=0.0?i>3]=A;b[u+8>>3]=e;b[u+16>>3]=0.0;t=0;while(1){if((t|0)>=(f|0))break;c=U(t,a)|0;l=0;while(1){if((l|0)>=(a|0))break;d=n+(l+c<<3)|0;b[d>>3]=(+b[d>>3]-+b[w+(l<<3)>>3])*i+ +b[u+(l<<3)>>3];l=l+1|0}t=t+1|0}k=o;return}function Aw(A,e){A=A|0;e=e|0;if((vh(A)|0)==1){A=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}else{ew(A);if(!((gR(po(e,95704)|0)|0)<<24>>24))e=Ju(A,186208)|0;else e=iw(A)|0;ju(A,e,186208);rw(e)}return}function ew(A){A=A|0;var e=0;e=Id(a[a[(a[(cd(A)|0)+16>>2]|0)+112>>2]>>2]|0)|0;A=a[46925]|0;if((e|0)!=(A|0)){a[46555]=0;a[46925]=e;a[46926]=Yo(e,0,95713,0)|0;a[46927]=Yo(a[46925]|0,1,95721,0)|0;a[46928]=Yo(a[46925]|0,1,95738,0)|0;A=a[46925]|0}a[46929]=po(A,95738)|0;zu(186208);a[46554]=1;b[23280]=+oR(a[46925]|0,a[46926]|0,1.0,0.0);a[46556]=a[46927];a[46557]=a[46928];a[46558]=a[46929];return}function iw(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+144|0;r=f;i=f+8|0;e=a[46555]|0;a[46555]=e+1;a[r>>2]=e;P4(i,96234,r)|0;i=Yu(XB(A,i,1)|0)|0;r=i+8|0;e=cd(A)|0;while(1){if(!e)break;kd(a[r>>2]|0,e,1)|0;a[(a[(a[e+16>>2]|0)+112>>2]|0)+12>>2]=i;e=bd(A,e)|0}k=f;return i|0}function rw(A){A=A|0;Tu(A);return}function fw(A,e){A=A|0;e=e|0;var i=0;i=$F(32)|0;a[i>>2]=4;b[i+8>>3]=.75;a[i+16>>2]=1073741824;a[i+20>>2]=1;a[i+24>>2]=A;a[i+28>>2]=e;return i|0}function aw(A){A=A|0;L2(A);return}function nw(A){A=A|0;var e=0,i=0;if(!A)return;i=a[A+8>>2]|0;do{if(i|0){if(a[A>>2]|0){rq(i);e=a[A+12>>2]|0;if(!e)break;rq(e);break}if(a[A+36>>2]|0?(rq(i),e=a[A+12>>2]|0,e|0):0)rq(e)}}while(0);rq(a[A+16>>2]|0);rq(a[A+20>>2]|0);e=a[A+24>>2]|0;if(e|0?(a[A>>2]|0)>0:0)L2(e);nw(a[A+28>>2]|0);L2(A);return}function lw(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0;E=k;k=k+32|0;w=E+16|0;u=E+12|0;o=E+8|0;h=E+4|0;d=E;a[w>>2]=A;a[u>>2]=0;a[o>>2]=0;a[h>>2]=0;a[d>>2]=0;a[l>>2]=0;a[t>>2]=0;a[e>>2]=0;a[n>>2]=0;a[r>>2]=0;B=c+28|0;v=c+8|0;g=+(a[A+4>>2]|0);f=i;do{tw(A,w,f,u,0,d,o,h,c,s);f=a[w>>2]|0;if(!f)break;i=a[f+4>>2]|0;f=a[l>>2]|0;if(!f){a[l>>2]=a[o>>2];a[t>>2]=a[h>>2]}else{A=Vs(f,a[o>>2]|0)|0;rq(a[l>>2]|0);rq(a[o>>2]|0);a[l>>2]=A;A=Vs(a[h>>2]|0,a[t>>2]|0)|0;rq(a[t>>2]|0);rq(a[h>>2]|0);a[t>>2]=A}f=a[e>>2]|0;if(f|0)rq(f);a[e>>2]=a[w>>2];f=a[r>>2]|0;if(f|0)rq(f);f=a[u>>2]|0;a[r>>2]=f;A=a[n>>2]|0;if(A){L2(A);f=a[u>>2]|0}a[n>>2]=a[d>>2];A=a[w>>2]|0;a[d>>2]=0;if(!(+b[v>>3]*g<+(i|0)))break}while((a[B>>2]|0)==1);k=E;return}function tw(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+32|0;W=D+28|0;h=D+24|0;m=D+20|0;y=D+16|0;u=D+12|0;z=D+8|0;Y=D+4|0;E=D;a[W>>2]=0;a[h>>2]=0;a[y>>2]=0;a[z>>2]=0;a[Y>>2]=0;a[e>>2]=0;a[r>>2]=0;a[l>>2]=0;a[t>>2]=0;L=a[A>>2]|0;o=c+24|0;a[s>>2]=a[o>>2];w=a[o>>2]|0;A:do{switch(w|0){case 12:{a[o>>2]=3;a[s>>2]=3;tw(A,e,i,r,f,n,l,t,c,s);if((((a[e>>2]|0)==0?(a[o>>2]=4,a[s>>2]=4,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0)?(a[o>>2]=6,a[s>>2]=6,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0)?(a[o>>2]=9,a[s>>2]=9,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0){a[o>>2]=2;a[s>>2]=2;tw(A,e,i,r,f,n,l,t,c,s)}a[o>>2]=12;o=0;h=0;c=0;u=0;w=0;s=0;break}case 9:case 10:{i=a[c+20>>2]|0;if((w|0)==9)ow(A,i,y,u,m);else hw(A,i,y,u,m);g=a[A+20>>2]|0;E=a[A+24>>2]|0;v=a[u>>2]|0;if(!(a[c+28>>2]|0)){if((v|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(v|0)){o=0;h=0;c=0;u=0;w=0;s=0;break A}}else if((v|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break A}if((v|0)>=(a[c>>2]|0)){G=a[m>>2]|0;Z=G<<2;I=$F(Z)|0;Z=$F(Z)|0;G=$F(G<<3)|0;a[m>>2]=0;B=a[y>>2]|0;d=0;u=0;e:while(1){if((d|0)>=(L|0))break;i=B+(d<<2)|0;if((a[i>>2]|0)!=-1){a[I+(u<<2)>>2]=d;a[Z+(a[m>>2]<<2)>>2]=a[i>>2];h=a[m>>2]|0;c=h+1|0;a[m>>2]=c;b[G+(h<<3)>>3]=1.0;d=d+1|0;u=c;continue}w=a[g+(d<<2)>>2]|0;h=d+1|0;c=g+(h<<2)|0;o=a[c>>2]|0;i=0;s=w;while(1){if((s|0)>=(o|0))break;i=((a[B+(a[E+(s<<2)>>2]<<2)>>2]|0)>>>31^1)+i|0;s=s+1|0}C=1.0/+(i|0);i=o;while(1){if((w|0)>=(i|0)){d=h;continue e}s=E+(w<<2)|0;if((a[B+(a[s>>2]<<2)>>2]|0)>-1){a[I+(u<<2)>>2]=d;a[Z+(a[m>>2]<<2)>>2]=a[B+(a[s>>2]<<2)>>2];i=a[m>>2]|0;s=i+1|0;a[m>>2]=s;b[G+(i<<3)>>3]=C;i=a[c>>2]|0}else s=u;w=w+1|0;u=s}}L=hq(u,L,v,I,Z,G,1,8)|0;a[l>>2]=L;L=iq(L)|0;a[t>>2]=L;l=Js(L,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=G;h=Z;c=I;u=I;w=Z;s=G}else{Ms(a[t>>2]|0,f,n,0);o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;a[r>>2]=0;o=G;h=Z;c=I;u=I;w=Z;s=G}}else{o=0;h=0;c=0;u=0;w=0;s=0}break}case 5:{Q=26;break}case 1:{s=c+20|0;ww(A,a[s>>2]|0,W,h);i=a[o>>2]|0;if((i|0)==2){i=s;Q=24}else Q=25;break}case 2:{i=c+20|0;Q=24;break}case 3:{cw(A,a[c+20>>2]|0,z,Y,E);Q=12;break}case 4:{bw(A,a[c+20>>2]|0,z,Y,E);Q=12;break}case 6:{sw(A,z,Y,E);Q=12;break}default:{o=0;h=0;c=0;u=0;w=0;s=0}}}while(0);do{if((Q|0)==12){d=a[E>>2]|0;if(!(a[c+28>>2]|0)){if((d|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(d|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}}else if((d|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}if((d|0)>=(a[c>>2]|0)){v=L<<2;B=$F(v)|0;v=$F(v)|0;g=$F(L<<3)|0;a[m>>2]=0;u=a[Y>>2]|0;o=a[z>>2]|0;w=0;i=0;A:while(1){if((w|0)>=(a[E>>2]|0))break;h=w+1|0;c=u+(h<<2)|0;s=a[u+(w<<2)>>2]|0;while(1){if((s|0)>=(a[c>>2]|0)){w=h;continue A}a[B+(i<<2)>>2]=a[o+(s<<2)>>2];a[v+(a[m>>2]<<2)>>2]=w;Z=a[m>>2]|0;G=Z+1|0;a[m>>2]=G;b[g+(Z<<3)>>3]=1.0;s=s+1|0;i=G}}L=hq(i,L,d,B,v,g,1,8)|0;a[l>>2]=L;a[t>>2]=iq(L)|0;a[r>>2]=0;l=Js(a[t>>2]|0,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=g;h=v;c=B;u=B;w=v;s=g}else{Ms(a[t>>2]|0,f,n,0);a[t>>2]=Rs(a[t>>2]|0)|0;o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;o=g;h=v;c=B;u=B;w=v;s=g}}else{o=0;h=0;c=0;u=0;w=0;s=0}}else if((Q|0)==24){uw(A,a[i>>2]|0,W,h);i=a[o>>2]|0;Q=25}}while(0);if((Q|0)==25)if((i|0)==5)Q=26;else Q=27;if((Q|0)==26){kw(A,a[c+20>>2]|0,W,h);Q=27}do{if((Q|0)==27){i=a[h>>2]|0;if(!(a[c+28>>2]|0)){if((i|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(i|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}}else if((i|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}if((i|0)>=(a[c>>2]|0)){B=L<<2;d=$F(B)|0;B=$F(B)|0;v=$F(L<<3)|0;a[m>>2]=0;h=a[W>>2]|0;i=0;o=0;while(1){if((o|0)>=(L|0))break;s=h+(o<<2)|0;w=a[s>>2]|0;if((w|0)>-1){a[d+(a[m>>2]<<2)>>2]=o;a[B+(a[m>>2]<<2)>>2]=i;Q=a[m>>2]|0;u=Q+1|0;a[m>>2]=u;b[v+(Q<<3)>>3]=1.0;if((w|0)!=(o|0)){a[d+(u<<2)>>2]=a[s>>2];a[B+(a[m>>2]<<2)>>2]=i;Q=a[m>>2]|0;a[m>>2]=Q+1;b[v+(Q<<3)>>3]=1.0;a[h+(a[s>>2]<<2)>>2]=-1}a[s>>2]=-1;i=i+1|0}o=o+1|0}L=hq(a[m>>2]|0,L,i,d,B,v,1,8)|0;a[l>>2]=L;L=iq(L)|0;a[t>>2]=L;l=Js(L,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=v;h=B;c=d;u=d;w=B;s=v}else{Ms(a[t>>2]|0,f,n,0);a[t>>2]=Rs(a[t>>2]|0)|0;o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;a[r>>2]=0;o=v;h=B;c=d;u=d;w=B;s=v}}else{o=0;h=0;c=0;u=0;w=0;s=0}}}while(0);i=a[W>>2]|0;if(i|0)L2(i);i=a[y>>2]|0;if(i|0)L2(i);if(c|0)L2(u);if(h|0)L2(w);if(o|0)L2(s);i=a[z>>2]|0;if(i|0)L2(i);i=a[Y>>2]|0;if(i|0)L2(i);k=D;return}function cw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;v=a[A+20>>2]|0;g=a[A+24>>2]|0;C=a[A>>2]|0;E=C<<2;a[i>>2]=$F(E)|0;a[r>>2]=$F(E+4|0)|0;E=$F(E)|0;n=0;while(1){if((n|0)>=(C|0))break;a[E+(n<<2)>>2]=n;n=n+1|0}a[f>>2]=0;d=a[r>>2]|0;a[d>>2]=0;B=a[A+28>>2]|0;A:do{if(!e){n=0;A=0;e:while(1){while(1){if((A|0)>=(C|0)){A=0;t=0.0;e=0;break e}e=A;A=A+1|0;if((a[E+(e<<2)>>2]|0)==-1)continue;e=a[v+(e<<2)>>2]|0;if(((a[v+(A<<2)>>2]|0)-e|0)==1)break}s=a[g+(e<<2)>>2]|0;a[E+(s<<2)>>2]=-1;w=a[i>>2]|0;a[w+(n<<2)>>2]=s;u=v+(s+1<<2)|0;c=a[v+(s<<2)>>2]|0;n=n+1|0;while(1){if((c|0)>=(a[u>>2]|0))break;e=g+(c<<2)|0;l=a[e>>2]|0;if((s|0)!=(l|0)?((a[v+(l+1<<2)>>2]|0)-(a[v+(l<<2)>>2]|0)|0)==1:0){a[E+(l<<2)>>2]=-1;a[w+(n<<2)>>2]=a[e>>2];n=n+1|0}c=c+1|0}e=a[f>>2]|0;l=a[d+(e<<2)>>2]|0;if((n-l|0)<5){r=e+1|0;a[f>>2]=r;a[d+(r<<2)>>2]=n;continue}l=l+1|0;e=e+1|0;a[f>>2]=e;a[d+(e<<2)>>2]=l;e=l;while(1){if(!((l|0)<(n|0)&(e|0)<(n|0)))continue e;r=l+3|0;r=(n|0)<(r|0)?n:r;h=(a[f>>2]|0)+1|0;a[f>>2]=h;a[d+(h<<2)>>2]=r;e=e+1|0;l=r}}e:while(1){do{u=e;while(1){if((u|0)>=(C|0)){A=0;break e}o=E+(u<<2)|0;l=a[o>>2]|0;if((l|0)!=-1)break;u=u+1|0}e=u+1|0;h=a[v+(e<<2)>>2]|0;s=1;w=a[v+(u<<2)>>2]|0;while(1){if((w|0)>=(h|0))break;c=a[g+(w<<2)>>2]|0;if((u|0)!=(c|0)?(a[E+(c<<2)>>2]|0)!=-1:0)if((l|0)!=-1){k=+b[B+(w<<3)>>3];if((s|0)==0?!(k>t):0)s=0;else{s=0;A=c;t=k}}else l=-1;w=w+1|0}}while((s|0)!=0);a[E+(A<<2)>>2]=-1;a[o>>2]=-1;h=a[i>>2]|0;a[h+(n<<2)>>2]=u;r=n+2|0;a[h+(n+1<<2)>>2]=A;h=(a[f>>2]|0)+1|0;a[f>>2]=h;a[d+(h<<2)>>2]=r;n=r}while(1){if((A|0)>=(C|0))break A;if((a[E+(A<<2)>>2]|0)==(A|0)){g=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[d+(n<<2)>>2]=g;n=g}A=A+1|0}}else{d=Ts(C)|0;u=0;n=0;while(1){if((u|0)>=(C|0)){h=0;A=0;t=0.0;break}A=a[d+(u<<2)>>2]|0;e:do{if((a[E+(A<<2)>>2]|0)!=-1?(o=a[v+(A<<2)>>2]|0,((a[v+(A+1<<2)>>2]|0)-o|0)==1):0){c=a[g+(o<<2)>>2]|0;a[E+(c<<2)>>2]=-1;s=a[i>>2]|0;a[s+(n<<2)>>2]=c;w=v+(c+1<<2)|0;l=a[v+(c<<2)>>2]|0;n=n+1|0;while(1){if((l|0)>=(a[w>>2]|0))break;A=g+(l<<2)|0;e=a[A>>2]|0;if((c|0)!=(e|0)?((a[v+(e+1<<2)>>2]|0)-(a[v+(e<<2)>>2]|0)|0)==1:0){a[E+(e<<2)>>2]=-1;a[s+(n<<2)>>2]=a[A>>2];n=n+1|0}l=l+1|0}l=a[r>>2]|0;A=a[f>>2]|0;e=a[l+(A<<2)>>2]|0;if((n-e|0)<5){h=A+1|0;a[f>>2]=h;a[l+(h<<2)>>2]=n;break}e=e+1|0;A=A+1|0;a[f>>2]=A;a[l+(A<<2)>>2]=e;A=e;while(1){if(!((e|0)<(n|0)&(A|0)<(n|0)))break e;h=e+3|0;h=(n|0)<(h|0)?n:h;w=(a[f>>2]|0)+1|0;a[f>>2]=w;a[l+(w<<2)>>2]=h;A=A+1|0;e=h}}}while(0);u=u+1|0}while(1){if((h|0)>=(C|0)){A=0;break}w=a[d+(h<<2)>>2]|0;u=E+(w<<2)|0;e=a[u>>2]|0;if((e|0)!=-1){o=a[v+(w+1<<2)>>2]|0;c=1;s=a[v+(w<<2)>>2]|0;while(1){if((s|0)>=(o|0))break;l=a[g+(s<<2)>>2]|0;if((w|0)!=(l|0)?(a[E+(l<<2)>>2]|0)!=-1:0)if((e|0)!=-1){k=+b[B+(s<<3)>>3];if((c|0)==0?!(k>t):0)c=0;else{c=0;A=l;t=k}}else e=-1;s=s+1|0}if(!c){a[E+(A<<2)>>2]=-1;a[u>>2]=-1;u=a[i>>2]|0;a[u+(n<<2)>>2]=w;o=n+2|0;a[u+(n+1<<2)>>2]=A;u=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[u+(n<<2)>>2]=o;n=o}}h=h+1|0}while(1){if((A|0)>=(C|0))break;if((a[E+(A<<2)>>2]|0)==(A|0)){g=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;v=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[v+(n<<2)>>2]=g;n=g}A=A+1|0}L2(d)}}while(0);L2(E);return}function bw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+16|0;h=Q+8|0;Z=Q+4|0;G=Q;a[Z>>2]=0;a[G>>2]=0;E=a[A+20>>2]|0;g=a[A+24>>2]|0;C=a[A>>2]|0;I=C<<2;a[i>>2]=$F(I)|0;a[r>>2]=$F(I+4|0)|0;I=$F(I)|0;n=0;while(1){if((n|0)>=(C|0))break;a[I+(n<<2)>>2]=n;n=n+1|0}ps(A,h,Z,G);a[f>>2]=0;B=a[r>>2]|0;a[B>>2]=0;v=a[A+28>>2]|0;n=0;A=0;A:while(1){c=a[h>>2]|0;s=a[G>>2]|0;do{if((A|0)>=(c|0))break A;w=A;A=A+1|0;o=s+(A<<2)|0;t=a[o>>2]|0;w=a[s+(w<<2)>>2]|0}while((t-w|0)<2);s=a[Z>>2]|0;c=a[B+(a[f>>2]<<2)>>2]|0;while(1){if((w|0)>=(t|0))break;d=s+(w<<2)|0;a[I+(a[d>>2]<<2)>>2]=-1;t=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=a[d>>2];if((t-c|0)>3){n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[B+(n<<2)>>2]=t;n=t}else n=c;c=n;w=w+1|0;n=t;t=a[o>>2]|0}if((n|0)<=(c|0))continue;d=(a[f>>2]|0)+1|0;a[f>>2]=d;a[B+(d<<2)>>2]=n}A:do{if(!e){A=0;l=0.0;t=0;e:while(1){do{e=t;while(1){if((e|0)>=(C|0)){A=0;break e}h=I+(e<<2)|0;c=a[h>>2]|0;if((c|0)!=-1)break;e=e+1|0}t=e+1|0;d=a[E+(t<<2)>>2]|0;w=1;o=a[E+(e<<2)>>2]|0;while(1){if((o|0)>=(d|0))break;s=a[g+(o<<2)>>2]|0;if((e|0)!=(s|0)?(a[I+(s<<2)>>2]|0)!=-1:0)if((c|0)!=-1){u=+b[v+(o<<3)>>3];if((w|0)==0?!(u>l):0)w=0;else{w=0;A=s;l=u}}else c=-1;o=o+1|0}}while((w|0)!=0);a[I+(A<<2)>>2]=-1;a[h>>2]=-1;d=a[i>>2]|0;a[d+(n<<2)>>2]=e;r=n+2|0;a[d+(n+1<<2)>>2]=A;d=(a[f>>2]|0)+1|0;a[f>>2]=d;a[B+(d<<2)>>2]=r;n=r}while(1){if((A|0)>=(C|0))break A;if((a[I+(A<<2)>>2]|0)==(A|0)){E=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[B+(n<<2)>>2]=E;n=E}A=A+1|0}}else{B=Ts(C)|0;d=0;A=0;l=0.0;while(1){if((d|0)>=(C|0)){A=0;break}o=a[B+(d<<2)>>2]|0;e=I+(o<<2)|0;t=a[e>>2]|0;if((t|0)!=-1){h=a[E+(o+1<<2)>>2]|0;s=1;w=a[E+(o<<2)>>2]|0;while(1){if((w|0)>=(h|0))break;c=a[g+(w<<2)>>2]|0;if((o|0)!=(c|0)?(a[I+(c<<2)>>2]|0)!=-1:0)if((t|0)!=-1){u=+b[v+(w<<3)>>3];if((s|0)==0?!(u>l):0)s=0;else{s=0;A=c;l=u}}else t=-1;w=w+1|0}if(!s){a[I+(A<<2)>>2]=-1;a[e>>2]=-1;e=a[i>>2]|0;a[e+(n<<2)>>2]=o;h=n+2|0;a[e+(n+1<<2)>>2]=A;e=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[e+(n<<2)>>2]=h;n=h}}d=d+1|0}while(1){if((A|0)>=(C|0))break;if((a[I+(A<<2)>>2]|0)==(A|0)){E=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;g=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[g+(n<<2)>>2]=E;n=E}A=A+1|0}L2(B)}}while(0);L2(a[Z>>2]|0);L2(a[G>>2]|0);L2(I);k=Q;return}function sw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;d=a[A+20>>2]|0;B=a[A+24>>2]|0;E=a[A>>2]|0;g=E<<2;a[e>>2]=$F(g)|0;a[i>>2]=$F(g+4|0)|0;g=$F(g)|0;h=$F(E<<4)|0;f=0;while(1){if((f|0)>=(E|0))break;a[g+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=0;a[a[i>>2]>>2]=0;o=a[A+28>>2]|0;v=Ts(E)|0;f=0;w=0;while(1){if((w|0)>=(E|0)){k=0;break}A=a[v+(w<<2)>>2]|0;A:do{if((a[g+(A<<2)>>2]|0)!=-1?(u=a[d+(A<<2)>>2]|0,((a[d+(A+1<<2)>>2]|0)-u|0)==1):0){t=a[B+(u<<2)>>2]|0;a[g+(t<<2)>>2]=-1;c=a[e>>2]|0;a[c+(f<<2)>>2]=t;s=d+(t+1<<2)|0;l=a[d+(t<<2)>>2]|0;f=f+1|0;while(1){if((l|0)>=(a[s>>2]|0))break;A=B+(l<<2)|0;n=a[A>>2]|0;if((t|0)!=(n|0)?((a[d+(n+1<<2)>>2]|0)-(a[d+(n<<2)>>2]|0)|0)==1:0){a[g+(n<<2)>>2]=-1;a[c+(f<<2)>>2]=a[A>>2];f=f+1|0}l=l+1|0}l=a[i>>2]|0;A=a[r>>2]|0;n=a[l+(A<<2)>>2]|0;if((f-n|0)<5){k=A+1|0;a[r>>2]=k;a[l+(k<<2)>>2]=f;break}n=n+1|0;A=A+1|0;a[r>>2]=A;a[l+(A<<2)>>2]=n;A=n;while(1){if(!((n|0)<(f|0)&(A|0)<(f|0)))break A;k=n+3|0;k=(f|0)<(k|0)?f:k;s=(a[r>>2]|0)+1|0;a[r>>2]=s;a[l+(s<<2)>>2]=k;A=A+1|0;n=k}}}while(0);w=w+1|0}while(1){if((k|0)>=(E|0)){A=0;break}w=a[v+(k<<2)>>2]|0;u=g+(w<<2)|0;A=a[u>>2]|0;if((A|0)!=-1){s=a[d+(w+1<<2)>>2]|0;n=0;c=a[d+(w<<2)>>2]|0;while(1){if((c|0)>=(s|0))break;t=a[B+(c<<2)>>2]|0;if((w|0)!=(t|0)?(a[g+(t<<2)>>2]|0)!=-1:0){l=n<<1;if((A|0)==-1)A=-1;else{b[h+(l<<3)>>3]=+(t|0);b[h+((l|1)<<3)>>3]=+b[o+(c<<3)>>3];n=n+1|0}}c=c+1|0}if((n|0)>0){K4(h,n,16,81);n=(n|0)<3?n:3;A=0;while(1){if((A|0)>=(n|0))break;s=~~+b[h+(A<<1<<3)>>3];a[g+(s<<2)>>2]=-1;a[(a[e>>2]|0)+(f<<2)>>2]=s;A=A+1|0;f=f+1|0}a[u>>2]=-1;u=f+1|0;a[(a[e>>2]|0)+(f<<2)>>2]=w;w=a[i>>2]|0;f=(a[r>>2]|0)+1|0;a[r>>2]=f;a[w+(f<<2)>>2]=u;f=u}}k=k+1|0}while(1){if((A|0)>=(E|0))break;if((a[g+(A<<2)>>2]|0)==(A|0)){B=f+1|0;a[(a[e>>2]|0)+(f<<2)>>2]=A;d=a[i>>2]|0;f=(a[r>>2]|0)+1|0;a[r>>2]=f;a[d+(f<<2)>>2]=B;f=B}A=A+1|0}L2(v);L2(g);return}function ww(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;d=a[A>>2]|0;f=a[A+4>>2]|0;b=$F(d<<2)|0;a[i>>2]=b;A=0;while(1){if((A|0)>=(d|0))break;a[b+(A<<2)>>2]=A;A=A+1|0}a[r>>2]=f;A:do{if(!e){f=0;e:while(1){if((f|0)>=(d|0))break A;e=f+1|0;n=o+(e<<2)|0;l=b+(f<<2)|0;t=b+(f<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[n>>2]|0)){f=e;continue e}c=h+(A<<2)|0;i=a[c>>2]|0;if(((f|0)!=(i|0)?(k=b+(i<<2)|0,(a[k>>2]|0)==(i|0)):0)?(a[l>>2]|0)==(f|0):0){a[k>>2]=f;a[t>>2]=a[c>>2];a[r>>2]=(a[r>>2]|0)+-1}A=A+1|0}}}else{e=Ts(d)|0;A=0;while(1){if((A|0)>=(d|0))break;n=a[e+(A<<2)>>2]|0;l=o+(n+1<<2)|0;f=a[o+(n<<2)>>2]|0;while(1){if((f|0)>=(a[l>>2]|0))break;t=h+(f<<2)|0;c=a[t>>2]|0;if(((n|0)!=(c|0)?(s=a[i>>2]|0,w=s+(c<<2)|0,(a[w>>2]|0)==(c|0)):0)?(u=s+(n<<2)|0,(a[u>>2]|0)==(n|0)):0){a[w>>2]=n;a[u>>2]=a[t>>2];a[r>>2]=(a[r>>2]|0)+-1}f=f+1|0}A=A+1|0}L2(e)}}while(0);return}function uw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;d=a[A+20>>2]|0;B=a[A+24>>2]|0;v=a[A>>2]|0;n=a[A+4>>2]|0;k=$F(v<<2)|0;a[i>>2]=k;f=0;while(1){if((f|0)>=(v|0))break;a[k+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=n;h=a[A+28>>2]|0;A:do{if(!e){f=0;l=0.0;c=0;while(1){if((c|0)>=(v|0))break A;s=c+1|0;w=a[d+(s<<2)>>2]|0;u=k+(c<<2)|0;n=1;e=a[d+(c<<2)>>2]|0;while(1){if((e|0)>=(w|0))break;A=a[B+(e<<2)>>2]|0;if(((c|0)!=(A|0)?(a[k+(A<<2)>>2]|0)==(A|0):0)?(a[u>>2]|0)==(c|0):0){t=+b[h+(e<<3)>>3];if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(n|0){c=s;continue}a[k+(f<<2)>>2]=c;a[k+(c<<2)>>2]=f;a[r>>2]=(a[r>>2]|0)+-1;c=s}}else{o=Ts(v)|0;k=0;f=0;l=0.0;while(1){if((k|0)>=(v|0))break;c=a[o+(k<<2)>>2]|0;s=a[i>>2]|0;w=s+(c<<2)|0;if((a[w>>2]|0)==(c|0)){u=a[d+(c+1<<2)>>2]|0;e=a[d+(c<<2)>>2]|0;n=1;while(1){if((e|0)>=(u|0))break;A=a[B+(e<<2)>>2]|0;if((c|0)!=(A|0)?(a[s+(A<<2)>>2]|0)==(A|0):0){t=+b[h+(e<<3)>>3];if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(!n){a[s+(f<<2)>>2]=c;a[w>>2]=f;a[r>>2]=(a[r>>2]|0)+-1}}k=k+1|0}L2(o)}}while(0);return}function kw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0;B=a[A+20>>2]|0;v=a[A+24>>2]|0;g=a[A>>2]|0;n=a[A+4>>2]|0;o=$F(g<<2)|0;a[i>>2]=o;f=0;while(1){if((f|0)>=(g|0))break;a[o+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=n;d=a[A+28>>2]|0;A:do{if(!e){f=0;l=0.0;c=0;while(1){if((c|0)>=(g|0))break A;e=a[B+(c<<2)>>2]|0;s=c+1|0;w=a[B+(s<<2)>>2]|0;u=o+(c<<2)|0;k=+(w-e|0);n=1;while(1){if((e|0)>=(w|0))break;A=a[v+(e<<2)>>2]|0;if(((c|0)!=(A|0)?(a[o+(A<<2)>>2]|0)==(A|0):0)?(a[u>>2]|0)==(c|0):0){t=+b[d+(e<<3)>>3]/(+((a[B+(A+1<<2)>>2]|0)-(a[B+(A<<2)>>2]|0)|0)*k);if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(n|0){c=s;continue}a[o+(f<<2)>>2]=c;a[o+(c<<2)>>2]=f;a[r>>2]=(a[r>>2]|0)+-1;c=s}}else{h=Ts(g)|0;o=0;f=0;l=0.0;while(1){if((o|0)>=(g|0))break;c=a[h+(o<<2)>>2]|0;s=a[i>>2]|0;w=s+(c<<2)|0;if((a[w>>2]|0)==(c|0)){e=a[B+(c<<2)>>2]|0;u=a[B+(c+1<<2)>>2]|0;k=+(u-e|0);n=1;while(1){if((e|0)>=(u|0))break;A=a[v+(e<<2)>>2]|0;if((c|0)!=(A|0)?(a[s+(A<<2)>>2]|0)==(A|0):0){t=+b[d+(e<<3)>>3]/(+((a[B+(A+1<<2)>>2]|0)-(a[B+(A<<2)>>2]|0)|0)*k);if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(!n){a[s+(f<<2)>>2]=c;a[w>>2]=f;a[r>>2]=(a[r>>2]|0)+-1}}o=o+1|0}L2(h)}}while(0);return}function ow(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=a[A+20>>2]|0;u=a[A+24>>2]|0;s=a[A>>2]|0;c=$F(s<<2)|0;a[i>>2]=c;A=0;while(1){if((A|0)>=(s|0))break;a[c+(A<<2)>>2]=-100;A=A+1|0}a[r>>2]=0;a[f>>2]=0;A:do{if(!e){e=0;e:while(1){if((e|0)>=(s|0))break A;if((a[c+(e<<2)>>2]|0)!=-100){e=e+1|0;continue}n=a[r>>2]|0;a[r>>2]=n+1;a[c+(e<<2)>>2]=n;n=e+1|0;l=w+(n<<2)|0;A=a[w+(e<<2)>>2]|0;while(1){if((A|0)>=(a[l>>2]|0)){e=n;continue e}t=a[u+(A<<2)>>2]|0;if((e|0)!=(t|0)){a[c+(t<<2)>>2]=-1;a[f>>2]=(a[f>>2]|0)+1}A=A+1|0}}}else{t=Ts(s)|0;l=0;while(1){if((l|0)>=(s|0))break;c=a[t+(l<<2)>>2]|0;b=a[i>>2]|0;A=b+(c<<2)|0;e:do{if((a[A>>2]|0)==-100){e=a[r>>2]|0;a[r>>2]=e+1;a[A>>2]=e;e=w+(c+1<<2)|0;A=a[w+(c<<2)>>2]|0;while(1){if((A|0)>=(a[e>>2]|0))break e;n=a[u+(A<<2)>>2]|0;if((c|0)!=(n|0)){a[b+(n<<2)>>2]=-1;a[f>>2]=(a[f>>2]|0)+1}A=A+1|0}}}while(0);l=l+1|0}L2(t)}}while(0);a[f>>2]=(a[f>>2]|0)+(a[r>>2]|0);return}function hw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;w=h+4|0;u=h;o=a[A+20>>2]|0;s=a[A+24>>2]|0;l=a[A>>2]|0;A=$F(l<<2)|0;a[i>>2]=A;n=0;while(1){a[w>>2]=n;if((n|0)>=(l|0))break;a[A+(n<<2)>>2]=-100;n=(a[w>>2]|0)+1|0}a[r>>2]=0;a[f>>2]=0;b=Cw(l,(l<<1)+-2|0)|0;A:do{if(!e){A=0;while(1){a[w>>2]=A;if((A|0)>=(l|0))break A;c=A+1|0;Zw(b,A,(a[o+(c<<2)>>2]|0)-(a[o+(A<<2)>>2]|0)|0)|0;A=c}}else{n=Ts(l)|0;A=0;while(1){if((A|0)>=(l|0))break;c=a[n+(A<<2)>>2]|0;a[w>>2]=c;Zw(b,c,(a[o+(c+1<<2)>>2]|0)-(a[o+(c<<2)>>2]|0)|0)|0;A=A+1|0}L2(n)}}while(0);A:while(1){c=(Gw(b,w,u)|0)==0;A=a[r>>2]|0;if(c)break;a[r>>2]=A+1;a[(a[i>>2]|0)+(a[w>>2]<<2)>>2]=A;A=a[w>>2]|0;c=a[o+(A<<2)>>2]|0;while(1){if((c|0)>=(a[o+(A+1<<2)>>2]|0))continue A;t=a[s+(c<<2)>>2]|0;if((A|0)!=(t|0)){e:do{if((a[(a[i>>2]|0)+(t<<2)>>2]|0)==-100){mw(b,t)|0;a[(a[i>>2]|0)+(t<<2)>>2]=-1;n=o+(t+1<<2)|0;A=a[o+(t<<2)>>2]|0;while(1){if((A|0)>=(a[n>>2]|0))break e;e=s+(A<<2)|0;l=a[e>>2]|0;if((t|0)!=(l|0)?(a[(a[i>>2]|0)+(l<<2)>>2]|0)==-100:0){l=Qw(b,l)|0;a[u>>2]=l;Zw(b,a[e>>2]|0,l+1|0)|0}A=A+1|0}}}while(0);a[f>>2]=(a[f>>2]|0)+1;A=a[w>>2]|0}c=c+1|0}}a[f>>2]=(a[f>>2]|0)+A;Iw(b);k=h;return}function dw(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A+8>>3];i=+b[e+8>>3];return(r>i?-1:r>2]|0)==1:0)f=A;else f=Hs(A)|0;do{if(!e)e=0;else{if(cq(e,0)|0?(a[e+16>>2]|0)==1:0)break;e=uq(e,0)|0}}while(0);i=vw(f,e,i)|0;e=gw(i,r)|0;if((f|0)!=(A|0))a[i+36>>2]=1;return e|0}function vw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(!A)A=0;else{r=$F(44)|0;a[r>>2]=0;a[r+4>>2]=a[A+4>>2];a[r+8>>2]=A;a[r+12>>2]=e;a[r+16>>2]=0;a[r+20>>2]=0;a[r+24>>2]=i;a[r+28>>2]=0;a[r+32>>2]=0;a[r+36>>2]=0;A=r}return A|0}function gw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;r=b+20|0;f=b+16|0;n=b+12|0;l=b+8|0;t=b+4|0;c=b;a[f>>2]=0;if((a[A>>2]|0)<((a[e+16>>2]|0)+-1|0)?(lw(a[A+8>>2]|0,t,a[A+12>>2]|0,c,0,f,n,l,e,r),i=a[t>>2]|0,i|0):0){t=a[c>>2]|0;c=vw(i,t,a[f>>2]|0)|0;a[A+28>>2]=c;a[c+40>>2]=a[r>>2];a[c>>2]=(a[A>>2]|0)+1;a[c+4>>2]=a[i>>2];a[c+8>>2]=i;a[c+12>>2]=t;a[c+16>>2]=a[n>>2];a[A+20>>2]=a[l>>2];a[c+32>>2]=A;gw(c,e)|0}k=b;return A|0}function Ew(A){A=A|0;var e=0;while(1){e=a[A+28>>2]|0;if(!e)break;else A=e}return A|0}function Cw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=$F(28)|0;a[f>>2]=0;a[f+4>>2]=A;a[f+8>>2]=e;a[f+12>>2]=-1;r=f+16|0;a[r>>2]=$F((e<<2)+4|0)|0;i=0;while(1){if((i|0)>(e|0))break;a[(a[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}e=(A<<2)+4|0;r=f+20|0;a[r>>2]=$F(e)|0;i=0;while(1){if((i|0)>(A|0))break;a[(a[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}e=$F(e)|0;a[f+24>>2]=e;i=0;while(1){if((i|0)>(A|0))break;a[e+(i<<2)>>2]=-999;i=i+1|0}return f|0}function Iw(A){A=A|0;var e=0,i=0,r=0,f=0;if(A|0){r=A+16|0;e=a[r>>2]|0;if(e|0){f=A+8|0;i=0;while(1){if((i|0)>(a[f>>2]|0))break;mu(a[e+(i<<2)>>2]|0,105);i=i+1|0;e=a[r>>2]|0}L2(e)}e=a[A+20>>2]|0;if(e|0)L2(e);L2(a[A+24>>2]|0);L2(A)}return}function Zw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;n=A+8|0;c=A+20|0;t=A+24|0;b=A+16|0;if(!A)vA(138953,95743,69,95759);while(1){if((a[n>>2]|0)<(i|0)){l=4;break}r=(a[c>>2]|0)+(e<<2)|0;f=a[r>>2]|0;if(!f)break;s=a[(a[t>>2]|0)+(e<<2)>>2]|0;a[r>>2]=0;a[A>>2]=(a[A>>2]|0)+-1;yu(f,105,(a[b>>2]|0)+(s<<2)|0)}if((l|0)==4)vA(95778,95743,70,95759);a[A>>2]=(a[A>>2]|0)+1;r=A+12|0;if((a[r>>2]|0)<(i|0))a[r>>2]=i;a[(a[t>>2]|0)+(e<<2)>>2]=i;r=$F(4)|0;a[r>>2]=e;f=a[(a[b>>2]|0)+(i<<2)>>2]|0;if(!f)r=Qu(r)|0;else r=Lu(f,r)|0;a[(a[c>>2]|0)+(e<<2)>>2]=r;a[(a[b>>2]|0)+(i<<2)>>2]=r;return A|0}function Gw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if((A|0)!=0?(a[A>>2]|0)>=1:0){f=A+12|0;r=a[f>>2]|0;a[i>>2]=r;a[A>>2]=(a[A>>2]|0)+-1;i=A+16|0;n=a[(a[i>>2]|0)+(r<<2)>>2]|0;a[e>>2]=a[(Wu(n)|0)>>2];yu(n,105,(a[i>>2]|0)+(r<<2)|0);i=a[i>>2]|0;if(!(a[i+(r<<2)>>2]|0)){while(1){if((r|0)<=-1)break;if(a[i+(r<<2)>>2]|0)break;r=r+-1|0}a[f>>2]=r}r=a[e>>2]|0;a[(a[A+20>>2]|0)+(r<<2)>>2]=0;a[(a[A+24>>2]|0)+(r<<2)>>2]=-999;r=1}else r=0;return r|0}function Qw(A,e){A=A|0;e=e|0;return a[(a[A+24>>2]|0)+(e<<2)>>2]|0}function mw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;if((A|0)!=0?(r=a[A>>2]|0,(r|0)>=1):0){l=A+24|0;i=a[(a[l>>2]|0)+(e<<2)>>2]|0;a[A>>2]=r+-1;f=A+20|0;r=A+16|0;yu(a[(a[f>>2]|0)+(e<<2)>>2]|0,105,(a[r>>2]|0)+(i<<2)|0);A=A+12|0;if((i|0)==(a[A>>2]|0)?(n=a[r>>2]|0,(a[n+(i<<2)>>2]|0)==0):0){while(1){if((i|0)<=-1)break;if(a[n+(i<<2)>>2]|0)break;i=i+-1|0}a[A>>2]=i}a[(a[f>>2]|0)+(e<<2)>>2]=0;a[(a[l>>2]|0)+(e<<2)>>2]=-999;i=1}else i=0;return i|0}function Lw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0.0,s=0.0,w=0,u=0.0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;if(!(cq(A,0)|0))vA(95795,95831,260,95846);C=bq(A)|0;I=a[C+20>>2]|0;Z=a[C+24>>2]|0;r=C+16|0;A=C+28|0;if((a[r>>2]|0)==1)E=a[A>>2]|0;else{L2(a[A>>2]|0);a[r>>2]=1;E=$F(a[C+8>>2]<<3)|0;a[A>>2]=E}d=$F(a[C>>2]<<2)|0;A=0;while(1){r=a[C>>2]|0;if((A|0)>=(r|0)){h=0;A=r;break}a[d+(A<<2)>>2]=-1;A=A+1|0}A:while(1){if((h|0)>=(A|0)){n=0.0;c=0.0;f=0;g=0;v=A;break}o=h+1|0;l=I+(o<<2)|0;w=I+(h<<2)|0;t=(a[l>>2]|0)-(a[w>>2]|0)|0;a[d+(h<<2)>>2]=h;r=a[w>>2]|0;while(1){k=a[l>>2]|0;if((r|0)>=(k|0))break;A=a[Z+(r<<2)>>2]|0;if((h|0)!=(A|0))a[d+(A<<2)>>2]=h;r=r+1|0}u=+(t|0);r=a[w>>2]|0;while(1){if((r|0)>=(k|0))break;A=a[Z+(r<<2)>>2]|0;if((h|0)!=(A|0)){l=a[I+(A+1<<2)>>2]|0;A=a[I+(A<<2)>>2]|0;s=+(l-A|0)+u;while(1){if((A|0)>=(l|0))break;s=(a[d+(a[Z+(A<<2)>>2]<<2)>>2]|0)==(h|0)?s+-1.0:s;A=A+1|0}b[E+(r<<3)>>3]=s;if(!(s>0.0)){B=23;break A}}r=r+1|0}h=o;A=a[C>>2]|0}if((B|0)==23)vA(95868,95831,290,95846);while(1){if((g|0)>=(v|0))break;l=g+1|0;t=I+(l<<2)|0;r=a[I+(g<<2)>>2]|0;while(1){if((r|0)>=(a[t>>2]|0))break;A=a[Z+(r<<2)>>2]|0;if((g|0)==(A|0))A=f;else{c=+_s(i,e,g,A)+c;n=+b[E+(r<<3)>>3]+n;A=f+1|0}f=A;r=r+1|0}g=l;v=a[C>>2]|0}u=+(f|0);n=c/(n/u*u);A=0;A:while(1){if((A|0)>=(v|0))break;l=A+1|0;t=a[I+(l<<2)>>2]|0;r=a[I+(A<<2)>>2]|0;while(1){if((r|0)>=(t|0)){A=l;continue A}f=E+(r<<3)|0;if((A|0)!=(a[Z+(r<<2)>>2]|0))b[f>>3]=+b[f>>3]*n;r=r+1|0}}return C|0}function Ww(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0.0,x=0.0;J=a[A>>2]|0;N=a[A+20>>2]|0;X=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,333,95876);R=Lw(A,e,r)|0;H=$F(56)|0;p=H+32|0;b[p>>3]=1.0;a[H+20>>2]=0;a[H+24>>2]=0;b[H+40>>3]=.01;a[H+48>>2]=~~+z(+ +(a[A>>2]|0));n=J<<3;M=$F(n)|0;a[H+12>>2]=M;A=0;while(1){if((A|0)>=(J|0))break;b[M+(A<<3)>>3]=i;A=A+1|0}F=$F(J<<2)|0;D=$F(n)|0;t=0;while(1){if((t|0)>=(J|0)){u=0;break}c=D+(t<<3)|0;b[c>>3]=0.0;s=t+1|0;w=N+(s<<2)|0;l=a[N+(t<<2)>>2]|0;A=0;i=0.0;while(1){if((l|0)>=(a[w>>2]|0))break;n=a[X+(l<<2)>>2]|0;if((t|0)!=(n|0)){i=+_s(r,e,t,n);i=+b[c>>3]+i;b[c>>3]=i;A=A+1|0}l=l+1|0}if((A|0)<=0){o=14;break}b[c>>3]=i/+(A|0);t=s}if((o|0)==14)vA(95908,95831,358,95876);while(1){if((u|0)>=(J|0)){A=0;s=0;break}a[F+(u<<2)>>2]=-1;u=u+1|0}A:while(1){if((s|0)>=(J|0))break;a[F+(s<<2)>>2]=s;t=N+(s<<2)|0;w=s+1|0;u=N+(w<<2)|0;l=a[t>>2]|0;while(1){n=a[u>>2]|0;if((l|0)>=(n|0))break;n=F+(a[X+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(s|0)){a[n>>2]=s;A=A+1|0}l=l+1|0}c=a[t>>2]|0;while(1){if((c|0)>=(n|0)){s=w;continue A}l=a[X+(c<<2)>>2]|0;t=N+(l+1<<2)|0;l=a[N+(l<<2)>>2]|0;while(1){if((l|0)>=(a[t>>2]|0))break;n=F+(a[X+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(s|0)){a[n>>2]=s;A=A+1|0}l=l+1|0}c=c+1|0;n=a[u>>2]|0}}n=A+J|0;W=H+4|0;a[W>>2]=fq(J,J,n,1,1)|0;n=fq(J,J,n,1,1)|0;y=H+8|0;a[y>>2]=n;A=a[W>>2]|0;do{if(!((n|0)==0|(A|0)==0)){m=a[A+20>>2]|0;Q=a[A+24>>2]|0;Z=a[A+28>>2]|0;L=a[n+28>>2]|0;G=a[n+20>>2]|0;v=a[n+24>>2]|0;a[G>>2]=0;a[m>>2]=0;i=0.0;k=0.0;o=0;l=0;A:while(1){if((o|0)>=(J|0)){o=58;break}g=o+J|0;a[F+(o<<2)>>2]=g;c=N+(o<<2)|0;E=o+1|0;C=N+(E<<2)|0;I=D+(o<<3)|0;h=0.0;d=0.0;t=a[c>>2]|0;while(1){A=a[C>>2]|0;if((t|0)>=(A|0))break;n=a[X+(t<<2)>>2]|0;A=F+(n<<2)|0;if((a[A>>2]|0)!=(g|0)){a[A>>2]=g;a[Q+(l<<2)>>2]=n;switch(f|0){case 0:{B=1.0;break}case 1:{B=(+b[D+(n<<3)>>3]+ +b[I>>3])*.5;break}case 2:{B=+Y(+ +Ks(r,e,o,n),.4);break}default:{o=42;break A}}x=-1.0/(B*B);b[Z+(l<<3)>>3]=x;a[v+(l<<2)>>2]=n;U=x*B;u=L+(l<<3)|0;b[u>>3]=U;k=+_s(r,e,o,n)*U+k;U=+b[u>>3];l=l+1|0;h=x+h;d=U+d;i=U*B+i}t=t+1|0}u=a[c>>2]|0;while(1){if((u|0)>=(A|0))break;c=a[X+(u<<2)>>2]|0;s=N+(c+1<<2)|0;w=D+(c<<3)|0;t=a[N+(c<<2)>>2]|0;while(1){if((t|0)>=(a[s>>2]|0))break;n=X+(t<<2)|0;A=F+(a[n>>2]<<2)|0;if((a[A>>2]|0)!=(g|0)){a[A>>2]=g;switch(f|0){case 0:{B=2.0;break}case 1:{B=(+b[w>>3]*2.0+ +b[I>>3]+ +b[D+(a[n>>2]<<3)>>3])*.5;break}case 2:{B=+Y(+ +Ks(r,e,o,a[n>>2]|0),.4);break}default:{o=53;break A}}a[Q+(l<<2)>>2]=a[n>>2];U=-1.0/(B*B);b[Z+(l<<3)>>3]=U;a[v+(l<<2)>>2]=a[n>>2];x=U*B;A=L+(l<<3)|0;b[A>>3]=x;k=+_s(r,e,a[n>>2]|0,c)*x+k;x=+b[A>>3];l=l+1|0;h=U+h;d=x+d;i=x*B+i}t=t+1|0}u=u+1|0;A=a[C>>2]|0}a[Q+(l<<2)>>2]=o;I=M+(o<<3)|0;x=-(h*+b[I>>3]);b[I>>3]=x;b[Z+(l<<3)>>3]=x-h;a[v+(l<<2)>>2]=o;b[L+(l<<3)>>3]=-d;l=l+1|0;a[m+(E<<2)>>2]=l;a[G+(E<<2)>>2]=l;o=E}if((o|0)==42){L3(95915,29,1,a[15712]|0)|0;vA(138394,95831,418,95876)}else if((o|0)==53){L3(95915,29,1,a[15712]|0)|0;vA(138394,95831,460,95876)}else if((o|0)==58){i=k/i;A=0;while(1){if((A|0)>=(l|0))break;X=L+(A<<3)|0;b[X>>3]=+b[X>>3]*i;A=A+1|0}b[p>>3]=i;a[(a[W>>2]|0)+8>>2]=l;a[(a[y>>2]|0)+8>>2]=l;L2(F);L2(D);rq(R);V=H;break}}else{yw(H);V=0}}while(0);return V|0}function yw(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)rq(e);e=a[A+8>>2]|0;if(e|0)rq(e);e=a[A+12>>2]|0;if(e|0)L2(e);e=a[A+20>>2]|0;if(e|0)F5[a[A+16>>2]&127](e);L2(A)}return}function zw(A,e,i,r,f,n){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0;V=a[A>>2]|0;if(cq(A,0)|0?(a[A+16>>2]|0)==1:0){c=U(V,e)|0;t=0.0;l=0;while(1){if((l|0)>=(c|0))break;h=+b[r+(l<<3)>>3];t=h*h+t;l=l+1|0}A:do{if(t==0.0){l=0;while(1){if((l|0)>=(c|0))break A;b[r+(l<<3)>>3]=+Us()*72.0;l=l+1|0}}}while(0);y=a[A+20>>2]|0;Y=a[A+24>>2]|0;D=a[A+28>>2]|0;l=$F(56)|0;F=l+32|0;b[F>>3]=1.0;a[l+20>>2]=0;a[l+24>>2]=0;a[l>>2]=A;b[l+40>>3]=.01;a[l+48>>2]=~~+z(+ +(a[A>>2]|0));M=$F(V<<3)|0;a[l+12>>2]=M;c=0;while(1){if((c|0)>=(V|0))break;b[M+(c<<3)>>3]=i;c=c+1|0}A=(a[A+8>>2]|0)+V|0;L=l+4|0;a[L>>2]=fq(V,V,A,1,1)|0;A=fq(V,V,A,1,1)|0;W=l+8|0;a[W>>2]=A;c=a[L>>2]|0;if(!((A|0)==0|(c|0)==0)){I=a[c+20>>2]|0;Z=a[c+24>>2]|0;G=a[A+20>>2]|0;Q=a[A+24>>2]|0;E=a[c+28>>2]|0;m=a[A+28>>2]|0;a[G>>2]=0;a[I>>2]=0;o=0.0;h=0.0;C=0;B=0;A:while(1){if((B|0)>=(V|0))break;v=B+1|0;g=y+(v<<2)|0;s=0.0;w=0.0;d=a[y+(B<<2)>>2]|0;k=o;i=h;A=C;while(1){if((d|0)>=(a[g>>2]|0))break;c=a[Y+(d<<2)>>2]|0;if((c|0)==(B|0)){t=k;c=A}else{a[Z+(A<<2)>>2]=c;u=+b[D+(d<<3)>>3];switch(f|0){case 2:{t=u*u;t=t==0.0?-1.0e5:-1.0/t;break}case 1:{t=u*u==0.0?-1.0e5:-1.0/u;break}case 0:{t=-1.0;break}default:{J=23;break A}}b[E+(A<<3)>>3]=t;a[Q+(A<<2)>>2]=c;N=t*u;X=m+(A<<3)|0;b[X>>3]=N;i=+_s(r,e,B,c)*N+i;N=+b[X>>3];s=t+s;w=N+w;t=N*u+k;c=A+1|0}d=d+1|0;k=t;A=c}a[Z+(A<<2)>>2]=B;C=M+(B<<3)|0;o=-(s*+b[C>>3]);b[C>>3]=o;b[E+(A<<3)>>3]=o-s;a[Q+(A<<2)>>2]=B;b[m+(A<<3)>>3]=-w;C=A+1|0;a[I+(v<<2)>>2]=C;a[G+(v<<2)>>2]=C;o=k;h=i;B=v}if((J|0)==23)vA(138394,95831,591,96012);t=(n|0)==0?1.0:h/o;if(t==0.0)l=0;else{c=0;while(1){if((c|0)>=(C|0))break;X=m+(c<<3)|0;b[X>>3]=+b[X>>3]*t;c=c+1|0}b[F>>3]=t;a[(a[L>>2]|0)+8>>2]=C;a[(a[W>>2]|0)+8>>2]=C}}else{yw(l);l=0}return l|0}vA(95945,95831,525,96012);return 0}function Yw(A){A=A|0;yw(A);return}function Dw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;return+ +Mw(A,e,i,r,f)}function Mw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0;T=k;k=k+16|0;H=T+12|0;x=T+8|0;w=T+4|0;c=T;s=a[A+4>>2]|0;l=a[A+8>>2]|0;a[H>>2]=0;a[x>>2]=0;a[w>>2]=0;V=a[A+12>>2]|0;a[c>>2]=0;J=bq(l)|0;N=a[s>>2]|0;X=U(N,e)|0;n=X<<3;p=$F(n)|0;if((p|0)!=0?(R=U(e<<3,N)|0,y6(p|0,i|0,R|0)|0,F=$F(n)|0,a[x>>2]=F,(F|0)!=0):0){M=a[l+20>>2]|0;F=a[l+24>>2]|0;W=a[l+28>>2]|0;y=a[J+28>>2]|0;Y=a[s+28>>2]|0;D=A+24|0;switch(a[D>>2]|0){case 1:{Fw(a[A+20>>2]|0,N,e,i,c,w);n=a[c>>2]|0;if(!n){Q=0.0;m=0.0;n=0}else{s=sq(s,n)|0;Q=0.0;m=0.0}break}case 2:{n=a[A+20>>2]|0;Q=+b[n+8>>3];m=+b[n>>3];n=0;break}default:{Q=0.0;m=0.0;n=0}}Z=(V|0)==0;G=A+40|0;I=A+48|0;l=a[w>>2]|0;t=1.0;c=0;A:while(1){C=c+1|0;if(!((c|0)<(r|0)&t>f))break;e:do{if((a[D>>2]|0)==4){w=a[x>>2]|0;c=0;while(1){if((c|0)>=(N|0))break e;u=U(c,e)|0;A=0;while(1){if((A|0)>=(e|0))break;b[w+(A+u<<3)>>3]=0.0;A=A+1|0}c=c+1|0}}else{h=0;while(1){if((h|0)>=(N|0))break;g=h+1|0;E=M+(g<<2)|0;o=0.0;v=a[M+(h<<2)>>2]|0;c=-1;while(1){if((v|0)>=(a[E>>2]|0))break;w=F+(v<<2)|0;A=a[w>>2]|0;if((h|0)==(A|0))c=v;else{B=+_s(i,e,h,A);u=W+(v<<3)|0;d=+b[u>>3];if(d==0.0)d=0.0;else{if(B==0.0){d=d/+b[Y+(v<<3)>>3]*.0001;A=0;while(1){if((A|0)>=(e|0))break;B=d*(+Us()+.0001);j=i+((U(a[w>>2]|0,e)|0)+A<<3)|0;b[j>>3]=B+ +b[j>>3];A=A+1|0}B=+_s(i,e,h,a[w>>2]|0);d=+b[u>>3]}d=d/B}b[y+(v<<3)>>3]=d;o=d+o}v=v+1|0}if((c|0)<=-1){L=25;break A}b[y+(c<<3)>>3]=-o;h=g}zs(J,0,i,0,x,0,e)}}while(0);e:do{if(!Z){w=a[x>>2]|0;c=0;while(1){if((c|0)>=(N|0))break e;u=V+(c<<3)|0;h=U(c,e)|0;A=0;while(1){if((A|0)>=(e|0))break;E=A+h|0;j=w+(E<<3)|0;b[j>>3]=+b[j>>3]+ +b[p+(E<<3)>>3]*+b[u>>3];A=A+1|0}c=c+1|0}}}while(0);e:do{switch(a[D>>2]|0){case 1:{c=a[x>>2]|0;A=0;while(1){if((A|0)>=(N|0)){L=50;break e}u=U(A,e)|0;w=0;while(1){if((w|0)>=(e|0))break;L=w+u|0;j=c+(L<<3)|0;b[j>>3]=+b[j>>3]+ +b[l+(L<<3)>>3];w=w+1|0}A=A+1|0}}case 2:{Vw(N,e,i,a[x>>2]|0,m,Q);c=a[x>>2]|0;o=+b[G>>3];A=a[I>>2]|0;if((a[D>>2]|0)==2)Jw(s,m,e,i,c,o,A,H);else L=51;break}default:{c=a[x>>2]|0;L=50}}}while(0);if((L|0)==50){o=+b[G>>3];A=a[I>>2]|0;L=51}if((L|0)==51){L=0;+fu(s,e,i,c,o,A,0,H)}if(a[H>>2]|0)break;t=+Nw(N,e,i,a[x>>2]|0);t=t/+z(+ +Ss(X,i,i));y6(i|0,a[x>>2]|0,R|0)|0;c=C}if((L|0)==25)vA(96049,95831,895,96060);rq(J);if(n){rq(n);rq(s)}}else{rq(J);t=1.0;l=0}L2(p);n=a[x>>2]|0;if(n|0)L2(n);if(l|0)L2(l);k=T;return+t}function Fw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0,C=0.0,I=0,Z=0,G=0,Q=0,m=0.0;o=a[A+8>>2]|0;Q=a[A+12>>2]|0;I=a[A+16>>2]|0;G=a[A+32>>2]|0;Z=a[G+20>>2]|0;G=a[G+24>>2]|0;s=A+20|0;d=a[s>>2]|0;w=A+24|0;h=a[w>>2]|0;u=A+28|0;k=a[u>>2]|0;C=+b[A>>3];A:do{if((o|2|0)==3){if(!d){if((h|0)!=0|(k|0)!=0)vA(96094,95831,692,96111);else{l=0;t=0}while(1){if((l|0)>=(Q|0))break;E=a[I+(l<<2)>>2]|0;B=+((a[Z+(E+1<<2)>>2]|0)-(a[Z+(E<<2)>>2]|0)|0)+1.0;l=l+1|0;t=t+~~(B*B)|0}h=t<<2;d=$F(h)|0;a[s>>2]=d;h=$F(h)|0;a[w>>2]=h;k=$F(t<<3)|0;a[u>>2]=k}g=0;A=0;while(1){if((g|0)>=(Q|0))break;o=a[I+(g<<2)>>2]|0;v=Z+(o<<2)|0;t=a[v>>2]|0;l=a[G+(t<<2)>>2]|0;t=a[G+(t+1<<2)>>2]|0;e:do{if((l|0)!=(t|0)){m=+Ks(r,i,l,t);m=m*m;u=Z+(o+1<<2)|0;B=+((a[u>>2]|0)-(a[v>>2]|0)|0);a[d+(A<<2)>>2]=o;a[h+(A<<2)>>2]=o;b[k+(A<<3)>>3]=C/m;c=B*B*m;B=-(C/(m*B));t=a[v>>2]|0;while(1){A=A+1|0;l=a[u>>2]|0;if((t|0)>=(l|0))break;a[d+(A<<2)>>2]=o;a[h+(A<<2)>>2]=a[G+(t<<2)>>2];b[k+(A<<3)>>3]=B;t=t+1|0}c=C/c;w=a[v>>2]|0;while(1){if((w|0)>=(l|0))break e;s=a[G+(w<<2)>>2]|0;a[d+(A<<2)>>2]=s;a[h+(A<<2)>>2]=o;b[k+(A<<3)>>3]=B;t=a[v>>2]|0;while(1){A=A+1|0;l=a[u>>2]|0;if((t|0)>=(l|0))break;E=a[G+(t<<2)>>2]|0;a[d+(A<<2)>>2]=s;a[h+(A<<2)>>2]=E;b[k+(A<<3)>>3]=c;t=t+1|0}w=w+1|0}}}while(0);g=g+1|0}l=hq(A,e,e,d,h,k,1,8)|0;A=0}else{switch(o|0){case 2:case 4:break;default:{l=0;A=0;break A}}do{if(!d)if((h|0)!=0|(k|0)!=0)vA(96094,95831,734,96111);else{g=Q<<2;E=$F(g)|0;a[s>>2]=E;g=$F(g)|0;a[w>>2]=g;v=$F(Q<<3)|0;a[u>>2]=v;break}else{v=k;g=h;E=d}}while(0);A=$F(U(e<<3,i)|0)|0;t=U(i,e)|0;l=0;while(1){if((l|0)>=(t|0)){k=0;break}b[A+(l<<3)>>3]=0.0;l=l+1|0}while(1){if((k|0)>=(Q|0))break;o=a[I+(k<<2)>>2]|0;s=Z+(o<<2)|0;w=a[s>>2]|0;c=+Ks(r,i,a[G+(w<<2)>>2]|0,a[G+(w+1<<2)>>2]|0);a[E+(k<<2)>>2]=o;a[g+(k<<2)>>2]=o;c=C/c;b[v+(k<<3)>>3]=c;s=a[s>>2]|0;w=a[Z+(o+1<<2)>>2]|0;o=U(o,i)|0;t=s;while(1){if((t|0)>=(w|0))break;u=U(a[G+(t<<2)>>2]|0,i)|0;l=0;while(1){if((l|0)>=(i|0))break;d=A+(l+o<<3)|0;b[d>>3]=+b[d>>3]+ +b[r+(l+u<<3)>>3];l=l+1|0}t=t+1|0}c=c*(1.0/+(w-s|0));l=0;while(1){if((l|0)>=(i|0))break;d=A+(l+o<<3)|0;b[d>>3]=c*+b[d>>3];l=l+1|0}k=k+1|0}l=hq(k,e,e,E,g,v,1,8)|0}}while(0);a[f>>2]=l;a[n>>2]=A;return}function Vw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0;a=a*f;n=0;A:while(1){if((n|0)>=(A|0))break;s=n+1|0;w=U(n,e)|0;l=s;while(1){if((l|0)==(A|0)){n=s;continue A}c=U(l,e)|0;f=1.0/+Ks(i,e,n,l);t=0;while(1){if((t|0)>=(e|0))break;o=t+w|0;u=t+c|0;k=a*((+b[i+(o<<3)>>3]-+b[i+(u<<3)>>3])*f);o=r+(o<<3)|0;b[o>>3]=k+ +b[o>>3];u=r+(u<<3)|0;b[u>>3]=+b[u>>3]-k;t=t+1|0}l=l+1|0}}return}function Jw(A,e,i,r,f,n,l,t){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;t=t|0;var c=0,b=0;b=Sw(A,e)|0;c=qw(A,e)|0;+eu(b,c,a[A>>2]|0,i,r,f,n,l,t);return}function Nw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0.0,l=0.0,t=0,c=0.0,s=0;a=0;l=0.0;while(1){if((a|0)>=(A|0))break;t=U(a,e)|0;f=0;n=0.0;while(1){if((f|0)>=(e|0))break;s=f+t|0;c=+b[r+(s<<3)>>3]-+b[i+(s<<3)>>3];f=f+1|0;n=c*c+n}a=a+1|0;l=+z(+n)+l}return+l}function Xw(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0;Q=a[A>>2]|0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,1034,96133);d=Q<<3;m=$F(d)|0;t=0;while(1){if((t|0)>=(Q|0))break;w=m+(t<<3)|0;b[w>>3]=0.0;u=t+1|0;k=o+(u<<2)|0;s=a[o+(t<<2)>>2]|0;n=0;c=0.0;while(1){if((s|0)>=(a[k>>2]|0))break;l=a[h+(s<<2)>>2]|0;if((t|0)!=(l|0)){c=+_s(r,e,t,l);c=+b[w>>3]+c;b[w>>3]=c;n=n+1|0}s=s+1|0}if((n|0)<=0){G=11;break}b[w>>3]=c/+(n|0);t=u}if((G|0)==11)vA(95908,95831,1046,96133);n=$F(56)|0;Z=n+32|0;b[Z>>3]=1.0;a[n+20>>2]=0;a[n+24>>2]=0;b[n+40>>3]=.01;a[n+48>>2]=~~+z(+ +(a[A>>2]|0));I=$F(d)|0;a[n+12>>2]=I;l=0;while(1){if((l|0)>=(Q|0))break;b[I+(l<<3)>>3]=i;l=l+1|0}do{if((Q|0)>2)if(!f){l=nu(Q,e,r)|0;break}else{l=au(Q,e,r)|0;break}else l=bq(A)|0}while(0);f=n+4|0;a[f>>2]=sq(A,l)|0;rq(l);t=bq(a[f>>2]|0)|0;a[n+8>>2]=t;l=a[f>>2]|0;if((t|0)==0|(l|0)==0){Rw(n);n=0}else{d=a[l+20>>2]|0;h=a[l+24>>2]|0;o=a[l+28>>2]|0;f=a[t+28>>2]|0;E=0.0;C=0.0;w=0;while(1){if((w|0)>=(Q|0))break;k=w+1|0;u=d+(k<<2)|0;g=0.0;i=0.0;t=-1;B=E;v=C;s=a[d+(w<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;l=a[h+(s<<2)>>2]|0;if((l|0)==(w|0)){c=g;l=s}else{L=+Y(+ +Ks(r,e,w,l),.6);c=1.0/(L*L);b[o+(s<<3)>>3]=c;W=c*L;A=f+(s<<3)|0;b[A>>3]=W;v=W*+_s(r,e,w,l)+v;W=+b[A>>3];c=c+g;i=W+i;l=t;B=W*L+B}g=c;t=l;s=s+1|0}A=I+(w<<3)|0;c=-(g*+b[A>>3]);b[A>>3]=c;if((t|0)<=-1){G=31;break}b[o+(t<<3)>>3]=c-g;b[f+(t<<3)>>3]=-i;E=B;C=v;w=k}if((G|0)==31)vA(96154,95831,1112,96133);c=C/E;t=a[d+(Q<<2)>>2]|0;l=0;while(1){if((l|0)>=(t|0))break;Q=f+(l<<3)|0;b[Q>>3]=+b[Q>>3]*c;l=l+1|0}b[Z>>3]=c;L2(m)}return n|0}function Rw(A){A=A|0;yw(A);return}function Hw(A,e,i){A=A|0;e=e|0;i=i|0;+Mw(A,e,i,50,.001);return}function pw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;G=a[A>>2]|0;Q=a[A+20>>2]|0;m=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,1149,96165);E=Lw(A,e,r)|0;C=a[E+28>>2]|0;A=$F(8)|0;I=$F(G<<2)|0;Z=$F(G<<3)|0;l=0;while(1){if((l|0)>=(G|0)){k=0;break}s=Z+(l<<3)|0;b[s>>3]=0.0;w=l+1|0;u=Q+(w<<2)|0;t=a[Q+(l<<2)>>2]|0;f=0;c=0.0;while(1){if((t|0)>=(a[u>>2]|0))break;n=a[m+(t<<2)>>2]|0;if((l|0)!=(n|0)){c=+_s(r,e,l,n);c=+b[s>>3]+c;b[s>>3]=c;f=f+1|0}t=t+1|0}if((f|0)<=0){o=11;break}b[s>>3]=c/+(f|0);l=w}if((o|0)==11)vA(95908,95831,1167,96165);while(1){if((k|0)>=(G|0)){w=0;f=0;break}a[I+(k<<2)>>2]=-1;k=k+1|0}A:while(1){if((w|0)>=(G|0))break;a[I+(w<<2)>>2]=w;t=Q+(w<<2)|0;u=w+1|0;k=Q+(u<<2)|0;l=a[t>>2]|0;while(1){n=a[k>>2]|0;if((l|0)>=(n|0))break;n=I+(a[m+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(w|0)){a[n>>2]=w;f=f+1|0}l=l+1|0}s=a[t>>2]|0;while(1){if((s|0)>=(n|0)){w=u;continue A}l=a[m+(s<<2)>>2]|0;t=Q+(l+1<<2)|0;l=a[Q+(l<<2)>>2]|0;while(1){if((l|0)>=(a[t>>2]|0))break;n=I+(a[m+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(w|0)){a[n>>2]=w;f=f+1|0}l=l+1|0}s=s+1|0;n=a[k>>2]|0}}r=fq(G,G,f,1,1)|0;a[A>>2]=r;if(!r){Uw(A);A=0}else{o=a[r+20>>2]|0;h=a[r+24>>2]|0;d=a[r+28>>2]|0;a[o>>2]=0;n=0;f=0;while(1){if((n|0)>=(G|0))break;B=n+G|0;a[I+(n<<2)>>2]=B;s=Q+(n<<2)|0;v=n+1|0;g=Q+(v<<2)|0;e=Z+(n<<3)|0;t=a[s>>2]|0;while(1){n=a[g>>2]|0;if((t|0)>=(n|0))break;n=a[m+(t<<2)>>2]|0;l=I+(n<<2)|0;if((a[l>>2]|0)!=(B|0)){a[l>>2]=B;a[h+(f<<2)>>2]=n;k=d+(f<<3)|0;b[k>>3]=(+b[Z+(n<<3)>>3]+ +b[e>>3])*.5;b[k>>3]=+b[C+(t<<3)>>3];f=f+1|0}t=t+1|0}k=a[s>>2]|0;while(1){if((k|0)>=(n|0))break;t=a[m+(k<<2)>>2]|0;s=Q+(t+1<<2)|0;w=Z+(t<<3)|0;u=C+(k<<3)|0;t=a[Q+(t<<2)>>2]|0;while(1){if((t|0)>=(a[s>>2]|0))break;n=m+(t<<2)|0;l=I+(a[n>>2]<<2)|0;if((a[l>>2]|0)!=(B|0)){a[l>>2]=B;a[h+(f<<2)>>2]=a[n>>2];l=d+(f<<3)|0;b[l>>3]=(+b[w>>3]*2.0+ +b[e>>3]+ +b[Z+(a[n>>2]<<3)>>3])*.5;b[l>>3]=+b[C+(t<<3)>>3]+ +b[u>>3];f=f+1|0}t=t+1|0}k=k+1|0;n=a[g>>2]|0}a[o+(v<<2)>>2]=f;n=v}a[r+8>>2]=f;Q=JT()|0;m=A+4|0;a[m>>2]=Q;y6(Q|0,i|0,168)|0;m=a[m>>2]|0;a[m+16>>2]=0;a[m+40>>2]=1;Q=m+96|0;b[Q>>3]=+b[Q>>3]*.5;a[m+80>>2]=20;L2(I);L2(Z);rq(E)}return A|0}function Uw(A){A=A|0;var e=0;if(A|0){e=a[A>>2]|0;if(e|0)rq(e);A=a[A+4>>2]|0;if(A|0)NT(A)}return}function xw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=k;k=k+16|0;l=n;a[l>>2]=0;aj(r,e,a[A>>2]|0,a[A+4>>2]|0,i,f,l);if(!(a[l>>2]|0)){k=n;return}else vA(96184,95831,1262,96190)}function Tw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;a[n>>2]=0;n=a[i+120>>2]|0;A:do{switch(n|0){case 5:case 6:{if((a[e>>2]|0)>2){e=Xw(e,A,0.0,f,(n|0)!=6&1)|0;Hw(e,A,f);Rw(e)}break}case 4:{n=0;while(1){if((n|0)==1)break A;t=pw(e,A,i,f)|0;xw(t,e,r,A,f);Uw(t);n=n+1|0}}case 1:{i=0;l=6;break}case 2:{i=1;l=6;break}case 3:{i=2;l=6;break}default:{}}}while(0);A:do{if((l|0)==6){n=0;while(1){if((n|0)==1)break A;t=Ww(e,A,.05,f,i)|0;+Mw(t,A,f,50,.001);yw(t);n=n+1|0}}}while(0);return}function jw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0.0,t=0,c=0;c=k;k=k+16|0;n=c;a[n>>2]=i;t=a[A>>2]|0;A=a[t+8>>2]|0;l=+b[t>>3];t=a[A>>2]|0;Ms(A,e,n,0);A=0;f=0.0;while(1){if((A|0)>=(t|0))break;r=+b[e+(A<<3)>>3]+f;A=A+1|0;f=r}r=+(t|0);i=a[n>>2]|0;A=0;while(1){if((A|0)>=(t|0))break;n=i+(A<<3)|0;b[n>>3]=(+b[e+(A<<3)>>3]*r-f)*l+ +b[n>>3];A=A+1|0}k=c;return i|0}function Sw(A,e){A=A|0;e=+e;var i=0,r=0;i=$F(8)|0;r=$F(16)|0;a[i>>2]=r;b[r>>3]=e;a[r+8>>2]=A;a[i+4>>2]=25;return i|0}function Pw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+16|0;r=f;a[r>>2]=i;Ms(a[A>>2]|0,e,r,0);k=f;return a[r>>2]|0}function Ow(A){A=A|0;var e=0;e=$F(8)|0;a[e>>2]=A;a[e+4>>2]=26;return e|0}function Kw(A){A=A|0;if(A|0)L2(A);return}function _w(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=a[A>>2]|0;r=~~+b[f>>3];f=f+8|0;A=0;while(1){if((A|0)>=(r|0))break;b[i+(A<<3)>>3]=+b[f+(A<<3)>>3]*+b[e+(A<<3)>>3];A=A+1|0}return i|0}function qw(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0.0,k=0,o=0,h=0.0;w=a[A>>2]|0;k=a[A+20>>2]|0;o=a[A+24>>2]|0;c=a[A+28>>2]|0;s=$F(8)|0;l=$F((w<<3)+8|0)|0;a[s>>2]=l;b[l>>3]=+(w|0);l=l+8|0;h=+(w+-1|0);t=1.0/h;e=h*e;A=0;A:while(1){if((A|0)>=(w|0))break;r=l+(A<<3)|0;b[r>>3]=t;f=A+1|0;n=a[k+(f<<2)>>2]|0;i=a[k+(A<<2)>>2]|0;while(1){if((i|0)>=(n|0)){A=f;continue A}if((A|0)==(a[o+(i<<2)>>2]|0)?(u=+b[c+(i<<3)>>3],(u>=0.0?u:-u)>0.0):0)b[r>>3]=1.0/(u+e);i=i+1|0}}a[s+4>>2]=27;return s|0}function $w(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0;l=a[A>>2]|0;c=a[A+20>>2]|0;s=a[A+24>>2]|0;w=a[A+28>>2]|0;u=$F(8)|0;i=$F((a[A>>2]<<3)+8|0)|0;a[u>>2]=i;b[i>>3]=+(l|0);i=i+8|0;A=0;A:while(1){if((A|0)>=(l|0))break;r=i+(A<<3)|0;b[r>>3]=1.0;f=A+1|0;n=a[c+(f<<2)>>2]|0;e=a[c+(A<<2)>>2]|0;while(1){if((e|0)>=(n|0)){A=f;continue A}if((A|0)==(a[s+(e<<2)>>2]|0)?(t=+b[w+(e<<3)>>3],(t>=0.0?t:-t)>0.0):0)b[r>>3]=1.0/t;e=e+1|0}}a[u+4>>2]=27;return u|0}function Au(A){A=A|0;L2(a[A>>2]|0);if(A|0)L2(A);return}function eu(A,e,i,r,f,a,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=+n;l=l|0;t=t|0;var c=0.0,s=0,w=0.0,u=0,k=0,o=0;k=i<<3;u=$F(k)|0;k=$F(k)|0;s=0;w=0.0;while(1){if((s|0)<(r|0))t=0;else break;while(1){if((t|0)>=(i|0))break;o=(U(t,r)|0)+s|0;b[u+(t<<3)>>3]=+b[f+(o<<3)>>3];b[k+(t<<3)>>3]=+b[a+(o<<3)>>3];t=t+1|0}c=+iu(A,e,i,u,k,n,l);t=0;while(1){if((t|0)>=(i|0))break;b[a+((U(t,r)|0)+s<<3)>>3]=+b[u+(t<<3)>>3];t=t+1|0}s=s+1|0;w=c+w}L2(u);L2(k);return+w}function iu(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;var t=0,c=0.0,b=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0,B=0.0,v=0,g=0;d=a[A+4>>2]|0;o=a[e+4>>2]|0;h=i<<3;t=$F(h)|0;b=$F(h)|0;v=$F(h)|0;s=$F(h)|0;b=W5[d&63](A,r,b)|0;w=js(i,f,b)|0;k=+(i|0);B=+z(+ +Ss(i,w,w))/k;u=B*n;k=1.0/k;w=0;f=v;c=1.0;n=B;while(1){if(!(n>u&(w|0)<(l|0)))break;t=W5[o&63](e,b,t)|0;n=+Ss(i,b,t);if((w|0)>0)Ps(i,t,f,n/c)|0;else y6(f|0,t|0,h|0)|0;g=W5[d&63](A,f,s)|0;c=n/+Ss(i,f,g);Os(i,r,f,c)|0;v=Os(i,b,g,-c)|0;w=w+1|0;c=n;s=g;n=+z(+ +Ss(i,v,v))*k}L2(t);L2(b);L2(f);L2(s);return+n}function ru(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;L=k;k=k+16|0;m=L;Z=a[A+4>>2]|0;G=Z<<3;Q=$F(G)|0;g=$F(G)|0;E=$F(G)|0;C=a[A+20>>2]|0;I=a[A+24>>2]|0;B=a[A+28>>2]|0;v=a[15712]|0;d=0;while(1){if((d|0)<(e|0))n=0;else break;while(1){if((n|0)>=(Z|0)){A=0;break}h=(U(n,e)|0)+d|0;b[Q+(n<<3)>>3]=+b[i+(h<<3)>>3];b[E+(n<<3)>>3]=+b[r+(h<<3)>>3];n=n+1|0}while(1){if((A|0)<(f|0))w=0;else{n=0;break}while(1){if((w|0)>=(Z|0))break;u=a[C+(w<<2)>>2]|0;o=w+1|0;h=a[C+(o<<2)>>2]|0;s=u;t=0.0;l=0.0;while(1){if((s|0)>=(h|0))break;n=a[I+(s<<2)>>2]|0;c=+b[B+(s<<3)>>3];if((n|0)==(w|0))l=c;else t=+b[Q+(n<<3)>>3]*c+t;s=s+1|0}if(t==0.0){a[m>>2]=h-u;f3(v,96212,m)|0}b[g+(w<<3)>>3]=(+b[E+(w<<3)>>3]-t)/l;w=o}y6(Q|0,g|0,G|0)|0;A=A+1|0}while(1){if((n|0)>=(Z|0))break;b[r+((U(n,e)|0)+d<<3)>>3]=+b[Q+(n<<3)>>3];n=n+1|0}d=d+1|0}L2(Q);L2(g);L2(E);k=L;return r|0}function fu(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=n|0;l=l|0;t=t|0;var c=0;c=a[A>>2]|0;a[t>>2]=0;switch(l|0){case 0:{l=Ow(A)|0;t=$w(A)|0;f=+eu(l,t,c,e,i,r,f,n,0);Kw(l);Au(t);break}case 1:{ru(A,e,i,r,n,0)|0;f=0.0;break}default:f=0.0}return+f}function au(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+32|0;c=u;s=u+20|0;f=u+16|0;n=u+12|0;l=u+8|0;b[c>>3]=1.0;t=A<<3;w=$F(t)|0;t=$F(t)|0;e=0;while(1){if((e|0)>=(A|0))break;r=e<<1;b[w+(e<<3)>>3]=+b[i+(r<<3)>>3];b[t+(e<<3)>>3]=+b[i+((r|1)<<3)>>3];e=e+1|0}a[s>>2]=e;if((A|0)>2)i=NS(w,t,A,l)|0;else{a[l>>2]=0;i=0}r=fq(A,A,1,1,2)|0;e=0;while(1){a[s>>2]=e;if((e|0)>=(a[l>>2]|0))break;o=e<<1;a[f>>2]=a[i+(o<<2)>>2];a[n>>2]=a[i+((o|1)<<2)>>2];Ns(r,1,f,n,c)|0;e=(a[s>>2]|0)+1|0}if((A|0)==2){a[f>>2]=0;a[n>>2]=1;Ns(r,1,f,n,c)|0;e=0}else e=0;while(1){a[s>>2]=e;if((e|0)>=(A|0))break;Ns(r,1,s,s,c)|0;e=(a[s>>2]|0)+1|0}A=oq(r)|0;rq(r);o=tq(A,0)|0;rq(A);L2(i);L2(w);L2(t);k=u;return o|0}function nu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;n=s+8|0;l=s;b[l>>3]=1.0;c=A<<3;t=$F(c)|0;c=$F(c)|0;r=0;while(1){if((r|0)>=(A|0))break;f=U(r,e)|0;b[t+(r<<3)>>3]=+b[i+(f<<3)>>3];b[c+(r<<3)>>3]=+b[i+(f+1<<3)>>3];r=r+1|0}a[n>>2]=r;r=XS(t,c,A,0)|0;f=fq(A,A,1,1,2)|0;e=0;while(1){a[n>>2]=e;if((e|0)<(A|0))i=1;else{e=0;break}while(1){if((i|0)>=(a[r+(e*12|0)>>2]|0))break;Ns(f,1,n,(a[r+(e*12|0)+4>>2]|0)+(i<<2)|0,l)|0;i=i+1|0;e=a[n>>2]|0}e=e+1|0}while(1){a[n>>2]=e;if((e|0)>=(A|0))break;Ns(f,1,n,n,l)|0;e=(a[n>>2]|0)+1|0}l=tq(oq(f)|0,0)|0;rq(f);L2(t);L2(c);RS(r);k=s;return l|0}function lu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=k;k=k+16|0;a=f;tu(a,i);cu(A,e,i,a);bu(e,a,r);su(a);k=f;return}function tu(A,e){A=A|0;e=e|0;a[A>>2]=$F(e<<4)|0;a[A+4>>2]=e;a[A+8>>2]=0;return}function cu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;W=k;k=k+64|0;d=W+32|0;g=W+48|0;E=W+16|0;C=W;v=e<<2;Q=$F(v)|0;L=$F(v)|0;a[E>>2]=0;a[E+4>>2]=0;a[E+8>>2]=0;a[E+12>>2]=0;B=$F(v)|0;v=$F(v)|0;f=0;while(1){if((f|0)>=(e|0))break;a[B+(f<<2)>>2]=f;f=f+1|0}h=e+-1|0;OP(A,B,0,h);f=0;while(1){if((f|0)>=(e|0))break;a[v+(a[B+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}uu(g,A,B,e);f=1;while(1){if((f|0)>=(e|0)){f=0;break}a[Q+(a[B+(f<<2)>>2]<<2)>>2]=a[B+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(h|0))break;o=f+1|0;a[L+(a[B+(f<<2)>>2]<<2)>>2]=a[B+(o<<2)>>2];f=o}c=r+8|0;s=r+4|0;w=E+4|0;u=C+4|0;o=C+8|0;t=0;while(1){if((t|0)>=(i|0))break;if(!((ku(g,E)|0)<<24>>24))break;f=a[c>>2]|0;e=a[s>>2]|0;if((f|0)<(e|0))e=a[r>>2]|0;else{a[s>>2]=e<<1;e=y2(a[r>>2]|0,e<<5)|0;a[r>>2]=e;f=a[c>>2]|0}a[c>>2]=f+1;f=e+(f<<4)|0;a[f>>2]=a[E>>2];a[f+4>>2]=a[E+4>>2];a[f+8>>2]=a[E+8>>2];a[f+12>>2]=a[E+12>>2];f=a[E>>2]|0;e=a[v+(f<<2)>>2]|0;n=a[w>>2]|0;l=a[v+(n<<2)>>2]|0;if((e|0)>0?(I=a[B+(e+-1<<2)>>2]|0,Z=L+(I<<2)|0,(a[v+(a[Z>>2]<<2)>>2]|0)<(l|0)):0){a[C>>2]=I;a[u>>2]=n;b[o>>3]=+b[A+(n<<3)>>3]-+b[A+(I<<3)>>3];a[d>>2]=a[C>>2];a[d+4>>2]=a[C+4>>2];a[d+8>>2]=a[C+8>>2];a[d+12>>2]=a[C+12>>2];ou(g,d);a[Z>>2]=n;a[Q+(n<<2)>>2]=I}if((l|0)<(h|0)?(G=a[B+(l+1<<2)>>2]|0,m=Q+(G<<2)|0,(a[v+(a[m>>2]<<2)>>2]|0)>(e|0)):0){a[C>>2]=f;a[u>>2]=G;b[o>>3]=+b[A+(G<<3)>>3]-+b[A+(f<<3)>>3];a[d>>2]=a[C>>2];a[d+4>>2]=a[C+4>>2];a[d+8>>2]=a[C+8>>2];a[d+12>>2]=a[C+12>>2];ou(g,d);a[m>>2]=f;a[L+(f<<2)>>2]=G}t=t+1|0}L2(Q);L2(L);L2(B);L2(v);hu(g);k=W;return}function bu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;b=$F(A<<2)|0;s=e+8|0;l=a[s>>2]|0;t=(l<<1)+A|0;n=t<<2;r=$F(n)|0;n=$F(n)|0;f=0;while(1){if((f|0)>=(A|0))break;a[b+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(l|0)){f=0;break}u=a[e>>2]|0;w=a[u+(f<<4)+4>>2]|0;u=b+(a[u+(f<<4)>>2]<<2)|0;a[u>>2]=(a[u>>2]|0)+1;w=b+(w<<2)|0;a[w>>2]=(a[w>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(t|0))break;c[n+(f<<2)>>2]=1.0;f=f+1|0}l=$F(A*20|0)|0;a[i>>2]=l;f=0;while(1){if((f|0)>=(A|0))break;a[l+(f*20|0)>>2]=1;a[l+(f*20|0)+8>>2]=n;a[l+(f*20|0)+4>>2]=r;a[r>>2]=f;c[n>>2]=0.0;u=a[b+(f<<2)>>2]|0;n=n+(u<<2)|0;r=r+(u<<2)|0;f=f+1|0}L2(b);while(1){r=a[s>>2]|0;if(!r)break;u=r+-1|0;a[s>>2]=u;w=a[e>>2]|0;wu(l,a[w+(u<<4)>>2]|0,a[w+(u<<4)+4>>2]|0)}return}function su(A){A=A|0;L2(a[A>>2]|0);return}function wu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;f=A+(e*20|0)|0;n=a[f>>2]|0;l=a[A+(e*20|0)+4>>2]|0;r=0;while(1){if((r|0)>=(n|0)){t=4;break}if((a[l+(r<<2)>>2]|0)==(i|0))break;else r=r+1|0}if((t|0)==4?(a[f>>2]=n+1,a[l+(n<<2)>>2]=i,l=a[A+(i*20|0)+4>>2]|0,n=A+(i*20|0)|0,t=a[n>>2]|0,a[n>>2]=t+1,a[l+(t<<2)>>2]=e,a[A+8>>2]|0):0){t=a[A+(e*20|0)+8>>2]|0;c[t>>2]=+c[t>>2]+-1.0;t=a[A+(i*20|0)+8>>2]|0;c[t>>2]=+c[t>>2]+-1.0}return}function uu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0,c=0,s=0;f=r+-1|0;a[A+4>>2]=f;a[A+8>>2]=f;a[A>>2]=$F(f<<4)|0;r=0;while(1){if((r|0)>=(f|0))break;s=a[i+(r<<2)>>2]|0;n=r+1|0;c=a[i+(n<<2)>>2]|0;t=+b[e+(c<<3)>>3]-+b[e+(s<<3)>>3];l=a[A>>2]|0;a[l+(r<<4)>>2]=s;a[l+(r<<4)+4>>2]=c;b[l+(r<<4)+8>>3]=t;r=n}r=(f|0)/2|0;while(1){if((r|0)<=-1)break;du(A,r);r=r+-1|0}return}function ku(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;if(!(a[i>>2]|0))A=0;else{r=a[A>>2]|0;a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];e=a[A>>2]|0;r=e+((a[i>>2]|0)+-1<<4)|0;a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];a[i>>2]=(a[i>>2]|0)+-1;du(A,0);A=1}return A|0}function ou(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;s=w;t=A+4|0;n=a[t>>2]|0;i=A+8|0;if((n|0)==(a[i>>2]|0)){a[i>>2]=n<<1;i=y2(a[A>>2]|0,n<<5)|0;a[A>>2]=i;c=A;l=a[t>>2]|0}else{c=A;l=n;i=a[A>>2]|0}a[t>>2]=l+1;t=i+(n<<4)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];while(1){if((n|0)<=0)break;i=a[c>>2]|0;r=+b[i+(n<<4)+8>>3];A=n>>>1;f=+b[i+(A<<4)+8>>3];if(!(r>2]|0}t=i+(n<<4)|0;a[s>>2]=a[t>>2];a[s+4>>2]=a[t+4>>2];a[s+8>>2]=a[t+8>>2];a[s+12>>2]=a[t+12>>2];e=i+(A<<4)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];t=(a[c>>2]|0)+(A<<4)|0;a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];n=A}k=w;return}function hu(A){A=A|0;L2(a[A>>2]|0);return}function du(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+16|0;l=s;t=A+4|0;while(1){i=e<<1;n=i|1;if((i|0)<(a[t>>2]|0)){w=a[A>>2]|0;r=+b[w+(i<<4)+8>>3];f=+b[w+(e<<4)+8>>3];if(!(r>2]|0)){w=a[A>>2]|0;r=+b[w+(n<<4)+8>>3];f=+b[w+(i<<4)+8>>3];if(!(r>2]|0;w=n+(i<<4)|0;a[l>>2]=a[w>>2];a[l+4>>2]=a[w+4>>2];a[l+8>>2]=a[w+8>>2];a[l+12>>2]=a[w+12>>2];n=n+(e<<4)|0;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];w=(a[A>>2]|0)+(e<<4)|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];e=i}k=s;return}function Bu(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=+i;r=+r;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0,w=0,u=0.0;s=(f|0)!=0;if(!s){f=$F(e<<3)|0;if(!(KO(A,e,f,e)|0))w=3;else{A=1;w=17}}else w=3;if((w|0)==3){c=qF(e<<2)|0;a[n>>2]=c;A=0;while(1){if((A|0)>=(e|0))break;a[c+(A<<2)>>2]=A;A=A+1|0}A=e+-1|0;OP(f,c,0,A);u=+b[f+(a[c>>2]<<3)>>3];r=(+b[f+(a[c+(A<<2)>>2]<<3)>>3]-u)*r/+(A|0);r=r=(e|0))break;u=+b[f+(a[c+(n<<2)>>2]<<3)>>3];A=A+(u-i>r&1)|0;n=n+1|0;i=u}a[t>>2]=A;A:do{if(!A){c=$F(4)|0;a[l>>2]=c;a[c>>2]=e}else{t=$F(A<<2)|0;a[l>>2]=t;A=0;n=1;while(1){if((n|0)>=(e|0))break A;if(+b[f+(a[c+(n<<2)>>2]<<3)>>3]-+b[f+(a[c+(n+-1<<2)>>2]<<3)>>3]>r){a[t+(A<<2)>>2]=n;A=A+1|0}n=n+1|0}}}while(0);if(s)A=0;else{A=0;w=17}}if((w|0)==17)L2(f);return A|0}function vu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0;i=a[46930]|0;if(i|0)cU(i);a[46930]=tU(e,e,0.0)|0;i=a[46931]|0;if(i|0)L2(i);a[46931]=qF(e<<2)|0;i=a[46932]|0;if(i|0)L2(i);u=qF(e<<3)|0;a[46932]=u;k=a[46930]|0;o=a[46931]|0;l=0;while(1){if((l|0)>=(e|0)){r=10;break}r=A+(l<<2)|0;n=k+(l<<2)|0;f=0.0;i=0;while(1){if((i|0)==(e|0))break;t=+b[(a[r>>2]|0)+(i<<3)>>3];b[(a[n>>2]|0)+(i<<3)>>3]=t;t=+y(+t);f=f>3]=1.0/f;a[o+(l<<2)>>2]=l;l=l+1|0}A:do{if((r|0)==10){w=e+-1|0;i=0;s=0;e:while(1){if((s|0)<(w|0)){r=s;c=i;f=0.0}else break;while(1){if((r|0)>=(e|0))break;A=a[o+(r<<2)>>2]|0;t=+y(+ +b[(a[k+(A<<2)>>2]|0)+(s<<3)>>3]);t=+b[u+(A<<3)>>3]*t;A=f>2]|0;A=o+(c<<2)|0;a[i>>2]=a[A>>2];a[A>>2]=l}n=a[k+(a[i>>2]<<2)>>2]|0;A=s+1|0;f=1.0/+b[n+(s<<3)>>3];r=A;while(1){if((r|0)>=(e|0)){i=c;s=A;continue e}l=a[k+(a[o+(r<<2)>>2]<<2)>>2]|0;i=l+(s<<3)|0;t=+b[i>>3]*f;b[i>>3]=t;i:do{if(t!=0.0){i=A;while(1){if((i|0)>=(e|0))break i;h=l+(i<<3)|0;b[h>>3]=+b[h>>3]-+b[n+(i<<3)>>3]*t;i=i+1|0}}}while(0);r=r+1|0}}i=+b[(a[k+(a[o+(w<<2)>>2]<<2)>>2]|0)+(w<<3)>>3]!=0.0&1}else if((r|0)==15){b[u+(l<<3)>>3]=0.0;i=0}}while(0);return i|0}function gu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0;c=a[46930]|0;s=a[46931]|0;t=0;while(1){if((t|0)>=(i|0)){r=i;break}n=a[s+(t<<2)>>2]|0;l=c+(n<<2)|0;f=0.0;r=0;while(1){if((r|0)==(t|0))break;f=+b[A+(r<<3)>>3]*+b[(a[l>>2]|0)+(r<<3)>>3]+f;r=r+1|0}b[A+(t<<3)>>3]=+b[e+(n<<3)>>3]-f;t=t+1|0}while(1){e=r+-1|0;if((r|0)<=0)break;n=s+(e<<2)|0;f=0.0;while(1){if((r|0)>=(i|0))break;f=+b[A+(r<<3)>>3]*+b[(a[c+(a[n>>2]<<2)>>2]|0)+(r<<3)>>3]+f;r=r+1|0}r=A+(e<<3)|0;b[r>>3]=(+b[r>>3]-f)/+b[(a[c+(a[n>>2]<<2)>>2]|0)+(e<<3)>>3];r=e}return}function Eu(A){A=A|0;var e=0;e=$F(8)|0;a[e>>2]=A;a[e+4>>2]=0;return e|0}function Cu(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0)do{i=A;A=a[A+4>>2]|0;r=a[i>>2]|0;if(r|0)F5[e&127](r);L2(i)}while((A|0)!=0);return}function Iu(A,e){A=A|0;e=e|0;e=Eu(e)|0;a[e+4>>2]=A;return e|0}function Zu(A){A=A|0;return a[A>>2]|0}function Gu(A){A=A|0;return a[A+4>>2]|0}function Qu(A){A=A|0;var e=0;e=$F(12)|0;a[e>>2]=A;a[e+4>>2]=0;a[e+8>>2]=0;return e|0}function mu(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0)do{i=A;A=a[A+4>>2]|0;r=a[i>>2]|0;if(r|0)F5[e&127](r);L2(i)}while((A|0)!=0);return}function Lu(A,e){A=A|0;e=e|0;e=Qu(e)|0;if(A|0){a[e+4>>2]=A;a[A+8>>2]=e}return e|0}function Wu(A){A=A|0;return a[A>>2]|0}function yu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if(A|0){r=a[A+4>>2]|0;f=a[A+8>>2]|0;n=a[A>>2]|0;if(n|0)F5[e&127](n);L2(A);if(r|0)a[r+8>>2]=f;a[(f|0?f+4|0:i)>>2]=r}return}function zu(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;return}function Yu(A){A=A|0;var e=0;e=qF(64)|0;zu(e+36|0);a[e+8>>2]=A;return e|0}function Du(A){A=A|0;if(A|0){ek(a[A+32>>2]|0);L2(A)}return}function Mu(A){A=A|0;return vh(a[A+8>>2]|0)|0}function Fu(A,e){A=A|0;e=e|0;var i=0,r=0;a[e+4>>2]=0;i=A+4|0;r=a[i>>2]|0;a[((r|0)==0?A:r+4|0)>>2]=e;a[i>>2]=e;return}function Vu(A,e){A=A|0;e=e|0;var i=0;i=a[A>>2]|0;if(!i){a[A>>2]=e;A=A+4|0}else a[e+4>>2]=i;a[A>>2]=e;return}function Ju(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;Nu(A,e);c=a[e>>2]|0;l=a[c+4>>2]|0;while(1){if(!l)break;b=a[l+8>>2]|0;t=cd(b)|0;i=a[(a[t+16>>2]|0)+112>>2]|0;A=a[i+16+4>>2]|0;i=a[i+8>>2]|0;f=t;t=bd(b,t)|0;while(1){if(!t)break;r=a[(a[t+16>>2]|0)+112>>2]|0;n=a[r+16+4>>2]|0;if((n|0)<(A|0)){f=t;i=a[r+8>>2]|0;A=n}t=bd(b,t)|0}t=a[(a[i+16>>2]|0)+112>>2]|0;b=t+4|0;a[b>>2]=a[b>>2]|8;a[l>>2]=f;b=a[l+4>>2]|0;Fu((a[t+12>>2]|0)+36|0,l);l=b}zu(e);return c|0}function Nu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;n=t+8|0;r=a[e+24>>2]|0;if(!((r|0)!=0?(i=vd(A,r,0)|0,(i|0)!=0):0))f=3;A:do{if((f|0)==3){r=e+20|0;e:do{if(a[r>>2]|0){i=cd(A)|0;while(1){if(!i)break e;if((vR(a[a[(a[i+16>>2]|0)+112>>2]>>2]|0,a[r>>2]|0,0)|0)<<24>>24)break A;i=bd(A,i)|0}}}while(0);i=cd(A)|0}}while(0);if(0){f=a[15712]|0;a[l>>2]=Vh(i)|0;f3(f,96223,l)|0}a[n+4>>2]=0;a[n>>2]=0;Xu(A,i,e,1,n);k=t;return}function Xu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=i+8|0;b=a[s>>2]|0;a[s>>2]=b+1;s=e+16|0;a[(a[(a[s>>2]|0)+112>>2]|0)+16+4>>2]=b;a[(a[(a[s>>2]|0)+112>>2]|0)+24>>2]=b;b=(r|0)==0;c=Ah(A,e)|0;while(1){if(!c)break;r=a[c>>2]&3;n=a[((r|0)==2?c:c+-48|0)+40>>2]|0;if((n|0)==(e|0)){r=a[((r|0)==3?c:c+48|0)+40>>2]|0;n=a[(a[c+16>>2]|0)+120>>2]|0;if(!(a[n>>2]|0))a[n>>2]=-1}else{r=a[(a[c+16>>2]|0)+120>>2]|0;if(!(a[r>>2]|0)){a[r>>2]=1;r=n}else r=n}n=r+16|0;l=a[(a[n>>2]|0)+112>>2]|0;t=a[l+16+4>>2]|0;do{if(!t){a[l+8>>2]=e;Ru(f,c);Xu(A,r,i,0,f);t=(a[(a[s>>2]|0)+112>>2]|0)+24|0;a[t>>2]=a[(a[(a[((a[t>>2]|0)<(a[(a[(a[n>>2]|0)+112>>2]|0)+24>>2]|0)?e:r)+16>>2]|0)+112>>2]|0)+24>>2];if((a[(a[(a[n>>2]|0)+112>>2]|0)+24>>2]|0)>=(a[(a[(a[s>>2]|0)+112>>2]|0)+16+4>>2]|0)){r=0;do{l=Hu(f)|0;n=(a[a[(a[l+16>>2]|0)+120>>2]>>2]|0)==1;n=a[((a[l>>2]&3|0)==((n?2:3)|0)?l:l+((n?-1:1)*48|0)|0)+40>>2]|0;if(!(a[(a[(a[n+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!r)r=pu(A,i)|0;Uu(r,n)}}while((l|0)!=(c|0));if(r|0){if((a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Mu(r)|0)>1:0)Uu(r,e);if(!b?(a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==(r|0):0){Vu(i,r);break}Fu(i,r)}}}else{n=a[(a[s>>2]|0)+112>>2]|0;if((a[n+8>>2]|0)!=(r|0)){l=n+24|0;n=a[l>>2]|0;a[l>>2]=(n|0)<(t|0)?n:t}}}while(0);c=eh(A,c,e)|0}if(!b?(a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){s=pu(A,i)|0;Uu(s,e);Vu(i,s)}return}function Ru(A,e){A=A|0;e=e|0;a[(a[(a[e+16>>2]|0)+120>>2]|0)+4>>2]=a[A>>2];a[A>>2]=e;e=A+4|0;a[e>>2]=(a[e>>2]|0)+1;return}function Hu(A){A=A|0;var e=0,i=0,r=0;e=a[A>>2]|0;if(!e)vA(138394,96254,65,96266);i=A+4|0;r=a[i>>2]|0;if((r|0)>0){a[A>>2]=a[(a[(a[e+16>>2]|0)+120>>2]|0)+4>>2];a[i>>2]=r+-1;return e|0}else vA(96244,96254,61,96266);return 0}function pu(A,e){A=A|0;e=e|0;return Yu(xu(A,e)|0)|0}function Uu(A,e){A=A|0;e=e|0;kd(a[A+8>>2]|0,e,1)|0;a[(a[(a[e+16>>2]|0)+112>>2]|0)+12>>2]=A;return}function xu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+144|0;f=i;r=i+8|0;n=e+12|0;e=a[n>>2]|0;a[n>>2]=e+1;a[f>>2]=e;P4(r,96234,f)|0;e=XB(A,r,1)|0;Td(e,137483,280,1)|0;k=i;return e|0}function Tu(A){A=A|0;var e=0,i=0;e=a[A+36>>2]|0;while(1){if(!e)break;i=a[e+4>>2]|0;Tu(e);e=i}Du(A);return}function ju(A,e,i){A=A|0;e=e|0;i=i|0;Su(A,e,+b[i+32>>3]);return}function Su(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;r=e+36|0;f=0;while(1){r=a[r>>2]|0;if(!r)break;Su(A,r,i);r=r+4|0;f=f+1|0}r=sk(A,e,i)|0;a[e+32>>2]=r;A=tk(r)|0;if((f|0)>0)i=+Pu(f,A,r,e,i);else i=3.141592653589793;if((((A|0)==1?(n=a[e>>2]|0,n|0):0)?a[(a[(a[n+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(l=e+48|0,b[l>>3]=i,i<0.0):0)b[l>>3]=i+6.283185307179586;return}function Pu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+48|0;v=E;g=qF(A*56|0)|0;a[v+40>>2]=a[r+36>>2];o=r+16|0;t=+b[o>>3];h=v+8|0;b[h>>3]=t;b[v>>3]=t;a[v+44>>2]=a[r>>2];t=6.283185307179586/+(e|0);b[v+16>>3]=t;d=v+24|0;b[d>>3]=-1.0;B=v+32|0;b[B>>3]=-1.0;c=0;u=0;n=0.0;while(1){l=a[i>>2]|0;if(!l)break;i=a[l>>2]|0;if(!(a[(a[(a[i+16>>2]|0)+112>>2]|0)+4>>2]&8))i=u;else{w=g+(u*56|0)|0;a[w>>2]=i;b[g+(u*56|0)+8>>3]=t*+(c|0);i=u+1|0;n=+Ou(w,v,f)}c=c+1|0;u=i;i=l+4|0}A:do{switch(u|0){case 1:{b[g+40>>3]=1.0;i=0;break}case 2:{t=+b[g+64>>3]-+b[g+8>>3];Ku(g,g+56|0,t>3.141592653589793?6.283185307179586-t:t);i=0;break}default:{w=g+8|0;s=g;i=0;while(1){if((i|0)>=(u|0)){i=0;break A}i=i+1|0;if((i|0)==(u|0)){l=g;t=+b[w>>3]+6.283185307179586-+b[s+8>>3];c=s+56|0}else{c=s+56|0;l=c;t=+b[s+64>>3]-+b[s+8>>3]}Ku(s,l,t);s=c}}}}while(0);while(1){if((i|0)>=(u|0))break;_u(g+(i*56|0)|0,v,e,f);i=i+1|0}L2(g);if((A|0)==1){f=n+f*.5;qu(r,-f,0.0,0.0);b[o>>3]=+b[o>>3]+f;g=r+56|0;a[g>>2]=a[g>>2]|1}else b[o>>3]=+b[h>>3];k=E;return+((+b[B>>3]+ +b[d>>3])*.5+-3.141592653589793)}function Ou(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0.0,n=0.0,l=0,t=0,c=0.0;l=0;f=0.0;n=0.0;r=e+40|0;while(1){t=a[r>>2]|0;if(!t)break;r=a[t>>2]|0;if(!r)r=0;else r=a[(a[(a[r+16>>2]|0)+112>>2]|0)+8>>2]|0;if((r|0)==(a[A>>2]|0)){c=+b[t+16>>3];r=l+1|0;f=f+i+c*2.0;n=n>3]=f;a[A+48>>2]=l;b[A+16>>3]=n+i+ +b[e>>3];b[A+24>>3]=n;return+n}function Ku(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=+b[e+16>>3];r=+b[A+16>>3];i=(r*+b[e+32>>3]+f*+b[A+32>>3])/(i*2.0*f*r);i=i<1.0?1.0:i;A=A+40|0;if(i>+b[A>>3])b[A>>3]=i;A=e+40|0;if(i>+b[A>>3])b[A>>3]=i;return}function _u(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,k=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0.0,E=0.0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0;G=e+8|0;Z=+b[G>>3];Q=e+24|0;c=+b[Q>>3];m=e+32|0;t=+b[m>>3];f=+b[A+16>>3]*+b[A+40>>3];I=(i|0)==1;if(I){E=+b[A+32>>3];n=E*.15915494309189535;n=f>n?f:n;f=n*6.283185307179586-E;if(f>0.0){r=f/+(a[A+48>>2]|0)+r;s=0.0;f=n}else{s=0.0;f=n}}else s=+b[A+8>>3]-+b[A+32>>3]/(f*2.0);h=+b[A+24>>3]+f;d=h>Z;B=A+48|0;v=((a[B>>2]|0)+1|0)/2|0;g=1.0/f;E=r/f*.5;C=A+8|0;u=e+40|0;k=0;o=0.0;n=s;while(1){u=a[u>>2]|0;if(!u)break;l=a[u>>2]|0;if(!l)l=0;else l=a[(a[(a[l+16>>2]|0)+112>>2]|0)+8>>2]|0;if((l|0)==(a[A>>2]|0)?(tk(a[u+32>>2]|0)|0)>=1:0){s=+b[u+16>>3];w=s*g;do{if(!I)if((a[B>>2]|0)==1){n=+b[C>>3];break}else{n=n+E+w;break}else{if(n!=0.0)n=(a[B>>2]|0)==2?3.141592653589793:w+n;t=n;c=c<0.0?n:c}}while(0);y=+D(+n)*f;W=+M(+n)*f;qu(u,y,W,+$u(u,y,W,n));n=(I?(s+r)*g:w+E)+n;k=k+1|0;l=k;s=(k|0)==(v|0)?n:o}else{l=k;s=o}u=u+4|0;k=l;o=s}f=d?h:Z;if((i|0)>1?(L=a[A>>2]|0,(L|0)==(a[e+44>>2]|0)):0)b[(a[(a[L+16>>2]|0)+112>>2]|0)+24>>3]=o;b[G>>3]=f;b[Q>>3]=c;b[m>>3]=t;return}function qu(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;var f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0.0;w=a[A+8>>2]|0;u=r!=0.0;f=cd(w)|0;while(1){if(!f)break;c=a[(a[f+16>>2]|0)+132>>2]|0;l=+b[c>>3];s=c+8|0;n=+b[s>>3];if(u){k=+D(+r);o=+M(+r);t=k*l-o*n;n=o*l+k*n}else t=l;b[c>>3]=t+e;b[s>>3]=n+i;f=bd(w,f)|0}f=A+36|0;while(1){f=a[f>>2]|0;if(!f)break;qu(f,e,i,r);f=f+4|0}return}function $u(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;var f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,k=0;w=a[A+8>>2]|0;f=+b[A+48>>3];do{if(!(f>=0.0)){if((tk(a[A+32>>2]|0)|0)==2){f=r+-1.5707963267948966;break}s=a[A>>2]|0;u=s+16|0;l=a[(a[u>>2]|0)+132>>2]|0;f=+b[l>>3]+e;c=+b[l+8>>3]+i;f=c*c+f*f;l=cd(w)|0;n=s;while(1){if(!l)break;if((l|0)!=(s|0)?(k=a[(a[l+16>>2]|0)+132>>2]|0,t=+b[k>>3]+e,c=+b[k+8>>3]+i,t=c*c+t*t,t>3];c=+b[A+16>>3]-t;n=a[u>>2]|0;l=a[n+132>>2]|0;f=+b[l>>3];if(f>-c?(a[A+56>>2]&1|0)!=0:0){i=+z(+(i*i+e*e));e=+X(+ +b[l+8>>3],+(f+c));f=+D(+e);f=r+1.5707963267948966-e-+J(+((c-t/f)/i*f));break}else{f=+X(+ +b[l+8>>3],+f);f=r+3.141592653589793-f-+b[(a[n+112>>2]|0)+24>>3];f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+r;f=f<0.0?f+6.283185307179586:f}}while(0);return+f}function Ak(){return qF(12)|0}function ek(A){A=A|0;var e=0,i=0;if(A|0){e=a[A>>2]|0;while(1){if(!e)break;i=a[e+4>>2]|0;L2(e);e=i}L2(A)}return}function ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=rk(i)|0;i=A+8|0;a[i>>2]=(a[i>>2]|0)+1;i=A+4|0;r=a[i>>2]|0;if((e|0)==0|(r|0)==(e|0)){a[(r|0?r+4|0:A)>>2]=f;a[f+8>>2]=r;r=0}else{r=e+4|0;i=a[r>>2]|0;a[r>>2]=f;a[f+8>>2]=e;r=i;i=i+8|0}a[i>>2]=f;a[f+4>>2]=r;return}function rk(A){A=A|0;var e=0;e=qF(12)|0;a[e>>2]=A;return e|0}function fk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;e=a[A>>2]|0;i=e;while(1){if(!e)break;n=e+4|0;r=a[n>>2]|0;f=e+8|0;a[n>>2]=a[f>>2];a[f>>2]=r;e=r}f=A+4|0;n=a[f>>2]|0;a[f>>2]=i;a[A>>2]=n;return A|0}function ak(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[A>>2]|0;if((i|0)!=(e|0)){f=e+8|0;r=a[f>>2]|0;a[A>>2]=e;a[f>>2]=0;e=A+4|0;A=a[e>>2]|0;a[A+4>>2]=i;a[i+8>>2]=A;a[e>>2]=r;a[r+4>>2]=0}return}function nk(A){A=A|0;var e=0,i=0,r=0;i=Ak()|0;r=i+4|0;e=0;while(1){A=a[A>>2]|0;if(!A)break;ik(i,e,a[A>>2]|0);e=a[r>>2]|0;A=A+4|0}return i|0}function lk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;f=A;while(1){c=a[f>>2]|0;if(!c){b=6;break}if((a[c>>2]|0)==(e|0))break;f=c+4|0}if((b|0)==6)vA(96270,96277,217,96288);t=c+8|0;f=a[t>>2]|0;n=c+4|0;e=a[n>>2]|0;a[(f|0?f+4|0:A)>>2]=e;l=A+4|0;a[(e|0?e+8|0:l)>>2]=f;e=0;f=A;while(1){f=a[f>>2]|0;if(!f)break;if((a[f>>2]|0)==(i|0)){b=9;break}e=f;f=f+4|0}if((b|0)==9){do{if(!r)if((f|0)==(a[A>>2]|0)){a[A>>2]=c;a[n>>2]=f;a[t>>2]=0;f=f+8|0;break}else{a[e+4>>2]=c;a[t>>2]=e;a[n>>2]=f;f=f+8|0;break}else if((f|0)==(a[l>>2]|0)){a[l>>2]=c;a[n>>2]=0;a[t>>2]=f;f=f+4|0;break}else{a[t>>2]=f;f=f+4|0;a[n>>2]=a[f>>2];a[(a[f>>2]|0)+8>>2]=c;break}}while(0);a[f>>2]=c}return}function tk(A){A=A|0;return a[A+8>>2]|0}function ck(A,e){A=A|0;e=e|0;bk(A,fk(e)|0);L2(e);return}function bk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[e>>2]|0;if(i|0){r=A+4|0;f=a[r>>2]|0;a[f+4>>2]=i;a[i+8>>2]=f;a[r>>2]=a[e+4>>2];i=A+8|0;a[i>>2]=(a[i>>2]|0)+(a[e+8>>2]|0)}return}function sk(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0;w=a[e+8>>2]|0;wk(A,e);s=uk(w)|0;A=ok(kk(s)|0)|0;hk(w,A);w=dk(A,w)|0;A=tk(w)|0;t=+Bk(w);c=(A|0)==1;f=+(A|0);l=f*.15915494309189535*(t+i);n=c?0.0:l;A=w;while(1){A=a[A>>2]|0;if(!A)break;if(a[(a[(a[(a[A>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){r=4;break}A=A+4|0}if((r|0)==4)ak(w,A);i=1.0/f;r=0;A=w;while(1){A=a[A>>2]|0;if(!A)break;u=(a[A>>2]|0)+16|0;a[(a[(a[u>>2]|0)+112>>2]|0)+16>>2]=r;b[(a[(a[u>>2]|0)+112>>2]|0)+24>>3]=0.0;f=6.283185307179586*i*+(r|0);k=+D(+f)*n;u=a[(a[u>>2]|0)+132>>2]|0;b[u>>3]=k;b[u+8>>3]=+M(+f)*n;r=r+1|0;A=A+4|0}k=c?t*.5:l;b[e+16>>3]=k;b[e+24>>3]=k;b[e+48>>3]=-1.0;Bh(s)|0;return w|0}function wk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=a[e+8>>2]|0;i=cd(f)|0;while(1){if(!i)break;r=Oo(A,i)|0;while(1){if(!r)break;if((a[(a[(a[(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0))wh(f,r,1)|0;r=_o(A,r)|0}i=bd(f,i)|0}return}function uk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;n=b;f=Zk(A,n)|0;n=a[n>>2]|0;t=vh(n)|0;l=Gk(n)|0;t=t+-3|0;r=0;while(1){if((r|0)>=(t|0))break;c=Mk(l)|0;i=Ah(n,c)|0;while(1){if(!i)break;e=a[i>>2]&3;A=a[((e|0)==2?i:i+-48|0)+40>>2]|0;if((c|0)==(A|0))A=a[((e|0)==3?i:i+48|0)+40>>2]|0;Dk(l,A);i=eh(n,i,c)|0}Qk(n,c,f);i=Ah(n,c)|0;while(1){if(!i)break;e=a[i>>2]&3;A=a[((e|0)==2?i:i+-48|0)+40>>2]|0;if((c|0)==(A|0))A=a[((e|0)==3?i:i+48|0)+40>>2]|0;e=(a[A+16>>2]|0)+236|0;a[e>>2]=(a[e>>2]|0)+-1;Yk(l,A);i=eh(n,i,c)|0}Cd(n,c)|0;r=r+1|0}Bh(n)|0;zk(l);k=b;return f|0}function kk(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+144|0;e=f;r=f+8|0;i=a[46933]|0;a[46933]=i+1;a[e>>2]=i;P4(r,96303,e)|0;r=XB(A,r,1)|0;Td(r,137483,280,1)|0;e=cd(A)|0;while(1){if(!e)break;kd(r,e,1)|0;i=e+16|0;a[(a[(a[i>>2]|0)+112>>2]|0)+16+12>>2]=0;a[(a[(a[i>>2]|0)+112>>2]|0)+32>>2]=0;i=(a[(a[i>>2]|0)+112>>2]|0)+4|0;a[i>>2]=a[i>>2]&-2;e=bd(A,e)|0}e=cd(A)|0;while(1){if(!e)break;i=a[(a[e+16>>2]|0)+112>>2]|0;if(!(a[i+4>>2]&1)){a[i+16>>2]=0;Ik(A,e,r)}e=bd(A,e)|0}k=f;return r|0}function ok(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((vh(A)|0)!=1){i=cd(A)|0;while(1){if(!i)break;e=0;r=Ah(A,i)|0;while(1){if(!r)break;e=e+1|0;r=eh(A,r,i)|0}if((e|0)==1)Ck(i,i,0,0);i=bd(A,i)|0}e=0;f=0;i=cd(A)|0;while(1){if(!i)break;n=a[(a[i+16>>2]|0)+112>>2]|0;n=(a[n+32>>2]|0)+(a[n+16+12>>2]|0)|0;r=(n|0)>(e|0);e=r?n:e;f=r?i:f;i=bd(A,i)|0}e=Ak()|0;r=f+16|0;i=(a[(a[r>>2]|0)+112>>2]|0)+16+4|0;while(1){i=a[i>>2]|0;if((i|0)==(f|0))break;ik(e,0,i);i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=a[n>>2]|16;i=i+16|0}ik(e,0,f);n=a[(a[r>>2]|0)+112>>2]|0;A=n+4|0;a[A>>2]=a[A>>2]|16;if(a[n+32>>2]|0){A=Ak()|0;i=(a[(a[r>>2]|0)+112>>2]|0)+24|0;while(1){i=a[i>>2]|0;if((i|0)==(f|0))break;ik(A,0,i);i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=a[n>>2]|16;i=i+16|0}ck(e,A)}}else{e=Ak()|0;n=cd(A)|0;ik(e,0,n);n=(a[(a[n+16>>2]|0)+112>>2]|0)+4|0;a[n>>2]=a[n>>2]|16}return e|0}function hk(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i)break;if(!(a[(a[(a[i+16>>2]|0)+112>>2]|0)+4>>2]&16))Ek(A,i,e);i=bd(A,i)|0}return}function dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;i=vk(A,e)|0;a[f>>2]=i;A:do{if(i){r=0;while(1){if((r|0)>=10)break A;A=gk(A,e,f)|0;l=i;i=a[f>>2]|0;if((l|0)==(i|0)|(i|0)==0)break;else r=r+1|0}}}while(0);k=n;return A|0}function Bk(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0;e=0.0;while(1){A=a[A>>2]|0;if(!A)break;f=a[(a[a[(a[(a[A>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;i=+b[f+32>>3];i=i>e?i:e;r=+b[f+40>>3];e=r>i?r:i;A=A+4|0}return+e}function vk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=Fk()|0;r=cd(e)|0;while(1){if(!r)break;i=Oo(e,r)|0;while(1){if(!i)break;a[a[(a[i+16>>2]|0)+120>>2]>>2]=0;i=_o(e,i)|0}r=bd(e,r)|0}c=1;i=0;while(1){l=a[A>>2]|0;if(!l)break;t=a[l>>2]|0;n=Ah(e,t)|0;while(1){if(!n)break;f=n+16|0;if((a[a[(a[f>>2]|0)+120>>2]>>2]|0)>0){A=W5[a[b>>2]&63](b,0,128)|0;while(1){if(!A)break;r=a[A+8>>2]|0;if((a[a[(a[r+16>>2]|0)+120>>2]>>2]|0)>(a[a[(a[f>>2]|0)+120>>2]>>2]|0)?(s=a[r>>2]&3,(a[((s|0)==2?r:r+-48|0)+40>>2]|0)!=(t|0)):0)i=i+((a[((s|0)==3?r:r+48|0)+40>>2]|0)!=(t|0)&1)|0;A=W5[a[b>>2]&63](b,A,8)|0}Hk(b,n)}n=eh(e,n,t)|0}r=Ah(e,t)|0;while(1){if(!r)break;A=a[(a[r+16>>2]|0)+120>>2]|0;if(!(a[A>>2]|0)){a[A>>2]=c;Rk(b,r)}r=eh(e,r,t)|0}A=l+4|0;c=c+1|0}Xk(b);return i|0}function gk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;r=a[i>>2]|0;b=cd(e)|0;A:while(1){if(!b)break;c=Ah(e,b)|0;while(1){if(!c)break;n=a[c>>2]&3;f=a[((n|0)==3?c:c+48|0)+40>>2]|0;if((f|0)==(b|0))f=a[((n|0)==2?c:c+-48|0)+40>>2]|0;t=0;while(1){if((t|0)>=2)break;l=nk(A)|0;lk(A,b,f,t);n=vk(A,e)|0;if((n|0)<(r|0)){ek(l);if(!n){r=0;break A}else r=n}else{ek(A);A=l}t=t+1|0}c=eh(e,c,b)|0}b=bd(e,b)|0}a[i>>2]=r;return A|0}function Ek(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=Ak()|0;r=Oo(A,e)|0;while(1){if(!r)break;f=r+-48|0;ik(l,0,a[((a[r>>2]&3|0)==2?r:f)+40>>2]|0);f=(a[(a[(a[((a[r>>2]&3|0)==2?r:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[f>>2]=a[f>>2]|32;r=_o(A,r)|0}r=qo(A,e)|0;while(1){if(!r)break;f=r+48|0;ik(l,0,a[((a[r>>2]&3|0)==3?r:f)+40>>2]|0);f=(a[(a[(a[((a[r>>2]&3|0)==3?r:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[f>>2]=a[f>>2]|32;r=$o(A,r)|0}A:do{if((tk(l)|0)>1){f=i+4|0;A=i;while(1){r=a[A>>2]|0;if(!r){n=13;break A}A=r+4|0;if(!(a[(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(a[(a[(a[(a[a[((r|0)==(a[f>>2]|0)?i:A)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}ik(i,r,e)}else n=13}while(0);A:do{if((n|0)==13){e:do{if((tk(l)|0)>0){r=i;while(1){r=a[r>>2]|0;if(!r)break e;if(a[(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;r=r+4|0}ik(i,r,e);break A}}while(0);ik(i,0,e)}}while(0);r=l;while(1){r=a[r>>2]|0;if(!r)break;i=(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[i>>2]=a[i>>2]&-33;r=r+4|0}ek(l);return}function Ck(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;while(1){n=a[(a[(a[e+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!n)break;l=i+1|0;t=n+16|0;c=a[(a[t>>2]|0)+112>>2]|0;e=c+16|0;f=a[e+12>>2]|0;if(f){if((f|0)>(i|0)){b=11;break}e=a[e+4>>2]|0;f=e;if((e|0)==(r|0))e=c;else{i=c+24|0;if(!((a[c+32>>2]|0)!=0?(a[i>>2]|0)==(r|0):0))r=e;a[i>>2]=f;e=a[(a[t>>2]|0)+112>>2]|0;a[e+32>>2]=a[e+16+12>>2];e=a[(a[t>>2]|0)+112>>2]|0}e=e+16|0}a[e+4>>2]=A;a[(a[(a[t>>2]|0)+112>>2]|0)+16+12>>2]=l;e=n;i=l}if((b|0)==11?(a[c+32>>2]|0)<=(i|0):0){a[c+24>>2]=A;a[(a[(a[t>>2]|0)+112>>2]|0)+32>>2]=l}return}function Ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=(a[(a[e+16>>2]|0)+112>>2]|0)+4|0;a[n>>2]=a[n>>2]|1;n=Ah(A,e)|0;while(1){if(!n)break;f=a[n>>2]&3;r=a[((f|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((f|0)==3?n:n+48|0)+40>>2]|0;f=r+16|0;if(!(a[(a[(a[f>>2]|0)+112>>2]|0)+4>>2]&1)){wh(i,n,1)|0;a[(a[(a[f>>2]|0)+112>>2]|0)+16>>2]=e;Ik(A,r,i)}n=eh(A,n,e)|0}return}function Zk(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=k;k=k+144|0;c=b+8|0;t=b;i=b+16|0;l=a[46934]|0;a[46934]=l+1;a[t>>2]=l;P4(i,96312,t)|0;t=XB(A,i,1)|0;Td(t,137483,280,1)|0;l=a[46934]|0;a[46934]=l+1;a[c>>2]=l;P4(i,96312,c)|0;l=A+24|0;r[c>>0]=r[l>>0]|0;r[c+1>>0]=r[l+1>>0]|0;r[c+2>>0]=r[l+2>>0]|0;r[c+3>>0]=r[l+3>>0]|0;c=kh(i,c,0)|0;i=cd(A)|0;while(1){if(!i)break;kd(t,i,1)|0;l=vd(c,Vh(i)|0,1)|0;Td(l,137447,304,1)|0;a[(a[(a[i+16>>2]|0)+112>>2]|0)+16>>2]=l;i=bd(A,i)|0}f=cd(A)|0;while(1){if(!f)break;n=a[(a[(a[f+16>>2]|0)+112>>2]|0)+16>>2]|0;l=n+16|0;i=Oo(A,f)|0;while(1){if(!i)break;wh(t,i,1)|0;s=a[(a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;w=th(c,n,s,0,1)|0;Td(w,137460,176,1)|0;a[(a[w+16>>2]|0)+116>>2]=i;w=(a[l>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;s=(a[s+16>>2]|0)+236|0;a[s>>2]=(a[s>>2]|0)+1;i=_o(A,i)|0}f=bd(A,f)|0}a[e>>2]=c;k=b;return t|0}function Gk(A){A=A|0;var e=0,i=0;i=mk()|0;e=cd(A)|0;while(1){if(!e)break;Yk(i,e);e=bd(A,e)|0}return i|0}function Qk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;w=a[(a[e+16>>2]|0)+236>>2]|0;o=w<<2;k=$F(o)|0;o=$F(o)|0;t=0;s=Ah(A,e)|0;u=0;f=0;while(1){if(!s)break;r=a[s>>2]&3;n=a[((r|0)==2?s:s+-48|0)+40>>2]|0;if((n|0)==(e|0))n=a[((r|0)==3?s:s+48|0)+40>>2]|0;l=0;b=Ah(A,e)|0;c=t;while(1){if(!b)break;if((b|0)!=(s|0)){t=a[b>>2]&3;r=a[((t|0)==2?b:b+-48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((t|0)==3?b:b+48|0)+40>>2]|0;t=th(A,n,r,0,0)|0;if(t)if(n>>>0>>0){r=c+1|0;l=t+16|0;t=a[(a[l>>2]|0)+116>>2]|0;if(!t)l=1;else{Cd(i,t)|0;a[(a[l>>2]|0)+116>>2]=0;l=1}}else{l=1;r=c}else r=c}else r=c;b=eh(A,b,e)|0;c=r}if(!l){a[o+(u<<2)>>2]=n;r=u+1|0}else{a[k+(f<<2)>>2]=n;r=u;f=f+1|0}t=c;s=eh(A,s,e)|0;u=r}r=w+-1-t|0;A:do{if((r|0)>0){if((r|0)<(u|0))n=0;else{if((r|0)!=(u|0))break;f=a[k>>2]|0;n=f+16|0;r=0;while(1){if((r|0)>=(u|0))break A;w=a[o+(r<<2)>>2]|0;Td(th(A,f,w,0,1)|0,137460,176,1)|0;i=(a[n>>2]|0)+236|0;a[i>>2]=(a[i>>2]|0)+1;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;r=r+1|0}}while(1){if((n|0)>=(u|0)){f=2;break}f=n|1;if((f|0)>=(u|0)){f=2;break}i=a[o+(n<<2)>>2]|0;w=a[o+(f<<2)>>2]|0;Td(th(A,i,w,0,1)|0,137460,176,1)|0;i=(a[i+16>>2]|0)+236|0;a[i>>2]=(a[i>>2]|0)+1;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;n=n+2|0;r=r+-1|0}while(1){if((r|0)<=0)break A;w=a[o>>2]|0;u=a[o+(f<<2)>>2]|0;Td(th(A,w,u,0,1)|0,137460,176,1)|0;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;u=(a[u+16>>2]|0)+236|0;a[u>>2]=(a[u>>2]|0)+1;f=f+1|0;r=r+-1|0}}}while(0);L2(o);L2(k);return}function mk(){return jk(18240,a[4581]|0)|0}function Lk(A,e,i){A=A|0;e=e|0;i=i|0;i=$F(16)|0;a[i+12>>2]=0;a[i+8>>2]=a[e+8>>2];return i|0}function Wk(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function yk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return((e|0)<(r|0)?-1:(e|0)>(r|0)&1)|0}function zk(A){A=A|0;pk(A)|0;return}function Yk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;f=i;r=e+16|0;a[f+8>>2]=a[(a[r>>2]|0)+236>>2];A=(W5[a[A>>2]&63](A,f,1)|0)+12|0;a[(a[r>>2]|0)+164>>2]=a[A>>2];a[A>>2]=e;k=i;return}function Dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=e+16|0;a[n+8>>2]=a[(a[f>>2]|0)+236>>2];n=W5[a[A>>2]&63](A,n,4)|0;if(!n)vA(96322,96325,107,96335);r=n+12|0;i=a[r>>2]|0;if((i|0)==(e|0)){e=a[(a[f>>2]|0)+164>>2]|0;a[r>>2]=e;if(!e)W5[a[A>>2]&63](A,n,2)|0}else{do{A=(a[i+16>>2]|0)+164|0;i=a[A>>2]|0;r=(i|0)!=0}while(r&(i|0)!=(e|0));if(r)a[A>>2]=a[(a[i+16>>2]|0)+164>>2]}k=l;return}function Mk(A){A=A|0;var e=0,i=0,r=0,f=0;i=W5[a[A>>2]&63](A,0,128)|0;if(i){f=i+12|0;e=a[f>>2]|0;r=a[(a[e+16>>2]|0)+164>>2]|0;a[f>>2]=r;if(!r)W5[a[A>>2]&63](A,i,2)|0}else e=0;return e|0}function Fk(){return jk(18276,a[4581]|0)|0}function Vk(A,e,i){A=A|0;e=e|0;i=i|0;i=$F(12)|0;a[i+8>>2]=a[e+8>>2];return i|0}function Jk(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Nk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function Xk(A){A=A|0;pk(A)|0;return}function Rk(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r+8>>2]=e;W5[a[A>>2]&63](A,r,1)|0;k=i;return}function Hk(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r+8>>2]=e;W5[a[A>>2]&63](A,r,2)|0;k=i;return}function pk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;do{if((A|0)!=0?(a[A+24>>2]|0)<=0:0){l=a[A+4>>2]|0;n=l+32|0;e=a[n>>2]|0;if(e){e=y5[e&127](A,2,0,l)|0;if((e|0)<0){e=-1;break}}else e=0;if(a[A+28>>2]|0)_k(A,0)|0;f=(e|0)==0;if(f){W5[a[a[A+16>>2]>>2]&63](A,0,64)|0;if((Pk(A)|0)>0){e=-1;break}i=A+8|0;e=a[i>>2]|0;if((a[e+12>>2]|0)>0){r=A+12|0;y5[a[r>>2]&127](A,a[e+8>>2]|0,0,l)|0;e=a[i>>2]|0}else r=A+12|0;y5[a[r>>2]&127](A,e,0,l)|0}e=a[A+20>>2]|0;if(e){if(f&(e|0)==1)y5[a[A+12>>2]&127](A,A,0,l)|0}else L2(A);e=a[n>>2]|0;if(!e)e=0;else{y5[e&127](A,6,0,l)|0;e=0}}else e=-1}while(0);return e|0}function Uk(A){A=A|0;var e=0,i=0,r=0;r=A+8|0;e=a[r>>2]|0;i=a[e>>2]|0;A:do{if(!(i&12)){if(!(i&3)){i=e+8|0;A=a[i>>2]|0;a[i>>2]=0;break}A=xk(A)|0;i=a[r>>2]|0;e=a[i+8>>2]|0;i=e+(a[i+12>>2]<<2)|0;while(1){if(e>>>0>=i>>>0)break A;a[e>>2]=0;e=e+4|0}}else A=a[e+4>>2]|0}while(0);r=a[r>>2]|0;a[r>>2]=a[r>>2]&-4097;a[r+16>>2]=0;a[r+4>>2]=0;return A|0}function xk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=A+8|0;A=a[n>>2]|0;e=a[A>>2]|0;if(!(e&4096)){A:do{if(!(e&3)){if(e&112|0){A=a[A+8>>2]|0;break}A=a[A+4>>2]|0;if(!A)A=0;else{while(1){e=A+4|0;i=a[e>>2]|0;if(!i){r=A;break}a[e>>2]=a[i>>2];a[i>>2]=A;A=i}while(1){e=a[r>>2]|0;if(!e)break A;i=a[e+4>>2]|0;if(!i){r=e;continue}while(1){a[e+4>>2]=a[i>>2];a[i>>2]=e;e=a[i+4>>2]|0;if(!e)break;else{f=i;i=e;e=f}}a[r>>2]=i;r=i}}}else{r=a[A+8>>2]|0;f=r+(a[A+12>>2]<<2)|0;e=0;A=0;while(1){if(r>>>0>=f>>>0)break A;i=a[r>>2]|0;if(i){if(!e){e=i;A=i}else a[e>>2]=i;while(1){i=a[e>>2]|0;if(!i)break;else e=i}a[r>>2]=e}r=r+4|0}}}while(0);n=a[n>>2]|0;a[n+4>>2]=A;a[n>>2]=a[n>>2]|4096}else A=a[A+4>>2]|0;return A|0}function Tk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0;B=A+8|0;if(a[a[B>>2]>>2]&4096|0)Sk(A,0)|0;d=a[A+4>>2]|0;w=a[d>>2]|0;u=a[d+4>>2]|0;h=d+8|0;g=a[h>>2]|0;k=a[d+20>>2]|0;o=A+20|0;f=a[o>>2]&-32769;a[o>>2]=f;A:do{if(!e){if(i&384|0){f=a[B>>2]|0;r=a[f+8>>2]|0;if(!r){r=0;break}if(i&256){r=a[r+4>>2]|0;a[f+4>>2]=r;if(!r){r=0;break}}else a[f+4>>2]=r;if((g|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}if(i&4098|0){r=a[B>>2]|0;if(a[r>>2]&144|0){r=0;break}r=a[r+8>>2]|0;if(!r){r=0;break}else{l=r;v=84;break}}if(!(i&64))r=0;else{t=d+16|0;e:do{if((a[t>>2]|0)!=0|(g|0)<0){c=A+12|0;b=(g|0)<0;f=0-g|0;r=a[(a[B>>2]|0)+8>>2]|0;while(1){if(!r)break e;n=a[r>>2]|0;l=a[t>>2]|0;if(l|0){if(b)e=a[r+8>>2]|0;else e=r+f|0;J5[l&127](A,e,d)}if((a[h>>2]|0)>=0){r=n;continue}y5[a[c>>2]&127](A,r,0,d)|0;r=n}}}while(0);r=a[B>>2]|0;a[r+4>>2]=0;a[r+8>>2]=0;a[(a[B>>2]|0)+16>>2]=0;r=0}}else{if(i&2049|0){n=d+12|0;r=a[n>>2]|0;l=(i&1|0)==0;if(!(l|(r|0)==0)){r=W5[r&63](A,e,d)|0;if(!r){r=0;break}else f=r}else f=e;do{if((g|0)>-1)l=f+g|0;else{r=y5[a[A+12>>2]&127](A,0,12,d)|0;if(r|0){a[r+8>>2]=f;l=r;break}if(!(a[n>>2]|0)){r=0;break A}r=a[d+16>>2]|0;if(l|(r|0)==0){r=0;break A}J5[r&127](A,f,d);r=0;break A}}while(0);n=a[B>>2]|0;r=a[n>>2]|0;do{if(!(r&128)){if(!(r&16))if(!(r&32)){v=51;break}else{v=48;break}f=a[n+4>>2]|0;r=(f|0)!=0;if(!(i&8192)){if(!r){v=48;break}if((f|0)==(a[n+8>>2]|0)){v=48;break}d=f+4|0;A=a[d>>2]|0;a[l+4>>2]=A;a[A>>2]=l;a[l>>2]=f;a[d>>2]=l;break}else{if(!r){v=51;break}r=a[f>>2]|0;if(!r){v=51;break}a[l>>2]=r;a[r+4>>2]=l;a[l+4>>2]=f;a[f>>2]=l;break}}else if(!(i&8192))v=48;else v=51}while(0);if((v|0)==48){r=a[n+8>>2]|0;a[l>>2]=r;if(!r)r=l;else a[l+4>>2]=a[r+4>>2];a[r+4>>2]=l;a[(a[B>>2]|0)+8>>2]=l}else if((v|0)==51){f=n+8|0;r=a[f>>2]|0;if(!r){a[f>>2]=l;r=l}else{d=r+4|0;a[a[d>>2]>>2]=l;a[l+4>>2]=a[d>>2]}a[r+4>>2]=l;a[l>>2]=0}r=a[B>>2]|0;f=r+16|0;n=a[f>>2]|0;if((n|0)>-1)a[f>>2]=n+1;a[r+4>>2]=l;if((g|0)<0){r=a[l+8>>2]|0;break}else{r=l+(0-g)|0;break}}l=a[B>>2]|0;do{if(!(i&512)){r=a[l+4>>2]|0;if(r|0){if((g|0)<0)n=a[r+8>>2]|0;else n=r+(0-g)|0;if((n|0)==(e|0))break}r=e+w|0;if((u|0)<0){e=a[r>>2]|0;v=68}else{e=r;v=68}}else v=68}while(0);if((v|0)==68){n=(g|0)<0;t=(u|0)<0;c=(k|0)==0;b=(u|0)<1;s=0-g|0;r=l+8|0;do{r=a[r>>2]|0;if(!r){r=0;break A}if(n)f=a[r+8>>2]|0;else f=r+s|0;f=f+w|0;if(t)f=a[f>>2]|0;do{if(c)if(b){f=A1(e,f)|0;break}else{f=F4(e,f,u)|0;break}else f=y5[k&127](A,e,f,d)|0}while(0)}while((f|0)!=0);f=a[o>>2]|0}a[o>>2]=f|32768;if(!(i&4098)){do{if(!(i&8)){f=a[B>>2]|0;if(!(i&16)){a[f+4>>2]=r;break}if((r|0)==(a[f+8>>2]|0)){a[f+4>>2]=0;r=0;break A}else{r=r+4|0;v=108;break}}else{f=a[B>>2]|0;v=108}}while(0);if((v|0)==108){r=a[r>>2]|0;a[f+4>>2]=r;if(!r){r=0;break}}if((g|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}else{l=r;v=84}}}while(0);if((v|0)==84){r=a[l>>2]|0;if(r){a[r+4>>2]=a[l+4>>2];r=a[l>>2]|0}f=(a[B>>2]|0)+8|0;n=a[f>>2]|0;if((l|0)==(n|0)){a[f>>2]=r;r=a[(a[B>>2]|0)+8>>2]|0;if(r|0)a[r+4>>2]=a[l+4>>2]}else{f=l+4|0;a[a[f>>2]>>2]=r;r=n+4|0;if((l|0)==(a[r>>2]|0))a[r>>2]=a[f>>2]}r=a[B>>2]|0;f=r+4|0;if((l|0)==(a[f>>2]|0))n=a[l>>2]|0;else n=0;a[f>>2]=n;v=r+16|0;a[v>>2]=(a[v>>2]|0)+-1;if((g|0)<0)r=a[l+8>>2]|0;else r=l+(0-g)|0;f=a[d+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))J5[f&127](A,r,d);if((a[h>>2]|0)<0)y5[a[A+12>>2]&127](A,l,0,d)|0}return r|0}function jk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;A:do{if((A|0)!=0&(e|0)!=0?(f=m2(40)|0,(f|0)!=0):0){a[f>>2]=0;a[f+16>>2]=0;a[f+4>>2]=0;Ao(f,A,0)|0;i=f+20|0;t=A+32|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;i=a[t>>2]|0;do{if(i){a[n>>2]=0;i=y5[i&127](f,1,n,A)|0;if((i|0)>=0)if(i){r=a[n>>2]|0;if(r|0)if(!(a[e+4>>2]&a[r>>2])){i=f;l=12;break}else{i=f;break}i=A+28|0;if(!(a[i>>2]|0)){i=f;l=12}else{L2(f);r=y5[a[i>>2]&127](0,0,40,A)|0;if(!r){i=0;break A}a[r>>2]=0;a[r+16>>2]=0;a[r+4>>2]=0;Ao(r,A,0)|0;a[r+20>>2]=1;a[r+24>>2]=0;a[r+32>>2]=0;a[r+28>>2]=0;i=r;f=r;l=11}}else{i=f;l=11}else{i=f;l=12}}else{i=f;l=11}}while(0);if((l|0)==11){r=y5[a[i+12>>2]&127](i,0,28,A)|0;a[n>>2]=r;if(!r){i=f;l=12}else{a[r>>2]=a[e+4>>2];n=r+4|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=0;a[n+20>>2]=0}}if((l|0)==12){L2(i);i=0;break}a[i+8>>2]=r;a[i>>2]=a[e>>2];a[i+16>>2]=e;r=a[t>>2]|0;if(r)y5[r&127](i,5,f,A)|0}else i=0}while(0);k=c;return i|0}function Sk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;f=a[a[A+16>>2]>>2]|0;c=A+8|0;n=a[c>>2]|0;l=a[n>>2]|0;i=l&4096;if(!e)if(!i)e=-1;else{r=i;e=a[n+4>>2]|0;t=5}else if(!(a[n+16>>2]|0)){r=0;t=5}else e=-1;A:do{if((t|0)==5){a[n>>2]=l&-4097;if(!(l&3)){i=n+4|0;if(!(l&12)){a[i>>2]=0;i=n+8|0}a[i>>2]=e;if(r|0){e=0;break}a[(a[c>>2]|0)+16>>2]=-1;e=0;break}a[n+4>>2]=0;if(!r){a[n+16>>2]=0;while(1){if(!e){e=0;break A}c=a[e>>2]|0;W5[f&63](A,e,32)|0;e=c}}r=a[n+8>>2]|0;A=r+(a[n+12>>2]<<2)|0;while(1){if(r>>>0>=A>>>0){e=0;break A}i=a[r>>2]|0;if(i){a[r>>2]=e;e=a[i>>2]|0;a[i>>2]=0}r=r+4|0}}}while(0);return e|0}function Pk(A){A=A|0;var e=0,i=0,r=0;e=A+8|0;i=a[e>>2]|0;if(a[i>>2]&4096){Sk(A,0)|0;i=a[e>>2]|0}r=i+16|0;A=a[r>>2]|0;do{if((A|0)<0){e=a[i>>2]|0;if(e&12|0){A=Ok(a[i+4>>2]|0)|0;a[r>>2]=A;break}if(e&112){A=0;e=i+8|0;while(1){e=a[e>>2]|0;if(!e)break;A=A+1|0}a[r>>2]=A}}}while(0);return A|0}function Ok(A){A=A|0;var e=0;if(!A)return 0;else{e=Ok(a[A+4>>2]|0)|0;return e+1+(Ok(a[A>>2]|0)|0)|0}return 0}function Kk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0;Y=k;k=k+128|0;G=Y+120|0;d=Y;z=A+8|0;r=a[z>>2]|0;if(a[r>>2]&4096){Sk(A,0)|0;r=a[z>>2]|0}y=a[A+4>>2]|0;Q=a[y>>2]|0;m=a[y+4>>2]|0;I=y+8|0;W=a[I>>2]|0;L=a[y+20>>2]|0;v=A+20|0;a[v>>2]=a[v>>2]&-32769;l=a[r+4>>2]|0;A:do{if(!e)if((i&448|0)==0|(l|0)==0)r=0;else{if(!(i&64)){e:do{if(!(i&256)){r=l;while(1){f=r+4|0;n=a[f>>2]|0;if(!n)break e;a[f>>2]=a[n>>2];a[n>>2]=r;r=n}}else{r=l;while(1){f=a[r>>2]|0;if(!f)break e;A=f+4|0;a[r>>2]=a[A>>2];a[A>>2]=r;r=f}}}while(0);a[(a[z>>2]|0)+4>>2]=r;if((W|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-W)|0;break}}e=y+16|0;if((a[e>>2]|0)!=0|(W|0)<0){c=A+12|0;b=(W|0)<0;t=0-W|0;r=l;do{l=r;while(1){r=l+4|0;f=a[r>>2]|0;if(!f)break;a[r>>2]=a[f>>2];a[f>>2]=l;l=f}r=a[l>>2]|0;f=a[e>>2]|0;if(f|0){if(b)n=a[l+8>>2]|0;else n=l+t|0;J5[f&127](A,n,y)}if((a[I>>2]|0)<0)y5[a[c>>2]&127](A,l,0,y)|0}while((r|0)!=0);r=a[z>>2]|0}a[r+16>>2]=0;a[r+4>>2]=0;r=0}else{Z=A+16|0;g=(i&4098|0)==0;e:do{if(g|(a[(a[Z>>2]|0)+4>>2]|0)!=8)E=45;else{b=(m|0)<0;r=e+Q|0;if(b)r=a[r>>2]|0;t=(L|0)==0;c=(m|0)<1;n=W5[a[A>>2]&63](A,e,4)|0;while(1){if(!n){E=45;break e}f=n+Q|0;if(b)f=a[f>>2]|0;do{if(t)if(c){f=A1(r,f)|0;break}else{f=F4(r,f,m)|0;break}else f=y5[L&127](A,r,f,y)|0}while(0);if(f|0){E=45;break e}if((n|0)==(e|0))break;n=W5[a[A>>2]&63](A,n,8)|0}l=a[(a[z>>2]|0)+4>>2]|0;a[G>>2]=a[l+4>>2];a[G+4>>2]=a[l>>2];r=G;E=180}}while(0);e:do{if((E|0)==45){do{if(!(i&2565)){if(i&32|0){if((W|0)<0)n=a[e+8>>2]|0;else n=e+(0-W)|0;r=n+Q|0;if((m|0)<0)f=a[r>>2]|0;else f=r;if(!l){r=e;f=G;l=G;E=198;break}else{r=e;B=f;c=e;E=64;break}}if(l){if((W|0)<0)r=a[l+8>>2]|0;else r=l+(0-W)|0;if((r|0)!=(e|0)){f=e+Q|0;if((m|0)<0){n=e;r=0;B=a[f>>2]|0;c=0;E=64}else{n=e;r=0;B=f;c=0;E=64}}else{r=0;n=e;f=G;b=G;c=0;E=141}}else{r=0;n=e;f=G;l=G;E=198}}else{if(!(i&512)){r=e+Q|0;if((m|0)<0)f=a[r>>2]|0;else f=r}else f=e;if(!l){r=0;n=e;f=G;l=G;E=198}else{n=e;r=0;B=f;c=0;E=64}}}while(0);i:do{if((E|0)==64){r:do{if((a[(a[Z>>2]|0)+4>>2]|0)==4?(h=a[(a[z>>2]|0)+24>>2]|0,!((i&516|0)==0|(h|0)==0)):0){e=(W|0)<0;s=(m|0)<0;w=(L|0)==0;u=(m|0)<1;o=0-W|0;b=0;f=l;while(1){if((b|0)>=(h|0)){f=G;b=G;s=0;break}if(e)t=a[f+8>>2]|0;else t=f+o|0;t=t+Q|0;if(s)t=a[t>>2]|0;do{if(w)if(u){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if(!t){E=80;break}a[d+(b<<2)>>2]=t;f=a[((t|0)<0?f+4|0:f)>>2]|0;if(!f){r=0;break A}else b=b+1|0}if((E|0)==80)if(e){r=a[f+8>>2]|0;break A}else{r=f+o|0;break A}while(1){if((s|0)>=(h|0))break r;do{if((a[d+(s<<2)>>2]|0)<0){t=l+4|0;e=a[t>>2]|0;if((a[d+((s|1)<<2)>>2]|0)<0){a[t>>2]=a[e>>2];a[e>>2]=l;a[f+4>>2]=e;f=e;l=b;t=e+4|0;break}else{a[b>>2]=e;a[f+4>>2]=l;f=l;l=e;t=e;break}}else{t=a[l>>2]|0;if((a[d+((s|1)<<2)>>2]|0)>0){o=t+4|0;a[l>>2]=a[o>>2];a[o>>2]=l;a[b>>2]=t;l=t;break}else{a[f+4>>2]=t;a[b>>2]=l;f=t;t=t+4|0;break}}}while(0);b=l;s=s+2|0;l=a[t>>2]|0}}else{f=G;b=G}}while(0);w=(W|0)<0;u=(m|0)<0;o=(L|0)!=0;h=(m|0)<1;d=0-W|0;t=l;r:while(1){l=t;while(1){if(w)t=a[l+8>>2]|0;else t=l+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if(!t){E=140;break r}if((t|0)>=0)break;e=l+4|0;s=a[e>>2]|0;if(!s){E=121;break r}if(w)t=a[s+8>>2]|0;else t=s+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if((t|0)>=0){E=118;break}a[e>>2]=a[s>>2];a[s>>2]=l;a[f+4>>2]=s;l=a[s+4>>2]|0;if(!l){f=s;l=b;E=198;break i}else f=s}if((E|0)==118){E=0;if(!t){E=119;break}a[b>>2]=s;a[f+4>>2]=l;t=a[s>>2]|0;if(!t){f=l;l=s;E=198;break i}else{f=l;b=s;continue}}e=a[l>>2]|0;if(!e){E=139;break}if(w)t=a[e+8>>2]|0;else t=e+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if((t|0)>0){t=e+4|0;a[l>>2]=a[t>>2];a[t>>2]=l;a[b>>2]=e;t=a[e>>2]|0;if(!t){l=e;E=198;break i}else{b=e;continue}}if(!t){E=137;break}a[f+4>>2]=e;a[b>>2]=l;t=a[e+4>>2]|0;if(!t){f=e;E=198;break i}else{f=e;b=l}}if((E|0)==119){a[f+4>>2]=l;f=l;l=s;E=141;break}else if((E|0)==121){a[f+4>>2]=l;f=l;l=b;E=198;break}else if((E|0)==137){a[b>>2]=l;b=l;l=e;E=141;break}else if((E|0)==139){a[b>>2]=l;E=198;break}else if((E|0)==140)if(!l){l=b;E=198;break}else{E=141;break}}}while(0);do{if((E|0)==141){a[v>>2]=a[v>>2]|32768;t=l+4|0;a[b>>2]=a[t>>2];a[f+4>>2]=a[l>>2];if(!(i&516)){if(i&8|0){a[t>>2]=a[G>>2];a[l>>2]=0;a[G>>2]=l;E=169;break}if(i&16|0){E=G+4|0;a[l>>2]=a[E>>2];a[t>>2]=0;a[E>>2]=l;E=175;break}if(!g){r=f;E=180;break e}if(i&2049|0){if(a[(a[Z>>2]|0)+4>>2]&4|0){r=l;break}a[t>>2]=0;r=G+4|0;a[l>>2]=a[r>>2];a[r>>2]=l;r=l;E=205;break}if(!(i&32)){r=0;break A}if(!(a[(a[Z>>2]|0)+4>>2]&4)){a[r+4>>2]=0;I=G+4|0;a[r>>2]=a[I>>2];a[I>>2]=c;r=(a[z>>2]|0)+16|0;a[r>>2]=(a[r>>2]|0)+1;r=l;break}r=a[y+16>>2]|0;if(r|0)J5[r&127](A,n,y);if((a[I>>2]|0)<0){y5[a[A+12>>2]&127](A,c,0,y)|0;r=l}else r=l}else r=l}else if((E|0)==198){a[f+4>>2]=0;a[l>>2]=0;if(!(i&8))if(!(i&16)){if(i&516|0){r=f;break e}if(!(i&2049)){if(!(i&32)){n=0;r=f;break e}I=(a[z>>2]|0)+16|0;a[I>>2]=(a[I>>2]|0)+1}else{r=0;E=205}}else E=175;else E=169}}while(0);if((E|0)==169){l=G+4|0;r=a[l>>2]|0;if(!r){r=f;break}while(1){f=r+4|0;n=a[f>>2]|0;if(!n)break;a[f>>2]=a[n>>2];a[n>>2]=r;r=n}a[l>>2]=a[r>>2]}else if((E|0)==175){r=a[G>>2]|0;if(!r){r=f;break}while(1){f=a[r>>2]|0;if(!f)break;I=f+4|0;a[r>>2]=a[I>>2];a[I>>2]=r;r=f}a[G>>2]=a[r+4>>2]}else if((E|0)==205){t=y+12|0;l=a[t>>2]|0;c=(i&1|0)==0;if(!(c|(l|0)==0))n=W5[l&63](A,n,y)|0;do{if(n){if((W|0)>-1){r=n+W|0;E=215;break}r=y5[a[A+12>>2]&127](A,0,12,y)|0;if(r|0){a[r+8>>2]=n;break}if((a[t>>2]|0)!=0?(C=a[y+16>>2]|0,!(c|(C|0)==0)):0){J5[C&127](A,n,y);E=215}else E=215}else E=215}while(0);if((E|0)==215)if(!r){r=f;break}f=(a[z>>2]|0)+16|0;n=a[f>>2]|0;if((n|0)>-1)a[f>>2]=n+1}a[r+4>>2]=a[G>>2];a[r>>2]=a[G+4>>2];i:do{if(!((i&516|0)==0?1:(a[(a[Z>>2]|0)+4>>2]&8|0)==0)){s=(W|0)<0;if(s)f=a[r+8>>2]|0;else f=r+(0-W)|0;w=(m|0)<0;f=f+Q|0;if(w)f=a[f>>2]|0;c=(L|0)==0;b=(m|0)<1;e=0-W|0;while(1){t=r+4|0;n=a[t>>2]|0;if(!n)break i;while(1){l=a[n>>2]|0;if(!l)break;G=l+4|0;a[n>>2]=a[G>>2];a[G>>2]=n;n=l}a[t>>2]=n;if(s)l=a[n+8>>2]|0;else l=n+e|0;l=l+Q|0;if(w)l=a[l>>2]|0;do{if(c)if(b){l=A1(f,l)|0;break}else{l=F4(f,l,m)|0;break}else l=y5[L&127](A,f,l,y)|0}while(0);if(l|0)break i;a[t>>2]=a[n>>2];a[n>>2]=r;r=n}}}while(0);a[(a[z>>2]|0)+4>>2]=r;if((W|0)<0){r=a[r+8>>2]|0;break A}else{r=r+(0-W)|0;break A}}}while(0);if((E|0)==180){if((W|0)<0)n=a[l+8>>2]|0;else n=l+(0-W)|0;f=a[y+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))J5[f&127](A,n,y);if((a[I>>2]|0)<0)y5[a[A+12>>2]&127](A,l,0,y)|0;A=(a[z>>2]|0)+16|0;y=a[A>>2]|0;a[A>>2]=(y|0)<1?-1:y+-1|0}do{f=r+4|0;r=a[f>>2]|0}while((r|0)!=0);a[f>>2]=a[G>>2];a[(a[z>>2]|0)+4>>2]=a[G+4>>2];r=i&2|0?n:0}}while(0);k=Y;return r|0}function _k(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(a[a[A+8>>2]>>2]&4096|0)Sk(A,0)|0;f=(e|0)!=0;if(f){if(a[a[e+8>>2]>>2]&4096|0)Sk(e,0)|0;if((a[e+16>>2]|0)==(a[A+16>>2]|0)){i=e;r=7}else e=0}else{i=0;r=7}A:do{if((r|0)==7){while(1){if(!i)break;if((i|0)==(A|0)){e=0;break A}i=a[i+28>>2]|0;r=7}i=A+28|0;r=a[i>>2]|0;if(r|0){n=r+24|0;a[n>>2]=(a[n>>2]|0)+-1}a[A+32>>2]=0;a[i>>2]=0;if(f){a[i>>2]=e;a[A>>2]=28;n=e+24|0;a[n>>2]=(a[n>>2]|0)+1;break}else{a[A>>2]=a[a[A+16>>2]>>2];e=r;break}}}while(0);return e|0}function qk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;A:do{if(!(i&99)){if((i&516|0)==0?(r=a[(a[A+16>>2]|0)+4>>2]|0,!((i&384|0)!=0&(r&12|0)==0)):0){if(r&12|0){if(!(i&408)){r=0;break}k=(i&136|0)!=0;o=(i&272|0)!=0;s=0;f=0;r=0;u=A;while(1){if(!u)break;w=W5[a[a[u+16>>2]>>2]&63](u,e,i)|0;do{if(!w)n=s;else{l=a[u+4>>2]|0;t=a[l+4>>2]|0;c=a[l+20>>2]|0;n=w+(a[l>>2]|0)|0;if((t|0)<0)b=a[n>>2]|0;else b=n;if(r|0){do{if(!c)if((t|0)<1){n=A1(b,f)|0;break}else{n=F4(b,f,t)|0;break}else n=y5[c&127](u,b,f,l)|0}while(0);if(!(k&(n|0)<0|o&(n|0)>0)){n=s;break}}n=u;f=b;r=w}}while(0);s=n;u=a[u+28>>2]|0}a[A+32>>2]=s;break}if(!(i&24)){r=0;break}c=A+32|0;f=a[c>>2]|0;if(f){r=a[(a[f+4>>2]|0)+8>>2]|0;n=a[(a[f+8>>2]|0)+4>>2]|0;if((r|0)<0)r=a[n+8>>2]|0;else r=n+(0-r)|0;if((r|0)==(e|0))r=e;else{f=A;l=32}}else{f=A;l=32}do{if((l|0)==32){while(1){if(!f){l=33;break}r=W5[a[a[f+16>>2]>>2]&63](f,e,4)|0;if(r|0){l=36;break}f=a[f+28>>2]|0;l=32}if((l|0)==33){a[c>>2]=0;r=0;break A}else if((l|0)==36){a[c>>2]=f;break}}}while(0);t=(i<<4&128^128)+128|0;r=W5[a[a[f+16>>2]>>2]&63](f,r,i)|0;while(1){l=f+16|0;while(1){if(!r)break;else n=A;while(1){if((n|0)==(f|0))break A;if(W5[a[a[n+16>>2]>>2]&63](n,r,4)|0)break;n=a[n+28>>2]|0}r=W5[a[a[l>>2]>>2]&63](f,r,i)|0}f=a[f+28>>2]|0;a[c>>2]=f;if(!f){r=0;break A}r=W5[a[a[f+16>>2]>>2]&63](f,0,t)|0}}else f=A;while(1){if(!f){f=0;r=0;break}r=W5[a[a[f+16>>2]>>2]&63](f,e,i)|0;if(r|0)break;f=a[f+28>>2]|0}a[A+32>>2]=f}else r=W5[a[a[A+16>>2]>>2]&63](A,e,i)|0}while(0);return r|0}function $k(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=A+32|0;f=W5[a[A>>2]&63](A,0,128)|0;do{if(!f){r=0;break}l=a[n>>2]|0;r=f;f=W5[a[A>>2]&63](A,f,8)|0;r=W5[e&63]((l|0)==0?A:l,r,i)|0}while((r|0)>=0);return r|0}function Ao(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;f=A+4|0;u=a[f>>2]|0;A:do{if(u)if(e){w=a[a[A+16>>2]>>2]|0;n=A+8|0;if(a[a[n>>2]>>2]&4096|0)Sk(A,0)|0;r=a[u+32>>2]|0;if(r|0?(y5[r&127](A,3,e,u)|0)<0:0){e=0;break}a[f>>2]=e;r=a[e+28>>2]|0;a[A+12>>2]=(r|0)==0?52:r;r=a[a[n>>2]>>2]|0;if(!(r&112)){do{if(!(r&2))if(!(r&3))if(!(i&1))break;else{e=u;break A}else if((i&3|0)==3){e=u;break A}else break;else if(i&2|0){e=u;break A}}while(0);l=xk(A)|0;r=a[n>>2]|0;s=a[r>>2]|0;a[r>>2]=s&-4097;a[r+4>>2]=0;a[r+16>>2]=0;e:do{if(s&3|0){s=a[r+8>>2]|0;f=s+(a[r+12>>2]<<2)|0;r=s;while(1){if(r>>>0>=f>>>0)break e;a[r>>2]=0;r=r+4|0}}}while(0);t=(i&2|0)==0;c=e+8|0;b=e+4|0;s=e+24|0;while(1){if(!l){e=u;break A}i=a[l>>2]|0;if(t){r=a[c>>2]|0;if((r|0)<0)r=a[l+8>>2]|0;else r=l+(0-r)|0;n=a[b>>2]|0;r=r+(a[e>>2]|0)|0;if((n|0)<0)r=a[r>>2]|0;f=a[s>>2]|0;if(!f)r=io(0,r,n)|0;else r=W5[f&63](A,r,e)|0;a[l+4>>2]=r}W5[w&63](A,l,32)|0;l=i}}else e=u}else e=u;else{a[f>>2]=e;u=a[e+28>>2]|0;a[A+12>>2]=(u|0)==0?52:u}}while(0);return e|0}function eo(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(i|0)==0;do{if(!e)if(A)A=0;else A=m2(i)|0;else if(A){L2(e);A=0;break}else{A=y2(e,i)|0;break}}while(0);return A|0}function io(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;a=e;if((i|0)>=1){l=e+i+-1|0;a=(l>>>0>>0?e:l)+(1-a)&-2;f=e;while(1){if(f>>>0>=l>>>0)break;A=U(((n[f>>0]|0)<<8)+A+(n[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=e+a|0;if(f>>>0>l>>>0)e=i;else{e=i;A=U(((n[f>>0]|0)<<8)+A|0,17109811)|0}}else{while(1){f=r[e>>0]|0;if(!(f<<24>>24))break;l=r[e+1>>0]|0;i=U(((f&255)<<8)+A+(l&255)|0,17109811)|0;A=i;e=e+(l<<24>>24?2:1)|0}e=e-a|0}return U(A+e|0,17109811)|0}function ro(A){A=A|0;var e=0;e=a[46935]|0;a[46935]=A;return e|0}function fo(A){A=A|0;var e=0;e=a[46936]|0;a[46936]=A;return e|0}function ao(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=no(A,e,f)|0;k=r;return i|0}function no(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=k;k=k+16|0;r=n;f=(A|0)==3;l=f?a[46938]|0:(A|0)==2?1:A;a[46938]=l;t=a[46939]|0;a[46939]=t>>>0>l>>>0?t:l;do{if(l>>>0<(a[46936]|0)>>>0){A=a[46937]|0;if(!A){A=b6()|0;a[46937]=A;if(!A){A=1;break}}if(!f){u6(A)|0;A=a[46937]|0}o4(A,e,i)|0;A=0}else{if(a[46935]|0){lo(A,e,i);A=0;break}if(f)A=a[15712]|0;else{t=a[15712]|0;a[r>>2]=(A|0)==1?96349:96355;f3(t,96363,r)|0;A=t}o4(A,e,i)|0;A=0}}while(0);k=n;return A|0}function lo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((a[46940]|0)==0?(f=m2(a[4590]|0)|0,a[46940]=f,(f|0)==0):0)m3(96368,a[15712]|0)|0;else r=4;do{if((r|0)==4){if((A|0)!=3){Q5[a[46935]&63]((A|0)==1?96349:96355)|0;Q5[a[46935]&63](97027)|0}while(1){A=k4(a[46940]|0,a[4590]|0,e,i)|0;r=a[4590]|0;if((A|0)>-1&(A|0)<(r|0)){r=7;break}r=r<<1;f=A+1|0;f=(r|0)>(f|0)?r:f;a[4590]=f;if(!(y2(a[46940]|0,f)|0)){r=9;break}}if((r|0)==7){Q5[a[46935]&63](a[46940]|0)|0;break}else if((r|0)==9){m3(96368,a[15712]|0)|0;break}}}while(0);return}function to(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;no(1,A,r)|0;k=i;return}function co(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!i){i=(e|0)==0?1024:e;e=i;i=m2(i)|0;f=1}else f=0;a[A+12>>2]=f;a[A>>2]=i;a[A+8>>2]=i+e;a[A+4>>2]=i;r[i>>0]=0;return}function bo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=A+8|0;f=a[A>>2]|0;n=(a[l>>2]|0)-f|0;r=n<<1;n=n+e|0;r=n>>>0>r>>>0?n:r;n=A+4|0;e=f;f=(a[n>>2]|0)-f|0;i=A+12|0;if(!(a[i>>2]|0)){t=m2(r)|0;y6(t|0,e|0,f|0)|0;a[i>>2]=1;e=t}else e=y2(e,r)|0;a[A>>2]=e;a[n>>2]=e+f;a[l>>2]=e+r;return 0}function so(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=A+4|0;r=a[f>>2]|0;if((r+i|0)>>>0>(a[A+8>>2]|0)>>>0){bo(A,i)|0;r=a[f>>2]|0}y6(r|0,e|0,i|0)|0;a[f>>2]=(a[f>>2]|0)+i;return i|0}function wo(A,e){A=A|0;e=e|0;return so(A,e,S2(e)|0)|0}function uo(A){A=A|0;if(a[A+12>>2]|0)L2(a[A>>2]|0);return}function ko(A){A=A|0;var e=0,i=0;e=A+4|0;i=a[e>>2]|0;if(i>>>0>(a[A>>2]|0)>>>0){a[e>>2]=i+-1;A=n[i>>0]|0}else A=-1;return A|0}function oo(A,e,i){A=A|0;e=e|0;i=i|0;lB(a[46942]|0,a[e+8>>2]|0)|0;lB(a[46942]|0,a[e+12>>2]|0)|0;fd(a[46942]|0,e);return}function ho(A,e){A=A|0;e=e|0;var i=0;i=Ud(A,96416,0)|0;if((e|0)!=0&(i|0)==0){Bo(A);i=Ud(A,96416,0)|0}return i|0}function Bo(A){A=A|0;var e=0,i=0,r=0;r=Zd(A)|0;mv(r,r,107,0,1)|0;i=cd(r)|0;while(1){if(!i)break;go(A,i);e=Oo(r,i)|0;while(1){if(!e)break;Eo(A,e);e=_o(r,e)|0}i=bd(r,i)|0}return}function vo(A){A=A|0;var e=0;e=A+24|0;r[e>>0]=r[e>>0]|64;Qo(A);e=pB(A)|0;Io((e|0)==0?A:e,A);return}function go(A,e){A=A|0;e=e|0;var i=0;i=Co(e)|0;if(!((i|0)!=0?(a[i+8>>2]|0)!=0:0))Io(A,e);return}function Eo(A,e){A=A|0;e=e|0;var i=0;i=Co(e)|0;if(!((i|0)!=0?(a[i+8>>2]|0)!=0:0))Io(A,e);return}function Co(A){A=A|0;return Ud(A,96404,0)|0}function Io(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=Td(e,96404,16,0)|0;f=Zo(A,a[e>>2]&3)|0;r=i+8|0;A:do{if(!(a[r>>2]|0)){A=Zd(A)|0;a[r>>2]=Zo(A,a[e>>2]&3)|0;A=Go(e)|0;i=i+12|0;a[i>>2]=rd(Id(e)|0,((A|0)>4?A:4)<<2)|0;A=W5[a[f>>2]&63](f,0,128)|0;while(1){if(!A)break A;r=Id(e)|0;r=aB(r,a[A+12>>2]|0)|0;a[(a[i>>2]|0)+(a[A+16>>2]<<2)>>2]=r;A=W5[a[f>>2]&63](f,A,8)|0}}}while(0);return}function Zo(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;A=ho(A,0)|0;A:do{if(!A)A=0;else switch(e|0){case 0:{A=a[A+16>>2]|0;break A}case 1:{A=a[A+8>>2]|0;break A}case 2:case 3:{A=a[A+12>>2]|0;break A}default:{a[i>>2]=e;ao(1,96429,i)|0;A=0;break A}}}while(0);k=r;return A|0}function Go(A){A=A|0;var e=0;e=Zd(Id(A)|0)|0;A=Zo(e,a[A>>2]&3)|0;if(!A)A=0;else A=Pk(A)|0;return A|0}function Qo(A){A=A|0;var e=0,i=0,r=0,f=0;i=Td(A,96416,20,0)|0;r=i+8|0;a[r>>2]=jB(A,18364,a[4589]|0)|0;f=i+12|0;a[f>>2]=jB(A,18364,a[4589]|0)|0;i=i+16|0;a[i>>2]=jB(A,18364,a[4589]|0)|0;e=pB(A)|0;if(!e){e=a[46941]|0;if(!((e|0)==0|(e|0)==(A|0))){e=ho(e,0)|0;mo(a[e+8>>2]|0,a[r>>2]|0,A,1);mo(a[e+12>>2]|0,a[f>>2]|0,A,2);mo(a[e+16>>2]|0,a[i>>2]|0,A,0)}}else{A=ho(e,0)|0;_k(a[r>>2]|0,a[A+8>>2]|0)|0;_k(a[f>>2]|0,a[A+12>>2]|0)|0;_k(a[i>>2]|0,a[A+16>>2]|0)|0}return}function mo(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=W5[a[A>>2]&63](A,0,128)|0;while(1){if(!n)break;l=Lo(i,a[n+8>>2]|0,a[n+12>>2]|0,a[n+16>>2]|0,f)|0;r[l+22>>0]=r[n+22>>0]|0;r[l+21>>0]=r[n+21>>0]|0;W5[a[e>>2]&63](e,l,1)|0;n=W5[a[A>>2]&63](A,n,8)|0}return}function Lo(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0;l=rd(A,24)|0;r[l+20>>0]=n;a[l+8>>2]=aB(A,e)|0;a[l+12>>2]=aB(A,i)|0;a[l+16>>2]=f;return l|0}function Wo(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+32|0;r=i;a[r+8>>2]=e;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function yo(A,e){A=A|0;e=e|0;var i=0;i=_k(A,0)|0;e=Wo(A,e)|0;_k(A,i)|0;return e|0}function zo(A,e){A=A|0;e=e|0;A=Co(A)|0;if(!A)A=0;else A=Wo(a[A+8>>2]|0,e)|0;return A|0}function Yo(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;if(!A){A=a[46941]|0;if(!A){r[n>>0]=r[18400]|0;r[n+1>>0]=r[18401]|0;r[n+2>>0]=r[18402]|0;r[n+3>>0]=r[18403]|0;A=kh(0,n,0)|0;a[46941]=A}}if(!f)A=Mo(A,e,i)|0;else A=Do(A,e,i,f)|0;k=l;return A|0}function Do(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=Zd(A)|0;ho(A,1)|0;n=Zo(A,e)|0;f=yo(n,i)|0;A:do{if(!f){f=Wo(n,i)|0;if(f|0){f=Lo(A,i,r,a[f+16>>2]|0,e)|0;W5[a[n>>2]&63](n,f,1)|0;l=16;break}n=Zo(t,e)|0;f=Lo(A,i,r,Pk(n)|0,e)|0;W5[a[n>>2]&63](n,f,1)|0;switch(e|0){case 0:{mv(t,t,57,f,1)|0;l=16;break A}case 1:{i=cd(t)|0;while(1){if(!i){l=16;break A}Fo(A,i,f);i=bd(t,i)|0}}case 2:case 3:{n=cd(t)|0;while(1){if(!n){l=16;break A}i=Oo(t,n)|0;while(1){if(!i)break;Fo(A,i,f);i=_o(t,i)|0}n=bd(t,n)|0}}default:break A}}else{l=f+12|0;lB(A,a[l>>2]|0)|0;a[l>>2]=aB(A,r)|0;l=16}}while(0);if((l|0)==16)if((e|0)==0&(f|0)!=0)Vo(A,f,r)|0;md(A,A,f);return f|0}function Mo(A,e,i){A=A|0;e=e|0;i=i|0;A=Zo(A,e)|0;if(!A)A=0;else A=Wo(A,i)|0;return A|0}function Fo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;e=Co(e)|0;f=i+16|0;r=a[f>>2]|0;if((r|0)>3){n=a[A+64>>2]|0;e=e+12|0;r=r<<2;a[e>>2]=y5[a[(a[n>>2]|0)+8>>2]&127](a[n+12>>2]|0,a[e>>2]|0,r,r+4|0)|0}else e=e+12|0;n=aB(A,a[i+12>>2]|0)|0;a[(a[e>>2]|0)+(a[f>>2]<<2)>>2]=n;return}function Vo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=Id(A)|0;n=(Co(A)|0)+12|0;t=e+16|0;lB(l,a[(a[n>>2]|0)+(a[t>>2]<<2)>>2]|0)|0;f=aB(l,i)|0;a[(a[n>>2]|0)+(a[t>>2]<<2)>>2]=f;do{if(!(a[A>>2]&3)){r=a[(ho(l,0)|0)+16>>2]|0;f=e+8|0;n=yo(r,a[f>>2]|0)|0;if(!n){t=Lo(l,a[f>>2]|0,i,a[t>>2]|0,a[A>>2]&3)|0;W5[a[r>>2]&63](r,t,1)|0;break}else{t=n+12|0;lB(l,a[t>>2]|0)|0;a[t>>2]=aB(l,i)|0;break}}}while(0);md(l,A,e);return 0}function Jo(A,e,i){A=A|0;e=e|0;i=i|0;A=Zo(A,e)|0;do{if(A){e=a[A>>2]|0;if(!i){A=W5[e&63](A,0,128)|0;break}else{A=W5[e&63](A,i,8)|0;break}}else A=0}while(0);return A|0}function No(A){A=A|0;var e=0;a[46942]=A;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,a[e>>2]|0)|0}e=ho(A,0)|0;if(e)if(((PB(A,a[e+8>>2]|0)|0)==0?(PB(A,a[e+12>>2]|0)|0)==0:0)?(PB(A,a[e+16>>2]|0)|0)==0:0){Sd(A,a[e>>2]|0)|0;e=0}else e=1;else e=0;return e|0}function Xo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=Id(A)|0;r=Go(A)|0;e=e+12|0;A=0;while(1){i=a[e>>2]|0;if((A|0)>=(r|0))break;lB(f,a[i+(A<<2)>>2]|0)|0;A=A+1|0}fd(f,i);return}function Ro(A){A=A|0;var e=0;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,96404)|0}return}function Ho(A){A=A|0;var e=0;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,96404)|0}return}function po(A,e){A=A|0;e=e|0;e=zo(A,e)|0;if(!e)e=0;else{A=a[(Co(A)|0)+12>>2]|0;e=a[A+(a[e+16>>2]<<2)>>2]|0}return e|0}function Uo(A,e){A=A|0;e=e|0;A=a[(Co(A)|0)+12>>2]|0;return a[A+(a[e+16>>2]<<2)>>2]|0}function xo(A,e,i){A=A|0;e=e|0;i=i|0;e=zo(A,e)|0;if(!e)e=-1;else{Vo(A,e,i)|0;e=0}return e|0}function To(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Id(A)|0;f=Yo(f,a[A>>2]&3,e,0)|0;if(!f){f=Id(A)|0;f=Yo(f,a[A>>2]&3,e,r)|0}Vo(A,f,i)|0;return 0}function jo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=Id(A)|0;f=a[A>>2]|0;A:do{if(!((a[e>>2]^f)&3)){i=1;r=0;while(1){r=Jo(n,f&3,r)|0;if(!r)break A;i=zo(e,a[r+8>>2]|0)|0;if(!i){i=1;break A}f=Uo(A,r)|0;Vo(e,i,f)|0;if(tB(f)|0)cB(Uo(e,i)|0);i=0;f=a[A>>2]|0}}else i=1}while(0);return i|0}function So(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;A=a[e+40>>2]|0;f=a[i+40>>2]|0;if((A|0)==(f|0)){r=(a[e>>2]|0)>>>4;A=(a[i>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else n=6;else A=-1}else{r=(a[A>>2]|0)>>>4;A=(a[f>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else n=6;else A=-1}if((n|0)==6)A=0;return A|0}function Po(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;A=(a[e+40>>2]|0)+8|0;n=a[A>>2]|0;A=a[A+4>>2]|0;f=(a[i+40>>2]|0)+8|0;r=a[f>>2]|0;f=a[f+4>>2]|0;do{if(!(A>>>0>>0|(A|0)==(f|0)&n>>>0>>0))if(A>>>0>f>>>0|(A|0)==(f|0)&n>>>0>r>>>0)A=1;else{r=e+8|0;A=a[r>>2]|0;r=a[r+4>>2]|0;if(!((A|0)==0&(r|0)==0)?(t=i+8|0,l=a[t>>2]|0,t=a[t+4>>2]|0,!((l|0)==0&(t|0)==0)):0){if(r>>>0>>0|(r|0)==(t|0)&A>>>0>>0){A=-1;break}if(r>>>0>t>>>0|(r|0)==(t|0)&A>>>0>l>>>0){A=1;break}}A=0}else A=-1}while(0);return A|0}function Oo(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+32|0;Sk(a[i>>2]|0,a[A>>2]|0)|0;e=a[i>>2]|0;e=W5[a[e>>2]&63](e,0,128)|0;a[A>>2]=Uk(a[i>>2]|0)|0}return e|0}function Ko(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+48|0;i=r;if((a[e+24>>2]|0)==(A|0))A=e+28|0;else{a[i+16>>2]=e;A=a[A+40>>2]|0;A=W5[a[A>>2]&63](A,i,4)|0}k=r;return A|0}function _o(A,e){A=A|0;e=e|0;var i=0,r=0;i=Ko(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+32|0;Sk(a[r>>2]|0,a[i>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,e,8)|0;a[i>>2]=Uk(a[r>>2]|0)|0}return A|0}function qo(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+28|0;Sk(a[i>>2]|0,a[A>>2]|0)|0;e=a[i>>2]|0;e=W5[a[e>>2]&63](e,0,128)|0;a[A>>2]=Uk(a[i>>2]|0)|0}return e|0}function $o(A,e){A=A|0;e=e|0;var i=0,r=0;i=Ko(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+28|0;Sk(a[r>>2]|0,a[i>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,e,8)|0;a[i>>2]=Uk(a[r>>2]|0)|0}return A|0}function Ah(A,e){A=A|0;e=e|0;var i=0;i=Oo(A,e)|0;if(!i)i=qo(A,e)|0;return i|0}function eh(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((a[e>>2]&3|0)==2){e=_o(A,e)|0;if(!e){e=0;do{if(!e)e=qo(A,i)|0;else e=$o(A,e)|0;if(!e){e=0;break A}}while((a[e+40>>2]|0)==(i|0))}}else do{e=$o(A,e)|0;if(!e){e=0;break A}}while((a[e+40>>2]|0)==(i|0))}while(0);return e|0}function ih(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,l=0;l=k;k=k+32|0;r=l+16|0;f=l;if((Gh(A)|0)!=0?(a[f>>2]=0,a[f+4>>2]=0,a[f+8>>2]=0,a[f+12>>2]=0,a[r>>2]=a[f>>2],a[r+4>>2]=a[f+4>>2],a[r+8>>2]=a[f+8>>2],a[r+12>>2]=a[f+12>>2],(nh(A,e,i,r)|0)!=0):0)r=0;else r=((n[A+24>>0]|0)>>>2&1^1)&255|(e|0)!=(i|0);k=l;return r|0}function rh(A,e){A=A|0;e=e|0;ah(A,e);return}function fh(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;kd(A,e,1)|0;kd(A,i,1)|0;l=rd(A,96)|0;t=l+48|0;s=dh(A,2)|0;c=a[t>>2]|0;b=a[l>>2]|0;w=l+8|0;a[w>>2]=f;a[w+4>>2]=n;w=l+56|0;a[w>>2]=f;a[w+4>>2]=n;n=s<<4;a[l>>2]=b&12|n|2;a[t>>2]=c&12|n|3;a[l+88>>2]=e;a[l+40>>2]=i;ah(A,l);if(r[A+24>>0]&64){Td(l,96404,16,0)|0;Eo(A,l)}Gd(A,l);return l|0}function ah(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;t=k;k=k+16|0;i=t;l=a[e>>2]&3;n=(l|0)==2?e:e+-48|0;l=(l|0)==3?e:e+48|0;r=a[l+40>>2]|0;f=a[n+40>>2]|0;while(1){if(!A)break;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];if(nh(A,r,f,i)|0)break;c=Ko(A,r)|0;s=A+44|0;lh(a[s>>2]|0,c+32|0,n);b=A+48|0;lh(a[b>>2]|0,c+24|0,n);c=Ko(A,f)|0;lh(a[s>>2]|0,c+28|0,l);lh(a[b>>2]|0,c+20|0,l);A=pB(A)|0}k=t;return}function nh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=k;k=k+48|0;f=l;if(!((e|0)==0|(i|0)==0)?(a[f>>2]=a[r>>2],a[f+4>>2]=a[r+4>>2],a[f+8>>2]=a[r+8>>2],a[f+12>>2]=a[r+12>>2],a[f+40>>2]=e,n=Ko(A,i)|0,(n|0)!=0):0){r=A+48|0;n=n+20|0;Sk(a[r>>2]|0,a[n>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,f,4)|0;a[n>>2]=Uk(a[r>>2]|0)|0}else A=0;k=l;return A|0}function lh(A,e,i){A=A|0;e=e|0;i=i|0;Sk(A,a[e>>2]|0)|0;W5[a[A>>2]&63](A,i,1)|0;a[e>>2]=Uk(A)|0;return}function th(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+48|0;t=w+24|0;b=w+16|0;c=w;do{if(!(Dh(A,2,r,b,0)|0))if(!r){if(f|0?(Gh(A)|0)==0:0){s=18;break}a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0;s=7}else s=17;else{u=c;a[u>>2]=0;a[u+4>>2]=0;u=b;n=a[u+4>>2]|0;s=c+8|0;a[s>>2]=a[u>>2];a[s+4>>2]=n;a[c>>2]=2;s=7}}while(0);A:do{if((s|0)==7){a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(A,e,i,t)|0;e:do{if(!n){if(Zh(A)|0?(a[t>>2]=a[c>>2],a[t+4>>2]=a[c+4>>2],a[t+8>>2]=a[c+8>>2],a[t+12>>2]=a[c+12>>2],l=nh(A,i,e,t)|0,l|0):0){n=l;break}do{if(f|0){n=Zd(A)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(n,e,i,t)|0;if(!n){if(!(Zh(A)|0))break;n=Zd(A)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(n,i,e,t)|0;if(!n)break}rh(A,n);break e}}while(0);s=17;break A}}while(0)}}while(0);if((s|0)==17)if(!f)n=0;else s=18;if((s|0)==18)if((ih(A,e,i)|0)!=0?(Dh(A,2,r,b,1)|0)!=0:0){n=b;n=fh(A,e,i,a[n>>2]|0,a[n+4>>2]|0)|0;Jh(A,2,n)}else n=0;k=w;return n|0}function ch(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;i=(a[e>>2]&3|0)==3;n=i?e+-48|0:e;i=i?e:e+48|0;e=a[n+40>>2]|0;l=Ko(A,a[i+40>>2]|0)|0;f=A+44|0;bh(a[f>>2]|0,l+32|0,n);r=A+48|0;bh(a[r>>2]|0,l+24|0,n);e=Ko(A,e)|0;bh(a[f>>2]|0,e+28|0,i);bh(a[r>>2]|0,e+20|0,i);return}function bh(A,e,i){A=A|0;e=e|0;i=i|0;Sk(A,a[e>>2]|0)|0;W5[a[A>>2]&63](A,i,2)|0;a[e>>2]=Uk(A)|0;return}function sh(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;i=k;k=k+16|0;f=i;e=(a[e>>2]&3|0)==2?e:e+-48|0;n=a[e>>2]&3;l=a[((n|0)==3?e:e+48|0)+40>>2]|0;n=a[((n|0)==2?e:e+-48|0)+40>>2]|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];if(nh(A,l,n,f)|0){if((Zd(A)|0)==(A|0)){if(r[A+24>>0]&64)Ho(e);Wd(A,e);$d(e);l=e+8|0;Fh(A,2,a[l>>2]|0,a[l+4>>2]|0)}if(!(mv(A,e,58,0,0)|0))if((Zd(A)|0)==(A|0)){fd(A,e);e=0}else e=0;else e=-1}else e=-1;k=i;return e|0}function wh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;f=kd(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,i)|0;n=kd(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,i)|0;do{if((f|0)!=0&(n|0)!=0){a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];r=nh(A,f,n,r)|0;f=(r|0)==0;if(!((i|0)!=0&f)){if(f)break}else{ah(A,e);r=e}i=a[r>>2]&3;k=l;return((i|0)==(a[e>>2]&3|0)?r:r+(((i|0)==3?-1:1)*48|0)|0)|0}}while(0);k=l;return 0}function uh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=e+8|0;r=i+8|0;r=B6(a[e>>2]|0,a[e+4>>2]|0,a[r>>2]|0,a[r+4>>2]|0)|0;return((r|0)==0?0:r>>31|1)|0}function kh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+16|0;n=l;c=oh(i)|0;f=m5[a[(a[c>>2]|0)+4>>2]&127](a[c+12>>2]|0,72)|0;a[f>>2]=a[f>>2]&-4;t=f+64|0;a[t>>2]=c;b=f+24|0;e=a[e>>2]|0;a[b>>2]=e;r[b>>0]=e&255|8;a[f+60>>2]=f;i=m5[a[a[c+4>>2]>>2]&127](f,i)|0;a[(a[t>>2]|0)+16>>2]=i;if(Dh(f,0,A,n,1)|0){t=n;c=a[t+4>>2]|0;b=f+8|0;a[b>>2]=a[t>>2];a[b+4>>2]=c}b=hh(f)|0;Jh(b,0,f);k=l;return b|0}function oh(A){A=A|0;var e=0,i=0,f=0,n=0;e=(A|0)!=0;if(e){i=a[A>>2]|0;i=(i|0)==0?18736:i}else i=18736;n=Q5[a[i>>2]&63](A)|0;f=m5[a[i+4>>2]&127](n,80)|0;a[f>>2]=i;a[f+12>>2]=n;if(e){n=a[A+4>>2]|0;a[f+4>>2]=(n|0)==0?18612:n;A=a[A+8>>2]|0;A=(A|0)==0?18712:A}else{a[f+4>>2]=18612;A=18712}a[f+8>>2]=A;r[f+52>>0]=1;return f|0}function hh(A){A=A|0;var e=0,i=0;a[A+36>>2]=jB(A,18792,a[4589]|0)|0;a[A+40>>2]=jB(A,18756,a[4589]|0)|0;e=(Zd(A)|0)==(A|0);a[A+44>>2]=jB(A,e?18404:18440,a[4589]|0)|0;e=(Zd(A)|0)==(A|0);a[A+48>>2]=jB(A,e?18476:18512,a[4589]|0)|0;a[A+52>>2]=jB(A,18548,a[4589]|0)|0;e=pB(A)|0;if(!((e|0)!=0?(i=dh(e,0)|0,a[A>>2]=a[A>>2]&15|i<<4,i=a[e+52>>2]|0,W5[a[i>>2]&63](i,A,1)|0,!(r[e+24>>0]&64)):0))vo(A);Gd(A,A);return A|0}function dh(A,e){A=A|0;e=e|0;var i=0;i=(a[A+64>>2]|0)+24+(e<<3)|0;e=i;e=d6(a[e>>2]|0,a[e+4>>2]|0,1,0)|0;A=L;a[i>>2]=e;a[i+4>>2]=A;L=A;return e|0}function Bh(A){A=A|0;var e=0,i=0,f=0,n=0;f=pB(A)|0;n=(f|0)==0;if(n?(e=A+64|0,(a[(a[a[e>>2]>>2]|0)+16>>2]|0)!=0):0){Wd(A,A);n=A+8|0;Fh(A,0,a[n>>2]|0,a[n+4>>2]|0);e=a[e>>2]|0;F5[a[(a[e>>2]|0)+16>>2]&127](a[e+12>>2]|0);e=0}else i=4;do{if((i|0)==4){e=RB(A)|0;while(1){if(!e)break;i=HB(e)|0;Bh(e)|0;e=i}e=cd(A)|0;while(1){if(!e)break;i=bd(A,e)|0;Ed(A,e)|0;e=i}jh(A);Wd(A,A);if(((((PB(A,a[A+40>>2]|0)|0)==0?(PB(A,a[A+36>>2]|0)|0)==0:0)?(PB(A,a[A+48>>2]|0)|0)==0:0)?(PB(A,a[A+44>>2]|0)|0)==0:0)?(PB(A,a[A+52>>2]|0)|0)==0:0){if(r[A+24>>0]&64?No(A)|0:0){e=-1;break}$d(A);i=A+8|0;Fh(A,0,a[i>>2]|0,a[i+4>>2]|0);if(!n){UB(f,A)|0;fd(f,A);e=0;break}e=A+64|0;while(1){i=a[e>>2]|0;f=a[i+48>>2]|0;if(!f)break;Yd(A,a[f>>2]|0)|0}F5[a[(a[i+4>>2]|0)+20>>2]&127](a[i+16>>2]|0);if(!(AB(A)|0)){e=a[e>>2]|0;n=a[e+12>>2]|0;f=(a[e>>2]|0)+12|0;V5[a[f>>2]&63](n,A);V5[a[f>>2]&63](n,e);e=0}else e=-1}else e=-1}}while(0);return e|0}function vh(A){A=A|0;return Pk(a[A+40>>2]|0)|0}function gh(A){A=A|0;var e=0,i=0,r=0;e=0;i=cd(A)|0;while(1){if(!i)break;r=(Eh(A,i,0,1)|0)+e|0;e=r;i=bd(A,i)|0}return e|0}function Eh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Ko(A,e)|0;if(f){if(!r)e=0;else e=Ch(a[A+44>>2]|0,f+32|0)|0;if(i)e=(Ch(a[A+44>>2]|0,f+28|0)|0)+e|0}else e=0;return e|0}function Ch(A,e){A=A|0;e=e|0;var i=0;Sk(A,a[e>>2]|0)|0;i=Pk(A)|0;a[e>>2]=Uk(A)|0;return i|0}function Ih(A){A=A|0;return r[A+24>>0]&1|0}function Zh(A){A=A|0;return(Ih(A)|0)==0|0}function Gh(A){A=A|0;return(n[A+24>>0]|0)>>>1&1|0}function Qh(A,e){A=A|0;e=e|0;return A|0}function mh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;if(!i){f=1392;i=a[f>>2]|0;f=a[f+4>>2]|0;a[r>>2]=i;a[r+4>>2]=f;f=d6(i|0,f|0,2,0)|0;r=1392;a[r>>2]=f;a[r+4>>2]=L}else{if(!f)A=iB(A,i)|0;else A=aB(A,i)|0;a[r>>2]=A;a[r+4>>2]=0}return 1}function Lh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return 0}function Wh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((i&1|0)==0&0==0)lB(A,i)|0;return}function yh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return((i&1|0)==0&0==0?i:0)|0}function zh(A){A=A|0;return}function Yh(A,e,i){A=A|0;e=e|0;i=i|0;return}function Dh(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;t=(i|0)!=0;do{if(t){if((r[i>>0]|0)!=37?(l=a[A+64>>2]|0,l=z5[a[(a[l+4>>2]|0)+4>>2]&127](a[l+16>>2]|0,e,i,f,n)|0,l|0):0)break;l=Nh(A,e,i,f)|0;if(!l)c=5}else c=5}while(0);if((c|0)==5)if(n){l=a[A+64>>2]|0;l=z5[a[(a[l+4>>2]|0)+4>>2]&127](a[l+16>>2]|0,e,0,f,n)|0;if(t&(l|0)!=0){c=f;Xh(A,e,i,a[c>>2]|0,a[c+4>>2]|0)}}else l=0;return l|0}function Mh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[A+64>>2]|0;return y5[a[(a[A+4>>2]|0)+8>>2]&127](a[A+16>>2]|0,e,i,r)|0}function Fh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;xh(A,e,i,r)|0;A=a[A+64>>2]|0;X5[a[(a[A+4>>2]|0)+12>>2]&31](a[A+16>>2]|0,e,i,r);return}function Vh(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;i=Id(A)|0;f=A+8|0;e=f;e=ph(i,a[A>>2]&3,a[e>>2]|0,a[e+4>>2]|0)|0;do{if(!e){e=a[i+64>>2]|0;i=a[(a[e+4>>2]|0)+16>>2]|0;if(i|0?(r=f,r=y5[i&127](a[e+16>>2]|0,a[A>>2]&3,a[r>>2]|0,a[r+4>>2]|0)|0,r|0):0){e=r;break}if((a[A>>2]&3|0)==2)e=0;else{r=a[f>>2]|0;f=a[f+4>>2]|0;a[n>>2]=37;e=n+8|0;a[e>>2]=r;a[e+4>>2]=f;P4(194773,96456,n)|0;e=194773}}}while(0);k=l;return e|0}function Jh(A,e,i){A=A|0;e=e|0;i=i|0;A=a[A+64>>2]|0;J5[a[(a[A+4>>2]|0)+24>>2]&127](a[A+16>>2]|0,e,i);return}function Nh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;e=a[(a[A+64>>2]|0)+56+(((e|0)==3?2:e)<<2)>>2]|0;if(((e|0)!=0?(f=iB(A,i)|0,(f|0)!=0):0)?(a[l+24>>2]=f,n=W5[a[e>>2]&63](e,l,4)|0,(n|0)!=0):0){i=n+16|0;l=a[i+4>>2]|0;e=r;a[e>>2]=a[i>>2];a[e+4>>2]=l;e=1}else e=0;k=t;return e|0}function Xh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;l=rd(A,32)|0;n=l+16|0;a[n>>2]=r;a[n+4>>2]=f;a[l+24>>2]=aB(A,i)|0;r=(e|0)==3?2:e;n=A+64|0;i=a[n>>2]|0;e=a[i+56+(r<<2)>>2]|0;if(!e){f=jB(A,18640,a[4589]|0)|0;a[(a[n>>2]|0)+56+(r<<2)>>2]=f;e=a[n>>2]|0}else{f=e;e=i}e=a[e+68+(r<<2)>>2]|0;if(!e){e=jB(A,18676,a[4589]|0)|0;a[(a[n>>2]|0)+68+(r<<2)>>2]=e}W5[a[f>>2]&63](f,l,1)|0;W5[a[e>>2]&63](e,l,1)|0;return}function Rh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=e+16|0;e=a[A>>2]|0;A=a[A+4>>2]|0;i=i+16|0;r=a[i>>2]|0;i=a[i+4>>2]|0;return(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0?1:(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0)<<31>>31)|0}function Hh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e+24>>2]|0;r=a[i+24>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function ph(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=Uh(A,e,i,r)|0;if(!A)A=0;else A=a[A+24>>2]|0;return A|0}function Uh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+32|0;f=n;A=a[(a[A+64>>2]|0)+68+(((e|0)==3?2:e)<<2)>>2]|0;if(!A)A=0;else{e=f+16|0;a[e>>2]=i;a[e+4>>2]=r;A=W5[a[A>>2]&63](A,f,4)|0}k=n;return A|0}function xh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=(e|0)==3?2:e;e=Uh(A,f,i,r)|0;if(!e)e=0;else{r=A+64|0;i=a[(a[r>>2]|0)+56+(f<<2)>>2]|0;W5[a[i>>2]&63](i,e,2)|0;r=a[(a[r>>2]|0)+68+(f<<2)>>2]|0;W5[a[r>>2]&63](r,e,2)|0;lB(A,a[e+24>>2]|0)|0;fd(A,e);e=1}return e|0}function Th(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;a[46942]=A;n=a[A+64>>2]|0;f=0;while(1){if((f|0)==3)break;l=n+56+(f<<2)|0;e=a[l>>2]|0;A:do{if(e|0){e=W5[a[e>>2]&63](e,0,128)|0;while(1){if(!e)break A;i=a[l>>2]|0;i=W5[a[i>>2]&63](i,e,8)|0;if((r[a[e+24>>2]>>0]|0)!=37){e=i;continue}t=e+16|0;xh(A,f,a[t>>2]|0,a[t+4>>2]|0)|0;e=i}}}while(0);f=f+1|0}return}function jh(A){A=A|0;a[46942]=A;A=A+64|0;Sh((a[A>>2]|0)+56|0);Sh((a[A>>2]|0)+68|0);return}function Sh(A){A=A|0;var e=0,i=0,r=0;e=0;while(1){if((e|0)==3)break;i=A+(e<<2)|0;r=a[i>>2]|0;if(r|0){pk(r)|0;a[i>>2]=0}e=e+1|0}return}function Ph(A,e,i){A=A|0;e=e|0;i=i|0;if(!(N4(e,i,A)|0))A=0;else A=S2(e)|0;return A|0}function Oh(A,e){A=A|0;e=e|0;return m3(e,A)|0}function Kh(A){A=A|0;return g3(A)|0}function _h(A){A=A|0;var e=0,i=0,r=0;e=k;k=k+32|0;r=e+12|0;i=e;a[4682]=a[4679];a[4683]=a[4680];a[r>>2]=A;a[r+4>>2]=S2(A)|0;a[r+8>>2]=0;a[i>>2]=18736;a[i+4>>2]=18612;a[i+8>>2]=18724;A=cg(r,i)|0;bB(0);k=e;return A|0}function qh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;if((i|0)!=0?(l=A+8|0,f=a[l>>2]|0,(f|0)<(a[A+4>>2]|0)):0){t=(a[A>>2]|0)+f|0;A=0;n=r[t>>0]|0;f=e;e=t;while(1){e=e+1|0;r[f>>0]=n;A=A+1|0;if(!(n<<24>>24!=10&(A|0)<(i|0)))break;n=r[e>>0]|0;if(!(n<<24>>24))break;else f=f+1|0}a[l>>2]=(a[l>>2]|0)+A}else A=0;return A|0}function $h(A){A=A|0;return 0}function Ad(A,e){A=A|0;e=e|0;A=m2(e)|0;Y6(A|0,0,e|0)|0;return A|0}function ed(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=y2(e,r)|0;if(r>>>0>i>>>0)Y6(A+i|0,0,r-i|0)|0;return A|0}function id(A,e){A=A|0;e=e|0;L2(e);return}function rd(A,e){A=A|0;e=e|0;var i=0;i=k;k=k+16|0;A=a[A+64>>2]|0;A=m5[a[(a[A>>2]|0)+4>>2]&127](a[A+12>>2]|0,e)|0;if(!A)ao(1,96462,i)|0;k=i;return A|0}function fd(A,e){A=A|0;e=e|0;if(e|0){A=a[A+64>>2]|0;V5[a[(a[A>>2]|0)+12>>2]&63](a[A+12>>2]|0,e)}return}function ad(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(a[e+16>>2]|0)+8|0;e=a[A>>2]|0;A=a[A+4>>2]|0;i=(a[i+16>>2]|0)+8|0;r=a[i>>2]|0;i=a[i+4>>2]|0;return(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0?-1:(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0)&1)|0}function nd(A,e,i){A=A|0;e=e|0;i=i|0;A=a[e+16>>2]|0;if((A+28|0)!=(e|0))fd(a[A+24>>2]|0,e);return}function ld(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=(a[a[e+16>>2]>>2]|0)>>>4;r=(a[a[i+16>>2]>>2]|0)>>>4;return(e>>>0>>0?-1:e>>>0>r>>>0&1)|0}function td(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=186256;a[r>>2]=e;a[r+4>>2]=i;a[46947]=186248;A=a[A+40>>2]|0;A=W5[a[A>>2]&63](A,187772,4)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function cd(A){A=A|0;A=a[A+36>>2]|0;A=W5[a[A>>2]&63](A,0,128)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function bd(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if((e|0)!=0?(i=a[A+36>>2]|0,i=W5[a[i>>2]&63](i,e,8)|0,(i|0)!=0):0)e=a[i+16>>2]|0;else e=0;return e|0}function sd(A){A=A|0;A=a[A+36>>2]|0;A=W5[a[A>>2]&63](A,0,256)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function wd(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if((e|0)!=0?(i=a[A+36>>2]|0,i=W5[a[i>>2]&63](i,e,16)|0,(i|0)!=0):0)e=a[i+16>>2]|0;else e=0;return e|0}function ud(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=td(A,e,i)|0;do{if((r|0)!=0&(f|0)==0){f=Zd(A)|0;if((f|0)!=(A|0)?(a=td(f,e,i)|0,a|0):0){kd(A,a,1)|0;f=a;break}if(!(Mh(A,1,e,i)|0))f=0;else{f=dh(A,1)|0;f=od(A,e,i,f,L)|0;hd(A,f);dd(A,f)}}}while(0);return f|0}function kd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Zd(A)|0;if((r|0)==(a[e+24>>2]|0)){r=e+8|0;r=td(A,a[r>>2]|0,a[r+4>>2]|0)|0;if((i|0)!=0&(r|0)==0){r=pB(A)|0;if(!r)r=0;else{i=kd(r,e,i)|0;Bd(A,i);return i|0}}}else r=0;return r|0}function od(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;n=rd(A,64)|0;l=a[n>>2]|0;t=n+8|0;a[t>>2]=e;a[t+4>>2]=i;a[n>>2]=l&12|f<<4|1;a[n+24>>2]=Zd(A)|0;if(r[(Zd(A)|0)+24>>0]&64)Td(n,96404,16,0)|0;return n|0}function hd(A,e){A=A|0;e=e|0;do{Bd(A,e);A=pB(A)|0}while((A|0)!=0);return}function dd(A,e){A=A|0;e=e|0;if(r[(Zd(A)|0)+24>>0]&64)go(A,e);Gd(A,e);return}function Bd(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+40|0;Pk(a[r>>2]|0)|0;if((Zd(A)|0)==(A|0))i=e+28|0;else i=rd(A,36)|0;a[i+16>>2]=e;r=a[r>>2]|0;W5[a[r>>2]&63](r,i,1)|0;r=a[A+36>>2]|0;W5[a[r>>2]&63](r,i,1)|0;return}function vd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;l=Zd(A)|0;if(Dh(A,1,e,n,0)|0){r=n;r=td(A,a[r>>2]|0,a[r+4>>2]|0)|0;if(!r)if(!((i|0)==0|(l|0)==(A|0))?(f=n,f=td(l,a[f>>2]|0,a[f+4>>2]|0)|0,(f|0)!=0):0)r=kd(A,f,1)|0;else t=6}else t=6;if((t|0)==6)if((i|0)!=0?(Dh(A,1,e,n,1)|0)!=0:0){t=n;l=a[t>>2]|0;t=a[t+4>>2]|0;r=dh(A,1)|0;r=od(A,l,t,r,L)|0;hd(A,r);dd(A,r);Jh(A,1,r)}else r=0;k=c;return r|0}function gd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;a[46956]=e;i=Ah(A,e)|0;while(1){if(!i)break;r=eh(A,i,e)|0;ch(A,i,0);i=r}r=a[A+40>>2]|0;W5[a[r>>2]&63](r,187808,2)|0;r=a[A+36>>2]|0;W5[a[r>>2]&63](r,187808,2)|0;return}function Ed(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=e+8|0;i=f;if(td(A,a[i>>2]|0,a[i+4>>2]|0)|0){if((Zd(A)|0)==(A|0)){i=Ah(A,e)|0;while(1){if(!i)break;n=eh(A,i,e)|0;sh(A,i)|0;i=n}if(r[A+24>>0]&64)Ro(e);Wd(A,e);$d(e);n=f;Fh(A,1,a[n>>2]|0,a[n+4>>2]|0)}if(!(mv(A,e,59,0,0)|0))if((Zd(A)|0)==(A|0)){fd(A,e);i=0}else i=0;else i=-1}else i=-1;return i|0}function Cd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;i=a[e>>2]|0;do{if(!(i&3))if((pB(e)|0)==(A|0)){i=a[e>>2]|0;n=5;break}else{ao(1,96488,r)|0;f=-1;break}else n=5}while(0);A:do{if((n|0)==5)switch(i&3){case 1:{f=Ed(A,e)|0;break A}case 2:case 3:{f=sh(A,e)|0;break A}case 0:{f=Bh(e)|0;break A}default:{}}}while(0);k=l;return f|0}function Id(A){A=A|0;var e=0;switch(a[A>>2]&3){case 2:case 3:{e=a[(a[A+40>>2]|0)+24>>2]|0;break}case 1:{e=a[A+24>>2]|0;break}case 0:{e=A;break}default:{}}return e|0}function Zd(A){A=A|0;var e=0;switch(a[A>>2]&3){case 2:case 3:{e=(a[A+40>>2]|0)+24|0;break}case 1:{e=A+24|0;break}case 0:{e=A+60|0;break}default:{}}return a[e>>2]|0}function Gd(A,e){A=A|0;e=e|0;var i=0;i=a[A+64>>2]|0;if(!(r[i+52>>0]|0))Fd(A,e,100,0);else Qd(A,e,a[i+48>>2]|0);return}function Qd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){Qd(A,e,a[i+8>>2]|0);switch(a[e>>2]&3){case 0:{r=a[i>>2]|0;break}case 1:{r=(a[i>>2]|0)+12|0;break}case 2:{r=(a[i>>2]|0)+24|0;break}default:break A}r=a[r>>2]|0;if(r|0)J5[r&127](A,e,a[i+4>>2]|0)}}while(0);return}function md(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=a[A+64>>2]|0;if(!(r[f+52>>0]|0))Fd(A,e,101,i);else Ld(A,e,i,a[f+48>>2]|0);return}function Ld(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{if(r|0){Ld(A,e,i,a[r+8>>2]|0);switch(a[e>>2]&3){case 0:{f=(a[r>>2]|0)+4|0;break}case 1:{f=(a[r>>2]|0)+16|0;break}case 2:{f=(a[r>>2]|0)+28|0;break}default:break A}f=a[f>>2]|0;if(f|0)X5[f&31](A,e,a[r+4>>2]|0,i)}}while(0);return}function Wd(A,e){A=A|0;e=e|0;var i=0;i=a[A+64>>2]|0;if(!(r[i+52>>0]|0))Fd(A,e,102,0);else yd(A,e,a[i+48>>2]|0);return}function yd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){yd(A,e,a[i+8>>2]|0);switch(a[e>>2]&3){case 0:{r=(a[i>>2]|0)+8|0;break}case 1:{r=(a[i>>2]|0)+20|0;break}case 2:{r=(a[i>>2]|0)+32|0;break}default:break A}r=a[r>>2]|0;if(r|0)J5[r&127](A,e,a[i+4>>2]|0)}}while(0);return}function zd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=rd(A,12)|0;a[r>>2]=e;a[r+4>>2]=i;i=(a[A+64>>2]|0)+48|0;a[r+8>>2]=a[i>>2];a[i>>2]=r;return}function Yd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=(a[A+64>>2]|0)+48|0;i=a[r>>2]|0;A:do{if(!i)i=-1;else{if((a[i>>2]|0)!=(e|0)){while(1){if(!i){i=-1;break A}r=i+8|0;f=a[r>>2]|0;if((a[f>>2]|0)==(e|0))break;else i=f}if(f)a[r>>2]=a[f+8>>2]}else a[r>>2]=a[i+8>>2];fd(A,i);i=0}}while(0);return i|0}function Dd(A,e){A=A|0;e=e|0;var i=0;i=Zd(A)|0;A:do{if((i|0)==(Zd(e)|0))switch(a[e>>2]&3){case 0:{while(1){if((e|0)==(A|0)){e=1;break A}e=pB(e)|0;if(!e){e=0;break}}break}case 1:{e=e+8|0;e=(ud(A,a[e>>2]|0,a[e+4>>2]|0,0)|0)!=0;break A}default:{e=(wh(A,e,0)|0)!=0;break A}}else e=0}while(0);return e&1|0}function Md(A){A=A|0;return a[A>>2]&3|0}function Fd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,l=0;l=k;k=k+16|0;n=l;a=Td(A,96512,44,0)|0;switch(i|0){case 100:{f=Vd(a,e,100)|0;if(!(Jd(f,e)|0))Nd(f,A,e,r)|0;break}case 101:{if(((Jd(Vd(a,e,100)|0,e)|0)==0?(Jd(Vd(a,e,102)|0,e)|0)==0:0)?(f=Vd(a,e,101)|0,(Jd(f,e)|0)==0):0)Nd(f,A,e,r)|0;break}case 102:{Xd(Vd(a,e,100)|0,e);Xd(Vd(a,e,101)|0,e);f=Vd(a,e,102)|0;if(!(Jd(f,e)|0))Nd(f,A,e,r)|0;break}default:ao(1,96524,n)|0}k=l;return}function Vd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;r=n;A:do{switch(a[e>>2]&3){case 0:switch(i|0){case 100:{i=A+8|0;break A}case 101:{i=A+20|0;break A}case 102:{i=A+32|0;break A}default:{f=14;break A}}case 1:switch(i|0){case 100:{i=A+12|0;break A}case 101:{i=A+24|0;break A}case 102:{i=A+36|0;break A}default:{f=14;break A}}case 2:switch(i|0){case 100:{i=A+16|0;break A}case 101:{i=A+28|0;break A}case 102:{i=A+40|0;break A}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14){ao(1,96558,r)|0;i=0}A=a[i>>2]|0;if(!A){A=Id(e)|0;A=jB(A,18828,a[4589]|0)|0;a[i>>2]=A}k=n;return A|0}function Jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+32|0;r=i;f=Rd(e)|0;e=r+8|0;a[e>>2]=f;a[e+4>>2]=L;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function Nd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=rd(Id(i)|0,32)|0;a[f+20>>2]=i;n=Rd(i)|0;i=f+8|0;a[i>>2]=n;a[i+4>>2]=L;a[f+16>>2]=e;if(r|0){n=rd(e,8)|0;a[f+24>>2]=n;a[n>>2]=r}W5[a[A>>2]&63](A,f,1)|0;return f|0}function Xd(A,e){A=A|0;e=e|0;e=Jd(A,e)|0;if(e|0)W5[a[A>>2]&63](A,e,2)|0;return}function Rd(A){A=A|0;A=A+8|0;L=a[A+4>>2]|0;return a[A>>2]|0}function Hd(A,e,i){A=A|0;e=e|0;i=i|0;pd(e);fd(a[e+16>>2]|0,e);return}function pd(A){A=A|0;var e=0,i=0;e=A+16|0;A=a[A+24>>2]|0;while(1){if(!A)break;i=a[A+4>>2]|0;fd(a[e>>2]|0,A);A=i}return}function Ud(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;t=b;l=a[A+16>>2]|0;f=l;while(1){if(!f){f=0;break}n=a[f>>2]|0;if((n|0)==(e|0)){c=7;break}if((r[e>>0]|0)==(r[n>>0]|0)?(A1(e,n)|0)==0:0){c=7;break}f=a[f+4>>2]|0;if((f|0)==(l|0)){f=0;break}}do{if((c|0)==7){if(!(a[A>>2]&4)){if((f|0)==(l|0)&(i|0)==0){f=l;break}xd(A,f,i);break}if(i)if((l|0)==(f|0))f=l;else ao(1,96583,t)|0}}while(0);k=b;return f|0}function xd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;a[A+16>>2]=e;r=a[A>>2]|0;i=i<<2&4;a[A>>2]=r&-5|i;if(r&2|0){r=(r&3|0)==3?-1:1;a[A+(r*48|0)+16>>2]=e;r=A+(r*48|0)|0;a[r>>2]=a[r>>2]&-5|i}return}function Td(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=Id(A)|0;f=Ud(A,e,0)|0;A:do{if((i|0)!=0&(f|0)==0){i=rd(l,i)|0;a[i>>2]=aB(l,e)|0;switch(a[A>>2]&3){case 0:{jd(A,i);n=i;break A}case 1:{jd(A,i);n=i;break A}case 2:case 3:{jd(A,i);n=i;break A}default:{}}}else n=f}while(0);if(r|0)Ud(A,e,1)|0;return n|0}function jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[A+16>>2]|0;do{if(i){r=i+4|0;f=a[r>>2]|0;if((f|0)==(i|0)){a[r>>2]=e;r=i;i=e;break}else{a[e+4>>2]=f;r=e;break}}else{r=e;i=e}}while(0);a[i+4>>2]=r;if(!(a[A>>2]&4))xd(A,e,0);return}function Sd(A,e){A=A|0;e=e|0;var i=0,r=0;r=Id(A)|0;i=Ud(A,e,0)|0;if(!i)e=-1;else{Pd(A,i);if(!(a[A>>2]&3)){Od(r,A,i);e=i}else{mv(Zd(r)|0,A,60,i,0)|0;e=i}lB(r,a[i>>2]|0)|0;fd(r,e);e=0}return e|0}function Pd(A,e){A=A|0;e=e|0;var i=0;A=a[A+16>>2]|0;do{i=A+4|0;A=a[i>>2]|0}while((A|0)!=(e|0));a[i>>2]=a[e+4>>2];return}function Od(A,e,i){A=A|0;e=e|0;i=i|0;if((a[e+16>>2]|0)==(i|0)){A=a[i+4>>2]|0;xd(e,(A|0)==(i|0)?0:A,0)}return}function Kd(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0;a=(r|0)>-1;n=a?r:0-r|0;A:do{switch(e|0){case 0:{Td(A,i,n,f)|0;if(!a){e=RB(A)|0;while(1){if(!e)break A;Kd(e,0,i,r,f);e=HB(e)|0}}break}case 3:case 2:case 1:{r=(e|0)==1;e=cd(A)|0;while(1){if(!e)break A;e:do{if(r)Td(e,i,n,f)|0;else{a=Oo(A,e)|0;while(1){if(!a)break e;Td(a,i,n,f)|0;a=_o(A,a)|0}}}while(0);e=bd(A,e)|0}}default:{}}}while(0);return}function _d(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;A:do{switch(e|0){case 0:{mv(A,A,61,i,1)|0;break}case 3:case 2:case 1:{f=(e|0)==1;r=cd(A)|0;while(1){if(!r)break A;e:do{if(f)Sd(r,i)|0;else{e=Oo(A,r)|0;while(1){if(!e)break e;Sd(e,i)|0;e=_o(A,e)|0}}}while(0);r=bd(A,r)|0}}default:{}}}while(0);return}function qd(A,e,i){A=A|0;e=e|0;i=i|0;Sd(e,i)|0;return}function $d(A){A=A|0;var e=0,i=0,r=0;i=Id(A)|0;e=A+16|0;A=a[e>>2]|0;if(A|0)do{r=A;A=a[A+4>>2]|0;lB(i,a[r>>2]|0)|0;fd(i,r)}while((A|0)!=(a[e>>2]|0));a[e>>2]=0;return}function AB(A){A=A|0;return PB(A,eB(A)|0)|0}function eB(A){A=A|0;var e=0,i=0;if(!A)i=187844;else i=(a[A+64>>2]|0)+20|0;e=a[i>>2]|0;if(!e){e=jB(A,18864,a[4589]|0)|0;a[i>>2]=e;A=186312;a[A>>2]=-2147483648;a[A+4>>2]=0;A=186320;a[A>>2]=2147483647;a[A+4>>2]=-1}return e|0}function iB(A,e){A=A|0;e=e|0;return rB(eB(A)|0,e)|0}function rB(A,e){A=A|0;e=e|0;A=fB(A,e)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function fB(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+32|0;r=i;a[r+16>>2]=e;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function aB(A,e){A=A|0;e=e|0;var i=0,r=0;if(!e)i=0;else{r=eB(A)|0;i=fB(r,e)|0;if(!i){i=(S2(e)|0)+24|0;if(!A)i=m2(i)|0;else i=rd(A,i)|0;A=i+8|0;a[A>>2]=1;a[A+4>>2]=0;A=i+20|0;$1(A,e)|0;a[i+16>>2]=A;W5[a[r>>2]&63](r,i,1)|0}else{r=i+8|0;e=r;e=d6(a[e>>2]|0,a[e+4>>2]|0,1,0)|0;a[r>>2]=e;a[r+4>>2]=L}i=a[i+16>>2]|0}return i|0}function nB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(!e)i=0;else{r=eB(A)|0;i=fB(r,e)|0;if(!i){i=(S2(e)|0)+24|0;if(!A)i=m2(i)|0;else i=rd(A,i)|0;n=186312;f=a[n+4>>2]|0;A=i+8|0;a[A>>2]=a[n>>2]|1;a[A+4>>2]=f;A=i+20|0;$1(A,e)|0;a[i+16>>2]=A;W5[a[r>>2]&63](r,i,1)|0}else{n=i+8|0;f=n;f=d6(a[f>>2]|0,a[f+4>>2]|0,1,0)|0;a[n>>2]=f;a[n+4>>2]=L}i=a[i+16>>2]|0}return i|0}function lB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if((e|0)!=0?(i=eB(A)|0,r=fB(i,e)|0,(r|0)!=0):0)if((a[r+16>>2]|0)==(e|0)?(e=r+8|0,n=e,n=d6(a[n>>2]|0,a[n+4>>2]|0,-1,-1)|0,f=L,e,a[e>>2]=n,a[e+4>>2]=f,e=186320,(n|0)==0&(f|0)==0|(a[e>>2]|0)==0&(a[e+4>>2]|0)==0):0){SB(A,i,r)|0;A=0}else A=0;else A=-1;return A|0}function tB(A){A=A|0;var e=0;if(!A)A=0;else{A=A+-12|0;e=186312;A=a[e>>2]&a[A>>2]}return A|0}function cB(A){A=A|0;var e=0,i=0,r=0;if(A|0){i=186312;A=A+-12|0;r=A;e=a[r+4>>2]|a[i+4>>2];a[A>>2]=a[r>>2]|a[i>>2];a[A+4>>2]=e}return}function bB(A){A=A|0;a[46966]=A;a[4725]=1;return}function sB(A,e){A=A|0;e=e|0;a[46967]=A;a[46968]=e;a[46969]=0;return}function wB(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;if(!(a[46970]|0)){a[46970]=1;if(!(a[46971]|0))a[46971]=1;if(!(a[46962]|0))a[46962]=a[15647];if(!(a[46963]|0))a[46963]=a[15679];b=a[46972]|0;if(!((b|0)!=0?(a[b>>2]|0)!=0:0)){uB();b=kB(a[46962]|0,16384)|0;a[a[46972]>>2]=b}oB()}A:while(1){c=a[46973]|0;r[c>>0]=r[194805]|0;A=(a[(a[a[46972]>>2]|0)+28>>2]|0)+(a[46971]|0)|0;e=c;e:while(1){l=e;while(1){e=a[18904+(n[l>>0]<<2)>>2]|0;if(f[63856+(A<<1)>>1]|0){a[46974]=A;a[46975]=l}i:while(1){i=e&255;do{e=i+(f[64042+(A<<1)>>1]|0)|0;if((A|0)==(f[64252+(e<<1)>>1]|0))break i;b=f[64788+(A<<1)>>1]|0;A=b<<16>>16}while(b<<16>>16<=92);e=a[19928+(i<<2)>>2]|0}A=f[64998+(e<<1)>>1]|0;e=l+1|0;if((f[64042+(A<<1)>>1]|0)==219)break;else l=e}i:while(1){b=c;r:while(1){A=f[63856+(A<<1)>>1]|0;if(!(A<<16>>16)){A=f[63856+(a[46974]<<1)>>1]|0;e=a[46975]|0}else A=A<<16>>16;a[46964]=c;t=e;a[46965]=t-b;r[194805]=r[e>>0]|0;r[e>>0]=0;a[46973]=e;f:while(1){switch(A|0){case 1:{w=27;break A}case 12:{w=53;break A}case 13:{w=55;break A}case 14:{w=57;break A}case 15:{w=61;break A}case 16:{w=65;break A}case 17:{w=67;break A}case 18:{w=69;break A}case 19:{w=72;break A}case 20:{w=75;break A}case 21:{w=78;break A}case 23:{w=86;break A}case 33:{w=118;break A}case 39:case 38:case 37:case 36:{s=0;break A}case 2:{w=29;break e}case 3:{w=32;break e}case 4:{w=35;break e}case 5:{w=37;break e}case 6:{w=39;break e}case 7:{w=42;break e}case 8:{w=44;break e}case 9:{w=47;break e}case 10:{w=49;break e}case 11:{w=51;break e}case 22:{w=83;break e}case 24:{w=89;break e}case 25:{w=92;break e}case 26:{w=95;break e}case 27:{w=98;break e}case 28:{w=101;break e}case 29:{w=104;break e}case 30:{w=109;break e}case 31:{w=112;break e}case 32:{w=115;break e}case 34:{w=121;break e}case 0:break f;case 35:break;default:{w=134;break A}}l=a[46964]|0;r[e>>0]=r[194805]|0;A=a[46972]|0;i=a[A>>2]|0;if(!(a[i+44>>2]|0)){u=a[i+16>>2]|0;a[46977]=u;a[i>>2]=a[46962];i=a[A>>2]|0;a[i+44>>2]=1;A=u}else A=a[46977]|0;if((a[46973]|0)>>>0<=((a[i+4>>2]|0)+A|0)>>>0){w=128;break r}switch(ZB()|0){case 0:{w=132;break i}case 2:{w=133;break r}case 1:break;default:continue A}a[46973]=a[46964];A=(((a[46971]|0)+-1|0)/2|0)+36|0}r[e>>0]=r[194805]|0;e=a[46975]|0;A=a[46974]|0}if((w|0)==128){w=0;i=t-l|0;l=a[46964]|0;e=l+(i+-1)|0;a[46973]=e;A=CB()|0;t=IB(A)|0;c=a[46964]|0;if(!t)continue;else{w=129;break}}else if((w|0)==133){w=0;e=(a[(a[a[46972]>>2]|0)+4>>2]|0)+(a[46977]|0)|0;a[46973]=e;A=CB()|0;c=a[46964]|0;continue}}if((w|0)==129){w=0;e=l+i|0;a[46973]=e;A=t;continue}else if((w|0)==132){w=0;e=(a[46964]|0)+(t-l+-1)|0;a[46973]=e;A=CB()|0;c=a[46964]|0;continue}}switch(w|0){case 29:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[4725]=(a[4725]|0)+1;continue A}case 32:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=3;continue A}case 35:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 37:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 39:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=1;continue A}case 42:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 44:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;hB();continue A}case 47:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 49:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 51:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 83:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=5;BB();continue A}case 89:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;gB(98744);continue A}case 92:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;gB(96616);continue A}case 95:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[4725]=(a[4725]|0)+1;continue A}case 98:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);continue A}case 101:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=7;a[46976]=1;BB();continue A}case 104:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;u=(a[46976]|0)+-1|0;a[46976]=u;if(!u){w=108;break A}gB(a[46964]|0);continue A}case 109:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;a[46976]=(a[46976]|0)+1;gB(A);continue A}case 112:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);a[4725]=(a[4725]|0)+1;continue A}case 115:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);continue A}case 121:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;L3(A,e,1,a[46963]|0)|0;continue A}}}switch(w|0){case 27:{A=a[46965]|0;if(!A)s=-1;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=-1}break}case 53:{A=a[46965]|0;if(!A)s=259;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=259}break}case 55:{A=a[46965]|0;if(!A)s=260;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=260}break}case 57:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(!(a[46969]|0)){a[46969]=258;s=258}else s=258;break}case 61:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(!(a[46969]|0)){a[46969]=261;s=261}else s=261;break}case 65:{A=a[46965]|0;if(!A)s=263;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=263}break}case 67:{A=a[46965]|0;if(!A)s=262;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=262}break}case 69:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=(a[46969]|0)==261?264:45;break}case 72:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=(a[46969]|0)==258?264:45;break}case 75:{e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;a[46992]=aB(a[46942]|0,A)|0;s=267;break}case 78:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(dB()|0){w=(a[46965]|0)+-1|0;r[e>>0]=r[194805]|0;u=c+w|0;a[46973]=u;a[46964]=c;a[46965]=w;r[194805]=r[u>>0]|0;r[u>>0]=0;a[46973]=u}a[46992]=aB(a[46942]|0,a[46964]|0)|0;s=267;break}case 86:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=1;vB();s=268;break}case 108:{a[46971]=1;EB();s=268;break}case 118:{e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;s=r[A>>0]|0;break}case 134:{GB(96619);break}}return s|0}function uB(){var A=0,e=0,i=0;e=a[46972]|0;do{if(!e){A=YB(4)|0;a[46972]=A;if(!A)GB(96977);else{a[A>>2]=0;A=1;i=9;break}}else{A=a[46983]|0;if(0>=(A+-1|0)>>>0){A=A+8|0;e=QB(e,A<<2)|0;a[46972]=e;if(!e)GB(96977);else{i=e+(a[46983]<<2)|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;a[i+20>>2]=0;a[i+24>>2]=0;a[i+28>>2]=0;i=9;break}}}}while(0);if((i|0)==9)a[46983]=A;return}function kB(A,e){A=A|0;e=e|0;var i=0;i=YB(48)|0;if(!i)GB(96932);a[i+12>>2]=e;e=YB(e+2|0)|0;a[i+4>>2]=e;if(!e)GB(96932);else{a[i+20>>2]=1;LB(i,A);return i|0}return 0}function oB(){var A=0,e=0;e=a[46972]|0;A=a[e>>2]|0;a[46977]=a[A+16>>2];A=a[A+8>>2]|0;a[46973]=A;a[46964]=A;a[46962]=a[a[e>>2]>>2];r[194805]=r[A>>0]|0;return}function hB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n;e=n+16|0;i=n+12|0;l=a[46964]|0;A=l+1|0;t=(Z1(A,96916,4)|0)==0;A=t?l+5|0:A;a[f>>2]=i;a[f+4>>2]=n+20;a[f+8>>2]=e;f=J3(A,96921,f)|0;if((f|0)>0?(a[4725]=(a[i>>2]|0)+-1,(f|0)!=1):0){e=A+(a[e>>2]|0)|0;A=e;A:while(1){i=r[A>>0]|0;switch(i<<24>>24){case 0:case 34:break A;default:{}}A=A+1|0}if((A|0)!=(e|0)&i<<24>>24==34){r[A>>0]=0;zB(e,A-e|0)}}k=n;return}function dB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+2080|0;t=c+8|0;f=c;A=c+1056|0;e=c+32|0;l=c+16|0;b=r[(a[46964]|0)+((a[46965]|0)+-1)>>0]|0;i=b<<24>>24==46;if(i|((b&255)+-48|0)>>>0<10)if(i?(yB()|0)!=0:0)n=4;else A=0;else n=4;if((n|0)==4){b=a[46966]|0;co(l,1024,A);wo(l,96827)|0;wo(l,a[46964]|0)|0;a[f>>2]=a[4725];P4(e,96871,f)|0;wo(l,e)|0;wo(l,(b|0)==0?96821:b)|0;wo(l,96888)|0;e=l+4|0;A=a[e>>2]|0;if(A>>>0>=(a[l+8>>2]|0)>>>0){bo(l,1)|0;A=a[e>>2]|0}r[A>>0]=0;A=a[l>>2]|0;a[e>>2]=A;a[t>>2]=A;ao(0,96913,t)|0;uo(l);A=1}k=c;return A|0}function BB(){var A=0;A=a[46978]|0;if(!A){A=m2(1024)|0;a[46978]=A;a[46980]=A+1024}a[46979]=A;r[A>>0]=0;return}function vB(){a[46992]=aB(a[46942]|0,a[46978]|0)|0;r[a[46978]>>0]=0;return}function gB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;i=a[46979]|0;e=a[46978]|0;if(i>>>0>e>>>0){i=i+-1|0;f=3}A:while(1){if((f|0)==3)a[46979]=i;f=a[46980]|0;n=f;do{l=A;A=A+1|0;l=r[l>>0]|0;t=i;i=i+1|0;r[t>>0]=l;if(!(l<<24>>24))break A}while(i>>>0>>0);a[46979]=i;f=e;t=n-f<<1;e=y2(e,t)|0;a[46978]=e;a[46980]=e+t;i=e+(i-f)|0;f=3}a[46979]=i;return}function EB(){a[46992]=nB(a[46942]|0,a[46978]|0)|0;r[a[46978]>>0]=0;return}function CB(){var A=0,e=0,i=0,n=0,l=0;l=a[46973]|0;n=a[46964]|0;e=(a[(a[a[46972]>>2]|0)+28>>2]|0)+(a[46971]|0)|0;while(1){if(n>>>0>=l>>>0)break;A=r[n>>0]|0;if(!(A<<24>>24))A=1;else A=a[18904+((A&255)<<2)>>2]|0;if(f[63856+(e<<1)>>1]|0){a[46974]=e;a[46975]=n}A:while(1){i=A&255;do{A=i+(f[64042+(e<<1)>>1]|0)|0;if((e|0)==(f[64252+(A<<1)>>1]|0))break A;A=f[64788+(e<<1)>>1]|0;e=A<<16>>16}while(A<<16>>16<=92);A=a[19928+(i<<2)>>2]|0}n=n+1|0;e=f[64998+(A<<1)>>1]|0}return e|0}function IB(A){A=A|0;var e=0;if(f[63856+(A<<1)>>1]|0){e=a[46973]|0;a[46974]=A;a[46975]=e}while(1){e=(f[64042+(A<<1)>>1]|0)+1|0;if((A|0)==(f[64252+(e<<1)>>1]|0))break;A=f[64788+(A<<1)>>1]|0}e=f[64998+(e<<1)>>1]|0;return(e<<16>>16==92?0:e<<16>>16)|0}function ZB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[46972]|0;n=a[c>>2]|0;t=a[n+4>>2]|0;f=a[46964]|0;s=a[46973]|0;b=s;if(s>>>0>(t+((a[46977]|0)+1)|0)>>>0)GB(96674);l=b-f|0;if(!(a[n+40>>2]|0))A=(l|0)==1?1:2;else{s=l+-1|0;l=t;n=0;while(1){if((n|0)>=(s|0))break;r[l>>0]=r[f>>0]|0;l=l+1|0;f=f+1|0;n=n+1|0}f=a[c>>2]|0;do{if((a[f+44>>2]|0)==2){a[46977]=0;a[f+16>>2]=0;i=f;w=17}else{while(1){t=f+12|0;l=a[t>>2]|0;n=l-s+-1|0;if(n|0){w=16;break}n=f+4|0;c=a[n>>2]|0;if(!(a[f+20>>2]|0)){w=12;break}f=l<<1;f=(f|0)==0?(l>>>3)+l|0:f;a[t>>2]=f;f=QB(c,f+2|0)|0;a[n>>2]=f;if(!f)break;c=f+(b-c)|0;a[46973]=c;f=a[a[46972]>>2]|0;b=c}if((w|0)==12)a[n>>2]=0;else if((w|0)==16){e=W5[a[a[(a[46967]|0)+8>>2]>>2]&63](a[46968]|0,(a[f+4>>2]|0)+s|0,n>>>0<8192?n:8192)|0;i=a[a[46972]>>2]|0;a[46977]=e;a[i+16>>2]=e;if(!e){w=17;break}else{A=0;break}}GB(96730)}}while(0);do{if((w|0)==17)if(!s){mB(a[46962]|0);A=1;e=a[46977]|0;i=a[a[46972]>>2]|0;break}else{a[i+44>>2]=2;A=2;e=0;break}}while(0);f=e+s|0;do{if(f>>>0>(a[i+12>>2]|0)>>>0){w=QB(a[i+4>>2]|0,f+(e>>>1)|0)|0;e=a[46972]|0;a[(a[e>>2]|0)+4>>2]=w;e=a[(a[e>>2]|0)+4>>2]|0;if(!e)GB(96774);else{u=a[46977]|0;k=e;break}}else{u=e;k=a[i+4>>2]|0}}while(0);u=u+s|0;a[46977]=u;r[k+u>>0]=0;k=a[46972]|0;r[(a[(a[k>>2]|0)+4>>2]|0)+((a[46977]|0)+1)>>0]=0;a[46964]=a[(a[k>>2]|0)+4>>2]}return A|0}function GB(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=a[15712]|0;a[e>>2]=A;f3(i,96670,e)|0;SA(2)}function QB(A,e){A=A|0;e=e|0;return y2(A,e)|0}function mB(A){A=A|0;var e=0,i=0,r=0;i=a[46972]|0;if((i|0)!=0?(e=a[i>>2]|0,(e|0)!=0):0)r=4;else{uB();e=kB(a[46962]|0,16384)|0;i=a[46972]|0;a[i>>2]=e;if(!i)e=0;else r=4}LB(e,A);oB();return}function LB(A,e){A=A|0;e=e|0;var i=0;i=a[(X2()|0)>>2]|0;WB(A);a[A>>2]=e;a[A+40>>2]=1;e=a[46972]|0;if(!e)e=0;else e=a[e>>2]|0;if((e|0)!=(A|0)){a[A+32>>2]=1;a[A+36>>2]=0}a[A+24>>2]=0;a[(X2()|0)>>2]=i;return}function WB(A){A=A|0;var e=0;if(A|0){a[A+16>>2]=0;e=A+4|0;r[a[e>>2]>>0]=0;r[(a[e>>2]|0)+1>>0]=0;a[A+8>>2]=a[e>>2];a[A+28>>2]=1;a[A+44>>2]=0;e=a[46972]|0;if(!e)e=0;else e=a[e>>2]|0;if((e|0)==(A|0))oB()}return}function yB(){var A=0,e=0;e=a[46964]|0;A=(a[46965]|0)+-2|0;while(1){if((A|0)<=-1){A=0;break}if((r[e+A>>0]|0)==46){A=1;break}else A=A+-1|0}return A|0}function zB(A,e){A=A|0;e=e|0;var i=0;i=a[46981]|0;if((i|0)<(e|0)){if(!i)i=m2(e+1|0)|0;else i=y2(a[46982]|0,e+1|0)|0;a[46982]=i;a[46981]=e}else i=a[46982]|0;$1(i,A)|0;a[46966]=a[46982];return}function YB(A){A=A|0;return m2(A)|0}function DB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+2112|0;b=s+32|0;t=s+24|0;l=s+16|0;n=s+8|0;f=s;e=s+56|0;c=s+40|0;co(c,1024,s+1080|0);i=a[46966]|0;if(i|0){wo(c,i)|0;wo(c,97027)|0}wo(c,A)|0;a[f>>2]=a[4725];P4(e,97030,f)|0;wo(c,e)|0;A:do{if(!(r[a[46964]>>0]|0))switch(((a[46971]|0)+-1|0)/2|0|0){case 2:{a[n>>2]=16384;P4(e,97050,n)|0;wo(c,e)|0;A=a[46978]|0;if(!(r[A>>0]|0))break A;t=S2(A)|0;wo(c,97112)|0;A=a[46978]|0;if((t|0)>80)r[A+80>>0]=0;wo(c,A)|0;break A}case 3:{a[l>>2]=16384;P4(e,97131,l)|0;wo(c,e)|0;A=a[46978]|0;if(!(r[A>>0]|0))break A;t=S2(A)|0;wo(c,97199)|0;A=a[46978]|0;if((t|0)>80)r[A+80>>0]=0;wo(c,A)|0;break A}case 1:{a[t>>2]=16384;P4(e,97218,t)|0;wo(c,e)|0;break A}default:break A}else{wo(c,97042)|0;wo(c,a[46964]|0)|0;e=c+4|0;A=a[e>>2]|0;if(A>>>0>=(a[c+8>>2]|0)>>>0){bo(c,1)|0;A=a[e>>2]|0}a[e>>2]=A+1;r[A>>0]=39}}while(0);i=c+4|0;A=a[i>>2]|0;e=c+8|0;if(A>>>0>=(a[e>>2]|0)>>>0){bo(c,1)|0;A=a[i>>2]|0}a[i>>2]=A+1;r[A>>0]=10;A=a[i>>2]|0;if(A>>>0>=(a[e>>2]|0)>>>0){bo(c,1)|0;A=a[i>>2]|0}r[A>>0]=0;t=a[c>>2]|0;a[i>>2]=t;a[b>>2]=t;ao(1,96913,b)|0;uo(c);k=s;return}function MB(){FB(a[46964]|0);return}function FB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=a[46973]|0;r[c>>0]=r[194805]|0;t=a[46972]|0;i=a[t>>2]|0;e=a[i+4>>2]|0;if(c>>>0<(e+2|0)>>>0){f=e+((a[46977]|0)+2)|0;n=e+((a[i+12>>2]|0)+2)|0;b=e;l=i;while(1){if(f>>>0<=b>>>0)break;i=f+-1|0;b=n+-1|0;r[b>>0]=r[i>>0]|0;l=a[t>>2]|0;f=i;n=b;b=a[l+4>>2]|0}i=n-f|0;e=c+i|0;c=a[l+12>>2]|0;a[46977]=c;a[l+16>>2]=c;if(e>>>0<(b+2|0)>>>0)GB(97277);else{s=A+i|0;w=e}}else{s=A;w=c}A=w+-1|0;r[A>>0]=64;a[46964]=s;r[194805]=r[A>>0]|0;a[46973]=A;return}function VB(){var A=0;A=a[46972]|0;if(!A)A=0;else A=a[A>>2]|0;WB(A);return}function JB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+80|0;f=r;n=A+52|0;OB(A,a[n>>2]|0,18548);A=f+8|0;a[A>>2]=e;a[A+4>>2]=i;i=a[n>>2]|0;i=W5[a[i>>2]&63](i,f,4)|0;k=r;return i|0}function NB(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;f=JB(A,e,i)|0;if(!f){f=rd(A,72)|0;a[f+64>>2]=a[A+64>>2];n=f+24|0;l=a[A+24>>2]|0;a[n>>2]=l;r[n>>0]=l&255&-9;a[f+56>>2]=A;a[f+60>>2]=a[A+60>>2];A=f+8|0;a[A>>2]=e;a[A+4>>2]=i;hh(f)|0}return f|0}function XB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;if(!(((e|0)!=0?(Dh(A,0,e,f,0)|0)!=0:0)?(r=f,r=JB(A,a[r>>2]|0,a[r+4>>2]|0)|0,(r|0)!=0):0))if((i|0)!=0?(Dh(A,0,e,f,1)|0)!=0:0){r=f;r=NB(A,a[r>>2]|0,a[r+4>>2]|0)|0;Jh(A,0,r)}else r=0;k=n;return r|0}function RB(A){A=A|0;A=a[A+52>>2]|0;return W5[a[A>>2]&63](A,0,128)|0}function HB(A){A=A|0;var e=0;e=pB(A)|0;if(!e)A=0;else{e=a[e+52>>2]|0;A=W5[a[e>>2]&63](e,A,8)|0}return A|0}function pB(A){A=A|0;return a[A+56>>2]|0}function UB(A,e){A=A|0;e=e|0;A=a[A+52>>2]|0;return W5[a[A>>2]&63](A,e,2)|0}function xB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[46984]|0;r=(e|0)!=0;do{if(!A)if(r){L2(e);A=0;break}else{A=m2(i)|0;break}else if(r){fd(A,e);A=0;break}else{A=rd(A,i)|0;break}}while(0);return A|0}function TB(A,e,i){A=A|0;e=e|0;i=i|0;A=a[46984]|0;if(!A)L2(e);else fd(A,e);return}function jB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e+28|0;f=a[r>>2]|0;a[r>>2]=7;a[46984]=A;i=jk(e,i)|0;a[r>>2]=f;a[46984]=0;return i|0}function SB(A,e,i){A=A|0;e=e|0;i=i|0;a[46984]=A;return W5[a[e>>2]&63](e,i,2)|0}function PB(A,e){A=A|0;e=e|0;var i=0,r=0;i=(Ao(e,0,0)|0)+28|0;r=a[i>>2]|0;a[i>>2]=7;a[46984]=A;if(!(pk(e)|0)){a[i>>2]=r;a[46984]=0;A=0}else A=1;return A|0}function OB(A,e,i){A=A|0;e=e|0;i=i|0;if(i|0?(Ao(e,0,0)|0)!=(i|0):0)Ao(e,i,0)|0;return}function KB(A,e){A=A|0;e=e|0;if(!(tB(A)|0))e=qB(A,e)|0;else _B(A,e)|0;return e|0}function _B(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;r[e>>0]=60;f=e;while(1){i=f+1|0;a=r[A>>0]|0;if(!(a<<24>>24))break;r[i>>0]=a;A=A+1|0;f=i}r[i>>0]=62;r[f+2>>0]=0;return e|0}function qB(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){r[e>>0]=34;s=r[A>>0]|0;h=0;n=((s+-45&255)<2|((s&255)+-48|0)>>>0<10)&1;l=0;t=0;c=0;i=e+1|0;f=A+1|0;e:while(1){b=i;while(1){if(!(s<<24>>24))break e;i=s&255;i:do{if(s<<24>>24==34){r[b>>0]=92;w=n;u=1;b=b+1|0}else{if(!n){u=s<<24>>24>-1&(s<<24>>24!=95&(V1(i)|0)==0);w=0;u=u?1:l;break}switch(s<<24>>24){case 45:{u=(c|0)==0;w=u?n:0;u=u?l:1;break i}case 46:{u=(t|0)==0;w=u?n:0;u=u?l:1;t=t+1|0;break i}default:{u=(i+-48|0)>>>0<10;w=u?n:0;u=u?l:1;break i}}}}while(0);i=b+1|0;r[b>>0]=s;o=f+1|0;k=r[f>>0]|0;c=c+1|0;f=a[5031]|0;if(!f){n=w;l=u;b=i;f=o;s=k;continue}n=k&255;l=k<<24>>24!=0;if((h&l?!(s<<24>>24==92|s<<24>>24>-1&((s+-45&255)>1&(V1(s<<24>>24)|0)==0)^1):0)?!(k<<24>>24>-1&((k+-45&255)>1&(V1(n)|0)==0)):0)break;if((c|0)<(f|0)|l^1){n=w;l=u;b=i;f=o;s=k;continue}if(s<<24>>24==92|s<<24>>24>-1&((V1(s<<24>>24)|0)==0&(s+-45&255)>1)^1){h=1;n=w;l=u;s=k;f=o;continue e}if(k<<24>>24>-1&((k+-45&255)>1&(V1(n)|0)==0)){h=1;n=w;l=u;s=k;f=o;continue e}r[i>>0]=92;r[b+2>>0]=10;n=w;l=1;c=0;b=b+3|0;f=o;s=k}r[i>>0]=92;r[b+2>>0]=10;h=0;n=w;l=1;c=0;s=k;i=b+3|0;f=o}r[b>>0]=34;r[b+1>>0]=0;if(!l){if((c|0)==1?((r[A>>0]|0)+-45&255)<2:0){A=e;break}else i=20128;while(1){f=a[i>>2]|0;if(!f)break A;if(!(N1(f,A)|0)){A=e;break}else i=i+4|0}}else A=e}else A=97309}while(0);return A|0}function $B(A){A=A|0;return KB(A,Av(A)|0)|0}function Av(A){A=A|0;var e=0;e=((S2(A)|0)<<1)+2|0;e=e>>>0>1024?e:1024;A=a[46986]|0;if(e>>>0>(a[46985]|0)>>>0){if(!A)A=m2(e)|0;else A=y2(A,e)|0;a[46986]=A;a[46985]=e}return A|0}function ev(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=0;break}if((iv(A)|0)==0?kd(A,e,0)|0:0){A=1;break}A=HB(A)|0}return A|0}function iv(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=Vh(A)|0;if((l|0)!=0?(r[l>>0]|0)!=37:0)e=0;else i=3;A:do{if((i|0)==3){e=Co(A)|0;e:do{if(e|0?(f=Co(pB(A)|0)|0,f|0):0){l=Pk(a[(Co(Zd(A)|0)|0)+8>>2]|0)|0;n=e+12|0;i=f+12|0;e=0;while(1){if((e|0)>=(l|0))break e;f=a[(a[n>>2]|0)+(e<<2)>>2]|0;if((f|0?(t=a[(a[i>>2]|0)+(e<<2)>>2]|0,t|0):0)?A1(f,t)|0:0){e=0;break A}e=e+1|0}}}while(0);e=ho(A,0)|0;if(e)if((Pk(a[e+8>>2]|0)|0)>0)e=0;else return(Pk(a[e+12>>2]|0)|0)<1|0;else e=1}}while(0);return e|0}function rv(A,e){A=A|0;e=e|0;var i=0,f=0;a[46987]=0;i=po(A,97319)|0;if((i|0?((r[i>>0]|0)+-48|0)>>>0<10:0)?(f=n3(i,0,10)|0,(f|0)==0|(f|0)>59):0)a[5031]=f;fv(A,1);if(((av(A,e,1)|0)!=-1?(nv(A,e)|0)!=-1:0)?(lv(A,e)|0)!=-1:0){a[5031]=128;A=Q5[a[(a[(a[A+64>>2]|0)+8>>2]|0)+8>>2]&63](e)|0}else A=-1;return A|0}function fv(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=a[A>>2]&-9;i=RB(A)|0;while(1){if(!i)break;fv(i,0);i=HB(i)|0}A:do{if(e|0){e=cd(A)|0;while(1){if(!e)break A;a[e>>2]=a[e>>2]&-9;i=Oo(A,e)|0;while(1){if(!i)break;a[i>>2]=a[i>>2]&-9;i=_o(A,i)|0}e=bd(A,e)|0}}}while(0);return}function av(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;if((i|0)==0?(pB(A)|0)!=0:0){t=0;n=195059;b=109514}else{b=(r[A+24>>0]&1)==0?195059:97363;n=(Gh(A)|0)==0;a[46988]=Yo(A,2,111455,0)|0;a[46989]=Yo(A,2,111464,0)|0;t=1;n=n?195059:97366}f=Vh(A)|0;if((f|0)!=0?(r[f>>0]|0)!=37:0){l=1;c=102604}else{l=0;c=195059;f=195059}do{if((tv(A,e)|0)!=-1?(cv(A,e,n)|0)!=-1:0){n=(l|0)==0;if(l|t|0){if((cv(A,e,b)|0)==-1){f=-1;break}if((cv(A,e,102597)|0)==-1){f=-1;break}}if(!n?(gv(A,e,f)|0)==-1:0){f=-1;break}if(((cv(A,e,c)|0)!=-1?(cv(A,e,97374)|0)!=-1:0)?(a[46987]=(a[46987]|0)+1,(Gv(A,e,i)|0)!=-1):0){a[A>>2]=a[A>>2]|8;f=0}else f=-1}else f=-1}while(0);return f|0}function nv(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;A:do{if((bv(A,e)|0)==-1)i=-1;else{b=ho(Zd(A)|0,0)|0;t=(b|0)==0;c=b+12|0;b=b+8|0;l=cd(A)|0;while(1){if(!l){i=0;break A}if(sv(A,l,(a[l>>2]|0)>>>4,0)|0){if(t)i=0;else i=a[b>>2]|0;if((wv(l,e,i)|0)==-1){i=-1;break A}}n=Oo(A,l)|0;i=l;while(1){if(!n)break;f=n+-48|0;r=a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0;if((i|0)!=(r|0)?(sv(A,r,(a[l>>2]|0)>>>4,0)|0)!=0:0){if(t)i=0;else i=a[b>>2]|0;if((wv(a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0,e,i)|0)==-1){i=-1;break A}i=a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0}if(uv(A,n)|0){if(t)r=0;else r=a[c>>2]|0;if((kv(n,e,r)|0)==-1){i=-1;break A}}n=_o(A,n)|0}l=bd(A,l)|0}}}while(0);return i|0}function lv(A,e){A=A|0;e=e|0;a[46987]=(a[46987]|0)+-1;if((tv(A,e)|0)==-1)A=-1;else A=((cv(A,e,111008)|0)==-1)<<31>>31;return A|0}function tv(A,e){A=A|0;e=e|0;var i=0;i=a[46987]|0;while(1){if((i|0)<=0){i=0;break}if((cv(A,e,153597)|0)==-1){i=-1;break}else i=i+-1|0}return i|0}function cv(A,e,i){A=A|0;e=e|0;i=i|0;return m5[a[(a[(a[A+64>>2]|0)+8>>2]|0)+4>>2]&127](e,i)|0}function bv(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=0;break}if(!(iv(A)|0)){if((av(A,e,0)|0)==-1){A=-1;break}if((nv(A,e)|0)==-1){A=-1;break}if((lv(A,e)|0)==-1){A=-1;break}}else bv(A,e)|0;A=HB(A)|0}return A|0}function sv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if((ev(A,e)|0)==0?(Cv(A,e,i,r)|0)!=0:0)if((Iv(A,e)|0)==0?(Zv(e)|0)==0:0)f=5;else A=1;else f=5;if((f|0)==5)A=0;return A|0}function wv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Id(A)|0;do{if((tv(r,e)|0)!=-1?(ov(A,e)|0)!=-1:0){if((dv(A)|0)==0?(Bv(A,e,i)|0)==-1:0){A=-1;break}A=cv(r,e,97330)|0}else A=-1}while(0);return A|0}function uv(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=1;break}if((iv(A)|0)==0?wh(A,e,0)|0:0){A=0;break}A=HB(A)|0}return A|0}function kv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=a[A>>2]&3;n=a[((r|0)==3?A:A+48|0)+40>>2]|0;r=a[((r|0)==2?A:A+-48|0)+40>>2]|0;f=Id(n)|0;do{if((((((tv(f,e)|0)!=-1?(ov(n,e)|0)!=-1:0)?(hv(A,e,a[46988]|0)|0)!=-1:0)?(n=(Ih(Id(n)|0)|0)!=0,(cv(f,e,n?100079:100084)|0)!=-1):0)?(ov(r,e)|0)!=-1:0)?(hv(A,e,a[46989]|0)|0)!=-1:0){if(!(dv(A)|0)){if((Bv(A,e,i)|0)==-1){A=-1;break}}else if((vv(A,e,1)|0)==-1){A=-1;break}A=cv(f,e,97330)|0}else A=-1}while(0);return A|0}function ov(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+32|0;n=t;i=t+8|0;r=Vh(A)|0;f=Id(A)|0;if(!r){c=A+8|0;A=a[c+4>>2]|0;r=n;a[r>>2]=a[c>>2];a[r+4>>2]=A;P4(i,97350,n)|0;if((cv(f,e,i)|0)==-1)A=-1;else l=4}else if((gv(f,e,r)|0)==-1)A=-1;else l=4;if((l|0)==4)A=0;k=t;return A|0}function hv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if((i|0)!=0?(f=Id(A)|0,a=Uo(A,i)|0,(r[a>>0]|0)!=0):0)if((cv(f,e,107984)|0)==-1)A=-1;else{do{if(tB(a)|0){if((gv(f,e,a)|0)==-1){A=-1;break A}}else{A=G1(a,58)|0;if(!A)if((Ev(f,e,a,0)|0)==-1){A=-1;break A}else break;r[A>>0]=0;if((Ev(f,e,a,0)|0)==-1){A=-1;break A}if((cv(f,e,107984)|0)==-1){A=-1;break A}if((Ev(f,e,A+1|0,0)|0)==-1){A=-1;break A}r[A>>0]=58}}while(0);A=0}else A=0}while(0);return A|0}function dv(A){A=A|0;return(a[A>>2]|0)>>>3&1|0}function Bv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;A:do{if(!(a[A>>2]&2)){r=0;b=4}else{switch(vv(A,e,0)|0){case-1:{r=-1;break A}case 0:{r=0;b=4;break A}default:{}}r=1;b=4}}while(0);A:do{if((b|0)==4){f=Co(A)|0;c=Id(A)|0;e:do{if(f){t=f+12|0;l=W5[a[i>>2]&63](i,0,128)|0;while(1){if(!l)break e;do{if(a[A>>2]&2){n=a[46988]|0;if(n|0?(a[l+16>>2]|0)==(a[n+16>>2]|0):0)break;n=a[46989]|0;if(!((n|0)!=0?(a[l+16>>2]|0)==(a[n+16>>2]|0):0))b=12}else b=12}while(0);if((b|0)==12){b=0;f=l+16|0;if((a[(a[t>>2]|0)+(a[f>>2]<<2)>>2]|0)!=(a[l+12>>2]|0)){n=r+1|0;if(r){if((cv(c,e,97345)|0)==-1){r=-1;break A}if((tv(c,e)|0)==-1){r=-1;break A}}else{if((tv(c,e)|0)==-1){r=-1;break A}if((cv(c,e,97342)|0)==-1){r=-1;break A}a[46987]=(a[46987]|0)+1}if((gv(c,e,a[l+8>>2]|0)|0)==-1){r=-1;break A}if((cv(c,e,97348)|0)==-1){r=-1;break A}if((gv(c,e,a[(a[t>>2]|0)+(a[f>>2]<<2)>>2]|0)|0)==-1){r=-1;break A}else r=n}}l=W5[a[i>>2]&63](i,l,8)|0}}}while(0);if((r|0)>0){if((cv(c,e,97340)|0)==-1){r=-1;break}a[46987]=(a[46987]|0)+-1}a[A>>2]=a[A>>2]|8;r=0}}while(0);return r|0}function vv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;f=Vh(A)|0;A=Id(A)|0;if((f|0)!=0?(r[f>>0]|0)!=0:0)if((cv(A,e,97333)|0)!=-1?(gv(A,e,f)|0)!=-1:0)if((i|0)!=0?(cv(A,e,97340)|0)==-1:0)A=-1;else{A=1;a=7}else A=-1;else{A=0;a=7}return A|0}function gv(A,e,i){A=A|0;e=e|0;i=i|0;return Ev(A,e,i,1)|0}function Ev(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if(!r)i=qB(i,Av(i)|0)|0;else i=$B(i)|0;return cv(A,e,i)|0}function Cv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A:do{if(0>>0|(0==(r|0)?(a[e>>2]|0)>>>4>>>0>>0:0))e=0;else{e=qo(A,e)|0;while(1){if(!e){e=1;break A}if(0>>0|(0==(r|0)?(a[a[e+40>>2]>>2]|0)>>>4>>>0>>0:0)){e=0;break A}e=$o(A,e)|0}}}while(0);return e|0}function Iv(A,e){A=A|0;e=e|0;if(!(qo(A,e)|0))A=(Oo(A,e)|0)==0&1;else A=0;return A|0}function Zv(A){A=A|0;var e=0,i=0,r=0;A=Co(A)|0;A:do{if(!A)A=0;else{i=A+8|0;r=a[i>>2]|0;e=A+12|0;A=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!A){A=0;break A}if((a[(a[e>>2]|0)+(a[A+16>>2]<<2)>>2]|0)!=(a[A+12>>2]|0)){A=1;break A}r=a[i>>2]|0;A=W5[a[r>>2]&63](r,A,8)|0}}}while(0);return A|0}function Gv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=ho(A,0)|0;if(r)if(((Qv(A,e,111494,a[r+16>>2]|0,i)|0)!=-1?(Qv(A,e,111481,a[r+8>>2]|0,i)|0)!=-1:0)?(Qv(A,e,111450,a[r+12>>2]|0,i)|0)!=-1:0)f=5;else A=-1;else f=5;if((f|0)==5)A=0;return A|0}function Qv(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;w=(n|0)!=0;if(w)s=0;else s=_k(f,0)|0;b=(s|0)==0;c=W5[a[f>>2]&63](f,0,128)|0;n=0;while(1){if(!c){u=23;break}t=c+12|0;u=a[t>>2]|0;if((u|0)!=0?(r[u>>0]|0)!=0:0)u=12;else u=7;do{if((u|0)==7){u=0;if(!(r[c+22>>0]|0)){if(!b){l=W5[a[s>>2]&63](s,c,4)|0;k=a[l+12>>2]|0;if(k|0?r[k>>0]|0:0){u=12;break}if(!(r[l+22>>0]|0))u=12}}else u=12}}while(0);if((u|0)==12){u=0;l=n+1|0;if(n){if((cv(A,e,97345)|0)==-1){n=-1;break}if((tv(A,e)|0)==-1){n=-1;break}}else{if((tv(A,e)|0)==-1){n=-1;break}if((cv(A,e,i)|0)==-1){n=-1;break}if((cv(A,e,97342)|0)==-1){n=-1;break}a[46987]=(a[46987]|0)+1}if((gv(A,e,a[c+8>>2]|0)|0)==-1){n=-1;break}if((cv(A,e,97348)|0)==-1){n=-1;break}if((gv(A,e,a[t>>2]|0)|0)==-1){n=-1;break}else n=l}c=W5[a[f>>2]&63](f,c,8)|0}do{if((u|0)==23){if((n|0)>0){a[46987]=(a[46987]|0)+-1;if((n|0)!=1){if((cv(A,e,153599)|0)==-1){n=-1;break}if((tv(A,e)|0)==-1){n=-1;break}}n=(cv(A,e,97377)|0)==-1;if(w|n){n=n<<31>>31;break}}else if(w){n=0;break}_k(f,s)|0;n=0}}while(0);return n|0}function mv(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(a[e>>2]&3){case 0:{n=82;break}case 1:{n=83;break}case 3:case 2:{n=84;break}default:{}}e=m5[n&127](A,e)|0;if(!e)e=-1;else{zv(A,e,i,r,n,f);e=0}return e|0}function Lv(A,e){A=A|0;e=e|0;if((Id(e)|0)!=(A|0))e=wh(A,e,0)|0;return e|0}function Wv(A,e){A=A|0;e=e|0;if((Id(e)|0)!=(A|0))e=kd(A,e,0)|0;return e|0}function yv(A,e){A=A|0;e=e|0;return A|0}function zv(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var n=0,l=0,t=0;l=(a|0)!=0;if(l)J5[i&127](A,e,r);n=RB(A)|0;while(1){if(!n)break;t=m5[f&127](n,e)|0;if(t|0)zv(n,t,i,r,f,a);n=HB(n)|0}if(!l)J5[i&127](A,e,r);return}function Yv(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1200|0;d=v+800|0;i=v;a[46990]=0;a[46991]=-2;e=d;t=200;w=i;o=0;h=0;u=d;A:while(1){f[u>>1]=o;if((e+(t<<1)+-2|0)>>>0>u>>>0)b=t;else{s=u-e>>1;A=s+1|0;if(t>>>0>9999){B=75;break}b=t<<1;b=b>>>0<1e4?b:1e4;l=m2(b*6|3)|0;if(l){y6(l|0,e|0,A<<1|0)|0;t=l+(b>>>1<<2)|0;y6(t|0,w|0,A<<2|0)|0;if((e|0)==(d|0)){A=0;e=l}else{L2(e);A=0;e=l}}else{A=4;t=w}c=(A|0)==0;l=e+(s<<1)|0;switch((c?(e+(b<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;B=76;break A}case 4:{B=75;break A}case 0:{i=c?t+(s<<2)|0:i;w=t;u=c?l:u;break}default:{A=0;break A}}}if((o|0)==6){A=0;B=76;break}A=r[97381+o>>0]|0;c=A<<24>>24;do{if(A<<24>>24!=-18){l=a[46991]|0;if((l|0)==-2){l=wB()|0;a[46991]=l}if((l|0)>=1)if(l>>>0<269)t=n[97461+l>>0]|0;else t=2;else{a[46991]=0;t=0}l=t+c|0;if(l>>>0<=59?(t|0)==(n[97730+l>>0]|0):0){o=r[97790+l>>0]|0;A=o<<24>>24;if(o<<24>>24<1){l=0-A|0;B=23;break}else{a[46991]=-2;i=i+4|0;a[i>>2]=a[46992];c=(h|0)==0?0:h+-1|0;l=u;break}}else B=22}else B=22}while(0);if((B|0)==22){B=0;o=r[97850+o>>0]|0;l=o&255;if(!(o<<24>>24)){l=a[46991]|0;e:do{switch(h|0){case 0:{a[46990]=(a[46990]|0)+1;DB(143761);l=u;break}case 3:if((l|0)<1)if(!l){A=1;B=76;break A}else{l=u;break e}else{a[46991]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<24>>24==18)break;if((l|0)==(e|0)){A=1;B=76;break A}A=l+-2|0;i=i+-4|0;l=A;A=r[97381+(f[A>>1]|0)>>0]|0}i=i+4|0;a[i>>2]=a[46992];A=1;c=3}else B=23}do{if((B|0)==23){B=0;t=n[97930+l>>0]|0;A=a[i+(1-t<<2)>>2]|0;e:do{switch(l|0){case 2:{Dv();Mv();break}case 3:{if(a[46993]|0){Dv();Mv();Bh(a[46993]|0)|0;a[46942]=0;a[46993]=0}break}case 6:{Fv(a[i>>2]|0,a[i+-4>>2]|0,a[i+-8>>2]|0);break}case 7:{A=a[i>>2]|0;break}case 8:{A=0;break}case 9:{A=1;break}case 10:{A=0;break}case 11:{A=0;break}case 12:{A=1;break}case 21:if(!(a[i+-4>>2]|0)){Jv();break e}else{Vv();break e}case 24:{Nv();break}case 25:{Nv();break}case 26:{A=1;break}case 27:{A=0;break}case 30:{Xv(a[i>>2]|0,0,0);break}case 31:{Xv(a[i+-8>>2]|0,a[i>>2]|0,0);break}case 32:{Xv(a[i+-16>>2]|0,a[i+-8>>2]|0,a[i>>2]|0);break}case 33:{Rv(a[i+-8>>2]|0,a[i+-4>>2]|0);break}case 34:{Rv(258,0);break}case 35:{A=258;break}case 36:{A=259;break}case 37:{A=260;break}case 38:{A=a[i+-4>>2]|0;break}case 39:{A=0;break}case 48:{Hv(a[i+-8>>2]|0,a[i>>2]|0);break}case 49:{Hv(a[i>>2]|0,0);break}case 51:{pv(a[i>>2]|0);break}case 52:{Uv();break}case 53:{A=a[i>>2]|0;break}case 54:{A=0;break}case 55:{A=0;break}case 59:{A=a[i>>2]|0;break}case 60:{A=a[i>>2]|0;break}case 61:{A=a[i>>2]|0;break}case 62:{A=xv(a[i+-8>>2]|0,a[i>>2]|0)|0;break}default:{}}}while(0);t=0-t|0;o=i+(t<<2)|0;t=u+(t<<1)|0;i=o+4|0;a[o+4>>2]=A;A=(n[97993+l>>0]|0)+-24|0;o=f[t>>1]|0;l=o+(r[98056+A>>0]|0)|0;if(l>>>0<60?(n[97730+l>>0]|0)==(o|0):0){A=r[97790+l>>0]|0;c=h;l=t;break}A=r[98091+A>>0]|0;c=h;l=t}}while(0);t=b;o=A;h=c;u=l+2|0}if((B|0)==75){DB(140558);A=2;B=76}if((B|0)==76)if((e|0)!=(d|0))L2(e);k=v;return A|0}function Dv(){var A=0,e=0;A=a[46994]|0;while(1){if(!A)break;qv(A+8|0);qv((a[46994]|0)+24|0);qv((a[46994]|0)+16|0);e=Tv(a[46994]|0)|0;a[46994]=e;A=e}return}function Mv(){MB();Th(a[46993]|0);return}function Fv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=a[46993]|0;if(!f){r[187980]=e&1|(i&255)<<1&2|r[187980]&-12|8;f=a[46996]|0;r[n>>0]=r[187980]|0;r[n+1>>0]=r[187981]|0;r[n+2>>0]=r[187982]|0;r[n+3>>0]=r[187983]|0;f=kh(A,n,f)|0;a[46993]=f}a[46942]=f;a[46994]=jv(a[46994]|0,f)|0;lB(0,A)|0;k=l;return}function Vv(){var A=0,e=0,i=0,f=0,n=0,l=0;_v(2);i=a[46994]|0;f=r[98126]|0;l=0;A=i+24|0;while(1){e=a[A>>2]|0;if(!e)break;if(((a[e>>2]|0)==267?(n=a[e+4>>2]|0,(r[n>>0]|0)==f<<24>>24):0)?(A1(n,98126)|0)==0:0)A=a[e+8>>2]|0;else A=l;l=A;A=e+12|0}A=i+16|0;A:while(1){i=a[A>>2]|0;A=i+12|0;if(!(a[A>>2]|0))break;e=i+4|0;if((a[i>>2]|0)==262){i=a[e>>2]|0;e=cd(i)|0;while(1){if(!e)continue A;n=kd(a[a[46994]>>2]|0,e,0)|0;ag(n,0,a[A>>2]|0,l);e=bd(i,e)|0}}else while(1){e=a[e>>2]|0;if(!e)continue A;ag(a[e+4>>2]|0,a[e+8>>2]|0,a[A>>2]|0,l);e=e+12|0}}qv((a[46994]|0)+8|0);qv((a[46994]|0)+16|0);qv((a[46994]|0)+24|0);a[(a[46994]|0)+4>>2]=0;return}function Jv(){var A=0;_v(1);A=(a[46994]|0)+8|0;while(1){A=a[A>>2]|0;if(!A)break;fg(a[A+4>>2]|0);A=A+12|0}qv((a[46994]|0)+8|0);qv((a[46994]|0)+24|0);qv((a[46994]|0)+16|0);a[(a[46994]|0)+4>>2]=0;return}function Nv(){var A=0,e=0;A=a[46994]|0;e=a[A+8>>2]|0;if(!e){e=a[A+4>>2]|0;if(!e)e=0;else{e=rg(e)|0;A=a[46994]|0}a[A+4>>2]=0}else{e=ig(e)|0;A=a[46994]|0;a[A+12>>2]=0;a[A+8>>2]=0}if(e|0)Pv(A+16|0,e);return}function Xv(A,e,i){A=A|0;e=e|0;i=i|0;if(i)e=Ag(e,i)|0;i=eg(vd(a[a[46994]>>2]|0,A,1)|0,e)|0;Pv((a[46994]|0)+8|0,i);lB(a[46993]|0,A)|0;return}function Rv(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;if(e|0)Kv();e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;if(!(a[e+8>>2]|0))Kv();e=e+12|0}n=(A|0)==260?2:(A|0)==259&1;_v(n);A=a[46994]|0;e=A+24|0;while(1){f=a[e>>2]|0;if(!f)break;do{if((a[f>>2]|0)!=267){e=a[f+4>>2]|0;i=a[A>>2]|0;if(!((r[e+21>>0]|0)!=0&(i|0)==(a[46993]|0))){e=Yo(i,n,a[e+8>>2]|0,a[f+8>>2]|0)|0;A=a[46994]|0;if((a[A>>2]|0)!=(a[46993]|0))break}r[e+22>>0]=1}}while(0);e=f+12|0}qv(A+24|0);return}function Hv(A,e){A=A|0;e=e|0;e=Sv(A,e)|0;Pv((a[46994]|0)+24|0,e);return}function pv(A){A=A|0;var e=0;e=a[46994]|0;a[46994]=jv(e,XB(a[e>>2]|0,A,1)|0)|0;lB(a[46993]|0,A)|0;return}function Uv(){var A=0,e=0;A=a[46994]|0;e=a[A>>2]|0;A=Tv(A)|0;a[46994]=A;a[A+4>>2]=e;return}function xv(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+1024|0;f=n;i=S2(A)|0;i=i+1+(S2(e)|0)|0;if(i>>>0<1025)i=f;else i=m2(i)|0;$1(i,A)|0;u3(i,e)|0;r=aB(a[46993]|0,i)|0;lB(a[46993]|0,A)|0;lB(a[46993]|0,e)|0;if((i|0)!=(f|0))L2(i);k=n;return r|0}function Tv(A){A=A|0;var e=0;e=a[(a[46994]|0)+32>>2]|0;fd(a[46993]|0,A);return e|0}function jv(A,e){A=A|0;e=e|0;var i=0;i=rd(a[46993]|0,36)|0;a[i+32>>2]=A;a[i>>2]=e;return i|0}function Sv(A,e){A=A|0;e=e|0;return Ov(267,A,e)|0}function Pv(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;r=a[i>>2]|0;if(r|0)a[r+12>>2]=e;a[i>>2]=e;if(!(a[A>>2]|0))a[A>>2]=e;return}function Ov(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=rd(a[46993]|0,16)|0;a[r>>2]=A;a[r+4>>2]=e;a[r+8>>2]=i;return r|0}function Kv(){var A=0;A=k;k=k+16|0;ao(0,98130,A)|0;k=A;return}function _v(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=(A|0)==2;e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;i=e+4|0;f=a[i>>2]|0;if(!((n?(r[f>>0]|0)==(r[98126]|0):0)?!(A1(f,98126)|0):0)){l=Yo(a[a[46994]>>2]|0,A,f,0)|0;a[i>>2]=l;if(!l)a[i>>2]=Yo(a[a[46994]>>2]|0,A,f,195059)|0;a[e>>2]=266;lB(a[46993]|0,f)|0}e=e+12|0}return}function qv(A){A=A|0;$v(a[A>>2]|0);a[A+4>>2]=0;a[A>>2]=0;return}function $v(A){A=A|0;var e=0;while(1){if(!A)break;e=a[A+12>>2]|0;switch(a[A>>2]|0){case 265:{$v(a[A+4>>2]|0);break}case 266:case 267:{lB(a[46993]|0,a[A+8>>2]|0)|0;break}default:{}}fd(a[46993]|0,A);A=e}return}function Ag(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+1040|0;f=l;n=l+8|0;i=S2(A)|0;i=i+2+(S2(e)|0)|0;if(i>>>0<1025)r=n;else r=m2(i)|0;a[f>>2]=A;a[f+4>>2]=e;P4(r,98163,f)|0;i=aB(a[46993]|0,r)|0;lB(a[46993]|0,A)|0;lB(a[46993]|0,e)|0;if((r|0)!=(n|0))L2(r);k=l;return i|0}function eg(A,e){A=A|0;e=e|0;return Ov(259,A,e)|0}function ig(A){A=A|0;return Ov(265,A,0)|0}function rg(A){A=A|0;return Ov(262,A,0)|0}function fg(A){A=A|0;var e=0,i=0;e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;if((a[e>>2]|0)==266?(i=a[e+4>>2]|0,i|0):0)Vo(A,i,a[e+8>>2]|0)|0;e=e+12|0}return}function ag(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=i+4|0;A:do{if((a[i>>2]|0)==262){i=a[f>>2]|0;f=cd(i)|0;while(1){if(!f)break A;ng(A,e,kd(a[a[46994]>>2]|0,f,0)|0,0,r);f=bd(i,f)|0}}else while(1){f=a[f>>2]|0;if(!f)break A;i=kd(a[a[46994]>>2]|0,a[f+4>>2]|0,0)|0;ng(A,e,i,a[f+8>>2]|0,r);f=f+12|0}}while(0);return}function ng(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;i=th(a[a[46994]>>2]|0,A,i,f,1)|0;if(i|0){n=a[i>>2]&3;f=a[((n|0)==2?i:i+-48|0)+40>>2]|0;A=(f|0)==(A|0)?(a[((n|0)==3?i:i+48|0)+40>>2]|0)!=(f|0):0;lg(i,111455,A?r:e);lg(i,111464,A?e:r);fg(i)}return}function lg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(i|0){r=Yo(a[a[46994]>>2]|0,2,e,0)|0;if(!r)r=Yo(a[a[46994]>>2]|0,2,e,195059)|0;Vo(A,r,i)|0}return}function tg(A,e,i){A=A|0;e=e|0;i=i|0;a[46962]=e;a[46993]=A;a[46942]=0;A=i|0?i:18600;a[46996]=A;sB(A,e);Yv()|0;A=a[46942]|0;if(!A){VB();A=a[46942]|0}return A|0}function cg(A,e){A=A|0;e=e|0;return tg(0,A,e)|0}function bg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;e=a[A+76>>2]|0;f=a[A>>2]|0;if((e|0)!=0?(i=a[e>>2]|0,(i|0)!=0):0){F5[i&127](A);n=12}else n=4;do{if((n|0)==4)if((a[A+40>>2]|0)==0?(l=A+36|0,(a[l>>2]|0)==0):0){if(r[f+13>>0]|0)sg(A);e=A+32|0;i=a[e>>2]|0;if(!i){a[l>>2]=a[15679];n=12;break}f=F3(i,106512)|0;a[l>>2]=f;if(!f){c=a[(a[A+12>>2]|0)+16>>2]|0;l=a[e>>2]|0;e=e1(a[(X2()|0)>>2]|0)|0;a[t>>2]=l;a[t+4>>2]=e;V5[c&63](98169,t);e=1}else n=12}else n=12}while(0);if((n|0)==12)if(!(a[A+152>>2]&1024))e=0;else{V5[a[(a[A+12>>2]|0)+16>>2]&63](98207,c);e=1}k=b;return e|0}function sg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=k;k=k+112|0;i=l;n=l+4|0;e=a[A+24>>2]|0;if(!e)r[n>>0]=0;else{a[i>>2]=e+1;P4(n,98225,i)|0}i=a[A+20>>2]|0;i=i|0?i:98229;e=S2(i)|0;t=S2(n)|0;f=A+52|0;t=e+1+t+(S2(a[f>>2]|0)|0)|0;e=t+11|0;if((a[46997]|0)>>>0<(t+1|0)>>>0){a[46997]=e;e=y2(a[46998]|0,e)|0;a[46998]=e}else e=a[46998]|0;$1(e,i)|0;u3(a[46998]|0,n)|0;e=a[46998]|0;e=e+(S2(e)|0)|0;r[e>>0]=46;r[e+1>>0]=0;e=s3(a[f>>2]|0)|0;f=a[46998]|0;while(1){i=w3(e,58)|0;if(!i)break;u3(f,i+1|0)|0;t=a[46998]|0;n=t+(S2(t)|0)|0;r[n>>0]=46;r[n+1>>0]=0;r[i>>0]=0;f=t}u3(f,e)|0;L2(e);a[A+32>>2]=a[46998];k=l;return}function wg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l+8|0;f=l;if((e|0)!=0&(i|0)!=0){if(a[A+152>>2]&1024|0){V5[a[(a[A+12>>2]|0)+16>>2]&63](98207,f);SA(1)}if((ug(A,e,i)|0)==(i|0))r=i;else{f=a[(a[A+12>>2]|0)+16>>2]|0;a[n>>2]=i;V5[f&63](98239,n);SA(1)}}else r=0;k=l;return r|0}function ug(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=a[(a[A>>2]|0)+104>>2]|0;do{if(!f){c=A+40|0;l=a[c>>2]|0;if(!l){i=L3(e,1,i,a[A+36>>2]|0)|0;break}f=A+44|0;t=A+48|0;n=a[t>>2]|0;do{if(((a[f>>2]|0)+-1-n|0)>>>0>>0){n=i+4096+n&-4096;a[f>>2]=n;f=y2(l,n)|0;a[c>>2]=f;if(!f){V5[a[(a[A+12>>2]|0)+16>>2]&63](98264,w);SA(1)}else{b=f;s=a[t>>2]|0;break}}else{b=l;s=n}}while(0);y6(b+s|0,e|0,i|0)|0;w=(a[t>>2]|0)+i|0;a[t>>2]=w;r[(a[c>>2]|0)+w>>0]=0}else i=W5[f&63](A,e,i)|0}while(0);k=u;return i|0}function kg(A,e){A=A|0;e=e|0;var i=0;i=S2(e)|0;e=(wg(A,e,i)|0)==(i|0);return(e?1:-1)|0}function og(A,e){A=A|0;e=e|0;var i=0,f=0;i=k;k=k+16|0;f=i;r[f>>0]=e;A=(wg(A,f,1)|0)==1;k=i;return(A?e:-1)|0}function hg(A){A=A|0;var e=0;e=a[A+36>>2]|0;if(((e|0)!=0?(r[A+144>>0]|0)==0:0)?(a[(a[A>>2]|0)+104>>2]|0)==0:0)A=g3(e)|0;else A=0;return A|0}function dg(A){A=A|0;var e=0,i=0;e=a[A+76>>2]|0;if(e|0?(i=a[e+4>>2]|0,i|0):0)F5[i&127](A);hg(A)|0;return}function Bg(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=a[A+76>>2]|0;if(a[A+152>>2]&1024|0){V5[a[(a[A+12>>2]|0)+16>>2]&63](98291,r);SA(1)}if((i|0)!=0?(e=a[i+8>>2]|0,(e|0)!=0):0)F5[e&127](A);else{hg(A)|0;vg(A)}k=r;return}function vg(A){A=A|0;var e=0,i=0,f=0;e=A+32|0;if((a[e>>2]|0?(i=A+36|0,f=a[i>>2]|0,(f|0)!=(a[15679]|0)):0)?(r[A+144>>0]|0)==0:0){if(f|0){h3(f)|0;a[i>>2]=0}a[e>>2]=0}return}function gg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+1056|0;f=t;l=t+24|0;n=t+8|0;a[n>>2]=i;r=k4(l,1024,e,n)|0;if((r|0)>=0){if((r|0)>1023){r=$F(r+1|0)|0;a[n>>2]=i;f=r;r=O4(r,e,n)|0}else f=l;wg(A,f,r)|0;if((f|0)!=(l|0))L2(f)}else{a[f>>2]=e1(a[(X2()|0)>>2]|0)|0;ao(1,98308,f)|0}k=t;return}function Eg(A,e){A=A|0;e=+e;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=Cg(r,e)|0;wg(A,f,a[r>>2]|0)|0;k=i;return}function Cg(A,e){A=A|0;e=+e;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;if(!(e<-1.0e15))if(!(e>1.0e15)){e=e*1.0e4;f=~~((e<0.0?-.5:.5)+e);if(!f){f=138394;i=1}else{s=(f|0)<0;b=4;t=0;i=194826;f=s?0-f|0:f;while(1){if(!((f|0)!=0|(b|0)>0))break;n=(f|0)%10|0;c=(f|0)/10|0;l=i+-1|0;if((n|0)==0&t<<24>>24==0)f=0;else{r[l>>0]=n|48;f=1;i=l}if((b|0)==1)if(!(f<<24>>24))f=1;else{i=i+-1|0;r[i>>0]=46;f=1}b=b+-1|0;t=f;f=c}if(s){i=i+-1|0;r[i>>0]=45}f=i;i=194826-i|0}}else{f=98323;i=18}else{f=98322;i=19}a[A>>2]=i;return f|0}function Ig(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=Cg(r,+b[e>>3])|0;wg(A,f,a[r>>2]|0)|0;wg(A,102604,1)|0;e=Cg(r,+b[e+8>>3])|0;wg(A,e,a[r>>2]|0)|0;k=i;return}function Zg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;r=0;while(1){l=e+(r<<4)|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];Ig(A,f);r=r+1|0;if((r|0)>=(i|0))break;wg(A,102604,1)|0}k=n;return}function Gg(A,e){A=A|0;e=e|0;var i=0;i=qF(392)|0;if(i|0){a[i>>2]=20156;a[i+16>>2]=23;a[i+32>>2]=A;a[i+36>>2]=e}return i|0}function Qg(A){A=A|0;var e=0,i=0,r=0,f=0;e=qF(392)|0;i=e;r=A;f=i+40|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));f=e+60|0;r=A+60|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[f+16>>2]=a[r+16>>2];f=e+80|0;r=A+80|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[f+16>>2]=a[r+16>>2];return e|0}function mg(A){A=A|0;Mg(A);L2(A);return}function Lg(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=a[r>>2]|0;if(i){r=a[46999]|0;if(r){i=a[r+4>>2]|0;if(!i){i=qF(632)|0;a[(a[46999]|0)+4>>2]=i}}}else{i=qF(632)|0;a[r>>2]=i;a[A+164>>2]=i}a[46999]=i;a[i+32>>2]=e;a[i>>2]=A;return}function Wg(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=a[r>>2]|0;if(i){r=a[47e3]|0;if(r){i=a[r+4>>2]|0;if(!i){i=qF(632)|0;a[(a[47e3]|0)+4>>2]=i}}}else{i=qF(632)|0;a[r>>2]=i;a[A+164>>2]=i}a[47e3]=i;a[i+52>>2]=e;a[i>>2]=A;return(Jg(A,3,e)|0)!=0|0}function yg(A){A=A|0;var e=0;e=a[A+160>>2]|0;a[A+164>>2]=e;return e|0}function zg(A){A=A|0;var e=0,i=0,r=0;A=A+164|0;e=a[A>>2]|0;i=a[e+4>>2]|0;if(i|0?(r=i+52|0,(a[r>>2]|0)==0):0)a[r>>2]=a[e+52>>2];a[A>>2]=i;return i|0}function Yg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;f=e+10|0;if((a[r>>2]|0)>(e|0))A=a[A>>2]|0;else{a[r>>2]=f;f=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=f;A=f}a[A+(e<<2)>>2]=i;return}function Dg(A){A=A|0;var e=0;e=a[A>>2]|0;if(e|0)L2(e);a[A>>2]=0;a[A+8>>2]=0;a[A+4>>2]=0;return}function Mg(A){A=A|0;var e=0,i=0,r=0;i=A+160|0;e=a[i>>2]|0;while(1){if(!e)break;r=a[e+4>>2]|0;Dg(e+604|0);Dg(e+592|0);L2(a[e+584>>2]|0);L2(a[e+588>>2]|0);L2(e);e=r}a[47e3]=0;a[46999]=0;a[A+192>>2]=0;a[A+164>>2]=0;a[i>>2]=0;a[A+28>>2]=0;return}function Fg(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0;w=k;k=k+128|0;b=w+64|0;s=w;x4(b,i,63)|0;t=G1(b,58)|0;if(t|0)r[t>>0]=0;A=A+60+(e<<2)|0;while(1){e=a[A>>2]|0;if(!e){e=A;A=0;break}x4(s,a[e+4>>2]|0,63)|0;e=G1(s,58)|0;if(e|0)r[e>>0]=0;if((A1(b,s)|0)<1){c=9;break}A=a[A>>2]|0}while(1){if((c|0)==9){e=A;A=a[A>>2]|0}if(!A)break;x4(s,a[A+4>>2]|0,63)|0;A=G1(s,58)|0;if(A|0)r[A>>0]=0;if(A1(b,s)|0)break;A=a[e>>2]|0;if((a[A+8>>2]|0)<=(f|0))break;c=9}s=$F(20)|0;a[s>>2]=a[e>>2];a[e>>2]=s;a[s+4>>2]=i;a[s+8>>2]=f;a[s+12>>2]=n;a[s+16>>2]=l;k=w;return 1}function Vg(A,e){A=A|0;e=e|0;e=k;k=k+16|0;ao(1,98396,e)|0;k=e;return 0}function Jg(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+144|0;d=B;u=B+80|0;o=B+16|0;w=(e+-3|0)>>>0<2?0:e;x4(u,i,63)|0;i=G1(u,58)|0;if(i){f=i+1|0;r[i>>0]=0;i=G1(f,58)|0;if(!i)s=0;else{r[i>>0]=0;s=i+1|0}}else{s=0;f=0}t=(f|0)!=0;c=(s|0)==0;b=(w|0)==(e|0);l=A+60+(e<<2)|0;A:while(1){i=a[l>>2]|0;if(!i){i=0;break}x4(o,a[i+4>>2]|0,63)|0;i=G1(o,58)|0;if(!i)i=0;else{r[i>>0]=0;i=i+1|0}do{if(!(A1(o,u)|0)){n=(i|0)!=0;if(t&n?A1(i,f)|0:0)break;if(!c?A1(s,a[(a[(a[l>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(b|n^1){h=16;break A}if(Jg(A,w,i)|0){h=16;break A}}}while(0);l=a[l>>2]|0}do{if((h|0)==16){i=a[l>>2]|0;if(i){f=i+16|0;if((a[f>>2]|0)==0?(Vg(0,0)|0,(a[f>>2]|0)==0):0){i=0;break}if((a[A+8>>2]|0)>0){h=a[15712]|0;u=a[i+4>>2]|0;o=a[(a[i+12>>2]|0)+8>>2]|0;a[d>>2]=a[20168+(e<<2)>>2];a[d+4>>2]=u;a[d+8>>2]=o;f3(h,98427,d)|0}}else i=0}}while(0);a[A+80+(e<<2)>>2]=i;k=B;return i|0}function Ng(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;do{if(!i)i=0;else{if(a[5047]|0){co(188004,0,0);a[5047]=0}l=s3(i)|0;i=G1(l,58)|0;if(i){r[i>>0]=0;f=A+60+(e<<2)|0;i=1;n=f;while(1){A=a[n>>2]|0;if(!A)break;e=s3(a[A+4>>2]|0)|0;A=G1(e,58)|0;if(A|0)r[A>>0]=0;if(!((r[l>>0]|0)!=0?(N1(l,e)|0)!=0:0)){i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=32;wo(188004,a[(a[n>>2]|0)+4>>2]|0)|0;i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=58;wo(188004,a[(a[(a[n>>2]|0)+12>>2]|0)+8>>2]|0)|0;i=0}L2(e);n=a[n>>2]|0}L2(l);if(i<<24>>24){n=0;t=19}}else{L2(l);n=0;f=A+60+(e<<2)|0;i=1;t=19}if((t|0)==19){while(1){A=a[f>>2]|0;if(!A)break;e=s3(a[A+4>>2]|0)|0;A=G1(e,58)|0;if(A|0)r[A>>0]=0;if(!((n|0)!=0?(N1(n,e)|0)==0:0)){i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=32;wo(188004,e)|0;i=0}n=e;f=a[f>>2]|0;t=19}if(i<<24>>24){i=195059;break}}i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}r[i>>0]=0;i=a[47001]|0;a[47002]=i}}while(0);return i|0}function Xg(A){A=A|0;var e=0;if(!A)vA(111208,98444,573,98458);if(!(r[A>>0]|0))vA(111213,98444,574,98458);e=a[47005]|0;if(!e)A=0;else A=W5[a[e>>2]&63](e,A,512)|0;return A|0}function Rg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;if(!A)vA(111312,98444,589,98475);n=A+8|0;i=a[n>>2]|0;if(!i)vA(111315,98444,590,98475);if(!(r[i>>0]|0))vA(111324,98444,591,98475);l=A+20|0;f=a[l>>2]|0;do{if(!f){e=WR(i)|0;if(!e){a[t>>2]=a[n>>2];ao(0,98499,t)|0;e=0;break}t=F3(e,138821)|0;a[l>>2]=t;if(!t){a[c>>2]=e1(a[(X2()|0)>>2]|0)|0;a[c+4>>2]=e;ao(0,98524,c)|0;e=0;break}e=a[47006]|0;if((e|0)>49){r[A+17>>0]=1;e=1;break}else{a[47006]=e+1;e=1;break}}else{O3(f,0,0)|0;if(!(a[l>>2]|0))vA(98545,98444,614,98475);else e=1}}while(0);k=b;return e|0}function Hg(A){A=A|0;var e=0,i=0;if(r[A+17>>0]|0?(e=A+20|0,i=a[e>>2]|0,i|0):0){h3(i)|0;a[e>>2]=0}return}function pg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0;if(!e){r=-1;i=-1}else{r=a[e+48>>2]|0;f=+(r|0);if(!r){n=+b[i>>3];f=+b[i+8>>3]}else{b[i+8>>3]=f;b[i>>3]=f;n=f}r=~~(+((a[e+40>>2]|0)*72|0)/n);i=~~(+((a[e+44>>2]|0)*72|0)/f)}a[A>>2]=r;a[A+4>>2]=i;return}function Ug(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=k;k=k+48|0;f=s+16|0;t=s;c=s+32|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){if((0==0?(n=a[47133]|0,(a[47007]|0)!=(n|0)):0)?(a[47007]=n,l=a[47005]|0,l|0):0){pk(l)|0;a[47005]=0}w=+b[(a[(a[e+16>>2]|0)+8>>2]|0)+24>>3];w=!(w>=1.0)?96.0:w;b[t+8>>3]=w;b[t>>3]=w;e=xg(i)|0;a[f>>2]=a[t>>2];a[f+4>>2]=a[t+4>>2];a[f+8>>2]=a[t+8>>2];a[f+12>>2]=a[t+12>>2];pg(c,e,f);e=a[c>>2]|0;f=a[c+4>>2]|0}else{e=-1;f=-1}a[A>>2]=e;a[A+4>>2]=f;k=s;return}function xg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;r=f;if(!A)vA(111208,98444,638,98551);if(!(a[47005]|0))a[47005]=jk(20192,a[4589]|0)|0;e=Xg(A)|0;A:do{if(!e){e=qF(64)|0;if(!e)e=0;else{i=e+8|0;a[i>>2]=aB(0,A)|0;if(!((Rg(e)|0)<<24>>24)){Tg(e);e=0;break}if(!(a[e+20>>2]|0))vA(98545,98444,653,98551);do{switch(jg(e)|0){case 0:{A=GN(a[i>>2]|0)|0;a[e+52>>2]=A;if(!A){a[r>>2]=a[i>>2];ao(0,98568,r)|0;Tg(e);e=0;break A}break}case 2:{Sg(e);break}case 3:{Pg(e);break}case 1:{Og(e);break}case 4:{Kg(e);break}case 6:{_g(e);break}case 11:{qg(e);break}case 8:{$g(e);break}case 5:{AE(e);break}case 12:{eE(e);break}default:{}}}while(0);Hg(e);r=a[47005]|0;W5[a[r>>2]&63](r,e,1)|0}}else Hg(e)}while(0);k=f;return e|0}function Tg(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(e|0)lB(0,e)|0;L2(A);return}function jg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+224|0;f=c+200|0;n=c;l=A+20|0;e=a[l>>2]|0;A:do{if((e|0)!=0?(a6(f,1,20,e)|0)==20:0){i=0;while(1){if(i>>>0>=10){t=13;break A}if(!(F4(f,a[20228+(i<<4)>>2]|0,a[20228+(i<<4)+4>>2]|0)|0))break;i=i+1|0}r=A+28|0;a[r>>2]=a[20228+(i<<4)+12>>2];e=a[20228+(i<<4)+8>>2]|0;A=A+24|0;a[A>>2]=e;switch(i|0){case 7:break;case 8:{if(F4(f+8|0,98784,4)|0)break A;a[r>>2]=98789;a[A>>2]=11;e=11;break A}default:break A}while(1){if(!(N4(n,200,a[l>>2]|0)|0)){t=11;break}if(!(F4(n,98779,4)|0)){t=8;break}}if((t|0)==8){a[r>>2]=101803;a[A>>2]=8;e=8;break}else if((t|0)==11){e=a[A>>2]|0;break}}else t=13}while(0);if((t|0)==13){a[A+28>>2]=98794;a[A+24>>2]=0;e=0}k=c;return e|0}function Sg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,6,0)|0;if((bE(a[r>>2]|0,2,e)|0)<<24>>24?(bE(a[r>>2]|0,2,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function Pg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,16,0)|0;if((iE(a[r>>2]|0,4,e)|0)<<24>>24?(iE(a[r>>2]|0,4,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function Og(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;e=l+12|0;i=l+8|0;r=l+4|0;f=l;a[A+48>>2]=0;n=A+20|0;O3(a[n>>2]|0,16,0)|0;if((((bE(a[n>>2]|0,2,e)|0)<<24>>24?(bE(a[n>>2]|0,2,i)|0)<<24>>24:0)?(bE(a[n>>2]|0,2,r)|0)<<24>>24:0)?(bE(a[n>>2]|0,2,f)|0)<<24>>24:0){a[A+40>>2]=a[e>>2]<<16|a[i>>2];a[A+44>>2]=a[r>>2]<<16|a[f>>2]}k=l;return}function Kg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+32|0;e=s+16|0;r=s+12|0;f=s+8|0;l=s+4|0;t=s;a[A+48>>2]=0;c=A+20|0;while(1){if(!((iE(a[c>>2]|0,1,e)|0)<<24>>24))break;i=a[e>>2]|0;if((i|0)==255)continue;if(G1(98767,i)|0)continue;if((i|0)==192){b=6;break}n=a[c>>2]|0;if((i|0)==194){b=11;break}if(!((iE(n,2,r)|0)<<24>>24))break;O3(a[c>>2]|0,(a[r>>2]|0)+-2|0,1)|0}if((b|0)==6){if(((iE(a[c>>2]|0,3,t)|0)<<24>>24?(iE(a[c>>2]|0,2,f)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,l)|0)<<24>>24:0){a[A+44>>2]=a[f>>2];a[A+40>>2]=a[l>>2]}}else if((((b|0)==11?(iE(n,3,t)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,f)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,l)|0)<<24>>24:0){a[A+44>>2]=a[f>>2];a[A+40>>2]=a[l>>2]}k=s;return}function _g(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+1056|0;c=s;e=s+32|0;r=s+28|0;f=s+24|0;n=s+20|0;l=s+16|0;a[A+48>>2]=72;t=A+20|0;O3(a[t>>2]|0,0,0)|0;while(1){if(!(N4(e,1024,a[t>>2]|0)|0))break;i=X4(e,98752)|0;if(!i)continue;a[c>>2]=r;a[c+4>>2]=f;a[c+8>>2]=n;a[c+12>>2]=l;if((J3(i,104311,c)|0)==4){b=5;break}}if((b|0)==5){c=a[r>>2]|0;a[A+32>>2]=c;b=a[f>>2]|0;a[A+36>>2]=b;a[A+40>>2]=(a[n>>2]|0)-c;a[A+44>>2]=(a[l>>2]|0)-b}k=s;return}function qg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;e=n+4|0;i=n;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,15,0)|0;l=(s6(a[r>>2]|0)|0)==88;f=a[r>>2]|0;if(l){O3(f,24,0)|0;if((bE(a[r>>2]|0,4,e)|0)<<24>>24?(bE(a[r>>2]|0,4,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}}else{O3(f,26,0)|0;if((bE(a[r>>2]|0,2,e)|0)<<24>>24?(bE(a[r>>2]|0,2,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}}k=n;return}function $g(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0;z=k;k=k+352|0;L=z+80|0;m=z+72|0;y=z+64|0;W=z+56|0;Q=z+48|0;e=z+40|0;B=z+32|0;v=z+24|0;g=z+16|0;E=z+8|0;C=z;I=z+328|0;Z=z+128|0;G=z+96|0;if(!(a[47008]|0)){if(u8(188036,98637,1)|0){a[e>>2]=98637;ao(1,98664,e)|0}a[47008]=188036}s=A+20|0;O3(a[s>>2]|0,0,0)|0;w=G+12|0;u=G+20|0;o=G+8|0;h=G+16|0;d=G+4|0;e=0;n=0;f=0;i=0;A:while(1){if(!(N4(Z,200,a[s>>2]|0)|0))break;if(n<<24>>24==0|e<<24>>24==0){l=Z;c=i}else break;e:while(1){t=f;i:while(1){while(1){if($8(188036,l,4,G,0)|0){f=t;i=c;continue A}r[l+(a[w>>2]|0)>>0]=0;r[l+(a[u>>2]|0)>>0]=0;i=l+(a[o>>2]|0)|0;f=l+(a[h>>2]|0)|0;l=l+((a[d>>2]|0)+1)|0;if(!(A1(i,141116)|0))break;if(!(A1(i,141048)|0))break i;if(A1(i,98711)|0)continue;a[L>>2]=v;a[L+4>>2]=g;a[L+8>>2]=E;a[L+12>>2]=C;if((J3(f,98719,L)|0)==4)break e}a[Q>>2]=B;a[Q+4>>2]=I;if((J3(f,98701,Q)|0)!=2){a[W>>2]=B;if((J3(f,101209,W)|0)==1){i=1;f=cE(+b[B>>3],98708)|0}else{i=n;f=t}}else{i=1;f=cE(+b[B>>3],I)|0}if(!(e<<24>>24)){e=0;n=i;t=f}else{n=i;i=c;continue A}}a[y>>2]=B;a[y+4>>2]=I;if((J3(f,98701,y)|0)!=2){a[m>>2]=B;if((J3(f,101209,m)|0)==1){e=1;i=cE(+b[B>>3],98708)|0}else i=c}else{e=1;i=cE(+b[B>>3],I)|0}if(!(n<<24>>24)){n=0;f=t;c=i}else{f=t;continue A}}e=1;n=1;f=~~(+b[E>>3]+1.0-+b[v>>3])>>>0;i=~~(+b[C>>3]+1.0-+b[g>>3])>>>0}a[A+48>>2]=0;a[A+40>>2]=f;a[A+44>>2]=i;k=z;return}function AE(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0;i=k;k=k+32|0;e=i;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,0,0)|0;if(!(rE(a[r>>2]|0,e)|0)){n=+b[e>>3];a[A+32>>2]=~~n;f=+b[e+8>>3];a[A+36>>2]=~~f;a[A+40>>2]=~~(+b[e+16>>3]-n);a[A+44>>2]=~~(+b[e+24>>3]-f)}k=i;return}function eE(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,6,0)|0;if((iE(a[r>>2]|0,1,e)|0)<<24>>24?(iE(a[r>>2]|0,1,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function iE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;a[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=s6(A)|0;if(o3(A)|0){r=0;break}a[i>>2]=a[i>>2]<<8|f;r=r+1|0}return r|0}function rE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+1040|0;i=l;r=l+16|0;while(1){if(!(N4(r,1024,A)|0)){A=1;break}f=X4(r,98627)|0;if(f|0){n=4;break}}if((n|0)==4){a[i+4>>2]=r;a[i>>2]=f+9;a[i+8>>2]=A;A=fE(i,e)|0}k=l;return A|0}function fE(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=k;k=k+1024|0;f=n;aE(A);i=r[a[A>>2]>>0]|0;if(!(i<<24>>24))i=(nE(A)|0)&255;else i=i<<24>>24;if((((i|0)==91?(a[A>>2]=(a[A>>2]|0)+1,lE(A,f),(tE(f,e)|0)==0):0)?(lE(A,f),(tE(f,e+8|0)|0)==0):0)?(lE(A,f),(tE(f,e+16|0)|0)==0):0){lE(A,f);i=(tE(f,e+24|0)|0)!=0&1}else i=1;k=n;return i|0}function aE(A){A=A|0;var e=0;e=a[A>>2]|0;while(1){e=r[e>>0]|0;if(!(e<<24>>24))e=(nE(A)|0)&255;else e=e<<24>>24;if(!((e&255)<<24>>24))break;if(!(Q1(e&255)|0))break;e=(a[A>>2]|0)+1|0;a[A>>2]=e}return}function nE(A){A=A|0;var e=0;e=A+4|0;if(!(N4(a[e>>2]|0,1024,a[A+8>>2]|0)|0))A=0;else{e=a[e>>2]|0;a[A>>2]=e;A=r[e>>0]|0}return A|0}function lE(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;aE(A);i=0;f=a[A>>2]|0;while(1){f=r[f>>0]|0;if(!(f<<24>>24))n=(nE(A)|0)&255;else n=f<<24>>24;f=n<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;r[e+i>>0]=n;i=i+1|0;f=(a[A>>2]|0)+1|0;a[A>>2]=f;if((i|0)==1023){i=1023;break}}r[e+i>>0]=0;return}function tE(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=k;k=k+16|0;f=r;i=+A8(A,f);if((a[f>>2]|0)==(A|0))A=1;else{b[e>>3]=i;A=0}k=r;return A|0}function cE(A,e){A=+A;e=e|0;var i=0.0;do{if(!(A1(e,98735)|0)){A=A*72.0;i=A;A=A>=0.0?.5:-.5}else{if(!(A1(e,98738)|0)){A=A*.75;i=A;A=A>=0.0?.5:-.5;break}if(!(A1(e,98741)|0)){A=A*12.0;i=A;A=A>=0.0?.5:-.5;break}if(A1(e,98708)|0?A1(e,98744)|0:0)if(!(A1(e,98746)|0)){A=A*28.346456664;i=A;A=A>=0.0?.5:-.5;break}else{e=(A1(e,98749)|0)==0;i=A*2.8346456663999997;return(e?~~(i+(i>=0.0?.5:-.5)):0)|0}i=A>=0.0?.5:-.5}}while(0);return~~(A+i)|0}function bE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;a[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=s6(A)|0;if(o3(A)|0){r=0;break}a[i>>2]=a[i>>2]|f<<(r<<3);r=r+1|0}return r|0}function sE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=a[e+20>>2]|0;if(A|0)h3(A)|0;if(a[e+52>>2]|0?(r=a[e+60>>2]|0,r|0):0)F5[r&127](e);L2(e);return}function wE(){var A=0;Yo(0,1,108224,105493)|0;A=Gg(0,1)|0;jr(A,0);return A|0}function uE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0;c=k;k=k+304|0;t=c+24|0;l=c+8|0;f=c;n=c+40|0;if((ur(A,i)|0)!=999)if((kr(A,e)|0)==-1)A=-1;else{A=a[e+16>>2]|0;i=A+16|0;if(!(r[(a[A+8>>2]|0)+81>>0]|0)){o=+b[i>>3];u=+b[A+24>>3];w=+b[A+32>>3];s=+b[A+40>>3];a[t>>2]=~~(o+(o>=0.0?.5:-.5));a[t+4>>2]=~~(u+(u>=0.0?.5:-.5));a[t+8>>2]=~~(w+(w>=0.0?.5:-.5));a[t+12>>2]=~~(s+(s>=0.0?.5:-.5));P4(n,98899,t)|0}else{s=+b[A+24>>3];w=+b[i>>3];u=+b[A+40>>3];o=+b[A+32>>3];a[l>>2]=~~(s+(s>=0.0?.5:-.5));a[l+4>>2]=~~(w+(w>=0.0?.5:-.5));a[l+8>>2]=~~(u+(u>=0.0?.5:-.5));a[l+12>>2]=~~(o+(o>=0.0?.5:-.5));P4(n,98899,l)|0}To(e,102671,n,195059)|0;A=0}else{A=Ng(A,1,i)|0;a[f>>2]=i;a[f+4>>2]=A;ao(1,111233,f)|0;A=-1}k=c;return A|0}function kE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=a[e+60>>2]|0;Wg(A,i)|0;e=a[A+164>>2]|0;a[e+56>>2]=mi(e,a[e+52>>2]|0)|0;if((Td(f,137483,0,1)|0)!=0?(a[(a[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(a[e+152>>2]&67108864)){to(98911,n);e=-1}else l=5;if((l|0)==5){a[e+36>>2]=r;if(!r){l=e+152|0;a[l>>2]=a[l>>2]|134217728}l=lF(A,f)|0;Wi(e);Mg(A);e=l}k=t;return e|0}function oE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=a[e+60>>2]|0;Wg(A,i)|0;e=a[A+164>>2]|0;a[e+56>>2]=mi(e,a[e+52>>2]|0)|0;if((Td(f,137483,0,1)|0)!=0?(a[(a[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(a[e+152>>2]&67108864)){to(98911,n);e=-1}else l=5;if((l|0)==5){Lg(A,r);l=lF(A,f)|0;Wi(e);Bg(e);Mg(A);e=l}k=t;return e|0}function hE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;l=s+8|0;n=s;e=a[e+60>>2]|0;Wg(A,i)|0;c=a[A+164>>2]|0;a[c+56>>2]=mi(c,a[c+52>>2]|0)|0;if((Td(e,137483,0,1)|0)!=0?(a[(a[e+16>>2]|0)+8>>2]|0)!=0:0)b=5;else if(!(a[c+152>>2]&67108864)){to(98911,n);e=-1}else b=5;do{if((b|0)==5){if(r|0?(t=m2(4096)|0,a[r>>2]=t,t|0):0){n=c+40|0;a[n>>2]=t;a[c+44>>2]=4096;i=c+48|0;a[i>>2]=0;e=lF(A,e)|0;Wi(c);if(!e){a[r>>2]=a[n>>2];a[f>>2]=a[i>>2]}Mg(A);break}ao(1,98932,l)|0;e=-1}}while(0);k=s;return e|0}function dE(A,e){A=A|0;e=e|0;xr(A,0,e);return}function BE(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+4288|0;y=D+8|0;W=D;z=4;Y=m2(40)|0;a[Y>>2]=0;G=D+4152|0;Q=D+4148|0;m=D+4128|0;c=D+4112|0;b=D+16|0;d=0;t=iA(24,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;A:do{if((l|0)!=1){if(!t){a[e>>2]=0;n=0;break}d=0;w=aA(29,i|0,Q|0,G|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;s=iA(23,40)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;hA(7,m|0,c|0,b|0,24,85);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){c=m+16|0;t=a[c>>2]|0;n=i;while(1){if(!n)break;d=0;rA(t|0,n|0,0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){Z=0;I=c;C=s;E=w;n=L;s=15;break A}d=0;n=rA(86,A|0,n|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){Z=0;I=c;C=s;E=w;n=L;s=15;break A}}Y=L6(188068,1,Y|0,z|0)|0;z=L;d=0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){Z=s;I=c;C=s;E=w;n=L;s=15}else{Z=s;I=c;C=s;E=w;n=0;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=0;E=w;n=L;s=15}}else{Z=0;I=0;C=0;E=0;n=L;s=15}}while(0);do{if((s|0)==15){A:while(1){e:do{if(!n){d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}g=E+(a[Q>>2]|0)|0;b=0;s=0;c=0;while(1){if(!i)break;d=0;n=rA(a[I>>2]|0,i|0,-1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,Y|0,z|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if((n|0)==0?(r[(a[i+16>>2]|0)+119>>0]|0)==3:0){if(!s){d=0;a[W>>2]=c;aA(30,g|0,137395,W|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;t=aA(31,A|0,E|0,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(53,t|0,137483,280,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}a[Z+(c<<2)>>2]=t;b=1;c=c+1|0}else t=s;d=0;nA(54,A|0,i|0,t|0,m|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}}else t=s;d=0;i=rA(86,A|0,i|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}s=t}d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}t=10;w=Z;u=C;o=C;v=C;while(1){if(!i){s=0;t=o;i=v;break e}d=0;n=rA(a[I>>2]|0,i|0,-1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){s=W6(a[l>>2]|0,Y|0,z|0)|0;if(!s)fe(l|0,B|0);L=B}else s=-1;if((s|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if(!n){d=0;a[y>>2]=c;aA(30,g|0,137395,y|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;h=aA(31,A|0,E|0,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(53,h|0,137483,280,1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){n=W6(a[l>>2]|0,Y|0,z|0)|0;if(!n)fe(l|0,B|0);L=B}else n=-1;if((n|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(54,A|0,i|0,h|0,m|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if((c|0)==(t|0)){t=c<<1;d=0;s=rA(87,u|0,c<<3|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}n=s;u=s;o=s;l=s}else{n=w;l=v}a[n+(c<<2)>>2]=h;w=n;c=c+1|0;s=l}else s=v;d=0;i=rA(86,A|0,i|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}v=s}}else{s=1;b=0;w=Z;c=0;t=C;i=C}}while(0);d=0;sA(108,m|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}if((E|0)!=(G|0)){d=0;sA(105,E|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}}if(!s){d=0;n=rA(87,i|0,c<<2|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}else{s=58;break}}a[e>>2]=0;n=0;while(1){if((n|0)>=(c|0))break;d=0;iA(26,a[w+(n<<2)>>2]|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}n=n+1|0}d=0;sA(105,t|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15}else{s=56;break}}if((s|0)==56){n=0;break}else if((s|0)==58){a[e>>2]=c;r[f>>0]=b;break}}}while(0);L2(Y|0);k=D;return n|0}function vE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if(!((A|0)!=0?(LE(A)|0)!=0:0))A=98988;r=S2(A)|0;if((r|0)>=104){i=$F(r+25|0)|0;if(!i)i=0;else f=6}else f=6;if((f|0)==6){$1(i,A)|0;a[e>>2]=r}return i|0}function gE(A,e){A=A|0;e=e|0;kd(e,A,1)|0;return}function EE(A,e){A=A|0;e=e|0;var i=0;A=(a[A+16>>2]|0)+157|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function CE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a[e>>2]=i;a[e+4>>2]=i+4096;a[e+12>>2]=0;a[e+8>>2]=0;a[A>>2]=e;a[A+4>>2]=e;a[A+8>>2]=i;a[A+12>>2]=r;a[A+16>>2]=f;return}function IE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;QE(r,e);t=r+12|0;c=r+16|0;e=0;A:while(1){b=mE(r)|0;if(!b)break;e=e+1|0;f=a[t>>2]|0;if(f|0)V5[f&63](b,i);l=Ah(A,b)|0;while(1){if(!l)continue A;n=a[l>>2]&3;f=a[((n|0)==3?l:l+48|0)+40>>2]|0;if((f|0)==(b|0))f=a[((n|0)==2?l:l+-48|0)+40>>2]|0;if(!(m5[a[c>>2]&127](f,-1)|0))QE(r,f);l=eh(A,l,b)|0}}return e|0}function ZE(A){A=A|0;var e=0;A=a[(a[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=a[A+12>>2]|0;GE(A);A=e}return}function GE(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function QE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;f=b;n=A+8|0;t=A+4|0;i=a[t>>2]|0;if((a[n>>2]|0)==(a[i+4>>2]|0)){i=a[i+12>>2]|0;do{if(!i){r=$F(16)|0;if(!r){ao(1,98969,f)|0;fe(188068,1)}a[r+8>>2]=a[t>>2];a[r+12>>2]=0;i=$F(4e6)|0;a[r>>2]=i;if(!i){ao(1,98969,c)|0;fe(188068,1)}else{a[r+4>>2]=i+4e6;a[(a[t>>2]|0)+12>>2]=r;l=r;break}}else l=i}while(0);a[t>>2]=l;a[n>>2]=a[l>>2]}m5[a[A+16>>2]&127](e,1)|0;c=a[n>>2]|0;a[n>>2]=c+4;a[c>>2]=e;k=b;return}function mE(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+8|0;e=a[f>>2]|0;i=A+4|0;r=a[i>>2]|0;if((e|0)==(a[r>>2]|0))if((r|0)==(a[A>>2]|0))e=0;else{e=a[r+8>>2]|0;a[i>>2]=e;e=a[e+4>>2]|0;a[f>>2]=e;n=4}else n=4;if((n|0)==4){e=e+-4|0;a[f>>2]=e;e=a[e>>2]|0}return e|0}function LE(A){A=A|0;var e=0;A:while(1){e=A;A=A+1|0;e=r[e>>0]|0;switch(e<<24>>24){case 95:continue A;case 0:{A=1;break A}default:{}}if(!(V1(e&255)|0)){A=0;break}}return A|0}function WE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+4272|0;I=Q;Z=4;G=m2(40)|0;a[G>>2]=0;g=Q+4144|0;E=Q+4140|0;C=Q+4120|0;l=Q+4104|0;t=Q+8|0;d=0;f=iA(24,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){r=W6(a[n>>2]|0,G|0,Z|0)|0;if(!r)fe(n|0,B|0);L=B}else r=-1;A:do{if((r|0)!=1)if(f){d=0;b=aA(29,i|0,E|0,g|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;c=iA(23,40)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;hA(7,C|0,l|0,t|0,24,85);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;f=iA(25,A|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){l=C+16|0;n=a[l>>2]|0;r=f;while(1){if(!r)break;d=0;rA(n|0,r|0,0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){v=l;h=c;o=b;r=L;c=14;break A}d=0;r=rA(86,A|0,r|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){v=l;h=c;o=b;r=L;c=14;break A}}G=L6(188068,1,G|0,Z|0)|0;Z=L;d=0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){v=l;h=c;o=b;r=L;c=14}else{v=l;h=c;o=b;r=0;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=0;o=b;r=L;c=14}}else{i=0;r=0}else{v=0;h=0;o=0;r=L;c=14}}while(0);A:do{if((c|0)==14){e:while(1){if(r|0){d=0;sA(108,C|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}d=0;sA(105,h|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}if((o|0)==(g|0)){i=0;r=0;break A}d=0;sA(105,o|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}else{c=19;break}}d=0;f=iA(25,A|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}u=o+(a[E>>2]|0)|0;l=10;b=h;r=0;c=h;w=h;while(1){if(!f)break;d=0;i=rA(a[v>>2]|0,f|0,-1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,G|0,Z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}if(!i){d=0;a[I>>2]=r;aA(30,u|0,137395,I|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;s=aA(31,A|0,o|0,1)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;nA(53,s|0,137483,280,1)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;nA(54,A|0,f|0,s|0,C|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}if((r|0)==(l|0)){l=r<<1;d=0;t=rA(87,c|0,r<<3|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}n=t;c=t;i=t}else{n=b;i=w}a[n+(r<<2)>>2]=s;r=r+1|0;b=n;t=i}else t=w;d=0;f=rA(86,A|0,f|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}w=t}d=0;sA(108,C|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}d=0;i=rA(87,w|0,r<<2|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,G|0,Z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}if((o|0)==(g|0))break A;d=0;sA(105,o|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,G|0,Z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14}else{c=39;break}}if((c|0)==19){i=0;r=0;break}else if((c|0)==39)break}}while(0);a[e>>2]=r;L2(G|0);k=Q;return i|0}function yE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=0;f=cd(A)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;if(kd(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,0)|0){wh(A,r,1)|0;i=i+1|0}r=_o(e,r)|0}f=bd(A,f)|0}return i|0}function zE(A){A=A|0;A=Ud(A,98993,0)|0;if(!A)vA(98998,99001,529,99010);else return a[A+8>>2]|0;return 0}function YE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;g=k;k=k+4320|0;B=g+24|0;d=g+8|0;h=g;v=g+4184|0;o=g+4160|0;f=g+40|0;if(vh(A)|0){Kd(A,0,99019,-12,0);Kd(A,1,99031,16,0);u=vE(i,f,v)|0;b=DE(A)|0;s=$F((vh(b)|0)<<2)|0;CE(o,g+4144|0,g+48|0,24,88);l=cd(b)|0;w=o+16|0;t=u+(a[f>>2]|0)|0;c=a[15712]|0;i=0;while(1){if(!l)break;if(!(m5[a[w>>2]&127](l,-1)|0)){a[h>>2]=i;P4(t,99933,h)|0;E=XB(b,u,1)|0;C=XB(A,u,1)|0;Td(C,99019,12,0)|0;r[(Ud(C,99019,0)|0)+8>>0]=1;f=IE(b,l,E,o)|0;FE(E,C);n=VE(C)|0;JE(A,C);a[s+(i<<2)>>2]=C;Cd(b,E)|0;if(0){a[d>>2]=i;a[d+4>>2]=f;a[d+8>>2]=n;f3(c,99043,d)|0}i=i+1|0}l=bd(b,l)|0}if(0){d=vh(A)|0;E=gh(A)|0;C=Vh(A)|0;a[B>>2]=d;a[B+4>>2]=E;a[B+8>>2]=i;a[B+12>>2]=C;f3(c,99073,B)|0}Bh(b)|0;_d(A,0,99019);_d(A,1,99031);ZE(o);f=eV(s,i<<2)|0;if((u|0)!=(v|0))L2(u)}else{f=0;i=0}a[e>>2]=i;k=g;return f|0}function DE(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;r[l>>0]=r[18596]|0;r[l+1>>0]=r[18597]|0;r[l+2>>0]=r[18598]|0;r[l+3>>0]=r[18599]|0;l=kh(99120,l,0)|0;RE(l,A);e=cd(A)|0;while(1){if(!e)break;if(!(a[(Ud(e,99031,0)|0)+12>>2]|0)){n=vd(l,Vh(e)|0,1)|0;Td(n,99031,16,1)|0;a[(a[n+16>>2]|0)+12>>2]=e;a[(Ud(e,99031,0)|0)+12>>2]=n}e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;f=a[(Ud(i,99031,0)|0)+12>>2]|0;e=Oo(A,i)|0;while(1){if(!e)break;n=a[(Ud(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,99031,0)|0)+12>>2]|0;do{if((n|0)!=(f|0))if(n>>>0>f>>>0){th(l,f,n,0,1)|0;break}else{th(l,n,f,0,1)|0;break}}while(0);e=_o(A,e)|0}i=bd(A,i)|0}k=t;return l|0}function ME(A,e){A=A|0;e=e|0;var i=0;A=(a[A+16>>2]|0)+8|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function FE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=cd(A)|0;while(1){if(!r)break;f=a[(a[r+16>>2]|0)+12>>2]|0;A:do{if((a[f>>2]&3|0)==1)kd(e,f,1)|0;else{i=cd(f)|0;while(1){if(!i)break A;kd(e,i,1)|0;i=bd(f,i)|0}}}while(0);r=bd(A,r)|0}return}function VE(A){A=A|0;return yE(A,a[A+60>>2]|0)|0}function JE(A,e){A=A|0;e=e|0;NE(A,e,0);return}function NE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,n=0;n=(i|0)==0;A=RB(A)|0;while(1){if(!A)break;if((r[(Ud(A,99019,0)|0)+8>>0]|0)==0?(a=XE(A,e,i)|0,a|0):0){if(n)f=(Z1(Vh(A)|0,108006,7)|0)==0;else f=1;NE(A,a,f&1)}A=HB(A)|0}return}function XE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=0;n=cd(A)|0;while(1){if(!n)break;f=vd(e,Vh(n)|0,0)|0;if(f){if(!r)r=XB(e,Vh(A)|0,1)|0;kd(r,f,1)|0}n=bd(A,n)|0}if((i|0)!=0&(r|0)==0)r=XB(e,Vh(A)|0,1)|0;if(r|0?(yE(r,A)|0,jo(A,r)|0,(Z1(Vh(r)|0,108006,7)|0)==0):0)a[(Td(r,98993,12,0)|0)+8>>2]=A;return r|0}function RE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+16|0;n=l;i=RB(e)|0;r=a[15712]|0;while(1){if(!i)break;A:do{if(!(Z1(Vh(i)|0,108006,7)|0)){f=vd(A,Vh(i)|0,1)|0;Td(f,99031,16,1)|0;a[(a[f+16>>2]|0)+12>>2]=i;e=cd(i)|0;while(1){if(!e)break A;if(a[(Ud(e,99031,0)|0)+12>>2]|0){b=Vh(e)|0;c=Vh(i)|0;t=Vh(a[(Ud(e,99031,0)|0)+12>>2]|0)|0;a[n>>2]=b;a[n+4>>2]=c;a[n+8>>2]=t;f3(r,99123,n)|0}a[(Ud(e,99031,0)|0)+12>>2]=f;e=bd(i,e)|0}}else RE(A,i)}while(0);i=HB(i)|0}k=l;return}function HE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;u=+b[A>>3];t=~~(u+(u>=0.0?.5:-.5));u=+b[A+8>>3];A=~~(u+(u>=0.0?.5:-.5));u=+b[e>>3];n=~~(u+(u>=0.0?.5:-.5));u=+b[e+8>>3];a=~~(u+(u>=0.0?.5:-.5));s=n-t|0;l=((s|0)>-1?s:0-s|0)<<1;s=s>>31|1;w=a-A|0;c=((w|0)>-1?w:0-w|0)<<1;w=w>>31|1;A:do{if((l|0)>(c|0)){f=0-l|0;r=c-(l>>1)|0;e=t;while(1){aJ(i,e,A);if((e|0)==(n|0))break A;t=(r|0)>-1;r=r+c+(t?f:0)|0;e=e+s|0;A=(t?w:0)+A|0}}else{f=0-c|0;r=t;e=l-(c>>1)|0;while(1){aJ(i,r,A);if((A|0)==(a|0))break A;c=(e|0)>-1;r=(c?s:0)+r|0;e=e+l+(c?f:0)|0;A=A+w|0}}}while(0);return}function pE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;b=w;c=w+4|0;do{if((A|0)<1)i=0;else{f=r+16|0;if((a[f>>2]|0)>>>0<4){i=UE(A,e,i,r)|0;break}s=$F(A<<5)|0;i=0;while(1){if((i|0)==(A|0))break;n=a[e+(i<<2)>>2]|0;xR(n);l=s+(i<<5)|0;n=(a[n+16>>2]|0)+16|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];a[l+16>>2]=a[n+16>>2];a[l+20>>2]=a[n+20>>2];a[l+24>>2]=a[n+24>>2];a[l+28>>2]=a[n+28>>2];i=i+1|0}if((a[f>>2]|0)==4){l=r+28|0;A:do{if(a[l>>2]&2|0){f=r+24|0;a[f>>2]=qF(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break A;n=po(a[e+(i<<2)>>2]|0,99190)|0;if(n|0?(a[b>>2]=c,n=(J3(n,137395,b)|0)>0,t=a[c>>2]|0,n&(t|0)>-1):0)a[(a[f>>2]|0)+(i<<2)>>2]=t;i=i+1|0}}}while(0);i=xE(A,s,r)|0;if(a[l>>2]&2)L2(a[r+24>>2]|0)}else i=0;L2(s)}}while(0);k=w;return i|0}function UE(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0.0,F=0.0,V=0.0;Y=k;k=k+144|0;m=Y+136|0;Q=Y+64|0;z=Y+48|0;E=Y+40|0;g=Y;v=Y+120|0;I=Y+104|0;L=Y+96|0;W=a[f+20>>2]|0;a[I>>2]=0;a[I+4>>2]=0;a[I+8>>2]=0;a[I+12>>2]=0;A:do{if((A|0)>=1){u=(W|0)==0;y=a[15712]|0;o=v+4|0;h=v+8|0;d=v+12|0;Z=I+4|0;C=I+8|0;G=I+12|0;w=0;n=0;while(1){if((w|0)==(A|0))break;B=a[e+(w<<2)>>2]|0;xR(B);if(!u?(r[W+w>>0]|0)!=0:0){s=a[B+16>>2]|0;D=+b[s+16>>3];l=~~(D+(D>=0.0?.5:-.5));a[v>>2]=l;D=+b[s+24>>3];t=~~(D+(D>=0.0?.5:-.5));a[o>>2]=t;D=+b[s+32>>3];c=~~(D+(D>=0.0?.5:-.5));a[h>>2]=c;D=+b[s+40>>3];s=~~(D+(D>=0.0?.5:-.5));a[d>>2]=s;if(!n){a[I>>2]=a[v>>2];a[I+4>>2]=a[v+4>>2];a[I+8>>2]=a[v+8>>2];a[I+12>>2]=a[v+12>>2]}else{a[I>>2]=a[((a[I>>2]|0)>(l|0)?v:I)>>2];a[Z>>2]=a[((a[Z>>2]|0)>(t|0)?v:I)+4>>2];a[C>>2]=a[((a[C>>2]|0)<(c|0)?v:I)+8>>2];a[G>>2]=a[((a[G>>2]|0)<(s|0)?v:I)+12>>2]}n=n+1|0}if(0>2){s=Vh(B)|0;B=a[B+16>>2]|0;V=+b[B+16>>3];F=+b[B+24>>3];M=+b[B+32>>3];D=+b[B+40>>3];a[g>>2]=s;b[g+8>>3]=V;b[g+16>>3]=F;b[g+24>>3]=M;b[g+32>>3]=D;f3(y,99257,g)|0}w=w+1|0}h=$F(A<<5)|0;n=0;while(1){if((n|0)==(A|0))break;g=h+(n<<5)|0;v=(a[(a[e+(n<<2)>>2]|0)+16>>2]|0)+16|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[g+16>>2]=a[v+16>>2];a[g+20>>2]=a[v+20>>2];a[g+24>>2]=a[v+24>>2];a[g+28>>2]=a[v+28>>2];n=n+1|0}u=f+8|0;o=SE(A,h,a[u>>2]|0)|0;if(0){a[E>>2]=o;f3(y,99285,E)|0}if((o|0)>=1){w=(W|0)!=0;if(w){l=((a[C>>2]|0)+(a[I>>2]|0)|0)/2|0;n=((a[G>>2]|0)+(a[Z>>2]|0)|0)/2|0}else{l=0;n=0}a[L+4>>2]=n;a[L>>2]=l;s=qF(A<<4)|0;c=f+16|0;n=0;while(1){if((n|0)>=(A|0))break;l=a[e+(n<<2)>>2]|0;t=s+(n<<4)|0;a[s+(n<<4)+12>>2]=n;if((a[c>>2]|0)==3){I=(a[l+16>>2]|0)+16|0;Z=a[u>>2]|0;G=Vh(l)|0;a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];a[Q+16>>2]=a[I+16>>2];a[Q+20>>2]=a[I+20>>2];a[Q+24>>2]=a[I+24>>2];a[Q+28>>2]=a[I+28>>2];a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];PE(Q,t,o,Z,m,G)}else{a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];OE(i,l,t,o,f,m)}n=n+1|0}t=qF(A<<2)|0;n=0;while(1){if((n|0)>=(A|0))break;a[t+(n<<2)>>2]=s+(n<<4);n=n+1|0}K4(t,A,4,89);c=$V()|0;n=qF(A<<3)|0;e:do{if(w){l=0;while(1){if((l|0)>=(A|0)){l=0;break}if(r[W+l>>0]|0){i=a[t+(l<<2)>>2]|0;f=n+(a[i+12>>2]<<3)|0;a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];_E(i,c,f,m)}l=l+1|0}while(1){if((l|0)>=(A|0))break e;if(!(r[W+l>>0]|0)){L=a[t+(l<<2)>>2]|0;qE(l,L,c,n+(a[L+12>>2]<<3)|0,o,a[u>>2]|0,h)}l=l+1|0}}else{l=0;while(1){if((l|0)>=(A|0))break e;W=a[t+(l<<2)>>2]|0;qE(l,W,c,n+(a[W+12>>2]<<3)|0,o,a[u>>2]|0,h);l=l+1|0}}}while(0);L2(t);l=0;while(1){if((l|0)>=(A|0))break;L2(a[s+(l<<4)+4>>2]|0);l=l+1|0}L2(s);iJ(c);L2(h);if(0>1){l=0;while(1){if((l|0)>=(A|0))break A;L=a[n+(l<<3)>>2]|0;W=a[n+(l<<3)+4>>2]|0;a[z>>2]=l;a[z+4>>2]=L;a[z+8>>2]=W;f3(y,99301,z)|0;l=l+1|0}}}else n=0}else n=0}while(0);k=Y;return n|0}function xE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0;G=k;k=k+16|0;n=G;I=qF(A<<3)|0;f=a[i+4>>2]|0;Z=i+28|0;r=(f|0)>0;do{if(!(a[Z>>2]&1))if(r){c=1;C=(A+-1+f|0)/(f|0)|0;break}else{f=~~+p(+ +z(+ +(A|0)));c=1;C=(A+-1+f|0)/(f|0)|0;break}else if(r){c=0;C=f;f=(A+-1+f|0)/(f|0)|0;break}else{f=~~+p(+ +z(+ +(A|0)));c=0;C=f;f=(A+-1+f|0)/(f|0)|0;break}}while(0);if(0){E=a[15712]|0;a[n>>2]=c|0?99196:99206;a[n+4>>2]=C;a[n+8>>2]=f;f3(E,99219,n)|0}v=qF((f<<3)+8|0)|0;g=qF((C<<3)+8|0)|0;E=qF(A*24|0)|0;t=i+8|0;r=0;n=E;while(1){if((r|0)>=(A|0))break;o=+b[e+(r<<5)+8>>3];u=+b[e+(r<<5)+24>>3];h=+((a[t>>2]|0)>>>0);b[n>>3]=+b[e+(r<<5)+16>>3]-+b[e+(r<<5)>>3]+h;b[n+8>>3]=u-o+h;a[n+16>>2]=r;r=r+1|0;n=n+24|0}B=qF(A<<2)|0;r=0;while(1){if((r|0)>=(A|0))break;a[B+(r<<2)>>2]=E+(r*24|0);r=r+1|0}r=a[i+24>>2]|0;if(!r){if(!(a[Z>>2]&64))K4(B,A,4,91)}else{a[47056]=r;K4(B,A,4,90)}d=(c|0)==0;r=0;n=0;t=0;while(1){if((t|0)>=(A|0)){l=0.0;r=0;break}c=a[B+(t<<2)>>2]|0;i=v+(n<<3)|0;h=+b[i>>3];o=+b[c>>3];b[i>>3]=h>o?h:o;i=g+(r<<3)|0;o=+b[i>>3];h=+b[c+8>>3];b[i>>3]=o>h?o:h;if(d){r=r+1|0;i=(r|0)==(C|0);r=i?0:r;n=n+(i&1)|0}else{n=n+1|0;i=(n|0)==(f|0);r=r+(i&1)|0;n=i?0:n}t=t+1|0}while(1){if((r|0)>(f|0)){l=0.0;r=C;break}i=v+(r<<3)|0;h=+b[i>>3];b[i>>3]=l;l=h+l;r=r+1|0}while(1){if((r|0)<=0)break;i=r+-1|0;h=+b[g+(i<<3)>>3];b[g+(r<<3)>>3]=l;l=h+l;r=i}b[g>>3]=l;r=0;n=0;i=0;while(1){if((i|0)>=(A|0))break;c=a[(a[B+(i<<2)>>2]|0)+16>>2]|0;l=+b[e+(c<<5)>>3];s=-l;o=+b[e+(c<<5)+8>>3];h=-o;w=+b[e+(c<<5)+16>>3];u=+b[e+(c<<5)+24>>3];t=a[Z>>2]|0;do{if(!(t&4))if(!(t&8)){l=(s-w+ +b[v+(n<<3)>>3]+ +b[v+(n+1<<3)>>3])*.5;break}else{l=l-w+ +b[v+(n+1<<3)>>3];break}else l=+b[v+(n<<3)>>3]}while(0);a[I+(c<<3)>>2]=~~l;do{if(!(t&16))if(!(t&32)){l=(h-u+ +b[g+(r<<3)>>3]+ +b[g+(r+1<<3)>>3])*.5;break}else{l=+b[g+(r+1<<3)>>3];break}else l=o-u+ +b[g+(r<<3)>>3]}while(0);a[I+(c<<3)+4>>2]=~~l;if(d){r=r+1|0;c=(r|0)==(C|0);r=c?0:r;n=n+(c&1)|0}else{n=n+1|0;c=(n|0)==(f|0);r=r+(c&1)|0;n=c?0:n}i=i+1|0}L2(E);L2(B);L2(v);L2(g);k=G;return I|0}function TE(A,e){A=A|0;e=e|0;var i=0;i=a[47056]|0;A=a[i+(a[(a[A>>2]|0)+16>>2]<<2)>>2]|0;e=a[i+(a[(a[e>>2]|0)+16>>2]<<2)>>2]|0;return((A|0)>(e|0)?1:((A|0)<(e|0))<<31>>31)|0}function jE(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A>>2]|0;e=a[e>>2]|0;r=+b[A>>3]+ +b[A+8>>3];i=+b[e>>3]+ +b[e+8>>3];return(ri)<<31>>31)|0}function SE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0,u=0.0,o=0,h=0,d=0,B=0;B=k;k=k+96|0;h=B+80|0;d=B+48|0;o=B+8|0;s=B;c=(A*100|0)+-1|0;r=+(i<<1|0);w=0.0;u=0.0;i=0;while(1){if((i|0)>=(A|0))break;t=+b[e+(i<<5)+16>>3]-+b[e+(i<<5)>>3]+r;l=+b[e+(i<<5)+24>>3]-+b[e+(i<<5)+8>>3]+r;w=w-t-l;u=u-l*t;i=i+1|0}l=+(c|0);t=w*w-l*4.0*u;if(!(t<0.0)){r=+z(+t);n=l*2.0;f=(r-w)/n;n=(-w-r)/n;i=~~f;i=(i|0)==0?1:i;if(0>2){s=a[15712]|0;L3(99444,27,1,s)|0;b[o>>3]=l;b[o+8>>3]=w;b[o+16>>3]=u;b[o+24>>3]=t;b[o+32>>3]=r;f3(s,99472,o)|0;a[d>>2]=i;b[d+8>>3]=f;a[d+16>>2]=~~n;b[d+24>>3]=n;f3(s,99498,d)|0;b[h>>3]=(f*l+w)*f+u;b[h+8>>3]=(n*l+w)*n+u;f3(s,99520,h)|0}}else{b[s>>3]=t;ao(1,99417,s)|0;i=-1}k=B;return i|0}function PE(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0.0;g=k;k=k+32|0;v=g+16|0;B=g;o=+b[A>>3];h=+b[A+8>>3];w=+b[A+16>>3];u=+b[A+24>>3];d=$V()|0;t=a[f>>2]|0;A=t-r|0;c=a[f+4>>2]|0;l=c-r|0;t=r-~~(o+(o>=0.0?.5:-.5))+t+~~(w+(w>=0.0?.5:-.5))|0;c=r-~~(h+(h>=0.0?.5:-.5))+c+~~(u+(u>=0.0?.5:-.5))|0;if((A|0)>-1)f=(A|0)/(i|0)|0;else f=((A+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)s=(l|0)/(i|0)|0;else s=((l+1|0)/(i|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(i|0)|0;else t=((t+1|0)/(i|0)|0)+-1|0;if((c|0)>-1)l=(c|0)/(i|0)|0;else l=((c+1|0)/(i|0)|0)+-1|0;while(1){if((f|0)>(t|0))break;else A=s;while(1){if((A|0)>(l|0))break;aJ(d,f,A);A=A+1|0}f=f+1|0}c=e+4|0;a[c>>2]=cJ(d)|0;t=tJ(d)|0;s=e+8|0;a[s>>2]=t;C=+(r<<1|0);E=+(i|0);l=~~+p(+((w+C-o)/E));A=~~+p(+((u+C-h)/E));a[e>>2]=A+l;A:do{if(0>2){f=a[15712]|0;a[B>>2]=n;a[B+4>>2]=t;a[B+8>>2]=l;a[B+12>>2]=A;f3(f,99376,B)|0;A=0;while(1){if((A|0)>=(a[s>>2]|0))break A;n=a[c>>2]|0;B=a[n+(A<<3)+4>>2]|0;a[v>>2]=a[n+(A<<3)>>2];a[v+4>>2]=B;f3(f,99403,v)|0;A=A+1|0}}}while(0);iJ(d);k=g;return}function OE(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0.0,U=0.0;R=k;k=k+128|0;z=R+112|0;y=R+104|0;X=R+16|0;N=R;D=R+64|0;M=R+56|0;G=R+40|0;Q=R+96|0;Z=R+88|0;E=R+24|0;C=R+80|0;I=R+72|0;V=a[f+8>>2]|0;Y=a[f+12>>2]|0;L=(A|0)==0?e:A;J=$V()|0;F=e+16|0;m=a[F>>2]|0;v=+b[m+16>>3];W=(a[n>>2]|0)-~~(v+(v>=0.0?.5:-.5))|0;v=+b[m+24>>3];m=(a[n+4>>2]|0)-~~(v+(v>=0.0?.5:-.5))|0;A:do{if((a[f+16>>2]|0)==1){E=$F((vh(e)|0)<<2)|0;A=0;n=cd(e)|0;while(1){if(!n)break;I=n+16|0;a[E+(A<<2)>>2]=a[(a[I>>2]|0)+112>>2];a[(a[I>>2]|0)+112>>2]=0;A=A+1|0;n=bd(e,n)|0}u=W-V|0;o=m-V|0;h=W+V|0;d=m+V|0;w=1;while(1){A=a[F>>2]|0;if((w|0)>(a[A+180>>2]|0))break;s=a[(a[A+184>>2]|0)+(w<<2)>>2]|0;l=a[s+16>>2]|0;v=+b[l+16>>3];A=~~(v+(v>=0.0?.5:-.5));v=+b[l+24>>3];n=~~(v+(v>=0.0?.5:-.5));v=+b[l+32>>3];f=~~(v+(v>=0.0?.5:-.5));v=+b[l+40>>3];l=~~(v+(v>=0.0?.5:-.5));e:do{if((f|0)>(A|0)&(l|0)>(n|0)){A=u+A|0;t=o+n|0;f=h+f|0;c=d+l|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(r|0)|0;else t=((t+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)l=(f|0)/(r|0)|0;else l=((f+1|0)/(r|0)|0)+-1|0;if((c|0)>-1)f=(c|0)/(r|0)|0;else f=((c+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=t;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}A=cd(s)|0;while(1){if(!A)break e;a[(a[A+16>>2]|0)+212>>2]=s;A=bd(s,A)|0}}}while(0);w=w+1|0}d=G+8|0;B=D+4|0;v=+(V|0);g=M+4|0;h=Q+4|0;o=Z+4|0;u=cd(e)|0;while(1){if(!u)break;QR(G,u);U=+b[G>>3];H=+b[d>>3];s=W+~~(U+(U>=0.0?.5:-.5))|0;a[D>>2]=s;w=m+~~(H+(H>=0.0?.5:-.5))|0;a[B>>2]=w;n=u+16|0;A=a[n>>2]|0;e:do{if(!(a[A+212>>2]|0)){a[M>>2]=~~((+b[A+96>>3]+ +b[A+88>>3])*.5+v);a[g>>2]=~~(+b[A+80>>3]*.5+v);a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];AC(Q,y,z);A=a[Q>>2]|0;f=a[h>>2]|0;a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];eC(Z,y,z);l=a[Z>>2]|0;t=a[o>>2]|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break e;a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y);A=_o(L,A)|0}}else{if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break e;if((a[(a[n>>2]|0)+212>>2]|0)!=(a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y)}A=_o(L,A)|0}}}while(0);u=bd(e,u)|0}A=0;n=cd(e)|0;while(1){if(!n)break;a[(a[n+16>>2]|0)+112>>2]=a[E+(A<<2)>>2];A=A+1|0;n=bd(e,n)|0}L2(E)}else{d=E+8|0;B=D+4|0;v=+(V|0);g=M+4|0;h=C+4|0;o=I+4|0;u=cd(e)|0;while(1){if(!u)break A;QR(E,u);H=+b[E>>3];U=+b[d>>3];s=W+~~(H+(H>=0.0?.5:-.5))|0;a[D>>2]=s;w=m+~~(U+(U>=0.0?.5:-.5))|0;a[B>>2]=w;A=a[u+16>>2]|0;a[M>>2]=~~((+b[A+96>>3]+ +b[A+88>>3])*.5+v);a[g>>2]=~~(+b[A+80>>3]*.5+v);a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];AC(C,y,z);A=a[C>>2]|0;f=a[h>>2]|0;a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];eC(I,y,z);l=a[I>>2]|0;t=a[o>>2]|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break;a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y);A=_o(L,A)|0}u=bd(e,u)|0}}}while(0);l=i+4|0;a[l>>2]=cJ(J)|0;t=i+8|0;a[t>>2]=tJ(J)|0;n=a[F>>2]|0;H=+(V<<1|0);U=+(r|0);A=~~+p(+((+b[n+32>>3]+H-+b[n+16>>3])/U));n=~~+p(+((+b[n+40>>3]+H-+b[n+24>>3])/U));a[i>>2]=n+A;A:do{if(0>2){f=a[15712]|0;i=Vh(e)|0;e=a[t>>2]|0;a[N>>2]=i;a[N+4>>2]=e;a[N+8>>2]=A;a[N+12>>2]=n;f3(f,99376,N)|0;A=0;while(1){if((A|0)>=(a[t>>2]|0))break A;e=a[l>>2]|0;N=a[e+(A<<3)+4>>2]|0;a[X>>2]=a[e+(A<<3)>>2];a[X+4>>2]=N;f3(f,99403,X)|0;A=A+1|0}}}while(0);iJ(J);k=R;return}function KE(A,e){A=A|0;e=e|0;return(a[a[e>>2]>>2]|0)-(a[a[A>>2]>>2]|0)|0}function _E(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+32|0;l=c+16|0;t=c;b=a[A+4>>2]|0;n=a[A+8>>2]|0;a[i>>2]=0-(a[r>>2]|0);f=i+4|0;a[f>>2]=0-(a[r+4>>2]|0);A=0;r=b;while(1){if((A|0)>=(n|0))break;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];rJ(e,l);A=A+1|0;r=r+8|0}if(0>1){b=a[15712]|0;e=a[i>>2]|0;i=a[f>>2]|0;a[t>>2]=n;a[t+4>>2]=e;a[t+8>>2]=i;f3(b,99350,t)|0}k=c;return}function qE(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0;c=a[e+12>>2]|0;s=+b[l+(c<<5)>>3];w=+b[l+(c<<5)+8>>3];u=+b[l+(c<<5)+16>>3];k=+b[l+(c<<5)+24>>3];if(!((A|0)==0?(h=+(n<<1|0),o=+(f|0),($E((~~+p(+((h-s+u)/o))|0)/-2|0,(~~+p(+((h-w+k)/o))|0)/-2|0,e,i,r,f,l)|0)!=0):0))t=3;A:do{if((t|0)==3?($E(0,0,e,i,r,f,l)|0)==0:0)if((~~+p(+(u-s))|0)<(~~+p(+(k-w))|0)){c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)<=(t|0)){n=t;break}if($E(t,A,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((n|0)>=(c|0))break;if($E(n,A,e,i,r,f,l)|0)break A;n=n+1|0}while(1){if((A|0)>=(c|0))break;if($E(n,A,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((n|0)<=(t|0))break;if($E(n,A,e,i,r,f,l)|0)break A;n=n+-1|0}while(1){if((A|0)<=0)break;if(!($E(n,A,e,i,r,f,l)|0))A=A+-1|0;else break A}c=c+1|0}}else{c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)>=(c|0)){n=t;break}if($E(A,t,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((n|0)>=(c|0))break;if($E(A,n,e,i,r,f,l)|0)break A;n=n+1|0}while(1){if((A|0)<=(t|0))break;if($E(A,n,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((n|0)<=(t|0))break;if($E(A,n,e,i,r,f,l)|0)break A;n=n+-1|0}while(1){if((A|0)>=0)break;if(!($E(A,n,e,i,r,f,l)|0))A=A+1|0;else break A}c=c+1|0}}}while(0);return}function $E(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0;v=k;k=k+48|0;d=v+32|0;B=v+8|0;h=v;s=i+4|0;u=a[i+8>>2]|0;o=h+4|0;t=a[s>>2]|0;c=0;while(1){if((c|0)>=(u|0)){w=5;break}E=t;g=a[E+4>>2]|0;a[h>>2]=(a[E>>2]|0)+A;a[o>>2]=g+e;a[d>>2]=a[h>>2];a[d+4>>2]=a[h+4>>2];if(nJ(r,d)|0){t=0;break}t=t+8|0;c=c+1|0}if((w|0)==5){i=a[i+12>>2]|0;I=+b[l+(i<<5)>>3];C=+b[l+(i<<5)+8>>3];a[f>>2]=(U(n,A)|0)-~~(I+(I>=0.0?.5:-.5));i=f+4|0;a[i>>2]=(U(n,e)|0)-~~(C+(C>=0.0?.5:-.5));t=a[s>>2]|0;c=0;while(1){if((c|0)>=(u|0))break;g=t;E=a[g+4>>2]|0;a[h>>2]=(a[g>>2]|0)+A;a[o>>2]=E+e;a[d>>2]=a[h>>2];a[d+4>>2]=a[h+4>>2];rJ(r,d);t=t+8|0;c=c+1|0}if(0>1){t=a[15712]|0;g=a[f>>2]|0;E=a[i>>2]|0;a[B>>2]=u;a[B+4>>2]=A;a[B+8>>2]=e;a[B+12>>2]=g;a[B+16>>2]=E;f3(t,99316,B)|0;t=1}else t=1}k=v;return t|0}function AC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[e+4>>2]|0)-(a[i+4>>2]|0)|0;a[A>>2]=(a[e>>2]|0)-(a[i>>2]|0);a[A+4>>2]=r;return}function eC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[i+4>>2]|0)+(a[e+4>>2]|0)|0;a[A>>2]=(a[i>>2]|0)+(a[e>>2]|0);a[A+4>>2]=r;return}function iC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+112|0;I=Q+96|0;C=Q+80|0;d=Q+48|0;B=Q+32|0;Z=Q+16|0;G=Q;w=Q+64|0;b[Z>>3]=+(a[e>>2]|0);v=Z+8|0;b[v>>3]=+(a[e+4>>2]|0);A:do{if((l|0)!=0?(g=A+16|0,s=a[(a[g>>2]|0)+8>>2]|0,(s|0)!=0):0){h=+(r|0);o=+(f|0);u=1.0/+(n|0);w=G+8|0;l=0;while(1){if((l|0)>=(a[s+4>>2]|0))break A;f=a[s>>2]|0;A=a[f+(l*48|0)>>2]|0;e=a[f+(l*48|0)+4>>2]|0;n=a[f+(l*48|0)+8>>2]|0;r=a[f+(l*48|0)+12>>2]|0;s=f+(l*48|0)+16|0;a[d>>2]=a[s>>2];a[d+4>>2]=a[s+4>>2];a[d+8>>2]=a[s+8>>2];a[d+12>>2]=a[s+12>>2];f=f+(l*48|0)+32|0;a[B>>2]=a[f>>2];a[B+4>>2]=a[f+4>>2];a[B+8>>2]=a[f+8>>2];a[B+12>>2]=a[f+12>>2];if(!n){a[Z>>2]=a[A>>2];a[Z+4>>2]=a[A+4>>2];a[Z+8>>2]=a[A+8>>2];a[Z+12>>2]=a[A+12>>2];s=A+16|0;a[G>>2]=a[s>>2];a[G+4>>2]=a[s+4>>2];a[G+8>>2]=a[s+8>>2];a[G+12>>2]=a[s+12>>2];s=2}else{a[Z>>2]=a[d>>2];a[Z+4>>2]=a[d+4>>2];a[Z+8>>2]=a[d+8>>2];a[Z+12>>2]=a[d+12>>2];a[G>>2]=a[A>>2];a[G+4>>2]=a[A+4>>2];a[G+8>>2]=a[A+8>>2];a[G+12>>2]=a[A+12>>2];s=1}t=+b[Z>>3]+h;b[Z>>3]=t;c=+b[v>>3]+o;b[v>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[Z>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[v>>3]=t;t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i);while(1){if((s|0)>=(e|0))break;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];n=A+(s<<4)|0;a[G>>2]=a[n>>2];a[G+4>>2]=a[n+4>>2];a[G+8>>2]=a[n+8>>2];a[G+12>>2]=a[n+12>>2];t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i);s=s+1|0}if(r|0){a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[G>>2]=a[B>>2];a[G+4>>2]=a[B+4>>2];a[G+8>>2]=a[B+8>>2];a[G+12>>2]=a[B+12>>2];t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i)}l=l+1|0;s=a[(a[g>>2]|0)+8>>2]|0}}else E=4}while(0);if((E|0)==4){QR(w,a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0);a[G>>2]=a[w>>2];a[G+4>>2]=a[w+4>>2];a[G+8>>2]=a[w+8>>2];a[G+12>>2]=a[w+12>>2];t=+b[G>>3]+ +(r|0);b[G>>3]=t;s=G+8|0;c=+b[s>>3]+ +(f|0);b[s>>3]=c;if(!(t>=0.0))t=(t+1.0)/+(n|0)+-1.0;else t=t/+(n|0);b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)/+(n|0)+-1.0;else t=c/+(n|0);b[s>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i)}k=Q;return}function rC(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((A|0)<1)A=0;else switch(a[i+16>>2]|0){case 4:{A=xE(A,e,i)|0;break A}case 3:{A=fC(A,e,i)|0;break A}default:{A=0;break A}}}while(0);return A|0}function fC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+80|0;n=w+64|0;f=w+24|0;s=w+8|0;r=w;l=w+56|0;c=i+8|0;b=SE(A,e,a[c>>2]|0)|0;if(0){t=a[15712]|0;a[r>>2]=b;f3(t,99285,r)|0}A:do{if((b|0)>=1){a[l+4>>2]=0;a[l>>2]=0;t=qF(A<<4)|0;i=0;while(1){if((i|0)>=(A|0))break;a[t+(i<<4)+12>>2]=i;u=e+(i<<5)|0;r=a[c>>2]|0;a[f>>2]=a[u>>2];a[f+4>>2]=a[u+4>>2];a[f+8>>2]=a[u+8>>2];a[f+12>>2]=a[u+12>>2];a[f+16>>2]=a[u+16>>2];a[f+20>>2]=a[u+20>>2];a[f+24>>2]=a[u+24>>2];a[f+28>>2]=a[u+28>>2];a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];PE(f,t+(i<<4)|0,b,r,n,195059);i=i+1|0}f=qF(A<<2)|0;i=0;while(1){if((i|0)>=(A|0))break;a[f+(i<<2)>>2]=t+(i<<4);i=i+1|0}K4(f,A,4,89);n=$V()|0;i=qF(A<<3)|0;r=0;while(1){if((r|0)>=(A|0))break;u=a[f+(r<<2)>>2]|0;qE(r,u,n,i+(a[u+12>>2]<<3)|0,b,a[c>>2]|0,e);r=r+1|0}L2(f);r=0;while(1){if((r|0)>=(A|0))break;L2(a[t+(r<<4)+4>>2]|0);r=r+1|0}L2(t);iJ(n);if(0>1){f=a[15712]|0;r=0;while(1){if((r|0)>=(A|0))break A;e=a[i+(r<<3)>>2]|0;u=a[i+(r<<3)+4>>2]|0;a[s>>2]=r;a[s+4>>2]=e;a[s+8>>2]=u;f3(f,99301,s)|0;r=r+1|0}}}else i=0}while(0);k=w;return i|0}function aC(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0,d=0,B=0,v=0;A:do{if((A|0)<1)f=0-A|0;else{B=(r|0)==0;h=(f|0)==0;t=0;while(1){if((t|0)==(A|0)){f=0;break A}d=a[e+(t<<2)>>2]|0;n=B?d:r;c=a[i+(t<<3)>>2]|0;s=a[i+(t<<3)+4>>2]|0;w=+(c|0);u=w*.013888888888888888;k=+(s|0);o=k*.013888888888888888;l=cd(d)|0;while(1){if(!l)break;f=a[l+16>>2]|0;v=a[f+132>>2]|0;b[v>>3]=+b[v>>3]+u;v=v+8|0;b[v>>3]=+b[v>>3]+o;v=f+16|0;b[v>>3]=+b[v>>3]+w;v=f+24|0;b[v>>3]=+b[v>>3]+k;f=a[f+108>>2]|0;if(f|0){v=f+56|0;b[v>>3]=+b[v>>3]+w;v=f+64|0;b[v>>3]=+b[v>>3]+k}e:do{if(!h){f=Oo(n,l)|0;while(1){if(!f)break e;nC(f,c,s);f=_o(n,f)|0}}}while(0);l=bd(d,l)|0}lC(d,c,s);t=t+1|0}}}while(0);return f|0}function nC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0.0,c=0,s=0.0,w=0,u=0;r=a[A+16>>2]|0;A=a[r+96>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+108>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+100>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+104>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}w=a[r+8>>2]|0;A:do{if(w|0){s=+(e|0);t=+(i|0);e=a[w+4>>2]|0;A=0;while(1){if((A|0)>=(e|0))break A;c=a[w>>2]|0;i=a[c+(A*48|0)>>2]|0;f=a[c+(A*48|0)+4>>2]|0;n=a[c+(A*48|0)+8>>2]|0;l=a[c+(A*48|0)+12>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;u=i+(r<<4)|0;b[u>>3]=+b[u>>3]+s;u=i+(r<<4)+8|0;b[u>>3]=+b[u>>3]+t;r=r+1|0}if(n|0){u=c+(A*48|0)+16|0;b[u>>3]=+b[u>>3]+s;u=c+(A*48|0)+24|0;b[u>>3]=+b[u>>3]+t}if(l|0){u=c+(A*48|0)+32|0;b[u>>3]=+b[u>>3]+s;u=c+(A*48|0)+40|0;b[u>>3]=+b[u>>3]+t}A=A+1|0}}}while(0);return}function lC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0,u=0.0,k=0;t=A+16|0;A=a[t>>2]|0;k=A+16|0;w=A+24|0;f=A+32|0;A=A+40|0;n=+(e|0);s=+b[f>>3]+n;l=+(i|0);u=+b[w>>3]+l;c=+b[A>>3]+l;b[k>>3]=+b[k>>3]+n;b[w>>3]=u;b[f>>3]=s;b[A>>3]=c;A=a[t>>2]|0;f=a[A+12>>2]|0;if((f|0)!=0?(r[f+81>>0]|0)!=0:0){k=f+56|0;b[k>>3]=+b[k>>3]+n;f=f+64|0;b[f>>3]=+b[f>>3]+l;f=1}else f=1;while(1){if((f|0)>(a[A+180>>2]|0))break;lC(a[(a[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=a[t>>2]|0}return}function tC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=pE(A,e,i,r)|0;if(!f)A=1;else{A=aC(A,e,f,i,a[r+12>>2]|0)|0;L2(f)}return A|0}function cC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+32|0;u=o;w=tC(A,e,i,r)|0;if(!w){xR(i);s=(a[i+16>>2]|0)+16|0;a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];a[u+16>>2]=a[s+16>>2];a[u+20>>2]=a[s+20>>2];a[u+24>>2]=a[s+24>>2];a[u+28>>2]=a[s+28>>2];f=u+8|0;n=u+16|0;l=u+24|0;r=0;while(1){if((r|0)>=(A|0))break;c=a[(a[e+(r<<2)>>2]|0)+16>>2]|0;t=a[c+180>>2]|0;c=c+184|0;i=1;while(1){if((i|0)>(t|0))break;d=(a[(a[(a[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16|0;b[u>>3]=+b[(+b[u>>3]<+b[d>>3]?u:d)>>3];d=a[(a[(a[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;h=d+16|0;b[f>>3]=+b[(+b[f>>3]<+b[d+24>>3]?u:h)+8>>3];b[n>>3]=+b[(+b[n>>3]>+b[d+32>>3]?u:h)+16>>3];b[l>>3]=+b[(+b[l>>3]>+b[d+40>>3]?u:h)+24>>3];i=i+1|0}r=r+1|0}a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[s+16>>2]=a[u+16>>2];a[s+20>>2]=a[u+20>>2];a[s+24>>2]=a[u+24>>2];a[s+28>>2]=a[u+28>>2]}k=o;return w|0}function bC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;n=k;k=k+16|0;f=n;if(!r)vA(99534,99540,1400,99547);i=sC(A,i,i)|0;a[r+8>>2]=i;if(0){l=a[15712]|0;a[f>>2]=i;f3(l,99559,f)|0}a[r+12>>2]=0;a[r+20>>2]=0;wC(A,e,r)|0;k=n;return a[r+16>>2]|0}function sC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;f=t+4|0;n=po(A,99689)|0;A:do{if(n){a[l>>2]=f;l=(J3(n,137395,l)|0)==1;A=a[f>>2]|0;if(l&(A|0)>-1)e=A;else{switch(r[n>>0]|0){case 84:case 116:break;default:break A}e=i}}}while(0);k=t;return e|0}function wC(A,e,i){A=A|0;e=e|0;i=i|0;return uC(po(A,99572)|0,e,i)|0}function uC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+64|0;d=g+40|0;h=g+32|0;v=g+24|0;B=g+16|0;s=g+8|0;t=g;n=g+48|0;l=g+44|0;if(!i)vA(99534,99540,1292,99581);u=i+28|0;a[u>>2]=0;o=i+16|0;a[o>>2]=e;w=i+4|0;a[w>>2]=0;a[i+24>>2]=0;A:do{if(A|0?(f=r[A>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(Z1(A,99599,5)|0)){a[o>>2]=4;s=kC(A+5|0,i)|0;a[t>>2]=l;s=(J3(s,137395,t)|0)>0;e=a[l>>2]|0;if(!(s&(e|0)>0))break A;a[w>>2]=e;break A}else{if(Z1(A,99605,6)|0)break A;a[o>>2]=5;a[s>>2]=n;s=(J3(A+5|0,99612,s)|0)>0;E=+c[n>>2];c[i>>2]=s&E>0.0?E:1.0;break A}case 99:{if(f<<24>>24!=99)break A;if(A1(A,108006)|0)break A;a[o>>2]=1;break A}case 103:{if(f<<24>>24!=103)break A;if(A1(A,111494)|0)break A;a[o>>2]=3;break A}case 110:{if(f<<24>>24!=110)break A;if(A1(A,111481)|0)break A;a[o>>2]=2;break A}default:break A}}while(0);if(0){e=a[15712]|0;L3(99615,11,1,e)|0;a[B>>2]=oC(a[o>>2]|0)|0;f3(e,99627,B)|0;if((a[o>>2]|0)==5){b[v>>3]=+c[i>>2];f3(e,99640,v)|0}a[h>>2]=a[w>>2];f3(e,99653,h)|0;a[d>>2]=a[u>>2];f3(e,99666,d)|0}k=g;return a[o>>2]|0}function kC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;A:do{if((r[A>>0]|0)==95){f=e+28|0;i=1;while(1){A=A+1|0;e:while(1){if(!i)break A;e=r[A>>0]|0;if(!(e<<24>>24))break A;switch(e<<24>>24|0){case 99:{n=10;break e}case 105:{n=9;break e}case 117:{n=11;break e}case 116:{n=12;break e}case 98:{e=32;break e}case 108:{n=7;break e}case 114:{n=8;break e}default:i=0}}if((n|0)==7){n=0;e=4}else if((n|0)==8){n=0;e=8}else if((n|0)==9){n=0;e=64}else if((n|0)==10){n=0;e=1}else if((n|0)==11){n=0;e=2}else if((n|0)==12){n=0;e=16}a[f>>2]=a[f>>2]|e}}}while(0);return A|0}function oC(A){A=A|0;switch(A|0){case 1:{A=108006;break}case 2:{A=111481;break}case 3:{A=111494;break}case 4:{A=99599;break}case 5:{A=99605;break}default:A=99679}return A|0}function hC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+96|0;b=w;s=w+80|0;do{if(A){if(!r){r=W2(1,20)|0;a[r+4>>2]=i>>>0>80?i:80}i=a[r>>2]|0;c=a[r+4>>2]|0;if(!i){l=100;i=A;t=W2(100,c)|0}else{l=i+100|0;t=y2(a[r+8>>2]|0,U(l,c)|0)|0;Y6(t+(U(c,i)|0)|0,0,c*100|0)|0;i=A}while(1){i=dC(b,i,e,s)|0;if(!i)break;A=a[r>>2]|0;f=l<<1;n=U(l,c)|0;if((A|0)==(l|0)){t=y2(t,U(f,c)|0)|0;Y6(t+n|0,0,n|0)|0;A=a[r>>2]|0}else f=l;A=t+(U(A,c)|0)|0;n=b;l=A+80|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0));a[r>>2]=(a[r>>2]|0)+1;l=f}if(a[s>>2]|0){s=r+16|0;a[s>>2]=a[s>>2]|1}i=a[r>>2]|0;if(!i){L2(t);L2(r);r=0;break}else{a[r+8>>2]=y2(t,U(i,c)|0)|0;break}}}while(0);k=w;return r|0}function dC(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+80|0;l=c+64|0;t=c;a[f>>2]=0;do{n=r[e>>0]|0;e=e+1|0}while((Q1(n)|0)!=0);A:do{switch(n|0){case 69:{a[A>>2]=0;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i>>2];break}case 101:{a[A>>2]=1;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i>>2];break}case 80:{a[A>>2]=2;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+4>>2];break}case 112:{a[A>>2]=3;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+4>>2];break}case 98:{a[A>>2]=4;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+8>>2];break}case 66:{a[A>>2]=5;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+8>>2];break}case 99:{e=gC(e,l)|0;if(!e){a[f>>2]=1;e=0;break A}n=EC(a[l>>2]|0,t)|0;a[l>>2]=n;if(!n){a[f>>2]=1;e=0;break A}if(!(a[t>>2]|0)){a[A>>2]=9;a[A+8>>2]=a[t+8>>2];if(!i)break A;a[A+72>>2]=a[i+24>>2];break A}else{a[A>>2]=14;f=A+8|0;n=t;l=f+64|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));if(!i)break A;a[A+72>>2]=a[i+40>>2];break A}}case 67:{e=gC(e,l)|0;if(!e){a[f>>2]=1;e=0;break A}n=EC(a[l>>2]|0,t)|0;a[l>>2]=n;if(!n){a[f>>2]=1;e=0;break A}if(!(a[t>>2]|0)){a[A>>2]=8;a[A+8>>2]=a[t+8>>2];if(!i)break A;a[A+72>>2]=a[i+20>>2];break A}else{a[A>>2]=13;f=A+8|0;n=t;l=f+64|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));if(!i)break A;a[A+72>>2]=a[i+40>>2];break A}}case 76:{a[A>>2]=6;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+12>>2];break}case 84:{a[A>>2]=7;e=CC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=CC(e,A+16|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=IC(e,A+24|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=CC(e,A+32|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+40|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+16>>2];break}case 70:{a[A>>2]=10;e=CC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+16|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+28>>2];break}case 83:{a[A>>2]=11;e=gC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+32>>2];break}case 73:{a[A>>2]=12;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+40|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+36>>2];break}case 116:{a[A>>2]=15;e=ZC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+44>>2];break}case 0:{e=0;break}default:{a[f>>2]=1;e=0}}}while(0);k=c;return e|0}function BC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;b[e>>3]=+A8(A,r);f=a[r>>2]|0;if(((f|0)!=(A|0)?(b[e+8>>3]=+A8(f,r),n=a[r>>2]|0,(f|0)!=(n|0)):0)?(b[e+16>>3]=+A8(n,r),i=a[r>>2]|0,(n|0)!=(i|0)):0){b[e+24>>3]=+A8(i,r);A=a[r>>2]|0;A=(i|0)==(A|0)?0:A}else A=0;k=l;return A|0}function vC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+4|0;n=c;A=GC(A,t)|0;do{if(A){i=a[t>>2]|0;l=W2(i,24)|0;a[e>>2]=i;r=l;f=0;while(1){if((f|0)>=(i|0)){i=9;break}b[r>>3]=+A8(A,n);i=a[n>>2]|0;if((A|0)==(i|0)){i=5;break}b[r+8>>3]=+A8(i,n);A=a[n>>2]|0;if((i|0)==(A|0)){i=7;break}b[r+16>>3]=0.0;r=r+24|0;i=a[e>>2]|0;f=f+1|0}if((i|0)==5){a[t>>2]=f;L2(l);A=0;break}else if((i|0)==7){a[t>>2]=f;L2(l);A=0;break}else if((i|0)==9){a[t>>2]=f;a[e+4>>2]=l;break}}else A=0}while(0);k=c;return A|0}function gC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;A=GC(A,t)|0;f=a[t>>2]|0;do{if(!((A|0)==0|(f|0)<1)){while(1){l=r[A>>0]|0;i=l<<24>>24==0;if(i^l<<24>>24!=45)A=A+1|0;else break}if(!i){l=W2(f+1|0,1)|0;n=l;i=f;while(1){A=A+1|0;if((i|0)<=0){i=9;break}i=r[A>>0]|0;if(!(i<<24>>24)){i=8;break}r[n>>0]=i;i=(a[t>>2]|0)+-1|0;a[t>>2]=i;n=n+1|0}if((i|0)==8){L2(l);A=0;break}else if((i|0)==9){r[n>>0]=0;a[e>>2]=l;break}}else A=0}else A=0}while(0);k=c;return A|0}function EC(A,e){A=A|0;e=e|0;var i=0;i=r[A>>0]|0;switch(i|0){case 91:{A=QC(A+1|0,e)|0;break}case 40:{A=mC(A+1|0,e)|0;break}case 47:case 35:{a[e>>2]=0;a[e+8>>2]=A;break}default:if(!(V1(i)|0))A=0;else{a[e>>2]=0;a[e+8>>2]=A}}return A|0}function CC(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0;f=k;k=k+16|0;i=f;r=+A8(A,i);i=a[i>>2]|0;if((i|0)==(A|0))i=0;else b[e>>3]=r;k=f;return i|0}function IC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;A=GC(A,r)|0;r=a[r>>2]|0;a[e>>2]=(r|0)<0?0:r|0?2:1;k=i;return A|0}function ZC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[e>>2]=m1(A,r,10)|0;e=a[r>>2]|0;k=i;return((e|0)==(A|0)?0:e)|0}function GC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[e>>2]=n3(A,r,10)|0;e=a[r>>2]|0;k=i;return((e|0)==(A|0)?0:e)|0}function QC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0;u=k;k=k+16|0;s=u;a[e>>2]=1;w=e+8|0;n=CC(A,w)|0;do{if(((((n|0)!=0?(l=CC(n,e+16|0)|0,(l|0)!=0):0)?(r=CC(l,e+24|0)|0,(r|0)!=0):0)?(f=CC(r,e+32|0)|0,(f|0)!=0):0)?(t=e+40|0,i=GC(f,t)|0,(i|0)!=0):0){e=a[t>>2]|0;f=W2(e,8)|0;r=0;while(1){if((r|0)>=(e|0)){i=13;break}i=CC(i,s)|0;if(!i){i=9;break}c[f+(r<<3)>>2]=+b[s>>3];i=gC(i,f+(r<<3)+4|0)|0;if(!i){i=12;break}r=r+1|0;e=a[t>>2]|0}if((i|0)==9){L2(f);A=0;break}else if((i|0)==12){L2(f);A=0;break}else if((i|0)==13){a[w+36>>2]=f;break}}else A=0}while(0);k=u;return A|0}function mC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;a[e>>2]=2;t=CC(A,e+8|0)|0;do{if(((((((t|0)!=0?(s=CC(t,e+16|0)|0,(s|0)!=0):0)?(r=CC(s,e+24|0)|0,(r|0)!=0):0)?(f=CC(r,e+32|0)|0,(f|0)!=0):0)?(n=CC(f,e+40|0)|0,(n|0)!=0):0)?(l=CC(n,e+48|0)|0,(l|0)!=0):0)?(u=e+56|0,i=GC(l,u)|0,(i|0)!=0):0){r=a[u>>2]|0;n=W2(r,8)|0;f=0;while(1){if((f|0)>=(r|0)){i=15;break}i=CC(i,w)|0;if(!i){i=11;break}c[n+(f<<3)>>2]=+b[w>>3];i=gC(i,n+(f<<3)+4|0)|0;if(!i){i=14;break}f=f+1|0;r=a[u>>2]|0}if((i|0)==11){L2(n);A=0;break}else if((i|0)==14){L2(n);A=0;break}else if((i|0)==15){a[e+60>>2]=n;break}}else A=0}while(0);k=o;return A|0}function LC(A,e,i){A=A|0;e=e|0;i=i|0;return hC(A,e,i,0)|0}function WC(A){A=A|0;return LC(A,0,0)|0}function yC(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=a[A+12>>2]|0;if(A|0){f=a[A+8>>2]|0;n=A+4|0;l=(r|0)==0;e=0;while(1){if((e|0)>=(a[A>>2]|0))break;i=f+(U(a[n>>2]|0,e)|0)|0;if(!l)F5[r&127](i);zC(i);e=e+1|0}L2(f);L2(A)}return}function zC(A){A=A|0;switch(a[A>>2]|0){case 3:case 2:{L2(a[A+8+4>>2]|0);break}case 5:case 4:{L2(a[A+8+4>>2]|0);break}case 6:{L2(a[A+8+4>>2]|0);break}case 7:{L2(a[A+40>>2]|0);break}case 9:case 8:{L2(a[A+8>>2]|0);break}case 14:case 13:{YC(A+8|0);break}case 10:{L2(a[A+16>>2]|0);break}case 11:{L2(a[A+8>>2]|0);break}case 12:{L2(a[A+40>>2]|0);break}default:{}}return}function YC(A){A=A|0;var e=0,i=0,r=0;switch(a[A>>2]|0){case 1:{r=A+40|0;e=A+8+36|0;A=0;while(1){i=a[e>>2]|0;if((A|0)>=(a[r>>2]|0))break;L2(a[i+(A<<3)+4>>2]|0);A=A+1|0}L2(i);break}case 2:{r=A+56|0;i=A+60|0;A=0;while(1){e=a[i>>2]|0;if((A|0)>=(a[r>>2]|0))break;L2(a[e+(A<<3)+4>>2]|0);A=A+1|0}L2(e);break}default:{}}return}function DC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;b=u+4|0;w=u;a[e>>2]=0;a[i>>2]=(Ih(Id(A)|0)|0)!=0&1;f=a[47184]|0;A:do{if(f|0?(l=Uo(A,f)|0,t=r[l>>0]|0,t<<24>>24):0){f=20388;while(1){n=a[f>>2]|0;if(!n)break A;if(t<<24>>24==(r[n>>0]|0)?(A1(l,n)|0)==0:0)break;f=f+12|0}a[e>>2]=a[f+4>>2];a[i>>2]=a[f+8>>2]}}while(0);f=a[47195]|0;if((f|0?(a[i>>2]|0)==1:0)?(c=Uo(A,f)|0,r[c>>0]|0):0)MC(c,i);f=a[47196]|0;if((f|0?(a[e>>2]|0)==1:0)?(s=Uo(A,f)|0,r[s>>0]|0):0)MC(s,e);if(r[(a[A+16>>2]|0)+153>>0]|0){c=A+-48|0;t=Id(a[((a[A>>2]&3|0)==2?A:c)+40>>2]|0)|0;s=a[A>>2]&3;DC(th(t,a[((s|0)==2?A:c)+40>>2]|0,a[((s|0)==3?A:A+48|0)+40>>2]|0,0,0)|0,b,w);a[i>>2]=a[b>>2]|a[i>>2];a[e>>2]=a[w>>2]|a[e>>2]}k=u;return}function MC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;s=u;b=u+4|0;c=0;i=0;A:while(1){a[e>>2]=i;n=(c|0)<4;l=(c|0)==3;t=(c|0)==0;while(1){if(!(n&(r[A>>0]|0)!=0))break A;a[b>>2]=0;f=FC(A,b)|0;i=a[b>>2]|0;if(!i){w=5;break A}A=(i|0)==8;if(!(l&A)){if(!(t&A))break;if(r[f>>0]|0)break}a[b>>2]=0;A=f}i=a[e>>2]|i<<(c<<3);c=c+1|0;A=f}if((w|0)==5){a[s>>2]=A;ao(0,99694,s)|0}k=u;return}function FC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;r=f;a[r>>2]=0;i=VC(A,20448,r)|0;if((i|0)==(A|0)){while(1){i=VC(A,20464,r)|0;if((A|0)==(i|0))break;else A=i}i=VC(A,20512,r)|0}A=a[r>>2]|0;if((A|0)!=0&(A&15|0)==0){A=A|1;a[r>>2]=A}a[e>>2]=a[e>>2]|A;k=f;return i|0}function VC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;while(1){r=a[e>>2]|0;if(!r)break;f=S2(r)|0;if(!(Z1(A,r,f)|0)){n=4;break}e=e+8|0}if((n|0)==4){a[i>>2]=a[i>>2]|a[e+4>>2];A=A+f|0}return A|0}function JC(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0;n=0;i=0.0;while(1){if((n|0)==4)break;f=e>>(n<<3)&15;r=1400;while(1){if(!(a[r+16>>2]|0))break;if((f|0)==(a[r>>2]|0)){l=6;break}r=r+24|0}if((l|0)==6){l=0;i=+b[r+8>>3]+i}n=n+1|0}return+(i*10.0*+oR(A,a[47188]|0,1.0,0.0))}function NC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0,w=0.0,u=0,o=0;o=k;k=k+96|0;s=o+80|0;u=o;c=f>4.0?f*.0875:.35;l=+b[i+8>>3];w=l*c;t=+b[i>>3];c=t*c;r=+b[e>>3];t=r+t;b[s>>3]=t;f=+b[e+8>>3];l=l+f;b[s+8>>3]=l;i=u+64|0;if(!(n&32)){a[i>>2]=a[s>>2];a[i+4>>2]=a[s+4>>2];a[i+8>>2]=a[s+8>>2];a[i+12>>2]=a[s+12>>2];a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];s=u+32|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];f=l;r=t}else{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];e=u+32|0;a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2]}b[u+16>>3]=r+w;b[u+24>>3]=f-c;b[u+48>>3]=r-w;b[u+56>>3]=f+c;do{if(!(n&64))if(!(n&128)){ar(A,u+16|0,3,n>>>4&1^1);break}else{ar(A,u+32|0,3,n>>>4&1^1);break}else ar(A,u,3,n>>>4&1^1)}while(0);k=o;return}function XC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0;I=k;k=k+160|0;w=I+144|0;C=I;h=r*4.0;Z=(n&32|0)==0;h=!(h1.0)|Z?0.0:(f+-1.0)*.05/r;g=+b[i+8>>3];d=-g;E=h*d;v=+b[i>>3];h=v*h;d=B*d;B=v*B;o=+b[e>>3];r=o+v;b[w>>3]=r;u=+b[e+8>>3];f=g+u;b[w+8>>3]=f;v=v*.5+o;g=g*.5+u;i=C+128|0;if(Z){a[i>>2]=a[w>>2];a[i+4>>2]=a[w+4>>2];a[i+8>>2]=a[w+8>>2];a[i+12>>2]=a[w+12>>2];a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];Z=C+64|0;a[Z>>2]=a[e>>2];a[Z+4>>2]=a[e+4>>2];a[Z+8>>2]=a[e+8>>2];a[Z+12>>2]=a[e+12>>2];l=u;t=o;c=u;s=o;f=u;r=o}else{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[C>>2]=a[e>>2];a[C+4>>2]=a[e+4>>2];a[C+8>>2]=a[e+8>>2];a[C+12>>2]=a[e+12>>2];Z=C+64|0;a[Z>>2]=a[w>>2];a[Z+4>>2]=a[w+4>>2];a[Z+8>>2]=a[w+8>>2];a[Z+12>>2]=a[w+12>>2];l=f+B;t=r+d;c=f-B;s=r-d}b[C+16>>3]=r-E;b[C+24>>3]=f-h;b[C+32>>3]=v-d;b[C+40>>3]=g-B;b[C+48>>3]=s;b[C+56>>3]=c;b[C+80>>3]=t;b[C+88>>3]=l;b[C+96>>3]=v+d;b[C+104>>3]=g+B;b[C+112>>3]=r+E;b[C+120>>3]=f+h;do{if(!(n&64))if(!(n&128)){ar(A,C,9,1);break}else{ar(A,C+48|0,6,1);break}else ar(A,C,6,1)}while(0);k=I;return}function RC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0;h=k;k=k+64|0;o=h;v=+b[i+8>>3];B=+b[i>>3];c=+b[e>>3];r=c+B;s=+b[e+8>>3];f=s+v;l=c+B*.2;t=s+v*.2;c=c+B*.6;s=s+v*.6;b[o>>3]=l-v;b[o+8>>3]=t+B;w=o+16|0;b[w>>3]=l+v;u=o+24|0;b[u>>3]=t-B;b[o+32>>3]=c+v;b[o+40>>3]=s-B;b[o+48>>3]=c-v;b[o+56>>3]=s+B;if(!(n&64)){if(n&128|0){i=2;n=1;d=3}}else{i=3;n=0;d=3}if((d|0)==3){b[o+(n<<4)>>3]=l;b[o+(n<<4)+8>>3]=t;b[o+(i<<4)>>3]=c;b[o+(i<<4)+8>>3]=s}ar(A,o,4,1);a[o>>2]=a[e>>2];a[o+4>>2]=a[e+4>>2];a[o+8>>2]=a[e+8>>2];a[o+12>>2]=a[e+12>>2];b[w>>3]=r;b[u>>3]=f;tr(A,o,2);k=h;return}function HC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0;u=k;k=k+64|0;w=u;t=+b[i+8>>3];d=t*-.4;l=+b[i>>3];h=l*.4;v=+b[e>>3];r=v+l*.8;B=+b[e+8>>3];f=B+t*.8;l=v+l;t=B+t;b[w>>3]=v+d;c=w+8|0;b[c>>3]=B+h;i=w+16|0;b[i>>3]=v-d;s=w+24|0;b[s>>3]=B-h;b[w+32>>3]=r-d;b[w+40>>3]=f-h;b[w+48>>3]=r+d;b[w+56>>3]=f+h;if(!(n&64)){if(n&128|0){a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];i=2;o=5}}else{a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];i=3;o=5}if((o|0)==5){b[w+(i<<4)>>3]=r;b[w+(i<<4)+8>>3]=f}ar(A,w,4,n>>>4&1^1);b[w>>3]=r;b[c>>3]=f;b[w+16>>3]=l;b[s>>3]=t;tr(A,w,2);k=u;return}function pC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0;t=k;k=k+80|0;l=t;w=+b[i+8>>3];c=w*-.3333333333333333;o=+b[i>>3];f=o*.3333333333333333;h=+b[e>>3];s=h+o*.5;u=+b[e+8>>3];r=u+w*.5;i=l+64|0;b[l+64>>3]=h+o;b[l+72>>3]=u+w;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];b[l+16>>3]=s+c;b[l+24>>3]=r+f;i=l+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[l+48>>3]=s-c;b[l+56>>3]=r-f;do{if(!(n&64)){i=n>>>4&1^1;if(!(n&128)){ar(A,l,4,i);break}else{ar(A,l,3,i);break}}else ar(A,i,3,n>>>4&1^1)}while(0);k=t;return}function UC(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var n=0,l=0,t=0.0,c=0.0,s=0.0;n=k;k=k+32|0;l=n;c=+b[i>>3];f=+b[i+8>>3];r=+z(+(f*f+c*c))*.5;s=+b[e>>3];c=c*.5;b[l>>3]=s+c-r;t=+b[e+8>>3];f=f*.5;b[l+8>>3]=t-r+f;b[l+16>>3]=s+r+c;b[l+24>>3]=t+r+f;fr(A,l,2,a>>>4&1^1);k=n;return}function xC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0;v=k;k=k+112|0;h=v+48|0;d=v+16|0;B=v;w=f>4.0?f*.125:.5;o=+b[e>>3];u=+b[i>>3];l=+b[e+8>>3];s=+b[i+8>>3];r=s*w;f=u*w;a[d>>2]=a[e>>2];a[d+4>>2]=a[e+4>>2];a[d+8>>2]=a[e+8>>2];a[d+12>>2]=a[e+12>>2];b[d+16>>3]=u+o;b[d+24>>3]=s+l;b[h>>3]=w*(u-s)+o;t=w*(s+u);c=t+l;b[h+8>>3]=c;b[h+48>>3]=t+o;l=w*(s-u)+l;b[h+56>>3]=l;u=r*-.95;s=u+f+o;w=f*1.3333333333333333;if(!(n&32)){r=r*1.3333333333333333;t=f*-.33333333333333326;l=l-r;f=c-r;r=s-w}else{r=r*1.3333333333333333;t=f*2.333333333333333;l=l+r;f=c+r;r=s+w}b[h+16>>3]=r;b[h+24>>3]=f;b[h+32>>3]=t-u+o;b[h+40>>3]=l;tr(A,d,2);if(!(n&64)){if(n&128|0)mR(B,h,3,.5,h,0)}else mR(B,h,3,.5,0,h);lr(A,h,4,0,0,0);k=v;return}function TC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0;n=k;k=k+32|0;l=n;r=+b[i>>3]+ +b[e>>3];f=+b[i+8>>3]+ +b[e+8>>3];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];b[l+16>>3]=r;b[l+24>>3]=f;tr(A,l,2);k=n;return}function jC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;w=k;k=k+80|0;t=w+72|0;c=w+8|0;s=w;l=+JC(A,n);l=l*l;b[s>>3]=l;a[f+12>>2]=n;n=f+32|0;A=r+3|0;f=e+(A<<4)|0;a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];if((r|0)>(i|0)?(u=+b[e+(r<<4)>>3]-+b[f>>3],o=+b[e+(r<<4)+8>>3]-+b[e+(A<<4)+8>>3],o*o+u*u>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];h=c+32|0;A=e+(r+1<<4)|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];f=c+16|0;i=e+(r+2<<4)|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[c>>2]=a[n>>2];a[c+4>>2]=a[n+4>>2];a[c+8>>2]=a[n+8>>2];a[c+12>>2]=a[n+12>>2];a[t>>2]=c;a[t+4>>2]=s;hX(t,92,c,1);a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];a[A>>2]=a[h>>2];a[A+4>>2]=a[h+4>>2];a[A+8>>2]=a[h+8>>2];a[A+12>>2]=a[h+12>>2];a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2];s=e+(r+3<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];k=w;return r|0}function SC(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[A>>2]|0;i=+b[e>>3]-+b[f>>3];r=+b[e+8>>3]-+b[f+8>>3];return r*r+i*i<=+b[a[A+4>>2]>>3]|0}function PC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0;u=k;k=k+80|0;c=u+72|0;s=u+8|0;w=u;t=+JC(A,n);t=t*t;b[w>>3]=t;a[f+8>>2]=n;f=f+16|0;A=e+(i<<4)|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];if(!((r|0)>(i|0)?(l=i+3|0,o=+b[A>>3]-+b[e+(l<<4)>>3],h=+b[e+(i<<4)+8>>3]-+b[e+(l<<4)+8>>3],h*h+o*o>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];n=s+16|0;i=e+(l+2<<4)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];d=s+32|0;A=e+(l+1<<4)|0;a[d>>2]=a[A>>2];a[d+4>>2]=a[A+4>>2];a[d+8>>2]=a[A+8>>2];a[d+12>>2]=a[A+12>>2];B=s+48|0;a[B>>2]=a[f>>2];a[B+4>>2]=a[f+4>>2];a[B+8>>2]=a[f+8>>2];a[B+12>>2]=a[f+12>>2];a[c>>2]=B;a[c+4>>2]=w;hX(c,92,s,0);w=e+(l<<4)|0;a[w>>2]=a[B>>2];a[w+4>>2]=a[B+4>>2];a[w+8>>2]=a[B+8>>2];a[w+12>>2]=a[B+12>>2];a[A>>2]=a[d>>2];a[A+4>>2]=a[d+4>>2];a[A+8>>2]=a[d+8>>2];a[A+12>>2]=a[d+12>>2];a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[r>>2]=a[s>>2];a[r+4>>2]=a[s+4>>2];a[r+8>>2]=a[s+8>>2];a[r+12>>2]=a[s+12>>2];k=u;return l|0}function OC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0.0,g=0,E=0,C=0;g=(n|0)!=0;s=(l|0)!=0;if(!((r|0)==(i|0)&(g&s))){if(s){t=+JC(A,l);c=+b[e+(r<<4)>>3];o=+b[e+(r<<4)+8>>3];s=r+3|0;d=e+(s<<4)|0;u=+b[d>>3];s=e+(s<<4)+8|0;k=+b[s>>3];v=c-u;B=o-k;v=+z(+(B*B+v*v))*.9;t=t>=v?v:t;if(o==k){w=(c>3]=c;b[e+(C<<4)+8>>3]=o;r=e+(r+2<<4)|0;b[d>>3]=w;b[s>>3]=t;a[r>>2]=a[d>>2];a[r+4>>2]=a[d+4>>2];a[r+8>>2]=a[d+8>>2];a[r+12>>2]=a[d+12>>2];a[f+12>>2]=l;b[f+32>>3]=u;b[f+40>>3]=k}if(g){w=+JC(A,n);s=e+(i<<4)|0;c=+b[s>>3];t=+b[e+(i<<4)+8>>3];C=i+3|0;k=+b[e+(C<<4)>>3];o=+b[e+(C<<4)+8>>3];v=c-k;B=t-o;v=+z(+(B*B+v*v))*.9;w=w>=v?v:w;if(t==o){u=(c>3]=u;b[e+(C<<4)+8>>3]=w;a[s>>2]=a[E>>2];a[s+4>>2]=a[E+4>>2];a[s+8>>2]=a[E+8>>2];a[s+12>>2]=a[E+12>>2];E=i+2|0;b[e+(E<<4)>>3]=k;b[e+(E<<4)+8>>3]=o;E=16}}else{d=e+(r<<4)|0;B=+b[d>>3];v=+b[e+(r<<4)+8>>3];s=r+3|0;g=e+(s<<4)|0;c=+b[g>>3];s=e+(s<<4)+8|0;t=+b[s>>3];w=+JC(A,n);h=+JC(A,l);u=B-c;o=v-t;u=+z(+(o*o+u*u));C=!(h+w>=u);u=u*.3333333333333333;w=C?w:u;u=C?h:u;if(v==t){C=B>3]=h;b[e+(C<<4)+8>>3]=k;a[d>>2]=a[E>>2];a[d+4>>2]=a[E+4>>2];a[d+8>>2]=a[E+8>>2];a[d+12>>2]=a[E+12>>2];E=e+(r+2<<4)|0;b[g>>3]=o;b[s>>3]=w;a[E>>2]=a[g>>2];a[E+4>>2]=a[g+4>>2];a[E+8>>2]=a[g+8>>2];a[E+12>>2]=a[g+12>>2];a[f+12>>2]=l;b[f+32>>3]=B;b[f+40>>3]=v;E=16}if((E|0)==16){a[f+8>>2]=n;b[f+16>>3]=c;b[f+24>>3]=t}return}function KC(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0;u=+b[e>>3];c=+b[i>>3]-u;k=+b[e+8>>3];s=+b[i+8>>3]-k;t=r*10.0/(+z(+(c*c+s*s))+.0001);c=t*((c>=0.0?.0001:-.0001)+c);t=((s>=0.0?.0001:-.0001)+s)*t;s=c*.5;w=t*.5;l=u-w;a=k-s;u=w+u;s=k+s;k=l+c;w=a+t;c=u+c;t=s+t;n=k>c?k:c;n=u>n?u:n;r=w>t?w:t;r=s>r?s:r;c=k>3]=l>3]=a>3]=l>n?l:n;b[A+24>>3]=a>r?a:r;return}function _C(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0;h=k;k=k+48|0;s=h+32|0;c=h+16|0;o=h;w=(a[A+16>>2]|0)+12|0;u=a[w>>2]|0;a[w>>2]=e;rr(A,a[(a[A>>2]|0)+336>>2]|0);wr(A,n);v=+b[r>>3]-+b[i>>3];e=r+8|0;B=+b[e>>3]-+b[i+8>>3];d=10.0/(+z(+(v*v+B*B))+.0001);b[r>>3]=d*((v>=0.0?.0001:-.0001)+v);b[e>>3]=((B>=0.0?.0001:-.0001)+B)*d;e=0;while(1){if((e|0)>=4)break;t=l>>(e<<3)&255;if(!t)break;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];qC(o,A,c,s,f,n,t);a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];e=e+1|0}a[w>>2]=u;k=h;return}function qC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+32|0;s=h+16|0;c=h;w=l&15;t=1400;while(1){u=a[t>>2]|0;if(!u)break;if((w|0)==(u|0)){o=4;break}t=t+24|0}if((o|0)==4){d=+b[t+8>>3]*f;b[r>>3]=d*+b[r>>3];u=r+8|0;b[u>>3]=d*+b[u>>3];o=a[t+16>>2]|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];N5[o&15](e,c,s,f,n,l);b[i>>3]=+b[r>>3]+ +b[i>>3];o=i+8|0;b[o>>3]=+b[u>>3]+ +b[o>>3]}a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=h;return}function $C(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t+8|0;f=t;e=po(A,99796)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else{e=po(A,99808)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else e=0}if((l|0)==5){e=LC(i,0,120)|0;if(!e){a[f>>2]=Vh(A)|0;ao(0,99815,f)|0;a[n>>2]=i;ao(3,99868,n)|0}}k=t;return e|0}function AI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+16|0;f=qF(304)|0;if(!f)ao(1,99876,n)|0;r=A+16|0;A=a[r>>2]|0;a[f>>2]=A;a[r>>2]=f;if(!A){a[f+144>>2]=3;a[f+148>>2]=0;b[f+152>>3]=1.0}else{e=f+16|0;i=A+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));e=f+56|0;i=A+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));a[f+144>>2]=a[A+144>>2];a[f+148>>2]=a[A+148>>2];b[f+152>>3]=+b[A+152>>3];a[f+136>>2]=a[A+136>>2];e=f+96|0;i=A+96|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0))}k=n;return f|0}function eI(A){A=A|0;var e=0;A=A+16|0;e=a[A>>2]|0;if(!e)vA(99902,99906,117,99913);else{L2(a[e+212>>2]|0);L2(a[e+208>>2]|0);L2(a[e+216>>2]|0);L2(a[e+220>>2]|0);L2(a[e+224>>2]|0);L2(a[e+228>>2]|0);L2(a[e+232>>2]|0);L2(a[e+236>>2]|0);L2(a[e+240>>2]|0);L2(a[e+244>>2]|0);L2(a[e+248>>2]|0);L2(a[e+252>>2]|0);L2(a[e+256>>2]|0);L2(a[e+272>>2]|0);L2(a[e+284>>2]|0);L2(a[e+280>>2]|0);a[A>>2]=a[e>>2];L2(e);return}}function iI(A,e,i,n,l,t,c){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;t=t|0;c=c|0;var b=0,s=0;s=a[A+16>>2]|0;b=a[A+152>>2]|0;if((e|0)!=0&(b&32768|0)!=0)a[s+192>>2]=e;if(((b&65536|0)!=0?(a[s+212>>2]=SF(t,c)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){a[s+208>>2]=SF(i,c)|0;A=1}else A=0;do{if(b&4194304){if(n|0?r[n>>0]|0:0){a[s+228>>2]=SF(n,c)|0;A=s+260|0;f[A>>1]=f[A>>1]|1;A=1;break}e=a[s+192>>2]|0;if(e){a[s+228>>2]=s3(e)|0;A=1}}}while(0);if((l|0)!=0&(b&8388608|0)!=0?(r[l>>0]|0)!=0:0){a[s+244>>2]=SF(l,c)|0;A=1}return A|0}function rI(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+80|0;t=c;l=c+8|0;n=a[(a[A>>2]|0)+168>>2]|0;f=a[(a[(a[n+16>>2]|0)+8>>2]|0)+92>>2]|0;fI(A,i);A=po(e,141060)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0){wo(i,A)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}r[A>>0]=0;A=a[i>>2]|0;a[f>>2]=A}else{if((n|0)!=(e|0)&(f|0)!=0){wo(i,f)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}a[f>>2]=A+1;r[A>>0]=95}switch(Md(e)|0){case 0:{f=(n|0)==(e|0)?111494:99927;A=(a[e>>2]|0)>>>4;break}case 1:{f=111481;A=(a[e>>2]|0)>>>4;break}case 2:{f=111450;A=(a[e>>2]|0)>>>4;break}default:{f=0;A=0}}wo(i,f)|0;a[t>>2]=A;P4(l,99933,t)|0;wo(i,l)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}r[A>>0]=0;A=a[i>>2]|0;a[f>>2]=A}k=c;return A|0}function fI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+144|0;l=t;n=t+8|0;i=a[A+160>>2]|0;if((i|0)>1?a[A+152>>2]&64|0:0){wo(e,a[(a[(a[A>>2]|0)+308>>2]|0)+(i<<2)>>2]|0)|0;f=e+4|0;i=a[f>>2]|0;if(i>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;i=a[f>>2]|0}a[f>>2]=i+1;r[i>>0]=95}f=a[A+196>>2]|0;i=a[A+200>>2]|0;if((f|0)>0|(i|0)>0){a[l>>2]=f;a[l+4>>2]=i;P4(n,99937,l)|0;wo(e,n)|0}k=t;return}function aI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0.0,B=0;B=k;k=k+48|0;o=B+16|0;f=B+32|0;h=B;d=+b[(a[A+16>>2]|0)+152>>3];u=nI(i,0,f)|0;if((u+-1|0)>>>0>=2){r=+b[e+16>>3];t=(r+ +b[e>>3])*.5;b[h>>3]=t;n=+b[e+24>>3];s=(n+ +b[e+8>>3])*.5;b[h+8>>3]=s;t=r-t;s=n-s;w=d>.5;if(w)wr(A,.5);l=a[f>>2]|0;n=0.0;f=a[l+8>>2]|0;while(1){i=a[f>>2]|0;if(!i)break;e=f+4|0;if(+c[e>>2]==0.0)r=n;else{er(A,i);if(!(a[f+12>>2]|0))r=6.283185307179586;else r=+c[e>>2]*6.283185307179586+n;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];e=mf(o,t,s,n,r)|0;lr(A,a[e>>2]|0,a[e+4>>2]|0,0,0,1);Zc(e)}n=r;f=f+12|0}if(w)wr(A,d);lI(l)}k=B;return u|0}function nI(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,b=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;u=d+8|0;w=d;h=qF(12)|0;l=s3(A)|0;A:do{if(!e){e=1;f=l;while(1){switch(r[f>>0]|0){case 0:break A;case 58:{e=e+1|0;break}default:{}}f=f+1|0}}}while(0);a[h+4>>2]=l;o=qF((e*12|0)+12|0)|0;a[h+8>>2]=o;s=1.0;n=0;e=0;f=l;while(1){f=t3(f,107984)|0;if(!f){f=20;break}t=+tI(f);if(!(t>=0.0)){f=17;break}b=t-s;if(b>0.0)if((a[5156]|0)!=0?!(b<1.0e-05&b>-1.0e-05):0){a[w>>2]=A;ao(0,99948,w)|0;a[5156]=0;t=s;e=3}else t=s;b=s-t;if(t>0.0)r[o+(n*12|0)+8>>0]=1;if(r[f>>0]|0)a[o+(n*12|0)>>2]=f;f=n+1|0;c[o+(n*12|0)+4>>2]=t;if(b<1.0e-05&b>-1.0e-05){n=f;f=30;break}else{s=b;n=f;f=0}}A:do{if((f|0)==17){if(!(a[5156]|0))e=1;else{a[u>>2]=A;ao(1,99983,u)|0;a[5156]=0;e=2}lI(h)}else if((f|0)==20)if(s>0.0){f=0;l=0;while(1){if((f|0)>=(n|0))break;u=l+(+c[o+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;l=u}if((l|0)<=0){f=o+((n+-1|0)*12|0)+4|0;c[f>>2]=s+ +c[f>>2];f=30;break}t=s/+(l|0);f=0;while(1){if((f|0)>=(n|0)){f=30;break A}l=o+(f*12|0)+4|0;if(+c[l>>2]==0.0)c[l>>2]=t;f=f+1|0}}else f=30}while(0);if((f|0)==30){while(1){f=n+-1|0;if((n|0)<=0)break;if(+c[o+(f*12|0)+4>>2]>0.0)break;else n=f}a[o+(n*12|0)>>2]=0;a[h>>2]=n;a[i>>2]=h}k=d;return e|0}function lI(A){A=A|0;L2(a[A+4>>2]|0);L2(a[A+8>>2]|0);L2(A);return}function tI(A){A=A|0;var e=0.0,i=0,f=0,n=0;f=k;k=k+16|0;i=f;A=G1(A,59)|0;if(!A)e=0.0;else{n=A+1|0;r[A>>0]=0;e=+A8(n,i);e=(e>=0.0?(a[i>>2]|0)!=(n|0):0)?e:-1.0}k=f;return+e}function cI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0.0,v=0;v=k;k=k+80|0;n=v+64|0;d=v;B=+b[(a[A+16>>2]|0)+152>>3];h=nI(i,0,n)|0;if((h+-1|0)>>>0>=2){if(!r){a[d>>2]=a[e>>2];a[d+4>>2]=a[e+4>>2];a[d+8>>2]=a[e+8>>2];a[d+12>>2]=a[e+12>>2];o=d+16|0;u=e+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+32|0;u=e+32|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+48|0;u=e+48|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2]}else{o=e+32|0;a[d>>2]=a[o>>2];a[d+4>>2]=a[o+4>>2];a[d+8>>2]=a[o+8>>2];a[d+12>>2]=a[o+12>>2];o=d+16|0;u=e+48|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+32|0;a[o>>2]=a[e>>2];a[o+4>>2]=a[e+4>>2];a[o+8>>2]=a[e+8>>2];a[o+12>>2]=a[e+12>>2];o=d+48|0;u=e+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2]}t=d+16|0;s=+b[t>>3];f=+b[d>>3];w=s-f;u=d+32|0;b[u>>3]=f;b[t>>3]=f;o=B>.5;if(o)wr(A,.5);n=a[n>>2]|0;l=d+48|0;r=a[n+8>>2]|0;while(1){i=a[r>>2]|0;if(!i)break;e=r+4|0;if(!(+c[e>>2]==0.0)){er(A,i);if(!(a[r+12>>2]|0))f=s;else f=w*+c[e>>2]+ +b[d>>3];b[u>>3]=f;b[t>>3]=f;ar(A,d,4,1);f=+b[t>>3];b[l>>3]=f;b[d>>3]=f}r=r+12|0}if(o)wr(A,B);lI(n)}k=v;return h|0}function bI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;n=f>>>16^2;a[i+264>>2]=n;l=i+268|0;a[l>>2]=n+2;n=i+272|0;L2(a[n>>2]|0);i=qF(a[l>>2]<<4)|0;a[n>>2]=i;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];n=i+16|0;e=e+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function sI(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,a=0,n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0;h=k;k=k+144|0;i=h+80|0;f=h+16|0;a=h;c=+b[e>>3];u=A+16|0;s=+b[u>>3];if(!(((((((((!(c>s)?(w=+b[A>>3],!(c>3],l=+b[A+24>>3],!(r>l)):0)?(t=+b[A+8>>3],!(r>3],!(c>s|c>3],!(c>l|c>3],!(c>s|c>3],!(c>l|c>3],!(c>s|c>3],!(w>l|w>3];if(!(r>+b[u>>3])){if(r<+b[A>>3]){i=A;o=16}}else{i=u;o=16}if((o|0)==16){o=0;b[i>>3]=r}r=+b[e+(f<<4)+8>>3];if(!(r>+b[a>>3])){if(r<+b[n>>3]){i=A;o=19}}else{i=u;o=19}if((o|0)==19){o=0;b[i+8>>3]=r}f=f+1|0}}}while(0);k=h;return}function wI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0,t=0;e=k;k=k+48|0;i=e+32|0;r=e+16|0;f=e;t=A+48|0;l=A+16|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];a[i>>2]=a[l>>2];a[i+4>>2]=a[l+4>>2];a[i+8>>2]=a[l+8>>2];a[i+12>>2]=a[l+12>>2];n=+zF(f,r,i);l=A+32|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];a[i>>2]=a[l>>2];a[i+4>>2]=a[l+4>>2];a[i+8>>2]=a[l+8>>2];a[i+12>>2]=a[l+12>>2];A=n<4.0&+zF(f,r,i)<4.0&1;k=e;return A|0}function uI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0;W=k;k=k+272|0;g=W+256|0;E=W+224|0;C=W+192|0;I=W+128|0;Z=W+64|0;G=W;Q=W+160|0;m=W+96|0;L=W+32|0;v=a[e+16>>2]|0;B=a[v+144>>2]|0;d=v+16|0;a[I>>2]=a[d>>2];a[I+4>>2]=a[d+4>>2];a[I+8>>2]=a[d+8>>2];a[I+12>>2]=a[d+12>>2];a[I+16>>2]=a[d+16>>2];a[I+20>>2]=a[d+20>>2];a[I+24>>2]=a[d+24>>2];a[I+28>>2]=a[d+28>>2];v=a[(a[v+8>>2]|0)+88>>2]|0;a[G>>2]=0;a[G+4>>2]=0;a[G+8>>2]=0;a[G+12>>2]=0;a[G+16>>2]=0;a[G+20>>2]=0;a[G+24>>2]=0;a[G+28>>2]=0;if(!v){a[A>>2]=a[I>>2];a[A+4>>2]=a[I+4>>2];a[A+8>>2]=a[I+8>>2];a[A+12>>2]=a[I+12>>2];a[A+16>>2]=a[I+16>>2];a[A+20>>2]=a[I+20>>2];a[A+24>>2]=a[I+24>>2];a[A+28>>2]=a[I+28>>2]}else{e=I+16|0;if(+b[I>>3]==+b[e>>3]?(i=I+8|0,f=I+24|0,+b[i>>3]==+b[f>>3]):0){b[i>>3]=1797693134862315708145274.0e284;b[I>>3]=1797693134862315708145274.0e284;b[f>>3]=-1797693134862315708145274.0e284;b[e>>3]=-1797693134862315708145274.0e284}t=E+8|0;c=E+16|0;s=E+24|0;w=Z+16|0;u=Z+24|0;o=B+144|0;h=C+16|0;d=v+12|0;e=0;f=a[v+8>>2]|0;i=0;n=0.0;l=0;while(1){if((l|0)>=(a[v>>2]|0))break;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[Z+16>>2]=a[G+16>>2];a[Z+20>>2]=a[G+20>>2];a[Z+24>>2]=a[G+24>>2];a[Z+28>>2]=a[G+28>>2];switch(a[f>>2]|0){case 1:case 0:{D=+b[f+8>>3];M=+b[f+24>>3];b[E>>3]=D-M;z=+b[f+16>>3];Y=+b[f+32>>3];b[t>>3]=z-Y;b[c>>3]=M+D;b[s>>3]=Y+z;y=f+80|0;a[y>>2]=a[E>>2];a[y+4>>2]=a[E+4>>2];a[y+8>>2]=a[E+8>>2];a[y+12>>2]=a[E+12>>2];y=f+96|0;a[y>>2]=a[c>>2];a[y+4>>2]=a[c+4>>2];a[y+8>>2]=a[c+8>>2];a[y+12>>2]=a[c+12>>2];a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];kI(I,g);a[g>>2]=a[c>>2];a[g+4>>2]=a[c+4>>2];a[g+8>>2]=a[c+8>>2];a[g+12>>2]=a[c+12>>2];kI(I,g);break}case 3:case 2:{y=f+80|0;F=f+8|0;oI(Q,a[F+4>>2]|0,a[F>>2]|0,I);a[y>>2]=a[Q>>2];a[y+4>>2]=a[Q+4>>2];a[y+8>>2]=a[Q+8>>2];a[y+12>>2]=a[Q+12>>2];a[y+16>>2]=a[Q+16>>2];a[y+20>>2]=a[Q+20>>2];a[y+24>>2]=a[Q+24>>2];a[y+28>>2]=a[Q+28>>2];break}case 5:case 4:{F=f+80|0;y=f+8|0;oI(m,a[y+4>>2]|0,a[y>>2]|0,I);a[F>>2]=a[m>>2];a[F+4>>2]=a[m+4>>2];a[F+8>>2]=a[m+8>>2];a[F+12>>2]=a[m+12>>2];a[F+16>>2]=a[m+16>>2];a[F+20>>2]=a[m+20>>2];a[F+24>>2]=a[m+24>>2];a[F+28>>2]=a[m+28>>2];break}case 6:{F=f+80|0;y=f+8|0;oI(L,a[y+4>>2]|0,a[y>>2]|0,I);a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];a[F+16>>2]=a[L+16>>2];a[F+20>>2]=a[L+20>>2];a[F+24>>2]=a[L+24>>2];a[F+28>>2]=a[L+28>>2];break}case 7:{F=f+112|0;a[F>>2]=qF(56)|0;y=s3(a[f+40>>2]|0)|0;V=a[F>>2]|0;a[V>>2]=y;r[V+48>>0]=r[100029+(a[f+24>>2]|0)>>0]|0;a[Z>>2]=i;b[w>>3]=n;a[u>>2]=a[u>>2]&-128|e&127;V=a[o>>2]|0;V=W5[a[V>>2]&63](V,Z,1)|0;y=a[F>>2]|0;a[y+4>>2]=V;AR(g,B,y);hI(C,+b[f+8>>3],+b[f+16>>3],a[F>>2]|0);F=f+80|0;a[F>>2]=a[C>>2];a[F+4>>2]=a[C+4>>2];a[F+8>>2]=a[C+8>>2];a[F+12>>2]=a[C+12>>2];a[F+16>>2]=a[C+16>>2];a[F+20>>2]=a[C+20>>2];a[F+24>>2]=a[C+24>>2];a[F+28>>2]=a[C+28>>2];a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];kI(I,g);a[g>>2]=a[h>>2];a[g+4>>2]=a[h+4>>2];a[g+8>>2]=a[h+8>>2];a[g+12>>2]=a[h+12>>2];kI(I,g);if(!(a[d>>2]|0))a[d>>2]=109;break}case 10:{i=a[f+16>>2]|0;n=+b[f+8>>3];break}case 15:{e=a[f+8>>2]|0;break}default:{}}f=f+120|0;l=l+1|0}a[A>>2]=a[I>>2];a[A+4>>2]=a[I+4>>2];a[A+8>>2]=a[I+8>>2];a[A+12>>2]=a[I+12>>2];a[A+16>>2]=a[I+16>>2];a[A+20>>2]=a[I+20>>2];a[A+24>>2]=a[I+24>>2];a[A+28>>2]=a[I+28>>2]}k=W;return}function kI(A,e){A=A|0;e=e|0;var i=0.0,r=0;i=+b[e>>3];r=A+16|0;if(i>+b[r>>3])b[r>>3]=i;if(i<+b[A>>3])b[A>>3]=i;i=+b[e+8>>3];e=A+24|0;if(i>+b[e>>3])b[e>>3]=i;e=A+8|0;if(i<+b[e>>3])b[e>>3]=i;return}function oI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+48|0;c=d+32|0;w=d;f=+b[e>>3];u=w+16|0;b[u>>3]=f;b[w>>3]=f;f=+b[e+8>>3];o=w+24|0;b[o>>3]=f;s=w+8|0;b[s>>3]=f;t=1;while(1){if((t|0)>=(i|0))break;l=e+24|0;f=+b[l>>3];if(!(f<+b[w>>3])){if(f>+b[u>>3]){n=u;h=5}}else{n=w;h=5}if((h|0)==5){h=0;b[n>>3]=f}f=+b[e+32>>3];if(!(f<+b[s>>3])){if(f>+b[o>>3]){e=u;h=8}}else{e=w;h=8}if((h|0)==8){h=0;b[e+8>>3]=f}t=t+1|0;e=l}a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];kI(r,c);a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];kI(r,c);a[A>>2]=a[w>>2];a[A+4>>2]=a[w+4>>2];a[A+8>>2]=a[w+8>>2];a[A+12>>2]=a[w+12>>2];a[A+16>>2]=a[w+16>>2];a[A+20>>2]=a[w+20>>2];a[A+24>>2]=a[w+24>>2];a[A+28>>2]=a[w+28>>2];k=d;return}function hI(A,e,i,f){A=A|0;e=+e;i=+i;f=f|0;var a=0.0,n=0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+16|0;l=w+8|0;t=w;a=+b[f+32>>3];c=+b[f+40>>3];switch(r[f+48>>0]|0){case 108:{b[l>>3]=e;a=a+e;n=t;s=5;break}case 110:{a=a*.5;b[l>>3]=e-a;a=a+e;n=t;s=5;break}case 114:{b[t>>3]=e;a=e-a;n=l;s=5;break}default:{e=0.0;a=0.0}}if((s|0)==5){b[n>>3]=a;e=+b[l>>3];a=+b[t>>3]}i=+b[f+16>>3]+i;b[A>>3]=e;b[A+8>>3]=i-c;b[A+16>>3]=a;b[A+24>>3]=i;k=w;return}function dI(A){A=A|0;if((a[A>>2]|0)==7)xF(a[A+112>>2]|0,1);return}function BI(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0.0;s=k;k=k+16|0;c=s;t=a[A+152>>2]|0;w=+b[A+432>>3];l=+b[A+352>>3]*.013888888888888888;f=l*w;b[A+488>>3]=f;n=+b[A+440>>3];l=l*n;b[A+496>>3]=l;b[A+520>>3]=w*.013888888888888888;i=A+528|0;b[i>>3]=n*.013888888888888888;if(t&4096|0)b[i>>3]=n*-.013888888888888888;i=(a[A+360>>2]|0)==0;w=+((a[A+448>>2]|0)>>>0);n=+((a[A+452>>2]|0)>>>0);b[A+368>>3]=(i?w:n)/f;b[A+376>>3]=(i?n:w)/l;cr(A,dR(e,Yo(e,0,101522,0)|0,195059)|0);a[A+160>>2]=0;vI(A,e);if(t&2|0)gI(A,e);i=cd(e)|0;while(1){if(!i)break;r[(a[i+16>>2]|0)+116>>0]=0;i=bd(e,i)|0}EI(A,c);while(1){if(!((CI(A)|0)<<24>>24))break;if((II(A)|0)>1)Vi(A);ZI(A);while(1){if(!((GI(A)|0)<<24>>24))break;QI(A,e);mI(A)}if((II(A)|0)>1)Ji(A);LI(A,c)}WI(A);k=s;return}function vI(A,e){A=A|0;e=e|0;var i=0;i=AI(A)|0;a[i+4>>2]=0;a[i+8>>2]=e;a[i+12>>2]=0;TM(A,a[(a[e+16>>2]|0)+12>>2]|0,e);Yi(A,e);return}function gI(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,n=0;er(A,134800);i=po(e,140977)|0;if(i|0?r[i>>0]|0:0)er(A,i);i=po(e,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);rF(A,e);n=cd(e)|0;while(1){if(!n)break;i=po(n,140823)|0;if(i|0?r[i>>0]|0:0)$i(A,i);i=po(n,137729)|0;if(i|0?r[i>>0]|0:0)er(A,i);i=po(n,101418)|0;do{if(i|0?r[i>>0]|0:0){if(!(G1(i,58)|0)){$i(A,i);break}f=s3(i)|0;i=f;while(1){i=t3(i,107984)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}$i(A,i);i=0}L2(f)}}while(0);i=po(n,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);a=Oo(e,n)|0;while(1){if(!a)break;i=po(a,140823)|0;do{if(i|0?r[i>>0]|0:0){if(!(G1(i,58)|0)){$i(A,i);break}f=s3(i)|0;i=f;while(1){i=t3(i,107984)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}$i(A,i);i=0}L2(f)}}while(0);i=po(a,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);a=_o(e,a)|0}n=bd(e,n)|0}return}function EI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;r=t+8|0;n=t;l=a[A>>2]|0;i=a[l+312>>2]|0;f=A+156|0;a[f>>2]=i;l=a[l+316>>2]|0;if(!l)if((i|0)>1?(a[A+152>>2]&64|0)==0:0){a[r>>2]=a[A+52>>2];ao(0,100567,r)|0;a[f>>2]=1;r=1;i=0}else{r=1;i=0}else{i=l+4|0;if((a[l>>2]|0)>1?(a[A+152>>2]&64|0)==0:0){a[n>>2]=a[A+52>>2];ao(0,100567,n)|0;a[l+8>>2]=(a[f>>2]|0)+1}r=a[i>>2]|0;i=l+8|0}a[A+160>>2]=r;a[e>>2]=i;k=t;return}function CI(A){A=A|0;return(a[A+160>>2]|0)<=(a[A+156>>2]|0)|0}function II(A){A=A|0;var e=0;e=a[(a[A>>2]|0)+316>>2]|0;return a[((e|0)==0?A+156|0:e)>>2]|0}function ZI(A){A=A|0;var e=0,i=0;i=A+172|0;e=a[i+4>>2]|0;A=A+196|0;a[A>>2]=a[i>>2];a[A+4>>2]=e;return}function GI(A){A=A|0;var e=0,i=0;i=a[A+196>>2]|0;if(((i|0)>-1?(i|0)<(a[A+164>>2]|0):0)?(e=a[A+200>>2]|0,(e|0)>-1):0)A=(e|0)<(a[A+168>>2]|0)&1;else A=0;return A|0}function QI(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+176|0;b=o;i=o+48|0;s=o+32|0;w=a[A+16>>2]|0;u=a[A+152>>2]|0;if((a[A+160>>2]|0)<=1?(a[A+196>>2]|0)<=0:0)l=0;else{co(s,128,i);n=w+212|0;l=a[n>>2]|0;fI(A,s);wo(s,l)|0;t=s+4|0;i=a[t>>2]|0;if(i>>>0>=(a[s+8>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}r[i>>0]=0;i=a[s>>2]|0;a[t>>2]=i;a[n>>2]=i}Qf(po(e,100032)|0);zI(A);Mi(A);$i(A,137314);er(A,134800);do{if(u&4259840|0){if((a[w+208>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;if(u&655360){t=u&131072;a[w+264>>2]=t>>>16^2;i=qF((t>>>12^32)+32|0)|0;n=A+288|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];n=i+16|0;h=A+304|0;a[n>>2]=a[h>>2];a[n+4>>2]=a[h+4>>2];a[n+8>>2]=a[h+8>>2];a[n+12>>2]=a[h+12>>2];if(!t){QF(i);n=4}else n=2}else{i=0;n=0}if(!(u&8192))zi(A,i,i,n)|0;a[w+272>>2]=i;a[w+268>>2]=n}}while(0);if(u&32768|0?(c=a[(a[e+16>>2]|0)+12>>2]|0,c|0):0)a[w+192>>2]=a[c>>2];n=(u&4|0)!=0;do{if(!n){i=w+208|0;if((a[i>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;h=A+256|0;a[b>>2]=a[h>>2];a[b+4>>2]=a[h+4>>2];a[b+8>>2]=a[h+8>>2];a[b+12>>2]=a[h+12>>2];a[b+16>>2]=a[h+16>>2];a[b+20>>2]=a[h+20>>2];a[b+24>>2]=a[h+24>>2];a[b+28>>2]=a[h+28>>2];bI(A,b);Pi(A,a[i>>2]|0,a[w+228>>2]|0,a[w+244>>2]|0,a[w+212>>2]|0)}}while(0);YI(A,e);i=a[(a[e+16>>2]|0)+12>>2]|0;if(i|0)jF(A,4,i);do{if(!n){if((a[w+208>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;Oi(A)}}while(0);DI(A,e,u);Fi(A);if(l|0){uo(s);a[w+212>>2]=l}k=o;return}function mI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+32|0;i=l+24|0;e=l+16|0;c=l+8|0;f=l;n=A+196|0;t=A+188|0;a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];yI(c,e,i);t=a[c+4>>2]|0;r=n;a[r>>2]=a[c>>2];a[r+4>>2]=t;if(!((GI(A)|0)<<24>>24)){r=A+180|0;if(!(a[A+184>>2]|0))a[A+200>>2]=a[A+176>>2];else a[n>>2]=a[A+172>>2];a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];yI(f,e,i);t=a[f+4>>2]|0;c=n;a[c>>2]=a[f>>2];a[c+4>>2]=t}k=l;return}function LI(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;if(!i){i=A+160|0;a[i>>2]=(a[i>>2]|0)+1}else{a[A+160>>2]=a[i>>2];a[e>>2]=i+4}return}function WI(A){A=A|0;Di(A);eI(A);return}function yI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[i+4>>2]|0)+(a[e+4>>2]|0)|0;a[A>>2]=(a[i>>2]|0)+(a[e>>2]|0);a[A+4>>2]=r;return}function zI(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0.0;v=k;k=k+48|0;w=v+32|0;f=v+24|0;t=v+8|0;c=v+16|0;s=v;d=A+196|0;h=a[d>>2]|0;d=a[d+4>>2]|0;o=f;a[o>>2]=h;a[o+4>>2]=d;o=A+164|0;l=a[o>>2]|0;o=a[o+4>>2]|0;B=t;a[B>>2]=l;a[B+4>>2]=o;B=A+360|0;if(!(a[B>>2]|0)){c=h;t=d}else{a[w>>2]=a[f>>2];a[w+4>>2]=a[f+4>>2];iF(c,w);d=c;c=a[d>>2]|0;d=a[d+4>>2]|0;o=f;a[o>>2]=c;a[o+4>>2]=d;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];iF(s,w);o=s;l=a[o>>2]|0;o=a[o+4>>2]|0;a[t>>2]=l;a[t+4>>2]=o;t=d}i=+b[A+320>>3];n=i*+(c|0)-+b[A+240>>3];b[A+288>>3]=n;r=+b[A+328>>3];u=r*+(t|0)-+b[A+248>>3];b[A+296>>3]=u;b[A+304>>3]=i+n;b[A+312>>3]=r+u;f=A+472|0;if(!(a[(a[A+12>>2]|0)+28>>2]|0)){d=A+456|0;a[f>>2]=a[d>>2];a[f+4>>2]=a[d+4>>2];a[f+8>>2]=a[d+8>>2];a[f+12>>2]=a[d+12>>2]}else{h=A+456|0;a[f>>2]=a[((a[f>>2]|0)<(a[h>>2]|0)?f:h)>>2];d=A+476|0;a[d>>2]=a[((a[d>>2]|0)<(a[A+460>>2]|0)?f:h)+4>>2];d=A+480|0;a[d>>2]=a[((a[d>>2]|0)>(a[A+464>>2]|0)?f:h)+8>>2];d=A+484|0;a[d>>2]=a[((a[d>>2]|0)>(a[A+468>>2]|0)?f:h)+12>>2]}s=a[A+152>>2]|0;e=+b[A+336>>3];if(!(s&128)){e=(+(c|0)-+(l|0)*.5)*i+e;b[A+256>>3]=e;n=(+(t|0)-+(o|0)*.5)*r+ +b[A+344>>3];u=n;i=i+e;n=n+r}else{i=+b[A+368>>3]*.5;r=e-i;b[A+256>>3]=r;n=+b[A+344>>3];g=+b[A+376>>3]*.5;u=n-g;i=i+e;n=g+n;e=r}b[A+264>>3]=u;b[A+272>>3]=i;b[A+280>>3]=n;if(!(a[B>>2]|0)){r=+b[A+352>>3];b[A+504>>3]=+b[A+384>>3]/r-e;if(!(s&4096)){i=+b[A+392>>3]/r;e=u}else{i=-n;e=+b[A+392>>3]/r}b[A+512>>3]=i-e}else{f=A+384|0;r=+b[A+352>>3];b[A+512>>3]=-n-+b[A+392>>3]/r;if(!(s&4096))i=+b[f>>3]/r;else{i=-i;e=+b[f>>3]/r}b[A+504>>3]=i-e}k=v;return}function YI(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+48|0;h=B;u=B+40|0;o=B+36|0;d=B+32|0;i=po(e,140977)|0;if(!i){t=1;i=137198}else{l=(r[i>>0]|0)==0;t=l&1;i=l?137198:i}n=a[A+152>>2]|0;l=(r[i>>0]|0)==116;if(!(n&256))if(l){s=(A1(i,137379)|0)==0;b=s?137198:i;s=s?1:t;w=8}else{b=i;s=t;w=8}else if(!(l?!(A1(i,137379)|0):0)){b=i;s=t;w=8}if((w|0)==8?!((s|0)!=0&(n&33554432|0)!=0):0)if(!((qM(b,u,o)|0)<<24>>24)){er(A,b);$i(A,137379);d=A+256|0;a[h>>2]=a[d>>2];a[h+4>>2]=a[d+4>>2];a[h+8>>2]=a[d+8>>2];a[h+12>>2]=a[d+12>>2];a[h+16>>2]=a[d+16>>2];a[h+20>>2]=a[d+20>>2];a[h+24>>2]=a[d+24>>2];a[h+28>>2]=a[d+28>>2];nr(A,h,1)}else{a[d>>2]=0;l=a[u>>2]|0;er(A,l);$i(A,137379);_M(e,d)|0;i=a[u+4>>2]|0;n=kR(e,a[47143]|0,0,0)|0;f=+c[o>>2];if(!i)ir(A,137314,n,f);else ir(A,i,n,f);d=(a[d>>2]|0)>>>1&1|2;o=A+256|0;a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];a[h+16>>2]=a[o+16>>2];a[h+20>>2]=a[o+20>>2];a[h+24>>2]=a[o+24>>2];a[h+28>>2]=a[o+28>>2];nr(A,h,d);L2(l)}i=a[(a[(a[e+16>>2]|0)+8>>2]|0)+88>>2]|0;if(i|0)AF(A,i);k=B;return}function DI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=(a[A>>2]|0)+28|0;a[n>>2]=(a[n>>2]|0)+1;n=(i&4|0)!=0;if(!n)MI(A,e,i);A:do{if(!(i&1)){if(i&16|0){pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A);Ri(A);r=cd(e)|0;while(1){if(!r)break;FI(A,r);r=bd(e,r)|0}Hi(A);break}if(!(i&8)){f=cd(e)|0;while(1){if(!f)break A;FI(A,f);r=Oo(e,f)|0;while(1){if(!r)break;FI(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0);VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}}Ri(A);r=cd(e)|0;while(1){if(!r)break;if((JI(e,r)|0)<<24>>24)FI(A,r);r=bd(e,r)|0}Hi(A);pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;if((NI(e,r)|0)<<24>>24)VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A)}else{Ri(A);r=cd(e)|0;while(1){if(!r)break;FI(A,r);r=bd(e,r)|0}Hi(A);pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A)}}while(0);if(n)MI(A,e,i);return}function MI(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;H=k;k=k+128|0;C=H+72|0;X=H+64|0;D=H+112|0;M=H;F=H+104|0;V=e+16|0;J=(i&4|0)!=0;N=A+16|0;I=M+32|0;Z=M+16|0;Q=M+8|0;m=M+24|0;L=M+48|0;W=M+40|0;y=M+56|0;z=(i&8|0)==0;Y=F+4|0;E=1;while(1){l=a[V>>2]|0;if((E|0)>(a[l+180>>2]|0))break;g=a[(a[l+184>>2]|0)+(E<<2)>>2]|0;if((OM(A,g)|0)<<24>>24){if(J)MI(A,g,i);KM(A,g);d=a[N>>2]|0;B=d+208|0;if(!(a[B>>2]|0))v=(f[d+260>>1]&1)!=0;else v=1;Qf(po(g,100032)|0);if(!(J|v^1)){h=(a[g+16>>2]|0)+16|0;a[C>>2]=a[h>>2];a[C+4>>2]=a[h+4>>2];a[C+8>>2]=a[h+8>>2];a[C+12>>2]=a[h+12>>2];a[C+16>>2]=a[h+16>>2];a[C+20>>2]=a[h+20>>2];a[C+24>>2]=a[h+24>>2];a[C+28>>2]=a[h+28>>2];bI(A,C);Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0)}a[D>>2]=0;l=_M(g,D)|0;if(!l)o=0;else{rr(A,l);o=a[D>>2]&1}h=g+16|0;l=n[(a[h>>2]|0)+112>>0]|0;do{if(!(l&1)){if(l&2|0){l=BR(g,0,106256)|0;t=BR(g,0,106264)|0;R=29;break}if(l&8|0){l=BR(g,0,106272)|0;t=BR(g,0,106280)|0;R=29;break}if(l&4|0){l=BR(g,0,106288)|0;t=BR(g,0,106296)|0;R=29;break}l=po(g,140823)|0;if(!l)t=0;else t=(r[l>>0]|0)==0?0:l;l=po(g,137729)|0;if(!l)l=t;else l=(r[l>>0]|0)==0?t:l;s=po(g,101418)|0;if(s)t=(r[s>>0]|0)==0?t:s;if(!((o|0)!=0&(t|0)!=0)){s=po(g,140977)|0;if(s|0?r[s>>0]|0:0){t=s;R=29;break}l=(l|0)==0?137314:l;w=(t|0)==0?134800:t;a[F>>2]=0;if(!o)t=0;else R=31}else R=29}else{l=BR(g,0,106240)|0;t=BR(g,0,106248)|0;R=29}}while(0);if((R|0)==29){a[F>>2]=0;l=(l|0)==0?137314:l;w=(t|0)==0?134800:t;R=31}if((R|0)==31){R=0;if(!((qM(w,F,C)|0)<<24>>24)){er(A,w);t=1}else{er(A,a[F>>2]|0);t=a[Y>>2]|0;s=kR(g,a[47143]|0,0,0)|0;u=+c[C>>2];if(!t)ir(A,137314,s,u);else ir(A,t,s,u);t=(a[D>>2]|0)>>>1&1|2}}s=a[47142]|0;if((s|0?(G=Uo(g,s)|0,G|0):0)?r[G>>0]|0:0)wr(A,+oR(g,a[47142]|0,1.0,0.0));o=a[D>>2]|0;do{if(o&4){s=kR(g,a[47141]|0,1,0)|0;if(s|t|0){w=a[h>>2]|0;p=w+16|0;a[M>>2]=a[p>>2];a[M+4>>2]=a[p+4>>2];a[M+8>>2]=a[p+8>>2];a[M+12>>2]=a[p+12>>2];w=w+32|0;a[I>>2]=a[w>>2];a[I+4>>2]=a[w+4>>2];a[I+8>>2]=a[w+8>>2];a[I+12>>2]=a[w+12>>2];b[Z>>3]=+b[I>>3];b[m>>3]=+b[Q>>3];b[L>>3]=+b[M>>3];b[y>>3]=+b[W>>3];if(!s)$i(A,137379);else $i(A,l);tN(A,M,4,o,t)}}else{if(!(o&64)){if(kR(g,a[47141]|0,1,0)|0){$i(A,l);p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,t);break}if(!t)break;$i(A,137379);p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,t);break}p=a[h>>2]|0;o=p+16|0;a[M>>2]=a[o>>2];a[M+4>>2]=a[o+4>>2];a[M+8>>2]=a[o+8>>2];a[M+12>>2]=a[o+12>>2];p=p+32|0;a[I>>2]=a[p>>2];a[I+4>>2]=a[p+4>>2];a[I+8>>2]=a[p+8>>2];a[I+12>>2]=a[p+12>>2];b[Z>>3]=+b[I>>3];b[m>>3]=+b[Q>>3];b[L>>3]=+b[M>>3];b[y>>3]=+b[W>>3];if(!(kR(g,a[47141]|0,1,0)|0))$i(A,137379);else $i(A,l);if((cI(A,M,w,0)|0)>1){a[X>>2]=Vh(g)|0;ao(3,100400,X)|0}p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,0)}}while(0);L2(a[F>>2]|0);l=a[(a[h>>2]|0)+12>>2]|0;if(l|0)jF(A,5,l);if(v){if(J){p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];bI(A,C);Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0)}Oi(A)}A:do{if(!z){t=cd(g)|0;while(1){if(!t)break A;FI(A,t);l=Oo(g,t)|0;while(1){if(!l)break;VI(A,l);l=_o(g,l)|0}t=bd(g,t)|0}}}while(0);$M(A,e);if(!J)MI(A,g,i)}E=E+1|0}k=H;return}function FI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+32|0;i=c;l=a[A>>2]|0;t=e+16|0;A:do{if(((a[(a[t>>2]|0)+8>>2]|0?(HM(A,Id(e)|0,e)|0)<<24>>24:0)?(b=A+256|0,a[i>>2]=a[b>>2],a[i+4>>2]=a[b+4>>2],a[i+8>>2]=a[b+8>>2],a[i+12>>2]=a[b+12>>2],a[i+16>>2]=a[b+16>>2],a[i+20>>2]=a[b+20>>2],a[i+24>>2]=a[b+24>>2],a[i+28>>2]=a[b+28>>2],(pM(e,i)|0)<<24>>24):0)?(f=(a[t>>2]|0)+116|0,n=a[l+28>>2]|0,(n|0)!=(r[f>>0]|0)):0){r[f>>0]=n;cr(A,Vh(e)|0);i=dR(e,a[47169]|0,195059)|0;if(r[i>>0]|0)cr(A,i);i=dR(e,a[47157]|0,195059)|0;e:do{if(r[i>>0]|0){HI(i)|0;i=188228;while(1){f=i;i=i+4|0;f=a[f>>2]|0;if(!f)break e;if((r[f>>0]|0)!=105)continue;if(!(A1(f,134335)|0))break A}}}while(0);UM(A,e);V5[a[(a[(a[(a[t>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](A,e);i=a[(a[t>>2]|0)+108>>2]|0;if(i|0?r[i+81>>0]|0:0)jF(A,10,i);xM(A)}}while(0);k=c;return}function VI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;n=l;i=A+256|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[n+16>>2]=a[i+16>>2];a[n+20>>2]=a[i+20>>2];a[n+24>>2]=a[i+24>>2];a[n+28>>2]=a[i+28>>2];A:do{if((XI(e,n)|0)<<24>>24?(f=e+-48|0,(RI(A,e)|0)<<24>>24):0){t=e+48|0;i=S2(Vh(a[((a[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;i=m2(i+3+(S2(Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)|0)|0;$1(i,Vh(a[((a[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;t=(Ih(Id(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)==0;n=i+(S2(i)|0)|0;if(t){r[n>>0]=r[141747]|0;r[n+1>>0]=r[141748]|0;r[n+2>>0]=r[141749]|0}else{r[n>>0]=r[137738]|0;r[n+1>>0]=r[137739]|0;r[n+2>>0]=r[137740]|0}u3(i,Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0;cr(A,i);L2(i);i=dR(e,a[47191]|0,195059)|0;if(r[i>>0]|0)cr(A,i);i=dR(e,a[47185]|0,195059)|0;e:do{if(!(r[i>>0]|0))i=0;else{HI(i)|0;i=188228;while(1){f=i;i=i+4|0;f=a[f>>2]|0;if(!f){i=188228;break e}if((r[f>>0]|0)!=105)continue;if(!(A1(f,134335)|0))break A}}}while(0);aM(A,e,i);nM(A,e,i);lM(A)}}while(0);k=l;return}function JI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0)){A=1;break}if(!(Dd(a[(a[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function NI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0)){A=1;break}if(!(Dd(a[(a[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function XI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+64|0;t=c+32|0;f=c;n=A+16|0;A=a[n>>2]|0;i=a[A+8>>2]|0;if((i|0)!=0?(i=i+8|0,a[f>>2]=a[i>>2],a[f+4>>2]=a[i+4>>2],a[f+8>>2]=a[i+8>>2],a[f+12>>2]=a[i+12>>2],a[f+16>>2]=a[i+16>>2],a[f+20>>2]=a[i+20>>2],a[f+24>>2]=a[i+24>>2],a[f+28>>2]=a[i+28>>2],a[t>>2]=a[e>>2],a[t+4>>2]=a[e+4>>2],a[t+8>>2]=a[e+8>>2],a[t+12>>2]=a[e+12>>2],a[t+16>>2]=a[e+16>>2],a[t+20>>2]=a[e+20>>2],a[t+24>>2]=a[e+24>>2],a[t+28>>2]=a[e+28>>2],(RM(f,t)|0)!=0):0)A=1;else l=3;do{if((l|0)==3){i=a[A+96>>2]|0;if(i){a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[t+16>>2]=a[e+16>>2];a[t+20>>2]=a[e+20>>2];a[t+24>>2]=a[e+24>>2];a[t+28>>2]=a[e+28>>2];if((GH(i,t)|0)<<24>>24){A=1;break}A=a[n>>2]|0}A=a[A+108>>2]|0;if((A|0?r[A+81>>0]|0:0)?(a[t>>2]=a[e>>2],a[t+4>>2]=a[e+4>>2],a[t+8>>2]=a[e+8>>2],a[t+12>>2]=a[e+12>>2],a[t+16>>2]=a[e+16>>2],a[t+20>>2]=a[e+20>>2],a[t+24>>2]=a[e+24>>2],a[t+28>>2]=a[e+28>>2],(GH(A,t)|0)<<24>>24):0){A=1;break}A=0}}while(0);k=c;return A|0}function RI(A,e){A=A|0;e=e|0;var i=0,f=0;A:do{if((a[A+156>>2]|0)>=2?(i=dR(e,a[47190]|0,195059)|0,(VM(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=0;while(1){if((i|0)>=2){i=0;break A}f=(i|0)==1;f=dR(a[((a[e>>2]&3|0)==((f?2:3)|0)?e:e+((f?-1:1)*48|0)|0)+40>>2]|0,a[47167]|0,195059)|0;if(!(r[f>>0]|0)){i=1;break A}if(!((VM(A,f)|0)<<24>>24))i=i+1|0;else{i=1;break}}}else i=0;else i=1}while(0);return i|0}function HI(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+192|0;u=o+24|0;w=o+16|0;s=o+8|0;b=o;n=o+48|0;c=o+32|0;if(r[100282]|0){co(188492,128,194826);r[100282]=0}co(c,128,o+56|0);a[n>>2]=A;l=c+4|0;t=c+8|0;e=0;i=0;A:while(1){f=e;e:while(1)switch(MM(n,c)|0){case 0:{e=21;break A}case 40:if(!(f<<24>>24)){f=1;continue e}else{e=7;break A}case 41:if(!(f<<24>>24)){e=9;break A}else{f=0;continue e}default:break e}if(!(f<<24>>24)){if((i|0)==63){e=12;break}e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}a[47124]=e+1;r[e>>0]=0;a[188228+(i<<2)>>2]=a[47124];i=i+1|0}e=a[l>>2]|0;if(e>>>0>=(a[t>>2]|0)>>>0){bo(c,1)|0;e=a[l>>2]|0}r[e>>0]=0;e=a[c>>2]|0;a[l>>2]=e;wo(188492,e)|0;e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}a[47124]=e+1;r[e>>0]=0;e=f}do{if((e|0)==7){a[b>>2]=A;ao(1,100283,b)|0;a[47057]=0;uo(c)}else if((e|0)==9){a[s>>2]=A;ao(1,100317,s)|0;a[47057]=0;uo(c)}else if((e|0)==12){a[w>>2]=A;ao(0,100345,w)|0;a[47120]=0;uo(c)}else if((e|0)==21){if(f<<24>>24){a[u>>2]=A;ao(1,100368,u)|0;a[47057]=0;uo(c);break}a[188228+(i<<2)>>2]=0;uo(c);e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}r[e>>0]=0;a[47124]=a[47123]}}while(0);k=o;return 188228}function pI(A){A=A|0;var e=0;e=k;k=k+A|0;k=k+15&-16;return e|0}function UI(){return k|0}function xI(A){A=A|0;k=A}function TI(A,e){A=A|0;e=e|0;k=A;o=e}function jI(A,e){A=A|0;e=e|0;if(!d){d=A;B=e}}function SI(A){A=A|0;L=A}function PI(){return L|0}function OI(A){A=A|0;a[46654]=A;return 0}function KI(){return a[46654]|0}function _I(A,e){A=A|0;e=e|0;UA(0,A|0,e|0)|0;return}function qI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t+4|0;n=t;a[f>>2]=0;l=wE()|0;dE(l,10976);dE(l,17220);dE(l,17440);fo(1)|0;ro(18)|0;while(1){A=_h(A)|0;r=a[f>>2]|0;if(!A)break;if(r|0){A=195059;continue}uE(l,A,i)|0;hE(l,A,e,f,n)|0;A=195059}k=t;return r|0}function $I(A){A=A|0;var e=0,i=0,r=0,n=0;n=k;k=k+16|0;e=n+4|0;i=n;r=a[(a[A+16>>2]|0)+8>>2]|0;A=A+64|0;switch(a[A>>2]|0){case 0:{qV(r);break}case 1:{if(f[(a[r+16>>2]|0)+136>>1]&1)cH(r);break}case 4:case 5:case 6:{OV(r,i,e);iZ(r,a[i>>2]|0,a[e>>2]|0,a[A>>2]|0);break}default:{}}k=n;return}function AZ(A){A=A|0;var e=0,i=0,r=0,f=0;i=a[(a[A+16>>2]|0)+8>>2]|0;if(!(a[46655]|0)){a[46655]=a[4678];a[46656]=57;a[46657]=19}r=i+64|0;f=(a[r>>2]|0)+8|0;e=a[f>>2]|0;a[f>>2]=186620;switch(a[A+64>>2]|0){case 2:{XV(A,i,A,0);break}case 3:{XV(A,i,A,1);break}case 1:case 0:{if(!(a[A+152>>2]&134217728))rv(i,A)|0;break}case 6:case 5:case 4:{eZ(i);if(!(a[A+152>>2]&134217728))rv(i,A)|0;break}default:{}}a[(a[r>>2]|0)+8>>2]=e;return}function eZ(A){A=A|0;var e=0,i=0;e=a[46659]|0;if((e|0)!=(a[46658]|0)){i=a[a[46690]>>2]|0;if(!i){i=oH(A,0,99808,195059)|0;a[a[46690]>>2]=i;e=a[46659]|0}if(e>>>0>=(a[46660]|0)>>>0){bo(186632,1)|0;e=a[46659]|0}r[e>>0]=0;e=a[46658]|0;a[46659]=e;Vo(A,i,e)|0}if(a[(a[A+16>>2]|0)+12>>2]|0){i=a[(a[46690]|0)+4>>2]|0;e=a[46675]|0;if(e>>>0>=(a[46676]|0)>>>0){bo(186696,1)|0;e=a[46675]|0}r[e>>0]=0;e=a[46674]|0;a[46675]=e;Vo(A,i,e)|0}To(A,66753,a[(a[46690]|0)+8236>>2]|0,195059)|0;e=0;while(1){if((e|0)==8)break;uo(186632+(e<<4)|0);e=e+1|0}L2(a[46690]|0);b[1]=1.0;b[5]=1.0;a[46691]=0;a[46695]=0;return}function iZ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0;t=m2(8240)|0;a[46690]=t;A:do{switch(n|0){case 6:{f[t+8232>>1]=14;n=66769;break}case 5:{f[t+8232>>1]=12;n=66773;break}default:{n=po(A,66753)|0;if((n|0?r[n>>0]|0:0)?(l=rZ(n)|0,(l&65535)>10):0){t=a[46690]|0;f[t+8232>>1]=l;break A}n=rZ(66765)|0;t=a[46690]|0;f[t+8232>>1]=n;n=66765}}}while(0);a[t+8236>>2]=n;c=A+16|0;n=a[c>>2]|0;if(!(a[n+180>>2]|0))l=0;else{l=oH(A,0,99808,195059)|0;t=a[46690]|0;n=a[c>>2]|0}a[t>>2]=l;if(!(r[n+113>>0]&8))n=0;else n=oH(A,0,66777,195059)|0;a[(a[46690]|0)+4>>2]=n;t=oH(A,1,99808,195059)|0;a[(a[46690]|0)+8>>2]=t;t=oH(A,1,66777,195059)|0;a[(a[46690]|0)+12>>2]=t;t=oH(A,2,99808,195059)|0;n=a[46690]|0;a[n+16>>2]=t;if(!i)l=0;else{l=oH(A,2,66785,195059)|0;n=a[46690]|0}a[n+20>>2]=l;if(!e)l=0;else{l=oH(A,2,66793,195059)|0;n=a[46690]|0}a[n+24>>2]=l;l=r[(a[c>>2]|0)+113>>0]|0;if(!(l&33))t=0;else{t=oH(A,2,66777,195059)|0;n=a[46690]|0;l=r[(a[c>>2]|0)+113>>0]|0}a[n+28>>2]=t;if(!(l&2))t=0;else{t=oH(A,2,66801,195059)|0;n=a[46690]|0;l=r[(a[c>>2]|0)+113>>0]|0}a[n+32>>2]=t;if(!(l&4))l=0;else{l=oH(A,2,66810,195059)|0;n=a[46690]|0}a[n+36>>2]=l;n=0;while(1){if((n|0)==8)break;co(186632+(n<<4)|0,1024,(a[46690]|0)+40+(n<<10)|0);n=n+1|0}return}function rZ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+1040|0;l=c;n=c+8|0;f=0;e=A;A:while(1){do{i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A}while(((i<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){t=7;break}r[n+f>>0]=i;f=f+1|0}if((t|0)==7){a[l>>2]=A;ao(0,66819,l)|0}r[n+f>>0]=0;t=(q3(n)|0)&65535;k=c;return t|0}function fZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;e=a[a[46690]>>2]|0;A=a[46663]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0;if(a[(a[i+16>>2]|0)+12>>2]|0){e=a[(a[46690]|0)+4>>2]|0;A=a[46679]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}b[2]=1.0;b[6]=1.0;a[46692]=0;a[46696]=0;return}function aZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;A=a[46663]|0;if((a[46662]|0)!=(A|0)){e=a[(a[46690]|0)+8>>2]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0}A=a[46679]|0;if((a[46678]|0)!=(A|0)){e=a[(a[46690]|0)+12>>2]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}b[9]=1.0;b[11]=1.0;a[46699]=0;a[46701]=0;return}function nZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;A=a[46663]|0;if((a[46662]|0)!=(A|0)){e=a[(a[46690]|0)+16>>2]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0}A=a[46667]|0;if((a[46666]|0)!=(A|0)){e=a[(a[46690]|0)+24>>2]|0;if(A>>>0>=(a[46668]|0)>>>0){bo(186664,1)|0;A=a[46667]|0}r[A>>0]=0;A=a[46666]|0;a[46667]=A;Vo(i,e,A)|0}A=a[46671]|0;if((a[46670]|0)!=(A|0)){e=a[(a[46690]|0)+20>>2]|0;if(A>>>0>=(a[46672]|0)>>>0){bo(186680,1)|0;A=a[46671]|0}r[A>>0]=0;A=a[46670]|0;a[46671]=A;Vo(i,e,A)|0}A=a[46679]|0;if((a[46678]|0)!=(A|0)){e=a[(a[46690]|0)+28>>2]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}A=a[46683]|0;if((a[46682]|0)!=(A|0)){e=a[(a[46690]|0)+36>>2]|0;if(A>>>0>=(a[46684]|0)>>>0){bo(186728,1)|0;A=a[46683]|0}r[A>>0]=0;A=a[46682]|0;a[46683]=A;Vo(i,e,A)|0}A=a[46687]|0;if((a[46686]|0)!=(A|0)){e=a[(a[46690]|0)+32>>2]|0;if(A>>>0>=(a[46688]|0)>>>0){bo(186744,1)|0;A=a[46687]|0}r[A>>0]=0;A=a[46686]|0;a[46687]=A;Vo(i,e,A)|0}b[10]=1.0;b[12]=1.0;b[3]=1.0;b[4]=1.0;b[7]=1.0;b[8]=1.0;a[46700]=0;a[46702]=0;a[46693]=0;a[46694]=0;a[46697]=0;a[46698]=0;return}function lZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1056|0;t=v+16|0;B=v+8|0;d=v;c=v+32|0;u=a[(a[A+16>>2]|0)+12>>2]|0;o=a[11416+(u<<2)>>2]|0;wo(o,66916)|0;n=i+4|0;hZ(c,+b[(a[n>>2]|0)+16>>3]);wo(o,c)|0;vZ(A,195059,a[a[n>>2]>>2]|0);uZ(A);h=r[i+48>>0]|0;h=h<<24>>24==108?-1:h<<24>>24==114&1;n=a[n>>2]|0;if(!n)n=0;else n=a[n+24>>2]&127;l=f[(a[46690]|0)+8232>>1]|0;if((l&65535)>14?(s=a[11464+((l&65535)+-15<<2)>>2]&n,w=186764+(u<<2)|0,(a[w>>2]|0)!=(s|0)):0){a[d>>2]=s;P4(c,66919,d)|0;wo(o,c)|0;a[w>>2]=s}d=e+8|0;b[d>>3]=+b[d>>3]+ +b[i+24>>3];wo(o,66925)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];oZ(o,t);a[B>>2]=h;P4(c,102220,B)|0;wo(o,c)|0;hZ(c,+b[i+32>>3]);wo(o,c)|0;vZ(A,195059,a[i>>2]|0);k=v;return}function tZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+1040|0;f=l;n=l+16|0;r=a[(a[A+16>>2]|0)+12>>2]|0;wZ(A);uZ(A);if(!i){A=a[11416+(r<<2)>>2]|0;wo(A,66913)|0}else{if((i|1|0)==3)EZ(A,i,e,2);else CZ(A);A=a[11416+(r<<2)>>2]|0;wo(A,66910)|0}a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];oZ(A,f);hZ(n,+b[e+16>>3]-+b[e>>3]);wo(A,n)|0;hZ(n,+b[e+24>>3]-+b[e+8>>3]);wo(A,n)|0;k=l;return}function cZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;wZ(A);uZ(A);if(!r)kZ(A,112,e,i);else{if((r|1|0)==3)EZ(A,r,e,i);else CZ(A);kZ(A,80,e,i)}return}function bZ(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;wZ(A);uZ(A);if(!a)kZ(A,66,e,i);else{if((a|1|0)==3)EZ(A,a,e,i);else CZ(A);kZ(A,98,e,i)}return}function sZ(A,e,i){A=A|0;e=e|0;i=i|0;wZ(A);uZ(A);kZ(A,76,e,i);return}function wZ(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+1184|0;l=w;f=w+24|0;s=w+8|0;co(s,1024,w+152|0);t=A+16|0;e=a[t>>2]|0;n=+b[e+152>>3];i=8+(a[e+12>>2]<<3)|0;if(n!=+b[i>>3]){b[i>>3]=n;wo(s,66882)|0;b[l>>3]=+b[(a[t>>2]|0)+152>>3];P4(f,66896,l)|0;dZ(f,0);wo(s,f)|0;f=s+4|0;e=a[f>>2]|0;i=s+8|0;if(e>>>0>=(a[i>>2]|0)>>>0){bo(s,1)|0;e=a[f>>2]|0}a[f>>2]=e+1;r[e>>0]=41;e=a[f>>2]|0;if(e>>>0>=(a[i>>2]|0)>>>0){bo(s,1)|0;e=a[f>>2]|0}r[e>>0]=0;e=a[s>>2]|0;a[f>>2]=e;vZ(A,66901,e);e=a[t>>2]|0}e=a[e+160>>2]|0;if(e|0){t=s+4|0;c=s+8|0;A:while(1){l=e+4|0;e=a[e>>2]|0;if(!e)break;switch(r[e>>0]|0){case 102:{if(!(A1(e,111101)|0)){e=l;continue A}break}case 98:{if(!(A1(e,111083)|0)){e=l;continue A}break}case 115:{if(!(A1(e,111088)|0)){e=l;continue A}break}default:{}}wo(s,e)|0;do{f=e;e=e+1|0}while((r[f>>0]|0)!=0);if(r[e>>0]|0){i=a[t>>2]|0;if(i>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}a[t>>2]=i+1;r[i>>0]=40;f=0;while(1){if(!(r[e>>0]|0))break;if(f|0){i=a[t>>2]|0;if(i>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}a[t>>2]=i+1;r[i>>0]=44}wo(s,e)|0;do{i=e;e=e+1|0}while((r[i>>0]|0)!=0);f=f+1|0}e=a[t>>2]|0;if(e>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=41}e=a[t>>2]|0;if(e>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;e=a[t>>2]|0}r[e>>0]=0;e=a[s>>2]|0;a[t>>2]=e;vZ(A,66901,e);e=l}uo(s)}k=w;return}function uZ(A){A=A|0;BZ((a[A+16>>2]|0)+16|0);vZ(A,75834,193758);return}function kZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;b=k;k=k+1040|0;c=b;t=b+16|0;l=a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0;n=l+4|0;A=a[n>>2]|0;if(A>>>0>=(a[l+8>>2]|0)>>>0){bo(l,1)|0;A=a[n>>2]|0}a[n>>2]=A+1;r[A>>0]=e;a[c>>2]=f;P4(t,66846,c)|0;wo(l,t)|0;A=0;while(1){if((A|0)>=(f|0))break;t=i+(A<<4)|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];oZ(l,c);A=A+1|0}k=b;return}function oZ(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+1024|0;r=i;hZ(r,+b[e>>3]);wo(A,r)|0;hZ(r,+NV(+b[e+8>>3]));wo(A,r)|0;k=i;return}function hZ(A,e){A=A|0;e=+e;var i=0,r=0;i=k;k=k+16|0;r=i;b[r>>3]=e>-1.0e-08&e<1.0e-08?0.0:e;P4(A,66851,r)|0;dZ(A,1);k=i;return}function dZ(A,e){A=A|0;e=e|0;var i=0,f=0;i=G1(A,46)|0;if(!i){if(e|0){i=A+(S2(A)|0)|0;f=10}}else{while(1){A=i+1|0;if(!(r[A>>0]|0))break;else i=A}A:while(1){switch(r[i>>0]|0){case 46:{f=5;break A}case 48:break;default:{f=6;break A}}r[i>>0]=0;i=i+-1|0}if((f|0)==5)r[i>>0]=0;else if((f|0)==6)i=i+1|0;if(e|0)f=10}if((f|0)==10){r[i>>0]=32;r[i+1>>0]=0}return}function BZ(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;c=k;k=k+32|0;t=c+16|0;l=c;e=r[A+3>>0]|0;i=n[A>>0]|0;f=n[A+1>>0]|0;A=n[A+2>>0]|0;if(e<<24>>24==-1){a[l>>2]=i;a[l+4>>2]=f;a[l+8>>2]=A;P4(193758,75714,l)|0}else{a[t>>2]=i;a[t+4>>2]=f;a[t+8>>2]=A;a[t+12>>2]=e&255;P4(193758,66864,t)|0}k=c;return}function vZ(A,e,i){A=A|0;e=e|0;i=i|0;gZ(a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0,e,i);return}function gZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;f=k;k=k+1040|0;l=f;n=f+8|0;t=S2(i)|0;a[l>>2]=e;a[l+4>>2]=t;P4(n,66857,l)|0;wo(A,n)|0;wo(A,i)|0;i=A+4|0;e=a[i>>2]|0;if(e>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=32;k=f;return}function EZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0.0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0;I=k;k=k+1120|0;v=I+64|0;C=I+80|0;t=I+32|0;d=I+16|0;B=I;g=a[A+16>>2]|0;n=+(a[g+136>>2]|0)*.017453292519943295;if((l[(a[46690]|0)+8232>>1]|0)<14)CZ(A);else{co(C,1024,I+96|0);E=(e|0)==2;if(E){YH(i,t,f,n,2);i=C+4|0;e=a[i>>2]|0;if(e>>>0>=(a[C+8>>2]|0)>>>0){bo(C,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=91;a[v>>2]=a[t>>2];a[v+4>>2]=a[t+4>>2];a[v+8>>2]=a[t+8>>2];a[v+12>>2]=a[t+12>>2];oZ(C,v);B=t+16|0;a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];oZ(C,v)}else{YH(i,t,f,0.0,3);h=+b[t+24>>3];u=+b[t>>3];if(n==0.0){w=+b[t+8>>3];o=h*.25;n=w;s=u}else{o=h*.25;Z=o;s=+D(+n)*Z+u;w=+b[t+8>>3];n=+M(+n)*Z+w}b[d>>3]=s;b[d+8>>3]=n;b[B>>3]=u;b[B+8>>3]=w;i=C+4|0;e=a[i>>2]|0;if(e>>>0>=(a[C+8>>2]|0)>>>0){bo(C,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=40;a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];oZ(C,v);IZ(C,o);a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];oZ(C,v);IZ(C,h)}wo(C,66907)|0;e=g+140|0;n=+c[e>>2];i=g+56|0;if(n>0.0){ZZ(C,n,i);ZZ(C,+c[e>>2],g+96|0)}else{ZZ(C,0.0,i);ZZ(C,1.0,g+96|0)}ko(C)|0;t=C+4|0;e=a[t>>2]|0;f=C+8|0;i=e>>>0>=(a[f>>2]|0)>>>0;if(E){if(i){bo(C,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=93}else{if(i){bo(C,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=41}e=a[t>>2]|0;if(e>>>0>=(a[f>>2]|0)>>>0){bo(C,1)|0;e=a[t>>2]|0}r[e>>0]=0;E=a[C>>2]|0;a[t>>2]=E;vZ(A,66904,E);uo(C)}k=I;return}function CZ(A){A=A|0;BZ((a[A+16>>2]|0)+56|0);vZ(A,66904,193758);return}function IZ(A,e){A=A|0;e=+e;var i=0,r=0;i=k;k=k+1024|0;r=i;hZ(r,e);wo(A,r)|0;k=i;return}function ZZ(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,a=0;r=k;k=k+1040|0;a=r;f=r+8|0;b[a>>3]=e;P4(f,94168,a)|0;dZ(f,1);BZ(i);gZ(A,f,193758);k=r;return}function GZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;r=k;k=k+1040|0;l=r;f=r+16|0;n=a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0;wo(n,67013)|0;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];oZ(n,l);hZ(f,+b[i+16>>3]-+b[i>>3]);wo(n,f)|0;hZ(f,+b[i+24>>3]-+b[i+8>>3]);wo(n,f)|0;vZ(A,195059,a[e+8>>2]|0);k=r;return}function QZ(A){A=A|0;var e=0;switch(a[A+64>>2]|0){case 0:{e=Qg(a[A>>2]|0)|0;kE(e,a[(a[A+16>>2]|0)+8>>2]|0,67797,0)|0;mg(e);break}case 1:{qV(a[(a[A>>2]|0)+168>>2]|0);break}default:{}}return}function mZ(A){A=A|0;var e=0,i=0,f=0,n=0;f=k;k=k+16|0;e=f;i=a[(a[A+16>>2]|0)+8>>2]|0;if(!(a[46703]|0)){a[46703]=a[4678];a[46704]=57;a[46705]=19}a[(a[i+64>>2]|0)+8>>2]=186812;LZ(i,1);a[e>>2]=0;r[e+4>>0]=(r[(a[i+16>>2]|0)+115>>0]|0)==1&1;n=a[A+64>>2]|0;r[e+5>>0]=((n|0)==0|(n|0)==3)&1;r[e+6>>0]=0;WZ(i,A,1,e);k=f;return}function LZ(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=a[A>>2]&-9;i=RB(A)|0;while(1){if(!i)break;LZ(i,0);i=HB(i)|0}A:do{if(e|0){e=cd(A)|0;while(1){if(!e)break A;a[e>>2]=a[e>>2]&-9;i=Oo(A,e)|0;while(1){if(!i)break;a[i>>2]=a[i>>2]&-9;i=_o(A,i)|0}e=bd(A,e)|0}}}while(0);return}function WZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h+8|0;u=h;w=(i|0)!=0;if(w){s=jk(11836,a[4581]|0)|0;Kd(A,1,141060,12,0);Kd(A,2,141060,12,0);Kd(A,0,141060,-12,0);f=yZ(A,0,s)|0;c=cd(A)|0;t=0;n=0;while(1){if(!c)break;if(!(Z1(Vh(c)|0,108006,7)|0)){b=n;n=zZ(s,Vh(c)|0)|0}else{b=n+1|0;n=n+f|0}a[(Ud(c,141060,0)|0)+8>>2]=n;l=Oo(A,c)|0;n=t;while(1){if(!l)break;a[(Ud(l,141060,0)|0)+8>>2]=n;l=_o(A,l)|0;n=n+1|0}c=bd(A,c)|0;t=n;n=b}pk(s)|0}else f=0;s=a[r>>2]|0;a[r>>2]=s+1;YZ(e,s);kg(e,97374)|0;DZ(A,e,i,r);MZ(A,e,r);kg(e,97345)|0;YZ(e,a[r>>2]|0);if(w){a[u>>2]=f;gg(e,67016,u)}else{a[o>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67036,o)}VZ(A,e,i,FZ(A,e,i,r)|0,r);JZ(A,e,i,r);kg(e,153599)|0;o=(a[r>>2]|0)+-1|0;a[r>>2]=o;YZ(e,o);if(w)kg(e,111008)|0;else kg(e,75357)|0;k=h;return}function yZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((Zd(A)|0)!=(A|0)){r=e+1|0;a[(Ud(A,141060,0)|0)+8>>2]=e;if(!(Z1(Vh(A)|0,108006,7)|0)){e=Vh(A)|0;OZ(i,e,a[(Ud(A,141060,0)|0)+8>>2]|0);e=r}else e=r}r=RB(A)|0;while(1){if(!r)break;A=yZ(r,e,i)|0;r=HB(r)|0;e=A}return e|0}function zZ(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e,512)|0;if(!A)A=-1;else A=a[A+12>>2]|0;return A|0}function YZ(A,e){A=A|0;e=e|0;while(1){if((e|0)<=0)break;kg(A,90574)|0;e=e+-1|0}return}function DZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=k;k=k+32|0;n=l+16|0;f=l+8|0;t=l;c=Vh(A)|0;YZ(e,a[r>>2]|0);a[t>>2]=RZ(c,r)|0;gg(e,67124,t);if(i|0){kg(e,97345)|0;YZ(e,a[r>>2]|0);c=(Ih(A)|0)!=0;a[f>>2]=c?107652:137308;gg(e,67738,f);YZ(e,a[r>>2]|0);c=(Gh(A)|0)!=0;a[n>>2]=c?107652:137308;gg(e,67755,n)}k=l;return}function MZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;s=u;t=Zd(A)|0;c=a[A>>2]&3;f=Jo(t,c,0)|0;A:do{if(f|0){b=i+5|0;while(1){if(!f)break A;n=Uo(A,f)|0;do{if(n|0){l=f+8|0;if(!(r[n>>0]|0)){n=a[l>>2]|0;if((r[n>>0]|0)!=108)break;if(A1(n,108224)|0)break}kg(e,97345)|0;YZ(e,a[i>>2]|0);a[s>>2]=RZ(a[l>>2]|0,i)|0;gg(e,67174,s);if(r[b>>0]|0?pZ(a[l>>2]|0)|0:0){UZ(Uo(A,f)|0,e,i);break}a[w>>2]=RZ(Uo(A,f)|0,i)|0;gg(e,67181,w)}}while(0);f=Jo(t,c,f)|0}}}while(0);k=u;return}function FZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;f=RB(A)|0;if(f){kg(e,97345)|0;n=a[r>>2]|0;a[r>>2]=n+1;YZ(e,n);n=(i|0)!=0;if(n){kg(e,67098)|0;A=0;i=f}else{kg(e,67158)|0;YZ(e,a[r>>2]|0);A=0;i=f}while(1){if(!i)break;if(!A)A=1;else kg(e,97345)|0;if(n)HZ(i,e,r);else{a[l>>2]=a[(Ud(i,141060,0)|0)+8>>2];gg(e,137395,l)}i=HB(i)|0}if(n)A=1;else{a[r>>2]=(a[r>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[r>>2]|0);kg(e,97340)|0;A=1}}else A=0;k=t;return A|0}function VZ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=cd(A)|0;if(!n){if((i|0)!=0&(r|0)!=0){a[f>>2]=(a[f>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[f>>2]|0);kg(e,97340)|0}}else{kg(e,97345)|0;l=(i|0)!=0;if(l)if(!r){r=a[f>>2]|0;a[f>>2]=r+1;YZ(e,r);kg(e,67098)|0;r=0}else r=0;else{r=a[f>>2]|0;a[f>>2]=r+1;YZ(e,r);kg(e,67112)|0;YZ(e,a[f>>2]|0);r=0}while(1){if(!n)break;if(Z1(Vh(n)|0,108006,7)|0){do{if(r)if(l){kg(e,97345)|0;break}else{kg(e,100999)|0;break}else r=1}while(0);XZ(n,e,i,f)}n=bd(A,n)|0}a[f>>2]=(a[f>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[f>>2]|0);kg(e,97340)|0}return}function JZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;f=cd(A)|0;A:do{if(f|0){while(1){if(!f)break A;if(Oo(A,f)|0)break;f=bd(A,f)|0}kg(e,97345)|0;t=a[r>>2]|0;a[r>>2]=t+1;YZ(e,t);kg(e,67048)|0;t=(i|0)!=0;if(t)n=0;else{YZ(e,a[r>>2]|0);n=0}while(1){if(!f)break;l=Oo(A,f)|0;while(1){if(!l)break;do{if(n)if(t){kg(e,97345)|0;break}else{kg(e,100999)|0;break}else n=1}while(0);NZ(l,e,i,r);l=_o(A,l)|0}f=bd(A,f)|0}a[r>>2]=(a[r>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[r>>2]|0);kg(e,97340)|0}}while(0);return}function NZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+32|0;t=c+24|0;l=c+16|0;n=c+8|0;f=c;if(!i){a[t>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,137395,t)}else{t=a[r>>2]|0;a[r>>2]=t+1;YZ(e,t);kg(e,97374)|0;YZ(e,a[r>>2]|0);a[f>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67060,f);YZ(e,a[r>>2]|0);a[n>>2]=a[(Ud(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,141060,0)|0)+8>>2];gg(e,67074,n);YZ(e,a[r>>2]|0);a[l>>2]=a[(Ud(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,141060,0)|0)+8>>2];gg(e,67087,l);MZ(A,e,r);kg(e,153599)|0;t=(a[r>>2]|0)+-1|0;a[r>>2]=t;YZ(e,t);kg(e,75357)|0}k=c;return}function XZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t+16|0;n=t+8|0;f=t;if(!i){a[l>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,137395,l)}else{l=a[r>>2]|0;a[r>>2]=l+1;YZ(e,l);kg(e,97374)|0;YZ(e,a[r>>2]|0);a[f>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67060,f);YZ(e,a[r>>2]|0);a[n>>2]=RZ(Vh(A)|0,r)|0;gg(e,67124,n);MZ(A,e,r);kg(e,153599)|0;l=(a[r>>2]|0)+-1|0;a[r>>2]=l;YZ(e,l);kg(e,75357)|0}k=t;return}function RZ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=e+4|0;if(r[n>>0]|0)A=EH(A)|0;if(!(a[46706]|0)){co(186824,1024,0);i=A}else i=A;A:while(1){f=r[i>>0]|0;switch(f<<24>>24){case 0:break A;case 34:{wo(186824,67137)|0;break}case 92:{wo(186824,96616)|0;break}case 47:{wo(186824,67140)|0;break}case 8:{wo(186824,67143)|0;break}case 12:{wo(186824,67146)|0;break}case 10:{wo(186824,67149)|0;break}case 13:{wo(186824,67152)|0;break}case 9:{wo(186824,67155)|0;break}default:{e=a[46707]|0;if(e>>>0>=(a[46708]|0)>>>0){bo(186824,1)|0;e=a[46707]|0}a[46707]=e+1;r[e>>0]=f}}i=i+1|0}e=a[46707]|0;if(e>>>0>=(a[46708]|0)>>>0){bo(186824,1)|0;e=a[46707]|0}r[e>>0]=0;e=a[46706]|0;a[46707]=e;if(r[n>>0]|0)L2(A);return e|0}function HZ(A,e,i){A=A|0;e=e|0;i=i|0;WZ(A,e,0,i);A=RB(A)|0;while(1){if(!A)break;kg(e,97345)|0;HZ(A,e,i);A=HB(A)|0}return}function pZ(A){A=A|0;var e=0;e=A+1|0;A:do{if((r[A>>0]|0)==95){A=(r[e>>0]|0)+-100<<24>>24;switch(((A&255)>>>2|A<<6&255)<<24>>24){case 0:{if(!(A1(e,67695)|0)){A=1;break A}break}case 2:{if(!(A1(e,67701)|0)){A=1;break A}break}case 1:{if(!(A1(e,67708)|0)){A=1;break A}return(A1(e,67722)|0)==0|0}case 4:{if(!(A1(e,67715)|0)){A=1;break A}A=(A1(e,67730)|0)==0&1;break A}default:{A=0;break A}}A=0}else A=0}while(0);return A|0}function UZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t;do{if(A|0?r[A>>0]|0:0){l=WC(A)|0;if(!l){a[f>>2]=A;ao(0,67186,f)|0;break}kg(e,153599)|0;n=a[i>>2]|0;a[i>>2]=n+1;YZ(e,n);kg(e,67213)|0;n=l+8|0;A=0;f=0;while(1){if((f|0)>=(a[l>>2]|0))break;if(!A)A=1;else kg(e,97345)|0;xZ((a[n>>2]|0)+(f*80|0)|0,e,i);f=f+1|0}a[i>>2]=(a[i>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[i>>2]|0);kg(e,97340)|0;yC(l)}}while(0);k=t;return}function xZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0.0;Q=k;k=k+240|0;Z=Q+224|0;I=Q+216|0;C=Q+208|0;E=Q+200|0;g=Q+192|0;v=Q+184|0;B=Q+176|0;d=Q+152|0;h=Q+136|0;o=Q+128|0;u=Q+112|0;w=Q+104|0;s=Q+96|0;c=Q+88|0;t=Q+72|0;l=Q+48|0;G=Q+40|0;n=Q+8|0;f=Q;r=a[i>>2]|0;a[i>>2]=r+1;YZ(e,r);kg(e,97374)|0;YZ(e,a[i>>2]|0);r=a[A>>2]|0;A:do{switch(r|0){case 1:case 0:{a[f>>2]=(r|0)==0?69:101;gg(e,67216,f);YZ(e,a[i>>2]|0);W=+b[A+16>>3];L=+b[A+24>>3];m=+b[A+32>>3];b[n>>3]=+b[A+8>>3];b[n+8>>3]=W;b[n+16>>3]=L;b[n+24>>3]=m;gg(e,67229,n);break}case 3:case 2:{a[G>>2]=(r|0)==2?80:112;gg(e,67216,G);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 5:case 4:{a[l>>2]=(r|0)==4?66:98;gg(e,67216,l);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 6:{gg(e,67264,Q+56|0);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 7:{gg(e,67276,Q+64|0);YZ(e,a[i>>2]|0);W=+b[A+16>>3];b[t>>3]=+b[A+8>>3];b[t+8>>3]=W;gg(e,67288,t);YZ(e,a[i>>2]|0);G=a[A+24>>2]|0;a[c>>2]=(G|0)==0?108:(G|0)==1?99:114;gg(e,67310,c);YZ(e,a[i>>2]|0);b[s>>3]=+b[A+32>>3];gg(e,67326,s);YZ(e,a[i>>2]|0);a[w>>2]=RZ(a[A+40>>2]|0,i)|0;gg(e,67343,w);break}case 9:case 8:{a[u>>2]=(r|0)==8?67:99;gg(e,67216,u);YZ(e,a[i>>2]|0);gg(e,67357,Q+120|0);YZ(e,a[i>>2]|0);a[o>>2]=RZ(a[A+8>>2]|0,i)|0;gg(e,67374,o);break}case 13:case 14:{a[h>>2]=(r|0)==13?67:99;gg(e,67216,h);YZ(e,a[i>>2]|0);switch(a[A+8>>2]|0){case 0:{gg(e,67357,Q+144|0);YZ(e,a[i>>2]|0);a[d>>2]=RZ(a[A+16>>2]|0,i)|0;gg(e,67374,d);break A}case 1:{gg(e,67389,Q+160|0);YZ(e,a[i>>2]|0);jZ(e,A+16|0,i);break A}default:{gg(e,67408,Q+168|0);YZ(e,a[i>>2]|0);SZ(e,A+16|0,i);break A}}}case 10:{gg(e,67427,B);YZ(e,a[i>>2]|0);b[v>>3]=+b[A+8>>3];gg(e,67439,v);YZ(e,a[i>>2]|0);a[g>>2]=RZ(a[A+16>>2]|0,i)|0;gg(e,67455,g);break}case 11:{gg(e,67469,E);YZ(e,a[i>>2]|0);a[C>>2]=RZ(a[A+8>>2]|0,i)|0;gg(e,67481,C);break}case 15:{gg(e,67496,I);YZ(e,a[i>>2]|0);a[Z>>2]=a[A+8>>2];gg(e,67508,Z);break}default:{}}}while(0);G=(a[i>>2]|0)+-1|0;a[i>>2]=G;YZ(e,G);kg(e,75357)|0;k=Q;return}function TZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0.0;t=k;k=k+48|0;l=t+32|0;n=t+16|0;f=t+8|0;r=a[e>>2]|0;i=a[e+4>>2]|0;gg(A,67669,t);e=0;while(1){if((e|0)>=(r|0))break;if((e|0)>0)gg(A,100999,f);c=+b[i+(e*24|0)+8>>3];b[n>>3]=+b[i+(e*24|0)>>3];b[n+8>>3]=c;gg(A,67681,n);e=e+1|0}gg(A,67622,l);k=t;return}function jZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0;r=k;k=k+32|0;f=r+16|0;l=r;YZ(A,a[i>>2]|0);n=+b[e+8>>3];b[l>>3]=+b[e>>3];b[l+8>>3]=n;gg(A,67625,l);YZ(A,a[i>>2]|0);n=+b[e+24>>3];b[f>>3]=+b[e+16>>3];b[f+8>>3]=n;gg(A,67647,f);YZ(A,a[i>>2]|0);PZ(A,a[e+32>>2]|0,a[e+36>>2]|0,i);k=r;return}function SZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0;r=k;k=k+48|0;f=r+24|0;t=r;YZ(A,a[i>>2]|0);n=+b[e+8>>3];l=+b[e+16>>3];b[t>>3]=+b[e>>3];b[t+8>>3]=n;b[t+16>>3]=l;gg(A,67524,t);YZ(A,a[i>>2]|0);l=+b[e+32>>3];n=+b[e+40>>3];b[f>>3]=+b[e+24>>3];b[f+8>>3]=l;b[f+16>>3]=n;gg(A,67552,f);YZ(A,a[i>>2]|0);PZ(A,a[e+48>>2]|0,a[e+52>>2]|0,i);k=r;return}function PZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0.0;s=k;k=k+48|0;t=s+32|0;l=s+16|0;n=s+8|0;gg(A,67580,s);f=0;while(1){if((f|0)>=(e|0))break;if((f|0)>0)gg(A,100999,n);u=+c[i+(f<<3)>>2];w=RZ(a[i+(f<<3)+4>>2]|0,r)|0;b[l>>3]=u;a[l+8>>2]=w;gg(A,67591,l);f=f+1|0}gg(A,67622,t);k=s;return}function OZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;r=W5[a[A>>2]&63](A,e,512)|0;if(r){if((a[r+12>>2]|0)!=(i|0)){a[f>>2]=e;ao(0,67768,f)|0}}else{f=W2(1,16)|0;a[f+8>>2]=s3(e)|0;a[f+12>>2]=i;W5[a[A>>2]&63](A,f,1)|0}k=n;return}function KZ(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+8>>2]|0);L2(e);return}function _Z(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;kg(A,68623)|0;c=a[a[A+12>>2]>>2]|0;t=a[c+4>>2]|0;l=a[c+8>>2]|0;a[n>>2]=a[c>>2];a[n+4>>2]=t;a[n+8>>2]=l;gg(A,68633,n);a[r>>2]=Vh(a[f+8>>2]|0)|0;gg(A,68668,r);a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,68681,i);kg(A,68694)|0;kg(A,68704)|0;kg(A,68712)|0;kg(A,68720)|0;kg(A,68728)|0;kg(A,68736)|0;kg(A,68744)|0;kg(A,68748)|0;kg(A,68753)|0;k=e;return}function qZ(A){A=A|0;kg(A,68604)|0;return}function $Z(A){A=A|0;a[46710]=2;return}function AG(A){A=A|0;a[46710]=1;return}function eG(A){A=A|0;a[46710]=2;return}function iG(A){A=A|0;a[46710]=0;return}function rG(A){A=A|0;a[46710]=2;return}function fG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0;o=k;k=k+80|0;u=o;s=a[(a[A+16>>2]|0)+16>>2]|0;w=a[46710]|0;f=a[i+4>>2]|0;n=+b[A+352>>3]*+b[f+16>>3];l=a[A+360>>2]|0?1.5707963267948966:0.0;t=a[i>>2]|0;c=n*.3333333333333333*+((S2(t)|0)>>>0);f=a[f+8>>2]|0;if(!f)f=-1;else f=a[f+20>>2]|0;B=r[i+48>>0]|0;d=+b[e>>3];h=+b[e+8>>3];i=kG(t)|0;a[u>>2]=4;a[u+4>>2]=B<<24>>24==108?0:B<<24>>24==114?2:1;a[u+8>>2]=s;a[u+12>>2]=w;a[u+16>>2]=0;a[u+20>>2]=f;b[u+24>>3]=n;b[u+32>>3]=l;a[u+40>>2]=6;b[u+48>>3]=n;b[u+56>>3]=c;a[u+64>>2]=~~(d+(d>=0.0?.5:-.5));a[u+68>>2]=~~(h+(h+-72.0>=0.0?-71.5:-72.5));a[u+72>>2]=i;gg(A,68549,u);k=o;return}function aG(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w;t=w+20|0;s=e+32|0;A:do{switch(a[s>>2]|0){case 5:{i=0;while(1){f=a[12724+(i<<2)>>2]|0;if((i|0)==8)break A;l=a[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(A1(f,l)|0)==0:0){b=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(uG(t,n[e>>0]|0,n[f>>0]|0,n[l>>0]|0)|0)+32|0;if(!(a[t>>2]|0))b=10;else{u=n[e>>0]|0;t=n[f>>0]|0;b=n[l>>0]|0;a[c>>2]=0;a[c+4>>2]=i;a[c+8>>2]=u;a[c+12>>2]=t;a[c+16>>2]=b;gg(A,68492,c);b=10}break}default:vA(138394,67889,163,67920)}}while(0);if((b|0)==10)a[e>>2]=i;a[s>>2]=6;k=w;return}function nG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0;r=k;k=k+112|0;f=r+8|0;g=r+104|0;v=r;c=a[A+16>>2]|0;B=~~+b[c+152>>3];d=a[c+16>>2]|0;h=a[c+56>>2]|0;o=a[46710]|0;sG(c,g,v);w=+b[e>>3];c=~~(w+(w>=0.0?.5:-.5));s=+b[e+8>>3];t=~~(s+(s>=0.0?.5:-.5));l=+b[e+16>>3];w=l-w;n=+b[e+24>>3];s=n-s;e=a[g>>2]|0;u=+b[v>>3];a[f>>2]=1;a[f+4>>2]=1;a[f+8>>2]=e;a[f+12>>2]=B;a[f+16>>2]=d;a[f+20>>2]=h;a[f+24>>2]=o;a[f+28>>2]=0;a[f+32>>2]=i|0?20:-1;b[f+40>>3]=u;a[f+48>>2]=0;b[f+56>>3]=0.0;a[f+64>>2]=c;a[f+68>>2]=t;a[f+72>>2]=~~(w+(w>=0.0?.5:-.5));a[f+76>>2]=~~(s+(s>=0.0?.5:-.5));a[f+80>>2]=c;a[f+84>>2]=t;a[f+88>>2]=~~(l+(l>=0.0?.5:-.5));a[f+92>>2]=~~(n+(n>=0.0?.5:-.5));gg(A,68427,f);k=r;return}function lG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;f=k;k=k+96|0;n=f+8|0;u=f+80|0;o=f;h=a[A+16>>2]|0;w=~~+b[h+152>>3];s=a[h+16>>2]|0;c=a[h+56>>2]|0;t=a[46710]|0;sG(h,u,o);u=a[u>>2]|0;l=+b[o>>3];a[n>>2]=2;a[n+4>>2]=3;a[n+8>>2]=u;a[n+12>>2]=w;a[n+16>>2]=s;a[n+20>>2]=c;a[n+24>>2]=t;a[n+28>>2]=0;a[n+32>>2]=r|0?20:-1;b[n+40>>3]=l;a[n+48>>2]=0;a[n+52>>2]=0;a[n+56>>2]=0;a[n+60>>2]=0;a[n+64>>2]=0;a[n+68>>2]=i+1;gg(A,68331,n);wG(A,e,i,1);k=f;return}function tG(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0,z=0;L=k;k=k+192|0;m=L+176|0;G=L+168|0;Q=L+104|0;Z=L+96|0;l=L+88|0;g=L+180|0;E=L+80|0;C=L+16|0;I=L;f=A+16|0;r=a[f>>2]|0;h=~~+b[r+152>>3];d=a[r+16>>2]|0;B=a[46710]|0;if((i|0)<=3)vA(67882,67889,360,67909);v=m2((i*140|0)+140|0)|0;sG(r,g,E);if(!n){u=4;t=0;c=-1}else{u=5;t=a[(a[f>>2]|0)+56>>2]|0;c=20}y=+b[e>>3];w=C+48|0;b[w>>3]=y;W=+b[e+8>>3];b[C+56>>3]=W;a[l>>2]=~~(y+(y>=0.0?.5:-.5));a[l+4>>2]=~~(W+(W>=0.0?.5:-.5));s=I+8|0;r=v+(P4(v,81099,l)|0)|0;o=1;n=0;while(1){l=n+3|0;if((l|0)>=(i|0))break;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];f=1;while(1){if((f|0)==4){f=1;break}z=f+n|0;b[C+(f<<4)>>3]=+b[e+(z<<4)>>3];b[C+(f<<4)+8>>3]=+b[e+(z<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(I,C,3,+(f|0)*.16666666666666666,0,0);W=+b[I>>3];y=+b[s>>3];a[Z>>2]=~~(W+(W>=0.0?.5:-.5));a[Z+4>>2]=~~(y+(y>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,Z)|0)|0}o=o+6|0;n=l}f=a[g>>2]|0;y=+b[E>>3];a[Q>>2]=3;a[Q+4>>2]=u;a[Q+8>>2]=f;a[Q+12>>2]=h;a[Q+16>>2]=d;a[Q+20>>2]=t;a[Q+24>>2]=B;a[Q+28>>2]=0;a[Q+32>>2]=c;b[Q+40>>3]=y;a[Q+48>>2]=0;a[Q+52>>2]=0;a[Q+56>>2]=0;a[Q+60>>2]=o;gg(A,68382,Q);a[G>>2]=v;gg(A,81106,G);L2(v);f=o+-1|0;r=0;while(1){if((r|0)>=(o|0))break;a[m>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,m);r=r+1|0}kg(A,153599)|0;k=L;return}function cG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;r=k;k=k+96|0;f=r+8|0;s=r+80|0;w=r;u=a[A+16>>2]|0;c=~~+b[u+152>>3];t=a[u+16>>2]|0;l=a[46710]|0;sG(u,s,w);s=a[s>>2]|0;n=+b[w>>3];a[f>>2]=2;a[f+4>>2]=1;a[f+8>>2]=s;a[f+12>>2]=c;a[f+16>>2]=t;a[f+20>>2]=0;a[f+24>>2]=l;a[f+28>>2]=0;a[f+32>>2]=0;b[f+40>>3]=n;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=i;gg(A,68331,f);wG(A,e,i,0);k=r;return}function bG(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,68325,r);k=i;return}function sG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function wG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function uG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;a[A>>2]=0;b=a[46711]|0;l=195075;n=0;t=-1;while(1){if((n|0)>=(b|0)){s=6;break}w=(f[190680+(n<<1)>>1]|0)-e|0;u=(f[191192+(n<<1)>>1]|0)-i|0;c=(f[191704+(n<<1)>>1]|0)-r|0;c=(U(u,u)|0)+(U(w,w)|0)+(U(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=n}n=n+1|0}if((s|0)==6){a[46711]=b+1;if((b|0)==256)n=t;else{f[190680+(n<<1)>>1]=e;f[191192+(n<<1)>>1]=i;f[191704+(n<<1)>>1]=r;a[A>>2]=1}}return n|0}function kG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46712]|0;if(!e){a[46713]=64;e=m2(64)|0;a[46712]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46713]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46713]=e;e=y2(a[46712]|0,e)|0;a[46712]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46712]|0}function oG(A){A=A|0;var e=0,i=0,f=0;i=a[A+16>>2]|0;switch(a[A+64>>2]|0){case 0:{kg(A,68220)|0;e=i+208|0;i=a[e>>2]|0;if(i|0?r[i>>0]|0:0){kg(A,68234)|0;kg(A,PF(a[e>>2]|0)|0)|0;kg(A,153599)|0}break}case 1:{e=i+208|0;f=a[e>>2]|0;if(f|0?r[f>>0]|0:0){kg(A,68234)|0;kg(A,PF(a[e>>2]|0)|0)|0;kg(A,102604)|0;kg(A,PF(Vh(a[i+8>>2]|0)|0)|0)|0;kg(A,153599)|0}break}case 3:{f=PF(Vh(a[i+8>>2]|0)|0)|0;kg(A,68243)|0;kg(A,f)|0;kg(A,68253)|0;kg(A,f)|0;kg(A,68208)|0;break}default:{}}return}function hG(A){A=A|0;var e=0;e=a[A+16>>2]|0;switch(a[A+64>>2]|0){case 2:{BG(A,a[e+264>>2]|0,a[e+272>>2]|0,a[e+268>>2]|0,a[e+208>>2]|0,a[e+228>>2]|0,a[e+244>>2]|0,a[e+212>>2]|0);break}case 3:{BG(A,a[e+264>>2]|0,a[e+272>>2]|0,a[e+268>>2]|0,a[e+208>>2]|0,a[e+228>>2]|0,a[e+244>>2]|0,a[e+212>>2]|0);kg(A,68212)|0;break}default:{}}return}function dG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=a[A+16>>2]|0;BG(A,a[n+264>>2]|0,a[n+272>>2]|0,a[n+268>>2]|0,e,i,r,f);return}function BG(A,e,i,f,n,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0;Z=k;k=k+128|0;I=Z+120|0;g=Z+112|0;v=Z+96|0;B=Z+80|0;d=Z+56|0;C=Z+48|0;h=Z+40|0;E=Z+24|0;o=Z;A:do{if((i|0)!=0&(f|0)!=0){s=f+10|0;if((a[46714]|0)<(f|0)){a[46714]=s;u=y2(a[46715]|0,s<<3)|0;a[46715]=u}else u=a[46715]|0;s=0;while(1){if((s|0)>=(f|0))break;G=+b[i+(s<<4)>>3];a[u+(s<<3)>>2]=~~(G+(G>=0.0?.5:-.5));G=+b[i+(s<<4)+8>>3];a[u+(s<<3)+4>>2]=~~(G+(G>=0.0?.5:-.5));s=s+1|0}w=A+64|0;s=a[w>>2]|0;i=(n|0)!=0;if(i&(s|0)==0){if(!(r[n>>0]|0))break;switch(e|0){case 0:{E=a[u>>2]|0;C=a[u+12>>2]|0;I=a[u+8>>2]|0;f=a[u+4>>2]|0;a[o>>2]=n;a[o+4>>2]=E;a[o+8>>2]=C;a[o+12>>2]=I;a[o+16>>2]=f;gg(A,67954,o);break A}case 1:{C=a[u>>2]|0;I=a[u+4>>2]|0;f=(a[u+8>>2]|0)-C|0;a[E>>2]=n;a[E+4>>2]=C;a[E+8>>2]=I;a[E+12>>2]=f;gg(A,67975,E);break A}case 2:{a[h>>2]=n;gg(A,67995,h);s=0;while(1){if((s|0)>=(f|0))break;E=a[46715]|0;I=a[E+(s<<3)+4>>2]|0;a[C>>2]=a[E+(s<<3)>>2];a[C+4>>2]=I;gg(A,68003,C);s=s+1|0}kg(A,153599)|0;break A}default:vA(138394,68010,63,68030)}}if(i&(s|0)==1){if(!(r[n>>0]|0))break;if(!e){C=a[u+12>>2]|0;I=a[u+8>>2]|0;f=a[u+4>>2]|0;a[d>>2]=a[u>>2];a[d+4>>2]=C;a[d+8>>2]=I;a[d+12>>2]=f;a[d+16>>2]=n;a[d+20>>2]=l;gg(A,68047,d);break}else vA(138394,68010,75,68030)}if((s&-2|0)==2){switch(e|0){case 1:{kg(A,68080)|0;break}case 0:{kg(A,68101)|0;break}case 2:{kg(A,68120)|0;break}default:vA(138394,68010,91,68030)}if(c|0?r[c>>0]|0:0){kg(A,73600)|0;kg(A,_F(c)|0)|0;kg(A,98744)|0}if(i?r[n>>0]|0:0){kg(A,68139)|0;kg(A,_F(n)|0)|0;kg(A,98744)|0}if(t|0?r[t>>0]|0:0){kg(A,74559)|0;kg(A,PF(t)|0)|0;kg(A,98744)|0}if(l|0?r[l>>0]|0:0){kg(A,68147)|0;kg(A,PF(l)|0)|0;kg(A,98744)|0}kg(A,68156)|0;kg(A,68164)|0;e:do{switch(e|0){case 1:{f=a[46715]|0;C=a[f>>2]|0;I=a[f+4>>2]|0;f=(a[f+8>>2]|0)-C|0;a[B>>2]=C;a[B+4>>2]=I;a[B+8>>2]=f;gg(A,68174,B);break}case 0:{E=a[46715]|0;C=a[E+12>>2]|0;I=a[E+8>>2]|0;f=a[E+4>>2]|0;a[v>>2]=a[E>>2];a[v+4>>2]=C;a[v+8>>2]=I;a[v+12>>2]=f;gg(A,68183,v);break}case 2:{C=a[46715]|0;s=a[C+4>>2]|0;a[g>>2]=a[C>>2];a[g+4>>2]=s;gg(A,68195,g);s=1;while(1){if((s|0)>=(f|0))break e;E=a[46715]|0;C=a[E+(s<<3)+4>>2]|0;a[I>>2]=a[E+(s<<3)>>2];a[I+4>>2]=C;gg(A,68201,I);s=s+1|0}}default:{}}}while(0);if((a[w>>2]|0)==3){kg(A,73424)|0;break}else{kg(A,68208)|0;break}}}}while(0);k=Z;return}function vG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;kg(A,68623)|0;c=a[a[A+12>>2]>>2]|0;t=a[c+4>>2]|0;l=a[c+8>>2]|0;a[n>>2]=a[c>>2];a[n+4>>2]=t;a[n+8>>2]=l;gg(A,68633,n);a[r>>2]=Vh(a[f+8>>2]|0)|0;gg(A,68668,r);a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,68681,i);kg(A,68694)|0;kg(A,68704)|0;kg(A,68712)|0;kg(A,68720)|0;kg(A,68728)|0;kg(A,68736)|0;kg(A,68744)|0;kg(A,68748)|0;kg(A,68753)|0;k=e;return}function gG(A){A=A|0;kg(A,68604)|0;return}function EG(A){A=A|0;a[46716]=2;return}function CG(A){A=A|0;a[46716]=1;return}function IG(A){A=A|0;a[46716]=2;return}function ZG(A){A=A|0;a[46716]=0;return}function GG(A){A=A|0;a[46716]=2;return}function QG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0;w=k;k=k+80|0;s=w;t=a[(a[A+16>>2]|0)+16>>2]|0;c=a[46716]|0;f=a[i+4>>2]|0;n=+b[A+352>>3]*+b[f+16>>3];l=a[A+360>>2]|0?1.5707963267948966:0.0;f=a[f+8>>2]|0;if(!f)f=-1;else f=a[f+20>>2]|0;h=r[i+48>>0]|0;o=+b[e>>3];u=+b[e+8>>3];i=VG(a[i>>2]|0)|0;a[s>>2]=4;a[s+4>>2]=h<<24>>24==108?0:h<<24>>24==114?2:1;a[s+8>>2]=t;a[s+12>>2]=c;a[s+16>>2]=0;a[s+20>>2]=f;b[s+24>>3]=n;b[s+32>>3]=l;a[s+40>>2]=4;b[s+48>>3]=0.0;b[s+56>>3]=0.0;a[s+64>>2]=~~(o+(o>=0.0?.5:-.5));a[s+68>>2]=~~(u+(u>=0.0?.5:-.5));a[s+72>>2]=i;gg(A,68549,s);k=w;return}function mG(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w;t=w+20|0;s=e+32|0;A:do{switch(a[s>>2]|0){case 5:{i=0;while(1){f=a[12724+(i<<2)>>2]|0;if((i|0)==8)break A;l=a[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(A1(f,l)|0)==0:0){b=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(FG(t,n[e>>0]|0,n[f>>0]|0,n[l>>0]|0)|0)+32|0;if(!(a[t>>2]|0))b=10;else{u=n[e>>0]|0;t=n[f>>0]|0;b=n[l>>0]|0;a[c>>2]=0;a[c+4>>2]=i;a[c+8>>2]=u;a[c+12>>2]=t;a[c+16>>2]=b;gg(A,68492,c);b=10}break}case 0:{i=0;b=10;break}default:vA(138394,68513,168,68532)}}while(0);if((b|0)==10)a[e>>2]=i;a[s>>2]=6;k=w;return}function LG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0;r=k;k=k+112|0;f=r+8|0;g=r+104|0;v=r;c=a[A+16>>2]|0;B=~~+b[c+152>>3];d=a[c+16>>2]|0;h=a[c+56>>2]|0;o=a[46716]|0;DG(c,g,v);w=+b[e>>3];c=~~(w+(w>=0.0?.5:-.5));s=+b[e+8>>3];t=~~(s+(s>=0.0?.5:-.5));l=+b[e+16>>3];w=l-w;n=+b[e+24>>3];s=n-s;e=a[g>>2]|0;u=+b[v>>3];a[f>>2]=1;a[f+4>>2]=1;a[f+8>>2]=e;a[f+12>>2]=B;a[f+16>>2]=d;a[f+20>>2]=h;a[f+24>>2]=o;a[f+28>>2]=0;a[f+32>>2]=i|0?20:-1;b[f+40>>3]=u;a[f+48>>2]=0;b[f+56>>3]=0.0;a[f+64>>2]=c;a[f+68>>2]=t;a[f+72>>2]=~~(w+(w>=0.0?.5:-.5));a[f+76>>2]=~~(s+(s>=0.0?.5:-.5));a[f+80>>2]=c;a[f+84>>2]=t;a[f+88>>2]=~~(l+(l>=0.0?.5:-.5));a[f+92>>2]=~~(n+(n>=0.0?.5:-.5));gg(A,68427,f);k=r;return}function WG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;f=k;k=k+96|0;n=f+8|0;u=f+80|0;o=f;h=a[A+16>>2]|0;w=~~+b[h+152>>3];s=a[h+16>>2]|0;c=a[h+56>>2]|0;t=a[46716]|0;DG(h,u,o);u=a[u>>2]|0;l=+b[o>>3];a[n>>2]=2;a[n+4>>2]=3;a[n+8>>2]=u;a[n+12>>2]=w;a[n+16>>2]=s;a[n+20>>2]=c;a[n+24>>2]=t;a[n+28>>2]=0;a[n+32>>2]=r|0?20:-1;b[n+40>>3]=l;a[n+48>>2]=0;a[n+52>>2]=0;a[n+56>>2]=0;a[n+60>>2]=0;a[n+64>>2]=0;a[n+68>>2]=i+1;gg(A,68331,n);MG(A,e,i,1);k=f;return}function yG(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0,z=0;L=k;k=k+192|0;m=L+176|0;G=L+168|0;Q=L+104|0;Z=L+96|0;f=L+88|0;g=L+180|0;E=L+80|0;C=L+16|0;I=L;r=A+16|0;o=a[r>>2]|0;h=~~+b[o+152>>3];d=a[o+16>>2]|0;B=a[46716]|0;v=m2((i*140|0)+140|0)|0;DG(o,g,E);if(!n){u=4;t=0;c=-1}else{u=5;t=a[(a[r>>2]|0)+56>>2]|0;c=20}y=+b[e>>3];w=C+48|0;b[w>>3]=y;W=+b[e+8>>3];b[C+56>>3]=W;a[f>>2]=~~(y+(y>=0.0?.5:-.5));a[f+4>>2]=~~(W+(W>=0.0?.5:-.5));s=I+8|0;r=v+(P4(v,81099,f)|0)|0;o=1;n=0;while(1){l=n+3|0;if((l|0)>=(i|0))break;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];f=1;while(1){if((f|0)==4){f=1;break}z=f+n|0;b[C+(f<<4)>>3]=+b[e+(z<<4)>>3];b[C+(f<<4)+8>>3]=+b[e+(z<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(I,C,3,+(f|0)*.16666666666666666,0,0);W=+b[I>>3];y=+b[s>>3];a[Z>>2]=~~(W+(W>=0.0?.5:-.5));a[Z+4>>2]=~~(y+(y>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,Z)|0)|0}o=o+6|0;n=l}f=a[g>>2]|0;y=+b[E>>3];a[Q>>2]=3;a[Q+4>>2]=u;a[Q+8>>2]=f;a[Q+12>>2]=h;a[Q+16>>2]=d;a[Q+20>>2]=t;a[Q+24>>2]=B;a[Q+28>>2]=0;a[Q+32>>2]=c;b[Q+40>>3]=y;a[Q+48>>2]=0;a[Q+52>>2]=0;a[Q+56>>2]=0;a[Q+60>>2]=o;gg(A,68382,Q);a[G>>2]=v;gg(A,81106,G);L2(v);f=o+-1|0;r=0;while(1){if((r|0)>=(o|0))break;a[m>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,m);r=r+1|0}kg(A,153599)|0;k=L;return}function zG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;r=k;k=k+96|0;f=r+8|0;s=r+80|0;w=r;u=a[A+16>>2]|0;c=~~+b[u+152>>3];t=a[u+16>>2]|0;l=a[46716]|0;DG(u,s,w);s=a[s>>2]|0;n=+b[w>>3];a[f>>2]=2;a[f+4>>2]=1;a[f+8>>2]=s;a[f+12>>2]=c;a[f+16>>2]=t;a[f+20>>2]=0;a[f+24>>2]=l;a[f+28>>2]=0;a[f+32>>2]=0;b[f+40>>3]=n;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=i;gg(A,68331,f);MG(A,e,i,0);k=r;return}function YG(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,68325,r);k=i;return}function DG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function MG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function FG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;a[A>>2]=0;b=a[46717]|0;l=195075;n=0;t=-1;while(1){if((n|0)>=(b|0)){s=6;break}w=(f[192216+(n<<1)>>1]|0)-e|0;u=(f[192728+(n<<1)>>1]|0)-i|0;c=(f[193240+(n<<1)>>1]|0)-r|0;c=(U(u,u)|0)+(U(w,w)|0)+(U(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=n}n=n+1|0}if((s|0)==6){a[46717]=b+1;if((b|0)==256)n=t;else{f[192216+(n<<1)>>1]=e;f[192728+(n<<1)>>1]=i;f[193240+(n<<1)>>1]=r;a[A>>2]=1}}return n|0}function VG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46718]|0;if(!e){a[46719]=64;e=m2(64)|0;a[46718]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46719]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46719]=e;e=y2(a[46718]|0,e)|0;a[46718]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46718]|0}function JG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=k;k=k+16|0;e=i;kg(A,73332)|0;if((a[A+64>>2]|0)==2)kg(A,73347)|0;else kg(A,153599)|0;n=a[a[A+12>>2]>>2]|0;f=a[n+4>>2]|0;r=a[n+8>>2]|0;a[e>>2]=a[n>>2];a[e+4>>2]=f;a[e+8>>2]=r;gg(A,73358,e);k=i;return}function NG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n+8|0;r=n;kg(A,73286)|0;i=A+64|0;e=A+12|0;if((a[i>>2]|0)!=2){a[r>>2]=a[(a[e>>2]|0)+28>>2];gg(A,73297,r)}if((a[(a[e>>2]|0)+20>>2]|0)==0?(a[i>>2]|0)!=2:0){e=a[A+476>>2]|0;i=a[A+480>>2]|0;r=a[A+484>>2]|0;a[f>>2]=a[A+472>>2];a[f+4>>2]=e;a[f+8>>2]=i;a[f+12>>2]=r;gg(A,69666,f)}kg(A,73312)|0;kg(A,73325)|0;k=n;return}function XG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=k;k=k+32|0;c=b+24|0;f=b+8|0;t=b;n=a[A+16>>2]|0;r[193768]=0;i=A+12|0;l=n+8|0;if(!(a[(a[i>>2]|0)+28>>2]|0)){a[t>>2]=Vh(a[l>>2]|0)|0;gg(A,69597,t);e=A+64|0;if((a[e>>2]|0)==2)kg(A,69630)|0;else kg(A,69612)|0;do{if(!(a[(a[i>>2]|0)+20>>2]|0))if((a[e>>2]|0)==2){w=a[A+460>>2]|0;s=a[A+464>>2]|0;e=a[A+468>>2]|0;a[f>>2]=a[A+456>>2];a[f+4>>2]=w;a[f+8>>2]=s;a[f+12>>2]=e;gg(A,69666,f);break}else{kg(A,69642)|0;break}}while(0);kg(A,69696)|0;HJ(A,a[(a[i>>2]|0)+24>>2]|0,13e3);UJ(A);e=a[(a[i>>2]|0)+20>>2]|0;if(e|0){a[t>>2]=a[e>>2];a[t+4>>2]=0;HJ(A,0,t)}}a[46720]=(r[(a[(a[l>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(r[193768]|0)){kg(A,69716)|0;r[193768]=1}e=a[n+208>>2]|0;if(e|0){a[c>>2]=xJ(e,a[46720]|0)|0;gg(A,69729,c)}k=b;return}function RG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;e=k;k=k+16|0;f=e;a[f>>2]=i;a[f+4>>2]=r;gg(A,69581,f);k=e;return}function HG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0.0,C=0.0;B=k;k=k+144|0;d=B+128|0;h=B+112|0;o=B+72|0;u=B+56|0;w=B+40|0;s=B+32|0;r=B+24|0;e=B+8|0;i=B;f=a[A+456>>2]|0;t=a[A+460>>2]|0;n=a[A+464>>2]|0;l=a[A+468>>2]|0;c=A+12|0;v=(a[(a[c>>2]|0)+28>>2]|0)+1|0;a[i>>2]=v;a[i+4>>2]=v;gg(A,69208,i);if(!(a[(a[c>>2]|0)+20>>2]|0)){a[e>>2]=f;a[e+4>>2]=t;a[e+8>>2]=n;a[e+12>>2]=l;gg(A,69225,e)}i=A+360|0;a[r>>2]=a[i>>2]|0?69259:69269;gg(A,69278,r);e=A+64|0;if((a[e>>2]|0)==1){a[s>>2]=n;a[s+4>>2]=l;gg(A,69303,s)}s=a[A+200>>2]|0;v=a[A+204>>2]|0;a[w>>2]=a[A+196>>2];a[w+4>>2]=s;a[w+8>>2]=v;gg(A,69342,w);if(!(a[(a[c>>2]|0)+20>>2]|0)){a[u>>2]=f;a[u+4>>2]=t;a[u+8>>2]=n-f;a[u+12>>2]=l-t;gg(A,69362,u)}C=+b[A+496>>3];v=a[i>>2]|0;E=+b[A+504>>3];g=+b[A+512>>3];b[o>>3]=+b[A+488>>3];b[o+8>>3]=C;a[o+16>>2]=v;b[o+24>>3]=E;b[o+32>>3]=g;gg(A,69402,o);if((a[e>>2]|0)==1){if((n|0)>14399|(l|0)>14399){v=a[(a[c>>2]|0)+16>>2]|0;a[h>>2]=n;a[h+4>>2]=l;a[h+8>>2]=14400;V5[v&63](69445,h)}a[d>>2]=f;a[d+4>>2]=t;a[d+8>>2]=n;a[d+12>>2]=l;gg(A,69540,d)}k=B;return}function pG(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=A+12|0;if(a[(a[e>>2]|0)+20>>2]|0){kg(A,69132)|0;HJ(A,0,(a[(a[e>>2]|0)+20>>2]|0)+4|0)}kg(A,69149)|0;kg(A,69176)|0;a[i>>2]=a[(a[e>>2]|0)+28>>2];gg(A,69191,i);k=r;return}function UG(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,69125,i);kg(A,69118)|0;k=e;return}function xG(A){A=A|0;kg(A,84552)|0;return}function TG(A){A=A|0;kg(A,69118)|0;return}function jG(A){A=A|0;kg(A,84552)|0;return}function SG(A){A=A|0;kg(A,69118)|0;return}function PG(A){A=A|0;kg(A,84552)|0;return}function OG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;r=k;k=k+16|0;i=r;if(e|0?(n=(a[A+16>>2]|0)+272|0,a[n>>2]|0):0){kg(A,69014)|0;Zg(A,a[n>>2]|0,2);kg(A,69025)|0;a[i>>2]=xJ(e,a[46720]|0)|0;gg(A,69029,i)}k=r;return}function KG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+32|0;t=s+8|0;c=s;f=a[A+16>>2]|0;if(!(+b[f+40>>3]<.5)){rQ(A,f+16|0);l=i+4|0;Eg(A,+b[(a[l>>2]|0)+16>>3]);a[t>>2]=a[a[l>>2]>>2];gg(A,68973,t);l=xJ(a[i>>2]|0,a[46720]|0)|0;switch(r[i+48>>0]|0){case 114:{w=i+32|0;f=w;n=+b[w>>3];break}case 108:{f=i+32|0;n=0.0;break}default:{w=i+32|0;f=w;n=+b[w>>3]*.5}}b[e>>3]=+b[e>>3]-n;w=e+8|0;b[w>>3]=+b[w>>3]+ +b[i+24>>3];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];Ig(A,t);kg(A,68988)|0;Eg(A,+b[f>>3]);a[c>>2]=l;gg(A,68997,c)}k=s;return}function _G(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+32|0;f=n;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];b[f+16>>3]=+b[e+16>>3]-+b[e>>3];b[f+24>>3]=+b[e+24>>3]-+b[e+8>>3];e=A+16|0;if(i|0?(r=a[e>>2]|0,+b[r+80>>3]>.5):0){rQ(A,r+56|0);Zg(A,f,2);kg(A,68931)|0}if(+b[(a[e>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[e>>2]|0)+16|0);Zg(A,f,2);kg(A,68951)|0}k=n;return}function qG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;n=A+16|0;if(r|0?(f=a[n>>2]|0,+b[f+80>>3]>.5):0){rQ(A,f+56|0);kg(A,68852)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;f=e+(r<<4)|0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];Ig(A,l);kg(A,68870)|0;r=r+1|0}kg(A,68897)|0}if(+b[(a[n>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[n>>2]|0)+16|0);kg(A,68852)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;n=e+(r<<4)|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];Ig(A,l);kg(A,68870)|0;r=r+1|0}kg(A,68913)|0}k=t;return}function $G(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;f=c;l=A+16|0;if(n|0?(t=a[l>>2]|0,+b[t+80>>3]>.5):0){rQ(A,t+56|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;Zg(A,e+(r<<4)|0,3);kg(A,68887)|0;r=r+3|0}kg(A,68897)|0}if(+b[(a[l>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[l>>2]|0)+16|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;Zg(A,e+(r<<4)|0,3);kg(A,68887)|0;r=r+3|0}kg(A,68879)|0}k=c;return}function AQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;r=A+16|0;if(+b[(a[r>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[r>>2]|0)+16|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;l=e+(r<<4)|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];Ig(A,f);kg(A,68870)|0;r=r+1|0}kg(A,68879)|0}k=n;return}function eQ(A,e){A=A|0;e=e|0;kg(A,68849)|0;kg(A,e)|0;kg(A,153599)|0;return}function iQ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+32|0;n=w+16|0;s=w+8|0;c=w;l=A+16|0;if(f|0?(t=a[l>>2]|0,+b[t+80>>3]>.5):0){rQ(A,t+56|0);kg(A,84447)|0;Zg(A,i,r);kg(A,102604)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];Ig(A,n);a[c>>2]=r;a[c+4>>2]=e;gg(A,68766,c)}if(+b[(a[l>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[l>>2]|0)+16|0);kg(A,84447)|0;Zg(A,i,r);kg(A,102604)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];Ig(A,n);a[s>>2]=r;a[s+4>>2]=e;gg(A,68782,s)}k=w;return}function rQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0;f=k;k=k+32|0;r=f;if(e|0){switch(a[(a[A+16>>2]|0)+4>>2]|0){case 1:case 0:{i=111494;break}case 2:{i=111481;break}case 3:{i=111450;break}default:i=68818}l=+b[e+8>>3];n=+b[e+16>>3];b[r>>3]=+b[e>>3];b[r+8>>3]=l;b[r+16>>3]=n;a[r+24>>2]=i;gg(A,68825,r)}k=f;return}function fQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;c=s+8|0;t=s;n=A+16|0;l=a[n>>2]|0;e=a[l+160>>2]|0;Eg(A,+b[l+152>>3]);kg(A,68799)|0;while(1){if(!e)break;l=e+4|0;f=a[e>>2]|0;if(!f)break;if(!(A1(f,111088)|0)){e=l;continue}else i=f;while(1){e=i+1|0;if(!(r[i>>0]|0))break;else i=e}A:while(1){if(!(r[e>>0]|0))break;a[t>>2]=e;gg(A,68814,t);while(1){i=e+1|0;if(!(r[e>>0]|0)){e=i;continue A}else e=i}}if(!(A1(f,134335)|0))b[(a[n>>2]|0)+152>>3]=0.0;a[c>>2]=f;gg(A,96670,c);e=l}k=s;return}function aQ(A){A=A|0;var e=0;kg(A,74838)|0;e=po(a[(a[A>>2]|0)+168>>2]|0,74894)|0;if(e|0?r[e>>0]|0:0){kg(A,74905)|0;kg(A,e)|0;kg(A,74929)|0}kg(A,74950)|0;kg(A,74998)|0;kg(A,75052)|0;e=A+12|0;kg(A,PF(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,PF(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,PF(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,75434)|0;kg(A,75458)|0;return}function nQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0;l=k;k=k+48|0;n=l+16|0;f=l+8|0;i=l;e=a[A+16>>2]|0;kg(A,74673)|0;e=e+8|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,75397)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,74678,i);i=a[A+452>>2]|0;a[f>>2]=a[A+448>>2];a[f+4>>2]=i;gg(A,74694,f);s=+b[A+392>>3];c=+b[A+400>>3];t=+b[A+408>>3];b[n>>3]=+b[A+384>>3];b[n+8>>3]=s;b[n+16>>3]=c;b[n+24>>3]=t;gg(A,74727,n);kg(A,74758)|0;kg(A,74794)|0;kg(A,76388)|0;k=l;return}function lQ(A){A=A|0;kg(A,74665)|0;return}function tQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;zQ(A,e,0,101510,a[(a[A+16>>2]|0)+8>>2]|0);kg(A,76388)|0;return}function cQ(A){A=A|0;kg(A,74513)|0;return}function bQ(A){A=A|0;var e=0,i=0,f=0,n=0;i=k;k=k+16|0;f=i;n=a[A+16>>2]|0;e=n+8|0;zQ(A,a[n+212>>2]|0,0,111494,a[e>>2]|0);kg(A,74617)|0;Eg(A,+b[A+488>>3]);kg(A,102604)|0;Eg(A,+b[A+496>>3]);a[f>>2]=0-(a[A+360>>2]|0);gg(A,74636,f);Eg(A,+b[A+504>>3]);kg(A,102604)|0;Eg(A,-+b[A+512>>3]);kg(A,74660)|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,74569)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0;kg(A,74577)|0}k=i;return}function sQ(A){A=A|0;kg(A,74513)|0;return}function wQ(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=i+8|0;zQ(A,a[i+212>>2]|0,0,108006,a[e>>2]|0);kg(A,76388)|0;kg(A,74569)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0;kg(A,74577)|0;return}function uQ(A){A=A|0;kg(A,74513)|0;return}function kQ(A){A=A|0;var e=0,i=0,r=0;i=a[A+16>>2]|0;e=a[A+160>>2]|0;if((e|0)>1)e=a[(a[(a[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0;else e=0;r=i+8|0;zQ(A,a[i+212>>2]|0,e,111481,a[r>>2]|0);kg(A,76388)|0;kg(A,74569)|0;kg(A,PF(Vh(a[r>>2]|0)|0)|0)|0;kg(A,74577)|0;return}function oQ(A){A=A|0;kg(A,74513)|0;return}function hQ(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=i+8|0;zQ(A,a[i+212>>2]|0,0,111450,a[e>>2]|0);kg(A,76388)|0;kg(A,74569)|0;e=SF(102095,a[e>>2]|0)|0;kg(A,PF(e)|0)|0;L2(e);kg(A,74577)|0;return}function dQ(A){A=A|0;kg(A,74513)|0;return}function BQ(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;kg(A,74519)|0;if(a|0){kg(A,74522)|0;kg(A,PF(a)|0)|0;kg(A,98744)|0}kg(A,74412)|0;kg(A,76349)|0;if(e|0?r[e>>0]|0:0){kg(A,74530)|0;kg(A,e)|0;kg(A,98744)|0}if(i|0?r[i>>0]|0:0){kg(A,74544)|0;kg(A,OF(i,1)|0)|0;kg(A,98744)|0}if(f|0?r[f>>0]|0:0){kg(A,74559)|0;kg(A,PF(f)|0)|0;kg(A,98744)|0}kg(A,76388)|0;return}function vQ(A){A=A|0;kg(A,76343)|0;kg(A,74513)|0;return}function gQ(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+176|0;J=N+160|0;V=N+152|0;z=N+136|0;F=N+128|0;y=N+120|0;W=N+112|0;L=N+104|0;m=N+96|0;Q=N+88|0;Z=N+80|0;C=N+72|0;E=N+64|0;g=N+56|0;v=N+48|0;l=N+40|0;h=N+32|0;B=N+24|0;d=N+16|0;o=N+8|0;u=N;M=a[A+16>>2]|0;kg(A,74044)|0;switch(r[i+48>>0]|0){case 108:{kg(A,74050)|0;break}case 114:{kg(A,74071)|0;break}default:kg(A,74090)|0}D=e+8|0;Y=+b[D>>3]+ +b[i+24>>3];b[D>>3]=Y;D=M+260|0;if(!(f[D>>1]&512)){kg(A,74112)|0;Eg(A,+b[e>>3]);kg(A,74117)|0;Eg(A,-Y);kg(A,98744)|0}I=i+4|0;e=a[I>>2]|0;w=a[e+8>>2]|0;if(w){switch(a[(a[(a[(a[A>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{s=w;e=w+16|0;l=w+8|0;break}case 2:{s=w+24|0;e=w+32|0;l=w+28|0;break}default:{s=w+4|0;e=w+16|0;l=w+8|0}}t=a[e>>2]|0;e=a[l>>2]|0;c=a[w+12>>2]|0;a[u>>2]=a[s>>2];gg(A,74123,u);l=a[w+24>>2]|0;if(l|0){a[o>>2]=l;gg(A,74140,o)}kg(A,98744)|0;if(e|0){a[d>>2]=e;gg(A,74144,d)}if(c|0){a[B>>2]=c;gg(A,74162,B)}if(!t)t=0;else{a[h>>2]=t;gg(A,74181,h)}}else{a[l>>2]=a[e>>2];gg(A,74198,l);t=0;e=0}l=a[I>>2]|0;if(l|0?(G=a[l+24>>2]|0,G&127|0):0){if(!((e|0)!=0|(G&1|0)==0))gg(A,74216,v);if(!((t|0)!=0|(G&2|0)==0))gg(A,74236,g);if(G&100|0){gg(A,74257,E);if(!(G&4))e=0;else{gg(A,105986,C);e=1}if(G&64){a[Z>>2]=e|0?100999:195059;gg(A,74276,Z);e=1}if(G&32|0){a[Q>>2]=e|0?100999:195059;gg(A,74287,Q)}gg(A,98744,m)}if(G&8|0)gg(A,74302,L);if(G&16|0)gg(A,74326,W)}b[y>>3]=+b[(a[I>>2]|0)+16>>3];gg(A,74348,y);e=M+16|0;switch(a[M+48>>2]|0){case 5:{e=a[e>>2]|0;if(N1(e,137314)|0){a[F>>2]=e;gg(A,74366,F)}break}case 1:{y=n[e+1>>0]|0;F=n[e+2>>0]|0;a[z>>2]=n[e>>0];a[z+4>>2]=y;a[z+8>>2]=F;gg(A,74377,z);break}default:vA(138394,73558,486,74399)}kg(A,74412)|0;if(f[D>>1]&512){a[V>>2]=PF(a[M+212>>2]|0)|0;gg(A,74414,V);kg(A,74463)|0;Eg(A,-Y);kg(A,74481)|0}kg(A,OF(a[i>>2]|0,1)|0)|0;if(f[D>>1]&512)gg(A,74484,J);kg(A,74504)|0;k=N;return}function EQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;switch(i|0){case 2:{r=LQ(A,e,2)|0;break}case 3:{r=WQ(A)|0;break}default:r=0}kg(A,74008)|0;QQ(A,i,r);kg(A,74017)|0;Eg(A,+b[e>>3]);kg(A,74023)|0;i=e+8|0;Eg(A,-+b[i>>3]);kg(A,74030)|0;Eg(A,+b[e+16>>3]-+b[e>>3]);kg(A,74037)|0;Eg(A,+b[e+24>>3]-+b[i>>3]);kg(A,73424)|0;return}function CQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;switch(r|0){case 2:{f=LQ(A,e,i)|0;break}case 3:{f=WQ(A)|0;break}default:f=0}kg(A,73999)|0;QQ(A,r,f);kg(A,73414)|0;f=0;while(1){if((f|0)>=(i|0))break;Eg(A,+b[e+(f<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(f<<4)+8>>3]);kg(A,102604)|0;f=f+1|0}Eg(A,+b[e>>3]);kg(A,100999)|0;Eg(A,-+b[e+8>>3]);kg(A,73424)|0;return}function IQ(A,e,i,r,n,l){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;l=l|0;n=a[A+16>>2]|0;switch(l|0){case 2:{r=LQ(A,e,i)|0;break}case 3:{r=WQ(A)|0;break}default:r=0}kg(A,73594)|0;if(f[n+260>>1]&512){kg(A,73600)|0;kg(A,PF(a[n+212>>2]|0)|0)|0;kg(A,73606)|0}QQ(A,l,r);kg(A,73611)|0;yQ(A,e,i);kg(A,73424)|0;return}function ZQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;kg(A,73404)|0;QQ(A,0,0);kg(A,73414)|0;r=0;while(1){if((r|0)>=(i|0))break;Eg(A,+b[e+(r<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(r<<4)+8>>3]);kg(A,102604)|0;r=r+1|0}kg(A,73424)|0;return}function GQ(A,e){A=A|0;e=e|0;kg(A,73398)|0;kg(A,PF(e)|0)|0;kg(A,75458)|0;return}function QQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+96|0;c=h+48|0;o=h+40|0;w=h+32|0;u=h+24|0;t=h+16|0;n=h+8|0;f=h;s=a[A+16>>2]|0;kg(A,73429)|0;A:do{switch(e|0){case 2:{a[f>>2]=i;gg(A,73437,f);break}case 3:{a[n>>2]=i;gg(A,73448,n);break}case 0:{kg(A,135709)|0;break}default:{e=s+56|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);if((a[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}b[t>>3]=+(e&255)*.00392156862745098;gg(A,73459,t)}}}}while(0);kg(A,73478)|0;i=s+16|0;f=c;n=i;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);e=s+152|0;if(+b[e>>3]!=1.0){kg(A,73489)|0;Eg(A,+b[e>>3])}switch(a[s+144>>2]|0){case 1:{a[u>>2]=73529;gg(A,73506,u);break}case 2:{a[w>>2]=73533;gg(A,73506,w);break}default:{}}A:do{if((a[s+48>>2]|0)==1){e=r[i+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}b[o>>3]=+(e&255)*.00392156862745098;gg(A,73537,o)}}while(0);kg(A,98744)|0;k=h;return}function mQ(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,137379)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,73558,117,73578)}}while(0);k=f;return}function LQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+112|0;u=v+64|0;d=v+56|0;w=v+48|0;s=v+40|0;n=v+32|0;t=v;h=a[46722]|0;a[46722]=h+1;o=a[A+16>>2]|0;f=+(a[o+136>>2]|0)*.017453292519943295;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;a[t+16>>2]=0;a[t+20>>2]=0;a[t+24>>2]=0;a[t+28>>2]=0;YH(e,t,i,f,0);a[u>>2]=h;gg(A,73831,u);kg(A,73896)|0;Eg(A,+b[t>>3]);kg(A,73901)|0;Eg(A,+b[t+8>>3]);kg(A,73908)|0;Eg(A,+b[t+16>>3]);kg(A,73915)|0;Eg(A,+b[t+24>>3]);kg(A,73922)|0;t=o+140|0;f=+c[t>>2];if(f>0.0){b[n>>3]=f+-.001;gg(A,73927,n)}else kg(A,73703)|0;e=o+56|0;i=u;n=e;l=i+40|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));mQ(A,u);kg(A,73739)|0;A:do{if((a[o+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=7;break A}default:{}}b[s>>3]=+(e&255)*.00392156862745098;gg(A,99612,s)}else B=7}while(0);if((B|0)==7)kg(A,73754)|0;kg(A,73757)|0;f=+c[t>>2];if(f>0.0){b[w>>3]=f;gg(A,73927,w)}else kg(A,73763)|0;e=o+96|0;i=u;n=e;l=i+40|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));mQ(A,u);kg(A,73739)|0;A:do{if((a[o+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=14;break A}default:{}}b[d>>3]=+(e&255)*.00392156862745098;gg(A,99612,d)}else B=14}while(0);if((B|0)==14)kg(A,73754)|0;kg(A,73967)|0;k=v;return h|0}function WQ(A){A=A|0;var e=0,i=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+64|0;c=h+16|0;u=h+8|0;t=h;w=a[46721]|0;a[46721]=w+1;s=a[A+16>>2]|0;d=+(a[s+136>>2]|0)*.017453292519943295;i=d;if(d==0.0){f=50;e=50}else{f=~~((+D(+i)+1.0)*50.0);e=~~((1.0-+M(+i))*50.0)}a[c>>2]=w;a[c+4>>2]=f;a[c+8>>2]=e;gg(A,73619,c);kg(A,73703)|0;e=s+56|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);kg(A,73739)|0;A:do{if((a[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{o=6;break A}default:{}}b[t>>3]=+(e&255)*.00392156862745098;gg(A,99612,t)}else o=6}while(0);if((o|0)==6)kg(A,73754)|0;kg(A,73757)|0;kg(A,73763)|0;e=s+96|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);kg(A,73739)|0;A:do{if((a[s+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{o=10;break A}default:{}}b[u>>3]=+(e&255)*.00392156862745098;gg(A,99612,u)}else o=10}while(0);if((o|0)==10)kg(A,73754)|0;kg(A,73799)|0;k=h;return w|0}function yQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;r=77;f=0;while(1){if((f|0)>=(i|0))break;a[n>>2]=r;gg(A,73616,n);Eg(A,+b[e+(f<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(f<<4)+8>>3]);r=(f|0)==0?67:32;f=f+1|0}k=l;return}function zQ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;kg(A,74587)|0;kg(A,PF(e)|0)|0;if(i|0){a[l>>2]=PF(i)|0;gg(A,74595,l)}a[t>>2]=f;gg(A,74599,t);e=po(n,74611)|0;if(e|0?r[e>>0]|0:0){kg(A,102604)|0;kg(A,PF(e)|0)|0}kg(A,98744)|0;k=c;return}function YQ(A){A=A|0;var e=0;kg(A,75418)|0;e=A+12|0;kg(A,pQ(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,pQ(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,pQ(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,75434)|0;return}function DQ(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=a[A+16>>2]|0;kg(A,75395)|0;e=e+8|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,75397)|0;kg(A,pQ(Vh(a[e>>2]|0)|0)|0)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,75406,i);a[46723]=0;k=f;return}function MQ(A){A=A|0;a[46723]=1;return}function FQ(A){A=A|0;a[46723]=-1;return}function VQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+48|0;l=w+8|0;s=w;f=a[A+16>>2]|0;if(a[f+144>>2]|0?(c=i+4|0,t=~~(+b[A+352>>3]*+b[(a[c>>2]|0)+16>>3]),t|0):0){UQ(A);kg(A,75334)|0;n=e+8|0;b[n>>3]=+b[n>>3]-+(t|0)*.55;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,75348)|0;kg(A,a[i>>2]|0)|0;kg(A,75357)|0;kg(A,75155)|0;n=l;e=f+16|0;f=n+40|0;do{a[n>>2]=a[e>>2];n=n+4|0;e=e+4|0}while((n|0)<(f|0));xQ(A,l);kg(A,75359)|0;l=a[c>>2]|0;c=a[l+8>>2]|0;c=a[((c|0)==0?l:c+4|0)>>2]|0;kg(A,98744)|0;kg(A,c)|0;kg(A,98744)|0;a[s>>2]=t;gg(A,75368,s);switch(r[i+48>>0]|0){case 108:{kg(A,75373)|0;break}case 114:{kg(A,75384)|0;break}default:{}}TQ(A);kg(A,153599)|0}k=w;return}function JQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0.0,s=0.0,w=0.0;t=k;k=k+48|0;f=t;n=a[A+16>>2]|0;l=n+144|0;if(a[l>>2]|0){w=+b[e>>3];s=+b[e+24>>3];r=e+8|0;c=+b[r>>3];b[e>>3]=w-+b[e+16>>3]+w;b[r>>3]=c-s+c;UQ(A);kg(A,75320)|0;Zg(A,e,2);kg(A,75155)|0;do{if(!i)if(!(a[46723]|0)){kg(A,97309)|0;break}else{kg(A,137198)|0;break}else{e=f;i=n+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f)}}while(0);if((a[46723]|0)==1)a[46723]=0;kg(A,75266)|0;Eg(A,+b[n+152>>3]);kg(A,75309)|0;e=f;i=n+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function NQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+48|0;f=t;n=a[A+16>>2]|0;l=n+144|0;if(a[l>>2]|0){UQ(A);kg(A,75292)|0;Zg(A,e,i);kg(A,75155)|0;do{if(!r)if(!(a[46723]|0)){kg(A,97309)|0;break}else{kg(A,137198)|0;break}else{e=f;i=n+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f)}}while(0);if((a[46723]|0)==1)a[46723]=0;kg(A,75266)|0;Eg(A,+b[n+152>>3]);kg(A,75309)|0;e=f;i=n+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function XQ(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0;s=k;k=k+48|0;l=s;t=a[A+16>>2]|0;c=t+144|0;if(a[c>>2]|0){UQ(A);kg(A,75141)|0;Zg(A,e,i);kg(A,75155)|0;r=l;f=t+16|0;n=r+40|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));xQ(A,l);kg(A,75266)|0;Eg(A,+b[t+152>>3]);r=a[c>>2]|0;if((r|0)==1){kg(A,75163)|0;r=a[c>>2]|0}if((r|0)==2)kg(A,75172)|0;kg(A,75275)|0;TQ(A);kg(A,153599)|0}k=s;return}function RQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+48|0;n=t;r=a[A+16>>2]|0;l=r+144|0;if(a[l>>2]|0){UQ(A);kg(A,75141)|0;Zg(A,e,i);kg(A,75155)|0;f=n;e=r+16|0;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));xQ(A,n);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function HQ(A,e){A=A|0;e=e|0;kg(A,75138)|0;kg(A,pQ(e)|0)|0;kg(A,153599)|0;return}function pQ(A){A=A|0;return A|0}function UQ(A){A=A|0;if(!(r[A+144>>0]|0))kg(A,75263)|0;else kg(A,a[A+148>>2]|0)|0;return}function xQ(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,97309)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,75181,49,75245)}}while(0);k=f;return}function TQ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=a[A+16>>2]|0;switch(a[f+12>>2]|0){case 8:{e=1;i=111481;r=f+8|0;break}case 10:{e=0;i=111481;r=f+8|0;break}case 3:case 2:case 9:{e=1;i=111450;r=f+8|0;break}case 7:case 6:case 11:{e=0;i=111450;r=f+8|0;break}case 0:{e=1;i=111494;r=f+8|0;break}case 4:{e=0;i=75217;r=f+8|0;break}case 1:{e=1;i=111494;r=f+8|0;break}case 5:{e=0;i=111494;r=f+8|0;break}default:vA(138394,75181,106,75200)}f=a[(a[r>>2]|0)+8>>2]|0;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=f;gg(A,75229,n);k=l;return}function jQ(A){A=A|0;var e=0;kg(A,78153)|0;kg(A,78161)|0;e=A+12|0;kg(A,rm(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,rm(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,rm(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,78194)|0;return}function SQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t+24|0;n=t+16|0;f=t+8|0;i=t;e=a[A+16>>2]|0;a[46727]=~~(+b[A+232>>3]-+b[A+216>>3]);a[46726]=~~(+b[A+224>>3]-+b[A+208>>3]);kg(A,76840)|0;kg(A,76847)|0;e=Vh(a[e+8>>2]|0)|0;if(r[e>>0]|0){kg(A,76916)|0;kg(A,rm(e)|0)|0;kg(A,76924)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,76933,i);kg(A,76953)|0;kg(A,76988)|0;kg(A,77016)|0;kg(A,77022)|0;kg(A,77065)|0;kg(A,77106)|0;kg(A,77125)|0;kg(A,77142)|0;kg(A,77190)|0;kg(A,77243)|0;kg(A,77319)|0;kg(A,77395)|0;kg(A,77404)|0;kg(A,77427)|0;kg(A,77454)|0;kg(A,77507)|0;kg(A,77529)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77596)|0;kg(A,77622)|0;kg(A,77507)|0;kg(A,77674)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77718)|0;kg(A,77427)|0;kg(A,77454)|0;kg(A,77507)|0;kg(A,77674)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77596)|0;kg(A,77622)|0;kg(A,77507)|0;kg(A,77529)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77731)|0;kg(A,77739)|0;kg(A,77745)|0;kg(A,77759)|0;kg(A,77767)|0;kg(A,77800)|0;i=(a[46727]|0)+10|0;a[f>>2]=a[46726];a[f+4>>2]=i;gg(A,77877,f);kg(A,77907)|0;kg(A,77916)|0;kg(A,77974)|0;kg(A,77984)|0;kg(A,78049)|0;f=a[46727]|0;a[n>>2]=a[46726];a[n+4>>2]=f;gg(A,78086,n);n=a[46727]|0;a[l>>2]=a[46726];a[l+4>>2]=n;gg(A,78114,l);k=t;return}function PQ(A){A=A|0;kg(A,76391)|0;kg(A,76403)|0;kg(A,76411)|0;kg(A,76474)|0;kg(A,76403)|0;kg(A,76519)|0;kg(A,76568)|0;kg(A,76622)|0;kg(A,76403)|0;kg(A,76722)|0;kg(A,76771)|0;kg(A,76403)|0;kg(A,76823)|0;return}function OQ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+32|0;t=c+16|0;l=c+8|0;n=c;kg(A,76349)|0;if(e|0?r[e>>0]|0:0){a[n>>2]=rm(e)|0;gg(A,76352,n)}if(i|0?r[i>>0]|0:0){a[l>>2]=rm(i)|0;gg(A,76363,l)}if(f|0?r[f>>0]|0:0){a[t>>2]=rm(f)|0;gg(A,76375,t)}kg(A,76388)|0;k=c;return}function KQ(A){A=A|0;kg(A,76343)|0;return}function _Q(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0;Q=k;k=k+112|0;Z=Q+96|0;G=Q+88|0;C=Q+80|0;h=Q+72|0;E=Q+64|0;v=Q+56|0;B=Q+48|0;d=Q+40|0;o=Q+24|0;u=Q+8|0;w=Q;I=a[A+16>>2]|0;switch(r[i+48>>0]|0){case 108:{t=+b[e>>3];s=+b[i+32>>3];break}case 114:{s=+b[i+32>>3];t=+b[e>>3]-s;break}default:{s=+b[i+32>>3];t=+b[e>>3]-s*.5}}f=i+40|0;l=+b[f>>3];g=i+4|0;c=+b[(a[g>>2]|0)+16>>3];if(l>3]=l}m=t+-8.0;c=+((a[46727]|0)>>>0)-+b[e+8>>3]-l+c*.2+(c<12.0?1.4:2.0);gg(A,76005,w);b[u>>3]=m;b[u+8>>3]=c;gg(A,75942,u);b[o>>3]=t+8.0+s-m;b[o+8>>3]=l;gg(A,75966,o);kg(A,76040)|0;kg(A,76074)|0;f=a[g>>2]|0;e=a[f+8>>2]|0;if(e){a[d>>2]=a[e+4>>2];gg(A,76164,d);f=a[e+8>>2]|0;if(f|0){a[B>>2]=f;gg(A,76183,B)}f=a[e+12>>2]|0;if(f|0){a[v>>2]=f;gg(A,76200,v)}f=a[e+16>>2]|0;if(f|0){a[E>>2]=f;gg(A,76218,E)}}else{a[h>>2]=a[f>>2];gg(A,76164,h)}b[C>>3]=+b[(a[g>>2]|0)+16>>3];gg(A,76234,C);f=I+16|0;switch(a[I+48>>2]|0){case 5:{f=a[f>>2]|0;if(N1(f,137314)|0){a[G>>2]=f;gg(A,76254,G)}break}case 1:{I=n[f+1>>0]|0;G=n[f+2>>0]|0;a[Z>>2]=n[f>>0];a[Z+4>>2]=I;a[Z+8>>2]=G;gg(A,76264,Z);break}default:vA(138394,75728,438,76285)}kg(A,76298)|0;kg(A,rm(a[i>>2]|0)|0)|0;kg(A,76309)|0;kg(A,76332)|0;k=Q;return}function qQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0;r=k;k=k+32|0;f=r+16|0;t=r;kg(A,75906)|0;s=+b[e>>3];l=+b[e+16>>3]-s;c=+b[e+24>>3];n=c-+b[e+8>>3];c=+((a[46727]|0)>>>0)-c;b[t>>3]=s-l;b[t+8>>3]=c;gg(A,75942,t);b[f>>3]=l*2.0;b[f+8>>3]=n*2.0;gg(A,75966,f);lm(A,i);kg(A,75788)|0;am(A);kg(A,75994)|0;k=r;return}function $Q(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;s=k;k=k+48|0;c=s+24|0;t=s+8|0;n=s;kg(A,75511)|0;w=a[46727]|0;a[n>>2]=a[46726];a[n+4>>2]=w;gg(A,75764,n);lm(A,r);kg(A,75788)|0;am(A);kg(A,75791)|0;n=i+-1|0;r=0;while(1){if((r|0)>=(i|0))break;l=+b[e+(r<<4)>>3];f=+((a[46727]|0)>>>0)-+b[e+(r<<4)+8>>3];if(!r){kg(A,75818)|0;b[t>>3]=l;b[t+8>>3]=f;gg(A,75884,t);kg(A,75895)|0}else{b[c>>3]=l;b[c+8>>3]=f;gg(A,75884,c)}if((r|0)==(n|0))kg(A,75898)|0;r=r+1|0}kg(A,75627)|0;k=s;return}function Am(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0;f=k;k=k+16|0;r=f;kg(A,75511)|0;l=a[46727]|0;a[r>>2]=a[46726];a[r+4>>2]=l;gg(A,75764,r);lm(A,n);kg(A,75788)|0;am(A);kg(A,75791)|0;tm(A,e,i);kg(A,75804)|0;k=f;return}function em(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0.0;c=k;k=k+48|0;t=c+24|0;l=c+8|0;f=c;kg(A,75511)|0;n=a[46727]|0;a[f>>2]=a[46726];a[f+4>>2]=n;gg(A,75548,f);kg(A,75588)|0;f=i+-1|0;n=e+8|0;r=0;while(1){if((r|0)>=(i|0))break;if(!r){kg(A,75600)|0;s=+((a[46727]|0)>>>0)-+b[n>>3];b[l>>3]=+b[e>>3];b[l+8>>3]=s;gg(A,75604,l);kg(A,75615)|0}else{s=+((a[46727]|0)>>>0)-+b[e+(r<<4)+8>>3];b[t>>3]=+b[e+(r<<4)>>3];b[t+8>>3]=s;gg(A,75604,t)}if((r|0)==(f|0))kg(A,75619)|0;r=r+1|0}kg(A,75623)|0;am(A);kg(A,75627)|0;k=c;return}function im(A,e){A=A|0;e=e|0;kg(A,75446)|0;kg(A,rm(e)|0)|0;kg(A,75458)|0;return}function rm(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+16|0;i=g;e=a[46724]|0;if(!e){a[46725]=64;e=$F(64)|0;a[46724]=e}B=i+15|0;d=i+14|0;n=0;h=0;u=0;i=0;f=0;A:while(1){w=(u|0)!=0;b=n;o=A;c=i;e:while(1){if(!o){v=32;break A}i=r[o>>0]|0;if(!(i<<24>>24)){v=32;break A}A=a[46725]|0;if((h|0)>(A+-8|0)){e=A<<1;a[46725]=e;e=eV(a[46724]|0,e)|0;a[46724]=e;e=e+h|0;i=r[o>>0]|0}switch(i<<24>>24){case 60:{i=4;A=102153;v=26;break e}case 62:{i=4;A=102136;v=27;break e}case 38:{v=10;break e}case 45:{i=5;A=102147;t=c;break e}default:{}}if(w&i<<24>>24==32){v=12;break}switch(i<<24>>24){case 34:{i=6;A=102116;v=26;break e}case 39:{i=5;A=102141;v=27;break e}default:{}}if(i<<24>>24<0){t=127;A=0}else{i=1;A=o;v=26;break}while(1){n=t&255;l=i&255;if(n>>>0>=l>>>0)break;i=t&l&255;t=n>>>1;A=A+1|0}if((A|0)<=1){n=G6(c|0,f|0,6)|0;n=d6(n|0,L|0,i&255|0,0)|0;f=L;s=b+-1|0;if((b|0)>1){A=s;i=n}else{v=21;break}}else{A=A+-1|0;i=i&255;f=0}b=A;o=o+1|0;c=i}if((v|0)==10){v=0;A=(fm(o)|0)==0;i=A?5:1;A=A?102130:o;t=c}else if((v|0)==12){v=0;A=(r[u>>0]|0)==32;i=A?6:1;A=A?102123:o;t=c}else if((v|0)==21){v=0;r[B>>0]=59;i=3;l=d;t=n;c=f;while(1){A=C6(t|0,c|0,10,0)|0;n=l+-1|0;r[l>>0]=A|48;A=t;t=E6(t|0,c|0,10,0)|0;f=c;c=L;u=i;i=i+1|0;if((u|0)>11){v=23;break A}if(!(f>>>0>0|(f|0)==0&A>>>0>9))break;else l=n}A=l+-2|0;r[n>>0]=35;r[A>>0]=38;b=s;f=c}else if((v|0)==26){v=0;t=c}else if((v|0)==27){v=0;t=c}l=e+i|0;n=i;while(1){if(!n)break;r[e>>0]=r[A>>0]|0;n=n+-1|0;A=A+1|0;e=e+1|0}n=b;A=o+1|0;h=i+h|0;u=o;e=l;i=t}if((v|0)==23){L3(75464,46,1,a[15712]|0)|0;SA(1)}else if((v|0)==32){r[e>>0]=0;k=g;return a[46724]|0}return 0}function fm(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function am(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+48|0;i=c+8|0;t=c;l=a[A+16>>2]|0;kg(A,75639)|0;r=i;f=l+16|0;n=r+40|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));nm(A,i);e=+b[l+152>>3];if(e!=1.0){b[t>>3]=e;gg(A,75657,t)}switch(a[l+144>>2]|0){case 1:{kg(A,75674)|0;break}case 2:{kg(A,75692)|0;break}default:{}}kg(A,75709)|0;k=c;return}function nm(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,135709)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,75728,94,75748)}}while(0);k=f;return}function lm(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+48|0;f=n;if(!e)kg(A,75867)|0;else{i=a[A+16>>2]|0;kg(A,75837)|0;e=f;i=i+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));nm(A,f);kg(A,75864)|0}k=n;return}function tm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0.0,c=0.0;l=k;k=k+32|0;n=l;r=75818;f=0;while(1){if((f|0)>=(i|0))break;c=+b[e+(f<<4)>>3];t=+((a[46727]|0)>>>0)-+b[e+(f<<4)+8>>3];a[n>>2]=r;b[n+8>>3]=c;b[n+16>>3]=t;gg(A,75821,n);r=(f|0)==0?75834:195059;f=f+1|0}kg(A,98744)|0;k=l;return}function cm(A){A=A|0;var e=0,i=0,r=0;e=k;k=k+16|0;i=e+8|0;r=e;kg(A,80451)|0;kg(A,80466)|0;kg(A,80505)|0;kg(A,80554)|0;a[r>>2]=137314;a[r+4>>2]=80642;gg(A,80623,r);a[i>>2]=137198;a[i+4>>2]=80648;gg(A,80623,i);k=e;return}function bm(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0;e=k;k=k+64|0;i=e+8|0;t=e;a[t>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,79404,t);l=+b[A+368>>3]*.5*+b[A+488>>3];n=+b[A+376>>3]*.5*+b[A+496>>3];f=+N(+(l*2.0000000949949026e-03))*180.0*.6366197723675814;r=+N(+(n*2.0000000949949026e-03))*180.0*.6366197723675814;b[i>>3]=l;b[i+8>>3]=n;b[i+16>>3]=-500.0;b[i+24>>3]=l;b[i+32>>3]=n;b[i+40>>3]=0.0;b[i+48>>3]=(f>r?f:r)*1.2;gg(A,79426,i);kg(A,79573)|0;kg(A,80403)|0;k=e;return}function sm(A){A=A|0;kg(A,79387)|0;return}function wm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=k;k=k+16|0;n=f;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=r;gg(A,79357,n);c[46728]=+(U(i,-10)|0);k=f;return}function um(A){A=A|0;kg(A,79340)|0;return}function km(A){A=A|0;kg(A,79322)|0;return}function om(A){A=A|0;kg(A,79306)|0;return}function hm(A){A=A|0;kg(A,79285)|0;c[46728]=+c[46728]+-2.0;return}function dm(A){A=A|0;kg(A,79266)|0;return}function Bm(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,79244,i);k=e;return}function vm(A){A=A|0;kg(A,79228)|0;return}function gm(A){A=A|0;kg(A,79210)|0;c[46728]=+c[46728]+-5.0;return}function Em(A){A=A|0;kg(A,79194)|0;c[46728]=+c[46728]+5.0;return}function Cm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0;d=k;k=k+144|0;u=d+104|0;h=d+56|0;s=d+32|0;l=d+24|0;w=d;o=i+4|0;n=a[o>>2]|0;f=+b[n+16>>3];n=a[n>>2]|0;a[w>>2]=a[i>>2];b[w+8>>3]=f;a[w+16>>2]=n;gg(A,79040,w);c[46729]=+c[46728]+-9.0;switch(r[i+48>>0]|0){case 108:{f=+b[e>>3];break}case 114:{n=e;f=+b[e>>3]-+b[i+32>>3];t=5;break}default:{n=e;f=+b[e>>3]-+b[i+32>>3]*.5;t=5}}if((t|0)==5)b[n>>3]=f;g=+b[A+488>>3];v=(+b[A+504>>3]+f)*g;B=(+b[A+512>>3]+ +b[e+8>>3])*+b[A+496>>3];b[l>>3]=+b[(a[o>>2]|0)+16>>3]*g;w=Lm(A,79092,l)|0;f=+(a[A+360>>2]|0);b[s>>3]=0.0;b[s+8>>3]=0.0;b[s+16>>3]=f;n=Lm(A,78309,s)|0;f=+c[46729];b[u>>3]=v;b[u+8>>3]=B;b[u+16>>3]=f;e=Lm(A,78341,u)|0;l=u;t=(a[A+16>>2]|0)+16|0;s=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(s|0));u=Wm(A,u,0.0)|0;i=a[i>>2]|0;a[h>>2]=a[a[o>>2]>>2];b[h+8>>3]=.25;b[h+16>>3]=0.0;a[h+24>>2]=i;a[h+28>>2]=79179;a[h+32>>2]=w;a[h+36>>2]=n;a[h+40>>2]=e;a[h+44>>2]=u;h=Lm(A,79104,h)|0;kg(A,h)|0;L2(h);L2(n);L2(u);L2(e);L2(w);k=d;return}function Im(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0;G=k;k=k+240|0;I=G+192|0;Z=G+152|0;v=G+128|0;d=G+104|0;u=G+80|0;w=G+48|0;r=G+24|0;s=G;kg(A,78917)|0;c[46729]=+c[46728]+-6.0;n=+b[e>>3];l=+b[A+488>>3];o=(+b[A+504>>3]+n)*l;Q=+b[e+8>>3];t=+b[A+496>>3];h=(+b[A+512>>3]+Q)*t;l=(+b[e+16>>3]-n)*l;t=(+b[e+24>>3]-Q)*t;B=A+16|0;Q=t+l;n=+b[(a[B>>2]|0)+152>>3]/Q*2.5;b[s>>3]=l;b[s+8>>3]=Q*.25;b[s+16>>3]=t;e=Lm(A,78277,s)|0;s=A+360|0;Q=+(a[s>>2]|0);b[r>>3]=90.0;b[r+8>>3]=0.0;b[r+16>>3]=Q;r=Lm(A,78309,r)|0;Q=+c[46729];b[I>>3]=o;b[I+8>>3]=h;b[I+16>>3]=Q;f=Lm(A,78341,I)|0;g=I;E=(a[B>>2]|0)+16|0;C=g+40|0;do{a[g>>2]=a[E>>2];g=g+4|0;E=E+4|0}while((g|0)<(C|0));E=Wm(A,I,0.0)|0;b[w>>3]=1.0;b[w+8>>3]=n;a[w+16>>2]=e;a[w+20>>2]=r;a[w+24>>2]=f;a[w+28>>2]=E;C=Lm(A,78932,w)|0;kg(A,C)|0;L2(e);L2(r);L2(f);L2(E);L2(C);if(i|0){b[u>>3]=l;b[u+8>>3]=t;b[u+16>>3]=1.0;f=Lm(A,78277,u)|0;Q=+(a[s>>2]|0);b[d>>3]=0.0;b[d+8>>3]=0.0;b[d+16>>3]=Q;r=Lm(A,78309,d)|0;Q=+c[46729];b[v>>3]=o;b[v+8>>3]=h;b[v+16>>3]=Q;e=Lm(A,78341,v)|0;g=I;E=(a[B>>2]|0)+56|0;C=g+40|0;do{a[g>>2]=a[E>>2];g=g+4|0;E=E+4|0}while((g|0)<(C|0));I=Wm(A,I,0.0)|0;b[Z>>3]=0.0;b[Z+8>>3]=0.0;b[Z+16>>3]=0.0;a[Z+24>>2]=f;a[Z+28>>2]=r;a[Z+32>>2]=e;a[Z+36>>2]=I;Z=Lm(A,78978,Z)|0;kg(A,Z)|0;L2(f);L2(r);L2(e);L2(I);L2(Z)}k=G;return}function Zm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0.0,N=0,X=0.0;V=k;k=k+336|0;m=V+296|0;F=V+288|0;M=V+272|0;D=V+264|0;Y=V+240|0;W=V+232|0;Q=V+208|0;G=V+184|0;C=V+160|0;E=V+152|0;g=V+136|0;v=V+128|0;B=V+96|0;d=V+88|0;h=V+56|0;f=V+48|0;s=V+24|0;t=V;kg(A,78782)|0;c[46729]=+c[46728]+-2.0;u=A+488|0;o=A+496|0;J=+b[o>>3];b[t>>3]=+b[u>>3];b[t+8>>3]=J;b[t+16>>3]=1.0;t=Lm(A,78277,t)|0;Z=A+360|0;J=+(a[Z>>2]|0);b[s>>3]=0.0;b[s+8>>3]=0.0;b[s+16>>3]=J;s=Lm(A,78309,s)|0;J=+c[46729]+-2.0;b[m>>3]=0.0;b[m+8>>3]=0.0;b[m+16>>3]=J;w=Lm(A,78341,m)|0;L=A+16|0;n=m;l=(a[L>>2]|0)+16|0;I=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(I|0));l=Wm(A,m,0.0)|0;a[f>>2]=78404;a[f+4>>2]=i+1;y=A+504|0;z=A+512|0;n=0;f=Lm(A,78373,f)|0;while(1){if((n|0)>=(i|0))break;X=+b[z>>3]+ +b[e+(n<<4)+8>>3];J=+b[(a[L>>2]|0)+152>>3];b[h>>3]=+b[y>>3]+ +b[e+(n<<4)>>3];b[h+8>>3]=X;b[h+16>>3]=0.0;b[h+24>>3]=J;N=Lm(A,78418,h)|0;a[d>>2]=f;a[d+4>>2]=N;I=Lm(A,78447,d)|0;L2(N);L2(f);n=n+1|0;f=I}J=+b[z>>3]+ +b[e+8>>3];X=+b[(a[L>>2]|0)+152>>3];b[B>>3]=+b[y>>3]+ +b[e>>3];b[B+8>>3]=J;b[B+16>>3]=0.0;b[B+24>>3]=X;I=Lm(A,78418,B)|0;a[v>>2]=f;a[v+4>>2]=I;N=Lm(A,78447,v)|0;L2(I);L2(f);a[g>>2]=t;a[g+4>>2]=s;a[g+8>>2]=w;a[g+12>>2]=l;I=Lm(A,78797,g)|0;a[E>>2]=N;a[E+4>>2]=I;N=Lm(A,78502,E)|0;L2(I);kg(A,N)|0;L2(t);L2(s);L2(w);L2(l);L2(N);if(r|0){X=+b[o>>3];b[C>>3]=+b[u>>3];b[C+8>>3]=X;b[C+16>>3]=1.0;w=Lm(A,78277,C)|0;X=+(a[Z>>2]|0);b[G>>3]=0.0;b[G+8>>3]=0.0;b[G+16>>3]=X;s=Lm(A,78309,G)|0;X=+c[46729]+-2.0;b[Q>>3]=0.0;b[Q+8>>3]=0.0;b[Q+16>>3]=X;t=Lm(A,78341,Q)|0;n=m;l=(a[L>>2]|0)+56|0;I=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(I|0));l=Wm(A,m,.25)|0;a[W>>2]=i;n=0;f=Lm(A,78842,W)|0;while(1){if((n|0)>=(i|0))break;X=+b[z>>3]+ +b[e+(n<<4)+8>>3];b[Y>>3]=+b[y>>3]+ +b[e+(n<<4)>>3];b[Y+8>>3]=X;b[Y+16>>3]=0.0;W=Lm(A,78857,Y)|0;a[D>>2]=f;a[D+4>>2]=W;N=Lm(A,78879,D)|0;L2(W);L2(f);n=n+1|0;f=N}a[M>>2]=w;a[M+4>>2]=s;a[M+8>>2]=t;a[M+12>>2]=l;M=Lm(A,78889,M)|0;a[F>>2]=f;a[F+4>>2]=M;N=Lm(A,78502,F)|0;L2(M);kg(A,N)|0;L2(w);L2(s);L2(t);L2(l);L2(N)}k=V;return}function Gm(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0;m=k;k=k+208|0;r=m+160|0;Q=m+152|0;G=m+136|0;Z=m+128|0;I=m+96|0;C=m+88|0;E=m+56|0;t=m+48|0;B=m+24|0;d=m;kg(A,78709)|0;c[46729]=+c[46728]+-4.0;L=+b[A+496>>3];b[d>>3]=+b[A+488>>3];b[d+8>>3]=L;b[d+16>>3]=1.0;d=Lm(A,78277,d)|0;L=+(a[A+360>>2]|0);b[B>>3]=0.0;b[B+8>>3]=0.0;b[B+16>>3]=L;B=Lm(A,78309,B)|0;L=+c[46729]+-2.0;b[r>>3]=0.0;b[r+8>>3]=0.0;b[r+16>>3]=L;v=Lm(A,78341,r)|0;g=A+16|0;f=r;n=(a[g>>2]|0)+56|0;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));w=Wm(A,r,0.0)|0;a[t>>2]=78723;a[t+4>>2]=i+2;u=A+504|0;o=A+512|0;h=i+-1|0;s=0;r=Lm(A,78373,t)|0;while(1){if((s|0)>=(i|0))break;f=e+(s<<4)|0;n=e+(s<<4)+8|0;W=+b[o>>3]+ +b[n>>3];L=+b[(a[g>>2]|0)+152>>3];b[E>>3]=+b[u>>3]+ +b[f>>3];b[E+8>>3]=W;b[E+16>>3]=0.0;b[E+24>>3]=L;t=Lm(A,78418,E)|0;a[C>>2]=r;a[C+4>>2]=t;l=Lm(A,78447,C)|0;L2(t);L2(r);if((s|0)==0|(s|0)==(h|0)){L=+b[o>>3]+ +b[n>>3];W=+b[(a[g>>2]|0)+152>>3];b[I>>3]=+b[u>>3]+ +b[f>>3];b[I+8>>3]=L;b[I+16>>3]=0.0;b[I+24>>3]=W;t=Lm(A,78418,I)|0;a[Z>>2]=l;a[Z+4>>2]=t;r=Lm(A,78447,Z)|0;L2(t);L2(l)}else r=l;s=s+1|0}a[G>>2]=d;a[G+4>>2]=B;a[G+8>>2]=v;a[G+12>>2]=w;e=Lm(A,78732,G)|0;a[Q>>2]=r;a[Q+4>>2]=e;i=Lm(A,78502,Q)|0;L2(e);kg(A,i)|0;L2(d);L2(B);L2(v);L2(w);L2(i);k=m;return}function Qm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0,Z=0.0;E=k;k=k+160|0;r=E+120|0;g=E+112|0;v=E+96|0;B=E+88|0;d=E+56|0;s=E+48|0;w=E+24|0;h=E;kg(A,78261)|0;c[46729]=+c[46728]+-6.0;C=+b[A+496>>3];b[h>>3]=+b[A+488>>3];b[h+8>>3]=C;b[h+16>>3]=1.0;h=Lm(A,78277,h)|0;C=+(a[A+360>>2]|0);b[w>>3]=0.0;b[w+8>>3]=0.0;b[w+16>>3]=C;w=Lm(A,78309,w)|0;C=+c[46729];b[r>>3]=0.0;b[r+8>>3]=0.0;b[r+16>>3]=C;u=Lm(A,78341,r)|0;o=A+16|0;f=r;n=(a[o>>2]|0)+16|0;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));n=Wm(A,r,0.0)|0;a[s>>2]=78404;a[s+4>>2]=i;l=A+504|0;t=A+512|0;f=0;r=Lm(A,78373,s)|0;while(1){if((f|0)>=(i|0))break;Z=+b[t>>3]+ +b[e+(f<<4)+8>>3];C=+b[(a[o>>2]|0)+152>>3];b[d>>3]=+b[l>>3]+ +b[e+(f<<4)>>3];b[d+8>>3]=Z;b[d+16>>3]=0.0;b[d+24>>3]=C;I=Lm(A,78418,d)|0;a[B>>2]=r;a[B+4>>2]=I;s=Lm(A,78447,B)|0;L2(I);L2(r);f=f+1|0;r=s}a[v>>2]=h;a[v+4>>2]=w;a[v+8>>2]=u;a[v+12>>2]=n;v=Lm(A,78456,v)|0;a[g>>2]=r;a[g+4>>2]=v;I=Lm(A,78502,g)|0;L2(v);kg(A,I)|0;L2(h);L2(w);L2(u);L2(n);L2(I);k=E;return}function mm(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,78242,r);k=i;return}function Lm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+1056|0;l=t;r=t+24|0;f=t+8|0;a[f>>2]=i;n=k4(r,1024,e,f)|0;do{if((n|0)>=0)if((n|0)>1023){A=m2(n+1|0)|0;a[f>>2]=i;O4(A,e,f)|0;break}else{A=s3(r)|0;break}else{A=a[(a[A+12>>2]|0)+16>>2]|0;a[l>>2]=e1(a[(X2()|0)>>2]|0)|0;V5[A&63](78687,l);A=s3(195059)|0}}while(0);k=t;return A|0}function Wm(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0;h=k;k=k+112|0;u=h+104|0;t=h+96|0;l=h+64|0;w=h+48|0;o=h+32|0;s=h+16|0;c=h;f=a[e+32>>2]|0;A:do{switch(f|0){case 5:{r=a[e>>2]|0;if(!(A1(r,136302)|0)){a[c>>2]=78524;b[c+8>>3]=i;r=Lm(A,78507,c)|0;break A}if(!(A1(r,133432)|0)){a[s>>2]=78528;b[s+8>>3]=i;r=Lm(A,78507,s)|0;break A}if(!(A1(r,131431)|0)){a[o>>2]=78534;b[o+8>>3]=i;r=Lm(A,78507,o)|0;break A}else{a[w>>2]=r;b[w+8>>3]=i;r=Lm(A,78507,w)|0;break A}}case 1:{B=+(n[e+1>>0]|0)*.00390625;d=+(n[e+2>>0]|0)*.00390625;b[l>>3]=+(n[e>>0]|0)*.00390625;b[l+8>>3]=B;b[l+16>>3]=d;b[l+24>>3]=i;r=Lm(A,78539,l)|0;break}default:{o=a[15712]|0;w=a[e>>2]|0;a[t>>2]=f;a[t+4>>2]=w;f3(o,78578,t)|0;vA(138394,78628,436,78648)}}}while(0);a[u>>2]=r;o=Lm(A,78665,u)|0;L2(r);k=h;return o|0}function ym(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;l=a[a[A+12>>2]>>2]|0;c=a[l>>2]|0;t=a[l+4>>2]|0;l=a[l+8>>2]|0;a[n>>2]=81094;a[n+4>>2]=c;a[n+8>>2]=t;a[n+12>>2]=l;gg(A,83704,n);f=Vh(a[f+8>>2]|0)|0;a[r>>2]=81094;a[r+4>>2]=f;gg(A,83736,r);a[i>>2]=81094;gg(A,83750,i);k=e;return}function zm(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=81094;gg(A,83652,i);k=e;return}function Ym(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0;P=k;k=k+304|0;S=P+296|0;j=P+288|0;T=P+272|0;U=P+264|0;p=P+256|0;H=P+248|0;R=P+240|0;X=P+232|0;N=P+224|0;J=P+216|0;V=P+208|0;F=P+200|0;M=P+192|0;D=P+184|0;z=P+176|0;y=P+168|0;W=P+160|0;L=P+152|0;Q=P+144|0;G=P+136|0;Z=P+128|0;I=P+120|0;C=P+112|0;E=P+104|0;g=P+96|0;v=P+88|0;B=P+80|0;d=P+72|0;h=P+64|0;o=P+56|0;u=P+48|0;x=P+40|0;m=P+24|0;w=P+16|0;s=P;n=a[A+456>>2]|0;l=a[A+460>>2]|0;t=a[A+464>>2]|0;c=a[A+468>>2]|0;f=A+360|0;A:do{if(a[4025]|0){switch(a[f>>2]|0){case 90:case 0:break A;default:{}}xm();a[4025]=0}}while(0);r=(+(c|0)-+(l|0))*.013888888888888888;e=(+(t|0)-+(n|0))*.013888888888888888;c=(a[f>>2]|0)==90;i=c?r:e;r=c?e:r;b[s>>3]=i;b[s+8>>3]=r;gg(A,81281,s);a[w>>2]=81094;gg(A,81296,w);if(i>0.0){e=+t1(i);b[19214]=e;e=e+3.0-+(~~e|0)}else e=3.0;e=+Y(10.0,+e);b[19214]=e;b[m>>3]=e;b[m+8>>3]=e;gg(A,81465,m);a[x>>2]=81094;gg(A,81500,x);a[u>>2]=81094;gg(A,81558,u);a[o>>2]=81094;gg(A,81618,o);a[h>>2]=81094;gg(A,81667,h);a[d>>2]=81094;gg(A,81706,d);a[B>>2]=81094;gg(A,81757,B);a[v>>2]=81094;gg(A,81819,v);a[g>>2]=81094;gg(A,81929,g);a[E>>2]=81094;gg(A,82020,E);a[C>>2]=81094;gg(A,82074,C);a[I>>2]=81094;gg(A,82143,I);gg(A,82179,Z);a[G>>2]=81094;gg(A,82304,G);a[Q>>2]=81094;gg(A,82333,Q);gg(A,82373,L);a[W>>2]=81094;gg(A,82466,W);a[y>>2]=81094;gg(A,82525,y);a[z>>2]=81094;gg(A,82606,z);gg(A,82676,D);a[M>>2]=81094;gg(A,82765,M);a[F>>2]=81094;gg(A,82870,F);a[V>>2]=81094;gg(A,82946,V);a[J>>2]=81094;gg(A,82985,J);a[N>>2]=81094;gg(A,83084,N);a[X>>2]=81094;gg(A,83130,X);gg(A,83219,R);a[H>>2]=81094;gg(A,83260,H);a[p>>2]=81094;gg(A,83343,p);a[U>>2]=81094;gg(A,83444,U);b[T>>3]=r;b[T+8>>3]=i;gg(A,83508,T);gg(A,83536,j);gg(A,83544,S);k=P;return}function Dm(A){A=A|0;var e=0;e=k;k=k+16|0;gg(A,81274,e);k=e;return}function Mm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0,u=0,o=0,h=0,d=0;d=k;k=k+48|0;h=d+24|0;o=d+8|0;u=d;switch(r[i+48>>0]|0){case 108:{c=e;l=+b[i+32>>3];t=+b[e>>3];break}case 114:{l=+b[i+32>>3];n=l;f=5;break}default:{l=+b[i+32>>3];n=l*.5;f=5}}if((f|0)==5){t=+b[e>>3]-n;b[e>>3]=t;c=e}s=i+4|0;f=a[s>>2]|0;n=+b[f+16>>3];e=e+8|0;w=+b[e>>3]+n*.004629629629629629;b[e>>3]=w;l=t+l*.006944444444444444;b[c>>3]=l;f=a[f>>2]|0;do{if(f){e=a[46730]|0;if(e|0?(A1(e,f)|0)==0:0)break;a[u>>2]=pm(f)|0;gg(A,81173,u);u=a[s>>2]|0;a[46730]=a[u>>2];n=+b[u+16>>3]}}while(0);f=~~n;f=(f|0)>1?f:1;if((f|0)!=(a[46731]|0)){t=+b[19214];a[o>>2]=f;b[o+8>>3]=t;gg(A,81181,o);a[46731]=f}a[h>>2]=Um(a[i>>2]|0)|0;b[h+8>>3]=l;b[h+16>>3]=w;gg(A,81202,h);k=d;return}function Fm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0;r=k;k=k+48|0;f=r;l=+b[e>>3];c=(+b[e+16>>3]-l)*.027777777777777776;n=+b[e+8>>3];t=(+b[e+24>>3]-n)*.027777777777777776;a[f>>2]=1;a[f+4>>2]=i|0?81115:195059;b[f+8>>3]=c;b[f+16>>3]=t;b[f+24>>3]=l*.013888888888888888;b[f+32>>3]=n*.013888888888888888;gg(A,81121,f);k=r;return}function Vm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=k;k=k+16|0;Rm(a[A+16>>2]|0,r+8|0,r);Hm(A,e,i,1);k=r;return}function Jm(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0.0,C=0;v=k;k=k+128|0;B=v+112|0;h=v+104|0;o=v+96|0;r=v+88|0;w=v+16|0;u=v;c=a[A+16>>2]|0;t=m2((i*140|0)+140|0)|0;Rm(c,v+116|0,v+80|0);E=+b[e>>3];c=w+48|0;b[c>>3]=E;g=+b[e+8>>3];b[w+56>>3]=g;a[r>>2]=~~(E+(E>=0.0?.5:-.5));a[r+4>>2]=~~(g+(g>=0.0?.5:-.5));l=u+8|0;r=t+(P4(t,81099,r)|0)|0;d=1;n=0;while(1){s=n+3|0;if((s|0)>=(i|0))break;a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];f=1;while(1){if((f|0)==4){f=1;break}C=f+n|0;b[w+(f<<4)>>3]=+b[e+(C<<4)>>3];b[w+(f<<4)+8>>3]=+b[e+(C<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(u,w,3,+(f|0)*.16666666666666666,0,0);g=+b[u>>3];E=+b[l>>3];a[o>>2]=~~(g+(g>=0.0?.5:-.5));a[o+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,o)|0)|0}d=d+6|0;n=s}a[h>>2]=t;gg(A,81106,h);L2(t);f=d+-1|0;r=0;while(1){if((r|0)>=(d|0))break;a[B>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,B);r=r+1|0}kg(A,153599)|0;k=v;return}function Nm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=k;k=k+16|0;Rm(a[A+16>>2]|0,r+8|0,r);Hm(A,e,i,0);k=r;return}function Xm(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=81094;a[r+4>>2]=e;gg(A,81087,r);k=i;return}function Rm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function Hm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function pm(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;A:while(1){e=15828;while(1){i=a[e+4>>2]|0;if(!i)break;if(!(A1(i,A)|0)){n=6;break A}e=e+8|0}a[f>>2]=81255;a[f+4>>2]=A;ao(1,81229,f)|0;e=w3(A,45)|0;if(!e){e=81272;break}r[e>>0]=0}k=l;return e|0}function Um(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46732]|0;if(!e){a[46733]=64;e=m2(64)|0;a[46732]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46733]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46733]=e;e=y2(a[46732]|0,e)|0;a[46732]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46732]|0}function xm(){var A=0,e=0;A=k;k=k+16|0;e=A;a[e>>2]=81255;a[e+4>>2]=91269;ao(0,83634,e)|0;k=A;return}function Tm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0,c=0;r=k;k=k+32|0;f=r+8|0;t=r;e=e+8|0;c=a[e>>2]|0;a[t>>2]=c;a[t+4>>2]=c;gg(A,84223,t);l=(+b[i>>3]+ +b[i+16>>3])*.5;n=(+b[i+8>>3]+ +b[i+24>>3])*.5;a[f>>2]=a[e>>2];b[f+8>>3]=l;b[f+16>>3]=n;gg(A,84265,f);k=r;return}function jm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0.0,c=0.0;r=k;k=k+48|0;f=r;l=+b[i>>3];c=+b[i+16>>3]-l;n=+b[i+24>>3];t=n-+b[i+8>>3];n=+(~~(+b[A+232>>3]-+b[A+216>>3])>>>0)-n;a[f>>2]=a[e+8>>2];b[f+8>>3]=c;b[f+16>>3]=t;b[f+24>>3]=l;b[f+32>>3]=n;gg(A,84310,f);kg(A,84402)|0;k=r;return}function Sm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return}function Pm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0;v=k;k=k+160|0;B=v+152|0;d=v+136|0;h=v+120|0;c=v+112|0;w=v+104|0;s=v+88|0;t=v+72|0;l=v+64|0;u=v;if(!A)vA(111282,84407,212,84426);if(!e)vA(111312,84407,213,84426);o=e+8|0;if(!(a[o>>2]|0))vA(111315,84407,214,84426);if(a[e+52>>2]|0){a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];e=u+32|0;i=i+16|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];f=+b[u>>3];b[u+16>>3]=f;b[u+24>>3]=+b[u+40>>3];b[u+48>>3]=+b[e>>3];n=+b[u+8>>3];b[u+56>>3]=n;if(r<<24>>24){gg(A,84447,l);e=0;while(1){if((e|0)==4)break;g=+b[u+(e<<4)+8>>3];b[t>>3]=+b[u+(e<<4)>>3];b[t+8>>3]=g;gg(A,84450,t);e=e+1|0}b[s>>3]=f;b[s+8>>3]=n;gg(A,84450,s);s=a[o>>2]|0;a[w>>2]=4;a[w+4>>2]=s;gg(A,84457,w)}gg(A,84447,c);e=0;while(1){if((e|0)==4)break;g=+b[u+(e<<4)+8>>3];b[h>>3]=+b[u+(e<<4)>>3];b[h+8>>3]=g;gg(A,84450,h);e=e+1|0}b[d>>3]=f;b[d+8>>3]=n;gg(A,84450,d);d=a[o>>2]|0;a[B>>2]=4;a[B+4>>2]=d;gg(A,84472,B)}k=v;return}function Om(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+112|0;w=u+24|0;s=u+16|0;c=u;l=u+28|0;if(!A)vA(111282,84407,153,84488);if(!e)vA(111312,84407,154,84488);if(!(a[e+8>>2]|0))vA(111315,84407,155,84488);t=e+52|0;if(a[t>>2]|0){f=e+60|0;n=a[f>>2]|0;if((n|0)==100)n=18;else{F5[n&127](e);a[t>>2]=0;a[f>>2]=0;a[e+56>>2]=0;n=10}}else n=10;do{if((n|0)==10){if(!((Rg(e)|0)<<24>>24))break;f=t6(a[e+20>>2]|0)|0;if((a[e+24>>2]&-2|0)==6){D3(f,l)|0;l=a[l+36>>2]|0;a[e+56>>2]=l;f=T2(0,l,1,1,f,0)|0;a[t>>2]=f;r[e+16>>0]=1}else f=a[t>>2]|0;if(f|0)a[e+60>>2]=100;Hg(e);if(a[t>>2]|0)n=18}}while(0);if((n|0)==18){o=+b[i+8>>3]-+(a[e+36>>2]|0);b[c>>3]=+b[i>>3]-+(a[e+32>>2]|0);b[c+8>>3]=o;gg(A,84506,c);if(!(r[e+16>>0]|0)){a[s>>2]=a[e+12>>2];gg(A,84537,s)}else pJ(A,e);gg(A,84552,w)}k=u;return}function Km(A){A=A|0;U2(a[A+52>>2]|0,a[A+56>>2]|0)|0;return}function _m(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+80|0;f=n+48|0;if(!A)vA(111282,84407,121,84562);r=a[A+16>>2]|0;if(!r)vA(99902,84407,123,84562);if(!e)vA(111312,84407,124,84562);i=e+8|0;if(!(a[i>>2]|0))vA(111315,84407,125,84562);if(!(a[r+8>>2]|0))vA(138879,84407,128,84562);else{gg(A,84582,n);gg(A,84591,n+8|0);gg(A,84618,n+16|0);gg(A,84643,n+24|0);gg(A,84672,n+32|0);gg(A,84700,n+40|0);a[f>>2]=a[i>>2];gg(A,84707,f);gg(A,84746,n+56|0);gg(A,111008,n+64|0);k=n;return}}function qm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0.0;l=k;k=k+128|0;n=l+80|0;f=l;if(!A)vA(111282,84407,97,84751);if(!e)vA(111312,84407,98,84751);r=a[e+8>>2]|0;if(!r)vA(111315,84407,99,84751);else{s=+b[i>>3];t=~~(s+(s>=0.0?.5:-.5));s=+b[i+8>>3];e=~~(s+(s>=0.0?.5:-.5));s=+b[i+16>>3];c=~~(s+(s>=0.0?.5:-.5));s=+b[i+24>>3];i=~~(s+(s>=0.0?.5:-.5));a[f>>2]=2;a[f+4>>2]=5;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=-1;a[f+24>>2]=1;a[f+28>>2]=-1;a[f+32>>2]=0;b[f+40>>3]=0.0;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=5;a[f+72>>2]=0;a[f+76>>2]=r;gg(A,84770,f);a[n>>2]=t;a[n+4>>2]=e;a[n+8>>2]=t;a[n+12>>2]=i;a[n+16>>2]=c;a[n+20>>2]=i;a[n+24>>2]=c;a[n+28>>2]=e;a[n+32>>2]=t;a[n+36>>2]=e;gg(A,84828,n);k=l;return}}function $m(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0;u=k;k=k+96|0;w=u+56|0;s=u+32|0;c=u;l=+b[i>>3];t=+b[i+16>>3]-l;f=+b[i+24>>3];n=f-+b[i+8>>3];if(!A)vA(111282,84407,53,84860);if(!e)vA(111312,84407,54,84860);r=e+8|0;if(!(a[r>>2]|0))vA(111315,84407,55,84860);kg(A,84879)|0;kg(A,a[r>>2]|0)|0;r=A+360|0;f=-f;if(!(a[r>>2]|0)){b[w>>3]=t;b[w+8>>3]=n;b[w+16>>3]=l;b[w+24>>3]=f;gg(A,85008,w)}else{b[c>>3]=n;b[c+8>>3]=t;b[c+16>>3]=l;b[c+24>>3]=f;gg(A,84899,c);a[s>>2]=a[r>>2];b[s+8>>3]=l;b[s+16>>3]=f;gg(A,84978,s)}kg(A,85087)|0;k=u;return}function AL(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;eL(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;iL(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function eL(A){A=A|0;var e=0,i=0;Td(A,137447,304,1)|0;FR(A);DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);A=A+16|0;a[(a[A>>2]|0)+176>>2]=0;e=qF(20)|0;i=a[A>>2]|0;a[i+172>>2]=e;a[i+184>>2]=0;i=qF(20)|0;e=a[A>>2]|0;a[e+180>>2]=i;a[e+200>>2]=0;e=qF(12)|0;i=a[A>>2]|0;a[i+196>>2]=e;a[i+192>>2]=0;i=qF(12)|0;e=a[A>>2]|0;a[e+188>>2]=i;a[e+208>>2]=0;e=qF(12)|0;A=a[A>>2]|0;a[A+204>>2]=e;a[A+216>>2]=1;return}function iL(A){A=A|0;var e=0,i=0,n=0,l=0,t=0;Td(A,137460,176,1)|0;VR(A)|0;l=kR(A,a[47174]|0,1,0)|0;n=A+16|0;a[(a[n>>2]|0)+156>>2]=l;l=dR(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,a[47168]|0,195059)|0;t=dR(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,a[47168]|0,195059)|0;e=a[n>>2]|0;i=e+154|0;f[i>>1]=1;f[e+168>>1]=1;if((l|0)==(t|0)&(r[l>>0]|0)!=0){f[i>>1]=1e3;t=e+156|0;a[t>>2]=(a[t>>2]|0)*100}if(qY(A)|0){t=a[n>>2]|0;f[t+154>>1]=0;a[t+156>>2]=0}t=(kR(A,a[47187]|0,0,0)|0)&255;r[(a[n>>2]|0)+152>>0]=t;t=(kR(A,a[47175]|0,1,0)|0)&65535;f[(a[n>>2]|0)+170>>1]=t;return}function rL(A){A=A|0;var e=0,i=0;fL(a[(a[A+16>>2]|0)+192>>2]|0);i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}aL(i);i=bd(A,i)|0}nL(A);return}function fL(A){A=A|0;var e=0,i=0,f=0,n=0;while(1){if(!A)break;f=A+16|0;n=a[(a[f>>2]|0)+164>>2]|0;lL(A);e=a[f>>2]|0;if((r[e+156>>0]|0)!=1){A=n;continue}i=a[e+180>>2]|0;if(i){L2(i);e=a[f>>2]|0}i=a[e+172>>2]|0;if(i){L2(i);e=a[f>>2]|0}L2(e);L2(A);A=n}return}function aL(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=a[r>>2]|0;i=a[e+172>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+180>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+188>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+196>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+204>>2]|0;if(i){L2(i);e=a[r>>2]|0}TF(a[e+104>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);e=a[(a[r>>2]|0)+8>>2]|0;if(e|0)F5[a[(a[e+4>>2]|0)+4>>2]&127](A);Sd(A,137447)|0;return}function nL(A){A=A|0;var e=0,i=0,r=0;e=RB(A)|0;while(1){if(!e)break;nL(e);e=HB(e)|0}if(Td(A,137483,0,1)|0){r=A+16|0;e=a[r>>2]|0;i=a[e+184>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+268>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+216>>2]|0;if(i){L2(i);e=a[r>>2]|0}do{if(a[e+196>>2]|0){i=f[e+236>>1]|0;while(1){if((i|0)>(f[e+238>>1]|0))break;L2(a[(a[e+196>>2]|0)+(i<<6)+12>>2]|0);i=i+1|0;e=a[r>>2]|0}i=a[e+196>>2]|0;if((f[e+236>>1]|0)==-1){L2(i+-64|0);break}else{L2(i);break}}}while(0);if((Zd(A)|0)!=(A|0)){TF(a[(a[r>>2]|0)+12>>2]|0);Sd(A,137483)|0}}return}function lL(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=a[r>>2]|0;e=a[i+176>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=a[(a[i+172>>2]|0)+(A<<2)>>2]|0;CW(e);L2(a[e+16>>2]|0);L2(e);e=A;i=a[r>>2]|0}e=a[i+184>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=a[(a[(a[r>>2]|0)+180>>2]|0)+(A<<2)>>2]|0;CW(e);L2(a[e+16>>2]|0);L2(e);e=A}return}function tL(A){A=A|0;if(vh(A)|0)cL(A);VJ(A);return}function cL(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+48|0;n=l+32|0;f=l;e=sC(A,-1,8)|0;i=wC(A,0,f)|0;bC(A,2,8,f)|0;i=(i|0)==0;r=(e|0)<0;if(r&i)bL(A);else{if(i)a[f+16>>2]=3;else e=r?8:e;a[f+8>>2]=e;a[f+20>>2]=0;r=YE(A,n,0)|0;e=a[n>>2]|0;do{if((e|0)==1){bL(A);e=0}else{if(a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]|0){bL(A);e=0;break}a[f+12>>2]=1;i=0;while(1){if((i|0)>=(e|0))break;e=a[r+(i<<2)>>2]|0;sL(e,A);bL(e);i=i+1|0;e=a[n>>2]|0}wL(A);cC(a[n>>2]|0,r,A,f)|0;uL(A);kL(a[n>>2]|0,r,A);e=0}}while(0);while(1){if((e|0)>=(a[n>>2]|0))break;f=r+(e<<2)|0;L2(a[(a[(a[f>>2]|0)+16>>2]|0)+8>>2]|0);nL(a[f>>2]|0);Cd(A,a[f>>2]|0)|0;e=e+1|0}L2(r)}k=l;return}function bL(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+48|0;b=s+40|0;i=s;t=kR(A,Yo(A,0,85102,0)|0,-1,1)|0;zH(A,10);e=_Y(A,i)|0;hL(A,A);AL(A);r=(t|0)==1;n=i+32|0;l=(t|0)==2;t=(t|0)==3;c=i+28|0;i=i+24|0;while(1){Jz(A,e);if(r){e=3;break}if(a[n>>2]|0){ao(0,85108,b)|0;a[i>>2]=0;e=0}SW(A,(e|0)!=0&1);if(l){e=7;break}Ky(A,e);if(t){e=9;break}w=(a[c>>2]|0)+-1|0;a[c>>2]=w;if(!((w|0)!=0&(a[i>>2]|0)!=0)){e=11;break}}if((e|0)==3)dL(A,1);else if((e|0)==7)dL(A,2);else if((e|0)==9)dL(A,2);else if((e|0)==11){if(f[(a[A+16>>2]|0)+136>>1]&16)BL(A);zY(A);CL(A);if((gR(po(A,85199)|0)|0)<<24>>24)GD(A)}k=s;return}function sL(A,e){A=A|0;e=e|0;var i=0,f=0;Td(A,137483,280,1)|0;i=qF(96)|0;A=a[A+16>>2]|0;a[A+8>>2]=i;e=a[e+16>>2]|0;f=a[e+8>>2]|0;b[i>>3]=+b[f>>3];b[i+24>>3]=+b[f+24>>3];a[A+144>>2]=a[e+144>>2];r[A+115>>0]=r[e+115>>0]|0;a[A+116>>2]=a[e+116>>2];a[A+248>>2]=a[e+248>>2];a[A+252>>2]=a[e+252>>2];a[A+244>>2]=a[e+244>>2];return}function wL(A){A=A|0;var e=0,i=0,r=0;e=qF((vh(A)|0)<<4)|0;i=cd(A)|0;while(1){if(!i)break;r=a[i+16>>2]|0;a[r+132>>2]=e;b[e>>3]=+b[r+16>>3]*.013888888888888888;b[e+8>>3]=+b[r+24>>3]*.013888888888888888;e=e+16|0;i=bd(A,i)|0}return}function uL(A){A=A|0;var e=0,i=0,r=0,f=0;r=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;e=r;i=cd(A)|0;while(1){if(!i)break;f=a[i+16>>2]|0;a[f+132>>2]=0;b[f+16>>3]=+b[e>>3]*72.0;b[f+24>>3]=+b[e+8>>3]*72.0;e=e+16|0;i=bd(A,i)|0}L2(r);return}function kL(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;r=0;f=0;while(1){if((r|0)>=(A|0))break;t=(a[(a[(a[e+(r<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;r=r+1|0;f=t}t=i+16|0;a[(a[t>>2]|0)+180>>2]=f;n=qF((f<<2)+4|0)|0;a[(a[t>>2]|0)+184>>2]=n;n=0;r=1;while(1){if((n|0)>=(A|0))break;l=(a[e+(n<<2)>>2]|0)+16|0;f=1;while(1){i=a[l>>2]|0;if((f|0)>(a[i+180>>2]|0))break;i=zE(a[(a[i+184>>2]|0)+(f<<2)>>2]|0)|0;a[(a[(a[t>>2]|0)+184>>2]|0)+(r<<2)>>2]=i;oL(a[(a[(a[l>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,i);f=f+1|0;r=r+1|0}n=n+1|0}return}function oL(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;Td(e,137483,280,1)|0;n=e+16|0;e=(a[n>>2]|0)+16|0;f=A+16|0;A=(a[f>>2]|0)+16|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];a[e+16>>2]=a[A+16>>2];a[e+20>>2]=a[A+20>>2];a[e+24>>2]=a[A+24>>2];a[e+28>>2]=a[A+28>>2];A=a[f>>2]|0;e=a[n>>2]|0;r[e+275>>0]=r[A+275>>0]|0;e=e+48|0;A=A+48|0;i=e+64|0;do{a[e>>2]=a[A>>2];e=e+4|0;A=A+4|0}while((e|0)<(i|0));A=a[(a[f>>2]|0)+180>>2]|0;a[(a[n>>2]|0)+180>>2]=A;e=qF((A<<2)+4|0)|0;a[(a[n>>2]|0)+184>>2]=e;e=1;while(1){i=a[f>>2]|0;if((e|0)>(A|0))break;i=zE(a[(a[i+184>>2]|0)+(e<<2)>>2]|0)|0;a[(a[(a[n>>2]|0)+184>>2]|0)+(e<<2)>>2]=i;oL(a[(a[(a[f>>2]|0)+184>>2]|0)+(e<<2)>>2]|0,i);e=e+1|0}f=i+12|0;a[(a[n>>2]|0)+12>>2]=a[f>>2];a[f>>2]=0;return}function hL(A,e){A=A|0;e=e|0;if((Zd(A)|0)!=(A|0))Td(A,137483,280,1)|0;if((A|0)==(e|0))a[(a[(Zd(A)|0)+16>>2]|0)+188>>2]=A;A=RB(A)|0;while(1){if(!A)break;hL(A,e);A=HB(A)|0}return}function dL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+1040|0;b=s+8|0;c=s;r=s+16|0;f=Yo(A,1,87171,195059)|0;n=Yo(A,1,85242,195059)|0;l=(e|0)>0;i=(e|0)==1;e=cd(A)|0;while(1){if(!e)break;if(l?(t=e+16|0,a[c>>2]=a[(a[t>>2]|0)+232>>2],P4(r,137395,c)|0,Vo(e,f,r)|0,!i):0){a[b>>2]=a[(a[t>>2]|0)+236>>2];P4(r,137395,b)|0;Vo(e,n,r)|0}e=bd(A,e)|0}k=s;return}function BL(A){A=A|0;var e=0,i=0,r=0;i=XB(A,86675,0)|0;if(i|0){e=cd(i)|0;while(1){if(!e)break;r=bd(i,e)|0;yW(A,e);vL(A,e);aL(e);Ed(A,e)|0;e=r}UB(A,i)|0}return}function vL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=a[(a[e+16>>2]|0)+232>>2]|0;t=A+16|0;A=a[(a[t>>2]|0)+196>>2]|0;i=a[A+(c<<6)>>2]|0;l=A+(c<<6)+4|0;n=0;r=0;while(1){if((r|0)>=(i|0)){f=7;break}f=a[(a[l>>2]|0)+(r<<2)>>2]|0;r=r+1|0;if((f|0)==(e|0)){f=4;break}else n=f}if((f|0)==4){while(1){if((r|0)>=(i|0))break;f=a[A+(c<<6)+4>>2]|0;a[f+(r+-1<<2)>>2]=a[f+(r<<2)>>2];f=a[(a[t>>2]|0)+196>>2]|0;r=r+1|0;i=a[f+(c<<6)>>2]|0;A=f;f=4}a[A+(c<<6)>>2]=i+-1}else if((f|0)==7?(n|0)!=(e|0):0)vA(85208,85215,248,85225);return}function gL(A){A=A|0;return a[(a[(Zd(A)|0)+16>>2]|0)+188>>2]|0}function EL(A,e){A=A|0;e=e|0;var i=0;i=r[A+28>>0]|0;if(r[e+28>>0]|0)if(i<<24>>24){i=~~(+b[A>>3]-+b[e>>3]);if(!i)i=~~(+b[A+8>>3]-+b[e+8>>3])}else i=-1;else i=i<<24>>24!=0&1;return i|0}function CL(A){A=A|0;IL(A,1);return}function IL(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0.0;_=k;k=k+656|0;R=_+592|0;X=_+552|0;i=_+544|0;T=_+96|0;j=_;K=_+632|0;S=A+16|0;O=f[(a[S>>2]|0)+136>>1]&14;H=O&65535;p=T+16|0;a[p>>2]=_+368;U=j+16|0;a[U>>2]=_+192;do{if(O<<16>>16){x=O<<16>>16==4;do{if(x){ZL(A);if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1))Q=9;else{ao(0,85248,i)|0;Q=9}}else if(O<<16>>16==8){ZL(A);if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)){ce(A,0);w=0;s=0;c=0;break}else{GL(A);ce(A,1);w=0;s=0;c=0;break}}else Q=9}while(0);if((Q|0)==9){ID(A);if(PJ()|0)break;P=qF(96)|0;V=a[(a[S>>2]|0)+248>>2]|0;a[K+8>>2]=(V|0)/4|0;a[K+12>>2]=V;c=qF(512)|0;z=K+4|0;a[z>>2]=0;a[K>>2]=0;t=a[S>>2]|0;L=f[t+236>>1]|0;W=0;J=0;N=c;y=c;s=c;w=c;u=c;D=0;M=0;A:while(1){if((L|0)>(f[t+238>>1]|0))break;o=a[t+196>>2]|0;l=a[o+(L<<6)>>2]|0;Y=l+W|0;n=a[o+(L<<6)+4>>2]|0;i=a[n>>2]|0;if(!i)i=D;else{q=+(D|0);i=a[i+16>>2]|0;Z=+b[i+16>>3]-+b[i+88>>3];i=~~(Z>q?q:Z)}if((l|0)!=0?(F=a[n+(l+-1<<2)>>2]|0,(F|0)!=0):0){Z=+(M|0);n=a[F+16>>2]|0;q=+b[n+96>>3]+ +b[n+16>>3];n=~~(q=(l|0))break;c=a[(a[i+(L<<6)+4>>2]|0)+(I<<2)>>2]|0;C=c+16|0;i=a[C>>2]|0;l=a[i+112>>2]|0;if(l){l=l+16|0;t=a[(a[l>>2]|0)+96>>2]|0;if(!t){Q=21;break A}B=t+56|0;i=i+16|0;a[B>>2]=a[i>>2];a[B+4>>2]=a[i+4>>2];a[B+8>>2]=a[i+8>>2];a[B+12>>2]=a[i+12>>2];r[(a[(a[l>>2]|0)+96>>2]|0)+81>>0]=1;i=a[C>>2]|0}if((r[i+156>>0]|0)!=0?(Q5[a[17300>>2]&63](c)|0)<<24>>24==0:0){h=v;i=d;t=g;c=E;l=u}else{B=0;h=v;t=g;c=E;Q=25}e:do{if((Q|0)==25){while(1){Q=0;o=a[C>>2]|0;l=a[(a[o+180>>2]|0)+(B<<2)>>2]|0;if(!l)break;switch(r[(a[l+16>>2]|0)+112>>0]|0){case 6:case 4:{i=h;l=d;break}default:{QL(l,1,16,64);i=h+1|0;a[d+(h<<2)>>2]=l;if(!(i&127)){n=eV(n,(h<<2)+516|0)|0;l=n;t=n;c=n;w=n;u=n}else l=d}}B=B+1|0;h=i;d=l;Q=25}i=a[o+188>>2]|0;i:do{if(!i)l=u;else{B=0;l=u;while(1){i=a[i+(B<<2)>>2]|0;if(!i)break i;QL(i,2,0,128);u=h+1|0;a[d+(h<<2)>>2]=i;if(!(u&127)){n=eV(l,(h<<2)+516|0)|0;i=n;t=n;c=n;w=n;l=n}else i=d;o=a[C>>2]|0;B=B+1|0;h=u;d=i;i=a[o+188>>2]|0}}}while(0);i=a[o+204>>2]|0;if(!i)i=d;else{if(!(r[o+156>>0]|0)){E=o+96|0;q=+b[E>>3];B=o+240|0;b[E>>3]=+b[B>>3];b[B>>3]=q;B=0;o=d}else{B=0;o=d}while(1){i=a[i+(B<<2)>>2]|0;if(!i){i=o;break e}QL(i,0,0,128);u=h+1|0;a[o+(h<<2)>>2]=i;if(!(u&127)){n=eV(w,(h<<2)+516|0)|0;i=n;t=n;c=n;w=n;l=n}else i=o;B=B+1|0;h=u;o=i;i=a[(a[C>>2]|0)+204>>2]|0}}}}while(0);g=a[S>>2]|0;C=a[g+196>>2]|0;I=I+1|0;v=h;d=i;h=g;g=t;E=c;u=l;l=a[C+(L<<6)>>2]|0;i=C}L=L+1|0;W=Y;J=v;N=d;y=g;t=h;s=E;c=n;D=m;M=G}if((Q|0)==21)vA(85316,85329,313,85342);a[K>>2]=D;a[z>>2]=M;K4(y,J,4,58);a[P+84>>2]=qF((W<<5)+11520|0)|0;a[K+16>>2]=qF(L<<5)|0;A:do{if(O<<16>>16==2){i=(a[S>>2]|0)+192|0;while(1){n=a[i>>2]|0;if(!n)break A;l=n+16|0;i=a[l>>2]|0;if((r[i+156>>0]|0)==1?(a[i+104>>2]|0)!=0:0){LL(n);i=a[l>>2]|0}i=i+164|0}}}while(0);G=j+48|0;Q=j+-48|0;m=T+48|0;L=T+-48|0;Z=+(V|0);I=0;A:while(1){if((I|0)>=(J|0))break;E=N+(I<<2)|0;d=a[E>>2]|0;B=WL(d)|0;v=d+16|0;n=a[v>>2]|0;if(!(r[n+44>>0]|0)){n=(r[n+84>>0]|0)==0?B:d;i=n;n=a[n+16>>2]|0}else i=d;l=i+16|0;if(a[n+164>>2]&32){n=a[p>>2]|0;y6(n|0,a[l>>2]|0,176)|0;w=T;u=i;o=w+48|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));a[p>>2]=n;u=a[i>>2]&3;w=a[T>>2]&3;a[((w|0)==3?T:m)+40>>2]=a[((u|0)==2?i:i+-48|0)+40>>2];a[((w|0)==2?T:L)+40>>2]=a[((u|0)==3?i:i+48|0)+40>>2];w=n+16|0;u=(a[l>>2]|0)+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=n+56|0;u=(a[l>>2]|0)+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));r[n+112>>0]=1;a[n+116>>2]=i;i=T}h=i+16|0;C=1;i=I;while(1){g=i+1|0;if((g|0)>=(J|0))break;t=N+(g<<2)|0;i=a[t>>2]|0;if((B|0)!=(WL(i)|0))break;if(!(r[(a[v>>2]|0)+113>>0]|0)){c=i+16|0;n=a[c>>2]|0;if(!(r[n+44>>0]|0)){n=(r[n+84>>0]|0)==0?B:i;i=n;n=a[n+16>>2]|0}l=i+16|0;if(a[n+164>>2]&32){n=a[U>>2]|0;y6(n|0,a[l>>2]|0,176)|0;w=j;u=i;o=w+48|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));a[U>>2]=n;u=a[i>>2]&3;w=a[j>>2]&3;a[((w|0)==3?j:G)+40>>2]=a[((u|0)==2?i:i+-48|0)+40>>2];a[((w|0)==2?j:Q)+40>>2]=a[((u|0)==3?i:i+48|0)+40>>2];w=n+16|0;u=(a[l>>2]|0)+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=n+56|0;u=(a[l>>2]|0)+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));r[n+112>>0]=1;a[n+116>>2]=i}l=a[h>>2]|0;i=n+16|0;w=X;u=l+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=R;u=i;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));if(EL(X,R)|0)break;i=n+56|0;w=X;u=l+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=R;u=i;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));if(EL(X,R)|0)break;V=a[v>>2]|0;if((a[V+164>>2]&15|0)==2?(a[V+96>>2]|0)!=(a[(a[c>>2]|0)+96>>2]|0):0)break;if(a[(a[(a[t>>2]|0)+16>>2]|0)+164>>2]&64|0)break}C=C+1|0;i=g}if(x){if((C|0)==1)i=R;else i=qF(C<<2)|0;a[i>>2]=WL(a[E>>2]|0)|0;n=1;while(1){if((n|0)>=(C|0))break;a[i+(n<<2)>>2]=a[E+(n<<2)>>2];n=n+1|0}fN(A,i,C,H,17296);if((C|0)>1)L2(i);I=g;continue}i=a[d>>2]&3;V=a[((i|0)==3?d:d+48|0)+40>>2]|0;i=a[((i|0)==2?d:d+-48|0)+40>>2]|0;n=a[V+16>>2]|0;l=a[n+232>>2]|0;if((V|0)!=(i|0))if((l|0)==(a[(a[i+16>>2]|0)+232>>2]|0)){yL(A,K,P,N,I,C,H);I=g;continue}else{zL(A,K,P,N,I,C,H);I=g;continue}i=a[S>>2]|0;do{if((l|0)==(f[i+238>>1]|0))if((l|0)>0){i=~~(+b[(a[(a[a[(a[i+196>>2]|0)+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[n+24>>3]);break}else{i=~~+b[n+80>>3];break}else if((l|0)==(f[i+236>>1]|0)){i=~~(+b[n+24>>3]-+b[(a[(a[a[(a[i+196>>2]|0)+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{i=a[i+196>>2]|0;q=+b[n+24>>3];V=~~(+b[(a[(a[a[i+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-q);i=~~(q-+b[(a[(a[a[i+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);i=(V|0)<(i|0)?V:i;break}}while(0);LX(P,N,I,C,Z,+((i|0)/2|0|0),17296);i=0;while(1){if((i|0)>=(C|0)){I=g;continue A}n=a[(a[(a[N+(i+I<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(n|0)pR(A,n);i=i+1|0}}i=(a[S>>2]|0)+192|0;while(1){n=a[i>>2]|0;if(!n)break;l=n+16|0;i=a[l>>2]|0;if((r[i+156>>0]|0)==1?(a[i+104>>2]|0)!=0:0){LL(n);pR(A,a[(a[l>>2]|0)+104>>2]|0);i=a[l>>2]|0}i=i+164|0}if(!e){w=P;c=P}else{YL(A);w=P;c=P}}A:do{if((a[47197]|0)!=0|(a[47198]|0)!=0?(a[47203]|0)!=0|(a[47202]|0)!=0:0){t=cd(A)|0;while(1){if(!t)break A;e:do{if(a[47197]|0){i=qo(A,t)|0;while(1){if(!i)break e;n=i+-48|0;l=(a[i>>2]&3|0)==2?i:n;if(a[(a[l+16>>2]|0)+100>>2]|0){VX(l,1)|0;pR(A,a[(a[((a[i>>2]&3|0)==2?i:n)+16>>2]|0)+100>>2]|0)}i=$o(A,i)|0}}}while(0);e:do{if(a[47198]|0){i=Oo(A,t)|0;while(1){if(!i)break e;n=i+16|0;if(a[(a[n>>2]|0)+104>>2]|0?VX(i,0)|0:0)pR(A,a[(a[n>>2]|0)+104>>2]|0);i=_o(A,i)|0}}}while(0);t=bd(A,t)|0}}}while(0);switch(O&15){case 4:case 8:break;default:{L2(s);L2(a[w+84>>2]|0);L2(c);L2(a[K+16>>2]|0);OJ()}}a[47138]=1;a[47139]=1}}while(0);k=_;return}function ZL(A){A=A|0;var e=0,i=0,r=0.0,f=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;if(a[i+204>>2]|0){f=i+96|0;r=+b[f>>3];i=i+240|0;b[f>>3]=+b[i>>3];b[i>>3]=r}e=bd(A,e)|0}return}function GL(A){A=A|0;var e=0,i=0,f=0,n=0;e=(a[A+16>>2]|0)+192|0;A:while(1){f=a[e>>2]|0;if(!f){e=12;break}n=f+16|0;e=a[n>>2]|0;do{if((r[e+156>>0]|0)==1){i=a[e+112>>2]|0;if(!i){i=a[e+104>>2]|0;if(!i)break;LL(f);e=i}else{i=a[(a[i+16>>2]|0)+96>>2]|0;if(!i){e=6;break A}f=i+56|0;e=e+16|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];r[i+81>>0]=1;e=i}pR(A,e);e=a[n>>2]|0}}while(0);e=e+164|0}if((e|0)==6)vA(85516,85329,234,85535);else if((e|0)==12)return}function QL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0;do{if(!e){n=a[A>>2]&3;e=a[((n|0)==3?A:A+48|0)+40>>2]|0;n=a[((n|0)==2?A:A+-48|0)+40>>2]|0;if((e|0)!=(n|0)){e=(a[(a[e+16>>2]|0)+232>>2]|0)==(a[(a[n+16>>2]|0)+232>>2]|0)?2:1;break}e=a[A+16>>2]|0;if(!(r[e+44>>0]|0))e=(r[e+84>>0]|0)==0?8:4;else e=4}}while(0);A:do{if(!i)switch(e|0){case 1:{i=a[A>>2]&3;i=(a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break A}case 2:{i=a[A>>2]&3;i=(a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break A}default:{i=16;break A}}}while(0);a[(a[A+16>>2]|0)+164>>2]=e|f|i;return}function mL(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;W=k;k=k+624|0;G=W+584|0;Z=W+544|0;B=W+368|0;i=W+192|0;v=W+96|0;E=W;g=v+16|0;a[g>>2]=B;C=E+16|0;a[C>>2]=i;L=a[A>>2]|0;m=a[e>>2]|0;I=L+16|0;h=a[I>>2]|0;e=a[h+164>>2]|0;f=e&15;Q=m+16|0;A=a[Q>>2]|0;n=a[A+164>>2]&15;do{if((n|0)==(f|0)){o=WL(L)|0;d=WL(m)|0;w=a[o>>2]|0;n=w&3;f=a[(a[((n|0)==3?o:o+48|0)+40>>2]|0)+16>>2]|0;n=a[(a[((n|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0;l=(a[f+232>>2]|0)-(a[n+232>>2]|0)|0;u=a[d>>2]|0;s=u&3;c=a[(a[((s|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;s=a[(a[((s|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;t=(a[c+232>>2]|0)-(a[s+232>>2]|0)|0;l=(l|0)>-1?l:0-l|0;t=(t|0)>-1?t:0-t|0;if((l|0)!=(t|0)){A=l-t|0;break}n=~~(+b[f+16>>3]-+b[n+16>>3]);n=(n|0)>-1?n:0-n|0;f=~~(+b[c+16>>3]-+b[s+16>>3]);f=(f|0)>-1?f:0-f|0;if((n|0)!=(f|0)){A=n-f|0;break}n=w>>>4;f=u>>>4;if((n|0)!=(f|0)){A=n-f|0;break}if(!(r[h+44>>0]|0)){e=(r[h+84>>0]|0)==0?o:L;n=e;e=a[(a[e+16>>2]|0)+164>>2]|0}else n=L;f=n+16|0;if(e&32){y6(B|0,a[f>>2]|0,176)|0;l=v;t=n;c=l+48|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));a[g>>2]=B;t=a[n>>2]&3;l=a[v>>2]&3;a[((l|0)==3?v:v+48|0)+40>>2]=a[((t|0)==2?n:n+-48|0)+40>>2];a[((l|0)==2?v:v+-48|0)+40>>2]=a[((t|0)==3?n:n+48|0)+40>>2];l=B+16|0;t=(a[f>>2]|0)+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=B+56|0;t=(a[f>>2]|0)+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[B+112>>0]=1;a[B+116>>2]=n;n=v;A=a[Q>>2]|0}if(!(r[A+44>>0]|0)){A=(r[A+84>>0]|0)==0?d:m;f=A;A=a[A+16>>2]|0}else f=m;e=f+16|0;if(!(a[A+164>>2]&32))i=A;else{y6(i|0,a[e>>2]|0,176)|0;l=E;t=f;c=l+48|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));a[C>>2]=i;t=a[f>>2]&3;l=a[E>>2]&3;a[((l|0)==3?E:E+48|0)+40>>2]=a[((t|0)==2?f:f+-48|0)+40>>2];a[((l|0)==2?E:E+-48|0)+40>>2]=a[((t|0)==3?f:f+48|0)+40>>2];l=i+16|0;t=(a[e>>2]|0)+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=i+56|0;t=(a[e>>2]|0)+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[i+112>>0]=1;a[i+116>>2]=f}e=a[n+16>>2]|0;A=i+16|0;l=Z;t=e+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=G;t=A;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=EL(Z,G)|0;if(!A){A=i+56|0;l=Z;t=e+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=G;t=A;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=EL(Z,G)|0;if(!A){e=a[(a[I>>2]|0)+164>>2]&192;A=a[(a[Q>>2]|0)+164>>2]&192;if((e|0)==(A|0)){A=((a[L>>2]|0)>>>4)-((a[m>>2]|0)>>>4)|0;break}else{A=e-A|0;break}}}}else A=n-f|0}while(0);k=W;return A|0}function LL(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0;f=A+16|0;e=a[f>>2]|0;if(a[e+176>>2]|0){e=a[e+180>>2]|0;while(1){e=(a[e>>2]|0)+16|0;i=a[e>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}i=a[i+96>>2]|0;n=+b[i+24>>3];l=+b[i+32>>3];i=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=a[f>>2]|0;f=a[(a[e>>2]|0)+96>>2]|0;b[f+56>>3]=(i?l:n)*.5+ +b[A+16>>3];b[f+64>>3]=+b[A+24>>3];r[f+81>>0]=1}return}function WL(A){A=A|0;var e=0,i=0;while(1){e=a[A+16>>2]|0;i=a[e+172>>2]|0;if(!i)break;else A=i}while(1){e=a[e+116>>2]|0;if(!e)break;A=e;e=a[e+16>>2]|0}return A|0}function yL(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0,y=0.0,z=0.0,Y=0.0;m=k;k=k+1712|0;I=m+1664|0;B=m+1488|0;v=m+1392|0;Q=m+1696|0;Z=m+696|0;G=m;o=v+16|0;a[o>>2]=B;h=a[f+(n<<2)>>2]|0;d=h+16|0;c=a[d>>2]|0;g=r[c+113>>0]|0;if(a[c+164>>2]&32){y6(B|0,c|0,176)|0;c=v;w=h;u=c+48|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));a[o>>2]=B;c=a[v>>2]&3;a[((c|0)==3?v:v+48|0)+40>>2]=a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2];a[((c|0)==2?v:v+-48|0)+40>>2]=a[((a[h>>2]&3|0)==3?h:h+48|0)+40>>2];c=B+16|0;w=(a[d>>2]|0)+56|0;u=c+40|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));c=B+56|0;w=(a[d>>2]|0)+16|0;u=c+40|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));r[B+112>>0]=1;a[B+116>>2]=h;h=v}c=1;while(1){if((c|0)>=(l|0)){C=6;break}if(!(r[(a[(a[f+(c+n<<2)>>2]|0)+16>>2]|0)+113>>0]|0))c=c+1|0;else{C=7;break}}A:do{if((C|0)==6)if(!(g<<24>>24)){c=a[h+16>>2]|0;if(a[c+96>>2]|0){iW(A,e,i,h,t);break}if((t|0)==2){Q=a[h>>2]&3;rW(a[((Q|0)==3?h:h+48|0)+40>>2]|0,a[((Q|0)==2?h:h+-48|0)+40>>2]|0,f,n,l,2);break}v=r[c+49>>0]|0;g=r[c+89>>0]|0;if(!(v<<24>>24==1&g<<24>>24!=4)?!(v<<24>>24!=4&g<<24>>24==1):0){o=a[h>>2]&3;u=a[((o|0)==3?h:h+48|0)+40>>2]|0;o=a[((o|0)==2?h:h+-48|0)+40>>2]|0;c=a[u+16>>2]|0;w=a[c+232>>2]|0;if((w|0)>0){g=a[(a[A+16>>2]|0)+196>>2]|0;v=w+~(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;s=+b[(a[(a[a[g+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[g+(v<<6)+16>>3]-+b[c+24>>3]-+b[g+(w<<6)+24>>3]}else s=+(a[(a[A+16>>2]|0)+252>>2]|0);L=+(l+1|0);E=+(a[e+12>>2]|0)/L;s=s/L;aW(A,e,i,u,h,Z,1);aW(A,e,i,o,h,G,0);B=Z+52|0;v=G+52|0;o=(t|0)==10;h=i+80|0;c=0;while(1){if((c|0)>=(l|0))break A;d=a[f+(c+n<<2)>>2]|0;u=a[B>>2]|0;w=u+-1|0;Y=+b[Z+56+(w<<5)>>3];z=+b[Z+56+(w<<5)+16>>3];y=+b[Z+56+(w<<5)+24>>3];b[19215]=Y;b[19216]=y;c=c+1|0;L=+(c|0);W=E*L;b[19217]=z+W;L=y+s*L;b[19218]=L;b[19219]=Y;b[19220]=L;w=(a[v>>2]|0)+-1|0;Y=+b[G+56+(w<<5)+16>>3];b[19221]=Y;b[19222]=L+s;y=+b[G+56+(w<<5)>>3];z=+b[G+56+(w<<5)+24>>3];b[19225]=Y;b[19224]=z;b[19223]=y-W;b[19226]=L;w=0;while(1){if((w|0)>=(u|0)){w=0;break}u=Z+56+(w<<5)|0;a[I>>2]=a[u>>2];a[I+4>>2]=a[u+4>>2];a[I+8>>2]=a[u+8>>2];a[I+12>>2]=a[u+12>>2];a[I+16>>2]=a[u+16>>2];a[I+20>>2]=a[u+20>>2];a[I+24>>2]=a[u+24>>2];a[I+28>>2]=a[u+28>>2];CX(i,I);w=w+1|0;u=a[B>>2]|0}while(1){if((w|0)==3)break;t=153720+(w<<5)|0;a[I>>2]=a[t>>2];a[I+4>>2]=a[t+4>>2];a[I+8>>2]=a[t+8>>2];a[I+12>>2]=a[t+12>>2];a[I+16>>2]=a[t+16>>2];a[I+20>>2]=a[t+20>>2];a[I+24>>2]=a[t+24>>2];a[I+28>>2]=a[t+28>>2];CX(i,I);w=w+1|0}u=a[v>>2]|0;while(1){w=u+-1|0;if((u|0)<=0)break;u=G+56+(w<<5)|0;a[I>>2]=a[u>>2];a[I+4>>2]=a[u+4>>2];a[I+8>>2]=a[u+8>>2];a[I+12>>2]=a[u+12>>2];a[I+16>>2]=a[u+16>>2];a[I+20>>2]=a[u+20>>2];a[I+24>>2]=a[u+24>>2];a[I+28>>2]=a[u+28>>2];CX(i,I);u=w}if(o)w=KJ(i,Q)|0;else w=iN(i,Q)|0;u=a[Q>>2]|0;if(!u)break A;gX(d,a[((a[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,w,u,17296);a[h>>2]=0}}fW(A,e,i,f,n,l,h,(t|0)==10&1)}else C=7}while(0);if((C|0)==7)eW(A,f,n,l,h,t);k=m;return}function zL(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0;eA=k;k=k+2576|0;x=eA+2528|0;q=eA+2568|0;c=eA+2352|0;w=eA+2176|0;v=eA+1904|0;K=eA+1808|0;$=eA+1712|0;T=eA+1016|0;j=eA+320|0;S=eA+256|0;O=eA+2564|0;_=eA+2560|0;G=eA+288|0;Q=eA+224|0;J=eA+192|0;N=eA+160|0;X=eA+128|0;R=eA+96|0;H=eA+64|0;p=eA+32|0;P=eA;B=v+16|0;a[B>>2]=c;u=K+16|0;a[u>>2]=w;AA=$+16|0;a[AA>>2]=eA+2e3;if(!(a[46734]|0)){a[46734]=$F(32e3)|0;a[46735]=$F(32e3)|0;a[46736]=2e3;a[46737]=2e3}g=a[f+(n<<2)>>2]|0;V=a[g>>2]&3;o=g+48|0;h=g+-48|0;V=(a[(a[(a[((V|0)==3?g:o)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((V|0)==2?g:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;d=g+16|0;if((((V|0)>-1?V:0-V|0)|0)<=1){c=a[d>>2]|0;if(!(a[c+164>>2]&32)){V=g;w=0}else{w=a[B>>2]|0;y6(w|0,c|0,176)|0;C=v;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[B>>2]=w;C=a[v>>2]&3;a[((C|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];a[((C|0)==2?v:v+-48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=w+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[B>>2]|0;C=c+56|0;I=(a[d>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;w=0;F=12}}else{y6(c|0,a[d>>2]|0,176)|0;C=v;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));C=v+48|0;I=o;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[B>>2]=c;c=a[d>>2]|0;if(!(a[c+164>>2]&32)){y6(w|0,c|0,176)|0;C=K;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[u>>2]=w;u=a[v>>2]|0;a[((u&3|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=K+48|0;I=o;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0))}else{w=a[u>>2]|0;y6(w|0,c|0,176)|0;C=K;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[u>>2]=w;C=a[K>>2]&3;a[((C|0)==3?K:K+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];a[((C|0)==2?K:K+-48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=w+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[u>>2]|0;C=c+56|0;I=(a[d>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;a[c+116>>2]=g;u=a[v>>2]|0;a[((u&3|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];C=(a[B>>2]|0)+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0))}c=WL(g)|0;while(1){w=a[(a[c+16>>2]|0)+172>>2]|0;if(!w)break;else c=w}a[((u&3|0)==2?v:v+-48|0)+40>>2]=a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2];c=a[B>>2]|0;r[c+84>>0]=0;r[c+112>>0]=1;w=c+56|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;w=1;F=12}if((F|0)==12){a[c+116>>2]=g;V=v}D=(t|0)==2;if(D?(E=FL(A,V,a[46734]|0,q)|0,a[_>>2]=E,(E|0)!=0):0)F=63;else F=15;A:do{if((F|0)==15){Y=(t|0)==10;a[_>>2]=0;u=a[V>>2]&3;c=a[((u|0)==3?V:V+48|0)+40>>2]|0;u=a[((u|0)==2?V:V+-48|0)+40>>2]|0;a[q>>2]=u;VL(G,A,e,c,0,V);a[T>>2]=a[G>>2];a[T+4>>2]=a[G+4>>2];a[T+8>>2]=a[G+8>>2];a[T+12>>2]=a[G+12>>2];a[T+16>>2]=a[G+16>>2];a[T+20>>2]=a[G+20>>2];a[T+24>>2]=a[G+24>>2];a[T+28>>2]=a[G+28>>2];a[S>>2]=a[G>>2];a[S+4>>2]=a[G+4>>2];a[S+8>>2]=a[G+8>>2];a[S+12>>2]=a[G+12>>2];a[S+16>>2]=a[G+16>>2];a[S+20>>2]=a[G+20>>2];IX(i,V,1,T,JL(c)|0);m=T+52|0;M=(a[m>>2]|0)+-1|0;W=S+24|0;b[W>>3]=+b[T+56+(M<<5)+24>>3];y=S+8|0;b[y>>3]=+b[T+56+(M<<5)+8>>3];M=a[c+16>>2]|0;z=A+16|0;s=+b[M+24>>3]-+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[M+232>>2]<<6)+16>>3];a[x>>2]=a[S>>2];a[x+4>>2]=a[S+4>>2];a[x+8>>2]=a[S+8>>2];a[x+12>>2]=a[S+12>>2];a[x+16>>2]=a[S+16>>2];a[x+20>>2]=a[S+20>>2];a[x+24>>2]=a[S+24>>2];a[x+28>>2]=a[S+28>>2];NL(Q,x,1,s);a[S>>2]=a[Q>>2];a[S+4>>2]=a[Q+4>>2];a[S+8>>2]=a[Q+8>>2];a[S+12>>2]=a[Q+12>>2];a[S+16>>2]=a[Q+16>>2];a[S+20>>2]=a[Q+20>>2];a[S+24>>2]=a[Q+24>>2];a[S+28>>2]=a[Q+28>>2];Q=S+16|0;if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){M=a[m>>2]|0;a[m>>2]=M+1;M=T+56+(M<<5)|0;a[M>>2]=a[S>>2];a[M+4>>2]=a[S+4>>2];a[M+8>>2]=a[S+8>>2];a[M+12>>2]=a[S+12>>2];a[M+16>>2]=a[S+16>>2];a[M+20>>2]=a[S+20>>2];a[M+24>>2]=a[S+24>>2];a[M+28>>2]=a[S+28>>2]}C=A+60|0;L=j+52|0;I=i+56|0;Z=i+69|0;t=i+16|0;G=i+29|0;M=V;h=0;d=-1;e:while(1){B=c;v=0;c=0;g=M;while(1){o=u;E=u;if((r[(a[o+16>>2]|0)+156>>0]|0)!=1)break e;if((Q5[a[17300>>2]&63](o)|0)<<24>>24)break e;u=v|1;iA=153720+(v<<5)|0;XL(J,e,A,a[(a[B+16>>2]|0)+232>>2]|0);a[iA>>2]=a[J>>2];a[iA+4>>2]=a[J+4>>2];a[iA+8>>2]=a[J+8>>2];a[iA+12>>2]=a[J+12>>2];a[iA+16>>2]=a[J+16>>2];a[iA+20>>2]=a[J+20>>2];a[iA+24>>2]=a[J+24>>2];a[iA+28>>2]=a[J+28>>2];if(!c){h=RL(o)|0;c=(h|0)<((r[(a[(a[C>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);h=c?h:h+-2|0;d=c?d:1;c=(c^1)&1}if(!((c|0)==0|(d|0)>0))break;iA=153720+(u<<5)|0;VL(N,A,e,o,g,a[a[(a[o+16>>2]|0)+180>>2]>>2]|0);a[iA>>2]=a[N>>2];a[iA+4>>2]=a[N+4>>2];a[iA+8>>2]=a[N+8>>2];a[iA+12>>2]=a[N+12>>2];a[iA+16>>2]=a[N+16>>2];a[iA+20>>2]=a[N+20>>2];a[iA+24>>2]=a[N+24>>2];a[iA+28>>2]=a[N+28>>2];iA=a[a[(a[E+16>>2]|0)+180>>2]>>2]|0;u=a[iA>>2]&3;B=a[((u|0)==3?iA:iA+48|0)+40>>2]|0;u=a[((u|0)==2?iA:iA+-48|0)+40>>2]|0;a[q>>2]=u;v=v+2|0;d=d+-1|0;g=iA}VL(X,A,e,o,g,a[a[(a[o+16>>2]|0)+180>>2]>>2]|0);a[j>>2]=a[X>>2];a[j+4>>2]=a[X+4>>2];a[j+8>>2]=a[X+8>>2];a[j+12>>2]=a[X+12>>2];a[j+16>>2]=a[X+16>>2];a[j+20>>2]=a[X+20>>2];a[j+24>>2]=a[X+24>>2];a[j+28>>2]=a[X+28>>2];QX(i,g,1,j,JL(a[((a[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)|0);iA=j+56+((a[L>>2]|0)+-1<<5)|0;v=a[E+16>>2]|0;s=+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[v+232>>2]<<6)+24>>3]+ +b[v+24>>3];a[x>>2]=a[iA>>2];a[x+4>>2]=a[iA+4>>2];a[x+8>>2]=a[iA+8>>2];a[x+12>>2]=a[iA+12>>2];a[x+16>>2]=a[iA+16>>2];a[x+20>>2]=a[iA+20>>2];a[x+24>>2]=a[iA+24>>2];a[x+28>>2]=a[iA+28>>2];NL(S,x,4,s);if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[L>>2]|0;a[L>>2]=iA+1;iA=j+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}b[I>>3]=1.5707963267948966;r[Z>>0]=1;HL(i,M,g,T,j,u);if(!Y){c=iN(i,O)|0;u=a[O>>2]|0;if(D&(u|0)>4){iA=c+16|0;a[iA>>2]=a[c>>2];a[iA+4>>2]=a[c+4>>2];a[iA+8>>2]=a[c+8>>2];a[iA+12>>2]=a[c+12>>2];iA=c+32|0;u=c+(u+-1<<4)|0;a[iA>>2]=a[u>>2];a[iA+4>>2]=a[u+4>>2];a[iA+8>>2]=a[u+8>>2];a[iA+12>>2]=a[u+12>>2];z6(c+48|0,u|0,16)|0;a[O>>2]=4;u=4}else F=33}else{c=KJ(i,O)|0;u=a[O>>2]|0;F=33}if((F|0)==33){F=0;if(!u)break A}g=a[_>>2]|0;o=g+u|0;if((o|0)>(a[46736]|0)){a[46736]=o<<1;v=eV(a[46734]|0,o<<5)|0;a[46734]=v;u=a[O>>2]|0}else v=a[46734]|0;B=0;o=g;while(1){if((B|0)>=(u|0))break;iA=v+(o<<4)|0;g=c+(B<<4)|0;a[iA>>2]=a[g>>2];a[iA+4>>2]=a[g+4>>2];a[iA+8>>2]=a[g+8>>2];a[iA+12>>2]=a[g+12>>2];B=B+1|0;o=o+1|0}a[_>>2]=o;u=pL(a[a[(a[E+16>>2]|0)+180>>2]>>2]|0,h,v,_)|0;UL(M,i);o=a[u>>2]&3;c=a[((o|0)==3?u:u+48|0)+40>>2]|0;o=a[((o|0)==2?u:u+-48|0)+40>>2]|0;a[q>>2]=o;M=c+16|0;VL(R,A,e,c,a[a[(a[M>>2]|0)+172>>2]>>2]|0,u);a[T>>2]=a[R>>2];a[T+4>>2]=a[R+4>>2];a[T+8>>2]=a[R+8>>2];a[T+12>>2]=a[R+12>>2];a[T+16>>2]=a[R+16>>2];a[T+20>>2]=a[R+20>>2];a[T+24>>2]=a[R+24>>2];a[T+28>>2]=a[R+28>>2];IX(i,u,1,T,JL(c)|0);iA=T+56+((a[m>>2]|0)+-1<<5)|0;M=a[M>>2]|0;s=+b[M+24>>3]-+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[M+232>>2]<<6)+16>>3];a[x>>2]=a[iA>>2];a[x+4>>2]=a[iA+4>>2];a[x+8>>2]=a[iA+8>>2];a[x+12>>2]=a[iA+12>>2];a[x+16>>2]=a[iA+16>>2];a[x+20>>2]=a[iA+20>>2];a[x+24>>2]=a[iA+24>>2];a[x+28>>2]=a[iA+28>>2];NL(S,x,1,s);if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[m>>2]|0;a[m>>2]=iA+1;iA=T+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}b[t>>3]=-1.5707963267948966;r[G>>0]=1;M=u;u=o}c=v|1;d=153720+(v<<5)|0;XL(H,e,A,a[(a[B+16>>2]|0)+232>>2]|0);a[d>>2]=a[H>>2];a[d+4>>2]=a[H+4>>2];a[d+8>>2]=a[H+8>>2];a[d+12>>2]=a[H+12>>2];a[d+16>>2]=a[H+16>>2];a[d+20>>2]=a[H+20>>2];a[d+24>>2]=a[H+24>>2];a[d+28>>2]=a[H+28>>2];VL(p,A,e,o,g,0);a[j>>2]=a[p>>2];a[j+4>>2]=a[p+4>>2];a[j+8>>2]=a[p+8>>2];a[j+12>>2]=a[p+12>>2];a[j+16>>2]=a[p+16>>2];a[j+20>>2]=a[p+20>>2];a[j+24>>2]=a[p+24>>2];a[j+28>>2]=a[p+28>>2];a[S>>2]=a[p>>2];a[S+4>>2]=a[p+4>>2];a[S+8>>2]=a[p+8>>2];a[S+12>>2]=a[p+12>>2];a[S+16>>2]=a[p+16>>2];a[S+20>>2]=a[p+20>>2];a[S+24>>2]=a[p+24>>2];a[S+28>>2]=a[p+28>>2];d=(w|0)!=0;B=g+-48|0;QX(i,d?K:g,1,j,JL(a[((a[g>>2]&3|0)==2?g:B)+40>>2]|0)|0);iA=(a[L>>2]|0)+-1|0;b[W>>3]=+b[j+56+(iA<<5)+24>>3];b[y>>3]=+b[j+56+(iA<<5)+8>>3];iA=a[E+16>>2]|0;s=+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[iA+232>>2]<<6)+24>>3]+ +b[iA+24>>3];a[x>>2]=a[S>>2];a[x+4>>2]=a[S+4>>2];a[x+8>>2]=a[S+8>>2];a[x+12>>2]=a[S+12>>2];a[x+16>>2]=a[S+16>>2];a[x+20>>2]=a[S+20>>2];a[x+24>>2]=a[S+24>>2];a[x+28>>2]=a[S+28>>2];NL(P,x,4,s);a[S>>2]=a[P>>2];a[S+4>>2]=a[P+4>>2];a[S+8>>2]=a[P+8>>2];a[S+12>>2]=a[P+12>>2];a[S+16>>2]=a[P+16>>2];a[S+20>>2]=a[P+20>>2];a[S+24>>2]=a[P+24>>2];a[S+28>>2]=a[P+28>>2];if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[L>>2]|0;a[L>>2]=iA+1;iA=j+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}HL(i,M,g,T,j,c);if(Y)h=KJ(i,O)|0;else h=iN(i,O)|0;c=a[O>>2]|0;if(!(D&(c|0)>4)){if(!c)break}else{iA=h+16|0;a[iA>>2]=a[h>>2];a[iA+4>>2]=a[h+4>>2];a[iA+8>>2]=a[h+8>>2];a[iA+12>>2]=a[h+12>>2];iA=h+32|0;c=h+(c+-1<<4)|0;a[iA>>2]=a[c>>2];a[iA+4>>2]=a[c+4>>2];a[iA+8>>2]=a[c+8>>2];a[iA+12>>2]=a[c+12>>2];z6(h+48|0,c|0,16)|0;a[O>>2]=4;c=4}u=a[_>>2]|0;w=u+c|0;if((w|0)>(a[46736]|0)){a[46736]=w<<1;o=eV(a[46734]|0,w<<5)|0;a[46734]=o;c=a[O>>2]|0}else o=a[46734]|0;w=0;while(1){if((w|0)>=(c|0))break;iA=o+(u<<4)|0;O=h+(w<<4)|0;a[iA>>2]=a[O>>2];a[iA+4>>2]=a[O+4>>2];a[iA+8>>2]=a[O+8>>2];a[iA+12>>2]=a[O+12>>2];w=w+1|0;u=u+1|0}a[_>>2]=u;UL(M,i);if(d)c=(a[K>>2]&3|0)==2?K:K+-48|0;else c=(a[g>>2]&3|0)==2?g:B;a[q>>2]=a[c+40>>2];E=u;F=63}}while(0);A:do{if((F|0)==63){if((l|0)==1){gX(V,a[q>>2]|0,a[46734]|0,E,17296);break}v=e+12|0;g=E+-1|0;s=+((U(a[v>>2]|0,l+-1|0)|0)/2|0|0);w=a[46734]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=w+(c<<4)|0;b[iA>>3]=+b[iA>>3]-s;c=c+1|0}c=a[46736]|0;if((c|0)>(a[46737]|0)){a[46737]=c;u=eV(a[46735]|0,c<<4)|0;a[46735]=u;w=a[46734]|0}else u=a[46735]|0;c=0;while(1){if((c|0)>=(E|0))break;iA=u+(c<<4)|0;e=w+(c<<4)|0;a[iA>>2]=a[e>>2];a[iA+4>>2]=a[e+4>>2];a[iA+8>>2]=a[e+8>>2];a[iA+12>>2]=a[e+12>>2];c=c+1|0}gX(V,a[q>>2]|0,u,E,17296);d=$+48|0;B=$+-48|0;h=1;while(1){if((h|0)>=(l|0))break A;u=a[f+(h+n<<2)>>2]|0;o=u+16|0;c=a[o>>2]|0;if(a[c+164>>2]&32){w=a[AA>>2]|0;y6(w|0,c|0,176)|0;C=$;I=u;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[AA>>2]=w;C=a[$>>2]&3;a[((C|0)==3?$:d)+40>>2]=a[((a[u>>2]&3|0)==2?u:u+-48|0)+40>>2];a[((C|0)==2?$:B)+40>>2]=a[((a[u>>2]&3|0)==3?u:u+48|0)+40>>2];C=w+16|0;I=(a[o>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[AA>>2]|0;C=c+56|0;I=(a[o>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;a[c+116>>2]=u;u=$}o=a[46734]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=o+(c<<4)|0;b[iA>>3]=+b[iA>>3]+ +(a[v>>2]|0);c=c+1|0}w=a[46735]|0;c=0;while(1){if((c|0)>=(E|0))break;iA=w+(c<<4)|0;q=o+(c<<4)|0;a[iA>>2]=a[q>>2];a[iA+4>>2]=a[q+4>>2];a[iA+8>>2]=a[q+8>>2];a[iA+12>>2]=a[q+12>>2];c=c+1|0}gX(u,a[((a[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0,w,E,17296);h=h+1|0}}}while(0);k=eA;return}function YL(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;if((Q5[a[4324]&63](i)|0)<<24>>24?(r=a[(a[i+16>>2]|0)+8>>2]|0,r|0):0)DL(r);i=_o(A,i)|0}e=bd(A,e)|0}return}function DL(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[A+4>>2]|0;n=$F(f*48|0)|0;e=n;i=0;r=(a[A>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((i|0)>=(f|0)){e=0;break}ML(r,e);e=e+48|0;i=i+1|0;r=r+-48|0}while(1){i=a[A>>2]|0;if((e|0)>=(f|0))break;L2(a[i+(e*48|0)>>2]|0);e=e+1|0}L2(i);a[A>>2]=n;return}function ML(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=a[A+4>>2]|0;l=$F(n<<4)|0;i=l;r=0;f=(a[A>>2]|0)+(n+-1<<4)|0;while(1){if((r|0)>=(n|0))break;a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2];i=i+16|0;r=r+1|0;f=f+-16|0}a[e>>2]=l;a[e+4>>2]=n;a[e+8>>2]=a[A+12>>2];a[e+12>>2]=a[A+8>>2];l=e+16|0;n=A+32|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];l=e+32|0;n=A+16|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];return}function FL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+96|0;h=I+80|0;B=I+64|0;d=I+48|0;g=I+32|0;E=I+16|0;C=I;s=e;while(1){v=s+16|0;n=a[v>>2]|0;if(!(r[n+112>>0]|0))break;s=a[n+116>>2]|0}n=a[s>>2]&3;u=a[((n|0)==2?s:s+-48|0)+40>>2]|0;n=a[((n|0)==3?s:s+48|0)+40>>2]|0;s=u+16|0;w=n+16|0;Z=(a[(a[s>>2]|0)+232>>2]|0)-(a[(a[w>>2]|0)+232>>2]|0)|0;switch(((Z|0)>-1?Z:0-Z|0)|0){case 1:{n=0;break}case 2:{if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1))o=6;else n=0;break}default:o=6}do{if((o|0)==6){if((a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(n|0)){a[f>>2]=u;Z=(a[w>>2]|0)+16|0;o=(a[v>>2]|0)+16|0;a[B>>2]=a[Z>>2];a[B+4>>2]=a[Z+4>>2];a[B+8>>2]=a[Z+8>>2];a[B+12>>2]=a[Z+12>>2];a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];$L(g,B,h);o=(a[s>>2]|0)+16|0;Z=(a[v>>2]|0)+56|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];$L(E,B,h)}else{a[f>>2]=n;Z=(a[s>>2]|0)+16|0;o=(a[v>>2]|0)+56|0;a[B>>2]=a[Z>>2];a[B+4>>2]=a[Z+4>>2];a[B+8>>2]=a[Z+8>>2];a[B+12>>2]=a[Z+12>>2];a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];$L(g,B,h);o=(a[w>>2]|0)+16|0;Z=(a[v>>2]|0)+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];$L(E,B,h)}n=a[(a[v>>2]|0)+96>>2]|0;if(!n){n=i+16|0;a[i>>2]=a[g>>2];a[i+4>>2]=a[g+4>>2];a[i+8>>2]=a[g+8>>2];a[i+12>>2]=a[g+12>>2];a[n>>2]=a[g>>2];a[n+4>>2]=a[g+4>>2];a[n+8>>2]=a[g+8>>2];a[n+12>>2]=a[g+12>>2];n=i+48|0;Z=i+32|0;a[Z>>2]=a[E>>2];a[Z+4>>2]=a[E+4>>2];a[Z+8>>2]=a[E+8>>2];a[Z+12>>2]=a[E+12>>2];a[n>>2]=a[E>>2];a[n+4>>2]=a[E+4>>2];a[n+8>>2]=a[E+8>>2];a[n+12>>2]=a[E+12>>2];n=4;break}t=+b[n+24>>3];l=+b[n+32>>3];o=(a[(a[(Id(u)|0)+16>>2]|0)+116>>2]&1|0)==0;c=o?l:t;Z=(a[(a[v>>2]|0)+96>>2]|0)+56|0;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[d>>2]=a[E>>2];a[d+4>>2]=a[E+4>>2];a[d+8>>2]=a[E+8>>2];a[d+12>>2]=a[E+12>>2];a[B>>2]=a[g>>2];a[B+4>>2]=a[g+4>>2];a[B+8>>2]=a[g+8>>2];a[B+12>>2]=a[g+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];Z=(AW(d,B,h)|0)==0;l=(o?t:l)*.5;t=+b[C>>3];if(Z){b[C>>3]=t-l;Z=C+8|0;b[Z>>3]=+b[Z>>3]+c*.5}else{b[C>>3]=t+l;Z=C+8|0;b[Z>>3]=+b[Z>>3]-c*.5}n=i+16|0;a[i>>2]=a[g>>2];a[i+4>>2]=a[g+4>>2];a[i+8>>2]=a[g+8>>2];a[i+12>>2]=a[g+12>>2];a[n>>2]=a[g>>2];a[n+4>>2]=a[g+4>>2];a[n+8>>2]=a[g+8>>2];a[n+12>>2]=a[g+12>>2];n=i+32|0;Z=i+48|0;g=i+64|0;a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];a[n>>2]=a[C>>2];a[n+4>>2]=a[C+4>>2];a[n+8>>2]=a[C+8>>2];a[n+12>>2]=a[C+12>>2];n=i+80|0;Z=i+96|0;a[Z>>2]=a[E>>2];a[Z+4>>2]=a[E+4>>2];a[Z+8>>2]=a[E+8>>2];a[Z+12>>2]=a[E+12>>2];a[n>>2]=a[E>>2];a[n+4>>2]=a[E+4>>2];a[n+8>>2]=a[E+8>>2];a[n+12>>2]=a[E+12>>2];n=7}}while(0);k=I;return n|0}function VL(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0,s=0,w=0.0,u=0,k=0.0,o=0.0,h=0;h=a[f+16>>2]|0;o=+b[h+16>>3];t=o-+b[h+88>>3];w=t+-4.0;s=OL(e,f,n,l,-1)|0;if(!s){u=~~(t+(w>=0.0?-3.5:-4.5));c=a[i>>2]|0;c=(c|0)>(u|0)?u:c}else{c=KL(e,f,s)|0;do{if(!c){u=a[s+16>>2]|0;t=+b[u+240>>3]+ +b[u+16>>3];if(!(r[u+156>>0]|0)){t=+(a[(a[e+16>>2]|0)+248>>2]|0)*.5+t;break}else{t=t+ +(a[i+8>>2]|0);break}}else t=+b[(a[c+16>>2]|0)+32>>3]+ +(a[i+8>>2]|0)}while(0);k=t=0.0?.5:-.5))}k=+(c|0);u=(r[h+156>>0]|0)==1;if(u?(a[h+104>>2]|0)!=0:0)w=o+10.0;else w=o+4.0+ +b[h+96>>3];s=OL(e,f,n,l,1)|0;if(!s){f=~~(w+(w>=0.0?.5:-.5));c=a[i+4>>2]|0;c=(c|0)<(f|0)?f:c}else{c=KL(e,f,s)|0;do{if(!c){f=a[s+16>>2]|0;t=+b[f+16>>3]-+b[f+88>>3];if(!(r[f+156>>0]|0)){t=t-+(a[(a[e+16>>2]|0)+248>>2]|0)*.5;break}else{t=t-+(a[i+8>>2]|0);break}}else t=+b[(a[c+16>>2]|0)+16>>3]-+(a[i+8>>2]|0)}while(0);w=t>w?t:w;c=~~(w+(w>=0.0?.5:-.5))}t=+(c|0);if(u?(a[h+104>>2]|0)!=0:0){t=t-+b[h+96>>3];if(t>3];e=a[(a[e+16>>2]|0)+196>>2]|0;h=a[h+232>>2]|0;w=o-+b[e+(h<<6)+16>>3];o=+b[e+(h<<6)+24>>3]+o;b[A>>3]=k;b[A+8>>3]=w;b[A+16>>3]=t;b[A+24>>3]=o;return}function JL(A){A=A|0;A=a[A+16>>2]|0;if((r[A+156>>0]|0)==1)if((a[A+176>>2]|0)>1)A=1;else A=(a[A+184>>2]|0)>1&1;else A=0;return A|0}function NL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0;n=k;k=k+32|0;f=n;switch(i|0){case 1:{PL(f,+b[e>>3],r,+b[e+16>>3],+b[e+8>>3]);break}case 4:{PL(f,+b[e>>3],+b[e+24>>3],+b[e+16>>3],r);break}default:{}}a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];a[A+16>>2]=a[f+16>>2];a[A+20>>2]=a[f+20>>2];a[A+24>>2]=a[f+24>>2];a[A+28>>2]=a[f+28>>2];k=n;return}function XL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0;s=a[e+16>>2]|0;c=s+(r<<5)|0;t=+b[c>>3];w=s+(r<<5)+8|0;n=+b[w>>3];u=s+(r<<5)+16|0;f=+b[u>>3];s=s+(r<<5)+24|0;l=+b[s>>3];if(t==f){i=a[(a[i+16>>2]|0)+196>>2]|0;k=r+1|0;t=+(a[e>>2]|0);n=+b[i+(k<<6)+24>>3]+ +b[(a[(a[a[i+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(a[e+4>>2]|0);l=+b[(a[(a[a[i+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[i+(r<<6)+16>>3];b[c>>3]=t;b[w>>3]=n;b[u>>3]=f;b[s>>3]=l}b[A>>3]=t;b[A+8>>3]=n;b[A+16>>3]=f;b[A+24>>3]=l;return}function RL(A){A=A|0;var e=0,i=0;A=a[A+16>>2]|0;i=A+16|0;e=0;while(1){A=a[a[A+180>>2]>>2]|0;A=a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;if((r[A+156>>0]|0)!=1)break;if((a[A+184>>2]|0)!=1)break;if((a[A+176>>2]|0)!=1)break;if(+b[A+16>>3]!=+b[i>>3])break;e=e+1|0}return e|0}function HL(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=k;k=k+32|0;c=b;l=TL(e,-1)|0;e=TL(e,1)|0;if(!((l|0)!=0?!(JX(l)|0):0))t=3;do{if((t|0)==3){if(e|0?(JX(e)|0)==0:0)break;l=jL(i,-1)|0;e=jL(i,1)|0;if(l|0?(JX(l)|0)==0:0)break;if(e|0?(JX(e)|0)==0:0)break;l=r+52|0;e=0;while(1){if((e|0)>=(a[l>>2]|0))break;i=r+56+(e<<5)|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[c+16>>2]=a[i+16>>2];a[c+20>>2]=a[i+20>>2];a[c+24>>2]=a[i+24>>2];a[c+28>>2]=a[i+28>>2];CX(A,c);e=e+1|0}l=a[A+80>>2]|0;t=n+-3|0;e=0;while(1){if((e|0)>=(n|0))break;r=153720+(e<<5)|0;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[c+16>>2]=a[r+16>>2];a[c+20>>2]=a[r+20>>2];a[c+24>>2]=a[r+24>>2];a[c+28>>2]=a[r+28>>2];CX(A,c);e=e+1|0}i=l+1|0;t=t+i|0;l=a[f+52>>2]|0;while(1){e=l+-1|0;if((l|0)<=0)break;l=f+56+(e<<5)|0;a[c>>2]=a[l>>2];a[c+4>>2]=a[l+4>>2];a[c+8>>2]=a[l+8>>2];a[c+12>>2]=a[l+12>>2];a[c+16>>2]=a[l+16>>2];a[c+20>>2]=a[l+20>>2];a[c+24>>2]=a[l+24>>2];a[c+28>>2]=a[l+28>>2];CX(A,c);l=e}SL(A,i,t)}}while(0);k=b;return}function pL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=a[r>>2]|0;while(1){if(!e)break;A=a[a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;e=e+-1|0}a[r>>2]=f+1;n=i+(f<<4)|0;e=i+(f+-1<<4)|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];f=a[r>>2]|0;a[r>>2]=f+1;f=i+(f<<4)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];f=i+(a[r>>2]<<4)|0;r=(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];return A|0}function UL(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0;w=e+84|0;s=e+80|0;i=0;e=A;A:while(1){t=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;c=t+16|0;if((r[(a[c>>2]|0)+156>>0]|0)!=1)break;if((Q5[a[17300>>2]&63](t)|0)<<24>>24)break;e=a[s>>2]|0;while(1){if((i|0)>=(e|0))break A;if(!(+b[(a[w>>2]|0)+(i<<5)+8>>3]>+b[(a[c>>2]|0)+24>>3]))break;i=i+1|0}e=a[w>>2]|0;A=a[c>>2]|0;do{if(!(+b[e+(i<<5)+24>>3]<+b[A+24>>3])){n=+b[e+(i<<5)>>3];l=~~n;f=+b[e+(i<<5)+16>>3];if(!(a[A+104>>2]|0)){xL(t,l,~~((f+n)*.5),~~f);break}else{xL(t,l,~~f,~~(+b[A+96>>3]+f));break}}}while(0);e=a[a[(a[c>>2]|0)+180>>2]>>2]|0}return}function xL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[A+16>>2]|0;b[A+16>>3]=+(i|0);b[A+88>>3]=+(i-e|0);b[A+96>>3]=+(r-i|0);return}function TL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=a[(a[(a[((l|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;l=((l|0)==2?A:A+-48|0)+40|0;n=0;A=0;while(1){r=a[t+(n<<2)>>2]|0;if(!r)break;f=a[(a[(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((U(f-(a[(a[(a[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=a[r+16>>2]|0;if(!(a[i+8>>2]|0)){i=a[i+116>>2]|0;if(!i)break;if(!(a[(a[i+16>>2]|0)+8>>2]|0))break}if(A|0?(U((a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);n=n+1|0}return A|0}function jL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=a[(a[(a[((l|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;l=((l|0)==3?A:A+48|0)+40|0;n=0;A=0;while(1){r=a[t+(n<<2)>>2]|0;if(!r)break;f=a[(a[(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((U(f-(a[(a[(a[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=a[r+16>>2]|0;if(!(a[i+8>>2]|0)){i=a[i+116>>2]|0;if(!i)break;if(!(a[(a[i+16>>2]|0)+8>>2]|0))break}if(A|0?(U((a[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);n=n+1|0}return A|0}function SL(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=A+84|0;l=e+-1|0;while(1){if((l|0)>(i|0))break;f=a[s>>2]|0;t=f+(l<<5)|0;r=+b[t>>3];if(!(l-e&1)){f=f+(l<<5)+16|0;w=+b[f>>3];n=~~((w+r)*.5);if(r>=w){b[t>>3]=+(n+-8|0);b[f>>3]=+(n+8|0)}}else{f=f+(l<<5)+16|0;w=+b[f>>3];n=~~((w+r)*.5);if(r+16.0>w){b[t>>3]=+(n+-8|0);b[f>>3]=+(n+8|0)}}l=l+1|0}c=(a[A+80>>2]|0)+-1|0;n=0;while(1){if((n|0)>=(c|0))break;l=a[s>>2]|0;f=l+(n<<5)|0;t=n+1|0;A=l+(t<<5)|0;if(!((n|0)<(e|0)|(n|0)>(i|0))?(n-e&1|0)==0:0){r=+b[f>>3]+16.0;f=l+(t<<5)+16|0;if(r>+b[f>>3])b[f>>3]=r;r=+b[l+(n<<5)+16>>3]+-16.0;if(!(r<+b[A>>3])){n=t;continue}b[A>>3]=r;n=t;continue}if(!((n|0)<(i|0)&(t|0)>=(e|0))){n=t;continue}if(t-e&1|0){n=t;continue}r=+b[l+(t<<5)+16>>3];if(+b[f>>3]+16.0>r)b[f>>3]=r+-16.0;f=l+(n<<5)+16|0;r=+b[A>>3];if(!(+b[f>>3]+-16.0>3]=r+16.0;n=t}return}function PL(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function OL(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=a[(a[A+16>>2]|0)+196>>2]|0;l=a[e+16>>2]|0;c=a[l+232>>2]|0;t=b+(c<<6)|0;c=b+(c<<6)+4|0;l=a[l+236>>2]|0;A:do{l=l+n|0;if((l|0)<=-1){A=0;break}if((l|0)>=(a[t>>2]|0)){A=0;break}A=a[(a[c>>2]|0)+(l<<2)>>2]|0;b=a[A+16>>2]|0;switch(r[b+156>>0]|0){case 0:break A;case 1:{if(a[b+104>>2]|0)break A;break}default:{}}}while((qL(A,e,i,f)|0)<<24>>24!=0);return A|0}function KL(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;e=a[e+16>>2]|0;if(!(r[e+156>>0]|0)){t=a[e+212>>2]|0;l=t}else{t=a[(a[(a[a[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=a[t>>2]&3;l=a[(a[(a[((n|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;t=a[(a[(a[((n|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}e=a[i+16>>2]|0;if(!(r[e+156>>0]|0)){i=a[e+212>>2]|0;i=(i|0)==(A|0)?0:i;return((i|0)==(l|0)|((i|0)==0|(i|0)==(t|0))?0:i)|0}f=a[(a[(a[a[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=a[f>>2]&3;e=a[(a[(a[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if(!(!((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))?(_L(e,i)|0)!=0:0)){e=a[(a[(a[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))e=0;else{i=(_L(e,i)|0)==0;return(i?0:e)|0}}return e|0}function _L(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=a[A+16>>2]|0;A=a[e+16>>2]|0;f=+b[A+16>>3];if((+b[i+16>>3]<=f?f<=+b[i+32>>3]:0)?(r=+b[A+24>>3],+b[i+24>>3]<=r):0)A=r<=+b[i+40>>3]&1;else A=0;return A|0}function qL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;t=a[A+16>>2]|0;c=(a[t+236>>2]|0)>(a[(a[e+16>>2]|0)+236>>2]|0);A:do{if((a[t+184>>2]|0)==1){e:do{if(f|0){l=0;A=a[a[t+180>>2]>>2]|0;while(1){if((l|0)>=2)break e;A=a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;e=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((A|0)==(e|0))break e;n=a[A+16>>2]|0;A=a[e+16>>2]|0;if(c^(a[n+236>>2]|0)>(a[A+236>>2]|0)){A=1;break A}if((a[n+184>>2]|0)!=1)break e;if(!(r[n+156>>0]|0))break e;if((a[A+184>>2]|0)!=1)break e;if(!(r[A+156>>0]|0))break e;l=l+1|0;f=a[a[A+180>>2]>>2]|0;A=a[a[n+180>>2]>>2]|0}}}while(0);if(i|0?(a[t+176>>2]|0)==1:0){n=0;e=i;A=a[a[t+172>>2]>>2]|0;while(1){if((n|0)>=2){A=0;break A}A=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;e=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((A|0)==(e|0)){A=0;break A}f=a[A+16>>2]|0;A=a[e+16>>2]|0;if(c^(a[f+236>>2]|0)>(a[A+236>>2]|0)){A=1;break A}if((a[f+176>>2]|0)!=1){A=0;break A}if(!(r[f+156>>0]|0)){A=0;break A}if((a[A+176>>2]|0)!=1){A=0;break A}if(!(r[A+156>>0]|0)){A=0;break A}n=n+1|0;e=a[a[A+172>>2]>>2]|0;A=a[a[f+172>>2]>>2]|0}}else A=0}else A=0}while(0);return A|0}function $L(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function AW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];return(~~((+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r))|0)>0|0}function eW(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0;U=k;k=k+256|0;W=U+232|0;L=U+216|0;H=U+88|0;R=U+80|0;V=U+64|0;J=U+200|0;N=U+184|0;X=U;y=U+168|0;z=U+152|0;Y=U+136|0;D=U+120|0;M=U+104|0;m=a[n>>2]&3;F=a[((m|0)==3?n:n+48|0)+40>>2]|0;m=a[((m|0)==2?n:n+-48|0)+40>>2]|0;do{if((sN(F)|0)!=2?(sN(m)|0)!=2:0){n=0;t=0;c=0;while(1){if((c|0)>=(f|0))break;Q=a[(a[e+(c+i<<2)>>2]|0)+16>>2]|0;n=n+((a[Q+96>>2]|0)!=0&1)|0;if(!((r[Q+44>>0]|0)==0?(r[Q+84>>0]|0)==0:0))t=1;c=c+1|0}if(!t)if(!n){rW(F,m,e,i,f,l);break}else{tW(F,m,e,i,f,l,n);break}Z=qF(156)|0;G=cW(A,Z)|0;v=XB(G,85478,1)|0;Td(v,137483,280,1)|0;xo(v,87171,87185)|0;s=+b[(a[m+16>>2]|0)+16>>3];B=+b[(a[F+16>>2]|0)+16>>3];Q=A+16|0;h=(a[(a[Q>>2]|0)+116>>2]&1|0)==0;d=h?m:F;h=h?F:m;v=bW(v,h)|0;g=bW(G,d)|0;n=0;o=0;while(1){if((o|0)>=(f|0))break;t=e+(o+i<<2)|0;while(1){u=a[t>>2]|0;w=u+16|0;t=a[w>>2]|0;if(!(r[t+112>>0]|0))break;else t=t+116|0}if((a[((a[u>>2]&3|0)==3?u:u+48|0)+40>>2]|0)==(h|0))c=sW(G,v,g,u)|0;else c=sW(G,g,v,u)|0;t=a[w>>2]|0;a[t+120>>2]=c;if(!n)if((r[t+44>>0]|0)==0?(r[t+84>>0]|0)==0:0){a[(a[c+16>>2]|0)+120>>2]=u;n=c}else n=0;o=o+1|0}if(!n)I=th(G,v,g,0,1)|0;else I=n;Vo(I,a[47174]|0,85482)|0;n=G+16|0;w=a[n>>2]|0;a[w+144>>2]=a[(a[Q>>2]|0)+144>>2];a[w+188>>2]=G;zH(G,l);AL(G);Jz(G,0);SW(G,0);Ky(G,0);h=h+16|0;l=a[h>>2]|0;w=a[d+16>>2]|0;d=v+16|0;u=a[d>>2]|0;o=u+16|0;E=+(~~s|0);C=+(~~((+b[(a[g+16>>2]|0)+16>>3]+ +b[o>>3])*.5)|0);s=+(~~B|0);B=+(~~((+b[l+16>>3]-+b[l+96>>3]+ +b[w+16>>3]+ +b[w+88>>3])*.5)|0);w=u+24|0;n=(a[n>>2]|0)+192|0;while(1){t=a[n>>2]|0;if(!t)break;do{if((t|0)!=(v|0)){n=a[t+16>>2]|0;c=n+24|0;if((t|0)==(g|0)){b[c>>3]=s;b[n+16>>3]=C;break}else{b[c>>3]=B;break}}else{b[w>>3]=E;b[o>>3]=C;n=u}}while(0);n=n+164|0}zY(G);IL(G,0);VJ(G);c=a[h>>2]|0;n=a[d>>2]|0;if(!(a[(a[Q>>2]|0)+116>>2]&1)){t=n+16|0;s=+b[c+24>>3]-+b[n+24>>3]}else{t=n+24|0;s=+b[n+16>>3]+ +b[c+24>>3]}b[V>>3]=+b[c+16>>3]-+b[t>>3];b[V+8>>3]=s;l=X+16|0;v=X+32|0;g=X+48|0;d=0;while(1){if((d|0)>=(f|0))break;n=e+(d+i<<2)|0;while(1){t=a[n>>2]|0;h=t+16|0;n=a[h>>2]|0;if(!(r[n+112>>0]|0))break;else n=n+116|0}u=a[n+120>>2]|0;o=u+16|0;n=a[o>>2]|0;if(!((u|0)==(I|0)&(a[n+120>>2]|0)==0)){w=a[a[n+8>>2]>>2]|0;u=w+4|0;t=vX(t,a[u>>2]|0)|0;a[t+8>>2]=a[w+8>>2];n=t+16|0;c=w+16|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(J,L,W,x);a[n>>2]=a[J>>2];a[n+4>>2]=a[J+4>>2];a[n+8>>2]=a[J+8>>2];a[n+12>>2]=a[J+12>>2];a[t+12>>2]=a[w+12>>2];n=t+32|0;x=w+32|0;c=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[x>>2];a[L+4>>2]=a[x+4>>2];a[L+8>>2]=a[x+8>>2];a[L+12>>2]=a[x+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(N,L,W,c);a[n>>2]=a[N>>2];a[n+4>>2]=a[N+4>>2];a[n+8>>2]=a[N+8>>2];a[n+12>>2]=a[N+12>>2];n=0;while(1){if((n|0)>=(a[u>>2]|0))break;c=(a[t>>2]|0)+(n<<4)|0;T=(a[w>>2]|0)+(n<<4)|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[T>>2];a[L+4>>2]=a[T+4>>2];a[L+8>>2]=a[T+8>>2];a[L+12>>2]=a[T+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(y,L,W,x);a[c>>2]=a[y>>2];a[c+4>>2]=a[y+4>>2];a[c+8>>2]=a[y+8>>2];a[c+12>>2]=a[y+12>>2];a[X>>2]=a[y>>2];a[X+4>>2]=a[y+4>>2];a[X+8>>2]=a[y+8>>2];a[X+12>>2]=a[y+12>>2];c=n+1|0;if((c|0)>=(a[u>>2]|0)){p=48;break}x=(a[t>>2]|0)+(c<<4)|0;c=(a[w>>2]|0)+(c<<4)|0;T=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(z,L,W,T);a[x>>2]=a[z>>2];a[x+4>>2]=a[z+4>>2];a[x+8>>2]=a[z+8>>2];a[x+12>>2]=a[z+12>>2];a[l>>2]=a[z>>2];a[l+4>>2]=a[z+4>>2];a[l+8>>2]=a[z+8>>2];a[l+12>>2]=a[z+12>>2];x=n+2|0;T=(a[t>>2]|0)+(x<<4)|0;x=(a[w>>2]|0)+(x<<4)|0;c=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[x>>2];a[L+4>>2]=a[x+4>>2];a[L+8>>2]=a[x+8>>2];a[L+12>>2]=a[x+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(Y,L,W,c);a[T>>2]=a[Y>>2];a[T+4>>2]=a[Y+4>>2];a[T+8>>2]=a[Y+8>>2];a[T+12>>2]=a[Y+12>>2];a[v>>2]=a[Y>>2];a[v+4>>2]=a[Y+4>>2];a[v+8>>2]=a[Y+8>>2];a[v+12>>2]=a[Y+12>>2];T=n+3|0;c=(a[w>>2]|0)+(T<<4)|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(D,L,W,x);a[g>>2]=a[D>>2];a[g+4>>2]=a[D+4>>2];a[g+8>>2]=a[D+8>>2];a[g+12>>2]=a[D+12>>2];sI((a[Q>>2]|0)+16|0,X);n=T}if((p|0)==48)p=0;n=a[(a[h>>2]|0)+96>>2]|0;if(n|0){T=n+56|0;o=(a[(a[o>>2]|0)+96>>2]|0)+56|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[o>>2];a[L+4>>2]=a[o+4>>2];a[L+8>>2]=a[o+8>>2];a[L+12>>2]=a[o+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(M,L,W,x);a[T>>2]=a[M>>2];a[T+4>>2]=a[M+4>>2];a[T+8>>2]=a[M+8>>2];a[T+12>>2]=a[M+12>>2];T=a[(a[h>>2]|0)+96>>2]|0;r[T+81>>0]=1;pR(A,T)}}d=d+1|0}uW(G,Z)}else p=3}while(0);if((p|0)==3?(a[46738]|0)==0:0){a[46738]=1;ao(0,85355,R)|0;p=Vh(F)|0;x=(Ih(A)|0)!=0;T=Vh(m)|0;a[H>>2]=p;a[H+4>>2]=x?137738:141747;a[H+8>>2]=T;ao(3,85461,H)|0}k=U;return}function iW(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0.0,W=0.0,y=0.0;G=k;k=k+1600|0;g=G+1552|0;w=G+1536|0;v=G+840|0;E=G+144|0;C=G+1584|0;t=G+32|0;B=G+16|0;u=G;h=a[f>>2]&3;o=a[((h|0)==3?f:f+48|0)+40>>2]|0;I=f+-48|0;h=a[((h|0)==2?f:I)+40>>2]|0;d=f+16|0;c=a[d>>2]|0;l=a[c+172>>2]|0;while(1){s=a[(a[l+16>>2]|0)+172>>2]|0;if(!s)break;else l=s}c=(a[c+96>>2]|0)+56|0;l=(a[((a[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)+16|0;s=(a[l>>2]|0)+16|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];c=a[d>>2]|0;r[(a[c+96>>2]|0)+81>>0]=1;if((n|0)!=2){c=a[l>>2]|0;L=+b[c+16>>3];y=L-+b[c+88>>3];L=+b[c+96>>3]+L;m=+b[c+24>>3];W=+b[c+80>>3]*.5+m;c=a[(a[A+16>>2]|0)+196>>2]|0;s=a[o+16>>2]|0;t=a[s+232>>2]|0;m=+(~~(+(~~(m-+b[c+(t<<6)+16>>3]-+b[s+24>>3]+ +b[c+(t<<6)+24>>3])|0)*.16666666666666666)|0);m=W-(m<5.0?5.0:m);aW(A,e,i,o,f,v,1);aW(A,e,i,h,f,E,0);t=v+52|0;c=a[t>>2]|0;s=c+-1|0;Q=+b[v+56+(s<<5)>>3];b[19215]=Q;b[19216]=+b[v+56+(s<<5)+24>>3];b[19217]=y;b[19218]=m;b[19219]=Q;b[19220]=m;s=E+52|0;l=(a[s>>2]|0)+-1|0;Q=+b[E+56+(l<<5)+16>>3];b[19221]=Q;b[19222]=W;b[19223]=L;b[19226]=m;b[19224]=+b[E+56+(l<<5)+24>>3];b[19225]=Q;l=0;while(1){if((l|0)>=(c|0)){l=0;break}c=v+56+(l<<5)|0;a[g>>2]=a[c>>2];a[g+4>>2]=a[c+4>>2];a[g+8>>2]=a[c+8>>2];a[g+12>>2]=a[c+12>>2];a[g+16>>2]=a[c+16>>2];a[g+20>>2]=a[c+20>>2];a[g+24>>2]=a[c+24>>2];a[g+28>>2]=a[c+28>>2];CX(i,g);l=l+1|0;c=a[t>>2]|0}while(1){if((l|0)==3)break;v=153720+(l<<5)|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[g+16>>2]=a[v+16>>2];a[g+20>>2]=a[v+20>>2];a[g+24>>2]=a[v+24>>2];a[g+28>>2]=a[v+28>>2];CX(i,g);l=l+1|0}t=a[s>>2]|0;while(1){l=t+-1|0;if((t|0)<=0)break;t=E+56+(l<<5)|0;a[g>>2]=a[t>>2];a[g+4>>2]=a[t+4>>2];a[g+8>>2]=a[t+8>>2];a[g+12>>2]=a[t+12>>2];a[g+16>>2]=a[t+16>>2];a[g+20>>2]=a[t+20>>2];a[g+24>>2]=a[t+24>>2];a[g+28>>2]=a[t+28>>2];CX(i,g);t=l}if((n|0)==10)t=KJ(i,C)|0;else t=iN(i,C)|0;l=a[C>>2]|0;if(l|0)Z=17}else{l=(a[o+16>>2]|0)+16|0;E=c+16|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];$L(B,w,g);E=(a[h+16>>2]|0)+16|0;l=(a[d>>2]|0)+56|0;a[w>>2]=a[E>>2];a[w+4>>2]=a[E+4>>2];a[w+8>>2]=a[E+8>>2];a[w+12>>2]=a[E+12>>2];a[g>>2]=a[l>>2];a[g+4>>2]=a[l+4>>2];a[g+8>>2]=a[l+8>>2];a[g+12>>2]=a[l+12>>2];$L(u,w,g);l=a[(a[d>>2]|0)+96>>2]|0;W=+b[l+56>>3];y=+b[l+64>>3]-+b[l+32>>3]*.5;l=t+16|0;a[t>>2]=a[B>>2];a[t+4>>2]=a[B+4>>2];a[t+8>>2]=a[B+8>>2];a[t+12>>2]=a[B+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];l=t+32|0;E=t+48|0;Z=t+64|0;b[t+64>>3]=W;b[t+72>>3]=y;a[E>>2]=a[Z>>2];a[E+4>>2]=a[Z+4>>2];a[E+8>>2]=a[Z+8>>2];a[E+12>>2]=a[Z+12>>2];a[l>>2]=a[Z>>2];a[l+4>>2]=a[Z+4>>2];a[l+8>>2]=a[Z+8>>2];a[l+12>>2]=a[Z+12>>2];l=t+80|0;Z=t+96|0;a[Z>>2]=a[u>>2];a[Z+4>>2]=a[u+4>>2];a[Z+8>>2]=a[u+8>>2];a[Z+12>>2]=a[u+12>>2];a[l>>2]=a[u>>2];a[l+4>>2]=a[u+4>>2];a[l+8>>2]=a[u+8>>2];a[l+12>>2]=a[u+12>>2];a[C>>2]=7;l=7;Z=17}if((Z|0)==17)gX(f,a[((a[f>>2]&3|0)==2?f:I)+40>>2]|0,t,l,17296);k=G;return}function rW(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0.0,L=0.0,W=0.0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0;X=k;k=k+352|0;I=X+336|0;C=X+320|0;J=X+128|0;g=X+304|0;Z=X+288|0;N=X+112|0;y=X+96|0;z=X+80|0;Y=X+64|0;D=X+48|0;M=X+32|0;F=X+16|0;V=X;A=A+16|0;h=(a[A>>2]|0)+16|0;E=(a[i+(r<<2)>>2]|0)+16|0;B=(a[E>>2]|0)+16|0;a[C>>2]=a[h>>2];a[C+4>>2]=a[h+4>>2];a[C+8>>2]=a[h+8>>2];a[C+12>>2]=a[h+12>>2];a[I>>2]=a[B>>2];a[I+4>>2]=a[B+4>>2];a[I+8>>2]=a[B+8>>2];a[I+12>>2]=a[B+12>>2];$L(g,C,I);L=+b[g>>3];W=+b[g+8>>3];g=(a[e+16>>2]|0)+16|0;E=(a[E>>2]|0)+56|0;a[C>>2]=a[g>>2];a[C+4>>2]=a[g+4>>2];a[C+8>>2]=a[g+8>>2];a[C+12>>2]=a[g+12>>2];a[I>>2]=a[E>>2];a[I+4>>2]=a[E+4>>2];a[I+8>>2]=a[E+8>>2];a[I+12>>2]=a[E+12>>2];$L(Z,C,I);Q=+b[Z>>3];m=+b[Z+8>>3];if((f|0)>1){G=+b[(a[A>>2]|0)+80>>3];l=G*.5;G=G/+(f+-1|0)}else{l=0.0;G=0.0}o=(n|8|0)==10;s=J+8|0;h=J+16|0;d=(Q+L*2.0)*.3333333333333333;B=J+32|0;v=(Q*2.0+L)*.3333333333333333;w=J+24|0;g=J+48|0;E=J+64|0;C=J+80|0;I=J+96|0;Z=J+112|0;c=J+128|0;u=J+136|0;l=W-l;e=0;while(1){if((e|0)>=(f|0))break;t=a[i+(e+r<<2)>>2]|0;b[J>>3]=L;b[s>>3]=W;if(o){lW(N,d,l);a[h>>2]=a[N>>2];a[h+4>>2]=a[N+4>>2];a[h+8>>2]=a[N+8>>2];a[h+12>>2]=a[N+12>>2];lW(y,v,l);a[B>>2]=a[y>>2];a[B+4>>2]=a[y+4>>2];a[B+8>>2]=a[y+8>>2];a[B+12>>2]=a[y+12>>2];A=4;n=3}else{b[h>>3]=L;b[w>>3]=W;lW(z,d,l);a[B>>2]=a[z>>2];a[B+4>>2]=a[z+4>>2];a[B+8>>2]=a[z+8>>2];a[B+12>>2]=a[z+12>>2];lW(Y,d,l);a[g>>2]=a[Y>>2];a[g+4>>2]=a[Y+4>>2];a[g+8>>2]=a[Y+8>>2];a[g+12>>2]=a[Y+12>>2];lW(D,d,l);a[E>>2]=a[D>>2];a[E+4>>2]=a[D+4>>2];a[E+8>>2]=a[D+8>>2];a[E+12>>2]=a[D+12>>2];lW(M,v,l);a[C>>2]=a[M>>2];a[C+4>>2]=a[M+4>>2];a[C+8>>2]=a[M+8>>2];a[C+12>>2]=a[M+12>>2];lW(F,v,l);a[I>>2]=a[F>>2];a[I+4>>2]=a[F+4>>2];a[I+8>>2]=a[F+8>>2];a[I+12>>2]=a[F+12>>2];lW(V,v,l);a[Z>>2]=a[V>>2];a[Z+4>>2]=a[V+4>>2];a[Z+8>>2]=a[V+8>>2];a[Z+12>>2]=a[V+12>>2];b[c>>3]=Q;b[u>>3]=m;A=10;n=9}b[J+(n<<4)>>3]=Q;b[J+(n<<4)+8>>3]=m;gX(t,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,J,A,17296);l=l+G;e=e+1|0}k=X;return}function fW(A,e,i,r,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0.0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0.0,L=0.0,W=0.0;I=k;k=k+1440|0;v=I+1392|0;E=I+1424|0;C=I+696|0;g=I;d=a[t>>2]&3;h=a[((d|0)==3?t:t+48|0)+40>>2]|0;d=a[((d|0)==2?t:t+-48|0)+40>>2]|0;s=a[h+16>>2]|0;u=a[s+232>>2]|0;o=a[A+16>>2]|0;if((u|0)<(f[o+238>>1]|0)){Z=a[o+196>>2]|0;o=u+1|0;w=+b[s+24>>3]-+b[Z+(u<<6)+32>>3]-+b[(a[(a[a[Z+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[Z+(o<<6)+40>>3]}else w=+(a[o+252>>2]|0);G=+(l+1|0);B=+(a[e+12>>2]|0)/G;w=w/G;nW(A,e,i,h,t,C,1);nW(A,e,i,d,t,g,0);d=C+52|0;t=g+52|0;A=(c|0)==0;e=i+80|0;s=0;while(1){if((s|0)>=(l|0))break;h=a[r+(s+n<<2)>>2]|0;o=a[d>>2]|0;u=o+-1|0;W=+b[C+56+(u<<5)>>3];m=+b[C+56+(u<<5)+8>>3];L=+b[C+56+(u<<5)+16>>3];b[19215]=W;b[19218]=m;s=s+1|0;G=+(s|0);Q=B*G;b[19217]=L+Q;G=m-w*G;b[19216]=G;b[19219]=W;b[19222]=G;u=(a[t>>2]|0)+-1|0;W=+b[g+56+(u<<5)+16>>3];b[19221]=W;b[19220]=G-w;m=+b[g+56+(u<<5)>>3];L=+b[g+56+(u<<5)+8>>3];b[19225]=W;b[19226]=L;b[19223]=m-Q;b[19224]=G;u=0;while(1){if((u|0)>=(o|0)){u=0;break}o=C+56+(u<<5)|0;a[v>>2]=a[o>>2];a[v+4>>2]=a[o+4>>2];a[v+8>>2]=a[o+8>>2];a[v+12>>2]=a[o+12>>2];a[v+16>>2]=a[o+16>>2];a[v+20>>2]=a[o+20>>2];a[v+24>>2]=a[o+24>>2];a[v+28>>2]=a[o+28>>2];CX(i,v);u=u+1|0;o=a[d>>2]|0}while(1){if((u|0)==3)break;Z=153720+(u<<5)|0;a[v>>2]=a[Z>>2];a[v+4>>2]=a[Z+4>>2];a[v+8>>2]=a[Z+8>>2];a[v+12>>2]=a[Z+12>>2];a[v+16>>2]=a[Z+16>>2];a[v+20>>2]=a[Z+20>>2];a[v+24>>2]=a[Z+24>>2];a[v+28>>2]=a[Z+28>>2];CX(i,v);u=u+1|0}o=a[t>>2]|0;while(1){u=o+-1|0;if((o|0)<=0)break;o=g+56+(u<<5)|0;a[v>>2]=a[o>>2];a[v+4>>2]=a[o+4>>2];a[v+8>>2]=a[o+8>>2];a[v+12>>2]=a[o+12>>2];a[v+16>>2]=a[o+16>>2];a[v+20>>2]=a[o+20>>2];a[v+24>>2]=a[o+24>>2];a[v+28>>2]=a[o+28>>2];CX(i,v);o=u}if(A)u=iN(i,E)|0;else u=KJ(i,E)|0;o=a[E>>2]|0;if(!o)break;gX(h,a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0,u,o,17296);a[e>>2]=0}k=I;return}function aW(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+128|0;t=w+96|0;c=w+64|0;u=w+32|0;s=w;VL(u,A,e,r,0,f);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[n+16>>2]=a[u+16>>2];a[n+20>>2]=a[u+20>>2];a[n+24>>2]=a[u+24>>2];a[n+28>>2]=a[u+28>>2];a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];a[c+16>>2]=a[u+16>>2];a[c+20>>2]=a[u+20>>2];a[c+24>>2]=a[u+24>>2];a[c+28>>2]=a[u+28>>2];a[n+48>>2]=4;if(!(l<<24>>24))QX(i,f,2,n,0);else IX(i,f,2,n,0);e=n+52|0;f=(a[e>>2]|0)+-1|0;u=c+24|0;b[u>>3]=+b[n+56+(f<<5)+24>>3];l=c+8|0;b[l>>3]=+b[n+56+(f<<5)+8>>3];r=a[r+16>>2]|0;o=+b[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[r+232>>2]<<6)+24>>3]+ +b[r+24>>3];a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];a[t+20>>2]=a[c+20>>2];a[t+24>>2]=a[c+24>>2];a[t+28>>2]=a[c+28>>2];NL(s,t,4,o);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[c+16>>2]=a[s+16>>2];a[c+20>>2]=a[s+20>>2];a[c+24>>2]=a[s+24>>2];a[c+28>>2]=a[s+28>>2];if(+b[c>>3]<+b[c+16>>3]?+b[l>>3]<+b[u>>3]:0){u=a[e>>2]|0;a[e>>2]=u+1;u=n+56+(u<<5)|0;a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];a[u+16>>2]=a[c+16>>2];a[u+20>>2]=a[c+20>>2];a[u+24>>2]=a[c+24>>2];a[u+28>>2]=a[c+28>>2]}k=w;return}function nW(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+128|0;t=w+96|0;c=w+64|0;u=w+32|0;s=w;VL(u,A,e,r,0,f);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[n+16>>2]=a[u+16>>2];a[n+20>>2]=a[u+20>>2];a[n+24>>2]=a[u+24>>2];a[n+28>>2]=a[u+28>>2];a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];a[c+16>>2]=a[u+16>>2];a[c+20>>2]=a[u+20>>2];a[c+24>>2]=a[u+24>>2];a[c+28>>2]=a[u+28>>2];a[n+48>>2]=1;if(!(l<<24>>24))QX(i,f,2,n,0);else IX(i,f,2,n,0);e=n+52|0;f=(a[e>>2]|0)+-1|0;u=c+24|0;b[u>>3]=+b[n+56+(f<<5)+24>>3];l=c+8|0;b[l>>3]=+b[n+56+(f<<5)+8>>3];r=a[r+16>>2]|0;o=+b[r+24>>3]-+b[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[r+232>>2]<<6)+24>>3];a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];a[t+20>>2]=a[c+20>>2];a[t+24>>2]=a[c+24>>2];a[t+28>>2]=a[c+28>>2];NL(s,t,1,o);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[c+16>>2]=a[s+16>>2];a[c+20>>2]=a[s+20>>2];a[c+24>>2]=a[s+24>>2];a[c+28>>2]=a[s+28>>2];if(+b[c>>3]<+b[c+16>>3]?+b[l>>3]<+b[u>>3]:0){u=a[e>>2]|0;a[e>>2]=u+1;u=n+56+(u<<5)|0;a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];a[u+16>>2]=a[c+16>>2];a[u+20>>2]=a[c+20>>2];a[u+24>>2]=a[c+24>>2];a[u+28>>2]=a[c+28>>2]}k=w;return}function lW(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function tW(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0,G=0,Q=0.0,m=0.0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0.0;K=k;k=k+288|0;U=K+256|0;p=K+240|0;H=K+224|0;S=K+280|0;P=K+272|0;O=K+32|0;x=K+16|0;T=K;s=K+208|0;w=K+192|0;u=a[i+(f<<2)>>2]|0;j=qF(n<<2)|0;c=0;while(1){if((c|0)>=(n|0))break;a[j+(c<<2)>>2]=a[i+(c+f<<2)>>2];c=c+1|0}K4(j,n,4,59);i=A+16|0;f=(a[i>>2]|0)+16|0;u=u+16|0;L=(a[u>>2]|0)+16|0;a[p>>2]=a[f>>2];a[p+4>>2]=a[f+4>>2];a[p+8>>2]=a[f+8>>2];a[p+12>>2]=a[f+12>>2];a[U>>2]=a[L>>2];a[U+4>>2]=a[L+4>>2];a[U+8>>2]=a[L+8>>2];a[U+12>>2]=a[L+12>>2];$L(s,p,U);a[x>>2]=a[s>>2];a[x+4>>2]=a[s+4>>2];a[x+8>>2]=a[s+8>>2];a[x+12>>2]=a[s+12>>2];L=e+16|0;f=(a[L>>2]|0)+16|0;u=(a[u>>2]|0)+56|0;a[p>>2]=a[f>>2];a[p+4>>2]=a[f+4>>2];a[p+8>>2]=a[f+8>>2];a[p+12>>2]=a[f+12>>2];a[U>>2]=a[u>>2];a[U+4>>2]=a[u+4>>2];a[U+8>>2]=a[u+8>>2];a[U+12>>2]=a[u+12>>2];$L(w,p,U);a[T>>2]=a[w>>2];a[T+4>>2]=a[w+4>>2];a[T+8>>2]=a[w+8>>2];a[T+12>>2]=a[w+12>>2];C=+b[(a[i>>2]|0)+96>>3]+ +b[x>>3];I=+b[T>>3]-+b[(a[L>>2]|0)+88>>3];g=I+C;E=g*.5;L=a[j>>2]|0;a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];u=O+16|0;a[u>>2]=a[x>>2];a[u+4>>2]=a[x+4>>2];a[u+8>>2]=a[x+8>>2];a[u+12>>2]=a[x+12>>2];i=O+32|0;a[i>>2]=a[T>>2];a[i+4>>2]=a[T+4>>2];a[i+8>>2]=a[T+8>>2];a[i+12>>2]=a[T+12>>2];f=O+48|0;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];gX(L,a[((a[L>>2]&3|0)==2?L:L+-48|0)+40>>2]|0,O,4,17296);L=a[(a[L+16>>2]|0)+96>>2]|0;b[L+56>>3]=E;G=x+8|0;d=+b[G>>3];B=+b[L+32>>3];b[L+64>>3]=(B+6.0)*.5+d;r[L+81>>0]=1;d=d+3.0;m=+b[L+24>>3];Q=(g-m)*.5;m=(m+g)*.5;L=O+24|0;W=O+40|0;y=O+56|0;z=O+64|0;Y=T+8|0;D=O+72|0;M=O+80|0;F=O+88|0;V=O+96|0;J=O+104|0;N=O+112|0;X=O+120|0;R=S+4|0;w=(l|0)==6&1;h=0.0;o=0.0;B=B+d;s=1;while(1){if((s|0)>=(t|0)){Z=6;break}e=a[j+(s<<2)>>2]|0;if(!(s&1)){a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=Q;b[L>>3]=+b[G>>3];b[i>>3]=Q;b[W>>3]=B;b[f>>3]=m;b[y>>3]=B;b[z>>3]=m;v=+b[Y>>3];b[D>>3]=v;_=+b[T>>3];b[M>>3]=_;b[F>>3]=v;b[V>>3]=_;_=B+6.0;b[J>>3]=_;b[N>>3]=+b[x>>3];b[X>>3]=_;B=+b[(a[(a[e+16>>2]|0)+96>>2]|0)+32>>3];v=_+B*.5;B=_+B}else{c=e+16|0;A=a[(a[c>>2]|0)+96>>2]|0;if((s|0)==1){o=+b[A+24>>3];h=(o+g)*.5;o=(g-o)*.5}d=d+-6.0-+b[A+32>>3];a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=+b[x>>3];v=d+-6.0;b[L>>3]=v;b[i>>3]=+b[T>>3];b[W>>3]=v;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];b[z>>3]=h;b[D>>3]=+b[Y>>3];b[M>>3]=h;b[F>>3]=d;b[V>>3]=o;b[J>>3]=d;b[N>>3]=o;b[X>>3]=+b[G>>3];v=+b[(a[(a[c>>2]|0)+96>>2]|0)+32>>3]*.5+d}a[R>>2]=8;a[S>>2]=O;a[H>>2]=a[x>>2];a[H+4>>2]=a[x+4>>2];a[H+8>>2]=a[x+8>>2];a[H+12>>2]=a[x+12>>2];a[p>>2]=a[T>>2];a[p+4>>2]=a[T+4>>2];a[p+8>>2]=a[T+8>>2];a[p+12>>2]=a[T+12>>2];a[U>>2]=a[S>>2];a[U+4>>2]=a[S+4>>2];c=jJ(H,p,U,P,w)|0;A=a[P>>2]|0;if(!A)break;l=a[(a[e+16>>2]|0)+96>>2]|0;b[l+56>>3]=E;b[l+64>>3]=v;r[l+81>>0]=1;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17296);s=s+1|0}A:do{if((Z|0)==6){E=(I+C*2.0)*.3333333333333333;g=(I*2.0+C)*.3333333333333333;while(1){if((s|0)>=(n|0))break;e=a[j+(s<<2)>>2]|0;if(!(s&1)){a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=Q;b[L>>3]=+b[G>>3];b[i>>3]=Q;b[W>>3]=B;b[f>>3]=m;b[y>>3]=B;b[z>>3]=m;v=+b[Y>>3];b[D>>3]=v;_=+b[T>>3];b[M>>3]=_;b[F>>3]=v;b[V>>3]=_;_=B+6.0;b[J>>3]=_;b[N>>3]=+b[x>>3];B=_;v=o;o=_}else{Z=(s|0)==1;v=Z?E:o;h=Z?g:h;o=d+-6.0;a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=+b[x>>3];d=d+-12.0;b[L>>3]=d;b[i>>3]=+b[T>>3];b[W>>3]=d;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];b[z>>3]=h;b[D>>3]=+b[Y>>3];b[M>>3]=h;b[F>>3]=o;b[V>>3]=v;b[J>>3]=o;b[N>>3]=v;d=o;o=+b[G>>3]}b[X>>3]=o;a[R>>2]=8;a[S>>2]=O;a[H>>2]=a[x>>2];a[H+4>>2]=a[x+4>>2];a[H+8>>2]=a[x+8>>2];a[H+12>>2]=a[x+12>>2];a[p>>2]=a[T>>2];a[p+4>>2]=a[T+4>>2];a[p+8>>2]=a[T+8>>2];a[p+12>>2]=a[T+12>>2];a[U>>2]=a[S>>2];a[U+4>>2]=a[S+4>>2];c=jJ(H,p,U,P,w)|0;A=a[P>>2]|0;if(!A)break A;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17296);s=s+1|0;o=v}L2(j)}}while(0);k=K;return}function cW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;n=k;k=k+16|0;f=n;t=(Ih(A)|0)==0;t=t?18592:18584;r[f>>0]=r[t>>0]|0;r[f+1>>0]=r[t+1>>0]|0;r[f+2>>0]=r[t+2>>0]|0;r[f+3>>0]=r[t+3>>0]|0;f=kh(85493,f,0)|0;Td(f,137483,280,1)|0;Yo(f,0,87171,195059)|0;t=qF(96)|0;i=a[f+16>>2]|0;a[i+8>>2]=t;l=a[A+16>>2]|0;c=a[l+8>>2]|0;b[t>>3]=+b[c>>3];b[t+24>>3]=+b[c+24>>3];r[i+115>>0]=r[l+115>>0]|0;a[i+116>>2]=a[l+116>>2]&1^1;a[i+248>>2]=a[l+248>>2];a[i+252>>2]=a[l+252>>2];i=Jo(Zd(A)|0,1,0)|0;while(1){if(!i)break;Yo(f,1,a[i+8>>2]|0,a[i+12>>2]|0)|0;i=Jo(Zd(A)|0,1,i)|0}i=Jo(Zd(A)|0,2,0)|0;while(1){if(!i)break;Yo(f,2,a[i+8>>2]|0,a[i+12>>2]|0)|0;i=Jo(Zd(A)|0,2,i)|0}if(!(Yo(f,2,111464,0)|0))Yo(f,2,111464,195059)|0;if(!(Yo(f,2,111455,0)|0))Yo(f,2,111455,195059)|0;kW(f,e);k=n;return f|0}function bW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=k;k=k+16|0;i=r;A=vd(A,Vh(e)|0,1)|0;Td(A,137447,304,1)|0;jo(e,A)|0;if((sN(e)|0)==2){f=e+16|0;e=$F((S2(a[a[(a[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;a[i>>2]=a[a[(a[f>>2]|0)+104>>2]>>2];P4(e,85488,i)|0;xo(A,108224,e)|0}k=r;return A|0}function sW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=th(A,e,i,0,1)|0;Td(i,137460,176,1)|0;jo(r,i)|0;return i|0}function wW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0;l=k;k=k+32|0;n=l+16|0;f=l;if(r|0){t=+b[e>>3];r=e+8|0;b[e>>3]=+b[r>>3];b[r>>3]=-t}a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];$L(A,f,n);k=l;return}function uW(A,e){A=A|0;e=e|0;a[47189]=a[e>>2];a[47193]=a[e+4>>2];a[47194]=a[e+8>>2];a[47174]=a[e+12>>2];a[47175]=a[e+16>>2];a[47181]=a[e+20>>2];a[47180]=a[e+24>>2];a[47179]=a[e+28>>2];a[47205]=a[e+32>>2];a[47197]=a[e+36>>2];a[47182]=a[e+40>>2];a[47192]=a[e+44>>2];a[47201]=a[e+48>>2];a[47200]=a[e+52>>2];a[47199]=a[e+56>>2];a[47204]=a[e+60>>2];a[47198]=a[e+64>>2];a[47183]=a[e+68>>2];a[47145]=a[e+72>>2];a[47146]=a[e+76>>2];a[47147]=a[e+80>>2];a[47157]=a[e+84>>2];a[47150]=a[e+88>>2];a[47151]=a[e+92>>2];a[47152]=a[e+96>>2];a[47154]=a[e+100>>2];a[47155]=a[e+104>>2];a[47158]=a[e+108>>2];a[47161]=a[e+112>>2];a[47159]=a[e+116>>2];a[47160]=a[e+120>>2];a[47163]=a[e+124>>2];a[47162]=a[e+128>>2];a[47164]=a[e+132>>2];a[47165]=a[e+136>>2];a[47156]=a[e+140>>2];a[47168]=a[e+144>>2];a[47140]=a[e+148>>2];a[47138]=a[e+152>>2];L2(e);rL(A);Bh(A)|0;return}function kW(A,e){A=A|0;e=e|0;a[e>>2]=a[47189];a[e+4>>2]=a[47193];a[e+8>>2]=a[47194];a[e+12>>2]=a[47174];a[e+16>>2]=a[47175];a[e+20>>2]=a[47181];a[e+24>>2]=a[47180];a[e+28>>2]=a[47179];a[e+32>>2]=a[47205];a[e+36>>2]=a[47197];a[e+40>>2]=a[47182];a[e+44>>2]=a[47192];a[e+48>>2]=a[47201];a[e+52>>2]=a[47200];a[e+56>>2]=a[47199];a[e+60>>2]=a[47204];a[e+64>>2]=a[47198];a[e+68>>2]=a[47183];a[e+72>>2]=a[47145];a[e+76>>2]=a[47146];a[e+80>>2]=a[47147];a[e+84>>2]=a[47157];a[e+88>>2]=a[47150];a[e+92>>2]=a[47151];a[e+96>>2]=a[47152];a[e+100>>2]=a[47154];a[e+104>>2]=a[47155];a[e+108>>2]=a[47158];a[e+112>>2]=a[47161];a[e+116>>2]=a[47159];a[e+120>>2]=a[47160];a[e+124>>2]=a[47163];a[e+128>>2]=a[47162];a[e+132>>2]=a[47164];a[e+136>>2]=a[47165];a[e+140>>2]=a[47156];a[e+144>>2]=a[47168];a[e+152>>2]=a[47138];a[e+148>>2]=a[47140];a[47189]=0;a[47193]=Yo(A,2,87412,0)|0;a[47194]=Yo(A,2,87421,0)|0;e=Yo(A,2,101541,0)|0;a[47174]=e;if(!e)a[47174]=Yo(A,2,101541,195059)|0;a[47175]=0;a[47181]=0;a[47180]=Yo(A,2,101437,0)|0;a[47179]=Yo(A,2,101428,0)|0;a[47205]=Yo(A,2,101717,0)|0;a[47197]=0;a[47182]=Yo(A,2,108224,0)|0;a[47192]=Yo(A,2,85498,0)|0;a[47201]=0;a[47200]=Yo(A,2,101617,0)|0;a[47199]=Yo(A,2,101603,0)|0;a[47204]=Yo(A,2,101708,0)|0;a[47198]=0;a[47183]=0;a[47145]=Yo(A,1,141048,0)|0;a[47146]=Yo(A,1,141116,0)|0;a[47147]=Yo(A,1,108230,0)|0;a[47157]=0;a[47150]=Yo(A,1,101428,0)|0;a[47151]=Yo(A,1,101437,0)|0;a[47152]=0;a[47154]=Yo(A,1,108224,0)|0;a[47155]=0;a[47158]=0;a[47161]=Yo(A,1,101409,0)|0;a[47159]=Yo(A,1,141076,0)|0;a[47160]=Yo(A,1,101472,0)|0;a[47163]=Yo(A,1,101484,0)|0;a[47162]=Yo(A,1,101348,0)|0;a[47164]=Yo(A,1,101489,0)|0;a[47165]=Yo(A,1,85510,0)|0;a[47156]=0;a[47168]=0;a[47140]=Yo(A,0,101409,0)|0;return}function oW(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0;i=a[(a[(a[A>>2]|0)+16>>2]|0)+96>>2]|0;A=a[(a[(a[e>>2]|0)+16>>2]|0)+96>>2]|0;e=(A|0)!=0;if(i)if(e?(f=+b[i+24>>3],l=+b[i+32>>3],r=+b[A+24>>3],n=+b[A+32>>3],!(f>r)):0)if(!(fn)A=-1;else A=l>2]|0)+116>>2]|0;if(!e)break;else A=e}e=a[A>>2]&3;i=a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;r=a[i+232>>2]|0;A=a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;e=a[A+232>>2]|0;if((r|0)<=(e|0))if((r|0)<(e|0))A=1;else A=(a[i+236>>2]|0)<(a[A+236>>2]|0)&1;else A=0;return A|0}function dW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=k;k=k+16|0;r=i+8|0;f=i;l=(a[A+16>>2]|0)+180|0;n=(a[e+16>>2]|0)+172|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];e=BW(A,f,e,r)|0;k=i;return e|0}function BW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=a[e+4>>2]|0;A:do{if((f|0)>0?(n=a[r+4>>2]|0,(n|0)>0):0)if((f|0)<(n|0)){f=a[e>>2]|0;r=0;while(1){e=a[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(i|0))break;else r=r+1|0}}else{f=a[r>>2]|0;r=0;while(1){e=a[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(A|0))break;else r=r+1|0}}else e=0}while(0);return e|0}function vW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=k;k=k+16|0;r=i+8|0;f=i;l=(a[A+16>>2]|0)+188|0;n=(a[e+16>>2]|0)+196|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];e=BW(A,f,e,r)|0;k=i;return e|0}function gW(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[i+180>>2]|0;if(!e)e=$F((a[i+184>>2]<<2)+8|0)|0;else e=eV(e,(a[i+184>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;i=a[f+180>>2]|0;f=f+184|0;e=a[f>>2]|0;a[f>>2]=e+1;a[i+(e<<2)>>2]=A;r=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=A+-48|0;e=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;e=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;e=e+176|0;f=a[e>>2]|0;a[e>>2]=f+1;a[i+(f<<2)>>2]=A;f=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;a[(a[f+172>>2]|0)+(a[f+176>>2]<<2)>>2]=0;return A|0}function EW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;r=A+4|0;f=a[r>>2]|0;i=0;while(1){if((i|0)>=(f|0))break;n=a[A>>2]|0;l=n+(i<<2)|0;if((a[l>>2]|0)==(e|0)){t=4;break}else i=i+1|0}if((t|0)==4){t=f+-1|0;a[r>>2]=t;a[l>>2]=a[n+(t<<2)>>2];a[(a[A>>2]|0)+(t<<2)>>2]=0}return}function CW(A){A=A|0;if(!A)vA(85551,85561,117,85570);else{EW((a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180|0,A);EW((a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172|0,A);return}}function IW(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[i+204>>2]|0;if(!e)e=$F((a[i+208>>2]<<2)+8|0)|0;else e=eV(e,(a[i+208>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+204>>2]=e;f=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[f+204>>2]|0;f=f+208|0;i=a[f>>2]|0;a[f>>2]=i+1;a[e+(i<<2)>>2]=A;r=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;a[(a[r+204>>2]|0)+(a[r+208>>2]<<2)>>2]=0;return}function ZW(A){A=A|0;GW(A,(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function GW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=e+4|0;r=a[l>>2]|0;f=a[e>>2]|0;i=0;while(1){if((i|0)>=(r|0)){n=4;break}if((a[f+(i<<2)>>2]|0)==(A|0))break;else i=i+1|0}if((n|0)==4){if(!f)i=$F((r<<2)+8|0)|0;else i=eV(f,(r<<2)+8|0)|0;a[e>>2]=i;f=a[l>>2]|0;n=f+1|0;a[l>>2]=n;a[i+(f<<2)>>2]=A;a[(a[e>>2]|0)+(n<<2)>>2]=0}return}function QW(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=qF(96)|0;n=u+48|0;a[n>>2]=a[n>>2]|3;a[u>>2]=a[u>>2]&-4|2;l=qF(176)|0;w=u+16|0;a[w>>2]=l;a[((a[u>>2]&3|0)==3?u:n)+40>>2]=A;c=u+-48|0;a[((a[u>>2]&3|0)==2?u:c)+40>>2]=e;r[l+112>>0]=1;if(!i){a[l+156>>2]=1;f[l+154>>1]=1;f[l+168>>1]=1;f[l+170>>1]=1}else{a[u>>2]=a[u>>2]&15|a[i>>2]&-16;a[n>>2]=a[n>>2]&15|a[i>>2]&-16;s=i+16|0;t=a[s>>2]|0;f[l+168>>1]=f[t+168>>1]|0;f[l+154>>1]=f[t+154>>1]|0;a[l+156>>2]=a[t+156>>2];f[l+170>>1]=f[t+170>>1]|0;A=a[((a[u>>2]&3|0)==3?u:n)+40>>2]|0;e=a[i>>2]&3;b=i+48|0;if((A|0)!=(a[((e|0)==3?i:b)+40>>2]|0)){n=i+-48|0;if((A|0)==(a[((e|0)==2?i:n)+40>>2]|0)){l=l+16|0;A=t+56|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=l+16|0;A=t+16|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0));n=i+-48|0}A=a[((a[u>>2]&3|0)==2?u:c)+40>>2]|0;e=a[i>>2]&3;if((A|0)!=(a[((e|0)==2?i:n)+40>>2]|0)){if((A|0)==(a[((e|0)==3?i:b)+40>>2]|0)){l=(a[w>>2]|0)+56|0;A=(a[s>>2]|0)+16|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=(a[w>>2]|0)+56|0;A=(a[s>>2]|0)+56|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}A=(a[s>>2]|0)+172|0;if(!(a[A>>2]|0))a[A>>2]=u;a[(a[w>>2]|0)+116>>2]=i}return u|0}function mW(A,e,i){A=A|0;e=e|0;i=i|0;return gW(QW(A,e,i)|0)|0}function LW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A=(a[A+16>>2]|0)+192|0;f=a[A>>2]|0;i=a[e+16>>2]|0;a[i+164>>2]=f;r=f;if(f|0)a[(a[r+16>>2]|0)+168>>2]=e;a[A>>2]=e;a[i+168>>2]=0;if((r|0)==(e|0))vA(85587,85561,215,85603);else return}function WW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((A|0)==(e|0))vA(85613,85561,220,85620);f=a[e+16>>2]|0;i=f+164|0;if(a[i>>2]|0)vA(85633,85561,221,85620);r=(a[A+16>>2]|0)+164|0;a[i>>2]=a[r>>2];i=a[r>>2]|0;if(i|0)a[(a[i+16>>2]|0)+168>>2]=e;a[f+168>>2]=A;a[r>>2]=e;return}function yW(A,e){A=A|0;e=e|0;var i=0,r=0;if(!(zW(A,e)|0))vA(85652,85561,231,85673);e=a[e+16>>2]|0;i=a[e+164>>2]|0;r=i;e=e+168|0;if(i|0)a[(a[i+16>>2]|0)+168>>2]=a[e>>2];e=a[e>>2]|0;if(!e)a[(a[A+16>>2]|0)+192>>2]=r;else a[(a[e+16>>2]|0)+164>>2]=r;return}function zW(A,e){A=A|0;e=e|0;A=(a[A+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if((A|0)==0|(A|0)==(e|0))break;A=(a[A+16>>2]|0)+164|0}return A|0}function YW(A){A=A|0;var e=0,i=0,f=0,n=0;e=qF(64)|0;a[e>>2]=a[e>>2]&-4|1;i=e+16|0;a[i>>2]=qF(304)|0;a[e+24>>2]=Zd(A)|0;n=a[i>>2]|0;r[n+156>>0]=1;b[n+96>>3]=1.0;b[n+88>>3]=1.0;b[n+80>>3]=1.0;a[n+216>>2]=1;a[n+176>>2]=0;n=qF(20)|0;f=a[i>>2]|0;a[f+172>>2]=n;a[f+184>>2]=0;f=qF(20)|0;a[(a[i>>2]|0)+180>>2]=f;LW(A,e);A=(a[A+16>>2]|0)+232|0;a[A>>2]=(a[A>>2]|0)+1;return e|0}function DW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=e+48|0;i=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;f=a[i+188>>2]|0;if(!f)i=$F((a[i+192>>2]<<2)+8|0)|0;else i=eV(f,(a[i+192>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0)+188>>2]=i;l=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;f=a[l+188>>2]|0;l=l+192|0;i=a[l>>2]|0;a[l>>2]=i+1;a[f+(i<<2)>>2]=e;n=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;a[(a[n+188>>2]|0)+(a[n+192>>2]<<2)>>2]=0;n=e+-48|0;i=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;f=a[i+196>>2]|0;if(!f)i=$F((a[i+200>>2]<<2)+8|0)|0;else i=eV(f,(a[i+200>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+196>>2]=i;i=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;f=a[i+196>>2]|0;i=i+200|0;l=a[i>>2]|0;a[i>>2]=l+1;a[f+(l<<2)>>2]=e;l=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;a[(a[l+196>>2]|0)+(a[l+200>>2]<<2)>>2]=0;r[(a[A+16>>2]|0)+240>>0]=1;r[(a[(gL(A)|0)+16>>2]|0)+240>>0]=1;return}function MW(A){A=A|0;var e=0,i=0;if(!A)vA(85551,85561,269,85690);e=a[(a[A+16>>2]|0)+116>>2]|0;if(e|0?(i=(a[e+16>>2]|0)+172|0,(a[i>>2]|0)==(A|0)):0)a[i>>2]=0;EW((a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+188|0,A);EW((a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+196|0,A);return}function FW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;i=(a[A+16>>2]|0)+172|0;r=a[i>>2]|0;do{if((r|0)!=(e|0))if(!r){a[i>>2]=e;VW(A,e);break}else vA(87593,85561,340,85728);else ao(0,85707,f)|0}while(0);k=f;return}function VW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,t=0;i=(a[e+16>>2]|0)+170|0;t=a[A+16>>2]|0;A=f[t+170>>1]|0;if((l[i>>1]|0)<(A&65535))f[i>>1]=A;r=t+168|0;n=t+154|0;i=t+156|0;A=e;while(1){if(!A)break;e=a[A+16>>2]|0;t=e+168|0;f[t>>1]=(l[t>>1]|0)+(l[r>>1]|0);t=e+154|0;f[t>>1]=(l[t>>1]|0)+(l[n>>1]|0);t=e+156|0;a[t>>2]=(a[t>>2]|0)+(a[i>>2]|0);A=a[e+172>>2]|0}return}function JW(A){A=A|0;var e=0,i=0,n=0,l=0;i=A+16|0;e=a[(a[i>>2]|0)+172>>2]|0;A:while(1){if(!e)break;NW(e,A);l=a[e+16>>2]|0;n=a[l+172>>2]|0;if(!(f[l+168>>1]|0))XW(e);while(1){if((r[(a[e+16>>2]|0)+112>>0]|0)!=1){e=n;continue A}e=a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((r[e+156>>0]|0)!=1){e=n;continue A}if((a[e+184>>2]|0)!=1){e=n;continue A}e=a[a[e+180>>2]>>2]|0;NW(e,A)}}a[(a[i>>2]|0)+172>>2]=0;return}function NW(A,e){A=A|0;e=e|0;var i=0;i=a[e+16>>2]|0;e=a[A+16>>2]|0;A=e+168|0;f[A>>1]=(l[A>>1]|0)-(l[i+168>>1]|0);A=e+154|0;f[A>>1]=(l[A>>1]|0)-(l[i+154>>1]|0);e=e+156|0;a[e>>2]=(a[e>>2]|0)-(a[i+156>>2]|0);return}function XW(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(!A)vA(85551,85561,128,85741);n=A+48|0;i=0;while(1){e=a[A>>2]|0;r=(a[(a[((e&3|0)==3?A:n)+40>>2]|0)+16>>2]|0)+180|0;f=a[(a[r>>2]|0)+(i<<2)>>2]|0;if(!f)break;if((f|0)==(A|0))EW(r,A);i=i+1|0}n=A+-48|0;f=0;while(1){i=(a[(a[((e&3|0)==2?A:n)+40>>2]|0)+16>>2]|0)+172|0;r=a[(a[i>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)==(A|0)){EW(i,A);e=a[A>>2]|0}f=f+1|0}return}function RW(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;o=k;k=k+1040|0;w=o+1032|0;u=o;s=o+8|0;b=A+16|0;A=a[b>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;t=a[A+196>>2]|0;l=t+(c<<6)|0;t=t+(c<<6)+4|0;n=0;A=0;while(1){if((n|0)>=(a[l>>2]|0))break;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;i=e+16|0;if(a[(a[i>>2]|0)+112>>2]|0){if(!A){r[w>>0]=r[18588]|0;r[w+1>>0]=r[18589]|0;r[w+2>>0]=r[18590]|0;r[w+3>>0]=r[18591]|0;A=kh(85763,w,0)|0}a[u>>2]=n;P4(s,137395,u)|0;v=vd(A,s,1)|0;Td(v,91164,24,1)|0;h=a[(a[i>>2]|0)+180>>2]|0;d=a[h>>2]|0;d=a[(a[(a[((a[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=a[h+4>>2]|0;h=a[(a[(a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;B=(d|0)>(h|0);i=a[v+16>>2]|0;a[i+12>>2]=B?h:d;a[i+16>>2]=B?d:h;a[i+20>>2]=e}n=n+1|0}if(A|0){if((vh(A)|0)>1)HW(A,l);Bh(A)|0}c=c+1|0;A=a[b>>2]|0}k=o;return}function HW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;i=0;l=cd(A)|0;A:while(1){if(!l)break;t=bd(A,l)|0;c=l+16|0;n=t;while(1){if(!n){l=t;continue A}f=a[n+16>>2]|0;r=a[c>>2]|0;if((a[f+16>>2]|0)>(a[r+12>>2]|0)){if((a[r+16>>2]|0)<=(a[f+12>>2]|0))th(A,l,n,0,1)|0}else{th(A,n,l,0,1)|0;i=1}n=bd(A,n)|0}}do{if(i|0){l=XB(A,85766,1)|0;c=qF((vh(A)|0)<<2)|0;t=qF((vh(A)|0)<<2)|0;f=e+4|0;r=cd(A)|0;A:while(1){if(!r){i=23;break}if((a[(a[r+16>>2]|0)+8>>2]|0)==0?Eh(A,r,1,1)|0:0){e:do{if(pW(A,r,l,t)|0){n=vh(l)|0;if((UW(A,l,c)|0)!=(n|0)){i=17;break A}K4(t,n,4,60);i=0;while(1){if((i|0)>=(n|0))break e;e=t+(i<<2)|0;b=a[c+(i<<2)>>2]|0;a[(a[b+16>>2]|0)+236>>2]=a[e>>2];a[(a[f>>2]|0)+(a[e>>2]<<2)>>2]=b;i=i+1|0}}}while(0);TW(l)}r=bd(A,r)|0}if((i|0)==17)vA(85771,85781,265,85792);else if((i|0)==23){L2(c);break}}}while(0);return}function pW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=a[e+16>>2]|0;a[l+8>>2]=1;l=a[(a[(a[l+20>>2]|0)+16>>2]|0)+236>>2]|0;a[r+((vh(i)|0)<<2)>>2]=l;kd(i,e,1)|0;l=Oo(A,e)|0;f=0;while(1){if(!l)break;c=a[l>>2]&3;n=a[((c|0)==2?l:l+-48|0)+40>>2]|0;t=a[n+16>>2]|0;f=f+((a[(a[(a[t+20>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[(a[(a[((c|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(a[t+8>>2]|0))f=(pW(A,n,i,r)|0)+f|0;l=_o(A,l)|0}l=qo(A,e)|0;while(1){if(!l)break;t=a[l>>2]&3;n=a[((t|0)==3?l:l+48|0)+40>>2]|0;c=a[n+16>>2]|0;f=f+((a[(a[(a[(a[(a[((t|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[c+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(a[c+8>>2]|0))f=(pW(A,n,i,r)|0)+f|0;l=$o(A,l)|0}return f|0}function UW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=0;while(1){r=jW(A,e)|0;if(!r)break;a[i+(f<<2)>>2]=a[(a[r+16>>2]|0)+20>>2];Ed(e,r)|0;r=Oo(A,r)|0;while(1){if(!r)break;n=_o(A,r)|0;sh(A,r)|0;r=n}f=f+1|0}return f|0}function xW(A,e){A=A|0;e=e|0;return(a[A>>2]|0)-(a[e>>2]|0)|0}function TW(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;i=bd(A,e)|0;Ed(A,e)|0;e=i}return}function jW(A,e){A=A|0;e=e|0;var i=0;i=cd(e)|0;while(1){if(!i){i=0;break}if(!(Eh(A,i,1,0)|0))break;i=bd(e,i)|0}return i|0}function SW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;PW(A);t=A+16|0;f=0;i=0;while(1){if((f|0)>=(a[(a[t>>2]|0)+220>>2]|0))break;OW(A,f);f=f+1|0;i=(KW(A,0,e)|0)+i|0}_W(A);l=1;while(1){f=a[t>>2]|0;n=a[f+180>>2]|0;if((l|0)>(n|0))break;n=(qW(a[(a[f+184>>2]|0)+(l<<2)>>2]|0,e)|0)+i|0;l=l+1|0;i=n}do{if((n|0)>0){f=po(A,85806)|0;if(f|0?(gR(f)|0)<<24>>24==0:0)break;ID(A);r[193769]=1;i=KW(A,2,e)|0}}while(0);$W(A,i);return}function PW(A){A=A|0;var e=0;if(0)tR();r[193769]=0;a[46741]=A;e=((gh(gL(A)|0)|0)<<2)+4|0;a[46740]=qF(e)|0;a[46739]=qF(e)|0;Uy(A);e=A+16|0;if(f[(a[e>>2]|0)+136>>1]&16)xy(A);fD(A);jD(A,1);Ty(A);ny(A);e=a[e>>2]|0;a[46742]=f[e+236>>1];a[46743]=f[e+238>>1];return}function OW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;A=a[A+16>>2]|0;a[A+192>>2]=a[(a[A+216>>2]|0)+(e<<2)>>2];A:do{if((e|0)>0){e=f[A+238>>1]|0;i=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(e|0))break A;r=a[i>>2]|0;n=r+(A<<6)+4|0;r=r+(A<<6)|0;a[n>>2]=(a[n>>2]|0)+(a[r>>2]<<2);a[r>>2]=0;A=A+1|0}}}while(0);return}function KW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+32|0;w=u;if((e|0)>1){r=Cy(0)|0;Iy(A)}else r=2147483647;s=a[15712]|0;c=e;f=0;e=r;while(1){if((c|0)>=3)break;f=a[47136]|0;if((c|0)==2)if((r|0)>(e|0)){Gy(A);r=e}else r=e;else{r=(f|0)<4?f:4;if((gL(A)|0)==(A|0))Zy(A,c);if(!c)ly(A);ty(A);n=Cy(0)|0;if((n|0)>(e|0)){f=r;r=n}else{Iy(A);f=r;r=n;e=n}}n=0;t=0;while(1){if((t|0)>=(f|0))break;if(0){a[w>>2]=c;a[w+4>>2]=t;a[w+8>>2]=n;a[w+12>>2]=r;a[w+16>>2]=e;f3(s,86199,w)|0}l=n+1|0;if((r|0)==0|(n|0)>=(a[46744]|0))break;Qy(A,t);r=Cy(0)|0;if((r|0)>(e|0))n=l;else{Iy(A);n=+b[23215]*+(e|0)>+(r|0)?0:l;e=r}t=t+1|0}if(!r){r=0;break}else c=c+1|0}if((r|0)>(e|0))Gy(A);if((e|0)>0){my(A,0);r=Cy(0)|0}else r=e;A:do{if(i|0){e=0;while(1){if((e|0)>=(f|0))break A;Ly(A);e=e+1|0}}}while(0);k=u;return r|0}function _W(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;Ey(A);b=A+16|0;e=a[b>>2]|0;s=a[15712]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;i=a[e+196>>2]|0;r=a[i+(c<<6)+8>>2]|0;a[i+(c<<6)>>2]=r;n=a[i+(c<<6)+12>>2]|0;a[i+(c<<6)+4>>2]=n;t=0;while(1){if((t|0)>=(r|0))break;l=a[n+(t<<2)>>2]|0;if(!l){u=6;break}a[(a[l+16>>2]|0)+236>>2]=t;t=t+1|0}if((u|0)==6){u=0;if(0){i=Vh(A)|0;e=a[(a[(a[b>>2]|0)+196>>2]|0)+(c<<6)>>2]|0;a[w>>2]=i;a[w+4>>2]=c;a[w+8>>2]=t;a[w+12>>2]=e;f3(s,86149,w)|0;e=a[b>>2]|0;i=a[e+196>>2]|0}a[i+(c<<6)>>2]=t}c=c+1|0}k=o;return}function qW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;dD(A);ny(A);ly(A);ty(A);f=A+16|0;i=KW(A,2,e)|0;r=1;while(1){n=a[f>>2]|0;if((r|0)>(a[n+180>>2]|0))break;i=(qW(a[(a[n+184>>2]|0)+(r<<2)>>2]|0,e)|0)+i|0;r=r+1|0}cy(A);return i|0}function $W(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+16|0;o=h;i=a[46739]|0;if(i|0){L2(i);a[46739]=0}i=a[46740]|0;if(i|0){L2(i);a[46740]=0}u=A+16|0;i=1;while(1){n=a[u>>2]|0;if((i|0)>(a[n+180>>2]|0))break;Ay(a[(a[n+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0}w=f[n+236>>1]|0;i=n;while(1){if((w|0)>(f[i+238>>1]|0))break;else s=0;while(1){i=a[i+196>>2]|0;if((s|0)>=(a[i+(w<<6)>>2]|0))break;c=(a[(a[i+(w<<6)+4>>2]|0)+(s<<2)>>2]|0)+16|0;i=a[c>>2]|0;a[i+236>>2]=s;i=a[i+188>>2]|0;A:do{if(i|0){n=0;while(1){l=a[i+(n<<2)>>2]|0;if(!l)break A;t=l+16|0;if((r[(a[t>>2]|0)+112>>0]|0)==4){MW(l);L2(a[t>>2]|0);L2(l);n=n+-1|0;i=a[(a[c>>2]|0)+188>>2]|0}n=n+1|0}}}while(0);s=s+1|0;i=a[u>>2]|0}ey(a[i+(w<<6)+56>>2]|0);w=w+1|0;i=a[u>>2]|0}if(0){u=a[15712]|0;A=Vh(A)|0;d=+cR();a[o>>2]=A;a[o+4>>2]=e;b[o+8>>3]=d;f3(u,85817,o)|0}k=h;return}function Ay(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;n=A+16|0;e=1;while(1){r=a[n>>2]|0;if((e|0)>(a[r+180>>2]|0))break;Ay(a[(a[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}A:do{if(a[r+268>>2]|0){i=f[r+236>>1]|0;e=r;while(1){if((i|0)>(f[e+238>>1]|0))break A;c=a[(a[e+268>>2]|0)+(i<<2)>>2]|0;t=iy(A,c,-1)|0;c=iy(A,c,1)|0;a[(a[(a[n>>2]|0)+268>>2]|0)+(i<<2)>>2]=t;b=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;t=a[(a[t+16>>2]|0)+236>>2]|0;r=a[n>>2]|0;l=a[r+196>>2]|0;a[l+(i<<6)+4>>2]=b+(t<<2);a[l+(i<<6)>>2]=(a[(a[c+16>>2]|0)+236>>2]|0)+1-t;i=i+1|0;e=r}}}while(0);return}function ey(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function iy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e;while(1){e=ry(e,i)|0;if(!e)break;if(fy(A,e)|0){r=e;continue}f=(ay(A,e)|0)==0;r=f?r:e}return r|0}function ry(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(!A)vA(85856,85781,1023,85858);if((e|0)<0){A=a[A+16>>2]|0;r=a[A+236>>2]|0;if((r|0)>0){A=(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(a[A+232>>2]<<6)+4|0;i=r+-1|0;f=7}else n=0}else{A=a[A+16>>2]|0;r=a[A+236>>2]|0;A=(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(a[A+232>>2]<<6)+4|0;i=r+1|0;f=7}if((f|0)==7){A=a[(a[A>>2]|0)+(i<<2)>>2]|0;if(A)if((U((a[(a[A+16>>2]|0)+236>>2]|0)-r|0,e)|0)>0)n=A;else vA(85867,85781,1029,85858);else n=0}return n|0}function fy(A,e){A=A|0;e=e|0;if(!(r[(a[e+16>>2]|0)+156>>0]|0))A=(Dd(A,e)|0)!=0&1;else A=0;return A|0}function ay(A,e){A=A|0;e=e|0;var i=0,f=0;e=a[e+16>>2]|0;if(((r[e+156>>0]|0)==1?(a[e+176>>2]|0)==1:0)?(a[e+184>>2]|0)==1:0){e=a[e+180>>2]|0;while(1){e=a[e>>2]|0;i=a[e+16>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}if(Dd(A,e)|0)e=1;else f=7}else f=7;if((f|0)==7)e=0;return e|0}function ny(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=a[47140]|0;A:do{if((e|0)!=0|(a[47161]|0)!=0){e=dR(A,e,0)|0;if(e|0){switch(r[e>>0]|0){case 0:break A;case 111:{if(!(A1(e,86069)|0)){hy(A,1);break A}break}case 105:{if(!(A1(e,98735)|0)){hy(A,0);break A}break}default:{}}a[i>>2]=e;ao(1,86073,i)|0;break}e=RB(A)|0;while(1){if(!e)break;if(!(eY(e)|0))ny(e);e=HB(e)|0}if(a[47161]|0)dy(A)}}while(0);k=f;return}function ly(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;e=a[b>>2]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;else{i=0;t=0}while(1){n=a[e+196>>2]|0;l=a[n+(c<<6)>>2]|0;if((t|0)>=(l|0))break;n=a[(a[(a[n+(c<<6)+4>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;r[n+158>>0]=0;r[n+157>>0]=0;a[n+284>>2]=t;if((i|0)==0&(a[n+192>>2]|0)>0){i=ky(l,l)|0;e=a[b>>2]|0;a[(a[e+196>>2]|0)+(c<<6)+56>>2]=i;i=1}t=t+1|0}A:do{if(i){t=0;i=l;while(1){if((t|0)>=(i|0))break A;l=a[(a[n+(c<<6)+4>>2]|0)+(t<<2)>>2]|0;if(!(r[(a[l+16>>2]|0)+157>>0]|0)){oy(A,l);e=a[b>>2]|0;i=a[e+196>>2]|0;n=i;i=a[i+(c<<6)>>2]|0}t=t+1|0}}}while(0);c=c+1|0}return}function ty(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;B=A+16|0;e=a[B>>2]|0;if(r[e+240>>0]|0){l=0;d=f[e+236>>1]|0;h=0;t=0;A:while(1){if((d|0)>(f[e+238>>1]|0))break;i=a[e+196>>2]|0;n=a[i+(d<<6)>>2]|0;if(!n){n=h;i=t}else{i=a[i+(d<<6)+4>>2]|0;k=a[(a[(a[i>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;r[(a[(a[i+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!l)o=$F(e)|0;else o=eV(t,e)|0;w=0;u=0;while(1){e=a[B>>2]|0;i=a[e+196>>2]|0;n=a[i+(d<<6)>>2]|0;if((n|0)<=(u|0))break;c=a[(a[i+(d<<6)+4>>2]|0)+(((a[e+116>>2]&1|0)==0?n+~u|0:u)<<2)>>2]|0;s=c+16|0;e=0;b=0;while(1){t=a[s>>2]|0;if((e|0)>=(a[t+200>>2]|0)){i=0;n=0;e=t;break}t=b+((by(A,a[(a[t+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;b=t}while(1){if((n|0)>=(a[e+192>>2]|0))break;t=i+((by(A,a[(a[e+188>>2]|0)+(n<<2)>>2]|0)|0)!=0&1)|0;i=t;n=n+1|0;e=a[s>>2]|0}if(i|b)if((b|0)==0&(r[e+157>>0]|0)==0)e=(sy(A,c,o+(w<<2)|0,d)|0)+w|0;else e=w;else{a[o+(w<<2)>>2]=c;e=w+1|0}w=e;u=u+1|0}e:do{if(w){i:do{if(!(a[e+116>>2]&1)){i=o;e=o+(w<<2)|0;while(1){e=e+-4|0;if(i>>>0>=e>>>0){n=0;break i}u=a[i>>2]|0;a[i>>2]=a[e>>2];a[e>>2]=u;i=i+4|0}}else n=0}while(0);while(1){e=a[B>>2]|0;t=a[e+196>>2]|0;i=a[t+(d<<6)>>2]|0;if((n|0)>=(i|0)){w=0;n=t;break}u=a[o+(n<<2)>>2]|0;a[(a[t+(d<<6)+4>>2]|0)+(n<<2)>>2]=u;a[(a[u+16>>2]|0)+236>>2]=n+k;n=n+1|0}while(1){if((w|0)>=(i|0))break e;s=(a[(a[n+(d<<6)+4>>2]|0)+(w<<2)>>2]|0)+16|0;t=a[(a[s>>2]|0)+188>>2]|0;if(t){b=0;i=t;while(1){n=a[i+(b<<2)>>2]|0;e=a[B>>2]|0;if(!n)break;c=a[n>>2]&3;t=a[(a[(a[((c|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=a[(a[(a[((c|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(a[e+116>>2]&1))if((t|0)<(c|0))v=36;else e=b;else if((t|0)>(c|0))v=36;else e=b;if((v|0)==36){v=0;if(by(A,n)|0){v=37;break A}MW(n);wy(A,n);e=b+-1|0;i=a[(a[s>>2]|0)+188>>2]|0}b=e+1|0}i=a[e+196>>2]|0;n=i;i=a[i+(d<<6)>>2]|0}w=w+1|0}}}while(0);r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(d<<6)+49>>0]=0;l=o;n=o;i=o}d=d+1|0;h=n;t=i}if((v|0)==37)vA(85915,85781,1561,85954);if(l|0)L2(h)}return}function cy(A){A=A|0;var e=0,i=0;i=A+16|0;A=a[i>>2]|0;A:do{if(a[A+268>>2]|0){e=f[A+236>>1]|0;while(1){if((e|0)>(f[A+238>>1]|0))break A;a[(a[A+268>>2]|0)+(e<<2)>>2]=a[a[(a[A+196>>2]|0)+(e<<6)+4>>2]>>2];e=e+1|0;A=a[i>>2]|0}}}while(0);return}function by(A,e){A=A|0;e=e|0;if((a[(a[e+16>>2]|0)+156>>2]|0)!=0?(uy(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)!=0:0)A=(uy(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)!=0&1;else A=0;return A|0}function sy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=e+16|0;n=a[s>>2]|0;r[n+157>>0]=1;A:do{if((a[n+192>>2]|0)>0){l=0;c=0;while(1){t=a[(a[n+188>>2]|0)+(c<<2)>>2]|0;if(!t)break A;if((by(A,t)|0)!=0?(b=a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,(r[(a[b+16>>2]|0)+157>>0]|0)==0):0)l=(sy(A,b,i+(l<<2)|0,f)|0)+l|0;c=c+1|0;n=a[s>>2]|0}}else l=0}while(0);if((a[n+232>>2]|0)==(f|0)){a[i+(l<<2)>>2]=e;return l+1|0}else vA(85967,85781,1490,85983);return 0}function wy(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;t=a[e>>2]&3;c=a[((t|0)==2?e:e+-48|0)+40>>2]|0;f=a[(a[c+16>>2]|0)+188>>2]|0;A:do{if(!f){i=e+48|0;w=15}else{s=e+48|0;n=((t|0)==3?e:s)+40|0;i=0;while(1){l=a[f+(i<<2)>>2]|0;if(!l){i=s;w=15;break A}if((a[((a[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)==(a[n>>2]|0))break;else i=i+1|0}FW(e,l);i=(a[e+16>>2]|0)+172|0;if(!(a[i>>2]|0))a[i>>2]=l;i=a[l+16>>2]|0;if((r[i+112>>0]|0)==4?(b=i+116|0,(a[b>>2]|0)==0):0)a[b>>2]=e;i=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;f=a[i+204>>2]|0;if(!f)i=$F((a[i+208>>2]<<2)+8|0)|0;else i=eV(f,(a[i+208>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0)+204>>2]=i;t=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;c=a[t+204>>2]|0;t=t+208|0;b=a[t>>2]|0;a[t>>2]=b+1;a[c+(b<<2)>>2]=e;e=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;a[(a[e+204>>2]|0)+(a[e+208>>2]<<2)>>2]=0}}while(0);if((w|0)==15){w=QW(c,a[((t|0)==3?e:i)+40>>2]|0,e)|0;s=a[e+16>>2]|0;e=a[w+16>>2]|0;r[e+112>>0]=(r[s+112>>0]|0)==4?4:3;a[e+96>>2]=a[s+96>>2];DW(A,w)}return}function uy(A,e){A=A|0;e=e|0;var i=0;i=fy(A,e)|0;return ay(A,e)|0|i|0}function ky(A,e){A=A|0;e=e|0;var i=0;i=qF(12)|0;a[i>>2]=A;a[i+4>>2]=e;a[i+8>>2]=qF(U(e,A)|0)|0;return i|0}function oy(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;k=e+16|0;s=a[k>>2]|0;b=a[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[s+232>>2]<<6)+56>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=(a[(a[(gL(A)|0)+16>>2]|0)+180>>2]|0)>0;i=a[k>>2]|0;f=a[i+188>>2]|0;A:do{if(f){w=b+4|0;u=b+8|0;e=0;e:while(1){c=a[f+(e<<2)>>2]|0;if(!c){o=i;break A}if(s){if((Dd(A,a[((a[c>>2]&3|0)==3?c:c+48|0)+40>>2]|0)|0)!=0?(Dd(A,a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)|0)!=0:0)h=7}else h=7;do{if((h|0)==7){h=0;l=c+16|0;if(a[(a[l>>2]|0)+156>>2]|0){i=a[c>>2]&3;n=c+-48|0;d=a[(a[((i|0)==2?c:n)+40>>2]|0)+16>>2]|0;t=a[d+284>>2]|0;f=(t|0)<(a[b>>2]|0);if((r[d+158>>0]|0)==1){if(!f){h=10;break e}i=a[(a[(a[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=a[w>>2]|0;if((i|0)>=(f|0)){h=12;break e}r[(a[u>>2]|0)+((U(f,t)|0)+i)>>0]=1;MW(c);e=e+-1|0;if((r[(a[l>>2]|0)+112>>0]|0)==4)break;wy(A,c);break}else{if(!f){h=16;break e}i=a[(a[(a[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=a[w>>2]|0;if((i|0)>=(f|0)){h=18;break e}r[(a[u>>2]|0)+((U(f,i)|0)+t)>>0]=1;i=a[((a[c>>2]&3|0)==2?c:n)+40>>2]|0;if(r[(a[i+16>>2]|0)+157>>0]|0)break;oy(A,i);break}}}}while(0);f=a[k>>2]|0;e=e+1|0;i=f;f=a[f+188>>2]|0}if((h|0)==10)vA(85993,85781,1251,86025);else if((h|0)==12)vA(86037,85781,1252,86025);else if((h|0)==16)vA(85993,85781,1260,86025);else if((h|0)==18)vA(86037,85781,1261,86025)}else o=i}while(0);r[o+158>>0]=0;return}function hy(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i)break;By(A,i,e);i=bd(A,i)|0}return}function dy(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;e=cd(A)|0;while(1){if(!e)break;i=dR(e,a[47161]|0,0)|0;A:do{if(i|0){switch(r[i>>0]|0){case 0:break A;case 111:{if(!(A1(i,86069)|0)){By(A,e,1);break A}break}case 105:{if(!(A1(i,98735)|0)){By(A,e,0);break A}break}default:{}}l=Vh(e)|0;a[f>>2]=i;a[f+4>>2]=l;ao(1,86104,f)|0}}while(0);e=bd(A,e)|0}k=n;return}function By(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=a[46740]|0;l=e+16|0;f=a[l>>2]|0;A:do{if(!(a[f+212>>2]|0)){t=(i|0)!=0;e:do{if(t){n=0;e=0;i=f;while(1){f=a[(a[i+180>>2]|0)+(n<<2)>>2]|0;if(!f)break e;if(!(vy(f)|0)){a[c+(e<<2)>>2]=f;e=e+1|0;i=a[l>>2]|0}n=n+1|0}}else{n=0;e=0;i=f;while(1){f=a[(a[i+172>>2]|0)+(n<<2)>>2]|0;if(!f)break e;if(!(vy(f)|0)){a[c+(e<<2)>>2]=f;e=e+1|0;i=a[l>>2]|0}n=n+1|0}}}while(0);if((e|0)>=2){a[c+(e<<2)>>2]=0;K4(c,e,4,61);l=t?2:3;n=t?-1:1;f=1;while(1){e=a[c+(f<<2)>>2]|0;if(!e)break A;i=a[c+(f+-1<<2)>>2]|0;i=a[((a[i>>2]&3|0)==(l|0)?i:i+(n*48|0)|0)+40>>2]|0;e=a[((a[e>>2]&3|0)==(l|0)?e:e+(n*48|0)|0)+40>>2]|0;if(vW(i,e)|0)break A;t=QW(i,e,0)|0;r[(a[t+16>>2]|0)+112>>0]=4;DW(A,t);f=f+1|0}}}}while(0);return}function vy(A){A=A|0;var e=0;while(1){e=a[(a[A+16>>2]|0)+116>>2]|0;if(!e)break;else A=e}e=a[A>>2]&3;return(a[(a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(a[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function gy(A,e){A=A|0;e=e|0;return((a[a[A>>2]>>2]|0)>>>4)-((a[a[e>>2]>>2]|0)>>>4)|0}function Ey(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0;r=a[A+16>>2]|0;n=r+220|0;l=a[n>>2]|0;if((l|0)>=2){t=r+216|0;A=0;i=0;while(1){if((i|0)>=(l|0))break;e=a[(a[t>>2]|0)+(i<<2)>>2]|0;if(A|0)a[(a[A+16>>2]|0)+164>>2]=e;c=a[e+16>>2]|0;a[c+168>>2]=A;A=e;e=c;while(1){e=a[e+164>>2]|0;if(!e)break;A=e;e=a[e+16>>2]|0}i=i+1|0}a[n>>2]=1;a[r+192>>2]=a[a[r+216>>2]>>2];f[r+236>>1]=a[46742];f[r+238>>1]=a[46743]}return}function Cy(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0;t=a[46741]|0;c=t+16|0;i=a[c>>2]|0;n=0;l=f[i+236>>1]|0;while(1){if((l|0)>=(f[i+238>>1]|0))break;A=a[i+196>>2]|0;if(!(r[A+(l<<6)+49>>0]|0)){e=Hy(t,l)|0;A=a[c>>2]|0;i=a[A+196>>2]|0;a[i+(l<<6)+52>>2]=e;r[i+(l<<6)+49>>0]=1}else{e=a[A+(l<<6)+52>>2]|0;A=i}n=e+n|0;l=l+1|0;i=A}return n|0}function Iy(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;A=a[A+16>>2]|0;n=f[A+238>>1]|0;l=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(n|0))break;r=a[l>>2]|0;i=a[r+(A<<6)>>2]|0;r=r+(A<<6)+4|0;e=0;while(1){if((e|0)>=(i|0))break;t=a[(a[(a[r>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;b[t+16>>3]=+(a[t+236>>2]|0);e=e+1|0}A=A+1|0}return}function Zy(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;s=d;w=A+16|0;u=bR(a[(a[w>>2]|0)+232>>2]|0)|0;c=a[w>>2]|0;i=c+192|0;n=i;while(1){n=a[n>>2]|0;if(!n)break;n=a[n+16>>2]|0;r[n+157>>0]=0;n=n+164|0}l=f[c+238>>1]|0;t=c+196|0;n=f[c+236>>1]|0;while(1){if((n|0)>(l|0))break;a[(a[t>>2]|0)+(n<<6)>>2]=0;n=n+1|0}t=(e|0)==0;while(1){n=a[i>>2]|0;if(!n)break;l=n+16|0;i=a[l>>2]|0;if((a[a[(t?i+172|0:i+180|0)>>2]>>2]|0)==0?(b=i+157|0,(r[b>>0]|0)==0):0){r[b>>0]=1;wR(u,n);while(1){i=uR(u)|0;if(!i)break;if((r[(a[i+16>>2]|0)+159>>0]|0)==7){CD(A,i,e,u);continue}else{Xy(A,i);Ry(u,i,e);continue}}i=a[l>>2]|0}i=i+164|0}if(uR(u)|0)ao(1,86312,s)|0;i=a[w>>2]|0;c=f[i+236>>1]|0;while(1){if((c|0)>(f[i+238>>1]|0))break;r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+49>>0]=0;if((a[i+116>>2]&1|0)!=0?(o=a[i+196>>2]|0,h=a[o+(c<<6)>>2]|0,(h|0)>0):0){n=a[o+(c<<6)+4>>2]|0;l=h+-1|0;t=(l|0)/2|0;i=0;while(1){if((i|0)>(t|0))break;Dy(a[n+(i<<2)>>2]|0,a[n+(l-i<<2)>>2]|0);i=i+1|0}i=a[w>>2]|0}c=c+1|0}if((gL(A)|0)==(A|0)?(Cy(0)|0)>0:0)my(A,0);sR(u);k=d;return}function Gy(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;u=A+16|0;A=a[u>>2]|0;i=f[A+236>>1]|0;e=f[A+238>>1]|0;s=e<<16>>16;w=A+196|0;n=i;while(1){if((n|0)>(s|0))break;c=a[w>>2]|0;t=a[c+(n<<6)>>2]|0;c=c+(n<<6)+4|0;l=0;while(1){if((l|0)>=(t|0))break;k=a[(a[(a[c>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;a[k+236>>2]=~~+b[k+16>>3];l=l+1|0}n=n+1|0}while(1){if((i|0)>(e<<16>>16|0))break;r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(i<<6)+49>>0]=0;k=a[A+196>>2]|0;K4(a[k+(i<<6)+4>>2]|0,a[k+(i<<6)>>2]|0,4,62);k=a[u>>2]|0;i=i+1|0;e=f[k+238>>1]|0;A=k}return}function Qy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=((e|0)%4|0|0)<2&1;i=a[A+16>>2]|0;if(!(e&1)){e=f[i+236>>1]|0;r=1;i=f[i+238>>1]|0;e=(e<<16>>16<=(f[(a[(a[46741]|0)+16>>2]|0)+236>>1]|0)&1)+(e<<16>>16)|0}else{e=f[i+238>>1]|0;r=-1;i=f[i+236>>1]|0;e=((e<<16>>16>=(f[(a[(a[46741]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(e<<16>>16)|0}i=r+i|0;while(1){if((e|0)==(i|0))break;Vy(A,e,n,(Fy(A,e,e-r|0)|0)&255);e=e+r|0}my(A,n^1);return}function my(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;n=a[b>>2]|0;t=f[n+236>>1]|0;c=f[n+238>>1]|0;l=n+196|0;i=t<<16>>16;while(1){if((i|0)>(c|0)){l=t;break}r[(a[l>>2]|0)+(i<<6)+48>>0]=1;i=i+1|0}while(1){i=0;l=l<<16>>16;while(1){if((l|0)>(f[n+238>>1]|0))break;if(r[(a[n+196>>2]|0)+(l<<6)+48>>0]|0){i=(My(A,l,e)|0)+i|0;n=a[b>>2]|0}l=l+1|0}if((i|0)<=0)break;l=f[n+236>>1]|0}return}function Ly(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;k=A+16|0;e=a[k>>2]|0;u=f[e+238>>1]|0;A:while(1){if((u|0)<(f[e+236>>1]|0)){e=16;break}i=a[e+196>>2]|0;r[i+(u<<6)+48>>0]=0;o=(u|0)>0;h=u+1|0;n=0;e:while(1){s=(a[i+(u<<6)>>2]|0)+-1|0;w=i+(u<<6)+4|0;b=i+(h<<6)|0;while(1){if((n|0)>=(s|0))break e;c=a[w>>2]|0;t=a[c+(n<<2)>>2]|0;n=n+1|0;c=a[c+(n<<2)>>2]|0;if((a[(a[t+16>>2]|0)+236>>2]|0)>=(a[(a[c+16>>2]|0)+236>>2]|0)){e=7;break A}if(Wy(A,t,c)|0)continue;if(o){i=yy(t,c)|0;l=yy(c,t)|0}else{i=0;l=0}if((a[b>>2]|0)>0){i=(zy(t,c)|0)+i|0;l=(zy(c,t)|0)+l|0}if((l|0)<=(i|0))break}Yy(A,u,t,c);e=a[k>>2]|0;i=a[e+196>>2]|0}u=u+-1|0}if((e|0)==7)vA(86263,85781,721,86289);else if((e|0)==16)return}function Wy(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=a[e+16>>2]|0;t=a[c+212>>2]|0;f=a[i+16>>2]|0;n=a[f+212>>2]|0;l=(t|0)!=(n|0);do{if(!(r[193769]|0))if((n|0)==0|((t|0)==0|l^1))b=9;else{if((r[c+159>>0]|0)==7?(r[c+156>>0]|0)==1:0){A=0;break}if((r[f+159>>0]|0)==7?(r[f+156>>0]|0)==1:0){A=0;break}A=1}else if(l)A=1;else b=9}while(0);if((b|0)==9){f=a[A+16>>2]|0;A=a[(a[f+196>>2]|0)+(a[c+232>>2]<<6)+56>>2]|0;if(!A)A=0;else{c=(a[f+116>>2]&1|0)==0;b=U(a[A+4>>2]|0,a[(a[(c?e:i)+16>>2]|0)+284>>2]|0)|0;A=r[(a[A+8>>2]|0)+((a[(a[(c?i:e)+16>>2]|0)+284>>2]|0)+b)>>0]|0}}return A|0}function yy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;s=A+16|0;t=a[(a[e+16>>2]|0)+172>>2]|0;e=0;while(1){A=a[t>>2]|0;if(!A)break;l=a[A+16>>2]|0;c=f[l+154>>1]|0;n=a[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+16|0;r=a[(a[s>>2]|0)+172>>2]|0;A=e;while(1){e=a[r>>2]|0;if(!e)break;i=(a[(a[(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((i|0)<=0){if((i|0)==0?(w=a[e+16>>2]|0,+b[w+16>>3]>+b[l>>3]):0){e=w;u=9}}else{e=a[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(U(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function zy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;s=A+16|0;t=a[(a[e+16>>2]|0)+180>>2]|0;e=0;while(1){A=a[t>>2]|0;if(!A)break;l=a[A+16>>2]|0;c=f[l+154>>1]|0;n=a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+56|0;r=a[(a[s>>2]|0)+180>>2]|0;A=e;while(1){e=a[r>>2]|0;if(!e)break;i=(a[(a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((i|0)<=0){if((i|0)==0?(w=a[e+16>>2]|0,+b[w+56>>3]>+b[l>>3]):0){e=w;u=9}}else{e=a[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(U(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function Yy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;t=r[(a[i+16>>2]|0)+156>>0]|0;if(t<<24>>24!=(r[(a[f+16>>2]|0)+156>>0]|0)){c=A+16|0;s=a[(a[c>>2]|0)+196>>2]|0;b=a[s+(e<<6)>>2]|0;s=s+(e<<6)+4|0;A=0;n=0;l=0;while(1){if((A|0)>=(b|0))break;k=(r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;A=A+1|0;n=n+(k&1)|0;l=l+((k^1)&1)|0}t=t<<24>>24==0;l=(n|0)<(l|0)?t?i:f:t?f:i;t=0;A=0;while(1){if((A|0)>=(b|0))break;t=(a[(a[s>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}k=(r[(a[l+16>>2]|0)+156>>0]|0)==0&1;u=0;n=t;while(1){A=n+-1|0;if((n|0)<=0){w=0;A=t;break}if((r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0)){w=0;A=t;break}u=u+1|0;n=A}while(1){A=A+1|0;if((A|0)>=(b|0))break;if((r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0))break;w=w+1|0}Dy(i,f);c=a[(a[c>>2]|0)+196>>2]|0;b=a[c+(e<<6)>>2]|0;c=c+(e<<6)+4|0;A=0;while(1){if((A|0)>=(b|0)){l=0;n=t;break}t=(a[(a[c>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}while(1){A=n+-1|0;if((n|0)<=0){n=0;A=t;break}if((r[(a[(a[(a[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0)){n=0;A=t;break}l=l+1|0;n=A}while(1){A=A+1|0;if((A|0)>=(b|0))break;if((r[(a[(a[(a[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0))break;n=n+1|0}e=l-n|0;k=u-w|0;if((((e|0)>-1?e:0-e|0)|0)>(((k|0)>-1?k:0-k|0)|0))Dy(i,f)}return}function Dy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;f=a[A+16>>2]|0;r=a[f+232>>2]|0;f=f+236|0;i=a[f>>2]|0;n=e+16|0;l=a[(a[n>>2]|0)+236>>2]|0;a[f>>2]=l;f=(a[46741]|0)+16|0;a[(a[(a[(a[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(l<<2)>>2]=A;a[(a[n>>2]|0)+236>>2]=i;a[(a[(a[(a[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return}function My(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;h=A+16|0;u=a[(a[h>>2]|0)+196>>2]|0;r[u+(e<<6)+48>>0]=0;d=(e|0)>0;B=e+1|0;k=(i|0)!=0;o=e+-1|0;n=0;t=0;i=u;A:while(1){s=(a[i+(e<<6)>>2]|0)+-1|0;w=i+(e<<6)+4|0;l=i+(B<<6)|0;u=n;while(1){if((u|0)>=(s|0)){i=17;break A}b=a[w>>2]|0;c=a[b+(u<<2)>>2]|0;u=u+1|0;b=a[b+(u<<2)>>2]|0;if((a[(a[c+16>>2]|0)+236>>2]|0)>=(a[(a[b+16>>2]|0)+236>>2]|0)){i=5;break A}if(Wy(A,c,b)|0)continue;if(d){i=yy(c,b)|0;n=yy(b,c)|0}else{i=0;n=0}if((a[l>>2]|0)>0){i=(zy(c,b)|0)+i|0;n=(zy(b,c)|0)+n|0}if((i|0)>(n|0))break;if((i|0)==(n|0)&(k&(i|0)>0)){i=n;break}}Dy(c,b);t=i-n+t|0;n=a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0;r[n+(e<<6)+49>>0]=0;l=a[h>>2]|0;i=a[l+196>>2]|0;r[i+(e<<6)+48>>0]=1;if((f[l+236>>1]|0)<(e|0)){r[n+(o<<6)+49>>0]=0;r[i+(o<<6)+48>>0]=1}if((f[l+238>>1]|0)<=(e|0)){n=u;continue}r[n+(B<<6)+49>>0]=0;r[i+(B<<6)+48>>0]=1;n=u}if((i|0)==5)vA(86263,85781,770,86297);else if((i|0)==17)return t|0;return 0}function Fy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=a[46739]|0;h=A+16|0;A=a[(a[h>>2]|0)+196>>2]|0;d=a[A+(e<<6)+4>>2]|0;u=(i|0)>(e|0);k=o+4|0;w=0;while(1){i=a[A+(e<<6)>>2]|0;if((w|0)>=(i|0)){A=0;t=0;break}s=(a[d+(w<<2)>>2]|0)+16|0;A=a[s>>2]|0;A:do{if(u){c=a[A+180>>2]|0;A=0;t=0;while(1){i=a[c+(t<<2)>>2]|0;if(!i)break A;r=a[i+16>>2]|0;if((f[r+154>>1]|0)>0){a[o+(A<<2)>>2]=a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[r+88>>0];A=A+1|0}t=t+1|0}}else{c=a[A+172>>2]|0;t=0;A=0;while(1){i=a[c+(t<<2)>>2]|0;if(!i)break A;r=a[i+16>>2]|0;if((f[r+154>>1]|0)>0){a[o+(A<<2)>>2]=a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[r+48>>0];A=A+1|0}t=t+1|0}}}while(0);A:do{switch(A|0){case 0:{l=-1.0;break}case 1:{l=+(a[o>>2]|0);break}case 2:{l=+(((a[k>>2]|0)+(a[o>>2]|0)|0)/2|0|0);break}default:{K4(o,A,4,60);i=(A|0)/2|0;if(A&1|0){l=+(a[o+(i<<2)>>2]|0);break A}t=a[o+(i<<2)>>2]|0;r=(a[o+(A+-1<<2)>>2]|0)-t|0;A=a[o+(i+-1<<2)>>2]|0;i=A-(a[o>>2]|0)|0;if((i|0)==(r|0)){l=+((A+t|0)/2|0|0);break A}else{l=+(((U(i,t)|0)+(U(A,r)|0)|0)/(i+r|0)|0|0);break A}}}}while(0);b[(a[s>>2]|0)+240>>3]=l;w=w+1|0;A=a[(a[h>>2]|0)+196>>2]|0}while(1){if((t|0)>=(i|0))break;r=a[d+(t<<2)>>2]|0;o=a[r+16>>2]|0;if((a[o+184>>2]|0)==0?(a[o+176>>2]|0)==0:0){A=(Jy(r)|0|A&255)&255;i=a[(a[(a[h>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}t=t+1|0}return A|0}function Vy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0,B=0;k=a[(a[A+16>>2]|0)+196>>2]|0;B=a[k+(e<<6)+4>>2]|0;k=a[k+(e<<6)>>2]|0;h=(i|0)!=0;o=(f|i|0)==0;f=0;i=k;k=B+(k<<2)|0;while(1){u=i+-1|0;if((i|0)>0)i=B;else break;A:while(1){e:while(1){if(i>>>0>=k>>>0)break A;while(1){if(i>>>0>=k>>>0)break A;s=a[i>>2]|0;w=+b[(a[s+16>>2]|0)+240>>3];if(!(w<0.0))break;i=i+4|0}c=0;while(1){n=c<<24>>24==0;while(1){i=i+4|0;if(i>>>0>=k>>>0)break A;if(n){n=11;break}l=a[i>>2]|0;if(!(a[(a[l+16>>2]|0)+212>>2]|0)){n=13;break}}if((n|0)==11){l=a[i>>2]|0;t=l}else if((n|0)==13)t=l;if(Wy(A,s,t)|0)continue e;n=a[l+16>>2]|0;if(+b[n+240>>3]>=0.0)break;c=(a[n+212>>2]|0)==0?c:1}n=~~w;c=~~+b[(a[l+16>>2]|0)+240>>3];if((n|0)>(c|0)|h&(n|0)==(c|0))break}Dy(s,t);f=f+1|0}i=u;k=o?k+-4|0:k}if(f|0?(d=a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0,r[d+(e<<6)+49>>0]=0,(e|0)>0):0)r[d+(e+-1<<6)+49>>0]=0;return}function Jy(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0;n=a[A+16>>2]|0;if((a[n+200>>2]|0)>0){f=a[n+196>>2]|0;A=a[f>>2]|0;A=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;i=1;while(1){r=a[f+(i<<2)>>2]|0;if(!r)break;r=a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0;A=(a[(a[r+16>>2]|0)+236>>2]|0)>(a[(a[A+16>>2]|0)+236>>2]|0)?r:A;i=i+1|0}e=+b[(a[A+16>>2]|0)+240>>3];if(!(e>=0.0))A=1;else{b[n+240>>3]=e+1.0;A=0}}else if((a[n+192>>2]|0)>0){r=a[n+188>>2]|0;i=a[r>>2]|0;A=1;i=a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;while(1){f=a[r+(A<<2)>>2]|0;if(!f)break;f=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;A=A+1|0;i=(a[(a[f+16>>2]|0)+236>>2]|0)<(a[(a[i+16>>2]|0)+236>>2]|0)?f:i}e=+b[(a[i+16>>2]|0)+240>>3];if(e>0.0){b[n+240>>3]=e+-1.0;A=0}else A=1}else A=1;return A|0}function Ny(A,e){A=A|0;e=e|0;return(a[(a[(a[A>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[e>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Xy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+96|0;u=o+64|0;w=o+48|0;l=o+24|0;r=o;c=e+16|0;b=a[(a[c>>2]|0)+232>>2]|0;s=A+16|0;i=a[(a[s>>2]|0)+196>>2]|0;t=a[i+(b<<6)>>2]|0;do{if((a[i+(b<<6)+8>>2]|0)>=1){a[(a[i+(b<<6)+4>>2]|0)+(t<<2)>>2]=e;a[(a[c>>2]|0)+236>>2]=t;A=a[s>>2]|0;r=a[A+196>>2]|0;i=r+(b<<6)|0;n=a[i>>2]|0;a[i>>2]=n+1;if((n|0)>=(a[r+(b<<6)+8>>2]|0))vA(86377,85781,1346,86413);n=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]|0;if((t|0)>(n|0)){s=Vh(e)|0;w=a[(a[c>>2]|0)+236>>2]|0;u=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]|0;a[l>>2]=1359;a[l+4>>2]=s;a[l+8>>2]=w;a[l+12>>2]=b;a[l+16>>2]=u;ao(1,86429,l)|0;break}i=f[A+236>>1]|0;A=f[A+238>>1]|0;if((b|0)<(i|0)|(b|0)>(A<<16>>16|0)){a[w>>2]=1364;a[w+4>>2]=b;a[w+8>>2]=i;a[w+12>>2]=A<<16>>16;ao(1,86502,w)|0;break}if(((a[r+(b<<6)+4>>2]|0)+(t<<2)|0)>>>0>((a[r+(b<<6)+12>>2]|0)+(n<<2)|0)>>>0){t=Vh(e)|0;w=a[(a[s>>2]|0)+196>>2]|0;s=(a[w+(b<<6)+4>>2]|0)+(a[(a[c>>2]|0)+236>>2]<<2)|0;w=(a[w+(b<<6)+12>>2]|0)+(a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]<<2)|0;a[u>>2]=1370;a[u+4>>2]=b;a[u+8>>2]=t;a[u+12>>2]=s;a[u+16>>2]=b;a[u+20>>2]=b;a[u+24>>2]=w;ao(1,86563,u)|0}}else{w=Vh(A)|0;u=Vh(e)|0;a[r>>2]=1339;a[r+4>>2]=w;a[r+8>>2]=u;a[r+12>>2]=b;a[r+16>>2]=t;ao(1,86322,r)|0}}while(0);k=o;return}function Ry(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=e+16|0;A:do{if(!i){n=0;while(1){e=a[l>>2]|0;if((n|0)>=(a[e+184>>2]|0))break A;e=a[(a[e+180>>2]|0)+(n<<2)>>2]|0;i=e+-48|0;f=(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;wR(A,a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)}n=n+1|0}}else{n=0;while(1){e=a[l>>2]|0;if((n|0)>=(a[e+176>>2]|0))break A;e=a[(a[e+172>>2]|0)+(n<<2)>>2]|0;i=e+48|0;f=(a[(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;wR(A,a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)}n=n+1|0}}}while(0);return}function Hy(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;g=E;n=A+16|0;i=a[(a[n>>2]|0)+196>>2]|0;B=a[i+(e<<6)+4>>2]|0;v=e+1|0;A=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(v<<6)>>2]|0;if((a[46745]|0)>(A|0))h=a[46746]|0;else{A=A+1|0;a[46745]=A;i=a[46746]|0;if(!i)A=$F(A<<2)|0;else A=eV(i,A<<2)|0;a[46746]=A;i=a[(a[n>>2]|0)+196>>2]|0;h=A}d=i+(v<<6)|0;A=0;while(1){if((A|0)>=(a[d>>2]|0))break;a[h+(A<<2)>>2]=0;A=A+1|0}o=i+(e<<6)|0;u=0;l=0;A=0;c=h;while(1){b=a[o>>2]|0;if((u|0)>=(b|0))break;w=a[(a[(a[B+(u<<2)>>2]|0)+16>>2]|0)+180>>2]|0;A:do{if((l|0)>0){s=0;while(1){n=a[w+(s<<2)>>2]|0;if(!n)break A;b=n+16|0;t=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){n=t+1|0;if((t|0)>=(l|0))break;t=n;A=(U(a[c+(n<<2)>>2]|0,f[(a[b>>2]|0)+154>>1]|0)|0)+A|0}s=s+1|0}}}while(0);t=0;while(1){n=a[w+(t<<2)>>2]|0;if(!n)break;c=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=h+(c<<2)|0;a[s>>2]=(a[s>>2]|0)+(f[(a[n+16>>2]|0)+154>>1]|0);l=(c|0)>(l|0)?c:l;t=t+1|0;c=h}u=u+1|0}t=i+(e<<6)+4|0;l=0;while(1){if((l|0)>=(b|0))break;n=a[(a[(a[t>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;if(r[n+145>>0]|0){e=n+180|0;a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];A=(py(g,1)|0)+A|0}l=l+1|0}t=a[d>>2]|0;l=i+(v<<6)+4|0;n=0;while(1){if((n|0)>=(t|0))break;i=a[(a[(a[l>>2]|0)+(n<<2)>>2]|0)+16>>2]|0;if(r[i+145>>0]|0){v=i+172|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];A=(py(g,-1)|0)+A|0}n=n+1|0}k=E;return A|0}function py(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=(e|0)<1;s=a[A>>2]|0;e=0;A=0;A:while(1){w=a[s+(e<<2)>>2]|0;if(!w)break;e=e+1|0;if(u){t=w+48|0;c=w+16|0;l=e;while(1){i=a[s+(l<<2)>>2]|0;if(!i)continue A;r=a[i+16>>2]|0;n=a[c>>2]|0;if((+b[r+56>>3]-+b[n+56>>3])*+((a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[((a[w>>2]&3|0)==3?w:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(U(f[r+154>>1]|0,f[n+154>>1]|0)|0)+A|0;l=l+1|0}}else{t=w+-48|0;c=w+16|0;l=e;while(1){i=a[s+(l<<2)>>2]|0;if(!i)continue A;r=a[i+16>>2]|0;n=a[c>>2]|0;if((+b[r+16>>3]-+b[n+16>>3])*+((a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[((a[w>>2]&3|0)==2?w:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(U(f[r+154>>1]|0,f[n+154>>1]|0)|0)+A|0;l=l+1|0}}}return A|0}function Uy(A){A=A|0;var e=0.0,i=0.0;a[46744]=8;a[47136]=24;b[23215]=.995;A=po(A,86685)|0;if(A|0?(e=+$3(A),e>0.0):0){i=e*+(a[46744]|0);a[46744]=~~(i>1.0?i:1.0);e=e*+(a[47136]|0);a[47136]=~~(e>1.0?e:1.0)}return}function xy(A){A=A|0;var e=0,i=0;i=(f[(a[A+16>>2]|0)+238>>1]|0)+2|0;e=qF(i<<2)|0;jy(A,e,i,0)|0;L2(e);return}function Ty(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;l=A+16|0;t=qF((f[(a[l>>2]|0)+238>>1]<<2)+8|0)|0;n=cd(A)|0;while(1){if(!n)break;r=t+(a[(a[n+16>>2]|0)+232>>2]<<2)|0;a[r>>2]=(a[r>>2]|0)+1;r=Oo(A,n)|0;while(1){if(!r)break;c=a[r>>2]&3;e=a[(a[(a[((c|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;c=a[(a[(a[((c|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;b=(e|0)>(c|0);i=b?e:c;e=b?c:e;while(1){e=e+1|0;if((e|0)>=(i|0))break;b=t+(e<<2)|0;a[b>>2]=(a[b>>2]|0)+1}r=_o(A,r)|0}n=bd(A,n)|0}r=qF((f[(a[l>>2]|0)+238>>1]<<6)+128|0)|0;i=a[l>>2]|0;a[i+196>>2]=r;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;c=t+(e<<2)|0;i=a[c>>2]|0;a[r+(e<<6)>>2]=i;a[r+(e<<6)+8>>2]=i;c=qF((a[c>>2]<<2)+4|0)|0;i=a[l>>2]|0;b=a[i+196>>2]|0;a[b+(e<<6)+4>>2]=c;a[b+(e<<6)+12>>2]=c;e=e+1|0;r=b}L2(t);return}function jy(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,s=0,w=0;w=A+16|0;l=1;while(1){n=a[w>>2]|0;if((l|0)>(a[n+180>>2]|0))break;s=jy(a[(a[n+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;l=l+1|0;r=s}A:do{if((gL(A)|0)!=(A|0)){Y6(e|0,0,i<<2|0)|0;n=cd(A)|0;while(1){if(!n)break;c=n+16|0;a[e+(a[(a[c>>2]|0)+232>>2]<<2)>>2]=1;l=Oo(A,n)|0;while(1){if(!l)break;s=l+-48|0;t=a[(a[c>>2]|0)+232>>2]|0;while(1){i=t+1|0;if((t|0)>=(a[(a[(a[((a[l>>2]&3|0)==2?l:s)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;a[e+(i<<2)>>2]=1;t=i}l=_o(A,l)|0}n=bd(A,n)|0}n=a[w>>2]|0;l=f[n+236>>1]|0;while(1){if((l|0)>(f[n+238>>1]|0))break A;if(!(a[e+(l<<2)>>2]|0)){if(!r)r=XB(gL(A)|0,86675,1)|0;n=vd(r,0,1)|0;Td(n,137447,304,1)|0;s=n+16|0;t=a[s>>2]|0;a[t+232>>2]=l;b[t+96>>3]=.5;b[t+88>>3]=.5;b[t+80>>3]=1.0;a[t+216>>2]=1;a[t+176>>2]=0;t=qF(20)|0;c=a[s>>2]|0;a[c+172>>2]=t;a[c+184>>2]=0;c=qF(20)|0;a[(a[s>>2]|0)+180>>2]=c;kd(A,n,1)|0;n=a[w>>2]|0}l=l+1|0}}}while(0);return r|0}function Sy(A){A=A|0;var e=0,i=0;cy(A);e=A+16|0;A=1;while(1){i=a[e>>2]|0;if((A|0)>(a[i+180>>2]|0))break;Sy(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function Py(A){A=A|0;var e=0,i=0;e=a[A>>2]&3;i=Oy(a[((e|0)==3?A:A+48|0)+40>>2]|0)|0;e=a[17308+(i*12|0)+((Oy(a[((e|0)==2?A:A+-48|0)+40>>2]|0)|0)<<2)>>2]|0;A=(a[A+16>>2]|0)+156|0;a[A>>2]=U(a[A>>2]|0,e)|0;return}function Oy(A){A=A|0;A=a[A+16>>2]|0;if((r[A+156>>0]|0)==1)A=2;else A=(r[A+160>>0]|0)<2&1;return A|0}function Ky(A,e){A=A|0;e=e|0;if(a[(a[A+16>>2]|0)+192>>2]|0){ID(A);_y(A);if(r[194954]|0)JD(A);qy(A);if(eM(A)|0)_y(A);$y(A);if(JV(A,2,Az(A)|0)|0?(ez(A),JV(A,2,Az(A)|0)|0):0)vA(86693,86721,134,86732);iz(A);rz(A,e);fz(A)}return}function _y(A){A=A|0;var e=0,i=0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;E=A+16|0;e=a[E>>2]|0;C=a[e+196>>2]|0;v=f[e+236>>1]|0;while(1){if((v|0)>(f[e+238>>1]|0))break;u=C+(v<<6)|0;k=C+(v<<6)+4|0;o=C+(v<<6)+40|0;h=C+(v<<6)+24|0;d=C+(v<<6)+32|0;B=C+(v<<6)+16|0;w=0;while(1){if((w|0)>=(a[u>>2]|0))break;s=(a[(a[k>>2]|0)+(w<<2)>>2]|0)+16|0;e=a[s>>2]|0;t=+b[e+80>>3]*.5;l=a[e+204>>2]|0;A:do{if(l){n=0;while(1){i=a[l+(n<<2)>>2]|0;if(!i)break A;I=a[i>>2]&3;if((a[((I|0)==3?i:i+48|0)+40>>2]|0)==(a[((I|0)==2?i:i+-48|0)+40>>2]|0)?(g=a[(a[i+16>>2]|0)+96>>2]|0,(g|0)!=0):0){c=+b[g+32>>3]*.5;t=t>c?t:c}n=n+1|0}}}while(0);if(+b[o>>3]>3]=t;b[o>>3]=t}if(+b[d>>3]>3]=t;b[d>>3]=t}i=a[e+212>>2]|0;if(i|0){if((i|0)==(A|0))n=0;else{n=kR(i,a[47144]|0,8,0)|0;e=a[s>>2]|0}l=a[e+232>>2]|0;i=a[i+16>>2]|0;e=i+128|0;t=t+ +(n|0);if((l|0)==(f[i+236>>1]|0)){c=+b[e>>3];b[e>>3]=c>t?c:t}e=i+120|0;if((l|0)==(f[i+238>>1]|0)){c=+b[e>>3];b[e>>3]=c>t?c:t}}w=w+1|0}v=v+1|0;e=a[E>>2]|0}w=zz(A)|0;n=a[E>>2]|0;e=f[n+238>>1]|0;b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[C+(e<<6)+16>>3];i=f[n+236>>1]|0;l=n+252|0;c=0.0;while(1){s=e+-1|0;if((e|0)<=(i|0))break;Z=+b[C+(s<<6)+32>>3]+ +b[C+(e<<6)+40>>3]+ +(a[l>>2]|0);t=+b[C+(e<<6)+24>>3]+8.0+ +b[C+(s<<6)+16>>3];t=Z>t?Z:t;if((a[C+(s<<6)>>2]|0)>0)b[(a[(a[a[C+(s<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+t;c=c>t?c:t;e=s}A:do{if((w|0)!=0?(a[n+116>>2]&1|0)!=0:0){Yz(A,0);n=a[E>>2]|0;if(r[n+276>>0]|0){e=f[n+238>>1]|0;i=f[n+236>>1]|0;t=+b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];c=0.0;while(1){l=e+-1|0;if((e|0)<=(i|0))break A;G=+b[(a[(a[a[C+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];Z=G-t;t=G;c=c>Z?c:Z;e=l}}}}while(0);A:do{if(r[n+276>>0]|0){l=f[n+236>>1]|0;i=f[n+238>>1]|0;while(1){e=i+-1|0;if((i|0)<=(l|0))break A;if((a[C+(e<<6)>>2]|0)<=0){i=e;continue}b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[(a[(a[a[C+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+c;i=e}}}while(0);e=n+192|0;while(1){e=a[e>>2]|0;if(!e)break;e=a[e+16>>2]|0;b[e+24>>3]=+b[(a[(a[a[C+(a[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function qy(A){A=A|0;var e=0,i=0,r=0;mz(A);e=(a[A+16>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;r=e+16|0;e=a[r>>2]|0;i=a[e+224>>2]|0;if(i){Lz(A,i);e=a[r>>2]|0}i=a[e+228>>2]|0;if(!i)i=e;else{Lz(A,i);i=a[r>>2]|0}r=a[i+204>>2]|0;if(r|0){e=0;while(1)if(!(a[r+(e<<2)>>2]|0))break;else e=e+1|0}e=i+164|0}return}function $y(A){A=A|0;uz(A);kz(A);oz(A);hz(A);dz(A);return}function Az(A){A=A|0;var e=0,i=0.0;e=po(A,86921)|0;if(!e)A=2147483647;else{i=+$3(e);A=~~(i*+(vh(A)|0))}return A|0}function ez(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;d=A+16|0;e=a[d>>2]|0;h=f[e+236>>1]|0;while(1){o=f[e+238>>1]|0;if((h|0)>(o|0)){B=19;break}u=a[e+196>>2]|0;k=u+(h<<6)|0;w=a[k>>2]|0;u=u+(h<<6)+4|0;s=0;i=0;A:while(1){if((s|0)>=(w|0)){B=14;break}i=a[(a[u>>2]|0)+(s<<2)>>2]|0;l=a[i+16>>2]|0;t=a[l+256>>2]|0;e:do{if(t|0){n=0;while(1){c=a[t+(n<<2)>>2]|0;if(!c)break e;b=a[c>>2]&3;if((a[(a[(a[((b|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;if((a[(a[(a[((b|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;else n=n+1|0}}}while(0);l=a[l+248>>2]|0;e:do{if(l|0){n=0;while(1){t=a[l+(n<<2)>>2]|0;if(!t)break e;c=a[t>>2]&3;if((a[(a[(a[((c|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;if((a[(a[(a[((c|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;else n=n+1|0}}}while(0);s=s+1|0}if((B|0)==14){B=0;if(i){i=a[a[u>>2]>>2]|0;e=a[a[k+(((h|0)<(o|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){B=16;break}k=YW(A)|0;o=k+16|0;r[(a[o>>2]|0)+156>>0]=2;sz(k,i,0.0,0)|0;sz(k,e,0.0,0)|0;a[(a[o>>2]|0)+232>>2]=a[(a[((a[(a[i+16>>2]|0)+232>>2]|0)<(a[(a[e+16>>2]|0)+232>>2]|0)?i:e)+16>>2]|0)+232>>2];e=a[d>>2]|0}}h=h+1|0}if((B|0)==16)vA(86829,86721,111,86832);else if((B|0)==19)return}function iz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0;A=a[A+16>>2]|0;l=a[A+196>>2]|0;i=f[A+238>>1]|0;A=f[A+236>>1]|0;while(1){if((A|0)>(i|0))break;r=a[l+(A<<6)>>2]|0;n=l+(A<<6)+4|0;e=0;while(1){if((e|0)>=(r|0))break;c=a[(a[(a[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;t=c+232|0;b[c+16>>3]=+(a[t>>2]|0);a[t>>2]=A;e=e+1|0}A=A+1|0}return}function rz(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0,l=0.0,t=0,c=0,s=0.0,w=0,u=0,k=0,o=0;az(A,A);n=A+16|0;c=a[n>>2]|0;A:do{if((f[c+238>>1]|0)>0?(t=a[c+8>>2]|0,i=a[t+84>>2]|0,i|0):0){k=~~(+b[c+32>>3]-+b[c+16>>3]);w=~~(+b[c+40>>3]-+b[c+24>>3]);o=(a[c+116>>2]&1|0)==0;u=o?w:k;w=o?k:w;if((i|0)==4){i=nz(A)|0;c=a[n>>2]|0;t=a[c+8>>2]|0}else i=(i|0)==2&1;e:do{if(!(i<<24>>24)){switch(a[t+84>>2]|0){case 5:{r=+b[t+64>>3];if(r<=0.0)break A;l=r/+b[c+32>>3];s=+b[t+72>>3]/+b[c+40>>3];r=l1.0&s>1.0){s=r;break e}else break A}case 1:break;default:break A}l=+b[t+16>>3];r=+(u|0)/+(w|0);if(r>3];if(r<=0.0)break A;l=r/+(w|0);r=+b[t+72>>3]/+(u|0);if(l<1.0|r<1.0)if(l>2]&1|0)==0;l=i?r:s;r=i?s:r;i=c+192|0;while(1){i=a[i>>2]|0;if(!i)break;i=a[i+16>>2]|0;o=i+16|0;s=+b[o>>3]*r;b[o>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);o=i+24|0;s=+b[o>>3]*l;b[o>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);i=i+164|0}lz(A,r,l)}}while(0);if(e|0)tz(A,e);return}function fz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=A+16|0;A=(a[l>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;n=A+16|0;e=0;while(1){A=a[n>>2]|0;f=a[A+180>>2]|0;i=a[f+(e<<2)>>2]|0;if(!i)break;L2(a[i+16>>2]|0);L2(i);e=e+1|0}if(f){L2(f);A=a[n>>2]|0}e=a[A+172>>2]|0;if(e){L2(e);A=a[n>>2]|0}f=A+256|0;i=a[f+4>>2]|0;A=A+180|0;a[A>>2]=a[f>>2];a[A+4>>2]=i;A=a[n>>2]|0;i=A+248|0;f=a[i+4>>2]|0;A=A+172|0;a[A>>2]=a[i>>2];a[A+4>>2]=f;A=(a[n>>2]|0)+164|0}A=0;e=a[(a[l>>2]|0)+192>>2]|0;A:while(1){n=(A|0)==0;f=A+16|0;A=e;while(1){if(!A)break A;i=a[A+16>>2]|0;e=a[i+164>>2]|0;if((r[i+156>>0]|0)!=2)continue A;if(n)a[(a[l>>2]|0)+192>>2]=e;else a[(a[f>>2]|0)+164>>2]=e;L2(i);L2(A);A=e}}a[(a[(a[(a[l>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function az(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=A+16|0;i=1;while(1){f=a[r>>2]|0;if((i|0)>(a[f+180>>2]|0))break;az(a[(a[f+184>>2]|0)+(i<<2)>>2]|0,e);i=i+1|0}bz(A,e);return}function nz(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0;B=k;k=k+80|0;r=B+64|0;i=B+48|0;f=B+16|0;s=B;d=B+32|0;A=A+16|0;e=a[(a[A>>2]|0)+8>>2]|0;v=e+48|0;a[f>>2]=a[v>>2];a[f+4>>2]=a[v+4>>2];a[f+8>>2]=a[v+8>>2];a[f+12>>2]=a[v+12>>2];if((!(+b[f>>3]<.001)?(n=f+8|0,!(+b[n>>3]<.001)):0)?(l=e+32|0,a[s>>2]=a[l>>2],a[s+4>>2]=a[l+4>>2],a[s+8>>2]=a[l+8>>2],a[s+12>>2]=a[l+12>>2],a[i>>2]=a[f>>2],a[i+4>>2]=a[f+4>>2],a[i+8>>2]=a[f+8>>2],a[i+12>>2]=a[f+12>>2],a[r>>2]=a[l>>2],a[r+4>>2]=a[l+4>>2],a[r+8>>2]=a[l+8>>2],a[r+12>>2]=a[l+12>>2],cz(d,i,r),a[f>>2]=a[d>>2],a[f+4>>2]=a[d+4>>2],a[f+8>>2]=a[d+8>>2],a[f+12>>2]=a[d+12>>2],a[i>>2]=a[d>>2],a[i+4>>2]=a[d+4>>2],a[i+8>>2]=a[d+8>>2],a[i+12>>2]=a[d+12>>2],a[r>>2]=a[s>>2],a[r+4>>2]=a[s+4>>2],a[r+8>>2]=a[s+8>>2],a[r+12>>2]=a[s+12>>2],cz(f,i,r),l=a[A>>2]|0,t=+b[l+32>>3],c=+b[l+40>>3],w=+b[f>>3],u=w/t,o=+b[n>>3],h=o/c,!(u>=1.0&h>=1.0)):0){u=u.5?u:.5;h=+p(+(u*c/o))*o/c;o=+p(+(u*t/w))*w/t*t;A=a[l+8>>2]|0;b[A+64>>3]=o;b[A+72>>3]=h*c;A=1}else A=0;k=B;return A|0}function lz(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=A+16|0;A=1;while(1){f=a[r>>2]|0;if((A|0)>(a[f+180>>2]|0))break;lz(a[(a[f+184>>2]|0)+(A<<2)>>2]|0,e,i);A=A+1|0}r=f+16|0;b[r>>3]=+b[r>>3]*e;r=f+24|0;b[r>>3]=+b[r>>3]*i;r=f+32|0;b[r>>3]=+b[r>>3]*e;f=f+40|0;b[f>>3]=+b[f>>3]*i;return}function tz(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0;s=k;k=k+32|0;t=s+24|0;n=s+16|0;f=s;w=a[A+16>>2]|0;r=+b[w+32>>3]-+b[w+16>>3];i=+b[w+40>>3]-+b[w+24>>3];l=r/i;if(0){w=a[15712]|0;b[f>>3]=l;b[f+8>>3]=r*.0001*i;f3(w,86745,f)|0;a[n>>2]=JY(A)|0;f3(w,86770,n)|0}i=+b[e>>3];do{if(!(l>i*1.1)){A=e+24|0;if(!(l<=i*.8)){a[A>>2]=0;c=9;break}a[A>>2]=-1;if(0){L3(86780,34,1,a[15712]|0)|0;c=9}}else{a[e+24>>2]=~~(i*+((a[e+20>>2]|0)-(a[e+16>>2]|0)|0)/l);c=9}}while(0);if((c|0)==9?0:0){w=a[15712]|0;a[t>>2]=a[e+24>>2];f3(w,86815,t)|0}k=s;return}function cz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function bz(A,e){A=A|0;e=e|0;var i=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;B=(gL(A)|0)==(A|0);E=A+16|0;C=a[E>>2]|0;A:do{if(B){i=f[C+236>>1]|0;A=f[C+238>>1]|0;h=A<<16>>16;d=C+196|0;B=C+196|0;o=i<<16>>16;l=-2147483647.0;n=2147483647.0;while(1){if((o|0)>(h|0))break;t=a[d>>2]|0;k=a[t+(o<<6)>>2]|0;if((k|0)!=0?(v=a[t+(o<<6)+4>>2]|0,g=a[v>>2]|0,(g|0)!=0):0){s=1;t=g;while(1){t=a[t+16>>2]|0;c=r[t+156>>0]|0;if(!((s|0)<(k|0)&c<<24>>24!=0))break;t=a[v+(s<<2)>>2]|0;s=s+1|0}if(!(c<<24>>24)){w=+b[t+16>>3]-+b[t+88>>3];u=n>2]|0)+(o<<6)+4>>2]|0;c=k+-2|0;t=k+-1|0;while(1){t=a[(a[s+(t<<2)>>2]|0)+16>>2]|0;if(!(r[t+156>>0]|0))break;else{t=c;c=c+-1|0}}I=+b[t+96>>3]+ +b[t+16>>3];l=l>I?l:I;n=u?n:w}}o=o+1|0}c=a[C+180>>2]|0;s=C+184|0;t=1;while(1){if((t|0)>(c|0))break A;g=a[(a[(a[s>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;I=+b[g+16>>3]+-8.0;w=+b[g+32>>3]+8.0;t=t+1|0;l=l>w?l:w;n=n>2]|0)+16>>2]|0)+232>>2]|0);n=+(a[(a[(a[C+256>>2]|0)+16>>2]|0)+232>>2]|0);i=f[C+236>>1]|0;A=f[C+238>>1]|0}}while(0);e=a[(a[e+16>>2]|0)+196>>2]|0;w=+b[(a[(a[a[e+(A<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[C+120>>3];I=+b[C+128>>3]+ +b[(a[(a[a[e+(i<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];b[C+16>>3]=n;b[C+24>>3]=w;e=a[E>>2]|0;b[e+32>>3]=l;b[e+40>>3]=I;return}function sz(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var n=0,l=0,t=0,c=0;t=qF(96)|0;c=t+48|0;a[c>>2]=a[c>>2]|3;a[t>>2]=a[t>>2]&-4|2;n=qF(176)|0;l=t+16|0;a[l>>2]=n;a[((a[t>>2]&3|0)==3?t:c)+40>>2]=A;a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]=e;if(i>65535.0){wz(i);i=65535.0;n=a[l>>2]|0}f[n+170>>1]=~~(i+(i>=0.0?.5:-.5));a[n+156>>2]=r;gW(t)|0;return t|0}function wz(A){A=+A;var e=0,i=0;e=k;k=k+16|0;i=e;b[i>>3]=A;a[i+8>>2]=65535;ao(1,86845,i)|0;k=e;return}function uz(A){A=A|0;var e=0,i=0,r=0,f=0;A=(a[A+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;f=A+16|0;r=a[f>>2]|0;A=r+172|0;i=a[A+4>>2]|0;r=r+248|0;a[r>>2]=a[A>>2];a[r+4>>2]=i;r=a[f>>2]|0;i=r+180|0;A=a[i+4>>2]|0;r=r+256|0;a[r>>2]=a[i>>2];a[r+4>>2]=A;r=a[f>>2]|0;A=a[r+180>>2]|0;i=0;while(1)if(!(a[A+(i<<2)>>2]|0))break;else i=i+1|0;e=a[r+172>>2]|0;A=0;while(1)if(!(a[e+(A<<2)>>2]|0))break;else A=A+1|0;a[r+176>>2]=0;A=qF((A+i<<2)+16|0)|0;r=a[f>>2]|0;a[r+172>>2]=A;a[r+184>>2]=0;r=qF(16)|0;A=a[f>>2]|0;a[A+180>>2]=r;A=A+164|0}return}function kz(A){A=A|0;var e=0,i=0,n=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0;G=k;k=k+16|0;C=G;I=A+16|0;g=a[I>>2]|0;Z=a[g+196>>2]|0;A=(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;E=a[g+248>>2]|0;a[C>>2]=E;a[C+4>>2]=A?5:E;E=f[g+236>>1]|0;A=g;while(1){if((E|0)>(f[A+238>>1]|0))break;d=Z+(E<<6)+4|0;a[(a[(a[a[d>>2]>>2]|0)+16>>2]|0)+232>>2]=0;B=Z+(E<<6)|0;v=+(a[C+((E&1)<<2)>>2]|0);o=0.0;c=0;A:while(1){if((c|0)>=(a[B>>2]|0))break;e=a[d>>2]|0;s=a[e+(c<<2)>>2]|0;g=s+16|0;A=a[g>>2]|0;n=+b[A+96>>3];b[A+240>>3]=n;if((a[A+208>>2]|0)>0){t=0;e=0;while(1){i=a[(a[A+204>>2]|0)+(t<<2)>>2]|0;if(!i)break;h=a[i>>2]&3;if((a[((h|0)==3?i:i+48|0)+40>>2]|0)==(a[((h|0)==2?i:i+-48|0)+40>>2]|0)){e=(mX(i)|0)+e|0;A=a[g>>2]|0}t=t+1|0}h=A+96|0;n=+b[h>>3]+ +(e|0);b[h>>3]=n;e=a[d>>2]|0}h=c+1|0;e=a[e+(h<<2)>>2]|0;if(e){u=e+16|0;n=n+v+ +b[(a[u>>2]|0)+88>>3];sz(s,e,n,0)|0;A=~~(n+o);a[(a[u>>2]|0)+232>>2]=A;o=+(A|0);A=a[g>>2]|0}e=a[A+112>>2]|0;if(e){t=a[A+256>>2]|0;c=a[t>>2]|0;t=a[t+4>>2]|0;A=(a[(a[(a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);i=A?t:c;t=A?c:t;c=e+16|0;A=a[c>>2]|0;n=+((U(a[(a[I>>2]|0)+248>>2]|0,l[A+170>>1]|0)|0)/2|0|0);u=a[i>>2]&3;e=a[((u|0)==2?i:i+-48|0)+40>>2]|0;i=a[((u|0)==3?i:i+48|0)+40>>2]|0;if(!(Gz(i,e)|0))sz(e,i,+(~~(+b[(a[e+16>>2]|0)+96>>3]+n+ +b[(a[i+16>>2]|0)+88>>3])|0),a[A+156>>2]|0)|0;A=a[t>>2]&3;e=a[((A|0)==3?t:t+48|0)+40>>2]|0;A=a[((A|0)==2?t:t+-48|0)+40>>2]|0;if(!(Gz(A,e)|0)){sz(e,A,+(~~(+b[(a[e+16>>2]|0)+96>>3]+n+ +b[(a[A+16>>2]|0)+88>>3])|0),a[(a[c>>2]|0)+156>>2]|0)|0;u=0}else u=0}else u=0;while(1){A=a[g>>2]|0;if((u|0)>=(a[A+192>>2]|0)){c=h;continue A}s=a[(a[A+188>>2]|0)+(u<<2)>>2]|0;c=a[s>>2]&3;i=a[((c|0)==3?s:s+48|0)+40>>2]|0;c=a[((c|0)==2?s:s+-48|0)+40>>2]|0;t=(a[(a[i+16>>2]|0)+236>>2]|0)<(a[(a[c+16>>2]|0)+236>>2]|0);e=t?i:c;i=t?c:i;n=+b[(a[i+16>>2]|0)+88>>3]+ +b[(a[e+16>>2]|0)+96>>3];c=s+16|0;t=~~(n+ +(U(a[(a[I>>2]|0)+248>>2]|0,l[(a[c>>2]|0)+170>>1]|0)|0));w=dW(e,i)|0;if(!w){A=a[c>>2]|0;if(!(a[A+96>>2]|0))sz(e,i,+(t|0),a[A+156>>2]|0)|0}else{Q=+(t|0);A=a[c>>2]|0;m=+b[A+136>>3];n=n+ +(a[(a[I>>2]|0)+248>>2]|0)+ +(~~(m+(m>=0.0?.5:-.5))|0);e=~~(n65535){wz(+(e|0));e=65535;A=a[c>>2]|0}c=a[w+16>>2]|0;t=c+170|0;i=l[t>>1]|0;f[t>>1]=(e|0)<(i|0)?i:e;c=c+156|0;a[c>>2]=a[(a[((a[c>>2]|0)>(a[A+156>>2]|0)?w:s)+16>>2]|0)+156>>2]}u=u+1|0}}E=E+1|0;A=a[I>>2]|0}k=G;return}function oz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;e=(a[A+16>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;n=e+16|0;e=a[n>>2]|0;i=a[e+256>>2]|0;A:do{if(i){f=0;while(1){i=a[i+(f<<2)>>2]|0;if(!i)break A;u=YW(A)|0;e=u+16|0;r[(a[e>>2]|0)+156>>0]=2;s=i+16|0;c=a[s>>2]|0;l=~~(+b[c+56>>3]-+b[c+16>>3]);w=(l|0)>0;t=w?0:0-l|0;l=w?l:0;w=i+48|0;sz(u,a[((a[i>>2]&3|0)==3?i:w)+40>>2]|0,+(l+1|0),a[c+156>>2]|0)|0;c=i+-48|0;sz(u,a[((a[i>>2]&3|0)==2?i:c)+40>>2]|0,+(t+1|0),a[(a[s>>2]|0)+156>>2]|0)|0;s=a[i>>2]&3;l=(a[(a[(a[((s|0)==3?i:w)+40>>2]|0)+16>>2]|0)+232>>2]|0)-l|0;i=(a[(a[(a[((s|0)==2?i:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-t|0;a[(a[e>>2]|0)+232>>2]=((l|0)<(i|0)?l:i)+-1;e=a[n>>2]|0;f=f+1|0;i=a[e+256>>2]|0}}}while(0);e=e+164|0}return}function hz(A){A=A|0;if((a[(a[A+16>>2]|0)+180>>2]|0)>0){gz(A);Ez(A);Cz(A);Iz(A)}return}function dz(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;r=A+16|0;f=a[(a[r>>2]|0)+8>>2]|0;if((a[f+84>>2]|0)==3?(e=+b[f+64>>3],i=+b[f+72>>3],!(i*e<=1.0)):0){Bz(A);f=a[r>>2]|0;i=(a[f+116>>2]&1|0)==0?e:i;sz(a[f+256>>2]|0,a[f+260>>2]|0,i<65535.0?i:65535.0,1e3)|0}return}function Bz(A){A=A|0;var e=0,i=0,r=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;s=w;i=kR(A,a[47144]|0,8,0)|0;vz(A);l=A+16|0;n=a[l>>2]|0;t=a[n+256>>2]|0;c=a[n+260>>2]|0;r=+(i|0);i=f[n+236>>1]|0;while(1){if((i|0)>(f[n+238>>1]|0))break;e=a[n+196>>2]|0;do{if(a[e+(i<<6)>>2]|0){e=a[a[e+(i<<6)+4>>2]>>2]|0;if(!e){a[s>>2]=Vh(A)|0;a[s+4>>2]=i;ao(1,86929,s)|0;break}else{sz(t,e,+b[(a[e+16>>2]|0)+88>>3]+r+ +b[n+96>>3],0)|0;n=a[l>>2]|0;e=a[n+196>>2]|0;e=a[(a[e+(i<<6)+4>>2]|0)+((a[e+(i<<6)>>2]|0)+-1<<2)>>2]|0;sz(e,c,+b[(a[e+16>>2]|0)+96>>3]+r+ +b[n+64>>3],0)|0;break}}}while(0);i=i+1|0;n=a[l>>2]|0}k=w;return}function vz(A){A=A|0;var e=0,i=0,f=0;e=A+16|0;if(!(a[(a[e>>2]|0)+256>>2]|0)){f=YW(gL(A)|0)|0;r[(a[f+16>>2]|0)+156>>0]=2;i=YW(gL(A)|0)|0;r[(a[i+16>>2]|0)+156>>0]=2;if((a[(a[e>>2]|0)+12>>2]|0?(gL(A)|0)!=(A|0):0)?(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0:0){A=a[e>>2]|0;sz(f,i,+(~~+b[A+48+((+b[A+48>>3]>+b[A+80>>3]?0:2)<<4)>>3]|0),0)|0}e=a[e>>2]|0;a[e+256>>2]=f;a[e+260>>2]=i}return}function gz(A){A=A|0;var e=0,i=0;do{if((gL(A)|0)!=(A|0)){Bz(A);A=A+16|0;e=a[A>>2]|0;e=dW(a[e+256>>2]|0,a[e+260>>2]|0)|0;if(!e){i=a[A>>2]|0;sz(a[i+256>>2]|0,a[i+260>>2]|0,1.0,128)|0;break}else{i=(a[e+16>>2]|0)+156|0;a[i>>2]=(a[i>>2]|0)+128;break}}else A=A+16|0}while(0);e=1;while(1){i=a[A>>2]|0;if((e|0)>(a[i+180>>2]|0))break;gz(a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function Ez(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0;c=kR(A,a[47144]|0,8,0)|0;k=A+16|0;e=a[k>>2]|0;w=+(c|0);c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0)){i=1;break}e=a[e+196>>2]|0;A:do{if(a[e+(c<<6)>>2]|0?(s=a[a[e+(c<<6)+4>>2]>>2]|0,s|0):0){l=s+16|0;i=a[(a[l>>2]|0)+236>>2]|0;while(1){if((i|0)<=0)break;i=i+-1|0;t=a[(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;n=t+16|0;e=a[n>>2]|0;if(!(r[e+156>>0]|0)){u=10;break}if(Zz(A,t)|0){u=9;break}}if((u|0)==9){e=a[n>>2]|0;u=10}if((u|0)==10){u=0;sz(t,a[(a[k>>2]|0)+256>>2]|0,+b[e+96>>3]+w,0)|0}i=(a[(a[(a[k>>2]|0)+196>>2]|0)+(c<<6)>>2]|0)+(a[(a[l>>2]|0)+236>>2]|0)|0;while(1){if((i|0)>=(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)>>2]|0))break A;l=a[(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;n=l+16|0;e=a[n>>2]|0;if(!(r[e+156>>0]|0))break;if(!(Zz(A,l)|0))i=i+1|0;else{u=15;break}}if((u|0)==15){u=0;e=a[n>>2]|0}sz(a[(a[k>>2]|0)+260>>2]|0,l,+b[e+88>>3]+w,0)|0}}while(0);c=c+1|0;e=a[k>>2]|0}while(1){if((i|0)>(a[e+180>>2]|0))break;Ez(a[(a[e+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=a[k>>2]|0}return}function Cz(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0;r=kR(A,a[47144]|0,8,0)|0;vz(A);e=A+16|0;i=+(r|0);A=1;while(1){r=a[e>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[(a[r+184>>2]|0)+(A<<2)>>2]|0;vz(r);f=a[e>>2]|0;n=r+16|0;sz(a[f+256>>2]|0,a[(a[n>>2]|0)+256>>2]|0,+b[f+96>>3]+i,0)|0;f=a[e>>2]|0;sz(a[(a[n>>2]|0)+260>>2]|0,a[f+260>>2]|0,+b[f+64>>3]+i,0)|0;Cz(r);A=A+1|0}return}function Iz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0.0,u=0,k=0;e=kR(A,a[47144]|0,8,0)|0;u=A+16|0;A=1;while(1){r=a[u>>2]|0;i=a[r+180>>2]|0;if((A|0)>(i|0))break;vz(a[(a[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}w=+(e|0);s=1;A=i;e=r;while(1){if((s|0)>(A|0))break;b=s+1|0;c=b;while(1){i=a[e+184>>2]|0;r=a[i+(s<<2)>>2]|0;if((c|0)>(A|0))break;i=a[i+(c<<2)>>2]|0;n=(f[(a[r+16>>2]|0)+236>>1]|0)>(f[(a[i+16>>2]|0)+236>>1]|0);t=n?i:r;i=n?r:i;r=a[t+16>>2]|0;n=a[i+16>>2]|0;k=f[n+236>>1]|0;l=k<<16>>16;if((f[r+238>>1]|0)>=k<<16>>16){A=(a[(a[(a[a[(a[r+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(a[(a[(a[a[(a[n+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);sz(a[(a[(A?t:i)+16>>2]|0)+260>>2]|0,a[(a[(A?i:t)+16>>2]|0)+256>>2]|0,w,0)|0;A=a[u>>2]|0;e=A;A=a[A+180>>2]|0}c=c+1|0}Iz(r);e=a[u>>2]|0;s=b;A=a[e+180>>2]|0}return}function Zz(A,e){A=A|0;e=e|0;var i=0;e=a[e+16>>2]|0;if((r[e+156>>0]|0)==1){e=a[a[e+256>>2]>>2]|0;while(1){i=a[(a[e+16>>2]|0)+116>>2]|0;if(!i)break;else e=i}if(!(Dd(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0))e=(Dd(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)==0&1;else e=0}else e=0;return e|0}function Gz(A,e){A=A|0;e=e|0;return Qz(A,e)|0}function Qz(A,e){A=A|0;e=e|0;var i=0,r=0;A:do{if((A|0)==(e|0))A=1;else{i=a[(a[A+16>>2]|0)+180>>2]|0;A=0;while(1){r=a[i+(A<<2)>>2]|0;if(!r){A=0;break A}if(!(Qz(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,e)|0))A=A+1|0;else{A=1;break}}}}while(0);return A|0}function mz(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;A=a[b>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;l=a[A+196>>2]|0;n=a[l+(c<<6)>>2]|0;l=l+(c<<6)+4|0;t=0;i=0;while(1){if((i|0)>=(n|0))break;e=a[(a[(a[l>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[e+236>>2]=t;if((r[e+159>>0]|0)==6)e=a[e+216>>2]|0;else e=1;t=e+t|0;i=i+1|0}if((t|0)>(n|0)){A=a[l>>2]|0;if(!A)A=$F((t<<2)+4|0)|0;else A=eV(A,(t<<2)+4|0)|0;i=a[(a[b>>2]|0)+196>>2]|0;a[i+(c<<6)+4>>2]=A;e=a[i+(c<<6)>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;l=a[i+(c<<6)+4>>2]|0;e=a[l+(A<<2)>>2]|0;a[l+(a[(a[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=A;i=a[(a[b>>2]|0)+196>>2]|0}a[i+(c<<6)>>2]=t;a[(a[i+(c<<6)+4>>2]|0)+(t<<2)>>2]=0;A=a[b>>2]|0}c=c+1|0}return}function Lz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+48|0;w=u+32|0;s=u+8|0;i=u+24|0;c=u+16|0;t=u;r=e+16|0;f=a[r>>2]|0;A:do{if((a[f+216>>2]|0)>=2){a[s>>2]=~~(+b[f+16>>3]-+b[f+88>>3]);a[s+4>>2]=~~+b[f+24>>3];a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];Wz(i,e,w);n=i;l=a[n+4>>2]|0;i=s;a[i>>2]=a[n>>2];a[i+4>>2]=l;i=a[r>>2]|0;if((a[i+184>>2]|0)>0){t=a[a[i+180>>2]>>2]|0;i=(a[i+236>>2]|0)+1|0;t=qo(A,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)|0;while(1){if(!t)break A;l=(a[t>>2]&3|0)==2?t:t+-48|0;r=l+48|0;f=a[((a[l>>2]&3|0)==3?l:r)+40>>2]|0;if((f|0)!=(e|0)?(CR(f)|0)==(e|0):0){f=a[((a[l>>2]&3|0)==3?l:r)+40>>2]|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];yz(c,A,f,w,i);f=c;r=a[f+4>>2]|0;n=s;a[n>>2]=a[f>>2];a[n+4>>2]=r;JW(l);n=l+-48|0;r=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;f=a[r+172>>2]|0;if(!f)r=$F((a[r+176>>2]<<2)+8|0)|0;else r=eV(f,(a[r+176>>2]<<2)+8|0)|0;a[(a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0)+172>>2]=r;o=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;r=a[o+172>>2]|0;o=o+176|0;f=a[o>>2]|0;a[o>>2]=f+1;a[r+(f<<2)>>2]=l;l=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;a[(a[l+172>>2]|0)+(a[l+176>>2]<<2)>>2]=0;i=i+1|0}t=$o(A,t)|0}}else{l=a[a[i+172>>2]>>2]|0;i=(a[i+236>>2]|0)+1|0;l=Oo(A,a[((a[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)|0;while(1){if(!l)break A;r=l+-48|0;f=a[((a[l>>2]&3|0)==2?l:r)+40>>2]|0;if((f|0)!=(e|0)?(CR(f)|0)==(e|0):0){f=a[((a[l>>2]&3|0)==2?l:r)+40>>2]|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];yz(t,A,f,w,i);f=t;r=a[f+4>>2]|0;n=s;a[n>>2]=a[f>>2];a[n+4>>2]=r;JW(l);n=l+48|0;r=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;f=a[r+180>>2]|0;if(!f)r=$F((a[r+184>>2]<<2)+8|0)|0;else r=eV(f,(a[r+184>>2]<<2)+8|0)|0;a[(a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0)+180>>2]=r;f=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;c=a[f+180>>2]|0;f=f+184|0;o=a[f>>2]|0;a[f>>2]=o+1;a[c+(o<<2)>>2]=l;o=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;a[(a[o+180>>2]|0)+(a[o+184>>2]<<2)>>2]=0;i=i+1|0}l=_o(A,l)|0}}}}while(0);k=u;return}function Wz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;DH(e,a[(a[(Id(e)|0)+16>>2]|0)+116>>2]&1);r=a[e+16>>2]|0;b[r+24>>3]=+(a[i+4>>2]|0);f=+b[r+88>>3]+ +(a[i>>2]|0);b[r+16>>3]=f;f=f+ +b[r+96>>3];a[i>>2]=~~(f+ +(a[(a[(Id(e)|0)+16>>2]|0)+248>>2]|0));r=i;e=a[r+4>>2]|0;i=A;a[i>>2]=a[r>>2];a[i+4>>2]=e;return}function yz(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;t=k;k=k+16|0;l=t;e=gL(e)|0;n=CR(i)|0;if((n|0)!=(i|0))WW(n,i);c=a[i+16>>2]|0;a[c+236>>2]=f;n=a[(a[n+16>>2]|0)+232>>2]|0;a[c+232>>2]=n;a[(a[(a[(a[e+16>>2]|0)+196>>2]|0)+(n<<6)+4>>2]|0)+(f<<2)>>2]=i;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];Wz(A,i,l);k=t;return}function zz(A){A=A|0;var e=0.0,i=0.0,r=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0.0;w=a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0;if((gL(A)|0)==(A|0))t=8.0;else t=+(kR(A,a[47144]|0,8,0)|0);s=A+16|0;n=a[s>>2]|0;r=0;c=1;i=+b[n+120>>3];e=+b[n+128>>3];while(1){if((c|0)>(a[n+180>>2]|0))break;l=a[(a[n+184>>2]|0)+(c<<2)>>2]|0;r=zz(l)|0|r;l=a[l+16>>2]|0;n=a[s>>2]|0;if((f[l+238>>1]|0)==(f[n+238>>1]|0)){u=+b[l+120>>3]+t;i=i>u?i:u}if((f[l+236>>1]|0)==(f[n+236>>1]|0)){u=+b[l+128>>3]+t;e=e>u?e:u}c=c+1|0}if((gL(A)|0)!=(A|0)?(a[(a[s>>2]|0)+12>>2]|0)!=0:0)if(!(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1)){c=a[s>>2]|0;r=1;i=+b[c+56>>3]+i;e=+b[c+88>>3]+e}else r=1;c=a[s>>2]|0;b[c+120>>3]=i;b[c+128>>3]=e;if((gL(A)|0)!=(A|0)){s=a[s>>2]|0;A=w+(f[s+236>>1]<<6)+24|0;u=+b[A>>3];b[A>>3]=u>e?u:e;w=w+(f[s+238>>1]<<6)+16|0;u=+b[w>>3];b[w>>3]=u>i?u:i}return r|0}function Yz(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0.0,h=0.0;k=a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0;if((gL(A)|0)==(A|0))i=0;else i=kR(A,a[47144]|0,8,0)|0;s=A+16|0;l=a[s>>2]|0;w=i+e|0;c=+(i|0);t=1;r=+b[l+128>>3];n=+b[l+120>>3];i=l;while(1){if((t|0)>(a[i+180>>2]|0))break;l=a[(a[i+184>>2]|0)+(t<<2)>>2]|0;Yz(l,w);l=a[l+16>>2]|0;i=a[s>>2]|0;if((f[l+238>>1]|0)==(f[i+238>>1]|0)){h=+b[l+120>>3]+c;n=n>h?n:h}if((f[l+236>>1]|0)==(f[i+236>>1]|0)){h=+b[l+128>>3]+c;r=r>h?r:h}t=t+1|0}b[i+120>>3]=n;b[i+128>>3]=r;if(((gL(A)|0)!=(A|0)?(u=a[s>>2]|0,a[u+12>>2]|0):0)?(o=-n-r+ +b[u+48+((+b[u+104>>3]>+b[u+72>>3]?3:1)<<4)+8>>3]-+b[(a[(a[a[k+(f[u+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +b[(a[(a[a[k+(f[u+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],o>0.0):0)Dz(A,~~o,e);if((gL(A)|0)!=(A|0)){u=a[s>>2]|0;w=k+(f[u+236>>1]<<6)+24|0;h=+b[w>>3];o=+b[u+128>>3];b[w>>3]=h>o?h:o;k=k+(f[u+238>>1]<<6)+16|0;o=+b[k>>3];h=+b[u+120>>3];b[k>>3]=o>h?o:h}return}function Dz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0;c=a[(gL(A)|0)+16>>2]|0;h=a[c+196>>2]|0;o=a[A+16>>2]|0;A=f[o+238>>1]|0;r=f[o+236>>1]|0;s=(e+1|0)/2|0;w=o+120|0;u=+b[w>>3];k=+(s|0);l=+(i|0);i=~~(k+l+u-+b[h+(A<<6)+16>>3]);if((i|0)>0){n=+(i|0);while(1){if((A|0)<(r|0))break;if((a[h+(A<<6)>>2]|0)>0){d=(a[(a[a[h+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;b[d>>3]=+b[d>>3]+n}A=A+-1|0}t=+b[o+128>>3];A=i;n=t+ +(e-s|0)}else{t=+b[o+128>>3];A=e-s|0;n=t}A=~~(+(A|0)+l+n-+b[h+(r<<6)+24>>3]);A:do{if((A|0)>0){i=f[c+236>>1]|0;n=+(A|0);while(1){A=r+-1|0;if((r|0)<=(i|0))break A;if((a[h+(A<<6)>>2]|0)<=0){r=A;continue}r=(a[(a[a[h+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;b[r>>3]=+b[r>>3]+n;r=A}}}while(0);b[o+128>>3]=t+ +(e-s|0);b[w>>3]=u+k;return}function Mz(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A+16>>2]|0;f=r[i+84>>0]|0;A=a[e+16>>2]|0;do{if(f<<24>>24==(r[A+84>>0]|0)){if(+b[i+56>>3]==+b[A+56>>3]){if(!(f<<24>>24==0?1:+b[i+64>>3]==+b[A+64>>3])){A=0;break}}else if(f<<24>>24){A=0;break}if(+b[i+16>>3]==+b[A+16>>3]?+b[i+24>>3]==+b[A+24>>3]:0){A=1;break}A=(r[i+44>>0]|0)==0&1}else A=0}while(0);return A|0}function Fz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=A+16|0;e=a[t>>2]|0;f[e+236>>1]=32767;f[e+238>>1]=-1;e=0;l=cd(A)|0;while(1){i=a[t>>2]|0;if(!l)break;r=i+238|0;n=a[(a[l+16>>2]|0)+232>>2]|0;if((n|0)>(f[r>>1]|0))f[r>>1]=n;i=i+236|0;if((n|0)<(f[i>>1]|0))f[i>>1]=n;if(!e)e=l;else e=(n|0)<(a[(a[e+16>>2]|0)+232>>2]|0)?l:e;l=bd(A,l)|0}a[i+264>>2]=e;return}function Vz(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0;e=po(A,86974)|0;if(!e)e=2147483647;else{n=+$3(e);e=~~(n*+(vh(A)|0))}r=A+16|0;i=0;while(1){f=a[r>>2]|0;if((i|0)>=(a[f+220>>2]|0))break;a[f+192>>2]=a[(a[f+216>>2]|0)+(i<<2)>>2];JV(A,(a[f+180>>2]|0)==0&1,e)|0;i=i+1|0}return}function Jz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=k;k=k+16|0;i=r;if(!(po(A,86983)|0))Xz(A,e);else{n=(a[A+16>>2]|0)+136|0;f[n>>1]=f[n>>1]|16;Nz(A,e)}if(0){n=a[15712]|0;A=a[A+16>>2]|0;e=f[A+236>>1]|0;a[i>>2]=f[A+238>>1];a[i+4>>2]=e;f3(n,86991,i)|0}k=r;return}function Nz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0.0;t=k;k=k+16|0;l=t;a[46747]=0;r[l>>0]=r[18588]|0;r[l+1>>0]=r[18589]|0;r[l+2>>0]=r[18590]|0;r[l+3>>0]=r[18591]|0;l=kh(87201,l,0)|0;Td(l,87230,280,1)|0;zd(l,17404,17344);Rz(A);i=po(A,86974)|0;if(!i)f=2147483647;else{c=+$3(i);f=~~(c*+(vh(A)|0))}iY(A,0);rY(A,l);fY(A,l);aY(A,l,0,0);nY(l);n=lY(l)|0;tY(l);if(e|0){KY(l);NY(l)}i=po(A,102586)|0;if(!i)i=-1;else i=q3(i)|0;iV(l,1,f,i)|0;cY(A,l,n);Bh(l)|0;k=t;return}function Xz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n+16|0;r=n+8|0;i=n;Rz(A);do{if(!e){Hz(A,A);$Y(A);pz(i,A);l=i;i=a[l+4>>2]|0;e=r;a[e>>2]=a[l>>2];a[e+4>>2]=i;jD(A,0);e=0}else{KY(A);NY(A);Hz(A,A);$Y(A);pz(i,A);t=i;i=a[t+4>>2]|0;l=r;a[l>>2]=a[t>>2];a[l+4>>2]=i;jD(A,0);l=a[A+16>>2]|0;if((a[l+220>>2]|0)<=1?(a[l+180>>2]|0)<=0:0)break;a[e+32>>2]=1;e=0}}while(0);FY(A);a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];if(Uz(A,f)|0)jD(A,0);if(!e)Vz(A);else XY(A,e);xz(A,e);Tz(A);k=n;return}function Rz(A){A=A|0;var e=0,i=0,n=0;if(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1){i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;n=(a[e+16>>2]|0)+170|0;f[n>>1]=(l[n>>1]|0)<<1;e=_o(A,e)|0}i=bd(A,i)|0}n=(a[A+16>>2]|0)+252|0;a[n>>2]=((a[n>>2]|0)+1|0)/2|0}return}function Hz(A,e){A=A|0;e=e|0;var i=0;e=RB(e)|0;while(1){if(!e)break;i=$z(e)|0;do{if(i)if((i|0)==7&(a[47135]|0)==100){Oz(A,e);break}else{AY(A,e,i);break}else Hz(A,e)}while(0);e=HB(e)|0}return}function pz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;t=e+16|0;i=a[t>>2]|0;e=a[i+228>>2]|0;i=a[i+224>>2]|0;f=(i|0)==0;if(!e)if(f){c=0;b=0}else n=4;else if(f)n=5;else n=4;if((n|0)==4){e=CR(i)|0;i=a[t>>2]|0;a[i+224>>2]=e;e=a[i+228>>2]|0;if(!e){l=0;e=i;n=12}else n=5}do{if((n|0)==5){e=CR(e)|0;i=a[t>>2]|0;a[i+228>>2]=e;if(e){i=e+16|0;e=a[i>>2]|0;f=(r[e+159>>0]|0)==5&1;while(1){e=a[a[e+180>>2]>>2]|0;if(!e){n=11;break}l=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((l|0)!=(CR(l)|0)){n=9;break}MY(e);e=a[i>>2]|0}if((n|0)==9)vA(87094,87034,346,87126);else if((n|0)==11){l=f;e=a[t>>2]|0;n=12;break}}else{l=0;e=i;n=12}}}while(0);A:do{if((n|0)==12){e=a[e+224>>2]|0;if(!e){c=0;b=l}else{i=e+16|0;e=a[i>>2]|0;f=(r[e+159>>0]|0)==3&1;while(1){e=a[a[e+172>>2]>>2]|0;if(!e){c=f;b=l;break A}t=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((t|0)!=(CR(t)|0))break;MY(e);e=a[i>>2]|0}vA(87139,87034,353,87126)}}}while(0);a[A>>2]=c;a[A+4>>2]=b;return}function Uz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0;c=A+16|0;t=a[c>>2]|0;if((a[t+228>>2]|0)==0?(a[t+224>>2]|0)==0:0)e=0;else i=3;A:do{if((i|0)==3){n=cd(A)|0;t=e+4|0;l=a[e>>2]&65535;e=0;while(1){if(!n)break A;if((n|0)==(CR(n)|0)){r=n+16|0;i=a[r>>2]|0;if((a[i+184>>2]|0)==0?(b=a[(a[c>>2]|0)+228>>2]|0,!((b|0)==0|(n|0)==(b|0))):0){e=mW(n,b,0)|0;i=a[e+16>>2]|0;f[i+170>>1]=a[t>>2];a[i+156>>2]=0;i=a[r>>2]|0}if((a[i+176>>2]|0)==0?(s=a[(a[c>>2]|0)+224>>2]|0,!((s|0)==0|(n|0)==(s|0))):0){e=mW(s,n,0)|0;r=a[e+16>>2]|0;f[r+170>>1]=l;a[r+156>>2]=0}}n=bd(A,n)|0}}}while(0);return(e|0)!=0|0}function xz(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;n=cd(A)|0;b=A+16|0;i=a[b>>2]|0;A:do{if(n){f[i+236>>1]=32767;f[i+238>>1]=-1;c=(e|0)==0;while(1){if(!n)break;i=CR(n)|0;t=a[n+16>>2]|0;e=a[t+232>>2]|0;do{if((i|0)!=(n|0)){if(!c)if(!e)e=0;else break;e=e+(a[(a[i+16>>2]|0)+232>>2]|0)|0;a[t+232>>2]=e}}while(0);i=a[b>>2]|0;l=i+238|0;if((e|0)>(f[l>>1]|0))f[l>>1]=e;i=i+236|0;if((e|0)<(f[i>>1]|0))f[i>>1]=e;switch(r[t+159>>0]|0){case 6:case 0:break;default:ZR(n)}n=bd(A,n)|0}if((gL(A)|0)==(A|0)){if((a[47135]|0)==100)e=1;else{Pz(A);break}while(1){i=a[b>>2]|0;if((e|0)>(a[i+180>>2]|0))break A;Sz(a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{f[i+238>>1]=0;f[i+236>>1]=0}}while(0);return}function Tz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=A+16|0;i=0;while(1){e=a[c>>2]|0;if((i|0)>=(a[e+220>>2]|0))break;t=a[(a[e+216>>2]|0)+(i<<2)>>2]|0;a[e+192>>2]=t;e=t;while(1){if(!e)break;t=e+16|0;jz((a[t>>2]|0)+172|0);jz((a[t>>2]|0)+180|0);t=a[t>>2]|0;r[t+157>>0]=0;e=a[t+164>>2]|0}i=i+1|0}t=cd(A)|0;while(1){if(!t)break;l=Oo(A,t)|0;while(1){if(!l)break;f=l+16|0;e=a[f>>2]|0;n=a[e+172>>2]|0;if((n|0)!=0?(b=n+16|0,(l|0)==(a[(a[b>>2]|0)+116>>2]|0)):0){e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;if((l|0)!=(i|0)?(s=(a[i+16>>2]|0)+172|0,w=a[s>>2]|0,(w|0)!=0&(n|0)==(w|0)):0)a[s>>2]=0;i=_o(A,i)|0}e=bd(A,e)|0}L2(a[b>>2]|0);L2(n);e=a[f>>2]|0}a[e+172>>2]=0;l=_o(A,l)|0}t=bd(A,t)|0}L2(a[(a[c>>2]|0)+216>>2]|0);w=a[c>>2]|0;a[w+216>>2]=0;a[w+220>>2]=0;return}function jz(A){A=A|0;var e=0,i=0;i=A+4|0;e=a[i>>2]|0;while(1){if((e|0)<=-1)break;a[(a[A>>2]|0)+(e<<2)>>2]=0;e=e+-1|0}a[i>>2]=0;return}function Sz(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=a[e>>2]|0;r=a[(a[(a[i+264>>2]|0)+16>>2]|0)+232>>2]|0;A=i+236|0;f[A>>1]=r+(l[A>>1]|0);A=i+238|0;f[A>>1]=r+(l[A>>1]|0);A=1;while(1){if((A|0)>(a[i+180>>2]|0))break;Sz(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0;i=a[e>>2]|0}return}function Pz(A){A=A|0;var e=0;e=RB(gL(A)|0)|0;while(1){if(!e)break;if((r[(a[e+16>>2]|0)+274>>0]|0)==7)Oz(A,e);e=HB(e)|0}return}function Oz(A,e){A=A|0;e=e|0;var i=0;i=(a[e+16>>2]|0)+200|0;do{if((a[i>>2]|0)==0?(a[i>>2]=A,Kz(A,e),cd(e)|0):0){_z(A,e);if((a[47135]|0)==100){Xz(e,0);qz(e);break}else{Fz(e);break}}}while(0);return}function Kz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;l=A+16|0;n=cd(e)|0;while(1){if(!n)break;t=bd(e,n)|0;c=n+16|0;if(!(r[(a[c>>2]|0)+159>>0]|0))f=1;else{Cd(e,n)|0;n=t;continue}while(1){i=a[l>>2]|0;A=a[i+180>>2]|0;if((f|0)>=(A|0))break;if(Dd(a[(a[i+184>>2]|0)+(f<<2)>>2]|0,n)|0){b=7;break}f=f+1|0}if((b|0)==7){b=0;A=a[(a[l>>2]|0)+180>>2]|0}if((f|0)<(A|0))Cd(e,n)|0;a[(a[c>>2]|0)+212>>2]=0;n=t}i=cd(e)|0;while(1){if(!i)break;A=Oo(gL(e)|0,i)|0;while(1){if(!A)break;if(Dd(e,a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)wh(e,A,1)|0;A=_o(gL(e)|0,A)|0}i=bd(e,i)|0}return}function _z(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+16|0;i=a[r>>2]|0;n=i+180|0;A=a[n>>2]|0;f=A+1|0;a[n>>2]=f;i=a[i+184>>2]|0;if(!i)A=qF((A<<2)+8|0)|0;else A=AV(i,A+2|0,4,f)|0;a[(a[r>>2]|0)+184>>2]=A;a[A+(f<<2)>>2]=e;JF(e);return}function qz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=a[A+16>>2]|0;e=n+192|0;l=0;while(1){e=a[e>>2]|0;if(!e)break;f=a[e+16>>2]|0;if(!(a[f+232>>2]|0))i=(r[f+156>>0]|0)==0?e:l;else i=l;e=f+164|0;l=i}if(!l)vA(87019,87034,238,87041);a[n+264>>2]=l;e=cd(A)|0;while(1){if(!e){e=13;break}i=e+16|0;if(!((e|0)==(l|0)?1:(a[(a[i>>2]|0)+216>>2]|0)<2)){e=11;break}IR(e,l)|0;r[(a[i>>2]|0)+159>>0]=7;e=bd(A,e)|0}if((e|0)==11)vA(87056,87034,242,87041);else if((e|0)==13)return}function $z(A){A=A|0;var e=0;if(!(eY(A)|0)){e=YR(po(A,87171)|0,17356,17380)|0;r[(a[A+16>>2]|0)+274>>0]=e;A=e}else A=7;return A|0}function AY(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;n=cd(e)|0;A:do{if(n|0){c=i&255;t=n+16|0;f=n;l=c;while(1){r[(a[f+16>>2]|0)+159>>0]=l;f=bd(e,f)|0;if(!f)break;IR(n,f)|0;l=r[(a[t>>2]|0)+159>>0]|0}switch(i|0){case 3:case 2:{A=A+16|0;f=a[A>>2]|0;l=a[f+224>>2]|0;if(l){n=IR(l,n)|0;f=a[A>>2]|0}a[f+224>>2]=n;break}case 5:case 4:{A=A+16|0;f=a[A>>2]|0;l=a[f+228>>2]|0;if(l){n=IR(l,n)|0;f=a[A>>2]|0}a[f+228>>2]=n;break}default:break A}switch(i|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break A}r[(a[(a[f>>2]|0)+16>>2]|0)+159>>0]=c}}while(0);return}function eY(A){A=A|0;return(Z1(Vh(A)|0,108006,7)|0)==0|0}function iY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;n=s;if(!(IY(A)|0)){do{if(PR(A)|0)if(!e){a[(a[A+16>>2]|0)+204>>2]=0;e=A;break}else{a[(a[A+16>>2]|0)+204>>2]=(a[(a[e+16>>2]|0)+204>>2]|0)+1;ZY(A,e);e=A;break}}while(0);i=RB(A)|0;while(1){if(!i)break;iY(i,e);i=HB(i)|0}A:do{if(PR(A)|0){i=cd(A)|0;while(1){if(!i)break A;f=(a[i+16>>2]|0)+212|0;if(!(a[f>>2]|0))a[f>>2]=A;i=bd(A,i)|0}}}while(0);switch(GY(A)|0){case 3:{e=e+16|0;r[(a[e>>2]|0)+241>>0]=1;b=19;break}case 2:{e=e+16|0;b=19;break}case 5:{e=e+16|0;r[(a[e>>2]|0)+242>>0]=1;b=21;break}case 4:{e=e+16|0;b=21;break}case 1:{QY(A)|0;break}case 6:break;default:{i=Vh(A)|0;f=po(A,87171)|0;a[n>>2]=i;a[n+4>>2]=f;ao(0,87354,n)|0}}if((b|0)==19){b=QY(A)|0;b=mY(b,a[(a[e>>2]|0)+208>>2]|0)|0;a[(a[e>>2]|0)+208>>2]=b}else if((b|0)==21){b=QY(A)|0;b=mY(b,a[(a[e>>2]|0)+212>>2]|0)|0;a[(a[e>>2]|0)+212>>2]=b}if((PR(A)|0?(l=A+16|0,t=a[l>>2]|0,c=a[t+208>>2]|0,c|0):0)?(c|0)==(a[t+212>>2]|0):0){c=QY(A)|0;b=a[l>>2]|0;a[b+208>>2]=c;a[b+212>>2]=c}}k=s;return}function rY(A,e){A=A|0;e=e|0;var i=0,r=0;a[46747]=0;i=cd(A)|0;while(1){if(!i)break;if((bY(i)|0)==(i|0)){r=uY(e,Vh(i)|0)|0;a[(a[i+16>>2]|0)+148>>2]=r}i=bd(A,i)|0}i=cd(A)|0;while(1){if(!i)break;e=i+16|0;if(!(a[(a[e>>2]|0)+148>>2]|0)){r=a[(a[(bY(i)|0)+16>>2]|0)+148>>2]|0;a[(a[e>>2]|0)+148>>2]=r}i=bd(A,i)|0}return}function fY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=cd(A)|0;while(1){if(!l)break;i=a[(a[l+16>>2]|0)+148>>2]|0;t=Oo(A,l)|0;while(1){if(!t)break;do{if((BY(t)|0)==0?(c=t+-48|0,b=a[(a[(bY(a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(i|0)!=(b|0)):0){f=a[t>>2]&3;n=t+48|0;r=((f|0)==3?t:n)+40|0;f=a[(a[(a[((f|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(vY(t)|0)){if((dY(a[(a[(a[r>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(dY(f)|0)==0:0){gY(e,i,b,t);break}EY(e,i,b,t);break}else{f=bY(a[r>>2]|0)|0;r=a[t>>2]&3;if((f|0)!=(a[(a[(a[(a[(a[((r|0)==3?t:n)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(n=bY(a[((r|0)==2?t:c)+40>>2]|0)|0,(n|0)!=(a[(a[(a[(a[(a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)r=b;else{r=i;i=b}gY(e,i,r,t);break}}}while(0);t=_o(A,t)|0}l=bd(A,l)|0}return}function aY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;if((PR(A)|0)!=0?(dY(A)|0)!=0:0){n=cd(A)|0;while(1){if(!n)break;if(!(qo(A,n)|0)){f=a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0;if(!i)i=uY(e,87252)|0;th(e,i,f,0,1)|0}if(!(Oo(A,n)|0)){f=a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0;if(!r)r=uY(e,87257)|0;th(e,f,r,0,1)|0}n=bd(A,n)|0}if((r|0)!=0&(i|0)!=0){hY(th(e,i,r,0,1)|0,0,1e3);f=i}else f=i}else f=i;i=RB(A)|0;while(1){if(!i)break;aY(i,e,f,r);i=HB(i)|0}return}function nY(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;r[i+158>>0]=0;r[i+157>>0]=0;e=bd(A,e)|0}e=cd(A)|0;while(1){if(!e)break;kY(A,e);e=bd(A,e)|0}return}function lY(A){A=A|0;var e=0,i=0,r=0,f=0;e=cd(A)|0;while(1){if(!e)break;a[(a[e+16>>2]|0)+128>>2]=0;e=bd(A,e)|0}e=0;r=cd(A)|0;while(1){if(!r)break;i=e+1|0;if(!(a[(a[r+16>>2]|0)+128>>2]|0)){wY(A,r,i);e=i}r=bd(A,r)|0}A:do{if((e|0)>1){f=uY(A,87246)|0;i=1;r=cd(A)|0;while(1){if(!r)break A;if((a[(a[r+16>>2]|0)+128>>2]|0)==(i|0)){th(A,f,r,0,1)|0;i=i+1|0}r=bd(A,r)|0}}}while(0);return e|0}function tY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;n=cd(A)|0;while(1){if(!n)break;l=n+16|0;f=Oo(A,n)|0;while(1){if(!f)break;e=a[l>>2]|0;i=a[e+180>>2]|0;if(!i)e=$F((a[e+184>>2]<<2)+8|0)|0;else e=eV(i,(a[e+184>>2]<<2)+8|0)|0;i=a[l>>2]|0;a[i+180>>2]=e;i=i+184|0;r=a[i>>2]|0;a[i>>2]=r+1;a[e+(r<<2)>>2]=f;r=a[l>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=f+-48|0;e=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;a[(a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;t=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;e=a[t+172>>2]|0;t=t+176|0;i=a[t>>2]|0;a[t>>2]=i+1;a[e+(i<<2)>>2]=f;r=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;a[(a[r+172>>2]|0)+(a[r+176>>2]<<2)>>2]=0;f=_o(A,f)|0}n=bd(A,n)|0}return}function cY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;u=A+16|0;k=a[u>>2]|0;f[k+236>>1]=32767;f[k+238>>1]=-1;A:do{if((i|0)>1){n=qF((i<<2)+4|0)|0;r=i+1|0;i=1;while(1){if((i|0)==(r|0)){w=n;k=n;break A}a[n+(i<<2)>>2]=32767;i=i+1|0}}else{w=0;k=0}}while(0);t=(w|0)==0;n=cd(A)|0;while(1){if(!n)break;c=a[(a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;b=a[c+232>>2]|0;s=a[n+16>>2]|0;a[s+232>>2]=b;i=a[u>>2]|0;r=i+238|0;if((b|0)>(f[r>>1]|0))f[r>>1]=b;i=i+236|0;if((b|0)<(f[i>>1]|0))f[i>>1]=b;if(!t){c=a[c+128>>2]|0;a[s+128>>2]=c;s=w+(c<<2)|0;c=a[s>>2]|0;a[s>>2]=(c|0)<(b|0)?c:b}n=bd(A,n)|0}c=(w|0)!=0;A:do{if(!c){w=f[(a[u>>2]|0)+236>>1]|0;r=w<<16>>16;if(w<<16>>16>0){i=cd(A)|0;while(1){if(!i)break;w=(a[i+16>>2]|0)+232|0;a[w>>2]=(a[w>>2]|0)-r;i=bd(A,i)|0}i=a[u>>2]|0;u=i+236|0;f[u>>1]=(l[u>>1]|0)-r;i=i+238|0;f[i>>1]=(l[i>>1]|0)-r;i=0}else i=0}else{i=cd(A)|0;while(1){if(!i){i=1;break A}s=a[i+16>>2]|0;u=s+232|0;a[u>>2]=(a[u>>2]|0)-(a[w+(a[s+128>>2]<<2)>>2]|0);i=bd(A,i)|0}}}while(0);sY(A,i);t=cd(e)|0;while(1){if(!t)break;r=t+16|0;i=a[r>>2]|0;n=a[i+172>>2]|0;if(n){L2(n);i=a[r>>2]|0}i=a[i+180>>2]|0;if(i|0)L2(i);t=bd(e,t)|0}L2(a[(a[(cd(A)|0)+16>>2]|0)+112>>2]|0);i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+112>>2]=0;i=bd(A,i)|0}if(c)L2(k);return}function bY(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=(a[e>>2]|0)+152|0;r=a[i>>2]|0;if(r){if((r|0)!=(A|0)){r=bY(r)|0;a[(a[e>>2]|0)+152>>2]=r;return r|0}}else a[i>>2]=A;return A|0}function sY(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0;t=A+16|0;i=1;while(1){r=a[t>>2]|0;if((i|0)>(a[r+180>>2]|0))break;sY(a[(a[r+184>>2]|0)+(i<<2)>>2]|0,0);i=i+1|0}if((e|0)!=0|(a[r+200>>2]|0)!=0){f[r+236>>1]=32767;f[r+238>>1]=-1;i=0;l=cd(A)|0;while(1){if(!l)break;n=a[(a[l+16>>2]|0)+232>>2]|0;e=a[t>>2]|0;r=e+238|0;if((n|0)>(f[r>>1]|0))f[r>>1]=n;e=e+236|0;if((n|0)<(f[e>>1]|0)){f[e>>1]=n;i=l}l=bd(A,l)|0}a[(a[t>>2]|0)+264>>2]=i}return}function wY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[e+16>>2]|0)+128|0;A:do{if(!(a[r>>2]|0)){a[r>>2]=i;r=Oo(A,e)|0;while(1){if(!r)break;wY(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,i);r=_o(A,r)|0}r=qo(A,e)|0;while(1){if(!r)break A;wY(A,a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,i);r=$o(A,r)|0}}}while(0);return}function uY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=vd(A,e,1)|0;e=f+16|0;a[(a[e>>2]|0)+176>>2]=0;r=qF(20)|0;i=a[e>>2]|0;a[i+172>>2]=r;a[i+184>>2]=0;i=qF(20)|0;e=a[e>>2]|0;a[e+180>>2]=i;i=a[46747]|0;r=e+168|0;if(!i){a[r>>2]=0;a[(a[A+16>>2]|0)+192>>2]=f}else{a[r>>2]=i;a[(a[i+16>>2]|0)+164>>2]=f}a[46747]=f;a[e+164>>2]=0;return f|0}function kY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=e+16|0;i=a[l>>2]|0;f=i+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;r[i+158>>0]=1;e=Oo(A,e)|0;while(1){if(!e)break;i=_o(A,e)|0;f=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;n=a[f+16>>2]|0;if(r[n+158>>0]|0){oY(A,e);e=i;continue}if(r[n+157>>0]|0){e=i;continue}kY(A,f);e=i}r[(a[l>>2]|0)+158>>0]=0}return}function oY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[e>>2]&3;f=e+-48|0;r=e+48|0;i=th(A,a[((i|0)==2?e:f)+40>>2]|0,a[((i|0)==3?e:r)+40>>2]|0,0,0)|0;if(!i){i=a[e>>2]&3;i=th(A,a[((i|0)==2?e:f)+40>>2]|0,a[((i|0)==3?e:r)+40>>2]|0,0,1)|0}f=a[e+16>>2]|0;hY(i,l[f+170>>1]|0,a[f+156>>2]|0);Cd(A,e)|0;return}function hY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A=a[A+16>>2]|0;r=A+170|0;n=l[r>>1]|0;f[r>>1]=(n|0)>(e|0)?n:e;e=A+156|0;a[e>>2]=(a[e>>2]|0)+i;return}function dY(A){A=A|0;return(ER(po(A,87262)|0,0)|0)&255|0}function BY(A){A=A|0;var e=0,i=0;e=a[47189]|0;if((((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(gR(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function vY(A){A=A|0;var e=0,i=0;i=a[A>>2]&3;e=a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;A=a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((e|0)==(A|0))return 1;else{i=CY(e,A)|0;return((i|0)==(e|0)|(i|0)==(A|0))&1|0}return 0}function gY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,t=0,c=0;c=k;k=k+16|0;n=c;f=th(A,e,i,0,0)|0;if(!f){f=th(A,i,e,0,0)|0;if(!f){f=th(A,e,i,0,1)|0;if(!f){e=Vh(e)|0;r=Vh(i)|0;a[n>>2]=e;a[n+4>>2]=r;ao(1,87279,n)|0}else t=4}else t=4}else t=4;if((t|0)==4){t=a[r+16>>2]|0;hY(f,l[t+170>>1]|0,a[t+156>>2]|0)}k=c;return}function EY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+112|0;c=s;t=s+4|0;n=qo(A,e)|0;while(1){if(!n){b=6;break}w=Oo(A,a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;if(w|0?(a[((a[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0)==(i|0):0)break;n=$o(A,n)|0}if((b|0)==6){w=a[46748]|0;a[46748]=w+1;a[c>>2]=w;P4(t,87270,c)|0;t=uY(A,t)|0;w=th(A,t,e,0,1)|0;t=th(A,t,i,0,1)|0;i=a[r+16>>2]|0;b=i+156|0;w=(a[w+16>>2]|0)+156|0;a[w>>2]=(a[w>>2]|0)+((a[b>>2]|0)*1e3|0);w=a[t+16>>2]|0;c=w+170|0;f[c>>1]=f[(a[((l[c>>1]|0)>(l[i+170>>1]|0)?t:r)+16>>2]|0)+170>>1]|0;w=w+156|0;a[w>>2]=(a[w>>2]|0)+(a[b>>2]|0)}k=s;return}function CY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A:while(1){r=A+16|0;while(1){if((A|0)==(e|0))break A;f=a[r>>2]|0;i=a[e+16>>2]|0;if((a[f+204>>2]|0)>=(a[i+204>>2]|0))break;e=a[i+200>>2]|0}A=a[f+200>>2]|0}return A|0}function IY(A){A=A|0;return(cd(A)|0)==0|0}function ZY(A,e){A=A|0;e=e|0;a[(a[A+16>>2]|0)+200>>2]=e;_z(e,A);Kz(e,A);return}function GY(A){A=A|0;var e=0;A=po(A,87171)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)if(A1(A,87181)|0)if(A1(A,87185)|0)if(A1(A,87192)|0)if(A1(A,87196)|0)if(!(A1(A,87176)|0))A=1;else e=8;else A=5;else A=4;else A=3;else A=2;else e=8;if((e|0)==8)A=6;return A|0}function QY(A){A=A|0;var e=0,i=0;i=cd(A)|0;A:do{if(!i)e=0;else{e=bY(i)|0;while(1){i=bd(A,i)|0;if(!i)break A;mY(e,i)|0}}}while(0);return e|0}function mY(A,e){A=A|0;e=e|0;if(e){A=bY(A)|0;a[(a[(bY(e)|0)+16>>2]|0)+152>>2]=A}return A|0}function LY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87230,a[i>>2]|0,1)|0;return}function WY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87397,a[i+4>>2]|0,1)|0;return}function yY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87382,a[i+8>>2]|0,1)|0;return}function zY(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+240|0;s=o+120|0;w=o;a[47193]=Yo(A,2,87412,0)|0;b=Yo(A,2,87421,0)|0;a[47194]=b;A:do{if((b|0)!=0|(a[47193]|0)!=0){b=cd(A)|0;while(1){if(!b)break A;c=0;e=0;t=Ah(A,b)|0;while(1){if(!t){f=0;break}i=a[t>>2]|0;n=i&3;f=a[((n|0)==2?t:t+-48|0)+40>>2]|0;l=t+48|0;e:do{if((f|0)!=(a[((n|0)==3?t:l)+40>>2]|0)){n=a[47193]|0;do{if((f|0)==(b|0)&(n|0)!=0){f=Uo(t,n)|0;if(!(r[f>>0]|0)){i=a[t>>2]|0;break}else{i=c;e=YY(s,e,b,t,f)|0;break e}}}while(0);f=a[47194]|0;if((f|0?(a[((i&3|0)==3?t:l)+40>>2]|0)==(b|0):0)?(u=Uo(t,f)|0,(r[u>>0]|0)!=0):0)i=YY(w,c,b,t,u)|0;else i=c}else i=c}while(0);c=i;t=eh(A,t,b)|0}while(1){if((f|0)>=(e|0)){i=0;break}i=s+(f*24|0)+4|0;if((a[s+(f*24|0)+8>>2]|0)>1)DY(b,i);i=a[i>>2]|0;if(i|0)L2(i);f=f+1|0}while(1){if((i|0)>=(c|0))break;e=w+(i*24|0)+4|0;if((a[w+(i*24|0)+8>>2]|0)>1)DY(b,e);e=a[e>>2]|0;if(e|0)L2(e);i=i+1|0}b=bd(A,b)|0}}}while(0);k=o;return}function YY(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;o=k;k=k+16|0;c=o;s=o+12|0;w=o+8|0;u=0;while(1){if((u|0)>=(e|0)){t=10;break}t=a[A+(u*24|0)>>2]|0;if((r[t>>0]|0)==(r[n>>0]|0)?(A1(t,n)|0)==0:0){t=5;break}u=u+1|0}do{if((t|0)==5){c=A+(u*24|0)+4|0;t=a[c>>2]|0;if(!t){t=A+(u*24|0)+8|0;n=t;t=$F((a[t>>2]<<2)+8|0)|0}else{h=A+(u*24|0)+8|0;n=h;t=eV(t,(a[h>>2]<<2)+8|0)|0}a[c>>2]=t;d=a[n>>2]|0;h=d+1|0;a[n>>2]=h;a[t+(d<<2)>>2]=f;a[(a[c>>2]|0)+(h<<2)>>2]=0;t=13}else if((t|0)==10)if((e|0)>4){d=Vh(i)|0;a[c>>2]=5;a[c+4>>2]=d;ao(1,87430,c)|0;break}else{B=A+(u*24|0)+8|0;a[B>>2]=0;c=qF(8)|0;d=A+(u*24|0)+4|0;a[d>>2]=c;h=a[B>>2]|0;t=h+1|0;a[B>>2]=t;a[c+(h<<2)>>2]=f;a[(a[d>>2]|0)+(t<<2)>>2]=0;a[A+(u*24|0)>>2]=n;a[A+(u*24|0)+12>>2]=0;b[A+(u*24|0)+16>>3]=0.0;e=e+1|0;t=13;break}}while(0);if((t|0)==13){DC(f,s,w);t=(a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(i|0)?a[w>>2]|0:a[s>>2]|0;if(t){d=A+(u*24|0)+12|0;B=a[d>>2]|0;a[d>>2]=B+1;if(!B)l=+JC(f,t);else l=0.0;b[A+(u*24|0)+16>>3]=l}}k=o;return e|0}function DY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0;I=k;k=k+80|0;v=I+68|0;g=I+64|0;d=I;E=e+4|0;w=a[E>>2]|0;C=A+16|0;l=0;o=0.0;h=0.0;while(1){if((l|0)>=(w|0))break;f=a[(a[e>>2]|0)+(l<<2)>>2]|0;n=a[f>>2]&3;i=a[((n|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(A|0))i=a[((n|0)==3?f:f+48|0)+40>>2]|0;n=a[i+16>>2]|0;B=a[C>>2]|0;c=+b[n+16>>3]-+b[B+16>>3];s=+b[n+24>>3]-+b[B+24>>3];u=+v1(c,s);l=l+1|0;o=c/u+o;h=s/u+h}t=+v1(o,h);B=a[C>>2]|0;c=+b[B+16>>3];s=+b[B+24>>3];Z=+b[B+96>>3]+ +b[B+88>>3];u=+b[B+80>>3];B=Z>u+ +(a[(a[(Id(A)|0)+16>>2]|0)+252>>2]|0);i=a[C>>2]|0;if(B)u=+b[i+96>>3]+ +b[i+88>>3];else{u=+b[i+80>>3];u=u+ +(a[(a[(Id(A)|0)+16>>2]|0)+252>>2]|0);i=a[C>>2]|0}Z=+b[i+16>>3]+u*(o/t);t=+b[i+24>>3]+u*(h/t);b[d>>3]=c;w=d+8|0;b[w>>3]=s;b[d+16>>3]=(Z+c*2.0)*.3333333333333333;b[d+24>>3]=(t+s*2.0)*.3333333333333333;b[d+32>>3]=(Z*2.0+c)*.3333333333333333;b[d+40>>3]=(t*2.0+s)*.3333333333333333;b[d+48>>3]=Z;b[d+56>>3]=t;dX(A,d);B=a[C>>2]|0;t=+b[d>>3]-+b[B+16>>3];c=+b[w>>3]-+b[B+24>>3];t=+(~~(t+(t>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);Z=+b[B+88>>3];B=~~((Z+t)*256.0/(+b[B+96>>3]+Z))&255;d=0;while(1){if((d|0)>=(a[E>>2]|0))break;w=a[(a[e>>2]|0)+(d<<2)>>2]|0;DC(w,v,g);while(1){if(!w)break;else n=w;while(1){if(!n){l=w;break}i=a[n>>2]|0;l=n+-48|0;if((a[((i&3|0)==2?n:l)+40>>2]|0)==(A|0)){i=a[n+16>>2]|0;b[i+56>>3]=t;b[i+64>>3]=c;b[i+72>>3]=0.0;a[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=B;r[i+89>>0]=0;a[i+92>>2]=0;i=a[n>>2]|0}f=n+16|0;if((a[((i&3|0)==3?n:n+48|0)+40>>2]|0)==(A|0)){i=a[f>>2]|0;b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=0.0;a[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=B;r[i+49>>0]=0;a[i+52>>2]=0}if((r[(a[f>>2]|0)+112>>0]|0)!=1){n=0;continue}i=a[(a[((a[n>>2]&3|0)==2?n:l)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){n=0;continue}if((a[i+184>>2]|0)!=1){n=0;continue}n=a[a[i+180>>2]>>2]|0}while(1){if(!l)break;i=a[l>>2]|0;if((a[((i&3|0)==2?l:l+-48|0)+40>>2]|0)==(A|0)){i=a[l+16>>2]|0;b[i+56>>3]=t;b[i+64>>3]=c;b[i+72>>3]=0.0;a[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=B;r[i+89>>0]=0;a[i+92>>2]=0;i=a[l>>2]|0}f=l+48|0;n=l+16|0;if((a[((i&3|0)==3?l:f)+40>>2]|0)==(A|0)){i=a[n>>2]|0;b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=0.0;a[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=B;r[i+49>>0]=0;a[i+52>>2]=0}if((r[(a[n>>2]|0)+112>>0]|0)!=1){l=0;continue}i=a[(a[((a[l>>2]&3|0)==3?l:f)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){l=0;continue}if((a[i+176>>2]|0)!=1){l=0;continue}l=a[a[i+172>>2]>>2]|0}w=a[(a[w+16>>2]|0)+172>>2]|0}d=d+1|0}r[(a[C>>2]|0)+145>>0]=1;k=I;return}function MY(A){A=A|0;var e=0,i=0,r=0;CW(A);e=a[A>>2]&3;i=A+-48|0;r=A+48|0;e=dW(a[((e|0)==2?A:i)+40>>2]|0,a[((e|0)==3?A:r)+40>>2]|0)|0;if(!e){e=a[A>>2]&3;mW(a[((e|0)==2?A:i)+40>>2]|0,a[((e|0)==3?A:r)+40>>2]|0,A)|0}else FW(A,e);return}function FY(A){A=A|0;var e=0,i=0,f=0,n=0;f=A+16|0;i=0;while(1){A=a[f>>2]|0;if((i|0)>=(a[A+220>>2]|0))break;e=a[(a[A+216>>2]|0)+(i<<2)>>2]|0;a[A+192>>2]=e;A=e;e=A;while(1){if(!e)break;n=a[e+16>>2]|0;r[n+157>>0]=0;e=a[n+164>>2]|0}while(1){if(!A)break;VY(A);A=a[(a[A+16>>2]|0)+164>>2]|0}i=i+1|0}return}function VY(A){A=A|0;var e=0,i=0,f=0,n=0;n=A+16|0;e=a[n>>2]|0;A=e+157|0;if(!(r[A>>0]|0)){r[A>>0]=1;r[e+158>>0]=1;A=0;while(1){f=a[(a[e+180>>2]|0)+(A<<2)>>2]|0;if(!f)break;e=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;i=a[e+16>>2]|0;if(!(r[i+158>>0]|0)){if(!(r[i+157>>0]|0))VY(e)}else{MY(f);A=A+-1|0}A=A+1|0;e=a[n>>2]|0}r[e+158>>0]=0}return}function JY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=cd(A)|0;e=0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;n=a[i>>2]&3;l=a[(a[(a[((n|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;n=a[(a[(a[((n|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=l-n|0;i=_o(A,i)|0;e=((l|0)==(n|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+e|0}r=bd(A,r)|0}return e|0}function NY(A){A=A|0;var e=0,i=0,f=0,n=0;i=cd(A)|0;while(1){if(!i)break;n=a[i+16>>2]|0;f=a[n+176>>2]|0;n=n+172|0;e=0;while(1){if((e|0)>=(f|0))break;r[(a[(a[(a[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+112>>0]=0;e=e+1|0}i=bd(A,i)|0}return}function XY(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;u=h;t=a[e+24>>2]|0;RY(A);c=(t|0)==-1;s=e+8|0;l=c^1;w=a[15712]|0;f=1797693134862315708145274.0e284;n=0;while(1){if(!(c|(n|0)<(t|0)))break;i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+232>>2]=0;i=bd(A,i)|0}Vz(A);r=+HY(A);b[s>>3]=r;if(0){b[u>>3]=r;f3(w,87482,u)|0;r=+b[s>>3]}if(!(!(r<=+b[e>>3])&(!(f<=r)|l))){o=9;break}pY(A);f=r;n=n+1|0}if((o|0)==9){o=e+20|0;a[e+16>>2]=a[o>>2];a[o>>2]=n}Vz(A);UY(A);xY();b[s>>3]=+HY(A);k=h;return}function RY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0.0,w=0.0,u=0;a[46752]=$F((vh(A)|0)*24|0)|0;a[46751]=0;e=cd(A)|0;while(1){if(!e)break;a[(a[e+16>>2]|0)+120>>2]=-1;e=bd(A,e)|0}l=cd(A)|0;while(1){if(!l)break;t=l+16|0;do{if(!(a[(a[t>>2]|0)+216>>2]|0)){f=qF(4)|0;n=a[46752]|0;c=a[46751]|0;a[n+(c*24|0)>>2]=f;a[f>>2]=l;a[n+(c*24|0)+4>>2]=1;t=a[t>>2]|0;b[n+(c*24|0)+8>>3]=+b[t+32>>3];b[n+(c*24|0)+16>>3]=+b[t+40>>3];a[t+120>>2]=c;a[46751]=c+1}else{n=CR(l)|0;c=n+16|0;e=a[c>>2]|0;i=a[e+120>>2]|0;if((i|0)>-1){n=a[46752]|0;f=a[n+(i*24|0)>>2]|0;r=n+(i*24|0)+4|0;c=a[r>>2]|0;a[r>>2]=c+1;a[f+(c<<2)>>2]=l;c=a[t>>2]|0;t=n+(i*24|0)+8|0;b[t>>3]=+b[t>>3]+ +b[c+32>>3];t=n+(i*24|0)+16|0;s=+b[t>>3];w=+b[c+40>>3];b[t>>3]=s>2]=i;break}i=qF(a[e+216>>2]<<2)|0;r=a[46752]|0;f=a[46751]|0;e=r+(f*24|0)|0;a[e>>2]=i;a[i>>2]=n;if((n|0)==(l|0)){b[r+(f*24|0)+8>>3]=+b[(a[c>>2]|0)+32>>3];i=1;e=l}else{a[(a[e>>2]|0)+4>>2]=l;u=a[c>>2]|0;e=a[t>>2]|0;b[r+(f*24|0)+8>>3]=+b[e+32>>3]+ +b[u+32>>3];i=2;e=+b[u+40>>3]<+b[e+40>>3]?l:n}a[r+(f*24|0)+4>>2]=i;b[r+(f*24|0)+16>>3]=+b[(a[e+16>>2]|0)+40>>3];a[(a[c>>2]|0)+120>>2]=f;a[(a[t>>2]|0)+120>>2]=f;a[46751]=f+1}}while(0);l=bd(A,l)|0}return}function HY(A){A=A|0;var e=0.0,i=0.0,r=0,f=0,n=0,l=0.0,t=0.0;UY(A);n=a[46749]|0;r=a[A+16>>2]|0;e=+(U(a[r+252>>2]|0,n+-1|0)|0);f=a[46750]|0;r=r+248|0;A=0;i=0.0;while(1){if((A|0)>=(n|0))break;l=+b[f+(A*40|0)+24>>3]+ +(U(a[r>>2]|0,a[f+(A*40|0)+16>>2]|0)|0);t=+b[f+(A*40|0)+32>>3]+e;A=A+1|0;e=t;i=i=(vh(A)|0))break;a[(a[46753]|0)+(e<<2)>>2]=e;e=e+1|0}UY(A);TY(A);jY(A);return}function UY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0;a[46749]=0;e=a[46750]|0;if(e|0){r=0;while(1){if((r|0)>=(a[46751]|0))break;i=a[e+(r*40|0)+4>>2]|0;if(i){L2(i);e=a[46750]|0}i=a[e+(r*40|0)+8>>2]|0;if(i){L2(i);e=a[46750]|0}r=r+1|0}L2(e)}a[46750]=qF((a[46751]|0)*40|0)|0;e=0;while(1){i=a[46751]|0;if((e|0)>=(i|0))break;c=qF(i<<2)|0;a[(a[46750]|0)+(e*40|0)+4>>2]=c;c=qF(a[46751]<<2)|0;s=a[46750]|0;a[s+(e*40|0)+8>>2]=c;a[s+(e*40|0)>>2]=e;a[s+(e*40|0)+12>>2]=0;a[s+(e*40|0)+16>>2]=0;s=s+(e*40|0)+24|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;e=e+1|0}r=cd(A)|0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;l=a[i>>2]|0;f=i+-48|0;n=a[46750]|0;e=a[(a[(a[((l&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){e=e+1|0;if((e|0)>=(a[(a[(a[((l&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;l=n+(e*40|0)+16|0;a[l>>2]=(a[l>>2]|0)+1;l=a[i>>2]|0}i=_o(A,i)|0}r=bd(A,r)|0}l=a[46751]|0;c=a[46752]|0;s=a[46750]|0;i=A+16|0;e=0;while(1){if((e|0)>=(l|0))break;r=(a[a[c+(e*24|0)>>2]>>2]|0)+16|0;f=a[(a[r>>2]|0)+232>>2]|0;if((f|0)>=(a[46749]|0))a[46749]=f+1;n=s+(f*40|0)+24|0;t=+b[n>>3];b[n>>3]=t+ +b[c+(e*24|0)+8>>3]*72.0+(t>0.0?+(a[(a[i>>2]|0)+248>>2]|0):0.0);n=s+(f*40|0)+32|0;t=+b[c+(e*24|0)+16>>3]*72.0;if(+b[n>>3]>3]=t;a[(a[s+(f*40|0)+4>>2]|0)+(a[s+(f*40|0)+12>>2]<<2)>>2]=c+(e*24|0);A=s+((a[(a[r>>2]|0)+232>>2]|0)*40|0)+12|0;a[A>>2]=(a[A>>2]|0)+1;e=e+1|0}return}function xY(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=a[46749]|0;s=a[46750]|0;c=0;e=0;A=0;while(1){if((c|0)>=(b|0))break;i=s+(c*40|0)|0;t=a[s+(c*40|0)+12>>2]|0;r=(e|0)==0;A:do{if(t)if(!r){if((a[i>>2]|0)>(A|0)){f=s+(c*40|0)+4|0;i=0;while(1){if((i|0)>=(t|0))break A;n=a[(a[f>>2]|0)+(i<<2)>>2]|0;l=a[n+4>>2]|0;r=0;while(1){if((r|0)>=(l|0))break;w=(a[(a[(a[n>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+232|0;a[w>>2]=(a[w>>2]|0)-e;r=r+1|0}i=i+1|0}}}else e=0;else{if(r)A=a[i>>2]|0;e=e+1|0}}while(0);c=c+1|0}return}function TY(A){A=A|0;var e=0;e=a[46753]|0;K4(e,vh(A)|0,4,63);return}function jY(A){A=A|0;var e=0.0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0.0,B=0;t=a[46749]|0;c=a[46750]|0;n=a[46753]|0;l=0;while(1){if((l|0)>=(t|0)){i=0;e=0.0;break}i=a[n+(l<<2)>>2]|0;f=l+1|0;if((a[c+(i*40|0)+12>>2]|0)<2)l=f;else{s=4;break}}if((s|0)==4)if((t|0)>(f|0))e=+b[c+((a[n+(f<<2)>>2]|0)*40|0)+24>>3];else e=0.0;A:do{if((l|0)!=(t|0)){K4(a[c+(i*40|0)+4>>2]|0,a[c+(i*40|0)+12>>2]|0,4,64);n=a[46750]|0;d=+b[n+(i*40|0)+24>>3];d=!(e<=d*.25)&!(e>=d*.75)?e:d*.5;B=a[n+(i*40|0)+12>>2]|0;h=A+16|0;u=0;k=0;e=0.0;f=0;o=0;while(1){if((o|0)>=(f+B|0))break A;do{if(!(a[(a[n+(i*40|0)+8>>2]|0)+(o<<2)>>2]|0)){s=a[(a[n+(i*40|0)+4>>2]|0)+(o<<2)>>2]|0;A=s+8|0;w=+b[A>>3]*72.0+e+(e>0.0?+(a[(a[h>>2]|0)+248>>2]|0):0.0);l=(k|0)!=0;if(!(l&!(w<=d))){t=l?u:s;l=l?k:1;e=w;break}t=u+4|0;c=s+4|0;l=0;while(1){if((l|0)<(a[t>>2]|0))n=0;else break;while(1){if((n|0)>=(a[c>>2]|0))break;r[(a[(mW(a[(a[u>>2]|0)+(l<<2)>>2]|0,a[(a[s>>2]|0)+(n<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;n=n+1|0}l=l+1|0}n=a[46750]|0;a[(a[n+(i*40|0)+8>>2]|0)+(o<<2)>>2]=1;t=n+(i*40|0)+12|0;a[t>>2]=(a[t>>2]|0)+-1;t=n+(i*40|0)+16|0;a[t>>2]=(a[t>>2]|0)+1;t=n+(i*40|0)+24|0;b[t>>3]=+b[A>>3]*-72.0-+(a[(a[h>>2]|0)+248>>2]|0)+ +b[t>>3];t=u;l=k}else{t=u;l=k;f=f+1|0}}while(0);u=t;k=l;o=o+1|0}}}while(0);return}function SY(A,e){A=A|0;e=e|0;A=PY(a[A>>2]|0)|0;e=PY(a[e>>2]|0)|0;return((e|0)<(A|0)&1)-((e|0)>(A|0)&1)|0}function PY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(a[f>>2]|0))break;r=a[(a[A>>2]|0)+(i<<2)>>2]|0;n=Id(r)|0;r=Oo(n,r)|0;while(1){if(!r)break;r=_o(n,r)|0;e=e+1|0}i=i+1|0}return e|0}function OY(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[46750]|0;r=+b[f+((a[e>>2]|0)*40|0)+24>>3];i=+b[f+((a[A>>2]|0)*40|0)+24>>3];return(r>i&1)-(r>2]|0)+216>>2]=0;e=bd(A,e)|0}return}function _Y(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n+16|0;r=n+8|0;i=n+20|0;a[i>>2]=5;A=po(A,99605)|0;if(A|0?(a[r>>2]=n,a[r+4>>2]=i,(J3(A,87497,r)|0)>=1):0)ao(0,87504,f)|0;a[e+24>>2]=0;a[e+32>>2]=0;k=n;return 0}function qY(A){A=A|0;var e=0,i=0;e=a[47189]|0;if((((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(gR(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function $Y(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;gD(A);e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;do{if(((a[(a[i+16>>2]|0)+172>>2]|0)==0?(qY(i)|0)==0:0)?(r=i+48|0,f=CR(a[((a[i>>2]&3|0)==3?i:r)+40>>2]|0)|0,n=i+-48|0,l=CR(a[((a[i>>2]&3|0)==2?i:n)+40>>2]|0)|0,(f|0)!=(l|0)):0){if((a[(a[f+16>>2]|0)+212>>2]|0)==0?(a[(a[l+16>>2]|0)+212>>2]|0)==0:0){t=dW(f,l)|0;if(!t){mW(f,l,i)|0;break}else{FW(i,t);break}}t=a[i>>2]&3;AD(A,a[((t|0)==3?i:r)+40>>2]|0,a[((t|0)==2?i:n)+40>>2]|0,i)}}while(0);i=_o(A,i)|0}e=bd(A,e)|0}return}function AD(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,t=0,c=0,b=0;c=a[f>>2]&3;n=a[(a[((c|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0;t=a[n+212>>2]|0;if(!t)b=0;else b=(a[n+232>>2]|0)-(a[(a[(a[(a[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;n=a[(a[((c|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0;t=a[n+212>>2]|0;if(!t)n=0;else n=(a[(a[(a[(a[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(a[n+232>>2]|0)|0;c=f+16|0;b=n+b+(l[(a[c>>2]|0)+170>>1]|0)|0;A=YW(A)|0;r[(a[A+16>>2]|0)+156>>0]=2;t=CR(e)|0;e=CR(i)|0;i=sz(A,t,(b|0)>0?0.0:+(0-b|0),(a[(a[c>>2]|0)+156>>2]|0)*10|0)|0;a[(a[(sz(A,e,+(((b|0)>0?b:0)|0),a[(a[c>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=f;a[(a[i+16>>2]|0)+116>>2]=f;return}function eD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0,c=0,b=0;c=a[e>>2]&3;t=(c|0)==3?e:e+48|0;c=(c|0)==2?e:e+-48|0;c=a[(a[(a[((a[(a[(a[t+40>>2]|0)+16>>2]|0)+232>>2]|0)>(a[(a[(a[c+40>>2]|0)+16>>2]|0)+232>>2]|0)?t:c)+40>>2]|0)+16>>2]|0)+232>>2]|0;t=e+16|0;e=(a[t>>2]|0)+172|0;if(a[e>>2]|0)vA(87593,87615,148,87624);a[e>>2]=i;n=(r|0)==0;do{e=a[t>>2]|0;if(n)r=a[i+16>>2]|0;else{r=a[i+16>>2]|0;b=r+168|0;f[b>>1]=(l[b>>1]|0)+(l[e+168>>1]|0)}b=r+154|0;f[b>>1]=(l[b>>1]|0)+(l[e+154>>1]|0);r=r+156|0;a[r>>2]=(a[r>>2]|0)+(a[e+156>>2]|0);e=i+-48|0;r=a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0;if((a[(a[r+16>>2]|0)+232>>2]|0)==(c|0))break;iD(A,r);i=a[a[(a[(a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((i|0)!=0);return}function iD(A,e){A=A|0;e=e|0;var i=0.0;i=+((a[(a[A+16>>2]|0)+248>>2]|0)/2|0|0);e=a[e+16>>2]|0;A=e+88|0;b[A>>3]=+b[A>>3]+i;e=e+96|0;b[e>>3]=+b[e>>3]+i;return}function rD(A,e){A=A|0;e=e|0;var i=0,r=0;if(((((A|0)!=0&(e|0)!=0?(r=a[A>>2]&3,i=a[e>>2]&3,(a[((r|0)==3?A:A+48|0)+40>>2]|0)==(a[((i|0)==3?e:e+48|0)+40>>2]|0)):0)?(a[((r|0)==2?A:A+-48|0)+40>>2]|0)==(a[((i|0)==2?e:e+-48|0)+40>>2]|0):0)?(a[(a[A+16>>2]|0)+96>>2]|0)==(a[(a[e+16>>2]|0)+96>>2]|0):0)?(Mz(A,e)|0)!=0:0)A=1;else A=0;return A|0}function fD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;d=A+16|0;e=a[d>>2]|0;a[e+192>>2]=0;a[e+232>>2]=0;gD(A);e=1;while(1){i=a[d>>2]|0;if((e|0)>(a[i+180>>2]|0))break;ED(A,a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}l=cd(A)|0;while(1){if(!l)break;n=Oo(A,l)|0;while(1){if(!n)break;e=a[n>>2]|0;i=(a[(a[((e&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=r[i>>0]|0;if(f<<24>>24<3){r[i>>0]=f+1<<24>>24;e=a[n>>2]|0}e=(a[(a[((e&3|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+160|0;i=r[e>>0]|0;if(i<<24>>24<3)r[e>>0]=i+1<<24>>24;n=_o(A,n)|0}l=bd(A,l)|0}w=cd(A)|0;while(1){if(!w)break;if((a[(a[w+16>>2]|0)+212>>2]|0)==0?(w|0)==(CR(w)|0):0){LW(A,w);s=(a[d>>2]|0)+232|0;a[s>>2]=(a[s>>2]|0)+1}e=0;s=Oo(A,w)|0;while(1){if(!s)break;b=s+16|0;l=a[b>>2]|0;A:do{if(!(a[l+172>>2]|0)){if(aD(s)|0){if(!(rD(e,s)|0)){nD(A,s);e=s;break}i=a[(a[e+16>>2]|0)+172>>2]|0;if(i|0){eD(A,s,i,0);IW(s);break}b=a[s>>2]&3;if((a[(a[(a[((b|0)==3?s:s+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(a[(a[(a[((b|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;FW(s,e);IW(s);break}if(e){t=a[s>>2]&3;i=s+48|0;f=a[((t|0)==3?s:i)+40>>2]|0;n=a[e>>2]&3;if((f|0)==(a[((n|0)==3?e:e+48|0)+40>>2]|0)?(u=a[((t|0)==2?s:s+-48|0)+40>>2]|0,(u|0)==(a[((n|0)==2?e:e+-48|0)+40>>2]|0)):0){if((a[(a[f+16>>2]|0)+232>>2]|0)==(a[(a[u+16>>2]|0)+232>>2]|0)){FW(s,e);IW(s);break}if(((a[l+96>>2]|0)==0?(k=e+16|0,(a[(a[k>>2]|0)+96>>2]|0)==0):0)?(Mz(s,e)|0)!=0:0)if(!(r[194954]|0)){eD(A,s,a[(a[k>>2]|0)+172>>2]|0,1);IW(s);break}else{r[(a[b>>2]|0)+112>>0]=6;break}else t=i}else t=i}else t=s+48|0;l=a[s>>2]&3;i=a[((l|0)==3?s:t)+40>>2]|0;c=s+-48|0;if((i|0)==(a[((l|0)==2?s:c)+40>>2]|0)){IW(s);e=s;break}i=CR(i)|0;f=CR(a[((a[s>>2]&3|0)==2?s:c)+40>>2]|0)|0;l=a[s>>2]&3;if((a[((l|0)==3?s:t)+40>>2]|0)==(i|0)?(a[((l|0)==2?s:c)+40>>2]|0)==(f|0):0){n=a[(a[i+16>>2]|0)+232>>2]|0;l=a[(a[f+16>>2]|0)+232>>2]|0;if((n|0)==(l|0)){DW(A,s);e=s;break}if((l|0)>(n|0)){lD(A,i,f,s);e=s;break}i=th(A,f,i,0,0)|0;do{if(i|0?(o=a[i>>2]&3,h=a[((o|0)==2?i:i+-48|0)+40>>2]|0,(h|0)!=(a[((a[s>>2]&3|0)==2?s:c)+40>>2]|0)):0){f=i+16|0;if(!(a[(a[f>>2]|0)+172>>2]|0))lD(A,a[((o|0)==3?i:i+48|0)+40>>2]|0,h,i);if((a[(a[b>>2]|0)+96>>2]|0)==0?(a[(a[f>>2]|0)+96>>2]|0)==0:0){if(!(Mz(s,i)|0))break;if(!(r[194954]|0)){IW(s);eD(A,s,a[(a[f>>2]|0)+172>>2]|0,1);break A}else{r[(a[b>>2]|0)+112>>0]=6;r[(a[f>>2]|0)+153>>0]=1;break A}}}}while(0);e=a[s>>2]&3;lD(A,a[((e|0)==2?s:c)+40>>2]|0,a[((e|0)==3?s:t)+40>>2]|0,s);e=s}}else e=s}while(0);s=_o(A,s)|0}w=bd(A,w)|0}if((gL(A)|0)!=(A|0)){e=a[(a[d>>2]|0)+216>>2]|0;if(!e)e=$F(4)|0;else e=eV(e,4)|0;d=a[d>>2]|0;a[d+216>>2]=e;a[e>>2]=a[d+192>>2]}return}function aD(A){A=A|0;var e=0;e=a[A>>2]&3;if((r[(a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)A=1;else A=(r[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return A|0}function nD(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=bD(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;n=bD(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;t=(a[(a[f+16>>2]|0)+232>>2]|0)>(a[(a[n+16>>2]|0)+232>>2]|0);i=t?f:n;f=t?n:f;n=f+16|0;t=i+16|0;A:do{if((a[(a[n>>2]|0)+212>>2]|0)!=(a[(a[t>>2]|0)+212>>2]|0)){l=dW(f,i)|0;if(l|0){eD(A,e,l,1);break}if((a[(a[n>>2]|0)+232>>2]|0)!=(a[(a[t>>2]|0)+232>>2]|0)){lD(A,f,i,e);i=(a[e+16>>2]|0)+172|0;while(1){i=a[i>>2]|0;if(!i)break A;f=i+-48|0;if((a[(a[(a[((a[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(a[(a[t>>2]|0)+232>>2]|0))break A;r[(a[i+16>>2]|0)+112>>0]=5;i=a[(a[(a[((a[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}}while(0);return}function lD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;b=r+16|0;f=a[b>>2]|0;if(!(a[f+96>>2]|0))c=-1;else c=((a[(a[i+16>>2]|0)+232>>2]|0)+(a[(a[e+16>>2]|0)+232>>2]|0)|0)/2|0;if(a[f+172>>2]|0)vA(87636,87615,89,87661);t=i+16|0;l=a[(a[e+16>>2]|0)+232>>2]|0;while(1){n=l+1|0;f=a[(a[t>>2]|0)+232>>2]|0;if((l|0)>=(f|0))break;if((n|0)<(f|0)){if((n|0)==(c|0))f=tD(A,r)|0;else f=cD(A)|0;a[(a[f+16>>2]|0)+232>>2]=n}else f=i;Py(mW(e,f,r)|0);l=n;e=f}if(!(a[(a[b>>2]|0)+172>>2]|0))vA(87672,87615,103,87661);else return}function tD(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0.0;l=e+16|0;n=a[(a[l>>2]|0)+96>>2]|0;i=+b[n+24>>3];f=+b[n+32>>3];n=YW(A)|0;e=n+16|0;a[(a[e>>2]|0)+104>>2]=a[(a[l>>2]|0)+96>>2];t=+(a[(a[(Zd(n)|0)+16>>2]|0)+248>>2]|0);b[(a[e>>2]|0)+88>>3]=t;if(!(r[(a[l>>2]|0)+114>>0]|0)){A=(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0;l=a[e>>2]|0;b[l+80>>3]=A?f:i;b[l+96>>3]=A?i:f}return n|0}function cD(A){A=A|0;var e=0;e=YW(A)|0;iD(A,e);return e|0}function bD(A){A=A|0;var e=0;e=a[A+16>>2]|0;if((r[e+159>>0]|0)==7)A=a[(a[(a[(a[e+212>>2]|0)+16>>2]|0)+268>>2]|0)+(a[e+232>>2]<<2)>>2]|0;else A=CR(A)|0;return A|0}function sD(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=gL(A)|0;l=cd(A)|0;while(1){if(!l)break;e=Ah(c,l)|0;t=0;while(1){if(!e)break;s=eh(c,e,l)|0;if(Dd(A,e)|0){b=t;e=s;t=b;continue}b=(a[e>>2]&3|0)==2?e:e+-48|0;w=(rD(t,b)|0)==0;r=a[b>>2]&3;e=a[((r|0)==3?b:b+48|0)+40>>2]|0;i=a[(a[e+16>>2]|0)+232>>2]|0;r=a[((r|0)==2?b:b+-48|0)+40>>2]|0;f=a[(a[r+16>>2]|0)+232>>2]|0;n=(i|0)==(f|0);if(!w){a[(a[b+16>>2]|0)+172>>2]=n?t:0;e=a[(a[t+16>>2]|0)+172>>2]|0;if(!e){w=t;e=s;t=w;continue}eD(A,b,e,0);ZW(b);w=t;e=s;t=w;continue}if(!n)if((f|0)>(i|0)){wD(e,r,b);e=s;t=b;continue}else{wD(r,e,b);e=s;t=b;continue}e=vW(e,r)|0;if(!e){DW(c,b);e=s;t=b;continue}if((b|0)==(e|0)){w=t;e=s;t=w;continue}ZW(b);if(a[(a[b+16>>2]|0)+172>>2]|0){w=t;e=s;t=w;continue}FW(b,e);w=t;e=s;t=w}l=bd(A,l)|0}return}function wD(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=uD(A)|0;r=uD(e)|0;kD(f,r,i,a[(a[i+16>>2]|0)+172>>2]|0,(f|0)==(A|0)&(r|0)==(e|0)?1:5);return}function uD(A){A=A|0;var e=0,i=0,f=0;e=a[A+16>>2]|0;i=a[e+212>>2]|0;if((i|0)!=0?(f=a[i+16>>2]|0,(r[f+272>>0]|0)==0):0)A=a[(a[f+268>>2]|0)+(a[e+232>>2]<<2)>>2]|0;return A|0}function kD(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;u=A+16|0;b=a[(a[u>>2]|0)+232>>2]|0;k=e+16|0;t=a[(a[k>>2]|0)+232>>2]|0;if((t|0)<=(b|0))vA(87697,87725,81,87735);w=a[n>>2]&3;if(!((a[((w|0)==3?n:n+48|0)+40>>2]|0)==(A|0)?(a[((w|0)==2?n:n+-48|0)+40>>2]|0)==(e|0):0))s=5;A:do{if((s|0)==5){if((f[(a[n+16>>2]|0)+168>>1]|0)>1){a[(a[i+16>>2]|0)+172>>2]=0;if(((t-b|0)==1?(c=dW(A,e)|0,c|0):0)?Mz(i,c)|0:0){FW(i,c);if(r[(a[u>>2]|0)+156>>0]|0)break;if(r[(a[k>>2]|0)+156>>0]|0)break;IW(i);break}w=l&255;l=A;s=a[(a[u>>2]|0)+232>>2]|0;while(1){t=a[(a[k>>2]|0)+232>>2]|0;if((s|0)>=(t|0))break A;if((s|0)<(t+-1|0)){t=gL(A)|0;c=n+-48|0;t=oD(t,a[((a[n>>2]&3|0)==2?n:c)+40>>2]|0)|0;b=n}else{t=e;c=n+-48|0;b=n}r[(a[(mW(l,t,i)|0)+16>>2]|0)+112>>0]=w;u=(a[n+16>>2]|0)+168|0;f[u>>1]=(f[u>>1]|0)+-1<<16>>16;l=t;s=s+1|0;n=a[a[(a[(a[((a[b>>2]&3|0)==2?n:c)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do{if((t-b|0)==1){n=dW(A,e)|0;if(n|0?Mz(i,n)|0:0){a[(a[i+16>>2]|0)+172>>2]=n;w=a[n+16>>2]|0;r[w+112>>0]=l;w=w+168|0;f[w>>1]=(f[w>>1]|0)+1<<16>>16;if(r[(a[u>>2]|0)+156>>0]|0)break;if(r[(a[k>>2]|0)+156>>0]|0)break;IW(i);break}a[(a[i+16>>2]|0)+172>>2]=0;n=mW(A,e,i)|0;r[(a[n+16>>2]|0)+112>>0]=l}}while(0);t=a[(a[k>>2]|0)+232>>2]|0;if((t-(a[(a[u>>2]|0)+232>>2]|0)|0)>1){if((a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)==(A|0))s=t;else{u=i+16|0;a[(a[u>>2]|0)+172>>2]=0;s=mW(A,a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,i)|0;a[(a[u>>2]|0)+172>>2]=s;CW(n);n=s;s=a[(a[k>>2]|0)+232>>2]|0}while(1){t=a[n>>2]&3;c=a[((t|0)==2?n:n+-48|0)+40>>2]|0;b=a[c+16>>2]|0;if((a[b+232>>2]|0)==(s|0))break;n=a[a[b+180>>2]>>2]|0}if((c|0)!=(e|0)){r[(a[(mW(a[((t|0)==3?n:n+48|0)+40>>2]|0,e,i)|0)+16>>2]|0)+112>>0]=l;CW(n)}}}}while(0);return}function oD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=e+16|0;e=a[i>>2]|0;r=a[e+232>>2]|0;hD(A,r,a[e+236>>2]|0,2);e=YW(A)|0;i=a[i>>2]|0;f=a[e+16>>2]|0;b[f+88>>3]=+b[i+88>>3];b[f+96>>3]=+b[i+96>>3];a[f+232>>2]=a[i+232>>2];i=(a[i+236>>2]|0)+1|0;a[f+236>>2]=i;a[(a[(a[(a[A+16>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return e|0}function hD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=A+16|0;f=a[(a[l>>2]|0)+196>>2]|0;t=a[f+(e<<6)+4>>2]|0;A:do{if((r|0)<1){i=i-r|0;while(1){n=i+1|0;A=a[f+(e<<6)>>2]|0;if((n|0)>=(A|0))break;A=a[t+(n<<2)>>2]|0;f=i+r|0;a[(a[A+16>>2]|0)+236>>2]=f;a[t+(f<<2)>>2]=A;i=n;f=a[(a[l>>2]|0)+196>>2]|0}n=r+-1|0;i=n+A|0;while(1){if((i|0)>=(A|0))break A;a[t+(i<<2)>>2]=0;f=a[(a[l>>2]|0)+196>>2]|0;i=i+1|0;A=a[f+(e<<6)>>2]|0}}else{n=r+-1|0;A=a[f+(e<<6)>>2]|0;while(1){A=A+-1|0;if((A|0)<=(i|0))break;c=a[t+(A<<2)>>2]|0;f=n+A|0;a[(a[c+16>>2]|0)+236>>2]=f;a[t+(f<<2)>>2]=c}f=r+i|0;A=i;while(1){A=A+1|0;if((A|0)>=(f|0))break;a[t+(A<<2)>>2]=0}A=a[(a[l>>2]|0)+196>>2]|0;f=A;A=a[A+(e<<6)>>2]|0}}while(0);a[f+(e<<6)>>2]=n+A;return}function dD(A){A=A|0;var e=0;fD(A);e=a[A+16>>2]|0;a[e+220>>2]=1;a[a[e+216>>2]>>2]=a[e+192>>2];Ty(A);Zy(A,0);BD(A);sD(A);vD(A);return}function BD(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=gL(A)|0;s=A+16|0;i=a[s>>2]|0;c=f[i+236>>1]|0;e=c<<16>>16;w=b+16|0;if(c<<16>>16>0)r[(a[(a[w>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;c=e;while(1){if((c|0)>(f[i+238>>1]|0))break;t=a[(a[(a[(a[i+268>>2]|0)+(c<<2)>>2]|0)+16>>2]|0)+236>>2]|0;hD(b,c,t,a[(a[i+196>>2]|0)+(c<<6)>>2]|0);n=0;l=t;while(1){i=a[s>>2]|0;e=a[i+196>>2]|0;if((n|0)>=(a[e+(c<<6)>>2]|0))break;e=a[(a[e+(c<<6)+4>>2]|0)+(n<<2)>>2]|0;a[(a[(a[(a[w>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(l<<2)>>2]=e;i=a[e+16>>2]|0;a[i+236>>2]=l;if((r[i+156>>0]|0)==1)a[e+24>>2]=Zd(b)|0;yW(A,e);LW(b,e);i=(a[w>>2]|0)+232|0;a[i>>2]=(a[i>>2]|0)+1;n=n+1|0;l=l+1|0}l=a[(a[w>>2]|0)+196>>2]|0;a[e+(c<<6)+4>>2]=(a[l+(c<<6)+4>>2]|0)+(t<<2);r[l+(c<<6)+49>>0]=0;c=c+1|0}e=a[w>>2]|0;if((c|0)<(f[e+238>>1]|0))r[(a[e+196>>2]|0)+(c<<6)+49>>0]=0;r[i+272>>0]=1;return}function vD(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=A+16|0;e=a[t>>2]|0;l=f[e+236>>1]|0;while(1){if((l|0)>(f[e+238>>1]|0))break;r=a[(a[e+268>>2]|0)+(l<<2)>>2]|0;n=r+16|0;while(1){e=a[n>>2]|0;i=a[a[e+180>>2]>>2]|0;if(!i)break;CW(i)}while(1){e=a[a[e+172>>2]>>2]|0;if(!e)break;CW(e);e=a[n>>2]|0}yW(gL(A)|0,r);a[(a[(a[t>>2]|0)+268>>2]|0)+(l<<2)>>2]=0;l=l+1|0;e=a[t>>2]|0}return}function gD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=cd(A)|0;while(1){if(!f)break;i=f+16|0;e=a[i>>2]|0;if((r[e+159>>0]|0)==7){ZR(f);e=a[i>>2]|0}a[e+212>>2]=0;f=bd(A,f)|0}s=A+16|0;b=1;while(1){e=a[s>>2]|0;if((b|0)>(a[e+180>>2]|0))break;l=a[(a[e+184>>2]|0)+(b<<2)>>2]|0;t=l+16|0;e=cd(l)|0;A:while(1){if(!e)break;c=bd(l,e)|0;i=e+16|0;if(r[(a[i>>2]|0)+159>>0]|0){f=Vh(e)|0;n=Vh(A)|0;a[w>>2]=f;a[w+4>>2]=n;ao(0,87744,w)|0;Cd(l,e)|0;e=c;continue}GR(e,a[(a[t>>2]|0)+264>>2]|0);n=a[i>>2]|0;a[n+212>>2]=l;r[n+159>>0]=7;n=Oo(l,e)|0;while(1){if(!n){e=c;continue A}e=a[(a[n+16>>2]|0)+172>>2]|0;e:do{if(e|0)do{i=e+-48|0;f=a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break e;a[f+212>>2]=l;e=a[a[(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);n=_o(l,n)|0}}b=b+1|0}k=u;return}function ED(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=e+16|0;n=qF((f[(a[b>>2]|0)+238>>1]<<2)+8|0)|0;i=a[b>>2]|0;a[i+268>>2]=n;n=0;l=f[i+236>>1]|0;while(1){if((l|0)>(f[i+238>>1]|0))break;i=YW(A)|0;a[(a[(a[b>>2]|0)+268>>2]|0)+(l<<2)>>2]=i;c=a[i+16>>2]|0;a[c+232>>2]=l;r[c+159>>0]=7;a[c+212>>2]=e;if(n|0){c=(a[(mW(n,i,0)|0)+16>>2]|0)+154|0;f[c>>1]=(f[c>>1]|0)*1e3}n=i;l=l+1|0;i=a[b>>2]|0}c=cd(e)|0;while(1){i=a[b>>2]|0;if(!c)break;l=(a[(a[i+268>>2]|0)+(a[(a[c+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;i=(a[l>>2]|0)+216|0;a[i>>2]=(a[i>>2]|0)+1;i=Oo(e,c)|0;while(1){if(!i)break;t=a[i>>2]|0;A=i+-48|0;n=a[(a[(a[((t&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((n|0)>=(a[(a[(a[((t&3|0)==2?i:A)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;t=(a[(a[a[(a[l>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;f[t>>1]=(f[t>>1]|0)+1<<16>>16;n=n+1|0;t=a[i>>2]|0}i=_o(e,i)|0}c=bd(e,c)|0}A=f[i+238>>1]|0;t=i+268|0;i=f[i+236>>1]|0;while(1){if((i|0)>(A|0))break;n=(a[(a[(a[t>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+216|0;l=a[n>>2]|0;if((l|0)>1)a[n>>2]=l+-1;i=i+1|0}return}function CD(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0,b=0;b=(a[(a[e+16>>2]|0)+212>>2]|0)+16|0;e=a[b>>2]|0;c=i+1|0;if((c|0)!=(r[e+273>>0]|0)){t=f[e+236>>1]|0;while(1){l=f[e+238>>1]|0;if((t|0)>(l<<16>>16|0))break;Xy(A,a[(a[e+268>>2]|0)+(t<<2)>>2]|0);t=t+1|0;e=a[b>>2]|0}t=f[e+236>>1]|0;while(1){if((t|0)>(l<<16>>16|0))break;Ry(n,a[(a[e+268>>2]|0)+(t<<2)>>2]|0,i);A=a[b>>2]|0;t=t+1|0;l=f[A+238>>1]|0;e=A}r[e+273>>0]=c}return}function ID(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=cd(A)|0;while(1){if(!l)break;a[(a[l+16>>2]|0)+212>>2]=0;n=Oo(A,l)|0;while(1){if(!n)break;e=a[(a[n+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=e+-48|0;f=a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;a[f+212>>2]=0;e=a[a[(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);n=_o(A,n)|0}l=bd(A,l)|0}ZD(A);return}function ZD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;i=A+16|0;e=1;while(1){f=a[i>>2]|0;if((e|0)>(a[f+180>>2]|0))break;ZD(a[(a[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}t=cd(A)|0;while(1){if(!t)break;e=(a[t+16>>2]|0)+212|0;if(!(a[e>>2]|0))a[e>>2]=A;l=Oo(A,t)|0;while(1){if(!l)break;e=a[(a[l+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=a[e>>2]|0;n=e+-48|0;f=a[(a[((i&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;f=f+212|0;if(!(a[f>>2]|0)){a[f>>2]=A;i=a[e>>2]|0}e=a[a[(a[(a[((i&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);l=_o(A,l)|0}t=bd(A,t)|0}return}function GD(A){A=A|0;var e=0,i=0,r=0;r=_R(A)|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;QD(e,r);e=_o(A,e)|0}i=bd(A,i)|0}pk(r)|0;return}function QD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+320|0;D=N+296|0;Y=N+280|0;I=N+136|0;C=N+120|0;w=N+104|0;t=N+88|0;f=N+80|0;y=N+16|0;G=N;c=N+264|0;b=N+248|0;s=N+232|0;u=N+216|0;Q=N+200|0;m=N+184|0;Z=N+168|0;W=N+152|0;n=mD(po(A,87798)|0,e)|0;h=mD(po(A,87804)|0,e)|0;d=(h|0)!=0;e=(n|0)!=0;do{if(e|d?(J=A+16|0,r=a[(a[J>>2]|0)+8>>2]|0,r|0):0){if((a[r+4>>2]|0)>1){V=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;J=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[f>>2]=V;a[f+4>>2]=J;ao(0,87810,f)|0;break}M=a[r>>2]|0;r=a[M+4>>2]|0;o=a[A>>2]&3;B=A+-48|0;v=a[((o|0)==2?A:B)+40>>2]|0;g=A+48|0;o=a[((o|0)==3?A:g)+40>>2]|0;F=$F(48)|0;E=M+12|0;a[F+12>>2]=a[E>>2];L=M+8|0;a[F+8>>2]=a[L>>2];do{if(e){l=(a[n+16>>2]|0)+16|0;n=(a[v+16>>2]|0)+16|0;a[D>>2]=a[n>>2];a[D+4>>2]=a[n+4>>2];a[D+8>>2]=a[n+8>>2];a[D+12>>2]=a[n+12>>2];if(!(LD(D,l)|0)){u=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;z=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87798)|0;a[t>>2]=u;a[t+4>>2]=z;a[t+8>>2]=V;ao(0,87851,t)|0;V=26;break}e=a[M>>2]|0;a[D>>2]=a[e>>2];a[D+4>>2]=a[e+4>>2];a[D+8>>2]=a[e+8>>2];a[D+12>>2]=a[e+12>>2];if(LD(D,l)|0){z=(a[o+16>>2]|0)+16|0;a[D>>2]=a[z>>2];a[D+4>>2]=a[z+4>>2];a[D+8>>2]=a[z+8>>2];a[D+12>>2]=a[z+12>>2];if(LD(D,l)|0){u=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;z=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87798)|0;a[w>>2]=u;a[w+4>>2]=z;a[w+8>>2]=V;ao(0,87894,w)|0;V=26;break}if(!(a[L>>2]|0))vA(87936,87947,369,87958);u=M+16|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];WD(G,Y,D,l);z=(a[M>>2]|0)+48|0;a[z>>2]=a[G>>2];a[z+4>>2]=a[G+4>>2];a[z+8>>2]=a[G+8>>2];a[z+12>>2]=a[G+12>>2];z=(a[M>>2]|0)+16|0;a[Y>>2]=a[G>>2];a[Y+4>>2]=a[G+4>>2];a[Y+8>>2]=a[G+8>>2];a[Y+12>>2]=a[G+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];yD(c,Y,D);a[z>>2]=a[c>>2];a[z+4>>2]=a[c+4>>2];a[z+8>>2]=a[c+8>>2];a[z+12>>2]=a[c+12>>2];z=a[M>>2]|0;e=z+16|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];yD(b,Y,D);a[z>>2]=a[b>>2];a[z+4>>2]=a[b+4>>2];a[z+8>>2]=a[b+8>>2];a[z+12>>2]=a[b+12>>2];z=a[M>>2]|0;e=z+32|0;z=z+16|0;a[Y>>2]=a[z>>2];a[Y+4>>2]=a[z+4>>2];a[Y+8>>2]=a[z+8>>2];a[Y+12>>2]=a[z+12>>2];a[D>>2]=a[G>>2];a[D+4>>2]=a[G+4>>2];a[D+8>>2]=a[G+8>>2];a[D+12>>2]=a[G+12>>2];yD(s,Y,D);a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2];e=a[E>>2]|0;if(!e){z=3;break}z=(jC(A,a[M>>2]|0,0,0,F,e)|0)+3|0;break}n=r+-1|0;e=0;while(1){if((e|0)>=(n|0))break;if(zD((a[M>>2]|0)+(e<<4)|0,l)|0)break;e=e+3|0}r=a[E>>2]|0;f=(r|0)!=0;if((e|0)==(n|0))if(f){z=F+32|0;s=M+32|0;w=(a[M>>2]|0)+(n<<4)|0;a[Y>>2]=a[s>>2];a[Y+4>>2]=a[s+4>>2];a[Y+8>>2]=a[s+8>>2];a[Y+12>>2]=a[s+12>>2];a[D>>2]=a[w>>2];a[D+4>>2]=a[w+4>>2];a[D+8>>2]=a[w+8>>2];a[D+12>>2]=a[w+12>>2];WD(u,Y,D,l);a[z>>2]=a[u>>2];a[z+4>>2]=a[u+4>>2];a[z+8>>2]=a[u+8>>2];a[z+12>>2]=a[u+12>>2];z=n;break}else vA(87975,87947,387,87958);else{if(f)e=jC(A,a[M>>2]|0,0,e,F,r)|0;z=e+3|0;break}}else V=26}while(0);if((V|0)==26){e=r+-1|0;if(!(a[E>>2]|0))z=e;else{z=F+32|0;u=M+32|0;a[z>>2]=a[u>>2];a[z+4>>2]=a[u+4>>2];a[z+8>>2]=a[u+8>>2];a[z+12>>2]=a[u+12>>2];z=e}}do{if(d){f=(a[h+16>>2]|0)+16|0;d=(a[o+16>>2]|0)+16|0;a[D>>2]=a[d>>2];a[D+4>>2]=a[d+4>>2];a[D+8>>2]=a[d+8>>2];a[D+12>>2]=a[d+12>>2];if(!(LD(D,f)|0)){Y=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;D=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87804)|0;a[C>>2]=Y;a[C+4>>2]=D;a[C+8>>2]=V;ao(0,87986,C)|0;V=52;break}e=(a[M>>2]|0)+(z<<4)|0;a[D>>2]=a[e>>2];a[D+4>>2]=a[e+4>>2];a[D+8>>2]=a[e+8>>2];a[D+12>>2]=a[e+12>>2];if(LD(D,f)|0){y=(a[v+16>>2]|0)+16|0;a[D>>2]=a[y>>2];a[D+4>>2]=a[y+4>>2];a[D+8>>2]=a[y+8>>2];a[D+12>>2]=a[y+12>>2];if(LD(D,f)|0){Y=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;D=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87804)|0;a[I>>2]=Y;a[I+4>>2]=D;a[I+8>>2]=V;ao(0,88029,I)|0;V=52;break}if(!(a[E>>2]|0))vA(87975,87947,429,87958);I=F+32|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];WD(G,Y,D,f);i=z+-3|0;y=(a[M>>2]|0)+(i<<4)|0;a[y>>2]=a[G>>2];a[y+4>>2]=a[G+4>>2];a[y+8>>2]=a[G+8>>2];a[y+12>>2]=a[G+12>>2];y=z+-1|0;e=(a[M>>2]|0)+(y<<4)|0;a[Y>>2]=a[G>>2];a[Y+4>>2]=a[G+4>>2];a[Y+8>>2]=a[G+8>>2];a[Y+12>>2]=a[G+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];yD(Q,Y,D);a[e>>2]=a[Q>>2];a[e+4>>2]=a[Q+4>>2];a[e+8>>2]=a[Q+8>>2];a[e+12>>2]=a[Q+12>>2];e=a[M>>2]|0;W=e+(z<<4)|0;e=e+(y<<4)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];yD(m,Y,D);a[W>>2]=a[m>>2];a[W+4>>2]=a[m+4>>2];a[W+8>>2]=a[m+8>>2];a[W+12>>2]=a[m+12>>2];W=a[M>>2]|0;e=W+(z+-2<<4)|0;y=W+(y<<4)|0;a[Y>>2]=a[y>>2];a[Y+4>>2]=a[y+4>>2];a[Y+8>>2]=a[y+8>>2];a[Y+12>>2]=a[y+12>>2];a[D>>2]=a[G>>2];a[D+4>>2]=a[G+4>>2];a[D+8>>2]=a[G+8>>2];a[D+12>>2]=a[G+12>>2];yD(Z,Y,D);a[e>>2]=a[Z>>2];a[e+4>>2]=a[Z+4>>2];a[e+8>>2]=a[Z+8>>2];a[e+12>>2]=a[Z+12>>2];e=a[L>>2]|0;if(!e)break;i=PC(A,a[M>>2]|0,i,i,F,e)|0;break}r=z;while(1){if((r|0)>0)e=0;else break;while(1){if((e|0)==4)break;m=y+(e<<4)|0;Q=(a[M>>2]|0)+(r-e<<4)|0;a[m>>2]=a[Q>>2];a[m+4>>2]=a[Q+4>>2];a[m+8>>2]=a[Q+8>>2];a[m+12>>2]=a[Q+12>>2];e=e+1|0}if(zD(y,f)|0){e=0;V=43;break}r=r+-3|0}A:do{if((V|0)==43)while(1){V=0;if((e|0)==4)break A;V=(a[M>>2]|0)+(r-e<<4)|0;m=y+(e<<4)|0;a[V>>2]=a[m>>2];a[V+4>>2]=a[m+4>>2];a[V+8>>2]=a[m+8>>2];a[V+12>>2]=a[m+12>>2];e=e+1|0;V=43}}while(0);if(r|0){i=r+-3|0;e=a[L>>2]|0;if(!e)break;i=PC(A,a[M>>2]|0,i,z+-3|0,F,e)|0;break}if(!(a[L>>2]|0))vA(87936,87947,452,87958);else{i=F+16|0;y=M+16|0;A=a[M>>2]|0;a[Y>>2]=a[y>>2];a[Y+4>>2]=a[y+4>>2];a[Y+8>>2]=a[y+8>>2];a[Y+12>>2]=a[y+12>>2];a[D>>2]=a[A>>2];a[D+4>>2]=a[A+4>>2];a[D+8>>2]=a[A+8>>2];a[D+12>>2]=a[A+12>>2];WD(W,Y,D,f);a[i>>2]=a[W>>2];a[i+4>>2]=a[W+4>>2];a[i+8>>2]=a[W+8>>2];a[i+12>>2]=a[W+12>>2];i=0;break}}else V=52}while(0);if((V|0)==52)if(!(a[L>>2]|0))i=0;else{i=F+16|0;V=M+16|0;a[i>>2]=a[V>>2];a[i+4>>2]=a[V+4>>2];a[i+8>>2]=a[V+8>>2];a[i+12>>2]=a[V+12>>2];i=0}e=z-i+1|0;r=F+4|0;a[r>>2]=e;a[F>>2]=$F(e<<4)|0;e=0;while(1){if((e|0)>=(a[r>>2]|0))break;V=(a[F>>2]|0)+(e<<4)|0;A=(a[M>>2]|0)+(i<<4)|0;a[V>>2]=a[A>>2];a[V+4>>2]=a[A+4>>2];a[V+8>>2]=a[A+8>>2];a[V+12>>2]=a[A+12>>2];i=i+1|0;e=e+1|0}L2(a[M>>2]|0);L2(M);a[a[(a[J>>2]|0)+8>>2]>>2]=F}}while(0);k=N;return}function mD(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((A|0)!=0?(r[A>>0]|0)!=0:0){e=$R(e,A)|0;if(!e){a[i>>2]=A;ao(0,88149,i)|0;e=0}}else e=0;k=f;return e|0}function LD(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];if((+b[e>>3]<=r?r<=+b[e+16>>3]:0)?(i=+b[A+8>>3],+b[e+8>>3]<=i):0)A=i<=+b[e+24>>3]&1;else A=0;return A|0}function WD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0;L=k;k=k+464|0;w=L+48|0;m=L+32|0;g=L+16|0;E=L;C=L+364|0;I=L+264|0;G=L+164|0;Q=L+64|0;h=+b[e>>3];d=+b[e+8>>3];B=+b[i>>3];v=+b[i+8>>3];a[g>>2]=a[r>>2];a[g+4>>2]=a[r+4>>2];a[g+8>>2]=a[r+8>>2];a[g+12>>2]=a[r+12>>2];r=r+16|0;a[E>>2]=a[r>>2];a[E+4>>2]=a[r+4>>2];a[E+8>>2]=a[r+8>>2];a[E+12>>2]=a[r+12>>2];c=+b[g>>3];if((B=+b[g+8>>3]):0)?f<=+b[E+8>>3]:0){u=f;o=c}else l=4;do{if((l|0)==4){t=+b[E>>3];if(B>t){n=d+ +(~~((t-h)*(d-v)/(h-B))|0);f=+b[g+8>>3];if(n>=f?n<=+b[E+8>>3]:0){u=n;o=t;break}}else f=+b[g+8>>3];if(v=c)|!(s<=t))):0){u=f;o=s;break}f=+b[E+8>>3];if(v>f?(Z=h+ +(~~((f-d)*(h-B)/(d-v))|0),!(!(Z>=c)|!(Z<=t))):0){u=f;o=Z;break}a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];C=VD(w,C)|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];I=VD(w,I)|0;a[w>>2]=a[g>>2];a[w+4>>2]=a[g+4>>2];a[w+8>>2]=a[g+8>>2];a[w+12>>2]=a[g+12>>2];G=VD(w,G)|0;a[w>>2]=a[E>>2];a[w+4>>2]=a[E+4>>2];a[w+8>>2]=a[E+8>>2];a[w+12>>2]=a[E+12>>2];Q=VD(w,Q)|0;a[m>>2]=C;a[m+4>>2]=I;a[m+8>>2]=G;a[m+12>>2]=Q;ao(1,88071,m)|0;vA(138394,87947,78,88123)}}while(0);b[A>>3]=o;b[A+8>>3]=u;k=L;return}function yD(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function zD(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+80|0;t=s+16|0;c=s;r=0;while(1){if((r|0)==4)break;l=t+(r<<4)|0;n=A+(r<<4)|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];r=r+1|0}r=e+8|0;l=e+24|0;i=+YD(A,0.0,1.0,+b[e>>3],+b[r>>3],+b[l>>3]);if(i>=0.0&i<2.0)mR(c,t,3,i,A,0);else i=2.0;n=e+16|0;f=+YD(A,0.0,i>1.0?1.0:i,+b[n>>3],+b[r>>3],+b[l>>3]);if(f>=0.0&f1.0?1.0:i,+b[r>>3],+b[e>>3],+b[n>>3]);if(f>=0.0&f1.0?1.0:i,+b[l>>3],+b[e>>3],+b[n>>3]);if(f>=0.0&f>3]-r))<=.005){e=+b[A+56>>3];e=!(e>=f)|!(e<=a)?-1.0:i;break A}break}default:{}}mR(l,A,3,.5,t,c);n=(i+e)*.5;e=+YD(t,e,n,r,f,a);if(!(e>=0.0))e=+YD(c,n,i,r,f,a)}}while(0);k=s;return+e}function DD(A,e,i,r,f,a){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;var n=0.0,l=0,t=0,c=0,s=0;s=k;k=k+144|0;t=s+80|0;c=s+16|0;l=s;A:do{if(!(e==i)){switch(MD(A,r)|0){case 0:{e=-1.0;break A}case 1:{if(+y(+(+b[A+56>>3]-r))<=.005){e=+b[A+48>>3];e=!(e>=f)|!(e<=a)?-1.0:i;break A}break}default:{}}mR(l,A,3,.5,t,c);n=(i+e)*.5;e=+DD(t,e,n,r,f,a);if(!(e>=0.0))e=+DD(c,n,i,r,f,a)}}while(0);k=s;return+e}function MD(A,e){A=A|0;e=+e;var i=0,r=0,f=0,a=0.0,n=0,l=0;a=+b[A+8>>3];f=ae&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;a=+b[A+(i<<4)+8>>3];l=ae&1;n=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=n}return f|0}function FD(A,e){A=A|0;e=+e;var i=0,r=0,f=0,a=0.0,n=0,l=0;a=+b[A>>3];f=ae&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;a=+b[A+(i<<4)>>3];l=ae&1;n=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=n}return f|0}function VD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=k;k=k+16|0;r=i;f=+b[A+8>>3];b[r>>3]=+b[A>>3];b[r+8>>3]=f;P4(e,88137,r)|0;k=i;return e|0}function JD(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0;E=k;k=k+16|0;h=E;g=4;v=m2(40)|0;a[v>>2]=0;o=A+16|0;i=a[o>>2]|0;A:do{if(((f[i+238>>1]|0)-(f[i+236>>1]|0)|0)>=2){s=1;e=i;i=a[i+196>>2]|0;e:while(1){w=s+1|0;if(!(a[i+(w<<6)>>2]|0)){u=15;break}else b=0;while(1){l=a[i+(s<<6)>>2]|0;if((b|0)>=(l|0)){s=w;continue e}c=a[(a[i+(s<<6)+4>>2]|0)+(b<<2)>>2]|0;d=0;e=iA(20,c|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,v|0,g|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){e=L;break e}if(e<<24>>24){t=b;e=l;while(1){n=t+1|0;if((n|0)>=(e|0))break;d=0;e=rA(65,c|0,a[(a[i+(s<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,v|0,g|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){e=L;break e}if(!(e<<24>>24))break;e=a[(a[o>>2]|0)+196>>2]|0;t=n;i=e;e=a[e+(s<<6)>>2]|0}if((n-b|0)>1){d=0;hA(6,A|0,s|0,b|0,t|0,1);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;break e}}}i=a[o>>2]|0;b=b+1|0;e=i;i=a[i+196>>2]|0}}e:do{if((u|0)==15){while(1){if((s|0)>0)b=0;else break;while(1){i=a[e+196>>2]|0;l=a[i+(s<<6)>>2]|0;if((b|0)>=(l|0))break;c=a[(a[i+(s<<6)+4>>2]|0)+(b<<2)>>2]|0;d=0;e=iA(21,c|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,v|0,g|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){e=L;break e}if(e<<24>>24){t=b;e=l;while(1){n=t+1|0;if((n|0)>=(e|0))break;d=0;e=rA(66,c|0,a[(a[i+(s<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,v|0,g|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){e=L;break e}if(!(e<<24>>24))break;e=a[(a[o>>2]|0)+196>>2]|0;t=n;i=e;e=a[e+(s<<6)>>2]|0}if((n-b|0)>1){d=0;hA(6,A|0,s|0,b|0,t|0,0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;break e}}}b=b+1|0;e=a[o>>2]|0}s=s+-1|0;u=15}v=L6(187016,1,v|0,g|0)|0;g=L;d=0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1)e=L;else e=0}}while(0);e:while(1){if(e){d=0;aA(20,3,88177,h|0)|0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}else break}else r=1;while(1){e=a[o>>2]|0;if((r|0)>(a[e+180>>2]|0))break A;d=0;sA(101,a[(a[e+184>>2]|0)+(r<<2)>>2]|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue e}r=r+1|0}}}}while(0);L2(v|0);k=E;return}function ND(A){A=A|0;A=a[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(a[A+176>>2]|0)==1:0)?(a[A+184>>2]|0)==1:0)A=(a[A+104>>2]|0)==0&1;else A=0;return A|0}function XD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;l=t+40|0;n=t;r=a[a[(a[A+16>>2]|0)+172>>2]>>2]|0;A=a[a[(a[e+16>>2]|0)+172>>2]>>2]|0;if(((ND(e)|0)<<24>>24!=0?(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0):0)?(TD(r,A)|0)<<24>>24!=0:0){i=(a[A+16>>2]|0)+16|0;f=n;A=(a[r+16>>2]|0)+16|0;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(EL(n,l)|0)==0&1}else A=0;k=t;return A|0}function RD(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;v=A+16|0;h=a[(a[(a[(a[v>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(i<<2)>>2]|0;o=i+1|0;w=(f|0)==1;u=h+16|0;s=o;while(1){if((s|0)>(r|0)){n=r;B=o;break}k=a[(a[(a[(a[v>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(s<<2)>>2]|0;b=k+16|0;A:do{if(w)while(1){i=a[b>>2]|0;c=a[a[i+180>>2]>>2]|0;if(!c)break A;l=a[(a[u>>2]|0)+180>>2]|0;t=c+-48|0;f=0;while(1){i=a[l+(f<<2)>>2]|0;if(!i){d=8;break}if((a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)==(a[((a[c>>2]&3|0)==2?c:t)+40>>2]|0))break;else f=f+1|0}if((d|0)==8){d=0;i=mW(h,a[((a[c>>2]&3|0)==2?c:t)+40>>2]|0,c)|0}while(1){f=a[a[(a[b>>2]|0)+172>>2]>>2]|0;if(!f)break;FW(f,i);CW(f)}CW(c)}else while(1){i=a[b>>2]|0;c=a[a[i+172>>2]>>2]|0;if(!c)break A;l=a[(a[u>>2]|0)+172>>2]|0;t=c+48|0;f=0;while(1){i=a[l+(f<<2)>>2]|0;if(!i){d=17;break}if((a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)==(a[((a[c>>2]&3|0)==3?c:t)+40>>2]|0))break;else f=f+1|0}if((d|0)==17){d=0;i=mW(a[((a[c>>2]&3|0)==3?c:t)+40>>2]|0,h,c)|0}while(1){f=a[a[(a[b>>2]|0)+180>>2]>>2]|0;if(!f)break;FW(f,i);CW(f)}CW(c)}}while(0);if((a[i+176>>2]|0)!=(0-(a[i+184>>2]|0)|0)){d=23;break}yW(A,k);s=s+1|0}if((d|0)==23)vA(88313,88357,115,88364);while(1){n=n+1|0;i=a[(a[v>>2]|0)+196>>2]|0;f=i+(e<<6)|0;if((n|0)>=(a[f>>2]|0))break;r=a[i+(e<<6)+4>>2]|0;d=a[r+(n<<2)>>2]|0;a[r+(B<<2)>>2]=d;a[(a[d+16>>2]|0)+236>>2]=B;B=B+1|0}a[f>>2]=B;a[(a[i+(e<<6)+4>>2]|0)+(B<<2)>>2]=0;return}function HD(A){A=A|0;A=a[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(a[A+184>>2]|0)==1:0)?(a[A+176>>2]|0)==1:0)A=(a[A+104>>2]|0)==0&1;else A=0;return A|0}function pD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;l=t+40|0;n=t;r=a[a[(a[A+16>>2]|0)+180>>2]>>2]|0;A=a[a[(a[e+16>>2]|0)+180>>2]>>2]|0;if(((HD(e)|0)<<24>>24!=0?(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)==(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0):0)?(TD(r,A)|0)<<24>>24!=0:0){i=(a[A+16>>2]|0)+56|0;f=n;A=(a[r+16>>2]|0)+56|0;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(EL(n,l)|0)==0&1}else A=0;k=t;return A|0}function UD(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+32|0;o=d+16|0;u=d;s=A+16|0;i=a[s>>2]|0;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;a[(a[i+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;i=a[s>>2]|0}Fz(A);c=cd(A)|0;while(1){if(!c)break;xD(A,c);t=Oo(A,c)|0;while(1){if(!t)break;else i=t;while(1){e=a[(a[i+16>>2]|0)+172>>2]|0;if(!e)break;else i=e}l=t+-48|0;while(1){e=i+-48|0;n=a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0;if((a[(a[n+16>>2]|0)+232>>2]|0)>=(a[(a[(a[((a[t>>2]&3|0)==2?t:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;xD(A,n);i=a[a[(a[(a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}t=_o(A,t)|0}c=bd(A,c)|0}e=a[s>>2]|0;t=f[e+236>>1]|0;while(1){if((t|0)>(f[e+238>>1]|0)){b=1;w=e;break}e=a[(a[e+268>>2]|0)+(t<<2)>>2]|0;c=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;i=e+16|0;if((a[c+(a[(a[i>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){h=17;break}l=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;e=a[s>>2]|0;i=a[e+196>>2]|0;a[i+(t<<6)+4>>2]=l+(a[(a[(a[(a[e+268>>2]|0)+(t<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;l=0;A:while(1){if((l|0)>=(a[i+(t<<6)>>2]|0))break;i=a[(a[i+(t<<6)+4>>2]|0)+(l<<2)>>2]|0;if(!i)break;n=a[i+16>>2]|0;e:do{if(!(r[n+156>>0]|0))if(!(Dd(A,i)|0))break A;else e=l;else{i=a[a[n+172>>2]>>2]|0;while(1){if(!i)break e;n=a[(a[i+16>>2]|0)+116>>2]|0;if(!n)break;else i=n}if(Dd(A,a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0){c=(Dd(A,a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)|0)==0;e=c?e:l}}}while(0);l=l+1|0;i=a[(a[s>>2]|0)+196>>2]|0}if((e|0)==-1){a[o>>2]=Vh(A)|0;a[o+4>>2]=t;ao(0,88277,o)|0}c=a[s>>2]|0;a[(a[c+196>>2]|0)+(t<<6)>>2]=e+1;t=t+1|0;e=c}if((h|0)==17){o=Vh(e)|0;h=a[(a[i>>2]|0)+236>>2]|0;a[u>>2]=o;a[u+4>>2]=h;a[u+8>>2]=t;ao(1,88219,u)|0;fe(187016,1)}while(1){if((b|0)>(a[w+180>>2]|0))break;UD(a[(a[w+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0;w=a[s>>2]|0}k=d;return}function xD(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[e+16>>2]|0;A=(a[(a[A+16>>2]|0)+268>>2]|0)+(a[i+232>>2]<<2)|0;r=a[A>>2]|0;if(!((r|0)!=0?(a[(a[r+16>>2]|0)+236>>2]|0)<=(a[i+236>>2]|0):0))a[A>>2]=e;return}function TD(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=a[A+16>>2]|0;if(!(r[f+112>>0]|0))break;A=a[f+116>>2]|0}while(1){i=a[e+16>>2]|0;if(!(r[i+112>>0]|0))break;e=a[i+116>>2]|0}if((r[f+153>>0]|0)==0?(r[i+153>>0]|0)==0:0){f=a[e>>2]&3;i=a[A>>2]&3;A=(U((a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(a[(a[(a[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else A=0;return A|0}function jD(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+544|0;c=b+528|0;SD(c,b+512|0,b);i=(r[193770]|0)+1<<24>>24;r[193770]=i<<24>>24==0?1:i;i=a[A+16>>2]|0;a[i+220>>2]=0;a[i+232>>2]=0;i=(e|0)>0;e=cd(A)|0;while(1){if(!e)break;if(i?(l=a[e+16>>2]|0,t=a[l+212>>2]|0,(t|0)!=0):0){n=a[(a[(a[t+16>>2]|0)+268>>2]|0)+(a[l+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(e|0)==(CR(e)|0)):0){n=e;f=7}if((f|0)==7?(0,(r[(a[n+16>>2]|0)+157>>0]|0)!=(r[193770]|0)):0){PD(A);OD(c,A,n);KD(A)}e=bd(A,e)|0}_D(c);k=b;return}function SD(A,e,i){A=A|0;e=e|0;i=i|0;a[e>>2]=i;a[e+4>>2]=i+512;a[e+12>>2]=0;a[e+8>>2]=0;a[A>>2]=e;a[A+4>>2]=e;a[A+8>>2]=i;return}function PD(A){A=A|0;a[(a[A+16>>2]|0)+192>>2]=0;a[46793]=0;return}function OD(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+32|0;o=h;qD(A,i);b=o+8|0;s=o+16|0;w=o+24|0;A:while(1){u=$D(A)|0;if(!u)break;i=u+16|0;if((r[(a[i>>2]|0)+157>>0]|0)==(r[193770]|0))continue;AM(e,u);l=a[i>>2]|0;n=l+180|0;c=a[n+4>>2]|0;t=o;a[t>>2]=a[n>>2];a[t+4>>2]=c;t=l+172|0;c=a[t+4>>2]|0;n=b;a[n>>2]=a[t>>2];a[n+4>>2]=c;n=l+188|0;c=a[n+4>>2]|0;t=s;a[t>>2]=a[n>>2];a[t+4>>2]=c;l=l+196|0;t=a[l+4>>2]|0;c=w;a[c>>2]=a[l>>2];a[c+4>>2]=t;c=3;while(1){if((c|0)<=-1)continue A;i=a[o+(c<<3)>>2]|0;e:do{if(i|0){t=(a[o+(c<<3)+4>>2]|0)+-1|0;l=i+(t<<2)|0;while(1){if((t|0)<=-1)break e;f=a[l>>2]|0;n=a[f>>2]&3;i=a[((n|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(u|0))i=a[((n|0)==3?f:f+48|0)+40>>2]|0;if((r[(a[i+16>>2]|0)+157>>0]|0)!=(r[193770]|0)?(i|0)==(CR(i)|0):0)qD(A,i);l=l+-4|0;t=t+-1|0}}}while(0);c=c+-1|0}}k=h;return}function KD(A){A=A|0;var e=0,i=0,r=0,f=0;i=A+16|0;e=a[i>>2]|0;f=e+220|0;r=a[f>>2]|0;A=r+1|0;a[f>>2]=A;e=a[e+216>>2]|0;if(!e)A=$F(A<<2)|0;else A=eV(e,A<<2)|0;f=a[i>>2]|0;a[f+216>>2]=A;a[A+(r<<2)>>2]=a[f+192>>2];return}function _D(A){A=A|0;var e=0;A=a[(a[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=a[A+12>>2]|0;L2(a[A>>2]|0);L2(A);A=e}return}function qD(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;l=b+8|0;f=b;c=A+8|0;i=a[c>>2]|0;t=A+4|0;A=a[t>>2]|0;if((i|0)==(a[A+4>>2]|0)){i=a[A+12>>2]|0;if(!i){i=qF(16)|0;if(!i)ao(1,98969,f)|0;a[i+8>>2]=a[t>>2];a[i+12>>2]=0;A=qF(4e6)|0;a[i>>2]=A;if(!A){ao(1,88377,l)|0;A=a[i>>2]|0}a[i+4>>2]=A+4e6;a[(a[t>>2]|0)+12>>2]=i}a[t>>2]=i;i=a[i>>2]|0;a[c>>2]=i}r[(a[e+16>>2]|0)+157>>0]=(n[193770]|0)+1;a[c>>2]=i+4;a[i>>2]=e;k=b;return}function $D(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+8|0;e=a[f>>2]|0;i=A+4|0;r=a[i>>2]|0;if((e|0)==(a[r>>2]|0))if((r|0)==(a[A>>2]|0))e=0;else{e=a[r+8>>2]|0;a[i>>2]=e;e=a[e+4>>2]|0;a[f>>2]=e;n=4}else n=4;if((n|0)==4){e=e+-4|0;a[f>>2]=e;e=a[e>>2]|0}return e|0}function AM(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=a[A+16>>2]|0;n=f+232|0;a[n>>2]=(a[n>>2]|0)+1;n=a[e+16>>2]|0;r[n+157>>0]=r[193770]|0;A=a[46793]|0;i=n+168|0;if(!A){a[i>>2]=0;a[f+192>>2]=e}else{a[i>>2]=A;a[(a[A+16>>2]|0)+164>>2]=e}a[46793]=e;a[n+164>>2]=0;return}function eM(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,k=0.0;w=A+16|0;e=(a[w>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;n=e+16|0;e=a[n>>2]|0;i=a[e+188>>2]|0;A:do{if(!i)f=0;else{f=0;while(1){i=a[i+(f<<2)>>2]|0;if(!i){f=0;break A}iM(i);e=a[n>>2]|0;f=f+1|0;i=a[e+188>>2]|0}}}while(0);while(1){if((f|0)>=(a[e+208>>2]|0))break;i=a[(a[e+204>>2]|0)+(f<<2)>>2]|0;s=a[i>>2]&3;if((a[(a[(a[((s|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(a[(a[(a[((s|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){iM(i);e=a[n>>2]|0}f=f+1|0}e=e+164|0}s=a[w>>2]|0;e=a[s+196>>2]|0;if(!((a[e+56>>2]|0)==0?(a[s+180>>2]|0)<=0:0))l=13;A:do{if((l|0)==13){l=a[e+4>>2]|0;n=0;e:while(1){e=a[l+(n<<2)>>2]|0;if(!e)break A;i=a[(a[e+16>>2]|0)+196>>2]|0;e=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f)break;s=a[f+16>>2]|0;if(a[s+96>>2]|0?(r[s+113>>0]|0)==0:0)break e;e=e+1|0}n=n+1|0}rM(A)}}while(0);Sy(A);i=0;e=(a[w>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;s=e+16|0;e=a[s>>2]|0;f=a[e+188>>2]|0;A:do{if(f){c=0;while(1){n=a[f+(c<<2)>>2]|0;if(!n){c=0;break}l=a[n+16>>2]|0;t=a[l+96>>2]|0;do{if(t)if(!(r[l+113>>0]|0)){fM(n);f=a[s>>2]|0;i=1;e=f;f=a[f+188>>2]|0;break}else{b[l+136>>3]=+b[((a[(a[w>>2]|0)+116>>2]&1|0)==0?t+24|0:t+32|0)>>3];break}}while(0);c=c+1|0}while(1){if((c|0)>=(a[e+208>>2]|0))break A;l=a[(a[e+204>>2]|0)+(c<<2)>>2]|0;t=a[l>>2]&3;n=a[((t|0)==3?l:l+48|0)+40>>2]|0;t=a[((t|0)==2?l:l+-48|0)+40>>2]|0;do{if(!((n|0)==(t|0)?1:(a[(a[n+16>>2]|0)+232>>2]|0)!=(a[(a[t+16>>2]|0)+232>>2]|0))){f=l;do{t=a[f+16>>2]|0;f=a[t+172>>2]|0}while((f|0)!=0);f=r[t+113>>0]|0;n=a[l+16>>2]|0;r[n+113>>0]=f;n=a[n+96>>2]|0;if(n)if(!(f<<24>>24)){fM(l);i=1;e=a[s>>2]|0;break}else{k=+b[((a[(a[w>>2]|0)+116>>2]&1|0)==0?n+24|0:n+32|0)>>3];t=t+136|0;u=+b[t>>3];b[t>>3]=k>u?k:u;break}}}while(0);c=c+1|0}}}while(0);e=e+164|0}if(i|0){RW(A);Ay(A)}return i|0}function iM(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;e=a[A>>2]&3;t=a[((e|0)==3?A:A+48|0)+40>>2]|0;f=t+16|0;n=a[(a[f>>2]|0)+236>>2]|0;e=a[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=(n|0)<(e|0);i=l?e:n;t=a[(a[(gL(t)|0)+16>>2]|0)+196>>2]|0;f=t+(a[(a[f>>2]|0)+232>>2]<<6)+4|0;e=l?n:e;A:while(1){e=e+1|0;if((e|0)>=(i|0))break;n=a[(a[(a[f>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;switch(r[n+156>>0]|0){case 0:break A;case 1:break;default:continue A}if(a[n+104>>2]|0)break}if((e|0)==(i|0))do{t=a[A+16>>2]|0;r[t+113>>0]=1;A=a[t+172>>2]|0}while((A|0)!=0);return}function rM(A){A=A|0;var e=0,i=0,r=0,n=0;n=A+16|0;A=a[n>>2]|0;if(f[A+236>>1]|0)vA(88434,88417,190,88453);e=(f[A+238>>1]|0)+3|0;A=a[A+196>>2]|0;if(!A)A=$F(e<<6)|0;else A=eV(A,e<<6)|0;e=A+64|0;A=a[n>>2]|0;a[A+196>>2]=e;A=f[A+238>>1]|0;while(1){if((A|0)<=-1)break;r=A+-1|0;i=e+(A<<6)|0;A=e+(r<<6)|0;e=i+64|0;do{a[i>>2]=a[A>>2];i=i+4|0;A=A+4|0}while((i|0)<(e|0));A=r;e=a[(a[n>>2]|0)+196>>2]|0}a[e+(A<<6)+8>>2]=0;a[e+(A<<6)>>2]=0;i=qF(8)|0;n=a[n>>2]|0;r=a[n+196>>2]|0;a[r+(A<<6)+12>>2]=i;a[r+(A<<6)+4>>2]=i;a[r+(A<<6)+56>>2]=0;b[r+(A<<6)+24>>3]=1.0;b[r+(A<<6)+16>>3]=1.0;b[r+(A<<6)+40>>3]=1.0;b[r+(A<<6)+32>>3]=1.0;n=n+236|0;f[n>>1]=(f[n>>1]|0)+-1<<16>>16;return}function fM(A){A=A|0;var e=0,i=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0.0,d=0.0;t=A+16|0;if(a[(a[t>>2]|0)+96>>2]|0){w=A+48|0;c=gL(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)|0;e=a[(a[(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+232>>2]|0;s=MH(c,A)|0;u=c+16|0;i=a[u>>2]|0;n=a[i+196>>2]|0;k=e+-1|0;l=a[a[n+(k<<6)+4>>2]>>2]|0;if(!l)f=+b[n+(e<<6)+24>>3]+ +b[(a[(a[a[n+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(a[i+252>>2]|0);else f=+b[(a[l+16>>2]|0)+24>>3]-+b[n+(k<<6)+16>>3];e=FH(c,k,s)|0;c=a[(a[t>>2]|0)+96>>2]|0;h=+b[c+24>>3];o=+b[c+32>>3];t=(a[(a[u>>2]|0)+116>>2]&1|0)==0;d=t?o:h;n=e+16|0;i=a[n>>2]|0;b[i+80>>3]=d;s=~~(d*.5);o=(t?h:o)*.5;b[i+96>>3]=o;b[i+88>>3]=o;a[i+104>>2]=c;b[i+24>>3]=+(s+~~f|0);i=mW(e,a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0,A)|0;i=a[i+16>>2]|0;b[i+16>>3]=-+b[(a[n>>2]|0)+88>>3];b[i+56>>3]=+b[(a[(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+96>>3];r[i+112>>0]=4;i=A+-48|0;e=mW(e,a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0,A)|0;n=a[n>>2]|0;e=a[e+16>>2]|0;b[e+16>>3]=+b[n+96>>3];b[e+56>>3]=+b[(a[(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+88>>3];r[e+112>>0]=4;e=a[(a[u>>2]|0)+196>>2]|0;i=e+(k<<6)+16|0;f=+(s|0);if(+b[i>>3]>3]=f;e=e+(k<<6)+24|0;if(+b[e>>3]>3]=f;a[n+112>>2]=A}return}function aM(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+160|0;Z=Q+24|0;C=Q+20|0;E=Q+16|0;u=Q;o=Q+32|0;I=a[A+152>>2]|0;a[Z>>2]=0;a[C>>2]=0;a[E>>2]=0;G=AI(A)|0;a[G+4>>2]=3;a[G+8>>2]=e;a[G+12>>2]=9;v=e+16|0;w=a[(a[v>>2]|0)+96>>2]|0;if((w|0?(r[w+82>>0]|0)==0:0)?(ER(po(e,100105)|0,0)|0)<<24>>24:0){w=G+260|0;f[w>>1]=f[w>>1]|512}if(i|0?a[(a[v>>2]|0)+8>>2]|0:0)rr(A,i);i=a[47206]|0;if((i|0?(n=Uo(e,i)|0,n|0):0)?r[n>>0]|0:0)wr(A,+oR(e,a[47206]|0,1.0,0.0));do{if(I&16777216|0){i=e+48|0;if((l[(a[(Id(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){s=+b[(a[(a[(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;b[G+176>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);s=+b[(a[(a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;b[G+184>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);break}else{w=G+176|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;break}}}while(0);if(I&32768|0){w=a[v>>2]|0;i=a[w+96>>2]|0;if(!i)i=a[G+192>>2]|0;else{i=a[i>>2]|0;a[G+192>>2]=i}n=G+196|0;a[n>>2]=i;c=G+204|0;a[c>>2]=i;t=G+200|0;a[t>>2]=i;i=a[w+108>>2]|0;if(i|0)a[n>>2]=a[i>>2];i=a[w+104>>2]|0;if(i|0)a[t>>2]=a[i>>2];i=a[w+100>>2]|0;if(i|0)a[c>>2]=a[i>>2]}if(!(I&65536))t=0;else{co(u,128,o);a[G+212>>2]=SF(rI(A,e,u)|0,e)|0;uo(u);i=po(e,141055)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=31;else{i=po(e,111477)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=31;else n=0}if((h|0)==31)n=SF(i,e)|0;i=po(e,100118)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=36;else h=34;do{if((h|0)==34){i=po(e,100127)|0;if(i|0?r[i>>0]|0:0){h=36;break}if(n|0){i=s3(n)|0;h=39}}}while(0);if((h|0)==36){i=SF(i,e)|0;h=39}if((h|0)==39)a[G+208>>2]=i;i=po(e,100135)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=44;else h=42;do{if((h|0)==42){i=po(e,100145)|0;if(i|0?r[i>>0]|0:0){h=44;break}if(n|0){i=s3(n)|0;h=47}}}while(0);if((h|0)==44){i=SF(i,e)|0;h=47}if((h|0)==47)a[G+216>>2]=i;i=po(e,100154)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=52;else h=50;do{if((h|0)==50){i=po(e,100163)|0;if(i|0?r[i>>0]|0:0){h=52;break}if(n|0)a[G+220>>2]=s3(n)|0}}while(0);if((h|0)==52){a[G+220>>2]=SF(i,e)|0;h=G+260|0;f[h>>1]=f[h>>1]|128}i=po(e,100171)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=59;else h=57;do{if((h|0)==57){i=po(e,100180)|0;if(i|0?r[i>>0]|0:0){h=59;break}if(n|0)a[G+224>>2]=s3(n)|0}}while(0);if((h|0)==59){a[G+224>>2]=SF(i,e)|0;h=G+260|0;f[h>>1]=f[h>>1]|256}t=n}do{if(I&8388608){i=po(e,141088)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)n=SF(i,e)|0;else n=0;i=po(e,100188)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){h=G+260|0;f[h>>1]=f[h>>1]|64;i=SF(i,e)|0;h=72}else h=70;if((h|0)==70?n|0:0){i=s3(n)|0;h=72}if((h|0)==72)a[G+244>>2]=i;i=po(e,100199)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){i=SF(i,e)|0;h=78}else h=76;if((h|0)==76?n|0:0){i=s3(n)|0;h=78}if((h|0)==78)a[G+248>>2]=i;i=po(e,100211)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){a[G+252>>2]=SF(i,e)|0;o=G+260|0;f[o>>1]=f[o>>1]|16}else h=82;if((h|0)==82?n|0:0)a[G+252>>2]=s3(n)|0;i=po(e,100222)|0;if(i|0?r[i>>0]|0:0){h=G+260|0;f[h>>1]=f[h>>1]|32;a[G+256>>2]=SF(i,e)|0;break}if(n)a[G+256>>2]=s3(n)|0;else n=0}else n=0}while(0);do{if(I&4194304|0){i=po(e,141101)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=94;else h=92;do{if((h|0)==92){i=po(e,100233)|0;if(i|0?r[i>>0]|0:0){h=94;break}i=a[G+192>>2]|0;if(i|0)a[G+228>>2]=s3(i)|0}}while(0);if((h|0)==94){o=QM(i,e)|0;a[G+228>>2]=SF(o,e)|0;L2(o);o=G+260|0;f[o>>1]=f[o>>1]|1}i=po(e,100245)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){o=QM(i,e)|0;a[G+232>>2]=SF(o,e)|0;L2(o);o=G+260|0;f[o>>1]=f[o>>1]|8}else h=100;if((h|0)==100?(d=a[G+192>>2]|0,d|0):0)a[G+232>>2]=s3(d)|0;i=po(e,100258)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){d=QM(i,e)|0;a[G+236>>2]=SF(d,e)|0;L2(d);d=G+260|0;f[d>>1]=f[d>>1]|2}else h=105;if((h|0)==105?(B=a[G+200>>2]|0,B|0):0)a[G+236>>2]=s3(B)|0;i=po(e,100270)|0;if(i|0?r[i>>0]|0:0){B=QM(i,e)|0;a[G+240>>2]=SF(B,e)|0;L2(B);B=G+260|0;f[B>>1]=f[B>>1]|4;break}i=a[G+204>>2]|0;if(i|0)a[G+240>>2]=s3(i)|0}}while(0);L2(t);L2(n);do{if(I&4259840|0?(g=a[(a[v>>2]|0)+8>>2]|0,g|0):0){if(!(a[G+208>>2]|0)){if((I&524288|0)==0|(a[G+228>>2]|0)==0)break}else if(!(I&524288))break;s=+b[(a[A+16>>2]|0)+152>>3]*.5;s=s>2.0?s:2.0;n=a[g+4>>2]|0;i=0;while(1){if((i|0)>=(n|0))break;mM(Z,C,E,(a[g>>2]|0)+(i*48|0)|0,s);i=i+1|0}t=a[E>>2]|0;a[G+276>>2]=t;c=a[C>>2]|0;a[G+280>>2]=c;if(!(I&8192)){i=0;n=0;while(1){if((n|0)>=(t|0))break;i=(a[c+(n<<2)>>2]|0)+i|0;n=n+1|0}Z=a[Z>>2]|0;zi(A,Z,Z,i)|0;i=Z}else i=a[Z>>2]|0;a[G+284>>2]=i;a[G+264>>2]=2;a[G+272>>2]=i;a[G+268>>2]=a[c>>2]}}while(0);ji(A,e);i=a[G+208>>2]|0;if(!((i|0)==0?!(f[G+260>>1]&1):0))Pi(A,i,a[G+228>>2]|0,a[G+244>>2]|0,a[G+212>>2]|0);k=Q;return}function nM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,U=0,x=0;H=k;k=k+240|0;J=H+224|0;V=H+208|0;I=H+128|0;C=H+112|0;R=H+64|0;L=H+48|0;W=H+32|0;y=H+16|0;z=H;Y=H+192|0;D=H+176|0;Z=H+160|0;m=H+144|0;a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;N=+b[(a[A+16>>2]|0)+152>>3];Qf(po(e,100032)|0);F=e+16|0;A:do{if(a[(a[F>>2]|0)+8>>2]|0){X=+oR(e,a[47188]|0,1.0,0.0);c=dR(e,a[47176]|0,195059)|0;E=(i|0)!=0;e:do{if(E){f=i;while(1){l=f;f=f+4|0;l=a[l>>2]|0;if(!l){u=0;break e}if((r[l>>0]|0)!=116)continue;if(!(A1(l,111117)|0)){u=1;break}}}else u=0}while(0);t=c;h=0;l=0;e:while(1){switch(r[t>>0]|0){case 0:break e;case 58:{f=h+1|0;break}case 59:{f=h;l=l+1|0;break}default:f=h}t=t+1|0;h=f}w=(h|0)!=0;if((l|0)!=0&w)if(!(kM(A,e,i,c,h+1|0,X,N)|0))break;else s=137314;else s=c;f=n[(a[F>>2]|0)+115>>0]|0;if(!(f&1))if(!(f&2))if(!(f&8))if(!(f&4)){l=s;t=BR(e,a[47177]|0,s)|0}else{t=106296;f=106288;c=188712;l=188712;o=18}else{t=106280;f=106272;c=188712;l=188712;o=18}else{t=106264;f=106256;c=188712;l=188712;o=18}else{t=106248;f=106240;c=188712;l=188712;o=18}if((o|0)==18){l=a[l>>2]|0;l=BR(e,l,oM(s,f)|0)|0;f=BR(e,a[c>>2]|0,t)|0;if((l|0)==(s|0)){l=s;t=f}else{$i(A,l);t=f}}if((t|0)!=(s|0))er(A,t);if(u<<24>>24){l=(r[l>>0]|0)==0?137314:l;f=(r[t>>0]|0)==0?137314:t;$i(A,137379);er(A,l);g=R;d=a[a[(a[F>>2]|0)+8>>2]>>2]|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));F=pX(R,hM(e)|0,N,0,0)|0;ar(A,a[F+8>>2]|0,a[F>>2]|0,1);dM(F);$i(A,l);if((f|0)!=(l|0))er(A,f);f=a[R+8>>2]|0;if(f|0){M=R+16|0;F=a[R>>2]|0;a[V>>2]=a[M>>2];a[V+4>>2]=a[M+4>>2];a[V+8>>2]=a[M+8>>2];a[V+12>>2]=a[M+12>>2];a[J>>2]=a[F>>2];a[J+4>>2]=a[F+4>>2];a[J+8>>2]=a[F+8>>2];a[J+12>>2]=a[F+12>>2];_C(A,2,V,J,X,N,f)}f=a[R+12>>2]|0;if(!f)break;F=R+32|0;R=(a[R>>2]|0)+((a[R+4>>2]|0)+-1<<4)|0;a[V>>2]=a[F>>2];a[V+4>>2]=a[F+4>>2];a[V+8>>2]=a[F+8>>2];a[V+12>>2]=a[F+12>>2];a[J>>2]=a[R>>2];a[J+4>>2]=a[R+4>>2];a[J+8>>2]=a[R+8>>2];a[J+12>>2]=a[R+12>>2];_C(A,3,V,J,X,N,f);break}f=a[F>>2]|0;if(!w){do{if(!(r[f+115>>0]&3)){if(r[l>>0]|0){$i(A,l);er(A,t);break}$i(A,137314);if(!(r[t>>0]|0)){er(A,137314);break}else{er(A,t);break}}}while(0);c=A+152|0;s=R+4|0;w=R+8|0;u=R+12|0;o=R+32|0;h=R+16|0;t=0;while(1){f=a[(a[F>>2]|0)+8>>2]|0;if((t|0)>=(a[f+4>>2]|0))break A;g=R;d=(a[f>>2]|0)+(t*48|0)|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));f=a[R>>2]|0;l=a[s>>2]|0;do{if(!(a[c>>2]&16384)){lr(A,f,l,0,0,0);f=a[w>>2]|0;if(f|0){M=a[R>>2]|0;a[V>>2]=a[h>>2];a[V+4>>2]=a[h+4>>2];a[V+8>>2]=a[h+8>>2];a[V+12>>2]=a[h+12>>2];a[J>>2]=a[M>>2];a[J+4>>2]=a[M+4>>2];a[J+8>>2]=a[M+8>>2];a[J+12>>2]=a[M+12>>2];_C(A,2,V,J,X,N,f)}f=a[u>>2]|0;if(f|0){M=(a[R>>2]|0)+((a[s>>2]|0)+-1<<4)|0;a[V>>2]=a[o>>2];a[V+4>>2]=a[o+4>>2];a[V+8>>2]=a[o+8>>2];a[V+12>>2]=a[o+12>>2];a[J>>2]=a[M>>2];a[J+4>>2]=a[M+4>>2];a[J+8>>2]=a[M+8>>2];a[J+12>>2]=a[M+12>>2];_C(A,3,V,J,X,N,f)}if((a[(a[(a[F>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(a[w>>2]|0)){if(!(E&(a[u>>2]|0)!=0))break}else if(!E)break;rr(A,i)}}else lr(A,f,l,a[w>>2]|0,a[u>>2]|0,0)}while(0);t=t+1|0}}M=a[(a[f+8>>2]|0)+4>>2]|0;Q=M*48|0;G=m2(Q)|0;Q=m2(Q)|0;v=+(h+2|0)*.5;E=R+4|0;o=L+8|0;h=W+8|0;e=y+8|0;i=z+8|0;u=0;while(1){if((u|0)>=(M|0))break;g=R;d=(a[a[(a[F>>2]|0)+8>>2]>>2]|0)+(u*48|0)|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));f=a[E>>2]|0;a[G+(u*48|0)+4>>2]=f;a[Q+(u*48|0)+4>>2]=f;w=f<<4;s=m2(w)|0;a[G+(u*48|0)>>2]=s;w=m2(w)|0;a[Q+(u*48|0)>>2]=w;c=a[R>>2]|0;a[z>>2]=a[c>>2];a[z+4>>2]=a[c+4>>2];a[z+8>>2]=a[c+8>>2];a[z+12>>2]=a[c+12>>2];c=0;while(1){if((c|0)>=(f+-1|0))break;a[L>>2]=a[z>>2];a[L+4>>2]=a[z+4>>2];a[L+8>>2]=a[z+8>>2];a[L+12>>2]=a[z+12>>2];f=c+1|0;t=(a[R>>2]|0)+(f<<4)|0;a[W>>2]=a[t>>2];a[W+4>>2]=a[t+4>>2];a[W+8>>2]=a[t+8>>2];a[W+12>>2]=a[t+12>>2];t=s+(c<<4)|0;if(!c){a[V>>2]=a[L>>2];a[V+4>>2]=a[L+4>>2];a[V+8>>2]=a[L+8>>2];a[V+12>>2]=a[L+12>>2];a[J>>2]=a[W>>2];a[J+4>>2]=a[W+4>>2];a[J+8>>2]=a[W+8>>2];a[J+12>>2]=a[W+12>>2];BM(Y,V,J);a[t>>2]=a[Y>>2];a[t+4>>2]=a[Y+4>>2];a[t+8>>2]=a[Y+8>>2];a[t+12>>2]=a[Y+12>>2]}else{a[V>>2]=a[y>>2];a[V+4>>2]=a[y+4>>2];a[V+8>>2]=a[y+8>>2];a[V+12>>2]=a[y+12>>2];a[J>>2]=a[W>>2];a[J+4>>2]=a[W+4>>2];a[J+8>>2]=a[W+8>>2];a[J+12>>2]=a[W+12>>2];BM(D,V,J);a[t>>2]=a[D>>2];a[t+4>>2]=a[D+4>>2];a[t+8>>2]=a[D+8>>2];a[t+12>>2]=a[D+12>>2]}U=a[R>>2]|0;B=c+2|0;x=U+(B<<4)|0;a[y>>2]=a[x>>2];a[y+4>>2]=a[x+4>>2];a[y+8>>2]=a[x+8>>2];a[y+12>>2]=a[x+12>>2];g=c+3|0;U=U+(g<<4)|0;a[z>>2]=a[U>>2];a[z+4>>2]=a[U+4>>2];a[z+8>>2]=a[U+8>>2];a[z+12>>2]=a[U+12>>2];p=s+(f<<4)|0;d=s+(B<<4)|0;a[C>>2]=a[L>>2];a[C+4>>2]=a[L+4>>2];a[C+8>>2]=a[L+8>>2];a[C+12>>2]=a[L+12>>2];a[I>>2]=a[W>>2];a[I+4>>2]=a[W+4>>2];a[I+8>>2]=a[W+8>>2];a[I+12>>2]=a[W+12>>2];a[V>>2]=a[x>>2];a[V+4>>2]=a[x+4>>2];a[V+8>>2]=a[x+8>>2];a[V+12>>2]=a[x+12>>2];a[J>>2]=a[U>>2];a[J+4>>2]=a[U+4>>2];a[J+8>>2]=a[U+8>>2];a[J+12>>2]=a[U+12>>2];vM(Z,C,I,V,J);a[d>>2]=a[Z>>2];a[d+4>>2]=a[Z+4>>2];a[d+8>>2]=a[Z+8>>2];a[d+12>>2]=a[Z+12>>2];a[p>>2]=a[Z>>2];a[p+4>>2]=a[Z+4>>2];a[p+8>>2]=a[Z+8>>2];a[p+12>>2]=a[Z+12>>2];b[w+(c<<4)>>3]=+b[L>>3]-+b[t>>3]*v;b[w+(c<<4)+8>>3]=+b[o>>3]-+b[s+(c<<4)+8>>3]*v;b[w+(f<<4)>>3]=+b[W>>3]-+b[p>>3]*v;b[w+(f<<4)+8>>3]=+b[h>>3]-+b[s+(f<<4)+8>>3]*v;b[w+(B<<4)>>3]=+b[y>>3]-+b[d>>3]*v;b[w+(B<<4)+8>>3]=+b[e>>3]-+b[s+(B<<4)+8>>3]*v;c=g;f=a[E>>2]|0}x=s+(c<<4)|0;a[V>>2]=a[y>>2];a[V+4>>2]=a[y+4>>2];a[V+8>>2]=a[y+8>>2];a[V+12>>2]=a[y+12>>2];a[J>>2]=a[z>>2];a[J+4>>2]=a[z+4>>2];a[J+8>>2]=a[z+8>>2];a[J+12>>2]=a[z+12>>2];BM(m,V,J);a[x>>2]=a[m>>2];a[x+4>>2]=a[m+4>>2];a[x+8>>2]=a[m+8>>2];a[x+12>>2]=a[m+12>>2];b[w+(c<<4)>>3]=+b[z>>3]-+b[x>>3]*v;b[w+(c<<4)+8>>3]=+b[i>>3]-+b[s+(c<<4)+8>>3]*v;u=u+1|0}B=s3(l)|0;i=0;d=l;f=l;t=l;l=B;while(1){l=t3(l,107984)|0;if(!l)break;e=(r[l>>0]|0)==0?137314:l;if((e|0)!=(t|0))if(!(r[(a[F>>2]|0)+115>>0]&3)){$i(A,e);er(A,e);t=e}else t=e;s=(i|0)==0;w=i>>>0<2;l=0;while(1){if((l|0)>=(M|0))break;u=a[Q+(l*48|0)>>2]|0;o=a[G+(l*48|0)>>2]|0;h=a[Q+(l*48|0)+4>>2]|0;c=0;while(1){if((c|0)>=(h|0))break;x=u+(c<<4)|0;b[x>>3]=+b[x>>3]+ +b[o+(c<<4)>>3];x=u+(c<<4)+8|0;b[x>>3]=+b[x>>3]+ +b[o+(c<<4)+8>>3];c=c+1|0}lr(A,u,h,0,0,0);l=l+1|0}i=i+1|0;d=s?e:d;f=w?e:f;l=0}l=a[R+8>>2]|0;if(!l)l=0;else{if(f){if(!(r[(a[F>>2]|0)+115>>0]&3)){$i(A,f);er(A,f)}}else f=0;U=R+16|0;x=a[R>>2]|0;a[V>>2]=a[U>>2];a[V+4>>2]=a[U+4>>2];a[V+8>>2]=a[U+8>>2];a[V+12>>2]=a[U+12>>2];a[J>>2]=a[x>>2];a[J+4>>2]=a[x+4>>2];a[J+8>>2]=a[x+8>>2];a[J+12>>2]=a[x+12>>2];_C(A,2,V,J,X,N,l);l=f}t=R+12|0;f=a[t>>2]|0;if(f|0){if((l|0)!=(d|0)?(r[(a[F>>2]|0)+115>>0]&3)==0:0){$i(A,d);er(A,d);f=a[t>>2]|0}U=R+32|0;x=(a[R>>2]|0)+((a[E>>2]|0)+-1<<4)|0;a[V>>2]=a[U>>2];a[V+4>>2]=a[U+4>>2];a[V+8>>2]=a[U+8>>2];a[V+12>>2]=a[U+12>>2];a[J>>2]=a[x>>2];a[J+4>>2]=a[x+4>>2];a[J+8>>2]=a[x+8>>2];a[J+12>>2]=a[x+12>>2];_C(A,3,V,J,X,N,f)}L2(B);f=0;while(1){if((f|0)>=(M|0))break;L2(a[G+(f*48|0)>>2]|0);L2(a[Q+(f*48|0)>>2]|0);f=f+1|0}L2(G);L2(Q)}}while(0);k=H;return}function lM(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+64|0;d=I+48|0;g=I+32|0;v=I+16|0;B=I;C=a[A+16>>2]|0;E=a[C+8>>2]|0;h=C+208|0;if(!((a[h>>2]|0)==0?!(f[C+260>>1]&1):0))e=3;A:do{if((e|0)==3?(Oi(A),o=C+276|0,i=a[o>>2]|0,i|0):0){l=C+280|0;e=a[l>>2]|0;t=C+268|0;c=C+284|0;b=C+272|0;s=C+228|0;w=C+244|0;u=C+212|0;r=a[e>>2]|0;n=1;while(1){if((n|0)>=(i|0))break A;a[t>>2]=a[e+(n<<2)>>2];a[b>>2]=(a[c>>2]|0)+(r<<4);Pi(A,a[h>>2]|0,a[s>>2]|0,a[w>>2]|0,a[u>>2]|0);Oi(A);Z=a[l>>2]|0;r=(a[Z+(n<<2)>>2]|0)+r|0;n=n+1|0;i=a[o>>2]|0;e=Z}}}while(0);a[C+268>>2]=0;a[C+272>>2]=0;h=E+16|0;e=a[h>>2]|0;i=a[e+8>>2]|0;if(!i)r=C+260|0;else{o=a[i>>2]|0;e=a[o>>2]|0;Z=a[o+8>>2]|0;u=o+16|0;a[v>>2]=a[u>>2];a[v+4>>2]=a[u+4>>2];a[v+8>>2]=a[u+8>>2];a[v+12>>2]=a[u+12>>2];o=o+32|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];if(!Z){a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];a[g+8>>2]=a[e+8>>2];a[g+12>>2]=a[e+12>>2]}else{a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2]}r=C+260|0;o=f[r>>1]|0;u=a[C+220>>2]|0;a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];tM(A,d,(o<<8&65535)<<16>>16>>15&255,u,(o<<14&65535)<<16>>16>>15&255);o=a[(a[h>>2]|0)+8>>2]|0;u=a[o>>2]|0;o=(a[o+4>>2]|0)+-1|0;e=a[u+(o*48|0)>>2]|0;i=a[u+(o*48|0)+4>>2]|0;Z=a[u+(o*48|0)+12>>2]|0;w=u+(o*48|0)+16|0;a[v>>2]=a[w>>2];a[v+4>>2]=a[w+4>>2];a[v+8>>2]=a[w+8>>2];a[v+12>>2]=a[w+12>>2];v=u+(o*48|0)+32|0;a[B>>2]=a[v>>2];a[B+4>>2]=a[v+4>>2];a[B+8>>2]=a[v+8>>2];a[B+12>>2]=a[v+12>>2];if(!Z){Z=e+(i+-1<<4)|0;a[g>>2]=a[Z>>2];a[g+4>>2]=a[Z+4>>2];a[g+8>>2]=a[Z+8>>2];a[g+12>>2]=a[Z+12>>2]}else{a[g>>2]=a[B>>2];a[g+4>>2]=a[B+4>>2];a[g+8>>2]=a[B+8>>2];a[g+12>>2]=a[B+12>>2]}e=f[r>>1]|0;Z=a[C+224>>2]|0;a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];tM(A,d,(e<<7&65535)<<16>>16>>15&255,Z,(e<<13&65535)<<16>>16>>15&255);e=a[h>>2]|0}i=a[e+96>>2]|0;n=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;s=C+216|0;l=a[s>>2]|0;w=C+232|0;t=a[w>>2]|0;u=C+248|0;c=a[u>>2]|0;o=C+212|0;b=a[o>>2]|0;if(!((gR(dR(E,a[47186]|0,137308)|0)|0)<<24>>24))e=0;else e=a[(a[h>>2]|0)+8>>2]|0;cM(A,i,11,n,l,t,c,b,e);c=a[(a[h>>2]|0)+108>>2]|0;b=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;t=a[s>>2]|0;l=a[w>>2]|0;i=a[u>>2]|0;n=a[o>>2]|0;if(!((gR(dR(E,a[47186]|0,137308)|0)|0)<<24>>24))e=0;else e=a[(a[h>>2]|0)+8>>2]|0;cM(A,c,11,b,t,l,i,n,e);cM(A,a[(a[h>>2]|0)+100>>2]|0,7,(f[r>>1]<<13&65535)<<16>>16>>15<<16>>16,a[C+224>>2]|0,a[C+240>>2]|0,a[C+256>>2]|0,a[o>>2]|0,0);cM(A,a[(a[h>>2]|0)+104>>2]|0,6,(f[r>>1]<<14&65535)<<16>>16>>15<<16>>16,a[C+220>>2]|0,a[C+236>>2]|0,a[C+252>>2]|0,a[o>>2]|0,0);Si(A);eI(A);k=I;return}function tM(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;l=c;t=a[A+16>>2]|0;if(!(i<<24>>24))r=a[t+208>>2]|0;if(!(n<<24>>24==0?(r|0)==0?(f[t+260>>1]&1)==0:0:0)){a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];uM(A,l)}k=c;return}function cM(A,e,i,f,n,l,t,c,b){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;var s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;u=d;h=a[A+152>>2]|0;if(e|0?r[e+81>>0]|0:0){if(!c)w=0;else{w=qF((S2(c)|0)+11|0)|0;switch(i|0){case 11:{s=108224;break}case 7:{s=101583;break}case 6:{s=101593;break}default:vA(138394,99906,2730,100044)}a[u>>2]=c;a[u+4>>2]=s;P4(w,100060,u)|0}u=A+16|0;c=(a[u>>2]|0)+12|0;o=a[c>>2]|0;a[c>>2]=i;c=(f|0)!=0|(n|0)!=0;s=(h&4|0)==0;if(c&s){bM(A,e);Pi(A,n,l,t,w)}jF(A,i,e);if(b|0)sM(A,e,b);if(c){if(!s){bM(A,e);Pi(A,n,l,t,w)}Oi(A)}L2(w);a[(a[u>>2]|0)+12>>2]=o}k=d;return}function bM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;l=f>>>16^2;a[i+264>>2]=l;t=i+268|0;a[t>>2]=l+2;l=i+272|0;L2(a[l>>2]|0);i=qF(a[t>>2]<<4)|0;a[l>>2]=i;l=e+56|0;t=e+24|0;b[i>>3]=+b[l>>3]-+b[t>>3]*.5;n=e+64|0;e=e+32|0;b[i+8>>3]=+b[n>>3]-+b[e>>3]*.5;b[i+16>>3]=+b[t>>3]*.5+ +b[l>>3];b[i+24>>3]=+b[e>>3]*.5+ +b[n>>3];if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function sM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+96|0;n=u+80|0;l=u+32|0;t=u+16|0;c=u;f=a[e>>2]|0;while(1){s=r[f>>0]|0;if(!(s<<24>>24))break;if(!(Q1(s&255)|0)){w=4;break}else f=f+1|0}if((w|0)==4){o=+b[e+24>>3];s=e+56|0;wM(l,+b[s>>3]+o*.5,+b[e+64>>3]-+b[e+32>>3]*.5);w=l+16|0;wM(t,+b[l>>3]-o,+b[l+8>>3]);a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];w=l+32|0;a[n>>2]=a[s>>2];a[n+4>>2]=a[s+4>>2];a[n+8>>2]=a[s+8>>2];a[n+12>>2]=a[s+12>>2];DR(c,i,n);a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];rr(A,a[(a[A>>2]|0)+336>>2]|0);$i(A,a[e+8>>2]|0);tr(A,l,3)}k=u;return}function wM(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function uM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;t=f>>>16^2;a[i+264>>2]=t;c=i+268|0;a[c>>2]=t+2;t=i+272|0;L2(a[t>>2]|0);i=qF(a[c>>2]<<4)|0;a[t>>2]=i;l=+b[e>>3];b[i>>3]=l+-3.0;n=+b[e+8>>3];b[i+8>>3]=n+-3.0;b[i+16>>3]=l+3.0;b[i+24>>3]=n+3.0;if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function kM(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=+l;var t=0,b=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0;F=k;k=k+256|0;W=F+224|0;L=F+208|0;t=F+192|0;z=F+144|0;Y=F+96|0;D=F+48|0;y=F;b=F+240|0;r=nI(r,f,b)|0;if((r|0)>1){G=e+48|0;Q=Id(a[((a[e>>2]&3|0)==3?e:G)+40>>2]|0)|0;G=Vh(a[((a[e>>2]&3|0)==3?e:G)+40>>2]|0)|0;Q=(Ih(Q)|0)!=0;m=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[t>>2]=G;a[t+4>>2]=Q?100079:100084;a[t+8>>2]=m;ao(3,100089,t)|0;if((r|0)==2)r=1;else M=4}else if((r|0)==1)r=1;else M=4;if((M|0)==4){m=e+16|0;d=a[b>>2]|0;B=d+8|0;v=D+4|0;g=z+8|0;E=z+12|0;C=(i|0)!=0;h=(i|0)==0;I=z+32|0;Z=z+4|0;G=z+16|0;Q=y+4|0;r=0;o=0;while(1){f=a[(a[m>>2]|0)+8>>2]|0;if((o|0)>=(a[f+4>>2]|0))break;t=z;f=(a[f>>2]|0)+(o*48|0)|0;e=t+48|0;do{a[t>>2]=a[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));e=1;s=1.0;u=a[B>>2]|0;A:while(1){f=a[u>>2]|0;if(!f)break;b=u+4|0;w=+c[b>>2];do{if(w<1.0e-05&w>-1.0e-05)f=e;else{$i(A,f);w=+c[b>>2];s=s-w;r=a[u>>2]|0;if(e|0){ZM(z,w,D,y);b=a[D>>2]|0;lr(A,b,a[v>>2]|0,0,0,0);L2(b);if(s<1.0e-05&s>-1.0e-05){M=11;break A}else{f=0;break}}if(s<1.0e-05&s>-1.0e-05){M=13;break A}t=Y;f=y;e=t+48|0;do{a[t>>2]=a[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));w=+c[b>>2];ZM(Y,w/(s+w),D,y);L2(a[Y>>2]|0);f=a[D>>2]|0;lr(A,f,a[v>>2]|0,0,0,0);L2(f);f=0}}while(0);e=f;u=u+12|0}if((M|0)==11){M=0;L2(a[y>>2]|0)}else if((M|0)==13){M=0;u=a[y>>2]|0;lr(A,u,a[Q>>2]|0,0,0,0);L2(u)}if(a[g>>2]|0){$i(A,a[a[B>>2]>>2]|0);er(A,a[a[B>>2]>>2]|0);b=a[z>>2]|0;u=a[g>>2]|0;a[L>>2]=a[G>>2];a[L+4>>2]=a[G+4>>2];a[L+8>>2]=a[G+8>>2];a[L+12>>2]=a[G+12>>2];a[W>>2]=a[b>>2];a[W+4>>2]=a[b+4>>2];a[W+8>>2]=a[b+8>>2];a[W+12>>2]=a[b+12>>2];_C(A,2,L,W,n,l,u)}if(a[E>>2]|0){$i(A,r);er(A,r);b=(a[z>>2]|0)+((a[Z>>2]|0)+-1<<4)|0;u=a[E>>2]|0;a[L>>2]=a[I>>2];a[L+4>>2]=a[I+4>>2];a[L+8>>2]=a[I+8>>2];a[L+12>>2]=a[I+12>>2];a[W>>2]=a[b>>2];a[W+4>>2]=a[b+4>>2];a[W+8>>2]=a[b+8>>2];a[W+12>>2]=a[b+12>>2];_C(A,3,L,W,n,l,u)}do{if((a[(a[(a[m>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(a[g>>2]|0)){if(!(C&(a[E>>2]|0)!=0))break}else if(h)break;rr(A,i)}}while(0);o=o+1|0}lI(d);r=0}k=F;return r|0}function oM(A,e){A=A|0;e=e|0;var i=0,f=0;i=1;A:while(1){switch(r[A>>0]|0){case 0:break A;case 58:{i=i+1|0;break}default:{}}A=A+1|0}f=U((S2(e)|0)+1|0,i)|0;A=f+10|0;if((a[47121]|0)<(f|0)){a[47121]=A;A=y2(a[47122]|0,A)|0;a[47122]=A}else A=a[47122]|0;$1(A,e)|0;while(1){i=i+-1|0;A=a[47122]|0;if(!i)break;f=A+(S2(A)|0)|0;r[f>>0]=58;r[f+1>>0]=0;u3(A,e)|0}return A|0}function hM(A){A=A|0;var e=0,i=0;e=a[47184]|0;A:do{if(!e)i=7;else{e=Uo(A,e)|0;switch(r[e>>0]|0){case 110:if(!(A1(e,135709)|0)){e=1;break A}else{i=7;break A}case 102:if(!(A1(e,100066)|0)){e=2;break A}else{i=7;break A}case 98:{if(!(A1(e,100074)|0)){e=3;break A}if(!(A1(e,111221)|0)){e=4;break A}else{i=7;break A}}default:{i=7;break A}}}}while(0);if((i|0)==7){e=(Ih(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0)!=0;e=e?2:1}return e|0}function dM(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function BM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;f=+b[e>>3]-+b[i>>3];a=+b[e+8>>3]-+b[i+8>>3];r=2.0/+z(+(f*f+.0001+a*a));b[A>>3]=r*a;b[A+8>>3]=-(f*r);return}function vM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0;n=+b[i>>3]-+b[r>>3];l=+b[i+8>>3]-+b[r+8>>3];a=+z(+(l*l+n*n));if(a<.0001){t=+b[e>>3]-+b[f>>3];a=+b[e+8>>3]-+b[f+8>>3];l=a;n=t;a=+z(+(t*t+.0001+a*a))}t=2.0/a;b[A>>3]=l*t;b[A+8>>3]=-(t*n);return}function gM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(1.0-A/e))}function EM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5)}function CM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(A/e))}function IM(A,e,i){A=+A;e=+e;i=+i;e=A/e;return+((!(e<=.5)?1.0-e:e)*i)}function ZM(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0;o=k;k=k+16|0;u=o;w=a[A+4>>2]|0;t=(w+-1|0)/3|0;if((w+-4|0)>>>0<3){a[i+4>>2]=4;a[i>>2]=qF(64)|0;a[r+4>>2]=4;w=qF(64)|0;a[r>>2]=w;mR(u,a[A>>2]|0,3,e,a[i>>2]|0,w)}else{w=qF(t<<3)|0;n=0;l=a[A>>2]|0;f=0.0;while(1){if((n|0)>=(t|0))break;h=+GM(l);b[w+(n<<3)>>3]=h;n=n+1|0;l=l+48|0;f=h+f}e=f*e;s=0;f=0.0;while(1){if((t|0)<=(s|0))break;f=+b[w+(s<<3)>>3]+f;if(f>=e)break;s=s+1|0}c=s*3|0;n=c+4|0;l=i+4|0;a[l>>2]=n;a[i>>2]=qF(n<<4)|0;n=((t-s|0)*3|0)+1|0;t=r+4|0;a[t>>2]=n;a[r>>2]=qF(n<<4)|0;n=0;while(1){if((n|0)>=(a[l>>2]|0))break;d=(a[i>>2]|0)+(n<<4)|0;B=(a[A>>2]|0)+(n<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];n=n+1|0}n=n+-4|0;l=0;while(1){if((l|0)>=(a[t>>2]|0))break;B=(a[r>>2]|0)+(l<<4)|0;d=(a[A>>2]|0)+(n<<4)|0;a[B>>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];n=n+1|0;l=l+1|0}h=+b[w+(s<<3)>>3];mR(u,(a[A>>2]|0)+(c<<4)|0,3,(e-f+h)/h,(a[i>>2]|0)+(c<<4)|0,a[r>>2]|0);L2(w)}k=o;return}function GM(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0;f=+b[A+16>>3];r=+b[A>>3]-f;a=+b[A+24>>3];e=+b[A+8>>3]-a;r=+z(+(e*e+r*r));e=+b[A+32>>3];f=f-e;i=+b[A+40>>3];a=a-i;r=+z(+(a*a+f*f))+r;e=e-+b[A+48>>3];i=i-+b[A+56>>3];return+(r+ +z(+(i*i+e*e)))}function QM(A,e){A=A|0;e=e|0;e=Zd(e)|0;if((r[(a[e+16>>2]|0)+115>>0]|0)==1)e=EH(A)|0;else e=BH(A,e)|0;return DM(e)|0}function mM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;h=k;k=k+1664|0;s=h+1600|0;w=h+800|0;u=h;o=$F(24)|0;a[o+16>>2]=1;c=((a[r+4>>2]|0)+-1|0)/3|0;l=0;t=o;while(1){if((l|0)>=(c|0))break;b=l*3|0;n=0;while(1){if((n|0)==4)break;d=s+(n<<4)|0;B=(a[r>>2]|0)+(n+b<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];n=n+1|0}l=l+1|0;t=LM(s,t)|0}n=0;l=0;t=o;while(1){if(!t){l=o;n=o;break}c=a[t+16>>2]|0;b=w+(n<<4)|0;r=u+(n<<4)|0;WM(l,t,c,b,r,f);n=n+1|0;if(!((n|0)==50|(c|0)==0)){l=t;t=c;continue}yM(A,e,i,n,w,u);a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];l=t;n=1;t=c}while(1){if(!l)break;B=a[l+16>>2]|0;L2(n);l=B;n=B}k=h;return}function LM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+144|0;f=n+128|0;i=n+64|0;r=n;if(!(wI(A)|0)){mR(f,A,3,.5,i,r);i=LM(r,LM(i,e)|0)|0}else{i=e+16|0;if((a[i>>2]|0)==1){a[i>>2]=0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2]}i=A+48|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];i=YM(f,e)|0}k=n;return i|0}function WM(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0;d=k;k=k+96|0;w=d+80|0;s=d+64|0;c=d+48|0;u=d+32|0;o=d+16|0;h=d;a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];do{if(A){a[o>>2]=a[A>>2];a[o+4>>2]=a[A+4>>2];a[o+8>>2]=a[A+8>>2];a[o+12>>2]=a[A+12>>2];if(!i){l=+b[u>>3];b[h>>3]=l*2.0-+b[o>>3];t=+b[u+8>>3];b[h+8>>3]=t*2.0-+b[o+8>>3];break}else{a[h>>2]=a[i>>2];a[h+4>>2]=a[i+4>>2];a[h+8>>2]=a[i+8>>2];a[h+12>>2]=a[i+12>>2];l=+b[u>>3];t=+b[u+8>>3];break}}else{a[h>>2]=a[i>>2];a[h+4>>2]=a[i+4>>2];a[h+8>>2]=a[i+8>>2];a[h+12>>2]=a[i+12>>2];l=+b[u>>3];b[o>>3]=l*2.0-+b[h>>3];t=+b[u+8>>3];b[o+8>>3]=t*2.0-+b[h+8>>3]}}while(0);a[c>>2]=a[o>>2];a[c+4>>2]=a[o+4>>2];a[c+8>>2]=a[o+8>>2];a[c+12>>2]=a[o+12>>2];a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[w>>2]=a[h>>2];a[w+4>>2]=a[h+4>>2];a[w+8>>2]=a[h+8>>2];a[w+12>>2]=a[h+12>>2];v=+zM(c,s,w);B=+D(+v)*n;n=+M(+v)*n;b[r>>3]=l+B;b[r+8>>3]=t+n;b[f>>3]=l-B;b[f+8>>3]=t-n;k=d;return}function yM(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0;t=r<<1;c=a[i>>2]|0;l=0;b=0;while(1){if((l|0)>=(c|0))break;s=(a[(a[e>>2]|0)+(l<<2)>>2]|0)+b|0;l=l+1|0;b=s}s=c+1|0;a[i>>2]=s;s=eV(a[e>>2]|0,s<<2)|0;a[e>>2]=s;a[s+(l<<2)>>2]=t;a[A>>2]=eV(a[A>>2]|0,b+t<<4)|0;e=t+-1+b|0;l=0;while(1){if((l|0)>=(r|0))break;s=(a[A>>2]|0)+(l+b<<4)|0;c=f+(l<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];s=(a[A>>2]|0)+(e-l<<4)|0;c=n+(l<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];l=l+1|0}return}function zM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;a=+b[e+8>>3];r=+b[e>>3];f=+X(+(+b[i+8>>3]-a),+(+b[i>>3]-r));r=+X(+(+b[A+8>>3]-a),+(+b[A>>3]-r));f=f-r;return+((f>0.0?f+-6.283185307179586:f)*.5+r)}function YM(A,e){A=A|0;e=e|0;var i=0;i=$F(24)|0;a[i+16>>2]=0;a[i>>2]=a[A>>2];a[i+4>>2]=a[A+4>>2];a[i+8>>2]=a[A+8>>2];a[i+12>>2]=a[A+12>>2];a[e+16>>2]=i;return i|0}function DM(A){A=A|0;var e=0,i=0,f=0,a=0,n=0;e=A;a=A;A:while(1){f=0;while(1){i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A;if(f<<24>>24){n=5;break}if(i<<24>>24!=92)break;else f=1}e:do{if((n|0)==5){n=0;switch(i<<24>>24|0){case 114:{i=13;break e}case 108:case 110:{i=10;break e}default:break e}}}while(0);r[a>>0]=i;a=a+1|0}r[a>>0]=0;return A|0}function MM(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;i=a[A>>2]|0;while(1){n=r[i>>0]|0;if(!(n<<24>>24)){f=0;break}f=n<<24>>24;if(!(n<<24>>24==44|(Q1(f)|0)!=0)){l=5;break}i=i+1|0}A:do{if((l|0)==5){switch(f|0){case 0:{f=0;break A}case 41:case 40:{i=i+1|0;break A}default:{}}l=e+4|0;t=e+8|0;while(1){if((FM(n<<24>>24)|0)<<24>>24){f=1;break A}f=a[l>>2]|0;if(f>>>0>=(a[t>>2]|0)>>>0){bo(e,1)|0;f=a[l>>2]|0}a[l>>2]=f+1;r[f>>0]=n;f=i+1|0;i=f;n=r[f>>0]|0}}}while(0);a[A>>2]=i;return f|0}function FM(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 VM(A,e){A=A|0;e=e|0;return JM(a[A>>2]|0,a[A+160>>2]|0,a[A+156>>2]|0,e)|0}function JM(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+160|0;b=u+20|0;s=u+16|0;w=u;a[b>>2]=0;a[s>>2]=0;co(w,128,u+24|0);wo(w,f)|0;n=w+4|0;f=a[n>>2]|0;if(f>>>0>=(a[w+8>>2]|0)>>>0){bo(w,1)|0;f=a[n>>2]|0}r[f>>0]=0;l=a[w>>2]|0;a[n>>2]=l;t=A+300|0;c=A+296|0;f=0;n=l;A:while(1){if(f){f=1;break}f=b3(n,a[t>>2]|0,b)|0;if(!f){f=0;break}n=b3(f,a[c>>2]|0,s)|0;l=(n|0)!=0;if(l)f=b3(0,a[c>>2]|0,s)|0;else f=0;switch(((f|0)!=0&1)+(l&1)&3){case 2:{n=NM(A,n,0)|0;f=NM(A,f,i)|0;l=(n|0)>(f|0);f=(f&n|0)>-1&(((l?n:f)|0)>=(e|0)&((l?f:n)|0)<=(e|0));n=0;continue A}case 1:{f=(NM(A,n,e)|0)==(e|0);n=0;continue A}default:{f=0;n=0;continue A}}}uo(w);k=u;return f|0}function NM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=r[e>>0]|0;if(!(l<<24>>24==97?(A1(e,100396)|0)==0:0))f=3;A:do{if((f|0)==3){if((XM(e)|0)<<24>>24){i=q3(e)|0;break}n=a[A+308>>2]|0;if(!n)i=-1;else{A=a[A+312>>2]|0;i=1;while(1){if((i|0)>(A|0)){i=-1;break A}f=a[n+(i<<2)>>2]|0;if(l<<24>>24==(r[f>>0]|0)?(A1(e,f)|0)==0:0)break A;i=i+1|0}}}}while(0);return i|0}function XM(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=1;break}if(((e&255)+-48|0)>>>0<10)A=A+1|0;else{A=0;break}}return A|0}function RM(A,e){A=A|0;e=e|0;if((+b[A+16>>3]>=+b[e>>3]?+b[e+16>>3]>=+b[A>>3]:0)?+b[A+24>>3]>=+b[e+8>>3]:0)A=+b[e+24>>3]>=+b[A+8>>3]&1;else A=0;return A|0}function HM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;A:do{if((a[A+156>>2]|0)>=2?(f=dR(i,a[47167]|0,195059)|0,(VM(A,f)|0)<<24>>24==0):0)if(!(r[f>>0]|0))if(!(Ah(e,i)|0))f=1;else{f=Ah(e,i)|0;while(1){if(!f){f=0;break A}n=dR(f,a[47190]|0,195059)|0;if(!(r[n>>0]|0)){f=1;break A}if((VM(A,n)|0)<<24>>24){f=1;break A}f=eh(e,f,i)|0}}else f=0;else f=1}while(0);return f|0}function pM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+64|0;r=i+32|0;f=i;A=(a[A+16>>2]|0)+48|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[f+16>>2]=a[A+16>>2];a[f+20>>2]=a[A+20>>2];a[f+24>>2]=a[A+24>>2];a[f+28>>2]=a[A+28>>2];a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];a[r+16>>2]=a[e+16>>2];a[r+20>>2]=a[e+20>>2];a[r+24>>2]=a[e+24>>2];a[r+28>>2]=a[e+28>>2];e=(RM(f,r)|0)&255;k=i;return e|0}function UM(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0,d=0,B=0,v=0,g=0.0,E=0.0;d=a[A+152>>2]|0;B=AI(A)|0;a[B+4>>2]=2;a[B+8>>2]=e;a[B+12>>2]=8;if(d&16777216|0){if((l[(a[(Id(e)|0)+16>>2]|0)+178>>1]|0)>2){i=+b[(a[(a[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0)}else i=0.0;b[B+168>>3]=i}c=e+16|0;TM(A,a[(a[c>>2]|0)+104>>2]|0,e);do{if(d&4259840|0){if((a[B+208>>2]|0)==0?(f[B+260>>1]&1)==0:0)break;o=sN(e)|0;s=a[c>>2]|0;i=+b[s+16>>3];h=+b[s+24>>3];s=jM(e)|0;A:do{if((o|2|0)==3){u=a[(a[c>>2]|0)+12>>2]|0;if(!((SM(u)|0)<<24>>24))r=0;else r=(a[u+4>>2]|s|0)!=0;if(!((d&524288|0)==0|((u|0)==0|r))){n=u+8|0;k=a[n>>2]|0;k=(k|0)<3?1:k;t=u+4|0;w=a[t>>2]|0;w=(w|0)>1?w:1;o=a[u+44>>2]|0;r=po(e,102705)|0;if(!r)r=0;else r=q3(r)|0;r=(r+-4|0)>>>0>56?20:r;if(!(a[t>>2]|s)){a[B+264>>2]=0;n=qF(32)|0;r=a[c>>2]|0;E=+b[r+88>>3];b[n>>3]=i-E;g=+b[r+80>>3]*.5;b[n+8>>3]=h-g;b[n+16>>3]=E+i;b[n+24>>3]=g+h;r=2;break}n=a[n>>2]|0;if(((n|0)<3?+b[u+32>>3]==0.0:0)?+b[u+24>>3]==0.0:0){n=B+264|0;if(a[u>>2]|0){a[n>>2]=1;n=qF(32)|0;b[n>>3]=i;b[n+8>>3]=h;r=(w<<1)+-1|0;b[n+16>>3]=+b[o+(r<<4)>>3]+i;b[n+24>>3]=+b[o+(r<<4)+8>>3]+h;r=2;break}a[n>>2]=2;n=(w<<1)+-1|0;n=PM(+b[o+(n<<4)>>3],+b[o+(n<<4)+8>>3],r)|0;t=0;while(1){if((t|0)>=(r|0))break A;o=n+(t<<4)|0;b[o>>3]=+b[o>>3]+i;o=n+(t<<4)+8|0;b[o>>3]=+b[o>>3]+h;t=t+1|0}}w=U(n,w+-1|0)|0;a[B+264>>2]=2;if((n|0)<(r|0)){n=qF(k<<4)|0;r=0;while(1){if((r|0)>=(k|0)){r=k;break A}u=r+w|0;b[n+(r<<4)>>3]=+b[o+(u<<4)>>3]+i;b[n+(r<<4)+8>>3]=+b[o+(u<<4)+8>>3]+h;r=r+1|0}}else{s=(n|0)/(r|0)|0;n=qF(r<<4)|0;t=0;c=0;while(1){if((t|0)>=(r|0))break A;k=c+w|0;b[n+(t<<4)>>3]=+b[o+(k<<4)>>3]+i;b[n+(t<<4)+8>>3]=+b[o+(k<<4)+8>>3]+h;t=t+1|0;c=c+s|0}}}else v=31}else v=31}while(0);if((v|0)==31){a[B+264>>2]=0;n=qF(32)|0;r=a[c>>2]|0;b[n>>3]=i-+b[r+88>>3];E=+b[r+80>>3]*.5;b[n+8>>3]=h-E;b[n+16>>3]=+b[r+96>>3]+i;b[n+24>>3]=E+h;r=2}if(!(d&8192))zi(A,n,n,r)|0;a[B+272>>2]=n;a[B+268>>2]=r}}while(0);Qf(po(e,100032)|0);xi(A,e);return}function xM(A){A=A|0;Ti(A);eI(A);return}function TM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+144|0;c=s;f=po(i,141055)|0;t=po(i,141101)|0;b=po(i,141088)|0;co(c,128,s+16|0);if(!e)l=0;else l=a[e>>2]|0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))f=po(i,111477)|0;n=rI(A,i,c)|0;if(!t)e=0;else e=QM(t,i)|0;iI(A,l,f,e,b,n,i)|0;L2(e);uo(c);k=s;return}function jM(A){A=A|0;var e=0,i=0;A=BR(A,a[47157]|0,195059)|0;A:do{if(!(r[A>>0]|0))A=0;else{HI(A)|0;A=0;e=188228;while(1){i=a[e>>2]|0;if(!i)break A;i=(A1(i,111101)|0)==0;A=i?1:A;e=e+4|0}}}while(0);return A|0}function SM(A){A=A|0;var e=0.0;if(((a[A+8>>2]|0)==4?(e=+b[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+b[A+24>>3]==0.0:0)A=+b[A+32>>3]==0.0&1;else A=0;return A|0}function PM(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0,a=0.0,n=0;a=6.283185307179586/+(i|0);n=qF(i<<4)|0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;b[n+(f<<4)>>3]=+D(+r)*A;b[n+(f<<4)+8>>3]=+M(+r)*e;r=r+a;f=f+1|0}return n|0}function OM(A,e){A=A|0;e=e|0;var i=0;A:do{if((a[A+156>>2]|0)>=2?(i=dR(e,Yo(e,0,101510,0)|0,195059)|0,(VM(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=cd(e)|0;while(1){if(!i){i=0;break A}if((HM(A,e,i)|0)<<24>>24){i=1;break A}i=bd(e,i)|0}}else i=0;else i=1}while(0);return i|0}function KM(A,e){A=A|0;e=e|0;var i=0;i=AI(A)|0;a[i+4>>2]=1;a[i+8>>2]=e;a[i+12>>2]=1;TM(A,a[(a[e+16>>2]|0)+12>>2]|0,e);Ni(A,e);return}function _M(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;A=po(A,141082)|0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){HI(A)|0;i=188228;A=0;while(1){while(1){f=a[i>>2]|0;if(!f){i=188228;break A}if(!(A1(f,111101)|0)){n=10;break}if(!(A1(f,106334)|0)){f=i;n=12;break}if(!(A1(f,106341)|0)){f=i;n=14;break}if(!(A1(f,106316)|0)){f=i;n=16;break}i=i+4|0}if((n|0)==10){i=i+4|0;A=A|1;continue}else if((n|0)==12){while(1){l=f;f=f+4|0;n=a[f>>2]|0;a[l>>2]=n;if(!n)break;else n=12}A=A|3;continue}else if((n|0)==14){while(1){n=f;f=f+4|0;l=a[f>>2]|0;a[n>>2]=l;if(!l)break;else n=14}A=A|64;continue}else if((n|0)==16){while(1){n=f;f=f+4|0;l=a[f>>2]|0;a[n>>2]=l;if(!l)break;else n=16}A=A|4;continue}}}else{i=0;A=0}}while(0);a[e>>2]=A;return i|0}function qM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,b=0,s=0;b=k;k=k+16|0;l=b;t=b+4|0;a[t>>2]=0;s=(nI(A,0,t)|0)==0;t=a[t>>2]|0;if((s?(f=a[t>>2]|0,(f|0)>=2):0)?(n=t+8|0,(a[a[n>>2]>>2]|0)!=0):0){if((f|0)>2)ao(0,100415,l)|0;s=$F((S2(A)|0)+1|0)|0;a[e>>2]=s;$1(s,a[a[n>>2]>>2]|0)|0;if(!(a[(a[n>>2]|0)+12>>2]|0))a[e+4>>2]=0;else{s=a[e>>2]|0;s=s+((S2(s)|0)+1)|0;a[e+4>>2]=s;$1(s,a[(a[n>>2]|0)+12>>2]|0)|0}A=a[n>>2]|0;do{if(!(r[A+8>>0]|0))if(!(r[A+20>>0]|0)){c[i>>2]=0.0;break}else{c[i>>2]=1.0-+c[A+16>>2];break}else a[i>>2]=a[A+4>>2]}while(0);lI(t);A=1}else{a[e>>2]=0;lI(t);A=0}k=b;return A|0}function $M(A,e){A=A|0;e=e|0;Xi(A,e);eI(A);return}function AF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,s=0.0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;I=k;k=k+96|0;o=I+48|0;B=I+16|0;C=I+8|0;E=I;v=I+80|0;a[v>>2]=1e3;f=$F(16e3)|0;g=A+256|0;r=1;l=1;n=0;h=0;d=a[e+8>>2]|0;while(1){if((h|0)>=(a[e>>2]|0))break;i=a[d>>2]|0;A:do{switch(i|0){case 1:case 0:{w=d+80|0;a[B>>2]=a[w>>2];a[B+4>>2]=a[w+4>>2];a[B+8>>2]=a[w+8>>2];a[B+12>>2]=a[w+12>>2];a[B+16>>2]=a[w+16>>2];a[B+20>>2]=a[w+20>>2];a[B+24>>2]=a[w+24>>2];a[B+28>>2]=a[w+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{G=d+8|0;Q=d+24|0;b[f>>3]=+b[G>>3]-+b[Q>>3];w=d+16|0;Z=d+32|0;b[f+8>>3]=+b[w>>3]-+b[Z>>3];b[f+16>>3]=+b[Q>>3]+ +b[G>>3];b[f+24>>3]=+b[Z>>3]+ +b[w>>3];fr(A,f,2,(i|0)==0?l:0);i=l}break}case 3:case 2:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;ar(A,f,a[i>>2]|0,(a[d>>2]|0)==2?l:0);i=l}break}case 5:case 4:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;lr(A,f,a[i>>2]|0,0,0,(a[d>>2]|0)==4?l&255:0);i=l}break}case 6:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;tr(A,f,a[i>>2]|0);i=l}break}case 7:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{b[f>>3]=+b[d+8>>3];b[f+8>>3]=+b[d+16>>3];i=a[d+112>>2]|0;a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];qi(A,o,i);i=l}break}case 8:{er(A,a[d+8>>2]|0);i=1;break}case 9:{$i(A,a[d+8>>2]|0);i=1;break}case 13:{if((a[d+8>>2]|0)!=2){i=d+16|0;G=a[i+36>>2]|0;Q=a[G+12>>2]|0;u=+c[G+8>>2];i=~~(+X(+(+b[d+40>>3]-+b[d+24>>3]),+(+b[d+32>>3]-+b[i>>3]))*57.29577951308232);er(A,a[G+4>>2]|0);ir(A,Q,i,u);i=2;break A}Q=a[d+68>>2]|0;l=a[Q+4>>2]|0;w=a[Q+12>>2]|0;u=+c[Q+8>>2];t=+b[d+40>>3];s=+b[d+16>>3];if(t==s?+b[d+48>>3]==+b[d+24>>3]:0)i=0;else i=~~(+V(+((s-t)/+b[d+32>>3]))*57.29577951308232);er(A,l);ir(A,w,i,u);i=3;break}case 14:{ao(0,100481,E)|0;i=l;break}case 12:{if(!r){r=0;i=l}else{ao(0,100521,C)|0;r=0;i=l}break}case 11:{HI(a[d+8>>2]|0)|0;rr(A,188228);n=188228;i=l;break}default:i=l}}while(0);l=i;h=h+1|0;d=d+120|0}if(n|0)rr(A,a[(a[A>>2]|0)+336>>2]|0);L2(f);k=I;return}function eF(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=a[e>>2]|0;f=n<<1;f=(f|0)>(r|0)?f:r;if((n|0)<(r|0)){A=eV(A,f<<4)|0;a[e>>2]=f}e=0;while(1){if((e|0)>=(r|0))break;b[A+(e<<4)>>3]=+b[i+(e*24|0)>>3];b[A+(e<<4)+8>>3]=+b[i+(e*24|0)+8>>3];e=e+1|0}return A|0}function iF(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;a[A>>2]=a[e+4>>2];a[A+4>>2]=i;return}function rF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=e+16|0;f=1;while(1){e=a[n>>2]|0;if((f|0)>(a[e+180>>2]|0))break;i=a[(a[e+184>>2]|0)+(f<<2)>>2]|0;rF(A,i);e=po(i,140823)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,137729)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,140977)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,101418)|0;if(e|0?r[e>>0]|0:0)er(A,e);e=po(i,101446)|0;if(e|0?r[e>>0]|0:0)$i(A,e);f=f+1|0}return}function fF(A){A=A|0;var e=0,i=0,r=0;e=a[47127]|0;if(!e){e=jk(20628,a[4581]|0)|0;a[47127]=e}if(!(W5[a[e>>2]&63](e,A,4)|0)){i=a[47127]|0;r=a[i>>2]|0;e=s3(A)|0;W5[r&63](i,e,1)|0;e=1}else e=0;return e|0}function aF(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function nF(A){A=A|0;var e=0;e=a[47128]|0;if(!A){if((e|0)>0?(e=e+-1|0,a[47128]=e,(e|0)==0):0){D4(1,a[47129]|0)|0;L2(a[47129]|0)}}else{a[47128]=e+1;if(!e){a[47129]=s3(D4(1,0)|0)|0;D4(1,153563)|0}}return}function lF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+96|0;d=g+72|0;h=g+56|0;o=g+48|0;v=g+32|0;B=g+24|0;r=g+8|0;i=g;if(0)tR();do{if((Td(e,137483,0,1)|0)!=0?(u=e+16|0,(a[(a[u>>2]|0)+8>>2]|0)!=0):0){tF(e);cF(A,e);bF(A,e);nF(1);t=A+56|0;c=A+184|0;s=A+192|0;w=A+28|0;l=yg(A)|0;A:while(1){if(!l){n=33;break}i=a[t>>2]|0;if(!i){a[l+20>>2]=0;i=0}else{a[l+20>>2]=a[i+8>>2];i=a[i+12>>2]|0}a[l+24>>2]=i;a[l+12>>2]=A;a[l+28>>2]=a[c>>2];a[l+620>>2]=25764;a[l+624>>2]=14;if(!(a[(a[u>>2]|0)+8>>2]|0)){n=13;break}r=l+52|0;n=mi(l,a[r>>2]|0)|0;a[l+56>>2]=n;switch(n|0){case 999:{n=16;break A}case 21:{i=1;break}case 24:{i=520;break}default:i=sF(e)|0}f=l+152|0;a[f>>2]=a[f>>2]|i;i=a[s>>2]|0;do{if(!i)n=24;else{if(a[i+152>>2]&32|0?(A1(a[r>>2]|0,a[i+52>>2]|0)|0)==0:0){i=a[47130]|0;if(!i){n=27;break}a[i+8>>2]=l;a[l+36>>2]=a[i+36>>2];n=29;break}Wi(i);a[s>>2]=0;a[w>>2]=0;n=24}}while(0);if((n|0)==24){a[47130]=0;n=27}if((n|0)==27?(n=0,(Li(l)|0)==0):0){a[s>>2]=l;n=29}if((n|0)==29){a[l+8>>2]=0;a[l+104>>2]=25876;wF(l);uF(l);kF(l,e);oF(l,e);hF(l,e);if(!(a[f>>2]&128))BI(l,e);a[47130]=l}l=zg(A)|0}if((n|0)==13){ao(1,100679,B)|0;nF(0);if(!0){i=-1;break}i=a[15712]|0;B=Vh(e)|0;E=+cR();a[v>>2]=B;b[v+8>>3]=E;f3(i,100650,v)|0;i=-1;break}else if((n|0)==16){a[o>>2]=a[r>>2];ao(1,100700,o)|0;nF(0);if(!0){i=-1;break}i=a[15712]|0;v=Vh(e)|0;E=+cR();a[h>>2]=v;b[h+8>>3]=E;f3(i,100650,h)|0;i=-1;break}else if((n|0)==33){nF(0);if(!0){i=0;break}i=a[15712]|0;v=Vh(e)|0;E=+cR();a[d>>2]=v;b[d+8>>3]=E;f3(i,100650,d)|0;i=0;break}}else n=5}while(0);if((n|0)==5){ao(1,100602,i)|0;if(!0)i=-1;else{i=a[15712]|0;v=Vh(e)|0;E=+cR();a[r>>2]=v;b[r+8>>3]=E;f3(i,100650,r)|0;i=-1}}k=g;return i|0}function tF(A){A=A|0;var e=0;e=cd(A)|0;while(1){if(!e)break;EF(A,e);e=bd(A,e)|0}return}function cF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+32|0;c=u+24|0;f=u+16|0;t=u+8|0;w=u;a[A+168>>2]=e;n=A+293|0;r[n>>0]=0;i=po(e,105496)|0;if(i|0?(a[f>>2]=t,a[f+4>>2]=w,l=J3(i,105503,f)|0,(l|0)>0):0){o=+b[t>>3]*72.0;i=A+208|0;b[i>>3]=o;b[A+200>>3]=o;if((l|0)!=1)b[i>>3]=+b[w>>3]*72.0;r[n>>0]=1}f=A+292|0;r[f>>0]=0;i=po(e,101102)|0;if(i|0?(a[c>>2]=t,a[c+4>>2]=w,s=J3(i,105503,c)|0,(s|0)>0):0){o=+b[t>>3]*72.0;i=A+224|0;b[i>>3]=o;b[A+216>>3]=o;if((s|0)!=1)b[i>>3]=+b[w>>3]*72.0;r[f>>0]=1}i=A+294|0;r[i>>0]=0;f=A+232|0;n=e+16|0;w=(a[(a[n>>2]|0)+8>>2]|0)+48|0;a[f>>2]=a[w>>2];a[f+4>>2]=a[w+4>>2];a[f+8>>2]=a[w+8>>2];a[f+12>>2]=a[w+12>>2];f=a[(a[n>>2]|0)+8>>2]|0;if(+b[f+48>>3]>.001?+b[f+56>>3]>.001:0)r[i>>0]=1;a[A+288>>2]=r[f+81>>0]|0?90:0;i=A+196|0;a[i>>2]=101106;f=po(e,101109)|0;if(f|0?r[f>>0]|0:0)a[i>>2]=f;w=A+256|0;s=(a[n>>2]|0)+16|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];a[w+8>>2]=a[s+8>>2];a[w+12>>2]=a[s+12>>2];a[w+16>>2]=a[s+16>>2];a[w+20>>2]=a[s+20>>2];a[w+24>>2]=a[s+24>>2];a[w+28>>2]=a[s+28>>2];a[47141]=Yo(e,0,101472,0)|0;a[47142]=Yo(e,0,101463,0)|0;a[A+320>>2]=BR(0,a[47151]|0,107994)|0;b[A+328>>3]=+oR(0,a[47150]|0,14.0,1.0);a[A+336>>2]=20664;a[A+188>>2]=Vh(e)|0;k=u;return}function bF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=A+304|0;f=a[i>>2]|0;if(f|0){L2(f);a[i>>2]=0}f=A+308|0;i=a[f>>2]|0;if(i|0){L2(i);a[f>>2]=0}n=A+316|0;i=a[n>>2]|0;if(i|0){L2(i);a[n>>2]=0}i=po(e,100853)|0;if(i){a[A+312>>2]=vF(A,e,i)|0;i=po(e,100860)|0;if(i|0?r[i>>0]|0:0)a[n>>2]=gF(A,i)|0}else{a[f>>2]=0;a[A+312>>2]=1}return}function sF(A){A=A|0;A=po(A,100821)|0;A:do{if(!A)A=0;else switch(r[A>>0]|0){case 110:{if(!(A1(A+1|0,100833)|0))A=1;else{A=0;break A}break}case 101:{if(!(A1(A+1|0,100843)|0))A=16;else{A=0;break A}break}default:{A=0;break A}}}while(0);return A|0}function wF(A){A=A|0;var e=0.0,i=0;i=a[A>>2]|0;if(!(r[i+292>>0]|0)){if((a[A+56>>2]|0)==300)e=+b[(a[A+68>>2]|0)+8>>3];else e=4.0;b[A+248>>3]=e;b[A+240>>3]=e}else{A=A+240|0;i=i+216|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2]}return}function uF(A){A=A|0;var e=0;e=a[A>>2]|0;A:do{if(!(r[e+293>>0]|0))switch(a[A+56>>2]|0){case 300:{e=A+416|0;A=(a[A+84>>2]|0)+8|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];break A}case 30:case 21:case 22:case 4:case 3:case 2:{b[A+424>>3]=36.0;b[A+416>>3]=36.0;break A}default:{e=A+416|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;break A}}else{A=A+416|0;e=e+200|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function kF(A,e){A=A|0;e=e|0;var i=0.0,f=0;f=a[(a[A>>2]|0)+192>>2]|0;i=+b[(a[(a[e+16>>2]|0)+8>>2]|0)+24>>3];do{if(!(i!=0.0)){if(f|0?r[f+128>>0]|0:0){A=A+432|0;f=f+112|0;a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];break}e=A+432|0;if((a[A+56>>2]|0)==300){A=(a[A+84>>2]|0)+40|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];break}else{b[A+440>>3]=96.0;b[e>>3]=96.0;break}}else{b[A+440>>3]=i;b[A+432>>3]=i}}while(0);return}function oF(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+112|0;v=Q+80|0;g=Q+56|0;B=Q+40|0;E=Q+32|0;C=Q+24|0;I=Q+16|0;Z=Q+8|0;G=Q;s=a[A>>2]|0;u=+b[s+272>>3];h=+b[s+280>>3];o=+b[s+256>>3];d=+b[s+264>>3];f=+b[A+240>>3];i=o-f;b[A+208>>3]=i;l=+b[A+248>>3];t=d-l;b[A+216>>3]=t;f=f+u;b[A+224>>3]=f;l=l+h;b[A+232>>3]=l;i=f-i;t=l-t;b[I>>3]=1.0;n=a[(a[e+16>>2]|0)+8>>2]|0;l=+b[n+64>>3];do{if(l>.001?(c=+b[n+72>>3],c>.001):0){i=i==0.0?l:i;f=t==0.0?c:t;if(!(lf&(l>i&(r[n+80>>0]|0)!=0)):0){c=i;t=f;l=1.0;break}w=l/i>3]=l;c=i;t=f}else{c=i;l=1.0}}while(0);f=(o+u)*.5;b[Z>>3]=f;i=(d+h)*.5;b[G>>3]=i;a[A+360>>2]=a[s+288>>2];c=l*c;b[E>>3]=c;t=l*t;b[C>>3]=t;n=po(e,100752)|0;if(n){s=m2((S2(n)|0)+1|0)|0;w=m2((S2(n)|0)+1|0)|0;a[B>>2]=E;a[B+4>>2]=C;a[B+8>>2]=I;a[B+12>>2]=s;do{if((J3(n,100761,B)|0)==4){n=vd(a[e+60>>2]|0,s,0)|0;if(n|0){g=a[n+16>>2]|0;b[Z>>3]=+b[g+16>>3];b[G>>3]=+b[g+24>>3]}}else{a[g>>2]=E;a[g+4>>2]=C;a[g+8>>2]=I;a[g+12>>2]=s;a[g+16>>2]=w;if((J3(n,100781,g)|0)!=4){a[v>>2]=E;a[v+4>>2]=C;a[v+8>>2]=I;a[v+12>>2]=Z;a[v+16>>2]=G;J3(n,100801,v)|0;break}n=vd(a[e+60>>2]|0,s,0)|0;if(n|0){g=a[n+16>>2]|0;b[Z>>3]=+b[g+16>>3];b[G>>3]=+b[g+24>>3]}}}while(0);L2(s);L2(w);c=+b[E>>3];t=+b[C>>3];l=+b[I>>3];f=+b[Z>>3];i=+b[G>>3]}b[A+368>>3]=c;b[A+376>>3]=t;b[A+352>>3]=l;b[A+336>>3]=f;b[A+344>>3]=i;k=Q;return}function hF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0,R=0.0,H=0.0;N=k;k=k+224|0;F=N+200|0;G=N+168|0;y=N+144|0;M=N+120|0;z=N+96|0;Y=N+64|0;i=N+184|0;E=N+176|0;C=N+160|0;Z=N+136|0;I=N+112|0;Q=N+80|0;m=N+48|0;L=N+32|0;W=N+16|0;V=N+8|0;J=N;g=a[A>>2]|0;a[Y>>2]=0;a[Y+4>>2]=0;a[Y+8>>2]=0;a[Y+12>>2]=0;D=A+368|0;a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];D=A+360|0;if(a[D>>2]|0){a[F>>2]=a[M>>2];a[F+4>>2]=a[M+4>>2];a[F+8>>2]=a[M+8>>2];a[F+12>>2]=a[M+12>>2];dF(i,F);a[M>>2]=a[i>>2];a[M+4>>2]=a[i+4>>2];a[M+8>>2]=a[i+8>>2];a[M+12>>2]=a[i+12>>2]}v=A+416|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];if((r[g+294>>0]|0)!=0?(a[A+152>>2]&32|0)!=0:0){l=+b[g+232>>3]-+b[z>>3]*2.0;b[y>>3]=l;c=+b[g+240>>3]-+b[z+8>>3]*2.0;o=y+8|0;b[o>>3]=c;if(!(l<.0001)){u=+b[M>>3];i=~~(u/l);f=A+164|0;a[f>>2]=i;if(u-l*+(i|0)>.0001){i=i+1|0;a[f>>2]=i}}else{a[A+164>>2]=1;i=1}if(!(c<.0001)){n=+b[M+8>>3];f=~~(n/c);t=A+168|0;a[t>>2]=f;if(n-c*+(f|0)>.0001){f=f+1|0;a[t>>2]=f}}else{a[A+168>>2]=1;f=1;n=+b[M+8>>3]}a[A+204>>2]=U(f,i)|0;u=+b[(+b[M>>3]>3];b[M>>3]=u;i=o;f=M;s=+b[(n>3];n=u;t=21}else{if(a[A+68>>2]|0){i=a[A+84>>2]|0;l=+b[i+24>>3]-+b[z>>3]*2.0;l=l<0.0?0.0:l;b[y>>3]=l;u=+b[i+32>>3]-+b[z+8>>3]*2.0;i=y+8|0;b[i>>3]=u;if(u<0.0){f=y;t=17}else i=y}else{b[y+8>>3]=0.0;f=y;i=y;t=17}if((t|0)==17){b[i>>3]=0.0;i=f;l=+b[f>>3]}a[A+204>>2]=1;a[A+168>>2]=1;a[A+164>>2]=1;n=+b[M>>3];if(l>3]=n;l=n}i=y+8|0;c=+b[i>>3];s=+b[M+8>>3];if(c>3]=s;d=i;s=+b[i>>3]}w=+b[z>>3];B=A+432|0;c=+b[B>>3]*.013888888888888888*(w*2.0+l);a[A+448>>2]=~~(c+(c>=0.0?.5:-.5));h=z+8|0;c=+b[h>>3];v=A+440|0;u=+b[v>>3]*.013888888888888888*(c*2.0+s);a[A+452>>2]=~~(u+(u>=0.0?.5:-.5));t=A+188|0;o=A+180|0;i=A+172|0;f=g+196|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;a[i+20>>2]=0;BF(E,A,r[a[f>>2]>>0]|0);g=E;E=a[g+4>>2]|0;i=o;a[i>>2]=a[g>>2];a[i+4>>2]=E;BF(C,A,r[(a[f>>2]|0)+1>>0]|0);i=C;C=a[i>>2]|0;i=a[i+4>>2]|0;E=t;a[E>>2]=C;a[E+4>>2]=i;C=(a[o>>2]|0)+C|0;if(!((((C|0)>-1?C:0-C|0)|0)==1?(C=(a[A+184>>2]|0)+i|0,(((C|0)>-1?C:0-C|0)|0)==1):0)){BF(Z,A,66);E=Z;Z=a[E+4>>2]|0;C=o;a[C>>2]=a[E>>2];a[C+4>>2]=Z;BF(I,A,76);C=I;I=a[C+4>>2]|0;Z=t;a[Z>>2]=a[C>>2];a[Z+4>>2]=I;a[G>>2]=a[f>>2];ao(0,100732,G)|0}if(r[(a[(a[e+16>>2]|0)+8>>2]|0)+82>>0]|0){if(l>n){s=(l-n)*.5;b[Y>>3]=s}else s=0.0;l=+b[d>>3];u=+b[M+8>>3];if(l>u){l=(l-u)*.5;b[Y+8>>3]=l}else l=0.0}else{l=0.0;s=0.0}if(!(a[D>>2]|0))t=1;else{a[F>>2]=a[M>>2];a[F+4>>2]=a[M+4>>2];a[F+8>>2]=a[M+8>>2];a[F+12>>2]=a[M+12>>2];dF(Q,F);a[M>>2]=a[Q>>2];a[M+4>>2]=a[Q+4>>2];a[M+8>>2]=a[Q+8>>2];a[M+12>>2]=a[Q+12>>2];a[F>>2]=a[y>>2];a[F+4>>2]=a[y+4>>2];a[F+8>>2]=a[y+8>>2];a[F+12>>2]=a[y+12>>2];dF(m,F);a[y>>2]=a[m>>2];a[y+4>>2]=a[m+4>>2];a[y+8>>2]=a[m+8>>2];a[y+12>>2]=a[m+12>>2];a[F>>2]=a[z>>2];a[F+4>>2]=a[z+4>>2];a[F+8>>2]=a[z+8>>2];a[F+12>>2]=a[z+12>>2];dF(L,F);a[z>>2]=a[L>>2];a[z+4>>2]=a[L+4>>2];a[z+8>>2]=a[L+8>>2];a[z+12>>2]=a[L+12>>2];a[F>>2]=a[Y>>2];a[F+4>>2]=a[Y+4>>2];a[F+8>>2]=a[Y+8>>2];a[F+12>>2]=a[Y+12>>2];dF(W,F);a[Y>>2]=a[W>>2];a[Y+4>>2]=a[W+4>>2];a[Y+8>>2]=a[W+8>>2];a[Y+12>>2]=a[W+12>>2];w=+b[z>>3];s=+b[Y>>3];c=+b[h>>3];l=+b[Y+8>>3];n=+b[M>>3];t=(a[D>>2]|0)==0}u=s+w;b[A+384>>3]=u;R=l+c;b[A+392>>3]=R;X=s+w+n;b[A+400>>3]=X;H=+b[M+8>>3];w=l+c+H;b[A+408>>3]=w;s=+b[A+352>>3];b[A+320>>3]=n/s;b[A+328>>3]=H/s;s=+b[B>>3];u=u*.013888888888888888*s;f=A+456|0;a[f>>2]=~~(u+(u>=0.0?.5:-.5));u=+b[v>>3];c=R*.013888888888888888*u;a[A+460>>2]=~~(c+(c>=0.0?.5:-.5));s=X*.013888888888888888*s;i=A+464|0;a[i>>2]=~~(s+(s>=0.0?.5:-.5));u=w*.013888888888888888*u;a[A+468>>2]=~~(u+(u>=0.0?.5:-.5));if(!t){a[F>>2]=a[f>>2];a[F+4>>2]=a[f+4>>2];iF(V,F);M=V;V=a[M+4>>2]|0;A=f;a[A>>2]=a[M>>2];a[A+4>>2]=V;a[F>>2]=a[i>>2];a[F+4>>2]=a[i+4>>2];iF(J,F);A=J;V=a[A+4>>2]|0;J=i;a[J>>2]=a[A>>2];a[J+4>>2]=V}k=N;return}function dF(A,e){A=A|0;e=e|0;var i=0.0;i=+b[e>>3];b[A>>3]=+b[e+8>>3];b[A+8>>3]=i;return}function BF(A,e,i){A=A|0;e=e|0;i=i|0;i=(i<<24>>24)+-66|0;switch(i>>>1|i<<31|0){case 9:{a[e+176>>2]=(a[e+168>>2]|0)+-1;e=0;i=-1;break}case 0:{e=0;i=1;break}case 5:{e=1;i=0;break}case 8:{a[e+172>>2]=(a[e+164>>2]|0)+-1;e=-1;i=0;break}default:{e=0;i=0}}a[A>>2]=e;a[A+4>>2]=i;return}function vF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;f=po(e,100973)|0;t=A+296|0;a[t>>2]=(f|0)==0?100982:f;e=po(e,100986)|0;f=A+300|0;e=(e|0)==0?100999:e;a[f>>2]=e;e=k3(a[t>>2]|0,e)|0;if(e|0){a[n>>2]=r[e>>0];ao(0,101001,n)|0;a[f>>2]=195059}e=s3(i)|0;a[A+304>>2]=e;l=A+308|0;f=0;A=0;while(1){i=t3(e,a[t>>2]|0)|0;if(!i)break;n=A+1|0;if((A|0)<(f|0))e=a[l>>2]|0;else{f=f+128|0;e=a[l>>2]|0;if(!e)e=$F(f<<2)|0;else e=eV(e,f<<2)|0;a[l>>2]=e}a[e+(n<<2)>>2]=i;A=n;e=0}if(A|0){t=eV(a[l>>2]|0,(A<<2)+8|0)|0;a[l>>2]=t;a[t>>2]=0;a[(a[l>>2]|0)+(A+1<<2)>>2]=0}k=c;return A|0}function gF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b;t=A+312|0;i=$F((a[t>>2]<<2)+8|0)|0;r=0;l=1;while(1){n=a[t>>2]|0;if((l|0)>(n|0))break;f=r+1|0;if((JM(A,l,n,e)|0)<<24>>24){a[i+(f<<2)>>2]=l;r=f}l=l+1|0}if(!r){a[c>>2]=e;ao(0,100872,c)|0;L2(i);i=0}else{a[i>>2]=r;a[i+(r+1<<2)>>2]=(a[t>>2]|0)+1}k=b;return i|0}function EF(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0;i=a[e+16>>2]|0;n=+b[i+16>>3];b[i+48>>3]=n-+b[i+88>>3];r=+b[i+24>>3];f=+b[i+80>>3]*.5;b[i+56>>3]=r-f;b[i+64>>3]=+b[i+96>>3]+n;b[i+72>>3]=f+r;e=Oo(A,e)|0;while(1){if(!e)break;CF(e);e=_o(A,e)|0}return}function CF(A){A=A|0;A=a[(a[A+16>>2]|0)+8>>2]|0;if(A|0)IF(A);return}function IF(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;L=k;k=k+240|0;E=L+192|0;g=L+176|0;C=L+64|0;I=L+32|0;Z=L;G=L+144|0;Q=L+112|0;m=A+4|0;if((a[m>>2]|0)<=0)vA(101140,99906,3994,101154);e=a[A>>2]|0;i=C;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=E;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));ZF(I,E);l=I+8|0;t=Z+8|0;c=I+16|0;s=Z+16|0;w=I+24|0;u=Z+24|0;o=C+8|0;h=C+12|0;d=C+32|0;B=C+4|0;v=C+16|0;n=0;while(1){if((n|0)>=(a[m>>2]|0))break;if((n|0)>0){e=(a[A>>2]|0)+(n*48|0)|0;i=C;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=E;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));ZF(Z,E);b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}e=a[o>>2]|0;if(e|0){f=a[C>>2]|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[E>>2]=a[f>>2];a[E+4>>2]=a[f+4>>2];a[E+8>>2]=a[f+8>>2];a[E+12>>2]=a[f+12>>2];KC(G,g,E,1.0,e);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[Z+16>>2]=a[G+16>>2];a[Z+20>>2]=a[G+20>>2];a[Z+24>>2]=a[G+24>>2];a[Z+28>>2]=a[G+28>>2];b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}e=a[h>>2]|0;if(e|0){f=(a[C>>2]|0)+((a[B>>2]|0)+-1<<4)|0;a[g>>2]=a[d>>2];a[g+4>>2]=a[d+4>>2];a[g+8>>2]=a[d+8>>2];a[g+12>>2]=a[d+12>>2];a[E>>2]=a[f>>2];a[E+4>>2]=a[f+4>>2];a[E+8>>2]=a[f+8>>2];a[E+12>>2]=a[f+12>>2];KC(Q,g,E,1.0,e);a[Z>>2]=a[Q>>2];a[Z+4>>2]=a[Q+4>>2];a[Z+8>>2]=a[Q+8>>2];a[Z+12>>2]=a[Q+12>>2];a[Z+16>>2]=a[Q+16>>2];a[Z+20>>2]=a[Q+20>>2];a[Z+24>>2]=a[Q+24>>2];a[Z+28>>2]=a[Q+28>>2];b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}n=n+1|0}m=A+8|0;a[m>>2]=a[I>>2];a[m+4>>2]=a[I+4>>2];a[m+8>>2]=a[I+8>>2];a[m+12>>2]=a[I+12>>2];a[m+16>>2]=a[I+16>>2];a[m+20>>2]=a[I+20>>2];a[m+24>>2]=a[I+24>>2];a[m+28>>2]=a[I+28>>2];k=L;return}function ZF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0;w=k;k=k+48|0;l=w+32|0;t=w;c=a[e+4>>2]|0;if((c|0)<=0)vA(101170,99906,3968,101182);if(((c>>>0)%3|0|0)!=1)vA(101192,99906,3969,101182);s=t+16|0;i=a[e>>2]|0;a[s>>2]=a[i>>2];a[s+4>>2]=a[i+4>>2];a[s+8>>2]=a[i+8>>2];a[s+12>>2]=a[i+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];r=l+8|0;f=t+8|0;n=t+24|0;e=1;while(1){if((e|0)>=(c|0))break;o=+b[i+(e<<4)+8>>3];v=e+1|0;u=+b[i+(v<<4)+8>>3];d=(+b[i+(v<<4)>>3]+ +b[i+(e<<4)>>3])*.5;b[l>>3]=d;o=(u+o)*.5;b[r>>3]=o;u=+b[(+b[t>>3]>3];b[t>>3]=u;B=+b[(+b[f>>3]>3];b[f>>3]=B;d=+b[(+b[s>>3]>d?s:l)>>3];b[s>>3]=d;o=+b[(+b[n>>3]>o?s:l)+8>>3];b[n>>3]=o;v=i+(e+2<<4)|0;a[l>>2]=a[v>>2];a[l+4>>2]=a[v+4>>2];a[l+8>>2]=a[v+8>>2];a[l+12>>2]=a[v+12>>2];h=+b[l>>3];b[t>>3]=+b[(u>3];u=+b[r>>3];b[f>>3]=+b[(B>3];b[s>>3]=+b[(d>h?s:l)>>3];b[n>>3]=+b[(o>u?s:l)+8>>3];e=e+3|0}a[A>>2]=a[t>>2];a[A+4>>2]=a[t+4>>2];a[A+8>>2]=a[t+8>>2];a[A+12>>2]=a[t+12>>2];a[A+16>>2]=a[t+16>>2];a[A+20>>2]=a[t+20>>2];a[A+24>>2]=a[t+24>>2];a[A+28>>2]=a[t+28>>2];k=w;return}function GF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0.0;h=+b[A>>3];d=+b[i>>3];c=!(h>=d);if((!c?h<=+b[i+16>>3]:0)?(f=+b[A+8>>3],f>=+b[i+8>>3]):0)l=f<=+b[i+24>>3];else l=0;f=+b[e>>3];if((f>=d?f<=+b[i+16>>3]:0)?(a=+b[e+8>>3],a>=+b[i+8>>3]):0){r=a<=+b[i+24>>3];if(!(l^r))if(l&r)r=1;else s=11;else r=0}else if(l)r=0;else s=11;A:do{if((s|0)==11){o=+b[A+8>>3];do{if(h==f){d=+b[i+8>>3];if(!(c|o>=d^+b[e+8>>3]>=d^1)?h<=+b[i+16>>3]:0){r=0;break A}}else{t=+b[e+8>>3];if(o==t){if(!(h>=d^f>=d))break;if(!(o>=+b[i+8>>3]))break;if(!(o<=+b[i+24>>3]))break;else{r=0;break A}}k=(t-o)/(f-h);s=h>3];if(!(!(d>=n)|!(d<=f)|!(a>=w))?a<=+b[i+24>>3]:0){r=0;break A}u=+b[i+16>>3];a=(u-d)*k+a;if(a>=w?!(!(u<=f)|(u>=n?!(a<=+b[i+24>>3]):1)):0){r=0;break A}s=o=d?!(!(w<=a)|(!(w>=n)|!(f<=u))):0){r=0;break A}o=+b[i+24>>3];h=(o-w)/k+f;if(h>=d?!(!(o<=a)|(!(o>=n)|!(h<=u))):0){r=0;break A}}}while(0);r=-1}}while(0);return r|0}function QF(A){A=A|0;var e=0,i=0.0;e=A+16|0;i=+b[e>>3];b[A+32>>3]=i;b[A+48>>3]=i;b[A+40>>3]=+b[A+24>>3];b[A+56>>3]=+b[A+8>>3];b[e>>3]=+b[A>>3];return}function mF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0;if((a[47131]|0)!=(i|0)){E1(+(i|0)*.15915494309189535,186328,186336);a[47131]=i}n=+b[e>>3];r=+b[23292];f=+b[e+8>>3];l=+b[23291];b[A>>3]=r*n-l*f;b[A+8>>3]=l*n+f*r;return}function LF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;r=+b[e>>3];l=e+8|0;n=+b[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{b[e>>3]=n;r=-r;t=10;break}case 180:{r=-n;t=10;break}case 270:{b[e>>3]=n;t=10;break}default:{if((i|0)<0){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(A,f,0-i|0);break A}if((i|0)>360){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];LF(A,f,(i>>>0)%360|0);break A}else{a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];mF(A,f,i);break A}}}}while(0);if((t|0)==10){b[l>>3]=r;t=11}if((t|0)==11){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}k=c;return}function WF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;r=+b[e>>3];l=e+8|0;n=+b[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{b[e>>3]=-n;t=10;break}case 180:{r=-n;t=10;break}case 270:{b[e>>3]=n;t=10;break}default:{if((i|0)<0){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];LF(A,f,0-i|0);break A}if((i|0)>360){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(A,f,(i>>>0)%360|0);break A}else{a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];mF(A,f,360-i|0);break A}}}}while(0);if((t|0)==10){b[l>>3]=r;t=11}if((t|0)==11){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}k=c;return}function yF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;n=+b[i>>3];r=+b[i+8>>3];a=r+ +b[e>>3];f=n+ +b[e+24>>3];r=r+ +b[e+16>>3];b[A>>3]=n+ +b[e+8>>3];b[A+8>>3]=a;b[A+16>>3]=f;b[A+24>>3]=r;return}function zF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;a=+b[A>>3];r=+b[e>>3]-a;n=+b[A+8>>3];f=+b[e+8>>3]-n;a=(+b[i+8>>3]-n)*r-(+b[i>>3]-a)*f;a=a*a;return+(a<1.0e-10?0.0:a/(f*f+r*r))}function YF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n+8|0;r=n;A=po(A,e)|0;if(A|0?(a[f>>2]=r,(J3(A,101209,f)|0)>0):0)b[i>>3]=+b[r>>3];k=n;return}function DF(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;n=w+8|0;l=w;i=qF(96)|0;s=A+16|0;a[(a[s>>2]|0)+8>>2]=i;i=po(A,101213)|0;if(!i){i=PA(101222)|0;if(i|0)c=3}else c=3;if((c|0)==3)ae(101234,i|0,1)|0;i=(MF(A)|0)&255;r[(a[s>>2]|0)+115>>0]=i;if(0==0?(i=po(A,101245)|0,a[47133]=i,(i|0)==0):0)a[47133]=a[47132];f=+oR(A,Yo(A,0,101255,0)|0,0.0,0.0);b[a[(a[s>>2]|0)+8>>2]>>3]=f;i=po(A,101263)|0;A:do{if(!i)i=0;else{switch(r[i>>0]|0){case 76:{if(!(A1(i,101271)|0)){i=1;break A}break}case 66:{if(!(A1(i,101274)|0)){i=2;break A}break}case 82:{i=(A1(i,101277)|0)==0;i=i?3:0;break A}default:{i=0;break A}}i=0}}while(0);a[(a[s>>2]|0)+116>>2]=i<<2|(e<<24>>24==0?0:i);f=+oR(A,Yo(A,0,101280,0)|0,.25,.02);b[l>>3]=f;f=f*72.0;a[(a[s>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));i=dR(A,Yo(A,0,101288,0)|0,0)|0;if(i){a[n>>2]=l;if(J3(i,101209,n)|0){f=+b[l>>3];if(f<.02){b[l>>3]=.02;f=.02}}else{b[l>>3]=.5;f=.5}if(X4(i,101296)|0)r[(a[s>>2]|0)+276>>0]=1}else{b[l>>3]=.5;f=.5}f=f*72.0;a[(a[s>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));l=(kR(A,Yo(A,0,101304,0)|0,0,0)|0)&255;r[(a[s>>2]|0)+243>>0]=l;l=YR(dR(A,Yo(A,0,101314,0)|0,0)|0,20676,20692)|0;a[(a[s>>2]|0)+244>>2]=l;FF(A);l=VF(A,101324,(a[(a[s>>2]|0)+8>>2]|0)+64|0)|0;i=a[(a[s>>2]|0)+8>>2]|0;r[i+80>>0]=l;VF(A,101329,i+48|0)|0;i=gR(po(A,101334)|0)|0;r[(a[(a[s>>2]|0)+8>>2]|0)+82>>0]=i;i=po(A,101341)|0;do{if(!i){i=po(A,101348)|0;if(i|0){i=(r[i>>0]|32)<<24>>24==108&1;c=27;break}i=po(A,101360)|0;if(i|0){i=gR(i)|0;c=27}}else{i=(q3(i)|0)==90&1;c=27}}while(0);if((c|0)==27)r[(a[(a[s>>2]|0)+8>>2]|0)+81>>0]=i;a[47135]=YR(po(A,101370)|0,20708,20724)|0;r[194954]=gR(po(A,101382)|0)|0;a[47138]=0;a[47139]=0;b[(a[(a[s>>2]|0)+8>>2]|0)+24>>3]=0.0;i=po(A,101394)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)c=32;else c=30;if(((c|0)==30?(t=po(A,101398)|0,t|0):0)?r[t>>0]|0:0){i=t;c=32}if((c|0)==32){f=+$3(i);b[(a[(a[s>>2]|0)+8>>2]|0)+24>>3]=f}JF(A);b[23295]=1.e+37;a[47140]=Yo(A,0,101409,0)|0;a[47143]=Yo(A,0,141034,0)|0;a[47144]=Yo(A,0,105496,0)|0;a[47145]=Yo(A,1,141048,0)|0;a[47146]=Yo(A,1,141116,0)|0;a[47147]=Yo(A,1,108230,0)|0;a[47148]=Yo(A,1,140823,0)|0;a[47149]=Yo(A,1,101418,0)|0;a[47157]=Yo(A,1,141082,0)|0;a[47150]=Yo(A,1,101428,0)|0;a[47151]=Yo(A,1,101437,0)|0;a[47152]=Yo(A,1,101446,0)|0;c=Yo(A,1,108224,0)|0;a[47154]=c;if(!c)a[47154]=Yo(A,1,108224,105493)|0;a[47155]=Yo(A,1,101456,0)|0;a[47158]=Yo(A,1,101304,0)|0;a[47172]=Yo(A,1,101463,0)|0;a[47161]=Yo(A,1,101409,0)|0;a[47153]=Yo(A,1,105496,0)|0;a[47159]=Yo(A,1,141076,0)|0;a[47160]=Yo(A,1,101472,0)|0;a[47163]=Yo(A,1,101484,0)|0;a[47162]=Yo(A,1,101348,0)|0;a[47164]=Yo(A,1,101489,0)|0;a[47165]=Yo(A,1,141024,0)|0;a[47166]=Yo(A,1,137297,0)|0;a[47156]=Yo(A,1,101500,0)|0;a[47167]=Yo(A,1,101510,0)|0;a[47168]=Yo(A,1,101516,0)|0;a[47169]=Yo(A,1,101522,0)|0;a[47170]=Yo(A,1,101530,0)|0;a[47171]=Yo(A,1,101539,0)|0;a[47173]=Yo(A,1,141034,0)|0;a[47174]=Yo(A,2,101541,0)|0;a[47176]=Yo(A,2,140823,0)|0;a[47177]=Yo(A,2,101418,0)|0;a[47179]=Yo(A,2,101428,0)|0;a[47180]=Yo(A,2,101437,0)|0;a[47181]=Yo(A,2,101446,0)|0;a[47182]=Yo(A,2,108224,0)|0;a[47183]=Yo(A,2,101456,0)|0;a[47192]=Yo(A,2,101548,0)|0;a[47184]=Yo(A,2,101559,0)|0;a[47195]=Yo(A,2,101563,0)|0;a[47196]=Yo(A,2,101573,0)|0;a[47197]=Yo(A,2,101583,0)|0;a[47198]=Yo(A,2,101593,0)|0;a[47199]=Yo(A,2,101603,0)|0;a[47200]=Yo(A,2,101617,0)|0;a[47201]=Yo(A,2,101631,0)|0;a[47202]=Yo(A,2,101646,0)|0;a[47203]=Yo(A,2,101660,0)|0;a[47175]=Yo(A,2,101671,0)|0;a[47187]=Yo(A,2,101304,0)|0;a[47185]=Yo(A,2,141082,0)|0;a[47186]=Yo(A,2,101678,0)|0;a[47188]=Yo(A,2,101687,0)|0;a[47189]=Yo(A,2,101697,0)|0;a[47190]=Yo(A,2,101510,0)|0;a[47191]=Yo(A,2,101522,0)|0;a[47204]=Yo(A,2,101708,0)|0;a[47205]=Yo(A,2,101717,0)|0;a[47206]=Yo(A,2,101463,0)|0;i=$C(A)|0;a[(a[(a[s>>2]|0)+8>>2]|0)+88>>2]=i;i=po(A,141060)|0;if(i|0?r[i>>0]|0:0){A=SF(i,A)|0;a[(a[(a[s>>2]|0)+8>>2]|0)+92>>2]=A}k=w;return}function MF(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;A=BR(A,Yo(A,0,101807,0)|0,101815)|0;if(((((((N1(A,101821)|0)!=0?(N1(A,101829)|0)!=0:0)?(N1(A,101836)|0)!=0:0)?(N1(A,101839)|0)!=0:0)?(N1(A,101850)|0)!=0:0)?(N1(A,101861)|0)!=0:0)?(N1(A,101871)|0)!=0:0)if((N1(A,101882)|0)!=0?(N1(A,101888)|0)!=0:0)if((N1(A,101815)|0)!=0?(N1(A,101893)|0)!=0:0){a[e>>2]=A;ao(0,101898,e)|0;A=0}else A=0;else A=2;else A=1;k=i;return A|0}function FF(A){A=A|0;var e=0.0,i=0,f=0;i=po(A,101765)|0;A:do{if(i|0?(f=r[i>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break A;if(A1(i,101771)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=4;break A}case 99:{if(f<<24>>24!=99)break A;if(A1(i,101776)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=3;break A}case 101:{if(f<<24>>24!=101)break A;if(A1(i,101785)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=5;break A}case 102:{if(f<<24>>24!=102)break A;if(A1(i,101792)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=2;break A}default:{e=+$3(i);if(!(e>0.0))break A;A=a[(a[A+16>>2]|0)+8>>2]|0;a[A+84>>2]=1;b[A+16>>3]=e;break A}}}while(0);return}function VF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+48|0;s=u+32|0;l=u+16|0;c=u+8|0;t=u;w=u+40|0;r[w>>0]=0;A=po(A,e)|0;do{if(A){a[l>>2]=c;a[l+4>>2]=t;a[l+8>>2]=w;l=(J3(A,101749,l)|0)>1;n=+b[c>>3];f=+b[t>>3];if(l&n>0.0&f>0.0){n=n*72.0;b[i>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);n=f*72.0;b[i+8>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);A=(r[w>>0]|0)==33;break}r[w>>0]=0;a[s>>2]=c;a[s+4>>2]=w;s=(J3(A,101759,s)|0)>0;f=+b[c>>3];if(s&f>0.0){n=f*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);b[i>>3]=n;b[i+8>>3]=n;A=(r[w>>0]|0)==33}else A=0}else A=0}while(0);k=u;return A&1|0}function JF(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0;e=po(A,108224)|0;do{if(e|0?r[e>>0]|0:0){i=(a[(a[A+60>>2]|0)+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|8;i=(tB(e)|0)!=0;n=+oR(A,Yo(A,0,101428,0)|0,14.0,1.0);l=BR(A,Yo(A,0,101437,0)|0,107994)|0;e=pF(A,e,i?2:0,n,l,BR(A,Yo(A,0,101446,0)|0,137314)|0)|0;l=A+16|0;a[(a[l>>2]|0)+12>>2]=e;e=po(A,105628)|0;i=(e|0)!=0;do{if((Zd(A)|0)==(A|0)){if(i?(r[e>>0]|0)==116:0){e=1;break}e=0}else{if(i?(r[e>>0]|0)==98:0){e=0;break}e=1}}while(0);i=po(A,101726)|0;A:do{if(i)switch(r[i>>0]|0){case 108:{e=e|2;break A}case 114:{e=e|4;break A}default:break A}}while(0);r[(a[l>>2]|0)+275>>0]=e;if((Zd(A)|0)!=(A|0)){e=a[(a[l>>2]|0)+12>>2]|0;f=+b[e+24>>3]+16.0;n=+b[e+32>>3]+8.0;A=(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0;e=a[l>>2]|0;i=r[e+275>>0]<<1&2;if(A){A=i&255;b[e+48+(A<<4)>>3]=f;b[e+48+(A<<4)+8>>3]=n;break}else{A=(i^3)&255;b[e+48+(A<<4)>>3]=n;b[e+48+(A<<4)+8>>3]=f;break}}}}while(0);return}function NF(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=a[r>>2]|0;e=a[i+8>>2]|0;do{if(!e)e=i;else{i=a[e+88>>2]|0;if(i){yC(i);i=a[r>>2]|0;e=a[i+8>>2]|0;if(!e){e=i;break}}L2(a[e+92>>2]|0);e=a[r>>2]|0}}while(0);L2(a[e+8>>2]|0);r=a[r>>2]|0;a[r+8>>2]=0;TF(a[r+12>>2]|0);_d(A,0,137483);return}function XF(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;switch(A|0){case 0:{A=101971;break}case 1:{A=101839;break}case 2:{A=101977;break}default:{a[e>>2]=A;ao(1,101941,e)|0;A=101971}}k=i;return A|0}function RF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;f=a[e>>2]|0;s=e+24|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;if(r[f>>0]|0){t=$F((S2(f)|0)+1|0)|0;r[t>>0]=0;c=e+12|0;i=t;A:while(1){e:while(1){l=f+1|0;n=r[f>>0]|0;if(!(n<<24>>24))break A;if(!(n<<24>>24==-1|((n&255)<161|(a[c>>2]|0)!=2))){r[i>>0]=n;l=r[l>>0]|0;n=i+2|0;r[i+1>>0]=l;if(!(l<<24>>24)){i=n;break A}else{i=n;f=f+2|0;continue}}switch(n<<24>>24){case 92:break e;case 10:{b=12;break e}default:{}}r[i>>0]=n;i=i+1|0;f=l}if((b|0)==12){b=0;f=i+1|0;r[i>>0]=0;HF(A,e,t,110);i=f;t=f;f=l;continue}n=r[l>>0]|0;switch(n<<24>>24|0){case 114:case 108:case 110:{n=i+1|0;r[i>>0]=0;HF(A,e,t,r[l>>0]|0);i=n;break}default:{r[i>>0]=n;i=i+1|0;n=t}}t=n;f=(r[l>>0]|0)==0?l:f+2|0}if((t|0)!=(i|0)){r[i>>0]=0;HF(A,e,t,110)}e=e+40|0;a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2]}return}function HF(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+32|0;h=B+16|0;o=B;d=e+76|0;c=f[d>>1]|0;u=e+72|0;s=a[u>>2]|0;if(!s)w=qF((c*56|0)+112|0)|0;else w=AV(s,c+2|0,56,c+1|0)|0;a[u>>2]=w;c=f[d>>1]|0;s=w+(c*56|0)|0;a[s>>2]=i;r[w+(c*56|0)+48>>0]=n;if((i|0)!=0?(r[i>>0]|0)!=0:0){a[46594]=a[e+4>>2];b[23299]=+b[e+16>>3];n=a[A+144>>2]|0;a[w+(c*56|0)+4>>2]=W5[a[n>>2]&63](n,186376,1)|0;AR(o,A,s);t=+b[o>>3];b[h>>3]=t;l=+b[o+8>>3]}else{b[h>>3]=0.0;l=+(~~(+b[e+16>>3]*1.2)|0);b[w+(c*56|0)+40>>3]=l;t=0.0}f[d>>1]=(f[d>>1]|0)+1<<16>>16;d=e+24|0;b[d>>3]=+b[(+b[d>>3]>t?d:h)>>3];d=e+32|0;b[d>>3]=+b[d>>3]+l;k=B;return}function pF(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=l|0;t=t|0;var c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+32|0;d=g+16|0;h=g+8|0;o=g;v=qF(88)|0;switch(Md(A)|0){case 0:{s=0;B=a[A+60>>2]|0;w=A;u=0;break}case 1:{s=0;B=Zd(Id(A)|0)|0;w=0;u=A;break}case 2:{s=A;B=Zd(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0;w=0;u=0;break}default:{s=0;B=0;w=0;u=0}}a[v+4>>2]=l;a[v+8>>2]=t;b[v+16>>3]=f;c=B+16|0;t=v+12|0;a[t>>2]=n[(a[c>>2]|0)+115>>0];A:do{if(i&4){a[v>>2]=s3(e)|0;if(i&2|0)r[v+82>>0]=1}else switch(i|0){case 2:{a[v>>2]=s3(e)|0;r[v+82>>0]=1;if(!(ga(A,v)|0))break A;switch(Md(A)|0){case 0:{a[o>>2]=Vh(w)|0;ao(3,101983,o)|0;break A}case 1:{a[h>>2]=Vh(u)|0;ao(3,102005,h)|0;break A}case 2:{o=Vh(a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;h=(Ih(B)|0)!=0;B=Vh(a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)|0;a[d>>2]=o;a[d+4>>2]=h?137738:141747;a[d+8>>2]=B;ao(3,102026,d)|0;break A}default:break A}}case 0:{l=UF(e,A,0)|0;a[v>>2]=l;if((a[t>>2]|0)==1)l=EH(l)|0;else l=BH(l,B)|0;L2(a[v>>2]|0);a[v>>2]=l;RF(a[(a[c>>2]|0)+144>>2]|0,v);break A}default:vA(102053,102069,166,102078)}}while(0);k=g;return v|0}function UF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;switch(Md(e)|0){case 0:{t=Vh(e)|0;n=S2(t)|0;f=a[(a[e+16>>2]|0)+12>>2]|0;if(f){f=a[f>>2]|0;if(!A){E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=2;C=f;I=102095}else{E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=S2(f)|0;C=f;I=102095}}else{E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}break}case 1:{t=Vh(Id(e)|0)|0;n=S2(t)|0;c=Vh(e)|0;l=S2(c)|0;f=a[(a[e+16>>2]|0)+104>>2]|0;if(f){f=a[f>>2]|0;if(!A){E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=2;C=f;I=102095}else{E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=S2(f)|0;C=f;I=102095}}else{E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}break}case 2:{l=e+48|0;t=Vh(Zd(Id(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0;n=S2(t)|0;s=Vh(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0;b=S2(s)|0;f=e+16|0;h=a[(a[f>>2]|0)+52>>2]|0;if(!h)d=0;else d=S2(h)|0;w=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;f=a[f>>2]|0;k=a[f+92>>2]|0;if(!k)o=0;else o=S2(k)|0;c=S2(w)|0;f=a[f+96>>2]|0;if(f){f=a[f>>2]|0;if(!A)u=2;else u=S2(f)|0}else{u=2;f=102089}I=(Ih(Zd(Id(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0)==0;E=1;v=b;g=c;B=b+2+(d|0?d+1|0:0)+c+(o|0?o+1|0:0)|0;l=2;Z=s;c=105493;C=f;I=I?141747:137738;break}default:{E=0;v=2;g=2;B=2;l=2;n=2;Z=102101;w=102098;c=105493;t=102092;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}}i=(i|0)==0;s=0;f=A;A:while(1){e=f+1|0;e:do{switch(r[f>>0]|0){case 0:break A;case 92:{f=f+2|0;switch(r[e>>0]|0){case 78:{b=l;break e}case 71:{b=n;break e}case 69:{b=B;break e}case 72:{b=g;break e}case 84:{b=v;break e}case 76:{b=u;break e}case 92:{if(!i){b=1;break e}break}default:{}}b=2;break}default:{b=1;f=e}}}while(0);s=s+b|0}B=$F(s+1|0)|0;u=(E|0)==0;s=(d|0)==0;e=(o|0)==0;f=B;n=A;A:while(1){b=n+1|0;l=r[n>>0]|0;switch(l<<24>>24){case 0:break A;case 92:break;default:{r[f>>0]=l;f=f+1|0;n=b;continue A}}l=n+2|0;n=r[b>>0]|0;switch(n<<24>>24|0){case 71:{n=t;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 78:{n=c;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 69:{if(u){n=l;continue A}else n=Z;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;n=n+1|0;f=f+1|0}if(s)n=I;else{r[f>>0]=58;n=h;while(1){f=f+1|0;A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=I;break}else n=n+1|0}}while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=w;break}n=n+1|0;f=f+1|0}while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;n=n+1|0;f=f+1|0}if(e){n=l;continue A}r[f>>0]=58;n=k;while(1){f=f+1|0;A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}else n=n+1|0}}case 84:{n=Z;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 72:{n=w;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}f=f+1|0;n=n+1|0}}case 76:{n=C;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}f=f+1|0;n=n+1|0}}case 92:{if(!i){r[f>>0]=92;f=f+1|0;n=l;continue A}break}default:{}}r[f>>0]=92;r[f+1>>0]=n;f=f+2|0;n=l}r[f>>0]=0;return B|0}function xF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(A|0){i=A;r=0;while(1){if((r|0)>=(e|0))break;if(!r)L2(a[i>>2]|0);n=a[i+8>>2]|0;if(n|0?(f=a[i+12>>2]|0,f|0):0)F5[f&127](n);i=i+56|0;r=r+1|0}L2(A)}return}function TF(A){A=A|0;var e=0;if(A|0){L2(a[A>>2]|0);e=A+72|0;if(r[A+82>>0]|0){e=a[e>>2]|0;if(e|0)aa(e,1)}else xF(a[e>>2]|0,f[A+76>>1]|0);L2(A)}return}function jF(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+32|0;h=g+16|0;d=g;c=a[A+16>>2]|0;B=c+12|0;v=a[B>>2]|0;a[B>>2]=e;if(!(r[i+82>>0]|0)){o=i+76|0;if((f[o>>1]|0)>=1){Ki(A,0);$i(A,a[i+8>>2]|0);switch(r[i+80>>0]|0){case 116:{t=+b[i+64>>3];n=+b[i+48>>3]*.5+t;break}case 98:{t=+b[i+64>>3];n=+b[i+48>>3]*-.5+t+ +b[i+32>>3];break}default:{t=+b[i+64>>3];n=+b[i+32>>3]*.5+t}}n=n-+b[i+16>>3];u=d+8|0;b[u>>3]=n;if(f[c+260>>1]&512)b[u>>3]=n-t;s=i+72|0;w=i+56|0;l=i+40|0;e=0;while(1){if((e|0)>=(f[o>>1]|0))break;c=a[s>>2]|0;switch(r[c+(e*56|0)+48>>0]|0){case 108:{n=+b[w>>3]-+b[l>>3]*.5;break}case 114:{n=+b[l>>3]*.5+ +b[w>>3];break}default:n=+b[w>>3]}b[d>>3]=n;a[h>>2]=a[d>>2];a[h+4>>2]=a[d+4>>2];a[h+8>>2]=a[d+8>>2];a[h+12>>2]=a[d+12>>2];qi(A,h,c+(e*56|0)|0);b[u>>3]=+b[u>>3]-+b[(a[s>>2]|0)+(e*56|0)+40>>3];e=e+1|0}_i(A);l=18}}else{Nf(A,a[i+72>>2]|0,i);l=18}if((l|0)==18)a[B>>2]=v;k=g;return}function SF(A,e){A=A|0;e=e|0;return UF(A,e,1)|0}function PF(A){A=A|0;return OF(A,0)|0}function OF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;i=a[47207]|0;if(!i){a[47208]=64;i=$F(64)|0;a[47207]=i}c=e<<24>>24==0;t=0;f=0;l=A;while(1){if(!l)break;e=r[l>>0]|0;if(!(e<<24>>24))break;A=a[47208]|0;if((t|0)>(A+-8|0)){i=A<<1;a[47208]=i;i=eV(a[47207]|0,i)|0;a[47207]=i;i=i+t|0;e=r[l>>0]|0}A:do{switch(e<<24>>24){case 38:{if(c?(KF(l)|0)!=0:0)b=18;else{f=5;e=102130}break}case 60:{f=4;e=102153;break}case 62:{f=4;e=102136;break}case 45:{f=5;e=102147;break}default:{if((f|0)!=0&e<<24>>24==32)if((r[f>>0]|0)==32){f=6;e=102123;break A}else{b=18;break A}switch(e<<24>>24){case 34:{f=6;e=102116;break A}case 39:{f=5;e=102141;break A}case 10:if(c){b=18;break A}else{f=5;e=102110;break A}default:{b=18;break A}}}}}while(0);if((b|0)==18){b=0;e=c|e<<24>>24!=13;f=e?1:5;e=e?l:102104}n=i+f|0;A=f;while(1){if(!A)break;r[i>>0]=r[e>>0]|0;A=A+-1|0;e=e+1|0;i=i+1|0}A=l;t=f+t|0;i=n;l=l+1|0;f=A}r[i>>0]=0;return a[47207]|0}function KF(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function _F(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0;e=a[47209]|0;if(!e){a[47210]=64;e=$F(64)|0;a[47209]=e;t=0}else t=0;while(1){if(!A)break;i=r[A>>0]|0;if(!(i<<24>>24))break;f=a[47210]|0;if((t|0)>(f+-8|0)){e=f<<1;a[47210]=e;e=eV(a[47209]|0,e)|0;a[47209]=e;e=e+t|0;i=r[A>>0]|0}switch(i<<24>>24){case 38:{if(!(KF(A)|0)){n=5;i=102130}else c=12;break}case 60:{n=4;i=102153;break}case 62:{n=4;i=102136;break}case 34:{n=6;i=102116;break}case 39:{n=5;i=102141;break}default:c=12}if((c|0)==12){c=0;n=1;i=A}l=e+n|0;f=n;while(1){if(!f)break;r[e>>0]=r[i>>0]|0;f=f+-1|0;i=i+1|0;e=e+1|0}t=n+t|0;e=l;A=A+1|0}r[e>>0]=0;return a[47209]|0}function qF(A){A=A|0;var e=0;if(!A)A=0;else{e=$F(A)|0;Y6(e|0,0,A|0)|0;A=e}return A|0}function $F(A){A=A|0;if(A){A=m2(A)|0;if(!A){L3(111740,14,1,a[15712]|0)|0;A=0}}else A=0;return A|0}function AV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=y2(A,U(i,e)|0)|0;if(!((e|0)!=0&(A|0)==0)){if(e>>>0>r>>>0)Y6(A+(U(r,i)|0)|0,0,U(e-r|0,i)|0)|0}else L3(111740,14,1,a[15712]|0)|0;return A|0}function eV(A,e){A=A|0;e=e|0;A=y2(A,e)|0;if((e|0)!=0&(A|0)==0)L3(111740,14,1,a[15712]|0)|0;return A|0}function iV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0,v=0,g=0;g=k;k=k+80|0;o=g+40|0;u=g+32|0;w=g+24|0;s=g;h=4;v=m2(40)|0;a[v>>2]=0;f=g+68|0;n=g+64|0;if(0){d=0;uA(62,A|0,f|0,n|0);l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,v|0,h|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)!=1){t=a[15712]|0;l=a[f>>2]|0;f=a[n>>2]|0;d=0;a[s>>2]=102202;a[s+4>>2]=l;a[s+8>>2]=f;a[s+12>>2]=i;a[s+16>>2]=e;aA(32,t|0,102158,s|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){d=0;bA(1);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1)t=6;else{f=L;t=15}}else{f=L;t=15}}else{f=L;t=15}}else t=6;do{if((t|0)==6){d=0;f=iA(27,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){if(!f){d=0;bA(2);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}}if((i|0)<1){d=0;bA(3);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}f=0;break}else{a[47211]=(r|0)>-1?r:30;v=L6(188848,1,v|0,h|0)|0;h=L;d=0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}f=0;t=15;break}}else{f=L;t=15}}}while(0);A:do{if((t|0)==15){e:while(1){if(f|0){f=2;break A}d=0;bA(4);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue}A=a[15712]|0;s=0;while(1){d=0;t=eA(2)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}if(!t)break;d=0;f=iA(28,t|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){f=L;t=15;continue e}d=0;wA(25,t|0,f|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}s=s+1|0;do{if(((s|0)%100|0|0)==0&0!=0){f=(s|0)%1e3|0;if((f|0)==100){d=0;rA(93,102202,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}d=0;a[w>>2]=s;aA(32,A|0,102220,w|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}d=0;a[u>>2]=s;aA(32,A|0,102220,u|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){f=L;t=15;continue e}if(!f){d=0;rA(94,10,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}}}}while(0);if((s|0)>=(i|0))break}switch(e|0){case 1:{d=0;bA(5);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}case 2:{d=0;bA(6);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}default:{d=0;bA(7);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}d=0;bA(3);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}}}if(!0){f=0;break A}if((s|0)>99){d=0;rA(94,10,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue}}f=a[47251]|0;n=a[47252]|0;d=0;c=+q(1);l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,v|0,h|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)==1){f=L;t=15;continue}d=0;a[o>>2]=102202;a[o+4>>2]=f;a[o+8>>2]=n;a[o+12>>2]=s;b[o+16>>3]=c;aA(32,A|0,102224,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15}else break}f=0}}while(0);L2(v|0);k=g;return f|0}function rV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;A=(a[A+16>>2]|0)+192|0;r=0;l=0;while(1){A=a[A>>2]|0;if(!A)break;n=a[A+16>>2]|0;f=a[n+180>>2]|0;A=0;while(1){if(!(a[f+(A<<2)>>2]|0))break;A=A+1|0;r=r+1|0}A=n+164|0;l=l+1|0}a[e>>2]=l;a[i>>2]=r;return}function fV(A){A=A|0;var e=0,i=0,f=0,n=0,t=0,c=0,b=0,s=0;a[47254]=A;a[47261]=0;a[47252]=0;a[47251]=0;t=A+16|0;A=(a[t>>2]|0)+192|0;n=0;i=0;while(1){A=a[A>>2]|0;if(!A)break;f=a[A+16>>2]|0;r[f+157>>0]=0;n=n+1|0;a[47251]=n;e=a[f+180>>2]|0;A=0;while(1){if(!(a[e+(A<<2)>>2]|0))break;b=i+1|0;a[47252]=b;A=A+1|0;i=b}A=f+164|0}A=a[47262]|0;if(!A)A=$F(n<<2)|0;else A=eV(A,n<<2)|0;a[47262]=A;a[47263]=0;A=a[47256]|0;if(!A)A=$F(a[47251]<<2)|0;else A=eV(A,a[47251]<<2)|0;a[47256]=A;a[47255]=0;e=1;A=(a[t>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;b=A+16|0;t=a[b>>2]|0;c=t+292|0;a[c>>2]=0;t=a[t+172>>2]|0;n=e;f=0;A=0;while(1){e=a[t+(f<<2)>>2]|0;if(!e)break;i=A+1|0;a[c>>2]=i;A=a[e+16>>2]|0;a[A+160>>2]=0;a[A+164>>2]=-1;if(!n)A=0;else{s=a[e>>2]&3;A=((a[(a[(a[((s|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((s|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(l[A+170>>1]|0|0)?0:n}n=A;f=f+1|0;A=i}A=qF((f<<2)+4|0)|0;e=a[b>>2]|0;a[e+264>>2]=A;a[e+268>>2]=0;e=a[e+180>>2]|0;A=0;do{s=A;A=A+1|0}while((a[e+(s<<2)>>2]|0)!=0);e=qF(A<<2)|0;A=a[b>>2]|0;a[A+272>>2]=e;a[A+276>>2]=0;e=n;A=A+164|0}return e|0}function aV(){var A=0,e=0,i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;b=u;s=bR(a[47251]|0)|0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e){c=0;break}i=e+16|0;A=a[i>>2]|0;if(!(a[A+292>>2]|0)){wR(s,e);A=a[i>>2]|0}A=A+164|0}while(1){A=uR(s)|0;if(!A)break;t=A+16|0;A=a[t>>2]|0;r=A+232|0;a[r>>2]=0;i=a[A+172>>2]|0;e=0;n=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f){r=0;break}f=(a[(a[(a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[(a[f+16>>2]|0)+170>>1]|0)|0;f=(n|0)>(f|0)?n:f;a[r>>2]=f;e=e+1|0;n=f}while(1){e=a[(a[A+180>>2]|0)+(r<<2)>>2]|0;if(!e)break;i=e+-48|0;f=(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+292|0;n=a[f>>2]|0;a[f>>2]=n+-1;if((n|0)<2){wR(s,a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0);A=a[t>>2]|0}r=r+1|0}c=c+1|0}A:do{if((c|0)!=(a[47251]|0)){ao(1,102556,b)|0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e)break A;i=e+16|0;A=a[i>>2]|0;if(a[A+292>>2]|0){b=Vh(e)|0;A=a[(a[i>>2]|0)+292>>2]|0;a[w>>2]=b;a[w+4>>2]=A;ao(3,102578,w)|0;A=a[i>>2]|0}A=A+164|0}}}while(0);sR(s);k=u;return}function nV(){var A=0,e=0,i=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;i=A+16|0;A=a[i>>2]|0;e=a[A+264>>2]|0;if(e){L2(e);A=a[i>>2]|0}e=a[A+272>>2]|0;if(e){L2(e);A=a[i>>2]|0}r[A+157>>0]=0;A=A+164|0}return}function lV(){var A=0,e=0,i=0,r=0,f=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;A=a[A+16>>2]|0;a[A+280>>2]=0;A=A+164|0}f=qF(a[47251]<<2)|0;r=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e)break;i=e+16|0;A=a[i>>2]|0;if(!(a[A+280>>2]|0)){a[f+(r<<2)>>2]=gV(e)|0;e=r+1|0;A=a[i>>2]|0}else e=r;r=e;A=A+164|0}A=EV(f,r)|0;while(1){if((CV(A)|0)<=1)break;QV(A,a[(GV(ZV(IV(A)|0)|0)|0)+8>>2]|0)}L2(A);A=0;while(1){if((A|0)>=(r|0))break;L2(a[f+(A<<2)>>2]|0);A=A+1|0}L2(f);if((a[47255]|0)==((a[47251]|0)+-1|0)){mV();return}else vA(102301,102331,523,102336)}function tV(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;t=a[47261]|0;f=a[47255]|0;c=a[47256]|0;b=a[47211]|0;e=0;A=0;n=t;while(1){if((n|0)>=(f|0)){l=8;break}r=a[c+(n<<2)>>2]|0;i=a[(a[r+16>>2]|0)+160>>2]|0;if((i|0)<0){if(!A)A=r;else A=(a[(a[A+16>>2]|0)+160>>2]|0)>(i|0)?r:A;e=e+1|0;if((e|0)>=(b|0))break}r=n+1|0;a[47261]=r;n=r}if((l|0)==8)if((t|0)>0){f=0;while(1){if((f|0)>=(t|0))break;i=a[c+(f<<2)>>2]|0;r=a[(a[i+16>>2]|0)+160>>2]|0;if((r|0)<0){if(!A)A=i;else A=(a[(a[A+16>>2]|0)+160>>2]|0)>(r|0)?i:A;e=e+1|0;if((e|0)>=(b|0))break}f=f+1|0}a[47261]=f}return A|0}function cV(A){A=A|0;var e=0,i=0;e=a[A>>2]&3;i=a[((e|0)==3?A:A+48|0)+40>>2]|0;A=a[((e|0)==2?A:A+-48|0)+40>>2]|0;e=(a[(a[i+16>>2]|0)+288>>2]|0)<(a[(a[A+16>>2]|0)+288>>2]|0);A=e?i:A;a[47257]=0;a[47258]=2147483647;i=a[A+16>>2]|0;a[47259]=a[i+284>>2];a[47260]=a[i+288>>2];if(e)vV(A);else BV(A);return a[47257]|0}function bV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=a[e>>2]&3;s=e+-48|0;c=e+48|0;b=e+16|0;f=(a[(a[(a[((f|0)==2?e:s)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((f|0)==3?e:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[b>>2]|0)+170>>1]|0)|0;do{if((f|0)>0){i=a[A>>2]&3;n=a[((i|0)==3?A:A+48|0)+40>>2]|0;t=a[n+16>>2]|0;if(((a[t+276>>2]|0)+(a[t+268>>2]|0)|0)==1){kV(n,f);break}i=a[((i|0)==2?A:A+-48|0)+40>>2]|0;r=a[i+16>>2]|0;if(((a[r+276>>2]|0)+(a[r+268>>2]|0)|0)==1){kV(i,0-f|0);break}if((a[t+288>>2]|0)<(a[r+288>>2]|0)){kV(n,f);break}else{kV(i,0-f|0);break}}}while(0);i=A+16|0;r=a[(a[i>>2]|0)+160>>2]|0;f=a[e>>2]&3;f=oV(a[((f|0)==3?e:c)+40>>2]|0,a[((f|0)==2?e:s)+40>>2]|0,r,1)|0;t=a[e>>2]&3;if((oV(a[((t|0)==2?e:s)+40>>2]|0,a[((t|0)==3?e:c)+40>>2]|0,r,0)|0)==(f|0)){a[(a[b>>2]|0)+160>>2]=0-r;a[(a[i>>2]|0)+160>>2]=0;hV(A,e);w=a[f+16>>2]|0;dV(f,a[w+280>>2]|0,a[w+284>>2]|0)|0;k=u;return}else{ao(1,102262,w)|0;fe(188848,1)}}function sV(){var A=0,e=0,i=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;uV();w=qF((a[47253]<<2)+4|0)|0;e=a[47253]|0;A=0;while(1){if((A|0)>(e|0))break;a[w+(A<<2)>>2]=0;A=A+1|0}A=(a[(a[47254]|0)+16>>2]|0)+192|0;e=A;while(1){e=a[e>>2]|0;if(!e)break;e=a[e+16>>2]|0;if(!(r[e+156>>0]|0)){s=w+(a[e+232>>2]<<2)|0;a[s>>2]=(a[s>>2]|0)+1}e=e+164|0}while(1){A=a[A>>2]|0;if(!A)break;s=A+16|0;A=a[s>>2]|0;if(!(r[A+156>>0]|0)){n=a[47253]|0;i=a[A+172>>2]|0;b=0;c=0;e=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f)break;u=a[f+16>>2]|0;t=(a[(a[(a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[u+170>>1]|0)|0;b=(a[u+156>>2]|0)+b|0;c=(c|0)>(t|0)?c:t;e=e+1|0}f=a[A+180>>2]|0;t=0;e=0;while(1){i=a[f+(e<<2)>>2]|0;if(!i)break;k=a[i+16>>2]|0;u=(a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[k+170>>1]|0)|0;t=(a[k+156>>2]|0)+t|0;n=(n|0)<(u|0)?n:u;e=e+1|0}e=(c|0)>0?c:0;if((b|0)==(t|0)){f=e;i=e;while(1){e=i+1|0;if((i|0)>=(n|0))break;f=(a[w+(e<<2)>>2]|0)<(a[w+(f<<2)>>2]|0)?e:f;i=e}k=A+232|0;u=w+(a[k>>2]<<2)|0;a[u>>2]=(a[u>>2]|0)+-1;u=w+(f<<2)|0;a[u>>2]=(a[u>>2]|0)+1;a[k>>2]=f}e=a[A+264>>2]|0;if(e){L2(e);A=a[s>>2]|0}e=a[A+272>>2]|0;if(e){L2(e);A=a[s>>2]|0}r[A+157>>0]=0}A=A+164|0}L2(w);return}function wV(){var A=0,e=0,i=0,r=0,f=0,n=0;e=0;while(1){if((e|0)>=(a[47255]|0))break;A=a[(a[47256]|0)+(e<<2)>>2]|0;do{if(((a[(a[A+16>>2]|0)+160>>2]|0)==0?(i=cV(A)|0,i|0):0)?(r=a[i>>2]&3,r=(a[(a[(a[((r|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((r|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0,(r|0)>=2):0){n=a[A>>2]&3;f=a[((n|0)==3?A:A+48|0)+40>>2]|0;A=a[((n|0)==2?A:A+-48|0)+40>>2]|0;if((a[(a[f+16>>2]|0)+288>>2]|0)<(a[(a[A+16>>2]|0)+288>>2]|0)){kV(f,r>>>1);break}else{kV(A,(r|0)/-2|0);break}}}while(0);e=e+1|0}nV();return}function uV(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+16|0;l=t;a[l>>2]=0;a[l>>2]=2147483647;a[47253]=-2147483647;A=(a[(a[47254]|0)+16>>2]|0)+192|0;i=A;n=2147483647;f=-2147483647;while(1){e=a[i>>2]|0;if(!e)break;i=a[e+16>>2]|0;if(!(r[i+156>>0]|0)){c=a[i+232>>2]|0;e=(n|0)<(c|0)?n:c;a[l>>2]=e;f=(f|0)>(c|0)?f:c;a[47253]=f}else e=n;i=i+164|0;n=e}if(n|0){while(1){A=a[A>>2]|0;if(!A)break;A=a[A+16>>2]|0;c=A+232|0;a[c>>2]=(a[c>>2]|0)-n;A=A+164|0}a[47253]=f-n;a[l>>2]=0}k=t;return}function kV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;A=a[f>>2]|0;r=A+232|0;a[r>>2]=(a[r>>2]|0)-e;r=0;while(1){i=a[(a[A+272>>2]|0)+(r<<2)>>2]|0;if(!i){r=0;break}if((i|0)!=(a[A+280>>2]|0)){kV(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,e);A=a[f>>2]|0}r=r+1|0}while(1){i=a[(a[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(a[A+280>>2]|0)){kV(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,e);A=a[f>>2]|0}r=r+1|0}return}function oV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;n=(r|0)==0&1;l=0-i|0;f=a[(a[e+16>>2]|0)+288>>2]|0;e=A;while(1){A=a[e+16>>2]|0;if((a[A+284>>2]|0)<=(f|0)?(f|0)<=(a[A+288>>2]|0):0)break;A=a[A+280>>2]|0;t=A+48|0;c=(a[A+16>>2]|0)+160|0;a[c>>2]=(((e|0)==(a[((a[A>>2]&3|0)==3?A:t)+40>>2]|0)?r:n)|0?i:l)+(a[c>>2]|0);c=a[A>>2]&3;t=a[((c|0)==3?A:t)+40>>2]|0;A=a[((c|0)==2?A:A+-48|0)+40>>2]|0;e=(a[(a[t+16>>2]|0)+288>>2]|0)>(a[(a[A+16>>2]|0)+288>>2]|0)?t:A}return e|0}function hV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;t=A+16|0;r=(a[t>>2]|0)+164|0;a[(a[e+16>>2]|0)+164>>2]=a[r>>2];a[(a[47256]|0)+(a[r>>2]<<2)>>2]=e;a[(a[t>>2]|0)+164>>2]=-1;t=(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;r=a[t>>2]|0;n=r+276|0;f=a[n>>2]|0;c=f+-1|0;a[n>>2]=c;n=r+272|0;l=0;while(1){if((l|0)>=(f|0)){b=3;break}i=a[n>>2]|0;if((a[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((b|0)==3)i=a[r+272>>2]|0;a[i+(l<<2)>>2]=a[i+(c<<2)>>2];a[(a[(a[t>>2]|0)+272>>2]|0)+(c<<2)>>2]=0;t=(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16|0;r=a[t>>2]|0;n=r+268|0;f=a[n>>2]|0;c=f+-1|0;a[n>>2]=c;n=r+264|0;l=0;while(1){if((l|0)>=(f|0)){b=8;break}i=a[n>>2]|0;if((a[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((b|0)==8)i=a[r+264>>2]|0;a[i+(l<<2)>>2]=a[i+(c<<2)>>2];a[(a[(a[t>>2]|0)+264>>2]|0)+(c<<2)>>2]=0;b=(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16|0;A=a[b>>2]|0;c=a[A+272>>2]|0;A=A+276|0;t=a[A>>2]|0;a[A>>2]=t+1;a[c+(t<<2)>>2]=e;b=a[b>>2]|0;a[(a[b+272>>2]|0)+(a[b+276>>2]<<2)>>2]=0;b=(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16|0;t=a[b>>2]|0;c=a[t+264>>2]|0;t=t+268|0;A=a[t>>2]|0;a[t>>2]=A+1;a[c+(A<<2)>>2]=e;b=a[b>>2]|0;a[(a[b+264>>2]|0)+(a[b+268>>2]<<2)>>2]=0;return}function dV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=A+16|0;A=a[n>>2]|0;a[A+280>>2]=e;a[A+284>>2]=i;f=0;while(1){r=a[(a[A+272>>2]|0)+(f<<2)>>2]|0;if(!r){f=0;break}if((r|0)!=(e|0)){i=dV(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r,i)|0;A=a[n>>2]|0}f=f+1|0}while(1){r=a[(a[A+264>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)!=(e|0)){i=dV(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,r,i)|0;A=a[n>>2]|0}f=f+1|0}a[A+288>>2]=i;return i+1|0}function BV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0,c=0;t=A+16|0;f=0;while(1){A=a[t>>2]|0;i=a[(a[A+180>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=a[i+16>>2]|0;if((a[r+164>>2]|0)<0){A=a[i>>2]&3;e=a[(a[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0;c=a[e+288>>2]|0;if((a[47259]|0)>(c|0)|(c|0)>(a[47260]|0)?(n=(a[e+232>>2]|0)-(a[(a[(a[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[r+170>>1]|0)|0,(n|0)<(a[47258]|0)|(a[47257]|0)==0):0){a[47257]=i;a[47258]=n}}else{e=a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0))BV(e)}f=f+1|0}while(1){e=a[(a[A+264>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(a[47258]|0)>0))break;e=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0)){BV(e);A=a[t>>2]|0}i=i+1|0}return}function vV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0,c=0;t=A+16|0;f=0;while(1){A=a[t>>2]|0;i=a[(a[A+172>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=a[i+16>>2]|0;if((a[r+164>>2]|0)<0){A=a[i>>2]&3;e=a[(a[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0;c=a[e+288>>2]|0;if((a[47259]|0)>(c|0)|(c|0)>(a[47260]|0)?(n=(a[(a[(a[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[e+232>>2]|0)-(l[r+170>>1]|0)|0,(n|0)<(a[47258]|0)|(a[47257]|0)==0):0){a[47257]=i;a[47258]=n}}else{e=a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0))vV(e)}f=f+1|0}while(1){e=a[(a[A+272>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(a[47258]|0)>0))break;e=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0)){vV(e);A=a[t>>2]|0}i=i+1|0}return}function gV(A){A=A|0;var e=0;e=qF(16)|0;a[e>>2]=A;a[e+4>>2]=VV(A,e)|0;a[e+12>>2]=e;return e|0}function EV(A,e){A=A|0;e=e|0;var i=0,r=0;r=qF(8)|0;a[r>>2]=A;a[r+4>>2]=e;i=0;while(1){if((i|0)>=(e|0))break;a[(a[A+(i<<2)>>2]|0)+8>>2]=i;i=i+1|0}i=(e|0)/2|0;while(1){if((i|0)<=-1)break;QV(r,i);i=i+-1|0}return r|0}function CV(A){A=A|0;return a[A+4>>2]|0}function IV(A){A=A|0;var e=0,i=0,r=0,f=0;f=a[A>>2]|0;e=a[f>>2]|0;a[e+8>>2]=-1;i=A+4|0;r=(a[i>>2]|0)+-1|0;a[f>>2]=a[f+(r<<2)>>2];f=a[A>>2]|0;a[(a[f>>2]|0)+8>>2]=0;a[f+(r<<2)>>2]=e;a[i>>2]=r;QV(A,0);return e|0}function ZV(A){A=A|0;return FV(a[A>>2]|0,0,0)|0}function GV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0;e=A+16|0;if((a[(a[e>>2]|0)+164>>2]|0)>-1)vA(102350,102331,463,102364);f=A+48|0;i=zV(a[((a[A>>2]&3|0)==3?A:f)+40>>2]|0)|0;t=A+-48|0;r=zV(a[((a[A>>2]&3|0)==2?A:t)+40>>2]|0)|0;n=a[A>>2]&3;e=(a[(a[(a[((n|0)==2?A:t)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((n|0)==3?A:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[e>>2]|0)+170>>1]|0)|0;if((a[i+8>>2]|0)==-1)YV(a[i>>2]|0,0,e);else YV(a[r>>2]|0,0,0-e|0);DV(A);return MV(i,r)|0}function QV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]|0;n=a[A+4>>2]|0;while(1){A=e<<1;f=A+2|0;A=A|1;if(!((A|0)<(n|0)?(a[(a[l+(A<<2)>>2]|0)+4>>2]|0)<(a[(a[l+(e<<2)>>2]|0)+4>>2]|0):0))A=e;if((f|0)>=(n|0))break;i=l+(f<<2)|0;r=a[i>>2]|0;if((f|0)==(e|0)?1:(a[r+4>>2]|0)>=(a[(a[l+(A<<2)>>2]|0)+4>>2]|0))break;t=l+(e<<2)|0;A=a[t>>2]|0;a[t>>2]=r;a[i>>2]=A;a[(a[t>>2]|0)+8>>2]=e;a[A+8>>2]=f;e=f}return}function mV(){dV(a[(a[(a[47254]|0)+16>>2]|0)+192>>2]|0,0,1)|0;LV(a[(a[(a[47254]|0)+16>>2]|0)+192>>2]|0,0);return}function LV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;i=0;while(1){A=a[f>>2]|0;r=a[(a[A+272>>2]|0)+(i<<2)>>2]|0;if(!r){r=0;break}if((r|0)!=(e|0))LV(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r);i=i+1|0}while(1){i=a[(a[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(e|0)){LV(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,i);A=a[f>>2]|0}r=r+1|0}if(e|0)WV(e);return}function WV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;e=a[A>>2]&3;i=a[((e|0)==3?A:A+48|0)+40>>2]|0;r=a[i+16>>2]|0;if((a[r+280>>2]|0)==(A|0))t=1;else{r=a[((e|0)==2?A:A+-48|0)+40>>2]|0;t=-1;i=r;r=a[r+16>>2]|0}n=a[r+180>>2]|0;e=0;f=0;while(1){l=a[n+(f<<2)>>2]|0;if(!l)break;e=(yV(l,i,t)|0)+e|0;f=f+1|0}n=a[r+172>>2]|0;r=0;while(1){f=a[n+(r<<2)>>2]|0;if(!f)break;e=(yV(f,i,t)|0)+e|0;r=r+1|0}a[(a[A+16>>2]|0)+160>>2]=e;return}function yV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=(l|0)==3?A:A+48|0;r=a[t+40>>2]|0;if((r|0)==(e|0))r=a[((l|0)==2?A:A+-48|0)+40>>2]|0;n=a[e+16>>2]|0;f=a[(a[r+16>>2]|0)+288>>2]|0;if((a[n+284>>2]|0)<=(f|0)?(f|0)<=(a[n+288>>2]|0):0){f=a[A+16>>2]|0;if((a[f+164>>2]|0)>-1)r=a[f+160>>2]|0;else r=0;n=1;r=r-(a[f+156>>2]|0)|0}else{n=0;r=a[(a[A+16>>2]|0)+156>>2]|0}t=(a[((i|0)>0?(l|0)==2?A:A+-48|0:t)+40>>2]|0)==(e|0)?1:-1;return(((n?t:0-t|0)|0)<0?0-r|0:r)|0}function zV(A){A=A|0;var e=0,i=0;A=a[(a[A+16>>2]|0)+280>>2]|0;while(1){e=A+12|0;i=a[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=a[i+12>>2]|0;if(!A){A=i;continue}a[e>>2]=A}return A|0}function YV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=A+16|0;r=a[l>>2]|0;n=r+232|0;a[n>>2]=(a[n>>2]|0)+i;n=0;while(1){f=a[(a[r+264>>2]|0)+(n<<2)>>2]|0;if(!f){n=0;break}f=a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(e|0)){YV(f,A,i);r=a[l>>2]|0}n=n+1|0}while(1){f=a[(a[r+272>>2]|0)+(n<<2)>>2]|0;if(!f)break;f=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(e|0)){YV(f,A,i);r=a[l>>2]|0}n=n+1|0}return}function DV(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;e=(a[A+16>>2]|0)+164|0;if((a[e>>2]|0)>-1){ao(1,102453,l)|0;fe(188848,1)}n=a[47255]|0;a[e>>2]=n;e=a[47256]|0;a[47255]=n+1;a[e+(n<<2)>>2]=A;e=a[A>>2]|0;n=A+48|0;i=a[((e&3|0)==3?A:n)+40>>2]|0;if(!(r[(a[i+16>>2]|0)+157>>0]|0)){f=a[47262]|0;e=a[47263]|0;a[47263]=e+1;a[f+(e<<2)>>2]=i;e=a[A>>2]|0}f=A+-48|0;i=a[((e&3|0)==2?A:f)+40>>2]|0;if(!(r[(a[i+16>>2]|0)+157>>0]|0)){t=a[47262]|0;e=a[47263]|0;a[47263]=e+1;a[t+(e<<2)>>2]=i;e=a[A>>2]|0}t=(a[((e&3|0)==3?A:n)+40>>2]|0)+16|0;e=a[t>>2]|0;r[e+157>>0]=1;i=a[e+272>>2]|0;e=e+276|0;n=a[e>>2]|0;a[e>>2]=n+1;a[i+(n<<2)>>2]=A;n=a[t>>2]|0;a[(a[n+272>>2]|0)+(a[n+276>>2]<<2)>>2]=0;t=a[t>>2]|0;if(!(a[(a[t+180>>2]|0)+((a[t+276>>2]|0)+-1<<2)>>2]|0)){ao(1,102487,l+8|0)|0;fe(188848,1)}t=(a[((a[A>>2]&3|0)==2?A:f)+40>>2]|0)+16|0;i=a[t>>2]|0;r[i+157>>0]=1;f=a[i+264>>2]|0;i=i+268|0;n=a[i>>2]|0;a[i>>2]=n+1;a[f+(n<<2)>>2]=A;A=a[t>>2]|0;a[(a[A+264>>2]|0)+(a[A+268>>2]<<2)>>2]=0;t=a[t>>2]|0;if(!(a[(a[t+172>>2]|0)+((a[t+268>>2]|0)+-1<<2)>>2]|0)){ao(1,102522,l+16|0)|0;fe(188848,1)}else{k=l;return}}function MV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;while(1){n=A+12|0;i=a[n>>2]|0;if((i|0)==0|(i|0)==(A|0))break;else A=i}while(1){f=e+12|0;i=a[f>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else e=i}if((A|0)!=(e|0)){r=a[A+8>>2]|0;i=a[e+8>>2]|0;do{if((r|0)>-1)if((i|0)==-1)l=A;else c=10;else if((i|0)>-1)if((r|0)==-1){l=e;break}else{c=10;break}else vA(102376,102331,327,102423)}while(0);if((c|0)==10)l=(a[e+4>>2]|0)<(a[A+4>>2]|0)?A:e;a[f>>2]=l;a[n>>2]=l;a[l+4>>2]=(a[e+4>>2]|0)+(a[A+4>>2]|0);if((a[l+8>>2]|0)>-1)t=l;else vA(102434,102331,335,102423)}else t=A;return t|0}function FV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0;s=zV(A)|0;if(i){b=a[i>>2]&3;if(((a[(a[(a[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(l[(a[i+16>>2]|0)+170>>1]|0|0))r=3}else{i=0;r=3}A:do{if((r|0)==3){b=A+16|0;c=0;while(1){r=a[b>>2]|0;t=a[(a[r+180>>2]|0)+(c<<2)>>2]|0;if(!t){c=0;break}r=t+16|0;f=t+-48|0;n=a[((a[t>>2]&3|0)==2?t:f)+40>>2]|0;do{if((a[(a[r>>2]|0)+164>>2]|0)>-1){if((n|0)!=(e|0))i=FV(n,A,i)|0}else if((zV(n)|0)!=(s|0)){if(i|0?(w=a[t>>2]&3,n=a[i>>2]&3,((a[(a[(a[((w|0)==2?t:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((w|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[r>>2]|0)+170>>1]|0)|0)>=((a[(a[(a[((n|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((n|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=t}}while(0);c=c+1|0}while(1){r=a[(a[r+172>>2]|0)+(c<<2)>>2]|0;if(!r)break A;f=r+16|0;n=r+48|0;t=a[((a[r>>2]&3|0)==3?r:n)+40>>2]|0;do{if((a[(a[f>>2]|0)+164>>2]|0)>-1){if((t|0)!=(e|0))i=FV(t,A,i)|0}else if((zV(t)|0)!=(s|0)){if(i|0?(t=a[r>>2]&3,w=a[i>>2]&3,((a[(a[(a[((t|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((t|0)==3?r:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[f>>2]|0)+170>>1]|0)|0)>=((a[(a[(a[((w|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((w|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=r}}while(0);c=c+1|0;r=a[b>>2]|0}}}while(0);return i|0}function VV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;s=A+16|0;i=a[s>>2]|0;a[i+280>>2]=e;A=1;n=0;while(1){f=a[(a[i+172>>2]|0)+(n<<2)>>2]|0;if(!f){n=0;break}r=a[f+16>>2]|0;if(((a[r+164>>2]|0)<=-1?(t=a[f>>2]&3,c=f+48|0,b=a[(a[((t|0)==3?f:c)+40>>2]|0)+16>>2]|0,(a[b+280>>2]|0)==0):0)?((a[(a[(a[((t|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[b+232>>2]|0)|0)==(l[r+170>>1]|0|0):0){DV(f);A=(VV(a[((a[f>>2]&3|0)==3?f:c)+40>>2]|0,e)|0)+A|0;i=a[s>>2]|0}n=n+1|0}while(1){r=a[(a[i+180>>2]|0)+(n<<2)>>2]|0;if(!r)break;f=a[r+16>>2]|0;if(((a[f+164>>2]|0)<=-1?(w=a[r>>2]&3,u=r+-48|0,k=a[(a[((w|0)==2?r:u)+40>>2]|0)+16>>2]|0,(a[k+280>>2]|0)==0):0)?((a[k+232>>2]|0)-(a[(a[(a[((w|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(l[f+170>>1]|0|0):0){DV(r);A=(VV(a[((a[r>>2]&3|0)==2?r:u)+40>>2]|0,e)|0)+A|0;i=a[s>>2]|0}n=n+1|0}return A|0}function JV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,102586)|0;if(!r)r=30;else r=q3(r)|0;return iV(A,e,i,r)|0}function NV(A){A=+A;return+(0==0?A:+b[23301]-A)}function XV(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0;d=k;k=k+16|0;h=d;a[47264]=a[(a[(a[e+64>>2]|0)+8>>2]|0)+4>>2];RV(e);l=a[e+16>>2]|0;v=+b[l+32>>3];B=+b[l+40>>3];HV(i,102597,+b[A+352>>3]);HV(i,102604,v*.013888888888888888);HV(i,102604,B*.013888888888888888);pV(i);l=cd(e)|0;while(1){if(!l)break;n=l+16|0;if(!(r[(a[n>>2]|0)+118>>0]|0)){UV(i,102606,$B(Vh(l)|0)|0);o=(a[n>>2]|0)+16|0;a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];xV(i,h);if(!(r[(a[(a[n>>2]|0)+104>>2]|0)+82>>0]|0)){A=Id(l)|0;A=TV(A,a[a[(a[n>>2]|0)+104>>2]>>2]|0)|0}else A=$B(Uo(l,a[47154]|0)|0)|0;HV(i,102604,+b[(a[n>>2]|0)+32>>3]);HV(i,102604,+b[(a[n>>2]|0)+40>>3]);UV(i,102604,A);UV(i,102604,BR(l,a[47157]|0,111067)|0);UV(i,102604,a[a[(a[n>>2]|0)+8>>2]>>2]|0);UV(i,102604,BR(l,a[47148]|0,137314)|0);A=BR(l,a[47149]|0,195059)|0;if(!(r[A>>0]|0))A=BR(l,a[47148]|0,134800)|0;UV(i,102604,A);pV(i)}l=bd(e,l)|0}u=f<<24>>24==0;w=cd(e)|0;while(1){if(!w)break;s=Oo(e,w)|0;while(1){if(!s)break;if(u){f=195059;t=195059}else{t=po(s,111455)|0;f=po(s,111464)|0;f=f|0?f:195059;t=t|0?t:195059}o=s+16|0;A=a[o>>2]|0;c=a[A+8>>2]|0;A:do{if(c){l=a[c+4>>2]|0;A=0;n=0;while(1){if((A|0)>=(l|0))break;g=(a[(a[c>>2]|0)+(A*48|0)+4>>2]|0)+n|0;A=A+1|0;n=g}UV(i,0,111450);jV(i,a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0,t);jV(i,a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0,f);SV(i,n);f=0;while(1){A=a[o>>2]|0;n=a[A+8>>2]|0;if((f|0)>=(a[n+4>>2]|0))break A;l=a[n>>2]|0;n=a[l+(f*48|0)>>2]|0;l=a[l+(f*48|0)+4>>2]|0;A=0;while(1){if((A|0)>=(l|0))break;g=n+(A<<4)|0;a[h>>2]=a[g>>2];a[h+4>>2]=a[g+4>>2];a[h+8>>2]=a[g+8>>2];a[h+12>>2]=a[g+12>>2];xV(i,h);A=A+1|0}f=f+1|0}}}while(0);if(a[A+96>>2]|0){g=Id(a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;UV(i,102604,TV(g,a[a[(a[o>>2]|0)+96>>2]>>2]|0)|0);g=(a[(a[o>>2]|0)+96>>2]|0)+56|0;a[h>>2]=a[g>>2];a[h+4>>2]=a[g+4>>2];a[h+8>>2]=a[g+8>>2];a[h+12>>2]=a[g+12>>2];xV(i,h)}UV(i,102604,BR(s,a[47185]|0,111067)|0);UV(i,102604,BR(s,a[47176]|0,137314)|0);pV(i);s=_o(e,s)|0}w=bd(e,w)|0}PV(102612,i);k=d;return}function RV(A){A=A|0;var e=0.0;if(0){A=a[A+16>>2]|0;e=+b[A+24>>3]+ +b[A+40>>3];b[23301]=e;b[23302]=e*.013888888888888888}return}function HV(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,a=0;a=k;k=k+1040|0;f=a;r=a+8|0;if(e|0)PV(e,A);b[f>>3]=i;P4(r,102618,f)|0;PV(r,A);k=a;return}function pV(A){A=A|0;r[194955]=10;m5[a[47264]&127](A,194955)|0;return}function UV(A,e,i){A=A|0;e=e|0;i=i|0;if(e|0)PV(e,A);PV(i,A);return}function xV(A,e){A=A|0;e=e|0;var i=0.0;HV(A,102604,+b[e>>3]*.013888888888888888);if(!0)i=+b[e+8>>3];else i=+b[23301]-+b[e+8>>3];HV(A,102604,i*.013888888888888888);return}function TV(A,e){A=A|0;e=e|0;var i=0;i=aB(A,e)|0;e=$B(i)|0;lB(A,i)|0;return e|0}function jV(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!(r[(a[e+16>>2]|0)+118>>0]|0))e=$B(Vh(e)|0)|0;else{f=Id(e)|0;e=TV(f,(G1(Vh(e)|0,58)|0)+1|0)|0}UV(A,102604,e);if(i|0?r[i>>0]|0:0)UV(A,107984,$B(i)|0);return}function SV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+1040|0;f=i;r=i+8|0;PV(102604,A);a[f>>2]=e;P4(r,137395,f)|0;PV(r,A);k=i;return}function PV(A,e){A=A|0;e=e|0;m5[a[47264]&127](e,A)|0;return}function OV(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,s=0.0,w=0,u=0.0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0;K=k;k=k+2288|0;P=K+208|0;S=K+192|0;j=K+176|0;T=K+160|0;x=K+144|0;U=K+128|0;H=K+112|0;R=K+96|0;X=K+80|0;N=K+64|0;J=K+56|0;V=K+48|0;O=K+32|0;p=K+24|0;F=K;y=K+1264|0;z=K+224|0;Y=A+16|0;L=(l[(a[Y>>2]|0)+178>>1]|0)>2;nF(1);RV(A);co(z,1024,K+240|0);oH(A,1,102623,195059)|0;oH(A,1,102627,195059)|0;a[47146]=oH(A,1,141116,195059)|0;a[47145]=oH(A,1,141048,195059)|0;oH(A,2,102623,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0;if(n&16){oH(A,1,102633,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&1){oH(A,2,102637,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&32){oH(A,2,102633,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&2){oH(A,2,102640,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&4){oH(A,2,102648,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(!(n&8)){E=0;C=0;I=0}else{I=oH(A,0,102637,195059)|0;C=oH(A,0,102656,195059)|0;E=oH(A,0,102663,195059)|0}G=oH(A,0,102671,195059)|0;Q=z+4|0;m=z+8|0;g=0;n=0;Z=cd(A)|0;while(1){if(!Z)break;v=Z+16|0;c=a[v>>2]|0;u=+b[c+16>>3];t=0==0;if(L){if(t)s=+b[c+24>>3];else s=+b[23301]-+b[c+24>>3];h=+b[(a[c+132>>2]|0)+16>>3]*72.0;b[F>>3]=u;b[F+8>>3]=s;b[F+16>>3]=h;P4(y,102674,F)|0;wo(z,y)|0;t=3;while(1){if((t|0)>=(l[(a[Y>>2]|0)+178>>1]|0))break;b[p>>3]=+b[(a[(a[v>>2]|0)+132>>2]|0)+(t<<3)>>3]*72.0;P4(y,102689,p)|0;wo(z,y)|0;t=t+1|0}t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;B=a[z>>2]|0;a[Q>>2]=B;xo(Z,102623,B)|0;B=Z}else{if(t)s=+b[c+24>>3];else s=+b[23301]-+b[c+24>>3];b[O>>3]=u;b[O+8>>3]=s;P4(y,102695,O)|0;xo(Z,102623,y)|0;B=Z}b[V>>3]=+b[(a[v>>2]|0)+80>>3]*.013888888888888888;P4(y,102618,V)|0;Vo(B,a[47145]|0,y)|0;t=a[v>>2]|0;b[J>>3]=(+b[t+96>>3]+ +b[t+88>>3])*.013888888888888888;P4(y,102618,J)|0;Vo(B,a[47146]|0,y)|0;t=a[v>>2]|0;c=a[t+108>>2]|0;if((c|0)!=0?(r[c+81>>0]|0)!=0:0){h=+b[c+64>>3];h=0==0?h:+b[23301]-h;b[N>>3]=+b[c+56>>3];b[N+8>>3]=h;P4(y,102695,N)|0;xo(B,102633,y)|0;t=a[v>>2]|0}if(A1(a[a[t+8>>2]>>2]|0,106220)|0){if(a[47170]|0?(ZN(Z)|0)<<24>>24:0){c=a[(a[v>>2]|0)+12>>2]|0;d=c+8|0;t=a[d>>2]|0;if((t|0)<3){t=po(B,102705)|0;if(!t)t=8;else t=q3(t)|0;t=(t|0)<3?8:t}o=c+44|0;h=1.0/+(t|0);w=0;while(1){if((w|0)>=(t|0))break;if((w|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=32}if((a[d>>2]|0)>2){c=a[o>>2]|0;if(!0)s=+b[c+(w<<4)+8>>3]*.013888888888888888;else s=+b[23302]-+b[c+(w<<4)+8>>3]*.013888888888888888;b[X>>3]=+b[c+(w<<4)>>3]*.013888888888888888;b[X+8>>3]=s;P4(y,102718,X)|0}else{c=a[v>>2]|0;s=h*+(w|0)*6.283185307179586;u=+b[c+32>>3]*.5*+D(+s);if(!0)s=+b[c+40>>3]*.5*+M(+s);else s=+b[23302]-+b[c+40>>3]*.5*+M(+s);b[R>>3]=u;b[R+8>>3]=s;P4(y,102718,R)|0}wo(z,y)|0;w=w+1|0}c=a[47170]|0;t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;v=a[z>>2]|0;a[Q>>2]=v;Vo(B,c,v)|0}}else{KV(Z,a[t+12>>2]|0,z);ko(z)|0;t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;v=a[z>>2]|0;a[Q>>2]=v;xo(B,102627,v)|0}A:do{if((a[47138]|0)>0){v=Oo(A,Z)|0;t=g;while(1){if(!v)break A;B=v+16|0;c=a[B>>2]|0;do{if((r[c+112>>0]|0)!=6?(W=a[c+8>>2]|0,(W|0)!=0):0){d=0;c=W;while(1){if((d|0)>=(a[c+4>>2]|0))break;if((d|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=59;c=a[(a[B>>2]|0)+8>>2]|0}c=a[c>>2]|0;if(a[c+(d*48|0)+8>>2]|0){if(!0)s=+b[c+(d*48|0)+24>>3];else s=+b[23301]-+b[c+(d*48|0)+24>>3];b[H>>3]=+b[c+(d*48|0)+16>>3];b[H+8>>3]=s;P4(y,102728,H)|0;wo(z,y)|0;n=1;c=a[a[(a[B>>2]|0)+8>>2]>>2]|0}if(a[c+(d*48|0)+12>>2]|0){if(!0)s=+b[c+(d*48|0)+40>>3];else s=+b[23301]-+b[c+(d*48|0)+40>>3];b[U>>3]=+b[c+(d*48|0)+32>>3];b[U+8>>3]=s;P4(y,102741,U)|0;wo(z,y)|0;t=1}o=0;while(1){c=a[(a[B>>2]|0)+8>>2]|0;w=a[c>>2]|0;if((o|0)>=(a[w+(d*48|0)+4>>2]|0))break;if((o|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=32;c=a[a[(a[B>>2]|0)+8>>2]>>2]|0}else c=w;g=a[c+(d*48|0)>>2]|0;h=+b[g+(o<<4)+8>>3];h=0==0?h:+b[23301]-h;b[x>>3]=+b[g+(o<<4)>>3];b[x+8>>3]=h;P4(y,102695,x)|0;wo(z,y)|0;o=o+1|0}d=d+1|0}c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}r[c>>0]=0;c=a[z>>2]|0;a[Q>>2]=c;xo(v,102623,c)|0;c=a[B>>2]|0;w=a[c+96>>2]|0;if(w){h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[T>>3]=+b[w+56>>3];b[T+8>>3]=h;P4(y,102695,T)|0;xo(v,102637,y)|0;c=a[B>>2]|0}w=a[c+108>>2]|0;do{if(w){if(!(r[w+81>>0]|0))break;h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[j>>3]=+b[w+56>>3];b[j+8>>3]=h;P4(y,102695,j)|0;xo(v,102633,y)|0;c=a[B>>2]|0}}while(0);w=a[c+100>>2]|0;if(w){h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[S>>3]=+b[w+56>>3];b[S+8>>3]=h;P4(y,102695,S)|0;xo(v,102640,y)|0;c=a[B>>2]|0}c=a[c+104>>2]|0;if(!c)break;h=+b[c+64>>3];h=0==0?h:+b[23301]-h;b[P>>3]=+b[c+56>>3];b[P+8>>3]=h;P4(y,102695,P)|0;xo(v,102648,y)|0}}while(0);v=_o(A,v)|0}}else t=g}while(0);g=t;Z=bd(A,Z)|0}_V(A,G,I,C,E);uo(z);if(f[(a[Y>>2]|0)+136>>1]&1)cH(A);a[e>>2]=n;a[i>>2]=g;nF(0);k=K;return}function KV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0;w=k;k=k+1056|0;c=w;t=w+32|0;s=e+48|0;if(!(a[s>>2]|0)){r=a[A+16>>2]|0;l=+b[r+16>>3];if(!0){n=+b[r+24>>3];f=n+ +b[e+24>>3];n=n+ +b[e+40>>3]}else{n=+b[r+24>>3];f=+b[23301]-+b[e+24>>3]-n;n=+b[23301]-+b[e+40>>3]-n}u=l+ +b[e+32>>3];b[c>>3]=l+ +b[e+16>>3];b[c+8>>3]=f;b[c+16>>3]=u;b[c+24>>3]=n;P4(t,102779,c)|0;wo(i,t)|0}e=e+56|0;r=0;while(1){if((r|0)>=(a[s>>2]|0))break;KV(A,a[(a[e>>2]|0)+(r<<2)>>2]|0,i);r=r+1|0}k=w;return}function _V(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0;B=k;k=k+1088|0;u=B+56|0;h=B+48|0;o=B+32|0;t=B;w=B+64|0;d=A+16|0;l=a[d>>2]|0;if(!0){c=+b[l+24>>3];s=+b[l+40>>3]}else{s=+b[23301];c=s-+b[l+24>>3];s=s-+b[l+40>>3]}v=+b[l+32>>3];b[t>>3]=+b[l+16>>3];b[t+8>>3]=c;b[t+16>>3]=v;b[t+24>>3]=s;P4(w,102754,t)|0;Vo(A,e,w)|0;l=a[(a[d>>2]|0)+12>>2]|0;if((l|0)!=0?(r[a[l>>2]>>0]|0)!=0:0){v=+b[l+64>>3];v=0==0?v:+b[23301]-v;b[o>>3]=+b[l+56>>3];b[o+8>>3]=v;P4(w,102695,o)|0;Vo(A,i,w)|0;l=a[(a[d>>2]|0)+12>>2]|0;v=+b[l+32>>3];b[h>>3]=+b[l+24>>3]*.013888888888888888;P4(w,102774,h)|0;Vo(A,f,w)|0;b[u>>3]=v*.013888888888888888;P4(w,102774,u)|0;Vo(A,n,w)|0;l=1}else l=1;while(1){t=a[d>>2]|0;if((l|0)>(a[t+180>>2]|0))break;_V(a[(a[t+184>>2]|0)+(l<<2)>>2]|0,e,i,f,n);l=l+1|0}k=B;return}function qV(A){A=A|0;var e=0;e=k;k=k+16|0;OV(A,e,e+4|0);k=e;return}function $V(){return jk(20740,a[4581]|0)|0}function AJ(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function eJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if((A|0)<=(r|0))if((A|0)<(r|0))A=-1;else{e=a[e+4>>2]|0;i=a[i+4>>2]|0;return((e|0)>(i|0)?1:((e|0)<(i|0))<<31>>31)|0}else A=1;return A|0}function iJ(A){A=A|0;pk(A)|0;return}function rJ(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];e=fJ(r)|0;if((W5[a[A>>2]&63](A,e,1)|0)!=(e|0))L2(e);k=i;return}function fJ(A){A=A|0;var e=0,i=0,r=0;e=qF(16)|0;r=A;i=a[r+4>>2]|0;A=e+8|0;a[A>>2]=a[r>>2];a[A+4>>2]=i;return e|0}function aJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r+8|0;n=r;a[n>>2]=e;a[n+4>>2]=i;a[f>>2]=a[n>>2];a[f+4>>2]=a[n+4>>2];e=fJ(f)|0;if((W5[a[A>>2]&63](A,e,1)|0)!=(e|0))L2(e);k=r;return}function nJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+16|0;r=i;n=e;f=a[n+4>>2]|0;e=r+8|0;a[e>>2]=a[n>>2];a[e+4>>2]=f;e=(W5[a[A>>2]&63](A,r,4)|0)!=0&1;k=i;return e|0}function lJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f+8>>2]=e;a[f+12>>2]=i;i=(W5[a[A>>2]&63](A,f,4)|0)!=0&1;k=r;return i|0}function tJ(A){A=A|0;return Pk(A)|0}function cJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=qF((Pk(A)|0)<<3)|0;e=i;A=xk(A)|0;while(1){if(!A)break;n=A+8|0;f=a[n+4>>2]|0;r=e;a[r>>2]=a[n>>2];a[r+4>>2]=f;e=e+8|0;A=a[A>>2]|0}return i|0}function bJ(){var A=0,e=0,i=0,r=0;A=$F(40)|0;e=A;i=20776;r=e+36|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));a[A+36>>2]=0;return jk(A,a[4581]|0)|0}function sJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;i=i+36|0;A=a[i>>2]|0;if(!A)A=$F(20)|0;else a[i>>2]=a[A>>2];f=e+8|0;r=a[f+4>>2]|0;i=A+8|0;a[i>>2]=a[f>>2];a[i+4>>2]=r;a[A+16>>2]=a[e+16>>2];return A|0}function wJ(A,e,i){A=A|0;e=e|0;i=i|0;i=i+36|0;a[e>>2]=a[i>>2];a[i>>2]=e;return}function uJ(A){A=A|0;W5[a[A>>2]&63](A,0,64)|0;return}function kJ(A){A=A|0;var e=0,i=0;e=a[A+4>>2]|0;pk(A)|0;A=a[e+36>>2]|0;while(1){if(!A)break;i=a[A>>2]|0;L2(A);A=i}L2(e);return}function oJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=k;k=k+32|0;n=f;a[n+8>>2]=e;a[n+12>>2]=i;a[n+16>>2]=r;r=a[(W5[a[A>>2]&63](A,n,1)|0)+16>>2]|0;k=f;return r|0}function hJ(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+160|0;h=v+144|0;i=v+48|0;t=v+128|0;c=v+112|0;s=v+96|0;w=v+80|0;u=v+32|0;o=v+16|0;d=v;B=A+16|0;A=a[B>>2]|0;r=+b[A+16>>3];f=+b[A+24>>3];n=+b[A+32>>3];l=+b[A+40>>3];if((e+-1|0)>>>0<2){dJ(t,r,l);a[h>>2]=a[t>>2];a[h+4>>2]=a[t+4>>2];a[h+8>>2]=a[t+8>>2];a[h+12>>2]=a[t+12>>2];BJ(i,h);o=i+16|0;dJ(c,n,f);a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];BJ(s,h);a[o>>2]=a[s>>2];a[o+4>>2]=a[s+4>>2];a[o+8>>2]=a[s+8>>2];a[o+12>>2]=a[s+12>>2]}else{dJ(w,r,f);a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];BJ(i,h);w=i+16|0;dJ(u,n,l);a[h>>2]=a[u>>2];a[h+4>>2]=a[u+4>>2];a[h+8>>2]=a[u+8>>2];a[h+12>>2]=a[u+12>>2];BJ(o,h);a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2]}A=(a[B>>2]|0)+16|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];a[A+16>>2]=a[i+16>>2];a[A+20>>2]=a[i+20>>2];a[A+24>>2]=a[i+24>>2];a[A+28>>2]=a[i+28>>2];A=a[(a[B>>2]|0)+12>>2]|0;if(!A)A=1;else{A=A+56|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];BJ(d,h);a[A>>2]=a[d>>2];a[A+4>>2]=a[d+4>>2];a[A+8>>2]=a[d+8>>2];a[A+12>>2]=a[d+12>>2];A=1}while(1){i=a[B>>2]|0;if((A|0)>(a[i+180>>2]|0))break;hJ(a[(a[i+184>>2]|0)+(A<<2)>>2]|0,e);A=A+1|0}k=v;return}function dJ(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function BJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+32|0;n=i+16|0;r=i;f=(a[47265]|0)*90|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];WF(r,n,f);a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];b[e>>3]=+b[e>>3]-+b[23303];r=e+8|0;b[r>>3]=+b[r>>3]-+b[23304];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];k=i;return}function vJ(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+1168|0;B=C+144|0;E=C+96|0;g=C+64|0;v=C+48|0;u=C+32|0;o=C+16|0;h=C;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;d=A+16|0;s=a[(a[d>>2]|0)+116>>2]|0;a[47265]=s&3;s=s&1;r[194957]=s;if(!(s<<24>>24))EJ(A);else gJ(A);CJ(A);s=a[d>>2]|0;i=a[s+12>>2]|0;do{if(i|0?(r[i+81>>0]|0)==0:0){n=i+24|0;a[v>>2]=a[n>>2];a[v+4>>2]=a[n+4>>2];a[v+8>>2]=a[n+8>>2];a[v+12>>2]=a[n+12>>2];w=+b[v>>3]+16.0;b[v>>3]=w;n=v+8|0;f=+b[n>>3]+8.0;b[n>>3]=f;n=(r[s+275>>0]&1)!=0;if(r[194957]|0){if(n){l=s+32|0;b[l>>3]=+b[l>>3]+f}else{l=s+16|0;b[l>>3]=+b[l>>3]-f}n=s+40|0;f=+b[n>>3];l=s+24|0;t=+b[l>>3];c=f-t;if(!(w>c))break;w=(w-c)*.5;b[l>>3]=t-w;b[n>>3]=f+w;break}l=(a[47265]|0)==0;do{if(n)if(l){l=s+40|0;b[l>>3]=+b[l>>3]+f;break}else{l=s+24|0;b[l>>3]=+b[l>>3]-f;break}else if(l){l=s+24|0;b[l>>3]=+b[l>>3]-f;break}else{l=s+40|0;b[l>>3]=+b[l>>3]+f;break}}while(0);n=s+32|0;f=+b[n>>3];l=s+16|0;t=+b[l>>3];c=f-t;if(w>c){w=(w-c)*.5;b[l>>3]=t-w;b[n>>3]=f+w}}}while(0);if(e){switch(a[47265]|0){case 0:{h=s+16|0;a[46606]=a[h>>2];a[46607]=a[h+4>>2];a[46608]=a[h+8>>2];a[46609]=a[h+12>>2];break}case 1:{dJ(u,-+b[s+40>>3],+b[s+16>>3]);a[46606]=a[u>>2];a[46607]=a[u+4>>2];a[46608]=a[u+8>>2];a[46609]=a[u+12>>2];break}case 2:{dJ(o,+b[s+16>>3],-+b[s+40>>3]);a[46606]=a[o>>2];a[46607]=a[o+4>>2];a[46608]=a[o+8>>2];a[46609]=a[o+12>>2];break}case 3:{dJ(h,+b[s+24>>3],+b[s+16>>3]);a[46606]=a[h>>2];a[46607]=a[h+4>>2];a[46608]=a[h+8>>2];a[46609]=a[h+12>>2];break}default:{}}IJ(A);i=a[(a[d>>2]|0)+12>>2]|0}if(i|0?(r[i+81>>0]|0)==0:0){a[B>>2]=a[v>>2];a[B+4>>2]=a[v+4>>2];a[B+8>>2]=a[v+8>>2];a[B+12>>2]=a[v+12>>2];ZJ(A,B)}if(!0){k=C;return}if(!(r[194957]|0)){w=+b[23304];c=+b[23303];b[E>>3]=w;b[E+8>>3]=c;b[E+16>>3]=w;b[E+24>>3]=c;b[E+32>>3]=-c;b[E+40>>3]=-w;P4(B,103015,E)|0}else{c=+b[23303];w=+b[23304];b[g>>3]=c;b[g+8>>3]=w;b[g+16>>3]=c;b[g+24>>3]=w;P4(B,102800,g)|0}s3(B)|0;re()}function gJ(A){A=A|0;var e=0,i=0.0,f=0.0,n=0,l=0,t=0;t=A+16|0;if(((Zd(A)|0)!=(A|0)?(n=a[t>>2]|0,l=a[n+12>>2]|0,(l|0)!=0):0)?(r[l+81>>0]|0)==0:0){e=r[n+275>>0]|0;if(!(e&1)){f=+b[n+16>>3]+ +b[n+96>>3]*.5;A=n+104|0}else{f=+b[n+32>>3]-+b[n+64>>3]*.5;A=n+72|0}i=+b[A>>3];A=e<<24>>24;do{if(!(A&4))if(!(A&2)){i=(+b[n+40>>3]+ +b[n+24>>3])*.5;break}else{i=+b[n+40>>3]-i*.5;break}else i=+b[n+24>>3]+i*.5}while(0);b[l+56>>3]=f;b[l+64>>3]=i;r[(a[(a[t>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=a[t>>2]|0;if((A|0)>(a[e+180>>2]|0))break;gJ(a[(a[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function EJ(A){A=A|0;var e=0,i=0.0,f=0.0,n=0.0,l=0,t=0,c=0;c=A+16|0;if(((Zd(A)|0)!=(A|0)?(l=a[c>>2]|0,t=a[l+12>>2]|0,(t|0)!=0):0)?(r[t+81>>0]|0)==0:0){e=r[l+275>>0]|0;if(!(e&1)){n=+b[l+24>>3]+ +b[l+56>>3]*.5;A=l+48|0}else{n=+b[l+40>>3]-+b[l+88>>3]*.5;A=l+80|0}f=+b[A>>3];A=e<<24>>24;do{if(!(A&4)){i=+b[l+16>>3];if(!(A&2)){i=(+b[l+32>>3]+i)*.5;break}else{i=i+f*.5;break}}else i=+b[l+32>>3]-f*.5}while(0);b[t+56>>3]=i;b[t+64>>3]=n;r[(a[(a[c>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=a[c>>2]|0;if((A|0)>(a[e+180>>2]|0))break;EJ(a[(a[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function CJ(A){A=A|0;var e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0;x=k;k=k+544|0;J=x+504|0;U=x+416|0;p=x+376|0;V=x+352|0;F=x+312|0;M=x+288|0;D=x+248|0;N=x+200|0;m=x+152|0;R=x+96|0;o=x+488|0;L=x+456|0;W=x+424|0;y=x+384|0;z=x+360|0;Y=x+320|0;C=x+296|0;I=x+256|0;Z=x+232|0;G=x+168|0;Q=x+136|0;e=x+56|0;X=x+16|0;H=x;u=A+16|0;g=a[u>>2]|0;i=f[g+136>>1]&14;g=n[g+113>>0]|0;if(!((g&54|0)==0?(g&1|0)==0|(a[47139]|0)!=0:0)){g=i<<16>>16==0;w=cd(A)|0;l=0;c=0;t=0;while(1){if(!w)break;i=a[(a[w+16>>2]|0)+108>>2]|0;do{if(i)if(!(r[i+81>>0]|0)){t=t+1|0;break}else{l=l+1|0;break}}while(0);s=Oo(A,w)|0;i=c;while(1){if(!s)break;b=a[s+16>>2]|0;c=a[b+108>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+100>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+104>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+96>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);s=_o(A,s)|0}w=bd(A,w)|0;c=i}if(!(r[(a[u>>2]|0)+113>>0]&8))u=0;else u=QJ(A)|0;v=c+t|0;if(v|0){h=l+c+u+(vh(A)|0)|0;d=qF(h*40|0)|0;B=qF(v*40|0)|0;dJ(N,2147483647.0,2147483647.0);i=N+16|0;dJ(o,-2147483647.0,-2147483647.0);a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];i=B;t=d;w=cd(A)|0;while(1){if(!w)break;a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];mJ(L,w,t,J);a[N>>2]=a[L>>2];a[N+4>>2]=a[L+4>>2];a[N+8>>2]=a[L+8>>2];a[N+12>>2]=a[L+12>>2];a[N+16>>2]=a[L+16>>2];a[N+20>>2]=a[L+20>>2];a[N+24>>2]=a[L+24>>2];a[N+28>>2]=a[L+28>>2];l=a[(a[w+16>>2]|0)+108>>2]|0;do{if(l)if(!(r[l+81>>0]|0)){a[J>>2]=a[m>>2];a[J+4>>2]=a[m+4>>2];a[J+8>>2]=a[m+8>>2];a[J+12>>2]=a[m+12>>2];WJ(l,t,i,0,J);i=i+40|0;break}else{t=t+40|0;a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(W,l,t,J);a[N>>2]=a[W>>2];a[N+4>>2]=a[W+4>>2];a[N+8>>2]=a[W+8>>2];a[N+12>>2]=a[W+12>>2];a[N+16>>2]=a[W+16>>2];a[N+20>>2]=a[W+20>>2];a[N+24>>2]=a[W+24>>2];a[N+28>>2]=a[W+28>>2];break}}while(0);s=Oo(A,w)|0;t=t+40|0;while(1){if(!s)break;b=s+16|0;l=a[b>>2]|0;c=a[l+96>>2]|0;A:do{if(!c)E=52;else{do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){NX(z,A,s);a[J>>2]=a[z>>2];a[J+4>>2]=a[z+4>>2];a[J+8>>2]=a[z+8>>2];a[J+12>>2]=a[z+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[D>>2]=a[c>>2];ao(0,103827,D)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(y,c,t,J);a[N>>2]=a[y>>2];a[N+4>>2]=a[y+4>>2];a[N+8>>2]=a[y+8>>2];a[N+12>>2]=a[y+12>>2];a[N+16>>2]=a[y+16>>2];a[N+20>>2]=a[y+20>>2];a[N+24>>2]=a[y+24>>2];a[N+28>>2]=a[y+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0;E=52}}while(0);A:do{if((E|0)==52){E=0;c=a[l+104>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){yJ(C,s);a[J>>2]=a[C>>2];a[J+4>>2]=a[C+4>>2];a[J+8>>2]=a[C+8>>2];a[J+12>>2]=a[C+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[M>>2]=a[c>>2];ao(0,103862,M)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(Y,c,t,J);a[N>>2]=a[Y>>2];a[N+4>>2]=a[Y+4>>2];a[N+8>>2]=a[Y+8>>2];a[N+12>>2]=a[Y+12>>2];a[N+16>>2]=a[Y+16>>2];a[N+20>>2]=a[Y+20>>2];a[N+24>>2]=a[Y+24>>2];a[N+28>>2]=a[Y+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0}c=a[l+100>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){zJ(Z,s);a[J>>2]=a[Z>>2];a[J+4>>2]=a[Z+4>>2];a[J+8>>2]=a[Z+8>>2];a[J+12>>2]=a[Z+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[F>>2]=a[c>>2];ao(0,103902,F)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(I,c,t,J);a[N>>2]=a[I>>2];a[N+4>>2]=a[I+4>>2];a[N+8>>2]=a[I+8>>2];a[N+12>>2]=a[I+12>>2];a[N+16>>2]=a[I+16>>2];a[N+20>>2]=a[I+20>>2];a[N+24>>2]=a[I+24>>2];a[N+28>>2]=a[I+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0}c=a[l+108>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){NX(Q,A,s);a[J>>2]=a[Q>>2];a[J+4>>2]=a[Q+4>>2];a[J+8>>2]=a[Q+8>>2];a[J+12>>2]=a[Q+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[V>>2]=a[c>>2];ao(0,103942,V)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(G,c,t,J);a[N>>2]=a[G>>2];a[N+4>>2]=a[G+4>>2];a[N+8>>2]=a[G+8>>2];a[N+12>>2]=a[G+12>>2];a[N+16>>2]=a[G+16>>2];a[N+20>>2]=a[G+20>>2];a[N+24>>2]=a[G+24>>2];a[N+28>>2]=a[G+28>>2]}}while(0);t=t+40|0}}}while(0);s=_o(A,s)|0}w=bd(A,w)|0}if(u|0){a[e>>2]=a[N>>2];a[e+4>>2]=a[N+4>>2];a[e+8>>2]=a[N+8>>2];a[e+12>>2]=a[N+12>>2];a[e+16>>2]=a[N+16>>2];a[e+20>>2]=a[N+20>>2];a[e+24>>2]=a[N+24>>2];a[e+28>>2]=a[N+28>>2];a[e+32>>2]=t;l=J;i=l+40|0;do{a[l>>2]=a[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(i|0));YJ(X,A,J);a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];a[N+16>>2]=a[X+16>>2];a[N+20>>2]=a[X+20>>2];a[N+24>>2]=a[X+24>>2];a[N+28>>2]=a[X+28>>2]}r[R+32>>0]=vR(A,Yo(A,0,103978,0)|0,1)|0;a[R>>2]=a[N>>2];a[R+4>>2]=a[N+4>>2];a[R+8>>2]=a[N+8>>2];a[R+12>>2]=a[N+12>>2];a[R+16>>2]=a[N+16>>2];a[R+20>>2]=a[N+20>>2];a[R+24>>2]=a[N+24>>2];a[R+28>>2]=a[N+28>>2];$r(d,h,B,v,R)|0;if(0)DJ(d,h,B,v,R);e=0;i=0;l=B;while(1){if((i|0)>=(v|0))break;if(r[l+36>>0]|0){R=a[l+32>>2]|0;r[R+81>>0]=1;X=R+56|0;MJ(H,l);a[X>>2]=a[H>>2];a[X+4>>2]=a[H+4>>2];a[X+8>>2]=a[H+8>>2];a[X+12>>2]=a[H+12>>2];pR(A,R);e=e+1|0}i=i+1|0;l=l+40|0}if(!0){if((e|0)!=(v|0)){a[U>>2]=e;a[U+4>>2]=v;ao(0,104023,U)|0}}else{U=a[15712]|0;a[p>>2]=e;a[p+4>>2]=v;f3(U,103990,p)|0}L2(d);L2(B)}}k=x;return}function IJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;r=l+32|0;f=l+16|0;n=l;if(+b[23303]!=0.0|+b[23304]!=0.0|(a[47265]|0)!=0){i=cd(A)|0;while(1){if(!i)break;if(a[47265]|0)DH(i,0);e=i+16|0;t=(a[e>>2]|0)+16|0;a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];BJ(f,r);a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];e=a[(a[e>>2]|0)+108>>2]|0;if(e|0){t=e+56|0;a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];BJ(n,r);a[t>>2]=a[n>>2];a[t+4>>2]=a[n+4>>2];a[t+8>>2]=a[n+8>>2];a[t+12>>2]=a[n+12>>2]}A:do{if((a[47138]|0)==1){e=Oo(A,i)|0;while(1){if(!e)break A;GJ(e);e=_o(A,e)|0}}}while(0);i=bd(A,i)|0}hJ(A,a[(a[A+16>>2]|0)+116>>2]&3)}k=l;return}function ZJ(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0;l=A+16|0;t=a[l>>2]|0;n=r[t+275>>0]|0;A=n<<24>>24;do{if(!(A&4)){i=+b[t+16>>3];if(!(A&2)){f=(+b[t+32>>3]+i)*.5;break}else{f=+b[e>>3]*.5+i;break}}else f=+b[t+32>>3]-+b[e>>3]*.5}while(0);if(!(n&1))i=+b[e+8>>3]*.5+ +b[t+24>>3];else i=+b[t+40>>3]-+b[e+8>>3]*.5;t=a[t+12>>2]|0;b[t+56>>3]=f;b[t+64>>3]=i;r[(a[(a[l>>2]|0)+12>>2]|0)+81>>0]=1;return}function GJ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;B=k;k=k+144|0;h=B+120|0;i=B+16|0;t=B+104|0;c=B+88|0;b=B+72|0;s=B+56|0;w=B+40|0;u=B+24|0;d=B;o=A+16|0;e=a[o>>2]|0;f=a[e+8>>2]|0;if(!f){if((r[194954]|0)==0?(r[e+112>>0]|0)!=6:0){h=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;d=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[i>>2]=h;a[i+4>>2]=d;ao(1,103810,i)|0}}else{l=0;A=f;while(1){if((l|0)>=(a[A+4>>2]|0))break;n=a[A>>2]|0;A=a[n+(l*48|0)>>2]|0;i=a[n+(l*48|0)+4>>2]|0;f=a[n+(l*48|0)+8>>2]|0;n=a[n+(l*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;v=A+(e<<4)|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(t,h);a[v>>2]=a[t>>2];a[v+4>>2]=a[t+4>>2];a[v+8>>2]=a[t+8>>2];a[v+12>>2]=a[t+12>>2];e=e+1|0}if(f|0){v=(a[a[(a[o>>2]|0)+8>>2]>>2]|0)+(l*48|0)+16|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(c,h);a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2]}if(n|0){v=(a[a[(a[o>>2]|0)+8>>2]>>2]|0)+(l*48|0)+32|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(b,h);a[v>>2]=a[b>>2];a[v+4>>2]=a[b+4>>2];a[v+8>>2]=a[b+8>>2];a[v+12>>2]=a[b+12>>2]}e=a[o>>2]|0;l=l+1|0;A=a[e+8>>2]|0}A=a[e+96>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(s,h);a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2];e=a[o>>2]|0}A=a[e+108>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(w,h);a[e>>2]=a[w>>2];a[e+4>>2]=a[w+4>>2];a[e+8>>2]=a[w+8>>2];a[e+12>>2]=a[w+12>>2];e=a[o>>2]|0}A=a[e+100>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(u,h);a[e>>2]=a[u>>2];a[e+4>>2]=a[u+4>>2];a[e+8>>2]=a[u+8>>2];a[e+12>>2]=a[u+12>>2];e=a[o>>2]|0}e=a[e+104>>2]|0;if(e|0){v=e+56|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(d,h);a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2]}}k=B;return}function QJ(A){A=A|0;var e=0,i=0,f=0;f=A+16|0;if((Zd(A)|0)!=(A|0)?(e=a[(a[f>>2]|0)+12>>2]|0,(e|0)!=0):0){i=1;A=(r[e+81>>0]|0)!=0&1}else{i=1;A=0}while(1){e=a[f>>2]|0;if((i|0)>(a[e+180>>2]|0))break;e=(QJ(a[(a[e+184>>2]|0)+(i<<2)>>2]|0)|0)+A|0;i=i+1|0;A=e}return A|0}function mJ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0;n=k;k=k+32|0;l=n;w=(r[194957]|0)==0;e=e+16|0;s=a[e>>2]|0;c=+b[(w?s+32|0:s+40|0)>>3];b[i+16>>3]=c*72.0;t=+b[(w?s+40|0:s+32|0)>>3];b[i+24>>3]=t*72.0;e=(a[e>>2]|0)+16|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[i>>3]=+b[i>>3]-c*36.0;e=i+8|0;b[e>>3]=+b[e>>3]-t*36.0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];a[l+16>>2]=a[f+16>>2];a[l+20>>2]=a[f+20>>2];a[l+24>>2]=a[f+24>>2];a[l+28>>2]=a[f+28>>2];FJ(A,i,l);k=n;return}function LJ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0;n=k;k=k+32|0;l=n;w=(r[194957]|0)==0;s=e+24|0;c=+b[(w?s:e+32|0)>>3];b[i+16>>3]=c;t=+b[(w?e+32|0:s)>>3];b[i+24>>3]=t;e=e+56|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[i>>3]=+b[i>>3]-c*.5;e=i+8|0;b[e>>3]=+b[e>>3]-t*.5;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];a[l+16>>2]=a[f+16>>2];a[l+20>>2]=a[f+20>>2];a[l+24>>2]=a[f+24>>2];a[l+28>>2]=a[f+28>>2];FJ(A,i,l);k=n;return}function WJ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;if(f|0){f=e+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[e+8>>2]=a[n+8>>2];a[e+12>>2]=a[n+12>>2]}if(!(r[194957]|0)){n=A+24|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2]}else{b[i>>3]=+b[A+32>>3];b[i+8>>3]=+b[A+24>>3]}a[i+32>>2]=A;r[i+36>>0]=0;a[e+32>>2]=i;return}function yJ(A,e){A=A|0;e=e|0;e=JX(e)|0;do{if(e){e=a[e>>2]|0;if(!(a[e+8>>2]|0)){e=a[e>>2]|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{e=e+16|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}}else{a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}}while(0);return}function zJ(A,e){A=A|0;e=e|0;var i=0;e=JX(e)|0;do{if(e){i=a[e>>2]|0;e=(a[e+4>>2]|0)+-1|0;if(!(a[i+(e*48|0)+12>>2]|0)){i=(a[i+(e*48|0)>>2]|0)+((a[i+(e*48|0)+4>>2]|0)+-1<<4)|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}else{i=i+(e*48|0)+32|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}}while(0);return}function YJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+112|0;b=h+72|0;w=h+32|0;u=h;o=e+16|0;c=1;while(1){f=a[o>>2]|0;if((c|0)>(a[f+180>>2]|0))break;f=a[(a[f+184>>2]|0)+(c<<2)>>2]|0;n=b;l=i;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));YJ(w,f,b);n=i;l=w;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));c=c+1|0}if(((Zd(e)|0)!=(e|0)?(s=a[(a[o>>2]|0)+12>>2]|0,s|0):0)?r[s+81>>0]|0:0){o=i+32|0;w=a[o>>2]|0;a[b>>2]=a[i>>2];a[b+4>>2]=a[i+4>>2];a[b+8>>2]=a[i+8>>2];a[b+12>>2]=a[i+12>>2];a[b+16>>2]=a[i+16>>2];a[b+20>>2]=a[i+20>>2];a[b+24>>2]=a[i+24>>2];a[b+28>>2]=a[i+28>>2];LJ(u,s,w,b);a[i>>2]=a[u>>2];a[i+4>>2]=a[u+4>>2];a[i+8>>2]=a[u+8>>2];a[i+12>>2]=a[u+12>>2];a[i+16>>2]=a[u+16>>2];a[i+20>>2]=a[u+20>>2];a[i+24>>2]=a[u+24>>2];a[i+28>>2]=a[u+28>>2];a[o>>2]=(a[o>>2]|0)+40}n=A;l=i;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));k=h;return}function DJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+160|0;d=B+96|0;o=B+48|0;u=B;h=a[15712]|0;w=n[f+32>>0]|0;l=+b[f>>3];t=+b[f+8>>3];c=+b[f+16>>3];s=+b[f+24>>3];a[u>>2]=e;a[u+4>>2]=r;a[u+8>>2]=w;b[u+16>>3]=l;b[u+24>>3]=t;b[u+32>>3]=c;b[u+40>>3]=s;f3(h,104065,u)|0;A:do{if(0>=2){L3(104125,8,1,h)|0;u=0;while(1){if((u|0)>=(e|0))break;f=a[A+32>>2]|0;l=+b[A>>3];t=+b[A+8>>3];c=+b[A+16>>3];s=+b[A+24>>3];if(!f)w=195059;else w=a[a[f+32>>2]>>2]|0;a[o>>2]=u;b[o+8>>3]=l;b[o+16>>3]=t;b[o+24>>3]=c;b[o+32>>3]=s;a[o+40>>2]=f;a[o+44>>2]=w;f3(h,104134,o)|0;u=u+1|0;A=A+40|0}L3(104177,8,1,h)|0;f=0;while(1){if((f|0)>=(r|0))break A;e=n[i+36>>0]|0;l=+b[i+16>>3];t=+b[i+24>>3];c=+b[i>>3];s=+b[i+8>>3];o=a[a[i+32>>2]>>2]|0;a[d>>2]=f;a[d+4>>2]=i;a[d+8>>2]=e;b[d+16>>3]=l;b[d+24>>3]=t;b[d+32>>3]=c;b[d+40>>3]=s;a[d+48>>2]=o;f3(h,104186,d)|0;i=i+40|0;f=f+1|0}}}while(0);k=B;return}function MJ(A,e){A=A|0;e=e|0;var i=0.0;i=+b[e+8>>3]*.5+ +b[e+24>>3];b[A>>3]=+b[e>>3]*.5+ +b[e+16>>3];b[A+8>>3]=i;return}function FJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0.0;r=k;k=k+16|0;f=r;t=+b[e>>3];b[i>>3]=+b[(+b[i>>3]>3];n=i+8|0;l=+b[e+8>>3];b[n>>3]=+b[(+b[n>>3]>3];t=+b[e+16>>3]+t;b[f>>3]=t;l=+b[e+24>>3]+l;b[f+8>>3]=l;n=i+16|0;b[n>>3]=+b[(+b[n>>3]>t?n:f)>>3];e=i+24|0;b[e>>3]=+b[(+b[e>>3]>l?n:f)+8>>3];a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];a[A+16>>2]=a[i+16>>2];a[A+20>>2]=a[i+20>>2];a[A+24>>2]=a[i+24>>2];a[A+28>>2]=a[i+28>>2];k=r;return}function VJ(A){A=A|0;vJ(A,1);return}function JJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=k;k=k+16|0;i=r;e=WR(po(A,105526)|0)|0;if(e){e=NJ(e)|0;if(e|0){f=a[e+40>>2]|0;i=a[e+44>>2]|0;n=A+16|0;A=a[n>>2]|0;b[A+32>>3]=+(f|0)*.013888888888888888;b[A+40>>3]=+(i|0)*.013888888888888888;A=qF(12)|0;a[(a[n>>2]|0)+12>>2]=A;a[A>>2]=a[e+12>>2];a[A+4>>2]=((f|0)/-2|0)-(a[e+32>>2]|0);a[A+8>>2]=((i|0)/-2|0)-(a[e+36>>2]|0)}}else{a[i>>2]=Vh(A)|0;ao(0,104234,i)|0}k=r;return}function NJ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+1152|0;t=o+24|0;l=o+8|0;i=o;f=o+120|0;c=o+44|0;b=o+40|0;s=o+36|0;w=o+32|0;u=o+28|0;e=a[47266]|0;if(!e){e=jk(20812,a[4581]|0)|0;a[47266]=e}e=W5[a[e>>2]&63](e,A,512)|0;do{if(!e){n=F3(A,138821)|0;if(!n){a[i>>2]=A;ao(0,104283,i)|0;e=0;break}else{e=0;i=0}while(1){if(!(N4(f,1024,n)|0)){f=11;break}a[l>>2]=b;a[l+4>>2]=s;a[l+8>>2]=w;a[l+12>>2]=u;h=(J3(f,104311,l)|0)==4;i=h?1:i;if((r[f>>0]|0)!=37){h=(X4(f,104340)|0)==0;e=h?e:1}if((i|0)!=0&(e|0)!=0){f=12;break}}if((f|0)==11)if(!i){a[t>>2]=A;ao(0,104345,t)|0;e=0}else f=12;if((f|0)==12){h=$F(64)|0;b=a[b>>2]|0;a[h+32>>2]=b;s=a[s>>2]|0;a[h+40>>2]=(a[w>>2]|0)-b;a[h+36>>2]=(a[u>>2]|0)-s;a[h+8>>2]=A;u=a[47267]|0;a[47267]=u+1;a[h+12>>2]=u;D3(t6(n)|0,c)|0;u=a[c+36>>2]|0;w=$F(u+1|0)|0;a[h+52>>2]=w;O3(n,0,0)|0;a6(w,u,1,n)|0;r[w+u>>0]=0;u=a[47266]|0;W5[a[u>>2]&63](u,h,1)|0;r[h+16>>0]=e;e=h}h3(n)|0}}while(0);k=o;return e|0}function XJ(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+52>>2]|0);return}function RJ(A){A=A|0;L2(a[(a[A+16>>2]|0)+12>>2]|0);return}function HJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w+8|0;b=w;c=(e|0)!=0;A:do{if(c){l=0;f=0;e:while(1)while(1){if(l)break A;n=a[e+(f<<2)>>2]|0;if(!n){t=6;break A}f=f+1|0;if(!(r[n>>0]|0)){l=1;continue e}}}else t=6}while(0);A:do{if((t|0)==6)while(1){f=a[i>>2]|0;if(!f)break A;kg(A,f)|0;kg(A,153599)|0;i=i+4|0;t=6}}while(0);A:do{if(c){l=0;while(1){f=a[e+(l<<2)>>2]|0;if(!f)break A;do{if(r[f>>0]|0){i=WR(f)|0;if(!i){a[b>>2]=f;ao(0,104384,b)|0;break}n=F3(i,138821)|0;if(!n){a[s>>2]=i;ao(0,104412,s)|0;break}while(1){f=LR(n)|0;if(!f)break;kg(A,f)|0}kg(A,153599)|0;h3(n)|0}}while(0);l=l+1|0}}}while(0);k=w;return}function pJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;e=a[e+52>>2]|0;A:while(1){i=r[e>>0]|0;e:do{switch(i<<24>>24){case 0:break A;case 37:{if((r[e+1>>0]|0)==37){i=e+2|0;if((((T1(i,104440,3)|0)!=0?(T1(i,104444,5)|0)!=0:0)?(T1(i,104450,3)|0)!=0:0)?(T1(i,104454,7)|0)!=0:0){i=37;break e}else n=37;i:while(1){switch(n<<24>>24){case 13:{f=10;break i}case 10:case 0:{f=12;break i}default:{}}n=e+1|0;e=n;n=r[n>>0]|0}if((f|0)==10){i=e+1|0;if((r[i>>0]|0)==10){e=e+2|0;continue A}}else if((f|0)==12)i=e+1|0;e=n<<24>>24==0?e:i;continue A}else i=37;break}default:{}}}while(0);e:while(1){switch(i<<24>>24){case 10:case 13:case 0:break e;default:{}}og(A,i<<24>>24)|0;n=e+1|0;e=n;i=r[n>>0]|0}f=e+1|0;if(i<<24>>24==13?(r[f>>0]|0)==10:0)e=e+2|0;else e=i<<24>>24==0?e:f;og(A,10)|0}return}function UJ(A){A=A|0;var e=0,i=0,f=0,n=0;f=k;k=k+16|0;i=f;e=a[47266]|0;A:do{if(e|0){e=W5[a[e>>2]&63](e,0,128)|0;while(1){if(!e)break A;if(!(r[e+16>>0]|0)){a[i>>2]=a[e+12>>2];gg(A,104462,i);kg(A,104480)|0;pJ(A,e);kg(A,104498)|0;kg(A,104513)|0}n=a[47266]|0;e=W5[a[n>>2]&63](n,e,8)|0}}}while(0);k=f;return}function xJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=k;k=k+16|0;i=n;A:do{switch(e|0){case 0:{f=A;break}case 1:{f=CH(A)|0;break}default:{switch(TJ(A)|0){case 2:break;case 1:{f=CH(A)|0;break A}default:{f=A;break A}}if(!(a[47268]|0)){ao(0,104525,i)|0;a[47268]=1;f=A}else f=A}}}while(0);if(!(a[47269]|0))co(189076,0,0);e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=40;i=f;A:while(1){switch(r[i>>0]|0){case 0:break A;case 92:case 41:case 40:{e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=92;break}default:{}}e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}l=r[i>>0]|0;a[47270]=e+1;r[e>>0]=l;i=i+1|0}e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=41;if((f|0)!=(A|0))L2(f);e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}r[e>>0]=0;l=a[47269]|0;a[47270]=l;k=n;return l|0}function TJ(A){A=A|0;var e=0,i=0;e=0;A:while(1){while(1){i=r[A>>0]|0;if(!(i<<24>>24))break A;if((i&255)<127)A=A+1|0;else break}if((i&-4)<<24>>24==-64){e=1;A=A+2|0}else{e=2;break}}return e|0}function jJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;w=k;k=k+96|0;l=w+80|0;t=w+72|0;s=w+64|0;n=w+32|0;c=w;b[n>>3]=+b[A>>3];b[n+8>>3]=+b[A+8>>3];b[n+16>>3]=+b[e>>3];b[n+24>>3]=+b[e+8>>3];do{if((ic(i,n,t)|0)>=0){if(!f){e=i+4|0;A=a[e>>2]|0;f=a[47274]|0;if((A|0)>(a[47273]|0)){if(!f)A=$F(A<<5)|0;else A=eV(f,A<<5)|0;a[47274]=A;n=a[e>>2]|0;a[47273]=n;f=A}else n=A;e=a[i>>2]|0;A=0;while(1){if((A|0)>=(n|0))break;u=f+(A<<5)|0;i=e+(A<<4)|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];u=f+(A<<5)+16|0;i=A+1|0;o=e+(((i|0)%(n|0)|0)<<4)|0;a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2];A=i}a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0;a[c+16>>2]=0;a[c+20>>2]=0;a[c+24>>2]=0;a[c+28>>2]=0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];if((Mt(f,n,l,c,s)|0)<0){A=0;break}}else{a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];Gc(l,s)}A=s+4|0;if(!(SJ(a[A>>2]|0)|0)){n=a[A>>2]|0;A=a[47275]|0;f=a[s>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;o=A+(e<<4)|0;u=f+(e<<4)|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];e=e+1|0}a[r>>2]=n}else A=0}else A=0}while(0);k=w;return A|0}function SJ(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=a[47276]|0;do{if((e|0)<(A|0)){A=A+300-((A|0)%300|0)+e|0;e=eV(a[47275]|0,A<<4)|0;a[47275]=e;if(!e){ao(1,104615,i)|0;A=1;break}else{a[47276]=A;A=0;break}}else A=0}while(0);k=r;return A|0}function PJ(){var A=0,e=0,i=0;e=k;k=k+16|0;A=e;i=a[47277]|0;a[47277]=i+1;do{if((i|0)<=0){i=$F(4800)|0;a[47275]=i;if(!i){ao(1,104638,A)|0;A=1;break}a[47276]=300;a[47278]=0;a[47279]=0;if(0){tR();A=0}else A=0}else A=0}while(0);k=e;return A|0}function OJ(){var A=0,e=0,i=0,r=0.0,f=0,n=0;e=k;k=k+16|0;A=e;i=a[47277]|0;a[47277]=i+-1;if((i|0)<=1?(L2(a[47275]|0),0):0){i=a[15712]|0;n=a[47278]|0;f=a[47279]|0;r=+cR();a[A>>2]=n;a[A+4>>2]=f;b[A+8>>3]=r;f3(i,104676,A)|0}k=e;return}function KJ(A,e){A=A|0;e=e|0;return _J(A,e,0)|0}function _J(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0,N=0,X=0;J=k;k=k+176|0;y=J+168|0;V=J+128|0;I=J+120|0;E=J+112|0;l=J+104|0;B=J+88|0;w=J+72|0;n=J+64|0;v=J+160|0;Y=J+152|0;Z=J+144|0;g=J+32|0;C=J;F=J+136|0;a[47278]=(a[47278]|0)+1;z=a[A+80>>2]|0;a[47279]=(a[47279]|0)+z;f=A+88|0;while(1){L=a[f>>2]|0;if(!L){W=4;break}f=a[L+16>>2]|0;if(!(r[f+112>>0]|0)){W=5;break}else f=f+116|0}do{if((W|0)==4){ao(1,104719,n)|0;f=0}else if((W|0)==5){m=a[A+84>>2]|0;if(!(qJ(z,m,A)|0)){n=z<<3;if((n|0)>(a[47280]|0)){f=a[47281]|0;if(!f)f=$F(z<<7)|0;else f=eV(f,z<<7)|0;a[47281]=f;a[47280]=n}A:do{if((z|0)>1?+b[m+8>>3]>+b[m+40>>3]:0){f=0;while(1){if((f|0)==(z|0)){o=1;break A}G=m+(f<<5)+24|0;s=+b[G>>3];Q=m+(f<<5)+8|0;b[G>>3]=-+b[Q>>3];b[Q>>3]=-s;f=f+1|0}}else o=0}while(0);d=a[L>>2]&3;G=L+48|0;f=a[((d|0)==3?L:G)+40>>2]|0;Q=L+-48|0;if((f|0)==(a[((d|0)==2?L:Q)+40>>2]|0)){a[l>>2]=Vh(f)|0;ao(1,104826,l)|0;f=0;break}u=z+-1|0;h=a[47281]|0;d=h;f=0;t=0;A:while(1){if((t|0)>=(z|0)){t=u;w=f;break}if((t|0)>0)n=+b[m+(t<<5)+8>>3]>+b[m+(t+-1<<5)+8>>3]?-1:1;else n=0;if((t|0)<(u|0))l=+b[m+(t+1<<5)+8>>3]>+b[m+(t<<5)+8>>3]?1:-1;else l=0;e:do{if((n|0)!=(l|0))if((n|0)==1|(l|0)==-1){n=m+(t<<5)|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+8|0;W=29;break}else{n=m+(t<<5)+16|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+24|0;W=29;break}else{switch(n|0){case-1:break e;case 0:break;default:{W=28;break A}}n=m+(t<<5)|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+8|0;W=29}}while(0);if((W|0)==29){W=0;b[h+(l<<4)+8>>3]=+b[n>>3];f=f+2|0}t=t+1|0}if((W|0)==28){a[w>>2]=n;a[w+4>>2]=n;a[w+8>>2]=480;ao(1,104761,w)|0;f=0;break}A:while(1){if((t|0)<=-1)break;if((t|0)<(u|0))f=+b[m+(t<<5)+8>>3]>+b[m+(t+1<<5)+8>>3]?-1:1;else f=0;if((t|0)>0)n=+b[m+(t+-1<<5)+8>>3]>+b[m+(t<<5)+8>>3]?1:-1;else n=0;e:do{if((f|0)!=(n|0))if((f|0)==1|(n|0)==-1){f=m+(t<<5)|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+8|0;l=2;break}else{f=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+24|0;l=2;break}else switch(f|0){case 0:{f=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+24|0;l=2;break e}case-1:{X=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[X>>3];f=m+(t<<5)+8|0;l=w+1|0;b[h+(w<<4)+8>>3]=+b[f>>3];b[h+(l<<4)>>3]=+b[X>>3];X=m+(t<<5)+24|0;N=w+2|0;b[h+(l<<4)+8>>3]=+b[X>>3];l=m+(t<<5)|0;b[h+(N<<4)>>3]=+b[l>>3];n=w+3|0;b[h+(N<<4)+8>>3]=+b[X>>3];b[h+(n<<4)>>3]=+b[l>>3];l=4;break e}default:{W=42;break A}}}while(0);b[h+(n<<4)+8>>3]=+b[f>>3];t=t+-1|0;w=w+l|0}if((W|0)==42){a[B>>2]=f;a[B+4>>2]=f;a[B+8>>2]=513;ao(1,104761,B)|0;f=0;break}A:do{if(!o)f=0;else{f=0;while(1){if((f|0)>=(z|0)){f=0;break}N=m+(f<<5)+24|0;s=+b[N>>3];X=m+(f<<5)+8|0;b[N>>3]=-+b[X>>3];b[X>>3]=-s;f=f+1|0}while(1){if((f|0)>=(w|0)){f=0;break A}X=h+(f<<4)+8|0;b[X>>3]=-+b[X>>3];f=f+1|0}}}while(0);while(1){if((f|0)>=(z|0))break;b[m+(f<<5)>>3]=2147483647.0;b[m+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}a[v>>2]=d;l=v+4|0;a[l>>2]=w;b[g>>3]=+b[A>>3];b[g+8>>3]=+b[A+8>>3];b[g+16>>3]=+b[A+40>>3];b[g+24>>3]=+b[A+48>>3];if((ic(v,g,Y)|0)<0){ao(1,104865,E)|0;f=0;break}if(!i){n=a[l>>2]|0;f=a[47274]|0;if((n|0)>(a[47273]|0)){if(!f)f=$F(n<<5)|0;else f=eV(f,n<<5)|0;a[47274]=f;n=a[l>>2]|0;a[47273]=n}t=a[47281]|0;l=0;while(1){if((l|0)>=(n|0))break;N=f+(l<<5)|0;X=t+(l<<4)|0;a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];N=f+(l<<5)+16|0;X=l+1|0;E=t+(((X|0)%(n|0)|0)<<4)|0;a[N>>2]=a[E>>2];a[N+4>>2]=a[E+4>>2];a[N+8>>2]=a[E+8>>2];a[N+12>>2]=a[E+12>>2];l=X}if(!(r[A+29>>0]|0)){c=0.0;s=0.0}else{s=+b[A+16>>3];c=+D(+s);s=+M(+s)}b[C+8>>3]=s;b[C>>3]=c;if(!(r[A+69>>0]|0)){c=0.0;s=0.0}else{s=+b[A+56>>3];c=-+D(+s);s=-+M(+s)}b[C+24>>3]=s;b[C+16>>3]=c;a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];if((Mt(f,n,y,C,Z)|0)<0){ao(1,104904,I)|0;f=0;break}}else{a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];Gc(y,Z)}w=Z+4|0;if(!(SJ(a[w>>2]|0)|0)){f=0;while(1){if((f|0)>=(z|0))break;b[m+(f<<5)>>3]=2147483647.0;b[m+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}l=a[w>>2]|0;t=a[47275]|0;n=a[Z>>2]|0;f=0;while(1){if((f|0)>=(l|0)){l=1;f=10;n=0;break}X=t+(f<<4)|0;N=n+(f<<4)|0;a[X>>2]=a[N>>2];a[X+4>>2]=a[N+4>>2];a[X+8>>2]=a[N+8>>2];a[X+12>>2]=a[N+12>>2];f=f+1|0}while(1){if(!((n|0)<15&l<<24>>24!=0))break;$J(m,z,a[47275]|0,a[w>>2]|0,f);t=0;while(1){if((t|0)>=(z|0))break;if(+b[m+(t<<5)>>3]==2147483647.0){W=82;break}if(+b[m+(t<<5)+16>>3]==-2147483648.0){W=82;break}t=t+1|0}if((W|0)==82){W=0;X=f<<1;f=X;n=(X|0)>(2147483647/(z|0)|0|0)?15:n}l=(t|0)==(z|0)?0:l;n=n+1|0}if(l<<24>>24){N=Vh(a[((a[L>>2]&3|0)==3?L:G)+40>>2]|0)|0;X=Vh(a[((a[L>>2]&3|0)==2?L:Q)+40>>2]|0)|0;a[V>>2]=N;a[V+4>>2]=X;ao(0,104942,V)|0;a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];Gc(y,F);$J(m,z,a[F>>2]|0,a[F+4>>2]|0,10);L2(a[F>>2]|0)}a[e>>2]=a[w>>2];f=a[47275]|0}else f=0}else f=0}}while(0);k=J;return f|0}function qJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0.0,J=0,N=0,X=0,R=0.0,H=0,p=0,U=0;U=k;k=k+32|0;M=U+16|0;D=U+8|0;c=U;r=0;t=0;while(1){if((t|0)>=(A|0))break;l=e+(t<<5)|0;B=+b[e+(t<<5)+8>>3]-+b[e+(t<<5)+24>>3];if(!((B>=0.0?B:-B)<.01)?(B=+b[l>>3]-+b[e+(t<<5)+16>>3],!((B>=0.0?B:-B)<.01)):0){if((r|0)!=(t|0)){H=e+(r<<5)|0;a[H>>2]=a[l>>2];a[H+4>>2]=a[l+4>>2];a[H+8>>2]=a[l+8>>2];a[H+12>>2]=a[l+12>>2];a[H+16>>2]=a[l+16>>2];a[H+20>>2]=a[l+20>>2];a[H+24>>2]=a[l+24>>2];a[H+28>>2]=a[l+28>>2]}r=r+1|0}t=t+1|0}F=e+16|0;do{if(!(+b[e>>3]>+b[F>>3])?(J=e+8|0,X=e+24|0,!(+b[J>>3]>+b[X>>3])):0){H=r+-1|0;N=a[15712]|0;C=0;while(1){if((C|0)>=(H|0))break;W=C+1|0;y=e+(W<<5)|0;f=+b[y>>3];z=e+(W<<5)+16|0;n=+b[z>>3];if(f>n){p=16;break}Q=e+(W<<5)+8|0;s=+b[Q>>3];m=e+(W<<5)+24|0;w=+b[m>>3];if(s>w){p=16;break}Y=e+(C<<5)+16|0;E=+b[Y>>3]>3]>n;A=g&1;G=e+(C<<5)+24|0;v=+b[G>>3]>3]>w;l=c&1;I=A+r+t+l|0;u=(I|0)!=0;if(!(0==0|u^1)){a[M>>2]=C;a[M+4>>2]=W;f3(N,105142,M)|0;AN(i)}A:do{if(u){if(!E)if(!g)if(!v){if(c){c=0;u=r;r=m;l=Z;p=24}}else{c=l;t=0;u=r;r=Q;l=G;p=24}else{c=l;A=0;u=r;r=z;l=L;p=24}else{c=l;u=0;r=y;l=Y;p=24}if((p|0)==24){p=0;C=~~+b[l>>3];b[l>>3]=+b[r>>3];b[r>>3]=+(C|0);l=c;r=u}u=I+-1|0;c=0;while(1){if((c|0)>=(u|0))break A;do{if((r|0)!=1){if((A|0)==1){B=+(~~((+b[z>>3]+ +b[L>>3])*.5+.5)|0);b[z>>3]=B;b[L>>3]=B;A=0;break}if((t|0)==1){B=+(~~((+b[Q>>3]+ +b[G>>3])*.5+.5)|0);b[Q>>3]=B;b[G>>3]=B;t=0;break}if((l|0)==1){B=+(~~((+b[m>>3]+ +b[Z>>3])*.5+.5)|0);b[m>>3]=B;b[Z>>3]=B;l=0}}else{B=+(~~((+b[y>>3]+ +b[Y>>3])*.5+.5)|0);b[y>>3]=B;b[Y>>3]=B;r=0}}while(0);c=c+1|0}}}while(0);o=+b[L>>3];h=+b[Y>>3];d=+b[y>>3];B=+b[z>>3];l=eN(~~o,~~h,~~d,~~B)|0;w=+b[Z>>3];s=+b[G>>3];n=+b[Q>>3];f=+b[m>>3];r=eN(~~w,~~s,~~n,~~f)|0;if(!((l|0)!=0&(r|0)!=0)){C=W;continue}if((l|0)<(r|0)){m=h-o>B-d;C=h>3]=m?C?d:B:C?h:o;C=W;continue}else{m=s-w>f-n;C=s>3]=m?C?n:f:C?s:w;C=W;continue}}if((p|0)==16){a[D>>2]=W;ao(1,105096,D)|0;AN(i);r=1;break}f=+b[i>>3];n=+b[e>>3];if(!(((!(f+b[F>>3]):0)?(V=+b[i+8>>3],!(V<+b[J>>3])):0)?!(V>+b[X>>3]):0)){if(0){L3(105185,42,1,N)|0;AN(i);n=+b[e>>3];f=+b[i>>3]}if(f>3]=n;else n=f;f=+b[F>>3];if(n>f)b[i>>3]=f;r=i+8|0;n=+b[r>>3];f=+b[J>>3];if(n>3]=f;n=f}f=+b[X>>3];if(n>f)b[r>>3]=f}l=i+40|0;f=+b[l>>3];r=e+(H<<5)|0;n=+b[r>>3];if(((!(f+b[e+(H<<5)+16>>3]):0)?(R=+b[i+48>>3],!(R<+b[e+(H<<5)+8>>3])):0)?!(R>+b[e+(H<<5)+24>>3]):0){r=0;break}if(0){L3(105228,39,1,N)|0;AN(i);n=+b[r>>3];f=+b[l>>3]}if(f>3]=n;f=n}n=+b[e+(H<<5)+16>>3];if(f>n)b[l>>3]=n;r=i+48|0;f=+b[r>>3];n=+b[e+(H<<5)+8>>3];if(f>3]=n;else n=f;f=+b[e+(H<<5)+24>>3];if(n>f){b[r>>3]=f;r=0}else r=0}else p=12}while(0);if((p|0)==12){ao(1,105051,c)|0;AN(i);r=1}k=U;return r|0}function $J(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0;B=U(f,e)|0;v=1.0/+(B|0);f=0;A:while(1){g=f+3|0;if((g|0)>=(r|0))break;k=i+(f<<4)|0;o=i+(f<<4)+8|0;d=f+1|0;h=i+(d<<4)|0;d=i+(d<<4)+8|0;t=f+2|0;l=i+(t<<4)|0;t=i+(t<<4)+8|0;c=i+(g<<4)|0;s=i+(g<<4)+8|0;n=0;while(1){if((n|0)>(B|0)){f=g;continue A}E=v*+(n|0);w=+b[k>>3];u=+b[o>>3];Z=+b[h>>3];C=+b[d>>3];G=+b[l>>3];I=+b[t>>3];w=(Z-w)*E+w;u=(C-u)*E+u;Z=(G-Z)*E+Z;C=(I-C)*E+C;w=(Z-w)*E+w;u=(C-u)*E+u;w=((G-Z+(+b[c>>3]-G)*E)*E+Z-w)*E+w;u=((I-C+(+b[s>>3]-I)*E)*E+C-u)*E+u;a=0;while(1){if((a|0)>=(e|0))break;if(u<=+b[A+(a<<5)+24>>3]+.0001?u>=+b[A+(a<<5)+8>>3]+-.0001:0){f=A+(a<<5)|0;if(+b[f>>3]>w)b[f>>3]=w;f=A+(a<<5)+16|0;if(+b[f>>3]>3]=w}a=a+1|0}n=n+1|0}}return}function AN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0;s=k;k=k+112|0;t=s+80|0;c=s+48|0;l=s+8|0;n=s;i=a[15712]|0;f=A+80|0;a[n>>2]=a[f>>2];f3(i,105268,n)|0;n=A+84|0;e=0;while(1){if((e|0)>=(a[f>>2]|0))break;d=a[n>>2]|0;h=+b[d+(e<<5)>>3];o=+b[d+(e<<5)+8>>3];u=+b[d+(e<<5)+16>>3];w=+b[d+(e<<5)+24>>3];a[l>>2]=e;b[l+8>>3]=h;b[l+16>>3]=o;b[l+24>>3]=u;b[l+32>>3]=w;f3(i,105279,l)|0;e=e+1|0}h=+b[A+8>>3];o=+b[A+16>>3];d=r[A+29>>0]|0?105310:105322;b[c>>3]=+b[A>>3];b[c+8>>3]=h;b[c+16>>3]=o;a[c+24>>2]=d;f3(i,105338,c)|0;o=+b[A+48>>3];h=+b[A+56>>3];d=r[A+69>>0]|0?105310:105322;b[t>>3]=+b[A+40>>3];b[t+8>>3]=o;b[t+16>>3]=h;a[t+24>>2]=d;f3(i,105389,t)|0;k=s;return}function eN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;do{if((e|0)>(i|0)&(r|0)>(A|0)){if(!((i|0)>(A|0)|(r|0)<(A|0))){A=r-A|0;break}if((e|0)<(i|0)|(e|0)>(r|0)){e=e-A|0;A=r-i|0;A=(e|0)<(A|0)?e:A;break}else{A=e-i|0;break}}else A=0}while(0);return A|0}function iN(A,e){A=A|0;e=e|0;return _J(A,e,1)|0}function rN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+80|0;n=c;t=1;f=e;while(1){l=f;f=a[(a[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(l|0)!=(f|0)))break;else t=t+1|0}if((t|0)>=21)n=qF(t<<2)|0;l=0;f=e;while(1){if((l|0)>=(t|0))break;a[n+(l<<2)>>2]=f;l=l+1|0;f=a[(a[f+16>>2]|0)+172>>2]|0}fN(A,n,t,i,r);if((t|0)>20)L2(n);k=c;return}function fN(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0.0,N=0.0,X=0.0,R=0,H=0;V=k;k=k+304|0;Q=V+272|0;G=V+208|0;Y=V+96|0;D=V+32|0;M=V+16|0;F=V;d=V+192|0;Z=V+176|0;l=V+160|0;m=V+296|0;L=V+288|0;t=a[e>>2]|0;C=a[t>>2]&3;c=t+-48|0;W=a[((C|0)==2?t:c)+40>>2]|0;v=Y+16|0;C=(a[(a[((C|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+16|0;I=t+16|0;y=(a[I>>2]|0)+16|0;a[G>>2]=a[C>>2];a[G+4>>2]=a[C+4>>2];a[G+8>>2]=a[C+8>>2];a[G+12>>2]=a[C+12>>2];a[Q>>2]=a[y>>2];a[Q+4>>2]=a[y+4>>2];a[Q+8>>2]=a[y+8>>2];a[Q+12>>2]=a[y+12>>2];aN(d,G,Q);a[Y>>2]=a[d>>2];a[Y+4>>2]=a[d+4>>2];a[Y+8>>2]=a[d+8>>2];a[Y+12>>2]=a[d+12>>2];a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];a[M>>2]=a[d>>2];a[M+4>>2]=a[d+4>>2];a[M+8>>2]=a[d+8>>2];a[M+12>>2]=a[d+12>>2];d=Y+32|0;y=Y+48|0;C=(a[W+16>>2]|0)+16|0;I=(a[I>>2]|0)+56|0;a[G>>2]=a[C>>2];a[G+4>>2]=a[C+4>>2];a[G+8>>2]=a[C+8>>2];a[G+12>>2]=a[C+12>>2];a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];aN(Z,G,Q);a[y>>2]=a[Z>>2];a[y+4>>2]=a[Z+4>>2];a[y+8>>2]=a[Z+8>>2];a[y+12>>2]=a[Z+12>>2];a[d>>2]=a[Z>>2];a[d+4>>2]=a[Z+4>>2];a[d+8>>2]=a[Z+8>>2];a[d+12>>2]=a[Z+12>>2];a[F>>2]=a[Z>>2];a[F+4>>2]=a[Z+4>>2];a[F+8>>2]=a[Z+8>>2];a[F+12>>2]=a[Z+12>>2];A:do{if((i|0)!=1&(r[194954]|0)==0){s=+b[Y>>3];w=+b[y>>3];J=s-w;u=+b[Y+8>>3];o=+b[Y+56>>3];B=u-o;h=B*B;if(h+J*J<1.0e-06){a[v>>2]=a[Y>>2];a[v+4>>2]=a[Y+4>>2];a[v+8>>2]=a[Y+8>>2];a[v+12>>2]=a[Y+12>>2];a[d>>2]=a[y>>2];a[d+4>>2]=a[y+4>>2];a[d+8>>2]=a[y+8>>2];a[d+12>>2]=a[y+12>>2];Z=Y+24|0;I=Y+40|0;w=0.0;s=0.0}else{N=w-s;J=+z(+(h+N*N));C=a[(a[(a[A+60>>2]|0)+16>>2]|0)+248>>2]|0;X=+((U(C,i+-1|0)|0)/2|0|0);h=B*X/J;b[v>>3]=h+s;s=N*X/J;Z=Y+24|0;b[Z>>3]=s+u;b[d>>3]=h+w;I=Y+40|0;b[I>>3]=o+s;s=+(0-C|0);w=N*s/J;s=B*s/J}f=(f|0)==6;g=L+4|0;E=m+4|0;t=0;while(1){if((t|0)>=(i|0))break A;C=a[e+(t<<2)>>2]|0;c=C+-48|0;e:do{if((a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0)==(W|0)){a[M>>2]=a[Y>>2];a[M+4>>2]=a[Y+4>>2];a[M+8>>2]=a[Y+8>>2];a[M+12>>2]=a[Y+12>>2];a[F>>2]=a[y>>2];a[F+4>>2]=a[y+4>>2];a[F+8>>2]=a[y+8>>2];a[F+12>>2]=a[y+12>>2];l=0;while(1){if((l|0)==4)break e;R=D+(l<<4)|0;H=Y+(l<<4)|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];l=l+1|0}}else{a[M>>2]=a[y>>2];a[M+4>>2]=a[y+4>>2];a[M+8>>2]=a[y+8>>2];a[M+12>>2]=a[y+12>>2];a[F>>2]=a[Y>>2];a[F+4>>2]=a[Y+4>>2];a[F+8>>2]=a[Y+8>>2];a[F+12>>2]=a[Y+12>>2];l=0;while(1){if((l|0)==4)break e;H=D+(3-l<<4)|0;R=Y+(l<<4)|0;a[H>>2]=a[R>>2];a[H+4>>2]=a[R+4>>2];a[H+8>>2]=a[R+8>>2];a[H+12>>2]=a[R+12>>2];l=l+1|0}}}while(0);if(f){a[g>>2]=4;a[L>>2]=G;l=0;while(1){if((l|0)==4)break;H=G+(l<<4)|0;R=D+(l<<4)|0;a[H>>2]=a[R>>2];a[H+4>>2]=a[R+4>>2];a[H+8>>2]=a[R+8>>2];a[H+12>>2]=a[R+12>>2];l=l+1|0}a[Q>>2]=a[L>>2];a[Q+4>>2]=a[L+4>>2];Gc(Q,m);gX(C,a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0,a[m>>2]|0,a[E>>2]|0,n)}else gX(C,a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0,D,4,n);a[G>>2]=a[M>>2];a[G+4>>2]=a[M+4>>2];a[G+8>>2]=a[M+8>>2];a[G+12>>2]=a[M+12>>2];a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];HX(A,C,G,Q);b[v>>3]=+b[v>>3]+s;b[Z>>3]=+b[Z>>3]+w;b[d>>3]=+b[d>>3]+s;b[I>>3]=+b[I>>3]+w;t=t+1|0}}else{if((f|0)==4){nN(l,A);a[Q>>2]=a[l>>2];a[Q+4>>2]=a[l+4>>2];a[Q+8>>2]=a[l+8>>2];a[Q+12>>2]=a[l+12>>2];lN(Y,Q)}gX(t,a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0,Y,4,n);a[G>>2]=a[M>>2];a[G+4>>2]=a[M+4>>2];a[G+8>>2]=a[M+8>>2];a[G+12>>2]=a[M+12>>2];a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];HX(A,t,G,Q)}}while(0);k=V;return}function aN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function nN(A,e){A=A|0;e=e|0;e=a[e+16>>2]|0;b[23305]=(+b[e+32>>3]+ +b[e+16>>3])*.5;b[23306]=(+b[e+40>>3]+ +b[e+24>>3])*.5;a[A>>2]=a[46610];a[A+4>>2]=a[46611];a[A+8>>2]=a[46612];a[A+12>>2]=a[46613];return}function lN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;a=+b[A>>3];r=+b[A+48>>3];l=(r+a)*.5;n=+b[A+8>>3];i=+b[A+56>>3];f=(i+n)*.5;a=r-a;n=i-n;a=+z(+(n*n+a*a))*.2;n=+b[e>>3]-l;i=+b[e+8>>3]-f;r=+z(+(i*i+n*n));if(!(r==0.0)){n=l-n/r*a;l=f-i/r*a;b[A+32>>3]=n;b[A+16>>3]=n;b[A+40>>3]=l;b[A+24>>3]=l}return}function tN(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0.0,Y=0,D=0.0,M=0.0,F=0.0;W=k;k=k+208|0;v=W+192|0;B=W+176|0;m=W+32|0;C=W+16|0;I=W;Z=W+160|0;G=W+144|0;g=W+128|0;E=W+112|0;n=r&2130706432;Q=(r&8|0)==0?(n|0)==0?4:n:8;if((Q|0)==436207616)cN(A,e,i,f);else{L=qF((i<<6)+64|0)|0;o=i+-1|0;h=I+8|0;d=C+8|0;u=12.0;r=0;while(1){if((r|0)>=(i|0))break;w=e+(r<<4)|0;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];if((r|0)<(o|0)){r=r+1|0;w=e+(r<<4)|0;a[I>>2]=a[w>>2];a[I+4>>2]=a[w+4>>2];a[I+8>>2]=a[w+8>>2];a[I+12>>2]=a[w+12>>2]}else{a[I>>2]=a[e>>2];a[I+4>>2]=a[e+4>>2];a[I+8>>2]=a[e+8>>2];a[I+12>>2]=a[e+12>>2];r=r+1|0}s=+b[I>>3]-+b[C>>3];y=+b[h>>3]-+b[d>>3];s=+z(+(y*y+s*s))*.3333333333333333;u=u=(i|0))break;n=e+(l<<4)|0;a[C>>2]=a[n>>2];a[C+4>>2]=a[n+4>>2];a[C+8>>2]=a[n+8>>2];a[C+12>>2]=a[n+12>>2];if((l|0)<(o|0)){n=e+(l+1<<4)|0;a[I>>2]=a[n>>2];a[I+4>>2]=a[n+4>>2];a[I+8>>2]=a[n+8>>2];a[I+12>>2]=a[n+12>>2]}else{a[I>>2]=a[e>>2];a[I+4>>2]=a[e+4>>2];a[I+8>>2]=a[e+8>>2];a[I+12>>2]=a[e+12>>2]}s=+b[I>>3]-+b[C>>3];y=+b[h>>3]-+b[d>>3];s=u/+z(+(y*y+s*s));s=c?s*.3333333333333333:t?s*.5:s;n=L+(r<<4)|0;if(w){a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(Z,s*.5,B,v);a[n>>2]=a[Z>>2];a[n+4>>2]=a[Z+4>>2];a[n+8>>2]=a[Z+8>>2];a[n+12>>2]=a[Z+12>>2]}else{a[n>>2]=a[C>>2];a[n+4>>2]=a[C+4>>2];a[n+8>>2]=a[C+8>>2];a[n+12>>2]=a[C+12>>2]}n=L+(r+1<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(G,s,B,v);a[n>>2]=a[G>>2];a[n+4>>2]=a[G+4>>2];a[n+8>>2]=a[G+8>>2];a[n+12>>2]=a[G+12>>2];n=r+3|0;Y=L+(r+2<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(g,1.0-s,B,v);a[Y>>2]=a[g>>2];a[Y+4>>2]=a[g+4>>2];a[Y+8>>2]=a[g+8>>2];a[Y+12>>2]=a[g+12>>2];if(w){Y=L+(n<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(E,1.0-s*.5,B,v);a[Y>>2]=a[E>>2];a[Y+4>>2]=a[E+4>>2];a[Y+8>>2]=a[E+8>>2];a[Y+12>>2]=a[E+12>>2];r=r+4|0}else r=n;l=l+1|0}c=L+(r<<4)|0;a[c>>2]=a[L>>2];a[c+4>>2]=a[L+4>>2];a[c+8>>2]=a[L+8>>2];a[c+12>>2]=a[L+12>>2];c=L+(r+1<<4)|0;t=L+16|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];r=L+(r+2<<4)|0;c=L+32|0;a[r>>2]=a[c>>2];a[r+4>>2]=a[c+4>>2];a[r+8>>2]=a[c+8>>2];a[r+12>>2]=a[c+12>>2];r=Q&2147483647;A:do{if((r|0)<201326592){if((r|0)>=83886080){if((r|0)<134217728){if((r|0)<100663296){switch(r|0){case 83886080:break;default:break A}if((i|0)==4){Y=qF(192)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];o=Y+16|0;v=e+16|0;a[o>>2]=a[v>>2];a[o+4>>2]=a[v+4>>2];a[o+8>>2]=a[v+8>>2];a[o+12>>2]=a[v+12>>2];o=L+48|0;v=L+64|0;u=+b[v>>3];w=Y+32|0;b[w>>3]=u;h=L+56|0;d=L+72|0;D=+b[d>>3];G=Y+40|0;b[G>>3]=D;y=+b[o>>3]+u-+b[c>>3];g=Y+48|0;b[g>>3]=y;F=+b[h>>3]+D-+b[L+40>>3];I=Y+56|0;b[I>>3]=F;M=+b[v>>3]+y-+b[o>>3];o=Y+64|0;b[o>>3]=M;s=+b[d>>3]+F-+b[h>>3];h=Y+72|0;b[h>>3]=s;d=Y+80|0;b[d>>3]=u+M-y;b[Y+88>>3]=D+s-F;v=L+96|0;E=L+80|0;F=+b[E>>3];i=Y+144|0;b[i>>3]=F;C=L+104|0;B=L+88|0;s=+b[B>>3];b[Y+152>>3]=s;D=+b[v>>3]+F-+b[L+112>>3];Z=Y+128|0;b[Z>>3]=D;y=+b[C>>3]+s-+b[L+120>>3];Q=Y+136|0;b[Q>>3]=y;M=+b[E>>3]+D-+b[v>>3];v=Y+112|0;b[v>>3]=M;u=+b[B>>3]+y-+b[C>>3];C=Y+120|0;b[C>>3]=u;B=Y+96|0;b[B>>3]=F+M-D;E=Y+104|0;b[E>>3]=s+u-y;c=Y+160|0;t=e+32|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];c=Y+176|0;e=e+48|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];ar(A,Y,12,f);a[m>>2]=a[w>>2];a[m+4>>2]=a[w+4>>2];a[m+8>>2]=a[w+8>>2];a[m+12>>2]=a[w+12>>2];y=+b[w>>3];u=+b[g>>3];y=y+y-u;g=m+16|0;b[g>>3]=y;s=+b[G>>3];D=+b[I>>3];s=s+s-D;I=m+24|0;b[I>>3]=s;G=m+32|0;b[G>>3]=+b[o>>3]+y-u;e=m+40|0;b[e>>3]=+b[h>>3]+s-D;f=m+48|0;a[f>>2]=a[d>>2];a[f+4>>2]=a[d+4>>2];a[f+8>>2]=a[d+8>>2];a[f+12>>2]=a[d+12>>2];tr(A,m,4);a[m>>2]=a[B>>2];a[m+4>>2]=a[B+4>>2];a[m+8>>2]=a[B+8>>2];a[m+12>>2]=a[B+12>>2];D=+b[B>>3];s=+b[v>>3];D=D-(s-D);b[g>>3]=D;u=+b[E>>3];y=+b[C>>3];u=u-(y-u);b[I>>3]=u;b[G>>3]=+b[Z>>3]+D-s;b[e>>3]=+b[Q>>3]+u-y;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];tr(A,m,4);L2(Y);break}else vA(105438,105449,737,105458)}if((r|0)<117440512){switch(r|0){case 100663296:break;default:break A}Z=i+5|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];D=(+b[e>>3]-D)*.625+D;b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;E=L+48|0;C=L+56|0;I=L+72|0;F=(+b[i>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*1.5;b[Y+8>>3]=F;M=+b[G>>3];M=(+b[e>>3]-M)*.25+M;b[Y+16>>3]=M;b[Y+24>>3]=F;b[Y+32>>3]=M;y=+b[Q>>3];b[Y+40>>3]=(+b[i>>3]-y)*.5+y;M=(+b[c>>3]-+b[E>>3])*.5+M;b[Y+48>>3]=M;y=+b[Q>>3];b[Y+56>>3]=(+b[i>>3]-y)*.5+y;b[Y+64>>3]=M;M=+b[Q>>3];M=(+b[i>>3]-M)*.5+M+(+b[C>>3]-+b[I>>3]);b[Y+72>>3]=M;b[Y+80>>3]=D;b[Y+88>>3]=M;b[Y+96>>3]=D;M=M-(+b[C>>3]-+b[I>>3])*.25;b[Y+104>>3]=M;b[Y+112>>3]=+b[c>>3]+D-+b[E>>3];b[Y+120>>3]=(+b[C>>3]-+b[I>>3])*.5+M;b[Y+128>>3]=+b[Y>>3];b[Y+136>>3]=(+b[C>>3]-+b[I>>3])*.25+F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 117440512:break;default:break A}i=i+1|0;Y=qF(i<<4)|0;b[Y>>3]=+b[t>>3];G=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[G>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[L+48>>3];F=+b[G>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];m=e+40|0;b[Y+40>>3]=(+b[G>>3]-+b[Q>>3])*.5+ +b[m>>3];b[Y+48>>3]=+b[t>>3];b[Y+56>>3]=(+b[G>>3]-+b[Q>>3])*.5+ +b[m>>3];F=+b[e+8>>3];b[Y+72>>3]=F-(F-+b[e+56>>3])*.5;b[Y+64>>3]=+b[e>>3];ar(A,Y,i,f);L2(Y);break}}if((r|0)<167772160)if((r|0)<150994944){switch(r|0){case 134217728:break;default:break A}Z=i+4|0;Y=qF(Z<<4)|0;G=e+16|0;y=+b[G>>3];I=L+48|0;y=(+b[e>>3]-y)*.5+y+(+b[c>>3]-+b[I>>3])*.25;b[Y>>3]=y;Q=e+40|0;F=+b[Q>>3];i=e+24|0;F=(+b[i>>3]-F)*.5+F;b[Y+8>>3]=F;b[Y+16>>3]=y;E=L+56|0;C=L+72|0;D=(+b[E>>3]-+b[C>>3])*.5+F;b[Y+24>>3]=D;y=(+b[c>>3]-+b[I>>3])*.5+y;b[Y+32>>3]=y;b[Y+40>>3]=D;b[Y+48>>3]=y;y=(+b[E>>3]-+b[C>>3])*.5+D;b[Y+56>>3]=y;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.75;b[Y+64>>3]=M;b[Y+72>>3]=y;b[Y+80>>3]=M;b[Y+88>>3]=D;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.25;b[Y+96>>3]=M;b[Y+104>>3]=D;b[Y+112>>3]=M;b[Y+120>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 150994944:break;default:break A}Z=i+2|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];I=L+48|0;D=(+b[e>>3]-D)*.5+D+(+b[c>>3]-+b[I>>3])*.75;b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;F=(+b[i>>3]-F)*.5+F;b[Y+8>>3]=F;b[Y+16>>3]=D;E=L+56|0;C=L+72|0;D=(+b[E>>3]-+b[C>>3])*.25+F;b[Y+24>>3]=D;M=+b[G>>3];b[Y+32>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*.25;M=(+b[E>>3]-+b[C>>3])*.5+D;b[Y+40>>3]=M;y=+b[G>>3];b[Y+48>>3]=(+b[e>>3]-y)*.5+y+(+b[c>>3]-+b[I>>3])*-.25;b[Y+56>>3]=M;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.75;b[Y+64>>3]=M;b[Y+72>>3]=D;b[Y+80>>3]=M;b[Y+88>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else if((r|0)<184549376){switch(r|0){case 167772160:break;default:break A}Z=i+1|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];E=L+48|0;D=+b[c>>3]+D+(+b[e>>3]-D)*.5-+b[E>>3];b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;C=L+56|0;I=L+72|0;F=(+b[i>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*.25;b[Y+8>>3]=F;D=D-+b[c>>3]+ +b[E>>3];b[Y+16>>3]=D;b[Y+24>>3]=+b[C>>3]+F-+b[I>>3];b[Y+32>>3]=D;D=(+b[C>>3]-+b[I>>3])*.5+F;b[Y+40>>3]=D;M=+b[G>>3];M=(+b[e>>3]-M)*.25+M;b[Y+48>>3]=M;b[Y+56>>3]=D;b[Y+64>>3]=M;b[Y+72>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 184549376:break;default:break A}G=i+4|0;Y=qF(G<<4)|0;Z=e+16|0;D=+b[Z>>3];M=+b[e>>3]-D;g=L+48|0;M=M*.125+D+(+b[c>>3]-+b[g>>3]+M)*.5;b[Y>>3]=M;C=e+40|0;D=+b[C>>3];I=e+24|0;i=L+56|0;E=L+72|0;D=(+b[I>>3]-D)*.5+D+(+b[i>>3]-+b[E>>3])*.25;b[Y+8>>3]=D;F=+b[Z>>3];F=(+b[e>>3]-F)*.375+F;b[Y+16>>3]=F;b[Y+24>>3]=D;b[Y+32>>3]=F;D=(+b[i>>3]-+b[E>>3])*.5+D;b[Y+40>>3]=D;F=F-(+b[c>>3]-+b[g>>3])*.5;b[Y+48>>3]=F;b[Y+56>>3]=D;Q=Y+64|0;b[Q>>3]=F;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[i>>3]-+b[E>>3])*-.25;b[Y+72>>3]=F;D=M-(+b[c>>3]-+b[g>>3])*.5;b[Y+80>>3]=D;b[Y+88>>3]=F;b[Y+96>>3]=D;F=F-(+b[i>>3]-+b[E>>3])*.5;b[Y+104>>3]=F;E=Y+112|0;b[E>>3]=M;b[Y+120>>3]=F;ar(A,Y,G,f);b[m>>3]=+b[Z>>3];F=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-F)*.5+F;G=m+16|0;b[G>>3]=+b[Q>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);b[m>>3]=+b[E>>3];F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=+b[e>>3];b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<33554432){if((r|0)<8){switch(r|0){case 4:break;default:break A}l=$F((i*96|0)+32|0)|0;r=0;n=0;while(1){t=n|1;c=l+(n<<4)|0;if((r|0)>=(i|0))break;e=r<<2;Y=L+(e<<4)|0;a[c>>2]=a[Y>>2];a[c+4>>2]=a[Y+4>>2];a[c+8>>2]=a[Y+8>>2];a[c+12>>2]=a[Y+12>>2];Y=l+(t<<4)|0;m=L+((e|1)<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+2<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+3<<4)|0;m=L+((e|2)<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+4<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+5<<4)|0;e=L+((e|3)<<4)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];r=r+1|0;n=n+6|0}a[c>>2]=a[l>>2];a[c+4>>2]=a[l+4>>2];a[c+8>>2]=a[l+8>>2];a[c+12>>2]=a[l+12>>2];i=l+(t<<4)|0;Y=l+16|0;a[i>>2]=a[Y>>2];a[i+4>>2]=a[Y+4>>2];a[i+8>>2]=a[Y+8>>2];a[i+12>>2]=a[Y+12>>2];lr(A,Y,t,0,0,f&255);L2(l);break}if((r|0)<16777216){switch(r|0){case 8:break;default:break A}ar(A,e,i,f);n=m+16|0;r=0;while(1){if((r|0)>=(i|0))break A;Y=r*3|0;f=L+(Y+2<<4)|0;a[m>>2]=a[f>>2];a[m+4>>2]=a[f+4>>2];a[m+8>>2]=a[f+8>>2];a[m+12>>2]=a[f+12>>2];Y=L+(Y+4<<4)|0;a[n>>2]=a[Y>>2];a[n+4>>2]=a[Y+4>>2];a[n+8>>2]=a[Y+8>>2];a[n+12>>2]=a[Y+12>>2];tr(A,m,2);r=r+1|0}}switch(r|0){case 16777216:break;default:break A}n=i+1|0;l=qF(n<<4)|0;r=1;while(1){if((r|0)>=(i|0))break;Y=l+(r<<4)|0;Q=e+(r<<4)|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];r=r+1|0}e=i*3|0;Q=L+(e+1<<4)|0;a[l>>2]=a[Q>>2];a[l+4>>2]=a[Q+4>>2];a[l+8>>2]=a[Q+8>>2];a[l+12>>2]=a[Q+12>>2];i=l+(i<<4)|0;Y=L+(e+-1<<4)|0;a[i>>2]=a[Y>>2];a[i+4>>2]=a[Y+4>>2];a[i+8>>2]=a[Y+8>>2];a[i+12>>2]=a[Y+12>>2];ar(A,l,n,f);L2(l);a[m>>2]=a[Y>>2];a[m+4>>2]=a[Y+4>>2];a[m+8>>2]=a[Y+8>>2];a[m+12>>2]=a[Y+12>>2];Y=m+16|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];f=m+32|0;b[f>>3]=+b[m>>3]+ +b[Y>>3]-+b[L+(e<<4)>>3];b[m+40>>3]=+b[m+8>>3]+ +b[m+24>>3]-+b[L+(e<<4)+8>>3];tr(A,Y,2);a[Y>>2]=a[f>>2];a[Y+4>>2]=a[f+4>>2];a[Y+8>>2]=a[f+8>>2];a[Y+12>>2]=a[f+12>>2];tr(A,m,2);break}else{if((r|0)<50331648){switch(r|0){case 33554432:break;default:break A}n=i+2|0;l=qF(n<<4)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];t=l+16|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];t=L+48|0;i=L+64|0;b[l+32>>3]=(+b[t>>3]-+b[i>>3])*.3333333333333333+ +b[c>>3];Y=L+56|0;r=L+72|0;b[l+40>>3]=(+b[Y>>3]-+b[r>>3])*.3333333333333333+ +b[L+40>>3];F=+b[t>>3];b[l+48>>3]=(F-+b[i>>3])*.3333333333333333+F;F=+b[Y>>3];b[l+56>>3]=(F-+b[r>>3])*.3333333333333333+F;r=4;while(1){if((r|0)>=(n|0))break;Y=l+(r<<4)|0;i=e+(r+-2<<4)|0;a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];r=r+1|0}ar(A,l,n,f);L2(l);a[m>>2]=a[t>>2];a[m+4>>2]=a[t+4>>2];a[m+8>>2]=a[t+8>>2];a[m+12>>2]=a[t+12>>2];Y=m+16|0;a[Y>>2]=a[c>>2];a[Y+4>>2]=a[c+4>>2];a[Y+8>>2]=a[c+8>>2];a[Y+12>>2]=a[c+12>>2];tr(A,m,2);break}if((r|0)>=67108864){switch(r|0){case 67108864:break;default:break A}if((i|0)==4){Y=qF(96)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];i=Y+16|0;a[i>>2]=a[c>>2];a[i+4>>2]=a[c+4>>2];a[i+8>>2]=a[c+8>>2];a[i+12>>2]=a[c+12>>2];i=Y+32|0;Q=L+64|0;a[i>>2]=a[Q>>2];a[i+4>>2]=a[Q+4>>2];a[i+8>>2]=a[Q+8>>2];a[i+12>>2]=a[Q+12>>2];i=Y+48|0;e=e+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];e=Y+64|0;i=L+128|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=Y+80|0;G=L+160|0;a[e>>2]=a[G>>2];a[e+4>>2]=a[G+4>>2];a[e+8>>2]=a[G+8>>2];a[e+12>>2]=a[G+12>>2];ar(A,Y,6,f);L2(Y);b[m>>3]=+b[L+176>>3]+ +b[t>>3]-+b[L>>3];b[m+8>>3]=+b[L+184>>3]+ +b[L+24>>3]-+b[L+8>>3];Y=m+16|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];tr(A,m,2);a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];tr(A,m,2);a[Y>>2]=a[L>>2];a[Y+4>>2]=a[L+4>>2];a[Y+8>>2]=a[L+8>>2];a[Y+12>>2]=a[L+12>>2];tr(A,m,2);break}else vA(105438,105449,714,105458)}switch(r|0){case 50331648:break;default:break A}n=i+3|0;l=qF(n<<4)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];F=+b[e>>3];b[l+16>>3]=F-(F-+b[t>>3])*.25;r=L+56|0;F=(+b[r>>3]-+b[L+72>>3])*.3333333333333333+ +b[e+8>>3];b[l+24>>3]=F;M=+b[e>>3];b[l+32>>3]=M-(M-+b[t>>3])*2.0;b[l+40>>3]=F;F=+b[e>>3];b[l+48>>3]=F-(F-+b[t>>3])*2.25;b[l+56>>3]=+b[r>>3];b[l+64>>3]=+b[L+48>>3];b[l+72>>3]=+b[r>>3];r=4;while(1){if((r|0)>=(n|0))break;Y=l+(r<<4)|0;i=e+(r+-3<<4)|0;a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];r=r+1|0}ar(A,l,n,f);L2(l);break}}else if((r|0)<318767104){if((r|0)<251658240){if((r|0)<218103808){switch(r|0){case 201326592:break;default:break A}Y=i<<4;g=qF(Y)|0;E=e+16|0;F=+b[E>>3];b[g>>3]=F;G=e+40|0;M=+b[G>>3];Q=e+24|0;Z=L+48|0;C=L+56|0;I=L+72|0;M=(+b[Q>>3]-M)*.5+M+(+b[C>>3]-+b[I>>3])*.125;b[g+8>>3]=M;D=(+b[c>>3]-+b[Z>>3])*2.0+F;b[g+16>>3]=D;b[g+24>>3]=M;b[g+32>>3]=D;M=(+b[C>>3]-+b[I>>3])*.5+M;b[g+40>>3]=M;b[g+48>>3]=F;b[g+56>>3]=M;ar(A,g,i,f);L2(g);Y=qF(Y)|0;M=+b[c>>3]+ +b[E>>3]-+b[Z>>3];b[Y>>3]=M;F=+b[G>>3];F=(+b[Q>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*-.625;b[Y+8>>3]=F;D=+b[c>>3]-+b[Z>>3]+M;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=F;b[Y+32>>3]=D;F=(+b[C>>3]-+b[I>>3])*.5+F;b[Y+40>>3]=F;b[Y+48>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];F=+b[G>>3];b[m+8>>3]=(+b[Q>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}if((r|0)<234881024){switch(r|0){case 218103808:break;default:break A}Y=i<<4;C=qF(Y)|0;F=+b[e>>3];b[C>>3]=F;Z=e+40|0;M=+b[Z>>3];G=e+24|0;I=L+56|0;Q=L+72|0;M=(+b[G>>3]-M)*.5+M+(+b[I>>3]-+b[Q>>3])*.125;b[C+8>>3]=M;b[C+16>>3]=F;D=(+b[I>>3]-+b[Q>>3])*.5+M;b[C+24>>3]=D;F=F-(+b[I>>3]-+b[Q>>3])*2.0;b[C+32>>3]=F;b[C+40>>3]=D;b[C+48>>3]=F;b[C+56>>3]=M;ar(A,C,i,f);L2(C);Y=qF(Y)|0;M=+b[e>>3]-+b[c>>3]+ +b[L+48>>3];b[Y>>3]=M;F=+b[Z>>3];F=(+b[G>>3]-F)*.5+F+(+b[I>>3]-+b[Q>>3])*-.625;b[Y+8>>3]=F;b[Y+16>>3]=M;D=(+b[I>>3]-+b[Q>>3])*.5+F;b[Y+24>>3]=D;M=M-(+b[I>>3]-+b[Q>>3]);b[Y+32>>3]=M;b[Y+40>>3]=D;Q=Y+48|0;b[Q>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[e+16>>3];F=+b[Z>>3];b[m+8>>3]=(+b[G>>3]-F)*.5+F;b[m+16>>3]=+b[Q>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 234881024:break;default:break A}Y=i<<4;Z=qF(Y)|0;g=e+16|0;M=+b[g>>3];E=L+48|0;M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*-1.125;b[Z>>3]=M;C=e+40|0;F=+b[C>>3];I=e+24|0;Q=L+56|0;G=L+72|0;F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*.125;b[Z+8>>3]=F;D=+b[c>>3]-+b[E>>3]+M;b[Z+16>>3]=D;b[Z+24>>3]=F;b[Z+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Z+40>>3]=F;b[Z+48>>3]=M;b[Z+56>>3]=F;ar(A,Z,i,f);L2(Z);Z=qF(Y)|0;F=+b[g>>3];F=(+b[e>>3]-F)*.5+F+(+b[c>>3]-+b[E>>3])*-1.125;b[Z>>3]=F;M=+b[C>>3];M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*-.625;b[Z+8>>3]=M;D=+b[c>>3]-+b[E>>3]+F;b[Z+16>>3]=D;b[Z+24>>3]=M;b[Z+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[Z+40>>3]=M;b[Z+48>>3]=F;b[Z+56>>3]=M;ar(A,Z,i,f);L2(Z);Z=qF(Y)|0;M=+b[g>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*.125;b[Z>>3]=M;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*-.625;b[Z+8>>3]=F;D=+b[c>>3]-+b[E>>3]+M;b[Z+16>>3]=D;b[Z+24>>3]=F;b[Z+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Z+40>>3]=F;b[Z+48>>3]=M;b[Z+56>>3]=F;ar(A,Z,i,f);L2(Z);Y=qF(Y)|0;F=+b[g>>3];F=(+b[e>>3]-F)*.5+F+(+b[c>>3]-+b[E>>3])*.125;b[Y>>3]=F;M=+b[C>>3];M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*.125;b[Y+8>>3]=M;D=+b[c>>3]-+b[E>>3]+F;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=M;b[Y+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[Y+40>>3]=M;b[Y+48>>3]=F;b[Y+56>>3]=M;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];M=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-M)*.5+M;G=m+16|0;b[G>>3]=+b[e>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+M;tr(A,m,2);M=+b[g>>3];b[m>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*-1.125;F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=M;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<285212672)if((r|0)<268435456){switch(r|0){case 251658240:break;default:break A}Y=i<<4;g=qF(Y)|0;E=e+16|0;F=+b[E>>3];Z=L+48|0;F=F-+b[c>>3]+(+b[e>>3]-F)*.5+ +b[Z>>3];b[g>>3]=F;C=e+40|0;M=+b[C>>3];I=e+24|0;Q=L+56|0;G=L+72|0;M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*.125;b[g+8>>3]=M;D=(+b[c>>3]-+b[Z>>3])*2.0+F;b[g+16>>3]=D;b[g+24>>3]=M;b[g+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[g+40>>3]=M;b[g+48>>3]=F;b[g+56>>3]=M;ar(A,g,i,f);L2(g);Y=qF(Y)|0;M=+b[E>>3];M=M-+b[c>>3]+(+b[e>>3]-M)*.5+ +b[Z>>3];b[Y>>3]=M;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*-.625;b[Y+8>>3]=F;D=(+b[c>>3]-+b[Z>>3])*2.0+M;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=F;b[Y+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Y+40>>3]=F;b[Y+48>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];F=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-F)*.5+F;G=m+16|0;b[G>>3]=+b[e>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);b[m>>3]=+b[E>>3];F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=+b[Y>>3];b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 268435456:break;default:break A}Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];E=L+48|0;I=L+56|0;Z=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[I>>3]-+b[Z>>3])*.5;b[Y+16>>3]=+b[E>>3];F=+b[I>>3];b[Y+24>>3]=F-(F-+b[Z>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=(+b[I>>3]-+b[Z>>3])*.5+ +b[G>>3];b[Y+48>>3]=+b[e>>3];b[Y+56>>3]=(+b[I>>3]-+b[Z>>3])*.5+ +b[G>>3];ar(A,Y,i,f);C=e+16|0;F=(+b[c>>3]-+b[E>>3])*.25;M=F+ +b[C>>3];b[m>>3]=M;D=+b[G>>3];g=e+24|0;y=+b[I>>3]-+b[Z>>3];D=(+b[g>>3]-D)*.5+D+y*.125;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F+M;f=m+24|0;b[f>>3]=D-y*.25;tr(A,m,2);y=(+b[c>>3]-+b[E>>3])*.25;D=y+ +b[C>>3];b[m>>3]=D;M=+b[G>>3];F=+b[I>>3]-+b[Z>>3];M=(+b[g>>3]-M)*.5+M+F*-.125;b[Q>>3]=M;b[i>>3]=y+D;b[f>>3]=F*.25+M;tr(A,m,2);M=(+b[c>>3]-+b[E>>3])*.25;b[m>>3]=M+ +b[C>>3];F=(+b[I>>3]-+b[Z>>3])*.75+ +b[G>>3];b[Q>>3]=F;b[i>>3]=+b[e>>3]-M;b[f>>3]=F;tr(A,m,2);L2(Y);break}else if((r|0)<301989888){switch(r|0){case 285212672:break;default:break A}Z=qF(i<<4)|0;E=e+16|0;M=+b[E>>3];G=L+48|0;M=(+b[c>>3]-+b[G>>3]+(+b[e>>3]-M))*.5+M;b[Z>>3]=M;C=e+40|0;y=+b[C>>3];I=e+24|0;y=(+b[c>>3]-+b[G>>3]+(+b[I>>3]-y))*.5+y;b[Z+8>>3]=y;b[Z+16>>3]=M;M=+b[C>>3];u=+b[c>>3]-+b[G>>3];M=(+b[I>>3]-M-u)*.5+M;b[Z+24>>3]=M;F=+b[E>>3];F=(+b[e>>3]-F-u)*.5+F;b[Z+32>>3]=F;b[Z+40>>3]=M;b[Z+48>>3]=F;b[Z+56>>3]=y;ar(A,Z,i,f);L2(Z);y=+b[E>>3];y=(+b[e>>3]-y)*.5+y;F=+b[c>>3]-+b[G>>3];M=F*.75;u=y+M;b[m>>3]=u;D=+b[C>>3];D=(+b[I>>3]-D)*.5+D;M=D+M;Z=m+8|0;b[Z>>3]=M;Q=m+16|0;b[Q>>3]=u;F=F*-.75;D=D+F;Y=m+24|0;b[Y>>3]=D;F=y+F;b[m+32>>3]=F;b[m+40>>3]=D;b[m+48>>3]=F;b[m+56>>3]=M;i=m+64|0;a[i>>2]=a[m>>2];a[i+4>>2]=a[m+4>>2];a[i+8>>2]=a[m+8>>2];a[i+12>>2]=a[m+12>>2];tr(A,m,5);M=+b[E>>3];F=+b[e>>3];b[m>>3]=(F-M)*.5+M+(+b[c>>3]-+b[G>>3])*.75;M=+b[C>>3];b[Z>>3]=(+b[I>>3]-M)*.5+M;b[Q>>3]=F;i=e+8|0;f=e+56|0;b[Y>>3]=(+b[i>>3]-+b[f>>3])*.5+M;tr(A,m,2);M=+b[E>>3];b[m>>3]=M;F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[Q>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[G>>3])*-.75;b[Y>>3]=(+b[i>>3]-+b[f>>3])*.5+F;tr(A,m,2);break}else{switch(r|0){case 301989888:break;default:break A}Q=i+12|0;Y=qF(Q<<4)|0;I=e+16|0;s=+b[I>>3];B=L+48|0;s=(+b[e>>3]-s)*.5+s+(+b[c>>3]-+b[B>>3])*.25;b[Y>>3]=s;Z=e+40|0;y=+b[Z>>3];G=e+24|0;E=L+56|0;C=L+72|0;y=(+b[E>>3]-+b[C>>3]+(+b[G>>3]-y))*.5+y;g=Y+8|0;b[g>>3]=y;b[Y+16>>3]=s;y=(+b[E>>3]-+b[C>>3])*.125+y;v=Y+24|0;b[v>>3]=y;D=s-(+b[c>>3]-+b[B>>3])*.125;i=Y+32|0;b[i>>3]=D;u=(+b[E>>3]-+b[C>>3])*.125+y;b[Y+40>>3]=u;b[Y+48>>3]=s;M=(+b[E>>3]-+b[C>>3])*.125+u;b[Y+56>>3]=M;b[Y+64>>3]=s;s=(+b[E>>3]-+b[C>>3])*.125+M;b[Y+72>>3]=s;b[Y+80>>3]=D;b[Y+88>>3]=s;D=+b[I>>3];D=(+b[e>>3]-D)*.5+D;b[Y+96>>3]=D;b[Y+104>>3]=M;F=D-(+b[c>>3]-+b[B>>3])*.125;b[Y+112>>3]=F;b[Y+120>>3]=s;F=F-(+b[c>>3]-+b[B>>3])*.125;b[Y+128>>3]=F;b[Y+136>>3]=s;b[Y+144>>3]=F;b[Y+152>>3]=M;M=(+b[c>>3]-+b[B>>3])*.125+F;b[Y+160>>3]=M;b[Y+168>>3]=u;b[Y+176>>3]=F;b[Y+184>>3]=y;b[Y+192>>3]=F;F=+b[g>>3];b[Y+200>>3]=F;b[Y+208>>3]=M;b[Y+216>>3]=F;g=Y+224|0;b[g>>3]=D;b[Y+232>>3]=+b[v>>3];b[Y+240>>3]=+b[i>>3];b[Y+248>>3]=F;ar(A,Y,Q,f);F=+b[g>>3];b[m>>3]=F;D=+b[Z>>3];D=(+b[G>>3]-D)*.5+D;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F;f=m+24|0;b[f>>3]=(+b[E>>3]-+b[C>>3])*.125+D;tr(A,m,2);D=+b[g>>3];b[m>>3]=D;F=+b[Z>>3];M=+b[E>>3]-+b[C>>3];F=(+b[G>>3]-F)*.5+F+M*.25;b[Q>>3]=F;b[i>>3]=D;b[f>>3]=M*.125+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}}else{if((r|0)<369098752){if((r|0)<335544320){switch(r|0){case 318767104:break;default:break A}Q=i+4|0;Y=qF(Q<<4)|0;I=e+16|0;D=+b[I>>3];i=L+48|0;D=(+b[e>>3]-D)*.5+D+(+b[c>>3]-+b[i>>3])*.125;b[Y>>3]=D;Z=e+40|0;F=+b[Z>>3];G=e+24|0;E=L+56|0;C=L+72|0;F=(+b[E>>3]-+b[C>>3]+(+b[G>>3]-F))*.5+F;b[Y+8>>3]=F;u=(+b[c>>3]-+b[i>>3])*.125+D;b[Y+16>>3]=u;M=(+b[E>>3]-+b[C>>3])*.125+F;b[Y+24>>3]=M;b[Y+32>>3]=u;u=(+b[E>>3]-+b[C>>3])*.25+M;b[Y+40>>3]=u;b[Y+48>>3]=D;y=(+b[E>>3]-+b[C>>3])*.125+u;b[Y+56>>3]=y;D=D-(+b[c>>3]-+b[i>>3])*.25;b[Y+64>>3]=D;b[Y+72>>3]=y;y=D-(+b[c>>3]-+b[i>>3])*.125;b[Y+80>>3]=y;b[Y+88>>3]=u;b[Y+96>>3]=y;b[Y+104>>3]=M;b[Y+112>>3]=D;b[Y+120>>3]=F;ar(A,Y,Q,f);F=+b[I>>3];F=(+b[e>>3]-F)*.5+F;b[m>>3]=F;D=+b[Z>>3];D=(+b[G>>3]-D)*.5+D;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F;f=m+24|0;b[f>>3]=(+b[E>>3]-+b[C>>3])*.125+D;tr(A,m,2);D=+b[I>>3];D=(+b[e>>3]-D)*.5+D;b[m>>3]=D;F=+b[Z>>3];M=+b[E>>3]-+b[C>>3];F=(+b[G>>3]-F)*.5+F+M*.25;b[Q>>3]=F;b[i>>3]=D;b[f>>3]=M*.125+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}if((r|0)<352321536){switch(r|0){case 335544320:break;default:break A}I=i+12|0;Y=qF(I<<4)|0;Z=e+16|0;s=+b[Z>>3];g=L+48|0;s=(+b[e>>3]-s)*.5+s+(+b[c>>3]-+b[g>>3])*.25;b[Y>>3]=s;G=e+40|0;y=+b[G>>3];Q=e+24|0;B=L+56|0;v=L+72|0;y=(+b[B>>3]-+b[v>>3]+(+b[Q>>3]-y))*.5+y;i=Y+8|0;b[i>>3]=y;b[Y+16>>3]=s;y=(+b[B>>3]-+b[v>>3])*.125+y;E=Y+24|0;b[E>>3]=y;M=s-(+b[c>>3]-+b[g>>3])*.125;C=Y+32|0;b[C>>3]=M;u=(+b[B>>3]-+b[v>>3])*.125+y;b[Y+40>>3]=u;b[Y+48>>3]=s;D=(+b[B>>3]-+b[v>>3])*.125+u;b[Y+56>>3]=D;b[Y+64>>3]=s;s=(+b[B>>3]-+b[v>>3])*.125+D;b[Y+72>>3]=s;b[Y+80>>3]=M;b[Y+88>>3]=s;M=+b[Z>>3];M=(+b[e>>3]-M)*.5+M;b[Y+96>>3]=M;b[Y+104>>3]=D;F=M-(+b[c>>3]-+b[g>>3])*.125;b[Y+112>>3]=F;b[Y+120>>3]=s;F=F-(+b[c>>3]-+b[g>>3])*.125;b[Y+128>>3]=F;b[Y+136>>3]=s;b[Y+144>>3]=F;b[Y+152>>3]=D;D=(+b[c>>3]-+b[g>>3])*.125+F;b[Y+160>>3]=D;b[Y+168>>3]=u;b[Y+176>>3]=F;b[Y+184>>3]=y;b[Y+192>>3]=F;F=+b[i>>3];b[Y+200>>3]=F;b[Y+208>>3]=D;b[Y+216>>3]=F;i=Y+224|0;b[i>>3]=M;b[Y+232>>3]=+b[E>>3];b[Y+240>>3]=+b[C>>3];b[Y+248>>3]=F;ar(A,Y,I,f);a[m>>2]=a[i>>2];a[m+4>>2]=a[i+4>>2];a[m+8>>2]=a[i+8>>2];a[m+12>>2]=a[i+12>>2];i=m+16|0;b[i>>3]=+b[m>>3];F=+b[G>>3];f=m+24|0;b[f>>3]=(+b[Q>>3]-F)*.5+F;tr(A,m,2);b[m>>3]=+b[Z>>3];F=+b[G>>3];b[m+8>>3]=(+b[Q>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 352321536:break;default:break A}Q=i+4|0;Y=qF(Q<<4)|0;I=e+16|0;M=+b[I>>3];C=L+48|0;M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[C>>3])*.125;b[Y>>3]=M;Z=e+40|0;F=+b[Z>>3];G=e+24|0;g=L+56|0;E=L+72|0;F=(+b[g>>3]-+b[E>>3]+(+b[G>>3]-F))*.5+F;i=Y+8|0;b[i>>3]=F;u=(+b[c>>3]-+b[C>>3])*.125+M;b[Y+16>>3]=u;D=(+b[g>>3]-+b[E>>3])*.125+F;b[Y+24>>3]=D;b[Y+32>>3]=u;u=(+b[g>>3]-+b[E>>3])*.25+D;b[Y+40>>3]=u;b[Y+48>>3]=M;y=(+b[g>>3]-+b[E>>3])*.125+u;b[Y+56>>3]=y;M=M-(+b[c>>3]-+b[C>>3])*.25;b[Y+64>>3]=M;b[Y+72>>3]=y;y=M-(+b[c>>3]-+b[C>>3])*.125;b[Y+80>>3]=y;b[Y+88>>3]=u;b[Y+96>>3]=y;b[Y+104>>3]=D;b[Y+112>>3]=M;b[Y+120>>3]=F;ar(A,Y,Q,f);F=+b[I>>3];F=(+b[e>>3]-F)*.5+F;b[m>>3]=F;Q=m+8|0;b[Q>>3]=+b[i>>3];i=m+16|0;b[i>>3]=F;F=+b[Z>>3];f=m+24|0;b[f>>3]=(+b[G>>3]-F)*.5+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<402653184)if((r|0)<385875968){switch(r|0){case 369098752:break;default:break A}i=i+5|0;Y=qF(i<<4)|0;m=L+48|0;b[Y>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;Z=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[Z>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[m>>3];F=+b[Z>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=+b[G>>3];F=+b[c>>3];b[Y+48>>3]=(F-+b[m>>3])*.5+F;b[Y+56>>3]=+b[G>>3];F=+b[c>>3];b[Y+64>>3]=(F-+b[m>>3])*.5+F;b[Y+72>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+80>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;b[Y+88>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;G=e+56|0;b[Y+104>>3]=+b[G>>3];Q=e+8|0;F=+b[Q>>3];b[Y+120>>3]=F-(F-+b[G>>3])*.5;b[Y+112>>3]=+b[e>>3];b[Y+136>>3]=+b[Q>>3];b[Y+128>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;ar(A,Y,i,f);L2(Y);break}else{switch(r|0){case 385875968:break;default:break A}i=i+3|0;Y=qF(i<<4)|0;m=L+48|0;b[Y>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;Z=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[Z>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[m>>3];F=+b[Z>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+48>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;b[Y+56>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+64>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;G=e+56|0;b[Y+72>>3]=+b[G>>3];Q=e+8|0;F=+b[Q>>3];b[Y+88>>3]=F-(F-+b[G>>3])*.5;b[Y+80>>3]=+b[e>>3];b[Y+104>>3]=+b[Q>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;ar(A,Y,i,f);L2(Y);break}else if((r|0)<419430400){switch(r|0){case 402653184:break;default:break A}i=i+3|0;Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];Z=e+8|0;G=L+48|0;Q=L+56|0;m=L+72|0;b[Y+8>>3]=+b[Z>>3]-(+b[Q>>3]-+b[m>>3])*.5;F=+b[c>>3];b[Y+16>>3]=(F-+b[G>>3])*.5+F;b[Y+24>>3]=+b[Z>>3]-(+b[Q>>3]-+b[m>>3])*.5;F=+b[c>>3];b[Y+32>>3]=(F-+b[G>>3])*.5+F;b[Y+40>>3]=+b[L+40>>3];b[Y+48>>3]=+b[e+16>>3];F=+b[e+24>>3];Z=e+40|0;b[Y+56>>3]=F-(F-+b[Z>>3])*.5;F=+b[c>>3];b[Y+64>>3]=(F-+b[G>>3])*.5+F;b[Y+72>>3]=+b[Z>>3];b[Y+88>>3]=(+b[Q>>3]-+b[m>>3])*.5+ +b[Z>>3];F=+b[c>>3];b[Y+80>>3]=(F-+b[G>>3])*.5+F;b[Y+104>>3]=(+b[Q>>3]-+b[m>>3])*.5+ +b[e+56>>3];b[Y+96>>3]=+b[e>>3];ar(A,Y,i,f);L2(Y);break}else{switch(r|0){case 419430400:break;default:break A}i=i+5|0;Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];m=e+8|0;Q=L+48|0;Z=L+56|0;G=L+72|0;b[Y+8>>3]=+b[m>>3]-(+b[Z>>3]-+b[G>>3])*.5;F=+b[c>>3];b[Y+16>>3]=(F-+b[Q>>3])*.5+F;b[Y+24>>3]=+b[m>>3]-(+b[Z>>3]-+b[G>>3])*.5;F=+b[c>>3];b[Y+32>>3]=(F-+b[Q>>3])*.5+F;b[Y+40>>3]=+b[L+40>>3];b[Y+48>>3]=+b[e+16>>3];F=+b[e+24>>3];m=e+40|0;b[Y+56>>3]=F-(F-+b[m>>3])*.5;F=+b[c>>3];b[Y+64>>3]=(F-+b[Q>>3])*.5+F;b[Y+72>>3]=+b[m>>3];b[Y+88>>3]=(+b[Z>>3]-+b[G>>3])*.5+ +b[m>>3];F=+b[c>>3];b[Y+80>>3]=(F-+b[Q>>3])*.5+F;m=e+56|0;b[Y+104>>3]=(+b[Z>>3]-+b[G>>3])*.5+ +b[m>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[Q>>3])*.5;b[Y+112>>3]=+b[t>>3]-(+b[c>>3]-+b[Q>>3])*.5;b[Y+120>>3]=+b[m>>3];b[Y+128>>3]=+b[e+48>>3];b[Y+136>>3]=+b[m>>3];ar(A,Y,i,f);L2(Y);break}}}while(0);L2(L)}k=W;return}function cN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0;f=k;k=k+112|0;n=f;c=+b[e+8>>3]*2.0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];b[n+16>>3]=+b[e+16>>3];b[n+24>>3]=c-+b[e+24>>3];b[n+32>>3]=+b[e+32>>3];b[n+40>>3]=c-+b[e+40>>3];b[n+48>>3]=+b[e+48>>3];b[n+56>>3]=c-+b[e+56>>3];b[n+64>>3]=+b[e+64>>3];b[n+72>>3]=c-+b[e+72>>3];b[n+80>>3]=+b[e+80>>3];b[n+88>>3]=c-+b[e+88>>3];l=n+96|0;t=e+96|0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];lr(A,e,i,0,0,r&255);lr(A,n,7,0,0,0);k=f;return}function bN(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,a=0.0;a=+b[i>>3];f=+b[i+8>>3];f=(+b[r+8>>3]-f)*e+f;b[A>>3]=(+b[r>>3]-a)*e+a;b[A+8>>3]=f;return}function sN(A){A=A|0;A=a[(a[A+16>>2]|0)+8>>2]|0;if(A){A=a[a[A+4>>2]>>2]|0;if((A|0)!=91)if((A|0)==94)A=2;else return((A|0)==93?3:(A|0)==96?4:0)|0;else A=1}else A=0;return A|0}function wN(A){A=A|0;var e=0,i=0,f=0.0,n=0,l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0,Q=0,m=0,L=0,W=0,Y=0,F=0,V=0,J=0,N=0,R=0.0,H=0.0,p=0,x=0,T=0.0,j=0.0,S=0.0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0.0;AA=k;k=k+144|0;F=AA+112|0;N=AA+104|0;L=AA+96|0;W=AA+88|0;l=AA+80|0;K=AA+64|0;q=AA+48|0;p=AA+40|0;x=AA+32|0;t=AA+24|0;o=AA+16|0;m=AA+136|0;Q=AA+128|0;V=AA;$=qF(48)|0;_=A+16|0;P=a[(a[(a[_>>2]|0)+8>>2]|0)+8>>2]|0;n=(P|0)==1616;O=a[P>>2]|0;e=a[P+4>>2]|0;i=a[P+8>>2]|0;s=+b[P+16>>3];w=+b[P+32>>3];u=+b[P+24>>3];O=O|(gR(po(A,105511)|0)|0)&255;do{if(!n){if(!O){P=a[_>>2]|0;c=+b[P+32>>3]*72.0;f=+b[P+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);break}c=+CN(A);if(c>0.0)f=c;else{P=a[_>>2]|0;f=+b[P+32>>3];c=+b[P+40>>3];c=(f=0.0?.5:-.5))|0);f=c}}else{f=0.0;c=0.0}}while(0);P=kR(A,a[47160]|0,e,0)|0;S=+oR(A,a[47162]|0,0.0,-360.0)+s;if(!i){j=+oR(A,a[47163]|0,0.0,-100.0);Y=kR(A,a[47159]|0,4,0)|0;T=+oR(A,a[47164]|0,0.0,-100.0)}else{Y=i;j=w;T=u}e=a[(a[_>>2]|0)+104>>2]|0;i=e+24|0;a[K>>2]=a[i>>2];a[K+4>>2]=a[i+4>>2];a[K+8>>2]=a[i+8>>2];a[K+12>>2]=a[i+12>>2];h=+b[K>>3];if(h>0.0){if(!n)J=11}else if(!(n|!(+b[K+8>>3]>0.0)))J=11;if((J|0)==11){e=po(A,105496)|0;do{if(e){b[o>>3]=0.0;b[t>>3]=0.0;a[l>>2]=t;a[l+4>>2]=o;e=J3(e,105503,l)|0;s=+b[t>>3];if(s<0.0){b[t>>3]=0.0;s=0.0}w=+b[o>>3];if(w<0.0){b[o>>3]=0.0;u=0.0}else u=w;if((e|0)<=0){w=h+16.0;b[K>>3]=w;s=8.0;break}s=s*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0);w=h+s;b[K>>3]=w;if((e|0)!=1){s=u*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0)}}else{w=h+16.0;b[K>>3]=w;s=8.0}}while(0);e=K+8|0;b[e>>3]=+b[e>>3]+s;e=a[(a[_>>2]|0)+104>>2]|0;h=w}B=+b[e+24>>3];s=+b[a[(a[(Id(A)|0)+16>>2]|0)+8>>2]>>3];if(s>0.0){R=s*72.0;R=+(~~(R+(R>=0.0?.5:-.5))|0);H=+IN(h,R);b[K>>3]=H;o=K+8|0;b[o>>3]=+IN(+b[o>>3],R)}else H=h;e=a[(a[_>>2]|0)+8>>2]|0;do{if(!(r[e+12>>0]|0)){i=po(A,109025)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){Ug(Q,Id(A)|0,i);e=a[Q>>2]|0;n=a[Q+4>>2]|0;if((n&e|0)==-1){e=Vh(A)|0;a[L>>2]=i;a[L+4>>2]=e;ao(0,105587,L)|0;i=0;e=0;break}else{r[(a[(Id(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=n+2|0;break}}else{i=0;e=0}}else{e=a[e>>2]|0;if((r[e>>0]|0)==99?(A1(e,105519)|0)==0:0){i=po(A,105526)|0;Ug(m,Id(A)|0,i);e=a[m>>2]|0;n=a[m+4>>2]|0;if((n&e|0)==-1){e=Vh(A)|0;a[W>>2]=i|0?i:105536;a[W+4>>2]=e;ao(0,105542,W)|0;i=0;e=0;break}else{r[(a[(Id(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=n+2|0;break}}else{i=0;e=0}}}while(0);R=+(i|0);b[q>>3]=H>R?H:R;R=+b[K+8>>3];d=+(e|0);e=q+8|0;b[e>>3]=R>d?R:d;i=(Y|0)<3&(T!=0.0|j!=0.0)?120:Y;n=po(A,105628)|0;if(!n)l=99;else{l=r[n>>0]|0;l=l<<24>>24==116?116:l<<24>>24==98?98:99}n=a[_>>2]|0;r[(a[n+104>>2]|0)+80>>0]=l;if((i|0)==4?(T==0.0?((~~(S+(S>=0.0?.5:-.5))|0)%90|0|0)==0:0)&j==0.0:0)o=1;else J=39;do{if((J|0)==39){n=a[(a[(a[n+8>>2]|0)+8>>2]|0)+44>>2]|0;if(n|0){o=a[n>>2]|0;a[F>>2]=a[q>>2];a[F+4>>2]=a[q+4>>2];a[F+8>>2]=a[q+8>>2];a[F+12>>2]=a[q+12>>2];V5[o&63](V,F);a[q>>2]=a[V>>2];a[q+4>>2]=a[V+4>>2];a[q+8>>2]=a[V+8>>2];a[q+12>>2]=a[V+12>>2];o=0;break}s=+b[e>>3];w=s*1.4142135623730951;if(f>w&l<<24>>24==99){u=s/f;u=+z(+(1.0/(1.0-u*u)));u=+b[q>>3]*u;b[q>>3]=u}else{u=+b[q>>3]*1.4142135623730951;b[q>>3]=u;b[e>>3]=w;s=w}if((i|0)>2){G=+D(+(3.141592653589793/+(i|0)));b[q>>3]=u/G;b[e>>3]=s/G;o=0}else o=0}}while(0);s=+b[e>>3];n=dR(A,a[47165]|0,137308)|0;if((r[n>>0]|0)==115?(A1(n,108230)|0)==0:0){b[q>>3]=c;b[e>>3]=f;N=$+40|0;a[N>>2]=a[N>>2]|2048}else{if(!((gR(n)|0)<<24>>24)){G=+b[q>>3];c=c>G?c:G;b[q>>3]=c;G=+b[e>>3];f=f>G?f:G}else{J=a[(a[_>>2]|0)+104>>2]|0;if(!(!(c<+b[J+24>>3])?!(f<+b[J+32>>3]):0)){V=Vh(A)|0;J=Vh(Id(A)|0)|0;a[N>>2]=V;a[N+4>>2]=J;ao(0,105637,N)|0}b[q>>3]=c}b[e>>3]=f}if(!O){G=f;Z=c}else{Z=c>f?c:f;b[e>>3]=Z;b[q>>3]=Z;G=Z}do{if(!((gR(dR(A,a[47156]|0,137308)|0)|0)<<24>>24)){if(o){f=+b[(H>+b[q>>3]?K:q)>>3];break}f=+b[e>>3];if(R>3]*+z(+(1.0-R*R/(f*f)));f=H>f?H:f}else f=H}else f=H}while(0);n=a[(a[_>>2]|0)+104>>2]|0;b[n+40>>3]=B-h+f;Q=$+40|0;if(!(a[Q>>2]&2048)){I=+b[e>>3]-s;b[n+48>>3]=(R1;n=t?P:1;A:do{if((i|0)<3){n=qF(n<<5)|0;c=+b[q>>3]*.5;f=+b[e>>3]*.5;b[n>>3]=-c;b[n+8>>3]=-f;b[n+16>>3]=c;b[n+24>>3]=f;if(t){i=1;l=2;while(1){if((i|0)==(P|0))break;Z=c+4.0;G=f+4.0;b[n+(l<<4)>>3]=-Z;b[n+(l<<4)+8>>3]=-G;x=l|1;b[n+(x<<4)>>3]=Z;b[n+(x<<4)+8>>3]=G;i=i+1|0;l=l+2|0;c=Z;f=G}b[q>>3]=c*2.0;b[e>>3]=f*2.0;i=2}else i=2}else{n=qF(U(n<<4,i)|0)|0;l=a[(a[(a[(a[_>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;e:do{if(!l){h=6.283185307179586/+(i|0);v=h*.5;d=+M(+v);B=+v1(+y(+j)+ +y(+T),1.0);v=T*1.4142135623730951/+D(+v);g=j*.5;E1((h+-3.141592653589793)*.5,p,x);E=S*.017453292519943295;c=0.0;f=0.0;s=0.0;l=0;w=+b[x>>3]*.5;u=+b[p>>3]*.5;while(1){if((l|0)>=(i|0))break e;s=s+h;E1(s,p,x);w=+b[x>>3]*d+w;u=+b[p>>3]*d+u;I=(u*v+B)*w+g*u;E1(+X(+u,+I)+E,p,x);I=+v1(I,u);C=+b[x>>3]*I*+b[q>>3];I=+b[p>>3]*I*+b[e>>3];eA=+y(+C);f=eA>f?eA:f;eA=+y(+I);c=eA>c?eA:c;b[n+(l<<4)>>3]=C;b[n+(l<<4)+8>>3]=I;if(o)break;else l=l+1|0}eA=-C;b[n+16>>3]=eA;b[n+24>>3]=I;b[n+32>>3]=eA;eA=-I;b[n+40>>3]=eA;b[n+48>>3]=C;b[n+56>>3]=eA}else{V5[a[l+4>>2]&63](n,q);c=+b[e>>3]*.5;f=+b[q>>3]*.5}}while(0);f=f*2.0;c=c*2.0;Z=Z>f?Z:f;b[q>>3]=Z;eA=G>c?G:c;b[e>>3]=eA;f=Z/f;c=eA/c;l=0;while(1){if((l|0)>=(i|0))break;N=n+(l<<4)|0;A=n+(l<<4)+8|0;eA=+b[A>>3]*c;b[N>>3]=+b[N>>3]*f;b[A>>3]=eA;l=l+1|0}if(t){t=i+-1|0;c=+b[n>>3];s=+b[n+8>>3];f=+X(+(s-+b[n+(t<<4)+8>>3]),+(c-+b[n+(t<<4)>>3]));t=0;e:while(1){if((t|0)>=(i|0))break;o=t+1|0;l=(o|0)%(i|0)|0;w=+b[n+(l<<4)>>3];u=+b[n+(l<<4)+8>>3];h=+X(+(u-s),+(w-c));G=(f+3.141592653589793-h)*.5;eA=4.0/+M(+G);E1(f-G,p,x);b[p>>3]=+b[p>>3]*eA;b[x>>3]=+b[x>>3]*eA;l=1;f=s;while(1){if((l|0)==(P|0)){f=h;t=o;c=w;s=u;continue e}G=+b[x>>3]+c;eA=+b[p>>3]+f;A=(U(l,i)|0)+t|0;b[n+(A<<4)>>3]=G;b[n+(A<<4)+8>>3]=eA;l=l+1|0;c=G;f=eA}}t=U(i,P+-1|0)|0;l=0;while(1){if((l|0)>=(i|0))break A;x=l+t|0;G=+b[n+(x<<4)+8>>3];Z=+y(+ +b[n+(x<<4)>>3])*2.0;eA=+b[q>>3];b[q>>3]=Z>eA?Z:eA;G=+y(+G)*2.0;eA=+b[e>>3];b[e>>3]=G>eA?G:eA;l=l+1|0}}}}while(0);a[$>>2]=O;a[$+4>>2]=P;a[$+8>>2]=i;b[$+16>>3]=S;b[$+32>>3]=j;b[$+24>>3]=T;a[$+44>>2]=n;f=+b[q>>3];if(!(a[Q>>2]&2048)){i=a[_>>2]|0;b[i+32>>3]=f*.013888888888888888}else{i=a[_>>2]|0;b[i+32>>3]=+b[(H>f?K:q)>>3]*.013888888888888888;e=(R>+b[e>>3]?K:q)+8|0}b[i+40>>3]=+b[e>>3]*.013888888888888888;a[i+12>>2]=$;k=AA;return}function uN(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+64|0;t=u+40|0;r=u+32|0;c=u+16|0;w=u;i=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;s=A+16|0;f=a[a[(a[s>>2]|0)+104>>2]>>2]|0;a[47282]=f;f=S2(f)|0;f=qF(((f|0)>1?f:1)+1|0)|0;e=oN(A,i,1,f)|0;if(!e){a[r>>2]=a[a[(a[s>>2]|0)+104>>2]>>2];ao(1,105472,r)|0;a[47282]=105493;e=oN(A,i,1,f)|0}L2(f);hN(t,A,e);i=a[s>>2]|0;l=+b[i+32>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))|0);b[w>>3]=l;n=+b[i+40>>3]*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);i=w+8|0;b[i>>3]=n;if(!((gR(dR(A,a[47165]|0,137308)|0)|0)<<24>>24)){l=+b[(+b[e>>3]>l?e:w)>>3];b[w>>3]=l;r=e+8|0;n=+b[(+b[r>>3]>n?e:w)+8>>3];b[i>>3]=n;i=r;r=e}else{i=e+8|0;r=e}A=(gR(dR(A,a[47156]|0,137308)|0)|0)&255;a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2];dN(e,t,A);BN(c,l*-.5,n*.5);a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];vN(e,t,15);w=a[s>>2]|0;b[w+32>>3]=+b[r>>3]*.013888888888888888;b[w+40>>3]=(+b[i>>3]+1.0)*.013888888888888888;a[w+12>>2]=e;k=u;return}function kN(A){A=A|0;var e=0.0,i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0.0,w=0;t=qF(48)|0;c=A+16|0;n=a[(a[(a[(a[c>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+oR(A,a[47146]|0,1797693134862315708145274.0e284,0.0);e=+oR(A,a[47145]|0,1797693134862315708145274.0e284,0.0);f=f0.0?f>.0003?f:.0003:f;l=a[c>>2]|0;b[l+40>>3]=f;b[l+32>>3]=f;e=f*72.0;n=kR(A,a[47160]|0,n,0)|0;l=qF((n|0)<1?32:n<<5)|0;f=f*36.0;r=-f;b[l>>3]=r;b[l+8>>3]=r;b[l+16>>3]=f;b[l+24>>3]=f;if((n|0)>1){A=1;i=2;r=f;e=f;while(1){if((A|0)==(n|0))break;s=r+4.0;f=e+4.0;b[l+(i<<4)>>3]=-s;b[l+(i<<4)+8>>3]=-f;w=i|1;b[l+(w<<4)>>3]=s;b[l+(w<<4)+8>>3]=f;A=A+1|0;i=i+2|0;r=s;e=f}e=r*2.0}a[t>>2]=1;a[t+4>>2]=n;a[t+8>>2]=2;w=t+16|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;a[w+16>>2]=0;a[w+20>>2]=0;a[t+44>>2]=l;s=e*.013888888888888888;w=a[c>>2]|0;b[w+32>>3]=s;b[w+40>>3]=s;a[w+12>>2]=t;return}function oN(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0;n=qF(72)|0;u=a[(a[A+16>>2]|0)+104>>2]|0;w=0;l=1;t=a[47282]|0;A:while(1){c=r[t>>0]|0;switch(c<<24>>24){case 0:break A;case 92:{t=t+1|0;c=r[t>>0]|0;switch(c<<24>>24){case 124:case 125:case 123:case 92:{s=w;break}default:y=4}break}default:y=4}if((y|0)==4){y=0;switch(c<<24>>24){case 123:{s=w+1|0;break}case 125:{s=w+-1|0;break}default:{s=w;l=l+((w|0)==0&c<<24>>24==124&1)|0}}if((s|0)<0)break}w=s;t=t+1|0}m=n+56|0;a[m>>2]=qF(l<<2)|0;r[n+64>>0]=e;Z=(e|0)==0&1;G=u+82|0;Q=f+1|0;E=(i|0)!=0;C=u+16|0;I=u+4|0;g=u+8|0;c=0;w=0;e=0;v=0;s=0;i=0;u=f;l=0;t=0;A:while(1){o=c;c=0;e:while(1){i:while(1){B=i;r:while(1){d=c;k=l;f:while(1){h=w;a:while(1){while(1){if(v){y=78;break A}w=a[47282]|0;l=r[w>>0]|0;if((l+-1&255)>=31)break;a[47282]=w+1}switch(l<<24>>24|0){case 92:{y=53;break i}case 0:case 124:case 125:break r;case 60:break f;case 62:break a;case 123:break;default:{c=e;l=w;break i}}l=w+1|0;a[47282]=l;if(s|0){y=34;break A}if(!(r[l>>0]|0)){y=34;break A}i=oN(A,Z,0,f)|0;a[(a[m>>2]|0)+(h<<2)>>2]=i;if(!i){y=36;break A}else{h=h+1|0;s=4}}if(r[G>>0]|0){c=e;l=w;break i}if(!(s&16)){y=27;break A}if(k>>>0>Q>>>0?(L=k+-1|0,(L|0)!=(B|0)):0)l=(r[L>>0]|0)==32?L:k;else l=k;r[l>>0]=0;d=s3(f)|0;a[47282]=(a[47282]|0)+1;w=h;s=s&-17;k=l}if(s&6|0){y=22;break A}if(r[G>>0]|0){c=e;l=w;break i}a[47282]=w+1;w=h;s=s|18;c=d;B=f;l=f}if(!((s&16|0)==0&(E|l<<24>>24!=0))){y=38;break A}if(!(s&4)){c=qF(72)|0;a[(a[m>>2]|0)+(h<<2)>>2]=c;w=h+1|0}else{c=o;w=h}if(d|0)a[c+60>>2]=d;if(!(s&5)){r[f+t>>0]=32;s=s|1;t=t+1|0}l=f+t|0;if(s&1){if((t|0)>1?(W=l+-1|0,(W|0)!=(u|0)):0)l=(r[W>>0]|0)==32?W:l;r[l>>0]=0;u=s3(f)|0;a[c+52>>2]=pF(A,u,r[G>>0]|0?2:0,+b[C>>3],a[I>>2]|0,a[g>>2]|0)|0;r[c+64>>0]=1;u=f;t=0}l=a[47282]|0;switch(r[l>>0]|0){case 0:{v=1;i=B;l=k;continue A}case 125:{y=51;break A}default:{}}a[47282]=l+1;o=c;s=0;c=0;i=B;l=k}i:do{if((y|0)==53){y=0;c=f+t|0;l=w+1|0;switch(r[l>>0]|0){case 0:{c=e;l=w;break i}case 62:case 60:case 124:case 125:case 123:{c=e;break}case 32:{if(!(r[G>>0]|0))c=1;else y=55;break}default:y=55}if((y|0)==55){y=0;r[c>>0]=92;c=e;s=s|9;t=t+1|0}a[47282]=l}}while(0);e=f+t|0;if(s&4|0?(r[l>>0]|0)!=32:0){y=59;break A}if(!(s&24))s=(r[l>>0]|0)==32?s:s|9;if(!(s&8))if(!(s&16))i=B;else{w=r[l>>0]|0;e=(c|0)!=0;if(!(e|w<<24>>24!=32))if((k|0)!=(f|0))if((r[k+-1>>0]|0)==32)w=k;else y=73;else w=f;else y=73;if((y|0)==73){y=0;r[k>>0]=w;w=k+1|0;l=a[47282]|0}i=e?w+-1|0:B;k=w}else{w=r[l>>0]|0;i=(c|0)!=0;if(!((!(i|w<<24>>24!=32)?(r[e+-1>>0]|0)==32:0)?(r[G>>0]|0)==0:0)){r[e>>0]=w;t=t+1|0}if(i){i=B;u=f+t+-1|0}else i=B}l=l+1|0;a[47282]=l;while(1){if((r[l>>0]|0)>=0){w=h;e=c;c=d;l=k;continue e}B=l+1|0;a[47282]=B;r[f+t>>0]=r[l>>0]|0;t=t+1|0;l=B}}}if((y|0)==22){gN(n,d);n=0}else if((y|0)==27){gN(n,d);n=0}else if((y|0)==34){gN(n,d);n=0}else if((y|0)==36){gN(n,d);n=0}else if((y|0)==38){gN(n,d);n=0}else if((y|0)==51){a[47282]=l+1;a[n+48>>2]=w}else if((y|0)==59){gN(n,d);n=0}else if((y|0)==78)a[n+48>>2]=h;return n|0}function hN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+64|0;c=g+48|0;s=g+40|0;w=g+32|0;v=g+16|0;B=g;t=a[i+52>>2]|0;A:do{if(!t){w=v+8|0;u=i+48|0;o=i+56|0;h=i+64|0;d=B+8|0;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;t=0;while(1){if((t|0)>=(a[u>>2]|0))break A;hN(B,e,a[(a[o>>2]|0)+(t<<2)>>2]|0);if(!(r[h>>0]|0)){b[w>>3]=+b[w>>3]+ +b[d>>3];c=v;s=+b[v>>3]>+b[B>>3]?v:B}else{b[v>>3]=+b[v>>3]+ +b[B>>3];c=w;s=(+b[w>>3]>+b[d>>3]?v:B)+8|0}b[c>>3]=+b[s>>3];t=t+1|0}}else{n=+b[t+24>>3];f=+b[t+32>>3];if(n>0.0|f>0.0){t=po(e,105496)|0;do{if(t){a[c>>2]=s;a[c+4>>2]=w;t=J3(t,105503,c)|0;if((t|0)<=0){l=8.0;n=n+16.0;break}l=+b[s>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0);n=n+l;if((t|0)!=1){l=+b[w>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0)}}else{l=8.0;n=n+16.0}}while(0);f=l+f}b[v>>3]=n;b[v+8>>3]=f}}while(0);a[i>>2]=a[v>>2];a[i+4>>2]=a[v+4>>2];a[i+8>>2]=a[v+8>>2];a[i+12>>2]=a[v+12>>2];a[A>>2]=a[v>>2];a[A+4>>2]=a[v+4>>2];a[A+8>>2]=a[v+8>>2];a[A+12>>2]=a[v+12>>2];k=g;return}function dN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0;B=k;k=k+32|0;u=B+16|0;o=B;h=+b[e>>3];l=h-+b[A>>3];d=+b[e+8>>3];f=d-+b[A+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];e=a[A+52>>2]|0;if(!((i|0)!=0|(e|0)==0)){w=e+40|0;b[w>>3]=+b[w>>3]+l;w=e+48|0;b[w>>3]=+b[w>>3]+f}s=A+48|0;e=a[s>>2]|0;A:do{if(e|0){w=A+64|0;f=((r[w>>0]|0)==0?f:l)/+(e|0);c=A+56|0;t=0;while(1){if((t|0)>=(e|0))break A;A=a[(a[c>>2]|0)+(t<<2)>>2]|0;n=t+1|0;e=~~(f*+(n|0))-~~(f*+(t|0))|0;if(!(r[w>>0]|0))BN(o,h,+b[A+8>>3]+ +(e|0));else BN(o,+b[A>>3]+ +(e|0),d);a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2];dN(A,u,i);t=n;e=a[s>>2]|0}}}while(0);k=B;return}function BN(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function vN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0;h=k;k=k+48|0;t=h+32|0;w=h+16|0;s=h;r[A+65>>0]=i;c=A+16|0;B=+b[e>>3];o=e+8|0;d=+b[o>>3];BN(w,B,d-+b[A+8>>3]);a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];c=A+32|0;BN(s,+b[A>>3]+B,d);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];c=a[A+48>>2]|0;s=c+-1|0;w=(i|0)==0;u=A+56|0;l=A+64|0;n=0;while(1){if((n|0)>=(c|0))break;do{if(!w){A=(n|0)==0;f=(n|0)==(s|0);if(!(r[l>>0]|0))if(A){A=f?15:14;break}else{A=f?11:10;break}else if(A){A=f?15:13;break}else{A=f?7:5;break}}else A=0}while(0);f=a[(a[u>>2]|0)+(n<<2)>>2]|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];vN(f,t,A&i);if(!(r[l>>0]|0))b[o>>3]=+b[o>>3]-+b[(a[(a[u>>2]|0)+(n<<2)>>2]|0)+8>>3];else b[e>>3]=+b[a[(a[u>>2]|0)+(n<<2)>>2]>>3]+ +b[e>>3];n=n+1|0}k=h;return}function gN(A,e){A=A|0;e=e|0;EN(A);L2(e);return}function EN(A){A=A|0;var e=0,i=0,r=0;i=A+48|0;r=A+56|0;e=0;while(1){if((e|0)>=(a[i>>2]|0))break;EN(a[(a[r>>2]|0)+(e<<2)>>2]|0);e=e+1|0}L2(a[A+60>>2]|0);TF(a[A+52>>2]|0);L2(a[r>>2]|0);L2(A);return}function CN(A){A=A|0;var e=0.0,i=0.0;i=+oR(A,a[47146]|0,0.0,.01);e=+oR(A,a[47145]|0,0.0,.02);e=(i>e?i:e)*72.0;return+ +(~~(e+(e>=0.0?.5:-.5))|0)}function IN(A,e){A=+A;e=+e;var i=0;i=~~(A/e);return+(+((+(i|0)*e+1.0e-05>2]|0)+8>>2]|0;if(!A)A=0;else A=(a[a[A+4>>2]>>2]|0)==91&1;return A|0}function GN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;f=a[47283]|0;A:do{if(!f)e=0;else{n=a[47284]|0;i=0;while(1){if((i|0)>=(n|0)){e=0;break A}e=a[f+(i<<2)>>2]|0;l=a[e>>2]|0;if((r[l>>0]|0)==(r[A>>0]|0)?(A1(l,A)|0)==0:0)break A;i=i+1|0}}}while(0);return e|0}function QN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;if(WR(po(e,105526)|0)|0)if((r[A>>0]|0)==101?(A1(A,105685)|0)==0:0){e=101;n=6}else{A=105519;n=4}else n=4;if((n|0)==4){e=r[A>>0]|0;if(e<<24>>24==99)if(!(A1(A,105519)|0))n=11;else{e=99;n=6}else n=6}A:do{if((n|0)==6){i=20848;while(1){f=a[i>>2]|0;if(!f){n=11;break A}if((r[f>>0]|0)==e<<24>>24?(A1(f,A)|0)==0:0){A=i;break A}i=i+16|0}}}while(0);if((n|0)==11)A=mN(A)|0;return A|0}function mN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;e=GN(A)|0;if(!e){f=a[47284]|0;e=f+1|0;a[47284]=e;i=a[47283]|0;if(!i)e=$F(e<<2)|0;else e=eV(i,e<<2)|0;a[47283]=e;e=qF(16)|0;a[(a[47283]|0)+(f<<2)>>2]=e;a[e>>2]=a[5212];a[e+4>>2]=a[5213];a[e+8>>2]=a[5214];a[e+12>>2]=a[5215];i=s3(A)|0;a[e>>2]=i;do{if(!0){if((r[A>>0]|0)==99?(A1(A,105519)|0)==0:0){i=1;break}a[n>>2]=a[5212];a[n+4>>2]=i;ao(0,105690,n)|0;i=0}else i=1}while(0);r[e+12>>0]=i}k=l;return e|0}function LN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[e>>3]*.5257311121191336;i=+b[e+8>>3]*.8944271909999159;i=r>i?r:i;b[A>>3]=i*4.97979656976556;b[A+8>>3]=i*4.73606797749979;return}function WN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0;r=+b[e>>3];c=e+8|0;f=+b[c>>3];i=f/r;if(!(i>.9510565162951536))if(i<.9510565162951536){t=r;f=r*.9510565162951536}else t=r;else t=f*1.0514622242382672;r=t*.5257311121191336;n=t*.20081141588622725;l=t*.05020285397155681;i=.3141592653589793;a=0;while(1){if((a|0)>=10)break;b[A+(a<<4)>>3]=+D(+i)*r;b[A+(a<<4)+8>>3]=+M(+i)*r-l;w=i+.6283185307179586;s=a|1;b[A+(s<<4)>>3]=+D(+w)*n;b[A+(s<<4)+8>>3]=+M(+w)*n-l;i=i+1.2566370614359172;a=a+2|0}b[e>>3]=t;b[c>>3]=f;return}function yN(A){A=A|0;A=a[(a[A+16>>2]|0)+12>>2]|0;if(A|0){L2(a[A+44>>2]|0);L2(A)}return}function zN(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+80|0;b=u+40|0;n=u;w=u+64|0;l=u+56|0;if(!(r[i>>0]|0)){n=4208;l=A+40|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0))}else{t=(f|0)==0?106356:f;a[w>>2]=15;c=e+16|0;f=a[c>>2]|0;do{if(r[(a[f+104>>2]|0)+82>>0]|0){f=ta(e,i,w)|0;if(!f){f=a[c>>2]|0;s=8;break}if(TN(e,f,n,t,a[w>>2]|0,0)|0){a[b>>2]=Vh(e)|0;a[b+4>>2]=i;a[b+8>>2]=t;ao(0,106358,b)|0}}else s=8}while(0);if((s|0)==8){if((a[(a[f+8>>2]|0)+8>>2]|0)==1664)l=0;else{a[l>>2]=e;a[l+4>>2]=0}if(TN(e,0,n,i,a[w>>2]|0,l)|0)jN(e,i)}a[n+36>>2]=0;l=A+40|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0))}k=u;return}function YN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0;d=k;k=k+112|0;w=d+96|0;s=d+80|0;o=d+64|0;c=d+48|0;h=d+32|0;u=d;f=d+16|0;if(!A){a[47287]=0;A=0}else{n=a[A+4>>2]|0;A=a[A>>2]|0;l=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];WF(f,w,l);a[h>>2]=a[f>>2];a[h+4>>2]=a[f+4>>2];a[h+8>>2]=a[f+8>>2];a[h+12>>2]=a[f+12>>2];A:do{if(n){i=+b[n+8>>3];r=+b[n+24>>3];B=+b[h>>3];if((+b[n>>3]<=B?B<=+b[n+16>>3]:0)?(t=+b[h+8>>3],i<=t):0)A=t<=r&1;else A=0}else{if((A|0)==(a[47287]|0)){f=a[47288]|0;n=a[47290]|0;l=a[47289]|0}else{n=a[(a[A+16>>2]|0)+12>>2]|0;a[47291]=n;l=a[n+44>>2]|0;a[47289]=l;f=a[n+8>>2]|0;a[47288]=f;n=U((a[n+4>>2]|0)+-1|0,f)|0;n=(n|0)>0?n:0;a[47290]=n;a[47287]=A}A=0;e=0;while(1){if((A|0)>=(f|0)){A=1;break A}v=l+(n+A<<4)|0;a[u>>2]=a[v>>2];a[u+4>>2]=a[v+4>>2];a[u+8>>2]=a[v+8>>2];a[u+12>>2]=a[v+12>>2];v=l+(n+((A+4|0)%(f|0)|0)<<4)|0;a[c>>2]=a[h>>2];a[c+4>>2]=a[h+4>>2];a[c+8>>2]=a[h+8>>2];a[c+12>>2]=a[h+12>>2];a[o>>2]=a[46614];a[o+4>>2]=a[46615];a[o+8>>2]=a[46616];a[o+12>>2]=a[46617];a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];e=e+((xN(c,o,s,w)|0)==0&1)|0;if((e|0)==2){A=0;break}else A=A+2|0}}}while(0)}k=d;return A|0}function DN(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;i=a[A+16>>2]|0;if((r[(a[i+104>>2]|0)+82>>0]|0)!=0?(r[i+145>>0]|0)!=0:0)A=sa(A,e,0,f,n)|0;else A=0;return A|0}function MN(A,e){A=A|0;e=e|0;var i=0,l=0,t=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;R=k;k=k+48|0;D=R+24|0;Y=R+16|0;Q=R+8|0;G=R;J=R+32|0;w=R+28|0;N=a[A+16>>2]|0;X=N+208|0;i=a[X>>2]|0;if((i|0)==0?(f[N+260>>1]&1)==0:0)F=0;else y=4;if((y|0)==4)if(!(a[A+152>>2]&4)){Pi(A,i,a[N+228>>2]|0,a[N+244>>2]|0,a[N+212>>2]|0);F=1}else F=1;M=e+16|0;i=a[M>>2]|0;d=a[i+12>>2]|0;z=a[d+44>>2]|0;V=a[d+8>>2]|0;d=a[d+4>>2]|0;if((a[47285]|0)<(V|0)){i=V+5|0;a[47285]=i;l=a[47286]|0;if(!l)i=$F(i<<4)|0;else i=eV(l,i<<4)|0;a[47286]=i;i=a[M>>2]|0}W=(a[i+104>>2]|0)+56|0;i=i+16|0;a[W>>2]=a[i>>2];a[W+4>>2]=a[i+4>>2];a[W+8>>2]=a[i+8>>2];a[W+12>>2]=a[i+12>>2];W=a[M>>2]|0;m=+b[W+32>>3]*72.0;m=(+b[W+96>>3]+ +b[W+88>>3])/+(~~(m+(m>=0.0?.5:-.5))|0);L=+b[W+40>>3]*72.0;L=+b[W+80>>3]/+(~~(L+(L>=0.0?.5:-.5))|0);W=FN(A,e)|0;a[J>>2]=0;i=n[(a[M>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){B=BR(e,0,106256)|0;$i(A,B);er(A,BR(e,0,106264)|0);l=0;i=1;break}if(i&8|0){B=BR(e,0,106272)|0;$i(A,B);er(A,BR(e,0,106280)|0);l=0;i=1;break}if(i&4|0){B=BR(e,0,106288)|0;$i(A,B);er(A,BR(e,0,106296)|0);l=0;i=1;break}if(!(W&1))if(!(W&576)){l=0;i=0}else{l=VN(e)|0;i=1}else{l=VN(e)|0;if(!((qM(l,J,w)|0)<<24>>24)){er(A,l);i=1}else{er(A,a[J>>2]|0);i=a[J+4>>2]|0;s=kR(e,a[47173]|0,0,0)|0;t=+c[w>>2];if(!i)ir(A,137314,s,t);else ir(A,i,s,t);i=(W&2)>>>1|2}}B=JN(A,e)|0}else{B=BR(e,0,106240)|0;$i(A,B);er(A,BR(e,0,106248)|0);l=0;i=1}}while(0);s=a[(a[M>>2]|0)+8>>2]|0;if(r[s+12>>0]|0){s=a[s>>2]|0;if((r[s>>0]|0)==99){s=(A1(s,105519)|0)==0;y=33}else g=1}else{s=1;y=33}if((y|0)==33){s=s^1;if((d|0)!=0|i<<24>>24==0|s)g=s;else{$i(A,137379);d=1;g=0}}E=(V|0)<3;C=(W&512|0)!=0;Z=(W&8|0)==0;I=(W&64|0)==0;o=(W&1024|0)==0;h=(W&2130706444|0)==0;v=0;while(1){if((v|0)>=(d|0))break;w=U(v,V)|0;u=a[47286]|0;s=0;while(1){if((s|0)>=(V|0))break;p=s+w|0;t=+b[z+(p<<4)+8>>3];H=a[M>>2]|0;b[u+(s<<4)>>3]=+b[H+16>>3]+ +b[z+(p<<4)>>3]*m;b[u+(s<<4)+8>>3]=+b[H+24>>3]+t*L;s=s+1|0}do{if(E){if(C&(v|0)==0?(G1(l,58)|0)!=0:0)if((aI(A,u,l)|0)>1){a[G>>2]=Vh(e)|0;ao(3,106304,G)|0;i=0}else i=0;fr(A,a[47286]|0,V,i&255);if(!Z)NN(A,e)}else{if(!I){if((v|0)==0?(cI(A,u,l,1)|0)>1:0){a[Q>>2]=Vh(e)|0;ao(3,106304,Q)|0}ar(A,a[47286]|0,V,0);break}if(!o){$i(A,137379);ar(A,a[47286]|0,V,i&255);$i(A,B);tr(A,(a[47286]|0)+32|0,2);break}i=i&255;if(h){ar(A,u,V,i);break}else{tN(A,u,V,W,i);break}}}while(0);v=v+1|0;i=0}s=a[(a[M>>2]|0)+8>>2]|0;if(!(r[s+12>>0]|0)){s=po(e,109025)|0;if(s|0?r[s>>0]|0:0){u=s;y=65}}else{s=a[s>>2]|0;if((r[s>>0]|0)==99?(A1(s,105519)|0)==0:0){s=po(e,105526)|0;if(s|0?r[s>>0]|0:0){u=s;y=65}}else{u=s;y=65}}if((y|0)==65){w=a[47286]|0;s=0;while(1){if((s|0)>=(V|0))break;t=+b[z+(s<<4)+8>>3];p=a[M>>2]|0;b[w+(s<<4)>>3]=+b[p+16>>3]+ +b[z+(s<<4)>>3]*m;b[w+(s<<4)+8>>3]=+b[p+24>>3]+t*L;s=s+1|0}s=i&255;do{if(!(g|i<<24>>24==0)){if(E){if(C&(v|0)==0?(G1(l,58)|0)!=0:0)if((aI(A,w,l)|0)>1){a[Y>>2]=Vh(e)|0;ao(3,106304,Y)|0;i=0}else i=0;fr(A,a[47286]|0,V,i&255);if(Z)break;NN(A,e);break}if(I)if(!(W&12)){ar(A,w,V,s);break}else{tN(A,w,V,W,s);break}else{if((cI(A,w,l,1)|0)>1){a[D>>2]=Vh(e)|0;ao(3,106304,D)|0}ar(A,a[47286]|0,V,0);break}}}while(0);p=a[47286]|0;br(A,u,p,V,i,dR(e,a[47166]|0,137308)|0)}L2(a[J>>2]|0);jF(A,10,a[(a[M>>2]|0)+104>>2]|0);if(F){if(a[A+152>>2]&4|0)Pi(A,a[X>>2]|0,a[N+228>>2]|0,a[N+244>>2]|0,a[N+212>>2]|0);Oi(A)}k=R;return}function FN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;i=HN(e,f)|0;if(i|0)rr(A,i);i=a[47172]|0;if((i|0?(n=Uo(e,i)|0,n|0):0)?r[n>>0]|0:0)wr(A,+oR(e,a[47172]|0,1.0,0.0));k=l;return a[f>>2]|0}function VN(A){A=A|0;return RN(A,134800)|0}function JN(A,e){A=A|0;e=e|0;e=BR(e,a[47148]|0,195059)|0;e=r[e>>0]|0?e:137314;$i(A,e);return e|0}function NN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0.0,t=0,c=0,s=0;i=k;k=k+96|0;t=i+80|0;c=i+64|0;r=i+32|0;s=i+16|0;n=i;e=a[e+16>>2]|0;f=+b[e+80>>3];b[s+8>>3]=f*.375;l=+b[e+96>>3];b[s>>3]=l*.6614;e=e+16|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];XN(n,c,t);a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];a[r+8>>2]=a[n+8>>2];a[r+12>>2]=a[n+12>>2];n=r+8|0;e=r+24|0;b[e>>3]=+b[n>>3];b[r+16>>3]=+b[r>>3]-l*1.3228;tr(A,r,2);f=+b[n>>3]-f*.75;b[n>>3]=f;b[e>>3]=f;tr(A,r,2);k=i;return}function XN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function RN(A,e){A=A|0;e=e|0;var i=0;i=BR(A,a[47149]|0,195059)|0;if(!(r[i>>0]|0)){i=BR(A,a[47148]|0,195059)|0;return((r[i>>0]|0)==0?e:i)|0}else return i|0;return 0}function HN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;i=BR(A,a[47157]|0,195059)|0;A:do{if(!(r[i>>0]|0)){n=0;i=0}else{n=HI(i)|0;l=n;i=0;e:while(1){f=a[l>>2]|0;if(!f)break A;switch(r[f>>0]|0){case 102:{if(!(A1(f,111101)|0)){l=l+4|0;i=i|1;continue e}break}case 114:{if(!(A1(f,106316)|0)){f=l;do{c=f;f=f+4|0;t=a[f>>2]|0;a[c>>2]=t}while((t|0)!=0);c=l;i=i|4;l=c;continue e}if(!(A1(f,106334)|0)){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|3;l=c;continue e}break}case 100:{if(!(A1(f,106324)|0)){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|8;l=c;continue e}break}case 105:{if(!(A1(f,134335)|0)){l=l+4|0;i=i|32;continue e}break}case 115:{if((A1(f,106341)|0)==0?pN(A)|0:0){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|64;l=c;continue e}break}case 119:{if((A1(f,106349)|0)==0?UN(A)|0:0){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|512;l=c;continue e}break}default:{}}l=l+4|0}}}while(0);f=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)i=a[f+40>>2]|i;a[e>>2]=i;return n|0}function pN(A){A=A|0;var e=0.0;A=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((A|0)!=0?(a[A+8>>2]|0)==4:0)?(e=+b[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+b[A+24>>3]==0.0:0)A=+b[A+32>>3]==0.0&1;else A=0;return A|0}function UN(A){A=A|0;A=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!A)A=0;else A=(a[A+8>>2]|0)<3&1;return A|0}function xN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,n=0.0,l=0.0;l=+b[i+8>>3];n=-(+b[r+8>>3]-l);a=+b[i>>3];f=+b[r>>3]-a;a=f*l+a*n;return(+b[A+8>>3]*f+ +b[A>>3]*n-a>=0.0^+b[e>>3]*n-a+ +b[e+8>>3]*f>=0.0^1)&1|0}function TN(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;Y=k;k=k+192|0;m=Y+176|0;y=Y+160|0;s=Y+144|0;G=Y+128|0;Q=Y+112|0;w=Y+96|0;u=Y+80|0;o=Y+64|0;E=Y+48|0;C=Y+32|0;I=Y+16|0;W=Y;if(!e){a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;s=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;L=a[A+16>>2]|0;h=+b[L+80>>3]*.5;t=+b[L+88>>3];v=s?h:t;h=s?t:h;s=0;L=y;t=0.0;c=-h;d=v;z=y+8|0;B=0.0;v=-v}else{c=+b[e>>3];v=+b[e+8>>3];h=+b[e+16>>3];d=+b[e+24>>3];BN(s,(h+c)*.5,(d+v)*.5);a[y>>2]=a[s>>2];a[y+4>>2]=a[s+4>>2];a[y+8>>2]=a[s+8>>2];a[y+12>>2]=a[s+12>>2];D=y+8|0;s=1;L=y;t=+b[y>>3];z=D;B=+b[D>>3]}g=(h>d?h:d)*4.0;A:do{if((f|0)!=0?(Z=r[f>>0]|0,Z<<24>>24!=0):0){f=f+1|0;switch(Z<<24>>24|0){case 99:{o=1;n=0;f=0;w=0;t=0.0;u=0;break A}case 101:{if(r[f>>0]|0){o=1;n=0;f=0;w=0;t=0.0;u=1;break A}if(!l)b[L>>3]=h;else{SN(G,l,B,g);a[y>>2]=a[G>>2];a[y+4>>2]=a[G+4>>2];a[y+8>>2]=a[G+8>>2];a[y+12>>2]=a[G+12>>2]}o=0;n=n&2;f=0;w=1;t=0.0;u=0;s=1;break A}case 115:{b[z>>3]=v;switch(r[f>>0]|0){case 0:{if(!l)b[L>>3]=t;else{SN(Q,l,-g,t);a[y>>2]=a[Q>>2];a[y+4>>2]=a[Q+4>>2];a[y+8>>2]=a[Q+8>>2];a[y+12>>2]=a[Q+12>>2]}o=0;n=n&1;f=0;w=1;t=-1.5707963267948966;u=0;s=1;break A}case 101:{if(!l)b[L>>3]=h;else{SN(w,l,-g,g);a[y>>2]=a[w>>2];a[y+4>>2]=a[w+4>>2];a[y+8>>2]=a[w+8>>2];a[y+12>>2]=a[w+12>>2]}o=0;n=n&3;f=0;w=1;t=-.7853981633974483;u=0;s=1;break A}case 119:{if(!l)b[L>>3]=c;else{g=-g;SN(u,l,g,g);a[y>>2]=a[u>>2];a[y+4>>2]=a[u+4>>2];a[y+8>>2]=a[u+8>>2];a[y+12>>2]=a[u+12>>2]}o=0;n=n&9;f=0;w=1;t=-2.356194490192345;u=0;s=1;break A}default:{b[z>>3]=B;o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}case 119:{if(r[f>>0]|0){o=1;n=0;f=0;w=0;t=0.0;u=1;break A}if(!l)b[L>>3]=c;else{SN(o,l,B,-g);a[y>>2]=a[o>>2];a[y+4>>2]=a[o+4>>2];a[y+8>>2]=a[o+8>>2];a[y+12>>2]=a[o+12>>2]}o=0;n=n&8;f=0;w=1;t=3.141592653589793;u=0;s=1;break A}case 110:{b[z>>3]=d;switch(r[f>>0]|0){case 0:{if(!l)b[L>>3]=t;else{SN(E,l,g,t);a[y>>2]=a[E>>2];a[y+4>>2]=a[E+4>>2];a[y+8>>2]=a[E+8>>2];a[y+12>>2]=a[E+12>>2]}o=0;n=n&4;f=0;w=1;t=1.5707963267948966;u=0;s=1;break A}case 101:{if(!l)b[L>>3]=h;else{SN(C,l,g,g);a[y>>2]=a[C>>2];a[y+4>>2]=a[C+4>>2];a[y+8>>2]=a[C+8>>2];a[y+12>>2]=a[C+12>>2]}o=0;n=n&6;f=0;w=1;t=.7853981633974483;u=0;s=1;break A}case 119:{if(!l)b[L>>3]=c;else{SN(I,l,g,-g);a[y>>2]=a[I>>2];a[y+4>>2]=a[I+4>>2];a[y+8>>2]=a[I+8>>2];a[y+12>>2]=a[I+12>>2]}o=0;n=n&12;f=0;w=1;t=2.356194490192345;u=0;s=1;break A}default:{b[z>>3]=B;o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}case 95:{o=1;f=1;w=0;t=0.0;u=0;break A}default:{o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}else{o=1;n=0;f=0;w=0;t=0.0;u=0}}while(0);D=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];LF(W,m,D);a[y>>2]=a[W>>2];a[y+4>>2]=a[W+4>>2];a[y+8>>2]=a[W+8>>2];a[y+12>>2]=a[W+12>>2];if(!(f<<24>>24))n=PN(n,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)|0;r[i+33>>0]=n;a[i+24>>2]=e;c=+b[L>>3];b[i>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);c=+b[z>>3];b[i+8>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);b[i+16>>3]=+ON(t,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3);c=+b[L>>3];t=+b[z>>3];if(c==0.0&t==0.0)n=-128;else{g=+X(+t,+c);v=g+4.71238898038469;n=~~((!(v>=6.283185307179586)?v:g+-1.5707963267948966)*40.74366543152521)&255}r[i+32>>0]=n;r[i+29>>0]=w;r[i+28>>0]=s;r[i+30>>0]=o;r[i+31>>0]=f;k=Y;return u|0}function jN(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=Vh(A)|0;a[r+4>>2]=e;ao(0,106419,r)|0;k=i;return}function SN(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+128|0;n=o+112|0;t=o+48|0;c=o+16|0;s=o+32|0;w=o;u=a[e>>2]|0;l=a[(a[(Id(u)|0)+16>>2]|0)+116>>2]&3;b[c>>3]=r;b[c+8>>3]=i;f=(l|0)!=0;if(f){a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];LF(s,n,l*90|0);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2]}s=t+48|0;h=t+32|0;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;a[t+16>>2]=0;a[t+20>>2]=0;a[t+24>>2]=0;a[t+28>>2]=0;a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];hX(e,a[(a[(a[(a[u+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,t,1);if(f){a[n>>2]=a[t>>2];a[n+4>>2]=a[t+4>>2];a[n+8>>2]=a[t+8>>2];a[n+12>>2]=a[t+12>>2];WF(w,n,l*90|0);a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2]}a[A>>2]=a[t>>2];a[A+4>>2]=a[t+4>>2];a[A+8>>2]=a[t+8>>2];a[A+12>>2]=a[t+12>>2];k=o;return}function PN(A,e){A=A|0;e=e|0;A:do{switch(e|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 ON(A,e){A=+A;e=e|0;switch(e|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 KN(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,l=0,t=0,c=0;r=k;k=k+32|0;c=r+16|0;l=r;A=a[A>>2]|0;t=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];WF(l,c,t);i=+b[l>>3];n=+b[l+8>>3];A=a[A+16>>2]|0;f=+b[A+80>>3]*.5;if(!(!(n>=-f)|!(n<=f))?i>=-+b[A+88>>3]:0)A=i<=+b[A+96>>3]&1;else A=0;k=r;return A|0}function _N(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+32|0;s=w;l=a[A+16>>2]|0;t=l+208|0;n=a[t>>2]|0;if(!n)c=(f[l+260>>1]&1)!=0;else c=1;i=e+16|0;e=a[i>>2]|0;r=a[e+12>>2]|0;if(r|0){if(c?(a[A+152>>2]&4|0)==0:0){Pi(A,n,a[l+228>>2]|0,a[l+244>>2]|0,a[l+212>>2]|0);e=a[i>>2]|0}n=a[A+36>>2]|0;o=+b[e+24>>3]+ +(a[r+8>>2]|0);u=a[r>>2]|0;b[s>>3]=+b[e+16>>3]+ +(a[r+4>>2]|0);b[s+8>>3]=o;a[s+16>>2]=u;f3(n,106450,s)|0;n=a[i>>2]|0;s=(a[n+104>>2]|0)+56|0;n=n+16|0;a[s>>2]=a[n>>2];a[s+4>>2]=a[n+4>>2];a[s+8>>2]=a[n+8>>2];a[s+12>>2]=a[n+12>>2];jF(A,10,a[(a[i>>2]|0)+104>>2]|0);if(c){if(a[A+152>>2]&4|0)Pi(A,a[t>>2]|0,a[l+228>>2]|0,a[l+244>>2]|0,a[l+212>>2]|0);Oi(A)}}k=w;return}function qN(A){A=A|0;EN(a[(a[A+16>>2]|0)+12>>2]|0);return}function $N(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=k;k=k+64|0;b=s+40|0;l=s;if(!(r[i>>0]|0)){l=4208;f=A+40|0;do{a[A>>2]=a[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}else{f=(f|0)==0?106356:f;t=a[(a[e+16>>2]|0)+12>>2]|0;c=aX(t,i)|0;if(!c){if(TN(e,t+16|0,l,i,15,0)|0)jN(e,i)}else if(TN(e,c+16|0,l,f,n[c+65>>0]|0,0)|0){a[b>>2]=Vh(e)|0;a[b+4>>2]=i;a[b+8>>2]=f;ao(0,106358,b)|0}f=A+40|0;do{a[A>>2]=a[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}k=s;return}function AX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0.0;c=k;k=k+32|0;s=c+16|0;l=c;f=a[A+4>>2]|0;A=a[A>>2]|0;n=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];WF(l,s,n);a[e>>2]=a[l>>2];a[e+4>>2]=a[l+4>>2];a[e+8>>2]=a[l+8>>2];a[e+12>>2]=a[l+12>>2];if(!f){f=a[(a[A+16>>2]|0)+12>>2]|0;n=f+16|0;A=f+24|0;l=f+32|0;f=f+40|0}else{n=f;A=f+8|0;l=f+16|0;f=f+24|0}r=+b[A>>3];i=+b[f>>3];w=+b[e>>3];if((+b[n>>3]<=w?w<=+b[l>>3]:0)?(t=+b[e+8>>3],r<=t):0)A=t<=i&1;else A=0;k=c;return A|0}function eX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0.0;g=k;k=k+80|0;d=g+64|0;h=g+32|0;v=g;A:do{if(!(r[e+28>>0]|0))i=0;else{l=+b[e>>3];o=A+16|0;s=a[(a[o>>2]|0)+12>>2]|0;c=s+48|0;s=s+56|0;e=0;while(1){if((e|0)>=(a[c>>2]|0))break A;w=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;u=a[(a[s>>2]|0)+(e<<2)>>2]|0;t=+(~~+b[(w?u+16|0:u+24|0)>>3]|0);if(l>=t?(B=+(~~+b[(w?u+32|0:u+40|0)>>3]|0),l<=B):0)break;e=e+1|0}if(!(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1)){v=a[o>>2]|0;E=+b[v+16>>3];b[f>>3]=E+t;t=+b[v+24>>3];l=+b[v+80>>3];b[f+8>>3]=t-l*.5;b[f+16>>3]=E+B}else{u=(a[(a[s>>2]|0)+(e<<2)>>2]|0)+16|0;A=(a[o>>2]|0)+16|0;a[h>>2]=a[u>>2];a[h+4>>2]=a[u+4>>2];a[h+8>>2]=a[u+8>>2];a[h+12>>2]=a[u+12>>2];a[h+16>>2]=a[u+16>>2];a[h+20>>2]=a[u+20>>2];a[h+24>>2]=a[u+24>>2];a[h+28>>2]=a[u+28>>2];a[d>>2]=a[A>>2];a[d+4>>2]=a[A+4>>2];a[d+8>>2]=a[A+8>>2];a[d+12>>2]=a[A+12>>2];yF(v,h,d);a[f>>2]=a[v>>2];a[f+4>>2]=a[v+4>>2];a[f+8>>2]=a[v+8>>2];a[f+12>>2]=a[v+12>>2];a[f+16>>2]=a[v+16>>2];a[f+20>>2]=a[v+20>>2];a[f+24>>2]=a[v+24>>2];a[f+28>>2]=a[v+28>>2];v=a[o>>2]|0;l=+b[v+80>>3];t=+b[v+24>>3]}b[f+24>>3]=l*.5+t;a[n>>2]=1}}while(0);k=g;return i|0}function iX(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;C=k;k=k+144|0;w=C+96|0;o=C+64|0;d=C;B=C+128|0;v=a[A+16>>2]|0;g=v+208|0;i=a[g>>2]|0;if(!i)E=(f[v+260>>1]&1)!=0;else E=1;s=e+16|0;h=a[s>>2]|0;u=a[h+12>>2]|0;l=u+16|0;a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];a[o+16>>2]=a[l+16>>2];a[o+20>>2]=a[l+20>>2];a[o+24>>2]=a[l+24>>2];a[o+28>>2]=a[l+28>>2];I=+b[h+16>>3];b[o>>3]=+b[o>>3]+I;t=+b[h+24>>3];h=o+8|0;b[h>>3]=+b[h>>3]+t;h=o+16|0;b[h>>3]=+b[h>>3]+I;l=o+24|0;b[l>>3]=+b[l>>3]+t;if(E?(a[A+152>>2]&4|0)==0:0)Pi(A,i,a[v+228>>2]|0,a[v+244>>2]|0,a[v+212>>2]|0);i=FN(A,e)|0;JN(A,e)|0;a[B>>2]=0;if(!(i&1))n=0;else{n=VN(e)|0;if(!((qM(n,B,w)|0)<<24>>24)){er(A,n);n=1}else{er(A,a[B>>2]|0);n=a[B+4>>2]|0;l=kR(e,a[47173]|0,0,0)|0;t=+c[w>>2];if(!n)ir(A,137314,l,t);else ir(A,n,l,t);n=i>>>1&1|2}}l=a[a[(a[s>>2]|0)+8>>2]>>2]|0;if((r[l>>0]|0)==77){s=(A1(l,106227)|0)==0;i=s?i|4:i}if(!(i&2130706444)){a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2];a[w+16>>2]=a[o+16>>2];a[w+20>>2]=a[o+20>>2];a[w+24>>2]=a[o+24>>2];a[w+28>>2]=a[o+28>>2];nr(A,w,n)}else{a[d>>2]=a[o>>2];a[d+4>>2]=a[o+4>>2];a[d+8>>2]=a[o+8>>2];a[d+12>>2]=a[o+12>>2];o=d+32|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];b[d+16>>3]=+b[o>>3];b[d+24>>3]=+b[d+8>>3];b[d+48>>3]=+b[d>>3];b[d+56>>3]=+b[d+40>>3];tN(A,d,4,i,n)}rX(A,e,u);L2(a[B>>2]|0);if(E){if(a[A+152>>2]&4|0)Pi(A,a[g>>2]|0,a[v+228>>2]|0,a[v+244>>2]|0,a[v+212>>2]|0);Oi(A)}k=C;return}function rX(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+144|0;o=g+128|0;u=g+112|0;h=g+16|0;d=g;n=g+96|0;l=g+80|0;B=g+64|0;v=g+48|0;t=i+52|0;f=a[t>>2]|0;if(!f)f=e+16|0;else{w=f+56|0;s=i+16|0;f=i+32|0;a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];fX(n,u,o);f=e+16|0;s=(a[f>>2]|0)+16|0;a[u>>2]=a[n>>2];a[u+4>>2]=a[n+4>>2];a[u+8>>2]=a[n+8>>2];a[u+12>>2]=a[n+12>>2];a[o>>2]=a[s>>2];a[o+4>>2]=a[s+4>>2];a[o+8>>2]=a[s+8>>2];a[o+12>>2]=a[s+12>>2];XN(l,u,o);a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];jF(A,10,a[t>>2]|0);JN(A,e)|0}c=(a[f>>2]|0)+16|0;a[d>>2]=a[c>>2];a[d+4>>2]=a[c+4>>2];a[d+8>>2]=a[c+8>>2];a[d+12>>2]=a[c+12>>2];c=i+48|0;s=i+64|0;w=h+16|0;t=i+56|0;i=h+16|0;l=0;while(1){if((l|0)>=(a[c>>2]|0))break;if((l|0)>0){f=(a[t>>2]|0)+(l<<2)|0;n=a[f>>2]|0;if(!(r[s>>0]|0)){n=n+32|0;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];b[h>>3]=+b[(a[f>>2]|0)+16>>3];f=w;n=0}else{n=n+16|0;a[h>>2]=a[n>>2];a[h+4>>2]=a[n+4>>2];a[h+8>>2]=a[n+8>>2];a[h+12>>2]=a[n+12>>2];b[i>>3]=+b[h>>3];f=(a[f>>2]|0)+32|0;n=1}b[h+(n<<4)+8>>3]=+b[f+8>>3];a[u>>2]=a[h>>2];a[u+4>>2]=a[h+4>>2];a[u+8>>2]=a[h+8>>2];a[u+12>>2]=a[h+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];XN(B,u,o);a[h>>2]=a[B>>2];a[h+4>>2]=a[B+4>>2];a[h+8>>2]=a[B+8>>2];a[h+12>>2]=a[B+12>>2];a[u>>2]=a[w>>2];a[u+4>>2]=a[w+4>>2];a[u+8>>2]=a[w+8>>2];a[u+12>>2]=a[w+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];XN(v,u,o);a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];tr(A,h,2)}rX(A,e,a[(a[t>>2]|0)+(l<<2)>>2]|0);l=l+1|0}k=g;return}function fX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function aX(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=a[A+60>>2]|0;if(!(((i|0)!=0?(r[i>>0]|0)==(r[e>>0]|0):0)?(A1(i,e)|0)==0:0))f=4;A:do{if((f|0)==4){n=A+56|0;f=a[A+48>>2]|0;i=0;while(1){if((i|0)>=(f|0)){A=0;break A}A=aX(a[(a[n>>2]|0)+(i<<2)>>2]|0,e)|0;if(!A)i=i+1|0;else break}}}while(0);return A|0}function nX(A,e){A=A|0;e=e|0;var i=0;i=e+8|0;b[i>>3]=+b[i>>3]*1.375;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function lX(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0;c=+b[e>>3];f=c*.5;w=+b[e+8>>3];l=w*.5;b[A>>3]=f;r=w*.40909090909090906;b[A+8>>3]=r;b[A+16>>3]=f;n=w*.4592530909090909;b[A+24>>3]=n;t=c*.275892;b[A+32>>3]=t;b[A+40>>3]=l;b[A+48>>3]=0.0;b[A+56>>3]=l;c=c*-.275892;b[A+64>>3]=c;b[A+72>>3]=l;s=-f;b[A+80>>3]=s;b[A+88>>3]=n;i=A+96|0;b[i>>3]=s;b[A+104>>3]=r;e=A+112|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=A+128|0;b[e>>3]=s;b[A+136>>3]=w*-.40909090909090906;i=A+144|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[A+160>>3]=s;n=-n;b[A+168>>3]=n;b[A+176>>3]=c;l=-l;b[A+184>>3]=l;b[A+192>>3]=0.0;b[A+200>>3]=l;b[A+208>>3]=t;b[A+216>>3]=l;b[A+224>>3]=f;b[A+232>>3]=n;i=A+240|0;b[i>>3]=f;b[A+248>>3]=-r;e=A+256|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=A+288|0;i=A+272|0;a[i>>2]=a[A>>2];a[i+4>>2]=a[A+4>>2];a[i+8>>2]=a[A+8>>2];a[i+12>>2]=a[A+12>>2];a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];return}function tX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+144|0;g=I+112|0;v=I+96|0;E=I+80|0;B=I+64|0;C=I+32|0;h=I+16|0;d=I;n=I+48|0;do{if(A){t=a[A+4>>2]|0;c=a[A>>2]|0;u=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&3)*90|0;a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];a[g+8>>2]=a[e+8>>2];a[g+12>>2]=a[e+12>>2];WF(n,g,u);a[C>>2]=a[n>>2];a[C+4>>2]=a[n+4>>2];a[C+8>>2]=a[n+8>>2];a[C+12>>2]=a[n+12>>2];if(t|0){i=+b[C>>3];if(!(+b[t>>3]<=i)){A=0;break}if(!(i<=+b[t+16>>3])){A=0;break}i=+b[C+8>>3];if(!(+b[t+8>>3]<=i)){A=0;break}A=i<=+b[t+24>>3];break}if((c|0)==(a[47292]|0)){i=+b[23309];r=+b[23310];l=+b[23311]}else{A=c+16|0;e=a[(a[A>>2]|0)+12>>2]|0;a[47293]=e;a[47294]=a[e+44>>2];a[47295]=a[e+8>>2];if(!(a[e+40>>2]&2048)){w=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&1|0)==0;u=a[A>>2]|0;b[(w?186496:186504)>>3]=+b[u+96>>3]+ +b[u+88>>3];b[(w?186504:186496)>>3]=+b[u+80>>3];l=+b[u+32>>3]*72.0;f=+b[u+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);l=+(~~(l+(l>=0.0?.5:-.5))|0)}else{HR(g,e);l=+b[g+16>>3]-+b[g>>3];f=+b[g+24>>3]-+b[g+8>>3];u=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&1|0)==0;b[(u?186496:186504)>>3]=l;b[(u?186504:186496)>>3]=f}i=+b[23312];if(i==0.0){b[23312]=1.0;i=1.0}r=+b[23313];if(r==0.0){b[23313]=1.0;r=1.0}i=l/i;b[23309]=i;r=f/r;b[23310]=r;l=l*.5;b[23311]=l;b[23314]=f*.5;u=U((a[(a[47293]|0)+4>>2]|0)+-1|0,a[47295]|0)|0;a[47296]=(u|0)>0?u:0;a[47292]=c}f=+b[C>>3]*i;b[C>>3]=f;u=C+8|0;i=+b[u>>3]*r;b[u>>3]=i;if(!(+y(+f)>l)?(r=+y(+i),o=+b[23314],!(r>o)):0){u=a[47295]|0;if((u|0)<3){A=+v1(f/l,i/o)<1.0;break}e=(a[47297]|0)%(u|0)|0;A=(e+1|0)%(u|0)|0;c=a[47294]|0;s=a[47296]|0;w=c+(s+e<<4)|0;a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];w=c+(s+A<<4)|0;a[d>>2]=a[w>>2];a[d+4>>2]=a[w+4>>2];a[d+8>>2]=a[w+8>>2];a[d+12>>2]=a[w+12>>2];a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[46630];a[E+4>>2]=a[46631];a[E+8>>2]=a[46632];a[E+12>>2]=a[46633];a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[g>>2]=a[w>>2];a[g+4>>2]=a[w+4>>2];a[g+8>>2]=a[w+8>>2];a[g+12>>2]=a[w+12>>2];if(xN(B,E,v,g)|0){a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[h>>2];a[E+4>>2]=a[h+4>>2];a[E+8>>2]=a[h+8>>2];a[E+12>>2]=a[h+12>>2];a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];a[g>>2]=a[46630];a[g+4>>2]=a[46631];a[g+8>>2]=a[46632];a[g+12>>2]=a[46633];w=(xN(B,E,v,g)|0)!=0;if(w?(a[B>>2]=a[C>>2],a[B+4>>2]=a[C+4>>2],a[B+8>>2]=a[C+8>>2],a[B+12>>2]=a[C+12>>2],a[E>>2]=a[d>>2],a[E+4>>2]=a[d+4>>2],a[E+8>>2]=a[d+8>>2],a[E+12>>2]=a[d+12>>2],a[v>>2]=a[46630],a[v+4>>2]=a[46631],a[v+8>>2]=a[46632],a[v+12>>2]=a[46633],a[g>>2]=a[h>>2],a[g+4>>2]=a[h+4>>2],a[g+8>>2]=a[h+8>>2],a[g+12>>2]=a[h+12>>2],(xN(B,E,v,g)|0)!=0):0){A=1;break}else{t=e;e=1}while(1){if((e|0)>=(u|0)){e=31;break}if(w){n=A;A=(A+1|0)%(u|0)|0}else{n=(t+-1+u|0)%(u|0)|0;A=t}h=c+(s+n<<4)|0;d=c+(s+A<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[46630];a[E+4>>2]=a[46631];a[E+8>>2]=a[46632];a[E+12>>2]=a[46633];a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[g>>2]=a[d>>2];a[g+4>>2]=a[d+4>>2];a[g+8>>2]=a[d+8>>2];a[g+12>>2]=a[d+12>>2];if(!(xN(B,E,v,g)|0)){e=30;break}else{t=n;e=e+1|0}}if((e|0)==30){a[47297]=n;A=0;break}else if((e|0)==31){a[47297]=t;A=1;break}}else A=0}else A=0}else{a[47292]=0;A=0}}while(0);k=I;return A&1|0}function cX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0;t=k;k=k+32|0;f=t+16|0;l=t;if(A){A=a[A>>2]|0;c=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(l,f,c);n=+b[l>>3];r=+b[l+8>>3];if((A|0)==(a[47300]|0))i=+b[23317];else{l=a[(a[A+16>>2]|0)+12>>2]|0;c=(a[l+4>>2]<<1)+-2|0;i=+b[(a[l+44>>2]|0)+((((c|0)>0?c:0)|1)<<4)>>3];b[23317]=i;a[47300]=A}if(+y(+n)>i|+y(+r)>i)A=0;else A=+v1(n,r)<=i&1}else{a[47300]=0;A=0}k=t;return A|0}function bX(A,e){A=A|0;e=e|0;var i=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0,C=0;v=k;k=k+16|0;t=v;d=a[A+16>>2]|0;B=d+208|0;i=a[B>>2]|0;if((i|0)==0?(f[d+260>>1]&1)==0:0)h=0;else if(!(a[A+152>>2]&4)){Pi(A,i,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0);h=1}else h=1;w=e+16|0;c=a[(a[w>>2]|0)+12>>2]|0;u=a[c+44>>2]|0;o=a[c+8>>2]|0;c=a[c+4>>2]|0;if((a[47298]|0)<(o|0)){i=o+2|0;a[47298]=i;l=a[47299]|0;if(!l)i=$F(i<<4)|0;else i=eV(l,i<<4)|0;a[47299]=i}HN(e,t)|0;if(!(a[t>>2]&32))rr(A,22020);else rr(A,22016);i=a[47172]|0;if(i|0)wr(A,+oR(e,i,1.0,0.0));i=n[(a[w>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){$i(A,BR(e,0,106256)|0);i=BR(e,0,106264)|0;er(A,i);break}if(i&8|0){$i(A,BR(e,0,106272)|0);i=BR(e,0,106280)|0;er(A,i);break}if(!(i&4)){i=RN(e,137314)|0;er(A,i);JN(A,e)|0;break}else{$i(A,BR(e,0,106288)|0);i=BR(e,0,106296)|0;er(A,i);break}}else{$i(A,BR(e,0,106240)|0);i=BR(e,0,106248)|0;er(A,i)}}while(0);if(!c)if(!(r[i>>0]|0))l=1;else{$i(A,i);l=1}else l=c;t=1;e=0;while(1){if((e|0)>=(l|0))break;c=U(e,o)|0;s=a[47299]|0;i=0;while(1){if((i|0)>=(o|0))break;C=i+c|0;g=+b[u+(C<<4)+8>>3];E=a[w>>2]|0;b[s+(i<<4)>>3]=+b[E+16>>3]+ +b[u+(C<<4)>>3];b[s+(i<<4)+8>>3]=+b[E+24>>3]+g;i=i+1|0}fr(A,s,o,t);t=0;e=e+1|0}if(h){if(a[A+152>>2]&4|0)Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0);Oi(A)}k=v;return}function sX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,l=0;f=k;k=k+48|0;l=f;i=wX(e,i,r)|0;a[l+36>>2]=a[r+36>>2];TN(e,a[r+24>>2]|0,l,i,n[r+33>>0]|0,0)|0;e=l;i=A+40|0;do{a[A>>2]=a[e>>2];A=A+4|0;e=e+4|0}while((A|0)<(i|0));k=f;return}function wX(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0;G=k;k=k+32|0;Z=G;n=G+24|0;c=G+16|0;I=a[(a[(a[(Id(A)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=A+16|0;C=(a[f>>2]|0)+16|0;a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];uX(n,Z,I);C=(a[e+16>>2]|0)+16|0;a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];uX(c,Z,I);I=r[i+33>>0]|0;Z=I&255;A:do{switch(I<<24>>24){case 0:case 15:{e=0;break}default:{e=a[i+24>>2]|0;if(!e){I=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;C=a[f>>2]|0;m=+b[C+80>>3]*.5;Q=-m;s=+b[C+88>>3];t=-s;w=I?t:Q;l=I?s:m;s=I?m:s;t=I?Q:t}else{w=+b[e>>3];l=+b[e+16>>3];s=+b[e+24>>3];t=+b[e+8>>3]}I=a[n>>2]|0;E=a[n+4>>2]|0;C=a[c>>2]|0;B=a[c+4>>2]|0;v=~~t;g=~~((l+w)*.5);d=~~l;h=~~((s+t)*.5);o=~~s;u=~~w;n=0;c=0;e=0;i=0;A=0;while(1){if((c|0)==4)break A;if(1<>2]|0;else f=n}else f=n;n=f;c=c+1|0}}}}while(0);k=G;return e|0}function uX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;switch(i|0){case 0:{f=+b[e>>3];r=+b[e+8>>3];break}case 2:{f=+b[e>>3];r=-+b[e+8>>3];break}case 1:{f=-+b[e+8>>3];r=+b[e>>3];break}case 3:{f=+b[e+8>>3];r=+b[e>>3];break}default:{f=0.0;r=0.0}}a[A>>2]=~~(f+(f>=0.0?.5:-.5));a[A+4>>2]=~~(r+(r>=0.0?.5:-.5));return}function kX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;f=t+40|0;l=t;n=A+16|0;i=a[n>>2]|0;e=i+16|0;if(r[i+47>>0]|0){i=a[A>>2]&3;sX(f,a[((i|0)==3?A:A+48|0)+40>>2]|0,a[((i|0)==2?A:A+-48|0)+40>>2]|0,e);i=f;f=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(f|0));i=a[n>>2]|0}e=i+56|0;if(r[i+87>>0]|0){i=a[A>>2]&3;sX(l,a[((i|0)==2?A:A+-48|0)+40>>2]|0,a[((i|0)==3?A:A+48|0)+40>>2]|0,e);i=l;f=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(f|0))}k=t;return}function oX(){var A=0,e=0,i=0;A=k;k=k+32|0;e=A+16|0;i=A;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];tX(0,e)|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];cX(0,e)|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];YN(0,e)|0;k=A;return}function hX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;G=k;k=k+192|0;B=G+176|0;I=G+112|0;Z=G+48|0;v=G+32|0;g=G+24|0;E=G+16|0;C=G;if(!(r<<24>>24)){c=i+48|0;a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];c=g;s=E;w=I;u=0}else{a[v>>2]=a[i>>2];a[v+4>>2]=a[i+4>>2];a[v+8>>2]=a[i+8>>2];a[v+12>>2]=a[i+12>>2];c=E;s=g;w=0;u=I}b[g>>3]=0.0;b[E>>3]=1.0;h=v+8|0;f=0.0;n=1.0;t=0;o=+b[v>>3];while(1){d=+b[h>>3];f=(f+n)*.5;mR(C,i,3,f,w,u);a[v>>2]=a[C>>2];a[v+4>>2]=a[C+4>>2];a[v+8>>2]=a[C+8>>2];a[v+12>>2]=a[C+12>>2];a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];A:do{if(!((m5[e&127](A,B)|0)<<24>>24)){r=0;while(1){if((r|0)==4){r=c;t=1;break A}t=Z+(r<<4)|0;Q=I+(r<<4)|0;a[t>>2]=a[Q>>2];a[t+4>>2]=a[Q+4>>2];a[t+8>>2]=a[Q+8>>2];a[t+12>>2]=a[Q+12>>2];r=r+1|0}}else r=s}while(0);b[r>>3]=f;l=+b[v>>3];o=o-l;if(!((o>=0.0?o:-o)>.5)?(d=d-+b[h>>3],!((d>=0.0?d:-d)>.5)):0)break;f=+b[g>>3];n=+b[E>>3];o=l}A:do{if(!(t<<24>>24)){r=0;while(1){if((r|0)==4)break A;Q=i+(r<<4)|0;Z=I+(r<<4)|0;a[Q>>2]=a[Z>>2];a[Q+4>>2]=a[Z+4>>2];a[Q+8>>2]=a[Z+8>>2];a[Q+12>>2]=a[Z+12>>2];r=r+1|0}}else{r=0;while(1){if((r|0)==4)break A;Q=i+(r<<4)|0;I=Z+(r<<4)|0;a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];r=r+1|0}}}while(0);k=G;return}function dX(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=k;k=k+48|0;i=s+16|0;r=s;f=s+32|0;n=A+16|0;l=a[n>>2]|0;t=a[l+8>>2]|0;if(t|0?(c=t+4|0,a[(a[c>>2]|0)+12>>2]|0):0){a[f>>2]=A;a[f+4>>2]=0;w=+b[l+96>>3];b[r>>3]=+b[e>>3]-+b[l+16>>3];b[r+8>>3]=+b[e+8>>3]-+b[l+24>>3];c=a[(a[c>>2]|0)+12>>2]|0;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];c=m5[c&127](f,i)|0;b[(a[n>>2]|0)+96>>3]=w;BX(f,A,e,c)}k=s;return}function BX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+64|0;s=w;t=e+16|0;n=a[t>>2]|0;c=+b[n+96>>3];l=n+16|0;f=n+24|0;e=0;while(1){if((e|0)==4)break;b[s+(e<<4)>>3]=+b[i+(e<<4)>>3]-+b[l>>3];b[s+(e<<4)+8>>3]=+b[i+(e<<4)+8>>3]-+b[f>>3];e=e+1|0}hX(A,a[(a[(a[n+8>>2]|0)+4>>2]|0)+12>>2]|0,s,r);e=0;while(1){if((e|0)==4)break;r=a[t>>2]|0;b[i+(e<<4)>>3]=+b[r+16>>3]+ +b[s+(e<<4)>>3];b[i+(e<<4)+8>>3]=+b[r+24>>3]+ +b[s+(e<<4)+8>>3];e=e+1|0}b[(a[t>>2]|0)+96>>3]=c;k=w;return}function vX(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=A+16|0;A=a[f>>2]|0;if(!(r[A+112>>0]|0))break;A=a[A+116>>2]|0}A=a[A+8>>2]|0;if(!A){A=qF(40)|0;a[(a[f>>2]|0)+8>>2]=A}i=a[A>>2]|0;if(!i)A=$F(((a[A+4>>2]|0)*48|0)+48|0)|0;else A=eV(i,((a[A+4>>2]|0)*48|0)+48|0)|0;f=a[(a[f>>2]|0)+8>>2]|0;a[f>>2]=A;f=f+4|0;i=a[f>>2]|0;a[f>>2]=i+1;f=A+(i*48|0)|0;a[f>>2]=qF(e<<4)|0;a[A+(i*48|0)+4>>2]=e;A=A+(i*48|0)+8|0;i=A+40|0;do{a[A>>2]=0;A=A+4|0}while((A|0)<(i|0));return f|0}function gX(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0.0,z=0.0;W=k;k=k+96|0;Q=W+16|0;g=W;I=W+92|0;Z=W+88|0;E=W+80|0;s=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;G=Id(s)|0;m=vX(A,f)|0;w=A;while(1){u=a[w+16>>2]|0;if(!(r[u+112>>0]|0))break;w=a[u+116>>2]|0}if((r[l+8>>0]|0)==0?(t=a[s+16>>2]|0,c=a[e+16>>2]|0,(a[t+232>>2]|0)==(a[c+232>>2]|0)):0){o=(a[t+236>>2]|0)>(a[c+236>>2]|0);C=o?s:e;s=o?e:s}else C=e;if((s|0)==(a[((a[w>>2]&3|0)==3?w:w+48|0)+40>>2]|0)){t=u+80|0;c=u+40|0;o=n[u+86>>0]|0;e=n[u+46>>0]|0}else{t=u+40|0;c=u+80|0;o=n[u+46>>0]|0;e=n[u+86>>0]|0}u=a[t>>2]|0;t=a[c>>2]|0;if(((e|0)!=0?(d=s+16|0,h=a[(a[d>>2]|0)+8>>2]|0,(h|0)!=0):0)?(a[(a[h+4>>2]|0)+12>>2]|0)!=0:0){a[E>>2]=s;a[E+4>>2]=t;t=f+-4|0;e=g+8|0;c=0;while(1){if((c|0)>=(t|0))break;w=c+3|0;h=a[d>>2]|0;b[g>>3]=+b[i+(w<<4)>>3]-+b[h+16>>3];b[e>>3]=+b[i+(w<<4)+8>>3]-+b[h+24>>3];h=a[(a[(a[h+8>>2]|0)+4>>2]|0)+12>>2]|0;a[Q>>2]=a[g>>2];a[Q+4>>2]=a[g+4>>2];a[Q+8>>2]=a[g+8>>2];a[Q+12>>2]=a[g+12>>2];if(!((m5[h&127](E,Q)|0)<<24>>24))break;else c=w}a[I>>2]=c;BX(E,s,i+(c<<4)|0,1)}else{a[I>>2]=0;c=0}if(((o|0)!=0?(v=C+16|0,B=a[(a[v>>2]|0)+8>>2]|0,(B|0)!=0):0)?(a[(a[B+4>>2]|0)+12>>2]|0)!=0:0){a[E>>2]=C;a[E+4>>2]=u;s=f+-4|0;e=g+8|0;t=s;while(1){if((t|0)<=0)break;f=a[v>>2]|0;b[g>>3]=+b[i+(t<<4)>>3]-+b[f+16>>3];b[e>>3]=+b[i+(t<<4)+8>>3]-+b[f+24>>3];f=a[(a[(a[f+8>>2]|0)+4>>2]|0)+12>>2]|0;a[Q>>2]=a[g>>2];a[Q+4>>2]=a[g+4>>2];a[Q+8>>2]=a[g+8>>2];a[Q+12>>2]=a[g+12>>2];if(!((m5[f&127](E,Q)|0)<<24>>24))break;t=t+-3|0}a[Z>>2]=t;BX(E,C,i+(t<<4)|0,0)}else{s=f+-4|0;a[Z>>2]=s;t=s}while(1){if((c|0)>=(s|0))break;e=c+3|0;y=+b[i+(c<<4)>>3]-+b[i+(e<<4)>>3];z=+b[i+(c<<4)+8>>3]-+b[i+(e<<4)+8>>3];if(z*z+y*y<1.0e-06)c=e;else break}a[I>>2]=c;while(1){if((t|0)<=0)break;E=t+3|0;z=+b[i+(t<<4)>>3]-+b[i+(E<<4)>>3];y=+b[i+(t<<4)+8>>3]-+b[i+(E<<4)+8>>3];if(!(y*y+z*z<1.0e-06))break;t=t+-3|0}a[Z>>2]=t;EX(A,C,i,I,Z,m,l);d=a[I>>2]|0;w=a[Z>>2]|0;s=w+4|0;w=w+3|0;u=Q+16|0;o=Q+32|0;h=Q+48|0;c=G+16|0;t=d;while(1){if((t|0)>=(s|0))break;G=(a[m>>2]|0)+(t-d<<4)|0;e=i+(t<<4)|0;a[G>>2]=a[e>>2];a[G+4>>2]=a[e+4>>2];a[G+8>>2]=a[e+8>>2];a[G+12>>2]=a[e+12>>2];a[Q>>2]=a[e>>2];a[Q+4>>2]=a[e+4>>2];a[Q+8>>2]=a[e+8>>2];a[Q+12>>2]=a[e+12>>2];e=t+1|0;if((t|0)>=(w|0)){L=38;break}Z=(a[m>>2]|0)+(e-d<<4)|0;G=i+(e<<4)|0;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[u>>2]=a[G>>2];a[u+4>>2]=a[G+4>>2];a[u+8>>2]=a[G+8>>2];a[u+12>>2]=a[G+12>>2];G=t+2|0;Z=(a[m>>2]|0)+(G-d<<4)|0;G=i+(G<<4)|0;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[o>>2]=a[G>>2];a[o+4>>2]=a[G+4>>2];a[o+8>>2]=a[G+8>>2];a[o+12>>2]=a[G+12>>2];G=t+3|0;Z=i+(G<<4)|0;a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];sI((a[c>>2]|0)+16|0,Q);t=G}a[m+4>>2]=s-d;k=W;return}function EX(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;s=o+4|0;w=o;u=A;while(1){c=a[(a[u+16>>2]|0)+116>>2]|0;if(!c)break;else u=c}if(!(r[t+8>>0]|0))c=(Q5[a[t>>2]&63](u)|0)&255;else c=0;DC(u,s,w);b=t+4|0;if((Q5[a[b>>2]&63](e)|0)<<24>>24)a[w>>2]=0;if((Q5[a[b>>2]&63](a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)<<24>>24)a[s>>2]=0;if(c|0){e=a[s>>2]|0;a[s>>2]=a[w>>2];a[w>>2]=e}if(!(r[t+9>>0]|0)){c=a[s>>2]|0;if(c|0)a[f>>2]=PC(u,i,a[f>>2]|0,a[n>>2]|0,l,c)|0;c=a[w>>2]|0;if(c|0)a[n>>2]=jC(u,i,a[f>>2]|0,a[n>>2]|0,l,c)|0}else{b=a[w>>2]|0;c=a[s>>2]|0;if(c|b|0)OC(u,i,a[f>>2]|0,a[n>>2]|0,l,c,b)}k=o;return}function CX(A,e){A=A|0;e=e|0;var i=0,r=0;if(+b[e>>3]<+b[e+16>>3]?+b[e+8>>3]<+b[e+24>>3]:0){i=a[A+84>>2]|0;r=A+80|0;A=a[r>>2]|0;a[r>>2]=A+1;A=i+(A<<5)|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2]}return}function IX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;I=k;k=k+112|0;g=I+72|0;u=I+56|0;w=I+16|0;h=I;t=a[e>>2]&3;o=e+48|0;C=a[((t|0)==3?e:o)+40>>2]|0;v=e+16|0;d=a[v>>2]|0;l=d+16|0;if(r[d+47>>0]|0){sX(w,C,a[((t|0)==2?e:e+-48|0)+40>>2]|0,l);t=w;w=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(w|0))}d=C+16|0;t=a[d>>2]|0;l=a[t+8>>2]|0;if(!l)w=0;else w=a[(a[l+4>>2]|0)+16>>2]|0;l=t+16|0;t=(a[v>>2]|0)+16|0;a[u>>2]=a[l>>2];a[u+4>>2]=a[l+4>>2];a[u+8>>2]=a[l+8>>2];a[u+12>>2]=a[l+12>>2];a[g>>2]=a[t>>2];a[g+4>>2]=a[t+4>>2];a[g+8>>2]=a[t+8>>2];a[g+12>>2]=a[t+12>>2];ZX(h,u,g);a[A>>2]=a[h>>2];a[A+4>>2]=a[h+4>>2];a[A+8>>2]=a[h+8>>2];a[A+12>>2]=a[h+12>>2];if(!(n<<24>>24)){l=a[v>>2]|0;if(!(r[l+45>>0]|0))l=0;else{c=+b[l+32>>3];E=9}}else{c=+GX(a[((a[e>>2]&3|0)==3?e:o)+40>>2]|0);E=9}if((E|0)==9){b[A+16>>3]=c;l=1}r[A+29>>0]=l;a[A+80>>2]=0;a[A+88>>2]=e;h=f+32|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];switch(i|0){case 1:{t=a[d>>2]|0;if((r[t+156>>0]|0)==0?(h=r[(a[v>>2]|0)+49>>0]|0,B=h&255,h<<24>>24!=0):0){a[g>>2]=a[f>>2];a[g+4>>2]=a[f+4>>2];a[g+8>>2]=a[f+8>>2];a[g+12>>2]=a[f+12>>2];a[g+16>>2]=a[f+16>>2];a[g+20>>2]=a[f+20>>2];a[g+24>>2]=a[f+24>>2];a[g+28>>2]=a[f+28>>2];do{if(!(B&4)){if(B&1|0){a[f+48>>2]=1;l=g+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}l=f+48|0;if(!(B&8)){a[l>>2]=2;b[g>>3]=+b[A>>3];b[g+8>>3]=+b[t+24>>3]-+b[t+80>>3]*.5;b[g+24>>3]=+b[A+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}else{a[l>>2]=8;b[g+16>>3]=+b[A>>3];b[g+8>>3]=+b[t+24>>3]-+b[t+80>>3]*.5;b[g+24>>3]=+b[A+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}}else{a[f+48>>2]=4;c=+b[g>>3];if(+b[A>>3]<+b[t+16>>3]){G=c+-1.0;Z=+b[A+8>>3];A=g+16|0;c=+b[A>>3];s=+b[t+80>>3]*.5+ +b[t+24>>3];s=s+ +((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[d>>2]|0;b[A>>3]=+b[l+16>>3]-+b[l+88>>3];b[g+24>>3]=Z;b[g+8>>3]=+b[l+24>>3]-+b[l+80>>3]*.5;b[g>>3]=G;b[f+56>>3]=G;b[f+64>>3]=Z;b[f+72>>3]=c;b[f+80>>3]=s;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}else{s=+b[A+8>>3];l=g+16|0;Z=+b[l>>3]+1.0;G=+b[t+80>>3]*.5+ +b[t+24>>3];G=G+ +((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[d>>2]|0;b[g>>3]=+b[A+96>>3]+ +b[A+16>>3];b[g+24>>3]=s;b[g+8>>3]=+b[A+24>>3]-+b[A+80>>3]*.5;b[l>>3]=Z;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Z;b[f+80>>3]=G;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((C|0)==(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0}else{t=1;E=47}break}case 2:{B=r[(a[v>>2]|0)+49>>0]|0;t=B&255;if(!(B<<24>>24))E=46;else{a[g>>2]=a[f>>2];a[g+4>>2]=a[f+4>>2];a[g+8>>2]=a[f+8>>2];a[g+12>>2]=a[f+12>>2];a[g+16>>2]=a[f+16>>2];a[g+20>>2]=a[f+20>>2];a[g+24>>2]=a[f+24>>2];a[g+28>>2]=a[f+28>>2];do{if(!(t&4)){if(t&1|0)if((a[f+48>>2]|0)==4){l=a[d>>2]|0;G=+b[l+24>>3]-+b[l+80>>3]*.5;l=g+16|0;Z=+b[l>>3]+1.0;c=+b[A>>3];s=G-+((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[d>>2]|0;b[g>>3]=+b[A+96>>3]+ +b[A+16>>3];b[g+8>>3]=G;b[g+24>>3]=+b[A+80>>3]*.5+ +b[A+24>>3];b[l>>3]=Z;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Z;b[f+80>>3]=G;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}else{l=g+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}c=+b[A>>3];if(!(t&8)){b[g>>3]=c;i=a[d>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[g+24>>3]=s+c;c=+b[A+8>>3];l=g}else{b[g+8>>3]=c-s;c=+b[A+8>>3]+1.0;l=g+16|0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}else{l=g+16|0;b[l>>3]=c+1.0;i=a[d>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[g+24>>3]=s+c;c=+b[A+8>>3]+-1.0;l=g}else{b[g+8>>3]=c-s;c=+b[A+8>>3]+1.0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}}else{l=g+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+8>>3]?g:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((C|0)==(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0;a[f+48>>2]=t}break}default:E=46}if((E|0)==46){t=a[f+48>>2]|0;E=47}A:do{if((E|0)==47){if(w){e=f+56|0;l=f+52|0;t=z5[w&127](C,(a[v>>2]|0)+16|0,t,e,l)|0;if(t){a[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}a[e>>2]=a[f>>2];a[e+4>>2]=a[f+4>>2];a[e+8>>2]=a[f+8>>2];a[e+12>>2]=a[f+12>>2];a[e+16>>2]=a[f+16>>2];a[e+20>>2]=a[f+20>>2];a[e+24>>2]=a[f+24>>2];a[e+28>>2]=a[f+28>>2];a[l>>2]=1;switch(i|0){case 8:{vA(138394,106514,569,106524);break}case 2:{b[((a[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+b[A+8>>3];break A}case 1:{b[f+80>>3]=+b[A+8>>3];a[f+48>>2]=1;break A}default:break A}}}while(0);k=I;return}function ZX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function GX(A){A=A|0;var e=0.0,i=0,r=0,f=0.0,n=0,l=0,t=0,c=0.0,s=0.0;l=a[A+16>>2]|0;t=a[l+172>>2]|0;f=0.0;n=0;while(1){A=a[t+(n<<2)>>2]|0;if(!A)break;f=+b[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;n=n+1|0}r=a[l+180>>2]|0;e=0.0;A=0;while(1){i=a[r+(A<<2)>>2]|0;if(!i)break;e=+b[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+e;A=A+1|0}c=+b[l+16>>3];s=+b[l+24>>3];t=a[t>>2]|0;f=+X(+(s-+b[(a[(a[((a[t>>2]&3|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(c-f/+(n|0)));t=a[r>>2]|0;return+((+X(+(+b[(a[(a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-s),+(e/+(A|0)-c))+f)*.5)}function QX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0;G=k;k=k+112|0;C=G+72|0;o=G+56|0;w=G+16|0;v=G;t=a[e>>2]&3;d=e+-48|0;Z=a[((t|0)==2?e:d)+40>>2]|0;g=e+16|0;B=a[g>>2]|0;l=B+56|0;if(r[B+87>>0]|0){sX(w,Z,a[((t|0)==3?e:e+48|0)+40>>2]|0,l);t=w;w=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(w|0))}B=Z+16|0;t=a[B>>2]|0;l=a[t+8>>2]|0;if(!l)u=0;else u=a[(a[l+4>>2]|0)+16>>2]|0;w=A+40|0;l=t+16|0;t=(a[g>>2]|0)+56|0;a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];a[C>>2]=a[t>>2];a[C+4>>2]=a[t+4>>2];a[C+8>>2]=a[t+8>>2];a[C+12>>2]=a[t+12>>2];ZX(v,o,C);a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];if(!(n<<24>>24)){l=a[g>>2]|0;if(!(r[l+85>>0]|0))h=0;else{b[A+56>>3]=+b[l+72>>3];h=1}}else{s=+GX(a[((a[e>>2]&3|0)==2?e:d)+40>>2]|0)+3.141592653589793;b[A+56>>3]=s;if(s<6.283185307179586)h=1;else vA(106534,106514,606,106558)}r[A+69>>0]=h;v=f+32|0;a[v>>2]=a[w>>2];a[v+4>>2]=a[w+4>>2];a[v+8>>2]=a[w+8>>2];a[v+12>>2]=a[w+12>>2];switch(i|0){case 1:{t=a[B>>2]|0;if((r[t+156>>0]|0)==0?(v=r[(a[g>>2]|0)+89>>0]|0,E=v&255,v<<24>>24!=0):0){a[C>>2]=a[f>>2];a[C+4>>2]=a[f+4>>2];a[C+8>>2]=a[f+8>>2];a[C+12>>2]=a[f+12>>2];a[C+16>>2]=a[f+16>>2];a[C+20>>2]=a[f+20>>2];a[C+24>>2]=a[f+24>>2];a[C+28>>2]=a[f+28>>2];do{if(!(E&4))if(!(E&1)){l=f+48|0;if(!(E&8)){a[l>>2]=2;b[C>>3]=+b[w>>3];b[C+24>>3]=+b[t+80>>3]*.5+ +b[t+24>>3];b[C+8>>3]=+b[A+48>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}else{a[l>>2]=8;b[C+16>>3]=+b[w>>3];b[C+24>>3]=+b[t+80>>3]*.5+ +b[t+24>>3];b[C+8>>3]=+b[A+48>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}}else{a[f+48>>2]=1;c=+b[C>>3];if(+b[w>>3]<+b[t+16>>3]){m=c+-1.0;s=+b[A+48>>3];A=C+16|0;c=+b[A>>3];Q=+b[t+80>>3]*-.5+ +b[t+24>>3];Q=Q-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[B>>2]|0;b[A>>3]=+b[l+16>>3]-+b[l+88>>3];b[C+8>>3]=s;b[C+24>>3]=+b[l+80>>3]*.5+ +b[l+24>>3];b[C>>3]=m;b[f+56>>3]=m;b[f+64>>3]=Q;b[f+72>>3]=c;b[f+80>>3]=s;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}else{m=+b[A+48>>3];l=C+16|0;Q=+b[l>>3]+1.0;s=+b[t+80>>3]*-.5+ +b[t+24>>3];s=s-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[B>>2]|0;b[C>>3]=+b[A+96>>3]+ +b[A+16>>3];b[C+8>>3]=m;b[C+24>>3]=+b[A+80>>3]*.5+ +b[A+24>>3];b[l>>3]=Q;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Q;b[f+80>>3]=m;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}}else{a[f+48>>2]=4;l=C+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+48>>3]?C:w)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((Z|0)==(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;a[f+48>>2]=E}else{t=4;I=47}break}case 2:{E=r[(a[g>>2]|0)+89>>0]|0;t=E&255;if(!(E<<24>>24))I=46;else{a[C>>2]=a[f>>2];a[C+4>>2]=a[f+4>>2];a[C+8>>2]=a[f+8>>2];a[C+12>>2]=a[f+12>>2];a[C+16>>2]=a[f+16>>2];a[C+20>>2]=a[f+20>>2];a[C+24>>2]=a[f+24>>2];a[C+28>>2]=a[f+28>>2];do{if(!(t&4)){if(t&1|0)if((a[f+48>>2]|0)==4){c=+b[C>>3]+-1.0;l=a[B>>2]|0;m=+b[l+24>>3]-+b[l+80>>3]*.5;Q=+b[w>>3];s=m-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[B>>2]|0;b[C+16>>3]=+b[l+16>>3]+-2.0-+b[l+88>>3];b[C+8>>3]=m;b[C+24>>3]=+b[l+80>>3]*.5+ +b[l+24>>3];b[C>>3]=c;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Q;b[f+80>>3]=m;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}else{l=C+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?C+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}c=+b[w>>3];if(!(t&8)){b[C>>3]=c+-1.0;i=a[B>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[C+24>>3]=s+c;c=+b[A+48>>3]+-1.0;l=C}else{b[C+8>>3]=c-s;c=+b[A+48>>3];l=C+16|0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}else{l=C+16|0;b[l>>3]=c+1.0;i=a[B>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[C+24>>3]=s+c;c=+b[A+48>>3]+-1.0;l=C}else{b[C+8>>3]=c-s;c=+b[A+48>>3]+1.0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}}else{l=C+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+48>>3]?C:w)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((Z|0)==(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;a[f+48>>2]=t}break}default:I=46}if((I|0)==46){t=a[f+48>>2]|0;I=47}A:do{if((I|0)==47){if(u){e=f+56|0;l=f+52|0;t=z5[u&127](Z,(a[g>>2]|0)+56|0,t,e,l)|0;if(t){a[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}a[e>>2]=a[f>>2];a[e+4>>2]=a[f+4>>2];a[e+8>>2]=a[f+8>>2];a[e+12>>2]=a[f+12>>2];a[e+16>>2]=a[f+16>>2];a[e+20>>2]=a[f+20>>2];a[e+24>>2]=a[f+24>>2];a[e+28>>2]=a[f+28>>2];a[l>>2]=1;switch(i|0){case 8:{vA(138394,106514,765,106558);break}case 2:{b[((a[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+b[A+48>>3];break A}case 1:{b[f+64>>3]=+b[A+48>>3];a[f+48>>2]=4;break A}default:break A}}}while(0);k=G;return}function mX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;n=a[A+16>>2]|0;l=a[n+96>>2]|0;if((r[n+44>>0]|0)==0?(r[n+84>>0]|0)==0:0)t=6;else{e=r[n+49>>0]|0;i=e&255;if(((i&8|0)==0?(f=r[n+89>>0]|0,(f&8)==0):0)?(i&5|0)==0?1:e<<24>>24!=f<<24>>24:0)t=6;else A=0}if((t|0)==6)if(!l)A=18;else{A=(a[(a[(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=~~(+b[(A?l+32|0:l+24|0)>>3]+18.0)}return A|0}function LX(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=+n;l=+l;t=t|0;var c=0,b=0,s=0,w=0;A=a[(a[e+(i<<2)>>2]|0)+16>>2]|0;if((r[A+44>>0]|0)==0?(r[A+84>>0]|0)==0:0)s=6;else s=3;do{if((s|0)==3){c=r[A+49>>0]|0;b=c&255;if(!(b&8)){w=r[A+89>>0]|0;if((w&8)==0?(b&5|0)==0?1:c<<24>>24!=w<<24>>24:0){s=6;break}if(!(r[A+89>>0]&8)){if(b&4|0){yX(e,i,f,n,l,t);break}if(!(b&1))vA(138394,106514,1231,106566);else{YX(e,i,f,n,l,t);break}}}if((c&2)==0?(r[A+89>>0]&2)==0:0){zX(e,i,f,n,l,t);break}yX(e,i,f,n,l,t)}}while(0);if((s|0)==6)WX(e,i,f,n,l,t);return}function WX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0.0,W=0,y=0.0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;m=a[A+(e<<2)>>2]|0;w=l*.5/+(i|0);w=w>2.0?w:2.0;W=(a[((a[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)+16|0;Q=a[W>>2]|0;L=+b[Q+16>>3];D=+b[Q+24>>3];m=a[m+16>>2]|0;s=+b[m+16>>3];y=s+L;z=+b[m+24>>3]+D;l=+b[m+56>>3];Y=l+L;D=+b[m+64>>3]+D;c=!(z>=D)?-1:1;o=+b[Q+96>>3];switch(DX(n[m+49>>0]|0,n[m+89>>0]|0)|0){case 65:case 32:{if(z==D)c=0-c|0;break}default:{}}p=(o-s)*3.0;s=(o-l)*3.0;E=w*+(c|0);g=J+8|0;C=J+16|0;I=J+32|0;Z=J+48|0;G=(D+z)*.5;Q=J+64|0;m=J+80|0;B=J+96|0;v=J+104|0;d=0;u=0.0;l=o;w=o=(i|0))break;h=e+1|0;e=a[A+(e<<2)>>2]|0;o=l+f;w=w+f;s=s+f;u=u+E;b[J>>3]=y;b[g>>3]=z;p=u+z;MX(N,w*.3333333333333333+y,p);a[C>>2]=a[N>>2];a[C+4>>2]=a[N+4>>2];a[C+8>>2]=a[N+8>>2];a[C+12>>2]=a[N+12>>2];U=o+L;MX(X,U,p);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];MX(R,U,G);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];p=D-u;MX(F,U,p);a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];MX(V,s*.3333333333333333+Y,p);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];b[B>>3]=Y;b[v>>3]=D;c=e+16|0;if((a[(a[c>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=a[(a[c>>2]|0)+96>>2]|0,M=+b[(x?c+24|0:c+32|0)>>3],x=a[W>>2]|0,b[c+56>>3]=M*.5+o+ +b[x+16>>3],b[c+64>>3]=+b[x+24>>3],r[c+81>>0]=1,M>f):0)l=M+l;else l=o;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,J,7,t);e=h;d=d+1|0}k=H;return}function yX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0.0,y=0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0.0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0.0,x=0;p=k;k=k+16080|0;N=p+80|0;X=p+64|0;R=p+48|0;H=p+32|0;V=p+16|0;J=p;L=a[A+(e<<2)>>2]|0;h=f*.5/+(i|0);h=h>2.0?h:2.0;y=(a[((a[L>>2]&3|0)==3?L:L+48|0)+40>>2]|0)+16|0;s=a[y>>2]|0;D=+b[s+16>>3];W=+b[s+24>>3];L=a[L+16>>2]|0;c=+b[L+16>>3];o=+b[L+24>>3];z=c+D;Y=o+W;f=+b[L+56>>3];u=+b[L+64>>3];D=f+D;M=u+W;w=!(z>=D)?-1.0:1.0;B=+b[s+80>>3]*.5;switch(DX(n[L+49>>0]|0,n[L+89>>0]|0)|0){case 15:{c=(h-f+ +b[s+96>>3])*w;break}case 38:{c=(f+h+ +b[s+88>>3])*w;break}case 41:{c=(h-c+ +b[s+96>>3])*w;break}case 48:{c=(h-c+ +b[s+96>>3])*w;break}case 58:case 57:case 51:case 47:case 37:case 14:{c=w*.3333333333333333*(c-f+ +b[s+88>>3]+ +b[s+96>>3]);break}case 73:{c=(c+h+ +b[s+88>>3])*w;break}case 83:{c=(+b[s+88>>3]+c)*w;break}case 84:{c=((c-f+ +b[s+88>>3]+ +b[s+96>>3])*.5+h)*w;break}case 85:case 75:case 74:{c=((c-f+ +b[s+88>>3]+ +b[s+96>>3])*.5+h*2.0)*w;break}default:c=0.0}o=(B-o)*3.0;u=(B-u)*3.0;h=w*h;C=N+8|0;I=N+16|0;Z=N+32|0;G=N+48|0;Q=(D+z)*.5;m=N+64|0;L=N+80|0;g=N+96|0;E=N+104|0;v=0;f=B;o=B=(i|0))break;d=e+1|0;e=a[A+(e<<2)>>2]|0;u=f+l;o=o+l;w=w+l;c=c+h;b[N>>3]=z;b[C>>3]=Y;B=c+z;MX(X,B,o*.3333333333333333+Y);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];U=u+W;MX(R,B,U);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];MX(H,Q,U);a[G>>2]=a[H>>2];a[G+4>>2]=a[H+4>>2];a[G+8>>2]=a[H+8>>2];a[G+12>>2]=a[H+12>>2];B=D-c;MX(V,B,U);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];MX(J,B,w*.3333333333333333+M);a[L>>2]=a[J>>2];a[L+4>>2]=a[J+4>>2];a[L+8>>2]=a[J+8>>2];a[L+12>>2]=a[J+12>>2];b[g>>3]=D;b[E>>3]=M;s=e+16|0;if((a[(a[s>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,s=a[(a[s>>2]|0)+96>>2]|0,F=+b[(x?s+32|0:s+24|0)>>3],x=a[y>>2]|0,b[s+64>>3]=F*.5+u+ +b[x+24>>3],b[s+56>>3]=+b[x+16>>3],r[s+81>>0]=1,F>l):0)f=F+f;else f=u;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,N,7,t);e=d;v=v+1|0}k=p;return}function zX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0.0,W=0,y=0.0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;m=a[A+(e<<2)>>2]|0;w=l*.5/+(i|0);w=w>2.0?w:2.0;W=(a[((a[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)+16|0;Q=a[W>>2]|0;L=+b[Q+16>>3];D=+b[Q+24>>3];m=a[m+16>>2]|0;s=+b[m+16>>3];y=s+L;z=+b[m+24>>3]+D;l=+b[m+56>>3];Y=l+L;D=+b[m+64>>3]+D;c=!(z>=D)?-1:1;o=+b[Q+88>>3];switch(DX(n[m+49>>0]|0,n[m+89>>0]|0)|0){case 67:case 12:{if(z==D)c=0-c|0;break}default:{}}p=(s+o)*3.0;s=(l+o)*3.0;E=w*+(c|0);g=J+8|0;C=J+16|0;I=J+32|0;Z=J+48|0;G=(D+z)*.5;Q=J+64|0;m=J+80|0;B=J+96|0;v=J+104|0;d=0;u=0.0;l=o;w=o=(i|0))break;h=e+1|0;e=a[A+(e<<2)>>2]|0;o=l+f;w=w+f;s=s+f;u=u+E;b[J>>3]=y;b[g>>3]=z;p=u+z;MX(N,y-w*.3333333333333333,p);a[C>>2]=a[N>>2];a[C+4>>2]=a[N+4>>2];a[C+8>>2]=a[N+8>>2];a[C+12>>2]=a[N+12>>2];U=L-o;MX(X,U,p);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];MX(R,U,G);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];p=D-u;MX(F,U,p);a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];MX(V,Y-s*.3333333333333333,p);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];b[B>>3]=Y;b[v>>3]=D;c=e+16|0;if((a[(a[c>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=a[(a[c>>2]|0)+96>>2]|0,M=+b[(x?c+24|0:c+32|0)>>3],x=a[W>>2]|0,b[c+56>>3]=M*-.5-o+ +b[x+16>>3],b[c+64>>3]=+b[x+24>>3],r[c+81>>0]=1,M>f):0)l=M+l;else l=o;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,J,7,t);e=h;d=d+1|0}k=H;return}function YX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0.0,G=0.0,Q=0.0,m=0.0,L=0,W=0,y=0,z=0.0,Y=0,D=0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;L=a[A+(e<<2)>>2]|0;m=f*.5/+(i|0);C=(a[((a[L>>2]&3|0)==3?L:L+48|0)+40>>2]|0)+16|0;W=a[C>>2]|0;G=+b[W+16>>3];E=+b[W+24>>3];L=a[L+16>>2]|0;s=+b[L+24>>3];I=+b[L+16>>3]+G;Z=s+E;w=+b[L+64>>3];G=+b[L+56>>3]+G;Q=w+E;g=!(I>=G)?-1:1;u=+b[W+80>>3]*.5;L=(DX(n[L+49>>0]|0,n[L+89>>0]|0)|0)==67;s=(s+u)*3.0;w=(w+u)*3.0;m=(m>2.0?m:2.0)*+((L?0-g|0:g)|0);g=J+8|0;L=J+16|0;W=J+32|0;y=J+48|0;z=(G+I)*.5;Y=J+64|0;D=J+80|0;B=J+96|0;v=J+104|0;f=u;c=0.0;s=u=(i|0))break;d=e+1|0;o=a[A+(e<<2)>>2]|0;u=f+l;s=s+l;w=w+l;c=c+m;b[J>>3]=I;b[g>>3]=Z;p=c+I;MX(N,p,Z-s*.3333333333333333);a[L>>2]=a[N>>2];a[L+4>>2]=a[N+4>>2];a[L+8>>2]=a[N+8>>2];a[L+12>>2]=a[N+12>>2];U=E-u;MX(X,p,U);a[W>>2]=a[X>>2];a[W+4>>2]=a[X+4>>2];a[W+8>>2]=a[X+8>>2];a[W+12>>2]=a[X+12>>2];MX(R,z,U);a[y>>2]=a[R>>2];a[y+4>>2]=a[R+4>>2];a[y+8>>2]=a[R+8>>2];a[y+12>>2]=a[R+12>>2];p=G-c;MX(F,p,U);a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];MX(V,p,Q-w*.3333333333333333);a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];b[B>>3]=G;b[v>>3]=Q;e=o+16|0;if((a[(a[e>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=a[(a[e>>2]|0)+96>>2]|0,M=+b[(x?e+32|0:e+24|0)>>3],x=a[C>>2]|0,b[e+64>>3]=M*-.5-u+ +b[x+24>>3],b[e+56>>3]=+b[x+16>>3],r[e+81>>0]=1,M>l):0)f=M+f;else f=u;gX(o,a[((a[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,J,7,t);e=d;h=h+1|0}k=H;return}function DX(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=8){e=-1;break}if((a[22044+(i<<2)>>2]|0)==(e|0)){e=i;break}i=i+1|0}i=0;while(1){if((i|0)>=8){i=-1;break}if((a[22044+(i<<2)>>2]|0)==(A|0))break;i=i+1|0}if((i|e|0)<0)i=0;else i=a[22076+(i<<5)+(e<<2)>>2]|0;return i|0}function MX(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function FX(A){A=A|0;var e=0,i=0;if((a[47203]|0)!=0|(a[47202]|0)!=0){e=A+16|0;i=a[(a[e>>2]|0)+100>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?VX(A,1)|0:0){i=Id(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;pR(i,a[(a[e>>2]|0)+100>>2]|0)}i=a[(a[e>>2]|0)+104>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?VX(A,0)|0:0){i=Id(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;pR(i,a[(a[e>>2]|0)+104>>2]|0)}}return}function VX(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+96|0;u=h+32|0;s=h+16|0;w=h;l=A+16|0;do{if((r[(a[l>>2]|0)+112>>0]|0)!=6){i=a[47203]|0;if(!((i|0)!=0?(r[(Uo(A,i)|0)>>0]|0)!=0:0)){i=a[47202]|0;if(!i){i=0;break}if(!(r[(Uo(A,i)|0)>>0]|0)){i=0;break}}e=e<<24>>24==0;o=a[l>>2]|0;o=a[(e?o+104|0:o+100|0)>>2]|0;i=JX(A)|0;if(i){c=a[i>>2]|0;do{if(e){if(a[c+8>>2]|0){i=a[c>>2]|0;t=+b[i>>3];n=+b[c+16>>3];i=i+8|0;f=+b[c+24>>3];break}i=a[c>>2]|0;n=+b[i>>3];f=+b[i+8>>3];i=0;while(1){if((i|0)==4)break;w=u+(i<<4)|0;l=(a[c>>2]|0)+(i<<4)|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];i=i+1|0}mR(s,u,3,.1,0,0);t=+b[s>>3];i=s+8|0}else{e=(a[i+4>>2]|0)+-1|0;l=c+(e*48|0)|0;if(a[c+(e*48|0)+12>>2]|0){u=a[l>>2]|0;i=(a[c+(e*48|0)+4>>2]|0)+-1|0;t=+b[u+(i<<4)>>3];n=+b[c+(e*48|0)+32>>3];i=u+(i<<4)+8|0;f=+b[c+(e*48|0)+40>>3];break}s=a[l>>2]|0;e=c+(e*48|0)+4|0;i=(a[e>>2]|0)+-1|0;n=+b[s+(i<<4)>>3];f=+b[s+(i<<4)+8>>3];i=0;while(1){if((i|0)==4)break;s=u+(i<<4)|0;c=(a[l>>2]|0)+(i+-4+(a[e>>2]|0)<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];i=i+1|0}mR(w,u,3,.9,0,0);t=+b[w>>3];i=w+8|0}}while(0);d=+X(+(+b[i>>3]-f),+(t-n));d=+oR(A,a[47203]|0,-25.0,-180.0)*.017453292519943295+d;t=+oR(A,a[47202]|0,1.0,0.0)*10.0;b[o+56>>3]=t*+D(+d)+n;b[o+64>>3]=+M(+d)*t+f;r[o+81>>0]=1;i=1}else i=0}else i=0}while(0);k=h;return i|0}function JX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;e=A;while(1){i=a[e+16>>2]|0;e=a[i+8>>2]|0;if(e|0)break;if(!(r[i+112>>0]|0)){n=5;break}e=a[i+116>>2]|0}if((n|0)==5){n=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;e=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[f>>2]=n;a[f+4>>2]=e;ao(1,106579,f)|0;e=0}k=l;return e|0}function NX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0;B=k;k=k+96|0;s=B+80|0;w=B+64|0;u=B+48|0;o=B+32|0;h=B+16|0;d=B;c=f[(a[e+16>>2]|0)+136>>1]|0;e=i+16|0;XX(a[(a[e>>2]|0)+8>>2]|0,o,h);r=+b[o>>3];n=+b[h>>3];v=r-n;l=+b[o+8>>3];t=+b[h+8>>3];g=l-t;A:do{if(g*g+v*v<1.0e-06){a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2]}else switch(c&14){case 4:case 10:{b[w>>3]=(n+r)*.5;b[w+8>>3]=(t+l)*.5;h=a[(a[e>>2]|0)+8>>2]|0;a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];DR(d,h,s);a[u>>2]=a[d>>2];a[u+4>>2]=a[d+4>>2];a[u+8>>2]=a[d+8>>2];a[u+12>>2]=a[d+12>>2];break A}default:{RX(u,a[(a[e>>2]|0)+8>>2]|0,o,h);break A}}}while(0);a[A>>2]=a[u>>2];a[A+4>>2]=a[u+4>>2];a[A+8>>2]=a[u+8>>2];a[A+12>>2]=a[u+12>>2];k=B;return}function XX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+32|0;n=l+16|0;f=l;c=a[A>>2]|0;r=a[c>>2]|0;t=a[c+8>>2]|0;b=c+16|0;a[n>>2]=a[b>>2];a[n+4>>2]=a[b+4>>2];a[n+8>>2]=a[b+8>>2];a[n+12>>2]=a[b+12>>2];c=c+32|0;a[f>>2]=a[c>>2];a[f+4>>2]=a[c+4>>2];a[f+8>>2]=a[c+8>>2];a[f+12>>2]=a[c+12>>2];if(!t){a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2]}else{a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[e+8>>2]=a[n+8>>2];a[e+12>>2]=a[n+12>>2]}t=a[A>>2]|0;c=(a[A+4>>2]|0)+-1|0;r=a[t+(c*48|0)>>2]|0;A=a[t+(c*48|0)+4>>2]|0;b=a[t+(c*48|0)+12>>2]|0;e=t+(c*48|0)+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];c=t+(c*48|0)+32|0;a[f>>2]=a[c>>2];a[f+4>>2]=a[c+4>>2];a[f+8>>2]=a[c+8>>2];a[f+12>>2]=a[c+12>>2];if(!b){b=r+(A+-1<<4)|0;a[i>>2]=a[b>>2];a[i+4>>2]=a[b+4>>2];a[i+8>>2]=a[b+8>>2];a[i+12>>2]=a[b+12>>2]}else{a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2]}k=l;return}function RX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0.0;d=a[e+4>>2]|0;n=0.0;f=0;while(1){if((f|0)>=(d|0))break;s=a[e>>2]|0;c=a[s+(f*48|0)>>2]|0;s=a[s+(f*48|0)+4>>2]|0;l=3;t=0;while(1){if((l|0)>=(s|0))break;h=+b[c+(t<<4)>>3]-+b[c+(l<<4)>>3];o=+b[c+(t<<4)+8>>3]-+b[c+(l<<4)+8>>3];l=l+3|0;t=t+3|0;n=+z(+(o*o+h*h))+n}f=f+1|0}s=0;n=n*.5;A:while(1){if((s|0)>=(d|0)){f=15;break}c=a[e>>2]|0;t=a[c+(s*48|0)>>2]|0;c=a[c+(s*48|0)+4>>2]|0;f=3;l=0;while(1){if((f|0)>=(c|0))break;w=+b[t+(l<<4)>>3];o=+b[t+(l<<4)+8>>3];u=+b[t+(f<<4)>>3];k=+b[t+(f<<4)+8>>3];h=w-u;B=o-k;h=+z(+(B*B+h*h));if(h>=n){f=12;break A}f=f+3|0;l=l+3|0;n=n-h}s=s+1|0}if((f|0)==12){b[i>>3]=w;b[i+8>>3]=o;b[r>>3]=u;b[r+8>>3]=k;B=h-n;b[A>>3]=(B*w+u*n)/h;b[A+8>>3]=(B*o+k*n)/h;return}else if((f|0)==15)vA(138712,106514,1316,106641)}function HX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;FX(e);return}function pX(A,e,i,f,n){A=A|0;e=e|0;i=+i;f=f|0;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,k=0,o=0.0,h=0.0,d=0.0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0;F=UX(A)|0;Y=a[F+4>>2]|0;V=a[F>>2]|0;z=Y+-1|0;m=+b[V+(z<<6)+16>>3];L=+(Y|0);W=(n|0)==2;y=(f|0)!=0;u=0;t=0.0;l=0.0;s=0.0;w=0.0;while(1){if((u|0)>=(Y|0))break;A=~~+xX(+(u+-1|0),L);Q=u+1|0;J=~~+xX(+(Q|0),L);k=V+(u<<6)|0;w=+b[k>>3];G=V+(u<<6)+8|0;s=+b[G>>3];B=V+(u<<6)+16|0;v=+b[B>>3];g=V+(u<<6)+24|0;E=V+(u<<6)+32|0;C=V+(u<<6)+40|0;I=V+(u<<6)+48|0;Z=V+(u<<6)+56|0;c=+TX(+b[V+(J<<6)+8>>3]-s,+b[V+(J<<6)>>3]-w);h=+TX(+b[V+(A<<6)+8>>3]-s,+b[V+(A<<6)>>3]-w);d=+I5[e&7](v,m,i);A=(u|0)==0;do{if(A|(u|0)==(z|0))if(A){l=c+1.5707963267948966;if(!W){A=0;o=l;t=d;break}A=0;o=l;t=d;s=s-+M(+c)*d;w=w-+D(+c)*d;break}else{l=h+-1.5707963267948966;if(!W){A=0;o=l;t=d;break}A=0;o=l;t=d;s=s-+M(+h)*d;w=w-+D(+h)*d;break}else{o=c-h;o=1.5707963267948966-(o<0.0?o+6.283185307179586:o)*.5;t=+D(+o);t=t==0.0?0.0:d/t;l=c+1.5707963267948966;c=o+l;if(y|t>d*10.0){h=+xX(h+-1.5707963267948966,6.283185307179586);A=1;o=+xX(l,6.283185307179586);t=d;l=h}else{A=0;o=c;l=c}}}while(0);b[k>>3]=w;b[G>>3]=s;b[B>>3]=v;r[g>>0]=108;b[E>>3]=l;b[C>>3]=t;a[I>>2]=A;b[Z>>3]=o;u=Q}k=qF(12)|0;A=0;while(1){if((A|0)>=(Y|0))break;w=+b[V+(A<<6)>>3];s=+b[V+(A<<6)+8>>3];l=+b[V+(A<<6)+32>>3];t=+b[V+(A<<6)+40>>3];J=a[V+(A<<6)+48>>2]|0;c=+b[V+(A<<6)+56>>3];jX(k,+D(+l)*t+w,+M(+l)*t+s);if(J|0)SX(w,s,t,1,l,c,f,k);A=A+1|0}u=(n|0)==1;c=l+3.141592653589793;if(u)PX(k,w,s,t,l,c);else{jX(k,+D(+c)*t+w,+M(+c)*t+s);l=c}A=Y+-2|0;c=w;while(1){if((A|0)<=-1)break;w=+b[V+(A<<6)>>3];s=+b[V+(A<<6)+8>>3];t=+b[V+(A<<6)+40>>3];J=a[V+(A<<6)+48>>2]|0;l=+b[V+(A<<6)+32>>3]+3.141592653589793;c=+b[V+(A<<6)+56>>3]+3.141592653589793;jX(k,+D(+c)*t+w,+M(+c)*t+s);if(J|0)SX(w,s,t,0,l,c,f,k);A=A+-1|0;c=w}if(u)PX(k,c,s,t,l,l+3.141592653589793);OX(F);return k|0}function UX(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0;h=k;k=k+144|0;t=h+128|0;l=h+112|0;c=h+96|0;b=h+64|0;s=h;w=h+80|0;u=KX()|0;o=a[A+4>>2]|0;f=a[A>>2]|0;a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];_X(u,t,0.0);n=s+48|0;a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];i=0;e=0.0;A:while(1){r=i+3|0;if((r|0)>=(o|0))break;a[s>>2]=a[n>>2];a[s+4>>2]=a[n+4>>2];a[s+8>>2]=a[n+8>>2];a[s+12>>2]=a[n+12>>2];A=1;while(1){if((A|0)==4)break;d=s+(A<<4)|0;B=f+(A+i<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];A=A+1|0}a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];A=1;while(1){if((A|0)==21){i=r;continue A}mR(w,s,3,+(A|0)*.05,0,0);a[b>>2]=a[w>>2];a[b+4>>2]=a[w+4>>2];a[b+8>>2]=a[w+8>>2];a[b+12>>2]=a[w+12>>2];a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2];v=+qX(l,t)+e;a[t>>2]=a[b>>2];a[t+4>>2]=a[b+4>>2];a[t+8>>2]=a[b+8>>2];a[t+12>>2]=a[b+12>>2];_X(u,t,v);a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];A=A+1|0;e=v}}$X(u);k=h;return u|0}function xX(A,e){A=+A;e=+e;var i=0.0;i=A-+W(+(A/e))*e;return+(!(A<0.0)&!(A>=e)?A:i)}function TX(A,e){A=+A;e=+e;if(!(A==0.0&e==0.0)){A=+X(+A,+e);if(!(A>=0.0))A=A+6.283185307179586}else A=0.0;return+A}function jX(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=a[A>>2]|0;f=A+4|0;if((r|0)<(a[f>>2]|0))f=a[A+8>>2]|0;else{a[f>>2]=2e3;r=A+8|0;f=eV(a[r>>2]|0,32e3)|0;a[r>>2]=f;r=a[A>>2]|0}a[A>>2]=r+1;b[f+(r<<4)>>3]=e;b[f+(r<<4)+8>>3]=i;return}function SX(A,e,i,r,f,a,n,l){A=+A;e=+e;i=+i;r=r|0;f=+f;a=+a;n=n|0;l=l|0;var t=0.0;r=(r|0)==0;t=r?f:a;do{if((n|0)==1){f=(r?a:f)-t;f=!(f<=1.7453292519943296e-03)?f:f+6.283185307179586;if(f<3.141592653589793){PX(l,A,e,i,f+t,t);break}else{jX(l,+D(+t)*i+A,+M(+t)*i+A);break}}else jX(l,+D(+t)*i+A,+M(+t)*i+A)}while(0);return}function PX(A,e,i,r,f,a){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;var n=0,l=0.0;jX(A,+D(+f)*r+e,+M(+f)*r+i);A:do{if(!(r==0.0)){while(1){if(!(a>f))break;a=a+-6.283185307179586}a=f-a;while(1){if(!(a>6.283185307179586))break;a=a+-6.283185307179586}a=a*.05263157894736842;n=1;while(1){if((n|0)==20)break A;l=f-a*+(n|0);jX(A,+D(+l)*r+e,+M(+l)*r+i);n=n+1|0}}}while(0);return}function OX(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function KX(){var A=0;A=qF(12)|0;a[A+4>>2]=0;a[A+8>>2]=2e3;a[A>>2]=qF(128e3)|0;return A|0}function _X(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;l=A+4|0;r=a[l>>2]|0;f=A+8|0;n=a[f>>2]|0;if((r|0)<(n|0))A=a[A>>2]|0;else{a[f>>2]=n<<1;r=eV(a[A>>2]|0,n<<7)|0;a[A>>2]=r;A=r;r=a[l>>2]|0}b[A+(r<<6)>>3]=+b[e>>3];b[A+(r<<6)+8>>3]=+b[e+8>>3];a[l>>2]=r+1;b[A+(r<<6)+16>>3]=i;return}function qX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+ +z(+(r*r+i*i))}function $X(A){A=A|0;var e=0;e=a[A+4>>2]|0;if((a[A+8>>2]|0)>(e|0))a[A>>2]=eV(a[A>>2]|0,e<<6)|0;return}function AR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;n=b+12|0;a[n>>2]=0;l=a[i+4>>2]|0;if(!l)vA(106658,106669,203,106680);r=a[l>>2]|0;if(!r)vA(106694,106669,206,106680);f=l+8|0;if(!(a[f>>2]|0))a[f>>2]=eR(r)|0;if(!0)r=0;else{r=(fF(a[l>>2]|0)|0)==0;r=r?0:n}if(!((Or(e,i,r)|0)<<24>>24))iR(i,r);do{if(r|0){f=a[n>>2]|0;e=a[15712]|0;r=a[l>>2]|0;if(!f){a[c>>2]=r;f3(e,106737,c)|0;break}else{a[t>>2]=r;a[t+4>>2]=f;f3(e,106705,t)|0;break}}}while(0);c=i+32|0;a[A>>2]=a[c>>2];a[A+4>>2]=a[c+4>>2];a[A+8>>2]=a[c+8>>2];a[A+12>>2]=a[c+12>>2];k=b;return}function eR(A){A=A|0;var e=0;e=a[47301]|0;if((e|0)!=0?(N1(e,A)|0)==0:0)A=a[47310]|0;else{L2(e);a[47301]=s3(A)|0;A=i8(189204,22332,35,36,95)|0;a[47310]=A}return A|0}function iR(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0.0,t=0,c=0.0;t=a[A+4>>2]|0;i=a[t>>2]|0;l=+b[t+16>>3];t=A+32|0;b[t>>3]=0.0;b[A+40>>3]=l*1.2;b[A+16>>3]=0.0;b[A+24>>3]=l*.1;a[A+8>>2]=0;a[A+12>>2]=0;if(T1(i,106771,4)|0)if((T1(i,106776,5)|0)!=0?(T1(i,106782,9)|0)!=0:0){n=4248;i=106792}else{n=8344;i=106828}else{n=6296;i=106809}if(e|0)a[e>>2]=i;i=a[A>>2]|0;if(i|0){f=0.0;while(1){A=r[i>>0]|0;if(!(A<<24>>24))break;c=f+ +b[n+((A&255)<<3)>>3];b[t>>3]=c;i=i+1|0;f=c}b[t>>3]=f*l}return}function rR(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function fR(A){A=A|0;var e=0;e=A+108|0;a[e>>2]=0;a[A+112>>2]=32;a[A+116>>2]=-1;a[A+120>>2]=33;a[A+124>>2]=63;a[A+128>>2]=55;a[A+132>>2]=0;a[A+136>>2]=0;a[A+140>>2]=0;e=jk(e,a[4581]|0)|0;a[A+144>>2]=e;return e|0}function aR(A,e,i){A=A|0;e=e|0;i=i|0;i=W2(1,32)|0;A=a[e>>2]|0;if(A|0)a[i>>2]=s3(A)|0;A=a[e+4>>2]|0;if(A|0)a[i+4>>2]=s3(A)|0;a[i+24>>2]=a[e+24>>2]&127;b[i+16>>3]=+b[e+16>>3];a[i+8>>2]=a[e+8>>2];return i|0}function nR(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e>>2]|0);L2(a[e+4>>2]|0);L2(e);return}function lR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0;A=a[e>>2]|0;r=a[i>>2]|0;l=(r|0)==0;if(!A)if(l)t=5;else A=-1;else if(!l){A=A1(A,r)|0;if(!A)t=5}else A=1;do{if((t|0)==5){A=a[e+4>>2]|0;r=a[i+4>>2]|0;l=(r|0)==0;if(!A){if(!l){A=-1;break}}else{if(l){A=1;break}A=A1(A,r)|0;if(A|0)break}A=(a[e+24>>2]&127)-(a[i+24>>2]&127)|0;if(!A){n=+b[e+16>>3];f=+b[i+16>>3];if(nf&1}}}while(0);return A|0}function tR(){le(189244)|0;return}function cR(){var A=0,e=0;e=k;k=k+16|0;A=e;le(A|0)|0;k=e;return+(+((a[A+4>>2]|0)+(a[A>>2]|0)-(a[47311]|0)-(a[47312]|0)|0)*.016666666666666666)}function bR(A){A=A|0;var e=0,i=0;e=qF(16)|0;A=(A|0)>2?A:2;i=qF(A<<2)|0;a[e>>2]=i;a[e+12>>2]=i;a[e+8>>2]=i;a[e+4>>2]=i+(A<<2);return e|0}function sR(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function wR(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=a[i>>2]|0;a[i>>2]=r+4;a[r>>2]=e;if((a[i>>2]|0)>>>0>=(a[A+4>>2]|0)>>>0)a[i>>2]=a[A>>2];return}function uR(A){A=A|0;var e=0,i=0,r=0;i=A+8|0;e=a[i>>2]|0;if((e|0)!=(a[A+12>>2]|0)){r=e+4|0;a[i>>2]=r;e=a[e>>2]|0;if(r>>>0>=(a[A+4>>2]|0)>>>0)a[i>>2]=a[A>>2]}else e=0;return e|0}function kR(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;t=k;k=k+16|0;n=t;if(((e|0)!=0?(l=Uo(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){e=n3(l,n,10)|0;i=(l|0)==(a[n>>2]|0)?i:(e|0)<(f|0)?f:e}k=t;return i|0}function oR(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0.0;t=k;k=k+16|0;n=t;if(((A|0)!=0&(e|0)!=0?(l=Uo(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){c=+A8(l,n);i=(l|0)==(a[n>>2]|0)?i:c0.0)){e=+oR(A,Yo(A,0,107638,0)|0,-1.0,0.0);e=e==0.0?72.0:e}return+e}function dR(A,e,i){A=A|0;e=e|0;i=i|0;if((A|0)!=0&(e|0)!=0)i=Uo(A,e)|0;return i|0}function BR(A,e,i){A=A|0;e=e|0;i=i|0;A=dR(A,e,i)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)i=A;return i|0}function vR(A,e,i){A=A|0;e=e|0;i=i|0;if(!e)A=i&255;else A=gR(Uo(A,e)|0)|0;return A|0}function gR(A){A=A|0;return ER(A,0)|0}function ER(A,e){A=A|0;e=e|0;var i=0;if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0)if((N1(A,137308)|0)!=0?(N1(A,107649)|0)!=0:0)if((N1(A,107652)|0)!=0?(N1(A,107657)|0)!=0:0){if(((i<<24>>24)+-48|0)>>>0<10)e=(q3(A)|0)&255}else e=1;else e=0;return e|0}function CR(A){A=A|0;var e=0,i=0;while(1){e=(a[A+16>>2]|0)+220|0;i=a[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=a[(a[i+16>>2]|0)+220>>2]|0;if(!A){A=i;continue}a[e>>2]=A}return A|0}function IR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;if((A|0)!=(e|0)){i=a[A+16>>2]|0;r=i+220|0;if(!(a[r>>2]|0)){a[r>>2]=A;a[i+216>>2]=1}else A=CR(A)|0;i=a[e+16>>2]|0;r=i+220|0;if(!(a[r>>2]|0)){a[r>>2]=e;a[i+216>>2]=1}else{i=CR(e)|0;e=i;i=a[i+16>>2]|0}n=A+16|0;r=a[n>>2]|0;f=e+16|0;l=(a[r+120>>2]|0)>(a[i+120>>2]|0);A=l?e:A;a[(l?r:i)+220>>2]=A;r=(a[(l?f:n)>>2]|0)+216|0;a[r>>2]=(a[r>>2]|0)+(a[(a[(l?n:f)>>2]|0)+216>>2]|0)}return A|0}function ZR(A){A=A|0;A=a[A+16>>2]|0;a[A+216>>2]=1;a[A+220>>2]=0;r[A+159>>0]=0;return}function GR(A,e){A=A|0;e=e|0;if((CR(A)|0)==(A|0)){A=a[A+16>>2]|0;a[A+220>>2]=e;e=(a[e+16>>2]|0)+216|0;a[e>>2]=(a[e>>2]|0)+(a[A+216>>2]|0);return}else vA(107669,107661,194,107685)}function QR(A,e){A=A|0;e=e|0;var i=0.0;e=a[(a[e+16>>2]|0)+132>>2]|0;i=+b[e+8>>3]*72.0;b[A>>3]=+b[e>>3]*72.0;b[A+8>>3]=i;return}function mR(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;n=n|0;var l=0,t=0,c=0,s=0.0,w=0,u=0,o=0;u=k;k=k+576|0;w=u;l=0;while(1){if((l|0)>(i|0))break;c=w+(l<<4)|0;t=e+(l<<4)|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];l=l+1|0}s=1.0-r;l=1;while(1){if((l|0)>(i|0))break;t=i-l|0;c=l+-1|0;e=0;while(1){if((e|0)>(t|0))break;o=e+1|0;b[w+(l*96|0)+(e<<4)>>3]=+b[w+(c*96|0)+(o<<4)>>3]*r+ +b[w+(c*96|0)+(e<<4)>>3]*s;b[w+(l*96|0)+(e<<4)+8>>3]=+b[w+(c*96|0)+(o<<4)+8>>3]*r+ +b[w+(c*96|0)+(e<<4)+8>>3]*s;e=o}l=l+1|0}A:do{if(f|0){l=0;while(1){if((l|0)>(i|0))break A;o=f+(l<<4)|0;c=w+(l*96|0)|0;a[o>>2]=a[c>>2];a[o+4>>2]=a[c+4>>2];a[o+8>>2]=a[c+8>>2];a[o+12>>2]=a[c+12>>2];l=l+1|0}}}while(0);A:do{if(n|0){l=0;while(1){if((l|0)>(i|0))break A;o=n+(l<<4)|0;f=w+((i-l|0)*96|0)+(l<<4)|0;a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];l=l+1|0}}}while(0);o=w+(i*96|0)|0;a[A>>2]=a[o>>2];a[A+4>>2]=a[o+4>>2];a[A+8>>2]=a[o+8>>2];a[A+12>>2]=a[o+12>>2];k=u;return}function LR(A){A=A|0;var e=0,i=0,f=0,n=0;i=0;do{e=a[47315]|0;f=e+1024|0;if((e-i|0)<1024){a[47315]=f;f=eV(a[47316]|0,f)|0;a[47316]=f;e=a[47315]|0}else f=a[47316]|0;e=N4(f+i|0,e-i|0,A)|0;if(!e){n=6;break}i=(S2(e)|0)+i|0;e=a[47316]|0}while((r[e+(i+-1)>>0]|0)!=10);if((n|0)==6)e=a[47316]|0;return((i|0)>0?e:0)|0}function WR(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0)if(!0){e=a[47133]|0;i=a[47318]|0;if((a[47317]|0)==(e|0))e=i;else{if(i){L2(a[i>>2]|0);L2(a[47318]|0);a[47318]=0;e=a[47133]|0}a[47317]=e;if(!e)break;if(!(r[e>>0]|0))break;e=yR(e)|0;a[47318]=e}if(!((r[A>>0]|0)!=47&(e|0)!=0))break;A=zR(e,a[47319]|0,A)|0;break}else S();else A=0}while(0);k=f;return A|0}function yR(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=0;f=0;n=0;e=s3(A)|0;i=0;while(1){e=t3(e,107984)|0;if(!e)break;A=(n<<2)+8|0;if(!f)A=$F(A)|0;else A=eV(i,A)|0;a[A+(n<<2)>>2]=e;f=S2(e)|0;r=r>>>0>f>>>0?r:f;f=A;n=n+1|0;e=0;i=A}a[f+(n<<2)>>2]=0;a[47319]=r;return f|0}function zR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;r=n;l=a[47320]|0;a[47320]=y2(l,e+2+(S2(i)|0)|0)|0;while(1){e=a[A>>2]|0;if(!e){A=0;break}l=a[47320]|0;a[r>>2]=e;a[r+4>>2]=107982;a[r+8>>2]=i;P4(l,107975,r)|0;if(!(M3(a[47320]|0,4)|0)){f=4;break}else A=A+4|0}if((f|0)==4)A=a[47320]|0;k=n;return A|0}function YR(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=(A|0)==0;f=0;while(1){l=a[e+(f<<2)>>2]|0;if(!l)break;if((!n?(r[A>>0]|0)==(r[l>>0]|0):0)?(A1(A,l)|0)==0:0)break;f=f+1|0}return a[i+(f<<2)>>2]|0}function DR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;G=k;k=k+80|0;I=G+16|0;Z=G;g=a[e+4>>2]|0;E=a[e>>2]|0;C=i+8|0;f=0;r=-1;n=1.e+38;e=-1;while(1){if((f|0)>=(g|0))break;B=a[E+(f*48|0)>>2]|0;v=a[E+(f*48|0)+4>>2]|0;d=0;while(1){if((d|0)>=(v|0))break;h=+b[B+(d<<4)>>3]-+b[i>>3];o=+b[B+(d<<4)+8>>3]-+b[C>>3];h=o*o+h*h;Q=(r|0)==-1|h>2]|0;r=r+(((r|0)==((a[E+(e*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;r=r-((r|0)%3|0)|0;e=0;while(1){if((e|0)==4)break;m=e+r|0;b[I+(e<<4)>>3]=+b[f+(m<<4)>>3];b[I+(e<<4)+8>>3]=+b[f+(m<<4)+8>>3];e=e+1|0}h=+b[i>>3];c=+b[I>>3]-h;u=+b[C>>3];o=+b[I+8>>3]-u;t=+b[I+48>>3]-h;w=+b[I+56>>3]-u;e=Z+8|0;n=1.0;l=0.0;t=w*w+t*t;c=o*o+c*c;while(1){o=(n+l)*.5;mR(Z,I,3,o,0,0);s=+b[Z>>3];w=+b[e>>3];if(+y(+(c-t))<1.0)break;if(+y(+(n-l))<1.0e-05)break;m=c>3]=s;b[A+8>>3]=w;k=G;return}function MR(){return 0}function FR(A){A=A|0;var e=0.0,i=0,f=0,n=0,l=0,t=0,c=0,s=0;e=+oR(A,a[47146]|0,.75,.01);n=A+16|0;b[(a[n>>2]|0)+32>>3]=e;e=+oR(A,a[47145]|0,.5,.02);b[(a[n>>2]|0)+40>>3]=e;s=QN(BR(A,a[47147]|0,107986)|0,A)|0;a[(a[n>>2]|0)+8>>2]=s;s=Uo(A,a[47154]|0)|0;e=+oR(A,a[47150]|0,14.0,1.0);i=BR(A,a[47151]|0,107994)|0;f=BR(A,a[47152]|0,137314)|0;l=(tB(s)|0)!=0;c=(sN(A)|0)==2;l=pF(A,s,(c?4:0)|(l?2:0),e,i,f)|0;a[(a[n>>2]|0)+104>>2]=l;l=a[47155]|0;if((l|0?(t=Uo(A,l)|0,t|0):0)?r[t>>0]|0:0){s=(tB(t)|0)!=0;s=pF(A,t,s?2:0,e,i,f)|0;a[(a[n>>2]|0)+108>>2]=s;s=(a[(Id(A)|0)+16>>2]|0)+113|0;r[s>>0]=r[s>>0]|16}c=(kR(A,a[47158]|0,0,0)|0)&255;s=a[n>>2]|0;r[s+144>>0]=c;F5[a[a[(a[s+8>>2]|0)+4>>2]>>2]&127](A);return}function VR(A){A=A|0;var e=0,i=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+112|0;s=E+96|0;w=E+80|0;B=E+40|0;g=E;d=A+48|0;o=Id(a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0)|0;n=s+8|0;a[n>>2]=0;u=w+8|0;a[u>>2]=0;e=a[47182]|0;if(((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){JR(A,s);v=(tB(i)|0)!=0;l=+b[s>>3];f=a[n>>2]|0;e=a[s+12>>2]|0;i=pF(A,i,v?2:0,l,f,e)|0;v=A+16|0;a[(a[v>>2]|0)+96>>2]=i;i=(a[o+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|1;i=gR(dR(A,a[47192]|0,137308)|0)|0;r[(a[v>>2]|0)+114>>0]=i;v=1;i=f}else{v=0;e=0;l=0.0;i=0}f=a[47183]|0;if((f|0?(t=Uo(A,f)|0,t|0):0)?r[t>>0]|0:0){if(!i){JR(A,s);l=+b[s>>3];i=a[n>>2]|0;e=a[s+12>>2]|0}n=(tB(t)|0)!=0;t=pF(A,t,n?2:0,l,i,e)|0;a[(a[A+16>>2]|0)+108>>2]=t;t=(a[o+16>>2]|0)+113|0;r[t>>0]=r[t>>0]|32}e=a[47197]|0;if(((e|0)!=0?(c=Uo(A,e)|0,(c|0)!=0):0)?(r[c>>0]|0)!=0:0){NR(A,s,w);t=(tB(c)|0)!=0;l=+b[w>>3];e=a[u>>2]|0;i=a[w+12>>2]|0;c=pF(A,c,t?2:0,l,e,i)|0;a[(a[A+16>>2]|0)+100>>2]=c;c=(a[o+16>>2]|0)+113|0;r[c>>0]=r[c>>0]|2}else{i=0;l=0.0;e=0}f=a[47198]|0;if((f|0?(h=Uo(A,f)|0,h|0):0)?r[h>>0]|0:0){if(!e){NR(A,s,w);i=a[w+12>>2]|0;l=+b[w>>3];e=a[u>>2]|0}u=(tB(h)|0)!=0;h=pF(A,h,u?2:0,l,e,i)|0;a[(a[A+16>>2]|0)+104>>2]=h;h=(a[o+16>>2]|0)+113|0;r[h>>0]=r[h>>0]|4}e=po(A,111455)|0;e=e|0?e:195059;if(r[e>>0]|0)r[(a[(a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0)+16>>2]|0)+145>>0]=1;n=A+16|0;f=(a[n>>2]|0)+16|0;i=a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0;XR(B,a[(a[(a[(a[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=B;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((RR(A,a[47204]|0)|0)<<24>>24)r[(a[n>>2]|0)+46>>0]=0;e=po(A,111464)|0;e=e|0?e:195059;if(!(r[e>>0]|0))i=A+-48|0;else{i=A+-48|0;r[(a[(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(a[n>>2]|0)+56|0;i=a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0;XR(g,a[(a[(a[(a[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=g;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((RR(A,a[47205]|0)|0)<<24>>24)r[(a[n>>2]|0)+86>>0]=0;k=E;return v|0}function JR(A,e){A=A|0;e=e|0;b[e>>3]=+oR(A,a[47179]|0,14.0,1.0);a[e+8>>2]=BR(A,a[47180]|0,107994)|0;a[e+12>>2]=BR(A,a[47181]|0,137314)|0;return}function NR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+8|0;if(!(a[r>>2]|0))JR(A,e);b[i>>3]=+oR(A,a[47199]|0,+b[e>>3],1.0);a[i+8>>2]=BR(A,a[47200]|0,a[r>>2]|0)|0;a[i+12>>2]=BR(A,a[47201]|0,a[e+12>>2]|0)|0;return}function XR(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+128|0;b=s+80|0;l=s+40|0;n=s;if((f|0)!=0?(c=G1(f,58)|0,(c|0)!=0):0){r[c>>0]=0;t=c+1|0;X5[e&31](l,i,f,t);i=b;n=l;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0));r[c>>0]=58;f=t}else{X5[e&31](n,i,f,0);i=b;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0))}i=A;n=b;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0));a[A+36>>2]=f;k=s;return}function RR(A,e){A=A|0;e=e|0;var i=0;if(((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)A=(gR(i)|0)<<24>>24==0&1;else A=0;return A|0}function HR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;c=k;k=k+32|0;l=c;t=a[e+8>>2]|0;i=a[e+4>>2]|0;i=(a[e+44>>2]|0)+((U((i|0)>1?i+-1|0:0,t)|0)<<4)|0;r=l+16|0;a[r>>2]=a[i>>2];a[r+4>>2]=a[i+4>>2];a[r+8>>2]=a[i+8>>2];a[r+12>>2]=a[i+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];f=l+8|0;n=l+24|0;e=1;while(1){if((e|0)>=(t|0))break;s=i+(e<<4)|0;u=+b[s>>3];b[l>>3]=+b[(+b[l>>3]>3];w=+b[s+8>>3];b[f>>3]=+b[(+b[f>>3]>3];b[r>>3]=+b[(+b[r>>3]>u?r:s)>>3];b[n>>3]=+b[(+b[n>>3]>w?r:s)+8>>3];e=e+1|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];a[A+12>>2]=a[l+12>>2];a[A+16>>2]=a[l+16>>2];a[A+20>>2]=a[l+20>>2];a[A+24>>2]=a[l+24>>2];a[A+28>>2]=a[l+28>>2];k=c;return}function pR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+64|0;n=i+32|0;r=i;f=a[A+16>>2]|0;A=f+16|0;f=a[f+116>>2]&1;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[n+16>>2]=a[A+16>>2];a[n+20>>2]=a[A+20>>2];a[n+24>>2]=a[A+24>>2];a[n+28>>2]=a[A+28>>2];UR(r,n,e,f);a[A>>2]=a[r>>2];a[A+4>>2]=a[r+4>>2];a[A+8>>2]=a[r+8>>2];a[A+12>>2]=a[r+12>>2];a[A+16>>2]=a[r+16>>2];a[A+20>>2]=a[r+20>>2];a[A+24>>2]=a[r+24>>2];a[A+28>>2]=a[r+28>>2];k=i;return}function UR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0.0;n=+b[i+56>>3];s=+b[i+64>>3];t=r<<24>>24==0;c=+b[i+24>>3];l=+b[i+32>>3];w=(t?c:l)*.5;f=n-w;n=w+n;if(f<+b[e>>3])b[e>>3]=f;r=e+16|0;if(n>+b[r>>3])b[r>>3]=n;n=(t?l:c)*.5;f=s-n;n=n+s;r=e+8|0;if(f<+b[r>>3])b[r>>3]=f;r=e+24|0;if(n>+b[r>>3])b[r>>3]=n;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];return}function xR(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0.0,R=0.0,H=0.0;J=k;k=k+448|0;D=J+416|0;v=J+384|0;g=J+304|0;V=J+256|0;Y=J+192|0;m=J+144|0;L=J+96|0;e=J+400|0;i=J+368|0;f=J+352|0;n=J+336|0;E=J+288|0;C=J+224|0;I=J+160|0;Z=J+112|0;G=J+64|0;Q=J+32|0;M=J;F=A+16|0;if((vh(A)|0)==0?(a[(a[F>>2]|0)+180>>2]|0)==0:0){TR(e,0.0,0.0);a[V>>2]=a[e>>2];a[V+4>>2]=a[e+4>>2];a[V+8>>2]=a[e+8>>2];a[V+12>>2]=a[e+12>>2];V=V+16|0;TR(i,0.0,0.0);a[V>>2]=a[i>>2];a[V+4>>2]=a[i+4>>2];a[V+8>>2]=a[i+8>>2];a[V+12>>2]=a[i+12>>2]}else{TR(f,2147483647.0,2147483647.0);a[V>>2]=a[f>>2];a[V+4>>2]=a[f+4>>2];a[V+8>>2]=a[f+8>>2];a[V+12>>2]=a[f+12>>2];z=V+16|0;TR(n,-2147483647.0,-2147483647.0);a[z>>2]=a[n>>2];a[z+4>>2]=a[n+4>>2];a[z+8>>2]=a[n+8>>2];a[z+12>>2]=a[n+12>>2];u=L+8|0;o=g+16|0;W=V+8|0;h=g+8|0;y=V+24|0;d=g+24|0;B=m+8|0;w=cd(A)|0;while(1){if(!w)break;QR(m,w);e=w+16|0;s=a[e>>2]|0;b[L>>3]=(+b[s+96>>3]+ +b[s+88>>3])*.5;b[u>>3]=+b[s+80>>3]*.5;a[v>>2]=a[m>>2];a[v+4>>2]=a[m+4>>2];a[v+8>>2]=a[m+8>>2];a[v+12>>2]=a[m+12>>2];a[D>>2]=a[L>>2];a[D+4>>2]=a[L+4>>2];a[D+8>>2]=a[L+8>>2];a[D+12>>2]=a[L+12>>2];jR(g,v,D);a[v>>2]=a[m>>2];a[v+4>>2]=a[m+4>>2];a[v+8>>2]=a[m+8>>2];a[v+12>>2]=a[m+12>>2];a[D>>2]=a[L>>2];a[D+4>>2]=a[L+4>>2];a[D+8>>2]=a[L+8>>2];a[D+12>>2]=a[L+12>>2];SR(E,v,D);a[o>>2]=a[E>>2];a[o+4>>2]=a[E+4>>2];a[o+8>>2]=a[E+8>>2];a[o+12>>2]=a[E+12>>2];b[V>>3]=+b[(+b[V>>3]<+b[g>>3]?V:g)>>3];b[W>>3]=+b[(+b[W>>3]<+b[h>>3]?V:g)+8>>3];b[z>>3]=+b[(+b[z>>3]>+b[o>>3]?V:g)+16>>3];b[y>>3]=+b[(+b[y>>3]>+b[d>>3]?V:g)+24>>3];e=a[(a[e>>2]|0)+108>>2]|0;if(e|0?r[e+81>>0]|0:0){s=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(C,D,e,s);a[V>>2]=a[C>>2];a[V+4>>2]=a[C+4>>2];a[V+8>>2]=a[C+8>>2];a[V+12>>2]=a[C+12>>2];a[V+16>>2]=a[C+16>>2];a[V+20>>2]=a[C+20>>2];a[V+24>>2]=a[C+24>>2];a[V+28>>2]=a[C+28>>2]}s=Oo(A,w)|0;while(1){if(!s)break;c=s+16|0;e=a[c>>2]|0;t=e+8|0;i=a[t>>2]|0;if(i|0){l=0;while(1){if((l|0)<(a[i+4>>2]|0))n=0;else break;while(1){f=a[i>>2]|0;if((n|0)>=(a[f+(l*48|0)+4>>2]|0))break;i=(a[f+(l*48|0)>>2]|0)+(n<<4)|0;a[m>>2]=a[i>>2];a[m+4>>2]=a[i+4>>2];a[m+8>>2]=a[i+8>>2];a[m+12>>2]=a[i+12>>2];X=+b[m>>3];b[V>>3]=+b[(+b[V>>3]>3];N=+b[B>>3];b[W>>3]=+b[(+b[W>>3]>3];b[z>>3]=+b[(+b[z>>3]>X?z:m)>>3];b[y>>3]=+b[(+b[y>>3]>N?z:m)+8>>3];n=n+1|0;i=a[t>>2]|0}l=l+1|0}i=a[e+96>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(I,D,i,e);a[V>>2]=a[I>>2];a[V+4>>2]=a[I+4>>2];a[V+8>>2]=a[I+8>>2];a[V+12>>2]=a[I+12>>2];a[V+16>>2]=a[I+16>>2];a[V+20>>2]=a[I+20>>2];a[V+24>>2]=a[I+24>>2];a[V+28>>2]=a[I+28>>2];e=a[c>>2]|0}i=a[e+100>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(Z,D,i,e);a[V>>2]=a[Z>>2];a[V+4>>2]=a[Z+4>>2];a[V+8>>2]=a[Z+8>>2];a[V+12>>2]=a[Z+12>>2];a[V+16>>2]=a[Z+16>>2];a[V+20>>2]=a[Z+20>>2];a[V+24>>2]=a[Z+24>>2];a[V+28>>2]=a[Z+28>>2];e=a[c>>2]|0}i=a[e+104>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(G,D,i,e);a[V>>2]=a[G>>2];a[V+4>>2]=a[G+4>>2];a[V+8>>2]=a[G+8>>2];a[V+12>>2]=a[G+12>>2];a[V+16>>2]=a[G+16>>2];a[V+20>>2]=a[G+20>>2];a[V+24>>2]=a[G+24>>2];a[V+28>>2]=a[G+28>>2];e=a[c>>2]|0}e=a[e+108>>2]|0;if(e|0?r[e+81>>0]|0:0){c=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(Q,D,e,c);a[V>>2]=a[Q>>2];a[V+4>>2]=a[Q+4>>2];a[V+8>>2]=a[Q+8>>2];a[V+12>>2]=a[Q+12>>2];a[V+16>>2]=a[Q+16>>2];a[V+20>>2]=a[Q+20>>2];a[V+24>>2]=a[Q+24>>2];a[V+28>>2]=a[Q+28>>2]}}s=_o(A,s)|0}w=bd(A,w)|0}e=a[F>>2]|0;f=a[e+180>>2]|0;n=e+184|0;l=Y+8|0;t=Y+16|0;c=Y+24|0;i=1;while(1){if((i|0)>(f|0))break;H=+b[(a[(a[(a[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16>>3];b[Y>>3]=H;L=a[(a[(a[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;R=+b[L+24>>3];b[l>>3]=R;N=+b[L+32>>3];b[t>>3]=N;X=+b[L+40>>3];b[c>>3]=X;b[V>>3]=+b[(+b[V>>3]>3];b[W>>3]=+b[(+b[W>>3]>3];b[z>>3]=+b[(+b[z>>3]>N?V:Y)+16>>3];b[y>>3]=+b[(+b[y>>3]>X?V:Y)+24>>3];i=i+1|0}i=a[e+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[e+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(M,D,i,e);a[V>>2]=a[M>>2];a[V+4>>2]=a[M+4>>2];a[V+8>>2]=a[M+8>>2];a[V+12>>2]=a[M+12>>2];a[V+16>>2]=a[M+16>>2];a[V+20>>2]=a[M+20>>2];a[V+24>>2]=a[M+24>>2];a[V+28>>2]=a[M+28>>2];e=a[F>>2]|0}F=e+16|0;a[F>>2]=a[V>>2];a[F+4>>2]=a[V+4>>2];a[F+8>>2]=a[V+8>>2];a[F+12>>2]=a[V+12>>2];a[F+16>>2]=a[V+16>>2];a[F+20>>2]=a[V+20>>2];a[F+24>>2]=a[V+24>>2];a[F+28>>2]=a[V+28>>2]}k=J;return}function TR(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function jR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function SR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function PR(A){A=A|0;if((a[A+60>>2]|0)==(A|0))A=1;else A=(T1(Vh(A)|0,108006,7)|0)==0&1;return A|0}function OR(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;A:do{if(!f)switch(Md(e)|0){case 0:{f=Yo(A,0,i,195059)|0;break A}case 1:{f=Yo(A,1,i,195059)|0;break A}case 2:{f=Yo(A,2,i,195059)|0;break A}default:{f=0;break A}}}while(0);Vo(e,f,r)|0;return f|0}function KR(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+144|0;n=b;t=_R(A)|0;l=jk(23592,a[4581]|0)|0;c=XB(A,108014,1)|0;Td(c,137483,280,1)|0;co(n,128,b+16|0);e=cd(A)|0;while(1){if(!e)break;A:do{if(!(r[(a[e+16>>2]|0)+118>>0]|0)){i=Oo(A,e)|0;while(1){if(!i)break A;qR(i,c,n,l,t);i=_o(A,i)|0}}}while(0);e=bd(A,e)|0}uo(n);pk(l)|0;i=vh(c)|0;e=cd(c)|0;while(1){if(!e)break;l=bd(c,e)|0;Cd(A,e)|0;e=l}Bh(c)|0;if(i|0){c=(a[A+16>>2]|0)+136|0;f[c>>1]=f[c>>1]|1}pk(t)|0;k=b;return i|0}function _R(A){A=A|0;var e=0;e=jk(23628,a[4581]|0)|0;lH(A,e);return e|0}function qR(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+48|0;h=v+32|0;o=v+24|0;B=v+16|0;d=v+8|0;b=v;w=a[A>>2]&3;s=a[((w|0)==3?A:A+48|0)+40>>2]|0;w=a[((w|0)==2?A:A+-48|0)+40>>2]|0;do{if(!(r[(a[w+16>>2]|0)+118>>0]|0)){if(!(Z1(Vh(s)|0,108006,7)|0))u=$R(n,Vh(s)|0)|0;else u=0;if(!(Z1(Vh(w)|0,108006,7)|0))t=$R(n,Vh(w)|0)|0;else t=0;l=(u|0)!=0;c=(t|0)!=0;if(l|c){if((u|0)==(t|0)){d=Vh(s)|0;B=Vh(s)|0;a[b>>2]=d;a[b+4>>2]=B;ao(0,108029,b)|0;break}n=AH(f,A)|0;if(n|0){eH(A,a[n+16>>2]|0,a[n+20>>2]|0)|0;break}if(!c)if(!(Dd(u,w)|0)){rH(f,s,w,eH(A,iH(s,u,i,e)|0,w)|0);break}else{d=Vh(w)|0;B=Vh(u)|0;a[h>>2]=d;a[h+4>>2]=B;ao(0,108184,h)|0;break}if(!l)if(!(Dd(t,s)|0)){rH(f,s,w,eH(A,s,iH(w,t,i,e)|0)|0);break}else{d=Vh(s)|0;B=Vh(t)|0;a[o>>2]=d;a[o+4>>2]=B;ao(0,108147,o)|0;break}if(Dd(t,u)|0){h=Vh(u)|0;B=Vh(t)|0;a[d>>2]=h;a[d+4>>2]=B;ao(0,108067,d)|0;break}if(!(Dd(u,t)|0)){B=iH(s,u,i,e)|0;rH(f,s,w,eH(A,B,iH(w,t,i,e)|0)|0);break}else{h=Vh(t)|0;d=Vh(u)|0;a[B>>2]=h;a[B+4>>2]=d;ao(0,108107,B)|0;break}}}}while(0);k=v;return}function $R(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e,512)|0;if(!A)A=0;else A=a[A+12>>2]|0;return A|0}function AH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=a[e>>2]&3;a[r>>2]=a[((f|0)==3?e:e+48|0)+40>>2];a[r+4>>2]=a[((f|0)==2?e:e+-48|0)+40>>2];e=W5[a[A>>2]&63](A,r,512)|0;k=i;return e|0}function eH(A,e,i){A=A|0;e=e|0;i=i|0;i=th(Id(e)|0,e,i,0,1)|0;Td(i,137460,176,1)|0;jo(A,i)|0;return i|0}function iH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;b=k;k=k+112|0;n=b;c=b+4|0;wo(i,108221)|0;t=a[47321]|0;a[47321]=t+1;a[n>>2]=t;P4(c,137395,n)|0;wo(i,c)|0;c=i+4|0;n=a[c>>2]|0;t=i+8|0;if(n>>>0>=(a[t>>2]|0)>>>0){bo(i,1)|0;n=a[c>>2]|0}a[c>>2]=n+1;r[n>>0]=58;wo(i,Vh(e)|0)|0;l=Zd(e)|0;n=a[c>>2]|0;if(n>>>0>=(a[t>>2]|0)>>>0){bo(i,1)|0;n=a[c>>2]|0}r[n>>0]=0;i=a[i>>2]|0;a[c>>2]=i;c=vd(l,i,1)|0;Td(c,137447,304,1)|0;r[(a[c+16>>2]|0)+118>>0]=1;kd(e,c,1)|0;kd(f,A,1)|0;f=Id(c)|0;a[47154]=OR(f,c,108224,195059,a[47154]|0)|0;f=Id(c)|0;a[47157]=OR(f,c,141082,134335,a[47157]|0)|0;f=Id(c)|0;a[47147]=OR(f,c,108230,108236,a[47147]|0)|0;k=b;return c|0}function rH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;f=k;k=k+32|0;n=f;w=n+8|0;a[w>>2]=e;s=n+12|0;a[s>>2]=i;u=a[r>>2]&3;t=r+48|0;c=n+16|0;a[c>>2]=a[((u|0)==3?r:t)+40>>2];b=r+-48|0;l=n+20|0;a[l>>2]=a[((u|0)==2?r:b)+40>>2];W5[a[A>>2]&63](A,n,1)|0;a[w>>2]=i;a[s>>2]=e;i=a[r>>2]&3;a[c>>2]=a[((i|0)==2?r:b)+40>>2];a[l>>2]=a[((i|0)==3?r:t)+40>>2];W5[a[A>>2]&63](A,n,1)|0;k=f;return}function fH(A,e,i){A=A|0;e=e|0;i=i|0;i=qF(24)|0;a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[i+16>>2]=a[e+16>>2];a[i+20>>2]=a[e+20>>2];return i|0}function aH(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function nH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if(A>>>0>=r>>>0)if(A>>>0>r>>>0)A=1;else{e=a[e+4>>2]|0;i=a[i+4>>2]|0;return(e>>>0>>0?-1:e>>>0>i>>>0&1)|0}else A=-1;return A|0}function lH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+16|0;n=l;f=A+16|0;r=1;while(1){A=a[f>>2]|0;if((r|0)>(a[A+180>>2]|0))break;A=a[(a[A+184>>2]|0)+(r<<2)>>2]|0;i=Vh(A)|0;if(!(W5[a[e>>2]&63](e,i,512)|0)){t=qF(16)|0;a[t+8>>2]=i;a[t+12>>2]=A;W5[a[e>>2]&63](e,t,1)|0}else{a[n>>2]=i;ao(0,108240,n)|0}lH(A,e);r=r+1|0}k=l;return}function tH(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function cH(A){A=A|0;var e=0,i=0,r=0;r=XB(A,108014,1)|0;Td(r,137483,280,1)|0;e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;bH(i,r);i=_o(A,i)|0}e=bd(A,e)|0}e=cd(r)|0;while(1){if(!e)break;i=bd(r,e)|0;sH(e);Cd(A,e)|0;e=i}Bh(r)|0;return}function bH(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A>>2]&3;f=a[((i|0)==3?A:A+48|0)+40>>2]|0;i=a[((i|0)==2?A:A+-48|0)+40>>2]|0;if(!((r[(a[f+16>>2]|0)+118>>0]|0)==0?!(r[(a[i+16>>2]|0)+118>>0]|0):0)){f=wH(f,e)|0;i=eH(A,f,wH(i,e)|0)|0;f=a[A+16>>2]|0;e=f+8|0;i=a[i+16>>2]|0;a[i+8>>2]=a[e>>2];a[e>>2]=0;e=f+96|0;a[i+96>>2]=a[e>>2];a[e>>2]=0;e=f+108|0;a[i+108>>2]=a[e>>2];a[e>>2]=0;e=f+100|0;a[i+100>>2]=a[e>>2];a[e>>2]=0;f=f+104|0;a[i+104>>2]=a[f>>2];a[f>>2]=0;uH(A)}return}function sH(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=a[r>>2]|0;i=a[e+132>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+8>>2]|0;if(i){F5[a[(a[i+4>>2]|0)+4>>2]&127](A);e=a[r>>2]|0}TF(a[e+104>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);Sd(A,137447)|0;return}function wH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=Id(A)|0;A:do{if(r[(a[A+16>>2]|0)+118>>0]|0){kd(e,A,1)|0;A=G1(Vh(A)|0,58)|0;if(!A)vA(111208,107661,1225,108292);e=A+1|0;A=vd(f,e,0)|0;if(!A){A=vd(f,e,1)|0;Td(A,137447,304,1)|0;e=Jo(f,1,0)|0;while(1){if(!e)break A;n=Uo(A,e)|0;i=a[e+12>>2]|0;if((n|0)!=(i|0))Vo(A,e,i)|0;e=Jo(f,1,e)|0}}}}while(0);return A|0}function uH(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+144>>2]|0);kH(A);TF(a[(a[e>>2]|0)+96>>2]|0);TF(a[(a[e>>2]|0)+108>>2]|0);TF(a[(a[e>>2]|0)+100>>2]|0);TF(a[(a[e>>2]|0)+104>>2]|0);Sd(A,137460)|0;return}function kH(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;A=a[r>>2]|0;e=a[A+8>>2]|0;if(e){i=0;while(1){A=a[e>>2]|0;if((i|0)>=(a[e+4>>2]|0))break;L2(a[A+(i*48|0)>>2]|0);i=i+1|0;e=a[(a[r>>2]|0)+8>>2]|0}L2(A);L2(a[(a[r>>2]|0)+8>>2]|0);A=a[r>>2]|0}a[A+8>>2]=0;return}function oH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Yo(A,e,i,0)|0;if(!f)f=Yo(A,e,i,r)|0;return f|0}function hH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+32|0;t=u;l=u+8|0;c=u+16|0;s=G1(A,59)|0;w=e+4|0;i=a[w>>2]|0;b=e+8|0;if(i>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;i=a[w>>2]|0}a[w>>2]=i+1;r[i>>0]=38;if(((s|0)!=0?(f=s-A|0,(f+-2|0)>>>0<=6):0)?(x4(c,A,f)|0,r[c+f>>0]=0,a[l>>2]=c,n=i8(l,23664,252,8,96)|0,(n|0)!=0):0){a[t>>2]=a[n+4>>2];P4(c,137395,t)|0;A=a[w>>2]|0;if(A>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;A=a[w>>2]|0}a[w>>2]=A+1;r[A>>0]=35;wo(e,c)|0;A=a[w>>2]|0;if(A>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;A=a[w>>2]|0}a[w>>2]=A+1;r[A>>0]=59;A=s+1|0}k=u;return A|0}function dH(A,e){A=A|0;e=e|0;return A1(a[A>>2]|0,a[e>>2]|0)|0}function BH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+1072|0;b=h+8|0;c=h;t=h+16|0;u=h+24|0;a[t>>2]=A;if((a[47322]|0)!=(e|0)){a[47322]=e;r[194958]=0}co(u,1024,h+40|0);o=u+4|0;w=u+8|0;while(1){f=A+1|0;a[t>>2]=f;i=r[A>>0]|0;if(!(i<<24>>24))break;do{if((i&255)<192)if(i<<24>>24==38){f=gH(t)|0;if(!f)i=38;else{if(f>>>0<127){i=f&255;break}A=a[o>>2]|0;i=A>>>0>=(a[w>>2]|0)>>>0;if(f>>>0<2047){if(i){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>6|192;i=(f&63|128)&255;break}if(i){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>12|224;A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>6&63|128;i=(f&63|128)&255}}else{l=0;s=9}else if((i&255)>=224)if((i&255)>=240)if((i&255)<248){l=3;s=9}else{if(!(r[194958]|0)){a[c>>2]=Vh(e)|0;ao(0,109707,c)|0;r[194958]=1}l=-1;i=vH(i,u)|0;s=9}else{l=2;s=9}else{l=1;s=9}}while(0);do{if((s|0)==9){s=0;n=0;while(1){if((n|0)>=(l|0)){s=34;break}if((r[f>>0]&-64)<<24>>24!=-128)break;A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=i;n=n+1|0;i=r[f>>0]|0;f=f+1|0}if((s|0)==34){s=0;a[t>>2]=f;break}a[t>>2]=f;if(!(r[194958]|0)){n=Vh(e)|0;a[b>>2]=l+1;a[b+4>>2]=n;ao(0,109828,b)|0;r[194958]=1}i=vH(i,u)|0}}while(0);A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=i;A=a[t>>2]|0}A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}r[A>>0]=0;w=a[u>>2]|0;a[o>>2]=w;o=s3(w)|0;uo(u);k=h;return o|0}function vH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+16|0;n=c;r[n>>0]=A;r[n+1>>0]=0;n=EH(n)|0;l=e+4|0;t=e+8|0;i=S2(n)|0;f=n;while(1){if((i|0)<=1)break;A=a[l>>2]|0;if(A>>>0>=(a[t>>2]|0)>>>0){bo(e,1)|0;A=a[l>>2]|0}b=r[f>>0]|0;a[l>>2]=A+1;r[A>>0]=b;i=i+-1|0;f=f+1|0}b=r[f>>0]|0;L2(n);k=c;return b|0}function gH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;e=t+8|0;i=a[A>>2]|0;A:do{if((r[i>>0]|0)!=35){a[l>>2]=e;n=0;e:while(1){if((n|0)>=8){e=0;break A}f=r[i+n>>0]|0;switch(f<<24>>24){case 0:{e=0;break A}case 59:break e;default:{}}r[e>>0]=f;e=e+1|0;n=n+1|0}r[e>>0]=0;e=i8(l,23664,252,8,96)|0;if(!e)e=0;else{i=i+(n+1)|0;e=a[e+4>>2]|0}}else{l=r[i+1>>0]|0;e=l&255;e:do{if((l|32)<<24>>24==120){l=0;n=2;while(1){if((n|0)>=8){f=l;break e}f=r[i+n>>0]|0;e=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=l;break e}else f=-87;else f=-55;e=f+e|0;l=e+(l<<4)|0;n=n+1|0}}else{f=0;n=1;while(1){if((n|0)>=8)break e;l=r[i+n>>0]|0;e=l&255;if((l+-48&255)>=10)break e;f=(f*10|0)+-48+e|0;n=n+1|0}}}while(0);e=(e|0)==59;i=e?i+(n+1)|0:i;e=e?f:0}}while(0);a[A>>2]=i;k=t;return e|0}function EH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+1056|0;n=b;t=b+8|0;a[n>>2]=A;co(t,1024,b+24|0);c=t+4|0;l=t+8|0;while(1){a[n>>2]=A+1;e=r[A>>0]|0;if(!(e<<24>>24))break;A=e&255;if(e<<24>>24==38){A=gH(n)|0;if(!A){A=38;f=6}else f=5}else f=5;do{if((f|0)==5){f=0;if(A>>>0<127)f=6;else{e=a[c>>2]|0;i=e>>>0>=(a[l>>2]|0)>>>0;if(A>>>0<2047){if(i){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>6|192;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}A=A&63|128;break}if(i){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>12|224;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>6&63|128;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}A=A&63|128}}}while(0);if((f|0)==6){e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}}a[c>>2]=e+1;r[e>>0]=A;A=a[n>>2]|0}A=a[c>>2]|0;if(A>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;A=a[c>>2]|0}r[A>>0]=0;l=a[t>>2]|0;a[c>>2]=l;c=s3(l)|0;uo(t);k=b;return c|0}function CH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+1040|0;n=t;co(n,1024,t+16|0);l=n+4|0;f=n+8|0;while(1){e=A+1|0;i=r[A>>0]|0;if(!(i<<24>>24))break;if((i&255)<127){A=a[l>>2]|0;if(A>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;A=a[l>>2]|0}a[l>>2]=A+1;r[A>>0]=i;A=e;continue}else{i=r[e>>0]&63|i<<6&255;e=a[l>>2]|0;if(e>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;e=a[l>>2]|0}a[l>>2]=e+1;r[e>>0]=i;A=A+2|0;continue}}A=a[l>>2]|0;if(A>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;A=a[l>>2]|0}r[A>>0]=0;f=a[n>>2]|0;a[l>>2]=f;l=s3(f)|0;uo(n);k=t;return l|0}function IH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+80|0;r=w+48|0;i=w+32|0;f=w+64|0;n=w+16|0;l=w;t=e+16|0;c=A+16|0;s=a[c>>2]|0;if(((+b[t>>3]>=+b[s+48>>3]?+b[s+64>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=+b[s+56>>3]:0)?+b[s+72>>3]>=+b[e+8>>3]:0){s=s+16|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];ZH(n,i,r);a[i>>2]=a[s>>2];a[i+4>>2]=a[s+4>>2];a[i+8>>2]=a[s+8>>2];a[i+12>>2]=a[s+12>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];a[r+8>>2]=a[n+8>>2];a[r+12>>2]=a[n+12>>2];jR(l,i,r);a[f>>2]=A;a[f+4>>2]=0;i=a[(a[(a[(a[c>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;a[r>>2]=a[l>>2];a[r+4>>2]=a[l+4>>2];a[r+8>>2]=a[l+8>>2];a[r+12>>2]=a[l+12>>2];i=m5[i&127](f,r)|0}else i=0;k=w;return i|0}function ZH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function GH(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;r=k;k=k+80|0;t=r+64|0;c=r+48|0;s=r;w=r+32|0;n=r+16|0;b[s>>3]=+b[A+24>>3]*.5;b[s+8>>3]=+b[A+32>>3]*.5;A=A+56|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];jR(w,c,t);l=+b[w>>3];f=+b[w+8>>3];a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];SR(n,c,t);i=+b[n+8>>3];if((+b[e+16>>3]>=l?+b[n>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=f:0)A=i>=+b[e+8>>3]&1;else A=0;k=r;return A|0}function QH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+80|0;b=w+48|0;c=w;l=A+16|0;A=a[l>>2]|0;t=a[A+8>>2]|0;A:do{if((t|0)!=0?(n=t+8|0,a[c>>2]=a[n>>2],a[c+4>>2]=a[n+4>>2],a[c+8>>2]=a[n+8>>2],a[c+12>>2]=a[n+12>>2],a[c+16>>2]=a[n+16>>2],a[c+20>>2]=a[n+20>>2],a[c+24>>2]=a[n+24>>2],a[c+28>>2]=a[n+28>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(mH(c,b)|0)!=0):0){i=t+4|0;A=0;while(1){if((A|0)>=(a[i>>2]|0))break;r=c;f=(a[t>>2]|0)+(A*48|0)|0;n=r+48|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[b+16>>2]=a[e+16>>2];a[b+20>>2]=a[e+20>>2];a[b+24>>2]=a[e+24>>2];a[b+28>>2]=a[e+28>>2];if(!((LH(c,b)|0)<<24>>24))A=A+1|0;else{A=1;break A}}A=a[l>>2]|0;s=7}else s=7}while(0);do{if((s|0)==7){A=a[A+96>>2]|0;if(A|0?(a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(GH(A,b)|0)<<24>>24):0){A=1;break}A=0}}while(0);k=w;return A|0}function mH(A,e){A=A|0;e=e|0;if((+b[A+16>>3]>=+b[e>>3]?+b[e+16>>3]>=+b[A>>3]:0)?+b[A+24>>3]>=+b[e+8>>3]:0)A=+b[e+24>>3]>=+b[A+8>>3]&1;else A=0;return A|0}function LH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+96|0;b=w+64|0;c=w+48|0;t=w+32|0;f=w+16|0;n=w;s=A+4|0;i=a[s>>2]|0;if(!i)vA(109937,107661,1637,109945);r=a[A>>2]|0;a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];r=1;while(1){if((r|0)>=(i|0)){l=7;break}i=(a[A>>2]|0)+(r<<4)|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];a[c>>2]=a[n>>2];a[c+4>>2]=a[n+4>>2];a[c+8>>2]=a[n+8>>2];a[c+12>>2]=a[n+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[b+16>>2]=a[e+16>>2];a[b+20>>2]=a[e+20>>2];a[b+24>>2]=a[e+24>>2];a[b+28>>2]=a[e+28>>2];if((GF(t,c,b)|0)!=-1){i=1;break}a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];r=r+1|0;i=a[s>>2]|0}do{if((l|0)==7){i=a[A+8>>2]|0;if(i|0?(n=A+16|0,l=a[A>>2]|0,a[t>>2]=a[n>>2],a[t+4>>2]=a[n+4>>2],a[t+8>>2]=a[n+8>>2],a[t+12>>2]=a[n+12>>2],a[c>>2]=a[l>>2],a[c+4>>2]=a[l+4>>2],a[c+8>>2]=a[l+8>>2],a[c+12>>2]=a[l+12>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(WH(t,c,i,b)|0)<<24>>24):0){i=1;break}i=a[A+12>>2]|0;if(i|0?(l=A+32|0,s=(a[A>>2]|0)+((a[s>>2]|0)+-1<<4)|0,a[t>>2]=a[l>>2],a[t+4>>2]=a[l+4>>2],a[t+8>>2]=a[l+8>>2],a[t+12>>2]=a[l+12>>2],a[c>>2]=a[s>>2],a[c+4>>2]=a[s+4>>2],a[c+8>>2]=a[s+8>>2],a[c+12>>2]=a[s+12>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(WH(t,c,i,b)|0)<<24>>24):0){i=1;break}i=0}}while(0);k=w;return i|0}function WH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;s=k;k=k+160|0;n=s+144|0;f=s+128|0;w=s+96|0;l=s+64|0;t=s+32|0;c=s;u=+b[r+16>>3];a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];KC(w,f,n,1.0,i);if(((u>=+b[w>>3]?(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(l,f,n,1.0,i),+b[l+16>>3]>=+b[r>>3]):0)?(u=+b[r+24>>3],a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(t,f,n,1.0,i),u>=+b[t+8>>3]):0)?(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(c,f,n,1.0,i),+b[c+24>>3]>=+b[r+8>>3]):0)f=1;else f=0;k=s;return f|0}function yH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=k;k=k+16|0;f=n;A:do{if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0){do{switch(i<<24>>24|0){case 48:{e=2;break A}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{e=10;break A}case 67:case 99:{i=A+1|0;if(!(N1(i,109960)|0)){e=4;break A}if(!(N1(i,109966)|0)){e=12;break A}break}case 70:case 102:{if(!(N1(A+1|0,109974)|0)){e=2;break A}break}case 76:case 108:{if(!(N1(A+1|0,109979)|0)){e=2;break A}break}case 78:case 110:{i=A+1|0;if(!(N1(i,109983)|0)){e=0;break A}if(!(N1(i,109987)|0)){e=2;break A}break}case 79:case 111:{if(!(N1(A+1|0,109989)|0)){e=8;break A}break}case 80:case 112:{if(!(N1(A+1|0,109994)|0)){e=6;break A}break}case 83:case 115:{if(!(N1(A+1|0,110002)|0)){e=10;break A}break}case 84:case 116:{if(!(N1(A+1|0,110008)|0)){e=10;break A}break}case 89:case 121:{if(!(N1(A+1|0,110012)|0)){e=10;break A}break}default:{}}}while(0);a[f>>2]=A;ao(0,110015,f)|0}}while(0);k=n;return e|0}function zH(A,e){A=A|0;e=e|0;var i=0;i=po(A,110056)|0;if(i)if(!(r[i>>0]|0))e=0;else e=yH(i,e)|0;A=(a[A+16>>2]|0)+136|0;f[A>>1]=e|l[A>>1];return}function YH(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0;E=k;k=k+32|0;o=E+16|0;d=E;v=f&1;g=f&2;A:do{if((i|0)==2){B=+b[A+16>>3];a=+b[A>>3];t=+b[A+24>>3];l=+b[A+8>>3];a=a-(B-a);b[o>>3]=a;b[d>>3]=B;l=l-(t-l);b[o+8>>3]=l;b[d+8>>3]=t}else{n=+b[A>>3];b[d>>3]=n;b[o>>3]=n;t=+b[A+8>>3];s=d+8|0;b[s>>3]=t;w=o+8|0;b[w>>3]=t;f=0;a=n;l=t;while(1){if((f|0)>=(i|0)){B=n;break A}C=A+(f<<4)|0;h=+b[C>>3];c=+b[(h>3];b[o>>3]=c;B=+b[A+(f<<4)+8>>3];u=+b[(B>3];b[w>>3]=u;h=+b[(h>n?C:d)>>3];b[d>>3]=h;B=+b[(B>t?C:d)+8>>3];b[s>>3]=B;f=f+1|0;a=c;l=u;n=h;t=B}}}while(0);n=(B-a)*.5;h=n+a;u=(t-l)*.5;c=u+l;if(!v){a=t-c;t=r;l=+M(+t);t=+D(+t);if(!g){n=l*a-c;a=-c-u*l}else{a=l*a;n=c-a;a=a+c}b[e+8>>3]=n;b[e+24>>3]=a;r=t*(B-h);b[e>>3]=h-r;b[e+16>>3]=r+h}else{r=+z(+(u*u+n*n));b[e+8>>3]=g|0?c:-c;b[e>>3]=h;b[e+16>>3]=r*.25;b[e+24>>3]=r}k=E;return}function DH(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=A+16|0;f=a[r>>2]|0;if(!(e<<24>>24)){i=+b[f+32>>3]*36.0;b[f+88>>3]=i;A=f+40|0}else{i=+b[f+40>>3]*36.0;b[f+88>>3]=i;A=f+32|0}b[f+96>>3]=i;b[(a[r>>2]|0)+80>>3]=+b[A>>3]*72.0;return}function MH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+32|0;c=w+8|0;f=w+4|0;n=w;i=a[e>>2]&3;r=a[((i|0)==3?e:e+48|0)+40>>2]|0;b=(a[(a[r+16>>2]|0)+232>>2]|0)+-1|0;A=a[(a[A+16>>2]|0)+196>>2]|0;l=a[A+(b<<6)+4>>2]|0;A=a[A+(b<<6)>>2]|0;b=c+8|0;a[b>>2]=-1;a[c>>2]=-1;s=c+12|0;a[s>>2]=A;t=c+4|0;a[t>>2]=A;VH(r,a[((i|0)==2?e:e+-48|0)+40>>2]|0,f,n);f=a[f>>2]|0;n=a[n>>2]|0;i=0;r=A;e=-1;while(1){if((i|0)>=(r|0))break;r=r+-1|0;JH(a[l+(i<<2)>>2]|0,c,f,n);if((i|0)!=(r|0))JH(a[l+(r<<2)>>2]|0,c,f,n);A=a[t>>2]|0;e=a[c>>2]|0;if((A-e|0)<2)break;else i=i+1|0}if((e|0)>(A|0))A=(a[s>>2]|0)+(a[b>>2]|0)|0;else A=A+e|0;k=w;return(A+1|0)/2|0|0}function FH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=A+16|0;f=a[(a[n>>2]|0)+196>>2]|0;r=f+(e<<6)|0;f=a[f+(e<<6)+4>>2]|0;if(!f)f=$F((a[r>>2]<<2)+8|0)|0;else f=eV(f,(a[r>>2]<<2)+8|0)|0;r=a[(a[n>>2]|0)+196>>2]|0;a[r+(e<<6)+4>>2]=f;r=a[r+(e<<6)>>2]|0;while(1){if((r|0)<=(i|0))break;l=r+-1|0;t=a[f+(l<<2)>>2]|0;a[f+(r<<2)>>2]=t;t=(a[t+16>>2]|0)+236|0;a[t>>2]=(a[t>>2]|0)+1;r=l}l=YW(A)|0;t=f+(i<<2)|0;a[t>>2]=l;l=a[l+16>>2]|0;a[l+236>>2]=i;a[l+232>>2]=e;n=(a[(a[n>>2]|0)+196>>2]|0)+(e<<6)|0;l=(a[n>>2]|0)+1|0;a[n>>2]=l;a[f+(l<<2)>>2]=0;return a[t>>2]|0}function VH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A=a[(a[A+16>>2]|0)+236>>2]|0;e=a[(a[e+16>>2]|0)+236>>2]|0;f=(A|0)>(e|0);a[i>>2]=f?e:A;a[r>>2]=f?A:e;return}function JH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;l=s+4|0;n=s;A=a[A+16>>2]|0;do{if((r[A+156>>0]|0)==1){b=a[A+236>>2]|0;if(a[A+176>>2]|0){t=a[A+180>>2]|0;A=0;n=0;l=0;while(1){c=a[t+(l<<2)>>2]|0;if(!c)break;w=a[(a[(a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=(w|0)>(i|0);A=c?(w|0)<(f|0)?A:1:A;n=c?n:1;l=l+1|0}if(n<<24>>24!=0&A<<24>>24==0){a[e>>2]=b+1;break}if(!(n<<24>>24==0&A<<24>>24!=0))break;a[e+4>>2]=b+-1;break}if((a[A+184>>2]|0)!=2)vA(88397,88417,63,88424);t=a[A+180>>2]|0;w=a[t>>2]|0;t=a[t+4>>2]|0;VH(a[((a[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,l,n);t=a[n>>2]|0;if((t|0)<=(i|0)){a[e>>2]=b;a[e+8>>2]=b;break}A=a[l>>2]|0;if((A|0)>=(f|0)){a[e+4>>2]=b;a[e+12>>2]=b;break}n=(A|0)<(i|0);l=(t|0)>(f|0);if(!(l&n)){if(!(!n?!((t|0)<(f|0)&(A|0)==(i|0)):0))a[e+8>>2]=b;if(!l?!((t|0)==(f|0)&(A|0)>(i|0)):0)break;a[e+12>>2]=b}}}while(0);k=s;return}function NH(A){A=A|0;a[47134]=1;fp(A);a[47134]=0;return}function XH(A){A=A|0;a[47134]=2;fp(A);a[47134]=0;return}function RH(A){A=A|0;var e=0;Td(A,137447,304,1)|0;FR(A);e=qF((l[(a[(Id(A)|0)+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[A+16>>2]|0)+132>>2]=e;DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);return}function HH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0;B=k;k=k+64|0;t=B+48|0;u=B+40|0;c=B+24|0;l=B+8|0;h=B+56|0;s=B;do{if((A|0)!=0?(d=i+16|0,o=a[(a[d>>2]|0)+132>>2]|0,n=Uo(i,A)|0,(r[n>>0]|0)!=0):0){r[h>>0]=0;A=o+8|0;if((a[47137]|0)>2?(a[l>>2]=o,a[l+4>>2]=A,a[l+8>>2]=o+16,a[l+12>>2]=h,(J3(n,88535,l)|0)>2):0){r[(a[d>>2]|0)+119>>0]=1;n=a[47137]|0;A:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)>=(n|0))break A;u=o+(A<<3)|0;b[u>>3]=+b[u>>3]/+b[23293];A=A+1|0}}}while(0);if((n|0)>3)vU(i,f,3);if((r[h>>0]|0)!=33){if(!e){A=1;break}if(!((gR(Uo(i,e)|0)|0)<<24>>24)){A=1;break}}r[(a[d>>2]|0)+119>>0]=3;A=1;break}a[c>>2]=o;a[c+4>>2]=A;a[c+8>>2]=h;if((J3(n,101749,c)|0)<=1){a[t>>2]=Vh(i)|0;a[t+4>>2]=n;ao(1,88549,t)|0;A=0;break}r[(a[d>>2]|0)+119>>0]=1;n=a[47137]|0;A:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)>=(n|0))break A;c=o+(A<<3)|0;b[c>>3]=+b[c>>3]/+b[23293];A=A+1|0}}}while(0);do{if((n|0)>2){A=a[47171]|0;if((A|0?(w=Uo(i,A)|0,w|0):0)?(a[u>>2]=s,(J3(w,101209,u)|0)==1):0){g=+b[23293];v=+b[s>>3];b[o+16>>3]=g>0.0?v/g:v;vU(i,f,3);break}gU(i,f)}}while(0);if((r[h>>0]|0)!=33){if(!e){A=1;break}if(!((gR(Uo(i,e)|0)|0)<<24>>24)){A=1;break}}r[(a[d>>2]|0)+119>>0]=3;A=1}else A=0}while(0);k=B;return A|0}function pH(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}UH(A);return}function UH(A){A=A|0;if((a[47134]|0)!=0|(a[46795]|0)<0)dU(A);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function xH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;s=h+32|0;u=h;c=Yo(A,0,102637,0)|0;i=Yo(A,0,102671,0)|0;o=(ER(po(A,88593)|0,0)|0)<<24>>24!=0;if(!i)i=Yo(A,0,102671,195059)|0;hU(A)|0;w=A+16|0;l=0;while(1){t=a[(a[(a[w>>2]|0)+152>>2]|0)+(l<<2)>>2]|0;if(!t){f=12;break}n=t+16|0;f=a[n>>2]|0;if(!(r[f+119>>0]|0)){if(Z1(Vh(t)|0,108006,7)|0){f=8;break}f=a[n>>2]|0}f=a[f+108>>2]|0;if(f|0)TH(t,f,102633);l=l+1|0}A:do{if((f|0)==8){o=Vh(t)|0;i=Vh(A)|0;a[s>>2]=o;a[s+4>>2]=i;ao(1,88605,s)|0;i=-1}else if((f|0)==12){jH(A,c,i);t=SH(A)|0;i=a[(a[w>>2]|0)+8>>2]|0;if(!(a[i+88>>2]|0))i=0;else{a[i+84>>2]=0;i=1}n=(e|0)!=0;l=(i|0)!=0;if(!(l|n&(a[47134]|0)==1^1)?(eS(A)|0)!=0:0){f=a[(a[w>>2]|0)+12>>2]|0;if(!f)f=1;else{r[f+81>>0]=0;f=1}}else f=0;xR(A);if(l){e=(a[w>>2]|0)+16|0;uI(u,A);a[e>>2]=a[u>>2];a[e+4>>2]=a[u+4>>2];a[e+8>>2]=a[u+8>>2];a[e+12>>2]=a[u+12>>2];a[e+16>>2]=a[u+16>>2];a[e+20>>2]=a[u+20>>2];a[e+24>>2]=a[u+24>>2];a[e+28>>2]=a[u+28>>2]}if(!n){a[47138]=1;f=cd(A)|0;while(1){if(!f)break A;o=a[f+16>>2]|0;u=a[o+132>>2]|0;b[o+16>>3]=+b[u>>3]*72.0;b[o+24>>3]=+b[u+8>>3]*72.0;f=bd(A,f)|0}}do{if(!(o|l)){o=a[w>>2]|0;if(!(+b[o+16>>3]!=0.0)?!(+b[o+24>>3]!=0.0):0)break;Up(A)}}while(0);if(!((t|0)!=0&(f|(Hp(A)|0)<<24>>24!=0))){if((t|0)==2){a[47138]=1;break}}else PH(A);Rp(A,0)}}while(0);k=h;return i|0}function TH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+48|0;t=c+32|0;f=c+24|0;n=c+16|0;l=c;A=po(A,i)|0;if(A|0?(a[t>>2]=f,a[t+4>>2]=n,(J3(A,105503,t)|0)==2):0){t=e+56|0;_H(l,+b[f>>3],+b[n>>3]);a[t>>2]=a[l>>2];a[t+4>>2]=a[l+4>>2];a[t+8>>2]=a[l+8>>2];a[t+12>>2]=a[l+12>>2];r[e+81>>0]=1}k=c;return}function jH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+48|0;c=s+32|0;f=s+24|0;n=s+16|0;l=s;t=A+16|0;if((e|0?(a[(a[t>>2]|0)+12>>2]|0)!=0:0)?(w=Uo(A,e)|0,a[c>>2]=f,a[c+4>>2]=n,(J3(w,105503,c)|0)==2):0){w=(a[(a[t>>2]|0)+12>>2]|0)+56|0;_H(l,+b[f>>3],+b[n>>3]);a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];r[(a[(a[t>>2]|0)+12>>2]|0)+81>>0]=1}A:do{if(i|0){f=RB(A)|0;while(1){if(!f)break A;qH(f,A,e,i);f=HB(f)|0}}}while(0);k=s;return}function SH(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(gh(A)|0){f=Yo(A,2,102623,0)|0;if(!((f|0)==0|(a[47134]|0)<2)){e=0;r=cd(A)|0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;n=e+((OH(f,i)|0)!=0&1)|0;i=_o(A,i)|0;e=n}r=bd(A,r)|0}if(e){e=(e|0)==(gh(A)|0);e=e?2:1}else e=0}else e=0}else e=2;return e|0}function PH(A){A=A|0;var e=0,i=0,r=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;kH(e);r=e+16|0;TF(a[(a[r>>2]|0)+96>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);TF(a[(a[r>>2]|0)+100>>2]|0);TF(a[(a[r>>2]|0)+104>>2]|0);e=_o(A,e)|0}i=bd(A,i)|0}return}function OH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;m=k;k=k+96|0;G=m+72|0;I=m+56|0;Q=m+48|0;Z=m+32|0;C=m+16|0;d=m+88|0;B=m+8|0;v=m;g=m+84|0;E=m+80|0;A=Uo(e,A)|0;do{if(r[A>>0]|0){DC(e,g,E);h=1;f=0;i=0;t=0.0;l=0.0;c=0.0;n=0.0;A:while(1){a[C>>2]=B;a[C+4>>2]=v;a[C+8>>2]=d;if((J3(A,88642,C)|0)==2){o=1;A=A+(a[d>>2]|0)|0;l=+b[B>>3];n=+b[v>>3]}else o=i;a[Z>>2]=B;a[Z+4>>2]=v;a[Z+8>>2]=d;if((J3(A,88654,Z)|0)==2){u=1;A=A+(a[d>>2]|0)|0;t=+b[B>>3];c=+b[v>>3]}else u=f;s=KH(A)|0;if(!((s|0)>3&((s|0)%3|0|0)==1)){i=8;break}w=$F(s<<4)|0;i=w;f=s;while(1){if(!f)break;a[I>>2]=B;a[I+4>>2]=v;a[I+8>>2]=d;if((J3(A,88724,I)|0)<2){i=13;break A}L=A+(a[d>>2]|0)|0;b[i>>3]=+b[B>>3];b[i+8>>3]=+b[v>>3];i=i+16|0;f=f+-1|0;A=L}while(1){i=r[A>>0]|0;f=A+1|0;if(!(Q1(i<<24>>24)|0))break;else A=f}L=i<<24>>24==0;A=L?A:f;h=L?0:h;f=vX(e,s)|0;if(o|0){a[f+8>>2]=a[g>>2];b[f+16>>3]=l;b[f+24>>3]=n}if(u|0){a[f+12>>2]=a[E>>2];b[f+32>>3]=t;b[f+40>>3]=c}i=0;while(1){if((i|0)>=(s|0))break;L=(a[f>>2]|0)+(i<<4)|0;W=w+(i<<4)|0;a[L>>2]=a[W>>2];a[L+4>>2]=a[W+4>>2];a[L+8>>2]=a[W+8>>2];a[L+12>>2]=a[W+12>>2];i=i+1|0}L2(w);if(!h){i=26;break}else{f=u;i=o}}if((i|0)==8){kH(e);if(r[193771]|0){A=0;break}r[193771]=1;W=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;A=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[Q>>2]=W;a[Q+4>>2]=A;ao(0,88667,Q)|0;A=0;break}else if((i|0)==13){if(!(r[193771]|0)){r[193771]=1;L=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;W=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[G>>2]=L;a[G+4>>2]=W;ao(0,88734,G)|0}L2(w);kH(e);A=0;break}else if((i|0)==26){f=e+16|0;A=a[f>>2]|0;i=a[A+96>>2]|0;if(i){TH(e,i,102637);A=a[f>>2]|0}i=a[A+108>>2]|0;if(i){TH(e,i,102633);A=a[f>>2]|0}i=a[A+100>>2]|0;if(i){TH(e,i,102640);A=a[f>>2]|0}A=a[A+104>>2]|0;if(!A){A=1;break}TH(e,A,102648);A=1;break}}else A=0}while(0);k=m;return A|0}function KH(A){A=A|0;var e=0,i=0;i=0;do{while(1){e=r[A>>0]|0;if(!(Q1(e&255)|0))break;else A=A+1|0}A:do{if(!(e<<24>>24))e=0;else{i=i+1|0;while(1){if(!(e<<24>>24)){e=0;break A}if(e<<24>>24==59|(Q1(e&255)|0)!=0)break A;e=A+1|0;A=e;e=r[e>>0]|0}}}while(0)}while((Q1(e&255)|0)!=0);return i|0}function _H(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function qH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;l=k;k=k+32|0;f=l;if((Z1(Vh(A)|0,108006,7)|0)==0?($H(A,r,f)|0)!=0:0){Td(A,137483,280,1)|0;t=(a[A+16>>2]|0)+16|0;a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];a[t+16>>2]=a[f+16>>2];a[t+20>>2]=a[f+20>>2];a[t+24>>2]=a[f+24>>2];a[t+28>>2]=a[f+28>>2];Ap(e,A);jH(A,i,r)}else n=4;A:do{if((n|0)==4){A=RB(A)|0;while(1){if(!A)break A;qH(A,e,i,r);A=HB(A)|0}}}while(0);k=l;return}function $H(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0;l=k;k=k+48|0;t=l+32|0;n=l;c=Uo(A,e)|0;A=n+8|0;e=n+24|0;a[t>>2]=n;a[t+4>>2]=A;a[t+8>>2]=n+16;a[t+12>>2]=e;if((J3(c,88782,t)|0)==4){r=+b[A>>3];f=+b[e>>3];if(r>f){b[A>>3]=f;b[e>>3]=r}a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[i+16>>2]=a[n+16>>2];a[i+20>>2]=a[n+20>>2];a[i+24>>2]=a[n+24>>2];a[i+28>>2]=a[n+28>>2];A=1}else A=0;k=l;return A|0}function Ap(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+16|0;i=a[r>>2]|0;n=i+180|0;A=a[n>>2]|0;f=A+1|0;a[n>>2]=f;i=a[i+184>>2]|0;if(!i)A=qF((A<<2)+8|0)|0;else A=AV(i,A+2|0,4,f)|0;a[(a[r>>2]|0)+184>>2]=A;a[A+(f<<2)>>2]=e;JF(e);return}function ep(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+48|0;s=w+8|0;b=w;t=w+16|0;c=w+12|0;l=po(A,88798)|0;do{if((l|0)!=0?(f=r[l>>0]|0,f<<24>>24!=0):0){f=f&255;if(!(J1(f)|0))if((e|0)==2|(f+-48|0)>>>0<10)e=l;else break;else{if(!(Z1(l,88804,4)|0)){e=0;break}if(!(Z1(l,105511,7)|0)){e=1;break}if(Z1(l,88809,6)|0)if((e|0)==2)e=l;else break;else e=l+6|0}if(!(((n[e>>0]|0)+-48|0)>>>0<10?(a[b>>2]=c,(J3(e,99933,b)|0)>=1):0)){b=z3()|0;b=(ne(0)|0)^b;a[c>>2]=b;a[s>>2]=b;P4(t,99933,s)|0;xo(A,88798,t)|0}a[i>>2]=a[c>>2];e=2}}while(0);k=w;return e|0}function ip(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+16|0;r=f+4|0;a[r>>2]=1;i=ep(A,i,r)|0;if((i|0)!=2&(a[46796]|0)!=0)ao(0,88816,f)|0;if((i|0)==1)rp(A,e);l8(a[r>>2]|0);k=f;return i|0}function rp(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0.0;n=+(e|0);l=6.283185307179586/n;i=cd(A)|0;f=0.0;while(1){if(!i)break;s=+D(+f)*n;t=a[i+16>>2]|0;c=a[t+132>>2]|0;b[c>>3]=s;b[c+8>>3]=+M(+f)*n;r[t+119>>0]=1;if((a[47137]|0)>2)gU(i,e);i=bd(A,i)|0;f=f+l}return}function fp(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0;d=k;k=k+80|0;e=d+24|0;w=d+32|0;c=d;o=d+28|0;s=d+64|0;h=+b[23293];do{if(a[47134]|0){b[23293]=72.0;ap(A);np(A);if((xH(A,1)|0)<0){ao(3,88864,e)|0;break}else{vJ(A,0);f=32;break}}else{u=ER(po(A,88593)|0,0)|0;b[23293]=+hR(A);ap(A);n=lp(A)|0;Qj(A,c,0)|0;l=tp(A)|0;t=wC(A,0,w)|0;e=sC(A,-1,8)|0;a[46795]=e;i=(e|0)<0;do{if(!t){if((n|0)!=0&i){a[46795]=8;a[w+16>>2]=2;f=11;break}a[w+16>>2]=2;if((e|0)<=-1){cp(A,n,l);Wj(A,c)|0;np(A);if(!(u<<24>>24)){Pp(A);break}else{bp(A);break}}else f=11}else if(i){a[46795]=8;f=11}else f=11}while(0);if((f|0)==11){t=BE(A,o,88892,s)|0;e=a[o>>2]|0;do{if((e|0)<=1){cp(A,n,l);Wj(A,c)|0;if(!(u<<24>>24)){Pp(A);break}else{bp(A);break}}else{f=u<<24>>24==0;i=0;while(1){if((i|0)>=(e|0))break;e=a[t+(i<<2)>>2]|0;VE(e)|0;cp(e,n,l);Wj(e,c)|0;zH(e,2);if(f)Pp(e);else bp(e);i=i+1|0;e=a[o>>2]|0}if(!(r[s>>0]|0))i=0;else{i=qF(e)|0;r[i>>0]=1;e=a[o>>2]|0}a[w+8>>2]=a[46795];a[w+20>>2]=i;a[w+12>>2]=1;tC(e,t,A,w)|0;L2(i)}}while(0);xR(A);np(A);e=0;while(1){if((e|0)>=(a[o>>2]|0))break;w=a[t+(e<<2)>>2]|0;dU(w);Sd(w,137483)|0;Cd(A,w)|0;e=e+1|0}L2(t)}vJ(A,u<<24>>24==0&1);f=32}}while(0);if((f|0)==32)b[23293]=h;k=d;return}function ap(A){A=A|0;var e=0,i=0,r=0,n=0;zH(A,2);r=kR(A,Yo(A,0,91368,0)|0,2,2)|0;e=(kR(A,Yo(A,0,91374,0)|0,r,2)|0)&65535;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=e;e=a[(a[A+60>>2]|0)+16>>2]|0;n=e+176|0;i=f[n>>1]|0;i=(i&65535)<10?i:10;f[n>>1]=i;i=i&65535;a[47137]=i;f[e+178>>1]=(r|0)<(i|0)?r:i;gp(A);return}function np(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+1040|0;r=f;i=f+8|0;A:do{if((a[47137]|0)>2&(a[47171]|0)!=0){e=cd(A)|0;while(1){if(!e)break A;b[r>>3]=+b[(a[(a[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;P4(i,101209,r)|0;Vo(e,a[47171]|0,i)|0;e=bd(A,e)|0}}}while(0);k=f;return}function lp(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=po(A,89577)|0;A:do{if(!e)A=1;else{switch(r[e>>0]|0){case 0:{A=1;break A}case 75:{if(!(A1(e,89582)|0)){A=0;break A}break}case 109:{if(!(A1(e,89585)|0)){A=1;break A}break}case 104:{if(!(A1(e,89591)|0)){A=2;break A}break}default:{}}A=Vh(A)|0;a[i>>2]=e;a[i+4>>2]=A;ao(0,89596,i)|0;A=1}}while(0);k=f;return A|0}function tp(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+32|0;n=l+16|0;f=l+8|0;i=l;e=po(A,89360)|0;A:do{if(!e)A=0;else{switch(r[e>>0]|0){case 0:{A=0;break A}case 99:{if(!(A1(e,89366)|0)){A=1;break A}break}case 115:{if(!(A1(e,89374)|0)){A=2;break A}if(!(A1(e,89381)|0)){A=0;break A}break}case 109:{if(!(A1(e,89391)|0)){if(Yo(A,2,92493,0)|0){A=3;break A}a[i>>2]=Vh(A)|0;ao(0,89395,i)|0;ao(3,89458,f)|0;A=0;break A}break}default:{}}A=Vh(A)|0;a[n>>2]=e;a[n+4>>2]=A;ao(0,89515,n)|0;A=0}}while(0);k=l;return A|0}function cp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,91061)|0;if(!r)if((e|0)==1)r=200;else r=(vh(A)|0)*100|0;else r=q3(r)|0;a[47136]=r;r=bU(A,e)|0;do{if(!((r|0)<2|(a[47136]|0)<0))if(!e){wp(A,r,i);break}else{sp(A,r,e,i,a[47137]|0);break}}while(0);return}function bp(A){A=A|0;xR(A);Rp(A,1);return}function sp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+64|0;d=g+40|0;u=g+24|0;w=g;o=g+48|0;v=g+44|0;h=(i|0)==2;l=ip(A,e,h?0:2)|0;t=vp(A)|0;c=t|4;B=$F(f<<2)|0;a[B>>2]=$F(U(e<<3,f)|0)|0;n=a[47137]|0;f=1;while(1){if((f|0)>=(n|0))break;a[B+(f<<2)>>2]=(a[B>>2]|0)+((U(f,e)|0)<<3);f=f+1|0}n=(l|0)==0;f=n?c:t;if(0){c=a[15712]|0;t=a[47136]|0;s=+b[23294];a[w>>2]=r;a[w+4>>2]=n&1;a[w+8>>2]=f&3;a[w+12>>2]=t;b[w+16>>3]=s;f3(c,89173,w)|0;L3(89230,15,1,c)|0;tR();L3(89246,13,1,c)|0}w=op(A,e,o,i,r,v)|0;if(0){c=a[15712]|0;s=+cR();a[u>>2]=e;b[u+8>>3]=s;f3(c,89260,u)|0}if((i|0)!=1){s=+oR(A,Yo(A,0,89279,0)|0,0.0,-1797693134862315708145274.0e284);if(h){f=kS(w,e,a[o>>2]|0,B,a[v>>2]|0,a[47137]|0,f,r,a[47136]|0,s)|0;n=12}else n=14}else{f=iU(w,e,a[o>>2]|0,B,a[v>>2]|0,a[47137]|0,f,r,a[47136]|0)|0;n=12}if((n|0)==12)if((f|0)<0)ao(3,89289,d)|0;else n=14;A:do{if((n|0)==14){n=cd(A)|0;while(1){if(!n)break A;c=a[n+16>>2]|0;l=a[c+120>>2]|0;t=a[47137]|0;c=c+132|0;f=0;while(1){if((f|0)>=(t|0))break;b[(a[c>>2]|0)+(f<<3)>>3]=+b[(a[B+(f<<2)>>2]|0)+(l<<3)>>3];f=f+1|0}n=bd(A,n)|0}}}while(0);HS(w);L2(a[B>>2]|0);L2(B);L2(a[v>>2]|0);k=g;return}function wp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0;n=k;k=k+48|0;f=n+32|0;r=n;switch(i|0){case 2:{up(A,e);break}case 1:{if(!(bS(A,e)|0)){a[r>>2]=Vh(A)|0;ao(0,88902,r)|0;ao(3,93364,n+8|0)|0;ao(3,88954,n+16|0)|0;ao(3,89026,n+24|0)|0;MU(A,e)}break}default:{MU(A,e);if((i|0)==3)kp(A)}}CU(A,e);IU(A,e);if(0){r=a[15712]|0;t=a[47136]|0;l=+b[23294];a[f>>2]=i;a[f+4>>2]=t;b[f+8>>3]=l;f3(r,89064,f)|0;tR()}ZU(A,e);k=n;return}function up(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=op(A,e,t,0,2,0)|0;l=UP(n,e)|0;r=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;f=l+(A<<2)|0;i=0;while(1){if((i|0)==(e|0))break;b[(a[(a[(a[r>>2]|0)+160>>2]|0)+(A<<2)>>2]|0)+(i<<3)>>3]=+(a[(a[f>>2]|0)+(i<<2)>>2]|0);i=i+1|0}A=A+1|0}L2(a[l>>2]|0);L2(l);HS(n);k=t;return}function kp(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0;f=A+16|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;n=a[e>>2]&3;r=(a[a[((n|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;n=(a[a[((n|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if((r|0)!=(n|0)){t=+b[(a[e+16>>2]|0)+136>>3];l=a[(a[f>>2]|0)+160>>2]|0;b[(a[l+(n<<2)>>2]|0)+(r<<3)>>3]=t;b[(a[l+(r<<2)>>2]|0)+(n<<3)>>3]=t}e=_o(A,e)|0}i=bd(A,i)|0}return}function op(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0;l=gh(A)|0;Y=bJ()|0;if((f|0)==2){t=0;W=0}else{W=Yo(A,2,92493,0)|0;t=(a[47174]|0)!=0&1;W=(W|0)!=0}Q=(r|1|0)==3;y=$F(e*20|0)|0;z=$F(e<<2)|0;s=(l<<1)+e<<2;w=$F(s)|0;G=Q|W;if(G)f=$F(s)|0;else f=0;L=(t|0)!=0;if(L)l=$F(s)|0;else l=0;if(Q)t=$F(s)|0;else t=0;s=0;I=cd(A)|0;Z=0;while(1){if(!I)break;uJ(Y);if((a[(a[I+16>>2]|0)+120>>2]|0)!=(Z|0)){m=12;break}a[z+(Z<<2)>>2]=I;g=y+(Z*20|0)+4|0;a[g>>2]=w;E=y+(Z*20|0)+8|0;a[E>>2]=G?f:0;C=y+(Z*20|0)+12|0;a[C>>2]=L?l:0;a[y+(Z*20|0)+16>>2]=Q?t:0;d=1;v=Ah(A,I)|0;B=1;h=s;w=w+4|0;f=G?f+4|0:f;l=L?l+4|0:l;t=Q?t+4|0:t;while(1){if(!v)break;u=a[v>>2]&3;o=v+-48|0;s=v+48|0;do{if((a[((u|0)==2?v:o)+40>>2]|0)==(a[((u|0)==3?v:s)+40>>2]|0)){u=d;o=B;s=h}else{u=hp(Y,v,d)|0;if((u|0)!=(d|0)){if(L){o=(a[C>>2]|0)+(u<<2)|0;c[o>>2]=+b[(a[v+16>>2]|0)+128>>3]+ +c[o>>2]}if(!W){u=d;o=B;s=h;break}u=(a[E>>2]|0)+(u<<2)|0;D=+b[(a[v+16>>2]|0)+136>>3];k=+(~~+c[u>>2]|0);c[u>>2]=D>k?D:k;u=d;o=B;s=h;break}M=a[v>>2]&3;s=(M|0)==3?v:s;h=h+1|0;u=d+1|0;d=w+4|0;a[w>>2]=a[(a[(a[((a[s+40>>2]|0)==(I|0)?(M|0)==2?v:o:s)+40>>2]|0)+16>>2]|0)+120>>2];if(L){c[l>>2]=+b[(a[v+16>>2]|0)+128>>3];l=l+4|0}if(W){s=f+4|0;c[f>>2]=+b[(a[v+16>>2]|0)+136>>3];if(Q){f=s;m=27}else f=s}else if(Q){c[f>>2]=1.0;f=f+4|0;m=27}if((m|0)==27){m=0;s=po(v,101559)|0;if((s|0)!=0?(Z1(s,135709,4)|0)==0:0)k=0.0;else k=(I|0)==(a[((a[v>>2]&3|0)==2?v:o)+40>>2]|0)?1.0:-1.0;c[t>>2]=k;t=t+4|0}o=B+1|0;s=h;w=d}}while(0);d=u;v=eh(A,v,I)|0;B=o;h=s}a[y+(Z*20|0)>>2]=B;a[a[g>>2]>>2]=Z;s=h;I=bd(A,I)|0;Z=Z+1|0}if((m|0)==12)vA(89103,89118,819,89130);if(Q)dp(y,e,r,z);u=(s|0)/2|0;A:do{if((u|0)!=(gh(A)|0)){s=(u<<1)+e<<2;t=eV(a[y+4>>2]|0,s)|0;if(W)f=eV(a[y+8>>2]|0,s)|0;if(L){w=0;l=eV(a[y+12>>2]|0,s)|0}else w=0;while(1){if((w|0)>=(e|0))break A;s=a[y+(w*20|0)>>2]|0;a[y+(w*20|0)+4>>2]=t;if(W){a[y+(w*20|0)+8>>2]=f;f=f+(s<<2)|0}if(L){a[y+(w*20|0)+12>>2]=l;l=l+(s<<2)|0}w=w+1|0;t=t+(s<<2)|0}}}while(0);a[i>>2]=u;if(!n)L2(z);else a[n>>2]=z;kJ(Y);return y|0}function hp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=a[e>>2]&3;r=a[(a[(a[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;e=a[(a[(a[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(r|0)>(e|0);return oJ(A,f?e:r,f?r:e,i)|0}function dp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=0;while(1){if((n|0)>=(e|0)){n=0;break}l=a[(a[f+(n<<2)>>2]|0)+16>>2]|0;r[l+157>>0]=0;r[l+158>>0]=0;n=n+1|0}while(1){if((n|0)>=(e|0))break;if(!(r[(a[(a[f+(n<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Bp(A,n,i,f);n=n+1|0}return}function Bp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,k=0.0,o=0,h=0;h=(a[f+(e<<2)>>2]|0)+16|0;s=a[h>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=A+(e*20|0)|0;w=A+(e*20|0)+16|0;u=A+(e*20|0)+4|0;k=(i|0)==3?-1.0:1.0;b=1;A:while(1){if((b|0)>=(a[s>>2]|0)){n=14;break}n=(a[w>>2]|0)+(b<<2)|0;do{if(!(+c[n>>2]==1.0)){o=a[(a[u>>2]|0)+(b<<2)>>2]|0;l=a[(a[f+(o<<2)>>2]|0)+16>>2]|0;if(!(r[l+158>>0]|0)){if(r[l+157>>0]|0)break;Bp(A,o,i,f);break}c[n>>2]=k;l=A+(o*20|0)+4|0;t=a[A+(o*20|0)>>2]|0;n=1;while(1){if((n|0)>=(t|0)){n=9;break A}if((a[(a[l>>2]|0)+(n<<2)>>2]|0)==(e|0))break;n=n+1|0}c[(a[A+(o*20|0)+16>>2]|0)+(n<<2)>>2]=-1.0}}while(0);b=b+1|0}if((n|0)==9)vA(89144,89118,721,89164);else if((n|0)==14){r[(a[h>>2]|0)+158>>0]=0;return}}function vp(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;A=kR(A,Yo(A,0,89305,0)|0,2,0)|0;if((A|0)==0|(A|0)>2){a[e>>2]=89305;ao(0,89314,e)|0;A=2}k=i;return A|0}function gp(A){A=A|0;var e=0,i=0,r=0;i=vh(A)|0;a[46796]=Yo(A,1,102623,0)|0;r=Yo(A,1,90660,0)|0;e=cd(A)|0;while(1){if(!e)break;RH(e);HH(a[46796]|0,r,e,i)|0;e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;Ep(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function Ep(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,1.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function Cp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A=qF(64)|0;i=A+8|0;r=e+8|0;n=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));e=a[e+56>>2]|0;a[A+56>>2]=e;f[(a[e+16>>2]|0)+168>>1]=1;return A|0}function Ip(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Zp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if(A>>>0<=r>>>0)if(A>>>0>=r>>>0){r=a[e+24>>2]|0;A=a[i+24>>2]|0;if(r>>>0<=A>>>0)if(r>>>0>=A>>>0){A=~~(+b[e+8>>3]-+b[i+8>>3]);if(!A){A=~~(+b[e+16>>3]-+b[i+16>>3]);if(!A){A=~~(+b[e+32>>3]-+b[i+32>>3]);if(!A)A=~~(+b[e+40>>3]-+b[i+40>>3])}}}else A=-1;else A=1}else A=-1;else A=1;return A|0}function Gp(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0.0;b=k;k=k+16|0;n=b;l=e+16|0;t=f[(a[l>>2]|0)+168>>1]|0;c=t<<16>>16;if(t<<16>>16!=1&(r[194954]|0)==0){t=$F(c<<2)|0;n=0;while(1){if((n|0)>=(c|0))break;a[t+(n<<2)>>2]=e;e=a[(a[e+16>>2]|0)+172>>2]|0;n=n+1|0}s=+(i|0);LX(A,t,0,c,s,s,17792);e=0;while(1){if((e|0)>=(c|0))break;n=a[t+(e<<2)>>2]|0;l=n+16|0;if(a[(a[l>>2]|0)+96>>2]|0){i=Id(a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;pR(i,a[(a[l>>2]|0)+96>>2]|0)}FX(n);e=e+1|0}L2(t)}else{a[n>>2]=e;s=+(i|0);LX(A,n,0,1,s,s,17792);if(a[(a[l>>2]|0)+96>>2]|0){c=Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;pR(c,a[(a[l>>2]|0)+96>>2]|0)}FX(e)}k=b;return}function Qp(A){A=A|0;return 0}function mp(A){A=A|0;return 0}function Lp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+384|0;R=p+368|0;H=p+112|0;l=p+32|0;d=p+336|0;V=p+320|0;J=p+304|0;N=p+288|0;X=p+272|0;n=p+256|0;y=p+240|0;Y=p+224|0;F=p+208|0;v=p+192|0;g=p+176|0;E=p+160|0;G=p+144|0;Q=p+128|0;m=p+96|0;L=p+16|0;W=p;A:do{switch(sN(A)|0){case 3:case 1:{f=qF(8)|0;G=A+16|0;A=a[G>>2]|0;n=a[A+12>>2]|0;do{if(!(i<<24>>24)){A=a[n+8>>2]|0;if((A|0)>2){Z=0.0;l=a[n+44>>2]|0;i=0;o=+c[e>>2];h=+c[e+4>>2];break}else{Z=+c8()*.01;A=8;l=0;i=1;o=0.0;h=0.0;break}}else if(!(a[n+40>>2]&2048)){h=+b[A+88>>3];o=-h;Z=+b[A+80>>3];I=Z*-.5;b[l>>3]=o;b[l+8>>3]=I;b[l+16>>3]=h;b[l+24>>3]=I;Z=Z*.5;b[l+32>>3]=h;b[l+40>>3]=Z;b[l+48>>3]=o;b[l+56>>3]=Z;Z=0.0;A=4;i=0;o=0.0;h=0.0;break}else{HR(d,n);o=+b[d>>3];I=+b[d+8>>3];h=+b[d+16>>3];Z=+b[d+24>>3];b[l>>3]=o;b[l+8>>3]=I;b[l+16>>3]=h;b[l+24>>3]=I;b[l+32>>3]=h;b[l+40>>3]=Z;b[l+48>>3]=o;b[l+56>>3]=Z;Z=0.0;A=4;i=0;o=0.0;h=0.0;break}}while(0);a[f+4>>2]=A;d=qF(A<<4)|0;a[f>>2]=d;B=1.0/+(A|0);v=e+8|0;g=e+4|0;E=(A|0)==4;C=-o;I=-h;n=0;while(1){if((A|0)<=(n|0))break A;do{if(i){t=+(n|0)*6.283185307179586*B+Z;s=+D(+t);t=+M(+t);if(!(r[v>>0]|0)){H=a[G>>2]|0;w=t*+c[g>>2]*+b[H+80>>3];t=s*+c[e>>2]*(+b[H+96>>3]+ +b[H+88>>3])}else{H=a[G>>2]|0;w=(+b[H+80>>3]+ +c[g>>2])*t;t=(+b[H+96>>3]+ +b[H+88>>3]+ +c[e>>2])*s}u=t*.5;t=w*.5}else{if(!(r[v>>0]|0)){u=+b[l+(n<<4)>>3]*o;t=+b[l+(n<<4)+8>>3]*h;break}if(!E){u=+b[l+(n<<4)>>3];t=+b[l+(n<<4)+8>>3];w=+z(+(t*t+u*u));u=(o/w+1.0)*u;t=(h/w+1.0)*t;break}switch(n|0){case 0:{s=h;t=o;break}case 1:{s=h;t=C;break}case 2:{s=I;t=C;break}case 3:{s=I;t=o;break}default:{s=0.0;t=0.0}}u=+b[l+(n<<4)>>3]+t;t=+b[l+(n<<4)+8>>3]+s}}while(0);R=a[G>>2]|0;H=A-n+-1|0;b[d+(H<<4)>>3]=+b[R+16>>3]+u;b[d+(H<<4)+8>>3]=+b[R+24>>3]+t;n=n+1|0}}case 2:{W=A+16|0;f=a[(a[W>>2]|0)+12>>2]|0;t=+b[f+16>>3];u=+b[f+24>>3];s=+b[f+32>>3];w=+b[f+40>>3];f=qF(8)|0;a[f+4>>2]=4;A=qF(64)|0;a[f>>2]=A;W=(a[W>>2]|0)+16|0;a[H>>2]=a[W>>2];a[H+4>>2]=a[W+4>>2];a[H+8>>2]=a[W+8>>2];a[H+12>>2]=a[W+12>>2];if(!(r[e+8>>0]|0)){a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(n,t,u,R,e);a[A>>2]=a[n>>2];a[A+4>>2]=a[n+4>>2];a[A+8>>2]=a[n+8>>2];a[A+12>>2]=a[n+12>>2];X=(a[f>>2]|0)+16|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(y,t,w,R,e);a[X>>2]=a[y>>2];a[X+4>>2]=a[y+4>>2];a[X+8>>2]=a[y+8>>2];a[X+12>>2]=a[y+12>>2];X=(a[f>>2]|0)+32|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(Y,s,w,R,e);a[X>>2]=a[Y>>2];a[X+4>>2]=a[Y+4>>2];a[X+8>>2]=a[Y+8>>2];a[X+12>>2]=a[Y+12>>2];X=(a[f>>2]|0)+48|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(F,s,u,R,e);a[X>>2]=a[F>>2];a[X+4>>2]=a[F+4>>2];a[X+8>>2]=a[F+8>>2];a[X+12>>2]=a[F+12>>2];break A}else{Z=t-+c[e>>2];F=e+4|0;I=u-+c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(V,Z,I,R);a[A>>2]=a[V>>2];a[A+4>>2]=a[V+4>>2];a[A+8>>2]=a[V+8>>2];a[A+12>>2]=a[V+12>>2];V=(a[f>>2]|0)+16|0;I=t-+c[e>>2];Z=w+ +c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(J,I,Z,R);a[V>>2]=a[J>>2];a[V+4>>2]=a[J+4>>2];a[V+8>>2]=a[J+8>>2];a[V+12>>2]=a[J+12>>2];J=(a[f>>2]|0)+32|0;Z=s+ +c[e>>2];I=w+ +c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(N,Z,I,R);a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];N=(a[f>>2]|0)+48|0;I=s+ +c[e>>2];Z=u-+c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(X,I,Z,R);a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];break A}}case 4:{A=A+16|0;f=qF(8)|0;a[f+4>>2]=4;n=qF(64)|0;a[f>>2]=n;l=a[A>>2]|0;X=l+16|0;a[H>>2]=a[X>>2];a[H+4>>2]=a[X+4>>2];a[H+8>>2]=a[X+8>>2];a[H+12>>2]=a[X+12>>2];t=-+b[l+88>>3];if(!(r[e+8>>0]|0)){I=-+b[l+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(Q,t,I,R,e);a[n>>2]=a[Q>>2];a[n+4>>2]=a[Q+4>>2];a[n+8>>2]=a[Q+8>>2];a[n+12>>2]=a[Q+12>>2];X=(a[f>>2]|0)+16|0;N=a[A>>2]|0;I=-+b[N+88>>3];Z=+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(m,I,Z,R,e);a[X>>2]=a[m>>2];a[X+4>>2]=a[m+4>>2];a[X+8>>2]=a[m+8>>2];a[X+12>>2]=a[m+12>>2];X=(a[f>>2]|0)+32|0;N=a[A>>2]|0;Z=+b[N+96>>3];I=+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(L,Z,I,R,e);a[X>>2]=a[L>>2];a[X+4>>2]=a[L+4>>2];a[X+8>>2]=a[L+8>>2];a[X+12>>2]=a[L+12>>2];X=(a[f>>2]|0)+48|0;N=a[A>>2]|0;I=+b[N+96>>3];Z=-+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(W,I,Z,R,e);a[X>>2]=a[W>>2];a[X+4>>2]=a[W+4>>2];a[X+8>>2]=a[W+8>>2];a[X+12>>2]=a[W+12>>2];break A}else{Z=t-+c[e>>2];N=e+4|0;I=-+b[l+80>>3]-+c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(v,Z,I,R);a[n>>2]=a[v>>2];a[n+4>>2]=a[v+4>>2];a[n+8>>2]=a[v+8>>2];a[n+12>>2]=a[v+12>>2];X=(a[f>>2]|0)+16|0;J=a[A>>2]|0;I=-+b[J+88>>3]-+c[e>>2];Z=+b[J+80>>3]+ +c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(g,I,Z,R);a[X>>2]=a[g>>2];a[X+4>>2]=a[g+4>>2];a[X+8>>2]=a[g+8>>2];a[X+12>>2]=a[g+12>>2];X=(a[f>>2]|0)+32|0;J=a[A>>2]|0;Z=+b[J+96>>3]+ +c[e>>2];I=+b[J+80>>3]+ +c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(E,Z,I,R);a[X>>2]=a[E>>2];a[X+4>>2]=a[E+4>>2];a[X+8>>2]=a[E+8>>2];a[X+12>>2]=a[E+12>>2];X=(a[f>>2]|0)+48|0;J=a[A>>2]|0;I=+b[J+96>>3]+ +c[e>>2];Z=-+b[J+80>>3]-+c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(G,I,Z,R);a[X>>2]=a[G>>2];a[X+4>>2]=a[G+4>>2];a[X+8>>2]=a[G+8>>2];a[X+12>>2]=a[G+12>>2];break A}}default:f=0}}while(0);k=p;return f|0}function Wp(A,e,i,r){A=A|0;e=+e;i=+i;r=r|0;i=+b[r+8>>3]+i;b[A>>3]=+b[r>>3]+e;b[A+8>>3]=i;return}function yp(A,e,i,r,f){A=A|0;e=+e;i=+i;r=r|0;f=f|0;i=+c[f+4>>2]*i+ +b[r+8>>3];b[A>>3]=+c[f>>2]*e+ +b[r>>3];b[A+8>>3]=i;return}function zp(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;u=k;k=k+112|0;c=u+88|0;t=u+72|0;b=u+32|0;s=u+16|0;w=u;f=u+56|0;n=u+40|0;l=e+48|0;d=(a[(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)+16>>2]|0)+16|0;o=e+16|0;h=(a[o>>2]|0)+16|0;a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];a[c>>2]=a[h>>2];a[c+4>>2]=a[h+4>>2];a[c+8>>2]=a[h+8>>2];a[c+12>>2]=a[h+12>>2];Yp(f,t,c);a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];f=e+-48|0;h=(a[(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+16|0;o=(a[o>>2]|0)+56|0;a[t>>2]=a[h>>2];a[t+4>>2]=a[h+4>>2];a[t+8>>2]=a[h+8>>2];a[t+12>>2]=a[h+12>>2];a[c>>2]=a[o>>2];a[c+4>>2]=a[o+4>>2];a[c+8>>2]=a[o+8>>2];a[c+12>>2]=a[o+12>>2];Yp(n,t,c);a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];if(!r){n=-1111;f=-1111}else{d=a[e>>2]&3;n=a[(a[(a[((d|0)==2?e:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=a[(a[(a[((d|0)==3?e:l)+40>>2]|0)+16>>2]|0)+288>>2]|0}a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];Yt(i,t,f,c,n,b)|0;o=b;h=a[o+4>>2]|0;d=A;a[d>>2]=a[o>>2];a[d+4>>2]=h;k=u;return}function Yp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function Dp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;g=k;k=k+144|0;o=g+104|0;h=g+88|0;u=g+80|0;w=g+72|0;c=g+64|0;B=g+128|0;b=g+32|0;s=g+124|0;v=g+16|0;d=g;t=g+120|0;l=(a[e+16>>2]|0)+144|0;n=a[l>>2]|0;l=a[l+4>>2]|0;E=c;a[E>>2]=n;a[E+4>>2]=l;E=n;a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];l=n+(l+-1<<4)|0;a[d>>2]=a[l>>2];a[d+4>>2]=a[l+4>>2];a[d+8>>2]=a[l+8>>2];a[d+12>>2]=a[l+12>>2];A:do{if(!(f<<24>>24)){n=-1111;f=-1111}else{n=-1111;f=-1111;l=0;while(1){if((l|0)>=(r|0))break A;if((f|0)==-1111){f=a[i+(l<<2)>>2]|0;a[h>>2]=a[f>>2];a[h+4>>2]=a[f+4>>2];a[o>>2]=a[v>>2];a[o+4>>2]=a[v+4>>2];a[o+8>>2]=a[v+8>>2];a[o+12>>2]=a[v+12>>2];f=(Dt(h,o)|0)==0;f=f?-1111:l}if((n|0)==-1111){n=a[i+(l<<2)>>2]|0;a[h>>2]=a[n>>2];a[h+4>>2]=a[n+4>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];n=(Dt(h,o)|0)==0;n=n?-1111:l}l=l+1|0}}}while(0);Mp(i,r,f,n,t,s);a[b>>2]=0;a[b+4>>2]=0;a[b+8>>2]=0;a[b+12>>2]=0;a[b+16>>2]=0;a[b+20>>2]=0;a[b+24>>2]=0;a[b+28>>2]=0;l=a[t>>2]|0;E=a[s>>2]|0;a[o>>2]=a[c>>2];a[o+4>>2]=a[c+4>>2];if((Mt(l,E,o,b,B)|0)<0){v=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;E=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[w>>2]=v;a[w+4>>2]=E;ao(1,89657,w)|0}else{if(0>1){n=a[15712]|0;w=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;f=e+-48|0;E=Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0;a[u>>2]=w;a[u+4>>2]=E;f3(n,89705,u)|0;n=e}else{f=e+-48|0;n=e}gX(e,a[((a[n>>2]&3|0)==2?e:f)+40>>2]|0,a[B>>2]|0,a[B+4>>2]|0,17792);L2(l);a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];HX(A,e,h,o)}k=g;return}function Mp(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;t=0;l=0;while(1){if((t|0)>=(e|0))break;if(!((t|0)==(i|0)|(t|0)==(r|0)))l=(a[(a[A+(t<<2)>>2]|0)+4>>2]|0)+l|0;t=t+1|0}k=$F(l<<5)|0;t=0;u=0;while(1){if((u|0)>=(e|0))break;A:do{if(!((u|0)==(i|0)|(u|0)==(r|0))){w=A+(u<<2)|0;s=0;while(1){c=a[w>>2]|0;b=a[c+4>>2]|0;if((s|0)>=(b|0))break A;o=s+1|0;h=k+(t<<5)|0;c=(a[c>>2]|0)+(s<<4)|0;a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];c=k+(t<<5)+16|0;b=(a[a[w>>2]>>2]|0)+(((o|0)<(b|0)?o:0)<<4)|0;a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];s=o;t=t+1|0}}}while(0);u=u+1|0}if((t|0)==(l|0)){a[f>>2]=k;a[n>>2]=l;return}else vA(89719,89726,77,89741)}function Fp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;w=k;k=k+32|0;b=w+12|0;r=w;iS(r,A);a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];r=cd(A)|0;while(1){if(!r)break;n=Oo(A,r)|0;while(1){if(!n)break;kX(n);n=_o(A,n)|0}r=bd(A,r)|0}l=jk(17756,a[4581]|0)|0;r=cd(A)|0;while(1){if(!r)break;n=Oo(A,r)|0;while(1){if(!n)break;if((a[47134]|0)>1?(t=a[n+16>>2]|0,(a[t+8>>2]|0)!=0):0){u=t+168|0;f[u>>1]=(f[u>>1]|0)+1<<16>>16}else s=14;if((s|0)==14?(s=0,c=Vp(l,n)|0,(c|0)!=(n|0)):0){u=a[c+16>>2]|0;o=u+168|0;f[o>>1]=(f[o>>1]|0)+1<<16>>16;u=u+172|0;a[(a[n+16>>2]|0)+172>>2]=a[u>>2];a[u>>2]=n}n=_o(A,n)|0}r=bd(A,r)|0}pk(l)|0;if(!(W5[e&63](A,b,i)|0)){a[47138]=1;r=0}else r=1;k=w;return r|0}function Vp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0;h=k;k=k+64|0;o=h;r=a[e>>2]&3;l=a[((r|0)==3?e:e+48|0)+40>>2]|0;r=a[((r|0)==2?e:e+-48|0)+40>>2]|0;do{if(l>>>0>=r>>>0){i=e+16|0;if(l>>>0>r>>>0){i=a[i>>2]|0;u=r;r=l;c=+b[i+16>>3];s=+b[i+24>>3];n=+b[i+56>>3];f=+b[i+64>>3];break}u=a[i>>2]|0;t=+b[u+56>>3];w=+b[u+64>>3];n=+b[u+16>>3];f=+b[u+24>>3];if(!(nt)){i=f>w;if(f>2]|0;u=l;c=+b[i+56>>3];s=+b[i+64>>3];n=+b[i+16>>3];f=+b[i+24>>3]}}while(0);a[o+8>>2]=u;b[o+16>>3]=n;b[o+24>>3]=f;a[o+32>>2]=r;b[o+40>>3]=c;b[o+48>>3]=s;a[o+56>>2]=e;o=a[(W5[a[A>>2]&63](A,o,1)|0)+56>>2]|0;k=h;return o|0}function Jp(A,e){A=A|0;e=e|0;return Fp(A,21,e)|0}function Np(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0;z=k;k=k+112|0;m=z+88|0;Q=z+72|0;v=z+40|0;h=z+8|0;o=z;g=z+64|0;L=z+48|0;W=z+24|0;n=(a[47134]|0)>1&1;do{if((i|0)>5){B=qF((vh(A)|0)<<2)|0;u=(i|0)==8;w=u&1;s=cd(A)|0;d=0;while(1){if(!s)break;l=Lp(s,e,w)|0;t=(a[s+16>>2]|0)+288|0;if(!l){a[t>>2]=-1111;l=d}else{a[t>>2]=d;a[B+(d<<2)>>2]=l;l=d+1|0}s=bd(A,s)|0;d=l}if(B){l=qP(B,d)|0;if(l|0){if(u){Z=0;G=B;I=B;C=1;break}Z=Wt(B,d)|0;G=B;I=B;C=1;break}if(u){ao(0,89755,o)|0;l=0;Z=0;G=B;I=B;C=1;break}else{Y=+c[e+4>>2];b[h>>3]=+c[e>>2];b[h+8>>3]=Y;ao(0,89833,h)|0;l=0;Z=0;G=B;I=B;C=1;break}}else{l=0;Z=0;G=0;I=0;C=0}}else{l=0;Z=0;G=0;d=0;I=0;C=0}}while(0);if(0){t=a[15712]|0;if((i|0)==8&(l|0)!=0)s=89939;else s=(Z|0)==0?89925:(i|0)==10?110056:89915;a[v>>2]=s;f3(t,89956,v)|0}E=(Z|0)!=0;A:do{if(!E){if((i|0)==8&(l|0)!=0){ce(A,0);n=1}}else{t=cd(A)|0;while(1){if(!t)break A;l=Oo(A,t)|0;while(1){if(!l)break;v=(a[l+16>>2]|0)+144|0;zp(g,l,Z,1,0,0);h=g;B=a[h+4>>2]|0;a[v>>2]=a[h>>2];a[v+4>>2]=B;l=_o(A,l)|0}t=bd(A,t)|0}}}while(0);o=(n|0)==0;h=A+60|0;B=(i|0)==10;n=0;u=cd(A)|0;l=0;while(1){if(!u)break;v=u+16|0;e=Oo(A,u)|0;while(1){if(!e)break;w=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;t=e+16|0;s=a[t>>2]|0;if(!o?(a[s+8>>2]|0)!=0:0){D=(a[v>>2]|0)+16|0;g=s+16|0;a[Q>>2]=a[D>>2];a[Q+4>>2]=a[D+4>>2];a[Q+8>>2]=a[D+8>>2];a[Q+12>>2]=a[D+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];Yp(L,Q,m);w=(a[w+16>>2]|0)+16|0;g=(a[t>>2]|0)+56|0;a[Q>>2]=a[w>>2];a[Q+4>>2]=a[w+4>>2];a[Q+8>>2]=a[w+8>>2];a[Q+12>>2]=a[w+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];Yp(W,Q,m);a[Q>>2]=a[L>>2];a[Q+4>>2]=a[L+4>>2];a[Q+8>>2]=a[L+8>>2];a[Q+12>>2]=a[L+12>>2];a[m>>2]=a[W>>2];a[m+4>>2]=a[W+4>>2];a[m+8>>2]=a[W+8>>2];a[m+12>>2]=a[W+12>>2];HX(A,e,Q,m)}else y=35;A:do{if((y|0)==35){y=0;D=f[s+168>>1]|0;t=D<<16>>16;if(D<<16>>16){if((u|0)==(w|0)){if(!n){l=qF(96)|0;a[l+84>>2]=qF(((vh(A)|0)<<5)+11520|0)|0;n=l}Gp(n,e,a[(a[(a[h>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!E){rN(A,e,i,17792);break}t=r[194954]|0?1:t;s=e;w=0;while(1){if((w|0)>=(t|0))break A;if(B)Dp(A,s,G,d,1);else Xp(A,s);s=a[(a[s+16>>2]|0)+172>>2]|0;w=w+1|0}}}}while(0);e=_o(A,e)|0}u=bd(A,u)|0}if(E)zt(Z);if(n|0){L2(a[n+84>>2]|0);L2(l)}if(C){n=0;while(1){if((n|0)>=(d|0))break;L2(a[G+(n<<2)>>2]|0);n=n+1|0}L2(I)}k=z;return 0}function Xp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;b=k;k=k+96|0;n=b+64|0;f=b+48|0;i=b+40|0;l=b+80|0;r=b+32|0;t=b+16|0;c=b;s=(a[e+16>>2]|0)+144|0;w=a[s>>2]|0;s=a[s+4>>2]|0;u=r;a[u>>2]=w;a[u+4>>2]=s;u=w;a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];s=w+(s+-1<<4)|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];Gc(n,l);if(0>1){u=a[15712]|0;s=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;r=e+-48|0;w=Vh(a[((a[e>>2]&3|0)==2?e:r)+40>>2]|0)|0;a[i>>2]=s;a[i+4>>2]=w;f3(u,89981,i)|0;i=r;r=e}else{i=e+-48|0;r=e}gX(e,a[((a[r>>2]&3|0)==2?e:i)+40>>2]|0,a[l>>2]|0,a[l+4>>2]|0,17792);a[f>>2]=a[t>>2];a[f+4>>2]=a[t+4>>2];a[f+8>>2]=a[t+8>>2];a[f+12>>2]=a[t+12>>2];a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];HX(A,e,f,n);k=b;return}function Rp(A,e){A=A|0;e=e|0;var i=0;i=f[(a[A+16>>2]|0)+136>>1]&14;if(e<<24>>24)Hp(A)|0;if(i<<16>>16)Jp(A,i&65535)|0;return}function Hp(A){A=A|0;var e=0,i=0,r=0,f=0;i=pp(A)|0;e=cd(A)|0;while(1){if(!e)break;r=a[e+16>>2]|0;f=a[r+132>>2]|0;b[r+16>>3]=+b[f>>3]*72.0;b[r+24>>3]=+b[f+8>>3]*72.0;e=bd(A,e)|0}return i|0}function pp(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0,l=0.0,t=0,c=0;A:do{if((a[A+60>>2]|0)==(A|0)?(i=A+16|0,r=a[i>>2]|0,(a[(a[r+8>>2]|0)+84>>2]|0)!=0):0){if(!(+b[r+16>>3]!=0.0)?!(+b[r+24>>3]!=0.0):0)e=0;else{Up(A);e=1;r=a[i>>2]|0}t=(a[r+116>>2]&1|0)==0;if(!t){c=r+32|0;l=+b[c>>3];i=r+40|0;b[c>>3]=+b[i>>3];b[i>>3]=l}i=a[r+8>>2]|0;e:do{switch(a[i+84>>2]|0){case 2:{f=+b[i+64>>3];if(f<=0.0)break A;n=f/+b[r+32>>3];f=+b[i+72>>3]/+b[r+40>>3];if(n<1.0|f<1.0)if(n>3];if(f<=0.0)break A;n=f/+b[r+32>>3];f=+b[i+72>>3]/+b[r+40>>3];if(!(n>1.0&f>1.0))break A;f=n>3];f=+b[r+40>>3]/+b[r+32>>3];if(f1){i=cd(A)|0;while(1){if(!i)break e;e=Oo(A,i)|0;while(1){if(!e)break;if(a[(a[e+16>>2]|0)+8>>2]|0)xp(e,f,n);e=_o(A,e)|0}i=bd(A,i)|0}}}while(0);e=cd(A)|0;while(1){if(!e)break;c=a[(a[e+16>>2]|0)+132>>2]|0;b[c>>3]=+b[c>>3]*f;c=c+8|0;b[c>>3]=+b[c>>3]*n;e=bd(A,e)|0}Tp(A,f,n);e=1}else e=0}while(0);return e|0}function Up(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w+16|0;s=w;e=(a[A+16>>2]|0)+16|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];f=+b[s>>3];n=f*.013888888888888888;l=+b[s+8>>3];t=l*.013888888888888888;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;u=a[i+132>>2]|0;b[u>>3]=+b[u>>3]-n;u=u+8|0;b[u>>3]=+b[u>>3]-t;i=a[i+108>>2]|0;if(i|0?r[i+81>>0]|0:0){u=i+56|0;b[u>>3]=+b[u>>3]-f;u=i+64|0;b[u>>3]=+b[u>>3]-l}e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;if(a[(a[e+16>>2]|0)+8>>2]|0){a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];jp(e,c)}e=_o(A,e)|0}i=bd(A,i)|0}a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];Sp(A,c);k=w;return}function xp(A,e,i){A=A|0;e=+e;i=+i;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0;o=a[A>>2]&3;l=a[(a[(a[((o|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;B=(e+-1.0)*72.0;h=B*+b[l>>3];v=(i+-1.0)*72.0;d=v*+b[l+8>>3];o=a[(a[(a[((o|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;B=B*+b[o>>3];v=v*+b[o+8>>3];o=a[A+16>>2]|0;l=a[o+8>>2]|0;t=a[l+4>>2]|0;c=t+-1|0;A=0;l=a[l>>2]|0;while(1){if((A|0)>=(t|0))break;s=a[l+4>>2]|0;w=s+-1|0;u=(A|0)==(c|0);f=0;n=a[l>>2]|0;while(1){if((f|0)>=(s|0))break;do{if(f|A){k=+b[n>>3];if((f|0)==(w|0)&u){b[n>>3]=k+h;g=n+8|0;b[g>>3]=+b[g>>3]+d;break}else{b[n>>3]=k*e;g=n+8|0;b[g>>3]=+b[g>>3]*i;break}}else{b[n>>3]=+b[n>>3]+B;g=n+8|0;b[g>>3]=+b[g>>3]+v}}while(0);f=f+1|0;n=n+16|0}if(a[l+8>>2]|0){g=l+16|0;b[g>>3]=+b[g>>3]+B;g=l+24|0;b[g>>3]=+b[g>>3]+v}if(a[l+12>>2]|0){g=l+32|0;b[g>>3]=+b[g>>3]+h;g=l+40|0;b[g>>3]=+b[g>>3]+d}A=A+1|0;l=l+48|0}A=a[o+96>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]*e;g=A+64|0;b[g>>3]=+b[g>>3]*i}A=a[o+100>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]+h;g=A+64|0;b[g>>3]=+b[g>>3]+d}A=a[o+104>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]+B;g=A+64|0;b[g>>3]=+b[g>>3]+v}return}function Tp(A,e,i){A=A|0;e=+e;i=+i;var f=0,n=0,l=0;l=A+16|0;n=a[l>>2]|0;A=n+32|0;b[A>>3]=+b[A>>3]*e;A=n+40|0;b[A>>3]=+b[A>>3]*i;A=n+16|0;b[A>>3]=+b[A>>3]*e;A=n+24|0;b[A>>3]=+b[A>>3]*i;A=a[n+12>>2]|0;if((A|0)!=0?(r[A+81>>0]|0)!=0:0){f=A+56|0;b[f>>3]=+b[f>>3]*e;f=A+64|0;b[f>>3]=+b[f>>3]*i;f=1;A=n}else{f=1;A=n}while(1){if((f|0)>(a[A+180>>2]|0))break;Tp(a[(a[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=a[l>>2]|0}return}function jp(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;c=a[A+16>>2]|0;A=a[c+8>>2]|0;t=a[A+4>>2]|0;s=e+8|0;A=a[A>>2]|0;n=0;while(1){if((n|0)>=(t|0))break;l=a[A+4>>2]|0;i=a[A>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;b[i>>3]=+b[i>>3]-+b[e>>3];w=i+8|0;b[w>>3]=+b[w>>3]-+b[s>>3];i=i+16|0;f=f+1|0}if(a[A+8>>2]|0){w=A+16|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+24|0;b[w>>3]=+b[w>>3]-+b[s>>3]}if(a[A+12>>2]|0){w=A+32|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+40|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=A+48|0;n=n+1|0}A=a[c+96>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+108>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+100>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+104>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}return}function Sp(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0;c=k;k=k+16|0;t=c;n=+b[e>>3];l=A+16|0;A=a[l>>2]|0;i=A+32|0;b[i>>3]=+b[i>>3]-n;f=+b[e+8>>3];i=A+40|0;b[i>>3]=+b[i>>3]-f;i=A+16|0;b[i>>3]=+b[i>>3]-n;i=A+24|0;b[i>>3]=+b[i>>3]-f;i=a[A+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){s=i+56|0;b[s>>3]=+b[s>>3]-n;i=i+64|0;b[i>>3]=+b[i>>3]-f;i=1}else i=1;while(1){if((i|0)>(a[A+180>>2]|0))break;s=a[(a[A+184>>2]|0)+(i<<2)>>2]|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];Sp(s,t);i=i+1|0;A=a[l>>2]|0}k=c;return}function Pp(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0,l=0,t=0;l=k;k=k+16|0;i=l;xR(A);r=A+16|0;e=a[r>>2]|0;f=+b[e+16>>3]*.013888888888888888;n=+b[e+24>>3]*.013888888888888888;e=cd(A)|0;while(1){if(!e)break;t=a[(a[e+16>>2]|0)+132>>2]|0;b[t>>3]=+b[t>>3]-f;t=t+8|0;b[t>>3]=+b[t>>3]-n;e=bd(A,e)|0}t=(a[r>>2]|0)+16|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];Op(A,i);Rp(A,1);k=l;return}function Op(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0.0,t=0.0;n=k;k=k+16|0;f=n;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[(a[r+184>>2]|0)+(A<<2)>>2]|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Op(r,f);A=A+1|0}t=+b[e>>3];f=r+32|0;b[f>>3]=+b[f>>3]-t;l=+b[e+8>>3];e=r+40|0;b[e>>3]=+b[e>>3]-l;e=r+16|0;b[e>>3]=+b[e>>3]-t;e=r+24|0;b[e>>3]=+b[e>>3]-l;k=n;return}function Kp(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0;o=(i|0)>2;u=0;k=0;t=a[f+4>>2]|0;A=a[f>>2]|0;while(1){if((k|0)>=(e|0)){A=0;break}l=a[(a[n+(k<<2)>>2]|0)+16>>2]|0;s=r[l+119>>0]|0;A:do{if(!(s<<24>>24)){c=A+8|0;b[A>>3]=+c8();l=t+8|0;b[t>>3]=+c8();if(o){A=2;while(1){if((A|0)==(i|0)){t=u;A=c;break A}h=+c8();b[(a[f+(A<<2)>>2]|0)+(k<<3)>>3]=h;A=A+1|0}}else{t=u;A=c}}else{c=a[l+132>>2]|0;w=A+8|0;b[A>>3]=+b[c>>3];l=t+8|0;b[t>>3]=+b[c+8>>3];e:do{if(o){t=2;A=c+16|0;while(1){if((t|0)==(i|0))break e;b[(a[f+(t<<2)>>2]|0)+(k<<3)>>3]=+b[A>>3];t=t+1|0;A=A+8|0}}}while(0);t=(s&255)>1?1:u;A=w}}while(0);u=t;k=k+1|0;t=l}while(1){if((A|0)>=(i|0))break;gO(e,a[f+(A<<2)>>2]|0);A=A+1|0}return u|0}function _p(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0.0,w=0,u=0,k=0,o=0;i=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;u=tU(e,e,0.0)|0;k=tU(e,e,0.0)|0;A:do{if(!(a[A+8>>2]|0)){r=0;while(1){if((r|0)>=(e|0))break A;n=a[A+(r*20|0)>>2]|0;l=A+(r*20|0)+4|0;t=u+(r<<2)|0;f=1;while(1){if((f|0)>=(n|0))break;w=a[(a[l>>2]|0)+(f<<2)>>2]|0;b[(a[u+(w<<2)>>2]|0)+(r<<3)>>3]=-1.0;b[(a[t>>2]|0)+(w<<3)>>3]=-1.0;f=f+1|0}r=r+1|0}}else{r=0;while(1){if((r|0)>=(e|0))break A;n=a[A+(r*20|0)>>2]|0;l=A+(r*20|0)+4|0;t=A+(r*20|0)+8|0;w=u+(r<<2)|0;f=1;while(1){if((f|0)>=(n|0))break;o=a[(a[l>>2]|0)+(f<<2)>>2]|0;s=-1.0/+c[(a[t>>2]|0)+(f<<2)>>2];b[(a[u+(o<<2)>>2]|0)+(r<<3)>>3]=s;b[(a[w>>2]|0)+(o<<3)>>3]=s;f=f+1|0}r=r+1|0}}}while(0);A:do{if(!(cS(e,u,k)|0)){L2(i);i=0}else{f=0;l=0;w=e;while(1){if((l|0)>=(e|0))break A;t=k+(l<<2)|0;r=l;n=f;while(1){if((r|0)==(e|0))break;if((l|0)==(r|0))s=0.0;else{o=a[t>>2]|0;s=+b[(a[k+(r<<2)>>2]|0)+(r<<3)>>3]+ +b[o+(l<<3)>>3]+ +b[o+(r<<3)>>3]*-2.0}c[i+(n<<2)>>2]=s;r=r+1|0;n=n+1|0}f=f+w|0;l=l+1|0;w=w+-1|0}}}while(0);cU(u);cU(k);return i|0}function qp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+16|0;h=d;if(a[A+8>>2]|0){i=$p(A,e)|0;f=0.0;r=0;o=0;while(1){if((o|0)>=(e|0))break;r=r+o|0;u=a[A+(o*20|0)>>2]|0;t=A+(o*20|0)+4|0;s=(U(o,e)|0)-r|0;w=A+(o*20|0)+8|0;l=1;while(1){if((l|0)>=(u|0))break;n=a[(a[t>>2]|0)+(l<<2)>>2]|0;if((n|0)>=(o|0)){n=i+(s+n<<2)|0;B=+c[(a[w>>2]|0)+(l<<2)>>2];f=f+ +y(+(+c[n>>2]-B));c[n>>2]=B}l=l+1|0}o=o+1|0}if(0){e=a[15712]|0;b[h>>3]=f;f3(e,89997,h)|0}}else i=0;k=d;return i|0}function $p(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;l=s;t=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;c=qF(e<<2)|0;lS(l,e);i=0;f=0;b=e;while(1){if((i|0)>=(e|0))break;PS(i,A,e,c);r=i;n=f;while(1){if((r|0)==(e|0))break;a[t+(n<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0;n=n+1|0}i=i+1|0;f=f+b|0;b=b+-1|0}L2(c);tS(l);k=s;return t|0}function AU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0;w=k;k=k+16|0;l=w;t=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;b=qF(e<<2)|0;lS(l,e);i=0;f=0;s=e;while(1){if((i|0)>=(e|0))break;rS(i,A,e,b,l);r=i;n=f;while(1){if((r|0)==(e|0))break;c[t+(n<<2)>>2]=+(a[b+(r<<2)>>2]|0);r=r+1|0;n=n+1|0}i=i+1|0;f=f+s|0;s=s+-1|0}L2(b);tS(l);k=w;return t|0}function eU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0;d=A+8|0;i=a[d>>2]|0;r=0;f=0;while(1){if((f|0)>=(e|0))break;r=(a[A+(f*20|0)>>2]|0)+r|0;f=f+1|0}f=qF(r<<2)|0;h=qF(e<<2)|0;r=0;while(1){if((r|0)>=(e|0))break;a[h+(r<<2)>>2]=0;r=r+1|0}if(!(a[d>>2]|0)){n=0;while(1){if((n|0)>=(e|0))break;a[A+(n*20|0)+8>>2]=f;NP(A,n,h);l=A+(n*20|0)|0;t=a[l>>2]|0;b=A+(n*20|0)+4|0;s=+(t+-1|0);r=1;while(1){if((r|0)>=(t|0))break;o=a[(a[b>>2]|0)+(r<<2)>>2]|0;B=+((a[A+(o*20|0)>>2]|0)+-1|0)+s;c[f+(r<<2)>>2]=B-+((JP(A,n,o,h)|0)<<1|0);r=r+1|0}XP(A,n,h);f=f+(a[l>>2]<<2)|0;n=n+1|0}f=AU(A,e)|0}else{t=0;while(1){if((t|0)>=(e|0))break;NP(A,t,h);b=A+(t*20|0)|0;w=a[b>>2]|0;u=A+(t*20|0)+4|0;k=w+-2|0;o=A+(t*20|0)+8|0;l=1;while(1){if((l|0)>=(w|0))break;r=a[(a[u>>2]|0)+(l<<2)>>2]|0;n=k+(a[A+(r*20|0)>>2]|0)|0;B=+(n-((JP(A,t,r,h)|0)<<1)|0);s=+c[(a[o>>2]|0)+(l<<2)>>2];if(s>2]=s;l=l+1|0}XP(A,t,h);a[o>>2]=f;f=f+(a[b>>2]<<2)|0;t=t+1|0}f=$p(A,e)|0}L2(h);L2(a[d>>2]|0);a[d>>2]=0;A:do{if(i|0){r=0;while(1){if((r|0)>=(e|0))break A;a[A+(r*20|0)+8>>2]=i;i=i+(a[A+(r*20|0)>>2]<<2)|0;r=r+1|0}}}while(0);return f|0}function iU(A,e,i,r,f,l,t,s,w){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;t=t|0;s=s|0;w=w|0;var u=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0,R=0.0;N=k;k=k+80|0;J=N+56|0;V=N+48|0;Q=N+40|0;g=N+32|0;v=N+24|0;B=N+16|0;o=N+8|0;u=N;h=t&4;F=t&3;A:do{if((w|0)<0)i=0;else{if(0)tR();t=(s|0)==2;e:do{if(t){if(0)L3(93290,24,1,a[15712]|0)|0;i=eU(A,e)|0;C=14}else{switch(s|0){case 1:{i=_p(A,e)|0;if(i|0){M=i;break e}ao(0,93315,u)|0;ao(3,93364,o)|0;C=15;break e}case 3:break;default:{C=15;break e}}if(0)L3(93417,21,1,a[15712]|0)|0;i=qp(A,e)|0;C=14}}while(0);if((C|0)==14)if(!i)C=15;else M=i;do{if((C|0)==15){if(0)L3(93439,26,1,a[15712]|0)|0;if(!(a[A+8>>2]|0)){M=AU(A,e)|0;break}else{M=$p(A,e)|0;break}}}while(0);if(0){D=a[15712]|0;b[B>>3]=+cR();f3(D,93466,B)|0;L3(93478,25,1,D)|0;tR()}e:do{if((e|0)>1&(h|0)!=0)if((rU(A,e,r,l,h,F,t&1)|0)<0){g=0;v=0;i=-1;A=0;B=0;h=0;o=0;u=0;s=0;t=0}else{t=0;while(1){if((t|0)>=(l|0)){Z=0;C=35;break e}s=r+(t<<2)|0;d=1.0;i=0;while(1){if((i|0)==(e|0))break;I=+y(+ +b[(a[s>>2]|0)+(i<<3)>>3]);d=I>d?I:d;i=i+1|0}d=1.0/d;i=0;while(1){if((i|0)==(e|0)){i=0;break}D=(a[s>>2]|0)+(i<<3)|0;b[D>>3]=+b[D>>3]*d;i=i+1|0}while(1){if((i|0)==(e|0))break;I=(+c8()+-.5)*1.0e-06;D=(a[s>>2]|0)+(i<<3)|0;b[D>>3]=+b[D>>3]+I;i=i+1|0}gO(e,a[s>>2]|0);t=t+1|0}}else{Z=Kp(0,e,l,r,f)|0;C=35}}while(0);e:do{if((C|0)==35){if(0){D=a[15712]|0;b[v>>3]=+cR();f3(D,93504,v)|0}if((e|0)==1|(w|0)==0){i=0;break A}if(0){D=a[15712]|0;b[g>>3]=+cR();f3(D,93466,g)|0;L3(90019,26,1,D)|0;tR()}B=l<<2;D=qF(B)|0;v=e<<2;A=U(v,l)|0;Y=qF(A)|0;i=0;while(1){if((i|0)>=(l|0))break;s=Y+((U(i,e)|0)<<2)|0;a[D+(i<<2)>>2]=s;u=r+(i<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;c[s+(t<<2)>>2]=+b[(a[u>>2]|0)+(t<<3)>>3];t=t+1|0}i=i+1|0}i:do{if(!F){o=e+-1|0;i=0;d=0.0;u=0;while(1){if((u|0)>=(o|0))break i;h=e-u|0;s=i;t=1;while(1){i=s+1|0;if((t|0)>=(h|0))break;s=i;d=+c[M+(i<<2)>>2]+d;t=t+1|0}u=u+1|0}}else d=+(e|0)*.5*+(e+-1|0)}while(0);m=(U(e+1|0,e)|0)/2|0;L=(F|0)==2;if(L)pO(m,M);UO(m,M);W=e<<3;s=qF(W)|0;Y6(s|0,0,W|0)|0;z=e+-1|0;i=0;u=0;while(1){if((u|0)>=(z|0)){i=e;t=0;u=0;break}o=e-u|0;E=0.0;t=1;while(1){i=i+1|0;if((t|0)>=(o|0))break;I=+c[M+(i<<2)>>2];G=s+(t+u<<3)|0;b[G>>3]=+b[G>>3]-I;E=E+I;t=t+1|0}G=s+(u<<3)|0;b[G>>3]=+b[G>>3]-E;u=u+1|0}while(1){if((t|0)>=(e|0))break;c[M+(u<<2)>>2]=+b[s+(t<<3)>>3];G=i+u|0;i=i+-1|0;t=t+1|0;u=G}G=qF(B)|0;a[G>>2]=qF(A)|0;i=1;while(1){if((i|0)>=(l|0))break;a[G+(i<<2)>>2]=(a[G>>2]|0)+((U(i,e)|0)<<2);i=i+1|0}o=qF(v)|0;u=qF(v)|0;t=qF(m<<2)|0;if(0){C=a[15712]|0;b[Q>>3]=+cR();f3(C,93466,Q)|0;L3(90046,15,1,C)|0;tR()}C=(Z|0)==0;Z=a[15712]|0;i=0;h=0;I=1797693134862315708145274.0e284;while(1){if(!(h<<24>>24==0&(i|0)<(w|0)))break;Y6(s|0,0,W|0)|0;if(L){xO(m,M,t);g=0;A=0}else{g=0;A=0}while(1){if((g|0)>=(z|0)){h=e;B=0;A=0;break}v=e-g+-1|0;RO(v,0.0,u);h=0;while(1){if((h|0)>=(l|0))break;Q=D+(h<<2)|0;RO(v,+c[(a[Q>>2]|0)+(g<<2)>>2],o);FO(v,o,-1.0,(a[Q>>2]|0)+(g<<2)+4|0);pO(v,o);MO(v,o,u,u);h=h+1|0}TO(v,u);h=0;while(1){if((h|0)>=(v|0))break;B=u+(h<<2)|0;E=+c[B>>2];if(E>=3402823466385288598117041.0e14|E<0.0)c[B>>2]=0.0;h=h+1|0}h=A+1|0;A=g+1|0;i:do{if(L){E=0.0;B=0;while(1){if((B|0)>=(v|0))break i;Q=t+(h<<2)|0;X=+c[Q>>2]*+c[u+(B<<2)>>2];c[Q>>2]=X;Q=s+(A+B<<3)|0;b[Q>>3]=+b[Q>>3]-X;E=E+X;h=h+1|0;B=B+1|0}}else{E=0.0;B=0;while(1){if((B|0)>=(v|0))break i;X=+c[u+(B<<2)>>2];c[t+(h<<2)>>2]=X;Q=s+(A+B<<3)|0;b[Q>>3]=+b[Q>>3]-X;E=E+X;h=h+1|0;B=B+1|0}}}while(0);Q=s+(g<<3)|0;b[Q>>3]=+b[Q>>3]-E;g=A;A=h}while(1){if((B|0)>=(e|0)){h=0;break}c[t+(A<<2)>>2]=+b[s+(B<<3)>>3];Q=h+A|0;h=h+-1|0;B=B+1|0;A=Q}while(1){if((h|0)>=(l|0)){E=0.0;h=0;break}YO(t,e,a[D+(h<<2)>>2]|0,a[G+(h<<2)>>2]|0);h=h+1|0}while(1){if((h|0)>=(l|0))break;E=+NO(e,a[D+(h<<2)>>2]|0,a[G+(h<<2)>>2]|0)+E;h=h+1|0}E=E*2.0+d;h=0;while(1){if((h|0)>=(l|0))break;Q=D+(h<<2)|0;YO(M,e,a[Q>>2]|0,o);E=E-+NO(e,a[Q>>2]|0,o);h=h+1|0}R=I-E;X=+b[23294];h=(E=0.0?R:-R)/I=(l|0))break;v=D+(A<<2)|0;B=a[v>>2]|0;i:do{if(C){if((uS(M,B,a[G+(A<<2)>>2]|0,e,.001,e)|0)<0){g=G;v=M;i=-1;A=Y;B=D;h=G;break e}}else{JO(e,B,o);if((uS(M,o,a[G+(A<<2)>>2]|0,e,.001,e)|0)<0){g=G;v=M;i=-1;A=Y;B=D;h=G;break e}else B=0;while(1){if((B|0)>=(e|0))break i;if((n[(a[(a[f+(B<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)a[(a[v>>2]|0)+(B<<2)>>2]=a[o+(B<<2)>>2];B=B+1|0}}}while(0);A=A+1|0}if(((i|0)%5|0|0)==0&0!=0?(b[V>>3]=E,f3(Z,90371,V)|0,((i+5|0)%50|0|0)==0):0)w6(10,Z)|0;i=i+1|0;I=E}if(!0)h=0;else{X=+fU(D,M,l,e,F);R=+cR();b[J>>3]=X;a[J+8>>2]=i;b[J+16>>3]=R;f3(Z,90062,J)|0;h=0}while(1){if((h|0)>=(l|0)){g=G;v=M;A=Y;B=D;h=G;break e}A=D+(h<<2)|0;v=r+(h<<2)|0;B=0;while(1){if((B|0)>=(e|0))break;b[(a[v>>2]|0)+(B<<3)>>3]=+c[(a[A>>2]|0)+(B<<2)>>2];B=B+1|0}h=h+1|0}}}while(0);L2(A);L2(B);L2(v);if(g|0){L2(a[g>>2]|0);L2(h)}L2(o);L2(u);L2(s);L2(t)}}while(0);k=N;return i|0}function rU(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var s=0,w=0,u=0,o=0.0,h=0,d=0,B=0.0,v=0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+32|0;u=p+24|0;H=p+8|0;D=p+4|0;X=p;N=(e|0)<50?e:50;R=$F(N<<2)|0;Y=e<<3;w=$F(U(Y,N)|0)|0;s=0;while(1){if((s|0)>=(N|0))break;a[R+(s<<2)>>2]=w+((U(s,e)|0)<<3);s=s+1|0}W=N<<1;W=(W|0)>50?W:50;W=(W|0)>(e|0)?e:W;a[u>>2]=0;fP(A,e,W,u,t);aP(a[u>>2]|0,e,W);$O(a[u>>2]|0,W,e,R,N);L2(a[a[u>>2]>>2]|0);L2(a[u>>2]|0);W=e<<2;J=$F(W)|0;s=0;while(1){if((s|0)>=(e|0))break;a[J+(s<<2)>>2]=-1;s=s+1|0}lS(H,e);F=a[A+8>>2]|0;M=(t|0)!=0;if(M)xP(A,e);m=$F(W)|0;V=$F(160)|0;w=$F(e*160|0)|0;L=$F(160)|0;s=0;while(1){if((s|0)==40)break;a[L+(s<<2)>>2]=w+((U(s,e)|0)<<2);s=s+1|0}s=(a8()|0)%(e|0)|0;a[J+(s<<2)>>2]=0;a[V>>2]=s;w=a[L>>2]|0;if(M){pS(s,A,e,w);w=0;u=0}else{rS(s,A,e,w,H);w=0;u=0}while(1){if((u|0)>=(e|0)){d=1;break}z=a[(a[L>>2]|0)+(u<<2)>>2]|0;a[m+(u<<2)>>2]=z;Q=(z|0)>(w|0);s=Q?u:s;w=Q?z:w;u=u+1|0}while(1){if((d|0)==40){s=0;break}a[J+(s<<2)>>2]=d;a[V+(d<<2)>>2]=s;v=L+(d<<2)|0;w=a[v>>2]|0;if(M){pS(s,A,e,w);h=0;w=0}else{rS(s,A,e,w,H);h=0;w=0}while(1){if((h|0)>=(e|0))break;u=m+(h<<2)|0;z=a[u>>2]|0;t=a[(a[v>>2]|0)+(h<<2)>>2]|0;t=(z|0)<(t|0)?z:t;a[u>>2]=t;if((t|0)<=(w|0)){if((t|0)==(w|0)?((a8()|0)%(h+1|0)|0|0)==0:0){w=a[u>>2]|0;s=h}}else{w=t;s=h}h=h+1|0}d=d+1|0}while(1){if((s|0)>=(e|0))break;a[m+(s<<2)>>2]=-1;s=s+1|0}C=$F(W)|0;z=$F(e<<4)|0;I=e+-1|0;Z=I<<2;Q=0;u=0;t=0;w=0;G=0;while(1){if((G|0)>=(e|0))break;s=J+(G<<2)|0;A:do{if((a[s>>2]|0)>-1){v=z+(G<<4)+4|0;a[v>>2]=$F(Z)|0;E=$F(Z)|0;a[z+(G<<4)+8>>2]=E;a[z+(G<<4)>>2]=I;r[z+(G<<4)+12>>0]=1;d=L+(a[s>>2]<<2)|0;s=0;while(1){if((s|0)==(G|0)){h=G;break}a[(a[v>>2]|0)+(s<<2)>>2]=s;a[E+(s<<2)>>2]=a[(a[d>>2]|0)+(s<<2)>>2];s=s+1|0}while(1){s=h+1|0;if((h|0)==(I|0)){s=I;break A}a[(a[v>>2]|0)+(h<<2)>>2]=s;a[E+(h<<2)>>2]=a[(a[d>>2]|0)+(s<<2)>>2];h=s}}else{if((w|0)<40){t=$F(W)|0;u=$F(W)|0;w=e;s=1}else s=0;r[z+(G<<4)+12>>0]=s;a[z+(G<<4)+4>>2]=t;a[z+(G<<4)+8>>2]=u;a[z+(G<<4)>>2]=40;s=0;while(1){if((s|0)==40)break;a[t+(s<<2)>>2]=a[V+(s<<2)>>2];a[u+(s<<2)>>2]=a[(a[L+(s<<2)>>2]|0)+(G<<2)>>2];s=s+1|0}u=u+160|0;t=t+160|0;w=w+-40|0;s=40}}while(0);Q=s+Q|0;G=G+1|0}L2(m);L2(C);if(L|0){L2(a[L>>2]|0);L2(L)}L=$F(e*20|0)|0;h=Q+e<<2;d=$F(h)|0;E=(l|0)==2;h=$F(h)|0;v=0;while(1){if((v|0)>=(e|0))break;a[L+(v*20|0)+4>>2]=d;a[L+(v*20|0)+8>>2]=h;s=(a[z+(v<<4)>>2]|0)+1|0;C=L+(v*20|0)|0;a[C>>2]=s;u=(a[z+(v<<4)+8>>2]|0)+-4|0;t=z+(v<<4)+4|0;A:do{if(E){o=0.0;w=1;while(1){if((w|0)>=(s|0))break A;a[d+(w<<2)>>2]=a[(a[t>>2]|0)+(w+-1<<2)>>2];g=+(a[u+(w<<2)>>2]|0);g=-1.0/(g*g);c[h+(w<<2)>>2]=g;o=o-g;w=w+1|0;s=a[C>>2]|0}}else{o=0.0;w=1;while(1){if((w|0)>=(s|0))break A;a[d+(w<<2)>>2]=a[(a[t>>2]|0)+(w+-1<<2)>>2];g=-1.0/+(a[u+(w<<2)>>2]|0);c[h+(w<<2)>>2]=g;o=o-g;w=w+1|0;s=a[C>>2]|0}}}while(0);a[d>>2]=v;c[h>>2]=o;W=a[C>>2]|0;h=h+(W<<2)|0;d=d+(W<<2)|0;v=v+1|0}m=$F(f<<2)|0;a[m>>2]=$F(U(f<<3,N)|0)|0;s=1;while(1){if((s|0)>=(f|0))break;a[m+(s<<2)>>2]=(a[m>>2]|0)+((U(s,N)|0)<<3);s=s+1|0}A:do{if(n){s=0;while(1){if((s|0)>=(f|0))break;u=m+(s<<2)|0;w=0;while(1){if((w|0)>=(N|0))break;b[(a[u>>2]|0)+(w<<3)>>3]=0.0;w=w+1|0}s=s+1|0}if((f|0)!=2){s=0;while(1){if((s|0)>=(f|0)){s=0;break A}b[(a[m+(s<<2)>>2]|0)+(s<<3)>>3]=1.0;s=s+1|0}}b[a[m>>2]>>3]=1.0;s=m+4|0;if(!((AK(R,N,e,a[s>>2]|0)|0)<<24>>24)){w=a[s>>2]|0;s=0;while(1){if((s|0)>=(N|0))break;b[w+(s<<3)>>3]=0.0;s=s+1|0}b[w+8>>3]=1.0;s=0}else s=0}else{w=0;while(1){if((w|0)>=(f|0)){s=0;break A}u=m+(w<<2)|0;s=0;while(1){if((s|0)>=(N|0))break;g=+(a8()|0)*4.656612875245797e-10;b[(a[u>>2]|0)+(s<<3)>>3]=g;s=s+1|0}w=w+1|0}}}while(0);while(1){if((s|0)>=(f|0))break;yO(R,e,N,a[m+(s<<2)>>2]|0,a[i+(s<<2)>>2]|0);s=s+1|0}a[D>>2]=0;a[X>>2]=0;vO(L,R,e,N,D);dO(R,a[D>>2]|0,N,e,N,X);L2(a[a[D>>2]>>2]|0);L2(a[D>>2]|0);G=$F(Y)|0;Q=$F(N<<3)|0;s=0;w=0;o=+aU(i,z,f,e,l);A:while(1){if((w|0)<50&s<<24>>24==0)I=0;else break;while(1){if((I|0)>=(f|0))break;Z=i+(I<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;h=G+(u<<3)|0;b[h>>3]=0.0;d=(a[z+(u<<4)+8>>2]|0)+-4|0;v=a[L+(u*20|0)+4>>2]|0;E=a[L+(u*20|0)+8>>2]|0;C=L+(u*20|0)|0;B=0.0;t=1;while(1){if((t|0)>=(a[C>>2]|0))break;s=a[v+(t<<2)>>2]|0;g=+jP(i,f,u,s);if(g>1.0e-30){g=-(+c[E+(t<<2)>>2]*+(a[d+(t<<2)>>2]|0))/g;b[h>>3]=g*+b[(a[Z>>2]|0)+(s<<3)>>3]+ +b[h>>3];B=B-g}t=t+1|0}b[h>>3]=+b[h>>3]+ +b[(a[Z>>2]|0)+(u<<3)>>3]*B;u=u+1|0}hO(R,N,e,G,Q);s=m+(I<<2)|0;if(wS(a[X>>2]|0,a[s>>2]|0,Q,N,.001,N,0)|0){w=-1;break A}yO(R,e,N,a[s>>2]|0,a[Z>>2]|0);I=I+1|0}if(!(w&1)){g=+aU(i,z,f,e,l);o=+y(+(g-o))/(g+1.0e-10);s=o<+b[23294]&1;o=g}else s=0;w=w+1|0}L2(Q);L2(G);if(M){TP(A,e,F);s=0}else s=0;while(1){if((s|0)>=(e|0))break;if(r[z+(s<<4)+12>>0]|0){L2(a[z+(s<<4)+4>>2]|0);L2(a[z+(s<<4)+8>>2]|0)}s=s+1|0}L2(z);L2(a[L+4>>2]|0);L2(a[L+8>>2]|0);L2(L);L2(J);L2(V);L2(a[m>>2]|0);L2(m);s=a[X>>2]|0;if(s|0){L2(a[s>>2]|0);L2(a[X>>2]|0)}L2(a[R>>2]|0);L2(R);tS(H);k=p;return w|0}function fU(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,b=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0;h=r+-1|0;k=(f|0)==2;n=0.0;f=0;w=0;while(1){if((w|0)>=(h|0))break;o=r-w|0;u=1;while(1){f=f+1|0;if((u|0)>=(o|0))break;b=u+w|0;l=0.0;t=0;while(1){if((t|0)>=(i|0))break;d=a[A+(t<<2)>>2]|0;s=+c[d+(w<<2)>>2]-+c[d+(b<<2)>>2];l=l+s*s;t=t+1|0}l=+z(+l);s=+c[e+(f<<2)>>2];if(k){l=1.0/+z(+s)-l;l=l*l}else{l=1.0/s-l;l=l*l}u=u+1|0;n=l*s+n}w=w+1|0}return+n}function aU(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;A:do{if((f|0)==2){n=0.0;s=0;while(1){if((s|0)>=(r|0))break A;u=a[e+(s<<4)>>2]|0;k=e+(s<<4)+4|0;w=e+(s<<4)+8|0;c=0;while(1){if((c|0)>=(u|0))break;t=a[(a[k>>2]|0)+(c<<2)>>2]|0;if((t|0)>(s|0)){l=0.0;f=0;while(1){if((f|0)>=(i|0))break;h=a[A+(f<<2)>>2]|0;o=+b[h+(s<<3)>>3]-+b[h+(t<<3)>>3];l=o*o+l;f=f+1|0}l=+z(+l);o=+(a[(a[w>>2]|0)+(c<<2)>>2]|0);l=o-l;n=l*l/(o*o)+n}c=c+1|0}s=s+1|0}}else{s=0;n=0.0;while(1){if((s|0)>=(r|0))break A;w=a[e+(s<<4)>>2]|0;u=e+(s<<4)+4|0;k=e+(s<<4)+8|0;c=0;while(1){if((c|0)>=(w|0))break;t=a[(a[u>>2]|0)+(c<<2)>>2]|0;if((t|0)>(s|0)){l=0.0;f=0;while(1){if((f|0)>=(i|0))break;h=a[A+(f<<2)>>2]|0;o=+b[h+(s<<3)>>3]-+b[h+(t<<3)>>3];l=o*o+l;f=f+1|0}l=+z(+l);o=+(a[(a[k>>2]|0)+(c<<2)>>2]|0);l=o-l;n=l*l/o+n}c=c+1|0}s=s+1|0}}}while(0);return+n}function nU(A){A=+A;return+(+z(+A)*A)}function lU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0;n=a[47137]|0;r=0.0;f=0;while(1){if((f|0)>=(n|0))break;l=+b[A+(f<<3)>>3]-+b[e+(f<<3)>>3];b[i+(f<<3)>>3]=l;r=l*l+r;f=f+1|0}return+ +z(+r)}function tU(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;l=qF(A<<2)|0;f=0;n=qF(U(A<<3,e)|0)|0;while(1){if((f|0)>=(A|0))break;a[l+(f<<2)>>2]=n;r=0;while(1){if((r|0)>=(e|0))break;b[n+(r<<3)>>3]=i;r=r+1|0}f=f+1|0;n=n+(e<<3)|0}return l|0}function cU(A){A=A|0;if(A|0){L2(a[A>>2]|0);L2(A)}return}function bU(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+16|0;w=vh(A)|0;s=gh(A)|0;c=Yo(A,2,92493,0)|0;A:do{if(!e){b[23294]=+(w|0)*.0001;YF(A,108886,186352);n=po(a[A+60>>2]|0,90100)|0;if(!n)i=.99;else i=+$3(n);b[23296]=i;n=qF((w<<2)+4|0)|0;t=A+16|0;a[(a[t>>2]|0)+152>>2]=n;n=0;i=0.0;l=cd(A)|0;while(1){if(!l)break A;a[(a[(a[t>>2]|0)+152>>2]|0)+(n<<2)>>2]=l;o=a[l+16>>2]|0;a[o+120>>2]=n;a[o+124>>2]=-1;f=+uU(A,l,c)+i;n=n+1|0;i=f;l=bd(A,l)|0}}else{b[23294]=.0001;YF(A,108886,186352);n=0;i=0.0;l=cd(A)|0;while(1){if(!l)break A;a[(a[l+16>>2]|0)+120>>2]=n;f=+uU(A,l,c)+i;n=n+1|0;i=f;l=bd(A,l)|0}}}while(0);n=po(A,90108)|0;if((n|0)!=0?(r[n>>0]|0)!=0:0){i=+b[23294];f=+$3(n);if(!(i>f))i=f}else i=i/+(((s|0)>1?s:1)|0)*+z(+ +(w|0))+1.0;b[23295]=i;if(!(a[47134]|e)){e=tU(w,w,i)|0;o=A+16|0;a[(a[o>>2]|0)+160>>2]=e;e=tU(w,w,1.0)|0;a[(a[o>>2]|0)+164>>2]=e;e=tU(w,a[47137]|0,1.0)|0;a[(a[o>>2]|0)+168>>2]=e;e=kU(w,w,a[47137]|0)|0;a[(a[o>>2]|0)+172>>2]=e}k=u;return w|0}function sU(A,e,i){A|0;e|0;i|0;var r=0,f=0,n=0,l=0,t=0,c=0;0;0;Ah(A,e)|0;A:while(1){if(!c)break;a[c>>2]&3;a[((l|0)==2?c:c+-48|0)+40>>2]|0;a[((l|0)==3?c:c+48|0)+40>>2]|0;do{if((n|0)!=(l|0)){(l|0)==(e|0);if((r|0)!=1){t?n:l;a[i>>2]=f;r+1|0;break}if(!((n|0)==(f|0)&t)?!((n|0)==(e|0)&(l|0)==(f|0)):0){2;break A}else 1}}while(0);eh(A,c,e)|0}return r|0}function wU(A,e,i){A|0;e|0;i|0;var r=0,f=0,n=0,l=0;k;k=k+16|0;l;A+60|0;A:while(1){e:while(1){if(!e)break A;switch(sU(A,e,f)|0){case 0:{5;break e}case 1:{8;break e}default:0}}if((r|0)==5){if((i|0)==(e|0))bd(A,i)|0;Cd(a[n>>2]|0,e)|0;0;continue}else if((r|0)==8){if((i|0)==(e|0))bd(A,i)|0;Cd(a[n>>2]|0,e)|0;a[f>>2]|0;continue}}k=l;return i|0}function uU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0;c=k;k=k+32|0;l=c+8|0;n=c;e=Oo(A,e)|0;r=0.0;while(1){if(!e)break;switch(oU(e,i,n)|0){case 0:{f=+b[n>>3];break}case 2:{a[l>>2]=Vh(A)|0;b[l+8>>3]=1.0;ao(3,90120,l)|0;t=6;break}default:t=6}if((t|0)==6){t=0;b[n>>3]=1.0;f=1.0}b[(a[e+16>>2]|0)+136>>3]=f;e=_o(A,e)|0;r=f+r}k=c;return+r}function kU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0;t=qF((A<<2)+4|0)|0;c=(e<<2)+4|0;s=i<<3;n=0;while(1){if((n|0)>=(A|0))break;l=t+(n<<2)|0;a[l>>2]=qF(c)|0;f=0;while(1){if((f|0)>=(e|0))break;r=qF(s)|0;a[(a[l>>2]|0)+(f<<2)>>2]=r;r=0;while(1){if((r|0)>=(i|0))break;b[(a[(a[l>>2]|0)+(f<<2)>>2]|0)+(r<<3)>>3]=0.0;r=r+1|0}f=f+1|0}a[(a[l>>2]|0)+(f<<2)>>2]=0;n=n+1|0}a[t+(n<<2)>>2]=0;return t|0}function oU(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;do{if((e|0)!=0?(f=Uo(A,e)|0,(r[f>>0]|0)!=0):0){a[l>>2]=i;if(((J3(f,101209,l)|0)>=1?(n=+b[i>>3],!(n<0.0)):0)?n!=0.0|(a[47134]|0)!=0:0){A=0;break}a[t>>2]=f;ao(0,90147,t)|0;A=2}else A=1}while(0);k=c;return A|0}function hU(A){A=A|0;return bU(A,0)|0}function dU(A){A=A|0;A=A+16|0;L2(a[(a[A>>2]|0)+152>>2]|0);if(!(a[47134]|0)){cU(a[(a[A>>2]|0)+160>>2]|0);cU(a[(a[A>>2]|0)+164>>2]|0);cU(a[(a[A>>2]|0)+168>>2]|0);BU(a[(a[A>>2]|0)+172>>2]|0);a[(a[A>>2]|0)+172>>2]=0}return}function BU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(A|0){f=0;while(1){n=A+(f<<2)|0;e=a[n>>2]|0;if(!e)break;else r=0;while(1){i=a[e+(r<<2)>>2]|0;if(!i)break;L2(i);r=r+1|0;e=a[n>>2]|0}L2(e);f=f+1|0}L2(A)}return}function vU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+(e|0);e=A+16|0;while(1){if((i|0)>=(a[47137]|0))break;f=+c8()*r;b[(a[(a[e>>2]|0)+132>>2]|0)+(i<<3)>>3]=f;i=i+1|0}return}function gU(A,e){A=A|0;e=e|0;vU(A,e,2);return}function EU(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;r=+(e|0);f=+c8()*r;i=A+16|0;b[a[(a[i>>2]|0)+132>>2]>>3]=f;r=+c8()*r;b[(a[(a[i>>2]|0)+132>>2]|0)+8>>3]=r;if((a[47137]|0)>2)gU(A,e);return}function CU(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if(0)L3(90165,26,1,a[15712]|0)|0;e=ip(A,e,2)|0;A:do{if((e|0)!=1){if(!(a[46797]|e)){ao(0,90192,i)|0;a[46797]=1}i=A+16|0;e=0;while(1){A=a[(a[(a[i>>2]|0)+152>>2]|0)+(e<<2)>>2]|0;if(!A)break A;if(!(r[(a[A+16>>2]|0)+119>>0]|0))EU(A,1);e=e+1|0}}}while(0);k=f;return}function IU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+96|0;o=h+80|0;w=h;if(0){L3(90241,25,1,a[15712]|0)|0;tR()}u=A+16|0;f=a[u>>2]|0;c=a[f+164>>2]|0;f=a[f+160>>2]|0;s=0;while(1){if((s|0)>=(e|0))break;l=f+(s<<2)|0;t=c+(s<<2)|0;r=0;while(1){if((r|0)==(s|0))break;n=+b[(a[l>>2]|0)+(r<<3)>>3];n=1.0/(n*n);i=a[(a[u>>2]|0)+152>>2]|0;i=th(A,a[i+(s<<2)>>2]|0,a[i+(r<<2)>>2]|0,0,0)|0;if(i)n=+b[(a[i+16>>2]|0)+128>>3]*n;b[(a[c+(r<<2)>>2]|0)+(s<<3)>>3]=n;b[(a[t>>2]|0)+(r<<3)>>3]=n;r=r+1|0}s=s+1|0}A=a[47137]|0;r=0;while(1){if((r|0)<(e|0))i=0;else break;while(1){if((i|0)>=(A|0))break;b[(a[(a[(a[u>>2]|0)+168>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=0.0;i=i+1|0}r=r+1|0}l=0;while(1){i=a[(a[(a[u>>2]|0)+152>>2]|0)+(l<<2)>>2]|0;if(!i)break;A=i+16|0;i=0;while(1){if((i|0)>=(e|0))break;A:do{if((l|0)!=(i|0)){n=+lU(a[(a[A>>2]|0)+132>>2]|0,a[(a[(a[(a[(a[u>>2]|0)+152>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+132>>2]|0,w);f=a[47137]|0;n=1.0/n;r=0;while(1){if((r|0)>=(f|0))break A;s=a[u>>2]|0;d=+b[w+(r<<3)>>3];d=(d-+b[(a[(a[s+160>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3]*d*n)*+b[(a[(a[s+164>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3];b[(a[(a[(a[s+172>>2]|0)+(l<<2)>>2]|0)+(i<<2)>>2]|0)+(r<<3)>>3]=d;s=(a[(a[s+168>>2]|0)+(l<<2)>>2]|0)+(r<<3)|0;b[s>>3]=+b[s>>3]+d;r=r+1|0}}}while(0);i=i+1|0}l=l+1|0}if(0){u=a[15712]|0;b[o>>3]=+cR();f3(u,90267,o)|0}k=h;return}function ZU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0;l=k;k=k+32|0;n=l+24|0;f=l+8|0;r=l;t=+b[23294];b[23216]=t*t;while(1){i=GU(A,e)|0;if(!i)break;QU(A,e,i)}if(!0)e=A+16|0;else{i=a[15712]|0;b[r>>3]=+mU(A,e);f3(i,90277,r)|0;e=A+16|0;c=a[(a[e>>2]|0)+156>>2]|0;r=(c|0)==(a[47136]|0)?90291:195059;t=+cR();a[f>>2]=c;a[f+4>>2]=r;b[f+8>>3]=t;f3(i,90293,f)|0}e=a[(a[e>>2]|0)+156>>2]|0;if((e|0)==(a[47136]|0)){c=Vh(A)|0;a[n>>2]=e;a[n+4>>2]=c;ao(0,90320,n)|0}k=l;return}function GU(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+16|0;h=d;u=(a[46799]|0)+1|0;a[46799]=u;A=a[A+16>>2]|0;if((a[A+156>>2]|0)<(a[47136]|0)){s=a[47137]|0;w=A+152|0;c=A+168|0;A=0;i=0.0;t=0;while(1){if((t|0)>=(e|0))break;f=a[(a[w>>2]|0)+(t<<2)>>2]|0;if((n[(a[f+16>>2]|0)+119>>0]|0)<=1){l=0.0;r=0;while(1){if((r|0)>=(s|0))break;B=+b[(a[(a[c>>2]|0)+(t<<2)>>2]|0)+(r<<3)>>3];l=B*B+l;r=r+1|0}if(l>i){A=f;i=l}}t=t+1|0}if(!(i<+b[23216])){if(0!=0&((u|0)%100|0|0)==0?(o=a[15712]|0,b[h>>3]=+z(+i),f3(o,90371,h)|0,((a[46799]|0)%1e3|0|0)==0):0)w6(10,o)|0}else A=0}else A=0;k=d;return A|0}function QU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;c=i+16|0;s=a[(a[c>>2]|0)+120>>2]|0;f=a[46798]|0;if(!f){n=a[47137]|0;n=$F(U(n<<3,n)|0)|0}else{n=a[47137]|0;n=eV(f,U(n<<3,n)|0)|0}a[46798]=n;LU(A,e,s,n);l=a[47137]|0;t=A+16|0;f=0;while(1){if((f|0)>=(l|0))break;b[185736+(f<<3)>>3]=-+b[(a[(a[(a[t>>2]|0)+168>>2]|0)+(s<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}VK(n,185816,185736,l);f=0;while(1){if((f|0)>=(a[47137]|0))break;r=+b[23296];r=(1.0-r)*2.0*+c8()+r;l=185816+(f<<3)|0;r=r*+b[l>>3];b[l>>3]=r;l=(a[(a[c>>2]|0)+132>>2]|0)+(f<<3)|0;b[l>>3]=+b[l>>3]+r;f=f+1|0}c=(a[t>>2]|0)+156|0;a[c>>2]=(a[c>>2]|0)+1;WU(A,e,s);if(MR()|0){n=a[47137]|0;r=0.0;f=0;while(1){if((f|0)>=(n|0))break;r=+y(+ +b[185816+(f<<3)>>3])+r;f=f+1|0}r=+z(+r);s=a[15712]|0;a[w>>2]=Vh(i)|0;b[w+8>>3]=r;f3(s,90362,w)|0}k=u;return}function mU(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0.0;h=e+-1|0;u=A+16|0;k=a[47137]|0;n=0;i=0.0;A:while(1){if((n|0)>=(h|0))break;w=a[u>>2]|0;o=a[w+152>>2]|0;t=n+1|0;c=(a[o+(n<<2)>>2]|0)+16|0;s=w+164|0;w=w+160|0;l=t;while(1){if((l|0)>=(e|0)){n=t;continue A}f=(a[o+(l<<2)>>2]|0)+16|0;A=0;r=0.0;while(1){if((A|0)>=(k|0))break;d=+b[(a[(a[c>>2]|0)+132>>2]|0)+(A<<3)>>3]-+b[(a[(a[f>>2]|0)+132>>2]|0)+(A<<3)>>3];A=A+1|0;r=d*d+r}d=+b[(a[(a[w>>2]|0)+(n<<2)>>2]|0)+(l<<3)>>3];d=((+z(+r)*-2.0+d)*d+r)*+b[(a[(a[s>>2]|0)+(n<<2)>>2]|0)+(l<<3)>>3]+i;l=l+1|0;i=d}}return+i}function LU(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+80|0;C=I;E=a[A+16>>2]|0;c=a[E+164>>2]|0;s=a[E+160>>2]|0;E=a[E+152>>2]|0;t=a[E+(i<<2)>>2]|0;n=a[47137]|0;A=0;while(1){if((A|0)>=(n|0))break;l=U(n,A)|0;f=0;while(1){if((f|0)==(n|0))break;b[r+(l+f<<3)>>3]=0.0;f=f+1|0}A=A+1|0}g=a[47137]|0;v=t+16|0;B=c+(i<<2)|0;c=s+(i<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;A:do{if((t|0)!=(i|0)){f=(a[E+(t<<2)>>2]|0)+16|0;d=0.0;A=0;while(1){if((A|0)>=(g|0))break;h=+b[(a[(a[v>>2]|0)+132>>2]|0)+(A<<3)>>3]-+b[(a[(a[f>>2]|0)+132>>2]|0)+(A<<3)>>3];b[C+(A<<3)>>3]=h;d=h*h+d;A=A+1|0}w=1.0/+nU(d);l=0;while(1){if((l|0)>=(g|0))break A;f=(a[B>>2]|0)+(t<<3)|0;n=(a[c>>2]|0)+(t<<3)|0;u=+b[C+(l<<3)>>3];A=0;while(1){o=+b[f>>3];h=+b[n>>3];if((A|0)==(l|0))break;s=r+((U(g,A)|0)+l<<3)|0;b[s>>3]=+b[s>>3]+o*w*h*u*+b[C+(A<<3)>>3];A=A+1|0}s=r+((U(g,l)|0)+l<<3)|0;b[s>>3]=(1.0-h*w*(d-u*u))*o+ +b[s>>3];l=l+1|0}}}while(0);t=t+1|0}f=a[47137]|0;l=1;while(1){if((l|0)>=(f|0))break;n=U(f,l)|0;A=0;while(1){if((A|0)==(l|0))break;b[r+(n+A<<3)>>3]=+b[r+((U(f,A)|0)+l<<3)>>3];A=A+1|0}l=l+1|0}k=I;return}function WU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;s=k;k=k+80|0;c=s;t=A+16|0;f=a[t>>2]|0;n=a[(a[f+152>>2]|0)+(i<<2)>>2]|0;r=a[47137]|0;f=f+168|0;A=0;while(1){if((A|0)>=(r|0))break;b[(a[(a[f>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3]=0.0;A=A+1|0}f=n+16|0;A=0;while(1){if((A|0)>=(e|0))break;A:do{if((A|0)!=(i|0)){l=+lU(a[(a[f>>2]|0)+132>>2]|0,a[(a[(a[(a[(a[t>>2]|0)+152>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+132>>2]|0,c);n=a[47137]|0;l=1.0/l;r=0;while(1){if((r|0)>=(n|0))break A;w=a[t>>2]|0;h=a[w+172>>2]|0;d=(a[(a[h+(i<<2)>>2]|0)+(A<<2)>>2]|0)+(r<<3)|0;u=+b[c+(r<<3)>>3];u=(u-+b[(a[(a[w+160>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3]*u*l)*+b[(a[(a[w+164>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3];b[d>>3]=u;w=a[w+168>>2]|0;B=(a[w+(i<<2)>>2]|0)+(r<<3)|0;b[B>>3]=+b[B>>3]+u;h=(a[(a[h+(A<<2)>>2]|0)+(i<<2)>>2]|0)+(r<<3)|0;u=+b[h>>3];o=-+b[d>>3];b[h>>3]=o;w=(a[w+(A<<2)>>2]|0)+(r<<3)|0;b[w>>3]=o-u+ +b[w>>3];r=r+1|0}}}while(0);A=A+1|0}k=s;return}function yU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;i=A+16|0;n=a[46800]|0;e=a[(a[i>>2]|0)+124>>2]|0;while(1){if((e|0)<=0)break;l=(e+-1|0)/2|0;t=n+(l<<2)|0;r=a[t>>2]|0;f=r+16|0;if(+b[(a[f>>2]|0)+136>>3]<=+b[(a[i>>2]|0)+136>>3])break;a[t>>2]=A;a[(a[i>>2]|0)+124>>2]=l;a[n+(e<<2)>>2]=r;a[(a[f>>2]|0)+124>>2]=e;e=l}return}function zU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;l=A+16|0;t=a[46801]|0;c=a[46800]|0;n=a[(a[l>>2]|0)+124>>2]|0;while(1){r=n<<1|1;if((r|0)>=(t|0))break;i=r+1|0;if((i|0)<(t|0)){f=a[c+(i<<2)>>2]|0;e=a[c+(r<<2)>>2]|0;if(+b[(a[f+16>>2]|0)+136>>3]<+b[(a[e+16>>2]|0)+136>>3]){r=i;e=f}else s=6}else{e=a[c+(r<<2)>>2]|0;s=6}if((s|0)==6)s=0;i=e+16|0;if(+b[(a[l>>2]|0)+136>>3]<=+b[(a[i>>2]|0)+136>>3])break;a[c+(r<<2)>>2]=A;a[(a[l>>2]|0)+124>>2]=r;a[c+(n<<2)>>2]=e;a[(a[i>>2]|0)+124>>2]=n;n=r}return}function YU(A){A=A|0;var e=0,i=0;e=(a[A+16>>2]|0)+124|0;if((a[e>>2]|0)>=0)vA(90377,90397,643,90405);i=a[46801]|0;a[46801]=i+1;a[e>>2]=i;a[(a[46800]|0)+(i<<2)>>2]=A;if((i|0)>0)yU(A);return}function DU(){var A=0,e=0,i=0,r=0;e=a[46801]|0;if(!e)A=0;else{r=a[46800]|0;A=a[r>>2]|0;i=e+-1|0;a[46801]=i;i=a[r+(i<<2)>>2]|0;a[r>>2]=i;a[(a[i+16>>2]|0)+124>>2]=0;if((e|0)>2)zU(i);a[(a[A+16>>2]|0)+124>>2]=-1}return A|0}function MU(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;a[46800]=qF((e<<2)+4|0)|0;if(0){L3(90419,28,1,a[15712]|0)|0;tR()}e=cd(A)|0;while(1){if(!e)break;FU(A,e);e=bd(A,e)|0}if(0){A=a[15712]|0;b[i>>3]=+cR();f3(A,90267,i)|0}L2(a[46800]|0);k=r;return}function FU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0,c=0;r=a[(a[A+16>>2]|0)+152>>2]|0;f=+b[23295];i=0;while(1){n=a[r+(i<<2)>>2]|0;if(!n)break;b[(a[n+16>>2]|0)+136>>3]=f;i=i+1|0}a[46802]=e;c=a[e+16>>2]|0;b[c+136>>3]=0.0;a[c+128>>2]=0;YU(e);A:while(1){c=DU()|0;if(!c)break;i=a[46802]|0;t=c+16|0;if((c|0)!=(i|0))VU(A,i,c,+b[(a[t>>2]|0)+136>>3]);l=Ah(A,c)|0;while(1){if(!l)continue A;i=a[l>>2]&3;e=a[((i|0)==3?l:l+48|0)+40>>2]|0;if((e|0)==(c|0))e=a[((i|0)==2?l:l+-48|0)+40>>2]|0;i=a[t>>2]|0;f=+b[(a[l+16>>2]|0)+136>>3]+ +b[i+136>>3];r=a[e+16>>2]|0;n=r+136|0;do{if(+b[n>>3]>f){b[n>>3]=f;if((a[r+124>>2]|0)>-1){yU(e);break}else{a[r+128>>2]=(a[i+128>>2]|0)+1;YU(e);break}}}while(0);l=eh(A,l,c)|0}}return}function VU(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;e=a[(a[e+16>>2]|0)+120>>2]|0;i=a[(a[i+16>>2]|0)+120>>2]|0;A=a[(a[A+16>>2]|0)+160>>2]|0;b[(a[A+(i<<2)>>2]|0)+(e<<3)>>3]=r;b[(a[A+(e<<2)>>2]|0)+(i<<3)>>3]=r;return}function JU(A){A=A|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;NU(A);return}function NU(A){A=A|0;var e=0,i=0,r=0,f=0;e=vh(A)|0;r=qF(e*56|0)|0;e=qF((e<<2)+4|0)|0;f=A+16|0;a[(a[f>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;RH(e);a[(a[e+16>>2]|0)+112>>2]=r+(i*56|0);a[(a[(a[f>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;e=bd(A,e)|0;i=i+1|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;XU(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function XU(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,0.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function RU(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+80|0;s=g+32|0;l=g+24|0;n=g+16|0;t=g;v=g+72|0;o=g+40|0;if(vh(A)|0){JU(A);f=po(A,95738)|0;if(f)if(r[f>>0]|0){e=vd(A,f,0)|0;if(!e){a[n>>2]=f;ao(0,90448,n)|0;ao(3,90488,l)|0;e=0;B=1}else B=0}else{e=0;B=1}else{e=0;B=0}w=Yo(A,1,95738,0)|0;u=(w|0)!=0;f=po(A,140742)|0;if((f|0?r[f>>0]|0:0)?(c=t+8|0,a[s>>2]=t,a[s+4>>2]=c,(J3(f,105503,s)|0)==1):0)b[c>>3]=+b[t>>3];if(vh(A)|0){s=WE(A,v,0)|0;if((a[v>>2]|0)==1){n=(e|0)!=0;do{if(n)i=e;else{if(u?(i=HU(A,w)|0,i|0):0)break;i=0}}while(0);f=NK(A,i)|0;if(!((i|0)!=0|u^1))Vo(f,w,142463)|0;d=(cd(A)|0)+16|0;L2(a[(a[d>>2]|0)+112>>2]|0);a[(a[d>>2]|0)+112>>2]=0;eS(A)|0;Pp(A);e=(B|0)==0|n?e:f}else{bC(A,2,8,o)|0;a[o+12>>2]=0;c=(B|0)==0;t=0;while(1){if((t|0)>=(a[v>>2]|0))break;n=a[s+(t<<2)>>2]|0;i=(e|0)!=0;if(i?(Dd(n,e)|0)!=0:0)f=e;else d=23;do{if((d|0)==23){d=0;if(u?(h=HU(n,w)|0,h|0):0){f=h;break}f=0}}while(0);VE(n)|0;l=NK(n,f)|0;e=c|i?e:l;if(u?(f|0)==0|(f|0)==(e|0):0)Vo(l,w,142463)|0;eS(n)|0;t=t+1|0}d=(cd(A)|0)+16|0;L2(a[(a[d>>2]|0)+112>>2]|0);a[(a[d>>2]|0)+112>>2]=0;cC(a[v>>2]|0,s,A,o)|0;Pp(A)}i=0;while(1){if((i|0)>=(a[v>>2]|0))break;Cd(A,a[s+(i<<2)>>2]|0)|0;i=i+1|0}L2(s)}if(B|0)xo(A,95738,Vh(e)|0)|0;VJ(A)}k=g;return}function HU(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i){i=0;break}if((gR(Uo(i,e)|0)|0)<<24>>24)break;i=bd(A,i)|0}return i|0}function pU(A){A=A|0;var e=0,i=0;e=cd(A)|0;if(e|0){while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}UU(A)}return}function UU(A){A=A|0;L2(a[(a[A+16>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function xU(A){A=A|0;TU(A);if(!((vh(A)|0)==0?!(a[(a[A+16>>2]|0)+180>>2]|0):0)){A_(A);VJ(A)}return}function TU(A){A=A|0;a[47147]=Yo(A,1,108230,108236)|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;jU(A,0);SU(A);return}function jU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;l=(e|0)==0;if(l){KU(n);e=n}i=RB(A)|0;while(1){if(!i)break;if(!(Z1(Vh(i)|0,108006,7)|0)){Td(i,137483,280,1)|0;_U(e,i);jU(i,0)}else jU(i,e);i=HB(i)|0}if(l?(r=a[n+8>>2]|0,f=A+16|0,a[(a[f>>2]|0)+180>>2]=r,r|0):0){l=eV(a[n>>2]|0,(r<<2)+4|0)|0;a[(a[f>>2]|0)+184>>2]=l}k=t;return}function SU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=qF((vh(A)|0)<<2)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;n=A+16|0;a[(a[n>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;Td(e,137447,304,1)|0;a[(a[e+16>>2]|0)+112>>2]=f+(i<<2);a[(a[(a[n>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;PU(e);r=Oo(A,e)|0;while(1){if(!r)break;OU(r);r=_o(A,r)|0}e=bd(A,e)|0;i=i+1|0}return}function PU(A){A=A|0;xo(A,108230,108236)|0;return}function OU(A){A=A|0;Td(A,137460,304,1)|0;return}function KU(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function _U(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function qU(A){A=A|0;var e=0,i=0;e=cd(A)|0;if(e|0){L2(a[(a[e+16>>2]|0)+112>>2]|0);while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}$U(A)}return}function $U(A){A=A|0;L2(a[(a[A+16>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function Ax(A){A=A|0;var e=0,i=0,r=0;ex(A);ix(A,0);rx(A,0);fx(A,0);e=a[A+16>>2]|0;if(!(a[(a[e+8>>2]|0)+84>>2]|0)){e=f[e+136>>1]&14;if(e<<16>>16)Jp(A,e&65535)|0}else{e=cd(A)|0;while(1){if(!e)break;r=a[e+16>>2]|0;i=a[r+132>>2]|0;b[i>>3]=+b[r+16>>3]*.013888888888888888;b[i+8>>3]=+b[r+24>>3]*.013888888888888888;e=bd(A,e)|0}Rp(A,1)}VJ(A);return}function ex(A){A=A|0;var e=0,i=0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;e=cd(A)|0;while(1){if(!e)break;RH(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;Td(e,137460,176,1)|0;VR(e)|0;e=_o(A,e)|0}i=bd(A,i)|0}return}function ix(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;l=(e|0)==0;if(l){cx(n);e=n}i=RB(A)|0;while(1){if(!i)break;if(!(Z1(Vh(i)|0,108006,7)|0)){Td(i,137483,280,1)|0;JF(i);bx(e,i);ix(i,0)}else ix(i,e);i=HB(i)|0}if(l?(r=a[n+8>>2]|0,f=A+16|0,a[(a[f>>2]|0)+180>>2]=r,r|0):0){l=eV(a[n>>2]|0,(r<<2)+4|0)|0;a[(a[f>>2]|0)+184>>2]=l}k=t;return}function rx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+448|0;Y=p+400|0;z=p+384|0;H=p+344|0;R=p+304|0;X=p+248|0;W=p+192|0;I=p+152|0;Z=p+96|0;u=p+72|0;i=p+64|0;M=p+32|0;F=p;m=p+416|0;g=p+328|0;C=p+288|0;V=p+232|0;J=p+176|0;N=p+136|0;D=p+80|0;w=a[A+60>>2]|0;if(0>1){ax(e);y=a[15712]|0;a[i>>2]=Vh(A)|0;f3(y,90723,i)|0}y=A+16|0;f=e+1|0;i=1;r=0;while(1){n=a[y>>2]|0;if((i|0)>(a[n+180>>2]|0))break;L=a[(a[n+184>>2]|0)+(i<<2)>>2]|0;rx(L,f);i=i+1|0;r=(vh(L)|0)+r|0}o=(vh(A)|0)-r|0;i=a[y>>2]|0;L=(a[i+180>>2]|0)+o|0;E=(L|0)==0;if(E?(a[i+12>>2]|0)==0:0){H=i+16|0;a[H>>2]=0;a[H+4>>2]=0;a[H+8>>2]=0;a[H+12>>2]=0;b[i+40>>3]=18.0;b[i+32>>3]=18.0}else{i=m+16|0;do{if((bC(A,4,4,m)|0)>>>0>=3)if((a[i>>2]|0)==4?(a[m+28>>2]&2|0)!=0:0){r=Yo(w,0,99190,0)|0;i=Yo(w,1,99190,0)|0;if((r|0)!=0|(i|0)!=0){a[m+24>>2]=qF(L<<2)|0;break}else{a[u>>2]=Vh(A)|0;ao(0,90577,u)|0;i=0;r=0;break}}else{i=0;r=0}else{a[i>>2]=3;i=0;r=0}}while(0);G=qF(L<<5)|0;Q=qF(L<<2)|0;B=m+24|0;w=(r|0)!=0;d=0;n=1;while(1){f=a[y>>2]|0;if((n|0)>(a[f+180>>2]|0))break;f=a[(a[f+184>>2]|0)+(n<<2)>>2]|0;v=G+(d<<5)|0;h=(a[f+16>>2]|0)+16|0;a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[v+16>>2]=a[h+16>>2];a[v+20>>2]=a[h+20>>2];a[v+24>>2]=a[h+24>>2];a[v+28>>2]=a[h+28>>2];if(w&(a[B>>2]|0)!=0){v=kR(f,r,0,0)|0;a[(a[B>>2]|0)+(d<<2)>>2]=v}a[Q+(d<<2)>>2]=f;d=d+1|0;n=n+1|0}A:do{if((o|0)>0){u=M+16|0;o=M+24|0;h=(i|0)!=0;w=cd(A)|0;r=d;while(1){if(!w)break A;f=a[w+16>>2]|0;n=f+112|0;if(!(a[n>>2]|0)){a[n>>2]=A;a[M>>2]=0;a[M+4>>2]=0;a[M+8>>2]=0;a[M+12>>2]=0;b[u>>3]=+b[f+96>>3]+ +b[f+88>>3];b[o>>3]=+b[f+80>>3];v=G+(r<<5)|0;a[v>>2]=a[M>>2];a[v+4>>2]=a[M+4>>2];a[v+8>>2]=a[M+8>>2];a[v+12>>2]=a[M+12>>2];a[v+16>>2]=a[M+16>>2];a[v+20>>2]=a[M+20>>2];a[v+24>>2]=a[M+24>>2];a[v+28>>2]=a[M+28>>2];if(h&(a[B>>2]|0)!=0){v=kR(w,i,0,0)|0;a[(a[B>>2]|0)+(r<<2)>>2]=v}a[Q+(r<<2)>>2]=w;r=r+1|0}w=bd(A,w)|0}}}while(0);v=rC(L,G,m)|0;i=a[B>>2]|0;if(i|0)L2(i);nx(F,2147483647.0,2147483647.0);B=F+16|0;nx(g,-2147483647.0,-2147483647.0);a[B>>2]=a[g>>2];a[B+4>>2]=a[g+4>>2];a[B+8>>2]=a[g+8>>2];a[B+12>>2]=a[g+12>>2];n=M+16|0;w=M+8|0;u=M+24|0;o=F+8|0;h=F+24|0;d=a[15712]|0;i=0;while(1){if((i|0)>=(L|0))break;t=+(a[v+(i<<3)>>2]|0);s=+(a[v+(i<<3)+4>>2]|0);r=G+(i<<5)|0;a[M>>2]=a[r>>2];a[M+4>>2]=a[r+4>>2];a[M+8>>2]=a[r+8>>2];a[M+12>>2]=a[r+12>>2];a[M+16>>2]=a[r+16>>2];a[M+20>>2]=a[r+20>>2];a[M+24>>2]=a[r+24>>2];a[M+28>>2]=a[r+28>>2];l=+b[M>>3]+t;b[M>>3]=l;t=+b[n>>3]+t;b[n>>3]=t;c=+b[w>>3]+s;b[w>>3]=c;s=+b[u>>3]+s;b[u>>3]=s;b[F>>3]=+b[(+b[F>>3]>3];b[o>>3]=+b[(+b[o>>3]>3];b[B>>3]=+b[(+b[B>>3]>t?F:M)+16>>3];b[h>>3]=+b[(+b[h>>3]>s?F:M)+24>>3];r=a[Q+(i<<2)>>2]|0;f=r+16|0;if((i|0)<(a[(a[y>>2]|0)+180>>2]|0)){g=(a[f>>2]|0)+16|0;a[g>>2]=a[M>>2];a[g+4>>2]=a[M+4>>2];a[g+8>>2]=a[M+8>>2];a[g+12>>2]=a[M+12>>2];a[g+16>>2]=a[M+16>>2];a[g+20>>2]=a[M+20>>2];a[g+24>>2]=a[M+24>>2];a[g+28>>2]=a[M+28>>2];if(0>1){ax(e);a[Z>>2]=Vh(r)|0;b[Z+8>>3]=l;b[Z+16>>3]=c;b[Z+24>>3]=t;b[Z+32>>3]=s;f3(d,90556,Z)|0}}else{g=(a[f>>2]|0)+16|0;a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];a[z+8>>2]=a[M+8>>2];a[z+12>>2]=a[M+12>>2];a[Y>>2]=a[n>>2];a[Y+4>>2]=a[n+4>>2];a[Y+8>>2]=a[n+8>>2];a[Y+12>>2]=a[n+12>>2];lx(C,z,Y);a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];if(0>1){ax(e);g=Vh(r)|0;f=a[f>>2]|0;c=+b[f+16>>3];s=+b[f+24>>3];a[I>>2]=g;b[I+8>>3]=c;b[I+16>>3]=s;f3(d,90544,I)|0}}i=i+1|0}r=a[y>>2]|0;i=a[r+12>>2]|0;if(i|0){l=+b[i+24>>3];if(E){t=+b[i+32>>3];a[F>>2]=0;a[F+4>>2]=0;a[F+8>>2]=0;a[F+12>>2]=0;b[B>>3]=l;b[h>>3]=t;t=0.0;c=l}else{t=+b[F>>3];c=+b[B>>3]}s=l-(c-t);l=s*.5;if(s>0.0){b[F>>3]=t-l;b[B>>3]=c+l}}if((e|0)>0)l=+((a[m+8>>2]|0)>>>0)*.5;else l=0.0;t=+b[F>>3]-l;b[F>>3]=t;c=+b[B>>3]+l;b[B>>3]=c;s=-l-+b[r+56>>3]+ +b[o>>3];b[o>>3]=s;l=+b[r+88>>3]+l+ +b[h>>3];b[h>>3]=l;if(0>1){ax(e);a[W>>2]=Vh(A)|0;b[W+8>>3]=t;b[W+16>>3]=s;b[W+24>>3]=c;b[W+32>>3]=l;f3(d,90556,W)|0}i=0;while(1){if((i|0)>=(L|0))break;r=a[Q+(i<<2)>>2]|0;f=r+16|0;if((i|0)<(a[(a[y>>2]|0)+180>>2]|0)){W=(a[f>>2]|0)+16|0;a[M>>2]=a[W>>2];a[M+4>>2]=a[W+4>>2];a[M+8>>2]=a[W+8>>2];a[M+12>>2]=a[W+12>>2];a[M+16>>2]=a[W+16>>2];a[M+20>>2]=a[W+20>>2];a[M+24>>2]=a[W+24>>2];a[M+28>>2]=a[W+28>>2];a[z>>2]=a[W>>2];a[z+4>>2]=a[W+4>>2];a[z+8>>2]=a[W+8>>2];a[z+12>>2]=a[W+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(M,z,Y);a[z>>2]=a[n>>2];a[z+4>>2]=a[n+4>>2];a[z+8>>2]=a[n+8>>2];a[z+12>>2]=a[n+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(V,z,Y);a[n>>2]=a[V>>2];a[n+4>>2]=a[V+4>>2];a[n+8>>2]=a[V+8>>2];a[n+12>>2]=a[V+12>>2];W=(a[f>>2]|0)+16|0;a[W>>2]=a[M>>2];a[W+4>>2]=a[M+4>>2];a[W+8>>2]=a[M+8>>2];a[W+12>>2]=a[M+12>>2];a[W+16>>2]=a[M+16>>2];a[W+20>>2]=a[M+20>>2];a[W+24>>2]=a[M+24>>2];a[W+28>>2]=a[M+28>>2];if(0>1){ax(e);W=Vh(r)|0;l=+b[M>>3];t=+b[w>>3];c=+b[n>>3];s=+b[u>>3];a[X>>2]=W;b[X+8>>3]=l;b[X+16>>3]=t;b[X+24>>3]=c;b[X+32>>3]=s;f3(d,90556,X)|0}}else{W=(a[f>>2]|0)+16|0;a[z>>2]=a[W>>2];a[z+4>>2]=a[W+4>>2];a[z+8>>2]=a[W+8>>2];a[z+12>>2]=a[W+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(J,z,Y);a[W>>2]=a[J>>2];a[W+4>>2]=a[J+4>>2];a[W+8>>2]=a[J+8>>2];a[W+12>>2]=a[J+12>>2];if(0>1){ax(e);W=Vh(r)|0;m=a[f>>2]|0;c=+b[m+16>>3];s=+b[m+24>>3];a[R>>2]=W;b[R+8>>3]=c;b[R+16>>3]=s;f3(d,90544,R)|0}}i=i+1|0}a[z>>2]=a[B>>2];a[z+4>>2]=a[B+4>>2];a[z+8>>2]=a[B+8>>2];a[z+12>>2]=a[B+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(N,z,Y);a[B>>2]=a[N>>2];a[B+4>>2]=a[N+4>>2];a[B+8>>2]=a[N+8>>2];a[B+12>>2]=a[N+12>>2];a[z>>2]=a[F>>2];a[z+4>>2]=a[F+4>>2];a[z+8>>2]=a[F+8>>2];a[z+12>>2]=a[F+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(D,z,Y);a[F>>2]=a[D>>2];a[F+4>>2]=a[D+4>>2];a[F+8>>2]=a[D+8>>2];a[F+12>>2]=a[D+12>>2];R=(a[y>>2]|0)+16|0;a[R>>2]=a[F>>2];a[R+4>>2]=a[F+4>>2];a[R+8>>2]=a[F+8>>2];a[R+12>>2]=a[F+12>>2];a[R+16>>2]=a[F+16>>2];a[R+20>>2]=a[F+20>>2];a[R+24>>2]=a[F+24>>2];a[R+28>>2]=a[F+28>>2];if(0>1){ax(e);R=Vh(A)|0;l=+b[F>>3];t=+b[o>>3];c=+b[B>>3];s=+b[h>>3];a[H>>2]=R;b[H+8>>3]=l;b[H+16>>3]=t;b[H+24>>3]=c;b[H+32>>3]=s;f3(d,90556,H)|0}L2(G);L2(Q);L2(v)}k=p;return}function fx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0;v=k;k=k+80|0;B=v+32|0;l=v+8|0;i=v;d=A+16|0;u=a[d>>2]|0;o=+b[u+16>>3];h=+b[u+24>>3];if(0>1){ax(e);u=a[15712]|0;a[i>>2]=Vh(A)|0;f3(u,90529,i)|0}u=(e|0)!=0;A:do{if(u){i=cd(A)|0;r=a[15712]|0;while(1){if(!i)break A;f=i+16|0;n=a[f>>2]|0;if((a[n+112>>2]|0)==(A|0)?(g=n+16|0,b[g>>3]=+b[g>>3]+o,n=n+24|0,b[n>>3]=+b[n>>3]+h,0>1):0){ax(e);g=Vh(i)|0;n=a[f>>2]|0;s=+b[n+16>>3];w=+b[n+24>>3];a[l>>2]=g;b[l+8>>3]=s;b[l+16>>3]=w;f3(r,90544,l)|0}i=bd(A,i)|0}}else r=a[15712]|0}while(0);l=e+1|0;A=1;while(1){i=a[d>>2]|0;if((A|0)>(a[i+180>>2]|0))break;n=a[(a[i+184>>2]|0)+(A<<2)>>2]|0;if(u){f=n+16|0;i=a[f>>2]|0;t=+b[i+16>>3]+o;c=+b[i+24>>3]+h;s=+b[i+32>>3]+o;w=+b[i+40>>3]+h;if(0>1){ax(e);a[B>>2]=Vh(n)|0;b[B+8>>3]=t;b[B+16>>3]=c;b[B+24>>3]=s;b[B+32>>3]=w;f3(r,90556,B)|0;i=a[f>>2]|0}b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=s;b[i+40>>3]=w}fx(n,l);A=A+1|0}k=v;return}function ax(A){A=A|0;var e=0;e=a[15712]|0;while(1){if((A|0)<=0)break;m3(90574,e)|0;A=A+-1|0}return}function nx(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function lx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function tx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function cx(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function bx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function sx(A){A=A|0;var e=0;e=cd(A)|0;while(1){if(!e)break;sH(e);e=bd(A,e)|0}wx(A);return}function wx(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;A=1;while(1){r=a[e>>2]|0;i=a[r+184>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[i+(A<<2)>>2]|0;TF(a[(a[r+16>>2]|0)+12>>2]|0);wx(r);A=A+1|0}L2(i);return}function ux(A){A=A|0;var e=0,i=0,r=0;Kd(A,1,137447,304,1);KR(A)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;r=A+16|0;a[(a[r>>2]|0)+152>>2]=e;e=0;i=cd(A)|0;while(1){if(!i)break;kx(i);a[(a[(a[r>>2]|0)+152>>2]|0)+(e<<2)>>2]=i;a[(a[i+16>>2]|0)+120>>2]=e;e=e+1|0;i=bd(A,i)|0}r=Yo(A,2,92493,0)|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;ox(e,r);e=_o(A,e)|0}i=bd(A,i)|0}hx(A);return}function kx(A){A=A|0;var e=0;FR(A);e=qF((l[(a[(Id(A)|0)+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[A+16>>2]|0)+132>>2]=e;DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);return}function ox(A,e){A=A|0;e=e|0;var i=0,r=0.0;Td(A,137460,176,1)|0;r=+oR(A,a[47174]|0,1.0,0.0);i=A+16|0;b[(a[i>>2]|0)+128>>3]=r;r=+oR(A,e,+b[1371],0.0);b[(a[i>>2]|0)+136>>3]=r;VR(A)|0;return}function hx(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;d=k;k=k+32|0;h=d+16|0;o=d;s=d+24|0;w=Yo(A,1,102623,0)|0;A:do{if(w|0){u=Yo(A,1,90660,0)|0;l=A+16|0;t=(u|0)==0;c=a[15712]|0;n=0;while(1){i=a[(a[(a[l>>2]|0)+152>>2]|0)+(n<<2)>>2]|0;if(!i)break A;A=Uo(i,w)|0;do{if(r[A>>0]|0){f=i+16|0;e=a[(a[f>>2]|0)+132>>2]|0;r[s>>0]=0;a[o>>2]=e;a[o+4>>2]=e+8;a[o+8>>2]=s;if((J3(A,101749,o)|0)<=1){a[h>>2]=Vh(i)|0;a[h+4>>2]=A;f3(c,90664,h)|0;break}e:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)==2)break e;B=e+(A<<3)|0;b[B>>3]=+b[B>>3]/+b[23293];A=A+1|0}}}while(0);A=a[f>>2]|0;r[A+119>>0]=1;if((r[s>>0]|0)!=33){if(t)break;if(!((gR(Uo(i,u)|0)|0)<<24>>24))break;A=a[f>>2]|0}r[A+119>>0]=3}}while(0);n=n+1|0}}}while(0);k=d;return}function dx(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}Bx(A);return}function Bx(A){A=A|0;vx(A);A=A+16|0;L2(a[(a[A>>2]|0)+152>>2]|0);L2(a[(a[A>>2]|0)+140>>2]|0);return}function vx(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=A+16|0;f=1;while(1){r=a[n>>2]|0;e=a[r+184>>2]|0;if((f|0)>(a[r+180>>2]|0))break;r=a[e+(f<<2)>>2]|0;e=r+16|0;TF(a[(a[e>>2]|0)+12>>2]|0);i=a[(a[e>>2]|0)+140>>2]|0;if(i|0){L2(a[i>>2]|0);L2(a[(a[e>>2]|0)+140>>2]|0)}vx(r);f=f+1|0}L2(e);if((Zd(A)|0)!=(A|0))Sd(A,137483)|0;return}function gx(A,e){A=A|0;e=e|0;a[e+4>>2]=Yo(A,0,90716,0)|0;a[e+8>>2]=Yo(A,0,141116,0)|0;a[e+12>>2]=Yo(A,0,141048,0)|0;a[e>>2]=A;a[e+16>>2]=0;a[e+36>>2]=bC(A,2,4,e+20|0)|0;return}function Ex(A){A=A|0;var e=0,i=0;zH(A,2);e=qF(56)|0;i=A+16|0;a[(a[i>>2]|0)+140>>2]=e;e=(kR(A,Yo(A,0,91374,0)|0,2,2)|0)&65535;e=(e&65535)<10?e:10;f[(a[i>>2]|0)+176>>1]=e;a[47137]=e&65535;Cx(A,0,A);jx(A);ux(A);return}function Cx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;s=k;k=k+16|0;c=s;b=(e|0)==0;if(b){Ix(c);e=c}n=i+16|0;r=RB(A)|0;while(1){if(!r)break;if(!(Z1(Vh(r)|0,108006,7)|0)){Td(r,137483,280,1)|0;w=qF(56)|0;o=a[r+16>>2]|0;a[o+140>>2]=w;u=a[n>>2]|0;f[o+176>>1]=f[u+176>>1]|0;a[w+44>>2]=(a[(a[u+140>>2]|0)+44>>2]|0)+1;a[w+48>>2]=i;Zx(e,r);Cx(r,0,r)}else Cx(r,e,i);r=HB(r)|0}if(b?(l=a[c+8>>2]|0,t=A+16|0,a[(a[t>>2]|0)+180>>2]=l,l|0):0){o=eV(a[c>>2]|0,(l<<2)+4|0)|0;a[(a[t>>2]|0)+184>>2]=o}k=s;return}function Ix(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function Zx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function Gx(A){A=A|0;var e=0,i=0;e=k;k=k+64|0;i=e;gx(A,i);Qx(A,i);mx(A);Lx(A,A);Wx(A);k=e;return}function Qx(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0,E=0,C=0.0,I=0.0;B=k;k=k+64|0;d=B+48|0;i=B+40|0;u=B+56|0;w=B+52|0;s=B;if(0){h=a[15712]|0;a[i>>2]=Vh(A)|0;f3(h,90723,i)|0}i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+164>>2]=0;i=bd(A,i)|0}o=yx(A,e)|0;h=E_(o,u,w)|0;i=h;while(1){c=i+4|0;f=a[i>>2]|0;if(!f)break;Sx(f,s);i=cd(f)|0;while(1){if(!i)break;n=bd(f,i)|0;l=i+16|0;t=a[l>>2]|0;if(a[t+212>>2]|0){E=zx(i,f)|0;Qx(E,e);E=a[(a[E+16>>2]|0)+140>>2]|0;g=+b[E+24>>3];t=a[l>>2]|0;b[t+32>>3]=g;v=+b[E+32>>3];b[t+40>>3]=v;g=g*36.0;b[t+88>>3]=g;b[t+96>>3]=g;b[t+80>>3]=v*72.0;i=n;continue}if(a[(a[t+112>>2]|0)+8>>2]|0){i=n;continue}Cd(f,i)|0;i=n}if((vh(f)|0)<=1){i=c;continue}if((a[e>>2]|0)==(A|0))Zj(f)|0;nT(f,s);i=c}i=a[u>>2]|0;if((i|0)<=1)if((i|0)==1){xR(a[h>>2]|0);i=0}else i=0;else{if(!(a[w>>2]|0))f=0;else{f=qF(i)|0;r[f>>0]=1;i=a[u>>2]|0}a[e+40>>2]=f;i=pE(i,h,0,e+20|0)|0;L2(f)}Yx(o,a[u>>2]|0,h,i,A,e);L2(i);f=cd(o)|0;while(1){if(!f)break;n=a[f+16>>2]|0;i=a[n+212>>2]|0;if(!i){i=a[(a[n+112>>2]|0)+8>>2]|0;if(i|0){u=a[n+132>>2]|0;E=a[(a[i+16>>2]|0)+132>>2]|0;b[E>>3]=+b[u>>3];b[E+8>>3]=+b[u+8>>3]}}else{u=a[n+132>>2]|0;I=+b[n+32>>3];C=+b[u>>3]-I*.5;E=a[(a[i+16>>2]|0)+140>>2]|0;b[E+8>>3]=C;v=+b[n+40>>3];g=+b[u+8>>3]-v*.5;b[E+16>>3]=g;b[E+24>>3]=I+C;b[E+32>>3]=v+g}f=bd(o,f)|0}E=(a[(a[A+16>>2]|0)+140>>2]|0)+8|0;u=(a[(a[o+16>>2]|0)+140>>2]|0)+8|0;a[E>>2]=a[u>>2];a[E+4>>2]=a[u+4>>2];a[E+8>>2]=a[u+8>>2];a[E+12>>2]=a[u+12>>2];a[E+16>>2]=a[u+16>>2];a[E+20>>2]=a[u+20>>2];a[E+24>>2]=a[u+24>>2];a[E+28>>2]=a[u+28>>2];Dx(o,h);L2(h);if(0){E=a[15712]|0;a[d>>2]=Vh(A)|0;f3(E,90734,d)|0}k=B;return}function mx(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;if(r[i+118>>0]|0){c=a[(a[(a[i+212>>2]|0)+16>>2]|0)+140>>2]|0;t=+b[c+24>>3]-+b[c+8>>3];l=+b[c+32>>3]-+b[c+16>>3];n=t*36.0;f=l*36.0;c=a[i+132>>2]|0;b[c>>3]=t*.5;b[c+8>>3]=l*.5;b[i+32>>3]=t;b[i+40>>3]=l;b[i+96>>3]=n;b[i+88>>3]=n;b[i+80>>3]=l*72.0;i=a[(a[i+12>>2]|0)+44>>2]|0;b[i>>3]=n;b[i+8>>3]=f;l=-n;b[i+16>>3]=l;b[i+24>>3]=f;b[i+32>>3]=l;f=-f;b[i+40>>3]=f;b[i+48>>3]=n;b[i+56>>3]=f}e=bd(A,e)|0}return}function Lx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0,t=0,c=0.0,s=0,w=0.0,u=0,k=0.0,o=0;l=A+16|0;t=a[(a[l>>2]|0)+140>>2]|0;f=+b[t+8>>3];n=+b[t+16>>3];t=(A|0)!=(e|0);A:do{if(t){i=cd(A)|0;while(1){if(!i){A=1;break A}r=a[i+16>>2]|0;if((a[r+212>>2]|0)==(A|0)){r=a[r+132>>2]|0;b[r>>3]=+b[r>>3]+f;r=r+8|0;b[r>>3]=+b[r>>3]+n}i=bd(A,i)|0}}else A=1}while(0);while(1){i=a[l>>2]|0;if((A|0)>(a[i+180>>2]|0))break;i=a[(a[i+184>>2]|0)+(A<<2)>>2]|0;if(t){r=a[(a[i+16>>2]|0)+140>>2]|0;o=r+8|0;u=r+16|0;s=r+24|0;r=r+32|0;k=+b[u>>3]+n;w=+b[s>>3]+f;c=+b[r>>3]+n;b[o>>3]=+b[o>>3]+f;b[u>>3]=k;b[s>>3]=w;b[r>>3]=c}Lx(i,e);A=A+1|0}return}function Wx(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0;e=A+16|0;A=a[e>>2]|0;i=a[A+140>>2]|0;n=+b[i+16>>3]*72.0;f=+b[i+24>>3]*72.0;r=+b[i+32>>3]*72.0;b[A+16>>3]=+b[i+8>>3]*72.0;b[A+24>>3]=n;b[A+32>>3]=f;b[A+40>>3]=r;A=1;while(1){i=a[e>>2]|0;if((A|0)>(a[i+180>>2]|0))break;Wx(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function yx(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+160|0;B=Z+24|0;v=Z+8|0;n=Z;i=Z+56|0;C=e+16|0;I=a[C>>2]|0;a[C>>2]=I+1;a[B>>2]=I;P4(i,90796,B)|0;if(0>1){I=a[15712]|0;C=Vh(A)|0;a[n>>2]=i;a[n+4>>2]=C;f3(I,90803,n)|0}r[B>>0]=r[18588]|0;r[B+1>>0]=r[18589]|0;r[B+2>>0]=r[18590]|0;r[B+3>>0]=r[18591]|0;I=kh(91156,B,0)|0;Td(I,137483,280,1)|0;E=qF(56)|0;C=I+16|0;u=a[C>>2]|0;a[u+140>>2]=E;E=A+16|0;f[u+176>>1]=f[(a[E>>2]|0)+176>>1]|0;Xx(A,I,92507);Xx(A,I,93112);Xx(A,I,91202);u=e+4|0;o=B+16|0;h=B+8|0;d=B+24|0;t=0;w=1;while(1){i=a[E>>2]|0;if((w|0)>(a[i+180>>2]|0))break;a[B>>2]=a[332];a[B+4>>2]=a[333];a[B+8>>2]=a[334];a[B+12>>2]=a[335];a[B+16>>2]=a[336];a[B+20>>2]=a[337];a[B+24>>2]=a[338];a[B+28>>2]=a[339];n=a[(a[i+184>>2]|0)+(w<<2)>>2]|0;JF(n);l=Rx(I,Vh(n)|0)|0;c=l+16|0;i=a[c>>2]|0;a[i+212>>2]=n;s=t+1|0;a[i+120>>2]=t;if(a[u>>2]|0)Hx(n,l,e,B);i=cd(n)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+164>>2]=l;i=bd(n,i)|0}i=a[c>>2]|0;if(r[i+119>>0]|0){c=a[i+132>>2]|0;b[c>>3]=(+b[o>>3]+ +b[B>>3])*.5;b[c+8>>3]=(+b[d>>3]+ +b[h>>3])*.5}t=s;w=w+1|0}c=cd(A)|0;while(1){if(!c)break;i=c+16|0;n=a[i>>2]|0;if(!(a[n+164>>2]|0)){l=n+212|0;B=a[l>>2]|0;if(B|0?(B|0)!=(a[(a[(a[E>>2]|0)+140>>2]|0)+48>>2]|0):0){g=18;break}a[l>>2]=A;if(!(r[n+118>>0]|0)){l=Rx(I,Vh(c)|0)|0;n=a[i>>2]|0;a[n+164>>2]=l;l=a[l+16>>2]|0;a[l+120>>2]=t;b[l+32>>3]=+b[n+32>>3];b[l+40>>3]=+b[n+40>>3];b[l+88>>3]=+b[n+88>>3];b[l+96>>3]=+b[n+96>>3];b[l+80>>3]=+b[n+80>>3];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];i=r[n+119>>0]|0;if(i<<24>>24){e=a[n+132>>2]|0;B=a[l+132>>2]|0;b[B>>3]=+b[e>>3];b[B+8>>3]=+b[e+8>>3];r[l+119>>0]=i}a[(a[l+112>>2]|0)+8>>2]=c;i=t+1|0}else i=t}else i=t;c=bd(A,c)|0;t=i}if((g|0)==18){e=Vh(c)|0;B=Vh(A)|0;g=Vh(a[(a[i>>2]|0)+212>>2]|0)|0;a[v>>2]=e;a[v+4>>2]=B;a[v+8>>2]=g;ao(1,90826,v)|0;fe(187212,1)}s=cd(A)|0;while(1){if(!s)break;w=a[(a[s+16>>2]|0)+164>>2]|0;u=w+16|0;l=Oo(A,s)|0;while(1){if(!l)break;i=a[(a[(a[((a[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((i|0)!=(w|0)){if(i>>>0>w>>>0)c=th(I,w,i,0,1)|0;else c=th(I,i,w,0,1)|0;Td(c,137460,176,1)|0;n=a[l+16>>2]|0;g=a[c+16>>2]|0;b[g+136>>3]=+b[n+136>>3];b[g+128>>3]=+b[n+128>>3];i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=(a[n>>2]|0)+1;n=a[(a[u>>2]|0)+112>>2]|0;v=n+4|0;a[v>>2]=(a[v>>2]|0)+1;if(!(a[g+172>>2]|0)){a[i>>2]=(a[i>>2]|0)+1;a[n>>2]=(a[n>>2]|0)+1}px(c,l)}l=_o(A,l)|0}s=bd(A,s)|0}i=a[(a[E>>2]|0)+140>>2]|0;n=a[i>>2]|0;if(n|0){l=qF((a[i+4>>2]<<4)+16|0)|0;a[a[(a[C>>2]|0)+140>>2]>>2]=l;i=0;while(1){if(!(a[n>>2]|0))break;s=a[(a[(a[n+4>>2]|0)+16>>2]|0)+164>>2]|0;if(s){Ux(A,n);w=Rx(I,193772)|0;u=w+16|0;a[(a[u>>2]|0)+120>>2]=t;if(w>>>0>s>>>0)c=th(I,s,w,0,1)|0;else c=th(I,w,s,0,1)|0;Td(c,137460,176,1)|0;g=a[n>>2]|0;v=a[g+16>>2]|0;E=a[c+16>>2]|0;b[E+136>>3]=+b[v+136>>3];b[E+128>>3]=+b[v+128>>3];px(c,g);g=a[(a[u>>2]|0)+112>>2]|0;E=g+4|0;a[E>>2]=(a[E>>2]|0)+1;E=a[(a[s+16>>2]|0)+112>>2]|0;v=E+4|0;a[v>>2]=(a[v>>2]|0)+1;a[g>>2]=(a[g>>2]|0)+1;a[E>>2]=(a[E>>2]|0)+1;a[l+4>>2]=w;b[l+8>>3]=+b[n+8>>3];a[l>>2]=c;i=i+1|0;l=l+16|0;t=t+1|0}n=n+16|0}a[(a[(a[C>>2]|0)+140>>2]|0)+4>>2]=i}k=Z;return I|0}function zx(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=a[A+16>>2]|0;c=a[s+212>>2]|0;s=a[(a[s+112>>2]|0)+4>>2]|0;do{if(s|0){t=qF((s<<4)+16|0)|0;f=Vx(A,e)|0;n=f+8|0;e=0;r=f;while(1){if(!(a[r>>2]|0))break;l=r+24|0;if(!(a[l>>2]|0))i=+b[n>>3]+6.283185307179586;else i=+b[r+32>>3];e=Jx(A,r,t,e,i)|0;r=l}if((e|0)==(s|0)){A=a[(a[c+16>>2]|0)+140>>2]|0;a[A>>2]=t;a[A+4>>2]=s;L2(f);break}else vA(90742,90752,766,90761)}}while(0);return c|0}function Yx(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0.0;m=k;k=k+32|0;I=m+16|0;Q=m;s=a[n+8>>2]|0;t=a[n+12>>2]|0;Z=(a[n>>2]|0)==(f|0);G=(e|0)!=0;A:do{if(G){o=a[(a[i>>2]|0)+16>>2]|0;c=+b[o+16>>3];s=~~(c+(c>=0.0?.5:-.5));a[Q>>2]=s;c=+b[o+24>>3];n=~~(c+(c>=0.0?.5:-.5));g=Q+4|0;a[g>>2]=n;c=+b[o+32>>3];w=~~(c+(c>=0.0?.5:-.5));E=Q+8|0;a[E>>2]=w;c=+b[o+40>>3];o=~~(c+(c>=0.0?.5:-.5));C=Q+12|0;a[C>>2]=o;if((e|0)>1){h=a[r>>2]|0;v=a[r+4>>2]|0;s=h+s|0;a[Q>>2]=s;e=v+n|0;a[g>>2]=e;w=h+w|0;a[E>>2]=w;h=I+4|0;d=I+8|0;B=I+12|0;u=r;n=i;v=v+o|0;o=e;while(1){n=n+4|0;t=u+8|0;a[C>>2]=v;e=a[n>>2]|0;if(!e){t=0;d=o;B=v;break A}y=a[e+16>>2]|0;Y=+b[y+16>>3];l=+b[y+24>>3];c=+b[y+32>>3];D=+b[y+40>>3];y=~~(D+(D>=0.0?.5:-.5));a[B>>2]=y;e=a[t>>2]|0;z=a[u+12>>2]|0;W=e+~~(Y+(Y>=0.0?.5:-.5))|0;a[I>>2]=W;L=z+~~(l+(l>=0.0?.5:-.5))|0;a[h>>2]=L;e=e+~~(c+(c>=0.0?.5:-.5))|0;a[d>>2]=e;y=z+y|0;a[B>>2]=y;W=a[((s|0)<(W|0)?Q:I)>>2]|0;a[Q>>2]=W;L=a[((o|0)<(L|0)?Q:I)+4>>2]|0;a[g>>2]=L;e=a[((w|0)>(e|0)?Q:I)+8>>2]|0;a[E>>2]=e;u=t;v=a[((v|0)>(y|0)?Q:I)+12>>2]|0;s=W;o=L;w=e}}else{t=0;d=n;B=o}}else{a[Q>>2]=0;a[Q+4>>2]=0;w=kR(f,s,54,3)|0;a[Q+8>>2]=w;B=kR(f,t,36,3)|0;a[Q+12>>2]=B;t=1;s=0;d=0}}while(0);e=f+16|0;u=a[e>>2]|0;n=a[u+12>>2]|0;if(n){D=+b[n+24>>3];n=s-w+~~(D+(D>=0.0?.5:-.5))|0;if((n|0)>0){n=n>>>1;s=s-n|0;a[Q>>2]=s;w=w+n|0;a[Q+8>>2]=w;n=0}else n=0}else n=t;if(Z|(n|0)!=0){t=0;n=u}else{t=kR(A,a[47144]|0,8,0)|0;n=a[e>>2]|0}h=t-s|0;o=~~(+b[n+56>>3]+ +(t-d|0));a[Q>>2]=0;a[Q+4>>2]=0;u=h+t+w|0;a[Q+8>>2]=u;e=~~(+b[n+88>>3]+ +(t+o|0)+ +(B|0));a[Q+12>>2]=e;A:do{if(G){n=r;e:while(1){w=i+4|0;t=a[i>>2]|0;if(!t)break A;if(!n){s=0;i=h;n=o}else{s=n+8|0;i=(a[n>>2]|0)+h|0;n=(a[n+4>>2]|0)+o|0}c=+(i|0)*.013888888888888888;l=+(n|0)*.013888888888888888;i=cd(t)|0;while(1){if(!i){i=w;n=s;continue e}z=a[(a[i+16>>2]|0)+132>>2]|0;b[z>>3]=+b[z>>3]+c;z=z+8|0;b[z>>3]=+b[z>>3]+l;i=bd(t,i)|0}}}}while(0);z=a[(a[A+16>>2]|0)+140>>2]|0;y=z+8|0;a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;b[z+24>>3]=+(u|0)*.013888888888888888;b[z+32>>3]=+(e|0)*.013888888888888888;k=m;return}function Dx(A,e){A=A|0;e=e|0;var i=0,r=0;while(1){i=a[e>>2]|0;if(!i)break;Mx(i);Sd(i,137483)|0;e=e+4|0}e=a[a[(a[A+16>>2]|0)+140>>2]>>2]|0;if(e|0)L2(e);Mx(A);Sd(A,137483)|0;i=cd(A)|0;while(1){if(!i)break;r=bd(A,i)|0;e=Oo(A,i)|0;while(1){if(!e)break;L2(a[(a[e+16>>2]|0)+172>>2]|0);Sd(e,137460)|0;e=_o(A,e)|0}Fx(i);i=r}Bh(A)|0;return}function Mx(A){A=A|0;L2(a[(a[A+16>>2]|0)+140>>2]|0);return}function Fx(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+112>>2]|0);L2(a[(a[e>>2]|0)+132>>2]|0);Sd(A,137447)|0;return}function Vx(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;c=A+16|0;s=a[a[(a[c>>2]|0)+112>>2]>>2]|0;w=qF((s*24|0)+24|0)|0;l=0;t=Ah(e,A)|0;while(1){if(!t)break;f=a[t>>2]&3;r=a[((f|0)==2?t:t+-48|0)+40>>2]|0;if((r|0)==(A|0))r=a[((f|0)==3?t:t+48|0)+40>>2]|0;r=a[(a[r+16>>2]|0)+132>>2]|0;f=a[(a[c>>2]|0)+132>>2]|0;n=+b[r>>3]-+b[f>>3];i=+b[r+8>>3]-+b[f+8>>3];a[w+(l*24|0)>>2]=t;b[w+(l*24|0)+8>>3]=+X(+i,+n);b[w+(l*24|0)+16>>3]=i*i+n*n;l=l+1|0;t=eh(e,t,A)|0}if((l|0)!=(s|0))vA(90775,90752,642,90784);K4(w,s,24,67);A:do{if((s|0)>1){t=s+-1|0;r=0;e:while(1){if((r|0)>=(t|0))break A;n=+b[w+(r*24|0)+8>>3];f=r+1|0;l=f;while(1){if((l|0)>=(s|0))break;if(!(+b[w+(l*24|0)+8>>3]==n))break;l=l+1|0}if((l|0)==(f|0)){r=f;continue}if((l|0)==(s|0))i=3.141592653589793;else i=+b[w+(l*24|0)+8>>3];i=(i-n)/+(l-r|0);i=i>.03490658503988659?.03490658503988659:i;n=0.0;while(1){if((r|0)>=(l|0))continue e;c=w+(r*24|0)+8|0;b[c>>3]=+b[c>>3]+n;n=n+i;r=r+1|0}}}}while(0);return w|0}function Jx(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=+n;var l=0,t=0,c=0,s=0.0,w=0,u=0,k=0,o=0.0,h=0;c=a[e>>2]|0;u=a[c+16>>2]|0;w=f[u+168>>1]|0;k=w<<16>>16;t=a[c>>2]&3;l=a[((t|0)==2?c:c+-48|0)+40>>2]|0;if((l|0)==(A|0))l=a[((t|0)==3?c:c+48|0)+40>>2]|0;o=+b[e+8>>3];n=(n-o)/+(w<<16>>16);n=n>.03490658503988659?.03490658503988659:n;w=l>>>0>A>>>0;s=w?n:-n;e=w?1:-1;c=0;l=a[u+172>>2]|0;t=w?r:r+-1+k|0;n=w?o:n*+(k+-1|0)+o;while(1){if((c|0)>=(k|0))break;u=a[l>>2]|0;a[i+(t<<4)>>2]=u;w=a[u>>2]&3;h=(w|0)==3?u:u+48|0;a[i+(t<<4)+4>>2]=a[((a[(a[(a[h+40>>2]|0)+16>>2]|0)+164>>2]|0)==(A|0)?h:(w|0)==2?u:u+-48|0)+40>>2];b[i+(t<<4)+8>>3]=n;c=c+1|0;l=l+4|0;t=t+e|0;n=n+s}return k+r|0}function Nx(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(i>r))if(!(i>3];i=+b[e+16>>3];if(r>i)A=1;else A=(r>31}else A=-1;else A=1;return A|0}function Xx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Yo(A,0,i,0)|0;do{if(r|0){A=Uo(A,r)|0;r=Yo(e,0,i,0)|0;if(!r){Yo(e,0,i,A)|0;break}else{Vo(e,r,A)|0;break}}}while(0);return}function Rx(A,e){A=A|0;e=e|0;var i=0,r=0;e=vd(A,e,1)|0;Td(e,137447,304,1)|0;r=qF(32)|0;i=e+16|0;a[(a[i>>2]|0)+112>>2]=r;A=$F((l[(a[A+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[i>>2]|0)+132>>2]=A;return e|0}function Hx(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+80|0;w=h+56|0;s=h+32|0;o=h;u=h+64|0;l=a[i+4>>2]|0;c=Uo(A,l)|0;do{if(r[c>>0]|0){if((a[i>>2]|0)!=(A|0)){i=Uo(pB(A)|0,l)|0;if((i|0)==(c|0))break;if(!(A1(c,i)|0))break}r[u>>0]=0;i=o+8|0;l=o+16|0;t=o+24|0;a[s>>2]=o;a[s+4>>2]=i;a[s+8>>2]=l;a[s+12>>2]=t;a[s+16>>2]=u;if((J3(c,90937,s)|0)<=3){a[w>>2]=Vh(A)|0;a[w+4>>2]=c;ao(0,90955,w)|0;break}n=+b[23293];if(n>0.0){b[o>>3]=+b[o>>3]/n;b[i>>3]=+b[i>>3]/n;b[l>>3]=+b[l>>3]/n;b[t>>3]=+b[t>>3]/n}i=r[u>>0]|0;if(i<<24>>24==33)r[(a[e+16>>2]|0)+119>>0]=3;else r[(a[e+16>>2]|0)+119>>0]=i<<24>>24==63?2:1;a[f>>2]=a[o>>2];a[f+4>>2]=a[o+4>>2];a[f+8>>2]=a[o+8>>2];a[f+12>>2]=a[o+12>>2];a[f+16>>2]=a[o+16>>2];a[f+20>>2]=a[o+20>>2];a[f+24>>2]=a[o+24>>2];a[f+28>>2]=a[o+28>>2]}}while(0);k=h;return}function px(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+16|0;r=a[n>>2]|0;A=f[r+168>>1]|0;r=a[r+172>>2]|0;if(!r){A=A<<16>>16;i=A;A=$F((A<<2)+4|0)|0}else{A=A<<16>>16;i=A;A=eV(r,(A<<2)+4|0)|0}a[A+(i<<2)>>2]=e;e=a[n>>2]|0;a[e+172>>2]=A;e=e+168|0;f[e>>1]=(f[e>>1]|0)+1<<16>>16;return}function Ux(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+48|0;l=t+24|0;n=t;r=a[e>>2]|0;i=a[r>>2]&3;f=a[((i|0)==2?r:r+-48|0)+40>>2]|0;i=a[((i|0)==3?r:r+48|0)+40>>2]|0;e=S2(Vh(A)|0)|0;c=S2(Vh(f)|0)|0;c=(e+8+c+(S2(Vh(i)|0)|0)|0)>999;e=Vh(A)|0;if(c){i=Vh(i)|0;c=Vh(f)|0;l=(a[r>>2]|0)>>>4;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=c;c=n+16|0;a[c>>2]=l;a[c+4>>2]=0;P4(193772,90895,n)|0}else{i=a[(a[i+16>>2]|0)+120>>2]|0;c=a[(a[f+16>>2]|0)+120>>2]|0;n=(a[r>>2]|0)>>>4;a[l>>2]=e;a[l+4>>2]=i;a[l+8>>2]=c;c=l+16|0;a[c>>2]=n;a[c+4>>2]=0;P4(193772,90914,l)|0}k=t;return}function xx(A){A=A|0;var e=0,i=0,r=0.0,n=0.0,l=0,t=0,c=0;t=4;l=m2(40)|0;a[l>>2]=0;n=+b[23293];d=0;r=+AA(1,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)!=1){b[23293]=r;d=0;sA(102,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)!=1){l=L6(187212,1,l|0,t|0)|0;t=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){e=W6(a[i>>2]|0,l|0,t|0)|0;if(!e)fe(i|0,B|0);L=B}else e=-1;if((e|0)!=1)e=0;else e=L}else e=L}else e=L;while(1){if(e|0)break;d=0;sA(103,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}d=0;iA(22,A|0)|0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}if(f[(a[A+16>>2]|0)+136>>1]&14){d=0;sA(104,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}}d=0;wA(22,A|0,0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1)e=L;else{c=12;break}}if((c|0)==12)b[23293]=n;L2(l|0);return}function Tx(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;i=A+16|0;r=f[(a[i>>2]|0)+136>>1]&14;e=r&65535;if((r&65535)>8){if(r<<16>>16==12){if(Fp(A,22,10)|0){a[47134]=2;l=5}}else l=5;do{if((l|0)==5)if(!(f[(a[i>>2]|0)+136>>1]&1)){Jp(A,e)|0;break}else{ao(0,90998,n)|0;e=2;break}}while(0);a[47134]=0}if((a[47138]|0)<1)Jp(A,e)|0;k=t;return}function jx(A){A=A|0;var e=0.0,i=0.0,r=0;r=k;k=k+16|0;a[46474]=1;a[46475]=1;a[46477]=-1;a[46479]=50;b[23245]=0.0;b[23240]=0.0;b[23241]=1.0;a[46478]=kR(A,Yo(A,0,91061,0)|0,600,0)|0;i=+oR(A,Yo(A,0,91202,0)|0,.3,0.0);b[23242]=i;b[1371]=i;if(-1.0==-1.0)e=+oR(A,Yo(A,0,91069,0)|0,-1.0,0.0);else e=-1.0;b[23243]=e;a[46476]=1;A=ep(A,2,185904)|0;a[46488]=A;if(!A){ao(0,91072,r)|0;a[46476]=2}a[46504]=(U(a[46478]|0,a[46479]|0)|0)/100|0;i=+b[23242];b[23247]=i*i;if(a[46474]|0){e=+b[23245];if(e<=0.0){e=i*3.0;b[23245]=e}b[23246]=e*e}k=r;return}function Sx(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0;t=k;k=k+16|0;i=t;n=a[a[(a[A+16>>2]|0)+140>>2]>>2]|0;l=Px(A,e)|0;Ox(i,A,n);r=+b[i>>3];f=+b[i+8>>3];A:do{if(!(a[46474]|0)){e=0;while(1){if((e|0)>=(a[46505]|0))break A;qx(A,+Kx(e),n);e=e+1|0}}else{i=I_(vh(A)|0)|0;L_(i,vh(A)|0);e=0;while(1){if((e|0)>=(a[46505]|0))break;_x(A,+Kx(e),n,i);e=e+1|0}y_(i)}}while(0);A:do{if(r!=0.0|f!=0.0){e=cd(A)|0;while(1){if(!e)break A;n=a[(a[e+16>>2]|0)+132>>2]|0;b[n>>3]=+b[n>>3]+r;n=n+8|0;b[n>>3]=+b[n>>3]+f;e=bd(A,e)|0}}}while(0);if(l|0)$x();k=t;return}function Px(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0;if(+b[23243]==-1.0){l=vh(A)|0;i=+b[23242];b[23243]=+b[23241]*.2*i*+z(+ +(l|0));l=1}else{l=0;i=+b[23242]}n=a[46504]|0;b[e+8>>3]=+Kx(n);b[e+16>>3]=i;b[e+24>>3]=+b[23240];r=a[46478]|0;A=r-n|0;a[e>>2]=A;f=a[46477]|0;do{if((f|0)>-1){if((f|0)<=(n|0)){a[46505]=f;A=0;t=10;break}if((f|0)<=(r|0)){a[46505]=n;A=f-n|0;t=10}}else{a[46505]=n;t=10}}while(0);if((t|0)==10)a[e+32>>2]=A;return l|0}function Ox(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0.0,w=0.0,u=0,k=0.0,o=0.0,h=0,d=0,B=0.0,v=0.0,g=0,E=0,C=0.0,I=0,Z=0,G=0;E=vh(e)|0;I=a[(a[(a[e+16>>2]|0)+140>>2]|0)+4>>2]|0;g=cd(e)|0;h=0;d=0;n=0;c=0;u=0;while(1){if(!g)break;f=a[g+16>>2]|0;if(!(r[f+119>>0]|0))f=d;else{f=a[f+132>>2]|0;l=+b[f>>3];if(!h){c=~~l;n=~~+b[f+8>>3];u=n;f=c}else{o=+(d|0);B=+b[f+8>>3];v=+(n|0);C=+(c|0);k=+(u|0);u=~~(B>k?B:k);f=~~(lC?l:C)}h=h+1|0}g=bd(e,g)|0;d=f}l=+b[23242]*(+z(+ +(E-I|0))+1.0);B=l*.6;b[23249]=B;b[23248]=B;if((h|0)!=1)if((h|0)>1){v=+(c+d|0)*.5;C=+(u+n|0)*.5;k=+(c-d|0);o=k*1.2;s=+(u-n|0);w=s*1.2;l=l*2.4*B;t=w*o/l;do{if(!(t>=1.0)){if(t>0.0){l=+z(+t)*2.0;t=o/l;b[23248]=t;l=w/l;G=20;break}if(o>0.0){t=k*.6;b[23248]=t;l=l/o*.5;G=20;break}if(w>0.0){t=l/w*.5;b[23248]=t;l=s*.6;G=20}else{l=B;t=B}}else{t=k*.6;b[23248]=t;l=s*.6;G=20}}while(0);if((G|0)==20)b[23249]=l;B=+X(+l,+t);t=t/+D(+B);b[23248]=t;l=l/+M(+B);b[23249]=l}else{v=0.0;C=0.0;t=B;l=B}else{v=+(d|0);C=+(n|0);t=B;l=B}b[23250]=t*t;b[23251]=l*l;if((a[46488]|0)==2)f=a[46476]|0;else{f=z3()|0;f=(ne(0)|0)^f}l8(f);A:do{if(!i){i=cd(e)|0;if(!h)while(1){if(!i)break A;B=+b[23248];B=(+c8()*2.0+-1.0)*B;G=i+16|0;b[a[(a[G>>2]|0)+132>>2]>>3]=B;B=+b[23249];B=(+c8()*2.0+-1.0)*B;b[(a[(a[G>>2]|0)+132>>2]|0)+8>>3]=B;i=bd(e,i)|0}while(1){if(!i)break A;f=i+16|0;n=a[f>>2]|0;if(!(r[n+119>>0]|0)){B=+b[23248];B=(+c8()*2.0+-1.0)*B;b[a[(a[f>>2]|0)+132>>2]>>3]=B;B=+b[23249];B=(+c8()*2.0+-1.0)*B;b[(a[(a[f>>2]|0)+132>>2]|0)+8>>3]=B}else{G=a[n+132>>2]|0;b[G>>3]=+b[G>>3]-v;G=G+8|0;b[G>>3]=+b[G>>3]-C}i=bd(e,i)|0}}else{while(1){if(!(a[i>>2]|0))break;g=i+8|0;B=+D(+ +b[g>>3])*+b[23248]+v;I=a[(a[i+4>>2]|0)+16>>2]|0;E=a[I+132>>2]|0;b[E>>3]=B;b[E+8>>3]=+M(+ +b[g>>3])*+b[23249]+C;r[I+119>>0]=1;i=i+16|0}s=v*.1;w=C*.1;d=cd(e)|0;while(1){if(!d)break A;h=d+16|0;i=a[h>>2]|0;if(!((a[(a[i+112>>2]|0)+8>>2]|0)==0?!(a[i+212>>2]|0):0))G=32;do{if((G|0)==32){G=0;if(r[i+119>>0]|0){I=a[i+132>>2]|0;b[I>>3]=+b[I>>3]-v;I=I+8|0;b[I>>3]=+b[I>>3]-C;break}u=Ah(e,d)|0;i=0;t=0.0;l=0.0;while(1){if(!u)break;c=a[u>>2]&3;f=(c|0)==2?u:u+-48|0;n=a[f+40>>2]|0;c=(c|0)==3?u:u+48|0;do{if((n|0)!=(a[c+40>>2]|0)?(Z=a[(a[((n|0)==(d|0)?c:f)+40>>2]|0)+16>>2]|0,(r[Z+119>>0]|0)!=0):0)if(!i){I=a[Z+132>>2]|0;i=1;t=+b[I>>3];l=+b[I+8>>3];break}else{o=+(i|0);I=a[Z+132>>2]|0;i=i+1|0;B=+(i|0);t=(+b[I>>3]+t*o)/B;l=(+b[I+8>>3]+l*o)/B;break}}while(0);u=eh(e,u,d)|0}do{if((i|0)<=1)if((i|0)==1){f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=t*.98+s;l=l*.9+w;break}else{l=+c8()*6.283185307179586;B=+c8()*.9;o=B*+b[23248]*+D(+l);f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=o;l=+b[23249]*B*+M(+l);break}else{f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=t}}while(0);b[i+8>>3]=l;r[f+119>>0]=1}}while(0);d=bd(e,d)|0}}}while(0);b[A>>3]=v;b[A+8>>3]=C;return}function Kx(A){A=A|0;var e=0;e=a[46478]|0;return+(+b[23243]*+(e-A|0)/+(e|0))}function _x(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0;if(!(e<=0.0)){W_(r);f=cd(A)|0;while(1){if(!f)break;l=a[f+16>>2]|0;n=(a[l+112>>2]|0)+16|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;l=a[l+132>>2]|0;t=+b[23245];n=~~+W(+(+b[l>>3]/t));Y_(r,n,~~+W(+(+b[l+8>>3]/t)),f);f=bd(A,f)|0}n=cd(A)|0;while(1){if(!n)break;f=Oo(A,n)|0;while(1){if(!f)break;l=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((n|0)!=(l|0))eT(n,l,f);f=_o(A,f)|0}n=bd(A,n)|0}M_(r,23);iT(A,e,i)}return}function qx(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,n=0;if(!(e<=0.0)){r=cd(A)|0;while(1){if(!r)break;n=(a[(a[r+16>>2]|0)+112>>2]|0)+16|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;r=bd(A,r)|0}n=cd(A)|0;while(1){if(!n)break;else r=n;while(1){r=bd(A,r)|0;if(!r)break;AT(n,r)}r=Oo(A,n)|0;while(1){if(!r)break;f=a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0;if((n|0)!=(f|0))eT(n,f,r);r=_o(A,r)|0}n=bd(A,n)|0}iT(A,e,i)}return}function $x(){b[23243]=-1.0;return}function AT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0;n=a[(a[e+16>>2]|0)+132>>2]|0;f=a[(a[A+16>>2]|0)+132>>2]|0;i=+b[n>>3]-+b[f>>3];r=+b[n+8>>3]-+b[f+8>>3];rT(A,e,i,r,r*r+i*i);return}function eT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0,t=0,c=0;t=e+16|0;c=a[(a[t>>2]|0)+132>>2]|0;A=A+16|0;e=a[(a[A>>2]|0)+132>>2]|0;r=+b[c>>3]-+b[e>>3];f=+b[c+8>>3]-+b[e+8>>3];n=r;l=f;r=r*r;f=f*f;while(1){r=r+f;if(!(r==0.0))break;r=+(5-((a8()|0)%10|0)|0);f=+(5-((a8()|0)%10|0)|0);n=r;l=f;r=r*r;f=f*f}f=+z(+r);e=a[i+16>>2]|0;r=+b[e+128>>3];if(!(a[46475]|0))r=r*f/+b[e+136>>3];else r=(f-+b[e+136>>3])*r/f;n=r*n;c=a[(a[t>>2]|0)+112>>2]|0;t=c+16|0;b[t>>3]=+b[t>>3]-n;l=r*l;c=c+24|0;b[c>>3]=+b[c>>3]-l;c=a[(a[A>>2]|0)+112>>2]|0;t=c+16|0;b[t>>3]=+b[t>>3]+n;c=c+24|0;b[c>>3]=+b[c>>3]+l;return}function iT(A,e,i){A=A|0;e=+e;i=i|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0;k=e*e;u=(i|0)==0;w=cd(A)|0;while(1){if(!w)break;s=a[w+16>>2]|0;if(!(r[s+119>>0]&2)){c=a[s+112>>2]|0;f=+b[c+16>>3];l=+b[c+24>>3];n=l*l+f*f;if(n>2]|0;t=+b[i>>3]+f;f=+b[i+8>>3]+l}else{n=e/+z(+n);i=a[s+132>>2]|0;t=+b[i>>3]+n*f;f=+b[i+8>>3]+n*l}do{if(!u){n=+z(+(f*f/+b[23251]+t*t/+b[23250]));if((a[c+8>>2]|0)==0?(a[s+212>>2]|0)==0:0){b[i>>3]=t/n;f=f/n;break}if(!(n>=1.0)){b[i>>3]=t;break}else{b[i>>3]=t*.95/n;f=f*.95/n;break}}else b[i>>3]=t}while(0);b[i+8>>3]=f}w=bd(A,w)|0}return}function rT(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=+r;f=+f;var n=0.0,l=0,t=0;n=i;i=f;while(1){if(!(i==0.0))break;i=+(5-((a8()|0)%10|0)|0);r=+(5-((a8()|0)%10|0)|0);n=i;i=r*r+i*i}if(!(a[46475]|0))i=+b[23247]/i;else{f=+z(+i);i=+b[23247]/(f*i)}t=a[A+16>>2]|0;A=a[t+112>>2]|0;if(((a[A+8>>2]|0)==0?(a[t+212>>2]|0)==0:0)?(l=a[e+16>>2]|0,(a[(a[l+112>>2]|0)+8>>2]|0)==0):0)i=(a[l+212>>2]|0)==0?i*10.0:i;f=i*n;t=a[(a[e+16>>2]|0)+112>>2]|0;e=t+16|0;b[e>>3]=+b[e>>3]+f;n=i*r;t=t+24|0;b[t>>3]=+b[t>>3]+n;t=A+16|0;b[t>>3]=+b[t>>3]-f;t=A+24|0;b[t>>3]=+b[t>>3]-n;return}function fT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;f=a[e+8>>2]|0;n=a[e>>2]|0;r=a[e+4>>2]|0;e=f;while(1){if(!e)break;A=f;while(1){if(!A)break;if((e|0)!=(A|0))AT(a[e>>2]|0,a[A>>2]|0);A=a[A+4>>2]|0}e=a[e+4>>2]|0}l=n+-1|0;A=r+-1|0;aT(i,l,A,f);aT(i,l,r,f);e=r+1|0;aT(i,l,e,f);aT(i,n,A,f);aT(i,n,e,f);n=n+1|0;aT(i,n,A,f);aT(i,n,r,f);aT(i,n,e,f);return 0}function aT(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0;A=F_(A,e,i)|0;if((r|0)!=0&(A|0)!=0){c=A+8|0;do{i=a[r>>2]|0;t=i+16|0;A=c;while(1){A=a[A>>2]|0;if(!A)break;e=a[A>>2]|0;w=a[(a[e+16>>2]|0)+132>>2]|0;s=a[(a[t>>2]|0)+132>>2]|0;f=+b[w>>3]-+b[s>>3];n=+b[w+8>>3]-+b[s+8>>3];l=n*n+f*f;if(l<+b[23246])rT(i,e,f,n,l);A=A+4|0}r=a[r+4>>2]|0}while((r|0)!=0)}return}function nT(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+16|0;n=l;i=po(A,92507)|0;if(0)L3(91116,8,1,a[15712]|0)|0;if(!((i|0)!=0?(r[i>>0]|0)!=0:0))i=91125;f=G1(i,58)|0;do{if(!f)f=0;else{if((f|0)!=(i|0)?((r[i>>0]|0)+-48|0)>>>0>=10:0){f=0;break}t=q3(i)|0;i=f+1|0;f=(t|0)>0?t:0}}while(0);if(0){t=a[15712]|0;a[n>>2]=f;a[n+4>>2]=i;f3(t,91133,n)|0}if(!((f|0)!=0?!(lT(A,e,f)|0):0))AS(A,i)|0;k=l;return}function lT(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0;v=k;k=k+64|0;d=v;l=v+40|0;B=vh(A)|0;t=gh(A)|0;qj(l,A);a[46842]=a[l>>2];a[46843]=a[l+4>>2];a[46844]=a[l+8>>2];if(r[187376]|0){c[46842]=+c[46842]*.013888888888888888;c[46843]=+c[46843]*.013888888888888888}f=tT(A)|0;A:do{if(!f)f=0;else{l=d;n=l+40|0;do{a[l>>2]=a[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(n|0));l=d+16|0;h=+b[l>>3];u=+(t|0)*2.0;o=1.0/+(U(B+-1|0,B)|0);n=0;w=h;while(1){if(!((f|0)!=0&(n|0)<(i|0)))break A;cT(B,d);s=+b[23253]*+b[170];b[23254]=s;b[23255]=u*s*o;e=0;while(1){if((e|0)>=(a[46512]|0))break;s=+bT(e);if(s<=0.0)break;f=sT(A,s)|0;if(!f){f=0;break}else e=e+1|0}s=w+h;b[l>>3]=s;n=n+1|0;w=s}}}while(0);k=v;return f|0}function tT(A){A=A|0;var e=0,i=0,r=0,f=0;e=0;f=cd(A)|0;while(1){if(!f)break;else r=f;while(1){i=bd(A,r)|0;if(!i)break;r=i;e=(kT(f,i)|0)+e|0}f=bd(A,f)|0}return e|0}function cT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0;r=+b[e+16>>3];b[171]=r;a[344]=a[e>>2];f=+b[e+8>>3];b[23257]=f;a[46512]=a[e+32>>2];i=+b[e+24>>3];if(i>0.0)b[170]=i;b[23253]=r*r;if(f==0.0)b[23257]=+z(+ +(A|0))*.2*r;return}function bT(A){A=A|0;var e=0;e=a[344]|0;return+(+b[23257]*+(e-A|0)/+(e|0))}function sT(A,e){A=A|0;e=+e;var i=0,f=0,n=0,l=0.0,t=0,c=0.0,s=0.0,w=0.0;i=cd(A)|0;while(1){if(!i)break;t=(a[(a[i+16>>2]|0)+112>>2]|0)+16|0;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;i=bd(A,i)|0}i=0;t=cd(A)|0;while(1){if(!t)break;else n=t;while(1){f=bd(A,n)|0;if(!f)break;n=f;i=(wT(t,f)|0)+i|0}f=Oo(A,t)|0;while(1){if(!f)break;uT(t,a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=_o(A,f)|0}t=bd(A,t)|0}A:do{if(!i)i=0;else{w=e*e;n=cd(A)|0;while(1){if(!n)break A;f=a[n+16>>2]|0;if((r[f+119>>0]|0)!=3){t=a[f+112>>2]|0;c=+b[t+16>>3];l=+b[t+24>>3];s=l*l+c*c;if(s>2]|0;b[f>>3]=+b[f>>3]+c}else{s=+z(+s);f=a[f+132>>2]|0;b[f>>3]=+b[f>>3]+c*e/s;l=l*e/s}t=f+8|0;b[t>>3]=+b[t>>3]+l}n=bd(A,n)|0}}}while(0);return i|0}function wT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0;n=a[(a[e+16>>2]|0)+132>>2]|0;f=a[(a[A+16>>2]|0)+132>>2]|0;i=+b[n>>3]-+b[f>>3];r=+b[n+8>>3]-+b[f+8>>3];return hT(A,e,i,r,r*r+i*i)|0}function uT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0.0,l=0,t=0.0,c=0.0,s=0,w=0;if(!(kT(A,e)|0)){l=a[e+16>>2]|0;w=a[l+132>>2]|0;f=a[A+16>>2]|0;s=a[f+132>>2]|0;r=+b[w>>3]-+b[s>>3];i=+b[w+8>>3]-+b[s+8>>3];n=+z(+(i*i+r*r));t=+oT(A);t=+oT(e)+t;c=n-t;n=c*c/((+b[171]+t)*n);r=n*r;e=a[l+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]-r;i=n*i;e=e+24|0;b[e>>3]=+b[e>>3]-i;e=a[f+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]+r;e=e+24|0;b[e>>3]=+b[e>>3]+i}return}function kT(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0.0,t=0,s=0;t=a[e+16>>2]|0;s=a[t+132>>2]|0;e=a[A+16>>2]|0;A=a[e+132>>2]|0;n=+b[s>>3]-+b[A>>3];l=+b[s+8>>3]-+b[A+8>>3];l=l<0.0?-l:l;A=(r[187376]|0)==0;i=+b[e+32>>3];if(A){f=+c[46842];i=i*.5*f;f=+b[t+32>>3]*.5*f}else{f=+c[46842];i=i*.5+f;f=+b[t+32>>3]*.5+f}if(!((n<0.0?-n:n)<=f+i))e=0;else{i=+b[e+40>>3];if(A){n=+c[46843];f=i*.5*n;i=+b[t+40>>3]*.5*n}else{n=+c[46843];f=i*.5+n;i=+b[t+40>>3]*.5+n}e=l<=i+f&1}return e|0}function oT(A){A=A|0;var e=0.0,i=0.0;A=a[A+16>>2]|0;e=+b[A+32>>3];if(!(r[187376]|0)){i=e*.5*+c[46842];e=+b[A+40>>3]*.5*+c[46843]}else{i=e*.5+ +c[46842];e=+b[A+40>>3]*.5+ +c[46843]}return+ +z(+(e*e+i*i))}function hT(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=+r;f=+f;var n=0,l=0;while(1){if(!(f==0.0))break;f=+(5-((a8()|0)%10|0)|0);r=+(5-((a8()|0)%10|0)|0);i=f;f=r*r+f*f}n=kT(A,e)|0;f=((n|0)==0?+b[23255]:+b[23254])/f;i=f*i;e=a[(a[e+16>>2]|0)+112>>2]|0;l=e+16|0;b[l>>3]=+b[l>>3]+i;f=f*r;e=e+24|0;b[e>>3]=+b[e>>3]+f;e=a[(a[A+16>>2]|0)+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]-i;e=e+24|0;b[e>>3]=+b[e>>3]-f;return n|0}function dT(A){A=A|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;BT(A);return}function BT(A){A=A|0;var e=0,i=0,r=0,f=0;r=qF((vh(A)|0)<<2)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;f=A+16|0;a[(a[f>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;RH(e);a[(a[e+16>>2]|0)+112>>2]=r+(i<<2);a[(a[(a[f>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;e=bd(A,e)|0;i=i+1|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;vT(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function vT(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,0.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function gT(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w+4|0;b=w;r[s>>0]=r[18596]|0;r[s+1>>0]=r[18597]|0;r[s+2>>0]=r[18598]|0;r[s+3>>0]=r[18599]|0;s=kh(91156,s,0)|0;Td(s,91164,280,1)|0;a[(a[A+16>>2]|0)+140>>2]=s;i=cd(A)|0;while(1){if(!i)break;f=i+16|0;if(!(a[a[(a[f>>2]|0)+112>>2]>>2]|0)){c=ET(s,Vh(i)|0,i)|0;a[a[(a[f>>2]|0)+112>>2]>>2]=c}i=bd(A,i)|0}f=cd(A)|0;while(1){if(!f)break;i=Oo(A,f)|0;while(1){if(!i)break;l=a[i>>2]&3;n=a[a[(a[(a[((l|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;l=a[a[(a[(a[((l|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((n|0)!=(l|0))Td(th(s,n,l,0,1)|0,137460,176,1)|0;i=_o(A,i)|0}f=bd(A,f)|0}c=WE(s,b,0)|0;f=0;while(1){if((f|0)>=(a[b>>2]|0))break;l=a[c+(f<<2)>>2]|0;i=cd(l)|0;while(1){if(!i)break;n=Oo(A,a[a[(a[i+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!n)break;t=a[a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((i|0)!=(t|0)){t=th(s,i,t,0,1)|0;Td(t,137460,176,1)|0;wh(l,t,1)|0}n=_o(A,n)|0}i=bd(l,i)|0}f=f+1|0}i=cd(s)|0;while(1){if(!i)break;f=Oo(s,i)|0;while(1){if(!f)break;A=qF(8)|0;a[(a[f+16>>2]|0)+120>>2]=A;f=_o(s,f)|0}i=bd(s,i)|0}a[e>>2]=a[b>>2];k=w;return c|0}function ET(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;e=vd(A,e,1)|0;Td(e,137447,304,1)|0;r=qF(40)|0;A=e+16|0;a[(a[A>>2]|0)+112>>2]=r;r=qF(a[47137]<<3)|0;A=a[A>>2]|0;a[A+132>>2]=r;r=a[i+16>>2]|0;b[A+88>>3]=+b[r+88>>3];b[A+96>>3]=+b[r+96>>3];b[A+80>>3]=+b[r+80>>3];a[a[A+112>>2]>>2]=i;return e|0}function CT(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;e=l+32|0;r=l;if(vh(A)|0){n=gT(A,e)|0;f=a[e>>2]|0;e=a[n>>2]|0;if((f|0)==1){Aw(e,A);IT(a[n>>2]|0);eS(A)|0}else{i=a[e+60>>2]|0;bC(A,2,8,r)|0;e=0;while(1){if((e|0)>=(f|0))break;t=a[n+(e<<2)>>2]|0;Aw(t,A);eS(t)|0;e=e+1|0}cC(f,n,i,r)|0;e=0;while(1){if((e|0)>=(f|0))break;IT(a[n+(e<<2)>>2]|0);e=e+1|0}}L2(n)}k=l;return}function IT(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;r=a[i+132>>2]|0;i=a[(a[(a[a[i+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;b[i>>3]=+b[r>>3];b[i+8>>3]=+b[r+8>>3];e=bd(A,e)|0}return}function ZT(A){A=A|0;if(vh(A)|0){dT(A);CT(A);L2(a[(a[(cd(A)|0)+16>>2]|0)+112>>2]|0);Pp(A);VJ(A)}return}function GT(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;if(e|0){r=A+16|0;QT(a[(a[r>>2]|0)+140>>2]|0);while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}L2(a[(a[r>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483)}return}function QT(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;L2(a[(a[e+16>>2]|0)+120>>2]|0);e=_o(A,e)|0}e=i+16|0;L2(a[(a[e>>2]|0)+112>>2]|0);L2(a[(a[e>>2]|0)+132>>2]|0);i=bd(A,i)|0}Bh(A)|0;return}function mT(A){A=A|0;var e=0,i=0.0,f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+112|0;s=B+40|0;w=B+16|0;d=B+100|0;u=B;l=B+88|0;o=B+56|0;LT(A);n=(a[47137]|0)==2;e=n&1;if(vh(A)|0){h=JT()|0;WT(A,h);Qj(A,w,0)|0;if(n&(a[w>>2]|0)==18){a[h+124>>2]=a[w+8>>2];b[h+144>>3]=+b[w+16>>3];qj(l,A);if(!(r[l+8>>0]|0)){f=.05555555555555555;i=.05555555555555555}else{f=+c[l+4>>2]*.013888888888888888;i=+c[l>>2]*.013888888888888888}b[u>>3]=i;b[u+8>>3]=f;e=0}else a[h+124>>2]=-1;if(0)XT(h);t=WE(A,d,0)|0;if((a[d>>2]|0)==1){a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];yT(A,h,s);if(e|0)Wj(A,w)|0;Pp(A);e=0}else{bC(A,2,8,o)|0;a[o+12>>2]=1;l=(e|0)==0;n=0;while(1){e=a[d>>2]|0;if((n|0)>=(e|0))break;e=a[t+(n<<2)>>2]|0;VE(e)|0;a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];yT(e,h,s);if(!l)Wj(e,w)|0;zH(e,2);Pp(e);n=n+1|0}cC(e,t,A,o)|0;e=0}while(1){if((e|0)>=(a[d>>2]|0))break;Cd(A,a[t+(e<<2)>>2]|0)|0;e=e+1|0}L2(t);NT(h)}VJ(A);k=B;return}function LT(A){A=A|0;var e=0,i=0;zH(A,2);e=kR(A,Yo(A,0,91368,0)|0,2,2)|0;i=(kR(A,Yo(A,0,91374,0)|0,e,2)|0)&65535;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=i;if((l[(a[(Zd(A)|0)+16>>2]|0)+176>>1]|0)<10)i=f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]|0;else i=10;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=i;i=i&65535;a[47137]=i;f[(a[(Zd(A)|0)+16>>2]|0)+178>>1]=(e|0)<(i|0)?e:i;MT(A);return}function WT(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+16|0;f=n+8|0;i=n+12|0;r=e+108|0;a[i>>2]=a[r>>2];if((ep(A,2,i)|0)!=2)ao(0,91169,n)|0;a[r>>2]=a[i>>2];b[e+24>>3]=+oR(A,Yo(A,0,91202,0)|0,-1.0,0.0);b[e>>3]=-+oR(A,Yo(A,0,91204,0)|0,1.0001234,0.0);a[e+40>>2]=kR(A,Yo(A,0,91219,0)|0,2147483647,0)|0;a[e+120>>2]=YT(A,Yo(A,0,91226,0)|0)|0;a[e+132>>2]=DT(A,Yo(A,0,91236,0)|0)|0;a[e+136>>2]=0;a[e+112>>2]=(ER(po(A,91245)|0,0)|0)&255;a[e+128>>2]=(ER(po(A,91254)|0,1)|0)&255;b[e+152>>3]=+oR(A,Yo(A,0,91269,0)|0,0.0,-1797693134862315708145274.0e284);i=kR(A,Yo(A,0,91278,0)|0,0,0)|0;A=e+160|0;a[A>>2]=i;if((i|0)>4){a[f>>2]=i;ao(0,91291,f)|0;a[A>>2]=0}k=n;return}function yT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;f=h;w=h+32|0;t=h+28|0;n=h+24|0;o=h+20|0;u=h+16|0;a[n>>2]=0;a[o>>2]=0;a[u>>2]=0;l=e+136|0;r=a[47137]|0;if((a[l>>2]|0)==1)s=Ij(A,r,u)|0;else s=Ij(A,r,0)|0;do{if((a[e+124>>2]|0)>-1)if((a[e+160>>2]|0)>0){a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];c=Cj(A,f,n,o)|0;break}else{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];c=Cj(A,f,0,0)|0;break}else c=0}while(0);r=zT(A)|0;a[w>>2]=r;switch(a[l>>2]|0){case 1:case 0:{cj(a[47137]|0,s,a[u>>2]|0,e,0,c,r,a[n>>2]|0,a[o>>2]|0,t);break}case 5:{Ej(a[47137]|0,s,r,t);break}case 4:{r=a[u>>2]|0;if(!r)r=Hs(s)|0;else r=uq(r,0)|0;a[u>>2]=r;hj(a[47137]|0,s,r,w,1,200,.001,t);break}default:{}}r=cd(A)|0;while(1){if(!r)break;i=a[47137]|0;n=a[r+16>>2]|0;e=(a[w>>2]|0)+((U(a[n+120>>2]|0,i)|0)<<3)|0;n=n+132|0;f=0;while(1){if((f|0)>=(i|0))break;b[(a[n>>2]|0)+(f<<3)>>3]=+b[e+(f<<3)>>3];f=f+1|0}r=bd(A,r)|0}L2(c);L2(a[w>>2]|0);rq(s);r=a[u>>2]|0;if(r|0)rq(r);r=a[o>>2]|0;if(r|0)L2(r);k=h;return}function zT(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=a[47137]|0;t=qF(U(t<<3,vh(A)|0)|0)|0;A:do{if(Yo(A,1,102623,0)|0){f=cd(A)|0;while(1){if(!f)break A;e=a[f+16>>2]|0;e:do{if(r[e+119>>0]|0){n=a[47137]|0;l=U(n,a[e+120>>2]|0)|0;i=e+132|0;e=0;while(1){if((e|0)>=(n|0))break e;b[t+(l+e<<3)>>3]=+b[(a[i>>2]|0)+(e<<3)>>3];e=e+1|0}}}while(0);f=bd(A,f)|0}}}while(0);return t|0}function YT(A,e){A=A|0;e=e|0;do{if(e){A=Uo(A,e)|0;e=r[A>>0]|0;if((e+-48|0)>>>0<10){A=q3(A)|0;A=(A|0)<5?A:0;break}if(J1(e)|0)if(N1(A,91330)|0)if(N1(A,91339)|0)if(N1(A,135709)|0)if(!(N1(A,91350)|0))A=3;else{A=(N1(A,91361)|0)==0;A=A?4:0}else A=0;else A=1;else A=2;else A=0}else A=0}while(0);return A|0}function DT(A,e){A=A|0;e=e|0;do{if(e){A=Uo(A,e)|0;e=r[A>>0]|0;if((e+-48|0)>>>0<10){A=q3(A)|0;A=A>>>0<3?A:1;break}if(J1(e)|0)if((N1(A,135709)|0)!=0?(N1(A,137308)|0)!=0:0)if(((N1(A,99730)|0)!=0?(N1(A,107652)|0)!=0:0)?(N1(A,107657)|0)!=0:0){A=(N1(A,91325)|0)==0;A=A?2:1}else A=1;else A=0;else A=1}else A=1}while(0);return A|0}function MT(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;RH(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;FT(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function FT(A){A=A|0;Td(A,137460,176,1)|0;VR(A)|0;return}function VT(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}return}function JT(){var A=0,e=0;A=$F(168)|0;b[A>>3]=-1.0001234;b[A+8>>3]=1.0;a[A+16>>2]=1;b[A+24>>3]=-1.0;b[A+32>>3]=.2;a[A+40>>2]=0;a[A+44>>2]=4;a[A+48>>2]=1;a[A+52>>2]=45;a[A+56>>2]=10;b[A+64>>3]=.6;b[A+72>>3]=.001;a[A+80>>2]=500;b[A+88>>3]=.9;b[A+96>>3]=.1;a[A+104>>2]=1;a[A+108>>2]=123;e=A+112|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[A+128>>2]=1;a[A+132>>2]=3;a[A+136>>2]=0;b[A+144>>3]=-4.0;b[A+152>>3]=0.0;a[A+160>>2]=0;return A|0}function NT(A){A=A|0;L2(A);return}function XT(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;e=k;k=k+176|0;i=e+160|0;f=e+152|0;n=e+128|0;c=e+112|0;t=e+88|0;s=e+64|0;w=e+56|0;u=e+40|0;h=e+24|0;o=e+16|0;d=e;r=a[15712]|0;L3(91378,27,1,r)|0;l=+b[A+8>>3];b[d>>3]=+b[A>>3];b[d+8>>3]=l;f3(r,91406,d)|0;d=a[A+108>>2]|0;a[o>>2]=a[A+16>>2];a[o+4>>2]=d;f3(r,91457,o)|0;l=+b[A+32>>3];b[h>>3]=+b[A+24>>3];b[h+8>>3]=l;f3(r,91484,h)|0;h=a[A+44>>2]|0;o=a[A+48>>2]|0;a[u>>2]=a[A+40>>2];a[u+4>>2]=h;a[u+8>>2]=o;f3(r,91507,u)|0;u=a[A+56>>2]|0;a[w>>2]=a[A+52>>2];a[w+4>>2]=u;f3(r,91558,w)|0;l=+b[A+72>>3];w=a[A+80>>2]|0;b[s>>3]=+b[A+64>>3];b[s+8>>3]=l;a[s+16>>2]=w;f3(r,91591,s)|0;l=+b[A+96>>3];s=a[A+104>>2]|0;b[t>>3]=+b[A+88>>3];b[t+8>>3]=l;a[t+16>>2]=s;f3(r,91649,t)|0;t=a[A+116>>2]|0;l=+b[A+152>>3];a[c>>2]=a[A+112>>2];a[c+4>>2]=t;b[c+8>>3]=l;f3(r,91695,c)|0;c=a[A+124>>2]|0;t=a[A+128>>2]|0;l=+b[A+144>>3];a[n>>2]=a[17804+(a[A+120>>2]<<2)>>2];a[n+4>>2]=c;a[n+8>>2]=t;b[n+16>>3]=l;f3(r,91748,n)|0;n=a[17848+(a[A+136>>2]<<2)>>2]|0;a[f>>2]=a[17832+(a[A+132>>2]<<2)>>2];a[f+4>>2]=n;f3(r,91813,f)|0;a[i>>2]=a[A+160>>2];f3(r,91843,i)|0;k=e;return}function RT(A){A=A|0;L2(A);return}function HT(A){A=A|0;var e=0;e=$F(184)|0;a[e>>2]=A;a[e+176>>2]=0;return e|0}function pT(A,e){A=A|0;e=+e;var i=0,r=0,f=0;r=a[A>>2]|0;b[A+8+(r<<3)>>3]=e;f=A+176|0;A:do{switch(a[f>>2]|0){case 0:{i=a[A>>2]|0;if((i|0)==20){a[f>>2]=-1;i=19}else{a[f>>2]=1;i=(i|0)>19?20:i+1|0}a[A>>2]=i;break}case 1:{i=a[A>>2]|0;if((i|0)<20?+b[A+8+(r+-1<<3)>>3]>e:0){a[A>>2]=i+1;break A}else{a[A>>2]=i+-1;a[f>>2]=-1;break A}}default:{i=a[A>>2]|0;if((i|0)>0?+b[A+8+(r+1<<3)>>3]>e:0){a[A>>2]=i+-1;break A}else{a[A>>2]=i+1;a[f>>2]=1;break A}}}}while(0);return}function UT(A){A=A|0;return a[A>>2]|0}function xT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0;k=a[A+20>>2]|0;o=a[A+24>>2]|0;w=a[A>>2]|0;u=a[k+(w<<2)>>2]|0;if(!u)r=1.0;else{A=0;r=0.0;A:while(1){if((A|0)>=(w|0))break;t=A+1|0;c=a[k+(t<<2)>>2]|0;s=U(A,e)|0;l=a[k+(A<<2)>>2]|0;while(1){if((l|0)>=(c|0)){A=t;continue A}n=o+(l<<2)|0;A=0;f=0.0;while(1){if((A|0)>=(e|0))break;h=+b[i+(A+s<<3)>>3]-+b[i+((U(a[n>>2]|0,e)|0)<<3)>>3];A=A+1|0;f=h*h+f}l=l+1|0;r=+z(+f)+r}}r=r/+(u|0)}return+r}function TT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+10|0;if((a[i>>2]|0)<=(e|0)){a[i>>2]=r;a[A>>2]=eV(a[A>>2]|0,r<<3)|0}return}function jT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+10|0;if((a[i>>2]|0)<=(e|0)){a[i>>2]=r;a[A>>2]=eV(a[A>>2]|0,r<<2)|0}return}function ST(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;l=U(r,e)|0;e=U(i,e)|0;r=0;while(1){if((r|0)==2)break;b[t+(r<<3)>>3]=+b[A+(r+l<<3)>>3]-+b[A+(r+e<<3)>>3];r=r+1|0}n=+b[t>>3];a=+b[t+8>>3];do{if(!((n>=0.0?n:-n)<=(a>=0.0?a:-a)*1.0e-05)){f=+N(+(a/n));if(n>0.0){if(!(a<0.0))break;f=f+6.283185307179586;break}else{if(!(n<0.0))break;f=f+3.141592653589793;break}}else f=a>0.0?1.5707963267948966:4.71238898038469}while(0);k=c;return+f}function PT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];i=+b[e>>3];return(r>i?1:(r>31)|0}function OT(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0,w=0.0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0,L=0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0,R=0,H=0,p=0.0,x=0,T=0.0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0.0;q=k;k=k+80|0;_=q+32|0;K=q;o=+b[i>>3];s=i+24|0;w=+b[s>>3];u=i+32|0;t=+b[u>>3];p=+b[i+72>>3];x=a[i+80>>2]|0;T=+b[i+88>>3];h=+b[i+96>>3];j=a[i+104>>2]|0;S=i+56|0;l=a[S>>2]|0;do{if(!((e|0)==0|(x|0)<1)?(P=a[e+4>>2]|0,!((A|0)<1|(P|0)<1)):0){H=a[e>>2]|0;O=HT(l)|0;a[n>>2]=0;if((H|0)!=(P|0)){a[n>>2]=-100;RT(O);a[S>>2]=l;break}X=tq(e,1)|0;R=a[X+20>>2]|0;H=a[X+24>>2]|0;A:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);c=U(P,A)|0;l=0;while(1){if((l|0)>=(c|0))break A;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(w<0.0){w=+xT(X,A,f);b[s>>3]=w}if(t<0.0){b[u>>3]=.2;t=.2}if(o>=0.0){b[i>>3]=-1.0;o=-1.0}N=+Y(+w,+(1.0-o));Q=+Y(+t,+((2.0-o)*.3333333333333333))/w;m=U(P,A<<3)|0;L=$F(m)|0;W=$F(m)|0;y=i+116|0;D=i+64|0;M=a[15712]|0;F=X+8|0;V=K+8|0;J=K+16|0;Z=0;G=0.0;E=h;while(1){y6(L|0,f|0,m|0)|0;C=UT(O)|0;I=P_(A,P,C,f,(a[y>>2]|0)==0?0:r)|0;U_(I,W,f,+b[D>>3],o,N,K,n);s=0;A:while(1){if((s|0)>=(P|0)){h=0.0;c=0;break}u=U(s,A)|0;d=W+(u<<3)|0;B=s+1|0;v=R+(B<<2)|0;c=a[R+(s<<2)>>2]|0;while(1){if((c|0)>=(a[v>>2]|0)){s=B;continue A}g=H+(c<<2)|0;l=a[g>>2]|0;e:do{if((l|0)!=(s|0)){t=+_s(f,A,s,l)*Q;l=0;while(1){if((l|0)>=(A|0))break e;h=t*(+b[f+(l+u<<3)>>3]-+b[f+((U(a[g>>2]|0,A)|0)+l<<3)>>3]);$=d+(l<<3)|0;b[$>>3]=+b[$>>3]-h;l=l+1|0}}}while(0);c=c+1|0}}while(1){if((c|0)>=(P|0))break;s=U(c,A)|0;u=W+(s<<3)|0;t=0.0;l=0;while(1){if((l|0)>=(A|0))break;AA=+b[u+(l<<3)>>3];t=AA*AA+t;l=l+1|0}t=+z(+t);h=t+h;A:do{if(t>0.0){t=1.0/t;l=0;while(1){if((l|0)>=(A|0)){l=0;break A}$=u+(l<<3)|0;b[$>>3]=+b[$>>3]*t;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(A|0))break;$=f+(l+s<<3)|0;b[$>>3]=+b[$>>3]+ +b[u+(l<<3)>>3]*E;l=l+1|0}c=c+1|0}Z=Z+1|0;if(!I){if(0){$=a[F>>2]|0;a[_>>2]=Z;b[_+8>>3]=E;b[_+16>>3]=h;a[_+24>>2]=$;b[_+32>>3]=w;f3(M,92099,_)|0}}else{eq(I);pT(O,+b[V>>3]*.85+ +b[K>>3]+ +b[J>>3]*3.3)}E=+KT(j,E,h,G,T);if(!((Z|0)<(x|0)&E>p))break;else G=h}if(a[i+112>>2]|0)_T(A,X,f);RT(O);a[S>>2]=C;L2(L);if((X|0)!=(e|0))rq(X);L2(W)}}while(0);k=q;return}function KT(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;do{if(A){if(i>=r){e=f*e;break}if(!(r*.95>2]|0;L=a[e+20>>2]|0;v=a[e+24>>2]|0;a[E>>2]=10;a[Q>>2]=10;g=$F(m<<2)|0;f=$F(80)|0;a[Z>>2]=f;r=$F(40)|0;a[G>>2]=r;e=0;while(1){if((e|0)>=(m|0)){w=0;d=f;c=r;u=r;s=f;break}a[g+(e<<2)>>2]=0;e=e+1|0}while(1){if((w|0)>=(m|0))break;e=a[L+(w<<2)>>2]|0;A:do{if((((a[L+(w+1<<2)>>2]|0)-e|0)==1?(a[g+(w<<2)>>2]|0)==0:0)?(C=a[v+(e<<2)>>2]|0,I=g+(C<<2)|0,(a[I>>2]|0)==0):0){a[I>>2]=1;h=L+(C+1<<2)|0;w=0;B=0;n=0.0;o=a[L+(C<<2)>>2]|0;c=u;e=d;while(1){if((o|0)>=(a[h>>2]|0))break;r=v+(o<<2)|0;f=a[r>>2]|0;if(((a[L+(f+1<<2)>>2]|0)-(a[L+(f<<2)>>2]|0)|0)==1){a[g+(f<<2)>>2]=1;jT(G,B,E);n=+_s(i,A,C,a[r>>2]|0)+n;c=a[G>>2]|0;a[c+(B<<2)>>2]=a[r>>2];r=w;f=B+1|0}else{TT(Z,w,Q);t=+ST(i,A,C,a[r>>2]|0);e=a[Z>>2]|0;b[e+(w<<3)>>3]=t;r=w+1|0;f=B;s=e}w=r;B=f;o=o+1|0}t=n/+(B|0);if((w|0)>0){qT(w,s);e=s}n=(B|0)>1?6.283185307179586/+(B+-1|0):0.0;r=0;l=0.0;while(1){if((r|0)>=(B|0)){u=c;f=c;break A}$T(i,A,t,l,C,a[c+(r<<2)>>2]|0);r=r+1|0;l=l+n}}else{r=w;f=c;e=d}}while(0);w=r+1|0;d=e;c=f}L2(g);L2(d);L2(c);k=W;return}function qT(A,e){A=A|0;e=e|0;K4(e,A,8,68);return}function $T(A,e,i,r,f,a){A=A|0;e=e|0;i=+i;r=+r;f=f|0;a=a|0;var n=0.0;n=+D(+r)*i;f=U(f,e)|0;a=U(a,e)|0;b[A+(a<<3)>>3]=n+ +b[A+(f<<3)>>3];r=+M(+r)*i;b[A+(a+1<<3)>>3]=r+ +b[A+(f+1<<3)>>3];return}function Aj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,k=0.0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0,m=0.0,L=0.0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0.0,H=0,p=0.0,x=0,T=0,j=0,S=0,P=0.0;k=+b[i>>3];w=i+24|0;s=+b[w>>3];u=i+32|0;c=+b[u>>3];R=+b[i+72>>3];H=a[i+80>>2]|0;p=+b[i+88>>3];d=+b[i+96>>3];x=a[i+104>>2]|0;l=a[i+56>>2]|0;L3(92198,32,1,a[15712]|0)|0;if(!((e|0)==0|(H|0)<1)?(T=a[e>>2]|0,t=a[e+4>>2]|0,!((A|0)<1|(t|0)<1)):0){o=A<<3;j=$F(U(o,t)|0)|0;if((t|0)<(a[i+52>>2]|0)){M=0;F=0;V=0;J=0;N=0;X=0}else{HT(l)|0;J=$F(A*80|0)|0;N=$F(80)|0;X=$F(80)|0;M=X;F=N;V=J}a[n>>2]=0;if((T|0)==(t|0)){W=tq(e,1)|0;y=a[W+20>>2]|0;D=a[W+24>>2]|0;A:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);t=U(T,A)|0;l=0;while(1){if((l|0)>=(t|0))break A;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(s<0.0){s=+xT(W,A,f);b[w>>3]=s}if(c<0.0){b[u>>3]=.2;c=.2}if(k>=0.0){b[i>>3]=-1.0;k=-1.0}m=1.0-k;L=+Y(+s,+m);G=+Y(+c,+((2.0-k)*.3333333333333333))/s;Q=$F(o)|0;g=U(T,o)|0;E=$F(g)|0;C=U(T,A)|0;I=i+116|0;Z=(r|0)!=0;v=k==-1.0;B=0;k=0.0;while(1){l=0;while(1){if((l|0)>=(C|0))break;b[j+(l<<3)>>3]=0.0;l=l+1|0}y6(E|0,f|0,g|0)|0;o=0;while(1){if((o|0)<(T|0))l=0;else{u=0;break}while(1){if((l|0)>=(A|0))break;b[Q+(l<<3)>>3]=0.0;l=l+1|0}u=U(o,A)|0;A:do{if(Z&(a[I>>2]|0)!=0){l=0;while(1){if((l|0)==(T|0)){l=0;break A}e:do{if((l|0)!=(o|0)){s=+Ks(f,A,o,l);n=r+(l<<3)|0;w=U(l,A)|0;c=+Y(+s,+m);c=1.0/(v?s*s:c);t=0;while(1){if((t|0)>=(A|0))break e;h=Q+(t<<3)|0;b[h>>3]=+b[n>>3]*L*(+b[f+(t+u<<3)>>3]-+b[f+(t+w<<3)>>3])*c+ +b[h>>3];t=t+1|0}}}while(0);l=l+1|0}}else{l=0;while(1){if((l|0)==(T|0)){l=0;break A}e:do{if((l|0)!=(o|0)){s=+Ks(f,A,o,l);n=U(l,A)|0;c=+Y(+s,+m);c=1.0/(v?s*s:c);t=0;while(1){if((t|0)>=(A|0))break e;h=Q+(t<<3)|0;b[h>>3]=(+b[f+(t+u<<3)>>3]-+b[f+(t+n<<3)>>3])*L*c+ +b[h>>3];t=t+1|0}}}while(0);l=l+1|0}}}while(0);while(1){if((l|0)>=(A|0))break;h=j+(l+u<<3)|0;b[h>>3]=+b[h>>3]+ +b[Q+(l<<3)>>3];l=l+1|0}o=o+1|0}A:while(1){if((u|0)<(T|0))l=0;else{s=0.0;t=0;break}while(1){if((l|0)>=(A|0))break;b[Q+(l<<3)>>3]=0.0;l=l+1|0}o=u+1|0;n=y+(o<<2)|0;h=U(u,A)|0;t=a[y+(u<<2)>>2]|0;while(1){if((t|0)>=(a[n>>2]|0)){l=0;break}w=D+(t<<2)|0;l=a[w>>2]|0;e:do{if((l|0)!=(u|0)){c=+_s(f,A,u,l)*G;l=0;while(1){if((l|0)>=(A|0))break e;s=c*(+b[f+(l+h<<3)>>3]-+b[f+((U(a[w>>2]|0,A)|0)+l<<3)>>3]);S=Q+(l<<3)|0;b[S>>3]=+b[S>>3]-s;l=l+1|0}}}while(0);t=t+1|0}while(1){if((l|0)>=(A|0)){u=o;continue A}S=j+(l+h<<3)|0;b[S>>3]=+b[S>>3]+ +b[Q+(l<<3)>>3];l=l+1|0}}while(1){if((t|0)>=(T|0))break;n=U(t,A)|0;l=0;while(1){if((l|0)>=(A|0)){c=0.0;l=0;break}b[Q+(l<<3)>>3]=+b[j+(l+n<<3)>>3];l=l+1|0}while(1){if((l|0)>=(A|0))break;P=+b[Q+(l<<3)>>3];c=P*P+c;l=l+1|0}c=+z(+c);s=c+s;A:do{if(c>0.0){c=1.0/c;l=0;while(1){if((l|0)>=(A|0)){l=0;break A}S=Q+(l<<3)|0;b[S>>3]=+b[S>>3]*c;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(A|0))break;S=f+(l+n<<3)|0;b[S>>3]=+b[S>>3]+ +b[Q+(l<<3)>>3]*d;l=l+1|0}t=t+1|0}B=B+1|0;d=+KT(x,d,s,k,p);if(!((B|0)<(H|0)&d>R))break;else k=s}if(a[i+112>>2]|0)_T(A,W,f);L2(E);if((W|0)!=(e|0))rq(W);L2(Q)}else a[n>>2]=-100;if(V|0)L2(J);if(F|0)L2(N);if(M|0)L2(X);L2(j)}return}function ej(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0,y=0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0.0,R=0.0,H=0,p=0,x=0,T=0,j=0,S=0.0,P=0,O=0.0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0.0,tA=0;nA=k;k=k+32|0;q=nA+24|0;$=nA+20|0;rA=nA+16|0;fA=nA+12|0;aA=nA+8|0;j=nA;B=+b[i>>3];c=i+24|0;d=+b[c>>3];s=i+32|0;h=+b[s>>3];S=+b[i+72>>3];P=a[i+80>>2]|0;O=+b[i+88>>3];v=+b[i+96>>3];K=a[i+104>>2]|0;a[q>>2]=0;a[$>>2]=10;a[rA>>2]=0;a[fA>>2]=0;a[aA>>2]=0;b[j>>3]=0.0;iA=i+56|0;w=a[iA>>2]|0;if(!((e|0)==0|(P|0)<1)?(_=a[e>>2]|0,l=a[e+4>>2]|0,!((A|0)<1|(l|0)<1)):0){if((l|0)<(a[i+52>>2]|0)){eA=0;AA=0}else{eA=HT(w)|0;a[rA>>2]=$F(A*80|0)|0;a[fA>>2]=$F(80)|0;a[aA>>2]=$F(80)|0;AA=1}a[n>>2]=0;A:do{if((_|0)==(l|0)){u=tq(e,1)|0;H=a[u+20>>2]|0;p=a[u+24>>2]|0;e:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);t=U(_,A)|0;l=0;while(1){if((l|0)>=(t|0))break e;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(d<0.0){d=+xT(u,A,f);b[c>>3]=d}if(h<0.0){b[s>>3]=.2;h=.2}if(B>=0.0){b[i>>3]=-1.0;B=-1.0}X=1.0-B;R=+Y(+d,+X);M=+Y(+h,+((2.0-B)*.3333333333333333))/d;F=A<<3;x=$F(F)|0;F=U(_,F)|0;T=$F(F)|0;V=(AA|0)!=0;J=i+116|0;N=i+64|0;W=B==-1.0;y=(r|0)!=0;D=1.0/+(_|0);l=0;m=0;L=0.0;while(1){m=m+1|0;y6(T|0,f|0,F|0)|0;if(V){l=UT(eA)|0;w=l;l=P_(A,_,l,f,(a[J>>2]|0)==0?0:r)|0}g=0.0;B=0.0;E=0;d=0.0;e:while(1){if((E|0)<(_|0))t=0;else break;while(1){if((t|0)>=(A|0))break;b[x+(t<<3)>>3]=0.0;t=t+1|0}G=E+1|0;s=H+(G<<2)|0;Q=U(E,A)|0;c=a[H+(E<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;o=p+(c<<2)|0;t=a[o>>2]|0;i:do{if((t|0)!=(E|0)){h=+_s(f,A,E,t)*M;t=0;while(1){if((t|0)>=(A|0))break i;lA=h*(+b[f+(t+Q<<3)>>3]-+b[f+((U(a[o>>2]|0,A)|0)+t<<3)>>3]);Z=x+(t<<3)|0;b[Z>>3]=+b[Z>>3]-lA;t=t+1|0}}}while(0);c=c+1|0}i:do{if(!V)if(y&(a[J>>2]|0)!=0){t=0;while(1){if((t|0)==(_|0))break i;r:do{if((t|0)!=(E|0)){lA=+Ks(f,A,E,t);s=r+(t<<3)|0;o=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break r;Z=x+(c<<3)|0;b[Z>>3]=+b[s>>3]*R*(+b[f+(c+Q<<3)>>3]-+b[f+(c+o<<3)>>3])*h+ +b[Z>>3];c=c+1|0}}}while(0);t=t+1|0}}else{t=0;while(1){if((t|0)==(_|0))break i;r:do{if((t|0)!=(E|0)){lA=+Ks(f,A,E,t);s=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break r;Z=x+(c<<3)|0;b[Z>>3]=(+b[f+(c+Q<<3)>>3]-+b[f+(c+s<<3)>>3])*R*h+ +b[Z>>3];c=c+1|0}}}while(0);t=t+1|0}}else{p_(l,+b[N>>3],f+(Q<<3)|0,E,q,$,rA,fA,aA,j,n);g=+b[j>>3]+g;Z=a[q>>2]|0;B=B+ +(Z|0);if(a[n>>2]|0){s=x;c=T;l=x;t=T;o=67;break A}s=a[aA>>2]|0;o=a[fA>>2]|0;E=a[rA>>2]|0;t=0;while(1){if((t|0)>=(Z|0))break i;lA=+b[s+(t<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;C=o+(t<<3)|0;I=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break;tA=x+(c<<3)|0;b[tA>>3]=+b[C>>3]*R*(+b[f+(c+Q<<3)>>3]-+b[E+(c+I<<3)>>3])*h+ +b[tA>>3];c=c+1|0}t=t+1|0}}}while(0);h=0.0;t=0;while(1){if((t|0)>=(A|0))break;lA=+b[x+(t<<3)>>3];h=lA*lA+h;t=t+1|0}h=+z(+h);d=h+d;i:do{if(h>0.0){h=1.0/h;t=0;while(1){if((t|0)>=(A|0)){t=0;break i}tA=x+(t<<3)|0;b[tA>>3]=+b[tA>>3]*h;t=t+1|0}}else t=0}while(0);while(1){if((t|0)>=(A|0)){E=G;continue e}tA=f+(t+Q<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[x+(t<<3)>>3]*v;t=t+1|0}}if(l|0){eq(l);pT(eA,B*D*5.0+g*D)}v=+KT(K,v,d,L,O);if(!((m|0)<(P|0)&v>S))break;else L=d}if(!(a[i+112>>2]|0)){s=x;c=T;t=T;l=x;o=66}else{_T(A,u,f);s=x;c=T;t=T;l=x;o=66}}else{a[n>>2]=-100;u=e;s=0;c=0;t=0;l=0;o=66}}while(0);if((o|0)==66)if(AA)o=67;if((o|0)==67){RT(eA);a[iA>>2]=w}if(c|0)L2(t);if((u|0)!=(e|0))rq(u);if(s|0)L2(l);l=a[rA>>2]|0;if(l|0)L2(l);l=a[fA>>2]|0;if(l|0)L2(l);l=a[aA>>2]|0;if(l|0)L2(l)}k=nA;return}function ij(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=+l;t=t|0;var c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0.0,G=0,Q=0,m=0.0,L=0,W=0.0,y=0.0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0.0,_=0,q=0.0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0.0,tA=0;nA=k;k=k+48|0;u=nA+8|0;eA=nA+40|0;iA=nA+36|0;P=nA+32|0;fA=nA+28|0;aA=nA+24|0;O=nA;o=+b[r>>3];h=r+32|0;d=+b[h>>3];K=+b[r+72>>3];_=a[r+80>>2]|0;q=+b[r+88>>3];v=+b[r+96>>3];$=a[r+104>>2]|0;a[eA>>2]=0;a[iA>>2]=10;a[P>>2]=0;a[fA>>2]=0;a[aA>>2]=0;b[O>>3]=0.0;if(!((e|0)==0|(_|0)<1)?(AA=a[e>>2]|0,w=a[e+4>>2]|0,!((A|0)<1|(w|0)<1)):0){if((a[r+132>>2]|0)!=0?(w|0)>=(a[r+52>>2]|0):0){s=$F(A*80|0)|0;a[P>>2]=s;a[fA>>2]=$F(80)|0;a[aA>>2]=$F(80)|0;B=1;c=s}else{B=0;c=0;s=0}a[t>>2]=0;if((AA|0)==(w|0)){S=tq(e,1)|0;if(!i){j=0;c=S}else{j=a[i+28>>2]|0;c=i}T=a[c+24>>2]|0;x=a[c+20>>2]|0;if(l<0.0){y=+rj(AA,x,j);W=+(a[x+(AA<<2)>>2]|0);m=+(AA|0);l=W/(m*m-W)*l/+Y(+y,+(o+1.0));p=a[15712]|0;b[u>>3]=y;b[u+8>>3]=l;f3(p,92231,u)|0}A:do{if(a[r+16>>2]|0){L3(92253,24,1,a[15712]|0)|0;f8(a[r+108>>2]|0);s=U(AA,A)|0;c=0;while(1){if((c|0)>=(s|0))break A;b[n+(c<<3)>>3]=+Us();c=c+1|0}}}while(0);fj(AA,A,n,x,T,j);if(d<0.0)b[h>>3]=.2;if(o>=0.0){b[r>>3]=-1.0;o=-1.0}H=A<<3;R=$F(H)|0;H=U(AA,H)|0;p=$F(H)|0;M=(B|0)!=0;F=r+116|0;V=(j|0)==0;J=r+8|0;N=(f|0)!=0;X=o==-1.0;y=1.0-o;D=r+64|0;c=0;L=0;W=0.0;o=1.0;m=v;A:while(1){L=L+1|0;y6(p|0,n|0,H|0)|0;if(M)c=P_(A,AA,10,n,(a[F>>2]|0)==0?0:f)|0;B=0;v=0.0;e:while(1){if((B|0)<(AA|0))s=0;else break;while(1){if((s|0)>=(A|0))break;b[R+(s<<3)>>3]=0.0;s=s+1|0}Q=B+1|0;h=x+(Q<<2)|0;G=U(B,A)|0;u=a[x+(B<<2)>>2]|0;while(1){if((u|0)>=(a[h>>2]|0))break;i=T+(u<<2)|0;s=a[i>>2]|0;i:do{if((s|0)!=(B|0)){Z=+Ks(n,A,B,s);if(!V)o=+b[j+(u<<3)>>3];d=+b[J>>3];r:do{if(!(d==2.0))if(d==1.0){d=(Z-o)*(1.0/(o*o));g=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;E=d*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*g;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-E;s=s+1|0}}else{d=1.0/+Y(+o,+(d+1.0));g=Z-o;E=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;lA=+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3];lA=d*lA*+Y(+g,+ +b[J>>3])*E;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}else{d=Z-o;d=d*d*(1.0/(o*o*o));g=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;lA=d*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*g;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}}while(0);if(N&(a[F>>2]|0)!=0){w=f+(u<<3)|0;d=+Y(+Z,+y);d=1.0/(X?Z*Z:d);s=0;while(1){if((s|0)>=(A|0))break i;lA=+b[w>>3]*l*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*d;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}else{d=+Y(+Z,+y);d=1.0/(X?Z*Z:d);s=0;while(1){if((s|0)>=(A|0))break i;lA=(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*l*d;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}}}while(0);u=u+1|0}i:do{if(!M)if(N&(a[F>>2]|0)!=0){s=0;while(1){if((s|0)==(AA|0)){d=0.0;s=0;break i}r:do{if((s|0)!=(B|0)){lA=+Ks(n,A,B,s);i=f+(s<<3)|0;u=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break r;I=R+(w<<3)|0;b[I>>3]=+b[i>>3]*l*(+b[n+(w+G<<3)>>3]-+b[n+(w+u<<3)>>3])*d+ +b[I>>3];w=w+1|0}}}while(0);s=s+1|0}}else{s=0;while(1){if((s|0)==(AA|0)){d=0.0;s=0;break i}r:do{if((s|0)!=(B|0)){lA=+Ks(n,A,B,s);i=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break r;I=R+(w<<3)|0;b[I>>3]=(+b[n+(w+G<<3)>>3]-+b[n+(w+i<<3)>>3])*l*d+ +b[I>>3];w=w+1|0}}}while(0);s=s+1|0}}else{p_(c,+b[D>>3],n+(G<<3)|0,B,eA,iA,P,fA,aA,O,t);i=a[eA>>2]|0;if(a[t>>2]|0)break A;u=a[aA>>2]|0;h=a[fA>>2]|0;B=a[P>>2]|0;s=0;while(1){if((s|0)>=(i|0)){d=0.0;s=0;break i}lA=+b[u+(s<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;C=h+(s<<3)|0;I=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break;tA=R+(w<<3)|0;b[tA>>3]=+b[C>>3]*l*(+b[n+(w+G<<3)>>3]-+b[B+(w+I<<3)>>3])*d+ +b[tA>>3];w=w+1|0}s=s+1|0}}}while(0);while(1){if((s|0)>=(A|0))break;lA=+b[R+(s<<3)>>3];d=lA*lA+d;s=s+1|0}d=+z(+d);v=d+v;i:do{if(d>0.0){d=1.0/d;s=0;while(1){if((s|0)>=(A|0)){s=0;break i}tA=R+(s<<3)|0;b[tA>>3]=+b[tA>>3]*d;s=s+1|0}}else s=0}while(0);while(1){if((s|0)>=(A|0)){B=Q;continue e}tA=n+(s+G<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[R+(s<<3)>>3]*m;s=s+1|0}}if(c|0)eq(c);m=+KT($,m,v,W,q);if(!((L|0)<(_|0)&m>K)){rA=83;break}else W=v}if((rA|0)==83?a[r+112>>2]|0:0)_T(A,S,n);L2(p);if((S|0)!=(e|0))rq(S);L2(R);c=a[P>>2]|0;s=c}else a[t>>2]=-100;if(s|0)L2(c);c=a[fA>>2]|0;if(c|0)L2(c);c=a[aA>>2]|0;if(c|0)L2(c)}k=nA;return}function rj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0.0;if(!i)r=1.0;else{f=0;r=0.0;A:while(1){if((f|0)>=(A|0))break;n=f+1|0;l=a[e+(n<<2)>>2]|0;f=a[e+(f<<2)>>2]|0;while(1){if((f|0)>=(l|0)){f=n;continue A}t=+b[i+(f<<3)>>3]+r;f=f+1|0;r=t}}r=r/+(a[e+(A<<2)>>2]|0)}return+r}function fj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0;E=k;k=k+16|0;g=E;v=(n|0)==0;c=0.0;s=0.0;w=1.0;t=0;A:while(1){if((t|0)>=(A|0))break;d=t+1|0;B=r+(d<<2)|0;h=a[r+(t<<2)>>2]|0;while(1){if((h|0)>=(a[B>>2]|0)){t=d;continue A}l=a[f+(h<<2)>>2]|0;e:do{if((l|0)!=(t|0)){u=+Ks(i,e,t,l);if(!v)w=+b[n+(h<<3)>>3];C=1.0/(w*w);o=w*u*C;u=u*u*C;l=0;while(1){if((l|0)>=(e|0))break e;l=l+1|0;c=c+u;s=s+o}}}while(0);h=h+1|0}}c=s/c;t=U(e,A)|0;l=0;while(1){if((l|0)>=(t|0))break;e=i+(l<<3)|0;b[e>>3]=+b[e>>3]*c;l=l+1|0}i=a[15712]|0;b[g>>3]=c;f3(i,92278,g)|0;k=E;return}function aj(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0.0,u=0.0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0,W=0,y=0.0,D=0,M=0.0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0.0,O=0,K=0.0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0.0,lA=0.0,tA=0;aA=k;k=k+32|0;$=aA+24|0;AA=aA+20|0;eA=aA+16|0;rA=aA+12|0;fA=aA+8|0;S=aA;d=+b[r>>3];o=r+24|0;u=+b[o>>3];h=r+32|0;w=+b[h>>3];P=+b[r+72>>3];O=a[r+80>>2]|0;K=+b[r+88>>3];E=+b[r+96>>3];_=a[r+104>>2]|0;a[$>>2]=0;a[AA>>2]=10;a[eA>>2]=0;a[rA>>2]=0;a[fA>>2]=0;b[S>>3]=0.0;if(!((e|0)==0|(O|0)<1)?(q=a[e>>2]|0,s=a[e+4>>2]|0,!((A|0)<1|(s|0)<1)):0){if((s|0)<(a[r+52>>2]|0)){B=0;t=0;c=0}else{c=$F(A*80|0)|0;a[eA>>2]=c;a[rA>>2]=$F(80)|0;a[fA>>2]=$F(80)|0;B=1;t=c}a[l>>2]=0;if((q|0)==(s|0)){H=tq(e,1)|0;p=a[H+20>>2]|0;x=a[H+24>>2]|0;T=a[i+20>>2]|0;j=a[i+24>>2]|0;R=a[i+28>>2]|0;A:do{if(a[r+16>>2]|0){f8(a[r+108>>2]|0);c=U(q,A)|0;t=0;while(1){if((t|0)>=(c|0))break A;b[n+(t<<3)>>3]=+Us();t=t+1|0}}}while(0);if(u<0.0){u=+xT(H,A,n);b[o>>3]=u}if(w<0.0){b[h>>3]=.2;w=.2}if(d>=0.0){b[r>>3]=-1.0;d=-1.0}N=1.0-d;X=+Y(+u,+N);M=+Y(+w,+((2.0-d)*.3333333333333333))/u;V=A<<3;F=$F(V)|0;V=U(q,V)|0;J=$F(V)|0;L=(B|0)!=0;W=r+116|0;y=M*.2;D=r+64|0;Q=d==-1.0;m=(f|0)!=0;t=0;Z=0;G=0.0;A:while(1){Z=Z+1|0;y6(J|0,n|0,V|0)|0;if(L)t=P_(A,q,10,n,(a[W>>2]|0)==0?0:f)|0;B=0;u=0.0;e:while(1){if((B|0)<(q|0))c=0;else break;while(1){if((c|0)>=(A|0))break;b[F+(c<<3)>>3]=0.0;c=c+1|0}C=B+1|0;i=p+(C<<2)|0;I=U(B,A)|0;s=a[p+(B<<2)>>2]|0;while(1){if((s|0)>=(a[i>>2]|0))break;o=x+(s<<2)|0;c=a[o>>2]|0;i:do{if((c|0)!=(B|0)){w=+_s(n,A,B,c)*M;c=0;while(1){if((c|0)>=(A|0))break i;d=w*(+b[n+(c+I<<3)>>3]-+b[n+((U(a[o>>2]|0,A)|0)+c<<3)>>3]);g=F+(c<<3)|0;b[g>>3]=+b[g>>3]-d;c=c+1|0}}}while(0);s=s+1|0}o=T+(C<<2)|0;i=a[T+(B<<2)>>2]|0;while(1){if((i|0)>=(a[o>>2]|0))break;h=j+(i<<2)|0;c=a[h>>2]|0;i:do{if((c|0)!=(B|0)){w=+Ks(n,A,B,c);s=R+(i<<3)|0;d=1.0/w;c=0;while(1){if((c|0)>=(A|0))break i;lA=+b[s>>3];nA=w-lA;nA=nA*nA*y*(+b[n+(c+I<<3)>>3]-+b[n+((U(a[h>>2]|0,A)|0)+c<<3)>>3])*d;g=F+(c<<3)|0;b[g>>3]=(w>3];c=c+1|0}}}while(0);i=i+1|0}i:do{if(!L)if(m&(a[W>>2]|0)!=0){c=0;while(1){if((c|0)==(q|0)){w=0.0;c=0;break i}r:do{if((c|0)!=(B|0)){lA=+Ks(n,A,B,c);i=f+(c<<3)|0;o=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break r;g=F+(s<<3)|0;b[g>>3]=+b[i>>3]*X*(+b[n+(s+I<<3)>>3]-+b[n+(s+o<<3)>>3])*w+ +b[g>>3];s=s+1|0}}}while(0);c=c+1|0}}else{c=0;while(1){if((c|0)==(q|0)){w=0.0;c=0;break i}r:do{if((c|0)!=(B|0)){lA=+Ks(n,A,B,c);i=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break r;g=F+(s<<3)|0;b[g>>3]=(+b[n+(s+I<<3)>>3]-+b[n+(s+i<<3)>>3])*X*w+ +b[g>>3];s=s+1|0}}}while(0);c=c+1|0}}else{p_(t,+b[D>>3],n+(I<<3)|0,B,$,AA,eA,rA,fA,S,l);i=a[$>>2]|0;if(a[l>>2]|0)break A;o=a[fA>>2]|0;h=a[rA>>2]|0;B=a[eA>>2]|0;c=0;while(1){if((c|0)>=(i|0)){w=0.0;c=0;break i}lA=+b[o+(c<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;v=h+(c<<3)|0;g=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break;tA=F+(s<<3)|0;b[tA>>3]=+b[v>>3]*X*(+b[n+(s+I<<3)>>3]-+b[B+(s+g<<3)>>3])*w+ +b[tA>>3];s=s+1|0}c=c+1|0}}}while(0);while(1){if((c|0)>=(A|0))break;lA=+b[F+(c<<3)>>3];w=lA*lA+w;c=c+1|0}w=+z(+w);u=w+u;i:do{if(w>0.0){w=1.0/w;c=0;while(1){if((c|0)>=(A|0)){c=0;break i}tA=F+(c<<3)|0;b[tA>>3]=+b[tA>>3]*w;c=c+1|0}}else c=0}while(0);while(1){if((c|0)>=(A|0)){B=C;continue e}tA=n+(c+I<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[F+(c<<3)>>3]*E;c=c+1|0}}if(t|0)eq(t);E=+KT(_,E,u,G,K);if(!((Z|0)<(O|0)&E>P)){iA=70;break}else G=u}if((iA|0)==70?a[r+112>>2]|0:0)_T(A,H,n);L2(J);if((H|0)!=(e|0))rq(H);L2(F);t=a[eA>>2]|0;c=t}else a[l>>2]=-100;if(c|0)L2(t);t=a[rA>>2]|0;if(t|0)L2(t);t=a[fA>>2]|0;if(t|0)L2(t)}k=aA;return}function nj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0;u=a[e+20>>2]|0;k=a[e+24>>2]|0;o=$F(A<<3)|0;w=a[e>>2]|0;c=0;A:while(1){if((c|0)<(w|0))e=0;else break;while(1){if((e|0)>=(A|0))break;b[o+(e<<3)>>3]=0.0;e=e+1|0}s=c+1|0;t=a[u+(s<<2)>>2]|0;l=a[u+(c<<2)>>2]|0;e=0;while(1){if((l|0)>=(t|0))break;r=a[k+(l<<2)>>2]|0;if((r|0)!=(c|0)){n=U(r,A)|0;r=0;while(1){if((r|0)>=(A|0))break;h=o+(r<<3)|0;b[h>>3]=+b[h>>3]+ +b[i+(n+r<<3)>>3];r=r+1|0}e=e+1|0}l=l+1|0}if((e|0)<=0){c=s;continue}f=.5/+(e|0);r=U(c,A)|0;e=0;while(1){if((e|0)>=(A|0)){c=s;continue A}h=i+(e+r<<3)|0;b[h>>3]=+b[o+(e<<3)>>3]*f+ +b[h>>3]*.5;e=e+1|0}}L2(o);return}function lj(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0.0;t=a[A+20>>2]|0;c=a[A+24>>2]|0;l=a[A>>2]|0;b=$F((l<<2)+4|0)|0;A=0;while(1){if((A|0)>(l|0)){i=0;r=0;break}a[b+(A<<2)>>2]=0;A=A+1|0}while(1){if((r|0)>=(l|0))break;f=r+1|0;n=a[t+(f<<2)>>2]|0;A=0;e=a[t+(r<<2)>>2]|0;while(1){if((e|0)>=(n|0))break;A=A+((r|0)!=(a[c+(e<<2)>>2]|0)&1)|0;e=e+1|0}n=b+(A<<2)|0;r=(a[n>>2]|0)+1|0;a[n>>2]=r;i=(i|0)>(r|0)?i:r;r=f}s=+(a[b+4>>2]|0);if(+(i|0)*.8=(n|0)){f=0;break}b[w+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((f|0)>=(e|0)){n=0;break}b[t+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=t+(f<<3)|0;b[s>>3]=+b[s>>3]+ +b[i+(f+l<<3)>>3];f=f+1|0}n=n+1|0}r=1.0/+(A|0);f=0;while(1){if((f|0)>=(e|0)){n=0;break}s=t+(f<<3)|0;b[s>>3]=+b[s>>3]*r;f=f+1|0}while(1){if((n|0)>=(A|0)){l=0;break}l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=i+(f+l<<3)|0;b[s>>3]=+b[s>>3]-+b[t+(f<<3)>>3];f=f+1|0}n=n+1|0}while(1){if((l|0)>=(A|0))break;t=U(l,e)|0;n=0;while(1){if((n|0)>=(e|0))break;c=i+(n+t<<3)|0;s=U(n,e)|0;f=0;while(1){if((f|0)==(e|0))break;o=w+(f+s<<3)|0;b[o>>3]=+b[o>>3]+ +b[i+(f+t<<3)>>3]*+b[c>>3];f=f+1|0}n=n+1|0}l=l+1|0}r=+b[w+8>>3];if(r==0.0)r=0.0;else{h=+b[w>>3];a=+b[w+24>>3];r=-(a-h-+z(+(h*h+r*r*4.0+(h*-2.0+a)*a)))/(r*2.0)}a=+z(+(r*r+1.0));r=r/a;a=1.0/a;f=0;while(1){if((f|0)>=(A|0))break;o=U(f,e)|0;w=i+(o<<3)|0;h=+b[w>>3];o=i+(o+1<<3)|0;d=+b[o>>3];b[w>>3]=d*a+h*r;b[o>>3]=d*r-h*a;f=f+1|0}k=u;return}function cj(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;bj(A,e,i,r,f,a,n,l,t,c);return}function bj(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+192|0;M=N+176|0;D=N+168|0;V=N;y6(V|0,r|0,168)|0;a[s>>2]=0;do{if(e|0?(J=a[e+4>>2]|0,!((A|0)<1|(J|0)<1)):0){if((cq(e,0)|0)!=0?(a[e+16>>2]|0)==1:0){if((a[r+136>>2]|0)==1)u=kq(i)|0;else u=i;F=kq(e)|0}else v=5;do{if((v|0)==5)if((a[r+136>>2]|0)==1){F=uq(e,0)|0;u=uq(i,0)|0;break}else{F=Hs(e)|0;u=i;break}}while(0);Y=r+160|0;o=a[Y>>2]|0;if((o|0)==3){if((t|0)>0)v=14}else if((t|0)>0&(o|0)==4)v=14;if((v|0)==14){i=$F(U(A<<3,a[F>>2]|0)|0)|0;J=sj(F,t,c)|0;cj(A,J,0,r,0,0,i,0,0,s);wj(A,F,t,c,l,i);qO(A,F,l,n,a[r+124>>2]|0,+b[r+144>>3],a[Y>>2]|0,t,c);rq(J);L2(i);if((F|0)==(e|0))break;rq(F);break}y=fw(a[r+44>>2]|0,a[r+48>>2]|0)|0;a[y+16>>2]=a[r+40>>2];z=Bw(F,u,f,y)|0;h=Ew(z)|0;if(!(a[h+32>>2]|0))d=l;else d=$F(U(A<<3,a[h+4>>2]|0)|0)|0;o=lj(F)|0;if(+b[r>>3]==-1.0001234)b[r>>3]=(o|0)==0?-1.0:-1.8;E=r+136|0;C=r+24|0;I=r+16|0;Z=r+104|0;G=r+96|0;Q=A<<3;m=r+132|0;L=a[15712]|0;W=r+80|0;while(1){A:do{switch(a[E>>2]|0){case 0:{switch(a[m>>2]|0){case 0:{Aj(A,a[h+8>>2]|0,r,a[h+24>>2]|0,d,s);break A}case 2:{o=h+8|0;v=29;break}case 3:{o=h+8|0;B=a[o>>2]|0;if((a[B>>2]|0)>1e4)if(!0)v=29;else{a[D>>2]=1e4;f3(L,92299,D)|0;v=29}else v=30;break}default:{B=a[h+8>>2]|0;v=30}}if((v|0)==29){OT(A,a[o>>2]|0,r,a[h+24>>2]|0,d,s);break A}else if((v|0)==30){ej(A,B,r,a[h+24>>2]|0,d,s);break A}break}case 1:{b[G>>3]=1.0;a[Z>>2]=1;g=(a[h+28>>2]|0)==0;w=g?.5:.05;a[W>>2]=g?500:100;g=(a[h+32>>2]|0)==0;o=h+8|0;B=h+12|0;v=h+24|0;ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w,s);if(g){a[I>>2]=0;b[G>>3]=.05;a[Z>>2]=0;ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.5,s);ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.125,s);ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.03125,s)}break}default:{}}}while(0);v=a[h+32>>2]|0;if(!v){v=39;break}if(a[s>>2]|0){v=35;break}g=a[h+16>>2]|0;o=a[h+40>>2]|0;if(!(a[v+32>>2]|0))B=l;else B=$F(U(Q,a[v+4>>2]|0)|0)|0;uj(A,a[v+8>>2]|0,g,a[v+20>>2]|0,d,B,o,+b[C>>3]*.001);L2(d);a[I>>2]=0;b[C>>3]=+b[C>>3]*.75;a[Z>>2]=0;b[G>>3]=((a[(a[v+28>>2]|0)+40>>2]|0)+-9|0)>>>0<2?1.0:.1;h=v;d=B}if((v|0)==35)L2(d);else if((v|0)==39){Tw(A,F,r,f,l,s);if(0){a[M>>2]=a[r+124>>2];f3(L,92362,M)|0}if((A|0)==2)tj(J,2,l);w=+b[r+152>>3];if(w!=0.0)kj(J,A,l,w);qO(A,F,l,n,a[r+124>>2]|0,+b[r+144>>3],a[Y>>2]|0,t,c)}y6(r|0,V|0,168)|0;if((F|0)!=(e|0))rq(F);if(!((u|0)==0|(u|0)==(i|0)))rq(u);aw(y);nw(z)}}while(0);k=N;return}function sj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;I=Z;g=a[A+20>>2]|0;E=a[A+24>>2]|0;C=$F(a[A>>2]<<2)|0;r=0;while(1){if((r|0)>=(a[A>>2]|0)){r=0;break}a[C+(r<<2)>>2]=1;r=r+1|0}while(1){if((r|0)>=(e|0)){r=0;i=0;break}a[C+(a[i+(r<<2)>>2]<<2)>>2]=-1;r=r+1|0}while(1){s=a[A>>2]|0;if((i|0)>=(s|0)){i=0;e=0;break}e=C+(i<<2)|0;if((a[e>>2]|0)>0){a[e>>2]=r;r=r+1|0}i=i+1|0}A:while(1){while(1){if((e|0)>=(s|0))break A;if((a[C+(e<<2)>>2]|0)>=0)break;e=e+1|0}c=e+1|0;b=a[g+(c<<2)>>2]|0;t=a[g+(e<<2)>>2]|0;while(1){if((t|0)>=(b|0)){e=c;continue A}f=a[E+(t<<2)>>2]|0;e:do{if((a[C+(f<<2)>>2]|0)>-1)i=i+1|0;else{l=a[g+(f+1<<2)>>2]|0;n=a[g+(f<<2)>>2]|0;while(1){if((n|0)>=(l|0))break e;f=a[E+(n<<2)>>2]|0;if((f|0)!=(e|0))i=((a[C+(f<<2)>>2]|0)>>>31^1)+i|0;n=n+1|0}}}while(0);t=t+1|0}}e=i<<2;if((i|0)>0){d=$F(e)|0;B=$F(e)|0;o=B;h=d}else{o=0;h=0;d=0;B=0}v=a[15712]|0;e=0;f=0;A:while(1){i=a[A>>2]|0;while(1){if((e|0)>=(i|0))break A;u=C+(e<<2)|0;if((a[u>>2]|0)>=0)break;e=e+1|0}s=e+1|0;w=g+(s<<2)|0;b=a[g+(e<<2)>>2]|0;i=f;while(1){if((b|0)>=(a[w>>2]|0)){e=s;f=i;continue A}f=E+(b<<2)|0;n=a[f>>2]|0;e:do{if((a[C+(n<<2)>>2]|0)>-1){a[h+(i<<2)>>2]=a[u>>2];a[o+(i<<2)>>2]=a[C+(a[f>>2]<<2)>>2];i=i+1|0}else{c=g+(n+1<<2)|0;t=a[g+(n<<2)>>2]|0;while(1){if((t|0)>=(a[c>>2]|0))break e;f=E+(t<<2)|0;l=a[f>>2]|0;do{if((l|0)!=(e|0)?(a[C+(l<<2)>>2]|0)>-1:0){a[h+(i<<2)>>2]=a[u>>2];l=i+1|0;a[o+(i<<2)>>2]=a[C+(a[f>>2]<<2)>>2];n=a[u>>2]|0;i=a[C+(a[f>>2]<<2)>>2]|0;if((n|0)!=68)if((i|0)==68)i=68;else{i=l;break}a[I>>2]=n;a[I+4>>2]=i;f3(v,92380,I)|0;i=l}}while(0);t=t+1|0}}}while(0);b=b+1|0}}I=hq(f,r,r,h,o,0,8,8)|0;L2(d);L2(B);L2(C);k=Z;return I|0}function wj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0;o=$F(a[e>>2]<<2)|0;l=0;while(1){if((l|0)>=(a[e>>2]|0)){l=0;break}a[o+(l<<2)>>2]=1;l=l+1|0}while(1){if((l|0)>=(i|0)){l=0;s=0;break}t=a[r+(l<<2)>>2]|0;if((t|0)>-1?(t|0)<(a[e>>2]|0):0)a[o+(t<<2)>>2]=-1;l=l+1|0}while(1){u=a[e>>2]|0;if((s|0)>=(u|0)){s=0;break}t=o+(s<<2)|0;if((a[t>>2]|0)>-1){a[t>>2]=l;l=l+1|0}s=s+1|0}while(1){if((s|0)>=(u|0))break;l=a[o+(s<<2)>>2]|0;A:do{if((l|0)>-1){w=U(s,A)|0;t=U(l,A)|0;l=0;while(1){if((l|0)>=(A|0))break A;b[f+(l+w<<3)>>3]=+b[n+(t+l<<3)>>3];l=l+1|0}}}while(0);s=s+1|0}k=e+20|0;n=e+24|0;u=0;while(1){if((u|0)>=(i|0))break;e=a[r+(u<<2)>>2]|0;l=a[k>>2]|0;s=a[l+(e+1<<2)>>2]|0;l=a[l+(e<<2)>>2]|0;w=s-l|0;e=U(e,A)|0;t=0;while(1){if((t|0)>=(A|0))break;b[f+(t+e<<3)>>3]=0.0;t=t+1|0}while(1){if((l|0)<(s|0))t=0;else break;while(1){if((t|0)>=(A|0))break;c=+b[f+((U(a[(a[n>>2]|0)+(l<<2)>>2]|0,A)|0)+t<<3)>>3];h=f+(t+e<<3)|0;b[h>>3]=+b[h>>3]+c;t=t+1|0}l=l+1|0}c=1.0/+(w|0);l=0;while(1){if((l|0)>=(A|0))break;h=f+(l+e<<3)|0;b[h>>3]=+b[h>>3]*c;l=l+1|0}u=u+1|0}L2(o);return}function uj(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=+t;var c=0,s=0,w=0,u=0,o=0,h=0.0;u=k;k=k+16|0;w=u;a[w>>2]=n;zs(i,0,f,0,w,0,A);A:do{if((l+-1|0)>>>0<6){nj(A,e,a[w>>2]|0);c=a[r>>2]|0;s=a[r+20>>2]|0;n=a[r+24>>2]|0;e=0;e:while(1){if((e|0)>=(c|0))break A;l=e+1|0;r=s+(l<<2)|0;e=a[s+(e<<2)>>2]|0;i:while(1){e=e+1|0;if((e|0)>=(a[r>>2]|0)){e=l;continue e}f=n+(e<<2)|0;i=0;while(1){if((i|0)>=(A|0))continue i;h=(+Us()+-.5)*t;o=(a[w>>2]|0)+((U(a[f>>2]|0,A)|0)+i<<3)|0;b[o>>3]=+b[o>>3]+h;i=i+1|0}}}}}while(0);k=u;return}function kj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0.0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;c=k;k=k+16|0;t=c;f=0;while(1){if((f|0)>=(e|0)){n=0;break}b[t+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=t+(f<<3)|0;b[s>>3]=+b[s>>3]+ +b[i+(f+l<<3)>>3];f=f+1|0}n=n+1|0}a=1.0/+(A|0);f=0;while(1){if((f|0)>=(e|0)){n=0;break}s=t+(f<<3)|0;b[s>>3]=+b[s>>3]*a;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=i+(f+l<<3)|0;b[s>>3]=+b[s>>3]-+b[t+(f<<3)>>3];f=f+1|0}n=n+1|0}r=r*-.017453277777777776;a=+D(+r);r=+M(+r);f=0;while(1){if((f|0)>=(A|0))break;s=U(f,e)|0;t=i+(s<<3)|0;w=+b[t>>3];s=i+(s+1<<3)|0;u=+b[s>>3];b[t>>3]=u*r+w*a;b[s>>3]=u*a-w*r;f=f+1|0}k=c;return}function oj(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;var t=0,c=0,s=0,w=0;w=(cq(e,0)|0)==0;t=(a[e+16>>2]|0)==1;if(w)if(t)t=kq(tq(e,0)|0)|0;else c=5;else if(t)t=e;else c=5;if((c|0)==5)t=Hs(e)|0;w=kq(t)|0;a[l>>2]=0;t=a[w>>2]|0;if(!i){$F(U(A<<3,t)|0)|0;re()}s=zw(w,A,0.0,a[i>>2]|0,(r|0)==0?0:2,1)|0;if(!s)a[l>>2]=-1;else{b[s+40>>3]=.1;a[s+24>>2]=5;+Dw(s,A,a[i>>2]|0,f,n);c=U(t,A)|0;r=s+32|0;t=0;while(1){if((t|0)>=(c|0))break;l=(a[i>>2]|0)+(t<<3)|0;b[l>>3]=+b[l>>3]/+b[r>>3];t=t+1|0}Yw(s)}if((w|0)!=(e|0))rq(w);return}function hj(A,e,i,r,f,a,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=+n;l=l|0;oj(A,i,r,f,a,n,l);return}function dj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;E=a[e>>2]|0;C=a[e+20>>2]|0;v=a[e+24>>2]|0;g=a[e+28>>2]|0;if(!(cq(e,0)|0))vA(95795,92387,37,92404);A=$F(56)|0;c=A+20|0;a[c>>2]=0;a[A+24>>2]=2;a[A+12>>2]=0;t=$F(16)|0;a[c>>2]=t;b[t>>3]=r;b[t+8>>3]=f;a[A+16>>2]=105;b[A+40>>3]=.01;a[A+48>>2]=~~+z(+ +(a[e>>2]|0));t=e+8|0;c=A+4|0;a[c>>2]=fq(E,E,(a[t>>2]|0)+E|0,1,1)|0;t=fq(E,E,(a[t>>2]|0)+E|0,1,1)|0;a[A+8>>2]=t;c=a[c>>2]|0;s=a[c+28>>2]|0;w=a[t+28>>2]|0;if((t|0)==0|(c|0)==0){yw(A);A=0}else{u=a[c+20>>2]|0;k=a[c+24>>2]|0;o=a[t+20>>2]|0;h=a[t+24>>2]|0;a[o>>2]=0;a[u>>2]=0;e=0;i=0;while(1){if((e|0)>=(E|0))break;d=e+1|0;B=C+(d<<2)|0;r=0.0;f=0.0;l=a[C+(e<<2)>>2]|0;while(1){if((l|0)>=(a[B>>2]|0))break;n=a[v+(l<<2)>>2]|0;if((n|0)!=(e|0)){I=+b[g+(l<<3)>>3];I=I>=0.0?I:-I;I=I>.01?I:.01;a[k+(i<<2)>>2]=n;a[h+(i<<2)>>2]=n;n=s+(i<<3)|0;b[n>>3]=-1.0;b[w+(i<<3)>>3]=-I;r=+b[n>>3]+r;f=f-I;i=i+1|0}l=l+1|0}a[k+(i<<2)>>2]=e;a[h+(i<<2)>>2]=e;b[s+(i<<3)>>3]=-r;b[w+(i<<3)>>3]=-f;i=i+1|0;a[u+(d<<2)>>2]=i;a[o+(d<<2)>>2]=i;e=d}a[c+8>>2]=i;a[t+8>>2]=i}return A|0}function Bj(A){A=A|0;yw(A);return}function vj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return+ +Mw(A,e,i,r,.001)}function gj(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0;if((a[A+16>>2]|0)==1)i=tq(A,0)|0;else i=Hs(A)|0;f=a[i+28>>2]|0;A:do{if(e!=1.0){r=a[i+8>>2]|0;A=0;while(1){if((A|0)>=(r|0))break A;n=f+(A<<3)|0;b[n>>3]=+b[n>>3]*e;A=A+1|0}}}while(0);return i|0}function Ej(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0.0;t=a[e>>2]|0;a[r>>2]=0;c=U(t,A)|0;r=0;while(1){if((r|0)>=(c|0)){r=1;f=1;break}b[i+(r<<3)>>3]=+Us()*100.0;r=r+1|0}while(1){if((f|0)>=(t|0))break;l=U(f,A)|0;n=0;while(1){if((n|0)>=(A|0))break;s=+b[i+(n<<3)>>3]-+b[i+(n+l<<3)>>3];if((s>=0.0?s:-s)>1.0e-16){r=0;f=t;break}else n=n+1|0}f=f+1|0}A:do{if(r|0){f8(1);r=0;while(1){if((r|0)>=(c|0))break A;b[i+(r<<3)>>3]=+Us()*100.0;r=r+1|0}}}while(0);r=gj(e,1.0)|0;if(!(cq(r,0)|0))vA(92430,92387,164,92466);else{c=dj(0,r,0,101.0e5,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,101.0e3,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,1010.0,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,10.1,100.0,0)|0;+vj(c,A,i,300);Bj(c);$s(0.0,0.0,490.0,700.0,a[e>>2]|0,A,i);rq(r);return}}function Cj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;c=$F((vh(A)|0)<<4)|0;l=(r|0)!=0;t=e+8|0;n=cd(A)|0;f=0;while(1){if(!n)break;if(l)f=f+((Z1(Vh(n)|0,92481,11)|0)==0&1)|0;w=a[n+16>>2]|0;s=a[w+120>>2]<<1;b[c+(s<<3)>>3]=+b[w+32>>3]*.5+ +b[e>>3];b[c+((s|1)<<3)>>3]=+b[w+40>>3]*.5+ +b[t>>3];n=bd(A,n)|0}if(l&(f|0)!=0){e=$F(f<<2)|0;n=cd(A)|0;f=0;while(1){if(!n)break;if(!(Z1(Vh(n)|0,92481,11)|0)){a[e+(f<<2)>>2]=a[(a[n+16>>2]|0)+120>>2];f=f+1|0}n=bd(A,n)|0}a[r>>2]=e;a[i>>2]=f}return c|0}function Ij(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;G=k;k=k+32|0;C=G+16|0;E=G+8|0;g=G;if(A){I=vh(A)|0;Z=gh(A)|0;e=cd(A)|0;r=0;while(1){if(!e)break;a[(a[e+16>>2]|0)+120>>2]=r;e=bd(A,e)|0;r=r+1|0}d=Z<<2;h=$F(d)|0;d=$F(d)|0;e=Z<<3;B=$F(e)|0;u=Yo(A,2,101541,0)|0;v=(i|0)!=0;if(v){r=Yo(A,2,92493,0)|0;o=qF(e)|0;w=o}else{w=0;r=0;o=0}t=(u|0)==0;c=(r|0)==0;l=cd(A)|0;e=0;while(1){if(!l)break;s=a[(a[l+16>>2]|0)+120>>2]|0;n=Oo(A,l)|0;while(1){if(!n)break;a[h+(e<<2)>>2]=s;a[d+(e<<2)>>2]=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+120>>2];if(!t?(Q=Uo(n,u)|0,a[E>>2]=g,(J3(Q,101209,E)|0)==1):0)f=+b[g>>3];else{b[g>>3]=1.0;f=1.0}b[B+(e<<3)>>3]=f;if(!c){Q=Uo(n,r)|0;a[C>>2]=g;if((J3(Q,101209,C)|0)==1)f=+b[g>>3];else{b[g>>3]=1.0;f=1.0}b[w+(e<<3)>>3]=f}n=_o(A,n)|0;e=e+1|0}l=bd(A,l)|0}e=hq(Z,I,I,h,d,B,1,8)|0;if(v)a[i>>2]=hq(Z,I,I,h,d,o,1,8)|0;L2(h);L2(d);L2(B);if(w)L2(o)}else e=0;k=G;return e|0}function Zj(A){A=A|0;var e=0,i=0,r=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0.0,o=0.0;s=k;k=k+16|0;c=s;A:do{if(Gj(A,c)|0){e=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;n=+b[e>>3];r=+b[e+8>>3];e=cd(A)|0;while(1){if(!e)break;f=a[(a[e+16>>2]|0)+132>>2]|0;b[f>>3]=+b[f>>3]-n;f=f+8|0;b[f>>3]=+b[f>>3]-r;e=bd(A,e)|0}e=(n!=0.0|r!=0.0)&1;i=cd(A)|0;while(1){if(!i)break A;f=Oo(A,i)|0;if(f|0)break;i=bd(A,i)|0}w=a[f>>2]&3;i=a[(a[(a[((w|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=a[(a[(a[((w|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;l=+b[f+8>>3];t=+b[f>>3];r=+X(+(+b[i+8>>3]-l),+(+b[i>>3]-t));r=+b[c>>3]-r;b[c>>3]=r;if(r!=0.0){n=+D(+r);r=+M(+r);e=cd(A)|0;while(1){if(!e){e=1;break A}c=a[(a[e+16>>2]|0)+132>>2]|0;o=+b[c>>3]-t;w=c+8|0;u=+b[w>>3]-l;b[c>>3]=o*n+t-u*r;b[w>>3]=o*r+l+u*n;e=bd(A,e)|0}}}else e=0}while(0);k=s;return e|0}function Gj(A,e){A=A|0;e=e|0;var i=0.0,f=0,n=0;n=k;k=k+16|0;f=n;A=po(A,92497)|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0){i=+A8(A,f);if((a[f>>2]|0)==(A|0))if(!((gR(A)|0)<<24>>24)){A=0;break}else i=0.0;while(1){if(!(i>180.0))break;i=i+-360.0}while(1){if(!(i<=-180.0))break;i=i+360.0}b[e>>3]=i*.017453292519943295;A=1}else A=0}while(0);k=n;return A|0}function Qj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,92507)|0;return mj(A,(r|0)==0?i|0?i:195059:r,e)|0}function mj(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;w=k;k=k+32|0;s=w+16|0;t=w+8|0;l=w;if((e|0)!=0?(r[e>>0]|0)!=0:0){f=17896;while(1){n=a[f+4>>2]|0;if(!n)break;if(!(T1(e,n,a[f+8>>2]|0)|0)){c=6;break}f=f+16|0}if((c|0)==6){if(!(a[f+12>>2]|0)){a[l>>2]=n;ao(0,92515,l)|0;f=17896}l=a[f>>2]|0;a[i>>2]=l;a[i+4>>2]=a[f+12>>2];if((l|0)==18)Lj(A,e+(a[f+8>>2]|0)|0,i)}if(!(a[f+4>>2]|0)){f=ER(e,63)|0;if(f<<24>>24==63){a[t>>2]=e;ao(0,92557,t)|0;f=0}else f=f&255;f=(f|0)==0;a[i>>2]=f&1;f=f?92604:135709;c=15}}else{a[i>>2]=0;f=135709;c=15}if((c|0)==15)a[i+4>>2]=f;if(0){c=a[15712]|0;t=a[i+8>>2]|0;u=+b[i+16>>3];a[s>>2]=a[i+4>>2];a[s+4>>2]=t;b[s+8>>3]=u;f3(c,92612,s)|0}k=w;return i|0}function Lj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r;n=r+4|0;a[f>>2]=n;f=(J3(e,137395,f)|0)>0;e=a[n>>2]|0;a[i+8>>2]=f&(e|0)>-1?e:1e3;b[i+16>>3]=+oR(A,Yo(A,0,92648,0)|0,-4.0,-1.0e10);k=r;return}function Wj(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+16|0;n=l+8|0;f=l;do{if((vh(A)|0)>=2){i=Zj(A)|0;i=(yj(A)|0)+i|0;r=a[e>>2]|0;if(r){if(0){r=a[15712]|0;c=Vh(A)|0;t=a[e+4>>2]|0;a[f>>2]=c;a[f+4>>2]=t;f3(r,92977,f)|0;r=a[e>>2]|0}if(r>>>0>2){switch(r|0){case 3:{r=zS(A,1)|0;break}case 4:{r=zS(A,0)|0;break}case 6:case 5:{r=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{oS(A,r)|0;r=0;break}case 15:{r=zS(A,-1)|0;break}default:{a[n>>2]=a[e+4>>2];ao(0,93e3,n)|0;r=0}}i=r+i|0;break}if(zj(A)|0){Yj();L2(a[46845]|0);a[46845]=0;break}Dj(A);if((a[e>>2]|0)==2)r=Mj()|0;else r=Fj()|0;if(r|0)Vj();Yj();L2(a[46845]|0);a[46845]=0;i=r+i|0}}else i=0}while(0);k=l;return i|0}function yj(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0;s=k;k=k+48|0;l=s+24|0;f=s+16|0;t=s;e=po(A,140742)|0;A:do{if(((e|0)!=0?(c=t+8|0,a[f>>2]=t,a[f+4>>2]=c,r=J3(e,105503,f)|0,(r|0)!=0):0)?(n=+b[t>>3],!(+y(+n)<1.0e-09)):0){if((r|0)!=1){i=+b[c>>3];if(+y(+i)<1.0e-09){e=0;break}}else{b[c>>3]=n;i=n}if(!(i==1.0&n==1.0)){if(0){f=a[15712]|0;b[l>>3]=n;b[l+8>>3]=i;f3(f,93160,l)|0}e=cd(A)|0;while(1){if(!e){e=1;break A}l=a[(a[e+16>>2]|0)+132>>2]|0;b[l>>3]=+b[l>>3]*+b[t>>3];l=l+8|0;b[l>>3]=+b[l>>3]*+b[c>>3];e=bd(A,e)|0}}else e=0}else e=0}while(0);k=s;return e|0}function zj(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0,t=0,s=0,w=0,u=0;w=k;k=k+16|0;t=w;a[46854]=vh(A)|0;nP();a[46869]=$F((a[46854]|0)*96|0)|0;f=cd(A)|0;e=a[46869]|0;qj(t,A);n=+c[t>>2];l=+c[t+4>>2];t=(r[t+8>>0]|0)==0;l=t?l:l*.013888888888888888;n=t?n:n*.013888888888888888;t=t?2:1;i=0;while(1){if((i|0)>=(a[46854]|0)){e=0;break}u=a[(a[f+16>>2]|0)+132>>2]|0;b[e+8>>3]=+b[u>>3];b[e+16>>3]=+b[u+8>>3];if(L5[t&3](e+40|0,f,n,l)|0){s=4;break}a[e+24>>2]=i;a[e+28>>2]=1;a[e>>2]=f;a[e+88>>2]=0;e=e+96|0;i=i+1|0;f=bd(A,f)|0}if((s|0)==4){L2(a[46869]|0);a[46869]=0;e=1}k=w;return e|0}function Yj(){var A=0,e=0;A=a[46869]|0;e=0;while(1){if((e|0)>=(a[46854]|0))break;iK(A+40|0);A=A+96|0;e=e+1|0}eK();MP();L2(a[46869]|0);return}function Dj(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0;u=k;k=k+32|0;s=u+16|0;w=u;o=a[46869]|0;l=+b[o+8>>3];c=+b[o+16>>3];f=a[46854]|0;e=o;i=1;n=+b[o+40>>3]+l;l=+b[o+56>>3]+l;t=+b[o+48>>3]+c;c=+b[o+64>>3]+c;while(1){if((i|0)>=(f|0))break;B=+b[e+104>>3];h=+b[e+112>>3];v=+b[e+136>>3]+B;d=+b[e+144>>3]+h;B=+b[e+152>>3]+B;h=+b[e+160>>3]+h;e=e+96|0;i=i+1|0;n=vl?B:l;t=dc?h:c}e=po(A,93100)|0;if(e|0?r[e>>0]|0:0)b[173]=+$3(e);B=+b[173];v=B*(c-t);B=B*(l-n);b[s>>3]=n-B;b[s+8>>3]=t-v;b[w>>3]=B+l;b[w+8>>3]=v+c;xj(s,w);k=u;return}function Mj(){var A=0,e=0,i=0,r=0;i=k;k=k+16|0;e=i;if(Jj(0)|0){Nj();A=0;do{_j();A=A+1|0}while((Jj(A)|0)!=0);if(!0)A=1;else{r=a[15712]|0;a[e>>2]=A;f3(r,93028,e)|0;A=1}}else A=0;k=i;return A|0}function Fj(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t+8|0;n=t;e=Jj(0)|0;if(!e)A=0;else{Nj();Xj(0);JK(0,1);A=0;r=0;i=0;while(1){Hj();i=i+1|0;f=Jj(i)|0;if(!f)break;e=(f|0)<(e|0)?0:r+1|0;a[46846]=1;if(e){pj();A=A+1|0}Xj(1);JK(0,1);r=e;e=f}if(0){f=a[15712]|0;a[n>>2]=i;f3(f,93028,n)|0;a[l>>2]=A;f3(f,93055,l)|0}Uj();A=1}k=t;return A|0}function Vj(){var A=0,e=0,i=0,r=0;i=a[46854]|0;A=a[46869]|0;e=0;while(1){if((e|0)>=(i|0))break;r=a[(a[(a[A>>2]|0)+16>>2]|0)+132>>2]|0;b[r>>3]=+b[A+8>>3];b[r+8>>3]=+b[A+16>>3];A=A+96|0;e=e+1|0}return}function Jj(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;u=h+24|0;w=h+8|0;o=h;i=a[46869]|0;r=a[46854]|0;e=0;while(1){if((e|0)>=(r|0)){f=0;e=0;break}a[i+(e*96|0)+32>>2]=0;e=e+1|0}A:while(1){if((e|0)>=(r+-1|0))break;s=i+96|0;e=e+1|0;c=i+8|0;b=i+40|0;t=i+32|0;n=s;l=e;while(1){if((l|0)>=(r|0)){i=s;continue A}r=n+8|0;a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];if(!(sK(w,b,u,n+40|0)|0))i=f;else{a[t>>2]=1;a[n+32>>2]=1;i=f+1|0}n=n+96|0;l=l+1|0;f=i;r=a[46854]|0}}if(0>1){u=a[15712]|0;a[o>>2]=A;a[o+4>>2]=f;f3(u,93081,o)|0}k=h;return f|0}function Nj(){var A=0,e=0,i=0,r=0.0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;Oj();c=a[46848]|0;s=a[46869]|0;A=a[46845]|0;A:while(1){l=A;if(A>>>0>=c>>>0)break;e=A+4|0;if(e>>>0>=c>>>0){A=e;continue}f=a[e>>2]|0;i=a[A>>2]|0;n=+b[i>>3];if(+b[f>>3]!=n){A=e;continue}r=+b[i+8>>3];if(+b[f+8>>3]!=r){A=e;continue}t=A+8|0;f=2;while(1){if(t>>>0>=c>>>0)break;i=a[t>>2]|0;if(!(+b[i>>3]==n)){w=11;break}if(!(+b[i+8>>3]==r)){w=11;break}t=t+4|0;f=f+1|0}if((w|0)==11){w=0;i=a[t>>2]|0;if(+b[i+8>>3]==r){r=(+b[i>>3]-n)/+(f|0);i=(((t>>>0>e>>>0?t:e)+-1+(0-l)|0)>>>2)+1|0;A=1;while(1){if((A|0)==(i|0)){A=t;continue A}l=a[e>>2]|0;b[l>>3]=+b[l>>3]+r*+(A|0);A=A+1|0;e=e+4|0}}}while(1){if(e>>>0>=t>>>0){A=t;continue A}f=a[A>>2]|0;u=a[f+16>>2]|0;l=a[e>>2]|0;i=a[l+16>>2]|0;b[l>>3]=(+b[s+(u*96|0)+56>>3]-+b[s+(u*96|0)+40>>3]+ +b[s+(i*96|0)+56>>3]-+b[s+(i*96|0)+40>>3])*.5+ +b[f>>3];e=e+4|0;A=A+4|0}}return}function Xj(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0;if(A|0)Oj();l=a[46845]|0;t=a[l>>2]|0;i=+b[t>>3];b[23272]=i;c=a[46854]|0;f=1;n=+b[t>>3];while(1){if((f|0)>=(c|0))break;A=a[l+(f<<2)>>2]|0;e=+b[A>>3];if(e>3]}else{r=e;e=i}f=f+1|0;i=e;n=r>n?r:n}r=+b[t+8>>3];b[23273]=r;b[23275]=+b[(a[l+(c+-1<<2)>>2]|0)+8>>3]-r;b[23274]=n-i;return}function Rj(){var A=0;A=a[46847]|0;if(A>>>0<(a[46848]|0)>>>0){a[46847]=A+4;A=a[A>>2]|0}else A=0;return A|0}function Hj(){var A=0,e=0,i=0;A=a[46869]|0;Tj();i=(a[46846]|0)==0;e=0;while(1){if((e|0)>=(a[46854]|0))break;if(!(i?!(a[A+32>>2]|0):0))jj(A);A=A+96|0;e=e+1|0}return}function pj(){var A=0,e=0,i=0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0;A=k;k=k+32|0;i=A+16|0;e=A;t=+b[23268];l=+b[23266];n=+b[23269];f=+b[23267];r=(l-f)*.05;a=(t-n)*.05;b[e>>3]=a+t;b[e+8>>3]=l+r;b[i>>3]=n-a;b[i+8>>3]=f-r;xj(i,e);k=A;return}function Uj(){vP();EP();IK();$S();return}function xj(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0;a=+b[A>>3];b[23269]=a;f=+b[e>>3];b[23268]=f;i=+b[A+8>>3];b[23267]=i;r=+b[e+8>>3];b[23266]=r;b[23258]=a;b[23260]=a;b[23262]=f;b[23264]=f;b[23265]=r;b[23261]=r;b[23263]=i;b[23259]=i;return}function Tj(){var A=0,e=0.0,i=0.0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0.0;w=a[46869]|0;n=w+8|0;f=+lP(n,186064);r=+lP(n,186080);i=+lP(n,186096);A=1;e=+lP(n,186112);n=w;l=w;t=w;c=w;while(1){s=w+96|0;if((A|0)>=(a[46854]|0))break;h=w+104|0;d=+lP(h,186064);u=d>2]|0;u=c+8|0;e=0.0;i=0.0;r=0.0;c=a[c>>2]|0;while(1){f=a[c>>2]|0;if(!f)break;B=c+8|0;d=f+8|0;a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];h=+Sj(n,l,t);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];Pj(n,l,t,s,w);e=+b[w>>3]*h+e;i=+b[s>>3]*h+i;r=h+r;c=f}b[A+8>>3]=i/r;b[A+16>>3]=e/r;k=o;return}function Sj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;r=+b[e+8>>3];a=+b[i+8>>3];f=+b[A+8>>3];return+(+y(+((a-f)*+b[e>>3]+(r-a)*+b[A>>3]+ +b[i>>3]*(f-r)))*.5)}function Pj(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;b[r>>3]=(+b[e>>3]+ +b[A>>3]+ +b[i>>3])*.3333333333333333;b[f>>3]=(+b[e+8>>3]+ +b[A+8>>3]+ +b[i+8>>3])*.3333333333333333;return}function Oj(){var A=0,e=0,i=0,r=0;A=a[46845]|0;if(!A){A=$F(a[46854]<<2)|0;a[46845]=A;a[46848]=A+(a[46854]<<2)}i=a[46869]|0;MP();r=a[46854]|0;e=0;while(1){if((e|0)>=(r|0))break;a[A>>2]=i+8;a[i+88>>2]=0;a[i+28>>2]=1;i=i+96|0;A=A+4|0;e=e+1|0}K4(a[46845]|0,r,4,69);a[46847]=a[46845];return}function Kj(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A>>2]|0;e=a[e>>2]|0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(ir)){r=+b[A>>3];i=+b[e>>3];if(ri&1}else A=1;else A=-1;return A|0}function _j(){var A=0,e=0,i=0,r=0;i=a[46854]|0;A=0;e=a[46869]|0;while(1){if((A|0)>=(i|0))break;r=e+8|0;b[r>>3]=+b[r>>3]*1.05;r=e+16|0;b[r>>3]=+b[r>>3]*1.05;A=A+1|0;e=e+96|0}return}function qj(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,s=0,w=0.0,u=0.0;s=k;k=k+48|0;t=s;l=s+24|0;i=po(e,93112)|0;if(!((i|0)!=0?($j(i,l,1.0,0.0)|0)!=0:0))f=3;do{if((f|0)==3){e=po(e,93116)|0;if(e|0?$j(e,l,.800000011920929,4.0)|0:0)break;c[l+4>>2]=4.0;c[l>>2]=4.0;r[l+8>>0]=1}}while(0);if(0){f=a[15712]|0;u=+c[l>>2];w=+c[l+4>>2];a[t>>2]=n[l+8>>0];b[t+8>>3]=u;b[t+16>>3]=w;f3(f,93121,t)|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];k=s;return}function $j(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0,h=0.0;u=k;k=k+16|0;s=u;t=u+12|0;b=u+8|0;while(1){n=r[A>>0]|0;l=A+1|0;if(!(Q1(n<<24>>24)|0))break;else A=l}o=n<<24>>24==43;n=e+8|0;r[n>>0]=o&1;a[s>>2]=t;a[s+4>>2]=b;switch(J3(o?l:A,93154,s)|0){case 0:{A=0;break}case 1:{a[b>>2]=a[t>>2];w=5;break}default:w=5}if((w|0)==5){do{if(r[n>>0]|0){if(i>1.0){h=+c[t>>2]/i;c[e>>2]=h>f?f:h;i=+c[b>>2]/i;i=i>f?f:i;break}if(i<1.0){h=+c[t>>2]/i;c[e>>2]=h>2]/i;i=i>2]=a[t>>2];i=+c[b>>2];break}}else{c[e>>2]=+c[t>>2]/i+1.0;i=+c[b>>2]/i+1.0}}while(0);c[e+4>>2]=i;A=1}k=u;return A|0}function AS(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+32|0;i=r;if((vh(A)|0)<2)A=0;else{mj(A,e,i)|0;A=Wj(A,i)|0}k=r;return A|0}function eS(A){A=A|0;return AS(A,po(A,92507)|0)|0}function iS(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,s=0,w=0.0,u=0.0;s=k;k=k+48|0;t=s;l=s+24|0;i=po(e,93116)|0;if(!((i|0)!=0?($j(i,l,1.0,0.0)|0)!=0:0))f=3;do{if((f|0)==3){e=po(e,93112)|0;if(e|0?$j(e,l,1.25,3.200000047683716)|0:0)break;c[l+4>>2]=3.200000047683716;c[l>>2]=3.200000047683716;r[l+8>>0]=1}}while(0);if(0){f=a[15712]|0;u=+c[l>>2];w=+c[l+4>>2];a[t>>2]=n[l+8>>0];b[t+8>>3]=u;b[t+16>>3]=w;f3(f,93183,t)|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];k=s;return}function rS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;u=o;n=0;while(1){if((n|0)>=(i|0))break;a[r+(n<<2)>>2]=-1;n=n+1|0}a[r+(A<<2)>>2]=0;fS(f,A);A:do{if(!(a[e+8>>2]|0)){n=2147483647;e:while(1){if(!((aS(f,u)|0)<<24>>24))break A;t=a[u>>2]|0;n=a[r+(t<<2)>>2]|0;l=e+(t*20|0)|0;t=e+(t*20|0)+4|0;b=n+1|0;A=1;while(1){if((A|0)>=(a[l>>2]|0))continue e;s=a[(a[t>>2]|0)+(A<<2)>>2]|0;w=r+(s<<2)|0;if((a[w>>2]|0)<0){a[w>>2]=b;nS(f,s)|0}A=A+1|0}}}else{n=2147483647;e:while(1){if(!((aS(f,u)|0)<<24>>24))break A;b=a[u>>2]|0;n=a[r+(b<<2)>>2]|0;l=e+(b*20|0)|0;t=e+(b*20|0)+4|0;b=e+(b*20|0)+8|0;A=1;while(1){if((A|0)>=(a[l>>2]|0))continue e;s=a[(a[t>>2]|0)+(A<<2)>>2]|0;w=r+(s<<2)|0;if((a[w>>2]|0)<0){a[w>>2]=n+~~+c[(a[b>>2]|0)+(A<<2)>>2];nS(f,s)|0}A=A+1|0}}}}while(0);A=n+10|0;n=0;while(1){if((n|0)>=(i|0))break;l=r+(n<<2)|0;if((a[l>>2]|0)<0)a[l>>2]=A;n=n+1|0}k=o;return}function fS(A,e){A=A|0;e=e|0;a[a[A>>2]>>2]=e;a[A+12>>2]=0;a[A+8>>2]=1;return}function aS(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=a[i>>2]|0;if((r|0)<(a[A+8>>2]|0)){A=a[A>>2]|0;a[i>>2]=r+1;a[e>>2]=a[A+(r<<2)>>2];A=1}else A=0;return A|0}function nS(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=a[i>>2]|0;if((r|0)<(a[A+4>>2]|0)){A=a[A>>2]|0;a[i>>2]=r+1;a[A+(r<<2)>>2]=e;A=1}else A=0;return A|0}function lS(A,e){A=A|0;e=e|0;a[A>>2]=$F(e<<2)|0;a[A+4>>2]=e;a[A+8>>2]=0;a[A+12>>2]=0;return}function tS(A){A=A|0;L2(a[A>>2]|0);return}function cS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0;if(!0)n=0;else{L3(93216,25,1,a[15712]|0)|0;n=0}while(1){if((n|0)>=(A|0))break;l=e+(n<<2)|0;f=0;r=0.0;while(1){if((f|0)==(A|0))break;if((n|0)!=(f|0))r=+b[(a[l>>2]|0)+(f<<3)>>3]+r;f=f+1|0}b[(a[l>>2]|0)+(n<<3)>>3]=-r;n=n+1|0}return cO(e,i,A+-1|0)|0}function bS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0.0;t=tU(e,e,0.0)|0;c=tU(e,e,0.0)|0;r=cd(A)|0;while(1){if(!r)break;i=Ah(A,r)|0;while(1){if(!i)break;n=a[i>>2]&3;f=(a[a[((n|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;n=(a[a[((n|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(n|0)){s=-1.0/+b[(a[i+16>>2]|0)+136>>3];b[(a[t+(n<<2)>>2]|0)+(f<<3)>>3]=s;b[(a[t+(f<<2)>>2]|0)+(n<<3)>>3]=s}i=eh(A,i,r)|0}r=bd(A,r)|0}l=cS(e,t,c)|0;A:do{if(l|0){f=A+16|0;r=0;while(1){if((r|0)>=(e|0))break A;n=c+(r<<2)|0;i=0;while(1){if((i|0)==(e|0))break;A=a[n>>2]|0;b[(a[(a[(a[f>>2]|0)+160>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=+b[(a[c+(i<<2)>>2]|0)+(i<<3)>>3]+ +b[A+(r<<3)>>3]+ +b[A+(i<<3)>>3]*-2.0;i=i+1|0}r=r+1|0}}}while(0);cU(t);cU(c);return l|0}function sS(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;var n=0.0,l=0.0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;c=B;w=r<<3;u=$F(w)|0;o=$F(w)|0;h=$F(w)|0;b=$F(w)|0;s=$F(w)|0;w=$F(w)|0;mO(r,i,w);gO(r,w);gO(r,e);CO(A,r,e,b);ZO(r,w,b,u);mO(r,u,o);t=a+-1|0;i=0;n=+LO(r,u,u);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+WO(r,u)>f)){i=0;break}CO(A,r,o,h);l=+LO(r,o,h);if(l==0.0){i=0;break}l=n/l;QO(r,o,l,s);GO(r,e,s,e);if((i|0)<(t|0)){QO(r,h,l,h);ZO(r,u,h,u);l=+LO(r,u,u);if(n==0.0){d=7;break}QO(r,o,l/n,o);GO(r,u,o,o);n=l}i=i+1|0}if((d|0)==7){ao(1,93242,c)|0;i=1}L2(u);L2(o);L2(h);L2(b);L2(s);L2(w);k=B;return i|0}function wS(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;n=n|0;var l=0.0,t=0.0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;c=B;u=r<<3;o=$F(u)|0;h=$F(u)|0;b=$F(u)|0;s=$F(u)|0;w=$F(u)|0;u=$F(u)|0;mO(r,i,u);if(n<<24>>24){gO(r,u);gO(r,e)}IO(A,r,e,s);ZO(r,u,s,o);mO(r,o,h);n=a+-1|0;i=0;l=+LO(r,o,o);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+WO(r,o)>f)){i=0;break}IO(A,r,h,b);t=+LO(r,h,b);if(t==0.0){i=0;break}t=l/t;QO(r,h,t,w);GO(r,e,w,e);if((i|0)<(n|0)){QO(r,b,t,b);ZO(r,o,b,o);t=+LO(r,o,o);if(l==0.0){d=9;break}QO(r,h,t/l,h);GO(r,o,h,h);l=t}i=i+1|0}if((d|0)==9){ao(1,93242,c)|0;i=1}L2(o);L2(h);L2(b);L2(s);L2(w);L2(u);k=B;return i|0}function uS(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;var n=0.0,l=0.0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;c=h;b=r<<2;s=qF(b)|0;w=qF(b)|0;u=qF(b)|0;b=qF(b)|0;zO(r,e);zO(r,i);YO(A,r,e,b);zO(r,b);DO(r,i,b,s);JO(r,s,w);t=a+-1|0;i=0;n=+NO(r,s,s);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+HO(r,s)>f)){i=0;break}zO(r,w);zO(r,e);zO(r,s);YO(A,r,w,u);zO(r,u);l=+NO(r,w,u);if(l==0.0){i=0;break}l=n/l;FO(r,e,l,w);if((i|0)<(t|0)){FO(r,s,-l,u);l=+NO(r,s,s);if(n==0.0){o=7;break}VO(r,w,l/n,w);MO(r,s,w,w);n=l}i=i+1|0}if((o|0)==7){ao(1,93242,c)|0;i=1}L2(s);L2(w);L2(u);L2(b);k=h;return i|0}function kS(A,e,i,r,f,n,l,t,s,w){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;s=s|0;w=+w;var u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0;N=k;k=k+48|0;z=N+24|0;W=N+16|0;L=N+8|0;m=N;F=N+40|0;V=N+36|0;D=N+32|0;B=l&4;a[F>>2]=0;a[V>>2]=0;A:do{if(a[A+16>>2]|0){o=0;u=0;while(1){if((o|0)>=(e|0))break;v=a[A+(o*20|0)>>2]|0;g=A+(o*20|0)+16|0;d=1;while(1){if((d|0)>=(v|0))break;if(!(u<<24>>24))u=+c[(a[g>>2]|0)+(d<<2)>>2]!=0.0;else u=1;d=d+1|0;u=u&1}o=o+1|0}if(u<<24>>24){G=(B|0)!=0;if(G){d=r+4|0;e:do{if((n|0)>2){u=n+-1|0;if((iU(A,e,i,d,f,u,l,t,15)|0)<0){u=-1;break A}o=r+(u<<2)|0;u=0;while(1){if((u|0)>=(e|0))break e;b[(a[o>>2]|0)+(u<<3)>>3]=+b[(a[d>>2]|0)+(u<<3)>>3];u=u+1|0}}}while(0);Z=a[r>>2]|0;C=a[d>>2]|0;if((KO(A,e,C,e)|0)==0?(Bu(A,e,.01,.1,C,F,V,D)|0)==0:0){I=a[D>>2]|0;if((I|0)<1){u=iU(A,e,i,r,f,n,l,t,s)|0;break}e:do{if(w>0.0){B=a[F>>2]|0;v=a[V>>2]|0;g=I+-1|0;h=0.0;d=0;while(1){if((d|0)>=(I|0))break e;u=a[v+(d<<2)>>2]|0;Q=w-h-+b[C+(a[B+(u<<2)>>2]<<3)>>3]+ +b[C+(a[B+(u+-1<<2)>>2]<<3)>>3];h=(Q<0.0?0.0:Q)+h;if((d|0)<(g|0))o=a[v+(d+1<<2)>>2]|0;else o=e;while(1){if((u|0)>=(o|0))break;M=C+(a[B+(u<<2)>>2]<<3)|0;b[M>>3]=+b[M>>3]+h;u=u+1|0}d=d+1|0}}}while(0);if((n|0)==2?(WK(A,e,C,Z,+b[23294])|0)!=0:0){o=0;u=-1}else J=33}else{o=0;u=-1}}else{Kp(A,e,n,r,f)|0;if(!(Bu(A,e,.01,.1,0,F,V,D)|0))J=33;else{o=0;u=-1}}e:do{if((J|0)==33){if((e|0)==1){u=0;break A}M=$F(a[D>>2]<<2)|0;if(!s){u=0;break A}if(0)tR();switch(t|0){case 2:{if(0)L3(93290,24,1,a[15712]|0)|0;u=eU(A,e)|0;J=46;break}case 1:{u=_p(A,e)|0;if(!u){ao(0,93315,m)|0;ao(3,93364,L)|0;J=47}else Y=u;break}case 3:{if(0)L3(93417,21,1,a[15712]|0)|0;u=qp(A,e)|0;J=46;break}default:J=47}if((J|0)==46)if(!u)J=47;else Y=u;if((J|0)==47){if(0)L3(93439,26,1,a[15712]|0)|0;Y=AU(A,e)|0}if(0){A=a[15712]|0;b[W>>3]=+cR();f3(A,93466,W)|0;L3(93478,25,1,A)|0;tR()}A=e+-1|0;Z=(U(A,e)|0)/2|0;W=Z+e|0;i:do{if(!G){h=1.0;o=0;while(1){if((o|0)>=(n|0))break;d=r+(o<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;Q=+y(+ +b[(a[d>>2]|0)+(u<<3)>>3]);h=Q>h?Q:h;u=u+1|0}o=o+1|0}h=1.0/h;o=0;while(1){if((o|0)>=(n|0))break i;d=r+(o<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;L=(a[d>>2]|0)+(u<<3)|0;b[L>>3]=+b[L>>3]*(10.0*h);u=u+1|0}o=o+1|0}}}while(0);i:do{if(w>0.0){E=+(Z|0);u=0;h=0.0;B=0;r:while(1){if((B|0)>=(A|0))break;v=B+1|0;d=u;o=v;while(1){u=d+1|0;if((o|0)>=(e|0)){B=v;continue r}Q=+jP(r,n,B,o);d=u;h=Q/+c[Y+(u<<2)>>2]+h;o=o+1|0}}h=h/E;u=0;while(1){if((u|0)>=(W|0)){u=0;break i}L=Y+(u<<2)|0;c[L>>2]=+c[L>>2]*h;u=u+1|0}}else u=0}while(0);while(1){if((u|0)>=(n|0))break;gO(e,a[r+(u<<2)>>2]|0);u=u+1|0}o=a[r+4>>2]|0;h=+b[o>>3];u=0;while(1){if((u|0)>=(e|0))break;L=o+(u<<3)|0;b[L>>3]=+b[L>>3]-h;u=u+1|0}g=n<<2;L=$F(g)|0;I=e<<2;C=U(I,n)|0;d=$F(C)|0;u=0;while(1){if((u|0)>=(n|0))break;B=d+((U(u,e)|0)<<2)|0;a[L+(u<<2)>>2]=B;v=r+(u<<2)|0;o=0;while(1){if((o|0)>=(e|0))break;c[B+(o<<2)>>2]=+b[(a[v>>2]|0)+(o<<3)>>3];o=o+1|0}u=u+1|0}E=+(Z|0);if(0){m=a[15712]|0;b[z>>3]=+cR();f3(m,93504,z)|0}pO(W,Y);UO(W,Y);m=$F(e<<3)|0;XO(e,0.0,m);u=0;d=0;while(1){if((d|0)>=(A|0)){u=e;o=0;d=0;break}B=e-d|0;h=0.0;o=1;while(1){u=u+1|0;if((o|0)>=(B|0))break;Q=+c[Y+(u<<2)>>2];z=m+(o+d<<3)|0;b[z>>3]=+b[z>>3]-Q;h=h+Q;o=o+1|0}z=m+(d<<3)|0;b[z>>3]=+b[z>>3]-h;d=d+1|0}while(1){if((o|0)>=(e|0))break;c[Y+(d<<2)>>2]=+b[m+(o<<3)>>3];z=u+d|0;u=u+-1|0;o=o+1|0;d=z}t=$F(g)|0;a[t>>2]=$F(C)|0;u=1;while(1){if((u|0)>=(n|0))break;a[t+(u<<2)>>2]=(a[t>>2]|0)+((U(u,e)|0)<<2);u=u+1|0}G=$F(I)|0;f=$F(I)|0;l=$F(W<<2)|0;o=dK(Y,e)|0;i=CK(Y,e,a[F>>2]|0,a[V>>2]|0,a[D>>2]|0)|0;Z=t+4|0;d=0;Q=1797693134862315708145274.0e284;u=0;while(1){if(!(d<<24>>24==0&(u|0)<(s|0)))break;XO(e,0.0,m);xO(W,Y,l);C=0;v=0;while(1){if((C|0)>=(A|0)){d=0;B=e;v=0;break}I=e-C+-1|0;RO(e,0.0,f);d=0;while(1){if((d|0)>=(n|0))break;D=L+(d<<2)|0;RO(I,+c[(a[D>>2]|0)+(C<<2)>>2],G);FO(I,G,-1.0,(a[D>>2]|0)+(C<<2)+4|0);pO(I,G);MO(I,G,f,f);d=d+1|0}TO(I,f);d=0;while(1){if((d|0)>=(I|0))break;B=f+(d<<2)|0;h=+c[B>>2];if(h>=3402823466385288598117041.0e14|h<0.0)c[B>>2]=0.0;d=d+1|0}g=C+1|0;h=0.0;d=v;B=0;while(1){d=d+1|0;if((B|0)>=(I|0))break;D=l+(d<<2)|0;X=+c[D>>2]*+c[f+(B<<2)>>2];c[D>>2]=X;D=m+(g+B<<3)|0;b[D>>3]=+b[D>>3]-X;h=h+X;B=B+1|0}v=m+(C<<3)|0;b[v>>3]=+b[v>>3]-h;C=g;v=d}while(1){if((d|0)>=(e|0)){d=0;break}c[l+(v<<2)>>2]=+b[m+(d<<3)>>3];D=B+v|0;d=d+1|0;B=B+-1|0;v=D}while(1){if((d|0)>=(n|0)){h=0.0;d=0;break}YO(l,e,a[L+(d<<2)>>2]|0,a[t+(d<<2)>>2]|0);d=d+1|0}while(1){if((d|0)>=(n|0))break;h=+NO(e,a[L+(d<<2)>>2]|0,a[t+(d<<2)>>2]|0)+h;d=d+1|0}h=h*2.0+E;d=0;while(1){if((d|0)>=(n|0))break;D=L+(d<<2)|0;YO(Y,e,a[D>>2]|0,G);h=h-+NO(e,a[D>>2]|0,G);d=d+1|0}X=+y(+(h-Q))/+y(+(Q+1.0e-10));d=((u|0)>1&h>Q|X<+b[23294])&1;B=0;while(1){if((B|0)>=(n|0))break;if((B|0)!=1){if(uS(Y,a[L+(B<<2)>>2]|0,a[t+(B<<2)>>2]|0,e,.001,e)|0){u=-1;break e}}else BK(i,a[Z>>2]|0,L,n,1,15,M,w)|0;B=B+1|0}Q=h;u=u+1|0}L2(M);EK(i);if(L|0){d=0;while(1){if((d|0)>=(n|0))break;v=L+(d<<2)|0;g=r+(d<<2)|0;B=0;while(1){if((B|0)>=(e|0))break;b[(a[g>>2]|0)+(B<<3)>>3]=+c[(a[v>>2]|0)+(B<<2)>>2];B=B+1|0}d=d+1|0}L2(a[L>>2]|0);L2(L)}if(t|0){L2(a[t>>2]|0);L2(t)}L2(G);L2(f);L2(m);L2(Y);L2(l)}}while(0);L2(a[F>>2]|0);L2(a[V>>2]|0);if(o){L2(a[o>>2]|0);L2(o)}}else J=10}else J=10}while(0);if((J|0)==10)u=iU(A,e,i,r,f,n,l,t,s)|0;k=N;return u|0}function oS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+48|0;f=s+24|0;n=s+12|0;i=s;l=vh(A)|0;c=$F(l*48|0)|0;qj(i,A);a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];i=cd(A)|0;r=c;while(1){if(!i)break;a[f>>2]=a[n>>2];a[f+4>>2]=a[n+4>>2];a[f+8>>2]=a[n+8>>2];hS(i,r,f);i=bd(A,i)|0;r=r+48|0}A:do{if(!(dS(c,l)|0))i=0;else{switch(e|0){case 9:{vS(A,c,l,70,1);ES(A,c,l,71,1);i=0;r=c;break}case 10:{ES(A,c,l,71,1);vS(A,c,l,70,1);i=0;r=c;break}case 7:{vS(A,c,l,72,1);ES(A,c,l,71,1);t=9;break}case 8:{t=9;break}case 13:{t=10;break}case 14:{ES(A,c,l,71,0);vS(A,c,l,70,0);i=0;r=c;break}case 12:{ES(A,c,l,73,0);vS(A,c,l,70,0);i=0;r=c;break}default:{vS(A,c,l,72,0);ES(A,c,l,71,0);i=0;r=c}}if((t|0)==9){ES(A,c,l,73,1);vS(A,c,l,70,1);t=10}if((t|0)==10){vS(A,c,l,70,0);ES(A,c,l,71,0);i=0;r=c}while(1){if((i|0)>=(l|0)){i=1;break A}n=a[r+16>>2]|0;t=a[(a[(a[r+20>>2]|0)+16>>2]|0)+132>>2]|0;b[t>>3]=+(a[r+12>>2]|0)*1.3888888888888887e-03;b[t+8>>3]=+(n|0)*1.3888888888888887e-03;i=i+1|0;r=r+48|0}}}while(0);L2(c);k=s;return i|0}function hS(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0.0,w=0.0;f=a[A+16>>2]|0;t=a[f+132>>2]|0;s=+b[t>>3]*720.0;l=~~(s+(s>=0.0?.5:-.5));s=+b[t+8>>3]*720.0;t=~~(s+(s>=0.0?.5:-.5));if(!(r[i+8>>0]|0)){w=+b[f+32>>3]*72.0*(+c[i>>2]*5.0);s=+b[f+40>>3]*72.0*(+c[i+4>>2]*5.0);n=~~(w+(w>=0.0?.5:-.5));f=~~(s+(s>=0.0?.5:-.5))}else{s=+b[f+32>>3]*36.0;w=+b[f+40>>3]*36.0;n=~~((+c[i>>2]+ +(~~(s+(s>=0.0?.5:-.5))|0))*10.0);f=~~((+c[i+4>>2]+ +(~~(w+(w>=0.0?.5:-.5))|0))*10.0)}a[e+12>>2]=l;a[e+16>>2]=t;a[e+20>>2]=A;a[e+32>>2]=l-n;a[e+36>>2]=t-f;a[e+40>>2]=n+l;a[e+44>>2]=f+t;return}function dS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=e+-1|0;i=0;A:while(1){if((i|0)>=(b|0)){A=0;break}c=A+48|0;i=i+1|0;n=A+32|0;l=A+40|0;t=A+36|0;f=A+44|0;A=c;r=i;while(1){if((r|0)>=(e|0)){A=c;continue A}if((((a[n>>2]|0)<=(a[A+40>>2]|0)?(a[A+32>>2]|0)<=(a[l>>2]|0):0)?(a[t>>2]|0)<=(a[A+44>>2]|0):0)?(a[A+36>>2]|0)<=(a[f>>2]|0):0){A=1;break A}A=A+48|0;r=r+1|0}}return A|0}function BS(A,e){A=A|0;e=e|0;if((a[A+36>>2]|0)>(a[e+44>>2]|0))A=0;else A=(a[e+36>>2]|0)<=(a[A+44>>2]|0)&1;return A|0}function vS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=jk(18168,a[4584]|0)|0;n=e;l=0;while(1){if((l|0)>=(i|0))break;a[n+8>>2]=a[n+12>>2];W5[a[t>>2]&63](t,n,1)|0;n=n+48|0;l=l+1|0}if(!f)l=mS(A,t,r,74)|0;else l=QS(t,r,74)|0;JV(l,2,2147483647)|0;n=0;while(1){if((n|0)>=(i|0))break;f=e+12|0;A=a[(a[(a[e+24>>2]|0)+16>>2]|0)+232>>2]|0;r=A-(a[f>>2]|0)|0;a[f>>2]=A;f=e+32|0;a[f>>2]=(a[f>>2]|0)+r;f=e+40|0;a[f>>2]=(a[f>>2]|0)+r;e=e+48|0;n=n+1|0}LS(l);pk(t)|0;return}function gS(A,e){A=A|0;e=e|0;if((a[A+32>>2]|0)>(a[e+40>>2]|0))A=0;else A=(a[e+32>>2]|0)<=(a[A+40>>2]|0)&1;return A|0}function ES(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=jk(18168,a[4584]|0)|0;n=e;l=0;while(1){if((l|0)>=(i|0))break;a[n+8>>2]=a[n+16>>2];W5[a[t>>2]&63](t,n,1)|0;n=n+48|0;l=l+1|0}if(!f)l=mS(A,t,r,75)|0;else l=QS(t,r,75)|0;JV(l,2,2147483647)|0;n=0;while(1){if((n|0)>=(i|0))break;f=e+16|0;A=a[(a[(a[e+24>>2]|0)+16>>2]|0)+232>>2]|0;r=A-(a[f>>2]|0)|0;a[f>>2]=A;f=e+36|0;a[f>>2]=(a[f>>2]|0)+r;f=e+44|0;a[f>>2]=(a[f>>2]|0)+r;e=e+48|0;n=n+1|0}LS(l);pk(t)|0;return}function CS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+32|0;r=e+32|0;if((a[A+36>>2]|0)<=(a[e+44>>2]|0)?(a[e+36>>2]|0)<=(a[A+44>>2]|0):0)if((a[A+40>>2]|0)<(a[r>>2]|0))A=1;else{n=GS(i,r)|0;n=n-(a[e+12>>2]|0)+(a[A+12>>2]|0)|0;e=a[e+16>>2]|0;A=a[A+16>>2]|0;f=(e|0)<(A|0);r=ZS(i,r)|0;A=(n|0)<=(r-(f?A:e)+(f?e:A)|0)&1}else A=0;return A|0}function IS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+32|0;r=e+32|0;if((a[i>>2]|0)<=(a[e+40>>2]|0)?(a[r>>2]|0)<=(a[A+40>>2]|0):0)if((a[A+44>>2]|0)<(a[e+36>>2]|0))A=1;else{n=ZS(i,r)|0;n=n-(a[e+16>>2]|0)+(a[A+16>>2]|0)|0;e=a[e+12>>2]|0;A=a[A+12>>2]|0;f=(e|0)<(A|0);r=GS(i,r)|0;A=(n|0)<=(r-(f?A:e)+(f?e:A)|0)&1}else A=0;return A|0}function ZS(A,e){A=A|0;e=e|0;return((a[A+12>>2]|0)-(a[A+4>>2]|0)+(a[e+12>>2]|0)-(a[e+4>>2]|0)|0)/2|0|0}function GS(A,e){A=A|0;e=e|0;return((a[A+8>>2]|0)-(a[A>>2]|0)+(a[e+8>>2]|0)-(a[e>>2]|0)|0)/2|0|0}function QS(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+16|0;E=I;r[E>>0]=r[18588]|0;r[E+1>>0]=r[18589]|0;r[E+2>>0]=r[18590]|0;r[E+3>>0]=r[18591]|0;C=kh(93515,E,0)|0;Td(C,137483,280,1)|0;n=xk(A)|0;l=-2147483647;g=0;while(1){if(!n)break;B=a[n+8>>2]|0;v=g+((l|0)!=(B|0)&1)|0;n=a[n>>2]|0;l=B;g=v}B=C+16|0;v=(g<<3)+-4|0;w=0;c=0;n=0;l=0;s=0;d=xk(A)|0;t=-2147483647;while(1){if(!d)break;h=a[d+8>>2]|0;if((t|0)!=(h|0)){o=vd(C,Vh(a[d+20>>2]|0)|0,1)|0;Td(o,137447,304,1)|0;u=o+16|0;n=a[u>>2]|0;a[n+112>>2]=d;if(!l){a[(a[B>>2]|0)+192>>2]=o;w=o}else{a[(a[w+16>>2]|0)+164>>2]=o;w=l}a[n+176>>2]=0;b=c+1|0;t=qF(b<<2)|0;a[(a[u>>2]|0)+172>>2]=t;if(!s){c=b;b=o;s=o;n=o;l=w;t=h}else{t=s+16|0;a[(a[t>>2]|0)+184>>2]=0;c=qF((s|0)==(w|0)?v:g-c<<2)|0;a[(a[t>>2]|0)+180>>2]=c;c=th(C,s,o,0,1)|0;Td(c,137460,176,1)|0;n=a[c+16>>2]|0;f[n+170>>1]=10;a[n+156>>2]=1;n=a[t>>2]|0;l=a[n+180>>2]|0;if(!l)n=$F((a[n+184>>2]<<2)+8|0)|0;else n=eV(l,(a[n+184>>2]<<2)+8|0)|0;s=a[t>>2]|0;a[s+180>>2]=n;s=s+184|0;l=a[s>>2]|0;a[s>>2]=l+1;a[n+(l<<2)>>2]=c;n=a[t>>2]|0;a[(a[n+180>>2]|0)+(a[n+184>>2]<<2)>>2]=0;n=a[u>>2]|0;l=a[n+172>>2]|0;if(!l)n=$F((a[n+176>>2]<<2)+8|0)|0;else n=eV(l,(a[n+176>>2]<<2)+8|0)|0;l=a[u>>2]|0;a[l+172>>2]=n;l=l+176|0;s=a[l>>2]|0;a[l>>2]=s+1;a[n+(s<<2)>>2]=c;c=a[u>>2]|0;a[(a[c+172>>2]|0)+(a[c+176>>2]<<2)>>2]=0;c=b;b=o;s=o;n=o;l=w;t=h}}else{b=n;n=w}a[d+24>>2]=b;w=n;n=b;d=a[d>>2]|0}s=s+16|0;a[(a[s>>2]|0)+184>>2]=0;n=qF(4)|0;a[(a[s>>2]|0)+180>>2]=n;r[E>>0]=r[18588]|0;r[E+1>>0]=r[18589]|0;r[E+2>>0]=r[18590]|0;r[E+3>>0]=r[18591]|0;s=kh(93562,E,0)|0;n=xk(A)|0;while(1){if(!n)break;E=vd(s,Vh(a[n+20>>2]|0)|0,1)|0;Td(E,137447,304,1)|0;a[n+28>>2]=E;a[(a[E+16>>2]|0)+112>>2]=n;n=a[n>>2]|0}n=0;b=xk(A)|0;l=-2147483647;A:while(1){if(!b)break;c=a[b+8>>2]|0;e:do{if((l|0)==(c|0))c=l;else{n=b;while(1){n=a[n>>2]|0;if(!n)break A;if((a[n+8>>2]|0)!=(c|0))break e}}}while(0);t=b+28|0;l=n;while(1){if(!l)break;if(m5[e&127](b,l)|0)th(s,a[t>>2]|0,a[l+28>>2]|0,0,1)|0;l=a[l>>2]|0}b=a[b>>2]|0;l=c}WS(s,C,i);Bh(s)|0;k=I;return C|0}function mS(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;B=k;k=k+16|0;d=B;r[d>>0]=r[18588]|0;r[d+1>>0]=r[18589]|0;r[d+2>>0]=r[18590]|0;r[d+3>>0]=r[18591]|0;d=kh(93515,d,0)|0;Td(d,137483,280,1)|0;b=d+16|0;l=xk(e)|0;t=0;while(1){if(!l)break;c=vd(d,Vh(a[l+20>>2]|0)|0,1)|0;Td(c,137447,304,1)|0;o=c+16|0;w=a[o>>2]|0;a[w+112>>2]=l;a[l+24>>2]=c;a[w+176>>2]=0;w=qF(4)|0;u=a[o>>2]|0;a[u+172>>2]=w;a[u+184>>2]=0;u=qF(4)|0;a[(a[o>>2]|0)+180>>2]=u;if(!t)a[(a[b>>2]|0)+192>>2]=c;else a[(a[t+16>>2]|0)+164>>2]=c;l=a[l>>2]|0;t=c}s=xk(e)|0;A:while(1){if(!s)break;w=s+32|0;u=s+24|0;o=s+20|0;l=s;while(1){l=a[l>>2]|0;if(!l)break;if(m5[i&127](s,l)|0){t=m5[n&127](w,l+32|0)|0;c=th(d,a[u>>2]|0,a[l+24>>2]|0,0,1)|0;Td(c,137460,176,1)|0;if((t|0)>=65536){h=13;break A}b=c+16|0;v=a[b>>2]|0;f[v+170>>1]=t;a[v+156>>2]=1;if(c|0?th(A,a[o>>2]|0,a[l+20>>2]|0,0,0)|0:0)a[(a[b>>2]|0)+156>>2]=100}}s=a[s>>2]|0}if((h|0)==13)vA(93518,93534,254,93547);s=xk(e)|0;while(1){if(!s)break;b=a[s+24>>2]|0;w=b+16|0;b=Oo(d,b)|0;while(1){if(!b)break;l=a[w>>2]|0;t=a[l+180>>2]|0;if(!t)l=$F((a[l+184>>2]<<2)+8|0)|0;else l=eV(t,(a[l+184>>2]<<2)+8|0)|0;t=a[w>>2]|0;a[t+180>>2]=l;t=t+184|0;c=a[t>>2]|0;a[t>>2]=c+1;a[l+(c<<2)>>2]=b;c=a[w>>2]|0;a[(a[c+180>>2]|0)+(a[c+184>>2]<<2)>>2]=0;c=b+-48|0;l=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;t=a[l+172>>2]|0;if(!t)l=$F((a[l+176>>2]<<2)+8|0)|0;else l=eV(t,(a[l+176>>2]<<2)+8|0)|0;a[(a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0)+172>>2]=l;n=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;h=a[n+172>>2]|0;n=n+176|0;v=a[n>>2]|0;a[n>>2]=v+1;a[h+(v<<2)>>2]=b;v=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;a[(a[v+172>>2]|0)+(a[v+176>>2]<<2)>>2]=0;b=_o(d,b)|0}s=a[s>>2]|0}k=B;return d|0}function LS(A){A=A|0;var e=0,i=0,r=0,f=0;f=cd(A)|0;while(1){if(!f)break;i=f+16|0;e=a[i>>2]|0;r=a[e+172>>2]|0;if(r){L2(r);e=a[i>>2]|0}e=a[e+180>>2]|0;if(e|0)L2(e);f=bd(A,f)|0}Bh(A)|0;return}function WS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;b=cd(A)|0;while(1){if(!b)break;u=a[(a[b+16>>2]|0)+112>>2]|0;w=a[u+24>>2]|0;u=u+32|0;k=w+16|0;s=Oo(A,b)|0;while(1){if(!s)break;l=a[(a[(a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;o=m5[i&127](u,l+32|0)|0;l=a[l+24>>2]|0;t=th(e,w,l,0,1)|0;Td(t,137460,176,1)|0;c=t+16|0;r=a[c>>2]|0;a[r+156>>2]=1;n=f[r+170>>1]|0;if((o|0)>(n&65535|0)){if(!(n<<16>>16)){r=a[k>>2]|0;n=a[r+180>>2]|0;if(!n)r=$F((a[r+184>>2]<<2)+8|0)|0;else r=eV(n,(a[r+184>>2]<<2)+8|0)|0;h=a[k>>2]|0;a[h+180>>2]=r;h=h+184|0;n=a[h>>2]|0;a[h>>2]=n+1;a[r+(n<<2)>>2]=t;r=a[k>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;l=l+16|0;r=a[l>>2]|0;n=a[r+172>>2]|0;if(!n)r=$F((a[r+176>>2]<<2)+8|0)|0;else r=eV(n,(a[r+176>>2]<<2)+8|0)|0;n=a[l>>2]|0;a[n+172>>2]=r;n=n+176|0;h=a[n>>2]|0;a[n>>2]=h+1;a[r+(h<<2)>>2]=t;r=a[l>>2]|0;a[(a[r+172>>2]|0)+(a[r+176>>2]<<2)>>2]=0;r=a[c>>2]|0}f[r+170>>1]=o}s=_o(A,s)|0}b=bd(A,b)|0}return}function yS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(a[e>>2]|0)-(a[i>>2]|0)|0}function zS(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0;Z=k;k=k+64|0;g=Z+24|0;B=Z+16|0;d=Z+52|0;h=Z+40|0;v=Z;C=vh(A)|0;I=$F(C*72|0)|0;qj(h,A);t=+c[h>>2];s=+c[h+4>>2];h=(r[h+8>>0]|0)!=0;t=h?t*.013888888888888888:t;s=h?s*.013888888888888888:s;w=t*.5;u=s*.5;i=I;f=cd(A)|0;while(1){if(!f)break;o=a[f+16>>2]|0;n=+b[o+32>>3];if(h){l=+b[o+40>>3]*.5+s;n=n*.5+t}else{l=u*+b[o+40>>3];n=w*n}o=a[o+132>>2]|0;Q=+b[o>>3];b[i>>3]=Q;G=+b[o+8>>3];b[i+8>>3]=G;b[i+16>>3]=Q-n;b[i+24>>3]=G-l;b[i+32>>3]=Q+n;b[i+40>>3]=G+l;b[i+48>>3]=n;b[i+56>>3]=l;a[i+64>>2]=f;i=i+72|0;f=bd(A,f)|0}do{if((e|0)<0){n=+YS(I,C);if(n==0.0){L2(I);i=0;break}if(!0){t=n;l=n;E=19}else{E=a[15712]|0;b[B>>3]=n;f3(E,93565,B)|0;t=n;l=n;E=19}}else{f=DS(I,C,d)|0;i=a[d>>2]|0;if(!i){L2(f);L2(I);i=0;break}if(!e){FS(v,f,i);n=+b[v>>3];l=+b[v+8>>3]}else{l=+MS(f,i);n=l}L2(f);if(!0){t=n;E=19}else{E=a[15712]|0;b[g>>3]=n;b[g+8>>3]=l;f3(E,93579,g)|0;t=n;E=19}}}while(0);if((E|0)==19){i=0;f=I;while(1){if((i|0)>=(C|0))break;E=a[(a[(a[f+64>>2]|0)+16>>2]|0)+132>>2]|0;b[E>>3]=+b[f>>3]*t;b[E+8>>3]=+b[f+8>>3]*l;i=i+1|0;f=f+72|0}L2(I);i=1}k=Z;return i|0}function YS(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;i=0.0;r=0;A:while(1){if((r|0)>=(e|0))break;d=A+72|0;r=r+1|0;w=A+16|0;u=A+8|0;k=A+56|0;o=A+48|0;h=A+32|0;c=A+24|0;s=A+40|0;l=r;t=d;while(1){if((l|0)>=(e|0)){A=d;continue A}if(((+b[w>>3]<=+b[t+32>>3]?+b[t+16>>3]<=+b[h>>3]:0)?+b[c>>3]<=+b[t+40>>3]:0)?+b[t+24>>3]<=+b[s>>3]:0){i=0.0;break A}f=+b[A>>3];a=+b[t>>3];if(f==a)n=C;else{n=+y(+(f-a));n=(+b[t+48>>3]+ +b[o>>3])/n}f=+b[u>>3];a=+b[t+8>>3];if(f==a)f=C;else{f=+y(+(f-a));f=(+b[t+56>>3]+ +b[k>>3])/f}n=fi?n:i}}return+i}function DS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,I=0,Z=0,G=0,Q=0;c=$F((e<<4)+16|0)|0;w=0;r=0;u=c;k=e;l=c;A:while(1){if((r|0)>=(e|0))break;G=A+72|0;r=r+1|0;Z=A+16|0;d=A+32|0;B=A+24|0;v=A+40|0;g=A+8|0;E=A+56|0;I=A+48|0;o=r;h=G;s=l;while(1){if((o|0)==(e|0)){A=G;l=s;continue A}if(((+b[Z>>3]<=+b[h+32>>3]?+b[h+16>>3]<=+b[d>>3]:0)?+b[B>>3]<=+b[h+40>>3]:0)?+b[h+24>>3]<=+b[v>>3]:0){l=k+e|0;if((w|0)==(k|0)){c=eV(c,(l<<4)+16|0)|0;u=c;s=c}else l=k;f=+b[A>>3];n=+b[h>>3];if(!(f==n)){f=(+b[h+48>>3]+ +b[I>>3])/+y(+(f-n));if(f<1.0){f=1.0;Q=13}}else{f=C;Q=13}if((Q|0)==13)Q=0;n=+b[g>>3];t=+b[h+8>>3];if(!(n==t)){n=(+b[h+56>>3]+ +b[E>>3])/+y(+(n-t));if(n<1.0){n=1.0;Q=16}}else{n=C;Q=16}if((Q|0)==16)Q=0;w=w+1|0;b[u+(w<<4)>>3]=f;b[u+(w<<4)+8>>3]=n}else l=k;o=o+1|0;h=h+72|0;k=l}}Q=eV(l,(w<<4)+16|0)|0;a[i>>2]=w;return Q|0}function MS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,a=0.0,n=0.0;r=1;f=0.0;while(1){i=A+16|0;if((r|0)>(e|0))break;n=+b[i>>3];a=+b[A+24>>3];a=nf?a:f;A=i}return+f}function FS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0,n=0,l=0.0;b[e>>3]=1.0;b[e+8>>3]=C;K4(e+16|0,i,16,76);n=$F((i<<4)+16|0)|0;b[n+(i<<4)>>3]=+b[e+(i<<4)>>3];a=i;r=1.0;while(1){b[n+(a<<4)+8>>3]=r;f=a+-1|0;if((a|0)<=0){r=C;f=0;a=0;break}b[n+(f<<4)>>3]=+b[e+(f<<4)>>3];l=+b[(+b[e+(a<<4)+8>>3]>r?e:n)+(a<<4)+8>>3];a=f;r=l}while(1){if((a|0)>(i|0))break;l=+b[n+(a<<4)+8>>3]*+b[n+(a<<4)>>3];e=l>3];b[A>>3]=+b[n+(f<<4)>>3];b[A+8>>3]=l;return}else vA(93596,93534,832,93616)}function VS(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3];r=+b[e>>3];if(!(ir)){r=+b[A+8>>3];i=+b[e+8>>3];if(ri&1}else A=1;else A=-1;return A|0}function JS(A,e,i){A=A|0;e=e|0;i=i|0;i=k;k=k+16|0;e=i;a[e>>2]=93631;ao(1,93681,e)|0;k=i;return 0}function NS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=k;k=k+16|0;i=r;a[i>>2]=93631;ao(1,93709,i)|0;k=r;return 0}function XS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{switch(i|0){case 2:{r=$F(16)|0;f=$F(24)|0;a[f+8>>2]=0;a[f+4>>2]=r;a[f>>2]=2;a[r>>2]=0;a[r+4>>2]=1;i=r+8|0;a[f+16>>2]=i;a[f+20>>2]=0;a[f+12>>2]=2;a[i>>2]=1;a[r+12>>2]=0;break}case 1:{r=$F(4)|0;f=$F(12)|0;a[f+8>>2]=0;a[f+4>>2]=r;a[f>>2]=1;a[r>>2]=0;break}default:{JS(0,0,0)|0;A=(i|0)>0;if(!r){if(!A){f=0;break A}re()}else{if(!A){f=0;break A}re()}}}}while(0);return f|0}function RS(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)L2(e);e=a[A+8>>2]|0;if(e|0)L2(e);L2(A)}return}function HS(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)L2(e);e=a[A+8>>2]|0;if(e|0)L2(e);e=a[A+16>>2]|0;if(e|0)L2(e);L2(A)}return}function pS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;s=u;b=y2(a[46849]|0,i<<2)|0;a[46849]=b;f=0;while(1){if((f|0)>=(i|0))break;a[r+(f<<2)>>2]=2147483647;f=f+1|0}a[r+(A<<2)>>2]=0;n=e+(A*20|0)|0;l=e+(A*20|0)+8|0;t=e+(A*20|0)+4|0;f=1;while(1){if((f|0)>=(a[n>>2]|0))break;a[r+(a[(a[t>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+c[(a[l>>2]|0)+(f<<2)>>2];f=f+1|0}US(w,A,b,r,i);l=-2147483639;while(1){if(!((xS(w,s,a[46849]|0,r)|0)<<24>>24)){f=0;break}f=a[s>>2]|0;A=a[r+(f<<2)>>2]|0;if((A|0)==2147483647){f=0;break}l=e+(f*20|0)|0;t=e+(f*20|0)+4|0;n=e+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(a[l>>2]|0))break;TS(w,a[(a[t>>2]|0)+(f<<2)>>2]|0,A+~~+c[(a[n>>2]|0)+(f<<2)>>2]|0,a[46849]|0,r);f=f+1|0}l=A+10|0}while(1){if((f|0)>=(i|0))break;n=r+(f<<2)|0;if((a[n>>2]|0)==2147483647)a[n>>2]=l;f=f+1|0}jS(w);k=u;return}function US(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;if((f|0)==1)t=0;else t=$F((f<<2)+-4|0)|0;a[A>>2]=t;c=f+-1|0;a[A+4>>2]=c;n=0;l=0;while(1){if((l|0)>=(f|0))break;if((l|0)!=(e|0)){a[t+(n<<2)>>2]=l;a[i+(l<<2)>>2]=n;n=n+1|0}l=l+1|0}n=(c|0)/2|0;while(1){if((n|0)<=-1)break;SS(A,n,i,r);n=n+-1|0}return}function xS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A+4|0;if(!(a[f>>2]|0))A=0;else{n=a[A>>2]|0;a[e>>2]=a[n>>2];e=a[n+((a[f>>2]|0)+-1<<2)>>2]|0;a[n>>2]=e;a[i+(e<<2)>>2]=0;a[f>>2]=(a[f>>2]|0)+-1;SS(A,0,i,r);A=1}return A|0}function TS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;n=f+(e<<2)|0;if((a[n>>2]|0)>(i|0)){c=r+(e<<2)|0;t=a[c>>2]|0;a[n>>2]=i;n=a[A>>2]|0;A=t;while(1){if((A|0)<=0)break;l=A>>>1;t=a[n+(l<<2)>>2]|0;if((a[f+(t<<2)>>2]|0)<=(i|0))break;a[n+(A<<2)>>2]=t;a[r+(t<<2)>>2]=A;A=l}a[n+(A<<2)>>2]=e;a[c>>2]=A}return}function jS(A){A=A|0;A=a[A>>2]|0;if(A|0)L2(A);return}function SS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;t=A+4|0;while(1){f=e<<1;n=f|1;l=a[t>>2]|0;if(!((f|0)<(l|0)?(c=a[A>>2]|0,(a[r+(a[c+(f<<2)>>2]<<2)>>2]|0)<(a[r+(a[c+(e<<2)>>2]<<2)>>2]|0)):0))f=e;if((n|0)<(l|0)){c=a[A>>2]|0;f=(a[r+(a[c+(n<<2)>>2]<<2)>>2]|0)<(a[r+(a[c+(f<<2)>>2]<<2)>>2]|0)?n:f}if((f|0)==(e|0))break;c=a[A>>2]|0;l=c+(f<<2)|0;n=a[l>>2]|0;c=c+(e<<2)|0;a[l>>2]=a[c>>2];a[c>>2]=n;a[i+(a[l>>2]<<2)>>2]=f;a[i+(a[c>>2]<<2)>>2]=e;e=f}return}function PS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0.0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;s=o+8|0;w=o;a[w>>2]=0;u=$F(i<<2)|0;f=0;while(1){if((f|0)>=(i|0))break;c[r+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}c[r+(A<<2)>>2]=0.0;n=a[e+(A*20|0)>>2]|0;l=e+(A*20|0)+8|0;t=e+(A*20|0)+4|0;f=1;while(1){if((f|0)>=(n|0))break;a[r+(a[(a[t>>2]|0)+(f<<2)>>2]<<2)>>2]=a[(a[l>>2]|0)+(f<<2)>>2];f=f+1|0}OS(s,A,u,r,i);A:while(1){if(!((KS(s,w,u,r)|0)<<24>>24))break;f=a[w>>2]|0;b=+c[r+(f<<2)>>2];if(b==3402823466385288598117041.0e14)break;l=e+(f*20|0)|0;t=e+(f*20|0)+4|0;n=e+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(a[l>>2]|0))continue A;_S(s,a[(a[t>>2]|0)+(f<<2)>>2]|0,+c[(a[n>>2]|0)+(f<<2)>>2]+b,u,r);f=f+1|0}}jS(s);L2(u);k=o;return}function OS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;t=f+-1|0;c=$F(t<<2)|0;a[A>>2]=c;a[A+4>>2]=t;n=0;l=0;while(1){if((l|0)>=(f|0))break;if((l|0)!=(e|0)){a[c+(n<<2)>>2]=l;a[i+(l<<2)>>2]=n;n=n+1|0}l=l+1|0}n=(t|0)/2|0;while(1){if((n|0)<=-1)break;qS(A,n,i,r);n=n+-1|0}return}function KS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A+4|0;if(!(a[f>>2]|0))A=0;else{n=a[A>>2]|0;a[e>>2]=a[n>>2];e=a[n+((a[f>>2]|0)+-1<<2)>>2]|0;a[n>>2]=e;a[i+(e<<2)>>2]=0;a[f>>2]=(a[f>>2]|0)+-1;qS(A,0,i,r);A=1}return A|0}function _S(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,b=0;n=f+(e<<2)|0;if(!(+c[n>>2]<=i)){b=r+(e<<2)|0;t=a[b>>2]|0;c[n>>2]=i;n=a[A>>2]|0;A=t;while(1){if((A|0)<=0)break;l=A>>>1;t=a[n+(l<<2)>>2]|0;if(!(+c[f+(t<<2)>>2]>i))break;a[n+(A<<2)>>2]=t;a[r+(t<<2)>>2]=A;A=l}a[n+(A<<2)>>2]=e;a[b>>2]=A}return}function qS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0;t=A+4|0;while(1){f=e<<1;n=f|1;l=a[t>>2]|0;if(!((f|0)<(l|0)?(b=a[A>>2]|0,+c[r+(a[b+(f<<2)>>2]<<2)>>2]<+c[r+(a[b+(e<<2)>>2]<<2)>>2]):0))f=e;if((n|0)<(l|0)?(b=a[A>>2]|0,+c[r+(a[b+(n<<2)>>2]<<2)>>2]<+c[r+(a[b+(f<<2)>>2]<<2)>>2]):0)f=n;if((f|0)==(e|0))break;b=a[A>>2]|0;l=b+(f<<2)|0;n=a[l>>2]|0;b=b+(e<<2)|0;a[l>>2]=a[b>>2];a[b>>2]=n;a[i+(a[l>>2]<<2)>>2]=f;a[i+(a[b>>2]<<2)>>2]=e;e=f}return}function $S(){jO(187400,48);a[46853]=0;return}function AP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0,l=0;l=PO(187400)|0;a[l+32>>2]=A;a[l+36>>2]=e;LK(A);LK(e);a[l+24>>2]=0;a[l+28>>2]=0;f=+b[A>>3];n=+b[e>>3]-f;r=+b[A+8>>3];i=+b[e+8>>3]-r;f=i*r+n*f+(i*i+n*n)*.5;e=l+16|0;b[e>>3]=f;if((n>0.0?n:-n)>(i>0.0?i:-i)){b[l>>3]=1.0;r=i/n;i=n;A=l+8|0}else{b[l+8>>3]=1.0;r=n/i;A=l}b[A>>3]=r;b[e>>3]=f/i;e=a[46853]|0;a[l+40>>2]=e;a[46853]=e+1;return l|0}function eP(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0;s=+b[A>>3];A:do{if(s==1.0){if(!(+b[A+8>>3]>=0.0)){e=a[A+28>>2]|0;i=a[A+24>>2]|0;if(!i)w=9;else w=5}else{e=a[A+24>>2]|0;i=a[A+28>>2]|0;if(!i)w=9;else w=5}do{if((w|0)==5){r=+b[i+8>>3];if(r>+b[23266])break A;f=+b[23267];if(!(r>=f)){l=f;r=+b[A+16>>3]-+b[A+8>>3]*f;break}else{l=r;r=+b[i>>3];break}}else if((w|0)==9){f=+b[23267];l=f;r=+b[A+16>>3]-+b[A+8>>3]*f}}while(0);do{if(e){n=+b[e+8>>3];if(n>3]-+b[A+8>>3]*f;break}else{f=+b[e>>3];break}}else{f=+b[23266];n=f;f=+b[A+16>>3]-+b[A+8>>3]*f}}while(0);t=+b[23268];e=r>t;i=f>t;c=+b[23269];if(!(e&i|r>3]-t)/+b[A+8>>3];r=t}if(r>3]-c)/+b[A+8>>3];r=c}if(i){n=(+b[A+16>>3]-t)/+b[A+8>>3];f=t}if(f>3]-c)/+b[A+8>>3];f=c;w=46}else w=46}}else{i=a[A+28>>2]|0;e=a[A+24>>2]|0;do{if(e){r=+b[e>>3];if(r>+b[23268])break A;n=+b[23269];if(!(r>=n)){l=+b[A+16>>3]-n*s;r=n;break}else{l=+b[e+8>>3];break}}else{n=+b[23269];l=+b[A+16>>3]-n*s;r=n}}while(0);do{if(i){f=+b[i>>3];if(f>3]-s*t;f=t;break}else{n=+b[i+8>>3];break}}else{f=+b[23268];n=+b[A+16>>3]-s*f}}while(0);t=+b[23266];e=l>t;i=n>t;c=+b[23267];if(!(e&i|l>3]-t)/s}if(l>3]-c)/s}if(i){n=t;f=(+b[A+16>>3]-t)/s}if(n>3]-c)/s;w=46}else w=46}}}while(0);if((w|0)==46)iP(A,r,l,f,n);return}function iP(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var n=0;n=A+32|0;FP(a[n>>2]|0,e,i);FP(a[n>>2]|0,r,f);A=A+36|0;FP(a[A>>2]|0,e,i);FP(a[A>>2]|0,r,f);return}function rP(A,e,i){A=A|0;e=e|0;i=i|0;a[A+24+(e<<2)>>2]=i;LK(i);if(a[A+24+(1-e<<2)>>2]|0){eP(A);mK(a[A+32>>2]|0);mK(a[A+36>>2]|0);OO(A,187400)}return}function fP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;o=k;k=k+16|0;u=o;s=e<<2;l=$F(U(s,i)|0)|0;n=a[r>>2]|0;s=$F(s)|0;w=a[A+8>>2]|0;if(n|0){L2(a[n>>2]|0);L2(n)}b=$F(i<<2)|0;a[r>>2]=b;n=0;while(1){if((n|0)>=(i|0))break;a[b+(n<<2)>>2]=l+((U(n,e)|0)<<2);n=n+1|0}c=(f|0)!=0;if(c)xP(A,e);r=(a8()|0)%(e|0)|0;lS(u,e);n=a[b>>2]|0;if(c){pS(r,A,e,n);f=0;n=0}else{rS(r,A,e,n,u);f=0;n=0}while(1){if((n|0)>=(e|0)){t=1;break}l=a[(a[b>>2]|0)+(n<<2)>>2]|0;a[s+(n<<2)>>2]=l;t=(l|0)>(f|0);f=t?l:f;r=t?n:r;n=n+1|0}while(1){if((t|0)>=(i|0))break;l=b+(t<<2)|0;n=a[l>>2]|0;if(c){pS(r,A,e,n);n=0;f=0}else{rS(r,A,e,n,u);n=0;f=0}while(1){if((n|0)>=(e|0))break;B=s+(n<<2)|0;h=a[B>>2]|0;d=a[(a[l>>2]|0)+(n<<2)>>2]|0;d=(h|0)<(d|0)?h:d;a[B>>2]=d;B=(d|0)>(f|0);h=B?n:r;n=n+1|0;f=B?d:f;r=h}t=t+1|0}L2(s);if(c)TP(A,e,w);k=o;return}function aP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0.0,c=0,b=0;t=1.0/+(e|0);l=0;while(1){if((l|0)>=(i|0))break;c=A+(l<<2)|0;r=0.0;f=0;while(1){if((f|0)>=(e|0))break;r=r+ +(a[(a[c>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=~~(r*t);f=0;while(1){if((f|0)>=(e|0))break;b=(a[c>>2]|0)+(f<<2)|0;a[b>>2]=(a[b>>2]|0)-n;f=f+1|0}l=l+1|0}return}function nP(){a[46855]=~~+z(+ +((a[46854]|0)+4|0));return}function lP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+(r*r+i*i)}function tP(A,e,i){A=A|0;e=e|0;i=i|0;b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=+b[e+8>>3]-+b[i+8>>3];return}function cP(A,e,i){A=A|0;e=e|0;i=i|0;b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=+b[i+8>>3]+ +b[e+8>>3];return}function bP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];return+((+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r))}function sP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=k;k=k+48|0;f=r+32|0;n=r+16|0;l=r;a[l>>2]=a[A>>2];a[l+4>>2]=a[A+4>>2];a[l+8>>2]=a[A+8>>2];a[l+12>>2]=a[A+12>>2];a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];i=+bP(l,n,f)>0.0&1;k=r;return i|0}function wP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0;k=+b[A>>3];o=+b[r+8>>3];h=+b[i+8>>3];w=(o-h)*k;u=+b[e>>3];s=+b[r>>3];c=+b[e+8>>3];l=+b[A+8>>3];t=c-l;a=+b[i>>3];n=w+u*(h-o)+t*s+a*(l-c);if(n==0.0)r=0;else{o=(a*(l-o)+w+(h-l)*s)/n;h=-(a*t+((h-c)*k+(l-h)*u))/n;b[f>>3]=o*(u-k)+k;b[f+8>>3]=t*o+l;r=h<=1.0&(h>=0.0&(o>=0.0&o<=1.0))&1}return r|0}function uP(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0.0,l=0;a[A+20>>2]=e;LK(e);l=A+24|0;b[l>>3]=+b[e+8>>3]+i;r=a[46856]|0;r=r+((kP(A)|0)*40|0)|0;while(1){f=r+32|0;r=a[f>>2]|0;if(!r)break;i=+b[l>>3];n=+b[r+24>>3];if(i>n)continue;if(!(i==n))break;if(!(+b[e>>3]>+b[a[r+20>>2]>>3]))break}a[A+32>>2]=r;a[f>>2]=A;a[46857]=(a[46857]|0)+1;return}function kP(A){A=A|0;var e=0.0,i=0,r=0.0;i=a[46858]|0;r=+(i|0);e=(+b[A+24>>3]-+b[23273])/+b[23275]*r;do{if(!(e<0.0))if(!(e>=r)){A=~~e;break}else{A=i+-1|0;break}else A=0}while(0);if((A|0)<(a[46859]|0))a[46859]=A;return A|0}function oP(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;if(a[i>>2]|0){e=a[46856]|0;e=e+((kP(A)|0)*40|0)|0;do{r=e+32|0;e=a[r>>2]|0}while((e|0)!=(A|0));a[r>>2]=a[A+32>>2];a[46857]=(a[46857]|0)+-1;mK(a[i>>2]|0);a[i>>2]=0}return}function hP(){return(a[46857]|0)==0|0}function dP(A){A=A|0;var e=0,i=0,r=0,f=0.0;e=a[46856]|0;i=a[46859]|0;while(1){r=a[e+(i*40|0)+32>>2]|0;if(r|0)break;r=i+1|0;a[46859]=r;i=r}f=+b[r+24>>3];b[A>>3]=+b[a[r+20>>2]>>3];b[A+8>>3]=f;return}function BP(){var A=0,e=0;e=(a[46856]|0)+((a[46859]|0)*40|0)+32|0;A=a[e>>2]|0;a[e>>2]=a[A+32>>2];a[46857]=(a[46857]|0)+-1;return A|0}function vP(){L2(a[46856]|0);a[46856]=0;return}function gP(){var A=0,e=0,i=0;a[46857]=0;a[46859]=0;A=a[46855]|0;e=A<<2;a[46858]=e;i=a[46856]|0;if(!i){i=$F(A*160|0)|0;a[46856]=i;e=a[46858]|0}A=0;while(1){if((A|0)>=(e|0))break;a[i+(A*40|0)+32>>2]=0;A=A+1|0}return}function EP(){jO(187448,40);L2(a[46865]|0);a[46865]=0;return}function CP(){var A=0,e=0,i=0;jO(187448,40);A=a[46855]|0;e=A<<1;a[46866]=e;i=a[46865]|0;if(!i){i=$F(A<<3)|0;a[46865]=i;e=a[46866]|0}A=0;while(1){if((A|0)>=(e|0))break;a[i+(A<<2)>>2]=0;A=A+1|0}a[46860]=IP(0,0)|0;a[46861]=IP(0,0)|0;a[a[46860]>>2]=0;i=a[46861]|0;e=a[46860]|0;a[e+4>>2]=i;a[i>>2]=e;a[(a[46861]|0)+4>>2]=0;i=a[46865]|0;a[i>>2]=a[46860];a[i+((a[46866]|0)+-1<<2)>>2]=a[46861];return}function IP(A,e){A=A|0;e=e|0;var i=0;i=PO(187448)|0;a[i+8>>2]=A;r[i+16>>0]=e;a[i+32>>2]=0;a[i+20>>2]=0;a[i+12>>2]=0;return i|0}function ZP(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0.0,w=0.0,u=0.0,k=0,o=0.0,h=0.0;l=a[A+8>>2]|0;c=a[e+8>>2]|0;do{if((!((l|0)==0|(c|0)==0)?(k=a[l+36>>2]|0,i=a[c+36>>2]|0,(k|0)!=(i|0)):0)?(t=+b[l>>3],f=+b[c+8>>3],n=+b[l+8>>3],s=+b[c>>3],w=f*t-s*n,!(w>-1.0e-10&w<1.0e-10)):0){o=+b[l+16>>3];h=+b[c+16>>3];u=(o*f-h*n)/w;t=(h*t-o*s)/w;f=+b[k+8>>3];n=+b[i+8>>3];do{if(f>3]<+b[i>>3]:0){i=k;break}A=e}}while(0);A=r[A+16>>0]|0;if(!(u>=+b[i>>3])){if(A<<24>>24==1){A=0;break}}else if(!(A<<24>>24)){A=0;break}A=ZK()|0;a[A+20>>2]=0;b[A>>3]=u;b[A+8>>3]=t}else A=0}while(0);return A|0}function GP(A,e){A=A|0;e=e|0;var i=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0,s=0.0,w=0,u=0,k=0.0,o=0;u=a[A+8>>2]|0;c=a[u+36>>2]|0;s=+b[e>>3];k=+b[c>>3];w=s>k;o=r[A+16>>0]|0;if(w)if(!(o<<24>>24))A=1;else f=4;else if(o<<24>>24==1)A=0;else f=4;if((f|0)==4){i=+b[u>>3];A:do{if(i==1.0){i=+b[e+8>>3];n=i-+b[c+8>>3];l=s-k;t=+b[u+8>>3];e=t<0.0;do{if(w?t>=0.0:e){if(n>=t*l){A=1;break A}}else{A=t*i+s>+b[u+16>>3];if(e)if(A){A=0;break A}else break;else if(A)break;else{A=0;break A}}}while(0);k=k-+b[a[u+32>>2]>>3];A=t*(l*l-n*n)>3]-s*i;t=+b[e+8>>3]-l;k=s-k;s=l-+b[c+8>>3];A=t*t>s*s+k*k}}while(0);A=(A^o<<24>>24!=0)&1}return A|0}function QP(A,e){A=A|0;e=e|0;a[e>>2]=A;A=A+4|0;a[e+4>>2]=a[A>>2];a[a[A>>2]>>2]=e;a[A>>2]=e;return}function mP(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[46866]|0;e=~~((+b[A>>3]-+b[23272])/+b[23274]*+(f|0));e=(e|0)>0?e:0;f=(e|0)<(f|0)?e:f+-1|0;e=LP(f)|0;if(!e){i=1;while(1){e=LP(f-i|0)|0;if(e|0)break;e=LP(i+f|0)|0;if(e|0)break;i=i+1|0}a[46867]=(a[46867]|0)+i}a[46868]=(a[46868]|0)+1;r=a[46860]|0;i=a[46861]|0;A:do{if((e|0)==(r|0))n=9;else{if((e|0)!=(i|0)?(GP(e,A)|0)!=0:0){n=9;break}while(1){e=a[e>>2]|0;if((e|0)==(r|0))break A;if(GP(e,A)|0){r=e;break}}}}while(0);if((n|0)==9){while(1){e=a[e+4>>2]|0;if((e|0)==(i|0))break;if(!(GP(e,A)|0))break;else n=9}r=a[e>>2]|0}if((f|0)>0?(f|0)<((a[46866]|0)+-1|0):0){e=(a[46865]|0)+(f<<2)|0;i=a[e>>2]|0;if(i|0){n=i+12|0;a[n>>2]=(a[n>>2]|0)+-1}a[e>>2]=r;n=r+12|0;a[n>>2]=(a[n>>2]|0)+1}return r|0}function LP(A){A=A|0;var e=0,i=0;if((A|0)>-1&(a[46866]|0)>(A|0)?(i=(a[46865]|0)+(A<<2)|0,e=a[i>>2]|0,(e|0)!=0):0){if((a[e+8>>2]|0)==(-2|0)){a[i>>2]=0;A=e+12|0;i=(a[A>>2]|0)+-1|0;a[A>>2]=i;if(!i){OO(e,187448);e=0}else e=0}}else e=0;return e|0}function WP(A){A=A|0;var e=0,i=0;e=A+4|0;i=a[A>>2]|0;a[i+4>>2]=a[e>>2];a[a[e>>2]>>2]=i;a[A+8>>2]=-2;return}function yP(A){A=A|0;return a[A+4>>2]|0}function zP(A){A=A|0;return a[A>>2]|0}function YP(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(!e)A=187672;else A=(r[A+16>>0]|0)==0?e+32|0:e+36|0;return a[A>>2]|0}function DP(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(!e)A=187672;else A=(r[A+16>>0]|0)==0?e+36|0:e+32|0;return a[A>>2]|0}function MP(){jO(187480,24);return}function FP(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;n=(a[46869]|0)+((a[A+16>>2]|0)*96|0)+88|0;f=a[n>>2]|0;b[l+8>>3]=e;b[l+16>>3]=i;r=VP(A,l,f)|0;do{if(r|0){if((r|0)<0){l=PO(187480)|0;b[l+8>>3]=e;b[l+16>>3]=i;a[l>>2]=f;a[n>>2]=l;break}while(1){r=a[f>>2]|0;n=VP(A,l,r)|0;if((n|0)>0)f=r;else break}if(n|0){l=PO(187480)|0;b[l+8>>3]=e;b[l+16>>3]=i;a[f>>2]=l;a[l>>2]=r}}}while(0);k=t;return}function VP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0,c=0.0;do{if(i){f=+b[e+8>>3];l=+b[i+8>>3];r=+b[e+16>>3];a=+b[i+16>>3];if(!(f==l&r==a)){c=+b[A>>3];t=f-c;f=+b[A+8>>3];n=r-f;l=l-c;r=a-f;if(!(t>=0.0)){if(l>=0.0){e=1;break}f=r/l;r=n/t;if(rf){e=1;break}e=t>l?-1:1;break}if(!(l<0.0)){e=l>0.0;if(!(t>0.0)){if(e){e=!(n<=0.0)?1:-1;break}if(n0.0?-1:1;break}f=r/l;r=n/t;if(rf){e=1;break}e=t>2]|0;i=A+(i*20|0)+4|0;e=1;A=0;while(1){if((e|0)>=(f|0))break;n=A+((a[r+(a[(a[i>>2]|0)+(e<<2)>>2]<<2)>>2]|0)>0&1)|0;e=e+1|0;A=n}return A|0}function NP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+(e*20|0)|0;e=A+(e*20|0)+4|0;A=1;while(1){if((A|0)>=(a[r>>2]|0))break;a[i+(a[(a[e>>2]|0)+(A<<2)>>2]<<2)>>2]=1;A=A+1|0}return}function XP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+(e*20|0)|0;e=A+(e*20|0)+4|0;A=1;while(1){if((A|0)>=(a[r>>2]|0))break;a[i+(a[(a[e>>2]|0)+(A<<2)>>2]<<2)>>2]=0;A=A+1|0}return}function RP(A,e){A=A|0;e=e|0;if(!(a[A+8>>2]|0))A=pP(A,e)|0;else A=HP(A,e)|0;return A|0}function HP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=e<<2;r=$F(U(f,e)|0)|0;f=$F(f)|0;i=0;while(1){if((i|0)>=(e|0)){i=0;break}a[f+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}while(1){if((i|0)>=(e|0))break;pS(i,A,e,a[f+(i<<2)>>2]|0);i=i+1|0}return f|0}function pP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;n=e<<2;r=$F(U(n,e)|0)|0;n=$F(n)|0;i=0;while(1){if((i|0)>=(e|0))break;a[n+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}lS(f,e);i=0;while(1){if((i|0)>=(e|0))break;rS(i,A,e,a[n+(i<<2)>>2]|0,f);i=i+1|0}tS(f);k=l;return n|0}function UP(A,e){A=A|0;e=e|0;var i=0,r=0;r=a[A+8>>2]|0;xP(A,e);i=HP(A,e)|0;TP(A,e,r);return i|0}function xP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;s=$F(e<<2)|0;i=0;r=0;while(1){if((i|0)>=(e|0))break;b=(a[A+(i*20|0)>>2]|0)+r|0;i=i+1|0;r=b}r=$F(r<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;a[s+(i<<2)>>2]=0;i=i+1|0}f=0;while(1){if((f|0)>=(e|0))break;a[A+(f*20|0)+8>>2]=r;NP(A,f,s);n=A+(f*20|0)|0;l=a[n>>2]|0;t=A+(f*20|0)+4|0;b=l+-2|0;i=1;while(1){if((i|0)>=(l|0))break;w=a[(a[t>>2]|0)+(i<<2)>>2]|0;u=a[A+(w*20|0)>>2]|0;c[r+(i<<2)>>2]=+(b+u-((JP(A,0,w,s)|0)<<1)|0);i=i+1|0}XP(A,f,s);r=r+(a[n>>2]<<2)|0;f=f+1|0}L2(s);return}function TP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;L2(a[r>>2]|0);a[r>>2]=0;A:do{if(i|0){r=0;while(1){if((r|0)>=(e|0))break A;a[A+(r*20|0)+8>>2]=i;f=i+(a[A+(r*20|0)>>2]<<2)|0;r=r+1|0;i=f}}}while(0);return}function jP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0;f=0;n=0.0;while(1){if((f|0)>=(e|0))break;t=a[A+(f<<2)>>2]|0;l=+b[t+(i<<3)>>3]-+b[t+(r<<3)>>3];f=f+1|0;n=l*l+n}return+ +z(+n)}function SP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((r|0)>(i|0)){a[46873]=A;K4(e+(i<<2)|0,1-i+r|0,4,77)}return}function PP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[46873]|0;r=+c[f+(a[A>>2]<<2)>>2];i=+c[f+(a[e>>2]<<2)>>2];return(ri&1)|0}function OP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=k;k=k+16|0;f=l;if((i|0)<(r|0)){KP(A,e,i,r,f);n=a[f>>2]|0;f=n+-1|0;OP(A,e,i,f);n=n+1|0;OP(A,e,n,r);if(!(_P(A,e,i,f)|0))OP(A,e,i,f);if(!(_P(A,e,n,r)|0))OP(A,e,n,r)}k=l;return}function KP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0;n=a8()|0;n=e+(((((a8()|0)<<16|n)>>>0)%((1-i+r|0)>>>0)|0)+i<<2)|0;t=a[n>>2]|0;c=e+(i<<2)|0;a[n>>2]=a[c>>2];a[c>>2]=t;s=+b[A+(t<<3)>>3];n=i+1|0;i=r;A:while(1){if((n|0)>=(i|0))break;while(1){if((n|0)>=(i|0))break;if(!(+b[A+(a[e+(n<<2)>>2]<<3)>>3]<=s))break;n=n+1|0}while(1){if((n|0)>=(i|0))continue A;r=e+(i<<2)|0;l=a[r>>2]|0;if(!(+b[A+(l<<3)>>3]>s))break;i=i+-1|0}u=e+(n<<2)|0;w=a[u>>2]|0;a[u>>2]=l;a[r>>2]=w;n=n+1|0;i=i+-1|0}u=n+((+b[A+(a[e+(n<<2)>>2]<<3)>>3]>s)<<31>>31)|0;a[f>>2]=u;u=e+(u<<2)|0;a[c>>2]=a[u>>2];a[u>>2]=t;return}function _P(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=1;while(1){f=i+1|0;if(!((i|0)<(r|0)&(n|0)!=0))break;n=+b[A+(a[e+(i<<2)>>2]<<3)>>3]>+b[A+(a[e+(f<<2)>>2]<<3)>>3]?0:n;i=f}return n|0}function qP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;I=k;k=k+16|0;E=4;C=m2(40)|0;a[C>>2]=0;v=I;d=0;g=iA(23,e*40|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)!=1){i=0;o=0;while(1){if((i|0)>=(e|0))break;h=(a[(a[A+(i<<2)>>2]|0)+4>>2]|0)+o|0;i=i+1|0;o=h}d=0;h=iA(23,o*24|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)!=1){i=0;s=0;while(1){if((s|0)>=(e|0))break;w=g+(s*40|0)|0;a[w>>2]=h+(i*24|0);u=A+(s<<2)|0;f=0;n=1797693134862315708145274.0e284;l=-1797693134862315708145274.0e284;t=-1797693134862315708145274.0e284;c=1797693134862315708145274.0e284;while(1){r=a[u>>2]|0;if((f|0)>=(a[r+4>>2]|0))break;r=a[r>>2]|0;G=+b[r+(f<<4)>>3];Z=+b[r+(f<<4)+8>>3];b[h+(i*24|0)>>3]=G;b[h+(i*24|0)+8>>3]=Z;a[h+(i*24|0)+16>>2]=w;a[h+(i*24|0)+20>>2]=0;f=f+1|0;i=i+1|0;n=nG?l:G;t=t>Z?t:Z;c=c>2]=h+((i+-1|0)*24|0);b[g+(s*40|0)+8>>3]=n;b[g+(s*40|0)+16>>3]=c;b[g+(s*40|0)+24>>3]=l;b[g+(s*40|0)+32>>3]=t;s=s+1|0}a[v>>2]=o;a[v+4>>2]=e;C=L6(187496,1,C|0,E|0)|0;E=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){i=L;u=h;s=h;w=g}else{i=0;u=h;s=h;w=g}}else{i=L;u=0;s=h;w=g}}else{i=L;u=0;s=0;w=0}while(1){if(i|0){d=0;sA(105,g|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}d=0;sA(105,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}else{r=17;break}}d=0;i=rA(78,u|0,v|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}if(!i){d=0;i=aA(24,A|0,e|0,w|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}}d=0;sA(105,g|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}d=0;sA(105,s|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h}else{r=24;break}}if((r|0)==17)i=0;else if((r|0)==24)i=(i|0)==0&1;L2(C|0);k=I;return i|0}function $P(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;h=E;u=E+8|0;o=E+4|0;a[e+8>>2]=0;g=$F(a[e>>2]<<2)|0;f=a[e>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;a[g+(r<<2)>>2]=A+(r*24|0);r=r+1|0}K4(g,f,4,79);s=0;n=0;f=0;l=0;A:while(1){if((s|0)>=(a[e>>2]|0)){B=0;i=n;v=l;break}w=g+(s<<2)|0;r=a[w>>2]|0;a[u>>2]=r;A=a[r+16>>2]|0;if((a[A>>2]|0)==(r|0))r=a[A+4>>2]|0;else r=r+-24|0;a[o>>2]=r;b=0;A=n;c=l;while(1){if((b|0)>=2)break;switch(eO(u,o)|0){case-1:{n=0;l=A;while(1){if((n|0)>=(c|0))break;t=iO(a[l>>2]|0,r)|0;if(t|0){B=t;i=A;v=c;break A}n=n+1|0;l=a[l+4>>2]|0}n=$F(12)|0;if(!c){f=0;A=n}else a[f+4>>2]=n;a[n+8>>2]=f;a[n>>2]=r;a[n+4>>2]=0;a[r+20>>2]=n;l=c+1|0;break}case 1:{r=r+20|0;n=a[r>>2]|0;if(!n){d=19;break A}do{if((c|0)!=1){if((n|0)==(A|0)){A=a[A+4>>2]|0;a[A+8>>2]=0;break}if((n|0)==(f|0)){f=a[f+8>>2]|0;a[f+4>>2]=0;break}else{t=n+4|0;l=a[n+8>>2]|0;a[l+4>>2]=a[t>>2];a[(a[t>>2]|0)+8>>2]=l;break}}else{A=0;f=0}}while(0);L2(n);a[r>>2]=0;n=f;l=c+-1|0;break}default:{n=f;l=c}}r=a[w>>2]|0;f=a[r+16>>2]|0;if((r|0)==(a[f+4>>2]|0))f=a[f>>2]|0;else f=r+24|0;a[o>>2]=f;b=b+1|0;f=n;c=l}s=s+1|0;n=A;l=c}if((d|0)==19){ao(1,93727,h)|0;fe(187496,1)}r=0;while(1){if((r|0)>=(v|0))break;d=a[i+4>>2]|0;L2(i);r=r+1|0;i=d}L2(g);k=E;return B|0}function AO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0.0;W=k;k=k+48|0;u=W+24|0;w=W+16|0;g=W;r=0;A:while(1){if((r|0)>=(e|0)){r=0;break}G=a[A+(r<<2)>>2]|0;Q=a[G>>2]|0;a[g>>2]=a[Q>>2];a[g+4>>2]=a[Q+4>>2];a[g+8>>2]=a[Q+8>>2];a[g+12>>2]=a[Q+12>>2];Q=r+1|0;m=i+(r*40|0)+8|0;o=i+(r*40|0)+24|0;h=i+(r*40|0)+32|0;n=i+(r*40|0)+16|0;r=Q;while(1){if((r|0)>=(e|0)){r=Q;continue A}l=a[A+(r<<2)>>2]|0;t=+b[m>>3];c=+b[i+(r*40|0)+24>>3];s=!(t<=c);f=+b[i+(r*40|0)+8>>3];if((((!(s|!(t>=f))?(d=+b[n>>3],B=+b[i+(r*40|0)+32>>3],d<=B):0)?(v=+b[i+(r*40|0)+16>>3],d>=v):0)?(y=+b[o>>3],!(!(y<=c)|!(y>=f))):0)?(y=+b[h>>3],!(!(y<=B)|!(y>=v))):0){a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[u>>2]=a[g>>2];a[u+4>>2]=a[g+4>>2];a[u+8>>2]=a[g+8>>2];a[u+12>>2]=a[g+12>>2];if(Dt(w,u)|0){r=1;break A}}else L=11;if((((((L|0)==11?(L=0,E=+b[o>>3],!(!(f<=E)|!(f>=t))):0)?(C=+b[i+(r*40|0)+16>>3],I=+b[h>>3],C<=I):0)?(Z=+b[n>>3],!(!(C>=Z)|(!(c<=E)|s))):0)?(y=+b[i+(r*40|0)+32>>3],!(!(y<=I)|!(y>=Z))):0)?(s=a[l>>2]|0,a[w>>2]=a[G>>2],a[w+4>>2]=a[G+4>>2],a[u>>2]=a[s>>2],a[u+4>>2]=a[s+4>>2],a[u+8>>2]=a[s+8>>2],a[u+12>>2]=a[s+12>>2],Dt(w,u)|0):0){r=1;break A}r=r+1|0}}k=W;return r|0}function eO(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=a[A>>2]|0;A=a[e>>2]|0;i=+b[r>>3]-+b[A>>3];if(!(i!=0.0)){i=+b[r+8>>3]-+b[A+8>>3];if(i==0.0)A=0;else A=i>0.0?1:-1}else A=i>0.0?1:-1;return A|0}function iO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+64|0;n=s+32|0;l=s+24|0;t=s+16|0;c=s;f=s+48|0;rO(A,e,f);i=f+8|0;r=a[i>>2]|0;do{if((r|0)>0)i=0;else{if((r|0)<0){rO(e,A,f);i=a[i>>2]|0;if((i|0)>0){i=0;break}if((i|0)<0)i=3;else{i=a[f>>2]|0;i=fO(e,A,(i|0)>-1?i:0-i|0)|0}if(!(aO(A,e,l,t,i)|0)){i=0;break}}else{i=a[f>>2]|0;if((i|0)==(a[f+4>>2]|0)){i=fO(A,e,0)|0;i=(fO(A,e,(i|0)<=(fO(A,e,1)|0)&1)|0)<<1}else i=fO(A,e,(i|0)>-1?i:0-i|0)|0;if(!(aO(A,e,l,t,i)|0)){i=0;break}}b[c>>3]=+b[l>>3];b[c+8>>3]=+b[t>>3];a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];i=nO(A,e,n)|0}}while(0);k=s;return i|0}function rO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;l=+b[A>>3];t=+b[A+8>>3];r=a[A+16>>2]|0;if((a[r+4>>2]|0)==(A|0)){A=a[r>>2]|0;r=A}else{r=A+24|0;A=A+24|0}n=+b[r>>3]-l;f=+b[A+8>>3]-t;r=a[e+16>>2]|0;if((a[r+4>>2]|0)==(e|0)){A=a[r>>2]|0;r=A}else{r=e+24|0;A=e+24|0}c=+b[r>>3]-l;s=+b[A+8>>3]-t;t=(+b[e+8>>3]-t)*n-(+b[e>>3]-l)*f;e=t==0.0?0:t>0.0?1:-1;a[i>>2]=e;t=s*n-c*f;A=t==0.0?0:t>0.0?1:-1;a[i+4>>2]=A;a[i+8>>2]=U(A,e)|0;return}function fO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;c=+b[A>>3];s=+b[A+8>>3];f=a[A+16>>2]|0;if((a[f+4>>2]|0)==(A|0))A=a[f>>2]|0;else A=A+24|0;t=+b[A>>3];l=+b[A+8>>3];do{if(i){A=a[e+16>>2]|0;if((a[A+4>>2]|0)==(e|0)){e=a[A>>2]|0;break}else{e=e+24|0;break}}}while(0);n=+b[e>>3];r=+b[e+8>>3];if(c==t)if(c==n)e=(tO(s,r,l)|0)!=-1&1;else e=0;else e=tO(c,n,t)|0;return e|0}function aO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0;A:do{if((f|0)<1)n=0;else{u=+b[A>>3];o=+b[A+8>>3];n=a[A+16>>2]|0;if((a[n+4>>2]|0)==(A|0))n=a[n>>2]|0;else n=A+24|0;s=+b[n>>3];t=+b[n+8>>3];w=+b[e>>3];k=+b[e+8>>3];n=a[e+16>>2]|0;if((a[n+4>>2]|0)==(e|0))n=a[n>>2]|0;else n=e+24|0;c=+b[n>>3];l=+b[n+8>>3];e:do{switch(f|0){case 3:{if(u==s){b[i>>3]=u;l=(k-l)/(w-c)*(u-c)+l;break e}if(w==c){b[i>>3]=w;l=(o-t)/(u-s)*(w-s)+t;break e}else{c=(k-l)/(w-c);s=(o-t)/(u-s);k=k-c*w;o=o-s*u;l=c-s;b[i>>3]=(o-k)/l;l=(c*o-k*s)/l;break e}}case 2:{if((fO(A,e,0)|0)==-1)if((fO(e,A,1)|0)==-1){f=(fO(e,A,0)|0)==-1;s=f?s:u;c=w;t=f?t:o;l=k}else{s=c;c=w;t=l;l=k}else if((fO(A,e,1)|0)!=-1)if((fO(e,A,0)|0)==-1){c=u;l=o}else{n=0;break A}else{s=w;t=k}b[i>>3]=(c+s)*.5;l=(l+t)*.5;break}case 1:if((k-o)*(u-s)==(w-u)*(o-t)){b[i>>3]=w;l=k;break e}else{b[i>>3]=c;break e}default:{n=1;break A}}}while(0);b[r>>3]=l;n=1}}while(0);return n|0}function nO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;u=+b[A>>3];o=+b[A+8>>3];r=a[A+16>>2]|0;if((a[r+4>>2]|0)==(A|0))r=a[r>>2]|0;else r=A+24|0;s=+b[r>>3];t=+b[r+8>>3];c=+b[e>>3];w=+b[e+8>>3];r=a[e+16>>2]|0;if((a[r+4>>2]|0)==(e|0))r=a[r>>2]|0;else r=e+24|0;l=+b[r>>3];n=+b[r+8>>3];A:do{if(!(u!=s&c!=l)){do{if(u==s){f=+b[i>>3];if(u==f?o==+b[i+8>>3]:0)break;if(!(s==f)){d=18;break A}if(!(t==+b[i+8>>3])){d=18;break A}}}while(0);if(c==l){f=+b[i>>3];if(c==f?w==+b[i+8>>3]:0){r=0;break}if(l==f?n==+b[i+8>>3]:0)r=0;else d=18}else r=0}else d=18}while(0);if((d|0)==18)if(0>1){r=a[15712]|0;o=+b[i+8>>3];b[h>>3]=+b[i>>3];b[h+8>>3]=o;f3(r,93756,h)|0;lO(1,A);lO(2,e);r=1}else r=1;k=B;return r|0}function lO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0;c=k;k=k+48|0;t=c;f=a[15712]|0;n=+b[e>>3];l=+b[e+8>>3];i=a[e+16>>2]|0;if((a[i+4>>2]|0)==(e|0)){i=a[i>>2]|0;r=i}else{r=e+24|0;i=e+24|0}w=+b[r>>3];s=+b[i+8>>3];a[t>>2]=A;b[t+8>>3]=n;b[t+16>>3]=l;b[t+24>>3]=w;b[t+32>>3]=s;f3(f,93784,t)|0;k=c;return}function tO(A,e,i){A=+A;e=+e;i=+i;return(A==e|e==i?0:(A>3]=0.0;r=r+1|0}b[f+(A<<3)>>3]=1.0;gu(a[e+(A<<2)>>2]|0,f,i);A=A+1|0}L2(f);f=0;while(1){if((f|0)>=(i|0)){A=1;break A}r=e+(f<<2)|0;A=0;while(1){if((A|0)==(f|0))break;t=(a[r>>2]|0)+(A<<3)|0;l=+b[t>>3];n=(a[e+(A<<2)>>2]|0)+(f<<3)|0;b[t>>3]=+b[n>>3];b[n>>3]=l;A=A+1|0}f=f+1|0}}}while(0);return A|0}function bO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;h=e<<3;o=$F(h)|0;h=$F(h)|0;d=e*30|0;u=(i|0)<(e|0)?i:e;k=e+-1|0;w=(n|0)==0;i=0;l=0;A:while(1){if((l|0)>=(u|0))break;c=a[r+(l<<2)>>2]|0;do{e:do{if(w)i=0;else{i=0;while(1){if((i|0)==(e|0)){i=0;break e}b[c+(i<<3)>>3]=+((a8()|0)%100|0|0);i=i+1|0}}}while(0);while(1){if((i|0)==(l|0))break;n=a[r+(i<<2)>>2]|0;wO(c,0,k,-+sO(n,0,k,c),n);i=i+1|0}t=+uO(c,0,k)}while(t<1.0e-10);kO(c,0,k,1.0/t,c);i=0;do{oO(h,0,k,c);hO(A,e,e,c,o);oO(c,0,k,o);n=0;while(1){if((n|0)==(l|0))break;B=a[r+(n<<2)>>2]|0;wO(c,0,k,-+sO(B,0,k,c),B);n=n+1|0}B=i;i=i+1|0;t=+uO(c,0,k);if(!((B|0)<(d|0)&!(t<1.0e-10)))break A;kO(c,0,k,1.0/t,c);s=+sO(c,0,k,h)}while(+y(+s)<.999);b[f+(l<<3)>>3]=s*t;l=l+1|0}while(1){if((l|0)>=(u|0))break;c=a[r+(l<<2)>>2]|0;n=0;while(1){if((n|0)>=(e|0)){n=0;break}b[c+(n<<3)>>3]=+((a8()|0)%100|0|0);n=n+1|0}while(1){if((n|0)>=(l|0))break;B=a[r+(n<<2)>>2]|0;wO(c,0,k,-+sO(B,0,k,c),B);n=n+1|0}kO(c,0,k,1.0/+uO(c,0,k),c);b[f+(l<<3)>>3]=0.0;l=l+1|0}w=u+-1|0;l=0;while(1){if((l|0)>=(w|0))break;A=f+(l<<3)|0;e=l+1|0;t=+b[A>>3];n=l;c=e;while(1){if((c|0)>=(u|0))break;s=+b[f+(c<<3)>>3];B=t>2]|0);B=r+(n<<2)|0;oO(a[c>>2]|0,0,k,a[B>>2]|0);oO(a[B>>2]|0,0,k,o);b[f+(n<<3)>>3]=+b[A>>3];b[A>>3]=t;l=e}L2(o);L2(h);return(i|0)<=(d|0)|0}function sO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0;a=0.0;f=1-e+i|0;r=r+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!f)break;a=+b[r>>3]*+b[i>>3]+a;f=f+-1|0;r=r+8|0;i=i+8|0}return+a}function wO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0;a=1-e+i|0;f=f+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!a)break;b[i>>3]=+b[i>>3]+ +b[f>>3]*r;a=a+-1|0;f=f+8|0;i=i+8|0}return}function uO(A,e,i){A=A|0;e=e|0;i=i|0;return+ +z(+ +sO(A,e,i,A))}function kO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0;a=1-e+i|0;f=f+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!a)break;b[i>>3]=+b[f>>3]*r;a=a+-1|0;f=f+8|0;i=i+8|0}return}function oO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=1-e+i|0;r=r+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!f)break;b[i>>3]=+b[r>>3];f=f+-1|0;r=r+8|0;i=i+8|0}return}function hO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0,c=0;t=0;while(1){if((t|0)>=(e|0))break;c=A+(t<<2)|0;n=0.0;l=0;while(1){if((l|0)>=(i|0))break;n=+b[r+(l<<3)>>3]*+b[(a[c>>2]|0)+(l<<3)>>3]+n;l=l+1|0}b[f+(t<<3)>>3]=n;t=t+1|0}return}function dO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0.0,w=0,u=0,k=0,o=0.0;t=a[n>>2]|0;if(!t){k=i<<2;l=m2(U(k,f)|0)|0;k=m2(k)|0}else{k=i<<2;l=y2(a[t>>2]|0,U(k,f)|0)|0;k=y2(t,k)|0}a[n>>2]=k;t=0;while(1){if((t|0)>=(i|0)){n=0;break}a[k+(t<<2)>>2]=l;t=t+1|0;l=l+(f<<2)|0}while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;u=k+(n<<2)|0;t=0;while(1){if((t|0)<(f|0)){l=0;s=0.0}else break;while(1){if((l|0)>=(r|0))break;o=+b[(a[w>>2]|0)+(l<<3)>>3]*+c[(a[e+(l<<2)>>2]|0)+(t<<2)>>2]+s;l=l+1|0;s=o}c[(a[u>>2]|0)+(t<<2)>>2]=s;t=t+1|0}n=n+1|0}return}function BO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0.0,w=0,u=0,k=0;t=a[n>>2]|0;if(!t){l=m2(U(i<<3,f)|0)|0;k=m2(i<<2)|0}else{l=y2(a[t>>2]|0,U(i<<3,f)|0)|0;k=y2(t,i<<2)|0}a[n>>2]=k;t=0;while(1){if((t|0)>=(i|0)){n=0;break}a[k+(t<<2)>>2]=l;t=t+1|0;l=l+(f<<3)|0}while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;u=k+(n<<2)|0;t=0;while(1){if((t|0)<(f|0)){s=0.0;l=0}else break;while(1){if((l|0)>=(r|0))break;s=+b[(a[w>>2]|0)+(l<<3)>>3]*+c[(a[e+(l<<2)>>2]|0)+(t<<2)>>2]+s;l=l+1|0}b[(a[u>>2]|0)+(t<<3)>>3]=s;t=t+1|0}n=n+1|0}return}function vO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,s=0,w=0,u=0,k=0,o=0,h=0;l=a[f>>2]|0;if(!l){n=m2(U(i*20|0,r)|0)|0;h=m2(i<<2)|0}else{n=y2(a[l>>2]|0,U(i*20|0,r)|0)|0;h=y2(l,i<<2)|0}a[f>>2]=h;l=0;while(1){if((l|0)>=(i|0)){f=0;break}a[h+(l<<2)>>2]=n;l=l+1|0;n=n+(r<<2)|0}while(1){if((f|0)>=(i|0))break;s=a[A+(f*20|0)+4>>2]|0;w=a[A+(f*20|0)+8>>2]|0;u=a[A+(f*20|0)>>2]|0;k=h+(f<<2)|0;n=0;while(1){if((n|0)>=(r|0))break;o=e+(n<<2)|0;t=0.0;l=0;while(1){if((l|0)>=(u|0))break;t=+b[(a[o>>2]|0)+(a[s+(l<<2)>>2]<<3)>>3]*+c[w+(l<<2)>>2]+t;l=l+1|0}c[(a[k>>2]|0)+(n<<2)>>2]=t;n=n+1|0}f=f+1|0}return}function gO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;i=0.0;r=e;f=A;while(1){if(!f)break;i=+b[r>>3]+i;r=r+8|0;f=f+-1|0}i=i/+(A|0);while(1){if(!A)break;b[e>>3]=+b[e>>3]-i;e=e+8|0;A=A+-1|0}return}function EO(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=(A|0))break;b[e+(i<<3)>>3]=+((a8()|0)%500|0|0);i=i+1|0}gO(A,e);return}function CO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,s=0,w=0;l=0;while(1){if((l|0)>=(e|0))break;t=a[A+(l*20|0)>>2]|0;s=A+(l*20|0)+8|0;w=A+(l*20|0)+4|0;f=0.0;n=0;while(1){if((n|0)>=(t|0))break;f=+b[i+(a[(a[w>>2]|0)+(n<<2)>>2]<<3)>>3]*+c[(a[s>>2]|0)+(n<<2)>>2]+f;n=n+1|0}b[r+(l<<3)>>3]=f;l=l+1|0}return}function IO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0;l=0;while(1){if((l|0)>=(e|0))break;t=A+(l<<2)|0;f=0.0;n=0;while(1){if((n|0)==(e|0))break;f=+b[i+(n<<3)>>3]*+c[(a[t>>2]|0)+(n<<2)>>2]+f;n=n+1|0}b[r+(l<<3)>>3]=f;l=l+1|0}return}function ZO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[e+(f<<3)>>3]-+b[i+(f<<3)>>3];f=f+1|0}return}function GO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[i+(f<<3)>>3]+ +b[e+(f<<3)>>3];f=f+1|0}return}function QO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[e+(f<<3)>>3]*i;f=f+1|0}return}function mO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;b[i+(r<<3)>>3]=+b[e+(r<<3)>>3];r=r+1|0}return}function LO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0;r=0.0;f=0;while(1){if((f|0)>=(A|0))break;r=+b[i+(f<<3)>>3]*+b[e+(f<<3)>>3]+r;f=f+1|0}return+r}function WO(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=0;r=-1.e+50;while(1){if((i|0)>=(A|0))break;f=+y(+ +b[e+(i<<3)>>3]);i=i+1|0;r=f>r?f:r}return+r}function yO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0;t=0;while(1){if((t|0)<(e|0)){n=0.0;l=0}else break;while(1){if((l|0)>=(i|0))break;n=+b[r+(l<<3)>>3]*+b[(a[A+(l<<2)>>2]|0)+(t<<3)>>3]+n;l=l+1|0}b[f+(t<<3)>>3]=n;t=t+1|0}return}function zO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;i=0.0;r=e;f=A;while(1){if(!f)break;i=+c[r>>2]+i;r=r+4|0;f=f+-1|0}i=i/+(A|0);while(1){if(!A)break;c[e>>2]=+c[e>>2]-i;e=e+4|0;A=A+-1|0}return}function YO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0,l=0,t=0,b=0,s=0.0,w=0,u=0.0,k=0,o=0.0;f=0;while(1){if((f|0)>=(e|0)){n=0;t=0;w=e;break}c[r+(f<<2)>>2]=0.0;f=f+1|0}while(1){if((t|0)>=(e|0))break;s=+c[i+(t<<2)>>2];b=t+1|0;a=+c[A+(n<<2)>>2]*s;l=b;f=n;while(1){f=f+1|0;if((l|0)==(e|0))break;o=+c[A+(f<<2)>>2];u=+c[i+(l<<2)>>2]*o+a;k=r+(l<<2)|0;c[k>>2]=+c[k>>2]+o*s;a=u;l=l+1|0}k=r+(t<<2)|0;c[k>>2]=+c[k>>2]+a;n=n+w|0;t=b;w=w+-1|0}return}function DO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[e+(f<<2)>>2]-+c[i+(f<<2)>>2];f=f+1|0}return}function MO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[i+(f<<2)>>2]+ +c[e+(f<<2)>>2];f=f+1|0}return}function FO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=e+(f<<2)|0;c[a>>2]=+c[r+(f<<2)>>2]*i+ +c[a>>2];f=f+1|0}return}function VO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[e+(f<<2)>>2]*i;f=f+1|0}return}function JO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;a[i+(r<<2)>>2]=a[e+(r<<2)>>2];r=r+1|0}return}function NO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0;r=0.0;f=0;while(1){if((f|0)>=(A|0))break;r=r+ +c[i+(f<<2)>>2]*+c[e+(f<<2)>>2];f=f+1|0}return+r}function XO(A,e,i){A=A|0;e=+e;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;b[i+(r<<3)>>3]=e;r=r+1|0}return}function RO(A,e,i){A=A|0;e=+e;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;c[i+(r<<2)>>2]=e;r=r+1|0}return}function HO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0;i=-1000000015047466219876688.0e6;r=0;while(1){if((r|0)>=(A|0))break;f=+y(+ +c[e+(r<<2)>>2]);i=f>i?f:i;r=r+1|0}return+i}function pO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];c[r>>2]=f*f;i=i+1|0}return}function UO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];if(f!=0.0)c[r>>2]=1.0/f;i=i+1|0}return}function xO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;r=0;while(1){if((r|0)>=(A|0))break;f=+c[e+(r<<2)>>2];if(f>=0.0)c[i+(r<<2)>>2]=+z(+f);r=r+1|0}return}function TO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];if(f>0.0)c[r>>2]=1.0/+z(+f);i=i+1|0}return}function jO(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=0;if(e&3)if(!(4%(e>>>0)|0))e=4;else e=U(4/((SO(e)|0)>>>0)|0,e)|0;a[A+8>>2]=e;A=A+4|0;e=a[A>>2]|0;A:do{if(e|0)while(1){if(!e)break A;i=a[e>>2]|0;L2(a[e+4>>2]|0);L2(e);e=i}}while(0);a[A>>2]=0;return}function SO(A){A=A|0;var e=0,i=0;i=4;A:while(1){e=i;while(1){if((e|0)==(A|0))break A;if((e|0)<=(A|0))break;e=e-A|0}i=e;A=A-e|0}return A|0}function PO(A){A=A|0;var e=0,i=0,r=0,f=0;e=a[A>>2]|0;if(!e){i=a[A+8>>2]|0;r=$F(8)|0;f=$F(U(a[46855]|0,i)|0)|0;a[r+4>>2]=f;e=0;while(1){if((e|0)>=(a[46855]|0))break;OO(f+(U(e,i)|0)|0,A);e=e+1|0}e=A+4|0;a[r>>2]=a[e>>2];a[e>>2]=r;e=a[A>>2]|0}a[A>>2]=a[e>>2];return e|0}function OO(A,e){A=A|0;e=e|0;a[A>>2]=a[e>>2];a[e>>2]=A;return}function KO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0,s=0,w=0;w=qF(e<<3)|0;s=A+8|0;f=a[s>>2]|0;_O(A,e,w);EO(e,i);n=0;l=0;while(1){if((l|0)>=(e|0))break;n=(a[A+(l*20|0)>>2]|0)+n|0;l=l+1|0}n=$F(n<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;a[A+(t*20|0)+8>>2]=n;b=a[A+(t*20|0)>>2]|0;c[n>>2]=+(1-b|0);l=1;while(1){if((l|0)>=(b|0))break;c[n+(l<<2)>>2]=1.0;l=l+1|0}n=n+(b<<2)|0;t=t+1|0}l=sS(A,i,w,e,.001,r)|0;L2(a[s>>2]|0);n=0;while(1){if((n|0)>=(e|0))break;a[A+(n*20|0)+8>>2]=f;f=f+(a[A+(n*20|0)>>2]<<2)|0;n=n+1|0}L2(w);return l>>>31|0}function _O(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,s=0,w=0;t=A+16|0;n=0;while(1){if((n|0)>=(e|0))break;if(a[t>>2]|0){s=a[A+(n*20|0)>>2]|0;w=A+(n*20|0)+8|0;l=A+(n*20|0)+16|0;r=0.0;f=1;while(1){if((f|0)>=(s|0))break;r=r+ +c[(a[l>>2]|0)+(f<<2)>>2]*+c[(a[w>>2]|0)+(f<<2)>>2];f=f+1|0}b[i+(n<<3)>>3]=r}n=n+1|0}return}function qO(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=+l;t=t|0;c=c|0;A=k;k=k+16|0;if(!(a[46913]|0)){a[46913]=1;ao(1,93820,A)|0}k=A;return}function $O(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0;d=$F(f<<2)|0;l=e<<3;n=0;while(1){if((n|0)>=(f|0))break;a[d+(n<<2)>>2]=$F(l)|0;n=n+1|0}o=$F(f<<3)|0;h=$F(e<<2)|0;n=$F(U(l,e)|0)|0;l=0;while(1){if((l|0)>=(e|0))break;a[h+(l<<2)>>2]=n;n=n+(e<<3)|0;l=l+1|0}c=0;k=1;while(1){if((c|0)>=(e|0))break;s=A+(c<<2)|0;w=h+(c<<2)|0;l=0;while(1){if((l|0)==(k|0))break;u=A+(l<<2)|0;n=0;t=0.0;while(1){if((n|0)>=(i|0))break;B=t+ +(U(a[(a[u>>2]|0)+(n<<2)>>2]|0,a[(a[s>>2]|0)+(n<<2)>>2]|0)|0);n=n+1|0;t=B}b[(a[h+(l<<2)>>2]|0)+(c<<3)>>3]=t;b[(a[w>>2]|0)+(l<<3)>>3]=t;l=l+1|0}c=c+1|0;k=k+1|0}bO(h,e,f,d,o,1)|0;l=0;while(1){if((l|0)>=(f|0)){n=0;break}s=d+(l<<2)|0;w=r+(l<<2)|0;c=0;while(1){if((c|0)<(i|0)){n=0;t=0.0}else break;while(1){if((n|0)>=(e|0))break;B=+b[(a[s>>2]|0)+(n<<3)>>3]*+(a[(a[A+(n<<2)>>2]|0)+(c<<2)>>2]|0)+t;n=n+1|0;t=B}b[(a[w>>2]|0)+(c<<3)>>3]=t;c=c+1|0}l=l+1|0}while(1){if((n|0)>=(f|0))break;L2(a[d+(n<<2)>>2]|0);n=n+1|0}L2(d);L2(o);L2(a[h>>2]|0);L2(h);return}function AK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;f=k;k=k+32|0;n=f+16|0;c=f+20|0;t=f+12|0;l=f+8|0;a[n>>2]=r;a[t>>2]=0;a[l>>2]=0;lu(a[A>>2]|0,i,i<<2,c);vO(a[c>>2]|0,A,i,e,t);BO(A,a[t>>2]|0,e,i,e,l);L2(a[a[t>>2]>>2]|0);L2(a[t>>2]|0);r=(bO(a[l>>2]|0,e,1,n,f,1)|0)&255;k=f;return r|0}function eK(){a[46914]=0;L2(a[46915]|0);L2(a[46916]|0);L2(a[46917]|0);a[46915]=0;a[46916]=0;a[46917]=0;return}function iK(A){A=A|0;L2(a[A+36>>2]|0);return}function rK(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0;d=k;k=k+80|0;u=d+64|0;h=d+68|0;l=d+48|0;t=d+32|0;c=d+16|0;s=d;w=e+16|0;n=a[w>>2]|0;A:do{if(!(a[n+212>>2]|0))switch(sN(e)|0){case 1:{n=a[w>>2]|0;t=a[n+12>>2]|0;c=a[t+8>>2]|0;a[h>>2]=c;n=a[a[n+8>>2]>>2]|0;switch(r[n>>0]|0){case 98:{if(!(A1(n,108236)|0))o=11;else o=8;break}case 112:{if((A1(n,105721)|0)==0?(fK(a[t+44>>2]|0,c)|0)!=0:0)o=11;else o=8;break}default:o=8}do{if((o|0)==8)if((c|0)<3){a[A+40>>2]=(a[t>>2]|0)==0?0:2;o=17;break}else{n=A+40|0;a[n>>2]=0;break}else if((o|0)==11){n=A+40|0;a[n>>2]=1;if((c|0)<=2)o=17}}while(0);if((o|0)==17){l=aK(e,h,i,f)|0;o=21;break A}l=$F(c<<4)|0;t=t+44|0;if((a[n>>2]|0)==1){o=a[t>>2]|0;B=i;b[l>>3]=+b[o>>3]*.013888888888888888+B;i=f;b[l+8>>3]=+b[o+8>>3]*.013888888888888888+i;b[l+16>>3]=+b[o+16>>3]*.013888888888888888-B;b[l+24>>3]=+b[o+24>>3]*.013888888888888888+i;b[l+32>>3]=+b[o+32>>3]*.013888888888888888-B;b[l+40>>3]=+b[o+40>>3]*.013888888888888888-i;b[l+48>>3]=+b[o+48>>3]*.013888888888888888+B;b[l+56>>3]=+b[o+56>>3]*.013888888888888888-i;o=21;break A}n=0;while(1){if((n|0)>=(c|0)){o=21;break A}o=a[t>>2]|0;g=+b[o+(n<<4)>>3];B=+b[o+(n<<4)+8>>3];v=+z(+(B*B+g*g));b[l+(n<<4)>>3]=(i/v+1.0)*g*.013888888888888888;b[l+(n<<4)+8>>3]=(f/v+1.0)*B*.013888888888888888;n=n+1|0}}case 2:{a[h>>2]=4;o=$F(64)|0;e=a[(a[w>>2]|0)+12>>2]|0;E=+b[e+32>>3];v=+b[e+40>>3];u=~~+b[e+16>>3];e=~~+b[e+24>>3];g=-i;B=-f;nK(l,u,e,g,B);a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];l=o+16|0;w=~~E;nK(t,w,e,i,B);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];l=o+32|0;e=~~v;nK(c,w,e,i,f);a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];l=o+48|0;nK(s,u,e,g,f);a[l>>2]=a[s>>2];a[l+4>>2]=a[s+4>>2];a[l+8>>2]=a[s+8>>2];a[l+12>>2]=a[s+12>>2];a[A+40>>2]=1;l=o;o=21;break A}case 3:{a[A+40>>2]=2;l=aK(e,h,i,f)|0;o=21;break A}default:{a[u>>2]=a[a[(a[w>>2]|0)+8>>2]>>2];ao(1,93883,u)|0;n=1;break A}}else{a[h>>2]=4;g=+b[n+32>>3]*.5+i;E=+b[n+40>>3]*.5+f;a[A+40>>2]=1;l=$F(64)|0;b[l>>3]=g;b[l+8>>3]=E;v=-g;b[l+16>>3]=v;b[l+24>>3]=E;b[l+32>>3]=v;E=-E;b[l+40>>3]=E;b[l+48>>3]=g;b[l+56>>3]=E;o=21}}while(0);if((o|0)==21){a[A+36>>2]=l;n=a[h>>2]|0;a[A+32>>2]=n;lK(l,n,A,A+16|0);if((n|0)>(a[46914]|0)){a[46914]=n;n=0}else n=0}k=d;return n|0}function fK(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;do{if((e|0)==4){i=+b[A+8>>3];e=A+16|0;r=+b[A+24>>3];if(i==r){if(!(+b[A+40>>3]==+b[A+56>>3])){e=0;break}if(!(+b[A>>3]==+b[A+48>>3])){e=0;break}e=+b[e>>3]==+b[A+32>>3];break}if((+b[A>>3]==+b[e>>3]?+b[A+32>>3]==+b[A+48>>3]:0)?i==+b[A+56>>3]:0)e=r==+b[A+40>>3];else e=0}else e=0}while(0);return e&1|0}function aK(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0.0,l=0,t=0,c=0.0,s=0;f=po(A,102705)|0;if(!f)f=0;else f=q3(f)|0;l=(f|0)<3?20:f;t=$F(l<<4)|0;A=A+16|0;n=1.0/+(l|0);f=0;while(1){if((f|0)>=(l|0))break;s=a[A>>2]|0;c=n*+(f|0)*6.283185307179586;b[t+(f<<4)>>3]=(+b[s+32>>3]*.5+i)*+D(+c);b[t+(f<<4)+8>>3]=(+b[s+40>>3]*.5+r)*+M(+c);f=f+1|0}a[e>>2]=l;return t|0}function nK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=+f;b[A>>3]=+(e|0)*.013888888888888888+r;b[A+8>>3]=+(i|0)*.013888888888888888+f;return}function lK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0.0,w=0.0;t=+b[A>>3];l=+b[A+8>>3];f=1;a=l;n=t;while(1){if((f|0)>=(e|0))break;c=A+16|0;s=+b[c>>3];w=+b[A+24>>3];f=f+1|0;a=w>a?w:a;n=s>n?s:n;l=w>3]=t;b[i+8>>3]=l;b[r>>3]=n;b[r+8>>3]=a;return}function tK(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0;d=k;k=k+80|0;w=d+64|0;o=d+68|0;l=d+48|0;t=d+32|0;c=d+16|0;s=d;u=e+16|0;n=a[u>>2]|0;A:do{if(!(a[n+212>>2]|0))switch(sN(e)|0){case 1:{s=a[(a[u>>2]|0)+12>>2]|0;w=s+8|0;c=a[w>>2]|0;a[o>>2]=c;e:do{if((c|0)>2){l=$F(c<<4)|0;t=s+44|0;n=0;while(1){if((n|0)>=(c|0))break e;e=a[t>>2]|0;b[l+(n<<4)>>3]=+b[e+(n<<4)>>3]*.013888888888888888;b[l+(n<<4)+8>>3]=+b[e+(n<<4)+8>>3]*.013888888888888888;n=n+1|0}}else l=aK(e,o,0.0,0.0)|0}while(0);n=a[a[(a[u>>2]|0)+8>>2]>>2]|0;switch(r[n>>0]|0){case 98:{if(!(A1(n,108236)|0))n=1;else h=13;break}case 112:{if((A1(n,105721)|0)==0?(fK(l,a[o>>2]|0)|0)!=0:0)n=1;else h=13;break}default:h=13}do{if((h|0)==13){if((a[w>>2]|0)<3?a[s>>2]|0:0){n=2;break}n=0}}while(0);a[A+40>>2]=n;h=20;break A}case 2:{a[o>>2]=4;h=$F(64)|0;u=a[(a[u>>2]|0)+12>>2]|0;v=+b[u+16>>3];E=+b[u+24>>3];g=+b[u+32>>3];B=+b[u+40>>3];cK(l,v,E);a[h>>2]=a[l>>2];a[h+4>>2]=a[l+4>>2];a[h+8>>2]=a[l+8>>2];a[h+12>>2]=a[l+12>>2];l=h+16|0;cK(t,g,E);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];l=h+32|0;cK(c,g,B);a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];l=h+48|0;cK(s,v,B);a[l>>2]=a[s>>2];a[l+4>>2]=a[s+4>>2];a[l+8>>2]=a[s+8>>2];a[l+12>>2]=a[s+12>>2];a[A+40>>2]=1;l=h;h=20;break A}case 3:{a[A+40>>2]=2;l=aK(e,o,0.0,0.0)|0;h=20;break A}default:{a[w>>2]=a[a[(a[u>>2]|0)+8>>2]>>2];ao(1,93919,w)|0;n=1;break A}}else{a[o>>2]=4;g=+b[n+32>>3]*.5;E=+b[n+40>>3]*.5;a[A+40>>2]=1;l=$F(64)|0;b[l>>3]=g;b[l+8>>3]=E;v=-g;b[l+16>>3]=v;b[l+24>>3]=E;b[l+32>>3]=v;E=-E;b[l+40>>3]=E;b[l+48>>3]=g;b[l+56>>3]=E;h=20}}while(0);if((h|0)==20){n=a[o>>2]|0;if(i!=1.0|f!=1.0)bK(l,n,i,f);a[A+36>>2]=l;a[A+32>>2]=n;lK(l,n,A,A+16|0);if((n|0)>(a[46914]|0)){a[46914]=n;n=0}else n=0}k=d;return n|0}function cK(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e*.013888888888888888;b[A+8>>3]=i*.013888888888888888;return}function bK(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(e|0))break;b[A>>3]=+b[A>>3]*i;a=A+8|0;b[a>>3]=+b[a>>3]*r;A=A+16|0;f=f+1|0}return}function sK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0;d=k;k=k+128|0;u=d+112|0;w=d+96|0;s=d+80|0;f=d+64|0;o=d+48|0;h=d+32|0;t=d+16|0;c=d;a[w>>2]=a[A>>2];a[w+4>>2]=a[A+4>>2];a[w+8>>2]=a[A+8>>2];a[w+12>>2]=a[A+12>>2];a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];cP(o,w,u);n=e+16|0;a[w>>2]=a[A>>2];a[w+4>>2]=a[A+4>>2];a[w+8>>2]=a[A+8>>2];a[w+12>>2]=a[A+12>>2];a[u>>2]=a[n>>2];a[u+4>>2]=a[n+4>>2];a[u+8>>2]=a[n+8>>2];a[u+12>>2]=a[n+12>>2];cP(h,w,u);a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];cP(t,w,u);l=r+16|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[u>>2]=a[l>>2];a[u+4>>2]=a[l+4>>2];a[u+8>>2]=a[l+8>>2];a[u+12>>2]=a[l+12>>2];cP(c,w,u);a[f>>2]=a[o>>2];a[f+4>>2]=a[o+4>>2];a[f+8>>2]=a[o+8>>2];a[f+12>>2]=a[o+12>>2];a[s>>2]=a[h>>2];a[s+4>>2]=a[h+4>>2];a[s+8>>2]=a[h+8>>2];a[s+12>>2]=a[h+12>>2];a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];do{if(wK(f,s,w,u)|0){f=a[e+40>>2]|0;if(f&1|0?a[r+40>>2]&1|0:0){f=1;break}if(f&2|0?a[r+40>>2]&2|0:0){B=+b[n>>3]-+b[e>>3]+ +b[l>>3]-+b[r>>3];v=+b[A>>3]-+b[i>>3];g=+b[A+8>>3]-+b[i+8>>3];f=!(g*g+v*v>B*B*.25);break}f=a[46915]|0;if(!f){a[46915]=$F(a[46914]<<4)|0;l=$F(a[46914]<<4)|0;a[46916]=l;f=a[46915]|0}else l=a[46916]|0;E=a[e+36>>2]|0;e=e+32|0;n=a[e>>2]|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];uK(E,n,u,f);A=a[r+36>>2]|0;n=r+32|0;r=a[n>>2]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];uK(A,r,u,l);if(!(kK(f,l,a[e>>2]|0,a[n>>2]|0)|0)){f=a[46915]|0;a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];if(oK(s,w,u)|0?(c=a[46916]|0,E=a[n>>2]|0,a[u>>2]=a[f>>2],a[u+4>>2]=a[f+4>>2],a[u+8>>2]=a[f+8>>2],a[u+12>>2]=a[f+12>>2],hK(c,E,u)|0):0){f=1;break}f=a[46916]|0;a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2];a[u>>2]=a[h>>2];a[u+4>>2]=a[h+4>>2];a[u+8>>2]=a[h+8>>2];a[u+12>>2]=a[h+12>>2];if(!(oK(s,w,u)|0))f=0;else{h=a[46915]|0;E=a[e>>2]|0;a[u>>2]=a[f>>2];a[u+4>>2]=a[f+4>>2];a[u+8>>2]=a[f+8>>2];a[u+12>>2]=a[f+12>>2];f=(hK(h,E,u)|0)!=0}}else f=1}else f=0}while(0);k=d;return f&1|0}function wK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((+b[A>>3]<=+b[r>>3]?+b[i>>3]<=+b[e>>3]:0)?+b[A+8>>3]<=+b[r+8>>3]:0)A=+b[i+8>>3]<=+b[e+8>>3]&1;else A=0;return A|0}function uK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;a=i+8|0;f=0;while(1){if((f|0)>=(e|0))break;b[r>>3]=+b[i>>3]+ +b[A>>3];b[r+8>>3]=+b[a>>3]+ +b[A+8>>3];f=f+1|0;A=A+16|0;r=r+16|0}return}function kK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;Q=k;k=k+112|0;B=Q+96|0;d=Q+80|0;h=Q+64|0;o=Q+48|0;g=Q+32|0;E=Q+16|0;C=Q;I=i+-1|0;Z=r+-1|0;G=i<<1;v=r<<1;f=0;n=0;l=0;t=0;while(1){m=A+(f<<4)|0;L=A+(((I+f|0)%(i|0)|0)<<4)|0;a[d>>2]=a[m>>2];a[d+4>>2]=a[m+4>>2];a[d+8>>2]=a[m+8>>2];a[d+12>>2]=a[m+12>>2];a[B>>2]=a[L>>2];a[B+4>>2]=a[L+4>>2];a[B+8>>2]=a[L+8>>2];a[B+12>>2]=a[L+12>>2];tP(g,d,B);u=e+(n<<4)|0;w=e+(((Z+n|0)%(r|0)|0)<<4)|0;a[d>>2]=a[u>>2];a[d+4>>2]=a[u+4>>2];a[d+8>>2]=a[u+8>>2];a[d+12>>2]=a[u+12>>2];a[B>>2]=a[w>>2];a[B+4>>2]=a[w+4>>2];a[B+8>>2]=a[w+8>>2];a[B+12>>2]=a[w+12>>2];tP(E,d,B);a[h>>2]=a[46540];a[h+4>>2]=a[46541];a[h+8>>2]=a[46542];a[h+12>>2]=a[46543];a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];a[B>>2]=a[E>>2];a[B+4>>2]=a[E+4>>2];a[B+8>>2]=a[E+8>>2];a[B+12>>2]=a[E+12>>2];c=+bP(h,d,B);a[h>>2]=a[L>>2];a[h+4>>2]=a[L+4>>2];a[h+8>>2]=a[L+8>>2];a[h+12>>2]=a[L+12>>2];a[d>>2]=a[m>>2];a[d+4>>2]=a[m+4>>2];a[d+8>>2]=a[m+8>>2];a[d+12>>2]=a[m+12>>2];a[B>>2]=a[u>>2];a[B+4>>2]=a[u+4>>2];a[B+8>>2]=a[u+8>>2];a[B+12>>2]=a[u+12>>2];b=sP(h,d,B)|0;a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];a[d>>2]=a[u>>2];a[d+4>>2]=a[u+4>>2];a[d+8>>2]=a[u+8>>2];a[d+12>>2]=a[u+12>>2];a[B>>2]=a[m>>2];a[B+4>>2]=a[m+4>>2];a[B+8>>2]=a[m+8>>2];a[B+12>>2]=a[m+12>>2];s=sP(h,d,B)|0;a[o>>2]=a[L>>2];a[o+4>>2]=a[L+4>>2];a[o+8>>2]=a[L+8>>2];a[o+12>>2]=a[L+12>>2];a[h>>2]=a[m>>2];a[h+4>>2]=a[m+4>>2];a[h+8>>2]=a[m+8>>2];a[h+12>>2]=a[m+12>>2];a[d>>2]=a[w>>2];a[d+4>>2]=a[w+4>>2];a[d+8>>2]=a[w+8>>2];a[d+12>>2]=a[w+12>>2];a[B>>2]=a[u>>2];a[B+4>>2]=a[u+4>>2];a[B+8>>2]=a[u+8>>2];a[B+12>>2]=a[u+12>>2];if(wP(o,h,d,B,C)|0){f=1;break}w=(b|0)==0;u=(s|0)==0;do{if(c!=0.0|(s|b|0)!=0)if(!(c>=0.0))if(u){f=(f+1|0)%(i|0)|0;l=l+1|0;break}else{n=(n+1|0)%(r|0)|0;t=t+1|0;break}else if(w){n=(n+1|0)%(r|0)|0;t=t+1|0;break}else{f=(f+1|0)%(i|0)|0;l=l+1|0;break}else{f=(f+1|0)%(i|0)|0;l=l+1|0}}while(0);if(!((t|0)<(v|0)&((l|0)<(G|0)&((t|0)<(r|0)|(l|0)<(i|0))))){f=0;break}}k=Q;return f|0}function oK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;f=+b[A>>3];if((f<=+b[i>>3]?f>=+b[e>>3]:0)?(r=+b[A+8>>3],r<=+b[i+8>>3]):0)A=r>=+b[e+8>>3]&1;else A=0;return A|0}function hK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0;r=a[46917]|0;if(!r){r=$F(a[46914]<<4)|0;a[46917]=r}l=i+8|0;n=0;while(1){if((n|0)>=(e|0))break;b[r+(n<<4)>>3]=+b[A+(n<<4)>>3]-+b[i>>3];b[r+(n<<4)+8>>3]=+b[A+(n<<4)+8>>3]-+b[l>>3];n=n+1|0}i=e+-1|0;f=0.0;A=0;A:while(1){if((A|0)>=(e|0)){s=19;break}n=(i+A|0)%(e|0)|0;t=+b[r+(A<<4)+8>>3];l=t==0.0;if(l?+b[r+(n<<4)+8>>3]==0.0:0){if(+b[r+(n<<4)>>3]*+b[r+(A<<4)>>3]<0.0){r=1;break}}else s=11;do{if((s|0)==11){s=0;c=+b[r+(n<<4)+8>>3];if(!(t>=0.0)|!(c<=0.0)?!(c>=0.0)|!(t<=0.0):0)break;t=(c*+b[r+(A<<4)>>3]-t*+b[r+(n<<4)>>3])/(c-t);if(t==0.0){r=1;break A}if(t>0.0)if(c==0.0|l){f=f+.5;break}else{f=f+1.0;break}}}while(0);A=A+1|0}if((s|0)==19)r=((~~f|0)%2|0|0)==1&1;return r|0}function dK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;c=$F(e<<2)|0;t=U(e,e)|0;i=$F(t<<2)|0;a[c>>2]=i;RO(t,0.0,i);i=1;while(1){if((i|0)>=(e|0)){i=0;n=0;t=e;break}a[c+(i<<2)>>2]=(a[c>>2]|0)+((U(i,e)|0)<<2);i=i+1|0}while(1){if((n|0)>=(e|0))break;l=c+(n<<2)|0;r=n;f=i;while(1){if((r|0)==(e|0))break;b=a[A+(f<<2)>>2]|0;a[(a[l>>2]|0)+(r<<2)>>2]=b;a[(a[c+(r<<2)>>2]|0)+(n<<2)>>2]=b;r=r+1|0;f=f+1|0}i=i+t|0;n=n+1|0;t=t+-1|0}return c|0}function BK(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=+t;var b=0.0,s=0.0,w=0.0,u=0,k=0,o=0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0;N=a[i+(f<<2)>>2]|0;m=a[A+4>>2]|0;L=a[A>>2]|0;W=a[A+48>>2]|0;z=a[A+52>>2]|0;Y=a[A+56>>2]|0;A:do{if((n|0)<1)i=0;else{gK(N,m,W,z,Y,t);D=a[A+28>>2]|0;M=a[A+32>>2]|0;F=a[A+36>>2]|0;V=a[A+12>>2]|0;J=a[A+16>>2]|0;f=0;r=0;i=-1;while(1){if((f|0)>=(m|0))break;if((f|0)>=(r|0)){i=i+1|0;if((i|0)==(Y|0)){r=m;i=Y}else r=a[z+(i<<2)>>2]|0}a[J+(a[W+(f<<2)>>2]<<2)>>2]=i;f=f+1|0}G=a[A+40>>2]|0;Q=M+(m+-1<<2)|0;i=0;r=0;while(1){if(r<<24>>24==0&(i|0)<(n|0)){b=-1.0e9;f=0;r=1}else break A;e:while(1){I=f;while(1){if((I|0)>=(m|0))break e;f=a[W+(I<<2)>>2]|0;Z=+c[N+(f<<2)>>2];s=Z;C=I;w=0.0;while(1){c[G+(f<<2)>>2]=w;f=C+1|0;if((f|0)>=(m|0)){E=0;break}s=(a[J+(f<<2)>>2]|0)>(a[J+(C<<2)>>2]|0)?s+t:s;A=a[W+(f<<2)>>2]|0;w=+c[N+(A<<2)>>2];if(+y(+(w-s))>1.0e-09){E=1;break}C=f;w=w-Z;f=A}u=I;while(1){if((u|0)>(C|0)){A=0;k=I;break}k=a[W+(u<<2)>>2]|0;o=a[L+(k<<2)>>2]|0;A=0;s=-+c[e+(k<<2)>>2];while(1){if((A|0)>=(m|0))break;if((A|0)!=(k|0))s=+c[N+(A<<2)>>2]*+c[o+(A<<2)>>2]+s;A=A+1|0}c[D+(k<<2)>>2]=s/-+c[o+(k<<2)>>2]-+c[G+(k<<2)>>2];u=u+1|0}i:while(1){if((k|0)>(C|0)){w=0.0;h=0.0;d=0;break}u=a[J+(a[W+(k<<2)>>2]<<2)>>2]|0;if((u|0)==(Y|0))d=f;else{d=a[z+(u<<2)>>2]|0;d=(f|0)<(d|0)?f:d}o=k;while(1){if((o|0)>=(d|0)){o=k;break}u=a[W+(o<<2)>>2]|0;if(+c[D+(u<<2)>>2]>2]=u;A=A+1|0}o=o+1|0}while(1){if((o|0)>=(d|0))break;u=a[W+(o<<2)>>2]|0;if(+c[D+(u<<2)>>2]==Z){a[V+(A<<2)>>2]=u;A=A+1|0}o=o+1|0}while(1){if((k|0)>=(d|0)){k=d;continue i}u=a[W+(k<<2)>>2]|0;if(+c[D+(u<<2)>>2]>Z){a[V+(A<<2)>>2]=u;A=A+1|0}k=k+1|0}}while(1){if((d|0)>=(A|0))break;k=a[V+(d<<2)>>2]|0;o=a[L+(k<<2)>>2]|0;s=0.0;u=0;while(1){if((u|0)==(d|0))break;s=s-+c[o+(a[V+(u<<2)>>2]<<2)>>2];u=u+1|0}X=s*2.0;g=o+(k<<2)|0;B=+c[g>>2];s=X+w;B=(X*Z+w*h-+c[D+(k<<2)>>2]*B)/(s-B);c[M+(d<<2)>>2]=B;w=s-+c[g>>2];h=B;d=d+1|0}o=(A|0)==(m|0);if(o)c[Q>>2]=Z;g=A+-1|0;w=0.0;h=0.0;k=g;while(1){if((k|0)<=-1)break;d=a[V+(k<<2)>>2]|0;v=a[L+(d<<2)>>2]|0;s=0.0;u=k;while(1){u=u+1|0;if((u|0)>=(A|0))break;s=s-+c[v+(a[V+(u<<2)>>2]<<2)>>2]}s=s*2.0;v=v+(d<<2)|0;X=+c[v>>2];B=s+w;X=(s*Z+w*h-+c[D+(d<<2)>>2]*X)/(B-X);c[F+(k<<2)>>2]=X;w=B-+c[v>>2];h=X;k=k+-1|0}if(o){c[F>>2]=Z;B=0.0;u=-1;o=0}else{B=0.0;u=-1;o=0}while(1){if((A|0)<=(o|0))break;h=+c[F+(o<<2)>>2];if((o|0)>0)s=+c[M+(o+-1<<2)>>2];else s=h;do{if(hZ;if(hB;B=v?X:B;u=v?o:u;o=o+1|0}if((u|0)>-1)break;if(E?(a[J+(a[W+(f<<2)>>2]<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0):0){b=+c[N+(a[V+(g<<2)>>2]<<2)>>2]+t;I=f;continue}b=+c[N+(a[V+(g<<2)>>2]<<2)>>2];I=f}w=+c[F+(u<<2)>>2];if(!u)h=w;else h=+c[M+(u+-1<<2)>>2];if(E){v=a[W+(f<<2)>>2]|0;s=+c[N+(v<<2)>>2];s=((a[J+(v<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0)?s-t:s)-+c[G+(a[V+(g<<2)>>2]<<2)>>2]}else s=1.0e9;s=wb?h:b;do{if(sZ;if(s=(u|0))break;v=a[V+(k<<2)>>2]|0;c[N+(v<<2)>>2]=+c[G+(v<<2)>>2]+s;k=k+1|0}while(1){if((u|0)>=(A|0))break;v=a[V+(u<<2)>>2]|0;c[N+(v<<2)>>2]=+c[G+(v<<2)>>2]+w;u=u+1|0}if(E?(a[J+(a[W+(f<<2)>>2]<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0):0)b=+c[N+(a[V+(g<<2)>>2]<<2)>>2]+t;else b=+c[N+(a[V+(g<<2)>>2]<<2)>>2];A=I;while(1){if((A|0)>(C|0))break;a[W+(A<<2)>>2]=a[V+(A-I<<2)>>2];A=A+1|0}if(r<<24>>24!=0?+y(+(s-Z))<.01:0)r=+y(+(w-Z))<.01;else r=0;r=r&1}zO(m,N);vK(N,W,z,Y,l);i=i+1|0}}}while(0);return i|0}function vK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=0;while(1){if((n|0)>=(r|0))break;a[f+(n<<2)>>2]=a[A+(a[e+((a[i+(n<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];n=n+1|0}return}function gK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0.0,t=0,b=0,s=0,w=0;l=-1.0e9;b=0;t=-1;w=0;while(1){if((w|0)>=(e|0))break;if((w|0)<(b|0))s=b;else{t=t+1|0;if((t|0)==(f|0))b=e;else b=a[r+(t<<2)>>2]|0;if((w|0)>0)l=+c[A+(a[i+(w+-1<<2)>>2]<<2)>>2]+n;else l=-1.0e9;SP(A,i,w,b+-1|0);s=b}b=A+(a[i+(w<<2)>>2]<<2)|0;if(+c[b>>2]>2]=l;b=s;w=w+1|0}return}function EK(A){A=A|0;L2(a[a[A>>2]>>2]|0);L2(a[A>>2]|0);L2(a[A+8>>2]|0);L2(a[A+28>>2]|0);L2(a[A+32>>2]|0);L2(a[A+36>>2]|0);L2(a[A+40>>2]|0);L2(a[A+12>>2]|0);L2(a[A+16>>2]|0);L2(a[A+20>>2]|0);L2(a[A+24>>2]|0);L2(A);return}function CK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=$F(60)|0;a[b>>2]=0;s=b+4|0;a[s>>2]=e;a[b+48>>2]=i;a[b+52>>2]=r;a[b+56>>2]=f;a[b>>2]=dK(A,e)|0;t=e<<2;c=$F(t)|0;a[b+8>>2]=c;l=0;e=0;A=-1;while(1){if((l|0)>=(a[s>>2]|0))break;n=A+1|0;if((l|0)>=(e|0)){e=a[((n|0)==(f|0)?s:r+(n<<2)|0)>>2]|0;A=n}a[c+(a[i+(l<<2)>>2]<<2)>>2]=A;l=l+1|0}a[b+28>>2]=$F(t)|0;a[b+32>>2]=$F(t)|0;a[b+36>>2]=$F(t)|0;a[b+40>>2]=$F(t)|0;a[b+12>>2]=$F(t)|0;a[b+16>>2]=$F(t)|0;a[b+20>>2]=$F(t)|0;a[b+24>>2]=$F(t)|0;return b|0}function IK(){jO(187676,24);a[46922]=0;return}function ZK(){return PO(187676)|0}function GK(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+ +z(+(r*r+i*i))}function QK(A){A=A|0;var e=0;e=a[46922]|0;a[A+16>>2]=e;a[46922]=e+1;return}function mK(A){A=A|0;var e=0,i=0;i=A+20|0;e=(a[i>>2]|0)+-1|0;a[i>>2]=e;if(!e)OO(A,187676);return}function LK(A){A=A|0;A=A+20|0;a[A>>2]=(a[A>>2]|0)+1;return}function WK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0.0,l=0,t=0,s=0,w=0.0,u=0,o=0.0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+16|0;u=I;a[u>>2]=r;h=e<<2;E=$F(h)|0;s=e<<3;C=$F(s)|0;g=RP(A,e)|0;A=0;while(1){if((A|0)>=(e|0))break;t=g+(A<<2)|0;l=0;while(1){if((l|0)==(e|0))break;B=(a[t>>2]|0)+(l<<2)|0;a[B>>2]=a[B>>2]<<8;l=l+1|0}A=A+1|0}if(!i)vA(93952,93960,283,93974);B=$F(s)|0;A=0;while(1){if((A|0)>=(e|0))break;b[B+(A<<3)>>3]=+b[i+(A<<3)>>3];A=A+1|0}yK(B,e);n=0.0;w=0.0;s=1;while(1){if((s|0)>=(e|0))break;l=g+(s<<2)|0;t=i+(s<<3)|0;A=0;while(1){if((A|0)==(s|0))break;Z=a[(a[l>>2]|0)+(A<<2)>>2]|0;d=+b[t>>3]-+b[i+(A<<3)>>3];n=d*d*(1.0/+(U(Z,Z)|0))+n;w=+y(+d)*(1.0/+(Z|0))+w;A=A+1|0}s=s+1|0}d=w/n;A=0;while(1){if((A|0)>=(e|0))break;Z=i+(A<<3)|0;b[Z>>3]=+b[Z>>3]*d;A=A+1|0}zK(e,u,f,i,g);t=$F(U(h,e)|0)|0;l=0;while(1){if((l|0)>=(e|0)){t=1;break}s=t+((U(l,e)|0)<<2)|0;a[E+(l<<2)>>2]=s;u=g+(l<<2)|0;n=0.0;A=0;while(1){if((A|0)==(e|0))break;if((A|0)!=(l|0)){o=+(a[(a[u>>2]|0)+(A<<2)>>2]|0);o=-1.0/(o*o);c[s+(A<<2)>>2]=o;n=n-o}A=A+1|0}c[s+(l<<2)>>2]=n;l=l+1|0}while(1){if((t|0)>=(e|0)){l=0;break}n=+b[i+(t<<3)>>3];l=g+(t<<2)|0;A=0;while(1){if((A|0)==(t|0))break;Z=(a[l>>2]|0)+(A<<2)|0;w=+(a[Z>>2]|0);o=n-+b[i+(A<<3)>>3];o=w*w-o*o;h=~~+z(+o);h=o>0.0?h:0;a[(a[g+(A<<2)>>2]|0)+(t<<2)>>2]=h;a[Z>>2]=h;A=A+1|0}t=t+1|0}while(1){if((l|0)>=(e|0)){h=0;A=0;break}w=+b[r+(l<<3)>>3];s=C+(l<<3)|0;b[s>>3]=0.0;u=g+(l<<2)|0;t=E+(l<<2)|0;A=0;n=0.0;while(1){if((A|0)==(e|0))break;if((A|0)!=(l|0)){o=+c[(a[t>>2]|0)+(A<<2)>>2]*+(a[(a[u>>2]|0)+(A<<2)>>2]|0);n=n+(w>=+b[r+(A<<3)>>3]?-o:o);b[s>>3]=n}A=A+1|0}l=l+1|0}while(1){if(!(A<<24>>24==0&(h|0)<200)){v=42;break}if((wS(E,r,C,e,f,e,1)|0)<0){A=1;break}else{A=1;u=0}while(1){if((u|0)>=(e|0))break;o=+b[r+(u<<3)>>3];t=g+(u<<2)|0;s=E+(u<<2)|0;n=0.0;l=0;while(1){if((l|0)==(e|0))break;do{if((l|0)!=(u|0)){w=+c[(a[s>>2]|0)+(l<<2)>>2]*+(a[(a[t>>2]|0)+(l<<2)>>2]|0);if(!(o>=+b[r+(l<<3)>>3])){n=n+w;break}else{n=n+-w;break}}}while(0);l=l+1|0}l=C+(u<<3)|0;o=+b[l>>3];if(n!=o?+y(+(1.0-n/o))>1.0e-05:0){b[l>>3]=n;A=0}u=u+1|0}h=h+1|0}A:do{if((v|0)==42){n=1.0/d;A=0;while(1){if((A|0)>=(e|0)){A=0;break A}Z=i+(A<<3)|0;b[Z>>3]=+b[Z>>3]*n;Z=r+(A<<3)|0;b[Z>>3]=+b[Z>>3]*n;A=A+1|0}}}while(0);L2(a[g>>2]|0);L2(g);L2(a[E>>2]|0);L2(E);L2(B);L2(C);k=I;return A|0}function yK(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0;i=0;r=0.0;while(1){if((i|0)>=(e|0))break;f=+b[A+(i<<3)>>3]+r;i=i+1|0;r=f}r=r/+(e|0);i=0;while(1){if((i|0)>=(e|0))break;a=A+(i<<3)|0;b[a>>3]=+b[a>>3]-r;i=i+1|0}a=e+-1|0;kO(A,0,a,1.0/+uO(A,0,a),A);return}function zK(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0;c=YK(f,A)|0;s=$F(8)|0;if(!r){f=0;t=0}else{n=$F(A<<3)|0;f=0;while(1){if((f|0)>=(A|0))break;b[n+(f<<3)>>3]=+b[r+(f<<3)>>3];f=f+1|0}yK(n,A);f=n;t=n}DK(c,A,e,s,f,i);r=0;while(1){if((r|0)==1)break;n=s+(r<<3)|0;l=e+(r<<2)|0;f=0;while(1){if((f|0)>=(A|0))break;i=+z(+ +y(+ +b[n>>3]));w=(a[l>>2]|0)+(f<<3)|0;b[w>>3]=+b[w>>3]*i;f=f+1|0}r=r+1|0}L2(a[c>>2]|0);L2(c);L2(s);L2(t);return}function YK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0,b=0,s=0,w=0,u=0,o=0.0;u=k;k=k+16|0;f=u;w=e<<2;r=$F(U(w,e)|0)|0;w=$F(w)|0;i=0;while(1){if((i|0)>=(e|0))break;a[w+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}s=FK(A,e,f)|0;n=+c[f>>2];r=0;b=1;while(1){if((r|0)>=(e|0))break;f=A+(r<<2)|0;l=s+(r<<2)|0;t=w+(r<<2)|0;i=0;while(1){if((i|0)==(b|0))break;o=+(a[(a[f>>2]|0)+(i<<2)>>2]|0);o=+c[s+(i<<2)>>2]+ +c[l>>2]-o*o-n;c[(a[t>>2]|0)+(i<<2)>>2]=o;c[(a[w+(i<<2)>>2]|0)+(r<<2)>>2]=o;i=i+1|0}r=r+1|0;b=b+1|0}L2(s);k=u;return w|0}function DK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0,o=0,h=0,d=0,B=0;d=e<<3;h=$F(d)|0;d=$F(d)|0;u=1.0-n;k=(e|0)<1?e:1;o=e+-1|0;c=(f|0)==0;t=0;A:while(1){if((t|0)>=(k|0))break;s=a[i+(t<<2)>>2]|0;do{l=0;while(1){if((l|0)==(e|0))break;b[s+(l<<3)>>3]=+((a8()|0)%100|0|0);l=l+1|0}if(c)l=0;else{wO(s,0,o,-+sO(f,0,o,s),f);l=0}while(1){if((l|0)==(t|0))break;B=i+(l<<2)|0;w=-+sO(a[B>>2]|0,0,o,s);wO(s,0,o,w,a[B>>2]|0);l=l+1|0}n=+uO(s,0,o)}while(n<1.0e-10);kO(s,0,o,1.0/n,s);do{oO(d,0,o,s);MK(A,e,e,s,h,f);oO(s,0,o,h);l=0;while(1){if((l|0)==(t|0))break;B=i+(l<<2)|0;w=-+sO(a[B>>2]|0,0,o,s);wO(s,0,o,w,a[B>>2]|0);l=l+1|0}n=+uO(s,0,o);if(n<1.0e-10)break A;kO(s,0,o,1.0/n,s);w=+sO(s,0,o,d)}while(+y(+w)>3]=w*n;t=t+1|0}while(1){if((t|0)>=(k|0))break;c=a[i+(t<<2)>>2]|0;l=0;while(1){if((l|0)>=(e|0)){l=0;break}b[c+(l<<3)>>3]=+((a8()|0)%100|0|0);l=l+1|0}while(1){if((l|0)>=(t|0))break;B=i+(l<<2)|0;u=-+sO(a[B>>2]|0,0,o,c);wO(c,0,o,u,a[B>>2]|0);l=l+1|0}kO(c,0,o,1.0/+uO(c,0,o),c);b[r+(t<<3)>>3]=0.0;t=t+1|0}s=k+-1|0;t=0;while(1){if((t|0)>=(s|0))break;A=r+(t<<3)|0;f=t+1|0;n=+b[A>>3];l=t;c=f;while(1){if((c|0)>=(k|0))break;u=+b[r+(c<<3)>>3];B=n>2]|0);B=i+(l<<2)|0;oO(a[e>>2]|0,0,o,a[B>>2]|0);oO(a[B>>2]|0,0,o,h);b[r+(l<<3)>>3]=+b[A>>3];b[A>>3]=n;t=f}L2(h);L2(d);return}function MK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,s=0,w=0;l=0;while(1){if((l|0)>=(e|0))break;w=A+(l<<2)|0;t=0.0;s=0;while(1){if((s|0)>=(i|0))break;t=+b[r+(s<<3)>>3]*+c[(a[w>>2]|0)+(s<<2)>>2]+t;s=s+1|0}b[f+(l<<3)>>3]=t;l=l+1|0}l=e+-1|0;if(n|0)wO(f,0,l,-+sO(f,0,l,n),n);return}function FK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,b=0.0,s=0,w=0.0;t=$F(e<<2)|0;b=1.0/+(e|0);r=0.0;l=0;while(1){if((l|0)>=(e|0))break;s=A+(l<<2)|0;f=0.0;n=0;while(1){if((n|0)==(e|0))break;w=+(a[(a[s>>2]|0)+(n<<2)>>2]|0);w=w*w;f=w+f;n=n+1|0;r=w+r}c[t+(l<<2)>>2]=b*f;l=l+1|0}c[i>>2]=r/+(U(e,e)|0);return t|0}function VK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0;h=U(r,r)|0;d=$F(h<<3)|0;B=$F(r<<3)|0;f=0;while(1){if((f|0)>=(r|0))break;b[B+(f<<3)>>3]=+b[i+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(h|0))break;b[d+(f<<3)>>3]=+b[A+(f<<3)>>3];f=f+1|0}o=r+-1|0;n=0;k=0;A:while(1){if((k|0)<(o|0)){a=0.0;f=k}else{s=21;break}while(1){if((f|0)>=(r|0))break;v=+y(+ +b[A+((U(f,r)|0)+k<<3)>>3]);w=v=(r|0))break;s=A+(f+l<<3)|0;v=+b[s>>3];w=A+(f+u<<3)|0;b[s>>3]=+b[w>>3];b[w>>3]=v;f=f+1|0}w=i+(n<<3)|0;v=+b[w>>3];t=i+(k<<3)|0;b[w>>3]=+b[t>>3];b[t>>3]=v;w=k+1|0;c=A+(u+k<<3)|0;f=w;while(1){if((f|0)>=(r|0)){k=w;continue A}s=U(f,r)|0;a=+b[A+(s+k<<3)>>3]/+b[c>>3];l=i+(f<<3)|0;b[l>>3]=+b[l>>3]-+b[t>>3]*a;l=0;while(1){if((l|0)>=(r|0))break;g=A+(l+s<<3)|0;b[g>>3]=+b[g>>3]-+b[A+(l+u<<3)>>3]*a;l=l+1|0}f=f+1|0}}if((s|0)==21){a=+b[A+(h+-1<<3)>>3];if(+y(+a)<1.0e-10)s=33;else{b[e+(o<<3)>>3]=+b[i+(o<<3)>>3]/a;f=0;while(1){if((f|0)>=(o|0)){f=0;break}n=r-f|0;l=n+-2|0;a=+b[i+(l<<3)>>3];t=e+(l<<3)|0;b[t>>3]=a;c=U(l,r)|0;n=n+-1|0;while(1){if((n|0)>=(r|0))break;v=a-+b[e+(n<<3)>>3]*+b[A+(n+c<<3)>>3];b[t>>3]=v;n=n+1|0;a=v}b[t>>3]=a/+b[A+(c+l<<3)>>3];f=f+1|0}while(1){if((f|0)>=(r|0)){f=0;break}b[i+(f<<3)>>3]=+b[B+(f<<3)>>3];f=f+1|0}while(1){if((f|0)>=(h|0))break;b[A+(f<<3)>>3]=+b[d+(f<<3)>>3];f=f+1|0}L2(d);L2(B)}}if((s|0)==33){c6(93989)|0;L2(d);L2(B)}return}function JK(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;B=k;k=k+16|0;d=B;$S();IK();gP();a[46918]=G5[e&3]()|0;CP();h=d+8|0;o=G5[e&3]()|0;i=0.0;f=0.0;A:while(1){w=(o|0)==0;u=o+8|0;while(1){if(!(hP()|0)){dP(d);i=+b[d>>3];f=+b[h>>3]}if(!w){if(hP()|0)break;n=+b[u>>3];if(n>3]>2]|0;QK(t);rP(a[v+8>>2]|0,r[v+16>>0]|0,t);rP(a[E+8>>2]|0,r[E+16>>0]|0,t);WP(v);oP(E);WP(E);E=+b[s+8>>3]>+b[g+8>>3];v=E&1;c=E?g:s;g=AP(c,E?s:g)|0;s=IP(g,v)|0;QP(A,s);rP(g,(v^1)&255,t);mK(t);t=ZP(A,s)|0;if(t|0){oP(A);uP(A,t,+GK(t,c))}A=ZP(s,l)|0;if(!A)continue;uP(s,A,+GK(A,c))}A=mP(o)|0;c=yP(A)|0;l=AP(DP(A)|0,o)|0;s=IP(l,0)|0;QP(A,s);t=ZP(A,s)|0;if(t|0){oP(A);uP(A,t,+GK(t,o))}l=IP(l,1)|0;QP(s,l);A=ZP(l,c)|0;if(A|0)uP(l,A,+GK(A,o));o=G5[e&3]()|0}A=a[46860]|0;while(1){A=yP(A)|0;if((A|0)==(a[46861]|0))break;eP(a[A+8>>2]|0)}k=B;return}function NK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n+8|0;r=n;do{if((vh(A)|0)!=1){XK(A);if(!e)e=RK(A)|0;i=HK(A,e)|0;if(0){l=a[15712]|0;a[r>>2]=Vh(e)|0;a[r+4>>2]=i;f3(l,94005,r)|0}if((i|0)<0){ao(1,94039,f)|0;break}else{pK(A);UK(A,e);xK(A,e);TK(A,i);break}}else{l=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;a[l>>2]=0;a[l+4>>2]=0;a[l+8>>2]=0;a[l+12>>2]=0}}while(0);k=n;return e|0}function XK(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=vh(A)|0;i=U(i,i)|0;e=cd(A)|0;while(1){if(!e)break;r=e+16|0;f=a[(a[r>>2]|0)+112>>2]|0;n=f+24|0;a[n>>2]=i;a[n+4>>2]=0;b[f+48>>3]=10.0;f=($K(A,e)|0)==0;r=a[(a[r>>2]|0)+112>>2]|0;a[r>>2]=f?i:0;a[r+4>>2]=f?0:0;e=bd(A,e)|0}return}function RK(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=(vh(A)|0)<3;e=cd(A)|0;A:do{if(!r){while(1){if(!e)break;r=a[(a[e+16>>2]|0)+112>>2]|0;if((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)qK(A,e,0);e=bd(A,e)|0}i=0;e=0;r=cd(A)|0;while(1){if(!r)break A;l=a[(a[r+16>>2]|0)+112>>2]|0;n=a[l>>2]|0;l=a[l+4>>2]|0;f=((i|0)<0)<<31>>31;f=l>>>0>f>>>0|(l|0)==(f|0)&n>>>0>i>>>0;i=f?n:i;e=f?r:e;r=bd(A,r)|0}}}while(0);return e|0}function HK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;i=a[(a[e+16>>2]|0)+112>>2]|0;f=i+24|0;r=a[f>>2]|0;a[f>>2]=0;a[f+4>>2]=0;a[i+32>>2]=0;OK(A,e);i=cd(A)|0;r=I6(0,r|0,32)|0;f=L;e=0;while(1){if(!i)break;l=(a[(a[i+16>>2]|0)+112>>2]|0)+24|0;n=a[l>>2]|0;l=a[l+4>>2]|0;if((n|0)==(r|0)&(l|0)==(f|0)){e=-1;break}t=((e|0)<0)<<31>>31;e=l>>>0>t>>>0|(l|0)==(t|0)&n>>>0>e>>>0?n:e;i=bd(A,i)|0}return e|0}function pK(A){A=A|0;var e=0,i=0,r=0,f=0;i=cd(A)|0;while(1){if(!i)break;e=a[(a[i+16>>2]|0)+112>>2]|0;r=e+16|0;A:do{if((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)while(1){r=e+8|0;f=r;f=d6(a[f>>2]|0,a[f+4>>2]|0,1,0)|0;a[r>>2]=f;a[r+4>>2]=L;e=a[e+32>>2]|0;if(!e)break A;e=a[(a[e+16>>2]|0)+112>>2]|0}}while(0);i=bd(A,i)|0}return}function UK(A,e){A=A|0;e=e|0;b[(a[(a[e+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;PK(A,e);return}function xK(A,e){A=A|0;e=e|0;b[(a[(a[e+16>>2]|0)+112>>2]|0)+48>>3]=0.0;SK(A,e);return}function TK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0;l=k;k=k+16|0;f=l;n=jK(A,e)|0;if(0){r=a[15712]|0;m3(94095,r)|0;i=0;while(1){if((i|0)>(e|0))break;b[f>>3]=+b[n+(i<<3)>>3];f3(r,94114,f)|0;i=i+1|0}m3(153599,r)|0}i=cd(A)|0;while(1){if(!i)break;f=a[i+16>>2]|0;r=a[f+112>>2]|0;t=+b[n+(a[r+24>>2]<<3)>>3];r=r+48|0;c=+D(+ +b[r>>3])*t;f=a[f+132>>2]|0;b[f>>3]=c;b[f+8>>3]=+M(+ +b[r>>3])*t;i=bd(A,i)|0}L2(n);k=l;return}function jK(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;c=w;s=qF((e<<3)+8|0)|0;A=dR(A,Yo(a[A+60>>2]|0,0,101288,0)|0,0)|0;A:do{if(!A){f=1.0;i=0.0;A=1}else{l=0.0;i=0.0;n=1;e:while(1){if((n|0)>(e|0)){f=l;A=n;break A}f=+A8(A,c);if(!(f>0.0)){f=l;A=n;break A}l=f>.02?f:.02;i=l+i;t=n+1|0;b[s+(n<<3)>>3]=i;A=a[c>>2]|0;while(1){n=r[A>>0]|0;if(!(n<<24>>24)){n=t;continue e}if(!(n<<24>>24==58|(Q1(n<<24>>24)|0)!=0)){n=t;continue e}A=A+1|0}}}}while(0);while(1){if((A|0)>(e|0))break;l=i+f;b[s+(A<<3)>>3]=l;A=A+1|0;i=l}k=w;return s|0}function SK(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,l=0,t=0.0;i=a[(a[e+16>>2]|0)+112>>2]|0;if(!(a[i+32>>2]|0))r=0.0;else r=+b[i+48>>3]-+b[i+40>>3]*.5;n=Ah(A,e)|0;while(1){if(!n)break;i=a[n>>2]&3;f=a[((i|0)==3?n:n+48|0)+40>>2]|0;if((f|0)==(e|0))f=a[((i|0)==2?n:n+-48|0)+40>>2]|0;i=a[(a[f+16>>2]|0)+112>>2]|0;if((a[i+32>>2]|0)==(e|0)?(l=i+48|0,!(+b[l>>3]!=10.0)):0){t=+b[i+40>>3];b[l>>3]=t*.5+r;r=t+r;i=i+16|0;if(!((a[i>>2]|0)==0&(a[i+4>>2]|0)==0))SK(A,f)}n=eh(A,n,e)|0}return}function PK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0;r=a[(a[e+16>>2]|0)+112>>2]|0;f=r+8|0;n=+b[r+40>>3]/(+((a[f>>2]|0)>>>0)+4294967296.0*+((a[f+4>>2]|0)>>>0));f=Ah(A,e)|0;while(1){if(!f)break;r=a[f>>2]&3;i=a[((r|0)==3?f:f+48|0)+40>>2]|0;if((i|0)==(e|0))i=a[((r|0)==2?f:f+-48|0)+40>>2]|0;r=a[(a[i+16>>2]|0)+112>>2]|0;if(((a[r+32>>2]|0)==(e|0)?(l=r+40|0,!(+b[l>>3]!=0.0)):0)?(t=r+8|0,b[l>>3]=n*(+((a[t>>2]|0)>>>0)+4294967296.0*+((a[t+4>>2]|0)>>>0)),r=r+16|0,!((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)):0)PK(A,i);f=eh(A,f,e)|0}return}function OK(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+16|0;w=o;u=Yo(A,2,101541,0)|0;a[w+4>>2]=0;a[w>>2]=0;KK(w,e);c=(u|0)==0;A:while(1){b=_K(w)|0;if(!b)break;s=b+16|0;l=a[(a[(a[s>>2]|0)+112>>2]|0)+24>>2]|0;n=Ah(A,b)|0;l=d6(0,l|0,0,1)|0;l=I6(l|0,L|0,32)|0;t=L;while(1){if(!n)continue A;if(!((!c?(r[(Uo(n,u)|0)>>0]|0)==48:0)?!(A1(Uo(n,u)|0,138394)|0):0)){e=a[n>>2]&3;i=a[((e|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(b|0))i=a[((e|0)==2?n:n+-48|0)+40>>2]|0;e=a[(a[i+16>>2]|0)+112>>2]|0;f=e+24|0;h=f;d=a[h+4>>2]|0;if(t>>>0>>0|((t|0)==(d|0)?l>>>0<(a[h>>2]|0)>>>0:0)){d=f;a[d>>2]=l;a[d+4>>2]=t;a[e+32>>2]=b;d=(a[(a[s>>2]|0)+112>>2]|0)+16|0;h=d;h=d6(a[h>>2]|0,a[h+4>>2]|0,1,0)|0;a[d>>2]=h;a[d+4>>2]=L;KK(w,i)}}n=eh(A,n,b)|0}}k=o;return}function KK(A,e){A=A|0;e=e|0;var i=0,r=0;i=qF(8)|0;a[i>>2]=e;e=A+4|0;r=a[e>>2]|0;a[((r|0)==0?A:r+4|0)>>2]=i;a[e>>2]=i;return}function _K(A){A=A|0;var e=0,i=0;i=a[A>>2]|0;if(i){e=a[i>>2]|0;a[A>>2]=a[i+4>>2];L2(i);if(!(a[A>>2]|0))a[A+4>>2]=0}else e=0;return e|0}function qK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=a[a[(a[e+16>>2]|0)+112>>2]>>2]|0;n=Ah(A,e)|0;l=d6(0,l|0,0,1)|0;l=I6(l|0,L|0,32)|0;t=L;while(1){if(!n)break;f=a[n>>2]&3;r=a[((f|0)==3?n:n+48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((f|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)!=(i|0)?(c=a[(a[r+16>>2]|0)+112>>2]|0,f=c,b=a[f+4>>2]|0,t>>>0>>0|((t|0)==(b|0)?l>>>0<(a[f>>2]|0)>>>0:0)):0){b=c;a[b>>2]=l;a[b+4>>2]=t;qK(A,r,e)}n=eh(A,n,e)|0}return}function $K(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;f=0;n=Ah(A,e)|0;while(1){if(!n){i=1;break}r=a[n>>2]&3;i=a[((r|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(e|0))i=a[((r|0)==2?n:n+-48|0)+40>>2]|0;if((i|0)!=(e|0)){if(f)if((f|0)==(i|0))i=f;else{i=0;break}}else i=f;f=i;n=eh(A,n,e)|0}return i|0}function A_(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0;e=k;k=k+32|0;r=e;i=Yo(A,1,94122,0)|0;n=Yo(A,0,94122,0)|0;A=e_(A,n,i,Yo(A,0,94127,0)|0)|0;i=A+16|0;f=+z(+(+b[A>>3]+.1));w_(r,0.0,0.0,f,f);a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];a[i+16>>2]=a[r+16>>2];a[i+20>>2]=a[r+20>>2];a[i+24>>2]=a[r+24>>2];a[i+28>>2]=a[r+28>>2];i_(A);r_(A);f_(A);k=e;return}function e_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;k=qF(72)|0;a[k+60>>2]=0;a[k+56>>2]=A;c=A+16|0;f=0.0;s=0;l=1;t=0;w=0;while(1){n=a[c>>2]|0;if((l|0)>(a[n+180>>2]|0))break;n=e_(a[(a[n+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;f=+b[n>>3]+f;if(t|0)a[t+52>>2]=n;s=s+1|0;l=l+1|0;t=n;w=(w|0)==0?n:w}u=cd(A)|0;n=w;while(1){if(!u)break;l=u+16|0;if(!(a[a[(a[l>>2]|0)+112>>2]>>2]|0)){c=l_(u,i)|0;f=+b[c>>3]+f;if(t|0)a[t+52>>2]=c;a[a[(a[l>>2]|0)+112>>2]>>2]=A;l=s+1|0;t=c;n=(n|0)==0?c:n}else l=s;u=bd(A,u)|0;s=l}a[k+64>>2]=s;if(!s)f=+c_(A,e);else{b[k+8>>3]=f;f=+t_(k,r)}b[k>>3]=f;a[k+48>>2]=n;return k|0}function i_(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0;o=k;k=k+176|0;f=o+144|0;w=o+64|0;c=o+32|0;l=o;u=a[A+64>>2]|0;A:do{if(u|0){s=qF(u<<2)|0;e=A+48|0;r=0;i=e;while(1){i=a[i>>2]|0;if((r|0)>=(u|0))break;a[s+(r<<2)>>2]=i;r=r+1|0;i=i+52|0}K4(s,u,4,80);t=qF(u<<3)|0;i=0;while(1){if((i|0)>=(u|0))break;b[t+(i<<3)>>3]=+b[a[s+(i<<2)>>2]>>3];i=i+1|0}n=+b[A+8>>3];if(+b[A>>3]==n){l=A+16|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];a[f+16>>2]=a[l+16>>2];a[f+20>>2]=a[l+20>>2];a[f+24>>2]=a[l+24>>2];a[f+28>>2]=a[l+28>>2];l=b_(u,t,f)|0}else{h=+b[A+40>>3];d=+b[A+32>>3];b[l>>3]=+b[A+16>>3];b[l+8>>3]=+b[A+24>>3];B=h-d;n=(d+h-+z(+(n*4.0+B*B)))*.5;b[l+16>>3]=d-n;b[l+24>>3]=h-n;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];a[f+16>>2]=a[l+16>>2];a[f+20>>2]=a[l+20>>2];a[f+24>>2]=a[l+24>>2];a[f+28>>2]=a[l+28>>2];l=b_(u,t,f)|0}if(0){f=a[15712]|0;h=+b[A+24>>3];d=+b[A+32>>3];B=+b[A+40>>3];b[c>>3]=+b[A+16>>3];b[c+8>>3]=h;b[c+16>>3]=d;b[c+24>>3]=B;f3(f,94174,c)|0}r=a[15712]|0;i=0;while(1){if((i|0)>=(u|0))break;c=(a[s+(i<<2)>>2]|0)+16|0;f=l+(i<<5)|0;a[c>>2]=a[f>>2];a[c+4>>2]=a[f+4>>2];a[c+8>>2]=a[f+8>>2];a[c+12>>2]=a[f+12>>2];a[c+16>>2]=a[f+16>>2];a[c+20>>2]=a[f+20>>2];a[c+24>>2]=a[f+24>>2];a[c+28>>2]=a[f+28>>2];if(0){n=+b[f>>3];d=+b[l+(i<<5)+16>>3];g=d*.5;h=+b[l+(i<<5)+8>>3];B=+b[l+(i<<5)+24>>3];v=B*.5;b[w>>3]=+b[t+(i<<3)>>3];b[w+8>>3]=n-g;b[w+16>>3]=h-v;b[w+24>>3]=g+n;b[w+32>>3]=v+h;b[w+40>>3]=B*d;b[w+48>>3]=n;b[w+56>>3]=h;b[w+64>>3]=d;b[w+72>>3]=B;f3(r,94191,w)|0}i=i+1|0}L2(s);L2(t);L2(l);i=0;while(1){e=a[e>>2]|0;if((i|0)>=(u|0))break A;if(!(a[e+60>>2]|0))i_(e);e=e+52|0;i=i+1|0}}}while(0);k=o;return}function r_(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0;f=k;k=k+48|0;r=f;if(a[A+60>>2]|0){c=+b[A+24>>3];l=+b[A+32>>3];n=+b[A+40>>3];e=a[A+56>>2]|0;i=e+16|0;t=a[i>>2]|0;b[t+16>>3]=+b[A+16>>3];b[t+24>>3]=c;A=a[i>>2]|0;b[A+32>>3]=l*.013888888888888888;b[A+40>>3]=n*.013888888888888888;DH(e,a[(a[(Id(e)|0)+16>>2]|0)+116>>2]&1);a_(e);if(0){t=a[15712]|0;A=Vh(e)|0;i=a[i>>2]|0;s=+b[i+16>>3];n=+b[i+24>>3];l=+b[i+80>>3];c=+b[i+96>>3]+ +b[i+88>>3];a[r>>2]=A;b[r+8>>3]=s;b[r+16>>3]=n;b[r+24>>3]=l;b[r+32>>3]=c;f3(t,94133,r)|0}}else{e=A+48|0;while(1){e=a[e>>2]|0;if(!e)break;r_(e);e=e+52|0}l=+b[A+32>>3];s=+b[A+40>>3];n=+b[A+16>>3]-l*.5;c=+b[A+24>>3]-s*.5;t=a[(a[A+56>>2]|0)+16>>2]|0;b[t+16>>3]=n;b[t+24>>3]=c;b[t+32>>3]=n+l;b[t+40>>3]=c+s}k=f;return}function f_(A){A=A|0;var e=0,i=0,r=0;r=a[A+64>>2]|0;e=A+48|0;i=0;while(1){e=a[e>>2]|0;if((i|0)>=(r|0))break;f_(e);e=e+52|0;i=i+1|0}L2(A);return}function a_(A){A=A|0;var e=0,i=0,f=0,n=0;n=k;k=k+48|0;f=n;e=n+8|0;i=a[47150]|0;if(i|0?(r[(Uo(A,i)|0)>>0]|0)==0:0){b[f>>3]=+b[(a[A+16>>2]|0)+80>>3]*.7;P4(e,94168,f)|0;Vo(A,a[47150]|0,e)|0}FR(A);k=n;return}function n_(A,e){A=A|0;e=e|0;var i=0.0;i=+b[a[A>>2]>>3]-+b[a[e>>2]>>3];return(i<0.0?1:(i>0.0)<<31>>31)|0}function l_(A,e){A=A|0;e=e|0;var i=0;i=qF(72)|0;b[i>>3]=+c_(A,e);a[i+60>>2]=1;a[i+56>>2]=A;return i|0}function t_(A,e){A=A|0;e=e|0;var i=0.0;i=+oR(a[A+56>>2]|0,e,0.0,0.0);if(i==0.0)i=+b[A+8>>3];else{i=+z(+ +b[A+8>>3])+i*2.0;i=i*i}return+i}function c_(A,e){A=A|0;e=e|0;var i=0.0;i=+oR(A,e,1.0,0.0);return+(i==0.0?1.0e3:i*1.0e3)}function b_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0;l=k;k=k+32|0;n=l;r=0;f=0.0;while(1){if((r|0)>=(A|0))break;t=+b[e+(r<<3)>>3]+f;r=r+1|0;f=t}if(f>+b[i+24>>3]*+b[i+16>>3]+.001)r=0;else{r=qF(A<<5)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[n+16>>2]=a[i+16>>2];a[n+20>>2]=a[i+20>>2];a[n+24>>2]=a[i+24>>2];a[n+28>>2]=a[i+28>>2];s_(A,e,r,0,0.0,1.0,0.0,1.0,n)}k=l;return r|0}function s_(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=+l;t=+t;c=c|0;var s=0,w=0.0,u=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0.0;G=k;k=k+112|0;Z=G+72|0;g=G+40|0;o=G+32|0;s=G;C=c+16|0;h=+b[C>>3];I=c+24|0;d=+b[I>>3];E=+b[c+16+((!(h>3];do{if((A|0)>=1){if(0){Q=a[15712]|0;m=+b[c+8>>3];b[s>>3]=+b[c>>3];b[s+8>>3]=h;b[s+16>>3]=m;b[s+24>>3]=d;f3(Q,94228,s)|0;a[o>>2]=r;f3(Q,94274,o)|0}if(!r){l=+b[e>>3];m=E*E;E=l/m;m=m/l;a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A,e,i,1,l,l,l,E>m?E:m,Z);break}if((A|0)>(r|0)?(v=+b[e+(r<<3)>>3],w=vn?n:v,v=v+l,u=v/E,u=u*u,m=u/B,u=w/u,u=m>u?m:u,u<=t):0){a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A,e,i,r+1|0,w,B,v,u,Z);break}h=l/E;if(0){Q=a[15712]|0;a[g>>2]=r;b[g+8>>3]=l;b[g+16>>3]=E;b[g+24>>3]=h;f3(Q,94299,g)|0}w=+b[C>>3];if(E==w){u=1.0/h;o=c+8|0;w=+b[c>>3]-w*.5;s=0;while(1){if((s|0)>=(r|0))break;b[i+(s<<5)+24>>3]=h;m=+b[e+(s<<3)>>3]*u;b[i+(s<<5)+16>>3]=m;b[i+(s<<5)+8>>3]=(+b[I>>3]-h)*.5+ +b[o>>3];b[i+(s<<5)>>3]=m*.5+w;w=m+w;s=s+1|0}b[o>>3]=+b[o>>3]-h*.5;s=1}else{u=1.0/h;w=+b[I>>3]*.5+ +b[c+8>>3];s=0;while(1){if((s|0)>=(r|0))break;b[i+(s<<5)+16>>3]=h;m=+b[e+(s<<3)>>3]*u;b[i+(s<<5)+24>>3]=m;b[i+(s<<5)>>3]=(h-+b[C>>3])*.5+ +b[c>>3];b[i+(s<<5)+8>>3]=w-m*.5;w=w-m;s=s+1|0}b[c>>3]=+b[c>>3]+h*.5;s=0}Q=c+16+(s<<3)|0;b[Q>>3]=+b[Q>>3]-h;a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A-r|0,e+(r<<3)|0,i+(r<<5)|0,0,0.0,0.0,0.0,1.0,Z)}}while(0);k=G;return}function w_(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function u_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;W=k;k=k+96|0;L=W+48|0;m=W+24|0;Q=W+16|0;G=W+8|0;g=W+80|0;E=W;C=A+16|0;I=e+4|0;Z=g+4|0;B=cd(A)|0;i=0;r=0;n=0;l=0;while(1){if(!B)break;v=Oo(A,B)|0;h=i;d=l;while(1){if(!v)break;i=(f[(a[v+16>>2]|0)+168>>1]|0)==0;do{if((B|0)==(a[((a[v>>2]&3|0)==2?v:v+-48|0)+40>>2]|0))if(i){l=h;i=d}else{if(!r){i=qF(96)|0;a[i+84>>2]=qF(((vh(A)|0)<<5)+11520|0)|0;r=i}else i=d;Gp(r,v,a[(a[C>>2]|0)+248>>2]|0);l=h}else if(!i){n=k_(v,e)|0;l=n+8|0;if(qP(a[l>>2]|0,a[n>>2]|0)|0){t=Wt(a[l>>2]|0,a[n>>2]|0)|0;if(!t){ao(0,94352,G)|0;l=1;i=d;break}else i=v;while(1){if(!i)break;y=i+16|0;z=(a[y>>2]|0)+144|0;zp(E,i,t,0,a[l>>2]|0,a[n>>2]|0);D=E;Y=a[D+4>>2]|0;a[z>>2]=a[D>>2];a[z+4>>2]=Y;Dp(A,i,a[l>>2]|0,a[n>>2]|0,0);i=a[(a[y>>2]|0)+172>>2]|0}o_(n);l=h;i=d;break}if(!h){qj(g,A);i=sC(A,8,8)|0;ao(0,94436,Q)|0;w=+(i|0);u=+c[e>>2];o=+c[I>>2];if(!(u>=w)&!(o>=w)){s=+c[g>>2];w=+c[Z>>2];if(!(!(s<=u)&!(w<=o))){b[L>>3]=s;b[L+8>>3]=w;b[L+16>>3]=u;b[L+24>>3]=o;ao(3,94552,L)|0}}else{a[m>>2]=i;b[m+8>>3]=u;b[m+16>>3]=o;ao(3,94502,m)|0}l=1;i=d}else{l=h;i=d}}else{l=h;i=d}}while(0);v=_o(A,v)|0;h=l;d=i}B=bd(A,B)|0;i=h;l=d}h_(n);if(r|0){L2(a[r+84>>2]|0);L2(l)}k=W;return i|0}function k_(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+16|0;s=o+4|0;w=o;i=a[A>>2]&3;f=a[((i|0)==2?A:A+-48|0)+40>>2]|0;i=a[((i|0)==3?A:A+48|0)+40>>2]|0;h=f+16|0;l=a[(a[h>>2]|0)+212>>2]|0;a[s>>2]=l;t=i+16|0;n=a[(a[t>>2]|0)+212>>2]|0;a[w>>2]=n;b=qF(12)|0;A=l;c=n;if(r[(a[h>>2]|0)+118>>0]|0){A=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2]|0;a[s>>2]=A;f=l;l=A}if(!(r[(a[t>>2]|0)+118>>0]|0))t=c;else{t=a[(a[(a[c+16>>2]|0)+140>>2]|0)+48>>2]|0;a[w>>2]=t;i=n;n=t}l=a[(a[(a[l+16>>2]|0)+140>>2]|0)+44>>2]|0;n=a[(a[(a[n+16>>2]|0)+140>>2]|0)+44>>2]|0;if((l|0)<=(n|0))if((n|0)>(l|0)){d_(b,n,i,l,w,e);A=a[w>>2]|0;n=A;i=w;u=11}else l=t;else{d_(b,l,f,n,s,e);A=a[s>>2]|0;f=A;n=i;i=s;u=11}while(1){if((u|0)==11){a[i>>2]=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2];i=n;A=a[s>>2]|0;l=a[w>>2]|0}if((A|0)==(l|0))break;B_(b,A,0,f,e);B_(b,l,i,0,e);a[s>>2]=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2];f=A;n=l;i=w;A=l;u=11}B_(b,l,i,f,e);k=o;return b|0}function o_(A){A=A|0;a[A>>2]=0;return}function h_(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function d_(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;t=f;while(1){l=a[t>>2]|0;if((e|0)<=(r|0))break;B_(A,l,i,0,n);e=e+-1|0;t=(a[(a[l+16>>2]|0)+140>>2]|0)+48|0;i=l}a[f>>2]=i;return}function B_(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;l=cd(e)|0;while(1){if(!l)break;t=a[l+16>>2]|0;if(!((l|0)==(f|0)|((l|0)==(i|0)?1:(a[t+212>>2]|0)!=(e|0)))?(r[t+118>>0]|0)==0:0)v_(A,Lp(l,n,0)|0);l=bd(e,l)|0}t=e+16|0;e=1;while(1){l=a[t>>2]|0;if((e|0)>(a[l+180>>2]|0))break;l=a[(a[l+184>>2]|0)+(e<<2)>>2]|0;if(!((l|0)==(i|0)|(l|0)==(f|0)))v_(A,g_(l,n)|0);e=e+1|0}return}function v_(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+4|0;f=a[r>>2]|0;n=A+8|0;i=a[n>>2]|0;do{if((f|0)==(a[A>>2]|0))if(!i){i=$F(400)|0;a[n>>2]=i;a[r>>2]=100;break}else{a[r>>2]=f<<1;i=eV(i,f<<3)|0;a[n>>2]=i;break}}while(0);n=a[A>>2]|0;a[A>>2]=n+1;a[i+(n<<2)>>2]=e;return}function g_(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0.0,t=0.0,s=0.0,w=0,u=0.0,k=0.0,o=0.0;w=qF(8)|0;A=a[A+16>>2]|0;i=+b[A+16>>3];s=+b[A+24>>3];f=+b[A+32>>3];t=+b[A+40>>3];a[w+4>>2]=4;A=qF(64)|0;a[w>>2]=A;if(!(r[e+8>>0]|0)){o=+c[e>>2];k=+c[e+4>>2];n=(f+i)*.5*(o+-1.0);u=(t+s)*.5*(k+-1.0);l=i*o-n;n=f*o-n;f=t*k-u;i=s*k-u}else{n=+c[e>>2];o=+c[e+4>>2];l=i-n;n=f+n;f=t+o;i=s-o}b[A>>3]=l;b[A+8>>3]=i;b[A+16>>3]=l;b[A+24>>3]=f;b[A+32>>3]=n;b[A+40>>3]=f;b[A+48>>3]=n;b[A+56>>3]=i;return w|0}function E_(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;u=k;k=k+160|0;w=u+16|0;c=u+8|0;n=u;b=u+24|0;s=qF(vh(A)|0)|0;l=A+16|0;f=a[a[(a[l>>2]|0)+140>>2]>>2]|0;A:do{if(!f){n=0;f=0}else{o=Vh(A)|0;t=a[46923]|0;a[n>>2]=o;a[n+4>>2]=t;P4(b,94612,n)|0;t=XB(A,b,1)|0;Td(t,137483,280,1)|0;n=qF(56)|0;a[(a[t+16>>2]|0)+140>>2]=n;a[n>>2]=f;a[n+4>>2]=a[(a[(a[l>>2]|0)+140>>2]|0)+4>>2];while(1){n=a[f+4>>2]|0;if(!n){n=t;f=1;break A}if(!(r[s+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0))C_(A,n,t,s);f=f+16|0}}}while(0);l=0;t=cd(A)|0;while(1){if(!t)break;o=a[t+16>>2]|0;if((r[s+(a[o+120>>2]|0)>>0]|0)==0?(r[o+119>>0]|0)==3:0){if(!n){o=Vh(A)|0;n=(a[46923]|0)+f|0;a[c>>2]=o;a[c+4>>2]=n;P4(b,94612,c)|0;n=XB(A,b,1)|0;Td(n,137483,280,1)|0;o=qF(56)|0;a[(a[n+16>>2]|0)+140>>2]=o;f=f+1|0}C_(A,t,n,s);l=1}t=bd(A,t)|0}if(n|0)VE(n)|0;n=cd(A)|0;while(1){if(!n)break;if(!(r[s+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0)){c=Vh(A)|0;o=(a[46923]|0)+f|0;a[w>>2]=c;a[w+4>>2]=o;P4(b,94620,w)|0;o=XB(A,b,1)|0;Td(o,137483,280,1)|0;c=qF(56)|0;a[(a[o+16>>2]|0)+140>>2]=c;C_(A,n,o,s);VE(o)|0;f=f+1|0}n=bd(A,n)|0}L2(s);a[46923]=(a[46923]|0)+f;if(e|0)a[e>>2]=f;if(i|0)a[i>>2]=l;t=qF((f<<2)+4|0)|0;l=t;n=RB(A)|0;while(1){if(!n)break;a[l>>2]=n;l=l+4|0;n=HB(n)|0;f=f+-1|0}if(!f){a[l>>2]=0;k=u;return t|0}else vA(94628,94639,134,94646);return 0}function C_(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;r[f+(a[(a[e+16>>2]|0)+120>>2]|0)>>0]=1;kd(i,e,1)|0;t=Ah(A,e)|0;while(1){if(!t)break;l=a[t>>2]&3;n=a[((l|0)==3?t:t+48|0)+40>>2]|0;if((n|0)==(e|0))n=a[((l|0)==2?t:t+-48|0)+40>>2]|0;if(!(r[f+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0))C_(A,n,i,f);t=eh(A,t,e)|0}return}function I_(A){A=A|0;var e=0;e=$F(24)|0;a[46924]=e;a[e>>2]=jk(18204,a[4581]|0)|0;a[e+16>>2]=0;a[e+12>>2]=0;a[e+4>>2]=Z_(A)|0;return e|0}function Z_(A){A=A|0;var e=0,i=0;e=$F(16)|0;a[e+12>>2]=0;i=$F(A*20|0)|0;a[e>>2]=i;a[e+8>>2]=i+(A*20|0);a[e+4>>2]=i;return e|0}function G_(A,e,i){A=A|0;e=e|0;i=i|0;i=m_(a[46924]|0)|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=0;return i|0}function Q_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(a[e>>2]|0)-(a[i>>2]|0)|0;if(!A)A=(a[e+4>>2]|0)-(a[i+4>>2]|0)|0;return A|0}function m_(A){A=A|0;var e=0,i=0,r=0,f=0;f=A+8|0;A=a[f>>2]|0;e=a[A+4>>2]|0;if((e|0)==(a[A+8>>2]|0)){i=A+12|0;r=a[i>>2]|0;if(!r){A=Z_(((e-(a[A>>2]|0)|0)/20|0)<<1)|0;a[i>>2]=A}else A=r;a[f>>2]=A;e=a[A>>2]|0;a[A+4>>2]=e}a[A+4>>2]=e+20;return e|0}function L_(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+12|0;i=a[f>>2]|0;if((i|0)<(e|0)){r=i<<1;r=(r|0)<(e|0)?e:r;e=A+16|0;i=a[e>>2]|0;if(i|0)L2(i);a[e>>2]=$F(r<<3)|0;a[f>>2]=r}return}function W_(A){A=A|0;var e=0;e=a[A>>2]|0;W5[a[e>>2]&63](e,0,64)|0;a[A+20>>2]=a[A+16>>2];e=a[A+4>>2]|0;a[A+8>>2]=e;a[e+4>>2]=a[e>>2];return}function y_(A){A=A|0;pk(a[A>>2]|0)|0;z_(a[A+4>>2]|0);L2(a[A+16>>2]|0);L2(A);return}function z_(A){A=A|0;var e=0;while(1){if(!A)break;e=a[A+12>>2]|0;L2(a[A>>2]|0);L2(A);A=e}return}function Y_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n;l=n+12|0;a[l>>2]=e;a[l+4>>2]=i;t=a[A>>2]|0;l=(W5[a[t>>2]&63](t,l,1)|0)+8|0;a[l>>2]=D_(A,r,a[l>>2]|0)|0;if(0>2){t=a[15712]|0;l=Vh(r)|0;a[f>>2]=e;a[f+4>>2]=i;a[f+8>>2]=l;f3(t,94656,f)|0}k=n;return}function D_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+20|0;A=a[r>>2]|0;a[r>>2]=A+8;a[A>>2]=e;a[A+4>>2]=i;return A|0}function M_(A,e){A=A|0;e=e|0;$k(a[A>>2]|0,e,A)|0;return}function F_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+32|0;f=r;a[f>>2]=e;a[f+4>>2]=i;i=a[A>>2]|0;i=W5[a[i>>2]&63](i,f,4)|0;k=r;return i|0}function V_(A){A=A|0;L2(a[A+8>>2]|0);L2(A);return}function J_(A){A=A|0;return+ +b[A>>3]}function N_(A){A=A|0;return a[A+8>>2]|0}function X_(A){A=A|0;return~~+b[A+16>>3]|0}function R_(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;e=a[e>>2]|0;if((e|0)>=(a[i>>2]|0)){e=e+10|0;a[i>>2]=e;a[r>>2]=eV(a[r>>2]|0,U(A<<3,e)|0)|0;a[f>>2]=eV(a[f>>2]|0,a[i>>2]<<3)|0;a[n>>2]=eV(a[n>>2]|0,a[i>>2]<<3)|0}return}function H_(A,e,i,r,f,n,l,t,c,s,w){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;w=w|0;var u=0,k=0,o=0,h=0,d=0.0;b[s>>3]=+b[s>>3]+1.0;A:do{if(A|0){h=a[A+16>>2]|0;u=a[A+40>>2]|0;if(u|0)do{R_(h,f,n,l,t,c);if((X_(Zu(u)|0)|0)!=(r|0)){o=N_(Zu(u)|0)|0;k=0;while(1){if((k|0)>=(h|0))break;b[(a[l>>2]|0)+((U(a[f>>2]|0,h)|0)+k<<3)>>3]=+b[o+(k<<3)>>3];k=k+1|0}d=+J_(Zu(u)|0);b[(a[t>>2]|0)+(a[f>>2]<<3)>>3]=d;d=+qs(i,o,h);o=a[f>>2]|0;b[(a[c>>2]|0)+(o<<3)>>3]=d;a[f>>2]=o+1}u=Gu(u)|0}while((u|0)!=0);o=A+36|0;if(a[o>>2]|0){d=+qs(a[A+20>>2]|0,i,h);if(!(+b[A+24>>3]=(k|0))break A;H_(a[(a[o>>2]|0)+(u<<2)>>2]|0,e,i,r,f,n,l,t,c,s,w);u=u+1|0}}R_(h,f,n,l,t,c);k=A+32|0;u=0;while(1){if((u|0)>=(h|0))break;b[(a[l>>2]|0)+((U(a[f>>2]|0,h)|0)+u<<3)>>3]=+b[(a[k>>2]|0)+(u<<3)>>3];u=u+1|0}b[(a[t>>2]|0)+(a[f>>2]<<3)>>3]=+b[A+8>>3];d=+qs(a[k>>2]|0,i,h);t=a[f>>2]|0;b[(a[c>>2]|0)+(t<<3)>>3]=d;a[f>>2]=t+1}}}while(0);return}function p_(A,e,i,r,f,n,l,t,c,s,w){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;w=w|0;var u=0;u=a[A+16>>2]|0;b[s>>3]=0.0;a[f>>2]=0;a[w>>2]=0;a[n>>2]=10;if(!(a[l>>2]|0))a[l>>2]=$F(u*80|0)|0;if(!(a[t>>2]|0))a[t>>2]=$F(a[n>>2]<<3)|0;if(!(a[c>>2]|0))a[c>>2]=$F(a[n>>2]<<3)|0;H_(A,e,i,r,f,n,l,t,c,s,w);return}function U_(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=+n;l=l|0;t=t|0;var c=0,s=0,w=0;w=a[A>>2]|0;s=a[A+16>>2]|0;c=0;while(1){if((c|0)==4)break;b[l+(c<<3)>>3]=0.0;c=c+1|0}a[t>>2]=0;s=U(s,w)|0;c=0;while(1){if((c|0)>=(s|0))break;b[e+(c<<3)>>3]=0.0;c=c+1|0}x_(A,A,i,e,r,f,n,l);T_(A,e,l);r=1.0/+(w|0);c=0;while(1){if((c|0)==4)break;w=l+(c<<3)|0;b[w>>3]=+b[w>>3]*r;c=c+1|0}return}function x_(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=+l;t=t|0;var c=0,s=0.0,w=0,u=0.0,k=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0;A:do{if((A|0)!=0&(e|0)!=0){if((a[A>>2]|0)>0?(a[e>>2]|0)>0:0){C=a[A+16>>2]|0;o=a[A+40>>2]|0;E=e+40|0;k=a[E>>2]|0;c=A+32|0;w=e+32|0;d=+qs(a[c>>2]|0,a[w>>2]|0,C);s=+b[A+24>>3];u=+b[e+24>>3];if(u+s>3]=+b[t>>3]+1.0;h=a[c>>2]|0;u=+b[A+8>>3];o=j_(A,C)|0;k=a[w>>2]|0;s=+b[e+8>>3];w=j_(e,C)|0;if(!(d>0.0))vA(94798,94681,191,94764);u=u*l*s;s=+Y(+d,+(1.0-n));s=1.0/(n==-1.0?d*d:s);c=0;while(1){if((c|0)>=(C|0))break A;l=u*(+b[h+(c<<3)>>3]-+b[k+(c<<3)>>3])*s;r=o+(c<<3)|0;b[r>>3]=l+ +b[r>>3];r=w+(c<<3)|0;b[r>>3]=+b[r>>3]-l;c=c+1|0}}w=(o|0)!=0;c=(k|0)!=0;g=(A|0)==(e|0);if(w&c){B=t+8|0;v=n==-1.0;f=1.0-n;w=o;while(1){if(!w)break A;o=N_(Zu(w)|0)|0;d=+J_(Zu(w)|0);h=X_(Zu(w)|0)|0;A=S_(r,h,w,C)|0;d=d*l;k=a[E>>2]|0;while(1){if(!k)break;e=N_(Zu(k)|0)|0;s=+J_(Zu(k)|0);c=X_(Zu(k)|0)|0;t=S_(r,c,k,C)|0;e:do{if(!((h|0)==(c|0)|g&(c|0)<(h|0))){b[B>>3]=+b[B>>3]+1.0;n=+Ks(i,C,h,c);s=d*s;u=+Y(+n,+f);u=1.0/(v?n*n:u);c=0;while(1){if((c|0)>=(C|0))break e;n=s*(+b[o+(c<<3)>>3]-+b[e+(c<<3)>>3])*u;I=A+(c<<3)|0;b[I>>3]=n+ +b[I>>3];I=t+(c<<3)|0;b[I>>3]=+b[I>>3]-n;c=c+1|0}}}while(0);k=Gu(k)|0}w=Gu(w)|0}}if(g){h=1<=(h|0))break A;o=a[(a[k>>2]|0)+(w<<2)>>2]|0;c=w;while(1){if((c|0)==(h|0))break;x_(o,a[(a[k>>2]|0)+(c<<2)>>2]|0,i,r,f,n,l,t);c=c+1|0}w=w+1|0}}if(!(w|!(s>u))){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,e,i,r,f,n,l,t);c=c+1|0}}if(!(c|!(u>s))){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,A,i,r,f,n,l,t);c=c+1|0}}if(!w){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,e,i,r,f,n,l,t);c=c+1|0}}if(c)vA(138394,94681,273,94764);k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,A,i,r,f,n,l,t);c=c+1|0}}vA(94739,94681,175,94764)}}while(0);return}function T_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0;r=a[A+40>>2]|0;w=a[A+16>>2]|0;n=+b[A+8>>3];u=j_(A,w)|0;if(!(n>0.0))vA(94673,94681,289,94692);s=i+16|0;b[s>>3]=+b[s>>3]+1.0;A:do{if(!r){s=1<=(s|0))break A;f=a[(a[c>>2]|0)+(A<<2)>>2]|0;if(f|0){if((a[f>>2]|0)<=0)break;t=j_(f,w)|0;l=+b[f+8>>3]*n;r=0;while(1){if((r|0)>=(w|0))break;k=t+(r<<3)|0;b[k>>3]=+b[k>>3]+ +b[u+(r<<3)>>3]*l;r=r+1|0}T_(f,e,i)}A=A+1|0}vA(94728,94681,307,94692)}else{l=1.0/n;while(1){if(!r)break A;f=S_(e,X_(Zu(r)|0)|0,r,w)|0;n=+J_(Zu(r)|0)*l;A=0;while(1){if((A|0)>=(w|0))break;k=f+(A<<3)|0;b[k>>3]=+b[k>>3]+ +b[u+(A<<3)>>3]*n;A=A+1|0}r=Gu(r)|0}}}while(0);return}function j_(A,e){A=A|0;e=e|0;var i=0;i=A+48|0;A=a[i>>2]|0;A:do{if(!A){A=$F(e<<3)|0;a[i>>2]=A;i=0;while(1){if((i|0)>=(e|0))break A;b[A+(i<<3)>>3]=0.0;i=i+1|0}}}while(0);return A|0}function S_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=a[(Zu(i)|0)+24>>2]|0;if(!f){f=A+((U(r,e)|0)<<3)|0;a[(Zu(i)|0)+24>>2]=f;f=a[(Zu(i)|0)+24>>2]|0}return f|0}function P_(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0;w=A<<3;c=$F(w)|0;s=$F(w)|0;w=$F(w)|0;if((c|0)!=0&(s|0)!=0&(w|0)!=0){a=0;while(1){if((a|0)>=(A|0)){a=0;break}b[c+(a<<3)>>3]=+b[r+(a<<3)>>3];a=a+1|0}while(1){if((a|0)>=(A|0)){n=1;break}b[s+(a<<3)>>3]=+b[r+(a<<3)>>3];a=a+1|0}while(1){if((n|0)>=(e|0))break;t=U(n,A)|0;a=0;while(1){if((a|0)>=(A|0))break;u=c+(a<<3)|0;l=+b[u>>3];o=r+(a+t<<3)|0;k=+b[o>>3];b[u>>3]=l>3];l=+b[o>>3];b[u>>3]=k>l?k:l;a=a+1|0}n=n+1|0}l=+b[s>>3]-+b[c>>3];a=0;while(1){if((a|0)>=(A|0))break;o=c+(a<<3)|0;u=s+(a<<3)|0;b[w+(a<<3)>>3]=(+b[u>>3]+ +b[o>>3])*.5;k=+b[u>>3]-+b[o>>3];l=l>k?l:k;a=a+1|0}a=O_(A,w,l==0.0?5.2e-06:l*.52,i)|0;A:do{if(!f){n=0;while(1){if((n|0)>=(e|0))break A;a=K_(a,r+((U(n,A)|0)<<3)|0,1.0,n)|0;n=n+1|0}}else{n=0;while(1){if((n|0)>=(e|0))break A;o=r+((U(n,A)|0)<<3)|0;a=K_(a,o,+b[f+(n<<3)>>3],n)|0;n=n+1|0}}}while(0);L2(c);L2(s);L2(w)}else{L2(c);L2(s);L2(w);a=0}return a|0}function O_(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0,n=0,l=0;n=$F(56)|0;a[n+16>>2]=A;a[n>>2]=0;l=$F(A<<3)|0;a[n+20>>2]=l;f=0;while(1){if((f|0)>=(A|0))break;b[l+(f<<3)>>3]=+b[e+(f<<3)>>3];f=f+1|0}if(i>0.0){b[n+24>>3]=i;b[n+8>>3]=0.0;a[n+32>>2]=0;a[n+36>>2]=0;a[n+40>>2]=0;a[n+44>>2]=r;a[n+48>>2]=0;return n|0}else vA(94896,94681,410,94906);return 0}function K_(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;if(!A)A=0;else __(A,e,i,r,0)|0;return A|0}function __(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;v=A+16|0;d=a[v>>2]|0;B=a[A+44>>2]|0;w=a[A>>2]|0;do{if(!w){a[A>>2]=1;b[A+8>>3]=i;t=$F(d<<3)|0;a[A+32>>2]=t;l=a[v>>2]|0;n=0;while(1){if((n|0)>=(l|0))break;b[t+(n<<3)>>3]=+b[e+(n<<3)>>3];n=n+1|0}n=q_(l,i,e,r)|0;l=A+40|0;if(!(a[l>>2]|0)){a[l>>2]=Eu(n)|0;break}else vA(94807,94681,502,94815)}else{if((B|0)<=(f|0)){if(a[A+36>>2]|0)vA(94881,94681,541,94815);n=w+1|0;a[A>>2]=n;l=A+8|0;b[l>>3]=+b[l>>3]+i;l=A+32|0;c=+(n|0);s=1.0/+(w+2|0);n=0;while(1){if((n|0)>=(d|0))break;h=(a[l>>2]|0)+(n<<3)|0;b[h>>3]=(+b[h>>3]*c+ +b[e+(n<<3)>>3])*s;n=n+1|0}n=q_(d,i,e,r)|0;l=A+40|0;t=a[l>>2]|0;if(!t)vA(94891,94681,547,94815);else{a[l>>2]=Iu(t,n)|0;break}}l=A+8|0;b[l>>3]=+b[l>>3]+i;l=A+32|0;s=+(w|0);c=1.0/+(w+1|0);n=0;while(1){if((n|0)>=(d|0))break;h=(a[l>>2]|0)+(n<<3)|0;b[h>>3]=(+b[h>>3]*s+ +b[e+(n<<3)>>3])*c;n=n+1|0}h=A+36|0;o=1<>2]|0)){a[h>>2]=$F(o<<2)|0;n=0;while(1){if((n|0)>=(o|0))break A;a[(a[h>>2]|0)+(n<<2)>>2]=0;n=n+1|0}}}while(0);u=A+20|0;n=a[u>>2]|0;t=$_(d,n,e)|0;if(!((t|0)<(o|0)&(t|0)>-1))vA(94837,94681,515,94815);l=a[(a[h>>2]|0)+(t<<2)>>2]|0;if(!l){l=Aq(a[v>>2]|0,n,+b[A+24>>3]*.5,B,t)|0;a[(a[h>>2]|0)+(t<<2)>>2]=l;l=a[(a[h>>2]|0)+(t<<2)>>2]|0}k=f+1|0;r=__(l,e,i,r,k)|0;a[(a[h>>2]|0)+(t<<2)>>2]=r;if(!(a[(a[h>>2]|0)+(t<<2)>>2]|0))vA(94860,94681,519,94815);e=A+40|0;n=a[e>>2]|0;do{if(n|0){w=X_(Zu(n)|0)|0;if((a[A>>2]|0)!=1)vA(94871,94681,523,94815);f=N_(Zu(a[e>>2]|0)|0)|0;c=+J_(Zu(a[e>>2]|0)|0);l=a[u>>2]|0;t=$_(d,l,f)|0;if(!((t|0)<(o|0)&(t|0)>-1))vA(94837,94681,527,94815);n=a[(a[h>>2]|0)+(t<<2)>>2]|0;if(!n){n=Aq(a[v>>2]|0,l,+b[A+24>>3]*.5,B,t)|0;a[(a[h>>2]|0)+(t<<2)>>2]=n;n=a[(a[h>>2]|0)+(t<<2)>>2]|0}v=__(n,f,c,w,k)|0;a[(a[h>>2]|0)+(t<<2)>>2]=v;if(!(a[(a[h>>2]|0)+(t<<2)>>2]|0))vA(94860,94681,532,94815);else{Cu(a[e>>2]|0,106);a[e>>2]=0;break}}}while(0);a[A>>2]=(a[A>>2]|0)+1}}while(0);return A|0}function q_(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0,n=0;n=$F(32)|0;b[n>>3]=e;f=$F(A<<3)|0;a[n+8>>2]=f;b[n+16>>3]=+(r|0);r=0;while(1){if((r|0)>=(A|0))break;b[f+(r<<3)>>3]=+b[i+(r<<3)>>3];r=r+1|0}a[n+24>>2]=0;return n|0}function $_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=0;while(1){r=A+-1|0;if((A|0)<=0)break;A=r;f=f<<1|!(+b[i+(r<<3)>>3]-+b[e+(r<<3)>>3]<0.0)&1}return f|0}function Aq(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0.0;n=O_(A,e,i,r)|0;l=a[n+20>>2]|0;t=-i;r=0;e=f;while(1){if((r|0)>=(A|0))break;f=l+(r<<3)|0;b[f>>3]=+b[f>>3]+((e&1|0)==0?t:i);r=r+1|0;e=(e|0)/2|0}return n|0}function eq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(A|0){e=a[A+16>>2]|0;L2(a[A+20>>2]|0);L2(a[A+32>>2]|0);L2(a[A+48>>2]|0);n=A+36|0;r=a[n>>2]|0;if(r|0){f=1<=(f|0))break;eq(a[e+(i<<2)>>2]|0);i=i+1|0;e=a[n>>2]|0}L2(e)}Cu(a[A+40>>2]|0,106);L2(A)}return}function iq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0,d=0,B=0,v=0;A:do{if(!A)e=0;else{s=a[A+20>>2]|0;w=a[A+24>>2]|0;i=a[A+8>>2]|0;u=a[A>>2]|0;r=a[A+4>>2]|0;l=A+16|0;if((a[A+32>>2]|0)!=1)vA(94919,94943,76,94958);e=fq(r,u,i,a[l>>2]|0,1)|0;a[e+8>>2]=i;k=a[e+20>>2]|0;c=a[e+24>>2]|0;i=0;while(1){if((i|0)>(r|0)){i=0;break}a[k+(i<<2)>>2]=0;i=i+1|0}e:while(1){if((i|0)>=(u|0)){i=0;break}f=i+1|0;n=s+(f<<2)|0;i=a[s+(i<<2)>>2]|0;while(1){if((i|0)>=(a[n>>2]|0)){i=f;continue e}t=k+((a[w+(i<<2)>>2]|0)+1<<2)|0;a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}while(1){if((i|0)>=(r|0))break;t=i+1|0;n=k+(t<<2)|0;a[n>>2]=(a[n>>2]|0)+(a[k+(i<<2)>>2]|0);i=t}e:do{switch(a[l>>2]|0){case 1:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;h=+b[n+(i<<3)>>3];d=k+(a[d>>2]<<2)|0;o=a[d>>2]|0;a[d>>2]=o+1;b[A+(o<<3)>>3]=h;i=i+1|0}}}case 2:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;v=i<<1;d=k+(a[d>>2]<<2)|0;o=a[d>>2]|0;B=o<<1;b[A+(B<<3)>>3]=+b[n+(v<<3)>>3];b[A+((B|1)<<3)>>3]=+b[n+((v|1)<<3)>>3];a[d>>2]=o+1;i=i+1|0}}}case 4:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;B=a[n+(i<<2)>>2]|0;d=k+(a[d>>2]<<2)|0;v=a[d>>2]|0;a[d>>2]=v+1;a[A+(v<<2)>>2]=B;i=i+1|0}}}case 8:{f=0;i:while(1){if((f|0)>=(u|0))break e;n=f+1|0;A=s+(n<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[A>>2]|0)){f=n;continue i}B=k+(a[w+(i<<2)>>2]<<2)|0;v=a[B>>2]|0;a[B>>2]=v+1;a[c+(v<<2)>>2]=f;i=i+1|0}}}case 16:{rq(e);e=0;break A}default:{rq(e);e=0;break A}}}while(0);while(1){i=r+-1|0;if((r|0)<=0)break;a[k+(r<<2)>>2]=a[k+(i<<2)>>2];r=i}a[k>>2]=0}}while(0);return e|0}function rq(A){A=A|0;var e=0;if(A|0){e=a[A+20>>2]|0;if(e|0)L2(e);e=a[A+24>>2]|0;if(e|0)L2(e);L2(a[A+28>>2]|0);L2(A)}return}function fq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;A=nq(A,e,r,aq(r)|0,f)|0;if((i|0)>0)lq(A,i)|0;return A|0}function aq(A){A=A|0;switch(A|0){case 1:{A=8;break}case 2:{A=16;break}case 4:{A=4;break}case 8:{A=0;break}case 16:{A=0;break}default:A=0}return A|0}function nq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=$F(44)|0;a[n>>2]=A;a[n+4>>2]=e;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=i;a[n+40>>2]=r;if((f|0)==2)A=0;else A=$F((A<<2)+4|0)|0;a[n+20>>2]=A;a[n+24>>2]=0;a[n+28>>2]=0;a[n+32>>2]=f;a[n+36>>2]=0;return n|0}function lq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=a[A+32>>2]|0;f=A+28|0;a[f>>2]=0;i=e<<2;r=$F(i)|0;if((l|0)!=2){a[A+24>>2]=r;i=a[A+40>>2]|0;if((e|0)!=0&(i|0)>0)n=4}else{a[A+20>>2]=r;a[A+24>>2]=$F(i)|0;i=a[A+40>>2]|0;n=4}if((n|0)==4)a[f>>2]=$F(U(i,e)|0)|0;a[A+12>>2]=e;return A|0}function tq(A,e){A=A|0;e=e|0;if(!(cq(A,e)|0)){e=iq(A)|0;if(!e)e=0;else{A=sq(A,e)|0;rq(e);e=A+36|0;a[e>>2]=a[e>>2]|3;e=A}}else e=bq(A)|0;return e|0}function cq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0.0;if(A){if((a[A+32>>2]|0)!=1)vA(94919,94943,187,95074);B=A+36|0;i=a[B>>2]|0;if((i&2|0)==0?(o=(e|0)!=0,(i&1|0)==0|o^1):0)if((a[A>>2]|0)==(a[A+4>>2]|0)?(v=iq(A)|0,(v|0)!=0):0){c=a[A+20>>2]|0;s=a[A+24>>2]|0;w=a[v+20>>2]|0;u=a[v+24>>2]|0;k=a[A>>2]|0;h=$F(k<<2)|0;e=0;while(1){if((e|0)>=(k|0))break;a[h+(e<<2)>>2]=-1;e=e+1|0}A:do{switch((o?8:a[A+16>>2]|0)|0){case 1:{n=a[A+28>>2]|0;l=a[v+28>>2]|0;e=0;while(1){if((e|0)>(k|0)){i=0;break}if((a[c+(e<<2)>>2]|0)==(a[w+(e<<2)>>2]|0))e=e+1|0;else{e=0;break A}}e:while(1){if((i|0)>=(k|0)){d=54;break A}r=c+(i<<2)|0;f=i+1|0;A=c+(f<<2)|0;e=a[r>>2]|0;while(1){if((e|0)>=(a[A>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}e=a[w+(i<<2)>>2]|0;A=a[w+(f<<2)>>2]|0;i=e;while(1){if((i|0)>=(A|0))break;if((a[h+(a[u+(i<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else i=i+1|0}while(1){if((e|0)>=(A|0)){i=f;continue e}g=+b[l+(e<<3)>>3]-+b[n+(a[h+(a[u+(e<<2)>>2]<<2)>>2]<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}else e=e+1|0}}}case 2:{l=a[A+28>>2]|0;t=a[v+28>>2]|0;e=0;while(1){if((e|0)>(k|0)){i=0;break}if((a[c+(e<<2)>>2]|0)==(a[w+(e<<2)>>2]|0))e=e+1|0;else{e=0;break A}}e:while(1){if((i|0)>=(k|0)){d=54;break A}f=c+(i<<2)|0;n=i+1|0;A=c+(n<<2)|0;e=a[f>>2]|0;while(1){if((e|0)>=(a[A>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}i=a[w+(i<<2)>>2]|0;r=a[w+(n<<2)>>2]|0;e=i;while(1){if((e|0)>=(r|0)){e=i;break}if((a[h+(a[u+(e<<2)>>2]<<2)>>2]|0)<(a[f>>2]|0)){e=0;break A}else e=e+1|0}while(1){if((e|0)>=(r|0)){i=n;continue e}i=e<<1;A=a[h+(a[u+(e<<2)>>2]<<2)>>2]<<1;g=+b[t+(i<<3)>>3]-+b[l+(A<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}g=+b[t+((i|1)<<3)>>3]-+b[l+((A|1)<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}else e=e+1|0}}}case 4:{f=a[A+28>>2]|0;n=a[v+28>>2]|0;e=0;e:while(1){if((e|0)>=(k|0)){d=54;break A}r=c+(e<<2)|0;l=e+1|0;A=c+(l<<2)|0;i=a[r>>2]|0;while(1){if((i|0)>=(a[A>>2]|0))break;a[h+(a[s+(i<<2)>>2]<<2)>>2]=i;i=i+1|0}e=a[w+(e<<2)>>2]|0;A=a[w+(l<<2)>>2]|0;i=e;while(1){if((i|0)>=(A|0))break;if((a[h+(a[u+(i<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else i=i+1|0}while(1){if((e|0)>=(A|0)){e=l;continue e}if((a[n+(e<<2)>>2]|0)==(a[f+(a[h+(a[u+(e<<2)>>2]<<2)>>2]<<2)>>2]|0))e=e+1|0;else{e=0;break A}}}}case 8:{A=0;e:while(1){if((A|0)>=(k|0)){d=54;break A}r=c+(A<<2)|0;f=A+1|0;i=c+(f<<2)|0;e=a[r>>2]|0;while(1){if((e|0)>=(a[i>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}i=a[w+(f<<2)>>2]|0;e=a[w+(A<<2)>>2]|0;while(1){if((e|0)>=(i|0)){A=f;continue e}if((a[h+(a[u+(e<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else e=e+1|0}}}default:e=0}}while(0);if((d|0)==54){i=a[B>>2]|0;if(o)e=1;else{a[B>>2]=i|2;e=3}a[B>>2]=e|i;e=1}L2(h);rq(v)}else e=0;else e=1}else e=0;return e|0}function bq(A){A=A|0;var e=0,i=0,r=0,f=0;if(!A)e=0;else{r=A+8|0;f=A+40|0;e=wq(a[A>>2]|0,a[A+4>>2]|0,a[r>>2]|0,a[A+16>>2]|0,a[f>>2]|0,a[A+32>>2]|0)|0;i=A+20|0;y6(a[e+20>>2]|0,a[i>>2]|0,(a[A>>2]<<2)+4|0)|0;y6(a[e+24>>2]|0,a[A+24>>2]|0,a[(a[i>>2]|0)+(a[A>>2]<<2)>>2]<<2|0)|0;i=a[A+28>>2]|0;if(i|0)y6(a[e+28>>2]|0,i|0,U(a[r>>2]|0,a[f>>2]|0)|0)|0;a[e+36>>2]=a[A+36>>2];a[e+8>>2]=a[r>>2]}return e|0}function sq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;o=a[A+20>>2]|0;d=a[A+24>>2]|0;B=a[e+20>>2]|0;v=a[e+24>>2]|0;if(!((A|0)!=0&(e|0)!=0))vA(94981,94943,973,94988);h=a[A+32>>2]|0;if(!((h|0)==1?(h|0)==(a[e+32>>2]|0):0))vA(95005,94943,974,94988);r=A+16|0;i=a[r>>2]|0;if((i|0)!=(a[e+16>>2]|0))vA(95055,94943,975,94988);k=a[A>>2]|0;f=a[A+4>>2]|0;if(((k|0)==(a[e>>2]|0)?(f|0)==(a[e+4>>2]|0):0)?(g=fq(k,f,(a[e+8>>2]|0)+(a[A+8>>2]|0)|0,i,1)|0,g|0):0){w=a[g+20>>2]|0;u=a[g+24>>2]|0;h=$F(f<<2)|0;i=0;while(1){if((i|0)>=(f|0))break;a[h+(i<<2)>>2]=-1;i=i+1|0}a[w>>2]=0;A:do{switch(a[r>>2]|0){case 1:{s=a[A+28>>2]|0;l=a[e+28>>2]|0;t=a[g+28>>2]|0;i=0;f=0;while(1){if((f|0)>=(k|0))break A;c=f+1|0;r=o+(c<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;n=d+(A<<2)|0;a[h+(a[n>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[n>>2];b[t+(i<<3)>>3]=+b[s+(A<<3)>>3];A=A+1|0;i=i+1|0}e=B+(c<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;b[t+(i<<3)>>3]=+b[l+(f<<3)>>3];i=i+1|0}else{r=t+(r<<3)|0;b[r>>3]=+b[r>>3]+ +b[l+(f<<3)>>3]}f=f+1|0}a[w+(c<<2)>>2]=i;f=c}}case 2:{s=a[A+28>>2]|0;c=a[e+28>>2]|0;l=a[g+28>>2]|0;f=0;i=0;while(1){if((f|0)>=(k|0))break A;t=f+1|0;r=o+(t<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;e=d+(A<<2)|0;a[h+(a[e>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[e>>2];e=A<<1;n=i<<1;b[l+(n<<3)>>3]=+b[s+(e<<3)>>3];b[l+((n|1)<<3)>>3]=+b[s+((e|1)<<3)>>3];A=A+1|0;i=i+1|0}e=B+(t<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;A=f<<1;r=i<<1;b[l+(r<<3)>>3]=+b[c+(A<<3)>>3];b[l+((r|1)<<3)>>3]=+b[c+((A|1)<<3)>>3];i=i+1|0}else{A=f<<1;r=r<<1;E=l+(r<<3)|0;b[E>>3]=+b[E>>3]+ +b[c+(A<<3)>>3];r=l+((r|1)<<3)|0;b[r>>3]=+b[r>>3]+ +b[c+((A|1)<<3)>>3]}f=f+1|0}a[w+(t<<2)>>2]=i;f=t}}case 4:{s=a[A+28>>2]|0;l=a[e+28>>2]|0;t=a[g+28>>2]|0;f=0;i=0;while(1){if((f|0)>=(k|0))break A;c=f+1|0;r=o+(c<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;E=d+(A<<2)|0;a[h+(a[E>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[E>>2];a[t+(i<<2)>>2]=a[s+(A<<2)>>2];A=A+1|0;i=i+1|0}e=B+(c<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;a[t+(i<<2)>>2]=a[l+(f<<2)>>2];i=i+1|0}else{E=t+(r<<2)|0;a[E>>2]=(a[E>>2]|0)+(a[l+(f<<2)>>2]|0)}f=f+1|0}a[w+(c<<2)>>2]=i;f=c}}case 8:{i=0;f=0;while(1){if((f|0)>=(k|0))break A;l=f+1|0;r=o+(l<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;E=d+(A<<2)|0;a[h+(a[E>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[E>>2];i=i+1|0;A=A+1|0}e=B+(l<<2)|0;n=w+(f<<2)|0;r=a[B+(f<<2)>>2]|0;while(1){if((r|0)>=(a[e>>2]|0))break;A=a[v+(r<<2)>>2]|0;if((a[h+(A<<2)>>2]|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;i=i+1|0}r=r+1|0}a[w+(l<<2)>>2]=i;f=l}}default:i=0}}while(0);a[g+8>>2]=i;L2(h);return g|0}return 0}function wq(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;A=nq(A,e,r,f,a)|0;if((i|0)>0)lq(A,i)|0;return A|0}function uq(A,e){A=A|0;e=e|0;var i=0;if(!(cq(A,e)|0)){e=iq(A)|0;if(!e)e=0;else{i=sq(A,e)|0;rq(e);e=i+36|0;a[e>>2]=a[e>>2]|3;e=i;i=5}}else{e=bq(A)|0;i=5}if((i|0)==5)e=kq(e)|0;return e|0}function kq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;A:do{if(!A)A=0;else{c=a[A+20>>2]|0;s=a[A+24>>2]|0;i=a[c>>2]|0;e:do{switch(a[A+16>>2]|0){case 1:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;b[t+(e<<3)>>3]=+b[t+(i<<3)>>3];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 2:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;w=i<<1;r=e<<1;b[t+(r<<3)>>3]=+b[t+(w<<3)>>3];b[t+((r|1)<<3)>>3]=+b[t+((w|1)<<3)>>3];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 4:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;a[t+(e<<2)>>2]=a[t+(i<<2)>>2];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 8:{l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}default:{A=0;break A}}}while(0);a[A+8>>2]=e}}while(0);return A|0}function oq(A){A=A|0;if((a[A+32>>2]|0)==2)return hq(a[A+8>>2]|0,a[A>>2]|0,a[A+4>>2]|0,a[A+20>>2]|0,a[A+24>>2]|0,a[A+28>>2]|0,a[A+16>>2]|0,a[A+40>>2]|0)|0;else vA(95100,94943,803,95126);return 0}function hq(A,e,i,r,f,a,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;return Ws(A,e,i,r,f,a,n,l,1)|0}function dq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=A+72|0;b=A+352|0;s=A+356|0;w=A+360|0;t=0;A:while(1){l=i-e|0;if((l|0)<=0){i=-1;break}switch(r[c+(n[e>>0]|0)>>0]|0){case 8:case 1:case 0:{u=16;break A}case 5:{if((l|0)<2){i=-2;break A}if(m5[a[b>>2]&127](A,e)|0){u=6;break A}l=t;e=e+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}if(m5[a[s>>2]&127](A,e)|0){u=10;break A}l=t;e=e+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}if(m5[a[w>>2]&127](A,e)|0){u=14;break A}l=t;e=e+4|0;t=l;continue A}case 2:{l=e+1|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=33){k=t;e=l;t=k;continue A}l=e+2|0;if((i-l|0)<=0){i=-1;break A}k=(r[l>>0]|0)==91;t=t+(k&1)|0;e=k?e+3|0:l;continue A}case 4:{l=e+1|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=93){k=t;e=l;t=k;continue A}l=e+2|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=62){k=t;e=l;t=k;continue A}e=e+3|0;if(!t){u=26;break A}t=t+-1|0;continue A}default:{k=t;e=e+1|0;t=k;continue A}}}if((u|0)==6){a[f>>2]=e;i=0}else if((u|0)==10){a[f>>2]=e;i=0}else if((u|0)==14){a[f>>2]=e;i=0}else if((u|0)==16){a[f>>2]=e;i=0}else if((u|0)==26){a[f>>2]=e;i=42}return i|0}function Bq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>0){s=A+72|0;t=e;A:while(1){if((b-t|0)<=0){c=24;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 3:{c=8;break A}case 2:{c=11;break A}case 10:{c=12;break A}case 9:{c=15;break A}case 21:{c=19;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=1}t=t+l|0}if((c|0)==8)if((t|0)==(e|0)){l=yq(A,e+1|0,i,f)|0;break}else{a[f>>2]=t;l=6;break}else if((c|0)==11){a[f>>2]=t;l=0;break}else if((c|0)==12)if((t|0)==(e|0)){a[f>>2]=e+1;l=7;break}else{a[f>>2]=t;l=6;break}else if((c|0)==15){if((t|0)!=(e|0)){a[f>>2]=t;l=6;break}l=e+1|0;if((b-l|0)<=0){l=-3;break}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break}else if((c|0)==19)if((t|0)==(e|0)){a[f>>2]=e+1;l=39;break}else{a[f>>2]=t;l=6;break}else if((c|0)==24){a[f>>2]=t;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function vq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>0){s=A+72|0;t=e;A:while(1){if((b-t|0)<=0){c=23;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 3:{c=8;break A}case 30:{c=11;break A}case 10:{c=14;break A}case 9:{c=17;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=1}t=t+l|0}if((c|0)==8)if((t|0)==(e|0)){l=yq(A,e+1|0,i,f)|0;break}else{a[f>>2]=t;l=6;break}else if((c|0)==11)if((t|0)==(e|0)){l=zq(A,e+1|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=t;l=6;break}else if((c|0)==14)if((t|0)==(e|0)){a[f>>2]=e+1;l=7;break}else{a[f>>2]=t;l=6;break}else if((c|0)==17){if((t|0)!=(e|0)){a[f>>2]=t;l=6;break}l=e+1|0;if((b-l|0)<=0){l=-3;break}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break}else if((c|0)==23){a[f>>2]=t;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function gq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=6;break}if((a-A|0)<1){A=0;break}if((r[A>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+1|0}if((n|0)==6)A=(A|0)==(i|0)&1;return A|0}function Eq(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A=e;A:while(1){switch(r[f+(n[A>>0]|0)>>0]|0){case 5:{i=2;break}case 6:{i=3;break}case 7:{i=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{i=1;break}default:break A}A=A+i|0}return A-e|0}function Cq(A,e){A=A|0;e=e|0;A=A+72|0;A:while(1){switch(r[A+(n[e>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break A}e=e+1|0}return e|0}function Iq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;s=A+72|0;c=0;b=0;A=1;A:while(1){l=e+1|0;t=r[l>>0]|0;do{switch(r[s+(t&255)>>0]|0){case 5:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+2|0;b=l;c=t;continue A}case 6:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+3|0;b=l;c=t;continue A}case 7:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+4|0;b=l;c=t;continue A}case 24:case 22:case 29:{if(A|0){k=A;u=b;t=c;e=l;A=k;b=u;c=t;continue A}if((b|0)>=(i|0)){u=b;k=c;A=1;e=l;b=u;c=k;continue A}a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;u=b;k=c;A=1;e=l;b=u;c=k;continue A}case 12:{if((A|0)!=2){if((b|0)>=(i|0)){k=b;c=12;A=2;e=l;b=k;continue A}a[f+(b<<4)+4>>2]=e+2;k=b;c=12;A=2;e=l;b=k;continue A}if((c|0)!=12){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if((b|0)<(i|0))a[f+(b<<4)+8>>2]=l;c=12;b=b+1|0;A=0;e=l;continue A}case 13:{if((A|0)!=2){if((b|0)>=(i|0)){k=b;c=13;A=2;e=l;b=k;continue A}a[f+(b<<4)+4>>2]=e+2;k=b;c=13;A=2;e=l;b=k;continue A}if((c|0)!=13){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if((b|0)<(i|0))a[f+(b<<4)+8>>2]=l;c=13;b=b+1|0;A=0;e=l;continue A}case 3:{if((b|0)>=(i|0)){t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}r[f+(b<<4)+12>>0]=0;t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}case 21:{switch(A|0){case 1:{u=b;k=c;A=0;e=l;b=u;c=k;continue A}case 2:break;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}if((b|0)>=(i|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}A=f+(b<<4)+12|0;if(!(r[A>>0]|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if(((t<<24>>24==32?(l|0)!=(a[f+(b<<4)+4>>2]|0):0)?(w=r[e+2>>0]|0,w<<24>>24!=32):0)?(c|0)!=(n[s+(w&255)>>0]|0):0){u=b;k=c;A=2;e=l;b=u;c=k;continue A}r[A>>0]=0;u=b;k=c;A=2;e=l;b=u;c=k;continue A}case 10:case 9:{switch(A|0){case 1:{u=b;k=c;A=0;e=l;b=u;c=k;continue A}case 2:break;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}if((b|0)>=(i|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}r[f+(b<<4)+12>>0]=0;u=b;k=c;A=2;e=l;b=u;c=k;continue A}case 17:case 11:if((A|0)==2){u=b;k=c;A=2;e=l;b=u;c=k;continue A}else break A;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}}while(0)}return b|0}function Zq(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+2|0;i=r[A>>0]|0;A:do{if(i<<24>>24==120){i=e+3|0;A=0;while(1){e:while(1){f=r[i>>0]|0;e=f<<24>>24;if(f<<24>>24==59){f=14;break A}switch(e|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=7;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=8;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=9;break e}default:{}}i=i+1|0}if((f|0)==7){f=0;A=e+-48|A<<4}else if((f|0)==8){f=0;A=(A<<4)+-55+e|0}else if((f|0)==9){f=0;A=(A<<4)+-87+e|0}if((A|0)<1114112)i=i+1|0;else{A=-1;break}}}else{e=A;A=0;while(1){if(i<<24>>24==59){f=14;break A}A=(i<<24>>24)+-48+(A*10|0)|0;if((A|0)>=1114112){A=-1;break A}i=e+1|0;e=i;i=r[i>>0]|0}}}while(0);if((f|0)==14)A=gs(A)|0;return A|0}function Gq(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch(i-e|0){case 2:{if((r[e+1>>0]|0)==116){A=r[e>>0]|0;A=A<<24>>24==108?60:A<<24>>24==103?62:0}else f=14;break}case 3:{if(((r[e>>0]|0)==97?(r[e+1>>0]|0)==109:0)?(r[e+2>>0]|0)==112:0)A=38;else f=14;break}case 4:switch(r[e>>0]|0){case 113:{if((r[e+1>>0]|0)!=117){f=14;break A}if((r[e+2>>0]|0)!=111){f=14;break A}if((r[e+3>>0]|0)==116){A=34;break A}else{f=14;break A}}case 97:{if((r[e+1>>0]|0)!=112){f=14;break A}if((r[e+2>>0]|0)!=111){f=14;break A}if((r[e+3>>0]|0)==115){A=39;break A}else{f=14;break A}}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14)A=0;return A|0}function Qq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0;l=A+72|0;t=f+4|0;while(1){if((i-e|0)<=0)break;switch(r[l+(n[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:{a[t>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+1|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;A=e+1|0;if((i-A|0)>0)e=(r[l+(n[A>>0]|0)>>0]|0)==10?e+2|0:A;else e=A;a[t>>2]=-1;break}default:e=e+1|0}a[t>>2]=(a[t>>2]|0)+1}return}function mq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=i+-1|0;A=A+72|0;A:while(1){e=e+1|0;if((n-e|0)<=0){e=1;break}i=r[e>>0]|0;switch(r[A+(i&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(i<<24>>24==9){l=7;break A}else continue A;case 22:case 26:{if(i<<24>>24>=0)continue A;break}default:{}}switch(i<<24>>24|0){case 64:case 36:break;default:{l=7;break A}}}if((l|0)==7){a[f>>2]=e;e=0}return e|0}function Lq(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0;t=l;while(1){c=a[e>>2]|0;if((c|0)==(i|0)){A=0;break}b=n[c>>0]|0;A=a[f>>2]|0;if(!(b&128)){if((A|0)==(l|0)){A=2;break}a[e>>2]=c+1;c=r[c>>0]|0;b=a[f>>2]|0;a[f>>2]=b+1;r[b>>0]=c;continue}else{if((t-A|0)<2){A=2;break}a[f>>2]=A+1;r[A>>0]=b>>>6|192;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=b&63|128;a[e>>2]=(a[e>>2]|0)+1;continue}}return A|0}function Wq(A,e,i,r,l){A=A|0;e=e|0;i=i|0;r=r|0;l=l|0;var t=0,c=0;while(1){A=a[e>>2]|0;t=A>>>0>>0;c=a[r>>2]|0;if(!(t&c>>>0>>0))break;a[e>>2]=A+1;t=n[A>>0]|0;c=a[r>>2]|0;a[r>>2]=c+2;f[c>>1]=t}return((c|0)!=(l|0)|t^1?0:2)|0}function yq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;l=b-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{i=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=4;break}case 19:{i=Yq(A,e+1|0,i,f)|0;break A}default:{a[f>>2]=e;i=0;break A}}l=A+328|0;t=A+332|0;c=A+336|0;e=e+i|0;e:while(1){i=b-e|0;if((i|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=18;break e}case 18:{l=29;break e}case 27:case 26:case 25:case 24:case 22:{i=1;break}case 5:{if((i|0)<2){i=-2;break A}if(!(m5[a[l>>2]&127](A,e)|0)){l=21;break e}else i=2;break}case 6:{if((i|0)<3){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=24;break e}else i=3;break}case 7:{if((i|0)<4){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=27;break e}else i=4;break}default:{l=30;break e}}e=e+i|0}if((l|0)==18){a[f>>2]=e;i=0;break}else if((l|0)==21){a[f>>2]=e;i=0;break}else if((l|0)==24){a[f>>2]=e;i=0;break}else if((l|0)==27){a[f>>2]=e;i=0;break}else if((l|0)==29){a[f>>2]=e+1;i=9;break}else if((l|0)==30){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function zq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;e=e+l|0;e:while(1){l=i-e|0;if((l|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=18;break e}case 18:{l=29;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=21;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=24;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,e)|0)){l=27;break e}else l=4;break}default:{l=30;break e}}e=e+l|0}if((l|0)==18){a[f>>2]=e;i=0;break}else if((l|0)==21){a[f>>2]=e;i=0;break}else if((l|0)==24){a[f>>2]=e;i=0;break}else if((l|0)==27){a[f>>2]=e;i=0;break}else if((l|0)==29){a[f>>2]=e+1;i=28;break}else if((l|0)==30){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function Yq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0;t=i;A:do{if((t-e|0)>0){l=r[e>>0]|0;if(l<<24>>24==120){A=Dq(A,e+1|0,i,f)|0;break}i=A+72|0;if((r[i+(l&255)>>0]|0)!=25){a[f>>2]=e;A=0;break}e:while(1){A=e+1|0;if((t-A|0)<=0){A=-1;break A}switch(r[i+(n[A>>0]|0)>>0]|0){case 25:{e=A;break}case 18:{i=8;break e}default:{i=9;break e}}}if((i|0)==8){a[f>>2]=e+2;A=10;break}else if((i|0)==9){a[f>>2]=A;A=0;break}}else A=-1}while(0);return A|0}function Dq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0;A:do{if((i-e|0)>0){A=A+72|0;if((r[A+(n[e>>0]|0)>>0]&-2)<<24>>24!=24){a[f>>2]=e;i=0;break}e:while(1){l=e+1|0;if((i-l|0)<=0){i=-1;break A}switch(r[A+(n[l>>0]|0)>>0]|0){case 24:case 25:{e=l;break}case 18:{A=6;break e}default:{A=7;break e}}}if((A|0)==6){a[f>>2]=e+2;i=10;break}else if((A|0)==7){a[f>>2]=l;i=0;break}}else i=-1}while(0);return i|0}function Mq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;h=i;l=h-e|0;A:do{if((l|0)>0){o=A+72|0;switch(r[o+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;l=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){l=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=2;break}case 6:{if((l|0)<3){l=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=3;break}case 7:{if((l|0)<4){l=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=4;break}case 16:{l=e+1|0;if((h-l|0)<=0){l=-1;break A}switch(r[o+(n[l>>0]|0)>>0]|0){case 27:{l=Fq(A,e+2|0,i,f)|0;break A}case 20:{l=Vq(e+2|0,i,f)|0;break A}default:{a[f>>2]=l;l=0;break A}}}case 15:{l=Jq(A,e+1|0,i,f)|0;break A}case 17:{l=Nq(A,e+1|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}c=A+328|0;b=A+332|0;s=A+336|0;w=A+340|0;u=A+344|0;k=A+348|0;t=0;l=e+l|0;e:while(1){e=h-l|0;if((e|0)<=0){l=-1;break A}i:do{switch(r[o+(n[l>>0]|0)>>0]|0){case 29:{d=24;break e}case 10:case 9:case 21:{d=50;break e}case 11:{d=64;break e}case 17:break e;case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){l=-2;break A}if(!(m5[a[c>>2]&127](A,l)|0)){d=27;break e}else e=2;break}case 6:{if((e|0)<3){l=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){d=30;break e}else e=3;break}case 7:{if((e|0)<4){l=-2;break A}if(!(m5[a[s>>2]&127](A,l)|0)){d=33;break e}else e=4;break}case 23:{if(t|0){d=35;break e}t=l+1|0;e=h-t|0;if((e|0)<=0){l=-1;break A}switch(r[o+(n[t>>0]|0)>>0]|0){case 29:{d=38;break e}case 24:case 22:{t=1;e=2;break i}case 5:{if((e|0)<2){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){d=42;break e}else{t=1;e=3;break i}}case 6:{if((e|0)<3){l=-2;break A}if(!(m5[a[u>>2]&127](A,t)|0)){d=45;break e}else{t=1;e=4;break i}}case 7:{if((e|0)<4){l=-2;break A}if(!(m5[a[k>>2]&127](A,t)|0)){d=48;break e}else{t=1;e=5;break i}}default:{d=49;break e}}}default:{d=69;break e}}}while(0);l=l+e|0}e:switch(d|0){case 24:{a[f>>2]=l;l=0;break A}case 27:{a[f>>2]=l;l=0;break A}case 30:{a[f>>2]=l;l=0;break A}case 33:{a[f>>2]=l;l=0;break A}case 35:{a[f>>2]=l;l=0;break A}case 38:{a[f>>2]=t;l=0;break A}case 42:{a[f>>2]=t;l=0;break A}case 45:{a[f>>2]=t;l=0;break A}case 48:{a[f>>2]=t;l=0;break A}case 49:{a[f>>2]=t;l=0;break A}case 50:{i:while(1){d=0;t=l+1|0;e=h-t|0;if((e|0)<=0){l=-1;break A}switch(r[o+(n[t>>0]|0)>>0]|0){case 11:{l=t;d=64;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;d=50;break}case 29:{d=52;break i}case 24:case 22:{t=2;break i}case 5:{d=53;break i}case 6:{d=56;break i}case 7:{d=59;break i}default:{d=62;break i}}}if((d|0)==52){a[f>>2]=t;l=0;break A}else if((d|0)==53){if((e|0)<2){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=3}else if((d|0)==56){if((e|0)<3){l=-2;break A}if(!(m5[a[u>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=4}else if((d|0)==59){if((e|0)<4){l=-2;break A}if(!(m5[a[k>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=5}else if((d|0)==62){a[f>>2]=t;l=0;break A}l=Xq(A,l+t|0,i,f)|0;break A}case 69:{a[f>>2]=l;l=0;break A}}if((d|0)==64){a[f>>2]=l+1;l=2;break}t=l+1|0;if((h-t|0)>0)if((r[t>>0]|0)==62){a[f>>2]=l+2;l=4;break}else{a[f>>2]=t;l=0;break}else l=-1}else l=-1}while(0);return l|0}function Fq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;A:do{if((i-e|0)>0){if((r[e>>0]|0)!=45){a[f>>2]=e;i=0;break}l=A+72|0;t=A+352|0;c=A+356|0;b=A+360|0;s=e+1|0;e:while(1){e=i-s|0;if((e|0)<=0){i=-1;break A}switch(r[l+(n[s>>0]|0)>>0]|0){case 8:case 1:case 0:{e=19;break e}case 5:{if((e|0)<2){i=-2;break A}if(m5[a[t>>2]&127](A,s)|0){e=9;break e}s=s+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}if(m5[a[c>>2]&127](A,s)|0){e=13;break e}s=s+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}if(m5[a[b>>2]&127](A,s)|0){e=17;break e}s=s+4|0;continue e}case 27:{e=s+1|0;if((i-e|0)<=0){i=-1;break A}if((r[e>>0]|0)==45){e=22;break e}else{s=e;continue e}}default:{s=s+1|0;continue e}}}if((e|0)==9){a[f>>2]=s;i=0;break}else if((e|0)==13){a[f>>2]=s;i=0;break}else if((e|0)==17){a[f>>2]=s;i=0;break}else if((e|0)==19){a[f>>2]=s;i=0;break}else if((e|0)==22){e=s+2|0;if((i-e|0)<=0){i=-1;break}if((r[e>>0]|0)==62){a[f>>2]=s+3;i=13;break}else{a[f>>2]=e;i=0;break}}}else i=-1}while(0);return i|0}function Vq(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>5){e=0;while(1){if((e|0)>=6){e=8;break}if((r[A>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+1|0}a[i>>2]=A}else e=-1;return e|0}function Jq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;i=u-e|0;A:do{if((i|0)>0){w=A+72|0;switch(r[w+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{i=1;break}case 5:{if((i|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=2;break}case 6:{if((i|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=3;break}case 7:{if((i|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;i=e+i|0;e:while(1){l=u-i|0;if((l|0)<=0){i=-1;break A}switch(r[w+(n[i>>0]|0)>>0]|0){case 29:{s=17;break e}case 10:case 9:case 21:{s=28;break e}case 15:{s=50;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,i)|0)){s=20;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,i)|0)){s=23;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,i)|0)){s=26;break e}else l=4;break}default:break e}i=i+l|0}if((s|0)==17){a[f>>2]=i;i=0;break}else if((s|0)==20){a[f>>2]=i;i=0;break}else if((s|0)==23){a[f>>2]=i;i=0;break}else if((s|0)==26){a[f>>2]=i;i=0;break}else if((s|0)==28){if(!(Rq(e,i,o)|0)){a[f>>2]=i;i=0;break}t=A+352|0;c=A+356|0;b=A+360|0;l=i+1|0;e:while(1){i=u-l|0;if((i|0)<=0){i=-1;break A}switch(r[w+(n[l>>0]|0)>>0]|0){case 8:case 1:case 0:{s=45;break e}case 5:{if((i|0)<2){i=-2;break A}if(m5[a[t>>2]&127](A,l)|0){s=35;break e}l=l+2|0;continue e}case 6:{if((i|0)<3){i=-2;break A}if(m5[a[c>>2]&127](A,l)|0){s=39;break e}l=l+3|0;continue e}case 7:{if((i|0)<4){i=-2;break A}if(m5[a[b>>2]&127](A,l)|0){s=43;break e}l=l+4|0;continue e}case 15:{i=l+1|0;if((u-i|0)<=0){i=-1;break A}if((r[i>>0]|0)==62){s=48;break e}else{l=i;continue e}}default:{l=l+1|0;continue e}}}if((s|0)==35){a[f>>2]=l;i=0;break}else if((s|0)==39){a[f>>2]=l;i=0;break}else if((s|0)==43){a[f>>2]=l;i=0;break}else if((s|0)==45){a[f>>2]=l;i=0;break}else if((s|0)==48){a[f>>2]=l+2;i=a[o>>2]|0;break}}else if((s|0)==50){if(!(Rq(e,i,o)|0)){a[f>>2]=i;i=0;break}l=i+1|0;if((u-l|0)<=0){i=-1;break}if((r[l>>0]|0)==62){a[f>>2]=i+2;i=a[o>>2]|0;break}else i=l}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function Nq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;l=e+l|0;e:while(1){e=i-l|0;if((e|0)<=0){i=-1;break A}switch(r[s+(n[l>>0]|0)>>0]|0){case 29:{t=17;break e}case 10:case 9:case 21:{t=27;break e}case 11:{t=32;break e}case 23:case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,l)|0)){t=20;break e}else e=2;break}case 6:{if((e|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,l)|0)){t=23;break e}else e=3;break}case 7:{if((e|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){t=26;break e}else e=4;break}default:{t=33;break e}}l=l+e|0}if((t|0)==17){a[f>>2]=l;i=0;break}else if((t|0)==20){a[f>>2]=l;i=0;break}else if((t|0)==23){a[f>>2]=l;i=0;break}else if((t|0)==26){a[f>>2]=l;i=0;break}else if((t|0)==27){e:while(1){e=l+1|0;if((i-e|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 10:case 9:case 21:{l=e;t=27;break}case 11:{t=29;break e}default:{t=30;break e}}}if((t|0)==29){a[f>>2]=l+2;i=5;break}else if((t|0)==30){a[f>>2]=e;i=0;break}}else if((t|0)==32){a[f>>2]=l+1;i=5;break}else if((t|0)==33){a[f>>2]=l;i=0;break}}else i=-1}while(0);return i|0}function Xq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;E=Z;a[E>>2]=e;C=i;d=A+72|0;B=A+328|0;v=A+332|0;g=A+336|0;b=A+340|0;s=A+344|0;w=A+348|0;u=A+352|0;o=A+356|0;h=A+360|0;t=0;A:while(1){l=C-e|0;if((l|0)<=0){e=-1;break}e:do{switch(r[d+(n[e>>0]|0)>>0]|0){case 29:{I=4;break A}case 27:case 26:case 25:case 24:case 22:{l=e+1|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 5:{if((l|0)<2){e=-2;break A}if(!(m5[a[B>>2]&127](A,e)|0)){I=8;break A}l=e+2|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 6:{if((l|0)<3){e=-2;break A}if(!(m5[a[v>>2]&127](A,e)|0)){I=12;break A}l=e+3|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 7:{if((l|0)<4){e=-2;break A}if(!(m5[a[g>>2]&127](A,e)|0)){I=16;break A}l=e+4|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 23:{if(t|0){I=19;break A}l=e+1|0;a[E>>2]=l;t=C-l|0;if((t|0)<=0){e=-1;break A}switch(r[d+(n[l>>0]|0)>>0]|0){case 29:{I=22;break A}case 24:case 22:{c=e+2|0;a[E>>2]=c;t=1;e=c;continue A}case 5:{if((t|0)<2){e=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){I=26;break A}c=e+3|0;a[E>>2]=c;t=1;e=c;continue A}case 6:{if((t|0)<3){e=-2;break A}if(!(m5[a[s>>2]&127](A,l)|0)){I=30;break A}c=e+4|0;a[E>>2]=c;t=1;e=c;continue A}case 7:{if((t|0)<4){e=-2;break A}if(!(m5[a[w>>2]&127](A,l)|0)){I=34;break A}c=e+5|0;a[E>>2]=c;t=1;e=c;continue A}default:{I=36;break A}}}case 10:case 9:case 21:while(1){e=e+1|0;a[E>>2]=e;if((C-e|0)<=0){e=-1;break A}switch(r[d+(n[e>>0]|0)>>0]|0){case 14:break e;case 9:case 10:case 21:break;default:{I=39;break A}}}case 14:break;default:{I=92;break A}}}while(0);while(1){l=e+1|0;a[E>>2]=l;if((C-l|0)<=0){e=-1;break A}c=r[d+(n[l>>0]|0)>>0]|0;if((c|1)<<24>>24==13)break;switch(c<<24>>24){case 9:case 10:case 21:{e=l;break}default:{I=43;break A}}}e=e+2|0;a[E>>2]=e;e:while(1){l=C-e|0;if((l|0)<=0){e=-1;break A}t=r[d+(n[e>>0]|0)>>0]|0;if(t<<24>>24==c<<24>>24)break;switch(t<<24>>24){case 8:case 1:case 0:{I=60;break A}case 2:{I=65;break A}case 5:{if((l|0)<2){e=-2;break A}if(m5[a[u>>2]&127](A,e)|0){I=50;break A}t=e+2|0;a[E>>2]=t;e=t;continue e}case 6:{if((l|0)<3){e=-2;break A}if(m5[a[o>>2]&127](A,e)|0){I=54;break A}t=e+3|0;a[E>>2]=t;e=t;continue e}case 7:{if((l|0)<4){e=-2;break A}if(m5[a[h>>2]&127](A,e)|0){I=58;break A}t=e+4|0;a[E>>2]=t;e=t;continue e}case 3:{e=yq(A,e+1|0,i,E)|0;if((e|0)<1){I=63;break A}e=a[E>>2]|0;continue e}default:{t=e+1|0;a[E>>2]=t;e=t;continue e}}}l=e+1|0;a[E>>2]=l;if((C-l|0)<=0){e=-1;break}switch(r[d+(n[l>>0]|0)>>0]|0){case 11:{I=86;break A}case 17:{I=87;break A}case 10:case 9:case 21:{e=l;break}default:{I=69;break A}}e:while(1){l=e+1|0;a[E>>2]=l;t=C-l|0;if((t|0)<=0){e=-1;break A}switch(r[d+(n[l>>0]|0)>>0]|0){case 29:{I=72;break A}case 11:{I=86;break A}case 17:{I=87;break A}case 10:case 9:case 21:{e=l;break}case 24:case 22:{I=73;break e}case 5:{I=74;break e}case 6:{I=78;break e}case 7:{I=82;break e}default:{I=91;break A}}}if((I|0)==73){I=0;e=e+2|0;a[E>>2]=e;t=0;continue}else if((I|0)==74){I=0;if((t|0)<2){e=-2;break}if(!(m5[a[b>>2]&127](A,l)|0)){I=76;break}e=e+3|0;a[E>>2]=e;t=0;continue}else if((I|0)==78){I=0;if((t|0)<3){e=-2;break}if(!(m5[a[s>>2]&127](A,l)|0)){I=80;break}e=e+4|0;a[E>>2]=e;t=0;continue}else if((I|0)==82){I=0;if((t|0)<4){e=-2;break}if(!(m5[a[w>>2]&127](A,l)|0)){I=84;break}e=e+5|0;a[E>>2]=e;t=0;continue}}switch(I|0){case 4:{a[f>>2]=e;e=0;break}case 8:{a[f>>2]=e;e=0;break}case 12:{a[f>>2]=e;e=0;break}case 16:{a[f>>2]=e;e=0;break}case 19:{a[f>>2]=e;e=0;break}case 22:{a[f>>2]=l;e=0;break}case 26:{a[f>>2]=l;e=0;break}case 30:{a[f>>2]=l;e=0;break}case 34:{a[f>>2]=l;e=0;break}case 36:{a[f>>2]=l;e=0;break}case 39:{a[f>>2]=e;e=0;break}case 43:{a[f>>2]=l;e=0;break}case 50:{a[f>>2]=e;e=0;break}case 54:{a[f>>2]=e;e=0;break}case 58:{a[f>>2]=e;e=0;break}case 60:{a[f>>2]=e;e=0;break}case 63:{if(!e){a[f>>2]=a[E>>2];e=0}break}case 65:{a[f>>2]=e;e=0;break}case 69:{a[f>>2]=l;e=0;break}case 72:{a[f>>2]=l;e=0;break}case 76:{a[f>>2]=l;e=0;break}case 80:{a[f>>2]=l;e=0;break}case 84:{a[f>>2]=l;e=0;break}case 86:{a[f>>2]=e+2;e=1;break}case 87:{e=l+1|0;a[E>>2]=e;if((C-e|0)>0)if((r[e>>0]|0)==62){a[f>>2]=l+2;e=3;break}else{a[f>>2]=e;e=0;break}else e=-1;break}case 91:{a[f>>2]=l;e=0;break}case 92:{a[f>>2]=e;e=0;break}}k=Z;return e|0}function Rq(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==3){switch(r[A>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}switch(r[A+1>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}switch(r[A+2>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}while(0);return e|0}function Hq(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;b=e+72|0;s=e+352|0;w=e+356|0;u=e+360|0;A:while(1){t=f-i|0;if((t|0)<=0){f=-1;break}c=r[b+(n[i>>0]|0)>>0]|0;switch(c<<24>>24){case 8:case 1:case 0:{k=16;break A}case 5:{if((t|0)<2){f=-2;break A}if(m5[a[s>>2]&127](e,i)|0){k=6;break A}i=i+2|0;continue A}case 6:{if((t|0)<3){f=-2;break A}if(m5[a[w>>2]&127](e,i)|0){k=10;break A}i=i+3|0;continue A}case 7:{if((t|0)<4){f=-2;break A}if(m5[a[u>>2]&127](e,i)|0){k=14;break A}i=i+4|0;continue A}case 13:case 12:{i=i+1|0;if((c&255|0)==(A|0)){k=18;break A}else continue A}default:{i=i+1|0;continue A}}}A:do{if((k|0)==6){a[l>>2]=i;f=0}else if((k|0)==10){a[l>>2]=i;f=0}else if((k|0)==14){a[l>>2]=i;f=0}else if((k|0)==16){a[l>>2]=i;f=0}else if((k|0)==18)if((f-i|0)>0){a[l>>2]=i;switch(r[b+(n[i>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break A}default:{}}f=0}else f=-27}while(0);return f|0}function pq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;l=i;A:do{if((l-e|0)>0){t=A+72|0;switch(r[t+(n[e>>0]|0)>>0]|0){case 27:{A=Fq(A,e+1|0,i,f)|0;break A}case 20:{a[f>>2]=e+1;A=33;break A}case 24:case 22:{e:while(1){A=e+1|0;i=l-A|0;if((i|0)<=0){A=-1;break A}switch(r[t+(n[A>>0]|0)>>0]|0){case 24:case 22:{e=A;break}case 30:{c=8;break e}case 10:case 9:case 21:break e;default:{c=12;break e}}}if((c|0)==12){a[f>>2]=A;A=0;break A}e:do{if((c|0)==8){if((i|0)<=1){A=-1;break A}switch(r[t+(n[e+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=A;A=0;break A}}while(0);a[f>>2]=A;A=16;break A}default:{a[f>>2]=e;A=0;break A}}}else A=-1}while(0);return A|0}function Uq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;e=e+l|0;e:while(1){l=i-e|0;if((l|0)<=0){i=-20;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=17;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=28;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=20;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=23;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,e)|0)){l=26;break e}else l=4;break}default:{l=29;break e}}e=e+l|0}if((l|0)==17){a[f>>2]=e;i=0;break}else if((l|0)==20){a[f>>2]=e;i=0;break}else if((l|0)==23){a[f>>2]=e;i=0;break}else if((l|0)==26){a[f>>2]=e;i=0;break}else if((l|0)==28){a[f>>2]=e;i=20;break}else if((l|0)==29){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function xq(){return 58220}function Tq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=k;k=k+16|0;n=t;a[n>>2]=i;l=a[e>>2]|0;A=f-(a[r>>2]|0)|0;if((i-l|0)>(A|0)){A=l+A|0;a[n>>2]=A;f=1}else{f=0;A=i}hs(l,n);l=a[n>>2]|0;i=a[e>>2]|0;n=l-i|0;y6(a[r>>2]|0,i|0,n|0)|0;a[e>>2]=(a[e>>2]|0)+n;a[r>>2]=(a[r>>2]|0)+n;k=t;return(f?2:l>>>0>>0&1)|0}function jq(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=A+72|0;b=i;s=l;w=a[e>>2]|0;u=a[n>>2]|0;A:while(1){A=w>>>0>>0;if(!(u>>>0>>0&A)){k=12;break}A=r[w>>0]|0;t=A&255;switch(r[c+t>>0]|0){case 5:{if((b-w|0)<2){A=1;break A}f[u>>1]=(A&31)<<6|r[w+1>>0]&63;w=w+2|0;u=u+2|0;continue A}case 6:{if((b-w|0)<3){A=1;break A}f[u>>1]=(r[w+1>>0]&63)<<6|t<<12|r[w+2>>0]&63;w=w+3|0;u=u+2|0;continue A}case 7:{if((s-u|0)<4){A=2;break A}if((b-w|0)<4){A=1;break A}t=((r[w+1>>0]&63)<<12|(A&7)<<18|(r[w+2>>0]&63)<<6|r[w+3>>0]&63)+-65536|0;f[u>>1]=t>>>10|55296;f[u+2>>1]=t&1023|56320;w=w+4|0;u=u+4|0;continue A}default:{f[u>>1]=A<<24>>24;w=w+1|0;u=u+2|0;continue A}}}if((k|0)==12)A=A?2:0;a[e>>2]=w;a[n>>2]=u;return A|0}function Sq(A,e){A=A|0;e=e|0;A=n[e>>0]|0;e=n[e+1>>0]|0;return 1<<(e&31)&a[56940+(((n[144044+(A>>>2&7)>>0]|0)<<3|A<<1&6|e>>>5&1)<<2)>>2]|0}function Pq(A,e){A=A|0;e=e|0;var i=0;i=n[e+1>>0]|0;A=n[e+2>>0]|0;return 1<<(A&31)&a[56940+(((n[144044+(i>>>2&15|r[e>>0]<<4&255)>>0]|0)<<3|i<<1&6|A>>>5&1)<<2)>>2]|0}function Oq(A,e){A=A|0;e=e|0;return 0}function Kq(A,e){A=A|0;e=e|0;A=n[e>>0]|0;e=n[e+1>>0]|0;return 1<<(e&31)&a[56940+(((n[143788+(A>>>2&7)>>0]|0)<<3|A<<1&6|e>>>5&1)<<2)>>2]|0}function _q(A,e){A=A|0;e=e|0;var i=0;i=n[e+1>>0]|0;A=n[e+2>>0]|0;return 1<<(A&31)&a[56940+(((n[143788+(i>>>2&15|r[e>>0]<<4&255)>>0]|0)<<3|i<<1&6|A>>>5&1)<<2)>>2]|0}function qq(A,e){A=A|0;e=e|0;if((n[e>>0]|0)<194)return 1;else{e=n[e+1>>0]|0;return e>>>7^1|(e&192|0)==192|0}return 0}function $q(A,e){A=A|0;e=e|0;var i=0;A=r[e+2>>0]|0;do{if(A<<24>>24>-1)A=1;else{i=r[e>>0]|0;if(i<<24>>24==-17?(r[e+1>>0]|0)==-65:0)if((A&255)>189){A=1;break}else{A=191;e=-65}else{if((A&255)>191){A=1;break}e=r[e+1>>0]|0;A=e&255;if(i<<24>>24==-32){A=(e&255)<160|(A&192|0)==192;break}}A=(A&128|0)==0?1:i<<24>>24==-19?(e&255)>159:(A&192|0)==192}}while(0);return A&1|0}function A$(A,e){A=A|0;e=e|0;var i=0;i=n[e+3>>0]|0;do{if(!((i&128|0)==0|(i&192|0)==192)?(i=n[e+2>>0]|0,!((i&128|0)==0|(i&192|0)==192)):0){i=r[e>>0]|0;A=r[e+1>>0]|0;e=A&255;if(i<<24>>24==-16){A=(A&255)<144|(e&192|0)==192;break}else{A=(e&128|0)==0?1:i<<24>>24==-12?(A&255)>143:(e&192|0)==192;break}}else A=1}while(0);return A&1|0}function e$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){t=e;w=i-t|0;b=(w&1|0)==0;w=w&-2;s=(w|0)==0;w=b|s?i:e+w|0;if(b|s^1){i=r[e+1>>0]|0;if(!(i<<24>>24)){l=r[e>>0]|0;c=l;l=n[A+72+(l&255)>>0]|0}else{l=r[e>>0]|0;c=l;l=d$(i,l)|0}do{switch(l|0){case 12:{i=W$(12,A,e+2|0,w,f)|0;break A}case 13:{i=W$(13,A,e+2|0,w,f)|0;break A}case 2:{l=e+2|0;if((w-l|0)<=1){i=-1;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;switch(i|0){case 16:{i=y$(A,e+4|0,w,f)|0;break A}case 15:{i=G$(A,e+4|0,w,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;i=29;break A}default:{a[f>>2]=l;i=0;break A}}}case 9:{if((e+2|0)==(w|0)){a[f>>2]=w;i=-15;break A}else t=7;break}case 10:case 21:{t=7;break}case 30:{i=v$(A,e+2|0,w,f)|0;break A}case 35:{a[f>>2]=e+2;i=38;break A}case 20:{a[f>>2]=e+2;i=25;break A}case 4:{l=e+2|0;i=w-l|0;if((i|0)<=1){i=-26;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){if((i|0)<=3){i=-1;break A}if((r[e+5>>0]|0)==0?(r[e+4>>0]|0)==62:0){a[f>>2]=e+6;i=34;break A}}a[f>>2]=l;i=26;break A}case 31:{a[f>>2]=e+2;i=23;break A}case 32:{l=e+2|0;if((w-l|0)<=1){i=-24;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;switch(i|0){case 33:{a[f>>2]=e+4;i=36;break A}case 15:{a[f>>2]=e+4;i=35;break A}case 34:{a[f>>2]=e+4;i=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;i=24;break A}default:{a[f>>2]=l;i=0;break A}}}case 36:{a[f>>2]=e+2;i=21;break A}case 11:{a[f>>2]=e+2;i=17;break A}case 19:{i=z$(A,e+2|0,w,f)|0;break A}case 5:{if((w-t|0)<2){i=-2;break A}a[f>>2]=e;i=0;break A}case 6:{if((w-t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((w-t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 24:case 22:{i=18;t=61;break}case 23:case 27:case 26:case 25:{i=19;t=61;break}case 29:{t=i&255;l=c&255;i=l>>>5;l=1<<(l&31);if(!(l&a[56940+((i|n[143788+t>>0]<<3)<<2)>>2]))if(!(a[56940+((n[144044+t>>0]<<3|i)<<2)>>2]&l))t=64;else{i=19;t=61}else{i=18;t=61}break}default:t=64}}while(0);if((t|0)==7){b=w;A=A+72|0;c=e;e:while(1){t=c;c=c+2|0;if((b-c|0)<=1){t=28;break}i=r[t+3>>0]|0;l=r[c>>0]|0;if(!(i<<24>>24))i=n[A+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 21:continue e;case 9:break;default:{t=27;break e}}if((t+4|0)==(w|0)){t=27;break}}if((t|0)==27){a[f>>2]=c;i=15;break}else if((t|0)==28){a[f>>2]=c;i=15;break}}else if((t|0)==61){s=A+72|0;l=e+2|0;e:while(1){e=i&255;i:while(1){b=w-l|0;if((b|0)<=1){t=104;break e}t=r[l+1>>0]|0;c=r[l>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 5:{t=73;break e}case 6:{t=74;break e}case 7:{t=76;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{t=78;break e}case 34:{t=94;break e}case 33:{t=97;break e}case 15:{t=100;break e}case 29:{b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){t=71;break e}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{b=l+2|0;switch(e&63){case 41:{i=19;l=b;continue e}case 18:break i;default:{l=b;continue i}}}default:{t=103;break e}}l=l+2|0}A=w-b|0;if((A|0)<=1){i=-1;break A}i=r[l+3>>0]|0;t=r[b>>0]|0;if(!(i<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(i,t)|0;switch(c|0){case 5:{t=89;break e}case 6:{t=90;break e}case 7:{t=92;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(i&255)>>0]<<3)<<2)>>2])){t=87;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{i=19;l=b;continue e}}i=41;l=l+4|0}switch(t|0){case 71:{a[f>>2]=l;i=0;break A}case 73:{a[f>>2]=l;i=0;break A}case 74:{if((b|0)<3){i=-2;break A}a[f>>2]=l;i=0;break A}case 76:{if((b|0)<4){i=-2;break A}a[f>>2]=l;i=0;break A}case 78:{a[f>>2]=l;break A}case 87:{a[f>>2]=b;i=0;break A}case 89:{a[f>>2]=b;i=0;break A}case 90:{if((A|0)<3){i=-2;break A}a[f>>2]=b;i=0;break A}case 92:{if((A|0)<4){i=-2;break A}a[f>>2]=b;i=0;break A}case 94:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=32;break A}case 97:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=31;break A}case 100:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=30;break A}case 103:{a[f>>2]=l;i=0;break A}case 104:{i=0-i|0;break A}}}else if((t|0)==64){a[f>>2]=e;i=0;break}}else i=-1}else i=-4}while(0);return i|0}function i$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e+1>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e>>0]|0)>>0]|0;else i=d$(i,r[e>>0]|0)|0;do{switch(i|0){case 2:{i=C$(A,e+2|0,t,f)|0;break A}case 3:{i=B$(A,e+2|0,t,f)|0;break A}case 9:{l=e+2|0;if((t-l|0)<=1){i=-3;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 4:{l=e+2|0;if((t-l|0)<=1){i=-5;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-5;break A}if((r[e+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=i;i=0;break A}else i=t}else i=t;break}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:{l=e+2|0;i=t}}}while(0);c=A+72|0;A=l;e:while(1){e=i-A|0;if((e|0)<=1){l=52;break}l=r[A+1>>0]|0;t=r[A>>0]|0;if(!(l<<24>>24))l=n[c+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{l=50;break e}case 5:{A=A+2|0;continue e}case 6:{if((e|0)<3){l=38;break e}A=A+3|0;continue e}case 7:{if((e|0)<4){l=41;break e}A=A+4|0;continue e}case 4:{if((e|0)<=3){l=50;break e}l=A+2|0;if(r[A+3>>0]|0){A=l;continue e}if((r[l>>0]|0)!=93){A=l;continue e}if((e|0)<=5){l=50;break e}t=A+4|0;if(r[A+5>>0]|0){A=l;continue e}if((r[t>>0]|0)==62){l=49;break e}else{A=l;continue e}}default:{A=A+2|0;continue e}}}if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==41){a[f>>2]=A;i=6;break}else if((l|0)==49){a[f>>2]=t;i=0;break}else if((l|0)==50){a[f>>2]=A;i=6;break}else if((l|0)==52){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function r$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e+1>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e>>0]|0)>>0]|0;else i=d$(i,r[e>>0]|0)|0;switch(i|0){case 4:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-1;break A}if((r[e+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=e+6;i=40;break A}}break}case 9:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;t=i;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;t=i;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;t=i;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:l=e+2|0}c=A+72|0;A=l;e:while(1){e=t-A|0;if((e|0)<=1){l=40;break}i=r[A+1>>0]|0;l=r[A>>0]|0;if(!(i<<24>>24))i=n[c+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 4:{l=38;break e}case 6:{if((e|0)<3){l=35;break e}else i=3;break}case 7:{if((e|0)<4){l=37;break e}else i=4;break}default:i=2}A=A+i|0}if((l|0)==35){a[f>>2]=A;i=6;break}else if((l|0)==37){a[f>>2]=A;i=6;break}else if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==40){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function f$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i-e|0;b=(b&1|0)==0?i:e+(b&-2)|0;c=A+72|0;t=0;i=e;A:while(1){l=b-i|0;if((l|0)<=1){i=-1;break}A=r[i+1>>0]|0;e=r[i>>0]|0;if(!(A<<24>>24))A=n[c+(e&255)>>0]|0;else A=d$(A,e)|0;switch(A|0){case 8:case 1:case 0:{s=12;break A}case 5:{l=t;i=i+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}l=t;i=i+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}l=t;i=i+4|0;t=l;continue A}case 2:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[i+3>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=33){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[i+5>>0]|0){l=t;i=A;t=l;continue A}l=(r[A>>0]|0)==91;t=t+(l&1)|0;i=l?i+6|0:A;continue A}case 4:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[i+3>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=93){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[i+5>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=62){l=t;i=A;t=l;continue A}i=i+6|0;if(!t){s=26;break A}t=t+-1|0;continue A}default:{l=t;i=i+2|0;t=l;continue A}}}if((s|0)==12){a[f>>2]=i;i=0}else if((s|0)==26){a[f>>2]=i;i=42}return i|0}function a$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=30;break}l=r[c+1>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 2:{t=14;break A}case 10:{t=15;break A}case 9:{t=18;break A}case 21:{t=25;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=B$(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14){a[f>>2]=c;l=0;break}else if((t|0)==15)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==18){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==25)if((c|0)==(e|0)){a[f>>2]=e+2;l=39;break}else{a[f>>2]=c;l=6;break}else if((t|0)==30){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function n$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=29;break}l=r[c+1>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 30:{t=14;break A}case 10:{t=17;break A}case 9:{t=20;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=B$(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14)if((c|0)==(e|0)){l=v$(A,e+2|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=c;l=6;break}else if((t|0)==17)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==20){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==29){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function l$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=7;break}if((a-A|0)<2){A=0;break}if(r[A+1>>0]|0){A=0;break}if((r[A>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+2|0}if((n|0)==7)A=(A|0)==(i|0)&1;return A|0}function t$(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=A+72|0;f=e;A:while(1){A=r[f+1>>0]|0;i=r[f>>0]|0;if(!(A<<24>>24))A=n[a+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 5:{A=2;break}case 6:{A=3;break}case 7:{A=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{A=2;break}default:break A}f=f+A|0}return f-e|0}function c$(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A:while(1){A=r[e+1>>0]|0;i=r[e>>0]|0;if(!(A<<24>>24))A=n[f+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 21:case 9:case 10:break;default:break A}e=e+2|0}return e|0}function b$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=A+72|0;w=0;u=0;A=1;A:while(1){s=e+2|0;t=e+3|0;l=r[t>>0]|0;c=l<<24>>24==0;b=r[s>>0]|0;if(c)l=n[k+(b&255)>>0]|0;else l=d$(l,b)|0;do{switch(l|0){case 5:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 6:{if(A|0){c=A;b=u;s=w;e=t;A=c;u=b;w=s;continue A}if((u|0)>=(i|0)){b=u;s=w;A=1;e=t;u=b;w=s;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;b=u;s=w;A=1;e=t;u=b;w=s;continue A}case 7:{if(!A)if((u|0)<(i|0)){a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;A=1}else A=1;b=u;s=w;e=e+4|0;u=b;w=s;continue A}case 24:case 22:case 29:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 12:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=12;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=12;A=2;e=s;u=b;continue A}if((w|0)!=12){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=12;u=u+1|0;A=0;e=s;continue A}case 13:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=13;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=13;A=2;e=s;u=b;continue A}if((w|0)!=13){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=13;u=u+1|0;A=0;e=s;continue A}case 3:{if((u|0)>=(i|0)){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}case 21:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}t=f+(u<<4)+12|0;if(!(r[t>>0]|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}do{if(c&(s|0)!=(a[f+(u<<4)+4>>2]|0)&b<<24>>24==32){l=r[e+5>>0]|0;A=r[e+4>>0]|0;if(!(l<<24>>24)){if(A<<24>>24==32)break;A=n[k+(A&255)>>0]|0}else A=d$(l,A)|0;if((A|0)!=(w|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}}}while(0);r[t>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 10:case 9:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 17:case 11:if((A|0)==2){c=u;b=w;A=2;e=s;u=c;w=b;continue A}else break A;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}}while(0)}return u|0}function s$(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+4|0;A:do{if((r[e+5>>0]|0)==0?(r[A>>0]|0)==120:0){e=e+6|0;A=0;while(1){e:while(1){if(!(r[e+1>>0]|0)){i=r[e>>0]|0;if(i<<24>>24==59){f=17;break A}i=i<<24>>24;switch(i|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break e}default:{}}}e=e+2|0}if((f|0)==8){f=0;A=i+-48|A<<4}else if((f|0)==9){f=0;A=(A<<4)+-55+i|0}else if((f|0)==10){f=0;A=(A<<4)+-87+i|0}if((A|0)<1114112)e=e+2|0;else{A=-1;break}}}else{i=A;A=0;f=13}}while(0);A:do{if((f|0)==13)while(1){f=0;if(!(r[i+1>>0]|0)){e=r[i>>0]|0;if(e<<24>>24==59){f=17;break A}e=e<<24>>24}else e=-1;A=(A*10|0)+-48+e|0;if((A|0)>=1114112){A=-1;break}else{i=i+2|0;f=13}}}while(0);if((f|0)==17)A=gs(A)|0;return A|0}function w$(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch((i-e|0)/2|0|0){case 2:{if((r[e+3>>0]|0)==0?(r[e+2>>0]|0)==116:0){if(!(r[e+1>>0]|0))A=r[e>>0]|0;else A=-1;A=(A|0)==108?60:(A|0)==103?62:0}else f=27;break}case 3:{if((((((r[e+1>>0]|0)==0?(r[e>>0]|0)==97:0)?(r[e+3>>0]|0)==0:0)?(r[e+2>>0]|0)==109:0)?(r[e+5>>0]|0)==0:0)?(r[e+4>>0]|0)==112:0)A=38;else f=27;break}case 4:{if(!(r[e+1>>0]|0))switch(r[e>>0]|0){case 113:{if(r[e+3>>0]|0){f=27;break A}if((r[e+2>>0]|0)!=117){f=27;break A}if(r[e+5>>0]|0){f=27;break A}if((r[e+4>>0]|0)!=111){f=27;break A}if(r[e+7>>0]|0){f=27;break A}if((r[e+6>>0]|0)==116){A=34;break A}else{f=27;break A}}case 97:{if(r[e+3>>0]|0){f=27;break A}if((r[e+2>>0]|0)!=112){f=27;break A}if(r[e+5>>0]|0){f=27;break A}if((r[e+4>>0]|0)!=111){f=27;break A}if(r[e+7>>0]|0){f=27;break A}if((r[e+6>>0]|0)==115){A=39;break A}else{f=27;break A}}default:{f=27;break A}}else f=27;break}default:f=27}}while(0);if((f|0)==27)A=0;return A|0}function u$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=A+72|0;b=f+4|0;while(1){if((i-e|0)<=1)break;A=r[e+1>>0]|0;l=r[e>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{a[b>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+2|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;t=e+2|0;if((i-t|0)>1){A=r[e+3>>0]|0;l=r[t>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;e=(A|0)==10?e+4|0:t}else e=t;a[b>>2]=-1;break}default:e=e+2|0}a[b>>2]=(a[b>>2]|0)+1}return}function k$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i+-2|0;t=A+72|0;i=e;A:while(1){l=i+2|0;if((c-l|0)<=1){i=1;break}i=r[i+3>>0]|0;A=i<<24>>24==0;e=r[l>>0]|0;if(A)i=n[t+(e&255)>>0]|0;else i=d$(i,e)|0;switch(i|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:{i=l;continue A}case 21:if(A&e<<24>>24==9){b=12;break A}else{i=l;continue A}case 22:case 26:{if(!A){b=12;break A}if(e<<24>>24>=0){i=l;continue A}break}default:if(!A){b=12;break A}}switch(e<<24>>24|0){case 64:case 36:{i=l;break}default:{b=12;break A}}}if((b|0)==12){a[f>>2]=l;i=0}return i|0}function o$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[e>>2]|0;b=c+(i-c&-2)|0;s=b;w=l;A:while(1){if(c>>>0>=b>>>0){A=0;break}t=r[c>>0]|0;A=r[c+1>>0]|0;i=A&255;switch(A<<24>>24){case 0:{if(t<<24>>24>-1){A=a[f>>2]|0;if((A|0)==(l|0)){A=2;break A}a[f>>2]=A+1;r[A>>0]=t;A=c}else u=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{u=7;break}case-37:case-38:case-39:case-40:{A=a[f>>2]|0;if((w-A|0)<4){A=2;break A}if((s-c|0)<4){A=1;break A}k=t&255;t=(i<<2&12|k>>>6)+1|0;a[f>>2]=A+1;r[A>>0]=t>>>2|240;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>2&15|t<<4&48|128;A=c+2|0;t=n[A>>0]|0;i=(k<<4&48|t>>>6|r[c+3>>0]<<2&12|128)&255;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=i;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=t&63|128;break}default:{A=a[f>>2]|0;if((w-A|0)<3){A=2;break A}a[f>>2]=A+1;r[A>>0]=i>>>4|224;k=t&255;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2&60|128;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}}if((u|0)==7){u=0;A=a[f>>2]|0;if((w-A|0)<2){A=2;break}k=t&255;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2|192;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}c=A+2|0}a[e>>2]=c;return A|0}function h$(A,e,i,l,t){A=A|0;e=e|0;i=i|0;l=l|0;t=t|0;var c=0,b=0,s=0;c=a[e>>2]|0;s=i-c&-2;A=c+s|0;if((s|0)>(t-(a[l>>2]|0)|0)){b=A+-2|0;i=(r[b+1>>0]&-8)<<24>>24==-40;s=i&1;A=i?b:A}else s=0;i=c;while(1){c=i>>>0>>0;b=a[l>>2]|0;if(!(c&b>>>0>>0))break;c=((n[i+1>>0]|0)<<8|(n[i>>0]|0))&65535;a[l>>2]=b+2;f[b>>1]=c;b=(a[e>>2]|0)+2|0;a[e>>2]=b;i=b}return((b|0)!=(t|0)|c^1?s:2)|0}function d$(A,e){A=A|0;e=e|0;var i=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((e&255)>253)A=0;else i=4;break}default:i=4}if((i|0)==4)A=29;return A|0}function B$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=i;c=s-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;A=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;A=0;break A}case 6:{if((c|0)<3){A=-2;break A}a[f>>2]=e;A=0;break A}case 7:{if((c|0)<4){A=-2;break A}a[f>>2]=e;A=0;break A}case 19:{A=g$(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;A=0;break A}}b=A+72|0;c=e;e:while(1){t=c+2|0;e=s-t|0;if((e|0)<=1){A=-1;break A}A=r[c+3>>0]|0;l=r[t>>0]|0;if(!(A<<24>>24))i=n[b+(l&255)>>0]|0;else i=d$(A,l)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{c=t;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=l&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(A&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else c=t}if((l|0)==22){a[f>>2]=t;A=0;break}else if((l|0)==23){a[f>>2]=t;A=0;break}else if((l|0)==24){if((e|0)<3){A=-2;break}a[f>>2]=t;A=0;break}else if((l|0)==26){if((e|0)<4){A=-2;break}a[f>>2]=t;A=0;break}else if((l|0)==28){a[f>>2]=c+4;A=9;break}else if((l|0)==29){a[f>>2]=t;A=0;break}}else A=-1}while(0);return A|0}function v$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){b=A+2|0;e=i-b|0;if((e|0)<=1){i=-1;break A}l=r[A+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:{A=b;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else A=b}if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){a[f>>2]=b;i=0;break}else if((l|0)==24){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==26){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==28){a[f>>2]=A+4;i=28;break}else if((l|0)==29){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function g$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;b=i;A:do{if((b-e|0)>1){t=r[e+1>>0]|0;l=r[e>>0]|0;do{if(!(t<<24>>24))if(l<<24>>24==120){l=E$(A,e+2|0,i,f)|0;break A}else{l=n[A+72+(l&255)>>0]|0;break}else l=d$(t,l)|0}while(0);if((l|0)!=25){a[f>>2]=e;l=0;break}c=A+72|0;A=e;e:while(1){t=A+2|0;if((b-t|0)<=1){l=-1;break A}l=r[A+3>>0]|0;i=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(i&255)>>0]|0;else l=d$(l,i)|0;switch(l|0){case 25:{A=t;break}case 18:{i=15;break e}default:{i=16;break e}}}if((i|0)==15){a[f>>2]=A+4;l=10;break}else if((i|0)==16){a[f>>2]=t;l=0;break}}else l=-1}while(0);return l|0}function E$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;A:do{if((i-e|0)>1){l=r[e+1>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e>>0]|0)>>0]|0;else l=d$(l,r[e>>0]|0)|0;if((l&-2|0)!=24){a[f>>2]=e;i=0;break}c=A+72|0;e:while(1){t=e+2|0;if((i-t|0)<=1){i=-1;break A}l=r[e+3>>0]|0;A=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 25:{e=t;break}case 18:{l=13;break e}default:{l=14;break e}}}if((l|0)==13){a[f>>2]=e+4;i=10;break}else if((l|0)==14){a[f>>2]=t;i=0;break}}else i=-1}while(0);return i|0}function C$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=i;c=k-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{w=t&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;l=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;l=0;break A}case 6:{if((c|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 7:{if((c|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 16:{t=e+2|0;if((k-t|0)<=1){l=-1;break A}l=r[e+3>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[t>>0]|0)>>0]|0;else l=d$(l,r[t>>0]|0)|0;switch(l|0){case 27:{l=I$(A,e+4|0,i,f)|0;break A}case 20:{l=Z$(e+4|0,i,f)|0;break A}default:{a[f>>2]=t;l=0;break A}}}case 15:{l=G$(A,e+2|0,i,f)|0;break A}case 17:{l=Q$(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}w=A+72|0;s=0;l=e+2|0;e:while(1){i:while(1){t=k-l|0;if((t|0)<=1){l=-1;break A}c=r[l+1>>0]|0;b=r[l>>0]|0;if(!(c<<24>>24))e=n[w+(b&255)>>0]|0;else e=d$(c,b)|0;switch(e|0){case 5:{u=34;break e}case 6:{u=35;break e}case 7:{u=37;break e}case 10:case 9:case 21:{u=55;break e}case 11:{u=69;break e}case 17:break e;case 23:break i;case 29:{e=b&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(c&255)>>0]<<3)<<2)>>2])){u=32;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{u=75;break e}}l=l+2|0}if(s|0){u=40;break}b=l+2|0;e=k-b|0;if((e|0)<=1){l=-1;break A}s=r[l+3>>0]|0;t=r[b>>0]|0;if(!(s<<24>>24))c=n[w+(t&255)>>0]|0;else c=d$(s,t)|0;switch(c|0){case 5:{u=49;break e}case 6:{u=50;break e}case 7:{u=52;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[143788+(s&255)>>0]<<3)<<2)>>2])){u=47;break e}break}case 24:case 22:break;default:{u=54;break e}}s=1;l=l+4|0}e:switch(u|0){case 32:{a[f>>2]=l;l=0;break A}case 34:{a[f>>2]=l;l=0;break A}case 35:{if((t|0)<3){l=-2;break A}a[f>>2]=l;l=0;break A}case 37:{if((t|0)<4){l=-2;break A}a[f>>2]=l;l=0;break A}case 40:{a[f>>2]=l;l=0;break A}case 47:{a[f>>2]=b;l=0;break A}case 49:{a[f>>2]=b;l=0;break A}case 50:{if((e|0)<3){l=-2;break A}a[f>>2]=b;l=0;break A}case 52:{if((e|0)<4){l=-2;break A}a[f>>2]=b;l=0;break A}case 54:{a[f>>2]=b;l=0;break A}case 55:{i:while(1){u=0;t=l+2|0;c=k-t|0;if((c|0)<=1){l=-1;break A}b=r[l+3>>0]|0;e=r[t>>0]|0;if(!(b<<24>>24))s=n[w+(e&255)>>0]|0;else s=d$(b,e)|0;switch(s|0){case 11:{l=t;u=69;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;u=55;break}case 29:{u=60;break i}case 24:case 22:break i;case 5:{u=63;break i}case 6:{u=64;break i}case 7:{u=66;break i}default:{u=68;break i}}}if((u|0)==60){k=e&255;if(!(1<<(k&31)&a[56940+((k>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=t;l=0;break A}}else if((u|0)==63){a[f>>2]=t;l=0;break A}else if((u|0)==64){if((c|0)<3){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==66){if((c|0)<4){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==68){a[f>>2]=t;l=0;break A}l=m$(A,l+4|0,i,f)|0;break A}case 75:{a[f>>2]=l;l=0;break A}}if((u|0)==69){a[f>>2]=l+2;l=2;break}t=l+2|0;if((k-t|0)>1){if((r[l+3>>0]|0)==0?(r[t>>0]|0)==62:0){a[f>>2]=l+4;l=4;break}a[f>>2]=t;l=0}else l=-1}else l=-1}while(0);return l|0}function I$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i;A:do{if((c-e|0)>1){if((r[e+1>>0]|0)==0?(r[e>>0]|0)==45:0){t=A+72|0;l=e+2|0;e:while(1){e=c-l|0;if((e|0)<=1){i=-1;break A}i=r[l+1>>0]|0;A=r[l>>0]|0;if(!(i<<24>>24))i=n[t+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|0){case 8:case 1:case 0:{b=16;break e}case 5:{l=l+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}l=l+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}l=l+4|0;continue e}case 27:{i=l+2|0;if((c-i|0)<=1){i=-1;break A}if(r[l+3>>0]|0){l=i;continue e}if((r[i>>0]|0)==45)break e;else{l=i;continue e}}default:{l=l+2|0;continue e}}}if((b|0)==16){a[f>>2]=l;i=0;break}i=l+4|0;if((c-i|0)<=1){i=-1;break}if((r[l+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=l+6;i=13;break}a[f>>2]=i;i=0;break}a[f>>2]=e;i=0}else i=-1}while(0);return i|0}function Z$(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>11){e=0;while(1){if((e|0)>=6){e=8;break}if(r[A+1>>0]|0){e=0;break}if((r[A>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+2|0}a[i>>2]=A}else e=-1;return e|0}function G$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;c=u-e|0;A:do{if((c|0)>1){i=r[e+1>>0]|0;if(!(i<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(i,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(i&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;b=e;e:while(1){i=b+2|0;l=u-i|0;if((l|0)<=1){i=-1;break A}t=r[b+3>>0]|0;c=r[i>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 27:case 26:case 25:case 24:case 22:{b=i;continue e}case 5:{w=22;break e}case 6:{w=23;break e}case 7:{w=25;break e}case 10:case 9:case 21:{w=27;break e}case 15:{w=46;break e}case 29:break;default:break e}b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){w=21;break}else b=i}if((w|0)==21){a[f>>2]=i;i=0;break}else if((w|0)==22){a[f>>2]=i;i=0;break}else if((w|0)==23){if((l|0)<3){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==25){if((l|0)<4){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==27){if(!(L$(e,i,o)|0)){a[f>>2]=i;i=0;break}c=b+4|0;e:while(1){t=u-c|0;if((t|0)<=1){i=-1;break A}i=r[c+1>>0]|0;l=r[c>>0]|0;if(!(i<<24>>24))i=n[s+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 8:case 1:case 0:{w=40;break e}case 5:{c=c+2|0;continue e}case 6:{if((t|0)<3){i=-2;break A}c=c+3|0;continue e}case 7:{if((t|0)<4){i=-2;break A}c=c+4|0;continue e}case 15:{i=c+2|0;if((u-i|0)<=1){i=-1;break A}if(r[c+3>>0]|0){c=i;continue e}if((r[i>>0]|0)==62){w=44;break e}else{c=i;continue e}}default:{c=c+2|0;continue e}}}if((w|0)==40){a[f>>2]=c;i=0;break}else if((w|0)==44){a[f>>2]=c+4;i=a[o>>2]|0;break}}else if((w|0)==46){if(!(L$(e,i,o)|0)){a[f>>2]=i;i=0;break}i=b+4|0;if((u-i|0)<=1){i=-1;break}if((r[b+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=b+6;i=a[o>>2]|0;break}}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function Q$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){c=A+2|0;e=i-c|0;if((e|0)<=1){i=-1;break A}l=r[A+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))b=n[s+(t&255)>>0]|0;else b=d$(l,t)|0;switch(b|0){case 23:case 27:case 26:case 25:case 24:case 22:{A=c;continue e}case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 10:case 9:case 21:{l=27;break e}case 11:{l=34;break e}case 29:break;default:{l=35;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}else A=c}if((l|0)==21){a[f>>2]=c;i=0;break}else if((l|0)==22){a[f>>2]=c;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==27){e:while(1){b=c+2|0;if((i-b|0)<=1){i=-1;break A}l=r[c+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 21:{c=b;l=27;break}case 11:{l=32;break e}default:{l=33;break e}}}if((l|0)==32){a[f>>2]=c+4;i=5;break}else if((l|0)==33){a[f>>2]=b;i=0;break}}else if((l|0)==34){a[f>>2]=A+4;i=5;break}else if((l|0)==35){a[f>>2]=c;i=0;break}}else i=-1}while(0);return i|0}function m$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;a[h>>2]=e;d=i;u=A+72|0;l=0;A:while(1){e:while(1){s=d-e|0;if((s|0)<=1){e=-1;break A}t=r[e+1>>0]|0;c=r[e>>0]|0;if(!(t<<24>>24))b=n[u+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{o=11;break A}case 6:{o=12;break A}case 7:{o=14;break A}case 23:{o=16;break e}case 10:case 9:case 21:{o=31;break e}case 14:{o=37;break e}case 29:{w=c&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){o=9;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=89;break A}}w=e+2|0;a[h>>2]=w;e=w}e:do{if((o|0)==16){o=0;if(l|0){o=17;break A}l=e+2|0;a[h>>2]=l;t=l;c=d-t|0;if((c|0)<=1){e=-1;break A}b=r[e+3>>0]|0;s=r[l>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=25;break A}case 6:{o=26;break A}case 7:{o=28;break A}case 24:case 22:{l=1;break e}case 29:break;default:{o=30;break A}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=24;break A}else l=1}else if((o|0)==31)while(1){o=0;t=e+2|0;a[h>>2]=t;c=t;if((d-c|0)<=1){e=-1;break A}e=r[e+3>>0]|0;l=r[t>>0]|0;if(!(e<<24>>24))e=n[u+(l&255)>>0]|0;else e=d$(e,l)|0;switch(e|0){case 14:{e=t;o=37;break e}case 9:case 10:case 21:{e=t;o=31;break}default:{o=36;break A}}}}while(0);e:do{if((o|0)==37){while(1){o=0;c=e+2|0;a[h>>2]=c;b=c;if((d-b|0)<=1){e=-1;break A}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))s=n[u+(t&255)>>0]|0;else s=d$(l,t)|0;if((s|1|0)==13)break;switch(s|0){case 9:case 10:case 21:{e=c;o=37;break}default:{o=43;break A}}}e=e+4|0;a[h>>2]=e;i:while(1){c=d-e|0;if((c|0)<=1){e=-1;break A}l=r[e+1>>0]|0;t=r[e>>0]|0;if(!(l<<24>>24))l=n[u+(t&255)>>0]|0;else l=d$(l,t)|0;if((l|0)==(s|0))break;switch(l|0){case 8:case 1:case 0:{o=56;break A}case 2:{o=61;break A}case 5:{w=e+2|0;a[h>>2]=w;e=w;continue i}case 6:{if((c|0)<3){e=-2;break A}w=e+3|0;a[h>>2]=w;e=w;continue i}case 7:{if((c|0)<4){e=-2;break A}w=e+4|0;a[h>>2]=w;e=w;continue i}case 3:{e=B$(A,e+2|0,i,h)|0;if((e|0)<1){o=59;break A}e=a[h>>2]|0;continue i}default:{w=e+2|0;a[h>>2]=w;e=w;continue i}}}t=e+2|0;a[h>>2]=t;b=t;if((d-b|0)<=1){e=-1;break A}l=r[e+3>>0]|0;c=r[t>>0]|0;if(!(l<<24>>24))l=n[u+(c&255)>>0]|0;else l=d$(l,c)|0;switch(l|0){case 11:{o=81;break A}case 17:{o=82;break A}case 10:case 9:case 21:{e=t;break}default:{o=68;break A}}i:while(1){t=e+2|0;a[h>>2]=t;l=t;c=d-l|0;if((c|0)<=1){e=-1;break A}b=r[e+3>>0]|0;s=r[t>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=76;break A}case 6:{o=77;break A}case 7:{o=79;break A}case 11:{o=81;break A}case 17:{o=82;break A}case 24:case 22:{l=0;break e}case 10:case 9:case 21:{e=t;break}case 29:break i;default:{o=87;break A}}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=75;break A}else l=0}}while(0);e=e+4|0;a[h>>2]=e}switch(o|0){case 9:{a[f>>2]=e;e=0;break}case 11:{a[f>>2]=e;e=0;break}case 12:{if((s|0)<3)e=-2;else{a[f>>2]=e;e=0}break}case 14:{if((s|0)<4)e=-2;else{a[f>>2]=e;e=0}break}case 17:{a[f>>2]=e;e=0;break}case 24:{a[f>>2]=l;e=0;break}case 25:{a[f>>2]=l;e=0;break}case 26:{if((c|0)<3)e=-2;else{a[f>>2]=l;e=0}break}case 28:{if((c|0)<4)e=-2;else{a[f>>2]=l;e=0}break}case 30:{a[f>>2]=t;e=0;break}case 36:{a[f>>2]=c;e=0;break}case 43:{a[f>>2]=b;e=0;break}case 56:{a[f>>2]=e;e=0;break}case 59:{if(!e){a[f>>2]=a[h>>2];e=0}break}case 61:{a[f>>2]=e;e=0;break}case 68:{a[f>>2]=b;e=0;break}case 75:{a[f>>2]=t;e=0;break}case 76:{a[f>>2]=t;e=0;break}case 77:{if((c|0)<3)e=-2;else{a[f>>2]=t;e=0}break}case 79:{if((c|0)<4)e=-2;else{a[f>>2]=t;e=0}break}case 81:{a[f>>2]=e+4;e=1;break}case 82:{l=t+2|0;a[h>>2]=l;e=l;if((d-e|0)>1){if((r[t+3>>0]|0)==0?(r[l>>0]|0)==62:0){a[f>>2]=t+4;e=3;break}a[f>>2]=e;e=0}else e=-1;break}case 87:{a[f>>2]=l;e=0;break}case 89:{a[f>>2]=e;e=0;break}}k=B;return e|0}function L$(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==6?(r[A+1>>0]|0)==0:0){switch(r[A>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}if(!(r[A+3>>0]|0)){switch(r[A+2>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}if(!(r[A+5>>0]|0)){switch(r[A+4>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}else e=1}else e=1}while(0);return e|0}function W$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0;b=e+72|0;A:while(1){e:while(1){c=f-i|0;if((c|0)<=1){i=-1;break A}e=r[i+1>>0]|0;t=r[i>>0]|0;if(!(e<<24>>24))e=n[b+(t&255)>>0]|0;else e=d$(e,t)|0;switch(e|0){case 8:case 1:case 0:{s=10;break A}case 6:{s=9;break e}case 7:{s=19;break e}case 5:{i=i+2|0;continue e}case 13:case 12:{t=i+2|0;if((e|0)==(A|0)){s=12;break A}else{i=t;continue e}}default:{i=i+2|0;continue e}}}if((s|0)==9){s=0;if((c|0)<3){i=-2;break}else{i=i+3|0;continue}}else if((s|0)==19){s=0;if((c|0)<4){i=-2;break}else{i=i+4|0;continue}}}A:do{if((s|0)==10){a[l>>2]=i;i=0}else if((s|0)==12)if((f-t|0)>1){a[l>>2]=t;f=r[i+3>>0]|0;i=r[t>>0]|0;if(!(f<<24>>24))i=n[b+(i&255)>>0]|0;else i=d$(f,i)|0;switch(i|0){case 20:case 30:case 11:case 10:case 9:case 21:{i=27;break A}default:{}}i=0}else i=-27}while(0);return i|0}function y$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;A:do{if((b-e|0)>1){l=r[e+1>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e>>0]|0)>>0]|0;else l=d$(l,r[e>>0]|0)|0;switch(l|0){case 27:{l=I$(A,e+2|0,i,f)|0;break A}case 20:{a[f>>2]=e+2;l=33;break A}case 24:case 22:{c=A+72|0;e:while(1){t=e+2|0;i=b-t|0;if((i|0)<=1){l=-1;break A}l=r[e+3>>0]|0;A=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 22:{e=t;break}case 30:{s=15;break e}case 10:case 9:case 21:break e;default:{s=22;break e}}}if((s|0)==22){a[f>>2]=t;l=0;break A}e:do{if((s|0)==15){if((i|0)<=3){l=-1;break A}A=r[e+5>>0]|0;l=r[e+4>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=t;l=0;break A}}while(0);a[f>>2]=t;l=16;break A}default:{a[f>>2]=e;l=0;break A}}}else l=-1}while(0);return l|0}function z$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}A=A+72|0;b=e;e:while(1){l=b;b=b+2|0;e=i-b|0;if((e|0)<=1){i=-20;break A}l=r[l+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))c=n[A+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:continue e;case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=27;break e}case 29:break;default:{l=28;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}}if((l|0)==21){a[f>>2]=b;i=0;break}else if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==27){a[f>>2]=b;i=20;break}else if((l|0)==28){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function Y$(A,e,i){A=A|0;e=e|0;i=i|0;i=D$(i)|0;if((i|0)==-1)i=0;else{r[A+69>>0]=i;a[A>>2]=67;a[A+4>>2]=68;a[A+48>>2]=31;a[A+72>>2]=e;a[e>>2]=A;i=1}return i|0}function D$(A){A=A|0;var e=0;A:do{if(!A)e=6;else{e=0;while(1){if((e|0)>=6){e=-1;break A}if(o0(A,a[60068+(e<<2)>>2]|0)|0)break A;e=e+1|0}}}while(0);return e|0}function M$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(58948,A,0,e,i,r)|0}function F$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(58948,A,1,e,i,r)|0}function V$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;Qq(58584,e,i,r);return}function J$(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0;A:do{if(f>>>0>>0){s=a[e+72>>2]|0;t=f+1|0;e:do{if((t|0)==(n|0)){t=r[e+69>>0]|0;if(((t<<24>>24)+-3|0)>>>0<3){t=-1;break A}switch(r[f>>0]|0){case 60:case 0:{t=-1;break A}case-17:case-1:case-2:break;default:break e}if(!((i|0)==1&t<<24>>24==0)){t=-1;break A}}else{b=r[f>>0]|0;t=r[t>>0]|0;c=((b&255)<<8|t&255)&65535;i:do{if(c<<16>>16<-2){if(c<<16>>16>=-257){switch(c<<16>>16){case-257:break;default:break i}if((i|0)==1&(r[e+69>>0]|0)==0)break e;a[l>>2]=f+2;a[s>>2]=a[A+16>>2];t=14;break A}switch(c<<16>>16){case-4165:break;default:break i}if((i|0)==1)switch(r[e+69>>0]|0){case 0:case 3:case 4:case 5:break e;default:{}}t=f+2|0;if((t|0)==(n|0)){t=-1;break A}if((r[t>>0]|0)!=-65)break e;a[l>>2]=f+3;a[s>>2]=a[A+8>>2];t=14;break A}else{if(c<<16>>16<15360){switch(c<<16>>16){case-2:break;default:break i}if((i|0)==1&(r[e+69>>0]|0)==0)break e;a[l>>2]=f+2;a[s>>2]=a[A+20>>2];t=14;break A}switch(c<<16>>16){case 15360:break;default:break i}t=r[e+69>>0]|0;if(t<<24>>24==4){if((i|0)==1)break e}else if((i|0)==1&t<<24>>24==3)break e;t=a[A+20>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}}while(0);if(b<<24>>24){if((i|0)==1|t<<24>>24!=0)break;t=a[A+20>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}if((i|0)==1?(r[e+69>>0]|0)==5:0)break;t=a[A+16>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}}while(0);t=a[A+(r[e+69>>0]<<2)>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0}else t=-4}while(0);return t|0}function N$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){t=e;w=i-t|0;b=(w&1|0)==0;w=w&-2;s=(w|0)==0;w=b|s?i:e+w|0;if(b|s^1){i=r[e>>0]|0;if(!(i<<24>>24)){l=r[e+1>>0]|0;c=l;l=n[A+72+(l&255)>>0]|0}else{l=r[e+1>>0]|0;c=l;l=d$(i,l)|0}do{switch(l|0){case 12:{i=s0(12,A,e+2|0,w,f)|0;break A}case 13:{i=s0(13,A,e+2|0,w,f)|0;break A}case 2:{l=e+2|0;if((w-l|0)<=1){i=-1;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;switch(i|0){case 16:{i=w0(A,e+4|0,w,f)|0;break A}case 15:{i=l0(A,e+4|0,w,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;i=29;break A}default:{a[f>>2]=l;i=0;break A}}}case 9:{if((e+2|0)==(w|0)){a[f>>2]=w;i=-15;break A}else t=7;break}case 10:case 21:{t=7;break}case 30:{i=e0(A,e+2|0,w,f)|0;break A}case 35:{a[f>>2]=e+2;i=38;break A}case 20:{a[f>>2]=e+2;i=25;break A}case 4:{l=e+2|0;i=w-l|0;if((i|0)<=1){i=-26;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){if((i|0)<=3){i=-1;break A}if((r[e+4>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=e+6;i=34;break A}}a[f>>2]=l;i=26;break A}case 31:{a[f>>2]=e+2;i=23;break A}case 32:{l=e+2|0;if((w-l|0)<=1){i=-24;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;switch(i|0){case 33:{a[f>>2]=e+4;i=36;break A}case 15:{a[f>>2]=e+4;i=35;break A}case 34:{a[f>>2]=e+4;i=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;i=24;break A}default:{a[f>>2]=l;i=0;break A}}}case 36:{a[f>>2]=e+2;i=21;break A}case 11:{a[f>>2]=e+2;i=17;break A}case 19:{i=u0(A,e+2|0,w,f)|0;break A}case 5:{if((w-t|0)<2){i=-2;break A}a[f>>2]=e;i=0;break A}case 6:{if((w-t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((w-t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 24:case 22:{i=18;t=61;break}case 23:case 27:case 26:case 25:{i=19;t=61;break}case 29:{t=i&255;l=c&255;i=l>>>5;l=1<<(l&31);if(!(l&a[56940+((i|n[143788+t>>0]<<3)<<2)>>2]))if(!(a[56940+((n[144044+t>>0]<<3|i)<<2)>>2]&l))t=64;else{i=19;t=61}else{i=18;t=61}break}default:t=64}}while(0);if((t|0)==7){b=w;A=A+72|0;c=e;e:while(1){t=c;c=c+2|0;if((b-c|0)<=1){t=28;break}i=r[c>>0]|0;l=r[t+3>>0]|0;if(!(i<<24>>24))i=n[A+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 21:continue e;case 9:break;default:{t=27;break e}}if((t+4|0)==(w|0)){t=27;break}}if((t|0)==27){a[f>>2]=c;i=15;break}else if((t|0)==28){a[f>>2]=c;i=15;break}}else if((t|0)==61){s=A+72|0;l=e+2|0;e:while(1){e=i&255;i:while(1){b=w-l|0;if((b|0)<=1){t=104;break e}t=r[l>>0]|0;c=r[l+1>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 5:{t=73;break e}case 6:{t=74;break e}case 7:{t=76;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{t=78;break e}case 34:{t=94;break e}case 33:{t=97;break e}case 15:{t=100;break e}case 29:{b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){t=71;break e}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{b=l+2|0;switch(e&63){case 41:{i=19;l=b;continue e}case 18:break i;default:{l=b;continue i}}}default:{t=103;break e}}l=l+2|0}A=w-b|0;if((A|0)<=1){i=-1;break A}i=r[b>>0]|0;t=r[l+3>>0]|0;if(!(i<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(i,t)|0;switch(c|0){case 5:{t=89;break e}case 6:{t=90;break e}case 7:{t=92;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(i&255)>>0]<<3)<<2)>>2])){t=87;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{i=19;l=b;continue e}}i=41;l=l+4|0}switch(t|0){case 71:{a[f>>2]=l;i=0;break A}case 73:{a[f>>2]=l;i=0;break A}case 74:{if((b|0)<3){i=-2;break A}a[f>>2]=l;i=0;break A}case 76:{if((b|0)<4){i=-2;break A}a[f>>2]=l;i=0;break A}case 78:{a[f>>2]=l;break A}case 87:{a[f>>2]=b;i=0;break A}case 89:{a[f>>2]=b;i=0;break A}case 90:{if((A|0)<3){i=-2;break A}a[f>>2]=b;i=0;break A}case 92:{if((A|0)<4){i=-2;break A}a[f>>2]=b;i=0;break A}case 94:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=32;break A}case 97:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=31;break A}case 100:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=30;break A}case 103:{a[f>>2]=l;i=0;break A}case 104:{i=0-i|0;break A}}}else if((t|0)==64){a[f>>2]=e;i=0;break}}else i=-1}else i=-4}while(0);return i|0}function X$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+1>>0]|0)>>0]|0;else i=d$(i,r[e+1>>0]|0)|0;do{switch(i|0){case 2:{i=f0(A,e+2|0,t,f)|0;break A}case 3:{i=A0(A,e+2|0,t,f)|0;break A}case 9:{l=e+2|0;if((t-l|0)<=1){i=-3;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 4:{l=e+2|0;if((t-l|0)<=1){i=-5;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-5;break A}if((r[i>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=i;i=0;break A}else i=t}else i=t;break}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:{l=e+2|0;i=t}}}while(0);c=A+72|0;A=l;e:while(1){e=i-A|0;if((e|0)<=1){l=52;break}l=r[A>>0]|0;t=r[A+1>>0]|0;if(!(l<<24>>24))l=n[c+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{l=50;break e}case 5:{A=A+2|0;continue e}case 6:{if((e|0)<3){l=38;break e}A=A+3|0;continue e}case 7:{if((e|0)<4){l=41;break e}A=A+4|0;continue e}case 4:{if((e|0)<=3){l=50;break e}l=A+2|0;if(r[l>>0]|0){A=l;continue e}if((r[A+3>>0]|0)!=93){A=l;continue e}if((e|0)<=5){l=50;break e}t=A+4|0;if(r[t>>0]|0){A=l;continue e}if((r[A+5>>0]|0)==62){l=49;break e}else{A=l;continue e}}default:{A=A+2|0;continue e}}}if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==41){a[f>>2]=A;i=6;break}else if((l|0)==49){a[f>>2]=t;i=0;break}else if((l|0)==50){a[f>>2]=A;i=6;break}else if((l|0)==52){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function R$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+1>>0]|0)>>0]|0;else i=d$(i,r[e+1>>0]|0)|0;switch(i|0){case 4:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-1;break A}if((r[i>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=e+6;i=40;break A}}break}case 9:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;t=i;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;t=i;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;t=i;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:l=e+2|0}c=A+72|0;A=l;e:while(1){e=t-A|0;if((e|0)<=1){l=40;break}i=r[A>>0]|0;l=r[A+1>>0]|0;if(!(i<<24>>24))i=n[c+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 4:{l=38;break e}case 6:{if((e|0)<3){l=35;break e}else i=3;break}case 7:{if((e|0)<4){l=37;break e}else i=4;break}default:i=2}A=A+i|0}if((l|0)==35){a[f>>2]=A;i=6;break}else if((l|0)==37){a[f>>2]=A;i=6;break}else if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==40){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function H$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i-e|0;b=(b&1|0)==0?i:e+(b&-2)|0;c=A+72|0;t=0;i=e;A:while(1){l=b-i|0;if((l|0)<=1){i=-1;break}A=r[i>>0]|0;e=r[i+1>>0]|0;if(!(A<<24>>24))A=n[c+(e&255)>>0]|0;else A=d$(A,e)|0;switch(A|0){case 8:case 1:case 0:{s=12;break A}case 5:{l=t;i=i+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}l=t;i=i+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}l=t;i=i+4|0;t=l;continue A}case 2:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+3>>0]|0)!=33){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}l=(r[i+5>>0]|0)==91;t=t+(l&1)|0;i=l?i+6|0:A;continue A}case 4:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+3>>0]|0)!=93){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+5>>0]|0)!=62){l=t;i=A;t=l;continue A}i=i+6|0;if(!t){s=26;break A}t=t+-1|0;continue A}default:{l=t;i=i+2|0;t=l;continue A}}}if((s|0)==12){a[f>>2]=i;i=0}else if((s|0)==26){a[f>>2]=i;i=42}return i|0}function p$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=30;break}l=r[c>>0]|0;t=r[c+1>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 2:{t=14;break A}case 10:{t=15;break A}case 9:{t=18;break A}case 21:{t=25;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=A0(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14){a[f>>2]=c;l=0;break}else if((t|0)==15)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==18){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==25)if((c|0)==(e|0)){a[f>>2]=e+2;l=39;break}else{a[f>>2]=c;l=6;break}else if((t|0)==30){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function U$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=29;break}l=r[c>>0]|0;t=r[c+1>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 30:{t=14;break A}case 10:{t=17;break A}case 9:{t=20;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=A0(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14)if((c|0)==(e|0)){l=e0(A,e+2|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=c;l=6;break}else if((t|0)==17)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==20){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==29){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function x$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=7;break}if((a-A|0)<2){A=0;break}if(r[A>>0]|0){A=0;break}if((r[A+1>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+2|0}if((n|0)==7)A=(A|0)==(i|0)&1;return A|0}function T$(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=A+72|0;f=e;A:while(1){A=r[f>>0]|0;i=r[f+1>>0]|0;if(!(A<<24>>24))A=n[a+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 5:{A=2;break}case 6:{A=3;break}case 7:{A=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{A=2;break}default:break A}f=f+A|0}return f-e|0}function j$(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A:while(1){A=r[e>>0]|0;i=r[e+1>>0]|0;if(!(A<<24>>24))A=n[f+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 21:case 9:case 10:break;default:break A}e=e+2|0}return e|0}function S$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=A+72|0;w=0;u=0;A=1;A:while(1){s=e+2|0;l=r[s>>0]|0;c=l<<24>>24==0;t=e+3|0;b=r[t>>0]|0;if(c)l=n[k+(b&255)>>0]|0;else l=d$(l,b)|0;do{switch(l|0){case 5:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 6:{if(A|0){c=A;b=u;s=w;e=t;A=c;u=b;w=s;continue A}if((u|0)>=(i|0)){b=u;s=w;A=1;e=t;u=b;w=s;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;b=u;s=w;A=1;e=t;u=b;w=s;continue A}case 7:{if(!A)if((u|0)<(i|0)){a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;A=1}else A=1;b=u;s=w;e=e+4|0;u=b;w=s;continue A}case 24:case 22:case 29:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 12:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=12;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=12;A=2;e=s;u=b;continue A}if((w|0)!=12){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=12;u=u+1|0;A=0;e=s;continue A}case 13:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=13;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=13;A=2;e=s;u=b;continue A}if((w|0)!=13){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=13;u=u+1|0;A=0;e=s;continue A}case 3:{if((u|0)>=(i|0)){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}case 21:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}t=f+(u<<4)+12|0;if(!(r[t>>0]|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}do{if(c&(s|0)!=(a[f+(u<<4)+4>>2]|0)&b<<24>>24==32){l=r[e+4>>0]|0;A=r[e+5>>0]|0;if(!(l<<24>>24)){if(A<<24>>24==32)break;A=n[k+(A&255)>>0]|0}else A=d$(l,A)|0;if((A|0)!=(w|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}}}while(0);r[t>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 10:case 9:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 17:case 11:if((A|0)==2){c=u;b=w;A=2;e=s;u=c;w=b;continue A}else break A;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}}while(0)}return u|0}function P$(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+4|0;A:do{if(!(r[A>>0]|0))if((r[e+5>>0]|0)==120){e=e+6|0;A=0;while(1){e:while(1){if(!(r[e>>0]|0)){i=r[e+1>>0]|0;if(i<<24>>24==59){f=18;break A}i=i<<24>>24;switch(i|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break e}default:{}}}e=e+2|0}if((f|0)==8)A=i+-48|A<<4;else if((f|0)==9)A=(A<<4)+-55+i|0;else if((f|0)==10)A=(A<<4)+-87+i|0;if((A|0)<1114112)e=e+2|0;else{A=-1;f=19;break}}}else{e=A;A=0;f=13}else{i=A;A=0;e=-1;f=16}}while(0);while(1)if((f|0)==13){if(r[e>>0]|0){i=e;e=-1;f=16;continue}if((r[e+1>>0]|0)==59){f=18;continue}i=e;e=r[e+1>>0]|0;f=16;continue}else if((f|0)==16){A=(A*10|0)+-48+e|0;if((A|0)>=1114112){A=-1;f=19;continue}e=i+2|0;f=13;continue}else if((f|0)==18){A=gs(A)|0;f=19;continue}else if((f|0)==19)return A|0;return 0}function O$(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch((i-e|0)/2|0|0){case 2:{if((r[e+2>>0]|0)==0?(r[e+3>>0]|0)==116:0){if(!(r[e>>0]|0))A=r[e+1>>0]|0;else A=-1;A=(A|0)==108?60:(A|0)==103?62:0}else f=27;break}case 3:{if((((((r[e>>0]|0)==0?(r[e+1>>0]|0)==97:0)?(r[e+2>>0]|0)==0:0)?(r[e+3>>0]|0)==109:0)?(r[e+4>>0]|0)==0:0)?(r[e+5>>0]|0)==112:0)A=38;else f=27;break}case 4:{if(!(r[e>>0]|0))switch(r[e+1>>0]|0){case 113:{if(r[e+2>>0]|0){f=27;break A}if((r[e+3>>0]|0)!=117){f=27;break A}if(r[e+4>>0]|0){f=27;break A}if((r[e+5>>0]|0)!=111){f=27;break A}if(r[e+6>>0]|0){f=27;break A}if((r[e+7>>0]|0)==116){A=34;break A}else{f=27;break A}}case 97:{if(r[e+2>>0]|0){f=27;break A}if((r[e+3>>0]|0)!=112){f=27;break A}if(r[e+4>>0]|0){f=27;break A}if((r[e+5>>0]|0)!=111){f=27;break A}if(r[e+6>>0]|0){f=27;break A}if((r[e+7>>0]|0)==115){A=39;break A}else{f=27;break A}}default:{f=27;break A}}else f=27;break}default:f=27}}while(0);if((f|0)==27)A=0;return A|0}function K$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=A+72|0;b=f+4|0;while(1){if((i-e|0)<=1)break;A=r[e>>0]|0;l=r[e+1>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{a[b>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+2|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;t=e+2|0;if((i-t|0)>1){A=r[t>>0]|0;l=r[e+3>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;e=(A|0)==10?e+4|0:t}else e=t;a[b>>2]=-1;break}default:e=e+2|0}a[b>>2]=(a[b>>2]|0)+1}return}function _$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i+-2|0;c=A+72|0;A:while(1){l=e+2|0;if((b-l|0)<=1){i=1;break}i=r[l>>0]|0;t=i<<24>>24==0;A=r[e+3>>0]|0;if(t)i=n[c+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|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=l;continue A}case 21:if(t&A<<24>>24==9){s=12;break A}else{e=l;continue A}case 22:case 26:{if(!t){s=12;break A}if(A<<24>>24>=0){e=l;continue A}break}default:if(!t){s=12;break A}}switch(A<<24>>24|0){case 64:case 36:{e=l;break}default:{s=12;break A}}}if((s|0)==12){a[f>>2]=l;i=0}return i|0}function q$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[e>>2]|0;b=c+(i-c&-2)|0;s=b;w=l;A:while(1){if(c>>>0>=b>>>0){A=0;break}t=r[c+1>>0]|0;A=r[c>>0]|0;i=A&255;switch(A<<24>>24){case 0:{if(t<<24>>24>-1){A=a[f>>2]|0;if((A|0)==(l|0)){A=2;break A}a[f>>2]=A+1;r[A>>0]=t;A=c}else u=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{u=7;break}case-37:case-38:case-39:case-40:{A=a[f>>2]|0;if((w-A|0)<4){A=2;break A}if((s-c|0)<4){A=1;break A}k=t&255;t=(i<<2&12|k>>>6)+1|0;a[f>>2]=A+1;r[A>>0]=t>>>2|240;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>2&15|t<<4&48|128;A=c+2|0;t=n[c+3>>0]|0;i=(k<<4&48|t>>>6|r[A>>0]<<2&12|128)&255;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=i;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=t&63|128;break}default:{A=a[f>>2]|0;if((w-A|0)<3){A=2;break A}a[f>>2]=A+1;r[A>>0]=i>>>4|224;k=t&255;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2&60|128;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}}if((u|0)==7){u=0;A=a[f>>2]|0;if((w-A|0)<2){A=2;break}k=t&255;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2|192;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}c=A+2|0}a[e>>2]=c;return A|0}function $$(A,e,i,l,t){A=A|0;e=e|0;i=i|0;l=l|0;t=t|0;var c=0,b=0,s=0;c=a[e>>2]|0;s=i-c&-2;A=c+s|0;if((s|0)>(t-(a[l>>2]|0)|0)){b=A+-2|0;i=(r[b>>0]&-8)<<24>>24==-40;s=i&1;A=i?b:A}else s=0;i=c;while(1){c=i>>>0>>0;b=a[l>>2]|0;if(!(c&b>>>0>>0))break;c=((n[i>>0]|0)<<8|(n[i+1>>0]|0))&65535;a[l>>2]=b+2;f[b>>1]=c;b=(a[e>>2]|0)+2|0;a[e>>2]=b;i=b}return((b|0)!=(t|0)|c^1?s:2)|0}function A0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=i;c=s-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;A=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;A=0;break A}case 6:{if((c|0)<3){A=-2;break A}a[f>>2]=e;A=0;break A}case 7:{if((c|0)<4){A=-2;break A}a[f>>2]=e;A=0;break A}case 19:{A=i0(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;A=0;break A}}b=A+72|0;c=e;e:while(1){t=c+2|0;e=s-t|0;if((e|0)<=1){A=-1;break A}A=r[t>>0]|0;i=r[c+3>>0]|0;if(!(A<<24>>24))l=n[b+(i&255)>>0]|0;else l=d$(A,i)|0;switch(l|0){case 27:case 26:case 25:case 24:case 22:{c=t;continue e}case 5:{i=23;break e}case 6:{i=24;break e}case 7:{i=26;break e}case 18:{i=28;break e}case 29:break;default:{i=29;break e}}e=i&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(A&255)>>0]|0)<<3)<<2)>>2])){i=22;break}else c=t}if((i|0)==22){a[f>>2]=t;A=0;break}else if((i|0)==23){a[f>>2]=t;A=0;break}else if((i|0)==24){if((e|0)<3){A=-2;break}a[f>>2]=t;A=0;break}else if((i|0)==26){if((e|0)<4){A=-2;break}a[f>>2]=t;A=0;break}else if((i|0)==28){a[f>>2]=c+4;A=9;break}else if((i|0)==29){a[f>>2]=t;A=0;break}}else A=-1}while(0);return A|0}function e0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){b=A+2|0;e=i-b|0;if((e|0)<=1){i=-1;break A}l=r[b>>0]|0;t=r[A+3>>0]|0;if(!(l<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:{A=b;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else A=b}if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){a[f>>2]=b;i=0;break}else if((l|0)==24){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==26){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==28){a[f>>2]=A+4;i=28;break}else if((l|0)==29){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function i0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;b=i;A:do{if((b-e|0)>1){t=r[e>>0]|0;l=r[e+1>>0]|0;do{if(!(t<<24>>24))if(l<<24>>24==120){l=r0(A,e+2|0,i,f)|0;break A}else{l=n[A+72+(l&255)>>0]|0;break}else l=d$(t,l)|0}while(0);if((l|0)!=25){a[f>>2]=e;l=0;break}c=A+72|0;A=e;e:while(1){t=A+2|0;if((b-t|0)<=1){l=-1;break A}l=r[t>>0]|0;i=r[A+3>>0]|0;if(!(l<<24>>24))l=n[c+(i&255)>>0]|0;else l=d$(l,i)|0;switch(l|0){case 25:{A=t;break}case 18:{i=15;break e}default:{i=16;break e}}}if((i|0)==15){a[f>>2]=A+4;l=10;break}else if((i|0)==16){a[f>>2]=t;l=0;break}}else l=-1}while(0);return l|0}function r0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;A:do{if((i-e|0)>1){l=r[e>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+1>>0]|0)>>0]|0;else l=d$(l,r[e+1>>0]|0)|0;if((l&-2|0)!=24){a[f>>2]=e;i=0;break}c=A+72|0;e:while(1){t=e+2|0;if((i-t|0)<=1){i=-1;break A}l=r[t>>0]|0;A=r[e+3>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 25:{e=t;break}case 18:{l=13;break e}default:{l=14;break e}}}if((l|0)==13){a[f>>2]=e+4;i=10;break}else if((l|0)==14){a[f>>2]=t;i=0;break}}else i=-1}while(0);return i|0}function f0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=i;c=k-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{w=t&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;l=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;l=0;break A}case 6:{if((c|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 7:{if((c|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 16:{t=e+2|0;if((k-t|0)<=1){l=-1;break A}l=r[t>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+3>>0]|0)>>0]|0;else l=d$(l,r[e+3>>0]|0)|0;switch(l|0){case 27:{l=a0(A,e+4|0,i,f)|0;break A}case 20:{l=n0(e+4|0,i,f)|0;break A}default:{a[f>>2]=t;l=0;break A}}}case 15:{l=l0(A,e+2|0,i,f)|0;break A}case 17:{l=t0(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}w=A+72|0;s=0;l=e+2|0;e:while(1){i:while(1){t=k-l|0;if((t|0)<=1){l=-1;break A}c=r[l>>0]|0;b=r[l+1>>0]|0;if(!(c<<24>>24))e=n[w+(b&255)>>0]|0;else e=d$(c,b)|0;switch(e|0){case 5:{u=34;break e}case 6:{u=35;break e}case 7:{u=37;break e}case 10:case 9:case 21:{u=55;break e}case 11:{u=69;break e}case 17:break e;case 23:break i;case 29:{e=b&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(c&255)>>0]<<3)<<2)>>2])){u=32;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{u=75;break e}}l=l+2|0}if(s|0){u=40;break}e=l+2|0;s=k-e|0;if((s|0)<=1){l=-1;break A}t=r[e>>0]|0;c=r[l+3>>0]|0;if(!(t<<24>>24))b=n[w+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{u=49;break e}case 6:{u=50;break e}case 7:{u=52;break e}case 29:{s=c&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(t&255)>>0]<<3)<<2)>>2])){u=47;break e}break}case 24:case 22:break;default:{u=54;break e}}s=1;l=l+4|0}e:switch(u|0){case 32:{a[f>>2]=l;l=0;break A}case 34:{a[f>>2]=l;l=0;break A}case 35:{if((t|0)<3){l=-2;break A}a[f>>2]=l;l=0;break A}case 37:{if((t|0)<4){l=-2;break A}a[f>>2]=l;l=0;break A}case 40:{a[f>>2]=l;l=0;break A}case 47:{a[f>>2]=e;l=0;break A}case 49:{a[f>>2]=e;l=0;break A}case 50:{if((s|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 52:{if((s|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 54:{a[f>>2]=e;l=0;break A}case 55:{i:while(1){u=0;t=l+2|0;c=k-t|0;if((c|0)<=1){l=-1;break A}b=r[t>>0]|0;e=r[l+3>>0]|0;if(!(b<<24>>24))s=n[w+(e&255)>>0]|0;else s=d$(b,e)|0;switch(s|0){case 11:{l=t;u=69;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;u=55;break}case 29:{u=60;break i}case 24:case 22:break i;case 5:{u=63;break i}case 6:{u=64;break i}case 7:{u=66;break i}default:{u=68;break i}}}if((u|0)==60){k=e&255;if(!(1<<(k&31)&a[56940+((k>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=t;l=0;break A}}else if((u|0)==63){a[f>>2]=t;l=0;break A}else if((u|0)==64){if((c|0)<3){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==66){if((c|0)<4){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==68){a[f>>2]=t;l=0;break A}l=c0(A,l+4|0,i,f)|0;break A}case 75:{a[f>>2]=l;l=0;break A}}if((u|0)==69){a[f>>2]=l+2;l=2;break}t=l+2|0;if((k-t|0)>1){if((r[t>>0]|0)==0?(r[l+3>>0]|0)==62:0){a[f>>2]=l+4;l=4;break}a[f>>2]=t;l=0}else l=-1}else l=-1}while(0);return l|0}function a0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i;A:do{if((c-e|0)>1){if((r[e>>0]|0)==0?(r[e+1>>0]|0)==45:0){t=A+72|0;l=e+2|0;e:while(1){e=c-l|0;if((e|0)<=1){i=-1;break A}i=r[l>>0]|0;A=r[l+1>>0]|0;if(!(i<<24>>24))i=n[t+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|0){case 8:case 1:case 0:{b=16;break e}case 5:{l=l+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}l=l+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}l=l+4|0;continue e}case 27:{i=l+2|0;if((c-i|0)<=1){i=-1;break A}if(r[i>>0]|0){l=i;continue e}if((r[l+3>>0]|0)==45)break e;else{l=i;continue e}}default:{l=l+2|0;continue e}}}if((b|0)==16){a[f>>2]=l;i=0;break}i=l+4|0;if((c-i|0)<=1){i=-1;break}if((r[i>>0]|0)==0?(r[l+5>>0]|0)==62:0){a[f>>2]=l+6;i=13;break}a[f>>2]=i;i=0;break}a[f>>2]=e;i=0}else i=-1}while(0);return i|0}function n0(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>11){e=0;while(1){if((e|0)>=6){e=8;break}if(r[A>>0]|0){e=0;break}if((r[A+1>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+2|0}a[i>>2]=A}else e=-1;return e|0}function l0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;t=u-e|0;A:do{if((t|0)>1){c=r[e>>0]|0;if(!(c<<24>>24)){l=r[e+1>>0]|0;i=n[A+72+(l&255)>>0]|0}else{l=r[e+1>>0]|0;i=d$(c,l)|0}switch(i|0){case 29:{s=l&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;b=e;e:while(1){i=b+2|0;l=u-i|0;if((l|0)<=1){i=-1;break A}t=r[i>>0]|0;c=r[b+3>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 27:case 26:case 25:case 24:case 22:{b=i;continue e}case 5:{w=22;break e}case 6:{w=23;break e}case 7:{w=25;break e}case 10:case 9:case 21:{w=27;break e}case 15:{w=46;break e}case 29:break;default:break e}b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){w=21;break}else b=i}if((w|0)==21){a[f>>2]=i;i=0;break}else if((w|0)==22){a[f>>2]=i;i=0;break}else if((w|0)==23){if((l|0)<3){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==25){if((l|0)<4){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==27){if(!(b0(e,i,o)|0)){a[f>>2]=i;i=0;break}c=b+4|0;e:while(1){t=u-c|0;if((t|0)<=1){i=-1;break A}i=r[c>>0]|0;l=r[c+1>>0]|0;if(!(i<<24>>24))i=n[s+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 8:case 1:case 0:{w=40;break e}case 5:{c=c+2|0;continue e}case 6:{if((t|0)<3){i=-2;break A}c=c+3|0;continue e}case 7:{if((t|0)<4){i=-2;break A}c=c+4|0;continue e}case 15:{i=c+2|0;if((u-i|0)<=1){i=-1;break A}if(r[i>>0]|0){c=i;continue e}if((r[c+3>>0]|0)==62){w=44;break e}else{c=i;continue e}}default:{c=c+2|0;continue e}}}if((w|0)==40){a[f>>2]=c;i=0;break}else if((w|0)==44){a[f>>2]=c+4;i=a[o>>2]|0;break}}else if((w|0)==46){if(!(b0(e,i,o)|0)){a[f>>2]=i;i=0;break}i=b+4|0;if((u-i|0)<=1){i=-1;break}if((r[i>>0]|0)==0?(r[b+5>>0]|0)==62:0){a[f>>2]=b+6;i=a[o>>2]|0;break}}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function t0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){c=A+2|0;e=i-c|0;if((e|0)<=1){i=-1;break A}l=r[c>>0]|0;t=r[A+3>>0]|0;if(!(l<<24>>24))b=n[s+(t&255)>>0]|0;else b=d$(l,t)|0;switch(b|0){case 23:case 27:case 26:case 25:case 24:case 22:{A=c;continue e}case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 10:case 9:case 21:{l=27;break e}case 11:{l=34;break e}case 29:break;default:{l=35;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}else A=c}if((l|0)==21){a[f>>2]=c;i=0;break}else if((l|0)==22){a[f>>2]=c;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==27){e:while(1){b=c+2|0;if((i-b|0)<=1){i=-1;break A}l=r[b>>0]|0;t=r[c+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 21:{c=b;l=27;break}case 11:{l=32;break e}default:{l=33;break e}}}if((l|0)==32){a[f>>2]=c+4;i=5;break}else if((l|0)==33){a[f>>2]=b;i=0;break}}else if((l|0)==34){a[f>>2]=A+4;i=5;break}else if((l|0)==35){a[f>>2]=c;i=0;break}}else i=-1}while(0);return i|0}function c0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;a[h>>2]=e;d=i;u=A+72|0;l=0;A:while(1){e:while(1){s=d-e|0;if((s|0)<=1){e=-1;break A}t=r[e>>0]|0;c=r[e+1>>0]|0;if(!(t<<24>>24))b=n[u+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{o=11;break A}case 6:{o=12;break A}case 7:{o=14;break A}case 23:{o=16;break e}case 10:case 9:case 21:{o=31;break e}case 14:{o=37;break e}case 29:{w=c&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){o=9;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=89;break A}}w=e+2|0;a[h>>2]=w;e=w}e:do{if((o|0)==16){o=0;if(l|0){o=17;break A}l=e+2|0;a[h>>2]=l;t=l;c=d-t|0;if((c|0)<=1){e=-1;break A}b=r[l>>0]|0;s=r[e+3>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=25;break A}case 6:{o=26;break A}case 7:{o=28;break A}case 24:case 22:{l=1;break e}case 29:break;default:{o=30;break A}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=24;break A}else l=1}else if((o|0)==31)while(1){o=0;t=e+2|0;a[h>>2]=t;c=t;if((d-c|0)<=1){e=-1;break A}l=r[t>>0]|0;e=r[e+3>>0]|0;if(!(l<<24>>24))e=n[u+(e&255)>>0]|0;else e=d$(l,e)|0;switch(e|0){case 14:{e=t;o=37;break e}case 9:case 10:case 21:{e=t;o=31;break}default:{o=36;break A}}}}while(0);e:do{if((o|0)==37){while(1){o=0;c=e+2|0;a[h>>2]=c;b=c;if((d-b|0)<=1){e=-1;break A}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))s=n[u+(t&255)>>0]|0;else s=d$(l,t)|0;if((s|1|0)==13)break;switch(s|0){case 9:case 10:case 21:{e=c;o=37;break}default:{o=43;break A}}}e=e+4|0;a[h>>2]=e;i:while(1){c=d-e|0;if((c|0)<=1){e=-1;break A}l=r[e>>0]|0;t=r[e+1>>0]|0;if(!(l<<24>>24))l=n[u+(t&255)>>0]|0;else l=d$(l,t)|0;if((l|0)==(s|0))break;switch(l|0){case 8:case 1:case 0:{o=56;break A}case 2:{o=61;break A}case 5:{w=e+2|0;a[h>>2]=w;e=w;continue i}case 6:{if((c|0)<3){e=-2;break A}w=e+3|0;a[h>>2]=w;e=w;continue i}case 7:{if((c|0)<4){e=-2;break A}w=e+4|0;a[h>>2]=w;e=w;continue i}case 3:{e=A0(A,e+2|0,i,h)|0;if((e|0)<1){o=59;break A}e=a[h>>2]|0;continue i}default:{w=e+2|0;a[h>>2]=w;e=w;continue i}}}t=e+2|0;a[h>>2]=t;b=t;if((d-b|0)<=1){e=-1;break A}l=r[t>>0]|0;c=r[e+3>>0]|0;if(!(l<<24>>24))l=n[u+(c&255)>>0]|0;else l=d$(l,c)|0;switch(l|0){case 11:{o=81;break A}case 17:{o=82;break A}case 10:case 9:case 21:{e=t;break}default:{o=68;break A}}i:while(1){t=e+2|0;a[h>>2]=t;l=t;c=d-l|0;if((c|0)<=1){e=-1;break A}b=r[t>>0]|0;s=r[e+3>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=76;break A}case 6:{o=77;break A}case 7:{o=79;break A}case 11:{o=81;break A}case 17:{o=82;break A}case 24:case 22:{l=0;break e}case 10:case 9:case 21:{e=t;break}case 29:break i;default:{o=87;break A}}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=75;break A}else l=0}}while(0);e=e+4|0;a[h>>2]=e}switch(o|0){case 9:{a[f>>2]=e;e=0;break}case 11:{a[f>>2]=e;e=0;break}case 12:{if((s|0)<3)e=-2;else{a[f>>2]=e;e=0}break}case 14:{if((s|0)<4)e=-2;else{a[f>>2]=e;e=0}break}case 17:{a[f>>2]=e;e=0;break}case 24:{a[f>>2]=l;e=0;break}case 25:{a[f>>2]=l;e=0;break}case 26:{if((c|0)<3)e=-2;else{a[f>>2]=l;e=0}break}case 28:{if((c|0)<4)e=-2;else{a[f>>2]=l;e=0}break}case 30:{a[f>>2]=t;e=0;break}case 36:{a[f>>2]=c;e=0;break}case 43:{a[f>>2]=b;e=0;break}case 56:{a[f>>2]=e;e=0;break}case 59:{if(!e){a[f>>2]=a[h>>2];e=0}break}case 61:{a[f>>2]=e;e=0;break}case 68:{a[f>>2]=b;e=0;break}case 75:{a[f>>2]=t;e=0;break}case 76:{a[f>>2]=t;e=0;break}case 77:{if((c|0)<3)e=-2;else{a[f>>2]=t;e=0}break}case 79:{if((c|0)<4)e=-2;else{a[f>>2]=t;e=0}break}case 81:{a[f>>2]=e+4;e=1;break}case 82:{l=t+2|0;a[h>>2]=l;e=l;if((d-e|0)>1){if((r[l>>0]|0)==0?(r[t+3>>0]|0)==62:0){a[f>>2]=t+4;e=3;break}a[f>>2]=e;e=0}else e=-1;break}case 87:{a[f>>2]=l;e=0;break}case 89:{a[f>>2]=e;e=0;break}}k=B;return e|0}function b0(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==6?(r[A>>0]|0)==0:0){switch(r[A+1>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}if(!(r[A+2>>0]|0)){switch(r[A+3>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}if(!(r[A+4>>0]|0)){switch(r[A+5>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}else e=1}else e=1}while(0);return e|0}function s0(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0;b=e+72|0;A:while(1){e:while(1){c=f-i|0;if((c|0)<=1){i=-1;break A}e=r[i>>0]|0;t=r[i+1>>0]|0;if(!(e<<24>>24))t=n[b+(t&255)>>0]|0;else t=d$(e,t)|0;switch(t|0){case 8:case 1:case 0:{s=10;break A}case 6:{s=9;break e}case 7:{s=19;break e}case 5:{i=i+2|0;continue e}case 13:case 12:{e=i+2|0;if((t|0)==(A|0)){s=12;break A}else{i=e;continue e}}default:{i=i+2|0;continue e}}}if((s|0)==9){s=0;if((c|0)<3){i=-2;break}else{i=i+3|0;continue}}else if((s|0)==19){s=0;if((c|0)<4){i=-2;break}else{i=i+4|0;continue}}}A:do{if((s|0)==10){a[l>>2]=i;i=0}else if((s|0)==12)if((f-e|0)>1){a[l>>2]=e;f=r[e>>0]|0;i=r[i+3>>0]|0;if(!(f<<24>>24))i=n[b+(i&255)>>0]|0;else i=d$(f,i)|0;switch(i|0){case 20:case 30:case 11:case 10:case 9:case 21:{i=27;break A}default:{}}i=0}else i=-27}while(0);return i|0}function w0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;A:do{if((b-e|0)>1){l=r[e>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+1>>0]|0)>>0]|0;else l=d$(l,r[e+1>>0]|0)|0;switch(l|0){case 27:{l=a0(A,e+2|0,i,f)|0;break A}case 20:{a[f>>2]=e+2;l=33;break A}case 24:case 22:{c=A+72|0;e:while(1){t=e+2|0;i=b-t|0;if((i|0)<=1){l=-1;break A}l=r[t>>0]|0;A=r[e+3>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 22:{e=t;break}case 30:{s=15;break e}case 10:case 9:case 21:break e;default:{s=22;break e}}}if((s|0)==22){a[f>>2]=t;l=0;break A}e:do{if((s|0)==15){if((i|0)<=3){l=-1;break A}A=r[e+4>>0]|0;l=r[e+5>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=t;l=0;break A}}while(0);a[f>>2]=t;l=16;break A}default:{a[f>>2]=e;l=0;break A}}}else l=-1}while(0);return l|0}function u0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}A=A+72|0;b=e;e:while(1){l=b;b=b+2|0;e=i-b|0;if((e|0)<=1){i=-20;break A}c=r[b>>0]|0;l=r[l+3>>0]|0;if(!(c<<24>>24))t=n[A+(l&255)>>0]|0;else t=d$(c,l)|0;switch(t|0){case 27:case 26:case 25:case 24:case 22:continue e;case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=27;break e}case 29:break;default:{l=28;break e}}e=l&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(c&255)>>0]|0)<<3)<<2)>>2])){l=21;break}}if((l|0)==21){a[f>>2]=b;i=0;break}else if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==27){a[f>>2]=b;i=20;break}else if((l|0)==28){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function k0(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;while(1){A=a[e>>2]|0;l=A>>>0>>0;t=a[f>>2]|0;if(!(l&t>>>0>>0))break;a[e>>2]=A+1;l=r[A>>0]|0;t=a[f>>2]|0;a[f>>2]=t+1;r[t>>0]=l}return((t|0)!=(n|0)|l^1?0:2)|0}function o0(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,n=0;A:while(1){a=r[A>>0]|0;n=r[e>>0]|0;a=(a+-97&255)<26?(a&255)+224&255:a;switch((a<<24>>24==((n+-97&255)<26?(n&255)+224&255:n)<<24>>24?a<<24>>24==0?2:0:1)&3){case 0:{e=e+1|0;A=A+1|0;break}case 1:{f=3;break A}case 2:{i=1;break A}default:{f=5;break A}}}if((f|0)==3)i=0;return i|0}function h0(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;return B0(39,A,e,i,r,f,a,n,l,t,c)|0}function d0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+144|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+127|0)|0;do{if((a[t>>2]|0)==(i|0)){r[a[n>>2]>>0]=0;if(o0(f,144315)|0?(a[A+64>>2]|0)==2:0)break;A=D$(f)|0;if((A|0)!=-1)A=a[58948+(A<<2)>>2]|0;else A=0}else A=0}while(0);k=l;return A|0}function B0(A,e,i,r,f,n,l,t,c,b,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;v=E+8|0;h=E+12|0;u=E+4|0;o=E;a[h>>2]=0;a[u>>2]=0;a[o>>2]=0;g=i+64|0;B=a[g>>2]|0;d=r+(B*5|0)|0;a[v>>2]=d;B=f+(0-(B<<1))|0;d=(v0(i,d,B,u,o,h,v)|0)!=0;w=a[u>>2]|0;r=w;A:do{if(d&(w|0)!=0){d=i+24|0;f=a[o>>2]|0;do{if(!(y5[a[d>>2]&127](i,w,f,144340)|0)){if(!e){a[n>>2]=r;r=0;break A}}else{if(l|0)a[l>>2]=a[h>>2];if(!t)r=a[v>>2]|0;else{r=a[v>>2]|0;a[t>>2]=r}if(!(v0(i,r,B,u,o,h,v)|0)){a[n>>2]=a[v>>2];r=0;break A}f=a[u>>2]|0;if(f|0){r=f;w=f;f=a[o>>2]|0;break}if(!e){r=1;break A}a[n>>2]=a[v>>2];r=0;break A}}while(0);if(y5[a[d>>2]&127](i,w,f,144348)|0){f=a[h>>2]|0;r=f;if((((g0(i,f,B)|0)&-33)+-65|0)>>>0>=26){a[n>>2]=r;r=0;break}if(c|0)a[c>>2]=r;r=a[v>>2]|0;if(b|0)a[b>>2]=W5[A&63](i,f,r+(0-(a[g>>2]|0))|0)|0;if(!(v0(i,r,B,u,o,h,v)|0)){a[n>>2]=a[v>>2];r=0;break}r=a[u>>2]|0;if(!r){r=1;break}w=r;f=a[o>>2]|0}if((e|0)!=0|(y5[a[d>>2]&127](i,w,f,144357)|0)==0){a[n>>2]=r;r=0;break}f=a[h>>2]|0;r=a[v>>2]|0;w=f;if(!(y5[a[d>>2]&127](i,f,r+(0-(a[g>>2]|0))|0,107657)|0)){if(!(y5[a[d>>2]&127](i,f,r+(0-(a[g>>2]|0))|0,107649)|0)){a[n>>2]=w;r=0;break}if(s)a[s>>2]=0}else if(s)a[s>>2]=1;while(1){if(!(E0(g0(i,r,B)|0)|0))break;r=r+(a[g>>2]|0)|0}a[v>>2]=r;if((r|0)==(B|0))r=1;else{a[n>>2]=r;r=0}}else{a[n>>2]=a[v>>2];r=0}}while(0);k=E;return r|0}function v0(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0;A:do{if((e|0)!=(i|0)){if(!(E0(g0(A,e,i)|0)|0)){a[l>>2]=e;e=0;break}c=A+64|0;do{e=e+(a[c>>2]|0)|0}while((E0(g0(A,e,i)|0)|0)!=0);if((e|0)==(i|0)){a[r>>2]=0;e=1;break}a[r>>2]=e;e:while(1){t=g0(A,e,i)|0;switch(t|0){case-1:{t=11;break e}case 61:{t=12;break e}default:{}}if(E0(t)|0){t=14;break}e=e+(a[c>>2]|0)|0}if((t|0)==11){a[l>>2]=e;e=0;break}else if((t|0)==12)a[f>>2]=e;else if((t|0)==14){a[f>>2]=e;do{e=e+(a[c>>2]|0)|0;t=g0(A,e,i)|0}while((E0(t)|0)!=0);if((t|0)!=61){a[l>>2]=e;e=0;break}}if((e|0)==(a[r>>2]|0)){a[l>>2]=e;e=0;break}do{e=e+(a[c>>2]|0)|0;t=g0(A,e,i)|0}while((E0(t)|0)!=0);switch(t|0){case 34:case 39:break;default:{a[l>>2]=e;e=0;break A}}f=e+(a[c>>2]|0)|0;a[n>>2]=f;e=t<<24>>24;e:while(1){t=g0(A,f,i)|0;if((t|0)==(e|0)){t=30;break}if((t+-48|0)>>>0>9&((t&-33)+-65|0)>>>0>25)switch(t|0){case 45:case 46:case 95:break;default:{t=28;break e}}f=f+(a[c>>2]|0)|0}if((t|0)==28){a[l>>2]=f;e=0;break}else if((t|0)==30){a[l>>2]=f+(a[c>>2]|0);e=1;break}}else{a[r>>2]=0;e=1}}while(0);return e|0}function g0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+16|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+1|0)|0;k=l;return((a[n>>2]|0)==(f|0)?-1:r[f>>0]|0)|0}function E0(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 C0(){return 60092}function I0(A,e,i){A=A|0;e=e|0;i=i|0;i=D$(i)|0;if((i|0)==-1)i=0;else{r[A+69>>0]=i;a[A>>2]=69;a[A+4>>2]=70;a[A+48>>2]=31;a[A+72>>2]=e;a[e>>2]=A;i=1}return i|0}function Z0(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(60456,A,0,e,i,r)|0}function G0(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(60456,A,1,e,i,r)|0}function Q0(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;return B0(40,A,e,i,r,f,a,n,l,t,c)|0}function m0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+144|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+127|0)|0;do{if((a[t>>2]|0)==(i|0)){r[a[n>>2]>>0]=0;if(o0(f,144315)|0?(a[A+64>>2]|0)==2:0)break;A=D$(f)|0;if((A|0)!=-1)A=a[60456+(A<<2)>>2]|0;else A=0}else A=0}while(0);k=l;return A|0}function L0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;A=vs(A,e,i,f)|0;if(A|0)r[A+72+58>>0]=23;return A|0}function W0(A){A=A|0;a[A>>2]=15;a[A+16>>2]=1;a[A+12>>2]=0;a[A+20>>2]=0;return}function y0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{a[A>>2]=16;A=0;break}case 12:{a[A>>2]=16;A=1;break}case 11:{a[A>>2]=16;A=55;break}case 13:{a[A>>2]=16;A=56;break}case 14:{A=0;break}case 16:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]<<1)|0,r,144368)|0))n=9;else{a[A>>2]=17;A=3}break}case 29:{a[A>>2]=18;A=2;break}default:n=9}if((n|0)==9)A=M0(A,e)|0;return A|0}function z0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 14:case 15:{A=0;break}case 11:{A=55;break}case 13:{A=56;break}case 16:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]<<1)|0,r,144368)|0))n=7;else{a[A>>2]=17;A=3}break}case 29:{a[A>>2]=18;A=2;break}default:n=7}if((n|0)==7)A=M0(A,e)|0;return A|0}function Y0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 41:case 18:{a[A>>2]=19;A=4;break}default:A=M0(A,e)|0}return A|0}function D0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function M0(A,e){A=A|0;e=e|0;if((e|0)==28&(a[A+16>>2]|0)==0)A=59;else{a[A>>2]=18;A=-1}return A|0}function F0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=3;break}case 25:{a[A>>2]=20;A=7;break}case 17:{a[A>>2]=21;A=8;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=22;A=3;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=8;else{a[A>>2]=23;A=3}break}default:l=8}}while(0);if((l|0)==8)A=M0(A,e)|0;return A|0}function V0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;A:do{switch(e|0){case-4:case 15:{A=0;break}case 16:{n=f+24|0;l=f+64|0;if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144390)|0){a[A>>2]=24;A=11;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144397)|0){a[A>>2]=25;A=33;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144405)|0){a[A>>2]=26;A=39;break A}if(!(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144413)|0))t=14;else{a[A>>2]=27;A=17}break}case 11:{A=55;break}case 13:{A=56;break}case 28:{A=60;break}case 26:{a[A>>2]=28;A=3;break}default:t=14}}while(0);if((t|0)==14)A=M0(A,e)|0;return A|0}function J0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;f=e+-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:{a[A>>2]=18;A=2;break}default:A=M0(A,e)|0}return A|0}function N0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 27:{a[A>>2]=29;A=5;break}default:A=M0(A,e)|0}return A|0}function X0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 27:{a[A>>2]=22;A=6;break}default:A=M0(A,e)|0}return A|0}function R0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 25:{a[A>>2]=20;A=7;break}case 17:{a[A>>2]=21;A=8;break}default:A=M0(A,e)|0}return A|0}function H0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 22:{a[A>>2]=30;A=11;break}case 18:{a[A>>2]=31;A=9;break}default:A=M0(A,e)|0}return A|0}function p0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 41:case 18:{a[A>>2]=32;A=34;break}default:A=M0(A,e)|0}return A|0}function U0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 41:case 18:{a[A>>2]=33;A=40;break}default:A=M0(A,e)|0}return A|0}function x0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 18:{a[A>>2]=34;A=18;break}default:A=M0(A,e)|0}return A|0}function T0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 17:{a[A>>2]=21;A=8;break}default:A=M0(A,e)|0}return A|0}function j0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=17;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=35;A=17;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=6;else{a[A>>2]=36;A=17}break}default:l=6}}while(0);if((l|0)==6)A=M0(A,e)|0;return A|0}function S0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=37;a[A+8>>2]=17;A=19;break}default:A=M0(A,e)|0}return A|0}function P0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=38;A=21;break}default:A=M0(A,e)|0}return A|0}function O0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=37;a[A+8>>2]=17;A=19;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=20;break}default:A=M0(A,e)|0}return A|0}function K0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=a[A+8>>2]|0;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=a[A+8>>2]|0;break}default:A=M0(A,e)|0}return A|0}function _0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 33:{a[A>>2]=40;i=0;break}case 34:{i=A+12|0;r=a[i>>2]|0;if(!r)n=7;else{a[i>>2]=r+-1;i=0}break}case 15:{i=0;break}case 26:{n=7;break}case-4:{if(!(a[A+12>>2]|0))i=0;else n=7;break}default:i=V0(A,e,i,r,f)|0}if((n|0)==7)i=M0(A,e)|0;return i|0}function q0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=0;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144422)|0){a[A>>2]=41;A=0;break A}if(!(y5[a[n>>2]&127](f,i,r,144430)|0))l=6;else{a[A>>2]=42;A=0}break}default:l=6}}while(0);if((l|0)==6)A=M0(A,e)|0;return A|0}function $0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=0;break}case 25:{a[A>>2]=39;A=A+12|0;a[A>>2]=(a[A>>2]|0)+1;A=0;break}default:A=M0(A,e)|0}return A|0}function A2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=0;break}case 25:{a[A>>2]=39;A=58;break}default:A=M0(A,e)|0}return A|0}function e2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=39;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144437)|0){a[A>>2]=37;a[A+8>>2]=39;A=42;break A}if(!(y5[a[n>>2]&127](f,i,r,144443)|0))l=7;else{a[A>>2]=37;a[A+8>>2]=39;A=41}break}case 23:{a[A>>2]=43;a[A+4>>2]=1;A=44;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function i2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{A=39;break}case 20:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]|0)|0,r,144447)|0))n=9;else{a[A>>2]=44;A=43}break}case 23:{a[A+4>>2]=2;a[A>>2]=45;A=44;break}case 41:case 18:{a[A>>2]=46;A=51;break}case 30:{a[A>>2]=46;A=53;break}case 31:{a[A>>2]=46;A=52;break}case 32:{a[A>>2]=46;A=54;break}default:n=9}if((n|0)==9)A=M0(A,e)|0;return A|0}function r2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 24:{a[A>>2]=37;a[A+8>>2]=39;A=45;break}case 36:{a[A>>2]=37;a[A+8>>2]=39;A=46;break}case 21:{a[A>>2]=47;A=39;break}default:A=M0(A,e)|0}return A|0}function f2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 23:{A=A+4|0;a[A>>2]=(a[A>>2]|0)+1;A=44;break}case 41:case 18:{a[A>>2]=46;A=51;break}case 30:{a[A>>2]=46;A=53;break}case 31:{a[A>>2]=46;A=52;break}case 32:{a[A>>2]=46;A=54;break}default:A=M0(A,e)|0}return A|0}function a2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 24:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=45}else A=45;break}case 36:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=46}else A=46;break}case 35:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=47}else A=47;break}case 37:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=48}else A=48;break}case 38:{a[A>>2]=45;A=50;break}case 21:{a[A>>2]=45;A=49;break}default:A=M0(A,e)|0}return A|0}function n2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 41:case 18:{a[A>>2]=48;A=51;break}default:A=M0(A,e)|0}return A|0}function l2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 36:{a[A>>2]=37;a[A+8>>2]=39;A=46;break}case 21:{a[A>>2]=47;A=39;break}default:A=M0(A,e)|0}return A|0}function t2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=33;break}case 41:case 18:{a[A>>2]=49;A=22;break}default:A=M0(A,e)|0}return A|0}function c2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;A:do{switch(e|0){case 15:{n=33;break}case 18:{l=f+24|0;n=0;while(1){t=a[l>>2]|0;if((n|0)>=8)break;if(y5[t&127](f,i,r,a[62304+(n<<2)>>2]|0)|0){c=6;break}n=n+1|0}if((c|0)==6){a[A>>2]=50;n=n+23|0;break A}if(!(y5[t&127](f,i,r,144413)|0))c=10;else{a[A>>2]=51;n=33}break}case 23:{a[A>>2]=52;n=33;break}default:c=10}}while(0);if((c|0)==10)n=M0(A,e)|0;return n|0}function b2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;A:do{switch(e|0){case 15:{A=33;break}case 20:{n=f+24|0;l=f+64|0;if(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144454)|0){a[A>>2]=32;A=35;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144462)|0){a[A>>2]=32;A=36;break A}if(!(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144471)|0))t=9;else{a[A>>2]=53;A=33}break}case 27:{a[A>>2]=32;A=37;break}default:t=9}}while(0);if((t|0)==9)A=M0(A,e)|0;return A|0}function s2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 23:{a[A>>2]=54;A=33;break}default:A=M0(A,e)|0}return A|0}function w2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 41:case 18:case 19:{a[A>>2]=55;A=31;break}default:A=M0(A,e)|0}return A|0}function u2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 24:{a[A>>2]=50;A=33;break}case 21:{a[A>>2]=52;A=33;break}default:A=M0(A,e)|0}return A|0}function k2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 18:{a[A>>2]=56;A=32;break}default:A=M0(A,e)|0}return A|0}function o2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 24:{a[A>>2]=50;A=33;break}case 21:{a[A>>2]=54;A=33;break}default:A=M0(A,e)|0}return A|0}function h2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 27:{a[A>>2]=32;A=38;break}default:A=M0(A,e)|0}return A|0}function d2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 18:{a[A>>2]=57;A=10;break}default:A=M0(A,e)|0}return A|0}function B2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=11;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=58;A=11;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=7;else{a[A>>2]=59;A=11}break}case 27:{a[A>>2]=37;a[A+8>>2]=11;A=12;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function v2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=60;A=13;break}default:A=M0(A,e)|0}return A|0}function g2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=58;A=14;break}default:A=M0(A,e)|0}return A|0}function E2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{A=11;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=15;break}case 18:{if(!(y5[a[f+24>>2]&127](f,i,r,144525)|0))n=5;else{a[A>>2]=61;A=11}break}default:n=5}if((n|0)==5)A=M0(A,e)|0;return A|0}function C2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 18:{a[A>>2]=37;a[A+8>>2]=11;A=16;break}default:A=M0(A,e)|0}return A|0}function I2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=11;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=62;A=11;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=7;else{a[A>>2]=63;A=11}break}case 27:{a[A>>2]=37;a[A+8>>2]=11;A=12;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function Z2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=64;A=13;break}default:A=M0(A,e)|0}return A|0}function G2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=62;A=14;break}default:A=M0(A,e)|0}return A|0}function Q2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=15;break}default:A=M0(A,e)|0}return A|0}function m2(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+16|0;o=I;do{if(A>>>0<245){s=A>>>0<11?16:A+11&-8;A=s>>>3;u=a[47519]|0;i=u>>>A;if(i&3|0){e=(i&1^1)+A|0;A=190116+(e<<1<<2)|0;i=A+8|0;r=a[i>>2]|0;f=r+8|0;n=a[f>>2]|0;if((n|0)==(A|0))a[47519]=u&~(1<>2]=A;a[i>>2]=n}C=e<<3;a[r+4>>2]=C|3;C=r+C+4|0;a[C>>2]=a[C>>2]|1;C=f;k=I;return C|0}w=a[47521]|0;if(s>>>0>w>>>0){if(i|0){e=2<>>12&16;e=e>>>t;i=e>>>5&8;e=e>>>i;n=e>>>2&4;e=e>>>n;A=e>>>1&2;e=e>>>A;r=e>>>1&1;r=(i|t|n|A|r)+(e>>>r)|0;e=190116+(r<<1<<2)|0;A=e+8|0;n=a[A>>2]|0;t=n+8|0;i=a[t>>2]|0;if((i|0)==(e|0)){A=u&~(1<>2]=e;a[A>>2]=i;A=u}C=r<<3;l=C-s|0;a[n+4>>2]=s|3;f=n+s|0;a[f+4>>2]=l|1;a[n+C>>2]=l;if(w|0){r=a[47524]|0;e=w>>>3;i=190116+(e<<1<<2)|0;e=1<>2]|0}a[A>>2]=r;a[e+12>>2]=r;a[r+8>>2]=e;a[r+12>>2]=i}a[47521]=l;a[47524]=f;C=t;k=I;return C|0}c=a[47520]|0;if(c){i=(c&0-c)+-1|0;t=i>>>12&16;i=i>>>t;l=i>>>5&8;i=i>>>l;b=i>>>2&4;i=i>>>b;r=i>>>1&2;i=i>>>r;A=i>>>1&1;A=a[190380+((l|t|b|r|A)+(i>>>A)<<2)>>2]|0;i=(a[A+4>>2]&-8)-s|0;r=a[A+16+(((a[A+16>>2]|0)==0&1)<<2)>>2]|0;if(!r){b=A;l=i}else{do{t=(a[r+4>>2]&-8)-s|0;b=t>>>0>>0;i=b?t:i;A=b?r:A;r=a[r+16+(((a[r+16>>2]|0)==0&1)<<2)>>2]|0}while((r|0)!=0);b=A;l=i}t=b+s|0;if(t>>>0>b>>>0){f=a[b+24>>2]|0;e=a[b+12>>2]|0;do{if((e|0)==(b|0)){A=b+20|0;e=a[A>>2]|0;if(!e){A=b+16|0;e=a[A>>2]|0;if(!e){i=0;break}}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0;i=e}else{i=a[b+8>>2]|0;a[i+12>>2]=e;a[e+8>>2]=i;i=e}}while(0);do{if(f|0){e=a[b+28>>2]|0;A=190380+(e<<2)|0;if((b|0)==(a[A>>2]|0)){a[A>>2]=i;if(!i){a[47520]=c&~(1<>2]|0)!=(b|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=f;e=a[b+16>>2]|0;if(e|0){a[i+16>>2]=e;a[e+24>>2]=i}e=a[b+20>>2]|0;if(e|0){a[i+20>>2]=e;a[e+24>>2]=i}}}while(0);if(l>>>0<16){C=l+s|0;a[b+4>>2]=C|3;C=b+C+4|0;a[C>>2]=a[C>>2]|1}else{a[b+4>>2]=s|3;a[t+4>>2]=l|1;a[t+l>>2]=l;if(w|0){r=a[47524]|0;e=w>>>3;i=190116+(e<<1<<2)|0;e=1<>2]|0}a[A>>2]=r;a[e+12>>2]=r;a[r+8>>2]=e;a[r+12>>2]=i}a[47521]=l;a[47524]=t}C=b+8|0;k=I;return C|0}else w=s}else w=s}else w=s}else if(A>>>0<=4294967231){A=A+11|0;s=A&-8;b=a[47520]|0;if(b){r=0-s|0;A=A>>>8;if(A)if(s>>>0>16777215)c=31;else{u=(A+1048320|0)>>>16&8;E=A<>>16&4;E=E<>>16&2;c=14-(w|u|c)+(E<>>15)|0;c=s>>>(c+7|0)&1|c<<1}else c=0;i=a[190380+(c<<2)>>2]|0;A:do{if(!i){i=0;A=0;E=57}else{A=0;t=i;l=s<<((c|0)==31?0:25-(c>>>1)|0);i=0;while(1){f=(a[t+4>>2]&-8)-s|0;if(f>>>0>>0)if(!f){r=0;i=t;A=t;E=61;break A}else{A=t;r=f}f=a[t+20>>2]|0;t=a[t+16+(l>>>31<<2)>>2]|0;i=(f|0)==0|(f|0)==(t|0)?i:f;f=(t|0)==0;if(f){E=57;break}else l=l<<((f^1)&1)}}}while(0);if((E|0)==57){if((i|0)==0&(A|0)==0){A=2<>>12&16;u=u>>>t;l=u>>>5&8;u=u>>>l;c=u>>>2&4;u=u>>>c;w=u>>>1&2;u=u>>>w;i=u>>>1&1;A=0;i=a[190380+((l|t|c|w|i)+(u>>>i)<<2)>>2]|0}if(!i){t=A;l=r}else E=61}if((E|0)==61)while(1){E=0;w=(a[i+4>>2]&-8)-s|0;u=w>>>0>>0;r=u?w:r;A=u?i:A;i=a[i+16+(((a[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=A;l=r;break}else E=61}if((t|0)!=0?l>>>0<((a[47521]|0)-s|0)>>>0:0){n=t+s|0;if(n>>>0<=t>>>0){C=0;k=I;return C|0}f=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){A=t+20|0;e=a[A>>2]|0;if(!e){A=t+16|0;e=a[A>>2]|0;if(!e){e=0;break}}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0}else{C=a[t+8>>2]|0;a[C+12>>2]=e;a[e+8>>2]=C}}while(0);do{if(f){A=a[t+28>>2]|0;i=190380+(A<<2)|0;if((t|0)==(a[i>>2]|0)){a[i>>2]=e;if(!e){r=b&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=e;if(!e){r=b;break}}a[e+24>>2]=f;A=a[t+16>>2]|0;if(A|0){a[e+16>>2]=A;a[A+24>>2]=e}A=a[t+20>>2]|0;if(A){a[e+20>>2]=A;a[A+24>>2]=e;r=b}else r=b}else r=b}while(0);do{if(l>>>0>=16){a[t+4>>2]=s|3;a[n+4>>2]=l|1;a[n+l>>2]=l;e=l>>>3;if(l>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=n;a[e+12>>2]=n;a[n+8>>2]=e;a[n+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)e=31;else{E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;e=14-(g|E|e)+(C<>>15)|0;e=l>>>(e+7|0)&1|e<<1}else e=0;i=190380+(e<<2)|0;a[n+28>>2]=e;A=n+16|0;a[A+4>>2]=0;a[A>>2]=0;A=1<>2]=n;a[n+24>>2]=i;a[n+12>>2]=n;a[n+8>>2]=n;break}A=l<<((e|0)==31?0:25-(e>>>1)|0);i=a[i>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(l|0)){E=97;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=96;break}else{A=A<<1;i=e}}if((E|0)==96){a[r>>2]=n;a[n+24>>2]=i;a[n+12>>2]=n;a[n+8>>2]=n;break}else if((E|0)==97){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=n;a[E>>2]=n;a[n+8>>2]=C;a[n+12>>2]=i;a[n+24>>2]=0;break}}else{C=l+s|0;a[t+4>>2]=C|3;C=t+C+4|0;a[C>>2]=a[C>>2]|1}}while(0);C=t+8|0;k=I;return C|0}else w=s}else w=s}else w=-1}while(0);i=a[47521]|0;if(i>>>0>=w>>>0){e=i-w|0;A=a[47524]|0;if(e>>>0>15){C=A+w|0;a[47524]=C;a[47521]=e;a[C+4>>2]=e|1;a[A+i>>2]=e;a[A+4>>2]=w|3}else{a[47521]=0;a[47524]=0;a[A+4>>2]=i|3;C=A+i+4|0;a[C>>2]=a[C>>2]|1}C=A+8|0;k=I;return C|0}t=a[47522]|0;if(t>>>0>w>>>0){g=t-w|0;a[47522]=g;C=a[47525]|0;E=C+w|0;a[47525]=E;a[E+4>>2]=g|1;a[C+4>>2]=w|3;C=C+8|0;k=I;return C|0}if(!(a[47637]|0)){a[47639]=4096;a[47638]=4096;a[47640]=-1;a[47641]=-1;a[47642]=0;a[47630]=0;a[47637]=o&-16^1431655768;A=4096}else A=a[47639]|0;c=w+48|0;b=w+47|0;l=A+b|0;f=0-A|0;s=l&f;if(s>>>0<=w>>>0){C=0;k=I;return C|0}A=a[47629]|0;if(A|0?(u=a[47627]|0,o=u+s|0,o>>>0<=u>>>0|o>>>0>A>>>0):0){C=0;k=I;return C|0}A:do{if(!(a[47630]&4)){i=a[47525]|0;e:do{if(i){r=190524;while(1){A=a[r>>2]|0;if(A>>>0<=i>>>0?(B=r+4|0,(A+(a[B>>2]|0)|0)>>>0>i>>>0):0)break;A=a[r+8>>2]|0;if(!A){E=118;break e}else r=A}e=l-t&f;if(e>>>0<2147483647){A=D6(e|0)|0;if((A|0)==((a[r>>2]|0)+(a[B>>2]|0)|0)){if((A|0)!=(-1|0)){l=e;n=A;E=135;break A}}else{r=A;E=126}}else e=0}else E=118}while(0);do{if((E|0)==118){i=D6(0)|0;if((i|0)!=(-1|0)?(e=i,h=a[47638]|0,d=h+-1|0,e=((d&e|0)==0?0:(d+e&0-h)-e|0)+s|0,h=a[47627]|0,d=e+h|0,e>>>0>w>>>0&e>>>0<2147483647):0){B=a[47629]|0;if(B|0?d>>>0<=h>>>0|d>>>0>B>>>0:0){e=0;break}A=D6(e|0)|0;if((A|0)==(i|0)){l=e;n=i;E=135;break A}else{r=A;E=126}}else e=0}}while(0);do{if((E|0)==126){i=0-e|0;if(!(c>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){e=0;break}else{l=e;n=r;E=135;break A}A=a[47639]|0;A=b-e+A&0-A;if(A>>>0>=2147483647){l=e;n=r;E=135;break A}if((D6(A|0)|0)==(-1|0)){D6(i|0)|0;e=0;break}else{l=A+e|0;n=r;E=135;break A}}}while(0);a[47630]=a[47630]|4;E=133}else{e=0;E=133}}while(0);if(((E|0)==133?s>>>0<2147483647:0)?(n=D6(s|0)|0,B=D6(0)|0,v=B-n|0,g=v>>>0>(w+40|0)>>>0,!((n|0)==(-1|0)|g^1|n>>>0>>0&((n|0)!=(-1|0)&(B|0)!=(-1|0))^1)):0){l=g?v:e;E=135}if((E|0)==135){e=(a[47627]|0)+l|0;a[47627]=e;if(e>>>0>(a[47628]|0)>>>0)a[47628]=e;c=a[47525]|0;do{if(c){e=190524;while(1){A=a[e>>2]|0;i=e+4|0;r=a[i>>2]|0;if((n|0)==(A+r|0)){E=143;break}f=a[e+8>>2]|0;if(!f)break;else e=f}if(((E|0)==143?(a[e+12>>2]&8|0)==0:0)?n>>>0>c>>>0&A>>>0<=c>>>0:0){a[i>>2]=r+l;C=(a[47522]|0)+l|0;g=c+8|0;g=(g&7|0)==0?0:0-g&7;E=c+g|0;g=C-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[c+C+4>>2]=40;a[47526]=a[47641];break}if(n>>>0<(a[47523]|0)>>>0)a[47523]=n;A=n+l|0;e=190524;while(1){if((a[e>>2]|0)==(A|0)){E=151;break}e=a[e+8>>2]|0;if(!e){A=190524;break}}if((E|0)==151)if(!(a[e+12>>2]&8)){a[e>>2]=n;s=e+4|0;a[s>>2]=(a[s>>2]|0)+l;s=n+8|0;s=n+((s&7|0)==0?0:0-s&7)|0;e=A+8|0;e=A+((e&7|0)==0?0:0-e&7)|0;b=s+w|0;t=e-s-w|0;a[s+4>>2]=w|3;do{if((c|0)!=(e|0)){if((a[47524]|0)==(e|0)){C=(a[47521]|0)+t|0;a[47521]=C;a[47524]=b;a[b+4>>2]=C|1;a[b+C>>2]=C;break}A=a[e+4>>2]|0;if((A&3|0)==1){l=A&-8;r=A>>>3;A:do{if(A>>>0<256){A=a[e+8>>2]|0;i=a[e+12>>2]|0;if((i|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=A;break}}else{n=a[e+24>>2]|0;A=a[e+12>>2]|0;do{if((A|0)==(e|0)){r=e+16|0;i=r+4|0;A=a[i>>2]|0;if(!A){A=a[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=a[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=a[r>>2]|0;if(!f)break;else{A=f;i=r}}a[i>>2]=0}else{C=a[e+8>>2]|0;a[C+12>>2]=A;a[A+8>>2]=C}}while(0);if(!n)break;i=a[e+28>>2]|0;r=190380+(i<<2)|0;do{if((a[r>>2]|0)!=(e|0)){a[n+16+(((a[n+16>>2]|0)!=(e|0)&1)<<2)>>2]=A;if(!A)break A}else{a[r>>2]=A;if(A|0)break;a[47520]=a[47520]&~(1<>2]=n;i=e+16|0;r=a[i>>2]|0;if(r|0){a[A+16>>2]=r;a[r+24>>2]=A}i=a[i+4>>2]|0;if(!i)break;a[A+20>>2]=i;a[i+24>>2]=A}}while(0);e=e+l|0;f=l+t|0}else f=t;e=e+4|0;a[e>>2]=a[e>>2]&-2;a[b+4>>2]=f|1;a[b+f>>2]=f;e=f>>>3;if(f>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=b;a[e+12>>2]=b;a[b+8>>2]=e;a[b+12>>2]=i;break}e=f>>>8;do{if(!e)e=0;else{if(f>>>0>16777215){e=31;break}E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;e=14-(g|E|e)+(C<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);r=190380+(e<<2)|0;a[b+28>>2]=e;A=b+16|0;a[A+4>>2]=0;a[A>>2]=0;A=a[47520]|0;i=1<>2]=b;a[b+24>>2]=r;a[b+12>>2]=b;a[b+8>>2]=b;break}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){E=192;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=191;break}else{A=A<<1;i=e}}if((E|0)==191){a[r>>2]=b;a[b+24>>2]=i;a[b+12>>2]=b;a[b+8>>2]=b;break}else if((E|0)==192){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=b;a[E>>2]=b;a[b+8>>2]=C;a[b+12>>2]=i;a[b+24>>2]=0;break}}else{C=(a[47522]|0)+t|0;a[47522]=C;a[47525]=b;a[b+4>>2]=C|1}}while(0);C=s+8|0;k=I;return C|0}else A=190524;while(1){e=a[A>>2]|0;if(e>>>0<=c>>>0?(C=e+(a[A+4>>2]|0)|0,C>>>0>c>>>0):0)break;A=a[A+8>>2]|0}f=C+-47|0;A=f+8|0;A=f+((A&7|0)==0?0:0-A&7)|0;f=c+16|0;A=A>>>0>>0?c:A;e=A+8|0;i=l+-40|0;g=n+8|0;g=(g&7|0)==0?0:0-g&7;E=n+g|0;g=i-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[n+i+4>>2]=40;a[47526]=a[47641];i=A+4|0;a[i>>2]=27;a[e>>2]=a[47631];a[e+4>>2]=a[47632];a[e+8>>2]=a[47633];a[e+12>>2]=a[47634];a[47631]=n;a[47632]=l;a[47634]=0;a[47633]=e;e=A+24|0;do{E=e;e=e+4|0;a[e>>2]=7}while((E+8|0)>>>0>>0);if((A|0)!=(c|0)){n=A-c|0;a[i>>2]=a[i>>2]&-2;a[c+4>>2]=n|1;a[A>>2]=n;e=n>>>3;if(n>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=c;a[e+12>>2]=c;a[c+8>>2]=e;a[c+12>>2]=i;break}e=n>>>8;if(e)if(n>>>0>16777215)i=31;else{E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;i=14-(g|E|i)+(C<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;r=190380+(i<<2)|0;a[c+28>>2]=i;a[c+20>>2]=0;a[f>>2]=0;e=a[47520]|0;A=1<>2]=c;a[c+24>>2]=r;a[c+12>>2]=c;a[c+8>>2]=c;break}A=n<<((i|0)==31?0:25-(i>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(n|0)){E=213;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=212;break}else{A=A<<1;i=e}}if((E|0)==212){a[r>>2]=c;a[c+24>>2]=i;a[c+12>>2]=c;a[c+8>>2]=c;break}else if((E|0)==213){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=c;a[E>>2]=c;a[c+8>>2]=C;a[c+12>>2]=i;a[c+24>>2]=0;break}}}else{C=a[47523]|0;if((C|0)==0|n>>>0>>0)a[47523]=n;a[47631]=n;a[47632]=l;a[47634]=0;a[47528]=a[47637];a[47527]=-1;a[47532]=190116;a[47531]=190116;a[47534]=190124;a[47533]=190124;a[47536]=190132;a[47535]=190132;a[47538]=190140;a[47537]=190140;a[47540]=190148;a[47539]=190148;a[47542]=190156;a[47541]=190156;a[47544]=190164;a[47543]=190164;a[47546]=190172;a[47545]=190172;a[47548]=190180;a[47547]=190180;a[47550]=190188;a[47549]=190188;a[47552]=190196;a[47551]=190196;a[47554]=190204;a[47553]=190204;a[47556]=190212;a[47555]=190212;a[47558]=190220;a[47557]=190220;a[47560]=190228;a[47559]=190228;a[47562]=190236;a[47561]=190236;a[47564]=190244;a[47563]=190244;a[47566]=190252;a[47565]=190252;a[47568]=190260;a[47567]=190260;a[47570]=190268;a[47569]=190268;a[47572]=190276;a[47571]=190276;a[47574]=190284;a[47573]=190284;a[47576]=190292;a[47575]=190292;a[47578]=190300;a[47577]=190300;a[47580]=190308;a[47579]=190308;a[47582]=190316;a[47581]=190316;a[47584]=190324;a[47583]=190324;a[47586]=190332;a[47585]=190332;a[47588]=190340;a[47587]=190340;a[47590]=190348;a[47589]=190348;a[47592]=190356;a[47591]=190356;a[47594]=190364;a[47593]=190364;C=l+-40|0;g=n+8|0;g=(g&7|0)==0?0:0-g&7;E=n+g|0;g=C-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[n+C+4>>2]=40;a[47526]=a[47641]}}while(0);e=a[47522]|0;if(e>>>0>w>>>0){g=e-w|0;a[47522]=g;C=a[47525]|0;E=C+w|0;a[47525]=E;a[E+4>>2]=g|1;a[C+4>>2]=w|3;C=C+8|0;k=I;return C|0}}a[(X2()|0)>>2]=12;C=0;k=I;return C|0}function L2(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;if(!A)return;i=A+-8|0;f=a[47523]|0;A=a[A+-4>>2]|0;e=A&-8;c=i+e|0;do{if(!(A&1)){r=a[i>>2]|0;if(!(A&3))return;l=i+(0-r)|0;n=r+e|0;if(l>>>0>>0)return;if((a[47524]|0)==(l|0)){A=c+4|0;e=a[A>>2]|0;if((e&3|0)!=3){t=l;e=n;break}a[47521]=n;a[A>>2]=e&-2;a[l+4>>2]=n|1;a[l+n>>2]=n;return}i=r>>>3;if(r>>>0<256){A=a[l+8>>2]|0;e=a[l+12>>2]|0;if((e|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=e;a[e+8>>2]=A;t=l;e=n;break}}f=a[l+24>>2]|0;A=a[l+12>>2]|0;do{if((A|0)==(l|0)){i=l+16|0;e=i+4|0;A=a[e>>2]|0;if(!A){A=a[i>>2]|0;if(!A){A=0;break}else e=i}while(1){i=A+20|0;r=a[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=a[i>>2]|0;if(!r)break;else{A=r;e=i}}a[e>>2]=0}else{t=a[l+8>>2]|0;a[t+12>>2]=A;a[A+8>>2]=t}}while(0);if(f){e=a[l+28>>2]|0;i=190380+(e<<2)|0;if((a[i>>2]|0)==(l|0)){a[i>>2]=A;if(!A){a[47520]=a[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A){t=l;e=n;break}}a[A+24>>2]=f;e=l+16|0;i=a[e>>2]|0;if(i|0){a[A+16>>2]=i;a[i+24>>2]=A}e=a[e+4>>2]|0;if(e){a[A+20>>2]=e;a[e+24>>2]=A;t=l;e=n}else{t=l;e=n}}else{t=l;e=n}}else{t=i;l=i}}while(0);if(l>>>0>=c>>>0)return;A=c+4|0;r=a[A>>2]|0;if(!(r&1))return;if(!(r&2)){if((a[47525]|0)==(c|0)){c=(a[47522]|0)+e|0;a[47522]=c;a[47525]=t;a[t+4>>2]=c|1;if((t|0)!=(a[47524]|0))return;a[47524]=0;a[47521]=0;return}if((a[47524]|0)==(c|0)){c=(a[47521]|0)+e|0;a[47521]=c;a[47524]=l;a[t+4>>2]=c|1;a[l+c>>2]=c;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){e=a[c+8>>2]|0;A=a[c+12>>2]|0;if((A|0)==(e|0)){a[47519]=a[47519]&~(1<>2]=A;a[A+8>>2]=e;break}}else{n=a[c+24>>2]|0;A=a[c+12>>2]|0;do{if((A|0)==(c|0)){i=c+16|0;e=i+4|0;A=a[e>>2]|0;if(!A){A=a[i>>2]|0;if(!A){i=0;break}else e=i}while(1){i=A+20|0;r=a[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=a[i>>2]|0;if(!r)break;else{A=r;e=i}}a[e>>2]=0;i=A}else{i=a[c+8>>2]|0;a[i+12>>2]=A;a[A+8>>2]=i;i=A}}while(0);if(n|0){A=a[c+28>>2]|0;e=190380+(A<<2)|0;if((a[e>>2]|0)==(c|0)){a[e>>2]=i;if(!i){a[47520]=a[47520]&~(1<>2]|0)!=(c|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=n;A=c+16|0;e=a[A>>2]|0;if(e|0){a[i+16>>2]=e;a[e+24>>2]=i}A=a[A+4>>2]|0;if(A|0){a[i+20>>2]=A;a[A+24>>2]=i}}}}while(0);a[t+4>>2]=f|1;a[l+f>>2]=f;if((t|0)==(a[47524]|0)){a[47521]=f;return}}else{a[A>>2]=r&-2;a[t+4>>2]=e|1;a[l+e>>2]=e;f=e}A=f>>>3;if(f>>>0<256){i=190116+(A<<1<<2)|0;e=a[47519]|0;A=1<>2]|0}a[e>>2]=t;a[A+12>>2]=t;a[t+8>>2]=A;a[t+12>>2]=i;return}A=f>>>8;if(A)if(f>>>0>16777215)A=31;else{l=(A+1048320|0)>>>16&8;c=A<>>16&4;c=c<>>16&2;A=14-(n|l|A)+(c<>>15)|0;A=f>>>(A+7|0)&1|A<<1}else A=0;r=190380+(A<<2)|0;a[t+28>>2]=A;a[t+20>>2]=0;a[t+16>>2]=0;e=a[47520]|0;i=1<>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){A=73;break}r=i+16+(e>>>31<<2)|0;A=a[r>>2]|0;if(!A){A=72;break}else{e=e<<1;i=A}}if((A|0)==72){a[r>>2]=t;a[t+24>>2]=i;a[t+12>>2]=t;a[t+8>>2]=t;break}else if((A|0)==73){l=i+8|0;c=a[l>>2]|0;a[c+12>>2]=t;a[l>>2]=t;a[t+8>>2]=c;a[t+12>>2]=i;a[t+24>>2]=0;break}}else{a[47520]=e|i;a[r>>2]=t;a[t+24>>2]=r;a[t+12>>2]=t;a[t+8>>2]=t}}while(0);c=(a[47527]|0)+-1|0;a[47527]=c;if(!c)A=190532;else return;while(1){A=a[A>>2]|0;if(!A)break;else A=A+8|0}a[47527]=-1;return}function W2(A,e){A=A|0;e=e|0;var i=0;if(A){i=U(e,A)|0;if((e|A)>>>0>65535)i=((i>>>0)/(A>>>0)|0|0)==(e|0)?i:-1}else i=0;A=m2(i)|0;if(!A)return A|0;if(!(a[A+-4>>2]&3))return A|0;Y6(A|0,0,i|0)|0;return A|0}function y2(A,e){A=A|0;e=e|0;var i=0,r=0;if(!A){e=m2(e)|0;return e|0}if(e>>>0>4294967231){a[(X2()|0)>>2]=12;e=0;return e|0}i=z2(A+-8|0,e>>>0<11?16:e+11&-8)|0;if(i|0){e=i+8|0;return e|0}i=m2(e)|0;if(!i){e=0;return e|0}r=a[A+-4>>2]|0;r=(r&-8)-((r&3|0)==0?8:4)|0;y6(i|0,A|0,(r>>>0>>0?r:e)|0)|0;L2(A);e=i;return e|0}function z2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=A+4|0;w=a[s>>2]|0;i=w&-8;t=A+i|0;if(!(w&3)){if(e>>>0<256){A=0;return A|0}if(i>>>0>=(e+4|0)>>>0?(i-e|0)>>>0<=a[47639]<<1>>>0:0)return A|0;A=0;return A|0}if(i>>>0>=e>>>0){i=i-e|0;if(i>>>0<=15)return A|0;b=A+e|0;a[s>>2]=w&1|e|2;a[b+4>>2]=i|3;w=t+4|0;a[w>>2]=a[w>>2]|1;Y2(b,i);return A|0}if((a[47525]|0)==(t|0)){b=(a[47522]|0)+i|0;i=b-e|0;r=A+e|0;if(b>>>0<=e>>>0){A=0;return A|0}a[s>>2]=w&1|e|2;a[r+4>>2]=i|1;a[47525]=r;a[47522]=i;return A|0}if((a[47524]|0)==(t|0)){r=(a[47521]|0)+i|0;if(r>>>0>>0){A=0;return A|0}i=r-e|0;if(i>>>0>15){b=A+e|0;r=A+r|0;a[s>>2]=w&1|e|2;a[b+4>>2]=i|1;a[r>>2]=i;r=r+4|0;a[r>>2]=a[r>>2]&-2;r=b}else{a[s>>2]=w&1|r|2;r=A+r+4|0;a[r>>2]=a[r>>2]|1;r=0;i=0}a[47521]=i;a[47524]=r;return A|0}r=a[t+4>>2]|0;if(r&2|0){A=0;return A|0}c=(r&-8)+i|0;if(c>>>0>>0){A=0;return A|0}b=c-e|0;f=r>>>3;do{if(r>>>0<256){r=a[t+8>>2]|0;i=a[t+12>>2]|0;if((i|0)==(r|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=r;break}}else{l=a[t+24>>2]|0;i=a[t+12>>2]|0;do{if((i|0)==(t|0)){f=t+16|0;r=f+4|0;i=a[r>>2]|0;if(!i){i=a[f>>2]|0;if(!i){f=0;break}else n=f}else n=r;while(1){f=i+20|0;r=a[f>>2]|0;if(r|0){i=r;n=f;continue}r=i+16|0;f=a[r>>2]|0;if(!f)break;else{i=f;n=r}}a[n>>2]=0;f=i}else{f=a[t+8>>2]|0;a[f+12>>2]=i;a[i+8>>2]=f;f=i}}while(0);if(l|0){i=a[t+28>>2]|0;r=190380+(i<<2)|0;if((a[r>>2]|0)==(t|0)){a[r>>2]=f;if(!f){a[47520]=a[47520]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=f;if(!f)break}a[f+24>>2]=l;i=t+16|0;r=a[i>>2]|0;if(r|0){a[f+16>>2]=r;a[r+24>>2]=f}i=a[i+4>>2]|0;if(i|0){a[f+20>>2]=i;a[i+24>>2]=f}}}}while(0);if(b>>>0<16){a[s>>2]=c|w&1|2;w=A+c+4|0;a[w>>2]=a[w>>2]|1;return A|0}else{t=A+e|0;a[s>>2]=w&1|e|2;a[t+4>>2]=b|3;w=A+c+4|0;a[w>>2]=a[w>>2]|1;Y2(t,b);return A|0}return 0}function Y2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=A+e|0;i=a[A+4>>2]|0;do{if(!(i&1)){f=a[A>>2]|0;if(!(i&3))return;l=A+(0-f)|0;e=f+e|0;if((a[47524]|0)==(l|0)){A=t+4|0;i=a[A>>2]|0;if((i&3|0)!=3)break;a[47521]=e;a[A>>2]=i&-2;a[l+4>>2]=e|1;a[t>>2]=e;return}r=f>>>3;if(f>>>0<256){A=a[l+8>>2]|0;i=a[l+12>>2]|0;if((i|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=A;break}}n=a[l+24>>2]|0;A=a[l+12>>2]|0;do{if((A|0)==(l|0)){r=l+16|0;i=r+4|0;A=a[i>>2]|0;if(!A){A=a[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=a[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=a[r>>2]|0;if(!f)break;else{A=f;i=r}}a[i>>2]=0}else{f=a[l+8>>2]|0;a[f+12>>2]=A;a[A+8>>2]=f}}while(0);if(n){i=a[l+28>>2]|0;r=190380+(i<<2)|0;if((a[r>>2]|0)==(l|0)){a[r>>2]=A;if(!A){a[47520]=a[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A)break}a[A+24>>2]=n;i=l+16|0;r=a[i>>2]|0;if(r|0){a[A+16>>2]=r;a[r+24>>2]=A}i=a[i+4>>2]|0;if(i){a[A+20>>2]=i;a[i+24>>2]=A}}}else l=A}while(0);A=t+4|0;r=a[A>>2]|0;if(!(r&2)){if((a[47525]|0)==(t|0)){t=(a[47522]|0)+e|0;a[47522]=t;a[47525]=l;a[l+4>>2]=t|1;if((l|0)!=(a[47524]|0))return;a[47524]=0;a[47521]=0;return}if((a[47524]|0)==(t|0)){t=(a[47521]|0)+e|0;a[47521]=t;a[47524]=l;a[l+4>>2]=t|1;a[l+t>>2]=t;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){A=a[t+8>>2]|0;e=a[t+12>>2]|0;if((e|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=e;a[e+8>>2]=A;break}}else{n=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){i=t+16|0;A=i+4|0;e=a[A>>2]|0;if(!e){e=a[i>>2]|0;if(!e){i=0;break}else A=i}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0;i=e}else{i=a[t+8>>2]|0;a[i+12>>2]=e;a[e+8>>2]=i;i=e}}while(0);if(n|0){e=a[t+28>>2]|0;A=190380+(e<<2)|0;if((a[A>>2]|0)==(t|0)){a[A>>2]=i;if(!i){a[47520]=a[47520]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=n;e=t+16|0;A=a[e>>2]|0;if(A|0){a[i+16>>2]=A;a[A+24>>2]=i}e=a[e+4>>2]|0;if(e|0){a[i+20>>2]=e;a[e+24>>2]=i}}}}while(0);a[l+4>>2]=f|1;a[l+f>>2]=f;if((l|0)==(a[47524]|0)){a[47521]=f;return}}else{a[A>>2]=r&-2;a[l+4>>2]=e|1;a[l+e>>2]=e;f=e}e=f>>>3;if(f>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=l;a[e+12>>2]=l;a[l+8>>2]=e;a[l+12>>2]=i;return}e=f>>>8;if(e)if(f>>>0>16777215)e=31;else{n=(e+1048320|0)>>>16&8;t=e<>>16&4;t=t<>>16&2;e=14-(r|n|e)+(t<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;r=190380+(e<<2)|0;a[l+28>>2]=e;a[l+20>>2]=0;a[l+16>>2]=0;A=a[47520]|0;i=1<>2]=l;a[l+24>>2]=r;a[l+12>>2]=l;a[l+8>>2]=l;return}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){e=69;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){e=68;break}else{A=A<<1;i=e}}if((e|0)==68){a[r>>2]=l;a[l+24>>2]=i;a[l+12>>2]=l;a[l+8>>2]=l;return}else if((e|0)==69){n=i+8|0;t=a[n>>2]|0;a[t+12>>2]=l;a[n>>2]=l;a[l+8>>2]=t;a[l+12>>2]=i;a[l+24>>2]=0;return}}function D2(A,e){A=A|0;e=e|0;if(A>>>0<9){e=m2(e)|0;return e|0}else{e=M2(A,e)|0;return e|0}return 0}function M2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;A=A>>>0>16?A:16;if(A+-1&A){i=16;while(1)if(i>>>0>>0)i=i<<1;else{A=i;break}}if((-64-A|0)>>>0<=e>>>0){a[(X2()|0)>>2]=12;l=0;return l|0}n=e>>>0<11?16:e+11&-8;i=m2(n+12+A|0)|0;if(!i){l=0;return l|0}f=i+-8|0;do{if(A+-1&i){r=(i+A+-1&0-A)+-8|0;e=f;r=(r-e|0)>>>0>15?r:r+A|0;e=r-e|0;A=i+-4|0;t=a[A>>2]|0;i=(t&-8)-e|0;if(!(t&3)){a[r>>2]=(a[f>>2]|0)+e;a[r+4>>2]=i;A=r;e=r;break}else{t=r+4|0;a[t>>2]=i|a[t>>2]&1|2;i=r+i+4|0;a[i>>2]=a[i>>2]|1;a[A>>2]=e|a[A>>2]&1|2;a[t>>2]=a[t>>2]|1;Y2(f,e);A=r;e=r;break}}else{A=f;e=f}}while(0);A=A+4|0;i=a[A>>2]|0;if(i&3|0?(l=i&-8,l>>>0>(n+16|0)>>>0):0){t=l-n|0;f=e+n|0;a[A>>2]=n|i&1|2;a[f+4>>2]=t|3;l=e+l+4|0;a[l>>2]=a[l>>2]|1;Y2(f,t)}t=e+8|0;return t|0}function F2(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=R2(a[A+60>>2]|0)|0;A=N2(NA(6,i|0)|0)|0;k=e;return A|0}function V2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+32|0;f=b;t=b+16|0;a[t>>2]=e;n=t+4|0;c=A+48|0;s=a[c>>2]|0;a[n>>2]=i-((s|0)!=0&1);l=A+44|0;a[t+8>>2]=a[l>>2];a[t+12>>2]=s;a[f>>2]=a[A+60>>2];a[f+4>>2]=t;a[f+8>>2]=2;f=N2(mA(145,f|0)|0)|0;if((f|0)>=1){t=a[n>>2]|0;if(f>>>0>t>>>0){n=a[l>>2]|0;l=A+4|0;a[l>>2]=n;a[A+8>>2]=n+(f-t);if(!(a[c>>2]|0))f=i;else{a[l>>2]=n+1;r[e+(i+-1)>>0]=r[n>>0]|0;f=i}}}else a[A>>2]=a[A>>2]|f&48^16;k=b;return f|0}function J2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=k;k=k+32|0;n=f;r=f+20|0;a[n>>2]=a[A+60>>2];a[n+4>>2]=0;a[n+8>>2]=e;a[n+12>>2]=r;a[n+16>>2]=i;if((N2(QA(140,n|0)|0)|0)<0){a[r>>2]=-1;A=-1}else A=a[r>>2]|0;k=f;return A|0}function N2(A){A=A|0;if(A>>>0>4294963200){a[(X2()|0)>>2]=0-A;A=-1}return A|0}function X2(){return 190572}function R2(A){A=A|0;return A|0}function H2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;n=k;k=k+32|0;f=n;a[A+36>>2]=18;if((a[A>>2]&64|0)==0?(a[f>>2]=a[A+60>>2],a[f+4>>2]=21523,a[f+8>>2]=n+16,JA(54,f|0)|0):0)r[A+75>>0]=-1;f=p2(A,e,i)|0;k=n;return f|0}function p2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;w=k;k=k+48|0;b=w+16|0;n=w;f=w+32|0;t=A+28|0;r=a[t>>2]|0;a[f>>2]=r;c=A+20|0;r=(a[c>>2]|0)-r|0;a[f+4>>2]=r;a[f+8>>2]=e;a[f+12>>2]=i;r=r+i|0;l=A+60|0;a[n>>2]=a[l>>2];a[n+4>>2]=f;a[n+8>>2]=2;n=N2(LA(146,n|0)|0)|0;A:do{if((r|0)!=(n|0)){e=2;while(1){if((n|0)<0)break;r=r-n|0;o=a[f+4>>2]|0;u=n>>>0>o>>>0;f=u?f+8|0:f;e=e+(u<<31>>31)|0;o=n-(u?o:0)|0;a[f>>2]=(a[f>>2]|0)+o;u=f+4|0;a[u>>2]=(a[u>>2]|0)-o;a[b>>2]=a[l>>2];a[b+4>>2]=f;a[b+8>>2]=e;n=N2(LA(146,b|0)|0)|0;if((r|0)==(n|0)){s=3;break A}}a[A+16>>2]=0;a[t>>2]=0;a[c>>2]=0;a[A>>2]=a[A>>2]|32;if((e|0)==2)i=0;else i=i-(a[f+4>>2]|0)|0}else s=3}while(0);if((s|0)==3){o=a[A+44>>2]|0;a[A+16>>2]=o+(a[A+48>>2]|0);a[t>>2]=o;a[c>>2]=o}k=w;return i|0}function U2(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=A;a[r+4>>2]=e;e=N2(XA(91,r|0)|0)|0;k=i;return e|0}function x2(){return}function T2(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;t=k;k=k+32|0;l=t;do{if((n&4095|0)==0&(((n|0)<0)<<31>>31&-4096|0)==0){if(e>>>0>2147483646){a[(X2()|0)>>2]=12;A=-1;break}a[l>>2]=A;a[l+4>>2]=e;a[l+8>>2]=i;a[l+12>>2]=r;a[l+16>>2]=f;a[l+20>>2]=n>>12;A=N2(WA(192,l|0)|0)|0}else{a[(X2()|0)>>2]=22;A=-1}}while(0);k=t;return A|0}function j2(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=e&255;A:do{if(!f)A=A+(S2(A)|0)|0;else{if(A&3){i=e&255;do{n=r[A>>0]|0;if(n<<24>>24==0?1:n<<24>>24==i<<24>>24)break A;A=A+1|0}while((A&3|0)!=0)}f=U(f,16843009)|0;i=a[A>>2]|0;e:do{if(!((i&-2139062144^-2139062144)&i+-16843009))do{n=i^f;if((n&-2139062144^-2139062144)&n+-16843009|0)break e;A=A+4|0;i=a[A>>2]|0}while(!((i&-2139062144^-2139062144)&i+-16843009|0))}while(0);i=e&255;while(1){n=r[A>>0]|0;if(n<<24>>24==0?1:n<<24>>24==i<<24>>24)break;else A=A+1|0}}}while(0);return A|0}function S2(A){A=A|0;var e=0,i=0,f=0;f=A;A:do{if(!(f&3))i=4;else{e=f;while(1){if(!(r[A>>0]|0)){A=e;break A}A=A+1|0;e=A;if(!(e&3)){i=4;break}}}}while(0);if((i|0)==4){while(1){e=a[A>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))A=A+4|0;else break}if((e&255)<<24>>24)do{A=A+1|0}while((r[A>>0]|0)!=0)}return A-f|0}function P2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;n=l+16|0;f=l;r=l+32|0;if(!(e&4194368))r=0;else{a[r>>2]=i;t=(a[r>>2]|0)+(4-1)&~(4-1);i=a[t>>2]|0;a[r>>2]=t+4;r=i}a[f>>2]=A;a[f+4>>2]=e|32768;a[f+8>>2]=r;r=VA(5,f|0)|0;if(!((e&524288|0)==0|(r|0)<0)){a[n>>2]=r;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0}t=N2(r)|0;k=l;return t|0}function O2(A,e){A=A|0;e=e|0;var i=0,f=0;f=0;while(1){if((n[144531+f>>0]|0)==(A|0)){A=2;break}i=f+1|0;if((i|0)==87){i=144619;f=87;A=5;break}else f=i}if((A|0)==2)if(!f)i=144619;else{i=144619;A=5}if((A|0)==5)while(1){do{A=i;i=i+1|0}while((r[A>>0]|0)!=0);f=f+-1|0;if(!f)break;else A=5}return K2(i,a[e+20>>2]|0)|0}function K2(A,e){A=A|0;e=e|0;return _2(A,e)|0}function _2(A,e){A=A|0;e=e|0;if(!e)e=0;else e=q2(a[e>>2]|0,a[e+4>>2]|0,A)|0;return(e|0?e:A)|0}function q2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=(a[A>>2]|0)+1794895138|0;l=$2(a[A+8>>2]|0,k)|0;f=$2(a[A+12>>2]|0,k)|0;n=$2(a[A+16>>2]|0,k)|0;A:do{if((l>>>0>>2>>>0?(u=e-(l<<2)|0,f>>>0>>0&n>>>0>>0):0)?((n|f)&3|0)==0:0){u=f>>>2;w=n>>>2;s=0;while(1){c=l>>>1;b=s+c|0;t=b<<1;n=t+u|0;f=$2(a[A+(n<<2)>>2]|0,k)|0;n=$2(a[A+(n+1<<2)>>2]|0,k)|0;if(!(n>>>0>>0&f>>>0<(e-n|0)>>>0)){f=0;break A}if(r[A+(n+f)>>0]|0){f=0;break A}f=A1(i,A+n|0)|0;if(!f)break;f=(f|0)<0;if((l|0)==1){f=0;break A}else{s=f?s:b;l=f?c:l-c|0}}f=t+w|0;n=$2(a[A+(f<<2)>>2]|0,k)|0;f=$2(a[A+(f+1<<2)>>2]|0,k)|0;if(f>>>0>>0&n>>>0<(e-f|0)>>>0)f=(r[A+(f+n)>>0]|0)==0?A+f|0:0;else f=0}else f=0}while(0);return f|0}function $2(A,e){A=A|0;e=e|0;var i=0;i=m6(A|0)|0;return((e|0)==0?A:i)|0}function A1(A,e){A=A|0;e=e|0;var i=0,f=0;i=r[A>>0]|0;f=r[e>>0]|0;if(i<<24>>24==0?1:i<<24>>24!=f<<24>>24)A=f;else{do{A=A+1|0;e=e+1|0;i=r[A>>0]|0;f=r[e>>0]|0}while(!(i<<24>>24==0?1:i<<24>>24!=f<<24>>24));A=f}return(i&255)-(A&255)|0}function e1(A){A=A|0;return O2(A,a[(i1()|0)+188>>2]|0)|0}function i1(){return r1()|0}function r1(){return 62976}function f1(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0.0,a=0.0;a=A*A;r=a*(a*a)*(a*1.58969099521155e-10+-2.5050760253406863e-08)+(a*(a*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);f=a*A;if(!i)A=f*(a*r+-.16666666666666632)+A;else A=A-(f*.16666666666666632+(a*(e*.5-f*r)-e));return+A}function a1(A){A=+A;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;b[w>>3]=A;e=a[w>>2]|0;i=a[w+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;r=-1077;e=a[w>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;a[w>>2]=e;a[w+4>>2]=(f&1048575)+1072079006;s=+b[w>>3]+-1.0;t=s*(s*.5);l=s/(s+2.0);c=l*l;n=c*c;b[w>>3]=s-t;i=a[w+4>>2]|0;a[w>>2]=0;a[w+4>>2]=i;A=+b[w>>3];n=s-A-t+l*(t+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));c=A*1.4426950407214463;t=+(r+(f>>>20)|0);l=c+t;A=l+(c+(t-l)+(n*1.4426950407214463+(n+A)*1.6751713164886512e-10))}return+A}function n1(A,e){A=+A;e=e|0;var i=0,r=0,f=0;b[w>>3]=A;i=a[w>>2]|0;r=a[w+4>>2]|0;f=Z6(i|0,r|0,52)|0;switch(f&2047){case 0:{if(A!=0.0){A=+n1(A*18446744073709551616.0,e);i=(a[e>>2]|0)+-64|0}else i=0;a[e>>2]=i;break}case 2047:break;default:{a[e>>2]=(f&2047)+-1022;a[w>>2]=i;a[w+4>>2]=r&-2146435073|1071644672;A=+b[w>>3]}}return+A}function l1(A,e){A=+A;e=+e;var i=0.0,r=0.0,f=0.0,a=0.0;i=A*A;r=i*i;f=i*.5;a=1.0-f;return+(a+(1.0-a-f+(i*(i*(i*(i*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+r*r*(i*(2.087572321298175e-09-i*1.1359647557788195e-11)+-2.7557314351390663e-07))-A*e)))}function t1(A){A=+A;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;b[w>>3]=A;e=a[w>>2]|0;i=a[w+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;r=-1077;e=a[w>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;a[w>>2]=e;a[w+4>>2]=(f&1048575)+1072079006;t=+b[w>>3]+-1.0;l=t*(t*.5);c=t/(t+2.0);s=c*c;n=s*s;b[w>>3]=t-l;i=a[w+4>>2]|0;a[w>>2]=0;a[w+4>>2]=i;A=+b[w>>3];n=t-A-l+c*(l+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+s*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));s=A*.4342944818781689;l=+(r+(f>>>20)|0);c=l*.30102999566361177;t=c+s;A=t+(s+(c-t)+(n*.4342944818781689+(l*3.694239077158931e-13+(n+A)*2.5082946711645275e-11)))}return+A}function c1(A,e){A=+A;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+48|0;c=d+16|0;s=d;b[w>>3]=A;i=a[w>>2]|0;l=a[w+4>>2]|0;u=Z6(i|0,l|0,63)|0;h=l&2147483647;do{if(h>>>0<1074752123)if((l&1048575|0)!=598523){i=(u|0)!=0;if(h>>>0<1073928573)if(i){n=A+1.5707963267341256;t=n+6.077100506506192e-11;b[e>>3]=t;b[e+8>>3]=n-t+6.077100506506192e-11;i=-1;break}else{n=A+-1.5707963267341256;t=n+-6.077100506506192e-11;b[e>>3]=t;b[e+8>>3]=n-t+-6.077100506506192e-11;i=1;break}else if(i){n=A+3.1415926534682512;t=n+1.2154201013012384e-10;b[e>>3]=t;b[e+8>>3]=n-t+1.2154201013012384e-10;i=-2;break}else{n=A+-3.1415926534682512;t=n+-1.2154201013012384e-10;b[e>>3]=t;b[e+8>>3]=n-t+-1.2154201013012384e-10;i=2;break}}else o=21;else{if(h>>>0<1075594812)if(h>>>0<1075183037){if((h|0)==1074977148){o=21;break}if(!u){n=A+-4.712388980202377;t=n+-1.8231301519518578e-10;b[e>>3]=t;b[e+8>>3]=n-t+-1.8231301519518578e-10;i=3;break}else{n=A+4.712388980202377;t=n+1.8231301519518578e-10;b[e>>3]=t;b[e+8>>3]=n-t+1.8231301519518578e-10;i=-3;break}}else{if((h|0)==1075388923){o=21;break}if(!u){n=A+-6.2831853069365025;t=n+-2.430840202602477e-10;b[e>>3]=t;b[e+8>>3]=n-t+-2.430840202602477e-10;i=4;break}else{n=A+6.2831853069365025;t=n+2.430840202602477e-10;b[e>>3]=t;b[e+8>>3]=n-t+2.430840202602477e-10;i=-4;break}}if(h>>>0>=1094263291){if(h>>>0>2146435071){t=A-A;b[e+8>>3]=t;b[e>>3]=t;i=0;break}a[w>>2]=i;a[w+4>>2]=l&1048575|1096810496;A=+b[w>>3];i=0;do{t=+(~~A|0);b[c+(i<<3)>>3]=t;A=(A-t)*16777216.0;i=i+1|0}while((i|0)!=2);b[c+16>>3]=A;if(A==0.0){i=1;while(1)if(+b[c+(i<<3)>>3]==0.0)i=i+-1|0;else break}else i=2;i=b1(c,s,(h>>>20)+-1046|0,i+1|0,1)|0;A=+b[s>>3];if(!u){b[e>>3]=A;b[e+8>>3]=+b[s+8>>3];break}else{b[e>>3]=-A;b[e+8>>3]=-+b[s+8>>3];i=0-i|0;break}}else o=21}}while(0);if((o|0)==21){n=A*.6366197723675814+6755399441055744.0+-6755399441055744.0;i=~~n;r=A-n*1.5707963267341256;f=n*6.077100506506192e-11;A=r-f;b[e>>3]=A;b[w>>3]=A;o=Z6(a[w>>2]|0,a[w+4>>2]|0,52)|0;l=h>>>20;if((l-(o&2047)|0)>16){f=n*6.077100506303966e-11;t=r-f;f=n*2.0222662487959506e-21-(r-t-f);A=t-f;b[e>>3]=A;b[w>>3]=A;h=Z6(a[w>>2]|0,a[w+4>>2]|0,52)|0;B=n*2.0222662487111665e-21;r=t-B;n=n*8.4784276603689e-32-(t-r-B);if((l-(h&2047)|0)>49){A=r-n;b[e>>3]=A;f=n}else r=t}b[e+8>>3]=r-A-f}k=d;return i|0}function b1(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,y=0,z=0,Y=0,D=0,M=0.0;D=k;k=k+560|0;m=D+480|0;G=D+320|0;Y=D+160|0;y=D;L=a[63220+(f<<2)>>2]|0;o=r+-1|0;Z=(i+-3|0)/24|0;Z=(Z|0)>0?Z:0;Q=U(Z,-24)|0;t=i+-24+Q|0;if((L+o|0)>=0){w=L+r|0;c=Z-o|0;s=0;while(1){if((c|0)<0)n=0.0;else n=+(a[63236+(c<<2)>>2]|0);b[G+(s<<3)>>3]=n;s=s+1|0;if((s|0)==(w|0))break;else c=c+1|0}}u=(r|0)>0;w=0;while(1){if(u){s=w+o|0;n=0.0;c=0;do{n=n+ +b[A+(c<<3)>>3]*+b[G+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else n=0.0;b[y+(w<<3)>>3]=n;if((w|0)<(L|0))w=w+1|0;else break}v=(t|0)>0;g=24-t|0;E=23-t|0;C=(r|0)>0;I=(t|0)==0;c=L;A:while(1){n=+b[y+(c<<3)>>3];u=(c|0)>0;if(u){s=c;w=0;while(1){l=+(~~(n*5.9604644775390625e-08)|0);a[m+(w<<2)>>2]=~~(n-l*16777216.0);B=s;s=s+-1|0;n=+b[y+(s<<3)>>3]+l;if((B|0)<=1)break;else w=w+1|0}}n=+s1(n,t);n=n-+W(+(n*.125))*8.0;s=~~n;n=n-+(s|0);do{if(!v)if(!I)if(!(n>=.5)){o=0;B=s;break}else{w=2;z=20;break}else{w=a[m+(c+-1<<2)>>2]>>23;z=19;break}else{B=m+(c+-1<<2)|0;w=a[B>>2]|0;z=w>>g;w=w-(z<>2]=w;w=w>>E;s=z+s|0;z=19}}while(0);if((z|0)==19){z=0;if((w|0)>0)z=20;else{o=w;B=s}}if((z|0)==20){z=0;B=s+1|0;if(u){s=0;d=0;do{o=m+(d<<2)|0;h=a[o>>2]|0;if(!s)if(!h)s=0;else{s=1;u=16777216;z=23}else{u=16777215;z=23}if((z|0)==23){z=0;a[o>>2]=u-h}d=d+1|0}while((d|0)!=(c|0))}else s=0;e:do{if(v){switch(t|0){case 1:{u=8388607;break}case 2:{u=4194303;break}default:break e}d=m+(c+-1<<2)|0;a[d>>2]=a[d>>2]&u}}while(0);if((w|0)==2){n=1.0-n;if(!s)o=2;else{o=2;n=n-+s1(1.0,t)}}else o=w}if(!(n==0.0)){z=42;break}if((c|0)>(L|0)){s=0;w=c;do{w=w+-1|0;s=a[m+(w<<2)>>2]|s}while((w|0)>(L|0));if(s){z=41;break}else s=1}else s=1;while(1)if(!(a[m+(L-s<<2)>>2]|0))s=s+1|0;else break;u=s+c|0;if((s|0)<=0){c=u;continue}while(1){w=c+1|0;s=c+r|0;b[G+(s<<3)>>3]=+(a[63236+(w+Z<<2)>>2]|0);if(C){n=0.0;c=0;do{n=n+ +b[A+(c<<3)>>3]*+b[G+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else n=0.0;b[y+(w<<3)>>3]=n;if((w|0)<(u|0))c=w;else{c=u;continue A}}}if((z|0)==41)while(1){z=0;t=t+-24|0;c=c+-1|0;if(!(a[m+(c<<2)>>2]|0))z=41;else{u=c;break}}else if((z|0)==42){n=+s1(n,0-t|0);if(n>=16777216.0){l=+(~~(n*5.9604644775390625e-08)|0);a[m+(c<<2)>>2]=~~(n-l*16777216.0);t=Q+i|0;c=c+1|0;n=l}a[m+(c<<2)>>2]=~~n;u=c}w=(u|0)>-1;if(w){n=+s1(1.0,t);t=u;while(1){b[y+(t<<3)>>3]=n*+(a[m+(t<<2)>>2]|0);if((t|0)>0){n=n*5.9604644775390625e-08;t=t+-1|0}else break}if(w){c=u;while(1){s=u-c|0;t=0;n=0.0;while(1){n=n+ +b[10904+(t<<3)>>3]*+b[y+(t+c<<3)>>3];if((t|0)>=(L|0)|(t|0)>=(s|0))break;else t=t+1|0}b[Y+(s<<3)>>3]=n;if((c|0)>0)c=c+-1|0;else break}}}switch(f|0){case 0:{if(w){n=0.0;t=u;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else n=0.0;l=(o|0)==0?n:-n;z=73;break}case 2:case 1:{if(w){n=0.0;t=u;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else n=0.0;c=(o|0)==0;b[e>>3]=c?n:-n;n=+b[Y>>3]-n;if((u|0)>=1){t=1;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)==(u|0))break;else t=t+1|0}}l=c?n:-n;e=e+8|0;z=73;break}case 3:{if((u|0)>0){t=u;n=+b[Y+(u<<3)>>3];do{z=t;t=t+-1|0;y=Y+(t<<3)|0;l=+b[y>>3];M=n;n=l+n;b[Y+(z<<3)>>3]=M+(l-n);b[y>>3]=n}while((z|0)>1);c=(u|0)>1;if(c){t=u;n=+b[Y+(u<<3)>>3];do{z=t;t=t+-1|0;y=Y+(t<<3)|0;M=+b[y>>3];l=n;n=M+n;b[Y+(z<<3)>>3]=l+(M-n);b[y>>3]=n}while((z|0)>2);if(c){t=u;l=0.0;while(1){l=l+ +b[Y+(t<<3)>>3];if((t|0)>2)t=t+-1|0;else break}}else l=0.0}else l=0.0}else l=0.0;n=+b[Y>>3];if(!o){b[e>>3]=n;n=+b[Y+8>>3]}else{b[e>>3]=-n;l=-l;n=-+b[Y+8>>3]}b[e+8>>3]=n;e=e+16|0;z=73;break}default:{}}if((z|0)==73)b[e>>3]=l;k=D;return B&7|0}function s1(A,e){A=+A;e=e|0;var i=0,r=0;if((e|0)<=1023){if((e|0)<-1022){A=A*2.2250738585072014e-308;r=(e|0)<-2044;i=e+2044|0;A=r?A*2.2250738585072014e-308:A;e=r?(i|0)>-1022?i:-1022:e+1022|0}}else{A=A*8988465674311579538646525.0e283;i=(e|0)>2046;r=e+-2046|0;A=i?A*8988465674311579538646525.0e283:A;e=i?(r|0)<1023?r:1023:e+-1023|0}i=G6(e+1023|0,0,52)|0;r=L;a[w>>2]=i;a[w+4>>2]=r;return+(A*+b[w>>3])}function w1(A){A=+A;var e=0,i=0,r=0,f=0.0,n=0.0;b[w>>3]=A;i=a[w+4>>2]|0;e=i&2147483647;do{if(e>>>0>2146435071)A=A+A;else{if(e>>>0<1048576){b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;e=i&2147483647;if(!e)break;else r=696219795}else r=715094163;a[w>>2]=0;a[w+4>>2]=((e>>>0)/3|0)+r|i&-2147483648;f=+b[w>>3];n=f*f*(f/A);b[w>>3]=(n*(n*n)*(n*.14599619288661245+-.758397934778766)+(n*(n*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;i=d6(a[w>>2]|0,a[w+4>>2]|0,-2147483648,0)|0;r=L;a[w>>2]=i&-1073741824;a[w+4>>2]=r;f=+b[w>>3];A=A/(f*f);A=(A-f)/(f+f+A)*f+f}}while(0);return+A}function u1(A,e){A=+A;e=+e;var i=0,r=0;b[w>>3]=A;r=a[w>>2]|0;i=a[w+4>>2]|0;b[w>>3]=e;i=a[w+4>>2]&-2147483648|i&2147483647;a[w>>2]=r;a[w+4>>2]=i;return+ +b[w>>3]}function k1(A,e){A=+A;e=+e;return+ +u1(A,e)}function o1(A,e){A=+A;e=e|0;return+ +s1(A,e)}function h1(A,e){A=+A;e=+e;return+ +d1(A,e)}function d1(A,e){A=+A;e=+e;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,u=0,k=0,o=0,h=0;b[w>>3]=A;l=a[w>>2]|0;c=a[w+4>>2]|0;b[w>>3]=e;u=a[w>>2]|0;k=a[w+4>>2]|0;r=Z6(l|0,c|0,52)|0;r=r&2047;s=Z6(u|0,k|0,52)|0;s=s&2047;o=c&-2147483648;n=G6(u|0,k|0,1)|0;t=L;A:do{if(!((n|0)==0&(t|0)==0)?(f=B1(e)|0,i=L&2147483647,!((r|0)==2047|(i>>>0>2146435072|(i|0)==2146435072&f>>>0>0))):0){i=G6(l|0,c|0,1)|0;f=L;if(!(f>>>0>t>>>0|(f|0)==(t|0)&i>>>0>n>>>0))return+((i|0)==(n|0)&(f|0)==(t|0)?A*0.0:A);if(!r){i=G6(l|0,c|0,12)|0;f=L;if((f|0)>-1|(f|0)==-1&i>>>0>4294967295){r=0;do{r=r+-1|0;i=G6(i|0,f|0,1)|0;f=L}while((f|0)>-1|(f|0)==-1&i>>>0>4294967295)}else r=0;l=G6(l|0,c|0,1-r|0)|0;n=L}else n=c&1048575|1048576;if(!s){f=G6(u|0,k|0,12)|0;t=L;if((t|0)>-1|(t|0)==-1&f>>>0>4294967295){i=0;do{i=i+-1|0;f=G6(f|0,t|0,1)|0;t=L}while((t|0)>-1|(t|0)==-1&f>>>0>4294967295)}else i=0;u=G6(u|0,k|0,1-i|0)|0;s=i;c=L}else c=k&1048575|1048576;f=B6(l|0,n|0,u|0,c|0)|0;i=L;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;e:do{if((r|0)>(s|0)){while(1){if(t){if((f|0)==0&(i|0)==0)break}else{f=l;i=n}l=G6(f|0,i|0,1)|0;n=L;r=r+-1|0;f=B6(l|0,n|0,u|0,c|0)|0;i=L;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;if((r|0)<=(s|0))break e}e=A*0.0;break A}}while(0);if(t){if((f|0)==0&(i|0)==0){e=A*0.0;break}}else{i=n;f=l}if(i>>>0<1048576|(i|0)==1048576&f>>>0<0)do{f=G6(f|0,i|0,1)|0;i=L;r=r+-1|0}while(i>>>0<1048576|(i|0)==1048576&f>>>0<0);if((r|0)>0){k=d6(f|0,i|0,0,-1048576)|0;i=L;r=G6(r|0,0,52)|0;i=i|L;r=k|r}else{r=Z6(f|0,i|0,1-r|0)|0;i=L}a[w>>2]=r;a[w+4>>2]=i|o;e=+b[w>>3]}else h=3}while(0);if((h|0)==3){e=A*e;e=e/e}return+e}function B1(A){A=+A;var e=0;b[w>>3]=A;e=a[w>>2]|0;L=a[w+4>>2]|0;return e|0}function v1(A,e){A=+A;e=+e;var i=0.0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,u=0,o=0,h=0,d=0,B=0,v=0;h=k;k=k+32|0;c=h+24|0;s=h+16|0;u=h+8|0;o=h;b[w>>3]=A;v=a[w>>2]|0;n=a[w+4>>2]|0;b[w>>3]=e;r=a[w>>2]|0;n=n&2147483647;f=a[w+4>>2]&2147483647;l=n>>>0>>0|(n|0)==(f|0)&v>>>0>>0;B=l?r:v;d=l?f:n;r=l?v:r;f=l?n:f;n=Z6(B|0,d|0,52)|0;l=Z6(r|0,f|0,52)|0;a[w>>2]=B;a[w+4>>2]=d;A=+b[w>>3];a[w>>2]=r;a[w+4>>2]=f;t=+b[w>>3];do{if((l|0)!=2047){if(!((r|0)==0&(f|0)==0|(n|0)==2047)){if((n-l|0)>64){A=A+t;break}if((n|0)>1533){i=5260135901548373507240989.0e186;e=A*1.90109156629516e-211;A=t*1.90109156629516e-211}else{v=(l|0)<573;i=v?1.90109156629516e-211:1.0;e=v?A*5260135901548373507240989.0e186:A;A=v?t*5260135901548373507240989.0e186:t}g1(c,s,e);g1(u,o,A);A=i*+z(+(+b[o>>3]+ +b[s>>3]+ +b[u>>3]+ +b[c>>3]))}}else A=t}while(0);k=h;return+A}function g1(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=i*134217729.0;f=f+(i-f);r=i-f;i=i*i;b[A>>3]=i;b[e>>3]=r*r+(f*f-i+f*2.0*r);return}function E1(A,e,i){A=+A;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0,t=0,c=0;t=k;k=k+16|0;n=t;b[w>>3]=A;f=a[w+4>>2]&2147483647;do{if(f>>>0<1072243196)if(f>>>0<1044816030){b[e>>3]=A;b[i>>3]=1.0;break}else{b[e>>3]=+f1(A,0.0,0);b[i>>3]=+l1(A,0.0);break}else{if(f>>>0>2146435071){l=A-A;b[i>>3]=l;b[e>>3]=l;break}f=c1(A,n)|0;c=n+8|0;r=+f1(+b[n>>3],+b[c>>3],1);A=+l1(+b[n>>3],+b[c>>3]);switch(f&3){case 0:{b[e>>3]=r;l=A;break}case 1:{b[e>>3]=A;l=-r;break}case 2:{b[e>>3]=-r;l=-A;break}case 3:{b[e>>3]=-A;l=r;break}default:{}}b[i>>3]=l}}while(0);k=t;return}function C1(A,e){A=+A;e=e|0;return+ +n1(A,e)}function I1(A){A=A|0;if(A>>>0<131072)A=(n[146423+((n[146423+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=0;return A|0}function Z1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;if(!i)f=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))f=0;else while(1){i=i+-1|0;a=r[e>>0]|0;if(!(f<<24>>24==a<<24>>24&((i|0)!=0&a<<24>>24!=0)))break A;A=A+1|0;e=e+1|0;f=r[A>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);f=(f&255)-(n[e>>0]|0)|0}return f|0}function G1(A,e){A=A|0;e=e|0;A=j2(A,e)|0;return((r[A>>0]|0)==(e&255)<<24>>24?A:0)|0}function Q1(A){A=A|0;return((A|0)==32|(A+-9|0)>>>0<5)&1|0}function m1(A,e,i){A=A|0;e=e|0;i=i|0;i=W1(A,e,i,-1,0)|0;return i|0}function L1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=e&255;f=(i|0)!=0;A:do{if(f&(A&3|0)!=0){n=e&255;while(1){if((r[A>>0]|0)==n<<24>>24){t=6;break A}A=A+1|0;i=i+-1|0;f=(i|0)!=0;if(!(f&(A&3|0)!=0)){t=5;break}}}else t=5}while(0);if((t|0)==5)if(f)t=6;else i=0;A:do{if((t|0)==6){n=e&255;if((r[A>>0]|0)!=n<<24>>24){f=U(l,16843009)|0;e:do{if(i>>>0>3)while(1){l=a[A>>2]^f;if((l&-2139062144^-2139062144)&l+-16843009|0)break;A=A+4|0;i=i+-4|0;if(i>>>0<=3){t=11;break e}}else t=11}while(0);if((t|0)==11)if(!i){i=0;break}while(1){if((r[A>>0]|0)==n<<24>>24)break A;A=A+1|0;i=i+-1|0;if(!i){i=0;break}}}}}while(0);return(i|0?A:0)|0}function W1(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+128|0;l=c;a[l>>2]=0;t=l+4|0;a[t>>2]=A;a[l+44>>2]=A;n=l+8|0;a[n>>2]=(A|0)<0?-1:A+2147483647|0;a[l+76>>2]=-1;y1(l,0);i=z1(l,i,1,r,f)|0;if(e|0)a[e>>2]=A+((a[t>>2]|0)+(a[l+108>>2]|0)-(a[n>>2]|0));k=c;return i|0}function y1(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;a[A+104>>2]=e;i=a[A+8>>2]|0;r=a[A+4>>2]|0;f=i-r|0;a[A+108>>2]=f;a[A+100>>2]=(e|0)!=0&(f|0)>(e|0)?r+e|0:i;return}function z1(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;A:do{if(e>>>0>36){a[(X2()|0)>>2]=22;l=0;f=0}else{d=A+4|0;h=A+100|0;do{t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0}while((Q1(t)|0)!=0);e:do{switch(t|0){case 43:case 45:{t=((t|0)==45)<<31>>31;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;o=t;t=n[c>>0]|0;break e}else{o=t;t=Y1(A)|0;break e}}default:o=0}}while(0);c=(e|0)==0;do{if((e|16|0)==16&(t|0)==48){t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0;if((t|32|0)!=120)if(c){e=8;u=46;break}else{u=32;break}t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0;if((n[149592+t>>0]|0)>15){f=(a[h>>2]|0)==0;if(!f)a[d>>2]=(a[d>>2]|0)+-1;if(!i){y1(A,0);l=0;f=0;break A}if(f){l=0;f=0;break A}a[d>>2]=(a[d>>2]|0)+-1;l=0;f=0;break A}else{e=16;u=46}}else{e=c?10:e;if(e>>>0>(n[149592+t>>0]|0)>>>0)u=32;else{if(a[h>>2]|0)a[d>>2]=(a[d>>2]|0)+-1;y1(A,0);a[(X2()|0)>>2]=22;l=0;f=0;break A}}}while(0);e:do{if((u|0)==32)if((e|0)==10){e=t+-48|0;if(e>>>0<10){t=0;c=e;do{t=(t*10|0)+c|0;e=a[d>>2]|0;if(e>>>0<(a[h>>2]|0)>>>0){a[d>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;c=e+-48|0}while(c>>>0<10&t>>>0<429496729);i=0}else{e=t;t=0;i=0}b=e+-48|0;if(b>>>0<10){c=e;do{e=h6(t|0,i|0,10,0)|0;s=L;w=((b|0)<0)<<31>>31;k=~w;if(s>>>0>k>>>0|(s|0)==(k|0)&e>>>0>~b>>>0){e=10;u=72;break e}t=d6(e|0,s|0,b|0,w|0)|0;i=L;e=a[d>>2]|0;if(e>>>0<(a[h>>2]|0)>>>0){a[d>>2]=e+1;c=n[e>>0]|0}else c=Y1(A)|0;b=c+-48|0}while(b>>>0<10&(i>>>0<429496729|(i|0)==429496729&t>>>0<2576980378));if(b>>>0>9){c=o;e=i}else{e=10;u=72}}else{c=o;e=i}}else u=46}while(0);e:do{if((u|0)==46){if(!(e+-1&e)){u=r[149848+((e*23|0)>>>5&7)>>0]|0;i=r[149592+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;b=c;do{t=b|t<>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;b=i&255}while(t>>>0<134217728&e>>>0>b>>>0);b=0}else{c=t;b=0;t=0}s=Z6(-1,-1,u|0)|0;w=L;if(e>>>0<=(i&255)>>>0|(w>>>0>>0|(w|0)==(b|0)&s>>>0>>0)){i=b;u=72;break}else c=b;while(1){t=G6(t|0,c|0,u|0)|0;b=L;t=t|i&255;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;if(e>>>0<=(i&255)>>>0|(b>>>0>w>>>0|(b|0)==(w|0)&t>>>0>s>>>0)){i=b;u=72;break e}else c=b}}i=r[149592+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;b=c;do{t=b+(U(t,e)|0)|0;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;b=i&255}while(t>>>0<119304647&e>>>0>b>>>0);b=0}else{c=t;t=0;b=0}if(e>>>0>(i&255)>>>0){u=E6(-1,-1,e|0,0)|0;k=L;w=b;while(1){if(w>>>0>k>>>0|(w|0)==(k|0)&t>>>0>u>>>0){i=w;u=72;break e}b=h6(t|0,w|0,e|0,0)|0;s=L;i=i&255;if(s>>>0>4294967295|(s|0)==-1&b>>>0>~i>>>0){i=w;u=72;break e}t=d6(b|0,s|0,i|0,0)|0;b=L;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;if(e>>>0<=(i&255)>>>0){i=b;u=72;break}else w=b}}else{i=b;u=72}}}while(0);if((u|0)==72)if(e>>>0>(n[149592+c>>0]|0)>>>0){do{t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0}while(e>>>0>(n[149592+t>>0]|0)>>>0);a[(X2()|0)>>2]=34;c=(f&1|0)==0&0==0?o:0;e=l;t=f}else{c=o;e=i}if(a[h>>2]|0)a[d>>2]=(a[d>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(l|0)&t>>>0>>0)){if(!((f&1|0)!=0|0!=0|(c|0)!=0)){a[(X2()|0)>>2]=34;f=d6(f|0,l|0,-1,-1)|0;l=L;break}if(e>>>0>l>>>0|(e|0)==(l|0)&t>>>0>f>>>0){a[(X2()|0)>>2]=34;break}}f=((c|0)<0)<<31>>31;f=B6(t^c|0,e^f|0,c|0,f|0)|0;l=L}}while(0);L=l;return f|0}function Y1(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;i=A+104|0;l=a[i>>2]|0;if((l|0)!=0?(a[A+108>>2]|0)>=(l|0):0)t=4;else{e=D1(A)|0;if((e|0)>=0){f=a[i>>2]|0;i=A+8|0;if(f){c=a[i>>2]|0;l=a[A+4>>2]|0;i=f-(a[A+108>>2]|0)|0;f=c;if((c-l|0)<(i|0))i=f;else i=l+(i+-1)|0}else{f=a[i>>2]|0;i=f}a[A+100>>2]=i;i=A+4|0;if(!f)i=a[i>>2]|0;else{i=a[i>>2]|0;c=A+108|0;a[c>>2]=f+1-i+(a[c>>2]|0)}i=i+-1|0;if((e|0)!=(n[i>>0]|0|0))r[i>>0]=e}else t=4}if((t|0)==4){a[A+100>>2]=0;e=-1}return e|0}function D1(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;if((M1(A)|0)==0?(W5[a[A+32>>2]&63](A,e,1)|0)==1:0)A=n[e>>0]|0;else A=-1;k=i;return A|0}function M1(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=A+20|0;i=A+28|0;if((a[e>>2]|0)>>>0>(a[i>>2]|0)>>>0)W5[a[A+36>>2]&63](A,0,0)|0;a[A+16>>2]=0;a[i>>2]=0;a[e>>2]=0;e=a[A>>2]|0;if(!(e&4)){i=(a[A+44>>2]|0)+(a[A+48>>2]|0)|0;a[A+8>>2]=i;a[A+4>>2]=i;e=e<<27>>31}else{a[A>>2]=e|32;e=-1}return e|0}function F1(A){A=A|0;return(A+-48|0)>>>0<10|0}function V1(A){A=A|0;return((A+-48|0)>>>0<10|(J1(A)|0)!=0)&1|0}function J1(A){A=A|0;return((A|32)+-97|0)>>>0<26|0}function N1(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=r[A>>0]|0;A:do{if(!(i<<24>>24))i=0;else{a=i&255;while(1){f=r[e>>0]|0;if(!(f<<24>>24))break A;if(i<<24>>24!=f<<24>>24?(a=X1(a)|0,(a|0)!=(X1(f&255)|0)):0)break A;A=A+1|0;e=e+1|0;i=r[A>>0]|0;if(!(i<<24>>24)){i=0;break}else a=i&255}}}while(0);a=X1(i&255)|0;return a-(X1(n[e>>0]|0)|0)|0}function X1(A){A=A|0;var e=0;e=(R1(A)|0)==0;return(e?A:A|32)|0}function R1(A){A=A|0;return(A+-65|0)>>>0<26|0}function H1(A){A=A|0;return p1(A,0)|0}function p1(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,c=0,b=0,s=0,w=0;b=(e<<1)+-1|0;s=e+-1|0;A:do{if(!((A+-43008|0)>>>0<22272|((A+-11776|0)>>>0<30784|((A+-1536|0)>>>0<2560|(U1(A)|0)==0)))){i=(e|0)!=0;if(i&(A+-4256|0)>>>0<46){if((A|0)>4293)switch(A|0){case 4295:case 4301:break;default:break A}A=A+7264|0;break}if((A+-11520|0)>>>0<38&(i^1)){A=A+-7264|0;break}else i=0;do{t=r[66346+(i<<2)+2>>0]|0;c=t<<24>>24;a=A-(l[66346+(i<<2)>>1]|0)|0;if((a-(s&c)|0)>>>0<(n[66346+(i<<2)+3>>0]|0)>>>0){w=11;break}i=i+1|0}while((i|0)!=61);if((w|0)==11)if(t<<24>>24==1){A=e+A-(a&1)|0;break}else{A=(U(b,c)|0)+A|0;break}t=1-e|0;i=f[65858+(t<<1)>>1]|0;e:do{if(i<<16>>16){a=0;while(1){if((i&65535|0)==(A|0))break;a=a+1|0;i=f[65858+(a<<2)+(t<<1)>>1]|0;if(!(i<<16>>16))break e}A=l[65858+(a<<2)+(e<<1)>>1]|0;break A}}while(0);return((A+-66600+(e*40|0)|0)>>>0<40?A+-40+(e*80|0)|0:A)|0}}while(0);return A|0}function U1(A){A=A|0;if(A>>>0<131072)A=(n[149857+((n[149857+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=A>>>0<196606&1;return A|0}function x1(A){A=A|0;var e=0;e=A;while(1)if(!(a[e>>2]|0))break;else e=e+4|0;return e-A>>2|0}function T1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;if(!i)A=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))A=0;else{l=A;A=f;f=f&255;while(1){i=i+-1|0;a=r[e>>0]|0;if(!((i|0)!=0&a<<24>>24!=0))break A;if(A<<24>>24!=a<<24>>24?(f=X1(f)|0,(f|0)!=(X1(a&255)|0)):0)break A;l=l+1|0;e=e+1|0;f=r[l>>0]|0;if(!(f<<24>>24)){A=0;break}else{A=f;f=f&255}}}}while(0);A=X1(A&255)|0;A=A-(X1(n[e>>0]|0)|0)|0}return A|0}function j1(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 S1(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+16|0;n=b;t=(f|0)==0?190640:f;f=a[t>>2]|0;A:do{if(!e)if(!f)f=0;else c=17;else{l=(A|0)==0?n:A;if(!i)f=-2;else{if(!f){f=r[e>>0]|0;if(f<<24>>24>-1){a[l>>2]=f&255;f=f<<24>>24!=0&1;break}n=(a[a[(_1()|0)+188>>2]>>2]|0)==0;f=r[e>>0]|0;if(n){a[l>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){c=17;break}f=a[62384+(f<<2)>>2]|0;n=i+-1|0;if(n){e=e+1|0;c=11}}else{n=i;c=11}e:do{if((c|0)==11){A=r[e>>0]|0;s=(A&255)>>>3;if((s+-16|s+(f>>26))>>>0>7){c=17;break A}while(1){e=e+1|0;f=(A&255)+-128|f<<6;n=n+-1|0;if((f|0)>=0)break;if(!n)break e;A=r[e>>0]|0;if((A&-64)<<24>>24!=-128){c=17;break A}}a[t>>2]=0;a[l>>2]=f;f=i-n|0;break A}}while(0);a[t>>2]=f;f=-2}}}while(0);if((c|0)==17){a[t>>2]=0;a[(X2()|0)>>2]=84;f=-1}k=b;return f|0}function P1(A,e){A=A|0;e=e|0;if(!A)A=0;else A=O1(A,e,0)|0;return A|0}function O1(A,e,i){A=A|0;e=e|0;i=i|0;do{if(A){if(e>>>0<128){r[A>>0]=e;A=1;break}if(!(a[a[(K1()|0)+188>>2]>>2]|0))if((e&-128|0)==57216){r[A>>0]=e;A=1;break}else{a[(X2()|0)>>2]=84;A=-1;break}if(e>>>0<2048){r[A>>0]=e>>>6|192;r[A+1>>0]=e&63|128;A=2;break}if(e>>>0<55296|(e&-8192|0)==57344){r[A>>0]=e>>>12|224;r[A+1>>0]=e>>>6&63|128;r[A+2>>0]=e&63|128;A=3;break}if((e+-65536|0)>>>0<1048576){r[A>>0]=e>>>18|240;r[A+1>>0]=e>>>12&63|128;r[A+2>>0]=e>>>6&63|128;r[A+3>>0]=e&63|128;A=4;break}else{a[(X2()|0)>>2]=84;A=-1;break}}else A=1}while(0);return A|0}function K1(){return r1()|0}function _1(){return r1()|0}function q1(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+272|0;w=o+8|0;u=o;do{if(!(r[e>>0]|0)){e=PA(152833)|0;if(e|0?r[e>>0]|0:0)break;e=PA(152840+(A*12|0)|0)|0;if(e|0?r[e>>0]|0:0)break;e=PA(152912)|0;if(e|0?r[e>>0]|0:0)break;e=152917}}while(0);i=0;A:do{switch(r[e+i>>0]|0){case 47:case 0:break A;default:{}}i=i+1|0}while(i>>>0<15);f=r[e>>0]|0;if(f<<24>>24!=46?(r[e+i>>0]|0)==0:0)if(f<<24>>24==67)s=15;else{b=e;s=16}else{e=152917;s=15}if((s|0)==15)if(!(r[e+1>>0]|0))s=18;else{b=e;s=16}A:do{if((s|0)==16)if((A1(b,152917)|0)!=0?(A1(b,152925)|0)!=0:0){e=a[47661]|0;if(e|0)do{if(!(A1(b,e+8|0)|0))break A;e=a[e+24>>2]|0}while((e|0)!=0);CA(190648);e=a[47661]|0;e:do{if(e|0){while(1){if(!(A1(b,e+8|0)|0))break;e=a[e+24>>2]|0;if(!e)break e}RA(190648);break A}}while(0);e:do{if(((a[47646]|0)==0?(n=PA(152931)|0,(n|0)!=0):0)?(r[n>>0]|0)!=0:0){t=254-i|0;c=i+1|0;f=n;while(1){l=j2(f,58)|0;e=r[l>>0]|0;n=l-f+((e<<24>>24!=0)<<31>>31)|0;if(n>>>0>>0){y6(w|0,f|0,n|0)|0;f=w+n|0;r[f>>0]=47;y6(f+1|0,b|0,i|0)|0;r[w+(c+n)>>0]=0;f=IA(w|0,u|0)|0;if(f|0)break;e=r[l>>0]|0}f=l+(e<<24>>24!=0&1)|0;if(!(r[f>>0]|0)){s=41;break e}}e=m2(28)|0;if(!e){U2(f,a[u>>2]|0)|0;s=41;break}else{a[e>>2]=f;a[e+4>>2]=a[u>>2];u=e+8|0;y6(u|0,b|0,i|0)|0;r[u+i>>0]=0;a[e+24>>2]=a[47661];a[47661]=e;break}}else s=41}while(0);if((s|0)==41){e=m2(28)|0;if(e){a[e>>2]=a[15584];a[e+4>>2]=a[15585];u=e+8|0;y6(u|0,b|0,i|0)|0;r[u+i>>0]=0;a[e+24>>2]=a[47661];a[47661]=e}}RA(190648);e=(A|0)==0&(e|0)==0?62336:e}else{e=b;s=18}}while(0);do{if((s|0)==18){if((A|0)==0?(r[e+1>>0]|0)==46:0){e=62336;break}e=0}}while(0);k=o;return e|0}function $1(A,e){A=A|0;e=e|0;A4(A,e)|0;return A|0}function A4(A,e){A=A|0;e=e|0;var i=0,f=0;i=e;A:do{if(!((i^A)&3)){if(i&3)do{i=r[e>>0]|0;r[A>>0]=i;if(!(i<<24>>24))break A;e=e+1|0;A=A+1|0}while((e&3|0)!=0);i=a[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){f=A;while(1){e=e+4|0;A=f+4|0;a[f>>2]=i;i=a[e>>2]|0;if((i&-2139062144^-2139062144)&i+-16843009|0)break;else f=A}}f=8}else f=8}while(0);if((f|0)==8){f=r[e>>0]|0;r[A>>0]=f;if(f<<24>>24)do{e=e+1|0;A=A+1|0;f=r[e>>0]|0;r[A>>0]=f}while(f<<24>>24!=0)}return A|0}function e4(A){A=A|0;return((A|0)==32|(A|0)==9)&1|0}function i4(A){A=A|0;if(!A)A=0;else A=(r4(63500,A)|0)!=0&1;return A|0}function r4(A,e){A=A|0;e=e|0;var i=0;if(!e)A=A+((x1(A)|0)<<2)|0;else{while(1){i=a[A>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else A=A+4|0}A=i|0?A:0}return A|0}function f4(A,e){A=A|0;e=e|0;do{switch(e|0){case 1:{A=a4(A)|0;break}case 2:{A=U1(A)|0;break}case 3:{A=n4(A)|0;break}case 4:{A=l4(A)|0;break}case 5:{A=F1(A)|0;break}case 6:{A=t4(A)|0;break}case 7:{A=c4(A)|0;break}case 8:{A=j1(A)|0;break}case 9:{A=I1(A)|0;break}case 10:{A=i4(A)|0;break}case 11:{A=b4(A)|0;break}case 12:{A=s4(A)|0;break}default:A=0}}while(0);return A|0}function a4(A){A=A|0;if(!(F1(A)|0))A=(U1(A)|0)!=0&1;else A=1;return A|0}function n4(A){A=A|0;return e4(A)|0}function l4(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 t4(A){A=A|0;if(!(i4(A)|0))A=(j1(A)|0)!=0&1;else A=0;return A|0}function c4(A){A=A|0;return(H1(A)|0)!=(A|0)|0}function b4(A){A=A|0;return(w4(A)|0)!=(A|0)|0}function s4(A){A=A|0;return((A+-48|0)>>>0<10|((A|32)+-97|0)>>>0<6)&1|0}function w4(A){A=A|0;return p1(A,1)|0}function u4(A){A=A|0;return(A+-97|0)>>>0<26|0}function k4(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+128|0;n=w+124|0;s=w;l=s;t=63588;c=l+124|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));if((e+-1|0)>>>0>2147483646)if(!e){A=n;e=1;b=4}else{a[(X2()|0)>>2]=75;e=-1}else b=4;if((b|0)==4){b=-2-A|0;b=e>>>0>b>>>0?b:e;a[s+48>>2]=b;n=s+20|0;a[n>>2]=A;a[s+44>>2]=A;e=A+b|0;A=s+16|0;a[A>>2]=e;a[s+28>>2]=e;e=o4(s,i,f)|0;if(b){s=a[n>>2]|0;r[s+(((s|0)==(a[A>>2]|0))<<31>>31)>>0]=0}}k=w;return e|0}function o4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+224|0;w=B+120|0;o=B+80|0;h=B;d=B+136|0;f=o;n=f+40|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));a[w>>2]=a[i>>2];if((h4(0,e,w,h,o)|0)<0)i=-1;else{if((a[A+76>>2]|0)>-1)u=d4(A)|0;else u=0;i=a[A>>2]|0;s=i&32;if((r[A+74>>0]|0)<1)a[A>>2]=i&-33;f=A+48|0;if(!(a[f>>2]|0)){n=A+44|0;l=a[n>>2]|0;a[n>>2]=d;t=A+28|0;a[t>>2]=d;c=A+20|0;a[c>>2]=d;a[f>>2]=80;b=A+16|0;a[b>>2]=d+80;i=h4(A,e,w,h,o)|0;if(l){W5[a[A+36>>2]&63](A,0,0)|0;i=(a[c>>2]|0)==0?-1:i;a[n>>2]=l;a[f>>2]=0;a[b>>2]=0;a[t>>2]=0;a[c>>2]=0}}else i=h4(A,e,w,h,o)|0;f=a[A>>2]|0;a[A>>2]=f|s;if(u|0)B4(A);i=(f&32|0)==0?i:-1}k=B;return i|0}function h4(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+64|0;W=D+16|0;y=D;Q=D+24|0;z=D+8|0;Y=D+20|0;a[W>>2]=e;I=(A|0)!=0;Z=Q+40|0;G=Z;Q=Q+39|0;m=z+4|0;c=0;t=0;o=0;A:while(1){do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){a[(X2()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);c=r[e>>0]|0;if(!(c<<24>>24)){C=86;break}else s=e;e:while(1){switch(c<<24>>24){case 37:{c=s;C=9;break e}case 0:{c=s;break e}default:{}}E=s+1|0;a[W>>2]=E;c=r[E>>0]|0;s=E}e:do{if((C|0)==9)while(1){C=0;if((r[s+1>>0]|0)!=37)break e;c=c+1|0;s=s+2|0;a[W>>2]=s;if((r[s>>0]|0)==37)C=9;else break}}while(0);c=c-e|0;if(I)v4(A,e,c);if(c|0){e=s;continue}w=s+1|0;c=(r[w>>0]|0)+-48|0;if(c>>>0<10){E=(r[s+2>>0]|0)==36;v=E?c:-1;o=E?1:o;w=E?s+3|0:w}else v=-1;a[W>>2]=w;c=r[w>>0]|0;E=(c<<24>>24)+-32|0;if(E>>>0>31|(1<>24)+-32|s;w=w+1|0;a[W>>2]=w;c=r[w>>0]|0;E=(c<<24>>24)+-32|0}while(!(E>>>0>31|(1<>24==42){u=w+1|0;c=(r[u>>0]|0)+-48|0;if(c>>>0<10?(r[w+2>>0]|0)==36:0){a[l+(c<<2)>>2]=10;c=a[n+((r[u>>0]|0)+-48<<3)>>2]|0;o=1;w=w+3|0}else{if(o|0){t=-1;break}if(I){o=(a[i>>2]|0)+(4-1)&~(4-1);c=a[o>>2]|0;a[i>>2]=o+4;o=0;w=u}else{c=0;o=0;w=u}}a[W>>2]=w;g=(c|0)<0;c=g?0-c|0:c;g=g?s|8192:s}else{c=g4(W)|0;if((c|0)<0){t=-1;break}g=s;w=a[W>>2]|0}do{if((r[w>>0]|0)==46){if((r[w+1>>0]|0)!=42){a[W>>2]=w+1;s=g4(W)|0;w=a[W>>2]|0;break}u=w+2|0;s=(r[u>>0]|0)+-48|0;if(s>>>0<10?(r[w+3>>0]|0)==36:0){a[l+(s<<2)>>2]=10;s=a[n+((r[u>>0]|0)+-48<<3)>>2]|0;w=w+4|0;a[W>>2]=w;break}if(o|0){t=-1;break A}if(I){E=(a[i>>2]|0)+(4-1)&~(4-1);s=a[E>>2]|0;a[i>>2]=E+4}else s=0;a[W>>2]=u;w=u}else s=-1}while(0);B=0;while(1){if(((r[w>>0]|0)+-65|0)>>>0>57){t=-1;break A}E=w+1|0;a[W>>2]=E;u=r[(r[w>>0]|0)+-65+(152944+(B*58|0))>>0]|0;h=u&255;if((h+-1|0)>>>0<8){B=h;w=E}else break}if(!(u<<24>>24)){t=-1;break}d=(v|0)>-1;do{if(u<<24>>24==19)if(d){t=-1;break A}else C=48;else{if(d){a[l+(v<<2)>>2]=h;d=n+(v<<3)|0;v=a[d+4>>2]|0;C=y;a[C>>2]=a[d>>2];a[C+4>>2]=v;C=48;break}if(!I){t=0;break A}E4(y,h,i)}}while(0);if((C|0)==48?(C=0,!I):0){c=0;e=E;continue}w=r[w>>0]|0;w=(B|0)!=0&(w&15|0)==3?w&-33:w;v=g&-65537;g=(g&8192|0)==0?g:v;e:do{switch(w|0){case 110:switch((B&255)<<24>>24){case 0:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 1:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 2:{c=a[y>>2]|0;a[c>>2]=t;a[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=E;continue A}case 3:{f[a[y>>2]>>1]=t;c=0;e=E;continue A}case 4:{r[a[y>>2]>>0]=t;c=0;e=E;continue A}case 6:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 7:{c=a[y>>2]|0;a[c>>2]=t;a[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=E;continue A}default:{c=0;e=E;continue A}}case 112:{w=120;s=s>>>0>8?s:8;e=g|8;C=60;break}case 88:case 120:{e=g;C=60;break}case 111:{w=y;e=a[w>>2]|0;w=a[w+4>>2]|0;d=I4(e,w,Z)|0;B=G-d|0;u=0;h=153408;s=(g&8|0)==0|(s|0)>(B|0)?s:B+1|0;B=g;C=66;break}case 105:case 100:{w=y;e=a[w>>2]|0;w=a[w+4>>2]|0;if((w|0)<0){e=B6(0,0,e|0,w|0)|0;w=L;u=y;a[u>>2]=e;a[u+4>>2]=w;u=1;h=153408;C=65;break e}else{u=(g&2049|0)!=0&1;h=(g&2048|0)==0?(g&1|0)==0?153408:153410:153409;C=65;break e}}case 117:{w=y;u=0;h=153408;e=a[w>>2]|0;w=a[w+4>>2]|0;C=65;break}case 99:{r[Q>>0]=a[y>>2];e=Q;u=0;h=153408;d=Z;w=1;s=v;break}case 109:{w=e1(a[(X2()|0)>>2]|0)|0;C=70;break}case 115:{w=a[y>>2]|0;w=w|0?w:153418;C=70;break}case 67:{a[z>>2]=a[y>>2];a[m>>2]=0;a[y>>2]=z;d=-1;w=z;C=74;break}case 83:{e=a[y>>2]|0;if(!s){G4(A,32,c,0,g);e=0;C=83}else{d=s;w=e;C=74}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=Q4(A,+b[y>>3],c,s,g,w)|0;e=E;continue A}default:{u=0;h=153408;d=Z;w=s;s=g}}}while(0);e:do{if((C|0)==60){g=y;v=a[g>>2]|0;g=a[g+4>>2]|0;d=C4(v,g,Z,w&32)|0;h=(e&8|0)==0|(v|0)==0&(g|0)==0;u=h?0:2;h=h?153408:153408+(w>>4)|0;B=e;e=v;w=g;C=66}else if((C|0)==65){d=Z4(e,w,Z)|0;B=g;C=66}else if((C|0)==70){C=0;g=L1(w,0,s)|0;B=(g|0)==0;e=w;u=0;h=153408;d=B?w+s|0:g;w=B?s:g-w|0;s=v}else if((C|0)==74){C=0;h=w;e=0;s=0;while(1){u=a[h>>2]|0;if(!u)break;s=P1(Y,u)|0;if((s|0)<0|s>>>0>(d-e|0)>>>0)break;e=s+e|0;if(d>>>0>e>>>0)h=h+4|0;else break}if((s|0)<0){t=-1;break A}G4(A,32,c,e,g);if(!e){e=0;C=83}else{u=0;while(1){s=a[w>>2]|0;if(!s){C=83;break e}s=P1(Y,s)|0;u=s+u|0;if((u|0)>(e|0)){C=83;break e}v4(A,Y,s);if(u>>>0>=e>>>0){C=83;break}else w=w+4|0}}}}while(0);if((C|0)==66){C=0;w=(e|0)!=0|(w|0)!=0;g=(s|0)!=0|w;w=G-d+((w^1)&1)|0;e=g?d:Z;d=Z;w=g?(s|0)>(w|0)?s:w:s;s=(s|0)>-1?B&-65537:B}else if((C|0)==83){C=0;G4(A,32,c,e,g^8192);c=(c|0)>(e|0)?c:e;e=E;continue}v=d-e|0;B=(w|0)<(v|0)?v:w;g=B+u|0;c=(c|0)<(g|0)?g:c;G4(A,32,c,g,s);v4(A,h,u);G4(A,48,c,g,s^65536);G4(A,48,B,v,0);v4(A,e,v);G4(A,32,c,g,s^8192);e=E}A:do{if((C|0)==86)if(!A)if(o){t=1;while(1){e=a[l+(t<<2)>>2]|0;if(!e)break;E4(n+(t<<3)|0,e,i);e=t+1|0;if((t|0)<9)t=e;else{t=e;break}}if((t|0)<10)while(1){if(a[l+(t<<2)>>2]|0){t=-1;break A}if((t|0)<9)t=t+1|0;else{t=1;break}}else t=1}else t=0}while(0);k=D;return t|0}function d4(A){A=A|0;return 0}function B4(A){A=A|0;return}function v4(A,e,i){A=A|0;e=e|0;i=i|0;if(!(a[A>>2]&32))L4(e,i,A)|0;return}function g4(A){A=A|0;var e=0,i=0,f=0;i=a[A>>2]|0;f=(r[i>>0]|0)+-48|0;if(f>>>0<10){e=0;do{e=f+(e*10|0)|0;i=i+1|0;a[A>>2]=i;f=(r[i>>0]|0)+-48|0}while(f>>>0<10)}else e=0;return e|0}function E4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0;A:do{if(e>>>0<=20)do{switch(e|0){case 9:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;a[A>>2]=e;break A}case 10:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;r=A;a[r>>2]=e;a[r+4>>2]=((e|0)<0)<<31>>31;break A}case 11:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;r=A;a[r>>2]=e;a[r+4>>2]=0;break A}case 12:{r=(a[i>>2]|0)+(8-1)&~(8-1);e=r;f=a[e>>2]|0;e=a[e+4>>2]|0;a[i>>2]=r+8;r=A;a[r>>2]=f;a[r+4>>2]=e;break A}case 13:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;r=(r&65535)<<16>>16;f=A;a[f>>2]=r;a[f+4>>2]=((r|0)<0)<<31>>31;break A}case 14:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;f=A;a[f>>2]=r&65535;a[f+4>>2]=0;break A}case 15:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;r=(r&255)<<24>>24;f=A;a[f>>2]=r;a[f+4>>2]=((r|0)<0)<<31>>31;break A}case 16:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;f=A;a[f>>2]=r&255;a[f+4>>2]=0;break A}case 17:{f=(a[i>>2]|0)+(8-1)&~(8-1);n=+b[f>>3];a[i>>2]=f+8;b[A>>3]=n;break A}case 18:{f=(a[i>>2]|0)+(8-1)&~(8-1);n=+b[f>>3];a[i>>2]=f+8;b[A>>3]=n;break A}default:break A}}while(0)}while(0);return}function C4(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=n[153456+(A&15)>>0]|0|f;A=Z6(A|0,e|0,4)|0;e=L}while(!((A|0)==0&(e|0)==0));return i|0}function I4(A,e,i){A=A|0;e=e|0;i=i|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=A&7|48;A=Z6(A|0,e|0,3)|0;e=L}while(!((A|0)==0&(e|0)==0));return i|0}function Z4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(e>>>0>0|(e|0)==0&A>>>0>4294967295){while(1){f=C6(A|0,e|0,10,0)|0;i=i+-1|0;r[i>>0]=f&255|48;f=A;A=E6(A|0,e|0,10,0)|0;if(!(e>>>0>9|(e|0)==9&f>>>0>4294967295))break;else e=L}e=A}else e=A;if(e)while(1){i=i+-1|0;r[i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return i|0}function G4(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0;n=k;k=k+256|0;a=n;if((i|0)>(r|0)&(f&73728|0)==0){f=i-r|0;Y6(a|0,e|0,(f>>>0<256?f:256)|0)|0;if(f>>>0>255){e=i-r|0;do{v4(A,a,256);f=f+-256|0}while(f>>>0>255);f=e&255}v4(A,a,f)}k=n;return}function Q4(A,e,i,f,l,t){A=A|0;e=+e;i=i|0;f=f|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+560|0;s=D+8|0;g=D;Y=D+524|0;z=Y;w=D+512|0;a[g>>2]=0;y=w+12|0;m4(e)|0;if((L|0)<0){e=-e;m=1;Q=153425}else{m=(l&2049|0)!=0&1;Q=(l&2048|0)==0?(l&1|0)==0?153426:153431:153428}m4(e)|0;do{if(0==0&(L&2146435072|0)==2146435072){Y=(t&32|0)!=0;c=m+3|0;G4(A,32,i,c,l&-65537);v4(A,Q,m);v4(A,e!=e|0.0!=0.0?Y?153593:153452:Y?153444:153448,3);G4(A,32,i,c,l^8192)}else{d=+C1(e,g)*2.0;c=d!=0.0;if(c)a[g>>2]=(a[g>>2]|0)+-1;C=t|32;if((C|0)==97){o=t&32;B=(o|0)==0?Q:Q+9|0;h=m|2;c=12-f|0;do{if(!(f>>>0>11|(c|0)==0)){e=8.0;do{c=c+-1|0;e=e*16.0}while((c|0)!=0);if((r[B>>0]|0)==45){e=-(e+(-d-e));break}else{e=d+e-e;break}}else e=d}while(0);b=a[g>>2]|0;c=(b|0)<0?0-b|0:b;c=Z4(c,((c|0)<0)<<31>>31,y)|0;if((c|0)==(y|0)){c=w+11|0;r[c>>0]=48}r[c+-1>>0]=(b>>31&2)+43;u=c+-2|0;r[u>>0]=t+15;s=(f|0)<1;w=(l&8|0)==0;c=Y;do{W=~~e;b=c+1|0;r[c>>0]=o|n[153456+W>>0];e=(e-+(W|0))*16.0;if((b-z|0)==1?!(w&(s&e==0.0)):0){r[b>>0]=46;c=c+2|0}else c=b}while(e!=0.0);if((f|0)!=0?(-2-z+c|0)<(f|0):0){b=c-z|0;c=f+2|0}else{c=c-z|0;b=c}y=y-u|0;z=y+h+c|0;G4(A,32,i,z,l);v4(A,B,h);G4(A,48,i,z,l^65536);v4(A,Y,b);G4(A,48,c-b|0,0,0);v4(A,u,y);G4(A,32,i,z,l^8192);c=z;break}b=(f|0)<0?6:f;if(c){c=(a[g>>2]|0)+-28|0;a[g>>2]=c;e=d*268435456.0}else{e=d;c=a[g>>2]|0}W=(c|0)<0?s:s+288|0;s=W;do{Z=~~e>>>0;a[s>>2]=Z;s=s+4|0;e=(e-+(Z>>>0))*1.0e9}while(e!=0.0);if((c|0)>0){w=W;o=s;while(1){u=(c|0)<29?c:29;c=o+-4|0;if(c>>>0>=w>>>0){s=0;do{I=G6(a[c>>2]|0,0,u|0)|0;I=d6(I|0,L|0,s|0,0)|0;Z=L;E=C6(I|0,Z|0,1e9,0)|0;a[c>>2]=E;s=E6(I|0,Z|0,1e9,0)|0;c=c+-4|0}while(c>>>0>=w>>>0);if(s){w=w+-4|0;a[w>>2]=s}}s=o;while(1){if(s>>>0<=w>>>0)break;c=s+-4|0;if(!(a[c>>2]|0))s=c;else break}c=(a[g>>2]|0)-u|0;a[g>>2]=c;if((c|0)>0)o=s;else break}}else w=W;if((c|0)<0){f=((b+25|0)/9|0)+1|0;v=(C|0)==102;do{B=0-c|0;B=(B|0)<9?B:9;if(w>>>0>>0){u=(1<>>B;h=0;c=w;do{Z=a[c>>2]|0;a[c>>2]=(Z>>>B)+h;h=U(Z&u,o)|0;c=c+4|0}while(c>>>0>>0);c=(a[w>>2]|0)==0?w+4|0:w;if(!h){w=c;c=s}else{a[s>>2]=h;w=c;c=s+4|0}}else{w=(a[w>>2]|0)==0?w+4|0:w;c=s}s=v?W:w;s=(c-s>>2|0)>(f|0)?s+(f<<2)|0:c;c=(a[g>>2]|0)+B|0;a[g>>2]=c}while((c|0)<0);c=w;f=s}else{c=w;f=s}Z=W;if(c>>>0>>0){s=(Z-c>>2)*9|0;u=a[c>>2]|0;if(u>>>0>=10){w=10;do{w=w*10|0;s=s+1|0}while(u>>>0>=w>>>0)}}else s=0;v=(C|0)==103;E=(b|0)!=0;w=b-((C|0)!=102?s:0)+((E&v)<<31>>31)|0;if((w|0)<(((f-Z>>2)*9|0)+-9|0)){w=w+9216|0;B=W+4+(((w|0)/9|0)+-1024<<2)|0;w=(w|0)%9|0;if((w|0)<8){u=10;while(1){u=u*10|0;if((w|0)<7)w=w+1|0;else break}}else u=10;o=a[B>>2]|0;h=(o>>>0)%(u>>>0)|0;w=(B+4|0)==(f|0);if(!(w&(h|0)==0)){d=(((o>>>0)/(u>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;I=(u|0)/2|0;e=h>>>0>>0?.5:w&(h|0)==(I|0)?1.0:1.5;if(m){I=(r[Q>>0]|0)==45;e=I?-e:e;d=I?-d:d}w=o-h|0;a[B>>2]=w;if(d+e!=d){I=w+u|0;a[B>>2]=I;if(I>>>0>999999999){s=B;while(1){w=s+-4|0;a[s>>2]=0;if(w>>>0>>0){c=c+-4|0;a[c>>2]=0}I=(a[w>>2]|0)+1|0;a[w>>2]=I;if(I>>>0>999999999)s=w;else break}}else w=B;s=(Z-c>>2)*9|0;o=a[c>>2]|0;if(o>>>0>=10){u=10;do{u=u*10|0;s=s+1|0}while(o>>>0>=u>>>0)}}else w=B}else w=B;w=w+4|0;w=f>>>0>w>>>0?w:f;I=c}else{w=f;I=c}C=w;while(1){if(C>>>0<=I>>>0){g=0;break}c=C+-4|0;if(!(a[c>>2]|0))C=c;else{g=1;break}}f=0-s|0;do{if(v){c=b+((E^1)&1)|0;if((c|0)>(s|0)&(s|0)>-5){u=t+-1|0;b=c+-1-s|0}else{u=t+-2|0;b=c+-1|0}c=l&8;if(!c){if(g?(G=a[C+-4>>2]|0,(G|0)!=0):0)if(!((G>>>0)%10|0)){w=0;c=10;do{c=c*10|0;w=w+1|0}while(!((G>>>0)%(c>>>0)|0|0))}else w=0;else w=9;c=((C-Z>>2)*9|0)+-9|0;if((u|32|0)==102){B=c-w|0;B=(B|0)>0?B:0;b=(b|0)<(B|0)?b:B;B=0;break}else{B=c+s-w|0;B=(B|0)>0?B:0;b=(b|0)<(B|0)?b:B;B=0;break}}else B=c}else{u=t;B=l&8}}while(0);v=b|B;o=(v|0)!=0&1;h=(u|32|0)==102;if(h){E=0;c=(s|0)>0?s:0}else{c=(s|0)<0?f:s;c=Z4(c,((c|0)<0)<<31>>31,y)|0;w=y;if((w-c|0)<2)do{c=c+-1|0;r[c>>0]=48}while((w-c|0)<2);r[c+-1>>0]=(s>>31&2)+43;c=c+-2|0;r[c>>0]=u;E=c;c=w-c|0}c=m+1+b+o+c|0;G4(A,32,i,c,l);v4(A,Q,m);G4(A,48,i,c,l^65536);if(h){u=I>>>0>W>>>0?W:I;B=Y+9|0;o=B;h=Y+8|0;w=u;do{s=Z4(a[w>>2]|0,0,B)|0;if((w|0)==(u|0)){if((s|0)==(B|0)){r[h>>0]=48;s=h}}else if(s>>>0>Y>>>0){Y6(Y|0,48,s-z|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}v4(A,s,o-s|0);w=w+4|0}while(w>>>0<=W>>>0);if(v|0)v4(A,153472,1);if(w>>>0>>0&(b|0)>0)while(1){s=Z4(a[w>>2]|0,0,B)|0;if(s>>>0>Y>>>0){Y6(Y|0,48,s-z|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}v4(A,s,(b|0)<9?b:9);w=w+4|0;s=b+-9|0;if(!(w>>>0>>0&(b|0)>9)){b=s;break}else b=s}G4(A,48,b+9|0,9,0)}else{v=g?C:I+4|0;if((b|0)>-1){g=Y+9|0;B=(B|0)==0;f=g;o=0-z|0;h=Y+8|0;u=I;do{s=Z4(a[u>>2]|0,0,g)|0;if((s|0)==(g|0)){r[h>>0]=48;s=h}do{if((u|0)==(I|0)){w=s+1|0;v4(A,s,1);if(B&(b|0)<1){s=w;break}v4(A,153472,1);s=w}else{if(s>>>0<=Y>>>0)break;Y6(Y|0,48,s+o|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}}while(0);z=f-s|0;v4(A,s,(b|0)>(z|0)?z:b);b=b-z|0;u=u+4|0}while(u>>>0>>0&(b|0)>-1)}G4(A,48,b+18|0,18,0);v4(A,E,y-E|0)}G4(A,32,i,c,l^8192)}}while(0);k=D;return((c|0)<(i|0)?i:c)|0}function m4(A){A=+A;var e=0;b[w>>3]=A;e=a[w>>2]|0;L=a[w+4>>2]|0;return e|0}function L4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;f=i+16|0;n=a[f>>2]|0;if(!n)if(!(W4(i)|0)){n=a[f>>2]|0;l=5}else f=0;else l=5;A:do{if((l|0)==5){c=i+20|0;t=a[c>>2]|0;f=t;if((n-t|0)>>>0>>0){f=W5[a[i+36>>2]&63](i,A,e)|0;break}e:do{if((r[i+75>>0]|0)>-1){t=e;while(1){if(!t){l=0;n=A;break e}n=t+-1|0;if((r[A+n>>0]|0)==10)break;else t=n}f=W5[a[i+36>>2]&63](i,A,t)|0;if(f>>>0>>0)break A;l=t;n=A+t|0;e=e-t|0;f=a[c>>2]|0}else{l=0;n=A}}while(0);y6(f|0,n|0,e|0)|0;a[c>>2]=(a[c>>2]|0)+e;f=l+e|0}}while(0);return f|0}function W4(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=a[A>>2]|0;if(!(e&8)){a[A+8>>2]=0;a[A+4>>2]=0;i=a[A+44>>2]|0;a[A+28>>2]=i;a[A+20>>2]=i;a[A+16>>2]=i+(a[A+48>>2]|0);A=0}else{a[A>>2]=e|32;A=-1}return A|0}function y4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+20|0;f=a[r>>2]|0;A=(a[A+16>>2]|0)-f|0;A=A>>>0>i>>>0?i:A;y6(f|0,e|0,A|0)|0;a[r>>2]=(a[r>>2]|0)+A;return i|0}function z4(A){A=A|0;var e=0,i=0,f=0,a=0;f=r[A>>0]|0;e=1;i=153474;a=97;while(1){if(f<<24>>24==a<<24>>24?(A1(A,i)|0)==0:0)break;i=i+6|0;a=r[i>>0]|0;if(!(a<<24>>24)){e=0;break}else e=e+1|0}return e|0}function Y4(A){A=A|0;var e=0;e=(u4(A)|0)==0;return(e?A:A&95)|0}function D4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;do{if(A>>>0>6)e=0;else{CA(190656);if((A|0)!=6){e=M4(A,e)|0;RA(190656);break}if(!e){e=197132;A=0}else{A=n;i=153547;f=A+16|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));f=0;do{A=j2(e,59)|0;i=A-e|0;if((i|0)<16){y6(n|0,e|0,i|0)|0;r[n+i>>0]=0;e=(r[A>>0]|0)==0?e:A+1|0}M4(f,n)|0;f=f+1|0}while((f|0)!=6);e=197132;A=0}while(1){f=a[190616+(A<<2)>>2]|0;f=f|0?f+8|0:153563;i=S2(f)|0;y6(e|0,f|0,i|0)|0;f=e+i|0;r[f>>0]=59;A=A+1|0;if((A|0)==6)break;else e=e+(i+1)|0}r[f>>0]=0;RA(190656);e=197132}}while(0);k=l;return e|0}function M4(A,e){A=A|0;e=e|0;if(!e)A=a[190616+(A<<2)>>2]|0;else{e=q1(A,e)|0;a[190616+(A<<2)>>2]=e;A=e}return(A|0?A+8|0:153563)|0}function F4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if(!i)A=0;else{while(1){f=r[A>>0]|0;a=r[e>>0]|0;if(f<<24>>24!=a<<24>>24)break;i=i+-1|0;if(!i){A=0;break A}else{A=A+1|0;e=e+1|0}}A=(f&255)-(a&255)|0}}while(0);return A|0}function V4(A){A=A|0;return J4(A)|0}function J4(A){A=A|0;return Q6(A|0)|0}function N4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;if((a[i+76>>2]|0)>-1)w=d4(i)|0;else w=0;f=e+-1|0;if((e|0)<2){u=i+74|0;s=r[u>>0]|0;r[u>>0]=s+255|s;if(w|0)B4(i);if(!f)r[A>>0]=0;else A=0}else{A:do{if(f){b=i+4|0;s=i+8|0;e=A;while(1){l=a[b>>2]|0;k=l;o=(a[s>>2]|0)-k|0;t=L1(l,10,o)|0;c=(t|0)==0;t=c?o:1-k+t|0;t=t>>>0>>0?t:f;y6(e|0,l|0,t|0)|0;l=(a[b>>2]|0)+t|0;a[b>>2]=l;e=e+t|0;t=f-t|0;if(!(c&(t|0)!=0)){u=17;break A}if(l>>>0>=(a[s>>2]|0)>>>0){f=D1(i)|0;if((f|0)<0)break;else c=f}else{a[b>>2]=l+1;c=n[l>>0]|0}f=t+-1|0;l=e+1|0;r[e>>0]=c;if(!((f|0)!=0&(c&255|0)!=10)){e=l;u=17;break A}else e=l}if((e|0)!=(A|0)?(a[i>>2]&16|0)!=0:0)u=17;else A=0}else{e=A;u=17}}while(0);if((u|0)==17)if(!A)A=0;else r[e>>0]=0;if(w)B4(i)}return A|0}function X4(A,e){A=A|0;e=e|0;var i=0;i=r[e>>0]|0;do{if(i<<24>>24){A=G1(A,i<<24>>24)|0;if(A){if(r[e+1>>0]|0)if(r[A+1>>0]|0){if(!(r[e+2>>0]|0)){A=R4(A,e)|0;break}if(r[A+2>>0]|0){if(!(r[e+3>>0]|0)){A=H4(A,e)|0;break}if(r[A+3>>0]|0)if(!(r[e+4>>0]|0)){A=p4(A,e)|0;break}else{A=U4(A,e)|0;break}else A=0}else A=0}else A=0}else A=0}}while(0);return A|0}function R4(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=(n[e>>0]|0)<<8|(n[e+1>>0]|0);f=n[A>>0]|0;while(1){e=A+1|0;i=r[e>>0]|0;if(!(i<<24>>24))break;f=f<<8&65280|i&255;if((f|0)==(a|0))break;else A=e}return(i<<24>>24?A:0)|0}function H4(A,e){A=A|0;e=e|0;var i=0,f=0;f=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8;i=A+2|0;e=r[i>>0]|0;A=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(e&255)<<8;if(!((A|0)==(f|0)|e<<24>>24==0))do{i=i+1|0;e=r[i>>0]|0;A=(A|e&255)<<8}while(!((A|0)==(f|0)|e<<24>>24==0));return(e<<24>>24?i+-2|0:0)|0}function p4(A,e){A=A|0;e=e|0;var i=0,f=0;f=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8|(n[e+3>>0]|0);e=A+3|0;i=r[e>>0]|0;A=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(n[A+2>>0]|0)<<8|i&255;if(!(i<<24>>24==0|(A|0)==(f|0)))do{e=e+1|0;i=r[e>>0]|0;A=A<<8|i&255}while(!(i<<24>>24==0|(A|0)==(f|0)));return(i<<24>>24?e+-3|0:0)|0}function U4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+1056|0;v=E+1024|0;g=E;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;a[v+16>>2]=0;a[v+20>>2]=0;a[v+24>>2]=0;a[v+28>>2]=0;i=r[e>>0]|0;A:do{if(i<<24>>24){B=0;do{if(!(r[A+B>>0]|0)){i=0;break A}d=v+(((i&255)>>>5&255)<<2)|0;a[d>>2]=a[d>>2]|1<<(i&31);B=B+1|0;a[g+((i&255)<<2)>>2]=B;i=r[e+B>>0]|0}while(i<<24>>24!=0);s=B>>>0>1;if(s){f=0;b=-1;n=1;e:while(1){l=1;i=f;while(1){f=n;i:while(1){c=1;while(1){n=r[e+(c+b)>>0]|0;t=r[e+f>>0]|0;if(n<<24>>24!=t<<24>>24)break i;if((c|0)==(l|0))break;c=c+1|0;f=c+i|0;if(f>>>0>=B>>>0){w=l;i=b;break e}}i=l+i|0;f=i+1|0;if(f>>>0>=B>>>0){w=l;i=b;break e}}l=f-b|0;if((n&255)<=(t&255))break;n=f+1|0;if(n>>>0>=B>>>0){w=l;i=b;break e}else i=f}n=i+2|0;if(n>>>0>=B>>>0){w=1;break}else{f=i+1|0;b=i}}if(s){l=0;s=-1;t=1;while(1){f=1;n=l;while(1){l=t;e:while(1){b=1;while(1){t=r[e+(b+s)>>0]|0;c=r[e+l>>0]|0;if(t<<24>>24!=c<<24>>24)break e;if((b|0)==(f|0))break;b=b+1|0;l=b+n|0;if(l>>>0>=B>>>0){t=w;n=s;l=26;break A}}n=f+n|0;l=n+1|0;if(l>>>0>=B>>>0){t=w;n=s;l=26;break A}}f=l-s|0;if((t&255)>=(c&255))break;t=l+1|0;if(t>>>0>=B>>>0){t=w;n=s;l=26;break A}else n=l}t=n+2|0;if(t>>>0>=B>>>0){t=w;f=1;l=26;break}else{l=n+1|0;s=n}}}else{t=w;f=1;n=-1;l=26}}else{t=1;i=-1;f=1;n=-1;l=26}}else{t=1;i=-1;B=0;f=1;n=-1;l=26}}while(0);A:do{if((l|0)==26){h=(n+1|0)>>>0>(i+1|0)>>>0;f=h?f:t;h=h?n:i;d=h+1|0;if(!(F4(e,e+f|0,d)|0))o=B-f|0;else{f=B-h+-1|0;o=0;f=(h>>>0>f>>>0?h:f)+1|0}b=B|63;s=B+-1|0;w=(o|0)!=0;u=B-f|0;i=A;c=0;n=A;while(1){l=i;do{if((n-l|0)>>>0>>0){t=L1(n,0,b)|0;if(t)if((t-l|0)>>>0>>0){i=0;break A}else break;else{t=n+b|0;break}}else t=n}while(0);n=r[i+s>>0]|0;e:do{if(!(1<<(n&31)&a[v+(((n&255)>>>5&255)<<2)>>2])){l=0;n=B}else{n=B-(a[g+((n&255)<<2)>>2]|0)|0;if(n|0){l=0;n=w&(c|0)!=0&n>>>0>>0?u:n;break}n=d>>>0>c>>>0?d:c;l=r[e+n>>0]|0;i:do{if(!(l<<24>>24))n=d;else{while(1){if(l<<24>>24!=(r[i+n>>0]|0))break;n=n+1|0;l=r[e+n>>0]|0;if(!(l<<24>>24)){n=d;break i}}l=0;n=n-h|0;break e}}while(0);while(1){if(n>>>0<=c>>>0)break A;n=n+-1|0;if((r[e+n>>0]|0)!=(r[i+n>>0]|0)){l=o;n=f;break}}}}while(0);i=i+n|0;c=l;n=t}}}while(0);k=E;return i|0}function x4(A,e,i){A=A|0;e=e|0;i=i|0;T4(A,e,i)|0;return A|0}function T4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=e;A:do{if(!((n^A)&3)){f=(i|0)!=0;if(f&(n&3|0)!=0)do{n=r[e>>0]|0;r[A>>0]=n;if(!(n<<24>>24))break A;i=i+-1|0;e=e+1|0;A=A+1|0;f=(i|0)!=0}while(f&(e&3|0)!=0);if(f){if(r[e>>0]|0){e:do{if(i>>>0>3){f=e;while(1){e=a[f>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0){e=f;break e}a[A>>2]=e;i=i+-4|0;e=f+4|0;A=A+4|0;if(i>>>0>3)f=e;else break}}}while(0);l=11}}else i=0}else l=11}while(0);A:do{if((l|0)==11)if(!i)i=0;else while(1){l=r[e>>0]|0;r[A>>0]=l;if(!(l<<24>>24))break A;i=i+-1|0;A=A+1|0;if(!i){i=0;break}else e=e+1|0}}while(0);Y6(A|0,0,i|0)|0;return A|0}function j4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=k;k=k+32|0;f=n;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=0;i=r[e>>0]|0;do{if(!(i<<24>>24))e=0;else{if(!(r[e+1>>0]|0)){e=A;while(1)if((r[e>>0]|0)==i<<24>>24)e=e+1|0;else break;e=e-A|0;break}do{l=f+(((i&255)>>>5&255)<<2)|0;a[l>>2]=a[l>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;A:do{if(!(i<<24>>24))e=A;else{e=A;do{if(!(a[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)))break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}while(0);e=e-A|0}}while(0);k=n;return e|0}function S4(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=R2(A)|0;A=NA(6,i|0)|0;A=N2((A|0)==-4?0:A)|0;k=e;return A|0}function P4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=O4(A,e,f)|0;k=r;return i|0}function O4(A,e,i){A=A|0;e=e|0;i=i|0;return k4(A,2147483647,e,i)|0}function K4(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+208|0;c=s+8|0;b=s;l=U(i,e)|0;t=b;a[t>>2]=1;a[t+4>>2]=0;A:do{if(l|0){t=0-i|0;a[c+4>>2]=i;a[c>>2]=i;f=2;e=i;n=i;while(1){e=e+i+n|0;a[c+(f<<2)>>2]=e;if(e>>>0>>0){w=n;f=f+1|0;n=e;e=w}else break}n=A+l+t|0;if(n>>>0>A>>>0){l=n;f=1;e=1;do{do{if((e&3|0)!=3){e=f+-1|0;if((a[c+(e<<2)>>2]|0)>>>0<(l-A|0)>>>0)_4(A,i,r,f,c);else $4(A,i,r,b,f,0,c);if((f|0)==1){A3(b,1);f=0;break}else{A3(b,e);f=1;break}}else{_4(A,i,r,f,c);q4(b,2);f=f+2|0}}while(0);e=a[b>>2]|1;a[b>>2]=e;A=A+i|0}while(A>>>0>>0)}else{f=1;e=1}$4(A,i,r,b,f,0,c);n=b+4|0;while(1){if((f|0)==1&(e|0)==1){if(!(a[n>>2]|0))break A}else if((f|0)>=2){A3(b,2);w=f+-2|0;a[b>>2]=a[b>>2]^7;q4(b,1);$4(A+(0-(a[c+(w<<2)>>2]|0))+t|0,i,r,b,f+-1|0,1,c);A3(b,1);e=a[b>>2]|1;a[b>>2]=e;l=A+t|0;$4(l,i,r,b,w,1,c);A=l;f=w;continue}e=e3(b)|0;q4(b,e);A=A+t|0;f=e+f|0;e=a[b>>2]|0}}}while(0);k=s;return}function _4(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+240|0;s=w;a[s>>2]=A;A:do{if((r|0)>1){b=0-e|0;n=A;c=r;r=1;while(1){l=n+b|0;t=c+-2|0;n=l+(0-(a[f+(t<<2)>>2]|0))|0;if((m5[i&127](A,n)|0)>-1?(m5[i&127](A,l)|0)>-1:0)break A;A=r+1|0;r=s+(r<<2)|0;if((m5[i&127](n,l)|0)>-1){a[r>>2]=n;r=c+-1|0}else{a[r>>2]=l;n=l;r=t}if((r|0)<=1){r=A;break A}c=r;r=A;A=a[s>>2]|0}}else r=1}while(0);r3(e,s,r);k=w;return}function q4(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=a[f>>2]|0;a[A>>2]=r;a[f>>2]=0;e=e+-32|0;i=0}else{i=a[f>>2]|0;r=a[A>>2]|0}a[A>>2]=i<<32-e|r>>>e;a[f>>2]=i>>>e;return}function $4(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+240|0;w=o+232|0;u=o;h=a[r>>2]|0;a[w>>2]=h;c=a[r+4>>2]|0;b=w+4|0;a[b>>2]=c;a[u>>2]=A;A:do{if((h|0)!=1|(c|0)!=0?(s=0-e|0,t=A+(0-(a[l+(f<<2)>>2]|0))|0,(m5[i&127](t,A)|0)>=1):0){r=1;n=(n|0)==0;c=t;while(1){if(n&(f|0)>1){n=A+s|0;t=a[l+(f+-2<<2)>>2]|0;if((m5[i&127](n,c)|0)>-1){t=10;break A}if((m5[i&127](n+(0-t)|0,c)|0)>-1){t=10;break A}}n=r+1|0;a[u+(r<<2)>>2]=c;h=e3(w)|0;q4(w,h);f=h+f|0;if(!((a[w>>2]|0)!=1|(a[b>>2]|0)!=0)){r=n;A=c;t=10;break A}A=c+(0-(a[l+(f<<2)>>2]|0))|0;if((m5[i&127](A,a[u>>2]|0)|0)<1){A=c;r=n;n=0;t=9;break}else{h=c;r=n;n=1;c=A;A=h}}}else{r=1;t=9}}while(0);if((t|0)==9?(n|0)==0:0)t=10;if((t|0)==10){r3(e,u,r);_4(A,e,i,f,l)}k=o;return}function A3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=a[A>>2]|0;a[f>>2]=r;a[A>>2]=0;e=e+-32|0;i=0}else{i=a[A>>2]|0;r=a[f>>2]|0}a[f>>2]=i>>>(32-e|0)|r<>2]=i<>2]|0)+-1|0)|0;if(!e){e=i3(a[A+4>>2]|0)|0;return((e|0)==0?0:e+32|0)|0}else return e|0;return 0}function i3(A){A=A|0;var e=0;if(A)if(!(A&1)){e=A;A=0;do{A=A+1|0;e=e>>>1}while(!(e&1|0))}else A=0;else A=32;return A|0}function r3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=k;k=k+256|0;r=l;A:do{if((i|0)>=2?(n=e+(i<<2)|0,a[n>>2]=r,A|0):0)while(1){f=A>>>0<256?A:256;y6(r|0,a[e>>2]|0,f|0)|0;r=0;do{t=e+(r<<2)|0;r=r+1|0;y6(a[t>>2]|0,a[e+(r<<2)>>2]|0,f|0)|0;a[t>>2]=(a[t>>2]|0)+f}while((r|0)!=(i|0));A=A-f|0;if(!A)break A;r=a[n>>2]|0}}while(0);k=l;return}function f3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=o4(A,e,f)|0;k=r;return i|0}function a3(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;EA(0,i|0)|0;e=0;i=(a[i+4>>2]|0)*65537^(i>>>4)+A;while(1){r[A+e>>0]=(i&15)+65|i<<1&32;e=e+1|0;if((e|0)==6)break;else i=i>>>5}k=f;return A|0}function n3(A,e,i){A=A|0;e=e|0;i=i|0;i=W1(A,e,i,-2147483648,0)|0;return i|0}function l3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;f=l;i=r[e>>0]|0;A:do{if(i<<24>>24!=0?(r[e+1>>0]|0)!=0:0){a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=0;do{t=f+(((i&255)>>>5&255)<<2)|0;a[t>>2]=a[t>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;if(!(i<<24>>24))e=A;else{e=A;do{if(a[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)|0)break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}else n=3}while(0);if((n|0)==3)e=j2(A,i<<24>>24)|0;k=l;return e-A|0}function t3(A,e){A=A|0;e=e|0;var i=0;if(!A){A=a[47666]|0;if(!A)A=0;else i=3}else i=3;do{if((i|0)==3){A=A+(j4(A,e)|0)|0;if(!(r[A>>0]|0)){a[47666]=0;A=0;break}e=A+(l3(A,e)|0)|0;a[47666]=e;if(!(r[e>>0]|0)){a[47666]=0;break}else{a[47666]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function c3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=e&255;do{if(!i){e=0;break}i=i+-1|0;e=A+i|0}while((r[e>>0]|0)!=f<<24>>24);return e|0}function b3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!A){A=a[i>>2]|0;if(!A)A=0;else f=3}else f=3;do{if((f|0)==3){A=A+(j4(A,e)|0)|0;if(!(r[A>>0]|0)){a[i>>2]=0;A=0;break}e=A+(l3(A,e)|0)|0;a[i>>2]=e;if(!(r[e>>0]|0)){a[i>>2]=0;break}else{a[i>>2]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function s3(A){A=A|0;var e=0,i=0;i=(S2(A)|0)+1|0;e=m2(i)|0;if(!e)e=0;else y6(e|0,A|0,i|0)|0;return e|0}function w3(A,e){A=A|0;e=e|0;return c3(A,e,(S2(A)|0)+1|0)|0}function u3(A,e){A=A|0;e=e|0;$1(A+(S2(A)|0)|0,e)|0;return A|0}function k3(A,e){A=A|0;e=e|0;e=A+(l3(A,e)|0)|0;return(r[e>>0]|0?e:0)|0}function o3(A){A=A|0;var e=0;if((a[A+76>>2]|0)>-1){e=(d4(A)|0)==0;A=(a[A>>2]|0)>>>4&1}else A=(a[A>>2]|0)>>>4&1;return A|0}function h3(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((a[A+76>>2]|0)>-1)f=d4(A)|0;else f=0;d3(A);n=(a[A>>2]&1|0)!=0;if(!n){r=B3()|0;i=a[A+52>>2]|0;e=A+56|0;if(i|0)a[i+56>>2]=a[e>>2];e=a[e>>2]|0;if(e|0)a[e+52>>2]=i;if((a[r>>2]|0)==(A|0))a[r>>2]=e;v3()}e=g3(A)|0;e=Q5[a[A+12>>2]&63](A)|0|e;i=a[A+92>>2]|0;if(i|0)L2(i);if(n){if(f|0)B4(A)}else L2(A);return e|0}function d3(A){A=A|0;var e=0;if(a[A+68>>2]|0){e=a[A+116>>2]|0;A=A+112|0;if(e|0)a[e+112>>2]=a[A>>2];A=a[A>>2]|0;if(!A)A=(C3()|0)+232|0;else A=A+116|0;a[A>>2]=e}return}function B3(){CA(190668);return 190676}function v3(){RA(190668);return}function g3(A){A=A|0;var e=0,i=0;do{if(A){if((a[A+76>>2]|0)<=-1){e=E3(A)|0;break}i=(d4(A)|0)==0;e=E3(A)|0;if(!i)B4(A)}else{if(!(a[15711]|0))e=0;else e=g3(a[15711]|0)|0;A=a[(B3()|0)>>2]|0;if(A)do{if((a[A+76>>2]|0)>-1)i=d4(A)|0;else i=0;if((a[A+20>>2]|0)>>>0>(a[A+28>>2]|0)>>>0)e=E3(A)|0|e;if(i|0)B4(A);A=a[A+56>>2]|0}while((A|0)!=0);v3()}}while(0);return e|0}function E3(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;e=A+20|0;l=A+28|0;if((a[e>>2]|0)>>>0>(a[l>>2]|0)>>>0?(W5[a[A+36>>2]&63](A,0,0)|0,(a[e>>2]|0)==0):0)A=-1;else{i=A+4|0;r=a[i>>2]|0;f=A+8|0;n=a[f>>2]|0;if(r>>>0>>0)W5[a[A+40>>2]&63](A,r-n|0,1)|0;a[A+16>>2]=0;a[l>>2]=0;a[e>>2]=0;a[f>>2]=0;a[i>>2]=0;A=0}return A|0}function C3(){return r1()|0}function I3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+64|0;w=u+40|0;b=u+24|0;c=u+16|0;n=u;s=u+56|0;f=r[e>>0]|0;if(L1(153580,f<<24>>24,4)|0){i=m2(1156)|0;if(!i)i=0;else{l=i;t=l+124|0;do{a[l>>2]=0;l=l+4|0}while((l|0)<(t|0));if(!(G1(e,43)|0))a[i>>2]=f<<24>>24==114?8:4;if(G1(e,101)|0){a[n>>2]=A;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0;f=r[e>>0]|0}if(f<<24>>24==97){a[c>>2]=A;a[c+4>>2]=3;f=DA(221,c|0)|0;if(!(f&1024)){a[b>>2]=A;a[b+4>>2]=4;a[b+8>>2]=f|1024;DA(221,b|0)|0}e=a[i>>2]|128;a[i>>2]=e}else e=a[i>>2]|0;a[i+60>>2]=A;a[i+44>>2]=i+132;a[i+48>>2]=1024;f=i+75|0;r[f>>0]=-1;if((e&8|0)==0?(a[w>>2]=A,a[w+4>>2]=21523,a[w+8>>2]=s,(JA(54,w|0)|0)==0):0)r[f>>0]=10;a[i+32>>2]=15;a[i+36>>2]=18;a[i+40>>2]=16;a[i+12>>2]=17;if(!(a[47645]|0))a[i+76>>2]=-1;Z3(i)|0}}else{a[(X2()|0)>>2]=22;i=0}k=u;return i|0}function Z3(A){A=A|0;var e=0,i=0;e=B3()|0;a[A+56>>2]=a[e>>2];i=a[e>>2]|0;if(i|0)a[i+52>>2]=A;a[e>>2]=A;v3();return A|0}function G3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;A:do{if(!e)A=0;else{do{if(i|0){t=(A|0)==0?f:A;A=r[e>>0]|0;if(A<<24>>24>-1){a[t>>2]=A&255;A=A<<24>>24!=0&1;break A}l=(a[a[(Q3()|0)+188>>2]>>2]|0)==0;A=r[e>>0]|0;if(l){a[t>>2]=A<<24>>24&57343;A=1;break A}A=(A&255)+-194|0;if(A>>>0<=50){f=e+1|0;l=a[62384+(A<<2)>>2]|0;if(i>>>0<4?l&-2147483648>>>((i*6|0)+-6|0)|0:0)break;A=n[f>>0]|0;i=A>>>3;if((i+-16|i+(l>>26))>>>0<=7){A=A+-128|l<<6;if((A|0)>=0){a[t>>2]=A;A=2;break A}f=(n[e+2>>0]|0)+-128|0;if(f>>>0<=63){f=f|A<<6;if((f|0)>=0){a[t>>2]=f;A=3;break A}A=(n[e+3>>0]|0)+-128|0;if(A>>>0<=63){a[t>>2]=A|f<<6;A=4;break A}}}}}}while(0);a[(X2()|0)>>2]=84;A=-1}}while(0);k=c;return A|0}function Q3(){return r1()|0}function m3(A,e){A=A|0;e=e|0;var i=0;i=S2(A)|0;return((L3(A,1,i,e)|0)!=(i|0))<<31>>31|0}function L3(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=U(i,e)|0;i=(e|0)==0?0:i;if((a[r+76>>2]|0)>-1){n=(d4(r)|0)==0;A=L4(A,f,r)|0;if(!n)B4(r)}else A=L4(A,f,r)|0;if((A|0)!=(f|0))i=(A>>>0)/(e>>>0)|0;return i|0}function W3(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;c=s;b=e&255;r[c>>0]=b;f=A+16|0;l=a[f>>2]|0;if(!l)if(!(W4(A)|0)){l=a[f>>2]|0;t=4}else i=-1;else t=4;do{if((t|0)==4){t=A+20|0;f=a[t>>2]|0;if(f>>>0>>0?(i=e&255,(i|0)!=(r[A+75>>0]|0)):0){a[t>>2]=f+1;r[f>>0]=b;break}if((W5[a[A+36>>2]&63](A,c,1)|0)==1)i=n[c>>0]|0;else i=-1}}while(0);k=s;return i|0}function y3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=A;a[f+4>>2]=e;a[f+8>>2]=i;i=N2(MA(3,f|0)|0)|0;k=r;return i|0}function z3(){var A=0,e=0;e=k;k=k+16|0;A=YA(20,e|0)|0;k=e;return A|0}function Y3(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=A;f=153565;a=i+15|0;do{r[i>>0]=r[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(a|0));if(!e){r[A+14>>0]=48;r[A+15>>0]=0}else{f=e;i=14;while(1){i=i+1|0;if(f>>>0<10)break;else f=(f>>>0)/10|0}r[A+i>>0]=0;while(1){i=i+-1|0;r[A+i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}}return}function D3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+48|0;f=n+40|0;r=n+8|0;i=n;a[i>>2]=A;a[i+4>>2]=e;i=zA(197,i|0)|0;if((i|0)==-9?(a[r>>2]=A,a[r+4>>2]=1,(DA(221,r|0)|0)>=0):0){Y3(r,A);a[f>>2]=r;a[f+4>>2]=e;e=N2(yA(195,f|0)|0)|0}else e=N2(i)|0;k=n;return e|0}function M3(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=A;a[r+4>>2]=e;e=N2(FA(33,r|0)|0)|0;k=i;return e|0}function F3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+48|0;l=t+32|0;n=t+16|0;i=t;if(L1(153580,r[e>>0]|0,4)|0){f=V3(e)|0;a[i>>2]=A;a[i+4>>2]=f|32768;a[i+8>>2]=438;i=N2(VA(5,i|0)|0)|0;if((i|0)>=0){if(f&524288|0){a[n>>2]=i;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0}A=I3(i,e)|0;if(!A){a[l>>2]=i;NA(6,l|0)|0;A=0}}else A=0}else{a[(X2()|0)>>2]=22;A=0}k=t;return A|0}function V3(A){A=A|0;var e=0,i=0,f=0;i=(G1(A,43)|0)==0;e=r[A>>0]|0;i=i?e<<24>>24!=114&1:2;f=(G1(A,120)|0)==0;i=f?i:i|128;A=(G1(A,101)|0)==0;A=A?i:i|524288;A=e<<24>>24==114?A:A|64;A=e<<24>>24==119?A|512:A;return(e<<24>>24==97?A|1024:A)|0}function J3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=N3(A,e,f)|0;k=r;return i|0}function N3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+128|0;r=n;f=r;l=f+124|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(l|0));a[r+32>>2]=41;a[r+44>>2]=A;a[r+76>>2]=-1;a[r+84>>2]=A;l=R3(r,e,i)|0;k=n;return l|0}function X3(A,e,i){A=A|0;e=e|0;i=i|0;return P3(A,e,i)|0}function R3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0;H=k;k=k+288|0;F=H+8|0;V=H+17|0;J=H;N=H+16|0;if((a[A+76>>2]|0)>-1)R=d4(A)|0;else R=0;f=r[e>>0]|0;A:do{if(f<<24>>24){Q=A+4|0;m=A+100|0;W=A+108|0;y=A+8|0;z=V+10|0;Y=V+33|0;G=F+4|0;D=V+1|0;M=V+1|0;s=e;v=0;e=0;t=0;l=0;e:while(1){i:do{if(!(Q1(f&255)|0)){f=f<<24>>24==37;r:do{if(f){o=s+1|0;w=r[o>>0]|0;f:do{switch(w<<24>>24){case 37:break r;case 42:{Z=0;s=s+2|0;break}default:{f=(w&255)+-48|0;if(f>>>0<10?(r[s+2>>0]|0)==36:0){Z=H3(i,f)|0;s=s+3|0;break f}s=(a[i>>2]|0)+(4-1)&~(4-1);Z=a[s>>2]|0;a[i>>2]=s+4;s=o}}}while(0);f=r[s>>0]|0;w=f&255;if((w+-48|0)>>>0<10){o=0;do{o=(o*10|0)+-48+w|0;s=s+1|0;f=r[s>>0]|0;w=f&255}while((w+-48|0)>>>0<10)}else o=0;f=f<<24>>24==109;I=(Z|0)!=0;t=f?0:t;l=f?0:l;s=f?s+1|0:s;f=I&f;w=s+1|0;switch(r[s>>0]|0){case 104:{C=(r[w>>0]|0)==104;h=C?-2:-1;s=C?s+2|0:w;break}case 108:{C=(r[w>>0]|0)==108;h=C?3:1;s=C?s+2|0:w;break}case 106:{h=3;s=w;break}case 116:case 122:{h=1;s=w;break}case 76:{h=2;s=w;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:{h=0;break}default:{X=135;break e}}B=n[s>>0]|0;g=(B&47|0)==3;B=g?B|32:B;g=g?1:h;d=B&255;switch(d<<24>>24){case 99:{o=(o|0)>1?o:1;C=v;break}case 91:{C=v;break}case 110:{p3(Z,g,v,((v|0)<0)<<31>>31);w=v;break i}default:{y1(A,0);do{w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0}while((Q1(w)|0)!=0);if(!(a[m>>2]|0))w=a[Q>>2]|0;else{w=(a[Q>>2]|0)+-1|0;a[Q>>2]=w}C=(a[W>>2]|0)+v+w-(a[y>>2]|0)|0}}y1(A,o);w=a[Q>>2]|0;h=a[m>>2]|0;if(w>>>0>>0)a[Q>>2]=w+1;else{if((Y1(A)|0)<0){X=135;break e}h=a[m>>2]|0}if(h|0)a[Q>>2]=(a[Q>>2]|0)+-1;f:do{switch(d<<24>>24){case 91:case 99:case 115:{E=(B|0)==99;a:do{if((B|16|0)==115){Y6(D|0,-1,256)|0;r[V>>0]=0;if((B|0)==115){r[Y>>0]=0;r[z>>0]=0;r[z+1>>0]=0;r[z+2>>0]=0;r[z+3>>0]=0;r[z+4>>0]=0}}else{B=s+1|0;w=(r[B>>0]|0)==94;v=w&1;s=w?s+2|0:B;Y6(M|0,w&1|0,256)|0;r[V>>0]=0;w=r[s>>0]|0;switch(w<<24>>24){case 45:{w=46;X=63;break}case 93:{w=94;X=63;break}default:{}}while(1){if((X|0)==63){X=0;r[V+w>>0]=v^1;w=s+1|0;s=w;w=r[w>>0]|0}n:do{switch(w<<24>>24){case 0:{X=135;break e}case 93:break a;case 45:{B=s+1|0;w=r[B>>0]|0;switch(w<<24>>24){case 93:case 0:{w=45;break n}default:{}}s=r[s+-1>>0]|0;if((s&255)<(w&255)){d=(v^1)&255;s=s&255;do{s=s+1|0;r[V+s>>0]=d;w=r[B>>0]|0}while((s|0)<(w&255|0));s=B}else s=B;break}default:{}}}while(0);w=(w&255)+1|0;X=63}}}while(0);w=E?o+1|0:31;B=(g|0)==1;a:do{if(B){if(f){l=m2(w<<2)|0;if(!l){t=0;l=0;f=1;X=135;break e}}else l=Z;a[F>>2]=0;a[G>>2]=0;d=w;t=0;n:while(1){h=(l|0)==0;do{l:while(1){w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0;if(!(r[V+(w+1)>>0]|0))break n;r[N>>0]=w;switch(S1(J,N,1,F)|0){case-1:{t=0;X=135;break e}case-2:break;default:break l}}if(!h){a[l+(t<<2)>>2]=a[J>>2];t=t+1|0}}while(!(f&(t|0)==(d|0)));t=d<<1|1;w=y2(l,t<<2)|0;if(!w){t=0;f=1;X=135;break e}else{g=d;d=t;l=w;t=g}}if(!(U3(F)|0)){t=0;X=135;break e}else{w=t;t=0;d=l}}else{if(f){t=m2(w)|0;if(!t){t=0;l=0;f=1;X=135;break e}else{h=w;l=0}while(1){do{w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0;if(!(r[V+(w+1)>>0]|0)){w=l;d=0;l=0;break a}r[t+l>>0]=w;l=l+1|0}while((l|0)!=(h|0));l=h<<1|1;w=y2(t,l)|0;if(!w){l=0;f=1;X=135;break e}else{g=h;h=l;t=w;l=g}}}if(!Z){t=h;while(1){l=a[Q>>2]|0;if(l>>>0>>0){a[Q>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!(r[V+(l+1)>>0]|0)){w=0;t=0;d=0;l=0;break a}t=a[m>>2]|0}}else{w=0;t=h;while(1){l=a[Q>>2]|0;if(l>>>0>>0){a[Q>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!(r[V+(l+1)>>0]|0)){t=Z;d=0;l=0;break a}r[Z+w>>0]=l;w=w+1|0;t=a[m>>2]|0}}}}while(0);if(!(a[m>>2]|0))h=a[Q>>2]|0;else{h=(a[Q>>2]|0)+-1|0;a[Q>>2]=h}h=h-(a[y>>2]|0)+(a[W>>2]|0)|0;if(!h){X=137;break e}if(!((h|0)==(o|0)|E^1)){X=137;break e}do{if(f)if(B){a[Z>>2]=d;break}else{a[Z>>2]=t;break}}while(0);if(!E){if(d|0)a[d+(w<<2)>>2]=0;if(!t){t=0;break f}r[t+w>>0]=0}break}case 120:case 88:case 112:{w=16;X=123;break}case 111:{w=8;X=123;break}case 117:case 100:{w=10;X=123;break}case 105:{w=0;X=123;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{u=+x3(A,g,0);if((a[W>>2]|0)==((a[y>>2]|0)-(a[Q>>2]|0)|0)){X=137;break e}if(Z)switch(g|0){case 0:{c[Z>>2]=u;break f}case 1:{b[Z>>3]=u;break f}case 2:{b[Z>>3]=u;break f}default:break f}break}default:{}}}while(0);do{if((X|0)==123){X=0;w=z1(A,w,0,-1,-1)|0;if((a[W>>2]|0)==((a[y>>2]|0)-(a[Q>>2]|0)|0)){X=137;break e}if(I&(B|0)==112){a[Z>>2]=w;break}else{p3(Z,g,w,L);break}}}while(0);e=e+(I&1)|0;w=(a[W>>2]|0)+C+(a[Q>>2]|0)-(a[y>>2]|0)|0;break i}}while(0);s=s+(f&1)|0;y1(A,0);f=a[Q>>2]|0;if(f>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=f+1;f=n[f>>0]|0}else f=Y1(A)|0;if((f|0)!=(n[s>>0]|0)){X=22;break e}w=v+1|0}else{while(1){f=s+1|0;if(!(Q1(n[f>>0]|0)|0))break;else s=f}y1(A,0);do{f=a[Q>>2]|0;if(f>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=f+1;f=n[f>>0]|0}else f=Y1(A)|0}while((Q1(f)|0)!=0);if(!(a[m>>2]|0))f=a[Q>>2]|0;else{f=(a[Q>>2]|0)+-1|0;a[Q>>2]=f}w=(a[W>>2]|0)+v+f-(a[y>>2]|0)|0}}while(0);s=s+1|0;f=r[s>>0]|0;if(!(f<<24>>24))break A;else v=w}if((X|0)==22){if(a[m>>2]|0)a[Q>>2]=(a[Q>>2]|0)+-1;if((e|0)!=0|(f|0)>-1)break;else{f=0;X=136}}else if((X|0)==135){f=f&1;if(!e)X=136}else if((X|0)==137)f=f&1;if((X|0)==136)e=-1;if(f){L2(t);L2(l)}}else e=0}while(0);if(R|0)B4(A);k=H;return e|0}function H3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=k;k=k+16|0;i=r;a[i>>2]=a[A>>2];while(1){f=(a[i>>2]|0)+(4-1)&~(4-1);A=a[f>>2]|0;a[i>>2]=f+4;if(e>>>0>1)e=e+-1|0;else break}k=r;return A|0}function p3(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;A:do{if(A|0)switch(e|0){case-2:{r[A>>0]=i;break A}case-1:{f[A>>1]=i;break A}case 0:{a[A>>2]=i;break A}case 1:{a[A>>2]=i;break A}case 3:{e=A;a[e>>2]=i;a[e+4>>2]=n;break A}default:break A}}while(0);return}function U3(A){A=A|0;if(!A)A=1;else A=(a[A>>2]|0)==0&1;return A|0}function x3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;switch(e|0){case 0:{s=-149;w=24;c=4;break}case 1:{s=-1074;w=53;c=4;break}case 2:{s=-1074;w=53;c=4;break}default:f=0.0}A:do{if((c|0)==4){k=A+4|0;u=A+100|0;do{e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0}while((Q1(e)|0)!=0);e:do{switch(e|0){case 43:case 45:{t=1-(((e|0)==45&1)<<1)|0;e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;l=n[e>>0]|0;break e}else{l=Y1(A)|0;break e}}default:{l=e;t=1}}}while(0);e=0;do{if((l|32|0)!=(r[153584+e>>0]|0))break;do{if(e>>>0<7){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0;break}else{l=Y1(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);e:do{switch(e|0){case 8:break;case 3:{c=23;break}default:{b=(i|0)!=0;if(b&e>>>0>3)if((e|0)==8)break e;else{c=23;break e}i:do{if(!e){e=0;do{if((l|32|0)!=(r[153593+e>>0]|0))break i;do{if(e>>>0<2){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0;break}else{l=Y1(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==40)e=1;else{if(!(a[u>>2]|0)){f=E;break A}a[k>>2]=(a[k>>2]|0)+-1;f=E;break A}while(1){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!((l+-48|0)>>>0<10|(l+-65|0)>>>0<26)?!((l|0)==95|(l+-97|0)>>>0<26):0)break;e=e+1|0}if((l|0)==41){f=E;break A}l=(a[u>>2]|0)==0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if(!b){a[(X2()|0)>>2]=22;y1(A,0);f=0.0;break A}if(!e){f=E;break A}while(1){e=e+-1|0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if(!e){f=E;break A}}}case 0:{if((l|0)==48){e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|32|0)==120){f=+T3(A,w,s,t,i);break A}if(!(a[u>>2]|0))e=48;else{a[k>>2]=(a[k>>2]|0)+-1;e=48}}else e=l;f=+j3(A,e,w,s,t,i);break A}default:{if(a[u>>2]|0)a[k>>2]=(a[k>>2]|0)+-1;a[(X2()|0)>>2]=22;y1(A,0);f=0.0;break A}}}}}while(0);if((c|0)==23){l=(a[u>>2]|0)==0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if((i|0)!=0&e>>>0>3)do{if(!l)a[k>>2]=(a[k>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}f=+(t|0)*C}}while(0);return+f}function T3(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0,c=0,b=0.0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=A+4|0;t=a[Z>>2]|0;I=A+100|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0;s=0}else{c=Y1(A)|0;s=0}A:while(1){switch(c|0){case 46:{C=8;break A}case 48:break;default:{B=0;u=0;k=1.0;l=0.0;t=0;w=c;v=s;E=0;g=0;s=0;c=0;break A}}t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0;s=1;continue}else{c=Y1(A)|0;s=1;continue}}if((C|0)==8){t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0}else c=Y1(A)|0;if((c|0)==48){s=0;c=0;do{t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;w=n[t>>0]|0}else w=Y1(A)|0;s=d6(s|0,c|0,-1,-1)|0;c=L}while((w|0)==48);B=1;u=0;k=1.0;l=0.0;t=0;v=1;E=0;g=0}else{B=1;u=0;k=1.0;l=0.0;t=0;w=c;v=s;E=0;g=0;s=0;c=0}}while(1){h=w+-48|0;o=w|32;if(h>>>0>=10){d=(w|0)==46;if(!(d|(o+-97|0)>>>0<6))break;if(d)if(!B){B=1;b=k;d=v;s=g;c=E;h=g;o=E}else{w=46;break}else C=20}else C=20;if((C|0)==20){C=0;w=(w|0)>57?o+-87|0:h;do{if(!((E|0)<0|(E|0)==0&g>>>0<8))if((E|0)<0|(E|0)==0&g>>>0<14){k=k*.0625;b=k;l=l+k*+(w|0);break}else{v=(u|0)!=0|(w|0)==0;u=v?u:1;b=k;l=v?l:l+k*.5;break}else{b=k;t=w+(t<<4)|0}}while(0);h=d6(g|0,E|0,1,0)|0;d=1;o=L}w=a[Z>>2]|0;if(w>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=w+1;k=b;w=n[w>>0]|0;v=d;E=o;g=h;continue}else{k=b;w=Y1(A)|0;v=d;E=o;g=h;continue}}do{if(!v){t=(a[I>>2]|0)==0;if(!t)a[Z>>2]=(a[Z>>2]|0)+-1;if(f){if(!t)a[Z>>2]=(a[Z>>2]|0)+-1;if(!((B|0)==0|t))a[Z>>2]=(a[Z>>2]|0)+-1}else y1(A,0);l=+(r|0)*0.0}else{o=(B|0)==0;h=o?g:s;o=o?E:c;if((E|0)<0|(E|0)==0&g>>>0<8){s=g;c=E;while(1){t=t<<4;C=s;s=d6(s|0,c|0,1,0)|0;if(!((c|0)<0|(c|0)==0&C>>>0<7)){u=t;break}else c=L}}else u=t;if((w|32|0)==112){c=S3(A,f)|0;t=L;if((c|0)==0&(t|0)==-2147483648){if(!f){y1(A,0);l=0.0;break}if(!(a[I>>2]|0)){c=0;t=0}else{a[Z>>2]=(a[Z>>2]|0)+-1;c=0;t=0}}}else if(!(a[I>>2]|0)){c=0;t=0}else{a[Z>>2]=(a[Z>>2]|0)+-1;c=0;t=0}s=G6(h|0,o|0,2)|0;s=d6(s|0,L|0,-32,-1)|0;s=d6(s|0,L|0,c|0,t|0)|0;t=L;if(!u){l=+(r|0)*0.0;break}Z=0-i|0;f=((Z|0)<0)<<31>>31;if((t|0)>(f|0)|(t|0)==(f|0)&s>>>0>Z>>>0){a[(X2()|0)>>2]=34;l=+(r|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}Z=i+-106|0;f=((Z|0)<0)<<31>>31;if((t|0)<(f|0)|(t|0)==(f|0)&s>>>0>>0){a[(X2()|0)>>2]=34;l=+(r|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((u|0)>-1){c=u;do{Z=!(l>=.5);c=c<<1|(Z^1)&1;l=l+(Z?l:l+-1.0);s=d6(s|0,t|0,-1,-1)|0;t=L}while((c|0)>-1);k=l;w=c}else{k=l;w=u}Z=((e|0)<0)<<31>>31;i=B6(32,0,i|0,((i|0)<0)<<31>>31|0)|0;t=d6(i|0,L|0,s|0,t|0)|0;i=L;if((i|0)<(Z|0)|(i|0)==(Z|0)&t>>>0>>0)if((t|0)>0)C=59;else{c=0;t=84;C=61}else{t=e;C=59}if((C|0)==59)if((t|0)<53){c=t;t=84-t|0;C=61}else{b=0.0;l=+(r|0)}if((C|0)==61){l=+(r|0);b=+k1(+s1(1.0,t),l);t=c}r=(w&1|0)==0&(k!=0.0&(t|0)<32);l=(r?0.0:k)*l+(b+l*+((w+(r&1)|0)>>>0))-b;if(!(l!=0.0))a[(X2()|0)>>2]=34;l=+o1(l,s)}}while(0);return+l}function j3(A,e,i,r,f,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;var t=0.0,c=0.0,b=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0.0;F=k;k=k+512|0;Y=F;D=r+i|0;M=0-D|0;m=A+4|0;W=A+100|0;b=0;A:while(1){switch(e|0){case 46:{G=6;break A}case 48:break;default:{E=0;o=b;h=0;u=0;break A}}e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0;b=1;continue}else{e=Y1(A)|0;b=1;continue}}if((G|0)==6){e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==48){b=0;e=0;while(1){b=d6(b|0,e|0,-1,-1)|0;u=L;e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==48)e=u;else{E=1;o=1;h=b;break}}}else{E=1;o=b;h=0;u=0}}a[Y>>2]=0;w=e+-48|0;s=(e|0)==46;A:do{if(s|w>>>0<10){Q=Y+496|0;C=0;b=0;g=0;I=E;Z=o;G=w;o=0;w=0;e:while(1){do{if(s)if(!I){I=1;h=o;u=w}else break e;else{o=d6(o|0,w|0,1,0)|0;w=L;E=(e|0)!=48;if((b|0)>=125){if(!E)break;a[Q>>2]=a[Q>>2]|1;break}s=Y+(b<<2)|0;if(!C)e=G;else e=e+-48+((a[s>>2]|0)*10|0)|0;a[s>>2]=e;C=C+1|0;Z=(C|0)==9;C=Z?0:C;b=b+(Z&1)|0;g=E?o:g;Z=1}}while(0);e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;G=e+-48|0;s=(e|0)==46;if(!(s|G>>>0<10)){E=I;s=Z;G=29;break A}}e=C;s=(Z|0)!=0;G=37}else{C=0;b=0;g=0;s=o;o=0;w=0;G=29}}while(0);do{if((G|0)==29){Q=(E|0)==0;h=Q?o:h;u=Q?w:u;s=(s|0)!=0;if(!(s&(e|32|0)==101))if((e|0)>-1){e=C;G=37;break}else{e=C;G=39;break}s=S3(A,l)|0;e=L;if((s|0)==0&(e|0)==-2147483648){if(!l){y1(A,0);t=0.0;break}if(!(a[W>>2]|0)){s=0;e=0}else{a[m>>2]=(a[m>>2]|0)+-1;s=0;e=0}}Z=d6(s|0,e|0,h|0,u|0)|0;e=C;u=L;G=41}}while(0);if((G|0)==37)if(a[W>>2]|0){a[m>>2]=(a[m>>2]|0)+-1;if(s){Z=h;G=41}else G=40}else G=39;if((G|0)==39)if(s){Z=h;G=41}else G=40;do{if((G|0)==40){a[(X2()|0)>>2]=22;y1(A,0);t=0.0}else if((G|0)==41){s=a[Y>>2]|0;if(!s){t=+(f|0)*0.0;break}if(((w|0)<0|(w|0)==0&o>>>0<10)&((Z|0)==(o|0)&(u|0)==(w|0))?(i|0)>30|(s>>>i|0)==0:0){t=+(f|0)*+(s>>>0);break}A=(r|0)/-2|0;W=((A|0)<0)<<31>>31;if((u|0)>(W|0)|(u|0)==(W|0)&Z>>>0>A>>>0){a[(X2()|0)>>2]=34;t=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}A=r+-106|0;W=((A|0)<0)<<31>>31;if((u|0)<(W|0)|(u|0)==(W|0)&Z>>>0>>0){a[(X2()|0)>>2]=34;t=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(e){if((e|0)<9){w=Y+(b<<2)|0;s=a[w>>2]|0;while(1){s=s*10|0;if((e|0)>=8)break;else e=e+1|0}a[w>>2]=s}b=b+1|0}if((g|0)<9?(g|0)<=(Z|0)&(Z|0)<18:0){if((Z|0)==9){t=+(f|0)*+((a[Y>>2]|0)>>>0);break}if((Z|0)<9){t=+(f|0)*+((a[Y>>2]|0)>>>0)/+(a[63712+(8-Z<<2)>>2]|0);break}A=i+27+(U(Z,-3)|0)|0;e=a[Y>>2]|0;if((A|0)>30|(e>>>A|0)==0){t=+(f|0)*+(e>>>0)*+(a[63712+(Z+-10<<2)>>2]|0);break}}e=(Z|0)%9|0;if(!e){e=0;w=0}else{g=(Z|0)>-1?e:e+9|0;o=a[63712+(8-g<<2)>>2]|0;if(b){h=1e9/(o|0)|0;w=0;u=0;s=Z;e=0;do{m=Y+(e<<2)|0;W=a[m>>2]|0;A=((W>>>0)/(o>>>0)|0)+w|0;a[m>>2]=A;w=U(h,(W>>>0)%(o>>>0)|0)|0;A=(e|0)==(u|0)&(A|0)==0;s=A?s+-9|0:s;u=A?u+1&127:u;e=e+1|0}while((e|0)!=(b|0));if(!w)w=u;else{a[Y+(b<<2)>>2]=w;w=u;b=b+1|0}}else{w=0;b=0;s=Z}e=0;Z=9-g+s|0}A:while(1){g=(Z|0)<18;E=(Z|0)==18;C=Y+(w<<2)|0;while(1){if(!g){if(!E){s=Z;break A}if((a[C>>2]|0)>>>0>=9007199){s=18;break A}}s=0;I=b;b=b+127|0;while(1){u=b&127;o=Y+(u<<2)|0;b=G6(a[o>>2]|0,0,29)|0;b=d6(b|0,L|0,s|0,0)|0;s=L;if(s>>>0>0|(s|0)==0&b>>>0>1e9){h=E6(b|0,s|0,1e9,0)|0;b=C6(b|0,s|0,1e9,0)|0}else h=0;a[o>>2]=b;A=(u|0)==(w|0);I=(b|0)==0&(((u|0)!=(I+127&127|0)|A)^1)?u:I;if(A)break;else{s=h;b=u+-1|0}}e=e+-29|0;if(h|0)break;else b=I}w=w+127&127;b=I+127&127;s=Y+((I+126&127)<<2)|0;if((w|0)==(I|0))a[s>>2]=a[s>>2]|a[Y+(b<<2)>>2];else b=I;a[Y+(w<<2)>>2]=h;Z=Z+9|0}A:while(1){C=b+1&127;I=Y+((b+127&127)<<2)|0;while(1){h=(s|0)==18;E=(s|0)>27?9:1;Z=w;while(1){o=0;while(1){w=o+Z&127;if((w|0)==(b|0)){z=2;G=88;break}w=a[Y+(w<<2)>>2]|0;u=a[63744+(o<<2)>>2]|0;if(w>>>0>>0){z=2;G=88;break}if(w>>>0>u>>>0)break;w=o+1|0;if((o|0)<1)o=w;else{z=w;G=88;break}}if((G|0)==88?(G=0,h&(z|0)==2):0){t=0.0;u=0;break A}e=E+e|0;if((Z|0)==(b|0))Z=b;else break}h=(1<>>E;o=0;w=Z;u=Z;do{m=Y+(u<<2)|0;W=a[m>>2]|0;A=(W>>>E)+o|0;a[m>>2]=A;o=U(W&h,g)|0;A=(u|0)==(w|0)&(A|0)==0;s=A?s+-9|0:s;w=A?w+1&127:w;u=u+1&127}while((u|0)!=(b|0));if(!o)continue;if((C|0)!=(w|0))break;a[I>>2]=a[I>>2]|1}a[Y+(b<<2)>>2]=o;b=C}do{w=u+Z&127;s=b+1&127;if((w|0)==(b|0)){a[Y+(s+-1<<2)>>2]=0;b=s}t=t*1.0e9+ +((a[Y+(w<<2)>>2]|0)>>>0);u=u+1|0}while((u|0)!=2);v=+(f|0);c=t*v;u=e+53|0;o=u-r|0;h=(o|0)<(i|0);w=h?(o|0)>0?o:0:i;if((w|0)<53){V=+k1(+s1(1.0,105-w|0),c);d=+h1(c,+s1(1.0,53-w|0));B=V;t=d;d=V+(c-d)}else{B=0.0;t=0.0;d=c}s=Z+2&127;if((s|0)!=(b|0)){s=a[Y+(s<<2)>>2]|0;do{if(s>>>0>=5e8){if((s|0)!=5e8){t=v*.75+t;break}if((Z+3&127|0)==(b|0)){t=v*.5+t;break}else{t=v*.75+t;break}}else{if((s|0)==0?(Z+3&127|0)==(b|0):0)break;t=v*.25+t}}while(0);if((53-w|0)>1?!(+h1(t,1.0)!=0.0):0)c=t+1.0;else c=t}else c=t;t=d+c-B;do{if((u&2147483647|0)>(-2-D|0)){D=!(+y(+t)>=9007199254740992.0);e=e+((D^1)&1)|0;t=D?t:t*.5;if((e+50|0)<=(M|0)?!(c!=0.0&(h&((w|0)!=(o|0)|D))):0)break;a[(X2()|0)>>2]=34}}while(0);t=+o1(t,e)}}while(0);k=F;return+t}function S3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;l=A+4|0;i=a[l>>2]|0;t=A+100|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0;switch(i|0){case 43:case 45:{r=(i|0)==45&1;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0;if((e|0)!=0&(i+-48|0)>>>0>9?(a[t>>2]|0)!=0:0)a[l>>2]=(a[l>>2]|0)+-1;break}default:r=0}if((i+-48|0)>>>0>9)if(!(a[t>>2]|0)){r=-2147483648;i=0}else{a[l>>2]=(a[l>>2]|0)+-1;r=-2147483648;i=0}else{f=0;do{f=i+-48+(f*10|0)|0;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10&(f|0)<214748364);e=((f|0)<0)<<31>>31;if((i+-48|0)>>>0<10)do{e=h6(f|0,e|0,10,0)|0;f=L;i=d6(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;f=d6(i|0,L|0,e|0,f|0)|0;e=L;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10&((e|0)<21474836|(e|0)==21474836&f>>>0<2061584302));if((i+-48|0)>>>0<10)do{i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10);if(a[t>>2]|0)a[l>>2]=(a[l>>2]|0)+-1;t=(r|0)!=0;i=B6(0,0,f|0,e|0)|0;r=t?L:e;i=t?i:f}L=r;return i|0}function P3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=A+84|0;n=a[r>>2]|0;l=i+256|0;f=L1(n,0,l)|0;f=(f|0)==0?l:f-n|0;i=f>>>0>>0?f:i;y6(e|0,n|0,i|0)|0;a[A+4>>2]=n+i;e=n+f|0;a[A+8>>2]=e;a[r>>2]=e;return i|0}function O3(A,e,i){A=A|0;e=e|0;i=i|0;return K3(A,e,i)|0}function K3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((a[A+76>>2]|0)>-1){r=(d4(A)|0)==0;e=_3(A,e,i)|0;if(!r)B4(A)}else e=_3(A,e,i)|0;return e|0}function _3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((i|0)==1)e=e-(a[A+8>>2]|0)+(a[A+4>>2]|0)|0;r=A+20|0;f=A+28|0;if((a[r>>2]|0)>>>0>(a[f>>2]|0)>>>0?(W5[a[A+36>>2]&63](A,0,0)|0,(a[r>>2]|0)==0):0)e=-1;else{a[A+16>>2]=0;a[f>>2]=0;a[r>>2]=0;if((W5[a[A+40>>2]&63](A,e,i)|0)<0)e=-1;else{a[A+8>>2]=0;a[A+4>>2]=0;a[A>>2]=a[A>>2]&-17;e=0}}return e|0}function q3(A){A=A|0;var e=0,i=0,f=0,a=0,n=0,l=0;while(1){f=r[A>>0]|0;e=f<<24>>24;a=A+1|0;if(!(Q1(e)|0))break;else A=a}switch(e|0){case 45:{A=1;n=5;break}case 43:{A=0;n=5;break}default:{l=0;i=A;A=f}}if((n|0)==5){l=A;i=a;A=r[a>>0]|0}e=(A<<24>>24)+-48|0;if(e>>>0<10){A=0;do{i=i+1|0;A=(A*10|0)-e|0;e=(r[i>>0]|0)+-48|0}while(e>>>0<10)}else A=0;return(l|0?A:0-A|0)|0}function $3(A){A=A|0;return+ +A8(A,0)}function A8(A,e){A=A|0;e=e|0;return+ +e8(A,e,1)}function e8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0;t=k;k=k+128|0;l=t;f=l;n=f+124|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));f=l+4|0;a[f>>2]=A;n=l+8|0;a[n>>2]=-1;a[l+44>>2]=A;a[l+76>>2]=-1;y1(l,0);r=+x3(l,i,1);i=(a[f>>2]|0)-(a[n>>2]|0)+(a[l+108>>2]|0)|0;if(e|0)a[e>>2]=i|0?A+i|0:A;k=t;return+r}function i8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0;A:do{if(!i)e=0;else{l=e;while(1){n=i>>>1;e=l+(U(n,r)|0)|0;a=m5[f&127](A,e)|0;if(!a)break A;if((i|0)==1){e=0;break A}a=(a|0)<0;i=a?n:i-n|0;if(!i){e=0;break}else l=a?l:e}}}while(0);return e|0}function r8(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;a=A+2|0;r=A+4|0;i=h6((l[e+2>>1]|0)<<16|(l[e>>1]|0)|0,l[e+4>>1]|0|0,(l[a>>1]|0)<<16|(l[A>>1]|0)|0,l[r>>1]|0|0)|0;e=d6(i|0,L|0,l[e+6>>1]|0|0,0)|0;i=L;f[A>>1]=e;A=Z6(e|0,i|0,16)|0;f[a>>1]=A;f[r>>1]=i;L=i&65535;return e|0}function f8(A){A=A|0;var e=0;e=186608;a[e>>2]=A+-1;a[e+4>>2]=0;return}function a8(){var A=0,e=0,i=0;e=186608;e=h6(a[e>>2]|0,a[e+4>>2]|0,1284865837,1481765933)|0;e=d6(e|0,L|0,1,0)|0;A=L;i=186608;a[i>>2]=e;a[i+4>>2]=A;A=Z6(e|0,A|0,33)|0;return A|0}function n8(A){A=A|0;f[96876]=f[32922]|0;f[96877]=f[32923]|0;f[96878]=f[32924]|0;f[32922]=f[A>>1]|0;f[32923]=f[A+2>>1]|0;f[32924]=f[A+4>>1]|0;return 193752}function l8(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;f[i>>1]=13070;f[i+2>>1]=A;f[i+4>>1]=A>>>16;n8(i)|0;k=e;return}function t8(A){A=A|0;var e=0;e=r8(A,65850)|0;e=G6(e|0,L|0,4)|0;A=L|1072693248;a[w>>2]=e;a[w+4>>2]=A;return+(+b[w>>3]+-1.0)}function c8(){return+ +t8(65844)}function b8(A,e){A=A|0;e=e|0;if(!A)e=W2(1,24)|0;else{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0}return e|0}function s8(A){A=A|0;var e=0,i=0;e=a[A>>2]|0;if(e|0)do{L2(a[e>>2]|0);i=e;e=a[e+4>>2]|0;L2(i)}while((e|0)!=0);L2(A);return}function w8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;l=A+16|0;A:do{if(!(a[l>>2]|0)){b=A+12|0;n=a[b>>2]|0;if(n>>>0>>0){do{if(e)if(!i){a[l>>2]=1;e=0;break A}else{l=A+8|0;a[l>>2]=i;n=1024;e=i;break}else{n=f<<3;n=n>>>0>1024?n:1024;c=m2(8)|0;if(!c){a[l>>2]=1;e=0;break A}e=m2(n)|0;a[c>>2]=e;i=e;if(!e){L2(c);a[l>>2]=1;e=0;break A}a[c+4>>2]=0;l=A+4|0;t=a[l>>2]|0;if(t|0)a[t+4>>2]=c;if(!(a[A>>2]|0))a[A>>2]=c;a[l>>2]=c;l=A+8|0;a[l>>2]=i}}while(0);a[b>>2]=n}else{l=A+8|0;e=a[l>>2]|0;i=e}i=i+f&3;i=((i|0)==0?0:4-i|0)+f|0;a[l>>2]=e+i;a[b>>2]=n-i;if(r)Y6(e|0,0,i|0)|0}else e=0}while(0);return e|0}function u8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;E=k;k=k+48|0;t=E;v=k8()|0;A:do{if(!v)e=12;else{g=b8(0,0)|0;if(!g){o8(v);e=12;break}r=t+8|0;a[r>>2]=0;a[r+4>>2]=0;a[r+8>>2]=0;a[r+12>>2]=0;a[r+16>>2]=0;a[t>>2]=g;a[t+4>>2]=v;a[t+16>>2]=e;a[t+32>>2]=i;r=t+28|0;a[r>>2]=-1;e=h8(t)|0;e:do{if(!e){l=t+20|0;f=a[l>>2]|0;a[A>>2]=f+-1;c=a[t+8>>2]|0;e=a[r>>2]|0;if((e|0)<(f|0)){n=W2(1,68)|0;if(n){d=e>>>31^1;a[n+60>>2]=d;a[n+28>>2]=f;if((i&8|0)==0|(d|0)!=0){e=d8(0,v,c,n)|0;if(e|0){l=0;t=0;f=0;r=0;break}f=a[n+40>>2]|0;if((f|0)>0){e=(f<<2)+4|0;r=m2(e)|0;if(!r){l=0;t=0;e=12;f=0;r=0;break}a[n+32>>2]=r;Y6(r|0,-1,e|0)|0}else r=0;d=W2(f<<1|1,4)|0;a[n+36>>2]=d;if(!d){l=0;t=0;e=12;f=0;r=0;break}e=W2(a[l>>2]|0,12)|0;if(!e){l=0;t=0;e=12;f=0;r=0;break}a[n+16>>2]=e;e=d8(g,v,c,n)|0;if(!e)e=r;else{l=0;t=0;f=0;r=0;break}}else e=0;d=t+24|0;e=B8(g,v,c,d,e)|0;if(!e){e=a[d>>2]|0;a[d>>2]=e+1;e=v8(g,0,0,e)|0;if((e|0)!=0?(B=g8(g,c,e)|0,(B|0)!=0):0){e=E8(g,v,B)|0;if(!e){r=a[d>>2]|0;e=r<<2;o=m2(e)|0;if(o){h=m2(e)|0;if(h){if((r|0)>0)Y6(o|0,0,r<<2|0)|0;C8(B,0,o,0)|0;f=a[d>>2]|0;if((f|0)>0){e=0;r=0;do{a[h+(r<<2)>>2]=e;u=o+(r<<2)|0;e=e+1+(a[u>>2]|0)|0;a[u>>2]=0;r=r+1|0}while((r|0)<(f|0));s=e}else s=0;w=W2(s+1|0,32)|0;if(w){a[n>>2]=w;u=n+4|0;a[u>>2]=s;e=C8(B,w,o,h)|0;if(!e){a[n+20>>2]=0;f=B+24|0;e=a[f>>2]|0;r=0;while(1){r=r+1|0;if((a[e>>2]|0)<=-1)break;else e=e+32|0}b=W2(r,32)|0;if(!b){l=o;t=h;e=12;f=o;r=h}else{a[n+8>>2]=b;r=a[f>>2]|0;f=a[r>>2]|0;if((f|0)>-1){e=0;do{a[b+(e<<5)+8>>2]=w+(a[h+(f<<2)>>2]<<5);a[b+(e<<5)+12>>2]=f;t=b+(e<<5)+16|0;a[t>>2]=0;c=r+12|0;l=a[c>>2]|0;if(l|0){f=0;do{C=f;f=f+1|0}while((a[l+(C<<2)>>2]|0)>-1);f=f<<2;l=m2(f)|0;a[t>>2]=l;if(!l){l=o;t=h;e=12;f=o;r=h;break e}y6(l|0,a[c>>2]|0,f|0)|0}a[b+(e<<5)+20>>2]=a[r+16>>2];e=e+1|0;r=r+32|0;f=a[r>>2]|0}while((f|0)>-1)}else e=0;a[b+(e<<5)+8>>2]=0;a[u>>2]=s;a[n+12>>2]=w+(a[h+(a[a[B+28>>2]>>2]<<2)>>2]<<5);a[n+52>>2]=a[d>>2];a[n+56>>2]=i;s8(g);o8(v);L2(o);L2(h);a[A+4>>2]=n;e=0;break A}}else{l=o;t=h;f=o;r=h}}else{l=o;t=h;e=12;f=o;r=h}}else{l=o;t=h;e=12;f=o;r=0}}else{l=o;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{n=0;l=0;t=0;e=6;f=0;r=0}}else{n=0;l=0;t=0;f=0;r=0}}while(0);s8(g);o8(v);if(l|0)L2(f);if(t|0)L2(r);a[A+4>>2]=n;I8(A)}}while(0);k=E;return e|0}function k8(){var A=0,e=0;A=m2(20)|0;do{if(A){e=m2(2048)|0;a[A+16>>2]=e;if(!e){L2(A);A=0;break}else{a[A>>2]=512;a[A+4>>2]=1024e3;a[A+8>>2]=128;a[A+12>>2]=0;break}}}while(0);return A|0}function o8(A){A=A|0;L2(a[A+16>>2]|0);L2(A);return}function h8(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+16|0;o=g+4|0;h=g;d=a[A+32>>2]&1;B=A+16|0;i=a[B>>2]|0;v=a[A+4>>2]|0;e=m8(v,0)|0;A:do{if(!e){s=(d|0)!=0;w=A+8|0;u=A+12|0;e=0;b=1;e:while(1){n=0;l=e;f=0;i:while(1){e=r[i>>0]|0;if(s){if(e<<24>>24==40)break;if((l|0)!=0&e<<24>>24==41)c=13;else c=14}else if(e<<24>>24==92)switch(r[i+1>>0]|0){case 40:break i;case 41:{c=13;break}default:c=14}else c=14;if((c|0)==13){c=0;t=v8(a[A>>2]|0,-1,-1,-1)|0;a[w>>2]=t;if(!t){e=12;break A}else t=f}else if((c|0)==14){c=0;e=p8(A,i)|0;if(e|0)break A;t=f;i=a[u>>2]|0}r:while(1){f:while(1){e=r[i>>0]|0;switch(e<<24>>24){case 42:case 92:break;default:{if(!s)break f;switch(e<<24>>24){case 123:case 63:case 43:break;default:break f}}}e=e<<24>>24==92;if(s&e)break;f=i+1|0;if(e)switch(r[f>>0]|0){case 123:case 63:case 43:break;default:break f}i=e?f:i;if((!s?(i|0)==((a[B>>2]|0)+1|0):0)?(r[i+-1>>0]|0)==94:0)break;if((r[i>>0]|0)==123){i=U8(i+1|0,d,o,h)|0;if(!i){c=28;break e}e=a[h>>2]|0;f=a[A>>2]|0;if(!e)e=v8(f,-1,-1,-1)|0;else c=36}else{a[o>>2]=0;a[h>>2]=-1;e=r[i>>0]|0;if(e<<24>>24==43){a[o>>2]=1;e=r[i>>0]|0}if(e<<24>>24==63){a[h>>2]=1;e=1}else e=-1;i=i+1|0;f=a[A>>2]|0;c=36}if((c|0)==36){c=0;e=J8(f,a[w>>2]|0,a[o>>2]|0,e,0)|0}a[w>>2]=e;if(!e){e=12;break A}}e=g8(a[A>>2]|0,n,a[w>>2]|0)|0;f=r[i>>0]|0;f:do{if(s){if(f<<24>>24==124){c=40;break r}if((l|0)!=0&f<<24>>24==41|f<<24>>24==0)c=47;else{n=e;f=t;continue i}}else{switch(f<<24>>24){case 0:{c=47;break f}case 92:break;default:{n=e;f=t;continue i}}switch(r[i+1>>0]|0){case 124:case 41:break;default:{n=e;f=t;continue i}}e=N8(a[A>>2]|0,t,e)|0;if((r[i+1>>0]|0)==124){f=2;break r}if(!l){e=8;break A}i=i+2|0;f=92}}while(0);if((c|0)==47){c=0;e=N8(a[A>>2]|0,t,e)|0;i=f<<24>>24==41?i+1|0:i}e=x8(A,e,L8(v)|0)|0;if(e|0)break A;e=f<<24>>24==0;f=(l|0)<1;if(f&e){c=50;break e}if(f|e){e=8;break A}n=W8(v)|0;l=l+-1|0;t=W8(v)|0}if((c|0)==40){f=1;e=N8(a[A>>2]|0,t,e)|0}n=0;i=i+f|0;f=e}e=Q8(v,f)|0;if(e|0)break A;e=Q8(v,n)|0;if(e|0)break A;e=m8(v,b)|0;if(e|0)break A;e=l+1|0;b=b+1|0;i=s?i+1|0:i+2|0}if((c|0)==28){e=10;break}else if((c|0)==50){a[A+20>>2]=b;e=0;break}}}while(0);k=g;return e|0}function d8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;I=G8(e)|0;Z=(A|0)==0|(f|0)==0;if(!Z){a[f+48>>2]=0;a[a[f+36>>2]>>2]=-1}l=a[f+28>>2]|0;G=m2((l<<3)+8|0)|0;do{if(!G)n=12;else{a[G>>2]=-1;Q=m2((l<<2)+4|0)|0;if(!Q){L2(G);n=12;break}a[Q>>2]=-1;n=0;while(1)if(n>>>0>l>>>0)break;else n=n+1|0;Q8(e,i)|0;n=m8(e,0)|0;A:do{if((n|0)!=0|(G8(e)|0)<=(I|0)){i=G;u=0;l=0;w=0;s=-1}else{g=f+32|0;E=f+36|0;C=f+16|0;i=G;u=0;l=0;w=0;v=1;s=-1;B=0;while(1){e:do{switch(L8(e)|0){case 6:{t=L8(e)|0;n=0;do{c=i+(n<<2)|0;n=n+1|0}while((a[c>>2]|0)>-1);a[c>>2]=t<<1|1;a[i+(n<<2)>>2]=-1;n=0;while(1)if((a[Q+(n<<2)>>2]|0)>-1)n=n+1|0;else break;a[Q+(n+-1<<2)>>2]=-1;n=0;c=v;t=B;break}case 0:{h=W8(e)|0;d=h+12|0;c=a[d>>2]|0;if((c|0)>-1){n=0;do{t=i+(n<<2)|0;n=n+1|0}while((a[t>>2]|0)>-1);a[t>>2]=c<<1;a[i+(n<<2)>>2]=-1;if(!Z){n=0;while(1)if((a[Q+(n<<2)>>2]|0)>-1)n=n+1|0;else break;t=(a[C>>2]|0)+(c*12|0)+8|0;a[t>>2]=0;if((n|0)>0){n=m2((n<<2)+4|0)|0;if(!n){n=12;c=v;t=B;break e}a[t>>2]=n;t=a[Q>>2]|0;if((t|0)>-1){b=0;c=n;do{a[c>>2]=t;b=b+1|0;t=a[Q+(b<<2)>>2]|0;c=n+(b<<2)|0}while((t|0)>-1);n=c}a[n>>2]=-1}}n=m8(e,a[d>>2]|0)|0;if(n|0){c=v;t=B;break e}n=m8(e,6)|0;if(n|0){c=v;t=B;break e}}i:do{switch(a[h>>2]|0){case 0:{o=a[a[h+4>>2]>>2]|0;if((o|0)>-1|(o|0)==-4?(a[i>>2]|0)>-1:0){if(Z){a[h+20>>2]=1;n=0}else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=B;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;o=v+1|0;k=B;u=u+1|0;w=v}else{o=v;n=0;k=B}break}case 1:{c=a[h+4>>2]|0;b=a[c>>2]|0;c=a[c+4>>2]|0;n=Q8(e,h)|0;if(!n){n=m8(e,5)|0;if(!n){n=Q8(e,c)|0;if(!n){n=m8(e,0)|0;if(!n){t=b+20|0;n=m8(e,(a[t>>2]|0)+v|0)|0;if(!n){if((a[t>>2]|0)>0){t=(a[c+20>>2]|0)>0;n=t?v:-1;t=v+(t&1)|0}else{n=-1;t=v}n=m8(e,n)|0;if(!n){n=m8(e,4)|0;if(!n){n=Q8(e,b)|0;if(!n){o=t;n=m8(e,0)|0;k=B}else{o=t;k=B}}else{o=t;k=B}}else{o=t;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}case 2:{t=a[h+4>>2]|0;if(Z){if((a[i>>2]|0)>-1)n=1;else n=(r[t+12>>0]&1)!=0;n=m8(e,n&1)|0;if(n|0){o=v;k=B;break i}}else{n=m8(e,w)|0;if(n|0){o=v;k=B;break i}n=m8(e,r[t+12>>0]&1)|0;if(n|0){o=v;k=B;break i}}n=Q8(e,h)|0;if(!n){n=m8(e,1)|0;if(!n){n=Q8(e,a[t>>2]|0)|0;if(!n){n=m8(e,0)|0;if(!n){if((a[i>>2]|0)<=-1?(r[t+12>>0]&1)==0:0){o=v;n=0;k=0;break i}if(Z)n=0;else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=(r[t+12>>0]&1)==0?B:1;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;o=v+1|0;k=0;u=u+1|0;w=v}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}case 3:{c=a[h+4>>2]|0;b=a[c>>2]|0;c=a[c+4>>2]|0;t=(a[i>>2]|0)>-1;o=v+1|0;n=m8(e,t?o:v)|0;if(!n){n=m8(e,t?v:w)|0;if(!n){n=Q8(e,i)|0;if(!n){n=m8(e,(a[i>>2]|0)>>>31^1)|0;if(!n){n=Q8(e,h)|0;if(!n){n=Q8(e,c)|0;if(!n){n=Q8(e,b)|0;if(!n){n=m8(e,3)|0;if(!n){n=Q8(e,c)|0;if(!n){n=m8(e,0)|0;if(!n){n=m8(e,2)|0;if(n|0){o=v;k=B;break i}n=Q8(e,b)|0;if(n|0){o=v;k=B;break i}n=m8(e,0)|0;if(n|0){o=v;k=B;break i}if((a[i>>2]|0)>-1){if(Z)n=0;else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=B;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;u=u+1|0;w=v;t=o}else{n=0;t=v}v=(a[h+16>>2]|0)>0;o=v?t+2|0:t;k=B;w=v?t+1|0:w}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}default:{o=v;n=0;k=B}}}while(0);c=a[d>>2]|0;if((c|0)>-1){t=0;do{b=Q+(t<<2)|0;t=t+1|0}while((a[b>>2]|0)>-1);a[b>>2]=c;a[Q+(t<<2)>>2]=-1;c=o;t=k}else{c=o;t=k}break}case 1:{n=W8(e)|0;if(Z){t=a[(a[a[n+4>>2]>>2]|0)+20>>2]|0;a[n+20>>2]=(L8(e)|0)+t;t=0;s=-1}else{h=L8(e)|0;d=L8(e)|0;t=h;s=(h|0)==0?s:d}n=0;c=v;t=Z?B:(t|0)==0&1;break}case 4:{t=L8(e)|0;c=L8(e)|0;n=0;w=(t|0)>-1?t:w;t=B;break}case 5:{n=W8(e)|0;if(Z){c=a[n+4>>2]|0;a[n+20>>2]=(a[(a[c+4>>2]|0)+20>>2]|0)+(a[(a[c>>2]|0)+20>>2]|0);n=0;c=v;t=B}else{n=0;c=v;t=B}break}case 2:{while(1)if((a[i>>2]|0)>-1)i=i+4|0;else{n=0;c=v;t=B;break}break}case 3:{c=W8(e)|0;k=W8(e)|0;n=W8(e)|0;i=L8(e)|0;if(Z){d=a[n+4>>2]|0;B=n+16|0;a[n+20>>2]=(a[(a[d>>2]|0)+20>>2]|0)+i+(a[(a[d+4>>2]|0)+20>>2]|0)+((a[B>>2]|0)>0?2:0);n=B}else n=n+16|0;i=W8(e)|0;t=L8(e)|0;b=L8(e)|0;if((a[n>>2]|0)>0){if(Z)n=0;else{n=H8(A,c,t)|0;a[(a[g>>2]|0)+(t<<2)>>2]=1;if(!n)n=H8(A,k,b)|0;a[(a[g>>2]|0)+(b<<2)>>2]=1}u=u+2|0;c=v;t=1}else{n=0;c=v;t=1}break}default:{n=0;c=v;t=B}}}while(0);if((n|0)!=0|(G8(e)|0)<=(I|0))break A;else{v=c;B=t}}}}while(0);if(!Z?(R8(i,f,w),(s|0)>-1):0){t=a[f+36>>2]|0;i=0;while(1){c=t+(i<<2)|0;b=i+1|0;if((a[c>>2]|0)>-1)i=b;else break}a[c>>2]=w;a[t+(b<<2)>>2]=s;a[t+(i+2<<2)>>2]=-1;l=l+1|0}a[f+48>>2]=u;a[f+40>>2]=u;a[f+44>>2]=l;L2(G);L2(Q)}}while(0);return n|0}function B8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;v=Z+12|0;I=Z+8|0;g=Z+4|0;E=Z;C=G8(e)|0;a[v>>2]=0;a[I>>2]=0;i=Q8(e,i)|0;A:do{if(!i){i=m8(e,0)|0;if(!i){e:do{if((G8(e)|0)>(C|0)){n=0;t=0;c=0;i:while(1){h=L8(e)|0;d=W8(e)|0;r:do{switch(h|0){case 0:{switch(a[d>>2]|0){case 0:{i=a[d+4>>2]|0;d=a[i>>2]|0;if(!((d|0)>-1|(d|0)==-4)){i=c;break r}d=i+8|0;i=(a[d>>2]|0)+c|0;a[d>>2]=i;if((i|0)<=(a[I>>2]|0)){i=c;break r}a[I>>2]=i;i=c;break r}case 3:{l=a[d+4>>2]|0;i=Q8(e,a[l+4>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;break}case 1:{l=a[d+4>>2]|0;i=Q8(e,a[l+4>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;break}case 2:{l=a[d+4>>2]|0;i=m8(e,c)|0;if(i|0)break e;i=Q8(e,d)|0;if(i|0)break e;i=m8(e,1)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;if((a[l+4>>2]|0)<=1?(a[l+8>>2]|0)<=1:0)i=c;else{a[v>>2]=0;i=0}t=t+1|0;break r}default:{i=c;break r}}i=m8(e,0)|0;if(!i)i=c;else break e;break}case 1:{o=d+4|0;u=a[o>>2]|0;h=L8(e)|0;a[v>>2]=h;w=u+4|0;c=a[w>>2]|0;if((c|0)<=1)if((a[u+8>>2]|0)>1){a[g>>2]=0;if((c|0)>0)B=30;else{i=h;l=0;B=37}}else i=h;else{a[g>>2]=0;B=30}f:do{if((B|0)==30){i=V8(A,e,a[u>>2]|0,(c|0)>1?1:2,v,f,E,I)|0;if(!i){l=0;b=h;s=1}else{B=34;break i}while(1){i=a[E>>2]|0;if(!l)l=i;else l=g8(A,l,i)|0;if(!l){i=12;B=34;break i}c=a[w>>2]|0;if((s|0)>=(c|0)){i=b;B=37;break f}b=a[v>>2]|0;s=s+1|0;i=V8(A,e,a[u>>2]|0,(s|0)<(c|0)?1:2,v,f,E,I)|0;if(i|0){B=34;break i}}}}while(0);if((B|0)==37){B=0;w=u+8|0;b=a[w>>2]|0;if((b|0)==-1){b=a[v>>2]|0;i=V8(A,e,a[u>>2]|0,0,v,0,g,I)|0;if(i|0)break i;c=J8(A,a[g>>2]|0,0,-1,0)|0;a[g>>2]=c;if(!c){i=12;break i}else i=b}else if((c|0)<(b|0)){b=c;c=0;while(1){s=a[v>>2]|0;i=V8(A,e,a[u>>2]|0,0,v,0,E,I)|0;if(i|0){B=49;break i}if(!c){i=a[E>>2]|0;a[g>>2]=i}else{i=g8(A,a[E>>2]|0,c)|0;a[g>>2]=i}if(!i){i=12;B=49;break i}c=v8(A,-1,-1,-1)|0;if(!c){i=12;B=49;break i}c=N8(A,c,i)|0;a[g>>2]=c;if(!c){i=12;B=49;break i}b=b+1|0;if((b|0)>=(a[w>>2]|0)){i=s;break}}}else c=0;a[v>>2]=i;if(l){if(c){l=g8(A,l,c)|0;B=54}}else{l=c;B=54}if((B|0)==54){B=0;if(!l){i=12;break i}}a[o>>2]=a[l+4>>2];a[d>>2]=a[l>>2]}t=t+-1|0;l=i-h+n|0;if(!t){a[v>>2]=l;n=l;t=0;i=l}else n=l;break}default:i=c}}while(0);if((G8(e)|0)>(C|0))c=i;else{i=0;break e}}break A}else{i=0;n=0}}while(0);C=(a[r>>2]|0)+n|0;I=a[I>>2]|0;a[r>>2]=(I|0)>(C|0)?I:C}}}while(0);k=Z;return i|0}function v8(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=w8(A,0,0,1,20)|0;A=F8(A,0,f)|0;if(!A)A=0;else{a[f>>2]=e;a[f+4>>2]=i;a[f+8>>2]=r}return A|0}function g8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=w8(A,0,0,1,8)|0;A=F8(A,1,r)|0;if(!A)i=0;else{a[r>>2]=e;a[r+4>>2]=i;a[A+16>>2]=(a[i+16>>2]|0)+(a[e+16>>2]|0);i=A}}return i|0}function E8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;c=u+4|0;b=u;s=G8(e)|0;i=Q8(e,i)|0;A:do{if(!i){i=m8(e,0)|0;if(!i)if((G8(e)|0)>(s|0)){e:while(1){l=L8(e)|0;t=W8(e)|0;i:do{switch(l|0){case 0:switch(a[t>>2]|0){case 0:{n=a[t+4>>2]|0;f=a[n>>2]|0;if((f|0)==-4){a[t+8>>2]=0;i=n+8|0;l=y8(A,a[i>>2]|0,0,1114111,0,0,-1)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=y8(A,a[i>>2]|0,0,1114111,0,0,a[n+4>>2]|0)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}i=t+8|0;if((f|0)<0){a[i>>2]=1;l=z8(A)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=z8(A)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}else{a[i>>2]=0;i=n+8|0;r=n+4|0;l=y8(A,a[i>>2]|0,f,a[r>>2]|0,0,0,-1)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=y8(A,a[i>>2]|0,a[n>>2]|0,a[r>>2]|0,a[n+12>>2]|0,a[n+16>>2]|0,-1)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}}case 3:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,1)|0;if(i|0)break A;r=t+4|0;i=Q8(e,a[(a[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(i|0)break A;i=Q8(e,a[a[r>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}case 1:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,2)|0;if(i|0)break A;r=t+4|0;i=Q8(e,a[(a[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(i|0)break A;i=Q8(e,a[a[r>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}case 2:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,3)|0;if(i|0)break A;i=Q8(e,a[a[t+4>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}default:break i}case 1:{i=a[t+4>>2]|0;r=a[i>>2]|0;f=i+4|0;n=a[f>>2]|0;if(!(a[r+8>>2]|0))l=(a[n+8>>2]|0)!=0;else l=1;a[t+8>>2]=l&1;l=Y8(A,a[r+24>>2]|0,a[n+24>>2]|0,0,0)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=Y8(A,a[(a[i>>2]|0)+28>>2]|0,a[(a[f>>2]|0)+28>>2]|0,0,0)|0;a[t+28>>2]=l;if(!l){i=12;break A}break}case 3:{l=a[t+4>>2]|0;i=a[l>>2]|0;if(!(a[l+4>>2]|0))r=1;else r=(a[i+8>>2]|0)!=0&1;a[t+8>>2]=r;a[t+24>>2]=a[i+24>>2];a[t+28>>2]=a[i+28>>2];break}case 2:{n=a[t+4>>2]|0;i=a[n>>2]|0;r=i+8|0;if(!(a[r>>2]|0))f=0;else f=(a[(a[n+4>>2]|0)+8>>2]|0)!=0;a[t+8>>2]=f&1;if(a[r>>2]|0){i=D8(e,i,0,0,c)|0;if(i|0)break e;r=m2((a[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}a[r>>2]=-1;a[b>>2]=0;i=D8(e,a[n>>2]|0,r,b,0)|0;if(i|0){w=45;break e}i=n+4|0;l=t+24|0;a[l>>2]=Y8(A,a[(a[i>>2]|0)+24>>2]|0,a[(a[n>>2]|0)+24>>2]|0,r,a[b>>2]|0)|0;L2(r);if(!(a[l>>2]|0)){i=12;break e}else f=i}else{a[t+24>>2]=a[i+24>>2];f=n+4|0}i=a[f>>2]|0;if(a[i+8>>2]|0){i=D8(e,i,0,0,c)|0;if(i|0)break e;r=m2((a[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}a[r>>2]=-1;a[b>>2]=0;i=D8(e,a[f>>2]|0,r,b,0)|0;if(i|0){w=52;break e}t=t+28|0;a[t>>2]=Y8(A,a[(a[n>>2]|0)+28>>2]|0,a[(a[f>>2]|0)+28>>2]|0,r,a[b>>2]|0)|0;L2(r);if(!(a[t>>2]|0)){i=12;break e}}else a[t+28>>2]=a[i+28>>2];break}default:{}}}while(0);if((G8(e)|0)<=(s|0)){i=0;break A}}if((w|0)==45)L2(r);else if((w|0)==52)L2(r)}else i=0}}while(0);k=u;return i|0}function C8(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;A:while(1){switch(a[A>>2]|0){case 2:{A=a[A+4>>2]|0;if((a[A+8>>2]|0)==-1?(l=a[A>>2]|0,l=Z8(a[l+28>>2]|0,a[l+24>>2]|0,e,i,r)|0,(l|0)!=0):0){A=l;break A}break}case 3:{f=a[A+4>>2]|0;A=C8(a[f>>2]|0,e,i,r)|0;if(A|0)break A;A=f+4|0;break}case 1:{f=a[A+4>>2]|0;n=f+4|0;A=Z8(a[(a[f>>2]|0)+28>>2]|0,a[(a[n>>2]|0)+24>>2]|0,e,i,r)|0;if(A|0)break A;A=C8(a[f>>2]|0,e,i,r)|0;if(!A)A=n;else break A;break}default:{A=0;break A}}A=a[A>>2]|0}return A|0}function I8(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=a[A+4>>2]|0;if(l|0){r=l+4|0;A=a[l>>2]|0;if(a[r>>2]|0){i=0;do{if(a[A+(i<<5)+8>>2]|0){e=a[A+(i<<5)+16>>2]|0;if(e){L2(e);A=a[l>>2]|0}e=a[A+(i<<5)+28>>2]|0;if(e){L2(e);A=a[l>>2]|0}}i=i+1|0}while(i>>>0<(a[r>>2]|0)>>>0)}if(A|0)L2(A);i=l+8|0;A=a[i>>2]|0;if(A|0){if(a[A+8>>2]|0){while(1){e=a[A+16>>2]|0;if(e|0)L2(e);if(!(a[A+40>>2]|0))break;else A=A+32|0}A=a[i>>2]|0}L2(A)}f=l+16|0;A=a[f>>2]|0;if(A|0){n=l+28|0;e=a[n>>2]|0;if(e){r=0;do{i=a[A+(r*12|0)+8>>2]|0;if(i){L2(i);e=a[n>>2]|0;A=a[f>>2]|0}r=r+1|0}while(r>>>0>>0)}L2(A)}A=a[l+32>>2]|0;if(A|0)L2(A);A=a[l+20>>2]|0;if(A|0)L2(A);A=a[l+36>>2]|0;if(A|0)L2(A);L2(l)}return}function Z8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;n=a[A>>2]|0;l=(n|0)>-1;A:do{if(!i)if(l){l=e+32|0;do{if((a[e>>2]|0)>-1?(Z=r+(n<<2)|0,a[Z>>2]=(a[Z>>2]|0)+1,(a[l>>2]|0)>-1):0){n=l;do{Z=r+(a[A>>2]<<2)|0;a[Z>>2]=(a[Z>>2]|0)+1;n=n+32|0}while((a[n>>2]|0)>-1)}A=A+32|0;n=a[A>>2]|0}while((n|0)>-1);n=0}else n=0;else if(l)while(1){l=a[e>>2]|0;e:do{if((l|0)>-1){o=A+4|0;h=A+8|0;d=A+16|0;B=A+20|0;v=A+24|0;g=A+28|0;E=A+12|0;r=-1;n=e;while(1){k=l;while(1){if((k|0)!=(r|0))break;n=n+32|0;l=a[n>>2]|0;if((l|0)>-1)k=l;else break e}s=i+(a[f+(a[A>>2]<<2)>>2]<<5)|0;while(1){l=s+8|0;if(!(a[l>>2]|0))break;else s=s+32|0}a[s+40>>2]=0;a[s>>2]=a[o>>2];a[s+4>>2]=a[h>>2];a[l>>2]=i+(a[f+(k<<2)>>2]<<5);a[s+12>>2]=k;l=a[B>>2]|0;r=a[n+16>>2]|a[d>>2]|(l|0?4:0)|(a[v>>2]|0?8:0);t=s+20|0;a[t>>2]=r;c=a[g>>2]|0;if((c|0)>-1){a[t>>2]=r|256;l=c}a[s+24>>2]=l;r=a[v>>2]|0;if(!r)a[s+28>>2]=0;else{l=0;do{u=l;l=l+1|0}while((a[r+(u<<2)>>2]|0)!=0);l=m2(l<<2)|0;a[s+28>>2]=l;if(!l){n=12;break A}b=a[v>>2]|0;r=a[b>>2]|0;if(r){c=0;t=l;do{a[t>>2]=r;c=c+1|0;r=a[b+(c<<2)>>2]|0;t=l+(c<<2)|0}while((r|0)!=0);l=t}a[l>>2]=0}r=a[E>>2]|0;if(!r)l=0;else{l=0;while(1)if((a[r+(l<<2)>>2]|0)>-1)l=l+1|0;else break}b=n+12|0;t=a[b>>2]|0;if(!t)r=0;else{r=0;while(1)if((a[t+(r<<2)>>2]|0)>-1)r=r+1|0;else break}c=s+16|0;t=a[c>>2]|0;if(t|0)L2(t);a[c>>2]=0;l=r+l|0;if((l|0)>0){u=m2((l<<2)+4|0)|0;a[c>>2]=u;if(!u){n=12;break A}r=a[E>>2]|0;if((r|0)!=0?(C=a[r>>2]|0,(C|0)>-1):0){l=0;t=C;do{a[u+(l<<2)>>2]=t;l=l+1|0;t=a[r+(l<<2)>>2]|0}while((t|0)>-1);w=l}else w=0;c=a[b>>2]|0;if((c|0)!=0?(I=a[c>>2]|0,(I|0)>-1):0){b=(w|0)>0;l=w;t=0;s=I;do{i:do{if(b){r=0;while(1){if((a[u+(r<<2)>>2]|0)==(s|0))break i;r=r+1|0;if((r|0)>=(w|0)){Z=39;break}}}else Z=39}while(0);if((Z|0)==39){Z=0;a[u+(l<<2)>>2]=s;l=l+1|0}t=t+1|0;s=a[c+(t<<2)>>2]|0}while((s|0)>-1)}else l=w;a[u+(l<<2)>>2]=-1}n=n+32|0;l=a[n>>2]|0;if((l|0)<=-1)break;else r=k}}}while(0);A=A+32|0;if((a[A>>2]|0)<=-1){n=0;break}}else n=0}while(0);return n|0}function G8(A){A=A|0;return a[A+12>>2]|0}function Q8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i+4|0;f=i;a[f>>2]=e;a[r>>2]=a[f>>2];e=M8(A,r)|0;k=i;return e|0}function m8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i+4|0;f=i;a[f>>2]=e;a[r>>2]=a[f>>2];e=M8(A,r)|0;k=i;return e|0}function L8(A){A=A|0;var e=0,i=0;e=a[A+16>>2]|0;i=A+12|0;A=(a[i>>2]|0)+-1|0;a[i>>2]=A;return a[e+(A<<2)>>2]|0}function W8(A){A=A|0;var e=0,i=0;e=a[A+16>>2]|0;i=A+12|0;A=(a[i>>2]|0)+-1|0;a[i>>2]=A;return a[e+(A<<2)>>2]|0}function y8(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;A=w8(A,0,0,1,64)|0;if(!A)A=0;else{a[A>>2]=e;a[A+4>>2]=i;a[A+8>>2]=r;a[A+20>>2]=f;a[A+24>>2]=n;a[A+28>>2]=l;a[A+32>>2]=-1;a[A+36>>2]=-1;a[A+40>>2]=-1}return A|0}function z8(A){A=A|0;A=w8(A,0,0,1,32)|0;if(!A)A=0;else{a[A>>2]=-1;a[A+4>>2]=-1;a[A+8>>2]=-1}return A|0}function Y8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=(r|0)==0;if(k)u=0;else{n=0;while(1)if((a[r+(n<<2)>>2]|0)>-1)n=n+1|0;else{u=n;break}}l=0;while(1)if((a[e+(l<<5)>>2]|0)>-1)l=l+1|0;else{n=0;break}while(1)if((a[i+(n<<5)>>2]|0)>-1)n=n+1|0;else break;n=w8(A,0,0,1,(n+l<<5)+32|0)|0;A:do{if(!n)n=0;else{l=a[e>>2]|0;if((l|0)>-1){w=(u|0)>0;t=0;while(1){a[n+(t<<5)>>2]=l;a[n+(t<<5)+4>>2]=a[e+(t<<5)+4>>2];a[n+(t<<5)+8>>2]=a[e+(t<<5)+8>>2];a[n+(t<<5)+16>>2]=a[e+(t<<5)+16>>2]|f;a[n+(t<<5)+20>>2]=a[e+(t<<5)+20>>2];a[n+(t<<5)+24>>2]=a[e+(t<<5)+24>>2];a[n+(t<<5)+28>>2]=a[e+(t<<5)+28>>2];s=e+(t<<5)+12|0;c=a[s>>2]|0;l=(c|0)==0;if(k&l)l=0;else{if(l)b=0;else{l=0;while(1)if((a[c+(l<<2)>>2]|0)>-1)l=l+1|0;else{b=l;break}}l=w8(A,0,0,0,(b+u<<2)+4|0)|0;if(!l){n=0;break A}if((b|0)>0){s=a[s>>2]|0;c=0;do{a[l+(c<<2)>>2]=a[s+(c<<2)>>2];c=c+1|0}while((c|0)!=(b|0))}else b=0;if(w){c=0;do{a[l+(c+b<<2)>>2]=a[r+(c<<2)>>2];c=c+1|0}while((c|0)!=(u|0));c=u}else c=0;a[l+(c+b<<2)>>2]=-1}a[n+(t<<5)+12>>2]=l;t=t+1|0;l=a[e+(t<<5)>>2]|0;if((l|0)<=-1){u=t;break}}}else u=0;t=a[i>>2]|0;l=n+(u<<5)|0;if((t|0)>-1){w=0;s=u;do{a[l>>2]=t;a[n+(s<<5)+4>>2]=a[i+(w<<5)+4>>2];a[n+(s<<5)+8>>2]=a[i+(w<<5)+8>>2];a[n+(s<<5)+16>>2]=a[i+(w<<5)+16>>2];a[n+(s<<5)+20>>2]=a[i+(w<<5)+20>>2];a[n+(s<<5)+24>>2]=a[i+(w<<5)+24>>2];a[n+(s<<5)+28>>2]=a[i+(w<<5)+28>>2];c=i+(w<<5)+12|0;l=a[c>>2]|0;if(!l)l=0;else{t=0;while(1)if((a[l+(t<<2)>>2]|0)>-1)t=t+1|0;else break;l=w8(A,0,0,0,(t<<2)+4|0)|0;if(!l){n=0;break A}if((t|0)>0){b=a[c>>2]|0;c=0;do{a[l+(c<<2)>>2]=a[b+(c<<2)>>2];c=c+1|0}while((c|0)!=(t|0))}else t=0;a[l+(t<<2)>>2]=-1}a[n+(s<<5)+12>>2]=l;w=w+1|0;t=a[i+(w<<5)>>2]|0;s=w+u|0;l=n+(s<<5)|0}while((t|0)>-1)}a[l>>2]=-1}}while(0);return n|0}function D8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;k=G8(A)|0;o=(f|0)!=0;if(o)a[f>>2]=0;e=Q8(A,e)|0;A:do{if(!e){w=(i|0)==0;s=(r|0)==0;if((G8(A)|0)>(k|0))while(1){e=W8(A)|0;e:do{switch(a[e>>2]|0){case 0:{e=a[e+4>>2]|0;switch(a[e>>2]|0){case-3:break;case-2:{if(s)break e;a[r>>2]=a[r>>2]|a[e+4>>2];break e}default:break e}l=a[e+4>>2]|0;if((l|0)>-1){i:do{if(!w){e=0;while(1){t=i+(e<<2)|0;c=a[t>>2]|0;if((c|0)<=-1)break;if((c|0)==(l|0))break i;else e=e+1|0}a[t>>2]=l;a[i+(e+1<<2)>>2]=-1}}while(0);if(o)a[f>>2]=(a[f>>2]|0)+1}break}case 3:{e=a[e+4>>2]|0;l=a[e>>2]|0;if(a[l+8>>2]|0){b=l;u=6;break e}e=a[e+4>>2]|0;if(a[e+8>>2]|0){b=e;u=6}break}case 1:{e=a[e+4>>2]|0;l=Q8(A,a[e>>2]|0)|0;if(l|0){n=l;break A}b=a[e+4>>2]|0;u=6;break}case 2:{e=a[a[e+4>>2]>>2]|0;if(a[e+8>>2]|0){b=e;u=6}break}default:{}}}while(0);if((u|0)==6?(u=0,n=Q8(A,b)|0,n|0):0)break A;if((G8(A)|0)<=(k|0)){n=0;break A}}else n=0}else n=e}while(0);return n|0}function M8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;n=b;i=A+12|0;r=a[i>>2]|0;c=a[A>>2]|0;if((r|0)>=(c|0)){i=a[A+4>>2]|0;if((c|0)<(i|0)?(f=(a[A+8>>2]|0)+c|0,f=(f|0)>(i|0)?i:f,l=A+16|0,t=y2(a[l>>2]|0,f<<2)|0,(t|0)!=0):0){a[A>>2]=f;a[l>>2]=t;a[n>>2]=a[e>>2];M8(A,n)|0;i=0}else i=12}else{a[(a[A+16>>2]|0)+(r<<2)>>2]=a[e>>2];a[i>>2]=(a[i>>2]|0)+1;i=0}k=b;return i|0}function F8(A,e,i){A=A|0;e=e|0;i=i|0;A=w8(A,0,0,1,32)|0;if((i|0)!=0&(A|0)!=0){a[A+4>>2]=i;a[A>>2]=e;a[A+8>>2]=-1;a[A+12>>2]=-1}else A=0;return A|0}function V8(A,e,i,f,n,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;d=G8(e)|0;Q8(e,i)|0;i=m8(e,0)|0;A:do{if(!i){h=(f&1|0)==0;o=(f&2|0)!=0;k=0;s=1;i=t;while(1){if((G8(e)|0)>(d|0))u=i;else{f=k;i=0;break A}e:while(1){i:while(1){switch(L8(e)|0){case 1:{t=7;break i}case 0:{i=W8(e)|0;switch(a[i>>2]|0){case 0:{t=9;break e}case 3:{t=19;break e}case 1:{t=26;break e}case 2:{t=33;break i}default:{}}break}default:{}}if((G8(e)|0)<=(d|0)){f=k;i=0;break A}}if((t|0)==7)i=W8(e)|0;else if((t|0)==33){f=a[i+4>>2]|0;i=Q8(e,a[f>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=J8(A,a[f>>2]|0,a[f+4>>2]|0,a[f+8>>2]|0,r[f+12>>0]&1)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}i=a[i+4>>2]|0}if((G8(e)|0)>(d|0))u=i;else{f=k;i=0;break A}}if((t|0)==9){w=a[i+4>>2]|0;t=a[w+8>>2]|0;f=a[w>>2]|0;i=a[w+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(h|(f|0)!=-3)if((f|0)==-3)if(o&(s|0)!=0){a[l+(i<<2)>>2]=1;f=-3;b=k;s=0}else{f=-3;b=k}else b=k;else{i=-1;f=-1;t=-1;b=k}else{t=(a[n>>2]|0)+t|0;b=k+1|0}i=v8(A,f,i,t)|0;a[u>>2]=i;if(!i)i=12;else{i=a[i+4>>2]|0;a[i+12>>2]=a[w+12>>2];a[i+16>>2]=a[w+16>>2];i=0}if((t|0)>(a[c>>2]|0)){a[c>>2]=t;f=u}else f=u}else if((t|0)==19){t=a[i+4>>2]|0;f=t+4|0;i=N8(A,a[t>>2]|0,a[f>>2]|0)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}w=a[i+4>>2]|0;i=Q8(e,a[f>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=Q8(e,w+4|0)|0;if(i|0){f=k;break A}i=m8(e,1)|0;if(i|0){f=k;break A}i=Q8(e,a[t>>2]|0)|0;if(i|0){f=k;break A}b=k;f=w;i=m8(e,0)|0}else if((t|0)==26){w=a[i+4>>2]|0;t=w+4|0;i=g8(A,a[w>>2]|0,a[t>>2]|0)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}f=a[i+4>>2]|0;a[f>>2]=0;b=f+4|0;a[b>>2]=0;i=Q8(e,a[t>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=Q8(e,b)|0;if(i|0){f=k;break A}i=m8(e,1)|0;if(i|0){f=k;break A}i=Q8(e,a[w>>2]|0)|0;if(i|0){f=k;break A}b=k;i=m8(e,0)|0}if(!i){k=b;i=f}else{f=b;break}}}else f=0}while(0);a[n>>2]=(a[n>>2]|0)+f;return i|0}function J8(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0;l=w8(A,0,0,1,16)|0;A=F8(A,2,l)|0;if(!A)A=0;else{a[l>>2]=e;a[l+4>>2]=i;a[l+8>>2]=f;l=l+12|0;r[l>>0]=r[l>>0]&-2|n&1;a[A+16>>2]=a[e+16>>2]}return A|0}function N8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=w8(A,0,0,1,8)|0;A=F8(A,3,r)|0;if((i|0)!=0&(A|0)!=0){a[r>>2]=e;a[r+4>>2]=i;a[A+16>>2]=(a[i+16>>2]|0)+(a[e+16>>2]|0);i=A}else i=0}return i|0}function X8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=w8(A,0,0,0,8)|0;if(((r|0)!=0?(i=v8(A,-3,i,-1)|0,a[r>>2]=i,(i|0)!=0):0)?(f=w8(A,0,0,0,32)|0,a[r+4>>2]=f,(f|0)!=0):0){A=e+4|0;a[f+4>>2]=a[A>>2];a[f>>2]=a[e>>2];a[f+8>>2]=-1;a[f+12>>2]=-1;f=f+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[A>>2]=r;a[e>>2]=1;A=0}else A=12;return A|0}function R8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=a[A>>2]|0;if((f|0)>-1){n=a[e+16>>2]|0;r=0;e=f;do{f=e>>>1;a[((e&1|0)==0?n+(f*12|0)|0:n+(f*12|0)+4|0)>>2]=i;r=r+1|0;e=a[A+(r<<2)>>2]|0}while((e|0)>-1)}a[A>>2]=-1;return}function H8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=w8(A,0,0,0,8)|0;if(((r|0)!=0?(i=v8(A,-3,i,-1)|0,a[r+4>>2]=i,(i|0)!=0):0)?(f=w8(A,0,0,0,32)|0,a[r>>2]=f,(f|0)!=0):0){A=e+4|0;a[f+4>>2]=a[A>>2];a[f>>2]=a[e>>2];a[f+8>>2]=-1;a[f+12>>2]=-1;f=f+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[A>>2]=r;a[e>>2]=1;A=0}else A=12;return A|0}function p8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;c=s;t=A+32|0;l=a[t>>2]|0;n=l&1;A:do{switch(r[e>>0]|0){case 91:{i=j8(A,e+1|0)|0;break}case 92:{i=e+1|0;f=S8(i)|0;if(f|0){i=p8(A,f)|0;a[A+12>>2]=e+2;break A}f=r[i>>0]|0;switch(f|0){case 0:{i=5;break A}case 98:{f=v8(a[A>>2]|0,-2,64,-1)|0;break}case 66:{f=v8(a[A>>2]|0,-2,128,-1)|0;break}case 60:{f=v8(a[A>>2]|0,-2,16,-1)|0;break}case 62:{f=v8(a[A>>2]|0,-2,32,-1)|0;break}case 120:{l=e+2|0;t=(r[l>>0]|0)==123;n=t?8:2;l=t?e+3|0:l;i=0;f=0;do{e=P8(r[l+i>>0]|0)|0;if((e|0)<0)break;f=e+(f<<4)|0;i=i+1|0}while((f|0)<1114112&(i|0)<(n|0));i=l+i|0;if(t){if((r[i>>0]|0)!=125){i=9;break A}i=i+1|0}c=a[A>>2]|0;t=A+24|0;b=a[t>>2]|0;a[t>>2]=b+1;f=v8(c,f,f,b)|0;i=i+-1|0;break}case 63:case 43:case 123:if(!n){i=13;break A}else{b=37;break A}case 124:{if(n|0){b=37;break A}i=v8(a[A>>2]|0,-1,-1,-1)|0;b=45;break A}default:{if(!((n|0)==0&(f+-49|0)>>>0<9)){b=37;break A}c=f+-48|0;b=a[A>>2]|0;t=A+24|0;f=a[t>>2]|0;a[t>>2]=f+1;f=v8(b,-4,c,f)|0;b=A+28|0;t=a[b>>2]|0;a[b>>2]=(c|0)<(t|0)?t:c}}e=i+1|0;i=f;b=45;break}case 46:{i=a[A>>2]|0;n=A+24|0;f=a[n>>2]|0;a[n>>2]=f+1;if(l&4){f=v8(i,0,9,f)|0;b=a[A>>2]|0;i=a[n>>2]|0;a[n>>2]=i+1;i=v8(b,11,1114111,i)|0;if((f|0)!=0&(i|0)!=0)i=N8(a[A>>2]|0,f,i)|0;else i=0}else i=v8(i,0,1114111,f)|0;e=e+1|0;b=45;break}case 94:{if((n|0)==0?(a[A+16>>2]|0)!=(e|0):0){i=e;b=37;break A}e=e+1|0;i=v8(a[A>>2]|0,-2,1,-1)|0;b=45;break}case 36:{i=e+1|0;if((n|0)==0?r[i>>0]|0:0){i=e;b=37;break A}e=i;i=v8(a[A>>2]|0,-2,2,-1)|0;b=45;break}case 63:case 43:case 123:case 42:{if(!n){i=e;b=37}else i=13;break}case 124:{if(!n){i=e;b=37}else b=36;break}case 0:{b=36;break}default:{i=e;b=37}}}while(0);if((b|0)==36){i=v8(a[A>>2]|0,-1,-1,-1)|0;b=45}else if((b|0)==37){l=G3(c,i,-1)|0;if((l|0)<0)i=2;else{do{if(a[t>>2]&2){if((b4(a[c>>2]|0)|0)==0?(c4(a[c>>2]|0)|0)==0:0){b=43;break}t=a[A>>2]|0;w=H1(a[c>>2]|0)|0;n=H1(a[c>>2]|0)|0;f=A+24|0;n=v8(t,w,n,a[f>>2]|0)|0;w=a[A>>2]|0;t=w4(a[c>>2]|0)|0;e=w4(a[c>>2]|0)|0;e=v8(w,t,e,a[f>>2]|0)|0;if((n|0)!=0&(e|0)!=0)n=N8(a[A>>2]|0,n,e)|0;else n=0}else b=43}while(0);if((b|0)==43){n=a[c>>2]|0;f=A+24|0;n=v8(a[A>>2]|0,n,n,a[f>>2]|0)|0}a[f>>2]=(a[f>>2]|0)+1;e=i+l|0;i=n;b=45}}if((b|0)==45)if(!i)i=12;else{a[A+8>>2]=i;a[A+12>>2]=e;i=0}k=s;return i|0}function U8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+4|0;n=c;A=T8(A,t)|0;if((r[A>>0]|0)==44){A=T8(A+1|0,n)|0;l=a[n>>2]|0;n=a[t>>2]|0}else{t=a[t>>2]|0;a[n>>2]=t;l=t;n=t}do{if(!(n>>>0>255|((l|0)>255|(l|0)>-1&(l|0)<(n|0)))){if(!e)if((r[A>>0]|0)==92)A=A+1|0;else{A=0;break}if((r[A>>0]|0)==125){a[i>>2]=n;a[f>>2]=l;A=A+1|0}else A=0}else A=0}while(0);k=c;return A|0}function x8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if((a[e+12>>2]|0)>-1){r=v8(a[A>>2]|0,-1,-1,-1)|0;if((r|0)!=0?(f=g8(a[A>>2]|0,r,e)|0,(f|0)!=0):0){r=a[e+16>>2]|0;a[f+16>>2]=r;n=6}else r=12}else{f=e;r=a[e+16>>2]|0;n=6}if((n|0)==6){a[f+12>>2]=i;a[f+16>>2]=r+1;a[A+8>>2]=f;r=0}return r|0}function T8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;a[e>>2]=-1;if(((r[A>>0]|0)+-48|0)>>>0<10){a[e>>2]=0;i=A;n=0;f=r[A>>0]|0;while(1){n=(n*10|0)+-48+(f<<24>>24)|0;a[e>>2]=n;A=i+1|0;f=r[A>>0]|0;if((n|0)>255|((f<<24>>24)+-48|0)>>>0>9)break;else i=A}}return A|0}function j8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+288|0;i=B+264|0;n=B;a[i>>2]=a[A>>2];l=i+8|0;a[l>>2]=0;a[i+12>>2]=32;o=m2(128)|0;d=i+4|0;a[d>>2]=o;if(!o)e=12;else{f=n+4|0;a[f>>2]=0;o=(r[e>>0]|0)==94;a[n>>2]=o&1;e=O8(A,o?e+1|0:e,i,n)|0;A:do{if(!e){o=(a[n>>2]|0)==0;if(!o){K4(a[d>>2]|0,a[l>>2]|0,4,111);e=_8(i)|0;if(!e){e=12;i=0;break}a[e>>2]=1114112;a[e+4>>2]=1114112;a[e+8>>2]=-1;e=a[f>>2]|0;if(e){i=e<<2;f=w8(a[A>>2]|0,0,0,0,i+4|0)|0;if(!f){e=12;i=0;break}y6(f|0,n+8|0,i|0)|0;a[f+(e<<2)>>2]=0}else f=0}else f=0;s=a[l>>2]|0;if((s|0)>0){w=a[d>>2]|0;u=A+24|0;i=0;e=0;b=0;while(1){c=a[w+(b<<2)>>2]|0;n=a[c>>2]|0;l=c+4|0;t=a[l>>2]|0;do{if(!o)if((n|0)>(e|0)){a[c>>2]=e;a[l>>2]=n+-1;e=t+1|0;h=14;break}else{c=t+1|0;e=(c|0)>=(e|0)?c:e;break}else h=14}while(0);if((h|0)==14){h=0;a[c+8>>2]=a[u>>2];a[c+16>>2]=f;c=F8(a[A>>2]|0,0,c)|0;i=N8(a[A>>2]|0,i,c)|0;if(!i){e=12;i=0;break A}}b=b+1|0;if((b|0)>=(s|0)){e=0;break}}}else{e=0;i=0}}else i=0}while(0);L2(a[d>>2]|0);d=A+24|0;a[d>>2]=(a[d>>2]|0)+1;a[A+8>>2]=i}k=B;return e|0}function S8(A){A=A|0;var e=0;e=r[A>>0]|0;A=0;while(1){if((r[63752+(A<<3)>>0]|0)==e<<24>>24)break;A=A+1|0;if((A|0)==12){A=12;break}}return a[63752+(A<<3)+4>>2]|0}function P8(A){A=A|0;var e=0;e=A+-48|0;if(e>>>0<10)return e|0;else{e=A|32;return((e+-97|0)>>>0<6?e+-87|0:-1)|0}return 0}function O8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+32|0;u=v;h=v+4|0;t=G3(u,e,-1)|0;n=r[e>>0]|0;A:do{if((t|0)>=1){d=f+4|0;w=A+32|0;l=e;c=t;e:while(1){t=(l|0)==(e|0);if(!(t|n<<24>>24!=93)){B=5;break}i:do{if(!(t|n<<24>>24!=45)){switch(r[l+1>>0]|0){case 93:break i;case 45:break;default:{n=11;break A}}if((r[l+2>>0]|0)==93){n=11;break A}}}while(0);i:do{if(n<<24>>24==91){switch(r[l+1>>0]|0){case 61:case 46:{n=3;break A}case 58:break;default:{B=17;break i}}t=l+2|0;n=0;r:while(1){switch(r[t+n>>0]|0){case 0:{B=16;break e}case 58:break r;default:{}}if((n|0)<13)n=n+1|0;else{B=16;break e}}y6(h|0,t|0,n|0)|0;r[h+n>>0]=0;c=z4(h)|0;if(!c){B=16;break e}l=t+(n+2)|0;if((r[t+(n+1)>>0]|0)!=93){B=16;break e}if(!(a[f>>2]|0)){n=1114111;s=0;b=1;B=25}else{n=a[d>>2]|0;if((n|0)>63){n=12;break A}a[d>>2]=n+1;a[f+8+(n<<2)>>2]=c}}else B=17}while(0);if((B|0)==17){B=0;t=a[u>>2]|0;l=l+c|0;if((r[l>>0]|0)==45?(o=l+1|0,(r[o>>0]|0)!=93):0){l=G3(u,o,-1)|0;n=a[u>>2]|0;if((l|0)<1|(t|0)>(n|0)){n=11;break A}c=0;s=t;l=o+l|0;b=0;B=25}else{c=0;n=t;s=t;b=0;B=25}}if((B|0)==25){B=0;t=_8(i)|0;if(!t){n=12;break A}a[t>>2]=s;a[t+4>>2]=n;a[t+12>>2]=c;a[t+8>>2]=-1;if(!(b|(a[w>>2]&2|0)==0)?(q8(i,s,n)|0)!=0:0){n=12;break A}}c=G3(u,l,-1)|0;n=r[l>>0]|0;if((c|0)<1){B=3;break A}}if((B|0)==5){a[A+12>>2]=l+1;n=0;break}else if((B|0)==16){n=4;break}}else B=3}while(0);if((B|0)==3)n=n<<24>>24?2:7;k=v;return n|0}function K8(A,e){A=A|0;e=e|0;return(a[a[A>>2]>>2]|0)-(a[a[e>>2]>>2]|0)|0}function _8(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=A+8|0;i=a[l>>2]|0;r=A+12|0;f=a[r>>2]|0;if((i|0)>=(f|0))if((f|0)<=32767?(a[r>>2]=f<<1,n=A+4|0,e=y2(a[n>>2]|0,f<<3)|0,(e|0)!=0):0){a[n>>2]=e;i=a[l>>2]|0;t=6}else e=0;else{e=a[A+4>>2]|0;t=6}if((t|0)==6){a[l>>2]=i+1;t=w8(a[A>>2]|0,0,0,1,20)|0;a[e+(i<<2)>>2]=t;e=t}return e|0}function q8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;A:do{if((e|0)>(i|0))e=0;else while(1){e:do{if(!(c4(e)|0)){if(!(b4(e)|0)){e=e+1|0;break}f=w4(e)|0;r=f;while(1){n=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=n;n=12;break e}if((w4(n)|0)==(r|0))e=n;else{l=f;e=n;n=12;break}}}else{f=H1(e)|0;r=f;while(1){n=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=n;n=12;break e}if((H1(n)|0)==(r|0))e=n;else{l=f;e=n;n=12;break}}}}while(0);if((n|0)==12){n=0;f=_8(A)|0;if(!f){e=-1;break A}a[f>>2]=l;a[f+4>>2]=r+-1;a[f+8>>2]=-1}if((e|0)>(i|0)){e=0;break}}}while(0);return e|0}function $8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;b=w;t=a[A+4>>2]|0;c=t+56|0;l=(a[c>>2]&8|0)==0?i:0;A=a[t+40>>2]|0;if((A|0)>0&(l|0)!=0){A=m2(A<<2)|0;if(!A)A=12;else{n=A;i=A;s=3}}else{n=0;i=0;s=3}if((s|0)==3){if(!(a[t+60>>2]|0))A=e6(t,e,n,f,b)|0;else A=A6(t,e,n,f,b)|0;if(!A)i6(l,r,a[c>>2]|0,t,n,a[b>>2]|0);if(n)L2(i)}k=w;return A|0}function A6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0;S=k;k=k+16|0;T=S;a[T>>2]=0;u=r&1;U=r&2;x=A+56|0;w=a[x>>2]&4;j=b8(0,0)|0;A:do{if(j){o=w8(j,0,0,0,32)|0;if(!o){s8(j);r=12;break}a[o+24>>2]=0;a[o+28>>2]=0;p=A+40|0;h=a[p>>2]|0;if(h){r=m2(h<<2)|0;if(!r){s=0;b=0;c=r;r=12;t=0;l=0;n=0}else{c=r;t=r;L=6}}else{c=0;t=0;L=6}e:do{if((L|0)==6){r=a[A+28>>2]|0;if(r){r=m2(r<<3)|0;if(!r){s=r;b=0;r=12;l=0;n=0;break}else{s=r;l=r}}else{s=0;l=0}H=A+52|0;r=a[H>>2]|0;if(r){r=m2(r<<2)|0;if(!r){b=r;r=12;n=0;break}else{b=r;n=r}}else{b=0;n=0}V=A+8|0;J=A+12|0;N=(i|0)==0;X=(i|0)!=0;R=A+32|0;F=(w|0)!=0;M=(u|0)==0;B=e;r=1;d=-1;E=-1;w=h;m=0;i:while(1){if((w|0)>0){u=0;do{a[c+(u<<2)>>2]=-1;if(!N){a[i+(u<<2)>>2]=-1;w=a[p>>2]|0}u=u+1|0}while((u|0)<(w|0))}w=a[H>>2]|0;if((w|0)>0)Y6(n|0,0,w<<2|0)|0;Y=r+d|0;r=G3(T,B,4)|0;if((r|0)<1)if((r|0)<0){r=1;break e}else r=1;z=B+r|0;D=a[T>>2]|0;w=a[V>>2]|0;u=w+8|0;if(a[u>>2]|0){C=(Y|0)!=0;I=(m|0)==95;Z=(Y|0)==0;Q=F&(m|0)==10;G=(Y|0)<1&M;g=w;w=0;v=0;B=u;while(1){d=g+20|0;u=a[d>>2]|0;r:do{if(u)if((u&1|0)==0|G|Q){if(u&2|0?(y=a[T>>2]|0,!((y|U|0)==0|F&(y|0)==10)):0){h=v;break}do{if(u&16|0){if(I){h=v;break r}if(a4(m)|0){h=v;break r}u=a[T>>2]|0;if((u|0)==95)break;if(!(a4(u)|0)){h=v;break r}}}while(0);u=a[d>>2]|0;if(u&32){if(I){u=a[T>>2]|0;if((u|0)==95){h=v;break}}else{y=(a4(m)|0)==0;u=a[T>>2]|0;if(y|(u|0)==95){h=v;break}}if(a4(u)|0){h=v;break}u=a[d>>2]|0}h=a[T>>2]|0;do{if((h|0)!=0&(C&(u&64|0)!=0)){if(I)u=1;else{u=(a4(m)|0)!=0;h=a[T>>2]|0}if((h|0)==95)if(u){h=v;break r}else break;else if(u^(a4(h)|0)!=0)break;else{h=v;break r}}}while(0);if(!(a[d>>2]&128)){L=49;break}u=a[T>>2]|0;if(Z|(u|0)==0){h=v;break}if(I)h=1;else{h=(a4(m)|0)!=0;u=a[T>>2]|0}if((u|0)==95)if(h){L=49;break}else{h=v;break}else if(h^(a4(u)|0)!=0){h=v;break}else{L=49;break}}else h=v;else L=49}while(0);do{if((L|0)==49){L=0;if(!v){w=a[g+16>>2]|0;h=a[B>>2]|0;break}h=o+28|0;u=a[h>>2]|0;if(!u){u=w8(j,0,0,0,32)|0;if(!u){L=53;break i}a[u+24>>2]=o;a[u+28>>2]=0;y=w8(j,0,0,0,a[p>>2]<<2)|0;a[u+20>>2]=y;if(!y){L=60;break i}a[h>>2]=u;o=u}else o=u;a[o>>2]=Y;a[o+4>>2]=z;a[o+8>>2]=a[B>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[T>>2];if((a[p>>2]|0)>0){h=a[o+20>>2]|0;u=0;do{a[h+(u<<2)>>2]=a[c+(u<<2)>>2];u=u+1|0}while((u|0)<(a[p>>2]|0))}u=a[g+16>>2]|0;if(!u)h=v;else{h=a[u>>2]|0;if((h|0)<=-1){h=v;break}d=a[o+20>>2]|0;do{u=u+4|0;a[d+(h<<2)>>2]=Y;h=a[u>>2]|0}while((h|0)>-1);h=v}}}while(0);B=g+40|0;if(!(a[B>>2]|0))break;else{g=g+32|0;v=h}}if(w){u=a[w>>2]|0;if((u|0)>-1)do{a[c+(u<<2)>>2]=Y;w=w+4|0;u=a[w>>2]|0}while((u|0)>-1)}else w=0;if(!h)L=171;else{B=Y;d=z;C=h;I=w;L=79}}else{w=0;L=171}r:while(1){if((L|0)==79){if((C|0)==(a[J>>2]|0)){if((E|0)>=(B|0)){if(!(X&(E|0)==(B|0))){w=I;L=171;continue}w=a[p>>2]|0;if(!(f6(w,a[R>>2]|0,c,i)|0)){w=I;L=171;continue}}else{if(N){E=B;w=I;L=171;continue}w=a[p>>2]|0}if((w|0)>0)w=0;else{E=B;w=I;L=171;continue}while(1){a[i+(w<<2)>>2]=a[c+(w<<2)>>2];w=w+1|0;if((w|0)>=(a[p>>2]|0)){E=B;w=I;L=171;continue r}}}g=C+8|0;if((a[g>>2]|0)!=0?(a[C+20>>2]&256|0)!=0:0){u=a[C+24>>2]|0;i6(u+1|0,s,a[x>>2]&-9,A,c,B);y=a[s+(u<<3)>>2]|0;u=(a[s+(u<<3)+4>>2]|0)-y|0;if(Z1(e+y|0,d+-1|0,u)|0){w=I;L=171;continue}y=(u|0)==0;w=y&1;h=a[C+12>>2]|0;if(y?a[b+(h<<2)>>2]|0:0){w=I;L=171;continue}a[b+(h<<2)>>2]=w;u=u+-1|0;d=d+u|0;u=u+B|0;h=a[T>>2]|0;w=G3(T,d,4)|0;if((w|0)<1)if((w|0)<0){r=1;break e}else w=1;W=d+w|0;y=w}else{h=a[T>>2]|0;if(!h){w=I;L=171;continue}w=G3(T,d,4)|0;if((w|0)<1)if((w|0)<0){r=1;break e}else w=1;u=B;W=d+w|0;y=w}B=u+r|0;if(!(a[g>>2]|0)){r=y;w=I;L=171;continue}Z=(B|0)!=0;G=(h|0)==95;Q=(B|0)==0;L=F&(h|0)==10;m=(B|0)<1&M;v=0;w=I;while(1){f:do{if((a[C>>2]|0)>>>0<=h>>>0){if((a[C+4>>2]|0)>>>0>>0)break;d=C+20|0;r=a[d>>2]|0;do{if(r|0){if(!((r&1|0)==0|m|L))break f;if(r&2|0?(I=a[T>>2]|0,!((I|U|0)==0|F&(I|0)==10)):0)break f;do{if(r&16|0){if(G)break f;if(a4(h)|0)break f;r=a[T>>2]|0;if((r|0)==95)break;if(!(a4(r)|0))break f}}while(0);r=a[d>>2]|0;if(r&32){if(G){r=a[T>>2]|0;if((r|0)==95)break f}else{I=(a4(h)|0)==0;r=a[T>>2]|0;if(I|(r|0)==95)break f}if(a4(r)|0)break f;r=a[d>>2]|0}u=a[T>>2]|0;do{if((u|0)!=0&(Z&(r&64|0)!=0)){if(G)r=1;else{r=(a4(h)|0)!=0;u=a[T>>2]|0}if((u|0)==95)if(r)break f;else break;else if(r^(a4(u)|0)!=0)break;else break f}}while(0);do{if(a[d>>2]&128|0){r=a[T>>2]|0;if(Q|(r|0)==0)break f;if(G)u=1;else{u=(a4(h)|0)!=0;r=a[T>>2]|0}if((r|0)==95)if(u)break;else break f;else if(u^(a4(r)|0)!=0)break f;else break}}while(0);r=a[d>>2]|0;do{if(r&4){if(a[x>>2]&2|0)break;if(!(f4(h,a[C+24>>2]|0)|0))break f;r=a[d>>2]|0}}while(0);do{if(r&4|0){if(!(a[x>>2]&2))break;I=w4(h)|0;r=C+24|0;if(f4(I,a[r>>2]|0)|0)break;I=H1(h)|0;if(!(f4(I,a[r>>2]|0)|0))break f}}while(0);if(!(a[d>>2]&8))break;if(r6(a[C+28>>2]|0,h,a[x>>2]&2)|0)break f}}while(0);if(!v){v=a[g>>2]|0;w=a[C+16>>2]|0;break}u=o+28|0;r=a[u>>2]|0;if(!r){r=w8(j,0,0,0,32)|0;if(!r){L=145;break i}a[r+24>>2]=o;a[r+28>>2]=0;I=w8(j,0,0,0,a[p>>2]<<2)|0;a[r+20>>2]=I;if(!I){L=152;break i}a[u>>2]=r;o=r}else o=r;a[o>>2]=B;a[o+4>>2]=W;a[o+8>>2]=a[g>>2];a[o+12>>2]=a[C+12>>2];a[o+16>>2]=a[T>>2];if((a[p>>2]|0)>0){u=a[o+20>>2]|0;r=0;do{a[u+(r<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0}while((r|0)<(a[p>>2]|0))}r=a[C+16>>2]|0;if(!r)break;u=a[r>>2]|0;if((u|0)<=-1)break;d=a[o+20>>2]|0;do{a[d+(u<<2)>>2]=B;r=r+4|0;u=a[r>>2]|0}while((u|0)>-1)}}while(0);g=C+40|0;if(!(a[g>>2]|0))break;else C=C+32|0}if(!v){r=y;L=171;continue}if(w){r=a[w>>2]|0;if((r|0)>-1){do{w=w+4|0;a[c+(r<<2)>>2]=B;r=a[w>>2]|0}while((r|0)>-1);h=E;u=W;r=y}else{h=E;u=W;r=y}}else{h=E;u=W;r=y;w=0}}else if((L|0)==171){L=0;d=a[o+24>>2]|0;if(!d)break;v=a[o+8>>2]|0;if(a[v+20>>2]&256|0)a[b+(a[o+12>>2]<<2)>>2]=0;B=a[o>>2]|0;g=a[o+4>>2]|0;a[T>>2]=a[o+16>>2];h=a[p>>2]|0;if((h|0)>0){o=a[o+20>>2]|0;u=0;do{a[c+(u<<2)>>2]=a[o+(u<<2)>>2];u=u+1|0}while((u|0)<(h|0));o=d;h=E;u=g}else{o=d;h=E;u=g}}d=u;E=h;C=v;I=w;L=79}w=(E|0)>-1;if(w|(a[T>>2]|0)==0){L=180;break}a[T>>2]=D;B=z;d=Y;w=a[p>>2]|0;m=D}if((L|0)==53){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==60){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==145){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==152){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==180){a[f>>2]=E;r=(w^1)&1;break}}}while(0);s8(j);if(c|0)L2(t);if(s|0)L2(l);if(b)L2(n)}else r=12}while(0);k=S;return r|0}function e6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0;P=k;k=k+16|0;T=P;a[T>>2]=0;b=r&1;H=r&2;p=A+56|0;c=a[p>>2]&4;if(!i)X=0;else X=a[A+40>>2]|0;R=X<<2;t=a[A+52>>2]|0;l=t<<3;n=l+8|0;r=R+12+l+(n+(U(R,t)|0)<<1)|0;j=m2(r)|0;if(!j)r=12;else{Y6(j|0,0,r|0)|0;r=j+R|0;s=r&3;s=r+((s|0)==0?0:4-s|0)|0;r=s+n|0;w=r&3;w=r+((w|0)==0?0:4-w|0)|0;r=w+n|0;N=r&3;N=r+((N|0)==0?0:4-N|0)|0;r=N+l|0;n=r&3;l=(t|0)>0;if(l){r=r+((n|0)==0?0:4-n|0)|0;n=0;while(1){a[w+(n<<3)+4>>2]=r;r=r+R|0;a[s+(n<<3)+4>>2]=r;n=n+1|0;if((n|0)>=(t|0))break;else r=r+R|0}if(l){r=0;do{a[N+(r<<3)>>2]=-1;r=r+1|0}while((r|0)<(t|0))}}r=G3(T,e,4)|0;if((r|0)<1)if((r|0)<0)r=1;else{t=1;S=11}else{t=r;S=11}A:do{if((S|0)==11){J=A+8|0;V=(c|0)!=0;y=(b|0)==0;z=(X|0)>0;Y=A+12|0;D=(X|0)<1;M=A+44|0;F=A+32|0;L=A+36|0;W=(X|0)==0;l=0;E=e+t|0;g=0;c=0;r=-1;n=s;Q=j;I=s;C=w;while(1){if((r|0)<0){A=a[J>>2]|0;b=A+8|0;e:do{if(a[b>>2]|0){o=(g|0)!=0;h=(l|0)==95;d=(g|0)==0;v=V&(l|0)==10;B=(g|0)<1&y;while(1){i:while(1){u=A+12|0;if((a[N+(a[u>>2]<<3)>>2]|0)>=(g|0))break;w=A+20|0;e=a[w>>2]|0;if(!e){S=46;break}r:do{if((e&1|0)==0|B|v){if(e&2|0?(m=a[T>>2]|0,!((m|H|0)==0|V&(m|0)==10)):0)break;do{if(e&16|0){if(h)break r;if(a4(l)|0)break r;e=a[T>>2]|0;if((e|0)==95)break;if(!(a4(e)|0))break r}}while(0);e=a[w>>2]|0;if(e&32){if(h){e=a[T>>2]|0;if((e|0)==95)break}else{m=(a4(l)|0)==0;e=a[T>>2]|0;if(m|(e|0)==95)break}if(a4(e)|0)break;e=a[w>>2]|0}s=a[T>>2]|0;do{if((s|0)!=0&(o&(e&64|0)!=0)){if(h)e=1;else{e=(a4(l)|0)!=0;s=a[T>>2]|0}if((s|0)==95)if(e)break r;else break;else if(e^(a4(s)|0)!=0)break;else break r}}while(0);if(!(a[w>>2]&128)){S=46;break i}e=a[T>>2]|0;if(d|(e|0)==0)break;if(h)s=1;else{s=(a4(l)|0)!=0;e=a[T>>2]|0}if((e|0)==95)if(s){S=46;break i}else break;else if(s^(a4(e)|0)!=0)break;else{S=46;break i}}}while(0);b=A+40|0;if(!(a[b>>2]|0))break e;else A=A+32|0}if((S|0)==46){S=0;a[n>>2]=a[b>>2];if(z)Y6(a[n+4>>2]|0,-1,R|0)|0;b=a[A+16>>2]|0;if(b|0?(x=a[b>>2]|0,(x|0)>-1):0){s=n+4|0;e=x;do{if((e|0)<(X|0))a[(a[s>>2]|0)+(e<<2)>>2]=g;b=b+4|0;e=a[b>>2]|0}while((e|0)>-1)}b=(a[n>>2]|0)!=(a[Y>>2]|0);if(b|D){c=b?c:1;r=b?r:g;b=n+4|0}else{b=n+4|0;c=a[b>>2]|0;r=0;do{a[i+(r<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0}while((r|0)!=(X|0));c=1;r=g}m=a[u>>2]|0;a[N+(m<<3)>>2]=g;a[N+(m<<3)+4>>2]=b;n=n+8|0}b=A+40|0;if(!(a[b>>2]|0))break;else A=A+32|0}}}while(0);a[n>>2]=0;n=a[T>>2]|0;if(!n)break;else l=n}else{if(W)break;l=a[T>>2]|0;if(!((n|0)!=(I|0)&(l|0)!=0))break}m=g+t|0;n=G3(T,E,4)|0;if((n|0)<1)if((n|0)<0){r=1;break A}else t=1;else t=n;G=E+t|0;if((c|0)!=0&(a[M>>2]|0)!=0){if(!(a[I>>2]|0))n=C;else{u=a[L>>2]|0;o=a[u>>2]|0;h=(o|0)>-1;w=I;n=C;do{s=w+4|0;e:do{if(h){b=0;e=o;do{A=a[u+((b|1)<<2)>>2]|0;if((e|0)>=(X|0))break e;c=a[s>>2]|0;if((a[c+(A<<2)>>2]|0)==(a[i+(A<<2)>>2]|0)?(a[c+(e<<2)>>2]|0)<(a[i+(e<<2)>>2]|0):0)break e;b=b+2|0;e=a[u+(b<<2)>>2]|0}while((e|0)>-1);b=s;S=75}else{b=s;c=a[s>>2]|0;S=75}}while(0);if((S|0)==75){S=0;a[n>>2]=a[w>>2];E=n+4|0;Z=a[E>>2]|0;a[E>>2]=c;a[b>>2]=Z;n=n+8|0}w=w+8|0}while((a[w>>2]|0)!=0)}a[n>>2]=0;Z=I;c=0}else{Z=C;C=I}b=a[C>>2]|0;if(!b){b=Q;n=Z}else{d=(m|0)!=0;B=(l|0)==95;v=(m|0)==0;E=V&(l|0)==10;g=(m|0)<1&y;h=C;A=Q;n=Z;while(1){e=b+8|0;if(a[e>>2]|0){o=h+4|0;u=A;w=e;while(1){e:do{if((a[b>>2]|0)>>>0<=l>>>0?(a[b+4>>2]|0)>>>0>=l>>>0:0){s=b+20|0;A=a[s>>2]|0;do{if(A|0){if(!((A&1|0)==0|g|E)){A=u;break e}if(A&2|0?(Q=a[T>>2]|0,!((Q|H|0)==0|V&(Q|0)==10)):0){A=u;break e}do{if(A&16|0){if(B){A=u;break e}if(a4(l)|0){A=u;break e}A=a[T>>2]|0;if((A|0)==95)break;if(!(a4(A)|0)){A=u;break e}}}while(0);A=a[s>>2]|0;if(A&32){if(B){A=a[T>>2]|0;if((A|0)==95){A=u;break e}}else{Q=(a4(l)|0)==0;A=a[T>>2]|0;if(Q|(A|0)==95){A=u;break e}}if(a4(A)|0){A=u;break e}A=a[s>>2]|0}e=a[T>>2]|0;do{if((e|0)!=0&(d&(A&64|0)!=0)){if(B)A=1;else{A=(a4(l)|0)!=0;e=a[T>>2]|0}if((e|0)==95)if(A){A=u;break e}else break;else if(A^(a4(e)|0)!=0)break;else{A=u;break e}}}while(0);do{if(a[s>>2]&128|0){A=a[T>>2]|0;if(v|(A|0)==0){A=u;break e}if(B)e=1;else{e=(a4(l)|0)!=0;A=a[T>>2]|0}if((A|0)==95)if(e)break;else{A=u;break e}else if(e^(a4(A)|0)!=0){A=u;break e}else break}}while(0);A=a[s>>2]|0;do{if(A&4){if(a[p>>2]&2|0)break;if(!(f4(l,a[b+24>>2]|0)|0)){A=u;break e}A=a[s>>2]|0}}while(0);do{if(A&4|0){if(!(a[p>>2]&2))break;Q=w4(l)|0;A=b+24|0;if(f4(Q,a[A>>2]|0)|0)break;Q=H1(l)|0;if(!(f4(Q,a[A>>2]|0)|0)){A=u;break e}}}while(0);if(!(a[s>>2]&8))break;if(r6(a[b+28>>2]|0,l,a[p>>2]&2)|0){A=u;break e}}}while(0);if(z){e=a[o>>2]|0;A=0;do{a[u+(A<<2)>>2]=a[e+(A<<2)>>2];A=A+1|0}while((A|0)!=(X|0))}A=a[b+16>>2]|0;do{if(A|0){e=a[A>>2]|0;if((e|0)<=-1)break;do{if((e|0)<(X|0))a[u+(e<<2)>>2]=m;A=A+4|0;e=a[A>>2]|0}while((e|0)>-1)}}while(0);A=a[b+12>>2]|0;e=N+(A<<3)|0;if((a[e>>2]|0)>=(m|0)){A=a[N+(A<<3)+4>>2]|0;e=a[A>>2]|0;if(!(f6(X,a[F>>2]|0,u,e)|0)){A=u;break}a[A>>2]=u;if((a[w>>2]|0)!=(a[Y>>2]|0)){A=e;break}if(z)r=0;else{c=1;A=e;r=m;break}while(1){a[i+(r<<2)>>2]=a[u+(r<<2)>>2];r=r+1|0;if((r|0)==(X|0)){c=1;A=e;r=m;break e}}}Q=a[w>>2]|0;a[n>>2]=Q;I=n+4|0;s=a[I>>2]|0;a[I>>2]=u;a[e>>2]=m;a[N+(A<<3)+4>>2]=I;do{if((a[Y>>2]|0)==(Q|0)){if((r|0)==-1)if(z)r=0;else{r=m;c=1;break}else{if(!z)break;if((a[u>>2]|0)>(a[i>>2]|0))break;else r=0}do{a[i+(r<<2)>>2]=a[u+(r<<2)>>2];r=r+1|0}while((r|0)<(X|0));r=m;c=1}}while(0);A=s;n=n+8|0}else A=u}while(0);w=b+40|0;if(!(a[w>>2]|0))break;else{b=b+32|0;u=A}}}h=h+8|0;b=a[h>>2]|0;if(!b){b=A;break}}}a[n>>2]=0;E=G;g=m;Q=b;I=Z}a[f>>2]=r;r=r>>>31}}while(0);L2(j)}k=P;return r|0}function i6(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;if((i&8|0)==0&(n|0)>-1?(w=a[r+16>>2]|0,u=a[r+28>>2]|0,s=(A|0)!=0&(u|0)!=0,s):0){b=a[r+48>>2]|0;c=0;do{i=a[w+(c*12|0)>>2]|0;if((i|0)==(b|0))t=n;else t=a[f+(i<<2)>>2]|0;l=e+(c<<3)|0;a[l>>2]=t;i=a[w+(c*12|0)+4>>2]|0;if((i|0)==(b|0))i=n;else i=a[f+(i<<2)>>2]|0;r=e+(c<<3)+4|0;a[r>>2]=i;if((i|0)==-1|(t|0)==-1){a[r>>2]=-1;a[l>>2]=-1}c=c+1|0}while(c>>>0>>0&c>>>0>>0);if(s){i=0;do{t=e+(i<<3)+4|0;c=a[w+(i*12|0)+8>>2]|0;if(c|0?(k=a[c>>2]|0,(k|0)>-1):0){b=e+(i<<3)|0;l=0;f=k;r=a[b>>2]|0;do{if(!((r|0)>=(a[e+(f<<3)>>2]|0)?(a[t>>2]|0)<=(a[e+(f<<3)+4>>2]|0):0)){a[t>>2]=-1;a[b>>2]=-1;r=-1}l=l+1|0;f=a[c+(l<<2)>>2]|0}while((f|0)>-1)}i=i+1|0}while(i>>>0>>0&i>>>0>>0)}else i=0}else i=0;if(i>>>0>>0)Y6(e+(i<<3)|0,-1,A-i<<3|0)|0;return}function r6(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=a[A>>2]|0;A:do{if(!r)i=0;else{f=(i|0)==0;i=r;while(1){if(f){if(f4(e,i)|0){i=1;break A}}else{r=H1(e)|0;if(f4(r,a[A>>2]|0)|0){i=1;break A}r=w4(e)|0;if(f4(r,a[A>>2]|0)|0){i=1;break A}}A=A+4|0;i=a[A>>2]|0;if(!i){i=0;break}}}}while(0);return i|0}function f6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;A:do{if((A|0)>0){f=0;while(1){l=a[i+(f<<2)>>2]|0;n=a[r+(f<<2)>>2]|0;if(!(a[e+(f<<2)>>2]|0)){if((l|0)<(n|0)){f=1;break A}if((l|0)>(n|0)){f=0;break A}}else{if((l|0)>(n|0)){f=1;break A}if((l|0)<(n|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 a6(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=U(i,e)|0;i=(e|0)==0?0:i;if((a[f+76>>2]|0)>-1)c=d4(f)|0;else c=0;n=f+74|0;l=r[n>>0]|0;r[n>>0]=l+255|l;n=f+4|0;l=a[n>>2]|0;w=(a[f+8>>2]|0)-l|0;t=w>>>0>>0?w:b;if((w|0)>0){y6(A|0,l|0,t|0)|0;a[n>>2]=l+t;n=b-t|0;A=A+t|0}else n=b;A:do{if(!n)s=13;else{t=f+32|0;while(1){if(M1(f)|0)break;l=W5[a[t>>2]&63](f,A,n)|0;if((l+1|0)>>>0<2)break;n=n-l|0;if(!n){s=13;break A}else A=A+l|0}if(c|0)B4(f);i=((b-n|0)>>>0)/(e>>>0)|0}}while(0);if((s|0)==13)if(c)B4(f);return i|0}function n6(A){A=A|0;var e=0;if((a[A+76>>2]|0)>-1){e=(d4(A)|0)==0;A=l6(A)|0}else A=l6(A)|0;return A|0}function l6(A){A=A|0;var e=0;if(!(a[A>>2]&128))e=1;else e=(a[A+20>>2]|0)>>>0>(a[A+28>>2]|0)>>>0?2:1;e=W5[a[A+40>>2]&63](A,0,e)|0;if((e|0)>=0)e=e-(a[A+8>>2]|0)+(a[A+4>>2]|0)+(a[A+20>>2]|0)-(a[A+28>>2]|0)|0;return e|0}function t6(A){A=A|0;(a[A+76>>2]|0)>-1?d4(A)|0:0;return a[A+60>>2]|0}function c6(A){A=A|0;var e=0,i=0,f=0,n=0;f=a[15679]|0;if((a[f+76>>2]|0)>-1)n=d4(f)|0;else n=0;do{if((m3(A,f)|0)<0)A=-1;else{if((r[f+75>>0]|0)!=10?(e=f+20|0,i=a[e>>2]|0,i>>>0<(a[f+16>>2]|0)>>>0):0){a[e>>2]=i+1;r[i>>0]=10;A=0;break}A=(W3(f,10)|0)>>31}}while(0);if(n|0)B4(f);return A|0}function b6(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+48|0;t=b+24|0;l=b+16|0;n=b;e=b+28|0;A=e;i=153686;f=A+20|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));i=e+13|0;A=0;while(1){a3(i)|0;a[n>>2]=e;a[n+4>>2]=32962;a[n+8>>2]=384;f=N2(VA(5,n|0)|0)|0;if((f|0)>-1){c=4;break}if((A|0)<99)A=A+1|0;else{A=0;break}}if((c|0)==4){a[l>>2]=e;GA(10,l|0)|0;A=I3(f,153706)|0;if(!A){a[t>>2]=f;NA(6,t|0)|0;A=0}}k=b;return A|0}function s6(A){A=A|0;var e=0,i=0,r=0;if((a[A+76>>2]|0)>=0?(d4(A)|0)!=0:0){e=A+4|0;i=a[e>>2]|0;if(i>>>0<(a[A+8>>2]|0)>>>0){a[e>>2]=i+1;e=n[i>>0]|0}else e=D1(A)|0}else r=3;do{if((r|0)==3){e=A+4|0;i=a[e>>2]|0;if(i>>>0<(a[A+8>>2]|0)>>>0){a[e>>2]=i+1;e=n[i>>0]|0;break}else{e=D1(A)|0;break}}}while(0);return e|0}function w6(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;if((a[e+76>>2]|0)>=0?(d4(e)|0)!=0:0){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(t=e+20|0,c=a[t>>2]|0,c>>>0<(a[e+16>>2]|0)>>>0):0){a[t>>2]=c+1;r[c>>0]=f}else i=W3(e,A)|0;B4(e)}else b=3;do{if((b|0)==3){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(n=e+20|0,l=a[n>>2]|0,l>>>0<(a[e+16>>2]|0)>>>0):0){a[n>>2]=l+1;r[l>>0]=f;break}i=W3(e,A)|0}}while(0);return i|0}function u6(A){A=A|0;return n6(A)|0}function k6(){}function o6(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=A&65535;f=e&65535;i=U(f,a)|0;r=A>>>16;A=(i>>>16)+(U(f,r)|0)|0;f=e>>>16;e=U(f,a)|0;return(L=(A>>>16)+(U(f,r)|0)+(((A&65535)+e|0)>>>16)|0,A+e<<16|i&65535|0)|0}function h6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=A;a=i;i=o6(f,a)|0;A=L;return(L=(U(e,a)|0)+(U(r,f)|0)+A|A&0,i|0|0)|0}function d6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=A+i>>>0;return(L=e+r+(i>>>0>>0|0)>>>0,i|0)|0}function B6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=e-r-(i>>>0>A>>>0|0)>>>0;return(L=r,A-i>>>0|0)|0}function v6(A){A=A|0;var e=0;e=r[h+(A&255)>>0]|0;if((e|0)<8)return e|0;e=r[h+(A>>8&255)>>0]|0;if((e|0)<8)return e+8|0;e=r[h+(A>>16&255)>>0]|0;if((e|0)<8)return e+16|0;return(r[h+(A>>>24)>>0]|0)+24|0}function g6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;s=A;c=e;b=c;l=i;u=r;t=u;if(!b){n=(f|0)!=0;if(!t){if(n){a[f>>2]=(s>>>0)%(l>>>0);a[f+4>>2]=0}u=0;f=(s>>>0)/(l>>>0)>>>0;return(L=u,f)|0}else{if(!n){u=0;f=0;return(L=u,f)|0}a[f>>2]=A|0;a[f+4>>2]=e&0;u=0;f=0;return(L=u,f)|0}}n=(t|0)==0;do{if(l){if(!n){n=(j(t|0)|0)-(j(b|0)|0)|0;if(n>>>0<=31){w=n+1|0;t=31-n|0;e=n-31>>31;l=w;A=s>>>(w>>>0)&e|b<>>(w>>>0)&e;n=0;t=s<>2]=A|0;a[f+4>>2]=c|e&0;u=0;f=0;return(L=u,f)|0}n=l-1|0;if(n&l|0){t=(j(l|0)|0)+33-(j(b|0)|0)|0;o=64-t|0;w=32-t|0;c=w>>31;k=t-32|0;e=k>>31;l=t;A=w-1>>31&b>>>(k>>>0)|(b<>>(t>>>0))&e;e=e&b>>>(t>>>0);n=s<>>(k>>>0))&c|s<>31;break}if(f|0){a[f>>2]=n&s;a[f+4>>2]=0}if((l|0)==1){k=c|e&0;o=A|0|0;return(L=k,o)|0}else{o=v6(l|0)|0;k=b>>>(o>>>0)|0;o=b<<32-o|s>>>(o>>>0)|0;return(L=k,o)|0}}else{if(n){if(f|0){a[f>>2]=(b>>>0)%(l>>>0);a[f+4>>2]=0}k=0;o=(b>>>0)/(l>>>0)>>>0;return(L=k,o)|0}if(!s){if(f|0){a[f>>2]=0;a[f+4>>2]=(b>>>0)%(t>>>0)}k=0;o=(b>>>0)/(t>>>0)>>>0;return(L=k,o)|0}n=t-1|0;if(!(n&t)){if(f|0){a[f>>2]=A|0;a[f+4>>2]=n&b|e&0}k=0;o=b>>>((v6(t|0)|0)>>>0);return(L=k,o)|0}n=(j(t|0)|0)-(j(b|0)|0)|0;if(n>>>0<=30){e=n+1|0;t=31-n|0;l=e;A=b<>>(e>>>0);e=b>>>(e>>>0);n=0;t=s<>2]=A|0;a[f+4>>2]=c|e&0;k=0;o=0;return(L=k,o)|0}}while(0);if(!l){b=t;c=0;t=0}else{w=i|0|0;s=u|r&0;b=d6(w|0,s|0,-1,-1)|0;i=L;c=t;t=0;do{r=c;c=n>>>31|c<<1;n=t|n<<1;r=A<<1|r>>>31|0;u=A>>>31|e<<1|0;B6(b|0,i|0,r|0,u|0)|0;o=L;k=o>>31|((o|0)<0?-1:0)<<1;t=k&1;A=B6(r|0,u|0,k&w|0,(((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1)&s|0)|0;e=L;l=l-1|0}while((l|0)!=0);b=c;c=0}l=0;if(f|0){a[f>>2]=A;a[f+4>>2]=e}k=(n|0)>>>31|(b|l)<<1|(l<<1|n>>>31)&0|c;o=(n<<1|0>>>31)&-2|t;return(L=k,o)|0}function E6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return g6(A,e,i,r,0)|0}function C6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+16|0;f=n|0;g6(A,e,i,r,f)|0;k=n;return(L=a[f+4>>2]|0,a[f>>2]|0)|0}function I6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e>>i;return A>>>i|(e&(1<>i-32|0}function Z6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e>>>i;return A>>>i|(e&(1<>>i-32|0}function G6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e<>>32-i;return A<>8&255|0}function m6(A){A=A|0;return(A&255)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>>24|0}function L6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;v=v+1|0;a[A>>2]=v;while((f|0)<(r|0)){if(!(a[i+(f<<3)>>2]|0)){a[i+(f<<3)>>2]=v;a[i+((f<<3)+4)>>2]=e;a[i+((f<<3)+8)>>2]=0;L=r;return i|0}f=f+1|0}r=r*2|0;i=y2(i|0,8*(r+1|0)|0)|0;i=L6(A|0,e|0,i|0,r|0)|0;L=r;return i|0}function W6(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;while((f|0)<(i|0)){r=a[e+(f<<3)>>2]|0;if(!r)break;if((r|0)==(A|0))return a[e+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function y6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if((i|0)>=8192)return jA(A|0,e|0,i|0)|0;l=A|0;n=A+i|0;if((A&3)==(e&3)){while(A&3){if(!i)return l|0;r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0;i=i-1|0}i=n&-4|0;f=i-64|0;while((A|0)<=(f|0)){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];a[A+32>>2]=a[e+32>>2];a[A+36>>2]=a[e+36>>2];a[A+40>>2]=a[e+40>>2];a[A+44>>2]=a[e+44>>2];a[A+48>>2]=a[e+48>>2];a[A+52>>2]=a[e+52>>2];a[A+56>>2]=a[e+56>>2];a[A+60>>2]=a[e+60>>2];A=A+64|0;e=e+64|0}while((A|0)<(i|0)){a[A>>2]=a[e>>2];A=A+4|0;e=e+4|0}}else{i=n-4|0;while((A|0)<(i|0)){r[A>>0]=r[e>>0]|0;r[A+1>>0]=r[e+1>>0]|0;r[A+2>>0]=r[e+2>>0]|0;r[A+3>>0]=r[e+3>>0]|0;A=A+4|0;e=e+4|0}}while((A|0)<(n|0)){r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0}return l|0}function z6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if((e|0)<(A|0)&(A|0)<(e+i|0)){f=A;e=e+i|0;A=A+i|0;while((i|0)>0){A=A-1|0;e=e-1|0;i=i-1|0;r[A>>0]=r[e>>0]|0}A=f}else y6(A,e,i)|0;return A|0}function Y6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=A+i|0;e=e&255;if((i|0)>=67){while(A&3){r[A>>0]=e;A=A+1|0}f=l&-4|0;n=f-64|0;t=e|e<<8|e<<16|e<<24;while((A|0)<=(n|0)){a[A>>2]=t;a[A+4>>2]=t;a[A+8>>2]=t;a[A+12>>2]=t;a[A+16>>2]=t;a[A+20>>2]=t;a[A+24>>2]=t;a[A+28>>2]=t;a[A+32>>2]=t;a[A+36>>2]=t;a[A+40>>2]=t;a[A+44>>2]=t;a[A+48>>2]=t;a[A+52>>2]=t;a[A+56>>2]=t;a[A+60>>2]=t;A=A+64|0}while((A|0)<(f|0)){a[A>>2]=t;A=A+4|0}}while((A|0)<(l|0)){r[A>>0]=e;A=A+1|0}return l-i|0}function D6(A){A=A|0;var e=0,i=0;i=A+15&-16|0;e=a[s>>2]|0;A=e+i|0;if((i|0)>0&(A|0)<(e|0)|(A|0)<0){_()|0;ZA(12);return-1}a[s>>2]=A;if((A|0)>(K()|0)?(O()|0)==0:0){a[s>>2]=e;ZA(12);return-1}return e|0}function M6(A){A=A|0;return+C5[A&1]()}function F6(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;return+I5[A&7](+e,+i,+r)}function V6(A,e){A=A|0;e=e|0;return+Z5[A&1](e|0)}function J6(A){A=A|0;return G5[A&3]()|0}function N6(A,e){A=A|0;e=e|0;return Q5[A&63](e|0)|0}function X6(A,e,i){A=A|0;e=e|0;i=i|0;return m5[A&127](e|0,i|0)|0}function R6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=+f;return L5[A&3](e|0,i|0,+r,+f)|0}function H6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return W5[A&63](e|0,i|0,r|0)|0}function p6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return y5[A&127](e|0,i|0,r|0,f|0)|0}function U6(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;return z5[A&127](e|0,i|0,r|0,f|0,a|0)|0}function x6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;return Y5[A&1](e|0,i|0,r|0,f|0,a|0,n|0)|0}function T6(A,e,i,r,f,a,n,l,t,c,b){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;return D5[A&3](e|0,i|0,r|0,f|0,a|0,n|0,l|0,t|0,c|0,b|0)|0}function j6(A){A=A|0;M5[A&15]()}function S6(A,e){A=A|0;e=e|0;F5[A&127](e|0)}function P6(A,e,i){A=A|0;e=e|0;i=i|0;V5[A&63](e|0,i|0)}function O6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;J5[A&127](e|0,i|0,r|0)}function K6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;n=n|0;N5[A&15](e|0,i|0,r|0,+f,+a,n|0)}function _6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;X5[A&31](e|0,i|0,r|0,f|0)}function q6(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;R5[A&15](e|0,i|0,r|0,f|0,a|0)}function $6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;H5[A&15](e|0,i|0,r|0,f|0,a|0,n|0)}function A5(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;p5[A&0](e|0,i|0,r|0,f|0,a|0,n|0,l|0,t|0,c|0)}function e5(){S(0);return 0.0}function i5(A,e,i){A=+A;e=+e;i=+i;S(1);return 0.0}function r5(A){A=A|0;S(2);return 0.0}function f5(){S(3);return 0}function a5(A){A=A|0;S(4);return 0}function n5(A,e){A=A|0;e=e|0;S(5);return 0}function l5(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;S(6);return 0}function t5(A,e,i){A=A|0;e=e|0;i=i|0;S(7);return 0}function c5(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(8);return 0}function b5(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;S(9);return 0}function s5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;S(10);return 0}function w5(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;S(11);return 0}function u5(){S(12)}function k5(A){A=A|0;S(13)}function o5(A,e){A=A|0;e=e|0;S(14)}function h5(A,e,i){A=A|0;e=e|0;i=i|0;S(15)}function d5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;S(16)}function B5(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(17)}function v5(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;S(18)}function g5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;S(19)}function E5(A,e,i,r,f,a,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;S(20)}var C5=[e5,cR];var I5=[i5,EM,gM,CM,IM,i5,i5,i5];var Z5=[r5,hR];var G5=[f5,Rj,tV,$V];var Q5=[a5,hW,JL,Qp,mp,Kh,$h,Ge,Qe,dr,Br,vr,gr,Er,Cr,Ir,Zr,F2,OI,hg,ND,HD,Hp,$F,vh,cd,Bh,fV,cV,gh,se,qF,he,de,wc,m2,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5];var m5=[n5,Qh,Oh,Ad,tX,cX,AX,KN,YN,Sl,Pl,Ol,Kl,_l,ql,At,et,it,rt,ft,at,nt,lt,tt,ct,bt,st,wt,ut,kt,ot,ht,dt,Bt,vt,gt,Et,Ct,It,Zt,Eq,Cq,Zq,Sq,Pq,Oq,Kq,_q,qq,$q,A$,T$,j$,P$,t$,c$,s$,kg,mL,oW,xW,gy,Ny,OY,SY,XD,pD,Nx,PT,Kj,BS,gS,CS,IS,GS,ZS,VS,PP,$P,eO,n_,dw,yv,Wv,Lv,EE,bd,eV,ME,KE,TE,jE,SC,m3,w6,rR,dH,po,_a,Oo,_o,we,A1,Zf,jl,tc,cc,y2,Es,Cs,Is,K8,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var L5=[l5,rK,tK,l5];var W5=[t5,Cp,G_,Lk,Vk,Tk,Kk,Ph,qh,sJ,fH,Fa,Gq,O$,w$,V2,J2,H2,p2,y4,ao,Np,u_,fT,AO,jw,Pw,_w,qk,vE,P4,XB,f3,aR,lJ,Gi,ac,Y$,I0,d0,m0,X3,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var y5=[c5,Zp,yS,Q_,yk,Nk,So,xB,Po,uh,Lh,yh,Hh,Rh,ed,ad,ld,eJ,nH,Ai,qe,Kr,Ja,nn,an,Qs,ms,Ls,dq,Bq,vq,gq,Iq,mq,N$,X$,R$,H$,p$,U$,x$,S$,_$,e$,i$,r$,f$,a$,n$,l$,b$,k$,eo,Td,IE,lR,$c,ib,cb,gb,Wb,Fb,Db,Vb,vs,L0,ns,M$,F$,Z0,G0,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5];var z5=[b5,mh,DN,eX,Lq,Wq,Tq,jq,k0,q$,$$,o$,h$,Zs,Gs,y0,z0,Y0,D0,F0,V0,J0,N0,X0,H0,p0,U0,x0,T0,R0,d2,B2,t2,e2,j0,S0,P0,K0,O0,_0,q0,$0,A2,i2,r2,f2,a2,n2,l2,c2,b2,s2,w2,h2,k2,u2,o2,I2,v2,g2,E2,C2,Z2,G2,Q2,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5];var Y5=[s5,Jt];var D5=[w5,h0,Q0,w5];var M5=[u5,tR,aV,nV,lV,sV,wV,uV,Ha,u5,u5,u5,u5,u5,u5,u5];var F5=[k5,$I,AZ,fZ,aZ,nZ,QZ,mZ,_Z,qZ,$Z,AG,eG,iG,rG,oG,hG,vG,gG,EG,CG,IG,ZG,GG,JG,NG,XG,HG,pG,UG,xG,TG,jG,SG,PG,aQ,nQ,lQ,cQ,bQ,sQ,wQ,uQ,kQ,oQ,hQ,dQ,vQ,YQ,DQ,MQ,FQ,jQ,SQ,PQ,KQ,cm,bm,sm,um,km,om,hm,dm,Bm,vm,gm,Em,ym,zm,Ym,Dm,tL,rL,fp,pH,xx,dx,mT,VT,RU,pU,ZT,GT,NH,XH,xU,qU,Ax,sx,zh,wN,yN,kN,uN,qN,JJ,RJ,Gr,yr,Km,UD,Ex,Gx,Tx,L2,V_,vo,ZE,dI,Ra,Bi,ve,iJ,ln,Vt,rc,fc,bc,k5,k5,k5,k5,k5,k5,k5,k5,k5];var V5=[o5,aG,bG,mG,YG,eQ,GQ,HQ,im,mm,Xm,id,MN,bX,iX,_N,LN,WN,nX,lX,Lr,Yr,vJ,to,gE,bV,be,Jl,Ft,nc,lc,sc,uc,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];var J5=[h5,lZ,tZ,sZ,KZ,fG,nG,cG,QG,LG,zG,KG,_G,AQ,gQ,EQ,ZQ,VQ,JQ,RQ,_Q,qQ,em,Cm,Im,Qm,Mm,Fm,Nm,LY,WY,yY,Ip,Wk,Jk,oo,Yh,nd,Hd,TB,sE,aF,AJ,wJ,XJ,aH,tH,$e,_e,Qr,mr,Wr,zr,Dr,Va,Zl,Il,Fo,ch,gd,Od,qd,rV,nR,aJ,ke,Be,Gl,ml,Ll,Vl,Nl,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5];var N5=[d5,NC,XC,RC,HC,pC,UC,xC,TC,d5,d5,d5,d5,d5,d5,d5];var X5=[B5,cZ,lG,WG,RG,qG,tQ,CQ,NQ,$Q,wm,Zm,Vm,$m,qm,_m,Om,Pm,Sm,GZ,jm,Tm,Wh,zN,$N,Qq,K$,u$,K4,ue,oe,V$];var R5=[v5,dG,OG,iQ,BQ,OQ,RD,CE,ge,v5,v5,v5,v5,v5,v5,v5];var H5=[g5,bZ,tG,yG,$G,IQ,XQ,Am,Gm,Jm,Ee,g5,g5,g5,g5,g5];var p5=[E5];return{___errno_location:X2,___muldi3:h6,___udivdi3:E6,___uremdi3:C6,_bitshift64Ashr:I6,_bitshift64Lshr:Z6,_bitshift64Shl:G6,_dtextract:Uk,_free:L2,_htons:V4,_i64Add:d6,_i64Subtract:B6,_llvm_bswap_i16:Q6,_llvm_bswap_i32:m6,_malloc:m2,_memalign:D2,_memcpy:y6,_memmove:z6,_memset:Y6,_realloc:y2,_saveSetjmp:L6,_sbrk:D6,_testSetjmp:W6,_vizCreateFile:_I,_vizLastErrorMessage:KI,_vizRenderFromString:qI,dynCall_d:M6,dynCall_dddd:F6,dynCall_di:V6,dynCall_i:J6,dynCall_ii:N6,dynCall_iii:X6,dynCall_iiidd:R6,dynCall_iiii:H6,dynCall_iiiii:p6,dynCall_iiiiii:U6,dynCall_iiiiiii:x6,dynCall_iiiiiiiiiii:T6,dynCall_v:j6,dynCall_vi:S6,dynCall_vii:P6,dynCall_viii:O6,dynCall_viiiddi:K6,dynCall_viiii:_6,dynCall_viiiii:q6,dynCall_viiiiii:$6,dynCall_viiiiiiiii:A5,establishStackSpace:TI,getTempRet0:PI,runPostSets:k6,setTempRet0:SI,setThrew:jI,stackAlloc:pI,stackRestore:xI,stackSave:UI}}(A.asmGlobalArg,A.asmLibraryArg,B),UA=(A.___errno_location=pA.___errno_location,A.___muldi3=pA.___muldi3,A.___udivdi3=pA.___udivdi3,A.___uremdi3=pA.___uremdi3,A._bitshift64Ashr=pA._bitshift64Ashr,A._bitshift64Lshr=pA._bitshift64Lshr,A._bitshift64Shl=pA._bitshift64Shl,A._dtextract=pA._dtextract,A._free=pA._free),xA=(A._htons=pA._htons,A._i64Add=pA._i64Add,A._i64Subtract=pA._i64Subtract,A._llvm_bswap_i16=pA._llvm_bswap_i16,A._llvm_bswap_i32=pA._llvm_bswap_i32,A._malloc=pA._malloc),TA=A._memalign=pA._memalign,jA=(A._memcpy=pA._memcpy,A._memmove=pA._memmove,A._memset=pA._memset),SA=(A._realloc=pA._realloc,A._saveSetjmp=pA._saveSetjmp,A._sbrk=pA._sbrk,A._testSetjmp=pA._testSetjmp,A._vizCreateFile=pA._vizCreateFile,A._vizLastErrorMessage=pA._vizLastErrorMessage,A._vizRenderFromString=pA._vizRenderFromString,A.establishStackSpace=pA.establishStackSpace,A.getTempRet0=pA.getTempRet0,A.runPostSets=pA.runPostSets,A.setTempRet0=pA.setTempRet0,A.setThrew=pA.setThrew,A.stackAlloc=pA.stackAlloc),PA=A.stackRestore=pA.stackRestore,OA=A.stackSave=pA.stackSave;if(A.dynCall_d=pA.dynCall_d,A.dynCall_dddd=pA.dynCall_dddd,A.dynCall_di=pA.dynCall_di,A.dynCall_i=pA.dynCall_i,A.dynCall_ii=pA.dynCall_ii,A.dynCall_iii=pA.dynCall_iii,A.dynCall_iiidd=pA.dynCall_iiidd,A.dynCall_iiii=pA.dynCall_iiii,A.dynCall_iiiii=pA.dynCall_iiiii,A.dynCall_iiiiii=pA.dynCall_iiiiii,A.dynCall_iiiiiii=pA.dynCall_iiiiiii,A.dynCall_iiiiiiiiiii=pA.dynCall_iiiiiiiiiii,A.dynCall_v=pA.dynCall_v,A.dynCall_vi=pA.dynCall_vi,A.dynCall_vii=pA.dynCall_vii,A.dynCall_viii=pA.dynCall_viii,A.dynCall_viiiddi=pA.dynCall_viiiddi,A.dynCall_viiii=pA.dynCall_viiii,A.dynCall_viiiii=pA.dynCall_viiiii,A.dynCall_viiiiii=pA.dynCall_viiiiii,A.dynCall_viiiiiiiii=pA.dynCall_viiiiiiiii,A.asm=pA,A.ccall=function(e,i,r,f,a){var n=function(e){var i=A["_"+e];return k(i,"Cannot call unknown function "+e+", make sure it is exported"),i}(e),l=[],t=0;if(f)for(var c=0;c0||(function(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)e=A.preRun.shift(),H.unshift(e);var e;R(H)}(),$>0||A.calledRun||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),i()}),1)):i()))}function re(e){throw A.onAbort&&A.onAbort(e),void 0!==e?(A.print(e),A.printErr(e),e=JSON.stringify(e)):e="",u=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(A.then=function(e){if(A.calledRun)e(A);else{var i=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){i&&i(),e(A)}}return A},ee.prototype=new Error,ee.prototype.constructor=ee,eA=function e(){A.calledRun||ie(),A.calledRun||(eA=e)},A.run=ie,A.exit=function(e,i){i&&A.noExitRuntime&&0===e||(A.noExitRuntime||(u=!0,Q=void 0,R(x),A.onExit&&A.onExit(e)),t&&process.exit(e),A.quit(e,new ee(e)))},A.abort=re,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return A.noExitRuntime=!0,ie(),A};function f(A){var e,i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=void 0===i.format?"svg":i.format,n=void 0===i.engine?"dot":i.engine,l=i.scale,t=i.totalMemory,c=void 0===i.files?[]:i.files,b=void 0===i.images?[]:i.images;for(e=0;e\\n\\n'});return"png-image-element"==r?f.svgXmlToPngImageElement(a(A,"svg",n,t,c),l):a(A,r,n,t,c)}function a(A,e,i,f,a){var n,l=r({TOTAL_MEMORY:f});for(n=0;n1?window.devicePixelRatio:1);var r=new Image;try{if("object"==typeof fabric&&fabric.loadSVGFromString)fabric.loadSVGFromString(A,(function(A,f){if(0==A.length){if(void 0!==i)return void i(new Error("Error loading SVG with Fabric"));throw new Error("Error loading SVG with Fabric")}var a=document.createElement("canvas");a.width=f.width,a.height=f.height;var n=new fabric.Canvas(a,{enableRetinaScaling:!1}),l=fabric.util.groupSVGElements(A,f);n.add(l).renderAll(),r.src=n.toDataURL({multiplier:e}),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)}));else{var f=new Image;f.onload=function(){var A=document.createElement("canvas");A.width=f.width*e,A.height=f.height*e,A.getContext("2d").drawImage(f,0,0,A.width,A.height),r.src=A.toDataURL("image/png"),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)},f.onerror=function(A){var e;if(e="error"in A?A.error:new Error("Error loading SVG"),void 0===i)throw e;i(e)},f.src="data:image/svg+xml;base64,"+btoa(encodeURIComponent(A).replace(/%([0-9A-F]{2})/g,(function(A,e){return String.fromCharCode("0x"+e)})))}}catch(A){if(void 0===i)throw A;i(A)}if(void 0===i)return r},f.svgXmlToPngBase64=function(A,e,i){f.svgXmlToPngImageElement(A,e,(function(A,e){A?i(A):i(null,e.src.slice(22))}))},A.exports?A.exports=f:e.Viz=f}(this)},778:()=>{},725:()=>{},966:()=>{}},e={};function i(r){var f=e[r];if(void 0!==f)return f.exports;var a=e[r]={exports:{}};return A[r].call(a.exports,a,a.exports,i),a.exports}i.n=A=>{var e=A&&A.__esModule?()=>A.default:()=>A;return i.d(e,{a:e}),e},i.d=(A,e)=>{for(var r in e)i.o(e,r)&&!i.o(A,r)&&Object.defineProperty(A,r,{enumerable:!0,get:e[r]})},i.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A=i(221),e=i.n(A);const r={bidir:"isBidirectional"};function f(A,e){throw new Error(\`Malformed plain output: \${A.slice(e-100,e+100)}\`)}function a(A,e){const i='"'===A[e],r=e+Number(i),f=A.indexOf(i?'"':" ",r);return{value:A.slice(r,f),end:f+Number(i)}}function n(A,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ";const r=A.indexOf(i,e);return r3&&void 0!==arguments[3]?arguments[3]:" ";const f=[];let a=i,l=A;for(;l--;){" "===e[a]&&a++;const{value:A,end:i}=n(e,a,r);f.push(A),a=i}return{values:f,end:a}}function t(A,e){const i=e+5,{value:r,end:f}=a(A,i),{values:n,end:t}=l(4,A,f+1),[c,b,s,w]=n;return{vertex:{vertex:{key:r},height:w,left:c,top:b,width:s},end:A.indexOf("\\n",t+1)}}function c(A,e){const i=e+5,{value:f,end:t}=a(A,i),{value:c,end:b}=a(A,t+1),{value:s,end:w}=n(A,b+1),{values:u,end:k}=l(2*s,A,w+1),{value:o,end:h}=a(A,k+1),d=[];for(let A=0;A{const e=r[A];e&&(B[e]=!0)})),{edge:{edge:{from:f,to:c,...B},pathPoints:d},end:A.indexOf("\\n",h+1)}}const b="}",s={nodesep:1.5,rankdir:"LR",ranksep:5,sep:.5,shape:"box",splines:"true"};function w(A){const{nodesep:e,rankdir:i,ranksep:r,sep:f,shape:a,splines:n}={...s,...A};return\`digraph G {\\n graph[nodesep=\${e.toFixed(3)}, rankdir=\${i}, ranksep=\${r.toFixed(3)}, sep=\${f.toFixed(3)}, splines=\${n}];\\n node [shape=\${a}, fixedsize=true, label="", color="_", fillcolor="_"];\\n edge [arrowhead=none, arrowtail=none];\`}function u(A){const{vertex:e,height:i,width:r}=A;let f="";if("left"in A&&"top"in A){const{left:e,top:i}=A;f=\`,pos="\${e.toFixed(5)},\${i.toFixed(5)}!"\`}return\`"\${e.key}" [height=\${i.toFixed(5)},width=\${r.toFixed(5)}\${f}];\`}function k(A,e){const i=arguments.length>2&&void 0!==arguments[2]&&arguments[2]?' [style="bidir",dir=both]':"";return Array.isArray(e)?\`"\${A}"->{ \${e.map((A=>\`"\${A}"\`)).join(" ")} };\`:\`"\${A}"->"\${e}"\${i};\`}let o=function(A){return A.Error="Error",A.LayoutError="LayoutError",A}({}),h=function(A){return A.DotOnly="DotOnly",A.Edges="Edges",A.Positions="Positions",A}({});var d=function(A){return A.Ok="Ok",A.Warn="Warn",A.Error="Error",A}(d||{});const B=.015;function v(A,e){return Math.abs(A-e)/e{if(A.isBidirectional)return void r.push(A);const e=f.get(A.from)||[];e.push(A.to),f.set(A.from,e)}));const a=e.map(u),n=r.map((A=>k(A.from,A.to,!0))),l=[];return f.forEach(((A,e)=>{l.push(k(e,A))})),[w(i)," ",a.join("\\n ")," ",n.join("\\n ")," ",l.join("\\n "),b].join("\\n ")}(i,r,a),{totalMemory:o}=a||{},g={totalMemory:o,engine:A===h.Edges?"neato":"dot",format:"plain"},E=e()(s,g),{edges:C,graph:I,vertices:Z}=function(A){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=[],r=[];let a=0;const{end:b,graph:s}=function(A,e){const i=e+6,{values:[r,f],end:a}=l(2,A,i),{value:t,end:c}=n(A,a+1,"\\n");return{end:c,graph:{height:t,scale:r,width:f}}}(A,a);for(a=b+1;"s"!==A[a];)if("n"!==A[a])if("e"!==A[a])f(A,a);else{if(!e){a=A.indexOf("\\n",a)+1;continue}const{end:r,edge:f}=c(A,a);i.push(f),a=r+1}else{const{end:e,vertex:i}=t(A,a);r.push(i),a=e+1}return{graph:s,vertices:r,edges:e?i:null}}(E,A!==h.Positions),G=function(A,e){const i={};let r;A.forEach((A=>{i[String(A.vertex.key)]=A}));for(let A=0;A1?"vertices":"vertex";return{validity:d.Error,message:\`Missing \${A}: \${f.join(", ")}\`}}return r||{validity:d.Ok,message:null}}(r,Z);return G.validity===d.Error?{graph:I,edges:C,vertices:Z,layoutError:!0,layoutErrorMessage:G.message}:G.validity===d.Warn?{graph:I,edges:C,vertices:Z,layoutErrorMessage:G.message}:{edges:C,graph:I,vertices:Z}}const E=self;let C;function I(A,e){if(e instanceof ErrorEvent){const{colno:i,error:r,filename:f,lineno:a,message:n}=e;return{colno:i,error:r,errorType:A,filename:f,lineno:a,message:n}}return{message:e.data}}function Z(A,e){const i={type:o.Error,meta:C,errorMessage:I(A,e)};E.postMessage(i)}E.onmessage=function(A){const{edges:e,meta:i,options:r,vertices:f}=A.data;C=i;const{layoutError:a,...n}=g(i.phase,e,f,r),l={meta:i,type:a?o.LayoutError:i.phase,...n};E.postMessage(l),C=null},E.onerror=Z.bind(null,"error"),E.onmessageerror=Z.bind(E,"messageerror")})();`,"Worker",void 0,void 0)}})();var r=i.Z;function killWorker(o){const $=o,_e=()=>{};$.onmessage=_e,$.onmessageerror=_e,$.onerror=_e,$.terminate()}function findAndRemoveWorker(o,$){for(let _e=0;_e=0)return et.splice(tt,1),{ok:!0,list:et}}return{ok:!1}}class Coordinator{constructor($){this.currentLayout=void 0,this.nextWorkerId=void 0,this.idleWorkers=void 0,this.busyWorkers=void 0,this.callback=void 0,this._handleVizWorkerError=_e=>{const et=_e.target,{ok:tt}=findAndRemoveWorker([this.busyWorkers,this.idleWorkers],et);tt?(console.error("Viz worker onerror"),console.error(_e),killWorker(et)):(console.error("Viz worker onerror from unknown viz worker"),console.error(_e))},this._handleVizWorkerMessageError=_e=>{const et={event:_e,currentLayout:this.currentLayout,errorType:"_handleVizWorkerMessageError"};console.error(et)},this._handleVizWorkerMessage=_e=>{const et=_e.target,tt=_e.data,{type:rt}=tt;this._makeWorkerIdle(et);const at=!this.currentLayout||!!(tt.meta&&tt.meta.layoutId!==this.currentLayout.id);if(rt===EWorkerErrorType.Error){console.error(`${at?"(stale) ":""}Error from viz.worker`,_e);return}if(!at){if(rt===EWorkerErrorType.LayoutError){console.error("layout-error",_e);return}if(tt.type===EWorkerPhase.Positions||tt.type===EWorkerPhase.Edges||tt.type===EWorkerPhase.DotOnly){this._processResult(rt,tt);return}console.error(`Unknown worker message type: ${rt}`,_e)}},this.callback=$,this.currentLayout=null,this.nextWorkerId=0,this.idleWorkers=[],this.busyWorkers=[]}getLayout($,_e,et,tt){this.busyWorkers.forEach(killWorker),this.busyWorkers.length=0;const{edges:rt,unmapEdges:at,unmapVertices:nt,vertices:it}=convInputs(_e,et),ot=it.map(vertexToDot);this.currentLayout={id:$,cleaned:{edges:rt,vertices:ot},options:tt||null,input:{edges:_e,unmapEdges:at,unmapVertices:nt,vertices:et},status:{phase:ECoordinatorPhase.NotStarted}};const lt=!!(tt&&tt.useDotEdges)?EWorkerPhase.DotOnly:EWorkerPhase.Positions;this._postWork(lt,rt,ot)}stopAndRelease(){this.idleWorkers.forEach(killWorker),this.idleWorkers.length=0,this.busyWorkers.forEach(killWorker),this.busyWorkers.length=0,this.currentLayout=null}_initWorker(){const $=new r;return $.id=this.nextWorkerId,this.nextWorkerId++,$.onerror=this._handleVizWorkerError,$.onmessageerror=this._handleVizWorkerMessageError,$.onmessage=this._handleVizWorkerMessage,$}_makeWorkerIdle($){const{ok:_e}=findAndRemoveWorker([this.busyWorkers,this.idleWorkers],$);_e?this.idleWorkers.push($):killWorker($)}_postWork($,_e,et){if(!this.currentLayout)throw new Error("_startWork called without a current layout");const{id:tt,options:rt,status:at}=this.currentLayout,nt=this.idleWorkers.pop()||this._initWorker();this.busyWorkers.push(nt),at.phase=$,at.workerId=nt.id;const it={options:rt,edges:_e,vertices:et,meta:{phase:$,layoutId:tt,workerId:nt.id}};nt.postMessage(it)}_processResult($,_e){const et=this.currentLayout;if(!et)return;const{edges:tt,graph:rt,meta:at,vertices:nt}=_e,{workerId:it}=at,{cleaned:ot,input:st,status:lt}=et,{phase:ct,workerId:ut}=lt;if($!==ct||it!==ut){console.error("Have work results, but in an invalid state");return}if(!nt||!rt||$!==EWorkerPhase.Positions&&!tt){console.error("Have work results, but recieved invalid result data");return}const ft=vertexToPixels.bind(null,rt),At=nt.map(ft),vt=st.unmapVertices(At),ht=graphToPixels(rt);if(($===EWorkerPhase.Positions||$===EWorkerPhase.DotOnly)&&this.callback({type:ECoordinatorPhase.Positions,layoutId:et.id,graph:ht,vertices:vt}),tt){const bt=tt.map(dt=>edgeToPixels(rt,dt)),pt=st.unmapEdges(bt);this.callback({type:ECoordinatorPhase.Done,layoutId:et.id,graph:ht,edges:pt,vertices:vt})}$===EWorkerPhase.Positions&&this._postWork(EWorkerPhase.Edges,ot.edges,nt)}}class LayoutManager{constructor($){this.layoutId=void 0,this.coordinator=void 0,this.pendingResult=void 0,this.options=void 0,this._handleUpdate=_e=>{const et=this.pendingResult;if(!(!et||_e.layoutId!==et.id))if(_e.type===ECoordinatorPhase.Positions){const{isPositionsResolved:tt,resolvePositions:rt}=et;if(tt){console.warn("Duplicate positiosn update",_e);return}const{graph:at,vertices:nt}=_e;if(!nt||!rt)throw new Error("Invalid state");et.isPositionsResolved=!0,rt({graph:at,vertices:nt,isCancelled:!1})}else if(_e.type===ECoordinatorPhase.Done){const{resolveLayout:tt}=et,{edges:rt,graph:at,vertices:nt}=_e;if(!rt||!nt||!tt)throw new Error("Invalid state");this.pendingResult=null,tt({edges:rt,graph:at,vertices:nt,isCancelled:!1})}else throw new Error("Unrecognized update type")},this.options=$,this.layoutId=0,this.coordinator=new Coordinator(this._handleUpdate),this.pendingResult=null}getLayout($,_e){this._cancelPending(),this.layoutId++;const et=this.layoutId;this.coordinator.getLayout(et,$,_e,this.options),this.pendingResult={id:et,isPositionsResolved:!1};const tt=new Promise(at=>{this.pendingResult&&et===this.pendingResult.id&&(this.pendingResult.resolvePositions=at)});return{layout:new Promise(at=>{this.pendingResult&&et===this.pendingResult.id&&(this.pendingResult.resolveLayout=at)}),positions:tt}}stopAndRelease(){this._cancelPending(),this.coordinator.stopAndRelease()}_cancelPending(){const $=this.pendingResult;$&&(!$.isPositionsResolved&&$.resolvePositions&&($.resolvePositions({isCancelled:!0}),$.isPositionsResolved=!0),$.resolveLayout&&$.resolveLayout({isCancelled:!0}),this.pendingResult=null)}}const index$G="",index$F="";var Checkbox$2=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,o.call(this,_e));et.handleChange=function(rt){var at=et.props,nt=at.disabled,it=at.onChange;nt||("checked"in et.props||et.setState({checked:rt.target.checked}),it&&it({target:_default$bE({},et.props,{checked:rt.target.checked}),stopPropagation:function(){rt.stopPropagation()},preventDefault:function(){rt.preventDefault()},nativeEvent:rt.nativeEvent}))},et.saveInput=function(rt){et.input=rt};var tt="checked"in _e?_e.checked:_e.defaultChecked;return et.state={checked:tt},et}return $.getDerivedStateFromProps=function(et,tt){return"checked"in et?_default$bE({},tt,{checked:et.checked}):null},$.prototype.focus=function(){this.input.focus()},$.prototype.blur=function(){this.input.blur()},$.prototype.render=function(){var et,tt=this.props,rt=tt.prefixCls,at=tt.className,nt=tt.style,it=tt.name,ot=tt.id,st=tt.type,lt=tt.disabled,ct=tt.readOnly,ut=tt.tabIndex,ft=tt.onClick,At=tt.onFocus,vt=tt.onBlur,ht=tt.autoFocus,bt=tt.value,pt=_default$d(tt,["prefixCls","className","style","name","id","type","disabled","readOnly","tabIndex","onClick","onFocus","onBlur","autoFocus","value"]),dt=Object.keys(pt).reduce(function(gt,yt){return(yt.substr(0,5)==="aria-"||yt.substr(0,5)==="data-"||yt==="role")&&(gt[yt]=pt[yt]),gt},{}),_t=this.state.checked,Ct=classnamesExports(rt,at,(et={},et[rt+"-checked"]=_t,et[rt+"-disabled"]=lt,et));return React$k.createElement("span",{className:Ct,style:nt},React$k.createElement("input",_default$bE({name:it,id:ot,type:st,readOnly:ct,disabled:lt,tabIndex:ut,className:rt+"-input",checked:!!_t,onClick:ft,onFocus:At,onBlur:vt,onChange:this.handleChange,autoFocus:ht,ref:this.saveInput,value:bt},dt)),React$k.createElement("span",{className:rt+"-inner"}))},$}(reactExports.Component);Checkbox$2.propTypes={prefixCls:propTypesExports.string,className:propTypesExports.string,style:propTypesExports.object,name:propTypesExports.string,id:propTypesExports.string,type:propTypesExports.string,defaultChecked:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.bool]),checked:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.bool]),disabled:propTypesExports.bool,onFocus:propTypesExports.func,onBlur:propTypesExports.func,onChange:propTypesExports.func,onClick:propTypesExports.func,tabIndex:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),readOnly:propTypesExports.bool,autoFocus:propTypesExports.bool,value:propTypesExports.any};Checkbox$2.defaultProps={prefixCls:"rc-checkbox",className:"",style:{},type:"checkbox",defaultChecked:!1,onFocus:function(){},onBlur:function(){},onChange:function(){}};polyfill(Checkbox$2);function _typeof$G(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$G=function(_e){return typeof _e}:_typeof$G=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$G(o)}function _defineProperty$K(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$1E(){return _extends$1E=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$O(o){return _getPrototypeOf$O=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$O(o)}var __rest$p=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tto.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _classCallCheck$1t(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$H(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1o(o,$,_e){return $&&_defineProperties$H(o.prototype,$),_e&&_defineProperties$H(o,_e),o}function _inherits$1s(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$K(o,$)}function _setPrototypeOf$K(o,$){return _setPrototypeOf$K=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$K(o,$)}function _createSuper$F(o){var $=_isNativeReflectConstruct$F();return function(){var et=_getPrototypeOf$N(o),tt;if($){var rt=_getPrototypeOf$N(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1s(this,tt)}}function _possibleConstructorReturn$1s(o,$){return $&&(_typeof$F($)==="object"||typeof $=="function")?$:_assertThisInitialized$K(o)}function _assertThisInitialized$K(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$F(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$N(o){return _getPrototypeOf$N=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$N(o)}var __rest$o=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0&&(bt=tt.getOptions().map(function(dt){return reactExports.createElement(Checkbox$1,{prefixCls:At,key:dt.value.toString(),disabled:"disabled"in dt?dt.disabled:it.disabled,value:dt.value,checked:ot.value.indexOf(dt.value)!==-1,onChange:dt.onChange,className:"".concat(vt,"-item")},dt.label)}));var pt=classNames(vt,lt);return reactExports.createElement("div",_extends$1D({className:pt,style:ct},ht),bt)},tt.state={value:et.value||et.defaultValue||[],registeredValues:[]},tt}return _createClass$1o(_e,[{key:"getChildContext",value:function(){return{checkboxGroup:{toggleOption:this.toggleOption,value:this.state.value,disabled:this.props.disabled,name:this.props.name,registerValue:this.registerValue,cancelValue:this.cancelValue}}}},{key:"shouldComponentUpdate",value:function(tt,rt){return!shallowequal(this.props,tt)||!shallowequal(this.state,rt)}},{key:"getOptions",value:function(){var tt=this.props.options;return tt.map(function(rt){return typeof rt=="string"?{label:rt,value:rt}:rt})}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderGroup)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"value"in tt?{value:tt.value||[]}:null}}]),_e}(reactExports.Component);CheckboxGroup.defaultProps={options:[]};CheckboxGroup.propTypes={defaultValue:propTypesExports.array,value:propTypesExports.array,options:propTypesExports.array.isRequired,onChange:propTypesExports.func};CheckboxGroup.childContextTypes={checkboxGroup:propTypesExports.any};polyfill(CheckboxGroup);const Group$1=CheckboxGroup;Checkbox$1.Group=Group$1;function _typeof$E(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$E=function(_e){return typeof _e}:_typeof$E=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$E(o)}function _extends$1C(){return _extends$1C=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$M(o){return _getPrototypeOf$M=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$M(o)}var __rest$n=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=0||Object.prototype.hasOwnProperty.call(st,ut)&&(ct[ut]=st[ut]);return ct}var ot=function(lt,ct){var ut=lt.children,ft=lt.color,At=lt.size,vt=lt.style,ht=lt.width,bt=lt.height,pt=it(lt,["children","color","size","style","width","height"]),dt=ct.reactIconBase,_t=dt===void 0?{}:dt,Ct=At||_t.size||"1em";return tt.default.createElement("svg",_e({children:ut,fill:"currentColor",preserveAspectRatio:"xMidYMid meet",height:bt||Ct,width:ht||Ct},_t,pt,{style:_e({verticalAlign:"middle",color:ft||_t.color},_t.style||{},vt)}))};ot.propTypes={color:at.default.string,size:at.default.oneOfType([at.default.string,at.default.number]),width:at.default.oneOfType([at.default.string,at.default.number]),height:at.default.oneOfType([at.default.string,at.default.number]),style:at.default.object},ot.contextTypes={reactIconBase:at.default.shape(ot.propTypes)},$.default=ot,o.exports=$.default})(lib$2,libExports);(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;stot+it,0);if($===1)return et;const tt=Math.max(_e,et/$);let rt=0,at=0;do rt+=o[at++];while(rt+o[at]=$&&nt[nt.length-1].widthMath.max(calcWidth(o.slice(ot),$-1,Math.max(_e,it)),it)))}const calcRects=memoize_1(function($,_e){const et=(Array.isArray($)?[`${$.length} Operations}`]:$.match(WORD_RX$1)||[$]).map(rt=>(_e.innerHTML=rt,_e.getClientRects()[0].width)),tt=[];for(let rt=1;rt<=et.length;rt++){const at=calcWidth(et,rt),nt=rt*FONT_SIZE*LINE_HEIGHT;if((!tt.length||atat)break}return tt},(o,$)=>`${o} ${$.style.fontWeight}`),sq=o=>o**2,diagonal=o=>Math.sqrt(sq(o.height)+sq(o.width));function smallestRadius(o,$){if(!$){let et=diagonal(o[0]),{height:tt,width:rt}=o[0];for(let at=1;at{$.forEach(tt=>{let rt,at;const nt=et.height+tt.height+OP_PADDING_TOP,it=(sq(et.width/2)-sq(tt.width/2))/(2*nt)+nt/2;itnt-et.height/2?(rt=diagonal(et)/2,at=rt-et.height/2):(rt=Math.sqrt(sq(tt.width/2)+sq(it)),at=rt-nt+it),(!_e||_e.radius>rt)&&(_e={radius:rt,svcWidth:et.width,opWidth:tt.width,svcMarginTop:at})})}),!_e)throw new Error("Given 0 svcRects and/or 0 opRects");return _e}const calcPositioning=memoize_1(function($,_e){const et=calcRects($,_initSvcSpan()),tt=_e?calcRects(_e,_initOpSpan()):void 0;return smallestRadius(et,tt)},(o,$)=>`${o} ${$}`),nodeIcons="",setFocusIcon=jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"DdgNode--SetFocusIcon",width:"100",height:"100",viewBox:"0 0 100 100",children:jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{d:"M50.0001 -1L61.0557 22.1383H38.9444L50.0001 -1Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M49.9999 99L38.9443 75.8617L61.0556 75.8617L49.9999 99Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M100 49L76.8617 60.0556L76.8617 37.9444L100 49Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M1.57361e-06 49L23.1383 37.9444L23.1383 60.0556L1.57361e-06 49Z",fill:"currentColor"})]})}),BreakableText$1="",WORD_RX=/\W*\w+\W*/g;function BreakableText(o){const{className:$,text:_e,wordRegexp:et=WORD_RX}=o;if(!_e)return typeof _e=="string"?_e:null;const tt=[];et.exec("");let rt=et.exec(_e)||[_e];for(;rt;)tt.push(jsxRuntimeExports.jsx("span",{className:$,children:rt[0]},`${_e}-${tt.length}`)),rt=et.exec(_e);return tt}BreakableText.defaultProps={className:"BreakableText",wordRegexp:WORD_RX};var characterMap={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ù:"u",ú:"u",û:"u",ü:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z"},chars=Object.keys(characterMap).join("|"),allAccents=new RegExp(chars,"g"),firstAccent=new RegExp(chars,""),removeAccents=function(o){return o.replace(allAccents,function($){return characterMap[$]})},hasAccents=function(o){return!!o.match(firstAccent)},removeAccents_1=removeAccents,has=hasAccents,remove$7=removeAccents;removeAccents_1.has=has;removeAccents_1.remove=remove$7;var _typeof$D=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_extends$1B=Object.assign||function(o){for(var $=1;$at=>`${rt} ${rt}-Digraph--${at}`),this.rootRef=reactExports.createRef(),this.zoomManager=null,this.getGlobalId=rt=>`${this.baseId}--${rt}`,this.getZoomTransform=()=>this.state.zoomTransform,this.setSizeVertices=(rt,at)=>{const{edges:nt,layoutManager:it,measurableNodesKey:ot}=this.props;if(rt!==ot){const lt=`expected ${JSON.stringify(ot)}, recieved ${JSON.stringify(rt)}`;throw new Error(`Key mismatch for measuring nodes; ${lt}`)}this.setState({sizeVertices:at});const{layout:st}=it.getLayout(nt,at);st.then(this.onLayoutDone),this.setState({sizeVertices:at,layoutPhase:ELayoutPhase.CalcPositions})},this.onZoomUpdated=rt=>{this.setState({zoomTransform:rt})},this.onLayoutDone=rt=>{if(rt.isCancelled)return;const{edges:at,graph:nt,vertices:it}=rt;this.setState({layoutEdges:at,layoutGraph:nt,layoutVertices:it,layoutPhase:ELayoutPhase.Done}),this.zoomManager&&this.zoomManager.setContentSize(nt)};const{edges:_e,vertices:et,zoom:tt}=$;Array.isArray(_e)&&_e.length&&Array.isArray(et)&&et.length&&(this.state.layoutPhase=ELayoutPhase.CalcSizes,this.state.edges=_e,this.state.vertices=et),tt&&(this.zoomManager=new ZoomManager$1(this.onZoomUpdated)),this.renderUtils={getGlobalId:this.getGlobalId,getZoomTransform:this.getZoomTransform}}componentDidMount(){const{current:$}=this.rootRef;$&&this.zoomManager&&this.zoomManager.setElement($)}renderLayers(){const{classNamePrefix:$,layers:_e}=this.props,et=this.makeClassNameFactory($||""),{sizeVertices:tt,...rt}=this.state,at={...rt,renderUtils:this.renderUtils},{layoutPhase:nt}=at;return _e.map(it=>{const{layerType:ot,key:st,setOnContainer:lt}=it;if(it.layers){if(it.layerType===ELayerType.Html)return reactExports.createElement(HtmlLayersGroup,{key:st,graphState:at,layers:it.layers,getClassName:et,setOnContainer:lt,setSizeVertices:this.setSizeVertices});if(it.layerType===ELayerType.Svg)return reactExports.createElement(SvgLayersGroup,{key:st,getClassName:et,defs:it.defs,graphState:at,layers:it.layers,setOnContainer:lt})}if(it.edges){const{defs:ut,markerEndId:ft,markerStartId:At,setOnEdge:vt}=it;return nt===ELayoutPhase.Done?reactExports.createElement(SvgEdgesLayer,{key:st,standalone:!0,getClassName:et,defs:ut,graphState:at,markerEndId:ft,markerStartId:At,setOnContainer:lt,setOnEdge:vt}):null}if(it.measurable){const{measureNode:ut,renderNode:ft,setOnNode:At}=it;return reactExports.createElement(MeasurableNodesLayer,{key:st,standalone:!0,getClassName:et,graphState:at,layerType:ot,measureNode:ut,renderNode:ft,senderKey:st,setOnContainer:lt,setOnNode:At,setSizeVertices:this.setSizeVertices})}const{renderNode:ct}=it;if(ct!==void 0)return reactExports.createElement(NodesLayer,{key:st,standalone:!0,getClassName:et,graphState:at,layerType:it.layerType,renderNode:ct,setOnContainer:lt,setOnNode:it.setOnNode});throw new Error("Unrecognized layer")})}render(){const{className:$,classNamePrefix:_e,minimap:et,minimapClassName:tt,setOnGraph:rt,style:at}=this.props,nt=this.zoomManager?WRAPPER_STYLE_ZOOM$1:WRAPPER_STYLE$1,it=assignMergeCss$1({style:nt,className:`${_e} ${_e}-Digraph`},{className:$,style:at},getProps(rt,{...this.state,renderUtils:this.renderUtils}));return reactExports.createElement("div",it,reactExports.createElement("div",{style:nt,ref:this.rootRef},this.renderLayers()),et&&this.zoomManager&&reactExports.createElement(MiniMap$1,Object.assign({className:tt,classNamePrefix:_e},this.zoomManager.getProps())))}}Digraph.propsFactories={classNameIsSmall:classNameIsSmall$3,scaleOpacity:scaleProperty.opacity,scaleStrokeOpacity:scaleProperty.strokeOpacity,scaleStrokeOpacityStrong:scaleProperty.strokeOpacityStrong,scaleStrokeOpacityStrongest:scaleProperty.strokeOpacityStrongest};Digraph.scaleProperty=scaleProperty;Digraph.defaultProps={className:"",classNamePrefix:"plexus",minimap:!1,minimapClassName:"",zoom:!1};class EdgeArrowDef extends reactExports.PureComponent{static getId($){return`${$}--edgeArrow`}static getIriRef($){return`url(#${EdgeArrowDef.getId($)})`}render(){const{id:$,scaleDampener:_e,zoomScale:et=null}=this.props,tt=et!=null?Math.max(_e/et,1):1;return reactExports.createElement("defs",null,reactExports.createElement("marker",{id:$,markerHeight:tt*8,markerUnits:"strokeWidth",markerWidth:tt*8,orient:"auto",refX:tt*8,refY:tt*3},reactExports.createElement("path",{d:`M0,0 L0,${tt*6} L${tt*9},${tt*3} z`,fill:"#000"})))}}EdgeArrowDef.defaultProps={zoomScale:null,scaleDampener:.6};function EdgesContainer(o){const{children:$,height:_e,width:et,...tt}=o;return reactExports.createElement("svg",Object.assign({height:_e,width:et,xmlns:"http://www.w3.org/2000/svg"},tt),$)}const D_CMDS=["M","C"];class EdgePath extends reactExports.PureComponent{render(){const{markerEnd:$,pathPoints:_e,...et}=this.props,tt=_e.map((rt,at)=>`${D_CMDS[at]||""}${rt.join(",")}`).join(" ");return reactExports.createElement("path",Object.assign({d:tt,fill:"none",stroke:"#000",vectorEffect:"non-scaling-stroke",markerEnd:$},et))}}class PureEdges extends reactExports.PureComponent{render(){const{arrowIriRef:$,layoutEdges:_e,setOnEdgePath:et}=this.props;return _e.map(tt=>reactExports.createElement(EdgePath,Object.assign({key:`${tt.edge.from}\v${tt.edge.to}`,pathPoints:tt.pathPoints,markerEnd:$},et&&et(tt.edge))))}}let Node$2=class extends reactExports.PureComponent{render(){const{classNamePrefix:$,hidden:_e,labelFactory:et,vertex:tt,left:rt,top:at,forwardedRef:nt,...it}=this.props,ot=it;return ot.style={...ot.style,position:"absolute",transform:rt==null||at==null?void 0:`translate(${rt}px,${at}px)`,visibility:_e?"hidden":void 0},ot.className=`${$}-Node ${ot.className||""}`,reactExports.createElement("div",Object.assign({ref:nt},ot),et(tt))}};Node$2.defaultProps={hidden:!1,left:null,top:null};const Node$3=reactExports.forwardRef((o,$)=>reactExports.createElement(Node$2,Object.assign({},o,{forwardedRef:$})));class PureNodes extends reactExports.PureComponent{_renderVertices(){const{classNamePrefix:$,getNodeLabel:_e,setOnNode:et,vertices:tt,vertexRefs:rt}=this.props;return tt.map((at,nt)=>reactExports.createElement(Node$3,Object.assign({key:at.key,ref:rt[nt],hidden:!0,classNamePrefix:$,labelFactory:_e,vertex:at},et&&et(at))))}_renderLayoutVertices(){const{classNamePrefix:$,getNodeLabel:_e,setOnNode:et,layoutVertices:tt,vertexRefs:rt}=this.props;return tt?tt.map((at,nt)=>reactExports.createElement(Node$3,Object.assign({key:at.vertex.key,ref:rt[nt],classNamePrefix:$,labelFactory:_e,vertex:at.vertex,left:at.left,top:at.top},et&&et(at.vertex)))):null}render(){return this.props.layoutVertices?this._renderLayoutVertices():this._renderVertices()}}const SCALE_THRESHOLD_SMALL=.29;function classNameIsSmall$2(o){const{k:$=1}=o.zoomTransform||{};return $<=SCALE_THRESHOLD_SMALL?{className:"is-small"}:null}function reduce(o,$){let{className:_e,style:et,...tt}=o;const{className:rt,style:at,...nt}=$;return rt&&(_e=_e?`${_e} ${rt}`:rt),at&&typeof at=="object"&&(et=et?{...et,...at}:at),{className:_e,style:et,...tt,...nt}}function assignMergeCss(){for(var o=arguments.length,$=new Array(o),_e=0;_e{const tt=[];for(let rt=0;rt<$.length;rt++){const at=$[rt](et);at&&tt.push(at)}return tt.reduce(reduce)}}const STROKE_MAX=4.2,STROKE_MIN=2,STROKE_SPREAD=STROKE_MAX-STROKE_MIN,PROPS_MAX={style:{strokeWidth:STROKE_MAX.toFixed(1)}},PROPS_MIN={style:{strokeWidth:STROKE_MIN.toFixed(1)}},THRESHOLD_MAX=.1,THRESHOLD_MIN=.6,THRESHOLD_SPREAD=THRESHOLD_MIN-THRESHOLD_MAX,cache={};let lastK=-Number.MIN_VALUE,lastProps=PROPS_MIN;function scaledStrokeWidth(o){const{k:$=1}=o.zoomTransform||{};if($===lastK)return lastProps;let _e=lastProps;if($>THRESHOLD_MIN)_e=PROPS_MIN;else if(${if(!at.isCancelled){const{graph:nt,vertices:it}=at;this.setState({layoutGraph:nt,layoutVertices:it,layoutPhase:PHASE_CALC_EDGES})}},this._onLayoutDone=at=>{const nt=this.rootRef.current;if(at.isCancelled||!nt)return;const{edges:it,graph:ot,vertices:st}=at;this.setState({layoutEdges:it,layoutGraph:ot,layoutVertices:st,layoutPhase:PHASE_DONE}),this.zoomManager&&this.zoomManager.setContentSize(ot)},this._onZoomUpdated=at=>{this.setState({zoomTransform:at})};const{edges:_e,vertices:et,zoom:tt}=$;Array.isArray(_e)&&_e.length&&Array.isArray(et)&&et.length&&(this.state.layoutPhase=PHASE_CALC_SIZES,this.state.edges=_e,this.state.vertices=et,this.state.vertexRefs=createHtmlRefs(et.length)),this.state.zoomEnabled=tt;const rt=`plexus--DirectedGraph--${idCounter}`;idCounter+=1,this.arrowId=EdgeArrowDef.getId(rt),this.arrowIriRef=EdgeArrowDef.getIriRef(rt),this.rootRef=reactExports.createRef(),tt?this.zoomManager=new ZoomManager$1(this._onZoomUpdated):this.zoomManager=null}componentDidMount(){this._setSizeVertices();const{current:$}=this.rootRef;$&&this.zoomManager&&this.zoomManager.setElement($)}componentDidUpdate(){const{layoutPhase:$}=this.state;$===PHASE_CALC_SIZES&&this._setSizeVertices()}_setSizeVertices(){const{edges:$,layoutManager:_e,vertices:et}=this.props,tt=[];this.state.vertexRefs.forEach((nt,it)=>{const{current:ot}=nt;ot&&tt.push({height:ot.offsetHeight,vertex:et[it],width:ot.offsetWidth})});const{positions:rt,layout:at}=_e.getLayout($,tt);rt.then(this._onPositionsDone),at.then(this._onLayoutDone),this.setState({sizeVertices:tt,layoutPhase:PHASE_CALC_POSITIONS})}_renderVertices(){const{classNamePrefix:$,getNodeLabel:_e,setOnNode:et,vertices:tt}=this.props,{layoutVertices:rt,vertexRefs:at}=this.state;return reactExports.createElement(PureNodes,{classNamePrefix:$,getNodeLabel:_e||String,layoutVertices:rt,setOnNode:et,vertexRefs:at,vertices:tt})}_renderEdges(){const{setOnEdgePath:$}=this.props,{layoutEdges:_e}=this.state;return _e&&reactExports.createElement(PureEdges,{setOnEdgePath:$,layoutEdges:_e,arrowIriRef:this.arrowIriRef})}render(){const{arrowScaleDampener:$,className:_e,classNamePrefix:et,minimap:tt,minimapClassName:rt,setOnEdgesContainer:at,setOnNodesContainer:nt,setOnRoot:it}=this.props,{layoutPhase:ot,layoutGraph:st,zoomEnabled:lt,zoomTransform:ct}=this.state,{height:ut=0,width:ft=0}=st||{},At=ot===PHASE_DONE,vt=assignMergeCss(nt&&nt(this.state)||{},{style:{...lt?ZoomManager$1.getZoomStyle(ct):null,position:"absolute",top:0,left:0},className:`${et}-DirectedGraph--nodeContainer`}),ht=assignMergeCss(at&&at(this.state)||{},{style:{minHeight:"100%",minWidth:"100%"},className:`${et}-DirectedGraph--nodeContainer`}),mt=assignMergeCss(it&&it(this.state)||{},{style:lt?WRAPPER_STYLE_ZOOM:WRAPPER_STYLE,className:`${et}-DirectedGraph ${_e}`});return reactExports.createElement("div",Object.assign({},mt,{ref:this.rootRef}),st&&At&&reactExports.createElement(EdgesContainer,Object.assign({},ht,{height:ut,width:ft}),reactExports.createElement(EdgeArrowDef,{id:this.arrowId,scaleDampener:$,zoomScale:lt&&ct?ct.k:null}),reactExports.createElement("g",{transform:lt?ZoomManager$1.getZoomAttr(ct):void 0},this._renderEdges())),reactExports.createElement("div",vt,this._renderVertices()),lt&&tt&&this.zoomManager&&reactExports.createElement(MiniMap$1,Object.assign({className:rt,classNamePrefix:et},this.zoomManager.getProps())))}}DirectedGraph.propsFactories={classNameIsSmall:classNameIsSmall$2,mergePropSetters,scaledStrokeWidth};DirectedGraph.defaultProps={arrowScaleDampener:void 0,className:"",classNamePrefix:"plexus",minimap:!1,minimapClassName:"",zoom:!1};let EWorkerErrorType=function(o){return o.Error="Error",o.LayoutError="LayoutError",o}({}),ECoordinatorPhase=function(o){return o.Done="Done",o.DotOnly="DotOnly",o.Edges="Edges",o.NotStarted="NotStarted",o.Positions="Positions",o}({}),EWorkerPhase=function(o){return o.DotOnly="DotOnly",o.Edges="Edges",o.Positions="Positions",o}({});const round$1=Math.round,DPI=72;function vertexToDot(o){const{vertex:$,height:_e,width:et}=o;return{vertex:$,height:_e/DPI,width:et/DPI}}function edgeToPixels(o,$){const{height:_e}=o,{edge:et,pathPoints:tt}=$;return{edge:et,pathPoints:tt&&tt.map(rt=>[round$1(rt[0]*DPI),round$1((_e-rt[1])*DPI)])}}function graphToPixels(o){const{height:$,scale:_e,width:et}=o;return{scale:_e,height:$*DPI,width:et*DPI}}function vertexToPixels(o,$){const{height:_e}=o,{vertex:et,height:tt,left:rt,top:at,width:nt}=$;return{vertex:et,height:round$1(tt*DPI),left:rt!=null?round$1((rt-nt*.5)*DPI):rt,top:at!=null?round$1((_e-at-tt*.5)*DPI):at,width:round$1(nt*DPI)}}const makeEdgeId=o=>`${o.from}\v${o.to}`;function unmapVertices(o,$){return $.map(_e=>{const et=o.get(_e.vertex.key);if(!et)throw new Error(`Unable to find Vertex for ${_e.vertex.key}`);return{..._e,vertex:et.vertex}})}function unmapEdges(o,$){return $.map(_e=>{const et=makeEdgeId(_e.edge),tt=o.get(et);if(!tt)throw new Error(`Unable to find edge for ${et}`);return{..._e,edge:tt}})}function convInputs(o,$){const _e=new Map,et=new Map,tt=new Map,rt=$.map(nt=>{const{vertex:{key:it},...ot}=nt;if(_e.has(it))throw new Error(`Non-unique vertex key: ${it}`);const st=String(_e.size);return _e.set(it,st),et.set(st,nt),{vertex:{key:st},...ot}});return{edges:o.map(nt=>{const{from:it,to:ot,isBidirectional:st}=nt,lt=_e.get(it),ct=_e.get(ot);if(lt==null)throw new Error(`Unrecognized key on edge, from: ${it}`);if(ct==null)throw new Error(`Unrecognized key on edge, to: ${ot}`);const ut={isBidirectional:st,from:lt,to:ct};return tt.set(makeEdgeId(ut),nt),ut}),vertices:rt,unmapEdges:unmapEdges.bind(null,tt),unmapVertices:unmapVertices.bind(null,et)}}var A$1={5:o=>{o.exports=function($,_e,et,tt){var rt=self||window;try{try{var at;try{at=new rt.Blob([$])}catch(st){(at=new(rt.BlobBuilder||rt.WebKitBlobBuilder||rt.MozBlobBuilder||rt.MSBlobBuilder)).append($),at=at.getBlob()}var nt=rt.URL||rt.webkitURL,it=nt.createObjectURL(at),ot=new rt[_e](it,et);return nt.revokeObjectURL(it),ot}catch(st){return new rt[_e]("data:application/javascript,".concat(encodeURIComponent($)),et)}}catch(st){if(!tt)throw Error("Inline worker is not supported");return new rt[_e](tt,et)}}}},e={};function a$1(o){var $=e[o];if($!==void 0)return $.exports;var _e=e[o]={exports:{}};return A$1[o](_e,_e.exports,a$1),_e.exports}a$1.n=o=>{var $=o&&o.__esModule?()=>o.default:()=>o;return a$1.d($,{a:$}),$},a$1.d=(o,$)=>{for(var _e in $)a$1.o($,_e)&&!a$1.o(o,_e)&&Object.defineProperty(o,_e,{enumerable:!0,get:$[_e]})},a$1.o=(o,$)=>Object.prototype.hasOwnProperty.call(o,$);var i={};(()=>{a$1.d(i,{Z:()=>_e});var o=a$1(5),$=a$1.n(o);function _e(){return $()(`var A={221:function(A,e,i){!function(e){var r=function(A){A=void 0!==(A=A||{})?A:{};var e,r={};for(e in A)A.hasOwnProperty(e)&&(r[e]=A[e]);A.arguments=[],A.thisProgram="./this.program",A.quit=function(A,e){throw e},A.preRun=[],A.postRun=[];var f,a,n=!1,l=!1,t=!1,c=!1;if(A.ENVIRONMENT)if("WEB"===A.ENVIRONMENT)n=!0;else if("WORKER"===A.ENVIRONMENT)l=!0;else if("NODE"===A.ENVIRONMENT)t=!0;else{if("SHELL"!==A.ENVIRONMENT)throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");c=!0}else n="object"==typeof window,l="function"==typeof importScripts,t="object"==typeof process&&!n&&!l,c=!n&&!t&&!l;for(e in t?(A.read=function(A,e){var r;return(r=HA(A))||(f||(f=i(725)),a||(a=i(966)),A=a.normalize(A),r=f.readFileSync(A)),e?r:r.toString()},A.readBinary=function(e){var i=A.read(e,!0);return i.buffer||(i=new Uint8Array(i)),k(i.buffer),i},process.argv.length>1&&(A.thisProgram=process.argv[1].replace(/\\\\/g,"/")),A.arguments=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof ee))throw A})),process.on("unhandledRejection",(function(A,e){process.exit(1)})),A.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(A.read=function(A){var e=HA(A);return e?XA(e):read(A)}),A.readBinary=function(A){var e;return(e=HA(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(k("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?A.arguments=scriptArgs:void 0!==arguments&&(A.arguments=arguments),"function"==typeof quit&&(A.quit=function(A,e){quit(A)})):(n||l)&&(A.read=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var i=HA(A);if(i)return XA(i);throw e}},l&&(A.readBinary=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=HA(A);if(i)return i;throw e}}),A.readAsync=function(A,e,i){var r=new XMLHttpRequest;r.open("GET",A,!0),r.responseType="arraybuffer",r.onload=function(){if(200==r.status||0==r.status&&r.response)e(r.response);else{var f=HA(A);f?e(f.buffer):i()}},r.onerror=i,r.send(null)},void 0!==arguments&&(A.arguments=arguments),A.setWindowTitle=function(A){document.title=A}),A.print="undefined"!=typeof console?console.log:"undefined"!=typeof print?print:null,A.printErr="undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn||A.print,A.print=A.print,A.printErr=A.printErr,r)r.hasOwnProperty(e)&&(A[e]=r[e]);function b(A){k(!Z);var e=I;return I=I+A+15&-16,e}function s(A){k(W);var e=C[W>>2],i=e+A+15&-16;return C[W>>2]=i,i>=X&&!J()?(C[W>>2]=e,0):e}function w(A,e){return e||(e=16),Math.ceil(A/e)*e}r=void 0,new Array(0);var u=0;function k(A,e){A||re("Assertion failed: "+e)}var o={stackSave:function(){OA()},stackRestore:function(){PA()},arrayToC:function(A){var e=SA(A.length);return function(A,e){v.set(A,e)}(A,e),e},stringToC:function(A){var e=0;if(null!=A&&0!==A){var i=1+(A.length<<2);M(A,e=SA(i),i)}return e}},h={string:o.stringToC,array:o.arrayToC};function d(A,e){if(0===e||!A)return"";for(var i,r=0,f=0;r|=i=g[A+f>>0],(0!=i||e)&&(f++,!e||f!=e););e||(e=f);var a="";if(r<128){for(var n,l=1024;e>0;)n=String.fromCharCode.apply(String,g.subarray(A,A+Math.min(e,l))),a=a?a+n:n,A+=l,e-=l;return a}return Y(A)}var B,v,g,E,C,I,Z,G,Q,m,L,W,y="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(A,e){for(var i=e;A[i];)++i;if(i-e>16&&A.subarray&&y)return y.decode(A.subarray(e,i));for(var r,f,a,n,l,t="";;){if(!(r=A[e++]))return t;if(128&r)if(f=63&A[e++],192!=(224&r))if(a=63&A[e++],224==(240&r)?r=(15&r)<<12|f<<6|a:(n=63&A[e++],240==(248&r)?r=(7&r)<<18|f<<12|a<<6|n:(l=63&A[e++],r=248==(252&r)?(3&r)<<24|f<<18|a<<12|n<<6|l:(1&r)<<30|f<<24|a<<18|n<<12|l<<6|63&A[e++])),r<65536)t+=String.fromCharCode(r);else{var c=r-65536;t+=String.fromCharCode(55296|c>>10,56320|1023&c)}else t+=String.fromCharCode((31&r)<<6|f);else t+=String.fromCharCode(r)}}function Y(A){return z(g,A)}function D(A,e,i,r){if(!(r>0))return 0;for(var f=i,a=i+r-1,n=0;n=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&A.charCodeAt(++n)),l<=127){if(i>=a)break;e[i++]=l}else if(l<=2047){if(i+1>=a)break;e[i++]=192|l>>6,e[i++]=128|63&l}else if(l<=65535){if(i+2>=a)break;e[i++]=224|l>>12,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=2097151){if(i+3>=a)break;e[i++]=240|l>>18,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=67108863){if(i+4>=a)break;e[i++]=248|l>>24,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else{if(i+5>=a)break;e[i++]=252|l>>30,e[i++]=128|l>>24&63,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}}return e[i]=0,i-f}function M(A,e,i){return D(A,g,e,i)}function F(A){for(var e=0,i=0;i=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&A.charCodeAt(++i)),r<=127?++e:e+=r<=2047?2:r<=65535?3:r<=2097151?4:r<=67108863?5:6}return e}function V(){re("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+X+", (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 J(){V()}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),I=Q=W=0,Z=!1;var N=A.TOTAL_STACK||5242880,X=A.TOTAL_MEMORY||16777216;if(X0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?A.dynCall_v(r):A.dynCall_vi(r,i.arg):r(void 0===i.arg?null:i.arg)}else i()}}var H=[],p=[],U=[],x=[],T=[],j=!1;function S(A,e,i){for(var r=0;r>0]=A.charCodeAt(r);i||(v[e>>0]=0)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(A,e){var i=65535&A,r=65535&e;return i*r+((A>>>16)*r+i*(e>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(A){A>>>=0;for(var e=0;e<32;e++)if(A&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(A){return A<0?Math.ceil(A):Math.floor(A)}),Math.trunc=Math.trunc;var P=Math.abs,O=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt),K=Math.ceil,_=Math.floor,q=Math.pow,$=(Math.imul,Math.fround,Math.round,Math.min,Math.max,Math.clz32,Math.trunc,0),AA=null,eA=null;function iA(e){$++,A.monitorRunDependencies&&A.monitorRunDependencies($)}function rA(e){if($--,A.monitorRunDependencies&&A.monitorRunDependencies($),0==$&&(null!==AA&&(clearInterval(AA),AA=null),eA)){var i=eA;eA=null,i()}}A.preloadedImages={},A.preloadedAudios={};var fA=null,aA="data:application/octet-stream;base64,";function nA(A){return String.prototype.startsWith?A.startsWith(aA):0===A.indexOf(aA)}var lA=[function(A,e){var i=d(A),r=d(e);EA.createPath("/",oA.dirname(i)),EA.writeFile(oA.join("/",i),r)}];I=197240,p.push(),fA="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABr4VQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/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+AAAAAAAADD0AAAQAAAA4PwAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAEAAAADAAAAAAAAAAAAAAAI2QIAGNkCACjZAgA42QIASNkCAFjZAgBo2QIAeNkCABjZAgAY2QIAWNkCAFjZAgAfAAAAPwAAAH8AAAAAAAAAooUBAAEAAACoKwAAaAAAAAQAAADVCAEAAQAAACAsAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAUBAAEAAAAAAAAA4AAAAAAAAAB4BQEAAQAAAAAAAADgAAAAAQAAAH8FAQABAAAAAAAAAKgAAAACAAAAiQUBAAEAAAAAAAAA4AAAAAMAAACTBQEAAQAAAAAAAADgAAAABAAAAKEFAQABAAAAAAAAAOAAAAAFAAAAqwUBAAEAAAAAAAAA4AAAAAYAAAC4BQEAAQAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ggBAAEAAADELQAAGAEAAAEAAADfCAEAAQAAAMQtAAAYAQAAAgAAAOUIAQABAAAAxC0AABgBAAADAAAA7ggBAAEAAADELQAAGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgIAQABAAAAAAAAAHABAAABAAAAAgkBAAEAAAAAAAAAcAEAAAIAAAANCQEAAQAAAAAAAAA4AQAAAwAAABsJAQABAAAAAAAAADgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAwAAAANAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAYAAAACAAAAAgAAAAcAAAACAAAAAAAAAGIYAgBnAQIA+AICADgJAgAvEAIAbhQCAO4XAgD/FwIAAAAAAGIJAQABAAAAKC8AAKgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmCQEAAQAAAAAAAADIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAbgkBAAEAAAA4MAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAKYKAQABAAAAAAAAACACAAACAAAAsAoBAAEAAAAAAAAAWAIAAAAAAAC5CgEAAQAAAAAAAABYAgAAAwAAAMIKAQABAAAAAAAAAFgCAAAAAAAAzAoBAAEAAAAAAAAAIAIAAAMAAADYCgEAAQAAAAAAAAAgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAASAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAJAAAAAwAAAAMAAAAKAAAABAAAAAAAAABiGAIAZwECADgJAgD4AgIAbhQCAC8QAgD/FwIA7hcCAAAAAAAAAAAAlQwBAP////88MQAAkAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgMAQD/////AAAAALACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACojQEAAQAAAFAyAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGQAAABoAAAAAAAAABAAAAAAAAAAbAAAAHAAAAB0AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAgAAAAIQAAACIAAAACAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAMAAAABQAAAAQAAAANAAAABQAAAAMAAACVEAEAoxABALkQAQDz+QIAxxABANYQAQDbEAEA+RABAPP5AgALEQEAOxEBAPP5AgBZEQEAgREBAI8RAQC+EQEA8hEBAAMSAQAoEgEASxIBAFESAQBtEgEAihIBAKUSAQDGEgEA4BIBAAITAQAhEwEARxMBAF8TAQB/EwEAnBMBAMATAQDMEwEA8/kCANcTAQD9EwEAIRQBAEcUAQDz+QIAfRQBAJUUAQCiFAEA0RQBAMwTAQDz+QIA3hQBAOcUAQAIFQEAQxUBAI4VAQDiFQEABBYBABkWAQAwFgEARhYBAF4WAQDz+QIAdBYBAI8WAQCzFgEA1xYBAPwWAQDz+QIAHRcBADcXAQBJFwEAVhcBAGMXAQB3FwEAhhcBAI4XAQCjFwEAsRcBAO8XAQD6FwEAzBMBAPP5AgAAGAEADBgBABsYAQBLEgEA8/kCAC4YAQBXGAEAdRgBAIUYAQCWGAEAnRgBAKwYAQC8GAEAABkBAAcZAQBLEgEA8/kCABEZAQA9GQEASBkBAFEZAQBaGQEAaxkBAHwZAQCQGQEAzBMBAPP5AgCcGQEArBkBALoZAQDIGQEA1RkBAOIZAQD4GQEAARoBABAaAQAdGgEALhoBAMwTAQDz+QIAORoBAFgaAQDz+QIAahoBAHkaAQCpGgEAsxoBAMAaAQDNGgEA2hoBAOcaAQDqGgEA8/kCAO4aAQDz+QIAERsBAEIbAQBxGwEAiBsBAKMbAQC+GwEAzBMBAPP5AgDaGwEA8/kCAAIcAQAOHAEAIRwBADQcAQBJHAEAXhwBAGIcAQBLEgEA8/kCAG4cAQDz+QIAfhwBAIwcAQCYHAEApRwBAMUcAQDbHAEA8/kCAO8cAQA4HQEAfh0BAK4dAQDhHQEA6B0BAA8eAQA2HgEA8/kCADseAQAAAAAAAAAAAPBHAQABAAAAAAAAAAgDAAABAAAArx4BAAEAAAAAAAAACAMAAAIAAADpRwEAAQAAAAAAAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAlAAAABgAAACYAAAAnAAAAKAAAACkAAAAqAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAEAAAALwAAAAAAAAAAAAAADgAAAAAAAAAPAAAABwAAAAUAAAAQAAAABgAAAAAAAAB/AAIAiQACAHkxAQDOAAIACQECACsBAgAxAQIAYhgCAFgBAgBnAQIAhAECAI8BAgCxAQIA5wECAB0CAgBYAgIAjgICALACAgC/AgIA8AICAPgCAgA/JQEASCUBABUDAgBRJQEAXwMCAFolAQBpAwIAYyUBAHMDAgDCAwIA/QMCAG8lAQA4BAIAQwQCAIgEAgCWBAIA4AQCAO4EAgD8BAIABwUCADgFAgB4BQIAgAUCAIgFAgDDBQIA+QUCAAUGAgB+MQEAEQYCABsGAgAmBgIAQwYCAHkGAgA4CQIAWgkCAGYJAgAlDAIAVgwCAIIMAgC4DAIAxQwCAOcMAgAJDQIAEg0CAFwNAgBmDQIAqw0CAOENAgDsDQIAcQ4CAIYOAgB3JQEAkA4CAJoOAgDQDgIAEA8CAB4PAgByDwIAgQ8CAJAPAgDfDwIAhjEBAB8QAgApEAIALxACAFsQAgCCEAIAkxACAJ4QAgDjEAIAKBECADcRAgBHEQIAWRECAGkRAgB5EQIAhhECAJARAgDGEQIAzxECAA8SAgAiEgIAizEBACoSAgBgEgIAhxICAL0SAgDkEgIA8hICACgTAgByEwIAvBMCAMcTAgD9EwIAAhQCAB8UAgA8FAIARxQCAG4UAgCGFAIAvBQCAPIUAgD+FAIAJRUCADAVAgBhFQIAkhUCAHg8AQC5FQIA5RUCABsWAgBRFgIAWxYCAHgWAgC4FgIA7hYCAJExAQAGFwIAMhcCAFkXAgCPFwIAzBcCAO4XAgD0FwIA/xcCACYYAgAAAAAAq40BAAEAAADINQAAeAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMdIAQABAAAAAAAAAJgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAABIAAAAIAAAABgAAABMAAAAHAAAAAAAAAAAAAACtJgEAAQAAANw4AADQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsCYBAAEAAAAAAAAA8AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAA1AAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADcAAAAAAAAAAAAAABQAAAAAAAAAFQAAAAkAAAAHAAAAFgAAAAgAAAAAAAAAeTEBAGIYAgBnAQIAfjEBAHkGAgA4CQIAhjEBAFsQAgAPEgIAizEBAEcUAgBuFAIAeDwBAJExAQDuFwIA/xcCAAAAAACWMQEAAQAAAKQ5AAAoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmjEBAAEAAAAAAAAASAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAA5AAAAOgAAAAoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQQAAAEIAAABDAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAGAAAAAsAAAAIAAAAGQAAAAkAAAAAAAAAzgACAA47AQBiGAIAZwECAIQBAgAZOwEAHzsBACo7AQAxOwEAjwECAOcBAgA5OwEAPzsBAEo7AQCOAgIAsAICAPgCAgBROwEAXwMCAHMDAgD9AwIAWzsBAIgEAgCWBAIA4AQCAGY7AQDuBAIAbjsBAHc7AQCFOwEAjzsBAMMFAgCYOwEABQYCACYGAgBDBgIAnjsBAIoGAgC1BgIA3gYCAAEHAgAqBwIATQcCAHYHAgCZBwIAwgcCAOUHAgAOCAIAMQgCAFoIAgB9CAIApggCAMkIAgDyCAIAFQkCADgJAgClOwEAWgkCALE7AQCCDAIA5wwCAKsNAgC+OwEAkA8CAMs7AQAfEAIALxACANU7AQBbEAIAghACAJMQAgDkOwEA9jsBAJ4QAgAoEQIANxECAEcRAgBZEQIAaRECAAY8AQARPAEAHDwBAHkRAgAPEgIAFBICACE8AQAqPAEAMzwBAEM8AQBKPAEAYBICAIcSAgC9EgIA8hICAAIUAgAfFAIAUjwBAG4UAgBZPAEA/hQCAGI8AQAwFQIAajwBAJIVAgB4PAEAuRUCAOUVAgB/PAEAeBYCALgWAgCJPAEA7hYCAAYXAgBZFwIAkzwBAKE8AQCPFwIAlhcCAMwXAgDuFwIA/xcCACYYAgAAAAAAszwBAAEAAACsOgAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALc8AQABAAAAAAAAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEUAAAAAAAAAAAAAAEYAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAABsAAAAMAAAACQAAABwAAAAKAAAAAAAAAEFCAACwoQEAQUkAAIqhAQBBUgAAXaEBAEFYAADFoQEAQiAAAAGkAQBCSQAAEqQBAENCAABKogEAQ08AADiiAQBDWAAAV6IBAEggAAB7ogEASEIAAIWiAQBISQAAEaMBAEhYAACUogEASGIAAMWiAQBIaQAA+KIBAEhyAACqogEASHgAANuiAQBJIAAAI6QBAEtCAADcoQEAS0kAACSiAQBLUgAAEKIBAEtYAAD9oQEATkIAACOjAQBOSQAAaqMBAE5SAACCowEATlgAAE6jAQBQQQAA46MBAFBCAACfowEAUEkAANOjAQBQWAAAv6MBAFIgAADapQEAUyAAAPKjAQBaRAAAYKQBAAAAAAAAAAAAAQAAAAAAAABdRwEA/////1w9AADYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYUcBAP////8AAAAA+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAGlHAQABAAAAIEMAAAAAAAAQAAAAcUcBAAEAAAAgQwAAAAAAABEAAAB5RwEAAQAAACBDAAAAAAAAEQAAAIJHAQABAAAAIEMAAAAAAAARAAAAikcBAAEAAAAgQwAAAAAAABMAAACSRwEAAQAAACRDAAAAAAAAFAAAAJpHAQABAAAAJEMAAAAAAAAVAAAAokcBAAEAAAAkQwAAAAAAABUAAACrRwEAAQAAACRDAAAAAAAAFQAAALNHAQABAAAAJEMAAAAAAAAWAAAAu0cBAAEAAAAoQwAAAAAAABcAAADERwEAAQAAAChDAAAAAAAAGAAAAM1HAQABAAAAKEMAAAAAAAAYAAAA10cBAAEAAAAoQwAAAAAAABgAAADgRwEAAQAAAChDAAAAAAAAGQAAAOlHAQABAAAALEMAAAAAAAAZAAAA8EcBAAEAAAAsQwAAAAAAABoAAAD2RwEAAQAAADBDAAAAAAAACgAAAP9HAQABAAAANEMAAAAAAAALAAAAB0gBAAEAAAA0QwAAAAAAAAwAAAAPSAEAAQAAADRDAAAAAAAADAAAABhIAQABAAAANEMAAAAAAAAMAAAAIEgBAAEAAAA0QwAAAAAAAA4AAAAoSAEAAQAAADRDAAAAAAAADgAAAC9IAQABAAAANEMAAAAAAAANAAAAN0gBAAEAAAA0QwAAAAAAAAUAAAA/SAEAAQAAADRDAAAAAAAABgAAAEdIAQABAAAANEMAAAAAAAAHAAAAT0gBAAEAAAA0QwAAAAAAAAcAAABYSAEAAQAAADRDAAAAAAAABwAAAGBIAQABAAAANEMAAAAAAAAJAAAAaEgBAAEAAAA0QwAAAAAAAAkAAABvSAEAAQAAADRDAAAAAAAACAAAAHdIAQABAAAANEMAAAAAAAAAAAAAf0gBAAEAAAA4QwAAAAAAAAEAAACISAEAAQAAADhDAAAAAAAAAgAAAJFIAQABAAAAOEMAAAAAAAACAAAAm0gBAAEAAAA4QwAAAAAAAAIAAACkSAEAAQAAADhDAAAAAAAABAAAAK1IAQABAAAAOEMAAAAAAAAEAAAAtUgBAAEAAAA4QwAAAAAAAAMAAAC+SAEAAQAAADhDAAAAAAAAEgAAAMdIAQABAAAAIEMAAAAAAAAbAAAAz0gBAAEAAAA8QwAAAAAAABwAAADXSAEAAQAAADxDAAAAAAAAHQAAAN9IAQABAAAAPEMAAAAAAAAdAAAA6EgBAAEAAAA8QwAAAAAAAB0AAADwSAEAAQAAADxDAAAAAAAAHgAAAPhIAQABAAAAQEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAAGNMAQBMQwAAAQAAAGhDAAAAAAAAAAAAAEgAAABJAAAAAQAAAAAAAACihQEAAAAAAFxDAABkQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAQAAAAYAQAAMAEAALAAAACIVAEAjVQBAJFUAQCYVAEAnFQBAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAdAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAfAAAAAAAAAAAAAACRWQEAKEQAAAEAAACARAAAAAAAAAAAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAEsAAABVAAAASwAAAFYAAABXAAAAWAAAAFkAAAAAAAAAnlkBAAAAAAA4RAAAKNsCAAEAAACkWQEAAAAAAEBEAAAo2wIAAgAAAKhZAQAAAAAASEQAACjbAgADAAAArVkBAAAAAABQRAAAKNsCAAQAAACzWQEAAAAAAFhEAAAo2wIABQAAALlZAQAAAAAAcEQAACjbAgAGAAAAw1kBAAAAAAB4RAAAKNsCAAcAAADJWQEAAAAAAGBEAAAo2wIABwAAAM1ZAQAAAAAAYEQAACjbAgAHAAAA0lkBAAAAAABoRAAAKNsCAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAADAAAAAAAAAAAQAAACAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAAAAAAPGcBAFRnAQBzZwEAkGcBAK9nAQC2ZwEAv2cBADxnAQBBZwEASGcBAE1nAQDeZgEA8GYBAP5mAQAMZwEAGmcBACFnAQAwZwEAPGcBAAAAAADz+QIAAAAAAB0SAgABAAAA+GkBAAcAAAC8aQEAAwAAAMYlAgAFAAAAAGoBAA8AAACQjQEACAAAAJCNAQAQAAAACGoBAAQAAAAIagEAEQAAAA1qAQAFAAAADWoBAAIAAAATagEABgAAABpqAQAEAAAAJmoBAAcAAAAuagEABwAAAD5qAQAFAAAARGoBAAgAAABbagEACAAAAERqAQAJAAAAZGoBAAcAAABsagEACgAAAIZqAQAHAAAAjmoBAAsAAACoagEABgAAAK9qAQAMAAAAzWoBAAkAAACvagEADQAAANdqAQAIAAAA4GoBAA4AAAABawEACAAAAAprAQASAAAAK2sBAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAMAAAAhAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAiAAAABQAAAAAAAAAAAAAAAAAAAAUAAABAAAAAiEcAAJhHAAAGAAAABAAAAKRHAAAGAAAACAAAAAYAAAAEAAAArEcAAAAEAAAIAAAA/////wAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAJAAAAAAAAAAcAAAAAAAAACQAAAAsAAAAIAAAACgAAADBJAAC0SAAAGEkAAAEAAAABAAAACgAAABYAAAALAAAAWgAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA0AAAAAAAAABwAAAAAAAAAHAAAAAgAAAAUAAAAIAAAAAAAAAAAAAAAGAAAAAwAAAA4AAAALAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAADwAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAEAAAAAAAAAAHAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAmAAAAAAAAAAAAAAAAAAAAAAAAABAAAAD/////AAAAAAAAAAAnAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAwAAAAEAAAABAAAAAgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAABAAAAAUAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAGAAAAAQAAAAEAAAAHAAAACAAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAAQAAAAEAAAALAAAAAQAAAAwAAAABAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABMAAAATAAAAEwAAABMAAAAXAAAAGAAAABkAAAATAAAAGgAAABsAAAAcAAAAHQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAB4AAAABAAAAAQAAABMAAAABAAAAHwAAACAAAAAhAAAAIgAAACMAAAATAAAAJAAAACUAAAAmAAAAEwAAABMAAAATAAAAEwAAACcAAAAoAAAAKQAAABMAAAAqAAAAKwAAACwAAAAtAAAAEwAAABMAAAATAAAAEwAAABMAAAABAAAAAQAAAAEAAAABAAAAAQAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAALgAAABMAAAATAAAAEwAAAC8AAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAADAAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAAAAAAAEAAAABAAAAAgAAAAMAAAABAAAABAAAAAEAAAAFAAAAAQAAAAYAAAAHAAAABwAAAAEAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAwAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAIAAAAB5swEAWrMBACB8AQCGswEAfrMBAIyzAQAAAAAAJoABAC+AAQA2gAEARIABAHqyAQCiswEAS4ABAFKAAQABAAAACAAAAP////8AAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAA8IEBAAgAAAADAAAA+YEBAP2BAQALAAAABgAAAKiNAQAJggEAAgAAAAEAAAAMggEAEIIBAAQAAAACAAAAFYIBABmCAQAEAAAABAAAAB6CAQAjggEABQAAAAUAAAApggEALYIBAAQAAAAHAAAAMoIBADaCAQAFAAAACQAAADyCAQBAggEABAAAAAoAAABFggEASoIBAAQAAAAMAAAAT4IBAOKGAQAAAAAAAQAAAOqGAQABAAAAAAAAAHWyAQABAAAAAQAAAB0SAgAAAAAAAAAAAAAAAAAAAAAAAAAAAMuFAQAxAAAAAAAAAAAAAACjrQEAEAAAAEUeAgCAAAAAxIUBAEAAAAAOoAEAEAAAAMaFAQBAAAAAAAAAAAAAAACShQEAAQAAAJmFAQACAAAAnoUBAAMAAADMpgEABAAAADCdAQAFAAAAooUBAAYAAAAdEgIACAAAAKaFAQAhAAAAqoUBACIAAACuhQEAIgAAALKFAQABAAAAt4UBAAcAAAC9hQEAJwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAApAAAAAAAAAAAAAAAAAAAAAAAAAP2KAQAEiwEAAAAAAKWNAQCojQEAq40BAAAAAAAAAAAAAQAAAAIAAAD/////aI0BAG6NAQAdEgIAAAAAAGQAAABlAAAAZgAAAGQAAAAIAAAACAAAAAAAAAAAAAAAKgAAABEAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAJAAAAKwAAABEAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAADMpgEAYFUAAIAGAAAAAAAA+ZwBAGBVAACwBgAAAAAAANKlAQBgVQAA4AYAAAAAAAABnQEAYFUAAOAGAAAAAAAABp0BAGBVAAAQBwAAAAAAAA2dAQB4VQAAEAcAAAAAAAATnQEAYFUAAEAHAAAAAAAAF50BAGBVAABwBwAAAAAAAB0SAgBgVQAAoAcAAAAAAAAgnQEAYFUAAKAHAAAAAAAAKp0BAGBVAABQBgAAAAAAADCdAQBgVQAA0AcAAAAAAAA4nQEAYFUAAAAIAAAAAAAAQp0BAGBVAAAwCAAAAAAAAFCdAQBgVQAAYAgAAAAAAABWnQEAYFUAAJAIAAAAAAAAX50BAGBVAADACAAAAAAAAGedAQBgVQAA8AgAAAAAAABwnQEAYFUAACAJAAAAAAAAeJ0BAGBVAABQCQAAAAAAAH2dAQBgVQAAgAkAAAAAAACBnQEAYFUAALAJAAAAAAAAiJ0BAGBVAADgCQAAAAAAAI6dAQBgVQAAEAoAAAAAAACYnQEAkFUAAEAKAAAAAAAAoZ0BAGBVAACABgAAAAAAAKadAQBgVQAAgAYAAAAAAACwnQEAYFUAAHAKAAAAAAAAt50BAGBVAACgCgAAAAAAAMSdAQBgVQAA0AoAAAAAAADSnQEAYFUAAAALAAAAAAAA4J0BAGBVAAAwCwAAAAAAAOydAQBgVQAAYAsAAAAAAAD5nQEAYFUAAJALAAAAAAAAAp4BAGBVAADACwAAAAAAAAyeAQBgVQAA8AsAAAAAAAAVngEAYFUAACAMAAAAAAAAHZ4BAGBVAABQDAAAAAAAACWeAQBgVQAAgAwAAAAAAAAungEAYFUAALAMAAAAAAAAMp4BAGBVAADgDAAAAAAAAD2eAQBgVQAAEA0AAAAAAABBngEAYFUAAEANAAAAAAAAS54BAGBVAABwDQAAAAAAAFSeAQBgVQAAoA0AAAAAAABcngEAYFUAANANAAAAAAAAaZ4BAGBVAAAADgAAAAAAAHWeAQBgVQAAMA4AAAAAAACAngEAYFUAAGAOAAAAAAAAkJ4BAGBVAACQDgAAAAAAAJ6eAQBgVQAAwA4AAAAAAACtngEAYFUAAPAOAAAAAAAAt54BAGBVAAAgDwAAAAAAAMCeAQBgVQAAUA8AAAAAAADKngEAYFUAAIAPAAAAAAAA1J4BAGBVAACwDwAAAAAAANueAQBgVQAA4A8AAAAAAADingEAYFUAABAQAAAAAAAA7J4BAKhVAAAAAAAAAAAAAPOeAQCoVQAAAAAAAAAAAADVnAEAwFUAAAAAAAAAAAAA+54BANhVAABAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbAAAAXAAAABcAAAAEAAAAAgAAAAwAAABdAAAAXAAAABcAAAAFAAAAAAAAAA0AAABbAAAAXAAAABcAAAAEAAAAAgAAAAwAAABeAAAAXwAAABgAAAAGAAAAAwAAAA4AAABgAAAAYQAAABcAAAAHAAAAAAAAAA8AAABbAAAAXAAAABcAAAAIAAAAAgAAAAwAAAAQAAAAEQAAABIAAAATAAAA/Z8BAASgAQAAAAAADKABAA6gAQB/HgIAEKABAAwAAAAEAAAABgAAAAIAAAADAAAAAQAAAAkAAAAIAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAF2hAQBtoQEAeqEBAAAAAAAAAAAABAAAAH+hAQAAAAAAAAAAAIqhAQBtoQEAeqEBAAAAAAChoQEABQAAAH+hAQAAAAAAqaEBALChAQBtoQEAwKEBAAAAAAAAAAAABgAAAH+hAQDrsQEAAAAAAMWhAQBtoQEAwKEBAAAAAAChoQEABwAAAH+hAQDrsQEAqaEBANyhAQDpoQEAwKEBAAAAAAAAAAAACgAAAPehAQDrsQEAAAAAAP2hAQDpoQEAwKEBAAAAAACpoQEACwAAAPehAQDrsQEAqaEBABCiAQDpoQEAHqIBAAAAAAAAAAAACAAAAPehAQAAAAAAAAAAACSiAQDpoQEAHqIBAAAAAACpoQEACQAAAPehAQAAAAAAqaEBADiiAQA4ogEAAAAAAAAAAAAAAAAADAAAAECiAQAAAAAAAAAAAEqiAQA4ogEA67EBAAAAAAAAAAAADgAAAECiAQDrsQEAAAAAAFeiAQA4ogEA67EBAAAAAAChoQEADwAAAECiAQDrsQEAqaEBAGuiAQA4ogEAAAAAAAAAAAChoQEADQAAAECiAQAAAAAAqaEBAHuiAQB7ogEAAAAAAAAAAAAAAAAAEAAAAH+hAQAAAAAAAAAAAIWiAQB7ogEA67EBAAAAAAAAAAAAEgAAAH+hAQDrsQEAAAAAAJSiAQB7ogEA67EBAAAAAAChoQEAEwAAAH+hAQDrsQEAqaEBAKqiAQB7ogEAAAAAALuiAQAAAAAAFAAAAH+hAQAAAAAAAAAAAMWiAQB7ogEA67EBALuiAQAAAAAAFgAAAH+hAQDrsQEAAAAAANuiAQB7ogEA67EBALuiAQChoQEAFwAAAH+hAQDrsQEAqaEBAPiiAQB7ogEAAAAAALuiAQChoQEAFQAAAH+hAQAAAAAAqaEBABGjAQB7ogEAAAAAAAAAAAChoQEAEQAAAH+hAQAAAAAAqaEBACOjAQA5owEA67EBAAAAAAAAAAAAGgAAAPehAQDrsQEAAAAAAE6jAQA5owEA67EBAAAAAACpoQEAGwAAAPehAQDrsQEAqaEBAGqjAQA5owEAAAAAAAAAAACpoQEAGQAAAPehAQAAAAAAqaEBAIKjAQA5owEAmaMBAAAAAAAAAAAAGAAAAPehAQAAAAAAAAAAAJ+jAQCtowEA67EBAAAAAAAAAAAAHgAAAPehAQDrsQEAAAAAAL+jAQCtowEA67EBAAAAAACpoQEAHwAAAPehAQDrsQEAqaEBANOjAQCtowEAAAAAAAAAAACpoQEAHQAAAPehAQAAAAAAqaEBAOOjAQCtowEAmaMBAAAAAAAAAAAAHAAAAPehAQAAAAAAAAAAAPKjAQDyowEAAAAAAAAAAAAAAAAAIAAAAPmjAQAAAAAAAAAAAAGkAQAMpAEA67EBAAAAAAAAAAAAAgAAAPehAQDrsQEAAAAAABKkAQAMpAEA67EBAAAAAACpoQEAAwAAAPehAQDrsQEAqaEBACOkAQAMpAEAAAAAAAAAAACpoQEAAQAAAPehAQAAAAAAqaEBANqlAQAMpAEAAAAAAAAAAAAAAAAAAAAAAPehAQAAAAAAAAAAADCkAQBKpAEAWaQBAAAAAACpoQEAIQAAAPehAQAAAAAAqaEBAGCkAQBtpAEAAAAAAAAAAAAAAAAAIgAAAPmjAQAAAAAAAAAAAAgAAAAEAAAAAAAAAAoAAAAtAAAAEgAAAAAAAAAAAAAAAAAAAAgAAAD/////AAAAAAAAAAAuAAAAAAAAAAAAAAAAAAAAAAAAAAmnAQDGAAAAD6cBAMEAAAAWpwEAwgAAABynAQDAAAAAI6cBAJEDAAAppwEAxQAAAC+nAQDDAAAANqcBAMQAAAA7pwEAkgMAAECnAQDHAAAAR6cBAKcDAABLpwEAISAAAFKnAQCUAwAAWKcBANAAAABcpwEAyQAAAGOnAQDKAAAAaacBAMgAAABwpwEAlQMAAHinAQCXAwAAfKcBAMsAAACBpwEAkwMAAIenAQDNAAAAjqcBAM4AAACUpwEAzAAAAJunAQCZAwAAoKcBAM8AAAClpwEAmgMAAKunAQCbAwAAsqcBAJwDAAC1pwEA0QAAALynAQCdAwAAv6cBAFIBAADFpwEA0wAAAMynAQDUAAAA0qcBANIAAADZpwEAqQMAAN+nAQCfAwAA56cBANgAAADupwEA1QAAAPWnAQDWAAAA+qcBAKYDAAD+pwEAoAMAAAGoAQAzIAAAB6gBAKgDAAALqAEAoQMAAA+oAQBgAQAAFqgBAKMDAAAcqAEA3gAAACKoAQCkAwAAJqgBAJgDAAAsqAEA2gAAADOoAQDbAAAAOagBANkAAABAqAEApQMAAEioAQDcAAAATagBAJ4DAABQqAEA3QAAAFeoAQB4AQAAXKgBAJYDAABhqAEA4QAAAGioAQDiAAAAbqgBALQAAAB0qAEA5gAAAHqoAQDgAAAAgagBADUhAACJqAEAsQMAAI+oAQAmAAAAk6gBACciAACXqAEAICIAAJuoAQDlAAAAoagBAEgiAACnqAEA4wAAAK6oAQDkAAAAs6gBAB4gAAC5qAEAsgMAAL6oAQCmAAAAxagBACIgAADKqAEAKSIAAM6oAQDnAAAA1agBALgAAADbqAEAogAAAOCoAQDHAwAA5KgBAMYCAADpqAEAYyYAAO+oAQBFIgAA9KgBAKkAAAD5qAEAtSEAAP+oAQAqIgAAA6kBAKQAAAAKqQEA0yEAAA+pAQAgIAAAFqkBAJMhAAAbqQEAsAAAAB+pAQC0AwAAJakBAGYmAAArqQEA9wAAADKpAQDpAAAAOakBAOoAAAA/qQEA6AAAAEapAQAFIgAATKkBAAMgAABRqQEAAiAAAFapAQC1AwAAXqkBAGEiAABkqQEAtwMAAGipAQDwAAAAbKkBAOsAAABxqQEArCAAAHapAQADIgAAfKkBAJIBAACBqQEAACIAAIipAQC9AAAAj6kBALwAAACWqQEAvgAAAJ2pAQBEIAAAo6kBALMDAACpqQEAZSIAAKypAQA+AAAAr6kBANQhAAC0qQEAlCEAALmpAQBlJgAAwKkBACYgAADHqQEA7QAAAM6pAQDuAAAA1KkBAKEAAADaqQEA7AAAAOGpAQARIQAA56kBAB4iAADtqQEAKyIAAPGpAQC5AwAA9qkBAL8AAAD9qQEACCIAAAKqAQDvAAAAB6oBALoDAAANqgEA0CEAABKqAQC7AwAAGaoBACkjAAAeqgEAqwAAACSqAQCQIQAAKaoBAAgjAAAvqgEAHCAAADWqAQBkIgAAOKoBAAojAAA/qgEAFyIAAEaqAQDKJQAASqoBAA4gAABOqgEAOSAAAFWqAQAYIAAAW6oBADwAAABeqgEArwAAAGOqAQAUIAAAaaoBALUAAABvqgEAtwAAAEazAQASIgAAdqoBALwDAAB5qgEAByIAAH+qAQCgAAAAhKoBABMgAACKqgEAYCIAAI2qAQALIgAAkKoBAKwAAACUqgEACSIAAJqqAQCEIgAAn6oBAPEAAACmqgEAvQMAAKmqAQDzAAAAsKoBAPQAAAC2qgEAUwEAALyqAQDyAAAAw6oBAD4gAADJqgEAyQMAAM+qAQC/AwAA16oBAJUiAADdqgEAKCIAAOCqAQCqAAAA5aoBALoAAADqqgEA+AAAAPGqAQD1AAAA+KoBAJciAAD/qgEA9gAAAASrAQC2AAAACasBAAIiAAAOqwEAMCAAABWrAQClIgAAGqsBAMYDAAAeqwEAwAMAACGrAQDWAwAAJasBALEAAAAsqwEAowAAADKrAQAyIAAAOKsBAA8iAAA9qwEAHSIAAEKrAQDIAwAARqsBACIAAABLqwEA0iEAAFCrAQAaIgAAVqsBACojAABbqwEAuwAAAGGrAQCSIQAAZqsBAAkjAABsqwEAHSAAAHKrAQAcIQAAd6sBAK4AAAB7qwEACyMAAIKrAQDBAwAAhqsBAA8gAACKqwEAOiAAAJGrAQAZIAAAl6sBABogAACdqwEAYQEAAKSrAQDFIgAAqasBAKcAAACuqwEArQAAALKrAQDDAwAAuKsBAMIDAAC/qwEAPCIAAMOrAQBgJgAAyqsBAIIiAADOqwEAhiIAANOrAQARIgAA16sBAIMiAADbqwEAuQAAAOCrAQCyAAAA5asBALMAAADqqwEAhyIAAO+rAQDfAAAA9asBAMQDAAD5qwEANCIAAACsAQC4AwAABqwBANEDAAAPrAEACSAAABasAQD+AAAAHKwBANwCAAAirAEA1wAAACisAQAiIQAALqwBANEhAAAzrAEA+gAAADqsAQCRIQAAP6wBAPsAAABFrAEA+QAAAEysAQCoAAAAUKwBANIDAABWrAEAxQMAAF6sAQD8AAAAY6wBABghAABqrAEAvgMAAG2sAQD9AAAAdKwBAKUAAAB4rAEA/wAAAH2sAQC2AwAAgqwBAA0gAACGrAEADCAAAAcAAAAIAAAAAQEAAAgAAAAIAAAAAAAAAAAAAAAvAAAAEwAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAwAAAAFAAAAAAAAAAAAAAAAAAAAAazAQAJAAAACLMBAAoAAAANswEACgAAABWzAQALAAAAG7MBAAsAAAAkswEADAAAACezAQAMAAAALbMBAA0AAAAyswEADQAAADqzAQAOAAAAP7MBAA4AAABGswEADwAAAEyzAQAPAAAAWLMBABAAAABiAAAAMQAAADIAAAAUAAAAMwAAAGMAAAA0AAAAFQAAADUAAAAIAAAABAAAAP////8AAAAAAAAAABUAAAAAAAAAAAAAAAAAAACjtAEAVV3Jf8l//wCutAEAuy3Uvq7U/wC5tAEAFHf9/cCG/wDEtAEAVV3Jf8l//wDPtAEAuy3Uvq7U/wDatAEAFHf9/cCG/wDltAEAKmb///+Z/wDwtAEAVV3Jf8l//wD7tAEAuy3Uvq7U/wAGtQEAFHf9/cCG/wARtQEAKmb///+Z/wActQEAl62wOGyw/wAntQEAVV3Jf8l//wAytQEAuy3Uvq7U/wA9tQEAFHf9/cCG/wBItQEAKmb///+Z/wBTtQEAl62wOGyw/wBetQEA6Pzw8AJ//wBptQEAVV3Jf8l//wB0tQEAuy3Uvq7U/wB/tQEAFHf9/cCG/wCKtQEAKmb///+Z/wCVtQEAl62wOGyw/wCgtQEA6Pzw8AJ//wCrtQEAEeC/v1sX/wC2tQEAVV3Jf8l//wDBtQEAuy3Uvq7U/wDMtQEAFHf9/cCG/wDXtQEAKmb///+Z/wDitQEAl62wOGyw/wDttQEA6Pzw8AJ//wD4tQEAEeC/v1sX/wADtgEAAABmZmZm/wAOtgEAkxn33uv3/wAYtgEAjkvhnsrh/wAitgEAkby9MYK9/wAstgEAnxD/7/P//wA2tgEAjy7nvdfn/wBAtgEAj3/Wa67W/wBKtgEAk9C1IXG1/wBUtgEAnxD/7/P//wBetgEAjy7nvdfn/wBotgEAj3/Wa67W/wBytgEAkby9MYK9/wB8tgEAlfGcCFGc/wCGtgEAnxD/7/P//wCQtgEAlCvvxtvv/wCatgEAjkvhnsrh/wCktgEAj3/Wa67W/wCutgEAkby9MYK9/wC4tgEAlfGcCFGc/wDCtgEAnxD/7/P//wDMtgEAlCvvxtvv/wDWtgEAjkvhnsrh/wDgtgEAj3/Wa67W/wDqtgEAkKnGQpLG/wD0tgEAk9C1IXG1/wD+tgEAl/GUCEWU/wAItwEAlAj/9/v//wAStwEAkxn33uv3/wActwEAlCvvxtvv/wAmtwEAjkvhnsrh/wAwtwEAj3/Wa67W/wA6twEAkKnGQpLG/wBEtwEAk9C1IXG1/wBOtwEAl/GUCEWU/wBYtwEAlAj/9/v//wBitwEAkxn33uv3/wBstwEAlCvvxtvv/wB2twEAjkvhnsrh/wCAtwEAj3/Wa67W/wCKtwEAkKnGQpLG/wCUtwEAk9C1IXG1/wCetwEAlfGcCFGc/wCotwEAmOtrCDBr/wCytwEAF+9UVDAF/wC8twEAd/88ADww/wDHtwEAF+yMjFEK/wDRtwEAGMK/v4Et/wDbtwEAHXDf38J9/wDltwEAHjT29ujD/wDvtwEAeSbqx+rl/wD5twEAeF/NgM3B/wADuAEAfKWXNZeP/wANuAEAfPxmAWZe/wAXuAEAF+9UVDAF/wAhuAEAfPxmAWZe/wAsuAEAd/88ADww/wA3uAEAF+yMjFEK/wBBuAEAGMK/v4Et/wBLuAEAHXDf38J9/wBVuAEAHjT29ujD/wBfuAEAAAD19fX1/wBpuAEAeSbqx+rl/wBzuAEAeF/NgM3B/wB9uAEAfKWXNZeP/wCHuAEAHIfY2LNl/wCQuAEAAAD19fX1/wCZuAEAe3+0WrSs/wCiuAEAFdempmEa/wCruAEAHXDf38J9/wC0uAEAeF/NgM3B/wC9uAEAef2FAYVx/wDGuAEAFdempmEa/wDPuAEAHXDf38J9/wDYuAEAAAD19fX1/wDhuAEAeF/NgM3B/wDquAEAef2FAYVx/wDzuAEAF+yMjFEK/wD8uAEAHIfY2LNl/wAFuQEAHjT29ujD/wAOuQEAeSbqx+rl/wAXuQEAe3+0WrSs/wAguQEAfPxmAWZe/wApuQEAF+yMjFEK/wAyuQEAHIfY2LNl/wA7uQEAHjT29ujD/wBEuQEAAAD19fX1/wBNuQEAeSbqx+rl/wBWuQEAe3+0WrSs/wBfuQEAfPxmAWZe/wBouQEAF+yMjFEK/wBxuQEAGMK/v4Et/wB6uQEAHXDf38J9/wCDuQEAHjT29ujD/wCMuQEAeSbqx+rl/wCVuQEAeF/NgM3B/wCeuQEAfKWXNZeP/wCnuQEAfPxmAWZe/wCwuQEAF+yMjFEK/wC5uQEAGMK/v4Et/wDCuQEAHXDf38J9/wDLuQEAHjT29ujD/wDUuQEAAAD19fX1/wDduQEAeSbqx+rl/wDmuQEAeF/NgM3B/wDvuQEAfKWXNZeP/wD4uQEAfPxmAWZe/wABugEAhxT55fX5/wAKugEAdUrYmdjJ/wATugEAZ7miLKJf/wAcugEAiA777fj7/wAlugEAfzbisuLi/wAuugEAcXjCZsKk/wA3ugEAYr6LI4tF/wBAugEAiA777fj7/wBJugEAfzbisuLi/wBSugEAcXjCZsKk/wBbugEAZ7miLKJf/wBkugEAZv9tAG0s/wBtugEAiA777fj7/wB2ugEAdyLszOzm/wB/ugEAdUrYmdjJ/wCIugEAcXjCZsKk/wCRugEAZ7miLKJf/wCaugEAZv9tAG0s/wCjugEAiA777fj7/wCsugEAdyLszOzm/wC1ugEAdUrYmdjJ/wC+ugEAcXjCZsKk/wDHugEAaZ+uQa52/wDQugEAYr6LI4tF/wDZugEAZv9YAFgk/wDiugEAhgb99/z9/wDrugEAhxT55fX5/wD0ugEAdyLszOzm/wD9ugEAdUrYmdjJ/wAGuwEAcXjCZsKk/wAPuwEAaZ+uQa52/wAYuwEAYr6LI4tF/wAhuwEAZv9YAFgk/wAquwEAhgb99/z9/wAzuwEAhxT55fX5/wA8uwEAdyLszOzm/wBFuwEAdUrYmdjJ/wBOuwEAcXjCZsKk/wBXuwEAaZ+uQa52/wBguwEAYr6LI4tF/wBpuwEAZv9tAG0s/wByuwEAZf9EAEQb/wB7uwEAkBT04Oz0/wCEuwEAlEbanrza/wCNuwEAxHuniFan/wCWuwEAiA777fj7/wCfuwEAkjXjs83j/wCouwEAokrGjJbG/wCxuwEAypWdiEGd/wC6uwEAiA777fj7/wDDuwEAkjXjs83j/wDMuwEAokrGjJbG/wDVuwEAxHuniFan/wDeuwEA1uGBgQ98/wDnuwEAiA777fj7/wDwuwEAlCvmv9Pm/wD5uwEAlEbanrza/wACvAEAokrGjJbG/wALvAEAxHuniFan/wAUvAEA1uGBgQ98/wAdvAEAiA777fj7/wAmvAEAlCvmv9Pm/wAvvAEAlEbanrza/wA4vAEAokrGjJbG/wBBvAEAvmSxjGux/wBKvAEAypWdiEGd/wBTvAEA1fxubgFr/wBcvAEAhgb99/z9/wBlvAEAkBT04Oz0/wBuvAEAlCvmv9Pm/wB3vAEAlEbanrza/wCAvAEAokrGjJbG/wCJvAEAvmSxjGux/wCSvAEAypWdiEGd/wCbvAEA1fxubgFr/wCkvAEAhgb99/z9/wCtvAEAkBT04Oz0/wC2vAEAlCvmv9Pm/wC/vAEAlEbanrza/wDIvAEAokrGjJbG/wDRvAEAvmSxjGux/wDavAEAypWdiEGd/wDjvAEA1uGBgQ98/wDsvAEA1f9NTQBL/wD1vAEActOeG553/wD/vAEAEvzZ2V8C/wAJvQEArV+zdXCz/wATvQEActOeG553/wAdvQEAEvzZ2V8C/wAnvQEArV+zdXCz/wAxvQEA6dHn5ymK/wA7vQEActOeG553/wBFvQEAEvzZ2V8C/wBPvQEArV+zdXCz/wBZvQEA6dHn5ymK/wBjvQEAPtCmZqYe/wBtvQEActOeG553/wB3vQEAEvzZ2V8C/wCBvQEArV+zdXCz/wCLvQEA6dHn5ymK/wCVvQEAPtCmZqYe/wCfvQEAH/zm5qsC/wCpvQEActOeG553/wCzvQEAEvzZ2V8C/wC9vQEArV+zdXCz/wDHvQEA6dHn5ymK/wDRvQEAPtCmZqYe/wDbvQEAH/zm5qsC/wDlvQEAG9KmpnYd/wDvvQEActOeG553/wD5vQEAEvzZ2V8C/wADvgEArV+zdXCz/wANvgEA6dHn5ymK/wAXvgEAPtCmZqYe/wAhvgEAH/zm5qsC/wArvgEAG9KmpnYd/wA1vgEAAABmZmZm/wA/vgEATBnz4PPb/wBIvgEAXz3dqN21/wBRvgEAjKrKQ6LK/wBavgEAQRH58Pno/wBjvgEAVy7kuuS8/wBsvgEAe2XMe8zE/wB1vgEAjcW+K4y+/wB+vgEAQRH58Pno/wCHvgEAVy7kuuS8/wCQvgEAe2XMe8zE/wCZvgEAjKrKQ6LK/wCivgEAkfOsCGis/wCrvgEAQRH58Pno/wC0vgEATSnrzOvF/wC9vgEAXz3dqN21/wDGvgEAe2XMe8zE/wDPvgEAjKrKQ6LK/wDYvgEAkfOsCGis/wDhvgEAQRH58Pno/wDqvgEATSnrzOvF/wDzvgEAXz3dqN21/wD8vgEAe2XMe8zE/wAFvwEAiaDTTrPT/wAOvwEAjcW+K4y+/wAXvwEAk/KeCFie/wAgvwEAPAz89/zw/wApvwEATBnz4PPb/wAyvwEATSnrzOvF/wA7vwEAXz3dqN21/wBEvwEAe2XMe8zE/wBNvwEAiaDTTrPT/wBWvwEAjcW+K4y+/wBfvwEAk/KeCFie/wBovwEAPAz89/zw/wBxvwEATBnz4PPb/wB6vwEATSnrzOvF/wCDvwEAXz3dqN21/wCMvwEAe2XMe8zE/wCVvwEAiaDTTrPT/wCevwEAjcW+K4y+/wCnvwEAkfOsCGis/wCwvwEAlu+BCECB/wC5vwEAShX15fXg/wDEvwEAUEjZodmb/wDPvwEAYrKjMaNU/wDavwEASQ/47fjp/wDlvwEATjbkuuSz/wDwvwEAVmjEdMR2/wD7vwEAYr6LI4tF/wAGwAEASQ/47fjp/wARwAEATjbkuuSz/wAcwAEAVmjEdMR2/wAnwAEAYrKjMaNU/wAywAEAZv9tAG0s/wA9wAEASQ/47fjp/wBIwAEATSzpx+nA/wBTwAEAUEjZodmb/wBewAEAVmjEdMR2/wBpwAEAYrKjMaNU/wB0wAEAZv9tAG0s/wB/wAEASQ/47fjp/wCKwAEATSzpx+nA/wCVwAEAUEjZodmb/wCgwAEAVmjEdMR2/wCrwAEAYJ6rQatd/wC2wAEAYr6LI4tF/wDBwAEAbP9aAFoy/wDMwAEASAf89/z1/wDXwAEAShX15fXg/wDiwAEATSzpx+nA/wDtwAEAUEjZodmb/wD4wAEAVmjEdMR2/wADwQEAYJ6rQatd/wAOwQEAYr6LI4tF/wAZwQEAbP9aAFoy/wAkwQEASAf89/z1/wAvwQEAShX15fXg/wA6wQEATSzpx+nA/wBFwQEAUEjZodmb/wBQwQEAVmjEdMR2/wBbwQEAYJ6rQatd/wBmwQEAYr6LI4tF/wBxwQEAZv9tAG0s/wB8wQEAZf9EAEQb/wCHwQEAAADw8PDw/wCRwQEAAAC9vb29/wCbwQEAAABjY2Nj/wClwQEAAAD39/f3/wCvwQEAAADMzMzM/wC5wQEAAACWlpaW/wDDwQEAAABSUlJS/wDNwQEAAAD39/f3/wDXwQEAAADMzMzM/wDhwQEAAACWlpaW/wDrwQEAAABjY2Nj/wD1wQEAAAAlJSUl/wD/wQEAAAD39/f3/wAJwgEAAADZ2dnZ/wATwgEAAAC9vb29/wAdwgEAAACWlpaW/wAnwgEAAABjY2Nj/wAxwgEAAAAlJSUl/wA7wgEAAAD39/f3/wBFwgEAAADZ2dnZ/wBPwgEAAAC9vb29/wBZwgEAAACWlpaW/wBjwgEAAABzc3Nz/wBtwgEAAABSUlJS/wB3wgEAAAAlJSUl/wCBwgEAAAD//////wCLwgEAAADw8PDw/wCVwgEAAADZ2dnZ/wCfwgEAAAC9vb29/wCpwgEAAACWlpaW/wCzwgEAAABzc3Nz/wC9wgEAAABSUlJS/wDHwgEAAAAlJSUl/wDRwgEAAAD//////wDbwgEAAADw8PDw/wDlwgEAAADZ2dnZ/wDvwgEAAAC9vb29/wD5wgEAAACWlpaW/wADwwEAAABzc3Nz/wANwwEAAABSUlJS/wAXwwEAAAAlJSUl/wAhwwEAAAAAAAAA/wArwwEAFTD+/ubO/wA3wwEAE5P9/a5r/wBDwwEADvDm5lUN/wBPwwEAEyD+/u3e/wBbwwEAFHj9/b6F/wBnwwEAEcL9/Y08/wBzwwEADf3Z2UcB/wB/wwEAEyD+/u3e/wCLwwEAFHj9/b6F/wCXwwEAEcL9/Y08/wCjwwEADvDm5lUN/wCvwwEADfqmpjYD/wC7wwEAEyD+/u3e/wDHwwEAFVv9/dCi/wDTwwEAE5P9/a5r/wDfwwEAEcL9/Y08/wDrwwEADvDm5lUN/wD3wwEADfqmpjYD/wADxAEAEyD+/u3e/wAPxAEAFVv9/dCi/wAbxAEAE5P9/a5r/wAnxAEAEcL9/Y08/wAzxAEAEOrx8WkT/wA/xAEADf3Z2UgB/wBLxAEADPeMjC0E/wBXxAEAFRT///Xr/wBjxAEAFTD+/ubO/wBvxAEAFVv9/dCi/wB7xAEAE5P9/a5r/wCHxAEAEcL9/Y08/wCTxAEAEOrx8WkT/wCfxAEADf3Z2UgB/wCrxAEADPeMjC0E/wC3xAEAFRT///Xr/wDDxAEAFTD+/ubO/wDPxAEAFVv9/dCi/wDbxAEAE5P9/a5r/wDnxAEAEcL9/Y08/wDzxAEAEOrx8WkT/wD/xAEADf3Z2UgB/wALxQEADfqmpjYD/wAXxQEADPZ/fycE/wAjxQEAGTb+/ujI/wAsxQEAE3n9/buE/wA1xQEABcXj40oz/wA+xQEAGiX+/vDZ/wBHxQEAGHP9/cyK/wBQxQEADaT8/I1Z/wBZxQEAA9rX1zAf/wBixQEAGiX+/vDZ/wBrxQEAGHP9/cyK/wB0xQEADaT8/I1Z/wB9xQEABcXj40oz/wCGxQEAAP+zswAA/wCPxQEAGiX+/vDZ/wCYxQEAGF/9/dSe/wChxQEAE3n9/buE/wCqxQEADaT8/I1Z/wCzxQEABcXj40oz/wC8xQEAAP+zswAA/wDFxQEAGiX+/vDZ/wDOxQEAGF/9/dSe/wDXxQEAE3n9/buE/wDgxQEADaT8/I1Z/wDpxQEAB7Lv72VI/wDyxQEAA9rX1zAf/wD7xQEAAP+ZmQAA/wAExgEAGBL///fs/wANxgEAGTb+/ujI/wAWxgEAGF/9/dSe/wAfxgEAE3n9/buE/wAoxgEADaT8/I1Z/wAxxgEAB7Lv72VI/wA6xgEAA9rX1zAf/wBDxgEAAP+ZmQAA/wBMxgEAGBL///fs/wBVxgEAGTb+/ujI/wBexgEAGF/9/dSe/wBnxgEAE3n9/buE/wBwxgEADaT8/I1Z/wB5xgEAB7Lv72VI/wCCxgEAA9rX1zAf/wCLxgEAAP+zswAA/wCUxgEAAP9/fwAA/wCdxgEAjkTjps7j/wCpxgEAvpmaaj2a/wC2xgEAkNO0H3i0/wDCxgEAQWHfst+K/wDOxgEAUrigM6As/wDaxgEAAGP7+5qZ/wDmxgEA/uHj4xoc/wDyxgEAF4/9/b9v/wD+xgEAFf///38A/wAKxwEAxirWyrLW/wAWxwEAjkTjps7j/wAixwEAvpmaaj2a/wAvxwEAKmb///+Z/wA8xwEAkNO0H3i0/wBIxwEAQWHfst+K/wBUxwEAUrigM6As/wBgxwEAAGP7+5qZ/wBsxwEA/uHj4xoc/wB4xwEAF4/9/b9v/wCExwEAFf///38A/wCQxwEAxirWyrLW/wCcxwEAjkTjps7j/wCoxwEAvpmaaj2a/wC1xwEAKmb///+Z/wDCxwEAD8WxsVko/wDPxwEAkNO0H3i0/wDbxwEAQWHfst+K/wDnxwEAUrigM6As/wDzxwEAAGP7+5qZ/wD/xwEA/uHj4xoc/wALyAEAF4/9/b9v/wAXyAEAFf///38A/wAjyAEAxirWyrLW/wAvyAEAjkTjps7j/wA6yAEAkNO0H3i0/wBFyAEAQWHfst+K/wBQyAEAjkTjps7j/wBbyAEAkNO0H3i0/wBmyAEAQWHfst+K/wBxyAEAUrigM6As/wB8yAEAjkTjps7j/wCHyAEAkNO0H3i0/wCSyAEAQWHfst+K/wCdyAEAUrigM6As/wCoyAEAAGP7+5qZ/wCzyAEAjkTjps7j/wC+yAEAkNO0H3i0/wDJyAEAQWHfst+K/wDUyAEAUrigM6As/wDfyAEAAGP7+5qZ/wDqyAEA/uHj4xoc/wD1yAEAjkTjps7j/wAAyQEAkNO0H3i0/wALyQEAQWHfst+K/wAWyQEAUrigM6As/wAhyQEAAGP7+5qZ/wAsyQEA/uHj4xoc/wA3yQEAF4/9/b9v/wBCyQEAjkTjps7j/wBNyQEAkNO0H3i0/wBYyQEAQWHfst+K/wBjyQEAUrigM6As/wBuyQEAAGP7+5qZ/wB5yQEA/uHj4xoc/wCEyQEAF4/9/b9v/wCPyQEAFf///38A/wCayQEAjkTjps7j/wClyQEAkNO0H3i0/wCwyQEAQWHfst+K/wC7yQEAUrigM6As/wDGyQEAAGP7+5qZ/wDRyQEA/uHj4xoc/wDcyQEAF4/9/b9v/wDnyQEAFf///38A/wDyyQEAxirWyrLW/wD9yQEAA077+7Su/wAJygEAkjXjs83j/wAVygEATSnrzOvF/wAhygEAA077+7Su/wAtygEAkjXjs83j/wA5ygEATSnrzOvF/wBFygEAyhvk3svk/wBRygEAA077+7Su/wBdygEAkjXjs83j/wBpygEATSnrzOvF/wB1ygEAyhvk3svk/wCBygEAGFj+/tmm/wCNygEAA077+7Su/wCZygEAkjXjs83j/wClygEATSnrzOvF/wCxygEAyhvk3svk/wC9ygEAGFj+/tmm/wDJygEAKjL////M/wDVygEAA077+7Su/wDhygEAkjXjs83j/wDtygEATSnrzOvF/wD5ygEAyhvk3svk/wAFywEAGFj+/tmm/wARywEAKjL////M/wAdywEAHCzl5di9/wApywEAA077+7Su/wA1ywEAkjXjs83j/wBBywEATSnrzOvF/wBNywEAyhvk3svk/wBZywEAGFj+/tmm/wBlywEAKjL////M/wBxywEAHCzl5di9/wB9ywEA6SP9/drs/wCJywEAA077+7Su/wCVywEAkjXjs83j/wChywEATSnrzOvF/wCtywEAyhvk3svk/wC5ywEAGFj+/tmm/wDFywEAKjL////M/wDRywEAHCzl5di9/wDdywEA6SP9/drs/wDpywEAAADy8vLy/wD1ywEAbDXis+LN/wABzAEAEVH9/c2s/wANzAEAmx/oy9Xo/wAZzAEAbDXis+LN/wAlzAEAEVH9/c2s/wAxzAEAmx/oy9Xo/wA9zAEA5Cv09Mrk/wBJzAEAbDXis+LN/wBVzAEAEVH9/c2s/wBhzAEAmx/oy9Xo/wBtzAEA5Cv09Mrk/wB5zAEAOC315vXJ/wCFzAEAbDXis+LN/wCRzAEAEVH9/c2s/wCdzAEAmx/oy9Xo/wCpzAEA5Cv09Mrk/wC1zAEAOC315vXJ/wDBzAEAI1H///Ku/wDNzAEAbDXis+LN/wDZzAEAEVH9/c2s/wDlzAEAmx/oy9Xo/wDxzAEA5Cv09Mrk/wD9zAEAOC315vXJ/wAJzQEAI1H///Ku/wAVzQEAGSfx8eLM/wAhzQEAbDXis+LN/wAtzQEAEVH9/c2s/wA5zQEAmx/oy9Xo/wBFzQEA5Cv09Mrk/wBRzQEAOC315vXJ/wBdzQEAI1H///Ku/wBpzQEAGSfx8eLM/wB1zQEAAADMzMzM/wCBzQEA5v2OjgFS/wCLzQEATb9kJ2QZ/wCWzQEA5tzFxRt9/wCgzQEA6Hbe3neu/wCqzQEA5T7x8bba/wC0zQEA6R39/eDv/wC+zQEAOyb15vXQ/wDIzQEAPWfhuOGG/wDSzQEAP6a8f7xB/wDczQEARMWSTZIh/wDmzQEA5v2OjgFS/wDwzQEARMWSTZIh/wD7zQEATb9kJ2QZ/wAGzgEA5tzFxRt9/wAQzgEA6Hbe3neu/wAazgEA5T7x8bba/wAkzgEA6R39/eDv/wAuzgEAAAD39/f3/wA4zgEAOyb15vXQ/wBCzgEAPWfhuOGG/wBMzgEAP6a8f7xB/wBWzgEA50zp6aPJ/wBfzgEAAAD39/f3/wBozgEAP4HXoddq/wBxzgEA5NzQ0ByL/wB6zgEA5T7x8bba/wCDzgEAPWfhuOGG/wCMzgEASMasTawm/wCVzgEA5NzQ0ByL/wCezgEA5T7x8bba/wCnzgEAAAD39/f3/wCwzgEAPWfhuOGG/wC5zgEASMasTawm/wDCzgEA5tzFxRt9/wDLzgEA50zp6aPJ/wDUzgEA6R39/eDv/wDdzgEAOyb15vXQ/wDmzgEAP4HXoddq/wDvzgEARMWSTZIh/wD4zgEA5tzFxRt9/wABzwEA50zp6aPJ/wAKzwEA6R39/eDv/wATzwEAAAD39/f3/wAczwEAOyb15vXQ/wAlzwEAP4HXoddq/wAuzwEARMWSTZIh/wA3zwEA5tzFxRt9/wBAzwEA6Hbe3neu/wBJzwEA5T7x8bba/wBSzwEA6R39/eDv/wBbzwEAOyb15vXQ/wBkzwEAPWfhuOGG/wBtzwEAP6a8f7xB/wB2zwEARMWSTZIh/wB/zwEA5tzFxRt9/wCIzwEA6Hbe3neu/wCRzwEA5T7x8bba/wCazwEA6R39/eDv/wCjzwEAAAD39/f3/wCszwEAOyb15vXQ/wC1zwEAPWfhuOGG/wC+zwEAP6a8f7xB/wDHzwEARMWSTZIh/wDQzwEAzv9LQABL/wDazwEAZf9EAEQb/wDlzwEAzq2DdiqD/wDvzwEAx1ermXCr/wD5zwEAxzPPwqXP/wAD0AEA0hXo59To/wAN0AEATB7w2fDT/wAX0AEAUETbptug/wAh0AEAWHuuWq5h/wAr0AEAYcV4G3g3/wA10AEAzv9LQABL/wA/0AEAYcV4G3g3/wBK0AEAZf9EAEQb/wBV0AEAzq2DdiqD/wBf0AEAx1ermXCr/wBp0AEAxzPPwqXP/wBz0AEA0hXo59To/wB90AEAAAD39/f3/wCH0AEATB7w2fDT/wCR0AEAUETbptug/wCb0AEAWHuuWq5h/wCl0AEAxEbDr43D/wCu0AEAAAD39/f3/wC30AEAUlq/f797/wDA0AEAyaiUezKU/wDJ0AEAxzPPwqXP/wDS0AEAUETbptug/wDb0AEAZv+IAIg3/wDk0AEAyaiUezKU/wDt0AEAxzPPwqXP/wD20AEAAAD39/f3/wD/0AEAUETbptug/wAI0QEAZv+IAIg3/wAR0QEAzq2DdiqD/wAa0QEAxEbDr43D/wAj0QEA0hXo59To/wAs0QEATB7w2fDT/wA10QEAUlq/f797/wA+0QEAYcV4G3g3/wBH0QEAzq2DdiqD/wBQ0QEAxEbDr43D/wBZ0QEA0hXo59To/wBi0QEAAAD39/f3/wBr0QEATB7w2fDT/wB00QEAUlq/f797/wB90QEAYcV4G3g3/wCG0QEAzq2DdiqD/wCP0QEAx1ermXCr/wCY0QEAxzPPwqXP/wCh0QEA0hXo59To/wCq0QEATB7w2fDT/wCz0QEAUETbptug/wC80QEAWHuuWq5h/wDF0QEAYcV4G3g3/wDO0QEAzq2DdiqD/wDX0QEAx1ermXCr/wDg0QEAxzPPwqXP/wDp0QEA0hXo59To/wDy0QEAAAD39/f3/wD70QEATB7w2fDT/wAE0gEAUETbptug/wAN0gEAWHuuWq5h/wAW0gEAYcV4G3g3/wAf0gEAvQvy7Ofy/wAo0gEAlz3bpr3b/wAx0gEAjcW+K4y+/wA60gEAuQj28e72/wBD0gEAmyjhvcnh/wBM0gEAkXDPdKnP/wBV0gEAj/ewBXCw/wBe0gEAuQj28e72/wBn0gEAmyjhvcnh/wBw0gEAkXDPdKnP/wB50gEAjcW+K4y+/wCC0gEAj/eNBFqN/wCL0gEAuQj28e72/wCU0gEAqBjm0NHm/wCd0gEAlz3bpr3b/wCm0gEAkXDPdKnP/wCv0gEAjcW+K4y+/wC40gEAj/eNBFqN/wDB0gEAuQj28e72/wDK0gEAqBjm0NHm/wDT0gEAlz3bpr3b/wDc0gEAkXDPdKnP/wDl0gEAjrfANpDA/wDu0gEAj/ewBXCw/wD30gEAj/h7A057/wAA0wEA6Qj///f7/wAJ0wEAvQvy7Ofy/wAS0wEAqBjm0NHm/wAb0wEAlz3bpr3b/wAk0wEAkXDPdKnP/wAt0wEAjrfANpDA/wA20wEAj/ewBXCw/wA/0wEAj/h7A057/wBI0wEA6Qj///f7/wBR0wEAvQvy7Ofy/wBa0wEAqBjm0NHm/wBj0wEAlz3bpr3b/wBs0wEAkXDPdKnP/wB10wEAjrfANpDA/wB+0wEAj/ewBXCw/wCH0wEAj/eNBFqN/wCQ0wEAj/lYAjhY/wCZ0wEAyA7w7OLw/wCk0wEAlz3bpr3b/wCv0wEAgtCZHJCZ/wC60wEAzwj39u/3/wDF0wEAmyjhvcnh/wDQ0wEAj4DPZ6nP/wDb0wEAgvuKAoGK/wDm0wEAzwj39u/3/wDx0wEAmyjhvcnh/wD80wEAj4DPZ6nP/wAH1AEAgtCZHJCZ/wAS1AEAd/xsAWxZ/wAd1AEAzwj39u/3/wAo1AEAqBjm0NHm/wAz1AEAlz3bpr3b/wA+1AEAj4DPZ6nP/wBJ1AEAgtCZHJCZ/wBU1AEAd/xsAWxZ/wBf1AEAzwj39u/3/wBq1AEAqBjm0NHm/wB11AEAlz3bpr3b/wCA1AEAj4DPZ6nP/wCL1AEAjrfANpDA/wCW1AEAgvuKAoGK/wCh1AEAdvxkAWRQ/wCs1AEA6Qj///f7/wC31AEAyA7w7OLw/wDC1AEAqBjm0NHm/wDN1AEAlz3bpr3b/wDY1AEAj4DPZ6nP/wDj1AEAjrfANpDA/wDu1AEAgvuKAoGK/wD51AEAdvxkAWRQ/wAE1QEA6Qj///f7/wAP1QEAyA7w7OLw/wAa1QEAqBjm0NHm/wAl1QEAlz3bpr3b/wAw1QEAj4DPZ6nP/wA71QEAjrfANpDA/wBG1QEAgvuKAoGK/wBR1QEAd/xsAWxZ/wBc1QEAdftGAUY2/wBn1QEAEu5/fzsI/wBx1QEAw/9LLQBL/wB81QEAFPazs1gG/wCG1QEAFujg4IIU/wCQ1QEAF5v9/bhj/wCa1QEAGEj+/uC2/wCk1QEApRTr2Nrr/wCu1QEAsS/SsqvS/wC41QEAs1SsgHOs/wDC1QEAvbWIVCeI/wDM1QEAEu5/fzsI/wDW1QEAvbWIVCeI/wDh1QEAw/9LLQBL/wDs1QEAFPazs1gG/wD21QEAFujg4IIU/wAA1gEAF5v9/bhj/wAK1gEAGEj+/uC2/wAU1gEAAAD39/f3/wAe1gEApRTr2Nrr/wAo1gEAsS/SsqvS/wAy1gEAs1SsgHOs/wA81gEAF7vx8aNA/wBF1gEAAAD39/f3/wBO1gEAskXDmY7D/wBX1gEAEf3m5mEB/wBg1gEAF5v9/bhj/wBp1gEAsS/SsqvS/wBy1gEAuZuZXjyZ/wB71gEAEf3m5mEB/wCE1gEAF5v9/bhj/wCN1gEAAAD39/f3/wCW1gEAsS/SsqvS/wCf1gEAuZuZXjyZ/wCo1gEAFPazs1gG/wCx1gEAF7vx8aNA/wC61gEAGEj+/uC2/wDD1gEApRTr2Nrr/wDM1gEAskXDmY7D/wDV1gEAvbWIVCeI/wDe1gEAFPazs1gG/wDn1gEAF7vx8aNA/wDw1gEAGEj+/uC2/wD51gEAAAD39/f3/wAC1wEApRTr2Nrr/wAL1wEAskXDmY7D/wAU1wEAvbWIVCeI/wAd1wEAFPazs1gG/wAm1wEAFujg4IIU/wAv1wEAF5v9/bhj/wA41wEAGEj+/uC2/wBB1wEApRTr2Nrr/wBK1wEAsS/SsqvS/wBT1wEAs1SsgHOs/wBc1wEAvbWIVCeI/wBl1wEAFPazs1gG/wBu1wEAFujg4IIU/wB31wEAF5v9/bhj/wCA1wEAGEj+/uC2/wCJ1wEAAAD39/f3/wCS1wEApRTr2Nrr/wCb1wEAsS/SsqvS/wCk1wEAs1SsgHOs/wCt1wEAvbWIVCeI/wC21wEAvA7v5+Hv/wC/1wEA1kPJyZTH/wDI1wEA6t7d3Rx3/wDR1wEAuQj28e72/wDa1wEA0ynY17XY/wDj1wEA5Ivf32Ww/wDs1wEA7+jOzhJW/wD11wEAuQj28e72/wD+1wEA0ynY17XY/wAH2AEA5Ivf32Ww/wAQ2AEA6t7d3Rx3/wAZ2AEA7P+YmABD/wAi2AEAuQj28e72/wAr2AEAzCba1Lna/wA02AEA1kPJyZTH/wA92AEA5Ivf32Ww/wBG2AEA6t7d3Rx3/wBP2AEA7P+YmABD/wBY2AEAuQj28e72/wBh2AEAzCba1Lna/wBq2AEA1kPJyZTH/wBz2AEA5Ivf32Ww/wB82AEA6dHn5ymK/wCF2AEA7+jOzhJW/wCO2AEA7P+RkQA//wCX2AEAwwX59/T5/wCg2AEAvA7v5+Hv/wCp2AEAzCba1Lna/wCy2AEA1kPJyZTH/wC72AEA5Ivf32Ww/wDE2AEA6dHn5ymK/wDN2AEA7+jOzhJW/wDW2AEA7P+RkQA//wDf2AEAwwX59/T5/wDo2AEAvA7v5+Hv/wDx2AEAzCba1Lna/wD62AEA1kPJyZTH/wAD2QEA5Ivf32Ww/wAM2QEA6dHn5ymK/wAV2QEA7+jOzhJW/wAe2QEA7P+YmABD/wAn2QEA8v9nZwAf/wAw2QEAtAj17+31/wA82QEAqCXcvL3c/wBI2QEAsGSxdWux/wBU2QEAtgf38vD3/wBg2QEArRziy8ni/wBs2QEArTrInprI/wB42QEAtoCjalGj/wCE2QEAtgf38vD3/wCQ2QEArRziy8ni/wCc2QEArTrInprI/wCo2QEAsGSxdWux/wC02QEAvLmPVCeP/wDA2QEAtgf38vD3/wDM2QEAqhLr2trr/wDY2QEAqCXcvL3c/wDk2QEArTrInprI/wDw2QEAsGSxdWux/wD82QEAvLmPVCeP/wAI2gEAtgf38vD3/wAU2gEAqhLr2trr/wAg2gEAqCXcvL3c/wAs2gEArTrInprI/wA42gEArFO6gH26/wBE2gEAtoCjalGj/wBQ2gEAvtiGShSG/wBc2gEAvwL9/Pv9/wBo2gEAtAj17+31/wB02gEAqhLr2trr/wCA2gEAqCXcvL3c/wCM2gEArTrInprI/wCY2gEArFO6gH26/wCk2gEAtoCjalGj/wCw2gEAvtiGShSG/wC82gEAvwL9/Pv9/wDI2gEAtAj17+31/wDU2gEAqhLr2trr/wDg2gEAqCXcvL3c/wDs2gEArTrInprI/wD42gEArFO6gH26/wAE2wEAtoCjalGj/wAQ2wEAvLmPVCeP/wAc2wEAv/99PwB9/wAo2wEA8v9nZwAf/wAy2wEAlvFhBTBh/wA92wEA+dyyshgr/wBH2wEABaPW1mBN/wBR2wEADXf09KWC/wBb2wEADzb9/dvH/wBl2wEAjiDw0eXw/wBv2wEAjVfeksXe/wB52wEAj6fDQ5PD/wCD2wEAlM6sIWas/wCN2wEA8v9nZwAf/wCX2wEAlM6sIWas/wCi2wEAlvFhBTBh/wCt2wEA+dyyshgr/wC32wEABaPW1mBN/wDB2wEADXf09KWC/wDL2wEADzb9/dvH/wDV2wEAAAD39/f3/wDf2wEAjiDw0eXw/wDp2wEAjVfeksXe/wDz2wEAj6fDQ5PD/wD92wEADJbv74pi/wAG3AEAAAD39/f3/wAP3AEAj4DPZ6nP/wAY3AEA+P/KygAg/wAh3AEADXf09KWC/wAq3AEAjVfeksXe/wAz3AEAj/ewBXGw/wA83AEA+P/KygAg/wBF3AEADXf09KWC/wBO3AEAAAD39/f3/wBX3AEAjVfeksXe/wBg3AEAj/ewBXGw/wBp3AEA+dyyshgr/wBy3AEADJbv74pi/wB73AEADzb9/dvH/wCE3AEAjiDw0eXw/wCN3AEAj4DPZ6nP/wCW3AEAlM6sIWas/wCf3AEA+dyyshgr/wCo3AEADJbv74pi/wCx3AEADzb9/dvH/wC63AEAAAD39/f3/wDD3AEAjiDw0eXw/wDM3AEAj4DPZ6nP/wDV3AEAlM6sIWas/wDe3AEA+dyyshgr/wDn3AEABaPW1mBN/wDw3AEADXf09KWC/wD53AEADzb9/dvH/wAC3QEAjiDw0eXw/wAL3QEAjVfeksXe/wAU3QEAj6fDQ5PD/wAd3QEAlM6sIWas/wAm3QEA+dyyshgr/wAv3QEABaPW1mBN/wA43QEADXf09KWC/wBB3QEADzb9/dvH/wBK3QEAAAD39/f3/wBT3QEAjiDw0eXw/wBc3QEAjVfeksXe/wBl3QEAj6fDQ5PD/wBu3QEAlM6sIWas/wB33QEA8v9nZwAf/wCB3QEAAAAaGhoa/wCM3QEA+dyyshgr/wCW3QEABaPW1mBN/wCg3QEADXf09KWC/wCq3QEADzb9/dvH/wC03QEAAADg4ODg/wC+3QEAAAC6urq6/wDI3QEAAACHh4eH/wDS3QEAAABNTU1N/wDc3QEA8v9nZwAf/wDm3QEAAABNTU1N/wDx3QEAAAAaGhoa/wD83QEA+dyyshgr/wAG3gEABaPW1mBN/wAQ3gEADXf09KWC/wAa3gEADzb9/dvH/wAk3gEAAAD//////wAu3gEAAADg4ODg/wA43gEAAAC6urq6/wBC3gEAAACHh4eH/wBM3gEADJbv74pi/wBV3gEAAAD//////wBe3gEAAACZmZmZ/wBn3gEA+P/KygAg/wBw3gEADXf09KWC/wB53gEAAAC6urq6/wCC3gEAAABAQEBA/wCL3gEA+P/KygAg/wCU3gEADXf09KWC/wCd3gEAAAD//////wCm3gEAAAC6urq6/wCv3gEAAABAQEBA/wC43gEA+dyyshgr/wDB3gEADJbv74pi/wDK3gEADzb9/dvH/wDT3gEAAADg4ODg/wDc3gEAAACZmZmZ/wDl3gEAAABNTU1N/wDu3gEA+dyyshgr/wD33gEADJbv74pi/wAA3wEADzb9/dvH/wAJ3wEAAAD//////wAS3wEAAADg4ODg/wAb3wEAAACZmZmZ/wAk3wEAAABNTU1N/wAt3wEA+dyyshgr/wA23wEABaPW1mBN/wA/3wEADXf09KWC/wBI3wEADzb9/dvH/wBR3wEAAADg4ODg/wBa3wEAAAC6urq6/wBj3wEAAACHh4eH/wBs3wEAAABNTU1N/wB13wEA+dyyshgr/wB+3wEABaPW1mBN/wCH3wEADXf09KWC/wCQ3wEADzb9/dvH/wCZ3wEAAAD//////wCi3wEAAADg4ODg/wCr3wEAAAC6urq6/wC03wEAAACHh4eH/wC93wEAAABNTU1N/wDG3wEAAyD9/eDd/wDP3wEA9Fz6+p+1/wDY3wEA49zFxRuK/wDh3wEADRz+/uvi/wDq3wEA/Ej7+7S5/wDz3wEA7pP392ih/wD83wEA4P2urgF+/wAF4AEADRz+/uvi/wAO4AEA/Ej7+7S5/wAX4AEA7pP392ih/wAg4AEA49zFxRuK/wAp4AEA1fx6egF3/wAy4AEADRz+/uvi/wA74AEAAzz8/MXA/wBE4AEA9Fz6+p+1/wBN4AEA7pP392ih/wBW4AEA49zFxRuK/wBf4AEA1fx6egF3/wBo4AEADRz+/uvi/wBx4AEAAzz8/MXA/wB64AEA9Fz6+p+1/wCD4AEA7pP392ih/wCM4AEA5sPd3TSX/wCV4AEA4P2urgF+/wCe4AEA1fx6egF3/wCn4AEADgz///fz/wCw4AEAAyD9/eDd/wC54AEAAzz8/MXA/wDC4AEA9Fz6+p+1/wDL4AEA7pP392ih/wDU4AEA5sPd3TSX/wDd4AEA4P2urgF+/wDm4AEA1fx6egF3/wDv4AEADgz///fz/wD44AEAAyD9/eDd/wAB4QEAAzz8/MXA/wAK4QEA9Fz6+p+1/wAT4QEA7pP392ih/wAc4QEA5sPd3TSX/wAl4QEA4P2urgF+/wAu4QEA1fx6egF3/wA34QEAx/9qSQBq/wBA4QEA9f+lpQAm/wBM4QEAp6uVMTaV/wBZ4QEAAtDX1zAn/wBl4QEACrj09G1D/wBx4QEAFJ39/a5h/wB94QEAHm7+/uCQ/wCJ4QEAiBj44PP4/wCV4QEAikPpq9np/wCh4QEAj3HRdK3R/wCt4QEAl520RXW0/wC54QEA9f+lpQAm/wDF4QEAl520RXW0/wDS4QEAp6uVMTaV/wDf4QEAAtDX1zAn/wDr4QEACrj09G1D/wD34QEAFJ39/a5h/wAD4gEAHm7+/uCQ/wAP4gEAKkD///+//wAb4gEAiBj44PP4/wAn4gEAikPpq9np/wAz4gEAj3HRdK3R/wA/4gEADaT8/I1Z/wBK4gEAKkD///+//wBV4gEAj1bbkb/b/wBg4gEA/uHX1xkc/wBr4gEAFJ39/a5h/wB24gEAikPpq9np/wCB4gEAkcG2LHu2/wCM4gEA/uHX1xkc/wCX4gEAFJ39/a5h/wCi4gEAKkD///+//wCt4gEAikPpq9np/wC44gEAkcG2LHu2/wDD4gEAAtDX1zAn/wDO4gEADaT8/I1Z/wDZ4gEAHm7+/uCQ/wDk4gEAiBj44PP4/wDv4gEAj1bbkb/b/wD64gEAl520RXW0/wAF4wEAAtDX1zAn/wAQ4wEADaT8/I1Z/wAb4wEAHm7+/uCQ/wAm4wEAKkD///+//wAx4wEAiBj44PP4/wA84wEAj1bbkb/b/wBH4wEAl520RXW0/wBS4wEAAtDX1zAn/wBd4wEACrj09G1D/wBo4wEAFJ39/a5h/wBz4wEAHm7+/uCQ/wB+4wEAiBj44PP4/wCJ4wEAikPpq9np/wCU4wEAj3HRdK3R/wCf4wEAl520RXW0/wCq4wEAAtDX1zAn/wC14wEACrj09G1D/wDA4wEAFJ39/a5h/wDL4wEAHm7+/uCQ/wDW4wEAKkD///+//wDh4wEAiBj44PP4/wDs4wEAikPpq9np/wD34wEAj3HRdK3R/wAC5AEAl520RXW0/wAN5AEA9f+lpQAm/wAZ5AEAa/9oAGg3/wAm5AEAAtDX1zAn/wAy5AEACrj09G1D/wA+5AEAFJ39/a5h/wBK5AEAH3P+/uCL/wBW5AEAM2rv2e+L/wBi5AEAPoLZptlq/wBu5AEAU3m9Zr1j/wB65AEAZ9OYGphQ/wCG5AEA9f+lpQAm/wCS5AEAZ9OYGphQ/wCf5AEAa/9oAGg3/wCs5AEAAtDX1zAn/wC45AEACrj09G1D/wDE5AEAFJ39/a5h/wDQ5AEAH3P+/uCL/wDc5AEAKkD///+//wDo5AEAM2rv2e+L/wD05AEAPoLZptlq/wAA5QEAU3m9Zr1j/wAM5QEADaT8/I1Z/wAX5QEAKkD///+//wAi5QEAQojPkc9g/wAt5QEA/uHX1xkc/wA45QEAFJ39/a5h/wBD5QEAPoLZptlq/wBO5QEAYtKWGpZB/wBZ5QEA/uHX1xkc/wBk5QEAFJ39/a5h/wBv5QEAKkD///+//wB65QEAPoLZptlq/wCF5QEAYtKWGpZB/wCQ5QEAAtDX1zAn/wCb5QEADaT8/I1Z/wCm5QEAH3P+/uCL/wCx5QEAM2rv2e+L/wC85QEAQojPkc9g/wDH5QEAZ9OYGphQ/wDS5QEAAtDX1zAn/wDd5QEADaT8/I1Z/wDo5QEAH3P+/uCL/wDz5QEAKkD///+//wD+5QEAM2rv2e+L/wAJ5gEAQojPkc9g/wAU5gEAZ9OYGphQ/wAf5gEAAtDX1zAn/wAq5gEACrj09G1D/wA15gEAFJ39/a5h/wBA5gEAH3P+/uCL/wBL5gEAM2rv2e+L/wBW5gEAPoLZptlq/wBh5gEAU3m9Zr1j/wBs5gEAZ9OYGphQ/wB35gEAAtDX1zAn/wCC5gEACrj09G1D/wCN5gEAFJ39/a5h/wCY5gEAH3P+/uCL/wCj5gEAKkD///+//wCu5gEAM2rv2e+L/wC55gEAPoLZptlq/wDE5gEAU3m9Zr1j/wDP5gEAZ9OYGphQ/wDa5gEADSz+/uDS/wDj5gEACYv8/JJy/wDs5gEAAdPe3i0m/wD15gEADSX+/uXZ/wD+5gEAC2z8/K6R/wAH5wEAB7P7+2pK/wAQ5wEA/eDLyxgd/wAZ5wEADSX+/uXZ/wAi5wEAC2z8/K6R/wAr5wEAB7P7+2pK/wA05wEAAdPe3i0m/wA95wEA/eelpQ8V/wBG5wEADSX+/uXZ/wBP5wEADFz8/Luh/wBY5wEACYv8/JJy/wBh5wEAB7P7+2pK/wBq5wEAAdPe3i0m/wBz5wEA/eelpQ8V/wB85wEADSX+/uXZ/wCF5wEADFz8/Luh/wCO5wEACYv8/JJy/wCX5wEAB7P7+2pK/wCg5wEAA9Dv7zss/wCp5wEA/eDLyxgd/wCy5wEA+/+ZmQAN/wC75wEADg////Xw/wDE5wEADSz+/uDS/wDN5wEADFz8/Luh/wDW5wEACYv8/JJy/wDf5wEAB7P7+2pK/wDo5wEAA9Dv7zss/wDx5wEA/eDLyxgd/wD65wEA+/+ZmQAN/wAD6AEADg////Xw/wAM6AEADSz+/uDS/wAV6AEADFz8/Luh/wAe6AEACYv8/JJy/wAn6AEAB7P7+2pK/wAw6AEAA9Dv7zss/wA56AEA/eDLyxgd/wBC6AEA/eelpQ8V/wBL6AEA+f9nZwAN/wBU6AEA/uHk5Boc/wBd6AEAkrK4N364/wBm6AEAU5OvTa9K/wBv6AEA/uHk5Boc/wB46AEAkrK4N364/wCB6AEAU5OvTa9K/wCK6AEAz4SjmE6j/wCT6AEA/uHk5Boc/wCc6AEAkrK4N364/wCl6AEAU5OvTa9K/wCu6AEAz4SjmE6j/wC36AEAFf///38A/wDA6AEA/uHk5Boc/wDJ6AEAkrK4N364/wDS6AEAU5OvTa9K/wDb6AEAz4SjmE6j/wDk6AEAFf///38A/wDt6AEAKsz///8z/wD26AEA/uHk5Boc/wD/6AEAkrK4N364/wAI6QEAU5OvTa9K/wAR6QEAz4SjmE6j/wAa6QEAFf///38A/wAj6QEAKsz///8z/wAs6QEAD8GmplYo/wA16QEA/uHk5Boc/wA+6QEAkrK4N364/wBH6QEAU5OvTa9K/wBQ6QEAz4SjmE6j/wBZ6QEAFf///38A/wBi6QEAKsz///8z/wBr6QEAD8GmplYo/wB06QEA6Hn394G//wB96QEA/uHk5Boc/wCG6QEAkrK4N364/wCP6QEAU5OvTa9K/wCY6QEAz4SjmE6j/wCh6QEAFf///38A/wCq6QEAKsz///8z/wCz6QEAD8GmplYo/wC86QEA6Hn394G//wDF6QEAAACZmZmZ/wDO6QEAcnjCZsKl/wDX6QEAC5v8/I1i/wDg6QEAnE3LjaDL/wDp6QEAcnjCZsKl/wDy6QEAC5v8/I1i/wD76QEAnE3LjaDL/wAE6gEA5Gbn54rD/wAN6gEAcnjCZsKl/wAW6gEAC5v8/I1i/wAf6gEAnE3LjaDL/wAo6gEA5Gbn54rD/wAx6gEAOpvYpthU/wA66gEAcnjCZsKl/wBD6gEAC5v8/I1i/wBM6gEAnE3LjaDL/wBV6gEA5Gbn54rD/wBe6gEAOpvYpthU/wBn6gEAItD//9kv/wBw6gEAcnjCZsKl/wB56gEAC5v8/I1i/wCC6gEAnE3LjaDL/wCL6gEA5Gbn54rD/wCU6gEAOpvYpthU/wCd6gEAItD//9kv/wCm6gEAGVrl5cSU/wCv6gEAcnjCZsKl/wC46gEAC5v8/I1i/wDB6gEAnE3LjaDL/wDK6gEA5Gbn54rD/wDT6gEAOpvYpthU/wDc6gEAItD//9kv/wDl6gEAGVrl5cSU/wDu6gEAAACzs7Oz/wD36gEAeFTTjdPH/wAB6wEA01K9vIC9/wAM6wEAKkz///+z/wAW6wEAryXavrra/wAg6wEABIv7+4By/wAq6wEAkGTTgLHT/wA06wEAFpz9/bRi/wA+6wEAOobes95p/wBI6wEA6S/8/M3l/wBS6wEAAADZ2dnZ/wBc6wEAeFTTjdPH/wBm6wEA01K9vIC9/wBx6wEATSnrzOvF/wB86wEAKkz///+z/wCG6wEAryXavrra/wCQ6wEABIv7+4By/wCa6wEAkGTTgLHT/wCk6wEAFpz9/bRi/wCu6wEAOobes95p/wC46wEA6S/8/M3l/wDC6wEAAADZ2dnZ/wDM6wEAeFTTjdPH/wDW6wEA01K9vIC9/wDh6wEATSnrzOvF/wDs6wEAJZD//+1v/wD36wEAKkz///+z/wAB7AEAryXavrra/wAL7AEABIv7+4By/wAV7AEAkGTTgLHT/wAf7AEAFpz9/bRi/wAp7AEAOobes95p/wAz7AEA6S/8/M3l/wA97AEAAADZ2dnZ/wBH7AEAeFTTjdPH/wBQ7AEAKkz///+z/wBZ7AEAryXavrra/wBi7AEAeFTTjdPH/wBr7AEAKkz///+z/wB07AEAryXavrra/wB97AEABIv7+4By/wCG7AEAeFTTjdPH/wCP7AEAKkz///+z/wCY7AEAryXavrra/wCh7AEABIv7+4By/wCq7AEAkGTTgLHT/wCz7AEAeFTTjdPH/wC87AEAKkz///+z/wDF7AEAryXavrra/wDO7AEABIv7+4By/wDX7AEAkGTTgLHT/wDg7AEAFpz9/bRi/wDp7AEAeFTTjdPH/wDy7AEAKkz///+z/wD77AEAryXavrra/wAE7QEABIv7+4By/wAN7QEAkGTTgLHT/wAW7QEAFpz9/bRi/wAf7QEAOobes95p/wAo7QEAeFTTjdPH/wAx7QEAKkz///+z/wA67QEAryXavrra/wBD7QEABIv7+4By/wBM7QEAkGTTgLHT/wBV7QEAFpz9/bRi/wBe7QEAOobes95p/wBn7QEA6S/8/M3l/wBw7QEAeFTTjdPH/wB57QEAKkz///+z/wCC7QEAryXavrra/wCL7QEABIv7+4By/wCU7QEAkGTTgLHT/wCd7QEAFpz9/bRi/wCm7QEAOobes95p/wCv7QEA6S/8/M3l/wC47QEAAADZ2dnZ/wDB7QEA7f2engFC/wDP7QEAsYKiXk+i/wDe7QEA+rTV1T5P/wDs7QEACrj09G1D/wD67QEAFJ39/a5h/wAI7gEAH3P+/uCL/wAW7gEAMWD15vWY/wAk7gEAT0Hdq92k/wAy7gEAcnjCZsKl/wBA7gEAj7u9Moi9/wBO7gEA7f2engFC/wBc7gEAj7u9Moi9/wBr7gEAsYKiXk+i/wB67gEA+rTV1T5P/wCI7gEACrj09G1D/wCW7gEAFJ39/a5h/wCk7gEAH3P+/uCL/wCy7gEAKkD///+//wDA7gEAMWD15vWY/wDO7gEAT0Hdq92k/wDc7gEAcnjCZsKl/wDq7gEADaT8/I1Z/wD37gEAKkD///+//wAE7wEAUU3VmdWU/wAR7wEA/uHX1xkc/wAe7wEAFJ39/a5h/wAr7wEAT0Hdq92k/wA47wEAj8S6K4O6/wBF7wEA/uHX1xkc/wBS7wEAFJ39/a5h/wBf7wEAKkD///+//wBs7wEAT0Hdq92k/wB57wEAj8S6K4O6/wCG7wEA+rTV1T5P/wCT7wEADaT8/I1Z/wCg7wEAH3P+/uCL/wCt7wEAMWD15vWY/wC67wEAUU3VmdWU/wDH7wEAj7u9Moi9/wDU7wEA+rTV1T5P/wDh7wEADaT8/I1Z/wDu7wEAH3P+/uCL/wD77wEAKkD///+//wAI8AEAMWD15vWY/wAV8AEAUU3VmdWU/wAi8AEAj7u9Moi9/wAv8AEA+rTV1T5P/wA88AEACrj09G1D/wBJ8AEAFJ39/a5h/wBW8AEAH3P+/uCL/wBj8AEAMWD15vWY/wBw8AEAT0Hdq92k/wB98AEAcnjCZsKl/wCK8AEAj7u9Moi9/wCX8AEA+rTV1T5P/wCk8AEACrj09G1D/wCx8AEAFJ39/a5h/wC+8AEAH3P+/uCL/wDL8AEAKkD///+//wDY8AEAMWD15vWY/wDl8AEAT0Hdq92k/wDy8AEAcnjCZsKl/wD/8AEAj7u9Moi9/wAM8QEAkw//8Pj//wAb8QEAGCP6+uvX/wAt8QEAf///AP///wA38QEAcYD/f//U/wBH8QEAfw//8P///wBS8QEAKhr19fXc/wBd8QEAFzr//+TE/wBp8QEAAAAAAAAA/wB08QEAGTH//+vN/wCI8QEAqv//AAD//wCS8QEAwM7iiivi/wCi8QEAAL6lpSoq/wCt8QEAF2Pe3riH/wC88QEAgGegX56g/wDL8QEAP///f/8A/wDb8QEAEdrS0mke/wDq8QEAC6///39Q/wD18QEAmpPtZJXt/wAJ8gEAISL///jc/wAX8gEA9ufc3BQ8/wAk8gEAf///AP///wAu8gEAqv+LAACL/wA88gEAf/+LAIuL/wBK8gEAHu+4uIYL/wBd8gEAAACpqamp/wBr8gEAVf9kAGQA/wB68gEAAACpqamp/wCI8gEAJ269vbdr/wCX8gEA1P+LiwCL/wCo8gEAOo5rVWsv/wC88gEAF////4wA/wDM8gEAxsDMmTLM/wDc8gEAAP+LiwAA/wDp8gEACnnp6ZZ6/wD58gEAVT28j7yP/wAL8wEAr4+LSD2L/wAe8wEAf2dPL09P/wAx8wEAf2dPL09P/wBE8wEAgP/RAM7R/wBX8wEAx//TlADT/wBn8wEA6Ov//xST/wB18wEAiv//AL///wCG8wEAAABpaWlp/wCT8wEAAABpaWlp/wCg8wEAlOH/HpD//wCw8wEAAM6ysiIi/wC/8wEAHA////rw/wDQ8wEAVcCLIosi/wDh8wEA1P///wD//wDu8wEAAADc3Nzc/wD98wEAqgf/+Pj//wAN9AEAI////9cA/wAX9AEAHtna2qUg/wAm9AEAAACAgICA/wAw9AEAVf+AAIAA/wA79AEAO9D/rf8v/wBM9AEAAACAgICA/wBW9AEAVQ//8P/w/wBk9AEA6Zb//2m0/wBx9AEAAIzNzVxc/wCA9AEAwv+CSwCC/wCM9AEAKg/////w/wCX9AEAJmrw8OaM/wCi9AEAqhT65ub6/wCw9AEA8A////D1/wDD9AEAQP/8fPwA/wDS9AEAJjH///rN/wDk9AEAiT/mrdjm/wDz9AEAAHfw8ICA/wAD9QEAfx//4P///wAS9QEAKij6+vrS/wAs9QEAAADT09PT/wA79QEAVWTukO6Q/wBL9QEAAADT09PT/wBa9QEA+En//7bB/wBp9QEADIT//6B6/wB69QEAfdGyILKq/wCN9QEAj3X6h876/wCf9QEAlDiZd4iZ/wCz9QEAlDiZd4iZ/wDH9QEAlzTesMTe/wDb9QEAKh/////g/wDs9QEAVf//AP8A/wD29QEAVcDNMs0y/wAF9gEAFRT6+vDm/wAQ9gEA1P///wD//wAd9gEAAP+AgAAA/wAp9gEAcYDNZs2q/wA/9gEAqv/NAADN/wBP9gEAzJjTulXT/wBh9gEAt3zbk3Db/wBz9gEAZ6mzPLNx/wCH9gEAsI/ue2ju/wCc9gEAb//6APqa/wCz9gEAfafRSNHM/wDI9gEA5OTHxxWF/wDd9gEAqsZwGRlw/wDv9gEAagn/9f/6/wD+9gEABB7//+Th/wAN9wEAGkn//+S1/wAb9wEAGVH//96t/wAs9wEAqv+AAACA/wA29wEAGxf9/fXm/wBD9wEAKv+AgIAA/wBO9wEAOMCOa44j/wBd9wEAG////6UA/wBp9wEAC////0UA/wB49wEA1nva2nDW/wCE9wEAJkju7uiq/wCX9wEAVWT7mPuY/wCm9wEAf0Pur+7u/wC59wEA8Xzb23CT/wDM9wEAGin//+/V/wDc9wEAFEb//9q5/wDr9wEAFLDNzYU//wD19wEA9z///8DL/wD/9wEA1Ebd3aDd/wAJ+AEAhDvmsODm/wAZ+AEA1P+AgACA/wAl+AEAAP///wAA/wAu+AEAAD28vI+P/wA9+AEAn7XhQWnh/wBM+AEAEdyLi0UT/wBd+AEABIr6+oBy/wBp+AEAE5r09KRg/wB5+AEAZ6qLLotX/wCH+AEAERD///Xu/wCV+AEADbegoFIt/wCh+AEAAADAwMDA/wCt+AEAi2zrh87r/wC6+AEAr4/NalrN/wDJ+AEAlDiQcICQ/wDY+AEAlDiQcICQ/wDn+AEAAAX///r6/wDx+AEAav//AP9//wAC+QEAkpu0RoK0/wAR+QEAGFTS0rSM/wAa+QEAf/+AAICA/wAk+QEA1B3Y2L/Y/wAx+QEABrj//2NH/wA9+QEAe7bgQODQ/wBM+QEA1HPu7oLu/wBY+QEAG0T19d6z/wBj+QEAAAD//////wBu+QEAAAD19fX1/wB++QEAKv////8A/wCK+QEAOMDNms0y/wCb+QEALUP89/y5/wCk+QEARFvdrd2O/wCt+QEAYrKjMaNU/wC2+QEAKjL////M/wC/+QEAPlXmwuaZ/wDI+QEAVWTGeMZ5/wDR+QEAY7uEI4RD/wDa+QEAKjL////M/wDj+QEAPlXmwuaZ/wDs+QEAVWTGeMZ5/wD1+QEAYrKjMaNU/wD++QEAa/9oAGg3/wAH+gEAKjL////M/wAQ+gEAN1Hw2fCj/wAZ+gEARFvdrd2O/wAi+gEAVWTGeMZ5/wAr+gEAYrKjMaNU/wA0+gEAa/9oAGg3/wA9+gEAKjL////M/wBG+gEAN1Hw2fCj/wBP+gEARFvdrd2O/wBY+gEAVWTGeMZ5/wBh+gEAYJ6rQatd/wBq+gEAY7uEI4RD/wBz+gEAbP9aAFoy/wB8+gEAKhn////l/wCF+gEALUP89/y5/wCO+gEAN1Hw2fCj/wCX+gEARFvdrd2O/wCg+gEAVWTGeMZ5/wCp+gEAYJ6rQatd/wCy+gEAY7uEI4RD/wC7+gEAbP9aAFoy/wDE+gEAKhn////l/wDN+gEALUP89/y5/wDW+gEAN1Hw2fCj/wDf+gEARFvdrd2O/wDo+gEAVWTGeMZ5/wDx+gEAYJ6rQatd/wD6+gEAY7uEI4RD/wAD+wEAa/9oAGg3/wAM+wEAbv9FAEUp/wAV+wEAMUn47fix/wAg+wEAdWHNf827/wAr+wEAkMK4LH+4/wA2+wEAKjL////M/wBB+wEAY0Laodq0/wBM+wEAhKrEQbbE/wBX+wEAlsuoIl6o/wBi+wEAKjL////M/wBt+wEAY0Laodq0/wB4+wEAhKrEQbbE/wCD+wEAkMK4LH+4/wCO+wEApL+UJTSU/wCZ+wEAKjL////M/wCk+wEARTrpx+m0/wCv+wEAdWHNf827/wC6+wEAhKrEQbbE/wDF+wEAkMK4LH+4/wDQ+wEApL+UJTSU/wDb+wEAKjL////M/wDm+wEARTrpx+m0/wDx+wEAdWHNf827/wD8+wEAhKrEQbbE/wAH/AEAi9jAHZHA/wAS/AEAlsuoIl6o/wAd/AEAnueEDCyE/wAo/AEAKib////Z/wAz/AEAMUn47fix/wA+/AEARTrpx+m0/wBJ/AEAdWHNf827/wBU/AEAhKrEQbbE/wBf/AEAi9jAHZHA/wBq/AEAlsuoIl6o/wB1/AEAnueEDCyE/wCA/AEAKib////Z/wCL/AEAMUn47fix/wCW/AEARTrpx+m0/wCh/AEAdWHNf827/wCs/AEAhKrEQbbE/wC3/AEAi9jAHZHA/wDC/AEAlsuoIl6o/wDN/AEApL+UJTSU/wDY/AEAnudYCB1Y/wDj/AEAJUL///e8/wDu/AEAHK/+/sRP/wD5/AEAEO7Z2V8O/wAE/QEAKir////U/wAP/QEAHHD+/tmO/wAa/QEAFtX+/pkp/wAl/QEAD/zMzEwC/wAw/QEAKir////U/wA7/QEAHHD+/tmO/wBG/QEAFtX+/pkp/wBR/QEAEO7Z2V8O/wBc/QEADfiZmTQE/wBn/QEAKir////U/wBy/QEAH23+/uOR/wB9/QEAHK/+/sRP/wCI/QEAFtX+/pkp/wCT/QEAEO7Z2V8O/wCe/QEADfiZmTQE/wCp/QEAKir////U/wC0/QEAH23+/uOR/wC//QEAHK/+/sRP/wDK/QEAFtX+/pkp/wDV/QEAEuns7HAU/wDg/QEAD/zMzEwC/wDr/QEADPeMjC0E/wD2/QEAKhn////l/wAB/gEAJUL///e8/wAM/gEAH23+/uOR/wAX/gEAHK/+/sRP/wAi/gEAFtX+/pkp/wAt/gEAEuns7HAU/wA4/gEAD/zMzEwC/wBD/gEADPeMjC0E/wBO/gEAKhn////l/wBZ/gEAJUL///e8/wBk/gEAH23+/uOR/wBv/gEAHK/+/sRP/wB6/gEAFtX+/pkp/wCF/gEAEuns7HAU/wCQ/gEAD/zMzEwC/wCb/gEADfiZmTQE/wCm/gEADfBmZiUG/wCx/gEAIl///+2g/wC8/gEAGLL+/rJM/wDH/gEABd3w8Dsg/wDS/gEAKk3///+y/wDd/gEAHaL+/sxc/wDo/gEAEcL9/Y08/wDz/gEA/uHj4xoc/wD+/gEAKk3///+y/wAJ/wEAHaL+/sxc/wAU/wEAEcL9/Y08/wAf/wEABd3w8Dsg/wAq/wEA9v+9vQAm/wA1/wEAKk3///+y/wBA/wEAHoj+/tl2/wBL/wEAGLL+/rJM/wBW/wEAEcL9/Y08/wBh/wEABd3w8Dsg/wBs/wEA9v+9vQAm/wB3/wEAKk3///+y/wCC/wEAHoj+/tl2/wCN/wEAGLL+/rJM/wCY/wEAEcL9/Y08/wCj/wEAB9T8/E4q/wCu/wEA/uHj4xoc/wC5/wEA9f+xsQAm/wDE/wEAKjL////M/wDP/wEAIl///+2g/wDa/wEAHoj+/tl2/wDl/wEAGLL+/rJM/wDw/wEAEcL9/Y08/wD7/wEAB9T8/E4q/wAGAAIA/uHj4xoc/wARAAIA9f+xsQAm/wAcAAIAKjL////M/wAnAAIAIl///+2g/wAyAAIAHoj+/tl2/wA9AAIAGLL+/rJM/wBIAAIAEcL9/Y08/wBTAAIAB9T8/E4q/wBeAAIA/uHj4xoc/wBpAAIA9v+9vQAm/wB0AAIA8v+AgAAm/wB/AAIAkw//8Pj//wCJAAIAGCP6+uvX/wCWAAIAFyT//+/b/wCkAAIAFyTu7t/M/wCyAAIAFyTNzcCw/wDAAAIAGCKLi4N4/wDOAAIAcYD/f//U/wDZAAIAcYD/f//U/wDlAAIAcYDudu7G/wDxAAIAcYDNZs2q/wD9AAIAcYCLRYt0/wAJAQIAfw//8P///wAPAQIAfw//8P///wAWAQIAfw/u4O7u/wAdAQIAfw7Nwc3N/wAkAQIAfw6Lg4uL/wArAQIAKhr19fXc/wAxAQIAFzr//+TE/wA4AQIAFzr//+TE/wBAAQIAFzru7tW3/wBIAQIAFjrNzbee/wBQAQIAFzqLi31r/wBiGAIAAAAAAAAA/wBYAQIAGTH//+vN/wBnAQIAqv//AAD//wBsAQIAqv//AAD//wByAQIAqv/uAADu/wB4AQIAqv/NAADN/wB+AQIAqv+LAACL/wCEAQIAwM7iiivi/wCPAQIAAL6lpSoq/wCVAQIAAL///0BA/wCcAQIAAL/u7js7/wCjAQIAAL/NzTMz/wCqAQIAAL6LiyMj/wCxAQIAF2Pe3riH/wC7AQIAF2T//9Ob/wDGAQIAF2Pu7sWR/wDRAQIAF2PNzap9/wDcAQIAF2OLi3NV/wDnAQIAgGegX56g/wDxAQIAg2f/mPX//wD8AQIAg2bujuXu/wAHAgIAg2fNesXN/wASAgIAg2aLU4aL/wAdAgIAP///f/8A/wAoAgIAP///f/8A/wA0AgIAP//udu4A/wBAAgIAP//NZs0A/wBMAgIAP/+LRYsA/wBYAgIAEdrS0mke/wBiAgIAEdv//38k/wBtAgIAEdvu7nYh/wB4AgIAEdrNzWYd/wCDAgIAEdyLi0UT/wCOAgIAC6///39Q/wCUAgIAB6n//3JW/wCbAgIABqnu7mpQ/wCiAgIABqnNzVtF/wCpAgIABqiLiz4v/wCwAgIAmpPtZJXt/wC/AgIAISL///jc/wDIAgIAISL///jc/wDSAgIAIiPu7ujN/wDcAgIAIiLNzcix/wDmAgIAIyKLi4h4/wDwAgIA9ufc3BQ8/wD4AgIAf///AP///wD9AgIAf///AP///wADAwIAf//uAO7u/wAJAwIAf//NAM3N/wAPAwIAf/+LAIuL/wAVAwIAHu+4uIYL/wAjAwIAHvD//7kP/wAyAwIAHvDu7q0O/wBBAwIAHvDNzZUM/wBQAwIAHvCLi2UI/wBfAwIAVf9kAGQA/wBpAwIAJ269vbdr/wBzAwIAOo5rVWsv/wCCAwIAOo//yv9w/wCSAwIAOo/uvO5o/wCiAwIAOo/Nos1a/wCyAwIAOo+Lbos9/wDCAwIAF////4wA/wDNAwIAFf///38A/wDZAwIAFf/u7nYA/wDlAwIAFf/NzWYA/wDxAwIAFf+Li0UA/wD9AwIAxsDMmTLM/wAIBAIAxsH/vz7//wAUBAIAxsDusjru/wAgBAIAxsDNmjLN/wAsBAIAxsCLaCKL/wA4BAIACnnp6ZZ6/wBDBAIAVT28j7yP/wBQBAIAVT7/wf/B/wBeBAIAVT7utO60/wBsBAIAVT7Nm82b/wB6BAIAVT6LaYtp/wCIBAIAr4+LSD2L/wCWBAIAf2dPL09P/wCkBAIAf2j/l////wCzBAIAf2fuje7u/wDCBAIAf2jNec3N/wDRBAIAf2iLUouL/wDgBAIAf2dPL09P/wDuBAIAgP/RAM7R/wD8BAIAx//TlADT/wAHBQIA6Ov//xST/wAQBQIA6Ov//xST/wAaBQIA6Ovu7hKJ/wAkBQIA6OvNzRB2/wAuBQIA5+yLiwpQ/wA4BQIAiv//AL///wBEBQIAiv//AL///wBRBQIAiv/uALLu/wBeBQIAiv/NAJrN/wBrBQIAiv+LAGiL/wB4BQIAAABpaWlp/wCABQIAAABpaWlp/wCIBQIAlOH/HpD//wCTBQIAlOH/HpD//wCfBQIAlOHuHIbu/wCrBQIAlOHNGHTN/wC3BQIAlOGLEE6L/wDDBQIAAM6ysiIi/wDNBQIAAM///zAw/wDYBQIAAM/u7iws/wDjBQIAAM/NzSYm/wDuBQIAAM+Lixoa/wD5BQIAHA////rw/wAFBgIAVcCLIosi/wARBgIAAADc3Nzc/wAbBgIAqgf/+Pj//wAmBgIAI////9cA/wArBgIAI////9cA/wAxBgIAI//u7skA/wA3BgIAI//Nza0A/wA9BgIAI/+Li3UA/wBDBgIAHtna2qUg/wBNBgIAHtr//8El/wBYBgIAHtru7rQi/wBjBgIAHtrNzZsd/wBuBgIAHtqLi2kU/wB5BgIAAADAwMDA/wB+BgIAAAAAAAAA/wCEBgIAAAADAwMD/wCKBgIAAAAaGhoa/wCRBgIAAAD//////wCZBgIAAAAcHBwc/wCgBgIAAAAfHx8f/wCnBgIAAAAhISEh/wCuBgIAAAAkJCQk/wC1BgIAAAAmJiYm/wC8BgIAAAApKSkp/wDDBgIAAAArKysr/wDKBgIAAAAuLi4u/wDRBgIAAAAwMDAw/wDYBgIAAAAFBQUF/wDeBgIAAAAzMzMz/wDlBgIAAAA2NjY2/wDsBgIAAAA4ODg4/wDzBgIAAAA7Ozs7/wD6BgIAAAA9PT09/wABBwIAAABAQEBA/wAIBwIAAABCQkJC/wAPBwIAAABFRUVF/wAWBwIAAABHR0dH/wAdBwIAAABKSkpK/wAkBwIAAAAICAgI/wAqBwIAAABNTU1N/wAxBwIAAABPT09P/wA4BwIAAABSUlJS/wA/BwIAAABUVFRU/wBGBwIAAABXV1dX/wBNBwIAAABZWVlZ/wBUBwIAAABcXFxc/wBbBwIAAABeXl5e/wBiBwIAAABhYWFh/wBpBwIAAABjY2Nj/wBwBwIAAAAKCgoK/wB2BwIAAABmZmZm/wB9BwIAAABpaWlp/wCEBwIAAABra2tr/wCLBwIAAABubm5u/wCSBwIAAABwcHBw/wCZBwIAAABzc3Nz/wCgBwIAAAB1dXV1/wCnBwIAAAB4eHh4/wCuBwIAAAB6enp6/wC1BwIAAAB9fX19/wC8BwIAAAANDQ0N/wDCBwIAAAB/f39//wDJBwIAAACCgoKC/wDQBwIAAACFhYWF/wDXBwIAAACHh4eH/wDeBwIAAACKioqK/wDlBwIAAACMjIyM/wDsBwIAAACPj4+P/wDzBwIAAACRkZGR/wD6BwIAAACUlJSU/wABCAIAAACWlpaW/wAICAIAAAAPDw8P/wAOCAIAAACZmZmZ/wAVCAIAAACcnJyc/wAcCAIAAACenp6e/wAjCAIAAAChoaGh/wAqCAIAAACjo6Oj/wAxCAIAAACmpqam/wA4CAIAAACoqKio/wA/CAIAAACrq6ur/wBGCAIAAACtra2t/wBNCAIAAACwsLCw/wBUCAIAAAASEhIS/wBaCAIAAACzs7Oz/wBhCAIAAAC1tbW1/wBoCAIAAAC4uLi4/wBvCAIAAAC6urq6/wB2CAIAAAC9vb29/wB9CAIAAAC/v7+//wCECAIAAADCwsLC/wCLCAIAAADExMTE/wCSCAIAAADHx8fH/wCZCAIAAADJycnJ/wCgCAIAAAAUFBQU/wCmCAIAAADMzMzM/wCtCAIAAADPz8/P/wC0CAIAAADR0dHR/wC7CAIAAADU1NTU/wDCCAIAAADW1tbW/wDJCAIAAADZ2dnZ/wDQCAIAAADb29vb/wDXCAIAAADe3t7e/wDeCAIAAADg4ODg/wDlCAIAAADj4+Pj/wDsCAIAAAAXFxcX/wDyCAIAAADl5eXl/wD5CAIAAADo6Ojo/wAACQIAAADr6+vr/wAHCQIAAADt7e3t/wAOCQIAAADw8PDw/wAVCQIAAADy8vLy/wAcCQIAAAD19fX1/wAjCQIAAAD39/f3/wAqCQIAAAD6+vr6/wAxCQIAAAD8/Pz8/wA4CQIAVf//AP8A/wA+CQIAVf//AP8A/wBFCQIAVf/uAO4A/wBMCQIAVf/NAM0A/wBTCQIAVf+LAIsA/wBaCQIAO9D/rf8v/wBmCQIAAADAwMDA/wBrCQIAAAAAAAAA/wBxCQIAAAADAwMD/wB3CQIAAAAaGhoa/wB+CQIAAAD//////wCGCQIAAAAcHBwc/wCNCQIAAAAfHx8f/wCUCQIAAAAhISEh/wCbCQIAAAAkJCQk/wCiCQIAAAAmJiYm/wCpCQIAAAApKSkp/wCwCQIAAAArKysr/wC3CQIAAAAuLi4u/wC+CQIAAAAwMDAw/wDFCQIAAAAFBQUF/wDLCQIAAAAzMzMz/wDSCQIAAAA2NjY2/wDZCQIAAAA4ODg4/wDgCQIAAAA7Ozs7/wDnCQIAAAA9PT09/wDuCQIAAABAQEBA/wD1CQIAAABCQkJC/wD8CQIAAABFRUVF/wADCgIAAABHR0dH/wAKCgIAAABKSkpK/wARCgIAAAAICAgI/wAXCgIAAABNTU1N/wAeCgIAAABPT09P/wAlCgIAAABSUlJS/wAsCgIAAABUVFRU/wAzCgIAAABXV1dX/wA6CgIAAABZWVlZ/wBBCgIAAABcXFxc/wBICgIAAABeXl5e/wBPCgIAAABhYWFh/wBWCgIAAABjY2Nj/wBdCgIAAAAKCgoK/wBjCgIAAABmZmZm/wBqCgIAAABpaWlp/wBxCgIAAABra2tr/wB4CgIAAABubm5u/wB/CgIAAABwcHBw/wCGCgIAAABzc3Nz/wCNCgIAAAB1dXV1/wCUCgIAAAB4eHh4/wCbCgIAAAB6enp6/wCiCgIAAAB9fX19/wCpCgIAAAANDQ0N/wCvCgIAAAB/f39//wC2CgIAAACCgoKC/wC9CgIAAACFhYWF/wDECgIAAACHh4eH/wDLCgIAAACKioqK/wDSCgIAAACMjIyM/wDZCgIAAACPj4+P/wDgCgIAAACRkZGR/wDnCgIAAACUlJSU/wDuCgIAAACWlpaW/wD1CgIAAAAPDw8P/wD7CgIAAACZmZmZ/wACCwIAAACcnJyc/wAJCwIAAACenp6e/wAQCwIAAAChoaGh/wAXCwIAAACjo6Oj/wAeCwIAAACmpqam/wAlCwIAAACoqKio/wAsCwIAAACrq6ur/wAzCwIAAACtra2t/wA6CwIAAACwsLCw/wBBCwIAAAASEhIS/wBHCwIAAACzs7Oz/wBOCwIAAAC1tbW1/wBVCwIAAAC4uLi4/wBcCwIAAAC6urq6/wBjCwIAAAC9vb29/wBqCwIAAAC/v7+//wBxCwIAAADCwsLC/wB4CwIAAADExMTE/wB/CwIAAADHx8fH/wCGCwIAAADJycnJ/wCNCwIAAAAUFBQU/wCTCwIAAADMzMzM/wCaCwIAAADPz8/P/wChCwIAAADR0dHR/wCoCwIAAADU1NTU/wCvCwIAAADW1tbW/wC2CwIAAADZ2dnZ/wC9CwIAAADb29vb/wDECwIAAADe3t7e/wDLCwIAAADg4ODg/wDSCwIAAADj4+Pj/wDZCwIAAAAXFxcX/wDfCwIAAADl5eXl/wDmCwIAAADo6Ojo/wDtCwIAAADr6+vr/wD0CwIAAADt7e3t/wD7CwIAAADw8PDw/wACDAIAAADy8vLy/wAJDAIAAAD19fX1/wAQDAIAAAD39/f3/wAXDAIAAAD6+vr6/wAeDAIAAAD8/Pz8/wAlDAIAVQ//8P/w/wAuDAIAVQ//8P/w/wA4DAIAVQ/u4O7g/wBCDAIAVQ7Nwc3B/wBMDAIAVQ6Lg4uD/wBWDAIA6Zb//2m0/wBeDAIA6pH//260/wBnDAIA643u7mqn/wBwDAIA7IfNzWCQ/wB5DAIA6pSLizpi/wCCDAIAAIzNzVxc/wCMDAIAAJT//2pq/wCXDAIAAJTu7mNj/wCiDAIAAJXNzVVV/wCtDAIAAJSLizo6/wC4DAIAwv+CSwCC/wC/DAIAKgD////+AADFDAIAKg/////w/wDLDAIAKg/////w/wDSDAIAKg/u7u7g/wDZDAIAKg7Nzc3B/wDgDAIAKg6Li4uD/wDnDAIAJmrw8OaM/wDtDAIAJ3D///aP/wD0DAIAJ3Du7uaF/wD7DAIAJ2/NzcZz/wACDQIAJ2+Li4ZO/wAJDQIAqhT65ub6/wASDQIA8A////D1/wAgDQIA8A////D1/wAvDQIA7w/u7uDl/wA+DQIA8A7NzcHF/wBNDQIA7w6Li4OG/wBcDQIAQP/8fPwA/wBmDQIAJjH///rN/wBzDQIAJjH///rN/wCBDQIAJTLu7um//wCPDQIAJjHNzcml/wCdDQIAJzGLi4lw/wCrDQIAiT/mrdjm/wC1DQIAikD/v+///wDADQIAikDust/u/wDLDQIAij/NmsDN/wDWDQIAiUCLaIOL/wDhDQIAAHfw8ICA/wDsDQIAfx//4P///wD2DQIAfx//4P///wABDgIAfx/u0e7u/wAMDgIAfx/NtM3N/wAXDgIAfx+LeouL/wAiDgIAI3Pu7t2C/wAxDgIAI3T//+yL/wBBDgIAI3Pu7tyC/wBRDgIAI3PNzb5w/wBhDgIAI3OLi4FM/wBxDgIAKij6+vrS/wCGDgIAAADT09PT/wCQDgIAAADT09PT/wCaDgIA+En//7bB/wCkDgIA+VH//665/wCvDgIA+FHu7qKt/wC6DgIA+VDNzYyV/wDFDgIA+VCLi19l/wDQDgIADIT//6B6/wDcDgIADIT//6B6/wDpDgIAC4Tu7pVy/wD2DgIADIXNzYFi/wADDwIADIWLi1dC/wAQDwIAfdGyILKq/wAeDwIAj3X6h876/wArDwIAj0//sOL//wA5DwIAj0/upNPu/wBHDwIAjk/NjbbN/wBVDwIAj06LYHuL/wBjDwIAr4//hHD//wByDwIAlDiZd4iZ/wCBDwIAlDiZd4iZ/wCQDwIAlzTesMTe/wCfDwIAlzX/yuH//wCvDwIAlzXuvNLu/wC/DwIAlzXNorXN/wDPDwIAljWLbnuL/wDfDwIAKh/////g/wDrDwIAKh/////g/wD4DwIAKh/u7u7R/wAFEAIAKh/Nzc20/wASEAIAKh+Li4t6/wAfEAIAVcDNMs0y/wApEAIAFRT6+vDm/wAvEAIA1P///wD//wA3EAIA1P///wD//wBAEAIA1P/u7gDu/wBJEAIA1P/NzQDN/wBSEAIA1P+LiwCL/wBbEAIA77mwsDBg/wBiEAIA5Mv//zSz/wBqEAIA5Mvu7jCn/wByEAIA5MzNzSmQ/wB6EAIA5MuLixxi/wCCEAIAcYDNZs2q/wCTEAIAqv/NAADN/wCeEAIAzJjTulXT/wCrEAIAy5n/4Gb//wC5EAIAy5nu0V/u/wDHEAIAy5nNtFLN/wDVEAIAy5qLejeL/wDjEAIAt3zbk3Db/wDwEAIAt33/q4L//wD+EAIAt33un3nu/wAMEQIAt33NiWjN/wAaEQIAt3yLXUeL/wAoEQIAZ6mzPLNx/wA3EQIAsI/ue2ju/wBHEQIAb//6APqa/wBZEQIAfafRSNHM/wBpEQIA5OTHxxWF/wB5EQIAqsZwGRlw/wCGEQIAagn/9f/6/wCQEQIABB7//+Th/wCaEQIABB7//+Th/wClEQIABB7u7tXS/wCwEQIAAx3Nzbe1/wC7EQIABR2Li317/wDGEQIAGkn//+S1/wDPEQIAGVH//96t/wDbEQIAGVH//96t/wDoEQIAGVLu7s+h/wD1EQIAGVLNzbOL/wACEgIAGVKLi3le/wAPEgIAqv+AAACA/wAUEgIAqv+AAACA/wAdEgIAKgD////+AAAiEgIAGxf9/fXm/wAqEgIAOMCOa44j/wA0EgIAOMH/wP8+/wA/EgIAOMDus+46/wBKEgIAOMDNms0y/wBVEgIAOMCLaYsi/wBgEgIAG////6UA/wBnEgIAG////6UA/wBvEgIAG//u7poA/wB3EgIAG//NzYUA/wB/EgIAG/+Li1oA/wCHEgIAC////0UA/wCREgIAC////0UA/wCcEgIAC//u7kAA/wCnEgIAC//NzTcA/wCyEgIAC/+LiyUA/wC9EgIA1nva2nDW/wDEEgIA1nz//4P6/wDMEgIA1nzu7nrp/wDUEgIA1nzNzWnJ/wDcEgIA1XyLi0eJ/wDkEgIAJkju7uiq/wDyEgIAVWT7mPuY/wD8EgIAVWX/mv+a/wAHEwIAVWTukO6Q/wASEwIAVWTNfM18/wAdEwIAVWSLVItU/wAoEwIAf0Pur+7u/wA2EwIAf0T/u////wBFEwIAf0Turu7u/wBUEwIAf0TNls3N/wBjEwIAf0OLZouL/wByEwIA8Xzb23CT/wCAEwIA8X3//4Kr/wCPEwIA8X3u7nmf/wCeEwIA8X3NzWiJ/wCtEwIA8XyLi0dd/wC8EwIAGin//+/V/wDHEwIAFEb//9q5/wDREwIAFEb//9q5/wDcEwIAE0Xu7sut/wDnEwIAE0XNza+V/wDyEwIAFEWLi3dl/wD9EwIAFLDNzYU//wACFAIA9z///8DL/wAHFAIA9Un//7XF/wANFAIA9Unu7qm4/wATFAIA9UrNzZGe/wAZFAIA9UmLi2Ns/wAfFAIA1Ebd3aDd/wAkFAIA1ET//7v//wAqFAIA1ETu7q7u/wAwFAIA1ETNzZbN/wA2FAIA1EOLi2aL/wA8FAIAhDvmsODm/wBHFAIAxN3woCDw/wBOFAIAv8//mzD//wBWFAIAwM/ukSzu/wBeFAIAwM/NfSbN/wBmFAIAwM+LVRqL/wBuFAIAAP///wAA/wByFAIAAP///wAA/wB3FAIAAP/u7gAA/wB8FAIAAP/NzQAA/wCBFAIAAP+LiwAA/wCGFAIAAD28vI+P/wCQFAIAAD7//8HB/wCbFAIAAD7u7rS0/wCmFAIAAD7NzZub/wCxFAIAAD6Li2lp/wC8FAIAn7XhQWnh/wDGFAIAn7f/SHb//wDRFAIAn7fuQ27u/wDcFAIAn7bNOl/N/wDnFAIAn7eLJ0CL/wDyFAIAEdyLi0UT/wD+FAIABIr6+oBy/wAFFQIACZb//4xp/wANFQIACZbu7oJi/wAVFQIACZbNzXBU/wAdFQIACZaLi0w5/wAlFQIAE5r09KRg/wAwFQIAZ6qLLotX/wA5FQIAZ6v/VP+f/wBDFQIAZ6vuTu6U/wBNFQIAZ6vNQ82A/wBXFQIAZ6qLLotX/wBhFQIAERD///Xu/wBqFQIAERD///Xu/wB0FQIAEhHu7uXe/wB+FQIAEhHNzcW//wCIFQIAEhCLi4aC/wCSFQIADbegoFIt/wCZFQIADbj//4JH/wChFQIADbju7nlC/wCpFQIADbjNzWg5/wCxFQIADbmLi0cm/wC5FQIAi2zrh87r/wDBFQIAkHj/h87//wDKFQIAkHjufsDu/wDTFQIAkHjNbKbN/wDcFQIAkXeLSnCL/wDlFQIAr4/NalrN/wDvFQIAr5D/g2///wD6FQIAr5Duemfu/wAFFgIAr5DNaVnN/wAQFgIAr5CLRzyL/wAbFgIAlDiQcICQ/wAlFgIAlTj/xuL//wAwFgIAlTjuudPu/wA7FgIAlDnNn7bN/wBGFgIAlTiLbHuL/wBRFgIAlDiQcICQ/wBbFgIAAAX///r6/wBgFgIAAAX///r6/wBmFgIAAAXu7unp/wBsFgIAAATNzcnJ/wByFgIAAAOLi4mJ/wB4FgIAav//AP9//wCEFgIAav//AP9//wCRFgIAav/uAO52/wCeFgIAav/NAM1m/wCrFgIAav+LAItF/wC4FgIAkpu0RoK0/wDCFgIAkpz/Y7j//wDNFgIAkpzuXKzu/wDYFgIAkpzNT5TN/wDjFgIAk5uLNmSL/wDuFgIAGFTS0rSM/wDyFgIAFLD//6VP/wD3FgIAFLDu7ppJ/wD8FgIAFLDNzYU//wABFwIAFLCLi1or/wAGFwIA1B3Y2L/Y/wAOFwIA1B7//+H//wAXFwIA1B7u7tLu/wAgFwIA1B3NzbXN/wApFwIA1B2Li3uL/wAyFwIABrj//2NH/wA5FwIABrj//2NH/wBBFwIABrju7lxC/wBJFwIABrjNzU85/wBRFwIABrmLizYm/wCjGAIAKgD////+AABZFwIAe7bgQODQ/wBjFwIAgf//APX//wBuFwIAgf/uAOXu/wB5FwIAgf/NAMXN/wCEFwIAgf+LAIaL/wCPFwIA1HPu7oLu/wCWFwIA49fQ0CCQ/wCgFwIA68H//z6W/wCrFwIA68Du7jqM/wC2FwIA68DNzTJ4/wDBFwIA68CLiyJS/wDMFwIAG0T19d6z/wDSFwIAG0X//+e6/wDZFwIAG0Tu7tiu/wDgFwIAG0TNzbqW/wDnFwIAG0OLi35m/wDuFwIAAAD//////wD0FwIAAAD19fX1/wD/FwIAKv////8A/wAGGAIAKv////8A/wAOGAIAKv/u7u4A/wAWGAIAKv/Nzc0A/wAeGAIAKv+Li4sA/wAmGAIAOMDNms0y/wCaHAIAfywCALYYAgC4GAIAuhgCALwYAgC+GAIAwBgCAMIYAgDEGAIAxhgCAMkYAgDMGAIAzxgCANIYAgDVGAIA2BgCANsYAgDeGAIA4RgCAOQYAgAAAAAABAAAAAQAAAALAAAANgAAABYAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAADGJQIACQAAAMwlAgAKAAAA1SUCAAsAAAAXJgIADAAAAB0mAgANAAAAIiYCAA4AAADVJQIADwAAAKomAgAQAAAAsSYCABEAAAC5JgIAEgAAAMAmAgATAAAAzCYCABQAAAAXJgIAFQAAANgmAgAWAAAA4CYCABcAAADqJgIAGAAAAPgmAgAZAAAA/yYCABoAAAAEJwIAGwAAAAcnAgAcAAAADCcCAB0AAAAUJwIAHgAAABonAgAfAAAAICcCACAAAAAnJwIAIQAAAC0nAgAhAAAANScCACIAAAA8JwIAIwAAANUlAgAkAAAAsSYCABEAAAC5JgIAEgAAADMpAgAlAAAAwCYCABMAAADMJgIAFAAAABcmAgAVAAAAPikCACYAAADgJgIAFwAAAOomAgAYAAAA+CYCABkAAAD/JgIAGgAAAAQnAgAbAAAABycCABwAAABGKQIAJwAAABQnAgAeAAAAGicCAB8AAAAgJwIAIAAAACcnAgAhAAAALScCACEAAAA1JwIAIgAAADwnAgAjAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAABP7//4f+//8HAAAAAAAAAAD//3////9///////////N//v3//////3///////////w/g/////zH8////AAAAAAAAAP//////////////AQD4AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNf///v/////f39U/f8PAP7f///////////+3/////8DAP///////58Z////zz8DAAAAAAAA/v///38C/v///38AAAAAAAAAAAD///8HBwAAAAAA/v//B/4HAAAAAP7//////////3z/fy8AYAAAAOD///////8jAAAA/wMAAADgn/n///3FAwAAALADAAMA4If5///9bQMAAABeAAAcAOCv+////e0jAAAAAAEAAADgn/n///3NIwAAALADAAAA4Mc91hjHvwMAAAAAAAAAAODf/f///e8DAAAAAAMAAADg3/3///3vAwAAAEADAAAA4N/9///9/wMAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAD+/////38NAD8AAAAAAAAAliXw/q5sDSAfAAAAAAAAAAAAAAAAAAAA//7///8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////PwD/////fwDt2gcAAAAAUAFQMYKrYiwAAAAAQADJgPUHAAAAAAgBAv////////////////////////8P//////////////8D//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAQEwAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAIAAAAD+AwAA/v///////////x8A/v////////////8H4P////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////z8AAAAAAAAAAAAAAP//////////////////////////DwAAAAAAAAAAAAAAAAAAAABg/wf+//+H/v//BwAAAAAAAIAA//9/////f/////8AAAAAAAAA//////////////8BAPgDAAMAAAAAAP//////////PwAAAAMAAADA1///+/////9/f1T9/w8A/t////////////7f/////3sA////////nxn////PPwMAAAAAAAD+////fwL+////fwD+//v//7sWAP///wcHAAAAAAD+//8H//8HAP8D////////////fP9/7///Pf8D7v////////P/Px7/z/8AAO6f+f///cXTnzmAsM//AwDkh/n///1t04c5AF7A/x8A7q/7///97fO/OwAAwf8AAO6f+f///c3zjznAsMP/AADsxz3WGMe/w8c9gACA/wAA7t/9///978PfPWAAw/8AAOzf/f///e/D3z1gQMP/AADs3/3///3/w889gADD/wAAAAAAAAAAAAAAAAAAAAAAAP7/////f/8H/3//AwAAAACWJfD+rmz/O18//wMAAAAAAAAAA/8DoML//v///wP+/98Pv/7/P/4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8fAgAAAKAAAAD+/z4A/v///////////x9m/v////////////93GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcAAAAAAAAAAAABASsAAAAsAAAALQAAAC4AAAAvAAAALQAAADAAAAAxAAAAMgAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAA3QAAYOYAANjkAADM5wAAzOcAADjpAADY5AAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAIAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAAzAAAANAAAACkAAAA1AAAADQAAABoAAAAqAAAACQAAAAoAAAACAAAAAAAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAANgAAADcAAAAyAAAAOAAAAA4AAAAbAAAAMwAAAAsAAAAMAAAAAgAAAAABAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz40BALIzAgBTjgEAuzMCAMIzAgDLMwIAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcAAAAAAAAAAAABASsAAAAsAAAALQAAAC4AAAAvAAAALQAAADAAAAAxAAAAMgAAAETsAACw7QAAHO8AAIjwAACI8AAA9PEAABzvAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAIAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAMwAAADQAAAApAAAANQAAAA0AAAAaAAAAKgAAAAkAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADYAAAA3AAAAMgAAADgAAAAOAAAAGwAAADMAAAALAAAADAAAAAIAAAAAAQAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF00AgBjNAIAZjQCAGw0AgAGNAIAczQCAHw0AgCENAIAnPMAABQAAABDLlVURi04AAAAAAAAAAAAAAAAAN4SBJUAAAAA////////////////AgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTgPQAAAkAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAQAAAA/PkCAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QAABQAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAABAAAAAE/gIAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1AACE9QAABQAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABAAAAAMAgMAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmOgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAIAAAAAkAAAAKAAAADQAAAAsAAAAMAAAAhQAAAAAgAAABIAAAAiAAAAMgAAAEIAAABSAAAAYgAAAIIAAACSAAAAogAAAoIAAAKSAAAF8gAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BV9wiQD/CS8PdAAAAP1XAgBuAAAA/1cCAHIAAAABWAIAZgAAAANYAgBhAAAABVgCAGUAAAAHWAIAdwAAAAlYAgBXAAAAFlgCAHMAAAAkWAIAUwAAADBYAgBkAAAAPVgCAEQAAABJWAIAAAAAAAAAAAAAAAAAAAAEAAQAGwAbACAAIAAjACEACgACABYACQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/FwCu/3cArv8HAC4Arv8mAK7/FwARACMArv8NAK7/rv+u/67/OgCu/67/NQCu/67/rv8oAK7/BwCu/zsARQCu/0gArv+u/67/rv+u/67/rv/8/+gA9v///xoAAAAnAAEAMgCu/67/AgAkAAMALwCu/67/rv+u/67//v+UAK7/CQAbAK7/vP+u/67/r/+u/67/rv+u/67/rv+u/wAAAAAAAG3m7N4FAAsASQAxAVMAfwEwAWkAeAH/AIEBUwKCAYMBhAGFAYYBVAKHAYgBiQFWAooBVwKLAYwBjgHdAY8BWQKQAVsCkQGSAZMBYAKUAWMClgFpApcBaAKYAZkBnAFvAp0BcgKfAXUCpgGAAqcBqAGpAYMCrAGtAa4BiAKvAbABsQGKArIBiwK3AZICuAG5AbwBvQHEAcYBxAHFAcUBxgHHAckBxwHIAcgByQHKAcwBygHLAcsBzAHxAfMB8QHyAfIB8wH0AfUB9gGVAfcBvwEgAp4BhgOsA4gDrQOJA64DigOvA4wDzAOOA80DjwPOA5kDRQOZA74fowPCA/cD+AP6A/sDYB6bHp4e3wBZH1EfWx9TH10fVR9fH1cfvB+zH8wfwx/sH+Uf/B/zHzoCZSw7AjwCPQKaAT4CZixBAkICQwKAAUQCiQJFAowC9AO4A/kD8gP9A3sD/gN8A/8DfQPABM8EJiHJAyohawArIeUAMiFOIYMhhCFgLGEsYixrAmMsfR1kLH0CbSxRAm4scQJvLFACcCxSAnIscyx1LHYsfiw/An8sQALyLPMsfad5HYunjKeNp2UCqqdmAscQJy3NEC0tdgN3A5wDtQCSA9ADmAPRA6YD1QOgA9YDmgPwA6ED8QOVA/UDzwPXAwAAAABBACAawAAgHwABAS8yAQEFOQEBD0oBAS15AQEFcAMBA5EDIBGjAyAJAARQEBAEICBgBAEhigQBNcEEAQ3QBAE/FAUBEzEFMCagAQEFswEBA80BAQ/eAQER+AEBJyICARHYAwEXAB4BlaAeAV8IH/gIGB/4Bigf+Ag4H/gISB/4Bmgf+AiIH/gImB/4CKgf+Ai4H/gCuh+2AsgfqgTYH/gC2h+cAugf+ALqH5AC+B+AAvofggJGAgEJEAUBA2AhEBAALDAvZywBBYAsAWPrLAEDQKYBLYCmARcipwENMqcBPXmnAQN+pwEJkKcBA6CnAQkh/yAaAAAAAHsgdmFyIHBhdGggPSBQb2ludGVyX3N0cmluZ2lmeSgkMCk7IHZhciBkYXRhID0gUG9pbnRlcl9zdHJpbmdpZnkoJDEpOyBGUy5jcmVhdGVQYXRoKCIvIiwgUEFUSC5kaXJuYW1lKHBhdGgpKTsgRlMud3JpdGVGaWxlKFBBVEguam9pbigiLyIsIHBhdGgpLCBkYXRhKTsgfQBjb3JlAHhkb3R2ZXJzaW9uADEuNwAxLjQAMS4yAF9sZHJhd18AX2hkcmF3XwBfdGRyYXdfAF9obGRyYXdfAF90bGRyYXdfAHhkb3QgdmVyc2lvbiAiJXMiIHRvbyBsb25nACAlZCAAJS4wMmYAJXMlZCAtACMlMDJ4JTAyeCUwMnglMDJ4AHNldGxpbmV3aWR0aCgAJS4zZgBTIABDIAAyIABFIABlIABGIAB0ICV1IABUIABkb3Q6ZG90AGd2OmRvdABjYW5vbjpkb3QAcGxhaW46ZG90AHBsYWluLWV4dDpkb3QAeGRvdDp4ZG90AHhkb3QxLjI6eGRvdAB4ZG90MS40Onhkb3QASSAAIl9zdWJncmFwaF9jbnQiOiAlZAAiX2d2aWQiOiAlZAAiZWRnZXMiOiBbCgAiX2d2aWQiOiAlZCwKACJ0YWlsIjogJWQsCgAiaGVhZCI6ICVkACJvYmplY3RzIjogWwoAIm5vZGVzIjogWwoAIm5hbWUiOiAiJXMiAFwiAFwvAFxiAFxmAFxuAFxyAFx0ACJzdWJncmFwaHMiOiBbCgAiJXMiOiAAIiVzIgBDb3VsZCBub3QgcGFyc2UgeGRvdCAiJXMiCgBbCgAib3AiOiAiJWMiLAoAInJlY3QiOiBbJS4wM2YsJS4wM2YsJS4wM2YsJS4wM2ZdCgAib3AiOiAiTCIsCgAib3AiOiAiVCIsCgAicHQiOiBbJS4wM2YsJS4wM2ZdLAoAImFsaWduIjogIiVjIiwKACJ3aWR0aCI6ICUuMDNmLAoAInRleHQiOiAiJXMiCgAiZ3JhZCI6ICJub25lIiwKACJjb2xvciI6ICIlcyIKACJncmFkIjogImxpbmVhciIsCgAiZ3JhZCI6ICJyYWRpYWwiLAoAIm9wIjogIkYiLAoAInNpemUiOiAlLjAzZiwKACJmYWNlIjogIiVzIgoAIm9wIjogIlMiLAoAInN0eWxlIjogIiVzIgoAIm9wIjogInQiLAoAImZvbnRjaGFyIjogJWQKACJwMCI6IFslLjAzZiwlLjAzZiwlLjAzZl0sCgAicDEiOiBbJS4wM2YsJS4wM2YsJS4wM2ZdLAoAInN0b3BzIjogWwB7ImZyYWMiOiAlLjAzZiwgImNvbG9yIjogIiVzIn0AXQoAInAwIjogWyUuMDNmLCUuMDNmXSwKACJwMSI6IFslLjAzZiwlLjAzZl0sCgAicG9pbnRzIjogWwBbJS4wM2YsJS4wM2ZdAGRyYXdfAGxkcmF3XwBoZHJhd18AdGRyYXdfAGhsZHJhd18AdGxkcmF3XwAiZGlyZWN0ZWQiOiAlcywKACJzdHJpY3QiOiAlcwBEdXBsaWNhdGUgY2x1c3RlciBuYW1lICIlcyIKAHhkb3QAanNvbgBqc29uMABkb3RfanNvbgB4ZG90X2pzb24AanNvbjpqc29uAGpzb24wOmpzb24AZG90X2pzb246anNvbgB4ZG90X2pzb246anNvbgBuID49IDQAZ3ZyZW5kZXJfY29yZV9maWcuYwBmaWdfYmV6aWVyAGZpZ19yZXNvbHZlX2NvbG9yAGZpZwBmaWc6ZmlnAG1hcAByZWN0ICVzICVkLCVkICVkLCVkCgBjaXJjbGUgJXMgJWQsJWQsJWQKAHBvbHkgJXMAICVkLCVkAGd2cmVuZGVyX2NvcmVfbWFwLmMAbWFwX291dHB1dF9zaGFwZQByZWN0YW5nbGUgKCVkLCVkKSAoJWQsJWQpICVzICVzCgA8YXJlYSBzaGFwZT0iY2lyY2xlIgA8YXJlYSBzaGFwZT0icmVjdCIAPGFyZWEgc2hhcGU9InBvbHkiACBocmVmPSIAIHRpdGxlPSIAIGFsdD0iIgAgY29vcmRzPSIAJWQsJWQsJWQAJWQsJWQsJWQsJWQAJWQsJWQALCVkLCVkACI+CgA8L21hcD4KAGJhc2UgcmVmZXJlcgoAZGVmYXVsdCAAPG1hcCBpZD0iACIgbmFtZT0iAGlzbWFwOm1hcABjbWFwOm1hcABpbWFwOm1hcABjbWFweDptYXAAaW1hcF9ucDptYXAAY21hcHhfbnA6bWFwACMgJXMKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuM2YgJWQgJS40ZiAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAJWQgJWQgIyUwMnglMDJ4JTAyeAoAZ3ZyZW5kZXJfY29yZV9tcC5jAG1wX3Jlc29sdmVfY29sb3IAJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlLjRmICVkICUuMWYgJS4xZiAlZCAlZCAlc1wwMDEKACMgZW5kIG9mIEZJRyBmaWxlCgAjRklHIDMuMgoAIyBHZW5lcmF0ZWQgYnkgJXMgdmVyc2lvbiAlcyAoJXMpCgAjIFRpdGxlOiAlcwoAIyBQYWdlczogJWQKAFBvcnRyYWl0CgBDZW50ZXIKAEluY2hlcwoATGV0dGVyCgAxMDAuMDAKAFNpbmdsZQoALTIKADEyMDAAIDIKAG1wAG1wOm1wACBdICAlZCB0cnVlICVzCgAgXSAgJWQgZmFsc2UgJXMKACBzZXRsaW5ld2lkdGgKACVzIABzZXRoc2IAJS41ZyAlLjVnICUuNWcgJXNjb2xvcgoAJSAAbmV3cGF0aCAAIG1vdmV0bwoAIGxpbmV0bwoAc3Ryb2tlCgAgY3VydmV0bwoAY2xvc2VwYXRoIGZpbGwKAGNsb3NlcGF0aCBzdHJva2UKACBlbGxpcHNlX3BhdGggZmlsbAoAIGVsbGlwc2VfcGF0aCBzdHJva2UKACAvJXMgc2V0X2ZvbnQKACBtb3ZldG8gACAlcyBhbGlnbmVkdGV4dAoAWyAvUmVjdCBbIAAgXQoAICAvQm9yZGVyIFsgMCAwIDAgXQogIC9BY3Rpb24gPDwgL1N1YnR5cGUgL1VSSSAvVVJJICVzID4+CiAgL1N1YnR5cGUgL0xpbmsKL0FOTiBwZGZtYXJrCgBnc2F2ZQoAJSUgJXMKADAgMCAwIGVkZ2Vjb2xvcgoAZW5kcGFnZQpzaG93cGFnZQpncmVzdG9yZQoAJSVQYWdlVHJhaWxlcgoAJSUlJUVuZFBhZ2U6ICVkCgAlJSUlUGFnZTogJWQgJWQKACUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBMYW5kc2NhcGUAUG9ydHJhaXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRleE9mICgnLicsIG1zaWUgKSkpCgAgICAgICB9CgAgICAgICBpZiAoaWV2ZXJzPj01KXsKACAgICAgICBmb3IgKHggaW4gVk1MeWVzKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUx5ZXNbeF0pOwoAICAgICAgICAgaWYgKGl0ZW0pIHsKACAgICAgICAgICAgaXRlbS5zdHlsZS52aXNpYmlsaXR5PSd2aXNpYmxlJzsKACAgICAgICAgIH0KACAgICAgICB9CgAgICAgICAgZm9yICh4IGluIFZNTG5vKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUxub1t4XSk7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJzsKACAgICAgfWVsc2V7CgAgICAgIH0KACAgIH0KACAgIDwvU0NSSVBUPgoAPC9IRUFEPgA8Qk9EWSBvbmxvYWQ9J2Jyb3dzZXJjaGVjaygpOyc+CgA8RElWIGlkPSdfVk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTppbmxpbmU7IHZpc2liaWxpdHk6aGlkZGVuACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0Ij4KADxTVFlMRT4KAHZcOiogeyBiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7ZGlzcGxheTppbmxpbmUtYmxvY2t9CgA8L1NUWUxFPgoAPHhtbDpuYW1lc3BhY2UgbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiBwcmVmaXg9InYiIC8+CgAgPHY6Z3JvdXAgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyAAIHdpZHRoOiAlZHB0OyBoZWlnaHQ6ICVkcHQiACBjb29yZG9yaWdpbj0iMCwwIiBjb29yZHNpemU9IiVkLCVkIiA+ADxIVE1MPgoACjwhLS0gR2VuZXJhdGVkIGJ5IAAgdmVyc2lvbiAAICgAKQotLT4KAGFxdWEAZnVjaHNpYQBsaW1lAG9saXZlAHRlYWwAdm1sAHZtbDp2bWwALy8qKiogY29tbWVudDogJXMKAC8vKioqIHBvbHlsaW5lCgBzY2FsZSAgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHJvdGF0ZSAgIDwlOS4zZiwgJTkuM2YsICU5LjNmPgoAdHJhbnNsYXRlPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgBzcGhlcmVfc3dlZXAgewogICAgJXMKICAgICVkLAoAbGluZWFyX3NwbGluZQA8JTkuM2YsICU5LjNmLCAlOS4zZj4sICUuM2YKACVzICAgICVzACAgICB0b2xlcmFuY2UgMC4wMQogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAlcyVzACVzIHRyYW5zbWl0ICUuM2YAUmVkAEdyZWVuAEJsdWUAcmdiPCU5LjNmLCAlOS4zZiwgJTkuM2Y+IHRyYW5zbWl0ICUuM2YAb29wcywgaW50ZXJuYWwgZXJyb3I6IHVuaGFuZGxlZCBjb2xvciB0eXBlPSVkICVzCgBndnJlbmRlcl9jb3JlX3Bvdi5jAHBvdl9jb2xvcl9hc19zdHIAcGlnbWVudCB7IGNvbG9yICVzIH0KAHBvdiByZW5kZXJlcjplbCAtICVzCgAvLyoqKiBiZXppZXIKAGJfc3BsaW5lACAgICAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogcG9seWdvbgoAICAgIHRvbGVyYW5jZSAwLjEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAcG9seWdvbiB7ICVkLAoAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+ACVzCiAgICAlcwAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogZWxsaXBzZQoAdG9ydXMgeyAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHNwaGVyZSB7PCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAxLjAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogdGV4dHNwYW46ICVzLCBmb250c2l6ZSA9ICUuM2YsIGZvbnRuYW1lID0gJXMKAHNjYWxlICUuM2YKAHRleHQgewogICAgdHRmICIlcyIsCiAgICAiJXMiLCAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlcyAgICAlc30KACAgICBub19zaGFkb3cKAC8vKioqIGVuZF9lZGdlCgAvLyoqKiBiZWdpbl9lZGdlCgAvLyoqKiBlbmRfbm9kZQoALy8qKiogYmVnaW5fbm9kZTogJXMKAC8vKioqIGVuZF9jbHVzdGVyCgAvLyoqKiBiZWdpbl9jbHVzdGVyCgAvLyoqKiBlbmRfcGFnZQoALy8qKiogYmVnaW5fcGFnZQoALy8qKiogZW5kX2xheWVyCgAvLyoqKiBiZWdpbl9sYXllcjogJXMsICVkLyVkCgAvLyoqKiBlbmRfZ3JhcGgKAC8vKioqIGJlZ2luX2dyYXBoICVzCgBjYW1lcmEgeyBsb2NhdGlvbiA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICBsb29rX2F0ICA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICByaWdodCB4ICogaW1hZ2Vfd2lkdGggLyBpbWFnZV9oZWlnaHQKICAgICAgICAgYW5nbGUgJS4zZgp9CgAvL3NreQpwbGFuZSB7IDwwLCAxLCAwPiwgMSBob2xsb3cKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnQgeyBib3pvIHR1cmJ1bGVuY2UgMC45NQogICAgICAgICAgICBjb2xvcl9tYXAgewogICAgICAgICAgICAgICAgWzAuMDAgcmdiIDwwLjA1LCAwLjIwLCAwLjUwPl0KICAgICAgICAgICAgICAgIFswLjUwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC43NSByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwwLjI1LCAwLjI1LCAwLjI1Pl0KICAgICAgICAgICAgICAgIFsxLjAwIHJnYiA8MC41MCwgMC41MCwgMC41MD5dCiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2NhbGUgPDEuMDAsIDEuMDAsIDEuNTA+ICogMi41MAogICAgICAgICAgICB0cmFuc2xhdGUgPDAuMDAsIDAuMDAsIDAuMDA+CiAgICAgICAgfQogICAgICAgIGZpbmlzaCB7IGFtYmllbnQgMSBkaWZmdXNlIDAgfQogICAgfQogICAgc2NhbGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAY29tcABjbnQgPT0gc3oAbWluY3Jvc3MuYwBmaXhMYWJlbE9yZGVyAHJlbWluY3Jvc3MAbWluY3Jvc3MgJXM6ICVkIGNyb3NzaW5ncywgJS4yZiBzZWNzLgoAdgBuZWlnaGJvcgAocnYgPT0gMCkgfHwgKE5EX29yZGVyKHJ2KS1ORF9vcmRlcih2KSkqZGlyID4gMABjb25zdHJhaW5pbmdfZmxhdF9lZGdlKGcsdixlKSA9PSBGQUxTRQBmbGF0X3Jlb3JkZXIATkRfcmFuayh2KSA9PSByAHBvc3RvcmRlcgBmbGF0aW5kZXgoYWdoZWFkKGUpKSA8IE0tPm5yb3dzAGZsYXRfc2VhcmNoAGZsYXRpbmRleChhZ3RhaWwoZSkpIDwgTS0+bmNvbHMAb3V0AG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQuCgBvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkIGZvciBub2RlICclcycuCgBtZXJnZTI6IGdyYXBoICVzLCByYW5rICVkIGhhcyBvbmx5ICVkIDwgJWQgbm9kZXMKAG1pbmNyb3NzOiBwYXNzICVkIGl0ZXIgJWQgdHJ5aW5nICVkIGN1cl9jcm9zcyAlZCBiZXN0X2Nyb3NzICVkCgBORF9vcmRlcih2KSA8IE5EX29yZGVyKHcpAGJhbGFuY2UAdHJhbnNwb3NlX3N0ZXAAc3VycHJpc2UKAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogJXMgJXMgcmFuayAlZCBpID0gJWQgYW4gPSAwCgBHRF9yYW5rKGcpW3JdLm4gPD0gR0RfcmFuayhnKVtyXS5hbgBpbnN0YWxsX2luX3JhbmsAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogcmFuayAlZCBub3QgaW4gcmFuayByYW5nZSBbJWQsJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IEdEX3JhbmsoZylbJWRdLnYgKyBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoZylbJWRdLmF2ICsgR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAX25ld19yYW5rAG1jbGltaXQAcmFuayhnLCAyLCBuc2l0ZXIyKGcpKSA9PSAwAHBvc2l0aW9uLmMAZG90X3Bvc2l0aW9uAEFSPSUwLjRsZgkgQXJlYT0gJTAuNGxmCQBEdW1teT0lZAoAR29pbmcgdG8gYXBwbHkgYW5vdGhlciBleHBhbnNpb24uCgBuZXh0I2l0ZXI9JWQKAGhwAGNvbm5lY3RHcmFwaABFZGdlIGxlbmd0aCAlZiBsYXJnZXIgdGhhbiBtYXhpbXVtICV1IGFsbG93ZWQuCkNoZWNrIGZvciBvdmVyd2lkZSBub2RlKHMpLgoAbnNsaW1pdABjb250YWluX25vZGVzIGNsdXN0ICVzIHJhbmsgJWQgbWlzc2luZyBub2RlCgBuc2xpbWl0MQBuZXdyYW5rAE1heHJhbmsgPSAlZCwgbWlucmFuayA9ICVkCgBsZWFkZXIgIT0gTlVMTAByYW5rLmMAY2x1c3Rlcl9sZWFkZXIAKE5EX1VGX3NpemUobikgPD0gMSkgfHwgKG4gPT0gbGVhZGVyKQBhZ2hlYWQoZSkgPT0gVUZfZmluZChhZ2hlYWQoZSkpAG1pbm1heF9lZGdlcwBhZ3RhaWwoZSkgPT0gVUZfZmluZChhZ3RhaWwoZSkpAHJhbmsAc2FtZQBtaW4Ac291cmNlAG1heABzaW5rAGxldmVsIGFzc2lnbm1lbnQgY29uc3RyYWludHMAbGV2ZWwgZ3JhcGggcmVjAH9yb290AH90b3AAf2JvdABjb21wYWN0AF93ZWFrXyVkAHJhbmtpbmc6IGZhaWx1cmUgdG8gY3JlYXRlIHN0cm9uZyBjb25zdHJhaW50IGVkZ2UgYmV0d2VlbiBub2RlcyAlcyBhbmQgJXMKACVzIGhhcyB1bnJlY29nbml6ZWQgcmFuaz0lcwBsZXZlbCBlZGdlIHJlYwBsZXZlbCBub2RlIHJlYwBzYW1laGVhZABzYW1ldGFpbAB0b28gbWFueSAoPiAlZCkgc2FtZXtoZWFkLHRhaWx9IGdyb3VwcyBmb3Igbm9kZSAlcwoAY29tYmlBUiA9ICVsZgoAJWxmLCVkAHRoZSBhc3BlY3QgYXR0cmlidXRlIGhhcyBiZWVuIGRpc2FibGVkIGR1ZSB0byBpbXBsZW1lbnRhdGlvbiBmbGF3cyAtIGF0dHJpYnV0ZSBpZ25vcmVkLgoARURfdG9fdmlydChlKSA9PSBOVUxMAGNsYXNzMi5jAG1lcmdlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgPT0gTlVMTABtYWtlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgIT0gTlVMTABORF9yYW5rKGZyb20pIDwgTkRfcmFuayh0bykAY2x1c3Rlci5jAG1hcF9wYXRoACVzIHdhcyBhbHJlYWR5IGluIGEgcmFua3NldCwgZGVsZXRlZCBmcm9tIGNsdXN0ZXIgJXMKAGxoZWFkAGx0YWlsACVzIC0+ICVzOiBzcGxpbmUgc2l6ZSA+IDEgbm90IHN1cHBvcnRlZAoAJXMgLT4gJXM6IGhlYWQgbm90IGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiB0YWlsIGlzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGJlei0+c2ZsYWcAY29tcG91bmQuYwBtYWtlQ29tcG91bmRFZGdlAGJlei0+ZWZsYWcAJXMgLT4gJXM6IHRhaWwgbm90IGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiBoZWFkIGlzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHNlZ21lbnQgWyVzLCVzXSBkb2VzIG5vdCBpbnRlcnNlY3QgYm94IGxsPSVzLHVyPSVzCgBib3hJbnRlcnNlY3RmACglLjVnLCUuNWcpAGNsdXN0ZXIgbmFtZWQgJXMgbm90IGZvdW5kCgBjb25jZW50cmF0ZT10cnVlIG1heSBub3Qgd29yayBjb3JyZWN0bHkuCgByZWJ1aWx0ZF92bGlzdHM6IHJhbmsgbGVhZCAlcyBub3QgaW4gb3JkZXIgJWQgb2YgcmFuayAlZAoAZGVnZW5lcmF0ZSBjb25jZW50cmF0ZWQgcmFuayAlcywlZAoATkRfaW4ocmlnaHQpLnNpemUgKyBORF9vdXQocmlnaHQpLnNpemUgPT0gMABjb25jLmMAbWVyZ2V2aXJ0dWFsAGRvdDogT3V0IG9mIG1lbW9yeQoATkRfb3V0KHYpLnNpemUgPT0gMgBmbGF0LmMAc2V0Ym91bmRzAEdEX21pbnJhbmsoZykgPT0gMABhYm9taW5hdGlvbgBuZWF0b19sYXlvdXQAbmVhdG8AZmRwAHNmZHAAdHdvcGkAY2lyY28AcGF0Y2h3b3JrAG9zYWdlAG5vcABub3AxAG5vcDIAJWxmLCVsZiwlbGYlYwBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGRvdWJsZXMKAG5vdHJhbnNsYXRlAG5vZGUgJXMgaW4gZ3JhcGggJXMgaGFzIG5vIHBvc2l0aW9uCgBzLCVsZiwlbGYlbgAgZSwlbGYsJWxmJW4AcG9zIGF0dHJpYnV0ZSBmb3IgZWRnZSAoJXMsJXMpIGRvZXNuJ3QgaGF2ZSAzbisxIHBvaW50cwoAJWxmLCVsZiVuAHN5bnRheCBlcnJvciBpbiBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykKACVsZiwlbGYsJWxmLCVsZgBzdGFydABzZWxmAHJhbmRvbQBub2RlIHBvc2l0aW9ucyBhcmUgaWdub3JlZCB1bmxlc3Mgc3RhcnQ9cmFuZG9tCgBhcyByZXF1aXJlZCBieSB0aGUgLW4gZmxhZwoAX25lYXRvX2NjAGdyYXBoICVzIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBBbHRlcm5hdGl2ZWx5LCBjb25zaWRlciBydW5uaW5nIG5lYXRvIHVzaW5nIC1HcGFjaz10cnVlIG9yIGRlY29tcG9zaW5nCgB0aGUgZ3JhcGggaW50byBjb25uZWN0ZWQgY29tcG9uZW50cy4KAFNvbHZpbmcgbW9kZWwgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAE5EX2lkKG5wKSA9PSBpAG5lYXRvaW5pdC5jAG1ha2VHcmFwaERhdGEAZiA8IGdyYXBoW2pdLm5lZGdlcwBkZnNDeWNsZQBtb2RlbCAlZCBzbWFydF9pbml0ICVkIHN0cmVzc3d0ICVkIGl0ZXJhdGlvbnMgJWQgdG9sICVmCgBjb252ZXJ0IGdyYXBoOiAAbWFqb3JpemF0aW9uCgAlZCBub2RlcyAlLjJmIHNlYwoAbGV2ZWxzZ2FwAGxheW91dCBhYm9ydGVkCgBzdHJlc3N3dAAlcyBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSAxIG9yIDIgLSBpZ25vcmluZwoAbW9kZWwAY2lyY3VpdABzdWJzZXQAc2hvcnRwYXRoAG1kcwBlZGdlcyBpbiBncmFwaCAlcyBoYXZlIG5vIGxlbiBhdHRyaWJ1dGUuIEhlbmNlLCB0aGUgbWRzIG1vZGVsCgBpcyBpbmFwcHJvcHJpYXRlLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBVbmtub3duIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGVsIiBpbiBncmFwaCAlcyAtIGlnbm9yZWQKAG1vZGUAS0sAbWFqb3IAaGllcgBJbGxlZ2FsIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGUiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbWFrZVNwbGluZTogZmFpbGVkIHRvIG1ha2Ugc3BsaW5lIGVkZ2UgKCVzLCVzKQoAc3BsaW5lICVzICVzCgBiID09IG4AbmVhdG9zcGxpbmVzLmMAbWFrZV9iYXJyaWVycwB0aGUgYm91bmRpbmcgYm94ZXMgb2Ygc29tZSBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBzb21lIG5vZGVzIHdpdGggbWFyZ2luICglLjAyZiwlLjAyZikgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcG9seWxpbmVzAGxpbmUgc2VnbWVudHMAb3J0aG9nb25hbCBsaW5lcwBDcmVhdGluZyBlZGdlcyB1c2luZyAlcwoAcG9seWxpbmUgJXMgJXMKAG1kc01vZGVsOiBkZWx0YSA9ICVmCgBTZXR0aW5nIHVwIHN0cmVzcyBmdW5jdGlvbgBTb2x2aW5nIG1vZGVsOiAACmZpbmFsIGUgPSAlZiAlZCBpdGVyYXRpb25zICUuMmYgc2VjCgBEYW1waW5nAGRlZmF1bHRkaXN0ACBpbiAlcyAtIHNldHRpbmcgdG8gJS4wMmYKAGJhZCBlZGdlIGxlbiAiJXMiAFNldHRpbmcgaW5pdGlhbCBwb3NpdGlvbnMKAHN0YXJ0PSVzIG5vdCBzdXBwb3J0ZWQgd2l0aCBtb2RlPXNlbGYgLSBpZ25vcmVkCgBTZXR0aW5nIHVwIHNwcmluZyBtb2RlbDogACUuMmYgc2VjCgAKZmluYWwgZSA9ICVmACEAICVkJXMgaXRlcmF0aW9ucyAlLjJmIHNlYwoATWF4LiBpdGVyYXRpb25zICglZCkgcmVhY2hlZCBvbiBncmFwaCAlcwoAJXMgJS4zZgoAJS4zZiAATkRfaGVhcGluZGV4KHYpIDwgMABzdHVmZi5jAG5lYXRvX2VucXVldWUAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHM6IABzcGVjaWZpZWQgcm9vdCBub2RlICIlcyIgd2FzIG5vdCBmb3VuZC4AVXNpbmcgZGVmYXVsdCBjYWxjdWxhdGlvbiBmb3Igcm9vdCBub2RlCgByZXBvc2l0aW9uICVzCgAlcyA6ICVmICVmCgAlcyA6ICVmICVmICVmICVmCgAgIABHcmFwaCAlcyBoYXMgYXJyYXkgcGFja2luZyB3aXRoIHVzZXIgdmFsdWVzIGJ1dCBubyAic29ydHYiIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGxheW91dCAlcwoAZW5kICVzCgBpZHggPT0gc3oAbGF5b3V0LmMAZXhwYW5kQ2x1c3RlcgBpID09IGRlZwBnZXRFZGdlTGlzdABfZGdfJWQAZGVyaXZlIGdyYXBoICVzIG9mICVzCgBub2RlICIlcyIgaXMgY29udGFpbmVkIGluIHR3byBub24tY29tcGFyYWJsZSBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBfcG9ydF8lc18lc18lc18lbGQAX3BvcnRfJXNfKCVkKV8oJWQpXyVsZAAlbGYsJWxmLCVsZiwlbGYlYwBncmFwaCAlcywgY29vcmQgJXMsIGV4cGVjdGVkIGZvdXIgZG91YmxlcwoAc3BsaW5lcyBhbmQgY2x1c3RlciBlZGdlcyBub3Qgc3VwcG9ydGVkIC0gdXNpbmcgbGluZSBzZWdtZW50cwoAbWF4aXRlcgBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Ac2ZkcCBvbmx5IHN1cHBvcnRzIHN0YXJ0PXJhbmRvbQoASwByZXB1bHNpdmVmb3JjZQBsZXZlbHMAc21vb3RoaW5nAHF1YWR0cmVlAGJlYXV0aWZ5AG92ZXJsYXBfc2hyaW5rAHJvdGF0aW9uAGxhYmVsX3NjaGVtZQBsYWJlbF9zY2hlbWUgPSAlZCA+IDQgOiBpZ25vcmluZwoAZmFzdABhdmdfZGlzdABncmFwaF9kaXN0AHBvd2VyX2Rpc3QAc3ByaW5nAGRpbWVuAGRpbQBzcHJpbmdfZWxlY3RyaWNhbF9jb250cm9sOgoAICByZXB1bHNpdmUgYW5kIGF0dHJhY3RpdmUgZXhwb25lbnRzOiAlLjAzZiAlLjAzZgoAICByYW5kb20gc3RhcnQgJWQgc2VlZCAlZAoAICBLIDogJS4wM2YgQyA6ICUuMDNmCgAgIG1heCBsZXZlbHMgJWQgY29hcnNlbl9zY2hlbWUgJWQgY29hcnNlbl9ub2RlICVkCgAgIHF1YWR0cmVlIHNpemUgJWQgbWF4X2xldmVsICVkCgAgIEJhcm5lcy1IdXR0IGNvbnN0YW50ICUuMDNmIHRvbGVyYW5jZSAgJS4wM2YgbWF4aXRlciAlZAoAICBjb29saW5nICUuMDNmIHN0ZXAgc2l6ZSAgJS4wM2YgYWRhcHRpdmUgJWQKACAgYmVhdXRpZnlfbGVhdmVzICVkIG5vZGUgd2VpZ2h0cyAlZCByb3RhdGlvbiAlLjAzZgoAICBzbW9vdGhpbmcgJXMgb3ZlcmxhcCAlZCBpbml0aWFsX3NjYWxpbmcgJS4wM2YgZG9fc2hyaW5raW5nICVkCgAgIG9jdHJlZSBzY2hlbWUgJXMgbWV0aG9kICVzCgAgIGVkZ2VfbGFiZWxpbmdfc2NoZW1lICVkCgBTUFJJTkdfRUxFQ1RSSUNBTABTUFJJTkdfTUFYRU5UAFNUUkVTU19NQVhFTlQAU1RSRVNTX0FQUFJPWABTVFJFU1MAVU5JRk9STV9TVFJFU1MARlVMTF9TVFJFU1MATk9ORQBOT1JNQUwARkFTVABIWUJSSUQAU1RSRVNTX01BSk9SSVpBVElPTl9HUkFQSF9ESVNUAFNUUkVTU19NQUpPUklaQVRJT05fQVZHX0RJU1QAU1RSRVNTX01BSk9SSVpBVElPTl9QT1dFUl9ESVNUAFNQUklORwBUUklBTkdMRQBSTkcADSAgICAgICAgICAgICAgICBpdGVyID0gJWQsIHN0ZXAgPSAlZiBGbm9ybSA9ICVmIG56ID0gJWQgIEsgPSAlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAc3ByaW5nX2VsZWN0cmljYWxfZW1iZWRkaW5nX3Nsb3cAZG1lYW4gPSAlZiwgcmhvID0gJWYKAHNlbmQgcmFuZG9tIGNvb3JkaW5hdGVzCgBzY2FsaW5nIGZhY3RvciA9ICVmCgBRVUFEX1RSRUVfSFlCUklELCBzaXplIGxhcmdlciB0aGFuICVkLCBzd2l0Y2ggdG8gZmFzdCBxdWFkdHJlZQBjdHJsLT5vdmVybGFwPSVkCgAlZCAlZAoAdW5pZm9ybV9zdHJlc3MuYwBVbmlmb3JtU3RyZXNzU21vb3RoZXJfbmV3AFNwYXJzZU1hdHJpeF9pc19zeW1tZXRyaWMoQiwgRkFMU0UpAHVuaWZvcm1fc3RyZXNzAHxlZGdlbGFiZWx8AGxlbgBub3JtYWxpemUAb3ZlcmxhcABPdmVybGFwIHZhbHVlICIlcyIgdW5zdXBwb3J0ZWQgLSBpZ25vcmVkCgBVbnJlY29nbml6ZWQgb3ZlcmxhcCB2YWx1ZSAiJXMiIC0gdXNpbmcgZmFsc2UKAFZvcm9ub2kAb3ZlcmxhcDogJXMgdmFsdWUgJWQgc2NhbGluZyAlLjA0ZgoAb3ZlcmxhcF9zY2FsaW5nAHZvcm9ub2kAc2NhbGluZwB2cHNjAGlwc2VwAG9zY2FsZQBvbGQgc2NhbGluZwBzY2FsZXh5AHggYW5kIHkgc2NhbGluZwBvcnRobwBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAG9ydGhvX3l4AG9ydGhveHkAeHkgb3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob3l4AHl4IG9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhvAHBzZXVkby1vcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRob195eABwb3J0aG94eQB4eSBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG95eAB5eCBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwcmlzbQBBZGp1c3RpbmcgJXMgdXNpbmcgJXMKAFVuaGFuZGxlZCBhZGp1c3Qgb3B0aW9uICVzCgBOdW1iZXIgb2YgaXRlcmF0aW9ucyA9ICVkCgBOdW1iZXIgb2YgaW5jcmVhc2VzID0gJWQKAG92ZXJsYXAgWyVkXSA6ICVkCgB2b3JvX21hcmdpbgBzZXAAZXNlcABOb2RlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgAlZiwlZgBzY2FsZSA9ICglLjAzZiwlLjAzZikKAEVkZ2Ugc2VwYXJhdGlvbjogYWRkPSVkICglZiwlZikKAENhbGN1bGF0aW5nIGNpcmN1aXQgbW9kZWwAY29uanVnYXRlX2dyYWRpZW50OiB1bmV4cGVjdGVkIGxlbmd0aCAwIHZlY3RvcgoAQ2FsY3VsYXRpbmcgc3Vic2V0IG1vZGVsAGdyYXBoIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBpcyB1bmRlZmluZWQuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAENhbGN1bGF0aW5nIE1EUyBtb2RlbABDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRocwA6ICUuMmYgc2VjCgBTZXR0aW5nIGluaXRpYWwgcG9zaXRpb25zADogJS4yZiBzZWMAY2cAZGVsdGEgPD0gMHhGRkZGAGNvbnN0cmFpbnQuYwBta05Db25zdHJhaW50RwB2ZwBjb21wcmVzcyAlZyAKAHNjYWxlIGJ5ICVnLCVnIAoAYmVzdGNvc3QgPCBIVUdFX1ZBTABjb21wdXRlU2NhbGVYWQBHcmFwaHZpeiBidWlsdCB3aXRob3V0IGFueSB0cmlhbmd1bGF0aW9uIGxpYnJhcnkKAGRlbGF1bmF5X3RyaWFuZ3VsYXRpb246ICVzCgBkZWxhdW5heV90cmk6ICVzCgB0cnlpbmcgdG8gZGVsZXRlIGEgbm9uLWxpbmUKAAppbnRlcnNlY3Rpb24gYXQgJS4zZiAlLjNmCgBzZWcjJWQgOiAoJS4zZiwgJS4zZikgKCUuM2YsICUuM2YpCgByZW1vdmVfb3ZlcmxhcDogR3JhcGh2aXogbm90IGJ1aWx0IHdpdGggdHJpYW5ndWxhdGlvbiBsaWJyYXJ5CgBtYWtlQWRkUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgBtYWtlUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgB4IT1OVUxMAHNtYXJ0X2luaV94LmMASU1EU19naXZlbl9kaW0AaWxsLWNvbmRpdGlvbmVkAHJvb3QgPSAlcyBtYXggc3RlcHMgdG8gcm9vdCA9ICVkCgB0d29waTogdXNlIG9mIHdlaWdodD0wIGNyZWF0ZXMgZGlzY29ubmVjdGVkIGNvbXBvbmVudC4KAFJhbmsgc2VwYXJhdGlvbiA9IAAlLjAzbGYgAGFyZWEAaW5zZXQAJXMgY29vcmQgJS41ZyAlLjVnIGh0ICVmIHdpZHRoICVmCgAlLjAzZgByZWMgJWYgJWYgJWYgJWYKACVmIC0gJWYgJWYgJWYgJWYgPSAlZiAoJWYgJWYgJWYgJWYpCgB0cnlpbmcgdG8gYWRkIHRvIHJlY3QgeyVmICsvLSAlZiwgJWYgKy8tICVmfQoAdG90YWwgYWRkZWQgc28gZmFyID0gJWQKAGFkZGluZyAlZCBpdGVtcywgdG90YWwgYXJlYSA9ICVmLCB3ID0gJWYsIGFyZWEvdz0lZgoAY29tcG91bmRFZGdlczogY291bGQgbm90IGNvbnN0cnVjdCBvYnN0YWNsZXMgLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAY29tcG91bmRFZGdlczogbm9kZXMgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcGFjayB2YWx1ZSAlZCBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBzZXAgdmFsdWUgKCUuMDNmLCUuMDNmKSBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBjYyVzXyVkAGNjJXMrJWQAY19jbnQgPT0gMABjb21wLmMAZmluZENDb21wAGdyaWQoJWQsJWQpOiAlcwoAd2d0ID4gMABRdWFkVHJlZS5jAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9hY2N1bXVsYXRlAHF0Mi0+biA+IDAAcXQxLT5uID4gMCAmJiBxdDItPm4gPiAwAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9pbnRlcmFjdABkaXN0ID4gMAAhKHEtPmwpAFF1YWRUcmVlX2FkZF9pbnRlcm5hbABpaSA8IDE8PGRpbSAmJiBpaSA+PSAwAHEtPnF0c1tpaV0AcS0+biA9PSAxACEocS0+cXRzKQBxLT5sAHdpZHRoID4gMABRdWFkVHJlZV9uZXcAQS0+Zm9ybWF0ID09IEZPUk1BVF9DU1IAU3BhcnNlTWF0cml4LmMAU3BhcnNlTWF0cml4X3RyYW5zcG9zZQBBICYmIEIAU3BhcnNlTWF0cml4X2FkZABBLT5mb3JtYXQgPT0gQi0+Zm9ybWF0ICYmIEEtPmZvcm1hdCA9PSBGT1JNQVRfQ1NSAEEtPnR5cGUgPT0gQi0+dHlwZQBTcGFyc2VNYXRyaXhfaXNfc3ltbWV0cmljAEEtPmZvcm1hdCA9PSBGT1JNQVRfQ09PUkQAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9mb3JtYXQAbSA+IDAgJiYgbiA+IDAgJiYgbnogPj0gMABTcGFyc2VNYXRyaXhfZnJvbV9jb29yZGluYXRlX2FycmF5c19pbnRlcm5hbABBAGphW21hc2tbamFbal1dXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfc3VtX3JlcGVhdF9lbnRyaWVzAGlkIDwgbiooeW1heC15bWluKzEpAGphW21hc2tbaWRdXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfbXVsdGlwbHlfZGVuc2UyAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTABTcGFyc2VNYXRyaXhfbXVsdGlwbHlfdmVjdG9yAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTCB8fCBBLT50eXBlID09IE1BVFJJWF9UWVBFX0lOVEVHRVIAU3BhcnNlTWF0cml4X211bHRpcGx5X2RlbnNlMQBTcGFyc2VNYXRyaXhfbXVsdGlwbHkAamNbbWFza1tqYltrXV1dID09IGpiW2tdAFNwYXJzZU1hdHJpeF9tdWx0aXBseTMAamRbbWFza1tqY1trXV1dID09IGpjW2tdAFNwYXJzZU1hdHJpeF9jb29yZGluYXRlX2Zvcm1fYWRkX2VudHJpZXMAU3BhcnNlTWF0cml4X2RpdmlkZV9yb3dfYnlfZGVncmVlAG4gPiAxAGdlbmVyYWwuYwBpcmFuZABvbmVibG9jawBtaW5kaXN0AGFydGljdWxhdGlvbl9wb3MAcm9vdABQcmlvcml0eVF1ZXVlLmMAUHJpb3JpdHlRdWV1ZV9wdXNoAGdhaW4gPD0gcS0+bmdhaW4AU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkAcG9zdF9wcm9jZXNzLmMAaWRlYWxfZGlzdGFuY2VfbWF0cml4AGxlbiA+IDAAU3RyZXNzTWFqb3JpemF0aW9uU21vb3RoZXIyX25ldwBueiA+IDAAaWRlYWxfZGlzdF9zY2hlbWUgdmFsdWUgd3JvbmcAU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkgJiYgQS0+dHlwZSA9PSBNQVRSSVhfVFlQRV9SRUFMAFNwYXJzZVN0cmVzc01ham9yaXphdGlvblNtb290aGVyX25ldwBpZGlhZyA+PSAwAFN0cmVzc01ham9yaXphdGlvblNtb290aGVyX3Ntb290aAAoIWpjbikgJiYgKCF2YWwpAGdldF9lZGdlX2xhYmVsX21hdHJpeABUcmlhbmdsZVNtb290aGVyX25ldwBqZGlhZyA+PSAwAFNwcmluZ1Ntb290aGVyX25ldwAhZmxhZwBTcHJpbmdTbW9vdGhlcl9zbW9vdGgAbmVpZ2hiPSVkCgByb290ID0gJXMKAF9ibG9ja18lZABzLT5zeiA+IDAAYmxvY2t0cmVlLmMAcG9wAGFjdHVhbABub2RlbGlzdC5jAGluc2VydE5vZGVsaXN0AF9zcGFuXyVkAF9jbG9uZV8lZABpcABkZWdsaXN0LmMAcmVtb3ZlRGVnbGlzdABFcnJvcgBXYXJuaW5nACVzOiAAdXNlcm91dDogY291bGQgbm90IGFsbG9jYXRlIG1lbW9yeQoAX0FHX3N0cmRhdGEAX0FHX2RhdGFkaWN0AGFnZGljdG9mOiB1bmtub3duIGtpbmQgJWQKACVjJWxkAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUAYWdkZWxldGUgb24gd3JvbmcgZ3JhcGgAX0FHX3BlbmRpbmcAYWdyZWNvcmRfY2FsbGJhY2sgb2YgYSBiYWQgb2JqZWN0AHBlbmQgZGljdG9mIGEgYmFkIG9iamVjdABtb3ZlIHRvIGZyb250IGxvY2sgaW5jb25zaXN0ZW5jeQBcXABmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLW5vIGFjdGlvbiBmb3VuZAAlcwoAZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1lbmQgb2YgYnVmZmVyIG1pc3NlZABmYXRhbCBlcnJvciAtIHNjYW5uZXIgaW5wdXQgYnVmZmVyIG92ZXJmbG93AG91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiBhYWdfZ2V0X25leHRfYnVmZmVyKCkAaW5wdXQAc3ludGF4IGFtYmlndWl0eSAtIGJhZGx5IGRlbGltaXRlZCBudW1iZXIgJwAnIGluIGxpbmUgJWQgb2YgACBzcGxpdHMgaW50byB0d28gdG9rZW5zCgAlcwBsaW5lACVkICUxWyJdJW4Ab3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19jcmVhdGVfYnVmZmVyKCkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ2Vuc3VyZV9idWZmZXJfc3RhY2soKQA6IAAgaW4gbGluZSAlZAAgbmVhciAnACBzY2FubmluZyBhIHF1b3RlZCBzdHJpbmcgKG1pc3NpbmcgZW5kcXVvdGU/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzoiACBzY2FubmluZyBhIEhUTUwgc3RyaW5nIChtaXNzaW5nICc+Jz8gYmFkIG5lc3Rpbmc/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzo8ACBzY2FubmluZyBhIC8qLi4uKi8gY29tbWVudCAobWlzc2luZyAnKi8/IGxvbmdlciB0aGFuICVkPykAZmxleCBzY2FubmVyIHB1c2gtYmFjayBvdmVyZmxvdwAiIgBzdHJpY3QAbGluZWxlbmd0aAA7CgAgW2tleT0AXQAgWwAsCgA9AF8lbGRfU1VTUEVDVABkaQBzdHJpY3QgAHsKAF07CgAS7u4UCQPu/u7u7gHu7u4B7u4K/u4TGRXuEwHu7u7uCxHu7u7u7u7u7u4B7u4WCQEBHQ8X7u4aFxvu7hzu7u7uARn77u7uAe4Q7u4e7u7u7gACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXEQICAgICAgICAgICAgISEAITAgIWAgICAgICAgICAgICAgICAgICAgICAgICAgIUAhUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4CDwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNCwMEBQ8HAwwNBgwNDgwNGhUWAAEAAwcOBg8IDA0SEyoQEQkQLzARMhcTDRQSLhIUQRMyEyxAKkIZLEJGIgwNDiMPCRARChARyRARLUVG/AEG9g8H9iQCEBEvMDZNTigmOzwqNjE5PT8vOkDYRDA+JTdDNUsrOElMAAMJAAAAAQ4CCwwIIyQlNjs9AA0QEhsWHBInMiIXMx48Bgc1BQ8RFBgpABMpAAAAAAA3FSgdHgAhJjQfMD4ZLAAbACAaKgArOi4vADE4OS0AAgIBAAMDAQABAAEBAQACAQEAAgIDAQEAAAUAAQMBAwUDAQEBAQIAAQAEAgACAQEDAgEAAwIBAAEBAAEBAQMAGBkZGRobHBwdHR4eHx8gICEhIiIjJCQmJyUlKCgpKSkqKisrKywsLS0uLy8wMTEyMzQ2NTc3Nzg4ODk5Ojru7v/u7u7u7u4fIO4A7+7u7gzu7u4IDe7u7vju7u7u7u717v8DCAQhBQsSEycUFRYpMkEXGBkaLDM0QkdIG0ocHS4eTx8ga2V5AGF0dHJpYnV0ZSBtYWNyb3Mgbm90IGltcGxlbWVudGVkACVzOiVzAENvdWxkIG5vdCBvcGVuICIlcyIgZm9yIHdyaXRpbmcgOiAlcwoATm8gbGlieiBzdXBwb3J0LgoALiVkAG5vbmFtZS5ndgBndndyaXRlX25vX3ogcHJvYmxlbSAlZAoAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQoATm8gbGlieiBzdXBwb3J0CgBndnByaW50ZjogJXMKAC05OTk5OTk5OTk5OTk5OTkuOTkAZ3JhcGh2aXoAMi40MC4xADIwMTYxMjI1LjAzMDQAcmVuZGVyAGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwAlZCAlZCAlZCAlZABMYXlvdXQgd2FzIG5vdCBkb25lCgBmYWlsdXJlIG1hbGxvYydpbmcgZm9yIHJlc3VsdCBzdHJpbmcAZ2M6IE91dCBvZiBtZW1vcnkKAF9jY18Ab3JpZwBvcABjY29tcHMuYwBtYXBDbHVzdABjY2dyYXBoaW5mbwBjY2dub2RlaW5mbwAoJTRsZCkgJTdsZCBub2RlcyAlN2xkIGVkZ2VzCgAgICAgICAgJTdkIG5vZGVzICU3ZCBlZGdlcyAlN2xkIGNvbXBvbmVudHMgJXMKAGRnAEVycm9yOiBub2RlICIlcyIgYmVsb25ncyB0byB0d28gbm9uLW5lc3RlZCBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBzb3J0dgByb3cgbWFqb3IAY29sdW1uIG1ham9yAGFycmF5IHBhY2tpbmc6ICVzICVkIHJvd3MgJWQgY29sdW1ucwoAYmJbJXNdICUuNWcgJS41ZyAlLjVnICUuNWcKAHN0ZXAgc2l6ZSA9ICVkCgBwb3NbJWRdICVkICVkCgBjYyAoJWQgY2VsbHMpIGF0ICglZCwlZCkgKCVkLCVkKQoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpCgAlcyBuby4gY2VsbHMgJWQgVyAlZCBIICVkCgAgICVkICVkIGNlbGwKAGxpYnBhY2s6IGRpc2MgPSAlZiAoIDwgMCkKAFBhY2tpbmc6IGNvbXB1dGUgZ3JpZCBzaXplCgBhICVmIGIgJWYgYyAlZiBkICVmIHIgJWYKAHJvb3QgJWQgKCVmKSAlZCAoJWYpCgAgcjEgJWYgcjIgJWYKAHBpbmZvAHBhY2suYwBnZXRQYWNrSW5mbwAgIG1hcmdpbiAlZAoAcGFja21vZGUAcGFyc2VQYWNrTW9kZUluZm8AYXJyYXkAYXNwZWN0ACVmAHBhY2sgaW5mbzoKACAgbW9kZSAgICVzCgAgIGFzcGVjdCAlZgoAICBzaXplICAgJWQKACAgZmxhZ3MgICVkCgB1bmRlZmluZWQAcGFjawBBcnJvdyB0eXBlICIlcyIgdW5rbm93biAtIGlnbm9yaW5nCgBub3JtYWwAY3JvdwB0ZWUAZG90AGludgB2ZWUAcGVuAG1wdHkAY3VydmUAaWN1cnZlAGwAaGFsZgBpbnZlbXB0eQBfYmFja2dyb3VuZABfZHJhd18AQ291bGQgbm90IHBhcnNlICJfYmFja2dyb3VuZCIgYXR0cmlidXRlIGluIGdyYXBoICVzCgAgICIlcyIKAG5vIG1lbW9yeSBmcm9tIHptYWxsb2MoKQoAb2JqAGVtaXQuYwBwb3Bfb2JqX3N0YXRlAGNsdXN0ACVsZABwYWdlJWQsJWRfAFRvdGFsIHNpemUgPiAxIGluICIlcyIgY29sb3Igc3BlYyAASWxsZWdhbCBsZW5ndGggdmFsdWUgaW4gIiVzIiBjb2xvciBhdHRyaWJ1dGUgAGxucmNvbG9yc2NoZW1lAGVtaXRfZWRnZV9sYWJlbAAlcy0lcwBmb3J3YXJkAGJhY2sAIC0+IAAgLS0gAGluIGVkZ2UgJXMlcyVzCgBsYWJlbGFsaWduZWQAZWRnZWhyZWYAZWRnZVVSTABsYWJlbGhyZWYAbGFiZWxVUkwAdGFpbGhyZWYAdGFpbFVSTABoZWFkaHJlZgBoZWFkVVJMAGVkZ2V0YXJnZXQAbGFiZWx0YXJnZXQAdGFpbHRhcmdldABoZWFkdGFyZ2V0AGVkZ2V0b29sdGlwAGxhYmVsdG9vbHRpcAB0YWlsdG9vbHRpcABoZWFkdG9vbHRpcAABbmVzdGluZyBub3QgYWxsb3dlZCBpbiBzdHlsZTogJXMKAHVubWF0Y2hlZCAnKScgaW4gc3R5bGU6ICVzCgB0cnVuY2F0aW5nIHN0eWxlICclcycKAHVubWF0Y2hlZCAnKCcgaW4gc3R5bGU6ICVzCgBhbGwAaW4gY2x1c3RlciAlcwoATW9yZSB0aGFuIDIgY29sb3JzIHNwZWNpZmllZCBmb3IgYSBncmFkaWVudCAtIGlnbm9yaW5nIHJlbWFpbmluZwoAZ3JhZGllbnQgcGVuIGNvbG9ycyBub3QgeWV0IHN1cHBvcnRlZC4KAEltYWdlcyB1bnN1cHBvcnRlZCBpbiAiYmFja2dyb3VuZCIgYXR0cmlidXRlCgBsYXllcnMgbm90IHN1cHBvcnRlZCBpbiAlcyBvdXRwdXQKAExheW91dCB3YXMgbm90IGRvbmUuICBNaXNzaW5nIGxheW91dCBwbHVnaW5zPyAKAGd2UmVuZGVySm9icyAlczogJS4yZiBzZWNzLgoAbGF5b3V0IHdhcyBub3QgZG9uZQoAcmVuZGVyZXIgZm9yICVzIGlzIHVuYXZhaWxhYmxlCgBwYWdlZGlyPSVzIGlnbm9yZWQKAHZpZXdwb3J0ACVsZiwlbGYsJWxmLCclW14nXScAJWxmLCVsZiwlbGYsJVteLF0lcwAlbGYsJWxmLCVsZiwlbGYsJWxmAG91dHB1dG9yZGVyAG9kZXNmaXJzdABkZ2VzZmlyc3QAbGF5ZXJzAGxheWVyc2VsZWN0AFRoZSBsYXllcnNlbGVjdCBhdHRyaWJ1dGUgIiVzIiBkb2VzIG5vdCBtYXRjaCBhbnkgbGF5ZXIgc3BlY2lmZWQgYnkgdGhlIGxheWVycyBhdHRyaWJ1dGUgLSBpZ25vcmVkLgoAbGF5ZXJzZXAAOgkgAGxheWVybGlzdHNlcAAsAFRoZSBjaGFyYWN0ZXIgJyVjJyBhcHBlYXJzIGluIGJvdGggdGhlIGxheWVyc2VwIGFuZCBsYXllcmxpc3RzZXAgYXR0cmlidXRlcyAtIGxheWVybGlzdHNlcCBpZ25vcmVkLgoAcGFkAEJMAHBhZ2VkaXIAc29saWQAAHNldGxpbmV3aWR0aAAxAABzcGwtPnNpemUgPiAwAGluaXRfc3BsaW5lc19iYgBiei5zaXplID4gMABiZXppZXJfYmIAYnouc2l6ZSAlIDMgPT0gMQAlbGYAZm9udHBhdGgARE9URk9OVFBBVEgAR0RGT05UUEFUSABpbWFnZXBhdGgAcXVhbnR1bQByYW5rZGlyAExSAEJUAFJMAG5vZGVzZXAAcmFua3NlcABlcXVhbGx5AHNob3dib3hlcwBmb250bmFtZXMAc2l6ZQBwYWdlAGNlbnRlcgByb3RhdGUAb3JpZW50YXRpb24AbGFuZHNjYXBlAGNsdXN0ZXJyYW5rAGNvbmNlbnRyYXRlAGRwaQByZXNvbHV0aW9uAG9yZGVyaW5nAGZpbGxjb2xvcgBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBub2p1c3RpZnkAbGF5ZXIAZ3JvdXAAY29tbWVudAB2ZXJ0aWNlcwB6AHdlaWdodABsYWJlbGZsb2F0AGRpcgBhcnJvd2hlYWQAYXJyb3d0YWlsAGhlYWRsYWJlbAB0YWlsbGFiZWwAbGFiZWxmb250c2l6ZQBsYWJlbGZvbnRuYW1lAGxhYmVsZm9udGNvbG9yAGxhYmVsZGlzdGFuY2UAbGFiZWxhbmdsZQBtaW5sZW4AZGVjb3JhdGUAYXJyb3dzaXplAGNvbnN0cmFpbnQAdGFpbGNsaXAAaGVhZGNsaXAAbGFiZWxqdXN0AGxvY2FsAGdsb2JhbAAlbGYsJWxmJWMAJWxmJWMAcmF0aW8AYXV0bwBjb21wcmVzcwBleHBhbmQAZmlsbABnZABwcwBzdmcAY2hhcnNldAB1dGYtOABsYXRpbi0xAGxhdGluMQBsMQBJU08tODg1OS0xAElTT184ODU5LTEASVNPODg1OS0xAElTTy1JUi0xMDAAYmlnLTUAYmlnNQB1dGY4AFVuc3VwcG9ydGVkIGNoYXJzZXQgIiVzIiAtIGFzc3VtaW5nIHV0Zi04CgBVbnN1cHBvcnRlZCBjaGFyc2V0IHZhbHVlICVkCgBVVEYtOABCSUctNQBpbiBsYWJlbCBvZiBncmFwaCAlcwoAaW4gbGFiZWwgb2Ygbm9kZSAlcwoAaW4gbGFiZWwgb2YgZWRnZSAlcyAlcyAlcwoAa2luZCA9PSBMVF9OT05FAGxhYmVscy5jAG1ha2VfbGFiZWwAXEwAXEcAXEUAXEgAXFQAJiMxMzsAJiMxMDsAJnF1b3Q7ACYjMTYwOwAmYW1wOwAmZ3Q7ACYjMzk7ACYjNDU7ACZsdDsAJXMgJWQgbm9kZXMgJWQgZWRnZXMgbWF4aXRlcj0lZCBiYWxhbmNlPSVkCgBuZXR3b3JrIHNpbXBsZXg6IAAlZCAAJXMlZCBub2RlcyAlZCBlZGdlcyAlZCBpdGVyICUuMmYgc2VjCgB1cGRhdGU6IG1pc21hdGNoZWQgbGNhIGluIHRyZWV1cGRhdGVzCgBUcmVlX2VkZ2Uuc2l6ZSA9PSBOX25vZGVzIC0gMQBucy5jAGZlYXNpYmxlX3RyZWUAIVRSRUVfRURHRShlKQBtZXJnZV90cmVlcwAocjAtPmhlYXBfaW5kZXggPiAtMSkgfHwgKHIxLT5oZWFwX2luZGV4ID4gLTEpAFNUc2V0VW5pb24Aci0+aGVhcF9pbmRleCA+PSAwAGFkZF90cmVlX2VkZ2U6IG1pc3NpbmcgdHJlZSBlZGdlCgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBvdXRlZGdlIGxpc3QKAGFkZF90cmVlX2VkZ2U6IGVtcHR5IGluZWRnZSBsaXN0CgB0cm91YmxlIGluIGluaXRfcmFuawoACSVzICVkCgBzZWFyY2hzaXplAGdyYXBoIAAgAG5vZGUgAHN0b3AKACUuNWcAcG9zAHJlY3RzAHhscABscABoZWFkX2xwAHRhaWxfbHAAbHdpZHRoAGxoZWlnaHQAYmIAJS41ZywlLjVnLCUuNWcALCUuNWcAJS41ZywlLjVnAHNhbXBsZXBvaW50cwAlLjVnICUuNWcAcywlLjVnLCUuNWcgAGUsJS41ZywlLjVnIAAlLjVnLCUuNWcsJS41ZywlLjVnACUuMmYAJS41ZywlLjVnLCUuNWcsJS41ZyAAL3BhdGhib3ggewogICAgL1ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgAvcGF0aGJveCB7CiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL1ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIC95IGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveCBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCiB9IGRlZgovZGJnc3RhcnQgeyBnc2F2ZSAlLjVnICUuNWcgdHJhbnNsYXRlIH0gZGVmCi9hcnJvd2xlbmd0aCAxMCBkZWYKL2Fycm93d2lkdGggYXJyb3dsZW5ndGggMiBkaXYgZGVmCi9hcnJvd2hlYWQgewogICAgZ3NhdmUKICAgIHJvdGF0ZQogICAgY3VycmVudHBvaW50CiAgICBuZXdwYXRoCiAgICBtb3ZldG8KICAgIGFycm93bGVuZ3RoIGFycm93d2lkdGggMiBkaXYgcmxpbmV0bwogICAgMCBhcnJvd3dpZHRoIG5lZyBybGluZXRvCiAgICBjbG9zZXBhdGggZmlsbAogICAgZ3Jlc3RvcmUKfSBiaW5kIGRlZgovbWFrZWFycm93IHsKICAgIGN1cnJlbnRwb2ludCBleGNoIHBvcCBzdWIgZXhjaCBjdXJyZW50cG9pbnQgcG9wIHN1YiBhdGFuCiAgICBhcnJvd2hlYWQKfSBiaW5kIGRlZgovcG9pbnQgeyAgICBuZXdwYXRoICAgIDIgMCAzNjAgYXJjIGZpbGx9IGRlZi9tYWtldmVjIHsKICAgIC9ZIGV4Y2ggZGVmCiAgICAvWCBleGNoIGRlZgogICAgL3kgZXhjaCBkZWYKICAgIC94IGV4Y2ggZGVmCiAgICBuZXdwYXRoIHggeSBtb3ZldG8KICAgIFggWSBsaW5ldG8gc3Ryb2tlCiAgICBYIFkgbW92ZXRvCiAgICB4IHkgbWFrZWFycm93Cn0gZGVmCgBsb3N0ICVzICVzIGVkZ2UKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB0YWlsIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggaGVhZCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIHhsYWJlbCAlcwBmb3JjZWxhYmVscwAlZCBvdXQgb2YgJWQgbGFiZWxzIHBvc2l0aW9uZWQuCgAlZCBvdXQgb2YgJWQgZXh0ZXJpb3IgbGFiZWxzIHBvc2l0aW9uZWQuCgAlZCBvYmpzICVkIHhsYWJlbHMgZm9yY2U9JWQgYmI9KCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpCgBvYmplY3RzCgAgWyVkXSAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXAgIiVzIgoAeGxhYmVscwoAIFslZF0gJXAgc2V0ICVkICglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKSAlcwoAc2hhcGVmaWxlIG5vdCBzZXQgb3Igbm90IGZvdW5kIGZvciBlcHNmIG5vZGUgJXMKAGNvdWxkbid0IG9wZW4gZXBzZiBmaWxlICVzCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkAHJlYWQAQm91bmRpbmdCb3ggbm90IGZvdW5kIGluIGVwc2YgZmlsZSAlcwoAY2FuJ3QgZmluZCBsaWJyYXJ5IGZpbGUgJXMKAGNhbid0IG9wZW4gbGlicmFyeSBmaWxlICVzCgBFT0YAQkVHSU4ARU5EAFRSQUlMRVIAL3VzZXJfc2hhcGVfJWQgewoAJSVCZWdpbkRvY3VtZW50OgoAJSVFbmREb2N1bWVudAoAfSBiaW5kIGRlZgoAVVRGLTggaW5wdXQgdXNlcyBub24tTGF0aW4xIGNoYXJhY3RlcnMgd2hpY2ggY2Fubm90IGJlIGhhbmRsZWQgYnkgdGhpcyBQb3N0U2NyaXB0IGRyaXZlcgoAY2Fubm90IHJlLWFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXNpbml0OiBjYW5ub3QgYWxsb2NhdGUgcHMKAHJvdXRlc3BsaW5lczogJWQgZWRnZXMsICVkIGJveGVzICUuMmYgc2VjCgBpbiByb3V0ZXNwbGluZXMsIGNhbm5vdCBmaW5kIE5PUk1BTCBlZGdlCgBpbiByb3V0ZXNwbGluZXMsIGlsbGVnYWwgdmFsdWVzIG9mIHByZXYgJWQgYW5kIG5leHQgJWQsIGxpbmUgJWQKAGluIHJvdXRlc3BsaW5lcywgZWRnZSBpcyBhIGxvb3AgYXQgJXMKAGluIHJvdXRlc3BsaW5lcywgUHNob3J0ZXN0cGF0aCBmYWlsZWQKAGluIHJvdXRlc3BsaW5lcywgUHJvdXRlc3BsaW5lIGZhaWxlZAoAVW5hYmxlIHRvIHJlY2xhaW0gYm94IHNwYWNlIGluIHNwbGluZSByb3V0aW5nIGZvciBlZGdlICIlcyIgLT4gIiVzIi4gU29tZXRoaW5nIGlzIHByb2JhYmx5IHNlcmlvdXNseSB3cm9uZy4KAGluIGNoZWNrcGF0aCwgYm94IDAgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGluIGNoZWNrcGF0aCwgYm94ICVkIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveGVzICVkIGFuZCAlZCBkb24ndCB0b3VjaAoAaW4gY2hlY2twYXRoLCBzdGFydCBwb3J0IG5vdCBpbiBmaXJzdCBib3gKAGluIGNoZWNrcGF0aCwgZW5kIHBvcnQgbm90IGluIGxhc3QgYm94CgAlZCBib3hlczoKACVkICglLjVnLCAlLjVnKSwgKCUuNWcsICUuNWcpCgBjb25zdHJhaW5lZABub3QgY29uc3RyYWluZWQAc3RhcnQgcG9ydDogKCUuNWcsICUuNWcpLCB0YW5nZW50IGFuZ2xlOiAlLjVnLCAlcwoAZW5kIHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAHNpZGVzID09IDQAc2hhcGVzLmMAcm91bmRfY29ybmVycwBiYWQgbGFiZWwgZm9ybWF0ICVzCgBcTgBtYXJnaW4AJWxmLCVsZgByZWd1bGFyAGN1c3RvbQBzaGFwZWZpbGUAPG5pbD4ATm8gb3IgaW1wcm9wZXIgc2hhcGVmaWxlPSIlcyIgZm9yIG5vZGUgIiVzIgoATm8gb3IgaW1wcm9wZXIgaW1hZ2U9IiVzIiBmb3Igbm9kZSAiJXMiCgBsYWJlbGxvYwBub2RlICclcycsIGdyYXBoICclcycgc2l6ZSB0b28gc21hbGwgZm9yIGxhYmVsCgBlcHNmAHVzaW5nICVzIGZvciB1bmtub3duIHNoYXBlICVzCgBwb2x5Z29uAG92YWwAY2lyY2xlAHBvaW50AGVnZwB0cmlhbmdsZQBwbGFpbnRleHQAcGxhaW4AZGlhbW9uZAB0cmFwZXppdW0AcGFyYWxsZWxvZ3JhbQBob3VzZQBwZW50YWdvbgBoZXhhZ29uAHNlcHRhZ29uAG9jdGFnb24Abm90ZQB0YWIAZm9sZGVyAGJveDNkAGNvbXBvbmVudABjeWxpbmRlcgByZWN0AHJlY3RhbmdsZQBzcXVhcmUAZG91YmxlY2lyY2xlAGRvdWJsZW9jdGFnb24AdHJpcGxlb2N0YWdvbgBpbnZ0cmlhbmdsZQBpbnZ0cmFwZXppdW0AaW52aG91c2UAdW5kZXJsaW5lAE1kaWFtb25kAE1zcXVhcmUATWNpcmNsZQBwcm9tb3RlcgBjZHMAdGVybWluYXRvcgB1dHIAaW5zdWxhdG9yAHJpYm9zaXRlAHJuYXN0YWIAcHJvdGVhc2VzaXRlAHByb3RlaW5zdGFiAHByaW1lcnNpdGUAcmVzdHJpY3Rpb25zaXRlAGZpdmVwb3ZlcmhhbmcAdGhyZWVwb3ZlcmhhbmcAbm92ZXJoYW5nAGFzc2VtYmx5AHNpZ25hdHVyZQBycHJvbW90ZXIAbGFycm93AHJhcnJvdwBscHJvbW90ZXIAcmVjb3JkAE1yZWNvcmQAc3RhcgAjODA4MDgwACNmY2ZjZmMAIzMwMzAzMAAjZThlOGU4ACNlMGUwZTAAI2YwZjBmMAAjMTAxMDEwACNmOGY4ZjgAaW4gbm9kZSAlcwoAcm91bmRlZABkaWFnb25hbHMAcmFkaWFsAHN0cmlwZWQAd2VkZ2VkAF8Abm9kZSAlcywgcG9ydCAlcywgdW5yZWNvZ25pemVkIGNvbXBhc3MgcG9pbnQgJyVzJyAtIGlnbm9yZWQKAG5vZGUgJXMsIHBvcnQgJXMgdW5yZWNvZ25pemVkCgAlLjVnICUuNWcgdHJhbnNsYXRlIG5ld3BhdGggdXNlcl9zaGFwZV8lZAoAaW52aXMAAGZpbGxlZAAAcwBlAHcAc3BsaW5lcy5jAGJlZ2lucGF0aABQLT5lbmQudGhldGEgPCAyICogTV9QSQBlbmRwYXRoAG1ha2VTZWxmRWRnZQBnZXRzcGxpbmVwb2ludHM6IG5vIHNwbGluZSBwb2ludHMgYXZhaWxhYmxlIGZvciBlZGdlICglcywlcykKAHBvbHlsaW5lTWlkcG9pbnQAc3Bhbi0+Zm9udAB0ZXh0c3Bhbi5jAHRleHRzcGFuX3NpemUAZm9udC0+bmFtZQBmb250bmFtZTogIiVzIiByZXNvbHZlZCB0bzogJXMKAGZvbnRuYW1lOiB1bmFibGUgdG8gcmVzb2x2ZSAiJXMiCgBjb3VyAGFyaWFsAGhlbHZldGljYQBbaW50ZXJuYWwgdGltZXNdAFtpbnRlcm5hbCBjb3VyaWVyXQBbaW50ZXJuYWwgYXJpYWxdAEF2YW50R2FyZGUtQm9vawBVUlcgR290aGljIEwAYm9vawBzYW5zLVNlcmlmAEF2YW50R2FyZGUtQm9va09ibGlxdWUAb2JsaXF1ZQBpdGFsaWMAQXZhbnRHYXJkZS1EZW1pAGRlbWkAQXZhbnRHYXJkZS1EZW1pT2JsaXF1ZQBCb29rbWFuLURlbWkAVVJXIEJvb2ttYW4gTABzZXJpZgBCb29rbWFuLURlbWlJdGFsaWMAQm9va21hbi1MaWdodABsaWdodABCb29rbWFuLUxpZ2h0SXRhbGljAENvdXJpZXIAbW9ub3NwYWNlAENvdXJpZXItQm9sZABDb3VyaWVyLUJvbGRPYmxpcXVlAENvdXJpZXItT2JsaXF1ZQBIZWx2ZXRpY2EASGVsdmV0aWNhLUJvbGQASGVsdmV0aWNhLUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3cAY29uZGVuc2VkAEhlbHZldGljYS1OYXJyb3ctQm9sZABIZWx2ZXRpY2EtTmFycm93LUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3ctT2JsaXF1ZQBIZWx2ZXRpY2EtT2JsaXF1ZQBOZXdDZW50dXJ5U2NobGJrLUJvbGQAQ2VudHVyeSBTY2hvb2xib29rIEwATmV3Q2VudHVyeVNjaGxiay1Cb2xkSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstUm9tYW4Acm9tYW4AUGFsYXRpbm8tQm9sZABQYWxhdGlubyBMaW5vdHlwZQBQYWxhdGluby1Cb2xkSXRhbGljAFBhbGF0aW5vLUl0YWxpYwBQYWxhdGluby1Sb21hbgBTeW1ib2wAZmFudGFzeQBUaW1lcy1Cb2xkAFRpbWVzAFRpbWVzLUJvbGRJdGFsaWMAVGltZXMtSXRhbGljAFphcGZDaGFuY2VyeS1NZWRpdW1JdGFsaWMAVVJXIENoYW5jZXJ5IEwAbWVkaXVtAFphcGZEaW5nYmF0cwBEaW5nYmF0cwBpbnB1dHNjYWxlAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAY2x1c3RlciBjeWNsZSAlcyAtLSAlcyBub3Qgc3VwcG9ydGVkCgB0YWlsIGNsdXN0ZXIgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBjbHVzdGVyICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHRhaWwgbm9kZSAlcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBoZWFkIG5vZGUgJXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAX18AbGFiZWwAc2hhcGUAYm94AFR3byBjbHVzdGVycyBuYW1lZCAlcyAtIHRoZSBzZWNvbmQgd2lsbCBiZSBpZ25vcmVkCgBtYXBOAEFFbGlnAEFhY3V0ZQBBY2lyYwBBZ3JhdmUAQWxwaGEAQXJpbmcAQXRpbGRlAEF1bWwAQmV0YQBDY2VkaWwAQ2hpAERhZ2dlcgBEZWx0YQBFVEgARWFjdXRlAEVjaXJjAEVncmF2ZQBFcHNpbG9uAEV0YQBFdW1sAEdhbW1hAElhY3V0ZQBJY2lyYwBJZ3JhdmUASW90YQBJdW1sAEthcHBhAExhbWJkYQBNdQBOdGlsZGUATnUAT0VsaWcAT2FjdXRlAE9jaXJjAE9ncmF2ZQBPbWVnYQBPbWljcm9uAE9zbGFzaABPdGlsZGUAT3VtbABQaGkAUGkAUHJpbWUAUHNpAFJobwBTY2Fyb24AU2lnbWEAVEhPUk4AVGF1AFRoZXRhAFVhY3V0ZQBVY2lyYwBVZ3JhdmUAVXBzaWxvbgBVdW1sAFhpAFlhY3V0ZQBZdW1sAFpldGEAYWFjdXRlAGFjaXJjAGFjdXRlAGFlbGlnAGFncmF2ZQBhbGVmc3ltAGFscGhhAGFtcABhbmQAYW5nAGFyaW5nAGFzeW1wAGF0aWxkZQBhdW1sAGJkcXVvAGJldGEAYnJ2YmFyAGJ1bGwAY2FwAGNjZWRpbABjZWRpbABjZW50AGNoaQBjaXJjAGNsdWJzAGNvbmcAY29weQBjcmFycgBjdXAAY3VycmVuAGRBcnIAZGFnZ2VyAGRhcnIAZGVnAGRlbHRhAGRpYW1zAGRpdmlkZQBlYWN1dGUAZWNpcmMAZWdyYXZlAGVtcHR5AGVtc3AAZW5zcABlcHNpbG9uAGVxdWl2AGV0YQBldGgAZXVtbABldXJvAGV4aXN0AGZub2YAZm9yYWxsAGZyYWMxMgBmcmFjMTQAZnJhYzM0AGZyYXNsAGdhbW1hAGdlAGd0AGhBcnIAaGFycgBoZWFydHMAaGVsbGlwAGlhY3V0ZQBpY2lyYwBpZXhjbABpZ3JhdmUAaW1hZ2UAaW5maW4AaW50AGlvdGEAaXF1ZXN0AGlzaW4AaXVtbABrYXBwYQBsQXJyAGxhbWJkYQBsYW5nAGxhcXVvAGxhcnIAbGNlaWwAbGRxdW8AbGUAbGZsb29yAGxvd2FzdABsb3oAbHJtAGxzYXF1bwBsc3F1bwBsdABtYWNyAG1kYXNoAG1pY3JvAG1pZGRvdABtdQBuYWJsYQBuYnNwAG5kYXNoAG5lAG5pAG5vdABub3RpbgBuc3ViAG50aWxkZQBudQBvYWN1dGUAb2NpcmMAb2VsaWcAb2dyYXZlAG9saW5lAG9tZWdhAG9taWNyb24Ab3BsdXMAb3IAb3JkZgBvcmRtAG9zbGFzaABvdGlsZGUAb3RpbWVzAG91bWwAcGFyYQBwYXJ0AHBlcm1pbABwZXJwAHBoaQBwaQBwaXYAcGx1c21uAHBvdW5kAHByaW1lAHByb2QAcHJvcABwc2kAcXVvdAByQXJyAHJhZGljAHJhbmcAcmFxdW8AcmFycgByY2VpbAByZHF1bwByZWFsAHJlZwByZmxvb3IAcmhvAHJsbQByc2FxdW8AcnNxdW8Ac2JxdW8Ac2Nhcm9uAHNkb3QAc2VjdABzaHkAc2lnbWEAc2lnbWFmAHNpbQBzcGFkZXMAc3ViAHN1YmUAc3VtAHN1cABzdXAxAHN1cDIAc3VwMwBzdXBlAHN6bGlnAHRhdQB0aGVyZTQAdGhldGEAdGhldGFzeW0AdGhpbnNwAHRob3JuAHRpbGRlAHRpbWVzAHRyYWRlAHVBcnIAdWFjdXRlAHVhcnIAdWNpcmMAdWdyYXZlAHVtbAB1cHNpaAB1cHNpbG9uAHV1bWwAd2VpZXJwAHhpAHlhY3V0ZQB5ZW4AeXVtbAB6ZXRhAHp3agB6d25qAFVURjggY29kZXMgPiA0IGJ5dGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCAoZ3JhcGggJXMpIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBJbnZhbGlkICVkLWJ5dGUgVVRGOCBmb3VuZCBpbiBpbnB1dCBvZiBncmFwaCAlcyAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoAYnouc2l6ZQBvdmVybGFwX2JlemllcgB1cnZlZABvbXBvdW5kAGFsc2UAaW5lAG9uZQBvAHJ0aG8Ab2x5bGluZQBwbGluZQBydWUAZXMAVW5rbm93biAic3BsaW5lcyIgdmFsdWU6ICIlcyIgLSBpZ25vcmVkCgBzcGxpbmVzAG9kYgBPcnRob2dvbmFsIGVkZ2VzIGRvIG5vdCBjdXJyZW50bHkgaGFuZGxlIGVkZ2UgbGFiZWxzLiBUcnkgdXNpbmcgeGxhYmVscy4KAG9ydGhvICVzICVzCgBjaGFuaQBvcnRoby5jAGNoYW5TZWFyY2gAY3AAJSUhUFMtQWRvYmUtMi4wCiUlJSVCb3VuZGluZ0JveDogKGF0ZW5kKQovcG9pbnQgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICBuZXdwYXRoCiAgWCBZIDMgMCAzNjAgYXJjIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCi9ub2RlIHsKIC91IGV4Y2ggZGVmCiAvciBleGNoIGRlZgogL2QgZXhjaCBkZWYKIC9sIGV4Y2ggZGVmCiBuZXdwYXRoIGwgZCBtb3ZldG8KIHIgZCBsaW5ldG8gciB1IGxpbmV0byBsIHUgbGluZXRvCiBjbG9zZXBhdGggZmlsbAp9IGRlZgoKACVkICVkIHRyYW5zbGF0ZQoAMC44IDAuOCAwLjggc2V0cmdiY29sb3IKAHNob3dwYWdlCiUlJSVUcmFpbGVyCiUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKAG5ld3BhdGggJWQgJWQgbW92ZXRvCgAlZCAlZCBsaW5ldG8KACVkICVkIGxpbmV0byBzdHJva2UKAGNoYW5uZWwgJWQgKCVmLCVmKQoAIC0+CgAgICAgIAAoKCVmLCVmKSwoJWYsJWYpKSAlcyAlcwBCX1JJR0hUAEJfRE9XTgBCX0xFRlQAQl9VUABCX05PREUAc2VnAG5leHRfc2VnAGRlY2lkZV9wb2ludABpbmNvbXBhcmFibGUgc2VnbWVudHMgISEgLS0gQWJvcnRpbmcKAHMxLT5jb21tX2Nvb3JkPT1zMi0+Y29tbV9jb29yZABpc19wYXJhbGxlbABncmFwaCBHIHsKACBub2RlW3NoYXBlPXBvaW50XQoAICAlZCBbcG9zPSIlZCwlZCJdCgAgICVkIC0tICVkW2xlbj0iJWYiXQoAfQoAY29sb3IgJXMAJXMgaXMgbm90IGEga25vd24gY29sb3IuCgBlcnJvciBpbiBjb2x4bGF0ZSgpCgBzb2xpZABpbnZpc2libGUAYm9sZABzZXRsaW5ld2lkdGgAZmlsbGVkAHVuZmlsbGVkAHRhcGVyZWQAZ3ZyZW5kZXJfc2V0X3N0eWxlOiB1bnN1cHBvcnRlZCBzdHlsZSAlcyAtIGlnbm9yaW5nCgBndnJlbmRlci5jAGd2cmVuZGVyX3VzZXJzaGFwZQBuYW1lAG5hbWVbMF0AYm90aABsYXlvdXQATGF5b3V0IHR5cGU6ICIlcyIgbm90IHJlY29nbml6ZWQuIFVzZSBvbmUgb2Y6JXMKAGpvYgBndmxvYWRpbWFnZS5jAGd2bG9hZGltYWdlAHVzAHVzLT5uYW1lAHVzLT5uYW1lWzBdAE5vIGxvYWRpbWFnZSBwbHVnaW4gZm9yICIlcyIKAFEATGVmdABLUF9MZWZ0AFJpZ2h0AEtQX1JpZ2h0AFVwAEtQX1VwAERvd24AS1BfRG93bgBwbHVzAEtQX0FkZABtaW51cwBLUF9TdWJ0cmFjdABGAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AFVSTABub2RlAGRpZ3JhcGgAZ3JhcGgAc3ViZ3JhcGgAX0xUWF9saWJyYXJ5AHRleHRsYXlvdXQAb2JqcC0+bGJsAHhsYWJlbHMuYwB4bGFkanVzdAB4bGludGVyc2VjdGlvbnMAbHAgIT0gY2xwAGdldGludHJzeGkAb2JqcDEtPnN6LnggPT0gMCAmJiBvYmpwMS0+c3oueSA9PSAwAGxibGVuY2xvc2luZwB2cAB4bGhkeHVubG9hZABzaXplPT1mcmVlZAByZWN0LmJvdW5kYXJ5WzJdIDwgSU5UX01BWABvYmpwbHBta3MAcmVjdC5ib3VuZGFyeVszXSA8IElOVF9NQVgAb3V0IG9mIG1lbW9yeQoAIyUyeCUyeCUyeCUyeAAlbGYlbGYlbGYAL2FjY2VudDMvMQAvYWNjZW50My8yAC9hY2NlbnQzLzMAL2FjY2VudDQvMQAvYWNjZW50NC8yAC9hY2NlbnQ0LzMAL2FjY2VudDQvNAAvYWNjZW50NS8xAC9hY2NlbnQ1LzIAL2FjY2VudDUvMwAvYWNjZW50NS80AC9hY2NlbnQ1LzUAL2FjY2VudDYvMQAvYWNjZW50Ni8yAC9hY2NlbnQ2LzMAL2FjY2VudDYvNAAvYWNjZW50Ni81AC9hY2NlbnQ2LzYAL2FjY2VudDcvMQAvYWNjZW50Ny8yAC9hY2NlbnQ3LzMAL2FjY2VudDcvNAAvYWNjZW50Ny81AC9hY2NlbnQ3LzYAL2FjY2VudDcvNwAvYWNjZW50OC8xAC9hY2NlbnQ4LzIAL2FjY2VudDgvMwAvYWNjZW50OC80AC9hY2NlbnQ4LzUAL2FjY2VudDgvNgAvYWNjZW50OC83AC9hY2NlbnQ4LzgAL2JsdWVzMy8xAC9ibHVlczMvMgAvYmx1ZXMzLzMAL2JsdWVzNC8xAC9ibHVlczQvMgAvYmx1ZXM0LzMAL2JsdWVzNC80AC9ibHVlczUvMQAvYmx1ZXM1LzIAL2JsdWVzNS8zAC9ibHVlczUvNAAvYmx1ZXM1LzUAL2JsdWVzNi8xAC9ibHVlczYvMgAvYmx1ZXM2LzMAL2JsdWVzNi80AC9ibHVlczYvNQAvYmx1ZXM2LzYAL2JsdWVzNy8xAC9ibHVlczcvMgAvYmx1ZXM3LzMAL2JsdWVzNy80AC9ibHVlczcvNQAvYmx1ZXM3LzYAL2JsdWVzNy83AC9ibHVlczgvMQAvYmx1ZXM4LzIAL2JsdWVzOC8zAC9ibHVlczgvNAAvYmx1ZXM4LzUAL2JsdWVzOC82AC9ibHVlczgvNwAvYmx1ZXM4LzgAL2JsdWVzOS8xAC9ibHVlczkvMgAvYmx1ZXM5LzMAL2JsdWVzOS80AC9ibHVlczkvNQAvYmx1ZXM5LzYAL2JsdWVzOS83AC9ibHVlczkvOAAvYmx1ZXM5LzkAL2JyYmcxMC8xAC9icmJnMTAvMTAAL2JyYmcxMC8yAC9icmJnMTAvMwAvYnJiZzEwLzQAL2JyYmcxMC81AC9icmJnMTAvNgAvYnJiZzEwLzcAL2JyYmcxMC84AC9icmJnMTAvOQAvYnJiZzExLzEAL2JyYmcxMS8xMAAvYnJiZzExLzExAC9icmJnMTEvMgAvYnJiZzExLzMAL2JyYmcxMS80AC9icmJnMTEvNQAvYnJiZzExLzYAL2JyYmcxMS83AC9icmJnMTEvOAAvYnJiZzExLzkAL2JyYmczLzEAL2JyYmczLzIAL2JyYmczLzMAL2JyYmc0LzEAL2JyYmc0LzIAL2JyYmc0LzMAL2JyYmc0LzQAL2JyYmc1LzEAL2JyYmc1LzIAL2JyYmc1LzMAL2JyYmc1LzQAL2JyYmc1LzUAL2JyYmc2LzEAL2JyYmc2LzIAL2JyYmc2LzMAL2JyYmc2LzQAL2JyYmc2LzUAL2JyYmc2LzYAL2JyYmc3LzEAL2JyYmc3LzIAL2JyYmc3LzMAL2JyYmc3LzQAL2JyYmc3LzUAL2JyYmc3LzYAL2JyYmc3LzcAL2JyYmc4LzEAL2JyYmc4LzIAL2JyYmc4LzMAL2JyYmc4LzQAL2JyYmc4LzUAL2JyYmc4LzYAL2JyYmc4LzcAL2JyYmc4LzgAL2JyYmc5LzEAL2JyYmc5LzIAL2JyYmc5LzMAL2JyYmc5LzQAL2JyYmc5LzUAL2JyYmc5LzYAL2JyYmc5LzcAL2JyYmc5LzgAL2JyYmc5LzkAL2J1Z24zLzEAL2J1Z24zLzIAL2J1Z24zLzMAL2J1Z240LzEAL2J1Z240LzIAL2J1Z240LzMAL2J1Z240LzQAL2J1Z241LzEAL2J1Z241LzIAL2J1Z241LzMAL2J1Z241LzQAL2J1Z241LzUAL2J1Z242LzEAL2J1Z242LzIAL2J1Z242LzMAL2J1Z242LzQAL2J1Z242LzUAL2J1Z242LzYAL2J1Z243LzEAL2J1Z243LzIAL2J1Z243LzMAL2J1Z243LzQAL2J1Z243LzUAL2J1Z243LzYAL2J1Z243LzcAL2J1Z244LzEAL2J1Z244LzIAL2J1Z244LzMAL2J1Z244LzQAL2J1Z244LzUAL2J1Z244LzYAL2J1Z244LzcAL2J1Z244LzgAL2J1Z245LzEAL2J1Z245LzIAL2J1Z245LzMAL2J1Z245LzQAL2J1Z245LzUAL2J1Z245LzYAL2J1Z245LzcAL2J1Z245LzgAL2J1Z245LzkAL2J1cHUzLzEAL2J1cHUzLzIAL2J1cHUzLzMAL2J1cHU0LzEAL2J1cHU0LzIAL2J1cHU0LzMAL2J1cHU0LzQAL2J1cHU1LzEAL2J1cHU1LzIAL2J1cHU1LzMAL2J1cHU1LzQAL2J1cHU1LzUAL2J1cHU2LzEAL2J1cHU2LzIAL2J1cHU2LzMAL2J1cHU2LzQAL2J1cHU2LzUAL2J1cHU2LzYAL2J1cHU3LzEAL2J1cHU3LzIAL2J1cHU3LzMAL2J1cHU3LzQAL2J1cHU3LzUAL2J1cHU3LzYAL2J1cHU3LzcAL2J1cHU4LzEAL2J1cHU4LzIAL2J1cHU4LzMAL2J1cHU4LzQAL2J1cHU4LzUAL2J1cHU4LzYAL2J1cHU4LzcAL2J1cHU4LzgAL2J1cHU5LzEAL2J1cHU5LzIAL2J1cHU5LzMAL2J1cHU5LzQAL2J1cHU5LzUAL2J1cHU5LzYAL2J1cHU5LzcAL2J1cHU5LzgAL2J1cHU5LzkAL2RhcmsyMy8xAC9kYXJrMjMvMgAvZGFyazIzLzMAL2RhcmsyNC8xAC9kYXJrMjQvMgAvZGFyazI0LzMAL2RhcmsyNC80AC9kYXJrMjUvMQAvZGFyazI1LzIAL2RhcmsyNS8zAC9kYXJrMjUvNAAvZGFyazI1LzUAL2RhcmsyNi8xAC9kYXJrMjYvMgAvZGFyazI2LzMAL2RhcmsyNi80AC9kYXJrMjYvNQAvZGFyazI2LzYAL2RhcmsyNy8xAC9kYXJrMjcvMgAvZGFyazI3LzMAL2RhcmsyNy80AC9kYXJrMjcvNQAvZGFyazI3LzYAL2RhcmsyNy83AC9kYXJrMjgvMQAvZGFyazI4LzIAL2RhcmsyOC8zAC9kYXJrMjgvNAAvZGFyazI4LzUAL2RhcmsyOC82AC9kYXJrMjgvNwAvZGFyazI4LzgAL2duYnUzLzEAL2duYnUzLzIAL2duYnUzLzMAL2duYnU0LzEAL2duYnU0LzIAL2duYnU0LzMAL2duYnU0LzQAL2duYnU1LzEAL2duYnU1LzIAL2duYnU1LzMAL2duYnU1LzQAL2duYnU1LzUAL2duYnU2LzEAL2duYnU2LzIAL2duYnU2LzMAL2duYnU2LzQAL2duYnU2LzUAL2duYnU2LzYAL2duYnU3LzEAL2duYnU3LzIAL2duYnU3LzMAL2duYnU3LzQAL2duYnU3LzUAL2duYnU3LzYAL2duYnU3LzcAL2duYnU4LzEAL2duYnU4LzIAL2duYnU4LzMAL2duYnU4LzQAL2duYnU4LzUAL2duYnU4LzYAL2duYnU4LzcAL2duYnU4LzgAL2duYnU5LzEAL2duYnU5LzIAL2duYnU5LzMAL2duYnU5LzQAL2duYnU5LzUAL2duYnU5LzYAL2duYnU5LzcAL2duYnU5LzgAL2duYnU5LzkAL2dyZWVuczMvMQAvZ3JlZW5zMy8yAC9ncmVlbnMzLzMAL2dyZWVuczQvMQAvZ3JlZW5zNC8yAC9ncmVlbnM0LzMAL2dyZWVuczQvNAAvZ3JlZW5zNS8xAC9ncmVlbnM1LzIAL2dyZWVuczUvMwAvZ3JlZW5zNS80AC9ncmVlbnM1LzUAL2dyZWVuczYvMQAvZ3JlZW5zNi8yAC9ncmVlbnM2LzMAL2dyZWVuczYvNAAvZ3JlZW5zNi81AC9ncmVlbnM2LzYAL2dyZWVuczcvMQAvZ3JlZW5zNy8yAC9ncmVlbnM3LzMAL2dyZWVuczcvNAAvZ3JlZW5zNy81AC9ncmVlbnM3LzYAL2dyZWVuczcvNwAvZ3JlZW5zOC8xAC9ncmVlbnM4LzIAL2dyZWVuczgvMwAvZ3JlZW5zOC80AC9ncmVlbnM4LzUAL2dyZWVuczgvNgAvZ3JlZW5zOC83AC9ncmVlbnM4LzgAL2dyZWVuczkvMQAvZ3JlZW5zOS8yAC9ncmVlbnM5LzMAL2dyZWVuczkvNAAvZ3JlZW5zOS81AC9ncmVlbnM5LzYAL2dyZWVuczkvNwAvZ3JlZW5zOS84AC9ncmVlbnM5LzkAL2dyZXlzMy8xAC9ncmV5czMvMgAvZ3JleXMzLzMAL2dyZXlzNC8xAC9ncmV5czQvMgAvZ3JleXM0LzMAL2dyZXlzNC80AC9ncmV5czUvMQAvZ3JleXM1LzIAL2dyZXlzNS8zAC9ncmV5czUvNAAvZ3JleXM1LzUAL2dyZXlzNi8xAC9ncmV5czYvMgAvZ3JleXM2LzMAL2dyZXlzNi80AC9ncmV5czYvNQAvZ3JleXM2LzYAL2dyZXlzNy8xAC9ncmV5czcvMgAvZ3JleXM3LzMAL2dyZXlzNy80AC9ncmV5czcvNQAvZ3JleXM3LzYAL2dyZXlzNy83AC9ncmV5czgvMQAvZ3JleXM4LzIAL2dyZXlzOC8zAC9ncmV5czgvNAAvZ3JleXM4LzUAL2dyZXlzOC82AC9ncmV5czgvNwAvZ3JleXM4LzgAL2dyZXlzOS8xAC9ncmV5czkvMgAvZ3JleXM5LzMAL2dyZXlzOS80AC9ncmV5czkvNQAvZ3JleXM5LzYAL2dyZXlzOS83AC9ncmV5czkvOAAvZ3JleXM5LzkAL29yYW5nZXMzLzEAL29yYW5nZXMzLzIAL29yYW5nZXMzLzMAL29yYW5nZXM0LzEAL29yYW5nZXM0LzIAL29yYW5nZXM0LzMAL29yYW5nZXM0LzQAL29yYW5nZXM1LzEAL29yYW5nZXM1LzIAL29yYW5nZXM1LzMAL29yYW5nZXM1LzQAL29yYW5nZXM1LzUAL29yYW5nZXM2LzEAL29yYW5nZXM2LzIAL29yYW5nZXM2LzMAL29yYW5nZXM2LzQAL29yYW5nZXM2LzUAL29yYW5nZXM2LzYAL29yYW5nZXM3LzEAL29yYW5nZXM3LzIAL29yYW5nZXM3LzMAL29yYW5nZXM3LzQAL29yYW5nZXM3LzUAL29yYW5nZXM3LzYAL29yYW5nZXM3LzcAL29yYW5nZXM4LzEAL29yYW5nZXM4LzIAL29yYW5nZXM4LzMAL29yYW5nZXM4LzQAL29yYW5nZXM4LzUAL29yYW5nZXM4LzYAL29yYW5nZXM4LzcAL29yYW5nZXM4LzgAL29yYW5nZXM5LzEAL29yYW5nZXM5LzIAL29yYW5nZXM5LzMAL29yYW5nZXM5LzQAL29yYW5nZXM5LzUAL29yYW5nZXM5LzYAL29yYW5nZXM5LzcAL29yYW5nZXM5LzgAL29yYW5nZXM5LzkAL29ycmQzLzEAL29ycmQzLzIAL29ycmQzLzMAL29ycmQ0LzEAL29ycmQ0LzIAL29ycmQ0LzMAL29ycmQ0LzQAL29ycmQ1LzEAL29ycmQ1LzIAL29ycmQ1LzMAL29ycmQ1LzQAL29ycmQ1LzUAL29ycmQ2LzEAL29ycmQ2LzIAL29ycmQ2LzMAL29ycmQ2LzQAL29ycmQ2LzUAL29ycmQ2LzYAL29ycmQ3LzEAL29ycmQ3LzIAL29ycmQ3LzMAL29ycmQ3LzQAL29ycmQ3LzUAL29ycmQ3LzYAL29ycmQ3LzcAL29ycmQ4LzEAL29ycmQ4LzIAL29ycmQ4LzMAL29ycmQ4LzQAL29ycmQ4LzUAL29ycmQ4LzYAL29ycmQ4LzcAL29ycmQ4LzgAL29ycmQ5LzEAL29ycmQ5LzIAL29ycmQ5LzMAL29ycmQ5LzQAL29ycmQ5LzUAL29ycmQ5LzYAL29ycmQ5LzcAL29ycmQ5LzgAL29ycmQ5LzkAL3BhaXJlZDEwLzEAL3BhaXJlZDEwLzEwAC9wYWlyZWQxMC8yAC9wYWlyZWQxMC8zAC9wYWlyZWQxMC80AC9wYWlyZWQxMC81AC9wYWlyZWQxMC82AC9wYWlyZWQxMC83AC9wYWlyZWQxMC84AC9wYWlyZWQxMC85AC9wYWlyZWQxMS8xAC9wYWlyZWQxMS8xMAAvcGFpcmVkMTEvMTEAL3BhaXJlZDExLzIAL3BhaXJlZDExLzMAL3BhaXJlZDExLzQAL3BhaXJlZDExLzUAL3BhaXJlZDExLzYAL3BhaXJlZDExLzcAL3BhaXJlZDExLzgAL3BhaXJlZDExLzkAL3BhaXJlZDEyLzEAL3BhaXJlZDEyLzEwAC9wYWlyZWQxMi8xMQAvcGFpcmVkMTIvMTIAL3BhaXJlZDEyLzIAL3BhaXJlZDEyLzMAL3BhaXJlZDEyLzQAL3BhaXJlZDEyLzUAL3BhaXJlZDEyLzYAL3BhaXJlZDEyLzcAL3BhaXJlZDEyLzgAL3BhaXJlZDEyLzkAL3BhaXJlZDMvMQAvcGFpcmVkMy8yAC9wYWlyZWQzLzMAL3BhaXJlZDQvMQAvcGFpcmVkNC8yAC9wYWlyZWQ0LzMAL3BhaXJlZDQvNAAvcGFpcmVkNS8xAC9wYWlyZWQ1LzIAL3BhaXJlZDUvMwAvcGFpcmVkNS80AC9wYWlyZWQ1LzUAL3BhaXJlZDYvMQAvcGFpcmVkNi8yAC9wYWlyZWQ2LzMAL3BhaXJlZDYvNAAvcGFpcmVkNi81AC9wYWlyZWQ2LzYAL3BhaXJlZDcvMQAvcGFpcmVkNy8yAC9wYWlyZWQ3LzMAL3BhaXJlZDcvNAAvcGFpcmVkNy81AC9wYWlyZWQ3LzYAL3BhaXJlZDcvNwAvcGFpcmVkOC8xAC9wYWlyZWQ4LzIAL3BhaXJlZDgvMwAvcGFpcmVkOC80AC9wYWlyZWQ4LzUAL3BhaXJlZDgvNgAvcGFpcmVkOC83AC9wYWlyZWQ4LzgAL3BhaXJlZDkvMQAvcGFpcmVkOS8yAC9wYWlyZWQ5LzMAL3BhaXJlZDkvNAAvcGFpcmVkOS81AC9wYWlyZWQ5LzYAL3BhaXJlZDkvNwAvcGFpcmVkOS84AC9wYWlyZWQ5LzkAL3Bhc3RlbDEzLzEAL3Bhc3RlbDEzLzIAL3Bhc3RlbDEzLzMAL3Bhc3RlbDE0LzEAL3Bhc3RlbDE0LzIAL3Bhc3RlbDE0LzMAL3Bhc3RlbDE0LzQAL3Bhc3RlbDE1LzEAL3Bhc3RlbDE1LzIAL3Bhc3RlbDE1LzMAL3Bhc3RlbDE1LzQAL3Bhc3RlbDE1LzUAL3Bhc3RlbDE2LzEAL3Bhc3RlbDE2LzIAL3Bhc3RlbDE2LzMAL3Bhc3RlbDE2LzQAL3Bhc3RlbDE2LzUAL3Bhc3RlbDE2LzYAL3Bhc3RlbDE3LzEAL3Bhc3RlbDE3LzIAL3Bhc3RlbDE3LzMAL3Bhc3RlbDE3LzQAL3Bhc3RlbDE3LzUAL3Bhc3RlbDE3LzYAL3Bhc3RlbDE3LzcAL3Bhc3RlbDE4LzEAL3Bhc3RlbDE4LzIAL3Bhc3RlbDE4LzMAL3Bhc3RlbDE4LzQAL3Bhc3RlbDE4LzUAL3Bhc3RlbDE4LzYAL3Bhc3RlbDE4LzcAL3Bhc3RlbDE4LzgAL3Bhc3RlbDE5LzEAL3Bhc3RlbDE5LzIAL3Bhc3RlbDE5LzMAL3Bhc3RlbDE5LzQAL3Bhc3RlbDE5LzUAL3Bhc3RlbDE5LzYAL3Bhc3RlbDE5LzcAL3Bhc3RlbDE5LzgAL3Bhc3RlbDE5LzkAL3Bhc3RlbDIzLzEAL3Bhc3RlbDIzLzIAL3Bhc3RlbDIzLzMAL3Bhc3RlbDI0LzEAL3Bhc3RlbDI0LzIAL3Bhc3RlbDI0LzMAL3Bhc3RlbDI0LzQAL3Bhc3RlbDI1LzEAL3Bhc3RlbDI1LzIAL3Bhc3RlbDI1LzMAL3Bhc3RlbDI1LzQAL3Bhc3RlbDI1LzUAL3Bhc3RlbDI2LzEAL3Bhc3RlbDI2LzIAL3Bhc3RlbDI2LzMAL3Bhc3RlbDI2LzQAL3Bhc3RlbDI2LzUAL3Bhc3RlbDI2LzYAL3Bhc3RlbDI3LzEAL3Bhc3RlbDI3LzIAL3Bhc3RlbDI3LzMAL3Bhc3RlbDI3LzQAL3Bhc3RlbDI3LzUAL3Bhc3RlbDI3LzYAL3Bhc3RlbDI3LzcAL3Bhc3RlbDI4LzEAL3Bhc3RlbDI4LzIAL3Bhc3RlbDI4LzMAL3Bhc3RlbDI4LzQAL3Bhc3RlbDI4LzUAL3Bhc3RlbDI4LzYAL3Bhc3RlbDI4LzcAL3Bhc3RlbDI4LzgAL3BpeWcxMC8xAC9waXlnMTAvMTAAL3BpeWcxMC8yAC9waXlnMTAvMwAvcGl5ZzEwLzQAL3BpeWcxMC81AC9waXlnMTAvNgAvcGl5ZzEwLzcAL3BpeWcxMC84AC9waXlnMTAvOQAvcGl5ZzExLzEAL3BpeWcxMS8xMAAvcGl5ZzExLzExAC9waXlnMTEvMgAvcGl5ZzExLzMAL3BpeWcxMS80AC9waXlnMTEvNQAvcGl5ZzExLzYAL3BpeWcxMS83AC9waXlnMTEvOAAvcGl5ZzExLzkAL3BpeWczLzEAL3BpeWczLzIAL3BpeWczLzMAL3BpeWc0LzEAL3BpeWc0LzIAL3BpeWc0LzMAL3BpeWc0LzQAL3BpeWc1LzEAL3BpeWc1LzIAL3BpeWc1LzMAL3BpeWc1LzQAL3BpeWc1LzUAL3BpeWc2LzEAL3BpeWc2LzIAL3BpeWc2LzMAL3BpeWc2LzQAL3BpeWc2LzUAL3BpeWc2LzYAL3BpeWc3LzEAL3BpeWc3LzIAL3BpeWc3LzMAL3BpeWc3LzQAL3BpeWc3LzUAL3BpeWc3LzYAL3BpeWc3LzcAL3BpeWc4LzEAL3BpeWc4LzIAL3BpeWc4LzMAL3BpeWc4LzQAL3BpeWc4LzUAL3BpeWc4LzYAL3BpeWc4LzcAL3BpeWc4LzgAL3BpeWc5LzEAL3BpeWc5LzIAL3BpeWc5LzMAL3BpeWc5LzQAL3BpeWc5LzUAL3BpeWc5LzYAL3BpeWc5LzcAL3BpeWc5LzgAL3BpeWc5LzkAL3ByZ24xMC8xAC9wcmduMTAvMTAAL3ByZ24xMC8yAC9wcmduMTAvMwAvcHJnbjEwLzQAL3ByZ24xMC81AC9wcmduMTAvNgAvcHJnbjEwLzcAL3ByZ24xMC84AC9wcmduMTAvOQAvcHJnbjExLzEAL3ByZ24xMS8xMAAvcHJnbjExLzExAC9wcmduMTEvMgAvcHJnbjExLzMAL3ByZ24xMS80AC9wcmduMTEvNQAvcHJnbjExLzYAL3ByZ24xMS83AC9wcmduMTEvOAAvcHJnbjExLzkAL3ByZ24zLzEAL3ByZ24zLzIAL3ByZ24zLzMAL3ByZ240LzEAL3ByZ240LzIAL3ByZ240LzMAL3ByZ240LzQAL3ByZ241LzEAL3ByZ241LzIAL3ByZ241LzMAL3ByZ241LzQAL3ByZ241LzUAL3ByZ242LzEAL3ByZ242LzIAL3ByZ242LzMAL3ByZ242LzQAL3ByZ242LzUAL3ByZ242LzYAL3ByZ243LzEAL3ByZ243LzIAL3ByZ243LzMAL3ByZ243LzQAL3ByZ243LzUAL3ByZ243LzYAL3ByZ243LzcAL3ByZ244LzEAL3ByZ244LzIAL3ByZ244LzMAL3ByZ244LzQAL3ByZ244LzUAL3ByZ244LzYAL3ByZ244LzcAL3ByZ244LzgAL3ByZ245LzEAL3ByZ245LzIAL3ByZ245LzMAL3ByZ245LzQAL3ByZ245LzUAL3ByZ245LzYAL3ByZ245LzcAL3ByZ245LzgAL3ByZ245LzkAL3B1YnUzLzEAL3B1YnUzLzIAL3B1YnUzLzMAL3B1YnU0LzEAL3B1YnU0LzIAL3B1YnU0LzMAL3B1YnU0LzQAL3B1YnU1LzEAL3B1YnU1LzIAL3B1YnU1LzMAL3B1YnU1LzQAL3B1YnU1LzUAL3B1YnU2LzEAL3B1YnU2LzIAL3B1YnU2LzMAL3B1YnU2LzQAL3B1YnU2LzUAL3B1YnU2LzYAL3B1YnU3LzEAL3B1YnU3LzIAL3B1YnU3LzMAL3B1YnU3LzQAL3B1YnU3LzUAL3B1YnU3LzYAL3B1YnU3LzcAL3B1YnU4LzEAL3B1YnU4LzIAL3B1YnU4LzMAL3B1YnU4LzQAL3B1YnU4LzUAL3B1YnU4LzYAL3B1YnU4LzcAL3B1YnU4LzgAL3B1YnU5LzEAL3B1YnU5LzIAL3B1YnU5LzMAL3B1YnU5LzQAL3B1YnU5LzUAL3B1YnU5LzYAL3B1YnU5LzcAL3B1YnU5LzgAL3B1YnU5LzkAL3B1YnVnbjMvMQAvcHVidWduMy8yAC9wdWJ1Z24zLzMAL3B1YnVnbjQvMQAvcHVidWduNC8yAC9wdWJ1Z240LzMAL3B1YnVnbjQvNAAvcHVidWduNS8xAC9wdWJ1Z241LzIAL3B1YnVnbjUvMwAvcHVidWduNS80AC9wdWJ1Z241LzUAL3B1YnVnbjYvMQAvcHVidWduNi8yAC9wdWJ1Z242LzMAL3B1YnVnbjYvNAAvcHVidWduNi81AC9wdWJ1Z242LzYAL3B1YnVnbjcvMQAvcHVidWduNy8yAC9wdWJ1Z243LzMAL3B1YnVnbjcvNAAvcHVidWduNy81AC9wdWJ1Z243LzYAL3B1YnVnbjcvNwAvcHVidWduOC8xAC9wdWJ1Z244LzIAL3B1YnVnbjgvMwAvcHVidWduOC80AC9wdWJ1Z244LzUAL3B1YnVnbjgvNgAvcHVidWduOC83AC9wdWJ1Z244LzgAL3B1YnVnbjkvMQAvcHVidWduOS8yAC9wdWJ1Z245LzMAL3B1YnVnbjkvNAAvcHVidWduOS81AC9wdWJ1Z245LzYAL3B1YnVnbjkvNwAvcHVidWduOS84AC9wdWJ1Z245LzkAL3B1b3IxMC8xAC9wdW9yMTAvMTAAL3B1b3IxMC8yAC9wdW9yMTAvMwAvcHVvcjEwLzQAL3B1b3IxMC81AC9wdW9yMTAvNgAvcHVvcjEwLzcAL3B1b3IxMC84AC9wdW9yMTAvOQAvcHVvcjExLzEAL3B1b3IxMS8xMAAvcHVvcjExLzExAC9wdW9yMTEvMgAvcHVvcjExLzMAL3B1b3IxMS80AC9wdW9yMTEvNQAvcHVvcjExLzYAL3B1b3IxMS83AC9wdW9yMTEvOAAvcHVvcjExLzkAL3B1b3IzLzEAL3B1b3IzLzIAL3B1b3IzLzMAL3B1b3I0LzEAL3B1b3I0LzIAL3B1b3I0LzMAL3B1b3I0LzQAL3B1b3I1LzEAL3B1b3I1LzIAL3B1b3I1LzMAL3B1b3I1LzQAL3B1b3I1LzUAL3B1b3I2LzEAL3B1b3I2LzIAL3B1b3I2LzMAL3B1b3I2LzQAL3B1b3I2LzUAL3B1b3I2LzYAL3B1b3I3LzEAL3B1b3I3LzIAL3B1b3I3LzMAL3B1b3I3LzQAL3B1b3I3LzUAL3B1b3I3LzYAL3B1b3I3LzcAL3B1b3I4LzEAL3B1b3I4LzIAL3B1b3I4LzMAL3B1b3I4LzQAL3B1b3I4LzUAL3B1b3I4LzYAL3B1b3I4LzcAL3B1b3I4LzgAL3B1b3I5LzEAL3B1b3I5LzIAL3B1b3I5LzMAL3B1b3I5LzQAL3B1b3I5LzUAL3B1b3I5LzYAL3B1b3I5LzcAL3B1b3I5LzgAL3B1b3I5LzkAL3B1cmQzLzEAL3B1cmQzLzIAL3B1cmQzLzMAL3B1cmQ0LzEAL3B1cmQ0LzIAL3B1cmQ0LzMAL3B1cmQ0LzQAL3B1cmQ1LzEAL3B1cmQ1LzIAL3B1cmQ1LzMAL3B1cmQ1LzQAL3B1cmQ1LzUAL3B1cmQ2LzEAL3B1cmQ2LzIAL3B1cmQ2LzMAL3B1cmQ2LzQAL3B1cmQ2LzUAL3B1cmQ2LzYAL3B1cmQ3LzEAL3B1cmQ3LzIAL3B1cmQ3LzMAL3B1cmQ3LzQAL3B1cmQ3LzUAL3B1cmQ3LzYAL3B1cmQ3LzcAL3B1cmQ4LzEAL3B1cmQ4LzIAL3B1cmQ4LzMAL3B1cmQ4LzQAL3B1cmQ4LzUAL3B1cmQ4LzYAL3B1cmQ4LzcAL3B1cmQ4LzgAL3B1cmQ5LzEAL3B1cmQ5LzIAL3B1cmQ5LzMAL3B1cmQ5LzQAL3B1cmQ5LzUAL3B1cmQ5LzYAL3B1cmQ5LzcAL3B1cmQ5LzgAL3B1cmQ5LzkAL3B1cnBsZXMzLzEAL3B1cnBsZXMzLzIAL3B1cnBsZXMzLzMAL3B1cnBsZXM0LzEAL3B1cnBsZXM0LzIAL3B1cnBsZXM0LzMAL3B1cnBsZXM0LzQAL3B1cnBsZXM1LzEAL3B1cnBsZXM1LzIAL3B1cnBsZXM1LzMAL3B1cnBsZXM1LzQAL3B1cnBsZXM1LzUAL3B1cnBsZXM2LzEAL3B1cnBsZXM2LzIAL3B1cnBsZXM2LzMAL3B1cnBsZXM2LzQAL3B1cnBsZXM2LzUAL3B1cnBsZXM2LzYAL3B1cnBsZXM3LzEAL3B1cnBsZXM3LzIAL3B1cnBsZXM3LzMAL3B1cnBsZXM3LzQAL3B1cnBsZXM3LzUAL3B1cnBsZXM3LzYAL3B1cnBsZXM3LzcAL3B1cnBsZXM4LzEAL3B1cnBsZXM4LzIAL3B1cnBsZXM4LzMAL3B1cnBsZXM4LzQAL3B1cnBsZXM4LzUAL3B1cnBsZXM4LzYAL3B1cnBsZXM4LzcAL3B1cnBsZXM4LzgAL3B1cnBsZXM5LzEAL3B1cnBsZXM5LzIAL3B1cnBsZXM5LzMAL3B1cnBsZXM5LzQAL3B1cnBsZXM5LzUAL3B1cnBsZXM5LzYAL3B1cnBsZXM5LzcAL3B1cnBsZXM5LzgAL3B1cnBsZXM5LzkAL3JkYnUxMC8xAC9yZGJ1MTAvMTAAL3JkYnUxMC8yAC9yZGJ1MTAvMwAvcmRidTEwLzQAL3JkYnUxMC81AC9yZGJ1MTAvNgAvcmRidTEwLzcAL3JkYnUxMC84AC9yZGJ1MTAvOQAvcmRidTExLzEAL3JkYnUxMS8xMAAvcmRidTExLzExAC9yZGJ1MTEvMgAvcmRidTExLzMAL3JkYnUxMS80AC9yZGJ1MTEvNQAvcmRidTExLzYAL3JkYnUxMS83AC9yZGJ1MTEvOAAvcmRidTExLzkAL3JkYnUzLzEAL3JkYnUzLzIAL3JkYnUzLzMAL3JkYnU0LzEAL3JkYnU0LzIAL3JkYnU0LzMAL3JkYnU0LzQAL3JkYnU1LzEAL3JkYnU1LzIAL3JkYnU1LzMAL3JkYnU1LzQAL3JkYnU1LzUAL3JkYnU2LzEAL3JkYnU2LzIAL3JkYnU2LzMAL3JkYnU2LzQAL3JkYnU2LzUAL3JkYnU2LzYAL3JkYnU3LzEAL3JkYnU3LzIAL3JkYnU3LzMAL3JkYnU3LzQAL3JkYnU3LzUAL3JkYnU3LzYAL3JkYnU3LzcAL3JkYnU4LzEAL3JkYnU4LzIAL3JkYnU4LzMAL3JkYnU4LzQAL3JkYnU4LzUAL3JkYnU4LzYAL3JkYnU4LzcAL3JkYnU4LzgAL3JkYnU5LzEAL3JkYnU5LzIAL3JkYnU5LzMAL3JkYnU5LzQAL3JkYnU5LzUAL3JkYnU5LzYAL3JkYnU5LzcAL3JkYnU5LzgAL3JkYnU5LzkAL3JkZ3kxMC8xAC9yZGd5MTAvMTAAL3JkZ3kxMC8yAC9yZGd5MTAvMwAvcmRneTEwLzQAL3JkZ3kxMC81AC9yZGd5MTAvNgAvcmRneTEwLzcAL3JkZ3kxMC84AC9yZGd5MTAvOQAvcmRneTExLzEAL3JkZ3kxMS8xMAAvcmRneTExLzExAC9yZGd5MTEvMgAvcmRneTExLzMAL3JkZ3kxMS80AC9yZGd5MTEvNQAvcmRneTExLzYAL3JkZ3kxMS83AC9yZGd5MTEvOAAvcmRneTExLzkAL3JkZ3kzLzEAL3JkZ3kzLzIAL3JkZ3kzLzMAL3JkZ3k0LzEAL3JkZ3k0LzIAL3JkZ3k0LzMAL3JkZ3k0LzQAL3JkZ3k1LzEAL3JkZ3k1LzIAL3JkZ3k1LzMAL3JkZ3k1LzQAL3JkZ3k1LzUAL3JkZ3k2LzEAL3JkZ3k2LzIAL3JkZ3k2LzMAL3JkZ3k2LzQAL3JkZ3k2LzUAL3JkZ3k2LzYAL3JkZ3k3LzEAL3JkZ3k3LzIAL3JkZ3k3LzMAL3JkZ3k3LzQAL3JkZ3k3LzUAL3JkZ3k3LzYAL3JkZ3k3LzcAL3JkZ3k4LzEAL3JkZ3k4LzIAL3JkZ3k4LzMAL3JkZ3k4LzQAL3JkZ3k4LzUAL3JkZ3k4LzYAL3JkZ3k4LzcAL3JkZ3k4LzgAL3JkZ3k5LzEAL3JkZ3k5LzIAL3JkZ3k5LzMAL3JkZ3k5LzQAL3JkZ3k5LzUAL3JkZ3k5LzYAL3JkZ3k5LzcAL3JkZ3k5LzgAL3JkZ3k5LzkAL3JkcHUzLzEAL3JkcHUzLzIAL3JkcHUzLzMAL3JkcHU0LzEAL3JkcHU0LzIAL3JkcHU0LzMAL3JkcHU0LzQAL3JkcHU1LzEAL3JkcHU1LzIAL3JkcHU1LzMAL3JkcHU1LzQAL3JkcHU1LzUAL3JkcHU2LzEAL3JkcHU2LzIAL3JkcHU2LzMAL3JkcHU2LzQAL3JkcHU2LzUAL3JkcHU2LzYAL3JkcHU3LzEAL3JkcHU3LzIAL3JkcHU3LzMAL3JkcHU3LzQAL3JkcHU3LzUAL3JkcHU3LzYAL3JkcHU3LzcAL3JkcHU4LzEAL3JkcHU4LzIAL3JkcHU4LzMAL3JkcHU4LzQAL3JkcHU4LzUAL3JkcHU4LzYAL3JkcHU4LzcAL3JkcHU4LzgAL3JkcHU5LzEAL3JkcHU5LzIAL3JkcHU5LzMAL3JkcHU5LzQAL3JkcHU5LzUAL3JkcHU5LzYAL3JkcHU5LzcAL3JkcHU5LzgAL3JkcHU5LzkAL3JkeWxidTEwLzEAL3JkeWxidTEwLzEwAC9yZHlsYnUxMC8yAC9yZHlsYnUxMC8zAC9yZHlsYnUxMC80AC9yZHlsYnUxMC81AC9yZHlsYnUxMC82AC9yZHlsYnUxMC83AC9yZHlsYnUxMC84AC9yZHlsYnUxMC85AC9yZHlsYnUxMS8xAC9yZHlsYnUxMS8xMAAvcmR5bGJ1MTEvMTEAL3JkeWxidTExLzIAL3JkeWxidTExLzMAL3JkeWxidTExLzQAL3JkeWxidTExLzUAL3JkeWxidTExLzYAL3JkeWxidTExLzcAL3JkeWxidTExLzgAL3JkeWxidTExLzkAL3JkeWxidTMvMQAvcmR5bGJ1My8yAC9yZHlsYnUzLzMAL3JkeWxidTQvMQAvcmR5bGJ1NC8yAC9yZHlsYnU0LzMAL3JkeWxidTQvNAAvcmR5bGJ1NS8xAC9yZHlsYnU1LzIAL3JkeWxidTUvMwAvcmR5bGJ1NS80AC9yZHlsYnU1LzUAL3JkeWxidTYvMQAvcmR5bGJ1Ni8yAC9yZHlsYnU2LzMAL3JkeWxidTYvNAAvcmR5bGJ1Ni81AC9yZHlsYnU2LzYAL3JkeWxidTcvMQAvcmR5bGJ1Ny8yAC9yZHlsYnU3LzMAL3JkeWxidTcvNAAvcmR5bGJ1Ny81AC9yZHlsYnU3LzYAL3JkeWxidTcvNwAvcmR5bGJ1OC8xAC9yZHlsYnU4LzIAL3JkeWxidTgvMwAvcmR5bGJ1OC80AC9yZHlsYnU4LzUAL3JkeWxidTgvNgAvcmR5bGJ1OC83AC9yZHlsYnU4LzgAL3JkeWxidTkvMQAvcmR5bGJ1OS8yAC9yZHlsYnU5LzMAL3JkeWxidTkvNAAvcmR5bGJ1OS81AC9yZHlsYnU5LzYAL3JkeWxidTkvNwAvcmR5bGJ1OS84AC9yZHlsYnU5LzkAL3JkeWxnbjEwLzEAL3JkeWxnbjEwLzEwAC9yZHlsZ24xMC8yAC9yZHlsZ24xMC8zAC9yZHlsZ24xMC80AC9yZHlsZ24xMC81AC9yZHlsZ24xMC82AC9yZHlsZ24xMC83AC9yZHlsZ24xMC84AC9yZHlsZ24xMC85AC9yZHlsZ24xMS8xAC9yZHlsZ24xMS8xMAAvcmR5bGduMTEvMTEAL3JkeWxnbjExLzIAL3JkeWxnbjExLzMAL3JkeWxnbjExLzQAL3JkeWxnbjExLzUAL3JkeWxnbjExLzYAL3JkeWxnbjExLzcAL3JkeWxnbjExLzgAL3JkeWxnbjExLzkAL3JkeWxnbjMvMQAvcmR5bGduMy8yAC9yZHlsZ24zLzMAL3JkeWxnbjQvMQAvcmR5bGduNC8yAC9yZHlsZ240LzMAL3JkeWxnbjQvNAAvcmR5bGduNS8xAC9yZHlsZ241LzIAL3JkeWxnbjUvMwAvcmR5bGduNS80AC9yZHlsZ241LzUAL3JkeWxnbjYvMQAvcmR5bGduNi8yAC9yZHlsZ242LzMAL3JkeWxnbjYvNAAvcmR5bGduNi81AC9yZHlsZ242LzYAL3JkeWxnbjcvMQAvcmR5bGduNy8yAC9yZHlsZ243LzMAL3JkeWxnbjcvNAAvcmR5bGduNy81AC9yZHlsZ243LzYAL3JkeWxnbjcvNwAvcmR5bGduOC8xAC9yZHlsZ244LzIAL3JkeWxnbjgvMwAvcmR5bGduOC80AC9yZHlsZ244LzUAL3JkeWxnbjgvNgAvcmR5bGduOC83AC9yZHlsZ244LzgAL3JkeWxnbjkvMQAvcmR5bGduOS8yAC9yZHlsZ245LzMAL3JkeWxnbjkvNAAvcmR5bGduOS81AC9yZHlsZ245LzYAL3JkeWxnbjkvNwAvcmR5bGduOS84AC9yZHlsZ245LzkAL3JlZHMzLzEAL3JlZHMzLzIAL3JlZHMzLzMAL3JlZHM0LzEAL3JlZHM0LzIAL3JlZHM0LzMAL3JlZHM0LzQAL3JlZHM1LzEAL3JlZHM1LzIAL3JlZHM1LzMAL3JlZHM1LzQAL3JlZHM1LzUAL3JlZHM2LzEAL3JlZHM2LzIAL3JlZHM2LzMAL3JlZHM2LzQAL3JlZHM2LzUAL3JlZHM2LzYAL3JlZHM3LzEAL3JlZHM3LzIAL3JlZHM3LzMAL3JlZHM3LzQAL3JlZHM3LzUAL3JlZHM3LzYAL3JlZHM3LzcAL3JlZHM4LzEAL3JlZHM4LzIAL3JlZHM4LzMAL3JlZHM4LzQAL3JlZHM4LzUAL3JlZHM4LzYAL3JlZHM4LzcAL3JlZHM4LzgAL3JlZHM5LzEAL3JlZHM5LzIAL3JlZHM5LzMAL3JlZHM5LzQAL3JlZHM5LzUAL3JlZHM5LzYAL3JlZHM5LzcAL3JlZHM5LzgAL3JlZHM5LzkAL3NldDEzLzEAL3NldDEzLzIAL3NldDEzLzMAL3NldDE0LzEAL3NldDE0LzIAL3NldDE0LzMAL3NldDE0LzQAL3NldDE1LzEAL3NldDE1LzIAL3NldDE1LzMAL3NldDE1LzQAL3NldDE1LzUAL3NldDE2LzEAL3NldDE2LzIAL3NldDE2LzMAL3NldDE2LzQAL3NldDE2LzUAL3NldDE2LzYAL3NldDE3LzEAL3NldDE3LzIAL3NldDE3LzMAL3NldDE3LzQAL3NldDE3LzUAL3NldDE3LzYAL3NldDE3LzcAL3NldDE4LzEAL3NldDE4LzIAL3NldDE4LzMAL3NldDE4LzQAL3NldDE4LzUAL3NldDE4LzYAL3NldDE4LzcAL3NldDE4LzgAL3NldDE5LzEAL3NldDE5LzIAL3NldDE5LzMAL3NldDE5LzQAL3NldDE5LzUAL3NldDE5LzYAL3NldDE5LzcAL3NldDE5LzgAL3NldDE5LzkAL3NldDIzLzEAL3NldDIzLzIAL3NldDIzLzMAL3NldDI0LzEAL3NldDI0LzIAL3NldDI0LzMAL3NldDI0LzQAL3NldDI1LzEAL3NldDI1LzIAL3NldDI1LzMAL3NldDI1LzQAL3NldDI1LzUAL3NldDI2LzEAL3NldDI2LzIAL3NldDI2LzMAL3NldDI2LzQAL3NldDI2LzUAL3NldDI2LzYAL3NldDI3LzEAL3NldDI3LzIAL3NldDI3LzMAL3NldDI3LzQAL3NldDI3LzUAL3NldDI3LzYAL3NldDI3LzcAL3NldDI4LzEAL3NldDI4LzIAL3NldDI4LzMAL3NldDI4LzQAL3NldDI4LzUAL3NldDI4LzYAL3NldDI4LzcAL3NldDI4LzgAL3NldDMxMC8xAC9zZXQzMTAvMTAAL3NldDMxMC8yAC9zZXQzMTAvMwAvc2V0MzEwLzQAL3NldDMxMC81AC9zZXQzMTAvNgAvc2V0MzEwLzcAL3NldDMxMC84AC9zZXQzMTAvOQAvc2V0MzExLzEAL3NldDMxMS8xMAAvc2V0MzExLzExAC9zZXQzMTEvMgAvc2V0MzExLzMAL3NldDMxMS80AC9zZXQzMTEvNQAvc2V0MzExLzYAL3NldDMxMS83AC9zZXQzMTEvOAAvc2V0MzExLzkAL3NldDMxMi8xAC9zZXQzMTIvMTAAL3NldDMxMi8xMQAvc2V0MzEyLzEyAC9zZXQzMTIvMgAvc2V0MzEyLzMAL3NldDMxMi80AC9zZXQzMTIvNQAvc2V0MzEyLzYAL3NldDMxMi83AC9zZXQzMTIvOAAvc2V0MzEyLzkAL3NldDMzLzEAL3NldDMzLzIAL3NldDMzLzMAL3NldDM0LzEAL3NldDM0LzIAL3NldDM0LzMAL3NldDM0LzQAL3NldDM1LzEAL3NldDM1LzIAL3NldDM1LzMAL3NldDM1LzQAL3NldDM1LzUAL3NldDM2LzEAL3NldDM2LzIAL3NldDM2LzMAL3NldDM2LzQAL3NldDM2LzUAL3NldDM2LzYAL3NldDM3LzEAL3NldDM3LzIAL3NldDM3LzMAL3NldDM3LzQAL3NldDM3LzUAL3NldDM3LzYAL3NldDM3LzcAL3NldDM4LzEAL3NldDM4LzIAL3NldDM4LzMAL3NldDM4LzQAL3NldDM4LzUAL3NldDM4LzYAL3NldDM4LzcAL3NldDM4LzgAL3NldDM5LzEAL3NldDM5LzIAL3NldDM5LzMAL3NldDM5LzQAL3NldDM5LzUAL3NldDM5LzYAL3NldDM5LzcAL3NldDM5LzgAL3NldDM5LzkAL3NwZWN0cmFsMTAvMQAvc3BlY3RyYWwxMC8xMAAvc3BlY3RyYWwxMC8yAC9zcGVjdHJhbDEwLzMAL3NwZWN0cmFsMTAvNAAvc3BlY3RyYWwxMC81AC9zcGVjdHJhbDEwLzYAL3NwZWN0cmFsMTAvNwAvc3BlY3RyYWwxMC84AC9zcGVjdHJhbDEwLzkAL3NwZWN0cmFsMTEvMQAvc3BlY3RyYWwxMS8xMAAvc3BlY3RyYWwxMS8xMQAvc3BlY3RyYWwxMS8yAC9zcGVjdHJhbDExLzMAL3NwZWN0cmFsMTEvNAAvc3BlY3RyYWwxMS81AC9zcGVjdHJhbDExLzYAL3NwZWN0cmFsMTEvNwAvc3BlY3RyYWwxMS84AC9zcGVjdHJhbDExLzkAL3NwZWN0cmFsMy8xAC9zcGVjdHJhbDMvMgAvc3BlY3RyYWwzLzMAL3NwZWN0cmFsNC8xAC9zcGVjdHJhbDQvMgAvc3BlY3RyYWw0LzMAL3NwZWN0cmFsNC80AC9zcGVjdHJhbDUvMQAvc3BlY3RyYWw1LzIAL3NwZWN0cmFsNS8zAC9zcGVjdHJhbDUvNAAvc3BlY3RyYWw1LzUAL3NwZWN0cmFsNi8xAC9zcGVjdHJhbDYvMgAvc3BlY3RyYWw2LzMAL3NwZWN0cmFsNi80AC9zcGVjdHJhbDYvNQAvc3BlY3RyYWw2LzYAL3NwZWN0cmFsNy8xAC9zcGVjdHJhbDcvMgAvc3BlY3RyYWw3LzMAL3NwZWN0cmFsNy80AC9zcGVjdHJhbDcvNQAvc3BlY3RyYWw3LzYAL3NwZWN0cmFsNy83AC9zcGVjdHJhbDgvMQAvc3BlY3RyYWw4LzIAL3NwZWN0cmFsOC8zAC9zcGVjdHJhbDgvNAAvc3BlY3RyYWw4LzUAL3NwZWN0cmFsOC82AC9zcGVjdHJhbDgvNwAvc3BlY3RyYWw4LzgAL3NwZWN0cmFsOS8xAC9zcGVjdHJhbDkvMgAvc3BlY3RyYWw5LzMAL3NwZWN0cmFsOS80AC9zcGVjdHJhbDkvNQAvc3BlY3RyYWw5LzYAL3NwZWN0cmFsOS83AC9zcGVjdHJhbDkvOAAvc3BlY3RyYWw5LzkAL3N2Zy9hbGljZWJsdWUAL3N2Zy9hbnRpcXVld2hpdGUAL3N2Zy9hcXVhAC9zdmcvYXF1YW1hcmluZQAvc3ZnL2F6dXJlAC9zdmcvYmVpZ2UAL3N2Zy9iaXNxdWUAL3N2Zy9ibGFjawAvc3ZnL2JsYW5jaGVkYWxtb25kAC9zdmcvYmx1ZQAvc3ZnL2JsdWV2aW9sZXQAL3N2Zy9icm93bgAvc3ZnL2J1cmx5d29vZAAvc3ZnL2NhZGV0Ymx1ZQAvc3ZnL2NoYXJ0cmV1c2UAL3N2Zy9jaG9jb2xhdGUAL3N2Zy9jb3JhbAAvc3ZnL2Nvcm5mbG93ZXJibHVlAC9zdmcvY29ybnNpbGsAL3N2Zy9jcmltc29uAC9zdmcvY3lhbgAvc3ZnL2RhcmtibHVlAC9zdmcvZGFya2N5YW4AL3N2Zy9kYXJrZ29sZGVucm9kAC9zdmcvZGFya2dyYXkAL3N2Zy9kYXJrZ3JlZW4AL3N2Zy9kYXJrZ3JleQAvc3ZnL2RhcmtraGFraQAvc3ZnL2RhcmttYWdlbnRhAC9zdmcvZGFya29saXZlZ3JlZW4AL3N2Zy9kYXJrb3JhbmdlAC9zdmcvZGFya29yY2hpZAAvc3ZnL2RhcmtyZWQAL3N2Zy9kYXJrc2FsbW9uAC9zdmcvZGFya3NlYWdyZWVuAC9zdmcvZGFya3NsYXRlYmx1ZQAvc3ZnL2RhcmtzbGF0ZWdyYXkAL3N2Zy9kYXJrc2xhdGVncmV5AC9zdmcvZGFya3R1cnF1b2lzZQAvc3ZnL2Rhcmt2aW9sZXQAL3N2Zy9kZWVwcGluawAvc3ZnL2RlZXBza3libHVlAC9zdmcvZGltZ3JheQAvc3ZnL2RpbWdyZXkAL3N2Zy9kb2RnZXJibHVlAC9zdmcvZmlyZWJyaWNrAC9zdmcvZmxvcmFsd2hpdGUAL3N2Zy9mb3Jlc3RncmVlbgAvc3ZnL2Z1Y2hzaWEAL3N2Zy9nYWluc2Jvcm8AL3N2Zy9naG9zdHdoaXRlAC9zdmcvZ29sZAAvc3ZnL2dvbGRlbnJvZAAvc3ZnL2dyYXkAL3N2Zy9ncmVlbgAvc3ZnL2dyZWVueWVsbG93AC9zdmcvZ3JleQAvc3ZnL2hvbmV5ZGV3AC9zdmcvaG90cGluawAvc3ZnL2luZGlhbnJlZAAvc3ZnL2luZGlnbwAvc3ZnL2l2b3J5AC9zdmcva2hha2kAL3N2Zy9sYXZlbmRlcgAvc3ZnL2xhdmVuZGVyYmx1c2gAL3N2Zy9sYXduZ3JlZW4AL3N2Zy9sZW1vbmNoaWZmb24AL3N2Zy9saWdodGJsdWUAL3N2Zy9saWdodGNvcmFsAC9zdmcvbGlnaHRjeWFuAC9zdmcvbGlnaHRnb2xkZW5yb2R5ZWxsb3cAL3N2Zy9saWdodGdyYXkAL3N2Zy9saWdodGdyZWVuAC9zdmcvbGlnaHRncmV5AC9zdmcvbGlnaHRwaW5rAC9zdmcvbGlnaHRzYWxtb24AL3N2Zy9saWdodHNlYWdyZWVuAC9zdmcvbGlnaHRza3libHVlAC9zdmcvbGlnaHRzbGF0ZWdyYXkAL3N2Zy9saWdodHNsYXRlZ3JleQAvc3ZnL2xpZ2h0c3RlZWxibHVlAC9zdmcvbGlnaHR5ZWxsb3cAL3N2Zy9saW1lAC9zdmcvbGltZWdyZWVuAC9zdmcvbGluZW4AL3N2Zy9tYWdlbnRhAC9zdmcvbWFyb29uAC9zdmcvbWVkaXVtYXF1YW1hcmluZQAvc3ZnL21lZGl1bWJsdWUAL3N2Zy9tZWRpdW1vcmNoaWQAL3N2Zy9tZWRpdW1wdXJwbGUAL3N2Zy9tZWRpdW1zZWFncmVlbgAvc3ZnL21lZGl1bXNsYXRlYmx1ZQAvc3ZnL21lZGl1bXNwcmluZ2dyZWVuAC9zdmcvbWVkaXVtdHVycXVvaXNlAC9zdmcvbWVkaXVtdmlvbGV0cmVkAC9zdmcvbWlkbmlnaHRibHVlAC9zdmcvbWludGNyZWFtAC9zdmcvbWlzdHlyb3NlAC9zdmcvbW9jY2FzaW4AL3N2Zy9uYXZham93aGl0ZQAvc3ZnL25hdnkAL3N2Zy9vbGRsYWNlAC9zdmcvb2xpdmUAL3N2Zy9vbGl2ZWRyYWIAL3N2Zy9vcmFuZ2UAL3N2Zy9vcmFuZ2VyZWQAL3N2Zy9vcmNoaWQAL3N2Zy9wYWxlZ29sZGVucm9kAC9zdmcvcGFsZWdyZWVuAC9zdmcvcGFsZXR1cnF1b2lzZQAvc3ZnL3BhbGV2aW9sZXRyZWQAL3N2Zy9wYXBheWF3aGlwAC9zdmcvcGVhY2hwdWZmAC9zdmcvcGVydQAvc3ZnL3BpbmsAL3N2Zy9wbHVtAC9zdmcvcG93ZGVyYmx1ZQAvc3ZnL3B1cnBsZQAvc3ZnL3JlZAAvc3ZnL3Jvc3licm93bgAvc3ZnL3JveWFsYmx1ZQAvc3ZnL3NhZGRsZWJyb3duAC9zdmcvc2FsbW9uAC9zdmcvc2FuZHlicm93bgAvc3ZnL3NlYWdyZWVuAC9zdmcvc2Vhc2hlbGwAL3N2Zy9zaWVubmEAL3N2Zy9zaWx2ZXIAL3N2Zy9za3libHVlAC9zdmcvc2xhdGVibHVlAC9zdmcvc2xhdGVncmF5AC9zdmcvc2xhdGVncmV5AC9zdmcvc25vdwAvc3ZnL3NwcmluZ2dyZWVuAC9zdmcvc3RlZWxibHVlAC9zdmcvdGFuAC9zdmcvdGVhbAAvc3ZnL3RoaXN0bGUAL3N2Zy90b21hdG8AL3N2Zy90dXJxdW9pc2UAL3N2Zy92aW9sZXQAL3N2Zy93aGVhdAAvc3ZnL3doaXRlAC9zdmcvd2hpdGVzbW9rZQAvc3ZnL3llbGxvdwAvc3ZnL3llbGxvd2dyZWVuAC95bGduMy8xAC95bGduMy8yAC95bGduMy8zAC95bGduNC8xAC95bGduNC8yAC95bGduNC8zAC95bGduNC80AC95bGduNS8xAC95bGduNS8yAC95bGduNS8zAC95bGduNS80AC95bGduNS81AC95bGduNi8xAC95bGduNi8yAC95bGduNi8zAC95bGduNi80AC95bGduNi81AC95bGduNi82AC95bGduNy8xAC95bGduNy8yAC95bGduNy8zAC95bGduNy80AC95bGduNy81AC95bGduNy82AC95bGduNy83AC95bGduOC8xAC95bGduOC8yAC95bGduOC8zAC95bGduOC80AC95bGduOC81AC95bGduOC82AC95bGduOC83AC95bGduOC84AC95bGduOS8xAC95bGduOS8yAC95bGduOS8zAC95bGduOS80AC95bGduOS81AC95bGduOS82AC95bGduOS83AC95bGduOS84AC95bGduOS85AC95bGduYnUzLzEAL3lsZ25idTMvMgAveWxnbmJ1My8zAC95bGduYnU0LzEAL3lsZ25idTQvMgAveWxnbmJ1NC8zAC95bGduYnU0LzQAL3lsZ25idTUvMQAveWxnbmJ1NS8yAC95bGduYnU1LzMAL3lsZ25idTUvNAAveWxnbmJ1NS81AC95bGduYnU2LzEAL3lsZ25idTYvMgAveWxnbmJ1Ni8zAC95bGduYnU2LzQAL3lsZ25idTYvNQAveWxnbmJ1Ni82AC95bGduYnU3LzEAL3lsZ25idTcvMgAveWxnbmJ1Ny8zAC95bGduYnU3LzQAL3lsZ25idTcvNQAveWxnbmJ1Ny82AC95bGduYnU3LzcAL3lsZ25idTgvMQAveWxnbmJ1OC8yAC95bGduYnU4LzMAL3lsZ25idTgvNAAveWxnbmJ1OC81AC95bGduYnU4LzYAL3lsZ25idTgvNwAveWxnbmJ1OC84AC95bGduYnU5LzEAL3lsZ25idTkvMgAveWxnbmJ1OS8zAC95bGduYnU5LzQAL3lsZ25idTkvNQAveWxnbmJ1OS82AC95bGduYnU5LzcAL3lsZ25idTkvOAAveWxnbmJ1OS85AC95bG9yYnIzLzEAL3lsb3JicjMvMgAveWxvcmJyMy8zAC95bG9yYnI0LzEAL3lsb3JicjQvMgAveWxvcmJyNC8zAC95bG9yYnI0LzQAL3lsb3JicjUvMQAveWxvcmJyNS8yAC95bG9yYnI1LzMAL3lsb3JicjUvNAAveWxvcmJyNS81AC95bG9yYnI2LzEAL3lsb3JicjYvMgAveWxvcmJyNi8zAC95bG9yYnI2LzQAL3lsb3JicjYvNQAveWxvcmJyNi82AC95bG9yYnI3LzEAL3lsb3JicjcvMgAveWxvcmJyNy8zAC95bG9yYnI3LzQAL3lsb3JicjcvNQAveWxvcmJyNy82AC95bG9yYnI3LzcAL3lsb3JicjgvMQAveWxvcmJyOC8yAC95bG9yYnI4LzMAL3lsb3JicjgvNAAveWxvcmJyOC81AC95bG9yYnI4LzYAL3lsb3JicjgvNwAveWxvcmJyOC84AC95bG9yYnI5LzEAL3lsb3JicjkvMgAveWxvcmJyOS8zAC95bG9yYnI5LzQAL3lsb3JicjkvNQAveWxvcmJyOS82AC95bG9yYnI5LzcAL3lsb3JicjkvOAAveWxvcmJyOS85AC95bG9ycmQzLzEAL3lsb3JyZDMvMgAveWxvcnJkMy8zAC95bG9ycmQ0LzEAL3lsb3JyZDQvMgAveWxvcnJkNC8zAC95bG9ycmQ0LzQAL3lsb3JyZDUvMQAveWxvcnJkNS8yAC95bG9ycmQ1LzMAL3lsb3JyZDUvNAAveWxvcnJkNS81AC95bG9ycmQ2LzEAL3lsb3JyZDYvMgAveWxvcnJkNi8zAC95bG9ycmQ2LzQAL3lsb3JyZDYvNQAveWxvcnJkNi82AC95bG9ycmQ3LzEAL3lsb3JyZDcvMgAveWxvcnJkNy8zAC95bG9ycmQ3LzQAL3lsb3JyZDcvNQAveWxvcnJkNy82AC95bG9ycmQ3LzcAL3lsb3JyZDgvMQAveWxvcnJkOC8yAC95bG9ycmQ4LzMAL3lsb3JyZDgvNAAveWxvcnJkOC81AC95bG9ycmQ4LzYAL3lsb3JyZDgvNwAveWxvcnJkOC84AC95bG9ycmQ5LzEAL3lsb3JyZDkvMgAveWxvcnJkOS8zAC95bG9ycmQ5LzQAL3lsb3JyZDkvNQAveWxvcnJkOS82AC95bG9ycmQ5LzcAL3lsb3JyZDkvOAAveWxvcnJkOS85AGFsaWNlYmx1ZQBhbnRpcXVld2hpdGUAYW50aXF1ZXdoaXRlMQBhbnRpcXVld2hpdGUyAGFudGlxdWV3aGl0ZTMAYW50aXF1ZXdoaXRlNABhcXVhbWFyaW5lAGFxdWFtYXJpbmUxAGFxdWFtYXJpbmUyAGFxdWFtYXJpbmUzAGFxdWFtYXJpbmU0AGF6dXJlAGF6dXJlMQBhenVyZTIAYXp1cmUzAGF6dXJlNABiZWlnZQBiaXNxdWUAYmlzcXVlMQBiaXNxdWUyAGJpc3F1ZTMAYmlzcXVlNABibGFuY2hlZGFsbW9uZABibHVlAGJsdWUxAGJsdWUyAGJsdWUzAGJsdWU0AGJsdWV2aW9sZXQAYnJvd24AYnJvd24xAGJyb3duMgBicm93bjMAYnJvd240AGJ1cmx5d29vZABidXJseXdvb2QxAGJ1cmx5d29vZDIAYnVybHl3b29kMwBidXJseXdvb2Q0AGNhZGV0Ymx1ZQBjYWRldGJsdWUxAGNhZGV0Ymx1ZTIAY2FkZXRibHVlMwBjYWRldGJsdWU0AGNoYXJ0cmV1c2UAY2hhcnRyZXVzZTEAY2hhcnRyZXVzZTIAY2hhcnRyZXVzZTMAY2hhcnRyZXVzZTQAY2hvY29sYXRlAGNob2NvbGF0ZTEAY2hvY29sYXRlMgBjaG9jb2xhdGUzAGNob2NvbGF0ZTQAY29yYWwAY29yYWwxAGNvcmFsMgBjb3JhbDMAY29yYWw0AGNvcm5mbG93ZXJibHVlAGNvcm5zaWxrAGNvcm5zaWxrMQBjb3Juc2lsazIAY29ybnNpbGszAGNvcm5zaWxrNABjcmltc29uAGN5YW4AY3lhbjEAY3lhbjIAY3lhbjMAY3lhbjQAZGFya2dvbGRlbnJvZABkYXJrZ29sZGVucm9kMQBkYXJrZ29sZGVucm9kMgBkYXJrZ29sZGVucm9kMwBkYXJrZ29sZGVucm9kNABkYXJrZ3JlZW4AZGFya2toYWtpAGRhcmtvbGl2ZWdyZWVuAGRhcmtvbGl2ZWdyZWVuMQBkYXJrb2xpdmVncmVlbjIAZGFya29saXZlZ3JlZW4zAGRhcmtvbGl2ZWdyZWVuNABkYXJrb3JhbmdlAGRhcmtvcmFuZ2UxAGRhcmtvcmFuZ2UyAGRhcmtvcmFuZ2UzAGRhcmtvcmFuZ2U0AGRhcmtvcmNoaWQAZGFya29yY2hpZDEAZGFya29yY2hpZDIAZGFya29yY2hpZDMAZGFya29yY2hpZDQAZGFya3NhbG1vbgBkYXJrc2VhZ3JlZW4AZGFya3NlYWdyZWVuMQBkYXJrc2VhZ3JlZW4yAGRhcmtzZWFncmVlbjMAZGFya3NlYWdyZWVuNABkYXJrc2xhdGVibHVlAGRhcmtzbGF0ZWdyYXkAZGFya3NsYXRlZ3JheTEAZGFya3NsYXRlZ3JheTIAZGFya3NsYXRlZ3JheTMAZGFya3NsYXRlZ3JheTQAZGFya3NsYXRlZ3JleQBkYXJrdHVycXVvaXNlAGRhcmt2aW9sZXQAZGVlcHBpbmsAZGVlcHBpbmsxAGRlZXBwaW5rMgBkZWVwcGluazMAZGVlcHBpbms0AGRlZXBza3libHVlAGRlZXBza3libHVlMQBkZWVwc2t5Ymx1ZTIAZGVlcHNreWJsdWUzAGRlZXBza3libHVlNABkaW1ncmF5AGRpbWdyZXkAZG9kZ2VyYmx1ZQBkb2RnZXJibHVlMQBkb2RnZXJibHVlMgBkb2RnZXJibHVlMwBkb2RnZXJibHVlNABmaXJlYnJpY2sAZmlyZWJyaWNrMQBmaXJlYnJpY2syAGZpcmVicmljazMAZmlyZWJyaWNrNABmbG9yYWx3aGl0ZQBmb3Jlc3RncmVlbgBnYWluc2Jvcm8AZ2hvc3R3aGl0ZQBnb2xkAGdvbGQxAGdvbGQyAGdvbGQzAGdvbGQ0AGdvbGRlbnJvZABnb2xkZW5yb2QxAGdvbGRlbnJvZDIAZ29sZGVucm9kMwBnb2xkZW5yb2Q0AGdyYXkAZ3JheTAAZ3JheTEAZ3JheTEwAGdyYXkxMDAAZ3JheTExAGdyYXkxMgBncmF5MTMAZ3JheTE0AGdyYXkxNQBncmF5MTYAZ3JheTE3AGdyYXkxOABncmF5MTkAZ3JheTIAZ3JheTIwAGdyYXkyMQBncmF5MjIAZ3JheTIzAGdyYXkyNABncmF5MjUAZ3JheTI2AGdyYXkyNwBncmF5MjgAZ3JheTI5AGdyYXkzAGdyYXkzMABncmF5MzEAZ3JheTMyAGdyYXkzMwBncmF5MzQAZ3JheTM1AGdyYXkzNgBncmF5MzcAZ3JheTM4AGdyYXkzOQBncmF5NABncmF5NDAAZ3JheTQxAGdyYXk0MgBncmF5NDMAZ3JheTQ0AGdyYXk0NQBncmF5NDYAZ3JheTQ3AGdyYXk0OABncmF5NDkAZ3JheTUAZ3JheTUwAGdyYXk1MQBncmF5NTIAZ3JheTUzAGdyYXk1NABncmF5NTUAZ3JheTU2AGdyYXk1NwBncmF5NTgAZ3JheTU5AGdyYXk2AGdyYXk2MABncmF5NjEAZ3JheTYyAGdyYXk2MwBncmF5NjQAZ3JheTY1AGdyYXk2NgBncmF5NjcAZ3JheTY4AGdyYXk2OQBncmF5NwBncmF5NzAAZ3JheTcxAGdyYXk3MgBncmF5NzMAZ3JheTc0AGdyYXk3NQBncmF5NzYAZ3JheTc3AGdyYXk3OABncmF5NzkAZ3JheTgAZ3JheTgwAGdyYXk4MQBncmF5ODIAZ3JheTgzAGdyYXk4NABncmF5ODUAZ3JheTg2AGdyYXk4NwBncmF5ODgAZ3JheTg5AGdyYXk5AGdyYXk5MABncmF5OTEAZ3JheTkyAGdyYXk5MwBncmF5OTQAZ3JheTk1AGdyYXk5NgBncmF5OTcAZ3JheTk4AGdyYXk5OQBncmVlbgBncmVlbjEAZ3JlZW4yAGdyZWVuMwBncmVlbjQAZ3JlZW55ZWxsb3cAZ3JleQBncmV5MABncmV5MQBncmV5MTAAZ3JleTEwMABncmV5MTEAZ3JleTEyAGdyZXkxMwBncmV5MTQAZ3JleTE1AGdyZXkxNgBncmV5MTcAZ3JleTE4AGdyZXkxOQBncmV5MgBncmV5MjAAZ3JleTIxAGdyZXkyMgBncmV5MjMAZ3JleTI0AGdyZXkyNQBncmV5MjYAZ3JleTI3AGdyZXkyOABncmV5MjkAZ3JleTMAZ3JleTMwAGdyZXkzMQBncmV5MzIAZ3JleTMzAGdyZXkzNABncmV5MzUAZ3JleTM2AGdyZXkzNwBncmV5MzgAZ3JleTM5AGdyZXk0AGdyZXk0MABncmV5NDEAZ3JleTQyAGdyZXk0MwBncmV5NDQAZ3JleTQ1AGdyZXk0NgBncmV5NDcAZ3JleTQ4AGdyZXk0OQBncmV5NQBncmV5NTAAZ3JleTUxAGdyZXk1MgBncmV5NTMAZ3JleTU0AGdyZXk1NQBncmV5NTYAZ3JleTU3AGdyZXk1OABncmV5NTkAZ3JleTYAZ3JleTYwAGdyZXk2MQBncmV5NjIAZ3JleTYzAGdyZXk2NABncmV5NjUAZ3JleTY2AGdyZXk2NwBncmV5NjgAZ3JleTY5AGdyZXk3AGdyZXk3MABncmV5NzEAZ3JleTcyAGdyZXk3MwBncmV5NzQAZ3JleTc1AGdyZXk3NgBncmV5NzcAZ3JleTc4AGdyZXk3OQBncmV5OABncmV5ODAAZ3JleTgxAGdyZXk4MgBncmV5ODMAZ3JleTg0AGdyZXk4NQBncmV5ODYAZ3JleTg3AGdyZXk4OABncmV5ODkAZ3JleTkAZ3JleTkwAGdyZXk5MQBncmV5OTIAZ3JleTkzAGdyZXk5NABncmV5OTUAZ3JleTk2AGdyZXk5NwBncmV5OTgAZ3JleTk5AGhvbmV5ZGV3AGhvbmV5ZGV3MQBob25leWRldzIAaG9uZXlkZXczAGhvbmV5ZGV3NABob3RwaW5rAGhvdHBpbmsxAGhvdHBpbmsyAGhvdHBpbmszAGhvdHBpbms0AGluZGlhbnJlZABpbmRpYW5yZWQxAGluZGlhbnJlZDIAaW5kaWFucmVkMwBpbmRpYW5yZWQ0AGluZGlnbwBpbnZpcwBpdm9yeQBpdm9yeTEAaXZvcnkyAGl2b3J5MwBpdm9yeTQAa2hha2kAa2hha2kxAGtoYWtpMgBraGFraTMAa2hha2k0AGxhdmVuZGVyAGxhdmVuZGVyYmx1c2gAbGF2ZW5kZXJibHVzaDEAbGF2ZW5kZXJibHVzaDIAbGF2ZW5kZXJibHVzaDMAbGF2ZW5kZXJibHVzaDQAbGF3bmdyZWVuAGxlbW9uY2hpZmZvbgBsZW1vbmNoaWZmb24xAGxlbW9uY2hpZmZvbjIAbGVtb25jaGlmZm9uMwBsZW1vbmNoaWZmb240AGxpZ2h0Ymx1ZQBsaWdodGJsdWUxAGxpZ2h0Ymx1ZTIAbGlnaHRibHVlMwBsaWdodGJsdWU0AGxpZ2h0Y29yYWwAbGlnaHRjeWFuAGxpZ2h0Y3lhbjEAbGlnaHRjeWFuMgBsaWdodGN5YW4zAGxpZ2h0Y3lhbjQAbGlnaHRnb2xkZW5yb2QAbGlnaHRnb2xkZW5yb2QxAGxpZ2h0Z29sZGVucm9kMgBsaWdodGdvbGRlbnJvZDMAbGlnaHRnb2xkZW5yb2Q0AGxpZ2h0Z29sZGVucm9keWVsbG93AGxpZ2h0Z3JheQBsaWdodGdyZXkAbGlnaHRwaW5rAGxpZ2h0cGluazEAbGlnaHRwaW5rMgBsaWdodHBpbmszAGxpZ2h0cGluazQAbGlnaHRzYWxtb24AbGlnaHRzYWxtb24xAGxpZ2h0c2FsbW9uMgBsaWdodHNhbG1vbjMAbGlnaHRzYWxtb240AGxpZ2h0c2VhZ3JlZW4AbGlnaHRza3libHVlAGxpZ2h0c2t5Ymx1ZTEAbGlnaHRza3libHVlMgBsaWdodHNreWJsdWUzAGxpZ2h0c2t5Ymx1ZTQAbGlnaHRzbGF0ZWJsdWUAbGlnaHRzbGF0ZWdyYXkAbGlnaHRzbGF0ZWdyZXkAbGlnaHRzdGVlbGJsdWUAbGlnaHRzdGVlbGJsdWUxAGxpZ2h0c3RlZWxibHVlMgBsaWdodHN0ZWVsYmx1ZTMAbGlnaHRzdGVlbGJsdWU0AGxpZ2h0eWVsbG93AGxpZ2h0eWVsbG93MQBsaWdodHllbGxvdzIAbGlnaHR5ZWxsb3czAGxpZ2h0eWVsbG93NABsaW1lZ3JlZW4AbGluZW4AbWFnZW50YQBtYWdlbnRhMQBtYWdlbnRhMgBtYWdlbnRhMwBtYWdlbnRhNABtYXJvb24AbWFyb29uMQBtYXJvb24yAG1hcm9vbjMAbWFyb29uNABtZWRpdW1hcXVhbWFyaW5lAG1lZGl1bWJsdWUAbWVkaXVtb3JjaGlkAG1lZGl1bW9yY2hpZDEAbWVkaXVtb3JjaGlkMgBtZWRpdW1vcmNoaWQzAG1lZGl1bW9yY2hpZDQAbWVkaXVtcHVycGxlAG1lZGl1bXB1cnBsZTEAbWVkaXVtcHVycGxlMgBtZWRpdW1wdXJwbGUzAG1lZGl1bXB1cnBsZTQAbWVkaXVtc2VhZ3JlZW4AbWVkaXVtc2xhdGVibHVlAG1lZGl1bXNwcmluZ2dyZWVuAG1lZGl1bXR1cnF1b2lzZQBtZWRpdW12aW9sZXRyZWQAbWlkbmlnaHRibHVlAG1pbnRjcmVhbQBtaXN0eXJvc2UAbWlzdHlyb3NlMQBtaXN0eXJvc2UyAG1pc3R5cm9zZTMAbWlzdHlyb3NlNABtb2NjYXNpbgBuYXZham93aGl0ZQBuYXZham93aGl0ZTEAbmF2YWpvd2hpdGUyAG5hdmFqb3doaXRlMwBuYXZham93aGl0ZTQAbmF2eQBuYXZ5Ymx1ZQBub25lAG9sZGxhY2UAb2xpdmVkcmFiAG9saXZlZHJhYjEAb2xpdmVkcmFiMgBvbGl2ZWRyYWIzAG9saXZlZHJhYjQAb3JhbmdlAG9yYW5nZTEAb3JhbmdlMgBvcmFuZ2UzAG9yYW5nZTQAb3JhbmdlcmVkAG9yYW5nZXJlZDEAb3JhbmdlcmVkMgBvcmFuZ2VyZWQzAG9yYW5nZXJlZDQAb3JjaGlkAG9yY2hpZDEAb3JjaGlkMgBvcmNoaWQzAG9yY2hpZDQAcGFsZWdvbGRlbnJvZABwYWxlZ3JlZW4AcGFsZWdyZWVuMQBwYWxlZ3JlZW4yAHBhbGVncmVlbjMAcGFsZWdyZWVuNABwYWxldHVycXVvaXNlAHBhbGV0dXJxdW9pc2UxAHBhbGV0dXJxdW9pc2UyAHBhbGV0dXJxdW9pc2UzAHBhbGV0dXJxdW9pc2U0AHBhbGV2aW9sZXRyZWQAcGFsZXZpb2xldHJlZDEAcGFsZXZpb2xldHJlZDIAcGFsZXZpb2xldHJlZDMAcGFsZXZpb2xldHJlZDQAcGFwYXlhd2hpcABwZWFjaHB1ZmYAcGVhY2hwdWZmMQBwZWFjaHB1ZmYyAHBlYWNocHVmZjMAcGVhY2hwdWZmNABwZXJ1AHBpbmsAcGluazEAcGluazIAcGluazMAcGluazQAcGx1bQBwbHVtMQBwbHVtMgBwbHVtMwBwbHVtNABwb3dkZXJibHVlAHB1cnBsZQBwdXJwbGUxAHB1cnBsZTIAcHVycGxlMwBwdXJwbGU0AHJlZAByZWQxAHJlZDIAcmVkMwByZWQ0AHJvc3licm93bgByb3N5YnJvd24xAHJvc3licm93bjIAcm9zeWJyb3duMwByb3N5YnJvd240AHJveWFsYmx1ZQByb3lhbGJsdWUxAHJveWFsYmx1ZTIAcm95YWxibHVlMwByb3lhbGJsdWU0AHNhZGRsZWJyb3duAHNhbG1vbgBzYWxtb24xAHNhbG1vbjIAc2FsbW9uMwBzYWxtb240AHNhbmR5YnJvd24Ac2VhZ3JlZW4Ac2VhZ3JlZW4xAHNlYWdyZWVuMgBzZWFncmVlbjMAc2VhZ3JlZW40AHNlYXNoZWxsAHNlYXNoZWxsMQBzZWFzaGVsbDIAc2Vhc2hlbGwzAHNlYXNoZWxsNABzaWVubmEAc2llbm5hMQBzaWVubmEyAHNpZW5uYTMAc2llbm5hNABza3libHVlAHNreWJsdWUxAHNreWJsdWUyAHNreWJsdWUzAHNreWJsdWU0AHNsYXRlYmx1ZQBzbGF0ZWJsdWUxAHNsYXRlYmx1ZTIAc2xhdGVibHVlMwBzbGF0ZWJsdWU0AHNsYXRlZ3JheQBzbGF0ZWdyYXkxAHNsYXRlZ3JheTIAc2xhdGVncmF5MwBzbGF0ZWdyYXk0AHNsYXRlZ3JleQBzbm93AHNub3cxAHNub3cyAHNub3czAHNub3c0AHNwcmluZ2dyZWVuAHNwcmluZ2dyZWVuMQBzcHJpbmdncmVlbjIAc3ByaW5nZ3JlZW4zAHNwcmluZ2dyZWVuNABzdGVlbGJsdWUAc3RlZWxibHVlMQBzdGVlbGJsdWUyAHN0ZWVsYmx1ZTMAc3RlZWxibHVlNAB0YW4AdGFuMQB0YW4yAHRhbjMAdGFuNAB0aGlzdGxlAHRoaXN0bGUxAHRoaXN0bGUyAHRoaXN0bGUzAHRoaXN0bGU0AHRvbWF0bwB0b21hdG8xAHRvbWF0bzIAdG9tYXRvMwB0b21hdG80AHR1cnF1b2lzZQB0dXJxdW9pc2UxAHR1cnF1b2lzZTIAdHVycXVvaXNlMwB0dXJxdW9pc2U0AHZpb2xldAB2aW9sZXRyZWQAdmlvbGV0cmVkMQB2aW9sZXRyZWQyAHZpb2xldHJlZDMAdmlvbGV0cmVkNAB3aGVhdAB3aGVhdDEAd2hlYXQyAHdoZWF0MwB3aGVhdDQAd2hpdGUAd2hpdGVzbW9rZQB5ZWxsb3cAeWVsbG93MQB5ZWxsb3cyAHllbGxvdzMAeWVsbG93NAB5ZWxsb3dncmVlbgBsYWNrAGhpdGUAaWdodGdyZXkAWDExLwAvJXMvJXMAaW1hZ2VzY2FsZQBmYWxzZQBibGFjawBkb3R0ZWQAZGFzaGVkAGNwLT5zcmMAaHRtbHRhYmxlLmMAZW1pdF9odG1sX2ltZwBjcC0+c3JjWzBdAHRyYW5zcGFyZW50AF8lZAAlZAAyADMANAA1ADYANwA4ADkAMTAAMTEAMTIAMTMAMTQAMTUAMTYAMTcAMTgAMTkAMjAAQWdub2RlaW5mb190AEFnZWRnZWluZm9fdAByb3dnAGNvbGcAQWdyYXBoaW5mb190AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IALT4AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpbWVtb3J5IGV4aGF1c3RlZAAlcyBpbiBsaW5lICVkIAoALi4uICVzIC4uLgoAVEFCTEUAVFIAVEgAVEQASFRNTABGT05UAEIAVQBPAEkAU1VQAFNVQgBTAEJSAEhSAFZSAElNRwBVbmtub3duIEhUTUwgZWxlbWVudCA8JXM+IG9uIGxpbmUgJWQgCgA8SU1HPgBJbGxlZ2FsIGF0dHJpYnV0ZSAlcyBpbiAlcyAtIGlnbm9yZWQKAHNjYWxlAHNyYwA8QlI+AGFsaWduAElHSFQARUZUAEVOVEVSAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIC0gaWdub3JlZAoAPEZPTlQ+AGNvbG9yAGZhY2UAcG9pbnQtc2l6ZQBQT0lOVC1TSVpFAEltcHJvcGVyICVzIHZhbHVlICVzIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA+ICVkIC0gdG9vIGxhcmdlIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA8ICVkIC0gdG9vIHNtYWxsIC0gaWdub3JlZAA8VEQ+AGJhbGlnbgBiZ2NvbG9yAGJvcmRlcgBjZWxscGFkZGluZwBjZWxsc3BhY2luZwBjb2xzcGFuAGZpeGVkc2l6ZQBncmFkaWVudGFuZ2xlAGhlaWdodABocmVmAGlkAHBvcnQAcm93c3BhbgBzaWRlcwBzdHlsZQB0YXJnZXQAdGl0bGUAdG9vbHRpcAB2YWxpZ24Ad2lkdGgAV0lEVEgAT1RUT00AT1AASURETEUASWxsZWdhbCB2YWx1ZSAlcyBmb3IgVkFMSUdOIC0gaWdub3JlZAoAICwAT1VOREVEAEFESUFMAElsbGVnYWwgdmFsdWUgJXMgZm9yIFNUWUxFIC0gaWdub3JlZAoAU09MSUQASU5WSVNJQkxFAElOVklTAERPVFRFRABEQVNIRUQAVW5yZWNvZ25pemVkIGNoYXJhY3RlciAnJWMnICglZCkgaW4gc2lkZXMgYXR0cmlidXRlCgBST1dTUEFOAFJPV1NQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBIRUlHSFQAR1JBRElFTlRBTkdMRQBSVUUAQUxTRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBGSVhFRFNJWkUgLSBpZ25vcmVkCgBDT0xTUEFOAENPTFNQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBDRUxMU1BBQ0lORwBDRUxMUEFERElORwBCT1JERVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQkFMSUdOIGluIFREIC0gaWdub3JlZAoARVhUAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIGluIFREIC0gaWdub3JlZAoAPFRBQkxFPgBjZWxsYm9yZGVyAGNvbHVtbnMAcm93cwBVbmtub3duIHZhbHVlICVzIGZvciBST1dTIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgQ09MVU1OUyAtIGlnbm9yZWQKAENFTExTQk9SREVSADxIVE1MPgA8L0hUTUw+AC0tAExhYmVsIGNsb3NlZCBiZWZvcmUgZW5kIG9mIEhUTUwgZWxlbWVudAoAVW5jbG9zZWQgY29tbWVudAoAaiA9PSAwAGN2dC5jAFBvYnNwYXRoAHJvdXRlLmMAbGlicGF0aC8lczolZDogJXMKAHNob3J0ZXN0LmMAc291cmNlIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAZGVzdGluYXRpb24gcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBjYW5ub3QgZmluZCB0cmlhbmdsZSBwYXRoAGNhbm5vdCBtYWxsb2Mgb3BzAGNhbm5vdCByZWFsbG9jIG9wcwB0cmlhbmd1bGF0aW9uIGZhaWxlZABjYW5ub3QgbWFsbG9jIHRyaXMAY2Fubm90IHJlYWxsb2MgdHJpcwBjYW5ub3QgbWFsbG9jIGRxLnBubHMAY2Fubm90IHJlYWxsb2MgZHEucG5scwBjYW5ub3QgbWFsbG9jIHBubHMAY2Fubm90IG1hbGxvYyBwbmxwcwBjYW5ub3QgcmVhbGxvYyBwbmxzAGNhbm5vdCByZWFsbG9jIHBubHBzAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVFkARU5USVRJRVMATk1UT0tFTgBOTVRPS0VOUwBOT1RBVElPTigAKAB8AGh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZQBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLwB4bWw9aHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAC9kZXYvdXJhbmRvbQBmYWxsYmFjayg0KQBnZXR0aW1lb2ZkYXlfcmVzID09IDAAeG1scGFyc2UuYwBnYXRoZXJfdGltZV9lbnRyb3B5AEVYUEFUX0VOVFJPUFlfREVCVUcAMQBFbnRyb3B5OiAlcyAtLT4gMHglMCpseCAoJWx1IGJ5dGVzKQoAaW52YWxpZCBhcmd1bWVudABwcmVmaXggbXVzdCBub3QgYmUgYm91bmQgdG8gb25lIG9mIHRoZSByZXNlcnZlZCBuYW1lc3BhY2UgbmFtZXMAcmVzZXJ2ZWQgcHJlZml4ICh4bWxucykgbXVzdCBub3QgYmUgZGVjbGFyZWQgb3IgdW5kZWNsYXJlZAByZXNlcnZlZCBwcmVmaXggKHhtbCkgbXVzdCBub3QgYmUgdW5kZWNsYXJlZCBvciBib3VuZCB0byBhbm90aGVyIG5hbWVzcGFjZSBuYW1lAGNhbm5vdCBzdXNwZW5kIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHkAcGFyc2luZyBmaW5pc2hlZABwYXJzaW5nIGFib3J0ZWQAcGFyc2VyIG5vdCBzdXNwZW5kZWQAcGFyc2VyIHN1c3BlbmRlZABpbGxlZ2FsIGNoYXJhY3RlcihzKSBpbiBwdWJsaWMgaWQAdGV4dCBkZWNsYXJhdGlvbiBub3Qgd2VsbC1mb3JtZWQAWE1MIGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABpbmNvbXBsZXRlIG1hcmt1cCBpbiBwYXJhbWV0ZXIgZW50aXR5AG11c3Qgbm90IHVuZGVjbGFyZSBwcmVmaXgAdW5ib3VuZCBwcmVmaXgAY2Fubm90IGNoYW5nZSBzZXR0aW5nIG9uY2UgcGFyc2luZyBoYXMgYmVndW4AcmVxdWVzdGVkIGZlYXR1cmUgcmVxdWlyZXMgWE1MX0RURCBzdXBwb3J0IGluIEV4cGF0AGVudGl0eSBkZWNsYXJlZCBpbiBwYXJhbWV0ZXIgZW50aXR5AHVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlIC0gcGxlYXNlIHNlbmQgYSBidWcgcmVwb3J0AGRvY3VtZW50IGlzIG5vdCBzdGFuZGFsb25lAGVycm9yIGluIHByb2Nlc3NpbmcgZXh0ZXJuYWwgZW50aXR5IHJlZmVyZW5jZQB1bmNsb3NlZCBDREFUQSBzZWN0aW9uAGVuY29kaW5nIHNwZWNpZmllZCBpbiBYTUwgZGVjbGFyYXRpb24gaXMgaW5jb3JyZWN0AHVua25vd24gZW5jb2RpbmcAWE1MIG9yIHRleHQgZGVjbGFyYXRpb24gbm90IGF0IHN0YXJ0IG9mIGVudGl0eQByZWZlcmVuY2UgdG8gZXh0ZXJuYWwgZW50aXR5IGluIGF0dHJpYnV0ZQByZWZlcmVuY2UgdG8gYmluYXJ5IGVudGl0eQByZWZlcmVuY2UgdG8gaW52YWxpZCBjaGFyYWN0ZXIgbnVtYmVyAGFzeW5jaHJvbm91cyBlbnRpdHkAcmVjdXJzaXZlIGVudGl0eSByZWZlcmVuY2UAdW5kZWZpbmVkIGVudGl0eQBpbGxlZ2FsIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlAGp1bmsgYWZ0ZXIgZG9jdW1lbnQgZWxlbWVudABkdXBsaWNhdGUgYXR0cmlidXRlAG1pc21hdGNoZWQgdGFnAHBhcnRpYWwgY2hhcmFjdGVyAHVuY2xvc2VkIHRva2VuAG5vdCB3ZWxsLWZvcm1lZCAoaW52YWxpZCB0b2tlbikAbm8gZWxlbWVudCBmb3VuZABzeW50YXggZXJyb3IAb3V0IG9mIG1lbW9yeQACAwQFBgcIAAAJCgsMDQ4PEBEAAAAAAAAAAAAAAAASEwAUAAAAAAAAAAAAAAAAAAAVFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQMaGxwdHgAAHyAhIiMkJRARAAAAAAAAAAAAAAAAEhMmFAAAAAAAAAAAAAAAAAAAJxYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFwAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENEQVRBW1VTLUFTQ0lJAFVURi0xNgBVVEYtMTZCRQBVVEYtMTZMRQB2ZXJzaW9uAGVuY29kaW5nAHN0YW5kYWxvbmUARE9DVFlQRQBTWVNURU0AUFVCTElDAEVOVElUWQBBVFRMSVNUAEVMRU1FTlQATk9UQVRJT04ASU5DTFVERQBJR05PUkUARU1QVFkAQU5ZAFBDREFUQQBJTVBMSUVEAFJFUVVJUkVEAEZJWEVEAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5EQVRBAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAEhATFBUWFxgZGhscHR4fICEQECIjECQlJicoKSorECwtLhEvMBERMRERETIzNDU2Nzg5ERAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA6EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA7EDw9Pj9AQRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBCEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBDEBBEEEVGRxBIEEkQEBAQSktMTRAQThBPUBAQEBBREBAQEBAQEBAQEBAQEFIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBUVVZXEBBYWRAQEBAQEBAQEBAQEBAQEBAQEBAQEBBaEFtcXV5fYGFiEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAP7/APwBAAD4AQAAeAAAAAD/+9/7AACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8APz/4K//////////////3///////IECwAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAIb+////AEBJAAAAAAAYAN//AMgAAAAAAAAAAQA8AAAAAAAAAAAAAAAAEOABHgBg/78AAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAD4zwMAAAADACD/fwAAAE4AAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAQACAeADAAAQAAAAAAAAAAEAAgAAAAAPwPAAAAAAAAABAAIAAAAAAAAAAAAAAAAAAQACAAAAAAAwAAAAAAAAAAEAAgAAAAAP0AAAAAAAAAAAAAIAAAAAD/BwAAAAAAAAAAACAAAAAAAP8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAAAAAIAAAAAA/AgAAAAAAAAAAAAQAAAAAEAAAAAAAAIAAgMDfAAwAAAAAAAAAAAAAAAAAHwAAAAAAAP7///8A/P//AAAAAAAAAAD8AAAAAAAAwP/f/wcAAAAAAAAAAAAAgAYA/AAAGD4AAIC/AMwAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAGD///8fAAD/AwAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAEAABgAAAAAAAAAAAA4AAAAABAAAABwAAAAAAAAAAAAAAAAAAAAMAAA/n8vAAD/A/9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4xAAAAAAAAAAAAAAAAAAAAAAAAxP////8AAADAAAAAAAAAAAABAOCfAAAAAH8/AAAAAAAAAAAAAAAAAAAAABAAEAAA/P///x8AAAAAAAwAAAAAAABAAAzwAAAAAAAAwPgAAAAAAAAAwAAAAAAAAAAA/wD///8hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////fwAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAPgAOAA4ABggPj////8//////9/H/zxf/9/AAD///8DAAD/////AQB7A9DBr0IADB+8//8AAAAAAAL//////////////////////////////////////////////////////////w8A/////38AAAD/BwAA/////////////z8AAAAAAAD8///+/////////////////////////////////////////////////////x//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCHA/4AAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAP//////f/8PAAAAAAAAAAD////7/////////////w8A//////////////////////////////////8/AAAA/w8e////AfzB4AAAAAAAAAAAAAAAHgEAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAP////8PAAAA////f////////////////////////////////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAP///////38AAAAAAADAAOAAAAAAAAAAAAAAAIAPcAAAAAAAAAAAAAAAAAAA/wD//38AAwAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAEQIAAAAD/8DAAAAAAAA8AAAAAAAAAAAABDAAAD//wMHAAAAAAD4AAAAAAiAAAAAAAAAAAAAAAgA/z8AwAAAAAAAAAAAAAAAAAAAAPAAAIALAAAAAAAAAIACAADAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAD8/wMAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD///8DfwD/////9/9/DwAAAAAAAAAAAAAAAAAAAAAAgP7/APwBAAD4AQAA+D8AAAAAAAAAAAAAAAAAAAB/fwAwh///////j/8AAAAAAADg//8H/w8AAAAAAAD//////z8AAAAADwAAAAAAAAAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAAAAACA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAADAjwAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/8A/wEAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//P8/AAAAAwAAAAAAAP4DAAAAAAAAAAAAAAAAABgADwAAAAAAAAAAAAAAAAAAAOEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAA////////////////////////////////////////PwD/////f/7///////////////////////////8/AAAAAP//////////PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////38A//8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAAAACAAAIAAAACAAAIAAAACAAAAAAgAAAAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD//////w////////////////8PAP9//n/+//7/AAAAAP8H////f/////////8P//////8HAAAAAAAAAADA////BwD//////wf/AQMAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQC///////////8f//8PAP/////fBwAA//8BAP////////9//f////////////////////////////8e/////////z8PAP///wAAAAAAAAAAAAAAAAAAAAAAAPj//////////+H/AAAAAAAA//////////8/AAAAAAAAAP//////////////////DwAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIEBwMGBQASERMUFRYXGBkaGxwdHh8gIREiIyQRJSYnKCkqKywRLS4vEBAwEBAQEBAQEDEyMxA0NRAQERERERERERERERERERERERERERERERERETYRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE3ERERETgROTo7PD0+ERERERERERERERERERERERERERERERERERERERERERERERERERERERERET8QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARQEERQkNERUZHSEkQEBBKS0xNThAQEE9QEBAQEFEQEBAQEBAQEBARERFSUxAQEBAQEBAQEBAQEREREVQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAREVUQEBAQVhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBXEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBYWVpbEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFwQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9//////////////////////////////////8P/AwAfUAAAAAAAAAAAAAAgAAAAAADfPEDX///7////////////v///////////////////////A/z/////////////////////////AP7///9/Av7/////AAAAAAD/v7YA////BwcAAAD/B//////////+/8P////////////////vH/7h/58AAP///////wDg////////////////AwD//////wcwBP////z/HwAA////AQAAAAAAAAAA/R8AAAAAAADwA/9//////////+//3+H/z//+/u6f+f///cXjn1mAsM//AwDuh/n///1tw4cZAl7A/z8A7r/7///97eO/GwEAz/8AAO6f+f///e3jnxnAsM//AgDsxz3WGMf/w8cdgQDA/wAA7t/9///97+PfHWADz/8AAOzf/f///e/j3x1gQM//BgDs3/3/////599dgADP/wD87P9//P//+y9/gF//AAAMAP7/////f/8HPyD/AwAAAACWJfD+ruz/O18g//MAAAAAAQAAAP8DAAD//v///x/+/wP///7///8fAAAAAAAAAAD///////9/+f8D///nwf//f0D/M/////+/IP//////9////////////z1/Pf//////Pf////89fz3/f/////////89//////////+HAAAAAP//AAD/////////////HwD+//////////////////////////////////////////////////////////+f///+//8H////////////xwEA/98PAP//DwD//w8A/98NAP///////8///wGAEP8DAAAAAP8D//////////////8A//////8H//////////8/AP///x//D/8BwP////8/HwD//////w////8D/wMAAAAA////D/////////9//v8fAP8D/wOAAAAAAAAAAAAAAAD////////v/+8P/wMAAAAA///////z////////v/8DAP///////z8A/+P//////z8AAAAAAAAAAAAAAAAA3m8A////////////////////////////////AAAAAAAAAAD//z8//////z8//6r///8/////////31/cH88P/x/cHwAAAAAAAAAAAAAAAAAAAoAAAP8fAAAAAAAAAAAAAAAAhPwvPlC9//PgQwAA//////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///////wMAAP//////f///////f/////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/f/////8AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAD+Az4f/v///////////3/g/v/////////////34P////8//v////////////9/AAD///8HAAAAAAAA////////////////////////////////PwAAAAAAAAAAAP////////////////////////////////8fAAAAAAAA//////////////////////8fAAAAAAAAAAD//////z//H////w8AAP//////f/CP////gP////////////8AAAAAgP/8////////////////eQ8A/wcAAAAAAAAAAAD/u/f///8AAAD///////8PAP//////////DwD/AwAA/Aj//////wf/////BwD///8f////////9/8AgP8DAAAAAP///////38A/z//A///fwT/////////fwUAADj//zwAfn5+AH9/AAAAAAAAAAAAAAAAAAAAAAAA//////8H/wP//////////////////////////w8A//9/+P//////D/////////////////8//////////////////wMAAAAAfwD44P/9f1/b/////////////////wMAAAD4////////////////PwAA///////////8////////AAAAAAD/DwAAAAAAAAAAAAAAAAAA3/////////////////////8fAAD/A/7//wf+//8HwP////////////9//Pz8HAAAAAD/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///x////////8BAAAAAAD///9/AAD///8HAAAAAAAA////P/////8P/z4AAAAAAP////////////////////////8//wMAAAAAAAAAAAAAP/3/////v5H//z8AAAAAAAAAAAAAAAAAAAAAAAAAAAD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//w8AAAAAAP///x8AAAAAAAAAAAAAAAAAAAAA////////PwD//z8A//8HAAAAAAAAAAAAAAAAAAAAAAD///////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/8AAAAAAAAAAP//////////HgD/AwAAAAAAAAAAAAAAAAAAAAAAAAAA////////PwD/AwAAAAAAAP////////////////9/AAAAAAAAAAAAAAAAAAAAAAAA////////////////BwAAAAAAAAAAAAAAAAAAAAAAAAD//////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8fAP//////fwAA+P8AAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////7////5b+9wqE6paqlvf3Xv/7/w/u+/8PAAAAAAAAAABMQ19BTEwATENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOADAxMjM0NTY3ODlBQkNERUYuAGFsbnVtAGFscGhhAGJsYW5rAGNudHJsAGRpZ2l0AGdyYXBoAGxvd2VyAHByaW50AHB1bmN0AHNwYWNlAHVwcGVyAHhkaWdpdABDLlVURi04AAAAAAAAAAAAQwAvcHJvYy9zZWxmL2ZkLwByd2EAaW5maW5pdHkAbmFuAAkACgANAAwABwAbAFtbOmFsbnVtOl1fXQBbXls6YWxudW06XV9dAFtbOnNwYWNlOl1dAFteWzpzcGFjZTpdXQBbWzpkaWdpdDpdXQBbXls6ZGlnaXQ6XV0AL3RtcC90bXBmaWxlX1hYWFhYWAB3Kw==";var tA=I;function cA(){re()}function bA(){return t||"undefined"!=typeof dateNow||(n||l)&&self.performance&&self.performance.now}I+=16;var sA={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 wA(e){return A.___errno_location&&(C[A.___errno_location()>>2]=e),e}function uA(A,e){var i;if(0===A)i=Date.now();else{if(1!==A||!bA())return wA(sA.EINVAL),-1;i=cA()}return C[e>>2]=i/1e3|0,C[e+4>>2]=i%1e3*1e3*1e3|0,0}var kA={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"},oA={splitPath:function(A){return/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,e){for(var i=0,r=A.length-1;r>=0;r--){var f=A[r];"."===f?A.splice(r,1):".."===f?(A.splice(r,1),i++):i&&(A.splice(r,1),i--)}if(e)for(;i;i--)A.unshift("..");return A},normalize:function(A){var e="/"===A.charAt(0),i="/"===A.substr(-1);return(A=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||e||(A="."),A&&i&&(A+="/"),(e?"/":"")+A},dirname:function(A){var e=oA.splitPath(A),i=e[0],r=e[1];return i||r?(r&&(r=r.substr(0,r.length-1)),i+r):"."},basename:function(A){if("/"===A)return"/";var e=A.lastIndexOf("/");return-1===e?A:A.substr(e+1)},extname:function(A){return oA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return oA.normalize(A.join("/"))},join2:function(A,e){return oA.normalize(A+"/"+e)},resolve:function(){for(var A="",e=!1,i=arguments.length-1;i>=-1&&!e;i--){var r=i>=0?arguments[i]:EA.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";A=r+"/"+A,e="/"===r.charAt(0)}return(e?"/":"")+(A=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||"."},relative:function(A,e){function i(A){for(var e=0;e=0&&""===A[i];i--);return e>i?[]:A.slice(e,i-e+1)}A=oA.resolve(A).substr(1),e=oA.resolve(e).substr(1);for(var r=i(A.split("/")),f=i(e.split("/")),a=Math.min(r.length,f.length),n=a,l=0;l0?i.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n");if(!e)return null;A.input=NA(e,!0)}return A.input.shift()},put_char:function(e,i){null===i||10===i?(A.print(z(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.print(z(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,i){null===i||10===i?(A.printErr(z(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.printErr(z(e.output,0)),e.output=[])}}},dA={ops_table:null,mount:function(A){return dA.createNode(null,"/",16895,0)},createNode:function(A,e,i,r){if(EA.isBlkdev(i)||EA.isFIFO(i))throw new EA.ErrnoError(sA.EPERM);dA.ops_table||(dA.ops_table={dir:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr,lookup:dA.node_ops.lookup,mknod:dA.node_ops.mknod,rename:dA.node_ops.rename,unlink:dA.node_ops.unlink,rmdir:dA.node_ops.rmdir,readdir:dA.node_ops.readdir,symlink:dA.node_ops.symlink},stream:{llseek:dA.stream_ops.llseek}},file:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr},stream:{llseek:dA.stream_ops.llseek,read:dA.stream_ops.read,write:dA.stream_ops.write,allocate:dA.stream_ops.allocate,mmap:dA.stream_ops.mmap,msync:dA.stream_ops.msync}},link:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr,readlink:dA.node_ops.readlink},stream:{}},chrdev:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr},stream:EA.chrdev_stream_ops}});var f=EA.createNode(A,e,i,r);return EA.isDir(f.mode)?(f.node_ops=dA.ops_table.dir.node,f.stream_ops=dA.ops_table.dir.stream,f.contents={}):EA.isFile(f.mode)?(f.node_ops=dA.ops_table.file.node,f.stream_ops=dA.ops_table.file.stream,f.usedBytes=0,f.contents=null):EA.isLink(f.mode)?(f.node_ops=dA.ops_table.link.node,f.stream_ops=dA.ops_table.link.stream):EA.isChrdev(f.mode)&&(f.node_ops=dA.ops_table.chrdev.node,f.stream_ops=dA.ops_table.chrdev.stream),f.timestamp=Date.now(),A&&(A.contents[e]=f),f},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var e=[],i=0;iA.contents.length&&(A.contents=dA.getFileDataAsRegularArray(A),A.usedBytes=A.contents.length),!A.contents||A.contents.subarray){var i=A.contents?A.contents.length:0;if(i>=e)return;e=Math.max(e,i*(i<1048576?2:1.125)|0),0!=i&&(e=Math.max(e,256));var r=A.contents;return A.contents=new Uint8Array(e),void(A.usedBytes>0&&A.contents.set(r.subarray(0,A.usedBytes),0))}for(!A.contents&&e>0&&(A.contents=[]);A.contents.lengthe)A.contents.length=e;else for(;A.contents.length=A.node.usedBytes)return 0;var n=Math.min(A.node.usedBytes-f,r);if(k(n>=0),n>8&&a.subarray)e.set(a.subarray(f,f+n),i);else for(var l=0;l0||f+rn.timestamp)&&(f.push(i),r++)}));var a=[];if(Object.keys(e.entries).forEach((function(i){e.entries[i],A.entries[i]||(a.push(i),r++)})),!r)return i(null);var n=0,l=("remote"===A.type?A.db:e.db).transaction([BA.DB_STORE_NAME],"readwrite"),t=l.objectStore(BA.DB_STORE_NAME);function c(A){return A?c.errored?void 0:(c.errored=!0,i(A)):++n>=r?i(null):void 0}l.onerror=function(A){c(this.error),A.preventDefault()},f.sort().forEach((function(A){"local"===e.type?BA.loadRemoteEntry(t,A,(function(e,i){if(e)return c(e);BA.storeLocalEntry(A,i,c)})):BA.loadLocalEntry(A,(function(e,i){if(e)return c(e);BA.storeRemoteEntry(t,A,i,c)}))})),a.sort().reverse().forEach((function(A){"local"===e.type?BA.removeLocalEntry(A,c):BA.removeRemoteEntry(t,A,c)}))}},vA={isWindows:!1,staticInit:function(){vA.isWindows=!!process.platform.match(/^win/);var A=process.binding("constants");A.fs&&(A=A.fs),vA.flagsForNodeMap={1024:A.O_APPEND,64:A.O_CREAT,128:A.O_EXCL,0:A.O_RDONLY,2:A.O_RDWR,4096:A.O_SYNC,512:A.O_TRUNC,1:A.O_WRONLY}},bufferFrom:function(A){return Buffer.alloc?Buffer.from(A):new Buffer(A)},mount:function(A){return k(t),vA.createNode(null,"/",vA.getMode(A.opts.root),0)},createNode:function(A,e,i,r){if(!EA.isDir(i)&&!EA.isFile(i)&&!EA.isLink(i))throw new EA.ErrnoError(sA.EINVAL);var f=EA.createNode(A,e,i);return f.node_ops=vA.node_ops,f.stream_ops=vA.stream_ops,f},getMode:function(A){var e;try{e=FA.lstatSync(A),vA.isWindows&&(e.mode=e.mode|(292&e.mode)>>2)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return e.mode},realPath:function(A){for(var e=[];A.parent!==A;)e.push(A.name),A=A.parent;return e.push(A.mount.opts.root),e.reverse(),oA.join.apply(null,e)},flagsForNode:function(A){A&=-2097153,A&=-2049,A&=-32769,A&=-524289;var e=0;for(var i in vA.flagsForNodeMap)A&i&&(e|=vA.flagsForNodeMap[i],A^=i);if(A)throw new EA.ErrnoError(sA.EINVAL);return e},node_ops:{getattr:function(A){var e,i=vA.realPath(A);try{e=FA.lstatSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return vA.isWindows&&!e.blksize&&(e.blksize=4096),vA.isWindows&&!e.blocks&&(e.blocks=(e.size+e.blksize-1)/e.blksize|0),{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(A,e){var i=vA.realPath(A);try{if(void 0!==e.mode&&(FA.chmodSync(i,e.mode),A.mode=e.mode),void 0!==e.timestamp){var r=new Date(e.timestamp);FA.utimesSync(i,r,r)}void 0!==e.size&&FA.truncateSync(i,e.size)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},lookup:function(A,e){var i=oA.join2(vA.realPath(A),e),r=vA.getMode(i);return vA.createNode(A,e,r)},mknod:function(A,e,i,r){var f=vA.createNode(A,e,i,r),a=vA.realPath(f);try{EA.isDir(f.mode)?FA.mkdirSync(a,f.mode):FA.writeFileSync(a,"",{mode:f.mode})}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return f},rename:function(A,e,i){var r=vA.realPath(A),f=oA.join2(vA.realPath(e),i);try{FA.renameSync(r,f)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},unlink:function(A,e){var i=oA.join2(vA.realPath(A),e);try{FA.unlinkSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},rmdir:function(A,e){var i=oA.join2(vA.realPath(A),e);try{FA.rmdirSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},readdir:function(A){var e=vA.realPath(A);try{return FA.readdirSync(e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},symlink:function(A,e,i){var r=oA.join2(vA.realPath(A),e);try{FA.symlinkSync(i,r)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},readlink:function(A){var e=vA.realPath(A);try{return e=FA.readlinkSync(e),e=VA.relative(VA.resolve(A.mount.opts.root),e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}}},stream_ops:{open:function(A){var e=vA.realPath(A.node);try{EA.isFile(A.node.mode)&&(A.nfd=FA.openSync(e,vA.flagsForNode(A.flags)))}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},close:function(A){try{EA.isFile(A.node.mode)&&A.nfd&&FA.closeSync(A.nfd)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},read:function(A,e,i,r,f){if(0===r)return 0;try{return FA.readSync(A.nfd,vA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new EA.ErrnoError(sA[A.code])}},write:function(A,e,i,r,f){try{return FA.writeSync(A.nfd,vA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new EA.ErrnoError(sA[A.code])}},llseek:function(A,e,i){var r=e;if(1===i)r+=A.position;else if(2===i&&EA.isFile(A.node.mode))try{r+=FA.fstatSync(A.nfd).size}catch(A){throw new EA.ErrnoError(sA[A.code])}if(r<0)throw new EA.ErrnoError(sA.EINVAL);return r}}},gA={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(A){k(l),gA.reader||(gA.reader=new FileReaderSync);var e=gA.createNode(null,"/",gA.DIR_MODE,0),i={};function r(A){for(var r=A.split("/"),f=e,a=0;a=A.node.size)return 0;var a=A.node.contents.slice(f,f+r),n=gA.reader.readAsArrayBuffer(a);return e.set(new Uint8Array(n),i),a.size},write:function(A,e,i,r,f){throw new EA.ErrnoError(sA.EIO)},llseek:function(A,e,i){var r=e;if(1===i?r+=A.position:2===i&&EA.isFile(A.node.mode)&&(r+=A.node.size),r<0)throw new EA.ErrnoError(sA.EINVAL);return r}}};I+=16,I+=16,I+=16;var EA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof EA.ErrnoError))throw e+" : "+(i=function(){var A=new Error;if(!A.stack){try{throw new Error(0)}catch(e){A=e}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}(),A.extraStackTrace&&(i+="\\n"+A.extraStackTrace()),i.replace(/__Z[\\w\\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"})));var i;return wA(e.errno)},lookupPath:function(A,e){if(e=e||{},!(A=oA.resolve(EA.cwd(),A)))return{path:"",node:null};var i={follow_mount:!0,recurse_count:0};for(var r in i)void 0===e[r]&&(e[r]=i[r]);if(e.recurse_count>8)throw new EA.ErrnoError(sA.ELOOP);for(var f=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),a=EA.root,n="/",l=0;l40)throw new EA.ErrnoError(sA.ELOOP)}}return{path:n,node:a}},getPath:function(A){for(var e;;){if(EA.isRoot(A)){var i=A.mount.mountpoint;return e?"/"!==i[i.length-1]?i+"/"+e:i+e:i}e=e?A.name+"/"+e:A.name,A=A.parent}},hashName:function(A,e){for(var i=0,r=0;r>>0)%EA.nameTable.length},hashAddNode:function(A){var e=EA.hashName(A.parent.id,A.name);A.name_next=EA.nameTable[e],EA.nameTable[e]=A},hashRemoveNode:function(A){var e=EA.hashName(A.parent.id,A.name);if(EA.nameTable[e]===A)EA.nameTable[e]=A.name_next;else for(var i=EA.nameTable[e];i;){if(i.name_next===A){i.name_next=A.name_next;break}i=i.name_next}},lookupNode:function(A,e){var i=EA.mayLookup(A);if(i)throw new EA.ErrnoError(i,A);for(var r=EA.hashName(A.id,e),f=EA.nameTable[r];f;f=f.name_next){var a=f.name;if(f.parent.id===A.id&&a===e)return f}return EA.lookup(A,e)},createNode:function(A,e,i,r){if(!EA.FSNode){EA.FSNode=function(A,e,i,r){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=EA.nextInode++,this.name=e,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=r},EA.FSNode.prototype={};Object.defineProperties(EA.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return EA.isDir(this.mode)}},isDevice:{get:function(){return EA.isChrdev(this.mode)}}})}var f=new EA.FSNode(A,e,i,r);return EA.hashAddNode(f),f},destroyNode:function(A){EA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},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(A){var e=EA.flagModes[A];if(void 0===e)throw new Error("Unknown file open mode: "+A);return e},flagsToPermissionString:function(A){var e=["r","w","rw"][3&A];return 512&A&&(e+="w"),e},nodePermissions:function(A,e){return EA.ignorePermissions||(-1===e.indexOf("r")||292&A.mode)&&(-1===e.indexOf("w")||146&A.mode)&&(-1===e.indexOf("x")||73&A.mode)?0:sA.EACCES},mayLookup:function(A){return EA.nodePermissions(A,"x")||(A.node_ops.lookup?0:sA.EACCES)},mayCreate:function(A,e){try{return EA.lookupNode(A,e),sA.EEXIST}catch(A){}return EA.nodePermissions(A,"wx")},mayDelete:function(A,e,i){var r;try{r=EA.lookupNode(A,e)}catch(A){return A.errno}var f=EA.nodePermissions(A,"wx");if(f)return f;if(i){if(!EA.isDir(r.mode))return sA.ENOTDIR;if(EA.isRoot(r)||EA.getPath(r)===EA.cwd())return sA.EBUSY}else if(EA.isDir(r.mode))return sA.EISDIR;return 0},mayOpen:function(A,e){return A?EA.isLink(A.mode)?sA.ELOOP:EA.isDir(A.mode)&&("r"!==EA.flagsToPermissionString(e)||512&e)?sA.EISDIR:EA.nodePermissions(A,EA.flagsToPermissionString(e)):sA.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(A,e){A=A||0,e=e||EA.MAX_OPEN_FDS;for(var i=A;i<=e;i++)if(!EA.streams[i])return i;throw new EA.ErrnoError(sA.EMFILE)},getStream:function(A){return EA.streams[A]},createStream:function(A,e,i){EA.FSStream||(EA.FSStream=function(){},EA.FSStream.prototype={},Object.defineProperties(EA.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var r=new EA.FSStream;for(var f in A)r[f]=A[f];A=r;var a=EA.nextfd(e,i);return A.fd=a,EA.streams[a]=A,A},closeStream:function(A){EA.streams[A]=null},chrdev_stream_ops:{open:function(A){var e=EA.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new EA.ErrnoError(sA.ESPIPE)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,e){return A<<8|e},registerDevice:function(A,e){EA.devices[A]={stream_ops:e}},getDevice:function(A){return EA.devices[A]},getMounts:function(A){for(var e=[],i=[A];i.length;){var r=i.pop();e.push(r),i.push.apply(i,r.mounts)}return e},syncfs:function(A,e){"function"==typeof A&&(e=A,A=!1),EA.syncFSRequests++,EA.syncFSRequests>1&&console.log("warning: "+EA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var i=EA.getMounts(EA.root.mount),r=0;function f(A){return k(EA.syncFSRequests>0),EA.syncFSRequests--,e(A)}function a(A){if(A)return a.errored?void 0:(a.errored=!0,f(A));++r>=i.length&&f(null)}i.forEach((function(e){if(!e.type.syncfs)return a(null);e.type.syncfs(e,A,a)}))},mount:function(A,e,i){var r,f="/"===i,a=!i;if(f&&EA.root)throw new EA.ErrnoError(sA.EBUSY);if(!f&&!a){var n=EA.lookupPath(i,{follow_mount:!1});if(i=n.path,r=n.node,EA.isMountpoint(r))throw new EA.ErrnoError(sA.EBUSY);if(!EA.isDir(r.mode))throw new EA.ErrnoError(sA.ENOTDIR)}var l={type:A,opts:e,mountpoint:i,mounts:[]},t=A.mount(l);return t.mount=l,l.root=t,f?EA.root=t:r&&(r.mounted=l,r.mount&&r.mount.mounts.push(l)),t},unmount:function(A){var e=EA.lookupPath(A,{follow_mount:!1});if(!EA.isMountpoint(e.node))throw new EA.ErrnoError(sA.EINVAL);var i=e.node,r=i.mounted,f=EA.getMounts(r);Object.keys(EA.nameTable).forEach((function(A){for(var e=EA.nameTable[A];e;){var i=e.name_next;-1!==f.indexOf(e.mount)&&EA.destroyNode(e),e=i}})),i.mounted=null;var a=i.mount.mounts.indexOf(r);k(-1!==a),i.mount.mounts.splice(a,1)},lookup:function(A,e){return A.node_ops.lookup(A,e)},mknod:function(A,e,i){var r=EA.lookupPath(A,{parent:!0}).node,f=oA.basename(A);if(!f||"."===f||".."===f)throw new EA.ErrnoError(sA.EINVAL);var a=EA.mayCreate(r,f);if(a)throw new EA.ErrnoError(a);if(!r.node_ops.mknod)throw new EA.ErrnoError(sA.EPERM);return r.node_ops.mknod(r,f,e,i)},create:function(A,e){return e=void 0!==e?e:438,e&=4095,e|=32768,EA.mknod(A,e,0)},mkdir:function(A,e){return e=void 0!==e?e:511,e&=1023,e|=16384,EA.mknod(A,e,0)},mkdirTree:function(A,e){for(var i=A.split("/"),r="",f=0;fthis.length-1||A<0)){var e=A%this.chunkSize,i=A/this.chunkSize|0;return this.getter(i)[e]}},a.prototype.setDataGetter=function(A){this.getter=A},a.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",i,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+i+". Status: "+A.status);var e,r=Number(A.getResponseHeader("Content-length")),f=(e=A.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=A.getResponseHeader("Content-Encoding"))&&"gzip"===e,n=1048576;f||(n=r);var l=this;l.setDataGetter((function(A){var e=A*n,f=(A+1)*n-1;if(f=Math.min(f,r-1),void 0===l.chunks[A]&&(l.chunks[A]=function(A,e){if(A>e)throw new Error("invalid range ("+A+", "+e+") or no bytes requested!");if(e>r-1)throw new Error("only "+r+" bytes available! programmer error!");var f=new XMLHttpRequest;if(f.open("GET",i,!1),r!==n&&f.setRequestHeader("Range","bytes="+A+"-"+e),"undefined"!=typeof Uint8Array&&(f.responseType="arraybuffer"),f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined"),f.send(null),!(f.status>=200&&f.status<300||304===f.status))throw new Error("Couldn't load "+i+". Status: "+f.status);return void 0!==f.response?new Uint8Array(f.response||[]):NA(f.responseText||"",!0)}(e,f)),void 0===l.chunks[A])throw new Error("doXHR failed!");return l.chunks[A]})),!a&&r||(n=r=1,r=this.getter(0).length,n=r,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var n=new a;Object.defineProperties(n,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var t={isDevice:!1,contents:n}}else t={isDevice:!1,url:i};var c=EA.createFile(A,e,t,r,f);t.contents?c.contents=t.contents:t.url&&(c.contents=null,c.url=t.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var b={};return Object.keys(c.stream_ops).forEach((function(A){var e=c.stream_ops[A];b[A]=function(){if(!EA.forceLoadFile(c))throw new EA.ErrnoError(sA.EIO);return e.apply(null,arguments)}})),b.read=function(A,e,i,r,f){if(!EA.forceLoadFile(c))throw new EA.ErrnoError(sA.EIO);var a=A.node.contents;if(f>=a.length)return 0;var n=Math.min(a.length-f,r);if(k(n>=0),a.slice)for(var l=0;l>2]=r.dev,C[i+4>>2]=0,C[i+8>>2]=r.ino,C[i+12>>2]=r.mode,C[i+16>>2]=r.nlink,C[i+20>>2]=r.uid,C[i+24>>2]=r.gid,C[i+28>>2]=r.rdev,C[i+32>>2]=0,C[i+36>>2]=r.size,C[i+40>>2]=4096,C[i+44>>2]=r.blocks,C[i+48>>2]=r.atime.getTime()/1e3|0,C[i+52>>2]=0,C[i+56>>2]=r.mtime.getTime()/1e3|0,C[i+60>>2]=0,C[i+64>>2]=r.ctime.getTime()/1e3|0,C[i+68>>2]=0,C[i+72>>2]=r.ino,0},doMsync:function(A,e,i,r){var f=new Uint8Array(g.subarray(A,A+i));EA.msync(e,f,0,i,r)},doMkdir:function(A,e){return"/"===(A=oA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),EA.mkdir(A,e,0),0},doMknod:function(A,e,i){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-sA.EINVAL}return EA.mknod(A,e,i),0},doReadlink:function(A,e,i){if(i<=0)return-sA.EINVAL;var r=EA.readlink(A),f=Math.min(i,F(r)),a=v[e+f];return M(r,e,i+1),v[e+f]=a,f},doAccess:function(A,e){if(-8&e)return-sA.EINVAL;var i;i=EA.lookupPath(A,{follow:!0}).node;var r="";return 4&e&&(r+="r"),2&e&&(r+="w"),1&e&&(r+="x"),r&&EA.nodePermissions(i,r)?-sA.EACCES:0},doDup:function(A,e,i){var r=EA.getStream(i);return r&&EA.close(r),EA.open(A,e,0,i,i).fd},doReadv:function(A,e,i,r){for(var f=0,a=0;a>2],l=C[e+(8*a+4)>>2],t=EA.read(A,v,n,l,r);if(t<0)return-1;if(f+=t,t>2],l=C[e+(8*a+4)>>2],t=EA.write(A,v,n,l,r);if(t<0)return-1;f+=t}return f},varargs:0,get:function(A){return CA.varargs+=4,C[CA.varargs-4>>2]},getStr:function(){return d(CA.get())},getStreamFromFD:function(){var A=EA.getStream(CA.get());if(!A)throw new EA.ErrnoError(sA.EBADF);return A},getSocketFromFD:function(){var A=SOCKFS.getSocket(CA.get());if(!A)throw new EA.ErrnoError(sA.EBADF);return A},getSocketAddress:function(A){var e=CA.get(),i=CA.get();if(A&&0===e)return null;var r=__read_sockaddr(e,i);if(r.errno)throw new EA.ErrnoError(r.errno);return r.addr=DNS.lookup_addr(r.addr)||r.addr,r},get64:function(){var A=CA.get(),e=CA.get();return k(A>=0?0===e:-1===e),A},getZero:function(){k(0===CA.get())}},IA=function(A,e,i,r){var f,a;"number"==typeof A?(f=!0,a=A):(f=!1,a=A.length);var n,l=e;if(n=["function"==typeof xA?xA:b,SA,b,s][2](Math.max(a,l?1:2)),f){var t;for(r=n,k(0==(3&n)),t=n+(-4&a);r>2]=0;for(t=n+a;r>0]=0;return n}return A.subarray||A.slice?g.set(A,n):g.set(new Uint8Array(A),n),n}([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");function ZA(e){A.exit(e)}var GA=I;function QA(e){var i,r;QA.called?(r=C[GA>>2],i=C[r>>2]):(QA.called=!0,mA.USER=mA.LOGNAME="web_user",mA.PATH="/",mA.PWD="/",mA.HOME="/home/web_user",mA.LANG="C.UTF-8",mA._=A.thisProgram,i=b(1024),r=b(256),C[r>>2]=i,C[GA>>2]=r);var f=[],a=0;for(var n in e)if("string"==typeof e[n]){var l=n+"="+e[n];f.push(l),a+=l.length}if(a>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var t=0;t>2]=i,i+=l.length+1;C[r+4*f.length>>2]=0}I+=16;var mA={},LA=K,WA=P,yA=P,zA=_,YA=q,DA=O,MA=O;if(cA=t?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:"object"==typeof self&&self.performance&&"function"==typeof self.performance.now?function(){return self.performance.now()}:"object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,EA.staticInit(),p.unshift((function(){A.noFSInit||EA.init.initialized||EA.init()})),U.push((function(){EA.ignorePermissions=!1})),x.push((function(){EA.quit()})),p.unshift((function(){hA.init()})),x.push((function(){hA.shutdown()})),t){var FA=i(725),VA=i(966);vA.staticInit()}QA(mA),W=b(4),G=Q=w(I),L=w(m=G+N),C[W>>2]=L,Z=!0;var JA=!1;function NA(A,e,i){var r=i>0?i:F(A)+1,f=new Array(r),a=D(A,f,0,f.length);return e&&(f.length=a),f}function XA(A){for(var e=[],i=0;i255&&(JA&&k(!1,"Character code "+r+" ("+String.fromCharCode(r)+") at offset "+i+" not in 0x00-0xFF."),r&=255),e.push(String.fromCharCode(r))}return e.join("")}var RA="function"==typeof atob?atob:function(A){var e,i,r,f,a,n,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="",c=0;A=A.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do{e=l.indexOf(A.charAt(c++))<<2|(f=l.indexOf(A.charAt(c++)))>>4,i=(15&f)<<4|(a=l.indexOf(A.charAt(c++)))>>2,r=(3&a)<<6|(n=l.indexOf(A.charAt(c++))),t+=String.fromCharCode(e),64!==a&&(t+=String.fromCharCode(i)),64!==n&&(t+=String.fromCharCode(r))}while(c>2]=i.position,i.getdents&&0===n&&0===a&&(i.getdents=null),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall145:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return CA.doReadv(i,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall146:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return CA.doWritev(i,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall192:function(A,e){CA.varargs=e;try{var i,r=CA.get(),f=CA.get(),a=CA.get(),n=CA.get(),l=CA.get(),t=CA.get();t<<=12;var c=!1;if(-1===l){if(!(i=TA(16384,f)))return-sA.ENOMEM;jA(i,0,f),c=!0}else{var b=EA.getStream(l);if(!b)return-sA.EBADF;var s=EA.mmap(b,g,r,f,t,a,n);i=s.ptr,c=s.allocated}return CA.mappings[i]={malloc:i,len:f,allocated:c,fd:l,flags:n},i}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall195:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get();return CA.doStat(EA.stat,i,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall197:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get();return CA.doStat(EA.stat,i.path,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall20:function(A,e){CA.varargs=e;try{return 42}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall221:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD();switch(CA.get()){case 0:return(r=CA.get())<0?-sA.EINVAL:EA.open(i.path,i.flags,0,r).fd;case 1:case 2:case 13:case 14:case 13:case 14:return 0;case 3:return i.flags;case 4:var r=CA.get();return i.flags|=r,0;case 12:case 12:return r=CA.get(),E[r+0>>1]=2,0;case 16:case 8:default:return-sA.EINVAL;case 9:return wA(sA.EINVAL),-1}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall3:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return EA.read(i,v,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall33:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get();return CA.doAccess(i,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall5:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get(),f=CA.get();return EA.open(i,r,f).fd}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall54:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get();switch(r){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:return i.tty?0:-sA.ENOTTY;case 21519:if(!i.tty)return-sA.ENOTTY;var f=CA.get();return C[f>>2]=0,0;case 21520:return i.tty?-sA.EINVAL:-sA.ENOTTY;case 21531:return f=CA.get(),EA.ioctl(i,r,f);default:re("bad ioctl syscall "+r)}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall6:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD();return EA.close(i),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall91:function(A,e){CA.varargs=e;try{var i=CA.get(),r=CA.get(),f=CA.mappings[i];if(!f)return 0;if(r===f.len){var a=EA.getStream(f.fd);CA.doMsync(i,a,r,f.flags),EA.munmap(a),CA.mappings[i]=null,f.allocated&&UA(f.malloc)}return 0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___unlock:function(){},__exit:ZA,_clock_gettime:uA,_emscripten_asm_const_iii:function(A,e,i){return lA[A](e,i)},_emscripten_get_now:cA,_emscripten_get_now_is_monotonic:bA,_emscripten_memcpy_big:function(A,e,i){return g.set(g.subarray(e,e+i),A),A},_exit:function(A){ZA(A)},_getenv:function A(e){return 0===e?0:(e=d(e),mA.hasOwnProperty(e)?(A.ret&&UA(A.ret),A.ret=(r=F(i=mA[e])+1,(f=xA(r))&&D(i,v,f,r),f)):0);var i,r,f},_gettimeofday:function(A){var e=Date.now();return C[A>>2]=e/1e3|0,C[A+4>>2]=e%1e3*1e3|0,0},_llvm_ceil_f64:LA,_llvm_fabs_f32:WA,_llvm_fabs_f64:yA,_llvm_floor_f64:zA,_llvm_pow_f64:YA,_llvm_sqrt_f32:DA,_llvm_sqrt_f64:MA,_llvm_trap:function(){re("trap!")},_longjmp:function(e,i){throw A.setThrew(e,i||1),"longjmp"},_setenv:function(A,e,i){if(0===A)return wA(sA.EINVAL),-1;var r=d(A),f=d(e);return""===r||-1!==r.indexOf("=")?(wA(sA.EINVAL),-1):(mA.hasOwnProperty(r)&&!i||(mA[r]=f,QA(mA)),0)},_time:function(A){var e=Date.now()/1e3|0;return A&&(C[A>>2]=e),e},_times:function(A){return 0!==A&&jA(A,0,16),0},DYNAMICTOP_PTR:W,tempDoublePtr:tA,ABORT:u,STACKTOP:Q,STACK_MAX:m,cttz_i8:IA};var pA=function(A,e,i){"use asm";var r=new A.Int8Array(i);var f=new A.Int16Array(i);var a=new A.Int32Array(i);var n=new A.Uint8Array(i);var l=new A.Uint16Array(i);var t=new A.Uint32Array(i);var c=new A.Float32Array(i);var b=new A.Float64Array(i);var s=e.DYNAMICTOP_PTR|0;var w=e.tempDoublePtr|0;var u=e.ABORT|0;var k=e.STACKTOP|0;var o=e.STACK_MAX|0;var h=e.cttz_i8|0;var d=0;var B=0;var v=0;var g=0;var E=A.NaN,C=A.Infinity;var I=0,Z=0,G=0,Q=0,m=0.0;var L=0;var W=A.Math.floor;var y=A.Math.abs;var z=A.Math.sqrt;var Y=A.Math.pow;var D=A.Math.cos;var M=A.Math.sin;var F=A.Math.tan;var V=A.Math.acos;var J=A.Math.asin;var N=A.Math.atan;var X=A.Math.atan2;var R=A.Math.exp;var H=A.Math.log;var p=A.Math.ceil;var U=A.Math.imul;var x=A.Math.min;var T=A.Math.max;var j=A.Math.clz32;var S=e.abort;var P=e.assert;var O=e.enlargeMemory;var K=e.getTotalMemory;var _=e.abortOnCannotGrowMemory;var q=e.invoke_d;var $=e.invoke_dddd;var AA=e.invoke_di;var eA=e.invoke_i;var iA=e.invoke_ii;var rA=e.invoke_iii;var fA=e.invoke_iiidd;var aA=e.invoke_iiii;var nA=e.invoke_iiiii;var lA=e.invoke_iiiiii;var tA=e.invoke_iiiiiii;var cA=e.invoke_iiiiiiiiiii;var bA=e.invoke_v;var sA=e.invoke_vi;var wA=e.invoke_vii;var uA=e.invoke_viii;var kA=e.invoke_viiiddi;var oA=e.invoke_viiii;var hA=e.invoke_viiiii;var dA=e.invoke_viiiiii;var BA=e.invoke_viiiiiiiii;var vA=e.___assert_fail;var gA=e.___buildEnvironment;var EA=e.___clock_gettime;var CA=e.___lock;var IA=e.___map_file;var ZA=e.___setErrNo;var GA=e.___syscall10;var QA=e.___syscall140;var mA=e.___syscall145;var LA=e.___syscall146;var WA=e.___syscall192;var yA=e.___syscall195;var zA=e.___syscall197;var YA=e.___syscall20;var DA=e.___syscall221;var MA=e.___syscall3;var FA=e.___syscall33;var VA=e.___syscall5;var JA=e.___syscall54;var NA=e.___syscall6;var XA=e.___syscall91;var RA=e.___unlock;var HA=e.__exit;var pA=e._clock_gettime;var UA=e._emscripten_asm_const_iii;var xA=e._emscripten_get_now;var TA=e._emscripten_get_now_is_monotonic;var jA=e._emscripten_memcpy_big;var SA=e._exit;var PA=e._getenv;var OA=e._gettimeofday;var KA=e._llvm_ceil_f64;var _A=e._llvm_fabs_f32;var qA=e._llvm_fabs_f64;var $A=e._llvm_floor_f64;var Ae=e._llvm_pow_f64;var ee=e._llvm_sqrt_f32;var ie=e._llvm_sqrt_f64;var re=e._llvm_trap;var fe=e._longjmp;var ae=e._setenv;var ne=e._time;var le=e._times;var te=0.0;function ce(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0;Z=k;k=k+16|0;c=Z+8|0;I=4;C=m2(40)|0;a[C>>2]=0;h=Z;d=0;i=iA(29,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;A:do{if((n|0)!=1){d=0;E=iA(23,i<<3|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){i=W6(a[f>>2]|0,C|0,I|0)|0;if(!i)fe(f|0,B|0);L=B}else i=-1;if((i|0)!=1){if(!(r[194954]|0))v=0;else{d=0;i=eA(3)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=0;b=0;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74;break}v=i}d=0;i=rA(97,A|0,110064)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[47323]=0;e:do{if(i|0?(t=r[i>>0]|0,t<<24>>24):0){l=i;f=t;n=0;while(1){t=l+1|0;if(!(f<<24>>24))break e;switch(f<<24>>24|0){case 99:{i=8;g=16;break}case 105:{i=18;g=16;break}case 109:{i=1;g=16;break}case 114:{i=4;g=16;break}case 115:{i=2;g=16;break}default:i=n}if((g|0)==16){g=0;i=n|i;a[47323]=i}l=t;f=r[t>>0]|0;n=i}}}while(0);if(e|0){d=0;aA(20,0,110068,c|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=0;b=v;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74;break}}d=0;o=rA(98,A|0,0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){s=a[o+16>>2]|0;if(a[47323]&2|0){d=0;wA(26,a[15712]|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break}}d=0;n=iA(25,A|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){w=0;while(1){if(!n)break;d=0;i=rA(99,A|0,n|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}t=w;while(1){if(!i)break;if(!((a[47134]|0)==2?(a[(a[i+16>>2]|0)+8>>2]|0)!=0:0))g=32;e:do{if((g|0)==32){g=0;do{if(r[194954]|0){b=a[i>>2]&3;c=(a[a[((b|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;b=(a[a[((b|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if(c>>>0>b>>>0){d=0;f=aA(34,v|0,b|0,c|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){e=W6(a[l>>2]|0,C|0,I|0)|0;if(!e)fe(l|0,B|0);L=B}else e=-1;if((e|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}if(f|0)break e;d=0;uA(64,v|0,b|0,c|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}break}else{d=0;f=aA(34,v|0,c|0,b|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){e=W6(a[l>>2]|0,C|0,I|0)|0;if(!e)fe(l|0,B|0);L=B}else e=-1;if((e|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}if(f|0)break e;d=0;uA(64,v|0,c|0,b|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}break}}}while(0);a[E+(t<<3)+4>>2]=i;d=0;e=iA(30,i|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}a[E+(t<<3)>>2]=e;t=t+1|0}}while(0);d=0;i=rA(100,A|0,i|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}}d=0;n=rA(86,A|0,n|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}w=t}d=0;c=iA(31,w<<3|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){d=0;oA(28,E|0,w|0,8,101);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){n=a[s>>2]|0;d=0;sA(110,n+2|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){t=a[s+16>>2]|0;e=t+(n*40|0)|0;t=t+((n+1|0)*40|0)|0;u=a[15712]|0;l=0;while(1){if((l|0)>=(w|0))break;if((l|0)>0?a[47323]&16|0:0){d=0;wA(26,u|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}i=a[E+(l<<3)+4>>2]|0;b=a[i>>2]&3;n=a[(a[(a[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;i=a[(a[(a[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((n|0)==(i|0)){d=0;oA(29,s|0,n|0,t|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}else{d=0;uA(65,s|0,i|0,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}d=0;uA(65,s|0,n|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}d=0;i=aA(35,s|0,t|0,e|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}if(i|0){b=v;s=c;t=o;e=E;l=E;break A}i=c+(l<<3)|0;d=0;oA(30,h|0,s|0,e|0,t|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}n=h;b=a[n+4>>2]|0;a[i>>2]=a[n>>2];a[i+4>>2]=b;d=0;sA(111,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}l=l+1|0}d=0;bA(8);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){d=0;i=iA(32,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[o+20>>2]=i;d=0;i=iA(33,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[o+24>>2]=i;d=0;uA(66,w|0,c|0,o|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){C=L6(189296,1,C|0,I|0)|0;I=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){b=v;s=c;t=o;e=E;l=E;i=0;n=u;g=74}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=0;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=0;g=74}}else{b=v;s=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=0;s=0;c=0;t=0;e=0;l=E;i=L;n=0;g=74}}else{w=0;b=0;s=0;c=0;t=0;e=0;l=0;i=L;n=0;g=74}}while(0);A:while(1){if((g|0)==74){g=0;if(i|0){u=n;continue}d=0;sA(112,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){G=n;f=l;u=e;o=t;h=c;v=s;E=b;g=w;i=L;n=G;l=f;e=u;t=o;c=h;s=v;b=E;w=g;g=74;continue}if(a[47323]&4|0){d=0;hA(8,n|0,t|0,w|0,s|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){f=n;u=l;o=e;h=t;v=c;E=s;G=b;g=w;i=L;n=f;l=u;e=o;t=h;c=v;s=E;b=G;w=g;g=74;continue}}d=0;dA(10,A|0,t|0,w|0,s|0,e|0,0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){f=n;u=l;o=e;h=t;v=c;E=s;G=b;g=w;i=L;n=f;l=u;e=o;t=h;c=v;s=E;b=G;w=g;g=74;continue}u=n}if(!(r[194954]|0))i=0;else{d=0;sA(113,b|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}i=0}while(1){if((i|0)>=(w|0))break;d=0;sA(105,a[s+(i<<3)+4>>2]|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;n=u;g=74;continue A}i=i+1|0}d=0;sA(105,c|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}d=0;sA(114,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}d=0;sA(105,l|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74}else break}L2(C|0);k=Z;return}function be(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+64|0;o=h+32|0;u=h+16|0;t=h;c=h+48|0;m3(110935,A)|0;m3(110946,A)|0;s=e+16|0;w=t+8|0;l=c+4|0;n=0;while(1){if((n|0)>=(a[e>>2]|0))break;i=a[s>>2]|0;r=a[i+(n*40|0)+20>>2]|0;f=a[i+(n*40|0)+24>>2]|0;if((r|0)==(f|0)){ri(t,r);i=~~+b[t>>3];r=~~+b[w>>3]}else{ai(c,(a[r>>2]&1|0)==0?r:f,i+(n*40|0)|0);i=a[c>>2]|0;r=a[l>>2]|0}a[u>>2]=n;a[u+4>>2]=i;a[u+8>>2]=r;f3(A,110966,u)|0;n=n+1|0}f=e+4|0;r=e+20|0;i=0;while(1){if((i|0)>=(a[f>>2]|0))break;u=a[r>>2]|0;e=a[u+(i*24|0)+16>>2]|0;d=+b[u+(i*24|0)>>3];a[o>>2]=a[u+(i*24|0)+12>>2];a[o+4>>2]=e;b[o+8>>3]=d;f3(A,110986,o)|0;i=i+1|0}m3(111008,A)|0;k=h;return}function se(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;f=a[A>>2]&3;r=a[(a[((f|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;A=a[(a[((f|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;e=+b[r+16>>3]-+b[A+16>>3];i=+b[r+24>>3]-+b[A+24>>3];return~~(i*i+e*e)|0}function we(A,e){A=A|0;e=e|0;return(a[A>>2]|0)-(a[e>>2]|0)|0}function ue(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+32|0;c=w;ri(w+16|0,e);b=e+32|0;s=e+36|0;n=0;while(1){if((n|0)>=(a[b>>2]|0))break;l=a[(a[s>>2]|0)+(n<<2)>>2]|0;do{if(!(r[l+36>>0]|0)){t=a[l+20>>2]|0;if((t|0)==(e|0)){ei(c,l,a[l+24>>2]|0);Ci(A,f,l,0.0)|0;break}else{ei(c,l,t);Ci(A,i,l,0.0)|0;break}}}while(0);n=n+1|0}a[A>>2]=(a[A>>2]|0)+2;k=w;return}function ke(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;l=b;ri(b+16|0,e);t=e+32|0;c=e+36|0;f=0;while(1){if((f|0)>=(a[t>>2]|0))break;n=a[(a[c>>2]|0)+(f<<2)>>2]|0;r=a[n+20>>2]|0;if((r|0)==(e|0))r=a[n+24>>2]|0;ei(l,n,r);Ci(A,i,n,0.0)|0;f=f+1|0}a[A>>2]=(a[A>>2]|0)+1;a[i+24>>2]=e;a[i+20>>2]=e;k=b;return}function oe(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+128|0;L=D+64|0;w=D+48|0;W=D+32|0;y=D+16|0;z=D;n=0;l=i;while(1){if(!l)break;n=n+1|0;l=a[l+8>>2]|0}m=qF((n*56|0)+-112|0)|0;a[L+52>>2]=0;a[L+48>>2]=0;Q=i+8|0;i=a[Q>>2]|0;l=a[i+8>>2]|0;n=a[i+20>>2]|0;if(a[n>>2]&1)n=a[i+24>>2]|0;ei(w,i,n);t=i;h=i;o=0.0;u=+b[w>>3];G=0;s=0.0;I=+b[w+8>>3];while(1){Z=l+8|0;if(!(a[Z>>2]|0))break;E=ii(t,l)|0;Oa(e,E,a[h+12>>2]|0);v=h+36|0;g=l+36|0;if((r[v>>0]|0)==(r[g>>0]|0))if((a[Z>>2]|0)==(f|0)){ei(y,l,E);i=y;Y=12}else{t=h;i=G;c=I}else{ri(W,E);i=W;Y=12}if((Y|0)==12){Y=0;C=+b[i>>3];c=+b[i+8>>3];i=r[v>>0]|0;B=i<<24>>24==0;d=(h|0)==(a[Q>>2]|0);if(B){if(!(r[g>>0]|0))i=0;else i=(a[l+20>>2]|0)==(E|0)?4:2;w=E+48|0;h=n+48|0;t=n+40|0;n=d?0:o>u?4:2}else{if(i<<24>>24==(r[g>>0]|0))i=0;else i=(a[l+20>>2]|0)==(E|0)?1:3;w=E+40|0;h=n+40|0;t=n+48|0;n=d?0:s>I?1:3}fi(L,B&1,+b[t>>3],+b[h>>3],+b[w>>3],n,i);h=G+1|0;n=m+(G*56|0)|0;i=L;t=n+56|0;do{a[n>>2]=a[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(t|0));if((r[v>>0]|0)!=(r[g>>0]|0)?(a[Z>>2]|0)==(f|0):0){ei(z,l,E);w=(r[g>>0]|0)==0;i=E+40|0;n=E+48|0;o=+b[(w?n:i)>>3];fi(L,w&1,+b[(w?i:n)>>3],o,o,w?u>C?4:2:I>c?1:3,0);w=G+2|0;n=m+(h*56|0)|0;i=L;t=n+56|0;do{a[n>>2]=a[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(t|0));n=E;t=l;o=u;u=C;i=w;s=I}else{n=E;t=l;o=u;u=C;i=h;s=I}}E=l;l=a[Z>>2]|0;h=t;G=i;I=c;t=E}l=y2(m,G*56|0)|0;i=G+-1|0;n=0;while(1){if((n|0)>=(G|0))break;if((n|0)>0)a[l+(n*56|0)+48>>2]=l+((n+-1|0)*56|0);if((n|0)<(i|0)){Y=n+1|0;a[l+(n*56|0)+52>>2]=l+(Y*56|0);n=Y;continue}else{n=n+1|0;continue}}a[A>>2]=G;a[A+4>>2]=l;k=D;return}function he(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=jk(25692,a[4581]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(a[A>>2]|0))break;e=(a[c>>2]|0)+(l*72|0)|0;if(!(a[e>>2]&4)){while(1){i=a[(a[e+36>>2]|0)+8>>2]|0;if(!i)break;i=a[i+20>>2]|0;if(!i)break;if(!(a[i>>2]&1))e=i;else break}n=qF(40)|0;a[n+36>>2]=e;b[n+8>>3]=+b[e+40>>3];f=e;i=a[e>>2]|0;while(1){a[f>>2]=i|4;i=a[a[f+36>>2]>>2]|0;if(!i)break;r=a[i+24>>2]|0;if(!r)break;i=a[r>>2]|0;if(i&1|0)break;else f=r}b[n+16>>3]=+b[f+56>>3];Ke(t,n,+b[e+48>>3])}l=l+1|0}return t|0}function de(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=jk(25692,a[4581]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(a[A>>2]|0))break;e=(a[c>>2]|0)+(l*72|0)|0;if(!(a[e>>2]&2)){while(1){i=a[(a[e+36>>2]|0)+12>>2]|0;if(!i)break;i=a[i+20>>2]|0;if(!i)break;if(!(a[i>>2]&1))e=i;else break}n=qF(40)|0;a[n+36>>2]=e;b[n+8>>3]=+b[e+48>>3];f=e;i=a[e>>2]|0;while(1){a[f>>2]=i|2;i=a[(a[f+36>>2]|0)+4>>2]|0;if(!i)break;r=a[i+24>>2]|0;if(!r)break;i=a[r>>2]|0;if(i&1|0)break;else f=r}b[n+16>>3]=+b[f+64>>3];Ke(t,n,+b[e+40>>3])}l=l+1|0}return t|0}function Be(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=i+20|0;t=i+24|0;i=0;while(1){if((i|0)>=(A|0))break;n=a[e+(i<<3)>>2]|0;l=a[e+(i<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(n|0))break;b=l+(f*56|0)|0;Oe(me(a[((r[b>>0]|0)==0?c:t)>>2]|0,b)|0,b);f=f+1|0}i=i+1|0}return}function ve(A){A=A|0;var e=0,i=0;i=A+20|0;We(a[i>>2]|0);e=A+24|0;We(a[e>>2]|0);ye(a[i>>2]|0);ye(a[e>>2]|0);ze(a[i>>2]|0,A);ze(a[e>>2]|0,A);Ye(a[i>>2]|0);Ye(a[e>>2]|0);return}function ge(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0.0,W=0,y=0.0;G=k;k=k+224|0;w=G+176|0;s=G+208|0;I=G+160|0;Z=G+128|0;c=G+96|0;v=G+64|0;g=G;u=G+32|0;E=g+8|0;b[E>>3]=1797693134862315708145274.0e284;b[g>>3]=1797693134862315708145274.0e284;C=g+24|0;b[C>>3]=-1797693134862315708145274.0e284;o=g+16|0;b[o>>3]=-1797693134862315708145274.0e284;m3(110183,A)|0;a[w>>2]=10;a[w+4>>2]=10;f3(A,110589,w)|0;m3(138265,A)|0;l=e+4|0;t=e+12|0;h=v+8|0;d=v+16|0;B=v+24|0;n=0;while(1){if((n|0)>=(a[l>>2]|0))break;W=(a[t>>2]|0)+(n*72|0)+40|0;a[v>>2]=a[W>>2];a[v+4>>2]=a[W+4>>2];a[v+8>>2]=a[W+8>>2];a[v+12>>2]=a[W+12>>2];a[v+16>>2]=a[W+16>>2];a[v+20>>2]=a[W+20>>2];a[v+24>>2]=a[W+24>>2];a[v+28>>2]=a[W+28>>2];L=+b[h>>3];m=+b[d>>3];Q=+b[B>>3];b[c>>3]=+b[v>>3];b[c+8>>3]=L;b[c+16>>3]=m;b[c+24>>3]=Q;f3(A,138284,c)|0;n=n+1|0}n=0;while(1){if((n|0)>=(i|0))break;W=a[f+(n<<3)+4>>2]|0;c=r+(n<<3)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[w>>2]=a[g>>2];a[w+4>>2]=a[g+4>>2];a[w+8>>2]=a[g+8>>2];a[w+12>>2]=a[g+12>>2];a[w+16>>2]=a[g+16>>2];a[w+20>>2]=a[g+20>>2];a[w+24>>2]=a[g+24>>2];a[w+28>>2]=a[g+28>>2];Le(u,A,W,s,e,w);a[g>>2]=a[u>>2];a[g+4>>2]=a[u+4>>2];a[g+8>>2]=a[u+8>>2];a[g+12>>2]=a[u+12>>2];a[g+16>>2]=a[u+16>>2];a[g+20>>2]=a[u+20>>2];a[g+24>>2]=a[u+24>>2];a[g+28>>2]=a[u+28>>2];n=n+1|0}m3(110606,A)|0;l=e+8|0;n=0;while(1){if((n|0)>=(a[e>>2]|0))break;W=(a[l>>2]|0)+(n*72|0)+40|0;a[v>>2]=a[W>>2];a[v+4>>2]=a[W+4>>2];a[v+8>>2]=a[W+8>>2];a[v+12>>2]=a[W+12>>2];a[v+16>>2]=a[W+16>>2];a[v+20>>2]=a[W+20>>2];a[v+24>>2]=a[W+24>>2];a[v+28>>2]=a[W+28>>2];y=+b[v>>3];Q=+b[h>>3];m=+b[d>>3];L=+b[B>>3];b[Z>>3]=y;b[Z+8>>3]=Q;b[Z+16>>3]=m;b[Z+24>>3]=L;f3(A,138321,Z)|0;b[g>>3]=+b[(+b[g>>3]>3];b[E>>3]=+b[(+b[E>>3]>3];b[o>>3]=+b[(+b[o>>3]>m?g:v)+16>>3];b[C>>3]=+b[(+b[C>>3]>L?g:v)+24>>3];n=n+1|0}E=~~(+b[E>>3]+10.0);Z=~~(+b[o>>3]+10.0);W=~~(+b[C>>3]+10.0);a[I>>2]=~~(+b[g>>3]+10.0);a[I+4>>2]=E;a[I+8>>2]=Z;a[I+12>>2]=W;f3(A,110631,I)|0;k=G;return}function Ee(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;X=k;k=k+112|0;z=X+88|0;y=X+72|0;N=X+32|0;M=X+16|0;F=X;V=X+56|0;J=X+40|0;Y=a[15712]|0;C=(l|0)==0;I=F+8|0;Z=M+8|0;E=0;s=0;w=0;u=0;o=0;l=0;while(1){if((E|0)>=(i|0))break;G=a[n+(E<<3)+4>>2]|0;Q=G+48|0;g=(a[(a[((a[G>>2]&3|0)==3?G:Q)+40>>2]|0)+16>>2]|0)+16|0;m=G+16|0;L=(a[m>>2]|0)+16|0;a[y>>2]=a[g>>2];a[y+4>>2]=a[g+4>>2];a[y+8>>2]=a[g+8>>2];a[y+12>>2]=a[g+12>>2];a[z>>2]=a[L>>2];a[z+4>>2]=a[L+4>>2];a[z+8>>2]=a[L+8>>2];a[z+12>>2]=a[L+12>>2];Ce(V,y,z);a[M>>2]=a[V>>2];a[M+4>>2]=a[V+4>>2];a[M+8>>2]=a[V+8>>2];a[M+12>>2]=a[V+12>>2];L=G+-48|0;g=(a[(a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0)+16>>2]|0)+16|0;v=(a[m>>2]|0)+56|0;a[y>>2]=a[g>>2];a[y+4>>2]=a[g+4>>2];a[y+8>>2]=a[g+8>>2];a[y+12>>2]=a[g+12>>2];a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];Ce(J,y,z);a[F>>2]=a[J>>2];a[F+4>>2]=a[J+4>>2];a[F+8>>2]=a[J+8>>2];a[F+12>>2]=a[J+12>>2];v=a[f+(E<<3)>>2]|0;g=a[f+(E<<3)+4>>2]|0;B=v*3|0;W=B+1|0;if((B|0)>=(w|0)){if(s|0)L2(l);o=$F(W<<4)|0;s=o;w=W;u=o;l=o}if(!(r[g>>0]|0)){c=+(Ze(g,e)|0);t=+b[M>>3]}else{t=+Ie(g,e);c=+b[Z>>3]}d=s+16|0;b[s+16>>3]=t;b[s+24>>3]=c;a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];d=1;h=g;B=2;while(1){if((d|0)>=(v|0))break;h=g+(d*56|0)|0;if(!(r[h>>0]|0))c=+(Ze(h,e)|0);else t=+Ie(h,e);R=s+(B+2<<4)|0;p=s+(B+1<<4)|0;H=s+(B<<4)|0;b[H>>3]=t;b[s+(B<<4)+8>>3]=c;a[p>>2]=a[H>>2];a[p+4>>2]=a[H+4>>2];a[p+8>>2]=a[H+8>>2];a[p+12>>2]=a[H+12>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];d=d+1|0;B=B+3|0}if(!(r[h>>0]|0)){c=+(Ze(h,e)|0);t=+b[F>>3]}else{t=+Ie(h,e);c=+b[I>>3]}p=s+(B<<4)|0;R=B+1|0;H=s+(R<<4)|0;b[H>>3]=t;b[s+(R<<4)+8>>3]=c;a[p>>2]=a[H>>2];a[p+4>>2]=a[H+4>>2];a[p+8>>2]=a[H+8>>2];a[p+12>>2]=a[H+12>>2];if(0>1){H=Vh(a[((a[G>>2]&3|0)==3?G:Q)+40>>2]|0)|0;p=Vh(a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0)|0;a[N>>2]=H;a[N+4>>2]=p;f3(Y,110142,N)|0}gX(G,a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0,s,W,25680);if((!C?(D=a[(a[m>>2]|0)+96>>2]|0,D|0):0)?(r[D+81>>0]|0)==0:0){a[y>>2]=a[M>>2];a[y+4>>2]=a[M+4>>2];a[y+8>>2]=a[M+8>>2];a[y+12>>2]=a[M+12>>2];a[z>>2]=a[F>>2];a[z+4>>2]=a[F+4>>2];a[z+8>>2]=a[F+8>>2];a[z+12>>2]=a[F+12>>2];HX(A,G,y,z)}E=E+1|0}L2(u);k=X;return}function Ce(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]+ +b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]+ +b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Ie(A,e){A=A|0;e=e|0;var i=0.0,r=0;e=me(a[e+24>>2]|0,A)|0;r=a[e+36>>2]|0;i=+b[r+40>>3];return+((+b[r+56>>3]-i)*(+(a[A+44>>2]|0)/+((a[e+24>>2]|0)+1|0))+i)}function Ze(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=me(a[e+20>>2]|0,A)|0;e=a[r+36>>2]|0;i=+b[e+48>>3];return~~((1.0-+(a[A+44>>2]|0)/+((a[r+24>>2]|0)+1|0))*(+b[e+64>>3]-i)+i)|0}function Ge(A){A=A|0;return 0}function Qe(A){A=A|0;return 0}function me(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e+8|0,512)|0;if(!A)vA(110155,110161,423,110169);A=a[A+16>>2]|0;A=W5[a[A>>2]&63](A,e+16|0,512)|0;if(!A)vA(110180,110161,425,110169);else return A|0;return 0}function Le(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0.0,s=0,w=0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0.0;G=k;k=k+32|0;Z=G+16|0;g=G+8|0;s=G;t=a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;v=a[f+4>>2]|0;if(!(r[v>>0]|0)){c=+b[t+56>>3];B=+b[t+40>>3];t=Ze(v,n)|0;c=(B+c)*.5}else{c=+b[t+64>>3];B=+b[t+48>>3];t=~~((B+c)*.5);c=+Ie(v,n)}Q=~~c;o=+b[l>>3];d=+(Q|0);o=o>3]=o;E=l+8|0;h=+b[E>>3];B=+(t|0);h=h>3]=h;C=l+16|0;c=+b[C>>3];d=c>d?c:d;b[C>>3]=d;I=l+24|0;c=+b[I>>3];B=c>B?c:B;b[I>>3]=B;a[s>>2]=Q;a[s+4>>2]=t;f3(e,110682,s)|0;u=a[f>>2]|0;s=v;w=1;f=Q;while(1){if((w|0)>=(u|0))break;s=v+(w*56|0)|0;if(!(r[s>>0]|0))t=Ze(s,n)|0;else f=~~+Ie(s,n);m=+(f|0);W=o>3]=W;c=+(t|0);L=h>3]=L;m=d>m?d:m;b[C>>3]=m;c=B>c?B:c;b[I>>3]=c;a[g>>2]=f;a[g+4>>2]=t;f3(e,110704,g)|0;w=w+1|0;o=W;h=L;d=m;B=c}t=a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(r[s>>0]|0)){c=+b[t+56>>3];W=+b[t+40>>3];t=Ze(s,n)|0;c=(W+c)*.5}else{c=+b[t+64>>3];W=+b[t+48>>3];t=~~((W+c)*.5);c=+Ie(s,n)}Q=~~c;L=+(Q|0);b[l>>3]=o>3]=h>3]=d>L?d:L;b[I>>3]=B>W?B:W;a[Z>>2]=Q;a[Z+4>>2]=t;f3(e,110718,Z)|0;a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];a[A+12>>2]=a[l+12>>2];a[A+16>>2]=a[l+16>>2];a[A+20>>2]=a[l+20>>2];a[A+24>>2]=a[l+24>>2];a[A+28>>2]=a[l+28>>2];k=G;return}function We(A){A=A|0;var e=0;A=xk(A)|0;while(1){if(!A)break;e=xk(a[A+16>>2]|0)|0;while(1){if(!e)break;a[e+32>>2]=ni(a[e+24>>2]|0)|0;e=a[e>>2]|0}A=a[A>>2]|0}return}function ye(A){A=A|0;var e=0;A=xk(A)|0;while(1){if(!A)break;e=xk(a[A+16>>2]|0)|0;while(1){if(!e)break;if(a[e+24>>2]|0)Pe(e);e=a[e>>2]|0}A=a[A>>2]|0}return}function ze(A,e){A=A|0;e=e|0;var i=0;i=xk(A)|0;while(1){if(!i)break;A=xk(a[i+16>>2]|0)|0;while(1){if(!A)break;Ve(A,e);A=a[A>>2]|0}i=a[i>>2]|0}return}function Ye(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=xk(A)|0;while(1){if(!r)break;l=r+8|0;f=xk(a[r+16>>2]|0)|0;while(1){if(!f)break;A=f+24|0;A:do{if(a[A>>2]|0){if(a[47323]&8|0)De(f,~~+b[l>>3]);n=f+32|0;si(a[n>>2]|0);e=a[A>>2]|0;i=f+28|0;A=0;while(1){if((A|0)>=(e|0))break A;a[(a[(a[i>>2]|0)+(A<<2)>>2]|0)+44>>2]=(a[(a[(a[n>>2]|0)+4>>2]|0)+(A*12|0)+4>>2]|0)+1;A=A+1|0}}}while(0);f=a[f>>2]|0}r=a[r>>2]|0}return}function De(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+32|0;i=t;n=A+24|0;A:do{if((a[n>>2]|0)>=2){l=a[15712]|0;s=+b[A+8>>3];c=+b[A+16>>3];a[i>>2]=e;b[i+8>>3]=s;b[i+16>>3]=c;f3(l,110739,i)|0;f=A+32|0;A=A+28|0;e=0;while(1){if((e|0)>=(a[n>>2]|0))break A;r=a[(a[(a[f>>2]|0)+4>>2]|0)+(e*12|0)+8>>2]|0;e:do{if(Pk(r)|0){Me(l,a[(a[A>>2]|0)+(e<<2)>>2]|0);m3(110759,l)|0;i=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!i)break e;m3(110764,l)|0;Me(l,a[(a[A>>2]|0)+(a[i>>2]<<2)>>2]|0);m3(153599,l)|0;i=W5[a[r>>2]&63](r,i,8)|0}}}while(0);e=e+1|0}}}while(0);k=t;return}function Me(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0;n=k;k=k+80|0;f=n+40|0;i=n;if(!(r[e>>0]|0)){s=+b[e+16>>3];t=+b[e+8>>3];c=+b[e+24>>3];l=Fe(a[e+32>>2]|0)|0;i=Fe(a[e+36>>2]|0)|0;b[f>>3]=s;b[f+8>>3]=t;b[f+16>>3]=c;b[f+24>>3]=t;a[f+32>>2]=l;a[f+36>>2]=i;f3(A,110770,f)|0}else{c=+b[e+8>>3];t=+b[e+16>>3];s=+b[e+24>>3];f=Fe(a[e+32>>2]|0)|0;l=Fe(a[e+36>>2]|0)|0;b[i>>3]=c;b[i+8>>3]=t;b[i+16>>3]=c;b[i+24>>3]=s;a[i+32>>2]=f;a[i+36>>2]=l;f3(A,110770,i)|0}k=n;return}function Fe(A){A=A|0;switch(A|0){case 0:{A=110821;break}case 1:{A=110816;break}case 2:{A=110809;break}case 3:{A=110802;break}case 4:{A=110794;break}default:A=0}return A|0}function Ve(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+16|0;d=C+8|0;v=C;g=a[A+32>>2]|0;E=a[A+28>>2]|0;o=A+24|0;s=d+4|0;w=v+4|0;t=0;A=a[o>>2]|0;A:while(1){h=t+1|0;if((h|0)>=(A|0))break;u=E+(t<<2)|0;c=h;while(1){if((c|0)>=(A|0)){t=h;continue A}e:do{if(((bi(g,t,c)|0)==0?(bi(g,c,t)|0)==0:0)?(B=E+(c<<2)|0,Je(a[u>>2]|0,a[B>>2]|0)|0):0){f=a[u>>2]|0;A=a[f+48>>2]|0;l=a[B>>2]|0;i=a[l+48>>2]|0;r=(i|0)==0;if(A)if(r)A=1;else A=+b[A+8>>3]!=+b[i+8>>3];else A=r^1;n=A&1;Ne(d,f,l,0,n);A=a[d>>2]|0;l=a[s>>2]|0;f=n^1;Ne(v,a[u>>2]|0,a[B>>2]|0,1,f);i=a[v>>2]|0;r=a[w>>2]|0;switch(l|0){case-1:{Xe(a[B>>2]|0,a[u>>2]|0,n,0,A,e);Xe(a[B>>2]|0,a[u>>2]|0,f,1,i,e);if((r|0)!=1)break e;Re(a[u>>2]|0,a[B>>2]|0,f,e);break e}case 0:switch(r|0){case-1:{Xe(a[B>>2]|0,a[u>>2]|0,n,0,A,e);Xe(a[B>>2]|0,a[u>>2]|0,f,1,i,e);break e}case 0:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);break e}case 1:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);break e}default:break e}case 1:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);if((r|0)!=-1)break e;Re(a[u>>2]|0,a[B>>2]|0,f,e);break e}default:break e}}}while(0);c=c+1|0;A=a[o>>2]|0}}k=C;return}function Je(A,e){A=A|0;e=e|0;if(!(+b[A+8>>3]==+b[e+8>>3]))vA(110892,110161,843,110923);if((+b[A+16>>3]==+b[e+16>>3]?+b[A+24>>3]==+b[e+24>>3]:0)?(a[A+32>>2]|0)==(a[e+32>>2]|0):0)A=(a[A+36>>2]|0)==(a[e+36>>2]|0)&1;else A=0;return A|0}function Ne(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;n=0;while(1){e=He(e,r)|0;if(!e){l=0;break}i=He(i,f)|0;if(!i){t=6;break}if(!(Je(e,i)|0)){t=7;break}n=n+1|0}if((t|0)==6)vA(138394,110161,871,110841);else if((t|0)==7)l=Ue(e,pe(e,i)|0,n+1|0,1-r|0)|0;a[A>>2]=n;a[A+4>>2]=l;return}function Xe(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,k=0,o=0;k=l+20|0;u=l+24|0;l=me(a[((r[A>>0]|0)==0?k:u)>>2]|0,A)|0;ti(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0);c=1;while(1){if((c|0)>(n|0))break;s=He(A,i)|0;w=He(e,f)|0;do{if(!(r[A>>0]|0)){t=me(a[u>>2]|0,s)|0;if(+b[s+8>>3]==+b[A+16>>3]){o=(a[A+32>>2]|0)==1;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}}else{o=(a[A+36>>2]|0)==1;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}}}else{t=me(a[k>>2]|0,s)|0;if(+b[s+8>>3]==+b[A+16>>3]){o=(a[A+32>>2]|0)==2;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}}else{o=(a[A+36>>2]|0)==2;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}}}}while(0);A=s;e=w;c=c+1|0}return}function Re(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0;while(1){if(!(Je(A,e)|0))break;n=He(A,1)|0;e=He(e,i)|0;A=n}n=a[(me(a[((r[A>>0]|0)==0?f+20|0:f+24|0)>>2]|0,A)|0)+32>>2]|0;ci(n,a[A+40>>2]|0,a[e+40>>2]|0);return}function He(A,e){A=A|0;e=e|0;if(!A)vA(110828,110161,798,110832);else return a[((e|0)==0?A+48|0:A+52|0)>>2]|0;return 0}function pe(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=k;k=k+16|0;f=a;i=r[A>>0]|0;if(i<<24>>24==(r[e>>0]|0)?!(+b[A+8>>3]!=+b[e+8>>3]):0){if(!(i<<24>>24))A=xe(A,e,3,1)|0;else A=xe(A,e,4,2)|0;k=a;return A|0}ao(1,110854,f)|0;fe(189296,1);return 0}function Ue(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;t=1;while(1){if((t|0)>(i|0))break;l=He(A,f)|0;n=+b[l+8>>3]==+b[A+16>>3];do{if(!(r[A>>0]|0))if(n){n=(a[A+32>>2]|0)==1;break}else{n=(a[A+36>>2]|0)==3;break}else if(n){n=(a[A+32>>2]|0)==4;break}else{n=(a[A+36>>2]|0)==2;break}}while(0);A=l;t=t+1|0;e=n?0-e|0:e}return e|0}function xe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,k=0;t=+b[A+24>>3];c=+b[e+16>>3];do{if(!(t>3],l=+b[e+24>>3],!(n>l)):0){if(c>2]|0;return((i|0)==(a[e+32>>2]|0)?0:(i|0)==(r|0)?1:-1)|0}else{i=a[A+32>>2]|0;e=(i|0)==(a[e+36>>2]|0)?0:(i|0)==(r|0)?1:-1;break}if(!(t==l))if(t>2]|0)==(i|0);i=Se(a[e+32>>2]|0,a[A+32>>2]|0,i,r)|0;return(k?i:0-i|0)|0}else{k=(a[e+36>>2]|0)==(r|0);e=Se(a[A+32>>2]|0,a[e+32>>2]|0,i,r)|0;e=k?e:0-e|0;break}k=a[A+32>>2]|0;u=a[e+32>>2]|0;if((k|0)==(u|0)){e=a[e+36>>2]|0;if((a[A+36>>2]|0)==(e|0)){e=0;break}}else e=a[e+36>>2]|0;w=(u|0)==(i|0);if((u|0)==(e|0)){if(w){e=1;break}if((u|0)==(r|0)){e=-1;break}if((k|0)!=(i|0)?(a[A+36>>2]|0)!=(i|0):0){e=1;break}if((k|0)!=(r|0)?(a[A+36>>2]|0)!=(r|0):0){e=-1;break}e=0;break}f=(e|0)==(r|0);if(w&f){e=(a[A+36>>2]|0)==(r|0);if((k|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}s=(e|0)==(i|0);if((u|0)==(r|0)&s){e=(k|0)==(r|0);if((a[A+36>>2]|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}if(!u){if(s){e=je(k,a[A+36>>2]|0,i)|0;break}if(f){e=0-(je(k,a[A+36>>2]|0,r)|0)|0;break}}f=a[A+36>>2]|0;if(w&(e|0)==0){e=je(f,k,i)|0;break}else{e=0-(je(f,k,r)|0)|0;break}}else e=0}while(0);return e|0}function Te(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0;l=+b[A+24>>3];t=+b[e+24>>3];do{if(l>2]|0;if((A|0)==(i|0)?(a[e+32>>2]|0)==(r|0):0){A=-1;break}if((A|0)==(r|0)?(a[e+32>>2]|0)==(i|0):0){A=1;break}A=0}else{f=a[e+32>>2]|0;n=(f|0)==(r|0);if(l==t)if(n){A=Se(a[A+36>>2]|0,a[e+36>>2]|0,i,r)|0;break}else{A=0-(Se(a[e+36>>2]|0,a[A+36>>2]|0,i,r)|0)|0;break}if(n?(a[e+36>>2]|0)==(r|0):0){A=-1;break}if((f|0)==(i|0)?(a[e+36>>2]|0)==(i|0):0){A=1;break}A=0}}while(0);return A|0}function je(A,e,i){A=A|0;e=e|0;i=i|0;return((A|0)==(i|0)?((e|0)==(i|0))<<31>>31:1)|0}function Se(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((A|0)==(r|0)){e=(A|0)==0;if(e)return 0;else e=e&1}return((A|0)!=0|(e|0)!=(i|0))<<31>>31|0}function Pe(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;n=a[A+28>>2]|0;l=a[A+24>>2]|0;i=a[A+32>>2]|0;A=0;A:while(1){r=A+1|0;if((r|0)>=(l|0))break;f=n+(A<<2)|0;e=r;while(1){if((e|0)==(l|0)){A=r;continue A}switch(pe(a[f>>2]|0,a[n+(e<<2)>>2]|0)|0){case 1:{ti(i,A,e);break}case-1:{ti(i,e,A);break}default:{}}e=e+1|0}}return}function Oe(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+24|0;r=a[f>>2]|0;i=r+1|0;a[f>>2]=i;a[e+40>>2]=r;r=A+28|0;A=a[r>>2]|0;if(!A)A=$F(i<<2)|0;else A=eV(A,i<<2)|0;a[r>>2]=A;a[A+((a[f>>2]|0)+-1<<2)>>2]=e;return}function Ke(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;b[f>>3]=i;r=W5[a[A>>2]&63](A,f,512)|0;if(!r){r=qF(24)|0;b[r+8>>3]=+b[f>>3];a[r+16>>2]=jk(25728,a[4581]|0)|0;W5[a[A>>2]&63](A,r,1)|0}f=a[r+16>>2]|0;W5[a[f>>2]&63](f,e,1)|0;k=n;return}function _e(A,e,i){A=A|0;e=e|0;i=i|0;li(a[e+32>>2]|0);L2(a[e+28>>2]|0);L2(e);return}function qe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e>>3];a=+b[i>>3];if(!(f>a))if(f>3]>=+b[i+8>>3])<<31>>31;else A=0;else A=!(+b[e+8>>3]<=+b[i+8>>3])&1;return A|0}function $e(A,e,i){A=A|0;e=e|0;i=i|0;pk(a[e+16>>2]|0)|0;L2(e);return}function Ai(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;a=+b[e>>3];f=+b[i>>3];return(a>f?1:(a>31)|0}function ei(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0,t=0;l=(r[e+36>>0]|0)!=0;t=i+40|0;do{if((a[e+24>>2]|0)==(i|0)){f=+b[t>>3];if(l){n=(+b[i+64>>3]+ +b[i+48>>3])*.5;break}else{n=+b[i+48>>3];f=(+b[i+56>>3]+f)*.5;break}}else if(l){n=(+b[i+64>>3]+ +b[i+48>>3])*.5;f=+b[i+56>>3];break}else{n=+b[i+64>>3];f=(+b[i+56>>3]+ +b[t>>3])*.5;break}}while(0);b[A>>3]=f;b[A+8>>3]=n;return}function ii(A,e){A=A|0;e=e|0;var i=0;i=a[A+20>>2]|0;if((i|0)!=(a[e+20>>2]|0)?(i|0)!=(a[e+24>>2]|0):0)i=a[A+24>>2]|0;return i|0}function ri(A,e){A=A|0;e=e|0;var i=0.0;i=(+b[e+64>>3]+ +b[e+48>>3])*.5;b[A>>3]=(+b[e+56>>3]+ +b[e+40>>3])*.5;b[A+8>>3]=i;return}function fi(A,e,i,f,n,l,t){A=A|0;e=e|0;i=+i;f=+f;n=+n;l=l|0;t=t|0;var c=0,s=0;r[A>>0]=e;b[A+8>>3]=i;if(f>3]=f;b[A+16>>3]=i;a[A+36>>2]=e;a[A+32>>2]=s;r[A+1>>0]=c;return}function ai(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=a[e+36>>2]|0;do{if((a[r+4>>2]|0)!=(i|0)){if((a[r+12>>2]|0)==(i|0)){r=~~((+b[e+56>>3]+ +b[e+40>>3])*.5);i=~~+b[e+48>>3];break}if((a[r+8>>2]|0)==(i|0)){r=~~+b[e+40>>3];i=~~((+b[e+64>>3]+ +b[e+48>>3])*.5);break}if((a[r>>2]|0)==(i|0)){r=~~+b[e+56>>3];i=~~((+b[e+64>>3]+ +b[e+48>>3])*.5)}else{r=0;i=0}}else{r=~~((+b[e+56>>3]+ +b[e+40>>3])*.5);i=~~+b[e+64>>3]}}while(0);a[A>>2]=r;a[A+4>>2]=i;return}function ni(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=qF(8)|0;a[i>>2]=A;r=i+4|0;a[r>>2]=qF(A*12|0)|0;e=0;while(1){if((e|0)>=(A|0))break;n=Ma()|0;f=a[r>>2]|0;a[f+(e*12|0)+8>>2]=n;a[f+(e*12|0)>>2]=0;e=e+1|0}return i|0}function li(A){A=A|0;var e=0,i=0,r=0;i=A+4|0;e=0;while(1){r=a[i>>2]|0;if((e|0)>=(a[A>>2]|0))break;pk(a[r+(e*12|0)+8>>2]|0)|0;e=e+1|0}L2(r);L2(A);return}function ti(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=a[(a[A+4>>2]|0)+(e*12|0)+8>>2]|0;W5[a[i>>2]&63](i,f,1)|0;k=r;return}function ci(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r;a[f>>2]=i;A=A+4|0;n=a[(a[A>>2]|0)+(e*12|0)+8>>2]|0;W5[a[n>>2]&63](n,f,2)|0;a[f>>2]=e;i=a[(a[A>>2]|0)+(i*12|0)+8>>2]|0;W5[a[i>>2]&63](i,f,2)|0;k=r;return}function bi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=a[(a[A+4>>2]|0)+(e*12|0)+8>>2]|0;i=(W5[a[i>>2]&63](i,f,512)|0)!=0&1;k=r;return i|0}function si(A){A=A|0;var e=0,i=0,r=0,f=0;e=a[A>>2]|0;switch(e|0){case 0:break;case 1:{a[(a[A+4>>2]|0)+4>>2]=0;break}default:{r=wi(e)|0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(a[A>>2]|0)){e=0;break}if(!(a[(a[f>>2]|0)+(i*12|0)>>2]|0))e=ui(A,i,e,r)|0;i=i+1|0}while(1){i=ki(r)|0;if((i|0)<=-1)break;a[(a[f>>2]|0)+(i*12|0)+4>>2]=e;e=e+1|0}oi(r)}}return}function wi(A){A=A|0;var e=0;e=qF(8)|0;a[e+4>>2]=qF(A<<2)|0;a[e>>2]=-1;return e|0}function ui(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;t=A+4|0;n=a[t>>2]|0;c=n+(e*12|0)|0;a[c>>2]=1;n=a[n+(e*12|0)+8>>2]|0;l=n+4|0;i=i+1|0;n=xk(n)|0;while(1){if(!n)break;f=a[(a[l>>2]|0)+8>>2]|0;if((f|0)<0)f=a[n+8>>2]|0;else f=n+(0-f)|0;f=a[f>>2]|0;if(!(a[(a[t>>2]|0)+(f*12|0)>>2]|0))i=ui(A,f,i,r)|0;n=a[n>>2]|0}a[c>>2]=2;hi(r,e);return i+1|0}function ki(A){A=A|0;var e=0,i=0;e=a[A>>2]|0;if((e|0)==-1)A=-1;else{i=a[(a[A+4>>2]|0)+(e<<2)>>2]|0;a[A>>2]=e+-1;A=i}return A|0}function oi(A){A=A|0;L2(a[A+4>>2]|0);L2(A);return}function hi(A,e){A=A|0;e=e|0;var i=0;i=(a[A>>2]|0)+1|0;a[A>>2]=i;a[(a[A+4>>2]|0)+(i<<2)>>2]=e;return}function di(A){A=A|0;var e=0,i=0,r=0;i=a[A>>2]|0;a[A+8>>2]=i;a[A+12>>2]=a[A+4>>2];e=A+16|0;A=0;while(1){if((A|0)>=(i|0))break;r=a[e>>2]|0;f[r+(A*40|0)+18>>1]=f[r+(A*40|0)+16>>1]|0;A=A+1|0}return}function Bi(A){A=A|0;var e=0,i=0,r=0;e=a[A+8>>2]|0;a[A>>2]=e;a[A+4>>2]=a[A+12>>2];i=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;r=a[i>>2]|0;f[r+(A*40|0)+16>>1]=f[r+(A*40|0)+18>>1]|0;A=A+1|0}e=e+2|0;while(1){if((A|0)>=(e|0))break;f[(a[i>>2]|0)+(A*40|0)+16>>1]=0;A=A+1|0}return}function vi(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=qF(((a[A>>2]|0)*6|0)+(e<<1)<<2)|0;a[A+20>>2]=qF((((a[A>>2]|0)*3|0)+e|0)*24|0)|0;r=a[A>>2]|0;f=A+16|0;A=0;while(1){if((A|0)>=(r|0))break;a[(a[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+24|0;A=A+1|0}r=r+2|0;while(1){if((A|0)>=(r|0))break;a[(a[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+(e<<2)|0;A=A+1|0}return}function gi(A){A=A|0;var e=0;e=qF(24)|0;a[e>>2]=0;a[e+16>>2]=qF(A*40|0)|0;return e|0}function Ei(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=a[A>>2]|0;a[i+(e*40|0)+32>>2]=e;a[A>>2]=e+1;return i+(e*40|0)|0}function Ci(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0;n=A+4|0;f=a[n>>2]|0;a[n>>2]=f+1;n=a[A+20>>2]|0;A=n+(f*24|0)|0;a[n+(f*24|0)+12>>2]=a[e+32>>2];a[n+(f*24|0)+16>>2]=a[i+32>>2];b[A>>3]=r;a[n+(f*24|0)+8>>2]=0;Ii(e,f);Ii(i,f);return A|0}function Ii(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;r=f[i>>1]|0;a[(a[A+28>>2]|0)+(r<<16>>16<<2)>>2]=e;f[i>>1]=r+1<<16>>16;return}function Zi(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+28>>2]|0);L2(a[e>>2]|0);L2(a[A+20>>2]|0);L2(A);return}function Gi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;n=a[A>>2]|0;l=A+16|0;r=0;while(1){if((r|0)>=(n|0))break;a[(a[l>>2]|0)+(r*40|0)>>2]=-2147483648;r=r+1|0}pa();A:do{if(!(Ta(e)|0)){a[e+8>>2]=0;a[e>>2]=0;e=A+20|0;e:while(1){n=Sa()|0;if(!n){r=0;break A}a[n>>2]=0-(a[n>>2]|0);if((n|0)==(i|0)){r=0;break A}l=n+16|0;t=n+28|0;r=0;while(1){if((r|0)>=(f[l>>1]|0))continue e;c=(a[e>>2]|0)+((a[(a[t>>2]|0)+(r<<2)>>2]|0)*24|0)|0;s=Qi(A,c,n)|0;w=a[s>>2]|0;do{if((w|0)<0){u=~~-(+b[c>>3]+ +(a[n>>2]|0));if((w|0)==-2147483648){a[s>>2]=u;if(Ta(s)|0){r=1;break A}a[s+8>>2]=n;a[s+12>>2]=c;break}else{if((w|0)>=(u|0))break;Pa(s,u);a[s+8>>2]=n;a[s+12>>2]=c;break}}}while(0);r=r+1|0}}}else r=1}while(0);return r|0}function Qi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=a[e+12>>2]|0;if((r|0)==(a[i+32>>2]|0))r=a[e+16>>2]|0;return(a[A+16>>2]|0)+(r*40|0)|0}function mi(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=a[A>>2]|0;Jg(n,3,e)|0;e=a[n+92>>2]|0;do{if(e){i=a[e+16>>2]|0;l=a[i+12>>2]|0;a[A+76>>2]=l;r=a[i+16>>2]|0;a[A+84>>2]=r;f=A+80|0;a[f>>2]=a[i>>2];a[A+88>>2]=a[e+4>>2];i=A+152|0;r=a[i>>2]|a[r>>2];a[i>>2]=r;e=a[n+80>>2]|0;if(!e){a[A+60>>2]=0;e=999;break}else{n=a[e+16>>2]|0;a[A+60>>2]=a[n+12>>2];t=a[n+16>>2]|0;a[A+68>>2]=t;a[A+72>>2]=a[e+4>>2];a[i>>2]=r|a[t>>2];a[A+64>>2]=a[((l|0)==0?f:n)>>2];e=300;break}}else e=999}while(0);return e|0}function Li(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(!(bg(A)|0))if((e|0)!=0?(i=a[e>>2]|0,(i|0)!=0):0){F5[i&127](A);A=0}else A=0;else A=1;return A|0}function Wi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+4>>2]|0,i|0):0)F5[i&127](A);a[(a[A>>2]|0)+24>>2]=0;Bg(A);return}function yi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0;r=+b[e+504>>3];f=+b[e+512>>3];l=+b[e+352>>3];if(!(a[e+360>>2]|0)){n=+b[i>>3]+r;i=i+8|0;r=f}else n=-(f+ +b[i+8>>3]);f=+b[e+528>>3]*l*(+b[i>>3]+r);b[A>>3]=+b[e+520>>3]*l*n;b[A+8>>3]=f;return}function zi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0.0;f=+b[A+504>>3];n=+b[A+512>>3];l=+b[A+352>>3];t=+b[A+520>>3]*l;l=+b[A+528>>3]*l;A:do{if(!(a[A+360>>2]|0)){A=0;while(1){if((A|0)>=(r|0))break A;b[i+(A<<4)>>3]=(+b[e+(A<<4)>>3]+f)*t;b[i+(A<<4)+8>>3]=(+b[e+(A<<4)+8>>3]+n)*l;A=A+1|0}}else{A=0;while(1){if((A|0)>=(r|0))break A;c=-(t*(+b[e+(A<<4)+8>>3]+n));b[i+(A<<4)+8>>3]=(+b[e+(A<<4)>>3]+f)*l;b[i+(A<<4)>>3]=c;A=A+1|0}}}while(0);return i|0}function Yi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+8>>2]|0,i|0):0)F5[i&127](A);return}function Di(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+12>>2]|0,i|0):0)F5[i&127](A);dg(A);return}function Mi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+24>>2]|0,i|0):0)F5[i&127](A);return}function Fi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+28>>2]|0,i|0):0)F5[i&127](A);return}function Vi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+16>>2]|0,i|0):0){e=a[A+160>>2]|0;X5[i&31](A,a[(a[(a[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0,e,a[A+156>>2]|0)}return}function Ji(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+20>>2]|0,i|0):0)F5[i&127](A);return}function Ni(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+32>>2]|0,i|0):0)F5[i&127](A);return}function Xi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+36>>2]|0,i|0):0)F5[i&127](A);return}function Ri(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+40>>2]|0,i|0):0)F5[i&127](A);return}function Hi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+44>>2]|0,i|0):0)F5[i&127](A);return}function pi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+48>>2]|0,i|0):0)F5[i&127](A);return}function Ui(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+52>>2]|0,i|0):0)F5[i&127](A);return}function xi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+56>>2]|0,i|0):0)F5[i&127](A);return}function Ti(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+60>>2]|0,i|0):0)F5[i&127](A);return}function ji(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+64>>2]|0,i|0):0)F5[i&127](A);return}function Si(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+68>>2]|0,i|0):0)F5[i&127](A);return}function Pi(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=a[A+60>>2]|0;if(n|0?(l=a[n+72>>2]|0,l|0):0)R5[l&15](A,e,i,r,f);return}function Oi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+76>>2]|0,i|0):0)F5[i&127](A);return}function Ki(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[A+60>>2]|0;if(i|0?(r=a[i+80>>2]|0,r|0):0)V5[r&63](A,e);return}function _i(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+84>>2]|0,i|0):0)F5[i&127](A);return}function qi(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+48|0;f=b+32|0;l=b;t=b+16|0;c=a[A+60>>2]|0;s=a[i>>2]|0;do{if(s|0?r[s>>0]|0:0){s=a[A+16>>2]|0;if(s|0?(a[s+144>>2]|0)==0:0)break;if(!(a[A+152>>2]&8192)){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];yi(t,A,f);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2]}else{a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2]}if(c|0?(n=a[c+88>>2]|0,n|0):0){a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];J5[n&127](A,f,i)}}}while(0);k=b;return}function $i(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=a[A+60>>2]|0;n=(a[A+16>>2]|0)+16|0;t=G1(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(Ar(a[A+68>>2]|0,e,n),i=a[f+92>>2]|0,i|0):0)V5[i&63](A,n);if(l)r[t>>0]=58;return}function Ar(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;n=b+16|0;c=b+8|0;t=b;a[i>>2]=e;a[i+32>>2]=5;r=Bf(e)|0;f=a[A+16>>2]|0;if(!((f|0)!=0?(i8(r,f,a[A+20>>2]|0,4,102)|0)!=0:0))l=3;A:do{if((l|0)==3){switch(vf(e,i,a[A+24>>2]|0)|0){case 0:break A;case 1:break;default:{ao(1,111046,n)|0;break A}}A=$F((S2(e)|0)+16|0)|0;a[t>>2]=e;P4(A,111011,t)|0;if(fF(A)|0){a[c>>2]=e;ao(0,111020,c)|0}L2(A)}}while(0);k=b;return}function er(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=a[A+60>>2]|0;n=(a[A+16>>2]|0)+56|0;t=G1(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(Ar(a[A+68>>2]|0,e,n),i=a[f+92>>2]|0,i|0):0)V5[i&63](A,n);if(l)r[t>>0]=58;return}function ir(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0,l=0,t=0;n=a[A+60>>2]|0;l=A+16|0;t=(a[l>>2]|0)+96|0;if(n|0?(Ar(a[A+68>>2]|0,e,t),f=a[n+92>>2]|0,f|0):0)V5[f&63](A,t);t=a[l>>2]|0;a[t+136>>2]=i;c[t+140>>2]=r;return}function rr(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;c=s;t=a[A+60>>2]|0;A=a[A+16>>2]|0;a[A+160>>2]=e;A:do{if((e|0)!=0&(t|0)!=0){t=A+144|0;l=A+152|0;n=A+148|0;A=e;e:while(1){f=A+4|0;A=a[A>>2]|0;if(!A)break A;i:do{switch(r[A>>0]|0){case 115:{if(!(A1(A,111067)|0)){a[t>>2]=3;A=f;continue e}if(!(A1(A,111088)|0)){i=115;while(1){e=A+1|0;if(!(i<<24>>24))break;A=e;i=r[e>>0]|0}b[l>>3]=+$3(e);A=f;continue e}break}case 100:{if(!(A1(A,137327)|0)){a[t>>2]=1;A=f;continue e}if(!(A1(A,137320)|0)){a[t>>2]=2;A=f;continue e}break}case 105:{if(A1(A,134335)|0?A1(A,111073)|0:0)break i;a[t>>2]=0;A=f;continue e}case 98:{if(!(A1(A,111083)|0)){b[l>>3]=2.0;A=f;continue e}break}case 102:{if(!(A1(A,111101)|0)){a[n>>2]=1;A=f;continue e}break}case 117:{if(!(A1(A,111108)|0)){a[n>>2]=0;A=f;continue e}break}case 116:{if(!(A1(A,111117)|0)){A=f;continue e}break}default:{}}}while(0);a[c>>2]=A;ao(0,111125,c)|0;A=f}}}while(0);k=s;return}function fr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t;i=a[A+60>>2]|0;if((i|0?(l=i+96|0,f=a[l>>2]|0,f|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){i=e+16|0;b[n>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[n+8>>3]=(+b[e+24>>3]+ +b[e+8>>3])*.5;e=n+16|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];if(!(a[A+152>>2]&8192)){zi(A,n,n,2)|0;f=a[l>>2]|0}J5[f&127](A,n,r)}k=t;return}function ar(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+48|0;s=u;f=a[A+60>>2]|0;if((f|0?(w=f+100|0,a[w>>2]|0):0)?(b=A+16|0,c=a[b>>2]|0,a[c+144>>2]|0):0){if(!(r&4)){f=r;n=0}else{f=r&-5;r=c+16|0;n=s;l=r;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));n=r;l=c+56|0;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));n=1}if(!(a[A+152>>2]&8192)){r=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=r;r=eV(a[47364]|0,r<<4)|0;a[47364]=r}else r=a[47364]|0;zi(A,e,r,i)|0;X5[a[w>>2]&31](A,r,i,f)}else X5[a[w>>2]&31](A,e,i,f);if(n|0){n=(a[b>>2]|0)+16|0;l=s;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0))}}k=u;return}function nr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+64|0;f=r;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];n=f+32|0;e=e+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];b[f+16>>3]=+b[f>>3];b[f+24>>3]=+b[f+40>>3];b[f+48>>3]=+b[n>>3];b[f+56>>3]=+b[f+8>>3];ar(A,f,4,i);k=r;return}function lr(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0;t=a[A+60>>2]|0;do{if((t|0?(c=t+104|0,l=a[c>>2]|0,l|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){if(a[A+152>>2]&8192|0){H5[l&15](A,e,i,r,f,n&255);break}l=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=l;l=eV(a[47364]|0,l<<4)|0;a[47364]=l}else l=a[47364]|0;zi(A,e,l,i)|0;H5[a[c>>2]&15](A,l,i,r,f,n&255)}}while(0);return}function tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=a[A+60>>2]|0;do{if((r|0?(n=r+108|0,f=a[n>>2]|0,f|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){if(a[A+152>>2]&8192|0){J5[f&127](A,e,i);break}r=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=r;r=eV(a[47364]|0,r<<4)|0;a[47364]=r}else r=a[47364]|0;zi(A,e,r,i)|0;J5[a[n>>2]&127](A,r,i)}}while(0);return}function cr(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A+60>>2]|0;if((e|0?!((i|0)==0|(r[e>>0]|0)==0):0)?(f=a[i+112>>2]|0,f|0):0)V5[f&63](A,e);return}function br(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0.0,g=0.0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0;z=k;k=k+112|0;m=z+64|0;y=z;w=z+96|0;I=z+48|0;Z=z+32|0;L=a[A+60>>2]|0;if(!A)vA(111282,111178,691,111189);if(!e)vA(111208,111178,692,111189);if(!(r[e>>0]|0))vA(111213,111178,693,111189);W=Xg(e)|0;if(!W){if((L|0)!=0&(GN(e)|0)!=0?(s=a[L+116>>2]|0,s|0):0)R5[s&15](A,e,i,f,n&255)}else{B=A+432|0;a[m>>2]=a[B>>2];a[m+4>>2]=a[B+4>>2];a[m+8>>2]=a[B+8>>2];a[m+12>>2]=a[B+12>>2];pg(w,W,m);B=a[w>>2]|0;s=a[w+4>>2]|0;if(!((B|0)<1&(s|0)<1)){w=y+16|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[y>>2]=a[i>>2];a[y+4>>2]=a[i+4>>2];a[y+8>>2]=a[i+8>>2];a[y+12>>2]=a[i+12>>2];G=y+8|0;Q=y+24|0;e=1;while(1){if((e|0)>=(f|0))break;Y=i+(e<<4)|0;E=+b[Y>>3];b[y>>3]=+b[(+b[y>>3]>3];C=+b[i+(e<<4)+8>>3];b[G>>3]=+b[(+b[G>>3]>3];b[w>>3]=+b[(+b[w>>3]>E?w:Y)>>3];b[Q>>3]=+b[(+b[Q>>3]>C?w:Y)+8>>3];e=e+1|0}c=+b[w>>3];t=+b[y>>3];v=c-t;g=+b[Q>>3];E=+b[G>>3];C=g-E;u=+(s|0);o=+(B|0);h=v/o;d=C/u;A:do{switch(sr(l)|0){case 1:if(h>3]=t;c=c-v;b[w>>3]=c}if(u>3]=E+C;b[Q>>3]=g-C}if(!(a[A+152>>2]&8192)){a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];yi(I,A,m);a[y>>2]=a[I>>2];a[y+4>>2]=a[I+4>>2];a[y+8>>2]=a[I+8>>2];a[y+12>>2]=a[I+12>>2];a[m>>2]=a[w>>2];a[m+4>>2]=a[w+4>>2];a[m+8>>2]=a[w+8>>2];a[m+12>>2]=a[w+12>>2];yi(Z,A,m);a[w>>2]=a[Z>>2];a[w+4>>2]=a[Z+4>>2];a[w+8>>2]=a[Z+8>>2];a[w+12>>2]=a[Z+12>>2];c=+b[w>>3];t=+b[y>>3]}if(t>c){b[y>>3]=c;b[w>>3]=t}t=+b[G>>3];c=+b[Q>>3];if(t>c){b[G>>3]=c;b[Q>>3]=t}if(L|0){Y=a[A+72>>2]|0;a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];a[m+16>>2]=a[y+16>>2];a[m+20>>2]=a[y+20>>2];a[m+24>>2]=a[y+24>>2];a[m+28>>2]=a[y+28>>2];or(A,W,m,n,Y)}}}k=z;return}function sr(A){A=A|0;if(r[A>>0]|0)if(N1(A,141116)|0)if(N1(A,141048)|0)if(!(N1(A,111221)|0))A=4;else A=(gR(A)|0)<<24>>24!=0&1;else A=3;else A=2;else A=0;return A|0}function wr(A,e){A=A|0;e=+e;if(a[A+60>>2]|0)b[(a[A+16>>2]|0)+152>>3]=e;return}function ur(A,e){A=A|0;e=e|0;e=Jg(A,1,e)|0;if(!e)e=999;else{e=a[e+16>>2]|0;a[A+184>>2]=a[e+4>>2];a[A+172>>2]=a[e+12>>2];a[A+176>>2]=a[e>>2];a[A+180>>2]=a[e+16>>2];e=300}return e|0}function kr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t;Td(e,137483,280,1)|0;n=e+16|0;a[(a[n>>2]|0)+144>>2]=A;if((Zd(e)|0)!=(e|0))a[(a[(Zd(e)|0)+16>>2]|0)+144>>2]=A;r=po(e,111226)|0;i=A+172|0;if((r|0)!=0?(a[i>>2]=0,(ur(A,r)|0)==999):0){i=Ng(A,1,r)|0;a[f>>2]=r;a[f+4>>2]=i;ao(1,111233,f)|0;i=-1}else{r=a[i>>2]|0;if(!r)i=-1;else{nF(1);DF(e,a[a[A+180>>2]>>2]&1);i=a[(a[n>>2]|0)+8>>2]|0;a[(a[(Zd(e)|0)+16>>2]|0)+8>>2]=i;oX();i=a[r>>2]|0;if(i|0?(F5[i&127](e),l=a[r+4>>2]|0,l|0):0)a[(a[n>>2]|0)+148>>2]=l;nF(0);i=0}}k=t;return i|0}function or(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+176|0;b=w+8|0;c=w;l=w+40|0;if(!A)vA(111282,111286,52,111300);if(!e)vA(111312,111286,53,111300);t=a[e+8>>2]|0;if(!t)vA(111315,111286,54,111300);if(!(r[t>>0]|0))vA(111324,111286,55,111300);$1(l,a[e+28>>2]|0)|0;t=l+(S2(l)|0)|0;r[t>>0]=58;r[t+1>>0]=0;u3(l,n)|0;if((hr(A,l)|0)==999){a[c>>2]=l;ao(0,111336,c)|0}n=a[A+92>>2]|0;if(n|0?(s=a[n>>2]|0,s|0):0){a[b>>2]=a[i>>2];a[b+4>>2]=a[i+4>>2];a[b+8>>2]=a[i+8>>2];a[b+12>>2]=a[i+12>>2];a[b+16>>2]=a[i+16>>2];a[b+20>>2]=a[i+20>>2];a[b+24>>2]=a[i+24>>2];a[b+28>>2]=a[i+28>>2];X5[s&31](A,e,b,f)}k=w;return}function hr(A,e){A=A|0;e=e|0;e=Jg(a[A>>2]|0,4,e)|0;if(!e)e=999;else{e=a[e+16>>2]|0;a[A+92>>2]=a[e+12>>2];a[A+96>>2]=a[e>>2];e=300}return e|0}function dr(A){A=A|0;return 1}function Br(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;b[e>>3]=+b[e>>3]+10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function vr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;b[e>>3]=+b[e>>3]-10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function gr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;b[e>>3]=+b[e>>3]-10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function Er(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;b[e>>3]=+b[e>>3]+10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function Cr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;b[e>>3]=+b[e>>3]*1.1;r[A+537>>0]=1;return 0}function Ir(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;b[e>>3]=+b[e>>3]*.9090909090909091;r[A+537>>0]=1;return 0}function Zr(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0;i=A+536|0;e=(r[i>>0]|0)==0;r[i>>0]=e&1;if(e){e=a[A+448>>2]|0;i=a[A+452>>2]|0;l=+(e>>>0);n=+(i>>>0);f=l/+(e|0)>3]=(f?l:n)/+((f?e:i)|0);i=A+336|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;r[A+537>>0]=1}return 0}function Gr(A){A=A|0;var e=0,i=0;e=a[(a[A>>2]|0)+168>>2]|0;i=A+580|0;if(!(a[i>>2]|0)){a[i>>2]=e;i=(a[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]|2;Hr(A,e)}BI(A,e);r[A+540>>0]=1;return}function Qr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;f=c;switch(e|0){case 1:{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];Mr(A,f);Rr(A);r[A+538>>0]=1;r[A+541>>0]=1;t=13;break}case 2:{r[A+538>>0]=1;r[A+541>>0]=2;t=13;break}case 3:{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];Mr(A,f);r[A+538>>0]=1;r[A+541>>0]=3;t=13;break}case 4:{r[A+536>>0]=0;if(!(a[A+360>>2]|0)){f=A+352|0;l=+b[f>>3];e=A+336|0;b[e>>3]=(+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+520>>3]*l)+ +b[e>>3];n=+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5;e=A+528|0}else{f=A+352|0;l=+b[f>>3];e=A+336|0;b[e>>3]=+b[e>>3]-(+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+528>>3]*l);n=+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5;e=A+520|0}t=A+344|0;b[t>>3]=n*.10000000000000009/(+b[e>>3]*l)+ +b[t>>3];b[f>>3]=l*1.1;t=13;break}case 5:{r[A+536>>0]=0;t=A+352|0;l=+b[t>>3]*.9090909090909091;b[t>>3]=l;if(!(a[A+360>>2]|0)){f=A+336|0;b[f>>3]=+b[f>>3]-(+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+520>>3]*l);n=+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5;f=A+528|0}else{f=A+336|0;b[f>>3]=(+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+528>>3]*l)+ +b[f>>3];n=+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5;f=A+520|0}t=A+344|0;b[t>>3]=+b[t>>3]-n*.10000000000000009/(+b[f>>3]*l);t=13;break}default:{}}if((t|0)==13)r[A+537>>0]=1;A=A+560|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=c;return}function mr(A,e,i){A=A|0;e=e|0;i=i|0;r[A+538>>0]=0;r[A+541>>0]=0;return}function Lr(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0;c=k;k=k+16|0;i=c;l=A+560|0;t=(+b[e>>3]-+b[l>>3])/+b[A+520>>3];n=(+b[e+8>>3]-+b[A+568>>3])/+b[A+528>>3];if(!(+y(+t)<.0001&+y(+n)<.0001)){switch(r[A+541>>0]|0){case 0:{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];Mr(A,i);break}case 2:{f=+b[A+352>>3];if(!(a[A+360>>2]|0)){i=A+336|0;b[i>>3]=+b[i>>3]-t/f;i=A+344|0;b[i>>3]=+b[i>>3]-n/f}else{i=A+336|0;b[i>>3]=+b[i>>3]-n/f;i=A+344|0;b[i>>3]=+b[i>>3]+t/f}r[A+537>>0]=1;break}default:{}}a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2]}k=c;return}function Wr(A,e,i){A=A|0;e=e|0;i=i|0;return}function yr(A){A=A|0;return}function zr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=a[A>>2]|0;if(e){e=F3(e,138821)|0;if(e|0){t=cg(e,0)|0;h3(e)|0;f=5}}else{t=cg(a[15647]|0,0)|0;f=5}if((f|0)==5?t|0:0){n=c+168|0;e=a[n>>2]|0;if(e|0){f=a[c+172>>2]|0;if((f|0)!=0?(l=a[f+4>>2]|0,(l|0)!=0):0){F5[l&127](e);e=a[n>>2]|0}NF(e);Bh(a[n>>2]|0)|0}Kd(t,0,137483,280,1);Kd(t,1,137447,304,1);Kd(t,2,137460,176,1);a[n>>2]=t;a[(a[t+16>>2]|0)+144>>2]=c;if((uE(c,t,i)|0)!=-1){a[A+580>>2]=0;a[A+576>>2]=0;r[A+537>>0]=1}}return}function Yr(A,e){A=A|0;e=e|0;A=a[A>>2]|0;uE(A,a[A+168>>2]|0,e)|0;return}function Dr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=a[A>>2]|0;f=n+160|0;r=a[f>>2]|0;if((r|0)!=0?(a[n+164>>2]|0)==0:0){t=n+192|0;l=a[t>>2]|0;a[f>>2]=0;a[t>>2]=0;f=l}else{f=0;r=0}oE(n,a[n+168>>2]|0,e,i)|0;if(r|0){t=a[A>>2]|0;a[t+160>>2]=r;a[t+192>>2]=f}return}function Mr(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0.0,t=0.0,c=0.0,s=0;f=k;k=k+80|0;i=f+48|0;n=f;s=f+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];Fr(s,A,i);c=+b[s>>3];t=+b[s+8>>3];l=1.0/+b[A+352>>3];b[n+16>>3]=l+c;b[n+24>>3]=l+t;b[n>>3]=c-l;b[n+8>>3]=t-l;e=a[(a[A>>2]|0)+168>>2]|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[i+16>>2]=a[n+16>>2];a[i+20>>2]=a[n+20>>2];a[i+24>>2]=a[n+24>>2];a[i+28>>2]=a[n+28>>2];e=Vr(e,i)|0;i=A+576|0;if((e|0)!=(a[i>>2]|0)){Jr(A);a[i>>2]=e;Nr(A);r[A+537>>0]=1}k=f;return}function Fr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0;if(!(a[e+360>>2]|0)){r=+b[e+352>>3];f=+b[i+8>>3];n=r;l=e+528|0;r=+b[i>>3]/(+b[e+520>>3]*r)-+b[e+504>>3]}else{r=+b[e+352>>3];f=-+b[i>>3];n=r;l=e+520|0;r=+b[i+8>>3]/(+b[e+528>>3]*r)-+b[e+504>>3]}n=f/(+b[l>>3]*n)-+b[e+512>>3];b[A>>3]=r;b[A+8>>3]=n;return}function Vr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n;r=cd(A)|0;A:while(1){if(!r){r=9;break}i=Oo(A,r)|0;while(1){if(!i)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];if((QH(i,f)|0)<<24>>24){r=6;break A}i=_o(A,i)|0}r=bd(A,r)|0}do{if((r|0)!=6)if((r|0)==9){i=sd(A)|0;while(1){if(!i)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];if((IH(i,f)|0)<<24>>24){r=12;break}i=wd(A,i)|0}if((r|0)==12)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];i=Xr(A,f)|0;if(!i){i=A;break}else break}}while(0);k=n;return i|0}function Jr(A){A=A|0;var e=0;e=a[A+576>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{e=(a[e+16>>2]|0)+112|0;r[e>>0]=r[e>>0]&-2;break A}case 1:{e=(a[e+16>>2]|0)+117|0;r[e>>0]=r[e>>0]&-2;break A}case 2:{e=(a[e+16>>2]|0)+115|0;r[e>>0]=r[e>>0]&-2;break A}default:break A}}while(0);a[A+584>>2]=0;return}function Nr(A){A=A|0;var e=0,i=0;i=A+584|0;e=a[i>>2]|0;if(e|0){L2(e);a[i>>2]=0}e=a[A+576>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{A=(a[e+16>>2]|0)+112|0;r[A>>0]=r[A>>0]|1;A=Yo(e,0,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}case 1:{A=(a[e+16>>2]|0)+117|0;r[A>>0]=r[A>>0]|1;A=Yo(Id(e)|0,1,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}case 2:{A=(a[e+16>>2]|0)+115|0;r[A>>0]=r[A>>0]|1;A=Yo(Id(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0,2,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}default:break A}}while(0);return}function Xr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;s=k;k=k+32|0;r=s;n=a[A+16>>2]|0;l=a[n+180>>2]|0;t=n+184|0;i=1;while(1){if((i|0)>(l|0)){c=4;break}f=a[(a[t>>2]|0)+(i<<2)>>2]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];a[r+16>>2]=a[e+16>>2];a[r+20>>2]=a[e+20>>2];a[r+24>>2]=a[e+24>>2];a[r+28>>2]=a[e+28>>2];f=Xr(f,r)|0;if(!f)i=i+1|0;else{A=f;break}}do{if((c|0)==4){u=+b[n+24>>3];w=+b[n+40>>3];if(((+b[e+16>>3]>=+b[n+16>>3]?+b[n+32>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=u:0)?w>=+b[e+8>>3]:0)break;A=0}}while(0);k=s;return A|0}function Rr(A){A=A|0;var e=0,i=0,f=0;f=A+580|0;e=a[f>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{i=(a[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]&-7|4;break A}case 1:{i=(a[e+16>>2]|0)+117|0;r[i>>0]=r[i>>0]&-7|4;break A}case 2:{i=(a[e+16>>2]|0)+115|0;r[i>>0]=r[i>>0]&-7|4;break A}default:break A}}while(0);e=A+588|0;i=a[e>>2]|0;if(i|0){L2(i);a[e>>2]=0}e=a[A+576>>2]|0;a[f>>2]=e;A:do{if(e|0)switch(Md(e)|0){case 0:{f=(a[e+16>>2]|0)+112|0;r[f>>0]=r[f>>0]|2;Hr(A,e);break A}case 1:{f=(a[e+16>>2]|0)+117|0;r[f>>0]=r[f>>0]|2;pr(A,e);break A}case 2:{f=(a[e+16>>2]|0)+115|0;r[f>>0]=r[f>>0]|2;Ur(A,e);break A}default:break A}}while(0);return}function Hr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+592|0;do{if((Zd(e)|0)==(e|0))if(!(Ih(e)|0)){Yg(i,0,111494);break}else{Yg(i,0,111486);break}else Yg(i,0,111500)}while(0);Yg(i,1,Vh(e)|0);a[A+596>>2]=2;f=A+604|0;i=0;r=2;while(1){i=Jo(e,0,i)|0;if(!i)break;Yg(f,r,a[i+8>>2]|0);Yg(f,r+1|0,Uo(e,i)|0);Yg(f,r+2|0,0);r=r+3|0}a[A+608>>2]=r;i=Yo(e,0,141055,0)|0;if(!i){i=Yo(e,0,111477,0)|0;if(i|0)n=11}else n=11;if((n|0)==11)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function pr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;f=A+592|0;Yg(f,0,111481);Yg(f,1,Vh(e)|0);a[A+596>>2]=2;f=A+604|0;n=Zd(Id(e)|0)|0;r=2;i=0;while(1){i=Jo(n,1,i)|0;if(!i)break;Yg(f,r,a[i+8>>2]|0);Yg(f,r|1,Uo(e,i)|0);r=r+2|0}a[A+608>>2]=r;i=Yo(Id(e)|0,1,141055,0)|0;if(!i){i=Yo(Id(e)|0,1,111477,0)|0;if(i|0)l=6}else l=6;if((l|0)==6)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function Ur(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;l=A+592|0;Yg(l,0,111450);b=e+48|0;Yg(l,1,Vh(a[((a[e>>2]&3|0)==3?e:b)+40>>2]|0)|0);b=(Ih(Id(a[((a[e>>2]&3|0)==3?e:b)+40>>2]|0)|0)|0)!=0;Yg(l,3,b?137738:141747);b=e+-48|0;Yg(l,4,Vh(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0);a[A+596>>2]=7;t=A+604|0;c=Zd(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0)|0;n=7;i=0;A:while(1){while(1){i=Jo(c,2,i)|0;if(!i)break A;r=i+8|0;f=a[r>>2]|0;if(!(A1(f,111455)|0)){s=5;break}if(!(A1(f,111464)|0)){s=7;break}if(A1(f,111473)|0)break;Yg(l,6,Uo(e,i)|0)}if((s|0)==5){s=0;Yg(l,2,Uo(e,i)|0)}else if((s|0)==7){s=0;Yg(l,5,Uo(e,i)|0)}Yg(t,n,a[r>>2]|0);Yg(t,n+1|0,Uo(e,i)|0);n=n+2|0}a[A+608>>2]=n;i=Yo(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0,2,141055,0)|0;if(!i){i=Yo(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0,2,111477,0)|0;if(i|0)s=13}else s=13;if((s|0)==13)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function xr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=Tr(A,e,a[i>>2]|0)|0;i=a[i+4>>2]|0;while(1){f=a[i+4>>2]|0;if(!f)break;e=0;while(1){r=a[f+(e*20|0)+4>>2]|0;if(!r)break;Fg(A,a[i>>2]|0,r,a[f+(e*20|0)+8>>2]|0,n,f+(e*20|0)|0)|0;e=e+1|0}i=i+8|0}return}function Tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=$F(12)|0;if(!e)e=0;else e=s3(e)|0;a[r+4>>2]=e;a[r+8>>2]=s3(i)|0;i=A+100|0;a[r>>2]=a[i>>2];a[i>>2]=r;return r|0}function jr(A,e){A=A|0;e=e|0;Sr(A);r[A+44>>0]=0;Pr(A)|0;fR(A)|0;return}function Sr(A){A=A|0;var e=0,i=0;e=a[A+32>>2]|0;A:do{if(e|0)while(1){i=a[e>>2]|0;if(!i)break A;if((r[i>>0]|0)==103?X4(i,111509)|0:0)xr(A,0,a[e+4>>2]|0);e=e+8|0}}while(0);return}function Pr(A){A=A|0;var e=0;e=Jg(A,2,111522)|0;if(!e)A=999;else{a[A+148>>2]=a[(a[e+16>>2]|0)+12>>2];A=300}return A|0}function Or(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=a[A+148>>2]|0;if((A|0)!=0?(r=a[A>>2]|0,(r|0)!=0):0)A=m5[r&127](e,i)|0;else A=0;return A|0}function Kr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(a[e>>2]|0)-(a[i>>2]|0)|0}function _r(A){A=A|0;var e=0.0,i=0.0;A=a[A+16>>2]|0;i=+b[A+16>>3];e=+b[A+24>>3];return(qr(~~(i>e?i:e)>>>0)|0)+1|0}function qr(A){A=A|0;var e=0,i=0;if(!A)A=-1;else{i=A>>>0>65535;A=i?A>>>16:A;i=i?16:0;e=A>>>0>255;A=e?A>>>8:A;i=e?i|8:i;e=A>>>0>15;A=e?A>>>4:A;i=e?i|4:i;e=A>>>0>3;A=(e?i|2:i)+((e?A>>>2:A)>>>0>1&1)|0}return A|0}function $r(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+32|0;h=d;o=Af(A,e,i,f,n)|0;i=ef(o)|0;if((i|0)>=0){w=h+16|0;u=h+24|0;s=h+8|0;c=n+32|0;i=0;n=0;while(1){if((n|0)>=(e|0))break;f=A+(n*40|0)+32|0;do{if(a[f>>2]|0){rf(h,o,A+(n*40|0)|0);l=+b[w>>3];t=+b[u>>3];if(!(a[h>>2]|0)){r[(a[f>>2]|0)+36>>0]=1;break}if(+b[s>>3]==0.0){f=a[f>>2]|0;b[f+16>>3]=l;b[f+24>>3]=t;r[f+36>>0]=1;break}if((r[c>>0]|0)==1){f=a[f>>2]|0;b[f+16>>3]=l;b[f+24>>3]=t;r[f+36>>0]=1}else i=1}}while(0);n=n+1|0}ff(o)}k=d;return i|0}function Af(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;n=qF(28)|0;c=jk(25912,a[4584]|0)|0;l=n+20|0;a[l>>2]=c;do{if(c){c=Xn()|0;a[n+24>>2]=c;if(!c){L3(111740,14,1,a[15712]|0)|0;t=6;break}else{a[n>>2]=A;a[n+4>>2]=e;a[n+8>>2]=i;a[n+12>>2]=r;a[n+16>>2]=f;break}}else{L3(111740,14,1,a[15712]|0)|0;t=6}}while(0);if((t|0)==6){A=a[l>>2]|0;if(A|0)pk(A)|0;A=a[n+24>>2]|0;if(A|0)Hn(A)|0;L2(n);n=0}return n|0}function ef(A){A=A|0;var e=0;e=uf(A)|0;if((e|0)>=0){kf(A);of(A);e=pk(a[A+20>>2]|0)|0}return e|0}function rf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0.0,J=0,N=0;N=k;k=k+464|0;F=N+416|0;J=N+400|0;Y=N+384|0;s=N+352|0;w=N+320|0;u=N+288|0;o=N+256|0;d=N+224|0;B=N+192|0;v=N+160|0;g=N+128|0;E=N+96|0;I=N+64|0;Z=N+32|0;D=N;G=a[i+32>>2]|0;r=+b[G>>3];L=i+16|0;Q=(r*2.0+ +b[L>>3])*.125;W=G+8|0;M=i+24|0;l=+b[M>>3];V=(+b[W>>3]*2.0+l)*.5;if(!G)vA(111533,111543,445,111553);f=F;n=f+36|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));m=G+16|0;b[m>>3]=+b[i>>3]-r;y=i+8|0;z=G+24|0;b[z>>3]=l+ +b[y>>3];af(s,e,i,F);t=a[s>>2]|0;f=a[s+4>>2]|0;r=+b[s+8>>3];s=s+16|0;a[J>>2]=a[s>>2];a[J+4>>2]=a[s+4>>2];a[J+8>>2]=a[s+8>>2];a[J+12>>2]=a[s+12>>2];A:do{if(!t){a[A>>2]=0;a[A+4>>2]=f;b[A+8>>3]=r;A=A+16|0;a[A>>2]=a[J>>2];a[A+4>>2]=a[J+4>>2];a[A+8>>2]=a[J+8>>2];a[A+12>>2]=a[J+12>>2]}else{b[z>>3]=+b[y>>3];af(w,e,i,F);n=a[w>>2]|0;s=a[w+4>>2]|0;l=+b[w+8>>3];w=w+16|0;a[Y>>2]=a[w>>2];a[Y+4>>2]=a[w+4>>2];a[Y+8>>2]=a[w+8>>2];a[Y+12>>2]=a[w+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=s;r=l}else n=t;b[z>>3]=+b[y>>3]-+b[W>>3];af(u,e,i,F);s=a[u>>2]|0;t=a[u+4>>2]|0;l=+b[u+8>>3];u=u+16|0;a[Y>>2]=a[u>>2];a[Y+4>>2]=a[u+4>>2];a[Y+8>>2]=a[u+8>>2];a[Y+12>>2]=a[u+12>>2];if(!s){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=t;r=l}else s=n;b[m>>3]=+b[i>>3];b[z>>3]=+b[M>>3]+ +b[y>>3];af(o,e,i,F);n=a[o>>2]|0;t=a[o+4>>2]|0;l=+b[o+8>>3];o=o+16|0;a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3]-+b[W>>3];af(d,e,i,F);n=a[d>>2]|0;t=a[d+4>>2]|0;l=+b[d+8>>3];d=d+16|0;a[Y>>2]=a[d>>2];a[Y+4>>2]=a[d+4>>2];a[Y+8>>2]=a[d+8>>2];a[Y+12>>2]=a[d+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[m>>3]=+b[L>>3]+ +b[i>>3];b[z>>3]=+b[M>>3]+ +b[y>>3];af(B,e,i,F);n=a[B>>2]|0;t=a[B+4>>2]|0;l=+b[B+8>>3];B=B+16|0;a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3];af(v,e,i,F);n=a[v>>2]|0;t=a[v+4>>2]|0;l=+b[v+8>>3];v=v+16|0;a[Y>>2]=a[v>>2];a[Y+4>>2]=a[v+4>>2];a[Y+8>>2]=a[v+8>>2];a[Y+12>>2]=a[v+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3]-+b[W>>3];af(g,e,i,F);n=a[g>>2]|0;t=a[g+4>>2]|0;l=+b[g+8>>3];g=g+16|0;a[Y>>2]=a[g>>2];a[Y+4>>2]=a[g+4>>2];a[Y+8>>2]=a[g+8>>2];a[Y+12>>2]=a[g+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=t;r=l}else n=s;t=(a[F+28>>2]|0)==0;do{if(!(a[F+24>>2]|0))if(t){if(a[F+32>>2]|0){C=38;break}if(!((a[F+12>>2]|0)==0&(a[F>>2]|0)==0))C=38}else C=46;else if(t)C=38;else C=46}while(0);e:do{if((C|0)==38)if(!(a[F+32>>2]|0)){b[m>>3]=+b[i>>3]-+b[G>>3];o=E+4|0;d=E+8|0;B=E+16|0;s=z;t=y;l=+b[M>>3];i:while(1){while(1){b[s>>3]=+b[t>>3]+l;if(!(+b[m>>3]<=+b[L>>3]+ +b[i>>3])){C=46;break e}af(E,e,i,F);w=a[E>>2]|0;u=a[o>>2]|0;c=+b[d>>3];a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!w)break i;if(c>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=m;t=m;l=Q;n=w;f=u;r=c}a[A>>2]=0;a[A+4>>2]=u;b[A+8>>3]=c;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}else C=46}while(0);e:do{if((C|0)==46)if((a[F+12>>2]|0)==0&(a[F>>2]|0)==0){b[m>>3]=+b[i>>3]-+b[G>>3];c=+b[y>>3];w=I+4|0;u=I+8|0;o=I+16|0;l=c;c=+b[M>>3]+c;while(1){b[z>>3]=c;if(!(c>=l-+b[W>>3]))break e;af(I,e,i,F);t=a[I>>2]|0;s=a[w>>2]|0;l=+b[u>>3];a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!t)break;if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];n=t;f=s;r=l}l=+b[y>>3];c=+b[z>>3]-V}a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);l=+b[i>>3];c=+b[L>>3]+l;b[m>>3]=c;h=+b[W>>3];b[z>>3]=+b[y>>3]-h;t=a[F+4>>2]|0;do{if(!(a[F+8>>2]|0)){s=a[F>>2]|0;if(!((t|0)==0&(s|0)==0)){C=59;break}if(a[F+20>>2]|0){t=0;s=0;C=59;break}if(a[F+32>>2]|0){t=0;s=0;C=59}}else{s=a[F>>2]|0;C=59}}while(0);e:do{if((C|0)==59){i:do{if((t|0)==0&(s|0)==0){b[m>>3]=c;o=Z+4|0;d=Z+8|0;B=Z+16|0;s=z;t=y;l=h;r:while(1){while(1){b[s>>3]=+b[t>>3]-l;l=+b[i>>3];if(!(+b[m>>3]>=l-+b[G>>3]))break i;af(Z,e,i,F);w=a[Z>>2]|0;u=a[o>>2]|0;c=+b[d>>3];a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!w)break r;if(c>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=m;t=m;l=Q;n=w;f=u;r=c}a[A>>2]=0;a[A+4>>2]=u;b[A+8>>3]=c;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);if(a[F+20>>2]|0)break;if(a[F+32>>2]|0)break;b[m>>3]=+b[L>>3]+l;l=+b[y>>3];w=D+4|0;u=D+8|0;o=D+16|0;c=l;l=l-+b[W>>3];while(1){b[z>>3]=l;if(!(l<=+b[M>>3]+c))break e;af(D,e,i,F);t=a[D>>2]|0;s=a[w>>2]|0;l=+b[u>>3];a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!t)break;if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];n=t;f=s;r=l}c=+b[y>>3];l=+b[z>>3]+V}a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);a[A>>2]=n;a[A+4>>2]=f;b[A+8>>3]=r;A=A+16|0;a[A>>2]=a[J>>2];a[A+4>>2]=a[J+4>>2];a[A+8>>2]=a[J+8>>2];a[A+12>>2]=a[J+12>>2]}}while(0);k=N;return}function ff(A){A=A|0;Hn(a[A+24>>2]|0)|0;L2(A);return}function af(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0.0,t=0,c=0,s=0,w=0.0,u=0,o=0,h=0,d=0.0,B=0,v=0;v=k;k=k+48|0;h=v+32|0;B=v+16|0;o=v;n=a[i+32>>2]|0;if(!n)vA(111533,111543,382,111562);u=n+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];u=e+4|0;s=0;n=0;while(1){if((s|0)>=(a[u>>2]|0))break;t=a[e>>2]|0;c=t+(s*40|0)|0;do{if((c|0)!=(i|0)){if(+b[t+(s*40|0)+16>>3]>0.0?+b[t+(s*40|0)+24>>3]>0.0:0)break;n=n+((nf(i,c)|0)!=0&1)|0}}while(0);s=s+1|0}lf(i,h);s=a[e+24>>2]|0;s=Un(s,a[s>>2]|0,h)|0;if(!s){a[A>>2]=n;b[A+8>>3]=0.0;B=A+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2]}else{c=s;l=0.0;while(1){if(!c)break;t=a[(a[c+4>>2]|0)+16>>2]|0;if((t|0)!=(i|0)){tf(t,B);w=+cf(h,B);if(w>0.0){n=n+1|0;l=+bf(i,t,h,w,f)+l}e=a[t+32>>2]|0;if(((e|0)!=0?(r[e+36>>0]|0)!=0:0)?(lf(t,B),d=+cf(h,B),d>0.0):0){n=n+1|0;l=+sf(i,t,h,d,f)+l}}c=a[c>>2]|0}Nn(s);a[A>>2]=n;b[A+8>>3]=l;B=A+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2]}k=v;return}function nf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0;A=a[A+32>>2]|0;if(+b[e+16>>3]==0.0?+b[e+24>>3]==0.0:0){if((((A|0)!=0?(i=+b[e>>3],r=+b[A+16>>3],i>r):0)?i<+b[A>>3]+r:0)?(f=+b[e+8>>3],n=+b[A+24>>3],f>n):0)A=f<+b[A+8>>3]+n&1;else A=0;return A|0}vA(111599,111543,219,111636);return 0}function lf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A+32>>2]|0;r=+b[A+16>>3];a[e>>2]=~~r;i=+b[A+24>>3];a[e+4>>2]=~~i;a[e+8>>2]=~~(+b[A>>3]+r);a[e+12>>2]=~~(+b[A+8>>3]+i);return}function tf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];a[e>>2]=~~r;i=+b[A+8>>3];a[e+4>>2]=~~i;a[e+8>>2]=~~(+b[A+16>>3]+r);a[e+12>>2]=~~(+b[A+24>>3]+i);return}function cf(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;t=a[A+8>>2]|0;c=a[e>>2]|0;if((((t|0)>=(c|0)?(b=a[A>>2]|0,s=a[e+8>>2]|0,(b|0)<=(s|0)):0)?(r=a[A+12>>2]|0,f=a[e+4>>2]|0,(r|0)>=(f|0)):0)?(n=a[A+4>>2]|0,l=a[e+12>>2]|0,(n|0)<=(l|0)):0)i=(+(a[((r|0)<(l|0)?A:e)+12>>2]|0)-+(a[((n|0)>(f|0)?A:e)+4>>2]|0))*(+(a[((t|0)<(s|0)?A:e)+8>>2]|0)-+(a[((b|0)>(c|0)?A:e)>>2]|0));else i=0.0;return+i}function bf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;t=c;A=wf(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=a[f>>2]|0;if(!A){a[f>>2]=e;n=r}else{tf(A,t);n=+cf(i,t);n=n>r?n:0.0;A=a[f>>2]|0;if((a[A+32>>2]|0)!=0?(lf(A,t),l=+cf(i,t),l>r):0)n=l>n?l:n;if(!(n>0.0)){a[f>>2]=e;n=r}}k=c;return+n}function sf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;t=c;A=wf(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=a[f>>2]|0;if(!A){a[f>>2]=e;n=r}else{tf(A,t);n=+cf(i,t);n=n>r?n:0.0;A=a[f>>2]|0;if((a[A+32>>2]|0)!=0?(lf(A,t),l=+cf(i,t),l>r):0)n=l>n?l:n;if(!(n>0.0)){a[f>>2]=e;n=r}}k=c;return+n}function wf(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0;i=a[A+32>>2]|0;f=a[e+32>>2]|0;if((i|0)==(f|0))vA(111578,111543,276,111588);do{if((r[i+36>>0]|0)!=0?(r[f+36>>0]|0)!=0:0){t=+b[A>>3];if(t==0.0?+b[A+8>>3]==0.0:0){i=-1;break}c=+b[e>>3];l=+b[e+8>>3];if(!(c==0.0&l==0.0)){n=+b[A+8>>3];if(lt?2:1;break}i=cn){if(i){i=6;break}i=c>t?8:7;break}if(!i)if(c>t)i=5;else i=-1;else i=3}else i=-1}else i=-1}while(0);return i|0}function uf(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;b=k;k=k+32|0;i=b+24|0;r=b+16|0;f=b;n=_r(A)|0;l=A+4|0;t=r+4|0;c=A+20|0;e=0;while(1){if((e|0)>=(a[l>>2]|0)){e=0;break}s=qF(32)|0;u=(a[A>>2]|0)+(e*40|0)|0;w=s+12|0;a[s+28>>2]=u;hf(f,u);a[w>>2]=a[f>>2];a[w+4>>2]=a[f+4>>2];a[w+8>>2]=a[f+8>>2];a[w+12>>2]=a[f+12>>2];w=a[w>>2]|0;a[r>>2]=(((a[s+20>>2]|0)-w|0)/2|0)+w;w=a[s+16>>2]|0;a[t>>2]=(((a[s+24>>2]|0)-w|0)/2|0)+w;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[s+8>>2]=df(i,n)|0;w=a[c>>2]|0;if(!(W5[a[w>>2]&63](w,s,1)|0)){e=-1;break}else e=e+1|0}k=b;return e|0}function kf(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;r=a[i>>2]|0;e=A+24|0;A=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!A)break;r=a[e>>2]|0;xn(r,A+12|0,a[A+28>>2]|0,r,0)|0;r=a[i>>2]|0;A=W5[a[r>>2]&63](r,A,8)|0}return}function of(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=A+20|0;f=Pk(a[r>>2]|0)|0;i=0;while(1){if(!(Pk(a[r>>2]|0)|0))break;n=a[r>>2]|0;A=a[(a[n+8>>2]|0)+4>>2]|0;if(!A){l=8;break}e=a[(a[n+4>>2]|0)+8>>2]|0;if((e|0)<0)A=a[A+8>>2]|0;else A=A+(0-e)|0;if(!A){l=8;break}W5[a[n>>2]&63](n,A,4096)|0;L2(A);i=i+1|0}if((l|0)==8)vA(111649,111543,616,111652);if((f|0)==(i|0))return;else vA(111664,111543,623,111652)}function hf(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0,t=0,c=0,s=0.0;i=a[e+32>>2]|0;if(!i){r=0.0;f=0.0}else{r=+b[i>>3];f=+b[i+8>>3]}s=+b[e>>3];c=~~+W(+(s-r));n=+b[e+8>>3];t=~~+W(+(n-f));l=~~+p(+(s+r+ +b[e+16>>3]));if((l|0)==2147483647)vA(111676,111543,264,111703);i=~~+p(+(n+f+ +b[e+24>>3]));if((i|0)==2147483647)vA(111713,111543,266,111703);else{a[A>>2]=c;a[A+4>>2]=t;a[A+8>>2]=l;a[A+12>>2]=i;return}}function df(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;f=0;r=a[A>>2]|0;i=a[A+4>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;t=r>>>A&1;e=i>>>A&1;n=e+-1|0;l=n&(r^i);n=n&0-t;f=t<<1|f<<2|t^e;e=A;r=l^r^n;i=l^i^n}return f|0}function Bf(A){A=A|0;var e=0,i=0,f=0,n=0;e=S2(A)|0;if(e>>>0>=(a[47365]|0)>>>0){e=e+11|0;a[47365]=e;e=eV(a[47366]|0,e)|0;a[47366]=e;if(!e)e=0;else i=4}else{e=a[47366]|0;i=4}if((i|0)==4){n=e;while(1){i=r[A>>0]|0;if(!(i<<24>>24))break;f=i&255;if(R1(f)|0)i=(X1(f)|0)&255;r[n>>0]=i;n=n+1|0;A=A+1|0}r[n>>0]=0}return e|0}function vf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0;z=k;k=k+144|0;B=z+96|0;o=z+80|0;E=z+124|0;v=z+72|0;C=z+64|0;I=z+56|0;L=z+48|0;W=z+40|0;y=z+32|0;Z=z+24|0;G=z+16|0;Q=z+8|0;m=z;l=z+120|0;s=z+116|0;w=z+112|0;u=z+108|0;a[e+32>>2]=i;d=A;while(1)if((r[d>>0]|0)==32)d=d+1|0;else break;a[u>>2]=255;A=r[d>>0]|0;A:do{if(A<<24>>24==35){a[o>>2]=l;a[o+4>>2]=s;a[o+8>>2]=w;a[o+12>>2]=u;if((J3(d,111755,o)|0)<=2){A=r[d>>0]|0;h=12;break}switch(i|0){case 0:{Y=+((a[l>>2]|0)>>>0)*.00392156862745098;b[L>>3]=Y;f=+((a[s>>2]|0)>>>0)*.00392156862745098;b[W>>3]=f;t=+((a[w>>2]|0)>>>0)*.00392156862745098;b[y>>3]=t;c=+((a[u>>2]|0)>>>0)*.00392156862745098;gf(Y,f,t,v,C,I);b[e>>3]=+b[v>>3];b[e+8>>3]=+b[C>>3];b[e+16>>3]=+b[I>>3];b[e+24>>3]=c;A=0;break A}case 1:{r[e>>0]=a[l>>2];r[e+1>>0]=a[s>>2];r[e+2>>0]=a[w>>2];r[e+3>>0]=a[u>>2];A=0;break A}case 3:{t=+((a[l>>2]|0)>>>0)*.00392156862745098;b[L>>3]=t;c=+((a[s>>2]|0)>>>0)*.00392156862745098;b[W>>3]=c;Y=+((a[w>>2]|0)>>>0)*.00392156862745098;b[y>>3]=Y;Ef(t,c,Y,Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{a[e>>2]=(((a[l>>2]|0)*65535|0)>>>0)/255|0;a[e+4>>2]=(((a[s>>2]|0)*65535|0)>>>0)/255|0;a[e+8>>2]=(((a[w>>2]|0)*65535|0)>>>0)/255|0;a[e+12>>2]=(((a[u>>2]|0)*65535|0)>>>0)/255|0;A=0;break A}case 4:{b[e>>3]=+((a[l>>2]|0)>>>0)*.00392156862745098;b[e+8>>3]=+((a[s>>2]|0)>>>0)*.00392156862745098;b[e+16>>3]=+((a[w>>2]|0)>>>0)*.00392156862745098;b[e+24>>3]=+((a[u>>2]|0)>>>0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}else h=12}while(0);A:do{if((h|0)==12){if(!(A<<24>>24!=46?((A&255)+-48|0)>>>0>=10:0)){A=S2(d)|0;if(A>>>0>=(a[47367]|0)>>>0){A=A+11|0;a[47367]=A;A=eV(a[47368]|0,A)|0;a[47368]=A;if(!A){A=-1;break}}else A=a[47368]|0;s=A;l=d;e:while(1){w=l+1|0;l=r[l>>0]|0;switch(l<<24>>24){case 0:break e;case 44:{l=32;break}default:{}}r[s>>0]=l;s=s+1|0;l=w}r[s>>0]=0;a[B>>2]=v;a[B+4>>2]=C;a[B+8>>2]=I;if((J3(A,111769,B)|0)==3){c=+b[v>>3];c=c<1.0?c:1.0;c=c>0.0?c:0.0;b[v>>3]=c;t=+b[C>>3];t=t<1.0?t:1.0;t=t>0.0?t:0.0;b[C>>3]=t;f=+b[I>>3];f=f<1.0?f:1.0;f=f>0.0?f:0.0;b[I>>3]=f;switch(i|0){case 0:{b[e>>3]=c;b[e+8>>3]=t;b[e+16>>3]=f;b[e+24>>3]=1.0;A=0;break A}case 1:{Cf(c,t,f,L,W,y);r[e>>0]=~~(+b[L>>3]*255.0);r[e+1>>0]=~~(+b[W>>3]*255.0);r[e+2>>0]=~~(+b[y>>3]*255.0);r[e+3>>0]=-1;A=0;break A}case 3:{Cf(c,t,f,L,W,y);Ef(+b[L>>3],+b[W>>3],+b[y>>3],Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{Cf(c,t,f,L,W,y);a[e>>2]=~~(+b[L>>3]*65535.0);a[e+4>>2]=~~(+b[W>>3]*65535.0);a[e+8>>2]=~~(+b[y>>3]*65535.0);a[e+12>>2]=65535;A=0;break A}case 4:{Cf(c,t,f,L,W,y);b[e>>3]=+b[L>>3];b[e+8>>3]=+b[W>>3];b[e+16>>3]=+b[y>>3];b[e+24>>3]=1.0;A=0;break A}default:{A=0;break A}}}}l=If(d)|0;a[E>>2]=l;if(!l)A=-1;else{A=a[47369]|0;if(!(((A|0)!=0?(g=a[A>>2]|0,(r[g>>0]|0)==(r[l>>0]|0)):0)?(A1(g,l)|0)==0:0)){A=i8(E,25948,2491,12,103)|0;a[47369]=A;if(!A)switch(i|0){case 0:{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0;b[e+24>>3]=1.0;A=1;break A}case 1:{r[e+2>>0]=0;r[e+1>>0]=0;r[e>>0]=0;r[e+3>>0]=-1;A=1;break A}case 3:{a[e>>2]=0;A=1;break A}case 2:{a[e+8>>2]=0;a[e+4>>2]=0;a[e>>2]=0;a[e+12>>2]=65535;A=1;break A}case 4:{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0;b[e+24>>3]=1.0;A=1;break A}default:{A=1;break A}}}switch(i|0){case 0:{b[e>>3]=+(n[A+4>>0]|0)*.00392156862745098;b[e+8>>3]=+(n[A+5>>0]|0)*.00392156862745098;b[e+16>>3]=+(n[A+6>>0]|0)*.00392156862745098;b[e+24>>3]=+(n[A+10>>0]|0)*.00392156862745098;A=0;break A}case 1:{r[e>>0]=r[A+7>>0]|0;r[e+1>>0]=r[A+8>>0]|0;r[e+2>>0]=r[A+9>>0]|0;r[e+3>>0]=r[A+10>>0]|0;A=0;break A}case 3:{t=+(n[A+7>>0]|0)*.00392156862745098;b[L>>3]=t;c=+(n[A+8>>0]|0)*.00392156862745098;b[W>>3]=c;Y=+(n[A+9>>0]|0)*.00392156862745098;b[y>>3]=Y;Ef(t,c,Y,Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{a[e>>2]=(n[A+7>>0]|0)*257;a[e+4>>2]=(n[A+8>>0]|0)*257;a[e+8>>2]=(n[A+9>>0]|0)*257;a[e+12>>2]=(n[A+10>>0]|0)*257;A=0;break A}case 4:{b[e>>3]=+(n[A+7>>0]|0)*.00392156862745098;b[e+8>>3]=+(n[A+8>>0]|0)*.00392156862745098;b[e+16>>3]=+(n[A+9>>0]|0)*.00392156862745098;b[e+24>>3]=+(n[A+10>>0]|0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}}}while(0);k=z;return A|0}function gf(A,e,i,r,f,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;var n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0;l=ei?e:i;w=wA?A:l);n=l/w;if(w>0.0)if(n>0.0){t=(w-A)/l;c=(w-e)/l;s=(w-i)/l;do{if(!(w==A)){if(w==e){A=t+2.0-s;break}if(w==i)A=c+4.0-t;else A=0.0}else A=(e-i)/l}while(0);A=A*60.0;if(A<0.0)A=A+360.0}else A=0.0;else{n=0.0;A=0.0}b[r>>3]=A*.002777777777777778;b[a>>3]=w;b[f>>3]=n;return}function Ef(A,e,i,r,f,a,n){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;n=n|0;b[r>>3]=1.0-A;b[f>>3]=1.0-e;b[a>>3]=1.0-i;e=+b[r>>3];i=+b[f>>3];i=e>3]=i;e=+b[a>>3];i=e>3]=i;b[r>>3]=+b[r>>3]-i;b[f>>3]=+b[f>>3]-+b[n>>3];b[a>>3]=+b[a>>3]-+b[n>>3];return}function Cf(A,e,i,r,f,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;var n=0.0,l=0.0,t=0.0,c=0,s=0;A:do{if(!(e<=0.0)){l=!(A>=1.0)?A*6.0:0.0;s=~~l;l=l-+(s|0);A=(1.0-e)*i;t=(1.0-l*e)*i;e=(1.0-(1.0-l)*e)*i;switch(s|0){case 0:{n=A;l=e;A=i;c=8;break A}case 1:{n=A;l=i;A=t;c=8;break A}case 2:{n=e;l=i;c=8;break A}case 3:{n=i;l=t;c=8;break A}case 4:{n=i;l=A;A=e;c=8;break A}case 5:{n=t;l=A;A=i;c=8;break A}default:break A}}else{n=i;l=i;A=i;c=8}}while(0);if((c|0)==8){b[r>>3]=A;b[f>>3]=l;b[a>>3]=n}return}function If(A){A=A|0;var e=0,i=0;e=r[A>>0]|0;if(((e<<24>>24!=98?(i=A+1|0,!(e<<24>>24==119|(Z1(i,137266,4)|0)==0)):0)?!(e<<24>>24==108|(Z1(i,137271,4)|0)==0):0)?(Z1(i,137276,8)|0)!=0:0){do{if(e<<24>>24==47){e=G1(i,47)|0;if(!e)A=i;else{if((r[i>>0]|0)!=47){i=(T1(137285,i,4)|0)==0;A=i?e+1|0:A;break}e=a[47370]|0;if((e|0?r[e>>0]|0:0)?T1(137285,e,3)|0:0){A=Gf(e,A+2|0)|0;break}A=A+2|0}}else{e=a[47370]|0;if(((e|0)!=0?(r[e>>0]|0)!=0:0)?(T1(137285,e,3)|0)!=0:0)A=Gf(e,A)|0}}while(0);A=Bf(A)|0}return A|0}function Zf(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function Gf(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;f=k;k=k+16|0;r=f;n=S2(A)|0;n=(S2(e)|0)+n|0;i=n+13|0;if((n+3|0)>>>0<(a[47371]|0)>>>0)i=a[47372]|0;else{a[47371]=i;i=eV(a[47372]|0,i)|0;a[47372]=i}a[r>>2]=A;a[r+4>>2]=e;P4(i,137290,r)|0;k=f;return a[47372]|0}function Qf(A){A=A|0;a[47370]=A;return}function mf(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var a=0,n=0;a=k;k=k+208|0;n=a;Lf(n,+b[A>>3],+b[A+8>>3],e,i,r,f);A=Wf(n)|0;k=a;return A|0}function Lf(A,e,i,r,f,a,n){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;n=+n;var l=0,t=0;b[A>>3]=e;b[A+8>>3]=i;t=A+16|0;b[t>>3]=r;l=A+24|0;b[l>>3]=f;b[A+32>>3]=0.0;i=+X(+(+M(+a)/f),+(+D(+a)/r));b[A+56>>3]=i;f=+X(+(+M(+n)/f),+(+D(+n)/r));b[A+40>>3]=1.0;b[A+48>>3]=0.0;f=f-+W(+((f-i)*.15915494309189535))*6.283185307179586;b[A+64>>3]=n-a>3.141592653589793&f-i<3.141592653589793?f+6.283185307179586:f;Ff(A);Vf(A);Jf(A);n=+b[t>>3];n=(n-+b[l>>3])/n;b[A+168>>3]=n;b[A+176>>3]=(2.0-n)*n;n=1.0-n;b[A+184>>3]=n;b[A+192>>3]=n*n;return}function Wf(A){A=A|0;var e=0,i=0.0,r=0,f=0.0,a=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0;h=qF(8)|0;a=+b[A+56>>3];f=+b[A+64>>3]-a;o=1;e=0;while(1){k=f/+(o|0);if(!(e<<24>>24==0&(o|0)<1024))break;A:do{if(!(k<=1.5707963267948966))e=0;else{i=a;r=0;e=1;while(1){if(!(e<<24>>24!=0&(r|0)<(o|0)))break A;u=i+k;e=+yf(A,i,u)<=1.0e-05&1;i=u;r=r+1|0}}}while(0);o=o<<1}l=+D(+a);g=+M(+a);r=A+16|0;B=+b[r>>3];E=B*l;t=A+24|0;i=+b[t>>3];n=i*g;l=i*l;i=+b[A>>3];c=A+40|0;v=+b[c>>3];s=A+48|0;d=+b[s>>3];f=v*E+i-d*n;w=A+8|0;u=+b[w>>3];n=d*E+v*n+u;B=-(g*B);zf(h,i,u);Yf(h,f,n);u=+F(+(k*.5));u=+M(+k)*.3333333333333333*(+z(+(u*u*3.0+4.0))+-1.0);i=a;a=n;n=d*B+v*l;l=v*B-d*l;e=0;while(1){if((e|0)>=(o|0))break;d=i+k;g=+D(+d);E=+M(+d);I=+b[r>>3];G=I*g;C=+b[t>>3];v=C*E;g=C*g;C=+b[c>>3];Z=+b[s>>3];B=C*G+ +b[A>>3]-Z*v;v=Z*G+C*v+ +b[w>>3];I=-(E*I);E=C*I-Z*g;g=Z*I+C*g;Df(h,f+l*u,a+n*u,B-E*u,v-g*u,B,v);i=d;f=B;a=v;n=g;l=E;e=e+1|0}Mf(h);return h|0}function yf(A,e,i){A=A|0;e=+e;i=+i;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;r=i+e;l=+b[A+16>>3];f=+b[A+24>>3]/l;n=+D(+r);a=+D(+(r*2.0));r=+D(+(r*3.0));A=f<.25?10392:10648;return+(((f*.001+4.98)*f+.207)/(f+.0067)*l*+R(+(((+b[A+32>>3]*f+ +b[A+40>>3])*f+ +b[A+48>>3])/(+b[A+56>>3]+f)*n+((+b[A>>3]*f+ +b[A+8>>3])*f+ +b[A+16>>3])/(+b[A+24>>3]+f)+((+b[A+64>>3]*f+ +b[A+72>>3])*f+ +b[A+80>>3])/(+b[A+88>>3]+f)*a+((+b[A+96>>3]*f+ +b[A+104>>3])*f+ +b[A+112>>3])/(+b[A+120>>3]+f)*r+(((+b[A+160>>3]*f+ +b[A+168>>3])*f+ +b[A+176>>3])/(+b[A+184>>3]+f)*n+((+b[A+128>>3]*f+ +b[A+136>>3])*f+ +b[A+144>>3])/(+b[A+152>>3]+f)+((+b[A+192>>3]*f+ +b[A+200>>3])*f+ +b[A+208>>3])/(+b[A+216>>3]+f)*a+((+b[A+224>>3]*f+ +b[A+232>>3])*f+ +b[A+240>>3])/(+b[A+248>>3]+f)*r)*(i-e))))}function zf(A,e,i){A=A|0;e=+e;i=+i;var r=0;a[47373]=100;r=qF(1600)|0;a[A>>2]=r;b[r>>3]=e;b[r+8>>3]=i;a[A+4>>2]=1;return}function Yf(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;f=a[A>>2]|0;r=(a[A+4>>2]|0)+-1|0;Df(A,+b[f+(r<<4)>>3],+b[f+(r<<4)+8>>3],e,i,e,i);return}function Df(A,e,i,r,f,n,l){A=A|0;e=+e;i=+i;r=+r;f=+f;n=+n;l=+l;var t=0,c=0,s=0,w=0;s=A+4|0;t=a[s>>2]|0;c=a[47373]|0;if((t+3|0)<(c|0))A=a[A>>2]|0;else{a[47373]=c<<1;t=y2(a[A>>2]|0,c<<5)|0;a[A>>2]=t;A=t;t=a[s>>2]|0}b[A+(t<<4)>>3]=e;w=t+1|0;b[A+(t<<4)+8>>3]=i;b[A+(w<<4)>>3]=r;c=t+2|0;b[A+(w<<4)+8>>3]=f;b[A+(c<<4)>>3]=n;a[s>>2]=t+3;b[A+(c<<4)+8>>3]=l;return}function Mf(A){A=A|0;var e=0;e=a[A>>2]|0;Yf(A,+b[e>>3],+b[e+8>>3]);a[A>>2]=y2(a[A>>2]|0,a[A+4>>2]<<4)|0;a[47373]=0;return}function Ff(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0;r=+b[A+16>>3];e=+b[A+24>>3];e=+z(+(r*r-e*e));r=e*+b[A+40>>3];e=e*+b[A+48>>3];f=+b[A>>3];b[A+104>>3]=f-r;i=+b[A+8>>3];b[A+112>>3]=i-e;b[A+120>>3]=f+r;b[A+128>>3]=i+e;return}function Vf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0;r=+b[A+16>>3];l=+b[A+56>>3];t=+D(+l)*r;e=+b[A+24>>3];l=+M(+l)*e;n=+b[A+64>>3];r=+D(+n)*r;e=+M(+n)*e;n=+b[A>>3];i=+b[A+40>>3];f=+b[A+48>>3];b[A+72>>3]=i*t+n-f*l;a=+b[A+8>>3];b[A+80>>3]=f*t+a+i*l;b[A+88>>3]=n+i*r-f*e;b[A+96>>3]=a+f*r+i*e;return}function Jf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0;c=+b[A+24>>3];s=+b[A+16>>3];f=c/s;w=+b[A+48>>3];u=+y(+w)<.1;t=+b[A+40>>3];do{if(u){e=w/t;i=+N(+(e*f));r=-i;if(t<0.0){e=+N(+(e/f));f=r;r=3.141592653589793-i;i=4.71238898038469-e;e=1.5707963267948966-e;break}else{e=+N(+(e/f));f=-3.141592653589793-i;i=1.5707963267948966-e;e=-1.5707963267948966-e;break}}else{e=t/w;i=+N(+(e/f));r=i+1.5707963267948966;if(w<0.0){e=+N(+(e*f));f=i+-1.5707963267948966;i=e+3.141592653589793;break}else{e=+N(+(e*f));f=r;r=i+4.71238898038469;i=e;e=e+-3.141592653589793;break}}}while(0);n=+b[A+56>>3];f=f-+W(+((f-n)*.15915494309189535))*6.283185307179586;e=e-+W(+((e-n)*.15915494309189535))*6.283185307179586;a=r-+W(+((r-n)*.15915494309189535))*6.283185307179586;n=i-+W(+((i-n)*.15915494309189535))*6.283185307179586;l=+b[A+64>>3];if(!(f<=l)){f=+b[A+72>>3];i=+b[A+88>>3];i=f>3]-c*+M(+f)*w;b[A+136>>3]=i;if(!(e<=l)){f=+b[A+80>>3];r=+b[A+96>>3];r=f>3]+ +M(+e)*c*t;b[A+144>>3]=r;if(!(a<=l)){a=+b[A+72>>3];e=+b[A+88>>3];e=a>e?a:e}else e=+D(+a)*s*t+ +b[A>>3]-c*+M(+a)*w;b[A+152>>3]=e-i;if(!(n<=l)){w=+b[A+80>>3];e=+b[A+96>>3];e=w>e?w:e}else e=+D(+n)*s*w+ +b[A+8>>3]+ +M(+n)*c*t;b[A+160>>3]=e-r;return}function Nf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+80|0;s=w;Xf(A);c=+b[i+56>>3];n=+b[i+64>>3];switch(r[i+80>>0]|0){case 116:{n=(+b[i+48>>3]-+Rf(e))*.5+n;f=4;break}case 98:{n=n-(+b[i+48>>3]-+Rf(e))*.5;f=4;break}default:{}}if((f|0)==4)n=n+-1.0;b[s>>3]=c;b[s+8>>3]=n;a[s+20>>2]=a[i+8>>2];a[s+16>>2]=a[i+4>>2];b[s+32>>3]=+b[i+16>>3];t=A+16|0;f=po(a[(a[t>>2]|0)+8>>2]|0,137297)|0;i=s+56|0;a[i>>2]=f;l=s+60|0;a[l>>2]=a[(a[t>>2]|0)+212>>2];t=s+64|0;r[t>>0]=0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))a[i>>2]=137308;if((r[e+4>>0]|0)==1){i=a[e>>2]|0;rr(A,a[(a[A>>2]|0)+336>>2]|0);f=a[i+24>>2]|0;if(!f)$i(A,137314);else $i(A,f);pf(A,i,s);if(r[t>>0]|0)L2(a[l>>2]|0)}else Hf(A,a[e>>2]|0,s);Uf(A);k=w;return}function Xf(A){A=A|0;var e=0,i=0,r=0;e=AI(A)|0;i=a[e>>2]|0;A=a[i+4>>2]|0;a[e+4>>2]=A;a[e+12>>2]=a[i+12>>2];switch(A|0){case 2:{A=i+8|0;r=6;break}case 0:{A=i+8|0;r=6;break}case 1:{A=i+8|0;r=6;break}case 3:{A=i+8|0;r=6;break}default:{}}if((r|0)==6)a[e+8>>2]=a[A>>2];a[e+208>>2]=a[i+208>>2];a[e+228>>2]=a[i+228>>2];a[e+244>>2]=a[i+244>>2];r=e+260|0;f[r>>1]=f[r>>1]&-2|f[i+260>>1]&1;return}function Rf(A){A=A|0;var e=0.0,i=0,f=0;switch(r[A+4>>0]|0){case 1:{i=a[A>>2]|0;A=i+72|0;i=i+56|0;f=5;break}case 3:{i=a[A>>2]|0;A=i+24|0;i=i+8|0;f=5;break}case 2:{i=a[A>>2]|0;A=i+32|0;i=i+16|0;f=5;break}default:e=0.0}if((f|0)==5)e=+b[A>>3]-+b[i>>3];return+e}function Hf(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;w=k;k=k+96|0;t=w+64|0;l=w+32|0;n=w+16|0;c=w;s=f[e+4>>1]|0;if(s<<16>>16>=1){d=e+8|0;o=+b[e+24>>3];u=+b[d>>3];b[c>>3]=(u+o)*.5+ +b[i>>3];b[c+8>>3]=(+b[e+16>>3]+ +b[e+32>>3])*.5+ +b[i+8>>3];h=a[e>>2]|0;B=i+16|0;i=r[e+6>>0]|0;a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[l+16>>2]=a[B+16>>2];a[l+20>>2]=a[B+20>>2];a[l+24>>2]=a[B+24>>2];a[l+28>>2]=a[B+28>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];a[t+16>>2]=a[d+16>>2];a[t+20>>2]=a[d+20>>2];a[t+24>>2]=a[d+24>>2];a[t+28>>2]=a[d+28>>2];ea(A,s<<16>>16,h,n,(o-u)*.5,l,t,i)}k=w;return}function pf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+176|0;v=Z+96|0;E=Z+64|0;C=Z+136|0;o=Z;h=Z+128|0;d=e+48|0;a[E>>2]=a[d>>2];a[E+4>>2]=a[d+4>>2];a[E+8>>2]=a[d+8>>2];a[E+12>>2]=a[d+12>>2];a[E+16>>2]=a[d+16>>2];a[E+20>>2]=a[d+20>>2];a[E+24>>2]=a[d+24>>2];a[E+28>>2]=a[d+28>>2];s=+b[i>>3];w=+b[i+8>>3];d=e+84|0;l=a[d>>2]|0;if(!(a[e>>2]|0))I=(a[e+8>>2]|0)!=0;else I=1;g=e+108|0;t=a[g>>2]|0;if(t|0)xf(i,t,186544);b[E>>3]=+b[E>>3]+s;B=E+16|0;b[B>>3]=+b[B>>3]+s;B=E+8|0;b[B>>3]=+b[B>>3]+w;B=E+24|0;b[B>>3]=+b[B>>3]+w;if(I?(a[A+152>>2]&4|0)==0:0){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];B=Tf(A,i,e,v,C)|0}else B=0;u=e+42|0;t=f[u>>1]|0;if(!(t&32)){c=a[e+20>>2]|0;if(c){t=jf(A,c,a[e+28>>2]|0,t&65535,h)|0;if(!(f[u>>1]&4)){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];nr(A,v,t)}else{u=n[e+33>>0]|0;a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];tN(A,Sf(o,v,u)|0,4,4,t)}L2(a[h>>2]|0)}while(1){t=a[l>>2]|0;if(!t)break;Pf(A,t,i);l=l+4|0}l=a[d>>2]|0;wr(A,1.0);t=e+24|0;while(1){c=l+4|0;l=a[l>>2]|0;if(!l)break;if(!(r[l+100>>0]|0)){l=c;continue}Of(A,l,i,a[t>>2]|0,a[c>>2]|0);l=c}if(r[e+33>>0]|0){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];Kf(A,e,v)}}if(B|0)_f(A,C);if((I?a[A+152>>2]&4|0:0)?(a[v>>2]=a[E>>2],a[v+4>>2]=a[E+4>>2],a[v+8>>2]=a[E+8>>2],a[v+12>>2]=a[E+12>>2],a[v+16>>2]=a[E+16>>2],a[v+20>>2]=a[E+20>>2],a[v+24>>2]=a[E+24>>2],a[v+28>>2]=a[E+28>>2],Tf(A,i,e,v,C)|0):0)_f(A,C);if(a[g>>2]|0)qf(i,186544);k=Z;return}function Uf(A){A=A|0;var e=0;e=a[A+16>>2]|0;a[e+208>>2]=0;a[e+228>>2]=0;a[e+244>>2]=0;a[e+212>>2]=0;eI(A);return}function xf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0;l=A+16|0;f=a[l>>2]|0;if(f|0){if(!(a[e>>2]|0)){f=0;n=i}else{a[i>>2]=f;f=a[e>>2]|0;n=l}a[n>>2]=f}f=a[A+20>>2]|0;if(f|0){n=e+4|0;if(!(a[n>>2]|0)){f=0;n=i}else{a[i+4>>2]=f;f=a[n>>2]|0;n=l}a[n+4>>2]=f}r=+b[A+32>>3];if(r>=0.0){f=e+16|0;if(!(+b[f>>3]>=0.0))r=-1.0;else{b[i+16>>3]=r;r=+b[f>>3];i=l}b[i+16>>3]=r}return}function Tf(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+224|0;w=g+8|0;b=g;v=g+40|0;c=g+184|0;t=g+56|0;s=a[A+16>>2]|0;u=s+208|0;a[l>>2]=a[u>>2];o=s+228|0;a[l+4>>2]=a[o>>2];h=s+244|0;a[l+8>>2]=a[h>>2];d=s+212|0;a[l+12>>2]=a[d>>2];B=s+260|0;r[l+16>>0]=(f[B>>1]<<15&65535)<<16>>16>>15;l=a[i+16>>2]|0;if((l|0)!=0?(r[l>>0]|0)!=0:0)t=0;else{co(v,128,t);t=e+60|0;l=a[t>>2]|0;if(!l){l=s3(rI(A,a[s+8>>2]|0,v)|0)|0;a[t>>2]=l;r[e+64>>0]=1}wo(v,l)|0;t=a[47374]|0;a[47374]=t+1;a[b>>2]=t;P4(c,137391,b)|0;wo(v,c)|0;t=v+4|0;l=a[t>>2]|0;if(l>>>0>=(a[v+8>>2]|0)>>>0){bo(v,1)|0;l=a[t>>2]|0}r[l>>0]=0;l=a[v>>2]|0;a[t>>2]=l;t=1}l=iI(A,0,a[i>>2]|0,a[i+12>>2]|0,a[i+8>>2]|0,l,a[s+8>>2]|0)|0;if(t)uo(v);do{if(l|0){if((a[u>>2]|0)==0?(f[B>>1]&1)==0:0)break;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];a[w+16>>2]=a[n+16>>2];a[w+20>>2]=a[n+20>>2];a[w+24>>2]=a[n+24>>2];a[w+28>>2]=a[n+28>>2];bI(A,w);Pi(A,a[u>>2]|0,a[o>>2]|0,a[h>>2]|0,a[d>>2]|0)}}while(0);k=g;return l|0}function jf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0;t=k;k=k+16|0;l=t;if(!((qM(e,f,l)|0)<<24>>24)){er(A,e);e=1}else{er(A,a[f>>2]|0);e=a[f+4>>2]|0;n=+c[l>>2];if(!e)ir(A,137314,i,n);else ir(A,e,i,n);e=r>>>1&1|2}$i(A,137379);k=t;return e|0}function Sf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];r=A+32|0;e=e+16|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];if((i|0)>1){t=+(i|0)*.5;l=+b[A>>3]+t;b[A>>3]=l;i=A+8|0;n=+b[i>>3]+t;b[i>>3]=n;f=+b[r>>3]-t;b[r>>3]=f;r=A+40|0;t=+b[r>>3]-t;b[r>>3]=t}else{f=+b[r>>3];n=+b[A+8>>3];l=+b[A>>3];t=+b[A+40>>3]}b[A+16>>3]=f;b[A+24>>3]=n;b[A+48>>3]=l;b[A+56>>3]=t;return A|0}function Pf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+176|0;d=E+96|0;B=E+136|0;v=E+64|0;o=E;h=E+128|0;g=e+48|0;a[v>>2]=a[g>>2];a[v+4>>2]=a[g+4>>2];a[v+8>>2]=a[g+8>>2];a[v+12>>2]=a[g+12>>2];a[v+16>>2]=a[g+16>>2];a[v+20>>2]=a[g+20>>2];a[v+24>>2]=a[g+24>>2];a[v+28>>2]=a[g+28>>2];t=+b[i>>3];c=+b[i+8>>3];if(!(a[e>>2]|0))g=(a[e+8>>2]|0)!=0;else g=1;b[v>>3]=+b[v>>3]+t;u=v+16|0;b[u>>3]=+b[u>>3]+t;u=v+8|0;b[u>>3]=+b[u>>3]+c;u=v+24|0;b[u>>3]=+b[u>>3]+c;if(g?(a[A+152>>2]&4|0)==0:0){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];u=Tf(A,i,e,d,B)|0}else u=0;w=e+42|0;l=f[w>>1]|0;A:do{if(!(l&32)){s=a[e+20>>2]|0;if(s|0){l=jf(A,s,a[e+28>>2]|0,l&65535,h)|0;if(!(f[w>>1]&4)){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];nr(A,d,l)}else{w=n[e+33>>0]|0;a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];tN(A,Sf(o,d,w)|0,4,4,l)}L2(a[h>>2]|0)}if(r[e+33>>0]|0){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];Kf(A,e,d)}l=e+88|0;switch(r[e+92>>0]|0){case 1:{pf(A,a[l>>2]|0,i);break A}case 3:{Aa(A,a[l>>2]|0,i);break A}default:{Hf(A,a[l>>2]|0,i);break A}}}}while(0);if(u|0)_f(A,B);if((g?a[A+152>>2]&4|0:0)?(a[d>>2]=a[v>>2],a[d+4>>2]=a[v+4>>2],a[d+8>>2]=a[v+8>>2],a[d+12>>2]=a[v+12>>2],a[d+16>>2]=a[v+16>>2],a[d+20>>2]=a[v+20>>2],a[d+24>>2]=a[v+24>>2],a[d+28>>2]=a[v+28>>2],Tf(A,i,e,d,B)|0):0)_f(A,B);k=E;return}function Of(A,e,i,t,c){A=A|0;e=e|0;i=i|0;t=t|0;c=c|0;var s=0.0,w=0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0;Q=k;k=k+32|0;Z=Q+16|0;G=Q;d=+b[i>>3];I=+b[i+8>>3];h=(t|0)==0?137314:t;er(A,h);$i(A,h);v=+b[e+48>>3];u=+b[e+56>>3];g=+b[e+64>>3];o=+b[e+72>>3];B=v+d;d=g+d;I=u+I;h=e+100|0;i=r[h>>0]|0;if((i&1)!=0?(w=a[e+96>>2]|0,((l[e+80>>1]|0)+(l[e+84>>1]|0)|0)<(a[w+104>>2]|0)):0){i=f[e+86>>1]|0;do{if(i<<16>>16)if(((l[e+82>>1]|0)+(i&65535)|0)==(a[w+100>>2]|0)){m=r[w+32>>0]|0;L=(m<<24>>24)/2|0;t=(L<<24>>24)+(n[w+33>>0]|0)|0;i=t;t=t&255;s=I-+(L<<24>>24);w=m;break}else{w=r[w+32>>0]|0;i=0;t=((w<<24>>24)/2|0)<<24>>24;s=I;break}else{L=r[w+32>>0]|0;t=((L<<24>>24)/2|0)<<24>>24;i=t+(n[w+33>>0]|0)|0;s=I;w=L}}while(0);b[G+8>>3]=s-+(t|0);b[G>>3]=d+ +(((w<<24>>24)/2|0)<<24>>24);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];$f(A,Z,0.0,o-u+ +(i&255|0)+ +(w<<24>>24));i=r[h>>0]|0}if(i&2?(E=f[e+86>>1]|0,C=a[e+96>>2]|0,((l[e+82>>1]|0)+(E&65535)|0)<(a[C+100>>2]|0)):0){i=f[e+84>>1]|0;do{if(!(i<<16>>16)){i=r[C+32>>0]|0;L=(i<<24>>24)/2|0;w=(L<<24>>24)+(n[C+33>>0]|0)|0;t=w&255;w=w&255;s=+(L<<24>>24);b[G>>3]=B-s-+(w|0);if((a[C+104>>2]|0)==(l[e+80>>1]|0)){t=w<<1&255;break}if((c|0)!=0?(f[c+86>>1]|0)!=E<<16>>16:0)t=~~(+(t&255)-g+ +b[C+64>>3]-s)&255}else{if(((l[e+80>>1]|0)+(i&65535)|0)==(a[C+104>>2]|0)){i=r[C+32>>0]|0;L=(i<<24>>24)/2|0;t=(L&255)+(n[C+33>>0]|0)&255;b[G>>3]=B-+(L<<24>>24);break}i=r[C+32>>0]|0;s=+(((i<<24>>24)/2|0)<<24>>24);b[G>>3]=B-s;if((c|0)!=0?(f[c+86>>1]|0)!=E<<16>>16:0)t=~~(+b[C+64>>3]-g-s)&255;else t=0}}while(0);b[G+8>>3]=I-+(((i<<24>>24)/2|0)<<24>>24);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];$f(A,Z,g-v+ +(t&255)+ +(i<<24>>24),0.0)}k=Q;return}function Kf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0;o=k;k=k+160|0;u=o+112|0;w=o;t=o+144|0;s=a[e+24>>2]|0;$i(A,(s|0)==0?137314:s);s=e+42|0;l=f[s>>1]|0;if(!(l&384))rr(A,a[(a[A>>2]|0)+336>>2]|0);else{a[t+4>>2]=0;a[t>>2]=0;l=l&65535;if(!(l&256)){if(l&128|0){l=137320;c=4}}else{l=137327;c=4}if((c|0)==4)a[t>>2]=l;rr(A,t)}c=e+33|0;wr(A,+(n[c>>0]|0));A:do{if(!(f[s>>1]&4)){l=f[e+36>>1]&15360;if(!(l<<16>>16)){l=r[c>>0]|0;if((l&255)>1){h=+(l&255)*.5;b[i>>3]=+b[i>>3]+h;w=i+8|0;b[w>>3]=+b[w>>3]+h;w=i+16|0;b[w>>3]=+b[w>>3]-h;w=i+24|0;b[w>>3]=+b[w>>3]-h}a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];nr(A,u,0);break}t=w+16|0;s=n[c>>0]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];Sf(t,u,s)|0;do{switch(((l&65535)+-1024|0)>>>10&4194303|0){case 7:{tr(A,t,2);break A}case 3:{tr(A,w+32|0,2);break A}case 1:{tr(A,w+48|0,2);break A}case 0:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,2);break A}case 11:{tr(A,t,3);break A}case 5:{tr(A,w+32|0,3);break A}case 2:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];tr(A,w+48|0,3);break A}case 8:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,3);break A}case 13:{tr(A,t,4);break A}case 6:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];tr(A,w+32|0,4);break A}case 10:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];i=w+96|0;u=w+32|0;a[i>>2]=a[u>>2];a[i+4>>2]=a[u+4>>2];a[i+8>>2]=a[u+8>>2];a[i+12>>2]=a[u+12>>2];tr(A,w+48|0,4);break A}case 12:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,4);break A}case 9:{tr(A,t,2);tr(A,w+48|0,2);break A}case 4:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,2);tr(A,w+32|0,2);break A}default:break A}}while(0)}else{s=n[c>>0]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];tN(A,Sf(w,u,s)|0,4,4,0)}}while(0);k=o;return}function _f(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=a[A+16>>2]|0;i=l+208|0;if((a[i>>2]|0)==0?(f[l+260>>1]&1)==0:0)A=0;else{Oi(A);A=a[i>>2]|0}if((A|0)!=(a[e>>2]|0)){L2(A);a[i>>2]=a[e>>2]}A=l+228|0;i=a[A>>2]|0;n=e+4|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}A=l+244|0;i=a[A>>2]|0;n=e+8|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}A=l+212|0;i=a[A>>2]|0;n=e+12|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}l=l+260|0;f[l>>1]=f[l>>1]&-2|r[e+16>>0]&1;return}function qf(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=a[e>>2]|0;if(r|0)a[A+16>>2]=r;r=a[e+4>>2]|0;if(r|0)a[A+20>>2]=r;i=+b[e+16>>3];if(i>=0.0)b[A+32>>3]=i;return}function $f(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0,l=0;f=k;k=k+64|0;n=f+32|0;l=f;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];b[l+16>>3]=+b[e>>3]+i;b[l+24>>3]=+b[e+8>>3]+r;a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];a[n+16>>2]=a[l+16>>2];a[n+20>>2]=a[l+20>>2];a[n+24>>2]=a[l+24>>2];a[n+28>>2]=a[l+28>>2];nr(A,n,1);k=f;return}function Aa(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0.0;l=k;k=k+64|0;n=l;c=+b[i>>3];w=c+ +b[e>>3];s=+b[i+8>>3];t=s+ +b[e+8>>3];c=c+ +b[e+16>>3];s=s+ +b[e+24>>3];b[n>>3]=c;b[n+8>>3]=s;b[n+32>>3]=w;b[n+40>>3]=t;b[n+16>>3]=w;b[n+24>>3]=s;b[n+48>>3]=c;b[n+56>>3]=t;f=a[e+36>>2]|0;if(!f)f=a[i+56>>2]|0;i=a[e+32>>2]|0;if(!i)vA(137334,137342,623,137354);if(!(r[i>>0]|0))vA(137368,137342,624,137354);else{br(A,i,n,4,1,f);k=l;return}}function ea(A,e,i,n,l,t,c,s){A=A|0;e=e|0;i=i|0;n=n|0;l=+l;t=t|0;c=c|0;s=s|0;var w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0.0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,U=0;U=k;k=k+128|0;V=U+104|0;R=U+48|0;H=U+16|0;J=U;F=J;a[F>>2]=0;a[F+4>>2]=0;N=+b[n>>3];X=N-l;M=N+l;F=J+8|0;b[F>>3]=(+b[c+24>>3]-+b[c+8>>3])*.5+ +b[n+8>>3];Ki(A,1);W=H+16|0;y=H+4|0;z=H+24|0;Y=R+4|0;D=R+16|0;B=(s|0)==0;v=R+24|0;g=R+8|0;E=R+32|0;C=R+40|0;I=R+48|0;Z=t+16|0;G=t+4|0;Q=H+8|0;h=0;while(1){if((h|0)>=(e|0))break;switch(r[i+(h*24|0)+6>>0]|0){case 108:{l=X;break}case 114:{l=M-+b[i+(h*24|0)+8>>3];break}default:l=N-+b[i+(h*24|0)+8>>3]*.5}b[n>>3]=l;m=i+(h*24|0)+16|0;b[F>>3]=+b[F>>3]-+b[m>>3];L=i+(h*24|0)+4|0;o=a[i+(h*24|0)>>2]|0;d=0;while(1){if((d|0)>=(f[L>>1]|0))break;u=o+4|0;s=a[u>>2]|0;if(s){b[W>>3]=+b[(+b[s+16>>3]>0.0?s:t)+16>>3];a[H>>2]=a[((a[s>>2]|0)==0?t:s)>>2];c=a[((a[s+4>>2]|0)==0?t:s)+4>>2]|0;a[y>>2]=c;s=a[s+24>>2]&127;if(!s)p=12;else s=a[z>>2]&-128|s}else{b[W>>3]=+b[Z>>3];a[H>>2]=a[t>>2];c=a[G>>2]|0;a[y>>2]=c;p=12}if((p|0)==12){p=0;s=a[z>>2]&-128}a[z>>2]=s;$i(A,c);a[R>>2]=a[o>>2];a[Y>>2]=H;b[D>>3]=+b[o+16>>3];if(B)w=1.0;else w=+b[o+24>>3];b[v>>3]=w;a[Q>>2]=a[(a[u>>2]|0)+8>>2];a[g>>2]=a[o+8>>2];u=o+32|0;b[E>>3]=+b[u>>3];b[C>>3]=+b[m>>3];r[I>>0]=108;b[J>>3]=l;a[V>>2]=a[J>>2];a[V+4>>2]=a[J+4>>2];a[V+8>>2]=a[J+8>>2];a[V+12>>2]=a[J+12>>2];qi(A,V,R);w=+b[u>>3]+l;b[n>>3]=w;o=o+56|0;d=d+1|0;l=w}h=h+1|0}_i(A);k=U;return}function ia(A){A=A|0;L2(a[A>>2]|0);L2(a[A+4>>2]|0);L2(a[A+8>>2]|0);L2(a[A+16>>2]|0);L2(a[A+12>>2]|0);L2(a[A+20>>2]|0);L2(a[A+24>>2]|0);return}function ra(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;if(A|0){c=A+4|0;i=0;n=a[A>>2]|0;while(1){if((i|0)>=(f[c>>1]|0))break;b=n+4|0;e=0;r=a[n>>2]|0;while(1){if((e|0)>=(f[b>>1]|0))break;L2(a[r>>2]|0);l=a[r+8>>2]|0;if(l|0?(t=a[r+12>>2]|0,t|0):0)F5[t&127](l);e=e+1|0;r=r+56|0}i=i+1|0;n=n+24|0}e=a[A>>2]|0;if(e|0)L2(e);L2(A)}return}function fa(A){A=A|0;L2(a[A+32>>2]|0);L2(A);return}function aa(A,e){A=A|0;e=e|0;switch(r[A+4>>0]|0){case 1:{na(a[A>>2]|0);break}case 3:{fa(a[A>>2]|0);break}default:ra(a[A>>2]|0)}if(e|0)L2(A);return}function na(A){A=A|0;var e=0,i=0,r=0;r=A+84|0;if((a[A+100>>2]|0)==-1)pk(a[r>>2]|0)|0;else{e=a[r>>2]|0;L2(a[A+92>>2]|0);L2(a[A+96>>2]|0);while(1){i=a[e>>2]|0;if(!i)break;la(i);e=e+4|0}L2(a[r>>2]|0)}ia(A);L2(A);return}function la(A){A=A|0;aa(A+88|0,0);ia(A);L2(A);return}function ta(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A=a[(a[(a[A+16>>2]|0)+104>>2]|0)+72>>2]|0;if((r[A+4>>0]|0)!=2?(f=ca(a[A>>2]|0,e)|0,(f|0)!=0):0){a[i>>2]=n[f+35>>0];A=f+48|0}else A=0;return A|0}function ca(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[A+4>>2]|0;if(!((i|0)!=0?(N1(i,e)|0)==0:0))r=3;A:do{if((r|0)==3){i=a[A+84>>2]|0;while(1){A=a[i>>2]|0;if(!A){A=0;break A}A=ba(A,e)|0;if(!A)i=i+4|0;else break}}}while(0);return A|0}function ba(A,e){A=A|0;e=e|0;var i=0;i=a[A+4>>2]|0;if(!((i|0)!=0?(N1(i,e)|0)==0:0))if((r[A+92>>0]|0)==1)A=ca(a[A+88>>2]|0,e)|0;else A=0;return A|0}function sa(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function wa(A){A=A|0;var e=0.0,i=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=A+92|0;a[o>>2]=qF((a[A+100>>2]<<2)+4|0)|0;u=qF((a[A+104>>2]<<2)+4|0)|0;a[A+96>>2]=u;k=A+32|0;w=a[A+84>>2]|0;while(1){s=a[w>>2]|0;if(!s)break;A=f[s+82>>1]|0;e=+b[s+72>>3];if(A<<16>>16==1)n=~~e;else{n=~~((e-+(U((r[k>>0]|0)+-1|0,(A&65535)+-1|0)|0))/+(A&65535));n=(n|0)>1?n:1}t=f[s+80>>1]|0;e=+b[s+64>>3];if(t<<16>>16==1)c=~~e;else{c=~~((e-+(U((r[k>>0]|0)+-1|0,(t&65535)+-1|0)|0))/+(t&65535));c=(c|0)>1?c:1}h=l[s+86>>1]|0;i=(A&65535)+h|0;A=h;while(1){if((A|0)>=(i|0))break;h=(a[o>>2]|0)+(A<<2)|0;d=a[h>>2]|0;a[h>>2]=(d|0)>(n|0)?d:n;A=A+1|0}A=l[s+84>>1]|0;i=(t&65535)+A|0;while(1){if((A|0)>=(i|0))break;d=u+(A<<2)|0;h=a[d>>2]|0;a[d>>2]=(h|0)>(c|0)?h:c;A=A+1|0}w=w+4|0}return}function ua(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;if(A>>>0<21)A=a[55840+(A<<2)>>2]|0;else{a[e>>2]=A;P4(194959,137395,e)|0;A=194959}k=i;return A|0}function ka(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0;c=A+104|0;s=A+100|0;t=i+16|0;r=0;f=0;while(1){if((r|0)>(a[c>>2]|0))break;n=vd(i,ua(r)|0,1)|0;Td(n,137447,304,1)|0;w=n+16|0;a[(a[w>>2]|0)+176>>2]=0;k=qF((a[s>>2]<<2)+4|0)|0;u=a[w>>2]|0;a[u+172>>2]=k;a[u+184>>2]=0;u=qF((a[s>>2]<<2)+4|0)|0;a[(a[w>>2]|0)+180>>2]=u;if(!f)a[(a[t>>2]|0)+192>>2]=n;else a[(a[f+16>>2]|0)+164>>2]=n;r=r+1|0;f=n}t=e+16|0;r=0;f=0;while(1){if((r|0)>(a[s>>2]|0))break;n=vd(e,ua(r)|0,1)|0;Td(n,137447,304,1)|0;k=n+16|0;a[(a[k>>2]|0)+176>>2]=0;w=qF((a[c>>2]<<2)+4|0)|0;u=a[k>>2]|0;a[u+172>>2]=w;a[u+184>>2]=0;u=qF((a[c>>2]<<2)+4|0)|0;a[(a[k>>2]|0)+180>>2]=u;if(!f)a[(a[t>>2]|0)+192>>2]=n;else a[(a[f+16>>2]|0)+164>>2]=n;r=r+1|0;f=n}r=a[A+84>>2]|0;while(1){f=a[r>>2]|0;if(!f)break;k=f+84|0;u=vd(i,ua(l[k>>1]|0)|0,0)|0;k=vd(i,ua((l[f+80>>1]|0)+(l[k>>1]|0)|0)|0,0)|0;oa(i,u,k,~~+b[f+64>>3]);k=f+86|0;u=vd(e,ua(l[k>>1]|0)|0,0)|0;k=vd(e,ua((l[f+82>>1]|0)+(l[k>>1]|0)|0)|0,0)|0;oa(e,u,k,~~+b[f+72>>3]);r=r+4|0}ha(i);ha(e);return}function oa(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0;n=th(A,e,i,0,0)|0;if(!n){t=th(A,e,i,0,1)|0;Td(t,137460,176,1)|0;f[(a[t+16>>2]|0)+170>>1]=r;e=e+16|0;A=a[e>>2]|0;n=a[A+180>>2]|0;if(!n)A=$F((a[A+184>>2]<<2)+8|0)|0;else A=eV(n,(a[A+184>>2]<<2)+8|0)|0;r=a[e>>2]|0;a[r+180>>2]=A;r=r+184|0;n=a[r>>2]|0;a[r>>2]=n+1;a[A+(n<<2)>>2]=t;e=a[e>>2]|0;a[(a[e+180>>2]|0)+(a[e+184>>2]<<2)>>2]=0;e=i+16|0;A=a[e>>2]|0;n=a[A+172>>2]|0;if(!n)A=$F((a[A+176>>2]<<2)+8|0)|0;else A=eV(n,(a[A+176>>2]<<2)+8|0)|0;r=a[e>>2]|0;a[r+172>>2]=A;r=r+176|0;i=a[r>>2]|0;a[r>>2]=i+1;a[A+(i<<2)>>2]=t;t=a[e>>2]|0;a[(a[t+172>>2]|0)+(a[t+176>>2]<<2)>>2]=0}else{t=(a[n+16>>2]|0)+170|0;i=l[t>>1]|0;f[t>>1]=(i|0)>(r|0)?i:r}return}function ha(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;e=a[(a[A+16>>2]|0)+192>>2]|0;while(1){r=e+16|0;l=a[(a[r>>2]|0)+164>>2]|0;if(!l)break;if(th(A,e,l,0,0)|0){e=l;continue}n=th(A,e,l,0,1)|0;Td(n,137460,176,1)|0;f[(a[n+16>>2]|0)+170>>1]=0;e=a[r>>2]|0;i=a[e+180>>2]|0;if(!i)e=$F((a[e+184>>2]<<2)+8|0)|0;else e=eV(i,(a[e+184>>2]<<2)+8|0)|0;t=a[r>>2]|0;a[t+180>>2]=e;t=t+184|0;i=a[t>>2]|0;a[t>>2]=i+1;a[e+(i<<2)>>2]=n;r=a[r>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=l+16|0;e=a[r>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;i=a[r>>2]|0;a[i+172>>2]=e;i=i+176|0;t=a[i>>2]|0;a[i>>2]=t+1;a[e+(t<<2)>>2]=n;e=a[r>>2]|0;a[(a[e+172>>2]|0)+(a[e+176>>2]<<2)>>2]=0;e=l}return}function da(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=A+92|0;r=0;f=0;e=a[(a[(a[e+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=a[e+164>>2]|0;if(!e)break;e=a[e+16>>2]|0;l=e+232|0;a[(a[n>>2]|0)+(f<<2)>>2]=(a[l>>2]|0)-r;r=a[l>>2]|0;f=f+1|0}A=A+96|0;r=0;f=0;e=a[(a[(a[i+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=a[e+164>>2]|0;if(!e)break;e=a[e+16>>2]|0;l=e+232|0;a[(a[A>>2]|0)+(f<<2)>>2]=(a[l>>2]|0)-r;r=a[l>>2]|0;f=f+1|0}return}function Ba(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l+4|0;e=l;a[e>>2]=a[4647];i=a[A+100>>2]|0;if((i|0)!=1?(f=A+104|0,(a[f>>2]|0)!=1):0){a[A+92>>2]=qF((i<<2)+4|0)|0;a[A+96>>2]=qF((a[f>>2]<<2)+4|0)|0;r[n>>0]=r[e>>0]|0;r[n+1>>0]=r[e+1>>0]|0;r[n+2>>0]=r[e+2>>0]|0;r[n+3>>0]=r[e+3>>0]|0;f=kh(137473,n,0)|0;r[n>>0]=r[e>>0]|0;r[n+1>>0]=r[e+1>>0]|0;r[n+2>>0]=r[e+2>>0]|0;r[n+3>>0]=r[e+3>>0]|0;n=kh(137478,n,0)|0;Td(f,137483,280,1)|0;Td(n,137483,280,1)|0;ka(A,f,n);JV(f,2,2147483647)|0;JV(n,2,2147483647)|0;da(A,f,n);va(f,n)}else wa(A);k=l;return}function va(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=(a[e+16>>2]|0)+192|0;while(1){i=a[i>>2]|0;if(!i)break;f=i+16|0;i=a[f>>2]|0;r=a[i+172>>2]|0;if(r){L2(r);i=a[f>>2]|0}r=a[i+180>>2]|0;if(r){L2(r);i=a[f>>2]|0}i=i+164|0}Bh(A)|0;Bh(e)|0;return}function ga(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0;o=k;k=k+272|0;w=o+104|0;u=o+136|0;t=o+72|0;c=o;n=o+144|0;a[c+48>>2]=A;switch(Md(A)|0){case 0:{i=a[A+60>>2]|0;break}case 1:{i=Id(A)|0;break}case 2:{i=Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;break}default:{}}l=c+52|0;a[l>>2]=i;s=a[i+60>>2]|0;b[c+32>>3]=+b[e+16>>3];a[c+16>>2]=a[e+4>>2];a[c+20>>2]=a[e+8>>2];a[c+40>>2]=0;f=zl(a[e>>2]|0,u,c)|0;if(!f){co(w,128,n);r[e+82>>0]=0;i=s3(Ea(A,w)|0)|0;a[e>>2]=i;if((a[e+12>>2]|0)==1)i=EH(i)|0;else i=BH(i,a[l>>2]|0)|0;L2(a[e>>2]|0);a[e>>2]=i;RF(a[(a[s+16>>2]|0)+144>>2]|0,e);uo(w);i=a[u>>2]|0}else{i=f+4|0;if((r[i>>0]|0)==1){if((a[(a[f>>2]|0)+24>>2]|0)==0?Ca(A)|0:0){l=s3(Ca(A)|0)|0;a[(a[f>>2]|0)+24>>2]=l}s=Ia(s,a[f>>2]|0,0,c)|0;a[u>>2]=a[u>>2]|s;s=a[f>>2]|0;d=+b[s+64>>3]*.5;h=+b[s+72>>3]*.5;Za(t,-d,-h,d,h);s=a[f>>2]|0;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[w+16>>2]=a[t+16>>2];a[w+20>>2]=a[t+20>>2];a[w+24>>2]=a[t+24>>2];a[w+28>>2]=a[t+28>>2];Ga(s,w,15)}else{Qa(a[(a[s+16>>2]|0)+144>>2]|0,a[f>>2]|0,c);w=a[f>>2]|0;h=+b[w+24>>3]*.5;d=+b[w+32>>3]*.5;Za(t,-h,-d,h,d);w=(a[f>>2]|0)+8|0;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[w+16>>2]=a[t+16>>2];a[w+20>>2]=a[t+20>>2];a[w+24>>2]=a[t+24>>2];a[w+28>>2]=a[t+28>>2]}b[e+24>>3]=+b[t+16>>3]-+b[t>>3];b[e+32>>3]=+b[t+24>>3]-+b[t+8>>3];a[e+72>>2]=f;if((r[i>>0]|0)==1){L2(a[e>>2]|0);a[e>>2]=s3(141611)|0}i=a[u>>2]|0}k=o;return i|0}function Ea(A,e){A=A|0;e=e|0;var i=0;A:do{switch(Md(A)|0){case 0:{wo(e,Vh(A)|0)|0;break}case 1:{wo(e,Vh(A)|0)|0;break}case 2:{wo(e,Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)|0;i=A+-48|0;wo(e,Vh(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0;if(!(Ih(Id(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0)){wo(e,141747)|0;break A}else{wo(e,137738)|0;break A}}default:{}}}while(0);i=e+4|0;A=a[i>>2]|0;if(A>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;A=a[i>>2]|0}r[A>>0]=0;e=a[e>>2]|0;a[i>>2]=e;return e|0}function Ca(A){A=A|0;var e=0,i=0;e=po(A,137729)|0;if(!((e|0)!=0?(r[e>>0]|0)!=0:0))i=3;do{if((i|0)==3){e=po(A,140823)|0;if(e|0?r[e>>0]|0:0)break;e=0}}while(0);return e|0}function Ia(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+16|0;g=C+8|0;v=C;E=e+108|0;c=a[E>>2]|0;if(c|0)xf(t,c,186576);a[e+80>>2]=i;c=ya(A,e,t)|0;d=e+36|0;A=f[d>>1]|0;if(!(A&128))r[e+32>>0]=2;i=e+33|0;if(!(A&32))r[i>>0]=1;Ba(e);w=a[e+104>>2]|0;o=r[e+32>>0]|0;A=U(w+1|0,o)|0;u=n[i>>0]<<1;h=a[e+100>>2]|0;o=U(h+1|0,o)|0;s=e+96|0;A=u+A|0;i=0;while(1){if((i|0)>=(w|0))break;A=(a[(a[s>>2]|0)+(i<<2)>>2]|0)+A|0;i=i+1|0}w=e+92|0;i=o+u|0;s=0;while(1){if((s|0)>=(h|0))break;i=(a[(a[w>>2]|0)+(s<<2)>>2]|0)+i|0;s=s+1|0}w=e+38|0;do{if(f[d>>1]&1){d=f[w>>1]|0;s=d&65535;if(d<<16>>16?(B=f[e+40>>1]|0,B<<16>>16):0){if(!((A|0)>(s|0)|(i|0)>(B&65535|0))){i=0;A=0;break}ao(0,137529,v)|0;c=1;i=0;A=0;break}ao(0,137563,g)|0;c=1}}while(0);g=l[w>>1]|0;b[e+64>>3]=+(((A|0)>(g|0)?A:g)|0);g=l[e+40>>1]|0;b[e+72>>3]=+(((i|0)>(g|0)?i:g)|0);if(a[E>>2]|0)qf(t,186576);k=C;return c|0}function Za(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function Ga(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0.0,V=0;M=k;k=k+64|0;Y=M+32|0;D=M;y=a[A+84>>2]|0;c=a[A+80>>2]|0;if((c|0?(l=a[c+24>>2]|0,l|0):0)?(t=A+24|0,(a[t>>2]|0)==0):0)a[t>>2]=s3(l)|0;z=A+48|0;l=e+16|0;w=+b[l>>3];s=+b[e>>3];c=~~(w-s-+(~~+b[A+64>>3]|0));if((c|0)<=-1)vA(137496,137342,1761,137506);u=e+24|0;Z=+b[u>>3];o=e+8|0;h=+b[o>>3];d=+(~~+b[A+72>>3]|0);B=~~(Z-h-d);if((B|0)<=-1)vA(137519,137342,1764,137506);v=f[A+36>>1]|0;t=v&65535;A:do{if(t&1){e:do{if((c|0)>0)switch(t&6){case 4:{b[l>>3]=s+d;break e}case 2:{F=+(c|0);b[l>>3]=w+F;s=s+F;b[e>>3]=s;break e}default:{F=+(c>>>1|0);s=s+F;b[e>>3]=s;b[l>>3]=w-F;break e}}}while(0);if((B|0)>0)switch(v&24){case 16:{Z=h+d;b[u>>3]=Z;B=0;l=0;break A}case 8:{F=+(B|0);Z=Z+F;b[u>>3]=Z;b[o>>3]=h+F;B=0;l=0;break A}default:{F=+(B>>>1|0);b[o>>3]=h+F;Z=Z-F;b[u>>3]=Z;B=0;l=0;break A}}else{B=0;l=0}}else l=c}while(0);w=+(n[A+33>>0]|0);L=A+32|0;g=r[L>>0]|0;h=+(g<<24>>24);W=A+104|0;c=a[W>>2]|0;v=(l|0)/(c|0)|0;u=l-(U(v,c)|0)|0;u=~~(((u|0)>-1?.5:-.5)+ +(u|0));m=A+96|0;o=g<<24>>24;l=~~(s+w+h);t=0;while(1){if((t|0)>(c|0))break;Q=(a[m>>2]|0)+(t<<2)|0;c=a[Q>>2]|0;a[Q>>2]=l;l=l+v+((t|0)<(u|0)&1)+c+o|0;t=t+1|0;c=a[W>>2]|0}Q=A+100|0;c=a[Q>>2]|0;v=(B|0)/(c|0)|0;o=B-(U(v,c)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));G=A+92|0;u=g<<24>>24;l=~~(Z-w-h);t=0;while(1){if((t|0)>(c|0))break;I=(a[G>>2]|0)+(t<<2)|0;c=a[I>>2]|0;a[I>>2]=l;l=l-v+(((t|0)<(o|0))<<31>>31)-c-u|0;t=t+1|0;c=a[Q>>2]|0}g=(i|0)==0;E=D+16|0;C=D+24|0;I=D+8|0;l=y;while(1){u=a[l>>2]|0;if(!u)break;c=f[u+84>>1]|0;if(g){t=0;o=f[u+80>>1]|0;B=f[u+86>>1]|0;v=f[u+82>>1]|0}else{t=c<<16>>16==0?8:0;B=f[u+86>>1]|0;t=B<<16>>16==0?t|4:t;o=f[u+80>>1]|0;v=f[u+82>>1]|0;t=(((o&65535)+(c&65535)|0)==(a[W>>2]|0)?t|2:t)|((v&65535)+(B&65535)|0)==(a[Q>>2]|0)}V=a[m>>2]|0;c=c&65535;b[D>>3]=+(a[V+(c<<2)>>2]|0);y=r[L>>0]|0;b[E>>3]=+((a[V+((o&65535)+c<<2)>>2]|0)-y|0);o=a[G>>2]|0;b[C>>3]=+(a[o+((B&65535)<<2)>>2]|0);b[I>>3]=+((a[o+((v&65535)+(B&65535)<<2)>>2]|0)+y|0);a[Y>>2]=a[D>>2];a[Y+4>>2]=a[D+4>>2];a[Y+8>>2]=a[D+8>>2];a[Y+12>>2]=a[D+12>>2];a[Y+16>>2]=a[D+16>>2];a[Y+20>>2]=a[D+20>>2];a[Y+24>>2]=a[D+24>>2];a[Y+28>>2]=a[D+28>>2];ma(u,Y,t&i);l=l+4|0}r[A+35>>0]=i;a[z>>2]=a[e>>2];a[z+4>>2]=a[e+4>>2];a[z+8>>2]=a[e+8>>2];a[z+12>>2]=a[e+12>>2];a[z+16>>2]=a[e+16>>2];a[z+20>>2]=a[e+20>>2];a[z+24>>2]=a[e+24>>2];a[z+28>>2]=a[e+28>>2];k=M;return}function Qa(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0.0,p=0.0,U=0.0;R=k;k=k+112|0;D=R+48|0;M=R+16|0;F=R;a[M>>2]=0;a[M+4>>2]=0;a[M+8>>2]=0;a[M+12>>2]=0;a[M+16>>2]=0;a[M+20>>2]=0;a[M+24>>2]=0;a[M+28>>2]=0;V=e+4|0;J=i+16|0;N=i+32|0;X=M+16|0;d=f[V>>1]|0;w=d<<16>>16;n=0;t=-1.0;s=0;while(1){if((s|0)>=(w|0)){n=1;break}l=a[e>>2]|0;if((f[l+(s*24|0)+4>>1]|0)>1){n=0;break}l=a[(a[l+(s*24|0)>>2]|0)+4>>2]|0;if(!l){c=+b[N>>3];b[X>>3]=c;l=J}else{if(a[l+24>>2]&127|0){n=0;break}c=+b[(+b[l+16>>3]>0.0?l:J)+16>>3];b[X>>3]=c;l=(a[l>>2]|0)==0?J:l}l=a[l>>2]|0;a[M>>2]=l;if(!(t==-1.0)){if(c!=t){n=0;break}}else t=c;if(n){if(A1(l,n)|0){n=0;break}}else n=l;s=s+1|0}r[e+6>>0]=n;y=i+48|0;z=i+20|0;Y=M+4|0;C=i+40|0;I=M+24|0;Z=A+144|0;G=D+4|0;E=F+8|0;Q=D+16|0;m=D+24|0;L=D+8|0;W=D+12|0;i=(n|0)==0;t=0.0;B=0.0;v=0.0;g=0.0;w=0;n=d;while(1){if((w|0)>=(n<<16>>16|0))break;c=0.0;h=0.0;s=0;o=0.0;t=0.0;l=a[e>>2]|0;while(1){if((s|0)>=(f[l+(w*24|0)+4>>1]|0))break;a[D>>2]=SF(a[(a[l+(w*24|0)>>2]|0)+(s*56|0)>>2]|0,a[y>>2]|0)|0;l=(a[e>>2]|0)+(w*24|0)|0;n=a[(a[l>>2]|0)+(s*56|0)+4>>2]|0;if(!n){b[X>>3]=+b[N>>3];a[M>>2]=a[J>>2];a[Y>>2]=a[z>>2];a[I>>2]=a[I>>2]&-128|a[C>>2]&127}else{n=a[n+24>>2]&127;if(!n)n=a[C>>2]&127;a[I>>2]=a[I>>2]&-128|n;d=a[(a[l>>2]|0)+(s*56|0)+4>>2]|0;b[X>>3]=+b[(+b[d+16>>3]>0.0?d:J)+16>>3];a[M>>2]=a[((a[d>>2]|0)==0?J:d)>>2];a[Y>>2]=a[((a[d+4>>2]|0)==0?J:d)+4>>2]}l=a[Z>>2]|0;a[G>>2]=W5[a[l>>2]&63](l,M,1)|0;AR(F,A,D);p=+b[F>>3];u=+b[E>>3];L2(a[(a[(a[e>>2]|0)+(w*24|0)>>2]|0)+(s*56|0)>>2]|0);l=a[e>>2]|0;d=a[l+(w*24|0)>>2]|0;a[d+(s*56|0)>>2]=a[D>>2];b[d+(s*56|0)+32>>3]=p;b[d+(s*56|0)+16>>3]=+b[Q>>3];b[d+(s*56|0)+24>>3]=+b[m>>3];a[d+(s*56|0)+4>>2]=a[G>>2];a[d+(s*56|0)+8>>2]=a[L>>2];a[d+(s*56|0)+12>>2]=a[W>>2];H=+b[X>>3];U=+b[m>>3];c=U>c?U:c;h=p+h;s=s+1|0;o=H>o?H:o;t=u>t?u:t}b[l+(w*24|0)+8>>3]=h;n=(w|0)==0;do{if(i)if(n){u=o;c=o-c;n=l;break}else{u=o;c=v-g+o-c;n=l+(w*24|0)|0;break}else{u=t;c=n?o:t;n=l+(w*24|0)|0}}while(0);b[n+16>>3]=c;B=h>B?h:B;v=u+v;g=+b[l+(w*24|0)+16>>3]+g;w=w+1|0;n=f[V>>1]|0}b[e+24>>3]=B;b[e+32>>3]=n<<16>>16==1?t:v;k=R;return}function ma(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0;Z=k;k=k+64|0;E=Z+32|0;I=Z;t=A+24|0;if((a[t>>2]|0)==0?(l=a[(a[A+96>>2]|0)+24>>2]|0,l|0):0)a[t>>2]=s3(l)|0;v=A+36|0;C=f[v>>1]|0;l=C&65535;A:do{if(l&1){c=+b[A+64>>3];h=+b[A+72>>3];t=e+16|0;s=+b[t>>3];u=+b[e>>3];w=s-u-c;e:do{if(w>0.0)switch(l&6){case 4:{s=u+c;b[t>>3]=s;c=u;break e}case 2:{s=w+s;b[t>>3]=s;c=u+w;b[e>>3]=c;break e}default:{o=w*.5;c=o+u;b[e>>3]=c;s=s-o;b[t>>3]=s;break e}}else c=u}while(0);l=e+24|0;o=+b[l>>3];t=e+8|0;w=+b[t>>3];u=o-w-h;if(u>0.0)switch(C&24){case 16:{u=w+h;b[l>>3]=u;break A}case 8:{h=u+o;b[l>>3]=h;w=w+u;b[t>>3]=w;u=h;break A}default:{u=u*.5;w=u+w;b[t>>3]=w;u=o-u;b[l>>3]=u;break A}}else u=o}else{c=+b[e>>3];w=+b[e+8>>3];s=+b[e+16>>3];u=+b[e+24>>3]}}while(0);B=A+48|0;a[B>>2]=a[e>>2];a[B+4>>2]=a[e+4>>2];a[B+8>>2]=a[e+8>>2];a[B+12>>2]=a[e+12>>2];a[B+16>>2]=a[e+16>>2];a[B+20>>2]=a[e+20>>2];a[B+24>>2]=a[e+24>>2];a[B+28>>2]=a[e+28>>2];r[A+35>>0]=i;Q=+(n[A+33>>0]|0);G=+(n[A+34>>0]|0);o=c+Q+G;b[I>>3]=o;h=w+Q+G;B=I+8|0;b[B>>3]=h;w=s-Q-G;e=I+16|0;b[e>>3]=w;u=u-Q-G;d=I+24|0;b[d>>3]=u;t=A+88|0;switch(r[A+92>>0]|0){case 1:{C=a[t>>2]|0;a[E>>2]=a[I>>2];a[E+4>>2]=a[I+4>>2];a[E+8>>2]=a[I+8>>2];a[E+12>>2]=a[I+12>>2];a[E+16>>2]=a[I+16>>2];a[E+20>>2]=a[I+20>>2];a[E+24>>2]=a[I+24>>2];a[E+28>>2]=a[I+28>>2];Ga(C,E,i);break}case 3:{l=a[t>>2]|0;c=+b[l+24>>3];s=w-o-+b[l+16>>3];A:do{if(s>0.0)switch(C&6){case 4:{b[e>>3]=w-s;break A}case 2:{b[I>>3]=s+o;break A}default:break A}}while(0);c=u-h-c;A:do{if(c>0.0)switch(C&24){case 16:{b[d>>3]=u-c;break A}case 8:{b[B>>3]=c+h;break A}default:break A}}while(0);a[E>>2]=a[I>>2];a[E+4>>2]=a[I+4>>2];a[E+8>>2]=a[I+8>>2];a[E+12>>2]=a[I+12>>2];a[E+16>>2]=a[I+16>>2];a[E+20>>2]=a[I+20>>2];a[E+24>>2]=a[I+24>>2];a[E+28>>2]=a[I+28>>2];La(l,E);break}default:{l=a[t>>2]|0;c=+b[l+32>>3];s=w-o-+b[l+24>>3];A:do{if(s>0.0?(g=C&6,g<<16>>16!=6):0)switch(g&7){case 4:{b[e>>3]=w-s;break A}case 2:{b[I>>3]=s+o;break A}default:{Q=s*.5;b[I>>3]=Q+o;b[e>>3]=w-Q;break A}}}while(0);c=u-h-c;A:do{if(c>0.0)switch(C&24){case 16:{b[d>>3]=u-c;break A}case 8:{b[B>>3]=c+h;break A}default:{Q=c*.5;b[B>>3]=Q+h;b[d>>3]=u-Q;break A}}}while(0);C=l+8|0;a[C>>2]=a[I>>2];a[C+4>>2]=a[I+4>>2];a[C+8>>2]=a[I+8>>2];a[C+12>>2]=a[I+12>>2];a[C+16>>2]=a[I+16>>2];a[C+20>>2]=a[I+20>>2];a[C+24>>2]=a[I+24>>2];a[C+28>>2]=a[I+28>>2];I=f[v>>1]&768;Wa(a[t>>2]|0,(I&1023)==512?108:(I&1023)==256?114:110)}}k=Z;return}function La(A,e){A=A|0;e=e|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];return}function Wa(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;n=f[A+4>>1]|0;i=0;while(1){if((i|0)>=(n|0))break;l=(a[A>>2]|0)+(i*24|0)+6|0;if(!(r[l>>0]|0))r[l>>0]=e;i=i+1|0}return}function ya(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;s=e+84|0;v=a[s>>2]|0;g=$V()|0;E=Ma()|0;t=0;n=0;b=xk(v)|0;while(1){if(!b)break;c=xk(a[b+8>>2]|0)|0;while(1){if(!c)break;c=a[c>>2]|0;t=t+1|0}n=n+1|0;if(r[b+12>>0]|0)Na(E,n);b=a[b>>2]|0}n=qF((t<<2)+4|0)|0;a[s>>2]=n;t=0;c=0;b=0;h=0;d=xk(v)|0;while(1){if(!d)break;B=h&65535;o=0;k=xk(a[d+8>>2]|0)|0;while(1){if(!k)break;u=a[k+8>>2]|0;a[n>>2]=u;b=za(A,u,e,i)|0|b;s=Ya(g,h,o,u)|0;f[u+86>>1]=B;f[u+84>>1]=s;s=s+(l[u+80>>1]|0)|0;w=h+(l[u+82>>1]|0)|0;if(Xa(E,w)|0){o=u+100|0;r[o>>0]=r[o>>0]|2}o=s;n=n+4|0;k=a[k>>2]|0;t=(s|0)>(t|0)?s:t;c=(w|0)>(c|0)?w:c}h=h+1|0;d=a[d>>2]|0}a[e+100>>2]=c;a[e+104>>2]=t;pk(v)|0;pk(E)|0;iJ(g);return b|0}function za(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+16|0;v=g+8|0;B=g;a[e+96>>2]=i;h=e+36|0;u=f[h>>1]|0;if(!(u&64)){if(!(f[i+36>>1]&64))w=2;else w=r[i+34>>0]|0;r[e+34>>0]=w}if(!(u&32)){w=r[i+88>>0]|0;if(w<<24>>24<=-1)if(!(f[i+36>>1]&32))w=1;else w=r[i+33>>0]|0;r[e+33>>0]=w}w=e+88|0;o=e+92|0;switch(r[o>>0]|0){case 1:{u=Ia(A,a[w>>2]|0,e,t)|0;i=a[w>>2]|0;w=u;u=i+64|0;i=i+72|0;break}case 3:{u=Da(a[w>>2]|0,t)|0;i=a[w>>2]|0;w=u;u=i+16|0;i=i+24|0;break}default:{Qa(a[(a[A+16>>2]|0)+144>>2]|0,a[w>>2]|0,t);i=a[w>>2]|0;w=0;u=i+24|0;i=i+32|0}}c=+((n[e+33>>0]|0)+(n[e+34>>0]|0)<<1|0);s=+b[u>>3]+c;c=+b[i>>3]+c;i=e+38|0;do{if(f[h>>1]&1){u=f[i>>1]|0;if(u<<16>>16?(d=f[e+40>>1]|0,d<<16>>16):0){if(!(s>+(u&65535)|c>+(d&65535))){s=0.0;c=0.0;break}if((r[o>>0]|0)==3){s=0.0;c=0.0;break}ao(0,137614,B)|0;w=1;s=0.0;c=0.0;break}ao(0,137647,v)|0;w=1}}while(0);E=+(l[i>>1]|0);b[e+64>>3]=s>E?s:E;s=+(l[e+40>>1]|0);b[e+72>>3]=c>s?c:s;k=g;return w|0}function Ya(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,t=0,c=0;c=r+80|0;t=(l[c>>1]|0)+-1|0;n=0;A:while(1){f=i;while(1){if(n)break A;a=t+f|0;while(1){if((a|0)<(f|0)){i=f;n=1;continue A}if(lJ(A,a,e)|0)break;a=a+-1|0}f=a+1|0}}n=r+82|0;f=i;while(1){if((f|0)<(i+(l[c>>1]|0)|0))a=e;else break;while(1){if((a|0)>=((l[n>>1]|0)+e|0))break;aJ(A,f,a);a=a+1|0}f=f+1|0}return i|0}function Da(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;t=s;l=s+8|0;e=e+52|0;n=A+32|0;Ug(l,a[e>>2]|0,a[n>>2]|0);c=a[l>>2]|0;l=a[l+4>>2]|0;if((l&c|0)==-1){a[t>>2]=a[n>>2];ao(1,137697,t)|0;e=1;f=0.0;i=0.0}else{r[(a[(a[e>>2]|0)+16>>2]|0)+114>>0]=1;e=0;f=+(l|0);i=+(c|0)}a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;b[A+16>>3]=i;b[A+24>>3]=f;k=s;return e|0}function Ma(){return jk(55924,a[4581]|0)|0}function Fa(A,e,i){A=A|0;e=e|0;i=i|0;i=qF(12)|0;a[i>>2]=a[e>>2];return i|0}function Va(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Ja(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return((e|0)>(r|0)?1:((e|0)<(r|0))<<31>>31)|0}function Na(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;W5[a[A>>2]&63](A,r,1)|0;k=i;return}function Xa(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;e=(W5[a[A>>2]&63](A,r,512)|0)!=0&1;k=i;return e|0}function Ra(A){A=A|0;var e=0;if(!(a[47375]|0)){e=qF((A<<2)+4|0)|0;a[47375]=e;a[e>>2]=189504;a[47386]=A}a[47387]=0;return}function Ha(){L2(a[47375]|0);a[47375]=0;a[47387]=0;return}function pa(){a[47387]=0;return}function Ua(){var A=0,e=0,i=0;e=a[47387]|0;i=a[47375]|0;A=1;while(1){if((A|0)>(e|0)){A=5;break}if((a[(a[i+(A<<2)>>2]|0)+4>>2]|0)==(A|0))A=A+1|0;else{A=4;break}}if((A|0)==4)vA(138394,137741,59,137747);else if((A|0)==5)return}function xa(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;f=a[47375]|0;n=a[f+(A<<2)>>2]|0;l=a[n>>2]|0;while(1){e=(A|0)/2|0;i=a[f+(e<<2)>>2]|0;r=f+(A<<2)|0;if((a[i>>2]|0)>=(l|0))break;a[r>>2]=i;a[i+4>>2]=A;A=e}a[r>>2]=n;a[n+4>>2]=A;return}function Ta(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=a[47387]|0;if((e|0)==(a[47386]|0)){ao(1,137755,i)|0;A=1}else{e=e+1|0;a[47387]=e;a[(a[47375]|0)+(e<<2)>>2]=A;xa(e);Ua();A=0}k=i;return A|0}function ja(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;r=a[47375]|0;f=a[r+(A<<2)>>2]|0;n=a[f>>2]|0;l=a[47387]|0;t=(l|0)/2|0;while(1){if((A|0)>(t|0))break;i=A<<1;e=a[r+(i<<2)>>2]|0;if((i|0)<(l|0)){s=i|1;c=a[r+(s<<2)>>2]|0;b=(a[e>>2]|0)<(a[c>>2]|0);i=b?s:i;e=b?c:e}if((n|0)>=(a[e>>2]|0))break;a[r+(A<<2)>>2]=e;a[e+4>>2]=A;A=i}a[r+(A<<2)>>2]=f;a[f+4>>2]=A;return}function Sa(){var A=0,e=0,i=0,r=0;e=a[47387]|0;if(!e)A=0;else{r=a[47375]|0;i=r+4|0;A=a[i>>2]|0;a[i>>2]=a[r+(e<<2)>>2];e=e+-1|0;a[47387]=e;if(e|0)ja(1);Ua()}return A|0}function Pa(A,e){A=A|0;e=e|0;a[A>>2]=e;xa(a[A+4>>2]|0);Ua();return}function Oa(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;w=A+16|0;t=a[w>>2]|0;t=(r[t+((a[i+12>>2]|0)*40|0)+36>>0]|0)!=(r[t+((a[i+16>>2]|0)*40|0)+36>>0]|0);c=~~((+b[e+64>>3]+-3.0-+b[e+48>>3])*.5);s=~~((+b[e+56>>3]+-3.0-+b[e+40>>3])*.5);n=(c|0)<(s|0)?c:s;u=e+4|0;f=0;while(1){A=a[u>>2]|0;if((f|0)>=(A|0)){n=f;break}l=a[e+8+(f<<2)>>2]|0;k=a[w>>2]|0;if((r[k+((a[l+12>>2]|0)*40|0)+36>>0]|0)==(r[k+((a[l+16>>2]|0)*40|0)+36>>0]|0)){n=f;break}Ka(l,n);f=f+1|0}while(1){if((n|0)>=(A|0))break;f=a[e+8+(n<<2)>>2]|0;if(t|(f|0)==(i|0)){Ka(f,r[(a[w>>2]|0)+((a[f+12>>2]|0)*40|0)+36>>0]|0?c:s);A=a[u>>2]|0}n=n+1|0}return}function Ka(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=a[i>>2]|0;a[i>>2]=r+1;if((r|0)>=(e|0)){a[i>>2]=0;b[A>>3]=+b[A>>3]+16384.0}return}function _a(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0,Q=0.0,m=0.0,L=0,W=0,y=0.0;I=k;k=k+112|0;g=I+64|0;v=I+96|0;s=I+32|0;E=I;C=qF(28)|0;e=vh(A)|0;B=C+4|0;a[B>>2]=e;e=qF(e*72|0)|0;d=C+12|0;a[d>>2]=e;r=E+8|0;b[r>>3]=1797693134862315708145274.0e284;b[E>>3]=1797693134862315708145274.0e284;f=E+24|0;b[f>>3]=-1797693134862315708145274.0e284;n=E+16|0;b[n>>3]=-1797693134862315708145274.0e284;l=s+16|0;t=s+8|0;c=s+24|0;i=cd(A)|0;w=1797693134862315708145274.0e284;u=1797693134862315708145274.0e284;o=-1797693134862315708145274.0e284;h=-1797693134862315708145274.0e284;while(1){if(!i)break;L=i+16|0;W=a[L>>2]|0;G=(+b[W+96>>3]+ +b[W+88>>3])*.5;G=G<1.0?1.0:G;Z=+b[W+80>>3]*.5;Z=Z<1.0?1.0:Z;y=+b[W+16>>3];m=y-G;b[s>>3]=m;G=y+G;b[l>>3]=G;y=+b[W+24>>3];Q=y-Z;b[t>>3]=Q;Z=y+Z;b[c>>3]=Z;m=+b[(w>3];b[E>>3]=m;Q=+b[(u>3];b[r>>3]=Q;G=+b[(o>G?E:s)+16>>3];b[n>>3]=G;Z=+b[(h>Z?E:s)+24>>3];b[f>>3]=Z;W=e+40|0;a[W>>2]=a[s>>2];a[W+4>>2]=a[s+4>>2];a[W+8>>2]=a[s+8>>2];a[W+12>>2]=a[s+12>>2];a[W+16>>2]=a[s+16>>2];a[W+20>>2]=a[s+20>>2];a[W+24>>2]=a[s+24>>2];a[W+28>>2]=a[s+28>>2];a[e>>2]=a[e>>2]|1;a[(a[L>>2]|0)+112>>2]=e;e=e+72|0;i=bd(A,i)|0;w=m;u=Q;o=G;h=Z}b[E>>3]=w+-36.0;b[r>>3]=u+-36.0;b[n>>3]=o+36.0;b[f>>3]=h+36.0;W=a[d>>2]|0;f=a[B>>2]|0;a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];f=tn(W,f,v,g)|0;if(a[47323]&1|0){d=a[d>>2]|0;L=a[B>>2]|0;W=a[v>>2]|0;a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];qa(d,L,g,f,W)}r=C+8|0;a[r>>2]=qF((a[v>>2]|0)*72|0)|0;a[C>>2]=a[v>>2];i=a[v>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;W=(a[r>>2]|0)+(e*72|0)+40|0;L=f+(e<<5)|0;a[W>>2]=a[L>>2];a[W+4>>2]=a[L+4>>2];a[W+8>>2]=a[L+8>>2];a[W+12>>2]=a[L+12>>2];a[W+16>>2]=a[L+16>>2];a[W+20>>2]=a[L+20>>2];a[W+24>>2]=a[L+24>>2];a[W+28>>2]=a[L+28>>2];e=e+1|0}L2(f);a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];a[C+16>>2]=$a(C,g)|0;k=I;return C|0}function qa(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0,E=0.0;h=k;k=k+128|0;o=h+96|0;u=h+64|0;t=h+32|0;d=h+16|0;B=h;s=+b[i+16>>3];w=+b[i>>3];c=+b[i+24>>3];n=+b[i+8>>3];l=a[15712]|0;m3(137770,l)|0;a[B>>2]=10;a[B+4>>2]=10;a[B+8>>2]=~~(s+10.0-w);a[B+12>>2]=~~(c+10.0-n);f3(l,138200,B)|0;b[d>>3]=10.0-w;b[d+8>>3]=10.0-n;f3(l,138248,d)|0;m3(138265,l)|0;i=0;while(1){if((i|0)>=(e|0))break;E=+b[A+(i*72|0)+48>>3];g=+b[A+(i*72|0)+56>>3];v=+b[A+(i*72|0)+64>>3];b[t>>3]=+b[A+(i*72|0)+40>>3];b[t+8>>3]=E;b[t+16>>3]=g;b[t+24>>3]=v;f3(l,138284,t)|0;i=i+1|0}m3(138302,l)|0;i=0;while(1){if((i|0)>=(f|0))break;v=+b[r+(i<<5)+8>>3];g=+b[r+(i<<5)+16>>3];E=+b[r+(i<<5)+24>>3];b[u>>3]=+b[r+(i<<5)>>3];b[u+8>>3]=v;b[u+16>>3]=g;b[u+24>>3]=E;f3(l,138321,u)|0;i=i+1|0}m3(138339,l)|0;b[o>>3]=w;b[o+8>>3]=n;b[o+16>>3]=s;b[o+24>>3]=c;f3(l,138321,o)|0;m3(138086,l)|0;k=h;return}function $a(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;Q=k;k=k+32|0;v=Q+16|0;c=Q;C=a[A>>2]|0;Z=gi(C<<2|2)|0;G=jk(55960,a[4581]|0)|0;E=jk(55996,a[4581]|0)|0;C=qF(C<<7)|0;f=qF(a[A>>2]<<4)|0;I=A+8|0;n=e+16|0;l=c+8|0;t=e+24|0;s=e+8|0;i=0;while(1){if((i|0)>=(a[A>>2]|0))break;w=a[I>>2]|0;u=w+(i*72|0)|0;a[w+(i*72|0)+32>>2]=4;o=w+(i*72|0)+36|0;a[o>>2]=f+(i<<2<<2);h=w+(i*72|0)+40|0;r=+b[w+(i*72|0)+56>>3];if(r<+b[n>>3]){b[c>>3]=r;b[l>>3]=+b[w+(i*72|0)+48>>3];a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];B=An(Z,G,v,C,1)|0;a[B+20>>2]=u;a[a[o>>2]>>2]=B}r=+b[w+(i*72|0)+64>>3];if(r<+b[t>>3]){b[c>>3]=+b[h>>3];b[l>>3]=r;a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];B=An(Z,E,v,C,0)|0;a[B+20>>2]=u;a[(a[o>>2]|0)+4>>2]=B}if(+b[h>>3]>+b[e>>3]){a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];B=An(Z,G,v,C,1)|0;a[B+24>>2]=u;a[(a[o>>2]|0)+8>>2]=B}if(+b[w+(i*72|0)+48>>3]>+b[s>>3]){a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];B=An(Z,E,v,C,0)|0;a[B+24>>2]=u;a[(a[o>>2]|0)+12>>2]=B}i=i+1|0}u=qF(a[Z>>2]<<2)|0;d=A+4|0;B=A+12|0;o=v+8|0;s=0;h=0;w=0;while(1){i=a[d>>2]|0;if((w|0)>=(i|0)){e=0;break}n=a[B>>2]|0;l=n+(w*72|0)|0;t=n+(w*72|0)+36|0;a[t>>2]=u+(s<<2);e=n+(w*72|0)+40|0;a[v>>2]=a[e>>2];a[v+4>>2]=a[e+4>>2];a[v+8>>2]=a[e+8>>2];a[v+12>>2]=a[e+12>>2];e=n+(w*72|0)+56|0;c=n+(w*72|0)+32|0;i=W5[a[E>>2]&63](E,v,512)|0;while(1){if(!i)break;if(!(+b[i+8>>3]<+b[e>>3]))break;L=a[i>>2]|0;m=a[t>>2]|0;f=a[c>>2]|0;a[c>>2]=f+1;a[m+(f<<2)>>2]=L;a[(a[i>>2]|0)+24>>2]=l;i=W5[a[E>>2]&63](E,i,8)|0}f=n+(w*72|0)+64|0;i=W5[a[G>>2]&63](G,v,512)|0;while(1){if(!i){g=20;break}r=+b[f>>3];if(!(+b[i+16>>3]>2]|0;m=a[t>>2]|0;L=a[c>>2]|0;a[c>>2]=L+1;a[m+(L<<2)>>2]=e;a[(a[i>>2]|0)+24>>2]=l;i=W5[a[G>>2]&63](G,i,8)|0}if((g|0)==20){g=0;r=+b[f>>3]}b[o>>3]=r;e=n+(w*72|0)+56|0;i=W5[a[E>>2]&63](E,v,512)|0;while(1){if(!i){g=25;break}r=+b[e>>3];if(!(+b[i+8>>3]>2]|0;m=a[t>>2]|0;L=a[c>>2]|0;a[c>>2]=L+1;a[m+(L<<2)>>2]=W;a[(a[i>>2]|0)+20>>2]=l;i=W5[a[E>>2]&63](E,i,8)|0}if((g|0)==25){g=0;r=+b[e>>3]}b[v>>3]=r;b[o>>3]=+b[n+(w*72|0)+48>>3];i=W5[a[G>>2]&63](G,v,512)|0;while(1){if(!i)break;if(!(+b[i+16>>3]<+b[f>>3]))break;m=a[i>>2]|0;L=a[t>>2]|0;W=a[c>>2]|0;a[c>>2]=W+1;a[L+(W<<2)>>2]=m;a[(a[i>>2]|0)+20>>2]=l;i=W5[a[G>>2]&63](G,i,8)|0}W=a[c>>2]|0;s=W+s|0;h=(W|0)>(h|0)?W:h;w=w+1|0}while(1){if((e|0)>=(i|0))break;en((a[B>>2]|0)+(e*72|0)|0);e=e+1|0;i=a[d>>2]|0}i=a[Z>>2]|0;W=a[Z+16>>2]|0;a[W+(i*40|0)+32>>2]=i;i=i+1|0;a[W+(i*40|0)+32>>2]=i;vi(Z,h);i=0;while(1){if((i|0)>=(a[A>>2]|0))break;rn((a[I>>2]|0)+(i*72|0)|0,Z);i=i+1|0}pk(G)|0;pk(E)|0;L2(C);fn(Z);di(Z);k=Q;return Z|0}function An(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;l=W5[a[e>>2]&63](e,i,512)|0;do{if(!l){A=Ei(A)|0;if(!f)vA(138183,138131,291,138190);else{l=a[A+32>>2]|0;t=f+(l<<5)|0;f=f+(l<<5)+8|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[t>>2]=A;r[A+36>>0]=n;W5[a[e>>2]&63](e,t,1)|0;break}}else t=l}while(0);return a[t>>2]|0}function en(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;A:do{if((+b[A+64>>3]+-3.0-+b[A+48>>3])*.5<2.0){l=a[A+32>>2]|0;t=A+36|0;n=0;while(1){if((n|0)>=(l|0))break A;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;e:do{if(r[e+36>>0]|0){f=a[e+20>>2]|0;if((f|0)==(A|0)){i=a[e+24>>2]|0;e=i;i=a[i>>2]|0;do{a[e>>2]=i|8;e=a[a[e+36>>2]>>2]|0;if(!e)break e;e=a[e+24>>2]|0;i=a[e>>2]|0}while(!(i&1|0))}else{i=f;e=a[f>>2]|0;do{a[i>>2]=e|8;e=a[(a[i+36>>2]|0)+8>>2]|0;if(!e)break e;i=a[e+20>>2]|0;e=a[i>>2]|0}while(!(e&1|0))}}}while(0);n=n+1|0}}}while(0);A:do{if((+b[A+56>>3]+-3.0-+b[A+40>>3])*.5<2.0){l=a[A+32>>2]|0;t=A+36|0;n=0;while(1){if((n|0)>=(l|0))break A;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;e:do{if(!(r[e+36>>0]|0)){f=a[e+20>>2]|0;if((f|0)==(A|0)){i=a[e+24>>2]|0;e=i;i=a[i>>2]|0;do{a[e>>2]=i|16;e=a[(a[e+36>>2]|0)+4>>2]|0;if(!e)break e;e=a[e+24>>2]|0;i=a[e>>2]|0}while(!(i&1|0))}else{i=f;e=a[f>>2]|0;do{a[i>>2]=e|16;e=a[(a[i+36>>2]|0)+12>>2]|0;if(!e)break e;i=a[e+20>>2]|0;e=a[i>>2]|0}while(!(e&1|0))}}}while(0);n=n+1|0}}}while(0);return}function rn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;n=+b[A+56>>3]-+b[A+40>>3];l=+b[A+64>>3]-+b[A+48>>3];f=(l+n)*.5+500.0;if((l+-3.0)*.5<2.0){s=(a[A>>2]&8|0)==0;f=s?16384.0:f;o=s?16384.0:n}else o=n;if((n+-3.0)*.5<2.0){s=(a[A>>2]&16|0)==0;l=s?16384.0:l;f=s?16384.0:f}s=A+36|0;i=a[s>>2]|0;r=a[i+8>>2]|0;if((r|0)!=0?(t=a[i+4>>2]|0,(t|0)!=0):0){t=Ci(e,r,t,f)|0;r=A+4|0;i=a[r>>2]|0;a[r>>2]=i+1;a[A+8+(i<<2)>>2]=t;i=a[s>>2]|0}r=a[i+4>>2]|0;if((r|0)!=0?(c=a[i>>2]|0,(c|0)!=0):0){c=Ci(e,r,c,f)|0;t=A+4|0;i=a[t>>2]|0;a[t>>2]=i+1;a[A+8+(i<<2)>>2]=c;i=a[s>>2]|0}r=a[i+8>>2]|0;if((r|0)!=0?(w=a[i+12>>2]|0,(w|0)!=0):0){w=Ci(e,r,w,f)|0;c=A+4|0;i=a[c>>2]|0;a[c>>2]=i+1;a[A+8+(i<<2)>>2]=w;i=a[s>>2]|0}r=a[i+12>>2]|0;if((r|0)!=0?(u=a[i>>2]|0,(u|0)!=0):0){u=Ci(e,r,u,f)|0;w=A+4|0;i=a[w>>2]|0;a[w>>2]=i+1;a[A+8+(i<<2)>>2]=u;i=a[s>>2]|0}r=a[i+4>>2]|0;if((r|0)!=0?(k=a[i+12>>2]|0,(k|0)!=0):0){k=Ci(e,r,k,l)|0;u=A+4|0;i=a[u>>2]|0;a[u>>2]=i+1;a[A+8+(i<<2)>>2]=k;i=a[s>>2]|0}r=a[i+8>>2]|0;if(r|0?(h=a[i>>2]|0,h|0):0){e=Ci(e,r,h,o)|0;k=A+4|0;h=a[k>>2]|0;a[k>>2]=h+1;a[A+8+(h<<2)>>2]=e}return}function fn(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;f=A+16|0;n=a[15712]|0;r=0;while(1){if((r|0)>=(a[A>>2]|0)){e=10;break}e=a[f>>2]|0;i=e+(r*40|0)+20|0;if((a[i>>2]|0)==0?(a[l>>2]=r,f3(n,138096,l)|0,(a[i>>2]|0)==0):0){e=5;break}e=e+(r*40|0)+24|0;if((a[e>>2]|0)==0?(a[t>>2]=r,f3(n,138148,t)|0,(a[e>>2]|0)==0):0){e=8;break}r=r+1|0}if((e|0)==5)vA(138118,138131,311,138138);else if((e|0)==8)vA(138170,138131,313,138138);else if((e|0)==10){k=c;return}}function an(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e+8>>3];a=+b[i+8>>3];if(!(f>a))if(!(f>3];f=+b[i>>3];if(a>f)A=1;else A=(a>31}else A=-1;else A=1;return A|0}function nn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e>>3];a=+b[i>>3];if(!(f>a))if(!(f>3];f=+b[i+8>>3];if(a>f)A=1;else A=(a>31}else A=-1;else A=1;return A|0}function ln(A){A=A|0;var e=0,i=0;i=A+8|0;L2(a[(a[i>>2]|0)+36>>2]|0);e=A+12|0;L2(a[(a[e>>2]|0)+36>>2]|0);L2(a[i>>2]|0);L2(a[e>>2]|0);Zi(a[A+16>>2]|0);pk(a[A+20>>2]|0)|0;pk(a[A+24>>2]|0)|0;L2(A);return}function tn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+32|0;l=o;t=e<<2;f=t+4|0;t=t+5|0;u=$F(t*56|0)|0;t=qF(t<<2)|0;n=f*5|1;c=$F(n*72|0)|0;s=n<<5;b=qF(s)|0;s=qF(s)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[l+16>>2]=a[r+16>>2];a[l+20>>2]=a[r+20>>2];a[l+24>>2]=a[r+24>>2];a[l+28>>2]=a[r+28>>2];cn(A,e,l,u,0);l8(173);bn(f,t);gn(f,u,t,n,c)|0;w=sn(f,u,c,0,b)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[l+16>>2]=a[r+16>>2];a[l+20>>2]=a[r+20>>2];a[l+24>>2]=a[r+24>>2];a[l+28>>2]=a[r+28>>2];cn(A,e,l,u,1);bn(f,t);gn(f,u,t,n,c)|0;f=sn(f,u,c,1,s)|0;n=qF(U(w<<5,f)|0)|0;e=0;A=0;while(1){if((e|0)>=(f|0))break;l=s+(e<<5)|0;r=0;while(1){if((r|0)>=(w|0))break;h=A+((wn(n+(A<<5)|0,l,b+(r<<5)|0)|0)!=0&1)|0;r=r+1|0;A=h}e=e+1|0}h=eV(n,A<<5)|0;L2(u);L2(t);L2(c);L2(b);L2(s);a[i>>2]=A;k=o;return h|0}function cn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;c=k;k=k+96|0;l=c+64|0;t=c;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[l+16>>2]=a[i+16>>2];a[l+20>>2]=a[i+20>>2];a[l+24>>2]=a[i+24>>2];a[l+28>>2]=a[i+28>>2];Bn(l,f,1,t);i=vn(r,1,t)|0;n=0;while(1){if((n|0)>=(e|0))break;b=A+(n*72|0)+40|0;a[l>>2]=a[b>>2];a[l+4>>2]=a[b+4>>2];a[l+8>>2]=a[b+8>>2];a[l+12>>2]=a[b+12>>2];a[l+16>>2]=a[b+16>>2];a[l+20>>2]=a[b+20>>2];a[l+24>>2]=a[b+24>>2];a[l+28>>2]=a[b+28>>2];Bn(l,f,0,t);i=vn(r,i,t)|0;n=n+1|0}k=c;return}function bn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=0;while(1){if((i|0)>(A|0))break;a[e+(i<<2)>>2]=i;i=i+1|0}n=A+1|0;i=1;while(1){if((i|0)>(A|0))break;l=~~(+c8()*+(n-i|0)+ +(i|0));r=e+(i<<2)|0;f=e+(l<<2)|0;if((i|0)!=(l|0)){l=a[r>>2]|0;a[r>>2]=a[f>>2];a[f>>2]=l}i=i+1|0}return}function sn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;n=A*5|0;c=n+1|0;s=qF(c<<2)|0;a[47388]=qF(c<<4)|0;a[47389]=qF((A*56|0)+56|0)|0;c=qF(A<<2)|0;a[47390]=c;b=0;while(1){if((b|0)>(n|0))break;if(un(i+(b*72|0)|0,e)|0)break;b=b+1|0}l=a[47388]|0;t=a[47389]|0;n=1;while(1){if((n|0)>(A|0))break;a[l+(n<<4)+8>>2]=a[e+(n*56|0)+48>>2];w=e+(n*56|0)+44|0;a[l+(n<<4)+4>>2]=a[w>>2];a[l+(n<<4)>>2]=n;u=t+(n*56|0)|0;k=e+(n*56|0)|0;a[u>>2]=a[k>>2];a[u+4>>2]=a[k+4>>2];a[u+8>>2]=a[k+8>>2];a[u+12>>2]=a[k+12>>2];a[t+(n*56|0)+16>>2]=a[w>>2];a[t+(n*56|0)+32>>2]=n;a[t+(n*56|0)+48>>2]=1;n=n+1|0}a[47391]=A;a[47392]=0;a[c>>2]=1;n=a[i+(b*72|0)+40>>2]|0;if((n|0)<=0){n=a[i+(b*72|0)+48>>2]|0;if((n|0)>0)n=kn(s,f,0,e,i,0,b,n,r,2)|0;else n=0}else n=kn(s,f,0,e,i,0,b,n,r,1)|0;L2(s);L2(a[47388]|0);L2(a[47389]|0);L2(a[47390]|0);return n|0}function wn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;n=+b[(+b[e>>3]>+b[i>>3]?e:i)>>3];a=+b[(+b[e+16>>3]<+b[i+16>>3]?e:i)+16>>3];b[A+16>>3]=a;b[A>>3]=n;f=+b[(+b[e+8>>3]>+b[i+8>>3]?e:i)+8>>3];r=+b[(+b[e+24>>3]<+b[i+24>>3]?e:i)+24>>3];b[A+24>>3]=r;b[A+8>>3]=f;return!(n>=a)&!(f>=r)&1|0}function un(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[A+4>>2]|0;do{if((a[A+68>>2]|0)!=2?!((f|0)<1|(a[A>>2]|0)<1):0){if(!((a[A+40>>2]|0)<1?(a[A+44>>2]|0)<1:0)){if((a[A+48>>2]|0)>=1){A=0;break}if((a[A+52>>2]|0)>=1){A=0;break}}i=+b[e+(f*56|0)+24>>3];r=+b[e+(f*56|0)+8>>3];if(!(i>r+1.0e-07))if(i>3]>+b[e+(f*56|0)>>3]&1;else A=1}else A=0}while(0);return A|0}function kn(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,k=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0.0,F=0,V=0.0,J=0,N=0,X=0,R=0,H=0;L=(c|0)==0;m=l;A:while(1){Z=f+(m*72|0)|0;if((m|0)<1)break;l=A+(m<<2)|0;if(a[l>>2]|0)break;a[l>>2]=1;E=f+(m*72|0)+8|0;v=f+(m*72|0)+16|0;o=+b[v>>3];C=f+(m*72|0)+24|0;I=f+(m*72|0)+32|0;k=+b[I>>3];if((o>k?(Q=a[Z>>2]|0,M=+b[r+(Q*56|0)>>3],M==+b[r+(Q*56|0)+16>>3]):0)?(Q=a[f+(m*72|0)+4>>2]|0,V=+b[r+(Q*56|0)>>3],V==+b[r+(Q*56|0)+16>>3]):0){l=e+(i<<5)|0;if(L){b[l>>3]=M;h=o;o=V}else{b[l>>3]=k;h=-M;k=-V}b[e+(i<<5)+8>>3]=k;b[e+(i<<5)+16>>3]=o;b[e+(i<<5)+24>>3]=h;i=i+1|0}l=f+(m*72|0)+40|0;G=a[l>>2]|0;do{if((G|0)<1?(J=f+(m*72|0)+44|0,(a[J>>2]|0)<1):0){l=f+(m*72|0)+48|0;u=f+(m*72|0)+52|0;if((a[l>>2]|0)>0?(N=a[u>>2]|0,(N|0)>0):0){w=a[f+(N*72|0)>>2]|0;s=a[Z>>2]|0;if((N|0)==(t|0)){s=on(n,s,w)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,1)|0;n=s;s=1;break}else{s=on(n,w,s)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,1)|0;n=s;l=u;s=1;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[J>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,1)|0;l=u;s=1}else H=19}while(0);do{if((H|0)==19){H=0;Q=f+(m*72|0)+48|0;d=a[Q>>2]|0;if((d|0)<1?(X=f+(m*72|0)+52|0,(a[X>>2]|0)<1):0){u=f+(m*72|0)+44|0;if((G|0)>0?(R=a[u>>2]|0,(R|0)>0):0){w=a[f+(m*72|0)+4>>2]|0;s=a[f+(G*72|0)+4>>2]|0;if((R|0)==(t|0)){s=on(n,s,w)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,2)|0;n=s;s=2;break}else{s=on(n,w,s)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;n=s;l=u;s=2;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;l=X;s=1;break}g=f+(m*72|0)+44|0;B=a[g>>2]|0;w=(B|0)>0;if((G|0)>0){if(w){if((d|0)>0?(W=f+(m*72|0)+52|0,z=a[W>>2]|0,(z|0)>0):0){u=a[f+(z*72|0)>>2]|0;w=a[f+(G*72|0)+4>>2]|0;if(!((s|0)==2&(z|0)==(t|0))?!((s|0)==1&(B|0)==(t|0)):0){s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[g>>2]|0,m,c,2)|0;n=s;l=W;s=1;break}s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[W>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}w=a[Z>>2]|0;if(+y(+(+b[I>>3]-+b[r+(w*56|0)+24>>3]))<=1.0e-07?+y(+(+b[C>>3]-+b[r+(w*56|0)+16>>3]))<=1.0e-07:0){u=a[f+(G*72|0)+4>>2]|0;w=a[r+(w*56|0)+44>>2]|0;if((s|0)==1&(G|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[g>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+52|0;s=1;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;s=2;break}}u=a[f+(m*72|0)+4>>2]|0;w=a[f+(G*72|0)+4>>2]|0;if((s|0)==1&(B|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[Q>>2]|0,m,c,1)|0;n=s;s=2;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=g;s=2;break}}}else if(!w)break A;if((d|0)>0?(Y=f+(m*72|0)+52|0,D=a[Y>>2]|0,(D|0)>0):0){u=a[Z>>2]|0;if(+y(+(+b[v>>3]-+b[r+(u*56|0)+8>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(u*56|0)>>3]))<=1.0e-07:0){w=a[f+(D*72|0)>>2]|0;if((s|0)==2&(d|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;n=s;l=Y;s=1;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Y>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}}w=a[f+(D*72|0)>>2]|0;u=a[r+((a[f+(m*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((s|0)==2&(D|0)==(t|0)){s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[Y>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}else{s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;n=s;l=Y;s=1;break}}k=+b[v>>3];u=a[Z>>2]|0;if(((+y(+(k-+b[r+(u*56|0)+8>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(u*56|0)>>3]))<=1.0e-07:0)?(F=a[f+(m*72|0)+4>>2]|0,+y(+(+b[I>>3]-+b[r+(F*56|0)+8>>3]))<=1.0e-07):0)?+y(+(+b[C>>3]-+b[r+(F*56|0)>>3]))<=1.0e-07:0)if((s|0)==1){s=on(n,u,F)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=Q;s=1;break}else{s=on(n,F,u)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+44|0;s=2;break}t=a[f+(m*72|0)+4>>2]|0;if(((+y(+(k-+b[r+(t*56|0)+24>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(t*56|0)+16>>3]))<=1.0e-07:0)?+y(+(+b[I>>3]-+b[r+(u*56|0)+24>>3]))<=1.0e-07:0)?+y(+(+b[C>>3]-+b[r+(u*56|0)+16>>3]))<=1.0e-07:0){w=a[r+(t*56|0)+44>>2]|0;t=a[r+(u*56|0)+44>>2]|0;if((s|0)==1){s=on(n,t,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=Q;s=1;break}else{s=on(n,w,t)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+44|0;s=2;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;l=f+(m*72|0)+52|0;s=1}}while(0);t=m;m=a[l>>2]|0}return i|0}function on(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;f=k;k=k+16|0;d=f+4|0;t=f;r=(a[47392]|0)+1|0;a[47392]=r;s=a[47389]|0;hn(e,i,d,t);d=a[d>>2]|0;l=a[s+(e*56|0)+32+(d<<2)>>2]|0;t=a[s+(i*56|0)+32+(a[t>>2]<<2)>>2]|0;w=a[47391]|0;n=w+1|0;w=w+2|0;a[47391]=w;h=a[47388]|0;a[h+(n<<4)>>2]=e;a[h+(w<<4)>>2]=i;u=h+(l<<4)+4|0;o=h+(n<<4)+4|0;a[o>>2]=a[u>>2];a[h+(a[u>>2]<<4)+8>>2]=n;a[h+(n<<4)+8>>2]=w;a[h+(w<<4)+4>>2]=n;c=h+(t<<4)+8|0;a[h+(w<<4)+8>>2]=a[c>>2];a[h+(a[c>>2]<<4)+4>>2]=w;a[u>>2]=t;a[c>>2]=l;c=s+(e*56|0)+48|0;u=a[c>>2]|0;t=s+(i*56|0)+48|0;b=a[t>>2]|0;a[s+(e*56|0)+16+(d<<2)>>2]=i;a[s+(e*56|0)+32+(u<<2)>>2]=n;a[s+(e*56|0)+16+(u<<2)>>2]=a[h+(a[o>>2]<<4)>>2];a[s+(i*56|0)+32+(b<<2)>>2]=w;a[s+(i*56|0)+16+(b<<2)>>2]=e;a[c>>2]=(a[c>>2]|0)+1;a[t>>2]=(a[t>>2]|0)+1;i=a[47390]|0;a[i+(A<<2)>>2]=l;a[i+(r<<2)>>2]=n;k=f;return r|0}function hn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0.0,b=0.0,s=0,w=0,u=0;s=a[47389]|0;w=s+(A*56|0)|0;u=s+(e*56|0)|0;f=0;n=-4.0;t=0;while(1){if((t|0)==4)break;l=a[s+(A*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(c=+dn(w,s+(l*56|0)|0,u),c>n):0){f=t;n=c}t=t+1|0}a[i>>2]=f;f=0;t=0;n=-4.0;while(1){if((t|0)==4)break;l=a[s+(e*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(b=+dn(u,s+(l*56|0)|0,w),b>n):0){f=t;n=b}t=t+1|0}a[r>>2]=f;return}function dn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;n=+b[A>>3];l=+b[e>>3]-n;r=+b[A+8>>3];a=+b[e+8>>3]-r;n=+b[i>>3]-n;r=+b[i+8>>3]-r;f=r*a+n*l;if(!(r*l-n*a>=0.0))r=-f/(+z(+(r*r+n*n))*+z(+(a*a+l*l)))+-2.0;else r=f/(+z(+(r*r+n*n))*+z(+(a*a+l*l)));return+r}function Bn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;a[r>>2]=a[A>>2];a[r+4>>2]=a[A+4>>2];a[r+8>>2]=a[A+8>>2];a[r+12>>2]=a[A+12>>2];l=r+32|0;t=A+16|0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];if(!i){f=A+8|0;n=t;l=A+24|0;i=A}else{f=A+24|0;n=A;l=A+8|0;i=t}c=+b[n>>3];s=+b[l>>3];b[r+16>>3]=+b[i>>3];b[r+24>>3]=s;b[r+48>>3]=c;b[r+56>>3]=+b[f>>3];A:do{if(e|0){i=0;while(1){if((i|0)==4)break A;t=r+(i<<4)+8|0;s=+b[t>>3];e=r+(i<<4)|0;b[t>>3]=+b[e>>3];b[e>>3]=-s;i=i+1|0}}}while(0);return}function vn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;l=e+3|0;t=e+1|0;c=e+2|0;b=A+(e*56|0)+44|0;s=A+(l*56|0)+44|0;r=0;f=e;while(1){if((f|0)>(l|0))break;do{if((f|0)!=(e|0))if((f|0)==(l|0)){a[s>>2]=e;n=c;break}else{a[A+(f*56|0)+44>>2]=f+1;n=f+-1|0;break}else{a[b>>2]=t;n=l}}while(0);a[A+(f*56|0)+48>>2]=n;a[A+(f*56|0)+32>>2]=0;u=A+(f*56|0)|0;w=i+(r<<4)|0;a[u>>2]=a[w>>2];a[u+4>>2]=a[w+4>>2];a[u+8>>2]=a[w+8>>2];a[u+12>>2]=a[w+12>>2];z6(A+(n*56|0)+16|0,w|0,16)|0;r=r+1|0;f=f+1|0}return e+4|0}function gn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;a[47393]=r<<1;a[47394]=r;b=qF(r*80|0)|0;a[47395]=1;a[47396]=1;Y6(f|0,0,r*72|0)|0;n=En(a[i+4>>2]|0,e,f,b)|0;r=1;while(1){if((r|0)>(A|0))break;a[e+(r*56|0)+40>>2]=n;a[e+(r*56|0)+36>>2]=n;r=r+1|0}c=Cn(A)|0;n=2;t=1;while(1){if((t|0)>(c|0))break;r=In(A,t+-1|0)|0;l=In(A,t)|0;while(1){if((r|0)>=(l|0)){r=1;break}Zn(a[i+(n<<2)>>2]|0,e,f,b);r=r+1|0;n=n+1|0}while(1){if((r|0)>(A|0))break;Gn(r,e,f,b);r=r+1|0}t=t+1|0}r=In(A,c)|0;while(1){if((r|0)>=(A|0))break;Zn(a[i+(n<<2)>>2]|0,e,f,b);n=n+1|0;r=r+1|0}L2(b);return a[47395]|0}function En(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;f=yn()|0;a[r+(f*40|0)>>2]=2;B=r+(f*40|0)+8|0;c=e+(A*56|0)|0;s=e+(A*56|0)+16|0;Mn(B,c,s);u=yn()|0;a[r+(f*40|0)+36>>2]=u;a[r+(u*40|0)>>2]=3;a[r+(u*40|0)+28>>2]=f;t=yn()|0;a[r+(f*40|0)+32>>2]=t;a[r+(t*40|0)>>2]=2;d=r+(t*40|0)+8|0;Fn(d,c,s);a[r+(t*40|0)+28>>2]=f;s=yn()|0;a[r+(t*40|0)+32>>2]=s;a[r+(s*40|0)>>2]=3;a[r+(s*40|0)+28>>2]=t;c=yn()|0;a[r+(t*40|0)+36>>2]=c;a[r+(c*40|0)>>2]=1;a[r+(c*40|0)+4>>2]=A;a[r+(c*40|0)+28>>2]=t;t=yn()|0;a[r+(c*40|0)+32>>2]=t;a[r+(t*40|0)>>2]=3;a[r+(t*40|0)+28>>2]=c;n=yn()|0;a[r+(c*40|0)+36>>2]=n;a[r+(n*40|0)>>2]=3;a[r+(n*40|0)+28>>2]=c;c=Wn(i)|0;l=Wn(i)|0;w=Wn(i)|0;k=Wn(i)|0;o=i+(c*72|0)+8|0;h=i+(l*72|0)+8|0;v=i+(k*72|0)+24|0;a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];z6(h|0,B|0,16)|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];o=i+(c*72|0)+24|0;h=i+(l*72|0)+24|0;B=i+(w*72|0)+8|0;a[B>>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];z6(h|0,d|0,16)|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];b[i+(k*72|0)+16>>3]=1073741824.0;b[i+(k*72|0)+8>>3]=1073741824.0;b[i+(w*72|0)+32>>3]=-1073741824.0;b[i+(w*72|0)+24>>3]=-1073741824.0;a[i+(l*72|0)>>2]=A;a[i+(c*72|0)+4>>2]=A;a[i+(l*72|0)+40>>2]=k;a[i+(c*72|0)+40>>2]=k;a[i+(l*72|0)+48>>2]=w;a[i+(c*72|0)+48>>2]=w;a[i+(w*72|0)+40>>2]=c;a[i+(k*72|0)+48>>2]=c;a[i+(w*72|0)+44>>2]=l;a[i+(k*72|0)+52>>2]=l;a[i+(c*72|0)+56>>2]=t;a[i+(l*72|0)+56>>2]=n;a[i+(w*72|0)+56>>2]=s;a[i+(k*72|0)+56>>2]=u;a[i+(l*72|0)+68>>2]=1;a[i+(c*72|0)+68>>2]=1;a[i+(k*72|0)+68>>2]=1;a[i+(w*72|0)+68>>2]=1;a[r+(u*40|0)+24>>2]=k;a[r+(s*40|0)+24>>2]=w;a[r+(t*40|0)+24>>2]=c;a[r+(n*40|0)+24>>2]=l;a[e+(A*56|0)+32>>2]=1;return f|0}function Cn(A){A=A|0;var e=0.0;e=+(A|0);A=0;while(1){if(!(e>=1.0))break;e=+a1(e);A=A+1|0}return A+-1|0}function In(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+(A|0);i=r;A=0;while(1){if((A|0)>=(e|0))break;i=+a1(i);A=A+1|0}return~~+p(+(r/i))|0}function Zn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0;P=k;k=k+96|0;x=P+32|0;f=P+16|0;T=P;B=x;c=e+(A*56|0)|0;d=B+56|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));j=x+16|0;S=x+24|0;l=+b[S>>3];D=x+8|0;t=+b[D>>3];do{if(!(l>t+1.0e-07)){if(!(l>3]>+b[x>>3]:0){Y=4;break}Y=(Ln(A,e,1)|0)==0;f=a[x+36>>2]|0;if(Y){w=0;Y=7}else{f=Qn(x,j,f,e,r)|0;Y=20}}else Y=4}while(0);if((Y|0)==4){a[f>>2]=a[x>>2];a[f+4>>2]=a[x+4>>2];a[f+8>>2]=a[x+8>>2];a[f+12>>2]=a[x+12>>2];a[x>>2]=a[j>>2];a[x+4>>2]=a[j+4>>2];a[x+8>>2]=a[j+8>>2];a[x+12>>2]=a[j+12>>2];a[j>>2]=a[f>>2];a[j+4>>2]=a[f+4>>2];a[j+8>>2]=a[f+8>>2];a[j+12>>2]=a[f+12>>2];W=x+36|0;z=a[W>>2]|0;Y=x+40|0;f=a[Y>>2]|0;a[W>>2]=f;a[Y>>2]=z;if(!(Ln(A,e,2)|0)){w=1;Y=7}else{f=Qn(x,j,f,e,r)|0;Y=19}}if((Y|0)==7){s=Qn(x,j,f,e,r)|0;f=Wn(i)|0;a[i+(f*72|0)+68>>2]=1;B=i+(f*72|0)|0;c=i+(s*72|0)|0;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));h=+b[D>>3];b[i+(f*72|0)+16>>3]=h;b[i+(s*72|0)+32>>3]=h;h=+b[x>>3];b[i+(f*72|0)+8>>3]=h;b[i+(s*72|0)+24>>3]=h;a[i+(s*72|0)+48>>2]=f;a[i+(s*72|0)+52>>2]=0;a[i+(f*72|0)+40>>2]=s;a[i+(f*72|0)+44>>2]=0;n=a[i+(f*72|0)+48>>2]|0;if((n|0)>0){c=i+(n*72|0)+40|0;if((a[c>>2]|0)==(s|0))a[c>>2]=f;n=i+(n*72|0)+44|0;if((a[n>>2]|0)==(s|0))a[n>>2]=f}n=a[i+(f*72|0)+52>>2]|0;if((n|0)>0){c=i+(n*72|0)+40|0;if((a[c>>2]|0)==(s|0))a[c>>2]=f;n=i+(n*72|0)+44|0;if((a[n>>2]|0)==(s|0))a[n>>2]=f}W=yn()|0;Y=yn()|0;z=i+(s*72|0)+56|0;L=a[z>>2]|0;a[r+(L*40|0)>>2]=2;m=r+(L*40|0)+8|0;a[m>>2]=a[x>>2];a[m+4>>2]=a[x+4>>2];a[m+8>>2]=a[x+8>>2];a[m+12>>2]=a[x+12>>2];a[r+(L*40|0)+4>>2]=A;a[r+(L*40|0)+32>>2]=Y;a[r+(L*40|0)+36>>2]=W;a[r+(W*40|0)>>2]=3;a[r+(W*40|0)+24>>2]=s;a[r+(W*40|0)+28>>2]=L;a[r+(Y*40|0)>>2]=3;a[r+(Y*40|0)+24>>2]=f;a[r+(Y*40|0)+28>>2]=L;a[z>>2]=W;a[i+(f*72|0)+56>>2]=Y;if(w)Y=19;else Y=20}if((Y|0)==19)if(!(Ln(A,e,1)|0)){n=1;Y=21}else{n=1;Y=32}else if((Y|0)==20)if(!(Ln(A,e,2)|0)){n=0;Y=21}else{n=0;Y=32}if((Y|0)==21){u=Qn(j,x,a[x+40>>2]|0,e,r)|0;w=Wn(i)|0;a[i+(w*72|0)+68>>2]=1;B=i+(w*72|0)|0;c=i+(u*72|0)|0;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));h=+b[S>>3];b[i+(w*72|0)+16>>3]=h;b[i+(u*72|0)+32>>3]=h;h=+b[j>>3];b[i+(w*72|0)+8>>3]=h;b[i+(u*72|0)+24>>3]=h;a[i+(u*72|0)+48>>2]=w;a[i+(u*72|0)+52>>2]=0;a[i+(w*72|0)+40>>2]=u;a[i+(w*72|0)+44>>2]=0;c=a[i+(w*72|0)+48>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((a[s>>2]|0)==(u|0))a[s>>2]=w;c=i+(c*72|0)+44|0;if((a[c>>2]|0)==(u|0))a[c>>2]=w}c=a[i+(w*72|0)+52>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((a[s>>2]|0)==(u|0))a[s>>2]=w;c=i+(c*72|0)+44|0;if((a[c>>2]|0)==(u|0))a[c>>2]=w}L=yn()|0;z=yn()|0;W=i+(u*72|0)+56|0;m=a[W>>2]|0;a[r+(m*40|0)>>2]=2;Q=r+(m*40|0)+8|0;a[Q>>2]=a[j>>2];a[Q+4>>2]=a[j+4>>2];a[Q+8>>2]=a[j+8>>2];a[Q+12>>2]=a[j+12>>2];a[r+(m*40|0)+4>>2]=A;a[r+(m*40|0)+32>>2]=z;a[r+(m*40|0)+36>>2]=L;a[r+(L*40|0)>>2]=3;a[r+(L*40|0)+24>>2]=u;a[r+(L*40|0)+28>>2]=m;a[r+(z*40|0)>>2]=3;a[r+(z*40|0)+24>>2]=w;a[r+(z*40|0)+28>>2]=m;a[W>>2]=L;a[i+(w*72|0)+56>>2]=z;z=f;f=0}else if((Y|0)==32){z=f;u=Qn(j,x,a[x+40>>2]|0,e,r)|0;f=1}A:do{if((z|0)>0){L=i+(u*72|0)+24|0;W=i+(u*72|0)+32|0;m=(f|0)!=0;Z=n?e+(A*56|0)+48|0:e+(A*56|0)+44|0;G=T+8|0;n=0;f=0;I=z;e:while(1){c=i+(I*72|0)|0;E=i+(I*72|0)+24|0;if(!(zn(E,L)|0))break A;s=i+(I*72|0)+56|0;g=a[s>>2]|0;w=yn()|0;o=yn()|0;a[r+(g*40|0)>>2]=1;a[r+(g*40|0)+4>>2]=A;a[r+(g*40|0)+32>>2]=w;a[r+(g*40|0)+36>>2]=o;a[r+(w*40|0)>>2]=3;a[r+(w*40|0)+24>>2]=I;a[r+(w*40|0)+28>>2]=g;a[r+(o*40|0)>>2]=3;C=Wn(i)|0;a[r+(o*40|0)+24>>2]=C;Q=i+(C*72|0)|0;a[i+(C*72|0)+68>>2]=1;a[r+(o*40|0)+28>>2]=g;n=(I|0)==(z|0)?C:n;g=i+(I*72|0)+32|0;if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0)f=C;B=Q;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));a[s>>2]=w;a[i+(C*72|0)+56>>2]=o;v=i+(I*72|0)+48|0;s=i+(I*72|0)+52|0;c=(a[s>>2]|0)<1;do{if((a[v>>2]|0)<1){if(c)break e;B=i+(I*72|0)+40|0;c=a[B>>2]|0;do{if((c|0)>0?(N=i+(I*72|0)+44|0,X=a[N>>2]|0,(X|0)>0):0){d=i+(I*72|0)+60|0;c=a[d>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=X;a[i+(C*72|0)+44>>2]=-1;a[N>>2]=-1;a[i+(X*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=X;a[N>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;o=C;w=X}else{a[i+(C*72|0)+44>>2]=-1;v=i+(C*72|0)+40|0;a[v>>2]=a[N>>2];w=a[B>>2]|0;a[N>>2]=w;a[B>>2]=c;a[i+(c*72|0)+48>>2]=I;o=I;c=a[v>>2]|0}a[i+(w*72|0)+48>>2]=o;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[d>>2]=0}else Y=77}while(0);do{if((Y|0)==77){Y=0;w=i+(c*72|0)+48|0;o=a[w>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(a[c>>2]|0)>0:0){c=a[i+(o*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[B>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;break}a[w>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[Z>>2]|0;if((c|0)>0?(mn(c,e,x)|0)!=0:0){a[i+((a[s>>2]|0)*72|0)+40>>2]=I;w=i+(C*72|0)+52|0;c=C}else{a[i+((a[i+(C*72|0)+52>>2]|0)*72|0)+44>>2]=C;w=s;c=I}a[w>>2]=-1;a[i+(c*72|0)+48>>2]=-1;c=a[s>>2]|0;break}c=a[s>>2]|0;s=i+(c*72|0)+40|0;w=a[s>>2]|0;o=i+(c*72|0)+44|0;if((w|0)>0?(R=a[o>>2]|0,H=(w|0)==(I|0),(R|0)>0):0){a[i+(c*72|0)+60>>2]=H?R:w;a[i+(c*72|0)+64>>2]=H?1:2}a[s>>2]=I;a[o>>2]=C}else{if(!c){l=+b[g>>3];t=+b[D>>3];h=l-t;if(!(+y(+h)<=1.0e-07)){b[G>>3]=l;l=+b[x>>3];b[T>>3]=(+b[j>>3]-l)*(h/(+b[S>>3]-t))+l;B=(Yn(T,E)|0)!=0}else B=+b[E>>3]>+b[x>>3];d=i+(I*72|0)+40|0;c=a[d>>2]|0;do{if((c|0)>0?(p=i+(I*72|0)+44|0,U=a[p>>2]|0,(U|0)>0):0){o=i+(I*72|0)+60|0;c=a[o>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=U;a[i+(C*72|0)+44>>2]=-1;a[p>>2]=-1;a[i+(U*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=U;a[p>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[d>>2]|0)*72|0)+48>>2]=I;w=C;s=U}else{a[i+(C*72|0)+44>>2]=-1;O=i+(C*72|0)+40|0;a[O>>2]=a[p>>2];s=a[d>>2]|0;a[p>>2]=s;a[d>>2]=c;a[i+(c*72|0)+48>>2]=I;w=I;c=a[O>>2]|0}a[i+(s*72|0)+48>>2]=w;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[o>>2]=0}else Y=106}while(0);do{if((Y|0)==106){Y=0;s=i+(c*72|0)+48|0;w=a[s>>2]|0;c=i+(c*72|0)+52|0;if((w|0)>0?(a[c>>2]|0)>0:0){c=a[i+(w*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[d>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[d>>2]|0)*72|0)+48>>2]=I;break}a[s>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[v>>2]|0;a[i+(c*72|0)+40>>2]=I;a[i+(c*72|0)+44>>2]=-1;c=i+(I*72|0)+52|0;O=a[c>>2]|0;a[i+(O*72|0)+40>>2]=C;a[i+(O*72|0)+44>>2]=-1;a[i+(C*72|0)+48>>2]=O;a[i+(C*72|0)+52>>2]=-1;a[c>>2]=-1;c=-1}else Y=116;do{if((Y|0)==116){Y=0;c=a[v>>2]|0;a[i+(c*72|0)+40>>2]=I;s=i+(c*72|0)+44|0;if(B){a[s>>2]=C;O=i+(I*72|0)+52|0;E=a[O>>2]|0;a[i+(E*72|0)+40>>2]=C;a[i+(E*72|0)+44>>2]=-1;a[O>>2]=-1;break}else{a[s>>2]=-1;c=i+(I*72|0)+52|0;O=a[c>>2]|0;a[i+(O*72|0)+40>>2]=I;a[i+(O*72|0)+44>>2]=C;a[i+(C*72|0)+48>>2]=O;a[i+(C*72|0)+52>>2]=-1;c=a[c>>2]|0;break}}}while(0);break}B=i+(I*72|0)+40|0;c=a[B>>2]|0;do{if((c|0)>0?(M=i+(I*72|0)+44|0,F=a[M>>2]|0,(F|0)>0):0){d=i+(I*72|0)+60|0;c=a[d>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=F;a[i+(C*72|0)+44>>2]=-1;a[M>>2]=-1;a[i+(F*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=F;a[M>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;o=C;w=F}else{a[i+(C*72|0)+44>>2]=-1;O=i+(C*72|0)+40|0;a[O>>2]=a[M>>2];w=a[B>>2]|0;a[M>>2]=w;a[B>>2]=c;a[i+(c*72|0)+48>>2]=I;o=I;c=a[O>>2]|0}a[i+(w*72|0)+48>>2]=o;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[d>>2]=0}else Y=51}while(0);do{if((Y|0)==51){Y=0;w=i+(c*72|0)+48|0;o=a[w>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(a[c>>2]|0)>0:0){c=a[i+(o*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[B>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;break}a[w>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[Z>>2]|0;if((c|0)>0?(mn(c,e,x)|0)!=0:0){a[i+((a[v>>2]|0)*72|0)+40>>2]=I;s=i+(C*72|0)+52|0;c=C}else{a[i+((a[i+(C*72|0)+48>>2]|0)*72|0)+44>>2]=C;c=I}a[s>>2]=-1;a[i+(c*72|0)+48>>2]=-1;c=a[v>>2]|0;break}c=a[v>>2]|0;s=i+(c*72|0)+40|0;w=a[s>>2]|0;o=i+(c*72|0)+44|0;if((w|0)>0?(V=a[o>>2]|0,J=(w|0)==(I|0),(V|0)>0):0){a[i+(c*72|0)+60>>2]=J?V:w;a[i+(c*72|0)+64>>2]=J?1:2}a[s>>2]=I;a[o>>2]=C}}while(0);a[Q>>2]=A;a[i+(I*72|0)+4>>2]=A;if((c|0)>0)I=c;else break A}L3(138424,19,1,a[15712]|0)|0}else{n=0;f=0}}while(0);Dn(A,z,u,1,i,r);Dn(A,n,f,2,i,r);a[e+(A*56|0)+32>>2]=1;k=P;return}function Gn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;if(!(a[e+(A*56|0)+32>>2]|0)){f=e+(A*56|0)|0;n=e+(A*56|0)+16|0;l=e+(A*56|0)+36|0;a[l>>2]=a[i+((Qn(f,n,a[l>>2]|0,e,r)|0)*72|0)+56>>2];A=e+(A*56|0)+40|0;a[A>>2]=a[i+((Qn(n,f,a[A>>2]|0,e,r)|0)*72|0)+56>>2]}return}function Qn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0,o=0.0,h=0,d=0;k=A+8|0;h=e+8|0;A:while(1){e:do{switch(a[f+(i*40|0)>>2]|0){case 3:{d=3;break A}case 2:{n=+b[k>>3];l=f+(i*40|0)+8|0;t=+b[f+(i*40|0)+16>>3];c=t+1.0e-07;do{if(!(n>c)){s=t+-1.0e-07;if(!(n>3]>+b[l>>3]:0)break;if(+y(+(n-t))<=1.0e-07?(w=+b[l>>3],+y(+(+b[A>>3]-w))<=1.0e-07):0){n=+b[h>>3];do{if(!(n>c)){if(!(n>3]>w:0)break;i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break e}i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break}case 1:{n=+b[k>>3];l=a[f+(i*40|0)+4>>2]|0;if(+y(+(n-+b[r+(l*56|0)+8>>3]))<=1.0e-07?(u=+b[A>>3],+y(+(u-+b[r+(l*56|0)>>3]))<=1.0e-07):0)t=u;else d=19;do{if((d|0)==19){d=0;if(+y(+(n-+b[r+(l*56|0)+24>>3]))<=1.0e-07?(o=+b[A>>3],+y(+(o-+b[r+(l*56|0)+16>>3]))<=1.0e-07):0){t=o;break}if(!(mn(l,r,A)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}}}while(0);if(!(+y(+(n-+b[h>>3]))<=1.0e-07))if(!(mn(l,r,e)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}else if(+b[e>>3]>2]|0}if((d|0)==3)return a[f+(i*40|0)+24>>2]|0;else if((d|0)==31){L3(138358,35,1,a[15712]|0)|0;vA(138394,138396,349,138408)}return 0}function mn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0,n=0.0,l=0,t=0,c=0.0;a=e+(A*56|0)+16|0;n=+b[e+(A*56|0)+24>>3];l=e+(A*56|0)|0;f=+b[e+(A*56|0)+8>>3];do{if(!(n>f+1.0e-07)){if(!(n>3]>+b[l>>3]:0){t=4;break}r=+b[i+8>>3];if(+y(+(n-r))<=1.0e-07){r=+b[i>>3]<+b[a>>3]?1.0:-1.0;break}if(!(+y(+(f-r))<=1.0e-07)){c=+b[a>>3];r=(+b[l>>3]-c)*(r-n)-(+b[i>>3]-c)*(f-n);break}else{r=+b[i>>3]<+b[l>>3]?1.0:-1.0;break}}else t=4}while(0);do{if((t|0)==4){r=+b[i+8>>3];if(+y(+(n-r))<=1.0e-07){r=+b[i>>3]<+b[a>>3]?1.0:-1.0;break}if(!(+y(+(f-r))<=1.0e-07)){c=+b[l>>3];r=(+b[a>>3]-c)*(r-f)-(+b[i>>3]-c)*(n-f);break}else{r=+b[i>>3]<+b[l>>3]?1.0:-1.0;break}}}while(0);return r>0.0|0}function Ln(A,e,i){A=A|0;e=e|0;i=i|0;return a[e+((a[((i|0)==1?e+(A*56|0)+48|0:e+(A*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function Wn(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=a[47395]|0;if((e|0)<(a[47394]|0)){a[A+(e*72|0)>>2]=-1;a[A+(e*72|0)+4>>2]=-1;a[A+(e*72|0)+68>>2]=1;a[47395]=e+1;k=r;return e|0}else{r=a[15712]|0;a[i>>2]=e;f3(r,138483,i)|0;vA(138394,138396,88,138521)}return 0}function yn(){var A=0;A=a[47396]|0;if((A|0)<(a[47393]|0)){a[47396]=A+1;return A|0}else{L3(138444,30,1,a[15712]|0)|0;vA(138394,138396,72,138475)}return 0}function zn(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(i>r+1.0e-07))if(i>3]>=+b[e>>3]&1;else A=1;return A|0}function Yn(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(ir+1.0e-07)A=0;else A=+b[A>>3]<+b[e>>3]&1;else A=1;return A|0}function Dn(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;h=f+(i*72|0)+24|0;o=(r|0)==1;A:while(1){k=f+(e*72|0)+24|0;c=f+(e*72|0)+48|0;b=f+(e*72|0)+52|0;s=f+(e*72|0)|0;w=f+(e*72|0)+4|0;u=f+(e*72|0)+56|0;if((e|0)<=0)break;while(1){if(!(zn(k,h)|0))break A;i=a[c>>2]|0;r=(i|0)>0;do{if(o){if(r?(a[f+(i*72|0)+4>>2]|0)==(A|0):0)break;i=a[b>>2]|0;if((i|0)<=0){e=i;continue A}if((a[f+(i*72|0)+4>>2]|0)!=(A|0)){e=i;continue A}}else{if(r?(a[f+(i*72|0)>>2]|0)==(A|0):0)break;i=a[b>>2]|0;if((i|0)<=0){e=i;continue A}if((a[f+(i*72|0)>>2]|0)!=(A|0)){e=i;continue A}}}while(0);if((a[s>>2]|0)!=(a[f+(i*72|0)>>2]|0)){e=i;continue A}if((a[w>>2]|0)!=(a[f+(i*72|0)+4>>2]|0)){e=i;continue A}d=a[f+(i*72|0)+56>>2]|0;r=a[n+(d*40|0)+28>>2]|0;l=n+(r*40|0)+32|0;t=a[u>>2]|0;if((a[l>>2]|0)==(d|0))a[l>>2]=t;else a[n+(r*40|0)+36>>2]=t;r=a[f+(i*72|0)+48>>2]|0;a[c>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((a[l>>2]|0)==(i|0)){a[l>>2]=e;break}r=f+(r*72|0)+44|0;if((a[r>>2]|0)==(i|0))a[r>>2]=e}}while(0);r=a[f+(i*72|0)+52>>2]|0;a[b>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((a[l>>2]|0)==(i|0)){a[l>>2]=e;break}r=f+(r*72|0)+44|0;if((a[r>>2]|0)==(i|0))a[r>>2]=e}}while(0);d=f+(i*72|0)+24|0;a[k>>2]=a[d>>2];a[k+4>>2]=a[d+4>>2];a[k+8>>2]=a[d+8>>2];a[k+12>>2]=a[d+12>>2];a[f+(i*72|0)+68>>2]=2}}return}function Mn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[i+8>>3];do{if(!(r>f+1.0e-07)){if(!(+y(+(r-f))<=1.0e-07)){a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}if(+b[e>>3]>+b[i>>3]+1.0e-07){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function Fn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[i+8>>3];do{if(!(r>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}if(+b[e>>3]<+b[i>>3]){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function Vn(A){A=A|0;var e=0;e=qF(8)|0;if(e|0){a[e+4>>2]=A;a[e>>2]=0}return e|0}function Jn(A,e){A=A|0;e=e|0;if(e){e=Vn(e)|0;a[e>>2]=A;A=e}return A|0}function Nn(A){A=A|0;var e=0;do{e=A;A=a[A>>2]|0;L2(e)}while((A|0)!=0);return}function Xn(){var A=0;A=qF(1992)|0;if(A|0)a[A>>2]=Rn(A)|0;return A|0}function Rn(A){A=A|0;var e=0;e=jn(A)|0;a[e+4>>2]=0;A=A+1972|0;a[A>>2]=(a[A>>2]|0)+1;return e|0}function Hn(A){A=A|0;pn(A,a[A>>2]|0);L2(a[A>>2]|0);L2(A);return 0}function pn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=A+1980|0;l=A+1912|0;t=A+1936|0;A:do{if((a[e+4>>2]|0)>0){i=0;while(1){if((i|0)==64)break A;r=e+8+(i*20|0)+16|0;f=a[r>>2]|0;if(f|0?(pn(A,f),L2(a[r>>2]|0),qn(e,i),a[n>>2]=(a[n>>2]|0)+-1,a[l>>2]|0):0)a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}else{i=0;while(1){if((i|0)==64)break A;if(a[e+8+(i*20|0)+16>>2]|0?(qn(e,i),a[n>>2]=(a[n>>2]|0)+-1,a[l>>2]|0):0)a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}}while(0);return}function Un(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;if(!e)vA(138879,138529,194,138537);r=a[e+4>>2]|0;if((r|0)<=-1)vA(138549,138529,195,138537);if(!i)vA(138821,138529,196,138537);t=A+1952|0;a[t>>2]=(a[t>>2]|0)+1;A:do{if((r|0)>0){t=0;r=0;while(1){if((t|0)==64)break A;f=e+8+(t*20|0)+16|0;if((a[f>>2]|0)!=0?(rl(i,e+8+(t*20|0)|0)|0)!=0:0){n=Un(A,a[f>>2]|0,i)|0;if(!r)r=n;else{f=r;while(1){l=a[f>>2]|0;if(!l)break;else f=l}a[f>>2]=n}}t=t+1|0}}else{n=0;r=0;while(1){if((n|0)==64)break A;f=e+8+(n*20|0)|0;if((a[e+8+(n*20|0)+16>>2]|0)!=0?(rl(i,f)|0)!=0:0)r=Jn(r,f)|0;n=n+1|0}}}while(0);return r|0}function xn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+64|0;b=o+52|0;s=o+32|0;w=o+16|0;u=o;a[b>>2]=0;if(!((e|0)!=0&(r|0)!=0))vA(138735,138529,247,138563);if((f|0)>-1?(c=a[r>>2]|0,(a[c+4>>2]|0)>=(f|0)):0){n=0;while(1){if((n|0)>=2)break;if((a[e+(n<<2)>>2]|0)>(a[e+(n+2<<2)>>2]|0)){l=8;break}else n=n+1|0}if((l|0)==8)vA(138610,138529,250,138563);t=A+1912|0;n=A+1908|0;l=a[n>>2]|0;if(a[t>>2]|0){h=l|0?A+1924|0:A+1916|0;a[h>>2]=(a[h>>2]|0)+1}if(!l){h=A+1964|0;a[h>>2]=(a[h>>2]|0)+1}if(!(Tn(A,e,i,c,b,f)|0))n=0;else{if(a[t>>2]|0){h=a[n>>2]|0?A+1948|0:A+1944|0;a[h>>2]=(a[h>>2]|0)+1}n=jn(A)|0;h=A+1976|0;a[h>>2]=(a[h>>2]|0)+1;h=a[r>>2]|0;a[n+4>>2]=(a[h+4>>2]|0)+1;On(w,h);a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];h=s+16|0;a[h>>2]=a[r>>2];_n(A,s,n,0)|0;On(u,a[b>>2]|0);a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[h>>2]=a[b>>2];_n(A,s,n,0)|0;a[r>>2]=n;n=A+1980|0;a[n>>2]=(a[n>>2]|0)+2;n=1}k=o;return n|0}vA(138575,138529,248,138563);return 0}function Tn(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+80|0;s=h+52|0;w=h+48|0;u=h+32|0;o=h+16|0;b=h;a[w>>2]=0;if(!((e|0)!=0&(r|0)!=0&(f|0)!=0))vA(138653,138529,311,138667);if((n|0)>-1?(t=r+4|0,l=a[t>>2]|0,(l|0)>=(n|0)):0){if(a[A+1912>>2]|0){l=a[A+1908>>2]|0?A+1948|0:A+1944|0;a[l>>2]=(a[l>>2]|0)+1;l=a[t>>2]|0}do{if((l|0)>(n|0)){t=Kn(e,r)|0;l=r+8+(t*20|0)+16|0;t=r+8+(t*20|0)|0;if(!(Tn(A,e,i,a[l>>2]|0,w,n)|0)){il(u,e,t);a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];c=0;break}else{On(o,a[l>>2]|0);a[t>>2]=a[o>>2];a[t+4>>2]=a[o+4>>2];a[t+8>>2]=a[o+8>>2];a[t+12>>2]=a[o+12>>2];c=a[w>>2]|0;a[s+16>>2]=c;On(b,c);a[s>>2]=a[b>>2];a[s+4>>2]=a[b+4>>2];a[s+8>>2]=a[b+8>>2];a[s+12>>2]=a[b+12>>2];c=A+1980|0;a[c>>2]=(a[c>>2]|0)+1;c=_n(A,s,r,f)|0;break}}else if((l|0)==(n|0)){a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];a[s+16>>2]=i;c=A+1980|0;a[c>>2]=(a[c>>2]|0)+1;c=_n(A,s,r,f)|0;break}else vA(138712,138529,341,138667)}while(0);k=h;return c|0}vA(138680,138529,312,138667);return 0}function jn(A){A=A|0;A=A+1968|0;a[A>>2]=(a[A>>2]|0)+1;A=m2(1288)|0;Sn(A);return A|0}function Sn(A){A=A|0;var e=0;a[A>>2]=0;a[A+4>>2]=-1;e=0;while(1){if((e|0)==64)break;Pn(A+8+(e*20|0)|0);e=e+1|0}return}function Pn(A){A=A|0;$n(A);a[A+16>>2]=0;return}function On(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t+16|0;l=t;if(!e)vA(138879,138718,99,138725);$n(n);i=1;f=0;while(1){if((f|0)==64)break;do{if(a[e+8+(f*20|0)+16>>2]|0){r=e+8+(f*20|0)|0;if(!i){il(l,n,r);a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];i=0;break}else{a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];i=0;break}}}while(0);f=f+1|0}a[A>>2]=a[n>>2];a[A+4>>2]=a[n+4>>2];a[A+8>>2]=a[n+8>>2];a[A+12>>2]=a[n+12>>2];k=t;return}function Kn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;b=k;k=k+32|0;t=b+16|0;c=b;if(!((A|0)!=0&(e|0)!=0))vA(138735,138718,125,138742);i=0;r=0;f=0;n=1;l=0;while(1){if((l|0)==64)break;if(a[e+8+(l*20|0)+16>>2]|0){w=e+8+(l*20|0)|0;o=el(w)|0;il(c,A,w);a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];w=(el(t)|0)-o|0;s=(n|0)!=0|(w|0)<(f|0);u=s|(o|0)<(r|0)&(w|0)==(f|0);i=u?l:i;r=u?o:r;f=u?w:f;n=s?0:n}l=l+1|0}k=b;return i|0}function _n(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;if(!e)vA(138901,138718,167,138753);if(!i)vA(138879,138718,168,138753);do{if((a[i>>2]|0)<64){A=0;while(1){if((A|0)>=64){r=10;break}if(!(a[i+8+(A*20|0)+16>>2]|0)){r=8;break}A=A+1|0}if((r|0)==8){f=i+8+(A*20|0)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];f=0;n=i;break}else if((r|0)==10)vA(138763,138718,178,138753)}else{if(a[A+1912>>2]|0){l=a[A+1908>>2]|0?A+1948|0:A+1944|0;a[l>>2]=(a[l>>2]|0)+1}if(!r)vA(138776,138718,187,138753);else{fl(A,i,e,r);f=1;n=(a[i+4>>2]|0)==0?A+1972|0:A+1976|0;break}}}while(0);a[n>>2]=(a[n>>2]|0)+1;return f|0}function qn(A,e){A=A|0;e=e|0;if(!((A|0)!=0&e>>>0<64))vA(138780,138718,201,138808);if(!(a[A+8+(e*20|0)+16>>2]|0))vA(139302,138718,202,138808);else{Pn(A+8+(e*20|0)|0);a[A>>2]=(a[A>>2]|0)+-1;return}}function $n(A){A=A|0;var e=0;e=0;while(1){if((e|0)==4)break;a[A+(e<<2)>>2]=0;e=e+1|0}return}function Al(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;a[i>>2]=1;a[i+8>>2]=-1;e=1;while(1){if((e|0)==2)break;a[i+(e+2<<2)>>2]=0;a[i+(e<<2)>>2]=0;e=e+1|0}a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=r;return}function el(A){A=A|0;var e=0,i=0,r=0;if(!A)vA(138821,138823,128,138835);A:do{if((a[A>>2]|0)>(a[A+8>>2]|0))e=0;else{e=1;i=0;while(1){if((i|0)==2)break A;r=U(a[A+(i+2<<2)>>2]|0,e)|0;e=r-(a[A+(i<<2)>>2]|0)|0;i=i+1|0}}}while(0);return e|0}function il(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;n=k;k=k+16|0;f=n;if(!((e|0)!=0&(i|0)!=0))vA(138844,138823,195,138852);do{if((a[e>>2]|0)>(a[e+8>>2]|0)){a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2]}else{if((a[i>>2]|0)>(a[i+8>>2]|0)){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else r=0;while(1){if((r|0)==2)break;c=a[e+(r<<2)>>2]|0;l=a[i+(r<<2)>>2]|0;a[f+(r<<2)>>2]=(c|0)<(l|0)?c:l;l=r+2|0;c=a[e+(l<<2)>>2]|0;t=a[i+(l<<2)>>2]|0;a[f+(l<<2)>>2]=(c|0)>(t|0)?c:t;r=r+1|0}a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2]}}while(0);k=n;return}function rl(A,e){A=A|0;e=e|0;var i=0,r=0;if((A|0)!=0&(e|0)!=0)i=0;else vA(138864,138823,216,138871);while(1){if((i|0)>=2){i=1;break}r=i+2|0;if((a[A+(i<<2)>>2]|0)>(a[e+(r<<2)>>2]|0)){i=0;break}if((a[e+(i<<2)>>2]|0)>(a[A+(r<<2)>>2]|0)){i=0;break}else i=i+1|0}return i|0}function fl(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;if(!e)vA(138879,138881,40,138891);if(!i)vA(138901,138881,41,138891);t=A+1912|0;if(a[t>>2]|0){l=a[A+1908>>2]|0?A+1932|0:A+1928|0;a[l>>2]=(a[l>>2]|0)+1}n=e+4|0;l=a[n>>2]|0;al(A,e,i);i=A+1324|0;nl(A);f=el(A+1852|0)|0;f=(el(A+1868|0)|0)+f|0;if(a[t>>2]|0?(f|0)!=0&(a[A+1908>>2]|0)==0:0){t=A+1960|0;c[t>>2]=+((a[A+1320>>2]|0)>>>0)/+(f|0)+ +c[t>>2]}t=jn(A)|0;a[r>>2]=t;a[n>>2]=l;a[t+4>>2]=l;ll(A,e,t,i);if(((a[a[r>>2]>>2]|0)+(a[e>>2]|0)|0)==65)return;else vA(138903,138881,86,138891)}function al(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+16|0;n=l;if(!e)vA(138879,138881,106,139290);if(!i)vA(138901,138881,107,139290);else r=0;while(1){if((r|0)>=64)break;if(!(a[e+8+(r*20|0)+16>>2]|0)){f=7;break}c=e+8+(r*20|0)|0;t=A+4+(r*20|0)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];r=r+1|0}if((f|0)==7)vA(139302,138881,111,139290);r=A+4|0;c=A+1284|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[c+16>>2]=a[i+16>>2];i=A+1304|0;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];r=1;while(1){if((r|0)==65)break;il(n,i,A+4+(r*20|0)|0);a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];r=r+1|0}a[A+1320>>2]=el(i)|0;Sn(e);k=l;return}function nl(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;g=k;k=k+48|0;t=g+32|0;b=g+16|0;s=g;tl(A);cl(A);h=A+1844|0;B=A+1848|0;v=A+1892|0;w=A+1852|0;u=A+1884|0;o=A+1868|0;c=A+1888|0;f=0;r=0;while(1){i=a[h>>2]|0;e=a[B>>2]|0;if((e+i|0)>=65)break;l=65-(a[v>>2]|0)|0;if((i|0)<(l|0)&(e|0)<(l|0)){n=-1;l=0}else{d=12;break}while(1){if((l|0)==65)break;if(!(a[A+1584+(l<<2)>>2]|0)){E=A+4+(l*20|0)|0;il(b,E,w);a[t>>2]=a[b>>2];a[t+4>>2]=a[b+4>>2];a[t+8>>2]=a[b+8>>2];a[t+12>>2]=a[b+12>>2];e=el(t)|0;i=a[u>>2]|0;il(s,E,o);a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];E=el(t)|0;e=E-(a[c>>2]|0)+(i-e)|0;i=(e|0)>-1;e=i?e:0-e|0;i=(i^1)&1;if((e|0)<=(n|0))if((e|0)==(n|0)){E=(a[A+1844+(i<<2)>>2]|0)<(a[A+1844+(f<<2)>>2]|0);e=n;i=E?i:f;r=E?l:r}else{e=n;i=f}else r=l}else{e=n;i=f}n=e;l=l+1|0;f=i}bl(A,r,f)}if((d|0)==12){e=(i|0)>=(65-(a[v>>2]|0)|0)&1;i=0;while(1){if((i|0)==65)break;if(!(a[A+1584+(i<<2)>>2]|0))bl(A,i,e);i=i+1|0}i=a[h>>2]|0;e=a[B>>2]|0}if((e+i|0)!=65)vA(139046,138881,210,139132);E=a[v>>2]|0;if((i|0)<(E|0)|(e|0)<(E|0))vA(139143,138881,212,139132);else{k=g;return}}function ll(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if(!e)vA(138879,138881,297,138943);if(!i)vA(138953,138881,298,138943);if(!r)vA(138955,138881,299,138943);else f=0;while(1){if((f|0)>=65){r=14;break}r=a[A+1324+(f<<2)>>2]|0;if(r>>>0>=2){r=9;break}switch(r|0){case 0:{_n(A,A+4+(f*20|0)|0,e,0)|0;break}case 1:{_n(A,A+4+(f*20|0)|0,i,0)|0;break}default:{}}f=f+1|0}if((r|0)==9)vA(138957,138881,303,138943);else if((r|0)==14)return}function tl(A){A=A|0;var e=0,i=0,r=0,f=0;i=k;k=k+16|0;r=i;a[A+1848>>2]=0;a[A+1844>>2]=0;e=A+1852|0;f=A+1868|0;Al(r);a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];a[A+1888>>2]=0;a[A+1884>>2]=0;e=0;while(1){if((e|0)==65)break;a[A+1584+(e<<2)>>2]=0;a[A+1324+(e<<2)>>2]=-1;e=e+1|0}k=i;return}function cl(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;u=k;k=k+304|0;b=u+32|0;s=u+16|0;w=u;e=0;while(1){if((e|0)==65)break;a[b+(e<<2)>>2]=el(A+4+(e*20|0)|0)|0;e=e+1|0}e=0;i=0;r=0;n=0;A:while(1){if((n|0)==64)break;t=n+1|0;c=A+4+(n*20|0)|0;l=b+(n<<2)|0;f=t;while(1){if((f|0)==65){n=t;continue A}il(w,c,A+4+(f*20|0)|0);a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];o=el(s)|0;o=o-(a[l>>2]|0)-(a[b+(f<<2)>>2]|0)|0;h=o>>>0>r>>>0;d=h?f:e;f=f+1|0;e=d;i=h?n:i;r=h?o:r}}bl(A,i,0);bl(A,e,1);k=u;return}function bl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;r=A+1584+(e<<2)|0;if(a[r>>2]|0)vA(139246,138881,257,139281);a[A+1324+(e<<2)>>2]=i;a[r>>2]=1;n=A+1844+(i<<2)|0;f=A+1852+(i<<4)|0;r=A+4+(e*20|0)|0;if(!(a[n>>2]|0)){a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2]}else{il(l,r,f);a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2]}a[A+1884+(i<<2)>>2]=el(f)|0;a[n>>2]=(a[n>>2]|0)+1;k=t;return}function sl(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1200|0;d=v+800|0;i=v;a[47397]=0;a[47398]=-2;e=d;t=200;w=i;o=0;h=0;u=d;A:while(1){f[u>>1]=o;if((e+(t<<1)+-2|0)>>>0>u>>>0)b=t;else{s=u-e>>1;A=s+1|0;if(t>>>0>9999){B=95;break}b=t<<1;b=b>>>0<1e4?b:1e4;l=m2(b*6|3)|0;if(l){y6(l|0,e|0,A<<1|0)|0;t=l+(b>>>1<<2)|0;y6(t|0,w|0,A<<2|0)|0;if((e|0)==(d|0)){A=0;e=l}else{L2(e);A=0;e=l}}else{A=4;t=w}c=(A|0)==0;l=e+(s<<1)|0;switch((c?(e+(b<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;B=96;break A}case 4:{B=95;break A}case 0:{i=c?t+(s<<2)|0:i;w=t;u=c?l:u;break}default:{A=0;break A}}}if((o|0)==31){A=0;B=96;break}A=f[65534+(o<<1)>>1]|0;c=A<<16>>16;do{if(A<<16>>16!=-82){l=a[47398]|0;if((l|0)==-2){l=Qt()|0;a[47398]=l}if((l|0)>=1)if(l>>>0<296)t=n[139321+l>>0]|0;else t=2;else{a[47398]=0;t=0}l=t+c|0;if(l>>>0<=271?(t|0)==(r[139617+l>>0]|0):0){o=r[139889+l>>0]|0;A=o<<24>>24;if(o<<24>>24<1){l=0-A|0;B=23;break}else{a[47398]=-2;i=i+4|0;a[i>>2]=a[47399];c=(h|0)==0?0:h+-1|0;l=u;break}}else B=22}else B=22}while(0);if((B|0)==22){B=0;o=r[140161+o>>0]|0;l=o&255;if(!(o<<24>>24)){l=a[47398]|0;e:do{switch(h|0){case 0:{a[47397]=(a[47397]|0)+1;Yl(143761);l=u;break}case 3:if((l|0)<1)if(!l){A=1;B=96;break A}else{l=u;break e}else{a[47398]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<16>>16==8)break;if((l|0)==(e|0)){A=1;B=96;break A}A=l+-2|0;i=i+-4|0;l=A;A=f[65534+(f[A>>1]<<1)>>1]|0}i=i+4|0;a[i>>2]=a[47399];A=1;c=3}else B=23}do{if((B|0)==23){B=0;c=n[140277+l>>0]|0;A=a[i+(1-c<<2)>>2]|0;do{switch(l|0){case 4:{B=26;break A}case 2:{a[47400]=wl(a[i+-4>>2]|0,2)|0;break}case 3:{a[47400]=wl(a[i+-4>>2]|0,1)|0;break}case 5:{A=kl()|0;break}case 8:{ol(a[47401]|0);break}case 9:{hl(a[i>>2]|0);break}case 18:{dl(a[i>>2]|0);break}case 19:{Bl();break}case 20:{dl(a[i>>2]|0);break}case 21:{Bl();break}case 22:{dl(a[i>>2]|0);break}case 23:{Bl();break}case 24:{dl(a[i>>2]|0);break}case 25:{Bl();break}case 26:{dl(a[i>>2]|0);break}case 27:{Bl();break}case 28:{dl(a[i>>2]|0);break}case 29:{Bl();break}case 30:{dl(a[i>>2]|0);break}case 31:{Bl();break}case 32:{dl(a[i>>2]|0);break}case 33:{Bl();break}case 34:{A=a[i+-4>>2]|0;break}case 35:{A=a[i>>2]|0;break}case 38:{A=a[47401]|0;t=a[A+4>>2]|0;if(t>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;t=a[47401]|0;A=t;t=a[t+4>>2]|0}r[t>>0]=0;o=a[A>>2]|0;a[A+4>>2]=o;if(vl(o)|0){B=51;break A}a[(a[i>>2]|0)+80>>2]=a[47402];A=jk(56032,a[4580]|0)|0;a[(a[i>>2]|0)+84>>2]=A;a[47402]=a[i>>2];a[(a[i>>2]|0)+108>>2]=a[a[47403]>>2];A=a[i>>2]|0;break}case 39:{A=a[47401]|0;t=a[A+4>>2]|0;if(t>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;t=a[47401]|0;A=t;t=a[t+4>>2]|0}r[t>>0]=0;o=a[A>>2]|0;a[A+4>>2]=o;if(vl(o)|0){B=56;break A}A=a[47402]|0;a[47402]=a[A+80>>2];break}case 40:{A=a[i>>2]|0;break}case 41:{A=a[i+-4>>2]|0;break}case 42:{A=a[i+-4>>2]|0;break}case 43:{A=a[i+-4>>2]|0;break}case 44:{A=a[i+-4>>2]|0;break}case 45:{A=a[i+-4>>2]|0;break}case 48:{A=a[i>>2]|0;break}case 49:{A=a[i>>2]|0;break}case 50:{r[(a[i+-8>>2]|0)+12>>0]=1;A=a[i>>2]|0;break}case 51:{gl();break}case 52:{A=El()|0;break}case 53:{A=a[i>>2]|0;break}case 54:{A=a[i>>2]|0;break}case 55:{A=(a[i+-8>>2]|0)+100|0;r[A>>0]=r[A>>0]|1;A=a[i>>2]|0;break}case 56:{Cl(a[i+-4>>2]|0,a[i>>2]|0,1);break}case 57:{A=a[i+-12>>2]|0;break}case 58:{Cl(a[i+-4>>2]|0,a[i>>2]|0,2);break}case 59:{A=a[i+-12>>2]|0;break}case 60:{Cl(a[i+-4>>2]|0,a[i>>2]|0,3);break}case 61:{A=a[i+-12>>2]|0;break}case 62:{Cl(a[i>>2]|0,kl()|0,2);break}case 63:{A=a[i+-8>>2]|0;break}case 64:{A=a[i+-4>>2]|0;break}case 65:{A=a[i>>2]|0;break}default:{}}}while(0);t=0-c|0;o=i+(t<<2)|0;t=u+(t<<1)|0;i=o+4|0;a[o+4>>2]=A;A=(n[140449+l>>0]|0)+-41|0;o=f[t>>1]|0;l=o+(f[65766+(A<<1)>>1]|0)|0;if(l>>>0<272?(r[139617+l>>0]|0)==(o|0):0){A=r[139889+l>>0]|0;c=h;l=t;break}A=r[140519+A>>0]|0;c=h;l=t}}while(0);t=b;o=A;h=c;u=l+2|0}if((B|0)==26){ul();A=1;B=96}else if((B|0)==51){Yl(140347);ul();A=1;B=96}else if((B|0)==56){Yl(140398);ul();A=1;B=96}else if((B|0)==95){Yl(140558);A=2;B=96}if((B|0)==96)if((e|0)!=(d|0))L2(e);k=v;return A|0}function wl(A,e){A=A|0;e=e|0;var i=0;i=qF(8)|0;r[i+4>>0]=e;a[i>>2]=A;return i|0}function ul(){var A=0,e=0;A=a[47402]|0;e=a[47400]|0;if(e|0){aa(e,1);a[47400]=0}a[14021]=67;while(1){if(!A)break;e=a[A+80>>2]|0;Ql(A);A=e}a[14021]=56;a[14030]=68;e=a[47405]|0;W5[a[e>>2]&63](e,0,64)|0;a[14030]=56;a[14039]=69;e=a[47406]|0;W5[a[e>>2]&63](e,0,64)|0;a[14039]=56;Wl();return}function kl(){var A=0,e=0,i=0,r=0,n=0,l=0;i=a[47406]|0;r=qF(40)|0;if(Pk(a[47405]|0)|0)hl(0);A=Pk(i)|0;f[r+4>>1]=A;A:do{if(!A)A=i;else{a[r>>2]=qF(A*24|0)|0;A=0;e=W5[a[i>>2]&63](i,0,128)|0;while(1){if(!e){A=i;break A}n=(a[r>>2]|0)+(A*24|0)|0;l=e+8|0;a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];a[n+16>>2]=a[l+16>>2];a[n+20>>2]=a[l+20>>2];A=A+1|0;e=W5[a[i>>2]&63](i,e,8)|0}}}while(0);W5[a[A>>2]&63](i,0,64)|0;return r|0}function ol(A){A=A|0;var e=0,i=0,f=0;i=qF(64)|0;f=A+4|0;e=a[f>>2]|0;if(e>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;e=a[f>>2]|0}r[e>>0]=0;A=a[A>>2]|0;a[f>>2]=A;a[i+8>>2]=s3(A)|0;a[i+12>>2]=a[a[47403]>>2];f=a[47405]|0;W5[a[f>>2]&63](f,i,1)|0;return}function hl(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;t=qF(32)|0;c=a[47405]|0;e=Pk(c)|0;b=t+8|0;r[t+14>>0]=A;A:do{if(!e){a[b>>2]=qF(56)|0;f[t+12>>1]=1;l=s3(195059)|0;b=a[b>>2]|0;a[b>>2]=l;a[b+4>>2]=a[a[47403]>>2]}else{f[t+12>>1]=e;a[b>>2]=qF(e*56|0)|0;A=0;e=xk(c)|0;while(1){if(!e)break A;i=(a[b>>2]|0)+(A*56|0)|0;n=e+8|0;l=i+56|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));A=A+1|0;e=a[e>>2]|0}}}while(0);W5[a[c>>2]&63](c,0,64)|0;b=a[47406]|0;W5[a[b>>2]&63](b,t,1)|0;return}function dl(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t;l=qF(8)|0;f=a[a[47403]>>2]|0;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[n+16>>2]=a[A+16>>2];a[n+20>>2]=a[A+20>>2];a[n+24>>2]=a[A+24>>2];a[n+28>>2]=a[A+28>>2];if(f|0){A=n+4|0;if((a[A>>2]|0)==0?(e=a[f+4>>2]|0,e|0):0)a[A>>2]=e;A=n+16|0;if(+b[A>>3]<0.0?(i=+b[f+16>>3],i>=0.0):0)b[A>>3]=i;if((a[n>>2]|0)==0?(r=a[f>>2]|0,r|0):0)a[n>>2]=r;A=a[f+24>>2]&127;if(A|0){f=n+24|0;r=a[f>>2]|0;a[f>>2]=r&127|A|r&-128}}f=a[(a[47404]|0)+144>>2]|0;a[l>>2]=W5[a[f>>2]&63](f,n,1)|0;a[l+4>>2]=a[47403];a[47403]=l;k=t;return}function Bl(){var A=0,e=0;e=a[47403]|0;A=a[e+4>>2]|0;L2(e);a[47403]=A;return}function vl(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=0;break}if(e<<24>>24==32)A=A+1|0;else{A=1;break}}return A|0}function gl(){var A=0,e=0,i=0;i=jk(56068,a[4580]|0)|0;A=a[47402]|0;e=qF(16)|0;a[e+8>>2]=i;if(r[A+112>>0]&2)r[e+12>>0]=1;i=a[A+84>>2]|0;W5[a[i>>2]&63](i,e,1)|0;return}function El(){var A=0;A=a[(a[47402]|0)+84>>2]|0;return W5[a[A>>2]&63](A,0,256)|0}function Cl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=qF(16)|0;f=a[47402]|0;l=a[f+84>>2]|0;l=a[(W5[a[l>>2]&63](l,0,256)|0)+8>>2]|0;a[n+8>>2]=A;W5[a[l>>2]&63](l,n,1)|0;r[A+92>>0]=i;if(r[f+112>>0]&1)r[A+100>>0]=1;a[A+88>>2]=e;return}function Il(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Zl(A,e,i){A=A|0;e=e|0;i=i|0;pk(a[e+8>>2]|0)|0;L2(e);return}function Gl(A,e,i){A=A|0;e=e|0;i=i|0;yl(a[e+8>>2]|0);L2(e);return}function Ql(A){A=A|0;pk(a[A+84>>2]|0)|0;ia(A);L2(A);return}function ml(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+8>>2]|0);L2(e);return}function Ll(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0;n=e+12|0;A=f[n>>1]|0;if(A<<16>>16){l=e+8|0;i=0;r=a[l>>2]|0;while(1){if((i|0)>=(A<<16>>16|0))break;L2(a[r>>2]|0);i=i+1|0;r=r+56|0;A=f[n>>1]|0}L2(a[l>>2]|0)}L2(e);return}function Wl(){var A=0,e=0;A=a[47403]|0;while(1){e=a[A+4>>2]|0;if(!e)break;L2(A);A=e}return}function yl(A){A=A|0;var e=0;e=A+88|0;switch(r[A+92>>0]|0){case 1:{Ql(a[e>>2]|0);break}case 2:{ra(a[e>>2]|0);break}default:{}}ia(A);L2(A);return}function zl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=k;k=k+160|0;r=f+8|0;n=f;a[n>>2]=0;a[n+4>>2]=0;a[47403]=n;a[47402]=0;a[47400]=0;a[47404]=a[(a[(a[i+52>>2]|0)+16>>2]|0)+144>>2];a[47405]=jk(56104,a[4580]|0)|0;a[47406]=jk(56140,a[4580]|0)|0;co(r,128,f+24|0);a[47401]=r;if(!(Fl(A,r,i)|0)){sl()|0;a[e>>2]=Gt()|0;A=a[47400]|0}else{a[e>>2]=2;A=0}pk(a[47405]|0)|0;pk(a[47406]|0)|0;a[47405]=0;a[47406]=0;a[47403]=0;uo(r);k=f;return A|0}function Yl(A){A=A|0;var e=0,i=0,f=0;i=k;k=k+16|0;e=i;if(!(r[189661]|0)){r[189661]=1;f=Dl()|0;a[e>>2]=A;a[e+4>>2]=f;ao(1,140575,e)|0;Ml()}k=i;return}function Dl(){return ks(a[47407]|0)|0}function Ml(){var A=0,e=0,i=0,f=0;f=k;k=k+16|0;i=f;A=a[47410]|0;a[A+4>>2]=a[A>>2];e=a[47419]|0;if((e|0)>0){so(A,a[47417]|0,e)|0;A=a[47410]|0}so(A,a[47416]|0,a[47418]|0)|0;e=a[47410]|0;A=a[e+4>>2]|0;if(A>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;A=a[47410]|0;e=A;A=a[A+4>>2]|0}a[e+4>>2]=A+1;r[A>>0]=0;A=a[47410]|0;e=a[A>>2]|0;a[A+4>>2]=e;a[i>>2]=e;ao(3,140591,i)|0;k=f;return}function Fl(A,e,i){A=A|0;e=e|0;i=i|0;a[47410]=e;co(189644,128,0);a[47408]=A;r[189663]=0;r[189660]=0;r[189661]=0;a[47418]=0;a[47419]=0;r[189662]=1;i=i+52|0;e=Rc(XF(n[(a[(a[i>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;a[47407]=e;es(e,a[(a[(a[i>>2]|0)+16>>2]|0)+144>>2]|0);is(a[47407]|0,70,27);rs(a[47407]|0,71);return 0}function Vl(A,e,i){A=A|0;e=e|0;i=i|0;do{if(!(N1(e,140603)|0)){a[47399]=Rl(i)|0;r[189662]=0;a[47409]=286}else{if(N1(e,140609)|0?N1(e,140612)|0:0){if(!(N1(e,140615)|0)){r[189662]=1;a[47399]=Hl(i)|0;a[47409]=287;break}if(!(N1(e,140623)|0)){a[47399]=pl(A,i,0)|0;a[47409]=288;break}if(!(N1(e,140628)|0)){a[47399]=pl(A,0,1)|0;a[47409]=290;break}if(!(N1(e,140644)|0)){a[47399]=pl(A,0,32)|0;a[47409]=295;break}if(!(N1(e,140630)|0)){a[47399]=pl(A,0,4)|0;a[47409]=291;break}if(!(N1(e,140632)|0)){a[47399]=pl(A,0,64)|0;a[47409]=292;break}if(!(N1(e,140634)|0)){a[47399]=pl(A,0,2)|0;a[47409]=289;break}if(!(N1(e,140636)|0)){a[47399]=pl(A,0,8)|0;a[47409]=293;break}if(!(N1(e,140640)|0)){a[47399]=pl(A,0,16)|0;a[47409]=294;break}if(!(N1(e,140646)|0)){Ul(i);a[47409]=283;break}if(!(N1(e,140649)|0)){a[47409]=277;break}if(!(N1(e,140652)|0)){a[47409]=280;break}if(!(N1(e,140655)|0)){a[47399]=xl(i)|0;a[47409]=285;break}if(!(N1(e,140618)|0)){a[47409]=262;break}else{Xl(e);break}}r[189662]=0;a[47409]=260}}while(0);return}function Jl(A,e){A=A|0;e=e|0;do{if(!(N1(e,140603)|0)){a[47409]=264;r[189662]=1}else{if(N1(e,140609)|0?N1(e,140612)|0:0){if(!(N1(e,140615)|0)){a[47409]=265;r[189662]=0;break}if(!(N1(e,140618)|0)){a[47409]=263;break}if(!(N1(e,140623)|0)){a[47409]=266;break}if(!(N1(e,140628)|0)){a[47409]=270;break}if(!(N1(e,140630)|0)){a[47409]=271;break}if(!(N1(e,140632)|0)){a[47409]=272;break}if(!(N1(e,140634)|0)){a[47409]=269;break}if(!(N1(e,140636)|0)){a[47409]=273;break}if(!(N1(e,140640)|0)){a[47409]=274;break}if(!(N1(e,140644)|0)){a[47409]=275;break}if(!(N1(e,140646)|0)){a[47409]=(a[47409]|0)==283?282:258;break}if(!(N1(e,140649)|0)){a[47409]=(a[47409]|0)==277?276:278;break}if(!(N1(e,140652)|0)){a[47409]=(a[47409]|0)==280?279:281;break}if(!(N1(e,140655)|0)){a[47409]=(a[47409]|0)==285?284:259;break}else{Xl(e);break}}a[47409]=261}}while(0);return}function Nl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if(r[189662]|0){A=0;while(1){if(!i)break;l=e+1|0;n=r[e>>0]|0;if((n&255)>31){e=a[47410]|0;f=a[e+4>>2]|0;if(f>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;f=a[47410]|0;e=f;f=a[f+4>>2]|0}a[e+4>>2]=f+1;r[f>>0]=n;A=A+1|0}e=l;i=i+-1|0}if(A|0)a[47409]=267}return}function Xl(A){A=A|0;var e=0,i=0,f=0;e=k;k=k+16|0;i=e;a[47409]=268;r[189661]=1;f=Dl()|0;a[i>>2]=A;a[i+4>>2]=f;ao(1,140659,i)|0;k=e;return}function Rl(A){A=A|0;var e=0;e=qF(120)|0;a[e+100>>2]=-1;r[e+88>>0]=-1;Tl(e,56400,22,A,141611);return e|0}function Hl(A){A=A|0;var e=0;e=qF(104)|0;f[e+80>>1]=1;f[e+82>>1]=1;Tl(e,56224,22,A,140965);return e|0}function pl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+32|0;r=f;a[r>>2]=0;a[r+4>>2]=0;a[r+8>>2]=0;a[r+12>>2]=0;a[r+16>>2]=0;a[r+20>>2]=0;a[r+24>>2]=0;a[r+28>>2]=0;b[r+16>>3]=-1.0;a[r+24>>2]=i&127;if(e|0)Tl(r,56200,3,e,140816);i=a[A+144>>2]|0;r=W5[a[i>>2]&63](i,r,1)|0;k=f;return r|0}function Ul(A){A=A|0;a[47399]=0;Tl(189596,56192,1,A,140752);return}function xl(A){A=A|0;var e=0;e=qF(40)|0;Tl(e,56176,2,A,140698);return e|0}function Tl(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;s=u+8|0;while(1){b=a[f>>2]|0;if(!b)break;t=a[f+4>>2]|0;a[s>>2]=b;c=i8(s,e,i,8,104)|0;if(!c){a[w>>2]=b;a[w+4>>2]=l;ao(0,140704,w)|0;t=1}else{t=m5[a[c+4>>2]&127](A,t)|0;t=(t|(n[189660]|0))&255}r[189660]=t;f=f+8|0}k=u;return}function jl(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function Sl(A,e){A=A|0;e=e|0;a[A+36>>2]=s3(e)|0;return 0}function Pl(A,e){A=A|0;e=e|0;a[A+32>>2]=s3(e)|0;return 0}function Ol(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=(Y4(r[e>>0]|0)|0)<<24>>24;switch(f|0){case 82:{i=e+1|0;if(!(N1(i,140763)|0)){a[A>>2]=114;i=0}else l=5;break}case 76:{l=6;break}default:{i=e+1|0;l=5}}do{if((l|0)==5)if(!(N1(i,140768)|0))l=6;else{if((f|0)!=67?(N1(i,140772)|0)==0:0){a[n>>2]=e;ao(0,140778,n)|0;i=1;break}a[A>>2]=110;i=0}}while(0);if((l|0)==6){a[A>>2]=108;i=0}k=t;return i|0}function Kl(A,e){A=A|0;e=e|0;a[A+4>>2]=e;return 0}function _l(A,e){A=A|0;e=e|0;a[A>>2]=e;return 0}function ql(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,140845,0,255,i)|0)){b[A+16>>3]=+(a[i>>2]|0);A=0}else A=1;k=r;return A|0}function $l(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+48|0;c=b+24|0;t=b+8|0;l=b;s=b+36|0;n=n3(A,s,10)|0;do{if((a[s>>2]|0)!=(A|0)){if((n|0)>(r|0)){a[t>>2]=e;a[t+4>>2]=A;a[t+8>>2]=r;ao(0,140887,t)|0;A=1;break}if((n|0)<(i|0)){a[c>>2]=e;a[c+4>>2]=A;a[c+8>>2]=i;ao(0,140926,c)|0;A=1;break}else{a[f>>2]=n;A=0;break}}else{a[l>>2]=e;a[l+4>>2]=A;ao(0,140856,l)|0;A=1}}while(0);k=b;return A|0}function At(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|4;A=0}else n=9;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|2;A=0}else n=9;break}case 84:{if(!(N1(e+1|0,141563)|0)){A=A+36|0;f[A>>1]=f[A>>1]|6;A=0}else n=9;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=9;break}default:n=9}if((n|0)==9){a[i>>2]=e;ao(0,141567,i)|0;A=1}k=l;return A|0}function et(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|512;A=0}else n=7;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|256;A=0}else n=7;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,141518,i)|0;A=1}k=l;return A|0}function it(A,e){A=A|0;e=e|0;a[A+20>>2]=s3(e)|0;return 0}function rt(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141511,0,255,i)|0)){r[A+33>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|32;A=0}else A=1;k=n;return A|0}function ft(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141499,0,255,i)|0)){r[A+34>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|64;A=0}else A=1;k=n;return A|0}function at(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141487,-128,127,i)|0)){r[A+32>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|128;A=0}else A=1;k=n;return A|0}function nt(A,e){A=A|0;e=e|0;a[A+24>>2]=s3(e)|0;return 0}function lt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=k;k=k+16|0;r=n;i=n+4|0;do{if(!($l(e,141442,0,65535,i)|0)){e=a[i>>2]|0;if(!e){ao(0,141450,r)|0;e=1;break}else{f[A+80>>1]=e;e=0;break}}else e=1}while(0);k=n;return e|0}function tt(A,e){A=A|0;e=e|0;var i=0,r=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(n[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(N1(e+1|0,141391)|0)){A=A+36|0;f[A>>1]=f[A>>1]|1;A=0}else r=5;break}case 70:{if(!(N1(e+1|0,141395)|0))A=0;else r=5;break}default:r=5}if((r|0)==5){a[i>>2]=e;ao(0,141400,i)|0;A=1}k=l;return A|0}function ct(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141377,0,360,i)|0)){a[A+28>>2]=a[i>>2]&65535;A=0}else A=1;k=r;return A|0}function bt(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141370,0,65535,i)|0)){f[A+40>>1]=a[i>>2];A=0}else A=1;k=r;return A|0}function st(A,e){A=A|0;e=e|0;a[A>>2]=s3(e)|0;return 0}function wt(A,e){A=A|0;e=e|0;a[A+16>>2]=s3(e)|0;return 0}function ut(A,e){A=A|0;e=e|0;a[A+4>>2]=s3(e)|0;return 0}function kt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=k;k=k+16|0;r=n;i=n+4|0;do{if(!($l(e,141325,0,65535,i)|0)){e=a[i>>2]|0;if(!e){ao(0,141333,r)|0;e=1;break}else{f[A+82>>1]=e;e=0;break}}else e=1}while(0);k=n;return e|0}function ot(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;t=b;l=0;A:while(1){e:while(1){n=e+1|0;e=r[e>>0]|0;if(!(e<<24>>24))break A;e=e<<24>>24;i=(X1(e)|0)+-98|0;switch(i>>>1|i<<31|0){case 5:{c=5;break e}case 9:{i=2048;break e}case 8:{c=6;break e}case 0:{c=7;break e}default:{}}a[t>>2]=e;a[t+4>>2]=e;ao(0,141272,t)|0;e=n}if((c|0)==5){c=0;i=1024}else if((c|0)==6){c=0;i=4096}else if((c|0)==7){c=0;i=8192}e=n;l=l|i}if(l<<16>>16!=15360){c=A+36|0;f[c>>1]=f[c>>1]|l}k=b;return 0}function ht(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;l=s3(e)|0;n=A+42|0;i=0;e=l;while(1){A=t3(e,141182)|0;if(!A)break;if(((Y4(r[A>>0]|0)|0)&255|0)==82){e=A+1|0;if(!(N1(e,141185)|0)){f[n>>1]=f[n>>1]|4;A=i;e=0;i=A;continue}if(!(N1(e,141192)|0)){f[n>>1]=f[n>>1]|2;A=i;e=0;i=A;continue}else{a[t>>2]=A;ao(0,141198,t)|0;i=1;e=0;continue}}if(!(N1(A,141236)|0)){f[n>>1]=f[n>>1]&-385;A=i;e=0;i=A;continue}if(N1(A,141242)|0?N1(A,141252)|0:0){if(!(N1(A,141258)|0)){f[n>>1]=f[n>>1]|128;A=i;e=0;i=A;continue}if(!(N1(A,141265)|0)){f[n>>1]=f[n>>1]|256;A=i;e=0;i=A;continue}else{a[c>>2]=A;ao(0,141198,c)|0;i=1;e=0;continue}}f[n>>1]=f[n>>1]|32;A=i;e=0;i=A}L2(l);k=b;return i|0}function dt(A,e){A=A|0;e=e|0;a[A+8>>2]=s3(e)|0;return 0}function Bt(A,e){A=A|0;e=e|0;a[A+12>>2]=s3(e)|0;return 0}function vt(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(N1(e+1|0,141128)|0)){A=A+36|0;f[A>>1]=f[A>>1]|16;A=0}else n=7;break}case 84:{if(!(N1(e+1|0,141134)|0)){A=A+36|0;f[A>>1]=f[A>>1]|8;A=0}else n=7;break}case 77:{if(!(N1(e+1|0,141137)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,141143,i)|0;A=1}k=l;return A|0}function gt(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141122,0,65535,i)|0)){f[A+38>>1]=a[i>>2];A=0}else A=1;k=r;return A|0}function Et(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|4;A=0}else n=7;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|2;A=0}else n=7;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,140778,i)|0;A=1}k=l;return A|0}function Ct(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if(!($l(e,141720,0,127,i)|0)){r[A+88>>0]=a[i>>2];A=0}else A=1;k=f;return A|0}function It(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((r[e>>0]|0)==42){A=A+112|0;r[A>>0]=r[A>>0]|1;A=0}else{a[i>>2]=e;ao(0,141680,i)|0;A=1}k=f;return A|0}function Zt(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((r[e>>0]|0)==42){A=A+112|0;r[A>>0]=r[A>>0]|2;A=0}else{a[i>>2]=e;ao(0,141643,i)|0;A=1}k=f;return A|0}function Gt(){var A=0;A=(r[189661]|r[189660])<<24>>24;jc(a[47407]|0);uo(189644);return A|0}function Qt(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;a[47409]=0;e=0;A:do{e:do{switch(r[189663]|0){case 2:{A=-1;break A}case 0:{r[189663]=1;l=6;A=141732;e=0;break}default:{A=a[47408]|0;if(!(r[A>>0]|0)){r[189663]=2;l=7;A=141739;break e}else{e=mt(A)|0;l=e-A|0;break e}}}}while(0);a[47417]=a[47416];a[47419]=a[47418];a[47416]=A;a[47418]=l;i=a[47412]|0;f=i-(a[47411]|0)|0;n=a[47407]|0;if(!f)A=fs(n,A,l,(l|0)==0&1)|0;else{if(i>>>0<(a[47413]|0)>>>0)A=i;else{bo(189644,1)|0;A=a[47412]|0}r[A>>0]=0;A=a[47411]|0;a[47412]=A;A=fs(n,A,f,0)|0}if(!((A|0)!=0|(r[189661]|0)!=0)){n=os(us(a[47407]|0)|0)|0;l=Dl()|0;a[t>>2]=n;a[t+4>>2]=l;ao(1,140575,t)|0;Ml();r[189661]=1;a[47409]=268}if(e|0)a[47408]=e;A=a[47409]|0}while((A|0)==0);k=c;return A|0}function mt(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;e=A+1|0;i=r[A>>0]|0;A:do{if(i<<24>>24==60){i=r[e>>0]|0;if(i<<24>>24==33)if(!(Z1(A+2|0,141747,2)|0)){i=Lt(A+4|0)|0;e=i;i=r[i>>0]|0;n=8}else{i=e;n=5}else n=6;e:while(1)if((n|0)==5){e=i;i=r[i>>0]|0;n=6;continue}else if((n|0)==6){switch(i<<24>>24){case 62:case 0:{n=8;continue e}default:{}}i=e+1|0;n=5;continue}else if((n|0)==8)if(i<<24>>24==62){n=10;break}else{n=9;break}if((n|0)==9){ao(0,141750,f)|0;r[189660]=1;break}else if((n|0)==10){e=e+1|0;break}}else{e=A;A=i;while(1){switch(A<<24>>24){case 60:case 0:break A;case 38:{i=e+1|0;if((r[i>>0]|0)==35)n=15;else i=hH(i,189644)|0;break}default:n=15}if((n|0)==15){n=0;i=a[47412]|0;if(i>>>0>=(a[47413]|0)>>>0){bo(189644,1)|0;i=a[47412]|0}a[47412]=i+1;r[i>>0]=A;i=e+1|0}e=i;A=r[i>>0]|0}}}while(0);k=l;return e|0}function Lt(A){A=A|0;var e=0,i=0,f=0,a=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;a=1;e=A;A:while(1){f=(a|0)==0;i=e;e:while(1){if(f)break A;n=i+1|0;switch(r[i>>0]|0){case 0:{e=n;break A}case 60:{l=5;break e}case 62:{e=-1;break e}default:i=n}}if((l|0)==5){l=0;e=1}a=a+e|0;e=n}i=e+-1|0;do{if(r[i>>0]|0){e=e+-3|0;if(e>>>0>=A>>>0?(Z1(e,141747,2)|0)==0:0)break;ao(0,141791,t)|0;r[189660]=1}}while(0);k=c;return i|0}function Wt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;i=m2(28)|0;if(!i)i=0;else{r=0;f=0;while(1){if((r|0)>=(e|0))break;d=(a[(a[A+(r<<2)>>2]|0)+4>>2]|0)+f|0;r=r+1|0;f=d}k=i+8|0;a[k>>2]=yt(f<<4)|0;o=i+12|0;a[o>>2]=yt((e<<2)+4|0)|0;r=f<<2;h=i+16|0;a[h>>2]=yt(r)|0;r=yt(r)|0;d=i+20|0;a[d>>2]=r;a[i+4>>2]=f;a[i>>2]=e;f=0;l=0;while(1){a[(a[o>>2]|0)+(l<<2)>>2]=f;if((l|0)>=(e|0))break;c=A+(l<<2)|0;u=a[c>>2]|0;b=a[u+4>>2]|0;s=f+-1|0;n=0;t=f;w=b;while(1){if((n|0)>=(w|0))break;w=(a[k>>2]|0)+(t<<4)|0;r=(a[u>>2]|0)+(n<<4)|0;a[w>>2]=a[r>>2];a[w+4>>2]=a[r+4>>2];a[w+8>>2]=a[r+8>>2];a[w+12>>2]=a[r+12>>2];w=t+1|0;a[(a[h>>2]|0)+(t<<2)>>2]=w;r=a[d>>2]|0;a[r+(t<<2)>>2]=t+-1;B=a[c>>2]|0;n=n+1|0;t=w;w=a[B+4>>2]|0;u=B}B=s+b|0;a[(a[h>>2]|0)+(B<<2)>>2]=f;a[r+(f<<2)>>2]=B;f=t;l=l+1|0}yc(i)}return i|0}function yt(A){A=A|0;if(!A)A=0;else A=m2(A)|0;return A|0}function zt(A){A=A|0;var e=0,i=0;L2(a[A+8>>2]|0);L2(a[A+12>>2]|0);L2(a[A+16>>2]|0);L2(a[A+20>>2]|0);i=A+24|0;e=a[i>>2]|0;if(e|0){L2(a[e>>2]|0);L2(a[i>>2]|0)}L2(A);return}function Yt(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+32|0;s=o+16|0;c=o;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];w=Jc(A,i,s)|0;a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];u=Jc(A,f,s)|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];s=gc(c,i,w,s,f,u,A)|0;i=a[A+4>>2]|0;c=i+1|0;f=1;l=i;while(1){l=a[s+(l<<2)>>2]|0;b=f+1|0;if((l|0)==(c|0))break;else f=b}t=m2(b<<4)|0;l=t+(f<<4)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];A=A+8|0;while(1){i=a[s+(i<<2)>>2]|0;f=f+-1|0;l=t+(f<<4)|0;if((i|0)==(c|0))break;r=(a[A>>2]|0)+(i<<4)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2]}a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];if(f|0)vA(141809,141816,148,141822);if(w|0)L2(w);if(u|0)L2(u);a[n+4>>2]=b;a[n>>2]=t;L2(s);k=o;return 1}function Dt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;c=k;k=k+48|0;l=c+32|0;n=c+16|0;f=c;t=a[A>>2]|0;i=a[A+4>>2]|0;r=i+-1|0;A=0;while(1){if((A|0)>=(i|0)){A=1;break}s=t+(((r+A|0)%(i|0)|0)<<4)|0;b=t+(A<<4)|0;a[f>>2]=a[s>>2];a[f+4>>2]=a[s+4>>2];a[f+8>>2]=a[s+8>>2];a[f+12>>2]=a[s+12>>2];a[n>>2]=a[b>>2];a[n+4>>2]=a[b+4>>2];a[n+8>>2]=a[b+8>>2];a[n+12>>2]=a[b+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];if((Qc(f,n,l)|0)==1){A=0;break}else A=A+1|0}k=c;return A|0}function Mt(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0;g=k;k=k+64|0;s=g+48|0;b=g+32|0;h=4;c=m2(40)|0;a[c>>2]=0;w=g+16|0;u=g;o=a[i>>2]|0;t=a[i+4>>2]|0;h=L6(189680,1,c|0,h|0)|0;c=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1)i=L;else i=0;while(1){if(i|0){i=-1;break}d=0;a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];wA(28,w|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}a[r>>2]=a[w>>2];a[r+4>>2]=a[w+4>>2];a[r+8>>2]=a[w+8>>2];a[r+12>>2]=a[w+12>>2];l=r+16|0;d=0;a[s>>2]=a[l>>2];a[s+4>>2]=a[l+4>>2];a[s+8>>2]=a[l+8>>2];a[s+12>>2]=a[l+12>>2];wA(28,u|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}a[l>>2]=a[u>>2];a[l+4>>2]=a[u+4>>2];a[l+8>>2]=a[u+8>>2];a[l+12>>2]=a[u+12>>2];a[47459]=0;d=0;sA(115,4);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}n=a[47460]|0;i=a[47459]|0;a[47459]=i+1;i=n+(i<<4)|0;a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];d=0;a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];a[b+12>>2]=a[r+12>>2];a[s>>2]=a[l>>2];a[s+4>>2]=a[l+4>>2];a[s+8>>2]=a[l+8>>2];a[s+12>>2]=a[l+12>>2];i=tA(1,A|0,e|0,o|0,t|0,b|0,s|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,h|0,c|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1)i=L;else{v=8;break}}if((v|0)==8)if((i|0)==-1)i=-1;else{a[f+4>>2]=a[47459];a[f>>2]=a[47460];i=0}L2(h|0);k=g;return i|0}function Ft(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,l=0.0;i=+b[e>>3];r=e+8|0;f=+b[r>>3];l=f*f+i*i;n=+z(+l);if(l>1.0e-06){b[e>>3]=i/n;b[r>>3]=f/n}a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Vt(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47463]|0)<(A|0)){e=a[47460]|0;if(!e){r=m2(A<<4)|0;a[47460]=r;if(!r){r=a[15712]|0;a[i>>2]=141831;a[i+4>>2]=531;a[i+8>>2]=141966;f3(r,141839,i)|0;fe(189680,1)}}else{i=y2(e,A<<4)|0;a[47460]=i;if(!i){i=a[15712]|0;a[r>>2]=141831;a[r+4>>2]=537;a[r+8>>2]=141984;f3(i,141839,r)|0;fe(189680,1)}}a[47463]=A}k=f;return}function Jt(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0.0,j=0.0,S=0.0,P=0.0;U=k;k=k+336|0;F=U+320|0;M=U+304|0;C=U+144|0;h=U+128|0;Y=U+112|0;D=U+96|0;p=U+80|0;Q=U+64|0;L=U+48|0;V=U+32|0;J=U+16|0;N=U;I=U+288|0;Z=U+272|0;G=U+256|0;m=U+240|0;W=U+224|0;y=U+208|0;X=U+192|0;R=U+176|0;H=U+160|0;l=a[47462]|0;do{if((a[47461]|0)<(r|0)){if(!l){l=m2(r*40|0)|0;a[47462]=l;if(!l){l=-1;break}}else{l=y2(l,r*40|0)|0;a[47462]=l;if(!l){l=-1;break}}a[47461]=r;c=6}else c=6}while(0);if((c|0)==6){b[l>>3]=0.0;c=1;t=0.0;while(1){if((c|0)>=(r|0))break;w=i+(c<<4)|0;z=i+(c+-1<<4)|0;a[M>>2]=a[w>>2];a[M+4>>2]=a[w+4>>2];a[M+8>>2]=a[w+8>>2];a[M+12>>2]=a[w+12>>2];a[F>>2]=a[z>>2];a[F+4>>2]=a[z+4>>2];a[F+8>>2]=a[z+8>>2];a[F+12>>2]=a[z+12>>2];E=+Nt(M,F)+t;b[l+(c*40|0)>>3]=E;c=c+1|0;t=E}z=r+-1|0;w=l+(z*40|0)|0;c=1;while(1){if((c|0)>=(r|0))break;x=l+(c*40|0)|0;b[x>>3]=+b[x>>3]/+b[w>>3];c=c+1|0}c=0;while(1){if((c|0)>=(r|0))break;x=l+(c*40|0)+8|0;w=l+(c*40|0)|0;E=+Xt(+b[w>>3]);a[F>>2]=a[f>>2];a[F+4>>2]=a[f+4>>2];a[F+8>>2]=a[f+8>>2];a[F+12>>2]=a[f+12>>2];Rt(I,F,E);a[x>>2]=a[I>>2];a[x+4>>2]=a[I+4>>2];a[x+8>>2]=a[I+8>>2];a[x+12>>2]=a[I+12>>2];x=l+(c*40|0)+24|0;E=+Ht(+b[w>>3]);a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];Rt(Z,F,E);a[x>>2]=a[Z>>2];a[x+4>>2]=a[Z+4>>2];a[x+8>>2]=a[Z+8>>2];a[x+12>>2]=a[Z+12>>2];c=c+1|0}a[M>>2]=a[f>>2];a[M+4>>2]=a[f+4>>2];a[M+8>>2]=a[f+8>>2];a[M+12>>2]=a[f+12>>2];a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];pt(i,r,l,M,F,Y,Q,D,L);a[h>>2]=a[Y>>2];a[h+4>>2]=a[Y+4>>2];a[h+8>>2]=a[Y+8>>2];a[h+12>>2]=a[Y+12>>2];a[C>>2]=a[Q>>2];a[C+4>>2]=a[Q+4>>2];a[C+8>>2]=a[Q+8>>2];a[C+12>>2]=a[Q+12>>2];a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];if(!(Ut(A,e,h,C,M,F,i,r)|0)){a[F>>2]=a[Q>>2];a[F+4>>2]=a[Q+4>>2];a[F+8>>2]=a[Q+8>>2];a[F+12>>2]=a[Q+12>>2];Rt(G,F,.3333333333333333);a[M>>2]=a[Y>>2];a[M+4>>2]=a[Y+4>>2];a[M+8>>2]=a[Y+8>>2];a[M+12>>2]=a[Y+12>>2];a[F>>2]=a[G>>2];a[F+4>>2]=a[G+4>>2];a[F+8>>2]=a[G+8>>2];a[F+12>>2]=a[G+12>>2];xt(m,M,F);E=+b[m>>3];g=+b[m+8>>3];a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];Rt(W,F,.3333333333333333);a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];a[F>>2]=a[W>>2];a[F+4>>2]=a[W+4>>2];a[F+8>>2]=a[W+8>>2];a[F+12>>2]=a[W+12>>2];Tt(y,M,F);v=+b[y>>3];o=+b[y+8>>3];h=a[47462]|0;d=+b[Y>>3];B=+b[D>>3];u=+b[Y+8>>3];s=+b[D+8>>3];w=p+8|0;l=-1;t=-1.0;c=1;while(1){if((c|0)>=(z|0))break;T=+b[h+(c*40|0)>>3];j=+jt(T);S=+Xt(T);P=+Ht(T);T=+St(T);b[p>>3]=S*E+d*j+P*v+B*T;b[w>>3]=P*o+S*g+u*j+s*T;x=i+(c<<4)|0;a[M>>2]=a[p>>2];a[M+4>>2]=a[p+4>>2];a[M+8>>2]=a[p+8>>2];a[M+12>>2]=a[p+12>>2];a[F>>2]=a[x>>2];a[F+4>>2]=a[x+4>>2];a[F+8>>2]=a[x+8>>2];a[F+12>>2]=a[x+12>>2];T=+Nt(M,F);x=T>t;l=x?c:l;t=x?T:t;c=c+1|0}x=i+(l<<4)|0;p=i+(l+-1<<4)|0;a[M>>2]=a[x>>2];a[M+4>>2]=a[x+4>>2];a[M+8>>2]=a[x+8>>2];a[M+12>>2]=a[x+12>>2];a[F>>2]=a[p>>2];a[F+4>>2]=a[p+4>>2];a[F+8>>2]=a[p+8>>2];a[F+12>>2]=a[p+12>>2];Tt(X,M,F);a[F>>2]=a[X>>2];a[F+4>>2]=a[X+4>>2];a[F+8>>2]=a[X+8>>2];a[F+12>>2]=a[X+12>>2];Ft(J,F);p=l+1|0;X=i+(p<<4)|0;a[M>>2]=a[X>>2];a[M+4>>2]=a[X+4>>2];a[M+8>>2]=a[X+8>>2];a[M+12>>2]=a[X+12>>2];a[F>>2]=a[x>>2];a[F+4>>2]=a[x+4>>2];a[F+8>>2]=a[x+8>>2];a[F+12>>2]=a[x+12>>2];Tt(R,M,F);a[F>>2]=a[R>>2];a[F+4>>2]=a[R+4>>2];a[F+8>>2]=a[R+8>>2];a[F+12>>2]=a[R+12>>2];Ft(N,F);a[M>>2]=a[J>>2];a[M+4>>2]=a[J+4>>2];a[M+8>>2]=a[J+8>>2];a[M+12>>2]=a[J+12>>2];a[F>>2]=a[N>>2];a[F+4>>2]=a[N+4>>2];a[F+8>>2]=a[N+8>>2];a[F+12>>2]=a[N+12>>2];xt(H,M,F);a[F>>2]=a[H>>2];a[F+4>>2]=a[H+4>>2];a[F+8>>2]=a[H+8>>2];a[F+12>>2]=a[H+12>>2];Ft(V,F);a[M>>2]=a[f>>2];a[M+4>>2]=a[f+4>>2];a[M+8>>2]=a[f+8>>2];a[M+12>>2]=a[f+12>>2];a[F>>2]=a[V>>2];a[F+4>>2]=a[V+4>>2];a[F+8>>2]=a[V+8>>2];a[F+12>>2]=a[V+12>>2];Jt(A,e,i,p,M,F)|0;a[M>>2]=a[V>>2];a[M+4>>2]=a[V+4>>2];a[M+8>>2]=a[V+8>>2];a[M+12>>2]=a[V+12>>2];a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];Jt(A,e,x,r-l|0,M,F)|0;l=0}else l=0}k=U;return l|0}function Nt(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[e>>3]-+b[A>>3];r=+b[e+8>>3]-+b[A+8>>3];return+ +z(+(r*r+i*i))}function Xt(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(A*3.0))}function Rt(A,e,i){A=A|0;e=e|0;i=+i;var r=0;b[e>>3]=+b[e>>3]*i;r=e+8|0;b[r>>3]=+b[r>>3]*i;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Ht(A){A=+A;return+(A*A*3.0*(1.0-A))}function pt(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0.0,G=0.0,Q=0.0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0.0,F=0,V=0,J=0,N=0;Y=k;k=k+128|0;m=Y+112|0;E=Y+80|0;g=Y;d=Y+96|0;B=Y+64|0;v=Y+48|0;L=Y+32|0;W=Y+16|0;y=A+(e+-1<<4)|0;h=0;C=0.0;I=0.0;Z=0.0;G=0.0;Q=0.0;while(1){if((h|0)>=(e|0))break;V=i+(h*40|0)+8|0;a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];D=+$t(E,m)+I;F=i+(h*40|0)+24|0;a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[F>>2];a[m+4>>2]=a[F+4>>2];a[m+8>>2]=a[F+8>>2];a[m+12>>2]=a[F+12>>2];o=+$t(E,m)+Q;a[E>>2]=a[F>>2];a[E+4>>2]=a[F+4>>2];a[E+8>>2]=a[F+8>>2];a[E+12>>2]=a[F+12>>2];a[m>>2]=a[F>>2];a[m+4>>2]=a[F+4>>2];a[m+8>>2]=a[F+8>>2];a[m+12>>2]=a[F+12>>2];u=+$t(E,m)+Z;J=A+(h<<4)|0;N=i+(h*40|0)|0;M=+Ac(+b[N>>3]);a[m>>2]=a[A>>2];a[m+4>>2]=a[A+4>>2];a[m+8>>2]=a[A+8>>2];a[m+12>>2]=a[A+12>>2];Rt(B,m,M);M=+ec(+b[N>>3]);a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];Rt(v,m,M);a[E>>2]=a[B>>2];a[E+4>>2]=a[B+4>>2];a[E+8>>2]=a[B+8>>2];a[E+12>>2]=a[B+12>>2];a[m>>2]=a[v>>2];a[m+4>>2]=a[v+4>>2];a[m+8>>2]=a[v+8>>2];a[m+12>>2]=a[v+12>>2];xt(d,E,m);a[E>>2]=a[J>>2];a[E+4>>2]=a[J+4>>2];a[E+8>>2]=a[J+8>>2];a[E+12>>2]=a[J+12>>2];a[m>>2]=a[d>>2];a[m+4>>2]=a[d+4>>2];a[m+8>>2]=a[d+8>>2];a[m+12>>2]=a[d+12>>2];Tt(g,E,m);a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];M=+$t(E,m)+C;a[E>>2]=a[F>>2];a[E+4>>2]=a[F+4>>2];a[E+8>>2]=a[F+8>>2];a[E+12>>2]=a[F+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];h=h+1|0;C=M;I=D;Z=u;G=+$t(E,m)+G;Q=o}u=Z*I-Q*Q;o=u>=0.0?u:-u;if(!(o>=1.0e-06?(s=(Z*C-Q*G)/u,w=(I*G-Q*C)/u,!(o<1.0e-06|s<=0.0|w<=0.0)):0))z=6;if((z|0)==6){a[E>>2]=a[A>>2];a[E+4>>2]=a[A+4>>2];a[E+8>>2]=a[A+8>>2];a[E+12>>2]=a[A+12>>2];a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];s=+Nt(E,m)*.3333333333333333;w=s}a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[m>>2]=a[r>>2];a[m+4>>2]=a[r+4>>2];a[m+8>>2]=a[r+8>>2];a[m+12>>2]=a[r+12>>2];Rt(L,m,s);a[l>>2]=a[L>>2];a[l+4>>2]=a[L+4>>2];a[l+8>>2]=a[L+8>>2];a[l+12>>2]=a[L+12>>2];a[t>>2]=a[y>>2];a[t+4>>2]=a[y+4>>2];a[t+8>>2]=a[y+8>>2];a[t+12>>2]=a[y+12>>2];a[m>>2]=a[f>>2];a[m+4>>2]=a[f+4>>2];a[m+8>>2]=a[f+8>>2];a[m+12>>2]=a[f+12>>2];Rt(W,m,w);a[c>>2]=a[W>>2];a[c+4>>2]=a[W+4>>2];a[c+8>>2]=a[W+8>>2];a[c+12>>2]=a[W+12>>2];k=Y;return}function Ut(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0,g=0.0,E=0,C=0.0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0.0,y=0;L=k;k=k+64|0;m=L;G=(t|0)==2;Z=+b[i>>3];g=+b[i+8>>3];E=m+8|0;C=+b[r>>3];I=m+16|0;o=+b[r+8>>3];h=m+24|0;d=+b[f>>3];B=+b[n>>3];v=m+32|0;u=+b[f+8>>3];w=+b[n+8>>3];r=m+40|0;f=m+48|0;n=m+56|0;i=1;c=4.0;s=4.0;while(1){b[m>>3]=Z;b[E>>3]=g;W=s*.3333333333333333;b[I>>3]=W*C+Z;b[h>>3]=W*o+g;W=c*.3333333333333333;b[v>>3]=d-W*B;b[r>>3]=u-W*w;b[f>>3]=d;b[n>>3]=u;if(i?(W=+Pt(m,4),W<+Pt(l,t)+-.001):0){i=0;break}if(Ot(A,e,m)|0){Q=5;break}if(s==0.0&c==0.0){Q=9;break}y=s>.01;i=0;c=y?c*.5:0.0;s=y?s*.5:0.0}A:do{if((Q|0)==5){Vt((a[47459]|0)+4|0);r=a[47460]|0;i=1;while(1){if((i|0)==4){i=1;break A}y=a[47459]|0;b[r+(y<<4)>>3]=+b[m+(i<<4)>>3];W=+b[m+(i<<4)+8>>3];a[47459]=y+1;b[r+(y<<4)+8>>3]=W;i=i+1|0}}else if((Q|0)==9)if(G){Vt((a[47459]|0)+4|0);r=a[47460]|0;i=1;while(1){if((i|0)==4){i=1;break A}y=a[47459]|0;b[r+(y<<4)>>3]=+b[m+(i<<4)>>3];W=+b[m+(i<<4)+8>>3];a[47459]=y+1;b[r+(y<<4)+8>>3]=W;i=i+1|0}}else i=0}while(0);k=L;return i|0}function xt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]+ +b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]+ +b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Tt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]-+b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]-+b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function jt(A){A=+A;A=1.0-A;return+(A*A*A)}function St(A){A=+A;return+(A*A*A)}function Pt(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,n=0;i=0.0;r=1;while(1){if((r|0)>=(e|0))break;n=r+-1|0;f=+b[A+(r<<4)>>3]-+b[A+(n<<4)>>3];a=+b[A+(r<<4)+8>>3]-+b[A+(n<<4)+8>>3];i=+z(+(a*a+f*f))+i;r=r+1|0}return+i}function Ot(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0;L=k;k=k+64|0;v=L+32|0;g=L;C=g+16|0;Z=i+16|0;G=i+32|0;Q=i+48|0;m=i+8|0;n=i+24|0;l=i+40|0;t=i+56|0;c=g+8|0;s=g+24|0;f=0;A:while(1){if((f|0)>=(e|0)){r=1;break}w=A+(f<<5)|0;a[g>>2]=a[w>>2];a[g+4>>2]=a[w+4>>2];a[g+8>>2]=a[w+8>>2];a[g+12>>2]=a[w+12>>2];w=A+(f<<5)+16|0;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];w=Kt(i,g,v)|0;e:do{if((w|0)!=4){u=+b[g>>3];o=+b[c>>3];h=+b[C>>3];d=+b[s>>3];r=0;while(1){if((r|0)>=(w|0))break e;B=+b[v+(r<<3)>>3];if((!(B<1.0e-06|B>.999999)?(I=B*B*B,y=B*3.0,W=1.0-B,B=y*B*W,E=W*W,y=E*y,W=E*W,E=+b[Z>>3]*y+ +b[i>>3]*W+ +b[G>>3]*B+ +b[Q>>3]*I,I=+b[n>>3]*y+ +b[m>>3]*W+ +b[l>>3]*B+ +b[t>>3]*I,B=E-u,W=I-o,!(W*W+B*B<.001)):0)?(y=E-h,W=I-d,!(W*W+y*y<.001)):0){r=0;break A}r=r+1|0}}}while(0);f=f+1|0}k=L;return r|0}function Kt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+96|0;B=E+48|0;v=E+24|0;c=E;g=E+80|0;o=+b[e>>3];n=+b[e+16>>3]-o;h=+b[e+8>>3];t=+b[e+24>>3]-h;a[g>>2]=0;A:do{if(!(n==0.0)){t=t/n;s=A+16|0;w=A+32|0;u=A+48|0;_t(+b[A+8>>3]-+b[A>>3]*t,+b[A+24>>3]-+b[s>>3]*t,+b[A+40>>3]-+b[w>>3]*t,+b[A+56>>3]-+b[u>>3]*t,B);b[B>>3]=t*o-h+ +b[B>>3];r=Ec(B,v)|0;if((r|0)==4)e=4;else{f=B+8|0;l=B+16|0;c=B+24|0;n=1.0/n;e=0;while(1){if((e|0)>=(r|0))break;t=+b[v+(e<<3)>>3];if(t>=0.0&t<=1.0?(_t(+b[A>>3],+b[s>>3],+b[w>>3],+b[u>>3],B),h=(+b[B>>3]-o+((+b[c>>3]*t+ +b[l>>3])*t+ +b[f>>3])*t)*n,h>=0.0&h<=1.0):0)qt(t,i,g);e=e+1|0}e=a[g>>2]|0}}else{_t(+b[A>>3],+b[A+16>>3],+b[A+32>>3],+b[A+48>>3],B);b[B>>3]=+b[B>>3]-o;d=Ec(B,v)|0;if(!(t==0.0)){if((d|0)==4){e=4;break}s=A+8|0;w=A+24|0;u=A+40|0;r=A+56|0;f=B+8|0;l=B+16|0;c=B+24|0;n=1.0/t;e=0;while(1){if((e|0)>=(d|0))break;t=+b[v+(e<<3)>>3];if(t>=0.0&t<=1.0?(_t(+b[s>>3],+b[w>>3],+b[u>>3],+b[r>>3],B),o=(+b[B>>3]-h+((+b[c>>3]*t+ +b[l>>3])*t+ +b[f>>3])*t)*n,o>=0.0&o<=1.0):0)qt(t,i,g);e=e+1|0}e=a[g>>2]|0;break}_t(+b[A+8>>3],+b[A+24>>3],+b[A+40>>3],+b[A+56>>3],B);b[B>>3]=+b[B>>3]-h;l=Ec(B,c)|0;e=(l|0)==4;e:do{if((d|0)==4){if(e){e=4;break A}else e=0;while(1){if((e|0)>=(l|0))break e;qt(+b[c+(e<<3)>>3],i,g);e=e+1|0}}else{if(e){e=0;while(1){if((e|0)>=(d|0))break e;qt(+b[v+(e<<3)>>3],i,g);e=e+1|0}}else r=0;while(1){if((r|0)>=(d|0))break e;f=v+(r<<3)|0;e=0;while(1){if((e|0)>=(l|0))break;n=+b[f>>3];if(n==+b[c+(e<<3)>>3])qt(n,i,g);e=e+1|0}r=r+1|0}}}while(0);e=a[g>>2]|0}}while(0);k=E;return e|0}function _t(A,e,i,r,f){A=+A;e=+e;i=+i;r=+r;f=f|0;b[f+24>>3]=r-A+(e-i)*3.0;b[f+16>>3]=(i+A)*3.0-e*6.0;b[f+8>>3]=(e-A)*3.0;b[f>>3]=A;return}function qt(A,e,i){A=+A;e=e|0;i=i|0;var r=0;if(A>=0.0&A<=1.0){r=a[i>>2]|0;b[e+(r<<3)>>3]=A;a[i>>2]=r+1}return}function $t(A,e){A=A|0;e=e|0;return+(+b[e+8>>3]*+b[A+8>>3]+ +b[e>>3]*+b[A>>3])}function Ac(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(e+A*3.0))}function ec(A){A=+A;return+(A*A*((1.0-A)*3.0+A))}function ic(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0,M=0.0;D=k;k=k+112|0;y=D+80|0;W=D+64|0;m=D+48|0;Y=4;z=m2(40)|0;a[z>>2]=0;E=D+32|0;I=D+16|0;Z=D;G=D+96|0;Y=L6(189856,1,z|0,Y|0)|0;z=L;d=0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1)r=L;else r=0;A:while(1){if(r|0){r=-2;break}n=A+4|0;d=0;sA(116,a[n>>2]|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}a[47503]=0;a[47504]=0;d=0;sA(117,a[n>>2]<<1|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}s=(a[47506]|0)/2|0;a[47507]=s;a[47508]=s+-1;s=a[n>>2]|0;n=a[A>>2]|0;r=0;f=-1;l=C;while(1){if((r|0)>=(s|0))break;M=+b[n+(r<<4)>>3];g=l>M;v=g?r:f;r=r+1|0;f=v;l=g?M:l}g=n+(f<<4)|0;a[I>>2]=a[g>>2];a[I+4>>2]=a[g+4>>2];a[I+8>>2]=a[g+8>>2];a[I+12>>2]=a[g+12>>2];g=n+(((f|0)==0?s:f)+-1<<4)|0;a[E>>2]=a[g>>2];a[E+4>>2]=a[g+4>>2];a[E+8>>2]=a[g+8>>2];a[E+12>>2]=a[g+12>>2];g=n+(((f|0)==(s+-1|0)?0:f+1|0)<<4)|0;a[Z>>2]=a[g>>2];a[Z+4>>2]=a[g+4>>2];a[Z+8>>2]=a[g+8>>2];a[Z+12>>2]=a[g+12>>2];M=+b[I>>3];if((+b[E>>3]==M?M==+b[Z>>3]:0)?+b[Z+8>>3]>+b[I+8>>3]:0)g=15;else g=12;e:do{if((g|0)==12){g=0;d=0;r=aA(36,E|0,I|0,Z|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,Y|0,z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((r|0)==1){n=a[47510]|0;r=a[47511]|0;f=0;while(1){if((f|0)>=(s|0))break e;t=a[A>>2]|0;if(!(((f|0)>0?(Q=f+-1|0,+b[t+(f<<4)>>3]==+b[t+(Q<<4)>>3]):0)?+b[t+(f<<4)+8>>3]==+b[t+(Q<<4)+8>>3]:0)){v=a[47503]|0;a[n+(v<<3)>>2]=t+(f<<4);a[n+(v<<3)+4>>2]=n+(((v|0)%(s|0)|0)<<3);a[r+(v<<2)>>2]=n+(v<<3);a[47503]=v+1}f=f+1|0}}else g=15}}while(0);e:do{if((g|0)==15){g=0;t=a[47510]|0;r=a[47511]|0;n=s;while(1){f=n+-1|0;if((n|0)<=0)break e;c=a[A>>2]|0;if(((n|0)<(s|0)?+b[c+(f<<4)>>3]==+b[c+(n<<4)>>3]:0)?+b[c+(f<<4)+8>>3]==+b[c+(n<<4)+8>>3]:0){n=f;continue}n=a[47503]|0;a[t+(n<<3)>>2]=c+(f<<4);a[t+(n<<3)+4>>2]=t+(((n|0)%(s|0)|0)<<3);a[r+(n<<2)>>2]=t+(n<<3);a[47503]=n+1;n=f}}}while(0);d=0;wA(29,r|0,a[47503]|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}t=0;r=a[47504]|0;e:while(1){if((t|0)>=(r|0)){h=0;break}c=t+1|0;n=c;while(1){if((n|0)>=(r|0)){t=c;continue e}d=0;wA(30,t|0,n|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue A}n=n+1|0;r=a[47504]|0}}while(1){if((h|0)>=(r|0))break;d=0;f=rA(105,h|0,e|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}if(f|0)break;h=h+1|0}if((h|0)==(r|0)){r=a[15712]|0;d=0;a[m>>2]=141858;a[m+4>>2]=192;a[m+8>>2]=141869;aA(32,r|0,141839,m|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=41;break}}v=e+16|0;c=0;while(1){if((c|0)>=(r|0))break;d=0;f=rA(105,c|0,v|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}if(f|0)break;c=c+1|0}if((c|0)==(r|0)){r=a[15712]|0;d=0;a[W>>2]=141858;a[W+4>>2]=200;a[W+8>>2]=141902;aA(32,r|0,141839,W|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=48;break}}d=0;r=rA(106,h|0,c|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,Y|0,z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue}if(!r){r=a[15712]|0;d=0;a[y>>2]=141858;a[y+4>>2]=207;a[y+8>>2]=141940;aA(32,r|0,141839,y|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}d=0;sA(118,2);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=53;break}}if((h|0)==(c|0)){d=0;sA(118,2);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=56;break}}a[G>>2]=e;a[G+4>>2]=0;f=G+8|0;a[f>>2]=v;a[G+12>>2]=0;d=0;wA(31,1,G|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue}a[47509]=a[47507];u=h;e:while(1){if((u|0)==-1){n=f;r=0;break}o=a[47513]|0;a[o+(u*52|0)>>2]=2;r=0;while(1){if((r|0)>=3){g=65;break}g=a[o+(u*52|0)+4+(r<<4)+12>>2]|0;if(g|0?(a[g>>2]|0)==1:0){g=68;break}r=r+1|0}if((g|0)==65){g=0;if((r|0)==3){r=a[47505]|0;c=a[r+(a[47508]<<2)>>2]|0;d=0;r=aA(36,v|0,a[a[r+(a[47507]<<2)>>2]>>2]|0,a[c>>2]|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}t=(r|0)==1;w=t?f:c;t=t?c:f}else g=68}if((g|0)==68){g=0;c=a[o+(u*52|0)+4+(r<<4)>>2]|0;s=a[o+(u*52|0)+4+(r<<4)+4>>2]|0;d=0;r=aA(36,a[c>>2]|0,a[a[o+(u*52|0)+4+(((r+1|0)%3|0)<<4)+4>>2]>>2]|0,a[s>>2]|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}t=(r|0)==1;w=t?c:s;t=t?s:c}do{if((u|0)==(h|0)){d=0;wA(31,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,1,w|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}r=0}else{s=a[47505]|0;if((a[s+(a[47507]<<2)>>2]|0)!=(w|0)?(a[s+(a[47508]<<2)>>2]|0)!=(w|0):0){d=0;t=iA(34,w|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(32,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,1,w|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((t|0)<=(a[47509]|0)){r=0;break}a[47509]=t;r=0;break}d=0;c=iA(34,t|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(32,1,c|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((c|0)>=(a[47509]|0)){r=0;break}a[47509]=c;r=0}}while(0);while(1){if((r|0)>=3){u=-1;continue e}n=a[o+(u*52|0)+4+(r<<4)+12>>2]|0;if(n|0?(a[n>>2]|0)==1:0)break;r=r+1|0}u=(n-(a[47513]|0)|0)/52|0}while(1){if(!n)break;n=a[n+4>>2]|0;r=r+1|0}d=0;sA(118,r|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1)r=L;else{g=94;break}}if((g|0)==41)r=-1;else if((g|0)==48)r=-1;else if((g|0)==53){a[i+4>>2]=2;r=a[47512]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];z=r+16|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];a[i>>2]=r;r=0}else if((g|0)==56){a[i+4>>2]=2;r=a[47512]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];z=r+16|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];a[i>>2]=r;r=0}else if((g|0)==94){a[i+4>>2]=r;n=a[47512]|0;while(1){r=r+-1|0;if(!f)break;z=n+(r<<4)|0;y=a[f>>2]|0;a[z>>2]=a[y>>2];a[z+4>>2]=a[y+4>>2];a[z+8>>2]=a[y+8>>2];a[z+12>>2]=a[y+12>>2];f=a[f+4>>2]|0}a[i>>2]=n;r=0}L2(Y|0);k=D;return r|0}function rc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+64|0;r=l+48|0;n=l+32|0;f=l+16|0;i=l;if((a[47516]|0)<(A|0)){e=a[47510]|0;if(!e){n=m2(A<<3)|0;a[47510]=n;if(!n){n=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=523;a[i+8>>2]=142108;f3(n,141839,i)|0;fe(189856,1)}n=m2(A<<2)|0;a[47511]=n;if(!n){n=a[15712]|0;a[f>>2]=141858;a[f+4>>2]=527;a[f+8>>2]=142127;f3(n,141839,f)|0;fe(189856,1)}}else{f=y2(e,A<<3)|0;a[47510]=f;if(!f){f=a[15712]|0;a[n>>2]=141858;a[n+4>>2]=533;a[n+8>>2]=142147;f3(f,141839,n)|0;fe(189856,1)}n=y2(a[47511]|0,A<<2)|0;a[47511]=n;if(!n){n=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=539;a[r+8>>2]=142167;f3(n,141839,r)|0;fe(189856,1)}}a[47516]=A}k=l;return}function fc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47506]|0)<(A|0)){e=a[47505]|0;if(!e){r=m2(A<<2)|0;a[47505]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=573;a[i+8>>2]=142063;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A<<2)|0;a[47505]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=580;a[r+8>>2]=142085;f3(i,141839,r)|0;fe(189856,1)}}a[47506]=A}k=f;return}function ac(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];r=(+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r);return(r>0.0?1:r<0.0?2:3)|0}function nc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;A:while(1){if((e|0)>3)r=0;else{e=9;break}while(1){if((r|0)>=(e|0)){e=8;break A}f=r+1|0;i=(f|0)%(e|0)|0;n=(r+2|0)%(e|0)|0;if(!(kc(r,n,A,e)|0))r=f;else break}oc(a[A+(r<<2)>>2]|0,a[A+(i<<2)>>2]|0,a[A+(n<<2)>>2]|0);e=e+-1|0;while(1){if((i|0)>=(e|0))continue A;n=i+1|0;a[A+(i<<2)>>2]=a[A+(n<<2)>>2];i=n}}if((e|0)==8){A=a[15712]|0;a[l>>2]=141858;a[l+4>>2]=324;a[l+8>>2]=142003;f3(A,141839,l)|0}else if((e|0)==9)oc(a[A>>2]|0,a[A+4>>2]|0,a[A+8>>2]|0);k=t;return}function lc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;t=a[47513]|0;c=t+(A*52|0)|0;b=t+(e*52|0)|0;n=0;while(1){if((n|0)==3)break;s=t+(A*52|0)+4+(n<<4)|0;w=t+(A*52|0)+4+(n<<4)+4|0;u=t+(A*52|0)+4+(n<<4)+12|0;f=0;while(1){if((f|0)==3)break;k=a[a[s>>2]>>2]|0;l=a[a[t+(e*52|0)+4+(f<<4)>>2]>>2]|0;if((k|0)==(l|0)){i=a[a[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;if((a[a[w>>2]>>2]|0)==(i|0))r=10;else r=8}else{i=a[a[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;r=8}if(((r|0)==8?(r=0,(k|0)==(i|0)):0)?(a[a[w>>2]>>2]|0)==(l|0):0)r=10;if((r|0)==10){a[u>>2]=b;a[t+(e*52|0)+4+(f<<4)+12>>2]=c}f=f+1|0}n=n+1|0}return}function tc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=a[47513]|0;i=0;r=0;while(1){if((r|0)==3)break;i=i+((ac(a[a[f+(A*52|0)+4+(r<<4)>>2]>>2]|0,a[a[f+(A*52|0)+4+(r<<4)+4>>2]>>2]|0,e)|0)!=2&1)|0;r=r+1|0}return((i|0)==3|(i|0)==0)&1|0}function cc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[47513]|0;r=i+(A*52|0)|0;A:do{if(!(a[r>>2]|0)){a[r>>2]=1;if((A|0)==(e|0))i=1;else{f=0;while(1){if((f|0)>=3)break;r=a[i+(A*52|0)+4+(f<<4)+12>>2]|0;if(r){if(cc((r-i|0)/52|0,e)|0){i=1;break A}i=a[47513]|0}f=f+1|0}a[i+(A*52|0)>>2]=0;i=0}}else i=0}while(0);return i|0}function bc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47514]|0)<(A|0)){e=a[47512]|0;if(!e){r=m2(A<<4)|0;a[47512]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=593;a[i+8>>2]=141966;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A<<4)|0;a[47512]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=599;a[r+8>>2]=141984;f3(i,141839,r)|0;fe(189856,1)}}a[47514]=A}k=f;return}function sc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[47508]|0;r=a[47507]|0;f=(i|0)>=(r|0);if((A|0)==1)if(f){a[e+4>>2]=a[(a[47505]|0)+(r<<2)>>2];A=190028;i=-1}else{A=190028;i=-1}else if(f){a[e+4>>2]=a[(a[47505]|0)+(i<<2)>>2];A=190032;i=1}else{A=190032;i=1}f=(a[A>>2]|0)+i|0;a[A>>2]=f;a[(a[47505]|0)+(f<<2)>>2]=e;return}function wc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[47509]|0;n=a[47505]|0;e=a[47507]|0;while(1){if((e|0)>=(f|0)){r=4;break}i=e+1|0;if((ac(a[a[n+(i<<2)>>2]>>2]|0,a[a[n+(e<<2)>>2]>>2]|0,a[A>>2]|0)|0)==1)break;else e=i}A:do{if((r|0)==4){e=a[47508]|0;while(1){if((e|0)<=(f|0)){e=f;break A}i=e+-1|0;if((ac(a[a[n+(i<<2)>>2]>>2]|0,a[a[n+(e<<2)>>2]>>2]|0,a[A>>2]|0)|0)==2)break;else e=i}}}while(0);return e|0}function uc(A,e){A=A|0;e=e|0;a[((A|0)==1?190032:190028)>>2]=e;return}function kc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;f=a[a[i+(((A+-1+r|0)%(r|0)|0)<<2)>>2]>>2]|0;t=a[a[i+(A<<2)>>2]>>2]|0;n=a[a[i+(((A+1|0)%(r|0)|0)<<2)>>2]>>2]|0;b=(ac(f,t,n)|0)==1;c=a[a[i+(e<<2)>>2]>>2]|0;if(b)if((ac(t,c,f)|0)==1){f=ac(c,t,n)|0;n=1;l=5}else f=0;else{f=ac(t,c,n)|0;n=2;l=5}A:do{if((l|0)==5)if((f|0)==(n|0)){f=0;while(1){if((f|0)>=(r|0)){f=1;break A}n=f;f=f+1|0;l=(f|0)%(r|0)|0;if((l|0)==(e|0)|((n|0)==(e|0)|((n|0)==(A|0)|(l|0)==(A|0))))continue;if(dc(t,c,a[a[i+(n<<2)>>2]>>2]|0,a[a[i+(l<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0}while(0);return f|0}function oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=a[47504]|0;f=a[47515]|0;if((r|0)<(f|0))l=r;else{hc(f+20|0);l=a[47504]|0}n=a[47513]|0;a[47504]=l+1;f=n+(l*52|0)|0;a[f>>2]=0;a[n+(l*52|0)+4>>2]=A;a[n+(l*52|0)+8>>2]=e;a[n+(l*52|0)+16>>2]=0;a[n+(l*52|0)+20>>2]=e;a[n+(l*52|0)+24>>2]=i;a[n+(l*52|0)+32>>2]=0;a[n+(l*52|0)+36>>2]=i;a[n+(l*52|0)+40>>2]=A;a[n+(l*52|0)+48>>2]=0;r=0;while(1){if((r|0)==3)break;a[n+(l*52|0)+4+(r<<4)+8>>2]=f;r=r+1|0}return}function hc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47515]|0)<(A|0)){e=a[47513]|0;if(!e){r=m2(A*52|0)|0;a[47513]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=552;a[i+8>>2]=142024;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A*52|0)|0;a[47513]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=558;a[r+8>>2]=142043;f3(i,141839,r)|0;fe(189856,1)}}a[47515]=A}k=f;return}function dc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,l=0;a=ac(A,e,i)|0;if((((a|0)!=3?(n=ac(A,e,r)|0,(n|0)!=3):0)?(l=ac(i,r,A)|0,(l|0)!=3):0)?(f=ac(i,r,e)|0,(f|0)!=3):0)return((a|0)==1^(n|0)==1)&((l|0)==1^(f|0)==1)&1|0;if(((Bc(A,e,i)|0)==0?(Bc(A,e,r)|0)==0:0)?(Bc(i,r,A)|0)==0:0)return(Bc(i,r,e)|0)!=0|0;return 1}function Bc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;f=+b[A>>3];n=+b[e>>3]-f;a=+b[A+8>>3];r=+b[e+8>>3]-a;f=+b[i>>3]-f;a=+b[i+8>>3]-a;if((ac(A,e,i)|0)==3?a*r+f*n>=0.0:0)A=a*a+f*f<=r*r+n*n&1;else A=0;return A|0}function vc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;w=m2(i<<2)|0;u=m2((i<<3)+8|0)|0;k=u+8|0;f=0;while(1){if((f|0)>=(i|0))break;a[w+(f<<2)>>2]=-1;b[k+(f<<3)>>3]=-2147483647.0;f=f+1|0}b[u>>3]=-2147483648.0;A:while(1){if((A|0)==(e|0))break;s=k+(A<<3)|0;t=+b[s>>3];b[s>>3]=t==-2147483647.0?0.0:-t;c=0;f=-1;while(1){if((c|0)>=(i|0)){A=f;continue A}l=k+(c<<3)|0;n=+b[l>>3];if(n<0.0){h=(A|0)<(c|0);o=+b[(a[r+((h?c:A)<<2)>>2]|0)+((h?A:c)<<3)>>3];t=-(o+ +b[s>>3]);if(o!=0.0&n>3]=t;a[w+(c<<2)>>2]=A;n=t}f=n>+b[k+(f<<3)>>3]?c:f}c=c+1|0}}L2(u);return w|0}function gc(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0;c=k;k=k+32|0;b=c+16|0;s=c;t=a[l+4>>2]|0;a[s>>2]=a[A>>2];a[s+4>>2]=a[A+4>>2];a[s+8>>2]=a[A+8>>2];a[s+12>>2]=a[A+12>>2];a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];a[b+12>>2]=a[r+12>>2];if(!(Xc(s,e,b,f,l)|0)){A=a[l+24>>2]|0;a[A+(t<<2)>>2]=n;s=t+1|0;a[A+(s<<2)>>2]=i;A=vc(s,t,t+2|0,A)|0}else{A=m2((t<<2)+8|0)|0;s=t+1|0;a[A+(t<<2)>>2]=s;a[A+(s<<2)>>2]=-1}k=c;return A|0}function Ec(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0;r=+b[A+24>>3];A:do{if(r<1.0e-07&r>-1.0e-07)A=Cc(A,e)|0;else{n=+b[A+16>>3]/(r*3.0);a=+b[A+8>>3]/r;f=n*n;r=n*2.0*f-n*a+ +b[A>>3]/r;f=a*.3333333333333333-f;f=f*f*4.0*f;a=r*r+f;if(!(a<0.0)){l=(+z(+a)-r)*.5;f=+w1(l);r=+w1(-r-l)+f;b[e>>3]=r;if(a>0.0)A=1;else{r=r*-.5;b[e+16>>3]=r;A=1;i=7}}else{l=+X(+ +z(+-a),+-r);r=+w1(+z(+-f)*.5)*2.0;b[e>>3]=r*+D(+(l*.3333333333333333));b[e+8>>3]=+D(+((l+6.283185307179586)*.3333333333333333))*r;r=+D(+((l+-6.283185307179586)*.3333333333333333))*r;A=2;i=7}if((i|0)==7){b[e+(A<<3)>>3]=r;A=3}i=0;while(1){if((i|0)>=(A|0))break A;t=e+(i<<3)|0;b[t>>3]=+b[t>>3]-n;i=i+1|0}}}while(0);return A|0}function Cc(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+16>>3];do{if(!(i<1.0e-07&i>-1.0e-07)){r=+b[A+8>>3]/(i*2.0);i=r*r-+b[A>>3]/i;if(!(i<0.0))if(i==0.0){b[e>>3]=-r;A=1;break}else{i=+z(+i)-r;b[e>>3]=i;b[e+8>>3]=r*-2.0-i;A=2;break}else A=0}else A=Ic(A,e)|0}while(0);return A|0}function Ic(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A+8>>3];i=+b[A>>3];if(r<1.0e-07&r>-1.0e-07)A=i<1.0e-07&i>-1.0e-07?4:0;else{b[e>>3]=-i/r;A=1}return A|0}function Zc(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function Gc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;r=a[A+4>>2]|0;t=(r*3|0)+-2|0;i=a[47518]|0;if((t|0)>(a[47517]|0)){if(!i)i=m2(t<<4)|0;else i=y2(i,t<<4)|0;a[47518]=i;a[47517]=t;l=i;n=i}else{l=i;n=i}f=a[A>>2]|0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];z6(l+16|0,f|0,16)|0;r=r+-1|0;i=1;A=2;while(1){if((i|0)>=(r|0))break;c=l+(A+2<<4)|0;b=l+(A+1<<4)|0;w=l+(A<<4)|0;s=f+(i<<4)|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];a[w+8>>2]=a[s+8>>2];a[w+12>>2]=a[s+12>>2];z6(b|0,s|0,16)|0;a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];i=i+1|0;A=A+3|0}s=l+(A<<4)|0;w=f+(i<<4)|0;a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];z6(l+(A+1<<4)|0,w|0,16)|0;a[e+4>>2]=t;a[e>>2]=n;return}function Qc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];r=(+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r);return(r>.0001?1:(r<-.0001)<<31>>31)|0}function mc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;f=+b[A>>3];a=+b[e>>3];if(f!=a){r=+b[i>>3];if(!(f>3];f=+b[i+8>>3];r=+b[e+8>>3];if(!(a>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];c=Qc(n,l,t)|0;if((c|0)==0?(a[n>>2]=a[A>>2],a[n+4>>2]=a[A+4>>2],a[n+8>>2]=a[A+8>>2],a[n+12>>2]=a[A+12>>2],a[l>>2]=a[e>>2],a[l+4>>2]=a[e+4>>2],a[l+8>>2]=a[e+8>>2],a[l+12>>2]=a[e+12>>2],a[t>>2]=a[i>>2],a[t+4>>2]=a[i+4>>2],a[t+8>>2]=a[i+8>>2],a[t+12>>2]=a[i+12>>2],(mc(n,l,t)|0)!=0):0)f=1;else b=3;do{if((b|0)==3){a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];a[t>>2]=a[r>>2];a[t+4>>2]=a[r+4>>2];a[t+8>>2]=a[r+8>>2];a[t+12>>2]=a[r+12>>2];f=Qc(n,l,t)|0;if((f|0)==0?(a[n>>2]=a[A>>2],a[n+4>>2]=a[A+4>>2],a[n+8>>2]=a[A+8>>2],a[n+12>>2]=a[A+12>>2],a[l>>2]=a[e>>2],a[l+4>>2]=a[e+4>>2],a[l+8>>2]=a[e+8>>2],a[l+12>>2]=a[e+12>>2],a[t>>2]=a[r>>2],a[t+4>>2]=a[r+4>>2],a[t+8>>2]=a[r+8>>2],a[t+12>>2]=a[r+12>>2],mc(n,l,t)|0):0){f=1;break}a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[t>>2]=a[A>>2];a[t+4>>2]=a[A+4>>2];a[t+8>>2]=a[A+8>>2];a[t+12>>2]=a[A+12>>2];A=Qc(n,l,t)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];b=(U(f,c)|0)<0;f=(U(Qc(n,l,t)|0,A)|0)>>>31;f=b?f:0}}while(0);k=s;return f|0}function Wc(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+(r*r+i*i)}function yc(A){A=A|0;a[A+24>>2]=zc(a[A+4>>2]|0)|0;Yc(A);return}function zc(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+2|0;f=m2(r<<2)|0;e=W2(U(A,A)|0,8)|0;i=0;while(1){if((i|0)>=(A|0))break;a[f+(i<<2)>>2]=e;e=e+(A<<3)|0;i=i+1|0}while(1){if((A|0)>=(r|0))break;a[f+(A<<2)>>2]=0;A=A+1|0}return f|0}function Yc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;o=k;k=k+32|0;l=o+16|0;n=o;t=a[A+4>>2]|0;s=a[A+8>>2]|0;w=a[A+16>>2]|0;u=a[A+20>>2]|0;i=a[A+24>>2]|0;e=0;while(1){if((e|0)>=(t|0))break;h=a[u+(e<<2)>>2]|0;r=s+(e<<4)|0;f=s+(h<<4)|0;a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];d=+Dc(n,l);f=a[i+(e<<2)>>2]|0;b[f+(h<<3)>>3]=d;b[(a[i+(h<<2)>>2]|0)+(e<<3)>>3]=d;A=e+-1|0;A=(h|0)==(A|0)?e+-2|0:A;while(1){if((A|0)<=-1)break;if((Mc(e,A,s,w,u)|0?Mc(A,e,s,w,u)|0:0)?(c=s+(A<<4)|0,a[n>>2]=a[r>>2],a[n+4>>2]=a[r+4>>2],a[n+8>>2]=a[r+8>>2],a[n+12>>2]=a[r+12>>2],a[l>>2]=a[c>>2],a[l+4>>2]=a[c+4>>2],a[l+8>>2]=a[c+8>>2],a[l+12>>2]=a[c+12>>2],Fc(n,l,t,t,t,s,w)|0):0){a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];d=+Dc(n,l);b[f+(A<<3)>>3]=d;b[(a[i+(A<<2)>>2]|0)+(e<<3)>>3]=d}A=A+-1|0}e=e+1|0}k=o;return}function Dc(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0;r=k;k=k+32|0;f=r+16|0;n=r;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];i=+z(+ +Wc(n,f));k=r;return+i}function Mc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;n=k;k=k+64|0;l=n+48|0;t=n+32|0;c=n+16|0;b=n;w=i+(a[f+(A<<2)>>2]<<4)|0;s=i+(A<<4)|0;r=i+(a[r+(A<<2)>>2]<<4)|0;f=i+(e<<4)|0;a[b>>2]=a[w>>2];a[b+4>>2]=a[w+4>>2];a[b+8>>2]=a[w+8>>2];a[b+12>>2]=a[w+12>>2];a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[t>>2]=a[r>>2];a[t+4>>2]=a[r+4>>2];a[t+8>>2]=a[r+8>>2];a[t+12>>2]=a[r+12>>2];a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];f=Vc(b,c,t,l)|0;k=n;return f|0}function Fc(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+64|0;w=o+48|0;s=o+32|0;b=o+16|0;c=o;t=0;while(1){if((t|0)>=(i|0)){u=4;break}d=n+(t<<4)|0;h=n+(a[l+(t<<2)>>2]<<4)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[s>>2]=a[d>>2];a[s+4>>2]=a[d+4>>2];a[s+8>>2]=a[d+8>>2];a[s+12>>2]=a[d+12>>2];a[w>>2]=a[h>>2];a[w+4>>2]=a[h+4>>2];a[w+8>>2]=a[h+8>>2];a[w+12>>2]=a[h+12>>2];if(!(Lc(c,b,s,w)|0))t=t+1|0;else{r=0;break}}A:do{if((u|0)==4)while(1){if((r|0)>=(f|0)){r=1;break A}h=n+(r<<4)|0;d=n+(a[l+(r<<2)>>2]<<4)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[s>>2]=a[h>>2];a[s+4>>2]=a[h+4>>2];a[s+8>>2]=a[h+8>>2];a[s+12>>2]=a[h+12>>2];a[w>>2]=a[d>>2];a[w+4>>2]=a[d+4>>2];a[w+8>>2]=a[d+8>>2];a[w+12>>2]=a[d+12>>2];if(!(Lc(c,b,s,w)|0)){r=r+1|0;u=4}else{r=0;break}}}while(0);k=o;return r|0}function Vc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;n=k;k=k+48|0;l=n+32|0;t=n+16|0;c=n;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[t>>2]=a[A>>2];a[t+4>>2]=a[A+4>>2];a[t+8>>2]=a[A+8>>2];a[t+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];f=Qc(c,t,l)|0;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];r=Qc(c,t,l)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];i=(Qc(c,t,l)|0)>0;k=n;return(i?r|f:r&f)>>>31^1|0}function Jc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;B=k;k=k+80|0;t=B+64|0;l=B+48|0;n=B+32|0;c=B+16|0;u=B;o=a[A+4>>2]|0;h=a[A+8>>2]|0;d=a[A+16>>2]|0;s=a[A+20>>2]|0;w=m2((o<<3)+16|0)|0;if((e|0)==-2222){a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];e=Nc(A,t)|0}if((e|0)>-1){A=a[A+12>>2]|0;f=a[A+(e+1<<2)>>2]|0;A=a[A+(e<<2)>>2]|0}else{f=o;A=o}e=0;while(1){if((e|0)>=(A|0)){e=A;break}g=h+(e<<4)|0;a[u>>2]=a[g>>2];a[u+4>>2]=a[g+4>>2];a[u+8>>2]=a[g+8>>2];a[u+12>>2]=a[g+12>>2];g=h+(a[s+(e<<2)>>2]<<4)|0;v=h+(a[d+(e<<2)>>2]<<4)|0;a[c>>2]=a[g>>2];a[c+4>>2]=a[g+4>>2];a[c+8>>2]=a[g+8>>2];a[c+12>>2]=a[g+12>>2];a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[v>>2];a[l+4>>2]=a[v+4>>2];a[l+8>>2]=a[v+8>>2];a[l+12>>2]=a[v+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];if((Vc(c,n,l,t)|0)!=0?(a[l>>2]=a[i>>2],a[l+4>>2]=a[i+4>>2],a[l+8>>2]=a[i+8>>2],a[l+12>>2]=a[i+12>>2],a[t>>2]=a[u>>2],a[t+4>>2]=a[u+4>>2],a[t+8>>2]=a[u+8>>2],a[t+12>>2]=a[u+12>>2],(Fc(l,t,A,f,o,h,d)|0)!=0):0){a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];r=+Dc(l,t)}else r=0.0;b[w+(e<<3)>>3]=r;e=e+1|0}while(1){if((e|0)>=(f|0)){e=f;break}b[w+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((e|0)>=(o|0))break;v=h+(e<<4)|0;a[u>>2]=a[v>>2];a[u+4>>2]=a[v+4>>2];a[u+8>>2]=a[v+8>>2];a[u+12>>2]=a[v+12>>2];v=h+(a[s+(e<<2)>>2]<<4)|0;g=h+(a[d+(e<<2)>>2]<<4)|0;a[c>>2]=a[v>>2];a[c+4>>2]=a[v+4>>2];a[c+8>>2]=a[v+8>>2];a[c+12>>2]=a[v+12>>2];a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];if((Vc(c,n,l,t)|0)!=0?(a[l>>2]=a[i>>2],a[l+4>>2]=a[i+4>>2],a[l+8>>2]=a[i+8>>2],a[l+12>>2]=a[i+12>>2],a[t>>2]=a[u>>2],a[t+4>>2]=a[u+4>>2],a[t+8>>2]=a[u+8>>2],a[t+12>>2]=a[u+12>>2],(Fc(l,t,A,f,o,h,d)|0)!=0):0){a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];r=+Dc(l,t)}else r=0.0;b[w+(e<<3)>>3]=r;e=e+1|0}b[w+(o<<3)>>3]=0.0;b[w+(o+1<<3)>>3]=0.0;k=B;return w|0}function Nc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;s=k;k=k+32|0;f=s+8|0;r=s;l=s+24|0;t=A+8|0;c=A+12|0;b=l+4|0;i=0;while(1){if((i|0)>=(a[A>>2]|0)){i=-1111;break}u=a[c>>2]|0;w=a[u+(i<<2)>>2]|0;a[l>>2]=(a[t>>2]|0)+(w<<4);n=i+1|0;a[b>>2]=(a[u+(n<<2)>>2]|0)-w;a[r>>2]=a[l>>2];a[r+4>>2]=a[l+4>>2];a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];if(!(Dt(r,f)|0))i=n;else break}k=s;return i|0}function Xc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+64|0;w=v+48|0;s=v+32|0;o=v+16|0;u=v;d=a[f+4>>2]|0;B=a[f+8>>2]|0;h=a[f+16>>2]|0;n=(r|0)<0;do{if((e|0)<0)if(n){n=0;t=0;f=0;l=0}else{e=a[f+12>>2]|0;f=0;l=0;t=r;c=e;e=e+(r<<2)|0;b=9}else{if(n){b=a[f+12>>2]|0;f=0;l=0;t=e;c=b;e=b+(e<<2)|0;b=9;break}n=a[f+12>>2]|0;if((e|0)>(r|0)){f=a[n+(r+1<<2)>>2]|0;l=a[n+(r<<2)>>2]|0;t=e;c=n;e=n+(e<<2)|0;b=9;break}else{f=a[n+(e+1<<2)>>2]|0;l=a[n+(e<<2)>>2]|0;t=r;c=n;e=n+(r<<2)|0;b=9;break}}}while(0);if((b|0)==9){n=a[c+(t+1<<2)>>2]|0;t=a[e>>2]|0}e=0;while(1){if((e|0)>=(l|0)){b=13;break}c=B+(e<<4)|0;r=B+(a[h+(e<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];a[w>>2]=a[r>>2];a[w+4>>2]=a[r+4>>2];a[w+8>>2]=a[r+8>>2];a[w+12>>2]=a[r+12>>2];if(!(Lc(u,o,s,w)|0))e=e+1|0;else{n=0;break}}A:do{if((b|0)==13){while(1){if((f|0)>=(t|0))break;r=B+(f<<4)|0;b=B+(a[h+(f<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];if(!(Lc(u,o,s,w)|0)){f=f+1|0;b=13}else{n=0;break A}}while(1){if((n|0)>=(d|0)){n=1;break A}r=B+(n<<4)|0;b=B+(a[h+(n<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];if(!(Lc(u,o,s,w)|0))n=n+1|0;else{n=0;break}}}}while(0);k=v;return n|0}function Rc(A){A=A|0;return Hc(A,0,0)|0}function Hc(A,e,i){A=A|0;e=e|0;i=i|0;return pc(A,e,i,0)|0}function pc(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;if(!e){n=m2(496)|0;if(!n)n=0;else{a[n+12>>2]=35;a[n+16>>2]=107;a[n+20>>2]=105;e=35;l=6}}else{n=Q5[a[e>>2]&63](496)|0;if(!n)n=0;else{l=a[e>>2]|0;a[n+12>>2]=l;a[n+16>>2]=a[e+4>>2];a[n+20>>2]=a[e+8>>2];e=l;l=6}}do{if((l|0)==6){a[n+8>>2]=0;a[n+32>>2]=0;a[n+376>>2]=16;c=n+12|0;t=Q5[e&63](256)|0;e=n+388|0;a[e>>2]=t;if(!t){F5[a[n+20>>2]&127](n);n=0;break}l=Q5[a[c>>2]&63](1024)|0;t=n+44|0;a[t>>2]=l;if(!l){i=n+20|0;F5[a[i>>2]&127](a[e>>2]|0);F5[a[i>>2]&127](n);n=0;break}a[n+48>>2]=l+1024;if(!f){f=Uc(c)|0;a[n+352>>2]=f;if(!f){i=n+20|0;F5[a[i>>2]&127](a[t>>2]|0);F5[a[i>>2]&127](a[e>>2]|0);F5[a[i>>2]&127](n);n=0;break}}else a[n+352>>2]=f;a[n+372>>2]=0;a[n+364>>2]=0;a[n+300>>2]=0;a[n+464>>2]=0;a[n+460>>2]=0;a[n+124>>2]=0;a[n+244>>2]=0;e=n+468|0;r[e>>0]=33;l=n+232|0;r[l>>0]=0;r[n+233>>0]=0;a[n+392>>2]=0;a[n+396>>2]=0;r[n+400>>0]=0;f=n+228|0;a[f>>2]=0;xc(n+412|0,c);xc(n+436|0,c);Tc(n,A);if(A|0?(a[f>>2]|0)==0:0){jc(n);n=0;break}if(!i){a[n+224>>2]=xq()|0;break}else{r[l>>0]=1;a[n+224>>2]=C0()|0;r[e>>0]=r[i>>0]|0;break}}}while(0);return n|0}function Uc(A){A=A|0;var e=0;e=Q5[a[A>>2]&63](188)|0;if(e|0){xc(e+80|0,A);xc(e+104|0,A);$b(e,A);$b(e+20|0,A);$b(e+40|0,A);$b(e+60|0,A);r[e+131>>0]=0;$b(e+132|0,A);a[e+152>>2]=0;a[e+156>>2]=0;r[e+160>>0]=0;A=e+164|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A+16>>2]=0;a[A+20>>2]=0;r[e+128>>0]=1;r[e+129>>0]=0;r[e+130>>0]=0}return e|0}function xc(A,e){A=A|0;e=e|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A+16>>2]=0;a[A+20>>2]=e;return}function Tc(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;a[A+276>>2]=56;W0(A+252|0);if(e|0)a[A+228>>2]=Ab(e,A+12|0)|0;a[A+356>>2]=0;Y$(A+148|0,A+144|0,0)|0;a[A>>2]=0;a[A+4>>2]=0;e=A+116|0;n=A+52|0;l=n+64|0;do{a[n>>2]=0;n=n+4|0}while((n|0)<(l|0));a[e>>2]=A;a[A+120>>2]=0;e=A+128|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;e=a[A+8>>2]|0;a[A+24>>2]=e;a[A+28>>2]=e;a[A+36>>2]=0;a[A+40>>2]=0;e=A+312|0;n=A+404|0;a[n>>2]=0;a[n+4>>2]=0;n=A+280|0;i=A+304|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=0;n=e;l=n+36|0;do{a[n>>2]=0;n=n+4|0}while((n|0)<(l|0));f[e+36>>1]=0;r[i>>0]=1;a[A+308>>2]=0;a[A+360>>2]=0;a[A+368>>2]=0;a[A+380>>2]=0;a[A+236>>2]=0;a[A+248>>2]=0;a[A+240>>2]=0;a[A+472>>2]=0;a[A+476>>2]=0;r[A+484>>0]=0;r[A+485>>0]=0;a[A+488>>2]=0;a[A+492>>2]=0;return}function jc(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;if(A|0){i=A+364|0;n=A+20|0;e=a[A+360>>2]|0;while(1){if(!e){e=a[i>>2]|0;if(!e)break;a[i>>2]=0}l=a[e>>2]|0;F5[a[n>>2]&127](a[e+36>>2]|0);Sc(a[e+44>>2]|0,A);F5[a[n>>2]&127](e);e=l}i=A+300|0;e=a[A+296>>2]|0;while(1){if(!e){e=a[i>>2]|0;if(!e)break;a[i>>2]=0}l=a[e+8>>2]|0;F5[a[n>>2]&127](e);e=l}Sc(a[A+372>>2]|0,A);Sc(a[A+368>>2]|0,A);Pc(A+412|0);Pc(A+436|0);e=A+12|0;F5[a[n>>2]&127](a[A+228>>2]|0);if((r[A+484>>0]|0)==0?(f=a[A+352>>2]|0,f|0):0)Oc(f,(a[A+472>>2]|0)==0&1,e);F5[a[n>>2]&127](a[A+388>>2]|0);F5[a[n>>2]&127](a[A+460>>2]|0);F5[a[n>>2]&127](a[A+8>>2]|0);F5[a[n>>2]&127](a[A+44>>2]|0);F5[a[n>>2]&127](a[A+392>>2]|0);F5[a[n>>2]&127](a[A+236>>2]|0);e=a[A+248>>2]|0;if(e|0)F5[e&127](a[A+240>>2]|0);F5[a[n>>2]&127](A)}return}function Sc(A,e){A=A|0;e=e|0;var i=0;e=e+20|0;while(1){if(!A)break;i=a[A+4>>2]|0;F5[a[e>>2]&127](a[A+16>>2]|0);F5[a[e>>2]&127](A);A=i}return}function Pc(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;e=a[A>>2]|0;while(1){if(!e)break;r=a[e>>2]|0;F5[a[(a[i>>2]|0)+8>>2]&127](e);e=r}e=a[A+4>>2]|0;while(1){if(!e)break;r=a[e>>2]|0;F5[a[(a[i>>2]|0)+8>>2]&127](e);e=r}return}function Oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;n=A+20|0;Kc(f,n);i=i+8|0;while(1){r=_c(f)|0;if(!r)break;if(!(a[r+16>>2]|0))continue;F5[a[i>>2]&127](a[r+20>>2]|0)}qc(A);qc(A+132|0);qc(n);qc(A+40|0);qc(A+60|0);Pc(A+80|0);Pc(A+104|0);if(e<<24>>24){F5[a[i>>2]&127](a[A+184>>2]|0);F5[a[i>>2]&127](a[A+164>>2]|0)}F5[a[i>>2]&127](A);k=l;return}function Kc(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;a[A>>2]=i;a[A+4>>2]=i+(a[e+8>>2]<<2);return}function _c(A){A=A|0;var e=0,i=0,r=0;i=a[A+4>>2]|0;r=a[A>>2]|0;do{if((r|0)==(i|0)){e=0;break}e=r;r=r+4|0;a[A>>2]=r;e=a[e>>2]|0}while(!(e|0));return e|0}function qc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=A+8|0;r=A+16|0;e=0;while(1){f=a[(a[r>>2]|0)+8>>2]|0;n=a[A>>2]|0;if(e>>>0>=(a[i>>2]|0)>>>0)break;F5[f&127](a[n+(e<<2)>>2]|0);e=e+1|0}F5[f&127](n);return}function $c(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=eb(A)|0;if(!f){a[A+276>>2]=57;f=ib(A,e,i,r)|0}return f|0}function Ab(A,e){A=A|0;e=e|0;var i=0,f=0;i=0;do{f=i;i=i+1|0}while((r[A+f>>0]|0)!=0);e=Q5[a[e>>2]&63](i)|0;if(!e)e=0;else y6(e|0,A|0,i|0)|0;return e|0}function eb(A){A=A|0;var e=0;e=A+228|0;if(!(W5[(r[A+232>>0]<<24>>24?38:37)&63](A+148|0,A+144|0,a[e>>2]|0)|0))A=qb(A,a[e>>2]|0)|0;else A=0;return A|0}function ib(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;n=k;k=k+16|0;l=n;a[l>>2]=e;c=A+144|0;t=a[c>>2]|0;t=y5[a[t>>2]&127](t,e,i,l)|0;f=rb(A,a[c>>2]|0,e,i,t,a[l>>2]|0,f,(r[A+480>>0]|0)==0&1)|0;k=n;return f|0}function rb(A,e,i,f,l,t,c,b){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;t=t|0;c=c|0;b=b|0;var s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0,tA=0,cA=0,bA=0,sA=0,wA=0,uA=0,kA=0,oA=0,hA=0,dA=0,BA=0,vA=0,gA=0,EA=0,CA=0,IA=0,ZA=0,GA=0,QA=0,mA=0,LA=0,WA=0,yA=0,zA=0,YA=0;YA=k;k=k+16|0;WA=YA;a[WA>>2]=t;d=a[A+352>>2]|0;B=A+144|0;if((a[B>>2]|0)==(e|0)){o=A+284|0;h=A+288|0;uA=A+296|0}else{uA=A+296|0;h=a[uA>>2]|0;o=h;h=h+4|0}v=b<<24>>24!=0;oA=A+252|0;g=A+80|0;E=A+476|0;C=A+84|0;I=A+320|0;Z=A+412|0;G=A+316|0;Q=A+424|0;m=A+428|0;L=A+324|0;dA=A+4|0;W=A+485|0;y=d+132|0;z=A+312|0;vA=d+129|0;Y=d+128|0;D=d+80|0;M=d+92|0;F=d+96|0;V=A+136|0;J=A+88|0;N=A+488|0;EA=A+112|0;CA=d+131|0;IA=A+116|0;ZA=d+130|0;GA=A+108|0;QA=A+356|0;X=A+340|0;R=A+132|0;H=A+344|0;p=A+348|0;U=A+328|0;x=A+349|0;T=A+420|0;j=d+120|0;S=d+116|0;P=A+92|0;O=A+472|0;K=A+336|0;_=A+332|0;q=A+96|0;$=A+256|0;AA=A+464|0;eA=A+460|0;iA=d+160|0;rA=d+184|0;fA=d+180|0;aA=d+164|0;nA=A+128|0;lA=A+12|0;tA=A+16|0;cA=A+268|0;bA=A+120|0;sA=d+176|0;wA=d+168|0;u=e;w=i;e=l;A:while(1){a[o>>2]=w;i=a[WA>>2]|0;a[h>>2]=i;t=i;e:do{if((e|0)<1){if(v&(e|0)!=0){s=7;break A}switch(e|0){case-1:{t=5;s=280;break A}case 0:{s=9;break A}case-2:{t=6;break A}case-4:{s=10;break A}case-15:{e=15;break e}default:{}}a[WA>>2]=f;e=0-e|0;t=f}}while(0);l=z5[a[oA>>2]&127](oA,e,w,t,u)|0;e:do{switch(l|0){case 2:{s=58;break A}case-1:{s=184;break A}case 1:{t=fb(A,0,w,a[WA>>2]|0)|0;if(t|0){s=280;break A}t=a[B>>2]|0;break}case 4:{if(!(a[C>>2]|0))t=1;else{s=ab(Z,u,w,a[WA>>2]|0)|0;a[G>>2]=s;if(!s){t=1;s=280;break A}a[m>>2]=a[Q>>2];a[L>>2]=0;t=0}a[I>>2]=0;s=274;break}case 7:{t=a[C>>2]|0;if(!t)s=275;else{R5[t&15](a[dA>>2]|0,a[G>>2]|0,a[I>>2]|0,a[L>>2]|0,1);a[G>>2]=0;nb(Z);t=u}break}case 57:{t=fb(A,1,w,a[WA>>2]|0)|0;if(t|0){s=280;break A}t=a[B>>2]|0;break}case 6:{r[W>>0]=0;s=lb(A,y,75395,36)|0;a[z>>2]=s;if(!s){t=1;s=280;break A}r[vA>>0]=1;if(!(a[C>>2]|0))s=33;else{if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break A}t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}tb(t);a[m>>2]=a[Q>>2];a[L>>2]=t;t=0;s=34}break}case 14:{s=33;break}case 8:{t=a[G>>2]|0;if(!t)t=1;else{R5[a[C>>2]&15](a[dA>>2]|0,t,a[I>>2]|0,a[L>>2]|0,0);nb(Z);t=0}if(!((a[I>>2]|0)==0?!(r[W>>0]|0):0)){i=r[vA>>0]|0;r[vA>>0]=1;do{if(a[N>>2]|0?a[EA>>2]|0:0){l=lb(A,y,75395,36)|0;if(!l){t=1;s=280;break A}if(!(r[W>>0]|0))e=l+20|0;else{e=l+20|0;a[e>>2]=a[QA>>2]}r[CA>>0]=0;if(!(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[e>>2]|0,a[l+16>>2]|0,a[l+24>>2]|0)|0)){t=21;s=280;break A}if(!(r[CA>>0]|0)){if(a[I>>2]|0)break;r[vA>>0]=i;break}if(((r[ZA>>0]|0)==0?(kA=a[GA>>2]|0,kA|0):0)?(Q5[kA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}}}while(0);r[W>>0]=0}e=a[J>>2]|0;if(!e)s=274;else{F5[e&127](a[dA>>2]|0);t=u}break}case 34:{s=bb(A,u,w,a[WA>>2]|0)|0;a[X>>2]=s;if(!s){t=1;s=280;break A}else s=80;break}case 22:{s=sb(A,u,w,a[WA>>2]|0)|0;a[H>>2]=s;if(!s){t=1;s=280;break A}r[p>>0]=0;a[U>>2]=0;r[x>>0]=0;s=80;break}case 23:{r[p>>0]=1;a[U>>2]=142188;s=80;break}case 24:{r[x>>0]=1;a[U>>2]=142194;s=80;break}case 25:{a[U>>2]=142197;s=80;break}case 26:{a[U>>2]=142203;s=80;break}case 27:{a[U>>2]=142210;s=80;break}case 28:{a[U>>2]=142217;s=80;break}case 29:{a[U>>2]=142226;s=80;break}case 30:{a[U>>2]=142234;s=80;break}case 32:case 31:{if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0){if(!(wb(Z,(a[U>>2]|0)==0?(l|0)==32?142243:142253:142255)|0)){t=1;s=280;break A}if(!(ub(Z,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}a[U>>2]=a[m>>2];t=u}else s=275;break}case 36:case 35:{if(r[Y>>0]|0){if(!(kb(a[X>>2]|0,a[H>>2]|0,r[p>>0]|0,r[x>>0]|0,0,A)|0)){t=1;s=280;break A}if((a[R>>2]|0)!=0?(hA=a[U>>2]|0,(hA|0)!=0):0){switch(r[hA>>0]|0){case 40:{s=93;break}case 78:{if((r[hA+1>>0]|0)==79)s=93;break}default:{}}if((s|0)==93){s=0;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=41;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=0;a[U>>2]=a[m>>2];a[m>>2]=a[Q>>2]}a[h>>2]=w;H5[a[R>>2]&15](a[dA>>2]|0,a[a[X>>2]>>2]|0,a[a[H>>2]>>2]|0,a[U>>2]|0,0,(l|0)==36&1);nb(Z);t=u}else s=275}else s=275;break}case 38:case 37:{if(r[Y>>0]|0){t=a[u+64>>2]|0;t=hb(A,u,r[p>>0]|0,w+t|0,(a[WA>>2]|0)+(0-t)|0,D)|0;if(t|0){s=280;break A}e=a[F>>2]|0;a[F>>2]=a[M>>2];if(!(kb(a[X>>2]|0,a[H>>2]|0,r[p>>0]|0,0,e,A)|0)){t=1;s=280;break A}if((a[R>>2]|0)!=0?(BA=a[U>>2]|0,(BA|0)!=0):0){switch(r[BA>>0]|0){case 40:{s=108;break}case 78:{if((r[BA+1>>0]|0)==79)s=108;break}default:{}}if((s|0)==108){s=0;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=41;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=0;a[U>>2]=a[m>>2];a[m>>2]=a[Q>>2]}a[h>>2]=w;H5[a[R>>2]&15](a[dA>>2]|0,a[a[X>>2]>>2]|0,a[a[H>>2]>>2]|0,a[U>>2]|0,e,(l|0)==38&1);nb(Z);t=u}else s=275}else s=275;break}case 12:{if(r[Y>>0]|0){t=a[u+64>>2]|0;t=db(A,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;e=a[z>>2]|0;i=a[j>>2]|0;if(e){a[e+4>>2]=i;a[(a[z>>2]|0)+8>>2]=(a[S>>2]|0)-(a[j>>2]|0);a[j>>2]=a[S>>2];if(!(a[V>>2]|0))e=1;else{a[h>>2]=w;e=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[e>>2]|0,n[e+33>>0]|0,a[e+4>>2]|0,a[e+8>>2]|0,a[QA>>2]|0,0,0,0);e=0}}else{a[S>>2]=i;e=1}if(!t){t=e;s=274}else{s=280;break A}}else s=275;break}case 5:{r[W>>0]=0;r[vA>>0]=1;if(!(a[C>>2]|0)){a[I>>2]=75395;t=1}else{s=a[u+64>>2]|0;s=ab(Z,u,w+s|0,(a[WA>>2]|0)+(0-s)|0)|0;a[I>>2]=s;if(!s){t=1;s=280;break A}a[m>>2]=a[Q>>2];t=0}if((((r[ZA>>0]|0)==0?(a[N>>2]|0)==0:0)?(gA=a[GA>>2]|0,gA|0):0)?(Q5[gA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}if(!(a[z>>2]|0)){e=lb(A,y,75395,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}a[e+24>>2]=0;s=133}else s=133;break}case 13:{t=1;s=133;break}case 15:{if(((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0)?(a[V>>2]|0)!=0:0){a[h>>2]=w;t=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[t>>2]|0,n[t+33>>0]|0,0,0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,0);t=u}else s=275;break}case 16:{if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){l=ab(D,u,w,a[WA>>2]|0)|0;a[(a[z>>2]|0)+28>>2]=l;if(!(a[(a[z>>2]|0)+28>>2]|0)){t=1;s=280;break A}a[F>>2]=a[M>>2];if(a[P>>2]|0){a[h>>2]=w;t=a[z>>2]|0;H5[a[P>>2]&15](a[dA>>2]|0,a[t>>2]|0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,a[t+28>>2]|0);t=u;break e}if(a[V>>2]|0){a[h>>2]=w;t=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[t>>2]|0,0,0,0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,a[t+28>>2]|0);t=u}else s=275}else s=275;break}case 9:{if(W5[a[u+44>>2]&63](u,w,a[WA>>2]|0)|0){a[z>>2]=0;s=275;break e}if(!(r[Y>>0]|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}t=ab(D,u,w,a[WA>>2]|0)|0;if(!t){t=1;s=280;break A}e=lb(A,d,t,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}if((a[e>>2]|0)!=(t|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}a[F>>2]=a[M>>2];a[(a[z>>2]|0)+24>>2]=0;r[(a[z>>2]|0)+33>>0]=0;if(!(a[O>>2]|0))t=(a[uA>>2]|0)!=0;else t=1;r[(a[z>>2]|0)+34>>0]=(t^1)&1;if(!(a[V>>2]|0))s=275;else t=u;break}case 10:{if(!(r[Y>>0]|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}t=ab(D,u,w,a[WA>>2]|0)|0;if(!t){t=1;s=280;break A}e=lb(A,y,t,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}if((a[e>>2]|0)!=(t|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}a[F>>2]=a[M>>2];a[(a[z>>2]|0)+24>>2]=0;r[(a[z>>2]|0)+33>>0]=1;if(!(a[O>>2]|0))t=(a[uA>>2]|0)!=0;else t=1;r[(a[z>>2]|0)+34>>0]=(t^1)&1;if(!(a[V>>2]|0))s=275;else t=u;break}case 18:{a[K>>2]=0;a[_>>2]=0;if(!(a[q>>2]|0))s=275;else{w=ab(Z,u,w,a[WA>>2]|0)|0;a[_>>2]=w;if(!w){t=1;s=280;break A}a[m>>2]=a[Q>>2];t=u}break}case 21:{if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break A}if(!(a[_>>2]|0))s=275;else{t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}tb(t);a[K>>2]=t;a[m>>2]=a[Q>>2];t=u}break}case 19:{if((a[_>>2]|0)!=0?(a[q>>2]|0)!=0:0){t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}a[h>>2]=w;R5[a[q>>2]&15](a[dA>>2]|0,a[_>>2]|0,a[QA>>2]|0,t,a[K>>2]|0);t=0}else t=1;nb(Z);s=274;break}case 20:{if((a[K>>2]|0)!=0?(a[q>>2]|0)!=0:0){a[h>>2]=w;R5[a[q>>2]&15](a[dA>>2]|0,a[_>>2]|0,a[QA>>2]|0,0,a[K>>2]|0);t=0}else t=1;nb(Z);s=274;break}case 58:{if(a[g>>2]|0)Bb(A,u,w,a[WA>>2]|0);t=vb(A,u,WA,f,c,b)|0;if(t|0){s=280;break A}if(!(a[WA>>2]|0)){s=189;break A}else t=u;break}case 44:{t=a[AA>>2]|0;do{if((a[$>>2]|0)>>>0>=t>>>0){if(!t){l=a[lA>>2]|0;a[AA>>2]=32;l=Q5[l&63](32)|0;a[eA>>2]=l;if(!l){s=198;break A}else break}i=a[tA>>2]|0;l=a[eA>>2]|0;t=t<<1;a[AA>>2]=t;t=m5[i&127](l,t)|0;if(!t){s=193;break A}a[eA>>2]=t;t=a[rA>>2]|0;if(t|0){t=m5[a[tA>>2]&127](t,a[AA>>2]<<2)|0;if(!t){t=1;s=280;break A}a[rA>>2]=t}}}while(0);r[(a[eA>>2]|0)+(a[$>>2]|0)>>0]=0;if(r[iA>>0]|0){t=Eb(A)|0;if((t|0)<0){t=1;s=280;break A}a[(a[rA>>2]|0)+(a[fA>>2]<<2)>>2]=t;a[fA>>2]=(a[fA>>2]|0)+1;a[(a[aA>>2]|0)+(t*28|0)>>2]=6;if(a[nA>>2]|0)t=u;else s=275}else s=275;break}case 50:{t=(a[eA>>2]|0)+(a[$>>2]|0)|0;if((r[t>>0]|0)==124){t=2;s=280;break A}r[t>>0]=44;if((r[iA>>0]|0)!=0?(a[nA>>2]|0)!=0:0)t=u;else s=275;break}case 49:{i=a[eA>>2]|0;e=a[$>>2]|0;t=r[i+e>>0]|0;if(t<<24>>24==44){t=2;s=280;break A}if(t<<24>>24==0&(r[iA>>0]|0)!=0?(mA=(a[aA>>2]|0)+((a[(a[rA>>2]|0)+((a[fA>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(a[mA>>2]|0)!=3):0){a[mA>>2]=5;t=(a[nA>>2]|0)==0&1;i=a[eA>>2]|0;e=a[$>>2]|0}else t=1;r[i+e>>0]=124;s=274;break}case 59:case 60:{r[vA>>0]=1;if(a[N>>2]|0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;if(!e){t=1;s=280;break A}i=lb(A,y,e,0)|0;a[M>>2]=a[F>>2];do{if(a[cA>>2]|0){if(!(r[ZA>>0]|0)){if(r[vA>>0]|0){s=219;break}}else if(a[uA>>2]|0){s=219;break}if(!i){t=11;s=280;break A}if(!(r[i+34>>0]|0)){t=24;s=280;break A}}else s=219}while(0);if((s|0)==219?(s=0,(i|0)==0):0){r[Y>>0]=r[ZA>>0]|0;if((l|0)!=60){s=275;break e}t=a[bA>>2]|0;if(!t){s=275;break e}J5[t&127](a[dA>>2]|0,e,1);t=u;break e}t=i+32|0;if(r[t>>0]|0){t=12;s=280;break A}if(a[i+4>>2]|0){t=Cb(A,i,(l|0)==60&1)|0;e=(t|0)==0;if(e){t=(e^1)&1;s=274;break e}else{s=280;break A}}if(!(a[EA>>2]|0)){r[Y>>0]=r[ZA>>0]|0;s=275;break e}r[CA>>0]=0;r[t>>0]=1;l=(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[i+20>>2]|0,a[i+16>>2]|0,a[i+24>>2]|0)|0)==0;r[t>>0]=0;if(l){t=21;s=280;break A}e=r[ZA>>0]|0;if(!(r[CA>>0]|0)){r[Y>>0]=e;t=u;break e}else t=0}else{e=r[ZA>>0]|0;r[Y>>0]=e;t=1}if((e<<24>>24==0?(LA=a[GA>>2]|0,(LA|0)!=0):0)?(Q5[LA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}else s=274;break}case 40:{if(!(a[nA>>2]|0))s=275;else{w=bb(A,u,w,a[WA>>2]|0)|0;a[X>>2]=w;if(!w){t=1;s=280;break A}a[fA>>2]=0;a[sA>>2]=0;r[iA>>0]=1;t=u}break}case 42:case 41:{if(!(r[iA>>0]|0))s=275;else{if(!(a[nA>>2]|0))t=1;else{t=Q5[a[lA>>2]&63](20)|0;if(!t){t=1;s=280;break A}s=t+4|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;a[t>>2]=(l|0)==41?2:1;a[h>>2]=w;J5[a[nA>>2]&127](a[dA>>2]|0,a[a[X>>2]>>2]|0,t);t=0}r[iA>>0]=0;s=274}break}case 43:{if((r[iA>>0]|0)!=0?(a[(a[aA>>2]|0)+((a[(a[rA>>2]|0)+((a[fA>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(a[nA>>2]|0)!=0):0)t=u;else s=275;break}case 51:{e=0;s=247;break}case 53:{e=1;s=247;break}case 52:{e=2;s=247;break}case 54:{e=3;s=247;break}case 45:{i=0;s=258;break}case 47:{i=1;s=258;break}case 46:{i=2;s=258;break}case 48:{i=3;s=258;break}case 55:{if(!(Zb(A,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}else t=u;break}case 56:{if(!(Gb(A,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}else t=u;break}case 0:{if((e|0)==14)t=u;else s=275;break}case 3:{if(!(a[C>>2]|0))s=275;else t=u;break}case 11:{if((r[Y>>0]|0)!=0?(a[V>>2]|0)!=0:0)t=u;else s=275;break}case 17:{if(!(a[q>>2]|0))s=275;else t=u;break}case 33:{if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0)t=u;else s=275;break}case 39:{if(!(a[nA>>2]|0))s=275;else t=u;break}default:s=275}}while(0);if((s|0)==33)if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break}else{t=1;s=34}else if((s|0)==80){s=0;if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0)t=u;else s=275}else if((s|0)==133){s=0;if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;a[(a[z>>2]|0)+16>>2]=e;e=a[z>>2]|0;if(!(a[e+16>>2]|0)){t=1;s=280;break}a[e+20>>2]=a[QA>>2];a[F>>2]=a[M>>2];if((l|0)==13&(a[V>>2]|0)!=0)t=u;else s=274}else s=274}else if((s|0)==247){s=0;if(r[iA>>0]|0){t=a[WA>>2]|0;if(e)t=t+(0-(a[u+64>>2]|0))|0;i=Eb(A)|0;if((i|0)<0){t=1;s=280;break}a[(a[aA>>2]|0)+(i*28|0)>>2]=4;a[(a[aA>>2]|0)+(i*28|0)+4>>2]=e;t=bb(A,u,w,t)|0;if(!t){t=1;s=280;break}e=a[t>>2]|0;a[(a[aA>>2]|0)+(i*28|0)+8>>2]=e;t=0;do{l=t;t=t+1|0}while((r[e+l>>0]|0)!=0);a[wA>>2]=(a[wA>>2]|0)+t;if(a[nA>>2]|0)t=u;else s=275}else s=275}else if((s|0)==258)if(r[iA>>0]|0){e=(a[nA>>2]|0)==0;t=e&1;s=(a[fA>>2]|0)+-1|0;a[fA>>2]=s;a[(a[aA>>2]|0)+((a[(a[rA>>2]|0)+(s<<2)>>2]|0)*28|0)+4>>2]=i;if(!(a[fA>>2]|0)){if(!e){e=Ib(A)|0;if(!e){t=1;s=280;break}a[h>>2]=w;J5[a[nA>>2]&127](a[dA>>2]|0,a[a[X>>2]>>2]|0,e)}r[iA>>0]=0;a[wA>>2]=0;s=274}else s=274}else s=275;if((s|0)==34){s=0;if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;if(!e){t=1;s=280;break}tb(e);a[(a[z>>2]|0)+24>>2]=e;a[F>>2]=a[M>>2];if((l|0)==14&(a[V>>2]|0)!=0)t=u;else s=274}else s=274}if((s|0)==274){s=0;if(!(t<<24>>24))t=u;else s=275}if((s|0)==275){s=0;if(!(a[g>>2]|0))t=u;else{Bb(A,u,w,a[WA>>2]|0);t=u}}switch(a[E>>2]|0){case 3:{s=278;break A}case 2:{t=35;s=280;break A}default:{}}e=a[WA>>2]|0;u=t;w=e;e=y5[a[t>>2]&127](t,e,f,WA)|0}A:switch(s|0){case 7:{a[c>>2]=w;t=0;break}case 9:{a[o>>2]=i;t=4;break}case 10:{t=(u|0)==(a[B>>2]|0);if(!t?(r[(a[uA>>2]|0)+20>>0]|0)==0:0){a[c>>2]=w;t=0;break}if((r[A+484>>0]|0)!=0|t^1)if((z5[a[oA>>2]&127](oA,-4,f,f,u)|0)==-1)t=29;else{a[c>>2]=w;t=0}else t=3;break}case 58:{do{if((r[W>>0]|0?(yA=r[vA>>0]|0,r[vA>>0]=1,a[N>>2]|0):0)?a[EA>>2]|0:0){t=lb(A,y,75395,36)|0;if(!t){t=1;break A}WA=t+20|0;a[WA>>2]=a[QA>>2];r[CA>>0]=0;if(!(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[WA>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0)|0)){t=21;break A}if(!(r[CA>>0]|0)){r[vA>>0]=yA;break}if(((r[ZA>>0]|0)==0?(zA=a[GA>>2]|0,zA|0):0)?(Q5[zA&63](a[dA>>2]|0)|0)==0:0){t=22;break A}}}while(0);a[A+276>>2]=58;t=cb(A,w,f,c)|0;break}case 184:{t=(e|0)==28?10:(e|0)==12?17:2;break}case 189:{a[A+276>>2]=59;t=0;break}case 193:{a[AA>>2]=(a[AA>>2]|0)>>>1;t=1;break}case 198:{a[AA>>2]=0;t=1;break}case 278:{a[c>>2]=a[WA>>2];t=0;break}case 280:break}k=YA;return t|0}function fb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+32|0;o=h+16|0;s=h+12|0;t=h+8|0;c=h+4|0;b=h;a[o>>2]=0;a[s>>2]=0;a[t>>2]=0;a[b>>2]=-1;w=A+144|0;u=A+284|0;n=(e|0)!=0;A:do{if(D5[(r[A+232>>0]<<24>>24?2:1)&3](e,a[w>>2]|0,i,f,u,t,c,o,s,b)|0){if((a[b>>2]|0)==1&(n^1)?(r[(a[A+352>>2]|0)+130>>0]=1,l=A+488|0,(a[l>>2]|0)==1):0)a[l>>2]=0;l=A+140|0;if(!(a[l>>2]|0))if(!(a[A+80>>2]|0)){i=0;e=0}else{Bb(A,a[w>>2]|0,i,f);i=0;e=0}else{e=a[o>>2]|0;if(!e)e=0;else{f=a[w>>2]|0;e=ab(A+436|0,f,e,e+(m5[a[f+28>>2]&127](f,e)|0)|0)|0;if(!e){e=1;break}a[A+452>>2]=a[A+448>>2]}n=a[t>>2]|0;if(n){t=a[w>>2]|0;n=ab(A+436|0,t,n,(a[c>>2]|0)+(0-(a[t+64>>2]|0))|0)|0;if(!n){e=1;break}}else n=0;X5[a[l>>2]&31](a[A+4>>2]|0,n,e,a[b>>2]|0);i=n}do{if(!(a[A+228>>2]|0)){n=a[s>>2]|0;l=n;if(n|0){b=a[n+64>>2]|0;s=a[w>>2]|0;if((b|0)==(a[s+64>>2]|0)?(b|0)!=2|(n|0)==(s|0):0){a[w>>2]=l;break}a[u>>2]=a[o>>2];e=19;break A}n=a[o>>2]|0;if(n|0){l=A+436|0;if(!e){e=a[w>>2]|0;e=ab(l,e,n,n+(m5[a[e+28>>2]&127](e,n)|0)|0)|0;if(!e){e=1;break A}}e=qb(A,e)|0;nb(l);if((e|0)!=18)break A;a[u>>2]=a[o>>2];e=18;break A}}}while(0);if((e|0)!=0|(i|0)!=0){nb(A+436|0);e=0}else e=0}else e=n?31:30}while(0);k=h;return e|0}function ab(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;do{if(!(ub(A,e,i,f)|0))e=0;else{i=A+12|0;e=a[i>>2]|0;if((e|0)==(a[A+8>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=0;e=a[A+16>>2]|0}}while(0);return e|0}function nb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=A+4|0;e=a[r>>2]|0;A:do{if(!e){a[r>>2]=a[A>>2];e=A}else{i=a[A>>2]|0;while(1){if(!i){e=A;break A}n=a[i>>2]|0;a[i>>2]=e;a[r>>2]=i;f=i;i=n;e=f}}}while(0);a[e>>2]=0;a[A+16>>2]=0;a[A+12>>2]=0;a[A+8>>2]=0;return}function lb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;C=e+8|0;A:do{if(!(a[C>>2]|0))if(f){r[e+4>>0]=6;a[C>>2]=64;l=e+16|0;t=Q5[a[a[l>>2]>>2]&63](256)|0;a[e>>2]=t;if(!t){a[C>>2]=0;l=0;break}else{Y6(t|0,0,256)|0;c=Kb(A,i)|0;c=(a[C>>2]|0)+-1&c;t=e;k=27;break}}else l=0;else{E=Kb(A,i)|0;b=a[C>>2]|0;c=b+-1|0;s=a[e>>2]|0;w=E&0-b;g=e+4|0;u=c>>>2;t=0;c=c&E;while(1){l=a[s+(c<<2)>>2]|0;if(!l)break;if((_b(i,a[l>>2]|0)|0)<<24>>24)break A;if(!(t<<24>>24))l=(w>>>((n[g>>0]|0)+-1|0)&u|1)&255;else l=t;v=l&255;t=l;c=c-v+(c>>>0>>0?b:0)|0}if(f){t=r[g>>0]|0;l=t&255;if(!((a[e+12>>2]|0)>>>(l+-1|0))){l=e+16|0;t=e;k=27;break}h=l+1&255;c=t+1&255;B=1<>2]>>2]&63](t)|0;if(v){Y6(v|0,0,t|0)|0;o=0-B|0;u=c+-1|0;k=d>>>2;w=0;while(1){if(w>>>0>=(a[C>>2]|0)>>>0)break;t=a[(a[e>>2]|0)+(w<<2)>>2]|0;if(t|0){t=Kb(A,a[t>>2]|0)|0;b=((t&o)>>>u&k|1)&255;t=t&d;c=0;while(1){s=v+(t<<2)|0;if(!(a[s>>2]|0))break;s=c<<24>>24==0?b:c;I=s&255;t=t+(t>>>0>>0?B:0)-I|0;c=s}a[s>>2]=a[(a[e>>2]|0)+(w<<2)>>2]}w=w+1|0}F5[a[(a[l>>2]|0)+8>>2]&127](a[e>>2]|0);a[e>>2]=v;r[g>>0]=h;a[C>>2]=B;b=((E&o)>>>u&k|1)&255;t=d&E;c=0;while(1){if(!(a[v+(t<<2)>>2]|0)){c=t;t=e;k=27;break A}I=c<<24>>24==0?b:c;C=I&255;t=t+(t>>>0>>0?B:0)-C|0;c=I}}else l=0}else l=0}}while(0);if((k|0)==27){l=Q5[a[a[l>>2]>>2]&63](f)|0;a[(a[t>>2]|0)+(c<<2)>>2]=l;l=a[(a[t>>2]|0)+(c<<2)>>2]|0;if(!l)l=0;else{Y6(l|0,0,f|0)|0;a[a[(a[t>>2]|0)+(c<<2)>>2]>>2]=i;l=e+12|0;a[l>>2]=(a[l>>2]|0)+1;l=a[(a[t>>2]|0)+(c<<2)>>2]|0}}return l|0}function tb(A){A=A|0;var e=0,i=0,f=0;f=A;e=A;while(1){i=r[f>>0]|0;if(!(i<<24>>24))break;switch(i<<24>>24|0){case 10:case 13:case 32:{if((e|0)!=(A|0)){if((r[e+-1>>0]|0)!=32){r[e>>0]=32;e=e+1|0}}else e=A;break}default:{r[e>>0]=i;e=e+1|0}}f=f+1|0}if((e|0)!=(A|0)){A=e+-1|0;A=(r[A>>0]|0)==32?A:e}r[A>>0]=0;return}function cb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;e=Lb(A,0,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;if((e|0)==0?(Jb(A)|0)<<24>>24==0:0)e=1;return e|0}function bb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=a[A+352>>2]|0;e=ab(n+80|0,e,i,r)|0;do{if((e|0)!=0?(f=lb(A,n+20|0,e,24)|0,(f|0)!=0):0)if((a[f>>2]|0)==(e|0)){a[n+96>>2]=a[n+92>>2];if(!(Xb(A,f)|0)){f=0;break}}else a[n+92>>2]=a[n+96>>2];else f=0}while(0);return f|0}function sb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=a[A+352>>2]|0;b=w+80|0;u=w+92|0;l=a[u>>2]|0;s=w+88|0;if((l|0)==(a[s>>2]|0))if(!((ob(b)|0)<<24>>24))n=0;else{l=a[u>>2]|0;t=4}else t=4;A:do{if((t|0)==4){a[u>>2]=l+1;r[l>>0]=0;e=ab(b,e,i,f)|0;if((e|0)!=0?(c=e+1|0,n=lb(A,w+40|0,c,12)|0,(n|0)!=0):0){if((a[n>>2]|0)!=(c|0)){a[u>>2]=a[w+96>>2];break}l=a[u>>2]|0;t=w+96|0;a[t>>2]=l;if(r[A+232>>0]|0){i=r[c>>0]|0;e:do{if(i<<24>>24==120)if((((r[e+2>>0]|0)==109?(r[e+3>>0]|0)==108:0)?(r[e+4>>0]|0)==110:0)?(r[e+5>>0]|0)==115:0){switch(r[e+6>>0]|0){case 0:{l=w+152|0;break}case 58:{l=lb(A,w+60|0,e+7|0,8)|0;break}default:{f=0;e=120;break e}}a[n+4>>2]=l;r[n+9>>0]=1;break A}else{f=0;e=120}else{f=0;e=i}}while(0);e:while(1){switch(e<<24>>24){case 0:break A;case 58:{i=0;break e}default:{}}e=f+1|0;f=e;e=r[c+e>>0]|0}while(1){e=(l|0)==(a[s>>2]|0);if((i|0)>=(f|0))break;if(e){if(!((ob(b)|0)<<24>>24)){n=0;break A}l=a[u>>2]|0}e=r[c+i>>0]|0;a[u>>2]=l+1;r[l>>0]=e;i=i+1|0;l=a[u>>2]|0}if(e){if(!((ob(b)|0)<<24>>24)){n=0;break}l=a[u>>2]|0}a[u>>2]=l+1;r[l>>0]=0;l=lb(A,w+60|0,a[t>>2]|0,8)|0;a[n+4>>2]=l;if(l){e=a[t>>2]|0;if((a[l>>2]|0)==(e|0)){a[t>>2]=a[u>>2];break}else{a[u>>2]=e;break}}else n=0}}else n=0}}while(0);return n|0}function wb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;n=A+12|0;l=A+8|0;while(1){i=r[e>>0]|0;if(!(i<<24>>24)){t=7;break}f=a[n>>2]|0;if((f|0)==(a[l>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}f=a[n>>2]|0;i=r[e>>0]|0}a[n>>2]=f+1;r[f>>0]=i;e=e+1|0}if((t|0)==7)e=a[A+16>>2]|0;return e|0}function ub(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;a[l>>2]=i;n=A+12|0;if((a[n>>2]|0)==0?(ob(A)|0)<<24>>24==0:0)i=0;else f=3;A:do{if((f|0)==3){i=e+56|0;f=A+8|0;while(1){if((z5[a[i>>2]&127](e,l,r,n,a[f>>2]|0)|0)>>>0<2)break;if(!((ob(A)|0)<<24>>24)){i=0;break A}}i=a[A+16>>2]|0}}while(0);k=t;return i|0}function kb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0;t=f<<24>>24==0;u=A+12|0;w=a[u>>2]|0;A:do{if(!(t&(n|0)==0)){c=A+20|0;f=0;while(1){if((f|0)>=(w|0))break;if((a[(a[c>>2]|0)+(f*12|0)>>2]|0)==(e|0)){f=1;break A}else f=f+1|0}if((!t?(b=A+8|0,(a[b>>2]|0)==0):0)?(r[e+9>>0]|0)==0:0){a[b>>2]=e;s=9}else s=9}else s=9}while(0);A:do{if((s|0)==9){c=A+16|0;do{if((w|0)==(a[c>>2]|0))if(!w){a[c>>2]=8;f=Q5[a[l+12>>2]&63](96)|0;a[A+20>>2]=f;if(f|0)break;a[c>>2]=0;f=0;break A}else{t=A+20|0;f=m5[a[l+16>>2]&127](a[t>>2]|0,w*24|0)|0;if(!f){f=0;break A}a[c>>2]=w<<1;a[t>>2]=f;break}else f=a[A+20>>2]|0}while(0);l=a[u>>2]|0;a[f+(l*12|0)>>2]=e;a[f+(l*12|0)+8>>2]=n;r[f+(l*12|0)+4>>0]=i;if(!(i<<24>>24))r[e+8>>0]=1;a[u>>2]=(a[u>>2]|0)+1;f=1}}while(0);return f|0}function ob(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;e=A+4|0;r=a[e>>2]|0;do{if(r){f=A+16|0;n=a[f>>2]|0;if(!n){a[A>>2]=r;a[e>>2]=a[r>>2];a[r>>2]=0;s=a[A>>2]|0;e=s+8|0;a[f>>2]=e;a[A+8>>2]=(a[s+4>>2]|0)+(s+8);a[A+12>>2]=e;e=1;break}i=A+8|0;if(((a[i>>2]|0)-n|0)<(a[r+4>>2]|0)){b=a[r>>2]|0;a[r>>2]=a[A>>2];s=a[e>>2]|0;a[A>>2]=s;a[e>>2]=b;e=a[f>>2]|0;y6(s+8|0,e|0,(a[i>>2]|0)-e|0)|0;e=a[A>>2]|0;s=A+12|0;a[s>>2]=(a[s>>2]|0)-(a[f>>2]|0)+(e+8);a[f>>2]=e+8;a[i>>2]=(a[e+4>>2]|0)+(e+8);e=1}else l=6}else l=6}while(0);A:do{if((l|0)==6){r=a[A>>2]|0;b=A+16|0;do{if(!r){t=b;e=a[b>>2]|0}else{c=a[b>>2]|0;e=c;if((c|0)!=(r+8|0)){t=b;break}f=A+8|0;n=(a[f>>2]|0)-e<<1;l=A+12|0;i=(a[l>>2]|0)-e|0;if((n|0)<0){e=0;break A}e=Ob(n)|0;if(!e){e=0;break A}e=m5[a[(a[A+20>>2]|0)+4>>2]&127](r,e)|0;if(!e){e=0;break A}a[A>>2]=e;a[e+4>>2]=n;e=a[A>>2]|0;a[l>>2]=e+8+i;a[b>>2]=e+8;a[f>>2]=e+8+n;e=1;break A}}while(0);c=A+8|0;e=(a[c>>2]|0)-e|0;if((e|0)>=0){if((e|0)>=1024){e=e<<1;if((e|0)<0){e=0;break}}else e=1024;i=Ob(e)|0;if((i|0)!=0?(s=Q5[a[a[A+20>>2]>>2]&63](i)|0,(s|0)!=0):0){a[s+4>>2]=e;a[s>>2]=a[A>>2];a[A>>2]=s;l=A+12|0;A=a[l>>2]|0;r=a[b>>2]|0;i=A;f=r;if((A|0)==(r|0)){n=s+8|0;r=f}else{n=s+8|0;y6(n|0,r|0,i-f|0)|0;r=a[t>>2]|0;i=a[l>>2]|0}a[l>>2]=s+8+(i-r);a[b>>2]=n;a[c>>2]=s+8+e;e=1}else e=0}else e=0}}while(0);return e|0}function hb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0;A=Pb(A,e,i,f,n,l)|0;do{if(!A){e=l+12|0;A=a[e>>2]|0;if((i<<24>>24==0?(a[l+16>>2]|0)!=(A|0):0)?(t=A+-1|0,(r[t>>0]|0)==32):0){a[e>>2]=t;A=t}if((A|0)==(a[l+8>>2]|0)){if(!((ob(l)|0)<<24>>24)){A=1;break}A=a[e>>2]|0}a[e>>2]=A+1;r[A>>0]=0;A=0}}while(0);return A|0}function db(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+16|0;m=D;L=D+4|0;n=a[A+352>>2]|0;W=n+104|0;z=A+272|0;y=a[z>>2]|0;a[z>>2]=1;if((a[W>>2]|0)==0?(ob(W)|0)<<24>>24==0:0)n=1;else{w=e+20|0;u=A+484|0;o=A+144|0;h=A+412|0;d=e+64|0;B=n+132|0;v=A+428|0;g=A+424|0;E=A+224|0;C=A+112|0;s=n+130|0;I=n+128|0;Z=n+131|0;G=A+116|0;Q=n+112|0;c=n+116|0;b=e+40|0;A:while(1){e:do{switch(y5[a[w>>2]&127](e,i,f,m)|0){case-4:{n=0;break A}case-1:{Y=37;break A}case 0:{Y=39;break A}case 28:{if((r[u>>0]|0)==0?(a[o>>2]|0)==(e|0):0){Y=19;break A}n=a[d>>2]|0;n=ab(h,e,i+n|0,(a[m>>2]|0)+(0-n)|0)|0;if(!n){n=1;break A}l=lb(A,B,n,0)|0;a[g>>2]=a[v>>2];if(!l){Y=9;break A}t=l+32|0;if(r[t>>0]|0){Y=11;break A}n=l+16|0;if(!(a[n>>2]|0)){r[t>>0]=1;n=a[l+4>>2]|0;n=db(A,a[E>>2]|0,n,n+(a[l+8>>2]|0)|0)|0;r[t>>0]=0;if(!n)break e;else break A}if(a[C>>2]|0){r[Z>>0]=0;r[t>>0]=1;l=(z5[a[C>>2]&127](a[G>>2]|0,0,a[l+20>>2]|0,a[n>>2]|0,a[l+24>>2]|0)|0)==0;r[t>>0]=0;if(l){n=21;break A}if(r[Z>>0]|0)break e}r[I>>0]=r[s>>0]|0;break}case 6:case 9:{if(!(ub(W,e,i,a[m>>2]|0)|0)){n=1;break A}break}case-3:{a[m>>2]=i+(a[d>>2]|0);Y=22;break}case 7:{Y=22;break}case 10:{n=m5[a[b>>2]&127](e,i)|0;if((n|0)<0){Y=27;break A}l=ds(n,L)|0;i=0;while(1){if((i|0)>=(l|0))break;n=a[c>>2]|0;if((a[Q>>2]|0)==(n|0)){if(!((ob(W)|0)<<24>>24)){n=1;Y=35;break A}n=a[c>>2]|0}t=r[L+i>>0]|0;a[c>>2]=n+1;r[n>>0]=t;i=i+1|0}break}default:{Y=41;break A}}}while(0);if((Y|0)==22){Y=0;n=a[c>>2]|0;if((a[Q>>2]|0)==(n|0)){if(!((ob(W)|0)<<24>>24)){n=1;break}n=a[c>>2]|0}a[c>>2]=n+1;r[n>>0]=10}i=a[m>>2]|0}if((Y|0)==9){r[I>>0]=r[s>>0]|0;n=0}else if((Y|0)==11)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=12}else n=12;else if((Y|0)==19){a[A+284>>2]=i;n=10}else if((Y|0)==27)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=14;Y=35}else{n=14;Y=35}else if((Y|0)==37)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=4}else n=4;else if((Y|0)==39)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=a[m>>2];n=4}else n=4;else if((Y|0)==41)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=23}else n=23;a[z>>2]=y}k=D;return n|0}function Bb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+16|0;w=o;u=o+4|0;a[w>>2]=i;if(!(r[e+68>>0]|0)){if((a[A+144>>2]|0)==(e|0)){n=A+288|0;l=A+284|0}else{l=a[A+296>>2]|0;n=l+4|0}t=A+44|0;c=e+56|0;b=A+48|0;s=A+80|0;i=A+4|0;do{a[u>>2]=a[t>>2];A=z5[a[c>>2]&127](e,w,f,u,a[b>>2]|0)|0;a[n>>2]=a[w>>2];h=a[t>>2]|0;J5[a[s>>2]&127](a[i>>2]|0,h,(a[u>>2]|0)-h|0);a[l>>2]=a[w>>2]}while(A>>>0>1)}else J5[a[A+80>>2]&127](a[A+4>>2]|0,i,f-i|0);k=o;return}function vb(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;c=s;b=a[i>>2]|0;if((a[A+144>>2]|0)==(e|0)){t=A+284|0;a[t>>2]=b;l=A+288|0}else{t=a[A+296>>2]|0;l=t+4|0}a[t>>2]=b;a[i>>2]=0;w=y5[a[e+12>>2]&127](e,b,r,c)|0;r=a[c>>2]|0;a[l>>2]=r;switch(w|0){case 42:{if(a[A+80>>2]|0){Bb(A,e,b,r);r=a[c>>2]|0}a[i>>2]=r;a[f>>2]=r;r=(a[A+476>>2]|0)==2?35:0;break}case 0:{a[t>>2]=r;r=4;break}case-2:{if(!(n<<24>>24))r=6;else{a[f>>2]=b;r=0}break}case-4:case-1:{if(!(n<<24>>24))r=2;else{a[f>>2]=b;r=0}break}default:{a[t>>2]=r;r=23}}k=s;return r|0}function gb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;a[n>>2]=e;e=vb(A,a[A+144>>2]|0,n,i,f,(r[A+480>>0]|0)==0&1)|0;n=a[n>>2]|0;if(!((e|0)!=0|(n|0)==0)){a[A+276>>2]=57;e=ib(A,n,i,f)|0}k=l;return e|0}function Eb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=a[A+352>>2]|0;c=t+184|0;if(!(a[c>>2]|0)){e=Q5[a[A+12>>2]&63](a[A+464>>2]<<2)|0;a[c>>2]=e;if(!e)e=-1;else{a[e>>2]=0;i=4}}else i=4;do{if((i|0)==4){l=t+176|0;e=a[l>>2]|0;n=t+172|0;i=a[n>>2]|0;f=t+164|0;r=a[f>>2]|0;if(e>>>0>>0)n=r;else{if(!r){e=Q5[a[A+12>>2]&63](896)|0;if(!e){e=-1;break}else{i=e;e=32}}else{e=m5[a[A+16>>2]&127](r,i*56|0)|0;if(!e){e=-1;break}i=e;e=a[n>>2]<<1}a[n>>2]=e;a[f>>2]=i;e=a[l>>2]|0;n=i}a[l>>2]=e+1;i=a[t+180>>2]|0;if(i|0){A=a[(a[c>>2]|0)+(i+-1<<2)>>2]|0;f=n+(A*28|0)+16|0;i=a[f>>2]|0;if(i|0)a[n+(i*28|0)+24>>2]=e;i=n+(A*28|0)+20|0;r=a[i>>2]|0;if(!r)a[n+(A*28|0)+12>>2]=e;a[f>>2]=e;a[i>>2]=r+1}c=n+(e*28|0)+12|0;a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0}}while(0);return e|0}function Cb(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;u=A+300|0;f=a[u>>2]|0;if(!f){f=Q5[a[A+12>>2]&63](24)|0;if(!f)f=1;else{s=f;n=4}}else{a[u>>2]=a[f+8>>2];s=f;n=4}do{if((n|0)==4){l=e+32|0;r[l>>0]=1;t=e+12|0;a[t>>2]=0;c=A+296|0;b=s+8|0;a[b>>2]=a[c>>2];a[c>>2]=s;a[s+12>>2]=e;f=A+308|0;a[s+16>>2]=a[f>>2];r[s+20>>0]=i;a[s>>2]=0;a[s+4>>2]=0;n=a[e+4>>2]|0;i=n+(a[e+8>>2]|0)|0;a[w>>2]=n;if(!(r[e+33>>0]|0))f=Lb(A,a[f>>2]|0,a[A+224>>2]|0,n,i,w,0)|0;else{e=A+224|0;f=a[e>>2]|0;f=y5[a[f>>2]&127](f,n,i,w)|0;f=rb(A,a[e>>2]|0,n,i,f,a[w>>2]|0,w,0)|0}if(!f){f=a[w>>2]|0;if((i|0)!=(f|0)?(a[A+476>>2]|0)==3:0){a[t>>2]=f-n;a[A+276>>2]=60;f=0;break}r[l>>0]=0;a[c>>2]=a[b>>2];a[b>>2]=a[u>>2];a[u>>2]=s;f=0}}}while(0);k=o;return f|0}function Ib(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+16|0;i=n+4|0;r=n;e=a[A+352>>2]|0;f=e+176|0;e=Q5[a[A+12>>2]&63](((a[f>>2]|0)*20|0)+(a[e+168>>2]|0)|0)|0;if(!e)e=0;else{a[r>>2]=e+((a[f>>2]|0)*20|0);a[i>>2]=e+20;mb(A,0,e,i,r)}k=n;return e|0}function Zb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=A+64|0;if(!(a[c>>2]|0))if(!(a[A+80>>2]|0))i=1;else{Bb(A,e,i,r);i=1}else{l=e+64|0;n=i+(a[l>>2]<<1)|0;i=n+(m5[a[e+28>>2]&127](e,n)|0)|0;f=A+412|0;n=ab(f,e,n,i)|0;if((n|0)!=0?(a[A+428>>2]=a[A+424>>2],t=m5[a[e+32>>2]&127](e,i)|0,t=ab(f,e,t,r+(0-(a[l>>2]<<1))|0)|0,(t|0)!=0):0){Qb(t);J5[a[c>>2]&127](a[A+4>>2]|0,n,t);nb(f);i=1}else i=0}return i|0}function Gb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;n=A+68|0;if(!(a[n>>2]|0))if(!(a[A+80>>2]|0))e=1;else{Bb(A,e,i,r);e=1}else{f=A+412|0;l=a[e+64>>2]|0;e=ab(f,e,i+(l<<2)|0,r+(U(l,-3)|0)|0)|0;if(!e)e=0;else{Qb(e);V5[a[n>>2]&63](a[A+4>>2]|0,e);nb(f);e=1}}return e|0}function Qb(A){A=A|0;var e=0,i=0,f=0;A:while(1){switch(r[A>>0]|0){case 0:break A;case 13:{i=A;e=13;f=4;break A}default:{}}A=A+1|0}if((f|0)==4){while(1){if(e<<24>>24==13){r[i>>0]=10;f=A+1|0;A=(r[f>>0]|0)==10?A+2|0:f}else{r[i>>0]=e;A=A+1|0}i=i+1|0;e=r[A>>0]|0;if(!(e<<24>>24))break;else f=4}r[i>>0]=0}return}function mb(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=(a[A+352>>2]|0)+164|0;c=a[(a[b>>2]|0)+(e*28|0)>>2]|0;a[i>>2]=c;a[i+4>>2]=a[(a[b>>2]|0)+(e*28|0)+4>>2];if((c|0)==4){a[i+8>>2]=a[n>>2];e=a[(a[b>>2]|0)+(e*28|0)+8>>2]|0;while(1){c=r[e>>0]|0;b=a[n>>2]|0;a[n>>2]=b+1;r[b>>0]=c;if(!(r[e>>0]|0))break;else e=e+1|0}a[i+12>>2]=0;a[i+16>>2]=0}else{l=a[(a[b>>2]|0)+(e*28|0)+20>>2]|0;t=i+12|0;a[t>>2]=l;c=i+16|0;a[c>>2]=a[f>>2];a[f>>2]=(a[f>>2]|0)+(l*20|0);e=(a[b>>2]|0)+(e*28|0)+12|0;l=0;while(1){e=a[e>>2]|0;if(l>>>0>=(a[t>>2]|0)>>>0)break;mb(A,e,(a[c>>2]|0)+(l*20|0)|0,f,n);e=(a[b>>2]|0)+(e*28|0)+24|0;l=l+1|0}a[i+8>>2]=0}return}function Lb(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0,tA=0,cA=0,bA=0,sA=0,wA=0,uA=0;wA=k;k=k+48|0;cA=wA+28|0;fA=wA+32|0;bA=wA+24|0;_=wA;a[cA>>2]=f;q=a[A+352>>2]|0;if((a[A+144>>2]|0)==(i|0)){aA=A+284|0;K=A+288|0}else{K=a[A+296>>2]|0;aA=K;K=K+4|0}a[aA>>2]=f;v=i+4|0;nA=A+80|0;g=A+476|0;E=i+44|0;C=i+64|0;I=q+80|0;Z=q+96|0;G=q+92|0;Q=q+129|0;m=A+112|0;L=A+116|0;W=A+428|0;y=A+424|0;z=A+304|0;Y=A+120|0;lA=A+4|0;D=q+130|0;$=A+60|0;M=A+364|0;F=A+12|0;V=A+360|0;J=i+28|0;tA=A+308|0;AA=i+56|0;N=A+16|0;X=A+52|0;R=A+412|0;H=A+388|0;p=A+56|0;U=A+232|0;x=A+233|0;T=A+468|0;j=A+104|0;S=A+372|0;P=i+40|0;O=A+72|0;eA=i+68|0;iA=A+44|0;rA=A+48|0;A:while(1){B=a[cA>>2]|0;a[fA>>2]=B;B=y5[a[v>>2]&127](i,B,n,fA)|0;f=a[fA>>2]|0;a[K>>2]=f;b=f;e:do{switch(B|0){case-3:{sA=6;break A}case-4:{sA=15;break A}case 0:{sA=20;break A}case-1:{sA=21;break A}case-2:{sA=23;break A}case 12:{f=17;break A}case-5:{sA=134;break A}case 9:{B=a[C>>2]|0;B=(W5[a[E>>2]&63](i,(a[cA>>2]|0)+B|0,b+(0-B)|0)|0)&255;r[bA>>0]=B;do{if(B<<24>>24){f=a[$>>2]|0;if(f|0){J5[f&127](a[lA>>2]|0,bA,1);break}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{c=a[C>>2]|0;c=ab(I,i,(a[cA>>2]|0)+c|0,(a[fA>>2]|0)+(0-c)|0)|0;if(!c){f=1;sA=56;break A}b=lb(A,q,c,0)|0;a[G>>2]=a[Z>>2];if((r[Q>>0]|0)!=0?(r[D>>0]|0)==0:0){if(!b){f=a[Y>>2]|0;if(f|0){J5[f&127](a[lA>>2]|0,c,0);break}if(!(a[nA>>2]|0))break;Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}}else{if(!b){f=11;sA=56;break A}if(!(r[b+34>>0]|0)){f=24;sA=56;break A}}f=b+32|0;if(r[f>>0]|0){f=12;sA=56;break A}if(a[b+28>>2]|0){f=15;sA=56;break A}if(!(a[b+4>>2]|0)){if(!(a[m>>2]|0)){if(!(a[nA>>2]|0))break;Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}r[f>>0]=1;c=yb(A)|0;r[f>>0]=0;if(!c){f=1;sA=56;break A}if(!(z5[a[m>>2]&127](a[L>>2]|0,c,a[b+20>>2]|0,a[b+16>>2]|0,a[b+24>>2]|0)|0)){f=21;sA=56;break A}a[y>>2]=a[W>>2];break}if(r[z>>0]|0){f=Cb(A,b,0)|0;if(!f)break;else{sA=58;break A}}f=a[Y>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else J5[f&127](a[lA>>2]|0,a[b>>2]|0,0);break e}}while(0);break}case 1:case 2:{f=a[M>>2]|0;if(!f){f=Q5[a[F>>2]&63](48)|0;if(!f){f=1;sA=75;break A}c=Q5[a[F>>2]&63](32)|0;a[f+36>>2]=c;if(!c){sA=63;break A}a[f+40>>2]=c+32}else a[M>>2]=a[f>>2];u=f+44|0;a[u>>2]=0;a[f>>2]=a[V>>2];a[V>>2]=f;B=f+12|0;a[f+16>>2]=0;a[f+20>>2]=0;d=(a[cA>>2]|0)+(a[C>>2]|0)|0;h=f+4|0;a[h>>2]=d;o=f+8|0;a[o>>2]=m5[a[J>>2]&127](i,d)|0;a[tA>>2]=(a[tA>>2]|0)+1;h=a[h>>2]|0;o=h+(a[o>>2]|0)|0;a[_>>2]=h;h=f+36|0;a[bA>>2]=a[h>>2];d=f+40|0;c=a[d>>2]|0;while(1){uA=z5[a[AA>>2]&127](i,_,o,bA,c+-1|0)|0;c=a[bA>>2]|0;s=a[h>>2]|0;b=s;w=c-b|0;if((uA|0)==1?1:(a[_>>2]|0)>>>0>=o>>>0)break;b=(a[d>>2]|0)-b<<1;c=m5[a[N>>2]&127](s,b)|0;if(!c){sA=69;break A}a[h>>2]=c;uA=c+b|0;a[d>>2]=uA;a[bA>>2]=c+w;c=uA}a[f+24>>2]=w;a[B>>2]=b;r[c>>0]=0;f=zb(A,i,a[cA>>2]|0,B,u)|0;if(f|0){sA=75;break A}f=a[X>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else J5[f&127](a[lA>>2]|0,a[B>>2]|0,a[H>>2]|0);nb(R);break}case 3:case 4:{uA=(a[cA>>2]|0)+(a[C>>2]|0)|0;a[bA>>2]=0;uA=ab(R,i,uA,uA+(m5[a[J>>2]&127](i,uA)|0)|0)|0;a[_>>2]=uA;if(!uA){f=1;sA=89;break A}a[W>>2]=a[y>>2];f=zb(A,i,a[cA>>2]|0,_,bA)|0;if(f|0){sA=79;break A}a[W>>2]=a[y>>2];f=a[X>>2]|0;if(!f)c=1;else{J5[f&127](a[lA>>2]|0,a[_>>2]|0,a[H>>2]|0);c=0}f=a[p>>2]|0;if(!f){if(c|0?a[nA>>2]|0:0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{if(a[X>>2]|0){a[aA>>2]=a[K>>2];f=a[p>>2]|0}V5[f&63](a[lA>>2]|0,a[_>>2]|0)}nb(R);Yb(A,a[bA>>2]|0);if((a[tA>>2]|0)==0?(a[g>>2]&-2|0)!=2:0){sA=92;break A}break}case 5:{if((a[tA>>2]|0)==(e|0)){f=13;break A}w=a[V>>2]|0;a[V>>2]=a[w>>2];a[w>>2]=a[M>>2];a[M>>2]=w;f=(a[cA>>2]|0)+(a[C>>2]<<1)|0;c=m5[a[J>>2]&127](i,f)|0;if((c|0)!=(a[w+8>>2]|0)){sA=96;break A}if(F4(a[w+4>>2]|0,f,c)|0){sA=96;break A}a[tA>>2]=(a[tA>>2]|0)+-1;f=a[p>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{c=a[w+16>>2]|0;s=w+12|0;if((c|0)!=0&(r[U>>0]|0)!=0){f=(a[s>>2]|0)+(a[w+28>>2]|0)|0;while(1){b=r[c>>0]|0;if(!(b<<24>>24))break;r[f>>0]=b;f=f+1|0;c=c+1|0}c=a[w+20>>2]|0;i:do{if((c|0)!=0&(r[x>>0]|0)!=0){r[f>>0]=r[T>>0]|0;while(1){f=f+1|0;b=r[c>>0]|0;if(!(b<<24>>24))break i;r[f>>0]=b;c=c+1|0}}}while(0);r[f>>0]=0;f=a[p>>2]|0}V5[f&63](a[lA>>2]|0,a[s>>2]|0)}b=w+44|0;while(1){s=a[b>>2]|0;if(!s)break;f=a[j>>2]|0;if(!f){f=s;c=s}else{V5[f&63](a[lA>>2]|0,a[a[s>>2]>>2]|0);f=s;c=a[b>>2]|0}a[b>>2]=a[c+4>>2];a[s+4>>2]=a[S>>2];a[S>>2]=s;a[(a[f>>2]|0)+4>>2]=a[s+8>>2]}if(!(a[tA>>2]|0)){sA=117;break A}break}case 10:{f=m5[a[P>>2]&127](i,a[cA>>2]|0)|0;if((f|0)<0){f=14;break A}c=a[$>>2]|0;if(c|0){B=a[lA>>2]|0;uA=ds(f,bA)|0;J5[c&127](B,bA,uA);break e}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}case 7:{f=a[$>>2]|0;if(f|0){r[bA>>0]=10;J5[f&127](a[lA>>2]|0,bA,1);break e}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b);break}case 8:{f=a[O>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b)}else F5[f&127](a[lA>>2]|0);f=Mb(A,i,fA,n,l,t)|0;if(f|0)break A;if(!(a[fA>>2]|0)){sA=133;break A}break}case 6:{c=a[$>>2]|0;if(!c){if(!(a[nA>>2]|0))break e;Bb(A,i,a[cA>>2]|0,b);break e}if(!(r[eA>>0]|0))f=b;else{uA=a[cA>>2]|0;J5[c&127](a[lA>>2]|0,uA,f-uA|0);break e}while(1){a[bA>>2]=a[iA>>2];uA=z5[a[AA>>2]&127](i,cA,f,bA,a[rA>>2]|0)|0;a[K>>2]=a[cA>>2];B=a[iA>>2]|0;J5[c&127](a[lA>>2]|0,B,(a[bA>>2]|0)-B|0);if(uA>>>0<2)break;a[aA>>2]=a[cA>>2];f=a[fA>>2]|0}break}case 11:{if(!(Zb(A,i,a[cA>>2]|0,b)|0)){f=1;break A}break}case 13:{if(!(Gb(A,i,a[cA>>2]|0,b)|0)){f=1;break A}break}default:if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b)}}while(0);uA=a[fA>>2]|0;a[cA>>2]=uA;a[aA>>2]=uA;switch(a[g>>2]|0){case 2:{f=35;break A}case 3:{sA=160;break A}default:{}}}switch(sA|0){case 6:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}a[K>>2]=n;f=a[$>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,n)}else{r[bA>>0]=10;J5[f&127](a[lA>>2]|0,bA,1)}if(e)if((a[tA>>2]|0)==(e|0)){a[l>>2]=n;f=0}else f=13;else f=3;break}case 15:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}if((e|0)>0)if((a[tA>>2]|0)==(e|0)){a[l>>2]=a[cA>>2];f=0}else f=13;else f=3;break}case 20:{a[aA>>2]=f;f=4;break}case 21:{if(!(t<<24>>24))f=5;else{a[l>>2]=a[cA>>2];f=0}break}case 23:{if(!(t<<24>>24))f=6;else{a[l>>2]=a[cA>>2];f=0}break}case 56:break;case 58:break;case 63:{F5[a[A+20>>2]&127](f);f=1;sA=75;break}case 69:{f=1;sA=75;break}case 79:{Yb(A,a[bA>>2]|0);sA=89;break}case 92:{f=Db(A,a[fA>>2]|0,n,l)|0;break}case 96:{a[aA>>2]=f;f=7;break}case 117:{f=Db(A,a[fA>>2]|0,n,l)|0;break}case 133:{a[A+276>>2]=61;f=0;break}case 134:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}f=a[$>>2]|0;do{if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,n)}else if(!(r[eA>>0]|0)){a[bA>>2]=a[iA>>2];z5[a[AA>>2]&127](i,cA,n,bA,a[rA>>2]|0)|0;uA=a[iA>>2]|0;J5[a[$>>2]&127](a[lA>>2]|0,uA,(a[bA>>2]|0)-uA|0);break}else{uA=a[cA>>2]|0;J5[f&127](a[lA>>2]|0,uA,n-uA|0);break}}while(0);if(!e){a[aA>>2]=n;f=3;break}if((a[tA>>2]|0)==(e|0)){a[l>>2]=n;f=0;break}else{a[aA>>2]=n;f=13;break}}case 160:{a[l>>2]=a[fA>>2];f=0;break}}k=wA;return f|0}function Wb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;h=k;k=k+16|0;o=h;b=A+296|0;s=a[b>>2]|0;do{if(s){w=a[s+12>>2]|0;l=w+4|0;c=a[l>>2]|0;t=w+12|0;n=c+(a[t>>2]|0)|0;c=c+(a[w+8>>2]|0)|0;a[o>>2]=n;u=w+33|0;if(!(r[u>>0]|0))n=Lb(A,a[s+16>>2]|0,a[A+224>>2]|0,n,c,o,0)|0;else{B=A+224|0;d=a[B>>2]|0;d=y5[a[d>>2]&127](d,n,c,o)|0;n=rb(A,a[B>>2]|0,n,c,d,a[o>>2]|0,o,0)|0}if(!n){n=a[o>>2]|0;if((c|0)!=(n|0)?(a[A+476>>2]|0)==3:0){a[t>>2]=n-(a[l>>2]|0);n=0;break}r[w+32>>0]=0;B=s+8|0;a[b>>2]=a[B>>2];n=A+300|0;a[B>>2]=a[n>>2];a[n>>2]=s;n=A+276|0;if(!(r[u>>0]|0)){a[n>>2]=58;n=Lb(A,(a[A+472>>2]|0)!=0&1,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;break}else{a[n>>2]=57;B=A+144|0;n=a[B>>2]|0;n=y5[a[n>>2]&127](n,e,i,o)|0;n=rb(A,a[B>>2]|0,e,i,n,a[o>>2]|0,f,(r[A+480>>0]|0)==0&1)|0;break}}}else n=23}while(0);k=h;return n|0}function yb(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;w=h;s=a[A+352>>2]|0;l=s+156|0;u=A+412|0;o=A+424|0;A:do{if(!(a[l>>2]|0)){e=0;t=A+420|0;b=A+468|0;c=12}else{e=a[o>>2]|0;t=A+420|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=61;n=A+468|0;i=(a[(a[l>>2]|0)+20>>2]|0)+(((r[n>>0]|0)!=0)<<31>>31)|0;f=0;while(1){if((f|0)>=(i|0)){e=1;b=n;c=12;break A}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}b=r[(a[(a[l>>2]|0)+16>>2]|0)+f>>0]|0;a[o>>2]=e+1;r[e>>0]=b;f=f+1|0}}}while(0);A:do{if((c|0)==12){Kc(w,s+60|0);e:while(1){do{i=_c(w)|0;if(!i)break e;l=i+4|0}while(!(a[l>>2]|0));if(e<<24>>24){e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=12}n=a[i>>2]|0;while(1){i=r[n>>0]|0;e=a[o>>2]|0;f=(e|0)==(a[t>>2]|0);if(!(i<<24>>24))break;if(f){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0;i=r[n>>0]|0}a[o>>2]=e+1;r[e>>0]=i;n=n+1|0}if(f){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=61;f=(a[(a[l>>2]|0)+20>>2]|0)+(((r[b>>0]|0)!=0)<<31>>31)|0;i=0;while(1){if((i|0)>=(f|0)){e=1;continue e}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}c=r[(a[(a[l>>2]|0)+16>>2]|0)+i>>0]|0;a[o>>2]=e+1;r[e>>0]=c;i=i+1|0}}Kc(w,s);e:while(1){do{i=_c(w)|0;if(!i)break e}while(!(r[i+32>>0]|0));if(e<<24>>24){e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=12}f=a[i>>2]|0;while(1){i=r[f>>0]|0;if(!(i<<24>>24)){e=1;continue e}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0;i=r[f>>0]|0}a[o>>2]=e+1;r[e>>0]=i;f=f+1|0}}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=0;e=a[A+428>>2]|0}}while(0);k=h;return e|0}function zb(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0;R=k;k=k+80|0;V=R+16|0;J=R;N=a[A+352>>2]|0;b=N+20|0;t=lb(A,b,a[f>>2]|0,0)|0;if(!t){t=Nb(N+80|0,a[f>>2]|0)|0;if((t|0)!=0?(c=lb(A,b,t,24)|0,(c|0)!=0):0)if((r[A+232>>0]|0)!=0?(Xb(A,c)|0)==0:0)t=1;else Q=6;else t=1}else{c=t;Q=6}A:do{if((Q|0)==6){I=a[c+12>>2]|0;b=e+36|0;s=A+376|0;v=A+388|0;g=y5[a[b>>2]&127](e,i,a[s>>2]|0,a[v>>2]|0)|0;t=g+I|0;w=a[s>>2]|0;if((t|0)>(w|0)){t=t+16|0;a[s>>2]=t;t=m5[a[A+16>>2]&127](a[v>>2]|0,t<<4)|0;if(!t){a[s>>2]=w;t=1;break}a[v>>2]=t;if((g|0)>(w|0))y5[a[b>>2]&127](e,i,g,t)|0}F=a[v>>2]|0;d=e+28|0;D=A+412|0;M=A+428|0;C=c+20|0;h=A+424|0;B=0;o=0;b=0;while(1){if((o|0)>=(g|0))break;u=a[(a[v>>2]|0)+(o<<4)>>2]|0;u=sb(A,e,u,u+(m5[a[d>>2]&127](e,u)|0)|0)|0;if(!u){t=1;break A}t=(a[u>>2]|0)+-1|0;if(r[t>>0]|0){Q=15;break}r[t>>0]=1;i=B+1|0;a[F+(B<<2)>>2]=a[u>>2];w=a[v>>2]|0;if(r[w+(o<<4)+12>>0]|0){Y=ab(D,e,a[w+(o<<4)+4>>2]|0,a[w+(o<<4)+8>>2]|0)|0;a[F+(i<<2)>>2]=Y;if(!Y){t=1;break A}}else{e:do{if(!(r[u+8>>0]|0))t=1;else{t=0;while(1){if((t|0)>=(I|0)){t=1;break e}s=a[C>>2]|0;if((u|0)==(a[s+(t*12|0)>>2]|0))break;t=t+1|0}t=r[s+(t*12|0)+4>>0]|0}}while(0);t=hb(A,e,t,a[w+(o<<4)+4>>2]|0,a[w+(o<<4)+8>>2]|0,D)|0;if(t|0)break A;a[F+(i<<2)>>2]=a[M>>2]}a[M>>2]=a[h>>2];t=a[u+4>>2]|0;do{if(t)if(r[u+9>>0]|0){t=Rb(A,t,u,a[F+(i<<2)>>2]|0,l)|0;if(!t){t=B;break}else break A}else{r[(a[u>>2]|0)+-1>>0]=2;b=b+1|0;t=B+2|0;break}else t=B+2|0}while(0);B=t;o=o+1|0}if((Q|0)==15){if((a[A+144>>2]|0)!=(e|0)){t=8;break}a[A+284>>2]=a[(a[v>>2]|0)+(o<<4)>>2];t=8;break}a[A+380>>2]=B;t=a[c+8>>2]|0;e:do{if((t|0)!=0?(E=a[t>>2]|0,(r[E+-1>>0]|0)!=0):0){t=0;while(1){if((t|0)>=(B|0)){i=0;o=b;Y=B;break e}if((a[F+(t<<2)>>2]|0)==(E|0)){Q=37;break e}t=t+2|0}}else{t=-1;Q=37}}while(0);if((Q|0)==37){a[A+384>>2]=t;i=0;o=b;Y=B}while(1){if((i|0)>=(I|0))break;t=a[C>>2]|0;w=t+(i*12|0)|0;b=a[w>>2]|0;s=(a[b>>2]|0)+-1|0;e:do{if((r[s>>0]|0)==0?(Z=t+(i*12|0)+8|0,G=a[Z>>2]|0,(G|0)!=0):0){t=a[b+4>>2]|0;do{if(t)if(r[b+9>>0]|0){t=Rb(A,t,b,G,l)|0;if(!t){t=o;b=Y;break e}else break A}else{r[s>>0]=2;t=o+1|0;break}else{r[s>>0]=1;t=o}}while(0);a[F+(Y<<2)>>2]=a[a[w>>2]>>2];a[F+(Y+1<<2)>>2]=a[Z>>2];b=Y+2|0}else{t=o;b=Y}}while(0);i=i+1|0;o=t;Y=b}a[F+(Y<<2)>>2]=0;e:do{if(!o)t=0;else{u=A+396|0;w=a[u>>2]|0;z=A+400|0;i=r[z>>0]|0;t=i&255;do{if(!(o<<1>>t)){t=1<>24}while((o>>(y&255)|0)!=0);t=(t&255)>3?t:3;r[z>>0]=t;t=t&255;s=A+392|0;b=m5[a[A+16>>2]&127](a[s>>2]|0,12<>0]=i;t=1;break A}else{a[s>>2]=b;b=1<>2]|0)+(y*12|0)>>2]=-1;t=y}}}while(0);y=t+-1|0;a[u>>2]=y;C=N+40|0;I=A+424|0;Z=A+420|0;G=b+-1|0;Q=0-b|0;m=G>>>2;L=A+233|0;W=A+468|0;t=0;E=o;i:while(1){while(1){if((t|0)>=(Y|0))break e;e=F+(t<<2)|0;w=a[e>>2]|0;i=w+-1|0;if((r[i>>0]|0)==2)break;r[i>>0]=0;t=t+2|0}Hb(A,J);pb(V,J);r[i>>0]=0;i=lb(A,C,w,0)|0;if(!i){t=1;break}i=a[i+4>>2]|0;if(!i){t=1;break}g=a[i+4>>2]|0;if(!g){t=27;break}h=g+20|0;d=g+16|0;o=0;while(1){i=a[h>>2]|0;u=a[d>>2]|0;if((o|0)>=(i|0))break;u=r[u+o>>0]|0;i=a[I>>2]|0;if((i|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}i=a[I>>2]|0}a[I>>2]=i+1;r[i>>0]=u;o=o+1|0}Ub(V,u,i);do{v=w;w=w+1|0}while((r[v>>0]|0)!=58);Ub(V,w,xb(w)|0);while(1){i=a[I>>2]|0;if((i|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}i=a[I>>2]|0}v=r[w>>0]|0;a[I>>2]=i+1;r[i>>0]=v;if(!(r[w>>0]|0))break;else w=w+1|0}v=Tb(V)|0;h=a[s>>2]|0;d=v&Q;w=0;B=G&v;while(1){if((a[h+(B*12|0)>>2]|0)!=(y|0))break;if((a[h+(B*12|0)+4>>2]|0)==(v|0)){i=a[h+(B*12|0)+8>>2]|0;u=a[M>>2]|0;while(1){H=r[u>>0]|0;o=H<<24>>24==0;if(o|H<<24>>24!=(r[i>>0]|0))break;i=i+1|0;u=u+1|0}if(o){t=8;break i}}if(!(w<<24>>24))w=(d>>>((n[z>>0]|0)+-1|0)&m|1)&255;H=w&255;B=B+((B|0)<(H|0)?b:0)-H|0}if(r[L>>0]|0){r[(a[I>>2]|0)+-1>>0]=r[W>>0]|0;i=a[a[g>>2]>>2]|0;while(1){w=a[I>>2]|0;if((w|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}w=a[I>>2]|0}H=r[i>>0]|0;a[I>>2]=w+1;r[w>>0]=H;if(!(r[i>>0]|0))break;else i=i+1|0}}H=a[M>>2]|0;a[M>>2]=a[I>>2];a[e>>2]=H;a[(a[s>>2]|0)+(B*12|0)>>2]=y;a[(a[s>>2]|0)+(B*12|0)+4>>2]=v;a[(a[s>>2]|0)+(B*12|0)+8>>2]=H;E=E+-1|0;t=t+2|0;if(!E)break e}break A}}while(0);while(1){if((t|0)>=(Y|0)){t=l;break}r[(a[F+(t<<2)>>2]|0)+-1>>0]=0;t=t+2|0}while(1){t=a[t>>2]|0;if(!t)break;r[(a[a[t+12>>2]>>2]|0)+-1>>0]=0;t=t+4|0}if(!(r[A+232>>0]|0))t=0;else{t=a[c+4>>2]|0;if(!t){t=a[N+156>>2]|0;if(!t){t=0;break}b=a[f>>2]|0}else{t=a[t+4>>2]|0;if(!t){t=27;break}c=a[f>>2]|0;while(1){b=c+1|0;if((r[c>>0]|0)==58)break;else c=b}}if((r[A+233>>0]|0)!=0?(X=a[a[t>>2]>>2]|0,(X|0)!=0):0){c=0;while(1){s=c+1|0;if(!(r[X+c>>0]|0))break;else c=s}}else s=0;a[f+4>>2]=b;o=t+20|0;a[f+16>>2]=a[o>>2];a[f+8>>2]=a[a[t>>2]>>2];a[f+20>>2]=s;h=0;while(1){d=h+1|0;if(!(r[b+h>>0]|0))break;else h=d}c=a[o>>2]|0;w=d+s+c|0;i=t+24|0;if((w|0)>(a[i>>2]|0)){c=w+24|0;u=Q5[a[A+12>>2]&63](c)|0;if(!u){t=1;break}a[i>>2]=c;i=t+16|0;y6(u|0,a[i>>2]|0,a[o>>2]|0)|0;c=A+360|0;while(1){c=a[c>>2]|0;if(!c)break;w=c+12|0;if((a[w>>2]|0)==(a[i>>2]|0))a[w>>2]=u}F5[a[A+20>>2]&127](a[i>>2]|0);a[i>>2]=u;w=u;c=a[o>>2]|0}else{w=t+16|0;i=w;w=a[w>>2]|0}c=w+c|0;y6(c|0,b|0,d|0)|0;if(s|0){H=c+h|0;r[H>>0]=r[A+468>>0]|0;y6(H+1|0,a[a[t>>2]>>2]|0,s|0)|0}a[f>>2]=a[i>>2];t=0}}}while(0);k=R;return t|0}function Yb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;r=A+104|0;f=A+372|0;i=A+4|0;while(1){if(!e)break;A=a[r>>2]|0;if(!A)A=e;else{V5[A&63](a[i>>2]|0,a[a[e>>2]>>2]|0);A=e}l=e+4|0;n=a[l>>2]|0;a[l>>2]=a[f>>2];a[f>>2]=e;a[(a[A>>2]|0)+4>>2]=a[e+8>>2];e=n}return}function Db(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;h=k;k=k+16|0;c=h;a[A+276>>2]=62;b=A+284|0;a[b>>2]=e;s=A+144|0;w=A+288|0;u=A+80|0;t=A+476|0;n=e;A:while(1){a[c>>2]=0;d=a[s>>2]|0;d=y5[a[d>>2]&127](d,n,i,c)|0;e=a[c>>2]|0;a[w>>2]=e;l=e;switch(d|0){case-15:{o=3;break A}case-4:{o=7;break A}case 0:{o=12;break A}case-1:{o=13;break A}case-2:{o=15;break A}case 15:{if(a[u>>2]|0)Bb(A,a[s>>2]|0,n,l);break}case 11:{if(!(Zb(A,a[s>>2]|0,n,l)|0)){e=1;break A}break}case 13:{if(!(Gb(A,a[s>>2]|0,n,l)|0)){e=1;break A}break}default:{e=9;break A}}e=a[c>>2]|0;a[b>>2]=e;switch(a[t>>2]|0){case 2:{e=35;break A}case 3:{o=18;break A}default:{}}n=e}do{if((o|0)==3){if(a[u>>2]|0){Bb(A,a[s>>2]|0,n,l);if((a[t>>2]|0)==2){e=35;break}e=a[c>>2]|0}a[f>>2]=e;e=0}else if((o|0)==7){a[f>>2]=n;e=0}else if((o|0)==12){a[b>>2]=e;e=4}else if((o|0)==13)if(!(r[A+480>>0]|0)){a[f>>2]=n;e=0}else e=5;else if((o|0)==15)if(!(r[A+480>>0]|0)){a[f>>2]=n;e=0}else e=6;else if((o|0)==18){a[f>>2]=e;e=0}}while(0);k=h;return e|0}function Mb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;m=k;k=k+16|0;Z=m+8|0;G=m+4|0;I=m;t=a[i>>2]|0;a[Z>>2]=t;if((a[A+144>>2]|0)==(e|0)){B=A+284|0;a[B>>2]=t;v=A+288|0}else{v=a[A+296>>2]|0;B=v;v=v+4|0}a[B>>2]=t;a[i>>2]=0;b=e+8|0;s=A+60|0;g=A+80|0;E=A+4|0;C=A+476|0;w=e+68|0;u=A+44|0;o=e+56|0;h=A+48|0;A:while(1){c=y5[a[b>>2]&127](e,a[Z>>2]|0,f,G)|0;t=a[G>>2]|0;a[v>>2]=t;d=t;e:do{switch(c|0){case 40:{Q=6;break A}case 0:{Q=23;break A}case-2:{Q=24;break A}case-4:case-1:{Q=26;break A}case 7:{t=a[s>>2]|0;if(t|0){r[I>>0]=10;J5[t&127](a[E>>2]|0,I,1);break e}if(a[g>>2]|0)Bb(A,e,a[Z>>2]|0,d);break}case 6:{c=a[s>>2]|0;if(!c){if(!(a[g>>2]|0))break e;Bb(A,e,a[Z>>2]|0,d);break e}if(!(r[w>>0]|0))t=d;else{d=a[Z>>2]|0;J5[c&127](a[E>>2]|0,d,t-d|0);break e}while(1){a[I>>2]=a[u>>2];d=z5[a[o>>2]&127](e,Z,t,I,a[h>>2]|0)|0;a[v>>2]=a[G>>2];t=a[u>>2]|0;J5[c&127](a[E>>2]|0,t,(a[I>>2]|0)-t|0);if(d>>>0<2)break;a[B>>2]=a[Z>>2];t=a[G>>2]|0}break}default:{Q=28;break A}}}while(0);d=a[G>>2]|0;a[Z>>2]=d;a[B>>2]=d;switch(a[C>>2]|0){case 3:{Q=30;break A}case 2:{t=35;break A}default:{}}}if((Q|0)==6){t=a[A+76>>2]|0;if(!t){if(a[g>>2]|0)Bb(A,e,a[Z>>2]|0,d)}else F5[t&127](a[E>>2]|0);t=a[G>>2]|0;a[i>>2]=t;a[n>>2]=t;t=(a[C>>2]|0)==2?35:0}else if((Q|0)==23){a[B>>2]=t;t=4}else if((Q|0)==24)if(!(l<<24>>24))t=6;else{a[n>>2]=a[Z>>2];t=0}else if((Q|0)==26)if(!(l<<24>>24))t=20;else{a[n>>2]=a[Z>>2];t=0}else if((Q|0)==28){a[B>>2]=t;t=23}else if((Q|0)==30){a[n>>2]=a[G>>2];t=0}k=m;return t|0}function Fb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;a[n>>2]=e;e=Mb(A,a[A+144>>2]|0,n,i,f,(r[A+480>>0]|0)==0&1)|0;n=a[n>>2]|0;do{if(!((e|0)!=0|(n|0)==0)){e=A+276|0;if(!(a[A+472>>2]|0)){a[e>>2]=58;e=cb(A,n,i,f)|0;break}else{a[e>>2]=63;e=Vb(A,n,i,f)|0;break}}}while(0);k=l;return e|0}function Vb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;e=Lb(A,1,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;if((e|0)==0?(Jb(A)|0)<<24>>24==0:0)e=1;return e|0}function Jb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=A+16|0;A=A+360|0;while(1){A=a[A>>2]|0;if(!A){A=1;break}t=(a[A+24>>2]|0)+1|0;c=A+36|0;f=a[c>>2]|0;r=f+t|0;s=A+4|0;i=a[s>>2]|0;if((i|0)==(r|0)){A=1;break}b=A+8|0;e=a[b>>2]|0;n=e+t|0;l=A+40|0;if((n|0)>((a[l>>2]|0)-f|0)){r=m5[a[w>>2]&127](f,n)|0;if(!r){A=0;break}e=A+12|0;f=a[c>>2]|0;if((a[e>>2]|0)==(f|0))a[e>>2]=r;e=A+16|0;i=a[e>>2]|0;if(i|0)a[e>>2]=r+(i-f);a[c>>2]=r;a[l>>2]=r+n;r=r+t|0;i=a[s>>2]|0;e=a[b>>2]|0}y6(r|0,i|0,e|0)|0;a[s>>2]=r}return A|0}function Nb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=A+12|0;n=A+8|0;while(1){i=a[f>>2]|0;if((i|0)==(a[n>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}i=a[f>>2]|0}t=r[e>>0]|0;a[f>>2]=i+1;r[i>>0]=t;if(!(r[e>>0]|0)){l=6;break}else e=e+1|0}if((l|0)==6){t=A+16|0;e=a[t>>2]|0;a[t>>2]=a[f>>2]}return e|0}function Xb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=a[A+352>>2]|0;c=u+80|0;b=u+92|0;s=u+88|0;w=u+60|0;u=u+96|0;t=e+4|0;l=a[e>>2]|0;A:while(1){switch(r[l>>0]|0){case 0:{i=1;break A}case 58:{n=a[e>>2]|0;while(1){i=a[b>>2]|0;f=(i|0)==(a[s>>2]|0);if((n|0)==(l|0))break;if(f){if(!((ob(c)|0)<<24>>24)){i=0;break A}i=a[b>>2]|0}f=r[n>>0]|0;a[b>>2]=i+1;r[i>>0]=f;n=n+1|0}if(f){if(!((ob(c)|0)<<24>>24)){i=0;break A}i=a[b>>2]|0}a[b>>2]=i+1;r[i>>0]=0;i=lb(A,w,a[u>>2]|0,8)|0;if(!i){i=0;break A}f=a[u>>2]|0;if((a[i>>2]|0)==(f|0))a[u>>2]=a[b>>2];else a[b>>2]=f;a[t>>2]=i;break}default:{}}l=l+1|0}return i|0}function Rb(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;b=r[f>>0]|0;t=a[e>>2]|0;l=(t|0)==0;do{if(!(b<<24>>24))if(l){w=0;c=11}else l=28;else if(((!l?(r[t>>0]|0)==120:0)?(r[t+1>>0]|0)==109:0)?(r[t+2>>0]|0)==108:0){l=r[t+3>>0]|0;if((l<<24>>24==110?(r[t+4>>0]|0)==115:0)?(r[t+5>>0]|0)==0:0){l=39;break}w=l<<24>>24==0&1;c=11}else{w=0;c=11}}while(0);A:do{if((c|0)==11){s=w<<24>>24!=0;l=1;t=1;u=0;while(1){c=t<<24>>24!=0;if(!(b<<24>>24))break;do{if(c){if((u|0)<=36?b<<24>>24==(r[142257+u>>0]|0):0)break;t=0}else t=0}while(0);do{if(!(s|l<<24>>24==0)){if((u|0)<=29?b<<24>>24==(r[142294+u>>0]|0):0)break;l=0}}while(0);b=u+1|0;u=b;b=r[f+b>>0]|0}if((w&255|0)!=(c&(u|0)==36&1|0)){l=s?38:40;break}if(!(l<<24>>24!=0&(u|0)==29)){k=A+468|0;u=u+((r[k>>0]|0)!=0&1)|0;l=A+372|0;c=a[l>>2]|0;do{if(!c){l=A+12|0;t=Q5[a[l>>2]&63](28)|0;if(!t){l=1;break A}c=u+24|0;w=Q5[a[l>>2]&63](c)|0;a[t+16>>2]=w;if(!w){F5[a[A+20>>2]&127](t);l=1;break A}else{a[t+24>>2]=c;c=t;break}}else{t=c+24|0;if((u|0)>(a[t>>2]|0)){b=c+16|0;s=u+24|0;w=m5[a[A+16>>2]&127](a[b>>2]|0,s)|0;if(!w){l=1;break A}a[b>>2]=w;a[t>>2]=s}a[l>>2]=a[c+4>>2]}}while(0);a[c+20>>2]=u;t=c+16|0;y6(a[t>>2]|0,f|0,u|0)|0;l=r[k>>0]|0;if(l<<24>>24)r[(a[t>>2]|0)+(u+-1)>>0]=l;a[c>>2]=e;a[c+12>>2]=i;t=e+4|0;a[c+8>>2]=a[t>>2];if((r[f>>0]|0)==0?((a[A+352>>2]|0)+152|0)==(e|0):0)l=0;else l=c;a[t>>2]=l;a[c+4>>2]=a[n>>2];a[n>>2]=c;if((i|0)!=0?(o=a[A+100>>2]|0,(o|0)!=0):0){J5[o&127](a[A+4>>2]|0,a[e>>2]|0,a[t>>2]|0?f:0);l=0}else l=0}else l=40}}while(0);return l|0}function Hb(A,e){A=A|0;e=e|0;var i=0;i=e;a[i>>2]=0;a[i+4>>2]=0;e=e+8|0;a[e>>2]=Sb(A)|0;a[e+4>>2]=0;return}function pb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=e;n=a[i+4>>2]^1936682341;r=A;a[r>>2]=a[i>>2]^1886610805;a[r+4>>2]=n;r=e+8|0;n=r;i=a[n+4>>2]^1685025377;f=A+8|0;a[f>>2]=a[n>>2]^1852075885;a[f+4>>2]=i;f=e;e=a[f+4>>2]^1819895653;i=A+16|0;a[i>>2]=a[f>>2]^1852142177;a[i+4>>2]=e;i=a[r+4>>2]^1952801890;e=A+24|0;a[e>>2]=a[r>>2]^2037671283;a[e+4>>2]=i;a[A+40>>2]=A+32;e=A+48|0;a[e>>2]=0;a[e+4>>2]=0;return}function Ub(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;u=e+i|0;k=A+40|0;o=A+40|0;h=A+32|0;d=A+33|0;B=A+34|0;v=A+35|0;l=A+36|0;t=A+37|0;c=A+38|0;b=A+39|0;s=A+24|0;w=A+48|0;i=e;do{while(1){f=a[k>>2]|0;if(i>>>0>=u>>>0){e=0;break}if(f>>>0>=o>>>0){e=1;break}e=r[i>>0]|0;a[k>>2]=f+1;r[f>>0]=e;i=i+1|0}if(f>>>0>>0)break;G=n[h>>0]|0;Q=G6(n[d>>0]|0|0,0,8)|0;f=L;Z=G6(n[B>>0]|0|0,0,16)|0;f=f|L;C=G6(n[v>>0]|0|0,0,24)|0;f=f|L|(n[l>>0]|0);g=G6(n[t>>0]|0|0,0,40)|0;f=f|L;I=G6(n[c>>0]|0|0,0,48)|0;f=f|L;E=G6(n[b>>0]|0|0,0,56)|0;E=Q|G|Z|C|g|I|E;f=f|L;I=s;g=f^a[I+4>>2];C=s;a[C>>2]=E^a[I>>2];a[C+4>>2]=g;jb(A,2);C=A;f=a[C+4>>2]^f;g=A;a[g>>2]=a[C>>2]^E;a[g+4>>2]=f;a[k>>2]=h;g=w;g=d6(a[g>>2]|0,a[g+4>>2]|0,8,0)|0;f=w;a[f>>2]=g;a[f+4>>2]=L}while(e);return}function xb(A){A=A|0;var e=0;e=0;while(1){if(!(r[A>>0]|0))break;e=e+1|0;A=A+1|0}return e|0}function Tb(A){A=A|0;var e=0,i=0,r=0,f=0,l=0,t=0;r=A+32|0;l=(a[A+40>>2]|0)-r|0;i=A+48|0;i=d6(a[i>>2]|0,a[i+4>>2]|0,l|0,0)|0;i=G6(i|0,L|0,56)|0;e=L;switch(l<<24>>24|0){case 7:{i=G6(n[A+38>>0]|0|0,0,48)|0|i;e=L|e;f=3;break}case 6:{f=3;break}case 5:{f=4;break}case 4:{f=5;break}case 3:{f=6;break}case 2:{f=7;break}case 1:{f=8;break}default:{}}if((f|0)==3){l=G6(n[A+37>>0]|0|0,0,40)|0;i=l|i;e=L|e;f=4}if((f|0)==4){e=n[A+36>>0]|0|e;f=5}if((f|0)==5){l=G6(n[A+35>>0]|0|0,0,24)|0;i=l|i;e=L|e;f=6}if((f|0)==6){l=G6(n[A+34>>0]|0|0,0,16)|0;i=l|i;e=L|e;f=7}if((f|0)==7){l=G6(n[A+33>>0]|0|0,0,8)|0;e=L|e;i=l|i;f=8}if((f|0)==8)i=i|(n[r>>0]|0);l=A+24|0;t=l;f=a[t+4>>2]^e;r=l;a[r>>2]=a[t>>2]^i;a[r+4>>2]=f;jb(A,2);r=A;e=a[r+4>>2]^e;f=A;a[f>>2]=a[r>>2]^i;a[f+4>>2]=e;f=A+16|0;e=f;i=a[e+4>>2]|0;r=f;a[r>>2]=a[e>>2]^255;a[r+4>>2]=i;jb(A,4);r=A;A=A+8|0;L=a[A+4>>2]^a[r+4>>2]^a[f+4>>2]^a[l+4>>2];return a[A>>2]^a[r>>2]^a[f>>2]^a[l>>2]|0}function jb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;r=A+8|0;f=A+24|0;n=A+16|0;i=0;while(1){if((i|0)>=(e|0))break;l=r;u=a[l>>2]|0;l=a[l+4>>2]|0;k=A;k=d6(a[k>>2]|0,a[k+4>>2]|0,u|0,l|0)|0;b=L;w=G6(u|0,l|0,13)|0;s=L;l=Z6(u|0,l|0,51)|0;l=(w|l)^k;s=(s|L)^b;w=f;u=a[w>>2]|0;w=a[w+4>>2]|0;c=n;c=d6(a[c>>2]|0,a[c+4>>2]|0,u|0,w|0)|0;t=L;h=G6(u|0,w|0,16)|0;o=L;w=Z6(u|0,w|0,48)|0;w=(h|w)^c;o=(o|L)^t;k=d6(b|0,k|0,w|0,o|0)|0;b=L;h=A;a[h>>2]=k;a[h+4>>2]=b;h=G6(w|0,o|0,21)|0;u=L;o=Z6(w|0,o|0,43)|0;w=f;a[w>>2]=(h|o)^k;a[w+4>>2]=(u|L)^b;t=d6(c|0,t|0,l|0,s|0)|0;c=L;w=G6(l|0,s|0,17)|0;b=L;s=Z6(l|0,s|0,47)|0;l=r;a[l>>2]=(w|s)^t;a[l+4>>2]=(b|L)^c;l=n;a[l>>2]=c;a[l+4>>2]=t;i=i+1|0}return}function Sb(A){A=A|0;var e=0;while(1){e=a[A+472>>2]|0;if(!e)break;else A=e}return a[A+492>>2]|0}function Pb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;J=k;k=k+16|0;M=J;F=J+4|0;V=a[A+352>>2]|0;u=e+16|0;o=e+40|0;h=A+144|0;d=A+284|0;B=i<<24>>24==0;v=l+12|0;E=l+16|0;C=l+8|0;I=e+44|0;Z=e+64|0;G=A+436|0;Q=A+452|0;m=A+448|0;L=(V+80|0)==(l|0);W=A+268|0;y=V+130|0;z=V+129|0;Y=A+296|0;D=A+224|0;t=0;A:while(1){e:while(1){switch(y5[a[u>>2]&127](e,f,n,M)|0){case-4:{t=0;w=61;break A}case 0:{w=4;break A}case-1:{w=6;break A}case 6:{w=21;break e}case-3:{w=22;break e}case 7:case 39:{w=23;break e}case 10:{c=m5[a[o>>2]&127](e,f)|0;i:do{if((c|0)<0)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;c=1;t=14}else{c=1;t=14}else{if(B&(c|0)==32){b=a[v>>2]|0;if((a[E>>2]|0)==(b|0)){c=4;break}if((r[b+-1>>0]|0)==32){c=4;break}}s=ds(c,F)|0;b=0;while(1){if((b|0)>=(s|0)){c=0;break i}c=a[v>>2]|0;if((c|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){c=1;t=1;break i}c=a[v>>2]|0}N=r[F+b>>0]|0;a[v>>2]=c+1;r[c>>0]=N;b=b+1|0}}}while(0);switch(c&7){case 4:case 0:break e;default:{}}break}case 9:{c=a[Z>>2]|0;c=(W5[a[I>>2]&63](e,f+c|0,(a[M>>2]|0)+(0-c)|0)|0)&255;if(c<<24>>24){w=31;break e}c=a[Z>>2]|0;c=ab(G,e,f+c|0,(a[M>>2]|0)+(0-c)|0)|0;if(!c){t=1;w=61;break A}s=lb(A,V,c,0)|0;a[m>>2]=a[Q>>2];do{if(L){if(!(a[W>>2]|0))if(!s)break e;else break;if(!(r[y>>0]|0)){c=(s|0)!=0;if(!(r[z>>0]|0)){w=45;break}else{g=c;w=47;break}}else{c=(s|0)!=0;if(!(a[Y>>2]|0)){w=45;break}else{g=c;w=47;break}}}else if(!(r[z>>0]|0))if(!s){t=11;w=61;break A}else{w=46;break}else{c=(s|0)!=0;if(!(r[y>>0]|0)){g=c;w=47;break}else{w=45;break}}}while(0);if((w|0)==45)if(c)w=46;else{t=11;w=61;break A}else if((w|0)==47?(w=0,!g):0)break e;if((w|0)==46?(w=0,(r[s+34>>0]|0)==0):0){t=24;w=61;break A}b=s+32|0;if(r[b>>0]|0){w=49;break A}if(a[s+28>>2]|0){w=52;break A}c=a[s+4>>2]|0;if(!c){w=55;break A}s=c+(a[s+8>>2]|0)|0;r[b>>0]=1;s=Pb(A,a[D>>2]|0,i,c,s,l)|0;r[b>>0]=0;c=(s|0)==0;if(c)break e;else{c=(c^1)&1;t=s}break}default:{w=58;break A}}if(c)break A}if((w|0)==21){w=0;if(!(ub(l,e,f,a[M>>2]|0)|0)){t=1;w=61;break}}else if((w|0)==22){a[M>>2]=f+(a[Z>>2]|0);w=23}else if((w|0)==31){w=0;f=a[v>>2]|0;if((f|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){t=1;w=61;break}f=a[v>>2]|0}a[v>>2]=f+1;r[f>>0]=c}do{if((w|0)==23){w=0;f=a[v>>2]|0;if(B){if((a[E>>2]|0)==(f|0))break;if((r[f+-1>>0]|0)==32)break}if((f|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){t=1;w=61;break A}f=a[v>>2]|0}a[v>>2]=f+1;r[f>>0]=32}}while(0);f=a[M>>2]|0}if((w|0)==4)if((a[h>>2]|0)==(e|0)){a[d>>2]=a[M>>2];t=4;w=61}else{t=4;w=61}else if((w|0)==6)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=4;w=61}else{t=4;w=61}else if((w|0)==49)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=12;w=61}else{t=12;w=61}else if((w|0)==52)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=15;w=61}else{t=15;w=61}else if((w|0)==55)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=16;w=61}else{t=16;w=61}else if((w|0)==58)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=23;w=61}else{t=23;w=61}k=J;return t|0}function Ob(A){A=A|0;var e=0;e=A+8|0;return((A|0)<1?0:(e|0)>0?e:0)|0}function Kb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+80|0;r=i+16|0;f=i;Hb(A,f);pb(r,f);Ub(r,e,xb(e)|0);e=Tb(r)|0;k=i;return e|0}function _b(A,e){A=A|0;e=e|0;var i=0;while(1){i=r[A>>0]|0;if(i<<24>>24!=(r[e>>0]|0)){e=0;break}if(!(i<<24>>24)){e=1;break}e=e+1|0;A=A+1|0}return e|0}function qb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+1040|0;t=b;f=a[A+124>>2]|0;A:do{if(!f)i=18;else{i=0;while(1){if((i|0)==256)break;a[t+(i<<2)>>2]=-1;i=i+1|0}n=t+1028|0;a[n>>2]=0;c=t+1024|0;a[c>>2]=0;l=t+1032|0;a[l>>2]=0;do{if(W5[f&63](a[A+244>>2]|0,e,t)|0){f=a[A+12>>2]|0;i=Bs()|0;i=Q5[f&63](i)|0;a[A+236>>2]=i;if(!i){i=a[l>>2]|0;if(!i)i=1;else{F5[i&127](a[c>>2]|0);i=1}}else{i=y5[(r[A+232>>0]<<24>>24?65:64)&127](i,t,a[n>>2]|0,a[c>>2]|0)|0;if(!i)break;a[A+240>>2]=a[c>>2];a[A+248>>2]=a[l>>2];a[A+144>>2]=i;i=0}break A}}while(0);i=a[l>>2]|0;if(i|0)F5[i&127](a[c>>2]|0);i=18}}while(0);k=b;return i|0}function $b(A,e){A=A|0;e=e|0;r[A+4>>0]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A>>2]=0;a[A+16>>2]=e;return}function As(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;s=a[A+352>>2]|0;w=A+424|0;u=A+420|0;k=A+412|0;o=A+428|0;h=s+152|0;d=A+368|0;c=s+60|0;b=s+80|0;A:while(1){l=e;e:while(1){if(!(r[e>>0]|0)){e=1;break A}f=r[l>>0]|0;switch(f<<24>>24){case 0:case 12:{B=5;break e}case 61:break e;default:{}}i=a[w>>2]|0;if((i|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break A}i=a[w>>2]|0;f=r[l>>0]|0}a[w>>2]=i+1;r[i>>0]=f;l=l+1|0}if((B|0)==5){B=0;e=a[w>>2]|0;if((e|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;e=lb(A,s,a[o>>2]|0,0)|0;if(e|0)r[e+32>>0]=1;e=(r[l>>0]|0)==0?l:l+1|0;a[w>>2]=a[o>>2];continue}e=a[w>>2]|0;if((a[o>>2]|0)==(e|0))f=h;else{if((e|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;f=lb(A,c,a[o>>2]|0,8)|0;if(!f){e=0;break}i=a[f>>2]|0;t=a[o>>2]|0;e=t;if((i|0)==(t|0)){t=Nb(b,i)|0;a[f>>2]=t;if(!t){e=0;break}e=a[o>>2]|0}a[w>>2]=e}e:while(1){t=l+1|0;i=r[t>>0]|0;n=(e|0)==(a[u>>2]|0);switch(i<<24>>24){case 0:case 12:break e;default:{}}if(n){if(!((ob(k)|0)<<24>>24)){e=0;break A}e=a[w>>2]|0;i=r[t>>0]|0}a[w>>2]=e+1;r[e>>0]=i;l=t;e=a[w>>2]|0}if(n){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;if(Rb(A,f,0,a[o>>2]|0,d)|0){e=0;break}a[w>>2]=a[o>>2];e=(r[t>>0]|0)==0?t:l+2|0}return e|0}function es(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0?(i=A+4|0,r=(a[i>>2]|0)==(a[A>>2]|0),a[A>>2]=e,r):0)a[i>>2]=e;return}function is(A,e,i){A=A|0;e=e|0;i=i|0;if(A|0){a[A+52>>2]=e;a[A+56>>2]=i}return}function rs(A,e){A=A|0;e=e|0;if(A|0)a[A+60>>2]=e;return}function fs(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;n=(A|0)==0;A:do{if(!(n|(i|0)<0)?!((e|0)==0&(i|0)!=0):0){l=A+476|0;switch(a[l>>2]|0){case 3:{a[A+280>>2]=33;n=0;break A}case 2:{a[A+280>>2]=36;n=0;break A}case 0:{if((a[A+472>>2]|0)==0?(as(A)|0)<<24>>24==0:0){a[A+280>>2]=1;n=0;break A}break}default:{}}a[l>>2]=1;if(i|0){n=ls(A,i)|0;if(!n){n=0;break}y6(n|0,e|0,i|0)|0;n=ts(A,i,f)|0;break}r[A+480>>0]=f;if(!f)n=1;else{n=A+24|0;c=a[n>>2]|0;e=A+292|0;a[e>>2]=c;f=a[A+28>>2]|0;a[A+40>>2]=f;i=A+276|0;f=y5[a[i>>2]&127](A,c,f,n)|0;a[A+280>>2]=f;if(f|0){a[A+288>>2]=a[A+284>>2];a[i>>2]=66;n=0;break}switch(a[l>>2]|0){case 3:{c=a[A+144>>2]|0;X5[a[c+48>>2]&31](c,a[e>>2]|0,a[n>>2]|0,A+404|0);a[e>>2]=a[n>>2];n=2;break A}case 1:case 0:{a[l>>2]=2;n=1;break A}default:{n=1;break A}}}}else t=3}while(0);if((t|0)==3)if(n)n=0;else{a[A+280>>2]=41;n=0}return n|0}function as(A){A=A|0;var e=0;e=A+492|0;if(!(a[e>>2]|0))a[e>>2]=cs()|0;if(!(r[A+232>>0]|0))A=1;else A=As(A,142324)|0;return A|0}function ns(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return a[A+280>>2]|0}function ls(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;A:do{if(!A)i=0;else{if((e|0)<0){a[A+280>>2]=1;i=0;break}switch(a[A+476>>2]|0){case 3:{a[A+280>>2]=33;i=0;break A}case 2:{a[A+280>>2]=36;i=0;break A}default:{w=A+32|0;c=a[w>>2]|0;u=A+28|0;r=a[u>>2]|0;i=r;if((c-r|0)>=(e|0))break A;o=A+24|0;b=a[o>>2]|0;t=r-b|0;r=t+e|0;if((r|0)<0){a[A+280>>2]=1;i=0;break A}s=A+8|0;f=a[s>>2]|0;h=f;n=b-h|0;l=(n|0)>1024;e=l?1024:n;r=e+r|0;do{if((r|0)>(c-h|0)){i=c-b|0;i=(i|0)==0?1024:i;do{i=i<<1}while((i|0)<(r|0)&(i|0)>0);if((i|0)<1){a[A+280>>2]=1;i=0;break A}r=Q5[a[A+12>>2]&63](i)|0;if(!r){a[A+280>>2]=1;i=0;break A}a[w>>2]=r+i;i=a[o>>2]|0;if(!i){i=r+(a[u>>2]|0)|0;a[u>>2]=i;a[s>>2]=r;k=22;break}else{h=i;k=h-(a[s>>2]|0)|0;k=(k|0)<1024?k:1024;y6(r|0,i+(0-k)|0,(a[u>>2]|0)-h+k|0)|0;F5[a[A+20>>2]&127](a[s>>2]|0);a[s>>2]=r;i=r+((a[u>>2]|0)-(a[o>>2]|0))+k|0;a[u>>2]=i;r=r+k|0;k=22;break}}else if(l){r=n-e|0;z6(f|0,f+r|0,e+t|0)|0;r=0-r|0;i=(a[u>>2]|0)+r|0;a[u>>2]=i;r=(a[o>>2]|0)+r|0;k=22}}while(0);if((k|0)==22)a[o>>2]=r;a[A+288>>2]=0;a[A+284>>2]=0;a[A+292>>2]=0;break A}}}}while(0);return i|0}function ts(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;A:do{if(!A)e=0;else{f=A+476|0;switch(a[f>>2]|0){case 3:{a[A+280>>2]=33;e=0;break A}case 2:{a[A+280>>2]=36;e=0;break A}case 0:{if((a[A+472>>2]|0)==0?(as(A)|0)<<24>>24==0:0){a[A+280>>2]=1;e=0;break A}break}default:{}}a[f>>2]=1;n=A+24|0;c=a[n>>2]|0;l=A+292|0;a[l>>2]=c;b=A+28|0;t=(a[b>>2]|0)+e|0;a[b>>2]=t;a[A+40>>2]=t;b=A+36|0;a[b>>2]=(a[b>>2]|0)+e;r[A+480>>0]=i;e=A+276|0;t=y5[a[e>>2]&127](A,c,t,n)|0;a[A+280>>2]=t;if(t|0){a[A+288>>2]=a[A+284>>2];a[e>>2]=66;e=0;break}switch(a[f>>2]|0){case 3:{e=2;break}case 1:case 0:{if(!i)e=1;else{a[f>>2]=2;e=1;break A}break}default:e=1}b=a[A+144>>2]|0;X5[a[b+48>>2]&31](b,a[l>>2]|0,a[n>>2]|0,A+404|0);a[l>>2]=a[n>>2]}}while(0);return e|0}function cs(){var A=0,e=0,i=0;e=k;k=k+16|0;A=e;if(!(bs(A)|0)){i=ws()|0;i=(z3()|0)^i;a[A>>2]=i;A=ss(142378,U(i,2147483647)|0)|0}else A=ss(142365,a[A>>2]|0)|0;k=e;return A|0}function bs(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=k;k=k+16|0;r=P2(142365,0,f)|0;if((r|0)<0)e=0;else{e=0;while(1){n=y3(r,A+e|0,4-e|0)|0;i=n+e|0;if((n|0)>0)if(i>>>0<4)e=i;else{e=1;break}if((a[(X2()|0)>>2]|0)!=4){e=0;break}}S4(r)|0}k=f;return e|0}function ss(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;r=f;i=PA(142443)|0;if(i|0?(A1(i,142463)|0)==0:0){i=a[15712]|0;a[r>>2]=A;a[r+4>>2]=8;a[r+8>>2]=e;a[r+12>>2]=4;f3(i,142465,r)|0}k=f;return e|0}function ws(){var A=0,e=0;e=k;k=k+16|0;A=e;if(!(OA(A|0,0)|0)){k=e;return a[A+4>>2]|0}else vA(142390,142412,819,142423);return 0}function us(A){A=A|0;if(!A)A=41;else A=a[A+280>>2]|0;return A|0}function ks(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(!A)A=0;else{e=A+284|0;i=a[e>>2]|0;if(i|0?(r=A+292|0,f=a[r>>2]|0,i>>>0>=f>>>0):0){n=a[A+144>>2]|0;X5[a[n+48>>2]&31](n,f,i,A+404|0);a[r>>2]=a[e>>2]}A=(a[A+404>>2]|0)+1|0}return A|0}function os(A){A=A|0;do{switch(A|0){case 41:{A=142502;break}case 1:{A=143774;break}case 2:{A=143761;break}case 3:{A=143744;break}case 4:{A=143712;break}case 5:{A=143697;break}case 6:{A=143679;break}case 7:{A=143664;break}case 8:{A=143644;break}case 9:{A=143616;break}case 10:{A=143581;break}case 11:{A=143564;break}case 12:{A=143537;break}case 13:{A=143517;break}case 14:{A=143479;break}case 15:{A=143452;break}case 16:{A=143410;break}case 17:{A=143363;break}case 18:{A=143346;break}case 19:{A=143295;break}case 20:{A=143272;break}case 21:{A=143226;break}case 22:{A=143199;break}case 23:{A=143148;break}case 24:{A=143112;break}case 25:{A=143060;break}case 26:{A=143015;break}case 27:{A=143e3;break}case 28:{A=142974;break}case 29:{A=142936;break}case 30:{A=142904;break}case 31:{A=142871;break}case 32:{A=142837;break}case 33:{A=142820;break}case 34:{A=142799;break}case 35:{A=142783;break}case 36:{A=142766;break}case 37:{A=142722;break}case 38:{A=142642;break}case 39:{A=142583;break}case 40:{A=142519;break}default:A=0}}while(0);return A|0}function hs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;i=a[e>>2]|0;r=0;A:while(1){if(i>>>0<=A>>>0)break;l=i+-1|0;f=n[l>>0]|0;do{if((f&248|0)==240)if((r+1|0)>>>0>3){t=5;break A}else r=0;else{if((f&240|0)==224)if((r+1|0)>>>0>2){t=8;break A}else{r=0;break}if((f&224|0)==192)if((r+1|0)>>>0>1){t=11;break A}else{r=0;break}else if(!(f&128))break A;else break}}while(0);i=l;r=r+1|0}if((t|0)==5)i=i+3|0;else if((t|0)==8)i=i+2|0;else if((t|0)==11)i=i+1|0;a[e>>2]=i;return}function ds(A,e){A=A|0;e=e|0;do{if((A|0)>=0){if((A|0)<128){r[e>>0]=A;A=1;break}if((A|0)<2048){r[e>>0]=A>>>6|192;r[e+1>>0]=A&63|128;A=2;break}if((A|0)<65536){r[e>>0]=A>>>12|224;r[e+1>>0]=A>>>6&63|128;r[e+2>>0]=A&63|128;A=3;break}if((A|0)<1114112){r[e>>0]=A>>>18|240;r[e+1>>0]=A>>>12&63|128;r[e+2>>0]=A>>>6&63|128;r[e+3>>0]=A&63|128;A=4}else A=0}else A=0}while(0);return A|0}function Bs(){return 1908}function vs(A,e,i,l){A=A|0;e=e|0;i=i|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;t=0;while(1){if((t|0)==364){t=0;break}r[A+t>>0]=r[56576+t>>0]|0;t=t+1|0}A:while(1){if((t|0)>=128){c=5;break}switch(r[56648+t>>0]|0){case 0:case 28:break;default:if((a[e+(t<<2)>>2]|0)!=(t|0)){A=0;break A}}t=t+1|0}A:do{if((c|0)==5){h=A+72|0;w=A+372|0;u=A+884|0;k=(i|0)==0;s=0;while(1){if((s|0)>=256)break;o=a[e+(s<<2)>>2]|0;do{if((o|0)==-1){r[h+s>>0]=1;f[w+(s<<1)>>1]=-1;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=0}else{if((o|0)<0){if(k|(o|0)<-4){A=0;break A}r[h+s>>0]=3-o;r[u+(s<<2)>>0]=0;f[w+(s<<1)>>1]=0;break}if((o|0)<128){t=r[56648+o>>0]|0;switch(t<<24>>24){case 0:case 28:break;default:if((o|0)!=(s|0)){A=0;break A}}r[h+s>>0]=t;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=o;f[w+(s<<1)>>1]=(o|0)==0?-1:o&65535;break}if((gs(o)|0)<0){r[h+s>>0]=0;f[w+(s<<1)>>1]=-1;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=0;break}if((o|0)>65535){A=0;break A}t=o>>>8;c=o>>>5&7;b=1<<(o&31);if(!(a[56940+((n[143788+t>>0]<<3|c)<<2)>>2]&b))r[h+s>>0]=a[56940+((n[144044+t>>0]<<3|c)<<2)>>2]&b|0?26:28;else r[h+s>>0]=22;r[u+(s<<2)>>0]=ds(o,u+(s<<2)+1|0)|0;f[w+(s<<1)>>1]=o}}while(0);s=s+1|0}a[A+368>>2]=l;a[A+364>>2]=i;if(!k){a[A+328>>2]=108;a[A+332>>2]=108;a[A+336>>2]=108;a[A+340>>2]=109;a[A+344>>2]=109;a[A+348>>2]=109;a[A+352>>2]=110;a[A+356>>2]=110;a[A+360>>2]=110}a[A+56>>2]=13;a[A+60>>2]=14}}while(0);return A|0}function gs(A){A=A|0;var e=0;switch(A>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{A=-1;break}case 0:{if(!(r[56648+A>>0]|0))A=-1;else e=4;break}case 255:{if((A|1|0)==65535)A=-1;else e=4;break}default:e=4}return A|0}function Es(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=0;else A=a[56940+(((n[144044+(A>>>8)>>0]|0)<<3|A>>>5&7)<<2)>>2]&1<<(A&31);return A|0}function Cs(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=0;else A=a[56940+(((n[143788+(A>>>8)>>0]|0)<<3|A>>>5&7)<<2)>>2]&1<<(A&31);return A|0}function Is(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=1;else A=(gs(A)|0)>>>31;return A|0}function Zs(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;h=k;k=k+16|0;s=h;w=A+364|0;u=A+884|0;o=A+368|0;b=A+72|0;while(1){t=a[e>>2]|0;if((t|0)==(i|0)){l=0;break}d=n[t>>0]|0;c=u+(d<<2)+1|0;d=r[u+(d<<2)>>0]|0;A=d<<24>>24;if(!(d<<24>>24)){A=ds(m5[a[w>>2]&127](a[o>>2]|0,t)|0,s)|0;if((A|0)>(l-(a[f>>2]|0)|0)){l=2;break}t=a[e>>2]|0;c=s;t=t+((n[b+(n[t>>0]|0)>>0]|0)+-3)|0}else{if((l-(a[f>>2]|0)|0)<(A|0)){l=2;break}t=t+1|0}a[e>>2]=t;y6(a[f>>2]|0,c|0,A|0)|0;a[f>>2]=(a[f>>2]|0)+A}k=h;return l|0}function Gs(A,e,i,r,l){A=A|0;e=e|0;i=i|0;r=r|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;w=A+372|0;u=A+364|0;k=A+368|0;s=A+72|0;while(1){b=a[e>>2]|0;A=b>>>0>>0;t=a[r>>2]|0;if(!(A&t>>>0>>0))break;A=f[w+((n[b>>0]|0)<<1)>>1]|0;if(!(A<<16>>16)){A=(m5[a[u>>2]&127](a[k>>2]|0,b)|0)&65535;t=a[e>>2]|0;c=(n[s+(n[t>>0]|0)>>0]|0)+-3|0}else{c=1;t=b}a[e>>2]=t+c;b=a[r>>2]|0;a[r>>2]=b+2;f[b>>1]=A}return((t|0)!=(l|0)|A^1?0:2)|0}function Qs(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0;A:do{if(e>>>0>>0){u=A+72|0;do{switch(r[u+(n[e>>0]|0)>>0]|0){case 12:{l=Hq(12,A,e+1|0,i,f)|0;break A}case 13:{l=Hq(13,A,e+1|0,i,f)|0;break A}case 2:{l=e+1|0;if((i-l|0)<=0){l=-1;break A}switch(r[u+(n[l>>0]|0)>>0]|0){case 16:{l=pq(A,e+2|0,i,f)|0;break A}case 15:{l=Jq(A,e+2|0,i,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;l=29;break A}default:{a[f>>2]=l;l=0;break A}}}case 9:{if((e+1|0)==(i|0)){a[f>>2]=i;l=-15;break A}else b=3;break}case 10:case 21:{b=3;break}case 30:{l=zq(A,e+1|0,i,f)|0;break A}case 35:{a[f>>2]=e+1;l=38;break A}case 20:{a[f>>2]=e+1;l=25;break A}case 4:{t=e+1|0;l=i-t|0;if((l|0)<=0){l=-26;break A}if((r[t>>0]|0)==93){if((l|0)<=1){l=-1;break A}if((r[e+2>>0]|0)==62){a[f>>2]=e+3;l=34;break A}}a[f>>2]=t;l=26;break A}case 31:{a[f>>2]=e+1;l=23;break A}case 32:{l=e+1|0;if((i-l|0)<=0){l=-24;break A}switch(r[u+(n[l>>0]|0)>>0]|0){case 33:{a[f>>2]=e+2;l=36;break A}case 15:{a[f>>2]=e+2;l=35;break A}case 34:{a[f>>2]=e+2;l=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;l=24;break A}default:{a[f>>2]=l;l=0;break A}}}case 36:{a[f>>2]=e+1;l=21;break A}case 11:{a[f>>2]=e+1;l=17;break A}case 19:{l=Uq(A,e+1|0,i,f)|0;break A}case 5:{if((i-e|0)<2){l=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0))if(!(m5[a[A+328>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=2}else{l=18;t=2}break}case 6:{if((i-e|0)<3){l=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0))if(!(m5[a[A+332>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=3}else{l=18;t=3}break}case 7:{if((i-e|0)<4){l=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0))if(!(m5[a[A+336>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=4}else{l=18;t=4}break}case 24:case 22:{l=18;t=1;break}case 23:case 27:case 26:case 25:{l=19;t=1;break}default:{a[f>>2]=e;l=0;break A}}}while(0);if((b|0)==3){c=i;t=e;e:while(1){l=t;t=t+1|0;if((c-t|0)<=0){b=18;break}switch(r[u+(n[t>>0]|0)>>0]|0){case 10:case 21:continue e;case 9:break;default:{b=17;break e}}if((l+2|0)==(i|0)){b=17;break}}if((b|0)==17){a[f>>2]=t;l=15;break}else if((b|0)==18){a[f>>2]=t;l=15;break}}b=A+328|0;s=A+332|0;w=A+336|0;c=e+t|0;e:while(1){t=i-c|0;if((t|0)<=0){b=99;break}switch(r[u+(n[c>>0]|0)>>0]|0){case 29:{b=56;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{b=70;break e}case 34:{b=89;break e}case 33:{b=92;break e}case 15:{b=95;break e}case 27:case 26:case 25:case 24:case 22:{e=l;c=c+1|0;l=e;continue e}case 5:{if((t|0)<2){l=-2;break A}if(!(m5[a[b>>2]&127](A,c)|0)){b=60;break e}e=l;c=c+2|0;l=e;continue e}case 6:{if((t|0)<3){l=-2;break A}if(!(m5[a[s>>2]&127](A,c)|0)){b=64;break e}e=l;c=c+3|0;l=e;continue e}case 7:{if((t|0)<4){l=-2;break A}if(!(m5[a[w>>2]&127](A,c)|0)){b=68;break e}e=l;c=c+4|0;l=e;continue e}case 23:{t=c+1|0;switch(l&63){case 18:break;case 41:{l=19;c=t;continue e}default:{e=l;c=t;l=e;continue e}}l=i-t|0;if((l|0)<=0){l=-1;break A}switch(r[u+(n[t>>0]|0)>>0]|0){case 29:{b=74;break e}case 27:case 26:case 25:case 24:case 22:{l=41;c=c+2|0;continue e}case 5:{if((l|0)<2){l=-2;break A}if(!(m5[a[b>>2]&127](A,t)|0)){b=78;break e}l=41;c=c+3|0;continue e}case 6:{if((l|0)<3){l=-2;break A}if(!(m5[a[s>>2]&127](A,t)|0)){b=82;break e}l=41;c=c+4|0;continue e}case 7:{if((l|0)<4){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){b=86;break e}l=41;c=c+5|0;continue e}default:{l=19;c=t;continue e}}}default:{b=98;break e}}}switch(b|0){case 56:{a[f>>2]=c;l=0;break A}case 60:{a[f>>2]=c;l=0;break A}case 64:{a[f>>2]=c;l=0;break A}case 68:{a[f>>2]=c;l=0;break A}case 70:{a[f>>2]=c;break A}case 74:{a[f>>2]=t;l=0;break A}case 78:{a[f>>2]=t;l=0;break A}case 82:{a[f>>2]=t;l=0;break A}case 86:{a[f>>2]=t;l=0;break A}case 89:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=32;break A}case 92:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=31;break A}case 95:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=30;break A}case 98:{a[f>>2]=c;l=0;break A}case 99:{l=0-l|0;break A}}}else l=-4}while(0);return l|0}function ms(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){w=A+72|0;e:do{switch(r[w+(n[e>>0]|0)>>0]|0){case 2:{l=Mq(A,e+1|0,i,f)|0;break A}case 3:{l=yq(A,e+1|0,i,f)|0;break A}case 9:{l=e+1|0;if((i-l|0)<=0){l=-3;break A}a[f>>2]=(r[w+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break A}case 10:{a[f>>2]=e+1;l=7;break A}case 4:{t=e+1|0;if((i-t|0)<=0){l=-5;break A}if((r[t>>0]|0)==93){l=e+2|0;if((i-l|0)<=0){l=-5;break A}if((r[l>>0]|0)==62){a[f>>2]=l;l=0;break A}else l=i}else l=i;break}case 5:{l=i;if((l-e|0)<2){l=-2;break A}if(!(m5[a[A+352>>2]&127](A,e)|0)){t=e+2|0;break e}else{a[f>>2]=e;l=0;break A}}case 6:{l=i;if((l-e|0)<3){l=-2;break A}if(!(m5[a[A+356>>2]&127](A,e)|0)){t=e+3|0;break e}else{a[f>>2]=e;l=0;break A}}case 7:{l=i;if((l-e|0)<4){l=-2;break A}if(!(m5[a[A+360>>2]&127](A,e)|0)){t=e+4|0;break e}else{a[f>>2]=e;l=0;break A}}case 8:case 1:case 0:{a[f>>2]=e;l=0;break A}default:{t=e+1|0;l=i}}}while(0);c=A+352|0;b=A+356|0;s=A+360|0;e:while(1){i=l-t|0;if((i|0)<=0){i=49;break}switch(r[w+(n[t>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{i=47;break e}case 5:{if((i|0)<2){i=32;break e}if(m5[a[c>>2]&127](A,t)|0){i=32;break e}t=t+2|0;continue e}case 6:{if((i|0)<3){i=36;break e}if(m5[a[b>>2]&127](A,t)|0){i=36;break e}t=t+3|0;continue e}case 7:{if((i|0)<4){i=40;break e}if(m5[a[s>>2]&127](A,t)|0){i=40;break e}t=t+4|0;continue e}case 4:{if((i|0)<=1){i=47;break e}e=t+1|0;if((r[e>>0]|0)!=93){t=e;continue e}if((i|0)<=2){i=47;break e}t=t+2|0;if((r[t>>0]|0)==62){i=46;break e}else{t=e;continue e}}default:{t=t+1|0;continue e}}}if((i|0)==32){a[f>>2]=t;l=6;break}else if((i|0)==36){a[f>>2]=t;l=6;break}else if((i|0)==40){a[f>>2]=t;l=6;break}else if((i|0)==46){a[f>>2]=t;l=0;break}else if((i|0)==47){a[f>>2]=t;l=6;break}else if((i|0)==49){a[f>>2]=t;l=6;break}}else l=-4}while(0);return l|0}function Ls(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;A:do{if(e>>>0>>0){s=A+72|0;e:do{switch(r[s+(n[e>>0]|0)>>0]|0){case 4:{t=e+1|0;l=i;if((l-t|0)<=0){l=-1;break A}if((r[t>>0]|0)==93){i=e+2|0;if((l-i|0)<=0){l=-1;break A}if((r[i>>0]|0)==62){a[f>>2]=e+3;l=40;break A}}break}case 9:{l=e+1|0;if((i-l|0)<=0){l=-1;break A}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break A}case 10:{a[f>>2]=e+1;l=7;break A}case 5:{l=i;if((l-e|0)<2){l=-2;break A}if(!(m5[a[A+352>>2]&127](A,e)|0)){t=e+2|0;break e}else{a[f>>2]=e;l=0;break A}}case 6:{l=i;if((l-e|0)<3){l=-2;break A}if(!(m5[a[A+356>>2]&127](A,e)|0)){t=e+3|0;break e}else{a[f>>2]=e;l=0;break A}}case 7:{l=i;if((l-e|0)<4){l=-2;break A}if(!(m5[a[A+360>>2]&127](A,e)|0)){t=e+4|0;break e}else{a[f>>2]=e;l=0;break A}}case 8:case 1:case 0:{a[f>>2]=e;l=0;break A}default:{t=e+1|0;l=i}}}while(0);e=A+352|0;c=A+356|0;b=A+360|0;e:while(1){i=l-t|0;if((i|0)<=0){i=39;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{i=37;break e}case 5:{if((i|0)<2){i=30;break e}if(!(m5[a[e>>2]&127](A,t)|0))i=2;else{i=30;break e}break}case 6:{if((i|0)<3){i=33;break e}if(!(m5[a[c>>2]&127](A,t)|0))i=3;else{i=33;break e}break}case 7:{if((i|0)<4){i=36;break e}if(!(m5[a[b>>2]&127](A,t)|0))i=4;else{i=36;break e}break}default:i=1}t=t+i|0}if((i|0)==30){a[f>>2]=t;l=6;break}else if((i|0)==33){a[f>>2]=t;l=6;break}else if((i|0)==36){a[f>>2]=t;l=6;break}else if((i|0)==37){a[f>>2]=t;l=6;break}else if((i|0)==39){a[f>>2]=t;l=6;break}}else l=-4}while(0);return l|0}function Ws(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0;if(!((A|0)>-1&((e|0)>0&(i|0)>0)))vA(95162,94943,843,95188);t=wq(e,i,A,l,t,1)|0;if(!t)vA(95233,94943,847,95188);g=a[t+20>>2]|0;v=a[t+24>>2]|0;w=e+1|0;s=0;while(1){if((s|0)==(w|0))break;a[g+(s<<2)>>2]=0;s=s+1|0}A:do{switch(l|0){case 1:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){h=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=13;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=13;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==13)vA(138394,94943,862,95188);while(1){if((h|0)==(e|0)){s=0;break}B=h+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(h<<2)>>2]|0);h=B}while(1){if((s|0)==(A|0))break;d=g+(a[r+(s<<2)>>2]<<2)|0;B=a[d>>2]|0;b[l+(B<<3)>>3]=+b[n+(s<<3)>>3];i=a[f+(s<<2)>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 2:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){d=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=25;break}h=a[f+(s<<2)>>2]|0;if(!((h|0)>-1&(h|0)<(i|0))){B=25;break}h=g+(w+1<<2)|0;a[h>>2]=(a[h>>2]|0)+1;s=s+1|0}if((B|0)==25)vA(138394,94943,880,95188);while(1){if((d|0)==(e|0)){s=0;break}B=d+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(d<<2)>>2]|0);d=B}while(1){if((s|0)==(A|0))break;d=g+(a[r+(s<<2)>>2]<<2)|0;B=a[d>>2]|0;i=B<<1;b[l+(i<<3)>>3]=+b[n>>3];b[l+((i|1)<<3)>>3]=+b[n+8>>3];i=a[f+(s<<2)>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+16|0;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 4:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){o=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=37;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=37;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==37)vA(138394,94943,899,95188);while(1){if((o|0)==(e|0)){s=0;break}B=o+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(o<<2)>>2]|0);o=B}while(1){if((s|0)==(A|0))break;d=r+(s<<2)|0;a[l+(a[g+(a[d>>2]<<2)>>2]<<2)>>2]=a[n+(s<<2)>>2];i=a[f+(s<<2)>>2]|0;d=g+(a[d>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 8:{n=0;while(1){if((n|0)>=(A|0)){u=0;break}s=a[r+(n<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(e|0))){B=48;break}d=a[f+(n<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=48;break}d=g+(s+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;n=n+1|0}if((B|0)==48)vA(138394,94943,915,95188);while(1){if((u|0)==(e|0)){n=0;break}B=u+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(u<<2)>>2]|0);u=B}while(1){if((n|0)==(A|0))break;i=a[f+(n<<2)>>2]|0;d=g+(a[r+(n<<2)>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 16:{s=0;while(1){if((s|0)>=(A|0)){k=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=59;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=59;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==59)vA(138394,94943,930,95188);while(1){if((k|0)==(e|0))break;B=k+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(k<<2)>>2]|0);k=B}y6(a[t+28>>2]|0,n|0,U(a[t+40>>2]|0,A)|0)|0;n=0;while(1){if((n|0)==(A|0))break;i=a[f+(n<<2)>>2]|0;d=g+(a[r+(n<<2)>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}default:vA(138394,94943,944,95188)}}while(0);a[g>>2]=0;a[t+8>>2]=A;if(c)t=ys(t,c)|0;return t|0}function ys(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;v=a[A+20>>2]|0;g=a[A+24>>2]|0;r=a[A+16>>2]|0;d=a[A+4>>2]|0;A:do{if(e){w=d<<2;u=$F(w)|0;i=0;while(1){if((i|0)>=(d|0))break;a[u+(i<<2)>>2]=-1;i=i+1|0}e:do{switch(r|0){case 1:{c=a[A+28>>2]|0;f=0;r=a[v>>2]|0;i=0;i:while(1){if((i|0)>=(a[A>>2]|0)){E=f;C=u;break e}s=i+1|0;w=v+(s<<2)|0;l=v+(i<<2)|0;i=f;while(1){e=a[w>>2]|0;if((r|0)>=(e|0))break;e=g+(r<<2)|0;f=a[e>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;b[c+(i<<3)>>3]=+b[c+(r<<3)>>3];a[u+(a[e>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;B=c+(n<<3)|0;b[B>>3]=+b[B>>3]+ +b[c+(r<<3)>>3]}r=r+1|0}a[w>>2]=i;f=i;r=e;i=s}vA(95235,94943,1792,95260);break}case 2:{B=a[A+28>>2]|0;switch(e|0){case 1:{e=a[v>>2]|0;r=0;i=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}c=r+1|0;s=v+(c<<2)|0;l=v+(r<<2)|0;while(1){r=a[s>>2]|0;if((e|0)>=(r|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;h=e<<1;d=i<<1;b[B+(d<<3)>>3]=+b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;h=e<<1;d=n<<1;o=B+(d<<3)|0;b[o>>3]=+b[o>>3]+ +b[B+(h<<3)>>3];d=B+((d|1)<<3)|0;b[d>>3]=+b[d>>3]+ +b[B+((h|1)<<3)>>3]}e=e+1|0}a[s>>2]=i;e=r;r=c}vA(95235,94943,1815,95260);break}case 4:{e=a[v>>2]|0;r=0;i=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}s=r+1|0;c=v+(s<<2)|0;l=v+(r<<2)|0;while(1){r=a[c>>2]|0;if((e|0)>=(r|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;h=e<<1;d=i<<1;b[B+(d<<3)>>3]=+b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;h=e<<1;d=n<<1;o=B+(d<<3)|0;b[o>>3]=+b[o>>3]+ +b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3]}e=e+1|0}a[c>>2]=i;e=r;r=s}vA(95235,94943,1835,95260);break}case 2:{h=~~+b[B+8>>3];l=a[A>>2]|0;r=h;n=0;i=0;i:while(1){if((n|0)>=(l|0))break;c=n+1|0;s=a[v+(c<<2)>>2]|0;f=i;e=h;i=a[v+(n<<2)>>2]|0;while(1){if((i|0)>=(s|0)){h=e;n=c;i=f;continue i}h=~~+b[B+((f<<1|1)<<3)>>3];f=f+1|0;r=(r|0)>(h|0)?r:h;e=(e|0)<(h|0)?e:h;i=i+1|0}}L2(u);o=r-h+1|0;k=$F(U(o,w)|0)|0;o=U(o,d)|0;i=0;while(1){if((i|0)>=(o|0))break;a[k+(i<<2)>>2]=-1;i=i+1|0}i=0;e=a[v>>2]|0;r=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=k;break e}w=r+1|0;u=v+(w<<2)|0;s=v+(r<<2)|0;while(1){r=a[u>>2]|0;if((e|0)>=(r|0))break;r=a[g+(e<<2)>>2]|0;f=e<<1;t=+b[B+((f|1)<<3)>>3];n=(U(~~t-h|0,d)|0)+r|0;l=k+(n<<2)|0;c=a[l>>2]|0;if((c|0)<(a[s>>2]|0)){a[g+(i<<2)>>2]=r;c=i<<1;b[B+(c<<3)>>3]=+b[B+(f<<3)>>3];b[B+((c|1)<<3)>>3]=t;a[l>>2]=i;i=i+1|0}else{if((n|0)>=(o|0)){i=55;break i}if((a[g+(c<<2)>>2]|0)!=(r|0)){i=57;break i}c=c<<1;l=B+(c<<3)|0;b[l>>3]=+b[l>>3]+ +b[B+(f<<3)>>3];b[B+((c|1)<<3)>>3]=t}e=e+1|0}a[u>>2]=i;e=r;r=w}if((i|0)==55)vA(95292,94943,1869,95260);else if((i|0)==57)vA(95313,94943,1870,95260);break}case 3:{f=~~+b[B+8>>3];l=a[A>>2]|0;i=f;r=0;n=0;i:while(1){if((n|0)>=(l|0))break;c=n+1|0;s=a[v+(c<<2)>>2]|0;e=i;i=a[v+(n<<2)>>2]|0;while(1){if((i|0)>=(s|0)){i=e;n=c;continue i}h=~~+b[B+(r<<1<<3)>>3];e=(e|0)>(h|0)?e:h;f=(f|0)>(h|0)?f:h;r=r+1|0;i=i+1|0}}L2(u);r=i-f+1|0;k=$F(U(r,w)|0)|0;r=U(r,d)|0;i=0;while(1){if((i|0)>=(r|0))break;a[k+(i<<2)>>2]=-1;i=i+1|0}i=0;e=a[v>>2]|0;r=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=k;break e}w=r+1|0;u=v+(w<<2)|0;s=v+(r<<2)|0;while(1){r=a[u>>2]|0;if((e|0)>=(r|0))break;r=a[g+(e<<2)>>2]|0;n=e<<1;t=+b[B+(n<<3)>>3];l=k+((U(~~t-f|0,d)|0)+r<<2)|0;c=a[l>>2]|0;if((c|0)<(a[s>>2]|0)){a[g+(i<<2)>>2]=r;h=i<<1;b[B+(h<<3)>>3]=t;b[B+((h|1)<<3)>>3]=+b[B+((n|1)<<3)>>3];a[l>>2]=i;i=i+1|0}else{if((a[g+(c<<2)>>2]|0)!=(r|0))break i;h=c<<1;b[B+(h<<3)>>3]=t;h=B+((h|1)<<3)|0;b[h>>3]=+b[h>>3]+ +b[B+((n|1)<<3)>>3]}e=e+1|0}a[u>>2]=i;e=r;r=w}vA(95313,94943,1905,95260);break}default:{E=0;C=u;break e}}break}case 4:{c=a[A+28>>2]|0;r=0;i=0;e=a[v>>2]|0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}s=r+1|0;w=v+(s<<2)|0;l=v+(r<<2)|0;while(1){f=a[w>>2]|0;if((e|0)>=(f|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;a[c+(i<<2)>>2]=a[c+(e<<2)>>2];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;B=c+(n<<2)|0;a[B>>2]=(a[B>>2]|0)+(a[c+(e<<2)>>2]|0)}e=e+1|0}a[w>>2]=i;r=s;e=f}vA(95235,94943,1929,95260);break}case 8:{r=0;i=0;e=a[v>>2]|0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}c=r+1|0;s=v+(c<<2)|0;l=v+(r<<2)|0;while(1){f=a[s>>2]|0;if((e|0)>=(f|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)>=(a[l>>2]|0)){if((a[g+(n<<2)>>2]|0)!=(f|0))break i}else{a[g+(i<<2)>>2]=f;a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}e=e+1|0}a[s>>2]=i;r=c;e=f}vA(95235,94943,1948,95260);break}default:{A=0;break A}}}while(0);a[A+8>>2]=E;L2(C)}}while(0);return A|0}function zs(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;if(!r)Ys(A,i,f,n,e,a);else Ds(A,i,f,n,e,a);return}function Ys(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0;if((a[A+32>>2]|0)!=1)vA(94919,94943,1121,95483);if((a[A+16>>2]|0)!=1)vA(95364,94943,1122,95483);o=a[A+28>>2]|0;h=a[A+20>>2]|0;d=a[A+24>>2]|0;B=a[A>>2]|0;k=a[A+4>>2]|0;A=a[i>>2]|0;l=(A|0)!=0;if(!f){if(!l)A=$F(U(r<<3,B)|0)|0;f=0;A:while(1){if((f|0)>=(B|0))break;u=U(f,r)|0;l=0;while(1){if((l|0)>=(r|0))break;b[A+(l+u<<3)>>3]=0.0;l=l+1|0}s=f+1|0;w=a[h+(s<<2)>>2]|0;l=a[h+(f<<2)>>2]|0;while(1){if((l|0)>=(w|0)){f=s;continue A}t=o+(l<<3)|0;c=d+(l<<2)|0;f=0;while(1){if((f|0)>=(r|0))break;v=+b[e+((U(a[c>>2]|0,r)|0)+f<<3)>>3]*+b[t>>3];k=A+(f+u<<3)|0;b[k>>3]=+b[k>>3]+v;f=f+1|0}l=l+1|0}}if(n)Fs(A,B,r)}else{if(!l)A=$F(U(r<<3,k)|0)|0;f=U(k,r)|0;l=0;while(1){if((l|0)>=(f|0)){l=0;break}b[A+(l<<3)>>3]=0.0;l=l+1|0}A:while(1){if((l|0)>=(B|0))break;s=l+1|0;w=a[h+(s<<2)>>2]|0;u=U(l,r)|0;l=a[h+(l<<2)>>2]|0;while(1){if((l|0)>=(w|0)){l=s;continue A}t=o+(l<<3)|0;c=d+(l<<2)|0;f=0;while(1){if((f|0)>=(r|0))break;g=A+((U(a[c>>2]|0,r)|0)+f<<3)|0;b[g>>3]=+b[g>>3]+ +b[e+(f+u<<3)>>3]*+b[t>>3];f=f+1|0}l=l+1|0}}if(n)Fs(A,k,r)}a[i>>2]=A;return}function Ds(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w;if((a[A+32>>2]|0)!=1)vA(94919,94943,1163,95335);if((a[A+16>>2]|0)!=1)vA(95364,94943,1164,95335);l=a[i>>2]|0;c=a[A>>2]|0;b=a[A+4>>2]|0;t=(l|0)!=0;if(!f){if(!t)l=$F(U(r<<3,c)|0)|0;t=0;while(1){if((t|0)>=(r|0))break;a[s>>2]=l+((U(t,c)|0)<<3);Ms(A,e+((U(t,b)|0)<<3)|0,s,0);t=t+1|0}if(!n)Fs(l,r,c)}else{if(!t)l=$F(U(r<<3,b)|0)|0;t=0;while(1){if((t|0)>=(r|0))break;a[s>>2]=l+((U(t,b)|0)<<3);Ms(A,e+((U(t,c)|0)<<3)|0,s,f);t=t+1|0}if(!n)Fs(l,r,b)}a[i>>2]=l;k=w;return}function Ms(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0;if((a[A+32>>2]|0)!=1)vA(94919,94943,1222,95392);l=a[A+16>>2]|0;switch(l|0){case 4:case 1:break;default:vA(95421,94943,1223,95392)}u=a[A+20>>2]|0;w=a[A+24>>2]|0;k=a[A>>2]|0;c=a[A+4>>2]|0;t=a[i>>2]|0;A:do{switch(l|0){case 1:{s=a[A+28>>2]|0;A=(r|0)!=0;f=(t|0)!=0;if(!e){if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[s+(A<<3)>>3];b[l>>3]=o;A=A+1|0;n=o}}}if(!f)t=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[t+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0)){f=t;break A}f=A+1|0;l=a[u+(f<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(l|0)){A=f;continue e}e=t+(a[w+(A<<2)>>2]<<3)|0;b[e>>3]=+b[e>>3]+ +b[s+(A<<3)>>3];A=A+1|0}}}else{if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[e+(a[w+(A<<2)>>2]<<3)>>3]*+b[s+(A<<3)>>3];b[l>>3]=o;A=A+1|0;n=o}}}if(f)f=t;else f=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[f+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0))break A;l=A+1|0;t=a[u+(l<<2)>>2]|0;r=e+(A<<3)|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(t|0)){A=l;continue e}c=f+(a[w+(A<<2)>>2]<<3)|0;b[c>>3]=+b[c>>3]+ +b[r>>3]*+b[s+(A<<3)>>3];A=A+1|0}}}}case 4:{s=a[A+28>>2]|0;A=(r|0)!=0;f=(t|0)!=0;if(!e){if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +(a[s+(A<<2)>>2]|0);b[l>>3]=o;A=A+1|0;n=o}}}if(!f)t=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[t+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0)){f=t;break A}f=A+1|0;l=a[u+(f<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(l|0)){A=f;continue e}e=t+(a[w+(A<<2)>>2]<<3)|0;b[e>>3]=+b[e>>3]+ +(a[s+(A<<2)>>2]|0);A=A+1|0}}}else{if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[e+(a[w+(A<<2)>>2]<<3)>>3]*+(a[s+(A<<2)>>2]|0);b[l>>3]=o;A=A+1|0;n=o}}}if(f)f=t;else f=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[f+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0))break A;l=A+1|0;t=a[u+(l<<2)>>2]|0;r=e+(A<<3)|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(t|0)){A=l;continue e}c=f+(a[w+(A<<2)>>2]<<3)|0;b[c>>3]=+b[c>>3]+ +b[r>>3]*+(a[s+(A<<2)>>2]|0);A=A+1|0}}}}default:vA(138394,94943,1315,95392)}}while(0);a[i>>2]=f;return}function Fs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,n=0;r=U(e<<3,i)|0;a=$F(r)|0;y6(a|0,A|0,r|0)|0;r=0;while(1){if((r|0)>=(e|0))break;n=U(r,i)|0;f=0;while(1){if((f|0)>=(i|0))break;b[A+((U(f,e)|0)+r<<3)>>3]=+b[a+(f+n<<3)>>3];f=f+1|0}r=r+1|0}L2(a);return}function Vs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;I=a[A+20>>2]|0;Z=a[A+24>>2]|0;G=a[e+20>>2]|0;Q=a[e+24>>2]|0;C=a[A+32>>2]|0;if(!((C|0)==1?(C|0)==(a[e+32>>2]|0):0))vA(95005,94943,1408,95512);C=a[A>>2]|0;if(((a[A+4>>2]|0)==(a[e>>2]|0)?(u=a[A+16>>2]|0,(u|0)==(a[e+16>>2]|0)):0)?(w=e+4|0,m=$F(a[w>>2]<<2)|0,(m|0)!=0):0){i=0;while(1){if((i|0)>=(a[w>>2]|0)){r=0;i=0;break}a[m+(i<<2)>>2]=-1;i=i+1|0}A:while(1){if((i|0)>=(C|0))break;t=i+1|0;c=I+(t<<2)|0;s=-2-i|0;l=a[I+(i<<2)>>2]|0;while(1){if((l|0)>=(a[c>>2]|0)){i=t;continue A}f=a[Z+(l<<2)>>2]|0;n=G+(f+1<<2)|0;f=a[G+(f<<2)>>2]|0;while(1){if((f|0)>=(a[n>>2]|0))break;i=m+(a[Q+(f<<2)>>2]<<2)|0;if((a[i>>2]|0)!=(s|0)){a[i>>2]=s;r=r+1|0}f=f+1|0}l=l+1|0}}i=fq(C,a[w>>2]|0,r,u,1)|0;A:do{if(!i)i=0;else{v=a[i+20>>2]|0;g=a[i+24>>2]|0;e:do{switch(u|0){case 1:{d=a[A+28>>2]|0;u=a[e+28>>2]|0;e=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((r|0)>=(C|0)){E=f;break e}k=r+1|0;o=I+(k<<2)|0;h=v+(r<<2)|0;A=a[I+(r<<2)>>2]|0;while(1){if((A|0)>=(a[o>>2]|0))break;c=a[Z+(A<<2)>>2]|0;s=G+(c+1<<2)|0;w=d+(A<<3)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;r=Q+(c<<2)|0;n=a[r>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[h>>2]|0)){a[l>>2]=f;a[g+(f<<2)>>2]=a[r>>2];b[e+(f<<3)>>3]=+b[u+(c<<3)>>3]*+b[w>>3];f=f+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;B=e+(t<<3)|0;b[B>>3]=+b[B>>3]+ +b[u+(c<<3)>>3]*+b[w>>3]}c=c+1|0}A=A+1|0}a[v+(k<<2)>>2]=f;r=k}vA(95534,94943,1468,95512);break}case 2:{B=a[A+28>>2]|0;e=a[e+28>>2]|0;k=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((r|0)>=(C|0)){E=f;break e}o=r+1|0;h=I+(o<<2)|0;d=v+(r<<2)|0;u=a[I+(r<<2)>>2]|0;while(1){if((u|0)>=(a[h>>2]|0))break;c=a[Z+(u<<2)>>2]|0;s=G+(c+1<<2)|0;A=u<<1;w=B+(A<<3)|0;A=B+((A|1)<<3)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;r=Q+(c<<2)|0;n=a[r>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[d>>2]|0)){a[l>>2]=f;a[g+(f<<2)>>2]=a[r>>2];l=c<<1;n=e+(l<<3)|0;l=e+((l|1)<<3)|0;t=f<<1;b[k+(t<<3)>>3]=+b[n>>3]*+b[w>>3]-+b[l>>3]*+b[A>>3];b[k+((t|1)<<3)>>3]=+b[n>>3]*+b[A>>3]+ +b[l>>3]*+b[w>>3];f=f+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;l=c<<1;n=e+(l<<3)|0;l=e+((l|1)<<3)|0;t=t<<1;r=k+(t<<3)|0;b[r>>3]=+b[r>>3]+ +b[n>>3]*+b[w>>3]-+b[l>>3]*+b[A>>3];t=k+((t|1)<<3)|0;b[t>>3]=+b[n>>3]*+b[A>>3]+ +b[l>>3]*+b[w>>3]+ +b[t>>3]}c=c+1|0}u=u+1|0}a[v+(o<<2)>>2]=f;r=o}vA(95534,94943,1497,95512);break}case 4:{d=a[A+28>>2]|0;u=a[e+28>>2]|0;e=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((f|0)>=(C|0)){E=r;break e}k=f+1|0;o=I+(k<<2)|0;h=v+(f<<2)|0;s=a[I+(f<<2)>>2]|0;while(1){if((s|0)>=(a[o>>2]|0))break;c=a[Z+(s<<2)>>2]|0;w=G+(c+1<<2)|0;A=d+(s<<2)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[w>>2]|0))break;f=Q+(c<<2)|0;n=a[f>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[h>>2]|0)){a[l>>2]=r;a[g+(r<<2)>>2]=a[f>>2];a[e+(r<<2)>>2]=U(a[u+(c<<2)>>2]|0,a[A>>2]|0)|0;r=r+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;l=U(a[u+(c<<2)>>2]|0,a[A>>2]|0)|0;B=e+(t<<2)|0;a[B>>2]=(a[B>>2]|0)+l}c=c+1|0}s=s+1|0}a[v+(k<<2)>>2]=r;f=k}vA(95534,94943,1523,95512);break}case 8:{a[v>>2]=0;r=0;f=0;i:while(1){if((f|0)>=(C|0)){E=r;break e}A=f+1|0;u=I+(A<<2)|0;e=v+(f<<2)|0;s=a[I+(f<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;c=a[Z+(s<<2)>>2]|0;w=G+(c+1<<2)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[w>>2]|0))break;f=Q+(c<<2)|0;n=a[f>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)>=(a[e>>2]|0)){if((a[g+(t<<2)>>2]|0)!=(n|0))break i}else{a[l>>2]=r;a[g+(r<<2)>>2]=a[f>>2];r=r+1|0}c=c+1|0}s=s+1|0}a[v+(A<<2)>>2]=r;f=A}vA(95534,94943,1543,95512);break}default:{rq(i);i=0;break A}}}while(0);a[i+8>>2]=E}}while(0);L2(m)}else i=0;return i|0}function Js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0.0,V=0.0,J=0.0,N=0.0;z=a[A+20>>2]|0;Y=a[A+24>>2]|0;D=a[e+20>>2]|0;m=a[e+24>>2]|0;L=a[i+20>>2]|0;W=a[i+24>>2]|0;y=a[A+32>>2]|0;if(!((y|0)==1?(y|0)==(a[e+32>>2]|0):0))vA(95005,94943,1574,95559);y=a[A>>2]|0;if(((((a[A+4>>2]|0)==(a[e>>2]|0)?(a[e+4>>2]|0)==(a[i>>2]|0):0)?(h=a[A+16>>2]|0,(h|0)==(a[e+16>>2]|0)):0)?(h|0)==(a[i+16>>2]|0):0)?(o=i+4|0,M=$F(a[o>>2]<<2)|0,(M|0)!=0):0){r=0;while(1){if((r|0)>=(a[o>>2]|0)){f=0;r=0;break}a[M+(r<<2)>>2]=-1;r=r+1|0}A:while(1){if((r|0)>=(y|0))break;w=r+1|0;u=z+(w<<2)|0;k=-2-r|0;s=a[z+(r<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0)){r=w;continue A}t=a[Y+(s<<2)>>2]|0;c=D+(t+1<<2)|0;t=a[D+(t<<2)>>2]|0;while(1){if((t|0)>=(a[c>>2]|0))break;n=a[m+(t<<2)>>2]|0;l=L+(n+1<<2)|0;n=a[L+(n<<2)>>2]|0;while(1){if((n|0)>=(a[l>>2]|0))break;r=M+(a[W+(n<<2)>>2]<<2)|0;if((a[r>>2]|0)!=(k|0)){a[r>>2]=k;f=f+1|0}n=n+1|0}t=t+1|0}s=s+1|0}}r=fq(y,a[o>>2]|0,f,h,1)|0;A:do{if(!r)r=0;else{Z=a[r+20>>2]|0;G=a[r+24>>2]|0;e:do{switch(h|0){case 1:{E=a[A+28>>2]|0;g=a[e+28>>2]|0;i=a[i+28>>2]|0;d=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((f|0)>=(y|0)){Q=n;break e}B=f+1|0;v=z+(B<<2)|0;e=Z+(f<<2)|0;h=a[z+(f<<2)>>2]|0;while(1){if((h|0)>=(a[v>>2]|0))break;k=a[Y+(h<<2)>>2]|0;o=D+(k+1<<2)|0;A=E+(h<<3)|0;k=a[D+(k<<2)>>2]|0;while(1){if((k|0)>=(a[o>>2]|0))break;s=a[m+(k<<2)>>2]|0;w=L+(s+1<<2)|0;u=g+(k<<3)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[w>>2]|0))break;f=W+(s<<2)|0;l=a[f>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[e>>2]|0)){a[t>>2]=n;a[G+(n<<2)>>2]=a[f>>2];b[d+(n<<3)>>3]=+b[u>>3]*+b[A>>3]*+b[i+(s<<3)>>3];n=n+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;I=d+(c<<3)|0;b[I>>3]=+b[I>>3]+ +b[u>>3]*+b[A>>3]*+b[i+(s<<3)>>3]}s=s+1|0}k=k+1|0}h=h+1|0}a[Z+(B<<2)>>2]=n;f=B}vA(95582,94943,1642,95559);break}case 2:{I=a[A+28>>2]|0;C=a[e+28>>2]|0;d=a[i+28>>2]|0;B=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}v=n+1|0;g=z+(v<<2)|0;E=Z+(n<<2)|0;A=a[z+(n<<2)>>2]|0;while(1){if((A|0)>=(a[g>>2]|0))break;w=a[Y+(A<<2)>>2]|0;h=D+(w+1<<2)|0;i=A<<1;e=I+(i<<3)|0;i=I+((i|1)<<3)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[h>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;o=w<<1;k=C+(o<<3)|0;o=C+((o|1)<<3)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[E>>2]|0)){a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];V=+b[e>>3];J=+b[k>>3];F=+b[i>>3];N=+b[o>>3];t=s<<1;l=d+(t<<3)|0;t=d+((t|1)<<3)|0;c=f<<1;b[B+(c<<3)>>3]=(J*V-N*F)*+b[l>>3]-(N*V+F*J)*+b[t>>3];J=+b[e>>3];F=+b[o>>3];V=+b[i>>3];N=+b[k>>3];b[B+((c|1)<<3)>>3]=(N*V+F*J)*+b[l>>3]+(N*J-V*F)*+b[t>>3];f=f+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;J=+b[e>>3];V=+b[k>>3];N=+b[i>>3];F=+b[o>>3];t=s<<1;l=d+(t<<3)|0;t=d+((t|1)<<3)|0;c=c<<1;n=B+(c<<3)|0;b[n>>3]=+b[n>>3]+(V*J-F*N)*+b[l>>3]-(F*J+N*V)*+b[t>>3];V=+b[e>>3];N=+b[o>>3];J=+b[i>>3];F=+b[k>>3];c=B+((c|1)<<3)|0;b[c>>3]=(F*J+N*V)*+b[l>>3]+(F*V-J*N)*+b[t>>3]+ +b[c>>3]}s=s+1|0}w=w+1|0}A=A+1|0}a[Z+(v<<2)>>2]=f;n=v}vA(95582,94943,1674,95559);break}case 4:{E=a[A+28>>2]|0;g=a[e+28>>2]|0;e=a[i+28>>2]|0;i=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}d=n+1|0;B=z+(d<<2)|0;v=Z+(n<<2)|0;o=a[z+(n<<2)>>2]|0;while(1){if((o|0)>=(a[B>>2]|0))break;w=a[Y+(o<<2)>>2]|0;A=D+(w+1<<2)|0;h=E+(o<<2)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[A>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;k=g+(w<<2)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[v>>2]|0)){a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];C=U(a[k>>2]|0,a[h>>2]|0)|0;C=U(C,a[e+(s<<2)>>2]|0)|0;I=i+(f<<2)|0;a[I>>2]=(a[I>>2]|0)+C;f=f+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;C=U(a[k>>2]|0,a[h>>2]|0)|0;C=U(C,a[e+(s<<2)>>2]|0)|0;I=i+(c<<2)|0;a[I>>2]=(a[I>>2]|0)+C}s=s+1|0}w=w+1|0}o=o+1|0}a[Z+(d<<2)>>2]=f;n=d}vA(95582,94943,1706,95559);break}case 8:{a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}A=n+1|0;h=z+(A<<2)|0;e=Z+(n<<2)|0;k=a[z+(n<<2)>>2]|0;while(1){if((k|0)>=(a[h>>2]|0))break;w=a[Y+(k<<2)>>2]|0;o=D+(w+1<<2)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[o>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)>=(a[e>>2]|0)){if((a[G+(c<<2)>>2]|0)!=(l|0))break i}else{a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];f=f+1|0}s=s+1|0}w=w+1|0}k=k+1|0}a[Z+(A<<2)>>2]=f;n=A}vA(95582,94943,1729,95559);break}default:{rq(r);r=0;break A}}}while(0);a[r+8>>2]=Q}}while(0);L2(M)}else r=0;return r|0}function Ns(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;if((a[A+32>>2]|0)!=2)vA(95100,94943,1971,95607);if((e|0)>=1){l=a[A+8>>2]|0;n=l+e|0;if((n|0)>=(a[A+12>>2]|0))Xs(A,n+10|0)|0;t=l<<2;n=e<<2;y6((a[A+20>>2]|0)+t|0,i|0,n|0)|0;y6((a[A+24>>2]|0)+t|0,r|0,n|0)|0;n=a[A+40>>2]|0;if(n|0){t=U(n,e)|0;l=U(n,l)|0;y6((a[A+28>>2]|0)+l|0,f|0,t|0)|0}f=A+4|0;l=0;while(1){if((l|0)>=(e|0))break;n=a[i+(l<<2)>>2]|0;if((n|0)>=(a[A>>2]|0))a[A>>2]=n+1;n=a[r+(l<<2)>>2]|0;if((n|0)>=(a[f>>2]|0))a[f>>2]=n+1;l=l+1|0}t=A+8|0;a[t>>2]=(a[t>>2]|0)+e}return A|0}function Xs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((a[A+32>>2]|0)==2){i=A+20|0;f=e<<2;a[i>>2]=eV(a[i>>2]|0,f)|0;i=A+24|0;a[i>>2]=eV(a[i>>2]|0,f)|0;i=a[A+40>>2]|0;if((i|0)>0){f=A+28|0;r=a[f>>2]|0;i=U(i,e)|0;if(!r)i=$F(i)|0;else i=eV(r,i)|0;a[f>>2]=i}}else{i=A+24|0;a[i>>2]=eV(a[i>>2]|0,e<<2)|0;i=a[A+40>>2]|0;if((i|0)>0){f=A+28|0;r=a[f>>2]|0;i=U(i,e)|0;if(!r)i=$F(i)|0;else i=eV(r,i)|0;a[f>>2]=i}}a[A+12>>2]=e;return A|0}function Rs(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;A:do{if(!A)A=0;else{s=a[A+20>>2]|0;c=a[A+24>>2]|0;e:do{switch(a[A+16>>2]|0){case 1:{l=a[A+28>>2]|0;r=a[A>>2]|0;e=0;i:while(1){if((e|0)>=(r|0))break e;f=e+1|0;n=a[s+(f<<2)>>2]|0;e=a[s+(e<<2)>>2]|0;i=1.0/+(n-e|0);while(1){if((e|0)>=(n|0)){e=f;continue i}c=l+(e<<3)|0;b[c>>3]=+b[c>>3]*i;e=e+1|0}}}case 2:{f=a[A+28>>2]|0;n=a[A>>2]|0;e=0;i:while(1){if((e|0)>=(n|0))break e;l=e+1|0;t=a[s+(l<<2)>>2]|0;r=a[s+(e<<2)>>2]|0;i=1.0/+(t-r|0);while(1){if((r|0)>=(t|0)){e=l;continue i}if((a[c+(r<<2)>>2]|0)!=(e|0)){w=r<<1;u=f+(w<<3)|0;b[u>>3]=+b[u>>3]*i;w=f+((w|1)<<3)|0;b[w>>3]=+b[w>>3]*i}r=r+1|0}}}case 4:{vA(138394,94943,2192,95648);break}case 8:break;default:{A=0;break A}}}while(0)}}while(0);return A|0}function Hs(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((A|0)!=0?(e=A+8|0,i=a[e>>2]|0,r=a[A+4>>2]|0,(r|0)==(a[A>>2]|0)):0){n=a[A+24>>2]|0;A=a[A+20>>2]|0;f=fq(r,r,i,8,1)|0;y6(a[f+20>>2]|0,A|0,(r<<2)+4|0)|0;y6(a[f+24>>2]|0,n|0,i<<2|0)|0;a[f+8>>2]=a[e>>2];A=tq(f,1)|0;rq(f);A=kq(A)|0;r=A+8|0;i=$F(a[r>>2]<<3)|0;a[A+28>>2]=i;r=a[r>>2]|0;e=0;while(1){if((e|0)>=(r|0))break;b[i+(e<<3)>>3]=1.0;e=e+1|0}a[A+16>>2]=1;a[A+40>>2]=8}else A=0;return A|0}function ps(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;E=a[A+4>>2]|0;u=a[A>>2]|0;d=E<<2;B=$F(d)|0;v=$F(d+4|0)|0;g=$F(d)|0;d=$F(d)|0;k=v+4|0;A=0;while(1){if((A|0)>=(E|0))break;a[B+(A<<2)>>2]=0;A=A+1|0}a[k>>2]=E;A=0;while(1){if((A|0)>=(E|0)){l=1;b=0;break}a[g+(A<<2)>>2]=-1;A=A+1|0}A:while(1){if((b|0)>=(u|0))break;n=o+(b<<2)|0;s=b+1|0;w=o+(s<<2)|0;A=a[n>>2]|0;while(1){f=a[w>>2]|0;if((A|0)>=(f|0))break;c=k+(a[B+(a[h+(A<<2)>>2]<<2)>>2]<<2)|0;a[c>>2]=(a[c>>2]|0)+-1;A=A+1|0}A=l;c=a[n>>2]|0;while(1){if((c|0)>=(f|0)){l=A;b=s;continue A}l=h+(c<<2)|0;f=B+(a[l>>2]<<2)|0;t=a[f>>2]|0;n=g+(t<<2)|0;if((a[n>>2]|0)<(b|0)){a[n>>2]=b;f=k+(t<<2)|0;if(!(a[f>>2]|0)){a[f>>2]=1;n=A;A=t;f=d+(t<<2)|0}else{a[d+(t<<2)>>2]=A;a[k+(A<<2)>>2]=1;n=A+1|0;f=B+(a[l>>2]<<2)|0}a[f>>2]=A;A=n}else{t=d+(t<<2)|0;a[f>>2]=a[t>>2];t=k+(a[t>>2]<<2)|0;a[t>>2]=(a[t>>2]|0)+1}c=c+1|0;f=a[w>>2]|0}}a[v>>2]=0;A=0;f=0;while(1){if((A|0)>=(l|0))break;o=A+1|0;k=v+(o<<2)|0;h=(a[k>>2]|0)+f|0;a[k>>2]=h;A=o;f=h}a[i>>2]=d;A=0;while(1){if((A|0)>=(E|0)){A=l;break}h=v+(a[B+(A<<2)>>2]<<2)|0;i=a[h>>2]|0;a[h>>2]=i+1;a[d+(i<<2)>>2]=A;A=A+1|0}while(1){if((A|0)<=0)break;E=A+-1|0;a[v+(A<<2)>>2]=a[v+(E<<2)>>2];A=E}a[v>>2]=0;a[r>>2]=v;a[e>>2]=l;L2(g);L2(B);return}function Us(){return+(+(a8()|0)*4.656612875245797e-10)}function xs(A){A=A|0;if((A|0)>1)return(a8()|0)%(A|0)|0|0;else vA(95682,95688,58,95698);return 0}function Ts(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;A:do{if((A|0)<1)e=0;else{e=$F(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break;a[e+(i<<2)>>2]=i;i=i+1|0}while(1){if((A|0)<=1)break A;r=xs(A)|0;i=A+-1|0;n=e+(i<<2)|0;f=a[n>>2]|0;r=e+(r<<2)|0;a[n>>2]=a[r>>2];a[r>>2]=f;A=i}}}while(0);return e|0}function js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=0;while(1){if((r|0)>=(A|0))break;f=i+(r<<3)|0;b[f>>3]=+b[e+(r<<3)>>3]-+b[f>>3];r=r+1|0}return i|0}function Ss(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0;r=0;f=0.0;while(1){if((r|0)>=(A|0))break;a=+b[i+(r<<3)>>3]*+b[e+(r<<3)>>3]+f;r=r+1|0;f=a}return+f}function Ps(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=i+(f<<3)|0;b[a>>3]=+b[a>>3]*r+ +b[e+(f<<3)>>3];f=f+1|0}return i|0}function Os(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=e+(f<<3)|0;b[a>>3]=+b[i+(f<<3)>>3]*r+ +b[a>>3];f=f+1|0}return e|0}function Ks(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,n=0.0;a=U(i,e)|0;r=U(r,e)|0;f=0.0;i=0;while(1){if((i|0)>=(e|0))break;n=+b[A+(i+a<<3)>>3]-+b[A+(i+r<<3)>>3];f=n*n+f;i=i+1|0}n=+z(+f);return+(n>1.0e-15?n:1.0e-15)}function _s(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,n=0.0;a=U(i,e)|0;r=U(r,e)|0;f=0.0;i=0;while(1){if((i|0)>=(e|0))break;n=+b[A+(i+a<<3)>>3]-+b[A+(i+r<<3)>>3];f=n*n+f;i=i+1|0}return+ +z(+f)}function qs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0.0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;a=+b[A+(f<<3)>>3]-+b[e+(f<<3)>>3];r=a*a+r;f=f+1|0}return+ +z(+r)}function $s(A,e,i,r,f,a,n){A=+A;e=+e;i=+i;r=+r;f=f|0;a=a|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0.0;o=k;k=k+80|0;w=o+48|0;s=o+24|0;u=o;l=0;while(1){if((l|0)>=(a|0)){t=0;break}h=+b[n+(l<<3)>>3];b[w+(l<<3)>>3]=h;b[s+(l<<3)>>3]=h;l=l+1|0}while(1){if((t|0)>=(f|0))break;c=U(t,a)|0;l=0;while(1){if((l|0)>=(a|0))break;B=+b[n+(l+c<<3)>>3];d=w+(l<<3)|0;h=+b[d>>3];b[d>>3]=B>3];b[d>>3]=B>h?B:h;l=l+1|0}t=t+1|0}h=+b[s>>3]-+b[w>>3];i=h!=0.0?(i-A)/h:1.0;h=+b[s+8>>3]-+b[w+8>>3];B=(r-e)/h;i=h!=0.0?i>3]=A;b[u+8>>3]=e;b[u+16>>3]=0.0;t=0;while(1){if((t|0)>=(f|0))break;c=U(t,a)|0;l=0;while(1){if((l|0)>=(a|0))break;d=n+(l+c<<3)|0;b[d>>3]=(+b[d>>3]-+b[w+(l<<3)>>3])*i+ +b[u+(l<<3)>>3];l=l+1|0}t=t+1|0}k=o;return}function Aw(A,e){A=A|0;e=e|0;if((vh(A)|0)==1){A=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}else{ew(A);if(!((gR(po(e,95704)|0)|0)<<24>>24))e=Ju(A,186208)|0;else e=iw(A)|0;ju(A,e,186208);rw(e)}return}function ew(A){A=A|0;var e=0;e=Id(a[a[(a[(cd(A)|0)+16>>2]|0)+112>>2]>>2]|0)|0;A=a[46925]|0;if((e|0)!=(A|0)){a[46555]=0;a[46925]=e;a[46926]=Yo(e,0,95713,0)|0;a[46927]=Yo(a[46925]|0,1,95721,0)|0;a[46928]=Yo(a[46925]|0,1,95738,0)|0;A=a[46925]|0}a[46929]=po(A,95738)|0;zu(186208);a[46554]=1;b[23280]=+oR(a[46925]|0,a[46926]|0,1.0,0.0);a[46556]=a[46927];a[46557]=a[46928];a[46558]=a[46929];return}function iw(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+144|0;r=f;i=f+8|0;e=a[46555]|0;a[46555]=e+1;a[r>>2]=e;P4(i,96234,r)|0;i=Yu(XB(A,i,1)|0)|0;r=i+8|0;e=cd(A)|0;while(1){if(!e)break;kd(a[r>>2]|0,e,1)|0;a[(a[(a[e+16>>2]|0)+112>>2]|0)+12>>2]=i;e=bd(A,e)|0}k=f;return i|0}function rw(A){A=A|0;Tu(A);return}function fw(A,e){A=A|0;e=e|0;var i=0;i=$F(32)|0;a[i>>2]=4;b[i+8>>3]=.75;a[i+16>>2]=1073741824;a[i+20>>2]=1;a[i+24>>2]=A;a[i+28>>2]=e;return i|0}function aw(A){A=A|0;L2(A);return}function nw(A){A=A|0;var e=0,i=0;if(!A)return;i=a[A+8>>2]|0;do{if(i|0){if(a[A>>2]|0){rq(i);e=a[A+12>>2]|0;if(!e)break;rq(e);break}if(a[A+36>>2]|0?(rq(i),e=a[A+12>>2]|0,e|0):0)rq(e)}}while(0);rq(a[A+16>>2]|0);rq(a[A+20>>2]|0);e=a[A+24>>2]|0;if(e|0?(a[A>>2]|0)>0:0)L2(e);nw(a[A+28>>2]|0);L2(A);return}function lw(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0;E=k;k=k+32|0;w=E+16|0;u=E+12|0;o=E+8|0;h=E+4|0;d=E;a[w>>2]=A;a[u>>2]=0;a[o>>2]=0;a[h>>2]=0;a[d>>2]=0;a[l>>2]=0;a[t>>2]=0;a[e>>2]=0;a[n>>2]=0;a[r>>2]=0;B=c+28|0;v=c+8|0;g=+(a[A+4>>2]|0);f=i;do{tw(A,w,f,u,0,d,o,h,c,s);f=a[w>>2]|0;if(!f)break;i=a[f+4>>2]|0;f=a[l>>2]|0;if(!f){a[l>>2]=a[o>>2];a[t>>2]=a[h>>2]}else{A=Vs(f,a[o>>2]|0)|0;rq(a[l>>2]|0);rq(a[o>>2]|0);a[l>>2]=A;A=Vs(a[h>>2]|0,a[t>>2]|0)|0;rq(a[t>>2]|0);rq(a[h>>2]|0);a[t>>2]=A}f=a[e>>2]|0;if(f|0)rq(f);a[e>>2]=a[w>>2];f=a[r>>2]|0;if(f|0)rq(f);f=a[u>>2]|0;a[r>>2]=f;A=a[n>>2]|0;if(A){L2(A);f=a[u>>2]|0}a[n>>2]=a[d>>2];A=a[w>>2]|0;a[d>>2]=0;if(!(+b[v>>3]*g<+(i|0)))break}while((a[B>>2]|0)==1);k=E;return}function tw(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+32|0;W=D+28|0;h=D+24|0;m=D+20|0;y=D+16|0;u=D+12|0;z=D+8|0;Y=D+4|0;E=D;a[W>>2]=0;a[h>>2]=0;a[y>>2]=0;a[z>>2]=0;a[Y>>2]=0;a[e>>2]=0;a[r>>2]=0;a[l>>2]=0;a[t>>2]=0;L=a[A>>2]|0;o=c+24|0;a[s>>2]=a[o>>2];w=a[o>>2]|0;A:do{switch(w|0){case 12:{a[o>>2]=3;a[s>>2]=3;tw(A,e,i,r,f,n,l,t,c,s);if((((a[e>>2]|0)==0?(a[o>>2]=4,a[s>>2]=4,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0)?(a[o>>2]=6,a[s>>2]=6,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0)?(a[o>>2]=9,a[s>>2]=9,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0){a[o>>2]=2;a[s>>2]=2;tw(A,e,i,r,f,n,l,t,c,s)}a[o>>2]=12;o=0;h=0;c=0;u=0;w=0;s=0;break}case 9:case 10:{i=a[c+20>>2]|0;if((w|0)==9)ow(A,i,y,u,m);else hw(A,i,y,u,m);g=a[A+20>>2]|0;E=a[A+24>>2]|0;v=a[u>>2]|0;if(!(a[c+28>>2]|0)){if((v|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(v|0)){o=0;h=0;c=0;u=0;w=0;s=0;break A}}else if((v|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break A}if((v|0)>=(a[c>>2]|0)){G=a[m>>2]|0;Z=G<<2;I=$F(Z)|0;Z=$F(Z)|0;G=$F(G<<3)|0;a[m>>2]=0;B=a[y>>2]|0;d=0;u=0;e:while(1){if((d|0)>=(L|0))break;i=B+(d<<2)|0;if((a[i>>2]|0)!=-1){a[I+(u<<2)>>2]=d;a[Z+(a[m>>2]<<2)>>2]=a[i>>2];h=a[m>>2]|0;c=h+1|0;a[m>>2]=c;b[G+(h<<3)>>3]=1.0;d=d+1|0;u=c;continue}w=a[g+(d<<2)>>2]|0;h=d+1|0;c=g+(h<<2)|0;o=a[c>>2]|0;i=0;s=w;while(1){if((s|0)>=(o|0))break;i=((a[B+(a[E+(s<<2)>>2]<<2)>>2]|0)>>>31^1)+i|0;s=s+1|0}C=1.0/+(i|0);i=o;while(1){if((w|0)>=(i|0)){d=h;continue e}s=E+(w<<2)|0;if((a[B+(a[s>>2]<<2)>>2]|0)>-1){a[I+(u<<2)>>2]=d;a[Z+(a[m>>2]<<2)>>2]=a[B+(a[s>>2]<<2)>>2];i=a[m>>2]|0;s=i+1|0;a[m>>2]=s;b[G+(i<<3)>>3]=C;i=a[c>>2]|0}else s=u;w=w+1|0;u=s}}L=hq(u,L,v,I,Z,G,1,8)|0;a[l>>2]=L;L=iq(L)|0;a[t>>2]=L;l=Js(L,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=G;h=Z;c=I;u=I;w=Z;s=G}else{Ms(a[t>>2]|0,f,n,0);o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;a[r>>2]=0;o=G;h=Z;c=I;u=I;w=Z;s=G}}else{o=0;h=0;c=0;u=0;w=0;s=0}break}case 5:{Q=26;break}case 1:{s=c+20|0;ww(A,a[s>>2]|0,W,h);i=a[o>>2]|0;if((i|0)==2){i=s;Q=24}else Q=25;break}case 2:{i=c+20|0;Q=24;break}case 3:{cw(A,a[c+20>>2]|0,z,Y,E);Q=12;break}case 4:{bw(A,a[c+20>>2]|0,z,Y,E);Q=12;break}case 6:{sw(A,z,Y,E);Q=12;break}default:{o=0;h=0;c=0;u=0;w=0;s=0}}}while(0);do{if((Q|0)==12){d=a[E>>2]|0;if(!(a[c+28>>2]|0)){if((d|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(d|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}}else if((d|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}if((d|0)>=(a[c>>2]|0)){v=L<<2;B=$F(v)|0;v=$F(v)|0;g=$F(L<<3)|0;a[m>>2]=0;u=a[Y>>2]|0;o=a[z>>2]|0;w=0;i=0;A:while(1){if((w|0)>=(a[E>>2]|0))break;h=w+1|0;c=u+(h<<2)|0;s=a[u+(w<<2)>>2]|0;while(1){if((s|0)>=(a[c>>2]|0)){w=h;continue A}a[B+(i<<2)>>2]=a[o+(s<<2)>>2];a[v+(a[m>>2]<<2)>>2]=w;Z=a[m>>2]|0;G=Z+1|0;a[m>>2]=G;b[g+(Z<<3)>>3]=1.0;s=s+1|0;i=G}}L=hq(i,L,d,B,v,g,1,8)|0;a[l>>2]=L;a[t>>2]=iq(L)|0;a[r>>2]=0;l=Js(a[t>>2]|0,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=g;h=v;c=B;u=B;w=v;s=g}else{Ms(a[t>>2]|0,f,n,0);a[t>>2]=Rs(a[t>>2]|0)|0;o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;o=g;h=v;c=B;u=B;w=v;s=g}}else{o=0;h=0;c=0;u=0;w=0;s=0}}else if((Q|0)==24){uw(A,a[i>>2]|0,W,h);i=a[o>>2]|0;Q=25}}while(0);if((Q|0)==25)if((i|0)==5)Q=26;else Q=27;if((Q|0)==26){kw(A,a[c+20>>2]|0,W,h);Q=27}do{if((Q|0)==27){i=a[h>>2]|0;if(!(a[c+28>>2]|0)){if((i|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(i|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}}else if((i|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}if((i|0)>=(a[c>>2]|0)){B=L<<2;d=$F(B)|0;B=$F(B)|0;v=$F(L<<3)|0;a[m>>2]=0;h=a[W>>2]|0;i=0;o=0;while(1){if((o|0)>=(L|0))break;s=h+(o<<2)|0;w=a[s>>2]|0;if((w|0)>-1){a[d+(a[m>>2]<<2)>>2]=o;a[B+(a[m>>2]<<2)>>2]=i;Q=a[m>>2]|0;u=Q+1|0;a[m>>2]=u;b[v+(Q<<3)>>3]=1.0;if((w|0)!=(o|0)){a[d+(u<<2)>>2]=a[s>>2];a[B+(a[m>>2]<<2)>>2]=i;Q=a[m>>2]|0;a[m>>2]=Q+1;b[v+(Q<<3)>>3]=1.0;a[h+(a[s>>2]<<2)>>2]=-1}a[s>>2]=-1;i=i+1|0}o=o+1|0}L=hq(a[m>>2]|0,L,i,d,B,v,1,8)|0;a[l>>2]=L;L=iq(L)|0;a[t>>2]=L;l=Js(L,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=v;h=B;c=d;u=d;w=B;s=v}else{Ms(a[t>>2]|0,f,n,0);a[t>>2]=Rs(a[t>>2]|0)|0;o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;a[r>>2]=0;o=v;h=B;c=d;u=d;w=B;s=v}}else{o=0;h=0;c=0;u=0;w=0;s=0}}}while(0);i=a[W>>2]|0;if(i|0)L2(i);i=a[y>>2]|0;if(i|0)L2(i);if(c|0)L2(u);if(h|0)L2(w);if(o|0)L2(s);i=a[z>>2]|0;if(i|0)L2(i);i=a[Y>>2]|0;if(i|0)L2(i);k=D;return}function cw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;v=a[A+20>>2]|0;g=a[A+24>>2]|0;C=a[A>>2]|0;E=C<<2;a[i>>2]=$F(E)|0;a[r>>2]=$F(E+4|0)|0;E=$F(E)|0;n=0;while(1){if((n|0)>=(C|0))break;a[E+(n<<2)>>2]=n;n=n+1|0}a[f>>2]=0;d=a[r>>2]|0;a[d>>2]=0;B=a[A+28>>2]|0;A:do{if(!e){n=0;A=0;e:while(1){while(1){if((A|0)>=(C|0)){A=0;t=0.0;e=0;break e}e=A;A=A+1|0;if((a[E+(e<<2)>>2]|0)==-1)continue;e=a[v+(e<<2)>>2]|0;if(((a[v+(A<<2)>>2]|0)-e|0)==1)break}s=a[g+(e<<2)>>2]|0;a[E+(s<<2)>>2]=-1;w=a[i>>2]|0;a[w+(n<<2)>>2]=s;u=v+(s+1<<2)|0;c=a[v+(s<<2)>>2]|0;n=n+1|0;while(1){if((c|0)>=(a[u>>2]|0))break;e=g+(c<<2)|0;l=a[e>>2]|0;if((s|0)!=(l|0)?((a[v+(l+1<<2)>>2]|0)-(a[v+(l<<2)>>2]|0)|0)==1:0){a[E+(l<<2)>>2]=-1;a[w+(n<<2)>>2]=a[e>>2];n=n+1|0}c=c+1|0}e=a[f>>2]|0;l=a[d+(e<<2)>>2]|0;if((n-l|0)<5){r=e+1|0;a[f>>2]=r;a[d+(r<<2)>>2]=n;continue}l=l+1|0;e=e+1|0;a[f>>2]=e;a[d+(e<<2)>>2]=l;e=l;while(1){if(!((l|0)<(n|0)&(e|0)<(n|0)))continue e;r=l+3|0;r=(n|0)<(r|0)?n:r;h=(a[f>>2]|0)+1|0;a[f>>2]=h;a[d+(h<<2)>>2]=r;e=e+1|0;l=r}}e:while(1){do{u=e;while(1){if((u|0)>=(C|0)){A=0;break e}o=E+(u<<2)|0;l=a[o>>2]|0;if((l|0)!=-1)break;u=u+1|0}e=u+1|0;h=a[v+(e<<2)>>2]|0;s=1;w=a[v+(u<<2)>>2]|0;while(1){if((w|0)>=(h|0))break;c=a[g+(w<<2)>>2]|0;if((u|0)!=(c|0)?(a[E+(c<<2)>>2]|0)!=-1:0)if((l|0)!=-1){k=+b[B+(w<<3)>>3];if((s|0)==0?!(k>t):0)s=0;else{s=0;A=c;t=k}}else l=-1;w=w+1|0}}while((s|0)!=0);a[E+(A<<2)>>2]=-1;a[o>>2]=-1;h=a[i>>2]|0;a[h+(n<<2)>>2]=u;r=n+2|0;a[h+(n+1<<2)>>2]=A;h=(a[f>>2]|0)+1|0;a[f>>2]=h;a[d+(h<<2)>>2]=r;n=r}while(1){if((A|0)>=(C|0))break A;if((a[E+(A<<2)>>2]|0)==(A|0)){g=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[d+(n<<2)>>2]=g;n=g}A=A+1|0}}else{d=Ts(C)|0;u=0;n=0;while(1){if((u|0)>=(C|0)){h=0;A=0;t=0.0;break}A=a[d+(u<<2)>>2]|0;e:do{if((a[E+(A<<2)>>2]|0)!=-1?(o=a[v+(A<<2)>>2]|0,((a[v+(A+1<<2)>>2]|0)-o|0)==1):0){c=a[g+(o<<2)>>2]|0;a[E+(c<<2)>>2]=-1;s=a[i>>2]|0;a[s+(n<<2)>>2]=c;w=v+(c+1<<2)|0;l=a[v+(c<<2)>>2]|0;n=n+1|0;while(1){if((l|0)>=(a[w>>2]|0))break;A=g+(l<<2)|0;e=a[A>>2]|0;if((c|0)!=(e|0)?((a[v+(e+1<<2)>>2]|0)-(a[v+(e<<2)>>2]|0)|0)==1:0){a[E+(e<<2)>>2]=-1;a[s+(n<<2)>>2]=a[A>>2];n=n+1|0}l=l+1|0}l=a[r>>2]|0;A=a[f>>2]|0;e=a[l+(A<<2)>>2]|0;if((n-e|0)<5){h=A+1|0;a[f>>2]=h;a[l+(h<<2)>>2]=n;break}e=e+1|0;A=A+1|0;a[f>>2]=A;a[l+(A<<2)>>2]=e;A=e;while(1){if(!((e|0)<(n|0)&(A|0)<(n|0)))break e;h=e+3|0;h=(n|0)<(h|0)?n:h;w=(a[f>>2]|0)+1|0;a[f>>2]=w;a[l+(w<<2)>>2]=h;A=A+1|0;e=h}}}while(0);u=u+1|0}while(1){if((h|0)>=(C|0)){A=0;break}w=a[d+(h<<2)>>2]|0;u=E+(w<<2)|0;e=a[u>>2]|0;if((e|0)!=-1){o=a[v+(w+1<<2)>>2]|0;c=1;s=a[v+(w<<2)>>2]|0;while(1){if((s|0)>=(o|0))break;l=a[g+(s<<2)>>2]|0;if((w|0)!=(l|0)?(a[E+(l<<2)>>2]|0)!=-1:0)if((e|0)!=-1){k=+b[B+(s<<3)>>3];if((c|0)==0?!(k>t):0)c=0;else{c=0;A=l;t=k}}else e=-1;s=s+1|0}if(!c){a[E+(A<<2)>>2]=-1;a[u>>2]=-1;u=a[i>>2]|0;a[u+(n<<2)>>2]=w;o=n+2|0;a[u+(n+1<<2)>>2]=A;u=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[u+(n<<2)>>2]=o;n=o}}h=h+1|0}while(1){if((A|0)>=(C|0))break;if((a[E+(A<<2)>>2]|0)==(A|0)){g=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;v=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[v+(n<<2)>>2]=g;n=g}A=A+1|0}L2(d)}}while(0);L2(E);return}function bw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+16|0;h=Q+8|0;Z=Q+4|0;G=Q;a[Z>>2]=0;a[G>>2]=0;E=a[A+20>>2]|0;g=a[A+24>>2]|0;C=a[A>>2]|0;I=C<<2;a[i>>2]=$F(I)|0;a[r>>2]=$F(I+4|0)|0;I=$F(I)|0;n=0;while(1){if((n|0)>=(C|0))break;a[I+(n<<2)>>2]=n;n=n+1|0}ps(A,h,Z,G);a[f>>2]=0;B=a[r>>2]|0;a[B>>2]=0;v=a[A+28>>2]|0;n=0;A=0;A:while(1){c=a[h>>2]|0;s=a[G>>2]|0;do{if((A|0)>=(c|0))break A;w=A;A=A+1|0;o=s+(A<<2)|0;t=a[o>>2]|0;w=a[s+(w<<2)>>2]|0}while((t-w|0)<2);s=a[Z>>2]|0;c=a[B+(a[f>>2]<<2)>>2]|0;while(1){if((w|0)>=(t|0))break;d=s+(w<<2)|0;a[I+(a[d>>2]<<2)>>2]=-1;t=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=a[d>>2];if((t-c|0)>3){n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[B+(n<<2)>>2]=t;n=t}else n=c;c=n;w=w+1|0;n=t;t=a[o>>2]|0}if((n|0)<=(c|0))continue;d=(a[f>>2]|0)+1|0;a[f>>2]=d;a[B+(d<<2)>>2]=n}A:do{if(!e){A=0;l=0.0;t=0;e:while(1){do{e=t;while(1){if((e|0)>=(C|0)){A=0;break e}h=I+(e<<2)|0;c=a[h>>2]|0;if((c|0)!=-1)break;e=e+1|0}t=e+1|0;d=a[E+(t<<2)>>2]|0;w=1;o=a[E+(e<<2)>>2]|0;while(1){if((o|0)>=(d|0))break;s=a[g+(o<<2)>>2]|0;if((e|0)!=(s|0)?(a[I+(s<<2)>>2]|0)!=-1:0)if((c|0)!=-1){u=+b[v+(o<<3)>>3];if((w|0)==0?!(u>l):0)w=0;else{w=0;A=s;l=u}}else c=-1;o=o+1|0}}while((w|0)!=0);a[I+(A<<2)>>2]=-1;a[h>>2]=-1;d=a[i>>2]|0;a[d+(n<<2)>>2]=e;r=n+2|0;a[d+(n+1<<2)>>2]=A;d=(a[f>>2]|0)+1|0;a[f>>2]=d;a[B+(d<<2)>>2]=r;n=r}while(1){if((A|0)>=(C|0))break A;if((a[I+(A<<2)>>2]|0)==(A|0)){E=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[B+(n<<2)>>2]=E;n=E}A=A+1|0}}else{B=Ts(C)|0;d=0;A=0;l=0.0;while(1){if((d|0)>=(C|0)){A=0;break}o=a[B+(d<<2)>>2]|0;e=I+(o<<2)|0;t=a[e>>2]|0;if((t|0)!=-1){h=a[E+(o+1<<2)>>2]|0;s=1;w=a[E+(o<<2)>>2]|0;while(1){if((w|0)>=(h|0))break;c=a[g+(w<<2)>>2]|0;if((o|0)!=(c|0)?(a[I+(c<<2)>>2]|0)!=-1:0)if((t|0)!=-1){u=+b[v+(w<<3)>>3];if((s|0)==0?!(u>l):0)s=0;else{s=0;A=c;l=u}}else t=-1;w=w+1|0}if(!s){a[I+(A<<2)>>2]=-1;a[e>>2]=-1;e=a[i>>2]|0;a[e+(n<<2)>>2]=o;h=n+2|0;a[e+(n+1<<2)>>2]=A;e=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[e+(n<<2)>>2]=h;n=h}}d=d+1|0}while(1){if((A|0)>=(C|0))break;if((a[I+(A<<2)>>2]|0)==(A|0)){E=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;g=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[g+(n<<2)>>2]=E;n=E}A=A+1|0}L2(B)}}while(0);L2(a[Z>>2]|0);L2(a[G>>2]|0);L2(I);k=Q;return}function sw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;d=a[A+20>>2]|0;B=a[A+24>>2]|0;E=a[A>>2]|0;g=E<<2;a[e>>2]=$F(g)|0;a[i>>2]=$F(g+4|0)|0;g=$F(g)|0;h=$F(E<<4)|0;f=0;while(1){if((f|0)>=(E|0))break;a[g+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=0;a[a[i>>2]>>2]=0;o=a[A+28>>2]|0;v=Ts(E)|0;f=0;w=0;while(1){if((w|0)>=(E|0)){k=0;break}A=a[v+(w<<2)>>2]|0;A:do{if((a[g+(A<<2)>>2]|0)!=-1?(u=a[d+(A<<2)>>2]|0,((a[d+(A+1<<2)>>2]|0)-u|0)==1):0){t=a[B+(u<<2)>>2]|0;a[g+(t<<2)>>2]=-1;c=a[e>>2]|0;a[c+(f<<2)>>2]=t;s=d+(t+1<<2)|0;l=a[d+(t<<2)>>2]|0;f=f+1|0;while(1){if((l|0)>=(a[s>>2]|0))break;A=B+(l<<2)|0;n=a[A>>2]|0;if((t|0)!=(n|0)?((a[d+(n+1<<2)>>2]|0)-(a[d+(n<<2)>>2]|0)|0)==1:0){a[g+(n<<2)>>2]=-1;a[c+(f<<2)>>2]=a[A>>2];f=f+1|0}l=l+1|0}l=a[i>>2]|0;A=a[r>>2]|0;n=a[l+(A<<2)>>2]|0;if((f-n|0)<5){k=A+1|0;a[r>>2]=k;a[l+(k<<2)>>2]=f;break}n=n+1|0;A=A+1|0;a[r>>2]=A;a[l+(A<<2)>>2]=n;A=n;while(1){if(!((n|0)<(f|0)&(A|0)<(f|0)))break A;k=n+3|0;k=(f|0)<(k|0)?f:k;s=(a[r>>2]|0)+1|0;a[r>>2]=s;a[l+(s<<2)>>2]=k;A=A+1|0;n=k}}}while(0);w=w+1|0}while(1){if((k|0)>=(E|0)){A=0;break}w=a[v+(k<<2)>>2]|0;u=g+(w<<2)|0;A=a[u>>2]|0;if((A|0)!=-1){s=a[d+(w+1<<2)>>2]|0;n=0;c=a[d+(w<<2)>>2]|0;while(1){if((c|0)>=(s|0))break;t=a[B+(c<<2)>>2]|0;if((w|0)!=(t|0)?(a[g+(t<<2)>>2]|0)!=-1:0){l=n<<1;if((A|0)==-1)A=-1;else{b[h+(l<<3)>>3]=+(t|0);b[h+((l|1)<<3)>>3]=+b[o+(c<<3)>>3];n=n+1|0}}c=c+1|0}if((n|0)>0){K4(h,n,16,81);n=(n|0)<3?n:3;A=0;while(1){if((A|0)>=(n|0))break;s=~~+b[h+(A<<1<<3)>>3];a[g+(s<<2)>>2]=-1;a[(a[e>>2]|0)+(f<<2)>>2]=s;A=A+1|0;f=f+1|0}a[u>>2]=-1;u=f+1|0;a[(a[e>>2]|0)+(f<<2)>>2]=w;w=a[i>>2]|0;f=(a[r>>2]|0)+1|0;a[r>>2]=f;a[w+(f<<2)>>2]=u;f=u}}k=k+1|0}while(1){if((A|0)>=(E|0))break;if((a[g+(A<<2)>>2]|0)==(A|0)){B=f+1|0;a[(a[e>>2]|0)+(f<<2)>>2]=A;d=a[i>>2]|0;f=(a[r>>2]|0)+1|0;a[r>>2]=f;a[d+(f<<2)>>2]=B;f=B}A=A+1|0}L2(v);L2(g);return}function ww(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;d=a[A>>2]|0;f=a[A+4>>2]|0;b=$F(d<<2)|0;a[i>>2]=b;A=0;while(1){if((A|0)>=(d|0))break;a[b+(A<<2)>>2]=A;A=A+1|0}a[r>>2]=f;A:do{if(!e){f=0;e:while(1){if((f|0)>=(d|0))break A;e=f+1|0;n=o+(e<<2)|0;l=b+(f<<2)|0;t=b+(f<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[n>>2]|0)){f=e;continue e}c=h+(A<<2)|0;i=a[c>>2]|0;if(((f|0)!=(i|0)?(k=b+(i<<2)|0,(a[k>>2]|0)==(i|0)):0)?(a[l>>2]|0)==(f|0):0){a[k>>2]=f;a[t>>2]=a[c>>2];a[r>>2]=(a[r>>2]|0)+-1}A=A+1|0}}}else{e=Ts(d)|0;A=0;while(1){if((A|0)>=(d|0))break;n=a[e+(A<<2)>>2]|0;l=o+(n+1<<2)|0;f=a[o+(n<<2)>>2]|0;while(1){if((f|0)>=(a[l>>2]|0))break;t=h+(f<<2)|0;c=a[t>>2]|0;if(((n|0)!=(c|0)?(s=a[i>>2]|0,w=s+(c<<2)|0,(a[w>>2]|0)==(c|0)):0)?(u=s+(n<<2)|0,(a[u>>2]|0)==(n|0)):0){a[w>>2]=n;a[u>>2]=a[t>>2];a[r>>2]=(a[r>>2]|0)+-1}f=f+1|0}A=A+1|0}L2(e)}}while(0);return}function uw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;d=a[A+20>>2]|0;B=a[A+24>>2]|0;v=a[A>>2]|0;n=a[A+4>>2]|0;k=$F(v<<2)|0;a[i>>2]=k;f=0;while(1){if((f|0)>=(v|0))break;a[k+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=n;h=a[A+28>>2]|0;A:do{if(!e){f=0;l=0.0;c=0;while(1){if((c|0)>=(v|0))break A;s=c+1|0;w=a[d+(s<<2)>>2]|0;u=k+(c<<2)|0;n=1;e=a[d+(c<<2)>>2]|0;while(1){if((e|0)>=(w|0))break;A=a[B+(e<<2)>>2]|0;if(((c|0)!=(A|0)?(a[k+(A<<2)>>2]|0)==(A|0):0)?(a[u>>2]|0)==(c|0):0){t=+b[h+(e<<3)>>3];if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(n|0){c=s;continue}a[k+(f<<2)>>2]=c;a[k+(c<<2)>>2]=f;a[r>>2]=(a[r>>2]|0)+-1;c=s}}else{o=Ts(v)|0;k=0;f=0;l=0.0;while(1){if((k|0)>=(v|0))break;c=a[o+(k<<2)>>2]|0;s=a[i>>2]|0;w=s+(c<<2)|0;if((a[w>>2]|0)==(c|0)){u=a[d+(c+1<<2)>>2]|0;e=a[d+(c<<2)>>2]|0;n=1;while(1){if((e|0)>=(u|0))break;A=a[B+(e<<2)>>2]|0;if((c|0)!=(A|0)?(a[s+(A<<2)>>2]|0)==(A|0):0){t=+b[h+(e<<3)>>3];if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(!n){a[s+(f<<2)>>2]=c;a[w>>2]=f;a[r>>2]=(a[r>>2]|0)+-1}}k=k+1|0}L2(o)}}while(0);return}function kw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0;B=a[A+20>>2]|0;v=a[A+24>>2]|0;g=a[A>>2]|0;n=a[A+4>>2]|0;o=$F(g<<2)|0;a[i>>2]=o;f=0;while(1){if((f|0)>=(g|0))break;a[o+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=n;d=a[A+28>>2]|0;A:do{if(!e){f=0;l=0.0;c=0;while(1){if((c|0)>=(g|0))break A;e=a[B+(c<<2)>>2]|0;s=c+1|0;w=a[B+(s<<2)>>2]|0;u=o+(c<<2)|0;k=+(w-e|0);n=1;while(1){if((e|0)>=(w|0))break;A=a[v+(e<<2)>>2]|0;if(((c|0)!=(A|0)?(a[o+(A<<2)>>2]|0)==(A|0):0)?(a[u>>2]|0)==(c|0):0){t=+b[d+(e<<3)>>3]/(+((a[B+(A+1<<2)>>2]|0)-(a[B+(A<<2)>>2]|0)|0)*k);if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(n|0){c=s;continue}a[o+(f<<2)>>2]=c;a[o+(c<<2)>>2]=f;a[r>>2]=(a[r>>2]|0)+-1;c=s}}else{h=Ts(g)|0;o=0;f=0;l=0.0;while(1){if((o|0)>=(g|0))break;c=a[h+(o<<2)>>2]|0;s=a[i>>2]|0;w=s+(c<<2)|0;if((a[w>>2]|0)==(c|0)){e=a[B+(c<<2)>>2]|0;u=a[B+(c+1<<2)>>2]|0;k=+(u-e|0);n=1;while(1){if((e|0)>=(u|0))break;A=a[v+(e<<2)>>2]|0;if((c|0)!=(A|0)?(a[s+(A<<2)>>2]|0)==(A|0):0){t=+b[d+(e<<3)>>3]/(+((a[B+(A+1<<2)>>2]|0)-(a[B+(A<<2)>>2]|0)|0)*k);if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(!n){a[s+(f<<2)>>2]=c;a[w>>2]=f;a[r>>2]=(a[r>>2]|0)+-1}}o=o+1|0}L2(h)}}while(0);return}function ow(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=a[A+20>>2]|0;u=a[A+24>>2]|0;s=a[A>>2]|0;c=$F(s<<2)|0;a[i>>2]=c;A=0;while(1){if((A|0)>=(s|0))break;a[c+(A<<2)>>2]=-100;A=A+1|0}a[r>>2]=0;a[f>>2]=0;A:do{if(!e){e=0;e:while(1){if((e|0)>=(s|0))break A;if((a[c+(e<<2)>>2]|0)!=-100){e=e+1|0;continue}n=a[r>>2]|0;a[r>>2]=n+1;a[c+(e<<2)>>2]=n;n=e+1|0;l=w+(n<<2)|0;A=a[w+(e<<2)>>2]|0;while(1){if((A|0)>=(a[l>>2]|0)){e=n;continue e}t=a[u+(A<<2)>>2]|0;if((e|0)!=(t|0)){a[c+(t<<2)>>2]=-1;a[f>>2]=(a[f>>2]|0)+1}A=A+1|0}}}else{t=Ts(s)|0;l=0;while(1){if((l|0)>=(s|0))break;c=a[t+(l<<2)>>2]|0;b=a[i>>2]|0;A=b+(c<<2)|0;e:do{if((a[A>>2]|0)==-100){e=a[r>>2]|0;a[r>>2]=e+1;a[A>>2]=e;e=w+(c+1<<2)|0;A=a[w+(c<<2)>>2]|0;while(1){if((A|0)>=(a[e>>2]|0))break e;n=a[u+(A<<2)>>2]|0;if((c|0)!=(n|0)){a[b+(n<<2)>>2]=-1;a[f>>2]=(a[f>>2]|0)+1}A=A+1|0}}}while(0);l=l+1|0}L2(t)}}while(0);a[f>>2]=(a[f>>2]|0)+(a[r>>2]|0);return}function hw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;w=h+4|0;u=h;o=a[A+20>>2]|0;s=a[A+24>>2]|0;l=a[A>>2]|0;A=$F(l<<2)|0;a[i>>2]=A;n=0;while(1){a[w>>2]=n;if((n|0)>=(l|0))break;a[A+(n<<2)>>2]=-100;n=(a[w>>2]|0)+1|0}a[r>>2]=0;a[f>>2]=0;b=Cw(l,(l<<1)+-2|0)|0;A:do{if(!e){A=0;while(1){a[w>>2]=A;if((A|0)>=(l|0))break A;c=A+1|0;Zw(b,A,(a[o+(c<<2)>>2]|0)-(a[o+(A<<2)>>2]|0)|0)|0;A=c}}else{n=Ts(l)|0;A=0;while(1){if((A|0)>=(l|0))break;c=a[n+(A<<2)>>2]|0;a[w>>2]=c;Zw(b,c,(a[o+(c+1<<2)>>2]|0)-(a[o+(c<<2)>>2]|0)|0)|0;A=A+1|0}L2(n)}}while(0);A:while(1){c=(Gw(b,w,u)|0)==0;A=a[r>>2]|0;if(c)break;a[r>>2]=A+1;a[(a[i>>2]|0)+(a[w>>2]<<2)>>2]=A;A=a[w>>2]|0;c=a[o+(A<<2)>>2]|0;while(1){if((c|0)>=(a[o+(A+1<<2)>>2]|0))continue A;t=a[s+(c<<2)>>2]|0;if((A|0)!=(t|0)){e:do{if((a[(a[i>>2]|0)+(t<<2)>>2]|0)==-100){mw(b,t)|0;a[(a[i>>2]|0)+(t<<2)>>2]=-1;n=o+(t+1<<2)|0;A=a[o+(t<<2)>>2]|0;while(1){if((A|0)>=(a[n>>2]|0))break e;e=s+(A<<2)|0;l=a[e>>2]|0;if((t|0)!=(l|0)?(a[(a[i>>2]|0)+(l<<2)>>2]|0)==-100:0){l=Qw(b,l)|0;a[u>>2]=l;Zw(b,a[e>>2]|0,l+1|0)|0}A=A+1|0}}}while(0);a[f>>2]=(a[f>>2]|0)+1;A=a[w>>2]|0}c=c+1|0}}a[f>>2]=(a[f>>2]|0)+A;Iw(b);k=h;return}function dw(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A+8>>3];i=+b[e+8>>3];return(r>i?-1:r>2]|0)==1:0)f=A;else f=Hs(A)|0;do{if(!e)e=0;else{if(cq(e,0)|0?(a[e+16>>2]|0)==1:0)break;e=uq(e,0)|0}}while(0);i=vw(f,e,i)|0;e=gw(i,r)|0;if((f|0)!=(A|0))a[i+36>>2]=1;return e|0}function vw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(!A)A=0;else{r=$F(44)|0;a[r>>2]=0;a[r+4>>2]=a[A+4>>2];a[r+8>>2]=A;a[r+12>>2]=e;a[r+16>>2]=0;a[r+20>>2]=0;a[r+24>>2]=i;a[r+28>>2]=0;a[r+32>>2]=0;a[r+36>>2]=0;A=r}return A|0}function gw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;r=b+20|0;f=b+16|0;n=b+12|0;l=b+8|0;t=b+4|0;c=b;a[f>>2]=0;if((a[A>>2]|0)<((a[e+16>>2]|0)+-1|0)?(lw(a[A+8>>2]|0,t,a[A+12>>2]|0,c,0,f,n,l,e,r),i=a[t>>2]|0,i|0):0){t=a[c>>2]|0;c=vw(i,t,a[f>>2]|0)|0;a[A+28>>2]=c;a[c+40>>2]=a[r>>2];a[c>>2]=(a[A>>2]|0)+1;a[c+4>>2]=a[i>>2];a[c+8>>2]=i;a[c+12>>2]=t;a[c+16>>2]=a[n>>2];a[A+20>>2]=a[l>>2];a[c+32>>2]=A;gw(c,e)|0}k=b;return A|0}function Ew(A){A=A|0;var e=0;while(1){e=a[A+28>>2]|0;if(!e)break;else A=e}return A|0}function Cw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=$F(28)|0;a[f>>2]=0;a[f+4>>2]=A;a[f+8>>2]=e;a[f+12>>2]=-1;r=f+16|0;a[r>>2]=$F((e<<2)+4|0)|0;i=0;while(1){if((i|0)>(e|0))break;a[(a[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}e=(A<<2)+4|0;r=f+20|0;a[r>>2]=$F(e)|0;i=0;while(1){if((i|0)>(A|0))break;a[(a[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}e=$F(e)|0;a[f+24>>2]=e;i=0;while(1){if((i|0)>(A|0))break;a[e+(i<<2)>>2]=-999;i=i+1|0}return f|0}function Iw(A){A=A|0;var e=0,i=0,r=0,f=0;if(A|0){r=A+16|0;e=a[r>>2]|0;if(e|0){f=A+8|0;i=0;while(1){if((i|0)>(a[f>>2]|0))break;mu(a[e+(i<<2)>>2]|0,105);i=i+1|0;e=a[r>>2]|0}L2(e)}e=a[A+20>>2]|0;if(e|0)L2(e);L2(a[A+24>>2]|0);L2(A)}return}function Zw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;n=A+8|0;c=A+20|0;t=A+24|0;b=A+16|0;if(!A)vA(138953,95743,69,95759);while(1){if((a[n>>2]|0)<(i|0)){l=4;break}r=(a[c>>2]|0)+(e<<2)|0;f=a[r>>2]|0;if(!f)break;s=a[(a[t>>2]|0)+(e<<2)>>2]|0;a[r>>2]=0;a[A>>2]=(a[A>>2]|0)+-1;yu(f,105,(a[b>>2]|0)+(s<<2)|0)}if((l|0)==4)vA(95778,95743,70,95759);a[A>>2]=(a[A>>2]|0)+1;r=A+12|0;if((a[r>>2]|0)<(i|0))a[r>>2]=i;a[(a[t>>2]|0)+(e<<2)>>2]=i;r=$F(4)|0;a[r>>2]=e;f=a[(a[b>>2]|0)+(i<<2)>>2]|0;if(!f)r=Qu(r)|0;else r=Lu(f,r)|0;a[(a[c>>2]|0)+(e<<2)>>2]=r;a[(a[b>>2]|0)+(i<<2)>>2]=r;return A|0}function Gw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if((A|0)!=0?(a[A>>2]|0)>=1:0){f=A+12|0;r=a[f>>2]|0;a[i>>2]=r;a[A>>2]=(a[A>>2]|0)+-1;i=A+16|0;n=a[(a[i>>2]|0)+(r<<2)>>2]|0;a[e>>2]=a[(Wu(n)|0)>>2];yu(n,105,(a[i>>2]|0)+(r<<2)|0);i=a[i>>2]|0;if(!(a[i+(r<<2)>>2]|0)){while(1){if((r|0)<=-1)break;if(a[i+(r<<2)>>2]|0)break;r=r+-1|0}a[f>>2]=r}r=a[e>>2]|0;a[(a[A+20>>2]|0)+(r<<2)>>2]=0;a[(a[A+24>>2]|0)+(r<<2)>>2]=-999;r=1}else r=0;return r|0}function Qw(A,e){A=A|0;e=e|0;return a[(a[A+24>>2]|0)+(e<<2)>>2]|0}function mw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;if((A|0)!=0?(r=a[A>>2]|0,(r|0)>=1):0){l=A+24|0;i=a[(a[l>>2]|0)+(e<<2)>>2]|0;a[A>>2]=r+-1;f=A+20|0;r=A+16|0;yu(a[(a[f>>2]|0)+(e<<2)>>2]|0,105,(a[r>>2]|0)+(i<<2)|0);A=A+12|0;if((i|0)==(a[A>>2]|0)?(n=a[r>>2]|0,(a[n+(i<<2)>>2]|0)==0):0){while(1){if((i|0)<=-1)break;if(a[n+(i<<2)>>2]|0)break;i=i+-1|0}a[A>>2]=i}a[(a[f>>2]|0)+(e<<2)>>2]=0;a[(a[l>>2]|0)+(e<<2)>>2]=-999;i=1}else i=0;return i|0}function Lw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0.0,s=0.0,w=0,u=0.0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;if(!(cq(A,0)|0))vA(95795,95831,260,95846);C=bq(A)|0;I=a[C+20>>2]|0;Z=a[C+24>>2]|0;r=C+16|0;A=C+28|0;if((a[r>>2]|0)==1)E=a[A>>2]|0;else{L2(a[A>>2]|0);a[r>>2]=1;E=$F(a[C+8>>2]<<3)|0;a[A>>2]=E}d=$F(a[C>>2]<<2)|0;A=0;while(1){r=a[C>>2]|0;if((A|0)>=(r|0)){h=0;A=r;break}a[d+(A<<2)>>2]=-1;A=A+1|0}A:while(1){if((h|0)>=(A|0)){n=0.0;c=0.0;f=0;g=0;v=A;break}o=h+1|0;l=I+(o<<2)|0;w=I+(h<<2)|0;t=(a[l>>2]|0)-(a[w>>2]|0)|0;a[d+(h<<2)>>2]=h;r=a[w>>2]|0;while(1){k=a[l>>2]|0;if((r|0)>=(k|0))break;A=a[Z+(r<<2)>>2]|0;if((h|0)!=(A|0))a[d+(A<<2)>>2]=h;r=r+1|0}u=+(t|0);r=a[w>>2]|0;while(1){if((r|0)>=(k|0))break;A=a[Z+(r<<2)>>2]|0;if((h|0)!=(A|0)){l=a[I+(A+1<<2)>>2]|0;A=a[I+(A<<2)>>2]|0;s=+(l-A|0)+u;while(1){if((A|0)>=(l|0))break;s=(a[d+(a[Z+(A<<2)>>2]<<2)>>2]|0)==(h|0)?s+-1.0:s;A=A+1|0}b[E+(r<<3)>>3]=s;if(!(s>0.0)){B=23;break A}}r=r+1|0}h=o;A=a[C>>2]|0}if((B|0)==23)vA(95868,95831,290,95846);while(1){if((g|0)>=(v|0))break;l=g+1|0;t=I+(l<<2)|0;r=a[I+(g<<2)>>2]|0;while(1){if((r|0)>=(a[t>>2]|0))break;A=a[Z+(r<<2)>>2]|0;if((g|0)==(A|0))A=f;else{c=+_s(i,e,g,A)+c;n=+b[E+(r<<3)>>3]+n;A=f+1|0}f=A;r=r+1|0}g=l;v=a[C>>2]|0}u=+(f|0);n=c/(n/u*u);A=0;A:while(1){if((A|0)>=(v|0))break;l=A+1|0;t=a[I+(l<<2)>>2]|0;r=a[I+(A<<2)>>2]|0;while(1){if((r|0)>=(t|0)){A=l;continue A}f=E+(r<<3)|0;if((A|0)!=(a[Z+(r<<2)>>2]|0))b[f>>3]=+b[f>>3]*n;r=r+1|0}}return C|0}function Ww(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0.0,x=0.0;J=a[A>>2]|0;N=a[A+20>>2]|0;X=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,333,95876);R=Lw(A,e,r)|0;H=$F(56)|0;p=H+32|0;b[p>>3]=1.0;a[H+20>>2]=0;a[H+24>>2]=0;b[H+40>>3]=.01;a[H+48>>2]=~~+z(+ +(a[A>>2]|0));n=J<<3;M=$F(n)|0;a[H+12>>2]=M;A=0;while(1){if((A|0)>=(J|0))break;b[M+(A<<3)>>3]=i;A=A+1|0}F=$F(J<<2)|0;D=$F(n)|0;t=0;while(1){if((t|0)>=(J|0)){u=0;break}c=D+(t<<3)|0;b[c>>3]=0.0;s=t+1|0;w=N+(s<<2)|0;l=a[N+(t<<2)>>2]|0;A=0;i=0.0;while(1){if((l|0)>=(a[w>>2]|0))break;n=a[X+(l<<2)>>2]|0;if((t|0)!=(n|0)){i=+_s(r,e,t,n);i=+b[c>>3]+i;b[c>>3]=i;A=A+1|0}l=l+1|0}if((A|0)<=0){o=14;break}b[c>>3]=i/+(A|0);t=s}if((o|0)==14)vA(95908,95831,358,95876);while(1){if((u|0)>=(J|0)){A=0;s=0;break}a[F+(u<<2)>>2]=-1;u=u+1|0}A:while(1){if((s|0)>=(J|0))break;a[F+(s<<2)>>2]=s;t=N+(s<<2)|0;w=s+1|0;u=N+(w<<2)|0;l=a[t>>2]|0;while(1){n=a[u>>2]|0;if((l|0)>=(n|0))break;n=F+(a[X+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(s|0)){a[n>>2]=s;A=A+1|0}l=l+1|0}c=a[t>>2]|0;while(1){if((c|0)>=(n|0)){s=w;continue A}l=a[X+(c<<2)>>2]|0;t=N+(l+1<<2)|0;l=a[N+(l<<2)>>2]|0;while(1){if((l|0)>=(a[t>>2]|0))break;n=F+(a[X+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(s|0)){a[n>>2]=s;A=A+1|0}l=l+1|0}c=c+1|0;n=a[u>>2]|0}}n=A+J|0;W=H+4|0;a[W>>2]=fq(J,J,n,1,1)|0;n=fq(J,J,n,1,1)|0;y=H+8|0;a[y>>2]=n;A=a[W>>2]|0;do{if(!((n|0)==0|(A|0)==0)){m=a[A+20>>2]|0;Q=a[A+24>>2]|0;Z=a[A+28>>2]|0;L=a[n+28>>2]|0;G=a[n+20>>2]|0;v=a[n+24>>2]|0;a[G>>2]=0;a[m>>2]=0;i=0.0;k=0.0;o=0;l=0;A:while(1){if((o|0)>=(J|0)){o=58;break}g=o+J|0;a[F+(o<<2)>>2]=g;c=N+(o<<2)|0;E=o+1|0;C=N+(E<<2)|0;I=D+(o<<3)|0;h=0.0;d=0.0;t=a[c>>2]|0;while(1){A=a[C>>2]|0;if((t|0)>=(A|0))break;n=a[X+(t<<2)>>2]|0;A=F+(n<<2)|0;if((a[A>>2]|0)!=(g|0)){a[A>>2]=g;a[Q+(l<<2)>>2]=n;switch(f|0){case 0:{B=1.0;break}case 1:{B=(+b[D+(n<<3)>>3]+ +b[I>>3])*.5;break}case 2:{B=+Y(+ +Ks(r,e,o,n),.4);break}default:{o=42;break A}}x=-1.0/(B*B);b[Z+(l<<3)>>3]=x;a[v+(l<<2)>>2]=n;U=x*B;u=L+(l<<3)|0;b[u>>3]=U;k=+_s(r,e,o,n)*U+k;U=+b[u>>3];l=l+1|0;h=x+h;d=U+d;i=U*B+i}t=t+1|0}u=a[c>>2]|0;while(1){if((u|0)>=(A|0))break;c=a[X+(u<<2)>>2]|0;s=N+(c+1<<2)|0;w=D+(c<<3)|0;t=a[N+(c<<2)>>2]|0;while(1){if((t|0)>=(a[s>>2]|0))break;n=X+(t<<2)|0;A=F+(a[n>>2]<<2)|0;if((a[A>>2]|0)!=(g|0)){a[A>>2]=g;switch(f|0){case 0:{B=2.0;break}case 1:{B=(+b[w>>3]*2.0+ +b[I>>3]+ +b[D+(a[n>>2]<<3)>>3])*.5;break}case 2:{B=+Y(+ +Ks(r,e,o,a[n>>2]|0),.4);break}default:{o=53;break A}}a[Q+(l<<2)>>2]=a[n>>2];U=-1.0/(B*B);b[Z+(l<<3)>>3]=U;a[v+(l<<2)>>2]=a[n>>2];x=U*B;A=L+(l<<3)|0;b[A>>3]=x;k=+_s(r,e,a[n>>2]|0,c)*x+k;x=+b[A>>3];l=l+1|0;h=U+h;d=x+d;i=x*B+i}t=t+1|0}u=u+1|0;A=a[C>>2]|0}a[Q+(l<<2)>>2]=o;I=M+(o<<3)|0;x=-(h*+b[I>>3]);b[I>>3]=x;b[Z+(l<<3)>>3]=x-h;a[v+(l<<2)>>2]=o;b[L+(l<<3)>>3]=-d;l=l+1|0;a[m+(E<<2)>>2]=l;a[G+(E<<2)>>2]=l;o=E}if((o|0)==42){L3(95915,29,1,a[15712]|0)|0;vA(138394,95831,418,95876)}else if((o|0)==53){L3(95915,29,1,a[15712]|0)|0;vA(138394,95831,460,95876)}else if((o|0)==58){i=k/i;A=0;while(1){if((A|0)>=(l|0))break;X=L+(A<<3)|0;b[X>>3]=+b[X>>3]*i;A=A+1|0}b[p>>3]=i;a[(a[W>>2]|0)+8>>2]=l;a[(a[y>>2]|0)+8>>2]=l;L2(F);L2(D);rq(R);V=H;break}}else{yw(H);V=0}}while(0);return V|0}function yw(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)rq(e);e=a[A+8>>2]|0;if(e|0)rq(e);e=a[A+12>>2]|0;if(e|0)L2(e);e=a[A+20>>2]|0;if(e|0)F5[a[A+16>>2]&127](e);L2(A)}return}function zw(A,e,i,r,f,n){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0;V=a[A>>2]|0;if(cq(A,0)|0?(a[A+16>>2]|0)==1:0){c=U(V,e)|0;t=0.0;l=0;while(1){if((l|0)>=(c|0))break;h=+b[r+(l<<3)>>3];t=h*h+t;l=l+1|0}A:do{if(t==0.0){l=0;while(1){if((l|0)>=(c|0))break A;b[r+(l<<3)>>3]=+Us()*72.0;l=l+1|0}}}while(0);y=a[A+20>>2]|0;Y=a[A+24>>2]|0;D=a[A+28>>2]|0;l=$F(56)|0;F=l+32|0;b[F>>3]=1.0;a[l+20>>2]=0;a[l+24>>2]=0;a[l>>2]=A;b[l+40>>3]=.01;a[l+48>>2]=~~+z(+ +(a[A>>2]|0));M=$F(V<<3)|0;a[l+12>>2]=M;c=0;while(1){if((c|0)>=(V|0))break;b[M+(c<<3)>>3]=i;c=c+1|0}A=(a[A+8>>2]|0)+V|0;L=l+4|0;a[L>>2]=fq(V,V,A,1,1)|0;A=fq(V,V,A,1,1)|0;W=l+8|0;a[W>>2]=A;c=a[L>>2]|0;if(!((A|0)==0|(c|0)==0)){I=a[c+20>>2]|0;Z=a[c+24>>2]|0;G=a[A+20>>2]|0;Q=a[A+24>>2]|0;E=a[c+28>>2]|0;m=a[A+28>>2]|0;a[G>>2]=0;a[I>>2]=0;o=0.0;h=0.0;C=0;B=0;A:while(1){if((B|0)>=(V|0))break;v=B+1|0;g=y+(v<<2)|0;s=0.0;w=0.0;d=a[y+(B<<2)>>2]|0;k=o;i=h;A=C;while(1){if((d|0)>=(a[g>>2]|0))break;c=a[Y+(d<<2)>>2]|0;if((c|0)==(B|0)){t=k;c=A}else{a[Z+(A<<2)>>2]=c;u=+b[D+(d<<3)>>3];switch(f|0){case 2:{t=u*u;t=t==0.0?-1.0e5:-1.0/t;break}case 1:{t=u*u==0.0?-1.0e5:-1.0/u;break}case 0:{t=-1.0;break}default:{J=23;break A}}b[E+(A<<3)>>3]=t;a[Q+(A<<2)>>2]=c;N=t*u;X=m+(A<<3)|0;b[X>>3]=N;i=+_s(r,e,B,c)*N+i;N=+b[X>>3];s=t+s;w=N+w;t=N*u+k;c=A+1|0}d=d+1|0;k=t;A=c}a[Z+(A<<2)>>2]=B;C=M+(B<<3)|0;o=-(s*+b[C>>3]);b[C>>3]=o;b[E+(A<<3)>>3]=o-s;a[Q+(A<<2)>>2]=B;b[m+(A<<3)>>3]=-w;C=A+1|0;a[I+(v<<2)>>2]=C;a[G+(v<<2)>>2]=C;o=k;h=i;B=v}if((J|0)==23)vA(138394,95831,591,96012);t=(n|0)==0?1.0:h/o;if(t==0.0)l=0;else{c=0;while(1){if((c|0)>=(C|0))break;X=m+(c<<3)|0;b[X>>3]=+b[X>>3]*t;c=c+1|0}b[F>>3]=t;a[(a[L>>2]|0)+8>>2]=C;a[(a[W>>2]|0)+8>>2]=C}}else{yw(l);l=0}return l|0}vA(95945,95831,525,96012);return 0}function Yw(A){A=A|0;yw(A);return}function Dw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;return+ +Mw(A,e,i,r,f)}function Mw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0;T=k;k=k+16|0;H=T+12|0;x=T+8|0;w=T+4|0;c=T;s=a[A+4>>2]|0;l=a[A+8>>2]|0;a[H>>2]=0;a[x>>2]=0;a[w>>2]=0;V=a[A+12>>2]|0;a[c>>2]=0;J=bq(l)|0;N=a[s>>2]|0;X=U(N,e)|0;n=X<<3;p=$F(n)|0;if((p|0)!=0?(R=U(e<<3,N)|0,y6(p|0,i|0,R|0)|0,F=$F(n)|0,a[x>>2]=F,(F|0)!=0):0){M=a[l+20>>2]|0;F=a[l+24>>2]|0;W=a[l+28>>2]|0;y=a[J+28>>2]|0;Y=a[s+28>>2]|0;D=A+24|0;switch(a[D>>2]|0){case 1:{Fw(a[A+20>>2]|0,N,e,i,c,w);n=a[c>>2]|0;if(!n){Q=0.0;m=0.0;n=0}else{s=sq(s,n)|0;Q=0.0;m=0.0}break}case 2:{n=a[A+20>>2]|0;Q=+b[n+8>>3];m=+b[n>>3];n=0;break}default:{Q=0.0;m=0.0;n=0}}Z=(V|0)==0;G=A+40|0;I=A+48|0;l=a[w>>2]|0;t=1.0;c=0;A:while(1){C=c+1|0;if(!((c|0)<(r|0)&t>f))break;e:do{if((a[D>>2]|0)==4){w=a[x>>2]|0;c=0;while(1){if((c|0)>=(N|0))break e;u=U(c,e)|0;A=0;while(1){if((A|0)>=(e|0))break;b[w+(A+u<<3)>>3]=0.0;A=A+1|0}c=c+1|0}}else{h=0;while(1){if((h|0)>=(N|0))break;g=h+1|0;E=M+(g<<2)|0;o=0.0;v=a[M+(h<<2)>>2]|0;c=-1;while(1){if((v|0)>=(a[E>>2]|0))break;w=F+(v<<2)|0;A=a[w>>2]|0;if((h|0)==(A|0))c=v;else{B=+_s(i,e,h,A);u=W+(v<<3)|0;d=+b[u>>3];if(d==0.0)d=0.0;else{if(B==0.0){d=d/+b[Y+(v<<3)>>3]*.0001;A=0;while(1){if((A|0)>=(e|0))break;B=d*(+Us()+.0001);j=i+((U(a[w>>2]|0,e)|0)+A<<3)|0;b[j>>3]=B+ +b[j>>3];A=A+1|0}B=+_s(i,e,h,a[w>>2]|0);d=+b[u>>3]}d=d/B}b[y+(v<<3)>>3]=d;o=d+o}v=v+1|0}if((c|0)<=-1){L=25;break A}b[y+(c<<3)>>3]=-o;h=g}zs(J,0,i,0,x,0,e)}}while(0);e:do{if(!Z){w=a[x>>2]|0;c=0;while(1){if((c|0)>=(N|0))break e;u=V+(c<<3)|0;h=U(c,e)|0;A=0;while(1){if((A|0)>=(e|0))break;E=A+h|0;j=w+(E<<3)|0;b[j>>3]=+b[j>>3]+ +b[p+(E<<3)>>3]*+b[u>>3];A=A+1|0}c=c+1|0}}}while(0);e:do{switch(a[D>>2]|0){case 1:{c=a[x>>2]|0;A=0;while(1){if((A|0)>=(N|0)){L=50;break e}u=U(A,e)|0;w=0;while(1){if((w|0)>=(e|0))break;L=w+u|0;j=c+(L<<3)|0;b[j>>3]=+b[j>>3]+ +b[l+(L<<3)>>3];w=w+1|0}A=A+1|0}}case 2:{Vw(N,e,i,a[x>>2]|0,m,Q);c=a[x>>2]|0;o=+b[G>>3];A=a[I>>2]|0;if((a[D>>2]|0)==2)Jw(s,m,e,i,c,o,A,H);else L=51;break}default:{c=a[x>>2]|0;L=50}}}while(0);if((L|0)==50){o=+b[G>>3];A=a[I>>2]|0;L=51}if((L|0)==51){L=0;+fu(s,e,i,c,o,A,0,H)}if(a[H>>2]|0)break;t=+Nw(N,e,i,a[x>>2]|0);t=t/+z(+ +Ss(X,i,i));y6(i|0,a[x>>2]|0,R|0)|0;c=C}if((L|0)==25)vA(96049,95831,895,96060);rq(J);if(n){rq(n);rq(s)}}else{rq(J);t=1.0;l=0}L2(p);n=a[x>>2]|0;if(n|0)L2(n);if(l|0)L2(l);k=T;return+t}function Fw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0,C=0.0,I=0,Z=0,G=0,Q=0,m=0.0;o=a[A+8>>2]|0;Q=a[A+12>>2]|0;I=a[A+16>>2]|0;G=a[A+32>>2]|0;Z=a[G+20>>2]|0;G=a[G+24>>2]|0;s=A+20|0;d=a[s>>2]|0;w=A+24|0;h=a[w>>2]|0;u=A+28|0;k=a[u>>2]|0;C=+b[A>>3];A:do{if((o|2|0)==3){if(!d){if((h|0)!=0|(k|0)!=0)vA(96094,95831,692,96111);else{l=0;t=0}while(1){if((l|0)>=(Q|0))break;E=a[I+(l<<2)>>2]|0;B=+((a[Z+(E+1<<2)>>2]|0)-(a[Z+(E<<2)>>2]|0)|0)+1.0;l=l+1|0;t=t+~~(B*B)|0}h=t<<2;d=$F(h)|0;a[s>>2]=d;h=$F(h)|0;a[w>>2]=h;k=$F(t<<3)|0;a[u>>2]=k}g=0;A=0;while(1){if((g|0)>=(Q|0))break;o=a[I+(g<<2)>>2]|0;v=Z+(o<<2)|0;t=a[v>>2]|0;l=a[G+(t<<2)>>2]|0;t=a[G+(t+1<<2)>>2]|0;e:do{if((l|0)!=(t|0)){m=+Ks(r,i,l,t);m=m*m;u=Z+(o+1<<2)|0;B=+((a[u>>2]|0)-(a[v>>2]|0)|0);a[d+(A<<2)>>2]=o;a[h+(A<<2)>>2]=o;b[k+(A<<3)>>3]=C/m;c=B*B*m;B=-(C/(m*B));t=a[v>>2]|0;while(1){A=A+1|0;l=a[u>>2]|0;if((t|0)>=(l|0))break;a[d+(A<<2)>>2]=o;a[h+(A<<2)>>2]=a[G+(t<<2)>>2];b[k+(A<<3)>>3]=B;t=t+1|0}c=C/c;w=a[v>>2]|0;while(1){if((w|0)>=(l|0))break e;s=a[G+(w<<2)>>2]|0;a[d+(A<<2)>>2]=s;a[h+(A<<2)>>2]=o;b[k+(A<<3)>>3]=B;t=a[v>>2]|0;while(1){A=A+1|0;l=a[u>>2]|0;if((t|0)>=(l|0))break;E=a[G+(t<<2)>>2]|0;a[d+(A<<2)>>2]=s;a[h+(A<<2)>>2]=E;b[k+(A<<3)>>3]=c;t=t+1|0}w=w+1|0}}}while(0);g=g+1|0}l=hq(A,e,e,d,h,k,1,8)|0;A=0}else{switch(o|0){case 2:case 4:break;default:{l=0;A=0;break A}}do{if(!d)if((h|0)!=0|(k|0)!=0)vA(96094,95831,734,96111);else{g=Q<<2;E=$F(g)|0;a[s>>2]=E;g=$F(g)|0;a[w>>2]=g;v=$F(Q<<3)|0;a[u>>2]=v;break}else{v=k;g=h;E=d}}while(0);A=$F(U(e<<3,i)|0)|0;t=U(i,e)|0;l=0;while(1){if((l|0)>=(t|0)){k=0;break}b[A+(l<<3)>>3]=0.0;l=l+1|0}while(1){if((k|0)>=(Q|0))break;o=a[I+(k<<2)>>2]|0;s=Z+(o<<2)|0;w=a[s>>2]|0;c=+Ks(r,i,a[G+(w<<2)>>2]|0,a[G+(w+1<<2)>>2]|0);a[E+(k<<2)>>2]=o;a[g+(k<<2)>>2]=o;c=C/c;b[v+(k<<3)>>3]=c;s=a[s>>2]|0;w=a[Z+(o+1<<2)>>2]|0;o=U(o,i)|0;t=s;while(1){if((t|0)>=(w|0))break;u=U(a[G+(t<<2)>>2]|0,i)|0;l=0;while(1){if((l|0)>=(i|0))break;d=A+(l+o<<3)|0;b[d>>3]=+b[d>>3]+ +b[r+(l+u<<3)>>3];l=l+1|0}t=t+1|0}c=c*(1.0/+(w-s|0));l=0;while(1){if((l|0)>=(i|0))break;d=A+(l+o<<3)|0;b[d>>3]=c*+b[d>>3];l=l+1|0}k=k+1|0}l=hq(k,e,e,E,g,v,1,8)|0}}while(0);a[f>>2]=l;a[n>>2]=A;return}function Vw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0;a=a*f;n=0;A:while(1){if((n|0)>=(A|0))break;s=n+1|0;w=U(n,e)|0;l=s;while(1){if((l|0)==(A|0)){n=s;continue A}c=U(l,e)|0;f=1.0/+Ks(i,e,n,l);t=0;while(1){if((t|0)>=(e|0))break;o=t+w|0;u=t+c|0;k=a*((+b[i+(o<<3)>>3]-+b[i+(u<<3)>>3])*f);o=r+(o<<3)|0;b[o>>3]=k+ +b[o>>3];u=r+(u<<3)|0;b[u>>3]=+b[u>>3]-k;t=t+1|0}l=l+1|0}}return}function Jw(A,e,i,r,f,n,l,t){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;t=t|0;var c=0,b=0;b=Sw(A,e)|0;c=qw(A,e)|0;+eu(b,c,a[A>>2]|0,i,r,f,n,l,t);return}function Nw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0.0,l=0.0,t=0,c=0.0,s=0;a=0;l=0.0;while(1){if((a|0)>=(A|0))break;t=U(a,e)|0;f=0;n=0.0;while(1){if((f|0)>=(e|0))break;s=f+t|0;c=+b[r+(s<<3)>>3]-+b[i+(s<<3)>>3];f=f+1|0;n=c*c+n}a=a+1|0;l=+z(+n)+l}return+l}function Xw(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0;Q=a[A>>2]|0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,1034,96133);d=Q<<3;m=$F(d)|0;t=0;while(1){if((t|0)>=(Q|0))break;w=m+(t<<3)|0;b[w>>3]=0.0;u=t+1|0;k=o+(u<<2)|0;s=a[o+(t<<2)>>2]|0;n=0;c=0.0;while(1){if((s|0)>=(a[k>>2]|0))break;l=a[h+(s<<2)>>2]|0;if((t|0)!=(l|0)){c=+_s(r,e,t,l);c=+b[w>>3]+c;b[w>>3]=c;n=n+1|0}s=s+1|0}if((n|0)<=0){G=11;break}b[w>>3]=c/+(n|0);t=u}if((G|0)==11)vA(95908,95831,1046,96133);n=$F(56)|0;Z=n+32|0;b[Z>>3]=1.0;a[n+20>>2]=0;a[n+24>>2]=0;b[n+40>>3]=.01;a[n+48>>2]=~~+z(+ +(a[A>>2]|0));I=$F(d)|0;a[n+12>>2]=I;l=0;while(1){if((l|0)>=(Q|0))break;b[I+(l<<3)>>3]=i;l=l+1|0}do{if((Q|0)>2)if(!f){l=nu(Q,e,r)|0;break}else{l=au(Q,e,r)|0;break}else l=bq(A)|0}while(0);f=n+4|0;a[f>>2]=sq(A,l)|0;rq(l);t=bq(a[f>>2]|0)|0;a[n+8>>2]=t;l=a[f>>2]|0;if((t|0)==0|(l|0)==0){Rw(n);n=0}else{d=a[l+20>>2]|0;h=a[l+24>>2]|0;o=a[l+28>>2]|0;f=a[t+28>>2]|0;E=0.0;C=0.0;w=0;while(1){if((w|0)>=(Q|0))break;k=w+1|0;u=d+(k<<2)|0;g=0.0;i=0.0;t=-1;B=E;v=C;s=a[d+(w<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;l=a[h+(s<<2)>>2]|0;if((l|0)==(w|0)){c=g;l=s}else{L=+Y(+ +Ks(r,e,w,l),.6);c=1.0/(L*L);b[o+(s<<3)>>3]=c;W=c*L;A=f+(s<<3)|0;b[A>>3]=W;v=W*+_s(r,e,w,l)+v;W=+b[A>>3];c=c+g;i=W+i;l=t;B=W*L+B}g=c;t=l;s=s+1|0}A=I+(w<<3)|0;c=-(g*+b[A>>3]);b[A>>3]=c;if((t|0)<=-1){G=31;break}b[o+(t<<3)>>3]=c-g;b[f+(t<<3)>>3]=-i;E=B;C=v;w=k}if((G|0)==31)vA(96154,95831,1112,96133);c=C/E;t=a[d+(Q<<2)>>2]|0;l=0;while(1){if((l|0)>=(t|0))break;Q=f+(l<<3)|0;b[Q>>3]=+b[Q>>3]*c;l=l+1|0}b[Z>>3]=c;L2(m)}return n|0}function Rw(A){A=A|0;yw(A);return}function Hw(A,e,i){A=A|0;e=e|0;i=i|0;+Mw(A,e,i,50,.001);return}function pw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;G=a[A>>2]|0;Q=a[A+20>>2]|0;m=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,1149,96165);E=Lw(A,e,r)|0;C=a[E+28>>2]|0;A=$F(8)|0;I=$F(G<<2)|0;Z=$F(G<<3)|0;l=0;while(1){if((l|0)>=(G|0)){k=0;break}s=Z+(l<<3)|0;b[s>>3]=0.0;w=l+1|0;u=Q+(w<<2)|0;t=a[Q+(l<<2)>>2]|0;f=0;c=0.0;while(1){if((t|0)>=(a[u>>2]|0))break;n=a[m+(t<<2)>>2]|0;if((l|0)!=(n|0)){c=+_s(r,e,l,n);c=+b[s>>3]+c;b[s>>3]=c;f=f+1|0}t=t+1|0}if((f|0)<=0){o=11;break}b[s>>3]=c/+(f|0);l=w}if((o|0)==11)vA(95908,95831,1167,96165);while(1){if((k|0)>=(G|0)){w=0;f=0;break}a[I+(k<<2)>>2]=-1;k=k+1|0}A:while(1){if((w|0)>=(G|0))break;a[I+(w<<2)>>2]=w;t=Q+(w<<2)|0;u=w+1|0;k=Q+(u<<2)|0;l=a[t>>2]|0;while(1){n=a[k>>2]|0;if((l|0)>=(n|0))break;n=I+(a[m+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(w|0)){a[n>>2]=w;f=f+1|0}l=l+1|0}s=a[t>>2]|0;while(1){if((s|0)>=(n|0)){w=u;continue A}l=a[m+(s<<2)>>2]|0;t=Q+(l+1<<2)|0;l=a[Q+(l<<2)>>2]|0;while(1){if((l|0)>=(a[t>>2]|0))break;n=I+(a[m+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(w|0)){a[n>>2]=w;f=f+1|0}l=l+1|0}s=s+1|0;n=a[k>>2]|0}}r=fq(G,G,f,1,1)|0;a[A>>2]=r;if(!r){Uw(A);A=0}else{o=a[r+20>>2]|0;h=a[r+24>>2]|0;d=a[r+28>>2]|0;a[o>>2]=0;n=0;f=0;while(1){if((n|0)>=(G|0))break;B=n+G|0;a[I+(n<<2)>>2]=B;s=Q+(n<<2)|0;v=n+1|0;g=Q+(v<<2)|0;e=Z+(n<<3)|0;t=a[s>>2]|0;while(1){n=a[g>>2]|0;if((t|0)>=(n|0))break;n=a[m+(t<<2)>>2]|0;l=I+(n<<2)|0;if((a[l>>2]|0)!=(B|0)){a[l>>2]=B;a[h+(f<<2)>>2]=n;k=d+(f<<3)|0;b[k>>3]=(+b[Z+(n<<3)>>3]+ +b[e>>3])*.5;b[k>>3]=+b[C+(t<<3)>>3];f=f+1|0}t=t+1|0}k=a[s>>2]|0;while(1){if((k|0)>=(n|0))break;t=a[m+(k<<2)>>2]|0;s=Q+(t+1<<2)|0;w=Z+(t<<3)|0;u=C+(k<<3)|0;t=a[Q+(t<<2)>>2]|0;while(1){if((t|0)>=(a[s>>2]|0))break;n=m+(t<<2)|0;l=I+(a[n>>2]<<2)|0;if((a[l>>2]|0)!=(B|0)){a[l>>2]=B;a[h+(f<<2)>>2]=a[n>>2];l=d+(f<<3)|0;b[l>>3]=(+b[w>>3]*2.0+ +b[e>>3]+ +b[Z+(a[n>>2]<<3)>>3])*.5;b[l>>3]=+b[C+(t<<3)>>3]+ +b[u>>3];f=f+1|0}t=t+1|0}k=k+1|0;n=a[g>>2]|0}a[o+(v<<2)>>2]=f;n=v}a[r+8>>2]=f;Q=JT()|0;m=A+4|0;a[m>>2]=Q;y6(Q|0,i|0,168)|0;m=a[m>>2]|0;a[m+16>>2]=0;a[m+40>>2]=1;Q=m+96|0;b[Q>>3]=+b[Q>>3]*.5;a[m+80>>2]=20;L2(I);L2(Z);rq(E)}return A|0}function Uw(A){A=A|0;var e=0;if(A|0){e=a[A>>2]|0;if(e|0)rq(e);A=a[A+4>>2]|0;if(A|0)NT(A)}return}function xw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=k;k=k+16|0;l=n;a[l>>2]=0;aj(r,e,a[A>>2]|0,a[A+4>>2]|0,i,f,l);if(!(a[l>>2]|0)){k=n;return}else vA(96184,95831,1262,96190)}function Tw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;a[n>>2]=0;n=a[i+120>>2]|0;A:do{switch(n|0){case 5:case 6:{if((a[e>>2]|0)>2){e=Xw(e,A,0.0,f,(n|0)!=6&1)|0;Hw(e,A,f);Rw(e)}break}case 4:{n=0;while(1){if((n|0)==1)break A;t=pw(e,A,i,f)|0;xw(t,e,r,A,f);Uw(t);n=n+1|0}}case 1:{i=0;l=6;break}case 2:{i=1;l=6;break}case 3:{i=2;l=6;break}default:{}}}while(0);A:do{if((l|0)==6){n=0;while(1){if((n|0)==1)break A;t=Ww(e,A,.05,f,i)|0;+Mw(t,A,f,50,.001);yw(t);n=n+1|0}}}while(0);return}function jw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0.0,t=0,c=0;c=k;k=k+16|0;n=c;a[n>>2]=i;t=a[A>>2]|0;A=a[t+8>>2]|0;l=+b[t>>3];t=a[A>>2]|0;Ms(A,e,n,0);A=0;f=0.0;while(1){if((A|0)>=(t|0))break;r=+b[e+(A<<3)>>3]+f;A=A+1|0;f=r}r=+(t|0);i=a[n>>2]|0;A=0;while(1){if((A|0)>=(t|0))break;n=i+(A<<3)|0;b[n>>3]=(+b[e+(A<<3)>>3]*r-f)*l+ +b[n>>3];A=A+1|0}k=c;return i|0}function Sw(A,e){A=A|0;e=+e;var i=0,r=0;i=$F(8)|0;r=$F(16)|0;a[i>>2]=r;b[r>>3]=e;a[r+8>>2]=A;a[i+4>>2]=25;return i|0}function Pw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+16|0;r=f;a[r>>2]=i;Ms(a[A>>2]|0,e,r,0);k=f;return a[r>>2]|0}function Ow(A){A=A|0;var e=0;e=$F(8)|0;a[e>>2]=A;a[e+4>>2]=26;return e|0}function Kw(A){A=A|0;if(A|0)L2(A);return}function _w(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=a[A>>2]|0;r=~~+b[f>>3];f=f+8|0;A=0;while(1){if((A|0)>=(r|0))break;b[i+(A<<3)>>3]=+b[f+(A<<3)>>3]*+b[e+(A<<3)>>3];A=A+1|0}return i|0}function qw(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0.0,k=0,o=0,h=0.0;w=a[A>>2]|0;k=a[A+20>>2]|0;o=a[A+24>>2]|0;c=a[A+28>>2]|0;s=$F(8)|0;l=$F((w<<3)+8|0)|0;a[s>>2]=l;b[l>>3]=+(w|0);l=l+8|0;h=+(w+-1|0);t=1.0/h;e=h*e;A=0;A:while(1){if((A|0)>=(w|0))break;r=l+(A<<3)|0;b[r>>3]=t;f=A+1|0;n=a[k+(f<<2)>>2]|0;i=a[k+(A<<2)>>2]|0;while(1){if((i|0)>=(n|0)){A=f;continue A}if((A|0)==(a[o+(i<<2)>>2]|0)?(u=+b[c+(i<<3)>>3],(u>=0.0?u:-u)>0.0):0)b[r>>3]=1.0/(u+e);i=i+1|0}}a[s+4>>2]=27;return s|0}function $w(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0;l=a[A>>2]|0;c=a[A+20>>2]|0;s=a[A+24>>2]|0;w=a[A+28>>2]|0;u=$F(8)|0;i=$F((a[A>>2]<<3)+8|0)|0;a[u>>2]=i;b[i>>3]=+(l|0);i=i+8|0;A=0;A:while(1){if((A|0)>=(l|0))break;r=i+(A<<3)|0;b[r>>3]=1.0;f=A+1|0;n=a[c+(f<<2)>>2]|0;e=a[c+(A<<2)>>2]|0;while(1){if((e|0)>=(n|0)){A=f;continue A}if((A|0)==(a[s+(e<<2)>>2]|0)?(t=+b[w+(e<<3)>>3],(t>=0.0?t:-t)>0.0):0)b[r>>3]=1.0/t;e=e+1|0}}a[u+4>>2]=27;return u|0}function Au(A){A=A|0;L2(a[A>>2]|0);if(A|0)L2(A);return}function eu(A,e,i,r,f,a,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=+n;l=l|0;t=t|0;var c=0.0,s=0,w=0.0,u=0,k=0,o=0;k=i<<3;u=$F(k)|0;k=$F(k)|0;s=0;w=0.0;while(1){if((s|0)<(r|0))t=0;else break;while(1){if((t|0)>=(i|0))break;o=(U(t,r)|0)+s|0;b[u+(t<<3)>>3]=+b[f+(o<<3)>>3];b[k+(t<<3)>>3]=+b[a+(o<<3)>>3];t=t+1|0}c=+iu(A,e,i,u,k,n,l);t=0;while(1){if((t|0)>=(i|0))break;b[a+((U(t,r)|0)+s<<3)>>3]=+b[u+(t<<3)>>3];t=t+1|0}s=s+1|0;w=c+w}L2(u);L2(k);return+w}function iu(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;var t=0,c=0.0,b=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0,B=0.0,v=0,g=0;d=a[A+4>>2]|0;o=a[e+4>>2]|0;h=i<<3;t=$F(h)|0;b=$F(h)|0;v=$F(h)|0;s=$F(h)|0;b=W5[d&63](A,r,b)|0;w=js(i,f,b)|0;k=+(i|0);B=+z(+ +Ss(i,w,w))/k;u=B*n;k=1.0/k;w=0;f=v;c=1.0;n=B;while(1){if(!(n>u&(w|0)<(l|0)))break;t=W5[o&63](e,b,t)|0;n=+Ss(i,b,t);if((w|0)>0)Ps(i,t,f,n/c)|0;else y6(f|0,t|0,h|0)|0;g=W5[d&63](A,f,s)|0;c=n/+Ss(i,f,g);Os(i,r,f,c)|0;v=Os(i,b,g,-c)|0;w=w+1|0;c=n;s=g;n=+z(+ +Ss(i,v,v))*k}L2(t);L2(b);L2(f);L2(s);return+n}function ru(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;L=k;k=k+16|0;m=L;Z=a[A+4>>2]|0;G=Z<<3;Q=$F(G)|0;g=$F(G)|0;E=$F(G)|0;C=a[A+20>>2]|0;I=a[A+24>>2]|0;B=a[A+28>>2]|0;v=a[15712]|0;d=0;while(1){if((d|0)<(e|0))n=0;else break;while(1){if((n|0)>=(Z|0)){A=0;break}h=(U(n,e)|0)+d|0;b[Q+(n<<3)>>3]=+b[i+(h<<3)>>3];b[E+(n<<3)>>3]=+b[r+(h<<3)>>3];n=n+1|0}while(1){if((A|0)<(f|0))w=0;else{n=0;break}while(1){if((w|0)>=(Z|0))break;u=a[C+(w<<2)>>2]|0;o=w+1|0;h=a[C+(o<<2)>>2]|0;s=u;t=0.0;l=0.0;while(1){if((s|0)>=(h|0))break;n=a[I+(s<<2)>>2]|0;c=+b[B+(s<<3)>>3];if((n|0)==(w|0))l=c;else t=+b[Q+(n<<3)>>3]*c+t;s=s+1|0}if(t==0.0){a[m>>2]=h-u;f3(v,96212,m)|0}b[g+(w<<3)>>3]=(+b[E+(w<<3)>>3]-t)/l;w=o}y6(Q|0,g|0,G|0)|0;A=A+1|0}while(1){if((n|0)>=(Z|0))break;b[r+((U(n,e)|0)+d<<3)>>3]=+b[Q+(n<<3)>>3];n=n+1|0}d=d+1|0}L2(Q);L2(g);L2(E);k=L;return r|0}function fu(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=n|0;l=l|0;t=t|0;var c=0;c=a[A>>2]|0;a[t>>2]=0;switch(l|0){case 0:{l=Ow(A)|0;t=$w(A)|0;f=+eu(l,t,c,e,i,r,f,n,0);Kw(l);Au(t);break}case 1:{ru(A,e,i,r,n,0)|0;f=0.0;break}default:f=0.0}return+f}function au(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+32|0;c=u;s=u+20|0;f=u+16|0;n=u+12|0;l=u+8|0;b[c>>3]=1.0;t=A<<3;w=$F(t)|0;t=$F(t)|0;e=0;while(1){if((e|0)>=(A|0))break;r=e<<1;b[w+(e<<3)>>3]=+b[i+(r<<3)>>3];b[t+(e<<3)>>3]=+b[i+((r|1)<<3)>>3];e=e+1|0}a[s>>2]=e;if((A|0)>2)i=NS(w,t,A,l)|0;else{a[l>>2]=0;i=0}r=fq(A,A,1,1,2)|0;e=0;while(1){a[s>>2]=e;if((e|0)>=(a[l>>2]|0))break;o=e<<1;a[f>>2]=a[i+(o<<2)>>2];a[n>>2]=a[i+((o|1)<<2)>>2];Ns(r,1,f,n,c)|0;e=(a[s>>2]|0)+1|0}if((A|0)==2){a[f>>2]=0;a[n>>2]=1;Ns(r,1,f,n,c)|0;e=0}else e=0;while(1){a[s>>2]=e;if((e|0)>=(A|0))break;Ns(r,1,s,s,c)|0;e=(a[s>>2]|0)+1|0}A=oq(r)|0;rq(r);o=tq(A,0)|0;rq(A);L2(i);L2(w);L2(t);k=u;return o|0}function nu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;n=s+8|0;l=s;b[l>>3]=1.0;c=A<<3;t=$F(c)|0;c=$F(c)|0;r=0;while(1){if((r|0)>=(A|0))break;f=U(r,e)|0;b[t+(r<<3)>>3]=+b[i+(f<<3)>>3];b[c+(r<<3)>>3]=+b[i+(f+1<<3)>>3];r=r+1|0}a[n>>2]=r;r=XS(t,c,A,0)|0;f=fq(A,A,1,1,2)|0;e=0;while(1){a[n>>2]=e;if((e|0)<(A|0))i=1;else{e=0;break}while(1){if((i|0)>=(a[r+(e*12|0)>>2]|0))break;Ns(f,1,n,(a[r+(e*12|0)+4>>2]|0)+(i<<2)|0,l)|0;i=i+1|0;e=a[n>>2]|0}e=e+1|0}while(1){a[n>>2]=e;if((e|0)>=(A|0))break;Ns(f,1,n,n,l)|0;e=(a[n>>2]|0)+1|0}l=tq(oq(f)|0,0)|0;rq(f);L2(t);L2(c);RS(r);k=s;return l|0}function lu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=k;k=k+16|0;a=f;tu(a,i);cu(A,e,i,a);bu(e,a,r);su(a);k=f;return}function tu(A,e){A=A|0;e=e|0;a[A>>2]=$F(e<<4)|0;a[A+4>>2]=e;a[A+8>>2]=0;return}function cu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;W=k;k=k+64|0;d=W+32|0;g=W+48|0;E=W+16|0;C=W;v=e<<2;Q=$F(v)|0;L=$F(v)|0;a[E>>2]=0;a[E+4>>2]=0;a[E+8>>2]=0;a[E+12>>2]=0;B=$F(v)|0;v=$F(v)|0;f=0;while(1){if((f|0)>=(e|0))break;a[B+(f<<2)>>2]=f;f=f+1|0}h=e+-1|0;OP(A,B,0,h);f=0;while(1){if((f|0)>=(e|0))break;a[v+(a[B+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}uu(g,A,B,e);f=1;while(1){if((f|0)>=(e|0)){f=0;break}a[Q+(a[B+(f<<2)>>2]<<2)>>2]=a[B+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(h|0))break;o=f+1|0;a[L+(a[B+(f<<2)>>2]<<2)>>2]=a[B+(o<<2)>>2];f=o}c=r+8|0;s=r+4|0;w=E+4|0;u=C+4|0;o=C+8|0;t=0;while(1){if((t|0)>=(i|0))break;if(!((ku(g,E)|0)<<24>>24))break;f=a[c>>2]|0;e=a[s>>2]|0;if((f|0)<(e|0))e=a[r>>2]|0;else{a[s>>2]=e<<1;e=y2(a[r>>2]|0,e<<5)|0;a[r>>2]=e;f=a[c>>2]|0}a[c>>2]=f+1;f=e+(f<<4)|0;a[f>>2]=a[E>>2];a[f+4>>2]=a[E+4>>2];a[f+8>>2]=a[E+8>>2];a[f+12>>2]=a[E+12>>2];f=a[E>>2]|0;e=a[v+(f<<2)>>2]|0;n=a[w>>2]|0;l=a[v+(n<<2)>>2]|0;if((e|0)>0?(I=a[B+(e+-1<<2)>>2]|0,Z=L+(I<<2)|0,(a[v+(a[Z>>2]<<2)>>2]|0)<(l|0)):0){a[C>>2]=I;a[u>>2]=n;b[o>>3]=+b[A+(n<<3)>>3]-+b[A+(I<<3)>>3];a[d>>2]=a[C>>2];a[d+4>>2]=a[C+4>>2];a[d+8>>2]=a[C+8>>2];a[d+12>>2]=a[C+12>>2];ou(g,d);a[Z>>2]=n;a[Q+(n<<2)>>2]=I}if((l|0)<(h|0)?(G=a[B+(l+1<<2)>>2]|0,m=Q+(G<<2)|0,(a[v+(a[m>>2]<<2)>>2]|0)>(e|0)):0){a[C>>2]=f;a[u>>2]=G;b[o>>3]=+b[A+(G<<3)>>3]-+b[A+(f<<3)>>3];a[d>>2]=a[C>>2];a[d+4>>2]=a[C+4>>2];a[d+8>>2]=a[C+8>>2];a[d+12>>2]=a[C+12>>2];ou(g,d);a[m>>2]=f;a[L+(f<<2)>>2]=G}t=t+1|0}L2(Q);L2(L);L2(B);L2(v);hu(g);k=W;return}function bu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;b=$F(A<<2)|0;s=e+8|0;l=a[s>>2]|0;t=(l<<1)+A|0;n=t<<2;r=$F(n)|0;n=$F(n)|0;f=0;while(1){if((f|0)>=(A|0))break;a[b+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(l|0)){f=0;break}u=a[e>>2]|0;w=a[u+(f<<4)+4>>2]|0;u=b+(a[u+(f<<4)>>2]<<2)|0;a[u>>2]=(a[u>>2]|0)+1;w=b+(w<<2)|0;a[w>>2]=(a[w>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(t|0))break;c[n+(f<<2)>>2]=1.0;f=f+1|0}l=$F(A*20|0)|0;a[i>>2]=l;f=0;while(1){if((f|0)>=(A|0))break;a[l+(f*20|0)>>2]=1;a[l+(f*20|0)+8>>2]=n;a[l+(f*20|0)+4>>2]=r;a[r>>2]=f;c[n>>2]=0.0;u=a[b+(f<<2)>>2]|0;n=n+(u<<2)|0;r=r+(u<<2)|0;f=f+1|0}L2(b);while(1){r=a[s>>2]|0;if(!r)break;u=r+-1|0;a[s>>2]=u;w=a[e>>2]|0;wu(l,a[w+(u<<4)>>2]|0,a[w+(u<<4)+4>>2]|0)}return}function su(A){A=A|0;L2(a[A>>2]|0);return}function wu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;f=A+(e*20|0)|0;n=a[f>>2]|0;l=a[A+(e*20|0)+4>>2]|0;r=0;while(1){if((r|0)>=(n|0)){t=4;break}if((a[l+(r<<2)>>2]|0)==(i|0))break;else r=r+1|0}if((t|0)==4?(a[f>>2]=n+1,a[l+(n<<2)>>2]=i,l=a[A+(i*20|0)+4>>2]|0,n=A+(i*20|0)|0,t=a[n>>2]|0,a[n>>2]=t+1,a[l+(t<<2)>>2]=e,a[A+8>>2]|0):0){t=a[A+(e*20|0)+8>>2]|0;c[t>>2]=+c[t>>2]+-1.0;t=a[A+(i*20|0)+8>>2]|0;c[t>>2]=+c[t>>2]+-1.0}return}function uu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0,c=0,s=0;f=r+-1|0;a[A+4>>2]=f;a[A+8>>2]=f;a[A>>2]=$F(f<<4)|0;r=0;while(1){if((r|0)>=(f|0))break;s=a[i+(r<<2)>>2]|0;n=r+1|0;c=a[i+(n<<2)>>2]|0;t=+b[e+(c<<3)>>3]-+b[e+(s<<3)>>3];l=a[A>>2]|0;a[l+(r<<4)>>2]=s;a[l+(r<<4)+4>>2]=c;b[l+(r<<4)+8>>3]=t;r=n}r=(f|0)/2|0;while(1){if((r|0)<=-1)break;du(A,r);r=r+-1|0}return}function ku(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;if(!(a[i>>2]|0))A=0;else{r=a[A>>2]|0;a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];e=a[A>>2]|0;r=e+((a[i>>2]|0)+-1<<4)|0;a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];a[i>>2]=(a[i>>2]|0)+-1;du(A,0);A=1}return A|0}function ou(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;s=w;t=A+4|0;n=a[t>>2]|0;i=A+8|0;if((n|0)==(a[i>>2]|0)){a[i>>2]=n<<1;i=y2(a[A>>2]|0,n<<5)|0;a[A>>2]=i;c=A;l=a[t>>2]|0}else{c=A;l=n;i=a[A>>2]|0}a[t>>2]=l+1;t=i+(n<<4)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];while(1){if((n|0)<=0)break;i=a[c>>2]|0;r=+b[i+(n<<4)+8>>3];A=n>>>1;f=+b[i+(A<<4)+8>>3];if(!(r>2]|0}t=i+(n<<4)|0;a[s>>2]=a[t>>2];a[s+4>>2]=a[t+4>>2];a[s+8>>2]=a[t+8>>2];a[s+12>>2]=a[t+12>>2];e=i+(A<<4)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];t=(a[c>>2]|0)+(A<<4)|0;a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];n=A}k=w;return}function hu(A){A=A|0;L2(a[A>>2]|0);return}function du(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+16|0;l=s;t=A+4|0;while(1){i=e<<1;n=i|1;if((i|0)<(a[t>>2]|0)){w=a[A>>2]|0;r=+b[w+(i<<4)+8>>3];f=+b[w+(e<<4)+8>>3];if(!(r>2]|0)){w=a[A>>2]|0;r=+b[w+(n<<4)+8>>3];f=+b[w+(i<<4)+8>>3];if(!(r>2]|0;w=n+(i<<4)|0;a[l>>2]=a[w>>2];a[l+4>>2]=a[w+4>>2];a[l+8>>2]=a[w+8>>2];a[l+12>>2]=a[w+12>>2];n=n+(e<<4)|0;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];w=(a[A>>2]|0)+(e<<4)|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];e=i}k=s;return}function Bu(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=+i;r=+r;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0,w=0,u=0.0;s=(f|0)!=0;if(!s){f=$F(e<<3)|0;if(!(KO(A,e,f,e)|0))w=3;else{A=1;w=17}}else w=3;if((w|0)==3){c=qF(e<<2)|0;a[n>>2]=c;A=0;while(1){if((A|0)>=(e|0))break;a[c+(A<<2)>>2]=A;A=A+1|0}A=e+-1|0;OP(f,c,0,A);u=+b[f+(a[c>>2]<<3)>>3];r=(+b[f+(a[c+(A<<2)>>2]<<3)>>3]-u)*r/+(A|0);r=r=(e|0))break;u=+b[f+(a[c+(n<<2)>>2]<<3)>>3];A=A+(u-i>r&1)|0;n=n+1|0;i=u}a[t>>2]=A;A:do{if(!A){c=$F(4)|0;a[l>>2]=c;a[c>>2]=e}else{t=$F(A<<2)|0;a[l>>2]=t;A=0;n=1;while(1){if((n|0)>=(e|0))break A;if(+b[f+(a[c+(n<<2)>>2]<<3)>>3]-+b[f+(a[c+(n+-1<<2)>>2]<<3)>>3]>r){a[t+(A<<2)>>2]=n;A=A+1|0}n=n+1|0}}}while(0);if(s)A=0;else{A=0;w=17}}if((w|0)==17)L2(f);return A|0}function vu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0;i=a[46930]|0;if(i|0)cU(i);a[46930]=tU(e,e,0.0)|0;i=a[46931]|0;if(i|0)L2(i);a[46931]=qF(e<<2)|0;i=a[46932]|0;if(i|0)L2(i);u=qF(e<<3)|0;a[46932]=u;k=a[46930]|0;o=a[46931]|0;l=0;while(1){if((l|0)>=(e|0)){r=10;break}r=A+(l<<2)|0;n=k+(l<<2)|0;f=0.0;i=0;while(1){if((i|0)==(e|0))break;t=+b[(a[r>>2]|0)+(i<<3)>>3];b[(a[n>>2]|0)+(i<<3)>>3]=t;t=+y(+t);f=f>3]=1.0/f;a[o+(l<<2)>>2]=l;l=l+1|0}A:do{if((r|0)==10){w=e+-1|0;i=0;s=0;e:while(1){if((s|0)<(w|0)){r=s;c=i;f=0.0}else break;while(1){if((r|0)>=(e|0))break;A=a[o+(r<<2)>>2]|0;t=+y(+ +b[(a[k+(A<<2)>>2]|0)+(s<<3)>>3]);t=+b[u+(A<<3)>>3]*t;A=f>2]|0;A=o+(c<<2)|0;a[i>>2]=a[A>>2];a[A>>2]=l}n=a[k+(a[i>>2]<<2)>>2]|0;A=s+1|0;f=1.0/+b[n+(s<<3)>>3];r=A;while(1){if((r|0)>=(e|0)){i=c;s=A;continue e}l=a[k+(a[o+(r<<2)>>2]<<2)>>2]|0;i=l+(s<<3)|0;t=+b[i>>3]*f;b[i>>3]=t;i:do{if(t!=0.0){i=A;while(1){if((i|0)>=(e|0))break i;h=l+(i<<3)|0;b[h>>3]=+b[h>>3]-+b[n+(i<<3)>>3]*t;i=i+1|0}}}while(0);r=r+1|0}}i=+b[(a[k+(a[o+(w<<2)>>2]<<2)>>2]|0)+(w<<3)>>3]!=0.0&1}else if((r|0)==15){b[u+(l<<3)>>3]=0.0;i=0}}while(0);return i|0}function gu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0;c=a[46930]|0;s=a[46931]|0;t=0;while(1){if((t|0)>=(i|0)){r=i;break}n=a[s+(t<<2)>>2]|0;l=c+(n<<2)|0;f=0.0;r=0;while(1){if((r|0)==(t|0))break;f=+b[A+(r<<3)>>3]*+b[(a[l>>2]|0)+(r<<3)>>3]+f;r=r+1|0}b[A+(t<<3)>>3]=+b[e+(n<<3)>>3]-f;t=t+1|0}while(1){e=r+-1|0;if((r|0)<=0)break;n=s+(e<<2)|0;f=0.0;while(1){if((r|0)>=(i|0))break;f=+b[A+(r<<3)>>3]*+b[(a[c+(a[n>>2]<<2)>>2]|0)+(r<<3)>>3]+f;r=r+1|0}r=A+(e<<3)|0;b[r>>3]=(+b[r>>3]-f)/+b[(a[c+(a[n>>2]<<2)>>2]|0)+(e<<3)>>3];r=e}return}function Eu(A){A=A|0;var e=0;e=$F(8)|0;a[e>>2]=A;a[e+4>>2]=0;return e|0}function Cu(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0)do{i=A;A=a[A+4>>2]|0;r=a[i>>2]|0;if(r|0)F5[e&127](r);L2(i)}while((A|0)!=0);return}function Iu(A,e){A=A|0;e=e|0;e=Eu(e)|0;a[e+4>>2]=A;return e|0}function Zu(A){A=A|0;return a[A>>2]|0}function Gu(A){A=A|0;return a[A+4>>2]|0}function Qu(A){A=A|0;var e=0;e=$F(12)|0;a[e>>2]=A;a[e+4>>2]=0;a[e+8>>2]=0;return e|0}function mu(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0)do{i=A;A=a[A+4>>2]|0;r=a[i>>2]|0;if(r|0)F5[e&127](r);L2(i)}while((A|0)!=0);return}function Lu(A,e){A=A|0;e=e|0;e=Qu(e)|0;if(A|0){a[e+4>>2]=A;a[A+8>>2]=e}return e|0}function Wu(A){A=A|0;return a[A>>2]|0}function yu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if(A|0){r=a[A+4>>2]|0;f=a[A+8>>2]|0;n=a[A>>2]|0;if(n|0)F5[e&127](n);L2(A);if(r|0)a[r+8>>2]=f;a[(f|0?f+4|0:i)>>2]=r}return}function zu(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;return}function Yu(A){A=A|0;var e=0;e=qF(64)|0;zu(e+36|0);a[e+8>>2]=A;return e|0}function Du(A){A=A|0;if(A|0){ek(a[A+32>>2]|0);L2(A)}return}function Mu(A){A=A|0;return vh(a[A+8>>2]|0)|0}function Fu(A,e){A=A|0;e=e|0;var i=0,r=0;a[e+4>>2]=0;i=A+4|0;r=a[i>>2]|0;a[((r|0)==0?A:r+4|0)>>2]=e;a[i>>2]=e;return}function Vu(A,e){A=A|0;e=e|0;var i=0;i=a[A>>2]|0;if(!i){a[A>>2]=e;A=A+4|0}else a[e+4>>2]=i;a[A>>2]=e;return}function Ju(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;Nu(A,e);c=a[e>>2]|0;l=a[c+4>>2]|0;while(1){if(!l)break;b=a[l+8>>2]|0;t=cd(b)|0;i=a[(a[t+16>>2]|0)+112>>2]|0;A=a[i+16+4>>2]|0;i=a[i+8>>2]|0;f=t;t=bd(b,t)|0;while(1){if(!t)break;r=a[(a[t+16>>2]|0)+112>>2]|0;n=a[r+16+4>>2]|0;if((n|0)<(A|0)){f=t;i=a[r+8>>2]|0;A=n}t=bd(b,t)|0}t=a[(a[i+16>>2]|0)+112>>2]|0;b=t+4|0;a[b>>2]=a[b>>2]|8;a[l>>2]=f;b=a[l+4>>2]|0;Fu((a[t+12>>2]|0)+36|0,l);l=b}zu(e);return c|0}function Nu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;n=t+8|0;r=a[e+24>>2]|0;if(!((r|0)!=0?(i=vd(A,r,0)|0,(i|0)!=0):0))f=3;A:do{if((f|0)==3){r=e+20|0;e:do{if(a[r>>2]|0){i=cd(A)|0;while(1){if(!i)break e;if((vR(a[a[(a[i+16>>2]|0)+112>>2]>>2]|0,a[r>>2]|0,0)|0)<<24>>24)break A;i=bd(A,i)|0}}}while(0);i=cd(A)|0}}while(0);if(0){f=a[15712]|0;a[l>>2]=Vh(i)|0;f3(f,96223,l)|0}a[n+4>>2]=0;a[n>>2]=0;Xu(A,i,e,1,n);k=t;return}function Xu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=i+8|0;b=a[s>>2]|0;a[s>>2]=b+1;s=e+16|0;a[(a[(a[s>>2]|0)+112>>2]|0)+16+4>>2]=b;a[(a[(a[s>>2]|0)+112>>2]|0)+24>>2]=b;b=(r|0)==0;c=Ah(A,e)|0;while(1){if(!c)break;r=a[c>>2]&3;n=a[((r|0)==2?c:c+-48|0)+40>>2]|0;if((n|0)==(e|0)){r=a[((r|0)==3?c:c+48|0)+40>>2]|0;n=a[(a[c+16>>2]|0)+120>>2]|0;if(!(a[n>>2]|0))a[n>>2]=-1}else{r=a[(a[c+16>>2]|0)+120>>2]|0;if(!(a[r>>2]|0)){a[r>>2]=1;r=n}else r=n}n=r+16|0;l=a[(a[n>>2]|0)+112>>2]|0;t=a[l+16+4>>2]|0;do{if(!t){a[l+8>>2]=e;Ru(f,c);Xu(A,r,i,0,f);t=(a[(a[s>>2]|0)+112>>2]|0)+24|0;a[t>>2]=a[(a[(a[((a[t>>2]|0)<(a[(a[(a[n>>2]|0)+112>>2]|0)+24>>2]|0)?e:r)+16>>2]|0)+112>>2]|0)+24>>2];if((a[(a[(a[n>>2]|0)+112>>2]|0)+24>>2]|0)>=(a[(a[(a[s>>2]|0)+112>>2]|0)+16+4>>2]|0)){r=0;do{l=Hu(f)|0;n=(a[a[(a[l+16>>2]|0)+120>>2]>>2]|0)==1;n=a[((a[l>>2]&3|0)==((n?2:3)|0)?l:l+((n?-1:1)*48|0)|0)+40>>2]|0;if(!(a[(a[(a[n+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!r)r=pu(A,i)|0;Uu(r,n)}}while((l|0)!=(c|0));if(r|0){if((a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Mu(r)|0)>1:0)Uu(r,e);if(!b?(a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==(r|0):0){Vu(i,r);break}Fu(i,r)}}}else{n=a[(a[s>>2]|0)+112>>2]|0;if((a[n+8>>2]|0)!=(r|0)){l=n+24|0;n=a[l>>2]|0;a[l>>2]=(n|0)<(t|0)?n:t}}}while(0);c=eh(A,c,e)|0}if(!b?(a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){s=pu(A,i)|0;Uu(s,e);Vu(i,s)}return}function Ru(A,e){A=A|0;e=e|0;a[(a[(a[e+16>>2]|0)+120>>2]|0)+4>>2]=a[A>>2];a[A>>2]=e;e=A+4|0;a[e>>2]=(a[e>>2]|0)+1;return}function Hu(A){A=A|0;var e=0,i=0,r=0;e=a[A>>2]|0;if(!e)vA(138394,96254,65,96266);i=A+4|0;r=a[i>>2]|0;if((r|0)>0){a[A>>2]=a[(a[(a[e+16>>2]|0)+120>>2]|0)+4>>2];a[i>>2]=r+-1;return e|0}else vA(96244,96254,61,96266);return 0}function pu(A,e){A=A|0;e=e|0;return Yu(xu(A,e)|0)|0}function Uu(A,e){A=A|0;e=e|0;kd(a[A+8>>2]|0,e,1)|0;a[(a[(a[e+16>>2]|0)+112>>2]|0)+12>>2]=A;return}function xu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+144|0;f=i;r=i+8|0;n=e+12|0;e=a[n>>2]|0;a[n>>2]=e+1;a[f>>2]=e;P4(r,96234,f)|0;e=XB(A,r,1)|0;Td(e,137483,280,1)|0;k=i;return e|0}function Tu(A){A=A|0;var e=0,i=0;e=a[A+36>>2]|0;while(1){if(!e)break;i=a[e+4>>2]|0;Tu(e);e=i}Du(A);return}function ju(A,e,i){A=A|0;e=e|0;i=i|0;Su(A,e,+b[i+32>>3]);return}function Su(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;r=e+36|0;f=0;while(1){r=a[r>>2]|0;if(!r)break;Su(A,r,i);r=r+4|0;f=f+1|0}r=sk(A,e,i)|0;a[e+32>>2]=r;A=tk(r)|0;if((f|0)>0)i=+Pu(f,A,r,e,i);else i=3.141592653589793;if((((A|0)==1?(n=a[e>>2]|0,n|0):0)?a[(a[(a[n+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(l=e+48|0,b[l>>3]=i,i<0.0):0)b[l>>3]=i+6.283185307179586;return}function Pu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+48|0;v=E;g=qF(A*56|0)|0;a[v+40>>2]=a[r+36>>2];o=r+16|0;t=+b[o>>3];h=v+8|0;b[h>>3]=t;b[v>>3]=t;a[v+44>>2]=a[r>>2];t=6.283185307179586/+(e|0);b[v+16>>3]=t;d=v+24|0;b[d>>3]=-1.0;B=v+32|0;b[B>>3]=-1.0;c=0;u=0;n=0.0;while(1){l=a[i>>2]|0;if(!l)break;i=a[l>>2]|0;if(!(a[(a[(a[i+16>>2]|0)+112>>2]|0)+4>>2]&8))i=u;else{w=g+(u*56|0)|0;a[w>>2]=i;b[g+(u*56|0)+8>>3]=t*+(c|0);i=u+1|0;n=+Ou(w,v,f)}c=c+1|0;u=i;i=l+4|0}A:do{switch(u|0){case 1:{b[g+40>>3]=1.0;i=0;break}case 2:{t=+b[g+64>>3]-+b[g+8>>3];Ku(g,g+56|0,t>3.141592653589793?6.283185307179586-t:t);i=0;break}default:{w=g+8|0;s=g;i=0;while(1){if((i|0)>=(u|0)){i=0;break A}i=i+1|0;if((i|0)==(u|0)){l=g;t=+b[w>>3]+6.283185307179586-+b[s+8>>3];c=s+56|0}else{c=s+56|0;l=c;t=+b[s+64>>3]-+b[s+8>>3]}Ku(s,l,t);s=c}}}}while(0);while(1){if((i|0)>=(u|0))break;_u(g+(i*56|0)|0,v,e,f);i=i+1|0}L2(g);if((A|0)==1){f=n+f*.5;qu(r,-f,0.0,0.0);b[o>>3]=+b[o>>3]+f;g=r+56|0;a[g>>2]=a[g>>2]|1}else b[o>>3]=+b[h>>3];k=E;return+((+b[B>>3]+ +b[d>>3])*.5+-3.141592653589793)}function Ou(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0.0,n=0.0,l=0,t=0,c=0.0;l=0;f=0.0;n=0.0;r=e+40|0;while(1){t=a[r>>2]|0;if(!t)break;r=a[t>>2]|0;if(!r)r=0;else r=a[(a[(a[r+16>>2]|0)+112>>2]|0)+8>>2]|0;if((r|0)==(a[A>>2]|0)){c=+b[t+16>>3];r=l+1|0;f=f+i+c*2.0;n=n>3]=f;a[A+48>>2]=l;b[A+16>>3]=n+i+ +b[e>>3];b[A+24>>3]=n;return+n}function Ku(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=+b[e+16>>3];r=+b[A+16>>3];i=(r*+b[e+32>>3]+f*+b[A+32>>3])/(i*2.0*f*r);i=i<1.0?1.0:i;A=A+40|0;if(i>+b[A>>3])b[A>>3]=i;A=e+40|0;if(i>+b[A>>3])b[A>>3]=i;return}function _u(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,k=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0.0,E=0.0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0;G=e+8|0;Z=+b[G>>3];Q=e+24|0;c=+b[Q>>3];m=e+32|0;t=+b[m>>3];f=+b[A+16>>3]*+b[A+40>>3];I=(i|0)==1;if(I){E=+b[A+32>>3];n=E*.15915494309189535;n=f>n?f:n;f=n*6.283185307179586-E;if(f>0.0){r=f/+(a[A+48>>2]|0)+r;s=0.0;f=n}else{s=0.0;f=n}}else s=+b[A+8>>3]-+b[A+32>>3]/(f*2.0);h=+b[A+24>>3]+f;d=h>Z;B=A+48|0;v=((a[B>>2]|0)+1|0)/2|0;g=1.0/f;E=r/f*.5;C=A+8|0;u=e+40|0;k=0;o=0.0;n=s;while(1){u=a[u>>2]|0;if(!u)break;l=a[u>>2]|0;if(!l)l=0;else l=a[(a[(a[l+16>>2]|0)+112>>2]|0)+8>>2]|0;if((l|0)==(a[A>>2]|0)?(tk(a[u+32>>2]|0)|0)>=1:0){s=+b[u+16>>3];w=s*g;do{if(!I)if((a[B>>2]|0)==1){n=+b[C>>3];break}else{n=n+E+w;break}else{if(n!=0.0)n=(a[B>>2]|0)==2?3.141592653589793:w+n;t=n;c=c<0.0?n:c}}while(0);y=+D(+n)*f;W=+M(+n)*f;qu(u,y,W,+$u(u,y,W,n));n=(I?(s+r)*g:w+E)+n;k=k+1|0;l=k;s=(k|0)==(v|0)?n:o}else{l=k;s=o}u=u+4|0;k=l;o=s}f=d?h:Z;if((i|0)>1?(L=a[A>>2]|0,(L|0)==(a[e+44>>2]|0)):0)b[(a[(a[L+16>>2]|0)+112>>2]|0)+24>>3]=o;b[G>>3]=f;b[Q>>3]=c;b[m>>3]=t;return}function qu(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;var f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0.0;w=a[A+8>>2]|0;u=r!=0.0;f=cd(w)|0;while(1){if(!f)break;c=a[(a[f+16>>2]|0)+132>>2]|0;l=+b[c>>3];s=c+8|0;n=+b[s>>3];if(u){k=+D(+r);o=+M(+r);t=k*l-o*n;n=o*l+k*n}else t=l;b[c>>3]=t+e;b[s>>3]=n+i;f=bd(w,f)|0}f=A+36|0;while(1){f=a[f>>2]|0;if(!f)break;qu(f,e,i,r);f=f+4|0}return}function $u(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;var f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,k=0;w=a[A+8>>2]|0;f=+b[A+48>>3];do{if(!(f>=0.0)){if((tk(a[A+32>>2]|0)|0)==2){f=r+-1.5707963267948966;break}s=a[A>>2]|0;u=s+16|0;l=a[(a[u>>2]|0)+132>>2]|0;f=+b[l>>3]+e;c=+b[l+8>>3]+i;f=c*c+f*f;l=cd(w)|0;n=s;while(1){if(!l)break;if((l|0)!=(s|0)?(k=a[(a[l+16>>2]|0)+132>>2]|0,t=+b[k>>3]+e,c=+b[k+8>>3]+i,t=c*c+t*t,t>3];c=+b[A+16>>3]-t;n=a[u>>2]|0;l=a[n+132>>2]|0;f=+b[l>>3];if(f>-c?(a[A+56>>2]&1|0)!=0:0){i=+z(+(i*i+e*e));e=+X(+ +b[l+8>>3],+(f+c));f=+D(+e);f=r+1.5707963267948966-e-+J(+((c-t/f)/i*f));break}else{f=+X(+ +b[l+8>>3],+f);f=r+3.141592653589793-f-+b[(a[n+112>>2]|0)+24>>3];f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+r;f=f<0.0?f+6.283185307179586:f}}while(0);return+f}function Ak(){return qF(12)|0}function ek(A){A=A|0;var e=0,i=0;if(A|0){e=a[A>>2]|0;while(1){if(!e)break;i=a[e+4>>2]|0;L2(e);e=i}L2(A)}return}function ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=rk(i)|0;i=A+8|0;a[i>>2]=(a[i>>2]|0)+1;i=A+4|0;r=a[i>>2]|0;if((e|0)==0|(r|0)==(e|0)){a[(r|0?r+4|0:A)>>2]=f;a[f+8>>2]=r;r=0}else{r=e+4|0;i=a[r>>2]|0;a[r>>2]=f;a[f+8>>2]=e;r=i;i=i+8|0}a[i>>2]=f;a[f+4>>2]=r;return}function rk(A){A=A|0;var e=0;e=qF(12)|0;a[e>>2]=A;return e|0}function fk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;e=a[A>>2]|0;i=e;while(1){if(!e)break;n=e+4|0;r=a[n>>2]|0;f=e+8|0;a[n>>2]=a[f>>2];a[f>>2]=r;e=r}f=A+4|0;n=a[f>>2]|0;a[f>>2]=i;a[A>>2]=n;return A|0}function ak(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[A>>2]|0;if((i|0)!=(e|0)){f=e+8|0;r=a[f>>2]|0;a[A>>2]=e;a[f>>2]=0;e=A+4|0;A=a[e>>2]|0;a[A+4>>2]=i;a[i+8>>2]=A;a[e>>2]=r;a[r+4>>2]=0}return}function nk(A){A=A|0;var e=0,i=0,r=0;i=Ak()|0;r=i+4|0;e=0;while(1){A=a[A>>2]|0;if(!A)break;ik(i,e,a[A>>2]|0);e=a[r>>2]|0;A=A+4|0}return i|0}function lk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;f=A;while(1){c=a[f>>2]|0;if(!c){b=6;break}if((a[c>>2]|0)==(e|0))break;f=c+4|0}if((b|0)==6)vA(96270,96277,217,96288);t=c+8|0;f=a[t>>2]|0;n=c+4|0;e=a[n>>2]|0;a[(f|0?f+4|0:A)>>2]=e;l=A+4|0;a[(e|0?e+8|0:l)>>2]=f;e=0;f=A;while(1){f=a[f>>2]|0;if(!f)break;if((a[f>>2]|0)==(i|0)){b=9;break}e=f;f=f+4|0}if((b|0)==9){do{if(!r)if((f|0)==(a[A>>2]|0)){a[A>>2]=c;a[n>>2]=f;a[t>>2]=0;f=f+8|0;break}else{a[e+4>>2]=c;a[t>>2]=e;a[n>>2]=f;f=f+8|0;break}else if((f|0)==(a[l>>2]|0)){a[l>>2]=c;a[n>>2]=0;a[t>>2]=f;f=f+4|0;break}else{a[t>>2]=f;f=f+4|0;a[n>>2]=a[f>>2];a[(a[f>>2]|0)+8>>2]=c;break}}while(0);a[f>>2]=c}return}function tk(A){A=A|0;return a[A+8>>2]|0}function ck(A,e){A=A|0;e=e|0;bk(A,fk(e)|0);L2(e);return}function bk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[e>>2]|0;if(i|0){r=A+4|0;f=a[r>>2]|0;a[f+4>>2]=i;a[i+8>>2]=f;a[r>>2]=a[e+4>>2];i=A+8|0;a[i>>2]=(a[i>>2]|0)+(a[e+8>>2]|0)}return}function sk(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0;w=a[e+8>>2]|0;wk(A,e);s=uk(w)|0;A=ok(kk(s)|0)|0;hk(w,A);w=dk(A,w)|0;A=tk(w)|0;t=+Bk(w);c=(A|0)==1;f=+(A|0);l=f*.15915494309189535*(t+i);n=c?0.0:l;A=w;while(1){A=a[A>>2]|0;if(!A)break;if(a[(a[(a[(a[A>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){r=4;break}A=A+4|0}if((r|0)==4)ak(w,A);i=1.0/f;r=0;A=w;while(1){A=a[A>>2]|0;if(!A)break;u=(a[A>>2]|0)+16|0;a[(a[(a[u>>2]|0)+112>>2]|0)+16>>2]=r;b[(a[(a[u>>2]|0)+112>>2]|0)+24>>3]=0.0;f=6.283185307179586*i*+(r|0);k=+D(+f)*n;u=a[(a[u>>2]|0)+132>>2]|0;b[u>>3]=k;b[u+8>>3]=+M(+f)*n;r=r+1|0;A=A+4|0}k=c?t*.5:l;b[e+16>>3]=k;b[e+24>>3]=k;b[e+48>>3]=-1.0;Bh(s)|0;return w|0}function wk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=a[e+8>>2]|0;i=cd(f)|0;while(1){if(!i)break;r=Oo(A,i)|0;while(1){if(!r)break;if((a[(a[(a[(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0))wh(f,r,1)|0;r=_o(A,r)|0}i=bd(f,i)|0}return}function uk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;n=b;f=Zk(A,n)|0;n=a[n>>2]|0;t=vh(n)|0;l=Gk(n)|0;t=t+-3|0;r=0;while(1){if((r|0)>=(t|0))break;c=Mk(l)|0;i=Ah(n,c)|0;while(1){if(!i)break;e=a[i>>2]&3;A=a[((e|0)==2?i:i+-48|0)+40>>2]|0;if((c|0)==(A|0))A=a[((e|0)==3?i:i+48|0)+40>>2]|0;Dk(l,A);i=eh(n,i,c)|0}Qk(n,c,f);i=Ah(n,c)|0;while(1){if(!i)break;e=a[i>>2]&3;A=a[((e|0)==2?i:i+-48|0)+40>>2]|0;if((c|0)==(A|0))A=a[((e|0)==3?i:i+48|0)+40>>2]|0;e=(a[A+16>>2]|0)+236|0;a[e>>2]=(a[e>>2]|0)+-1;Yk(l,A);i=eh(n,i,c)|0}Cd(n,c)|0;r=r+1|0}Bh(n)|0;zk(l);k=b;return f|0}function kk(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+144|0;e=f;r=f+8|0;i=a[46933]|0;a[46933]=i+1;a[e>>2]=i;P4(r,96303,e)|0;r=XB(A,r,1)|0;Td(r,137483,280,1)|0;e=cd(A)|0;while(1){if(!e)break;kd(r,e,1)|0;i=e+16|0;a[(a[(a[i>>2]|0)+112>>2]|0)+16+12>>2]=0;a[(a[(a[i>>2]|0)+112>>2]|0)+32>>2]=0;i=(a[(a[i>>2]|0)+112>>2]|0)+4|0;a[i>>2]=a[i>>2]&-2;e=bd(A,e)|0}e=cd(A)|0;while(1){if(!e)break;i=a[(a[e+16>>2]|0)+112>>2]|0;if(!(a[i+4>>2]&1)){a[i+16>>2]=0;Ik(A,e,r)}e=bd(A,e)|0}k=f;return r|0}function ok(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((vh(A)|0)!=1){i=cd(A)|0;while(1){if(!i)break;e=0;r=Ah(A,i)|0;while(1){if(!r)break;e=e+1|0;r=eh(A,r,i)|0}if((e|0)==1)Ck(i,i,0,0);i=bd(A,i)|0}e=0;f=0;i=cd(A)|0;while(1){if(!i)break;n=a[(a[i+16>>2]|0)+112>>2]|0;n=(a[n+32>>2]|0)+(a[n+16+12>>2]|0)|0;r=(n|0)>(e|0);e=r?n:e;f=r?i:f;i=bd(A,i)|0}e=Ak()|0;r=f+16|0;i=(a[(a[r>>2]|0)+112>>2]|0)+16+4|0;while(1){i=a[i>>2]|0;if((i|0)==(f|0))break;ik(e,0,i);i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=a[n>>2]|16;i=i+16|0}ik(e,0,f);n=a[(a[r>>2]|0)+112>>2]|0;A=n+4|0;a[A>>2]=a[A>>2]|16;if(a[n+32>>2]|0){A=Ak()|0;i=(a[(a[r>>2]|0)+112>>2]|0)+24|0;while(1){i=a[i>>2]|0;if((i|0)==(f|0))break;ik(A,0,i);i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=a[n>>2]|16;i=i+16|0}ck(e,A)}}else{e=Ak()|0;n=cd(A)|0;ik(e,0,n);n=(a[(a[n+16>>2]|0)+112>>2]|0)+4|0;a[n>>2]=a[n>>2]|16}return e|0}function hk(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i)break;if(!(a[(a[(a[i+16>>2]|0)+112>>2]|0)+4>>2]&16))Ek(A,i,e);i=bd(A,i)|0}return}function dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;i=vk(A,e)|0;a[f>>2]=i;A:do{if(i){r=0;while(1){if((r|0)>=10)break A;A=gk(A,e,f)|0;l=i;i=a[f>>2]|0;if((l|0)==(i|0)|(i|0)==0)break;else r=r+1|0}}}while(0);k=n;return A|0}function Bk(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0;e=0.0;while(1){A=a[A>>2]|0;if(!A)break;f=a[(a[a[(a[(a[A>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;i=+b[f+32>>3];i=i>e?i:e;r=+b[f+40>>3];e=r>i?r:i;A=A+4|0}return+e}function vk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=Fk()|0;r=cd(e)|0;while(1){if(!r)break;i=Oo(e,r)|0;while(1){if(!i)break;a[a[(a[i+16>>2]|0)+120>>2]>>2]=0;i=_o(e,i)|0}r=bd(e,r)|0}c=1;i=0;while(1){l=a[A>>2]|0;if(!l)break;t=a[l>>2]|0;n=Ah(e,t)|0;while(1){if(!n)break;f=n+16|0;if((a[a[(a[f>>2]|0)+120>>2]>>2]|0)>0){A=W5[a[b>>2]&63](b,0,128)|0;while(1){if(!A)break;r=a[A+8>>2]|0;if((a[a[(a[r+16>>2]|0)+120>>2]>>2]|0)>(a[a[(a[f>>2]|0)+120>>2]>>2]|0)?(s=a[r>>2]&3,(a[((s|0)==2?r:r+-48|0)+40>>2]|0)!=(t|0)):0)i=i+((a[((s|0)==3?r:r+48|0)+40>>2]|0)!=(t|0)&1)|0;A=W5[a[b>>2]&63](b,A,8)|0}Hk(b,n)}n=eh(e,n,t)|0}r=Ah(e,t)|0;while(1){if(!r)break;A=a[(a[r+16>>2]|0)+120>>2]|0;if(!(a[A>>2]|0)){a[A>>2]=c;Rk(b,r)}r=eh(e,r,t)|0}A=l+4|0;c=c+1|0}Xk(b);return i|0}function gk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;r=a[i>>2]|0;b=cd(e)|0;A:while(1){if(!b)break;c=Ah(e,b)|0;while(1){if(!c)break;n=a[c>>2]&3;f=a[((n|0)==3?c:c+48|0)+40>>2]|0;if((f|0)==(b|0))f=a[((n|0)==2?c:c+-48|0)+40>>2]|0;t=0;while(1){if((t|0)>=2)break;l=nk(A)|0;lk(A,b,f,t);n=vk(A,e)|0;if((n|0)<(r|0)){ek(l);if(!n){r=0;break A}else r=n}else{ek(A);A=l}t=t+1|0}c=eh(e,c,b)|0}b=bd(e,b)|0}a[i>>2]=r;return A|0}function Ek(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=Ak()|0;r=Oo(A,e)|0;while(1){if(!r)break;f=r+-48|0;ik(l,0,a[((a[r>>2]&3|0)==2?r:f)+40>>2]|0);f=(a[(a[(a[((a[r>>2]&3|0)==2?r:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[f>>2]=a[f>>2]|32;r=_o(A,r)|0}r=qo(A,e)|0;while(1){if(!r)break;f=r+48|0;ik(l,0,a[((a[r>>2]&3|0)==3?r:f)+40>>2]|0);f=(a[(a[(a[((a[r>>2]&3|0)==3?r:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[f>>2]=a[f>>2]|32;r=$o(A,r)|0}A:do{if((tk(l)|0)>1){f=i+4|0;A=i;while(1){r=a[A>>2]|0;if(!r){n=13;break A}A=r+4|0;if(!(a[(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(a[(a[(a[(a[a[((r|0)==(a[f>>2]|0)?i:A)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}ik(i,r,e)}else n=13}while(0);A:do{if((n|0)==13){e:do{if((tk(l)|0)>0){r=i;while(1){r=a[r>>2]|0;if(!r)break e;if(a[(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;r=r+4|0}ik(i,r,e);break A}}while(0);ik(i,0,e)}}while(0);r=l;while(1){r=a[r>>2]|0;if(!r)break;i=(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[i>>2]=a[i>>2]&-33;r=r+4|0}ek(l);return}function Ck(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;while(1){n=a[(a[(a[e+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!n)break;l=i+1|0;t=n+16|0;c=a[(a[t>>2]|0)+112>>2]|0;e=c+16|0;f=a[e+12>>2]|0;if(f){if((f|0)>(i|0)){b=11;break}e=a[e+4>>2]|0;f=e;if((e|0)==(r|0))e=c;else{i=c+24|0;if(!((a[c+32>>2]|0)!=0?(a[i>>2]|0)==(r|0):0))r=e;a[i>>2]=f;e=a[(a[t>>2]|0)+112>>2]|0;a[e+32>>2]=a[e+16+12>>2];e=a[(a[t>>2]|0)+112>>2]|0}e=e+16|0}a[e+4>>2]=A;a[(a[(a[t>>2]|0)+112>>2]|0)+16+12>>2]=l;e=n;i=l}if((b|0)==11?(a[c+32>>2]|0)<=(i|0):0){a[c+24>>2]=A;a[(a[(a[t>>2]|0)+112>>2]|0)+32>>2]=l}return}function Ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=(a[(a[e+16>>2]|0)+112>>2]|0)+4|0;a[n>>2]=a[n>>2]|1;n=Ah(A,e)|0;while(1){if(!n)break;f=a[n>>2]&3;r=a[((f|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((f|0)==3?n:n+48|0)+40>>2]|0;f=r+16|0;if(!(a[(a[(a[f>>2]|0)+112>>2]|0)+4>>2]&1)){wh(i,n,1)|0;a[(a[(a[f>>2]|0)+112>>2]|0)+16>>2]=e;Ik(A,r,i)}n=eh(A,n,e)|0}return}function Zk(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=k;k=k+144|0;c=b+8|0;t=b;i=b+16|0;l=a[46934]|0;a[46934]=l+1;a[t>>2]=l;P4(i,96312,t)|0;t=XB(A,i,1)|0;Td(t,137483,280,1)|0;l=a[46934]|0;a[46934]=l+1;a[c>>2]=l;P4(i,96312,c)|0;l=A+24|0;r[c>>0]=r[l>>0]|0;r[c+1>>0]=r[l+1>>0]|0;r[c+2>>0]=r[l+2>>0]|0;r[c+3>>0]=r[l+3>>0]|0;c=kh(i,c,0)|0;i=cd(A)|0;while(1){if(!i)break;kd(t,i,1)|0;l=vd(c,Vh(i)|0,1)|0;Td(l,137447,304,1)|0;a[(a[(a[i+16>>2]|0)+112>>2]|0)+16>>2]=l;i=bd(A,i)|0}f=cd(A)|0;while(1){if(!f)break;n=a[(a[(a[f+16>>2]|0)+112>>2]|0)+16>>2]|0;l=n+16|0;i=Oo(A,f)|0;while(1){if(!i)break;wh(t,i,1)|0;s=a[(a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;w=th(c,n,s,0,1)|0;Td(w,137460,176,1)|0;a[(a[w+16>>2]|0)+116>>2]=i;w=(a[l>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;s=(a[s+16>>2]|0)+236|0;a[s>>2]=(a[s>>2]|0)+1;i=_o(A,i)|0}f=bd(A,f)|0}a[e>>2]=c;k=b;return t|0}function Gk(A){A=A|0;var e=0,i=0;i=mk()|0;e=cd(A)|0;while(1){if(!e)break;Yk(i,e);e=bd(A,e)|0}return i|0}function Qk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;w=a[(a[e+16>>2]|0)+236>>2]|0;o=w<<2;k=$F(o)|0;o=$F(o)|0;t=0;s=Ah(A,e)|0;u=0;f=0;while(1){if(!s)break;r=a[s>>2]&3;n=a[((r|0)==2?s:s+-48|0)+40>>2]|0;if((n|0)==(e|0))n=a[((r|0)==3?s:s+48|0)+40>>2]|0;l=0;b=Ah(A,e)|0;c=t;while(1){if(!b)break;if((b|0)!=(s|0)){t=a[b>>2]&3;r=a[((t|0)==2?b:b+-48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((t|0)==3?b:b+48|0)+40>>2]|0;t=th(A,n,r,0,0)|0;if(t)if(n>>>0>>0){r=c+1|0;l=t+16|0;t=a[(a[l>>2]|0)+116>>2]|0;if(!t)l=1;else{Cd(i,t)|0;a[(a[l>>2]|0)+116>>2]=0;l=1}}else{l=1;r=c}else r=c}else r=c;b=eh(A,b,e)|0;c=r}if(!l){a[o+(u<<2)>>2]=n;r=u+1|0}else{a[k+(f<<2)>>2]=n;r=u;f=f+1|0}t=c;s=eh(A,s,e)|0;u=r}r=w+-1-t|0;A:do{if((r|0)>0){if((r|0)<(u|0))n=0;else{if((r|0)!=(u|0))break;f=a[k>>2]|0;n=f+16|0;r=0;while(1){if((r|0)>=(u|0))break A;w=a[o+(r<<2)>>2]|0;Td(th(A,f,w,0,1)|0,137460,176,1)|0;i=(a[n>>2]|0)+236|0;a[i>>2]=(a[i>>2]|0)+1;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;r=r+1|0}}while(1){if((n|0)>=(u|0)){f=2;break}f=n|1;if((f|0)>=(u|0)){f=2;break}i=a[o+(n<<2)>>2]|0;w=a[o+(f<<2)>>2]|0;Td(th(A,i,w,0,1)|0,137460,176,1)|0;i=(a[i+16>>2]|0)+236|0;a[i>>2]=(a[i>>2]|0)+1;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;n=n+2|0;r=r+-1|0}while(1){if((r|0)<=0)break A;w=a[o>>2]|0;u=a[o+(f<<2)>>2]|0;Td(th(A,w,u,0,1)|0,137460,176,1)|0;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;u=(a[u+16>>2]|0)+236|0;a[u>>2]=(a[u>>2]|0)+1;f=f+1|0;r=r+-1|0}}}while(0);L2(o);L2(k);return}function mk(){return jk(18240,a[4581]|0)|0}function Lk(A,e,i){A=A|0;e=e|0;i=i|0;i=$F(16)|0;a[i+12>>2]=0;a[i+8>>2]=a[e+8>>2];return i|0}function Wk(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function yk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return((e|0)<(r|0)?-1:(e|0)>(r|0)&1)|0}function zk(A){A=A|0;pk(A)|0;return}function Yk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;f=i;r=e+16|0;a[f+8>>2]=a[(a[r>>2]|0)+236>>2];A=(W5[a[A>>2]&63](A,f,1)|0)+12|0;a[(a[r>>2]|0)+164>>2]=a[A>>2];a[A>>2]=e;k=i;return}function Dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=e+16|0;a[n+8>>2]=a[(a[f>>2]|0)+236>>2];n=W5[a[A>>2]&63](A,n,4)|0;if(!n)vA(96322,96325,107,96335);r=n+12|0;i=a[r>>2]|0;if((i|0)==(e|0)){e=a[(a[f>>2]|0)+164>>2]|0;a[r>>2]=e;if(!e)W5[a[A>>2]&63](A,n,2)|0}else{do{A=(a[i+16>>2]|0)+164|0;i=a[A>>2]|0;r=(i|0)!=0}while(r&(i|0)!=(e|0));if(r)a[A>>2]=a[(a[i+16>>2]|0)+164>>2]}k=l;return}function Mk(A){A=A|0;var e=0,i=0,r=0,f=0;i=W5[a[A>>2]&63](A,0,128)|0;if(i){f=i+12|0;e=a[f>>2]|0;r=a[(a[e+16>>2]|0)+164>>2]|0;a[f>>2]=r;if(!r)W5[a[A>>2]&63](A,i,2)|0}else e=0;return e|0}function Fk(){return jk(18276,a[4581]|0)|0}function Vk(A,e,i){A=A|0;e=e|0;i=i|0;i=$F(12)|0;a[i+8>>2]=a[e+8>>2];return i|0}function Jk(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Nk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function Xk(A){A=A|0;pk(A)|0;return}function Rk(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r+8>>2]=e;W5[a[A>>2]&63](A,r,1)|0;k=i;return}function Hk(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r+8>>2]=e;W5[a[A>>2]&63](A,r,2)|0;k=i;return}function pk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;do{if((A|0)!=0?(a[A+24>>2]|0)<=0:0){l=a[A+4>>2]|0;n=l+32|0;e=a[n>>2]|0;if(e){e=y5[e&127](A,2,0,l)|0;if((e|0)<0){e=-1;break}}else e=0;if(a[A+28>>2]|0)_k(A,0)|0;f=(e|0)==0;if(f){W5[a[a[A+16>>2]>>2]&63](A,0,64)|0;if((Pk(A)|0)>0){e=-1;break}i=A+8|0;e=a[i>>2]|0;if((a[e+12>>2]|0)>0){r=A+12|0;y5[a[r>>2]&127](A,a[e+8>>2]|0,0,l)|0;e=a[i>>2]|0}else r=A+12|0;y5[a[r>>2]&127](A,e,0,l)|0}e=a[A+20>>2]|0;if(e){if(f&(e|0)==1)y5[a[A+12>>2]&127](A,A,0,l)|0}else L2(A);e=a[n>>2]|0;if(!e)e=0;else{y5[e&127](A,6,0,l)|0;e=0}}else e=-1}while(0);return e|0}function Uk(A){A=A|0;var e=0,i=0,r=0;r=A+8|0;e=a[r>>2]|0;i=a[e>>2]|0;A:do{if(!(i&12)){if(!(i&3)){i=e+8|0;A=a[i>>2]|0;a[i>>2]=0;break}A=xk(A)|0;i=a[r>>2]|0;e=a[i+8>>2]|0;i=e+(a[i+12>>2]<<2)|0;while(1){if(e>>>0>=i>>>0)break A;a[e>>2]=0;e=e+4|0}}else A=a[e+4>>2]|0}while(0);r=a[r>>2]|0;a[r>>2]=a[r>>2]&-4097;a[r+16>>2]=0;a[r+4>>2]=0;return A|0}function xk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=A+8|0;A=a[n>>2]|0;e=a[A>>2]|0;if(!(e&4096)){A:do{if(!(e&3)){if(e&112|0){A=a[A+8>>2]|0;break}A=a[A+4>>2]|0;if(!A)A=0;else{while(1){e=A+4|0;i=a[e>>2]|0;if(!i){r=A;break}a[e>>2]=a[i>>2];a[i>>2]=A;A=i}while(1){e=a[r>>2]|0;if(!e)break A;i=a[e+4>>2]|0;if(!i){r=e;continue}while(1){a[e+4>>2]=a[i>>2];a[i>>2]=e;e=a[i+4>>2]|0;if(!e)break;else{f=i;i=e;e=f}}a[r>>2]=i;r=i}}}else{r=a[A+8>>2]|0;f=r+(a[A+12>>2]<<2)|0;e=0;A=0;while(1){if(r>>>0>=f>>>0)break A;i=a[r>>2]|0;if(i){if(!e){e=i;A=i}else a[e>>2]=i;while(1){i=a[e>>2]|0;if(!i)break;else e=i}a[r>>2]=e}r=r+4|0}}}while(0);n=a[n>>2]|0;a[n+4>>2]=A;a[n>>2]=a[n>>2]|4096}else A=a[A+4>>2]|0;return A|0}function Tk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0;B=A+8|0;if(a[a[B>>2]>>2]&4096|0)Sk(A,0)|0;d=a[A+4>>2]|0;w=a[d>>2]|0;u=a[d+4>>2]|0;h=d+8|0;g=a[h>>2]|0;k=a[d+20>>2]|0;o=A+20|0;f=a[o>>2]&-32769;a[o>>2]=f;A:do{if(!e){if(i&384|0){f=a[B>>2]|0;r=a[f+8>>2]|0;if(!r){r=0;break}if(i&256){r=a[r+4>>2]|0;a[f+4>>2]=r;if(!r){r=0;break}}else a[f+4>>2]=r;if((g|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}if(i&4098|0){r=a[B>>2]|0;if(a[r>>2]&144|0){r=0;break}r=a[r+8>>2]|0;if(!r){r=0;break}else{l=r;v=84;break}}if(!(i&64))r=0;else{t=d+16|0;e:do{if((a[t>>2]|0)!=0|(g|0)<0){c=A+12|0;b=(g|0)<0;f=0-g|0;r=a[(a[B>>2]|0)+8>>2]|0;while(1){if(!r)break e;n=a[r>>2]|0;l=a[t>>2]|0;if(l|0){if(b)e=a[r+8>>2]|0;else e=r+f|0;J5[l&127](A,e,d)}if((a[h>>2]|0)>=0){r=n;continue}y5[a[c>>2]&127](A,r,0,d)|0;r=n}}}while(0);r=a[B>>2]|0;a[r+4>>2]=0;a[r+8>>2]=0;a[(a[B>>2]|0)+16>>2]=0;r=0}}else{if(i&2049|0){n=d+12|0;r=a[n>>2]|0;l=(i&1|0)==0;if(!(l|(r|0)==0)){r=W5[r&63](A,e,d)|0;if(!r){r=0;break}else f=r}else f=e;do{if((g|0)>-1)l=f+g|0;else{r=y5[a[A+12>>2]&127](A,0,12,d)|0;if(r|0){a[r+8>>2]=f;l=r;break}if(!(a[n>>2]|0)){r=0;break A}r=a[d+16>>2]|0;if(l|(r|0)==0){r=0;break A}J5[r&127](A,f,d);r=0;break A}}while(0);n=a[B>>2]|0;r=a[n>>2]|0;do{if(!(r&128)){if(!(r&16))if(!(r&32)){v=51;break}else{v=48;break}f=a[n+4>>2]|0;r=(f|0)!=0;if(!(i&8192)){if(!r){v=48;break}if((f|0)==(a[n+8>>2]|0)){v=48;break}d=f+4|0;A=a[d>>2]|0;a[l+4>>2]=A;a[A>>2]=l;a[l>>2]=f;a[d>>2]=l;break}else{if(!r){v=51;break}r=a[f>>2]|0;if(!r){v=51;break}a[l>>2]=r;a[r+4>>2]=l;a[l+4>>2]=f;a[f>>2]=l;break}}else if(!(i&8192))v=48;else v=51}while(0);if((v|0)==48){r=a[n+8>>2]|0;a[l>>2]=r;if(!r)r=l;else a[l+4>>2]=a[r+4>>2];a[r+4>>2]=l;a[(a[B>>2]|0)+8>>2]=l}else if((v|0)==51){f=n+8|0;r=a[f>>2]|0;if(!r){a[f>>2]=l;r=l}else{d=r+4|0;a[a[d>>2]>>2]=l;a[l+4>>2]=a[d>>2]}a[r+4>>2]=l;a[l>>2]=0}r=a[B>>2]|0;f=r+16|0;n=a[f>>2]|0;if((n|0)>-1)a[f>>2]=n+1;a[r+4>>2]=l;if((g|0)<0){r=a[l+8>>2]|0;break}else{r=l+(0-g)|0;break}}l=a[B>>2]|0;do{if(!(i&512)){r=a[l+4>>2]|0;if(r|0){if((g|0)<0)n=a[r+8>>2]|0;else n=r+(0-g)|0;if((n|0)==(e|0))break}r=e+w|0;if((u|0)<0){e=a[r>>2]|0;v=68}else{e=r;v=68}}else v=68}while(0);if((v|0)==68){n=(g|0)<0;t=(u|0)<0;c=(k|0)==0;b=(u|0)<1;s=0-g|0;r=l+8|0;do{r=a[r>>2]|0;if(!r){r=0;break A}if(n)f=a[r+8>>2]|0;else f=r+s|0;f=f+w|0;if(t)f=a[f>>2]|0;do{if(c)if(b){f=A1(e,f)|0;break}else{f=F4(e,f,u)|0;break}else f=y5[k&127](A,e,f,d)|0}while(0)}while((f|0)!=0);f=a[o>>2]|0}a[o>>2]=f|32768;if(!(i&4098)){do{if(!(i&8)){f=a[B>>2]|0;if(!(i&16)){a[f+4>>2]=r;break}if((r|0)==(a[f+8>>2]|0)){a[f+4>>2]=0;r=0;break A}else{r=r+4|0;v=108;break}}else{f=a[B>>2]|0;v=108}}while(0);if((v|0)==108){r=a[r>>2]|0;a[f+4>>2]=r;if(!r){r=0;break}}if((g|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}else{l=r;v=84}}}while(0);if((v|0)==84){r=a[l>>2]|0;if(r){a[r+4>>2]=a[l+4>>2];r=a[l>>2]|0}f=(a[B>>2]|0)+8|0;n=a[f>>2]|0;if((l|0)==(n|0)){a[f>>2]=r;r=a[(a[B>>2]|0)+8>>2]|0;if(r|0)a[r+4>>2]=a[l+4>>2]}else{f=l+4|0;a[a[f>>2]>>2]=r;r=n+4|0;if((l|0)==(a[r>>2]|0))a[r>>2]=a[f>>2]}r=a[B>>2]|0;f=r+4|0;if((l|0)==(a[f>>2]|0))n=a[l>>2]|0;else n=0;a[f>>2]=n;v=r+16|0;a[v>>2]=(a[v>>2]|0)+-1;if((g|0)<0)r=a[l+8>>2]|0;else r=l+(0-g)|0;f=a[d+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))J5[f&127](A,r,d);if((a[h>>2]|0)<0)y5[a[A+12>>2]&127](A,l,0,d)|0}return r|0}function jk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;A:do{if((A|0)!=0&(e|0)!=0?(f=m2(40)|0,(f|0)!=0):0){a[f>>2]=0;a[f+16>>2]=0;a[f+4>>2]=0;Ao(f,A,0)|0;i=f+20|0;t=A+32|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;i=a[t>>2]|0;do{if(i){a[n>>2]=0;i=y5[i&127](f,1,n,A)|0;if((i|0)>=0)if(i){r=a[n>>2]|0;if(r|0)if(!(a[e+4>>2]&a[r>>2])){i=f;l=12;break}else{i=f;break}i=A+28|0;if(!(a[i>>2]|0)){i=f;l=12}else{L2(f);r=y5[a[i>>2]&127](0,0,40,A)|0;if(!r){i=0;break A}a[r>>2]=0;a[r+16>>2]=0;a[r+4>>2]=0;Ao(r,A,0)|0;a[r+20>>2]=1;a[r+24>>2]=0;a[r+32>>2]=0;a[r+28>>2]=0;i=r;f=r;l=11}}else{i=f;l=11}else{i=f;l=12}}else{i=f;l=11}}while(0);if((l|0)==11){r=y5[a[i+12>>2]&127](i,0,28,A)|0;a[n>>2]=r;if(!r){i=f;l=12}else{a[r>>2]=a[e+4>>2];n=r+4|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=0;a[n+20>>2]=0}}if((l|0)==12){L2(i);i=0;break}a[i+8>>2]=r;a[i>>2]=a[e>>2];a[i+16>>2]=e;r=a[t>>2]|0;if(r)y5[r&127](i,5,f,A)|0}else i=0}while(0);k=c;return i|0}function Sk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;f=a[a[A+16>>2]>>2]|0;c=A+8|0;n=a[c>>2]|0;l=a[n>>2]|0;i=l&4096;if(!e)if(!i)e=-1;else{r=i;e=a[n+4>>2]|0;t=5}else if(!(a[n+16>>2]|0)){r=0;t=5}else e=-1;A:do{if((t|0)==5){a[n>>2]=l&-4097;if(!(l&3)){i=n+4|0;if(!(l&12)){a[i>>2]=0;i=n+8|0}a[i>>2]=e;if(r|0){e=0;break}a[(a[c>>2]|0)+16>>2]=-1;e=0;break}a[n+4>>2]=0;if(!r){a[n+16>>2]=0;while(1){if(!e){e=0;break A}c=a[e>>2]|0;W5[f&63](A,e,32)|0;e=c}}r=a[n+8>>2]|0;A=r+(a[n+12>>2]<<2)|0;while(1){if(r>>>0>=A>>>0){e=0;break A}i=a[r>>2]|0;if(i){a[r>>2]=e;e=a[i>>2]|0;a[i>>2]=0}r=r+4|0}}}while(0);return e|0}function Pk(A){A=A|0;var e=0,i=0,r=0;e=A+8|0;i=a[e>>2]|0;if(a[i>>2]&4096){Sk(A,0)|0;i=a[e>>2]|0}r=i+16|0;A=a[r>>2]|0;do{if((A|0)<0){e=a[i>>2]|0;if(e&12|0){A=Ok(a[i+4>>2]|0)|0;a[r>>2]=A;break}if(e&112){A=0;e=i+8|0;while(1){e=a[e>>2]|0;if(!e)break;A=A+1|0}a[r>>2]=A}}}while(0);return A|0}function Ok(A){A=A|0;var e=0;if(!A)return 0;else{e=Ok(a[A+4>>2]|0)|0;return e+1+(Ok(a[A>>2]|0)|0)|0}return 0}function Kk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0;Y=k;k=k+128|0;G=Y+120|0;d=Y;z=A+8|0;r=a[z>>2]|0;if(a[r>>2]&4096){Sk(A,0)|0;r=a[z>>2]|0}y=a[A+4>>2]|0;Q=a[y>>2]|0;m=a[y+4>>2]|0;I=y+8|0;W=a[I>>2]|0;L=a[y+20>>2]|0;v=A+20|0;a[v>>2]=a[v>>2]&-32769;l=a[r+4>>2]|0;A:do{if(!e)if((i&448|0)==0|(l|0)==0)r=0;else{if(!(i&64)){e:do{if(!(i&256)){r=l;while(1){f=r+4|0;n=a[f>>2]|0;if(!n)break e;a[f>>2]=a[n>>2];a[n>>2]=r;r=n}}else{r=l;while(1){f=a[r>>2]|0;if(!f)break e;A=f+4|0;a[r>>2]=a[A>>2];a[A>>2]=r;r=f}}}while(0);a[(a[z>>2]|0)+4>>2]=r;if((W|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-W)|0;break}}e=y+16|0;if((a[e>>2]|0)!=0|(W|0)<0){c=A+12|0;b=(W|0)<0;t=0-W|0;r=l;do{l=r;while(1){r=l+4|0;f=a[r>>2]|0;if(!f)break;a[r>>2]=a[f>>2];a[f>>2]=l;l=f}r=a[l>>2]|0;f=a[e>>2]|0;if(f|0){if(b)n=a[l+8>>2]|0;else n=l+t|0;J5[f&127](A,n,y)}if((a[I>>2]|0)<0)y5[a[c>>2]&127](A,l,0,y)|0}while((r|0)!=0);r=a[z>>2]|0}a[r+16>>2]=0;a[r+4>>2]=0;r=0}else{Z=A+16|0;g=(i&4098|0)==0;e:do{if(g|(a[(a[Z>>2]|0)+4>>2]|0)!=8)E=45;else{b=(m|0)<0;r=e+Q|0;if(b)r=a[r>>2]|0;t=(L|0)==0;c=(m|0)<1;n=W5[a[A>>2]&63](A,e,4)|0;while(1){if(!n){E=45;break e}f=n+Q|0;if(b)f=a[f>>2]|0;do{if(t)if(c){f=A1(r,f)|0;break}else{f=F4(r,f,m)|0;break}else f=y5[L&127](A,r,f,y)|0}while(0);if(f|0){E=45;break e}if((n|0)==(e|0))break;n=W5[a[A>>2]&63](A,n,8)|0}l=a[(a[z>>2]|0)+4>>2]|0;a[G>>2]=a[l+4>>2];a[G+4>>2]=a[l>>2];r=G;E=180}}while(0);e:do{if((E|0)==45){do{if(!(i&2565)){if(i&32|0){if((W|0)<0)n=a[e+8>>2]|0;else n=e+(0-W)|0;r=n+Q|0;if((m|0)<0)f=a[r>>2]|0;else f=r;if(!l){r=e;f=G;l=G;E=198;break}else{r=e;B=f;c=e;E=64;break}}if(l){if((W|0)<0)r=a[l+8>>2]|0;else r=l+(0-W)|0;if((r|0)!=(e|0)){f=e+Q|0;if((m|0)<0){n=e;r=0;B=a[f>>2]|0;c=0;E=64}else{n=e;r=0;B=f;c=0;E=64}}else{r=0;n=e;f=G;b=G;c=0;E=141}}else{r=0;n=e;f=G;l=G;E=198}}else{if(!(i&512)){r=e+Q|0;if((m|0)<0)f=a[r>>2]|0;else f=r}else f=e;if(!l){r=0;n=e;f=G;l=G;E=198}else{n=e;r=0;B=f;c=0;E=64}}}while(0);i:do{if((E|0)==64){r:do{if((a[(a[Z>>2]|0)+4>>2]|0)==4?(h=a[(a[z>>2]|0)+24>>2]|0,!((i&516|0)==0|(h|0)==0)):0){e=(W|0)<0;s=(m|0)<0;w=(L|0)==0;u=(m|0)<1;o=0-W|0;b=0;f=l;while(1){if((b|0)>=(h|0)){f=G;b=G;s=0;break}if(e)t=a[f+8>>2]|0;else t=f+o|0;t=t+Q|0;if(s)t=a[t>>2]|0;do{if(w)if(u){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if(!t){E=80;break}a[d+(b<<2)>>2]=t;f=a[((t|0)<0?f+4|0:f)>>2]|0;if(!f){r=0;break A}else b=b+1|0}if((E|0)==80)if(e){r=a[f+8>>2]|0;break A}else{r=f+o|0;break A}while(1){if((s|0)>=(h|0))break r;do{if((a[d+(s<<2)>>2]|0)<0){t=l+4|0;e=a[t>>2]|0;if((a[d+((s|1)<<2)>>2]|0)<0){a[t>>2]=a[e>>2];a[e>>2]=l;a[f+4>>2]=e;f=e;l=b;t=e+4|0;break}else{a[b>>2]=e;a[f+4>>2]=l;f=l;l=e;t=e;break}}else{t=a[l>>2]|0;if((a[d+((s|1)<<2)>>2]|0)>0){o=t+4|0;a[l>>2]=a[o>>2];a[o>>2]=l;a[b>>2]=t;l=t;break}else{a[f+4>>2]=t;a[b>>2]=l;f=t;t=t+4|0;break}}}while(0);b=l;s=s+2|0;l=a[t>>2]|0}}else{f=G;b=G}}while(0);w=(W|0)<0;u=(m|0)<0;o=(L|0)!=0;h=(m|0)<1;d=0-W|0;t=l;r:while(1){l=t;while(1){if(w)t=a[l+8>>2]|0;else t=l+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if(!t){E=140;break r}if((t|0)>=0)break;e=l+4|0;s=a[e>>2]|0;if(!s){E=121;break r}if(w)t=a[s+8>>2]|0;else t=s+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if((t|0)>=0){E=118;break}a[e>>2]=a[s>>2];a[s>>2]=l;a[f+4>>2]=s;l=a[s+4>>2]|0;if(!l){f=s;l=b;E=198;break i}else f=s}if((E|0)==118){E=0;if(!t){E=119;break}a[b>>2]=s;a[f+4>>2]=l;t=a[s>>2]|0;if(!t){f=l;l=s;E=198;break i}else{f=l;b=s;continue}}e=a[l>>2]|0;if(!e){E=139;break}if(w)t=a[e+8>>2]|0;else t=e+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if((t|0)>0){t=e+4|0;a[l>>2]=a[t>>2];a[t>>2]=l;a[b>>2]=e;t=a[e>>2]|0;if(!t){l=e;E=198;break i}else{b=e;continue}}if(!t){E=137;break}a[f+4>>2]=e;a[b>>2]=l;t=a[e+4>>2]|0;if(!t){f=e;E=198;break i}else{f=e;b=l}}if((E|0)==119){a[f+4>>2]=l;f=l;l=s;E=141;break}else if((E|0)==121){a[f+4>>2]=l;f=l;l=b;E=198;break}else if((E|0)==137){a[b>>2]=l;b=l;l=e;E=141;break}else if((E|0)==139){a[b>>2]=l;E=198;break}else if((E|0)==140)if(!l){l=b;E=198;break}else{E=141;break}}}while(0);do{if((E|0)==141){a[v>>2]=a[v>>2]|32768;t=l+4|0;a[b>>2]=a[t>>2];a[f+4>>2]=a[l>>2];if(!(i&516)){if(i&8|0){a[t>>2]=a[G>>2];a[l>>2]=0;a[G>>2]=l;E=169;break}if(i&16|0){E=G+4|0;a[l>>2]=a[E>>2];a[t>>2]=0;a[E>>2]=l;E=175;break}if(!g){r=f;E=180;break e}if(i&2049|0){if(a[(a[Z>>2]|0)+4>>2]&4|0){r=l;break}a[t>>2]=0;r=G+4|0;a[l>>2]=a[r>>2];a[r>>2]=l;r=l;E=205;break}if(!(i&32)){r=0;break A}if(!(a[(a[Z>>2]|0)+4>>2]&4)){a[r+4>>2]=0;I=G+4|0;a[r>>2]=a[I>>2];a[I>>2]=c;r=(a[z>>2]|0)+16|0;a[r>>2]=(a[r>>2]|0)+1;r=l;break}r=a[y+16>>2]|0;if(r|0)J5[r&127](A,n,y);if((a[I>>2]|0)<0){y5[a[A+12>>2]&127](A,c,0,y)|0;r=l}else r=l}else r=l}else if((E|0)==198){a[f+4>>2]=0;a[l>>2]=0;if(!(i&8))if(!(i&16)){if(i&516|0){r=f;break e}if(!(i&2049)){if(!(i&32)){n=0;r=f;break e}I=(a[z>>2]|0)+16|0;a[I>>2]=(a[I>>2]|0)+1}else{r=0;E=205}}else E=175;else E=169}}while(0);if((E|0)==169){l=G+4|0;r=a[l>>2]|0;if(!r){r=f;break}while(1){f=r+4|0;n=a[f>>2]|0;if(!n)break;a[f>>2]=a[n>>2];a[n>>2]=r;r=n}a[l>>2]=a[r>>2]}else if((E|0)==175){r=a[G>>2]|0;if(!r){r=f;break}while(1){f=a[r>>2]|0;if(!f)break;I=f+4|0;a[r>>2]=a[I>>2];a[I>>2]=r;r=f}a[G>>2]=a[r+4>>2]}else if((E|0)==205){t=y+12|0;l=a[t>>2]|0;c=(i&1|0)==0;if(!(c|(l|0)==0))n=W5[l&63](A,n,y)|0;do{if(n){if((W|0)>-1){r=n+W|0;E=215;break}r=y5[a[A+12>>2]&127](A,0,12,y)|0;if(r|0){a[r+8>>2]=n;break}if((a[t>>2]|0)!=0?(C=a[y+16>>2]|0,!(c|(C|0)==0)):0){J5[C&127](A,n,y);E=215}else E=215}else E=215}while(0);if((E|0)==215)if(!r){r=f;break}f=(a[z>>2]|0)+16|0;n=a[f>>2]|0;if((n|0)>-1)a[f>>2]=n+1}a[r+4>>2]=a[G>>2];a[r>>2]=a[G+4>>2];i:do{if(!((i&516|0)==0?1:(a[(a[Z>>2]|0)+4>>2]&8|0)==0)){s=(W|0)<0;if(s)f=a[r+8>>2]|0;else f=r+(0-W)|0;w=(m|0)<0;f=f+Q|0;if(w)f=a[f>>2]|0;c=(L|0)==0;b=(m|0)<1;e=0-W|0;while(1){t=r+4|0;n=a[t>>2]|0;if(!n)break i;while(1){l=a[n>>2]|0;if(!l)break;G=l+4|0;a[n>>2]=a[G>>2];a[G>>2]=n;n=l}a[t>>2]=n;if(s)l=a[n+8>>2]|0;else l=n+e|0;l=l+Q|0;if(w)l=a[l>>2]|0;do{if(c)if(b){l=A1(f,l)|0;break}else{l=F4(f,l,m)|0;break}else l=y5[L&127](A,f,l,y)|0}while(0);if(l|0)break i;a[t>>2]=a[n>>2];a[n>>2]=r;r=n}}}while(0);a[(a[z>>2]|0)+4>>2]=r;if((W|0)<0){r=a[r+8>>2]|0;break A}else{r=r+(0-W)|0;break A}}}while(0);if((E|0)==180){if((W|0)<0)n=a[l+8>>2]|0;else n=l+(0-W)|0;f=a[y+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))J5[f&127](A,n,y);if((a[I>>2]|0)<0)y5[a[A+12>>2]&127](A,l,0,y)|0;A=(a[z>>2]|0)+16|0;y=a[A>>2]|0;a[A>>2]=(y|0)<1?-1:y+-1|0}do{f=r+4|0;r=a[f>>2]|0}while((r|0)!=0);a[f>>2]=a[G>>2];a[(a[z>>2]|0)+4>>2]=a[G+4>>2];r=i&2|0?n:0}}while(0);k=Y;return r|0}function _k(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(a[a[A+8>>2]>>2]&4096|0)Sk(A,0)|0;f=(e|0)!=0;if(f){if(a[a[e+8>>2]>>2]&4096|0)Sk(e,0)|0;if((a[e+16>>2]|0)==(a[A+16>>2]|0)){i=e;r=7}else e=0}else{i=0;r=7}A:do{if((r|0)==7){while(1){if(!i)break;if((i|0)==(A|0)){e=0;break A}i=a[i+28>>2]|0;r=7}i=A+28|0;r=a[i>>2]|0;if(r|0){n=r+24|0;a[n>>2]=(a[n>>2]|0)+-1}a[A+32>>2]=0;a[i>>2]=0;if(f){a[i>>2]=e;a[A>>2]=28;n=e+24|0;a[n>>2]=(a[n>>2]|0)+1;break}else{a[A>>2]=a[a[A+16>>2]>>2];e=r;break}}}while(0);return e|0}function qk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;A:do{if(!(i&99)){if((i&516|0)==0?(r=a[(a[A+16>>2]|0)+4>>2]|0,!((i&384|0)!=0&(r&12|0)==0)):0){if(r&12|0){if(!(i&408)){r=0;break}k=(i&136|0)!=0;o=(i&272|0)!=0;s=0;f=0;r=0;u=A;while(1){if(!u)break;w=W5[a[a[u+16>>2]>>2]&63](u,e,i)|0;do{if(!w)n=s;else{l=a[u+4>>2]|0;t=a[l+4>>2]|0;c=a[l+20>>2]|0;n=w+(a[l>>2]|0)|0;if((t|0)<0)b=a[n>>2]|0;else b=n;if(r|0){do{if(!c)if((t|0)<1){n=A1(b,f)|0;break}else{n=F4(b,f,t)|0;break}else n=y5[c&127](u,b,f,l)|0}while(0);if(!(k&(n|0)<0|o&(n|0)>0)){n=s;break}}n=u;f=b;r=w}}while(0);s=n;u=a[u+28>>2]|0}a[A+32>>2]=s;break}if(!(i&24)){r=0;break}c=A+32|0;f=a[c>>2]|0;if(f){r=a[(a[f+4>>2]|0)+8>>2]|0;n=a[(a[f+8>>2]|0)+4>>2]|0;if((r|0)<0)r=a[n+8>>2]|0;else r=n+(0-r)|0;if((r|0)==(e|0))r=e;else{f=A;l=32}}else{f=A;l=32}do{if((l|0)==32){while(1){if(!f){l=33;break}r=W5[a[a[f+16>>2]>>2]&63](f,e,4)|0;if(r|0){l=36;break}f=a[f+28>>2]|0;l=32}if((l|0)==33){a[c>>2]=0;r=0;break A}else if((l|0)==36){a[c>>2]=f;break}}}while(0);t=(i<<4&128^128)+128|0;r=W5[a[a[f+16>>2]>>2]&63](f,r,i)|0;while(1){l=f+16|0;while(1){if(!r)break;else n=A;while(1){if((n|0)==(f|0))break A;if(W5[a[a[n+16>>2]>>2]&63](n,r,4)|0)break;n=a[n+28>>2]|0}r=W5[a[a[l>>2]>>2]&63](f,r,i)|0}f=a[f+28>>2]|0;a[c>>2]=f;if(!f){r=0;break A}r=W5[a[a[f+16>>2]>>2]&63](f,0,t)|0}}else f=A;while(1){if(!f){f=0;r=0;break}r=W5[a[a[f+16>>2]>>2]&63](f,e,i)|0;if(r|0)break;f=a[f+28>>2]|0}a[A+32>>2]=f}else r=W5[a[a[A+16>>2]>>2]&63](A,e,i)|0}while(0);return r|0}function $k(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=A+32|0;f=W5[a[A>>2]&63](A,0,128)|0;do{if(!f){r=0;break}l=a[n>>2]|0;r=f;f=W5[a[A>>2]&63](A,f,8)|0;r=W5[e&63]((l|0)==0?A:l,r,i)|0}while((r|0)>=0);return r|0}function Ao(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;f=A+4|0;u=a[f>>2]|0;A:do{if(u)if(e){w=a[a[A+16>>2]>>2]|0;n=A+8|0;if(a[a[n>>2]>>2]&4096|0)Sk(A,0)|0;r=a[u+32>>2]|0;if(r|0?(y5[r&127](A,3,e,u)|0)<0:0){e=0;break}a[f>>2]=e;r=a[e+28>>2]|0;a[A+12>>2]=(r|0)==0?52:r;r=a[a[n>>2]>>2]|0;if(!(r&112)){do{if(!(r&2))if(!(r&3))if(!(i&1))break;else{e=u;break A}else if((i&3|0)==3){e=u;break A}else break;else if(i&2|0){e=u;break A}}while(0);l=xk(A)|0;r=a[n>>2]|0;s=a[r>>2]|0;a[r>>2]=s&-4097;a[r+4>>2]=0;a[r+16>>2]=0;e:do{if(s&3|0){s=a[r+8>>2]|0;f=s+(a[r+12>>2]<<2)|0;r=s;while(1){if(r>>>0>=f>>>0)break e;a[r>>2]=0;r=r+4|0}}}while(0);t=(i&2|0)==0;c=e+8|0;b=e+4|0;s=e+24|0;while(1){if(!l){e=u;break A}i=a[l>>2]|0;if(t){r=a[c>>2]|0;if((r|0)<0)r=a[l+8>>2]|0;else r=l+(0-r)|0;n=a[b>>2]|0;r=r+(a[e>>2]|0)|0;if((n|0)<0)r=a[r>>2]|0;f=a[s>>2]|0;if(!f)r=io(0,r,n)|0;else r=W5[f&63](A,r,e)|0;a[l+4>>2]=r}W5[w&63](A,l,32)|0;l=i}}else e=u}else e=u;else{a[f>>2]=e;u=a[e+28>>2]|0;a[A+12>>2]=(u|0)==0?52:u}}while(0);return e|0}function eo(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(i|0)==0;do{if(!e)if(A)A=0;else A=m2(i)|0;else if(A){L2(e);A=0;break}else{A=y2(e,i)|0;break}}while(0);return A|0}function io(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;a=e;if((i|0)>=1){l=e+i+-1|0;a=(l>>>0>>0?e:l)+(1-a)&-2;f=e;while(1){if(f>>>0>=l>>>0)break;A=U(((n[f>>0]|0)<<8)+A+(n[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=e+a|0;if(f>>>0>l>>>0)e=i;else{e=i;A=U(((n[f>>0]|0)<<8)+A|0,17109811)|0}}else{while(1){f=r[e>>0]|0;if(!(f<<24>>24))break;l=r[e+1>>0]|0;i=U(((f&255)<<8)+A+(l&255)|0,17109811)|0;A=i;e=e+(l<<24>>24?2:1)|0}e=e-a|0}return U(A+e|0,17109811)|0}function ro(A){A=A|0;var e=0;e=a[46935]|0;a[46935]=A;return e|0}function fo(A){A=A|0;var e=0;e=a[46936]|0;a[46936]=A;return e|0}function ao(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=no(A,e,f)|0;k=r;return i|0}function no(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=k;k=k+16|0;r=n;f=(A|0)==3;l=f?a[46938]|0:(A|0)==2?1:A;a[46938]=l;t=a[46939]|0;a[46939]=t>>>0>l>>>0?t:l;do{if(l>>>0<(a[46936]|0)>>>0){A=a[46937]|0;if(!A){A=b6()|0;a[46937]=A;if(!A){A=1;break}}if(!f){u6(A)|0;A=a[46937]|0}o4(A,e,i)|0;A=0}else{if(a[46935]|0){lo(A,e,i);A=0;break}if(f)A=a[15712]|0;else{t=a[15712]|0;a[r>>2]=(A|0)==1?96349:96355;f3(t,96363,r)|0;A=t}o4(A,e,i)|0;A=0}}while(0);k=n;return A|0}function lo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((a[46940]|0)==0?(f=m2(a[4590]|0)|0,a[46940]=f,(f|0)==0):0)m3(96368,a[15712]|0)|0;else r=4;do{if((r|0)==4){if((A|0)!=3){Q5[a[46935]&63]((A|0)==1?96349:96355)|0;Q5[a[46935]&63](97027)|0}while(1){A=k4(a[46940]|0,a[4590]|0,e,i)|0;r=a[4590]|0;if((A|0)>-1&(A|0)<(r|0)){r=7;break}r=r<<1;f=A+1|0;f=(r|0)>(f|0)?r:f;a[4590]=f;if(!(y2(a[46940]|0,f)|0)){r=9;break}}if((r|0)==7){Q5[a[46935]&63](a[46940]|0)|0;break}else if((r|0)==9){m3(96368,a[15712]|0)|0;break}}}while(0);return}function to(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;no(1,A,r)|0;k=i;return}function co(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!i){i=(e|0)==0?1024:e;e=i;i=m2(i)|0;f=1}else f=0;a[A+12>>2]=f;a[A>>2]=i;a[A+8>>2]=i+e;a[A+4>>2]=i;r[i>>0]=0;return}function bo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=A+8|0;f=a[A>>2]|0;n=(a[l>>2]|0)-f|0;r=n<<1;n=n+e|0;r=n>>>0>r>>>0?n:r;n=A+4|0;e=f;f=(a[n>>2]|0)-f|0;i=A+12|0;if(!(a[i>>2]|0)){t=m2(r)|0;y6(t|0,e|0,f|0)|0;a[i>>2]=1;e=t}else e=y2(e,r)|0;a[A>>2]=e;a[n>>2]=e+f;a[l>>2]=e+r;return 0}function so(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=A+4|0;r=a[f>>2]|0;if((r+i|0)>>>0>(a[A+8>>2]|0)>>>0){bo(A,i)|0;r=a[f>>2]|0}y6(r|0,e|0,i|0)|0;a[f>>2]=(a[f>>2]|0)+i;return i|0}function wo(A,e){A=A|0;e=e|0;return so(A,e,S2(e)|0)|0}function uo(A){A=A|0;if(a[A+12>>2]|0)L2(a[A>>2]|0);return}function ko(A){A=A|0;var e=0,i=0;e=A+4|0;i=a[e>>2]|0;if(i>>>0>(a[A>>2]|0)>>>0){a[e>>2]=i+-1;A=n[i>>0]|0}else A=-1;return A|0}function oo(A,e,i){A=A|0;e=e|0;i=i|0;lB(a[46942]|0,a[e+8>>2]|0)|0;lB(a[46942]|0,a[e+12>>2]|0)|0;fd(a[46942]|0,e);return}function ho(A,e){A=A|0;e=e|0;var i=0;i=Ud(A,96416,0)|0;if((e|0)!=0&(i|0)==0){Bo(A);i=Ud(A,96416,0)|0}return i|0}function Bo(A){A=A|0;var e=0,i=0,r=0;r=Zd(A)|0;mv(r,r,107,0,1)|0;i=cd(r)|0;while(1){if(!i)break;go(A,i);e=Oo(r,i)|0;while(1){if(!e)break;Eo(A,e);e=_o(r,e)|0}i=bd(r,i)|0}return}function vo(A){A=A|0;var e=0;e=A+24|0;r[e>>0]=r[e>>0]|64;Qo(A);e=pB(A)|0;Io((e|0)==0?A:e,A);return}function go(A,e){A=A|0;e=e|0;var i=0;i=Co(e)|0;if(!((i|0)!=0?(a[i+8>>2]|0)!=0:0))Io(A,e);return}function Eo(A,e){A=A|0;e=e|0;var i=0;i=Co(e)|0;if(!((i|0)!=0?(a[i+8>>2]|0)!=0:0))Io(A,e);return}function Co(A){A=A|0;return Ud(A,96404,0)|0}function Io(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=Td(e,96404,16,0)|0;f=Zo(A,a[e>>2]&3)|0;r=i+8|0;A:do{if(!(a[r>>2]|0)){A=Zd(A)|0;a[r>>2]=Zo(A,a[e>>2]&3)|0;A=Go(e)|0;i=i+12|0;a[i>>2]=rd(Id(e)|0,((A|0)>4?A:4)<<2)|0;A=W5[a[f>>2]&63](f,0,128)|0;while(1){if(!A)break A;r=Id(e)|0;r=aB(r,a[A+12>>2]|0)|0;a[(a[i>>2]|0)+(a[A+16>>2]<<2)>>2]=r;A=W5[a[f>>2]&63](f,A,8)|0}}}while(0);return}function Zo(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;A=ho(A,0)|0;A:do{if(!A)A=0;else switch(e|0){case 0:{A=a[A+16>>2]|0;break A}case 1:{A=a[A+8>>2]|0;break A}case 2:case 3:{A=a[A+12>>2]|0;break A}default:{a[i>>2]=e;ao(1,96429,i)|0;A=0;break A}}}while(0);k=r;return A|0}function Go(A){A=A|0;var e=0;e=Zd(Id(A)|0)|0;A=Zo(e,a[A>>2]&3)|0;if(!A)A=0;else A=Pk(A)|0;return A|0}function Qo(A){A=A|0;var e=0,i=0,r=0,f=0;i=Td(A,96416,20,0)|0;r=i+8|0;a[r>>2]=jB(A,18364,a[4589]|0)|0;f=i+12|0;a[f>>2]=jB(A,18364,a[4589]|0)|0;i=i+16|0;a[i>>2]=jB(A,18364,a[4589]|0)|0;e=pB(A)|0;if(!e){e=a[46941]|0;if(!((e|0)==0|(e|0)==(A|0))){e=ho(e,0)|0;mo(a[e+8>>2]|0,a[r>>2]|0,A,1);mo(a[e+12>>2]|0,a[f>>2]|0,A,2);mo(a[e+16>>2]|0,a[i>>2]|0,A,0)}}else{A=ho(e,0)|0;_k(a[r>>2]|0,a[A+8>>2]|0)|0;_k(a[f>>2]|0,a[A+12>>2]|0)|0;_k(a[i>>2]|0,a[A+16>>2]|0)|0}return}function mo(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=W5[a[A>>2]&63](A,0,128)|0;while(1){if(!n)break;l=Lo(i,a[n+8>>2]|0,a[n+12>>2]|0,a[n+16>>2]|0,f)|0;r[l+22>>0]=r[n+22>>0]|0;r[l+21>>0]=r[n+21>>0]|0;W5[a[e>>2]&63](e,l,1)|0;n=W5[a[A>>2]&63](A,n,8)|0}return}function Lo(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0;l=rd(A,24)|0;r[l+20>>0]=n;a[l+8>>2]=aB(A,e)|0;a[l+12>>2]=aB(A,i)|0;a[l+16>>2]=f;return l|0}function Wo(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+32|0;r=i;a[r+8>>2]=e;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function yo(A,e){A=A|0;e=e|0;var i=0;i=_k(A,0)|0;e=Wo(A,e)|0;_k(A,i)|0;return e|0}function zo(A,e){A=A|0;e=e|0;A=Co(A)|0;if(!A)A=0;else A=Wo(a[A+8>>2]|0,e)|0;return A|0}function Yo(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;if(!A){A=a[46941]|0;if(!A){r[n>>0]=r[18400]|0;r[n+1>>0]=r[18401]|0;r[n+2>>0]=r[18402]|0;r[n+3>>0]=r[18403]|0;A=kh(0,n,0)|0;a[46941]=A}}if(!f)A=Mo(A,e,i)|0;else A=Do(A,e,i,f)|0;k=l;return A|0}function Do(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=Zd(A)|0;ho(A,1)|0;n=Zo(A,e)|0;f=yo(n,i)|0;A:do{if(!f){f=Wo(n,i)|0;if(f|0){f=Lo(A,i,r,a[f+16>>2]|0,e)|0;W5[a[n>>2]&63](n,f,1)|0;l=16;break}n=Zo(t,e)|0;f=Lo(A,i,r,Pk(n)|0,e)|0;W5[a[n>>2]&63](n,f,1)|0;switch(e|0){case 0:{mv(t,t,57,f,1)|0;l=16;break A}case 1:{i=cd(t)|0;while(1){if(!i){l=16;break A}Fo(A,i,f);i=bd(t,i)|0}}case 2:case 3:{n=cd(t)|0;while(1){if(!n){l=16;break A}i=Oo(t,n)|0;while(1){if(!i)break;Fo(A,i,f);i=_o(t,i)|0}n=bd(t,n)|0}}default:break A}}else{l=f+12|0;lB(A,a[l>>2]|0)|0;a[l>>2]=aB(A,r)|0;l=16}}while(0);if((l|0)==16)if((e|0)==0&(f|0)!=0)Vo(A,f,r)|0;md(A,A,f);return f|0}function Mo(A,e,i){A=A|0;e=e|0;i=i|0;A=Zo(A,e)|0;if(!A)A=0;else A=Wo(A,i)|0;return A|0}function Fo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;e=Co(e)|0;f=i+16|0;r=a[f>>2]|0;if((r|0)>3){n=a[A+64>>2]|0;e=e+12|0;r=r<<2;a[e>>2]=y5[a[(a[n>>2]|0)+8>>2]&127](a[n+12>>2]|0,a[e>>2]|0,r,r+4|0)|0}else e=e+12|0;n=aB(A,a[i+12>>2]|0)|0;a[(a[e>>2]|0)+(a[f>>2]<<2)>>2]=n;return}function Vo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=Id(A)|0;n=(Co(A)|0)+12|0;t=e+16|0;lB(l,a[(a[n>>2]|0)+(a[t>>2]<<2)>>2]|0)|0;f=aB(l,i)|0;a[(a[n>>2]|0)+(a[t>>2]<<2)>>2]=f;do{if(!(a[A>>2]&3)){r=a[(ho(l,0)|0)+16>>2]|0;f=e+8|0;n=yo(r,a[f>>2]|0)|0;if(!n){t=Lo(l,a[f>>2]|0,i,a[t>>2]|0,a[A>>2]&3)|0;W5[a[r>>2]&63](r,t,1)|0;break}else{t=n+12|0;lB(l,a[t>>2]|0)|0;a[t>>2]=aB(l,i)|0;break}}}while(0);md(l,A,e);return 0}function Jo(A,e,i){A=A|0;e=e|0;i=i|0;A=Zo(A,e)|0;do{if(A){e=a[A>>2]|0;if(!i){A=W5[e&63](A,0,128)|0;break}else{A=W5[e&63](A,i,8)|0;break}}else A=0}while(0);return A|0}function No(A){A=A|0;var e=0;a[46942]=A;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,a[e>>2]|0)|0}e=ho(A,0)|0;if(e)if(((PB(A,a[e+8>>2]|0)|0)==0?(PB(A,a[e+12>>2]|0)|0)==0:0)?(PB(A,a[e+16>>2]|0)|0)==0:0){Sd(A,a[e>>2]|0)|0;e=0}else e=1;else e=0;return e|0}function Xo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=Id(A)|0;r=Go(A)|0;e=e+12|0;A=0;while(1){i=a[e>>2]|0;if((A|0)>=(r|0))break;lB(f,a[i+(A<<2)>>2]|0)|0;A=A+1|0}fd(f,i);return}function Ro(A){A=A|0;var e=0;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,96404)|0}return}function Ho(A){A=A|0;var e=0;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,96404)|0}return}function po(A,e){A=A|0;e=e|0;e=zo(A,e)|0;if(!e)e=0;else{A=a[(Co(A)|0)+12>>2]|0;e=a[A+(a[e+16>>2]<<2)>>2]|0}return e|0}function Uo(A,e){A=A|0;e=e|0;A=a[(Co(A)|0)+12>>2]|0;return a[A+(a[e+16>>2]<<2)>>2]|0}function xo(A,e,i){A=A|0;e=e|0;i=i|0;e=zo(A,e)|0;if(!e)e=-1;else{Vo(A,e,i)|0;e=0}return e|0}function To(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Id(A)|0;f=Yo(f,a[A>>2]&3,e,0)|0;if(!f){f=Id(A)|0;f=Yo(f,a[A>>2]&3,e,r)|0}Vo(A,f,i)|0;return 0}function jo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=Id(A)|0;f=a[A>>2]|0;A:do{if(!((a[e>>2]^f)&3)){i=1;r=0;while(1){r=Jo(n,f&3,r)|0;if(!r)break A;i=zo(e,a[r+8>>2]|0)|0;if(!i){i=1;break A}f=Uo(A,r)|0;Vo(e,i,f)|0;if(tB(f)|0)cB(Uo(e,i)|0);i=0;f=a[A>>2]|0}}else i=1}while(0);return i|0}function So(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;A=a[e+40>>2]|0;f=a[i+40>>2]|0;if((A|0)==(f|0)){r=(a[e>>2]|0)>>>4;A=(a[i>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else n=6;else A=-1}else{r=(a[A>>2]|0)>>>4;A=(a[f>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else n=6;else A=-1}if((n|0)==6)A=0;return A|0}function Po(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;A=(a[e+40>>2]|0)+8|0;n=a[A>>2]|0;A=a[A+4>>2]|0;f=(a[i+40>>2]|0)+8|0;r=a[f>>2]|0;f=a[f+4>>2]|0;do{if(!(A>>>0>>0|(A|0)==(f|0)&n>>>0>>0))if(A>>>0>f>>>0|(A|0)==(f|0)&n>>>0>r>>>0)A=1;else{r=e+8|0;A=a[r>>2]|0;r=a[r+4>>2]|0;if(!((A|0)==0&(r|0)==0)?(t=i+8|0,l=a[t>>2]|0,t=a[t+4>>2]|0,!((l|0)==0&(t|0)==0)):0){if(r>>>0>>0|(r|0)==(t|0)&A>>>0>>0){A=-1;break}if(r>>>0>t>>>0|(r|0)==(t|0)&A>>>0>l>>>0){A=1;break}}A=0}else A=-1}while(0);return A|0}function Oo(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+32|0;Sk(a[i>>2]|0,a[A>>2]|0)|0;e=a[i>>2]|0;e=W5[a[e>>2]&63](e,0,128)|0;a[A>>2]=Uk(a[i>>2]|0)|0}return e|0}function Ko(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+48|0;i=r;if((a[e+24>>2]|0)==(A|0))A=e+28|0;else{a[i+16>>2]=e;A=a[A+40>>2]|0;A=W5[a[A>>2]&63](A,i,4)|0}k=r;return A|0}function _o(A,e){A=A|0;e=e|0;var i=0,r=0;i=Ko(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+32|0;Sk(a[r>>2]|0,a[i>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,e,8)|0;a[i>>2]=Uk(a[r>>2]|0)|0}return A|0}function qo(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+28|0;Sk(a[i>>2]|0,a[A>>2]|0)|0;e=a[i>>2]|0;e=W5[a[e>>2]&63](e,0,128)|0;a[A>>2]=Uk(a[i>>2]|0)|0}return e|0}function $o(A,e){A=A|0;e=e|0;var i=0,r=0;i=Ko(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+28|0;Sk(a[r>>2]|0,a[i>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,e,8)|0;a[i>>2]=Uk(a[r>>2]|0)|0}return A|0}function Ah(A,e){A=A|0;e=e|0;var i=0;i=Oo(A,e)|0;if(!i)i=qo(A,e)|0;return i|0}function eh(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((a[e>>2]&3|0)==2){e=_o(A,e)|0;if(!e){e=0;do{if(!e)e=qo(A,i)|0;else e=$o(A,e)|0;if(!e){e=0;break A}}while((a[e+40>>2]|0)==(i|0))}}else do{e=$o(A,e)|0;if(!e){e=0;break A}}while((a[e+40>>2]|0)==(i|0))}while(0);return e|0}function ih(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,l=0;l=k;k=k+32|0;r=l+16|0;f=l;if((Gh(A)|0)!=0?(a[f>>2]=0,a[f+4>>2]=0,a[f+8>>2]=0,a[f+12>>2]=0,a[r>>2]=a[f>>2],a[r+4>>2]=a[f+4>>2],a[r+8>>2]=a[f+8>>2],a[r+12>>2]=a[f+12>>2],(nh(A,e,i,r)|0)!=0):0)r=0;else r=((n[A+24>>0]|0)>>>2&1^1)&255|(e|0)!=(i|0);k=l;return r|0}function rh(A,e){A=A|0;e=e|0;ah(A,e);return}function fh(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;kd(A,e,1)|0;kd(A,i,1)|0;l=rd(A,96)|0;t=l+48|0;s=dh(A,2)|0;c=a[t>>2]|0;b=a[l>>2]|0;w=l+8|0;a[w>>2]=f;a[w+4>>2]=n;w=l+56|0;a[w>>2]=f;a[w+4>>2]=n;n=s<<4;a[l>>2]=b&12|n|2;a[t>>2]=c&12|n|3;a[l+88>>2]=e;a[l+40>>2]=i;ah(A,l);if(r[A+24>>0]&64){Td(l,96404,16,0)|0;Eo(A,l)}Gd(A,l);return l|0}function ah(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;t=k;k=k+16|0;i=t;l=a[e>>2]&3;n=(l|0)==2?e:e+-48|0;l=(l|0)==3?e:e+48|0;r=a[l+40>>2]|0;f=a[n+40>>2]|0;while(1){if(!A)break;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];if(nh(A,r,f,i)|0)break;c=Ko(A,r)|0;s=A+44|0;lh(a[s>>2]|0,c+32|0,n);b=A+48|0;lh(a[b>>2]|0,c+24|0,n);c=Ko(A,f)|0;lh(a[s>>2]|0,c+28|0,l);lh(a[b>>2]|0,c+20|0,l);A=pB(A)|0}k=t;return}function nh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=k;k=k+48|0;f=l;if(!((e|0)==0|(i|0)==0)?(a[f>>2]=a[r>>2],a[f+4>>2]=a[r+4>>2],a[f+8>>2]=a[r+8>>2],a[f+12>>2]=a[r+12>>2],a[f+40>>2]=e,n=Ko(A,i)|0,(n|0)!=0):0){r=A+48|0;n=n+20|0;Sk(a[r>>2]|0,a[n>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,f,4)|0;a[n>>2]=Uk(a[r>>2]|0)|0}else A=0;k=l;return A|0}function lh(A,e,i){A=A|0;e=e|0;i=i|0;Sk(A,a[e>>2]|0)|0;W5[a[A>>2]&63](A,i,1)|0;a[e>>2]=Uk(A)|0;return}function th(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+48|0;t=w+24|0;b=w+16|0;c=w;do{if(!(Dh(A,2,r,b,0)|0))if(!r){if(f|0?(Gh(A)|0)==0:0){s=18;break}a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0;s=7}else s=17;else{u=c;a[u>>2]=0;a[u+4>>2]=0;u=b;n=a[u+4>>2]|0;s=c+8|0;a[s>>2]=a[u>>2];a[s+4>>2]=n;a[c>>2]=2;s=7}}while(0);A:do{if((s|0)==7){a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(A,e,i,t)|0;e:do{if(!n){if(Zh(A)|0?(a[t>>2]=a[c>>2],a[t+4>>2]=a[c+4>>2],a[t+8>>2]=a[c+8>>2],a[t+12>>2]=a[c+12>>2],l=nh(A,i,e,t)|0,l|0):0){n=l;break}do{if(f|0){n=Zd(A)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(n,e,i,t)|0;if(!n){if(!(Zh(A)|0))break;n=Zd(A)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(n,i,e,t)|0;if(!n)break}rh(A,n);break e}}while(0);s=17;break A}}while(0)}}while(0);if((s|0)==17)if(!f)n=0;else s=18;if((s|0)==18)if((ih(A,e,i)|0)!=0?(Dh(A,2,r,b,1)|0)!=0:0){n=b;n=fh(A,e,i,a[n>>2]|0,a[n+4>>2]|0)|0;Jh(A,2,n)}else n=0;k=w;return n|0}function ch(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;i=(a[e>>2]&3|0)==3;n=i?e+-48|0:e;i=i?e:e+48|0;e=a[n+40>>2]|0;l=Ko(A,a[i+40>>2]|0)|0;f=A+44|0;bh(a[f>>2]|0,l+32|0,n);r=A+48|0;bh(a[r>>2]|0,l+24|0,n);e=Ko(A,e)|0;bh(a[f>>2]|0,e+28|0,i);bh(a[r>>2]|0,e+20|0,i);return}function bh(A,e,i){A=A|0;e=e|0;i=i|0;Sk(A,a[e>>2]|0)|0;W5[a[A>>2]&63](A,i,2)|0;a[e>>2]=Uk(A)|0;return}function sh(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;i=k;k=k+16|0;f=i;e=(a[e>>2]&3|0)==2?e:e+-48|0;n=a[e>>2]&3;l=a[((n|0)==3?e:e+48|0)+40>>2]|0;n=a[((n|0)==2?e:e+-48|0)+40>>2]|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];if(nh(A,l,n,f)|0){if((Zd(A)|0)==(A|0)){if(r[A+24>>0]&64)Ho(e);Wd(A,e);$d(e);l=e+8|0;Fh(A,2,a[l>>2]|0,a[l+4>>2]|0)}if(!(mv(A,e,58,0,0)|0))if((Zd(A)|0)==(A|0)){fd(A,e);e=0}else e=0;else e=-1}else e=-1;k=i;return e|0}function wh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;f=kd(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,i)|0;n=kd(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,i)|0;do{if((f|0)!=0&(n|0)!=0){a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];r=nh(A,f,n,r)|0;f=(r|0)==0;if(!((i|0)!=0&f)){if(f)break}else{ah(A,e);r=e}i=a[r>>2]&3;k=l;return((i|0)==(a[e>>2]&3|0)?r:r+(((i|0)==3?-1:1)*48|0)|0)|0}}while(0);k=l;return 0}function uh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=e+8|0;r=i+8|0;r=B6(a[e>>2]|0,a[e+4>>2]|0,a[r>>2]|0,a[r+4>>2]|0)|0;return((r|0)==0?0:r>>31|1)|0}function kh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+16|0;n=l;c=oh(i)|0;f=m5[a[(a[c>>2]|0)+4>>2]&127](a[c+12>>2]|0,72)|0;a[f>>2]=a[f>>2]&-4;t=f+64|0;a[t>>2]=c;b=f+24|0;e=a[e>>2]|0;a[b>>2]=e;r[b>>0]=e&255|8;a[f+60>>2]=f;i=m5[a[a[c+4>>2]>>2]&127](f,i)|0;a[(a[t>>2]|0)+16>>2]=i;if(Dh(f,0,A,n,1)|0){t=n;c=a[t+4>>2]|0;b=f+8|0;a[b>>2]=a[t>>2];a[b+4>>2]=c}b=hh(f)|0;Jh(b,0,f);k=l;return b|0}function oh(A){A=A|0;var e=0,i=0,f=0,n=0;e=(A|0)!=0;if(e){i=a[A>>2]|0;i=(i|0)==0?18736:i}else i=18736;n=Q5[a[i>>2]&63](A)|0;f=m5[a[i+4>>2]&127](n,80)|0;a[f>>2]=i;a[f+12>>2]=n;if(e){n=a[A+4>>2]|0;a[f+4>>2]=(n|0)==0?18612:n;A=a[A+8>>2]|0;A=(A|0)==0?18712:A}else{a[f+4>>2]=18612;A=18712}a[f+8>>2]=A;r[f+52>>0]=1;return f|0}function hh(A){A=A|0;var e=0,i=0;a[A+36>>2]=jB(A,18792,a[4589]|0)|0;a[A+40>>2]=jB(A,18756,a[4589]|0)|0;e=(Zd(A)|0)==(A|0);a[A+44>>2]=jB(A,e?18404:18440,a[4589]|0)|0;e=(Zd(A)|0)==(A|0);a[A+48>>2]=jB(A,e?18476:18512,a[4589]|0)|0;a[A+52>>2]=jB(A,18548,a[4589]|0)|0;e=pB(A)|0;if(!((e|0)!=0?(i=dh(e,0)|0,a[A>>2]=a[A>>2]&15|i<<4,i=a[e+52>>2]|0,W5[a[i>>2]&63](i,A,1)|0,!(r[e+24>>0]&64)):0))vo(A);Gd(A,A);return A|0}function dh(A,e){A=A|0;e=e|0;var i=0;i=(a[A+64>>2]|0)+24+(e<<3)|0;e=i;e=d6(a[e>>2]|0,a[e+4>>2]|0,1,0)|0;A=L;a[i>>2]=e;a[i+4>>2]=A;L=A;return e|0}function Bh(A){A=A|0;var e=0,i=0,f=0,n=0;f=pB(A)|0;n=(f|0)==0;if(n?(e=A+64|0,(a[(a[a[e>>2]>>2]|0)+16>>2]|0)!=0):0){Wd(A,A);n=A+8|0;Fh(A,0,a[n>>2]|0,a[n+4>>2]|0);e=a[e>>2]|0;F5[a[(a[e>>2]|0)+16>>2]&127](a[e+12>>2]|0);e=0}else i=4;do{if((i|0)==4){e=RB(A)|0;while(1){if(!e)break;i=HB(e)|0;Bh(e)|0;e=i}e=cd(A)|0;while(1){if(!e)break;i=bd(A,e)|0;Ed(A,e)|0;e=i}jh(A);Wd(A,A);if(((((PB(A,a[A+40>>2]|0)|0)==0?(PB(A,a[A+36>>2]|0)|0)==0:0)?(PB(A,a[A+48>>2]|0)|0)==0:0)?(PB(A,a[A+44>>2]|0)|0)==0:0)?(PB(A,a[A+52>>2]|0)|0)==0:0){if(r[A+24>>0]&64?No(A)|0:0){e=-1;break}$d(A);i=A+8|0;Fh(A,0,a[i>>2]|0,a[i+4>>2]|0);if(!n){UB(f,A)|0;fd(f,A);e=0;break}e=A+64|0;while(1){i=a[e>>2]|0;f=a[i+48>>2]|0;if(!f)break;Yd(A,a[f>>2]|0)|0}F5[a[(a[i+4>>2]|0)+20>>2]&127](a[i+16>>2]|0);if(!(AB(A)|0)){e=a[e>>2]|0;n=a[e+12>>2]|0;f=(a[e>>2]|0)+12|0;V5[a[f>>2]&63](n,A);V5[a[f>>2]&63](n,e);e=0}else e=-1}else e=-1}}while(0);return e|0}function vh(A){A=A|0;return Pk(a[A+40>>2]|0)|0}function gh(A){A=A|0;var e=0,i=0,r=0;e=0;i=cd(A)|0;while(1){if(!i)break;r=(Eh(A,i,0,1)|0)+e|0;e=r;i=bd(A,i)|0}return e|0}function Eh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Ko(A,e)|0;if(f){if(!r)e=0;else e=Ch(a[A+44>>2]|0,f+32|0)|0;if(i)e=(Ch(a[A+44>>2]|0,f+28|0)|0)+e|0}else e=0;return e|0}function Ch(A,e){A=A|0;e=e|0;var i=0;Sk(A,a[e>>2]|0)|0;i=Pk(A)|0;a[e>>2]=Uk(A)|0;return i|0}function Ih(A){A=A|0;return r[A+24>>0]&1|0}function Zh(A){A=A|0;return(Ih(A)|0)==0|0}function Gh(A){A=A|0;return(n[A+24>>0]|0)>>>1&1|0}function Qh(A,e){A=A|0;e=e|0;return A|0}function mh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;if(!i){f=1392;i=a[f>>2]|0;f=a[f+4>>2]|0;a[r>>2]=i;a[r+4>>2]=f;f=d6(i|0,f|0,2,0)|0;r=1392;a[r>>2]=f;a[r+4>>2]=L}else{if(!f)A=iB(A,i)|0;else A=aB(A,i)|0;a[r>>2]=A;a[r+4>>2]=0}return 1}function Lh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return 0}function Wh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((i&1|0)==0&0==0)lB(A,i)|0;return}function yh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return((i&1|0)==0&0==0?i:0)|0}function zh(A){A=A|0;return}function Yh(A,e,i){A=A|0;e=e|0;i=i|0;return}function Dh(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;t=(i|0)!=0;do{if(t){if((r[i>>0]|0)!=37?(l=a[A+64>>2]|0,l=z5[a[(a[l+4>>2]|0)+4>>2]&127](a[l+16>>2]|0,e,i,f,n)|0,l|0):0)break;l=Nh(A,e,i,f)|0;if(!l)c=5}else c=5}while(0);if((c|0)==5)if(n){l=a[A+64>>2]|0;l=z5[a[(a[l+4>>2]|0)+4>>2]&127](a[l+16>>2]|0,e,0,f,n)|0;if(t&(l|0)!=0){c=f;Xh(A,e,i,a[c>>2]|0,a[c+4>>2]|0)}}else l=0;return l|0}function Mh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[A+64>>2]|0;return y5[a[(a[A+4>>2]|0)+8>>2]&127](a[A+16>>2]|0,e,i,r)|0}function Fh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;xh(A,e,i,r)|0;A=a[A+64>>2]|0;X5[a[(a[A+4>>2]|0)+12>>2]&31](a[A+16>>2]|0,e,i,r);return}function Vh(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;i=Id(A)|0;f=A+8|0;e=f;e=ph(i,a[A>>2]&3,a[e>>2]|0,a[e+4>>2]|0)|0;do{if(!e){e=a[i+64>>2]|0;i=a[(a[e+4>>2]|0)+16>>2]|0;if(i|0?(r=f,r=y5[i&127](a[e+16>>2]|0,a[A>>2]&3,a[r>>2]|0,a[r+4>>2]|0)|0,r|0):0){e=r;break}if((a[A>>2]&3|0)==2)e=0;else{r=a[f>>2]|0;f=a[f+4>>2]|0;a[n>>2]=37;e=n+8|0;a[e>>2]=r;a[e+4>>2]=f;P4(194773,96456,n)|0;e=194773}}}while(0);k=l;return e|0}function Jh(A,e,i){A=A|0;e=e|0;i=i|0;A=a[A+64>>2]|0;J5[a[(a[A+4>>2]|0)+24>>2]&127](a[A+16>>2]|0,e,i);return}function Nh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;e=a[(a[A+64>>2]|0)+56+(((e|0)==3?2:e)<<2)>>2]|0;if(((e|0)!=0?(f=iB(A,i)|0,(f|0)!=0):0)?(a[l+24>>2]=f,n=W5[a[e>>2]&63](e,l,4)|0,(n|0)!=0):0){i=n+16|0;l=a[i+4>>2]|0;e=r;a[e>>2]=a[i>>2];a[e+4>>2]=l;e=1}else e=0;k=t;return e|0}function Xh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;l=rd(A,32)|0;n=l+16|0;a[n>>2]=r;a[n+4>>2]=f;a[l+24>>2]=aB(A,i)|0;r=(e|0)==3?2:e;n=A+64|0;i=a[n>>2]|0;e=a[i+56+(r<<2)>>2]|0;if(!e){f=jB(A,18640,a[4589]|0)|0;a[(a[n>>2]|0)+56+(r<<2)>>2]=f;e=a[n>>2]|0}else{f=e;e=i}e=a[e+68+(r<<2)>>2]|0;if(!e){e=jB(A,18676,a[4589]|0)|0;a[(a[n>>2]|0)+68+(r<<2)>>2]=e}W5[a[f>>2]&63](f,l,1)|0;W5[a[e>>2]&63](e,l,1)|0;return}function Rh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=e+16|0;e=a[A>>2]|0;A=a[A+4>>2]|0;i=i+16|0;r=a[i>>2]|0;i=a[i+4>>2]|0;return(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0?1:(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0)<<31>>31)|0}function Hh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e+24>>2]|0;r=a[i+24>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function ph(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=Uh(A,e,i,r)|0;if(!A)A=0;else A=a[A+24>>2]|0;return A|0}function Uh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+32|0;f=n;A=a[(a[A+64>>2]|0)+68+(((e|0)==3?2:e)<<2)>>2]|0;if(!A)A=0;else{e=f+16|0;a[e>>2]=i;a[e+4>>2]=r;A=W5[a[A>>2]&63](A,f,4)|0}k=n;return A|0}function xh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=(e|0)==3?2:e;e=Uh(A,f,i,r)|0;if(!e)e=0;else{r=A+64|0;i=a[(a[r>>2]|0)+56+(f<<2)>>2]|0;W5[a[i>>2]&63](i,e,2)|0;r=a[(a[r>>2]|0)+68+(f<<2)>>2]|0;W5[a[r>>2]&63](r,e,2)|0;lB(A,a[e+24>>2]|0)|0;fd(A,e);e=1}return e|0}function Th(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;a[46942]=A;n=a[A+64>>2]|0;f=0;while(1){if((f|0)==3)break;l=n+56+(f<<2)|0;e=a[l>>2]|0;A:do{if(e|0){e=W5[a[e>>2]&63](e,0,128)|0;while(1){if(!e)break A;i=a[l>>2]|0;i=W5[a[i>>2]&63](i,e,8)|0;if((r[a[e+24>>2]>>0]|0)!=37){e=i;continue}t=e+16|0;xh(A,f,a[t>>2]|0,a[t+4>>2]|0)|0;e=i}}}while(0);f=f+1|0}return}function jh(A){A=A|0;a[46942]=A;A=A+64|0;Sh((a[A>>2]|0)+56|0);Sh((a[A>>2]|0)+68|0);return}function Sh(A){A=A|0;var e=0,i=0,r=0;e=0;while(1){if((e|0)==3)break;i=A+(e<<2)|0;r=a[i>>2]|0;if(r|0){pk(r)|0;a[i>>2]=0}e=e+1|0}return}function Ph(A,e,i){A=A|0;e=e|0;i=i|0;if(!(N4(e,i,A)|0))A=0;else A=S2(e)|0;return A|0}function Oh(A,e){A=A|0;e=e|0;return m3(e,A)|0}function Kh(A){A=A|0;return g3(A)|0}function _h(A){A=A|0;var e=0,i=0,r=0;e=k;k=k+32|0;r=e+12|0;i=e;a[4682]=a[4679];a[4683]=a[4680];a[r>>2]=A;a[r+4>>2]=S2(A)|0;a[r+8>>2]=0;a[i>>2]=18736;a[i+4>>2]=18612;a[i+8>>2]=18724;A=cg(r,i)|0;bB(0);k=e;return A|0}function qh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;if((i|0)!=0?(l=A+8|0,f=a[l>>2]|0,(f|0)<(a[A+4>>2]|0)):0){t=(a[A>>2]|0)+f|0;A=0;n=r[t>>0]|0;f=e;e=t;while(1){e=e+1|0;r[f>>0]=n;A=A+1|0;if(!(n<<24>>24!=10&(A|0)<(i|0)))break;n=r[e>>0]|0;if(!(n<<24>>24))break;else f=f+1|0}a[l>>2]=(a[l>>2]|0)+A}else A=0;return A|0}function $h(A){A=A|0;return 0}function Ad(A,e){A=A|0;e=e|0;A=m2(e)|0;Y6(A|0,0,e|0)|0;return A|0}function ed(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=y2(e,r)|0;if(r>>>0>i>>>0)Y6(A+i|0,0,r-i|0)|0;return A|0}function id(A,e){A=A|0;e=e|0;L2(e);return}function rd(A,e){A=A|0;e=e|0;var i=0;i=k;k=k+16|0;A=a[A+64>>2]|0;A=m5[a[(a[A>>2]|0)+4>>2]&127](a[A+12>>2]|0,e)|0;if(!A)ao(1,96462,i)|0;k=i;return A|0}function fd(A,e){A=A|0;e=e|0;if(e|0){A=a[A+64>>2]|0;V5[a[(a[A>>2]|0)+12>>2]&63](a[A+12>>2]|0,e)}return}function ad(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(a[e+16>>2]|0)+8|0;e=a[A>>2]|0;A=a[A+4>>2]|0;i=(a[i+16>>2]|0)+8|0;r=a[i>>2]|0;i=a[i+4>>2]|0;return(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0?-1:(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0)&1)|0}function nd(A,e,i){A=A|0;e=e|0;i=i|0;A=a[e+16>>2]|0;if((A+28|0)!=(e|0))fd(a[A+24>>2]|0,e);return}function ld(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=(a[a[e+16>>2]>>2]|0)>>>4;r=(a[a[i+16>>2]>>2]|0)>>>4;return(e>>>0>>0?-1:e>>>0>r>>>0&1)|0}function td(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=186256;a[r>>2]=e;a[r+4>>2]=i;a[46947]=186248;A=a[A+40>>2]|0;A=W5[a[A>>2]&63](A,187772,4)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function cd(A){A=A|0;A=a[A+36>>2]|0;A=W5[a[A>>2]&63](A,0,128)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function bd(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if((e|0)!=0?(i=a[A+36>>2]|0,i=W5[a[i>>2]&63](i,e,8)|0,(i|0)!=0):0)e=a[i+16>>2]|0;else e=0;return e|0}function sd(A){A=A|0;A=a[A+36>>2]|0;A=W5[a[A>>2]&63](A,0,256)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function wd(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if((e|0)!=0?(i=a[A+36>>2]|0,i=W5[a[i>>2]&63](i,e,16)|0,(i|0)!=0):0)e=a[i+16>>2]|0;else e=0;return e|0}function ud(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=td(A,e,i)|0;do{if((r|0)!=0&(f|0)==0){f=Zd(A)|0;if((f|0)!=(A|0)?(a=td(f,e,i)|0,a|0):0){kd(A,a,1)|0;f=a;break}if(!(Mh(A,1,e,i)|0))f=0;else{f=dh(A,1)|0;f=od(A,e,i,f,L)|0;hd(A,f);dd(A,f)}}}while(0);return f|0}function kd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Zd(A)|0;if((r|0)==(a[e+24>>2]|0)){r=e+8|0;r=td(A,a[r>>2]|0,a[r+4>>2]|0)|0;if((i|0)!=0&(r|0)==0){r=pB(A)|0;if(!r)r=0;else{i=kd(r,e,i)|0;Bd(A,i);return i|0}}}else r=0;return r|0}function od(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;n=rd(A,64)|0;l=a[n>>2]|0;t=n+8|0;a[t>>2]=e;a[t+4>>2]=i;a[n>>2]=l&12|f<<4|1;a[n+24>>2]=Zd(A)|0;if(r[(Zd(A)|0)+24>>0]&64)Td(n,96404,16,0)|0;return n|0}function hd(A,e){A=A|0;e=e|0;do{Bd(A,e);A=pB(A)|0}while((A|0)!=0);return}function dd(A,e){A=A|0;e=e|0;if(r[(Zd(A)|0)+24>>0]&64)go(A,e);Gd(A,e);return}function Bd(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+40|0;Pk(a[r>>2]|0)|0;if((Zd(A)|0)==(A|0))i=e+28|0;else i=rd(A,36)|0;a[i+16>>2]=e;r=a[r>>2]|0;W5[a[r>>2]&63](r,i,1)|0;r=a[A+36>>2]|0;W5[a[r>>2]&63](r,i,1)|0;return}function vd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;l=Zd(A)|0;if(Dh(A,1,e,n,0)|0){r=n;r=td(A,a[r>>2]|0,a[r+4>>2]|0)|0;if(!r)if(!((i|0)==0|(l|0)==(A|0))?(f=n,f=td(l,a[f>>2]|0,a[f+4>>2]|0)|0,(f|0)!=0):0)r=kd(A,f,1)|0;else t=6}else t=6;if((t|0)==6)if((i|0)!=0?(Dh(A,1,e,n,1)|0)!=0:0){t=n;l=a[t>>2]|0;t=a[t+4>>2]|0;r=dh(A,1)|0;r=od(A,l,t,r,L)|0;hd(A,r);dd(A,r);Jh(A,1,r)}else r=0;k=c;return r|0}function gd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;a[46956]=e;i=Ah(A,e)|0;while(1){if(!i)break;r=eh(A,i,e)|0;ch(A,i,0);i=r}r=a[A+40>>2]|0;W5[a[r>>2]&63](r,187808,2)|0;r=a[A+36>>2]|0;W5[a[r>>2]&63](r,187808,2)|0;return}function Ed(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=e+8|0;i=f;if(td(A,a[i>>2]|0,a[i+4>>2]|0)|0){if((Zd(A)|0)==(A|0)){i=Ah(A,e)|0;while(1){if(!i)break;n=eh(A,i,e)|0;sh(A,i)|0;i=n}if(r[A+24>>0]&64)Ro(e);Wd(A,e);$d(e);n=f;Fh(A,1,a[n>>2]|0,a[n+4>>2]|0)}if(!(mv(A,e,59,0,0)|0))if((Zd(A)|0)==(A|0)){fd(A,e);i=0}else i=0;else i=-1}else i=-1;return i|0}function Cd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;i=a[e>>2]|0;do{if(!(i&3))if((pB(e)|0)==(A|0)){i=a[e>>2]|0;n=5;break}else{ao(1,96488,r)|0;f=-1;break}else n=5}while(0);A:do{if((n|0)==5)switch(i&3){case 1:{f=Ed(A,e)|0;break A}case 2:case 3:{f=sh(A,e)|0;break A}case 0:{f=Bh(e)|0;break A}default:{}}}while(0);k=l;return f|0}function Id(A){A=A|0;var e=0;switch(a[A>>2]&3){case 2:case 3:{e=a[(a[A+40>>2]|0)+24>>2]|0;break}case 1:{e=a[A+24>>2]|0;break}case 0:{e=A;break}default:{}}return e|0}function Zd(A){A=A|0;var e=0;switch(a[A>>2]&3){case 2:case 3:{e=(a[A+40>>2]|0)+24|0;break}case 1:{e=A+24|0;break}case 0:{e=A+60|0;break}default:{}}return a[e>>2]|0}function Gd(A,e){A=A|0;e=e|0;var i=0;i=a[A+64>>2]|0;if(!(r[i+52>>0]|0))Fd(A,e,100,0);else Qd(A,e,a[i+48>>2]|0);return}function Qd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){Qd(A,e,a[i+8>>2]|0);switch(a[e>>2]&3){case 0:{r=a[i>>2]|0;break}case 1:{r=(a[i>>2]|0)+12|0;break}case 2:{r=(a[i>>2]|0)+24|0;break}default:break A}r=a[r>>2]|0;if(r|0)J5[r&127](A,e,a[i+4>>2]|0)}}while(0);return}function md(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=a[A+64>>2]|0;if(!(r[f+52>>0]|0))Fd(A,e,101,i);else Ld(A,e,i,a[f+48>>2]|0);return}function Ld(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{if(r|0){Ld(A,e,i,a[r+8>>2]|0);switch(a[e>>2]&3){case 0:{f=(a[r>>2]|0)+4|0;break}case 1:{f=(a[r>>2]|0)+16|0;break}case 2:{f=(a[r>>2]|0)+28|0;break}default:break A}f=a[f>>2]|0;if(f|0)X5[f&31](A,e,a[r+4>>2]|0,i)}}while(0);return}function Wd(A,e){A=A|0;e=e|0;var i=0;i=a[A+64>>2]|0;if(!(r[i+52>>0]|0))Fd(A,e,102,0);else yd(A,e,a[i+48>>2]|0);return}function yd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){yd(A,e,a[i+8>>2]|0);switch(a[e>>2]&3){case 0:{r=(a[i>>2]|0)+8|0;break}case 1:{r=(a[i>>2]|0)+20|0;break}case 2:{r=(a[i>>2]|0)+32|0;break}default:break A}r=a[r>>2]|0;if(r|0)J5[r&127](A,e,a[i+4>>2]|0)}}while(0);return}function zd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=rd(A,12)|0;a[r>>2]=e;a[r+4>>2]=i;i=(a[A+64>>2]|0)+48|0;a[r+8>>2]=a[i>>2];a[i>>2]=r;return}function Yd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=(a[A+64>>2]|0)+48|0;i=a[r>>2]|0;A:do{if(!i)i=-1;else{if((a[i>>2]|0)!=(e|0)){while(1){if(!i){i=-1;break A}r=i+8|0;f=a[r>>2]|0;if((a[f>>2]|0)==(e|0))break;else i=f}if(f)a[r>>2]=a[f+8>>2]}else a[r>>2]=a[i+8>>2];fd(A,i);i=0}}while(0);return i|0}function Dd(A,e){A=A|0;e=e|0;var i=0;i=Zd(A)|0;A:do{if((i|0)==(Zd(e)|0))switch(a[e>>2]&3){case 0:{while(1){if((e|0)==(A|0)){e=1;break A}e=pB(e)|0;if(!e){e=0;break}}break}case 1:{e=e+8|0;e=(ud(A,a[e>>2]|0,a[e+4>>2]|0,0)|0)!=0;break A}default:{e=(wh(A,e,0)|0)!=0;break A}}else e=0}while(0);return e&1|0}function Md(A){A=A|0;return a[A>>2]&3|0}function Fd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,l=0;l=k;k=k+16|0;n=l;a=Td(A,96512,44,0)|0;switch(i|0){case 100:{f=Vd(a,e,100)|0;if(!(Jd(f,e)|0))Nd(f,A,e,r)|0;break}case 101:{if(((Jd(Vd(a,e,100)|0,e)|0)==0?(Jd(Vd(a,e,102)|0,e)|0)==0:0)?(f=Vd(a,e,101)|0,(Jd(f,e)|0)==0):0)Nd(f,A,e,r)|0;break}case 102:{Xd(Vd(a,e,100)|0,e);Xd(Vd(a,e,101)|0,e);f=Vd(a,e,102)|0;if(!(Jd(f,e)|0))Nd(f,A,e,r)|0;break}default:ao(1,96524,n)|0}k=l;return}function Vd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;r=n;A:do{switch(a[e>>2]&3){case 0:switch(i|0){case 100:{i=A+8|0;break A}case 101:{i=A+20|0;break A}case 102:{i=A+32|0;break A}default:{f=14;break A}}case 1:switch(i|0){case 100:{i=A+12|0;break A}case 101:{i=A+24|0;break A}case 102:{i=A+36|0;break A}default:{f=14;break A}}case 2:switch(i|0){case 100:{i=A+16|0;break A}case 101:{i=A+28|0;break A}case 102:{i=A+40|0;break A}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14){ao(1,96558,r)|0;i=0}A=a[i>>2]|0;if(!A){A=Id(e)|0;A=jB(A,18828,a[4589]|0)|0;a[i>>2]=A}k=n;return A|0}function Jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+32|0;r=i;f=Rd(e)|0;e=r+8|0;a[e>>2]=f;a[e+4>>2]=L;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function Nd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=rd(Id(i)|0,32)|0;a[f+20>>2]=i;n=Rd(i)|0;i=f+8|0;a[i>>2]=n;a[i+4>>2]=L;a[f+16>>2]=e;if(r|0){n=rd(e,8)|0;a[f+24>>2]=n;a[n>>2]=r}W5[a[A>>2]&63](A,f,1)|0;return f|0}function Xd(A,e){A=A|0;e=e|0;e=Jd(A,e)|0;if(e|0)W5[a[A>>2]&63](A,e,2)|0;return}function Rd(A){A=A|0;A=A+8|0;L=a[A+4>>2]|0;return a[A>>2]|0}function Hd(A,e,i){A=A|0;e=e|0;i=i|0;pd(e);fd(a[e+16>>2]|0,e);return}function pd(A){A=A|0;var e=0,i=0;e=A+16|0;A=a[A+24>>2]|0;while(1){if(!A)break;i=a[A+4>>2]|0;fd(a[e>>2]|0,A);A=i}return}function Ud(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;t=b;l=a[A+16>>2]|0;f=l;while(1){if(!f){f=0;break}n=a[f>>2]|0;if((n|0)==(e|0)){c=7;break}if((r[e>>0]|0)==(r[n>>0]|0)?(A1(e,n)|0)==0:0){c=7;break}f=a[f+4>>2]|0;if((f|0)==(l|0)){f=0;break}}do{if((c|0)==7){if(!(a[A>>2]&4)){if((f|0)==(l|0)&(i|0)==0){f=l;break}xd(A,f,i);break}if(i)if((l|0)==(f|0))f=l;else ao(1,96583,t)|0}}while(0);k=b;return f|0}function xd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;a[A+16>>2]=e;r=a[A>>2]|0;i=i<<2&4;a[A>>2]=r&-5|i;if(r&2|0){r=(r&3|0)==3?-1:1;a[A+(r*48|0)+16>>2]=e;r=A+(r*48|0)|0;a[r>>2]=a[r>>2]&-5|i}return}function Td(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=Id(A)|0;f=Ud(A,e,0)|0;A:do{if((i|0)!=0&(f|0)==0){i=rd(l,i)|0;a[i>>2]=aB(l,e)|0;switch(a[A>>2]&3){case 0:{jd(A,i);n=i;break A}case 1:{jd(A,i);n=i;break A}case 2:case 3:{jd(A,i);n=i;break A}default:{}}}else n=f}while(0);if(r|0)Ud(A,e,1)|0;return n|0}function jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[A+16>>2]|0;do{if(i){r=i+4|0;f=a[r>>2]|0;if((f|0)==(i|0)){a[r>>2]=e;r=i;i=e;break}else{a[e+4>>2]=f;r=e;break}}else{r=e;i=e}}while(0);a[i+4>>2]=r;if(!(a[A>>2]&4))xd(A,e,0);return}function Sd(A,e){A=A|0;e=e|0;var i=0,r=0;r=Id(A)|0;i=Ud(A,e,0)|0;if(!i)e=-1;else{Pd(A,i);if(!(a[A>>2]&3)){Od(r,A,i);e=i}else{mv(Zd(r)|0,A,60,i,0)|0;e=i}lB(r,a[i>>2]|0)|0;fd(r,e);e=0}return e|0}function Pd(A,e){A=A|0;e=e|0;var i=0;A=a[A+16>>2]|0;do{i=A+4|0;A=a[i>>2]|0}while((A|0)!=(e|0));a[i>>2]=a[e+4>>2];return}function Od(A,e,i){A=A|0;e=e|0;i=i|0;if((a[e+16>>2]|0)==(i|0)){A=a[i+4>>2]|0;xd(e,(A|0)==(i|0)?0:A,0)}return}function Kd(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0;a=(r|0)>-1;n=a?r:0-r|0;A:do{switch(e|0){case 0:{Td(A,i,n,f)|0;if(!a){e=RB(A)|0;while(1){if(!e)break A;Kd(e,0,i,r,f);e=HB(e)|0}}break}case 3:case 2:case 1:{r=(e|0)==1;e=cd(A)|0;while(1){if(!e)break A;e:do{if(r)Td(e,i,n,f)|0;else{a=Oo(A,e)|0;while(1){if(!a)break e;Td(a,i,n,f)|0;a=_o(A,a)|0}}}while(0);e=bd(A,e)|0}}default:{}}}while(0);return}function _d(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;A:do{switch(e|0){case 0:{mv(A,A,61,i,1)|0;break}case 3:case 2:case 1:{f=(e|0)==1;r=cd(A)|0;while(1){if(!r)break A;e:do{if(f)Sd(r,i)|0;else{e=Oo(A,r)|0;while(1){if(!e)break e;Sd(e,i)|0;e=_o(A,e)|0}}}while(0);r=bd(A,r)|0}}default:{}}}while(0);return}function qd(A,e,i){A=A|0;e=e|0;i=i|0;Sd(e,i)|0;return}function $d(A){A=A|0;var e=0,i=0,r=0;i=Id(A)|0;e=A+16|0;A=a[e>>2]|0;if(A|0)do{r=A;A=a[A+4>>2]|0;lB(i,a[r>>2]|0)|0;fd(i,r)}while((A|0)!=(a[e>>2]|0));a[e>>2]=0;return}function AB(A){A=A|0;return PB(A,eB(A)|0)|0}function eB(A){A=A|0;var e=0,i=0;if(!A)i=187844;else i=(a[A+64>>2]|0)+20|0;e=a[i>>2]|0;if(!e){e=jB(A,18864,a[4589]|0)|0;a[i>>2]=e;A=186312;a[A>>2]=-2147483648;a[A+4>>2]=0;A=186320;a[A>>2]=2147483647;a[A+4>>2]=-1}return e|0}function iB(A,e){A=A|0;e=e|0;return rB(eB(A)|0,e)|0}function rB(A,e){A=A|0;e=e|0;A=fB(A,e)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function fB(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+32|0;r=i;a[r+16>>2]=e;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function aB(A,e){A=A|0;e=e|0;var i=0,r=0;if(!e)i=0;else{r=eB(A)|0;i=fB(r,e)|0;if(!i){i=(S2(e)|0)+24|0;if(!A)i=m2(i)|0;else i=rd(A,i)|0;A=i+8|0;a[A>>2]=1;a[A+4>>2]=0;A=i+20|0;$1(A,e)|0;a[i+16>>2]=A;W5[a[r>>2]&63](r,i,1)|0}else{r=i+8|0;e=r;e=d6(a[e>>2]|0,a[e+4>>2]|0,1,0)|0;a[r>>2]=e;a[r+4>>2]=L}i=a[i+16>>2]|0}return i|0}function nB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(!e)i=0;else{r=eB(A)|0;i=fB(r,e)|0;if(!i){i=(S2(e)|0)+24|0;if(!A)i=m2(i)|0;else i=rd(A,i)|0;n=186312;f=a[n+4>>2]|0;A=i+8|0;a[A>>2]=a[n>>2]|1;a[A+4>>2]=f;A=i+20|0;$1(A,e)|0;a[i+16>>2]=A;W5[a[r>>2]&63](r,i,1)|0}else{n=i+8|0;f=n;f=d6(a[f>>2]|0,a[f+4>>2]|0,1,0)|0;a[n>>2]=f;a[n+4>>2]=L}i=a[i+16>>2]|0}return i|0}function lB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if((e|0)!=0?(i=eB(A)|0,r=fB(i,e)|0,(r|0)!=0):0)if((a[r+16>>2]|0)==(e|0)?(e=r+8|0,n=e,n=d6(a[n>>2]|0,a[n+4>>2]|0,-1,-1)|0,f=L,e,a[e>>2]=n,a[e+4>>2]=f,e=186320,(n|0)==0&(f|0)==0|(a[e>>2]|0)==0&(a[e+4>>2]|0)==0):0){SB(A,i,r)|0;A=0}else A=0;else A=-1;return A|0}function tB(A){A=A|0;var e=0;if(!A)A=0;else{A=A+-12|0;e=186312;A=a[e>>2]&a[A>>2]}return A|0}function cB(A){A=A|0;var e=0,i=0,r=0;if(A|0){i=186312;A=A+-12|0;r=A;e=a[r+4>>2]|a[i+4>>2];a[A>>2]=a[r>>2]|a[i>>2];a[A+4>>2]=e}return}function bB(A){A=A|0;a[46966]=A;a[4725]=1;return}function sB(A,e){A=A|0;e=e|0;a[46967]=A;a[46968]=e;a[46969]=0;return}function wB(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;if(!(a[46970]|0)){a[46970]=1;if(!(a[46971]|0))a[46971]=1;if(!(a[46962]|0))a[46962]=a[15647];if(!(a[46963]|0))a[46963]=a[15679];b=a[46972]|0;if(!((b|0)!=0?(a[b>>2]|0)!=0:0)){uB();b=kB(a[46962]|0,16384)|0;a[a[46972]>>2]=b}oB()}A:while(1){c=a[46973]|0;r[c>>0]=r[194805]|0;A=(a[(a[a[46972]>>2]|0)+28>>2]|0)+(a[46971]|0)|0;e=c;e:while(1){l=e;while(1){e=a[18904+(n[l>>0]<<2)>>2]|0;if(f[63856+(A<<1)>>1]|0){a[46974]=A;a[46975]=l}i:while(1){i=e&255;do{e=i+(f[64042+(A<<1)>>1]|0)|0;if((A|0)==(f[64252+(e<<1)>>1]|0))break i;b=f[64788+(A<<1)>>1]|0;A=b<<16>>16}while(b<<16>>16<=92);e=a[19928+(i<<2)>>2]|0}A=f[64998+(e<<1)>>1]|0;e=l+1|0;if((f[64042+(A<<1)>>1]|0)==219)break;else l=e}i:while(1){b=c;r:while(1){A=f[63856+(A<<1)>>1]|0;if(!(A<<16>>16)){A=f[63856+(a[46974]<<1)>>1]|0;e=a[46975]|0}else A=A<<16>>16;a[46964]=c;t=e;a[46965]=t-b;r[194805]=r[e>>0]|0;r[e>>0]=0;a[46973]=e;f:while(1){switch(A|0){case 1:{w=27;break A}case 12:{w=53;break A}case 13:{w=55;break A}case 14:{w=57;break A}case 15:{w=61;break A}case 16:{w=65;break A}case 17:{w=67;break A}case 18:{w=69;break A}case 19:{w=72;break A}case 20:{w=75;break A}case 21:{w=78;break A}case 23:{w=86;break A}case 33:{w=118;break A}case 39:case 38:case 37:case 36:{s=0;break A}case 2:{w=29;break e}case 3:{w=32;break e}case 4:{w=35;break e}case 5:{w=37;break e}case 6:{w=39;break e}case 7:{w=42;break e}case 8:{w=44;break e}case 9:{w=47;break e}case 10:{w=49;break e}case 11:{w=51;break e}case 22:{w=83;break e}case 24:{w=89;break e}case 25:{w=92;break e}case 26:{w=95;break e}case 27:{w=98;break e}case 28:{w=101;break e}case 29:{w=104;break e}case 30:{w=109;break e}case 31:{w=112;break e}case 32:{w=115;break e}case 34:{w=121;break e}case 0:break f;case 35:break;default:{w=134;break A}}l=a[46964]|0;r[e>>0]=r[194805]|0;A=a[46972]|0;i=a[A>>2]|0;if(!(a[i+44>>2]|0)){u=a[i+16>>2]|0;a[46977]=u;a[i>>2]=a[46962];i=a[A>>2]|0;a[i+44>>2]=1;A=u}else A=a[46977]|0;if((a[46973]|0)>>>0<=((a[i+4>>2]|0)+A|0)>>>0){w=128;break r}switch(ZB()|0){case 0:{w=132;break i}case 2:{w=133;break r}case 1:break;default:continue A}a[46973]=a[46964];A=(((a[46971]|0)+-1|0)/2|0)+36|0}r[e>>0]=r[194805]|0;e=a[46975]|0;A=a[46974]|0}if((w|0)==128){w=0;i=t-l|0;l=a[46964]|0;e=l+(i+-1)|0;a[46973]=e;A=CB()|0;t=IB(A)|0;c=a[46964]|0;if(!t)continue;else{w=129;break}}else if((w|0)==133){w=0;e=(a[(a[a[46972]>>2]|0)+4>>2]|0)+(a[46977]|0)|0;a[46973]=e;A=CB()|0;c=a[46964]|0;continue}}if((w|0)==129){w=0;e=l+i|0;a[46973]=e;A=t;continue}else if((w|0)==132){w=0;e=(a[46964]|0)+(t-l+-1)|0;a[46973]=e;A=CB()|0;c=a[46964]|0;continue}}switch(w|0){case 29:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[4725]=(a[4725]|0)+1;continue A}case 32:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=3;continue A}case 35:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 37:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 39:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=1;continue A}case 42:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 44:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;hB();continue A}case 47:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 49:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 51:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 83:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=5;BB();continue A}case 89:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;gB(98744);continue A}case 92:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;gB(96616);continue A}case 95:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[4725]=(a[4725]|0)+1;continue A}case 98:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);continue A}case 101:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=7;a[46976]=1;BB();continue A}case 104:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;u=(a[46976]|0)+-1|0;a[46976]=u;if(!u){w=108;break A}gB(a[46964]|0);continue A}case 109:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;a[46976]=(a[46976]|0)+1;gB(A);continue A}case 112:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);a[4725]=(a[4725]|0)+1;continue A}case 115:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);continue A}case 121:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;L3(A,e,1,a[46963]|0)|0;continue A}}}switch(w|0){case 27:{A=a[46965]|0;if(!A)s=-1;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=-1}break}case 53:{A=a[46965]|0;if(!A)s=259;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=259}break}case 55:{A=a[46965]|0;if(!A)s=260;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=260}break}case 57:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(!(a[46969]|0)){a[46969]=258;s=258}else s=258;break}case 61:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(!(a[46969]|0)){a[46969]=261;s=261}else s=261;break}case 65:{A=a[46965]|0;if(!A)s=263;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=263}break}case 67:{A=a[46965]|0;if(!A)s=262;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=262}break}case 69:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=(a[46969]|0)==261?264:45;break}case 72:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=(a[46969]|0)==258?264:45;break}case 75:{e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;a[46992]=aB(a[46942]|0,A)|0;s=267;break}case 78:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(dB()|0){w=(a[46965]|0)+-1|0;r[e>>0]=r[194805]|0;u=c+w|0;a[46973]=u;a[46964]=c;a[46965]=w;r[194805]=r[u>>0]|0;r[u>>0]=0;a[46973]=u}a[46992]=aB(a[46942]|0,a[46964]|0)|0;s=267;break}case 86:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=1;vB();s=268;break}case 108:{a[46971]=1;EB();s=268;break}case 118:{e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;s=r[A>>0]|0;break}case 134:{GB(96619);break}}return s|0}function uB(){var A=0,e=0,i=0;e=a[46972]|0;do{if(!e){A=YB(4)|0;a[46972]=A;if(!A)GB(96977);else{a[A>>2]=0;A=1;i=9;break}}else{A=a[46983]|0;if(0>=(A+-1|0)>>>0){A=A+8|0;e=QB(e,A<<2)|0;a[46972]=e;if(!e)GB(96977);else{i=e+(a[46983]<<2)|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;a[i+20>>2]=0;a[i+24>>2]=0;a[i+28>>2]=0;i=9;break}}}}while(0);if((i|0)==9)a[46983]=A;return}function kB(A,e){A=A|0;e=e|0;var i=0;i=YB(48)|0;if(!i)GB(96932);a[i+12>>2]=e;e=YB(e+2|0)|0;a[i+4>>2]=e;if(!e)GB(96932);else{a[i+20>>2]=1;LB(i,A);return i|0}return 0}function oB(){var A=0,e=0;e=a[46972]|0;A=a[e>>2]|0;a[46977]=a[A+16>>2];A=a[A+8>>2]|0;a[46973]=A;a[46964]=A;a[46962]=a[a[e>>2]>>2];r[194805]=r[A>>0]|0;return}function hB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n;e=n+16|0;i=n+12|0;l=a[46964]|0;A=l+1|0;t=(Z1(A,96916,4)|0)==0;A=t?l+5|0:A;a[f>>2]=i;a[f+4>>2]=n+20;a[f+8>>2]=e;f=J3(A,96921,f)|0;if((f|0)>0?(a[4725]=(a[i>>2]|0)+-1,(f|0)!=1):0){e=A+(a[e>>2]|0)|0;A=e;A:while(1){i=r[A>>0]|0;switch(i<<24>>24){case 0:case 34:break A;default:{}}A=A+1|0}if((A|0)!=(e|0)&i<<24>>24==34){r[A>>0]=0;zB(e,A-e|0)}}k=n;return}function dB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+2080|0;t=c+8|0;f=c;A=c+1056|0;e=c+32|0;l=c+16|0;b=r[(a[46964]|0)+((a[46965]|0)+-1)>>0]|0;i=b<<24>>24==46;if(i|((b&255)+-48|0)>>>0<10)if(i?(yB()|0)!=0:0)n=4;else A=0;else n=4;if((n|0)==4){b=a[46966]|0;co(l,1024,A);wo(l,96827)|0;wo(l,a[46964]|0)|0;a[f>>2]=a[4725];P4(e,96871,f)|0;wo(l,e)|0;wo(l,(b|0)==0?96821:b)|0;wo(l,96888)|0;e=l+4|0;A=a[e>>2]|0;if(A>>>0>=(a[l+8>>2]|0)>>>0){bo(l,1)|0;A=a[e>>2]|0}r[A>>0]=0;A=a[l>>2]|0;a[e>>2]=A;a[t>>2]=A;ao(0,96913,t)|0;uo(l);A=1}k=c;return A|0}function BB(){var A=0;A=a[46978]|0;if(!A){A=m2(1024)|0;a[46978]=A;a[46980]=A+1024}a[46979]=A;r[A>>0]=0;return}function vB(){a[46992]=aB(a[46942]|0,a[46978]|0)|0;r[a[46978]>>0]=0;return}function gB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;i=a[46979]|0;e=a[46978]|0;if(i>>>0>e>>>0){i=i+-1|0;f=3}A:while(1){if((f|0)==3)a[46979]=i;f=a[46980]|0;n=f;do{l=A;A=A+1|0;l=r[l>>0]|0;t=i;i=i+1|0;r[t>>0]=l;if(!(l<<24>>24))break A}while(i>>>0>>0);a[46979]=i;f=e;t=n-f<<1;e=y2(e,t)|0;a[46978]=e;a[46980]=e+t;i=e+(i-f)|0;f=3}a[46979]=i;return}function EB(){a[46992]=nB(a[46942]|0,a[46978]|0)|0;r[a[46978]>>0]=0;return}function CB(){var A=0,e=0,i=0,n=0,l=0;l=a[46973]|0;n=a[46964]|0;e=(a[(a[a[46972]>>2]|0)+28>>2]|0)+(a[46971]|0)|0;while(1){if(n>>>0>=l>>>0)break;A=r[n>>0]|0;if(!(A<<24>>24))A=1;else A=a[18904+((A&255)<<2)>>2]|0;if(f[63856+(e<<1)>>1]|0){a[46974]=e;a[46975]=n}A:while(1){i=A&255;do{A=i+(f[64042+(e<<1)>>1]|0)|0;if((e|0)==(f[64252+(A<<1)>>1]|0))break A;A=f[64788+(e<<1)>>1]|0;e=A<<16>>16}while(A<<16>>16<=92);A=a[19928+(i<<2)>>2]|0}n=n+1|0;e=f[64998+(A<<1)>>1]|0}return e|0}function IB(A){A=A|0;var e=0;if(f[63856+(A<<1)>>1]|0){e=a[46973]|0;a[46974]=A;a[46975]=e}while(1){e=(f[64042+(A<<1)>>1]|0)+1|0;if((A|0)==(f[64252+(e<<1)>>1]|0))break;A=f[64788+(A<<1)>>1]|0}e=f[64998+(e<<1)>>1]|0;return(e<<16>>16==92?0:e<<16>>16)|0}function ZB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[46972]|0;n=a[c>>2]|0;t=a[n+4>>2]|0;f=a[46964]|0;s=a[46973]|0;b=s;if(s>>>0>(t+((a[46977]|0)+1)|0)>>>0)GB(96674);l=b-f|0;if(!(a[n+40>>2]|0))A=(l|0)==1?1:2;else{s=l+-1|0;l=t;n=0;while(1){if((n|0)>=(s|0))break;r[l>>0]=r[f>>0]|0;l=l+1|0;f=f+1|0;n=n+1|0}f=a[c>>2]|0;do{if((a[f+44>>2]|0)==2){a[46977]=0;a[f+16>>2]=0;i=f;w=17}else{while(1){t=f+12|0;l=a[t>>2]|0;n=l-s+-1|0;if(n|0){w=16;break}n=f+4|0;c=a[n>>2]|0;if(!(a[f+20>>2]|0)){w=12;break}f=l<<1;f=(f|0)==0?(l>>>3)+l|0:f;a[t>>2]=f;f=QB(c,f+2|0)|0;a[n>>2]=f;if(!f)break;c=f+(b-c)|0;a[46973]=c;f=a[a[46972]>>2]|0;b=c}if((w|0)==12)a[n>>2]=0;else if((w|0)==16){e=W5[a[a[(a[46967]|0)+8>>2]>>2]&63](a[46968]|0,(a[f+4>>2]|0)+s|0,n>>>0<8192?n:8192)|0;i=a[a[46972]>>2]|0;a[46977]=e;a[i+16>>2]=e;if(!e){w=17;break}else{A=0;break}}GB(96730)}}while(0);do{if((w|0)==17)if(!s){mB(a[46962]|0);A=1;e=a[46977]|0;i=a[a[46972]>>2]|0;break}else{a[i+44>>2]=2;A=2;e=0;break}}while(0);f=e+s|0;do{if(f>>>0>(a[i+12>>2]|0)>>>0){w=QB(a[i+4>>2]|0,f+(e>>>1)|0)|0;e=a[46972]|0;a[(a[e>>2]|0)+4>>2]=w;e=a[(a[e>>2]|0)+4>>2]|0;if(!e)GB(96774);else{u=a[46977]|0;k=e;break}}else{u=e;k=a[i+4>>2]|0}}while(0);u=u+s|0;a[46977]=u;r[k+u>>0]=0;k=a[46972]|0;r[(a[(a[k>>2]|0)+4>>2]|0)+((a[46977]|0)+1)>>0]=0;a[46964]=a[(a[k>>2]|0)+4>>2]}return A|0}function GB(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=a[15712]|0;a[e>>2]=A;f3(i,96670,e)|0;SA(2)}function QB(A,e){A=A|0;e=e|0;return y2(A,e)|0}function mB(A){A=A|0;var e=0,i=0,r=0;i=a[46972]|0;if((i|0)!=0?(e=a[i>>2]|0,(e|0)!=0):0)r=4;else{uB();e=kB(a[46962]|0,16384)|0;i=a[46972]|0;a[i>>2]=e;if(!i)e=0;else r=4}LB(e,A);oB();return}function LB(A,e){A=A|0;e=e|0;var i=0;i=a[(X2()|0)>>2]|0;WB(A);a[A>>2]=e;a[A+40>>2]=1;e=a[46972]|0;if(!e)e=0;else e=a[e>>2]|0;if((e|0)!=(A|0)){a[A+32>>2]=1;a[A+36>>2]=0}a[A+24>>2]=0;a[(X2()|0)>>2]=i;return}function WB(A){A=A|0;var e=0;if(A|0){a[A+16>>2]=0;e=A+4|0;r[a[e>>2]>>0]=0;r[(a[e>>2]|0)+1>>0]=0;a[A+8>>2]=a[e>>2];a[A+28>>2]=1;a[A+44>>2]=0;e=a[46972]|0;if(!e)e=0;else e=a[e>>2]|0;if((e|0)==(A|0))oB()}return}function yB(){var A=0,e=0;e=a[46964]|0;A=(a[46965]|0)+-2|0;while(1){if((A|0)<=-1){A=0;break}if((r[e+A>>0]|0)==46){A=1;break}else A=A+-1|0}return A|0}function zB(A,e){A=A|0;e=e|0;var i=0;i=a[46981]|0;if((i|0)<(e|0)){if(!i)i=m2(e+1|0)|0;else i=y2(a[46982]|0,e+1|0)|0;a[46982]=i;a[46981]=e}else i=a[46982]|0;$1(i,A)|0;a[46966]=a[46982];return}function YB(A){A=A|0;return m2(A)|0}function DB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+2112|0;b=s+32|0;t=s+24|0;l=s+16|0;n=s+8|0;f=s;e=s+56|0;c=s+40|0;co(c,1024,s+1080|0);i=a[46966]|0;if(i|0){wo(c,i)|0;wo(c,97027)|0}wo(c,A)|0;a[f>>2]=a[4725];P4(e,97030,f)|0;wo(c,e)|0;A:do{if(!(r[a[46964]>>0]|0))switch(((a[46971]|0)+-1|0)/2|0|0){case 2:{a[n>>2]=16384;P4(e,97050,n)|0;wo(c,e)|0;A=a[46978]|0;if(!(r[A>>0]|0))break A;t=S2(A)|0;wo(c,97112)|0;A=a[46978]|0;if((t|0)>80)r[A+80>>0]=0;wo(c,A)|0;break A}case 3:{a[l>>2]=16384;P4(e,97131,l)|0;wo(c,e)|0;A=a[46978]|0;if(!(r[A>>0]|0))break A;t=S2(A)|0;wo(c,97199)|0;A=a[46978]|0;if((t|0)>80)r[A+80>>0]=0;wo(c,A)|0;break A}case 1:{a[t>>2]=16384;P4(e,97218,t)|0;wo(c,e)|0;break A}default:break A}else{wo(c,97042)|0;wo(c,a[46964]|0)|0;e=c+4|0;A=a[e>>2]|0;if(A>>>0>=(a[c+8>>2]|0)>>>0){bo(c,1)|0;A=a[e>>2]|0}a[e>>2]=A+1;r[A>>0]=39}}while(0);i=c+4|0;A=a[i>>2]|0;e=c+8|0;if(A>>>0>=(a[e>>2]|0)>>>0){bo(c,1)|0;A=a[i>>2]|0}a[i>>2]=A+1;r[A>>0]=10;A=a[i>>2]|0;if(A>>>0>=(a[e>>2]|0)>>>0){bo(c,1)|0;A=a[i>>2]|0}r[A>>0]=0;t=a[c>>2]|0;a[i>>2]=t;a[b>>2]=t;ao(1,96913,b)|0;uo(c);k=s;return}function MB(){FB(a[46964]|0);return}function FB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=a[46973]|0;r[c>>0]=r[194805]|0;t=a[46972]|0;i=a[t>>2]|0;e=a[i+4>>2]|0;if(c>>>0<(e+2|0)>>>0){f=e+((a[46977]|0)+2)|0;n=e+((a[i+12>>2]|0)+2)|0;b=e;l=i;while(1){if(f>>>0<=b>>>0)break;i=f+-1|0;b=n+-1|0;r[b>>0]=r[i>>0]|0;l=a[t>>2]|0;f=i;n=b;b=a[l+4>>2]|0}i=n-f|0;e=c+i|0;c=a[l+12>>2]|0;a[46977]=c;a[l+16>>2]=c;if(e>>>0<(b+2|0)>>>0)GB(97277);else{s=A+i|0;w=e}}else{s=A;w=c}A=w+-1|0;r[A>>0]=64;a[46964]=s;r[194805]=r[A>>0]|0;a[46973]=A;return}function VB(){var A=0;A=a[46972]|0;if(!A)A=0;else A=a[A>>2]|0;WB(A);return}function JB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+80|0;f=r;n=A+52|0;OB(A,a[n>>2]|0,18548);A=f+8|0;a[A>>2]=e;a[A+4>>2]=i;i=a[n>>2]|0;i=W5[a[i>>2]&63](i,f,4)|0;k=r;return i|0}function NB(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;f=JB(A,e,i)|0;if(!f){f=rd(A,72)|0;a[f+64>>2]=a[A+64>>2];n=f+24|0;l=a[A+24>>2]|0;a[n>>2]=l;r[n>>0]=l&255&-9;a[f+56>>2]=A;a[f+60>>2]=a[A+60>>2];A=f+8|0;a[A>>2]=e;a[A+4>>2]=i;hh(f)|0}return f|0}function XB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;if(!(((e|0)!=0?(Dh(A,0,e,f,0)|0)!=0:0)?(r=f,r=JB(A,a[r>>2]|0,a[r+4>>2]|0)|0,(r|0)!=0):0))if((i|0)!=0?(Dh(A,0,e,f,1)|0)!=0:0){r=f;r=NB(A,a[r>>2]|0,a[r+4>>2]|0)|0;Jh(A,0,r)}else r=0;k=n;return r|0}function RB(A){A=A|0;A=a[A+52>>2]|0;return W5[a[A>>2]&63](A,0,128)|0}function HB(A){A=A|0;var e=0;e=pB(A)|0;if(!e)A=0;else{e=a[e+52>>2]|0;A=W5[a[e>>2]&63](e,A,8)|0}return A|0}function pB(A){A=A|0;return a[A+56>>2]|0}function UB(A,e){A=A|0;e=e|0;A=a[A+52>>2]|0;return W5[a[A>>2]&63](A,e,2)|0}function xB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[46984]|0;r=(e|0)!=0;do{if(!A)if(r){L2(e);A=0;break}else{A=m2(i)|0;break}else if(r){fd(A,e);A=0;break}else{A=rd(A,i)|0;break}}while(0);return A|0}function TB(A,e,i){A=A|0;e=e|0;i=i|0;A=a[46984]|0;if(!A)L2(e);else fd(A,e);return}function jB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e+28|0;f=a[r>>2]|0;a[r>>2]=7;a[46984]=A;i=jk(e,i)|0;a[r>>2]=f;a[46984]=0;return i|0}function SB(A,e,i){A=A|0;e=e|0;i=i|0;a[46984]=A;return W5[a[e>>2]&63](e,i,2)|0}function PB(A,e){A=A|0;e=e|0;var i=0,r=0;i=(Ao(e,0,0)|0)+28|0;r=a[i>>2]|0;a[i>>2]=7;a[46984]=A;if(!(pk(e)|0)){a[i>>2]=r;a[46984]=0;A=0}else A=1;return A|0}function OB(A,e,i){A=A|0;e=e|0;i=i|0;if(i|0?(Ao(e,0,0)|0)!=(i|0):0)Ao(e,i,0)|0;return}function KB(A,e){A=A|0;e=e|0;if(!(tB(A)|0))e=qB(A,e)|0;else _B(A,e)|0;return e|0}function _B(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;r[e>>0]=60;f=e;while(1){i=f+1|0;a=r[A>>0]|0;if(!(a<<24>>24))break;r[i>>0]=a;A=A+1|0;f=i}r[i>>0]=62;r[f+2>>0]=0;return e|0}function qB(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){r[e>>0]=34;s=r[A>>0]|0;h=0;n=((s+-45&255)<2|((s&255)+-48|0)>>>0<10)&1;l=0;t=0;c=0;i=e+1|0;f=A+1|0;e:while(1){b=i;while(1){if(!(s<<24>>24))break e;i=s&255;i:do{if(s<<24>>24==34){r[b>>0]=92;w=n;u=1;b=b+1|0}else{if(!n){u=s<<24>>24>-1&(s<<24>>24!=95&(V1(i)|0)==0);w=0;u=u?1:l;break}switch(s<<24>>24){case 45:{u=(c|0)==0;w=u?n:0;u=u?l:1;break i}case 46:{u=(t|0)==0;w=u?n:0;u=u?l:1;t=t+1|0;break i}default:{u=(i+-48|0)>>>0<10;w=u?n:0;u=u?l:1;break i}}}}while(0);i=b+1|0;r[b>>0]=s;o=f+1|0;k=r[f>>0]|0;c=c+1|0;f=a[5031]|0;if(!f){n=w;l=u;b=i;f=o;s=k;continue}n=k&255;l=k<<24>>24!=0;if((h&l?!(s<<24>>24==92|s<<24>>24>-1&((s+-45&255)>1&(V1(s<<24>>24)|0)==0)^1):0)?!(k<<24>>24>-1&((k+-45&255)>1&(V1(n)|0)==0)):0)break;if((c|0)<(f|0)|l^1){n=w;l=u;b=i;f=o;s=k;continue}if(s<<24>>24==92|s<<24>>24>-1&((V1(s<<24>>24)|0)==0&(s+-45&255)>1)^1){h=1;n=w;l=u;s=k;f=o;continue e}if(k<<24>>24>-1&((k+-45&255)>1&(V1(n)|0)==0)){h=1;n=w;l=u;s=k;f=o;continue e}r[i>>0]=92;r[b+2>>0]=10;n=w;l=1;c=0;b=b+3|0;f=o;s=k}r[i>>0]=92;r[b+2>>0]=10;h=0;n=w;l=1;c=0;s=k;i=b+3|0;f=o}r[b>>0]=34;r[b+1>>0]=0;if(!l){if((c|0)==1?((r[A>>0]|0)+-45&255)<2:0){A=e;break}else i=20128;while(1){f=a[i>>2]|0;if(!f)break A;if(!(N1(f,A)|0)){A=e;break}else i=i+4|0}}else A=e}else A=97309}while(0);return A|0}function $B(A){A=A|0;return KB(A,Av(A)|0)|0}function Av(A){A=A|0;var e=0;e=((S2(A)|0)<<1)+2|0;e=e>>>0>1024?e:1024;A=a[46986]|0;if(e>>>0>(a[46985]|0)>>>0){if(!A)A=m2(e)|0;else A=y2(A,e)|0;a[46986]=A;a[46985]=e}return A|0}function ev(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=0;break}if((iv(A)|0)==0?kd(A,e,0)|0:0){A=1;break}A=HB(A)|0}return A|0}function iv(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=Vh(A)|0;if((l|0)!=0?(r[l>>0]|0)!=37:0)e=0;else i=3;A:do{if((i|0)==3){e=Co(A)|0;e:do{if(e|0?(f=Co(pB(A)|0)|0,f|0):0){l=Pk(a[(Co(Zd(A)|0)|0)+8>>2]|0)|0;n=e+12|0;i=f+12|0;e=0;while(1){if((e|0)>=(l|0))break e;f=a[(a[n>>2]|0)+(e<<2)>>2]|0;if((f|0?(t=a[(a[i>>2]|0)+(e<<2)>>2]|0,t|0):0)?A1(f,t)|0:0){e=0;break A}e=e+1|0}}}while(0);e=ho(A,0)|0;if(e)if((Pk(a[e+8>>2]|0)|0)>0)e=0;else return(Pk(a[e+12>>2]|0)|0)<1|0;else e=1}}while(0);return e|0}function rv(A,e){A=A|0;e=e|0;var i=0,f=0;a[46987]=0;i=po(A,97319)|0;if((i|0?((r[i>>0]|0)+-48|0)>>>0<10:0)?(f=n3(i,0,10)|0,(f|0)==0|(f|0)>59):0)a[5031]=f;fv(A,1);if(((av(A,e,1)|0)!=-1?(nv(A,e)|0)!=-1:0)?(lv(A,e)|0)!=-1:0){a[5031]=128;A=Q5[a[(a[(a[A+64>>2]|0)+8>>2]|0)+8>>2]&63](e)|0}else A=-1;return A|0}function fv(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=a[A>>2]&-9;i=RB(A)|0;while(1){if(!i)break;fv(i,0);i=HB(i)|0}A:do{if(e|0){e=cd(A)|0;while(1){if(!e)break A;a[e>>2]=a[e>>2]&-9;i=Oo(A,e)|0;while(1){if(!i)break;a[i>>2]=a[i>>2]&-9;i=_o(A,i)|0}e=bd(A,e)|0}}}while(0);return}function av(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;if((i|0)==0?(pB(A)|0)!=0:0){t=0;n=195059;b=109514}else{b=(r[A+24>>0]&1)==0?195059:97363;n=(Gh(A)|0)==0;a[46988]=Yo(A,2,111455,0)|0;a[46989]=Yo(A,2,111464,0)|0;t=1;n=n?195059:97366}f=Vh(A)|0;if((f|0)!=0?(r[f>>0]|0)!=37:0){l=1;c=102604}else{l=0;c=195059;f=195059}do{if((tv(A,e)|0)!=-1?(cv(A,e,n)|0)!=-1:0){n=(l|0)==0;if(l|t|0){if((cv(A,e,b)|0)==-1){f=-1;break}if((cv(A,e,102597)|0)==-1){f=-1;break}}if(!n?(gv(A,e,f)|0)==-1:0){f=-1;break}if(((cv(A,e,c)|0)!=-1?(cv(A,e,97374)|0)!=-1:0)?(a[46987]=(a[46987]|0)+1,(Gv(A,e,i)|0)!=-1):0){a[A>>2]=a[A>>2]|8;f=0}else f=-1}else f=-1}while(0);return f|0}function nv(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;A:do{if((bv(A,e)|0)==-1)i=-1;else{b=ho(Zd(A)|0,0)|0;t=(b|0)==0;c=b+12|0;b=b+8|0;l=cd(A)|0;while(1){if(!l){i=0;break A}if(sv(A,l,(a[l>>2]|0)>>>4,0)|0){if(t)i=0;else i=a[b>>2]|0;if((wv(l,e,i)|0)==-1){i=-1;break A}}n=Oo(A,l)|0;i=l;while(1){if(!n)break;f=n+-48|0;r=a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0;if((i|0)!=(r|0)?(sv(A,r,(a[l>>2]|0)>>>4,0)|0)!=0:0){if(t)i=0;else i=a[b>>2]|0;if((wv(a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0,e,i)|0)==-1){i=-1;break A}i=a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0}if(uv(A,n)|0){if(t)r=0;else r=a[c>>2]|0;if((kv(n,e,r)|0)==-1){i=-1;break A}}n=_o(A,n)|0}l=bd(A,l)|0}}}while(0);return i|0}function lv(A,e){A=A|0;e=e|0;a[46987]=(a[46987]|0)+-1;if((tv(A,e)|0)==-1)A=-1;else A=((cv(A,e,111008)|0)==-1)<<31>>31;return A|0}function tv(A,e){A=A|0;e=e|0;var i=0;i=a[46987]|0;while(1){if((i|0)<=0){i=0;break}if((cv(A,e,153597)|0)==-1){i=-1;break}else i=i+-1|0}return i|0}function cv(A,e,i){A=A|0;e=e|0;i=i|0;return m5[a[(a[(a[A+64>>2]|0)+8>>2]|0)+4>>2]&127](e,i)|0}function bv(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=0;break}if(!(iv(A)|0)){if((av(A,e,0)|0)==-1){A=-1;break}if((nv(A,e)|0)==-1){A=-1;break}if((lv(A,e)|0)==-1){A=-1;break}}else bv(A,e)|0;A=HB(A)|0}return A|0}function sv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if((ev(A,e)|0)==0?(Cv(A,e,i,r)|0)!=0:0)if((Iv(A,e)|0)==0?(Zv(e)|0)==0:0)f=5;else A=1;else f=5;if((f|0)==5)A=0;return A|0}function wv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Id(A)|0;do{if((tv(r,e)|0)!=-1?(ov(A,e)|0)!=-1:0){if((dv(A)|0)==0?(Bv(A,e,i)|0)==-1:0){A=-1;break}A=cv(r,e,97330)|0}else A=-1}while(0);return A|0}function uv(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=1;break}if((iv(A)|0)==0?wh(A,e,0)|0:0){A=0;break}A=HB(A)|0}return A|0}function kv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=a[A>>2]&3;n=a[((r|0)==3?A:A+48|0)+40>>2]|0;r=a[((r|0)==2?A:A+-48|0)+40>>2]|0;f=Id(n)|0;do{if((((((tv(f,e)|0)!=-1?(ov(n,e)|0)!=-1:0)?(hv(A,e,a[46988]|0)|0)!=-1:0)?(n=(Ih(Id(n)|0)|0)!=0,(cv(f,e,n?100079:100084)|0)!=-1):0)?(ov(r,e)|0)!=-1:0)?(hv(A,e,a[46989]|0)|0)!=-1:0){if(!(dv(A)|0)){if((Bv(A,e,i)|0)==-1){A=-1;break}}else if((vv(A,e,1)|0)==-1){A=-1;break}A=cv(f,e,97330)|0}else A=-1}while(0);return A|0}function ov(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+32|0;n=t;i=t+8|0;r=Vh(A)|0;f=Id(A)|0;if(!r){c=A+8|0;A=a[c+4>>2]|0;r=n;a[r>>2]=a[c>>2];a[r+4>>2]=A;P4(i,97350,n)|0;if((cv(f,e,i)|0)==-1)A=-1;else l=4}else if((gv(f,e,r)|0)==-1)A=-1;else l=4;if((l|0)==4)A=0;k=t;return A|0}function hv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if((i|0)!=0?(f=Id(A)|0,a=Uo(A,i)|0,(r[a>>0]|0)!=0):0)if((cv(f,e,107984)|0)==-1)A=-1;else{do{if(tB(a)|0){if((gv(f,e,a)|0)==-1){A=-1;break A}}else{A=G1(a,58)|0;if(!A)if((Ev(f,e,a,0)|0)==-1){A=-1;break A}else break;r[A>>0]=0;if((Ev(f,e,a,0)|0)==-1){A=-1;break A}if((cv(f,e,107984)|0)==-1){A=-1;break A}if((Ev(f,e,A+1|0,0)|0)==-1){A=-1;break A}r[A>>0]=58}}while(0);A=0}else A=0}while(0);return A|0}function dv(A){A=A|0;return(a[A>>2]|0)>>>3&1|0}function Bv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;A:do{if(!(a[A>>2]&2)){r=0;b=4}else{switch(vv(A,e,0)|0){case-1:{r=-1;break A}case 0:{r=0;b=4;break A}default:{}}r=1;b=4}}while(0);A:do{if((b|0)==4){f=Co(A)|0;c=Id(A)|0;e:do{if(f){t=f+12|0;l=W5[a[i>>2]&63](i,0,128)|0;while(1){if(!l)break e;do{if(a[A>>2]&2){n=a[46988]|0;if(n|0?(a[l+16>>2]|0)==(a[n+16>>2]|0):0)break;n=a[46989]|0;if(!((n|0)!=0?(a[l+16>>2]|0)==(a[n+16>>2]|0):0))b=12}else b=12}while(0);if((b|0)==12){b=0;f=l+16|0;if((a[(a[t>>2]|0)+(a[f>>2]<<2)>>2]|0)!=(a[l+12>>2]|0)){n=r+1|0;if(r){if((cv(c,e,97345)|0)==-1){r=-1;break A}if((tv(c,e)|0)==-1){r=-1;break A}}else{if((tv(c,e)|0)==-1){r=-1;break A}if((cv(c,e,97342)|0)==-1){r=-1;break A}a[46987]=(a[46987]|0)+1}if((gv(c,e,a[l+8>>2]|0)|0)==-1){r=-1;break A}if((cv(c,e,97348)|0)==-1){r=-1;break A}if((gv(c,e,a[(a[t>>2]|0)+(a[f>>2]<<2)>>2]|0)|0)==-1){r=-1;break A}else r=n}}l=W5[a[i>>2]&63](i,l,8)|0}}}while(0);if((r|0)>0){if((cv(c,e,97340)|0)==-1){r=-1;break}a[46987]=(a[46987]|0)+-1}a[A>>2]=a[A>>2]|8;r=0}}while(0);return r|0}function vv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;f=Vh(A)|0;A=Id(A)|0;if((f|0)!=0?(r[f>>0]|0)!=0:0)if((cv(A,e,97333)|0)!=-1?(gv(A,e,f)|0)!=-1:0)if((i|0)!=0?(cv(A,e,97340)|0)==-1:0)A=-1;else{A=1;a=7}else A=-1;else{A=0;a=7}return A|0}function gv(A,e,i){A=A|0;e=e|0;i=i|0;return Ev(A,e,i,1)|0}function Ev(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if(!r)i=qB(i,Av(i)|0)|0;else i=$B(i)|0;return cv(A,e,i)|0}function Cv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A:do{if(0>>0|(0==(r|0)?(a[e>>2]|0)>>>4>>>0>>0:0))e=0;else{e=qo(A,e)|0;while(1){if(!e){e=1;break A}if(0>>0|(0==(r|0)?(a[a[e+40>>2]>>2]|0)>>>4>>>0>>0:0)){e=0;break A}e=$o(A,e)|0}}}while(0);return e|0}function Iv(A,e){A=A|0;e=e|0;if(!(qo(A,e)|0))A=(Oo(A,e)|0)==0&1;else A=0;return A|0}function Zv(A){A=A|0;var e=0,i=0,r=0;A=Co(A)|0;A:do{if(!A)A=0;else{i=A+8|0;r=a[i>>2]|0;e=A+12|0;A=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!A){A=0;break A}if((a[(a[e>>2]|0)+(a[A+16>>2]<<2)>>2]|0)!=(a[A+12>>2]|0)){A=1;break A}r=a[i>>2]|0;A=W5[a[r>>2]&63](r,A,8)|0}}}while(0);return A|0}function Gv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=ho(A,0)|0;if(r)if(((Qv(A,e,111494,a[r+16>>2]|0,i)|0)!=-1?(Qv(A,e,111481,a[r+8>>2]|0,i)|0)!=-1:0)?(Qv(A,e,111450,a[r+12>>2]|0,i)|0)!=-1:0)f=5;else A=-1;else f=5;if((f|0)==5)A=0;return A|0}function Qv(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;w=(n|0)!=0;if(w)s=0;else s=_k(f,0)|0;b=(s|0)==0;c=W5[a[f>>2]&63](f,0,128)|0;n=0;while(1){if(!c){u=23;break}t=c+12|0;u=a[t>>2]|0;if((u|0)!=0?(r[u>>0]|0)!=0:0)u=12;else u=7;do{if((u|0)==7){u=0;if(!(r[c+22>>0]|0)){if(!b){l=W5[a[s>>2]&63](s,c,4)|0;k=a[l+12>>2]|0;if(k|0?r[k>>0]|0:0){u=12;break}if(!(r[l+22>>0]|0))u=12}}else u=12}}while(0);if((u|0)==12){u=0;l=n+1|0;if(n){if((cv(A,e,97345)|0)==-1){n=-1;break}if((tv(A,e)|0)==-1){n=-1;break}}else{if((tv(A,e)|0)==-1){n=-1;break}if((cv(A,e,i)|0)==-1){n=-1;break}if((cv(A,e,97342)|0)==-1){n=-1;break}a[46987]=(a[46987]|0)+1}if((gv(A,e,a[c+8>>2]|0)|0)==-1){n=-1;break}if((cv(A,e,97348)|0)==-1){n=-1;break}if((gv(A,e,a[t>>2]|0)|0)==-1){n=-1;break}else n=l}c=W5[a[f>>2]&63](f,c,8)|0}do{if((u|0)==23){if((n|0)>0){a[46987]=(a[46987]|0)+-1;if((n|0)!=1){if((cv(A,e,153599)|0)==-1){n=-1;break}if((tv(A,e)|0)==-1){n=-1;break}}n=(cv(A,e,97377)|0)==-1;if(w|n){n=n<<31>>31;break}}else if(w){n=0;break}_k(f,s)|0;n=0}}while(0);return n|0}function mv(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(a[e>>2]&3){case 0:{n=82;break}case 1:{n=83;break}case 3:case 2:{n=84;break}default:{}}e=m5[n&127](A,e)|0;if(!e)e=-1;else{zv(A,e,i,r,n,f);e=0}return e|0}function Lv(A,e){A=A|0;e=e|0;if((Id(e)|0)!=(A|0))e=wh(A,e,0)|0;return e|0}function Wv(A,e){A=A|0;e=e|0;if((Id(e)|0)!=(A|0))e=kd(A,e,0)|0;return e|0}function yv(A,e){A=A|0;e=e|0;return A|0}function zv(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var n=0,l=0,t=0;l=(a|0)!=0;if(l)J5[i&127](A,e,r);n=RB(A)|0;while(1){if(!n)break;t=m5[f&127](n,e)|0;if(t|0)zv(n,t,i,r,f,a);n=HB(n)|0}if(!l)J5[i&127](A,e,r);return}function Yv(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1200|0;d=v+800|0;i=v;a[46990]=0;a[46991]=-2;e=d;t=200;w=i;o=0;h=0;u=d;A:while(1){f[u>>1]=o;if((e+(t<<1)+-2|0)>>>0>u>>>0)b=t;else{s=u-e>>1;A=s+1|0;if(t>>>0>9999){B=75;break}b=t<<1;b=b>>>0<1e4?b:1e4;l=m2(b*6|3)|0;if(l){y6(l|0,e|0,A<<1|0)|0;t=l+(b>>>1<<2)|0;y6(t|0,w|0,A<<2|0)|0;if((e|0)==(d|0)){A=0;e=l}else{L2(e);A=0;e=l}}else{A=4;t=w}c=(A|0)==0;l=e+(s<<1)|0;switch((c?(e+(b<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;B=76;break A}case 4:{B=75;break A}case 0:{i=c?t+(s<<2)|0:i;w=t;u=c?l:u;break}default:{A=0;break A}}}if((o|0)==6){A=0;B=76;break}A=r[97381+o>>0]|0;c=A<<24>>24;do{if(A<<24>>24!=-18){l=a[46991]|0;if((l|0)==-2){l=wB()|0;a[46991]=l}if((l|0)>=1)if(l>>>0<269)t=n[97461+l>>0]|0;else t=2;else{a[46991]=0;t=0}l=t+c|0;if(l>>>0<=59?(t|0)==(n[97730+l>>0]|0):0){o=r[97790+l>>0]|0;A=o<<24>>24;if(o<<24>>24<1){l=0-A|0;B=23;break}else{a[46991]=-2;i=i+4|0;a[i>>2]=a[46992];c=(h|0)==0?0:h+-1|0;l=u;break}}else B=22}else B=22}while(0);if((B|0)==22){B=0;o=r[97850+o>>0]|0;l=o&255;if(!(o<<24>>24)){l=a[46991]|0;e:do{switch(h|0){case 0:{a[46990]=(a[46990]|0)+1;DB(143761);l=u;break}case 3:if((l|0)<1)if(!l){A=1;B=76;break A}else{l=u;break e}else{a[46991]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<24>>24==18)break;if((l|0)==(e|0)){A=1;B=76;break A}A=l+-2|0;i=i+-4|0;l=A;A=r[97381+(f[A>>1]|0)>>0]|0}i=i+4|0;a[i>>2]=a[46992];A=1;c=3}else B=23}do{if((B|0)==23){B=0;t=n[97930+l>>0]|0;A=a[i+(1-t<<2)>>2]|0;e:do{switch(l|0){case 2:{Dv();Mv();break}case 3:{if(a[46993]|0){Dv();Mv();Bh(a[46993]|0)|0;a[46942]=0;a[46993]=0}break}case 6:{Fv(a[i>>2]|0,a[i+-4>>2]|0,a[i+-8>>2]|0);break}case 7:{A=a[i>>2]|0;break}case 8:{A=0;break}case 9:{A=1;break}case 10:{A=0;break}case 11:{A=0;break}case 12:{A=1;break}case 21:if(!(a[i+-4>>2]|0)){Jv();break e}else{Vv();break e}case 24:{Nv();break}case 25:{Nv();break}case 26:{A=1;break}case 27:{A=0;break}case 30:{Xv(a[i>>2]|0,0,0);break}case 31:{Xv(a[i+-8>>2]|0,a[i>>2]|0,0);break}case 32:{Xv(a[i+-16>>2]|0,a[i+-8>>2]|0,a[i>>2]|0);break}case 33:{Rv(a[i+-8>>2]|0,a[i+-4>>2]|0);break}case 34:{Rv(258,0);break}case 35:{A=258;break}case 36:{A=259;break}case 37:{A=260;break}case 38:{A=a[i+-4>>2]|0;break}case 39:{A=0;break}case 48:{Hv(a[i+-8>>2]|0,a[i>>2]|0);break}case 49:{Hv(a[i>>2]|0,0);break}case 51:{pv(a[i>>2]|0);break}case 52:{Uv();break}case 53:{A=a[i>>2]|0;break}case 54:{A=0;break}case 55:{A=0;break}case 59:{A=a[i>>2]|0;break}case 60:{A=a[i>>2]|0;break}case 61:{A=a[i>>2]|0;break}case 62:{A=xv(a[i+-8>>2]|0,a[i>>2]|0)|0;break}default:{}}}while(0);t=0-t|0;o=i+(t<<2)|0;t=u+(t<<1)|0;i=o+4|0;a[o+4>>2]=A;A=(n[97993+l>>0]|0)+-24|0;o=f[t>>1]|0;l=o+(r[98056+A>>0]|0)|0;if(l>>>0<60?(n[97730+l>>0]|0)==(o|0):0){A=r[97790+l>>0]|0;c=h;l=t;break}A=r[98091+A>>0]|0;c=h;l=t}}while(0);t=b;o=A;h=c;u=l+2|0}if((B|0)==75){DB(140558);A=2;B=76}if((B|0)==76)if((e|0)!=(d|0))L2(e);k=v;return A|0}function Dv(){var A=0,e=0;A=a[46994]|0;while(1){if(!A)break;qv(A+8|0);qv((a[46994]|0)+24|0);qv((a[46994]|0)+16|0);e=Tv(a[46994]|0)|0;a[46994]=e;A=e}return}function Mv(){MB();Th(a[46993]|0);return}function Fv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=a[46993]|0;if(!f){r[187980]=e&1|(i&255)<<1&2|r[187980]&-12|8;f=a[46996]|0;r[n>>0]=r[187980]|0;r[n+1>>0]=r[187981]|0;r[n+2>>0]=r[187982]|0;r[n+3>>0]=r[187983]|0;f=kh(A,n,f)|0;a[46993]=f}a[46942]=f;a[46994]=jv(a[46994]|0,f)|0;lB(0,A)|0;k=l;return}function Vv(){var A=0,e=0,i=0,f=0,n=0,l=0;_v(2);i=a[46994]|0;f=r[98126]|0;l=0;A=i+24|0;while(1){e=a[A>>2]|0;if(!e)break;if(((a[e>>2]|0)==267?(n=a[e+4>>2]|0,(r[n>>0]|0)==f<<24>>24):0)?(A1(n,98126)|0)==0:0)A=a[e+8>>2]|0;else A=l;l=A;A=e+12|0}A=i+16|0;A:while(1){i=a[A>>2]|0;A=i+12|0;if(!(a[A>>2]|0))break;e=i+4|0;if((a[i>>2]|0)==262){i=a[e>>2]|0;e=cd(i)|0;while(1){if(!e)continue A;n=kd(a[a[46994]>>2]|0,e,0)|0;ag(n,0,a[A>>2]|0,l);e=bd(i,e)|0}}else while(1){e=a[e>>2]|0;if(!e)continue A;ag(a[e+4>>2]|0,a[e+8>>2]|0,a[A>>2]|0,l);e=e+12|0}}qv((a[46994]|0)+8|0);qv((a[46994]|0)+16|0);qv((a[46994]|0)+24|0);a[(a[46994]|0)+4>>2]=0;return}function Jv(){var A=0;_v(1);A=(a[46994]|0)+8|0;while(1){A=a[A>>2]|0;if(!A)break;fg(a[A+4>>2]|0);A=A+12|0}qv((a[46994]|0)+8|0);qv((a[46994]|0)+24|0);qv((a[46994]|0)+16|0);a[(a[46994]|0)+4>>2]=0;return}function Nv(){var A=0,e=0;A=a[46994]|0;e=a[A+8>>2]|0;if(!e){e=a[A+4>>2]|0;if(!e)e=0;else{e=rg(e)|0;A=a[46994]|0}a[A+4>>2]=0}else{e=ig(e)|0;A=a[46994]|0;a[A+12>>2]=0;a[A+8>>2]=0}if(e|0)Pv(A+16|0,e);return}function Xv(A,e,i){A=A|0;e=e|0;i=i|0;if(i)e=Ag(e,i)|0;i=eg(vd(a[a[46994]>>2]|0,A,1)|0,e)|0;Pv((a[46994]|0)+8|0,i);lB(a[46993]|0,A)|0;return}function Rv(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;if(e|0)Kv();e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;if(!(a[e+8>>2]|0))Kv();e=e+12|0}n=(A|0)==260?2:(A|0)==259&1;_v(n);A=a[46994]|0;e=A+24|0;while(1){f=a[e>>2]|0;if(!f)break;do{if((a[f>>2]|0)!=267){e=a[f+4>>2]|0;i=a[A>>2]|0;if(!((r[e+21>>0]|0)!=0&(i|0)==(a[46993]|0))){e=Yo(i,n,a[e+8>>2]|0,a[f+8>>2]|0)|0;A=a[46994]|0;if((a[A>>2]|0)!=(a[46993]|0))break}r[e+22>>0]=1}}while(0);e=f+12|0}qv(A+24|0);return}function Hv(A,e){A=A|0;e=e|0;e=Sv(A,e)|0;Pv((a[46994]|0)+24|0,e);return}function pv(A){A=A|0;var e=0;e=a[46994]|0;a[46994]=jv(e,XB(a[e>>2]|0,A,1)|0)|0;lB(a[46993]|0,A)|0;return}function Uv(){var A=0,e=0;A=a[46994]|0;e=a[A>>2]|0;A=Tv(A)|0;a[46994]=A;a[A+4>>2]=e;return}function xv(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+1024|0;f=n;i=S2(A)|0;i=i+1+(S2(e)|0)|0;if(i>>>0<1025)i=f;else i=m2(i)|0;$1(i,A)|0;u3(i,e)|0;r=aB(a[46993]|0,i)|0;lB(a[46993]|0,A)|0;lB(a[46993]|0,e)|0;if((i|0)!=(f|0))L2(i);k=n;return r|0}function Tv(A){A=A|0;var e=0;e=a[(a[46994]|0)+32>>2]|0;fd(a[46993]|0,A);return e|0}function jv(A,e){A=A|0;e=e|0;var i=0;i=rd(a[46993]|0,36)|0;a[i+32>>2]=A;a[i>>2]=e;return i|0}function Sv(A,e){A=A|0;e=e|0;return Ov(267,A,e)|0}function Pv(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;r=a[i>>2]|0;if(r|0)a[r+12>>2]=e;a[i>>2]=e;if(!(a[A>>2]|0))a[A>>2]=e;return}function Ov(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=rd(a[46993]|0,16)|0;a[r>>2]=A;a[r+4>>2]=e;a[r+8>>2]=i;return r|0}function Kv(){var A=0;A=k;k=k+16|0;ao(0,98130,A)|0;k=A;return}function _v(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=(A|0)==2;e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;i=e+4|0;f=a[i>>2]|0;if(!((n?(r[f>>0]|0)==(r[98126]|0):0)?!(A1(f,98126)|0):0)){l=Yo(a[a[46994]>>2]|0,A,f,0)|0;a[i>>2]=l;if(!l)a[i>>2]=Yo(a[a[46994]>>2]|0,A,f,195059)|0;a[e>>2]=266;lB(a[46993]|0,f)|0}e=e+12|0}return}function qv(A){A=A|0;$v(a[A>>2]|0);a[A+4>>2]=0;a[A>>2]=0;return}function $v(A){A=A|0;var e=0;while(1){if(!A)break;e=a[A+12>>2]|0;switch(a[A>>2]|0){case 265:{$v(a[A+4>>2]|0);break}case 266:case 267:{lB(a[46993]|0,a[A+8>>2]|0)|0;break}default:{}}fd(a[46993]|0,A);A=e}return}function Ag(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+1040|0;f=l;n=l+8|0;i=S2(A)|0;i=i+2+(S2(e)|0)|0;if(i>>>0<1025)r=n;else r=m2(i)|0;a[f>>2]=A;a[f+4>>2]=e;P4(r,98163,f)|0;i=aB(a[46993]|0,r)|0;lB(a[46993]|0,A)|0;lB(a[46993]|0,e)|0;if((r|0)!=(n|0))L2(r);k=l;return i|0}function eg(A,e){A=A|0;e=e|0;return Ov(259,A,e)|0}function ig(A){A=A|0;return Ov(265,A,0)|0}function rg(A){A=A|0;return Ov(262,A,0)|0}function fg(A){A=A|0;var e=0,i=0;e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;if((a[e>>2]|0)==266?(i=a[e+4>>2]|0,i|0):0)Vo(A,i,a[e+8>>2]|0)|0;e=e+12|0}return}function ag(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=i+4|0;A:do{if((a[i>>2]|0)==262){i=a[f>>2]|0;f=cd(i)|0;while(1){if(!f)break A;ng(A,e,kd(a[a[46994]>>2]|0,f,0)|0,0,r);f=bd(i,f)|0}}else while(1){f=a[f>>2]|0;if(!f)break A;i=kd(a[a[46994]>>2]|0,a[f+4>>2]|0,0)|0;ng(A,e,i,a[f+8>>2]|0,r);f=f+12|0}}while(0);return}function ng(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;i=th(a[a[46994]>>2]|0,A,i,f,1)|0;if(i|0){n=a[i>>2]&3;f=a[((n|0)==2?i:i+-48|0)+40>>2]|0;A=(f|0)==(A|0)?(a[((n|0)==3?i:i+48|0)+40>>2]|0)!=(f|0):0;lg(i,111455,A?r:e);lg(i,111464,A?e:r);fg(i)}return}function lg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(i|0){r=Yo(a[a[46994]>>2]|0,2,e,0)|0;if(!r)r=Yo(a[a[46994]>>2]|0,2,e,195059)|0;Vo(A,r,i)|0}return}function tg(A,e,i){A=A|0;e=e|0;i=i|0;a[46962]=e;a[46993]=A;a[46942]=0;A=i|0?i:18600;a[46996]=A;sB(A,e);Yv()|0;A=a[46942]|0;if(!A){VB();A=a[46942]|0}return A|0}function cg(A,e){A=A|0;e=e|0;return tg(0,A,e)|0}function bg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;e=a[A+76>>2]|0;f=a[A>>2]|0;if((e|0)!=0?(i=a[e>>2]|0,(i|0)!=0):0){F5[i&127](A);n=12}else n=4;do{if((n|0)==4)if((a[A+40>>2]|0)==0?(l=A+36|0,(a[l>>2]|0)==0):0){if(r[f+13>>0]|0)sg(A);e=A+32|0;i=a[e>>2]|0;if(!i){a[l>>2]=a[15679];n=12;break}f=F3(i,106512)|0;a[l>>2]=f;if(!f){c=a[(a[A+12>>2]|0)+16>>2]|0;l=a[e>>2]|0;e=e1(a[(X2()|0)>>2]|0)|0;a[t>>2]=l;a[t+4>>2]=e;V5[c&63](98169,t);e=1}else n=12}else n=12}while(0);if((n|0)==12)if(!(a[A+152>>2]&1024))e=0;else{V5[a[(a[A+12>>2]|0)+16>>2]&63](98207,c);e=1}k=b;return e|0}function sg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=k;k=k+112|0;i=l;n=l+4|0;e=a[A+24>>2]|0;if(!e)r[n>>0]=0;else{a[i>>2]=e+1;P4(n,98225,i)|0}i=a[A+20>>2]|0;i=i|0?i:98229;e=S2(i)|0;t=S2(n)|0;f=A+52|0;t=e+1+t+(S2(a[f>>2]|0)|0)|0;e=t+11|0;if((a[46997]|0)>>>0<(t+1|0)>>>0){a[46997]=e;e=y2(a[46998]|0,e)|0;a[46998]=e}else e=a[46998]|0;$1(e,i)|0;u3(a[46998]|0,n)|0;e=a[46998]|0;e=e+(S2(e)|0)|0;r[e>>0]=46;r[e+1>>0]=0;e=s3(a[f>>2]|0)|0;f=a[46998]|0;while(1){i=w3(e,58)|0;if(!i)break;u3(f,i+1|0)|0;t=a[46998]|0;n=t+(S2(t)|0)|0;r[n>>0]=46;r[n+1>>0]=0;r[i>>0]=0;f=t}u3(f,e)|0;L2(e);a[A+32>>2]=a[46998];k=l;return}function wg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l+8|0;f=l;if((e|0)!=0&(i|0)!=0){if(a[A+152>>2]&1024|0){V5[a[(a[A+12>>2]|0)+16>>2]&63](98207,f);SA(1)}if((ug(A,e,i)|0)==(i|0))r=i;else{f=a[(a[A+12>>2]|0)+16>>2]|0;a[n>>2]=i;V5[f&63](98239,n);SA(1)}}else r=0;k=l;return r|0}function ug(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=a[(a[A>>2]|0)+104>>2]|0;do{if(!f){c=A+40|0;l=a[c>>2]|0;if(!l){i=L3(e,1,i,a[A+36>>2]|0)|0;break}f=A+44|0;t=A+48|0;n=a[t>>2]|0;do{if(((a[f>>2]|0)+-1-n|0)>>>0>>0){n=i+4096+n&-4096;a[f>>2]=n;f=y2(l,n)|0;a[c>>2]=f;if(!f){V5[a[(a[A+12>>2]|0)+16>>2]&63](98264,w);SA(1)}else{b=f;s=a[t>>2]|0;break}}else{b=l;s=n}}while(0);y6(b+s|0,e|0,i|0)|0;w=(a[t>>2]|0)+i|0;a[t>>2]=w;r[(a[c>>2]|0)+w>>0]=0}else i=W5[f&63](A,e,i)|0}while(0);k=u;return i|0}function kg(A,e){A=A|0;e=e|0;var i=0;i=S2(e)|0;e=(wg(A,e,i)|0)==(i|0);return(e?1:-1)|0}function og(A,e){A=A|0;e=e|0;var i=0,f=0;i=k;k=k+16|0;f=i;r[f>>0]=e;A=(wg(A,f,1)|0)==1;k=i;return(A?e:-1)|0}function hg(A){A=A|0;var e=0;e=a[A+36>>2]|0;if(((e|0)!=0?(r[A+144>>0]|0)==0:0)?(a[(a[A>>2]|0)+104>>2]|0)==0:0)A=g3(e)|0;else A=0;return A|0}function dg(A){A=A|0;var e=0,i=0;e=a[A+76>>2]|0;if(e|0?(i=a[e+4>>2]|0,i|0):0)F5[i&127](A);hg(A)|0;return}function Bg(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=a[A+76>>2]|0;if(a[A+152>>2]&1024|0){V5[a[(a[A+12>>2]|0)+16>>2]&63](98291,r);SA(1)}if((i|0)!=0?(e=a[i+8>>2]|0,(e|0)!=0):0)F5[e&127](A);else{hg(A)|0;vg(A)}k=r;return}function vg(A){A=A|0;var e=0,i=0,f=0;e=A+32|0;if((a[e>>2]|0?(i=A+36|0,f=a[i>>2]|0,(f|0)!=(a[15679]|0)):0)?(r[A+144>>0]|0)==0:0){if(f|0){h3(f)|0;a[i>>2]=0}a[e>>2]=0}return}function gg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+1056|0;f=t;l=t+24|0;n=t+8|0;a[n>>2]=i;r=k4(l,1024,e,n)|0;if((r|0)>=0){if((r|0)>1023){r=$F(r+1|0)|0;a[n>>2]=i;f=r;r=O4(r,e,n)|0}else f=l;wg(A,f,r)|0;if((f|0)!=(l|0))L2(f)}else{a[f>>2]=e1(a[(X2()|0)>>2]|0)|0;ao(1,98308,f)|0}k=t;return}function Eg(A,e){A=A|0;e=+e;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=Cg(r,e)|0;wg(A,f,a[r>>2]|0)|0;k=i;return}function Cg(A,e){A=A|0;e=+e;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;if(!(e<-1.0e15))if(!(e>1.0e15)){e=e*1.0e4;f=~~((e<0.0?-.5:.5)+e);if(!f){f=138394;i=1}else{s=(f|0)<0;b=4;t=0;i=194826;f=s?0-f|0:f;while(1){if(!((f|0)!=0|(b|0)>0))break;n=(f|0)%10|0;c=(f|0)/10|0;l=i+-1|0;if((n|0)==0&t<<24>>24==0)f=0;else{r[l>>0]=n|48;f=1;i=l}if((b|0)==1)if(!(f<<24>>24))f=1;else{i=i+-1|0;r[i>>0]=46;f=1}b=b+-1|0;t=f;f=c}if(s){i=i+-1|0;r[i>>0]=45}f=i;i=194826-i|0}}else{f=98323;i=18}else{f=98322;i=19}a[A>>2]=i;return f|0}function Ig(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=Cg(r,+b[e>>3])|0;wg(A,f,a[r>>2]|0)|0;wg(A,102604,1)|0;e=Cg(r,+b[e+8>>3])|0;wg(A,e,a[r>>2]|0)|0;k=i;return}function Zg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;r=0;while(1){l=e+(r<<4)|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];Ig(A,f);r=r+1|0;if((r|0)>=(i|0))break;wg(A,102604,1)|0}k=n;return}function Gg(A,e){A=A|0;e=e|0;var i=0;i=qF(392)|0;if(i|0){a[i>>2]=20156;a[i+16>>2]=23;a[i+32>>2]=A;a[i+36>>2]=e}return i|0}function Qg(A){A=A|0;var e=0,i=0,r=0,f=0;e=qF(392)|0;i=e;r=A;f=i+40|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));f=e+60|0;r=A+60|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[f+16>>2]=a[r+16>>2];f=e+80|0;r=A+80|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[f+16>>2]=a[r+16>>2];return e|0}function mg(A){A=A|0;Mg(A);L2(A);return}function Lg(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=a[r>>2]|0;if(i){r=a[46999]|0;if(r){i=a[r+4>>2]|0;if(!i){i=qF(632)|0;a[(a[46999]|0)+4>>2]=i}}}else{i=qF(632)|0;a[r>>2]=i;a[A+164>>2]=i}a[46999]=i;a[i+32>>2]=e;a[i>>2]=A;return}function Wg(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=a[r>>2]|0;if(i){r=a[47e3]|0;if(r){i=a[r+4>>2]|0;if(!i){i=qF(632)|0;a[(a[47e3]|0)+4>>2]=i}}}else{i=qF(632)|0;a[r>>2]=i;a[A+164>>2]=i}a[47e3]=i;a[i+52>>2]=e;a[i>>2]=A;return(Jg(A,3,e)|0)!=0|0}function yg(A){A=A|0;var e=0;e=a[A+160>>2]|0;a[A+164>>2]=e;return e|0}function zg(A){A=A|0;var e=0,i=0,r=0;A=A+164|0;e=a[A>>2]|0;i=a[e+4>>2]|0;if(i|0?(r=i+52|0,(a[r>>2]|0)==0):0)a[r>>2]=a[e+52>>2];a[A>>2]=i;return i|0}function Yg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;f=e+10|0;if((a[r>>2]|0)>(e|0))A=a[A>>2]|0;else{a[r>>2]=f;f=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=f;A=f}a[A+(e<<2)>>2]=i;return}function Dg(A){A=A|0;var e=0;e=a[A>>2]|0;if(e|0)L2(e);a[A>>2]=0;a[A+8>>2]=0;a[A+4>>2]=0;return}function Mg(A){A=A|0;var e=0,i=0,r=0;i=A+160|0;e=a[i>>2]|0;while(1){if(!e)break;r=a[e+4>>2]|0;Dg(e+604|0);Dg(e+592|0);L2(a[e+584>>2]|0);L2(a[e+588>>2]|0);L2(e);e=r}a[47e3]=0;a[46999]=0;a[A+192>>2]=0;a[A+164>>2]=0;a[i>>2]=0;a[A+28>>2]=0;return}function Fg(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0;w=k;k=k+128|0;b=w+64|0;s=w;x4(b,i,63)|0;t=G1(b,58)|0;if(t|0)r[t>>0]=0;A=A+60+(e<<2)|0;while(1){e=a[A>>2]|0;if(!e){e=A;A=0;break}x4(s,a[e+4>>2]|0,63)|0;e=G1(s,58)|0;if(e|0)r[e>>0]=0;if((A1(b,s)|0)<1){c=9;break}A=a[A>>2]|0}while(1){if((c|0)==9){e=A;A=a[A>>2]|0}if(!A)break;x4(s,a[A+4>>2]|0,63)|0;A=G1(s,58)|0;if(A|0)r[A>>0]=0;if(A1(b,s)|0)break;A=a[e>>2]|0;if((a[A+8>>2]|0)<=(f|0))break;c=9}s=$F(20)|0;a[s>>2]=a[e>>2];a[e>>2]=s;a[s+4>>2]=i;a[s+8>>2]=f;a[s+12>>2]=n;a[s+16>>2]=l;k=w;return 1}function Vg(A,e){A=A|0;e=e|0;e=k;k=k+16|0;ao(1,98396,e)|0;k=e;return 0}function Jg(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+144|0;d=B;u=B+80|0;o=B+16|0;w=(e+-3|0)>>>0<2?0:e;x4(u,i,63)|0;i=G1(u,58)|0;if(i){f=i+1|0;r[i>>0]=0;i=G1(f,58)|0;if(!i)s=0;else{r[i>>0]=0;s=i+1|0}}else{s=0;f=0}t=(f|0)!=0;c=(s|0)==0;b=(w|0)==(e|0);l=A+60+(e<<2)|0;A:while(1){i=a[l>>2]|0;if(!i){i=0;break}x4(o,a[i+4>>2]|0,63)|0;i=G1(o,58)|0;if(!i)i=0;else{r[i>>0]=0;i=i+1|0}do{if(!(A1(o,u)|0)){n=(i|0)!=0;if(t&n?A1(i,f)|0:0)break;if(!c?A1(s,a[(a[(a[l>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(b|n^1){h=16;break A}if(Jg(A,w,i)|0){h=16;break A}}}while(0);l=a[l>>2]|0}do{if((h|0)==16){i=a[l>>2]|0;if(i){f=i+16|0;if((a[f>>2]|0)==0?(Vg(0,0)|0,(a[f>>2]|0)==0):0){i=0;break}if((a[A+8>>2]|0)>0){h=a[15712]|0;u=a[i+4>>2]|0;o=a[(a[i+12>>2]|0)+8>>2]|0;a[d>>2]=a[20168+(e<<2)>>2];a[d+4>>2]=u;a[d+8>>2]=o;f3(h,98427,d)|0}}else i=0}}while(0);a[A+80+(e<<2)>>2]=i;k=B;return i|0}function Ng(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;do{if(!i)i=0;else{if(a[5047]|0){co(188004,0,0);a[5047]=0}l=s3(i)|0;i=G1(l,58)|0;if(i){r[i>>0]=0;f=A+60+(e<<2)|0;i=1;n=f;while(1){A=a[n>>2]|0;if(!A)break;e=s3(a[A+4>>2]|0)|0;A=G1(e,58)|0;if(A|0)r[A>>0]=0;if(!((r[l>>0]|0)!=0?(N1(l,e)|0)!=0:0)){i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=32;wo(188004,a[(a[n>>2]|0)+4>>2]|0)|0;i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=58;wo(188004,a[(a[(a[n>>2]|0)+12>>2]|0)+8>>2]|0)|0;i=0}L2(e);n=a[n>>2]|0}L2(l);if(i<<24>>24){n=0;t=19}}else{L2(l);n=0;f=A+60+(e<<2)|0;i=1;t=19}if((t|0)==19){while(1){A=a[f>>2]|0;if(!A)break;e=s3(a[A+4>>2]|0)|0;A=G1(e,58)|0;if(A|0)r[A>>0]=0;if(!((n|0)!=0?(N1(n,e)|0)==0:0)){i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=32;wo(188004,e)|0;i=0}n=e;f=a[f>>2]|0;t=19}if(i<<24>>24){i=195059;break}}i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}r[i>>0]=0;i=a[47001]|0;a[47002]=i}}while(0);return i|0}function Xg(A){A=A|0;var e=0;if(!A)vA(111208,98444,573,98458);if(!(r[A>>0]|0))vA(111213,98444,574,98458);e=a[47005]|0;if(!e)A=0;else A=W5[a[e>>2]&63](e,A,512)|0;return A|0}function Rg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;if(!A)vA(111312,98444,589,98475);n=A+8|0;i=a[n>>2]|0;if(!i)vA(111315,98444,590,98475);if(!(r[i>>0]|0))vA(111324,98444,591,98475);l=A+20|0;f=a[l>>2]|0;do{if(!f){e=WR(i)|0;if(!e){a[t>>2]=a[n>>2];ao(0,98499,t)|0;e=0;break}t=F3(e,138821)|0;a[l>>2]=t;if(!t){a[c>>2]=e1(a[(X2()|0)>>2]|0)|0;a[c+4>>2]=e;ao(0,98524,c)|0;e=0;break}e=a[47006]|0;if((e|0)>49){r[A+17>>0]=1;e=1;break}else{a[47006]=e+1;e=1;break}}else{O3(f,0,0)|0;if(!(a[l>>2]|0))vA(98545,98444,614,98475);else e=1}}while(0);k=b;return e|0}function Hg(A){A=A|0;var e=0,i=0;if(r[A+17>>0]|0?(e=A+20|0,i=a[e>>2]|0,i|0):0){h3(i)|0;a[e>>2]=0}return}function pg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0;if(!e){r=-1;i=-1}else{r=a[e+48>>2]|0;f=+(r|0);if(!r){n=+b[i>>3];f=+b[i+8>>3]}else{b[i+8>>3]=f;b[i>>3]=f;n=f}r=~~(+((a[e+40>>2]|0)*72|0)/n);i=~~(+((a[e+44>>2]|0)*72|0)/f)}a[A>>2]=r;a[A+4>>2]=i;return}function Ug(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=k;k=k+48|0;f=s+16|0;t=s;c=s+32|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){if((0==0?(n=a[47133]|0,(a[47007]|0)!=(n|0)):0)?(a[47007]=n,l=a[47005]|0,l|0):0){pk(l)|0;a[47005]=0}w=+b[(a[(a[e+16>>2]|0)+8>>2]|0)+24>>3];w=!(w>=1.0)?96.0:w;b[t+8>>3]=w;b[t>>3]=w;e=xg(i)|0;a[f>>2]=a[t>>2];a[f+4>>2]=a[t+4>>2];a[f+8>>2]=a[t+8>>2];a[f+12>>2]=a[t+12>>2];pg(c,e,f);e=a[c>>2]|0;f=a[c+4>>2]|0}else{e=-1;f=-1}a[A>>2]=e;a[A+4>>2]=f;k=s;return}function xg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;r=f;if(!A)vA(111208,98444,638,98551);if(!(a[47005]|0))a[47005]=jk(20192,a[4589]|0)|0;e=Xg(A)|0;A:do{if(!e){e=qF(64)|0;if(!e)e=0;else{i=e+8|0;a[i>>2]=aB(0,A)|0;if(!((Rg(e)|0)<<24>>24)){Tg(e);e=0;break}if(!(a[e+20>>2]|0))vA(98545,98444,653,98551);do{switch(jg(e)|0){case 0:{A=GN(a[i>>2]|0)|0;a[e+52>>2]=A;if(!A){a[r>>2]=a[i>>2];ao(0,98568,r)|0;Tg(e);e=0;break A}break}case 2:{Sg(e);break}case 3:{Pg(e);break}case 1:{Og(e);break}case 4:{Kg(e);break}case 6:{_g(e);break}case 11:{qg(e);break}case 8:{$g(e);break}case 5:{AE(e);break}case 12:{eE(e);break}default:{}}}while(0);Hg(e);r=a[47005]|0;W5[a[r>>2]&63](r,e,1)|0}}else Hg(e)}while(0);k=f;return e|0}function Tg(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(e|0)lB(0,e)|0;L2(A);return}function jg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+224|0;f=c+200|0;n=c;l=A+20|0;e=a[l>>2]|0;A:do{if((e|0)!=0?(a6(f,1,20,e)|0)==20:0){i=0;while(1){if(i>>>0>=10){t=13;break A}if(!(F4(f,a[20228+(i<<4)>>2]|0,a[20228+(i<<4)+4>>2]|0)|0))break;i=i+1|0}r=A+28|0;a[r>>2]=a[20228+(i<<4)+12>>2];e=a[20228+(i<<4)+8>>2]|0;A=A+24|0;a[A>>2]=e;switch(i|0){case 7:break;case 8:{if(F4(f+8|0,98784,4)|0)break A;a[r>>2]=98789;a[A>>2]=11;e=11;break A}default:break A}while(1){if(!(N4(n,200,a[l>>2]|0)|0)){t=11;break}if(!(F4(n,98779,4)|0)){t=8;break}}if((t|0)==8){a[r>>2]=101803;a[A>>2]=8;e=8;break}else if((t|0)==11){e=a[A>>2]|0;break}}else t=13}while(0);if((t|0)==13){a[A+28>>2]=98794;a[A+24>>2]=0;e=0}k=c;return e|0}function Sg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,6,0)|0;if((bE(a[r>>2]|0,2,e)|0)<<24>>24?(bE(a[r>>2]|0,2,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function Pg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,16,0)|0;if((iE(a[r>>2]|0,4,e)|0)<<24>>24?(iE(a[r>>2]|0,4,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function Og(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;e=l+12|0;i=l+8|0;r=l+4|0;f=l;a[A+48>>2]=0;n=A+20|0;O3(a[n>>2]|0,16,0)|0;if((((bE(a[n>>2]|0,2,e)|0)<<24>>24?(bE(a[n>>2]|0,2,i)|0)<<24>>24:0)?(bE(a[n>>2]|0,2,r)|0)<<24>>24:0)?(bE(a[n>>2]|0,2,f)|0)<<24>>24:0){a[A+40>>2]=a[e>>2]<<16|a[i>>2];a[A+44>>2]=a[r>>2]<<16|a[f>>2]}k=l;return}function Kg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+32|0;e=s+16|0;r=s+12|0;f=s+8|0;l=s+4|0;t=s;a[A+48>>2]=0;c=A+20|0;while(1){if(!((iE(a[c>>2]|0,1,e)|0)<<24>>24))break;i=a[e>>2]|0;if((i|0)==255)continue;if(G1(98767,i)|0)continue;if((i|0)==192){b=6;break}n=a[c>>2]|0;if((i|0)==194){b=11;break}if(!((iE(n,2,r)|0)<<24>>24))break;O3(a[c>>2]|0,(a[r>>2]|0)+-2|0,1)|0}if((b|0)==6){if(((iE(a[c>>2]|0,3,t)|0)<<24>>24?(iE(a[c>>2]|0,2,f)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,l)|0)<<24>>24:0){a[A+44>>2]=a[f>>2];a[A+40>>2]=a[l>>2]}}else if((((b|0)==11?(iE(n,3,t)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,f)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,l)|0)<<24>>24:0){a[A+44>>2]=a[f>>2];a[A+40>>2]=a[l>>2]}k=s;return}function _g(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+1056|0;c=s;e=s+32|0;r=s+28|0;f=s+24|0;n=s+20|0;l=s+16|0;a[A+48>>2]=72;t=A+20|0;O3(a[t>>2]|0,0,0)|0;while(1){if(!(N4(e,1024,a[t>>2]|0)|0))break;i=X4(e,98752)|0;if(!i)continue;a[c>>2]=r;a[c+4>>2]=f;a[c+8>>2]=n;a[c+12>>2]=l;if((J3(i,104311,c)|0)==4){b=5;break}}if((b|0)==5){c=a[r>>2]|0;a[A+32>>2]=c;b=a[f>>2]|0;a[A+36>>2]=b;a[A+40>>2]=(a[n>>2]|0)-c;a[A+44>>2]=(a[l>>2]|0)-b}k=s;return}function qg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;e=n+4|0;i=n;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,15,0)|0;l=(s6(a[r>>2]|0)|0)==88;f=a[r>>2]|0;if(l){O3(f,24,0)|0;if((bE(a[r>>2]|0,4,e)|0)<<24>>24?(bE(a[r>>2]|0,4,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}}else{O3(f,26,0)|0;if((bE(a[r>>2]|0,2,e)|0)<<24>>24?(bE(a[r>>2]|0,2,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}}k=n;return}function $g(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0;z=k;k=k+352|0;L=z+80|0;m=z+72|0;y=z+64|0;W=z+56|0;Q=z+48|0;e=z+40|0;B=z+32|0;v=z+24|0;g=z+16|0;E=z+8|0;C=z;I=z+328|0;Z=z+128|0;G=z+96|0;if(!(a[47008]|0)){if(u8(188036,98637,1)|0){a[e>>2]=98637;ao(1,98664,e)|0}a[47008]=188036}s=A+20|0;O3(a[s>>2]|0,0,0)|0;w=G+12|0;u=G+20|0;o=G+8|0;h=G+16|0;d=G+4|0;e=0;n=0;f=0;i=0;A:while(1){if(!(N4(Z,200,a[s>>2]|0)|0))break;if(n<<24>>24==0|e<<24>>24==0){l=Z;c=i}else break;e:while(1){t=f;i:while(1){while(1){if($8(188036,l,4,G,0)|0){f=t;i=c;continue A}r[l+(a[w>>2]|0)>>0]=0;r[l+(a[u>>2]|0)>>0]=0;i=l+(a[o>>2]|0)|0;f=l+(a[h>>2]|0)|0;l=l+((a[d>>2]|0)+1)|0;if(!(A1(i,141116)|0))break;if(!(A1(i,141048)|0))break i;if(A1(i,98711)|0)continue;a[L>>2]=v;a[L+4>>2]=g;a[L+8>>2]=E;a[L+12>>2]=C;if((J3(f,98719,L)|0)==4)break e}a[Q>>2]=B;a[Q+4>>2]=I;if((J3(f,98701,Q)|0)!=2){a[W>>2]=B;if((J3(f,101209,W)|0)==1){i=1;f=cE(+b[B>>3],98708)|0}else{i=n;f=t}}else{i=1;f=cE(+b[B>>3],I)|0}if(!(e<<24>>24)){e=0;n=i;t=f}else{n=i;i=c;continue A}}a[y>>2]=B;a[y+4>>2]=I;if((J3(f,98701,y)|0)!=2){a[m>>2]=B;if((J3(f,101209,m)|0)==1){e=1;i=cE(+b[B>>3],98708)|0}else i=c}else{e=1;i=cE(+b[B>>3],I)|0}if(!(n<<24>>24)){n=0;f=t;c=i}else{f=t;continue A}}e=1;n=1;f=~~(+b[E>>3]+1.0-+b[v>>3])>>>0;i=~~(+b[C>>3]+1.0-+b[g>>3])>>>0}a[A+48>>2]=0;a[A+40>>2]=f;a[A+44>>2]=i;k=z;return}function AE(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0;i=k;k=k+32|0;e=i;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,0,0)|0;if(!(rE(a[r>>2]|0,e)|0)){n=+b[e>>3];a[A+32>>2]=~~n;f=+b[e+8>>3];a[A+36>>2]=~~f;a[A+40>>2]=~~(+b[e+16>>3]-n);a[A+44>>2]=~~(+b[e+24>>3]-f)}k=i;return}function eE(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,6,0)|0;if((iE(a[r>>2]|0,1,e)|0)<<24>>24?(iE(a[r>>2]|0,1,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function iE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;a[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=s6(A)|0;if(o3(A)|0){r=0;break}a[i>>2]=a[i>>2]<<8|f;r=r+1|0}return r|0}function rE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+1040|0;i=l;r=l+16|0;while(1){if(!(N4(r,1024,A)|0)){A=1;break}f=X4(r,98627)|0;if(f|0){n=4;break}}if((n|0)==4){a[i+4>>2]=r;a[i>>2]=f+9;a[i+8>>2]=A;A=fE(i,e)|0}k=l;return A|0}function fE(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=k;k=k+1024|0;f=n;aE(A);i=r[a[A>>2]>>0]|0;if(!(i<<24>>24))i=(nE(A)|0)&255;else i=i<<24>>24;if((((i|0)==91?(a[A>>2]=(a[A>>2]|0)+1,lE(A,f),(tE(f,e)|0)==0):0)?(lE(A,f),(tE(f,e+8|0)|0)==0):0)?(lE(A,f),(tE(f,e+16|0)|0)==0):0){lE(A,f);i=(tE(f,e+24|0)|0)!=0&1}else i=1;k=n;return i|0}function aE(A){A=A|0;var e=0;e=a[A>>2]|0;while(1){e=r[e>>0]|0;if(!(e<<24>>24))e=(nE(A)|0)&255;else e=e<<24>>24;if(!((e&255)<<24>>24))break;if(!(Q1(e&255)|0))break;e=(a[A>>2]|0)+1|0;a[A>>2]=e}return}function nE(A){A=A|0;var e=0;e=A+4|0;if(!(N4(a[e>>2]|0,1024,a[A+8>>2]|0)|0))A=0;else{e=a[e>>2]|0;a[A>>2]=e;A=r[e>>0]|0}return A|0}function lE(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;aE(A);i=0;f=a[A>>2]|0;while(1){f=r[f>>0]|0;if(!(f<<24>>24))n=(nE(A)|0)&255;else n=f<<24>>24;f=n<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;r[e+i>>0]=n;i=i+1|0;f=(a[A>>2]|0)+1|0;a[A>>2]=f;if((i|0)==1023){i=1023;break}}r[e+i>>0]=0;return}function tE(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=k;k=k+16|0;f=r;i=+A8(A,f);if((a[f>>2]|0)==(A|0))A=1;else{b[e>>3]=i;A=0}k=r;return A|0}function cE(A,e){A=+A;e=e|0;var i=0.0;do{if(!(A1(e,98735)|0)){A=A*72.0;i=A;A=A>=0.0?.5:-.5}else{if(!(A1(e,98738)|0)){A=A*.75;i=A;A=A>=0.0?.5:-.5;break}if(!(A1(e,98741)|0)){A=A*12.0;i=A;A=A>=0.0?.5:-.5;break}if(A1(e,98708)|0?A1(e,98744)|0:0)if(!(A1(e,98746)|0)){A=A*28.346456664;i=A;A=A>=0.0?.5:-.5;break}else{e=(A1(e,98749)|0)==0;i=A*2.8346456663999997;return(e?~~(i+(i>=0.0?.5:-.5)):0)|0}i=A>=0.0?.5:-.5}}while(0);return~~(A+i)|0}function bE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;a[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=s6(A)|0;if(o3(A)|0){r=0;break}a[i>>2]=a[i>>2]|f<<(r<<3);r=r+1|0}return r|0}function sE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=a[e+20>>2]|0;if(A|0)h3(A)|0;if(a[e+52>>2]|0?(r=a[e+60>>2]|0,r|0):0)F5[r&127](e);L2(e);return}function wE(){var A=0;Yo(0,1,108224,105493)|0;A=Gg(0,1)|0;jr(A,0);return A|0}function uE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0;c=k;k=k+304|0;t=c+24|0;l=c+8|0;f=c;n=c+40|0;if((ur(A,i)|0)!=999)if((kr(A,e)|0)==-1)A=-1;else{A=a[e+16>>2]|0;i=A+16|0;if(!(r[(a[A+8>>2]|0)+81>>0]|0)){o=+b[i>>3];u=+b[A+24>>3];w=+b[A+32>>3];s=+b[A+40>>3];a[t>>2]=~~(o+(o>=0.0?.5:-.5));a[t+4>>2]=~~(u+(u>=0.0?.5:-.5));a[t+8>>2]=~~(w+(w>=0.0?.5:-.5));a[t+12>>2]=~~(s+(s>=0.0?.5:-.5));P4(n,98899,t)|0}else{s=+b[A+24>>3];w=+b[i>>3];u=+b[A+40>>3];o=+b[A+32>>3];a[l>>2]=~~(s+(s>=0.0?.5:-.5));a[l+4>>2]=~~(w+(w>=0.0?.5:-.5));a[l+8>>2]=~~(u+(u>=0.0?.5:-.5));a[l+12>>2]=~~(o+(o>=0.0?.5:-.5));P4(n,98899,l)|0}To(e,102671,n,195059)|0;A=0}else{A=Ng(A,1,i)|0;a[f>>2]=i;a[f+4>>2]=A;ao(1,111233,f)|0;A=-1}k=c;return A|0}function kE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=a[e+60>>2]|0;Wg(A,i)|0;e=a[A+164>>2]|0;a[e+56>>2]=mi(e,a[e+52>>2]|0)|0;if((Td(f,137483,0,1)|0)!=0?(a[(a[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(a[e+152>>2]&67108864)){to(98911,n);e=-1}else l=5;if((l|0)==5){a[e+36>>2]=r;if(!r){l=e+152|0;a[l>>2]=a[l>>2]|134217728}l=lF(A,f)|0;Wi(e);Mg(A);e=l}k=t;return e|0}function oE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=a[e+60>>2]|0;Wg(A,i)|0;e=a[A+164>>2]|0;a[e+56>>2]=mi(e,a[e+52>>2]|0)|0;if((Td(f,137483,0,1)|0)!=0?(a[(a[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(a[e+152>>2]&67108864)){to(98911,n);e=-1}else l=5;if((l|0)==5){Lg(A,r);l=lF(A,f)|0;Wi(e);Bg(e);Mg(A);e=l}k=t;return e|0}function hE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;l=s+8|0;n=s;e=a[e+60>>2]|0;Wg(A,i)|0;c=a[A+164>>2]|0;a[c+56>>2]=mi(c,a[c+52>>2]|0)|0;if((Td(e,137483,0,1)|0)!=0?(a[(a[e+16>>2]|0)+8>>2]|0)!=0:0)b=5;else if(!(a[c+152>>2]&67108864)){to(98911,n);e=-1}else b=5;do{if((b|0)==5){if(r|0?(t=m2(4096)|0,a[r>>2]=t,t|0):0){n=c+40|0;a[n>>2]=t;a[c+44>>2]=4096;i=c+48|0;a[i>>2]=0;e=lF(A,e)|0;Wi(c);if(!e){a[r>>2]=a[n>>2];a[f>>2]=a[i>>2]}Mg(A);break}ao(1,98932,l)|0;e=-1}}while(0);k=s;return e|0}function dE(A,e){A=A|0;e=e|0;xr(A,0,e);return}function BE(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+4288|0;y=D+8|0;W=D;z=4;Y=m2(40)|0;a[Y>>2]=0;G=D+4152|0;Q=D+4148|0;m=D+4128|0;c=D+4112|0;b=D+16|0;d=0;t=iA(24,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;A:do{if((l|0)!=1){if(!t){a[e>>2]=0;n=0;break}d=0;w=aA(29,i|0,Q|0,G|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;s=iA(23,40)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;hA(7,m|0,c|0,b|0,24,85);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){c=m+16|0;t=a[c>>2]|0;n=i;while(1){if(!n)break;d=0;rA(t|0,n|0,0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){Z=0;I=c;C=s;E=w;n=L;s=15;break A}d=0;n=rA(86,A|0,n|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){Z=0;I=c;C=s;E=w;n=L;s=15;break A}}Y=L6(188068,1,Y|0,z|0)|0;z=L;d=0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){Z=s;I=c;C=s;E=w;n=L;s=15}else{Z=s;I=c;C=s;E=w;n=0;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=0;E=w;n=L;s=15}}else{Z=0;I=0;C=0;E=0;n=L;s=15}}while(0);do{if((s|0)==15){A:while(1){e:do{if(!n){d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}g=E+(a[Q>>2]|0)|0;b=0;s=0;c=0;while(1){if(!i)break;d=0;n=rA(a[I>>2]|0,i|0,-1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,Y|0,z|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if((n|0)==0?(r[(a[i+16>>2]|0)+119>>0]|0)==3:0){if(!s){d=0;a[W>>2]=c;aA(30,g|0,137395,W|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;t=aA(31,A|0,E|0,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(53,t|0,137483,280,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}a[Z+(c<<2)>>2]=t;b=1;c=c+1|0}else t=s;d=0;nA(54,A|0,i|0,t|0,m|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}}else t=s;d=0;i=rA(86,A|0,i|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}s=t}d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}t=10;w=Z;u=C;o=C;v=C;while(1){if(!i){s=0;t=o;i=v;break e}d=0;n=rA(a[I>>2]|0,i|0,-1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){s=W6(a[l>>2]|0,Y|0,z|0)|0;if(!s)fe(l|0,B|0);L=B}else s=-1;if((s|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if(!n){d=0;a[y>>2]=c;aA(30,g|0,137395,y|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;h=aA(31,A|0,E|0,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(53,h|0,137483,280,1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){n=W6(a[l>>2]|0,Y|0,z|0)|0;if(!n)fe(l|0,B|0);L=B}else n=-1;if((n|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(54,A|0,i|0,h|0,m|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if((c|0)==(t|0)){t=c<<1;d=0;s=rA(87,u|0,c<<3|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}n=s;u=s;o=s;l=s}else{n=w;l=v}a[n+(c<<2)>>2]=h;w=n;c=c+1|0;s=l}else s=v;d=0;i=rA(86,A|0,i|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}v=s}}else{s=1;b=0;w=Z;c=0;t=C;i=C}}while(0);d=0;sA(108,m|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}if((E|0)!=(G|0)){d=0;sA(105,E|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}}if(!s){d=0;n=rA(87,i|0,c<<2|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}else{s=58;break}}a[e>>2]=0;n=0;while(1){if((n|0)>=(c|0))break;d=0;iA(26,a[w+(n<<2)>>2]|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}n=n+1|0}d=0;sA(105,t|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15}else{s=56;break}}if((s|0)==56){n=0;break}else if((s|0)==58){a[e>>2]=c;r[f>>0]=b;break}}}while(0);L2(Y|0);k=D;return n|0}function vE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if(!((A|0)!=0?(LE(A)|0)!=0:0))A=98988;r=S2(A)|0;if((r|0)>=104){i=$F(r+25|0)|0;if(!i)i=0;else f=6}else f=6;if((f|0)==6){$1(i,A)|0;a[e>>2]=r}return i|0}function gE(A,e){A=A|0;e=e|0;kd(e,A,1)|0;return}function EE(A,e){A=A|0;e=e|0;var i=0;A=(a[A+16>>2]|0)+157|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function CE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a[e>>2]=i;a[e+4>>2]=i+4096;a[e+12>>2]=0;a[e+8>>2]=0;a[A>>2]=e;a[A+4>>2]=e;a[A+8>>2]=i;a[A+12>>2]=r;a[A+16>>2]=f;return}function IE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;QE(r,e);t=r+12|0;c=r+16|0;e=0;A:while(1){b=mE(r)|0;if(!b)break;e=e+1|0;f=a[t>>2]|0;if(f|0)V5[f&63](b,i);l=Ah(A,b)|0;while(1){if(!l)continue A;n=a[l>>2]&3;f=a[((n|0)==3?l:l+48|0)+40>>2]|0;if((f|0)==(b|0))f=a[((n|0)==2?l:l+-48|0)+40>>2]|0;if(!(m5[a[c>>2]&127](f,-1)|0))QE(r,f);l=eh(A,l,b)|0}}return e|0}function ZE(A){A=A|0;var e=0;A=a[(a[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=a[A+12>>2]|0;GE(A);A=e}return}function GE(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function QE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;f=b;n=A+8|0;t=A+4|0;i=a[t>>2]|0;if((a[n>>2]|0)==(a[i+4>>2]|0)){i=a[i+12>>2]|0;do{if(!i){r=$F(16)|0;if(!r){ao(1,98969,f)|0;fe(188068,1)}a[r+8>>2]=a[t>>2];a[r+12>>2]=0;i=$F(4e6)|0;a[r>>2]=i;if(!i){ao(1,98969,c)|0;fe(188068,1)}else{a[r+4>>2]=i+4e6;a[(a[t>>2]|0)+12>>2]=r;l=r;break}}else l=i}while(0);a[t>>2]=l;a[n>>2]=a[l>>2]}m5[a[A+16>>2]&127](e,1)|0;c=a[n>>2]|0;a[n>>2]=c+4;a[c>>2]=e;k=b;return}function mE(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+8|0;e=a[f>>2]|0;i=A+4|0;r=a[i>>2]|0;if((e|0)==(a[r>>2]|0))if((r|0)==(a[A>>2]|0))e=0;else{e=a[r+8>>2]|0;a[i>>2]=e;e=a[e+4>>2]|0;a[f>>2]=e;n=4}else n=4;if((n|0)==4){e=e+-4|0;a[f>>2]=e;e=a[e>>2]|0}return e|0}function LE(A){A=A|0;var e=0;A:while(1){e=A;A=A+1|0;e=r[e>>0]|0;switch(e<<24>>24){case 95:continue A;case 0:{A=1;break A}default:{}}if(!(V1(e&255)|0)){A=0;break}}return A|0}function WE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+4272|0;I=Q;Z=4;G=m2(40)|0;a[G>>2]=0;g=Q+4144|0;E=Q+4140|0;C=Q+4120|0;l=Q+4104|0;t=Q+8|0;d=0;f=iA(24,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){r=W6(a[n>>2]|0,G|0,Z|0)|0;if(!r)fe(n|0,B|0);L=B}else r=-1;A:do{if((r|0)!=1)if(f){d=0;b=aA(29,i|0,E|0,g|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;c=iA(23,40)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;hA(7,C|0,l|0,t|0,24,85);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;f=iA(25,A|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){l=C+16|0;n=a[l>>2]|0;r=f;while(1){if(!r)break;d=0;rA(n|0,r|0,0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){v=l;h=c;o=b;r=L;c=14;break A}d=0;r=rA(86,A|0,r|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){v=l;h=c;o=b;r=L;c=14;break A}}G=L6(188068,1,G|0,Z|0)|0;Z=L;d=0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){v=l;h=c;o=b;r=L;c=14}else{v=l;h=c;o=b;r=0;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=0;o=b;r=L;c=14}}else{i=0;r=0}else{v=0;h=0;o=0;r=L;c=14}}while(0);A:do{if((c|0)==14){e:while(1){if(r|0){d=0;sA(108,C|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}d=0;sA(105,h|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}if((o|0)==(g|0)){i=0;r=0;break A}d=0;sA(105,o|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}else{c=19;break}}d=0;f=iA(25,A|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}u=o+(a[E>>2]|0)|0;l=10;b=h;r=0;c=h;w=h;while(1){if(!f)break;d=0;i=rA(a[v>>2]|0,f|0,-1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,G|0,Z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}if(!i){d=0;a[I>>2]=r;aA(30,u|0,137395,I|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;s=aA(31,A|0,o|0,1)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;nA(53,s|0,137483,280,1)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;nA(54,A|0,f|0,s|0,C|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}if((r|0)==(l|0)){l=r<<1;d=0;t=rA(87,c|0,r<<3|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}n=t;c=t;i=t}else{n=b;i=w}a[n+(r<<2)>>2]=s;r=r+1|0;b=n;t=i}else t=w;d=0;f=rA(86,A|0,f|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}w=t}d=0;sA(108,C|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}d=0;i=rA(87,w|0,r<<2|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,G|0,Z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}if((o|0)==(g|0))break A;d=0;sA(105,o|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,G|0,Z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14}else{c=39;break}}if((c|0)==19){i=0;r=0;break}else if((c|0)==39)break}}while(0);a[e>>2]=r;L2(G|0);k=Q;return i|0}function yE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=0;f=cd(A)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;if(kd(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,0)|0){wh(A,r,1)|0;i=i+1|0}r=_o(e,r)|0}f=bd(A,f)|0}return i|0}function zE(A){A=A|0;A=Ud(A,98993,0)|0;if(!A)vA(98998,99001,529,99010);else return a[A+8>>2]|0;return 0}function YE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;g=k;k=k+4320|0;B=g+24|0;d=g+8|0;h=g;v=g+4184|0;o=g+4160|0;f=g+40|0;if(vh(A)|0){Kd(A,0,99019,-12,0);Kd(A,1,99031,16,0);u=vE(i,f,v)|0;b=DE(A)|0;s=$F((vh(b)|0)<<2)|0;CE(o,g+4144|0,g+48|0,24,88);l=cd(b)|0;w=o+16|0;t=u+(a[f>>2]|0)|0;c=a[15712]|0;i=0;while(1){if(!l)break;if(!(m5[a[w>>2]&127](l,-1)|0)){a[h>>2]=i;P4(t,99933,h)|0;E=XB(b,u,1)|0;C=XB(A,u,1)|0;Td(C,99019,12,0)|0;r[(Ud(C,99019,0)|0)+8>>0]=1;f=IE(b,l,E,o)|0;FE(E,C);n=VE(C)|0;JE(A,C);a[s+(i<<2)>>2]=C;Cd(b,E)|0;if(0){a[d>>2]=i;a[d+4>>2]=f;a[d+8>>2]=n;f3(c,99043,d)|0}i=i+1|0}l=bd(b,l)|0}if(0){d=vh(A)|0;E=gh(A)|0;C=Vh(A)|0;a[B>>2]=d;a[B+4>>2]=E;a[B+8>>2]=i;a[B+12>>2]=C;f3(c,99073,B)|0}Bh(b)|0;_d(A,0,99019);_d(A,1,99031);ZE(o);f=eV(s,i<<2)|0;if((u|0)!=(v|0))L2(u)}else{f=0;i=0}a[e>>2]=i;k=g;return f|0}function DE(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;r[l>>0]=r[18596]|0;r[l+1>>0]=r[18597]|0;r[l+2>>0]=r[18598]|0;r[l+3>>0]=r[18599]|0;l=kh(99120,l,0)|0;RE(l,A);e=cd(A)|0;while(1){if(!e)break;if(!(a[(Ud(e,99031,0)|0)+12>>2]|0)){n=vd(l,Vh(e)|0,1)|0;Td(n,99031,16,1)|0;a[(a[n+16>>2]|0)+12>>2]=e;a[(Ud(e,99031,0)|0)+12>>2]=n}e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;f=a[(Ud(i,99031,0)|0)+12>>2]|0;e=Oo(A,i)|0;while(1){if(!e)break;n=a[(Ud(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,99031,0)|0)+12>>2]|0;do{if((n|0)!=(f|0))if(n>>>0>f>>>0){th(l,f,n,0,1)|0;break}else{th(l,n,f,0,1)|0;break}}while(0);e=_o(A,e)|0}i=bd(A,i)|0}k=t;return l|0}function ME(A,e){A=A|0;e=e|0;var i=0;A=(a[A+16>>2]|0)+8|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function FE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=cd(A)|0;while(1){if(!r)break;f=a[(a[r+16>>2]|0)+12>>2]|0;A:do{if((a[f>>2]&3|0)==1)kd(e,f,1)|0;else{i=cd(f)|0;while(1){if(!i)break A;kd(e,i,1)|0;i=bd(f,i)|0}}}while(0);r=bd(A,r)|0}return}function VE(A){A=A|0;return yE(A,a[A+60>>2]|0)|0}function JE(A,e){A=A|0;e=e|0;NE(A,e,0);return}function NE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,n=0;n=(i|0)==0;A=RB(A)|0;while(1){if(!A)break;if((r[(Ud(A,99019,0)|0)+8>>0]|0)==0?(a=XE(A,e,i)|0,a|0):0){if(n)f=(Z1(Vh(A)|0,108006,7)|0)==0;else f=1;NE(A,a,f&1)}A=HB(A)|0}return}function XE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=0;n=cd(A)|0;while(1){if(!n)break;f=vd(e,Vh(n)|0,0)|0;if(f){if(!r)r=XB(e,Vh(A)|0,1)|0;kd(r,f,1)|0}n=bd(A,n)|0}if((i|0)!=0&(r|0)==0)r=XB(e,Vh(A)|0,1)|0;if(r|0?(yE(r,A)|0,jo(A,r)|0,(Z1(Vh(r)|0,108006,7)|0)==0):0)a[(Td(r,98993,12,0)|0)+8>>2]=A;return r|0}function RE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+16|0;n=l;i=RB(e)|0;r=a[15712]|0;while(1){if(!i)break;A:do{if(!(Z1(Vh(i)|0,108006,7)|0)){f=vd(A,Vh(i)|0,1)|0;Td(f,99031,16,1)|0;a[(a[f+16>>2]|0)+12>>2]=i;e=cd(i)|0;while(1){if(!e)break A;if(a[(Ud(e,99031,0)|0)+12>>2]|0){b=Vh(e)|0;c=Vh(i)|0;t=Vh(a[(Ud(e,99031,0)|0)+12>>2]|0)|0;a[n>>2]=b;a[n+4>>2]=c;a[n+8>>2]=t;f3(r,99123,n)|0}a[(Ud(e,99031,0)|0)+12>>2]=f;e=bd(i,e)|0}}else RE(A,i)}while(0);i=HB(i)|0}k=l;return}function HE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;u=+b[A>>3];t=~~(u+(u>=0.0?.5:-.5));u=+b[A+8>>3];A=~~(u+(u>=0.0?.5:-.5));u=+b[e>>3];n=~~(u+(u>=0.0?.5:-.5));u=+b[e+8>>3];a=~~(u+(u>=0.0?.5:-.5));s=n-t|0;l=((s|0)>-1?s:0-s|0)<<1;s=s>>31|1;w=a-A|0;c=((w|0)>-1?w:0-w|0)<<1;w=w>>31|1;A:do{if((l|0)>(c|0)){f=0-l|0;r=c-(l>>1)|0;e=t;while(1){aJ(i,e,A);if((e|0)==(n|0))break A;t=(r|0)>-1;r=r+c+(t?f:0)|0;e=e+s|0;A=(t?w:0)+A|0}}else{f=0-c|0;r=t;e=l-(c>>1)|0;while(1){aJ(i,r,A);if((A|0)==(a|0))break A;c=(e|0)>-1;r=(c?s:0)+r|0;e=e+l+(c?f:0)|0;A=A+w|0}}}while(0);return}function pE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;b=w;c=w+4|0;do{if((A|0)<1)i=0;else{f=r+16|0;if((a[f>>2]|0)>>>0<4){i=UE(A,e,i,r)|0;break}s=$F(A<<5)|0;i=0;while(1){if((i|0)==(A|0))break;n=a[e+(i<<2)>>2]|0;xR(n);l=s+(i<<5)|0;n=(a[n+16>>2]|0)+16|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];a[l+16>>2]=a[n+16>>2];a[l+20>>2]=a[n+20>>2];a[l+24>>2]=a[n+24>>2];a[l+28>>2]=a[n+28>>2];i=i+1|0}if((a[f>>2]|0)==4){l=r+28|0;A:do{if(a[l>>2]&2|0){f=r+24|0;a[f>>2]=qF(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break A;n=po(a[e+(i<<2)>>2]|0,99190)|0;if(n|0?(a[b>>2]=c,n=(J3(n,137395,b)|0)>0,t=a[c>>2]|0,n&(t|0)>-1):0)a[(a[f>>2]|0)+(i<<2)>>2]=t;i=i+1|0}}}while(0);i=xE(A,s,r)|0;if(a[l>>2]&2)L2(a[r+24>>2]|0)}else i=0;L2(s)}}while(0);k=w;return i|0}function UE(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0.0,F=0.0,V=0.0;Y=k;k=k+144|0;m=Y+136|0;Q=Y+64|0;z=Y+48|0;E=Y+40|0;g=Y;v=Y+120|0;I=Y+104|0;L=Y+96|0;W=a[f+20>>2]|0;a[I>>2]=0;a[I+4>>2]=0;a[I+8>>2]=0;a[I+12>>2]=0;A:do{if((A|0)>=1){u=(W|0)==0;y=a[15712]|0;o=v+4|0;h=v+8|0;d=v+12|0;Z=I+4|0;C=I+8|0;G=I+12|0;w=0;n=0;while(1){if((w|0)==(A|0))break;B=a[e+(w<<2)>>2]|0;xR(B);if(!u?(r[W+w>>0]|0)!=0:0){s=a[B+16>>2]|0;D=+b[s+16>>3];l=~~(D+(D>=0.0?.5:-.5));a[v>>2]=l;D=+b[s+24>>3];t=~~(D+(D>=0.0?.5:-.5));a[o>>2]=t;D=+b[s+32>>3];c=~~(D+(D>=0.0?.5:-.5));a[h>>2]=c;D=+b[s+40>>3];s=~~(D+(D>=0.0?.5:-.5));a[d>>2]=s;if(!n){a[I>>2]=a[v>>2];a[I+4>>2]=a[v+4>>2];a[I+8>>2]=a[v+8>>2];a[I+12>>2]=a[v+12>>2]}else{a[I>>2]=a[((a[I>>2]|0)>(l|0)?v:I)>>2];a[Z>>2]=a[((a[Z>>2]|0)>(t|0)?v:I)+4>>2];a[C>>2]=a[((a[C>>2]|0)<(c|0)?v:I)+8>>2];a[G>>2]=a[((a[G>>2]|0)<(s|0)?v:I)+12>>2]}n=n+1|0}if(0>2){s=Vh(B)|0;B=a[B+16>>2]|0;V=+b[B+16>>3];F=+b[B+24>>3];M=+b[B+32>>3];D=+b[B+40>>3];a[g>>2]=s;b[g+8>>3]=V;b[g+16>>3]=F;b[g+24>>3]=M;b[g+32>>3]=D;f3(y,99257,g)|0}w=w+1|0}h=$F(A<<5)|0;n=0;while(1){if((n|0)==(A|0))break;g=h+(n<<5)|0;v=(a[(a[e+(n<<2)>>2]|0)+16>>2]|0)+16|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[g+16>>2]=a[v+16>>2];a[g+20>>2]=a[v+20>>2];a[g+24>>2]=a[v+24>>2];a[g+28>>2]=a[v+28>>2];n=n+1|0}u=f+8|0;o=SE(A,h,a[u>>2]|0)|0;if(0){a[E>>2]=o;f3(y,99285,E)|0}if((o|0)>=1){w=(W|0)!=0;if(w){l=((a[C>>2]|0)+(a[I>>2]|0)|0)/2|0;n=((a[G>>2]|0)+(a[Z>>2]|0)|0)/2|0}else{l=0;n=0}a[L+4>>2]=n;a[L>>2]=l;s=qF(A<<4)|0;c=f+16|0;n=0;while(1){if((n|0)>=(A|0))break;l=a[e+(n<<2)>>2]|0;t=s+(n<<4)|0;a[s+(n<<4)+12>>2]=n;if((a[c>>2]|0)==3){I=(a[l+16>>2]|0)+16|0;Z=a[u>>2]|0;G=Vh(l)|0;a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];a[Q+16>>2]=a[I+16>>2];a[Q+20>>2]=a[I+20>>2];a[Q+24>>2]=a[I+24>>2];a[Q+28>>2]=a[I+28>>2];a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];PE(Q,t,o,Z,m,G)}else{a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];OE(i,l,t,o,f,m)}n=n+1|0}t=qF(A<<2)|0;n=0;while(1){if((n|0)>=(A|0))break;a[t+(n<<2)>>2]=s+(n<<4);n=n+1|0}K4(t,A,4,89);c=$V()|0;n=qF(A<<3)|0;e:do{if(w){l=0;while(1){if((l|0)>=(A|0)){l=0;break}if(r[W+l>>0]|0){i=a[t+(l<<2)>>2]|0;f=n+(a[i+12>>2]<<3)|0;a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];_E(i,c,f,m)}l=l+1|0}while(1){if((l|0)>=(A|0))break e;if(!(r[W+l>>0]|0)){L=a[t+(l<<2)>>2]|0;qE(l,L,c,n+(a[L+12>>2]<<3)|0,o,a[u>>2]|0,h)}l=l+1|0}}else{l=0;while(1){if((l|0)>=(A|0))break e;W=a[t+(l<<2)>>2]|0;qE(l,W,c,n+(a[W+12>>2]<<3)|0,o,a[u>>2]|0,h);l=l+1|0}}}while(0);L2(t);l=0;while(1){if((l|0)>=(A|0))break;L2(a[s+(l<<4)+4>>2]|0);l=l+1|0}L2(s);iJ(c);L2(h);if(0>1){l=0;while(1){if((l|0)>=(A|0))break A;L=a[n+(l<<3)>>2]|0;W=a[n+(l<<3)+4>>2]|0;a[z>>2]=l;a[z+4>>2]=L;a[z+8>>2]=W;f3(y,99301,z)|0;l=l+1|0}}}else n=0}else n=0}while(0);k=Y;return n|0}function xE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0;G=k;k=k+16|0;n=G;I=qF(A<<3)|0;f=a[i+4>>2]|0;Z=i+28|0;r=(f|0)>0;do{if(!(a[Z>>2]&1))if(r){c=1;C=(A+-1+f|0)/(f|0)|0;break}else{f=~~+p(+ +z(+ +(A|0)));c=1;C=(A+-1+f|0)/(f|0)|0;break}else if(r){c=0;C=f;f=(A+-1+f|0)/(f|0)|0;break}else{f=~~+p(+ +z(+ +(A|0)));c=0;C=f;f=(A+-1+f|0)/(f|0)|0;break}}while(0);if(0){E=a[15712]|0;a[n>>2]=c|0?99196:99206;a[n+4>>2]=C;a[n+8>>2]=f;f3(E,99219,n)|0}v=qF((f<<3)+8|0)|0;g=qF((C<<3)+8|0)|0;E=qF(A*24|0)|0;t=i+8|0;r=0;n=E;while(1){if((r|0)>=(A|0))break;o=+b[e+(r<<5)+8>>3];u=+b[e+(r<<5)+24>>3];h=+((a[t>>2]|0)>>>0);b[n>>3]=+b[e+(r<<5)+16>>3]-+b[e+(r<<5)>>3]+h;b[n+8>>3]=u-o+h;a[n+16>>2]=r;r=r+1|0;n=n+24|0}B=qF(A<<2)|0;r=0;while(1){if((r|0)>=(A|0))break;a[B+(r<<2)>>2]=E+(r*24|0);r=r+1|0}r=a[i+24>>2]|0;if(!r){if(!(a[Z>>2]&64))K4(B,A,4,91)}else{a[47056]=r;K4(B,A,4,90)}d=(c|0)==0;r=0;n=0;t=0;while(1){if((t|0)>=(A|0)){l=0.0;r=0;break}c=a[B+(t<<2)>>2]|0;i=v+(n<<3)|0;h=+b[i>>3];o=+b[c>>3];b[i>>3]=h>o?h:o;i=g+(r<<3)|0;o=+b[i>>3];h=+b[c+8>>3];b[i>>3]=o>h?o:h;if(d){r=r+1|0;i=(r|0)==(C|0);r=i?0:r;n=n+(i&1)|0}else{n=n+1|0;i=(n|0)==(f|0);r=r+(i&1)|0;n=i?0:n}t=t+1|0}while(1){if((r|0)>(f|0)){l=0.0;r=C;break}i=v+(r<<3)|0;h=+b[i>>3];b[i>>3]=l;l=h+l;r=r+1|0}while(1){if((r|0)<=0)break;i=r+-1|0;h=+b[g+(i<<3)>>3];b[g+(r<<3)>>3]=l;l=h+l;r=i}b[g>>3]=l;r=0;n=0;i=0;while(1){if((i|0)>=(A|0))break;c=a[(a[B+(i<<2)>>2]|0)+16>>2]|0;l=+b[e+(c<<5)>>3];s=-l;o=+b[e+(c<<5)+8>>3];h=-o;w=+b[e+(c<<5)+16>>3];u=+b[e+(c<<5)+24>>3];t=a[Z>>2]|0;do{if(!(t&4))if(!(t&8)){l=(s-w+ +b[v+(n<<3)>>3]+ +b[v+(n+1<<3)>>3])*.5;break}else{l=l-w+ +b[v+(n+1<<3)>>3];break}else l=+b[v+(n<<3)>>3]}while(0);a[I+(c<<3)>>2]=~~l;do{if(!(t&16))if(!(t&32)){l=(h-u+ +b[g+(r<<3)>>3]+ +b[g+(r+1<<3)>>3])*.5;break}else{l=+b[g+(r+1<<3)>>3];break}else l=o-u+ +b[g+(r<<3)>>3]}while(0);a[I+(c<<3)+4>>2]=~~l;if(d){r=r+1|0;c=(r|0)==(C|0);r=c?0:r;n=n+(c&1)|0}else{n=n+1|0;c=(n|0)==(f|0);r=r+(c&1)|0;n=c?0:n}i=i+1|0}L2(E);L2(B);L2(v);L2(g);k=G;return I|0}function TE(A,e){A=A|0;e=e|0;var i=0;i=a[47056]|0;A=a[i+(a[(a[A>>2]|0)+16>>2]<<2)>>2]|0;e=a[i+(a[(a[e>>2]|0)+16>>2]<<2)>>2]|0;return((A|0)>(e|0)?1:((A|0)<(e|0))<<31>>31)|0}function jE(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A>>2]|0;e=a[e>>2]|0;r=+b[A>>3]+ +b[A+8>>3];i=+b[e>>3]+ +b[e+8>>3];return(ri)<<31>>31)|0}function SE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0,u=0.0,o=0,h=0,d=0,B=0;B=k;k=k+96|0;h=B+80|0;d=B+48|0;o=B+8|0;s=B;c=(A*100|0)+-1|0;r=+(i<<1|0);w=0.0;u=0.0;i=0;while(1){if((i|0)>=(A|0))break;t=+b[e+(i<<5)+16>>3]-+b[e+(i<<5)>>3]+r;l=+b[e+(i<<5)+24>>3]-+b[e+(i<<5)+8>>3]+r;w=w-t-l;u=u-l*t;i=i+1|0}l=+(c|0);t=w*w-l*4.0*u;if(!(t<0.0)){r=+z(+t);n=l*2.0;f=(r-w)/n;n=(-w-r)/n;i=~~f;i=(i|0)==0?1:i;if(0>2){s=a[15712]|0;L3(99444,27,1,s)|0;b[o>>3]=l;b[o+8>>3]=w;b[o+16>>3]=u;b[o+24>>3]=t;b[o+32>>3]=r;f3(s,99472,o)|0;a[d>>2]=i;b[d+8>>3]=f;a[d+16>>2]=~~n;b[d+24>>3]=n;f3(s,99498,d)|0;b[h>>3]=(f*l+w)*f+u;b[h+8>>3]=(n*l+w)*n+u;f3(s,99520,h)|0}}else{b[s>>3]=t;ao(1,99417,s)|0;i=-1}k=B;return i|0}function PE(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0.0;g=k;k=k+32|0;v=g+16|0;B=g;o=+b[A>>3];h=+b[A+8>>3];w=+b[A+16>>3];u=+b[A+24>>3];d=$V()|0;t=a[f>>2]|0;A=t-r|0;c=a[f+4>>2]|0;l=c-r|0;t=r-~~(o+(o>=0.0?.5:-.5))+t+~~(w+(w>=0.0?.5:-.5))|0;c=r-~~(h+(h>=0.0?.5:-.5))+c+~~(u+(u>=0.0?.5:-.5))|0;if((A|0)>-1)f=(A|0)/(i|0)|0;else f=((A+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)s=(l|0)/(i|0)|0;else s=((l+1|0)/(i|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(i|0)|0;else t=((t+1|0)/(i|0)|0)+-1|0;if((c|0)>-1)l=(c|0)/(i|0)|0;else l=((c+1|0)/(i|0)|0)+-1|0;while(1){if((f|0)>(t|0))break;else A=s;while(1){if((A|0)>(l|0))break;aJ(d,f,A);A=A+1|0}f=f+1|0}c=e+4|0;a[c>>2]=cJ(d)|0;t=tJ(d)|0;s=e+8|0;a[s>>2]=t;C=+(r<<1|0);E=+(i|0);l=~~+p(+((w+C-o)/E));A=~~+p(+((u+C-h)/E));a[e>>2]=A+l;A:do{if(0>2){f=a[15712]|0;a[B>>2]=n;a[B+4>>2]=t;a[B+8>>2]=l;a[B+12>>2]=A;f3(f,99376,B)|0;A=0;while(1){if((A|0)>=(a[s>>2]|0))break A;n=a[c>>2]|0;B=a[n+(A<<3)+4>>2]|0;a[v>>2]=a[n+(A<<3)>>2];a[v+4>>2]=B;f3(f,99403,v)|0;A=A+1|0}}}while(0);iJ(d);k=g;return}function OE(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0.0,U=0.0;R=k;k=k+128|0;z=R+112|0;y=R+104|0;X=R+16|0;N=R;D=R+64|0;M=R+56|0;G=R+40|0;Q=R+96|0;Z=R+88|0;E=R+24|0;C=R+80|0;I=R+72|0;V=a[f+8>>2]|0;Y=a[f+12>>2]|0;L=(A|0)==0?e:A;J=$V()|0;F=e+16|0;m=a[F>>2]|0;v=+b[m+16>>3];W=(a[n>>2]|0)-~~(v+(v>=0.0?.5:-.5))|0;v=+b[m+24>>3];m=(a[n+4>>2]|0)-~~(v+(v>=0.0?.5:-.5))|0;A:do{if((a[f+16>>2]|0)==1){E=$F((vh(e)|0)<<2)|0;A=0;n=cd(e)|0;while(1){if(!n)break;I=n+16|0;a[E+(A<<2)>>2]=a[(a[I>>2]|0)+112>>2];a[(a[I>>2]|0)+112>>2]=0;A=A+1|0;n=bd(e,n)|0}u=W-V|0;o=m-V|0;h=W+V|0;d=m+V|0;w=1;while(1){A=a[F>>2]|0;if((w|0)>(a[A+180>>2]|0))break;s=a[(a[A+184>>2]|0)+(w<<2)>>2]|0;l=a[s+16>>2]|0;v=+b[l+16>>3];A=~~(v+(v>=0.0?.5:-.5));v=+b[l+24>>3];n=~~(v+(v>=0.0?.5:-.5));v=+b[l+32>>3];f=~~(v+(v>=0.0?.5:-.5));v=+b[l+40>>3];l=~~(v+(v>=0.0?.5:-.5));e:do{if((f|0)>(A|0)&(l|0)>(n|0)){A=u+A|0;t=o+n|0;f=h+f|0;c=d+l|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(r|0)|0;else t=((t+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)l=(f|0)/(r|0)|0;else l=((f+1|0)/(r|0)|0)+-1|0;if((c|0)>-1)f=(c|0)/(r|0)|0;else f=((c+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=t;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}A=cd(s)|0;while(1){if(!A)break e;a[(a[A+16>>2]|0)+212>>2]=s;A=bd(s,A)|0}}}while(0);w=w+1|0}d=G+8|0;B=D+4|0;v=+(V|0);g=M+4|0;h=Q+4|0;o=Z+4|0;u=cd(e)|0;while(1){if(!u)break;QR(G,u);U=+b[G>>3];H=+b[d>>3];s=W+~~(U+(U>=0.0?.5:-.5))|0;a[D>>2]=s;w=m+~~(H+(H>=0.0?.5:-.5))|0;a[B>>2]=w;n=u+16|0;A=a[n>>2]|0;e:do{if(!(a[A+212>>2]|0)){a[M>>2]=~~((+b[A+96>>3]+ +b[A+88>>3])*.5+v);a[g>>2]=~~(+b[A+80>>3]*.5+v);a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];AC(Q,y,z);A=a[Q>>2]|0;f=a[h>>2]|0;a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];eC(Z,y,z);l=a[Z>>2]|0;t=a[o>>2]|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break e;a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y);A=_o(L,A)|0}}else{if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break e;if((a[(a[n>>2]|0)+212>>2]|0)!=(a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y)}A=_o(L,A)|0}}}while(0);u=bd(e,u)|0}A=0;n=cd(e)|0;while(1){if(!n)break;a[(a[n+16>>2]|0)+112>>2]=a[E+(A<<2)>>2];A=A+1|0;n=bd(e,n)|0}L2(E)}else{d=E+8|0;B=D+4|0;v=+(V|0);g=M+4|0;h=C+4|0;o=I+4|0;u=cd(e)|0;while(1){if(!u)break A;QR(E,u);H=+b[E>>3];U=+b[d>>3];s=W+~~(H+(H>=0.0?.5:-.5))|0;a[D>>2]=s;w=m+~~(U+(U>=0.0?.5:-.5))|0;a[B>>2]=w;A=a[u+16>>2]|0;a[M>>2]=~~((+b[A+96>>3]+ +b[A+88>>3])*.5+v);a[g>>2]=~~(+b[A+80>>3]*.5+v);a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];AC(C,y,z);A=a[C>>2]|0;f=a[h>>2]|0;a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];eC(I,y,z);l=a[I>>2]|0;t=a[o>>2]|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break;a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y);A=_o(L,A)|0}u=bd(e,u)|0}}}while(0);l=i+4|0;a[l>>2]=cJ(J)|0;t=i+8|0;a[t>>2]=tJ(J)|0;n=a[F>>2]|0;H=+(V<<1|0);U=+(r|0);A=~~+p(+((+b[n+32>>3]+H-+b[n+16>>3])/U));n=~~+p(+((+b[n+40>>3]+H-+b[n+24>>3])/U));a[i>>2]=n+A;A:do{if(0>2){f=a[15712]|0;i=Vh(e)|0;e=a[t>>2]|0;a[N>>2]=i;a[N+4>>2]=e;a[N+8>>2]=A;a[N+12>>2]=n;f3(f,99376,N)|0;A=0;while(1){if((A|0)>=(a[t>>2]|0))break A;e=a[l>>2]|0;N=a[e+(A<<3)+4>>2]|0;a[X>>2]=a[e+(A<<3)>>2];a[X+4>>2]=N;f3(f,99403,X)|0;A=A+1|0}}}while(0);iJ(J);k=R;return}function KE(A,e){A=A|0;e=e|0;return(a[a[e>>2]>>2]|0)-(a[a[A>>2]>>2]|0)|0}function _E(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+32|0;l=c+16|0;t=c;b=a[A+4>>2]|0;n=a[A+8>>2]|0;a[i>>2]=0-(a[r>>2]|0);f=i+4|0;a[f>>2]=0-(a[r+4>>2]|0);A=0;r=b;while(1){if((A|0)>=(n|0))break;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];rJ(e,l);A=A+1|0;r=r+8|0}if(0>1){b=a[15712]|0;e=a[i>>2]|0;i=a[f>>2]|0;a[t>>2]=n;a[t+4>>2]=e;a[t+8>>2]=i;f3(b,99350,t)|0}k=c;return}function qE(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0;c=a[e+12>>2]|0;s=+b[l+(c<<5)>>3];w=+b[l+(c<<5)+8>>3];u=+b[l+(c<<5)+16>>3];k=+b[l+(c<<5)+24>>3];if(!((A|0)==0?(h=+(n<<1|0),o=+(f|0),($E((~~+p(+((h-s+u)/o))|0)/-2|0,(~~+p(+((h-w+k)/o))|0)/-2|0,e,i,r,f,l)|0)!=0):0))t=3;A:do{if((t|0)==3?($E(0,0,e,i,r,f,l)|0)==0:0)if((~~+p(+(u-s))|0)<(~~+p(+(k-w))|0)){c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)<=(t|0)){n=t;break}if($E(t,A,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((n|0)>=(c|0))break;if($E(n,A,e,i,r,f,l)|0)break A;n=n+1|0}while(1){if((A|0)>=(c|0))break;if($E(n,A,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((n|0)<=(t|0))break;if($E(n,A,e,i,r,f,l)|0)break A;n=n+-1|0}while(1){if((A|0)<=0)break;if(!($E(n,A,e,i,r,f,l)|0))A=A+-1|0;else break A}c=c+1|0}}else{c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)>=(c|0)){n=t;break}if($E(A,t,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((n|0)>=(c|0))break;if($E(A,n,e,i,r,f,l)|0)break A;n=n+1|0}while(1){if((A|0)<=(t|0))break;if($E(A,n,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((n|0)<=(t|0))break;if($E(A,n,e,i,r,f,l)|0)break A;n=n+-1|0}while(1){if((A|0)>=0)break;if(!($E(A,n,e,i,r,f,l)|0))A=A+1|0;else break A}c=c+1|0}}}while(0);return}function $E(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0;v=k;k=k+48|0;d=v+32|0;B=v+8|0;h=v;s=i+4|0;u=a[i+8>>2]|0;o=h+4|0;t=a[s>>2]|0;c=0;while(1){if((c|0)>=(u|0)){w=5;break}E=t;g=a[E+4>>2]|0;a[h>>2]=(a[E>>2]|0)+A;a[o>>2]=g+e;a[d>>2]=a[h>>2];a[d+4>>2]=a[h+4>>2];if(nJ(r,d)|0){t=0;break}t=t+8|0;c=c+1|0}if((w|0)==5){i=a[i+12>>2]|0;I=+b[l+(i<<5)>>3];C=+b[l+(i<<5)+8>>3];a[f>>2]=(U(n,A)|0)-~~(I+(I>=0.0?.5:-.5));i=f+4|0;a[i>>2]=(U(n,e)|0)-~~(C+(C>=0.0?.5:-.5));t=a[s>>2]|0;c=0;while(1){if((c|0)>=(u|0))break;g=t;E=a[g+4>>2]|0;a[h>>2]=(a[g>>2]|0)+A;a[o>>2]=E+e;a[d>>2]=a[h>>2];a[d+4>>2]=a[h+4>>2];rJ(r,d);t=t+8|0;c=c+1|0}if(0>1){t=a[15712]|0;g=a[f>>2]|0;E=a[i>>2]|0;a[B>>2]=u;a[B+4>>2]=A;a[B+8>>2]=e;a[B+12>>2]=g;a[B+16>>2]=E;f3(t,99316,B)|0;t=1}else t=1}k=v;return t|0}function AC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[e+4>>2]|0)-(a[i+4>>2]|0)|0;a[A>>2]=(a[e>>2]|0)-(a[i>>2]|0);a[A+4>>2]=r;return}function eC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[i+4>>2]|0)+(a[e+4>>2]|0)|0;a[A>>2]=(a[i>>2]|0)+(a[e>>2]|0);a[A+4>>2]=r;return}function iC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+112|0;I=Q+96|0;C=Q+80|0;d=Q+48|0;B=Q+32|0;Z=Q+16|0;G=Q;w=Q+64|0;b[Z>>3]=+(a[e>>2]|0);v=Z+8|0;b[v>>3]=+(a[e+4>>2]|0);A:do{if((l|0)!=0?(g=A+16|0,s=a[(a[g>>2]|0)+8>>2]|0,(s|0)!=0):0){h=+(r|0);o=+(f|0);u=1.0/+(n|0);w=G+8|0;l=0;while(1){if((l|0)>=(a[s+4>>2]|0))break A;f=a[s>>2]|0;A=a[f+(l*48|0)>>2]|0;e=a[f+(l*48|0)+4>>2]|0;n=a[f+(l*48|0)+8>>2]|0;r=a[f+(l*48|0)+12>>2]|0;s=f+(l*48|0)+16|0;a[d>>2]=a[s>>2];a[d+4>>2]=a[s+4>>2];a[d+8>>2]=a[s+8>>2];a[d+12>>2]=a[s+12>>2];f=f+(l*48|0)+32|0;a[B>>2]=a[f>>2];a[B+4>>2]=a[f+4>>2];a[B+8>>2]=a[f+8>>2];a[B+12>>2]=a[f+12>>2];if(!n){a[Z>>2]=a[A>>2];a[Z+4>>2]=a[A+4>>2];a[Z+8>>2]=a[A+8>>2];a[Z+12>>2]=a[A+12>>2];s=A+16|0;a[G>>2]=a[s>>2];a[G+4>>2]=a[s+4>>2];a[G+8>>2]=a[s+8>>2];a[G+12>>2]=a[s+12>>2];s=2}else{a[Z>>2]=a[d>>2];a[Z+4>>2]=a[d+4>>2];a[Z+8>>2]=a[d+8>>2];a[Z+12>>2]=a[d+12>>2];a[G>>2]=a[A>>2];a[G+4>>2]=a[A+4>>2];a[G+8>>2]=a[A+8>>2];a[G+12>>2]=a[A+12>>2];s=1}t=+b[Z>>3]+h;b[Z>>3]=t;c=+b[v>>3]+o;b[v>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[Z>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[v>>3]=t;t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i);while(1){if((s|0)>=(e|0))break;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];n=A+(s<<4)|0;a[G>>2]=a[n>>2];a[G+4>>2]=a[n+4>>2];a[G+8>>2]=a[n+8>>2];a[G+12>>2]=a[n+12>>2];t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i);s=s+1|0}if(r|0){a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[G>>2]=a[B>>2];a[G+4>>2]=a[B+4>>2];a[G+8>>2]=a[B+8>>2];a[G+12>>2]=a[B+12>>2];t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i)}l=l+1|0;s=a[(a[g>>2]|0)+8>>2]|0}}else E=4}while(0);if((E|0)==4){QR(w,a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0);a[G>>2]=a[w>>2];a[G+4>>2]=a[w+4>>2];a[G+8>>2]=a[w+8>>2];a[G+12>>2]=a[w+12>>2];t=+b[G>>3]+ +(r|0);b[G>>3]=t;s=G+8|0;c=+b[s>>3]+ +(f|0);b[s>>3]=c;if(!(t>=0.0))t=(t+1.0)/+(n|0)+-1.0;else t=t/+(n|0);b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)/+(n|0)+-1.0;else t=c/+(n|0);b[s>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i)}k=Q;return}function rC(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((A|0)<1)A=0;else switch(a[i+16>>2]|0){case 4:{A=xE(A,e,i)|0;break A}case 3:{A=fC(A,e,i)|0;break A}default:{A=0;break A}}}while(0);return A|0}function fC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+80|0;n=w+64|0;f=w+24|0;s=w+8|0;r=w;l=w+56|0;c=i+8|0;b=SE(A,e,a[c>>2]|0)|0;if(0){t=a[15712]|0;a[r>>2]=b;f3(t,99285,r)|0}A:do{if((b|0)>=1){a[l+4>>2]=0;a[l>>2]=0;t=qF(A<<4)|0;i=0;while(1){if((i|0)>=(A|0))break;a[t+(i<<4)+12>>2]=i;u=e+(i<<5)|0;r=a[c>>2]|0;a[f>>2]=a[u>>2];a[f+4>>2]=a[u+4>>2];a[f+8>>2]=a[u+8>>2];a[f+12>>2]=a[u+12>>2];a[f+16>>2]=a[u+16>>2];a[f+20>>2]=a[u+20>>2];a[f+24>>2]=a[u+24>>2];a[f+28>>2]=a[u+28>>2];a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];PE(f,t+(i<<4)|0,b,r,n,195059);i=i+1|0}f=qF(A<<2)|0;i=0;while(1){if((i|0)>=(A|0))break;a[f+(i<<2)>>2]=t+(i<<4);i=i+1|0}K4(f,A,4,89);n=$V()|0;i=qF(A<<3)|0;r=0;while(1){if((r|0)>=(A|0))break;u=a[f+(r<<2)>>2]|0;qE(r,u,n,i+(a[u+12>>2]<<3)|0,b,a[c>>2]|0,e);r=r+1|0}L2(f);r=0;while(1){if((r|0)>=(A|0))break;L2(a[t+(r<<4)+4>>2]|0);r=r+1|0}L2(t);iJ(n);if(0>1){f=a[15712]|0;r=0;while(1){if((r|0)>=(A|0))break A;e=a[i+(r<<3)>>2]|0;u=a[i+(r<<3)+4>>2]|0;a[s>>2]=r;a[s+4>>2]=e;a[s+8>>2]=u;f3(f,99301,s)|0;r=r+1|0}}}else i=0}while(0);k=w;return i|0}function aC(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0,d=0,B=0,v=0;A:do{if((A|0)<1)f=0-A|0;else{B=(r|0)==0;h=(f|0)==0;t=0;while(1){if((t|0)==(A|0)){f=0;break A}d=a[e+(t<<2)>>2]|0;n=B?d:r;c=a[i+(t<<3)>>2]|0;s=a[i+(t<<3)+4>>2]|0;w=+(c|0);u=w*.013888888888888888;k=+(s|0);o=k*.013888888888888888;l=cd(d)|0;while(1){if(!l)break;f=a[l+16>>2]|0;v=a[f+132>>2]|0;b[v>>3]=+b[v>>3]+u;v=v+8|0;b[v>>3]=+b[v>>3]+o;v=f+16|0;b[v>>3]=+b[v>>3]+w;v=f+24|0;b[v>>3]=+b[v>>3]+k;f=a[f+108>>2]|0;if(f|0){v=f+56|0;b[v>>3]=+b[v>>3]+w;v=f+64|0;b[v>>3]=+b[v>>3]+k}e:do{if(!h){f=Oo(n,l)|0;while(1){if(!f)break e;nC(f,c,s);f=_o(n,f)|0}}}while(0);l=bd(d,l)|0}lC(d,c,s);t=t+1|0}}}while(0);return f|0}function nC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0.0,c=0,s=0.0,w=0,u=0;r=a[A+16>>2]|0;A=a[r+96>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+108>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+100>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+104>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}w=a[r+8>>2]|0;A:do{if(w|0){s=+(e|0);t=+(i|0);e=a[w+4>>2]|0;A=0;while(1){if((A|0)>=(e|0))break A;c=a[w>>2]|0;i=a[c+(A*48|0)>>2]|0;f=a[c+(A*48|0)+4>>2]|0;n=a[c+(A*48|0)+8>>2]|0;l=a[c+(A*48|0)+12>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;u=i+(r<<4)|0;b[u>>3]=+b[u>>3]+s;u=i+(r<<4)+8|0;b[u>>3]=+b[u>>3]+t;r=r+1|0}if(n|0){u=c+(A*48|0)+16|0;b[u>>3]=+b[u>>3]+s;u=c+(A*48|0)+24|0;b[u>>3]=+b[u>>3]+t}if(l|0){u=c+(A*48|0)+32|0;b[u>>3]=+b[u>>3]+s;u=c+(A*48|0)+40|0;b[u>>3]=+b[u>>3]+t}A=A+1|0}}}while(0);return}function lC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0,u=0.0,k=0;t=A+16|0;A=a[t>>2]|0;k=A+16|0;w=A+24|0;f=A+32|0;A=A+40|0;n=+(e|0);s=+b[f>>3]+n;l=+(i|0);u=+b[w>>3]+l;c=+b[A>>3]+l;b[k>>3]=+b[k>>3]+n;b[w>>3]=u;b[f>>3]=s;b[A>>3]=c;A=a[t>>2]|0;f=a[A+12>>2]|0;if((f|0)!=0?(r[f+81>>0]|0)!=0:0){k=f+56|0;b[k>>3]=+b[k>>3]+n;f=f+64|0;b[f>>3]=+b[f>>3]+l;f=1}else f=1;while(1){if((f|0)>(a[A+180>>2]|0))break;lC(a[(a[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=a[t>>2]|0}return}function tC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=pE(A,e,i,r)|0;if(!f)A=1;else{A=aC(A,e,f,i,a[r+12>>2]|0)|0;L2(f)}return A|0}function cC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+32|0;u=o;w=tC(A,e,i,r)|0;if(!w){xR(i);s=(a[i+16>>2]|0)+16|0;a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];a[u+16>>2]=a[s+16>>2];a[u+20>>2]=a[s+20>>2];a[u+24>>2]=a[s+24>>2];a[u+28>>2]=a[s+28>>2];f=u+8|0;n=u+16|0;l=u+24|0;r=0;while(1){if((r|0)>=(A|0))break;c=a[(a[e+(r<<2)>>2]|0)+16>>2]|0;t=a[c+180>>2]|0;c=c+184|0;i=1;while(1){if((i|0)>(t|0))break;d=(a[(a[(a[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16|0;b[u>>3]=+b[(+b[u>>3]<+b[d>>3]?u:d)>>3];d=a[(a[(a[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;h=d+16|0;b[f>>3]=+b[(+b[f>>3]<+b[d+24>>3]?u:h)+8>>3];b[n>>3]=+b[(+b[n>>3]>+b[d+32>>3]?u:h)+16>>3];b[l>>3]=+b[(+b[l>>3]>+b[d+40>>3]?u:h)+24>>3];i=i+1|0}r=r+1|0}a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[s+16>>2]=a[u+16>>2];a[s+20>>2]=a[u+20>>2];a[s+24>>2]=a[u+24>>2];a[s+28>>2]=a[u+28>>2]}k=o;return w|0}function bC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;n=k;k=k+16|0;f=n;if(!r)vA(99534,99540,1400,99547);i=sC(A,i,i)|0;a[r+8>>2]=i;if(0){l=a[15712]|0;a[f>>2]=i;f3(l,99559,f)|0}a[r+12>>2]=0;a[r+20>>2]=0;wC(A,e,r)|0;k=n;return a[r+16>>2]|0}function sC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;f=t+4|0;n=po(A,99689)|0;A:do{if(n){a[l>>2]=f;l=(J3(n,137395,l)|0)==1;A=a[f>>2]|0;if(l&(A|0)>-1)e=A;else{switch(r[n>>0]|0){case 84:case 116:break;default:break A}e=i}}}while(0);k=t;return e|0}function wC(A,e,i){A=A|0;e=e|0;i=i|0;return uC(po(A,99572)|0,e,i)|0}function uC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+64|0;d=g+40|0;h=g+32|0;v=g+24|0;B=g+16|0;s=g+8|0;t=g;n=g+48|0;l=g+44|0;if(!i)vA(99534,99540,1292,99581);u=i+28|0;a[u>>2]=0;o=i+16|0;a[o>>2]=e;w=i+4|0;a[w>>2]=0;a[i+24>>2]=0;A:do{if(A|0?(f=r[A>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(Z1(A,99599,5)|0)){a[o>>2]=4;s=kC(A+5|0,i)|0;a[t>>2]=l;s=(J3(s,137395,t)|0)>0;e=a[l>>2]|0;if(!(s&(e|0)>0))break A;a[w>>2]=e;break A}else{if(Z1(A,99605,6)|0)break A;a[o>>2]=5;a[s>>2]=n;s=(J3(A+5|0,99612,s)|0)>0;E=+c[n>>2];c[i>>2]=s&E>0.0?E:1.0;break A}case 99:{if(f<<24>>24!=99)break A;if(A1(A,108006)|0)break A;a[o>>2]=1;break A}case 103:{if(f<<24>>24!=103)break A;if(A1(A,111494)|0)break A;a[o>>2]=3;break A}case 110:{if(f<<24>>24!=110)break A;if(A1(A,111481)|0)break A;a[o>>2]=2;break A}default:break A}}while(0);if(0){e=a[15712]|0;L3(99615,11,1,e)|0;a[B>>2]=oC(a[o>>2]|0)|0;f3(e,99627,B)|0;if((a[o>>2]|0)==5){b[v>>3]=+c[i>>2];f3(e,99640,v)|0}a[h>>2]=a[w>>2];f3(e,99653,h)|0;a[d>>2]=a[u>>2];f3(e,99666,d)|0}k=g;return a[o>>2]|0}function kC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;A:do{if((r[A>>0]|0)==95){f=e+28|0;i=1;while(1){A=A+1|0;e:while(1){if(!i)break A;e=r[A>>0]|0;if(!(e<<24>>24))break A;switch(e<<24>>24|0){case 99:{n=10;break e}case 105:{n=9;break e}case 117:{n=11;break e}case 116:{n=12;break e}case 98:{e=32;break e}case 108:{n=7;break e}case 114:{n=8;break e}default:i=0}}if((n|0)==7){n=0;e=4}else if((n|0)==8){n=0;e=8}else if((n|0)==9){n=0;e=64}else if((n|0)==10){n=0;e=1}else if((n|0)==11){n=0;e=2}else if((n|0)==12){n=0;e=16}a[f>>2]=a[f>>2]|e}}}while(0);return A|0}function oC(A){A=A|0;switch(A|0){case 1:{A=108006;break}case 2:{A=111481;break}case 3:{A=111494;break}case 4:{A=99599;break}case 5:{A=99605;break}default:A=99679}return A|0}function hC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+96|0;b=w;s=w+80|0;do{if(A){if(!r){r=W2(1,20)|0;a[r+4>>2]=i>>>0>80?i:80}i=a[r>>2]|0;c=a[r+4>>2]|0;if(!i){l=100;i=A;t=W2(100,c)|0}else{l=i+100|0;t=y2(a[r+8>>2]|0,U(l,c)|0)|0;Y6(t+(U(c,i)|0)|0,0,c*100|0)|0;i=A}while(1){i=dC(b,i,e,s)|0;if(!i)break;A=a[r>>2]|0;f=l<<1;n=U(l,c)|0;if((A|0)==(l|0)){t=y2(t,U(f,c)|0)|0;Y6(t+n|0,0,n|0)|0;A=a[r>>2]|0}else f=l;A=t+(U(A,c)|0)|0;n=b;l=A+80|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0));a[r>>2]=(a[r>>2]|0)+1;l=f}if(a[s>>2]|0){s=r+16|0;a[s>>2]=a[s>>2]|1}i=a[r>>2]|0;if(!i){L2(t);L2(r);r=0;break}else{a[r+8>>2]=y2(t,U(i,c)|0)|0;break}}}while(0);k=w;return r|0}function dC(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+80|0;l=c+64|0;t=c;a[f>>2]=0;do{n=r[e>>0]|0;e=e+1|0}while((Q1(n)|0)!=0);A:do{switch(n|0){case 69:{a[A>>2]=0;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i>>2];break}case 101:{a[A>>2]=1;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i>>2];break}case 80:{a[A>>2]=2;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+4>>2];break}case 112:{a[A>>2]=3;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+4>>2];break}case 98:{a[A>>2]=4;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+8>>2];break}case 66:{a[A>>2]=5;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+8>>2];break}case 99:{e=gC(e,l)|0;if(!e){a[f>>2]=1;e=0;break A}n=EC(a[l>>2]|0,t)|0;a[l>>2]=n;if(!n){a[f>>2]=1;e=0;break A}if(!(a[t>>2]|0)){a[A>>2]=9;a[A+8>>2]=a[t+8>>2];if(!i)break A;a[A+72>>2]=a[i+24>>2];break A}else{a[A>>2]=14;f=A+8|0;n=t;l=f+64|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));if(!i)break A;a[A+72>>2]=a[i+40>>2];break A}}case 67:{e=gC(e,l)|0;if(!e){a[f>>2]=1;e=0;break A}n=EC(a[l>>2]|0,t)|0;a[l>>2]=n;if(!n){a[f>>2]=1;e=0;break A}if(!(a[t>>2]|0)){a[A>>2]=8;a[A+8>>2]=a[t+8>>2];if(!i)break A;a[A+72>>2]=a[i+20>>2];break A}else{a[A>>2]=13;f=A+8|0;n=t;l=f+64|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));if(!i)break A;a[A+72>>2]=a[i+40>>2];break A}}case 76:{a[A>>2]=6;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+12>>2];break}case 84:{a[A>>2]=7;e=CC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=CC(e,A+16|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=IC(e,A+24|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=CC(e,A+32|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+40|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+16>>2];break}case 70:{a[A>>2]=10;e=CC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+16|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+28>>2];break}case 83:{a[A>>2]=11;e=gC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+32>>2];break}case 73:{a[A>>2]=12;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+40|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+36>>2];break}case 116:{a[A>>2]=15;e=ZC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+44>>2];break}case 0:{e=0;break}default:{a[f>>2]=1;e=0}}}while(0);k=c;return e|0}function BC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;b[e>>3]=+A8(A,r);f=a[r>>2]|0;if(((f|0)!=(A|0)?(b[e+8>>3]=+A8(f,r),n=a[r>>2]|0,(f|0)!=(n|0)):0)?(b[e+16>>3]=+A8(n,r),i=a[r>>2]|0,(n|0)!=(i|0)):0){b[e+24>>3]=+A8(i,r);A=a[r>>2]|0;A=(i|0)==(A|0)?0:A}else A=0;k=l;return A|0}function vC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+4|0;n=c;A=GC(A,t)|0;do{if(A){i=a[t>>2]|0;l=W2(i,24)|0;a[e>>2]=i;r=l;f=0;while(1){if((f|0)>=(i|0)){i=9;break}b[r>>3]=+A8(A,n);i=a[n>>2]|0;if((A|0)==(i|0)){i=5;break}b[r+8>>3]=+A8(i,n);A=a[n>>2]|0;if((i|0)==(A|0)){i=7;break}b[r+16>>3]=0.0;r=r+24|0;i=a[e>>2]|0;f=f+1|0}if((i|0)==5){a[t>>2]=f;L2(l);A=0;break}else if((i|0)==7){a[t>>2]=f;L2(l);A=0;break}else if((i|0)==9){a[t>>2]=f;a[e+4>>2]=l;break}}else A=0}while(0);k=c;return A|0}function gC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;A=GC(A,t)|0;f=a[t>>2]|0;do{if(!((A|0)==0|(f|0)<1)){while(1){l=r[A>>0]|0;i=l<<24>>24==0;if(i^l<<24>>24!=45)A=A+1|0;else break}if(!i){l=W2(f+1|0,1)|0;n=l;i=f;while(1){A=A+1|0;if((i|0)<=0){i=9;break}i=r[A>>0]|0;if(!(i<<24>>24)){i=8;break}r[n>>0]=i;i=(a[t>>2]|0)+-1|0;a[t>>2]=i;n=n+1|0}if((i|0)==8){L2(l);A=0;break}else if((i|0)==9){r[n>>0]=0;a[e>>2]=l;break}}else A=0}else A=0}while(0);k=c;return A|0}function EC(A,e){A=A|0;e=e|0;var i=0;i=r[A>>0]|0;switch(i|0){case 91:{A=QC(A+1|0,e)|0;break}case 40:{A=mC(A+1|0,e)|0;break}case 47:case 35:{a[e>>2]=0;a[e+8>>2]=A;break}default:if(!(V1(i)|0))A=0;else{a[e>>2]=0;a[e+8>>2]=A}}return A|0}function CC(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0;f=k;k=k+16|0;i=f;r=+A8(A,i);i=a[i>>2]|0;if((i|0)==(A|0))i=0;else b[e>>3]=r;k=f;return i|0}function IC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;A=GC(A,r)|0;r=a[r>>2]|0;a[e>>2]=(r|0)<0?0:r|0?2:1;k=i;return A|0}function ZC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[e>>2]=m1(A,r,10)|0;e=a[r>>2]|0;k=i;return((e|0)==(A|0)?0:e)|0}function GC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[e>>2]=n3(A,r,10)|0;e=a[r>>2]|0;k=i;return((e|0)==(A|0)?0:e)|0}function QC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0;u=k;k=k+16|0;s=u;a[e>>2]=1;w=e+8|0;n=CC(A,w)|0;do{if(((((n|0)!=0?(l=CC(n,e+16|0)|0,(l|0)!=0):0)?(r=CC(l,e+24|0)|0,(r|0)!=0):0)?(f=CC(r,e+32|0)|0,(f|0)!=0):0)?(t=e+40|0,i=GC(f,t)|0,(i|0)!=0):0){e=a[t>>2]|0;f=W2(e,8)|0;r=0;while(1){if((r|0)>=(e|0)){i=13;break}i=CC(i,s)|0;if(!i){i=9;break}c[f+(r<<3)>>2]=+b[s>>3];i=gC(i,f+(r<<3)+4|0)|0;if(!i){i=12;break}r=r+1|0;e=a[t>>2]|0}if((i|0)==9){L2(f);A=0;break}else if((i|0)==12){L2(f);A=0;break}else if((i|0)==13){a[w+36>>2]=f;break}}else A=0}while(0);k=u;return A|0}function mC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;a[e>>2]=2;t=CC(A,e+8|0)|0;do{if(((((((t|0)!=0?(s=CC(t,e+16|0)|0,(s|0)!=0):0)?(r=CC(s,e+24|0)|0,(r|0)!=0):0)?(f=CC(r,e+32|0)|0,(f|0)!=0):0)?(n=CC(f,e+40|0)|0,(n|0)!=0):0)?(l=CC(n,e+48|0)|0,(l|0)!=0):0)?(u=e+56|0,i=GC(l,u)|0,(i|0)!=0):0){r=a[u>>2]|0;n=W2(r,8)|0;f=0;while(1){if((f|0)>=(r|0)){i=15;break}i=CC(i,w)|0;if(!i){i=11;break}c[n+(f<<3)>>2]=+b[w>>3];i=gC(i,n+(f<<3)+4|0)|0;if(!i){i=14;break}f=f+1|0;r=a[u>>2]|0}if((i|0)==11){L2(n);A=0;break}else if((i|0)==14){L2(n);A=0;break}else if((i|0)==15){a[e+60>>2]=n;break}}else A=0}while(0);k=o;return A|0}function LC(A,e,i){A=A|0;e=e|0;i=i|0;return hC(A,e,i,0)|0}function WC(A){A=A|0;return LC(A,0,0)|0}function yC(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=a[A+12>>2]|0;if(A|0){f=a[A+8>>2]|0;n=A+4|0;l=(r|0)==0;e=0;while(1){if((e|0)>=(a[A>>2]|0))break;i=f+(U(a[n>>2]|0,e)|0)|0;if(!l)F5[r&127](i);zC(i);e=e+1|0}L2(f);L2(A)}return}function zC(A){A=A|0;switch(a[A>>2]|0){case 3:case 2:{L2(a[A+8+4>>2]|0);break}case 5:case 4:{L2(a[A+8+4>>2]|0);break}case 6:{L2(a[A+8+4>>2]|0);break}case 7:{L2(a[A+40>>2]|0);break}case 9:case 8:{L2(a[A+8>>2]|0);break}case 14:case 13:{YC(A+8|0);break}case 10:{L2(a[A+16>>2]|0);break}case 11:{L2(a[A+8>>2]|0);break}case 12:{L2(a[A+40>>2]|0);break}default:{}}return}function YC(A){A=A|0;var e=0,i=0,r=0;switch(a[A>>2]|0){case 1:{r=A+40|0;e=A+8+36|0;A=0;while(1){i=a[e>>2]|0;if((A|0)>=(a[r>>2]|0))break;L2(a[i+(A<<3)+4>>2]|0);A=A+1|0}L2(i);break}case 2:{r=A+56|0;i=A+60|0;A=0;while(1){e=a[i>>2]|0;if((A|0)>=(a[r>>2]|0))break;L2(a[e+(A<<3)+4>>2]|0);A=A+1|0}L2(e);break}default:{}}return}function DC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;b=u+4|0;w=u;a[e>>2]=0;a[i>>2]=(Ih(Id(A)|0)|0)!=0&1;f=a[47184]|0;A:do{if(f|0?(l=Uo(A,f)|0,t=r[l>>0]|0,t<<24>>24):0){f=20388;while(1){n=a[f>>2]|0;if(!n)break A;if(t<<24>>24==(r[n>>0]|0)?(A1(l,n)|0)==0:0)break;f=f+12|0}a[e>>2]=a[f+4>>2];a[i>>2]=a[f+8>>2]}}while(0);f=a[47195]|0;if((f|0?(a[i>>2]|0)==1:0)?(c=Uo(A,f)|0,r[c>>0]|0):0)MC(c,i);f=a[47196]|0;if((f|0?(a[e>>2]|0)==1:0)?(s=Uo(A,f)|0,r[s>>0]|0):0)MC(s,e);if(r[(a[A+16>>2]|0)+153>>0]|0){c=A+-48|0;t=Id(a[((a[A>>2]&3|0)==2?A:c)+40>>2]|0)|0;s=a[A>>2]&3;DC(th(t,a[((s|0)==2?A:c)+40>>2]|0,a[((s|0)==3?A:A+48|0)+40>>2]|0,0,0)|0,b,w);a[i>>2]=a[b>>2]|a[i>>2];a[e>>2]=a[w>>2]|a[e>>2]}k=u;return}function MC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;s=u;b=u+4|0;c=0;i=0;A:while(1){a[e>>2]=i;n=(c|0)<4;l=(c|0)==3;t=(c|0)==0;while(1){if(!(n&(r[A>>0]|0)!=0))break A;a[b>>2]=0;f=FC(A,b)|0;i=a[b>>2]|0;if(!i){w=5;break A}A=(i|0)==8;if(!(l&A)){if(!(t&A))break;if(r[f>>0]|0)break}a[b>>2]=0;A=f}i=a[e>>2]|i<<(c<<3);c=c+1|0;A=f}if((w|0)==5){a[s>>2]=A;ao(0,99694,s)|0}k=u;return}function FC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;r=f;a[r>>2]=0;i=VC(A,20448,r)|0;if((i|0)==(A|0)){while(1){i=VC(A,20464,r)|0;if((A|0)==(i|0))break;else A=i}i=VC(A,20512,r)|0}A=a[r>>2]|0;if((A|0)!=0&(A&15|0)==0){A=A|1;a[r>>2]=A}a[e>>2]=a[e>>2]|A;k=f;return i|0}function VC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;while(1){r=a[e>>2]|0;if(!r)break;f=S2(r)|0;if(!(Z1(A,r,f)|0)){n=4;break}e=e+8|0}if((n|0)==4){a[i>>2]=a[i>>2]|a[e+4>>2];A=A+f|0}return A|0}function JC(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0;n=0;i=0.0;while(1){if((n|0)==4)break;f=e>>(n<<3)&15;r=1400;while(1){if(!(a[r+16>>2]|0))break;if((f|0)==(a[r>>2]|0)){l=6;break}r=r+24|0}if((l|0)==6){l=0;i=+b[r+8>>3]+i}n=n+1|0}return+(i*10.0*+oR(A,a[47188]|0,1.0,0.0))}function NC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0,w=0.0,u=0,o=0;o=k;k=k+96|0;s=o+80|0;u=o;c=f>4.0?f*.0875:.35;l=+b[i+8>>3];w=l*c;t=+b[i>>3];c=t*c;r=+b[e>>3];t=r+t;b[s>>3]=t;f=+b[e+8>>3];l=l+f;b[s+8>>3]=l;i=u+64|0;if(!(n&32)){a[i>>2]=a[s>>2];a[i+4>>2]=a[s+4>>2];a[i+8>>2]=a[s+8>>2];a[i+12>>2]=a[s+12>>2];a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];s=u+32|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];f=l;r=t}else{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];e=u+32|0;a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2]}b[u+16>>3]=r+w;b[u+24>>3]=f-c;b[u+48>>3]=r-w;b[u+56>>3]=f+c;do{if(!(n&64))if(!(n&128)){ar(A,u+16|0,3,n>>>4&1^1);break}else{ar(A,u+32|0,3,n>>>4&1^1);break}else ar(A,u,3,n>>>4&1^1)}while(0);k=o;return}function XC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0;I=k;k=k+160|0;w=I+144|0;C=I;h=r*4.0;Z=(n&32|0)==0;h=!(h1.0)|Z?0.0:(f+-1.0)*.05/r;g=+b[i+8>>3];d=-g;E=h*d;v=+b[i>>3];h=v*h;d=B*d;B=v*B;o=+b[e>>3];r=o+v;b[w>>3]=r;u=+b[e+8>>3];f=g+u;b[w+8>>3]=f;v=v*.5+o;g=g*.5+u;i=C+128|0;if(Z){a[i>>2]=a[w>>2];a[i+4>>2]=a[w+4>>2];a[i+8>>2]=a[w+8>>2];a[i+12>>2]=a[w+12>>2];a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];Z=C+64|0;a[Z>>2]=a[e>>2];a[Z+4>>2]=a[e+4>>2];a[Z+8>>2]=a[e+8>>2];a[Z+12>>2]=a[e+12>>2];l=u;t=o;c=u;s=o;f=u;r=o}else{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[C>>2]=a[e>>2];a[C+4>>2]=a[e+4>>2];a[C+8>>2]=a[e+8>>2];a[C+12>>2]=a[e+12>>2];Z=C+64|0;a[Z>>2]=a[w>>2];a[Z+4>>2]=a[w+4>>2];a[Z+8>>2]=a[w+8>>2];a[Z+12>>2]=a[w+12>>2];l=f+B;t=r+d;c=f-B;s=r-d}b[C+16>>3]=r-E;b[C+24>>3]=f-h;b[C+32>>3]=v-d;b[C+40>>3]=g-B;b[C+48>>3]=s;b[C+56>>3]=c;b[C+80>>3]=t;b[C+88>>3]=l;b[C+96>>3]=v+d;b[C+104>>3]=g+B;b[C+112>>3]=r+E;b[C+120>>3]=f+h;do{if(!(n&64))if(!(n&128)){ar(A,C,9,1);break}else{ar(A,C+48|0,6,1);break}else ar(A,C,6,1)}while(0);k=I;return}function RC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0;h=k;k=k+64|0;o=h;v=+b[i+8>>3];B=+b[i>>3];c=+b[e>>3];r=c+B;s=+b[e+8>>3];f=s+v;l=c+B*.2;t=s+v*.2;c=c+B*.6;s=s+v*.6;b[o>>3]=l-v;b[o+8>>3]=t+B;w=o+16|0;b[w>>3]=l+v;u=o+24|0;b[u>>3]=t-B;b[o+32>>3]=c+v;b[o+40>>3]=s-B;b[o+48>>3]=c-v;b[o+56>>3]=s+B;if(!(n&64)){if(n&128|0){i=2;n=1;d=3}}else{i=3;n=0;d=3}if((d|0)==3){b[o+(n<<4)>>3]=l;b[o+(n<<4)+8>>3]=t;b[o+(i<<4)>>3]=c;b[o+(i<<4)+8>>3]=s}ar(A,o,4,1);a[o>>2]=a[e>>2];a[o+4>>2]=a[e+4>>2];a[o+8>>2]=a[e+8>>2];a[o+12>>2]=a[e+12>>2];b[w>>3]=r;b[u>>3]=f;tr(A,o,2);k=h;return}function HC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0;u=k;k=k+64|0;w=u;t=+b[i+8>>3];d=t*-.4;l=+b[i>>3];h=l*.4;v=+b[e>>3];r=v+l*.8;B=+b[e+8>>3];f=B+t*.8;l=v+l;t=B+t;b[w>>3]=v+d;c=w+8|0;b[c>>3]=B+h;i=w+16|0;b[i>>3]=v-d;s=w+24|0;b[s>>3]=B-h;b[w+32>>3]=r-d;b[w+40>>3]=f-h;b[w+48>>3]=r+d;b[w+56>>3]=f+h;if(!(n&64)){if(n&128|0){a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];i=2;o=5}}else{a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];i=3;o=5}if((o|0)==5){b[w+(i<<4)>>3]=r;b[w+(i<<4)+8>>3]=f}ar(A,w,4,n>>>4&1^1);b[w>>3]=r;b[c>>3]=f;b[w+16>>3]=l;b[s>>3]=t;tr(A,w,2);k=u;return}function pC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0;t=k;k=k+80|0;l=t;w=+b[i+8>>3];c=w*-.3333333333333333;o=+b[i>>3];f=o*.3333333333333333;h=+b[e>>3];s=h+o*.5;u=+b[e+8>>3];r=u+w*.5;i=l+64|0;b[l+64>>3]=h+o;b[l+72>>3]=u+w;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];b[l+16>>3]=s+c;b[l+24>>3]=r+f;i=l+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[l+48>>3]=s-c;b[l+56>>3]=r-f;do{if(!(n&64)){i=n>>>4&1^1;if(!(n&128)){ar(A,l,4,i);break}else{ar(A,l,3,i);break}}else ar(A,i,3,n>>>4&1^1)}while(0);k=t;return}function UC(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var n=0,l=0,t=0.0,c=0.0,s=0.0;n=k;k=k+32|0;l=n;c=+b[i>>3];f=+b[i+8>>3];r=+z(+(f*f+c*c))*.5;s=+b[e>>3];c=c*.5;b[l>>3]=s+c-r;t=+b[e+8>>3];f=f*.5;b[l+8>>3]=t-r+f;b[l+16>>3]=s+r+c;b[l+24>>3]=t+r+f;fr(A,l,2,a>>>4&1^1);k=n;return}function xC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0;v=k;k=k+112|0;h=v+48|0;d=v+16|0;B=v;w=f>4.0?f*.125:.5;o=+b[e>>3];u=+b[i>>3];l=+b[e+8>>3];s=+b[i+8>>3];r=s*w;f=u*w;a[d>>2]=a[e>>2];a[d+4>>2]=a[e+4>>2];a[d+8>>2]=a[e+8>>2];a[d+12>>2]=a[e+12>>2];b[d+16>>3]=u+o;b[d+24>>3]=s+l;b[h>>3]=w*(u-s)+o;t=w*(s+u);c=t+l;b[h+8>>3]=c;b[h+48>>3]=t+o;l=w*(s-u)+l;b[h+56>>3]=l;u=r*-.95;s=u+f+o;w=f*1.3333333333333333;if(!(n&32)){r=r*1.3333333333333333;t=f*-.33333333333333326;l=l-r;f=c-r;r=s-w}else{r=r*1.3333333333333333;t=f*2.333333333333333;l=l+r;f=c+r;r=s+w}b[h+16>>3]=r;b[h+24>>3]=f;b[h+32>>3]=t-u+o;b[h+40>>3]=l;tr(A,d,2);if(!(n&64)){if(n&128|0)mR(B,h,3,.5,h,0)}else mR(B,h,3,.5,0,h);lr(A,h,4,0,0,0);k=v;return}function TC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0;n=k;k=k+32|0;l=n;r=+b[i>>3]+ +b[e>>3];f=+b[i+8>>3]+ +b[e+8>>3];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];b[l+16>>3]=r;b[l+24>>3]=f;tr(A,l,2);k=n;return}function jC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;w=k;k=k+80|0;t=w+72|0;c=w+8|0;s=w;l=+JC(A,n);l=l*l;b[s>>3]=l;a[f+12>>2]=n;n=f+32|0;A=r+3|0;f=e+(A<<4)|0;a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];if((r|0)>(i|0)?(u=+b[e+(r<<4)>>3]-+b[f>>3],o=+b[e+(r<<4)+8>>3]-+b[e+(A<<4)+8>>3],o*o+u*u>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];h=c+32|0;A=e+(r+1<<4)|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];f=c+16|0;i=e+(r+2<<4)|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[c>>2]=a[n>>2];a[c+4>>2]=a[n+4>>2];a[c+8>>2]=a[n+8>>2];a[c+12>>2]=a[n+12>>2];a[t>>2]=c;a[t+4>>2]=s;hX(t,92,c,1);a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];a[A>>2]=a[h>>2];a[A+4>>2]=a[h+4>>2];a[A+8>>2]=a[h+8>>2];a[A+12>>2]=a[h+12>>2];a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2];s=e+(r+3<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];k=w;return r|0}function SC(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[A>>2]|0;i=+b[e>>3]-+b[f>>3];r=+b[e+8>>3]-+b[f+8>>3];return r*r+i*i<=+b[a[A+4>>2]>>3]|0}function PC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0;u=k;k=k+80|0;c=u+72|0;s=u+8|0;w=u;t=+JC(A,n);t=t*t;b[w>>3]=t;a[f+8>>2]=n;f=f+16|0;A=e+(i<<4)|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];if(!((r|0)>(i|0)?(l=i+3|0,o=+b[A>>3]-+b[e+(l<<4)>>3],h=+b[e+(i<<4)+8>>3]-+b[e+(l<<4)+8>>3],h*h+o*o>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];n=s+16|0;i=e+(l+2<<4)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];d=s+32|0;A=e+(l+1<<4)|0;a[d>>2]=a[A>>2];a[d+4>>2]=a[A+4>>2];a[d+8>>2]=a[A+8>>2];a[d+12>>2]=a[A+12>>2];B=s+48|0;a[B>>2]=a[f>>2];a[B+4>>2]=a[f+4>>2];a[B+8>>2]=a[f+8>>2];a[B+12>>2]=a[f+12>>2];a[c>>2]=B;a[c+4>>2]=w;hX(c,92,s,0);w=e+(l<<4)|0;a[w>>2]=a[B>>2];a[w+4>>2]=a[B+4>>2];a[w+8>>2]=a[B+8>>2];a[w+12>>2]=a[B+12>>2];a[A>>2]=a[d>>2];a[A+4>>2]=a[d+4>>2];a[A+8>>2]=a[d+8>>2];a[A+12>>2]=a[d+12>>2];a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[r>>2]=a[s>>2];a[r+4>>2]=a[s+4>>2];a[r+8>>2]=a[s+8>>2];a[r+12>>2]=a[s+12>>2];k=u;return l|0}function OC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0.0,g=0,E=0,C=0;g=(n|0)!=0;s=(l|0)!=0;if(!((r|0)==(i|0)&(g&s))){if(s){t=+JC(A,l);c=+b[e+(r<<4)>>3];o=+b[e+(r<<4)+8>>3];s=r+3|0;d=e+(s<<4)|0;u=+b[d>>3];s=e+(s<<4)+8|0;k=+b[s>>3];v=c-u;B=o-k;v=+z(+(B*B+v*v))*.9;t=t>=v?v:t;if(o==k){w=(c>3]=c;b[e+(C<<4)+8>>3]=o;r=e+(r+2<<4)|0;b[d>>3]=w;b[s>>3]=t;a[r>>2]=a[d>>2];a[r+4>>2]=a[d+4>>2];a[r+8>>2]=a[d+8>>2];a[r+12>>2]=a[d+12>>2];a[f+12>>2]=l;b[f+32>>3]=u;b[f+40>>3]=k}if(g){w=+JC(A,n);s=e+(i<<4)|0;c=+b[s>>3];t=+b[e+(i<<4)+8>>3];C=i+3|0;k=+b[e+(C<<4)>>3];o=+b[e+(C<<4)+8>>3];v=c-k;B=t-o;v=+z(+(B*B+v*v))*.9;w=w>=v?v:w;if(t==o){u=(c>3]=u;b[e+(C<<4)+8>>3]=w;a[s>>2]=a[E>>2];a[s+4>>2]=a[E+4>>2];a[s+8>>2]=a[E+8>>2];a[s+12>>2]=a[E+12>>2];E=i+2|0;b[e+(E<<4)>>3]=k;b[e+(E<<4)+8>>3]=o;E=16}}else{d=e+(r<<4)|0;B=+b[d>>3];v=+b[e+(r<<4)+8>>3];s=r+3|0;g=e+(s<<4)|0;c=+b[g>>3];s=e+(s<<4)+8|0;t=+b[s>>3];w=+JC(A,n);h=+JC(A,l);u=B-c;o=v-t;u=+z(+(o*o+u*u));C=!(h+w>=u);u=u*.3333333333333333;w=C?w:u;u=C?h:u;if(v==t){C=B>3]=h;b[e+(C<<4)+8>>3]=k;a[d>>2]=a[E>>2];a[d+4>>2]=a[E+4>>2];a[d+8>>2]=a[E+8>>2];a[d+12>>2]=a[E+12>>2];E=e+(r+2<<4)|0;b[g>>3]=o;b[s>>3]=w;a[E>>2]=a[g>>2];a[E+4>>2]=a[g+4>>2];a[E+8>>2]=a[g+8>>2];a[E+12>>2]=a[g+12>>2];a[f+12>>2]=l;b[f+32>>3]=B;b[f+40>>3]=v;E=16}if((E|0)==16){a[f+8>>2]=n;b[f+16>>3]=c;b[f+24>>3]=t}return}function KC(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0;u=+b[e>>3];c=+b[i>>3]-u;k=+b[e+8>>3];s=+b[i+8>>3]-k;t=r*10.0/(+z(+(c*c+s*s))+.0001);c=t*((c>=0.0?.0001:-.0001)+c);t=((s>=0.0?.0001:-.0001)+s)*t;s=c*.5;w=t*.5;l=u-w;a=k-s;u=w+u;s=k+s;k=l+c;w=a+t;c=u+c;t=s+t;n=k>c?k:c;n=u>n?u:n;r=w>t?w:t;r=s>r?s:r;c=k>3]=l>3]=a>3]=l>n?l:n;b[A+24>>3]=a>r?a:r;return}function _C(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0;h=k;k=k+48|0;s=h+32|0;c=h+16|0;o=h;w=(a[A+16>>2]|0)+12|0;u=a[w>>2]|0;a[w>>2]=e;rr(A,a[(a[A>>2]|0)+336>>2]|0);wr(A,n);v=+b[r>>3]-+b[i>>3];e=r+8|0;B=+b[e>>3]-+b[i+8>>3];d=10.0/(+z(+(v*v+B*B))+.0001);b[r>>3]=d*((v>=0.0?.0001:-.0001)+v);b[e>>3]=((B>=0.0?.0001:-.0001)+B)*d;e=0;while(1){if((e|0)>=4)break;t=l>>(e<<3)&255;if(!t)break;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];qC(o,A,c,s,f,n,t);a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];e=e+1|0}a[w>>2]=u;k=h;return}function qC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+32|0;s=h+16|0;c=h;w=l&15;t=1400;while(1){u=a[t>>2]|0;if(!u)break;if((w|0)==(u|0)){o=4;break}t=t+24|0}if((o|0)==4){d=+b[t+8>>3]*f;b[r>>3]=d*+b[r>>3];u=r+8|0;b[u>>3]=d*+b[u>>3];o=a[t+16>>2]|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];N5[o&15](e,c,s,f,n,l);b[i>>3]=+b[r>>3]+ +b[i>>3];o=i+8|0;b[o>>3]=+b[u>>3]+ +b[o>>3]}a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=h;return}function $C(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t+8|0;f=t;e=po(A,99796)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else{e=po(A,99808)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else e=0}if((l|0)==5){e=LC(i,0,120)|0;if(!e){a[f>>2]=Vh(A)|0;ao(0,99815,f)|0;a[n>>2]=i;ao(3,99868,n)|0}}k=t;return e|0}function AI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+16|0;f=qF(304)|0;if(!f)ao(1,99876,n)|0;r=A+16|0;A=a[r>>2]|0;a[f>>2]=A;a[r>>2]=f;if(!A){a[f+144>>2]=3;a[f+148>>2]=0;b[f+152>>3]=1.0}else{e=f+16|0;i=A+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));e=f+56|0;i=A+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));a[f+144>>2]=a[A+144>>2];a[f+148>>2]=a[A+148>>2];b[f+152>>3]=+b[A+152>>3];a[f+136>>2]=a[A+136>>2];e=f+96|0;i=A+96|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0))}k=n;return f|0}function eI(A){A=A|0;var e=0;A=A+16|0;e=a[A>>2]|0;if(!e)vA(99902,99906,117,99913);else{L2(a[e+212>>2]|0);L2(a[e+208>>2]|0);L2(a[e+216>>2]|0);L2(a[e+220>>2]|0);L2(a[e+224>>2]|0);L2(a[e+228>>2]|0);L2(a[e+232>>2]|0);L2(a[e+236>>2]|0);L2(a[e+240>>2]|0);L2(a[e+244>>2]|0);L2(a[e+248>>2]|0);L2(a[e+252>>2]|0);L2(a[e+256>>2]|0);L2(a[e+272>>2]|0);L2(a[e+284>>2]|0);L2(a[e+280>>2]|0);a[A>>2]=a[e>>2];L2(e);return}}function iI(A,e,i,n,l,t,c){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;t=t|0;c=c|0;var b=0,s=0;s=a[A+16>>2]|0;b=a[A+152>>2]|0;if((e|0)!=0&(b&32768|0)!=0)a[s+192>>2]=e;if(((b&65536|0)!=0?(a[s+212>>2]=SF(t,c)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){a[s+208>>2]=SF(i,c)|0;A=1}else A=0;do{if(b&4194304){if(n|0?r[n>>0]|0:0){a[s+228>>2]=SF(n,c)|0;A=s+260|0;f[A>>1]=f[A>>1]|1;A=1;break}e=a[s+192>>2]|0;if(e){a[s+228>>2]=s3(e)|0;A=1}}}while(0);if((l|0)!=0&(b&8388608|0)!=0?(r[l>>0]|0)!=0:0){a[s+244>>2]=SF(l,c)|0;A=1}return A|0}function rI(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+80|0;t=c;l=c+8|0;n=a[(a[A>>2]|0)+168>>2]|0;f=a[(a[(a[n+16>>2]|0)+8>>2]|0)+92>>2]|0;fI(A,i);A=po(e,141060)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0){wo(i,A)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}r[A>>0]=0;A=a[i>>2]|0;a[f>>2]=A}else{if((n|0)!=(e|0)&(f|0)!=0){wo(i,f)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}a[f>>2]=A+1;r[A>>0]=95}switch(Md(e)|0){case 0:{f=(n|0)==(e|0)?111494:99927;A=(a[e>>2]|0)>>>4;break}case 1:{f=111481;A=(a[e>>2]|0)>>>4;break}case 2:{f=111450;A=(a[e>>2]|0)>>>4;break}default:{f=0;A=0}}wo(i,f)|0;a[t>>2]=A;P4(l,99933,t)|0;wo(i,l)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}r[A>>0]=0;A=a[i>>2]|0;a[f>>2]=A}k=c;return A|0}function fI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+144|0;l=t;n=t+8|0;i=a[A+160>>2]|0;if((i|0)>1?a[A+152>>2]&64|0:0){wo(e,a[(a[(a[A>>2]|0)+308>>2]|0)+(i<<2)>>2]|0)|0;f=e+4|0;i=a[f>>2]|0;if(i>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;i=a[f>>2]|0}a[f>>2]=i+1;r[i>>0]=95}f=a[A+196>>2]|0;i=a[A+200>>2]|0;if((f|0)>0|(i|0)>0){a[l>>2]=f;a[l+4>>2]=i;P4(n,99937,l)|0;wo(e,n)|0}k=t;return}function aI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0.0,B=0;B=k;k=k+48|0;o=B+16|0;f=B+32|0;h=B;d=+b[(a[A+16>>2]|0)+152>>3];u=nI(i,0,f)|0;if((u+-1|0)>>>0>=2){r=+b[e+16>>3];t=(r+ +b[e>>3])*.5;b[h>>3]=t;n=+b[e+24>>3];s=(n+ +b[e+8>>3])*.5;b[h+8>>3]=s;t=r-t;s=n-s;w=d>.5;if(w)wr(A,.5);l=a[f>>2]|0;n=0.0;f=a[l+8>>2]|0;while(1){i=a[f>>2]|0;if(!i)break;e=f+4|0;if(+c[e>>2]==0.0)r=n;else{er(A,i);if(!(a[f+12>>2]|0))r=6.283185307179586;else r=+c[e>>2]*6.283185307179586+n;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];e=mf(o,t,s,n,r)|0;lr(A,a[e>>2]|0,a[e+4>>2]|0,0,0,1);Zc(e)}n=r;f=f+12|0}if(w)wr(A,d);lI(l)}k=B;return u|0}function nI(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,b=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;u=d+8|0;w=d;h=qF(12)|0;l=s3(A)|0;A:do{if(!e){e=1;f=l;while(1){switch(r[f>>0]|0){case 0:break A;case 58:{e=e+1|0;break}default:{}}f=f+1|0}}}while(0);a[h+4>>2]=l;o=qF((e*12|0)+12|0)|0;a[h+8>>2]=o;s=1.0;n=0;e=0;f=l;while(1){f=t3(f,107984)|0;if(!f){f=20;break}t=+tI(f);if(!(t>=0.0)){f=17;break}b=t-s;if(b>0.0)if((a[5156]|0)!=0?!(b<1.0e-05&b>-1.0e-05):0){a[w>>2]=A;ao(0,99948,w)|0;a[5156]=0;t=s;e=3}else t=s;b=s-t;if(t>0.0)r[o+(n*12|0)+8>>0]=1;if(r[f>>0]|0)a[o+(n*12|0)>>2]=f;f=n+1|0;c[o+(n*12|0)+4>>2]=t;if(b<1.0e-05&b>-1.0e-05){n=f;f=30;break}else{s=b;n=f;f=0}}A:do{if((f|0)==17){if(!(a[5156]|0))e=1;else{a[u>>2]=A;ao(1,99983,u)|0;a[5156]=0;e=2}lI(h)}else if((f|0)==20)if(s>0.0){f=0;l=0;while(1){if((f|0)>=(n|0))break;u=l+(+c[o+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;l=u}if((l|0)<=0){f=o+((n+-1|0)*12|0)+4|0;c[f>>2]=s+ +c[f>>2];f=30;break}t=s/+(l|0);f=0;while(1){if((f|0)>=(n|0)){f=30;break A}l=o+(f*12|0)+4|0;if(+c[l>>2]==0.0)c[l>>2]=t;f=f+1|0}}else f=30}while(0);if((f|0)==30){while(1){f=n+-1|0;if((n|0)<=0)break;if(+c[o+(f*12|0)+4>>2]>0.0)break;else n=f}a[o+(n*12|0)>>2]=0;a[h>>2]=n;a[i>>2]=h}k=d;return e|0}function lI(A){A=A|0;L2(a[A+4>>2]|0);L2(a[A+8>>2]|0);L2(A);return}function tI(A){A=A|0;var e=0.0,i=0,f=0,n=0;f=k;k=k+16|0;i=f;A=G1(A,59)|0;if(!A)e=0.0;else{n=A+1|0;r[A>>0]=0;e=+A8(n,i);e=(e>=0.0?(a[i>>2]|0)!=(n|0):0)?e:-1.0}k=f;return+e}function cI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0.0,v=0;v=k;k=k+80|0;n=v+64|0;d=v;B=+b[(a[A+16>>2]|0)+152>>3];h=nI(i,0,n)|0;if((h+-1|0)>>>0>=2){if(!r){a[d>>2]=a[e>>2];a[d+4>>2]=a[e+4>>2];a[d+8>>2]=a[e+8>>2];a[d+12>>2]=a[e+12>>2];o=d+16|0;u=e+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+32|0;u=e+32|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+48|0;u=e+48|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2]}else{o=e+32|0;a[d>>2]=a[o>>2];a[d+4>>2]=a[o+4>>2];a[d+8>>2]=a[o+8>>2];a[d+12>>2]=a[o+12>>2];o=d+16|0;u=e+48|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+32|0;a[o>>2]=a[e>>2];a[o+4>>2]=a[e+4>>2];a[o+8>>2]=a[e+8>>2];a[o+12>>2]=a[e+12>>2];o=d+48|0;u=e+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2]}t=d+16|0;s=+b[t>>3];f=+b[d>>3];w=s-f;u=d+32|0;b[u>>3]=f;b[t>>3]=f;o=B>.5;if(o)wr(A,.5);n=a[n>>2]|0;l=d+48|0;r=a[n+8>>2]|0;while(1){i=a[r>>2]|0;if(!i)break;e=r+4|0;if(!(+c[e>>2]==0.0)){er(A,i);if(!(a[r+12>>2]|0))f=s;else f=w*+c[e>>2]+ +b[d>>3];b[u>>3]=f;b[t>>3]=f;ar(A,d,4,1);f=+b[t>>3];b[l>>3]=f;b[d>>3]=f}r=r+12|0}if(o)wr(A,B);lI(n)}k=v;return h|0}function bI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;n=f>>>16^2;a[i+264>>2]=n;l=i+268|0;a[l>>2]=n+2;n=i+272|0;L2(a[n>>2]|0);i=qF(a[l>>2]<<4)|0;a[n>>2]=i;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];n=i+16|0;e=e+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function sI(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,a=0,n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0;h=k;k=k+144|0;i=h+80|0;f=h+16|0;a=h;c=+b[e>>3];u=A+16|0;s=+b[u>>3];if(!(((((((((!(c>s)?(w=+b[A>>3],!(c>3],l=+b[A+24>>3],!(r>l)):0)?(t=+b[A+8>>3],!(r>3],!(c>s|c>3],!(c>l|c>3],!(c>s|c>3],!(c>l|c>3],!(c>s|c>3],!(w>l|w>3];if(!(r>+b[u>>3])){if(r<+b[A>>3]){i=A;o=16}}else{i=u;o=16}if((o|0)==16){o=0;b[i>>3]=r}r=+b[e+(f<<4)+8>>3];if(!(r>+b[a>>3])){if(r<+b[n>>3]){i=A;o=19}}else{i=u;o=19}if((o|0)==19){o=0;b[i+8>>3]=r}f=f+1|0}}}while(0);k=h;return}function wI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0,t=0;e=k;k=k+48|0;i=e+32|0;r=e+16|0;f=e;t=A+48|0;l=A+16|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];a[i>>2]=a[l>>2];a[i+4>>2]=a[l+4>>2];a[i+8>>2]=a[l+8>>2];a[i+12>>2]=a[l+12>>2];n=+zF(f,r,i);l=A+32|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];a[i>>2]=a[l>>2];a[i+4>>2]=a[l+4>>2];a[i+8>>2]=a[l+8>>2];a[i+12>>2]=a[l+12>>2];A=n<4.0&+zF(f,r,i)<4.0&1;k=e;return A|0}function uI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0;W=k;k=k+272|0;g=W+256|0;E=W+224|0;C=W+192|0;I=W+128|0;Z=W+64|0;G=W;Q=W+160|0;m=W+96|0;L=W+32|0;v=a[e+16>>2]|0;B=a[v+144>>2]|0;d=v+16|0;a[I>>2]=a[d>>2];a[I+4>>2]=a[d+4>>2];a[I+8>>2]=a[d+8>>2];a[I+12>>2]=a[d+12>>2];a[I+16>>2]=a[d+16>>2];a[I+20>>2]=a[d+20>>2];a[I+24>>2]=a[d+24>>2];a[I+28>>2]=a[d+28>>2];v=a[(a[v+8>>2]|0)+88>>2]|0;a[G>>2]=0;a[G+4>>2]=0;a[G+8>>2]=0;a[G+12>>2]=0;a[G+16>>2]=0;a[G+20>>2]=0;a[G+24>>2]=0;a[G+28>>2]=0;if(!v){a[A>>2]=a[I>>2];a[A+4>>2]=a[I+4>>2];a[A+8>>2]=a[I+8>>2];a[A+12>>2]=a[I+12>>2];a[A+16>>2]=a[I+16>>2];a[A+20>>2]=a[I+20>>2];a[A+24>>2]=a[I+24>>2];a[A+28>>2]=a[I+28>>2]}else{e=I+16|0;if(+b[I>>3]==+b[e>>3]?(i=I+8|0,f=I+24|0,+b[i>>3]==+b[f>>3]):0){b[i>>3]=1797693134862315708145274.0e284;b[I>>3]=1797693134862315708145274.0e284;b[f>>3]=-1797693134862315708145274.0e284;b[e>>3]=-1797693134862315708145274.0e284}t=E+8|0;c=E+16|0;s=E+24|0;w=Z+16|0;u=Z+24|0;o=B+144|0;h=C+16|0;d=v+12|0;e=0;f=a[v+8>>2]|0;i=0;n=0.0;l=0;while(1){if((l|0)>=(a[v>>2]|0))break;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[Z+16>>2]=a[G+16>>2];a[Z+20>>2]=a[G+20>>2];a[Z+24>>2]=a[G+24>>2];a[Z+28>>2]=a[G+28>>2];switch(a[f>>2]|0){case 1:case 0:{D=+b[f+8>>3];M=+b[f+24>>3];b[E>>3]=D-M;z=+b[f+16>>3];Y=+b[f+32>>3];b[t>>3]=z-Y;b[c>>3]=M+D;b[s>>3]=Y+z;y=f+80|0;a[y>>2]=a[E>>2];a[y+4>>2]=a[E+4>>2];a[y+8>>2]=a[E+8>>2];a[y+12>>2]=a[E+12>>2];y=f+96|0;a[y>>2]=a[c>>2];a[y+4>>2]=a[c+4>>2];a[y+8>>2]=a[c+8>>2];a[y+12>>2]=a[c+12>>2];a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];kI(I,g);a[g>>2]=a[c>>2];a[g+4>>2]=a[c+4>>2];a[g+8>>2]=a[c+8>>2];a[g+12>>2]=a[c+12>>2];kI(I,g);break}case 3:case 2:{y=f+80|0;F=f+8|0;oI(Q,a[F+4>>2]|0,a[F>>2]|0,I);a[y>>2]=a[Q>>2];a[y+4>>2]=a[Q+4>>2];a[y+8>>2]=a[Q+8>>2];a[y+12>>2]=a[Q+12>>2];a[y+16>>2]=a[Q+16>>2];a[y+20>>2]=a[Q+20>>2];a[y+24>>2]=a[Q+24>>2];a[y+28>>2]=a[Q+28>>2];break}case 5:case 4:{F=f+80|0;y=f+8|0;oI(m,a[y+4>>2]|0,a[y>>2]|0,I);a[F>>2]=a[m>>2];a[F+4>>2]=a[m+4>>2];a[F+8>>2]=a[m+8>>2];a[F+12>>2]=a[m+12>>2];a[F+16>>2]=a[m+16>>2];a[F+20>>2]=a[m+20>>2];a[F+24>>2]=a[m+24>>2];a[F+28>>2]=a[m+28>>2];break}case 6:{F=f+80|0;y=f+8|0;oI(L,a[y+4>>2]|0,a[y>>2]|0,I);a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];a[F+16>>2]=a[L+16>>2];a[F+20>>2]=a[L+20>>2];a[F+24>>2]=a[L+24>>2];a[F+28>>2]=a[L+28>>2];break}case 7:{F=f+112|0;a[F>>2]=qF(56)|0;y=s3(a[f+40>>2]|0)|0;V=a[F>>2]|0;a[V>>2]=y;r[V+48>>0]=r[100029+(a[f+24>>2]|0)>>0]|0;a[Z>>2]=i;b[w>>3]=n;a[u>>2]=a[u>>2]&-128|e&127;V=a[o>>2]|0;V=W5[a[V>>2]&63](V,Z,1)|0;y=a[F>>2]|0;a[y+4>>2]=V;AR(g,B,y);hI(C,+b[f+8>>3],+b[f+16>>3],a[F>>2]|0);F=f+80|0;a[F>>2]=a[C>>2];a[F+4>>2]=a[C+4>>2];a[F+8>>2]=a[C+8>>2];a[F+12>>2]=a[C+12>>2];a[F+16>>2]=a[C+16>>2];a[F+20>>2]=a[C+20>>2];a[F+24>>2]=a[C+24>>2];a[F+28>>2]=a[C+28>>2];a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];kI(I,g);a[g>>2]=a[h>>2];a[g+4>>2]=a[h+4>>2];a[g+8>>2]=a[h+8>>2];a[g+12>>2]=a[h+12>>2];kI(I,g);if(!(a[d>>2]|0))a[d>>2]=109;break}case 10:{i=a[f+16>>2]|0;n=+b[f+8>>3];break}case 15:{e=a[f+8>>2]|0;break}default:{}}f=f+120|0;l=l+1|0}a[A>>2]=a[I>>2];a[A+4>>2]=a[I+4>>2];a[A+8>>2]=a[I+8>>2];a[A+12>>2]=a[I+12>>2];a[A+16>>2]=a[I+16>>2];a[A+20>>2]=a[I+20>>2];a[A+24>>2]=a[I+24>>2];a[A+28>>2]=a[I+28>>2]}k=W;return}function kI(A,e){A=A|0;e=e|0;var i=0.0,r=0;i=+b[e>>3];r=A+16|0;if(i>+b[r>>3])b[r>>3]=i;if(i<+b[A>>3])b[A>>3]=i;i=+b[e+8>>3];e=A+24|0;if(i>+b[e>>3])b[e>>3]=i;e=A+8|0;if(i<+b[e>>3])b[e>>3]=i;return}function oI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+48|0;c=d+32|0;w=d;f=+b[e>>3];u=w+16|0;b[u>>3]=f;b[w>>3]=f;f=+b[e+8>>3];o=w+24|0;b[o>>3]=f;s=w+8|0;b[s>>3]=f;t=1;while(1){if((t|0)>=(i|0))break;l=e+24|0;f=+b[l>>3];if(!(f<+b[w>>3])){if(f>+b[u>>3]){n=u;h=5}}else{n=w;h=5}if((h|0)==5){h=0;b[n>>3]=f}f=+b[e+32>>3];if(!(f<+b[s>>3])){if(f>+b[o>>3]){e=u;h=8}}else{e=w;h=8}if((h|0)==8){h=0;b[e+8>>3]=f}t=t+1|0;e=l}a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];kI(r,c);a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];kI(r,c);a[A>>2]=a[w>>2];a[A+4>>2]=a[w+4>>2];a[A+8>>2]=a[w+8>>2];a[A+12>>2]=a[w+12>>2];a[A+16>>2]=a[w+16>>2];a[A+20>>2]=a[w+20>>2];a[A+24>>2]=a[w+24>>2];a[A+28>>2]=a[w+28>>2];k=d;return}function hI(A,e,i,f){A=A|0;e=+e;i=+i;f=f|0;var a=0.0,n=0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+16|0;l=w+8|0;t=w;a=+b[f+32>>3];c=+b[f+40>>3];switch(r[f+48>>0]|0){case 108:{b[l>>3]=e;a=a+e;n=t;s=5;break}case 110:{a=a*.5;b[l>>3]=e-a;a=a+e;n=t;s=5;break}case 114:{b[t>>3]=e;a=e-a;n=l;s=5;break}default:{e=0.0;a=0.0}}if((s|0)==5){b[n>>3]=a;e=+b[l>>3];a=+b[t>>3]}i=+b[f+16>>3]+i;b[A>>3]=e;b[A+8>>3]=i-c;b[A+16>>3]=a;b[A+24>>3]=i;k=w;return}function dI(A){A=A|0;if((a[A>>2]|0)==7)xF(a[A+112>>2]|0,1);return}function BI(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0.0;s=k;k=k+16|0;c=s;t=a[A+152>>2]|0;w=+b[A+432>>3];l=+b[A+352>>3]*.013888888888888888;f=l*w;b[A+488>>3]=f;n=+b[A+440>>3];l=l*n;b[A+496>>3]=l;b[A+520>>3]=w*.013888888888888888;i=A+528|0;b[i>>3]=n*.013888888888888888;if(t&4096|0)b[i>>3]=n*-.013888888888888888;i=(a[A+360>>2]|0)==0;w=+((a[A+448>>2]|0)>>>0);n=+((a[A+452>>2]|0)>>>0);b[A+368>>3]=(i?w:n)/f;b[A+376>>3]=(i?n:w)/l;cr(A,dR(e,Yo(e,0,101522,0)|0,195059)|0);a[A+160>>2]=0;vI(A,e);if(t&2|0)gI(A,e);i=cd(e)|0;while(1){if(!i)break;r[(a[i+16>>2]|0)+116>>0]=0;i=bd(e,i)|0}EI(A,c);while(1){if(!((CI(A)|0)<<24>>24))break;if((II(A)|0)>1)Vi(A);ZI(A);while(1){if(!((GI(A)|0)<<24>>24))break;QI(A,e);mI(A)}if((II(A)|0)>1)Ji(A);LI(A,c)}WI(A);k=s;return}function vI(A,e){A=A|0;e=e|0;var i=0;i=AI(A)|0;a[i+4>>2]=0;a[i+8>>2]=e;a[i+12>>2]=0;TM(A,a[(a[e+16>>2]|0)+12>>2]|0,e);Yi(A,e);return}function gI(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,n=0;er(A,134800);i=po(e,140977)|0;if(i|0?r[i>>0]|0:0)er(A,i);i=po(e,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);rF(A,e);n=cd(e)|0;while(1){if(!n)break;i=po(n,140823)|0;if(i|0?r[i>>0]|0:0)$i(A,i);i=po(n,137729)|0;if(i|0?r[i>>0]|0:0)er(A,i);i=po(n,101418)|0;do{if(i|0?r[i>>0]|0:0){if(!(G1(i,58)|0)){$i(A,i);break}f=s3(i)|0;i=f;while(1){i=t3(i,107984)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}$i(A,i);i=0}L2(f)}}while(0);i=po(n,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);a=Oo(e,n)|0;while(1){if(!a)break;i=po(a,140823)|0;do{if(i|0?r[i>>0]|0:0){if(!(G1(i,58)|0)){$i(A,i);break}f=s3(i)|0;i=f;while(1){i=t3(i,107984)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}$i(A,i);i=0}L2(f)}}while(0);i=po(a,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);a=_o(e,a)|0}n=bd(e,n)|0}return}function EI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;r=t+8|0;n=t;l=a[A>>2]|0;i=a[l+312>>2]|0;f=A+156|0;a[f>>2]=i;l=a[l+316>>2]|0;if(!l)if((i|0)>1?(a[A+152>>2]&64|0)==0:0){a[r>>2]=a[A+52>>2];ao(0,100567,r)|0;a[f>>2]=1;r=1;i=0}else{r=1;i=0}else{i=l+4|0;if((a[l>>2]|0)>1?(a[A+152>>2]&64|0)==0:0){a[n>>2]=a[A+52>>2];ao(0,100567,n)|0;a[l+8>>2]=(a[f>>2]|0)+1}r=a[i>>2]|0;i=l+8|0}a[A+160>>2]=r;a[e>>2]=i;k=t;return}function CI(A){A=A|0;return(a[A+160>>2]|0)<=(a[A+156>>2]|0)|0}function II(A){A=A|0;var e=0;e=a[(a[A>>2]|0)+316>>2]|0;return a[((e|0)==0?A+156|0:e)>>2]|0}function ZI(A){A=A|0;var e=0,i=0;i=A+172|0;e=a[i+4>>2]|0;A=A+196|0;a[A>>2]=a[i>>2];a[A+4>>2]=e;return}function GI(A){A=A|0;var e=0,i=0;i=a[A+196>>2]|0;if(((i|0)>-1?(i|0)<(a[A+164>>2]|0):0)?(e=a[A+200>>2]|0,(e|0)>-1):0)A=(e|0)<(a[A+168>>2]|0)&1;else A=0;return A|0}function QI(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+176|0;b=o;i=o+48|0;s=o+32|0;w=a[A+16>>2]|0;u=a[A+152>>2]|0;if((a[A+160>>2]|0)<=1?(a[A+196>>2]|0)<=0:0)l=0;else{co(s,128,i);n=w+212|0;l=a[n>>2]|0;fI(A,s);wo(s,l)|0;t=s+4|0;i=a[t>>2]|0;if(i>>>0>=(a[s+8>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}r[i>>0]=0;i=a[s>>2]|0;a[t>>2]=i;a[n>>2]=i}Qf(po(e,100032)|0);zI(A);Mi(A);$i(A,137314);er(A,134800);do{if(u&4259840|0){if((a[w+208>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;if(u&655360){t=u&131072;a[w+264>>2]=t>>>16^2;i=qF((t>>>12^32)+32|0)|0;n=A+288|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];n=i+16|0;h=A+304|0;a[n>>2]=a[h>>2];a[n+4>>2]=a[h+4>>2];a[n+8>>2]=a[h+8>>2];a[n+12>>2]=a[h+12>>2];if(!t){QF(i);n=4}else n=2}else{i=0;n=0}if(!(u&8192))zi(A,i,i,n)|0;a[w+272>>2]=i;a[w+268>>2]=n}}while(0);if(u&32768|0?(c=a[(a[e+16>>2]|0)+12>>2]|0,c|0):0)a[w+192>>2]=a[c>>2];n=(u&4|0)!=0;do{if(!n){i=w+208|0;if((a[i>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;h=A+256|0;a[b>>2]=a[h>>2];a[b+4>>2]=a[h+4>>2];a[b+8>>2]=a[h+8>>2];a[b+12>>2]=a[h+12>>2];a[b+16>>2]=a[h+16>>2];a[b+20>>2]=a[h+20>>2];a[b+24>>2]=a[h+24>>2];a[b+28>>2]=a[h+28>>2];bI(A,b);Pi(A,a[i>>2]|0,a[w+228>>2]|0,a[w+244>>2]|0,a[w+212>>2]|0)}}while(0);YI(A,e);i=a[(a[e+16>>2]|0)+12>>2]|0;if(i|0)jF(A,4,i);do{if(!n){if((a[w+208>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;Oi(A)}}while(0);DI(A,e,u);Fi(A);if(l|0){uo(s);a[w+212>>2]=l}k=o;return}function mI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+32|0;i=l+24|0;e=l+16|0;c=l+8|0;f=l;n=A+196|0;t=A+188|0;a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];yI(c,e,i);t=a[c+4>>2]|0;r=n;a[r>>2]=a[c>>2];a[r+4>>2]=t;if(!((GI(A)|0)<<24>>24)){r=A+180|0;if(!(a[A+184>>2]|0))a[A+200>>2]=a[A+176>>2];else a[n>>2]=a[A+172>>2];a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];yI(f,e,i);t=a[f+4>>2]|0;c=n;a[c>>2]=a[f>>2];a[c+4>>2]=t}k=l;return}function LI(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;if(!i){i=A+160|0;a[i>>2]=(a[i>>2]|0)+1}else{a[A+160>>2]=a[i>>2];a[e>>2]=i+4}return}function WI(A){A=A|0;Di(A);eI(A);return}function yI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[i+4>>2]|0)+(a[e+4>>2]|0)|0;a[A>>2]=(a[i>>2]|0)+(a[e>>2]|0);a[A+4>>2]=r;return}function zI(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0.0;v=k;k=k+48|0;w=v+32|0;f=v+24|0;t=v+8|0;c=v+16|0;s=v;d=A+196|0;h=a[d>>2]|0;d=a[d+4>>2]|0;o=f;a[o>>2]=h;a[o+4>>2]=d;o=A+164|0;l=a[o>>2]|0;o=a[o+4>>2]|0;B=t;a[B>>2]=l;a[B+4>>2]=o;B=A+360|0;if(!(a[B>>2]|0)){c=h;t=d}else{a[w>>2]=a[f>>2];a[w+4>>2]=a[f+4>>2];iF(c,w);d=c;c=a[d>>2]|0;d=a[d+4>>2]|0;o=f;a[o>>2]=c;a[o+4>>2]=d;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];iF(s,w);o=s;l=a[o>>2]|0;o=a[o+4>>2]|0;a[t>>2]=l;a[t+4>>2]=o;t=d}i=+b[A+320>>3];n=i*+(c|0)-+b[A+240>>3];b[A+288>>3]=n;r=+b[A+328>>3];u=r*+(t|0)-+b[A+248>>3];b[A+296>>3]=u;b[A+304>>3]=i+n;b[A+312>>3]=r+u;f=A+472|0;if(!(a[(a[A+12>>2]|0)+28>>2]|0)){d=A+456|0;a[f>>2]=a[d>>2];a[f+4>>2]=a[d+4>>2];a[f+8>>2]=a[d+8>>2];a[f+12>>2]=a[d+12>>2]}else{h=A+456|0;a[f>>2]=a[((a[f>>2]|0)<(a[h>>2]|0)?f:h)>>2];d=A+476|0;a[d>>2]=a[((a[d>>2]|0)<(a[A+460>>2]|0)?f:h)+4>>2];d=A+480|0;a[d>>2]=a[((a[d>>2]|0)>(a[A+464>>2]|0)?f:h)+8>>2];d=A+484|0;a[d>>2]=a[((a[d>>2]|0)>(a[A+468>>2]|0)?f:h)+12>>2]}s=a[A+152>>2]|0;e=+b[A+336>>3];if(!(s&128)){e=(+(c|0)-+(l|0)*.5)*i+e;b[A+256>>3]=e;n=(+(t|0)-+(o|0)*.5)*r+ +b[A+344>>3];u=n;i=i+e;n=n+r}else{i=+b[A+368>>3]*.5;r=e-i;b[A+256>>3]=r;n=+b[A+344>>3];g=+b[A+376>>3]*.5;u=n-g;i=i+e;n=g+n;e=r}b[A+264>>3]=u;b[A+272>>3]=i;b[A+280>>3]=n;if(!(a[B>>2]|0)){r=+b[A+352>>3];b[A+504>>3]=+b[A+384>>3]/r-e;if(!(s&4096)){i=+b[A+392>>3]/r;e=u}else{i=-n;e=+b[A+392>>3]/r}b[A+512>>3]=i-e}else{f=A+384|0;r=+b[A+352>>3];b[A+512>>3]=-n-+b[A+392>>3]/r;if(!(s&4096))i=+b[f>>3]/r;else{i=-i;e=+b[f>>3]/r}b[A+504>>3]=i-e}k=v;return}function YI(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+48|0;h=B;u=B+40|0;o=B+36|0;d=B+32|0;i=po(e,140977)|0;if(!i){t=1;i=137198}else{l=(r[i>>0]|0)==0;t=l&1;i=l?137198:i}n=a[A+152>>2]|0;l=(r[i>>0]|0)==116;if(!(n&256))if(l){s=(A1(i,137379)|0)==0;b=s?137198:i;s=s?1:t;w=8}else{b=i;s=t;w=8}else if(!(l?!(A1(i,137379)|0):0)){b=i;s=t;w=8}if((w|0)==8?!((s|0)!=0&(n&33554432|0)!=0):0)if(!((qM(b,u,o)|0)<<24>>24)){er(A,b);$i(A,137379);d=A+256|0;a[h>>2]=a[d>>2];a[h+4>>2]=a[d+4>>2];a[h+8>>2]=a[d+8>>2];a[h+12>>2]=a[d+12>>2];a[h+16>>2]=a[d+16>>2];a[h+20>>2]=a[d+20>>2];a[h+24>>2]=a[d+24>>2];a[h+28>>2]=a[d+28>>2];nr(A,h,1)}else{a[d>>2]=0;l=a[u>>2]|0;er(A,l);$i(A,137379);_M(e,d)|0;i=a[u+4>>2]|0;n=kR(e,a[47143]|0,0,0)|0;f=+c[o>>2];if(!i)ir(A,137314,n,f);else ir(A,i,n,f);d=(a[d>>2]|0)>>>1&1|2;o=A+256|0;a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];a[h+16>>2]=a[o+16>>2];a[h+20>>2]=a[o+20>>2];a[h+24>>2]=a[o+24>>2];a[h+28>>2]=a[o+28>>2];nr(A,h,d);L2(l)}i=a[(a[(a[e+16>>2]|0)+8>>2]|0)+88>>2]|0;if(i|0)AF(A,i);k=B;return}function DI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=(a[A>>2]|0)+28|0;a[n>>2]=(a[n>>2]|0)+1;n=(i&4|0)!=0;if(!n)MI(A,e,i);A:do{if(!(i&1)){if(i&16|0){pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A);Ri(A);r=cd(e)|0;while(1){if(!r)break;FI(A,r);r=bd(e,r)|0}Hi(A);break}if(!(i&8)){f=cd(e)|0;while(1){if(!f)break A;FI(A,f);r=Oo(e,f)|0;while(1){if(!r)break;FI(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0);VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}}Ri(A);r=cd(e)|0;while(1){if(!r)break;if((JI(e,r)|0)<<24>>24)FI(A,r);r=bd(e,r)|0}Hi(A);pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;if((NI(e,r)|0)<<24>>24)VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A)}else{Ri(A);r=cd(e)|0;while(1){if(!r)break;FI(A,r);r=bd(e,r)|0}Hi(A);pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A)}}while(0);if(n)MI(A,e,i);return}function MI(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;H=k;k=k+128|0;C=H+72|0;X=H+64|0;D=H+112|0;M=H;F=H+104|0;V=e+16|0;J=(i&4|0)!=0;N=A+16|0;I=M+32|0;Z=M+16|0;Q=M+8|0;m=M+24|0;L=M+48|0;W=M+40|0;y=M+56|0;z=(i&8|0)==0;Y=F+4|0;E=1;while(1){l=a[V>>2]|0;if((E|0)>(a[l+180>>2]|0))break;g=a[(a[l+184>>2]|0)+(E<<2)>>2]|0;if((OM(A,g)|0)<<24>>24){if(J)MI(A,g,i);KM(A,g);d=a[N>>2]|0;B=d+208|0;if(!(a[B>>2]|0))v=(f[d+260>>1]&1)!=0;else v=1;Qf(po(g,100032)|0);if(!(J|v^1)){h=(a[g+16>>2]|0)+16|0;a[C>>2]=a[h>>2];a[C+4>>2]=a[h+4>>2];a[C+8>>2]=a[h+8>>2];a[C+12>>2]=a[h+12>>2];a[C+16>>2]=a[h+16>>2];a[C+20>>2]=a[h+20>>2];a[C+24>>2]=a[h+24>>2];a[C+28>>2]=a[h+28>>2];bI(A,C);Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0)}a[D>>2]=0;l=_M(g,D)|0;if(!l)o=0;else{rr(A,l);o=a[D>>2]&1}h=g+16|0;l=n[(a[h>>2]|0)+112>>0]|0;do{if(!(l&1)){if(l&2|0){l=BR(g,0,106256)|0;t=BR(g,0,106264)|0;R=29;break}if(l&8|0){l=BR(g,0,106272)|0;t=BR(g,0,106280)|0;R=29;break}if(l&4|0){l=BR(g,0,106288)|0;t=BR(g,0,106296)|0;R=29;break}l=po(g,140823)|0;if(!l)t=0;else t=(r[l>>0]|0)==0?0:l;l=po(g,137729)|0;if(!l)l=t;else l=(r[l>>0]|0)==0?t:l;s=po(g,101418)|0;if(s)t=(r[s>>0]|0)==0?t:s;if(!((o|0)!=0&(t|0)!=0)){s=po(g,140977)|0;if(s|0?r[s>>0]|0:0){t=s;R=29;break}l=(l|0)==0?137314:l;w=(t|0)==0?134800:t;a[F>>2]=0;if(!o)t=0;else R=31}else R=29}else{l=BR(g,0,106240)|0;t=BR(g,0,106248)|0;R=29}}while(0);if((R|0)==29){a[F>>2]=0;l=(l|0)==0?137314:l;w=(t|0)==0?134800:t;R=31}if((R|0)==31){R=0;if(!((qM(w,F,C)|0)<<24>>24)){er(A,w);t=1}else{er(A,a[F>>2]|0);t=a[Y>>2]|0;s=kR(g,a[47143]|0,0,0)|0;u=+c[C>>2];if(!t)ir(A,137314,s,u);else ir(A,t,s,u);t=(a[D>>2]|0)>>>1&1|2}}s=a[47142]|0;if((s|0?(G=Uo(g,s)|0,G|0):0)?r[G>>0]|0:0)wr(A,+oR(g,a[47142]|0,1.0,0.0));o=a[D>>2]|0;do{if(o&4){s=kR(g,a[47141]|0,1,0)|0;if(s|t|0){w=a[h>>2]|0;p=w+16|0;a[M>>2]=a[p>>2];a[M+4>>2]=a[p+4>>2];a[M+8>>2]=a[p+8>>2];a[M+12>>2]=a[p+12>>2];w=w+32|0;a[I>>2]=a[w>>2];a[I+4>>2]=a[w+4>>2];a[I+8>>2]=a[w+8>>2];a[I+12>>2]=a[w+12>>2];b[Z>>3]=+b[I>>3];b[m>>3]=+b[Q>>3];b[L>>3]=+b[M>>3];b[y>>3]=+b[W>>3];if(!s)$i(A,137379);else $i(A,l);tN(A,M,4,o,t)}}else{if(!(o&64)){if(kR(g,a[47141]|0,1,0)|0){$i(A,l);p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,t);break}if(!t)break;$i(A,137379);p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,t);break}p=a[h>>2]|0;o=p+16|0;a[M>>2]=a[o>>2];a[M+4>>2]=a[o+4>>2];a[M+8>>2]=a[o+8>>2];a[M+12>>2]=a[o+12>>2];p=p+32|0;a[I>>2]=a[p>>2];a[I+4>>2]=a[p+4>>2];a[I+8>>2]=a[p+8>>2];a[I+12>>2]=a[p+12>>2];b[Z>>3]=+b[I>>3];b[m>>3]=+b[Q>>3];b[L>>3]=+b[M>>3];b[y>>3]=+b[W>>3];if(!(kR(g,a[47141]|0,1,0)|0))$i(A,137379);else $i(A,l);if((cI(A,M,w,0)|0)>1){a[X>>2]=Vh(g)|0;ao(3,100400,X)|0}p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,0)}}while(0);L2(a[F>>2]|0);l=a[(a[h>>2]|0)+12>>2]|0;if(l|0)jF(A,5,l);if(v){if(J){p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];bI(A,C);Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0)}Oi(A)}A:do{if(!z){t=cd(g)|0;while(1){if(!t)break A;FI(A,t);l=Oo(g,t)|0;while(1){if(!l)break;VI(A,l);l=_o(g,l)|0}t=bd(g,t)|0}}}while(0);$M(A,e);if(!J)MI(A,g,i)}E=E+1|0}k=H;return}function FI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+32|0;i=c;l=a[A>>2]|0;t=e+16|0;A:do{if(((a[(a[t>>2]|0)+8>>2]|0?(HM(A,Id(e)|0,e)|0)<<24>>24:0)?(b=A+256|0,a[i>>2]=a[b>>2],a[i+4>>2]=a[b+4>>2],a[i+8>>2]=a[b+8>>2],a[i+12>>2]=a[b+12>>2],a[i+16>>2]=a[b+16>>2],a[i+20>>2]=a[b+20>>2],a[i+24>>2]=a[b+24>>2],a[i+28>>2]=a[b+28>>2],(pM(e,i)|0)<<24>>24):0)?(f=(a[t>>2]|0)+116|0,n=a[l+28>>2]|0,(n|0)!=(r[f>>0]|0)):0){r[f>>0]=n;cr(A,Vh(e)|0);i=dR(e,a[47169]|0,195059)|0;if(r[i>>0]|0)cr(A,i);i=dR(e,a[47157]|0,195059)|0;e:do{if(r[i>>0]|0){HI(i)|0;i=188228;while(1){f=i;i=i+4|0;f=a[f>>2]|0;if(!f)break e;if((r[f>>0]|0)!=105)continue;if(!(A1(f,134335)|0))break A}}}while(0);UM(A,e);V5[a[(a[(a[(a[t>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](A,e);i=a[(a[t>>2]|0)+108>>2]|0;if(i|0?r[i+81>>0]|0:0)jF(A,10,i);xM(A)}}while(0);k=c;return}function VI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;n=l;i=A+256|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[n+16>>2]=a[i+16>>2];a[n+20>>2]=a[i+20>>2];a[n+24>>2]=a[i+24>>2];a[n+28>>2]=a[i+28>>2];A:do{if((XI(e,n)|0)<<24>>24?(f=e+-48|0,(RI(A,e)|0)<<24>>24):0){t=e+48|0;i=S2(Vh(a[((a[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;i=m2(i+3+(S2(Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)|0)|0;$1(i,Vh(a[((a[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;t=(Ih(Id(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)==0;n=i+(S2(i)|0)|0;if(t){r[n>>0]=r[141747]|0;r[n+1>>0]=r[141748]|0;r[n+2>>0]=r[141749]|0}else{r[n>>0]=r[137738]|0;r[n+1>>0]=r[137739]|0;r[n+2>>0]=r[137740]|0}u3(i,Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0;cr(A,i);L2(i);i=dR(e,a[47191]|0,195059)|0;if(r[i>>0]|0)cr(A,i);i=dR(e,a[47185]|0,195059)|0;e:do{if(!(r[i>>0]|0))i=0;else{HI(i)|0;i=188228;while(1){f=i;i=i+4|0;f=a[f>>2]|0;if(!f){i=188228;break e}if((r[f>>0]|0)!=105)continue;if(!(A1(f,134335)|0))break A}}}while(0);aM(A,e,i);nM(A,e,i);lM(A)}}while(0);k=l;return}function JI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0)){A=1;break}if(!(Dd(a[(a[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function NI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0)){A=1;break}if(!(Dd(a[(a[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function XI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+64|0;t=c+32|0;f=c;n=A+16|0;A=a[n>>2]|0;i=a[A+8>>2]|0;if((i|0)!=0?(i=i+8|0,a[f>>2]=a[i>>2],a[f+4>>2]=a[i+4>>2],a[f+8>>2]=a[i+8>>2],a[f+12>>2]=a[i+12>>2],a[f+16>>2]=a[i+16>>2],a[f+20>>2]=a[i+20>>2],a[f+24>>2]=a[i+24>>2],a[f+28>>2]=a[i+28>>2],a[t>>2]=a[e>>2],a[t+4>>2]=a[e+4>>2],a[t+8>>2]=a[e+8>>2],a[t+12>>2]=a[e+12>>2],a[t+16>>2]=a[e+16>>2],a[t+20>>2]=a[e+20>>2],a[t+24>>2]=a[e+24>>2],a[t+28>>2]=a[e+28>>2],(RM(f,t)|0)!=0):0)A=1;else l=3;do{if((l|0)==3){i=a[A+96>>2]|0;if(i){a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[t+16>>2]=a[e+16>>2];a[t+20>>2]=a[e+20>>2];a[t+24>>2]=a[e+24>>2];a[t+28>>2]=a[e+28>>2];if((GH(i,t)|0)<<24>>24){A=1;break}A=a[n>>2]|0}A=a[A+108>>2]|0;if((A|0?r[A+81>>0]|0:0)?(a[t>>2]=a[e>>2],a[t+4>>2]=a[e+4>>2],a[t+8>>2]=a[e+8>>2],a[t+12>>2]=a[e+12>>2],a[t+16>>2]=a[e+16>>2],a[t+20>>2]=a[e+20>>2],a[t+24>>2]=a[e+24>>2],a[t+28>>2]=a[e+28>>2],(GH(A,t)|0)<<24>>24):0){A=1;break}A=0}}while(0);k=c;return A|0}function RI(A,e){A=A|0;e=e|0;var i=0,f=0;A:do{if((a[A+156>>2]|0)>=2?(i=dR(e,a[47190]|0,195059)|0,(VM(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=0;while(1){if((i|0)>=2){i=0;break A}f=(i|0)==1;f=dR(a[((a[e>>2]&3|0)==((f?2:3)|0)?e:e+((f?-1:1)*48|0)|0)+40>>2]|0,a[47167]|0,195059)|0;if(!(r[f>>0]|0)){i=1;break A}if(!((VM(A,f)|0)<<24>>24))i=i+1|0;else{i=1;break}}}else i=0;else i=1}while(0);return i|0}function HI(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+192|0;u=o+24|0;w=o+16|0;s=o+8|0;b=o;n=o+48|0;c=o+32|0;if(r[100282]|0){co(188492,128,194826);r[100282]=0}co(c,128,o+56|0);a[n>>2]=A;l=c+4|0;t=c+8|0;e=0;i=0;A:while(1){f=e;e:while(1)switch(MM(n,c)|0){case 0:{e=21;break A}case 40:if(!(f<<24>>24)){f=1;continue e}else{e=7;break A}case 41:if(!(f<<24>>24)){e=9;break A}else{f=0;continue e}default:break e}if(!(f<<24>>24)){if((i|0)==63){e=12;break}e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}a[47124]=e+1;r[e>>0]=0;a[188228+(i<<2)>>2]=a[47124];i=i+1|0}e=a[l>>2]|0;if(e>>>0>=(a[t>>2]|0)>>>0){bo(c,1)|0;e=a[l>>2]|0}r[e>>0]=0;e=a[c>>2]|0;a[l>>2]=e;wo(188492,e)|0;e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}a[47124]=e+1;r[e>>0]=0;e=f}do{if((e|0)==7){a[b>>2]=A;ao(1,100283,b)|0;a[47057]=0;uo(c)}else if((e|0)==9){a[s>>2]=A;ao(1,100317,s)|0;a[47057]=0;uo(c)}else if((e|0)==12){a[w>>2]=A;ao(0,100345,w)|0;a[47120]=0;uo(c)}else if((e|0)==21){if(f<<24>>24){a[u>>2]=A;ao(1,100368,u)|0;a[47057]=0;uo(c);break}a[188228+(i<<2)>>2]=0;uo(c);e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}r[e>>0]=0;a[47124]=a[47123]}}while(0);k=o;return 188228}function pI(A){A=A|0;var e=0;e=k;k=k+A|0;k=k+15&-16;return e|0}function UI(){return k|0}function xI(A){A=A|0;k=A}function TI(A,e){A=A|0;e=e|0;k=A;o=e}function jI(A,e){A=A|0;e=e|0;if(!d){d=A;B=e}}function SI(A){A=A|0;L=A}function PI(){return L|0}function OI(A){A=A|0;a[46654]=A;return 0}function KI(){return a[46654]|0}function _I(A,e){A=A|0;e=e|0;UA(0,A|0,e|0)|0;return}function qI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t+4|0;n=t;a[f>>2]=0;l=wE()|0;dE(l,10976);dE(l,17220);dE(l,17440);fo(1)|0;ro(18)|0;while(1){A=_h(A)|0;r=a[f>>2]|0;if(!A)break;if(r|0){A=195059;continue}uE(l,A,i)|0;hE(l,A,e,f,n)|0;A=195059}k=t;return r|0}function $I(A){A=A|0;var e=0,i=0,r=0,n=0;n=k;k=k+16|0;e=n+4|0;i=n;r=a[(a[A+16>>2]|0)+8>>2]|0;A=A+64|0;switch(a[A>>2]|0){case 0:{qV(r);break}case 1:{if(f[(a[r+16>>2]|0)+136>>1]&1)cH(r);break}case 4:case 5:case 6:{OV(r,i,e);iZ(r,a[i>>2]|0,a[e>>2]|0,a[A>>2]|0);break}default:{}}k=n;return}function AZ(A){A=A|0;var e=0,i=0,r=0,f=0;i=a[(a[A+16>>2]|0)+8>>2]|0;if(!(a[46655]|0)){a[46655]=a[4678];a[46656]=57;a[46657]=19}r=i+64|0;f=(a[r>>2]|0)+8|0;e=a[f>>2]|0;a[f>>2]=186620;switch(a[A+64>>2]|0){case 2:{XV(A,i,A,0);break}case 3:{XV(A,i,A,1);break}case 1:case 0:{if(!(a[A+152>>2]&134217728))rv(i,A)|0;break}case 6:case 5:case 4:{eZ(i);if(!(a[A+152>>2]&134217728))rv(i,A)|0;break}default:{}}a[(a[r>>2]|0)+8>>2]=e;return}function eZ(A){A=A|0;var e=0,i=0;e=a[46659]|0;if((e|0)!=(a[46658]|0)){i=a[a[46690]>>2]|0;if(!i){i=oH(A,0,99808,195059)|0;a[a[46690]>>2]=i;e=a[46659]|0}if(e>>>0>=(a[46660]|0)>>>0){bo(186632,1)|0;e=a[46659]|0}r[e>>0]=0;e=a[46658]|0;a[46659]=e;Vo(A,i,e)|0}if(a[(a[A+16>>2]|0)+12>>2]|0){i=a[(a[46690]|0)+4>>2]|0;e=a[46675]|0;if(e>>>0>=(a[46676]|0)>>>0){bo(186696,1)|0;e=a[46675]|0}r[e>>0]=0;e=a[46674]|0;a[46675]=e;Vo(A,i,e)|0}To(A,66753,a[(a[46690]|0)+8236>>2]|0,195059)|0;e=0;while(1){if((e|0)==8)break;uo(186632+(e<<4)|0);e=e+1|0}L2(a[46690]|0);b[1]=1.0;b[5]=1.0;a[46691]=0;a[46695]=0;return}function iZ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0;t=m2(8240)|0;a[46690]=t;A:do{switch(n|0){case 6:{f[t+8232>>1]=14;n=66769;break}case 5:{f[t+8232>>1]=12;n=66773;break}default:{n=po(A,66753)|0;if((n|0?r[n>>0]|0:0)?(l=rZ(n)|0,(l&65535)>10):0){t=a[46690]|0;f[t+8232>>1]=l;break A}n=rZ(66765)|0;t=a[46690]|0;f[t+8232>>1]=n;n=66765}}}while(0);a[t+8236>>2]=n;c=A+16|0;n=a[c>>2]|0;if(!(a[n+180>>2]|0))l=0;else{l=oH(A,0,99808,195059)|0;t=a[46690]|0;n=a[c>>2]|0}a[t>>2]=l;if(!(r[n+113>>0]&8))n=0;else n=oH(A,0,66777,195059)|0;a[(a[46690]|0)+4>>2]=n;t=oH(A,1,99808,195059)|0;a[(a[46690]|0)+8>>2]=t;t=oH(A,1,66777,195059)|0;a[(a[46690]|0)+12>>2]=t;t=oH(A,2,99808,195059)|0;n=a[46690]|0;a[n+16>>2]=t;if(!i)l=0;else{l=oH(A,2,66785,195059)|0;n=a[46690]|0}a[n+20>>2]=l;if(!e)l=0;else{l=oH(A,2,66793,195059)|0;n=a[46690]|0}a[n+24>>2]=l;l=r[(a[c>>2]|0)+113>>0]|0;if(!(l&33))t=0;else{t=oH(A,2,66777,195059)|0;n=a[46690]|0;l=r[(a[c>>2]|0)+113>>0]|0}a[n+28>>2]=t;if(!(l&2))t=0;else{t=oH(A,2,66801,195059)|0;n=a[46690]|0;l=r[(a[c>>2]|0)+113>>0]|0}a[n+32>>2]=t;if(!(l&4))l=0;else{l=oH(A,2,66810,195059)|0;n=a[46690]|0}a[n+36>>2]=l;n=0;while(1){if((n|0)==8)break;co(186632+(n<<4)|0,1024,(a[46690]|0)+40+(n<<10)|0);n=n+1|0}return}function rZ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+1040|0;l=c;n=c+8|0;f=0;e=A;A:while(1){do{i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A}while(((i<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){t=7;break}r[n+f>>0]=i;f=f+1|0}if((t|0)==7){a[l>>2]=A;ao(0,66819,l)|0}r[n+f>>0]=0;t=(q3(n)|0)&65535;k=c;return t|0}function fZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;e=a[a[46690]>>2]|0;A=a[46663]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0;if(a[(a[i+16>>2]|0)+12>>2]|0){e=a[(a[46690]|0)+4>>2]|0;A=a[46679]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}b[2]=1.0;b[6]=1.0;a[46692]=0;a[46696]=0;return}function aZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;A=a[46663]|0;if((a[46662]|0)!=(A|0)){e=a[(a[46690]|0)+8>>2]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0}A=a[46679]|0;if((a[46678]|0)!=(A|0)){e=a[(a[46690]|0)+12>>2]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}b[9]=1.0;b[11]=1.0;a[46699]=0;a[46701]=0;return}function nZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;A=a[46663]|0;if((a[46662]|0)!=(A|0)){e=a[(a[46690]|0)+16>>2]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0}A=a[46667]|0;if((a[46666]|0)!=(A|0)){e=a[(a[46690]|0)+24>>2]|0;if(A>>>0>=(a[46668]|0)>>>0){bo(186664,1)|0;A=a[46667]|0}r[A>>0]=0;A=a[46666]|0;a[46667]=A;Vo(i,e,A)|0}A=a[46671]|0;if((a[46670]|0)!=(A|0)){e=a[(a[46690]|0)+20>>2]|0;if(A>>>0>=(a[46672]|0)>>>0){bo(186680,1)|0;A=a[46671]|0}r[A>>0]=0;A=a[46670]|0;a[46671]=A;Vo(i,e,A)|0}A=a[46679]|0;if((a[46678]|0)!=(A|0)){e=a[(a[46690]|0)+28>>2]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}A=a[46683]|0;if((a[46682]|0)!=(A|0)){e=a[(a[46690]|0)+36>>2]|0;if(A>>>0>=(a[46684]|0)>>>0){bo(186728,1)|0;A=a[46683]|0}r[A>>0]=0;A=a[46682]|0;a[46683]=A;Vo(i,e,A)|0}A=a[46687]|0;if((a[46686]|0)!=(A|0)){e=a[(a[46690]|0)+32>>2]|0;if(A>>>0>=(a[46688]|0)>>>0){bo(186744,1)|0;A=a[46687]|0}r[A>>0]=0;A=a[46686]|0;a[46687]=A;Vo(i,e,A)|0}b[10]=1.0;b[12]=1.0;b[3]=1.0;b[4]=1.0;b[7]=1.0;b[8]=1.0;a[46700]=0;a[46702]=0;a[46693]=0;a[46694]=0;a[46697]=0;a[46698]=0;return}function lZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1056|0;t=v+16|0;B=v+8|0;d=v;c=v+32|0;u=a[(a[A+16>>2]|0)+12>>2]|0;o=a[11416+(u<<2)>>2]|0;wo(o,66916)|0;n=i+4|0;hZ(c,+b[(a[n>>2]|0)+16>>3]);wo(o,c)|0;vZ(A,195059,a[a[n>>2]>>2]|0);uZ(A);h=r[i+48>>0]|0;h=h<<24>>24==108?-1:h<<24>>24==114&1;n=a[n>>2]|0;if(!n)n=0;else n=a[n+24>>2]&127;l=f[(a[46690]|0)+8232>>1]|0;if((l&65535)>14?(s=a[11464+((l&65535)+-15<<2)>>2]&n,w=186764+(u<<2)|0,(a[w>>2]|0)!=(s|0)):0){a[d>>2]=s;P4(c,66919,d)|0;wo(o,c)|0;a[w>>2]=s}d=e+8|0;b[d>>3]=+b[d>>3]+ +b[i+24>>3];wo(o,66925)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];oZ(o,t);a[B>>2]=h;P4(c,102220,B)|0;wo(o,c)|0;hZ(c,+b[i+32>>3]);wo(o,c)|0;vZ(A,195059,a[i>>2]|0);k=v;return}function tZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+1040|0;f=l;n=l+16|0;r=a[(a[A+16>>2]|0)+12>>2]|0;wZ(A);uZ(A);if(!i){A=a[11416+(r<<2)>>2]|0;wo(A,66913)|0}else{if((i|1|0)==3)EZ(A,i,e,2);else CZ(A);A=a[11416+(r<<2)>>2]|0;wo(A,66910)|0}a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];oZ(A,f);hZ(n,+b[e+16>>3]-+b[e>>3]);wo(A,n)|0;hZ(n,+b[e+24>>3]-+b[e+8>>3]);wo(A,n)|0;k=l;return}function cZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;wZ(A);uZ(A);if(!r)kZ(A,112,e,i);else{if((r|1|0)==3)EZ(A,r,e,i);else CZ(A);kZ(A,80,e,i)}return}function bZ(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;wZ(A);uZ(A);if(!a)kZ(A,66,e,i);else{if((a|1|0)==3)EZ(A,a,e,i);else CZ(A);kZ(A,98,e,i)}return}function sZ(A,e,i){A=A|0;e=e|0;i=i|0;wZ(A);uZ(A);kZ(A,76,e,i);return}function wZ(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+1184|0;l=w;f=w+24|0;s=w+8|0;co(s,1024,w+152|0);t=A+16|0;e=a[t>>2]|0;n=+b[e+152>>3];i=8+(a[e+12>>2]<<3)|0;if(n!=+b[i>>3]){b[i>>3]=n;wo(s,66882)|0;b[l>>3]=+b[(a[t>>2]|0)+152>>3];P4(f,66896,l)|0;dZ(f,0);wo(s,f)|0;f=s+4|0;e=a[f>>2]|0;i=s+8|0;if(e>>>0>=(a[i>>2]|0)>>>0){bo(s,1)|0;e=a[f>>2]|0}a[f>>2]=e+1;r[e>>0]=41;e=a[f>>2]|0;if(e>>>0>=(a[i>>2]|0)>>>0){bo(s,1)|0;e=a[f>>2]|0}r[e>>0]=0;e=a[s>>2]|0;a[f>>2]=e;vZ(A,66901,e);e=a[t>>2]|0}e=a[e+160>>2]|0;if(e|0){t=s+4|0;c=s+8|0;A:while(1){l=e+4|0;e=a[e>>2]|0;if(!e)break;switch(r[e>>0]|0){case 102:{if(!(A1(e,111101)|0)){e=l;continue A}break}case 98:{if(!(A1(e,111083)|0)){e=l;continue A}break}case 115:{if(!(A1(e,111088)|0)){e=l;continue A}break}default:{}}wo(s,e)|0;do{f=e;e=e+1|0}while((r[f>>0]|0)!=0);if(r[e>>0]|0){i=a[t>>2]|0;if(i>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}a[t>>2]=i+1;r[i>>0]=40;f=0;while(1){if(!(r[e>>0]|0))break;if(f|0){i=a[t>>2]|0;if(i>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}a[t>>2]=i+1;r[i>>0]=44}wo(s,e)|0;do{i=e;e=e+1|0}while((r[i>>0]|0)!=0);f=f+1|0}e=a[t>>2]|0;if(e>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=41}e=a[t>>2]|0;if(e>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;e=a[t>>2]|0}r[e>>0]=0;e=a[s>>2]|0;a[t>>2]=e;vZ(A,66901,e);e=l}uo(s)}k=w;return}function uZ(A){A=A|0;BZ((a[A+16>>2]|0)+16|0);vZ(A,75834,193758);return}function kZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;b=k;k=k+1040|0;c=b;t=b+16|0;l=a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0;n=l+4|0;A=a[n>>2]|0;if(A>>>0>=(a[l+8>>2]|0)>>>0){bo(l,1)|0;A=a[n>>2]|0}a[n>>2]=A+1;r[A>>0]=e;a[c>>2]=f;P4(t,66846,c)|0;wo(l,t)|0;A=0;while(1){if((A|0)>=(f|0))break;t=i+(A<<4)|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];oZ(l,c);A=A+1|0}k=b;return}function oZ(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+1024|0;r=i;hZ(r,+b[e>>3]);wo(A,r)|0;hZ(r,+NV(+b[e+8>>3]));wo(A,r)|0;k=i;return}function hZ(A,e){A=A|0;e=+e;var i=0,r=0;i=k;k=k+16|0;r=i;b[r>>3]=e>-1.0e-08&e<1.0e-08?0.0:e;P4(A,66851,r)|0;dZ(A,1);k=i;return}function dZ(A,e){A=A|0;e=e|0;var i=0,f=0;i=G1(A,46)|0;if(!i){if(e|0){i=A+(S2(A)|0)|0;f=10}}else{while(1){A=i+1|0;if(!(r[A>>0]|0))break;else i=A}A:while(1){switch(r[i>>0]|0){case 46:{f=5;break A}case 48:break;default:{f=6;break A}}r[i>>0]=0;i=i+-1|0}if((f|0)==5)r[i>>0]=0;else if((f|0)==6)i=i+1|0;if(e|0)f=10}if((f|0)==10){r[i>>0]=32;r[i+1>>0]=0}return}function BZ(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;c=k;k=k+32|0;t=c+16|0;l=c;e=r[A+3>>0]|0;i=n[A>>0]|0;f=n[A+1>>0]|0;A=n[A+2>>0]|0;if(e<<24>>24==-1){a[l>>2]=i;a[l+4>>2]=f;a[l+8>>2]=A;P4(193758,75714,l)|0}else{a[t>>2]=i;a[t+4>>2]=f;a[t+8>>2]=A;a[t+12>>2]=e&255;P4(193758,66864,t)|0}k=c;return}function vZ(A,e,i){A=A|0;e=e|0;i=i|0;gZ(a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0,e,i);return}function gZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;f=k;k=k+1040|0;l=f;n=f+8|0;t=S2(i)|0;a[l>>2]=e;a[l+4>>2]=t;P4(n,66857,l)|0;wo(A,n)|0;wo(A,i)|0;i=A+4|0;e=a[i>>2]|0;if(e>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=32;k=f;return}function EZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0.0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0;I=k;k=k+1120|0;v=I+64|0;C=I+80|0;t=I+32|0;d=I+16|0;B=I;g=a[A+16>>2]|0;n=+(a[g+136>>2]|0)*.017453292519943295;if((l[(a[46690]|0)+8232>>1]|0)<14)CZ(A);else{co(C,1024,I+96|0);E=(e|0)==2;if(E){YH(i,t,f,n,2);i=C+4|0;e=a[i>>2]|0;if(e>>>0>=(a[C+8>>2]|0)>>>0){bo(C,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=91;a[v>>2]=a[t>>2];a[v+4>>2]=a[t+4>>2];a[v+8>>2]=a[t+8>>2];a[v+12>>2]=a[t+12>>2];oZ(C,v);B=t+16|0;a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];oZ(C,v)}else{YH(i,t,f,0.0,3);h=+b[t+24>>3];u=+b[t>>3];if(n==0.0){w=+b[t+8>>3];o=h*.25;n=w;s=u}else{o=h*.25;Z=o;s=+D(+n)*Z+u;w=+b[t+8>>3];n=+M(+n)*Z+w}b[d>>3]=s;b[d+8>>3]=n;b[B>>3]=u;b[B+8>>3]=w;i=C+4|0;e=a[i>>2]|0;if(e>>>0>=(a[C+8>>2]|0)>>>0){bo(C,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=40;a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];oZ(C,v);IZ(C,o);a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];oZ(C,v);IZ(C,h)}wo(C,66907)|0;e=g+140|0;n=+c[e>>2];i=g+56|0;if(n>0.0){ZZ(C,n,i);ZZ(C,+c[e>>2],g+96|0)}else{ZZ(C,0.0,i);ZZ(C,1.0,g+96|0)}ko(C)|0;t=C+4|0;e=a[t>>2]|0;f=C+8|0;i=e>>>0>=(a[f>>2]|0)>>>0;if(E){if(i){bo(C,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=93}else{if(i){bo(C,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=41}e=a[t>>2]|0;if(e>>>0>=(a[f>>2]|0)>>>0){bo(C,1)|0;e=a[t>>2]|0}r[e>>0]=0;E=a[C>>2]|0;a[t>>2]=E;vZ(A,66904,E);uo(C)}k=I;return}function CZ(A){A=A|0;BZ((a[A+16>>2]|0)+56|0);vZ(A,66904,193758);return}function IZ(A,e){A=A|0;e=+e;var i=0,r=0;i=k;k=k+1024|0;r=i;hZ(r,e);wo(A,r)|0;k=i;return}function ZZ(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,a=0;r=k;k=k+1040|0;a=r;f=r+8|0;b[a>>3]=e;P4(f,94168,a)|0;dZ(f,1);BZ(i);gZ(A,f,193758);k=r;return}function GZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;r=k;k=k+1040|0;l=r;f=r+16|0;n=a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0;wo(n,67013)|0;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];oZ(n,l);hZ(f,+b[i+16>>3]-+b[i>>3]);wo(n,f)|0;hZ(f,+b[i+24>>3]-+b[i+8>>3]);wo(n,f)|0;vZ(A,195059,a[e+8>>2]|0);k=r;return}function QZ(A){A=A|0;var e=0;switch(a[A+64>>2]|0){case 0:{e=Qg(a[A>>2]|0)|0;kE(e,a[(a[A+16>>2]|0)+8>>2]|0,67797,0)|0;mg(e);break}case 1:{qV(a[(a[A>>2]|0)+168>>2]|0);break}default:{}}return}function mZ(A){A=A|0;var e=0,i=0,f=0,n=0;f=k;k=k+16|0;e=f;i=a[(a[A+16>>2]|0)+8>>2]|0;if(!(a[46703]|0)){a[46703]=a[4678];a[46704]=57;a[46705]=19}a[(a[i+64>>2]|0)+8>>2]=186812;LZ(i,1);a[e>>2]=0;r[e+4>>0]=(r[(a[i+16>>2]|0)+115>>0]|0)==1&1;n=a[A+64>>2]|0;r[e+5>>0]=((n|0)==0|(n|0)==3)&1;r[e+6>>0]=0;WZ(i,A,1,e);k=f;return}function LZ(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=a[A>>2]&-9;i=RB(A)|0;while(1){if(!i)break;LZ(i,0);i=HB(i)|0}A:do{if(e|0){e=cd(A)|0;while(1){if(!e)break A;a[e>>2]=a[e>>2]&-9;i=Oo(A,e)|0;while(1){if(!i)break;a[i>>2]=a[i>>2]&-9;i=_o(A,i)|0}e=bd(A,e)|0}}}while(0);return}function WZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h+8|0;u=h;w=(i|0)!=0;if(w){s=jk(11836,a[4581]|0)|0;Kd(A,1,141060,12,0);Kd(A,2,141060,12,0);Kd(A,0,141060,-12,0);f=yZ(A,0,s)|0;c=cd(A)|0;t=0;n=0;while(1){if(!c)break;if(!(Z1(Vh(c)|0,108006,7)|0)){b=n;n=zZ(s,Vh(c)|0)|0}else{b=n+1|0;n=n+f|0}a[(Ud(c,141060,0)|0)+8>>2]=n;l=Oo(A,c)|0;n=t;while(1){if(!l)break;a[(Ud(l,141060,0)|0)+8>>2]=n;l=_o(A,l)|0;n=n+1|0}c=bd(A,c)|0;t=n;n=b}pk(s)|0}else f=0;s=a[r>>2]|0;a[r>>2]=s+1;YZ(e,s);kg(e,97374)|0;DZ(A,e,i,r);MZ(A,e,r);kg(e,97345)|0;YZ(e,a[r>>2]|0);if(w){a[u>>2]=f;gg(e,67016,u)}else{a[o>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67036,o)}VZ(A,e,i,FZ(A,e,i,r)|0,r);JZ(A,e,i,r);kg(e,153599)|0;o=(a[r>>2]|0)+-1|0;a[r>>2]=o;YZ(e,o);if(w)kg(e,111008)|0;else kg(e,75357)|0;k=h;return}function yZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((Zd(A)|0)!=(A|0)){r=e+1|0;a[(Ud(A,141060,0)|0)+8>>2]=e;if(!(Z1(Vh(A)|0,108006,7)|0)){e=Vh(A)|0;OZ(i,e,a[(Ud(A,141060,0)|0)+8>>2]|0);e=r}else e=r}r=RB(A)|0;while(1){if(!r)break;A=yZ(r,e,i)|0;r=HB(r)|0;e=A}return e|0}function zZ(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e,512)|0;if(!A)A=-1;else A=a[A+12>>2]|0;return A|0}function YZ(A,e){A=A|0;e=e|0;while(1){if((e|0)<=0)break;kg(A,90574)|0;e=e+-1|0}return}function DZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=k;k=k+32|0;n=l+16|0;f=l+8|0;t=l;c=Vh(A)|0;YZ(e,a[r>>2]|0);a[t>>2]=RZ(c,r)|0;gg(e,67124,t);if(i|0){kg(e,97345)|0;YZ(e,a[r>>2]|0);c=(Ih(A)|0)!=0;a[f>>2]=c?107652:137308;gg(e,67738,f);YZ(e,a[r>>2]|0);c=(Gh(A)|0)!=0;a[n>>2]=c?107652:137308;gg(e,67755,n)}k=l;return}function MZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;s=u;t=Zd(A)|0;c=a[A>>2]&3;f=Jo(t,c,0)|0;A:do{if(f|0){b=i+5|0;while(1){if(!f)break A;n=Uo(A,f)|0;do{if(n|0){l=f+8|0;if(!(r[n>>0]|0)){n=a[l>>2]|0;if((r[n>>0]|0)!=108)break;if(A1(n,108224)|0)break}kg(e,97345)|0;YZ(e,a[i>>2]|0);a[s>>2]=RZ(a[l>>2]|0,i)|0;gg(e,67174,s);if(r[b>>0]|0?pZ(a[l>>2]|0)|0:0){UZ(Uo(A,f)|0,e,i);break}a[w>>2]=RZ(Uo(A,f)|0,i)|0;gg(e,67181,w)}}while(0);f=Jo(t,c,f)|0}}}while(0);k=u;return}function FZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;f=RB(A)|0;if(f){kg(e,97345)|0;n=a[r>>2]|0;a[r>>2]=n+1;YZ(e,n);n=(i|0)!=0;if(n){kg(e,67098)|0;A=0;i=f}else{kg(e,67158)|0;YZ(e,a[r>>2]|0);A=0;i=f}while(1){if(!i)break;if(!A)A=1;else kg(e,97345)|0;if(n)HZ(i,e,r);else{a[l>>2]=a[(Ud(i,141060,0)|0)+8>>2];gg(e,137395,l)}i=HB(i)|0}if(n)A=1;else{a[r>>2]=(a[r>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[r>>2]|0);kg(e,97340)|0;A=1}}else A=0;k=t;return A|0}function VZ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=cd(A)|0;if(!n){if((i|0)!=0&(r|0)!=0){a[f>>2]=(a[f>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[f>>2]|0);kg(e,97340)|0}}else{kg(e,97345)|0;l=(i|0)!=0;if(l)if(!r){r=a[f>>2]|0;a[f>>2]=r+1;YZ(e,r);kg(e,67098)|0;r=0}else r=0;else{r=a[f>>2]|0;a[f>>2]=r+1;YZ(e,r);kg(e,67112)|0;YZ(e,a[f>>2]|0);r=0}while(1){if(!n)break;if(Z1(Vh(n)|0,108006,7)|0){do{if(r)if(l){kg(e,97345)|0;break}else{kg(e,100999)|0;break}else r=1}while(0);XZ(n,e,i,f)}n=bd(A,n)|0}a[f>>2]=(a[f>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[f>>2]|0);kg(e,97340)|0}return}function JZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;f=cd(A)|0;A:do{if(f|0){while(1){if(!f)break A;if(Oo(A,f)|0)break;f=bd(A,f)|0}kg(e,97345)|0;t=a[r>>2]|0;a[r>>2]=t+1;YZ(e,t);kg(e,67048)|0;t=(i|0)!=0;if(t)n=0;else{YZ(e,a[r>>2]|0);n=0}while(1){if(!f)break;l=Oo(A,f)|0;while(1){if(!l)break;do{if(n)if(t){kg(e,97345)|0;break}else{kg(e,100999)|0;break}else n=1}while(0);NZ(l,e,i,r);l=_o(A,l)|0}f=bd(A,f)|0}a[r>>2]=(a[r>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[r>>2]|0);kg(e,97340)|0}}while(0);return}function NZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+32|0;t=c+24|0;l=c+16|0;n=c+8|0;f=c;if(!i){a[t>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,137395,t)}else{t=a[r>>2]|0;a[r>>2]=t+1;YZ(e,t);kg(e,97374)|0;YZ(e,a[r>>2]|0);a[f>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67060,f);YZ(e,a[r>>2]|0);a[n>>2]=a[(Ud(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,141060,0)|0)+8>>2];gg(e,67074,n);YZ(e,a[r>>2]|0);a[l>>2]=a[(Ud(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,141060,0)|0)+8>>2];gg(e,67087,l);MZ(A,e,r);kg(e,153599)|0;t=(a[r>>2]|0)+-1|0;a[r>>2]=t;YZ(e,t);kg(e,75357)|0}k=c;return}function XZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t+16|0;n=t+8|0;f=t;if(!i){a[l>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,137395,l)}else{l=a[r>>2]|0;a[r>>2]=l+1;YZ(e,l);kg(e,97374)|0;YZ(e,a[r>>2]|0);a[f>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67060,f);YZ(e,a[r>>2]|0);a[n>>2]=RZ(Vh(A)|0,r)|0;gg(e,67124,n);MZ(A,e,r);kg(e,153599)|0;l=(a[r>>2]|0)+-1|0;a[r>>2]=l;YZ(e,l);kg(e,75357)|0}k=t;return}function RZ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=e+4|0;if(r[n>>0]|0)A=EH(A)|0;if(!(a[46706]|0)){co(186824,1024,0);i=A}else i=A;A:while(1){f=r[i>>0]|0;switch(f<<24>>24){case 0:break A;case 34:{wo(186824,67137)|0;break}case 92:{wo(186824,96616)|0;break}case 47:{wo(186824,67140)|0;break}case 8:{wo(186824,67143)|0;break}case 12:{wo(186824,67146)|0;break}case 10:{wo(186824,67149)|0;break}case 13:{wo(186824,67152)|0;break}case 9:{wo(186824,67155)|0;break}default:{e=a[46707]|0;if(e>>>0>=(a[46708]|0)>>>0){bo(186824,1)|0;e=a[46707]|0}a[46707]=e+1;r[e>>0]=f}}i=i+1|0}e=a[46707]|0;if(e>>>0>=(a[46708]|0)>>>0){bo(186824,1)|0;e=a[46707]|0}r[e>>0]=0;e=a[46706]|0;a[46707]=e;if(r[n>>0]|0)L2(A);return e|0}function HZ(A,e,i){A=A|0;e=e|0;i=i|0;WZ(A,e,0,i);A=RB(A)|0;while(1){if(!A)break;kg(e,97345)|0;HZ(A,e,i);A=HB(A)|0}return}function pZ(A){A=A|0;var e=0;e=A+1|0;A:do{if((r[A>>0]|0)==95){A=(r[e>>0]|0)+-100<<24>>24;switch(((A&255)>>>2|A<<6&255)<<24>>24){case 0:{if(!(A1(e,67695)|0)){A=1;break A}break}case 2:{if(!(A1(e,67701)|0)){A=1;break A}break}case 1:{if(!(A1(e,67708)|0)){A=1;break A}return(A1(e,67722)|0)==0|0}case 4:{if(!(A1(e,67715)|0)){A=1;break A}A=(A1(e,67730)|0)==0&1;break A}default:{A=0;break A}}A=0}else A=0}while(0);return A|0}function UZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t;do{if(A|0?r[A>>0]|0:0){l=WC(A)|0;if(!l){a[f>>2]=A;ao(0,67186,f)|0;break}kg(e,153599)|0;n=a[i>>2]|0;a[i>>2]=n+1;YZ(e,n);kg(e,67213)|0;n=l+8|0;A=0;f=0;while(1){if((f|0)>=(a[l>>2]|0))break;if(!A)A=1;else kg(e,97345)|0;xZ((a[n>>2]|0)+(f*80|0)|0,e,i);f=f+1|0}a[i>>2]=(a[i>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[i>>2]|0);kg(e,97340)|0;yC(l)}}while(0);k=t;return}function xZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0.0;Q=k;k=k+240|0;Z=Q+224|0;I=Q+216|0;C=Q+208|0;E=Q+200|0;g=Q+192|0;v=Q+184|0;B=Q+176|0;d=Q+152|0;h=Q+136|0;o=Q+128|0;u=Q+112|0;w=Q+104|0;s=Q+96|0;c=Q+88|0;t=Q+72|0;l=Q+48|0;G=Q+40|0;n=Q+8|0;f=Q;r=a[i>>2]|0;a[i>>2]=r+1;YZ(e,r);kg(e,97374)|0;YZ(e,a[i>>2]|0);r=a[A>>2]|0;A:do{switch(r|0){case 1:case 0:{a[f>>2]=(r|0)==0?69:101;gg(e,67216,f);YZ(e,a[i>>2]|0);W=+b[A+16>>3];L=+b[A+24>>3];m=+b[A+32>>3];b[n>>3]=+b[A+8>>3];b[n+8>>3]=W;b[n+16>>3]=L;b[n+24>>3]=m;gg(e,67229,n);break}case 3:case 2:{a[G>>2]=(r|0)==2?80:112;gg(e,67216,G);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 5:case 4:{a[l>>2]=(r|0)==4?66:98;gg(e,67216,l);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 6:{gg(e,67264,Q+56|0);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 7:{gg(e,67276,Q+64|0);YZ(e,a[i>>2]|0);W=+b[A+16>>3];b[t>>3]=+b[A+8>>3];b[t+8>>3]=W;gg(e,67288,t);YZ(e,a[i>>2]|0);G=a[A+24>>2]|0;a[c>>2]=(G|0)==0?108:(G|0)==1?99:114;gg(e,67310,c);YZ(e,a[i>>2]|0);b[s>>3]=+b[A+32>>3];gg(e,67326,s);YZ(e,a[i>>2]|0);a[w>>2]=RZ(a[A+40>>2]|0,i)|0;gg(e,67343,w);break}case 9:case 8:{a[u>>2]=(r|0)==8?67:99;gg(e,67216,u);YZ(e,a[i>>2]|0);gg(e,67357,Q+120|0);YZ(e,a[i>>2]|0);a[o>>2]=RZ(a[A+8>>2]|0,i)|0;gg(e,67374,o);break}case 13:case 14:{a[h>>2]=(r|0)==13?67:99;gg(e,67216,h);YZ(e,a[i>>2]|0);switch(a[A+8>>2]|0){case 0:{gg(e,67357,Q+144|0);YZ(e,a[i>>2]|0);a[d>>2]=RZ(a[A+16>>2]|0,i)|0;gg(e,67374,d);break A}case 1:{gg(e,67389,Q+160|0);YZ(e,a[i>>2]|0);jZ(e,A+16|0,i);break A}default:{gg(e,67408,Q+168|0);YZ(e,a[i>>2]|0);SZ(e,A+16|0,i);break A}}}case 10:{gg(e,67427,B);YZ(e,a[i>>2]|0);b[v>>3]=+b[A+8>>3];gg(e,67439,v);YZ(e,a[i>>2]|0);a[g>>2]=RZ(a[A+16>>2]|0,i)|0;gg(e,67455,g);break}case 11:{gg(e,67469,E);YZ(e,a[i>>2]|0);a[C>>2]=RZ(a[A+8>>2]|0,i)|0;gg(e,67481,C);break}case 15:{gg(e,67496,I);YZ(e,a[i>>2]|0);a[Z>>2]=a[A+8>>2];gg(e,67508,Z);break}default:{}}}while(0);G=(a[i>>2]|0)+-1|0;a[i>>2]=G;YZ(e,G);kg(e,75357)|0;k=Q;return}function TZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0.0;t=k;k=k+48|0;l=t+32|0;n=t+16|0;f=t+8|0;r=a[e>>2]|0;i=a[e+4>>2]|0;gg(A,67669,t);e=0;while(1){if((e|0)>=(r|0))break;if((e|0)>0)gg(A,100999,f);c=+b[i+(e*24|0)+8>>3];b[n>>3]=+b[i+(e*24|0)>>3];b[n+8>>3]=c;gg(A,67681,n);e=e+1|0}gg(A,67622,l);k=t;return}function jZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0;r=k;k=k+32|0;f=r+16|0;l=r;YZ(A,a[i>>2]|0);n=+b[e+8>>3];b[l>>3]=+b[e>>3];b[l+8>>3]=n;gg(A,67625,l);YZ(A,a[i>>2]|0);n=+b[e+24>>3];b[f>>3]=+b[e+16>>3];b[f+8>>3]=n;gg(A,67647,f);YZ(A,a[i>>2]|0);PZ(A,a[e+32>>2]|0,a[e+36>>2]|0,i);k=r;return}function SZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0;r=k;k=k+48|0;f=r+24|0;t=r;YZ(A,a[i>>2]|0);n=+b[e+8>>3];l=+b[e+16>>3];b[t>>3]=+b[e>>3];b[t+8>>3]=n;b[t+16>>3]=l;gg(A,67524,t);YZ(A,a[i>>2]|0);l=+b[e+32>>3];n=+b[e+40>>3];b[f>>3]=+b[e+24>>3];b[f+8>>3]=l;b[f+16>>3]=n;gg(A,67552,f);YZ(A,a[i>>2]|0);PZ(A,a[e+48>>2]|0,a[e+52>>2]|0,i);k=r;return}function PZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0.0;s=k;k=k+48|0;t=s+32|0;l=s+16|0;n=s+8|0;gg(A,67580,s);f=0;while(1){if((f|0)>=(e|0))break;if((f|0)>0)gg(A,100999,n);u=+c[i+(f<<3)>>2];w=RZ(a[i+(f<<3)+4>>2]|0,r)|0;b[l>>3]=u;a[l+8>>2]=w;gg(A,67591,l);f=f+1|0}gg(A,67622,t);k=s;return}function OZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;r=W5[a[A>>2]&63](A,e,512)|0;if(r){if((a[r+12>>2]|0)!=(i|0)){a[f>>2]=e;ao(0,67768,f)|0}}else{f=W2(1,16)|0;a[f+8>>2]=s3(e)|0;a[f+12>>2]=i;W5[a[A>>2]&63](A,f,1)|0}k=n;return}function KZ(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+8>>2]|0);L2(e);return}function _Z(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;kg(A,68623)|0;c=a[a[A+12>>2]>>2]|0;t=a[c+4>>2]|0;l=a[c+8>>2]|0;a[n>>2]=a[c>>2];a[n+4>>2]=t;a[n+8>>2]=l;gg(A,68633,n);a[r>>2]=Vh(a[f+8>>2]|0)|0;gg(A,68668,r);a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,68681,i);kg(A,68694)|0;kg(A,68704)|0;kg(A,68712)|0;kg(A,68720)|0;kg(A,68728)|0;kg(A,68736)|0;kg(A,68744)|0;kg(A,68748)|0;kg(A,68753)|0;k=e;return}function qZ(A){A=A|0;kg(A,68604)|0;return}function $Z(A){A=A|0;a[46710]=2;return}function AG(A){A=A|0;a[46710]=1;return}function eG(A){A=A|0;a[46710]=2;return}function iG(A){A=A|0;a[46710]=0;return}function rG(A){A=A|0;a[46710]=2;return}function fG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0;o=k;k=k+80|0;u=o;s=a[(a[A+16>>2]|0)+16>>2]|0;w=a[46710]|0;f=a[i+4>>2]|0;n=+b[A+352>>3]*+b[f+16>>3];l=a[A+360>>2]|0?1.5707963267948966:0.0;t=a[i>>2]|0;c=n*.3333333333333333*+((S2(t)|0)>>>0);f=a[f+8>>2]|0;if(!f)f=-1;else f=a[f+20>>2]|0;B=r[i+48>>0]|0;d=+b[e>>3];h=+b[e+8>>3];i=kG(t)|0;a[u>>2]=4;a[u+4>>2]=B<<24>>24==108?0:B<<24>>24==114?2:1;a[u+8>>2]=s;a[u+12>>2]=w;a[u+16>>2]=0;a[u+20>>2]=f;b[u+24>>3]=n;b[u+32>>3]=l;a[u+40>>2]=6;b[u+48>>3]=n;b[u+56>>3]=c;a[u+64>>2]=~~(d+(d>=0.0?.5:-.5));a[u+68>>2]=~~(h+(h+-72.0>=0.0?-71.5:-72.5));a[u+72>>2]=i;gg(A,68549,u);k=o;return}function aG(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w;t=w+20|0;s=e+32|0;A:do{switch(a[s>>2]|0){case 5:{i=0;while(1){f=a[12724+(i<<2)>>2]|0;if((i|0)==8)break A;l=a[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(A1(f,l)|0)==0:0){b=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(uG(t,n[e>>0]|0,n[f>>0]|0,n[l>>0]|0)|0)+32|0;if(!(a[t>>2]|0))b=10;else{u=n[e>>0]|0;t=n[f>>0]|0;b=n[l>>0]|0;a[c>>2]=0;a[c+4>>2]=i;a[c+8>>2]=u;a[c+12>>2]=t;a[c+16>>2]=b;gg(A,68492,c);b=10}break}default:vA(138394,67889,163,67920)}}while(0);if((b|0)==10)a[e>>2]=i;a[s>>2]=6;k=w;return}function nG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0;r=k;k=k+112|0;f=r+8|0;g=r+104|0;v=r;c=a[A+16>>2]|0;B=~~+b[c+152>>3];d=a[c+16>>2]|0;h=a[c+56>>2]|0;o=a[46710]|0;sG(c,g,v);w=+b[e>>3];c=~~(w+(w>=0.0?.5:-.5));s=+b[e+8>>3];t=~~(s+(s>=0.0?.5:-.5));l=+b[e+16>>3];w=l-w;n=+b[e+24>>3];s=n-s;e=a[g>>2]|0;u=+b[v>>3];a[f>>2]=1;a[f+4>>2]=1;a[f+8>>2]=e;a[f+12>>2]=B;a[f+16>>2]=d;a[f+20>>2]=h;a[f+24>>2]=o;a[f+28>>2]=0;a[f+32>>2]=i|0?20:-1;b[f+40>>3]=u;a[f+48>>2]=0;b[f+56>>3]=0.0;a[f+64>>2]=c;a[f+68>>2]=t;a[f+72>>2]=~~(w+(w>=0.0?.5:-.5));a[f+76>>2]=~~(s+(s>=0.0?.5:-.5));a[f+80>>2]=c;a[f+84>>2]=t;a[f+88>>2]=~~(l+(l>=0.0?.5:-.5));a[f+92>>2]=~~(n+(n>=0.0?.5:-.5));gg(A,68427,f);k=r;return}function lG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;f=k;k=k+96|0;n=f+8|0;u=f+80|0;o=f;h=a[A+16>>2]|0;w=~~+b[h+152>>3];s=a[h+16>>2]|0;c=a[h+56>>2]|0;t=a[46710]|0;sG(h,u,o);u=a[u>>2]|0;l=+b[o>>3];a[n>>2]=2;a[n+4>>2]=3;a[n+8>>2]=u;a[n+12>>2]=w;a[n+16>>2]=s;a[n+20>>2]=c;a[n+24>>2]=t;a[n+28>>2]=0;a[n+32>>2]=r|0?20:-1;b[n+40>>3]=l;a[n+48>>2]=0;a[n+52>>2]=0;a[n+56>>2]=0;a[n+60>>2]=0;a[n+64>>2]=0;a[n+68>>2]=i+1;gg(A,68331,n);wG(A,e,i,1);k=f;return}function tG(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0,z=0;L=k;k=k+192|0;m=L+176|0;G=L+168|0;Q=L+104|0;Z=L+96|0;l=L+88|0;g=L+180|0;E=L+80|0;C=L+16|0;I=L;f=A+16|0;r=a[f>>2]|0;h=~~+b[r+152>>3];d=a[r+16>>2]|0;B=a[46710]|0;if((i|0)<=3)vA(67882,67889,360,67909);v=m2((i*140|0)+140|0)|0;sG(r,g,E);if(!n){u=4;t=0;c=-1}else{u=5;t=a[(a[f>>2]|0)+56>>2]|0;c=20}y=+b[e>>3];w=C+48|0;b[w>>3]=y;W=+b[e+8>>3];b[C+56>>3]=W;a[l>>2]=~~(y+(y>=0.0?.5:-.5));a[l+4>>2]=~~(W+(W>=0.0?.5:-.5));s=I+8|0;r=v+(P4(v,81099,l)|0)|0;o=1;n=0;while(1){l=n+3|0;if((l|0)>=(i|0))break;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];f=1;while(1){if((f|0)==4){f=1;break}z=f+n|0;b[C+(f<<4)>>3]=+b[e+(z<<4)>>3];b[C+(f<<4)+8>>3]=+b[e+(z<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(I,C,3,+(f|0)*.16666666666666666,0,0);W=+b[I>>3];y=+b[s>>3];a[Z>>2]=~~(W+(W>=0.0?.5:-.5));a[Z+4>>2]=~~(y+(y>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,Z)|0)|0}o=o+6|0;n=l}f=a[g>>2]|0;y=+b[E>>3];a[Q>>2]=3;a[Q+4>>2]=u;a[Q+8>>2]=f;a[Q+12>>2]=h;a[Q+16>>2]=d;a[Q+20>>2]=t;a[Q+24>>2]=B;a[Q+28>>2]=0;a[Q+32>>2]=c;b[Q+40>>3]=y;a[Q+48>>2]=0;a[Q+52>>2]=0;a[Q+56>>2]=0;a[Q+60>>2]=o;gg(A,68382,Q);a[G>>2]=v;gg(A,81106,G);L2(v);f=o+-1|0;r=0;while(1){if((r|0)>=(o|0))break;a[m>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,m);r=r+1|0}kg(A,153599)|0;k=L;return}function cG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;r=k;k=k+96|0;f=r+8|0;s=r+80|0;w=r;u=a[A+16>>2]|0;c=~~+b[u+152>>3];t=a[u+16>>2]|0;l=a[46710]|0;sG(u,s,w);s=a[s>>2]|0;n=+b[w>>3];a[f>>2]=2;a[f+4>>2]=1;a[f+8>>2]=s;a[f+12>>2]=c;a[f+16>>2]=t;a[f+20>>2]=0;a[f+24>>2]=l;a[f+28>>2]=0;a[f+32>>2]=0;b[f+40>>3]=n;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=i;gg(A,68331,f);wG(A,e,i,0);k=r;return}function bG(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,68325,r);k=i;return}function sG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function wG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function uG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;a[A>>2]=0;b=a[46711]|0;l=195075;n=0;t=-1;while(1){if((n|0)>=(b|0)){s=6;break}w=(f[190680+(n<<1)>>1]|0)-e|0;u=(f[191192+(n<<1)>>1]|0)-i|0;c=(f[191704+(n<<1)>>1]|0)-r|0;c=(U(u,u)|0)+(U(w,w)|0)+(U(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=n}n=n+1|0}if((s|0)==6){a[46711]=b+1;if((b|0)==256)n=t;else{f[190680+(n<<1)>>1]=e;f[191192+(n<<1)>>1]=i;f[191704+(n<<1)>>1]=r;a[A>>2]=1}}return n|0}function kG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46712]|0;if(!e){a[46713]=64;e=m2(64)|0;a[46712]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46713]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46713]=e;e=y2(a[46712]|0,e)|0;a[46712]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46712]|0}function oG(A){A=A|0;var e=0,i=0,f=0;i=a[A+16>>2]|0;switch(a[A+64>>2]|0){case 0:{kg(A,68220)|0;e=i+208|0;i=a[e>>2]|0;if(i|0?r[i>>0]|0:0){kg(A,68234)|0;kg(A,PF(a[e>>2]|0)|0)|0;kg(A,153599)|0}break}case 1:{e=i+208|0;f=a[e>>2]|0;if(f|0?r[f>>0]|0:0){kg(A,68234)|0;kg(A,PF(a[e>>2]|0)|0)|0;kg(A,102604)|0;kg(A,PF(Vh(a[i+8>>2]|0)|0)|0)|0;kg(A,153599)|0}break}case 3:{f=PF(Vh(a[i+8>>2]|0)|0)|0;kg(A,68243)|0;kg(A,f)|0;kg(A,68253)|0;kg(A,f)|0;kg(A,68208)|0;break}default:{}}return}function hG(A){A=A|0;var e=0;e=a[A+16>>2]|0;switch(a[A+64>>2]|0){case 2:{BG(A,a[e+264>>2]|0,a[e+272>>2]|0,a[e+268>>2]|0,a[e+208>>2]|0,a[e+228>>2]|0,a[e+244>>2]|0,a[e+212>>2]|0);break}case 3:{BG(A,a[e+264>>2]|0,a[e+272>>2]|0,a[e+268>>2]|0,a[e+208>>2]|0,a[e+228>>2]|0,a[e+244>>2]|0,a[e+212>>2]|0);kg(A,68212)|0;break}default:{}}return}function dG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=a[A+16>>2]|0;BG(A,a[n+264>>2]|0,a[n+272>>2]|0,a[n+268>>2]|0,e,i,r,f);return}function BG(A,e,i,f,n,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0;Z=k;k=k+128|0;I=Z+120|0;g=Z+112|0;v=Z+96|0;B=Z+80|0;d=Z+56|0;C=Z+48|0;h=Z+40|0;E=Z+24|0;o=Z;A:do{if((i|0)!=0&(f|0)!=0){s=f+10|0;if((a[46714]|0)<(f|0)){a[46714]=s;u=y2(a[46715]|0,s<<3)|0;a[46715]=u}else u=a[46715]|0;s=0;while(1){if((s|0)>=(f|0))break;G=+b[i+(s<<4)>>3];a[u+(s<<3)>>2]=~~(G+(G>=0.0?.5:-.5));G=+b[i+(s<<4)+8>>3];a[u+(s<<3)+4>>2]=~~(G+(G>=0.0?.5:-.5));s=s+1|0}w=A+64|0;s=a[w>>2]|0;i=(n|0)!=0;if(i&(s|0)==0){if(!(r[n>>0]|0))break;switch(e|0){case 0:{E=a[u>>2]|0;C=a[u+12>>2]|0;I=a[u+8>>2]|0;f=a[u+4>>2]|0;a[o>>2]=n;a[o+4>>2]=E;a[o+8>>2]=C;a[o+12>>2]=I;a[o+16>>2]=f;gg(A,67954,o);break A}case 1:{C=a[u>>2]|0;I=a[u+4>>2]|0;f=(a[u+8>>2]|0)-C|0;a[E>>2]=n;a[E+4>>2]=C;a[E+8>>2]=I;a[E+12>>2]=f;gg(A,67975,E);break A}case 2:{a[h>>2]=n;gg(A,67995,h);s=0;while(1){if((s|0)>=(f|0))break;E=a[46715]|0;I=a[E+(s<<3)+4>>2]|0;a[C>>2]=a[E+(s<<3)>>2];a[C+4>>2]=I;gg(A,68003,C);s=s+1|0}kg(A,153599)|0;break A}default:vA(138394,68010,63,68030)}}if(i&(s|0)==1){if(!(r[n>>0]|0))break;if(!e){C=a[u+12>>2]|0;I=a[u+8>>2]|0;f=a[u+4>>2]|0;a[d>>2]=a[u>>2];a[d+4>>2]=C;a[d+8>>2]=I;a[d+12>>2]=f;a[d+16>>2]=n;a[d+20>>2]=l;gg(A,68047,d);break}else vA(138394,68010,75,68030)}if((s&-2|0)==2){switch(e|0){case 1:{kg(A,68080)|0;break}case 0:{kg(A,68101)|0;break}case 2:{kg(A,68120)|0;break}default:vA(138394,68010,91,68030)}if(c|0?r[c>>0]|0:0){kg(A,73600)|0;kg(A,_F(c)|0)|0;kg(A,98744)|0}if(i?r[n>>0]|0:0){kg(A,68139)|0;kg(A,_F(n)|0)|0;kg(A,98744)|0}if(t|0?r[t>>0]|0:0){kg(A,74559)|0;kg(A,PF(t)|0)|0;kg(A,98744)|0}if(l|0?r[l>>0]|0:0){kg(A,68147)|0;kg(A,PF(l)|0)|0;kg(A,98744)|0}kg(A,68156)|0;kg(A,68164)|0;e:do{switch(e|0){case 1:{f=a[46715]|0;C=a[f>>2]|0;I=a[f+4>>2]|0;f=(a[f+8>>2]|0)-C|0;a[B>>2]=C;a[B+4>>2]=I;a[B+8>>2]=f;gg(A,68174,B);break}case 0:{E=a[46715]|0;C=a[E+12>>2]|0;I=a[E+8>>2]|0;f=a[E+4>>2]|0;a[v>>2]=a[E>>2];a[v+4>>2]=C;a[v+8>>2]=I;a[v+12>>2]=f;gg(A,68183,v);break}case 2:{C=a[46715]|0;s=a[C+4>>2]|0;a[g>>2]=a[C>>2];a[g+4>>2]=s;gg(A,68195,g);s=1;while(1){if((s|0)>=(f|0))break e;E=a[46715]|0;C=a[E+(s<<3)+4>>2]|0;a[I>>2]=a[E+(s<<3)>>2];a[I+4>>2]=C;gg(A,68201,I);s=s+1|0}}default:{}}}while(0);if((a[w>>2]|0)==3){kg(A,73424)|0;break}else{kg(A,68208)|0;break}}}}while(0);k=Z;return}function vG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;kg(A,68623)|0;c=a[a[A+12>>2]>>2]|0;t=a[c+4>>2]|0;l=a[c+8>>2]|0;a[n>>2]=a[c>>2];a[n+4>>2]=t;a[n+8>>2]=l;gg(A,68633,n);a[r>>2]=Vh(a[f+8>>2]|0)|0;gg(A,68668,r);a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,68681,i);kg(A,68694)|0;kg(A,68704)|0;kg(A,68712)|0;kg(A,68720)|0;kg(A,68728)|0;kg(A,68736)|0;kg(A,68744)|0;kg(A,68748)|0;kg(A,68753)|0;k=e;return}function gG(A){A=A|0;kg(A,68604)|0;return}function EG(A){A=A|0;a[46716]=2;return}function CG(A){A=A|0;a[46716]=1;return}function IG(A){A=A|0;a[46716]=2;return}function ZG(A){A=A|0;a[46716]=0;return}function GG(A){A=A|0;a[46716]=2;return}function QG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0;w=k;k=k+80|0;s=w;t=a[(a[A+16>>2]|0)+16>>2]|0;c=a[46716]|0;f=a[i+4>>2]|0;n=+b[A+352>>3]*+b[f+16>>3];l=a[A+360>>2]|0?1.5707963267948966:0.0;f=a[f+8>>2]|0;if(!f)f=-1;else f=a[f+20>>2]|0;h=r[i+48>>0]|0;o=+b[e>>3];u=+b[e+8>>3];i=VG(a[i>>2]|0)|0;a[s>>2]=4;a[s+4>>2]=h<<24>>24==108?0:h<<24>>24==114?2:1;a[s+8>>2]=t;a[s+12>>2]=c;a[s+16>>2]=0;a[s+20>>2]=f;b[s+24>>3]=n;b[s+32>>3]=l;a[s+40>>2]=4;b[s+48>>3]=0.0;b[s+56>>3]=0.0;a[s+64>>2]=~~(o+(o>=0.0?.5:-.5));a[s+68>>2]=~~(u+(u>=0.0?.5:-.5));a[s+72>>2]=i;gg(A,68549,s);k=w;return}function mG(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w;t=w+20|0;s=e+32|0;A:do{switch(a[s>>2]|0){case 5:{i=0;while(1){f=a[12724+(i<<2)>>2]|0;if((i|0)==8)break A;l=a[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(A1(f,l)|0)==0:0){b=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(FG(t,n[e>>0]|0,n[f>>0]|0,n[l>>0]|0)|0)+32|0;if(!(a[t>>2]|0))b=10;else{u=n[e>>0]|0;t=n[f>>0]|0;b=n[l>>0]|0;a[c>>2]=0;a[c+4>>2]=i;a[c+8>>2]=u;a[c+12>>2]=t;a[c+16>>2]=b;gg(A,68492,c);b=10}break}case 0:{i=0;b=10;break}default:vA(138394,68513,168,68532)}}while(0);if((b|0)==10)a[e>>2]=i;a[s>>2]=6;k=w;return}function LG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0;r=k;k=k+112|0;f=r+8|0;g=r+104|0;v=r;c=a[A+16>>2]|0;B=~~+b[c+152>>3];d=a[c+16>>2]|0;h=a[c+56>>2]|0;o=a[46716]|0;DG(c,g,v);w=+b[e>>3];c=~~(w+(w>=0.0?.5:-.5));s=+b[e+8>>3];t=~~(s+(s>=0.0?.5:-.5));l=+b[e+16>>3];w=l-w;n=+b[e+24>>3];s=n-s;e=a[g>>2]|0;u=+b[v>>3];a[f>>2]=1;a[f+4>>2]=1;a[f+8>>2]=e;a[f+12>>2]=B;a[f+16>>2]=d;a[f+20>>2]=h;a[f+24>>2]=o;a[f+28>>2]=0;a[f+32>>2]=i|0?20:-1;b[f+40>>3]=u;a[f+48>>2]=0;b[f+56>>3]=0.0;a[f+64>>2]=c;a[f+68>>2]=t;a[f+72>>2]=~~(w+(w>=0.0?.5:-.5));a[f+76>>2]=~~(s+(s>=0.0?.5:-.5));a[f+80>>2]=c;a[f+84>>2]=t;a[f+88>>2]=~~(l+(l>=0.0?.5:-.5));a[f+92>>2]=~~(n+(n>=0.0?.5:-.5));gg(A,68427,f);k=r;return}function WG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;f=k;k=k+96|0;n=f+8|0;u=f+80|0;o=f;h=a[A+16>>2]|0;w=~~+b[h+152>>3];s=a[h+16>>2]|0;c=a[h+56>>2]|0;t=a[46716]|0;DG(h,u,o);u=a[u>>2]|0;l=+b[o>>3];a[n>>2]=2;a[n+4>>2]=3;a[n+8>>2]=u;a[n+12>>2]=w;a[n+16>>2]=s;a[n+20>>2]=c;a[n+24>>2]=t;a[n+28>>2]=0;a[n+32>>2]=r|0?20:-1;b[n+40>>3]=l;a[n+48>>2]=0;a[n+52>>2]=0;a[n+56>>2]=0;a[n+60>>2]=0;a[n+64>>2]=0;a[n+68>>2]=i+1;gg(A,68331,n);MG(A,e,i,1);k=f;return}function yG(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0,z=0;L=k;k=k+192|0;m=L+176|0;G=L+168|0;Q=L+104|0;Z=L+96|0;f=L+88|0;g=L+180|0;E=L+80|0;C=L+16|0;I=L;r=A+16|0;o=a[r>>2]|0;h=~~+b[o+152>>3];d=a[o+16>>2]|0;B=a[46716]|0;v=m2((i*140|0)+140|0)|0;DG(o,g,E);if(!n){u=4;t=0;c=-1}else{u=5;t=a[(a[r>>2]|0)+56>>2]|0;c=20}y=+b[e>>3];w=C+48|0;b[w>>3]=y;W=+b[e+8>>3];b[C+56>>3]=W;a[f>>2]=~~(y+(y>=0.0?.5:-.5));a[f+4>>2]=~~(W+(W>=0.0?.5:-.5));s=I+8|0;r=v+(P4(v,81099,f)|0)|0;o=1;n=0;while(1){l=n+3|0;if((l|0)>=(i|0))break;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];f=1;while(1){if((f|0)==4){f=1;break}z=f+n|0;b[C+(f<<4)>>3]=+b[e+(z<<4)>>3];b[C+(f<<4)+8>>3]=+b[e+(z<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(I,C,3,+(f|0)*.16666666666666666,0,0);W=+b[I>>3];y=+b[s>>3];a[Z>>2]=~~(W+(W>=0.0?.5:-.5));a[Z+4>>2]=~~(y+(y>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,Z)|0)|0}o=o+6|0;n=l}f=a[g>>2]|0;y=+b[E>>3];a[Q>>2]=3;a[Q+4>>2]=u;a[Q+8>>2]=f;a[Q+12>>2]=h;a[Q+16>>2]=d;a[Q+20>>2]=t;a[Q+24>>2]=B;a[Q+28>>2]=0;a[Q+32>>2]=c;b[Q+40>>3]=y;a[Q+48>>2]=0;a[Q+52>>2]=0;a[Q+56>>2]=0;a[Q+60>>2]=o;gg(A,68382,Q);a[G>>2]=v;gg(A,81106,G);L2(v);f=o+-1|0;r=0;while(1){if((r|0)>=(o|0))break;a[m>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,m);r=r+1|0}kg(A,153599)|0;k=L;return}function zG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;r=k;k=k+96|0;f=r+8|0;s=r+80|0;w=r;u=a[A+16>>2]|0;c=~~+b[u+152>>3];t=a[u+16>>2]|0;l=a[46716]|0;DG(u,s,w);s=a[s>>2]|0;n=+b[w>>3];a[f>>2]=2;a[f+4>>2]=1;a[f+8>>2]=s;a[f+12>>2]=c;a[f+16>>2]=t;a[f+20>>2]=0;a[f+24>>2]=l;a[f+28>>2]=0;a[f+32>>2]=0;b[f+40>>3]=n;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=i;gg(A,68331,f);MG(A,e,i,0);k=r;return}function YG(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,68325,r);k=i;return}function DG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function MG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function FG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;a[A>>2]=0;b=a[46717]|0;l=195075;n=0;t=-1;while(1){if((n|0)>=(b|0)){s=6;break}w=(f[192216+(n<<1)>>1]|0)-e|0;u=(f[192728+(n<<1)>>1]|0)-i|0;c=(f[193240+(n<<1)>>1]|0)-r|0;c=(U(u,u)|0)+(U(w,w)|0)+(U(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=n}n=n+1|0}if((s|0)==6){a[46717]=b+1;if((b|0)==256)n=t;else{f[192216+(n<<1)>>1]=e;f[192728+(n<<1)>>1]=i;f[193240+(n<<1)>>1]=r;a[A>>2]=1}}return n|0}function VG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46718]|0;if(!e){a[46719]=64;e=m2(64)|0;a[46718]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46719]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46719]=e;e=y2(a[46718]|0,e)|0;a[46718]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46718]|0}function JG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=k;k=k+16|0;e=i;kg(A,73332)|0;if((a[A+64>>2]|0)==2)kg(A,73347)|0;else kg(A,153599)|0;n=a[a[A+12>>2]>>2]|0;f=a[n+4>>2]|0;r=a[n+8>>2]|0;a[e>>2]=a[n>>2];a[e+4>>2]=f;a[e+8>>2]=r;gg(A,73358,e);k=i;return}function NG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n+8|0;r=n;kg(A,73286)|0;i=A+64|0;e=A+12|0;if((a[i>>2]|0)!=2){a[r>>2]=a[(a[e>>2]|0)+28>>2];gg(A,73297,r)}if((a[(a[e>>2]|0)+20>>2]|0)==0?(a[i>>2]|0)!=2:0){e=a[A+476>>2]|0;i=a[A+480>>2]|0;r=a[A+484>>2]|0;a[f>>2]=a[A+472>>2];a[f+4>>2]=e;a[f+8>>2]=i;a[f+12>>2]=r;gg(A,69666,f)}kg(A,73312)|0;kg(A,73325)|0;k=n;return}function XG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=k;k=k+32|0;c=b+24|0;f=b+8|0;t=b;n=a[A+16>>2]|0;r[193768]=0;i=A+12|0;l=n+8|0;if(!(a[(a[i>>2]|0)+28>>2]|0)){a[t>>2]=Vh(a[l>>2]|0)|0;gg(A,69597,t);e=A+64|0;if((a[e>>2]|0)==2)kg(A,69630)|0;else kg(A,69612)|0;do{if(!(a[(a[i>>2]|0)+20>>2]|0))if((a[e>>2]|0)==2){w=a[A+460>>2]|0;s=a[A+464>>2]|0;e=a[A+468>>2]|0;a[f>>2]=a[A+456>>2];a[f+4>>2]=w;a[f+8>>2]=s;a[f+12>>2]=e;gg(A,69666,f);break}else{kg(A,69642)|0;break}}while(0);kg(A,69696)|0;HJ(A,a[(a[i>>2]|0)+24>>2]|0,13e3);UJ(A);e=a[(a[i>>2]|0)+20>>2]|0;if(e|0){a[t>>2]=a[e>>2];a[t+4>>2]=0;HJ(A,0,t)}}a[46720]=(r[(a[(a[l>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(r[193768]|0)){kg(A,69716)|0;r[193768]=1}e=a[n+208>>2]|0;if(e|0){a[c>>2]=xJ(e,a[46720]|0)|0;gg(A,69729,c)}k=b;return}function RG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;e=k;k=k+16|0;f=e;a[f>>2]=i;a[f+4>>2]=r;gg(A,69581,f);k=e;return}function HG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0.0,C=0.0;B=k;k=k+144|0;d=B+128|0;h=B+112|0;o=B+72|0;u=B+56|0;w=B+40|0;s=B+32|0;r=B+24|0;e=B+8|0;i=B;f=a[A+456>>2]|0;t=a[A+460>>2]|0;n=a[A+464>>2]|0;l=a[A+468>>2]|0;c=A+12|0;v=(a[(a[c>>2]|0)+28>>2]|0)+1|0;a[i>>2]=v;a[i+4>>2]=v;gg(A,69208,i);if(!(a[(a[c>>2]|0)+20>>2]|0)){a[e>>2]=f;a[e+4>>2]=t;a[e+8>>2]=n;a[e+12>>2]=l;gg(A,69225,e)}i=A+360|0;a[r>>2]=a[i>>2]|0?69259:69269;gg(A,69278,r);e=A+64|0;if((a[e>>2]|0)==1){a[s>>2]=n;a[s+4>>2]=l;gg(A,69303,s)}s=a[A+200>>2]|0;v=a[A+204>>2]|0;a[w>>2]=a[A+196>>2];a[w+4>>2]=s;a[w+8>>2]=v;gg(A,69342,w);if(!(a[(a[c>>2]|0)+20>>2]|0)){a[u>>2]=f;a[u+4>>2]=t;a[u+8>>2]=n-f;a[u+12>>2]=l-t;gg(A,69362,u)}C=+b[A+496>>3];v=a[i>>2]|0;E=+b[A+504>>3];g=+b[A+512>>3];b[o>>3]=+b[A+488>>3];b[o+8>>3]=C;a[o+16>>2]=v;b[o+24>>3]=E;b[o+32>>3]=g;gg(A,69402,o);if((a[e>>2]|0)==1){if((n|0)>14399|(l|0)>14399){v=a[(a[c>>2]|0)+16>>2]|0;a[h>>2]=n;a[h+4>>2]=l;a[h+8>>2]=14400;V5[v&63](69445,h)}a[d>>2]=f;a[d+4>>2]=t;a[d+8>>2]=n;a[d+12>>2]=l;gg(A,69540,d)}k=B;return}function pG(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=A+12|0;if(a[(a[e>>2]|0)+20>>2]|0){kg(A,69132)|0;HJ(A,0,(a[(a[e>>2]|0)+20>>2]|0)+4|0)}kg(A,69149)|0;kg(A,69176)|0;a[i>>2]=a[(a[e>>2]|0)+28>>2];gg(A,69191,i);k=r;return}function UG(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,69125,i);kg(A,69118)|0;k=e;return}function xG(A){A=A|0;kg(A,84552)|0;return}function TG(A){A=A|0;kg(A,69118)|0;return}function jG(A){A=A|0;kg(A,84552)|0;return}function SG(A){A=A|0;kg(A,69118)|0;return}function PG(A){A=A|0;kg(A,84552)|0;return}function OG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;r=k;k=k+16|0;i=r;if(e|0?(n=(a[A+16>>2]|0)+272|0,a[n>>2]|0):0){kg(A,69014)|0;Zg(A,a[n>>2]|0,2);kg(A,69025)|0;a[i>>2]=xJ(e,a[46720]|0)|0;gg(A,69029,i)}k=r;return}function KG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+32|0;t=s+8|0;c=s;f=a[A+16>>2]|0;if(!(+b[f+40>>3]<.5)){rQ(A,f+16|0);l=i+4|0;Eg(A,+b[(a[l>>2]|0)+16>>3]);a[t>>2]=a[a[l>>2]>>2];gg(A,68973,t);l=xJ(a[i>>2]|0,a[46720]|0)|0;switch(r[i+48>>0]|0){case 114:{w=i+32|0;f=w;n=+b[w>>3];break}case 108:{f=i+32|0;n=0.0;break}default:{w=i+32|0;f=w;n=+b[w>>3]*.5}}b[e>>3]=+b[e>>3]-n;w=e+8|0;b[w>>3]=+b[w>>3]+ +b[i+24>>3];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];Ig(A,t);kg(A,68988)|0;Eg(A,+b[f>>3]);a[c>>2]=l;gg(A,68997,c)}k=s;return}function _G(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+32|0;f=n;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];b[f+16>>3]=+b[e+16>>3]-+b[e>>3];b[f+24>>3]=+b[e+24>>3]-+b[e+8>>3];e=A+16|0;if(i|0?(r=a[e>>2]|0,+b[r+80>>3]>.5):0){rQ(A,r+56|0);Zg(A,f,2);kg(A,68931)|0}if(+b[(a[e>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[e>>2]|0)+16|0);Zg(A,f,2);kg(A,68951)|0}k=n;return}function qG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;n=A+16|0;if(r|0?(f=a[n>>2]|0,+b[f+80>>3]>.5):0){rQ(A,f+56|0);kg(A,68852)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;f=e+(r<<4)|0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];Ig(A,l);kg(A,68870)|0;r=r+1|0}kg(A,68897)|0}if(+b[(a[n>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[n>>2]|0)+16|0);kg(A,68852)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;n=e+(r<<4)|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];Ig(A,l);kg(A,68870)|0;r=r+1|0}kg(A,68913)|0}k=t;return}function $G(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;f=c;l=A+16|0;if(n|0?(t=a[l>>2]|0,+b[t+80>>3]>.5):0){rQ(A,t+56|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;Zg(A,e+(r<<4)|0,3);kg(A,68887)|0;r=r+3|0}kg(A,68897)|0}if(+b[(a[l>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[l>>2]|0)+16|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;Zg(A,e+(r<<4)|0,3);kg(A,68887)|0;r=r+3|0}kg(A,68879)|0}k=c;return}function AQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;r=A+16|0;if(+b[(a[r>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[r>>2]|0)+16|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;l=e+(r<<4)|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];Ig(A,f);kg(A,68870)|0;r=r+1|0}kg(A,68879)|0}k=n;return}function eQ(A,e){A=A|0;e=e|0;kg(A,68849)|0;kg(A,e)|0;kg(A,153599)|0;return}function iQ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+32|0;n=w+16|0;s=w+8|0;c=w;l=A+16|0;if(f|0?(t=a[l>>2]|0,+b[t+80>>3]>.5):0){rQ(A,t+56|0);kg(A,84447)|0;Zg(A,i,r);kg(A,102604)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];Ig(A,n);a[c>>2]=r;a[c+4>>2]=e;gg(A,68766,c)}if(+b[(a[l>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[l>>2]|0)+16|0);kg(A,84447)|0;Zg(A,i,r);kg(A,102604)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];Ig(A,n);a[s>>2]=r;a[s+4>>2]=e;gg(A,68782,s)}k=w;return}function rQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0;f=k;k=k+32|0;r=f;if(e|0){switch(a[(a[A+16>>2]|0)+4>>2]|0){case 1:case 0:{i=111494;break}case 2:{i=111481;break}case 3:{i=111450;break}default:i=68818}l=+b[e+8>>3];n=+b[e+16>>3];b[r>>3]=+b[e>>3];b[r+8>>3]=l;b[r+16>>3]=n;a[r+24>>2]=i;gg(A,68825,r)}k=f;return}function fQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;c=s+8|0;t=s;n=A+16|0;l=a[n>>2]|0;e=a[l+160>>2]|0;Eg(A,+b[l+152>>3]);kg(A,68799)|0;while(1){if(!e)break;l=e+4|0;f=a[e>>2]|0;if(!f)break;if(!(A1(f,111088)|0)){e=l;continue}else i=f;while(1){e=i+1|0;if(!(r[i>>0]|0))break;else i=e}A:while(1){if(!(r[e>>0]|0))break;a[t>>2]=e;gg(A,68814,t);while(1){i=e+1|0;if(!(r[e>>0]|0)){e=i;continue A}else e=i}}if(!(A1(f,134335)|0))b[(a[n>>2]|0)+152>>3]=0.0;a[c>>2]=f;gg(A,96670,c);e=l}k=s;return}function aQ(A){A=A|0;var e=0;kg(A,74838)|0;e=po(a[(a[A>>2]|0)+168>>2]|0,74894)|0;if(e|0?r[e>>0]|0:0){kg(A,74905)|0;kg(A,e)|0;kg(A,74929)|0}kg(A,74950)|0;kg(A,74998)|0;kg(A,75052)|0;e=A+12|0;kg(A,PF(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,PF(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,PF(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,75434)|0;kg(A,75458)|0;return}function nQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0;l=k;k=k+48|0;n=l+16|0;f=l+8|0;i=l;e=a[A+16>>2]|0;kg(A,74673)|0;e=e+8|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,75397)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,74678,i);i=a[A+452>>2]|0;a[f>>2]=a[A+448>>2];a[f+4>>2]=i;gg(A,74694,f);s=+b[A+392>>3];c=+b[A+400>>3];t=+b[A+408>>3];b[n>>3]=+b[A+384>>3];b[n+8>>3]=s;b[n+16>>3]=c;b[n+24>>3]=t;gg(A,74727,n);kg(A,74758)|0;kg(A,74794)|0;kg(A,76388)|0;k=l;return}function lQ(A){A=A|0;kg(A,74665)|0;return}function tQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;zQ(A,e,0,101510,a[(a[A+16>>2]|0)+8>>2]|0);kg(A,76388)|0;return}function cQ(A){A=A|0;kg(A,74513)|0;return}function bQ(A){A=A|0;var e=0,i=0,f=0,n=0;i=k;k=k+16|0;f=i;n=a[A+16>>2]|0;e=n+8|0;zQ(A,a[n+212>>2]|0,0,111494,a[e>>2]|0);kg(A,74617)|0;Eg(A,+b[A+488>>3]);kg(A,102604)|0;Eg(A,+b[A+496>>3]);a[f>>2]=0-(a[A+360>>2]|0);gg(A,74636,f);Eg(A,+b[A+504>>3]);kg(A,102604)|0;Eg(A,-+b[A+512>>3]);kg(A,74660)|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,74569)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0;kg(A,74577)|0}k=i;return}function sQ(A){A=A|0;kg(A,74513)|0;return}function wQ(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=i+8|0;zQ(A,a[i+212>>2]|0,0,108006,a[e>>2]|0);kg(A,76388)|0;kg(A,74569)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0;kg(A,74577)|0;return}function uQ(A){A=A|0;kg(A,74513)|0;return}function kQ(A){A=A|0;var e=0,i=0,r=0;i=a[A+16>>2]|0;e=a[A+160>>2]|0;if((e|0)>1)e=a[(a[(a[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0;else e=0;r=i+8|0;zQ(A,a[i+212>>2]|0,e,111481,a[r>>2]|0);kg(A,76388)|0;kg(A,74569)|0;kg(A,PF(Vh(a[r>>2]|0)|0)|0)|0;kg(A,74577)|0;return}function oQ(A){A=A|0;kg(A,74513)|0;return}function hQ(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=i+8|0;zQ(A,a[i+212>>2]|0,0,111450,a[e>>2]|0);kg(A,76388)|0;kg(A,74569)|0;e=SF(102095,a[e>>2]|0)|0;kg(A,PF(e)|0)|0;L2(e);kg(A,74577)|0;return}function dQ(A){A=A|0;kg(A,74513)|0;return}function BQ(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;kg(A,74519)|0;if(a|0){kg(A,74522)|0;kg(A,PF(a)|0)|0;kg(A,98744)|0}kg(A,74412)|0;kg(A,76349)|0;if(e|0?r[e>>0]|0:0){kg(A,74530)|0;kg(A,e)|0;kg(A,98744)|0}if(i|0?r[i>>0]|0:0){kg(A,74544)|0;kg(A,OF(i,1)|0)|0;kg(A,98744)|0}if(f|0?r[f>>0]|0:0){kg(A,74559)|0;kg(A,PF(f)|0)|0;kg(A,98744)|0}kg(A,76388)|0;return}function vQ(A){A=A|0;kg(A,76343)|0;kg(A,74513)|0;return}function gQ(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+176|0;J=N+160|0;V=N+152|0;z=N+136|0;F=N+128|0;y=N+120|0;W=N+112|0;L=N+104|0;m=N+96|0;Q=N+88|0;Z=N+80|0;C=N+72|0;E=N+64|0;g=N+56|0;v=N+48|0;l=N+40|0;h=N+32|0;B=N+24|0;d=N+16|0;o=N+8|0;u=N;M=a[A+16>>2]|0;kg(A,74044)|0;switch(r[i+48>>0]|0){case 108:{kg(A,74050)|0;break}case 114:{kg(A,74071)|0;break}default:kg(A,74090)|0}D=e+8|0;Y=+b[D>>3]+ +b[i+24>>3];b[D>>3]=Y;D=M+260|0;if(!(f[D>>1]&512)){kg(A,74112)|0;Eg(A,+b[e>>3]);kg(A,74117)|0;Eg(A,-Y);kg(A,98744)|0}I=i+4|0;e=a[I>>2]|0;w=a[e+8>>2]|0;if(w){switch(a[(a[(a[(a[A>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{s=w;e=w+16|0;l=w+8|0;break}case 2:{s=w+24|0;e=w+32|0;l=w+28|0;break}default:{s=w+4|0;e=w+16|0;l=w+8|0}}t=a[e>>2]|0;e=a[l>>2]|0;c=a[w+12>>2]|0;a[u>>2]=a[s>>2];gg(A,74123,u);l=a[w+24>>2]|0;if(l|0){a[o>>2]=l;gg(A,74140,o)}kg(A,98744)|0;if(e|0){a[d>>2]=e;gg(A,74144,d)}if(c|0){a[B>>2]=c;gg(A,74162,B)}if(!t)t=0;else{a[h>>2]=t;gg(A,74181,h)}}else{a[l>>2]=a[e>>2];gg(A,74198,l);t=0;e=0}l=a[I>>2]|0;if(l|0?(G=a[l+24>>2]|0,G&127|0):0){if(!((e|0)!=0|(G&1|0)==0))gg(A,74216,v);if(!((t|0)!=0|(G&2|0)==0))gg(A,74236,g);if(G&100|0){gg(A,74257,E);if(!(G&4))e=0;else{gg(A,105986,C);e=1}if(G&64){a[Z>>2]=e|0?100999:195059;gg(A,74276,Z);e=1}if(G&32|0){a[Q>>2]=e|0?100999:195059;gg(A,74287,Q)}gg(A,98744,m)}if(G&8|0)gg(A,74302,L);if(G&16|0)gg(A,74326,W)}b[y>>3]=+b[(a[I>>2]|0)+16>>3];gg(A,74348,y);e=M+16|0;switch(a[M+48>>2]|0){case 5:{e=a[e>>2]|0;if(N1(e,137314)|0){a[F>>2]=e;gg(A,74366,F)}break}case 1:{y=n[e+1>>0]|0;F=n[e+2>>0]|0;a[z>>2]=n[e>>0];a[z+4>>2]=y;a[z+8>>2]=F;gg(A,74377,z);break}default:vA(138394,73558,486,74399)}kg(A,74412)|0;if(f[D>>1]&512){a[V>>2]=PF(a[M+212>>2]|0)|0;gg(A,74414,V);kg(A,74463)|0;Eg(A,-Y);kg(A,74481)|0}kg(A,OF(a[i>>2]|0,1)|0)|0;if(f[D>>1]&512)gg(A,74484,J);kg(A,74504)|0;k=N;return}function EQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;switch(i|0){case 2:{r=LQ(A,e,2)|0;break}case 3:{r=WQ(A)|0;break}default:r=0}kg(A,74008)|0;QQ(A,i,r);kg(A,74017)|0;Eg(A,+b[e>>3]);kg(A,74023)|0;i=e+8|0;Eg(A,-+b[i>>3]);kg(A,74030)|0;Eg(A,+b[e+16>>3]-+b[e>>3]);kg(A,74037)|0;Eg(A,+b[e+24>>3]-+b[i>>3]);kg(A,73424)|0;return}function CQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;switch(r|0){case 2:{f=LQ(A,e,i)|0;break}case 3:{f=WQ(A)|0;break}default:f=0}kg(A,73999)|0;QQ(A,r,f);kg(A,73414)|0;f=0;while(1){if((f|0)>=(i|0))break;Eg(A,+b[e+(f<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(f<<4)+8>>3]);kg(A,102604)|0;f=f+1|0}Eg(A,+b[e>>3]);kg(A,100999)|0;Eg(A,-+b[e+8>>3]);kg(A,73424)|0;return}function IQ(A,e,i,r,n,l){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;l=l|0;n=a[A+16>>2]|0;switch(l|0){case 2:{r=LQ(A,e,i)|0;break}case 3:{r=WQ(A)|0;break}default:r=0}kg(A,73594)|0;if(f[n+260>>1]&512){kg(A,73600)|0;kg(A,PF(a[n+212>>2]|0)|0)|0;kg(A,73606)|0}QQ(A,l,r);kg(A,73611)|0;yQ(A,e,i);kg(A,73424)|0;return}function ZQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;kg(A,73404)|0;QQ(A,0,0);kg(A,73414)|0;r=0;while(1){if((r|0)>=(i|0))break;Eg(A,+b[e+(r<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(r<<4)+8>>3]);kg(A,102604)|0;r=r+1|0}kg(A,73424)|0;return}function GQ(A,e){A=A|0;e=e|0;kg(A,73398)|0;kg(A,PF(e)|0)|0;kg(A,75458)|0;return}function QQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+96|0;c=h+48|0;o=h+40|0;w=h+32|0;u=h+24|0;t=h+16|0;n=h+8|0;f=h;s=a[A+16>>2]|0;kg(A,73429)|0;A:do{switch(e|0){case 2:{a[f>>2]=i;gg(A,73437,f);break}case 3:{a[n>>2]=i;gg(A,73448,n);break}case 0:{kg(A,135709)|0;break}default:{e=s+56|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);if((a[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}b[t>>3]=+(e&255)*.00392156862745098;gg(A,73459,t)}}}}while(0);kg(A,73478)|0;i=s+16|0;f=c;n=i;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);e=s+152|0;if(+b[e>>3]!=1.0){kg(A,73489)|0;Eg(A,+b[e>>3])}switch(a[s+144>>2]|0){case 1:{a[u>>2]=73529;gg(A,73506,u);break}case 2:{a[w>>2]=73533;gg(A,73506,w);break}default:{}}A:do{if((a[s+48>>2]|0)==1){e=r[i+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}b[o>>3]=+(e&255)*.00392156862745098;gg(A,73537,o)}}while(0);kg(A,98744)|0;k=h;return}function mQ(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,137379)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,73558,117,73578)}}while(0);k=f;return}function LQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+112|0;u=v+64|0;d=v+56|0;w=v+48|0;s=v+40|0;n=v+32|0;t=v;h=a[46722]|0;a[46722]=h+1;o=a[A+16>>2]|0;f=+(a[o+136>>2]|0)*.017453292519943295;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;a[t+16>>2]=0;a[t+20>>2]=0;a[t+24>>2]=0;a[t+28>>2]=0;YH(e,t,i,f,0);a[u>>2]=h;gg(A,73831,u);kg(A,73896)|0;Eg(A,+b[t>>3]);kg(A,73901)|0;Eg(A,+b[t+8>>3]);kg(A,73908)|0;Eg(A,+b[t+16>>3]);kg(A,73915)|0;Eg(A,+b[t+24>>3]);kg(A,73922)|0;t=o+140|0;f=+c[t>>2];if(f>0.0){b[n>>3]=f+-.001;gg(A,73927,n)}else kg(A,73703)|0;e=o+56|0;i=u;n=e;l=i+40|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));mQ(A,u);kg(A,73739)|0;A:do{if((a[o+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=7;break A}default:{}}b[s>>3]=+(e&255)*.00392156862745098;gg(A,99612,s)}else B=7}while(0);if((B|0)==7)kg(A,73754)|0;kg(A,73757)|0;f=+c[t>>2];if(f>0.0){b[w>>3]=f;gg(A,73927,w)}else kg(A,73763)|0;e=o+96|0;i=u;n=e;l=i+40|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));mQ(A,u);kg(A,73739)|0;A:do{if((a[o+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=14;break A}default:{}}b[d>>3]=+(e&255)*.00392156862745098;gg(A,99612,d)}else B=14}while(0);if((B|0)==14)kg(A,73754)|0;kg(A,73967)|0;k=v;return h|0}function WQ(A){A=A|0;var e=0,i=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+64|0;c=h+16|0;u=h+8|0;t=h;w=a[46721]|0;a[46721]=w+1;s=a[A+16>>2]|0;d=+(a[s+136>>2]|0)*.017453292519943295;i=d;if(d==0.0){f=50;e=50}else{f=~~((+D(+i)+1.0)*50.0);e=~~((1.0-+M(+i))*50.0)}a[c>>2]=w;a[c+4>>2]=f;a[c+8>>2]=e;gg(A,73619,c);kg(A,73703)|0;e=s+56|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);kg(A,73739)|0;A:do{if((a[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{o=6;break A}default:{}}b[t>>3]=+(e&255)*.00392156862745098;gg(A,99612,t)}else o=6}while(0);if((o|0)==6)kg(A,73754)|0;kg(A,73757)|0;kg(A,73763)|0;e=s+96|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);kg(A,73739)|0;A:do{if((a[s+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{o=10;break A}default:{}}b[u>>3]=+(e&255)*.00392156862745098;gg(A,99612,u)}else o=10}while(0);if((o|0)==10)kg(A,73754)|0;kg(A,73799)|0;k=h;return w|0}function yQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;r=77;f=0;while(1){if((f|0)>=(i|0))break;a[n>>2]=r;gg(A,73616,n);Eg(A,+b[e+(f<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(f<<4)+8>>3]);r=(f|0)==0?67:32;f=f+1|0}k=l;return}function zQ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;kg(A,74587)|0;kg(A,PF(e)|0)|0;if(i|0){a[l>>2]=PF(i)|0;gg(A,74595,l)}a[t>>2]=f;gg(A,74599,t);e=po(n,74611)|0;if(e|0?r[e>>0]|0:0){kg(A,102604)|0;kg(A,PF(e)|0)|0}kg(A,98744)|0;k=c;return}function YQ(A){A=A|0;var e=0;kg(A,75418)|0;e=A+12|0;kg(A,pQ(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,pQ(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,pQ(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,75434)|0;return}function DQ(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=a[A+16>>2]|0;kg(A,75395)|0;e=e+8|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,75397)|0;kg(A,pQ(Vh(a[e>>2]|0)|0)|0)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,75406,i);a[46723]=0;k=f;return}function MQ(A){A=A|0;a[46723]=1;return}function FQ(A){A=A|0;a[46723]=-1;return}function VQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+48|0;l=w+8|0;s=w;f=a[A+16>>2]|0;if(a[f+144>>2]|0?(c=i+4|0,t=~~(+b[A+352>>3]*+b[(a[c>>2]|0)+16>>3]),t|0):0){UQ(A);kg(A,75334)|0;n=e+8|0;b[n>>3]=+b[n>>3]-+(t|0)*.55;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,75348)|0;kg(A,a[i>>2]|0)|0;kg(A,75357)|0;kg(A,75155)|0;n=l;e=f+16|0;f=n+40|0;do{a[n>>2]=a[e>>2];n=n+4|0;e=e+4|0}while((n|0)<(f|0));xQ(A,l);kg(A,75359)|0;l=a[c>>2]|0;c=a[l+8>>2]|0;c=a[((c|0)==0?l:c+4|0)>>2]|0;kg(A,98744)|0;kg(A,c)|0;kg(A,98744)|0;a[s>>2]=t;gg(A,75368,s);switch(r[i+48>>0]|0){case 108:{kg(A,75373)|0;break}case 114:{kg(A,75384)|0;break}default:{}}TQ(A);kg(A,153599)|0}k=w;return}function JQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0.0,s=0.0,w=0.0;t=k;k=k+48|0;f=t;n=a[A+16>>2]|0;l=n+144|0;if(a[l>>2]|0){w=+b[e>>3];s=+b[e+24>>3];r=e+8|0;c=+b[r>>3];b[e>>3]=w-+b[e+16>>3]+w;b[r>>3]=c-s+c;UQ(A);kg(A,75320)|0;Zg(A,e,2);kg(A,75155)|0;do{if(!i)if(!(a[46723]|0)){kg(A,97309)|0;break}else{kg(A,137198)|0;break}else{e=f;i=n+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f)}}while(0);if((a[46723]|0)==1)a[46723]=0;kg(A,75266)|0;Eg(A,+b[n+152>>3]);kg(A,75309)|0;e=f;i=n+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function NQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+48|0;f=t;n=a[A+16>>2]|0;l=n+144|0;if(a[l>>2]|0){UQ(A);kg(A,75292)|0;Zg(A,e,i);kg(A,75155)|0;do{if(!r)if(!(a[46723]|0)){kg(A,97309)|0;break}else{kg(A,137198)|0;break}else{e=f;i=n+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f)}}while(0);if((a[46723]|0)==1)a[46723]=0;kg(A,75266)|0;Eg(A,+b[n+152>>3]);kg(A,75309)|0;e=f;i=n+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function XQ(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0;s=k;k=k+48|0;l=s;t=a[A+16>>2]|0;c=t+144|0;if(a[c>>2]|0){UQ(A);kg(A,75141)|0;Zg(A,e,i);kg(A,75155)|0;r=l;f=t+16|0;n=r+40|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));xQ(A,l);kg(A,75266)|0;Eg(A,+b[t+152>>3]);r=a[c>>2]|0;if((r|0)==1){kg(A,75163)|0;r=a[c>>2]|0}if((r|0)==2)kg(A,75172)|0;kg(A,75275)|0;TQ(A);kg(A,153599)|0}k=s;return}function RQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+48|0;n=t;r=a[A+16>>2]|0;l=r+144|0;if(a[l>>2]|0){UQ(A);kg(A,75141)|0;Zg(A,e,i);kg(A,75155)|0;f=n;e=r+16|0;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));xQ(A,n);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function HQ(A,e){A=A|0;e=e|0;kg(A,75138)|0;kg(A,pQ(e)|0)|0;kg(A,153599)|0;return}function pQ(A){A=A|0;return A|0}function UQ(A){A=A|0;if(!(r[A+144>>0]|0))kg(A,75263)|0;else kg(A,a[A+148>>2]|0)|0;return}function xQ(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,97309)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,75181,49,75245)}}while(0);k=f;return}function TQ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=a[A+16>>2]|0;switch(a[f+12>>2]|0){case 8:{e=1;i=111481;r=f+8|0;break}case 10:{e=0;i=111481;r=f+8|0;break}case 3:case 2:case 9:{e=1;i=111450;r=f+8|0;break}case 7:case 6:case 11:{e=0;i=111450;r=f+8|0;break}case 0:{e=1;i=111494;r=f+8|0;break}case 4:{e=0;i=75217;r=f+8|0;break}case 1:{e=1;i=111494;r=f+8|0;break}case 5:{e=0;i=111494;r=f+8|0;break}default:vA(138394,75181,106,75200)}f=a[(a[r>>2]|0)+8>>2]|0;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=f;gg(A,75229,n);k=l;return}function jQ(A){A=A|0;var e=0;kg(A,78153)|0;kg(A,78161)|0;e=A+12|0;kg(A,rm(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,rm(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,rm(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,78194)|0;return}function SQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t+24|0;n=t+16|0;f=t+8|0;i=t;e=a[A+16>>2]|0;a[46727]=~~(+b[A+232>>3]-+b[A+216>>3]);a[46726]=~~(+b[A+224>>3]-+b[A+208>>3]);kg(A,76840)|0;kg(A,76847)|0;e=Vh(a[e+8>>2]|0)|0;if(r[e>>0]|0){kg(A,76916)|0;kg(A,rm(e)|0)|0;kg(A,76924)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,76933,i);kg(A,76953)|0;kg(A,76988)|0;kg(A,77016)|0;kg(A,77022)|0;kg(A,77065)|0;kg(A,77106)|0;kg(A,77125)|0;kg(A,77142)|0;kg(A,77190)|0;kg(A,77243)|0;kg(A,77319)|0;kg(A,77395)|0;kg(A,77404)|0;kg(A,77427)|0;kg(A,77454)|0;kg(A,77507)|0;kg(A,77529)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77596)|0;kg(A,77622)|0;kg(A,77507)|0;kg(A,77674)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77718)|0;kg(A,77427)|0;kg(A,77454)|0;kg(A,77507)|0;kg(A,77674)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77596)|0;kg(A,77622)|0;kg(A,77507)|0;kg(A,77529)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77731)|0;kg(A,77739)|0;kg(A,77745)|0;kg(A,77759)|0;kg(A,77767)|0;kg(A,77800)|0;i=(a[46727]|0)+10|0;a[f>>2]=a[46726];a[f+4>>2]=i;gg(A,77877,f);kg(A,77907)|0;kg(A,77916)|0;kg(A,77974)|0;kg(A,77984)|0;kg(A,78049)|0;f=a[46727]|0;a[n>>2]=a[46726];a[n+4>>2]=f;gg(A,78086,n);n=a[46727]|0;a[l>>2]=a[46726];a[l+4>>2]=n;gg(A,78114,l);k=t;return}function PQ(A){A=A|0;kg(A,76391)|0;kg(A,76403)|0;kg(A,76411)|0;kg(A,76474)|0;kg(A,76403)|0;kg(A,76519)|0;kg(A,76568)|0;kg(A,76622)|0;kg(A,76403)|0;kg(A,76722)|0;kg(A,76771)|0;kg(A,76403)|0;kg(A,76823)|0;return}function OQ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+32|0;t=c+16|0;l=c+8|0;n=c;kg(A,76349)|0;if(e|0?r[e>>0]|0:0){a[n>>2]=rm(e)|0;gg(A,76352,n)}if(i|0?r[i>>0]|0:0){a[l>>2]=rm(i)|0;gg(A,76363,l)}if(f|0?r[f>>0]|0:0){a[t>>2]=rm(f)|0;gg(A,76375,t)}kg(A,76388)|0;k=c;return}function KQ(A){A=A|0;kg(A,76343)|0;return}function _Q(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0;Q=k;k=k+112|0;Z=Q+96|0;G=Q+88|0;C=Q+80|0;h=Q+72|0;E=Q+64|0;v=Q+56|0;B=Q+48|0;d=Q+40|0;o=Q+24|0;u=Q+8|0;w=Q;I=a[A+16>>2]|0;switch(r[i+48>>0]|0){case 108:{t=+b[e>>3];s=+b[i+32>>3];break}case 114:{s=+b[i+32>>3];t=+b[e>>3]-s;break}default:{s=+b[i+32>>3];t=+b[e>>3]-s*.5}}f=i+40|0;l=+b[f>>3];g=i+4|0;c=+b[(a[g>>2]|0)+16>>3];if(l>3]=l}m=t+-8.0;c=+((a[46727]|0)>>>0)-+b[e+8>>3]-l+c*.2+(c<12.0?1.4:2.0);gg(A,76005,w);b[u>>3]=m;b[u+8>>3]=c;gg(A,75942,u);b[o>>3]=t+8.0+s-m;b[o+8>>3]=l;gg(A,75966,o);kg(A,76040)|0;kg(A,76074)|0;f=a[g>>2]|0;e=a[f+8>>2]|0;if(e){a[d>>2]=a[e+4>>2];gg(A,76164,d);f=a[e+8>>2]|0;if(f|0){a[B>>2]=f;gg(A,76183,B)}f=a[e+12>>2]|0;if(f|0){a[v>>2]=f;gg(A,76200,v)}f=a[e+16>>2]|0;if(f|0){a[E>>2]=f;gg(A,76218,E)}}else{a[h>>2]=a[f>>2];gg(A,76164,h)}b[C>>3]=+b[(a[g>>2]|0)+16>>3];gg(A,76234,C);f=I+16|0;switch(a[I+48>>2]|0){case 5:{f=a[f>>2]|0;if(N1(f,137314)|0){a[G>>2]=f;gg(A,76254,G)}break}case 1:{I=n[f+1>>0]|0;G=n[f+2>>0]|0;a[Z>>2]=n[f>>0];a[Z+4>>2]=I;a[Z+8>>2]=G;gg(A,76264,Z);break}default:vA(138394,75728,438,76285)}kg(A,76298)|0;kg(A,rm(a[i>>2]|0)|0)|0;kg(A,76309)|0;kg(A,76332)|0;k=Q;return}function qQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0;r=k;k=k+32|0;f=r+16|0;t=r;kg(A,75906)|0;s=+b[e>>3];l=+b[e+16>>3]-s;c=+b[e+24>>3];n=c-+b[e+8>>3];c=+((a[46727]|0)>>>0)-c;b[t>>3]=s-l;b[t+8>>3]=c;gg(A,75942,t);b[f>>3]=l*2.0;b[f+8>>3]=n*2.0;gg(A,75966,f);lm(A,i);kg(A,75788)|0;am(A);kg(A,75994)|0;k=r;return}function $Q(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;s=k;k=k+48|0;c=s+24|0;t=s+8|0;n=s;kg(A,75511)|0;w=a[46727]|0;a[n>>2]=a[46726];a[n+4>>2]=w;gg(A,75764,n);lm(A,r);kg(A,75788)|0;am(A);kg(A,75791)|0;n=i+-1|0;r=0;while(1){if((r|0)>=(i|0))break;l=+b[e+(r<<4)>>3];f=+((a[46727]|0)>>>0)-+b[e+(r<<4)+8>>3];if(!r){kg(A,75818)|0;b[t>>3]=l;b[t+8>>3]=f;gg(A,75884,t);kg(A,75895)|0}else{b[c>>3]=l;b[c+8>>3]=f;gg(A,75884,c)}if((r|0)==(n|0))kg(A,75898)|0;r=r+1|0}kg(A,75627)|0;k=s;return}function Am(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0;f=k;k=k+16|0;r=f;kg(A,75511)|0;l=a[46727]|0;a[r>>2]=a[46726];a[r+4>>2]=l;gg(A,75764,r);lm(A,n);kg(A,75788)|0;am(A);kg(A,75791)|0;tm(A,e,i);kg(A,75804)|0;k=f;return}function em(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0.0;c=k;k=k+48|0;t=c+24|0;l=c+8|0;f=c;kg(A,75511)|0;n=a[46727]|0;a[f>>2]=a[46726];a[f+4>>2]=n;gg(A,75548,f);kg(A,75588)|0;f=i+-1|0;n=e+8|0;r=0;while(1){if((r|0)>=(i|0))break;if(!r){kg(A,75600)|0;s=+((a[46727]|0)>>>0)-+b[n>>3];b[l>>3]=+b[e>>3];b[l+8>>3]=s;gg(A,75604,l);kg(A,75615)|0}else{s=+((a[46727]|0)>>>0)-+b[e+(r<<4)+8>>3];b[t>>3]=+b[e+(r<<4)>>3];b[t+8>>3]=s;gg(A,75604,t)}if((r|0)==(f|0))kg(A,75619)|0;r=r+1|0}kg(A,75623)|0;am(A);kg(A,75627)|0;k=c;return}function im(A,e){A=A|0;e=e|0;kg(A,75446)|0;kg(A,rm(e)|0)|0;kg(A,75458)|0;return}function rm(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+16|0;i=g;e=a[46724]|0;if(!e){a[46725]=64;e=$F(64)|0;a[46724]=e}B=i+15|0;d=i+14|0;n=0;h=0;u=0;i=0;f=0;A:while(1){w=(u|0)!=0;b=n;o=A;c=i;e:while(1){if(!o){v=32;break A}i=r[o>>0]|0;if(!(i<<24>>24)){v=32;break A}A=a[46725]|0;if((h|0)>(A+-8|0)){e=A<<1;a[46725]=e;e=eV(a[46724]|0,e)|0;a[46724]=e;e=e+h|0;i=r[o>>0]|0}switch(i<<24>>24){case 60:{i=4;A=102153;v=26;break e}case 62:{i=4;A=102136;v=27;break e}case 38:{v=10;break e}case 45:{i=5;A=102147;t=c;break e}default:{}}if(w&i<<24>>24==32){v=12;break}switch(i<<24>>24){case 34:{i=6;A=102116;v=26;break e}case 39:{i=5;A=102141;v=27;break e}default:{}}if(i<<24>>24<0){t=127;A=0}else{i=1;A=o;v=26;break}while(1){n=t&255;l=i&255;if(n>>>0>=l>>>0)break;i=t&l&255;t=n>>>1;A=A+1|0}if((A|0)<=1){n=G6(c|0,f|0,6)|0;n=d6(n|0,L|0,i&255|0,0)|0;f=L;s=b+-1|0;if((b|0)>1){A=s;i=n}else{v=21;break}}else{A=A+-1|0;i=i&255;f=0}b=A;o=o+1|0;c=i}if((v|0)==10){v=0;A=(fm(o)|0)==0;i=A?5:1;A=A?102130:o;t=c}else if((v|0)==12){v=0;A=(r[u>>0]|0)==32;i=A?6:1;A=A?102123:o;t=c}else if((v|0)==21){v=0;r[B>>0]=59;i=3;l=d;t=n;c=f;while(1){A=C6(t|0,c|0,10,0)|0;n=l+-1|0;r[l>>0]=A|48;A=t;t=E6(t|0,c|0,10,0)|0;f=c;c=L;u=i;i=i+1|0;if((u|0)>11){v=23;break A}if(!(f>>>0>0|(f|0)==0&A>>>0>9))break;else l=n}A=l+-2|0;r[n>>0]=35;r[A>>0]=38;b=s;f=c}else if((v|0)==26){v=0;t=c}else if((v|0)==27){v=0;t=c}l=e+i|0;n=i;while(1){if(!n)break;r[e>>0]=r[A>>0]|0;n=n+-1|0;A=A+1|0;e=e+1|0}n=b;A=o+1|0;h=i+h|0;u=o;e=l;i=t}if((v|0)==23){L3(75464,46,1,a[15712]|0)|0;SA(1)}else if((v|0)==32){r[e>>0]=0;k=g;return a[46724]|0}return 0}function fm(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function am(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+48|0;i=c+8|0;t=c;l=a[A+16>>2]|0;kg(A,75639)|0;r=i;f=l+16|0;n=r+40|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));nm(A,i);e=+b[l+152>>3];if(e!=1.0){b[t>>3]=e;gg(A,75657,t)}switch(a[l+144>>2]|0){case 1:{kg(A,75674)|0;break}case 2:{kg(A,75692)|0;break}default:{}}kg(A,75709)|0;k=c;return}function nm(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,135709)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,75728,94,75748)}}while(0);k=f;return}function lm(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+48|0;f=n;if(!e)kg(A,75867)|0;else{i=a[A+16>>2]|0;kg(A,75837)|0;e=f;i=i+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));nm(A,f);kg(A,75864)|0}k=n;return}function tm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0.0,c=0.0;l=k;k=k+32|0;n=l;r=75818;f=0;while(1){if((f|0)>=(i|0))break;c=+b[e+(f<<4)>>3];t=+((a[46727]|0)>>>0)-+b[e+(f<<4)+8>>3];a[n>>2]=r;b[n+8>>3]=c;b[n+16>>3]=t;gg(A,75821,n);r=(f|0)==0?75834:195059;f=f+1|0}kg(A,98744)|0;k=l;return}function cm(A){A=A|0;var e=0,i=0,r=0;e=k;k=k+16|0;i=e+8|0;r=e;kg(A,80451)|0;kg(A,80466)|0;kg(A,80505)|0;kg(A,80554)|0;a[r>>2]=137314;a[r+4>>2]=80642;gg(A,80623,r);a[i>>2]=137198;a[i+4>>2]=80648;gg(A,80623,i);k=e;return}function bm(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0;e=k;k=k+64|0;i=e+8|0;t=e;a[t>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,79404,t);l=+b[A+368>>3]*.5*+b[A+488>>3];n=+b[A+376>>3]*.5*+b[A+496>>3];f=+N(+(l*2.0000000949949026e-03))*180.0*.6366197723675814;r=+N(+(n*2.0000000949949026e-03))*180.0*.6366197723675814;b[i>>3]=l;b[i+8>>3]=n;b[i+16>>3]=-500.0;b[i+24>>3]=l;b[i+32>>3]=n;b[i+40>>3]=0.0;b[i+48>>3]=(f>r?f:r)*1.2;gg(A,79426,i);kg(A,79573)|0;kg(A,80403)|0;k=e;return}function sm(A){A=A|0;kg(A,79387)|0;return}function wm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=k;k=k+16|0;n=f;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=r;gg(A,79357,n);c[46728]=+(U(i,-10)|0);k=f;return}function um(A){A=A|0;kg(A,79340)|0;return}function km(A){A=A|0;kg(A,79322)|0;return}function om(A){A=A|0;kg(A,79306)|0;return}function hm(A){A=A|0;kg(A,79285)|0;c[46728]=+c[46728]+-2.0;return}function dm(A){A=A|0;kg(A,79266)|0;return}function Bm(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,79244,i);k=e;return}function vm(A){A=A|0;kg(A,79228)|0;return}function gm(A){A=A|0;kg(A,79210)|0;c[46728]=+c[46728]+-5.0;return}function Em(A){A=A|0;kg(A,79194)|0;c[46728]=+c[46728]+5.0;return}function Cm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0;d=k;k=k+144|0;u=d+104|0;h=d+56|0;s=d+32|0;l=d+24|0;w=d;o=i+4|0;n=a[o>>2]|0;f=+b[n+16>>3];n=a[n>>2]|0;a[w>>2]=a[i>>2];b[w+8>>3]=f;a[w+16>>2]=n;gg(A,79040,w);c[46729]=+c[46728]+-9.0;switch(r[i+48>>0]|0){case 108:{f=+b[e>>3];break}case 114:{n=e;f=+b[e>>3]-+b[i+32>>3];t=5;break}default:{n=e;f=+b[e>>3]-+b[i+32>>3]*.5;t=5}}if((t|0)==5)b[n>>3]=f;g=+b[A+488>>3];v=(+b[A+504>>3]+f)*g;B=(+b[A+512>>3]+ +b[e+8>>3])*+b[A+496>>3];b[l>>3]=+b[(a[o>>2]|0)+16>>3]*g;w=Lm(A,79092,l)|0;f=+(a[A+360>>2]|0);b[s>>3]=0.0;b[s+8>>3]=0.0;b[s+16>>3]=f;n=Lm(A,78309,s)|0;f=+c[46729];b[u>>3]=v;b[u+8>>3]=B;b[u+16>>3]=f;e=Lm(A,78341,u)|0;l=u;t=(a[A+16>>2]|0)+16|0;s=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(s|0));u=Wm(A,u,0.0)|0;i=a[i>>2]|0;a[h>>2]=a[a[o>>2]>>2];b[h+8>>3]=.25;b[h+16>>3]=0.0;a[h+24>>2]=i;a[h+28>>2]=79179;a[h+32>>2]=w;a[h+36>>2]=n;a[h+40>>2]=e;a[h+44>>2]=u;h=Lm(A,79104,h)|0;kg(A,h)|0;L2(h);L2(n);L2(u);L2(e);L2(w);k=d;return}function Im(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0;G=k;k=k+240|0;I=G+192|0;Z=G+152|0;v=G+128|0;d=G+104|0;u=G+80|0;w=G+48|0;r=G+24|0;s=G;kg(A,78917)|0;c[46729]=+c[46728]+-6.0;n=+b[e>>3];l=+b[A+488>>3];o=(+b[A+504>>3]+n)*l;Q=+b[e+8>>3];t=+b[A+496>>3];h=(+b[A+512>>3]+Q)*t;l=(+b[e+16>>3]-n)*l;t=(+b[e+24>>3]-Q)*t;B=A+16|0;Q=t+l;n=+b[(a[B>>2]|0)+152>>3]/Q*2.5;b[s>>3]=l;b[s+8>>3]=Q*.25;b[s+16>>3]=t;e=Lm(A,78277,s)|0;s=A+360|0;Q=+(a[s>>2]|0);b[r>>3]=90.0;b[r+8>>3]=0.0;b[r+16>>3]=Q;r=Lm(A,78309,r)|0;Q=+c[46729];b[I>>3]=o;b[I+8>>3]=h;b[I+16>>3]=Q;f=Lm(A,78341,I)|0;g=I;E=(a[B>>2]|0)+16|0;C=g+40|0;do{a[g>>2]=a[E>>2];g=g+4|0;E=E+4|0}while((g|0)<(C|0));E=Wm(A,I,0.0)|0;b[w>>3]=1.0;b[w+8>>3]=n;a[w+16>>2]=e;a[w+20>>2]=r;a[w+24>>2]=f;a[w+28>>2]=E;C=Lm(A,78932,w)|0;kg(A,C)|0;L2(e);L2(r);L2(f);L2(E);L2(C);if(i|0){b[u>>3]=l;b[u+8>>3]=t;b[u+16>>3]=1.0;f=Lm(A,78277,u)|0;Q=+(a[s>>2]|0);b[d>>3]=0.0;b[d+8>>3]=0.0;b[d+16>>3]=Q;r=Lm(A,78309,d)|0;Q=+c[46729];b[v>>3]=o;b[v+8>>3]=h;b[v+16>>3]=Q;e=Lm(A,78341,v)|0;g=I;E=(a[B>>2]|0)+56|0;C=g+40|0;do{a[g>>2]=a[E>>2];g=g+4|0;E=E+4|0}while((g|0)<(C|0));I=Wm(A,I,0.0)|0;b[Z>>3]=0.0;b[Z+8>>3]=0.0;b[Z+16>>3]=0.0;a[Z+24>>2]=f;a[Z+28>>2]=r;a[Z+32>>2]=e;a[Z+36>>2]=I;Z=Lm(A,78978,Z)|0;kg(A,Z)|0;L2(f);L2(r);L2(e);L2(I);L2(Z)}k=G;return}function Zm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0.0,N=0,X=0.0;V=k;k=k+336|0;m=V+296|0;F=V+288|0;M=V+272|0;D=V+264|0;Y=V+240|0;W=V+232|0;Q=V+208|0;G=V+184|0;C=V+160|0;E=V+152|0;g=V+136|0;v=V+128|0;B=V+96|0;d=V+88|0;h=V+56|0;f=V+48|0;s=V+24|0;t=V;kg(A,78782)|0;c[46729]=+c[46728]+-2.0;u=A+488|0;o=A+496|0;J=+b[o>>3];b[t>>3]=+b[u>>3];b[t+8>>3]=J;b[t+16>>3]=1.0;t=Lm(A,78277,t)|0;Z=A+360|0;J=+(a[Z>>2]|0);b[s>>3]=0.0;b[s+8>>3]=0.0;b[s+16>>3]=J;s=Lm(A,78309,s)|0;J=+c[46729]+-2.0;b[m>>3]=0.0;b[m+8>>3]=0.0;b[m+16>>3]=J;w=Lm(A,78341,m)|0;L=A+16|0;n=m;l=(a[L>>2]|0)+16|0;I=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(I|0));l=Wm(A,m,0.0)|0;a[f>>2]=78404;a[f+4>>2]=i+1;y=A+504|0;z=A+512|0;n=0;f=Lm(A,78373,f)|0;while(1){if((n|0)>=(i|0))break;X=+b[z>>3]+ +b[e+(n<<4)+8>>3];J=+b[(a[L>>2]|0)+152>>3];b[h>>3]=+b[y>>3]+ +b[e+(n<<4)>>3];b[h+8>>3]=X;b[h+16>>3]=0.0;b[h+24>>3]=J;N=Lm(A,78418,h)|0;a[d>>2]=f;a[d+4>>2]=N;I=Lm(A,78447,d)|0;L2(N);L2(f);n=n+1|0;f=I}J=+b[z>>3]+ +b[e+8>>3];X=+b[(a[L>>2]|0)+152>>3];b[B>>3]=+b[y>>3]+ +b[e>>3];b[B+8>>3]=J;b[B+16>>3]=0.0;b[B+24>>3]=X;I=Lm(A,78418,B)|0;a[v>>2]=f;a[v+4>>2]=I;N=Lm(A,78447,v)|0;L2(I);L2(f);a[g>>2]=t;a[g+4>>2]=s;a[g+8>>2]=w;a[g+12>>2]=l;I=Lm(A,78797,g)|0;a[E>>2]=N;a[E+4>>2]=I;N=Lm(A,78502,E)|0;L2(I);kg(A,N)|0;L2(t);L2(s);L2(w);L2(l);L2(N);if(r|0){X=+b[o>>3];b[C>>3]=+b[u>>3];b[C+8>>3]=X;b[C+16>>3]=1.0;w=Lm(A,78277,C)|0;X=+(a[Z>>2]|0);b[G>>3]=0.0;b[G+8>>3]=0.0;b[G+16>>3]=X;s=Lm(A,78309,G)|0;X=+c[46729]+-2.0;b[Q>>3]=0.0;b[Q+8>>3]=0.0;b[Q+16>>3]=X;t=Lm(A,78341,Q)|0;n=m;l=(a[L>>2]|0)+56|0;I=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(I|0));l=Wm(A,m,.25)|0;a[W>>2]=i;n=0;f=Lm(A,78842,W)|0;while(1){if((n|0)>=(i|0))break;X=+b[z>>3]+ +b[e+(n<<4)+8>>3];b[Y>>3]=+b[y>>3]+ +b[e+(n<<4)>>3];b[Y+8>>3]=X;b[Y+16>>3]=0.0;W=Lm(A,78857,Y)|0;a[D>>2]=f;a[D+4>>2]=W;N=Lm(A,78879,D)|0;L2(W);L2(f);n=n+1|0;f=N}a[M>>2]=w;a[M+4>>2]=s;a[M+8>>2]=t;a[M+12>>2]=l;M=Lm(A,78889,M)|0;a[F>>2]=f;a[F+4>>2]=M;N=Lm(A,78502,F)|0;L2(M);kg(A,N)|0;L2(w);L2(s);L2(t);L2(l);L2(N)}k=V;return}function Gm(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0;m=k;k=k+208|0;r=m+160|0;Q=m+152|0;G=m+136|0;Z=m+128|0;I=m+96|0;C=m+88|0;E=m+56|0;t=m+48|0;B=m+24|0;d=m;kg(A,78709)|0;c[46729]=+c[46728]+-4.0;L=+b[A+496>>3];b[d>>3]=+b[A+488>>3];b[d+8>>3]=L;b[d+16>>3]=1.0;d=Lm(A,78277,d)|0;L=+(a[A+360>>2]|0);b[B>>3]=0.0;b[B+8>>3]=0.0;b[B+16>>3]=L;B=Lm(A,78309,B)|0;L=+c[46729]+-2.0;b[r>>3]=0.0;b[r+8>>3]=0.0;b[r+16>>3]=L;v=Lm(A,78341,r)|0;g=A+16|0;f=r;n=(a[g>>2]|0)+56|0;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));w=Wm(A,r,0.0)|0;a[t>>2]=78723;a[t+4>>2]=i+2;u=A+504|0;o=A+512|0;h=i+-1|0;s=0;r=Lm(A,78373,t)|0;while(1){if((s|0)>=(i|0))break;f=e+(s<<4)|0;n=e+(s<<4)+8|0;W=+b[o>>3]+ +b[n>>3];L=+b[(a[g>>2]|0)+152>>3];b[E>>3]=+b[u>>3]+ +b[f>>3];b[E+8>>3]=W;b[E+16>>3]=0.0;b[E+24>>3]=L;t=Lm(A,78418,E)|0;a[C>>2]=r;a[C+4>>2]=t;l=Lm(A,78447,C)|0;L2(t);L2(r);if((s|0)==0|(s|0)==(h|0)){L=+b[o>>3]+ +b[n>>3];W=+b[(a[g>>2]|0)+152>>3];b[I>>3]=+b[u>>3]+ +b[f>>3];b[I+8>>3]=L;b[I+16>>3]=0.0;b[I+24>>3]=W;t=Lm(A,78418,I)|0;a[Z>>2]=l;a[Z+4>>2]=t;r=Lm(A,78447,Z)|0;L2(t);L2(l)}else r=l;s=s+1|0}a[G>>2]=d;a[G+4>>2]=B;a[G+8>>2]=v;a[G+12>>2]=w;e=Lm(A,78732,G)|0;a[Q>>2]=r;a[Q+4>>2]=e;i=Lm(A,78502,Q)|0;L2(e);kg(A,i)|0;L2(d);L2(B);L2(v);L2(w);L2(i);k=m;return}function Qm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0,Z=0.0;E=k;k=k+160|0;r=E+120|0;g=E+112|0;v=E+96|0;B=E+88|0;d=E+56|0;s=E+48|0;w=E+24|0;h=E;kg(A,78261)|0;c[46729]=+c[46728]+-6.0;C=+b[A+496>>3];b[h>>3]=+b[A+488>>3];b[h+8>>3]=C;b[h+16>>3]=1.0;h=Lm(A,78277,h)|0;C=+(a[A+360>>2]|0);b[w>>3]=0.0;b[w+8>>3]=0.0;b[w+16>>3]=C;w=Lm(A,78309,w)|0;C=+c[46729];b[r>>3]=0.0;b[r+8>>3]=0.0;b[r+16>>3]=C;u=Lm(A,78341,r)|0;o=A+16|0;f=r;n=(a[o>>2]|0)+16|0;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));n=Wm(A,r,0.0)|0;a[s>>2]=78404;a[s+4>>2]=i;l=A+504|0;t=A+512|0;f=0;r=Lm(A,78373,s)|0;while(1){if((f|0)>=(i|0))break;Z=+b[t>>3]+ +b[e+(f<<4)+8>>3];C=+b[(a[o>>2]|0)+152>>3];b[d>>3]=+b[l>>3]+ +b[e+(f<<4)>>3];b[d+8>>3]=Z;b[d+16>>3]=0.0;b[d+24>>3]=C;I=Lm(A,78418,d)|0;a[B>>2]=r;a[B+4>>2]=I;s=Lm(A,78447,B)|0;L2(I);L2(r);f=f+1|0;r=s}a[v>>2]=h;a[v+4>>2]=w;a[v+8>>2]=u;a[v+12>>2]=n;v=Lm(A,78456,v)|0;a[g>>2]=r;a[g+4>>2]=v;I=Lm(A,78502,g)|0;L2(v);kg(A,I)|0;L2(h);L2(w);L2(u);L2(n);L2(I);k=E;return}function mm(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,78242,r);k=i;return}function Lm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+1056|0;l=t;r=t+24|0;f=t+8|0;a[f>>2]=i;n=k4(r,1024,e,f)|0;do{if((n|0)>=0)if((n|0)>1023){A=m2(n+1|0)|0;a[f>>2]=i;O4(A,e,f)|0;break}else{A=s3(r)|0;break}else{A=a[(a[A+12>>2]|0)+16>>2]|0;a[l>>2]=e1(a[(X2()|0)>>2]|0)|0;V5[A&63](78687,l);A=s3(195059)|0}}while(0);k=t;return A|0}function Wm(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0;h=k;k=k+112|0;u=h+104|0;t=h+96|0;l=h+64|0;w=h+48|0;o=h+32|0;s=h+16|0;c=h;f=a[e+32>>2]|0;A:do{switch(f|0){case 5:{r=a[e>>2]|0;if(!(A1(r,136302)|0)){a[c>>2]=78524;b[c+8>>3]=i;r=Lm(A,78507,c)|0;break A}if(!(A1(r,133432)|0)){a[s>>2]=78528;b[s+8>>3]=i;r=Lm(A,78507,s)|0;break A}if(!(A1(r,131431)|0)){a[o>>2]=78534;b[o+8>>3]=i;r=Lm(A,78507,o)|0;break A}else{a[w>>2]=r;b[w+8>>3]=i;r=Lm(A,78507,w)|0;break A}}case 1:{B=+(n[e+1>>0]|0)*.00390625;d=+(n[e+2>>0]|0)*.00390625;b[l>>3]=+(n[e>>0]|0)*.00390625;b[l+8>>3]=B;b[l+16>>3]=d;b[l+24>>3]=i;r=Lm(A,78539,l)|0;break}default:{o=a[15712]|0;w=a[e>>2]|0;a[t>>2]=f;a[t+4>>2]=w;f3(o,78578,t)|0;vA(138394,78628,436,78648)}}}while(0);a[u>>2]=r;o=Lm(A,78665,u)|0;L2(r);k=h;return o|0}function ym(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;l=a[a[A+12>>2]>>2]|0;c=a[l>>2]|0;t=a[l+4>>2]|0;l=a[l+8>>2]|0;a[n>>2]=81094;a[n+4>>2]=c;a[n+8>>2]=t;a[n+12>>2]=l;gg(A,83704,n);f=Vh(a[f+8>>2]|0)|0;a[r>>2]=81094;a[r+4>>2]=f;gg(A,83736,r);a[i>>2]=81094;gg(A,83750,i);k=e;return}function zm(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=81094;gg(A,83652,i);k=e;return}function Ym(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0;P=k;k=k+304|0;S=P+296|0;j=P+288|0;T=P+272|0;U=P+264|0;p=P+256|0;H=P+248|0;R=P+240|0;X=P+232|0;N=P+224|0;J=P+216|0;V=P+208|0;F=P+200|0;M=P+192|0;D=P+184|0;z=P+176|0;y=P+168|0;W=P+160|0;L=P+152|0;Q=P+144|0;G=P+136|0;Z=P+128|0;I=P+120|0;C=P+112|0;E=P+104|0;g=P+96|0;v=P+88|0;B=P+80|0;d=P+72|0;h=P+64|0;o=P+56|0;u=P+48|0;x=P+40|0;m=P+24|0;w=P+16|0;s=P;n=a[A+456>>2]|0;l=a[A+460>>2]|0;t=a[A+464>>2]|0;c=a[A+468>>2]|0;f=A+360|0;A:do{if(a[4025]|0){switch(a[f>>2]|0){case 90:case 0:break A;default:{}}xm();a[4025]=0}}while(0);r=(+(c|0)-+(l|0))*.013888888888888888;e=(+(t|0)-+(n|0))*.013888888888888888;c=(a[f>>2]|0)==90;i=c?r:e;r=c?e:r;b[s>>3]=i;b[s+8>>3]=r;gg(A,81281,s);a[w>>2]=81094;gg(A,81296,w);if(i>0.0){e=+t1(i);b[19214]=e;e=e+3.0-+(~~e|0)}else e=3.0;e=+Y(10.0,+e);b[19214]=e;b[m>>3]=e;b[m+8>>3]=e;gg(A,81465,m);a[x>>2]=81094;gg(A,81500,x);a[u>>2]=81094;gg(A,81558,u);a[o>>2]=81094;gg(A,81618,o);a[h>>2]=81094;gg(A,81667,h);a[d>>2]=81094;gg(A,81706,d);a[B>>2]=81094;gg(A,81757,B);a[v>>2]=81094;gg(A,81819,v);a[g>>2]=81094;gg(A,81929,g);a[E>>2]=81094;gg(A,82020,E);a[C>>2]=81094;gg(A,82074,C);a[I>>2]=81094;gg(A,82143,I);gg(A,82179,Z);a[G>>2]=81094;gg(A,82304,G);a[Q>>2]=81094;gg(A,82333,Q);gg(A,82373,L);a[W>>2]=81094;gg(A,82466,W);a[y>>2]=81094;gg(A,82525,y);a[z>>2]=81094;gg(A,82606,z);gg(A,82676,D);a[M>>2]=81094;gg(A,82765,M);a[F>>2]=81094;gg(A,82870,F);a[V>>2]=81094;gg(A,82946,V);a[J>>2]=81094;gg(A,82985,J);a[N>>2]=81094;gg(A,83084,N);a[X>>2]=81094;gg(A,83130,X);gg(A,83219,R);a[H>>2]=81094;gg(A,83260,H);a[p>>2]=81094;gg(A,83343,p);a[U>>2]=81094;gg(A,83444,U);b[T>>3]=r;b[T+8>>3]=i;gg(A,83508,T);gg(A,83536,j);gg(A,83544,S);k=P;return}function Dm(A){A=A|0;var e=0;e=k;k=k+16|0;gg(A,81274,e);k=e;return}function Mm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0,u=0,o=0,h=0,d=0;d=k;k=k+48|0;h=d+24|0;o=d+8|0;u=d;switch(r[i+48>>0]|0){case 108:{c=e;l=+b[i+32>>3];t=+b[e>>3];break}case 114:{l=+b[i+32>>3];n=l;f=5;break}default:{l=+b[i+32>>3];n=l*.5;f=5}}if((f|0)==5){t=+b[e>>3]-n;b[e>>3]=t;c=e}s=i+4|0;f=a[s>>2]|0;n=+b[f+16>>3];e=e+8|0;w=+b[e>>3]+n*.004629629629629629;b[e>>3]=w;l=t+l*.006944444444444444;b[c>>3]=l;f=a[f>>2]|0;do{if(f){e=a[46730]|0;if(e|0?(A1(e,f)|0)==0:0)break;a[u>>2]=pm(f)|0;gg(A,81173,u);u=a[s>>2]|0;a[46730]=a[u>>2];n=+b[u+16>>3]}}while(0);f=~~n;f=(f|0)>1?f:1;if((f|0)!=(a[46731]|0)){t=+b[19214];a[o>>2]=f;b[o+8>>3]=t;gg(A,81181,o);a[46731]=f}a[h>>2]=Um(a[i>>2]|0)|0;b[h+8>>3]=l;b[h+16>>3]=w;gg(A,81202,h);k=d;return}function Fm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0;r=k;k=k+48|0;f=r;l=+b[e>>3];c=(+b[e+16>>3]-l)*.027777777777777776;n=+b[e+8>>3];t=(+b[e+24>>3]-n)*.027777777777777776;a[f>>2]=1;a[f+4>>2]=i|0?81115:195059;b[f+8>>3]=c;b[f+16>>3]=t;b[f+24>>3]=l*.013888888888888888;b[f+32>>3]=n*.013888888888888888;gg(A,81121,f);k=r;return}function Vm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=k;k=k+16|0;Rm(a[A+16>>2]|0,r+8|0,r);Hm(A,e,i,1);k=r;return}function Jm(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0.0,C=0;v=k;k=k+128|0;B=v+112|0;h=v+104|0;o=v+96|0;r=v+88|0;w=v+16|0;u=v;c=a[A+16>>2]|0;t=m2((i*140|0)+140|0)|0;Rm(c,v+116|0,v+80|0);E=+b[e>>3];c=w+48|0;b[c>>3]=E;g=+b[e+8>>3];b[w+56>>3]=g;a[r>>2]=~~(E+(E>=0.0?.5:-.5));a[r+4>>2]=~~(g+(g>=0.0?.5:-.5));l=u+8|0;r=t+(P4(t,81099,r)|0)|0;d=1;n=0;while(1){s=n+3|0;if((s|0)>=(i|0))break;a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];f=1;while(1){if((f|0)==4){f=1;break}C=f+n|0;b[w+(f<<4)>>3]=+b[e+(C<<4)>>3];b[w+(f<<4)+8>>3]=+b[e+(C<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(u,w,3,+(f|0)*.16666666666666666,0,0);g=+b[u>>3];E=+b[l>>3];a[o>>2]=~~(g+(g>=0.0?.5:-.5));a[o+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,o)|0)|0}d=d+6|0;n=s}a[h>>2]=t;gg(A,81106,h);L2(t);f=d+-1|0;r=0;while(1){if((r|0)>=(d|0))break;a[B>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,B);r=r+1|0}kg(A,153599)|0;k=v;return}function Nm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=k;k=k+16|0;Rm(a[A+16>>2]|0,r+8|0,r);Hm(A,e,i,0);k=r;return}function Xm(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=81094;a[r+4>>2]=e;gg(A,81087,r);k=i;return}function Rm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function Hm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function pm(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;A:while(1){e=15828;while(1){i=a[e+4>>2]|0;if(!i)break;if(!(A1(i,A)|0)){n=6;break A}e=e+8|0}a[f>>2]=81255;a[f+4>>2]=A;ao(1,81229,f)|0;e=w3(A,45)|0;if(!e){e=81272;break}r[e>>0]=0}k=l;return e|0}function Um(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46732]|0;if(!e){a[46733]=64;e=m2(64)|0;a[46732]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46733]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46733]=e;e=y2(a[46732]|0,e)|0;a[46732]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46732]|0}function xm(){var A=0,e=0;A=k;k=k+16|0;e=A;a[e>>2]=81255;a[e+4>>2]=91269;ao(0,83634,e)|0;k=A;return}function Tm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0,c=0;r=k;k=k+32|0;f=r+8|0;t=r;e=e+8|0;c=a[e>>2]|0;a[t>>2]=c;a[t+4>>2]=c;gg(A,84223,t);l=(+b[i>>3]+ +b[i+16>>3])*.5;n=(+b[i+8>>3]+ +b[i+24>>3])*.5;a[f>>2]=a[e>>2];b[f+8>>3]=l;b[f+16>>3]=n;gg(A,84265,f);k=r;return}function jm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0.0,c=0.0;r=k;k=k+48|0;f=r;l=+b[i>>3];c=+b[i+16>>3]-l;n=+b[i+24>>3];t=n-+b[i+8>>3];n=+(~~(+b[A+232>>3]-+b[A+216>>3])>>>0)-n;a[f>>2]=a[e+8>>2];b[f+8>>3]=c;b[f+16>>3]=t;b[f+24>>3]=l;b[f+32>>3]=n;gg(A,84310,f);kg(A,84402)|0;k=r;return}function Sm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return}function Pm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0;v=k;k=k+160|0;B=v+152|0;d=v+136|0;h=v+120|0;c=v+112|0;w=v+104|0;s=v+88|0;t=v+72|0;l=v+64|0;u=v;if(!A)vA(111282,84407,212,84426);if(!e)vA(111312,84407,213,84426);o=e+8|0;if(!(a[o>>2]|0))vA(111315,84407,214,84426);if(a[e+52>>2]|0){a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];e=u+32|0;i=i+16|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];f=+b[u>>3];b[u+16>>3]=f;b[u+24>>3]=+b[u+40>>3];b[u+48>>3]=+b[e>>3];n=+b[u+8>>3];b[u+56>>3]=n;if(r<<24>>24){gg(A,84447,l);e=0;while(1){if((e|0)==4)break;g=+b[u+(e<<4)+8>>3];b[t>>3]=+b[u+(e<<4)>>3];b[t+8>>3]=g;gg(A,84450,t);e=e+1|0}b[s>>3]=f;b[s+8>>3]=n;gg(A,84450,s);s=a[o>>2]|0;a[w>>2]=4;a[w+4>>2]=s;gg(A,84457,w)}gg(A,84447,c);e=0;while(1){if((e|0)==4)break;g=+b[u+(e<<4)+8>>3];b[h>>3]=+b[u+(e<<4)>>3];b[h+8>>3]=g;gg(A,84450,h);e=e+1|0}b[d>>3]=f;b[d+8>>3]=n;gg(A,84450,d);d=a[o>>2]|0;a[B>>2]=4;a[B+4>>2]=d;gg(A,84472,B)}k=v;return}function Om(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+112|0;w=u+24|0;s=u+16|0;c=u;l=u+28|0;if(!A)vA(111282,84407,153,84488);if(!e)vA(111312,84407,154,84488);if(!(a[e+8>>2]|0))vA(111315,84407,155,84488);t=e+52|0;if(a[t>>2]|0){f=e+60|0;n=a[f>>2]|0;if((n|0)==100)n=18;else{F5[n&127](e);a[t>>2]=0;a[f>>2]=0;a[e+56>>2]=0;n=10}}else n=10;do{if((n|0)==10){if(!((Rg(e)|0)<<24>>24))break;f=t6(a[e+20>>2]|0)|0;if((a[e+24>>2]&-2|0)==6){D3(f,l)|0;l=a[l+36>>2]|0;a[e+56>>2]=l;f=T2(0,l,1,1,f,0)|0;a[t>>2]=f;r[e+16>>0]=1}else f=a[t>>2]|0;if(f|0)a[e+60>>2]=100;Hg(e);if(a[t>>2]|0)n=18}}while(0);if((n|0)==18){o=+b[i+8>>3]-+(a[e+36>>2]|0);b[c>>3]=+b[i>>3]-+(a[e+32>>2]|0);b[c+8>>3]=o;gg(A,84506,c);if(!(r[e+16>>0]|0)){a[s>>2]=a[e+12>>2];gg(A,84537,s)}else pJ(A,e);gg(A,84552,w)}k=u;return}function Km(A){A=A|0;U2(a[A+52>>2]|0,a[A+56>>2]|0)|0;return}function _m(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+80|0;f=n+48|0;if(!A)vA(111282,84407,121,84562);r=a[A+16>>2]|0;if(!r)vA(99902,84407,123,84562);if(!e)vA(111312,84407,124,84562);i=e+8|0;if(!(a[i>>2]|0))vA(111315,84407,125,84562);if(!(a[r+8>>2]|0))vA(138879,84407,128,84562);else{gg(A,84582,n);gg(A,84591,n+8|0);gg(A,84618,n+16|0);gg(A,84643,n+24|0);gg(A,84672,n+32|0);gg(A,84700,n+40|0);a[f>>2]=a[i>>2];gg(A,84707,f);gg(A,84746,n+56|0);gg(A,111008,n+64|0);k=n;return}}function qm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0.0;l=k;k=k+128|0;n=l+80|0;f=l;if(!A)vA(111282,84407,97,84751);if(!e)vA(111312,84407,98,84751);r=a[e+8>>2]|0;if(!r)vA(111315,84407,99,84751);else{s=+b[i>>3];t=~~(s+(s>=0.0?.5:-.5));s=+b[i+8>>3];e=~~(s+(s>=0.0?.5:-.5));s=+b[i+16>>3];c=~~(s+(s>=0.0?.5:-.5));s=+b[i+24>>3];i=~~(s+(s>=0.0?.5:-.5));a[f>>2]=2;a[f+4>>2]=5;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=-1;a[f+24>>2]=1;a[f+28>>2]=-1;a[f+32>>2]=0;b[f+40>>3]=0.0;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=5;a[f+72>>2]=0;a[f+76>>2]=r;gg(A,84770,f);a[n>>2]=t;a[n+4>>2]=e;a[n+8>>2]=t;a[n+12>>2]=i;a[n+16>>2]=c;a[n+20>>2]=i;a[n+24>>2]=c;a[n+28>>2]=e;a[n+32>>2]=t;a[n+36>>2]=e;gg(A,84828,n);k=l;return}}function $m(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0;u=k;k=k+96|0;w=u+56|0;s=u+32|0;c=u;l=+b[i>>3];t=+b[i+16>>3]-l;f=+b[i+24>>3];n=f-+b[i+8>>3];if(!A)vA(111282,84407,53,84860);if(!e)vA(111312,84407,54,84860);r=e+8|0;if(!(a[r>>2]|0))vA(111315,84407,55,84860);kg(A,84879)|0;kg(A,a[r>>2]|0)|0;r=A+360|0;f=-f;if(!(a[r>>2]|0)){b[w>>3]=t;b[w+8>>3]=n;b[w+16>>3]=l;b[w+24>>3]=f;gg(A,85008,w)}else{b[c>>3]=n;b[c+8>>3]=t;b[c+16>>3]=l;b[c+24>>3]=f;gg(A,84899,c);a[s>>2]=a[r>>2];b[s+8>>3]=l;b[s+16>>3]=f;gg(A,84978,s)}kg(A,85087)|0;k=u;return}function AL(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;eL(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;iL(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function eL(A){A=A|0;var e=0,i=0;Td(A,137447,304,1)|0;FR(A);DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);A=A+16|0;a[(a[A>>2]|0)+176>>2]=0;e=qF(20)|0;i=a[A>>2]|0;a[i+172>>2]=e;a[i+184>>2]=0;i=qF(20)|0;e=a[A>>2]|0;a[e+180>>2]=i;a[e+200>>2]=0;e=qF(12)|0;i=a[A>>2]|0;a[i+196>>2]=e;a[i+192>>2]=0;i=qF(12)|0;e=a[A>>2]|0;a[e+188>>2]=i;a[e+208>>2]=0;e=qF(12)|0;A=a[A>>2]|0;a[A+204>>2]=e;a[A+216>>2]=1;return}function iL(A){A=A|0;var e=0,i=0,n=0,l=0,t=0;Td(A,137460,176,1)|0;VR(A)|0;l=kR(A,a[47174]|0,1,0)|0;n=A+16|0;a[(a[n>>2]|0)+156>>2]=l;l=dR(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,a[47168]|0,195059)|0;t=dR(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,a[47168]|0,195059)|0;e=a[n>>2]|0;i=e+154|0;f[i>>1]=1;f[e+168>>1]=1;if((l|0)==(t|0)&(r[l>>0]|0)!=0){f[i>>1]=1e3;t=e+156|0;a[t>>2]=(a[t>>2]|0)*100}if(qY(A)|0){t=a[n>>2]|0;f[t+154>>1]=0;a[t+156>>2]=0}t=(kR(A,a[47187]|0,0,0)|0)&255;r[(a[n>>2]|0)+152>>0]=t;t=(kR(A,a[47175]|0,1,0)|0)&65535;f[(a[n>>2]|0)+170>>1]=t;return}function rL(A){A=A|0;var e=0,i=0;fL(a[(a[A+16>>2]|0)+192>>2]|0);i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}aL(i);i=bd(A,i)|0}nL(A);return}function fL(A){A=A|0;var e=0,i=0,f=0,n=0;while(1){if(!A)break;f=A+16|0;n=a[(a[f>>2]|0)+164>>2]|0;lL(A);e=a[f>>2]|0;if((r[e+156>>0]|0)!=1){A=n;continue}i=a[e+180>>2]|0;if(i){L2(i);e=a[f>>2]|0}i=a[e+172>>2]|0;if(i){L2(i);e=a[f>>2]|0}L2(e);L2(A);A=n}return}function aL(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=a[r>>2]|0;i=a[e+172>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+180>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+188>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+196>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+204>>2]|0;if(i){L2(i);e=a[r>>2]|0}TF(a[e+104>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);e=a[(a[r>>2]|0)+8>>2]|0;if(e|0)F5[a[(a[e+4>>2]|0)+4>>2]&127](A);Sd(A,137447)|0;return}function nL(A){A=A|0;var e=0,i=0,r=0;e=RB(A)|0;while(1){if(!e)break;nL(e);e=HB(e)|0}if(Td(A,137483,0,1)|0){r=A+16|0;e=a[r>>2]|0;i=a[e+184>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+268>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+216>>2]|0;if(i){L2(i);e=a[r>>2]|0}do{if(a[e+196>>2]|0){i=f[e+236>>1]|0;while(1){if((i|0)>(f[e+238>>1]|0))break;L2(a[(a[e+196>>2]|0)+(i<<6)+12>>2]|0);i=i+1|0;e=a[r>>2]|0}i=a[e+196>>2]|0;if((f[e+236>>1]|0)==-1){L2(i+-64|0);break}else{L2(i);break}}}while(0);if((Zd(A)|0)!=(A|0)){TF(a[(a[r>>2]|0)+12>>2]|0);Sd(A,137483)|0}}return}function lL(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=a[r>>2]|0;e=a[i+176>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=a[(a[i+172>>2]|0)+(A<<2)>>2]|0;CW(e);L2(a[e+16>>2]|0);L2(e);e=A;i=a[r>>2]|0}e=a[i+184>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=a[(a[(a[r>>2]|0)+180>>2]|0)+(A<<2)>>2]|0;CW(e);L2(a[e+16>>2]|0);L2(e);e=A}return}function tL(A){A=A|0;if(vh(A)|0)cL(A);VJ(A);return}function cL(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+48|0;n=l+32|0;f=l;e=sC(A,-1,8)|0;i=wC(A,0,f)|0;bC(A,2,8,f)|0;i=(i|0)==0;r=(e|0)<0;if(r&i)bL(A);else{if(i)a[f+16>>2]=3;else e=r?8:e;a[f+8>>2]=e;a[f+20>>2]=0;r=YE(A,n,0)|0;e=a[n>>2]|0;do{if((e|0)==1){bL(A);e=0}else{if(a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]|0){bL(A);e=0;break}a[f+12>>2]=1;i=0;while(1){if((i|0)>=(e|0))break;e=a[r+(i<<2)>>2]|0;sL(e,A);bL(e);i=i+1|0;e=a[n>>2]|0}wL(A);cC(a[n>>2]|0,r,A,f)|0;uL(A);kL(a[n>>2]|0,r,A);e=0}}while(0);while(1){if((e|0)>=(a[n>>2]|0))break;f=r+(e<<2)|0;L2(a[(a[(a[f>>2]|0)+16>>2]|0)+8>>2]|0);nL(a[f>>2]|0);Cd(A,a[f>>2]|0)|0;e=e+1|0}L2(r)}k=l;return}function bL(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+48|0;b=s+40|0;i=s;t=kR(A,Yo(A,0,85102,0)|0,-1,1)|0;zH(A,10);e=_Y(A,i)|0;hL(A,A);AL(A);r=(t|0)==1;n=i+32|0;l=(t|0)==2;t=(t|0)==3;c=i+28|0;i=i+24|0;while(1){Jz(A,e);if(r){e=3;break}if(a[n>>2]|0){ao(0,85108,b)|0;a[i>>2]=0;e=0}SW(A,(e|0)!=0&1);if(l){e=7;break}Ky(A,e);if(t){e=9;break}w=(a[c>>2]|0)+-1|0;a[c>>2]=w;if(!((w|0)!=0&(a[i>>2]|0)!=0)){e=11;break}}if((e|0)==3)dL(A,1);else if((e|0)==7)dL(A,2);else if((e|0)==9)dL(A,2);else if((e|0)==11){if(f[(a[A+16>>2]|0)+136>>1]&16)BL(A);zY(A);CL(A);if((gR(po(A,85199)|0)|0)<<24>>24)GD(A)}k=s;return}function sL(A,e){A=A|0;e=e|0;var i=0,f=0;Td(A,137483,280,1)|0;i=qF(96)|0;A=a[A+16>>2]|0;a[A+8>>2]=i;e=a[e+16>>2]|0;f=a[e+8>>2]|0;b[i>>3]=+b[f>>3];b[i+24>>3]=+b[f+24>>3];a[A+144>>2]=a[e+144>>2];r[A+115>>0]=r[e+115>>0]|0;a[A+116>>2]=a[e+116>>2];a[A+248>>2]=a[e+248>>2];a[A+252>>2]=a[e+252>>2];a[A+244>>2]=a[e+244>>2];return}function wL(A){A=A|0;var e=0,i=0,r=0;e=qF((vh(A)|0)<<4)|0;i=cd(A)|0;while(1){if(!i)break;r=a[i+16>>2]|0;a[r+132>>2]=e;b[e>>3]=+b[r+16>>3]*.013888888888888888;b[e+8>>3]=+b[r+24>>3]*.013888888888888888;e=e+16|0;i=bd(A,i)|0}return}function uL(A){A=A|0;var e=0,i=0,r=0,f=0;r=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;e=r;i=cd(A)|0;while(1){if(!i)break;f=a[i+16>>2]|0;a[f+132>>2]=0;b[f+16>>3]=+b[e>>3]*72.0;b[f+24>>3]=+b[e+8>>3]*72.0;e=e+16|0;i=bd(A,i)|0}L2(r);return}function kL(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;r=0;f=0;while(1){if((r|0)>=(A|0))break;t=(a[(a[(a[e+(r<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;r=r+1|0;f=t}t=i+16|0;a[(a[t>>2]|0)+180>>2]=f;n=qF((f<<2)+4|0)|0;a[(a[t>>2]|0)+184>>2]=n;n=0;r=1;while(1){if((n|0)>=(A|0))break;l=(a[e+(n<<2)>>2]|0)+16|0;f=1;while(1){i=a[l>>2]|0;if((f|0)>(a[i+180>>2]|0))break;i=zE(a[(a[i+184>>2]|0)+(f<<2)>>2]|0)|0;a[(a[(a[t>>2]|0)+184>>2]|0)+(r<<2)>>2]=i;oL(a[(a[(a[l>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,i);f=f+1|0;r=r+1|0}n=n+1|0}return}function oL(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;Td(e,137483,280,1)|0;n=e+16|0;e=(a[n>>2]|0)+16|0;f=A+16|0;A=(a[f>>2]|0)+16|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];a[e+16>>2]=a[A+16>>2];a[e+20>>2]=a[A+20>>2];a[e+24>>2]=a[A+24>>2];a[e+28>>2]=a[A+28>>2];A=a[f>>2]|0;e=a[n>>2]|0;r[e+275>>0]=r[A+275>>0]|0;e=e+48|0;A=A+48|0;i=e+64|0;do{a[e>>2]=a[A>>2];e=e+4|0;A=A+4|0}while((e|0)<(i|0));A=a[(a[f>>2]|0)+180>>2]|0;a[(a[n>>2]|0)+180>>2]=A;e=qF((A<<2)+4|0)|0;a[(a[n>>2]|0)+184>>2]=e;e=1;while(1){i=a[f>>2]|0;if((e|0)>(A|0))break;i=zE(a[(a[i+184>>2]|0)+(e<<2)>>2]|0)|0;a[(a[(a[n>>2]|0)+184>>2]|0)+(e<<2)>>2]=i;oL(a[(a[(a[f>>2]|0)+184>>2]|0)+(e<<2)>>2]|0,i);e=e+1|0}f=i+12|0;a[(a[n>>2]|0)+12>>2]=a[f>>2];a[f>>2]=0;return}function hL(A,e){A=A|0;e=e|0;if((Zd(A)|0)!=(A|0))Td(A,137483,280,1)|0;if((A|0)==(e|0))a[(a[(Zd(A)|0)+16>>2]|0)+188>>2]=A;A=RB(A)|0;while(1){if(!A)break;hL(A,e);A=HB(A)|0}return}function dL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+1040|0;b=s+8|0;c=s;r=s+16|0;f=Yo(A,1,87171,195059)|0;n=Yo(A,1,85242,195059)|0;l=(e|0)>0;i=(e|0)==1;e=cd(A)|0;while(1){if(!e)break;if(l?(t=e+16|0,a[c>>2]=a[(a[t>>2]|0)+232>>2],P4(r,137395,c)|0,Vo(e,f,r)|0,!i):0){a[b>>2]=a[(a[t>>2]|0)+236>>2];P4(r,137395,b)|0;Vo(e,n,r)|0}e=bd(A,e)|0}k=s;return}function BL(A){A=A|0;var e=0,i=0,r=0;i=XB(A,86675,0)|0;if(i|0){e=cd(i)|0;while(1){if(!e)break;r=bd(i,e)|0;yW(A,e);vL(A,e);aL(e);Ed(A,e)|0;e=r}UB(A,i)|0}return}function vL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=a[(a[e+16>>2]|0)+232>>2]|0;t=A+16|0;A=a[(a[t>>2]|0)+196>>2]|0;i=a[A+(c<<6)>>2]|0;l=A+(c<<6)+4|0;n=0;r=0;while(1){if((r|0)>=(i|0)){f=7;break}f=a[(a[l>>2]|0)+(r<<2)>>2]|0;r=r+1|0;if((f|0)==(e|0)){f=4;break}else n=f}if((f|0)==4){while(1){if((r|0)>=(i|0))break;f=a[A+(c<<6)+4>>2]|0;a[f+(r+-1<<2)>>2]=a[f+(r<<2)>>2];f=a[(a[t>>2]|0)+196>>2]|0;r=r+1|0;i=a[f+(c<<6)>>2]|0;A=f;f=4}a[A+(c<<6)>>2]=i+-1}else if((f|0)==7?(n|0)!=(e|0):0)vA(85208,85215,248,85225);return}function gL(A){A=A|0;return a[(a[(Zd(A)|0)+16>>2]|0)+188>>2]|0}function EL(A,e){A=A|0;e=e|0;var i=0;i=r[A+28>>0]|0;if(r[e+28>>0]|0)if(i<<24>>24){i=~~(+b[A>>3]-+b[e>>3]);if(!i)i=~~(+b[A+8>>3]-+b[e+8>>3])}else i=-1;else i=i<<24>>24!=0&1;return i|0}function CL(A){A=A|0;IL(A,1);return}function IL(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0.0;_=k;k=k+656|0;R=_+592|0;X=_+552|0;i=_+544|0;T=_+96|0;j=_;K=_+632|0;S=A+16|0;O=f[(a[S>>2]|0)+136>>1]&14;H=O&65535;p=T+16|0;a[p>>2]=_+368;U=j+16|0;a[U>>2]=_+192;do{if(O<<16>>16){x=O<<16>>16==4;do{if(x){ZL(A);if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1))Q=9;else{ao(0,85248,i)|0;Q=9}}else if(O<<16>>16==8){ZL(A);if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)){ce(A,0);w=0;s=0;c=0;break}else{GL(A);ce(A,1);w=0;s=0;c=0;break}}else Q=9}while(0);if((Q|0)==9){ID(A);if(PJ()|0)break;P=qF(96)|0;V=a[(a[S>>2]|0)+248>>2]|0;a[K+8>>2]=(V|0)/4|0;a[K+12>>2]=V;c=qF(512)|0;z=K+4|0;a[z>>2]=0;a[K>>2]=0;t=a[S>>2]|0;L=f[t+236>>1]|0;W=0;J=0;N=c;y=c;s=c;w=c;u=c;D=0;M=0;A:while(1){if((L|0)>(f[t+238>>1]|0))break;o=a[t+196>>2]|0;l=a[o+(L<<6)>>2]|0;Y=l+W|0;n=a[o+(L<<6)+4>>2]|0;i=a[n>>2]|0;if(!i)i=D;else{q=+(D|0);i=a[i+16>>2]|0;Z=+b[i+16>>3]-+b[i+88>>3];i=~~(Z>q?q:Z)}if((l|0)!=0?(F=a[n+(l+-1<<2)>>2]|0,(F|0)!=0):0){Z=+(M|0);n=a[F+16>>2]|0;q=+b[n+96>>3]+ +b[n+16>>3];n=~~(q=(l|0))break;c=a[(a[i+(L<<6)+4>>2]|0)+(I<<2)>>2]|0;C=c+16|0;i=a[C>>2]|0;l=a[i+112>>2]|0;if(l){l=l+16|0;t=a[(a[l>>2]|0)+96>>2]|0;if(!t){Q=21;break A}B=t+56|0;i=i+16|0;a[B>>2]=a[i>>2];a[B+4>>2]=a[i+4>>2];a[B+8>>2]=a[i+8>>2];a[B+12>>2]=a[i+12>>2];r[(a[(a[l>>2]|0)+96>>2]|0)+81>>0]=1;i=a[C>>2]|0}if((r[i+156>>0]|0)!=0?(Q5[a[17300>>2]&63](c)|0)<<24>>24==0:0){h=v;i=d;t=g;c=E;l=u}else{B=0;h=v;t=g;c=E;Q=25}e:do{if((Q|0)==25){while(1){Q=0;o=a[C>>2]|0;l=a[(a[o+180>>2]|0)+(B<<2)>>2]|0;if(!l)break;switch(r[(a[l+16>>2]|0)+112>>0]|0){case 6:case 4:{i=h;l=d;break}default:{QL(l,1,16,64);i=h+1|0;a[d+(h<<2)>>2]=l;if(!(i&127)){n=eV(n,(h<<2)+516|0)|0;l=n;t=n;c=n;w=n;u=n}else l=d}}B=B+1|0;h=i;d=l;Q=25}i=a[o+188>>2]|0;i:do{if(!i)l=u;else{B=0;l=u;while(1){i=a[i+(B<<2)>>2]|0;if(!i)break i;QL(i,2,0,128);u=h+1|0;a[d+(h<<2)>>2]=i;if(!(u&127)){n=eV(l,(h<<2)+516|0)|0;i=n;t=n;c=n;w=n;l=n}else i=d;o=a[C>>2]|0;B=B+1|0;h=u;d=i;i=a[o+188>>2]|0}}}while(0);i=a[o+204>>2]|0;if(!i)i=d;else{if(!(r[o+156>>0]|0)){E=o+96|0;q=+b[E>>3];B=o+240|0;b[E>>3]=+b[B>>3];b[B>>3]=q;B=0;o=d}else{B=0;o=d}while(1){i=a[i+(B<<2)>>2]|0;if(!i){i=o;break e}QL(i,0,0,128);u=h+1|0;a[o+(h<<2)>>2]=i;if(!(u&127)){n=eV(w,(h<<2)+516|0)|0;i=n;t=n;c=n;w=n;l=n}else i=o;B=B+1|0;h=u;o=i;i=a[(a[C>>2]|0)+204>>2]|0}}}}while(0);g=a[S>>2]|0;C=a[g+196>>2]|0;I=I+1|0;v=h;d=i;h=g;g=t;E=c;u=l;l=a[C+(L<<6)>>2]|0;i=C}L=L+1|0;W=Y;J=v;N=d;y=g;t=h;s=E;c=n;D=m;M=G}if((Q|0)==21)vA(85316,85329,313,85342);a[K>>2]=D;a[z>>2]=M;K4(y,J,4,58);a[P+84>>2]=qF((W<<5)+11520|0)|0;a[K+16>>2]=qF(L<<5)|0;A:do{if(O<<16>>16==2){i=(a[S>>2]|0)+192|0;while(1){n=a[i>>2]|0;if(!n)break A;l=n+16|0;i=a[l>>2]|0;if((r[i+156>>0]|0)==1?(a[i+104>>2]|0)!=0:0){LL(n);i=a[l>>2]|0}i=i+164|0}}}while(0);G=j+48|0;Q=j+-48|0;m=T+48|0;L=T+-48|0;Z=+(V|0);I=0;A:while(1){if((I|0)>=(J|0))break;E=N+(I<<2)|0;d=a[E>>2]|0;B=WL(d)|0;v=d+16|0;n=a[v>>2]|0;if(!(r[n+44>>0]|0)){n=(r[n+84>>0]|0)==0?B:d;i=n;n=a[n+16>>2]|0}else i=d;l=i+16|0;if(a[n+164>>2]&32){n=a[p>>2]|0;y6(n|0,a[l>>2]|0,176)|0;w=T;u=i;o=w+48|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));a[p>>2]=n;u=a[i>>2]&3;w=a[T>>2]&3;a[((w|0)==3?T:m)+40>>2]=a[((u|0)==2?i:i+-48|0)+40>>2];a[((w|0)==2?T:L)+40>>2]=a[((u|0)==3?i:i+48|0)+40>>2];w=n+16|0;u=(a[l>>2]|0)+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=n+56|0;u=(a[l>>2]|0)+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));r[n+112>>0]=1;a[n+116>>2]=i;i=T}h=i+16|0;C=1;i=I;while(1){g=i+1|0;if((g|0)>=(J|0))break;t=N+(g<<2)|0;i=a[t>>2]|0;if((B|0)!=(WL(i)|0))break;if(!(r[(a[v>>2]|0)+113>>0]|0)){c=i+16|0;n=a[c>>2]|0;if(!(r[n+44>>0]|0)){n=(r[n+84>>0]|0)==0?B:i;i=n;n=a[n+16>>2]|0}l=i+16|0;if(a[n+164>>2]&32){n=a[U>>2]|0;y6(n|0,a[l>>2]|0,176)|0;w=j;u=i;o=w+48|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));a[U>>2]=n;u=a[i>>2]&3;w=a[j>>2]&3;a[((w|0)==3?j:G)+40>>2]=a[((u|0)==2?i:i+-48|0)+40>>2];a[((w|0)==2?j:Q)+40>>2]=a[((u|0)==3?i:i+48|0)+40>>2];w=n+16|0;u=(a[l>>2]|0)+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=n+56|0;u=(a[l>>2]|0)+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));r[n+112>>0]=1;a[n+116>>2]=i}l=a[h>>2]|0;i=n+16|0;w=X;u=l+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=R;u=i;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));if(EL(X,R)|0)break;i=n+56|0;w=X;u=l+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=R;u=i;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));if(EL(X,R)|0)break;V=a[v>>2]|0;if((a[V+164>>2]&15|0)==2?(a[V+96>>2]|0)!=(a[(a[c>>2]|0)+96>>2]|0):0)break;if(a[(a[(a[t>>2]|0)+16>>2]|0)+164>>2]&64|0)break}C=C+1|0;i=g}if(x){if((C|0)==1)i=R;else i=qF(C<<2)|0;a[i>>2]=WL(a[E>>2]|0)|0;n=1;while(1){if((n|0)>=(C|0))break;a[i+(n<<2)>>2]=a[E+(n<<2)>>2];n=n+1|0}fN(A,i,C,H,17296);if((C|0)>1)L2(i);I=g;continue}i=a[d>>2]&3;V=a[((i|0)==3?d:d+48|0)+40>>2]|0;i=a[((i|0)==2?d:d+-48|0)+40>>2]|0;n=a[V+16>>2]|0;l=a[n+232>>2]|0;if((V|0)!=(i|0))if((l|0)==(a[(a[i+16>>2]|0)+232>>2]|0)){yL(A,K,P,N,I,C,H);I=g;continue}else{zL(A,K,P,N,I,C,H);I=g;continue}i=a[S>>2]|0;do{if((l|0)==(f[i+238>>1]|0))if((l|0)>0){i=~~(+b[(a[(a[a[(a[i+196>>2]|0)+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[n+24>>3]);break}else{i=~~+b[n+80>>3];break}else if((l|0)==(f[i+236>>1]|0)){i=~~(+b[n+24>>3]-+b[(a[(a[a[(a[i+196>>2]|0)+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{i=a[i+196>>2]|0;q=+b[n+24>>3];V=~~(+b[(a[(a[a[i+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-q);i=~~(q-+b[(a[(a[a[i+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);i=(V|0)<(i|0)?V:i;break}}while(0);LX(P,N,I,C,Z,+((i|0)/2|0|0),17296);i=0;while(1){if((i|0)>=(C|0)){I=g;continue A}n=a[(a[(a[N+(i+I<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(n|0)pR(A,n);i=i+1|0}}i=(a[S>>2]|0)+192|0;while(1){n=a[i>>2]|0;if(!n)break;l=n+16|0;i=a[l>>2]|0;if((r[i+156>>0]|0)==1?(a[i+104>>2]|0)!=0:0){LL(n);pR(A,a[(a[l>>2]|0)+104>>2]|0);i=a[l>>2]|0}i=i+164|0}if(!e){w=P;c=P}else{YL(A);w=P;c=P}}A:do{if((a[47197]|0)!=0|(a[47198]|0)!=0?(a[47203]|0)!=0|(a[47202]|0)!=0:0){t=cd(A)|0;while(1){if(!t)break A;e:do{if(a[47197]|0){i=qo(A,t)|0;while(1){if(!i)break e;n=i+-48|0;l=(a[i>>2]&3|0)==2?i:n;if(a[(a[l+16>>2]|0)+100>>2]|0){VX(l,1)|0;pR(A,a[(a[((a[i>>2]&3|0)==2?i:n)+16>>2]|0)+100>>2]|0)}i=$o(A,i)|0}}}while(0);e:do{if(a[47198]|0){i=Oo(A,t)|0;while(1){if(!i)break e;n=i+16|0;if(a[(a[n>>2]|0)+104>>2]|0?VX(i,0)|0:0)pR(A,a[(a[n>>2]|0)+104>>2]|0);i=_o(A,i)|0}}}while(0);t=bd(A,t)|0}}}while(0);switch(O&15){case 4:case 8:break;default:{L2(s);L2(a[w+84>>2]|0);L2(c);L2(a[K+16>>2]|0);OJ()}}a[47138]=1;a[47139]=1}}while(0);k=_;return}function ZL(A){A=A|0;var e=0,i=0,r=0.0,f=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;if(a[i+204>>2]|0){f=i+96|0;r=+b[f>>3];i=i+240|0;b[f>>3]=+b[i>>3];b[i>>3]=r}e=bd(A,e)|0}return}function GL(A){A=A|0;var e=0,i=0,f=0,n=0;e=(a[A+16>>2]|0)+192|0;A:while(1){f=a[e>>2]|0;if(!f){e=12;break}n=f+16|0;e=a[n>>2]|0;do{if((r[e+156>>0]|0)==1){i=a[e+112>>2]|0;if(!i){i=a[e+104>>2]|0;if(!i)break;LL(f);e=i}else{i=a[(a[i+16>>2]|0)+96>>2]|0;if(!i){e=6;break A}f=i+56|0;e=e+16|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];r[i+81>>0]=1;e=i}pR(A,e);e=a[n>>2]|0}}while(0);e=e+164|0}if((e|0)==6)vA(85516,85329,234,85535);else if((e|0)==12)return}function QL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0;do{if(!e){n=a[A>>2]&3;e=a[((n|0)==3?A:A+48|0)+40>>2]|0;n=a[((n|0)==2?A:A+-48|0)+40>>2]|0;if((e|0)!=(n|0)){e=(a[(a[e+16>>2]|0)+232>>2]|0)==(a[(a[n+16>>2]|0)+232>>2]|0)?2:1;break}e=a[A+16>>2]|0;if(!(r[e+44>>0]|0))e=(r[e+84>>0]|0)==0?8:4;else e=4}}while(0);A:do{if(!i)switch(e|0){case 1:{i=a[A>>2]&3;i=(a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break A}case 2:{i=a[A>>2]&3;i=(a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break A}default:{i=16;break A}}}while(0);a[(a[A+16>>2]|0)+164>>2]=e|f|i;return}function mL(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;W=k;k=k+624|0;G=W+584|0;Z=W+544|0;B=W+368|0;i=W+192|0;v=W+96|0;E=W;g=v+16|0;a[g>>2]=B;C=E+16|0;a[C>>2]=i;L=a[A>>2]|0;m=a[e>>2]|0;I=L+16|0;h=a[I>>2]|0;e=a[h+164>>2]|0;f=e&15;Q=m+16|0;A=a[Q>>2]|0;n=a[A+164>>2]&15;do{if((n|0)==(f|0)){o=WL(L)|0;d=WL(m)|0;w=a[o>>2]|0;n=w&3;f=a[(a[((n|0)==3?o:o+48|0)+40>>2]|0)+16>>2]|0;n=a[(a[((n|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0;l=(a[f+232>>2]|0)-(a[n+232>>2]|0)|0;u=a[d>>2]|0;s=u&3;c=a[(a[((s|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;s=a[(a[((s|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;t=(a[c+232>>2]|0)-(a[s+232>>2]|0)|0;l=(l|0)>-1?l:0-l|0;t=(t|0)>-1?t:0-t|0;if((l|0)!=(t|0)){A=l-t|0;break}n=~~(+b[f+16>>3]-+b[n+16>>3]);n=(n|0)>-1?n:0-n|0;f=~~(+b[c+16>>3]-+b[s+16>>3]);f=(f|0)>-1?f:0-f|0;if((n|0)!=(f|0)){A=n-f|0;break}n=w>>>4;f=u>>>4;if((n|0)!=(f|0)){A=n-f|0;break}if(!(r[h+44>>0]|0)){e=(r[h+84>>0]|0)==0?o:L;n=e;e=a[(a[e+16>>2]|0)+164>>2]|0}else n=L;f=n+16|0;if(e&32){y6(B|0,a[f>>2]|0,176)|0;l=v;t=n;c=l+48|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));a[g>>2]=B;t=a[n>>2]&3;l=a[v>>2]&3;a[((l|0)==3?v:v+48|0)+40>>2]=a[((t|0)==2?n:n+-48|0)+40>>2];a[((l|0)==2?v:v+-48|0)+40>>2]=a[((t|0)==3?n:n+48|0)+40>>2];l=B+16|0;t=(a[f>>2]|0)+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=B+56|0;t=(a[f>>2]|0)+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[B+112>>0]=1;a[B+116>>2]=n;n=v;A=a[Q>>2]|0}if(!(r[A+44>>0]|0)){A=(r[A+84>>0]|0)==0?d:m;f=A;A=a[A+16>>2]|0}else f=m;e=f+16|0;if(!(a[A+164>>2]&32))i=A;else{y6(i|0,a[e>>2]|0,176)|0;l=E;t=f;c=l+48|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));a[C>>2]=i;t=a[f>>2]&3;l=a[E>>2]&3;a[((l|0)==3?E:E+48|0)+40>>2]=a[((t|0)==2?f:f+-48|0)+40>>2];a[((l|0)==2?E:E+-48|0)+40>>2]=a[((t|0)==3?f:f+48|0)+40>>2];l=i+16|0;t=(a[e>>2]|0)+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=i+56|0;t=(a[e>>2]|0)+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[i+112>>0]=1;a[i+116>>2]=f}e=a[n+16>>2]|0;A=i+16|0;l=Z;t=e+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=G;t=A;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=EL(Z,G)|0;if(!A){A=i+56|0;l=Z;t=e+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=G;t=A;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=EL(Z,G)|0;if(!A){e=a[(a[I>>2]|0)+164>>2]&192;A=a[(a[Q>>2]|0)+164>>2]&192;if((e|0)==(A|0)){A=((a[L>>2]|0)>>>4)-((a[m>>2]|0)>>>4)|0;break}else{A=e-A|0;break}}}}else A=n-f|0}while(0);k=W;return A|0}function LL(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0;f=A+16|0;e=a[f>>2]|0;if(a[e+176>>2]|0){e=a[e+180>>2]|0;while(1){e=(a[e>>2]|0)+16|0;i=a[e>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}i=a[i+96>>2]|0;n=+b[i+24>>3];l=+b[i+32>>3];i=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=a[f>>2]|0;f=a[(a[e>>2]|0)+96>>2]|0;b[f+56>>3]=(i?l:n)*.5+ +b[A+16>>3];b[f+64>>3]=+b[A+24>>3];r[f+81>>0]=1}return}function WL(A){A=A|0;var e=0,i=0;while(1){e=a[A+16>>2]|0;i=a[e+172>>2]|0;if(!i)break;else A=i}while(1){e=a[e+116>>2]|0;if(!e)break;A=e;e=a[e+16>>2]|0}return A|0}function yL(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0,y=0.0,z=0.0,Y=0.0;m=k;k=k+1712|0;I=m+1664|0;B=m+1488|0;v=m+1392|0;Q=m+1696|0;Z=m+696|0;G=m;o=v+16|0;a[o>>2]=B;h=a[f+(n<<2)>>2]|0;d=h+16|0;c=a[d>>2]|0;g=r[c+113>>0]|0;if(a[c+164>>2]&32){y6(B|0,c|0,176)|0;c=v;w=h;u=c+48|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));a[o>>2]=B;c=a[v>>2]&3;a[((c|0)==3?v:v+48|0)+40>>2]=a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2];a[((c|0)==2?v:v+-48|0)+40>>2]=a[((a[h>>2]&3|0)==3?h:h+48|0)+40>>2];c=B+16|0;w=(a[d>>2]|0)+56|0;u=c+40|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));c=B+56|0;w=(a[d>>2]|0)+16|0;u=c+40|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));r[B+112>>0]=1;a[B+116>>2]=h;h=v}c=1;while(1){if((c|0)>=(l|0)){C=6;break}if(!(r[(a[(a[f+(c+n<<2)>>2]|0)+16>>2]|0)+113>>0]|0))c=c+1|0;else{C=7;break}}A:do{if((C|0)==6)if(!(g<<24>>24)){c=a[h+16>>2]|0;if(a[c+96>>2]|0){iW(A,e,i,h,t);break}if((t|0)==2){Q=a[h>>2]&3;rW(a[((Q|0)==3?h:h+48|0)+40>>2]|0,a[((Q|0)==2?h:h+-48|0)+40>>2]|0,f,n,l,2);break}v=r[c+49>>0]|0;g=r[c+89>>0]|0;if(!(v<<24>>24==1&g<<24>>24!=4)?!(v<<24>>24!=4&g<<24>>24==1):0){o=a[h>>2]&3;u=a[((o|0)==3?h:h+48|0)+40>>2]|0;o=a[((o|0)==2?h:h+-48|0)+40>>2]|0;c=a[u+16>>2]|0;w=a[c+232>>2]|0;if((w|0)>0){g=a[(a[A+16>>2]|0)+196>>2]|0;v=w+~(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;s=+b[(a[(a[a[g+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[g+(v<<6)+16>>3]-+b[c+24>>3]-+b[g+(w<<6)+24>>3]}else s=+(a[(a[A+16>>2]|0)+252>>2]|0);L=+(l+1|0);E=+(a[e+12>>2]|0)/L;s=s/L;aW(A,e,i,u,h,Z,1);aW(A,e,i,o,h,G,0);B=Z+52|0;v=G+52|0;o=(t|0)==10;h=i+80|0;c=0;while(1){if((c|0)>=(l|0))break A;d=a[f+(c+n<<2)>>2]|0;u=a[B>>2]|0;w=u+-1|0;Y=+b[Z+56+(w<<5)>>3];z=+b[Z+56+(w<<5)+16>>3];y=+b[Z+56+(w<<5)+24>>3];b[19215]=Y;b[19216]=y;c=c+1|0;L=+(c|0);W=E*L;b[19217]=z+W;L=y+s*L;b[19218]=L;b[19219]=Y;b[19220]=L;w=(a[v>>2]|0)+-1|0;Y=+b[G+56+(w<<5)+16>>3];b[19221]=Y;b[19222]=L+s;y=+b[G+56+(w<<5)>>3];z=+b[G+56+(w<<5)+24>>3];b[19225]=Y;b[19224]=z;b[19223]=y-W;b[19226]=L;w=0;while(1){if((w|0)>=(u|0)){w=0;break}u=Z+56+(w<<5)|0;a[I>>2]=a[u>>2];a[I+4>>2]=a[u+4>>2];a[I+8>>2]=a[u+8>>2];a[I+12>>2]=a[u+12>>2];a[I+16>>2]=a[u+16>>2];a[I+20>>2]=a[u+20>>2];a[I+24>>2]=a[u+24>>2];a[I+28>>2]=a[u+28>>2];CX(i,I);w=w+1|0;u=a[B>>2]|0}while(1){if((w|0)==3)break;t=153720+(w<<5)|0;a[I>>2]=a[t>>2];a[I+4>>2]=a[t+4>>2];a[I+8>>2]=a[t+8>>2];a[I+12>>2]=a[t+12>>2];a[I+16>>2]=a[t+16>>2];a[I+20>>2]=a[t+20>>2];a[I+24>>2]=a[t+24>>2];a[I+28>>2]=a[t+28>>2];CX(i,I);w=w+1|0}u=a[v>>2]|0;while(1){w=u+-1|0;if((u|0)<=0)break;u=G+56+(w<<5)|0;a[I>>2]=a[u>>2];a[I+4>>2]=a[u+4>>2];a[I+8>>2]=a[u+8>>2];a[I+12>>2]=a[u+12>>2];a[I+16>>2]=a[u+16>>2];a[I+20>>2]=a[u+20>>2];a[I+24>>2]=a[u+24>>2];a[I+28>>2]=a[u+28>>2];CX(i,I);u=w}if(o)w=KJ(i,Q)|0;else w=iN(i,Q)|0;u=a[Q>>2]|0;if(!u)break A;gX(d,a[((a[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,w,u,17296);a[h>>2]=0}}fW(A,e,i,f,n,l,h,(t|0)==10&1)}else C=7}while(0);if((C|0)==7)eW(A,f,n,l,h,t);k=m;return}function zL(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0;eA=k;k=k+2576|0;x=eA+2528|0;q=eA+2568|0;c=eA+2352|0;w=eA+2176|0;v=eA+1904|0;K=eA+1808|0;$=eA+1712|0;T=eA+1016|0;j=eA+320|0;S=eA+256|0;O=eA+2564|0;_=eA+2560|0;G=eA+288|0;Q=eA+224|0;J=eA+192|0;N=eA+160|0;X=eA+128|0;R=eA+96|0;H=eA+64|0;p=eA+32|0;P=eA;B=v+16|0;a[B>>2]=c;u=K+16|0;a[u>>2]=w;AA=$+16|0;a[AA>>2]=eA+2e3;if(!(a[46734]|0)){a[46734]=$F(32e3)|0;a[46735]=$F(32e3)|0;a[46736]=2e3;a[46737]=2e3}g=a[f+(n<<2)>>2]|0;V=a[g>>2]&3;o=g+48|0;h=g+-48|0;V=(a[(a[(a[((V|0)==3?g:o)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((V|0)==2?g:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;d=g+16|0;if((((V|0)>-1?V:0-V|0)|0)<=1){c=a[d>>2]|0;if(!(a[c+164>>2]&32)){V=g;w=0}else{w=a[B>>2]|0;y6(w|0,c|0,176)|0;C=v;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[B>>2]=w;C=a[v>>2]&3;a[((C|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];a[((C|0)==2?v:v+-48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=w+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[B>>2]|0;C=c+56|0;I=(a[d>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;w=0;F=12}}else{y6(c|0,a[d>>2]|0,176)|0;C=v;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));C=v+48|0;I=o;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[B>>2]=c;c=a[d>>2]|0;if(!(a[c+164>>2]&32)){y6(w|0,c|0,176)|0;C=K;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[u>>2]=w;u=a[v>>2]|0;a[((u&3|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=K+48|0;I=o;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0))}else{w=a[u>>2]|0;y6(w|0,c|0,176)|0;C=K;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[u>>2]=w;C=a[K>>2]&3;a[((C|0)==3?K:K+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];a[((C|0)==2?K:K+-48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=w+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[u>>2]|0;C=c+56|0;I=(a[d>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;a[c+116>>2]=g;u=a[v>>2]|0;a[((u&3|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];C=(a[B>>2]|0)+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0))}c=WL(g)|0;while(1){w=a[(a[c+16>>2]|0)+172>>2]|0;if(!w)break;else c=w}a[((u&3|0)==2?v:v+-48|0)+40>>2]=a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2];c=a[B>>2]|0;r[c+84>>0]=0;r[c+112>>0]=1;w=c+56|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;w=1;F=12}if((F|0)==12){a[c+116>>2]=g;V=v}D=(t|0)==2;if(D?(E=FL(A,V,a[46734]|0,q)|0,a[_>>2]=E,(E|0)!=0):0)F=63;else F=15;A:do{if((F|0)==15){Y=(t|0)==10;a[_>>2]=0;u=a[V>>2]&3;c=a[((u|0)==3?V:V+48|0)+40>>2]|0;u=a[((u|0)==2?V:V+-48|0)+40>>2]|0;a[q>>2]=u;VL(G,A,e,c,0,V);a[T>>2]=a[G>>2];a[T+4>>2]=a[G+4>>2];a[T+8>>2]=a[G+8>>2];a[T+12>>2]=a[G+12>>2];a[T+16>>2]=a[G+16>>2];a[T+20>>2]=a[G+20>>2];a[T+24>>2]=a[G+24>>2];a[T+28>>2]=a[G+28>>2];a[S>>2]=a[G>>2];a[S+4>>2]=a[G+4>>2];a[S+8>>2]=a[G+8>>2];a[S+12>>2]=a[G+12>>2];a[S+16>>2]=a[G+16>>2];a[S+20>>2]=a[G+20>>2];IX(i,V,1,T,JL(c)|0);m=T+52|0;M=(a[m>>2]|0)+-1|0;W=S+24|0;b[W>>3]=+b[T+56+(M<<5)+24>>3];y=S+8|0;b[y>>3]=+b[T+56+(M<<5)+8>>3];M=a[c+16>>2]|0;z=A+16|0;s=+b[M+24>>3]-+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[M+232>>2]<<6)+16>>3];a[x>>2]=a[S>>2];a[x+4>>2]=a[S+4>>2];a[x+8>>2]=a[S+8>>2];a[x+12>>2]=a[S+12>>2];a[x+16>>2]=a[S+16>>2];a[x+20>>2]=a[S+20>>2];a[x+24>>2]=a[S+24>>2];a[x+28>>2]=a[S+28>>2];NL(Q,x,1,s);a[S>>2]=a[Q>>2];a[S+4>>2]=a[Q+4>>2];a[S+8>>2]=a[Q+8>>2];a[S+12>>2]=a[Q+12>>2];a[S+16>>2]=a[Q+16>>2];a[S+20>>2]=a[Q+20>>2];a[S+24>>2]=a[Q+24>>2];a[S+28>>2]=a[Q+28>>2];Q=S+16|0;if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){M=a[m>>2]|0;a[m>>2]=M+1;M=T+56+(M<<5)|0;a[M>>2]=a[S>>2];a[M+4>>2]=a[S+4>>2];a[M+8>>2]=a[S+8>>2];a[M+12>>2]=a[S+12>>2];a[M+16>>2]=a[S+16>>2];a[M+20>>2]=a[S+20>>2];a[M+24>>2]=a[S+24>>2];a[M+28>>2]=a[S+28>>2]}C=A+60|0;L=j+52|0;I=i+56|0;Z=i+69|0;t=i+16|0;G=i+29|0;M=V;h=0;d=-1;e:while(1){B=c;v=0;c=0;g=M;while(1){o=u;E=u;if((r[(a[o+16>>2]|0)+156>>0]|0)!=1)break e;if((Q5[a[17300>>2]&63](o)|0)<<24>>24)break e;u=v|1;iA=153720+(v<<5)|0;XL(J,e,A,a[(a[B+16>>2]|0)+232>>2]|0);a[iA>>2]=a[J>>2];a[iA+4>>2]=a[J+4>>2];a[iA+8>>2]=a[J+8>>2];a[iA+12>>2]=a[J+12>>2];a[iA+16>>2]=a[J+16>>2];a[iA+20>>2]=a[J+20>>2];a[iA+24>>2]=a[J+24>>2];a[iA+28>>2]=a[J+28>>2];if(!c){h=RL(o)|0;c=(h|0)<((r[(a[(a[C>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);h=c?h:h+-2|0;d=c?d:1;c=(c^1)&1}if(!((c|0)==0|(d|0)>0))break;iA=153720+(u<<5)|0;VL(N,A,e,o,g,a[a[(a[o+16>>2]|0)+180>>2]>>2]|0);a[iA>>2]=a[N>>2];a[iA+4>>2]=a[N+4>>2];a[iA+8>>2]=a[N+8>>2];a[iA+12>>2]=a[N+12>>2];a[iA+16>>2]=a[N+16>>2];a[iA+20>>2]=a[N+20>>2];a[iA+24>>2]=a[N+24>>2];a[iA+28>>2]=a[N+28>>2];iA=a[a[(a[E+16>>2]|0)+180>>2]>>2]|0;u=a[iA>>2]&3;B=a[((u|0)==3?iA:iA+48|0)+40>>2]|0;u=a[((u|0)==2?iA:iA+-48|0)+40>>2]|0;a[q>>2]=u;v=v+2|0;d=d+-1|0;g=iA}VL(X,A,e,o,g,a[a[(a[o+16>>2]|0)+180>>2]>>2]|0);a[j>>2]=a[X>>2];a[j+4>>2]=a[X+4>>2];a[j+8>>2]=a[X+8>>2];a[j+12>>2]=a[X+12>>2];a[j+16>>2]=a[X+16>>2];a[j+20>>2]=a[X+20>>2];a[j+24>>2]=a[X+24>>2];a[j+28>>2]=a[X+28>>2];QX(i,g,1,j,JL(a[((a[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)|0);iA=j+56+((a[L>>2]|0)+-1<<5)|0;v=a[E+16>>2]|0;s=+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[v+232>>2]<<6)+24>>3]+ +b[v+24>>3];a[x>>2]=a[iA>>2];a[x+4>>2]=a[iA+4>>2];a[x+8>>2]=a[iA+8>>2];a[x+12>>2]=a[iA+12>>2];a[x+16>>2]=a[iA+16>>2];a[x+20>>2]=a[iA+20>>2];a[x+24>>2]=a[iA+24>>2];a[x+28>>2]=a[iA+28>>2];NL(S,x,4,s);if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[L>>2]|0;a[L>>2]=iA+1;iA=j+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}b[I>>3]=1.5707963267948966;r[Z>>0]=1;HL(i,M,g,T,j,u);if(!Y){c=iN(i,O)|0;u=a[O>>2]|0;if(D&(u|0)>4){iA=c+16|0;a[iA>>2]=a[c>>2];a[iA+4>>2]=a[c+4>>2];a[iA+8>>2]=a[c+8>>2];a[iA+12>>2]=a[c+12>>2];iA=c+32|0;u=c+(u+-1<<4)|0;a[iA>>2]=a[u>>2];a[iA+4>>2]=a[u+4>>2];a[iA+8>>2]=a[u+8>>2];a[iA+12>>2]=a[u+12>>2];z6(c+48|0,u|0,16)|0;a[O>>2]=4;u=4}else F=33}else{c=KJ(i,O)|0;u=a[O>>2]|0;F=33}if((F|0)==33){F=0;if(!u)break A}g=a[_>>2]|0;o=g+u|0;if((o|0)>(a[46736]|0)){a[46736]=o<<1;v=eV(a[46734]|0,o<<5)|0;a[46734]=v;u=a[O>>2]|0}else v=a[46734]|0;B=0;o=g;while(1){if((B|0)>=(u|0))break;iA=v+(o<<4)|0;g=c+(B<<4)|0;a[iA>>2]=a[g>>2];a[iA+4>>2]=a[g+4>>2];a[iA+8>>2]=a[g+8>>2];a[iA+12>>2]=a[g+12>>2];B=B+1|0;o=o+1|0}a[_>>2]=o;u=pL(a[a[(a[E+16>>2]|0)+180>>2]>>2]|0,h,v,_)|0;UL(M,i);o=a[u>>2]&3;c=a[((o|0)==3?u:u+48|0)+40>>2]|0;o=a[((o|0)==2?u:u+-48|0)+40>>2]|0;a[q>>2]=o;M=c+16|0;VL(R,A,e,c,a[a[(a[M>>2]|0)+172>>2]>>2]|0,u);a[T>>2]=a[R>>2];a[T+4>>2]=a[R+4>>2];a[T+8>>2]=a[R+8>>2];a[T+12>>2]=a[R+12>>2];a[T+16>>2]=a[R+16>>2];a[T+20>>2]=a[R+20>>2];a[T+24>>2]=a[R+24>>2];a[T+28>>2]=a[R+28>>2];IX(i,u,1,T,JL(c)|0);iA=T+56+((a[m>>2]|0)+-1<<5)|0;M=a[M>>2]|0;s=+b[M+24>>3]-+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[M+232>>2]<<6)+16>>3];a[x>>2]=a[iA>>2];a[x+4>>2]=a[iA+4>>2];a[x+8>>2]=a[iA+8>>2];a[x+12>>2]=a[iA+12>>2];a[x+16>>2]=a[iA+16>>2];a[x+20>>2]=a[iA+20>>2];a[x+24>>2]=a[iA+24>>2];a[x+28>>2]=a[iA+28>>2];NL(S,x,1,s);if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[m>>2]|0;a[m>>2]=iA+1;iA=T+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}b[t>>3]=-1.5707963267948966;r[G>>0]=1;M=u;u=o}c=v|1;d=153720+(v<<5)|0;XL(H,e,A,a[(a[B+16>>2]|0)+232>>2]|0);a[d>>2]=a[H>>2];a[d+4>>2]=a[H+4>>2];a[d+8>>2]=a[H+8>>2];a[d+12>>2]=a[H+12>>2];a[d+16>>2]=a[H+16>>2];a[d+20>>2]=a[H+20>>2];a[d+24>>2]=a[H+24>>2];a[d+28>>2]=a[H+28>>2];VL(p,A,e,o,g,0);a[j>>2]=a[p>>2];a[j+4>>2]=a[p+4>>2];a[j+8>>2]=a[p+8>>2];a[j+12>>2]=a[p+12>>2];a[j+16>>2]=a[p+16>>2];a[j+20>>2]=a[p+20>>2];a[j+24>>2]=a[p+24>>2];a[j+28>>2]=a[p+28>>2];a[S>>2]=a[p>>2];a[S+4>>2]=a[p+4>>2];a[S+8>>2]=a[p+8>>2];a[S+12>>2]=a[p+12>>2];a[S+16>>2]=a[p+16>>2];a[S+20>>2]=a[p+20>>2];a[S+24>>2]=a[p+24>>2];a[S+28>>2]=a[p+28>>2];d=(w|0)!=0;B=g+-48|0;QX(i,d?K:g,1,j,JL(a[((a[g>>2]&3|0)==2?g:B)+40>>2]|0)|0);iA=(a[L>>2]|0)+-1|0;b[W>>3]=+b[j+56+(iA<<5)+24>>3];b[y>>3]=+b[j+56+(iA<<5)+8>>3];iA=a[E+16>>2]|0;s=+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[iA+232>>2]<<6)+24>>3]+ +b[iA+24>>3];a[x>>2]=a[S>>2];a[x+4>>2]=a[S+4>>2];a[x+8>>2]=a[S+8>>2];a[x+12>>2]=a[S+12>>2];a[x+16>>2]=a[S+16>>2];a[x+20>>2]=a[S+20>>2];a[x+24>>2]=a[S+24>>2];a[x+28>>2]=a[S+28>>2];NL(P,x,4,s);a[S>>2]=a[P>>2];a[S+4>>2]=a[P+4>>2];a[S+8>>2]=a[P+8>>2];a[S+12>>2]=a[P+12>>2];a[S+16>>2]=a[P+16>>2];a[S+20>>2]=a[P+20>>2];a[S+24>>2]=a[P+24>>2];a[S+28>>2]=a[P+28>>2];if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[L>>2]|0;a[L>>2]=iA+1;iA=j+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}HL(i,M,g,T,j,c);if(Y)h=KJ(i,O)|0;else h=iN(i,O)|0;c=a[O>>2]|0;if(!(D&(c|0)>4)){if(!c)break}else{iA=h+16|0;a[iA>>2]=a[h>>2];a[iA+4>>2]=a[h+4>>2];a[iA+8>>2]=a[h+8>>2];a[iA+12>>2]=a[h+12>>2];iA=h+32|0;c=h+(c+-1<<4)|0;a[iA>>2]=a[c>>2];a[iA+4>>2]=a[c+4>>2];a[iA+8>>2]=a[c+8>>2];a[iA+12>>2]=a[c+12>>2];z6(h+48|0,c|0,16)|0;a[O>>2]=4;c=4}u=a[_>>2]|0;w=u+c|0;if((w|0)>(a[46736]|0)){a[46736]=w<<1;o=eV(a[46734]|0,w<<5)|0;a[46734]=o;c=a[O>>2]|0}else o=a[46734]|0;w=0;while(1){if((w|0)>=(c|0))break;iA=o+(u<<4)|0;O=h+(w<<4)|0;a[iA>>2]=a[O>>2];a[iA+4>>2]=a[O+4>>2];a[iA+8>>2]=a[O+8>>2];a[iA+12>>2]=a[O+12>>2];w=w+1|0;u=u+1|0}a[_>>2]=u;UL(M,i);if(d)c=(a[K>>2]&3|0)==2?K:K+-48|0;else c=(a[g>>2]&3|0)==2?g:B;a[q>>2]=a[c+40>>2];E=u;F=63}}while(0);A:do{if((F|0)==63){if((l|0)==1){gX(V,a[q>>2]|0,a[46734]|0,E,17296);break}v=e+12|0;g=E+-1|0;s=+((U(a[v>>2]|0,l+-1|0)|0)/2|0|0);w=a[46734]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=w+(c<<4)|0;b[iA>>3]=+b[iA>>3]-s;c=c+1|0}c=a[46736]|0;if((c|0)>(a[46737]|0)){a[46737]=c;u=eV(a[46735]|0,c<<4)|0;a[46735]=u;w=a[46734]|0}else u=a[46735]|0;c=0;while(1){if((c|0)>=(E|0))break;iA=u+(c<<4)|0;e=w+(c<<4)|0;a[iA>>2]=a[e>>2];a[iA+4>>2]=a[e+4>>2];a[iA+8>>2]=a[e+8>>2];a[iA+12>>2]=a[e+12>>2];c=c+1|0}gX(V,a[q>>2]|0,u,E,17296);d=$+48|0;B=$+-48|0;h=1;while(1){if((h|0)>=(l|0))break A;u=a[f+(h+n<<2)>>2]|0;o=u+16|0;c=a[o>>2]|0;if(a[c+164>>2]&32){w=a[AA>>2]|0;y6(w|0,c|0,176)|0;C=$;I=u;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[AA>>2]=w;C=a[$>>2]&3;a[((C|0)==3?$:d)+40>>2]=a[((a[u>>2]&3|0)==2?u:u+-48|0)+40>>2];a[((C|0)==2?$:B)+40>>2]=a[((a[u>>2]&3|0)==3?u:u+48|0)+40>>2];C=w+16|0;I=(a[o>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[AA>>2]|0;C=c+56|0;I=(a[o>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;a[c+116>>2]=u;u=$}o=a[46734]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=o+(c<<4)|0;b[iA>>3]=+b[iA>>3]+ +(a[v>>2]|0);c=c+1|0}w=a[46735]|0;c=0;while(1){if((c|0)>=(E|0))break;iA=w+(c<<4)|0;q=o+(c<<4)|0;a[iA>>2]=a[q>>2];a[iA+4>>2]=a[q+4>>2];a[iA+8>>2]=a[q+8>>2];a[iA+12>>2]=a[q+12>>2];c=c+1|0}gX(u,a[((a[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0,w,E,17296);h=h+1|0}}}while(0);k=eA;return}function YL(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;if((Q5[a[4324]&63](i)|0)<<24>>24?(r=a[(a[i+16>>2]|0)+8>>2]|0,r|0):0)DL(r);i=_o(A,i)|0}e=bd(A,e)|0}return}function DL(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[A+4>>2]|0;n=$F(f*48|0)|0;e=n;i=0;r=(a[A>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((i|0)>=(f|0)){e=0;break}ML(r,e);e=e+48|0;i=i+1|0;r=r+-48|0}while(1){i=a[A>>2]|0;if((e|0)>=(f|0))break;L2(a[i+(e*48|0)>>2]|0);e=e+1|0}L2(i);a[A>>2]=n;return}function ML(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=a[A+4>>2]|0;l=$F(n<<4)|0;i=l;r=0;f=(a[A>>2]|0)+(n+-1<<4)|0;while(1){if((r|0)>=(n|0))break;a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2];i=i+16|0;r=r+1|0;f=f+-16|0}a[e>>2]=l;a[e+4>>2]=n;a[e+8>>2]=a[A+12>>2];a[e+12>>2]=a[A+8>>2];l=e+16|0;n=A+32|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];l=e+32|0;n=A+16|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];return}function FL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+96|0;h=I+80|0;B=I+64|0;d=I+48|0;g=I+32|0;E=I+16|0;C=I;s=e;while(1){v=s+16|0;n=a[v>>2]|0;if(!(r[n+112>>0]|0))break;s=a[n+116>>2]|0}n=a[s>>2]&3;u=a[((n|0)==2?s:s+-48|0)+40>>2]|0;n=a[((n|0)==3?s:s+48|0)+40>>2]|0;s=u+16|0;w=n+16|0;Z=(a[(a[s>>2]|0)+232>>2]|0)-(a[(a[w>>2]|0)+232>>2]|0)|0;switch(((Z|0)>-1?Z:0-Z|0)|0){case 1:{n=0;break}case 2:{if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1))o=6;else n=0;break}default:o=6}do{if((o|0)==6){if((a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(n|0)){a[f>>2]=u;Z=(a[w>>2]|0)+16|0;o=(a[v>>2]|0)+16|0;a[B>>2]=a[Z>>2];a[B+4>>2]=a[Z+4>>2];a[B+8>>2]=a[Z+8>>2];a[B+12>>2]=a[Z+12>>2];a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];$L(g,B,h);o=(a[s>>2]|0)+16|0;Z=(a[v>>2]|0)+56|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];$L(E,B,h)}else{a[f>>2]=n;Z=(a[s>>2]|0)+16|0;o=(a[v>>2]|0)+56|0;a[B>>2]=a[Z>>2];a[B+4>>2]=a[Z+4>>2];a[B+8>>2]=a[Z+8>>2];a[B+12>>2]=a[Z+12>>2];a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];$L(g,B,h);o=(a[w>>2]|0)+16|0;Z=(a[v>>2]|0)+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];$L(E,B,h)}n=a[(a[v>>2]|0)+96>>2]|0;if(!n){n=i+16|0;a[i>>2]=a[g>>2];a[i+4>>2]=a[g+4>>2];a[i+8>>2]=a[g+8>>2];a[i+12>>2]=a[g+12>>2];a[n>>2]=a[g>>2];a[n+4>>2]=a[g+4>>2];a[n+8>>2]=a[g+8>>2];a[n+12>>2]=a[g+12>>2];n=i+48|0;Z=i+32|0;a[Z>>2]=a[E>>2];a[Z+4>>2]=a[E+4>>2];a[Z+8>>2]=a[E+8>>2];a[Z+12>>2]=a[E+12>>2];a[n>>2]=a[E>>2];a[n+4>>2]=a[E+4>>2];a[n+8>>2]=a[E+8>>2];a[n+12>>2]=a[E+12>>2];n=4;break}t=+b[n+24>>3];l=+b[n+32>>3];o=(a[(a[(Id(u)|0)+16>>2]|0)+116>>2]&1|0)==0;c=o?l:t;Z=(a[(a[v>>2]|0)+96>>2]|0)+56|0;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[d>>2]=a[E>>2];a[d+4>>2]=a[E+4>>2];a[d+8>>2]=a[E+8>>2];a[d+12>>2]=a[E+12>>2];a[B>>2]=a[g>>2];a[B+4>>2]=a[g+4>>2];a[B+8>>2]=a[g+8>>2];a[B+12>>2]=a[g+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];Z=(AW(d,B,h)|0)==0;l=(o?t:l)*.5;t=+b[C>>3];if(Z){b[C>>3]=t-l;Z=C+8|0;b[Z>>3]=+b[Z>>3]+c*.5}else{b[C>>3]=t+l;Z=C+8|0;b[Z>>3]=+b[Z>>3]-c*.5}n=i+16|0;a[i>>2]=a[g>>2];a[i+4>>2]=a[g+4>>2];a[i+8>>2]=a[g+8>>2];a[i+12>>2]=a[g+12>>2];a[n>>2]=a[g>>2];a[n+4>>2]=a[g+4>>2];a[n+8>>2]=a[g+8>>2];a[n+12>>2]=a[g+12>>2];n=i+32|0;Z=i+48|0;g=i+64|0;a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];a[n>>2]=a[C>>2];a[n+4>>2]=a[C+4>>2];a[n+8>>2]=a[C+8>>2];a[n+12>>2]=a[C+12>>2];n=i+80|0;Z=i+96|0;a[Z>>2]=a[E>>2];a[Z+4>>2]=a[E+4>>2];a[Z+8>>2]=a[E+8>>2];a[Z+12>>2]=a[E+12>>2];a[n>>2]=a[E>>2];a[n+4>>2]=a[E+4>>2];a[n+8>>2]=a[E+8>>2];a[n+12>>2]=a[E+12>>2];n=7}}while(0);k=I;return n|0}function VL(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0,s=0,w=0.0,u=0,k=0.0,o=0.0,h=0;h=a[f+16>>2]|0;o=+b[h+16>>3];t=o-+b[h+88>>3];w=t+-4.0;s=OL(e,f,n,l,-1)|0;if(!s){u=~~(t+(w>=0.0?-3.5:-4.5));c=a[i>>2]|0;c=(c|0)>(u|0)?u:c}else{c=KL(e,f,s)|0;do{if(!c){u=a[s+16>>2]|0;t=+b[u+240>>3]+ +b[u+16>>3];if(!(r[u+156>>0]|0)){t=+(a[(a[e+16>>2]|0)+248>>2]|0)*.5+t;break}else{t=t+ +(a[i+8>>2]|0);break}}else t=+b[(a[c+16>>2]|0)+32>>3]+ +(a[i+8>>2]|0)}while(0);k=t=0.0?.5:-.5))}k=+(c|0);u=(r[h+156>>0]|0)==1;if(u?(a[h+104>>2]|0)!=0:0)w=o+10.0;else w=o+4.0+ +b[h+96>>3];s=OL(e,f,n,l,1)|0;if(!s){f=~~(w+(w>=0.0?.5:-.5));c=a[i+4>>2]|0;c=(c|0)<(f|0)?f:c}else{c=KL(e,f,s)|0;do{if(!c){f=a[s+16>>2]|0;t=+b[f+16>>3]-+b[f+88>>3];if(!(r[f+156>>0]|0)){t=t-+(a[(a[e+16>>2]|0)+248>>2]|0)*.5;break}else{t=t-+(a[i+8>>2]|0);break}}else t=+b[(a[c+16>>2]|0)+16>>3]-+(a[i+8>>2]|0)}while(0);w=t>w?t:w;c=~~(w+(w>=0.0?.5:-.5))}t=+(c|0);if(u?(a[h+104>>2]|0)!=0:0){t=t-+b[h+96>>3];if(t>3];e=a[(a[e+16>>2]|0)+196>>2]|0;h=a[h+232>>2]|0;w=o-+b[e+(h<<6)+16>>3];o=+b[e+(h<<6)+24>>3]+o;b[A>>3]=k;b[A+8>>3]=w;b[A+16>>3]=t;b[A+24>>3]=o;return}function JL(A){A=A|0;A=a[A+16>>2]|0;if((r[A+156>>0]|0)==1)if((a[A+176>>2]|0)>1)A=1;else A=(a[A+184>>2]|0)>1&1;else A=0;return A|0}function NL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0;n=k;k=k+32|0;f=n;switch(i|0){case 1:{PL(f,+b[e>>3],r,+b[e+16>>3],+b[e+8>>3]);break}case 4:{PL(f,+b[e>>3],+b[e+24>>3],+b[e+16>>3],r);break}default:{}}a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];a[A+16>>2]=a[f+16>>2];a[A+20>>2]=a[f+20>>2];a[A+24>>2]=a[f+24>>2];a[A+28>>2]=a[f+28>>2];k=n;return}function XL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0;s=a[e+16>>2]|0;c=s+(r<<5)|0;t=+b[c>>3];w=s+(r<<5)+8|0;n=+b[w>>3];u=s+(r<<5)+16|0;f=+b[u>>3];s=s+(r<<5)+24|0;l=+b[s>>3];if(t==f){i=a[(a[i+16>>2]|0)+196>>2]|0;k=r+1|0;t=+(a[e>>2]|0);n=+b[i+(k<<6)+24>>3]+ +b[(a[(a[a[i+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(a[e+4>>2]|0);l=+b[(a[(a[a[i+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[i+(r<<6)+16>>3];b[c>>3]=t;b[w>>3]=n;b[u>>3]=f;b[s>>3]=l}b[A>>3]=t;b[A+8>>3]=n;b[A+16>>3]=f;b[A+24>>3]=l;return}function RL(A){A=A|0;var e=0,i=0;A=a[A+16>>2]|0;i=A+16|0;e=0;while(1){A=a[a[A+180>>2]>>2]|0;A=a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;if((r[A+156>>0]|0)!=1)break;if((a[A+184>>2]|0)!=1)break;if((a[A+176>>2]|0)!=1)break;if(+b[A+16>>3]!=+b[i>>3])break;e=e+1|0}return e|0}function HL(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=k;k=k+32|0;c=b;l=TL(e,-1)|0;e=TL(e,1)|0;if(!((l|0)!=0?!(JX(l)|0):0))t=3;do{if((t|0)==3){if(e|0?(JX(e)|0)==0:0)break;l=jL(i,-1)|0;e=jL(i,1)|0;if(l|0?(JX(l)|0)==0:0)break;if(e|0?(JX(e)|0)==0:0)break;l=r+52|0;e=0;while(1){if((e|0)>=(a[l>>2]|0))break;i=r+56+(e<<5)|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[c+16>>2]=a[i+16>>2];a[c+20>>2]=a[i+20>>2];a[c+24>>2]=a[i+24>>2];a[c+28>>2]=a[i+28>>2];CX(A,c);e=e+1|0}l=a[A+80>>2]|0;t=n+-3|0;e=0;while(1){if((e|0)>=(n|0))break;r=153720+(e<<5)|0;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[c+16>>2]=a[r+16>>2];a[c+20>>2]=a[r+20>>2];a[c+24>>2]=a[r+24>>2];a[c+28>>2]=a[r+28>>2];CX(A,c);e=e+1|0}i=l+1|0;t=t+i|0;l=a[f+52>>2]|0;while(1){e=l+-1|0;if((l|0)<=0)break;l=f+56+(e<<5)|0;a[c>>2]=a[l>>2];a[c+4>>2]=a[l+4>>2];a[c+8>>2]=a[l+8>>2];a[c+12>>2]=a[l+12>>2];a[c+16>>2]=a[l+16>>2];a[c+20>>2]=a[l+20>>2];a[c+24>>2]=a[l+24>>2];a[c+28>>2]=a[l+28>>2];CX(A,c);l=e}SL(A,i,t)}}while(0);k=b;return}function pL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=a[r>>2]|0;while(1){if(!e)break;A=a[a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;e=e+-1|0}a[r>>2]=f+1;n=i+(f<<4)|0;e=i+(f+-1<<4)|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];f=a[r>>2]|0;a[r>>2]=f+1;f=i+(f<<4)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];f=i+(a[r>>2]<<4)|0;r=(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];return A|0}function UL(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0;w=e+84|0;s=e+80|0;i=0;e=A;A:while(1){t=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;c=t+16|0;if((r[(a[c>>2]|0)+156>>0]|0)!=1)break;if((Q5[a[17300>>2]&63](t)|0)<<24>>24)break;e=a[s>>2]|0;while(1){if((i|0)>=(e|0))break A;if(!(+b[(a[w>>2]|0)+(i<<5)+8>>3]>+b[(a[c>>2]|0)+24>>3]))break;i=i+1|0}e=a[w>>2]|0;A=a[c>>2]|0;do{if(!(+b[e+(i<<5)+24>>3]<+b[A+24>>3])){n=+b[e+(i<<5)>>3];l=~~n;f=+b[e+(i<<5)+16>>3];if(!(a[A+104>>2]|0)){xL(t,l,~~((f+n)*.5),~~f);break}else{xL(t,l,~~f,~~(+b[A+96>>3]+f));break}}}while(0);e=a[a[(a[c>>2]|0)+180>>2]>>2]|0}return}function xL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[A+16>>2]|0;b[A+16>>3]=+(i|0);b[A+88>>3]=+(i-e|0);b[A+96>>3]=+(r-i|0);return}function TL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=a[(a[(a[((l|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;l=((l|0)==2?A:A+-48|0)+40|0;n=0;A=0;while(1){r=a[t+(n<<2)>>2]|0;if(!r)break;f=a[(a[(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((U(f-(a[(a[(a[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=a[r+16>>2]|0;if(!(a[i+8>>2]|0)){i=a[i+116>>2]|0;if(!i)break;if(!(a[(a[i+16>>2]|0)+8>>2]|0))break}if(A|0?(U((a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);n=n+1|0}return A|0}function jL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=a[(a[(a[((l|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;l=((l|0)==3?A:A+48|0)+40|0;n=0;A=0;while(1){r=a[t+(n<<2)>>2]|0;if(!r)break;f=a[(a[(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((U(f-(a[(a[(a[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=a[r+16>>2]|0;if(!(a[i+8>>2]|0)){i=a[i+116>>2]|0;if(!i)break;if(!(a[(a[i+16>>2]|0)+8>>2]|0))break}if(A|0?(U((a[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);n=n+1|0}return A|0}function SL(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=A+84|0;l=e+-1|0;while(1){if((l|0)>(i|0))break;f=a[s>>2]|0;t=f+(l<<5)|0;r=+b[t>>3];if(!(l-e&1)){f=f+(l<<5)+16|0;w=+b[f>>3];n=~~((w+r)*.5);if(r>=w){b[t>>3]=+(n+-8|0);b[f>>3]=+(n+8|0)}}else{f=f+(l<<5)+16|0;w=+b[f>>3];n=~~((w+r)*.5);if(r+16.0>w){b[t>>3]=+(n+-8|0);b[f>>3]=+(n+8|0)}}l=l+1|0}c=(a[A+80>>2]|0)+-1|0;n=0;while(1){if((n|0)>=(c|0))break;l=a[s>>2]|0;f=l+(n<<5)|0;t=n+1|0;A=l+(t<<5)|0;if(!((n|0)<(e|0)|(n|0)>(i|0))?(n-e&1|0)==0:0){r=+b[f>>3]+16.0;f=l+(t<<5)+16|0;if(r>+b[f>>3])b[f>>3]=r;r=+b[l+(n<<5)+16>>3]+-16.0;if(!(r<+b[A>>3])){n=t;continue}b[A>>3]=r;n=t;continue}if(!((n|0)<(i|0)&(t|0)>=(e|0))){n=t;continue}if(t-e&1|0){n=t;continue}r=+b[l+(t<<5)+16>>3];if(+b[f>>3]+16.0>r)b[f>>3]=r+-16.0;f=l+(n<<5)+16|0;r=+b[A>>3];if(!(+b[f>>3]+-16.0>3]=r+16.0;n=t}return}function PL(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function OL(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=a[(a[A+16>>2]|0)+196>>2]|0;l=a[e+16>>2]|0;c=a[l+232>>2]|0;t=b+(c<<6)|0;c=b+(c<<6)+4|0;l=a[l+236>>2]|0;A:do{l=l+n|0;if((l|0)<=-1){A=0;break}if((l|0)>=(a[t>>2]|0)){A=0;break}A=a[(a[c>>2]|0)+(l<<2)>>2]|0;b=a[A+16>>2]|0;switch(r[b+156>>0]|0){case 0:break A;case 1:{if(a[b+104>>2]|0)break A;break}default:{}}}while((qL(A,e,i,f)|0)<<24>>24!=0);return A|0}function KL(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;e=a[e+16>>2]|0;if(!(r[e+156>>0]|0)){t=a[e+212>>2]|0;l=t}else{t=a[(a[(a[a[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=a[t>>2]&3;l=a[(a[(a[((n|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;t=a[(a[(a[((n|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}e=a[i+16>>2]|0;if(!(r[e+156>>0]|0)){i=a[e+212>>2]|0;i=(i|0)==(A|0)?0:i;return((i|0)==(l|0)|((i|0)==0|(i|0)==(t|0))?0:i)|0}f=a[(a[(a[a[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=a[f>>2]&3;e=a[(a[(a[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if(!(!((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))?(_L(e,i)|0)!=0:0)){e=a[(a[(a[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))e=0;else{i=(_L(e,i)|0)==0;return(i?0:e)|0}}return e|0}function _L(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=a[A+16>>2]|0;A=a[e+16>>2]|0;f=+b[A+16>>3];if((+b[i+16>>3]<=f?f<=+b[i+32>>3]:0)?(r=+b[A+24>>3],+b[i+24>>3]<=r):0)A=r<=+b[i+40>>3]&1;else A=0;return A|0}function qL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;t=a[A+16>>2]|0;c=(a[t+236>>2]|0)>(a[(a[e+16>>2]|0)+236>>2]|0);A:do{if((a[t+184>>2]|0)==1){e:do{if(f|0){l=0;A=a[a[t+180>>2]>>2]|0;while(1){if((l|0)>=2)break e;A=a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;e=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((A|0)==(e|0))break e;n=a[A+16>>2]|0;A=a[e+16>>2]|0;if(c^(a[n+236>>2]|0)>(a[A+236>>2]|0)){A=1;break A}if((a[n+184>>2]|0)!=1)break e;if(!(r[n+156>>0]|0))break e;if((a[A+184>>2]|0)!=1)break e;if(!(r[A+156>>0]|0))break e;l=l+1|0;f=a[a[A+180>>2]>>2]|0;A=a[a[n+180>>2]>>2]|0}}}while(0);if(i|0?(a[t+176>>2]|0)==1:0){n=0;e=i;A=a[a[t+172>>2]>>2]|0;while(1){if((n|0)>=2){A=0;break A}A=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;e=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((A|0)==(e|0)){A=0;break A}f=a[A+16>>2]|0;A=a[e+16>>2]|0;if(c^(a[f+236>>2]|0)>(a[A+236>>2]|0)){A=1;break A}if((a[f+176>>2]|0)!=1){A=0;break A}if(!(r[f+156>>0]|0)){A=0;break A}if((a[A+176>>2]|0)!=1){A=0;break A}if(!(r[A+156>>0]|0)){A=0;break A}n=n+1|0;e=a[a[A+172>>2]>>2]|0;A=a[a[f+172>>2]>>2]|0}}else A=0}else A=0}while(0);return A|0}function $L(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function AW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];return(~~((+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r))|0)>0|0}function eW(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0;U=k;k=k+256|0;W=U+232|0;L=U+216|0;H=U+88|0;R=U+80|0;V=U+64|0;J=U+200|0;N=U+184|0;X=U;y=U+168|0;z=U+152|0;Y=U+136|0;D=U+120|0;M=U+104|0;m=a[n>>2]&3;F=a[((m|0)==3?n:n+48|0)+40>>2]|0;m=a[((m|0)==2?n:n+-48|0)+40>>2]|0;do{if((sN(F)|0)!=2?(sN(m)|0)!=2:0){n=0;t=0;c=0;while(1){if((c|0)>=(f|0))break;Q=a[(a[e+(c+i<<2)>>2]|0)+16>>2]|0;n=n+((a[Q+96>>2]|0)!=0&1)|0;if(!((r[Q+44>>0]|0)==0?(r[Q+84>>0]|0)==0:0))t=1;c=c+1|0}if(!t)if(!n){rW(F,m,e,i,f,l);break}else{tW(F,m,e,i,f,l,n);break}Z=qF(156)|0;G=cW(A,Z)|0;v=XB(G,85478,1)|0;Td(v,137483,280,1)|0;xo(v,87171,87185)|0;s=+b[(a[m+16>>2]|0)+16>>3];B=+b[(a[F+16>>2]|0)+16>>3];Q=A+16|0;h=(a[(a[Q>>2]|0)+116>>2]&1|0)==0;d=h?m:F;h=h?F:m;v=bW(v,h)|0;g=bW(G,d)|0;n=0;o=0;while(1){if((o|0)>=(f|0))break;t=e+(o+i<<2)|0;while(1){u=a[t>>2]|0;w=u+16|0;t=a[w>>2]|0;if(!(r[t+112>>0]|0))break;else t=t+116|0}if((a[((a[u>>2]&3|0)==3?u:u+48|0)+40>>2]|0)==(h|0))c=sW(G,v,g,u)|0;else c=sW(G,g,v,u)|0;t=a[w>>2]|0;a[t+120>>2]=c;if(!n)if((r[t+44>>0]|0)==0?(r[t+84>>0]|0)==0:0){a[(a[c+16>>2]|0)+120>>2]=u;n=c}else n=0;o=o+1|0}if(!n)I=th(G,v,g,0,1)|0;else I=n;Vo(I,a[47174]|0,85482)|0;n=G+16|0;w=a[n>>2]|0;a[w+144>>2]=a[(a[Q>>2]|0)+144>>2];a[w+188>>2]=G;zH(G,l);AL(G);Jz(G,0);SW(G,0);Ky(G,0);h=h+16|0;l=a[h>>2]|0;w=a[d+16>>2]|0;d=v+16|0;u=a[d>>2]|0;o=u+16|0;E=+(~~s|0);C=+(~~((+b[(a[g+16>>2]|0)+16>>3]+ +b[o>>3])*.5)|0);s=+(~~B|0);B=+(~~((+b[l+16>>3]-+b[l+96>>3]+ +b[w+16>>3]+ +b[w+88>>3])*.5)|0);w=u+24|0;n=(a[n>>2]|0)+192|0;while(1){t=a[n>>2]|0;if(!t)break;do{if((t|0)!=(v|0)){n=a[t+16>>2]|0;c=n+24|0;if((t|0)==(g|0)){b[c>>3]=s;b[n+16>>3]=C;break}else{b[c>>3]=B;break}}else{b[w>>3]=E;b[o>>3]=C;n=u}}while(0);n=n+164|0}zY(G);IL(G,0);VJ(G);c=a[h>>2]|0;n=a[d>>2]|0;if(!(a[(a[Q>>2]|0)+116>>2]&1)){t=n+16|0;s=+b[c+24>>3]-+b[n+24>>3]}else{t=n+24|0;s=+b[n+16>>3]+ +b[c+24>>3]}b[V>>3]=+b[c+16>>3]-+b[t>>3];b[V+8>>3]=s;l=X+16|0;v=X+32|0;g=X+48|0;d=0;while(1){if((d|0)>=(f|0))break;n=e+(d+i<<2)|0;while(1){t=a[n>>2]|0;h=t+16|0;n=a[h>>2]|0;if(!(r[n+112>>0]|0))break;else n=n+116|0}u=a[n+120>>2]|0;o=u+16|0;n=a[o>>2]|0;if(!((u|0)==(I|0)&(a[n+120>>2]|0)==0)){w=a[a[n+8>>2]>>2]|0;u=w+4|0;t=vX(t,a[u>>2]|0)|0;a[t+8>>2]=a[w+8>>2];n=t+16|0;c=w+16|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(J,L,W,x);a[n>>2]=a[J>>2];a[n+4>>2]=a[J+4>>2];a[n+8>>2]=a[J+8>>2];a[n+12>>2]=a[J+12>>2];a[t+12>>2]=a[w+12>>2];n=t+32|0;x=w+32|0;c=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[x>>2];a[L+4>>2]=a[x+4>>2];a[L+8>>2]=a[x+8>>2];a[L+12>>2]=a[x+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(N,L,W,c);a[n>>2]=a[N>>2];a[n+4>>2]=a[N+4>>2];a[n+8>>2]=a[N+8>>2];a[n+12>>2]=a[N+12>>2];n=0;while(1){if((n|0)>=(a[u>>2]|0))break;c=(a[t>>2]|0)+(n<<4)|0;T=(a[w>>2]|0)+(n<<4)|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[T>>2];a[L+4>>2]=a[T+4>>2];a[L+8>>2]=a[T+8>>2];a[L+12>>2]=a[T+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(y,L,W,x);a[c>>2]=a[y>>2];a[c+4>>2]=a[y+4>>2];a[c+8>>2]=a[y+8>>2];a[c+12>>2]=a[y+12>>2];a[X>>2]=a[y>>2];a[X+4>>2]=a[y+4>>2];a[X+8>>2]=a[y+8>>2];a[X+12>>2]=a[y+12>>2];c=n+1|0;if((c|0)>=(a[u>>2]|0)){p=48;break}x=(a[t>>2]|0)+(c<<4)|0;c=(a[w>>2]|0)+(c<<4)|0;T=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(z,L,W,T);a[x>>2]=a[z>>2];a[x+4>>2]=a[z+4>>2];a[x+8>>2]=a[z+8>>2];a[x+12>>2]=a[z+12>>2];a[l>>2]=a[z>>2];a[l+4>>2]=a[z+4>>2];a[l+8>>2]=a[z+8>>2];a[l+12>>2]=a[z+12>>2];x=n+2|0;T=(a[t>>2]|0)+(x<<4)|0;x=(a[w>>2]|0)+(x<<4)|0;c=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[x>>2];a[L+4>>2]=a[x+4>>2];a[L+8>>2]=a[x+8>>2];a[L+12>>2]=a[x+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(Y,L,W,c);a[T>>2]=a[Y>>2];a[T+4>>2]=a[Y+4>>2];a[T+8>>2]=a[Y+8>>2];a[T+12>>2]=a[Y+12>>2];a[v>>2]=a[Y>>2];a[v+4>>2]=a[Y+4>>2];a[v+8>>2]=a[Y+8>>2];a[v+12>>2]=a[Y+12>>2];T=n+3|0;c=(a[w>>2]|0)+(T<<4)|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(D,L,W,x);a[g>>2]=a[D>>2];a[g+4>>2]=a[D+4>>2];a[g+8>>2]=a[D+8>>2];a[g+12>>2]=a[D+12>>2];sI((a[Q>>2]|0)+16|0,X);n=T}if((p|0)==48)p=0;n=a[(a[h>>2]|0)+96>>2]|0;if(n|0){T=n+56|0;o=(a[(a[o>>2]|0)+96>>2]|0)+56|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[o>>2];a[L+4>>2]=a[o+4>>2];a[L+8>>2]=a[o+8>>2];a[L+12>>2]=a[o+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(M,L,W,x);a[T>>2]=a[M>>2];a[T+4>>2]=a[M+4>>2];a[T+8>>2]=a[M+8>>2];a[T+12>>2]=a[M+12>>2];T=a[(a[h>>2]|0)+96>>2]|0;r[T+81>>0]=1;pR(A,T)}}d=d+1|0}uW(G,Z)}else p=3}while(0);if((p|0)==3?(a[46738]|0)==0:0){a[46738]=1;ao(0,85355,R)|0;p=Vh(F)|0;x=(Ih(A)|0)!=0;T=Vh(m)|0;a[H>>2]=p;a[H+4>>2]=x?137738:141747;a[H+8>>2]=T;ao(3,85461,H)|0}k=U;return}function iW(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0.0,W=0.0,y=0.0;G=k;k=k+1600|0;g=G+1552|0;w=G+1536|0;v=G+840|0;E=G+144|0;C=G+1584|0;t=G+32|0;B=G+16|0;u=G;h=a[f>>2]&3;o=a[((h|0)==3?f:f+48|0)+40>>2]|0;I=f+-48|0;h=a[((h|0)==2?f:I)+40>>2]|0;d=f+16|0;c=a[d>>2]|0;l=a[c+172>>2]|0;while(1){s=a[(a[l+16>>2]|0)+172>>2]|0;if(!s)break;else l=s}c=(a[c+96>>2]|0)+56|0;l=(a[((a[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)+16|0;s=(a[l>>2]|0)+16|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];c=a[d>>2]|0;r[(a[c+96>>2]|0)+81>>0]=1;if((n|0)!=2){c=a[l>>2]|0;L=+b[c+16>>3];y=L-+b[c+88>>3];L=+b[c+96>>3]+L;m=+b[c+24>>3];W=+b[c+80>>3]*.5+m;c=a[(a[A+16>>2]|0)+196>>2]|0;s=a[o+16>>2]|0;t=a[s+232>>2]|0;m=+(~~(+(~~(m-+b[c+(t<<6)+16>>3]-+b[s+24>>3]+ +b[c+(t<<6)+24>>3])|0)*.16666666666666666)|0);m=W-(m<5.0?5.0:m);aW(A,e,i,o,f,v,1);aW(A,e,i,h,f,E,0);t=v+52|0;c=a[t>>2]|0;s=c+-1|0;Q=+b[v+56+(s<<5)>>3];b[19215]=Q;b[19216]=+b[v+56+(s<<5)+24>>3];b[19217]=y;b[19218]=m;b[19219]=Q;b[19220]=m;s=E+52|0;l=(a[s>>2]|0)+-1|0;Q=+b[E+56+(l<<5)+16>>3];b[19221]=Q;b[19222]=W;b[19223]=L;b[19226]=m;b[19224]=+b[E+56+(l<<5)+24>>3];b[19225]=Q;l=0;while(1){if((l|0)>=(c|0)){l=0;break}c=v+56+(l<<5)|0;a[g>>2]=a[c>>2];a[g+4>>2]=a[c+4>>2];a[g+8>>2]=a[c+8>>2];a[g+12>>2]=a[c+12>>2];a[g+16>>2]=a[c+16>>2];a[g+20>>2]=a[c+20>>2];a[g+24>>2]=a[c+24>>2];a[g+28>>2]=a[c+28>>2];CX(i,g);l=l+1|0;c=a[t>>2]|0}while(1){if((l|0)==3)break;v=153720+(l<<5)|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[g+16>>2]=a[v+16>>2];a[g+20>>2]=a[v+20>>2];a[g+24>>2]=a[v+24>>2];a[g+28>>2]=a[v+28>>2];CX(i,g);l=l+1|0}t=a[s>>2]|0;while(1){l=t+-1|0;if((t|0)<=0)break;t=E+56+(l<<5)|0;a[g>>2]=a[t>>2];a[g+4>>2]=a[t+4>>2];a[g+8>>2]=a[t+8>>2];a[g+12>>2]=a[t+12>>2];a[g+16>>2]=a[t+16>>2];a[g+20>>2]=a[t+20>>2];a[g+24>>2]=a[t+24>>2];a[g+28>>2]=a[t+28>>2];CX(i,g);t=l}if((n|0)==10)t=KJ(i,C)|0;else t=iN(i,C)|0;l=a[C>>2]|0;if(l|0)Z=17}else{l=(a[o+16>>2]|0)+16|0;E=c+16|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];$L(B,w,g);E=(a[h+16>>2]|0)+16|0;l=(a[d>>2]|0)+56|0;a[w>>2]=a[E>>2];a[w+4>>2]=a[E+4>>2];a[w+8>>2]=a[E+8>>2];a[w+12>>2]=a[E+12>>2];a[g>>2]=a[l>>2];a[g+4>>2]=a[l+4>>2];a[g+8>>2]=a[l+8>>2];a[g+12>>2]=a[l+12>>2];$L(u,w,g);l=a[(a[d>>2]|0)+96>>2]|0;W=+b[l+56>>3];y=+b[l+64>>3]-+b[l+32>>3]*.5;l=t+16|0;a[t>>2]=a[B>>2];a[t+4>>2]=a[B+4>>2];a[t+8>>2]=a[B+8>>2];a[t+12>>2]=a[B+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];l=t+32|0;E=t+48|0;Z=t+64|0;b[t+64>>3]=W;b[t+72>>3]=y;a[E>>2]=a[Z>>2];a[E+4>>2]=a[Z+4>>2];a[E+8>>2]=a[Z+8>>2];a[E+12>>2]=a[Z+12>>2];a[l>>2]=a[Z>>2];a[l+4>>2]=a[Z+4>>2];a[l+8>>2]=a[Z+8>>2];a[l+12>>2]=a[Z+12>>2];l=t+80|0;Z=t+96|0;a[Z>>2]=a[u>>2];a[Z+4>>2]=a[u+4>>2];a[Z+8>>2]=a[u+8>>2];a[Z+12>>2]=a[u+12>>2];a[l>>2]=a[u>>2];a[l+4>>2]=a[u+4>>2];a[l+8>>2]=a[u+8>>2];a[l+12>>2]=a[u+12>>2];a[C>>2]=7;l=7;Z=17}if((Z|0)==17)gX(f,a[((a[f>>2]&3|0)==2?f:I)+40>>2]|0,t,l,17296);k=G;return}function rW(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0.0,L=0.0,W=0.0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0;X=k;k=k+352|0;I=X+336|0;C=X+320|0;J=X+128|0;g=X+304|0;Z=X+288|0;N=X+112|0;y=X+96|0;z=X+80|0;Y=X+64|0;D=X+48|0;M=X+32|0;F=X+16|0;V=X;A=A+16|0;h=(a[A>>2]|0)+16|0;E=(a[i+(r<<2)>>2]|0)+16|0;B=(a[E>>2]|0)+16|0;a[C>>2]=a[h>>2];a[C+4>>2]=a[h+4>>2];a[C+8>>2]=a[h+8>>2];a[C+12>>2]=a[h+12>>2];a[I>>2]=a[B>>2];a[I+4>>2]=a[B+4>>2];a[I+8>>2]=a[B+8>>2];a[I+12>>2]=a[B+12>>2];$L(g,C,I);L=+b[g>>3];W=+b[g+8>>3];g=(a[e+16>>2]|0)+16|0;E=(a[E>>2]|0)+56|0;a[C>>2]=a[g>>2];a[C+4>>2]=a[g+4>>2];a[C+8>>2]=a[g+8>>2];a[C+12>>2]=a[g+12>>2];a[I>>2]=a[E>>2];a[I+4>>2]=a[E+4>>2];a[I+8>>2]=a[E+8>>2];a[I+12>>2]=a[E+12>>2];$L(Z,C,I);Q=+b[Z>>3];m=+b[Z+8>>3];if((f|0)>1){G=+b[(a[A>>2]|0)+80>>3];l=G*.5;G=G/+(f+-1|0)}else{l=0.0;G=0.0}o=(n|8|0)==10;s=J+8|0;h=J+16|0;d=(Q+L*2.0)*.3333333333333333;B=J+32|0;v=(Q*2.0+L)*.3333333333333333;w=J+24|0;g=J+48|0;E=J+64|0;C=J+80|0;I=J+96|0;Z=J+112|0;c=J+128|0;u=J+136|0;l=W-l;e=0;while(1){if((e|0)>=(f|0))break;t=a[i+(e+r<<2)>>2]|0;b[J>>3]=L;b[s>>3]=W;if(o){lW(N,d,l);a[h>>2]=a[N>>2];a[h+4>>2]=a[N+4>>2];a[h+8>>2]=a[N+8>>2];a[h+12>>2]=a[N+12>>2];lW(y,v,l);a[B>>2]=a[y>>2];a[B+4>>2]=a[y+4>>2];a[B+8>>2]=a[y+8>>2];a[B+12>>2]=a[y+12>>2];A=4;n=3}else{b[h>>3]=L;b[w>>3]=W;lW(z,d,l);a[B>>2]=a[z>>2];a[B+4>>2]=a[z+4>>2];a[B+8>>2]=a[z+8>>2];a[B+12>>2]=a[z+12>>2];lW(Y,d,l);a[g>>2]=a[Y>>2];a[g+4>>2]=a[Y+4>>2];a[g+8>>2]=a[Y+8>>2];a[g+12>>2]=a[Y+12>>2];lW(D,d,l);a[E>>2]=a[D>>2];a[E+4>>2]=a[D+4>>2];a[E+8>>2]=a[D+8>>2];a[E+12>>2]=a[D+12>>2];lW(M,v,l);a[C>>2]=a[M>>2];a[C+4>>2]=a[M+4>>2];a[C+8>>2]=a[M+8>>2];a[C+12>>2]=a[M+12>>2];lW(F,v,l);a[I>>2]=a[F>>2];a[I+4>>2]=a[F+4>>2];a[I+8>>2]=a[F+8>>2];a[I+12>>2]=a[F+12>>2];lW(V,v,l);a[Z>>2]=a[V>>2];a[Z+4>>2]=a[V+4>>2];a[Z+8>>2]=a[V+8>>2];a[Z+12>>2]=a[V+12>>2];b[c>>3]=Q;b[u>>3]=m;A=10;n=9}b[J+(n<<4)>>3]=Q;b[J+(n<<4)+8>>3]=m;gX(t,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,J,A,17296);l=l+G;e=e+1|0}k=X;return}function fW(A,e,i,r,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0.0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0.0,L=0.0,W=0.0;I=k;k=k+1440|0;v=I+1392|0;E=I+1424|0;C=I+696|0;g=I;d=a[t>>2]&3;h=a[((d|0)==3?t:t+48|0)+40>>2]|0;d=a[((d|0)==2?t:t+-48|0)+40>>2]|0;s=a[h+16>>2]|0;u=a[s+232>>2]|0;o=a[A+16>>2]|0;if((u|0)<(f[o+238>>1]|0)){Z=a[o+196>>2]|0;o=u+1|0;w=+b[s+24>>3]-+b[Z+(u<<6)+32>>3]-+b[(a[(a[a[Z+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[Z+(o<<6)+40>>3]}else w=+(a[o+252>>2]|0);G=+(l+1|0);B=+(a[e+12>>2]|0)/G;w=w/G;nW(A,e,i,h,t,C,1);nW(A,e,i,d,t,g,0);d=C+52|0;t=g+52|0;A=(c|0)==0;e=i+80|0;s=0;while(1){if((s|0)>=(l|0))break;h=a[r+(s+n<<2)>>2]|0;o=a[d>>2]|0;u=o+-1|0;W=+b[C+56+(u<<5)>>3];m=+b[C+56+(u<<5)+8>>3];L=+b[C+56+(u<<5)+16>>3];b[19215]=W;b[19218]=m;s=s+1|0;G=+(s|0);Q=B*G;b[19217]=L+Q;G=m-w*G;b[19216]=G;b[19219]=W;b[19222]=G;u=(a[t>>2]|0)+-1|0;W=+b[g+56+(u<<5)+16>>3];b[19221]=W;b[19220]=G-w;m=+b[g+56+(u<<5)>>3];L=+b[g+56+(u<<5)+8>>3];b[19225]=W;b[19226]=L;b[19223]=m-Q;b[19224]=G;u=0;while(1){if((u|0)>=(o|0)){u=0;break}o=C+56+(u<<5)|0;a[v>>2]=a[o>>2];a[v+4>>2]=a[o+4>>2];a[v+8>>2]=a[o+8>>2];a[v+12>>2]=a[o+12>>2];a[v+16>>2]=a[o+16>>2];a[v+20>>2]=a[o+20>>2];a[v+24>>2]=a[o+24>>2];a[v+28>>2]=a[o+28>>2];CX(i,v);u=u+1|0;o=a[d>>2]|0}while(1){if((u|0)==3)break;Z=153720+(u<<5)|0;a[v>>2]=a[Z>>2];a[v+4>>2]=a[Z+4>>2];a[v+8>>2]=a[Z+8>>2];a[v+12>>2]=a[Z+12>>2];a[v+16>>2]=a[Z+16>>2];a[v+20>>2]=a[Z+20>>2];a[v+24>>2]=a[Z+24>>2];a[v+28>>2]=a[Z+28>>2];CX(i,v);u=u+1|0}o=a[t>>2]|0;while(1){u=o+-1|0;if((o|0)<=0)break;o=g+56+(u<<5)|0;a[v>>2]=a[o>>2];a[v+4>>2]=a[o+4>>2];a[v+8>>2]=a[o+8>>2];a[v+12>>2]=a[o+12>>2];a[v+16>>2]=a[o+16>>2];a[v+20>>2]=a[o+20>>2];a[v+24>>2]=a[o+24>>2];a[v+28>>2]=a[o+28>>2];CX(i,v);o=u}if(A)u=iN(i,E)|0;else u=KJ(i,E)|0;o=a[E>>2]|0;if(!o)break;gX(h,a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0,u,o,17296);a[e>>2]=0}k=I;return}function aW(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+128|0;t=w+96|0;c=w+64|0;u=w+32|0;s=w;VL(u,A,e,r,0,f);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[n+16>>2]=a[u+16>>2];a[n+20>>2]=a[u+20>>2];a[n+24>>2]=a[u+24>>2];a[n+28>>2]=a[u+28>>2];a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];a[c+16>>2]=a[u+16>>2];a[c+20>>2]=a[u+20>>2];a[c+24>>2]=a[u+24>>2];a[c+28>>2]=a[u+28>>2];a[n+48>>2]=4;if(!(l<<24>>24))QX(i,f,2,n,0);else IX(i,f,2,n,0);e=n+52|0;f=(a[e>>2]|0)+-1|0;u=c+24|0;b[u>>3]=+b[n+56+(f<<5)+24>>3];l=c+8|0;b[l>>3]=+b[n+56+(f<<5)+8>>3];r=a[r+16>>2]|0;o=+b[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[r+232>>2]<<6)+24>>3]+ +b[r+24>>3];a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];a[t+20>>2]=a[c+20>>2];a[t+24>>2]=a[c+24>>2];a[t+28>>2]=a[c+28>>2];NL(s,t,4,o);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[c+16>>2]=a[s+16>>2];a[c+20>>2]=a[s+20>>2];a[c+24>>2]=a[s+24>>2];a[c+28>>2]=a[s+28>>2];if(+b[c>>3]<+b[c+16>>3]?+b[l>>3]<+b[u>>3]:0){u=a[e>>2]|0;a[e>>2]=u+1;u=n+56+(u<<5)|0;a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];a[u+16>>2]=a[c+16>>2];a[u+20>>2]=a[c+20>>2];a[u+24>>2]=a[c+24>>2];a[u+28>>2]=a[c+28>>2]}k=w;return}function nW(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+128|0;t=w+96|0;c=w+64|0;u=w+32|0;s=w;VL(u,A,e,r,0,f);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[n+16>>2]=a[u+16>>2];a[n+20>>2]=a[u+20>>2];a[n+24>>2]=a[u+24>>2];a[n+28>>2]=a[u+28>>2];a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];a[c+16>>2]=a[u+16>>2];a[c+20>>2]=a[u+20>>2];a[c+24>>2]=a[u+24>>2];a[c+28>>2]=a[u+28>>2];a[n+48>>2]=1;if(!(l<<24>>24))QX(i,f,2,n,0);else IX(i,f,2,n,0);e=n+52|0;f=(a[e>>2]|0)+-1|0;u=c+24|0;b[u>>3]=+b[n+56+(f<<5)+24>>3];l=c+8|0;b[l>>3]=+b[n+56+(f<<5)+8>>3];r=a[r+16>>2]|0;o=+b[r+24>>3]-+b[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[r+232>>2]<<6)+24>>3];a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];a[t+20>>2]=a[c+20>>2];a[t+24>>2]=a[c+24>>2];a[t+28>>2]=a[c+28>>2];NL(s,t,1,o);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[c+16>>2]=a[s+16>>2];a[c+20>>2]=a[s+20>>2];a[c+24>>2]=a[s+24>>2];a[c+28>>2]=a[s+28>>2];if(+b[c>>3]<+b[c+16>>3]?+b[l>>3]<+b[u>>3]:0){u=a[e>>2]|0;a[e>>2]=u+1;u=n+56+(u<<5)|0;a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];a[u+16>>2]=a[c+16>>2];a[u+20>>2]=a[c+20>>2];a[u+24>>2]=a[c+24>>2];a[u+28>>2]=a[c+28>>2]}k=w;return}function lW(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function tW(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0,G=0,Q=0.0,m=0.0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0.0;K=k;k=k+288|0;U=K+256|0;p=K+240|0;H=K+224|0;S=K+280|0;P=K+272|0;O=K+32|0;x=K+16|0;T=K;s=K+208|0;w=K+192|0;u=a[i+(f<<2)>>2]|0;j=qF(n<<2)|0;c=0;while(1){if((c|0)>=(n|0))break;a[j+(c<<2)>>2]=a[i+(c+f<<2)>>2];c=c+1|0}K4(j,n,4,59);i=A+16|0;f=(a[i>>2]|0)+16|0;u=u+16|0;L=(a[u>>2]|0)+16|0;a[p>>2]=a[f>>2];a[p+4>>2]=a[f+4>>2];a[p+8>>2]=a[f+8>>2];a[p+12>>2]=a[f+12>>2];a[U>>2]=a[L>>2];a[U+4>>2]=a[L+4>>2];a[U+8>>2]=a[L+8>>2];a[U+12>>2]=a[L+12>>2];$L(s,p,U);a[x>>2]=a[s>>2];a[x+4>>2]=a[s+4>>2];a[x+8>>2]=a[s+8>>2];a[x+12>>2]=a[s+12>>2];L=e+16|0;f=(a[L>>2]|0)+16|0;u=(a[u>>2]|0)+56|0;a[p>>2]=a[f>>2];a[p+4>>2]=a[f+4>>2];a[p+8>>2]=a[f+8>>2];a[p+12>>2]=a[f+12>>2];a[U>>2]=a[u>>2];a[U+4>>2]=a[u+4>>2];a[U+8>>2]=a[u+8>>2];a[U+12>>2]=a[u+12>>2];$L(w,p,U);a[T>>2]=a[w>>2];a[T+4>>2]=a[w+4>>2];a[T+8>>2]=a[w+8>>2];a[T+12>>2]=a[w+12>>2];C=+b[(a[i>>2]|0)+96>>3]+ +b[x>>3];I=+b[T>>3]-+b[(a[L>>2]|0)+88>>3];g=I+C;E=g*.5;L=a[j>>2]|0;a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];u=O+16|0;a[u>>2]=a[x>>2];a[u+4>>2]=a[x+4>>2];a[u+8>>2]=a[x+8>>2];a[u+12>>2]=a[x+12>>2];i=O+32|0;a[i>>2]=a[T>>2];a[i+4>>2]=a[T+4>>2];a[i+8>>2]=a[T+8>>2];a[i+12>>2]=a[T+12>>2];f=O+48|0;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];gX(L,a[((a[L>>2]&3|0)==2?L:L+-48|0)+40>>2]|0,O,4,17296);L=a[(a[L+16>>2]|0)+96>>2]|0;b[L+56>>3]=E;G=x+8|0;d=+b[G>>3];B=+b[L+32>>3];b[L+64>>3]=(B+6.0)*.5+d;r[L+81>>0]=1;d=d+3.0;m=+b[L+24>>3];Q=(g-m)*.5;m=(m+g)*.5;L=O+24|0;W=O+40|0;y=O+56|0;z=O+64|0;Y=T+8|0;D=O+72|0;M=O+80|0;F=O+88|0;V=O+96|0;J=O+104|0;N=O+112|0;X=O+120|0;R=S+4|0;w=(l|0)==6&1;h=0.0;o=0.0;B=B+d;s=1;while(1){if((s|0)>=(t|0)){Z=6;break}e=a[j+(s<<2)>>2]|0;if(!(s&1)){a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=Q;b[L>>3]=+b[G>>3];b[i>>3]=Q;b[W>>3]=B;b[f>>3]=m;b[y>>3]=B;b[z>>3]=m;v=+b[Y>>3];b[D>>3]=v;_=+b[T>>3];b[M>>3]=_;b[F>>3]=v;b[V>>3]=_;_=B+6.0;b[J>>3]=_;b[N>>3]=+b[x>>3];b[X>>3]=_;B=+b[(a[(a[e+16>>2]|0)+96>>2]|0)+32>>3];v=_+B*.5;B=_+B}else{c=e+16|0;A=a[(a[c>>2]|0)+96>>2]|0;if((s|0)==1){o=+b[A+24>>3];h=(o+g)*.5;o=(g-o)*.5}d=d+-6.0-+b[A+32>>3];a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=+b[x>>3];v=d+-6.0;b[L>>3]=v;b[i>>3]=+b[T>>3];b[W>>3]=v;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];b[z>>3]=h;b[D>>3]=+b[Y>>3];b[M>>3]=h;b[F>>3]=d;b[V>>3]=o;b[J>>3]=d;b[N>>3]=o;b[X>>3]=+b[G>>3];v=+b[(a[(a[c>>2]|0)+96>>2]|0)+32>>3]*.5+d}a[R>>2]=8;a[S>>2]=O;a[H>>2]=a[x>>2];a[H+4>>2]=a[x+4>>2];a[H+8>>2]=a[x+8>>2];a[H+12>>2]=a[x+12>>2];a[p>>2]=a[T>>2];a[p+4>>2]=a[T+4>>2];a[p+8>>2]=a[T+8>>2];a[p+12>>2]=a[T+12>>2];a[U>>2]=a[S>>2];a[U+4>>2]=a[S+4>>2];c=jJ(H,p,U,P,w)|0;A=a[P>>2]|0;if(!A)break;l=a[(a[e+16>>2]|0)+96>>2]|0;b[l+56>>3]=E;b[l+64>>3]=v;r[l+81>>0]=1;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17296);s=s+1|0}A:do{if((Z|0)==6){E=(I+C*2.0)*.3333333333333333;g=(I*2.0+C)*.3333333333333333;while(1){if((s|0)>=(n|0))break;e=a[j+(s<<2)>>2]|0;if(!(s&1)){a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=Q;b[L>>3]=+b[G>>3];b[i>>3]=Q;b[W>>3]=B;b[f>>3]=m;b[y>>3]=B;b[z>>3]=m;v=+b[Y>>3];b[D>>3]=v;_=+b[T>>3];b[M>>3]=_;b[F>>3]=v;b[V>>3]=_;_=B+6.0;b[J>>3]=_;b[N>>3]=+b[x>>3];B=_;v=o;o=_}else{Z=(s|0)==1;v=Z?E:o;h=Z?g:h;o=d+-6.0;a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=+b[x>>3];d=d+-12.0;b[L>>3]=d;b[i>>3]=+b[T>>3];b[W>>3]=d;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];b[z>>3]=h;b[D>>3]=+b[Y>>3];b[M>>3]=h;b[F>>3]=o;b[V>>3]=v;b[J>>3]=o;b[N>>3]=v;d=o;o=+b[G>>3]}b[X>>3]=o;a[R>>2]=8;a[S>>2]=O;a[H>>2]=a[x>>2];a[H+4>>2]=a[x+4>>2];a[H+8>>2]=a[x+8>>2];a[H+12>>2]=a[x+12>>2];a[p>>2]=a[T>>2];a[p+4>>2]=a[T+4>>2];a[p+8>>2]=a[T+8>>2];a[p+12>>2]=a[T+12>>2];a[U>>2]=a[S>>2];a[U+4>>2]=a[S+4>>2];c=jJ(H,p,U,P,w)|0;A=a[P>>2]|0;if(!A)break A;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17296);s=s+1|0;o=v}L2(j)}}while(0);k=K;return}function cW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;n=k;k=k+16|0;f=n;t=(Ih(A)|0)==0;t=t?18592:18584;r[f>>0]=r[t>>0]|0;r[f+1>>0]=r[t+1>>0]|0;r[f+2>>0]=r[t+2>>0]|0;r[f+3>>0]=r[t+3>>0]|0;f=kh(85493,f,0)|0;Td(f,137483,280,1)|0;Yo(f,0,87171,195059)|0;t=qF(96)|0;i=a[f+16>>2]|0;a[i+8>>2]=t;l=a[A+16>>2]|0;c=a[l+8>>2]|0;b[t>>3]=+b[c>>3];b[t+24>>3]=+b[c+24>>3];r[i+115>>0]=r[l+115>>0]|0;a[i+116>>2]=a[l+116>>2]&1^1;a[i+248>>2]=a[l+248>>2];a[i+252>>2]=a[l+252>>2];i=Jo(Zd(A)|0,1,0)|0;while(1){if(!i)break;Yo(f,1,a[i+8>>2]|0,a[i+12>>2]|0)|0;i=Jo(Zd(A)|0,1,i)|0}i=Jo(Zd(A)|0,2,0)|0;while(1){if(!i)break;Yo(f,2,a[i+8>>2]|0,a[i+12>>2]|0)|0;i=Jo(Zd(A)|0,2,i)|0}if(!(Yo(f,2,111464,0)|0))Yo(f,2,111464,195059)|0;if(!(Yo(f,2,111455,0)|0))Yo(f,2,111455,195059)|0;kW(f,e);k=n;return f|0}function bW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=k;k=k+16|0;i=r;A=vd(A,Vh(e)|0,1)|0;Td(A,137447,304,1)|0;jo(e,A)|0;if((sN(e)|0)==2){f=e+16|0;e=$F((S2(a[a[(a[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;a[i>>2]=a[a[(a[f>>2]|0)+104>>2]>>2];P4(e,85488,i)|0;xo(A,108224,e)|0}k=r;return A|0}function sW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=th(A,e,i,0,1)|0;Td(i,137460,176,1)|0;jo(r,i)|0;return i|0}function wW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0;l=k;k=k+32|0;n=l+16|0;f=l;if(r|0){t=+b[e>>3];r=e+8|0;b[e>>3]=+b[r>>3];b[r>>3]=-t}a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];$L(A,f,n);k=l;return}function uW(A,e){A=A|0;e=e|0;a[47189]=a[e>>2];a[47193]=a[e+4>>2];a[47194]=a[e+8>>2];a[47174]=a[e+12>>2];a[47175]=a[e+16>>2];a[47181]=a[e+20>>2];a[47180]=a[e+24>>2];a[47179]=a[e+28>>2];a[47205]=a[e+32>>2];a[47197]=a[e+36>>2];a[47182]=a[e+40>>2];a[47192]=a[e+44>>2];a[47201]=a[e+48>>2];a[47200]=a[e+52>>2];a[47199]=a[e+56>>2];a[47204]=a[e+60>>2];a[47198]=a[e+64>>2];a[47183]=a[e+68>>2];a[47145]=a[e+72>>2];a[47146]=a[e+76>>2];a[47147]=a[e+80>>2];a[47157]=a[e+84>>2];a[47150]=a[e+88>>2];a[47151]=a[e+92>>2];a[47152]=a[e+96>>2];a[47154]=a[e+100>>2];a[47155]=a[e+104>>2];a[47158]=a[e+108>>2];a[47161]=a[e+112>>2];a[47159]=a[e+116>>2];a[47160]=a[e+120>>2];a[47163]=a[e+124>>2];a[47162]=a[e+128>>2];a[47164]=a[e+132>>2];a[47165]=a[e+136>>2];a[47156]=a[e+140>>2];a[47168]=a[e+144>>2];a[47140]=a[e+148>>2];a[47138]=a[e+152>>2];L2(e);rL(A);Bh(A)|0;return}function kW(A,e){A=A|0;e=e|0;a[e>>2]=a[47189];a[e+4>>2]=a[47193];a[e+8>>2]=a[47194];a[e+12>>2]=a[47174];a[e+16>>2]=a[47175];a[e+20>>2]=a[47181];a[e+24>>2]=a[47180];a[e+28>>2]=a[47179];a[e+32>>2]=a[47205];a[e+36>>2]=a[47197];a[e+40>>2]=a[47182];a[e+44>>2]=a[47192];a[e+48>>2]=a[47201];a[e+52>>2]=a[47200];a[e+56>>2]=a[47199];a[e+60>>2]=a[47204];a[e+64>>2]=a[47198];a[e+68>>2]=a[47183];a[e+72>>2]=a[47145];a[e+76>>2]=a[47146];a[e+80>>2]=a[47147];a[e+84>>2]=a[47157];a[e+88>>2]=a[47150];a[e+92>>2]=a[47151];a[e+96>>2]=a[47152];a[e+100>>2]=a[47154];a[e+104>>2]=a[47155];a[e+108>>2]=a[47158];a[e+112>>2]=a[47161];a[e+116>>2]=a[47159];a[e+120>>2]=a[47160];a[e+124>>2]=a[47163];a[e+128>>2]=a[47162];a[e+132>>2]=a[47164];a[e+136>>2]=a[47165];a[e+140>>2]=a[47156];a[e+144>>2]=a[47168];a[e+152>>2]=a[47138];a[e+148>>2]=a[47140];a[47189]=0;a[47193]=Yo(A,2,87412,0)|0;a[47194]=Yo(A,2,87421,0)|0;e=Yo(A,2,101541,0)|0;a[47174]=e;if(!e)a[47174]=Yo(A,2,101541,195059)|0;a[47175]=0;a[47181]=0;a[47180]=Yo(A,2,101437,0)|0;a[47179]=Yo(A,2,101428,0)|0;a[47205]=Yo(A,2,101717,0)|0;a[47197]=0;a[47182]=Yo(A,2,108224,0)|0;a[47192]=Yo(A,2,85498,0)|0;a[47201]=0;a[47200]=Yo(A,2,101617,0)|0;a[47199]=Yo(A,2,101603,0)|0;a[47204]=Yo(A,2,101708,0)|0;a[47198]=0;a[47183]=0;a[47145]=Yo(A,1,141048,0)|0;a[47146]=Yo(A,1,141116,0)|0;a[47147]=Yo(A,1,108230,0)|0;a[47157]=0;a[47150]=Yo(A,1,101428,0)|0;a[47151]=Yo(A,1,101437,0)|0;a[47152]=0;a[47154]=Yo(A,1,108224,0)|0;a[47155]=0;a[47158]=0;a[47161]=Yo(A,1,101409,0)|0;a[47159]=Yo(A,1,141076,0)|0;a[47160]=Yo(A,1,101472,0)|0;a[47163]=Yo(A,1,101484,0)|0;a[47162]=Yo(A,1,101348,0)|0;a[47164]=Yo(A,1,101489,0)|0;a[47165]=Yo(A,1,85510,0)|0;a[47156]=0;a[47168]=0;a[47140]=Yo(A,0,101409,0)|0;return}function oW(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0;i=a[(a[(a[A>>2]|0)+16>>2]|0)+96>>2]|0;A=a[(a[(a[e>>2]|0)+16>>2]|0)+96>>2]|0;e=(A|0)!=0;if(i)if(e?(f=+b[i+24>>3],l=+b[i+32>>3],r=+b[A+24>>3],n=+b[A+32>>3],!(f>r)):0)if(!(fn)A=-1;else A=l>2]|0)+116>>2]|0;if(!e)break;else A=e}e=a[A>>2]&3;i=a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;r=a[i+232>>2]|0;A=a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;e=a[A+232>>2]|0;if((r|0)<=(e|0))if((r|0)<(e|0))A=1;else A=(a[i+236>>2]|0)<(a[A+236>>2]|0)&1;else A=0;return A|0}function dW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=k;k=k+16|0;r=i+8|0;f=i;l=(a[A+16>>2]|0)+180|0;n=(a[e+16>>2]|0)+172|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];e=BW(A,f,e,r)|0;k=i;return e|0}function BW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=a[e+4>>2]|0;A:do{if((f|0)>0?(n=a[r+4>>2]|0,(n|0)>0):0)if((f|0)<(n|0)){f=a[e>>2]|0;r=0;while(1){e=a[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(i|0))break;else r=r+1|0}}else{f=a[r>>2]|0;r=0;while(1){e=a[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(A|0))break;else r=r+1|0}}else e=0}while(0);return e|0}function vW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=k;k=k+16|0;r=i+8|0;f=i;l=(a[A+16>>2]|0)+188|0;n=(a[e+16>>2]|0)+196|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];e=BW(A,f,e,r)|0;k=i;return e|0}function gW(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[i+180>>2]|0;if(!e)e=$F((a[i+184>>2]<<2)+8|0)|0;else e=eV(e,(a[i+184>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;i=a[f+180>>2]|0;f=f+184|0;e=a[f>>2]|0;a[f>>2]=e+1;a[i+(e<<2)>>2]=A;r=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=A+-48|0;e=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;e=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;e=e+176|0;f=a[e>>2]|0;a[e>>2]=f+1;a[i+(f<<2)>>2]=A;f=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;a[(a[f+172>>2]|0)+(a[f+176>>2]<<2)>>2]=0;return A|0}function EW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;r=A+4|0;f=a[r>>2]|0;i=0;while(1){if((i|0)>=(f|0))break;n=a[A>>2]|0;l=n+(i<<2)|0;if((a[l>>2]|0)==(e|0)){t=4;break}else i=i+1|0}if((t|0)==4){t=f+-1|0;a[r>>2]=t;a[l>>2]=a[n+(t<<2)>>2];a[(a[A>>2]|0)+(t<<2)>>2]=0}return}function CW(A){A=A|0;if(!A)vA(85551,85561,117,85570);else{EW((a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180|0,A);EW((a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172|0,A);return}}function IW(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[i+204>>2]|0;if(!e)e=$F((a[i+208>>2]<<2)+8|0)|0;else e=eV(e,(a[i+208>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+204>>2]=e;f=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[f+204>>2]|0;f=f+208|0;i=a[f>>2]|0;a[f>>2]=i+1;a[e+(i<<2)>>2]=A;r=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;a[(a[r+204>>2]|0)+(a[r+208>>2]<<2)>>2]=0;return}function ZW(A){A=A|0;GW(A,(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function GW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=e+4|0;r=a[l>>2]|0;f=a[e>>2]|0;i=0;while(1){if((i|0)>=(r|0)){n=4;break}if((a[f+(i<<2)>>2]|0)==(A|0))break;else i=i+1|0}if((n|0)==4){if(!f)i=$F((r<<2)+8|0)|0;else i=eV(f,(r<<2)+8|0)|0;a[e>>2]=i;f=a[l>>2]|0;n=f+1|0;a[l>>2]=n;a[i+(f<<2)>>2]=A;a[(a[e>>2]|0)+(n<<2)>>2]=0}return}function QW(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=qF(96)|0;n=u+48|0;a[n>>2]=a[n>>2]|3;a[u>>2]=a[u>>2]&-4|2;l=qF(176)|0;w=u+16|0;a[w>>2]=l;a[((a[u>>2]&3|0)==3?u:n)+40>>2]=A;c=u+-48|0;a[((a[u>>2]&3|0)==2?u:c)+40>>2]=e;r[l+112>>0]=1;if(!i){a[l+156>>2]=1;f[l+154>>1]=1;f[l+168>>1]=1;f[l+170>>1]=1}else{a[u>>2]=a[u>>2]&15|a[i>>2]&-16;a[n>>2]=a[n>>2]&15|a[i>>2]&-16;s=i+16|0;t=a[s>>2]|0;f[l+168>>1]=f[t+168>>1]|0;f[l+154>>1]=f[t+154>>1]|0;a[l+156>>2]=a[t+156>>2];f[l+170>>1]=f[t+170>>1]|0;A=a[((a[u>>2]&3|0)==3?u:n)+40>>2]|0;e=a[i>>2]&3;b=i+48|0;if((A|0)!=(a[((e|0)==3?i:b)+40>>2]|0)){n=i+-48|0;if((A|0)==(a[((e|0)==2?i:n)+40>>2]|0)){l=l+16|0;A=t+56|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=l+16|0;A=t+16|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0));n=i+-48|0}A=a[((a[u>>2]&3|0)==2?u:c)+40>>2]|0;e=a[i>>2]&3;if((A|0)!=(a[((e|0)==2?i:n)+40>>2]|0)){if((A|0)==(a[((e|0)==3?i:b)+40>>2]|0)){l=(a[w>>2]|0)+56|0;A=(a[s>>2]|0)+16|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=(a[w>>2]|0)+56|0;A=(a[s>>2]|0)+56|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}A=(a[s>>2]|0)+172|0;if(!(a[A>>2]|0))a[A>>2]=u;a[(a[w>>2]|0)+116>>2]=i}return u|0}function mW(A,e,i){A=A|0;e=e|0;i=i|0;return gW(QW(A,e,i)|0)|0}function LW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A=(a[A+16>>2]|0)+192|0;f=a[A>>2]|0;i=a[e+16>>2]|0;a[i+164>>2]=f;r=f;if(f|0)a[(a[r+16>>2]|0)+168>>2]=e;a[A>>2]=e;a[i+168>>2]=0;if((r|0)==(e|0))vA(85587,85561,215,85603);else return}function WW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((A|0)==(e|0))vA(85613,85561,220,85620);f=a[e+16>>2]|0;i=f+164|0;if(a[i>>2]|0)vA(85633,85561,221,85620);r=(a[A+16>>2]|0)+164|0;a[i>>2]=a[r>>2];i=a[r>>2]|0;if(i|0)a[(a[i+16>>2]|0)+168>>2]=e;a[f+168>>2]=A;a[r>>2]=e;return}function yW(A,e){A=A|0;e=e|0;var i=0,r=0;if(!(zW(A,e)|0))vA(85652,85561,231,85673);e=a[e+16>>2]|0;i=a[e+164>>2]|0;r=i;e=e+168|0;if(i|0)a[(a[i+16>>2]|0)+168>>2]=a[e>>2];e=a[e>>2]|0;if(!e)a[(a[A+16>>2]|0)+192>>2]=r;else a[(a[e+16>>2]|0)+164>>2]=r;return}function zW(A,e){A=A|0;e=e|0;A=(a[A+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if((A|0)==0|(A|0)==(e|0))break;A=(a[A+16>>2]|0)+164|0}return A|0}function YW(A){A=A|0;var e=0,i=0,f=0,n=0;e=qF(64)|0;a[e>>2]=a[e>>2]&-4|1;i=e+16|0;a[i>>2]=qF(304)|0;a[e+24>>2]=Zd(A)|0;n=a[i>>2]|0;r[n+156>>0]=1;b[n+96>>3]=1.0;b[n+88>>3]=1.0;b[n+80>>3]=1.0;a[n+216>>2]=1;a[n+176>>2]=0;n=qF(20)|0;f=a[i>>2]|0;a[f+172>>2]=n;a[f+184>>2]=0;f=qF(20)|0;a[(a[i>>2]|0)+180>>2]=f;LW(A,e);A=(a[A+16>>2]|0)+232|0;a[A>>2]=(a[A>>2]|0)+1;return e|0}function DW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=e+48|0;i=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;f=a[i+188>>2]|0;if(!f)i=$F((a[i+192>>2]<<2)+8|0)|0;else i=eV(f,(a[i+192>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0)+188>>2]=i;l=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;f=a[l+188>>2]|0;l=l+192|0;i=a[l>>2]|0;a[l>>2]=i+1;a[f+(i<<2)>>2]=e;n=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;a[(a[n+188>>2]|0)+(a[n+192>>2]<<2)>>2]=0;n=e+-48|0;i=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;f=a[i+196>>2]|0;if(!f)i=$F((a[i+200>>2]<<2)+8|0)|0;else i=eV(f,(a[i+200>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+196>>2]=i;i=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;f=a[i+196>>2]|0;i=i+200|0;l=a[i>>2]|0;a[i>>2]=l+1;a[f+(l<<2)>>2]=e;l=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;a[(a[l+196>>2]|0)+(a[l+200>>2]<<2)>>2]=0;r[(a[A+16>>2]|0)+240>>0]=1;r[(a[(gL(A)|0)+16>>2]|0)+240>>0]=1;return}function MW(A){A=A|0;var e=0,i=0;if(!A)vA(85551,85561,269,85690);e=a[(a[A+16>>2]|0)+116>>2]|0;if(e|0?(i=(a[e+16>>2]|0)+172|0,(a[i>>2]|0)==(A|0)):0)a[i>>2]=0;EW((a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+188|0,A);EW((a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+196|0,A);return}function FW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;i=(a[A+16>>2]|0)+172|0;r=a[i>>2]|0;do{if((r|0)!=(e|0))if(!r){a[i>>2]=e;VW(A,e);break}else vA(87593,85561,340,85728);else ao(0,85707,f)|0}while(0);k=f;return}function VW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,t=0;i=(a[e+16>>2]|0)+170|0;t=a[A+16>>2]|0;A=f[t+170>>1]|0;if((l[i>>1]|0)<(A&65535))f[i>>1]=A;r=t+168|0;n=t+154|0;i=t+156|0;A=e;while(1){if(!A)break;e=a[A+16>>2]|0;t=e+168|0;f[t>>1]=(l[t>>1]|0)+(l[r>>1]|0);t=e+154|0;f[t>>1]=(l[t>>1]|0)+(l[n>>1]|0);t=e+156|0;a[t>>2]=(a[t>>2]|0)+(a[i>>2]|0);A=a[e+172>>2]|0}return}function JW(A){A=A|0;var e=0,i=0,n=0,l=0;i=A+16|0;e=a[(a[i>>2]|0)+172>>2]|0;A:while(1){if(!e)break;NW(e,A);l=a[e+16>>2]|0;n=a[l+172>>2]|0;if(!(f[l+168>>1]|0))XW(e);while(1){if((r[(a[e+16>>2]|0)+112>>0]|0)!=1){e=n;continue A}e=a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((r[e+156>>0]|0)!=1){e=n;continue A}if((a[e+184>>2]|0)!=1){e=n;continue A}e=a[a[e+180>>2]>>2]|0;NW(e,A)}}a[(a[i>>2]|0)+172>>2]=0;return}function NW(A,e){A=A|0;e=e|0;var i=0;i=a[e+16>>2]|0;e=a[A+16>>2]|0;A=e+168|0;f[A>>1]=(l[A>>1]|0)-(l[i+168>>1]|0);A=e+154|0;f[A>>1]=(l[A>>1]|0)-(l[i+154>>1]|0);e=e+156|0;a[e>>2]=(a[e>>2]|0)-(a[i+156>>2]|0);return}function XW(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(!A)vA(85551,85561,128,85741);n=A+48|0;i=0;while(1){e=a[A>>2]|0;r=(a[(a[((e&3|0)==3?A:n)+40>>2]|0)+16>>2]|0)+180|0;f=a[(a[r>>2]|0)+(i<<2)>>2]|0;if(!f)break;if((f|0)==(A|0))EW(r,A);i=i+1|0}n=A+-48|0;f=0;while(1){i=(a[(a[((e&3|0)==2?A:n)+40>>2]|0)+16>>2]|0)+172|0;r=a[(a[i>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)==(A|0)){EW(i,A);e=a[A>>2]|0}f=f+1|0}return}function RW(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;o=k;k=k+1040|0;w=o+1032|0;u=o;s=o+8|0;b=A+16|0;A=a[b>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;t=a[A+196>>2]|0;l=t+(c<<6)|0;t=t+(c<<6)+4|0;n=0;A=0;while(1){if((n|0)>=(a[l>>2]|0))break;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;i=e+16|0;if(a[(a[i>>2]|0)+112>>2]|0){if(!A){r[w>>0]=r[18588]|0;r[w+1>>0]=r[18589]|0;r[w+2>>0]=r[18590]|0;r[w+3>>0]=r[18591]|0;A=kh(85763,w,0)|0}a[u>>2]=n;P4(s,137395,u)|0;v=vd(A,s,1)|0;Td(v,91164,24,1)|0;h=a[(a[i>>2]|0)+180>>2]|0;d=a[h>>2]|0;d=a[(a[(a[((a[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=a[h+4>>2]|0;h=a[(a[(a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;B=(d|0)>(h|0);i=a[v+16>>2]|0;a[i+12>>2]=B?h:d;a[i+16>>2]=B?d:h;a[i+20>>2]=e}n=n+1|0}if(A|0){if((vh(A)|0)>1)HW(A,l);Bh(A)|0}c=c+1|0;A=a[b>>2]|0}k=o;return}function HW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;i=0;l=cd(A)|0;A:while(1){if(!l)break;t=bd(A,l)|0;c=l+16|0;n=t;while(1){if(!n){l=t;continue A}f=a[n+16>>2]|0;r=a[c>>2]|0;if((a[f+16>>2]|0)>(a[r+12>>2]|0)){if((a[r+16>>2]|0)<=(a[f+12>>2]|0))th(A,l,n,0,1)|0}else{th(A,n,l,0,1)|0;i=1}n=bd(A,n)|0}}do{if(i|0){l=XB(A,85766,1)|0;c=qF((vh(A)|0)<<2)|0;t=qF((vh(A)|0)<<2)|0;f=e+4|0;r=cd(A)|0;A:while(1){if(!r){i=23;break}if((a[(a[r+16>>2]|0)+8>>2]|0)==0?Eh(A,r,1,1)|0:0){e:do{if(pW(A,r,l,t)|0){n=vh(l)|0;if((UW(A,l,c)|0)!=(n|0)){i=17;break A}K4(t,n,4,60);i=0;while(1){if((i|0)>=(n|0))break e;e=t+(i<<2)|0;b=a[c+(i<<2)>>2]|0;a[(a[b+16>>2]|0)+236>>2]=a[e>>2];a[(a[f>>2]|0)+(a[e>>2]<<2)>>2]=b;i=i+1|0}}}while(0);TW(l)}r=bd(A,r)|0}if((i|0)==17)vA(85771,85781,265,85792);else if((i|0)==23){L2(c);break}}}while(0);return}function pW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=a[e+16>>2]|0;a[l+8>>2]=1;l=a[(a[(a[l+20>>2]|0)+16>>2]|0)+236>>2]|0;a[r+((vh(i)|0)<<2)>>2]=l;kd(i,e,1)|0;l=Oo(A,e)|0;f=0;while(1){if(!l)break;c=a[l>>2]&3;n=a[((c|0)==2?l:l+-48|0)+40>>2]|0;t=a[n+16>>2]|0;f=f+((a[(a[(a[t+20>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[(a[(a[((c|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(a[t+8>>2]|0))f=(pW(A,n,i,r)|0)+f|0;l=_o(A,l)|0}l=qo(A,e)|0;while(1){if(!l)break;t=a[l>>2]&3;n=a[((t|0)==3?l:l+48|0)+40>>2]|0;c=a[n+16>>2]|0;f=f+((a[(a[(a[(a[(a[((t|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[c+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(a[c+8>>2]|0))f=(pW(A,n,i,r)|0)+f|0;l=$o(A,l)|0}return f|0}function UW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=0;while(1){r=jW(A,e)|0;if(!r)break;a[i+(f<<2)>>2]=a[(a[r+16>>2]|0)+20>>2];Ed(e,r)|0;r=Oo(A,r)|0;while(1){if(!r)break;n=_o(A,r)|0;sh(A,r)|0;r=n}f=f+1|0}return f|0}function xW(A,e){A=A|0;e=e|0;return(a[A>>2]|0)-(a[e>>2]|0)|0}function TW(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;i=bd(A,e)|0;Ed(A,e)|0;e=i}return}function jW(A,e){A=A|0;e=e|0;var i=0;i=cd(e)|0;while(1){if(!i){i=0;break}if(!(Eh(A,i,1,0)|0))break;i=bd(e,i)|0}return i|0}function SW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;PW(A);t=A+16|0;f=0;i=0;while(1){if((f|0)>=(a[(a[t>>2]|0)+220>>2]|0))break;OW(A,f);f=f+1|0;i=(KW(A,0,e)|0)+i|0}_W(A);l=1;while(1){f=a[t>>2]|0;n=a[f+180>>2]|0;if((l|0)>(n|0))break;n=(qW(a[(a[f+184>>2]|0)+(l<<2)>>2]|0,e)|0)+i|0;l=l+1|0;i=n}do{if((n|0)>0){f=po(A,85806)|0;if(f|0?(gR(f)|0)<<24>>24==0:0)break;ID(A);r[193769]=1;i=KW(A,2,e)|0}}while(0);$W(A,i);return}function PW(A){A=A|0;var e=0;if(0)tR();r[193769]=0;a[46741]=A;e=((gh(gL(A)|0)|0)<<2)+4|0;a[46740]=qF(e)|0;a[46739]=qF(e)|0;Uy(A);e=A+16|0;if(f[(a[e>>2]|0)+136>>1]&16)xy(A);fD(A);jD(A,1);Ty(A);ny(A);e=a[e>>2]|0;a[46742]=f[e+236>>1];a[46743]=f[e+238>>1];return}function OW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;A=a[A+16>>2]|0;a[A+192>>2]=a[(a[A+216>>2]|0)+(e<<2)>>2];A:do{if((e|0)>0){e=f[A+238>>1]|0;i=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(e|0))break A;r=a[i>>2]|0;n=r+(A<<6)+4|0;r=r+(A<<6)|0;a[n>>2]=(a[n>>2]|0)+(a[r>>2]<<2);a[r>>2]=0;A=A+1|0}}}while(0);return}function KW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+32|0;w=u;if((e|0)>1){r=Cy(0)|0;Iy(A)}else r=2147483647;s=a[15712]|0;c=e;f=0;e=r;while(1){if((c|0)>=3)break;f=a[47136]|0;if((c|0)==2)if((r|0)>(e|0)){Gy(A);r=e}else r=e;else{r=(f|0)<4?f:4;if((gL(A)|0)==(A|0))Zy(A,c);if(!c)ly(A);ty(A);n=Cy(0)|0;if((n|0)>(e|0)){f=r;r=n}else{Iy(A);f=r;r=n;e=n}}n=0;t=0;while(1){if((t|0)>=(f|0))break;if(0){a[w>>2]=c;a[w+4>>2]=t;a[w+8>>2]=n;a[w+12>>2]=r;a[w+16>>2]=e;f3(s,86199,w)|0}l=n+1|0;if((r|0)==0|(n|0)>=(a[46744]|0))break;Qy(A,t);r=Cy(0)|0;if((r|0)>(e|0))n=l;else{Iy(A);n=+b[23215]*+(e|0)>+(r|0)?0:l;e=r}t=t+1|0}if(!r){r=0;break}else c=c+1|0}if((r|0)>(e|0))Gy(A);if((e|0)>0){my(A,0);r=Cy(0)|0}else r=e;A:do{if(i|0){e=0;while(1){if((e|0)>=(f|0))break A;Ly(A);e=e+1|0}}}while(0);k=u;return r|0}function _W(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;Ey(A);b=A+16|0;e=a[b>>2]|0;s=a[15712]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;i=a[e+196>>2]|0;r=a[i+(c<<6)+8>>2]|0;a[i+(c<<6)>>2]=r;n=a[i+(c<<6)+12>>2]|0;a[i+(c<<6)+4>>2]=n;t=0;while(1){if((t|0)>=(r|0))break;l=a[n+(t<<2)>>2]|0;if(!l){u=6;break}a[(a[l+16>>2]|0)+236>>2]=t;t=t+1|0}if((u|0)==6){u=0;if(0){i=Vh(A)|0;e=a[(a[(a[b>>2]|0)+196>>2]|0)+(c<<6)>>2]|0;a[w>>2]=i;a[w+4>>2]=c;a[w+8>>2]=t;a[w+12>>2]=e;f3(s,86149,w)|0;e=a[b>>2]|0;i=a[e+196>>2]|0}a[i+(c<<6)>>2]=t}c=c+1|0}k=o;return}function qW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;dD(A);ny(A);ly(A);ty(A);f=A+16|0;i=KW(A,2,e)|0;r=1;while(1){n=a[f>>2]|0;if((r|0)>(a[n+180>>2]|0))break;i=(qW(a[(a[n+184>>2]|0)+(r<<2)>>2]|0,e)|0)+i|0;r=r+1|0}cy(A);return i|0}function $W(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+16|0;o=h;i=a[46739]|0;if(i|0){L2(i);a[46739]=0}i=a[46740]|0;if(i|0){L2(i);a[46740]=0}u=A+16|0;i=1;while(1){n=a[u>>2]|0;if((i|0)>(a[n+180>>2]|0))break;Ay(a[(a[n+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0}w=f[n+236>>1]|0;i=n;while(1){if((w|0)>(f[i+238>>1]|0))break;else s=0;while(1){i=a[i+196>>2]|0;if((s|0)>=(a[i+(w<<6)>>2]|0))break;c=(a[(a[i+(w<<6)+4>>2]|0)+(s<<2)>>2]|0)+16|0;i=a[c>>2]|0;a[i+236>>2]=s;i=a[i+188>>2]|0;A:do{if(i|0){n=0;while(1){l=a[i+(n<<2)>>2]|0;if(!l)break A;t=l+16|0;if((r[(a[t>>2]|0)+112>>0]|0)==4){MW(l);L2(a[t>>2]|0);L2(l);n=n+-1|0;i=a[(a[c>>2]|0)+188>>2]|0}n=n+1|0}}}while(0);s=s+1|0;i=a[u>>2]|0}ey(a[i+(w<<6)+56>>2]|0);w=w+1|0;i=a[u>>2]|0}if(0){u=a[15712]|0;A=Vh(A)|0;d=+cR();a[o>>2]=A;a[o+4>>2]=e;b[o+8>>3]=d;f3(u,85817,o)|0}k=h;return}function Ay(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;n=A+16|0;e=1;while(1){r=a[n>>2]|0;if((e|0)>(a[r+180>>2]|0))break;Ay(a[(a[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}A:do{if(a[r+268>>2]|0){i=f[r+236>>1]|0;e=r;while(1){if((i|0)>(f[e+238>>1]|0))break A;c=a[(a[e+268>>2]|0)+(i<<2)>>2]|0;t=iy(A,c,-1)|0;c=iy(A,c,1)|0;a[(a[(a[n>>2]|0)+268>>2]|0)+(i<<2)>>2]=t;b=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;t=a[(a[t+16>>2]|0)+236>>2]|0;r=a[n>>2]|0;l=a[r+196>>2]|0;a[l+(i<<6)+4>>2]=b+(t<<2);a[l+(i<<6)>>2]=(a[(a[c+16>>2]|0)+236>>2]|0)+1-t;i=i+1|0;e=r}}}while(0);return}function ey(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function iy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e;while(1){e=ry(e,i)|0;if(!e)break;if(fy(A,e)|0){r=e;continue}f=(ay(A,e)|0)==0;r=f?r:e}return r|0}function ry(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(!A)vA(85856,85781,1023,85858);if((e|0)<0){A=a[A+16>>2]|0;r=a[A+236>>2]|0;if((r|0)>0){A=(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(a[A+232>>2]<<6)+4|0;i=r+-1|0;f=7}else n=0}else{A=a[A+16>>2]|0;r=a[A+236>>2]|0;A=(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(a[A+232>>2]<<6)+4|0;i=r+1|0;f=7}if((f|0)==7){A=a[(a[A>>2]|0)+(i<<2)>>2]|0;if(A)if((U((a[(a[A+16>>2]|0)+236>>2]|0)-r|0,e)|0)>0)n=A;else vA(85867,85781,1029,85858);else n=0}return n|0}function fy(A,e){A=A|0;e=e|0;if(!(r[(a[e+16>>2]|0)+156>>0]|0))A=(Dd(A,e)|0)!=0&1;else A=0;return A|0}function ay(A,e){A=A|0;e=e|0;var i=0,f=0;e=a[e+16>>2]|0;if(((r[e+156>>0]|0)==1?(a[e+176>>2]|0)==1:0)?(a[e+184>>2]|0)==1:0){e=a[e+180>>2]|0;while(1){e=a[e>>2]|0;i=a[e+16>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}if(Dd(A,e)|0)e=1;else f=7}else f=7;if((f|0)==7)e=0;return e|0}function ny(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=a[47140]|0;A:do{if((e|0)!=0|(a[47161]|0)!=0){e=dR(A,e,0)|0;if(e|0){switch(r[e>>0]|0){case 0:break A;case 111:{if(!(A1(e,86069)|0)){hy(A,1);break A}break}case 105:{if(!(A1(e,98735)|0)){hy(A,0);break A}break}default:{}}a[i>>2]=e;ao(1,86073,i)|0;break}e=RB(A)|0;while(1){if(!e)break;if(!(eY(e)|0))ny(e);e=HB(e)|0}if(a[47161]|0)dy(A)}}while(0);k=f;return}function ly(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;e=a[b>>2]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;else{i=0;t=0}while(1){n=a[e+196>>2]|0;l=a[n+(c<<6)>>2]|0;if((t|0)>=(l|0))break;n=a[(a[(a[n+(c<<6)+4>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;r[n+158>>0]=0;r[n+157>>0]=0;a[n+284>>2]=t;if((i|0)==0&(a[n+192>>2]|0)>0){i=ky(l,l)|0;e=a[b>>2]|0;a[(a[e+196>>2]|0)+(c<<6)+56>>2]=i;i=1}t=t+1|0}A:do{if(i){t=0;i=l;while(1){if((t|0)>=(i|0))break A;l=a[(a[n+(c<<6)+4>>2]|0)+(t<<2)>>2]|0;if(!(r[(a[l+16>>2]|0)+157>>0]|0)){oy(A,l);e=a[b>>2]|0;i=a[e+196>>2]|0;n=i;i=a[i+(c<<6)>>2]|0}t=t+1|0}}}while(0);c=c+1|0}return}function ty(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;B=A+16|0;e=a[B>>2]|0;if(r[e+240>>0]|0){l=0;d=f[e+236>>1]|0;h=0;t=0;A:while(1){if((d|0)>(f[e+238>>1]|0))break;i=a[e+196>>2]|0;n=a[i+(d<<6)>>2]|0;if(!n){n=h;i=t}else{i=a[i+(d<<6)+4>>2]|0;k=a[(a[(a[i>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;r[(a[(a[i+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!l)o=$F(e)|0;else o=eV(t,e)|0;w=0;u=0;while(1){e=a[B>>2]|0;i=a[e+196>>2]|0;n=a[i+(d<<6)>>2]|0;if((n|0)<=(u|0))break;c=a[(a[i+(d<<6)+4>>2]|0)+(((a[e+116>>2]&1|0)==0?n+~u|0:u)<<2)>>2]|0;s=c+16|0;e=0;b=0;while(1){t=a[s>>2]|0;if((e|0)>=(a[t+200>>2]|0)){i=0;n=0;e=t;break}t=b+((by(A,a[(a[t+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;b=t}while(1){if((n|0)>=(a[e+192>>2]|0))break;t=i+((by(A,a[(a[e+188>>2]|0)+(n<<2)>>2]|0)|0)!=0&1)|0;i=t;n=n+1|0;e=a[s>>2]|0}if(i|b)if((b|0)==0&(r[e+157>>0]|0)==0)e=(sy(A,c,o+(w<<2)|0,d)|0)+w|0;else e=w;else{a[o+(w<<2)>>2]=c;e=w+1|0}w=e;u=u+1|0}e:do{if(w){i:do{if(!(a[e+116>>2]&1)){i=o;e=o+(w<<2)|0;while(1){e=e+-4|0;if(i>>>0>=e>>>0){n=0;break i}u=a[i>>2]|0;a[i>>2]=a[e>>2];a[e>>2]=u;i=i+4|0}}else n=0}while(0);while(1){e=a[B>>2]|0;t=a[e+196>>2]|0;i=a[t+(d<<6)>>2]|0;if((n|0)>=(i|0)){w=0;n=t;break}u=a[o+(n<<2)>>2]|0;a[(a[t+(d<<6)+4>>2]|0)+(n<<2)>>2]=u;a[(a[u+16>>2]|0)+236>>2]=n+k;n=n+1|0}while(1){if((w|0)>=(i|0))break e;s=(a[(a[n+(d<<6)+4>>2]|0)+(w<<2)>>2]|0)+16|0;t=a[(a[s>>2]|0)+188>>2]|0;if(t){b=0;i=t;while(1){n=a[i+(b<<2)>>2]|0;e=a[B>>2]|0;if(!n)break;c=a[n>>2]&3;t=a[(a[(a[((c|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=a[(a[(a[((c|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(a[e+116>>2]&1))if((t|0)<(c|0))v=36;else e=b;else if((t|0)>(c|0))v=36;else e=b;if((v|0)==36){v=0;if(by(A,n)|0){v=37;break A}MW(n);wy(A,n);e=b+-1|0;i=a[(a[s>>2]|0)+188>>2]|0}b=e+1|0}i=a[e+196>>2]|0;n=i;i=a[i+(d<<6)>>2]|0}w=w+1|0}}}while(0);r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(d<<6)+49>>0]=0;l=o;n=o;i=o}d=d+1|0;h=n;t=i}if((v|0)==37)vA(85915,85781,1561,85954);if(l|0)L2(h)}return}function cy(A){A=A|0;var e=0,i=0;i=A+16|0;A=a[i>>2]|0;A:do{if(a[A+268>>2]|0){e=f[A+236>>1]|0;while(1){if((e|0)>(f[A+238>>1]|0))break A;a[(a[A+268>>2]|0)+(e<<2)>>2]=a[a[(a[A+196>>2]|0)+(e<<6)+4>>2]>>2];e=e+1|0;A=a[i>>2]|0}}}while(0);return}function by(A,e){A=A|0;e=e|0;if((a[(a[e+16>>2]|0)+156>>2]|0)!=0?(uy(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)!=0:0)A=(uy(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)!=0&1;else A=0;return A|0}function sy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=e+16|0;n=a[s>>2]|0;r[n+157>>0]=1;A:do{if((a[n+192>>2]|0)>0){l=0;c=0;while(1){t=a[(a[n+188>>2]|0)+(c<<2)>>2]|0;if(!t)break A;if((by(A,t)|0)!=0?(b=a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,(r[(a[b+16>>2]|0)+157>>0]|0)==0):0)l=(sy(A,b,i+(l<<2)|0,f)|0)+l|0;c=c+1|0;n=a[s>>2]|0}}else l=0}while(0);if((a[n+232>>2]|0)==(f|0)){a[i+(l<<2)>>2]=e;return l+1|0}else vA(85967,85781,1490,85983);return 0}function wy(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;t=a[e>>2]&3;c=a[((t|0)==2?e:e+-48|0)+40>>2]|0;f=a[(a[c+16>>2]|0)+188>>2]|0;A:do{if(!f){i=e+48|0;w=15}else{s=e+48|0;n=((t|0)==3?e:s)+40|0;i=0;while(1){l=a[f+(i<<2)>>2]|0;if(!l){i=s;w=15;break A}if((a[((a[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)==(a[n>>2]|0))break;else i=i+1|0}FW(e,l);i=(a[e+16>>2]|0)+172|0;if(!(a[i>>2]|0))a[i>>2]=l;i=a[l+16>>2]|0;if((r[i+112>>0]|0)==4?(b=i+116|0,(a[b>>2]|0)==0):0)a[b>>2]=e;i=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;f=a[i+204>>2]|0;if(!f)i=$F((a[i+208>>2]<<2)+8|0)|0;else i=eV(f,(a[i+208>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0)+204>>2]=i;t=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;c=a[t+204>>2]|0;t=t+208|0;b=a[t>>2]|0;a[t>>2]=b+1;a[c+(b<<2)>>2]=e;e=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;a[(a[e+204>>2]|0)+(a[e+208>>2]<<2)>>2]=0}}while(0);if((w|0)==15){w=QW(c,a[((t|0)==3?e:i)+40>>2]|0,e)|0;s=a[e+16>>2]|0;e=a[w+16>>2]|0;r[e+112>>0]=(r[s+112>>0]|0)==4?4:3;a[e+96>>2]=a[s+96>>2];DW(A,w)}return}function uy(A,e){A=A|0;e=e|0;var i=0;i=fy(A,e)|0;return ay(A,e)|0|i|0}function ky(A,e){A=A|0;e=e|0;var i=0;i=qF(12)|0;a[i>>2]=A;a[i+4>>2]=e;a[i+8>>2]=qF(U(e,A)|0)|0;return i|0}function oy(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;k=e+16|0;s=a[k>>2]|0;b=a[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[s+232>>2]<<6)+56>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=(a[(a[(gL(A)|0)+16>>2]|0)+180>>2]|0)>0;i=a[k>>2]|0;f=a[i+188>>2]|0;A:do{if(f){w=b+4|0;u=b+8|0;e=0;e:while(1){c=a[f+(e<<2)>>2]|0;if(!c){o=i;break A}if(s){if((Dd(A,a[((a[c>>2]&3|0)==3?c:c+48|0)+40>>2]|0)|0)!=0?(Dd(A,a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)|0)!=0:0)h=7}else h=7;do{if((h|0)==7){h=0;l=c+16|0;if(a[(a[l>>2]|0)+156>>2]|0){i=a[c>>2]&3;n=c+-48|0;d=a[(a[((i|0)==2?c:n)+40>>2]|0)+16>>2]|0;t=a[d+284>>2]|0;f=(t|0)<(a[b>>2]|0);if((r[d+158>>0]|0)==1){if(!f){h=10;break e}i=a[(a[(a[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=a[w>>2]|0;if((i|0)>=(f|0)){h=12;break e}r[(a[u>>2]|0)+((U(f,t)|0)+i)>>0]=1;MW(c);e=e+-1|0;if((r[(a[l>>2]|0)+112>>0]|0)==4)break;wy(A,c);break}else{if(!f){h=16;break e}i=a[(a[(a[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=a[w>>2]|0;if((i|0)>=(f|0)){h=18;break e}r[(a[u>>2]|0)+((U(f,i)|0)+t)>>0]=1;i=a[((a[c>>2]&3|0)==2?c:n)+40>>2]|0;if(r[(a[i+16>>2]|0)+157>>0]|0)break;oy(A,i);break}}}}while(0);f=a[k>>2]|0;e=e+1|0;i=f;f=a[f+188>>2]|0}if((h|0)==10)vA(85993,85781,1251,86025);else if((h|0)==12)vA(86037,85781,1252,86025);else if((h|0)==16)vA(85993,85781,1260,86025);else if((h|0)==18)vA(86037,85781,1261,86025)}else o=i}while(0);r[o+158>>0]=0;return}function hy(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i)break;By(A,i,e);i=bd(A,i)|0}return}function dy(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;e=cd(A)|0;while(1){if(!e)break;i=dR(e,a[47161]|0,0)|0;A:do{if(i|0){switch(r[i>>0]|0){case 0:break A;case 111:{if(!(A1(i,86069)|0)){By(A,e,1);break A}break}case 105:{if(!(A1(i,98735)|0)){By(A,e,0);break A}break}default:{}}l=Vh(e)|0;a[f>>2]=i;a[f+4>>2]=l;ao(1,86104,f)|0}}while(0);e=bd(A,e)|0}k=n;return}function By(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=a[46740]|0;l=e+16|0;f=a[l>>2]|0;A:do{if(!(a[f+212>>2]|0)){t=(i|0)!=0;e:do{if(t){n=0;e=0;i=f;while(1){f=a[(a[i+180>>2]|0)+(n<<2)>>2]|0;if(!f)break e;if(!(vy(f)|0)){a[c+(e<<2)>>2]=f;e=e+1|0;i=a[l>>2]|0}n=n+1|0}}else{n=0;e=0;i=f;while(1){f=a[(a[i+172>>2]|0)+(n<<2)>>2]|0;if(!f)break e;if(!(vy(f)|0)){a[c+(e<<2)>>2]=f;e=e+1|0;i=a[l>>2]|0}n=n+1|0}}}while(0);if((e|0)>=2){a[c+(e<<2)>>2]=0;K4(c,e,4,61);l=t?2:3;n=t?-1:1;f=1;while(1){e=a[c+(f<<2)>>2]|0;if(!e)break A;i=a[c+(f+-1<<2)>>2]|0;i=a[((a[i>>2]&3|0)==(l|0)?i:i+(n*48|0)|0)+40>>2]|0;e=a[((a[e>>2]&3|0)==(l|0)?e:e+(n*48|0)|0)+40>>2]|0;if(vW(i,e)|0)break A;t=QW(i,e,0)|0;r[(a[t+16>>2]|0)+112>>0]=4;DW(A,t);f=f+1|0}}}}while(0);return}function vy(A){A=A|0;var e=0;while(1){e=a[(a[A+16>>2]|0)+116>>2]|0;if(!e)break;else A=e}e=a[A>>2]&3;return(a[(a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(a[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function gy(A,e){A=A|0;e=e|0;return((a[a[A>>2]>>2]|0)>>>4)-((a[a[e>>2]>>2]|0)>>>4)|0}function Ey(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0;r=a[A+16>>2]|0;n=r+220|0;l=a[n>>2]|0;if((l|0)>=2){t=r+216|0;A=0;i=0;while(1){if((i|0)>=(l|0))break;e=a[(a[t>>2]|0)+(i<<2)>>2]|0;if(A|0)a[(a[A+16>>2]|0)+164>>2]=e;c=a[e+16>>2]|0;a[c+168>>2]=A;A=e;e=c;while(1){e=a[e+164>>2]|0;if(!e)break;A=e;e=a[e+16>>2]|0}i=i+1|0}a[n>>2]=1;a[r+192>>2]=a[a[r+216>>2]>>2];f[r+236>>1]=a[46742];f[r+238>>1]=a[46743]}return}function Cy(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0;t=a[46741]|0;c=t+16|0;i=a[c>>2]|0;n=0;l=f[i+236>>1]|0;while(1){if((l|0)>=(f[i+238>>1]|0))break;A=a[i+196>>2]|0;if(!(r[A+(l<<6)+49>>0]|0)){e=Hy(t,l)|0;A=a[c>>2]|0;i=a[A+196>>2]|0;a[i+(l<<6)+52>>2]=e;r[i+(l<<6)+49>>0]=1}else{e=a[A+(l<<6)+52>>2]|0;A=i}n=e+n|0;l=l+1|0;i=A}return n|0}function Iy(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;A=a[A+16>>2]|0;n=f[A+238>>1]|0;l=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(n|0))break;r=a[l>>2]|0;i=a[r+(A<<6)>>2]|0;r=r+(A<<6)+4|0;e=0;while(1){if((e|0)>=(i|0))break;t=a[(a[(a[r>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;b[t+16>>3]=+(a[t+236>>2]|0);e=e+1|0}A=A+1|0}return}function Zy(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;s=d;w=A+16|0;u=bR(a[(a[w>>2]|0)+232>>2]|0)|0;c=a[w>>2]|0;i=c+192|0;n=i;while(1){n=a[n>>2]|0;if(!n)break;n=a[n+16>>2]|0;r[n+157>>0]=0;n=n+164|0}l=f[c+238>>1]|0;t=c+196|0;n=f[c+236>>1]|0;while(1){if((n|0)>(l|0))break;a[(a[t>>2]|0)+(n<<6)>>2]=0;n=n+1|0}t=(e|0)==0;while(1){n=a[i>>2]|0;if(!n)break;l=n+16|0;i=a[l>>2]|0;if((a[a[(t?i+172|0:i+180|0)>>2]>>2]|0)==0?(b=i+157|0,(r[b>>0]|0)==0):0){r[b>>0]=1;wR(u,n);while(1){i=uR(u)|0;if(!i)break;if((r[(a[i+16>>2]|0)+159>>0]|0)==7){CD(A,i,e,u);continue}else{Xy(A,i);Ry(u,i,e);continue}}i=a[l>>2]|0}i=i+164|0}if(uR(u)|0)ao(1,86312,s)|0;i=a[w>>2]|0;c=f[i+236>>1]|0;while(1){if((c|0)>(f[i+238>>1]|0))break;r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+49>>0]=0;if((a[i+116>>2]&1|0)!=0?(o=a[i+196>>2]|0,h=a[o+(c<<6)>>2]|0,(h|0)>0):0){n=a[o+(c<<6)+4>>2]|0;l=h+-1|0;t=(l|0)/2|0;i=0;while(1){if((i|0)>(t|0))break;Dy(a[n+(i<<2)>>2]|0,a[n+(l-i<<2)>>2]|0);i=i+1|0}i=a[w>>2]|0}c=c+1|0}if((gL(A)|0)==(A|0)?(Cy(0)|0)>0:0)my(A,0);sR(u);k=d;return}function Gy(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;u=A+16|0;A=a[u>>2]|0;i=f[A+236>>1]|0;e=f[A+238>>1]|0;s=e<<16>>16;w=A+196|0;n=i;while(1){if((n|0)>(s|0))break;c=a[w>>2]|0;t=a[c+(n<<6)>>2]|0;c=c+(n<<6)+4|0;l=0;while(1){if((l|0)>=(t|0))break;k=a[(a[(a[c>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;a[k+236>>2]=~~+b[k+16>>3];l=l+1|0}n=n+1|0}while(1){if((i|0)>(e<<16>>16|0))break;r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(i<<6)+49>>0]=0;k=a[A+196>>2]|0;K4(a[k+(i<<6)+4>>2]|0,a[k+(i<<6)>>2]|0,4,62);k=a[u>>2]|0;i=i+1|0;e=f[k+238>>1]|0;A=k}return}function Qy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=((e|0)%4|0|0)<2&1;i=a[A+16>>2]|0;if(!(e&1)){e=f[i+236>>1]|0;r=1;i=f[i+238>>1]|0;e=(e<<16>>16<=(f[(a[(a[46741]|0)+16>>2]|0)+236>>1]|0)&1)+(e<<16>>16)|0}else{e=f[i+238>>1]|0;r=-1;i=f[i+236>>1]|0;e=((e<<16>>16>=(f[(a[(a[46741]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(e<<16>>16)|0}i=r+i|0;while(1){if((e|0)==(i|0))break;Vy(A,e,n,(Fy(A,e,e-r|0)|0)&255);e=e+r|0}my(A,n^1);return}function my(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;n=a[b>>2]|0;t=f[n+236>>1]|0;c=f[n+238>>1]|0;l=n+196|0;i=t<<16>>16;while(1){if((i|0)>(c|0)){l=t;break}r[(a[l>>2]|0)+(i<<6)+48>>0]=1;i=i+1|0}while(1){i=0;l=l<<16>>16;while(1){if((l|0)>(f[n+238>>1]|0))break;if(r[(a[n+196>>2]|0)+(l<<6)+48>>0]|0){i=(My(A,l,e)|0)+i|0;n=a[b>>2]|0}l=l+1|0}if((i|0)<=0)break;l=f[n+236>>1]|0}return}function Ly(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;k=A+16|0;e=a[k>>2]|0;u=f[e+238>>1]|0;A:while(1){if((u|0)<(f[e+236>>1]|0)){e=16;break}i=a[e+196>>2]|0;r[i+(u<<6)+48>>0]=0;o=(u|0)>0;h=u+1|0;n=0;e:while(1){s=(a[i+(u<<6)>>2]|0)+-1|0;w=i+(u<<6)+4|0;b=i+(h<<6)|0;while(1){if((n|0)>=(s|0))break e;c=a[w>>2]|0;t=a[c+(n<<2)>>2]|0;n=n+1|0;c=a[c+(n<<2)>>2]|0;if((a[(a[t+16>>2]|0)+236>>2]|0)>=(a[(a[c+16>>2]|0)+236>>2]|0)){e=7;break A}if(Wy(A,t,c)|0)continue;if(o){i=yy(t,c)|0;l=yy(c,t)|0}else{i=0;l=0}if((a[b>>2]|0)>0){i=(zy(t,c)|0)+i|0;l=(zy(c,t)|0)+l|0}if((l|0)<=(i|0))break}Yy(A,u,t,c);e=a[k>>2]|0;i=a[e+196>>2]|0}u=u+-1|0}if((e|0)==7)vA(86263,85781,721,86289);else if((e|0)==16)return}function Wy(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=a[e+16>>2]|0;t=a[c+212>>2]|0;f=a[i+16>>2]|0;n=a[f+212>>2]|0;l=(t|0)!=(n|0);do{if(!(r[193769]|0))if((n|0)==0|((t|0)==0|l^1))b=9;else{if((r[c+159>>0]|0)==7?(r[c+156>>0]|0)==1:0){A=0;break}if((r[f+159>>0]|0)==7?(r[f+156>>0]|0)==1:0){A=0;break}A=1}else if(l)A=1;else b=9}while(0);if((b|0)==9){f=a[A+16>>2]|0;A=a[(a[f+196>>2]|0)+(a[c+232>>2]<<6)+56>>2]|0;if(!A)A=0;else{c=(a[f+116>>2]&1|0)==0;b=U(a[A+4>>2]|0,a[(a[(c?e:i)+16>>2]|0)+284>>2]|0)|0;A=r[(a[A+8>>2]|0)+((a[(a[(c?i:e)+16>>2]|0)+284>>2]|0)+b)>>0]|0}}return A|0}function yy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;s=A+16|0;t=a[(a[e+16>>2]|0)+172>>2]|0;e=0;while(1){A=a[t>>2]|0;if(!A)break;l=a[A+16>>2]|0;c=f[l+154>>1]|0;n=a[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+16|0;r=a[(a[s>>2]|0)+172>>2]|0;A=e;while(1){e=a[r>>2]|0;if(!e)break;i=(a[(a[(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((i|0)<=0){if((i|0)==0?(w=a[e+16>>2]|0,+b[w+16>>3]>+b[l>>3]):0){e=w;u=9}}else{e=a[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(U(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function zy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;s=A+16|0;t=a[(a[e+16>>2]|0)+180>>2]|0;e=0;while(1){A=a[t>>2]|0;if(!A)break;l=a[A+16>>2]|0;c=f[l+154>>1]|0;n=a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+56|0;r=a[(a[s>>2]|0)+180>>2]|0;A=e;while(1){e=a[r>>2]|0;if(!e)break;i=(a[(a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((i|0)<=0){if((i|0)==0?(w=a[e+16>>2]|0,+b[w+56>>3]>+b[l>>3]):0){e=w;u=9}}else{e=a[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(U(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function Yy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;t=r[(a[i+16>>2]|0)+156>>0]|0;if(t<<24>>24!=(r[(a[f+16>>2]|0)+156>>0]|0)){c=A+16|0;s=a[(a[c>>2]|0)+196>>2]|0;b=a[s+(e<<6)>>2]|0;s=s+(e<<6)+4|0;A=0;n=0;l=0;while(1){if((A|0)>=(b|0))break;k=(r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;A=A+1|0;n=n+(k&1)|0;l=l+((k^1)&1)|0}t=t<<24>>24==0;l=(n|0)<(l|0)?t?i:f:t?f:i;t=0;A=0;while(1){if((A|0)>=(b|0))break;t=(a[(a[s>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}k=(r[(a[l+16>>2]|0)+156>>0]|0)==0&1;u=0;n=t;while(1){A=n+-1|0;if((n|0)<=0){w=0;A=t;break}if((r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0)){w=0;A=t;break}u=u+1|0;n=A}while(1){A=A+1|0;if((A|0)>=(b|0))break;if((r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0))break;w=w+1|0}Dy(i,f);c=a[(a[c>>2]|0)+196>>2]|0;b=a[c+(e<<6)>>2]|0;c=c+(e<<6)+4|0;A=0;while(1){if((A|0)>=(b|0)){l=0;n=t;break}t=(a[(a[c>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}while(1){A=n+-1|0;if((n|0)<=0){n=0;A=t;break}if((r[(a[(a[(a[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0)){n=0;A=t;break}l=l+1|0;n=A}while(1){A=A+1|0;if((A|0)>=(b|0))break;if((r[(a[(a[(a[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0))break;n=n+1|0}e=l-n|0;k=u-w|0;if((((e|0)>-1?e:0-e|0)|0)>(((k|0)>-1?k:0-k|0)|0))Dy(i,f)}return}function Dy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;f=a[A+16>>2]|0;r=a[f+232>>2]|0;f=f+236|0;i=a[f>>2]|0;n=e+16|0;l=a[(a[n>>2]|0)+236>>2]|0;a[f>>2]=l;f=(a[46741]|0)+16|0;a[(a[(a[(a[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(l<<2)>>2]=A;a[(a[n>>2]|0)+236>>2]=i;a[(a[(a[(a[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return}function My(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;h=A+16|0;u=a[(a[h>>2]|0)+196>>2]|0;r[u+(e<<6)+48>>0]=0;d=(e|0)>0;B=e+1|0;k=(i|0)!=0;o=e+-1|0;n=0;t=0;i=u;A:while(1){s=(a[i+(e<<6)>>2]|0)+-1|0;w=i+(e<<6)+4|0;l=i+(B<<6)|0;u=n;while(1){if((u|0)>=(s|0)){i=17;break A}b=a[w>>2]|0;c=a[b+(u<<2)>>2]|0;u=u+1|0;b=a[b+(u<<2)>>2]|0;if((a[(a[c+16>>2]|0)+236>>2]|0)>=(a[(a[b+16>>2]|0)+236>>2]|0)){i=5;break A}if(Wy(A,c,b)|0)continue;if(d){i=yy(c,b)|0;n=yy(b,c)|0}else{i=0;n=0}if((a[l>>2]|0)>0){i=(zy(c,b)|0)+i|0;n=(zy(b,c)|0)+n|0}if((i|0)>(n|0))break;if((i|0)==(n|0)&(k&(i|0)>0)){i=n;break}}Dy(c,b);t=i-n+t|0;n=a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0;r[n+(e<<6)+49>>0]=0;l=a[h>>2]|0;i=a[l+196>>2]|0;r[i+(e<<6)+48>>0]=1;if((f[l+236>>1]|0)<(e|0)){r[n+(o<<6)+49>>0]=0;r[i+(o<<6)+48>>0]=1}if((f[l+238>>1]|0)<=(e|0)){n=u;continue}r[n+(B<<6)+49>>0]=0;r[i+(B<<6)+48>>0]=1;n=u}if((i|0)==5)vA(86263,85781,770,86297);else if((i|0)==17)return t|0;return 0}function Fy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=a[46739]|0;h=A+16|0;A=a[(a[h>>2]|0)+196>>2]|0;d=a[A+(e<<6)+4>>2]|0;u=(i|0)>(e|0);k=o+4|0;w=0;while(1){i=a[A+(e<<6)>>2]|0;if((w|0)>=(i|0)){A=0;t=0;break}s=(a[d+(w<<2)>>2]|0)+16|0;A=a[s>>2]|0;A:do{if(u){c=a[A+180>>2]|0;A=0;t=0;while(1){i=a[c+(t<<2)>>2]|0;if(!i)break A;r=a[i+16>>2]|0;if((f[r+154>>1]|0)>0){a[o+(A<<2)>>2]=a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[r+88>>0];A=A+1|0}t=t+1|0}}else{c=a[A+172>>2]|0;t=0;A=0;while(1){i=a[c+(t<<2)>>2]|0;if(!i)break A;r=a[i+16>>2]|0;if((f[r+154>>1]|0)>0){a[o+(A<<2)>>2]=a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[r+48>>0];A=A+1|0}t=t+1|0}}}while(0);A:do{switch(A|0){case 0:{l=-1.0;break}case 1:{l=+(a[o>>2]|0);break}case 2:{l=+(((a[k>>2]|0)+(a[o>>2]|0)|0)/2|0|0);break}default:{K4(o,A,4,60);i=(A|0)/2|0;if(A&1|0){l=+(a[o+(i<<2)>>2]|0);break A}t=a[o+(i<<2)>>2]|0;r=(a[o+(A+-1<<2)>>2]|0)-t|0;A=a[o+(i+-1<<2)>>2]|0;i=A-(a[o>>2]|0)|0;if((i|0)==(r|0)){l=+((A+t|0)/2|0|0);break A}else{l=+(((U(i,t)|0)+(U(A,r)|0)|0)/(i+r|0)|0|0);break A}}}}while(0);b[(a[s>>2]|0)+240>>3]=l;w=w+1|0;A=a[(a[h>>2]|0)+196>>2]|0}while(1){if((t|0)>=(i|0))break;r=a[d+(t<<2)>>2]|0;o=a[r+16>>2]|0;if((a[o+184>>2]|0)==0?(a[o+176>>2]|0)==0:0){A=(Jy(r)|0|A&255)&255;i=a[(a[(a[h>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}t=t+1|0}return A|0}function Vy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0,B=0;k=a[(a[A+16>>2]|0)+196>>2]|0;B=a[k+(e<<6)+4>>2]|0;k=a[k+(e<<6)>>2]|0;h=(i|0)!=0;o=(f|i|0)==0;f=0;i=k;k=B+(k<<2)|0;while(1){u=i+-1|0;if((i|0)>0)i=B;else break;A:while(1){e:while(1){if(i>>>0>=k>>>0)break A;while(1){if(i>>>0>=k>>>0)break A;s=a[i>>2]|0;w=+b[(a[s+16>>2]|0)+240>>3];if(!(w<0.0))break;i=i+4|0}c=0;while(1){n=c<<24>>24==0;while(1){i=i+4|0;if(i>>>0>=k>>>0)break A;if(n){n=11;break}l=a[i>>2]|0;if(!(a[(a[l+16>>2]|0)+212>>2]|0)){n=13;break}}if((n|0)==11){l=a[i>>2]|0;t=l}else if((n|0)==13)t=l;if(Wy(A,s,t)|0)continue e;n=a[l+16>>2]|0;if(+b[n+240>>3]>=0.0)break;c=(a[n+212>>2]|0)==0?c:1}n=~~w;c=~~+b[(a[l+16>>2]|0)+240>>3];if((n|0)>(c|0)|h&(n|0)==(c|0))break}Dy(s,t);f=f+1|0}i=u;k=o?k+-4|0:k}if(f|0?(d=a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0,r[d+(e<<6)+49>>0]=0,(e|0)>0):0)r[d+(e+-1<<6)+49>>0]=0;return}function Jy(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0;n=a[A+16>>2]|0;if((a[n+200>>2]|0)>0){f=a[n+196>>2]|0;A=a[f>>2]|0;A=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;i=1;while(1){r=a[f+(i<<2)>>2]|0;if(!r)break;r=a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0;A=(a[(a[r+16>>2]|0)+236>>2]|0)>(a[(a[A+16>>2]|0)+236>>2]|0)?r:A;i=i+1|0}e=+b[(a[A+16>>2]|0)+240>>3];if(!(e>=0.0))A=1;else{b[n+240>>3]=e+1.0;A=0}}else if((a[n+192>>2]|0)>0){r=a[n+188>>2]|0;i=a[r>>2]|0;A=1;i=a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;while(1){f=a[r+(A<<2)>>2]|0;if(!f)break;f=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;A=A+1|0;i=(a[(a[f+16>>2]|0)+236>>2]|0)<(a[(a[i+16>>2]|0)+236>>2]|0)?f:i}e=+b[(a[i+16>>2]|0)+240>>3];if(e>0.0){b[n+240>>3]=e+-1.0;A=0}else A=1}else A=1;return A|0}function Ny(A,e){A=A|0;e=e|0;return(a[(a[(a[A>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[e>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Xy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+96|0;u=o+64|0;w=o+48|0;l=o+24|0;r=o;c=e+16|0;b=a[(a[c>>2]|0)+232>>2]|0;s=A+16|0;i=a[(a[s>>2]|0)+196>>2]|0;t=a[i+(b<<6)>>2]|0;do{if((a[i+(b<<6)+8>>2]|0)>=1){a[(a[i+(b<<6)+4>>2]|0)+(t<<2)>>2]=e;a[(a[c>>2]|0)+236>>2]=t;A=a[s>>2]|0;r=a[A+196>>2]|0;i=r+(b<<6)|0;n=a[i>>2]|0;a[i>>2]=n+1;if((n|0)>=(a[r+(b<<6)+8>>2]|0))vA(86377,85781,1346,86413);n=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]|0;if((t|0)>(n|0)){s=Vh(e)|0;w=a[(a[c>>2]|0)+236>>2]|0;u=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]|0;a[l>>2]=1359;a[l+4>>2]=s;a[l+8>>2]=w;a[l+12>>2]=b;a[l+16>>2]=u;ao(1,86429,l)|0;break}i=f[A+236>>1]|0;A=f[A+238>>1]|0;if((b|0)<(i|0)|(b|0)>(A<<16>>16|0)){a[w>>2]=1364;a[w+4>>2]=b;a[w+8>>2]=i;a[w+12>>2]=A<<16>>16;ao(1,86502,w)|0;break}if(((a[r+(b<<6)+4>>2]|0)+(t<<2)|0)>>>0>((a[r+(b<<6)+12>>2]|0)+(n<<2)|0)>>>0){t=Vh(e)|0;w=a[(a[s>>2]|0)+196>>2]|0;s=(a[w+(b<<6)+4>>2]|0)+(a[(a[c>>2]|0)+236>>2]<<2)|0;w=(a[w+(b<<6)+12>>2]|0)+(a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]<<2)|0;a[u>>2]=1370;a[u+4>>2]=b;a[u+8>>2]=t;a[u+12>>2]=s;a[u+16>>2]=b;a[u+20>>2]=b;a[u+24>>2]=w;ao(1,86563,u)|0}}else{w=Vh(A)|0;u=Vh(e)|0;a[r>>2]=1339;a[r+4>>2]=w;a[r+8>>2]=u;a[r+12>>2]=b;a[r+16>>2]=t;ao(1,86322,r)|0}}while(0);k=o;return}function Ry(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=e+16|0;A:do{if(!i){n=0;while(1){e=a[l>>2]|0;if((n|0)>=(a[e+184>>2]|0))break A;e=a[(a[e+180>>2]|0)+(n<<2)>>2]|0;i=e+-48|0;f=(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;wR(A,a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)}n=n+1|0}}else{n=0;while(1){e=a[l>>2]|0;if((n|0)>=(a[e+176>>2]|0))break A;e=a[(a[e+172>>2]|0)+(n<<2)>>2]|0;i=e+48|0;f=(a[(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;wR(A,a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)}n=n+1|0}}}while(0);return}function Hy(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;g=E;n=A+16|0;i=a[(a[n>>2]|0)+196>>2]|0;B=a[i+(e<<6)+4>>2]|0;v=e+1|0;A=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(v<<6)>>2]|0;if((a[46745]|0)>(A|0))h=a[46746]|0;else{A=A+1|0;a[46745]=A;i=a[46746]|0;if(!i)A=$F(A<<2)|0;else A=eV(i,A<<2)|0;a[46746]=A;i=a[(a[n>>2]|0)+196>>2]|0;h=A}d=i+(v<<6)|0;A=0;while(1){if((A|0)>=(a[d>>2]|0))break;a[h+(A<<2)>>2]=0;A=A+1|0}o=i+(e<<6)|0;u=0;l=0;A=0;c=h;while(1){b=a[o>>2]|0;if((u|0)>=(b|0))break;w=a[(a[(a[B+(u<<2)>>2]|0)+16>>2]|0)+180>>2]|0;A:do{if((l|0)>0){s=0;while(1){n=a[w+(s<<2)>>2]|0;if(!n)break A;b=n+16|0;t=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){n=t+1|0;if((t|0)>=(l|0))break;t=n;A=(U(a[c+(n<<2)>>2]|0,f[(a[b>>2]|0)+154>>1]|0)|0)+A|0}s=s+1|0}}}while(0);t=0;while(1){n=a[w+(t<<2)>>2]|0;if(!n)break;c=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=h+(c<<2)|0;a[s>>2]=(a[s>>2]|0)+(f[(a[n+16>>2]|0)+154>>1]|0);l=(c|0)>(l|0)?c:l;t=t+1|0;c=h}u=u+1|0}t=i+(e<<6)+4|0;l=0;while(1){if((l|0)>=(b|0))break;n=a[(a[(a[t>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;if(r[n+145>>0]|0){e=n+180|0;a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];A=(py(g,1)|0)+A|0}l=l+1|0}t=a[d>>2]|0;l=i+(v<<6)+4|0;n=0;while(1){if((n|0)>=(t|0))break;i=a[(a[(a[l>>2]|0)+(n<<2)>>2]|0)+16>>2]|0;if(r[i+145>>0]|0){v=i+172|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];A=(py(g,-1)|0)+A|0}n=n+1|0}k=E;return A|0}function py(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=(e|0)<1;s=a[A>>2]|0;e=0;A=0;A:while(1){w=a[s+(e<<2)>>2]|0;if(!w)break;e=e+1|0;if(u){t=w+48|0;c=w+16|0;l=e;while(1){i=a[s+(l<<2)>>2]|0;if(!i)continue A;r=a[i+16>>2]|0;n=a[c>>2]|0;if((+b[r+56>>3]-+b[n+56>>3])*+((a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[((a[w>>2]&3|0)==3?w:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(U(f[r+154>>1]|0,f[n+154>>1]|0)|0)+A|0;l=l+1|0}}else{t=w+-48|0;c=w+16|0;l=e;while(1){i=a[s+(l<<2)>>2]|0;if(!i)continue A;r=a[i+16>>2]|0;n=a[c>>2]|0;if((+b[r+16>>3]-+b[n+16>>3])*+((a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[((a[w>>2]&3|0)==2?w:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(U(f[r+154>>1]|0,f[n+154>>1]|0)|0)+A|0;l=l+1|0}}}return A|0}function Uy(A){A=A|0;var e=0.0,i=0.0;a[46744]=8;a[47136]=24;b[23215]=.995;A=po(A,86685)|0;if(A|0?(e=+$3(A),e>0.0):0){i=e*+(a[46744]|0);a[46744]=~~(i>1.0?i:1.0);e=e*+(a[47136]|0);a[47136]=~~(e>1.0?e:1.0)}return}function xy(A){A=A|0;var e=0,i=0;i=(f[(a[A+16>>2]|0)+238>>1]|0)+2|0;e=qF(i<<2)|0;jy(A,e,i,0)|0;L2(e);return}function Ty(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;l=A+16|0;t=qF((f[(a[l>>2]|0)+238>>1]<<2)+8|0)|0;n=cd(A)|0;while(1){if(!n)break;r=t+(a[(a[n+16>>2]|0)+232>>2]<<2)|0;a[r>>2]=(a[r>>2]|0)+1;r=Oo(A,n)|0;while(1){if(!r)break;c=a[r>>2]&3;e=a[(a[(a[((c|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;c=a[(a[(a[((c|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;b=(e|0)>(c|0);i=b?e:c;e=b?c:e;while(1){e=e+1|0;if((e|0)>=(i|0))break;b=t+(e<<2)|0;a[b>>2]=(a[b>>2]|0)+1}r=_o(A,r)|0}n=bd(A,n)|0}r=qF((f[(a[l>>2]|0)+238>>1]<<6)+128|0)|0;i=a[l>>2]|0;a[i+196>>2]=r;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;c=t+(e<<2)|0;i=a[c>>2]|0;a[r+(e<<6)>>2]=i;a[r+(e<<6)+8>>2]=i;c=qF((a[c>>2]<<2)+4|0)|0;i=a[l>>2]|0;b=a[i+196>>2]|0;a[b+(e<<6)+4>>2]=c;a[b+(e<<6)+12>>2]=c;e=e+1|0;r=b}L2(t);return}function jy(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,s=0,w=0;w=A+16|0;l=1;while(1){n=a[w>>2]|0;if((l|0)>(a[n+180>>2]|0))break;s=jy(a[(a[n+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;l=l+1|0;r=s}A:do{if((gL(A)|0)!=(A|0)){Y6(e|0,0,i<<2|0)|0;n=cd(A)|0;while(1){if(!n)break;c=n+16|0;a[e+(a[(a[c>>2]|0)+232>>2]<<2)>>2]=1;l=Oo(A,n)|0;while(1){if(!l)break;s=l+-48|0;t=a[(a[c>>2]|0)+232>>2]|0;while(1){i=t+1|0;if((t|0)>=(a[(a[(a[((a[l>>2]&3|0)==2?l:s)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;a[e+(i<<2)>>2]=1;t=i}l=_o(A,l)|0}n=bd(A,n)|0}n=a[w>>2]|0;l=f[n+236>>1]|0;while(1){if((l|0)>(f[n+238>>1]|0))break A;if(!(a[e+(l<<2)>>2]|0)){if(!r)r=XB(gL(A)|0,86675,1)|0;n=vd(r,0,1)|0;Td(n,137447,304,1)|0;s=n+16|0;t=a[s>>2]|0;a[t+232>>2]=l;b[t+96>>3]=.5;b[t+88>>3]=.5;b[t+80>>3]=1.0;a[t+216>>2]=1;a[t+176>>2]=0;t=qF(20)|0;c=a[s>>2]|0;a[c+172>>2]=t;a[c+184>>2]=0;c=qF(20)|0;a[(a[s>>2]|0)+180>>2]=c;kd(A,n,1)|0;n=a[w>>2]|0}l=l+1|0}}}while(0);return r|0}function Sy(A){A=A|0;var e=0,i=0;cy(A);e=A+16|0;A=1;while(1){i=a[e>>2]|0;if((A|0)>(a[i+180>>2]|0))break;Sy(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function Py(A){A=A|0;var e=0,i=0;e=a[A>>2]&3;i=Oy(a[((e|0)==3?A:A+48|0)+40>>2]|0)|0;e=a[17308+(i*12|0)+((Oy(a[((e|0)==2?A:A+-48|0)+40>>2]|0)|0)<<2)>>2]|0;A=(a[A+16>>2]|0)+156|0;a[A>>2]=U(a[A>>2]|0,e)|0;return}function Oy(A){A=A|0;A=a[A+16>>2]|0;if((r[A+156>>0]|0)==1)A=2;else A=(r[A+160>>0]|0)<2&1;return A|0}function Ky(A,e){A=A|0;e=e|0;if(a[(a[A+16>>2]|0)+192>>2]|0){ID(A);_y(A);if(r[194954]|0)JD(A);qy(A);if(eM(A)|0)_y(A);$y(A);if(JV(A,2,Az(A)|0)|0?(ez(A),JV(A,2,Az(A)|0)|0):0)vA(86693,86721,134,86732);iz(A);rz(A,e);fz(A)}return}function _y(A){A=A|0;var e=0,i=0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;E=A+16|0;e=a[E>>2]|0;C=a[e+196>>2]|0;v=f[e+236>>1]|0;while(1){if((v|0)>(f[e+238>>1]|0))break;u=C+(v<<6)|0;k=C+(v<<6)+4|0;o=C+(v<<6)+40|0;h=C+(v<<6)+24|0;d=C+(v<<6)+32|0;B=C+(v<<6)+16|0;w=0;while(1){if((w|0)>=(a[u>>2]|0))break;s=(a[(a[k>>2]|0)+(w<<2)>>2]|0)+16|0;e=a[s>>2]|0;t=+b[e+80>>3]*.5;l=a[e+204>>2]|0;A:do{if(l){n=0;while(1){i=a[l+(n<<2)>>2]|0;if(!i)break A;I=a[i>>2]&3;if((a[((I|0)==3?i:i+48|0)+40>>2]|0)==(a[((I|0)==2?i:i+-48|0)+40>>2]|0)?(g=a[(a[i+16>>2]|0)+96>>2]|0,(g|0)!=0):0){c=+b[g+32>>3]*.5;t=t>c?t:c}n=n+1|0}}}while(0);if(+b[o>>3]>3]=t;b[o>>3]=t}if(+b[d>>3]>3]=t;b[d>>3]=t}i=a[e+212>>2]|0;if(i|0){if((i|0)==(A|0))n=0;else{n=kR(i,a[47144]|0,8,0)|0;e=a[s>>2]|0}l=a[e+232>>2]|0;i=a[i+16>>2]|0;e=i+128|0;t=t+ +(n|0);if((l|0)==(f[i+236>>1]|0)){c=+b[e>>3];b[e>>3]=c>t?c:t}e=i+120|0;if((l|0)==(f[i+238>>1]|0)){c=+b[e>>3];b[e>>3]=c>t?c:t}}w=w+1|0}v=v+1|0;e=a[E>>2]|0}w=zz(A)|0;n=a[E>>2]|0;e=f[n+238>>1]|0;b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[C+(e<<6)+16>>3];i=f[n+236>>1]|0;l=n+252|0;c=0.0;while(1){s=e+-1|0;if((e|0)<=(i|0))break;Z=+b[C+(s<<6)+32>>3]+ +b[C+(e<<6)+40>>3]+ +(a[l>>2]|0);t=+b[C+(e<<6)+24>>3]+8.0+ +b[C+(s<<6)+16>>3];t=Z>t?Z:t;if((a[C+(s<<6)>>2]|0)>0)b[(a[(a[a[C+(s<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+t;c=c>t?c:t;e=s}A:do{if((w|0)!=0?(a[n+116>>2]&1|0)!=0:0){Yz(A,0);n=a[E>>2]|0;if(r[n+276>>0]|0){e=f[n+238>>1]|0;i=f[n+236>>1]|0;t=+b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];c=0.0;while(1){l=e+-1|0;if((e|0)<=(i|0))break A;G=+b[(a[(a[a[C+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];Z=G-t;t=G;c=c>Z?c:Z;e=l}}}}while(0);A:do{if(r[n+276>>0]|0){l=f[n+236>>1]|0;i=f[n+238>>1]|0;while(1){e=i+-1|0;if((i|0)<=(l|0))break A;if((a[C+(e<<6)>>2]|0)<=0){i=e;continue}b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[(a[(a[a[C+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+c;i=e}}}while(0);e=n+192|0;while(1){e=a[e>>2]|0;if(!e)break;e=a[e+16>>2]|0;b[e+24>>3]=+b[(a[(a[a[C+(a[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function qy(A){A=A|0;var e=0,i=0,r=0;mz(A);e=(a[A+16>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;r=e+16|0;e=a[r>>2]|0;i=a[e+224>>2]|0;if(i){Lz(A,i);e=a[r>>2]|0}i=a[e+228>>2]|0;if(!i)i=e;else{Lz(A,i);i=a[r>>2]|0}r=a[i+204>>2]|0;if(r|0){e=0;while(1)if(!(a[r+(e<<2)>>2]|0))break;else e=e+1|0}e=i+164|0}return}function $y(A){A=A|0;uz(A);kz(A);oz(A);hz(A);dz(A);return}function Az(A){A=A|0;var e=0,i=0.0;e=po(A,86921)|0;if(!e)A=2147483647;else{i=+$3(e);A=~~(i*+(vh(A)|0))}return A|0}function ez(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;d=A+16|0;e=a[d>>2]|0;h=f[e+236>>1]|0;while(1){o=f[e+238>>1]|0;if((h|0)>(o|0)){B=19;break}u=a[e+196>>2]|0;k=u+(h<<6)|0;w=a[k>>2]|0;u=u+(h<<6)+4|0;s=0;i=0;A:while(1){if((s|0)>=(w|0)){B=14;break}i=a[(a[u>>2]|0)+(s<<2)>>2]|0;l=a[i+16>>2]|0;t=a[l+256>>2]|0;e:do{if(t|0){n=0;while(1){c=a[t+(n<<2)>>2]|0;if(!c)break e;b=a[c>>2]&3;if((a[(a[(a[((b|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;if((a[(a[(a[((b|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;else n=n+1|0}}}while(0);l=a[l+248>>2]|0;e:do{if(l|0){n=0;while(1){t=a[l+(n<<2)>>2]|0;if(!t)break e;c=a[t>>2]&3;if((a[(a[(a[((c|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;if((a[(a[(a[((c|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;else n=n+1|0}}}while(0);s=s+1|0}if((B|0)==14){B=0;if(i){i=a[a[u>>2]>>2]|0;e=a[a[k+(((h|0)<(o|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){B=16;break}k=YW(A)|0;o=k+16|0;r[(a[o>>2]|0)+156>>0]=2;sz(k,i,0.0,0)|0;sz(k,e,0.0,0)|0;a[(a[o>>2]|0)+232>>2]=a[(a[((a[(a[i+16>>2]|0)+232>>2]|0)<(a[(a[e+16>>2]|0)+232>>2]|0)?i:e)+16>>2]|0)+232>>2];e=a[d>>2]|0}}h=h+1|0}if((B|0)==16)vA(86829,86721,111,86832);else if((B|0)==19)return}function iz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0;A=a[A+16>>2]|0;l=a[A+196>>2]|0;i=f[A+238>>1]|0;A=f[A+236>>1]|0;while(1){if((A|0)>(i|0))break;r=a[l+(A<<6)>>2]|0;n=l+(A<<6)+4|0;e=0;while(1){if((e|0)>=(r|0))break;c=a[(a[(a[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;t=c+232|0;b[c+16>>3]=+(a[t>>2]|0);a[t>>2]=A;e=e+1|0}A=A+1|0}return}function rz(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0,l=0.0,t=0,c=0,s=0.0,w=0,u=0,k=0,o=0;az(A,A);n=A+16|0;c=a[n>>2]|0;A:do{if((f[c+238>>1]|0)>0?(t=a[c+8>>2]|0,i=a[t+84>>2]|0,i|0):0){k=~~(+b[c+32>>3]-+b[c+16>>3]);w=~~(+b[c+40>>3]-+b[c+24>>3]);o=(a[c+116>>2]&1|0)==0;u=o?w:k;w=o?k:w;if((i|0)==4){i=nz(A)|0;c=a[n>>2]|0;t=a[c+8>>2]|0}else i=(i|0)==2&1;e:do{if(!(i<<24>>24)){switch(a[t+84>>2]|0){case 5:{r=+b[t+64>>3];if(r<=0.0)break A;l=r/+b[c+32>>3];s=+b[t+72>>3]/+b[c+40>>3];r=l1.0&s>1.0){s=r;break e}else break A}case 1:break;default:break A}l=+b[t+16>>3];r=+(u|0)/+(w|0);if(r>3];if(r<=0.0)break A;l=r/+(w|0);r=+b[t+72>>3]/+(u|0);if(l<1.0|r<1.0)if(l>2]&1|0)==0;l=i?r:s;r=i?s:r;i=c+192|0;while(1){i=a[i>>2]|0;if(!i)break;i=a[i+16>>2]|0;o=i+16|0;s=+b[o>>3]*r;b[o>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);o=i+24|0;s=+b[o>>3]*l;b[o>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);i=i+164|0}lz(A,r,l)}}while(0);if(e|0)tz(A,e);return}function fz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=A+16|0;A=(a[l>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;n=A+16|0;e=0;while(1){A=a[n>>2]|0;f=a[A+180>>2]|0;i=a[f+(e<<2)>>2]|0;if(!i)break;L2(a[i+16>>2]|0);L2(i);e=e+1|0}if(f){L2(f);A=a[n>>2]|0}e=a[A+172>>2]|0;if(e){L2(e);A=a[n>>2]|0}f=A+256|0;i=a[f+4>>2]|0;A=A+180|0;a[A>>2]=a[f>>2];a[A+4>>2]=i;A=a[n>>2]|0;i=A+248|0;f=a[i+4>>2]|0;A=A+172|0;a[A>>2]=a[i>>2];a[A+4>>2]=f;A=(a[n>>2]|0)+164|0}A=0;e=a[(a[l>>2]|0)+192>>2]|0;A:while(1){n=(A|0)==0;f=A+16|0;A=e;while(1){if(!A)break A;i=a[A+16>>2]|0;e=a[i+164>>2]|0;if((r[i+156>>0]|0)!=2)continue A;if(n)a[(a[l>>2]|0)+192>>2]=e;else a[(a[f>>2]|0)+164>>2]=e;L2(i);L2(A);A=e}}a[(a[(a[(a[l>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function az(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=A+16|0;i=1;while(1){f=a[r>>2]|0;if((i|0)>(a[f+180>>2]|0))break;az(a[(a[f+184>>2]|0)+(i<<2)>>2]|0,e);i=i+1|0}bz(A,e);return}function nz(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0;B=k;k=k+80|0;r=B+64|0;i=B+48|0;f=B+16|0;s=B;d=B+32|0;A=A+16|0;e=a[(a[A>>2]|0)+8>>2]|0;v=e+48|0;a[f>>2]=a[v>>2];a[f+4>>2]=a[v+4>>2];a[f+8>>2]=a[v+8>>2];a[f+12>>2]=a[v+12>>2];if((!(+b[f>>3]<.001)?(n=f+8|0,!(+b[n>>3]<.001)):0)?(l=e+32|0,a[s>>2]=a[l>>2],a[s+4>>2]=a[l+4>>2],a[s+8>>2]=a[l+8>>2],a[s+12>>2]=a[l+12>>2],a[i>>2]=a[f>>2],a[i+4>>2]=a[f+4>>2],a[i+8>>2]=a[f+8>>2],a[i+12>>2]=a[f+12>>2],a[r>>2]=a[l>>2],a[r+4>>2]=a[l+4>>2],a[r+8>>2]=a[l+8>>2],a[r+12>>2]=a[l+12>>2],cz(d,i,r),a[f>>2]=a[d>>2],a[f+4>>2]=a[d+4>>2],a[f+8>>2]=a[d+8>>2],a[f+12>>2]=a[d+12>>2],a[i>>2]=a[d>>2],a[i+4>>2]=a[d+4>>2],a[i+8>>2]=a[d+8>>2],a[i+12>>2]=a[d+12>>2],a[r>>2]=a[s>>2],a[r+4>>2]=a[s+4>>2],a[r+8>>2]=a[s+8>>2],a[r+12>>2]=a[s+12>>2],cz(f,i,r),l=a[A>>2]|0,t=+b[l+32>>3],c=+b[l+40>>3],w=+b[f>>3],u=w/t,o=+b[n>>3],h=o/c,!(u>=1.0&h>=1.0)):0){u=u.5?u:.5;h=+p(+(u*c/o))*o/c;o=+p(+(u*t/w))*w/t*t;A=a[l+8>>2]|0;b[A+64>>3]=o;b[A+72>>3]=h*c;A=1}else A=0;k=B;return A|0}function lz(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=A+16|0;A=1;while(1){f=a[r>>2]|0;if((A|0)>(a[f+180>>2]|0))break;lz(a[(a[f+184>>2]|0)+(A<<2)>>2]|0,e,i);A=A+1|0}r=f+16|0;b[r>>3]=+b[r>>3]*e;r=f+24|0;b[r>>3]=+b[r>>3]*i;r=f+32|0;b[r>>3]=+b[r>>3]*e;f=f+40|0;b[f>>3]=+b[f>>3]*i;return}function tz(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0;s=k;k=k+32|0;t=s+24|0;n=s+16|0;f=s;w=a[A+16>>2]|0;r=+b[w+32>>3]-+b[w+16>>3];i=+b[w+40>>3]-+b[w+24>>3];l=r/i;if(0){w=a[15712]|0;b[f>>3]=l;b[f+8>>3]=r*.0001*i;f3(w,86745,f)|0;a[n>>2]=JY(A)|0;f3(w,86770,n)|0}i=+b[e>>3];do{if(!(l>i*1.1)){A=e+24|0;if(!(l<=i*.8)){a[A>>2]=0;c=9;break}a[A>>2]=-1;if(0){L3(86780,34,1,a[15712]|0)|0;c=9}}else{a[e+24>>2]=~~(i*+((a[e+20>>2]|0)-(a[e+16>>2]|0)|0)/l);c=9}}while(0);if((c|0)==9?0:0){w=a[15712]|0;a[t>>2]=a[e+24>>2];f3(w,86815,t)|0}k=s;return}function cz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function bz(A,e){A=A|0;e=e|0;var i=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;B=(gL(A)|0)==(A|0);E=A+16|0;C=a[E>>2]|0;A:do{if(B){i=f[C+236>>1]|0;A=f[C+238>>1]|0;h=A<<16>>16;d=C+196|0;B=C+196|0;o=i<<16>>16;l=-2147483647.0;n=2147483647.0;while(1){if((o|0)>(h|0))break;t=a[d>>2]|0;k=a[t+(o<<6)>>2]|0;if((k|0)!=0?(v=a[t+(o<<6)+4>>2]|0,g=a[v>>2]|0,(g|0)!=0):0){s=1;t=g;while(1){t=a[t+16>>2]|0;c=r[t+156>>0]|0;if(!((s|0)<(k|0)&c<<24>>24!=0))break;t=a[v+(s<<2)>>2]|0;s=s+1|0}if(!(c<<24>>24)){w=+b[t+16>>3]-+b[t+88>>3];u=n>2]|0)+(o<<6)+4>>2]|0;c=k+-2|0;t=k+-1|0;while(1){t=a[(a[s+(t<<2)>>2]|0)+16>>2]|0;if(!(r[t+156>>0]|0))break;else{t=c;c=c+-1|0}}I=+b[t+96>>3]+ +b[t+16>>3];l=l>I?l:I;n=u?n:w}}o=o+1|0}c=a[C+180>>2]|0;s=C+184|0;t=1;while(1){if((t|0)>(c|0))break A;g=a[(a[(a[s>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;I=+b[g+16>>3]+-8.0;w=+b[g+32>>3]+8.0;t=t+1|0;l=l>w?l:w;n=n>2]|0)+16>>2]|0)+232>>2]|0);n=+(a[(a[(a[C+256>>2]|0)+16>>2]|0)+232>>2]|0);i=f[C+236>>1]|0;A=f[C+238>>1]|0}}while(0);e=a[(a[e+16>>2]|0)+196>>2]|0;w=+b[(a[(a[a[e+(A<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[C+120>>3];I=+b[C+128>>3]+ +b[(a[(a[a[e+(i<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];b[C+16>>3]=n;b[C+24>>3]=w;e=a[E>>2]|0;b[e+32>>3]=l;b[e+40>>3]=I;return}function sz(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var n=0,l=0,t=0,c=0;t=qF(96)|0;c=t+48|0;a[c>>2]=a[c>>2]|3;a[t>>2]=a[t>>2]&-4|2;n=qF(176)|0;l=t+16|0;a[l>>2]=n;a[((a[t>>2]&3|0)==3?t:c)+40>>2]=A;a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]=e;if(i>65535.0){wz(i);i=65535.0;n=a[l>>2]|0}f[n+170>>1]=~~(i+(i>=0.0?.5:-.5));a[n+156>>2]=r;gW(t)|0;return t|0}function wz(A){A=+A;var e=0,i=0;e=k;k=k+16|0;i=e;b[i>>3]=A;a[i+8>>2]=65535;ao(1,86845,i)|0;k=e;return}function uz(A){A=A|0;var e=0,i=0,r=0,f=0;A=(a[A+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;f=A+16|0;r=a[f>>2]|0;A=r+172|0;i=a[A+4>>2]|0;r=r+248|0;a[r>>2]=a[A>>2];a[r+4>>2]=i;r=a[f>>2]|0;i=r+180|0;A=a[i+4>>2]|0;r=r+256|0;a[r>>2]=a[i>>2];a[r+4>>2]=A;r=a[f>>2]|0;A=a[r+180>>2]|0;i=0;while(1)if(!(a[A+(i<<2)>>2]|0))break;else i=i+1|0;e=a[r+172>>2]|0;A=0;while(1)if(!(a[e+(A<<2)>>2]|0))break;else A=A+1|0;a[r+176>>2]=0;A=qF((A+i<<2)+16|0)|0;r=a[f>>2]|0;a[r+172>>2]=A;a[r+184>>2]=0;r=qF(16)|0;A=a[f>>2]|0;a[A+180>>2]=r;A=A+164|0}return}function kz(A){A=A|0;var e=0,i=0,n=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0;G=k;k=k+16|0;C=G;I=A+16|0;g=a[I>>2]|0;Z=a[g+196>>2]|0;A=(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;E=a[g+248>>2]|0;a[C>>2]=E;a[C+4>>2]=A?5:E;E=f[g+236>>1]|0;A=g;while(1){if((E|0)>(f[A+238>>1]|0))break;d=Z+(E<<6)+4|0;a[(a[(a[a[d>>2]>>2]|0)+16>>2]|0)+232>>2]=0;B=Z+(E<<6)|0;v=+(a[C+((E&1)<<2)>>2]|0);o=0.0;c=0;A:while(1){if((c|0)>=(a[B>>2]|0))break;e=a[d>>2]|0;s=a[e+(c<<2)>>2]|0;g=s+16|0;A=a[g>>2]|0;n=+b[A+96>>3];b[A+240>>3]=n;if((a[A+208>>2]|0)>0){t=0;e=0;while(1){i=a[(a[A+204>>2]|0)+(t<<2)>>2]|0;if(!i)break;h=a[i>>2]&3;if((a[((h|0)==3?i:i+48|0)+40>>2]|0)==(a[((h|0)==2?i:i+-48|0)+40>>2]|0)){e=(mX(i)|0)+e|0;A=a[g>>2]|0}t=t+1|0}h=A+96|0;n=+b[h>>3]+ +(e|0);b[h>>3]=n;e=a[d>>2]|0}h=c+1|0;e=a[e+(h<<2)>>2]|0;if(e){u=e+16|0;n=n+v+ +b[(a[u>>2]|0)+88>>3];sz(s,e,n,0)|0;A=~~(n+o);a[(a[u>>2]|0)+232>>2]=A;o=+(A|0);A=a[g>>2]|0}e=a[A+112>>2]|0;if(e){t=a[A+256>>2]|0;c=a[t>>2]|0;t=a[t+4>>2]|0;A=(a[(a[(a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);i=A?t:c;t=A?c:t;c=e+16|0;A=a[c>>2]|0;n=+((U(a[(a[I>>2]|0)+248>>2]|0,l[A+170>>1]|0)|0)/2|0|0);u=a[i>>2]&3;e=a[((u|0)==2?i:i+-48|0)+40>>2]|0;i=a[((u|0)==3?i:i+48|0)+40>>2]|0;if(!(Gz(i,e)|0))sz(e,i,+(~~(+b[(a[e+16>>2]|0)+96>>3]+n+ +b[(a[i+16>>2]|0)+88>>3])|0),a[A+156>>2]|0)|0;A=a[t>>2]&3;e=a[((A|0)==3?t:t+48|0)+40>>2]|0;A=a[((A|0)==2?t:t+-48|0)+40>>2]|0;if(!(Gz(A,e)|0)){sz(e,A,+(~~(+b[(a[e+16>>2]|0)+96>>3]+n+ +b[(a[A+16>>2]|0)+88>>3])|0),a[(a[c>>2]|0)+156>>2]|0)|0;u=0}else u=0}else u=0;while(1){A=a[g>>2]|0;if((u|0)>=(a[A+192>>2]|0)){c=h;continue A}s=a[(a[A+188>>2]|0)+(u<<2)>>2]|0;c=a[s>>2]&3;i=a[((c|0)==3?s:s+48|0)+40>>2]|0;c=a[((c|0)==2?s:s+-48|0)+40>>2]|0;t=(a[(a[i+16>>2]|0)+236>>2]|0)<(a[(a[c+16>>2]|0)+236>>2]|0);e=t?i:c;i=t?c:i;n=+b[(a[i+16>>2]|0)+88>>3]+ +b[(a[e+16>>2]|0)+96>>3];c=s+16|0;t=~~(n+ +(U(a[(a[I>>2]|0)+248>>2]|0,l[(a[c>>2]|0)+170>>1]|0)|0));w=dW(e,i)|0;if(!w){A=a[c>>2]|0;if(!(a[A+96>>2]|0))sz(e,i,+(t|0),a[A+156>>2]|0)|0}else{Q=+(t|0);A=a[c>>2]|0;m=+b[A+136>>3];n=n+ +(a[(a[I>>2]|0)+248>>2]|0)+ +(~~(m+(m>=0.0?.5:-.5))|0);e=~~(n65535){wz(+(e|0));e=65535;A=a[c>>2]|0}c=a[w+16>>2]|0;t=c+170|0;i=l[t>>1]|0;f[t>>1]=(e|0)<(i|0)?i:e;c=c+156|0;a[c>>2]=a[(a[((a[c>>2]|0)>(a[A+156>>2]|0)?w:s)+16>>2]|0)+156>>2]}u=u+1|0}}E=E+1|0;A=a[I>>2]|0}k=G;return}function oz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;e=(a[A+16>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;n=e+16|0;e=a[n>>2]|0;i=a[e+256>>2]|0;A:do{if(i){f=0;while(1){i=a[i+(f<<2)>>2]|0;if(!i)break A;u=YW(A)|0;e=u+16|0;r[(a[e>>2]|0)+156>>0]=2;s=i+16|0;c=a[s>>2]|0;l=~~(+b[c+56>>3]-+b[c+16>>3]);w=(l|0)>0;t=w?0:0-l|0;l=w?l:0;w=i+48|0;sz(u,a[((a[i>>2]&3|0)==3?i:w)+40>>2]|0,+(l+1|0),a[c+156>>2]|0)|0;c=i+-48|0;sz(u,a[((a[i>>2]&3|0)==2?i:c)+40>>2]|0,+(t+1|0),a[(a[s>>2]|0)+156>>2]|0)|0;s=a[i>>2]&3;l=(a[(a[(a[((s|0)==3?i:w)+40>>2]|0)+16>>2]|0)+232>>2]|0)-l|0;i=(a[(a[(a[((s|0)==2?i:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-t|0;a[(a[e>>2]|0)+232>>2]=((l|0)<(i|0)?l:i)+-1;e=a[n>>2]|0;f=f+1|0;i=a[e+256>>2]|0}}}while(0);e=e+164|0}return}function hz(A){A=A|0;if((a[(a[A+16>>2]|0)+180>>2]|0)>0){gz(A);Ez(A);Cz(A);Iz(A)}return}function dz(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;r=A+16|0;f=a[(a[r>>2]|0)+8>>2]|0;if((a[f+84>>2]|0)==3?(e=+b[f+64>>3],i=+b[f+72>>3],!(i*e<=1.0)):0){Bz(A);f=a[r>>2]|0;i=(a[f+116>>2]&1|0)==0?e:i;sz(a[f+256>>2]|0,a[f+260>>2]|0,i<65535.0?i:65535.0,1e3)|0}return}function Bz(A){A=A|0;var e=0,i=0,r=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;s=w;i=kR(A,a[47144]|0,8,0)|0;vz(A);l=A+16|0;n=a[l>>2]|0;t=a[n+256>>2]|0;c=a[n+260>>2]|0;r=+(i|0);i=f[n+236>>1]|0;while(1){if((i|0)>(f[n+238>>1]|0))break;e=a[n+196>>2]|0;do{if(a[e+(i<<6)>>2]|0){e=a[a[e+(i<<6)+4>>2]>>2]|0;if(!e){a[s>>2]=Vh(A)|0;a[s+4>>2]=i;ao(1,86929,s)|0;break}else{sz(t,e,+b[(a[e+16>>2]|0)+88>>3]+r+ +b[n+96>>3],0)|0;n=a[l>>2]|0;e=a[n+196>>2]|0;e=a[(a[e+(i<<6)+4>>2]|0)+((a[e+(i<<6)>>2]|0)+-1<<2)>>2]|0;sz(e,c,+b[(a[e+16>>2]|0)+96>>3]+r+ +b[n+64>>3],0)|0;break}}}while(0);i=i+1|0;n=a[l>>2]|0}k=w;return}function vz(A){A=A|0;var e=0,i=0,f=0;e=A+16|0;if(!(a[(a[e>>2]|0)+256>>2]|0)){f=YW(gL(A)|0)|0;r[(a[f+16>>2]|0)+156>>0]=2;i=YW(gL(A)|0)|0;r[(a[i+16>>2]|0)+156>>0]=2;if((a[(a[e>>2]|0)+12>>2]|0?(gL(A)|0)!=(A|0):0)?(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0:0){A=a[e>>2]|0;sz(f,i,+(~~+b[A+48+((+b[A+48>>3]>+b[A+80>>3]?0:2)<<4)>>3]|0),0)|0}e=a[e>>2]|0;a[e+256>>2]=f;a[e+260>>2]=i}return}function gz(A){A=A|0;var e=0,i=0;do{if((gL(A)|0)!=(A|0)){Bz(A);A=A+16|0;e=a[A>>2]|0;e=dW(a[e+256>>2]|0,a[e+260>>2]|0)|0;if(!e){i=a[A>>2]|0;sz(a[i+256>>2]|0,a[i+260>>2]|0,1.0,128)|0;break}else{i=(a[e+16>>2]|0)+156|0;a[i>>2]=(a[i>>2]|0)+128;break}}else A=A+16|0}while(0);e=1;while(1){i=a[A>>2]|0;if((e|0)>(a[i+180>>2]|0))break;gz(a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function Ez(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0;c=kR(A,a[47144]|0,8,0)|0;k=A+16|0;e=a[k>>2]|0;w=+(c|0);c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0)){i=1;break}e=a[e+196>>2]|0;A:do{if(a[e+(c<<6)>>2]|0?(s=a[a[e+(c<<6)+4>>2]>>2]|0,s|0):0){l=s+16|0;i=a[(a[l>>2]|0)+236>>2]|0;while(1){if((i|0)<=0)break;i=i+-1|0;t=a[(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;n=t+16|0;e=a[n>>2]|0;if(!(r[e+156>>0]|0)){u=10;break}if(Zz(A,t)|0){u=9;break}}if((u|0)==9){e=a[n>>2]|0;u=10}if((u|0)==10){u=0;sz(t,a[(a[k>>2]|0)+256>>2]|0,+b[e+96>>3]+w,0)|0}i=(a[(a[(a[k>>2]|0)+196>>2]|0)+(c<<6)>>2]|0)+(a[(a[l>>2]|0)+236>>2]|0)|0;while(1){if((i|0)>=(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)>>2]|0))break A;l=a[(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;n=l+16|0;e=a[n>>2]|0;if(!(r[e+156>>0]|0))break;if(!(Zz(A,l)|0))i=i+1|0;else{u=15;break}}if((u|0)==15){u=0;e=a[n>>2]|0}sz(a[(a[k>>2]|0)+260>>2]|0,l,+b[e+88>>3]+w,0)|0}}while(0);c=c+1|0;e=a[k>>2]|0}while(1){if((i|0)>(a[e+180>>2]|0))break;Ez(a[(a[e+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=a[k>>2]|0}return}function Cz(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0;r=kR(A,a[47144]|0,8,0)|0;vz(A);e=A+16|0;i=+(r|0);A=1;while(1){r=a[e>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[(a[r+184>>2]|0)+(A<<2)>>2]|0;vz(r);f=a[e>>2]|0;n=r+16|0;sz(a[f+256>>2]|0,a[(a[n>>2]|0)+256>>2]|0,+b[f+96>>3]+i,0)|0;f=a[e>>2]|0;sz(a[(a[n>>2]|0)+260>>2]|0,a[f+260>>2]|0,+b[f+64>>3]+i,0)|0;Cz(r);A=A+1|0}return}function Iz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0.0,u=0,k=0;e=kR(A,a[47144]|0,8,0)|0;u=A+16|0;A=1;while(1){r=a[u>>2]|0;i=a[r+180>>2]|0;if((A|0)>(i|0))break;vz(a[(a[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}w=+(e|0);s=1;A=i;e=r;while(1){if((s|0)>(A|0))break;b=s+1|0;c=b;while(1){i=a[e+184>>2]|0;r=a[i+(s<<2)>>2]|0;if((c|0)>(A|0))break;i=a[i+(c<<2)>>2]|0;n=(f[(a[r+16>>2]|0)+236>>1]|0)>(f[(a[i+16>>2]|0)+236>>1]|0);t=n?i:r;i=n?r:i;r=a[t+16>>2]|0;n=a[i+16>>2]|0;k=f[n+236>>1]|0;l=k<<16>>16;if((f[r+238>>1]|0)>=k<<16>>16){A=(a[(a[(a[a[(a[r+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(a[(a[(a[a[(a[n+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);sz(a[(a[(A?t:i)+16>>2]|0)+260>>2]|0,a[(a[(A?i:t)+16>>2]|0)+256>>2]|0,w,0)|0;A=a[u>>2]|0;e=A;A=a[A+180>>2]|0}c=c+1|0}Iz(r);e=a[u>>2]|0;s=b;A=a[e+180>>2]|0}return}function Zz(A,e){A=A|0;e=e|0;var i=0;e=a[e+16>>2]|0;if((r[e+156>>0]|0)==1){e=a[a[e+256>>2]>>2]|0;while(1){i=a[(a[e+16>>2]|0)+116>>2]|0;if(!i)break;else e=i}if(!(Dd(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0))e=(Dd(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)==0&1;else e=0}else e=0;return e|0}function Gz(A,e){A=A|0;e=e|0;return Qz(A,e)|0}function Qz(A,e){A=A|0;e=e|0;var i=0,r=0;A:do{if((A|0)==(e|0))A=1;else{i=a[(a[A+16>>2]|0)+180>>2]|0;A=0;while(1){r=a[i+(A<<2)>>2]|0;if(!r){A=0;break A}if(!(Qz(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,e)|0))A=A+1|0;else{A=1;break}}}}while(0);return A|0}function mz(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;A=a[b>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;l=a[A+196>>2]|0;n=a[l+(c<<6)>>2]|0;l=l+(c<<6)+4|0;t=0;i=0;while(1){if((i|0)>=(n|0))break;e=a[(a[(a[l>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[e+236>>2]=t;if((r[e+159>>0]|0)==6)e=a[e+216>>2]|0;else e=1;t=e+t|0;i=i+1|0}if((t|0)>(n|0)){A=a[l>>2]|0;if(!A)A=$F((t<<2)+4|0)|0;else A=eV(A,(t<<2)+4|0)|0;i=a[(a[b>>2]|0)+196>>2]|0;a[i+(c<<6)+4>>2]=A;e=a[i+(c<<6)>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;l=a[i+(c<<6)+4>>2]|0;e=a[l+(A<<2)>>2]|0;a[l+(a[(a[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=A;i=a[(a[b>>2]|0)+196>>2]|0}a[i+(c<<6)>>2]=t;a[(a[i+(c<<6)+4>>2]|0)+(t<<2)>>2]=0;A=a[b>>2]|0}c=c+1|0}return}function Lz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+48|0;w=u+32|0;s=u+8|0;i=u+24|0;c=u+16|0;t=u;r=e+16|0;f=a[r>>2]|0;A:do{if((a[f+216>>2]|0)>=2){a[s>>2]=~~(+b[f+16>>3]-+b[f+88>>3]);a[s+4>>2]=~~+b[f+24>>3];a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];Wz(i,e,w);n=i;l=a[n+4>>2]|0;i=s;a[i>>2]=a[n>>2];a[i+4>>2]=l;i=a[r>>2]|0;if((a[i+184>>2]|0)>0){t=a[a[i+180>>2]>>2]|0;i=(a[i+236>>2]|0)+1|0;t=qo(A,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)|0;while(1){if(!t)break A;l=(a[t>>2]&3|0)==2?t:t+-48|0;r=l+48|0;f=a[((a[l>>2]&3|0)==3?l:r)+40>>2]|0;if((f|0)!=(e|0)?(CR(f)|0)==(e|0):0){f=a[((a[l>>2]&3|0)==3?l:r)+40>>2]|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];yz(c,A,f,w,i);f=c;r=a[f+4>>2]|0;n=s;a[n>>2]=a[f>>2];a[n+4>>2]=r;JW(l);n=l+-48|0;r=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;f=a[r+172>>2]|0;if(!f)r=$F((a[r+176>>2]<<2)+8|0)|0;else r=eV(f,(a[r+176>>2]<<2)+8|0)|0;a[(a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0)+172>>2]=r;o=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;r=a[o+172>>2]|0;o=o+176|0;f=a[o>>2]|0;a[o>>2]=f+1;a[r+(f<<2)>>2]=l;l=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;a[(a[l+172>>2]|0)+(a[l+176>>2]<<2)>>2]=0;i=i+1|0}t=$o(A,t)|0}}else{l=a[a[i+172>>2]>>2]|0;i=(a[i+236>>2]|0)+1|0;l=Oo(A,a[((a[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)|0;while(1){if(!l)break A;r=l+-48|0;f=a[((a[l>>2]&3|0)==2?l:r)+40>>2]|0;if((f|0)!=(e|0)?(CR(f)|0)==(e|0):0){f=a[((a[l>>2]&3|0)==2?l:r)+40>>2]|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];yz(t,A,f,w,i);f=t;r=a[f+4>>2]|0;n=s;a[n>>2]=a[f>>2];a[n+4>>2]=r;JW(l);n=l+48|0;r=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;f=a[r+180>>2]|0;if(!f)r=$F((a[r+184>>2]<<2)+8|0)|0;else r=eV(f,(a[r+184>>2]<<2)+8|0)|0;a[(a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0)+180>>2]=r;f=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;c=a[f+180>>2]|0;f=f+184|0;o=a[f>>2]|0;a[f>>2]=o+1;a[c+(o<<2)>>2]=l;o=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;a[(a[o+180>>2]|0)+(a[o+184>>2]<<2)>>2]=0;i=i+1|0}l=_o(A,l)|0}}}}while(0);k=u;return}function Wz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;DH(e,a[(a[(Id(e)|0)+16>>2]|0)+116>>2]&1);r=a[e+16>>2]|0;b[r+24>>3]=+(a[i+4>>2]|0);f=+b[r+88>>3]+ +(a[i>>2]|0);b[r+16>>3]=f;f=f+ +b[r+96>>3];a[i>>2]=~~(f+ +(a[(a[(Id(e)|0)+16>>2]|0)+248>>2]|0));r=i;e=a[r+4>>2]|0;i=A;a[i>>2]=a[r>>2];a[i+4>>2]=e;return}function yz(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;t=k;k=k+16|0;l=t;e=gL(e)|0;n=CR(i)|0;if((n|0)!=(i|0))WW(n,i);c=a[i+16>>2]|0;a[c+236>>2]=f;n=a[(a[n+16>>2]|0)+232>>2]|0;a[c+232>>2]=n;a[(a[(a[(a[e+16>>2]|0)+196>>2]|0)+(n<<6)+4>>2]|0)+(f<<2)>>2]=i;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];Wz(A,i,l);k=t;return}function zz(A){A=A|0;var e=0.0,i=0.0,r=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0.0;w=a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0;if((gL(A)|0)==(A|0))t=8.0;else t=+(kR(A,a[47144]|0,8,0)|0);s=A+16|0;n=a[s>>2]|0;r=0;c=1;i=+b[n+120>>3];e=+b[n+128>>3];while(1){if((c|0)>(a[n+180>>2]|0))break;l=a[(a[n+184>>2]|0)+(c<<2)>>2]|0;r=zz(l)|0|r;l=a[l+16>>2]|0;n=a[s>>2]|0;if((f[l+238>>1]|0)==(f[n+238>>1]|0)){u=+b[l+120>>3]+t;i=i>u?i:u}if((f[l+236>>1]|0)==(f[n+236>>1]|0)){u=+b[l+128>>3]+t;e=e>u?e:u}c=c+1|0}if((gL(A)|0)!=(A|0)?(a[(a[s>>2]|0)+12>>2]|0)!=0:0)if(!(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1)){c=a[s>>2]|0;r=1;i=+b[c+56>>3]+i;e=+b[c+88>>3]+e}else r=1;c=a[s>>2]|0;b[c+120>>3]=i;b[c+128>>3]=e;if((gL(A)|0)!=(A|0)){s=a[s>>2]|0;A=w+(f[s+236>>1]<<6)+24|0;u=+b[A>>3];b[A>>3]=u>e?u:e;w=w+(f[s+238>>1]<<6)+16|0;u=+b[w>>3];b[w>>3]=u>i?u:i}return r|0}function Yz(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0.0,h=0.0;k=a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0;if((gL(A)|0)==(A|0))i=0;else i=kR(A,a[47144]|0,8,0)|0;s=A+16|0;l=a[s>>2]|0;w=i+e|0;c=+(i|0);t=1;r=+b[l+128>>3];n=+b[l+120>>3];i=l;while(1){if((t|0)>(a[i+180>>2]|0))break;l=a[(a[i+184>>2]|0)+(t<<2)>>2]|0;Yz(l,w);l=a[l+16>>2]|0;i=a[s>>2]|0;if((f[l+238>>1]|0)==(f[i+238>>1]|0)){h=+b[l+120>>3]+c;n=n>h?n:h}if((f[l+236>>1]|0)==(f[i+236>>1]|0)){h=+b[l+128>>3]+c;r=r>h?r:h}t=t+1|0}b[i+120>>3]=n;b[i+128>>3]=r;if(((gL(A)|0)!=(A|0)?(u=a[s>>2]|0,a[u+12>>2]|0):0)?(o=-n-r+ +b[u+48+((+b[u+104>>3]>+b[u+72>>3]?3:1)<<4)+8>>3]-+b[(a[(a[a[k+(f[u+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +b[(a[(a[a[k+(f[u+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],o>0.0):0)Dz(A,~~o,e);if((gL(A)|0)!=(A|0)){u=a[s>>2]|0;w=k+(f[u+236>>1]<<6)+24|0;h=+b[w>>3];o=+b[u+128>>3];b[w>>3]=h>o?h:o;k=k+(f[u+238>>1]<<6)+16|0;o=+b[k>>3];h=+b[u+120>>3];b[k>>3]=o>h?o:h}return}function Dz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0;c=a[(gL(A)|0)+16>>2]|0;h=a[c+196>>2]|0;o=a[A+16>>2]|0;A=f[o+238>>1]|0;r=f[o+236>>1]|0;s=(e+1|0)/2|0;w=o+120|0;u=+b[w>>3];k=+(s|0);l=+(i|0);i=~~(k+l+u-+b[h+(A<<6)+16>>3]);if((i|0)>0){n=+(i|0);while(1){if((A|0)<(r|0))break;if((a[h+(A<<6)>>2]|0)>0){d=(a[(a[a[h+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;b[d>>3]=+b[d>>3]+n}A=A+-1|0}t=+b[o+128>>3];A=i;n=t+ +(e-s|0)}else{t=+b[o+128>>3];A=e-s|0;n=t}A=~~(+(A|0)+l+n-+b[h+(r<<6)+24>>3]);A:do{if((A|0)>0){i=f[c+236>>1]|0;n=+(A|0);while(1){A=r+-1|0;if((r|0)<=(i|0))break A;if((a[h+(A<<6)>>2]|0)<=0){r=A;continue}r=(a[(a[a[h+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;b[r>>3]=+b[r>>3]+n;r=A}}}while(0);b[o+128>>3]=t+ +(e-s|0);b[w>>3]=u+k;return}function Mz(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A+16>>2]|0;f=r[i+84>>0]|0;A=a[e+16>>2]|0;do{if(f<<24>>24==(r[A+84>>0]|0)){if(+b[i+56>>3]==+b[A+56>>3]){if(!(f<<24>>24==0?1:+b[i+64>>3]==+b[A+64>>3])){A=0;break}}else if(f<<24>>24){A=0;break}if(+b[i+16>>3]==+b[A+16>>3]?+b[i+24>>3]==+b[A+24>>3]:0){A=1;break}A=(r[i+44>>0]|0)==0&1}else A=0}while(0);return A|0}function Fz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=A+16|0;e=a[t>>2]|0;f[e+236>>1]=32767;f[e+238>>1]=-1;e=0;l=cd(A)|0;while(1){i=a[t>>2]|0;if(!l)break;r=i+238|0;n=a[(a[l+16>>2]|0)+232>>2]|0;if((n|0)>(f[r>>1]|0))f[r>>1]=n;i=i+236|0;if((n|0)<(f[i>>1]|0))f[i>>1]=n;if(!e)e=l;else e=(n|0)<(a[(a[e+16>>2]|0)+232>>2]|0)?l:e;l=bd(A,l)|0}a[i+264>>2]=e;return}function Vz(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0;e=po(A,86974)|0;if(!e)e=2147483647;else{n=+$3(e);e=~~(n*+(vh(A)|0))}r=A+16|0;i=0;while(1){f=a[r>>2]|0;if((i|0)>=(a[f+220>>2]|0))break;a[f+192>>2]=a[(a[f+216>>2]|0)+(i<<2)>>2];JV(A,(a[f+180>>2]|0)==0&1,e)|0;i=i+1|0}return}function Jz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=k;k=k+16|0;i=r;if(!(po(A,86983)|0))Xz(A,e);else{n=(a[A+16>>2]|0)+136|0;f[n>>1]=f[n>>1]|16;Nz(A,e)}if(0){n=a[15712]|0;A=a[A+16>>2]|0;e=f[A+236>>1]|0;a[i>>2]=f[A+238>>1];a[i+4>>2]=e;f3(n,86991,i)|0}k=r;return}function Nz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0.0;t=k;k=k+16|0;l=t;a[46747]=0;r[l>>0]=r[18588]|0;r[l+1>>0]=r[18589]|0;r[l+2>>0]=r[18590]|0;r[l+3>>0]=r[18591]|0;l=kh(87201,l,0)|0;Td(l,87230,280,1)|0;zd(l,17404,17344);Rz(A);i=po(A,86974)|0;if(!i)f=2147483647;else{c=+$3(i);f=~~(c*+(vh(A)|0))}iY(A,0);rY(A,l);fY(A,l);aY(A,l,0,0);nY(l);n=lY(l)|0;tY(l);if(e|0){KY(l);NY(l)}i=po(A,102586)|0;if(!i)i=-1;else i=q3(i)|0;iV(l,1,f,i)|0;cY(A,l,n);Bh(l)|0;k=t;return}function Xz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n+16|0;r=n+8|0;i=n;Rz(A);do{if(!e){Hz(A,A);$Y(A);pz(i,A);l=i;i=a[l+4>>2]|0;e=r;a[e>>2]=a[l>>2];a[e+4>>2]=i;jD(A,0);e=0}else{KY(A);NY(A);Hz(A,A);$Y(A);pz(i,A);t=i;i=a[t+4>>2]|0;l=r;a[l>>2]=a[t>>2];a[l+4>>2]=i;jD(A,0);l=a[A+16>>2]|0;if((a[l+220>>2]|0)<=1?(a[l+180>>2]|0)<=0:0)break;a[e+32>>2]=1;e=0}}while(0);FY(A);a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];if(Uz(A,f)|0)jD(A,0);if(!e)Vz(A);else XY(A,e);xz(A,e);Tz(A);k=n;return}function Rz(A){A=A|0;var e=0,i=0,n=0;if(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1){i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;n=(a[e+16>>2]|0)+170|0;f[n>>1]=(l[n>>1]|0)<<1;e=_o(A,e)|0}i=bd(A,i)|0}n=(a[A+16>>2]|0)+252|0;a[n>>2]=((a[n>>2]|0)+1|0)/2|0}return}function Hz(A,e){A=A|0;e=e|0;var i=0;e=RB(e)|0;while(1){if(!e)break;i=$z(e)|0;do{if(i)if((i|0)==7&(a[47135]|0)==100){Oz(A,e);break}else{AY(A,e,i);break}else Hz(A,e)}while(0);e=HB(e)|0}return}function pz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;t=e+16|0;i=a[t>>2]|0;e=a[i+228>>2]|0;i=a[i+224>>2]|0;f=(i|0)==0;if(!e)if(f){c=0;b=0}else n=4;else if(f)n=5;else n=4;if((n|0)==4){e=CR(i)|0;i=a[t>>2]|0;a[i+224>>2]=e;e=a[i+228>>2]|0;if(!e){l=0;e=i;n=12}else n=5}do{if((n|0)==5){e=CR(e)|0;i=a[t>>2]|0;a[i+228>>2]=e;if(e){i=e+16|0;e=a[i>>2]|0;f=(r[e+159>>0]|0)==5&1;while(1){e=a[a[e+180>>2]>>2]|0;if(!e){n=11;break}l=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((l|0)!=(CR(l)|0)){n=9;break}MY(e);e=a[i>>2]|0}if((n|0)==9)vA(87094,87034,346,87126);else if((n|0)==11){l=f;e=a[t>>2]|0;n=12;break}}else{l=0;e=i;n=12}}}while(0);A:do{if((n|0)==12){e=a[e+224>>2]|0;if(!e){c=0;b=l}else{i=e+16|0;e=a[i>>2]|0;f=(r[e+159>>0]|0)==3&1;while(1){e=a[a[e+172>>2]>>2]|0;if(!e){c=f;b=l;break A}t=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((t|0)!=(CR(t)|0))break;MY(e);e=a[i>>2]|0}vA(87139,87034,353,87126)}}}while(0);a[A>>2]=c;a[A+4>>2]=b;return}function Uz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0;c=A+16|0;t=a[c>>2]|0;if((a[t+228>>2]|0)==0?(a[t+224>>2]|0)==0:0)e=0;else i=3;A:do{if((i|0)==3){n=cd(A)|0;t=e+4|0;l=a[e>>2]&65535;e=0;while(1){if(!n)break A;if((n|0)==(CR(n)|0)){r=n+16|0;i=a[r>>2]|0;if((a[i+184>>2]|0)==0?(b=a[(a[c>>2]|0)+228>>2]|0,!((b|0)==0|(n|0)==(b|0))):0){e=mW(n,b,0)|0;i=a[e+16>>2]|0;f[i+170>>1]=a[t>>2];a[i+156>>2]=0;i=a[r>>2]|0}if((a[i+176>>2]|0)==0?(s=a[(a[c>>2]|0)+224>>2]|0,!((s|0)==0|(n|0)==(s|0))):0){e=mW(s,n,0)|0;r=a[e+16>>2]|0;f[r+170>>1]=l;a[r+156>>2]=0}}n=bd(A,n)|0}}}while(0);return(e|0)!=0|0}function xz(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;n=cd(A)|0;b=A+16|0;i=a[b>>2]|0;A:do{if(n){f[i+236>>1]=32767;f[i+238>>1]=-1;c=(e|0)==0;while(1){if(!n)break;i=CR(n)|0;t=a[n+16>>2]|0;e=a[t+232>>2]|0;do{if((i|0)!=(n|0)){if(!c)if(!e)e=0;else break;e=e+(a[(a[i+16>>2]|0)+232>>2]|0)|0;a[t+232>>2]=e}}while(0);i=a[b>>2]|0;l=i+238|0;if((e|0)>(f[l>>1]|0))f[l>>1]=e;i=i+236|0;if((e|0)<(f[i>>1]|0))f[i>>1]=e;switch(r[t+159>>0]|0){case 6:case 0:break;default:ZR(n)}n=bd(A,n)|0}if((gL(A)|0)==(A|0)){if((a[47135]|0)==100)e=1;else{Pz(A);break}while(1){i=a[b>>2]|0;if((e|0)>(a[i+180>>2]|0))break A;Sz(a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{f[i+238>>1]=0;f[i+236>>1]=0}}while(0);return}function Tz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=A+16|0;i=0;while(1){e=a[c>>2]|0;if((i|0)>=(a[e+220>>2]|0))break;t=a[(a[e+216>>2]|0)+(i<<2)>>2]|0;a[e+192>>2]=t;e=t;while(1){if(!e)break;t=e+16|0;jz((a[t>>2]|0)+172|0);jz((a[t>>2]|0)+180|0);t=a[t>>2]|0;r[t+157>>0]=0;e=a[t+164>>2]|0}i=i+1|0}t=cd(A)|0;while(1){if(!t)break;l=Oo(A,t)|0;while(1){if(!l)break;f=l+16|0;e=a[f>>2]|0;n=a[e+172>>2]|0;if((n|0)!=0?(b=n+16|0,(l|0)==(a[(a[b>>2]|0)+116>>2]|0)):0){e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;if((l|0)!=(i|0)?(s=(a[i+16>>2]|0)+172|0,w=a[s>>2]|0,(w|0)!=0&(n|0)==(w|0)):0)a[s>>2]=0;i=_o(A,i)|0}e=bd(A,e)|0}L2(a[b>>2]|0);L2(n);e=a[f>>2]|0}a[e+172>>2]=0;l=_o(A,l)|0}t=bd(A,t)|0}L2(a[(a[c>>2]|0)+216>>2]|0);w=a[c>>2]|0;a[w+216>>2]=0;a[w+220>>2]=0;return}function jz(A){A=A|0;var e=0,i=0;i=A+4|0;e=a[i>>2]|0;while(1){if((e|0)<=-1)break;a[(a[A>>2]|0)+(e<<2)>>2]=0;e=e+-1|0}a[i>>2]=0;return}function Sz(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=a[e>>2]|0;r=a[(a[(a[i+264>>2]|0)+16>>2]|0)+232>>2]|0;A=i+236|0;f[A>>1]=r+(l[A>>1]|0);A=i+238|0;f[A>>1]=r+(l[A>>1]|0);A=1;while(1){if((A|0)>(a[i+180>>2]|0))break;Sz(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0;i=a[e>>2]|0}return}function Pz(A){A=A|0;var e=0;e=RB(gL(A)|0)|0;while(1){if(!e)break;if((r[(a[e+16>>2]|0)+274>>0]|0)==7)Oz(A,e);e=HB(e)|0}return}function Oz(A,e){A=A|0;e=e|0;var i=0;i=(a[e+16>>2]|0)+200|0;do{if((a[i>>2]|0)==0?(a[i>>2]=A,Kz(A,e),cd(e)|0):0){_z(A,e);if((a[47135]|0)==100){Xz(e,0);qz(e);break}else{Fz(e);break}}}while(0);return}function Kz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;l=A+16|0;n=cd(e)|0;while(1){if(!n)break;t=bd(e,n)|0;c=n+16|0;if(!(r[(a[c>>2]|0)+159>>0]|0))f=1;else{Cd(e,n)|0;n=t;continue}while(1){i=a[l>>2]|0;A=a[i+180>>2]|0;if((f|0)>=(A|0))break;if(Dd(a[(a[i+184>>2]|0)+(f<<2)>>2]|0,n)|0){b=7;break}f=f+1|0}if((b|0)==7){b=0;A=a[(a[l>>2]|0)+180>>2]|0}if((f|0)<(A|0))Cd(e,n)|0;a[(a[c>>2]|0)+212>>2]=0;n=t}i=cd(e)|0;while(1){if(!i)break;A=Oo(gL(e)|0,i)|0;while(1){if(!A)break;if(Dd(e,a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)wh(e,A,1)|0;A=_o(gL(e)|0,A)|0}i=bd(e,i)|0}return}function _z(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+16|0;i=a[r>>2]|0;n=i+180|0;A=a[n>>2]|0;f=A+1|0;a[n>>2]=f;i=a[i+184>>2]|0;if(!i)A=qF((A<<2)+8|0)|0;else A=AV(i,A+2|0,4,f)|0;a[(a[r>>2]|0)+184>>2]=A;a[A+(f<<2)>>2]=e;JF(e);return}function qz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=a[A+16>>2]|0;e=n+192|0;l=0;while(1){e=a[e>>2]|0;if(!e)break;f=a[e+16>>2]|0;if(!(a[f+232>>2]|0))i=(r[f+156>>0]|0)==0?e:l;else i=l;e=f+164|0;l=i}if(!l)vA(87019,87034,238,87041);a[n+264>>2]=l;e=cd(A)|0;while(1){if(!e){e=13;break}i=e+16|0;if(!((e|0)==(l|0)?1:(a[(a[i>>2]|0)+216>>2]|0)<2)){e=11;break}IR(e,l)|0;r[(a[i>>2]|0)+159>>0]=7;e=bd(A,e)|0}if((e|0)==11)vA(87056,87034,242,87041);else if((e|0)==13)return}function $z(A){A=A|0;var e=0;if(!(eY(A)|0)){e=YR(po(A,87171)|0,17356,17380)|0;r[(a[A+16>>2]|0)+274>>0]=e;A=e}else A=7;return A|0}function AY(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;n=cd(e)|0;A:do{if(n|0){c=i&255;t=n+16|0;f=n;l=c;while(1){r[(a[f+16>>2]|0)+159>>0]=l;f=bd(e,f)|0;if(!f)break;IR(n,f)|0;l=r[(a[t>>2]|0)+159>>0]|0}switch(i|0){case 3:case 2:{A=A+16|0;f=a[A>>2]|0;l=a[f+224>>2]|0;if(l){n=IR(l,n)|0;f=a[A>>2]|0}a[f+224>>2]=n;break}case 5:case 4:{A=A+16|0;f=a[A>>2]|0;l=a[f+228>>2]|0;if(l){n=IR(l,n)|0;f=a[A>>2]|0}a[f+228>>2]=n;break}default:break A}switch(i|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break A}r[(a[(a[f>>2]|0)+16>>2]|0)+159>>0]=c}}while(0);return}function eY(A){A=A|0;return(Z1(Vh(A)|0,108006,7)|0)==0|0}function iY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;n=s;if(!(IY(A)|0)){do{if(PR(A)|0)if(!e){a[(a[A+16>>2]|0)+204>>2]=0;e=A;break}else{a[(a[A+16>>2]|0)+204>>2]=(a[(a[e+16>>2]|0)+204>>2]|0)+1;ZY(A,e);e=A;break}}while(0);i=RB(A)|0;while(1){if(!i)break;iY(i,e);i=HB(i)|0}A:do{if(PR(A)|0){i=cd(A)|0;while(1){if(!i)break A;f=(a[i+16>>2]|0)+212|0;if(!(a[f>>2]|0))a[f>>2]=A;i=bd(A,i)|0}}}while(0);switch(GY(A)|0){case 3:{e=e+16|0;r[(a[e>>2]|0)+241>>0]=1;b=19;break}case 2:{e=e+16|0;b=19;break}case 5:{e=e+16|0;r[(a[e>>2]|0)+242>>0]=1;b=21;break}case 4:{e=e+16|0;b=21;break}case 1:{QY(A)|0;break}case 6:break;default:{i=Vh(A)|0;f=po(A,87171)|0;a[n>>2]=i;a[n+4>>2]=f;ao(0,87354,n)|0}}if((b|0)==19){b=QY(A)|0;b=mY(b,a[(a[e>>2]|0)+208>>2]|0)|0;a[(a[e>>2]|0)+208>>2]=b}else if((b|0)==21){b=QY(A)|0;b=mY(b,a[(a[e>>2]|0)+212>>2]|0)|0;a[(a[e>>2]|0)+212>>2]=b}if((PR(A)|0?(l=A+16|0,t=a[l>>2]|0,c=a[t+208>>2]|0,c|0):0)?(c|0)==(a[t+212>>2]|0):0){c=QY(A)|0;b=a[l>>2]|0;a[b+208>>2]=c;a[b+212>>2]=c}}k=s;return}function rY(A,e){A=A|0;e=e|0;var i=0,r=0;a[46747]=0;i=cd(A)|0;while(1){if(!i)break;if((bY(i)|0)==(i|0)){r=uY(e,Vh(i)|0)|0;a[(a[i+16>>2]|0)+148>>2]=r}i=bd(A,i)|0}i=cd(A)|0;while(1){if(!i)break;e=i+16|0;if(!(a[(a[e>>2]|0)+148>>2]|0)){r=a[(a[(bY(i)|0)+16>>2]|0)+148>>2]|0;a[(a[e>>2]|0)+148>>2]=r}i=bd(A,i)|0}return}function fY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=cd(A)|0;while(1){if(!l)break;i=a[(a[l+16>>2]|0)+148>>2]|0;t=Oo(A,l)|0;while(1){if(!t)break;do{if((BY(t)|0)==0?(c=t+-48|0,b=a[(a[(bY(a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(i|0)!=(b|0)):0){f=a[t>>2]&3;n=t+48|0;r=((f|0)==3?t:n)+40|0;f=a[(a[(a[((f|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(vY(t)|0)){if((dY(a[(a[(a[r>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(dY(f)|0)==0:0){gY(e,i,b,t);break}EY(e,i,b,t);break}else{f=bY(a[r>>2]|0)|0;r=a[t>>2]&3;if((f|0)!=(a[(a[(a[(a[(a[((r|0)==3?t:n)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(n=bY(a[((r|0)==2?t:c)+40>>2]|0)|0,(n|0)!=(a[(a[(a[(a[(a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)r=b;else{r=i;i=b}gY(e,i,r,t);break}}}while(0);t=_o(A,t)|0}l=bd(A,l)|0}return}function aY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;if((PR(A)|0)!=0?(dY(A)|0)!=0:0){n=cd(A)|0;while(1){if(!n)break;if(!(qo(A,n)|0)){f=a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0;if(!i)i=uY(e,87252)|0;th(e,i,f,0,1)|0}if(!(Oo(A,n)|0)){f=a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0;if(!r)r=uY(e,87257)|0;th(e,f,r,0,1)|0}n=bd(A,n)|0}if((r|0)!=0&(i|0)!=0){hY(th(e,i,r,0,1)|0,0,1e3);f=i}else f=i}else f=i;i=RB(A)|0;while(1){if(!i)break;aY(i,e,f,r);i=HB(i)|0}return}function nY(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;r[i+158>>0]=0;r[i+157>>0]=0;e=bd(A,e)|0}e=cd(A)|0;while(1){if(!e)break;kY(A,e);e=bd(A,e)|0}return}function lY(A){A=A|0;var e=0,i=0,r=0,f=0;e=cd(A)|0;while(1){if(!e)break;a[(a[e+16>>2]|0)+128>>2]=0;e=bd(A,e)|0}e=0;r=cd(A)|0;while(1){if(!r)break;i=e+1|0;if(!(a[(a[r+16>>2]|0)+128>>2]|0)){wY(A,r,i);e=i}r=bd(A,r)|0}A:do{if((e|0)>1){f=uY(A,87246)|0;i=1;r=cd(A)|0;while(1){if(!r)break A;if((a[(a[r+16>>2]|0)+128>>2]|0)==(i|0)){th(A,f,r,0,1)|0;i=i+1|0}r=bd(A,r)|0}}}while(0);return e|0}function tY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;n=cd(A)|0;while(1){if(!n)break;l=n+16|0;f=Oo(A,n)|0;while(1){if(!f)break;e=a[l>>2]|0;i=a[e+180>>2]|0;if(!i)e=$F((a[e+184>>2]<<2)+8|0)|0;else e=eV(i,(a[e+184>>2]<<2)+8|0)|0;i=a[l>>2]|0;a[i+180>>2]=e;i=i+184|0;r=a[i>>2]|0;a[i>>2]=r+1;a[e+(r<<2)>>2]=f;r=a[l>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=f+-48|0;e=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;a[(a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;t=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;e=a[t+172>>2]|0;t=t+176|0;i=a[t>>2]|0;a[t>>2]=i+1;a[e+(i<<2)>>2]=f;r=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;a[(a[r+172>>2]|0)+(a[r+176>>2]<<2)>>2]=0;f=_o(A,f)|0}n=bd(A,n)|0}return}function cY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;u=A+16|0;k=a[u>>2]|0;f[k+236>>1]=32767;f[k+238>>1]=-1;A:do{if((i|0)>1){n=qF((i<<2)+4|0)|0;r=i+1|0;i=1;while(1){if((i|0)==(r|0)){w=n;k=n;break A}a[n+(i<<2)>>2]=32767;i=i+1|0}}else{w=0;k=0}}while(0);t=(w|0)==0;n=cd(A)|0;while(1){if(!n)break;c=a[(a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;b=a[c+232>>2]|0;s=a[n+16>>2]|0;a[s+232>>2]=b;i=a[u>>2]|0;r=i+238|0;if((b|0)>(f[r>>1]|0))f[r>>1]=b;i=i+236|0;if((b|0)<(f[i>>1]|0))f[i>>1]=b;if(!t){c=a[c+128>>2]|0;a[s+128>>2]=c;s=w+(c<<2)|0;c=a[s>>2]|0;a[s>>2]=(c|0)<(b|0)?c:b}n=bd(A,n)|0}c=(w|0)!=0;A:do{if(!c){w=f[(a[u>>2]|0)+236>>1]|0;r=w<<16>>16;if(w<<16>>16>0){i=cd(A)|0;while(1){if(!i)break;w=(a[i+16>>2]|0)+232|0;a[w>>2]=(a[w>>2]|0)-r;i=bd(A,i)|0}i=a[u>>2]|0;u=i+236|0;f[u>>1]=(l[u>>1]|0)-r;i=i+238|0;f[i>>1]=(l[i>>1]|0)-r;i=0}else i=0}else{i=cd(A)|0;while(1){if(!i){i=1;break A}s=a[i+16>>2]|0;u=s+232|0;a[u>>2]=(a[u>>2]|0)-(a[w+(a[s+128>>2]<<2)>>2]|0);i=bd(A,i)|0}}}while(0);sY(A,i);t=cd(e)|0;while(1){if(!t)break;r=t+16|0;i=a[r>>2]|0;n=a[i+172>>2]|0;if(n){L2(n);i=a[r>>2]|0}i=a[i+180>>2]|0;if(i|0)L2(i);t=bd(e,t)|0}L2(a[(a[(cd(A)|0)+16>>2]|0)+112>>2]|0);i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+112>>2]=0;i=bd(A,i)|0}if(c)L2(k);return}function bY(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=(a[e>>2]|0)+152|0;r=a[i>>2]|0;if(r){if((r|0)!=(A|0)){r=bY(r)|0;a[(a[e>>2]|0)+152>>2]=r;return r|0}}else a[i>>2]=A;return A|0}function sY(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0;t=A+16|0;i=1;while(1){r=a[t>>2]|0;if((i|0)>(a[r+180>>2]|0))break;sY(a[(a[r+184>>2]|0)+(i<<2)>>2]|0,0);i=i+1|0}if((e|0)!=0|(a[r+200>>2]|0)!=0){f[r+236>>1]=32767;f[r+238>>1]=-1;i=0;l=cd(A)|0;while(1){if(!l)break;n=a[(a[l+16>>2]|0)+232>>2]|0;e=a[t>>2]|0;r=e+238|0;if((n|0)>(f[r>>1]|0))f[r>>1]=n;e=e+236|0;if((n|0)<(f[e>>1]|0)){f[e>>1]=n;i=l}l=bd(A,l)|0}a[(a[t>>2]|0)+264>>2]=i}return}function wY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[e+16>>2]|0)+128|0;A:do{if(!(a[r>>2]|0)){a[r>>2]=i;r=Oo(A,e)|0;while(1){if(!r)break;wY(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,i);r=_o(A,r)|0}r=qo(A,e)|0;while(1){if(!r)break A;wY(A,a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,i);r=$o(A,r)|0}}}while(0);return}function uY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=vd(A,e,1)|0;e=f+16|0;a[(a[e>>2]|0)+176>>2]=0;r=qF(20)|0;i=a[e>>2]|0;a[i+172>>2]=r;a[i+184>>2]=0;i=qF(20)|0;e=a[e>>2]|0;a[e+180>>2]=i;i=a[46747]|0;r=e+168|0;if(!i){a[r>>2]=0;a[(a[A+16>>2]|0)+192>>2]=f}else{a[r>>2]=i;a[(a[i+16>>2]|0)+164>>2]=f}a[46747]=f;a[e+164>>2]=0;return f|0}function kY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=e+16|0;i=a[l>>2]|0;f=i+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;r[i+158>>0]=1;e=Oo(A,e)|0;while(1){if(!e)break;i=_o(A,e)|0;f=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;n=a[f+16>>2]|0;if(r[n+158>>0]|0){oY(A,e);e=i;continue}if(r[n+157>>0]|0){e=i;continue}kY(A,f);e=i}r[(a[l>>2]|0)+158>>0]=0}return}function oY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[e>>2]&3;f=e+-48|0;r=e+48|0;i=th(A,a[((i|0)==2?e:f)+40>>2]|0,a[((i|0)==3?e:r)+40>>2]|0,0,0)|0;if(!i){i=a[e>>2]&3;i=th(A,a[((i|0)==2?e:f)+40>>2]|0,a[((i|0)==3?e:r)+40>>2]|0,0,1)|0}f=a[e+16>>2]|0;hY(i,l[f+170>>1]|0,a[f+156>>2]|0);Cd(A,e)|0;return}function hY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A=a[A+16>>2]|0;r=A+170|0;n=l[r>>1]|0;f[r>>1]=(n|0)>(e|0)?n:e;e=A+156|0;a[e>>2]=(a[e>>2]|0)+i;return}function dY(A){A=A|0;return(ER(po(A,87262)|0,0)|0)&255|0}function BY(A){A=A|0;var e=0,i=0;e=a[47189]|0;if((((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(gR(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function vY(A){A=A|0;var e=0,i=0;i=a[A>>2]&3;e=a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;A=a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((e|0)==(A|0))return 1;else{i=CY(e,A)|0;return((i|0)==(e|0)|(i|0)==(A|0))&1|0}return 0}function gY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,t=0,c=0;c=k;k=k+16|0;n=c;f=th(A,e,i,0,0)|0;if(!f){f=th(A,i,e,0,0)|0;if(!f){f=th(A,e,i,0,1)|0;if(!f){e=Vh(e)|0;r=Vh(i)|0;a[n>>2]=e;a[n+4>>2]=r;ao(1,87279,n)|0}else t=4}else t=4}else t=4;if((t|0)==4){t=a[r+16>>2]|0;hY(f,l[t+170>>1]|0,a[t+156>>2]|0)}k=c;return}function EY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+112|0;c=s;t=s+4|0;n=qo(A,e)|0;while(1){if(!n){b=6;break}w=Oo(A,a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;if(w|0?(a[((a[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0)==(i|0):0)break;n=$o(A,n)|0}if((b|0)==6){w=a[46748]|0;a[46748]=w+1;a[c>>2]=w;P4(t,87270,c)|0;t=uY(A,t)|0;w=th(A,t,e,0,1)|0;t=th(A,t,i,0,1)|0;i=a[r+16>>2]|0;b=i+156|0;w=(a[w+16>>2]|0)+156|0;a[w>>2]=(a[w>>2]|0)+((a[b>>2]|0)*1e3|0);w=a[t+16>>2]|0;c=w+170|0;f[c>>1]=f[(a[((l[c>>1]|0)>(l[i+170>>1]|0)?t:r)+16>>2]|0)+170>>1]|0;w=w+156|0;a[w>>2]=(a[w>>2]|0)+(a[b>>2]|0)}k=s;return}function CY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A:while(1){r=A+16|0;while(1){if((A|0)==(e|0))break A;f=a[r>>2]|0;i=a[e+16>>2]|0;if((a[f+204>>2]|0)>=(a[i+204>>2]|0))break;e=a[i+200>>2]|0}A=a[f+200>>2]|0}return A|0}function IY(A){A=A|0;return(cd(A)|0)==0|0}function ZY(A,e){A=A|0;e=e|0;a[(a[A+16>>2]|0)+200>>2]=e;_z(e,A);Kz(e,A);return}function GY(A){A=A|0;var e=0;A=po(A,87171)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)if(A1(A,87181)|0)if(A1(A,87185)|0)if(A1(A,87192)|0)if(A1(A,87196)|0)if(!(A1(A,87176)|0))A=1;else e=8;else A=5;else A=4;else A=3;else A=2;else e=8;if((e|0)==8)A=6;return A|0}function QY(A){A=A|0;var e=0,i=0;i=cd(A)|0;A:do{if(!i)e=0;else{e=bY(i)|0;while(1){i=bd(A,i)|0;if(!i)break A;mY(e,i)|0}}}while(0);return e|0}function mY(A,e){A=A|0;e=e|0;if(e){A=bY(A)|0;a[(a[(bY(e)|0)+16>>2]|0)+152>>2]=A}return A|0}function LY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87230,a[i>>2]|0,1)|0;return}function WY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87397,a[i+4>>2]|0,1)|0;return}function yY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87382,a[i+8>>2]|0,1)|0;return}function zY(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+240|0;s=o+120|0;w=o;a[47193]=Yo(A,2,87412,0)|0;b=Yo(A,2,87421,0)|0;a[47194]=b;A:do{if((b|0)!=0|(a[47193]|0)!=0){b=cd(A)|0;while(1){if(!b)break A;c=0;e=0;t=Ah(A,b)|0;while(1){if(!t){f=0;break}i=a[t>>2]|0;n=i&3;f=a[((n|0)==2?t:t+-48|0)+40>>2]|0;l=t+48|0;e:do{if((f|0)!=(a[((n|0)==3?t:l)+40>>2]|0)){n=a[47193]|0;do{if((f|0)==(b|0)&(n|0)!=0){f=Uo(t,n)|0;if(!(r[f>>0]|0)){i=a[t>>2]|0;break}else{i=c;e=YY(s,e,b,t,f)|0;break e}}}while(0);f=a[47194]|0;if((f|0?(a[((i&3|0)==3?t:l)+40>>2]|0)==(b|0):0)?(u=Uo(t,f)|0,(r[u>>0]|0)!=0):0)i=YY(w,c,b,t,u)|0;else i=c}else i=c}while(0);c=i;t=eh(A,t,b)|0}while(1){if((f|0)>=(e|0)){i=0;break}i=s+(f*24|0)+4|0;if((a[s+(f*24|0)+8>>2]|0)>1)DY(b,i);i=a[i>>2]|0;if(i|0)L2(i);f=f+1|0}while(1){if((i|0)>=(c|0))break;e=w+(i*24|0)+4|0;if((a[w+(i*24|0)+8>>2]|0)>1)DY(b,e);e=a[e>>2]|0;if(e|0)L2(e);i=i+1|0}b=bd(A,b)|0}}}while(0);k=o;return}function YY(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;o=k;k=k+16|0;c=o;s=o+12|0;w=o+8|0;u=0;while(1){if((u|0)>=(e|0)){t=10;break}t=a[A+(u*24|0)>>2]|0;if((r[t>>0]|0)==(r[n>>0]|0)?(A1(t,n)|0)==0:0){t=5;break}u=u+1|0}do{if((t|0)==5){c=A+(u*24|0)+4|0;t=a[c>>2]|0;if(!t){t=A+(u*24|0)+8|0;n=t;t=$F((a[t>>2]<<2)+8|0)|0}else{h=A+(u*24|0)+8|0;n=h;t=eV(t,(a[h>>2]<<2)+8|0)|0}a[c>>2]=t;d=a[n>>2]|0;h=d+1|0;a[n>>2]=h;a[t+(d<<2)>>2]=f;a[(a[c>>2]|0)+(h<<2)>>2]=0;t=13}else if((t|0)==10)if((e|0)>4){d=Vh(i)|0;a[c>>2]=5;a[c+4>>2]=d;ao(1,87430,c)|0;break}else{B=A+(u*24|0)+8|0;a[B>>2]=0;c=qF(8)|0;d=A+(u*24|0)+4|0;a[d>>2]=c;h=a[B>>2]|0;t=h+1|0;a[B>>2]=t;a[c+(h<<2)>>2]=f;a[(a[d>>2]|0)+(t<<2)>>2]=0;a[A+(u*24|0)>>2]=n;a[A+(u*24|0)+12>>2]=0;b[A+(u*24|0)+16>>3]=0.0;e=e+1|0;t=13;break}}while(0);if((t|0)==13){DC(f,s,w);t=(a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(i|0)?a[w>>2]|0:a[s>>2]|0;if(t){d=A+(u*24|0)+12|0;B=a[d>>2]|0;a[d>>2]=B+1;if(!B)l=+JC(f,t);else l=0.0;b[A+(u*24|0)+16>>3]=l}}k=o;return e|0}function DY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0;I=k;k=k+80|0;v=I+68|0;g=I+64|0;d=I;E=e+4|0;w=a[E>>2]|0;C=A+16|0;l=0;o=0.0;h=0.0;while(1){if((l|0)>=(w|0))break;f=a[(a[e>>2]|0)+(l<<2)>>2]|0;n=a[f>>2]&3;i=a[((n|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(A|0))i=a[((n|0)==3?f:f+48|0)+40>>2]|0;n=a[i+16>>2]|0;B=a[C>>2]|0;c=+b[n+16>>3]-+b[B+16>>3];s=+b[n+24>>3]-+b[B+24>>3];u=+v1(c,s);l=l+1|0;o=c/u+o;h=s/u+h}t=+v1(o,h);B=a[C>>2]|0;c=+b[B+16>>3];s=+b[B+24>>3];Z=+b[B+96>>3]+ +b[B+88>>3];u=+b[B+80>>3];B=Z>u+ +(a[(a[(Id(A)|0)+16>>2]|0)+252>>2]|0);i=a[C>>2]|0;if(B)u=+b[i+96>>3]+ +b[i+88>>3];else{u=+b[i+80>>3];u=u+ +(a[(a[(Id(A)|0)+16>>2]|0)+252>>2]|0);i=a[C>>2]|0}Z=+b[i+16>>3]+u*(o/t);t=+b[i+24>>3]+u*(h/t);b[d>>3]=c;w=d+8|0;b[w>>3]=s;b[d+16>>3]=(Z+c*2.0)*.3333333333333333;b[d+24>>3]=(t+s*2.0)*.3333333333333333;b[d+32>>3]=(Z*2.0+c)*.3333333333333333;b[d+40>>3]=(t*2.0+s)*.3333333333333333;b[d+48>>3]=Z;b[d+56>>3]=t;dX(A,d);B=a[C>>2]|0;t=+b[d>>3]-+b[B+16>>3];c=+b[w>>3]-+b[B+24>>3];t=+(~~(t+(t>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);Z=+b[B+88>>3];B=~~((Z+t)*256.0/(+b[B+96>>3]+Z))&255;d=0;while(1){if((d|0)>=(a[E>>2]|0))break;w=a[(a[e>>2]|0)+(d<<2)>>2]|0;DC(w,v,g);while(1){if(!w)break;else n=w;while(1){if(!n){l=w;break}i=a[n>>2]|0;l=n+-48|0;if((a[((i&3|0)==2?n:l)+40>>2]|0)==(A|0)){i=a[n+16>>2]|0;b[i+56>>3]=t;b[i+64>>3]=c;b[i+72>>3]=0.0;a[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=B;r[i+89>>0]=0;a[i+92>>2]=0;i=a[n>>2]|0}f=n+16|0;if((a[((i&3|0)==3?n:n+48|0)+40>>2]|0)==(A|0)){i=a[f>>2]|0;b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=0.0;a[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=B;r[i+49>>0]=0;a[i+52>>2]=0}if((r[(a[f>>2]|0)+112>>0]|0)!=1){n=0;continue}i=a[(a[((a[n>>2]&3|0)==2?n:l)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){n=0;continue}if((a[i+184>>2]|0)!=1){n=0;continue}n=a[a[i+180>>2]>>2]|0}while(1){if(!l)break;i=a[l>>2]|0;if((a[((i&3|0)==2?l:l+-48|0)+40>>2]|0)==(A|0)){i=a[l+16>>2]|0;b[i+56>>3]=t;b[i+64>>3]=c;b[i+72>>3]=0.0;a[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=B;r[i+89>>0]=0;a[i+92>>2]=0;i=a[l>>2]|0}f=l+48|0;n=l+16|0;if((a[((i&3|0)==3?l:f)+40>>2]|0)==(A|0)){i=a[n>>2]|0;b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=0.0;a[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=B;r[i+49>>0]=0;a[i+52>>2]=0}if((r[(a[n>>2]|0)+112>>0]|0)!=1){l=0;continue}i=a[(a[((a[l>>2]&3|0)==3?l:f)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){l=0;continue}if((a[i+176>>2]|0)!=1){l=0;continue}l=a[a[i+172>>2]>>2]|0}w=a[(a[w+16>>2]|0)+172>>2]|0}d=d+1|0}r[(a[C>>2]|0)+145>>0]=1;k=I;return}function MY(A){A=A|0;var e=0,i=0,r=0;CW(A);e=a[A>>2]&3;i=A+-48|0;r=A+48|0;e=dW(a[((e|0)==2?A:i)+40>>2]|0,a[((e|0)==3?A:r)+40>>2]|0)|0;if(!e){e=a[A>>2]&3;mW(a[((e|0)==2?A:i)+40>>2]|0,a[((e|0)==3?A:r)+40>>2]|0,A)|0}else FW(A,e);return}function FY(A){A=A|0;var e=0,i=0,f=0,n=0;f=A+16|0;i=0;while(1){A=a[f>>2]|0;if((i|0)>=(a[A+220>>2]|0))break;e=a[(a[A+216>>2]|0)+(i<<2)>>2]|0;a[A+192>>2]=e;A=e;e=A;while(1){if(!e)break;n=a[e+16>>2]|0;r[n+157>>0]=0;e=a[n+164>>2]|0}while(1){if(!A)break;VY(A);A=a[(a[A+16>>2]|0)+164>>2]|0}i=i+1|0}return}function VY(A){A=A|0;var e=0,i=0,f=0,n=0;n=A+16|0;e=a[n>>2]|0;A=e+157|0;if(!(r[A>>0]|0)){r[A>>0]=1;r[e+158>>0]=1;A=0;while(1){f=a[(a[e+180>>2]|0)+(A<<2)>>2]|0;if(!f)break;e=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;i=a[e+16>>2]|0;if(!(r[i+158>>0]|0)){if(!(r[i+157>>0]|0))VY(e)}else{MY(f);A=A+-1|0}A=A+1|0;e=a[n>>2]|0}r[e+158>>0]=0}return}function JY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=cd(A)|0;e=0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;n=a[i>>2]&3;l=a[(a[(a[((n|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;n=a[(a[(a[((n|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=l-n|0;i=_o(A,i)|0;e=((l|0)==(n|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+e|0}r=bd(A,r)|0}return e|0}function NY(A){A=A|0;var e=0,i=0,f=0,n=0;i=cd(A)|0;while(1){if(!i)break;n=a[i+16>>2]|0;f=a[n+176>>2]|0;n=n+172|0;e=0;while(1){if((e|0)>=(f|0))break;r[(a[(a[(a[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+112>>0]=0;e=e+1|0}i=bd(A,i)|0}return}function XY(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;u=h;t=a[e+24>>2]|0;RY(A);c=(t|0)==-1;s=e+8|0;l=c^1;w=a[15712]|0;f=1797693134862315708145274.0e284;n=0;while(1){if(!(c|(n|0)<(t|0)))break;i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+232>>2]=0;i=bd(A,i)|0}Vz(A);r=+HY(A);b[s>>3]=r;if(0){b[u>>3]=r;f3(w,87482,u)|0;r=+b[s>>3]}if(!(!(r<=+b[e>>3])&(!(f<=r)|l))){o=9;break}pY(A);f=r;n=n+1|0}if((o|0)==9){o=e+20|0;a[e+16>>2]=a[o>>2];a[o>>2]=n}Vz(A);UY(A);xY();b[s>>3]=+HY(A);k=h;return}function RY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0.0,w=0.0,u=0;a[46752]=$F((vh(A)|0)*24|0)|0;a[46751]=0;e=cd(A)|0;while(1){if(!e)break;a[(a[e+16>>2]|0)+120>>2]=-1;e=bd(A,e)|0}l=cd(A)|0;while(1){if(!l)break;t=l+16|0;do{if(!(a[(a[t>>2]|0)+216>>2]|0)){f=qF(4)|0;n=a[46752]|0;c=a[46751]|0;a[n+(c*24|0)>>2]=f;a[f>>2]=l;a[n+(c*24|0)+4>>2]=1;t=a[t>>2]|0;b[n+(c*24|0)+8>>3]=+b[t+32>>3];b[n+(c*24|0)+16>>3]=+b[t+40>>3];a[t+120>>2]=c;a[46751]=c+1}else{n=CR(l)|0;c=n+16|0;e=a[c>>2]|0;i=a[e+120>>2]|0;if((i|0)>-1){n=a[46752]|0;f=a[n+(i*24|0)>>2]|0;r=n+(i*24|0)+4|0;c=a[r>>2]|0;a[r>>2]=c+1;a[f+(c<<2)>>2]=l;c=a[t>>2]|0;t=n+(i*24|0)+8|0;b[t>>3]=+b[t>>3]+ +b[c+32>>3];t=n+(i*24|0)+16|0;s=+b[t>>3];w=+b[c+40>>3];b[t>>3]=s>2]=i;break}i=qF(a[e+216>>2]<<2)|0;r=a[46752]|0;f=a[46751]|0;e=r+(f*24|0)|0;a[e>>2]=i;a[i>>2]=n;if((n|0)==(l|0)){b[r+(f*24|0)+8>>3]=+b[(a[c>>2]|0)+32>>3];i=1;e=l}else{a[(a[e>>2]|0)+4>>2]=l;u=a[c>>2]|0;e=a[t>>2]|0;b[r+(f*24|0)+8>>3]=+b[e+32>>3]+ +b[u+32>>3];i=2;e=+b[u+40>>3]<+b[e+40>>3]?l:n}a[r+(f*24|0)+4>>2]=i;b[r+(f*24|0)+16>>3]=+b[(a[e+16>>2]|0)+40>>3];a[(a[c>>2]|0)+120>>2]=f;a[(a[t>>2]|0)+120>>2]=f;a[46751]=f+1}}while(0);l=bd(A,l)|0}return}function HY(A){A=A|0;var e=0.0,i=0.0,r=0,f=0,n=0,l=0.0,t=0.0;UY(A);n=a[46749]|0;r=a[A+16>>2]|0;e=+(U(a[r+252>>2]|0,n+-1|0)|0);f=a[46750]|0;r=r+248|0;A=0;i=0.0;while(1){if((A|0)>=(n|0))break;l=+b[f+(A*40|0)+24>>3]+ +(U(a[r>>2]|0,a[f+(A*40|0)+16>>2]|0)|0);t=+b[f+(A*40|0)+32>>3]+e;A=A+1|0;e=t;i=i=(vh(A)|0))break;a[(a[46753]|0)+(e<<2)>>2]=e;e=e+1|0}UY(A);TY(A);jY(A);return}function UY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0;a[46749]=0;e=a[46750]|0;if(e|0){r=0;while(1){if((r|0)>=(a[46751]|0))break;i=a[e+(r*40|0)+4>>2]|0;if(i){L2(i);e=a[46750]|0}i=a[e+(r*40|0)+8>>2]|0;if(i){L2(i);e=a[46750]|0}r=r+1|0}L2(e)}a[46750]=qF((a[46751]|0)*40|0)|0;e=0;while(1){i=a[46751]|0;if((e|0)>=(i|0))break;c=qF(i<<2)|0;a[(a[46750]|0)+(e*40|0)+4>>2]=c;c=qF(a[46751]<<2)|0;s=a[46750]|0;a[s+(e*40|0)+8>>2]=c;a[s+(e*40|0)>>2]=e;a[s+(e*40|0)+12>>2]=0;a[s+(e*40|0)+16>>2]=0;s=s+(e*40|0)+24|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;e=e+1|0}r=cd(A)|0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;l=a[i>>2]|0;f=i+-48|0;n=a[46750]|0;e=a[(a[(a[((l&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){e=e+1|0;if((e|0)>=(a[(a[(a[((l&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;l=n+(e*40|0)+16|0;a[l>>2]=(a[l>>2]|0)+1;l=a[i>>2]|0}i=_o(A,i)|0}r=bd(A,r)|0}l=a[46751]|0;c=a[46752]|0;s=a[46750]|0;i=A+16|0;e=0;while(1){if((e|0)>=(l|0))break;r=(a[a[c+(e*24|0)>>2]>>2]|0)+16|0;f=a[(a[r>>2]|0)+232>>2]|0;if((f|0)>=(a[46749]|0))a[46749]=f+1;n=s+(f*40|0)+24|0;t=+b[n>>3];b[n>>3]=t+ +b[c+(e*24|0)+8>>3]*72.0+(t>0.0?+(a[(a[i>>2]|0)+248>>2]|0):0.0);n=s+(f*40|0)+32|0;t=+b[c+(e*24|0)+16>>3]*72.0;if(+b[n>>3]>3]=t;a[(a[s+(f*40|0)+4>>2]|0)+(a[s+(f*40|0)+12>>2]<<2)>>2]=c+(e*24|0);A=s+((a[(a[r>>2]|0)+232>>2]|0)*40|0)+12|0;a[A>>2]=(a[A>>2]|0)+1;e=e+1|0}return}function xY(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=a[46749]|0;s=a[46750]|0;c=0;e=0;A=0;while(1){if((c|0)>=(b|0))break;i=s+(c*40|0)|0;t=a[s+(c*40|0)+12>>2]|0;r=(e|0)==0;A:do{if(t)if(!r){if((a[i>>2]|0)>(A|0)){f=s+(c*40|0)+4|0;i=0;while(1){if((i|0)>=(t|0))break A;n=a[(a[f>>2]|0)+(i<<2)>>2]|0;l=a[n+4>>2]|0;r=0;while(1){if((r|0)>=(l|0))break;w=(a[(a[(a[n>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+232|0;a[w>>2]=(a[w>>2]|0)-e;r=r+1|0}i=i+1|0}}}else e=0;else{if(r)A=a[i>>2]|0;e=e+1|0}}while(0);c=c+1|0}return}function TY(A){A=A|0;var e=0;e=a[46753]|0;K4(e,vh(A)|0,4,63);return}function jY(A){A=A|0;var e=0.0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0.0,B=0;t=a[46749]|0;c=a[46750]|0;n=a[46753]|0;l=0;while(1){if((l|0)>=(t|0)){i=0;e=0.0;break}i=a[n+(l<<2)>>2]|0;f=l+1|0;if((a[c+(i*40|0)+12>>2]|0)<2)l=f;else{s=4;break}}if((s|0)==4)if((t|0)>(f|0))e=+b[c+((a[n+(f<<2)>>2]|0)*40|0)+24>>3];else e=0.0;A:do{if((l|0)!=(t|0)){K4(a[c+(i*40|0)+4>>2]|0,a[c+(i*40|0)+12>>2]|0,4,64);n=a[46750]|0;d=+b[n+(i*40|0)+24>>3];d=!(e<=d*.25)&!(e>=d*.75)?e:d*.5;B=a[n+(i*40|0)+12>>2]|0;h=A+16|0;u=0;k=0;e=0.0;f=0;o=0;while(1){if((o|0)>=(f+B|0))break A;do{if(!(a[(a[n+(i*40|0)+8>>2]|0)+(o<<2)>>2]|0)){s=a[(a[n+(i*40|0)+4>>2]|0)+(o<<2)>>2]|0;A=s+8|0;w=+b[A>>3]*72.0+e+(e>0.0?+(a[(a[h>>2]|0)+248>>2]|0):0.0);l=(k|0)!=0;if(!(l&!(w<=d))){t=l?u:s;l=l?k:1;e=w;break}t=u+4|0;c=s+4|0;l=0;while(1){if((l|0)<(a[t>>2]|0))n=0;else break;while(1){if((n|0)>=(a[c>>2]|0))break;r[(a[(mW(a[(a[u>>2]|0)+(l<<2)>>2]|0,a[(a[s>>2]|0)+(n<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;n=n+1|0}l=l+1|0}n=a[46750]|0;a[(a[n+(i*40|0)+8>>2]|0)+(o<<2)>>2]=1;t=n+(i*40|0)+12|0;a[t>>2]=(a[t>>2]|0)+-1;t=n+(i*40|0)+16|0;a[t>>2]=(a[t>>2]|0)+1;t=n+(i*40|0)+24|0;b[t>>3]=+b[A>>3]*-72.0-+(a[(a[h>>2]|0)+248>>2]|0)+ +b[t>>3];t=u;l=k}else{t=u;l=k;f=f+1|0}}while(0);u=t;k=l;o=o+1|0}}}while(0);return}function SY(A,e){A=A|0;e=e|0;A=PY(a[A>>2]|0)|0;e=PY(a[e>>2]|0)|0;return((e|0)<(A|0)&1)-((e|0)>(A|0)&1)|0}function PY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(a[f>>2]|0))break;r=a[(a[A>>2]|0)+(i<<2)>>2]|0;n=Id(r)|0;r=Oo(n,r)|0;while(1){if(!r)break;r=_o(n,r)|0;e=e+1|0}i=i+1|0}return e|0}function OY(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[46750]|0;r=+b[f+((a[e>>2]|0)*40|0)+24>>3];i=+b[f+((a[A>>2]|0)*40|0)+24>>3];return(r>i&1)-(r>2]|0)+216>>2]=0;e=bd(A,e)|0}return}function _Y(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n+16|0;r=n+8|0;i=n+20|0;a[i>>2]=5;A=po(A,99605)|0;if(A|0?(a[r>>2]=n,a[r+4>>2]=i,(J3(A,87497,r)|0)>=1):0)ao(0,87504,f)|0;a[e+24>>2]=0;a[e+32>>2]=0;k=n;return 0}function qY(A){A=A|0;var e=0,i=0;e=a[47189]|0;if((((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(gR(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function $Y(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;gD(A);e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;do{if(((a[(a[i+16>>2]|0)+172>>2]|0)==0?(qY(i)|0)==0:0)?(r=i+48|0,f=CR(a[((a[i>>2]&3|0)==3?i:r)+40>>2]|0)|0,n=i+-48|0,l=CR(a[((a[i>>2]&3|0)==2?i:n)+40>>2]|0)|0,(f|0)!=(l|0)):0){if((a[(a[f+16>>2]|0)+212>>2]|0)==0?(a[(a[l+16>>2]|0)+212>>2]|0)==0:0){t=dW(f,l)|0;if(!t){mW(f,l,i)|0;break}else{FW(i,t);break}}t=a[i>>2]&3;AD(A,a[((t|0)==3?i:r)+40>>2]|0,a[((t|0)==2?i:n)+40>>2]|0,i)}}while(0);i=_o(A,i)|0}e=bd(A,e)|0}return}function AD(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,t=0,c=0,b=0;c=a[f>>2]&3;n=a[(a[((c|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0;t=a[n+212>>2]|0;if(!t)b=0;else b=(a[n+232>>2]|0)-(a[(a[(a[(a[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;n=a[(a[((c|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0;t=a[n+212>>2]|0;if(!t)n=0;else n=(a[(a[(a[(a[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(a[n+232>>2]|0)|0;c=f+16|0;b=n+b+(l[(a[c>>2]|0)+170>>1]|0)|0;A=YW(A)|0;r[(a[A+16>>2]|0)+156>>0]=2;t=CR(e)|0;e=CR(i)|0;i=sz(A,t,(b|0)>0?0.0:+(0-b|0),(a[(a[c>>2]|0)+156>>2]|0)*10|0)|0;a[(a[(sz(A,e,+(((b|0)>0?b:0)|0),a[(a[c>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=f;a[(a[i+16>>2]|0)+116>>2]=f;return}function eD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0,c=0,b=0;c=a[e>>2]&3;t=(c|0)==3?e:e+48|0;c=(c|0)==2?e:e+-48|0;c=a[(a[(a[((a[(a[(a[t+40>>2]|0)+16>>2]|0)+232>>2]|0)>(a[(a[(a[c+40>>2]|0)+16>>2]|0)+232>>2]|0)?t:c)+40>>2]|0)+16>>2]|0)+232>>2]|0;t=e+16|0;e=(a[t>>2]|0)+172|0;if(a[e>>2]|0)vA(87593,87615,148,87624);a[e>>2]=i;n=(r|0)==0;do{e=a[t>>2]|0;if(n)r=a[i+16>>2]|0;else{r=a[i+16>>2]|0;b=r+168|0;f[b>>1]=(l[b>>1]|0)+(l[e+168>>1]|0)}b=r+154|0;f[b>>1]=(l[b>>1]|0)+(l[e+154>>1]|0);r=r+156|0;a[r>>2]=(a[r>>2]|0)+(a[e+156>>2]|0);e=i+-48|0;r=a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0;if((a[(a[r+16>>2]|0)+232>>2]|0)==(c|0))break;iD(A,r);i=a[a[(a[(a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((i|0)!=0);return}function iD(A,e){A=A|0;e=e|0;var i=0.0;i=+((a[(a[A+16>>2]|0)+248>>2]|0)/2|0|0);e=a[e+16>>2]|0;A=e+88|0;b[A>>3]=+b[A>>3]+i;e=e+96|0;b[e>>3]=+b[e>>3]+i;return}function rD(A,e){A=A|0;e=e|0;var i=0,r=0;if(((((A|0)!=0&(e|0)!=0?(r=a[A>>2]&3,i=a[e>>2]&3,(a[((r|0)==3?A:A+48|0)+40>>2]|0)==(a[((i|0)==3?e:e+48|0)+40>>2]|0)):0)?(a[((r|0)==2?A:A+-48|0)+40>>2]|0)==(a[((i|0)==2?e:e+-48|0)+40>>2]|0):0)?(a[(a[A+16>>2]|0)+96>>2]|0)==(a[(a[e+16>>2]|0)+96>>2]|0):0)?(Mz(A,e)|0)!=0:0)A=1;else A=0;return A|0}function fD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;d=A+16|0;e=a[d>>2]|0;a[e+192>>2]=0;a[e+232>>2]=0;gD(A);e=1;while(1){i=a[d>>2]|0;if((e|0)>(a[i+180>>2]|0))break;ED(A,a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}l=cd(A)|0;while(1){if(!l)break;n=Oo(A,l)|0;while(1){if(!n)break;e=a[n>>2]|0;i=(a[(a[((e&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=r[i>>0]|0;if(f<<24>>24<3){r[i>>0]=f+1<<24>>24;e=a[n>>2]|0}e=(a[(a[((e&3|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+160|0;i=r[e>>0]|0;if(i<<24>>24<3)r[e>>0]=i+1<<24>>24;n=_o(A,n)|0}l=bd(A,l)|0}w=cd(A)|0;while(1){if(!w)break;if((a[(a[w+16>>2]|0)+212>>2]|0)==0?(w|0)==(CR(w)|0):0){LW(A,w);s=(a[d>>2]|0)+232|0;a[s>>2]=(a[s>>2]|0)+1}e=0;s=Oo(A,w)|0;while(1){if(!s)break;b=s+16|0;l=a[b>>2]|0;A:do{if(!(a[l+172>>2]|0)){if(aD(s)|0){if(!(rD(e,s)|0)){nD(A,s);e=s;break}i=a[(a[e+16>>2]|0)+172>>2]|0;if(i|0){eD(A,s,i,0);IW(s);break}b=a[s>>2]&3;if((a[(a[(a[((b|0)==3?s:s+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(a[(a[(a[((b|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;FW(s,e);IW(s);break}if(e){t=a[s>>2]&3;i=s+48|0;f=a[((t|0)==3?s:i)+40>>2]|0;n=a[e>>2]&3;if((f|0)==(a[((n|0)==3?e:e+48|0)+40>>2]|0)?(u=a[((t|0)==2?s:s+-48|0)+40>>2]|0,(u|0)==(a[((n|0)==2?e:e+-48|0)+40>>2]|0)):0){if((a[(a[f+16>>2]|0)+232>>2]|0)==(a[(a[u+16>>2]|0)+232>>2]|0)){FW(s,e);IW(s);break}if(((a[l+96>>2]|0)==0?(k=e+16|0,(a[(a[k>>2]|0)+96>>2]|0)==0):0)?(Mz(s,e)|0)!=0:0)if(!(r[194954]|0)){eD(A,s,a[(a[k>>2]|0)+172>>2]|0,1);IW(s);break}else{r[(a[b>>2]|0)+112>>0]=6;break}else t=i}else t=i}else t=s+48|0;l=a[s>>2]&3;i=a[((l|0)==3?s:t)+40>>2]|0;c=s+-48|0;if((i|0)==(a[((l|0)==2?s:c)+40>>2]|0)){IW(s);e=s;break}i=CR(i)|0;f=CR(a[((a[s>>2]&3|0)==2?s:c)+40>>2]|0)|0;l=a[s>>2]&3;if((a[((l|0)==3?s:t)+40>>2]|0)==(i|0)?(a[((l|0)==2?s:c)+40>>2]|0)==(f|0):0){n=a[(a[i+16>>2]|0)+232>>2]|0;l=a[(a[f+16>>2]|0)+232>>2]|0;if((n|0)==(l|0)){DW(A,s);e=s;break}if((l|0)>(n|0)){lD(A,i,f,s);e=s;break}i=th(A,f,i,0,0)|0;do{if(i|0?(o=a[i>>2]&3,h=a[((o|0)==2?i:i+-48|0)+40>>2]|0,(h|0)!=(a[((a[s>>2]&3|0)==2?s:c)+40>>2]|0)):0){f=i+16|0;if(!(a[(a[f>>2]|0)+172>>2]|0))lD(A,a[((o|0)==3?i:i+48|0)+40>>2]|0,h,i);if((a[(a[b>>2]|0)+96>>2]|0)==0?(a[(a[f>>2]|0)+96>>2]|0)==0:0){if(!(Mz(s,i)|0))break;if(!(r[194954]|0)){IW(s);eD(A,s,a[(a[f>>2]|0)+172>>2]|0,1);break A}else{r[(a[b>>2]|0)+112>>0]=6;r[(a[f>>2]|0)+153>>0]=1;break A}}}}while(0);e=a[s>>2]&3;lD(A,a[((e|0)==2?s:c)+40>>2]|0,a[((e|0)==3?s:t)+40>>2]|0,s);e=s}}else e=s}while(0);s=_o(A,s)|0}w=bd(A,w)|0}if((gL(A)|0)!=(A|0)){e=a[(a[d>>2]|0)+216>>2]|0;if(!e)e=$F(4)|0;else e=eV(e,4)|0;d=a[d>>2]|0;a[d+216>>2]=e;a[e>>2]=a[d+192>>2]}return}function aD(A){A=A|0;var e=0;e=a[A>>2]&3;if((r[(a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)A=1;else A=(r[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return A|0}function nD(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=bD(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;n=bD(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;t=(a[(a[f+16>>2]|0)+232>>2]|0)>(a[(a[n+16>>2]|0)+232>>2]|0);i=t?f:n;f=t?n:f;n=f+16|0;t=i+16|0;A:do{if((a[(a[n>>2]|0)+212>>2]|0)!=(a[(a[t>>2]|0)+212>>2]|0)){l=dW(f,i)|0;if(l|0){eD(A,e,l,1);break}if((a[(a[n>>2]|0)+232>>2]|0)!=(a[(a[t>>2]|0)+232>>2]|0)){lD(A,f,i,e);i=(a[e+16>>2]|0)+172|0;while(1){i=a[i>>2]|0;if(!i)break A;f=i+-48|0;if((a[(a[(a[((a[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(a[(a[t>>2]|0)+232>>2]|0))break A;r[(a[i+16>>2]|0)+112>>0]=5;i=a[(a[(a[((a[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}}while(0);return}function lD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;b=r+16|0;f=a[b>>2]|0;if(!(a[f+96>>2]|0))c=-1;else c=((a[(a[i+16>>2]|0)+232>>2]|0)+(a[(a[e+16>>2]|0)+232>>2]|0)|0)/2|0;if(a[f+172>>2]|0)vA(87636,87615,89,87661);t=i+16|0;l=a[(a[e+16>>2]|0)+232>>2]|0;while(1){n=l+1|0;f=a[(a[t>>2]|0)+232>>2]|0;if((l|0)>=(f|0))break;if((n|0)<(f|0)){if((n|0)==(c|0))f=tD(A,r)|0;else f=cD(A)|0;a[(a[f+16>>2]|0)+232>>2]=n}else f=i;Py(mW(e,f,r)|0);l=n;e=f}if(!(a[(a[b>>2]|0)+172>>2]|0))vA(87672,87615,103,87661);else return}function tD(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0.0;l=e+16|0;n=a[(a[l>>2]|0)+96>>2]|0;i=+b[n+24>>3];f=+b[n+32>>3];n=YW(A)|0;e=n+16|0;a[(a[e>>2]|0)+104>>2]=a[(a[l>>2]|0)+96>>2];t=+(a[(a[(Zd(n)|0)+16>>2]|0)+248>>2]|0);b[(a[e>>2]|0)+88>>3]=t;if(!(r[(a[l>>2]|0)+114>>0]|0)){A=(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0;l=a[e>>2]|0;b[l+80>>3]=A?f:i;b[l+96>>3]=A?i:f}return n|0}function cD(A){A=A|0;var e=0;e=YW(A)|0;iD(A,e);return e|0}function bD(A){A=A|0;var e=0;e=a[A+16>>2]|0;if((r[e+159>>0]|0)==7)A=a[(a[(a[(a[e+212>>2]|0)+16>>2]|0)+268>>2]|0)+(a[e+232>>2]<<2)>>2]|0;else A=CR(A)|0;return A|0}function sD(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=gL(A)|0;l=cd(A)|0;while(1){if(!l)break;e=Ah(c,l)|0;t=0;while(1){if(!e)break;s=eh(c,e,l)|0;if(Dd(A,e)|0){b=t;e=s;t=b;continue}b=(a[e>>2]&3|0)==2?e:e+-48|0;w=(rD(t,b)|0)==0;r=a[b>>2]&3;e=a[((r|0)==3?b:b+48|0)+40>>2]|0;i=a[(a[e+16>>2]|0)+232>>2]|0;r=a[((r|0)==2?b:b+-48|0)+40>>2]|0;f=a[(a[r+16>>2]|0)+232>>2]|0;n=(i|0)==(f|0);if(!w){a[(a[b+16>>2]|0)+172>>2]=n?t:0;e=a[(a[t+16>>2]|0)+172>>2]|0;if(!e){w=t;e=s;t=w;continue}eD(A,b,e,0);ZW(b);w=t;e=s;t=w;continue}if(!n)if((f|0)>(i|0)){wD(e,r,b);e=s;t=b;continue}else{wD(r,e,b);e=s;t=b;continue}e=vW(e,r)|0;if(!e){DW(c,b);e=s;t=b;continue}if((b|0)==(e|0)){w=t;e=s;t=w;continue}ZW(b);if(a[(a[b+16>>2]|0)+172>>2]|0){w=t;e=s;t=w;continue}FW(b,e);w=t;e=s;t=w}l=bd(A,l)|0}return}function wD(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=uD(A)|0;r=uD(e)|0;kD(f,r,i,a[(a[i+16>>2]|0)+172>>2]|0,(f|0)==(A|0)&(r|0)==(e|0)?1:5);return}function uD(A){A=A|0;var e=0,i=0,f=0;e=a[A+16>>2]|0;i=a[e+212>>2]|0;if((i|0)!=0?(f=a[i+16>>2]|0,(r[f+272>>0]|0)==0):0)A=a[(a[f+268>>2]|0)+(a[e+232>>2]<<2)>>2]|0;return A|0}function kD(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;u=A+16|0;b=a[(a[u>>2]|0)+232>>2]|0;k=e+16|0;t=a[(a[k>>2]|0)+232>>2]|0;if((t|0)<=(b|0))vA(87697,87725,81,87735);w=a[n>>2]&3;if(!((a[((w|0)==3?n:n+48|0)+40>>2]|0)==(A|0)?(a[((w|0)==2?n:n+-48|0)+40>>2]|0)==(e|0):0))s=5;A:do{if((s|0)==5){if((f[(a[n+16>>2]|0)+168>>1]|0)>1){a[(a[i+16>>2]|0)+172>>2]=0;if(((t-b|0)==1?(c=dW(A,e)|0,c|0):0)?Mz(i,c)|0:0){FW(i,c);if(r[(a[u>>2]|0)+156>>0]|0)break;if(r[(a[k>>2]|0)+156>>0]|0)break;IW(i);break}w=l&255;l=A;s=a[(a[u>>2]|0)+232>>2]|0;while(1){t=a[(a[k>>2]|0)+232>>2]|0;if((s|0)>=(t|0))break A;if((s|0)<(t+-1|0)){t=gL(A)|0;c=n+-48|0;t=oD(t,a[((a[n>>2]&3|0)==2?n:c)+40>>2]|0)|0;b=n}else{t=e;c=n+-48|0;b=n}r[(a[(mW(l,t,i)|0)+16>>2]|0)+112>>0]=w;u=(a[n+16>>2]|0)+168|0;f[u>>1]=(f[u>>1]|0)+-1<<16>>16;l=t;s=s+1|0;n=a[a[(a[(a[((a[b>>2]&3|0)==2?n:c)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do{if((t-b|0)==1){n=dW(A,e)|0;if(n|0?Mz(i,n)|0:0){a[(a[i+16>>2]|0)+172>>2]=n;w=a[n+16>>2]|0;r[w+112>>0]=l;w=w+168|0;f[w>>1]=(f[w>>1]|0)+1<<16>>16;if(r[(a[u>>2]|0)+156>>0]|0)break;if(r[(a[k>>2]|0)+156>>0]|0)break;IW(i);break}a[(a[i+16>>2]|0)+172>>2]=0;n=mW(A,e,i)|0;r[(a[n+16>>2]|0)+112>>0]=l}}while(0);t=a[(a[k>>2]|0)+232>>2]|0;if((t-(a[(a[u>>2]|0)+232>>2]|0)|0)>1){if((a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)==(A|0))s=t;else{u=i+16|0;a[(a[u>>2]|0)+172>>2]=0;s=mW(A,a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,i)|0;a[(a[u>>2]|0)+172>>2]=s;CW(n);n=s;s=a[(a[k>>2]|0)+232>>2]|0}while(1){t=a[n>>2]&3;c=a[((t|0)==2?n:n+-48|0)+40>>2]|0;b=a[c+16>>2]|0;if((a[b+232>>2]|0)==(s|0))break;n=a[a[b+180>>2]>>2]|0}if((c|0)!=(e|0)){r[(a[(mW(a[((t|0)==3?n:n+48|0)+40>>2]|0,e,i)|0)+16>>2]|0)+112>>0]=l;CW(n)}}}}while(0);return}function oD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=e+16|0;e=a[i>>2]|0;r=a[e+232>>2]|0;hD(A,r,a[e+236>>2]|0,2);e=YW(A)|0;i=a[i>>2]|0;f=a[e+16>>2]|0;b[f+88>>3]=+b[i+88>>3];b[f+96>>3]=+b[i+96>>3];a[f+232>>2]=a[i+232>>2];i=(a[i+236>>2]|0)+1|0;a[f+236>>2]=i;a[(a[(a[(a[A+16>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return e|0}function hD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=A+16|0;f=a[(a[l>>2]|0)+196>>2]|0;t=a[f+(e<<6)+4>>2]|0;A:do{if((r|0)<1){i=i-r|0;while(1){n=i+1|0;A=a[f+(e<<6)>>2]|0;if((n|0)>=(A|0))break;A=a[t+(n<<2)>>2]|0;f=i+r|0;a[(a[A+16>>2]|0)+236>>2]=f;a[t+(f<<2)>>2]=A;i=n;f=a[(a[l>>2]|0)+196>>2]|0}n=r+-1|0;i=n+A|0;while(1){if((i|0)>=(A|0))break A;a[t+(i<<2)>>2]=0;f=a[(a[l>>2]|0)+196>>2]|0;i=i+1|0;A=a[f+(e<<6)>>2]|0}}else{n=r+-1|0;A=a[f+(e<<6)>>2]|0;while(1){A=A+-1|0;if((A|0)<=(i|0))break;c=a[t+(A<<2)>>2]|0;f=n+A|0;a[(a[c+16>>2]|0)+236>>2]=f;a[t+(f<<2)>>2]=c}f=r+i|0;A=i;while(1){A=A+1|0;if((A|0)>=(f|0))break;a[t+(A<<2)>>2]=0}A=a[(a[l>>2]|0)+196>>2]|0;f=A;A=a[A+(e<<6)>>2]|0}}while(0);a[f+(e<<6)>>2]=n+A;return}function dD(A){A=A|0;var e=0;fD(A);e=a[A+16>>2]|0;a[e+220>>2]=1;a[a[e+216>>2]>>2]=a[e+192>>2];Ty(A);Zy(A,0);BD(A);sD(A);vD(A);return}function BD(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=gL(A)|0;s=A+16|0;i=a[s>>2]|0;c=f[i+236>>1]|0;e=c<<16>>16;w=b+16|0;if(c<<16>>16>0)r[(a[(a[w>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;c=e;while(1){if((c|0)>(f[i+238>>1]|0))break;t=a[(a[(a[(a[i+268>>2]|0)+(c<<2)>>2]|0)+16>>2]|0)+236>>2]|0;hD(b,c,t,a[(a[i+196>>2]|0)+(c<<6)>>2]|0);n=0;l=t;while(1){i=a[s>>2]|0;e=a[i+196>>2]|0;if((n|0)>=(a[e+(c<<6)>>2]|0))break;e=a[(a[e+(c<<6)+4>>2]|0)+(n<<2)>>2]|0;a[(a[(a[(a[w>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(l<<2)>>2]=e;i=a[e+16>>2]|0;a[i+236>>2]=l;if((r[i+156>>0]|0)==1)a[e+24>>2]=Zd(b)|0;yW(A,e);LW(b,e);i=(a[w>>2]|0)+232|0;a[i>>2]=(a[i>>2]|0)+1;n=n+1|0;l=l+1|0}l=a[(a[w>>2]|0)+196>>2]|0;a[e+(c<<6)+4>>2]=(a[l+(c<<6)+4>>2]|0)+(t<<2);r[l+(c<<6)+49>>0]=0;c=c+1|0}e=a[w>>2]|0;if((c|0)<(f[e+238>>1]|0))r[(a[e+196>>2]|0)+(c<<6)+49>>0]=0;r[i+272>>0]=1;return}function vD(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=A+16|0;e=a[t>>2]|0;l=f[e+236>>1]|0;while(1){if((l|0)>(f[e+238>>1]|0))break;r=a[(a[e+268>>2]|0)+(l<<2)>>2]|0;n=r+16|0;while(1){e=a[n>>2]|0;i=a[a[e+180>>2]>>2]|0;if(!i)break;CW(i)}while(1){e=a[a[e+172>>2]>>2]|0;if(!e)break;CW(e);e=a[n>>2]|0}yW(gL(A)|0,r);a[(a[(a[t>>2]|0)+268>>2]|0)+(l<<2)>>2]=0;l=l+1|0;e=a[t>>2]|0}return}function gD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=cd(A)|0;while(1){if(!f)break;i=f+16|0;e=a[i>>2]|0;if((r[e+159>>0]|0)==7){ZR(f);e=a[i>>2]|0}a[e+212>>2]=0;f=bd(A,f)|0}s=A+16|0;b=1;while(1){e=a[s>>2]|0;if((b|0)>(a[e+180>>2]|0))break;l=a[(a[e+184>>2]|0)+(b<<2)>>2]|0;t=l+16|0;e=cd(l)|0;A:while(1){if(!e)break;c=bd(l,e)|0;i=e+16|0;if(r[(a[i>>2]|0)+159>>0]|0){f=Vh(e)|0;n=Vh(A)|0;a[w>>2]=f;a[w+4>>2]=n;ao(0,87744,w)|0;Cd(l,e)|0;e=c;continue}GR(e,a[(a[t>>2]|0)+264>>2]|0);n=a[i>>2]|0;a[n+212>>2]=l;r[n+159>>0]=7;n=Oo(l,e)|0;while(1){if(!n){e=c;continue A}e=a[(a[n+16>>2]|0)+172>>2]|0;e:do{if(e|0)do{i=e+-48|0;f=a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break e;a[f+212>>2]=l;e=a[a[(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);n=_o(l,n)|0}}b=b+1|0}k=u;return}function ED(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=e+16|0;n=qF((f[(a[b>>2]|0)+238>>1]<<2)+8|0)|0;i=a[b>>2]|0;a[i+268>>2]=n;n=0;l=f[i+236>>1]|0;while(1){if((l|0)>(f[i+238>>1]|0))break;i=YW(A)|0;a[(a[(a[b>>2]|0)+268>>2]|0)+(l<<2)>>2]=i;c=a[i+16>>2]|0;a[c+232>>2]=l;r[c+159>>0]=7;a[c+212>>2]=e;if(n|0){c=(a[(mW(n,i,0)|0)+16>>2]|0)+154|0;f[c>>1]=(f[c>>1]|0)*1e3}n=i;l=l+1|0;i=a[b>>2]|0}c=cd(e)|0;while(1){i=a[b>>2]|0;if(!c)break;l=(a[(a[i+268>>2]|0)+(a[(a[c+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;i=(a[l>>2]|0)+216|0;a[i>>2]=(a[i>>2]|0)+1;i=Oo(e,c)|0;while(1){if(!i)break;t=a[i>>2]|0;A=i+-48|0;n=a[(a[(a[((t&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((n|0)>=(a[(a[(a[((t&3|0)==2?i:A)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;t=(a[(a[a[(a[l>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;f[t>>1]=(f[t>>1]|0)+1<<16>>16;n=n+1|0;t=a[i>>2]|0}i=_o(e,i)|0}c=bd(e,c)|0}A=f[i+238>>1]|0;t=i+268|0;i=f[i+236>>1]|0;while(1){if((i|0)>(A|0))break;n=(a[(a[(a[t>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+216|0;l=a[n>>2]|0;if((l|0)>1)a[n>>2]=l+-1;i=i+1|0}return}function CD(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0,b=0;b=(a[(a[e+16>>2]|0)+212>>2]|0)+16|0;e=a[b>>2]|0;c=i+1|0;if((c|0)!=(r[e+273>>0]|0)){t=f[e+236>>1]|0;while(1){l=f[e+238>>1]|0;if((t|0)>(l<<16>>16|0))break;Xy(A,a[(a[e+268>>2]|0)+(t<<2)>>2]|0);t=t+1|0;e=a[b>>2]|0}t=f[e+236>>1]|0;while(1){if((t|0)>(l<<16>>16|0))break;Ry(n,a[(a[e+268>>2]|0)+(t<<2)>>2]|0,i);A=a[b>>2]|0;t=t+1|0;l=f[A+238>>1]|0;e=A}r[e+273>>0]=c}return}function ID(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=cd(A)|0;while(1){if(!l)break;a[(a[l+16>>2]|0)+212>>2]=0;n=Oo(A,l)|0;while(1){if(!n)break;e=a[(a[n+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=e+-48|0;f=a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;a[f+212>>2]=0;e=a[a[(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);n=_o(A,n)|0}l=bd(A,l)|0}ZD(A);return}function ZD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;i=A+16|0;e=1;while(1){f=a[i>>2]|0;if((e|0)>(a[f+180>>2]|0))break;ZD(a[(a[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}t=cd(A)|0;while(1){if(!t)break;e=(a[t+16>>2]|0)+212|0;if(!(a[e>>2]|0))a[e>>2]=A;l=Oo(A,t)|0;while(1){if(!l)break;e=a[(a[l+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=a[e>>2]|0;n=e+-48|0;f=a[(a[((i&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;f=f+212|0;if(!(a[f>>2]|0)){a[f>>2]=A;i=a[e>>2]|0}e=a[a[(a[(a[((i&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);l=_o(A,l)|0}t=bd(A,t)|0}return}function GD(A){A=A|0;var e=0,i=0,r=0;r=_R(A)|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;QD(e,r);e=_o(A,e)|0}i=bd(A,i)|0}pk(r)|0;return}function QD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+320|0;D=N+296|0;Y=N+280|0;I=N+136|0;C=N+120|0;w=N+104|0;t=N+88|0;f=N+80|0;y=N+16|0;G=N;c=N+264|0;b=N+248|0;s=N+232|0;u=N+216|0;Q=N+200|0;m=N+184|0;Z=N+168|0;W=N+152|0;n=mD(po(A,87798)|0,e)|0;h=mD(po(A,87804)|0,e)|0;d=(h|0)!=0;e=(n|0)!=0;do{if(e|d?(J=A+16|0,r=a[(a[J>>2]|0)+8>>2]|0,r|0):0){if((a[r+4>>2]|0)>1){V=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;J=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[f>>2]=V;a[f+4>>2]=J;ao(0,87810,f)|0;break}M=a[r>>2]|0;r=a[M+4>>2]|0;o=a[A>>2]&3;B=A+-48|0;v=a[((o|0)==2?A:B)+40>>2]|0;g=A+48|0;o=a[((o|0)==3?A:g)+40>>2]|0;F=$F(48)|0;E=M+12|0;a[F+12>>2]=a[E>>2];L=M+8|0;a[F+8>>2]=a[L>>2];do{if(e){l=(a[n+16>>2]|0)+16|0;n=(a[v+16>>2]|0)+16|0;a[D>>2]=a[n>>2];a[D+4>>2]=a[n+4>>2];a[D+8>>2]=a[n+8>>2];a[D+12>>2]=a[n+12>>2];if(!(LD(D,l)|0)){u=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;z=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87798)|0;a[t>>2]=u;a[t+4>>2]=z;a[t+8>>2]=V;ao(0,87851,t)|0;V=26;break}e=a[M>>2]|0;a[D>>2]=a[e>>2];a[D+4>>2]=a[e+4>>2];a[D+8>>2]=a[e+8>>2];a[D+12>>2]=a[e+12>>2];if(LD(D,l)|0){z=(a[o+16>>2]|0)+16|0;a[D>>2]=a[z>>2];a[D+4>>2]=a[z+4>>2];a[D+8>>2]=a[z+8>>2];a[D+12>>2]=a[z+12>>2];if(LD(D,l)|0){u=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;z=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87798)|0;a[w>>2]=u;a[w+4>>2]=z;a[w+8>>2]=V;ao(0,87894,w)|0;V=26;break}if(!(a[L>>2]|0))vA(87936,87947,369,87958);u=M+16|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];WD(G,Y,D,l);z=(a[M>>2]|0)+48|0;a[z>>2]=a[G>>2];a[z+4>>2]=a[G+4>>2];a[z+8>>2]=a[G+8>>2];a[z+12>>2]=a[G+12>>2];z=(a[M>>2]|0)+16|0;a[Y>>2]=a[G>>2];a[Y+4>>2]=a[G+4>>2];a[Y+8>>2]=a[G+8>>2];a[Y+12>>2]=a[G+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];yD(c,Y,D);a[z>>2]=a[c>>2];a[z+4>>2]=a[c+4>>2];a[z+8>>2]=a[c+8>>2];a[z+12>>2]=a[c+12>>2];z=a[M>>2]|0;e=z+16|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];yD(b,Y,D);a[z>>2]=a[b>>2];a[z+4>>2]=a[b+4>>2];a[z+8>>2]=a[b+8>>2];a[z+12>>2]=a[b+12>>2];z=a[M>>2]|0;e=z+32|0;z=z+16|0;a[Y>>2]=a[z>>2];a[Y+4>>2]=a[z+4>>2];a[Y+8>>2]=a[z+8>>2];a[Y+12>>2]=a[z+12>>2];a[D>>2]=a[G>>2];a[D+4>>2]=a[G+4>>2];a[D+8>>2]=a[G+8>>2];a[D+12>>2]=a[G+12>>2];yD(s,Y,D);a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2];e=a[E>>2]|0;if(!e){z=3;break}z=(jC(A,a[M>>2]|0,0,0,F,e)|0)+3|0;break}n=r+-1|0;e=0;while(1){if((e|0)>=(n|0))break;if(zD((a[M>>2]|0)+(e<<4)|0,l)|0)break;e=e+3|0}r=a[E>>2]|0;f=(r|0)!=0;if((e|0)==(n|0))if(f){z=F+32|0;s=M+32|0;w=(a[M>>2]|0)+(n<<4)|0;a[Y>>2]=a[s>>2];a[Y+4>>2]=a[s+4>>2];a[Y+8>>2]=a[s+8>>2];a[Y+12>>2]=a[s+12>>2];a[D>>2]=a[w>>2];a[D+4>>2]=a[w+4>>2];a[D+8>>2]=a[w+8>>2];a[D+12>>2]=a[w+12>>2];WD(u,Y,D,l);a[z>>2]=a[u>>2];a[z+4>>2]=a[u+4>>2];a[z+8>>2]=a[u+8>>2];a[z+12>>2]=a[u+12>>2];z=n;break}else vA(87975,87947,387,87958);else{if(f)e=jC(A,a[M>>2]|0,0,e,F,r)|0;z=e+3|0;break}}else V=26}while(0);if((V|0)==26){e=r+-1|0;if(!(a[E>>2]|0))z=e;else{z=F+32|0;u=M+32|0;a[z>>2]=a[u>>2];a[z+4>>2]=a[u+4>>2];a[z+8>>2]=a[u+8>>2];a[z+12>>2]=a[u+12>>2];z=e}}do{if(d){f=(a[h+16>>2]|0)+16|0;d=(a[o+16>>2]|0)+16|0;a[D>>2]=a[d>>2];a[D+4>>2]=a[d+4>>2];a[D+8>>2]=a[d+8>>2];a[D+12>>2]=a[d+12>>2];if(!(LD(D,f)|0)){Y=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;D=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87804)|0;a[C>>2]=Y;a[C+4>>2]=D;a[C+8>>2]=V;ao(0,87986,C)|0;V=52;break}e=(a[M>>2]|0)+(z<<4)|0;a[D>>2]=a[e>>2];a[D+4>>2]=a[e+4>>2];a[D+8>>2]=a[e+8>>2];a[D+12>>2]=a[e+12>>2];if(LD(D,f)|0){y=(a[v+16>>2]|0)+16|0;a[D>>2]=a[y>>2];a[D+4>>2]=a[y+4>>2];a[D+8>>2]=a[y+8>>2];a[D+12>>2]=a[y+12>>2];if(LD(D,f)|0){Y=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;D=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87804)|0;a[I>>2]=Y;a[I+4>>2]=D;a[I+8>>2]=V;ao(0,88029,I)|0;V=52;break}if(!(a[E>>2]|0))vA(87975,87947,429,87958);I=F+32|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];WD(G,Y,D,f);i=z+-3|0;y=(a[M>>2]|0)+(i<<4)|0;a[y>>2]=a[G>>2];a[y+4>>2]=a[G+4>>2];a[y+8>>2]=a[G+8>>2];a[y+12>>2]=a[G+12>>2];y=z+-1|0;e=(a[M>>2]|0)+(y<<4)|0;a[Y>>2]=a[G>>2];a[Y+4>>2]=a[G+4>>2];a[Y+8>>2]=a[G+8>>2];a[Y+12>>2]=a[G+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];yD(Q,Y,D);a[e>>2]=a[Q>>2];a[e+4>>2]=a[Q+4>>2];a[e+8>>2]=a[Q+8>>2];a[e+12>>2]=a[Q+12>>2];e=a[M>>2]|0;W=e+(z<<4)|0;e=e+(y<<4)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];yD(m,Y,D);a[W>>2]=a[m>>2];a[W+4>>2]=a[m+4>>2];a[W+8>>2]=a[m+8>>2];a[W+12>>2]=a[m+12>>2];W=a[M>>2]|0;e=W+(z+-2<<4)|0;y=W+(y<<4)|0;a[Y>>2]=a[y>>2];a[Y+4>>2]=a[y+4>>2];a[Y+8>>2]=a[y+8>>2];a[Y+12>>2]=a[y+12>>2];a[D>>2]=a[G>>2];a[D+4>>2]=a[G+4>>2];a[D+8>>2]=a[G+8>>2];a[D+12>>2]=a[G+12>>2];yD(Z,Y,D);a[e>>2]=a[Z>>2];a[e+4>>2]=a[Z+4>>2];a[e+8>>2]=a[Z+8>>2];a[e+12>>2]=a[Z+12>>2];e=a[L>>2]|0;if(!e)break;i=PC(A,a[M>>2]|0,i,i,F,e)|0;break}r=z;while(1){if((r|0)>0)e=0;else break;while(1){if((e|0)==4)break;m=y+(e<<4)|0;Q=(a[M>>2]|0)+(r-e<<4)|0;a[m>>2]=a[Q>>2];a[m+4>>2]=a[Q+4>>2];a[m+8>>2]=a[Q+8>>2];a[m+12>>2]=a[Q+12>>2];e=e+1|0}if(zD(y,f)|0){e=0;V=43;break}r=r+-3|0}A:do{if((V|0)==43)while(1){V=0;if((e|0)==4)break A;V=(a[M>>2]|0)+(r-e<<4)|0;m=y+(e<<4)|0;a[V>>2]=a[m>>2];a[V+4>>2]=a[m+4>>2];a[V+8>>2]=a[m+8>>2];a[V+12>>2]=a[m+12>>2];e=e+1|0;V=43}}while(0);if(r|0){i=r+-3|0;e=a[L>>2]|0;if(!e)break;i=PC(A,a[M>>2]|0,i,z+-3|0,F,e)|0;break}if(!(a[L>>2]|0))vA(87936,87947,452,87958);else{i=F+16|0;y=M+16|0;A=a[M>>2]|0;a[Y>>2]=a[y>>2];a[Y+4>>2]=a[y+4>>2];a[Y+8>>2]=a[y+8>>2];a[Y+12>>2]=a[y+12>>2];a[D>>2]=a[A>>2];a[D+4>>2]=a[A+4>>2];a[D+8>>2]=a[A+8>>2];a[D+12>>2]=a[A+12>>2];WD(W,Y,D,f);a[i>>2]=a[W>>2];a[i+4>>2]=a[W+4>>2];a[i+8>>2]=a[W+8>>2];a[i+12>>2]=a[W+12>>2];i=0;break}}else V=52}while(0);if((V|0)==52)if(!(a[L>>2]|0))i=0;else{i=F+16|0;V=M+16|0;a[i>>2]=a[V>>2];a[i+4>>2]=a[V+4>>2];a[i+8>>2]=a[V+8>>2];a[i+12>>2]=a[V+12>>2];i=0}e=z-i+1|0;r=F+4|0;a[r>>2]=e;a[F>>2]=$F(e<<4)|0;e=0;while(1){if((e|0)>=(a[r>>2]|0))break;V=(a[F>>2]|0)+(e<<4)|0;A=(a[M>>2]|0)+(i<<4)|0;a[V>>2]=a[A>>2];a[V+4>>2]=a[A+4>>2];a[V+8>>2]=a[A+8>>2];a[V+12>>2]=a[A+12>>2];i=i+1|0;e=e+1|0}L2(a[M>>2]|0);L2(M);a[a[(a[J>>2]|0)+8>>2]>>2]=F}}while(0);k=N;return}function mD(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((A|0)!=0?(r[A>>0]|0)!=0:0){e=$R(e,A)|0;if(!e){a[i>>2]=A;ao(0,88149,i)|0;e=0}}else e=0;k=f;return e|0}function LD(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];if((+b[e>>3]<=r?r<=+b[e+16>>3]:0)?(i=+b[A+8>>3],+b[e+8>>3]<=i):0)A=i<=+b[e+24>>3]&1;else A=0;return A|0}function WD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0;L=k;k=k+464|0;w=L+48|0;m=L+32|0;g=L+16|0;E=L;C=L+364|0;I=L+264|0;G=L+164|0;Q=L+64|0;h=+b[e>>3];d=+b[e+8>>3];B=+b[i>>3];v=+b[i+8>>3];a[g>>2]=a[r>>2];a[g+4>>2]=a[r+4>>2];a[g+8>>2]=a[r+8>>2];a[g+12>>2]=a[r+12>>2];r=r+16|0;a[E>>2]=a[r>>2];a[E+4>>2]=a[r+4>>2];a[E+8>>2]=a[r+8>>2];a[E+12>>2]=a[r+12>>2];c=+b[g>>3];if((B=+b[g+8>>3]):0)?f<=+b[E+8>>3]:0){u=f;o=c}else l=4;do{if((l|0)==4){t=+b[E>>3];if(B>t){n=d+ +(~~((t-h)*(d-v)/(h-B))|0);f=+b[g+8>>3];if(n>=f?n<=+b[E+8>>3]:0){u=n;o=t;break}}else f=+b[g+8>>3];if(v=c)|!(s<=t))):0){u=f;o=s;break}f=+b[E+8>>3];if(v>f?(Z=h+ +(~~((f-d)*(h-B)/(d-v))|0),!(!(Z>=c)|!(Z<=t))):0){u=f;o=Z;break}a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];C=VD(w,C)|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];I=VD(w,I)|0;a[w>>2]=a[g>>2];a[w+4>>2]=a[g+4>>2];a[w+8>>2]=a[g+8>>2];a[w+12>>2]=a[g+12>>2];G=VD(w,G)|0;a[w>>2]=a[E>>2];a[w+4>>2]=a[E+4>>2];a[w+8>>2]=a[E+8>>2];a[w+12>>2]=a[E+12>>2];Q=VD(w,Q)|0;a[m>>2]=C;a[m+4>>2]=I;a[m+8>>2]=G;a[m+12>>2]=Q;ao(1,88071,m)|0;vA(138394,87947,78,88123)}}while(0);b[A>>3]=o;b[A+8>>3]=u;k=L;return}function yD(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function zD(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+80|0;t=s+16|0;c=s;r=0;while(1){if((r|0)==4)break;l=t+(r<<4)|0;n=A+(r<<4)|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];r=r+1|0}r=e+8|0;l=e+24|0;i=+YD(A,0.0,1.0,+b[e>>3],+b[r>>3],+b[l>>3]);if(i>=0.0&i<2.0)mR(c,t,3,i,A,0);else i=2.0;n=e+16|0;f=+YD(A,0.0,i>1.0?1.0:i,+b[n>>3],+b[r>>3],+b[l>>3]);if(f>=0.0&f1.0?1.0:i,+b[r>>3],+b[e>>3],+b[n>>3]);if(f>=0.0&f1.0?1.0:i,+b[l>>3],+b[e>>3],+b[n>>3]);if(f>=0.0&f>3]-r))<=.005){e=+b[A+56>>3];e=!(e>=f)|!(e<=a)?-1.0:i;break A}break}default:{}}mR(l,A,3,.5,t,c);n=(i+e)*.5;e=+YD(t,e,n,r,f,a);if(!(e>=0.0))e=+YD(c,n,i,r,f,a)}}while(0);k=s;return+e}function DD(A,e,i,r,f,a){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;var n=0.0,l=0,t=0,c=0,s=0;s=k;k=k+144|0;t=s+80|0;c=s+16|0;l=s;A:do{if(!(e==i)){switch(MD(A,r)|0){case 0:{e=-1.0;break A}case 1:{if(+y(+(+b[A+56>>3]-r))<=.005){e=+b[A+48>>3];e=!(e>=f)|!(e<=a)?-1.0:i;break A}break}default:{}}mR(l,A,3,.5,t,c);n=(i+e)*.5;e=+DD(t,e,n,r,f,a);if(!(e>=0.0))e=+DD(c,n,i,r,f,a)}}while(0);k=s;return+e}function MD(A,e){A=A|0;e=+e;var i=0,r=0,f=0,a=0.0,n=0,l=0;a=+b[A+8>>3];f=ae&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;a=+b[A+(i<<4)+8>>3];l=ae&1;n=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=n}return f|0}function FD(A,e){A=A|0;e=+e;var i=0,r=0,f=0,a=0.0,n=0,l=0;a=+b[A>>3];f=ae&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;a=+b[A+(i<<4)>>3];l=ae&1;n=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=n}return f|0}function VD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=k;k=k+16|0;r=i;f=+b[A+8>>3];b[r>>3]=+b[A>>3];b[r+8>>3]=f;P4(e,88137,r)|0;k=i;return e|0}function JD(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0;E=k;k=k+16|0;h=E;g=4;v=m2(40)|0;a[v>>2]=0;o=A+16|0;i=a[o>>2]|0;A:do{if(((f[i+238>>1]|0)-(f[i+236>>1]|0)|0)>=2){s=1;e=i;i=a[i+196>>2]|0;e:while(1){w=s+1|0;if(!(a[i+(w<<6)>>2]|0)){u=15;break}else b=0;while(1){l=a[i+(s<<6)>>2]|0;if((b|0)>=(l|0)){s=w;continue e}c=a[(a[i+(s<<6)+4>>2]|0)+(b<<2)>>2]|0;d=0;e=iA(20,c|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,v|0,g|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){e=L;break e}if(e<<24>>24){t=b;e=l;while(1){n=t+1|0;if((n|0)>=(e|0))break;d=0;e=rA(65,c|0,a[(a[i+(s<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,v|0,g|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){e=L;break e}if(!(e<<24>>24))break;e=a[(a[o>>2]|0)+196>>2]|0;t=n;i=e;e=a[e+(s<<6)>>2]|0}if((n-b|0)>1){d=0;hA(6,A|0,s|0,b|0,t|0,1);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;break e}}}i=a[o>>2]|0;b=b+1|0;e=i;i=a[i+196>>2]|0}}e:do{if((u|0)==15){while(1){if((s|0)>0)b=0;else break;while(1){i=a[e+196>>2]|0;l=a[i+(s<<6)>>2]|0;if((b|0)>=(l|0))break;c=a[(a[i+(s<<6)+4>>2]|0)+(b<<2)>>2]|0;d=0;e=iA(21,c|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,v|0,g|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){e=L;break e}if(e<<24>>24){t=b;e=l;while(1){n=t+1|0;if((n|0)>=(e|0))break;d=0;e=rA(66,c|0,a[(a[i+(s<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,v|0,g|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){e=L;break e}if(!(e<<24>>24))break;e=a[(a[o>>2]|0)+196>>2]|0;t=n;i=e;e=a[e+(s<<6)>>2]|0}if((n-b|0)>1){d=0;hA(6,A|0,s|0,b|0,t|0,0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;break e}}}b=b+1|0;e=a[o>>2]|0}s=s+-1|0;u=15}v=L6(187016,1,v|0,g|0)|0;g=L;d=0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1)e=L;else e=0}}while(0);e:while(1){if(e){d=0;aA(20,3,88177,h|0)|0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}else break}else r=1;while(1){e=a[o>>2]|0;if((r|0)>(a[e+180>>2]|0))break A;d=0;sA(101,a[(a[e+184>>2]|0)+(r<<2)>>2]|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue e}r=r+1|0}}}}while(0);L2(v|0);k=E;return}function ND(A){A=A|0;A=a[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(a[A+176>>2]|0)==1:0)?(a[A+184>>2]|0)==1:0)A=(a[A+104>>2]|0)==0&1;else A=0;return A|0}function XD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;l=t+40|0;n=t;r=a[a[(a[A+16>>2]|0)+172>>2]>>2]|0;A=a[a[(a[e+16>>2]|0)+172>>2]>>2]|0;if(((ND(e)|0)<<24>>24!=0?(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0):0)?(TD(r,A)|0)<<24>>24!=0:0){i=(a[A+16>>2]|0)+16|0;f=n;A=(a[r+16>>2]|0)+16|0;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(EL(n,l)|0)==0&1}else A=0;k=t;return A|0}function RD(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;v=A+16|0;h=a[(a[(a[(a[v>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(i<<2)>>2]|0;o=i+1|0;w=(f|0)==1;u=h+16|0;s=o;while(1){if((s|0)>(r|0)){n=r;B=o;break}k=a[(a[(a[(a[v>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(s<<2)>>2]|0;b=k+16|0;A:do{if(w)while(1){i=a[b>>2]|0;c=a[a[i+180>>2]>>2]|0;if(!c)break A;l=a[(a[u>>2]|0)+180>>2]|0;t=c+-48|0;f=0;while(1){i=a[l+(f<<2)>>2]|0;if(!i){d=8;break}if((a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)==(a[((a[c>>2]&3|0)==2?c:t)+40>>2]|0))break;else f=f+1|0}if((d|0)==8){d=0;i=mW(h,a[((a[c>>2]&3|0)==2?c:t)+40>>2]|0,c)|0}while(1){f=a[a[(a[b>>2]|0)+172>>2]>>2]|0;if(!f)break;FW(f,i);CW(f)}CW(c)}else while(1){i=a[b>>2]|0;c=a[a[i+172>>2]>>2]|0;if(!c)break A;l=a[(a[u>>2]|0)+172>>2]|0;t=c+48|0;f=0;while(1){i=a[l+(f<<2)>>2]|0;if(!i){d=17;break}if((a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)==(a[((a[c>>2]&3|0)==3?c:t)+40>>2]|0))break;else f=f+1|0}if((d|0)==17){d=0;i=mW(a[((a[c>>2]&3|0)==3?c:t)+40>>2]|0,h,c)|0}while(1){f=a[a[(a[b>>2]|0)+180>>2]>>2]|0;if(!f)break;FW(f,i);CW(f)}CW(c)}}while(0);if((a[i+176>>2]|0)!=(0-(a[i+184>>2]|0)|0)){d=23;break}yW(A,k);s=s+1|0}if((d|0)==23)vA(88313,88357,115,88364);while(1){n=n+1|0;i=a[(a[v>>2]|0)+196>>2]|0;f=i+(e<<6)|0;if((n|0)>=(a[f>>2]|0))break;r=a[i+(e<<6)+4>>2]|0;d=a[r+(n<<2)>>2]|0;a[r+(B<<2)>>2]=d;a[(a[d+16>>2]|0)+236>>2]=B;B=B+1|0}a[f>>2]=B;a[(a[i+(e<<6)+4>>2]|0)+(B<<2)>>2]=0;return}function HD(A){A=A|0;A=a[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(a[A+184>>2]|0)==1:0)?(a[A+176>>2]|0)==1:0)A=(a[A+104>>2]|0)==0&1;else A=0;return A|0}function pD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;l=t+40|0;n=t;r=a[a[(a[A+16>>2]|0)+180>>2]>>2]|0;A=a[a[(a[e+16>>2]|0)+180>>2]>>2]|0;if(((HD(e)|0)<<24>>24!=0?(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)==(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0):0)?(TD(r,A)|0)<<24>>24!=0:0){i=(a[A+16>>2]|0)+56|0;f=n;A=(a[r+16>>2]|0)+56|0;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(EL(n,l)|0)==0&1}else A=0;k=t;return A|0}function UD(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+32|0;o=d+16|0;u=d;s=A+16|0;i=a[s>>2]|0;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;a[(a[i+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;i=a[s>>2]|0}Fz(A);c=cd(A)|0;while(1){if(!c)break;xD(A,c);t=Oo(A,c)|0;while(1){if(!t)break;else i=t;while(1){e=a[(a[i+16>>2]|0)+172>>2]|0;if(!e)break;else i=e}l=t+-48|0;while(1){e=i+-48|0;n=a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0;if((a[(a[n+16>>2]|0)+232>>2]|0)>=(a[(a[(a[((a[t>>2]&3|0)==2?t:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;xD(A,n);i=a[a[(a[(a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}t=_o(A,t)|0}c=bd(A,c)|0}e=a[s>>2]|0;t=f[e+236>>1]|0;while(1){if((t|0)>(f[e+238>>1]|0)){b=1;w=e;break}e=a[(a[e+268>>2]|0)+(t<<2)>>2]|0;c=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;i=e+16|0;if((a[c+(a[(a[i>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){h=17;break}l=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;e=a[s>>2]|0;i=a[e+196>>2]|0;a[i+(t<<6)+4>>2]=l+(a[(a[(a[(a[e+268>>2]|0)+(t<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;l=0;A:while(1){if((l|0)>=(a[i+(t<<6)>>2]|0))break;i=a[(a[i+(t<<6)+4>>2]|0)+(l<<2)>>2]|0;if(!i)break;n=a[i+16>>2]|0;e:do{if(!(r[n+156>>0]|0))if(!(Dd(A,i)|0))break A;else e=l;else{i=a[a[n+172>>2]>>2]|0;while(1){if(!i)break e;n=a[(a[i+16>>2]|0)+116>>2]|0;if(!n)break;else i=n}if(Dd(A,a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0){c=(Dd(A,a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)|0)==0;e=c?e:l}}}while(0);l=l+1|0;i=a[(a[s>>2]|0)+196>>2]|0}if((e|0)==-1){a[o>>2]=Vh(A)|0;a[o+4>>2]=t;ao(0,88277,o)|0}c=a[s>>2]|0;a[(a[c+196>>2]|0)+(t<<6)>>2]=e+1;t=t+1|0;e=c}if((h|0)==17){o=Vh(e)|0;h=a[(a[i>>2]|0)+236>>2]|0;a[u>>2]=o;a[u+4>>2]=h;a[u+8>>2]=t;ao(1,88219,u)|0;fe(187016,1)}while(1){if((b|0)>(a[w+180>>2]|0))break;UD(a[(a[w+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0;w=a[s>>2]|0}k=d;return}function xD(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[e+16>>2]|0;A=(a[(a[A+16>>2]|0)+268>>2]|0)+(a[i+232>>2]<<2)|0;r=a[A>>2]|0;if(!((r|0)!=0?(a[(a[r+16>>2]|0)+236>>2]|0)<=(a[i+236>>2]|0):0))a[A>>2]=e;return}function TD(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=a[A+16>>2]|0;if(!(r[f+112>>0]|0))break;A=a[f+116>>2]|0}while(1){i=a[e+16>>2]|0;if(!(r[i+112>>0]|0))break;e=a[i+116>>2]|0}if((r[f+153>>0]|0)==0?(r[i+153>>0]|0)==0:0){f=a[e>>2]&3;i=a[A>>2]&3;A=(U((a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(a[(a[(a[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else A=0;return A|0}function jD(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+544|0;c=b+528|0;SD(c,b+512|0,b);i=(r[193770]|0)+1<<24>>24;r[193770]=i<<24>>24==0?1:i;i=a[A+16>>2]|0;a[i+220>>2]=0;a[i+232>>2]=0;i=(e|0)>0;e=cd(A)|0;while(1){if(!e)break;if(i?(l=a[e+16>>2]|0,t=a[l+212>>2]|0,(t|0)!=0):0){n=a[(a[(a[t+16>>2]|0)+268>>2]|0)+(a[l+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(e|0)==(CR(e)|0)):0){n=e;f=7}if((f|0)==7?(0,(r[(a[n+16>>2]|0)+157>>0]|0)!=(r[193770]|0)):0){PD(A);OD(c,A,n);KD(A)}e=bd(A,e)|0}_D(c);k=b;return}function SD(A,e,i){A=A|0;e=e|0;i=i|0;a[e>>2]=i;a[e+4>>2]=i+512;a[e+12>>2]=0;a[e+8>>2]=0;a[A>>2]=e;a[A+4>>2]=e;a[A+8>>2]=i;return}function PD(A){A=A|0;a[(a[A+16>>2]|0)+192>>2]=0;a[46793]=0;return}function OD(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+32|0;o=h;qD(A,i);b=o+8|0;s=o+16|0;w=o+24|0;A:while(1){u=$D(A)|0;if(!u)break;i=u+16|0;if((r[(a[i>>2]|0)+157>>0]|0)==(r[193770]|0))continue;AM(e,u);l=a[i>>2]|0;n=l+180|0;c=a[n+4>>2]|0;t=o;a[t>>2]=a[n>>2];a[t+4>>2]=c;t=l+172|0;c=a[t+4>>2]|0;n=b;a[n>>2]=a[t>>2];a[n+4>>2]=c;n=l+188|0;c=a[n+4>>2]|0;t=s;a[t>>2]=a[n>>2];a[t+4>>2]=c;l=l+196|0;t=a[l+4>>2]|0;c=w;a[c>>2]=a[l>>2];a[c+4>>2]=t;c=3;while(1){if((c|0)<=-1)continue A;i=a[o+(c<<3)>>2]|0;e:do{if(i|0){t=(a[o+(c<<3)+4>>2]|0)+-1|0;l=i+(t<<2)|0;while(1){if((t|0)<=-1)break e;f=a[l>>2]|0;n=a[f>>2]&3;i=a[((n|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(u|0))i=a[((n|0)==3?f:f+48|0)+40>>2]|0;if((r[(a[i+16>>2]|0)+157>>0]|0)!=(r[193770]|0)?(i|0)==(CR(i)|0):0)qD(A,i);l=l+-4|0;t=t+-1|0}}}while(0);c=c+-1|0}}k=h;return}function KD(A){A=A|0;var e=0,i=0,r=0,f=0;i=A+16|0;e=a[i>>2]|0;f=e+220|0;r=a[f>>2]|0;A=r+1|0;a[f>>2]=A;e=a[e+216>>2]|0;if(!e)A=$F(A<<2)|0;else A=eV(e,A<<2)|0;f=a[i>>2]|0;a[f+216>>2]=A;a[A+(r<<2)>>2]=a[f+192>>2];return}function _D(A){A=A|0;var e=0;A=a[(a[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=a[A+12>>2]|0;L2(a[A>>2]|0);L2(A);A=e}return}function qD(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;l=b+8|0;f=b;c=A+8|0;i=a[c>>2]|0;t=A+4|0;A=a[t>>2]|0;if((i|0)==(a[A+4>>2]|0)){i=a[A+12>>2]|0;if(!i){i=qF(16)|0;if(!i)ao(1,98969,f)|0;a[i+8>>2]=a[t>>2];a[i+12>>2]=0;A=qF(4e6)|0;a[i>>2]=A;if(!A){ao(1,88377,l)|0;A=a[i>>2]|0}a[i+4>>2]=A+4e6;a[(a[t>>2]|0)+12>>2]=i}a[t>>2]=i;i=a[i>>2]|0;a[c>>2]=i}r[(a[e+16>>2]|0)+157>>0]=(n[193770]|0)+1;a[c>>2]=i+4;a[i>>2]=e;k=b;return}function $D(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+8|0;e=a[f>>2]|0;i=A+4|0;r=a[i>>2]|0;if((e|0)==(a[r>>2]|0))if((r|0)==(a[A>>2]|0))e=0;else{e=a[r+8>>2]|0;a[i>>2]=e;e=a[e+4>>2]|0;a[f>>2]=e;n=4}else n=4;if((n|0)==4){e=e+-4|0;a[f>>2]=e;e=a[e>>2]|0}return e|0}function AM(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=a[A+16>>2]|0;n=f+232|0;a[n>>2]=(a[n>>2]|0)+1;n=a[e+16>>2]|0;r[n+157>>0]=r[193770]|0;A=a[46793]|0;i=n+168|0;if(!A){a[i>>2]=0;a[f+192>>2]=e}else{a[i>>2]=A;a[(a[A+16>>2]|0)+164>>2]=e}a[46793]=e;a[n+164>>2]=0;return}function eM(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,k=0.0;w=A+16|0;e=(a[w>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;n=e+16|0;e=a[n>>2]|0;i=a[e+188>>2]|0;A:do{if(!i)f=0;else{f=0;while(1){i=a[i+(f<<2)>>2]|0;if(!i){f=0;break A}iM(i);e=a[n>>2]|0;f=f+1|0;i=a[e+188>>2]|0}}}while(0);while(1){if((f|0)>=(a[e+208>>2]|0))break;i=a[(a[e+204>>2]|0)+(f<<2)>>2]|0;s=a[i>>2]&3;if((a[(a[(a[((s|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(a[(a[(a[((s|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){iM(i);e=a[n>>2]|0}f=f+1|0}e=e+164|0}s=a[w>>2]|0;e=a[s+196>>2]|0;if(!((a[e+56>>2]|0)==0?(a[s+180>>2]|0)<=0:0))l=13;A:do{if((l|0)==13){l=a[e+4>>2]|0;n=0;e:while(1){e=a[l+(n<<2)>>2]|0;if(!e)break A;i=a[(a[e+16>>2]|0)+196>>2]|0;e=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f)break;s=a[f+16>>2]|0;if(a[s+96>>2]|0?(r[s+113>>0]|0)==0:0)break e;e=e+1|0}n=n+1|0}rM(A)}}while(0);Sy(A);i=0;e=(a[w>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;s=e+16|0;e=a[s>>2]|0;f=a[e+188>>2]|0;A:do{if(f){c=0;while(1){n=a[f+(c<<2)>>2]|0;if(!n){c=0;break}l=a[n+16>>2]|0;t=a[l+96>>2]|0;do{if(t)if(!(r[l+113>>0]|0)){fM(n);f=a[s>>2]|0;i=1;e=f;f=a[f+188>>2]|0;break}else{b[l+136>>3]=+b[((a[(a[w>>2]|0)+116>>2]&1|0)==0?t+24|0:t+32|0)>>3];break}}while(0);c=c+1|0}while(1){if((c|0)>=(a[e+208>>2]|0))break A;l=a[(a[e+204>>2]|0)+(c<<2)>>2]|0;t=a[l>>2]&3;n=a[((t|0)==3?l:l+48|0)+40>>2]|0;t=a[((t|0)==2?l:l+-48|0)+40>>2]|0;do{if(!((n|0)==(t|0)?1:(a[(a[n+16>>2]|0)+232>>2]|0)!=(a[(a[t+16>>2]|0)+232>>2]|0))){f=l;do{t=a[f+16>>2]|0;f=a[t+172>>2]|0}while((f|0)!=0);f=r[t+113>>0]|0;n=a[l+16>>2]|0;r[n+113>>0]=f;n=a[n+96>>2]|0;if(n)if(!(f<<24>>24)){fM(l);i=1;e=a[s>>2]|0;break}else{k=+b[((a[(a[w>>2]|0)+116>>2]&1|0)==0?n+24|0:n+32|0)>>3];t=t+136|0;u=+b[t>>3];b[t>>3]=k>u?k:u;break}}}while(0);c=c+1|0}}}while(0);e=e+164|0}if(i|0){RW(A);Ay(A)}return i|0}function iM(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;e=a[A>>2]&3;t=a[((e|0)==3?A:A+48|0)+40>>2]|0;f=t+16|0;n=a[(a[f>>2]|0)+236>>2]|0;e=a[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=(n|0)<(e|0);i=l?e:n;t=a[(a[(gL(t)|0)+16>>2]|0)+196>>2]|0;f=t+(a[(a[f>>2]|0)+232>>2]<<6)+4|0;e=l?n:e;A:while(1){e=e+1|0;if((e|0)>=(i|0))break;n=a[(a[(a[f>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;switch(r[n+156>>0]|0){case 0:break A;case 1:break;default:continue A}if(a[n+104>>2]|0)break}if((e|0)==(i|0))do{t=a[A+16>>2]|0;r[t+113>>0]=1;A=a[t+172>>2]|0}while((A|0)!=0);return}function rM(A){A=A|0;var e=0,i=0,r=0,n=0;n=A+16|0;A=a[n>>2]|0;if(f[A+236>>1]|0)vA(88434,88417,190,88453);e=(f[A+238>>1]|0)+3|0;A=a[A+196>>2]|0;if(!A)A=$F(e<<6)|0;else A=eV(A,e<<6)|0;e=A+64|0;A=a[n>>2]|0;a[A+196>>2]=e;A=f[A+238>>1]|0;while(1){if((A|0)<=-1)break;r=A+-1|0;i=e+(A<<6)|0;A=e+(r<<6)|0;e=i+64|0;do{a[i>>2]=a[A>>2];i=i+4|0;A=A+4|0}while((i|0)<(e|0));A=r;e=a[(a[n>>2]|0)+196>>2]|0}a[e+(A<<6)+8>>2]=0;a[e+(A<<6)>>2]=0;i=qF(8)|0;n=a[n>>2]|0;r=a[n+196>>2]|0;a[r+(A<<6)+12>>2]=i;a[r+(A<<6)+4>>2]=i;a[r+(A<<6)+56>>2]=0;b[r+(A<<6)+24>>3]=1.0;b[r+(A<<6)+16>>3]=1.0;b[r+(A<<6)+40>>3]=1.0;b[r+(A<<6)+32>>3]=1.0;n=n+236|0;f[n>>1]=(f[n>>1]|0)+-1<<16>>16;return}function fM(A){A=A|0;var e=0,i=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0.0,d=0.0;t=A+16|0;if(a[(a[t>>2]|0)+96>>2]|0){w=A+48|0;c=gL(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)|0;e=a[(a[(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+232>>2]|0;s=MH(c,A)|0;u=c+16|0;i=a[u>>2]|0;n=a[i+196>>2]|0;k=e+-1|0;l=a[a[n+(k<<6)+4>>2]>>2]|0;if(!l)f=+b[n+(e<<6)+24>>3]+ +b[(a[(a[a[n+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(a[i+252>>2]|0);else f=+b[(a[l+16>>2]|0)+24>>3]-+b[n+(k<<6)+16>>3];e=FH(c,k,s)|0;c=a[(a[t>>2]|0)+96>>2]|0;h=+b[c+24>>3];o=+b[c+32>>3];t=(a[(a[u>>2]|0)+116>>2]&1|0)==0;d=t?o:h;n=e+16|0;i=a[n>>2]|0;b[i+80>>3]=d;s=~~(d*.5);o=(t?h:o)*.5;b[i+96>>3]=o;b[i+88>>3]=o;a[i+104>>2]=c;b[i+24>>3]=+(s+~~f|0);i=mW(e,a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0,A)|0;i=a[i+16>>2]|0;b[i+16>>3]=-+b[(a[n>>2]|0)+88>>3];b[i+56>>3]=+b[(a[(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+96>>3];r[i+112>>0]=4;i=A+-48|0;e=mW(e,a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0,A)|0;n=a[n>>2]|0;e=a[e+16>>2]|0;b[e+16>>3]=+b[n+96>>3];b[e+56>>3]=+b[(a[(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+88>>3];r[e+112>>0]=4;e=a[(a[u>>2]|0)+196>>2]|0;i=e+(k<<6)+16|0;f=+(s|0);if(+b[i>>3]>3]=f;e=e+(k<<6)+24|0;if(+b[e>>3]>3]=f;a[n+112>>2]=A}return}function aM(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+160|0;Z=Q+24|0;C=Q+20|0;E=Q+16|0;u=Q;o=Q+32|0;I=a[A+152>>2]|0;a[Z>>2]=0;a[C>>2]=0;a[E>>2]=0;G=AI(A)|0;a[G+4>>2]=3;a[G+8>>2]=e;a[G+12>>2]=9;v=e+16|0;w=a[(a[v>>2]|0)+96>>2]|0;if((w|0?(r[w+82>>0]|0)==0:0)?(ER(po(e,100105)|0,0)|0)<<24>>24:0){w=G+260|0;f[w>>1]=f[w>>1]|512}if(i|0?a[(a[v>>2]|0)+8>>2]|0:0)rr(A,i);i=a[47206]|0;if((i|0?(n=Uo(e,i)|0,n|0):0)?r[n>>0]|0:0)wr(A,+oR(e,a[47206]|0,1.0,0.0));do{if(I&16777216|0){i=e+48|0;if((l[(a[(Id(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){s=+b[(a[(a[(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;b[G+176>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);s=+b[(a[(a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;b[G+184>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);break}else{w=G+176|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;break}}}while(0);if(I&32768|0){w=a[v>>2]|0;i=a[w+96>>2]|0;if(!i)i=a[G+192>>2]|0;else{i=a[i>>2]|0;a[G+192>>2]=i}n=G+196|0;a[n>>2]=i;c=G+204|0;a[c>>2]=i;t=G+200|0;a[t>>2]=i;i=a[w+108>>2]|0;if(i|0)a[n>>2]=a[i>>2];i=a[w+104>>2]|0;if(i|0)a[t>>2]=a[i>>2];i=a[w+100>>2]|0;if(i|0)a[c>>2]=a[i>>2]}if(!(I&65536))t=0;else{co(u,128,o);a[G+212>>2]=SF(rI(A,e,u)|0,e)|0;uo(u);i=po(e,141055)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=31;else{i=po(e,111477)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=31;else n=0}if((h|0)==31)n=SF(i,e)|0;i=po(e,100118)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=36;else h=34;do{if((h|0)==34){i=po(e,100127)|0;if(i|0?r[i>>0]|0:0){h=36;break}if(n|0){i=s3(n)|0;h=39}}}while(0);if((h|0)==36){i=SF(i,e)|0;h=39}if((h|0)==39)a[G+208>>2]=i;i=po(e,100135)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=44;else h=42;do{if((h|0)==42){i=po(e,100145)|0;if(i|0?r[i>>0]|0:0){h=44;break}if(n|0){i=s3(n)|0;h=47}}}while(0);if((h|0)==44){i=SF(i,e)|0;h=47}if((h|0)==47)a[G+216>>2]=i;i=po(e,100154)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=52;else h=50;do{if((h|0)==50){i=po(e,100163)|0;if(i|0?r[i>>0]|0:0){h=52;break}if(n|0)a[G+220>>2]=s3(n)|0}}while(0);if((h|0)==52){a[G+220>>2]=SF(i,e)|0;h=G+260|0;f[h>>1]=f[h>>1]|128}i=po(e,100171)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=59;else h=57;do{if((h|0)==57){i=po(e,100180)|0;if(i|0?r[i>>0]|0:0){h=59;break}if(n|0)a[G+224>>2]=s3(n)|0}}while(0);if((h|0)==59){a[G+224>>2]=SF(i,e)|0;h=G+260|0;f[h>>1]=f[h>>1]|256}t=n}do{if(I&8388608){i=po(e,141088)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)n=SF(i,e)|0;else n=0;i=po(e,100188)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){h=G+260|0;f[h>>1]=f[h>>1]|64;i=SF(i,e)|0;h=72}else h=70;if((h|0)==70?n|0:0){i=s3(n)|0;h=72}if((h|0)==72)a[G+244>>2]=i;i=po(e,100199)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){i=SF(i,e)|0;h=78}else h=76;if((h|0)==76?n|0:0){i=s3(n)|0;h=78}if((h|0)==78)a[G+248>>2]=i;i=po(e,100211)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){a[G+252>>2]=SF(i,e)|0;o=G+260|0;f[o>>1]=f[o>>1]|16}else h=82;if((h|0)==82?n|0:0)a[G+252>>2]=s3(n)|0;i=po(e,100222)|0;if(i|0?r[i>>0]|0:0){h=G+260|0;f[h>>1]=f[h>>1]|32;a[G+256>>2]=SF(i,e)|0;break}if(n)a[G+256>>2]=s3(n)|0;else n=0}else n=0}while(0);do{if(I&4194304|0){i=po(e,141101)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=94;else h=92;do{if((h|0)==92){i=po(e,100233)|0;if(i|0?r[i>>0]|0:0){h=94;break}i=a[G+192>>2]|0;if(i|0)a[G+228>>2]=s3(i)|0}}while(0);if((h|0)==94){o=QM(i,e)|0;a[G+228>>2]=SF(o,e)|0;L2(o);o=G+260|0;f[o>>1]=f[o>>1]|1}i=po(e,100245)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){o=QM(i,e)|0;a[G+232>>2]=SF(o,e)|0;L2(o);o=G+260|0;f[o>>1]=f[o>>1]|8}else h=100;if((h|0)==100?(d=a[G+192>>2]|0,d|0):0)a[G+232>>2]=s3(d)|0;i=po(e,100258)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){d=QM(i,e)|0;a[G+236>>2]=SF(d,e)|0;L2(d);d=G+260|0;f[d>>1]=f[d>>1]|2}else h=105;if((h|0)==105?(B=a[G+200>>2]|0,B|0):0)a[G+236>>2]=s3(B)|0;i=po(e,100270)|0;if(i|0?r[i>>0]|0:0){B=QM(i,e)|0;a[G+240>>2]=SF(B,e)|0;L2(B);B=G+260|0;f[B>>1]=f[B>>1]|4;break}i=a[G+204>>2]|0;if(i|0)a[G+240>>2]=s3(i)|0}}while(0);L2(t);L2(n);do{if(I&4259840|0?(g=a[(a[v>>2]|0)+8>>2]|0,g|0):0){if(!(a[G+208>>2]|0)){if((I&524288|0)==0|(a[G+228>>2]|0)==0)break}else if(!(I&524288))break;s=+b[(a[A+16>>2]|0)+152>>3]*.5;s=s>2.0?s:2.0;n=a[g+4>>2]|0;i=0;while(1){if((i|0)>=(n|0))break;mM(Z,C,E,(a[g>>2]|0)+(i*48|0)|0,s);i=i+1|0}t=a[E>>2]|0;a[G+276>>2]=t;c=a[C>>2]|0;a[G+280>>2]=c;if(!(I&8192)){i=0;n=0;while(1){if((n|0)>=(t|0))break;i=(a[c+(n<<2)>>2]|0)+i|0;n=n+1|0}Z=a[Z>>2]|0;zi(A,Z,Z,i)|0;i=Z}else i=a[Z>>2]|0;a[G+284>>2]=i;a[G+264>>2]=2;a[G+272>>2]=i;a[G+268>>2]=a[c>>2]}}while(0);ji(A,e);i=a[G+208>>2]|0;if(!((i|0)==0?!(f[G+260>>1]&1):0))Pi(A,i,a[G+228>>2]|0,a[G+244>>2]|0,a[G+212>>2]|0);k=Q;return}function nM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,U=0,x=0;H=k;k=k+240|0;J=H+224|0;V=H+208|0;I=H+128|0;C=H+112|0;R=H+64|0;L=H+48|0;W=H+32|0;y=H+16|0;z=H;Y=H+192|0;D=H+176|0;Z=H+160|0;m=H+144|0;a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;N=+b[(a[A+16>>2]|0)+152>>3];Qf(po(e,100032)|0);F=e+16|0;A:do{if(a[(a[F>>2]|0)+8>>2]|0){X=+oR(e,a[47188]|0,1.0,0.0);c=dR(e,a[47176]|0,195059)|0;E=(i|0)!=0;e:do{if(E){f=i;while(1){l=f;f=f+4|0;l=a[l>>2]|0;if(!l){u=0;break e}if((r[l>>0]|0)!=116)continue;if(!(A1(l,111117)|0)){u=1;break}}}else u=0}while(0);t=c;h=0;l=0;e:while(1){switch(r[t>>0]|0){case 0:break e;case 58:{f=h+1|0;break}case 59:{f=h;l=l+1|0;break}default:f=h}t=t+1|0;h=f}w=(h|0)!=0;if((l|0)!=0&w)if(!(kM(A,e,i,c,h+1|0,X,N)|0))break;else s=137314;else s=c;f=n[(a[F>>2]|0)+115>>0]|0;if(!(f&1))if(!(f&2))if(!(f&8))if(!(f&4)){l=s;t=BR(e,a[47177]|0,s)|0}else{t=106296;f=106288;c=188712;l=188712;o=18}else{t=106280;f=106272;c=188712;l=188712;o=18}else{t=106264;f=106256;c=188712;l=188712;o=18}else{t=106248;f=106240;c=188712;l=188712;o=18}if((o|0)==18){l=a[l>>2]|0;l=BR(e,l,oM(s,f)|0)|0;f=BR(e,a[c>>2]|0,t)|0;if((l|0)==(s|0)){l=s;t=f}else{$i(A,l);t=f}}if((t|0)!=(s|0))er(A,t);if(u<<24>>24){l=(r[l>>0]|0)==0?137314:l;f=(r[t>>0]|0)==0?137314:t;$i(A,137379);er(A,l);g=R;d=a[a[(a[F>>2]|0)+8>>2]>>2]|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));F=pX(R,hM(e)|0,N,0,0)|0;ar(A,a[F+8>>2]|0,a[F>>2]|0,1);dM(F);$i(A,l);if((f|0)!=(l|0))er(A,f);f=a[R+8>>2]|0;if(f|0){M=R+16|0;F=a[R>>2]|0;a[V>>2]=a[M>>2];a[V+4>>2]=a[M+4>>2];a[V+8>>2]=a[M+8>>2];a[V+12>>2]=a[M+12>>2];a[J>>2]=a[F>>2];a[J+4>>2]=a[F+4>>2];a[J+8>>2]=a[F+8>>2];a[J+12>>2]=a[F+12>>2];_C(A,2,V,J,X,N,f)}f=a[R+12>>2]|0;if(!f)break;F=R+32|0;R=(a[R>>2]|0)+((a[R+4>>2]|0)+-1<<4)|0;a[V>>2]=a[F>>2];a[V+4>>2]=a[F+4>>2];a[V+8>>2]=a[F+8>>2];a[V+12>>2]=a[F+12>>2];a[J>>2]=a[R>>2];a[J+4>>2]=a[R+4>>2];a[J+8>>2]=a[R+8>>2];a[J+12>>2]=a[R+12>>2];_C(A,3,V,J,X,N,f);break}f=a[F>>2]|0;if(!w){do{if(!(r[f+115>>0]&3)){if(r[l>>0]|0){$i(A,l);er(A,t);break}$i(A,137314);if(!(r[t>>0]|0)){er(A,137314);break}else{er(A,t);break}}}while(0);c=A+152|0;s=R+4|0;w=R+8|0;u=R+12|0;o=R+32|0;h=R+16|0;t=0;while(1){f=a[(a[F>>2]|0)+8>>2]|0;if((t|0)>=(a[f+4>>2]|0))break A;g=R;d=(a[f>>2]|0)+(t*48|0)|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));f=a[R>>2]|0;l=a[s>>2]|0;do{if(!(a[c>>2]&16384)){lr(A,f,l,0,0,0);f=a[w>>2]|0;if(f|0){M=a[R>>2]|0;a[V>>2]=a[h>>2];a[V+4>>2]=a[h+4>>2];a[V+8>>2]=a[h+8>>2];a[V+12>>2]=a[h+12>>2];a[J>>2]=a[M>>2];a[J+4>>2]=a[M+4>>2];a[J+8>>2]=a[M+8>>2];a[J+12>>2]=a[M+12>>2];_C(A,2,V,J,X,N,f)}f=a[u>>2]|0;if(f|0){M=(a[R>>2]|0)+((a[s>>2]|0)+-1<<4)|0;a[V>>2]=a[o>>2];a[V+4>>2]=a[o+4>>2];a[V+8>>2]=a[o+8>>2];a[V+12>>2]=a[o+12>>2];a[J>>2]=a[M>>2];a[J+4>>2]=a[M+4>>2];a[J+8>>2]=a[M+8>>2];a[J+12>>2]=a[M+12>>2];_C(A,3,V,J,X,N,f)}if((a[(a[(a[F>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(a[w>>2]|0)){if(!(E&(a[u>>2]|0)!=0))break}else if(!E)break;rr(A,i)}}else lr(A,f,l,a[w>>2]|0,a[u>>2]|0,0)}while(0);t=t+1|0}}M=a[(a[f+8>>2]|0)+4>>2]|0;Q=M*48|0;G=m2(Q)|0;Q=m2(Q)|0;v=+(h+2|0)*.5;E=R+4|0;o=L+8|0;h=W+8|0;e=y+8|0;i=z+8|0;u=0;while(1){if((u|0)>=(M|0))break;g=R;d=(a[a[(a[F>>2]|0)+8>>2]>>2]|0)+(u*48|0)|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));f=a[E>>2]|0;a[G+(u*48|0)+4>>2]=f;a[Q+(u*48|0)+4>>2]=f;w=f<<4;s=m2(w)|0;a[G+(u*48|0)>>2]=s;w=m2(w)|0;a[Q+(u*48|0)>>2]=w;c=a[R>>2]|0;a[z>>2]=a[c>>2];a[z+4>>2]=a[c+4>>2];a[z+8>>2]=a[c+8>>2];a[z+12>>2]=a[c+12>>2];c=0;while(1){if((c|0)>=(f+-1|0))break;a[L>>2]=a[z>>2];a[L+4>>2]=a[z+4>>2];a[L+8>>2]=a[z+8>>2];a[L+12>>2]=a[z+12>>2];f=c+1|0;t=(a[R>>2]|0)+(f<<4)|0;a[W>>2]=a[t>>2];a[W+4>>2]=a[t+4>>2];a[W+8>>2]=a[t+8>>2];a[W+12>>2]=a[t+12>>2];t=s+(c<<4)|0;if(!c){a[V>>2]=a[L>>2];a[V+4>>2]=a[L+4>>2];a[V+8>>2]=a[L+8>>2];a[V+12>>2]=a[L+12>>2];a[J>>2]=a[W>>2];a[J+4>>2]=a[W+4>>2];a[J+8>>2]=a[W+8>>2];a[J+12>>2]=a[W+12>>2];BM(Y,V,J);a[t>>2]=a[Y>>2];a[t+4>>2]=a[Y+4>>2];a[t+8>>2]=a[Y+8>>2];a[t+12>>2]=a[Y+12>>2]}else{a[V>>2]=a[y>>2];a[V+4>>2]=a[y+4>>2];a[V+8>>2]=a[y+8>>2];a[V+12>>2]=a[y+12>>2];a[J>>2]=a[W>>2];a[J+4>>2]=a[W+4>>2];a[J+8>>2]=a[W+8>>2];a[J+12>>2]=a[W+12>>2];BM(D,V,J);a[t>>2]=a[D>>2];a[t+4>>2]=a[D+4>>2];a[t+8>>2]=a[D+8>>2];a[t+12>>2]=a[D+12>>2]}U=a[R>>2]|0;B=c+2|0;x=U+(B<<4)|0;a[y>>2]=a[x>>2];a[y+4>>2]=a[x+4>>2];a[y+8>>2]=a[x+8>>2];a[y+12>>2]=a[x+12>>2];g=c+3|0;U=U+(g<<4)|0;a[z>>2]=a[U>>2];a[z+4>>2]=a[U+4>>2];a[z+8>>2]=a[U+8>>2];a[z+12>>2]=a[U+12>>2];p=s+(f<<4)|0;d=s+(B<<4)|0;a[C>>2]=a[L>>2];a[C+4>>2]=a[L+4>>2];a[C+8>>2]=a[L+8>>2];a[C+12>>2]=a[L+12>>2];a[I>>2]=a[W>>2];a[I+4>>2]=a[W+4>>2];a[I+8>>2]=a[W+8>>2];a[I+12>>2]=a[W+12>>2];a[V>>2]=a[x>>2];a[V+4>>2]=a[x+4>>2];a[V+8>>2]=a[x+8>>2];a[V+12>>2]=a[x+12>>2];a[J>>2]=a[U>>2];a[J+4>>2]=a[U+4>>2];a[J+8>>2]=a[U+8>>2];a[J+12>>2]=a[U+12>>2];vM(Z,C,I,V,J);a[d>>2]=a[Z>>2];a[d+4>>2]=a[Z+4>>2];a[d+8>>2]=a[Z+8>>2];a[d+12>>2]=a[Z+12>>2];a[p>>2]=a[Z>>2];a[p+4>>2]=a[Z+4>>2];a[p+8>>2]=a[Z+8>>2];a[p+12>>2]=a[Z+12>>2];b[w+(c<<4)>>3]=+b[L>>3]-+b[t>>3]*v;b[w+(c<<4)+8>>3]=+b[o>>3]-+b[s+(c<<4)+8>>3]*v;b[w+(f<<4)>>3]=+b[W>>3]-+b[p>>3]*v;b[w+(f<<4)+8>>3]=+b[h>>3]-+b[s+(f<<4)+8>>3]*v;b[w+(B<<4)>>3]=+b[y>>3]-+b[d>>3]*v;b[w+(B<<4)+8>>3]=+b[e>>3]-+b[s+(B<<4)+8>>3]*v;c=g;f=a[E>>2]|0}x=s+(c<<4)|0;a[V>>2]=a[y>>2];a[V+4>>2]=a[y+4>>2];a[V+8>>2]=a[y+8>>2];a[V+12>>2]=a[y+12>>2];a[J>>2]=a[z>>2];a[J+4>>2]=a[z+4>>2];a[J+8>>2]=a[z+8>>2];a[J+12>>2]=a[z+12>>2];BM(m,V,J);a[x>>2]=a[m>>2];a[x+4>>2]=a[m+4>>2];a[x+8>>2]=a[m+8>>2];a[x+12>>2]=a[m+12>>2];b[w+(c<<4)>>3]=+b[z>>3]-+b[x>>3]*v;b[w+(c<<4)+8>>3]=+b[i>>3]-+b[s+(c<<4)+8>>3]*v;u=u+1|0}B=s3(l)|0;i=0;d=l;f=l;t=l;l=B;while(1){l=t3(l,107984)|0;if(!l)break;e=(r[l>>0]|0)==0?137314:l;if((e|0)!=(t|0))if(!(r[(a[F>>2]|0)+115>>0]&3)){$i(A,e);er(A,e);t=e}else t=e;s=(i|0)==0;w=i>>>0<2;l=0;while(1){if((l|0)>=(M|0))break;u=a[Q+(l*48|0)>>2]|0;o=a[G+(l*48|0)>>2]|0;h=a[Q+(l*48|0)+4>>2]|0;c=0;while(1){if((c|0)>=(h|0))break;x=u+(c<<4)|0;b[x>>3]=+b[x>>3]+ +b[o+(c<<4)>>3];x=u+(c<<4)+8|0;b[x>>3]=+b[x>>3]+ +b[o+(c<<4)+8>>3];c=c+1|0}lr(A,u,h,0,0,0);l=l+1|0}i=i+1|0;d=s?e:d;f=w?e:f;l=0}l=a[R+8>>2]|0;if(!l)l=0;else{if(f){if(!(r[(a[F>>2]|0)+115>>0]&3)){$i(A,f);er(A,f)}}else f=0;U=R+16|0;x=a[R>>2]|0;a[V>>2]=a[U>>2];a[V+4>>2]=a[U+4>>2];a[V+8>>2]=a[U+8>>2];a[V+12>>2]=a[U+12>>2];a[J>>2]=a[x>>2];a[J+4>>2]=a[x+4>>2];a[J+8>>2]=a[x+8>>2];a[J+12>>2]=a[x+12>>2];_C(A,2,V,J,X,N,l);l=f}t=R+12|0;f=a[t>>2]|0;if(f|0){if((l|0)!=(d|0)?(r[(a[F>>2]|0)+115>>0]&3)==0:0){$i(A,d);er(A,d);f=a[t>>2]|0}U=R+32|0;x=(a[R>>2]|0)+((a[E>>2]|0)+-1<<4)|0;a[V>>2]=a[U>>2];a[V+4>>2]=a[U+4>>2];a[V+8>>2]=a[U+8>>2];a[V+12>>2]=a[U+12>>2];a[J>>2]=a[x>>2];a[J+4>>2]=a[x+4>>2];a[J+8>>2]=a[x+8>>2];a[J+12>>2]=a[x+12>>2];_C(A,3,V,J,X,N,f)}L2(B);f=0;while(1){if((f|0)>=(M|0))break;L2(a[G+(f*48|0)>>2]|0);L2(a[Q+(f*48|0)>>2]|0);f=f+1|0}L2(G);L2(Q)}}while(0);k=H;return}function lM(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+64|0;d=I+48|0;g=I+32|0;v=I+16|0;B=I;C=a[A+16>>2]|0;E=a[C+8>>2]|0;h=C+208|0;if(!((a[h>>2]|0)==0?!(f[C+260>>1]&1):0))e=3;A:do{if((e|0)==3?(Oi(A),o=C+276|0,i=a[o>>2]|0,i|0):0){l=C+280|0;e=a[l>>2]|0;t=C+268|0;c=C+284|0;b=C+272|0;s=C+228|0;w=C+244|0;u=C+212|0;r=a[e>>2]|0;n=1;while(1){if((n|0)>=(i|0))break A;a[t>>2]=a[e+(n<<2)>>2];a[b>>2]=(a[c>>2]|0)+(r<<4);Pi(A,a[h>>2]|0,a[s>>2]|0,a[w>>2]|0,a[u>>2]|0);Oi(A);Z=a[l>>2]|0;r=(a[Z+(n<<2)>>2]|0)+r|0;n=n+1|0;i=a[o>>2]|0;e=Z}}}while(0);a[C+268>>2]=0;a[C+272>>2]=0;h=E+16|0;e=a[h>>2]|0;i=a[e+8>>2]|0;if(!i)r=C+260|0;else{o=a[i>>2]|0;e=a[o>>2]|0;Z=a[o+8>>2]|0;u=o+16|0;a[v>>2]=a[u>>2];a[v+4>>2]=a[u+4>>2];a[v+8>>2]=a[u+8>>2];a[v+12>>2]=a[u+12>>2];o=o+32|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];if(!Z){a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];a[g+8>>2]=a[e+8>>2];a[g+12>>2]=a[e+12>>2]}else{a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2]}r=C+260|0;o=f[r>>1]|0;u=a[C+220>>2]|0;a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];tM(A,d,(o<<8&65535)<<16>>16>>15&255,u,(o<<14&65535)<<16>>16>>15&255);o=a[(a[h>>2]|0)+8>>2]|0;u=a[o>>2]|0;o=(a[o+4>>2]|0)+-1|0;e=a[u+(o*48|0)>>2]|0;i=a[u+(o*48|0)+4>>2]|0;Z=a[u+(o*48|0)+12>>2]|0;w=u+(o*48|0)+16|0;a[v>>2]=a[w>>2];a[v+4>>2]=a[w+4>>2];a[v+8>>2]=a[w+8>>2];a[v+12>>2]=a[w+12>>2];v=u+(o*48|0)+32|0;a[B>>2]=a[v>>2];a[B+4>>2]=a[v+4>>2];a[B+8>>2]=a[v+8>>2];a[B+12>>2]=a[v+12>>2];if(!Z){Z=e+(i+-1<<4)|0;a[g>>2]=a[Z>>2];a[g+4>>2]=a[Z+4>>2];a[g+8>>2]=a[Z+8>>2];a[g+12>>2]=a[Z+12>>2]}else{a[g>>2]=a[B>>2];a[g+4>>2]=a[B+4>>2];a[g+8>>2]=a[B+8>>2];a[g+12>>2]=a[B+12>>2]}e=f[r>>1]|0;Z=a[C+224>>2]|0;a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];tM(A,d,(e<<7&65535)<<16>>16>>15&255,Z,(e<<13&65535)<<16>>16>>15&255);e=a[h>>2]|0}i=a[e+96>>2]|0;n=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;s=C+216|0;l=a[s>>2]|0;w=C+232|0;t=a[w>>2]|0;u=C+248|0;c=a[u>>2]|0;o=C+212|0;b=a[o>>2]|0;if(!((gR(dR(E,a[47186]|0,137308)|0)|0)<<24>>24))e=0;else e=a[(a[h>>2]|0)+8>>2]|0;cM(A,i,11,n,l,t,c,b,e);c=a[(a[h>>2]|0)+108>>2]|0;b=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;t=a[s>>2]|0;l=a[w>>2]|0;i=a[u>>2]|0;n=a[o>>2]|0;if(!((gR(dR(E,a[47186]|0,137308)|0)|0)<<24>>24))e=0;else e=a[(a[h>>2]|0)+8>>2]|0;cM(A,c,11,b,t,l,i,n,e);cM(A,a[(a[h>>2]|0)+100>>2]|0,7,(f[r>>1]<<13&65535)<<16>>16>>15<<16>>16,a[C+224>>2]|0,a[C+240>>2]|0,a[C+256>>2]|0,a[o>>2]|0,0);cM(A,a[(a[h>>2]|0)+104>>2]|0,6,(f[r>>1]<<14&65535)<<16>>16>>15<<16>>16,a[C+220>>2]|0,a[C+236>>2]|0,a[C+252>>2]|0,a[o>>2]|0,0);Si(A);eI(A);k=I;return}function tM(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;l=c;t=a[A+16>>2]|0;if(!(i<<24>>24))r=a[t+208>>2]|0;if(!(n<<24>>24==0?(r|0)==0?(f[t+260>>1]&1)==0:0:0)){a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];uM(A,l)}k=c;return}function cM(A,e,i,f,n,l,t,c,b){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;var s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;u=d;h=a[A+152>>2]|0;if(e|0?r[e+81>>0]|0:0){if(!c)w=0;else{w=qF((S2(c)|0)+11|0)|0;switch(i|0){case 11:{s=108224;break}case 7:{s=101583;break}case 6:{s=101593;break}default:vA(138394,99906,2730,100044)}a[u>>2]=c;a[u+4>>2]=s;P4(w,100060,u)|0}u=A+16|0;c=(a[u>>2]|0)+12|0;o=a[c>>2]|0;a[c>>2]=i;c=(f|0)!=0|(n|0)!=0;s=(h&4|0)==0;if(c&s){bM(A,e);Pi(A,n,l,t,w)}jF(A,i,e);if(b|0)sM(A,e,b);if(c){if(!s){bM(A,e);Pi(A,n,l,t,w)}Oi(A)}L2(w);a[(a[u>>2]|0)+12>>2]=o}k=d;return}function bM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;l=f>>>16^2;a[i+264>>2]=l;t=i+268|0;a[t>>2]=l+2;l=i+272|0;L2(a[l>>2]|0);i=qF(a[t>>2]<<4)|0;a[l>>2]=i;l=e+56|0;t=e+24|0;b[i>>3]=+b[l>>3]-+b[t>>3]*.5;n=e+64|0;e=e+32|0;b[i+8>>3]=+b[n>>3]-+b[e>>3]*.5;b[i+16>>3]=+b[t>>3]*.5+ +b[l>>3];b[i+24>>3]=+b[e>>3]*.5+ +b[n>>3];if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function sM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+96|0;n=u+80|0;l=u+32|0;t=u+16|0;c=u;f=a[e>>2]|0;while(1){s=r[f>>0]|0;if(!(s<<24>>24))break;if(!(Q1(s&255)|0)){w=4;break}else f=f+1|0}if((w|0)==4){o=+b[e+24>>3];s=e+56|0;wM(l,+b[s>>3]+o*.5,+b[e+64>>3]-+b[e+32>>3]*.5);w=l+16|0;wM(t,+b[l>>3]-o,+b[l+8>>3]);a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];w=l+32|0;a[n>>2]=a[s>>2];a[n+4>>2]=a[s+4>>2];a[n+8>>2]=a[s+8>>2];a[n+12>>2]=a[s+12>>2];DR(c,i,n);a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];rr(A,a[(a[A>>2]|0)+336>>2]|0);$i(A,a[e+8>>2]|0);tr(A,l,3)}k=u;return}function wM(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function uM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;t=f>>>16^2;a[i+264>>2]=t;c=i+268|0;a[c>>2]=t+2;t=i+272|0;L2(a[t>>2]|0);i=qF(a[c>>2]<<4)|0;a[t>>2]=i;l=+b[e>>3];b[i>>3]=l+-3.0;n=+b[e+8>>3];b[i+8>>3]=n+-3.0;b[i+16>>3]=l+3.0;b[i+24>>3]=n+3.0;if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function kM(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=+l;var t=0,b=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0;F=k;k=k+256|0;W=F+224|0;L=F+208|0;t=F+192|0;z=F+144|0;Y=F+96|0;D=F+48|0;y=F;b=F+240|0;r=nI(r,f,b)|0;if((r|0)>1){G=e+48|0;Q=Id(a[((a[e>>2]&3|0)==3?e:G)+40>>2]|0)|0;G=Vh(a[((a[e>>2]&3|0)==3?e:G)+40>>2]|0)|0;Q=(Ih(Q)|0)!=0;m=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[t>>2]=G;a[t+4>>2]=Q?100079:100084;a[t+8>>2]=m;ao(3,100089,t)|0;if((r|0)==2)r=1;else M=4}else if((r|0)==1)r=1;else M=4;if((M|0)==4){m=e+16|0;d=a[b>>2]|0;B=d+8|0;v=D+4|0;g=z+8|0;E=z+12|0;C=(i|0)!=0;h=(i|0)==0;I=z+32|0;Z=z+4|0;G=z+16|0;Q=y+4|0;r=0;o=0;while(1){f=a[(a[m>>2]|0)+8>>2]|0;if((o|0)>=(a[f+4>>2]|0))break;t=z;f=(a[f>>2]|0)+(o*48|0)|0;e=t+48|0;do{a[t>>2]=a[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));e=1;s=1.0;u=a[B>>2]|0;A:while(1){f=a[u>>2]|0;if(!f)break;b=u+4|0;w=+c[b>>2];do{if(w<1.0e-05&w>-1.0e-05)f=e;else{$i(A,f);w=+c[b>>2];s=s-w;r=a[u>>2]|0;if(e|0){ZM(z,w,D,y);b=a[D>>2]|0;lr(A,b,a[v>>2]|0,0,0,0);L2(b);if(s<1.0e-05&s>-1.0e-05){M=11;break A}else{f=0;break}}if(s<1.0e-05&s>-1.0e-05){M=13;break A}t=Y;f=y;e=t+48|0;do{a[t>>2]=a[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));w=+c[b>>2];ZM(Y,w/(s+w),D,y);L2(a[Y>>2]|0);f=a[D>>2]|0;lr(A,f,a[v>>2]|0,0,0,0);L2(f);f=0}}while(0);e=f;u=u+12|0}if((M|0)==11){M=0;L2(a[y>>2]|0)}else if((M|0)==13){M=0;u=a[y>>2]|0;lr(A,u,a[Q>>2]|0,0,0,0);L2(u)}if(a[g>>2]|0){$i(A,a[a[B>>2]>>2]|0);er(A,a[a[B>>2]>>2]|0);b=a[z>>2]|0;u=a[g>>2]|0;a[L>>2]=a[G>>2];a[L+4>>2]=a[G+4>>2];a[L+8>>2]=a[G+8>>2];a[L+12>>2]=a[G+12>>2];a[W>>2]=a[b>>2];a[W+4>>2]=a[b+4>>2];a[W+8>>2]=a[b+8>>2];a[W+12>>2]=a[b+12>>2];_C(A,2,L,W,n,l,u)}if(a[E>>2]|0){$i(A,r);er(A,r);b=(a[z>>2]|0)+((a[Z>>2]|0)+-1<<4)|0;u=a[E>>2]|0;a[L>>2]=a[I>>2];a[L+4>>2]=a[I+4>>2];a[L+8>>2]=a[I+8>>2];a[L+12>>2]=a[I+12>>2];a[W>>2]=a[b>>2];a[W+4>>2]=a[b+4>>2];a[W+8>>2]=a[b+8>>2];a[W+12>>2]=a[b+12>>2];_C(A,3,L,W,n,l,u)}do{if((a[(a[(a[m>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(a[g>>2]|0)){if(!(C&(a[E>>2]|0)!=0))break}else if(h)break;rr(A,i)}}while(0);o=o+1|0}lI(d);r=0}k=F;return r|0}function oM(A,e){A=A|0;e=e|0;var i=0,f=0;i=1;A:while(1){switch(r[A>>0]|0){case 0:break A;case 58:{i=i+1|0;break}default:{}}A=A+1|0}f=U((S2(e)|0)+1|0,i)|0;A=f+10|0;if((a[47121]|0)<(f|0)){a[47121]=A;A=y2(a[47122]|0,A)|0;a[47122]=A}else A=a[47122]|0;$1(A,e)|0;while(1){i=i+-1|0;A=a[47122]|0;if(!i)break;f=A+(S2(A)|0)|0;r[f>>0]=58;r[f+1>>0]=0;u3(A,e)|0}return A|0}function hM(A){A=A|0;var e=0,i=0;e=a[47184]|0;A:do{if(!e)i=7;else{e=Uo(A,e)|0;switch(r[e>>0]|0){case 110:if(!(A1(e,135709)|0)){e=1;break A}else{i=7;break A}case 102:if(!(A1(e,100066)|0)){e=2;break A}else{i=7;break A}case 98:{if(!(A1(e,100074)|0)){e=3;break A}if(!(A1(e,111221)|0)){e=4;break A}else{i=7;break A}}default:{i=7;break A}}}}while(0);if((i|0)==7){e=(Ih(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0)!=0;e=e?2:1}return e|0}function dM(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function BM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;f=+b[e>>3]-+b[i>>3];a=+b[e+8>>3]-+b[i+8>>3];r=2.0/+z(+(f*f+.0001+a*a));b[A>>3]=r*a;b[A+8>>3]=-(f*r);return}function vM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0;n=+b[i>>3]-+b[r>>3];l=+b[i+8>>3]-+b[r+8>>3];a=+z(+(l*l+n*n));if(a<.0001){t=+b[e>>3]-+b[f>>3];a=+b[e+8>>3]-+b[f+8>>3];l=a;n=t;a=+z(+(t*t+.0001+a*a))}t=2.0/a;b[A>>3]=l*t;b[A+8>>3]=-(t*n);return}function gM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(1.0-A/e))}function EM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5)}function CM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(A/e))}function IM(A,e,i){A=+A;e=+e;i=+i;e=A/e;return+((!(e<=.5)?1.0-e:e)*i)}function ZM(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0;o=k;k=k+16|0;u=o;w=a[A+4>>2]|0;t=(w+-1|0)/3|0;if((w+-4|0)>>>0<3){a[i+4>>2]=4;a[i>>2]=qF(64)|0;a[r+4>>2]=4;w=qF(64)|0;a[r>>2]=w;mR(u,a[A>>2]|0,3,e,a[i>>2]|0,w)}else{w=qF(t<<3)|0;n=0;l=a[A>>2]|0;f=0.0;while(1){if((n|0)>=(t|0))break;h=+GM(l);b[w+(n<<3)>>3]=h;n=n+1|0;l=l+48|0;f=h+f}e=f*e;s=0;f=0.0;while(1){if((t|0)<=(s|0))break;f=+b[w+(s<<3)>>3]+f;if(f>=e)break;s=s+1|0}c=s*3|0;n=c+4|0;l=i+4|0;a[l>>2]=n;a[i>>2]=qF(n<<4)|0;n=((t-s|0)*3|0)+1|0;t=r+4|0;a[t>>2]=n;a[r>>2]=qF(n<<4)|0;n=0;while(1){if((n|0)>=(a[l>>2]|0))break;d=(a[i>>2]|0)+(n<<4)|0;B=(a[A>>2]|0)+(n<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];n=n+1|0}n=n+-4|0;l=0;while(1){if((l|0)>=(a[t>>2]|0))break;B=(a[r>>2]|0)+(l<<4)|0;d=(a[A>>2]|0)+(n<<4)|0;a[B>>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];n=n+1|0;l=l+1|0}h=+b[w+(s<<3)>>3];mR(u,(a[A>>2]|0)+(c<<4)|0,3,(e-f+h)/h,(a[i>>2]|0)+(c<<4)|0,a[r>>2]|0);L2(w)}k=o;return}function GM(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0;f=+b[A+16>>3];r=+b[A>>3]-f;a=+b[A+24>>3];e=+b[A+8>>3]-a;r=+z(+(e*e+r*r));e=+b[A+32>>3];f=f-e;i=+b[A+40>>3];a=a-i;r=+z(+(a*a+f*f))+r;e=e-+b[A+48>>3];i=i-+b[A+56>>3];return+(r+ +z(+(i*i+e*e)))}function QM(A,e){A=A|0;e=e|0;e=Zd(e)|0;if((r[(a[e+16>>2]|0)+115>>0]|0)==1)e=EH(A)|0;else e=BH(A,e)|0;return DM(e)|0}function mM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;h=k;k=k+1664|0;s=h+1600|0;w=h+800|0;u=h;o=$F(24)|0;a[o+16>>2]=1;c=((a[r+4>>2]|0)+-1|0)/3|0;l=0;t=o;while(1){if((l|0)>=(c|0))break;b=l*3|0;n=0;while(1){if((n|0)==4)break;d=s+(n<<4)|0;B=(a[r>>2]|0)+(n+b<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];n=n+1|0}l=l+1|0;t=LM(s,t)|0}n=0;l=0;t=o;while(1){if(!t){l=o;n=o;break}c=a[t+16>>2]|0;b=w+(n<<4)|0;r=u+(n<<4)|0;WM(l,t,c,b,r,f);n=n+1|0;if(!((n|0)==50|(c|0)==0)){l=t;t=c;continue}yM(A,e,i,n,w,u);a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];l=t;n=1;t=c}while(1){if(!l)break;B=a[l+16>>2]|0;L2(n);l=B;n=B}k=h;return}function LM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+144|0;f=n+128|0;i=n+64|0;r=n;if(!(wI(A)|0)){mR(f,A,3,.5,i,r);i=LM(r,LM(i,e)|0)|0}else{i=e+16|0;if((a[i>>2]|0)==1){a[i>>2]=0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2]}i=A+48|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];i=YM(f,e)|0}k=n;return i|0}function WM(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0;d=k;k=k+96|0;w=d+80|0;s=d+64|0;c=d+48|0;u=d+32|0;o=d+16|0;h=d;a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];do{if(A){a[o>>2]=a[A>>2];a[o+4>>2]=a[A+4>>2];a[o+8>>2]=a[A+8>>2];a[o+12>>2]=a[A+12>>2];if(!i){l=+b[u>>3];b[h>>3]=l*2.0-+b[o>>3];t=+b[u+8>>3];b[h+8>>3]=t*2.0-+b[o+8>>3];break}else{a[h>>2]=a[i>>2];a[h+4>>2]=a[i+4>>2];a[h+8>>2]=a[i+8>>2];a[h+12>>2]=a[i+12>>2];l=+b[u>>3];t=+b[u+8>>3];break}}else{a[h>>2]=a[i>>2];a[h+4>>2]=a[i+4>>2];a[h+8>>2]=a[i+8>>2];a[h+12>>2]=a[i+12>>2];l=+b[u>>3];b[o>>3]=l*2.0-+b[h>>3];t=+b[u+8>>3];b[o+8>>3]=t*2.0-+b[h+8>>3]}}while(0);a[c>>2]=a[o>>2];a[c+4>>2]=a[o+4>>2];a[c+8>>2]=a[o+8>>2];a[c+12>>2]=a[o+12>>2];a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[w>>2]=a[h>>2];a[w+4>>2]=a[h+4>>2];a[w+8>>2]=a[h+8>>2];a[w+12>>2]=a[h+12>>2];v=+zM(c,s,w);B=+D(+v)*n;n=+M(+v)*n;b[r>>3]=l+B;b[r+8>>3]=t+n;b[f>>3]=l-B;b[f+8>>3]=t-n;k=d;return}function yM(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0;t=r<<1;c=a[i>>2]|0;l=0;b=0;while(1){if((l|0)>=(c|0))break;s=(a[(a[e>>2]|0)+(l<<2)>>2]|0)+b|0;l=l+1|0;b=s}s=c+1|0;a[i>>2]=s;s=eV(a[e>>2]|0,s<<2)|0;a[e>>2]=s;a[s+(l<<2)>>2]=t;a[A>>2]=eV(a[A>>2]|0,b+t<<4)|0;e=t+-1+b|0;l=0;while(1){if((l|0)>=(r|0))break;s=(a[A>>2]|0)+(l+b<<4)|0;c=f+(l<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];s=(a[A>>2]|0)+(e-l<<4)|0;c=n+(l<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];l=l+1|0}return}function zM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;a=+b[e+8>>3];r=+b[e>>3];f=+X(+(+b[i+8>>3]-a),+(+b[i>>3]-r));r=+X(+(+b[A+8>>3]-a),+(+b[A>>3]-r));f=f-r;return+((f>0.0?f+-6.283185307179586:f)*.5+r)}function YM(A,e){A=A|0;e=e|0;var i=0;i=$F(24)|0;a[i+16>>2]=0;a[i>>2]=a[A>>2];a[i+4>>2]=a[A+4>>2];a[i+8>>2]=a[A+8>>2];a[i+12>>2]=a[A+12>>2];a[e+16>>2]=i;return i|0}function DM(A){A=A|0;var e=0,i=0,f=0,a=0,n=0;e=A;a=A;A:while(1){f=0;while(1){i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A;if(f<<24>>24){n=5;break}if(i<<24>>24!=92)break;else f=1}e:do{if((n|0)==5){n=0;switch(i<<24>>24|0){case 114:{i=13;break e}case 108:case 110:{i=10;break e}default:break e}}}while(0);r[a>>0]=i;a=a+1|0}r[a>>0]=0;return A|0}function MM(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;i=a[A>>2]|0;while(1){n=r[i>>0]|0;if(!(n<<24>>24)){f=0;break}f=n<<24>>24;if(!(n<<24>>24==44|(Q1(f)|0)!=0)){l=5;break}i=i+1|0}A:do{if((l|0)==5){switch(f|0){case 0:{f=0;break A}case 41:case 40:{i=i+1|0;break A}default:{}}l=e+4|0;t=e+8|0;while(1){if((FM(n<<24>>24)|0)<<24>>24){f=1;break A}f=a[l>>2]|0;if(f>>>0>=(a[t>>2]|0)>>>0){bo(e,1)|0;f=a[l>>2]|0}a[l>>2]=f+1;r[f>>0]=n;f=i+1|0;i=f;n=r[f>>0]|0}}}while(0);a[A>>2]=i;return f|0}function FM(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 VM(A,e){A=A|0;e=e|0;return JM(a[A>>2]|0,a[A+160>>2]|0,a[A+156>>2]|0,e)|0}function JM(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+160|0;b=u+20|0;s=u+16|0;w=u;a[b>>2]=0;a[s>>2]=0;co(w,128,u+24|0);wo(w,f)|0;n=w+4|0;f=a[n>>2]|0;if(f>>>0>=(a[w+8>>2]|0)>>>0){bo(w,1)|0;f=a[n>>2]|0}r[f>>0]=0;l=a[w>>2]|0;a[n>>2]=l;t=A+300|0;c=A+296|0;f=0;n=l;A:while(1){if(f){f=1;break}f=b3(n,a[t>>2]|0,b)|0;if(!f){f=0;break}n=b3(f,a[c>>2]|0,s)|0;l=(n|0)!=0;if(l)f=b3(0,a[c>>2]|0,s)|0;else f=0;switch(((f|0)!=0&1)+(l&1)&3){case 2:{n=NM(A,n,0)|0;f=NM(A,f,i)|0;l=(n|0)>(f|0);f=(f&n|0)>-1&(((l?n:f)|0)>=(e|0)&((l?f:n)|0)<=(e|0));n=0;continue A}case 1:{f=(NM(A,n,e)|0)==(e|0);n=0;continue A}default:{f=0;n=0;continue A}}}uo(w);k=u;return f|0}function NM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=r[e>>0]|0;if(!(l<<24>>24==97?(A1(e,100396)|0)==0:0))f=3;A:do{if((f|0)==3){if((XM(e)|0)<<24>>24){i=q3(e)|0;break}n=a[A+308>>2]|0;if(!n)i=-1;else{A=a[A+312>>2]|0;i=1;while(1){if((i|0)>(A|0)){i=-1;break A}f=a[n+(i<<2)>>2]|0;if(l<<24>>24==(r[f>>0]|0)?(A1(e,f)|0)==0:0)break A;i=i+1|0}}}}while(0);return i|0}function XM(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=1;break}if(((e&255)+-48|0)>>>0<10)A=A+1|0;else{A=0;break}}return A|0}function RM(A,e){A=A|0;e=e|0;if((+b[A+16>>3]>=+b[e>>3]?+b[e+16>>3]>=+b[A>>3]:0)?+b[A+24>>3]>=+b[e+8>>3]:0)A=+b[e+24>>3]>=+b[A+8>>3]&1;else A=0;return A|0}function HM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;A:do{if((a[A+156>>2]|0)>=2?(f=dR(i,a[47167]|0,195059)|0,(VM(A,f)|0)<<24>>24==0):0)if(!(r[f>>0]|0))if(!(Ah(e,i)|0))f=1;else{f=Ah(e,i)|0;while(1){if(!f){f=0;break A}n=dR(f,a[47190]|0,195059)|0;if(!(r[n>>0]|0)){f=1;break A}if((VM(A,n)|0)<<24>>24){f=1;break A}f=eh(e,f,i)|0}}else f=0;else f=1}while(0);return f|0}function pM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+64|0;r=i+32|0;f=i;A=(a[A+16>>2]|0)+48|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[f+16>>2]=a[A+16>>2];a[f+20>>2]=a[A+20>>2];a[f+24>>2]=a[A+24>>2];a[f+28>>2]=a[A+28>>2];a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];a[r+16>>2]=a[e+16>>2];a[r+20>>2]=a[e+20>>2];a[r+24>>2]=a[e+24>>2];a[r+28>>2]=a[e+28>>2];e=(RM(f,r)|0)&255;k=i;return e|0}function UM(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0,d=0,B=0,v=0,g=0.0,E=0.0;d=a[A+152>>2]|0;B=AI(A)|0;a[B+4>>2]=2;a[B+8>>2]=e;a[B+12>>2]=8;if(d&16777216|0){if((l[(a[(Id(e)|0)+16>>2]|0)+178>>1]|0)>2){i=+b[(a[(a[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0)}else i=0.0;b[B+168>>3]=i}c=e+16|0;TM(A,a[(a[c>>2]|0)+104>>2]|0,e);do{if(d&4259840|0){if((a[B+208>>2]|0)==0?(f[B+260>>1]&1)==0:0)break;o=sN(e)|0;s=a[c>>2]|0;i=+b[s+16>>3];h=+b[s+24>>3];s=jM(e)|0;A:do{if((o|2|0)==3){u=a[(a[c>>2]|0)+12>>2]|0;if(!((SM(u)|0)<<24>>24))r=0;else r=(a[u+4>>2]|s|0)!=0;if(!((d&524288|0)==0|((u|0)==0|r))){n=u+8|0;k=a[n>>2]|0;k=(k|0)<3?1:k;t=u+4|0;w=a[t>>2]|0;w=(w|0)>1?w:1;o=a[u+44>>2]|0;r=po(e,102705)|0;if(!r)r=0;else r=q3(r)|0;r=(r+-4|0)>>>0>56?20:r;if(!(a[t>>2]|s)){a[B+264>>2]=0;n=qF(32)|0;r=a[c>>2]|0;E=+b[r+88>>3];b[n>>3]=i-E;g=+b[r+80>>3]*.5;b[n+8>>3]=h-g;b[n+16>>3]=E+i;b[n+24>>3]=g+h;r=2;break}n=a[n>>2]|0;if(((n|0)<3?+b[u+32>>3]==0.0:0)?+b[u+24>>3]==0.0:0){n=B+264|0;if(a[u>>2]|0){a[n>>2]=1;n=qF(32)|0;b[n>>3]=i;b[n+8>>3]=h;r=(w<<1)+-1|0;b[n+16>>3]=+b[o+(r<<4)>>3]+i;b[n+24>>3]=+b[o+(r<<4)+8>>3]+h;r=2;break}a[n>>2]=2;n=(w<<1)+-1|0;n=PM(+b[o+(n<<4)>>3],+b[o+(n<<4)+8>>3],r)|0;t=0;while(1){if((t|0)>=(r|0))break A;o=n+(t<<4)|0;b[o>>3]=+b[o>>3]+i;o=n+(t<<4)+8|0;b[o>>3]=+b[o>>3]+h;t=t+1|0}}w=U(n,w+-1|0)|0;a[B+264>>2]=2;if((n|0)<(r|0)){n=qF(k<<4)|0;r=0;while(1){if((r|0)>=(k|0)){r=k;break A}u=r+w|0;b[n+(r<<4)>>3]=+b[o+(u<<4)>>3]+i;b[n+(r<<4)+8>>3]=+b[o+(u<<4)+8>>3]+h;r=r+1|0}}else{s=(n|0)/(r|0)|0;n=qF(r<<4)|0;t=0;c=0;while(1){if((t|0)>=(r|0))break A;k=c+w|0;b[n+(t<<4)>>3]=+b[o+(k<<4)>>3]+i;b[n+(t<<4)+8>>3]=+b[o+(k<<4)+8>>3]+h;t=t+1|0;c=c+s|0}}}else v=31}else v=31}while(0);if((v|0)==31){a[B+264>>2]=0;n=qF(32)|0;r=a[c>>2]|0;b[n>>3]=i-+b[r+88>>3];E=+b[r+80>>3]*.5;b[n+8>>3]=h-E;b[n+16>>3]=+b[r+96>>3]+i;b[n+24>>3]=E+h;r=2}if(!(d&8192))zi(A,n,n,r)|0;a[B+272>>2]=n;a[B+268>>2]=r}}while(0);Qf(po(e,100032)|0);xi(A,e);return}function xM(A){A=A|0;Ti(A);eI(A);return}function TM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+144|0;c=s;f=po(i,141055)|0;t=po(i,141101)|0;b=po(i,141088)|0;co(c,128,s+16|0);if(!e)l=0;else l=a[e>>2]|0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))f=po(i,111477)|0;n=rI(A,i,c)|0;if(!t)e=0;else e=QM(t,i)|0;iI(A,l,f,e,b,n,i)|0;L2(e);uo(c);k=s;return}function jM(A){A=A|0;var e=0,i=0;A=BR(A,a[47157]|0,195059)|0;A:do{if(!(r[A>>0]|0))A=0;else{HI(A)|0;A=0;e=188228;while(1){i=a[e>>2]|0;if(!i)break A;i=(A1(i,111101)|0)==0;A=i?1:A;e=e+4|0}}}while(0);return A|0}function SM(A){A=A|0;var e=0.0;if(((a[A+8>>2]|0)==4?(e=+b[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+b[A+24>>3]==0.0:0)A=+b[A+32>>3]==0.0&1;else A=0;return A|0}function PM(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0,a=0.0,n=0;a=6.283185307179586/+(i|0);n=qF(i<<4)|0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;b[n+(f<<4)>>3]=+D(+r)*A;b[n+(f<<4)+8>>3]=+M(+r)*e;r=r+a;f=f+1|0}return n|0}function OM(A,e){A=A|0;e=e|0;var i=0;A:do{if((a[A+156>>2]|0)>=2?(i=dR(e,Yo(e,0,101510,0)|0,195059)|0,(VM(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=cd(e)|0;while(1){if(!i){i=0;break A}if((HM(A,e,i)|0)<<24>>24){i=1;break A}i=bd(e,i)|0}}else i=0;else i=1}while(0);return i|0}function KM(A,e){A=A|0;e=e|0;var i=0;i=AI(A)|0;a[i+4>>2]=1;a[i+8>>2]=e;a[i+12>>2]=1;TM(A,a[(a[e+16>>2]|0)+12>>2]|0,e);Ni(A,e);return}function _M(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;A=po(A,141082)|0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){HI(A)|0;i=188228;A=0;while(1){while(1){f=a[i>>2]|0;if(!f){i=188228;break A}if(!(A1(f,111101)|0)){n=10;break}if(!(A1(f,106334)|0)){f=i;n=12;break}if(!(A1(f,106341)|0)){f=i;n=14;break}if(!(A1(f,106316)|0)){f=i;n=16;break}i=i+4|0}if((n|0)==10){i=i+4|0;A=A|1;continue}else if((n|0)==12){while(1){l=f;f=f+4|0;n=a[f>>2]|0;a[l>>2]=n;if(!n)break;else n=12}A=A|3;continue}else if((n|0)==14){while(1){n=f;f=f+4|0;l=a[f>>2]|0;a[n>>2]=l;if(!l)break;else n=14}A=A|64;continue}else if((n|0)==16){while(1){n=f;f=f+4|0;l=a[f>>2]|0;a[n>>2]=l;if(!l)break;else n=16}A=A|4;continue}}}else{i=0;A=0}}while(0);a[e>>2]=A;return i|0}function qM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,b=0,s=0;b=k;k=k+16|0;l=b;t=b+4|0;a[t>>2]=0;s=(nI(A,0,t)|0)==0;t=a[t>>2]|0;if((s?(f=a[t>>2]|0,(f|0)>=2):0)?(n=t+8|0,(a[a[n>>2]>>2]|0)!=0):0){if((f|0)>2)ao(0,100415,l)|0;s=$F((S2(A)|0)+1|0)|0;a[e>>2]=s;$1(s,a[a[n>>2]>>2]|0)|0;if(!(a[(a[n>>2]|0)+12>>2]|0))a[e+4>>2]=0;else{s=a[e>>2]|0;s=s+((S2(s)|0)+1)|0;a[e+4>>2]=s;$1(s,a[(a[n>>2]|0)+12>>2]|0)|0}A=a[n>>2]|0;do{if(!(r[A+8>>0]|0))if(!(r[A+20>>0]|0)){c[i>>2]=0.0;break}else{c[i>>2]=1.0-+c[A+16>>2];break}else a[i>>2]=a[A+4>>2]}while(0);lI(t);A=1}else{a[e>>2]=0;lI(t);A=0}k=b;return A|0}function $M(A,e){A=A|0;e=e|0;Xi(A,e);eI(A);return}function AF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,s=0.0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;I=k;k=k+96|0;o=I+48|0;B=I+16|0;C=I+8|0;E=I;v=I+80|0;a[v>>2]=1e3;f=$F(16e3)|0;g=A+256|0;r=1;l=1;n=0;h=0;d=a[e+8>>2]|0;while(1){if((h|0)>=(a[e>>2]|0))break;i=a[d>>2]|0;A:do{switch(i|0){case 1:case 0:{w=d+80|0;a[B>>2]=a[w>>2];a[B+4>>2]=a[w+4>>2];a[B+8>>2]=a[w+8>>2];a[B+12>>2]=a[w+12>>2];a[B+16>>2]=a[w+16>>2];a[B+20>>2]=a[w+20>>2];a[B+24>>2]=a[w+24>>2];a[B+28>>2]=a[w+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{G=d+8|0;Q=d+24|0;b[f>>3]=+b[G>>3]-+b[Q>>3];w=d+16|0;Z=d+32|0;b[f+8>>3]=+b[w>>3]-+b[Z>>3];b[f+16>>3]=+b[Q>>3]+ +b[G>>3];b[f+24>>3]=+b[Z>>3]+ +b[w>>3];fr(A,f,2,(i|0)==0?l:0);i=l}break}case 3:case 2:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;ar(A,f,a[i>>2]|0,(a[d>>2]|0)==2?l:0);i=l}break}case 5:case 4:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;lr(A,f,a[i>>2]|0,0,0,(a[d>>2]|0)==4?l&255:0);i=l}break}case 6:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;tr(A,f,a[i>>2]|0);i=l}break}case 7:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{b[f>>3]=+b[d+8>>3];b[f+8>>3]=+b[d+16>>3];i=a[d+112>>2]|0;a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];qi(A,o,i);i=l}break}case 8:{er(A,a[d+8>>2]|0);i=1;break}case 9:{$i(A,a[d+8>>2]|0);i=1;break}case 13:{if((a[d+8>>2]|0)!=2){i=d+16|0;G=a[i+36>>2]|0;Q=a[G+12>>2]|0;u=+c[G+8>>2];i=~~(+X(+(+b[d+40>>3]-+b[d+24>>3]),+(+b[d+32>>3]-+b[i>>3]))*57.29577951308232);er(A,a[G+4>>2]|0);ir(A,Q,i,u);i=2;break A}Q=a[d+68>>2]|0;l=a[Q+4>>2]|0;w=a[Q+12>>2]|0;u=+c[Q+8>>2];t=+b[d+40>>3];s=+b[d+16>>3];if(t==s?+b[d+48>>3]==+b[d+24>>3]:0)i=0;else i=~~(+V(+((s-t)/+b[d+32>>3]))*57.29577951308232);er(A,l);ir(A,w,i,u);i=3;break}case 14:{ao(0,100481,E)|0;i=l;break}case 12:{if(!r){r=0;i=l}else{ao(0,100521,C)|0;r=0;i=l}break}case 11:{HI(a[d+8>>2]|0)|0;rr(A,188228);n=188228;i=l;break}default:i=l}}while(0);l=i;h=h+1|0;d=d+120|0}if(n|0)rr(A,a[(a[A>>2]|0)+336>>2]|0);L2(f);k=I;return}function eF(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=a[e>>2]|0;f=n<<1;f=(f|0)>(r|0)?f:r;if((n|0)<(r|0)){A=eV(A,f<<4)|0;a[e>>2]=f}e=0;while(1){if((e|0)>=(r|0))break;b[A+(e<<4)>>3]=+b[i+(e*24|0)>>3];b[A+(e<<4)+8>>3]=+b[i+(e*24|0)+8>>3];e=e+1|0}return A|0}function iF(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;a[A>>2]=a[e+4>>2];a[A+4>>2]=i;return}function rF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=e+16|0;f=1;while(1){e=a[n>>2]|0;if((f|0)>(a[e+180>>2]|0))break;i=a[(a[e+184>>2]|0)+(f<<2)>>2]|0;rF(A,i);e=po(i,140823)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,137729)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,140977)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,101418)|0;if(e|0?r[e>>0]|0:0)er(A,e);e=po(i,101446)|0;if(e|0?r[e>>0]|0:0)$i(A,e);f=f+1|0}return}function fF(A){A=A|0;var e=0,i=0,r=0;e=a[47127]|0;if(!e){e=jk(20628,a[4581]|0)|0;a[47127]=e}if(!(W5[a[e>>2]&63](e,A,4)|0)){i=a[47127]|0;r=a[i>>2]|0;e=s3(A)|0;W5[r&63](i,e,1)|0;e=1}else e=0;return e|0}function aF(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function nF(A){A=A|0;var e=0;e=a[47128]|0;if(!A){if((e|0)>0?(e=e+-1|0,a[47128]=e,(e|0)==0):0){D4(1,a[47129]|0)|0;L2(a[47129]|0)}}else{a[47128]=e+1;if(!e){a[47129]=s3(D4(1,0)|0)|0;D4(1,153563)|0}}return}function lF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+96|0;d=g+72|0;h=g+56|0;o=g+48|0;v=g+32|0;B=g+24|0;r=g+8|0;i=g;if(0)tR();do{if((Td(e,137483,0,1)|0)!=0?(u=e+16|0,(a[(a[u>>2]|0)+8>>2]|0)!=0):0){tF(e);cF(A,e);bF(A,e);nF(1);t=A+56|0;c=A+184|0;s=A+192|0;w=A+28|0;l=yg(A)|0;A:while(1){if(!l){n=33;break}i=a[t>>2]|0;if(!i){a[l+20>>2]=0;i=0}else{a[l+20>>2]=a[i+8>>2];i=a[i+12>>2]|0}a[l+24>>2]=i;a[l+12>>2]=A;a[l+28>>2]=a[c>>2];a[l+620>>2]=25764;a[l+624>>2]=14;if(!(a[(a[u>>2]|0)+8>>2]|0)){n=13;break}r=l+52|0;n=mi(l,a[r>>2]|0)|0;a[l+56>>2]=n;switch(n|0){case 999:{n=16;break A}case 21:{i=1;break}case 24:{i=520;break}default:i=sF(e)|0}f=l+152|0;a[f>>2]=a[f>>2]|i;i=a[s>>2]|0;do{if(!i)n=24;else{if(a[i+152>>2]&32|0?(A1(a[r>>2]|0,a[i+52>>2]|0)|0)==0:0){i=a[47130]|0;if(!i){n=27;break}a[i+8>>2]=l;a[l+36>>2]=a[i+36>>2];n=29;break}Wi(i);a[s>>2]=0;a[w>>2]=0;n=24}}while(0);if((n|0)==24){a[47130]=0;n=27}if((n|0)==27?(n=0,(Li(l)|0)==0):0){a[s>>2]=l;n=29}if((n|0)==29){a[l+8>>2]=0;a[l+104>>2]=25876;wF(l);uF(l);kF(l,e);oF(l,e);hF(l,e);if(!(a[f>>2]&128))BI(l,e);a[47130]=l}l=zg(A)|0}if((n|0)==13){ao(1,100679,B)|0;nF(0);if(!0){i=-1;break}i=a[15712]|0;B=Vh(e)|0;E=+cR();a[v>>2]=B;b[v+8>>3]=E;f3(i,100650,v)|0;i=-1;break}else if((n|0)==16){a[o>>2]=a[r>>2];ao(1,100700,o)|0;nF(0);if(!0){i=-1;break}i=a[15712]|0;v=Vh(e)|0;E=+cR();a[h>>2]=v;b[h+8>>3]=E;f3(i,100650,h)|0;i=-1;break}else if((n|0)==33){nF(0);if(!0){i=0;break}i=a[15712]|0;v=Vh(e)|0;E=+cR();a[d>>2]=v;b[d+8>>3]=E;f3(i,100650,d)|0;i=0;break}}else n=5}while(0);if((n|0)==5){ao(1,100602,i)|0;if(!0)i=-1;else{i=a[15712]|0;v=Vh(e)|0;E=+cR();a[r>>2]=v;b[r+8>>3]=E;f3(i,100650,r)|0;i=-1}}k=g;return i|0}function tF(A){A=A|0;var e=0;e=cd(A)|0;while(1){if(!e)break;EF(A,e);e=bd(A,e)|0}return}function cF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+32|0;c=u+24|0;f=u+16|0;t=u+8|0;w=u;a[A+168>>2]=e;n=A+293|0;r[n>>0]=0;i=po(e,105496)|0;if(i|0?(a[f>>2]=t,a[f+4>>2]=w,l=J3(i,105503,f)|0,(l|0)>0):0){o=+b[t>>3]*72.0;i=A+208|0;b[i>>3]=o;b[A+200>>3]=o;if((l|0)!=1)b[i>>3]=+b[w>>3]*72.0;r[n>>0]=1}f=A+292|0;r[f>>0]=0;i=po(e,101102)|0;if(i|0?(a[c>>2]=t,a[c+4>>2]=w,s=J3(i,105503,c)|0,(s|0)>0):0){o=+b[t>>3]*72.0;i=A+224|0;b[i>>3]=o;b[A+216>>3]=o;if((s|0)!=1)b[i>>3]=+b[w>>3]*72.0;r[f>>0]=1}i=A+294|0;r[i>>0]=0;f=A+232|0;n=e+16|0;w=(a[(a[n>>2]|0)+8>>2]|0)+48|0;a[f>>2]=a[w>>2];a[f+4>>2]=a[w+4>>2];a[f+8>>2]=a[w+8>>2];a[f+12>>2]=a[w+12>>2];f=a[(a[n>>2]|0)+8>>2]|0;if(+b[f+48>>3]>.001?+b[f+56>>3]>.001:0)r[i>>0]=1;a[A+288>>2]=r[f+81>>0]|0?90:0;i=A+196|0;a[i>>2]=101106;f=po(e,101109)|0;if(f|0?r[f>>0]|0:0)a[i>>2]=f;w=A+256|0;s=(a[n>>2]|0)+16|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];a[w+8>>2]=a[s+8>>2];a[w+12>>2]=a[s+12>>2];a[w+16>>2]=a[s+16>>2];a[w+20>>2]=a[s+20>>2];a[w+24>>2]=a[s+24>>2];a[w+28>>2]=a[s+28>>2];a[47141]=Yo(e,0,101472,0)|0;a[47142]=Yo(e,0,101463,0)|0;a[A+320>>2]=BR(0,a[47151]|0,107994)|0;b[A+328>>3]=+oR(0,a[47150]|0,14.0,1.0);a[A+336>>2]=20664;a[A+188>>2]=Vh(e)|0;k=u;return}function bF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=A+304|0;f=a[i>>2]|0;if(f|0){L2(f);a[i>>2]=0}f=A+308|0;i=a[f>>2]|0;if(i|0){L2(i);a[f>>2]=0}n=A+316|0;i=a[n>>2]|0;if(i|0){L2(i);a[n>>2]=0}i=po(e,100853)|0;if(i){a[A+312>>2]=vF(A,e,i)|0;i=po(e,100860)|0;if(i|0?r[i>>0]|0:0)a[n>>2]=gF(A,i)|0}else{a[f>>2]=0;a[A+312>>2]=1}return}function sF(A){A=A|0;A=po(A,100821)|0;A:do{if(!A)A=0;else switch(r[A>>0]|0){case 110:{if(!(A1(A+1|0,100833)|0))A=1;else{A=0;break A}break}case 101:{if(!(A1(A+1|0,100843)|0))A=16;else{A=0;break A}break}default:{A=0;break A}}}while(0);return A|0}function wF(A){A=A|0;var e=0.0,i=0;i=a[A>>2]|0;if(!(r[i+292>>0]|0)){if((a[A+56>>2]|0)==300)e=+b[(a[A+68>>2]|0)+8>>3];else e=4.0;b[A+248>>3]=e;b[A+240>>3]=e}else{A=A+240|0;i=i+216|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2]}return}function uF(A){A=A|0;var e=0;e=a[A>>2]|0;A:do{if(!(r[e+293>>0]|0))switch(a[A+56>>2]|0){case 300:{e=A+416|0;A=(a[A+84>>2]|0)+8|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];break A}case 30:case 21:case 22:case 4:case 3:case 2:{b[A+424>>3]=36.0;b[A+416>>3]=36.0;break A}default:{e=A+416|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;break A}}else{A=A+416|0;e=e+200|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function kF(A,e){A=A|0;e=e|0;var i=0.0,f=0;f=a[(a[A>>2]|0)+192>>2]|0;i=+b[(a[(a[e+16>>2]|0)+8>>2]|0)+24>>3];do{if(!(i!=0.0)){if(f|0?r[f+128>>0]|0:0){A=A+432|0;f=f+112|0;a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];break}e=A+432|0;if((a[A+56>>2]|0)==300){A=(a[A+84>>2]|0)+40|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];break}else{b[A+440>>3]=96.0;b[e>>3]=96.0;break}}else{b[A+440>>3]=i;b[A+432>>3]=i}}while(0);return}function oF(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+112|0;v=Q+80|0;g=Q+56|0;B=Q+40|0;E=Q+32|0;C=Q+24|0;I=Q+16|0;Z=Q+8|0;G=Q;s=a[A>>2]|0;u=+b[s+272>>3];h=+b[s+280>>3];o=+b[s+256>>3];d=+b[s+264>>3];f=+b[A+240>>3];i=o-f;b[A+208>>3]=i;l=+b[A+248>>3];t=d-l;b[A+216>>3]=t;f=f+u;b[A+224>>3]=f;l=l+h;b[A+232>>3]=l;i=f-i;t=l-t;b[I>>3]=1.0;n=a[(a[e+16>>2]|0)+8>>2]|0;l=+b[n+64>>3];do{if(l>.001?(c=+b[n+72>>3],c>.001):0){i=i==0.0?l:i;f=t==0.0?c:t;if(!(lf&(l>i&(r[n+80>>0]|0)!=0)):0){c=i;t=f;l=1.0;break}w=l/i>3]=l;c=i;t=f}else{c=i;l=1.0}}while(0);f=(o+u)*.5;b[Z>>3]=f;i=(d+h)*.5;b[G>>3]=i;a[A+360>>2]=a[s+288>>2];c=l*c;b[E>>3]=c;t=l*t;b[C>>3]=t;n=po(e,100752)|0;if(n){s=m2((S2(n)|0)+1|0)|0;w=m2((S2(n)|0)+1|0)|0;a[B>>2]=E;a[B+4>>2]=C;a[B+8>>2]=I;a[B+12>>2]=s;do{if((J3(n,100761,B)|0)==4){n=vd(a[e+60>>2]|0,s,0)|0;if(n|0){g=a[n+16>>2]|0;b[Z>>3]=+b[g+16>>3];b[G>>3]=+b[g+24>>3]}}else{a[g>>2]=E;a[g+4>>2]=C;a[g+8>>2]=I;a[g+12>>2]=s;a[g+16>>2]=w;if((J3(n,100781,g)|0)!=4){a[v>>2]=E;a[v+4>>2]=C;a[v+8>>2]=I;a[v+12>>2]=Z;a[v+16>>2]=G;J3(n,100801,v)|0;break}n=vd(a[e+60>>2]|0,s,0)|0;if(n|0){g=a[n+16>>2]|0;b[Z>>3]=+b[g+16>>3];b[G>>3]=+b[g+24>>3]}}}while(0);L2(s);L2(w);c=+b[E>>3];t=+b[C>>3];l=+b[I>>3];f=+b[Z>>3];i=+b[G>>3]}b[A+368>>3]=c;b[A+376>>3]=t;b[A+352>>3]=l;b[A+336>>3]=f;b[A+344>>3]=i;k=Q;return}function hF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0,R=0.0,H=0.0;N=k;k=k+224|0;F=N+200|0;G=N+168|0;y=N+144|0;M=N+120|0;z=N+96|0;Y=N+64|0;i=N+184|0;E=N+176|0;C=N+160|0;Z=N+136|0;I=N+112|0;Q=N+80|0;m=N+48|0;L=N+32|0;W=N+16|0;V=N+8|0;J=N;g=a[A>>2]|0;a[Y>>2]=0;a[Y+4>>2]=0;a[Y+8>>2]=0;a[Y+12>>2]=0;D=A+368|0;a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];D=A+360|0;if(a[D>>2]|0){a[F>>2]=a[M>>2];a[F+4>>2]=a[M+4>>2];a[F+8>>2]=a[M+8>>2];a[F+12>>2]=a[M+12>>2];dF(i,F);a[M>>2]=a[i>>2];a[M+4>>2]=a[i+4>>2];a[M+8>>2]=a[i+8>>2];a[M+12>>2]=a[i+12>>2]}v=A+416|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];if((r[g+294>>0]|0)!=0?(a[A+152>>2]&32|0)!=0:0){l=+b[g+232>>3]-+b[z>>3]*2.0;b[y>>3]=l;c=+b[g+240>>3]-+b[z+8>>3]*2.0;o=y+8|0;b[o>>3]=c;if(!(l<.0001)){u=+b[M>>3];i=~~(u/l);f=A+164|0;a[f>>2]=i;if(u-l*+(i|0)>.0001){i=i+1|0;a[f>>2]=i}}else{a[A+164>>2]=1;i=1}if(!(c<.0001)){n=+b[M+8>>3];f=~~(n/c);t=A+168|0;a[t>>2]=f;if(n-c*+(f|0)>.0001){f=f+1|0;a[t>>2]=f}}else{a[A+168>>2]=1;f=1;n=+b[M+8>>3]}a[A+204>>2]=U(f,i)|0;u=+b[(+b[M>>3]>3];b[M>>3]=u;i=o;f=M;s=+b[(n>3];n=u;t=21}else{if(a[A+68>>2]|0){i=a[A+84>>2]|0;l=+b[i+24>>3]-+b[z>>3]*2.0;l=l<0.0?0.0:l;b[y>>3]=l;u=+b[i+32>>3]-+b[z+8>>3]*2.0;i=y+8|0;b[i>>3]=u;if(u<0.0){f=y;t=17}else i=y}else{b[y+8>>3]=0.0;f=y;i=y;t=17}if((t|0)==17){b[i>>3]=0.0;i=f;l=+b[f>>3]}a[A+204>>2]=1;a[A+168>>2]=1;a[A+164>>2]=1;n=+b[M>>3];if(l>3]=n;l=n}i=y+8|0;c=+b[i>>3];s=+b[M+8>>3];if(c>3]=s;d=i;s=+b[i>>3]}w=+b[z>>3];B=A+432|0;c=+b[B>>3]*.013888888888888888*(w*2.0+l);a[A+448>>2]=~~(c+(c>=0.0?.5:-.5));h=z+8|0;c=+b[h>>3];v=A+440|0;u=+b[v>>3]*.013888888888888888*(c*2.0+s);a[A+452>>2]=~~(u+(u>=0.0?.5:-.5));t=A+188|0;o=A+180|0;i=A+172|0;f=g+196|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;a[i+20>>2]=0;BF(E,A,r[a[f>>2]>>0]|0);g=E;E=a[g+4>>2]|0;i=o;a[i>>2]=a[g>>2];a[i+4>>2]=E;BF(C,A,r[(a[f>>2]|0)+1>>0]|0);i=C;C=a[i>>2]|0;i=a[i+4>>2]|0;E=t;a[E>>2]=C;a[E+4>>2]=i;C=(a[o>>2]|0)+C|0;if(!((((C|0)>-1?C:0-C|0)|0)==1?(C=(a[A+184>>2]|0)+i|0,(((C|0)>-1?C:0-C|0)|0)==1):0)){BF(Z,A,66);E=Z;Z=a[E+4>>2]|0;C=o;a[C>>2]=a[E>>2];a[C+4>>2]=Z;BF(I,A,76);C=I;I=a[C+4>>2]|0;Z=t;a[Z>>2]=a[C>>2];a[Z+4>>2]=I;a[G>>2]=a[f>>2];ao(0,100732,G)|0}if(r[(a[(a[e+16>>2]|0)+8>>2]|0)+82>>0]|0){if(l>n){s=(l-n)*.5;b[Y>>3]=s}else s=0.0;l=+b[d>>3];u=+b[M+8>>3];if(l>u){l=(l-u)*.5;b[Y+8>>3]=l}else l=0.0}else{l=0.0;s=0.0}if(!(a[D>>2]|0))t=1;else{a[F>>2]=a[M>>2];a[F+4>>2]=a[M+4>>2];a[F+8>>2]=a[M+8>>2];a[F+12>>2]=a[M+12>>2];dF(Q,F);a[M>>2]=a[Q>>2];a[M+4>>2]=a[Q+4>>2];a[M+8>>2]=a[Q+8>>2];a[M+12>>2]=a[Q+12>>2];a[F>>2]=a[y>>2];a[F+4>>2]=a[y+4>>2];a[F+8>>2]=a[y+8>>2];a[F+12>>2]=a[y+12>>2];dF(m,F);a[y>>2]=a[m>>2];a[y+4>>2]=a[m+4>>2];a[y+8>>2]=a[m+8>>2];a[y+12>>2]=a[m+12>>2];a[F>>2]=a[z>>2];a[F+4>>2]=a[z+4>>2];a[F+8>>2]=a[z+8>>2];a[F+12>>2]=a[z+12>>2];dF(L,F);a[z>>2]=a[L>>2];a[z+4>>2]=a[L+4>>2];a[z+8>>2]=a[L+8>>2];a[z+12>>2]=a[L+12>>2];a[F>>2]=a[Y>>2];a[F+4>>2]=a[Y+4>>2];a[F+8>>2]=a[Y+8>>2];a[F+12>>2]=a[Y+12>>2];dF(W,F);a[Y>>2]=a[W>>2];a[Y+4>>2]=a[W+4>>2];a[Y+8>>2]=a[W+8>>2];a[Y+12>>2]=a[W+12>>2];w=+b[z>>3];s=+b[Y>>3];c=+b[h>>3];l=+b[Y+8>>3];n=+b[M>>3];t=(a[D>>2]|0)==0}u=s+w;b[A+384>>3]=u;R=l+c;b[A+392>>3]=R;X=s+w+n;b[A+400>>3]=X;H=+b[M+8>>3];w=l+c+H;b[A+408>>3]=w;s=+b[A+352>>3];b[A+320>>3]=n/s;b[A+328>>3]=H/s;s=+b[B>>3];u=u*.013888888888888888*s;f=A+456|0;a[f>>2]=~~(u+(u>=0.0?.5:-.5));u=+b[v>>3];c=R*.013888888888888888*u;a[A+460>>2]=~~(c+(c>=0.0?.5:-.5));s=X*.013888888888888888*s;i=A+464|0;a[i>>2]=~~(s+(s>=0.0?.5:-.5));u=w*.013888888888888888*u;a[A+468>>2]=~~(u+(u>=0.0?.5:-.5));if(!t){a[F>>2]=a[f>>2];a[F+4>>2]=a[f+4>>2];iF(V,F);M=V;V=a[M+4>>2]|0;A=f;a[A>>2]=a[M>>2];a[A+4>>2]=V;a[F>>2]=a[i>>2];a[F+4>>2]=a[i+4>>2];iF(J,F);A=J;V=a[A+4>>2]|0;J=i;a[J>>2]=a[A>>2];a[J+4>>2]=V}k=N;return}function dF(A,e){A=A|0;e=e|0;var i=0.0;i=+b[e>>3];b[A>>3]=+b[e+8>>3];b[A+8>>3]=i;return}function BF(A,e,i){A=A|0;e=e|0;i=i|0;i=(i<<24>>24)+-66|0;switch(i>>>1|i<<31|0){case 9:{a[e+176>>2]=(a[e+168>>2]|0)+-1;e=0;i=-1;break}case 0:{e=0;i=1;break}case 5:{e=1;i=0;break}case 8:{a[e+172>>2]=(a[e+164>>2]|0)+-1;e=-1;i=0;break}default:{e=0;i=0}}a[A>>2]=e;a[A+4>>2]=i;return}function vF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;f=po(e,100973)|0;t=A+296|0;a[t>>2]=(f|0)==0?100982:f;e=po(e,100986)|0;f=A+300|0;e=(e|0)==0?100999:e;a[f>>2]=e;e=k3(a[t>>2]|0,e)|0;if(e|0){a[n>>2]=r[e>>0];ao(0,101001,n)|0;a[f>>2]=195059}e=s3(i)|0;a[A+304>>2]=e;l=A+308|0;f=0;A=0;while(1){i=t3(e,a[t>>2]|0)|0;if(!i)break;n=A+1|0;if((A|0)<(f|0))e=a[l>>2]|0;else{f=f+128|0;e=a[l>>2]|0;if(!e)e=$F(f<<2)|0;else e=eV(e,f<<2)|0;a[l>>2]=e}a[e+(n<<2)>>2]=i;A=n;e=0}if(A|0){t=eV(a[l>>2]|0,(A<<2)+8|0)|0;a[l>>2]=t;a[t>>2]=0;a[(a[l>>2]|0)+(A+1<<2)>>2]=0}k=c;return A|0}function gF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b;t=A+312|0;i=$F((a[t>>2]<<2)+8|0)|0;r=0;l=1;while(1){n=a[t>>2]|0;if((l|0)>(n|0))break;f=r+1|0;if((JM(A,l,n,e)|0)<<24>>24){a[i+(f<<2)>>2]=l;r=f}l=l+1|0}if(!r){a[c>>2]=e;ao(0,100872,c)|0;L2(i);i=0}else{a[i>>2]=r;a[i+(r+1<<2)>>2]=(a[t>>2]|0)+1}k=b;return i|0}function EF(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0;i=a[e+16>>2]|0;n=+b[i+16>>3];b[i+48>>3]=n-+b[i+88>>3];r=+b[i+24>>3];f=+b[i+80>>3]*.5;b[i+56>>3]=r-f;b[i+64>>3]=+b[i+96>>3]+n;b[i+72>>3]=f+r;e=Oo(A,e)|0;while(1){if(!e)break;CF(e);e=_o(A,e)|0}return}function CF(A){A=A|0;A=a[(a[A+16>>2]|0)+8>>2]|0;if(A|0)IF(A);return}function IF(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;L=k;k=k+240|0;E=L+192|0;g=L+176|0;C=L+64|0;I=L+32|0;Z=L;G=L+144|0;Q=L+112|0;m=A+4|0;if((a[m>>2]|0)<=0)vA(101140,99906,3994,101154);e=a[A>>2]|0;i=C;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=E;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));ZF(I,E);l=I+8|0;t=Z+8|0;c=I+16|0;s=Z+16|0;w=I+24|0;u=Z+24|0;o=C+8|0;h=C+12|0;d=C+32|0;B=C+4|0;v=C+16|0;n=0;while(1){if((n|0)>=(a[m>>2]|0))break;if((n|0)>0){e=(a[A>>2]|0)+(n*48|0)|0;i=C;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=E;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));ZF(Z,E);b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}e=a[o>>2]|0;if(e|0){f=a[C>>2]|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[E>>2]=a[f>>2];a[E+4>>2]=a[f+4>>2];a[E+8>>2]=a[f+8>>2];a[E+12>>2]=a[f+12>>2];KC(G,g,E,1.0,e);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[Z+16>>2]=a[G+16>>2];a[Z+20>>2]=a[G+20>>2];a[Z+24>>2]=a[G+24>>2];a[Z+28>>2]=a[G+28>>2];b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}e=a[h>>2]|0;if(e|0){f=(a[C>>2]|0)+((a[B>>2]|0)+-1<<4)|0;a[g>>2]=a[d>>2];a[g+4>>2]=a[d+4>>2];a[g+8>>2]=a[d+8>>2];a[g+12>>2]=a[d+12>>2];a[E>>2]=a[f>>2];a[E+4>>2]=a[f+4>>2];a[E+8>>2]=a[f+8>>2];a[E+12>>2]=a[f+12>>2];KC(Q,g,E,1.0,e);a[Z>>2]=a[Q>>2];a[Z+4>>2]=a[Q+4>>2];a[Z+8>>2]=a[Q+8>>2];a[Z+12>>2]=a[Q+12>>2];a[Z+16>>2]=a[Q+16>>2];a[Z+20>>2]=a[Q+20>>2];a[Z+24>>2]=a[Q+24>>2];a[Z+28>>2]=a[Q+28>>2];b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}n=n+1|0}m=A+8|0;a[m>>2]=a[I>>2];a[m+4>>2]=a[I+4>>2];a[m+8>>2]=a[I+8>>2];a[m+12>>2]=a[I+12>>2];a[m+16>>2]=a[I+16>>2];a[m+20>>2]=a[I+20>>2];a[m+24>>2]=a[I+24>>2];a[m+28>>2]=a[I+28>>2];k=L;return}function ZF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0;w=k;k=k+48|0;l=w+32|0;t=w;c=a[e+4>>2]|0;if((c|0)<=0)vA(101170,99906,3968,101182);if(((c>>>0)%3|0|0)!=1)vA(101192,99906,3969,101182);s=t+16|0;i=a[e>>2]|0;a[s>>2]=a[i>>2];a[s+4>>2]=a[i+4>>2];a[s+8>>2]=a[i+8>>2];a[s+12>>2]=a[i+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];r=l+8|0;f=t+8|0;n=t+24|0;e=1;while(1){if((e|0)>=(c|0))break;o=+b[i+(e<<4)+8>>3];v=e+1|0;u=+b[i+(v<<4)+8>>3];d=(+b[i+(v<<4)>>3]+ +b[i+(e<<4)>>3])*.5;b[l>>3]=d;o=(u+o)*.5;b[r>>3]=o;u=+b[(+b[t>>3]>3];b[t>>3]=u;B=+b[(+b[f>>3]>3];b[f>>3]=B;d=+b[(+b[s>>3]>d?s:l)>>3];b[s>>3]=d;o=+b[(+b[n>>3]>o?s:l)+8>>3];b[n>>3]=o;v=i+(e+2<<4)|0;a[l>>2]=a[v>>2];a[l+4>>2]=a[v+4>>2];a[l+8>>2]=a[v+8>>2];a[l+12>>2]=a[v+12>>2];h=+b[l>>3];b[t>>3]=+b[(u>3];u=+b[r>>3];b[f>>3]=+b[(B>3];b[s>>3]=+b[(d>h?s:l)>>3];b[n>>3]=+b[(o>u?s:l)+8>>3];e=e+3|0}a[A>>2]=a[t>>2];a[A+4>>2]=a[t+4>>2];a[A+8>>2]=a[t+8>>2];a[A+12>>2]=a[t+12>>2];a[A+16>>2]=a[t+16>>2];a[A+20>>2]=a[t+20>>2];a[A+24>>2]=a[t+24>>2];a[A+28>>2]=a[t+28>>2];k=w;return}function GF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0.0;h=+b[A>>3];d=+b[i>>3];c=!(h>=d);if((!c?h<=+b[i+16>>3]:0)?(f=+b[A+8>>3],f>=+b[i+8>>3]):0)l=f<=+b[i+24>>3];else l=0;f=+b[e>>3];if((f>=d?f<=+b[i+16>>3]:0)?(a=+b[e+8>>3],a>=+b[i+8>>3]):0){r=a<=+b[i+24>>3];if(!(l^r))if(l&r)r=1;else s=11;else r=0}else if(l)r=0;else s=11;A:do{if((s|0)==11){o=+b[A+8>>3];do{if(h==f){d=+b[i+8>>3];if(!(c|o>=d^+b[e+8>>3]>=d^1)?h<=+b[i+16>>3]:0){r=0;break A}}else{t=+b[e+8>>3];if(o==t){if(!(h>=d^f>=d))break;if(!(o>=+b[i+8>>3]))break;if(!(o<=+b[i+24>>3]))break;else{r=0;break A}}k=(t-o)/(f-h);s=h>3];if(!(!(d>=n)|!(d<=f)|!(a>=w))?a<=+b[i+24>>3]:0){r=0;break A}u=+b[i+16>>3];a=(u-d)*k+a;if(a>=w?!(!(u<=f)|(u>=n?!(a<=+b[i+24>>3]):1)):0){r=0;break A}s=o=d?!(!(w<=a)|(!(w>=n)|!(f<=u))):0){r=0;break A}o=+b[i+24>>3];h=(o-w)/k+f;if(h>=d?!(!(o<=a)|(!(o>=n)|!(h<=u))):0){r=0;break A}}}while(0);r=-1}}while(0);return r|0}function QF(A){A=A|0;var e=0,i=0.0;e=A+16|0;i=+b[e>>3];b[A+32>>3]=i;b[A+48>>3]=i;b[A+40>>3]=+b[A+24>>3];b[A+56>>3]=+b[A+8>>3];b[e>>3]=+b[A>>3];return}function mF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0;if((a[47131]|0)!=(i|0)){E1(+(i|0)*.15915494309189535,186328,186336);a[47131]=i}n=+b[e>>3];r=+b[23292];f=+b[e+8>>3];l=+b[23291];b[A>>3]=r*n-l*f;b[A+8>>3]=l*n+f*r;return}function LF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;r=+b[e>>3];l=e+8|0;n=+b[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{b[e>>3]=n;r=-r;t=10;break}case 180:{r=-n;t=10;break}case 270:{b[e>>3]=n;t=10;break}default:{if((i|0)<0){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(A,f,0-i|0);break A}if((i|0)>360){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];LF(A,f,(i>>>0)%360|0);break A}else{a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];mF(A,f,i);break A}}}}while(0);if((t|0)==10){b[l>>3]=r;t=11}if((t|0)==11){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}k=c;return}function WF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;r=+b[e>>3];l=e+8|0;n=+b[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{b[e>>3]=-n;t=10;break}case 180:{r=-n;t=10;break}case 270:{b[e>>3]=n;t=10;break}default:{if((i|0)<0){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];LF(A,f,0-i|0);break A}if((i|0)>360){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(A,f,(i>>>0)%360|0);break A}else{a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];mF(A,f,360-i|0);break A}}}}while(0);if((t|0)==10){b[l>>3]=r;t=11}if((t|0)==11){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}k=c;return}function yF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;n=+b[i>>3];r=+b[i+8>>3];a=r+ +b[e>>3];f=n+ +b[e+24>>3];r=r+ +b[e+16>>3];b[A>>3]=n+ +b[e+8>>3];b[A+8>>3]=a;b[A+16>>3]=f;b[A+24>>3]=r;return}function zF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;a=+b[A>>3];r=+b[e>>3]-a;n=+b[A+8>>3];f=+b[e+8>>3]-n;a=(+b[i+8>>3]-n)*r-(+b[i>>3]-a)*f;a=a*a;return+(a<1.0e-10?0.0:a/(f*f+r*r))}function YF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n+8|0;r=n;A=po(A,e)|0;if(A|0?(a[f>>2]=r,(J3(A,101209,f)|0)>0):0)b[i>>3]=+b[r>>3];k=n;return}function DF(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;n=w+8|0;l=w;i=qF(96)|0;s=A+16|0;a[(a[s>>2]|0)+8>>2]=i;i=po(A,101213)|0;if(!i){i=PA(101222)|0;if(i|0)c=3}else c=3;if((c|0)==3)ae(101234,i|0,1)|0;i=(MF(A)|0)&255;r[(a[s>>2]|0)+115>>0]=i;if(0==0?(i=po(A,101245)|0,a[47133]=i,(i|0)==0):0)a[47133]=a[47132];f=+oR(A,Yo(A,0,101255,0)|0,0.0,0.0);b[a[(a[s>>2]|0)+8>>2]>>3]=f;i=po(A,101263)|0;A:do{if(!i)i=0;else{switch(r[i>>0]|0){case 76:{if(!(A1(i,101271)|0)){i=1;break A}break}case 66:{if(!(A1(i,101274)|0)){i=2;break A}break}case 82:{i=(A1(i,101277)|0)==0;i=i?3:0;break A}default:{i=0;break A}}i=0}}while(0);a[(a[s>>2]|0)+116>>2]=i<<2|(e<<24>>24==0?0:i);f=+oR(A,Yo(A,0,101280,0)|0,.25,.02);b[l>>3]=f;f=f*72.0;a[(a[s>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));i=dR(A,Yo(A,0,101288,0)|0,0)|0;if(i){a[n>>2]=l;if(J3(i,101209,n)|0){f=+b[l>>3];if(f<.02){b[l>>3]=.02;f=.02}}else{b[l>>3]=.5;f=.5}if(X4(i,101296)|0)r[(a[s>>2]|0)+276>>0]=1}else{b[l>>3]=.5;f=.5}f=f*72.0;a[(a[s>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));l=(kR(A,Yo(A,0,101304,0)|0,0,0)|0)&255;r[(a[s>>2]|0)+243>>0]=l;l=YR(dR(A,Yo(A,0,101314,0)|0,0)|0,20676,20692)|0;a[(a[s>>2]|0)+244>>2]=l;FF(A);l=VF(A,101324,(a[(a[s>>2]|0)+8>>2]|0)+64|0)|0;i=a[(a[s>>2]|0)+8>>2]|0;r[i+80>>0]=l;VF(A,101329,i+48|0)|0;i=gR(po(A,101334)|0)|0;r[(a[(a[s>>2]|0)+8>>2]|0)+82>>0]=i;i=po(A,101341)|0;do{if(!i){i=po(A,101348)|0;if(i|0){i=(r[i>>0]|32)<<24>>24==108&1;c=27;break}i=po(A,101360)|0;if(i|0){i=gR(i)|0;c=27}}else{i=(q3(i)|0)==90&1;c=27}}while(0);if((c|0)==27)r[(a[(a[s>>2]|0)+8>>2]|0)+81>>0]=i;a[47135]=YR(po(A,101370)|0,20708,20724)|0;r[194954]=gR(po(A,101382)|0)|0;a[47138]=0;a[47139]=0;b[(a[(a[s>>2]|0)+8>>2]|0)+24>>3]=0.0;i=po(A,101394)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)c=32;else c=30;if(((c|0)==30?(t=po(A,101398)|0,t|0):0)?r[t>>0]|0:0){i=t;c=32}if((c|0)==32){f=+$3(i);b[(a[(a[s>>2]|0)+8>>2]|0)+24>>3]=f}JF(A);b[23295]=1.e+37;a[47140]=Yo(A,0,101409,0)|0;a[47143]=Yo(A,0,141034,0)|0;a[47144]=Yo(A,0,105496,0)|0;a[47145]=Yo(A,1,141048,0)|0;a[47146]=Yo(A,1,141116,0)|0;a[47147]=Yo(A,1,108230,0)|0;a[47148]=Yo(A,1,140823,0)|0;a[47149]=Yo(A,1,101418,0)|0;a[47157]=Yo(A,1,141082,0)|0;a[47150]=Yo(A,1,101428,0)|0;a[47151]=Yo(A,1,101437,0)|0;a[47152]=Yo(A,1,101446,0)|0;c=Yo(A,1,108224,0)|0;a[47154]=c;if(!c)a[47154]=Yo(A,1,108224,105493)|0;a[47155]=Yo(A,1,101456,0)|0;a[47158]=Yo(A,1,101304,0)|0;a[47172]=Yo(A,1,101463,0)|0;a[47161]=Yo(A,1,101409,0)|0;a[47153]=Yo(A,1,105496,0)|0;a[47159]=Yo(A,1,141076,0)|0;a[47160]=Yo(A,1,101472,0)|0;a[47163]=Yo(A,1,101484,0)|0;a[47162]=Yo(A,1,101348,0)|0;a[47164]=Yo(A,1,101489,0)|0;a[47165]=Yo(A,1,141024,0)|0;a[47166]=Yo(A,1,137297,0)|0;a[47156]=Yo(A,1,101500,0)|0;a[47167]=Yo(A,1,101510,0)|0;a[47168]=Yo(A,1,101516,0)|0;a[47169]=Yo(A,1,101522,0)|0;a[47170]=Yo(A,1,101530,0)|0;a[47171]=Yo(A,1,101539,0)|0;a[47173]=Yo(A,1,141034,0)|0;a[47174]=Yo(A,2,101541,0)|0;a[47176]=Yo(A,2,140823,0)|0;a[47177]=Yo(A,2,101418,0)|0;a[47179]=Yo(A,2,101428,0)|0;a[47180]=Yo(A,2,101437,0)|0;a[47181]=Yo(A,2,101446,0)|0;a[47182]=Yo(A,2,108224,0)|0;a[47183]=Yo(A,2,101456,0)|0;a[47192]=Yo(A,2,101548,0)|0;a[47184]=Yo(A,2,101559,0)|0;a[47195]=Yo(A,2,101563,0)|0;a[47196]=Yo(A,2,101573,0)|0;a[47197]=Yo(A,2,101583,0)|0;a[47198]=Yo(A,2,101593,0)|0;a[47199]=Yo(A,2,101603,0)|0;a[47200]=Yo(A,2,101617,0)|0;a[47201]=Yo(A,2,101631,0)|0;a[47202]=Yo(A,2,101646,0)|0;a[47203]=Yo(A,2,101660,0)|0;a[47175]=Yo(A,2,101671,0)|0;a[47187]=Yo(A,2,101304,0)|0;a[47185]=Yo(A,2,141082,0)|0;a[47186]=Yo(A,2,101678,0)|0;a[47188]=Yo(A,2,101687,0)|0;a[47189]=Yo(A,2,101697,0)|0;a[47190]=Yo(A,2,101510,0)|0;a[47191]=Yo(A,2,101522,0)|0;a[47204]=Yo(A,2,101708,0)|0;a[47205]=Yo(A,2,101717,0)|0;a[47206]=Yo(A,2,101463,0)|0;i=$C(A)|0;a[(a[(a[s>>2]|0)+8>>2]|0)+88>>2]=i;i=po(A,141060)|0;if(i|0?r[i>>0]|0:0){A=SF(i,A)|0;a[(a[(a[s>>2]|0)+8>>2]|0)+92>>2]=A}k=w;return}function MF(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;A=BR(A,Yo(A,0,101807,0)|0,101815)|0;if(((((((N1(A,101821)|0)!=0?(N1(A,101829)|0)!=0:0)?(N1(A,101836)|0)!=0:0)?(N1(A,101839)|0)!=0:0)?(N1(A,101850)|0)!=0:0)?(N1(A,101861)|0)!=0:0)?(N1(A,101871)|0)!=0:0)if((N1(A,101882)|0)!=0?(N1(A,101888)|0)!=0:0)if((N1(A,101815)|0)!=0?(N1(A,101893)|0)!=0:0){a[e>>2]=A;ao(0,101898,e)|0;A=0}else A=0;else A=2;else A=1;k=i;return A|0}function FF(A){A=A|0;var e=0.0,i=0,f=0;i=po(A,101765)|0;A:do{if(i|0?(f=r[i>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break A;if(A1(i,101771)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=4;break A}case 99:{if(f<<24>>24!=99)break A;if(A1(i,101776)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=3;break A}case 101:{if(f<<24>>24!=101)break A;if(A1(i,101785)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=5;break A}case 102:{if(f<<24>>24!=102)break A;if(A1(i,101792)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=2;break A}default:{e=+$3(i);if(!(e>0.0))break A;A=a[(a[A+16>>2]|0)+8>>2]|0;a[A+84>>2]=1;b[A+16>>3]=e;break A}}}while(0);return}function VF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+48|0;s=u+32|0;l=u+16|0;c=u+8|0;t=u;w=u+40|0;r[w>>0]=0;A=po(A,e)|0;do{if(A){a[l>>2]=c;a[l+4>>2]=t;a[l+8>>2]=w;l=(J3(A,101749,l)|0)>1;n=+b[c>>3];f=+b[t>>3];if(l&n>0.0&f>0.0){n=n*72.0;b[i>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);n=f*72.0;b[i+8>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);A=(r[w>>0]|0)==33;break}r[w>>0]=0;a[s>>2]=c;a[s+4>>2]=w;s=(J3(A,101759,s)|0)>0;f=+b[c>>3];if(s&f>0.0){n=f*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);b[i>>3]=n;b[i+8>>3]=n;A=(r[w>>0]|0)==33}else A=0}else A=0}while(0);k=u;return A&1|0}function JF(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0;e=po(A,108224)|0;do{if(e|0?r[e>>0]|0:0){i=(a[(a[A+60>>2]|0)+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|8;i=(tB(e)|0)!=0;n=+oR(A,Yo(A,0,101428,0)|0,14.0,1.0);l=BR(A,Yo(A,0,101437,0)|0,107994)|0;e=pF(A,e,i?2:0,n,l,BR(A,Yo(A,0,101446,0)|0,137314)|0)|0;l=A+16|0;a[(a[l>>2]|0)+12>>2]=e;e=po(A,105628)|0;i=(e|0)!=0;do{if((Zd(A)|0)==(A|0)){if(i?(r[e>>0]|0)==116:0){e=1;break}e=0}else{if(i?(r[e>>0]|0)==98:0){e=0;break}e=1}}while(0);i=po(A,101726)|0;A:do{if(i)switch(r[i>>0]|0){case 108:{e=e|2;break A}case 114:{e=e|4;break A}default:break A}}while(0);r[(a[l>>2]|0)+275>>0]=e;if((Zd(A)|0)!=(A|0)){e=a[(a[l>>2]|0)+12>>2]|0;f=+b[e+24>>3]+16.0;n=+b[e+32>>3]+8.0;A=(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0;e=a[l>>2]|0;i=r[e+275>>0]<<1&2;if(A){A=i&255;b[e+48+(A<<4)>>3]=f;b[e+48+(A<<4)+8>>3]=n;break}else{A=(i^3)&255;b[e+48+(A<<4)>>3]=n;b[e+48+(A<<4)+8>>3]=f;break}}}}while(0);return}function NF(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=a[r>>2]|0;e=a[i+8>>2]|0;do{if(!e)e=i;else{i=a[e+88>>2]|0;if(i){yC(i);i=a[r>>2]|0;e=a[i+8>>2]|0;if(!e){e=i;break}}L2(a[e+92>>2]|0);e=a[r>>2]|0}}while(0);L2(a[e+8>>2]|0);r=a[r>>2]|0;a[r+8>>2]=0;TF(a[r+12>>2]|0);_d(A,0,137483);return}function XF(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;switch(A|0){case 0:{A=101971;break}case 1:{A=101839;break}case 2:{A=101977;break}default:{a[e>>2]=A;ao(1,101941,e)|0;A=101971}}k=i;return A|0}function RF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;f=a[e>>2]|0;s=e+24|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;if(r[f>>0]|0){t=$F((S2(f)|0)+1|0)|0;r[t>>0]=0;c=e+12|0;i=t;A:while(1){e:while(1){l=f+1|0;n=r[f>>0]|0;if(!(n<<24>>24))break A;if(!(n<<24>>24==-1|((n&255)<161|(a[c>>2]|0)!=2))){r[i>>0]=n;l=r[l>>0]|0;n=i+2|0;r[i+1>>0]=l;if(!(l<<24>>24)){i=n;break A}else{i=n;f=f+2|0;continue}}switch(n<<24>>24){case 92:break e;case 10:{b=12;break e}default:{}}r[i>>0]=n;i=i+1|0;f=l}if((b|0)==12){b=0;f=i+1|0;r[i>>0]=0;HF(A,e,t,110);i=f;t=f;f=l;continue}n=r[l>>0]|0;switch(n<<24>>24|0){case 114:case 108:case 110:{n=i+1|0;r[i>>0]=0;HF(A,e,t,r[l>>0]|0);i=n;break}default:{r[i>>0]=n;i=i+1|0;n=t}}t=n;f=(r[l>>0]|0)==0?l:f+2|0}if((t|0)!=(i|0)){r[i>>0]=0;HF(A,e,t,110)}e=e+40|0;a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2]}return}function HF(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+32|0;h=B+16|0;o=B;d=e+76|0;c=f[d>>1]|0;u=e+72|0;s=a[u>>2]|0;if(!s)w=qF((c*56|0)+112|0)|0;else w=AV(s,c+2|0,56,c+1|0)|0;a[u>>2]=w;c=f[d>>1]|0;s=w+(c*56|0)|0;a[s>>2]=i;r[w+(c*56|0)+48>>0]=n;if((i|0)!=0?(r[i>>0]|0)!=0:0){a[46594]=a[e+4>>2];b[23299]=+b[e+16>>3];n=a[A+144>>2]|0;a[w+(c*56|0)+4>>2]=W5[a[n>>2]&63](n,186376,1)|0;AR(o,A,s);t=+b[o>>3];b[h>>3]=t;l=+b[o+8>>3]}else{b[h>>3]=0.0;l=+(~~(+b[e+16>>3]*1.2)|0);b[w+(c*56|0)+40>>3]=l;t=0.0}f[d>>1]=(f[d>>1]|0)+1<<16>>16;d=e+24|0;b[d>>3]=+b[(+b[d>>3]>t?d:h)>>3];d=e+32|0;b[d>>3]=+b[d>>3]+l;k=B;return}function pF(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=l|0;t=t|0;var c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+32|0;d=g+16|0;h=g+8|0;o=g;v=qF(88)|0;switch(Md(A)|0){case 0:{s=0;B=a[A+60>>2]|0;w=A;u=0;break}case 1:{s=0;B=Zd(Id(A)|0)|0;w=0;u=A;break}case 2:{s=A;B=Zd(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0;w=0;u=0;break}default:{s=0;B=0;w=0;u=0}}a[v+4>>2]=l;a[v+8>>2]=t;b[v+16>>3]=f;c=B+16|0;t=v+12|0;a[t>>2]=n[(a[c>>2]|0)+115>>0];A:do{if(i&4){a[v>>2]=s3(e)|0;if(i&2|0)r[v+82>>0]=1}else switch(i|0){case 2:{a[v>>2]=s3(e)|0;r[v+82>>0]=1;if(!(ga(A,v)|0))break A;switch(Md(A)|0){case 0:{a[o>>2]=Vh(w)|0;ao(3,101983,o)|0;break A}case 1:{a[h>>2]=Vh(u)|0;ao(3,102005,h)|0;break A}case 2:{o=Vh(a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;h=(Ih(B)|0)!=0;B=Vh(a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)|0;a[d>>2]=o;a[d+4>>2]=h?137738:141747;a[d+8>>2]=B;ao(3,102026,d)|0;break A}default:break A}}case 0:{l=UF(e,A,0)|0;a[v>>2]=l;if((a[t>>2]|0)==1)l=EH(l)|0;else l=BH(l,B)|0;L2(a[v>>2]|0);a[v>>2]=l;RF(a[(a[c>>2]|0)+144>>2]|0,v);break A}default:vA(102053,102069,166,102078)}}while(0);k=g;return v|0}function UF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;switch(Md(e)|0){case 0:{t=Vh(e)|0;n=S2(t)|0;f=a[(a[e+16>>2]|0)+12>>2]|0;if(f){f=a[f>>2]|0;if(!A){E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=2;C=f;I=102095}else{E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=S2(f)|0;C=f;I=102095}}else{E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}break}case 1:{t=Vh(Id(e)|0)|0;n=S2(t)|0;c=Vh(e)|0;l=S2(c)|0;f=a[(a[e+16>>2]|0)+104>>2]|0;if(f){f=a[f>>2]|0;if(!A){E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=2;C=f;I=102095}else{E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=S2(f)|0;C=f;I=102095}}else{E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}break}case 2:{l=e+48|0;t=Vh(Zd(Id(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0;n=S2(t)|0;s=Vh(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0;b=S2(s)|0;f=e+16|0;h=a[(a[f>>2]|0)+52>>2]|0;if(!h)d=0;else d=S2(h)|0;w=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;f=a[f>>2]|0;k=a[f+92>>2]|0;if(!k)o=0;else o=S2(k)|0;c=S2(w)|0;f=a[f+96>>2]|0;if(f){f=a[f>>2]|0;if(!A)u=2;else u=S2(f)|0}else{u=2;f=102089}I=(Ih(Zd(Id(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0)==0;E=1;v=b;g=c;B=b+2+(d|0?d+1|0:0)+c+(o|0?o+1|0:0)|0;l=2;Z=s;c=105493;C=f;I=I?141747:137738;break}default:{E=0;v=2;g=2;B=2;l=2;n=2;Z=102101;w=102098;c=105493;t=102092;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}}i=(i|0)==0;s=0;f=A;A:while(1){e=f+1|0;e:do{switch(r[f>>0]|0){case 0:break A;case 92:{f=f+2|0;switch(r[e>>0]|0){case 78:{b=l;break e}case 71:{b=n;break e}case 69:{b=B;break e}case 72:{b=g;break e}case 84:{b=v;break e}case 76:{b=u;break e}case 92:{if(!i){b=1;break e}break}default:{}}b=2;break}default:{b=1;f=e}}}while(0);s=s+b|0}B=$F(s+1|0)|0;u=(E|0)==0;s=(d|0)==0;e=(o|0)==0;f=B;n=A;A:while(1){b=n+1|0;l=r[n>>0]|0;switch(l<<24>>24){case 0:break A;case 92:break;default:{r[f>>0]=l;f=f+1|0;n=b;continue A}}l=n+2|0;n=r[b>>0]|0;switch(n<<24>>24|0){case 71:{n=t;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 78:{n=c;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 69:{if(u){n=l;continue A}else n=Z;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;n=n+1|0;f=f+1|0}if(s)n=I;else{r[f>>0]=58;n=h;while(1){f=f+1|0;A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=I;break}else n=n+1|0}}while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=w;break}n=n+1|0;f=f+1|0}while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;n=n+1|0;f=f+1|0}if(e){n=l;continue A}r[f>>0]=58;n=k;while(1){f=f+1|0;A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}else n=n+1|0}}case 84:{n=Z;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 72:{n=w;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}f=f+1|0;n=n+1|0}}case 76:{n=C;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}f=f+1|0;n=n+1|0}}case 92:{if(!i){r[f>>0]=92;f=f+1|0;n=l;continue A}break}default:{}}r[f>>0]=92;r[f+1>>0]=n;f=f+2|0;n=l}r[f>>0]=0;return B|0}function xF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(A|0){i=A;r=0;while(1){if((r|0)>=(e|0))break;if(!r)L2(a[i>>2]|0);n=a[i+8>>2]|0;if(n|0?(f=a[i+12>>2]|0,f|0):0)F5[f&127](n);i=i+56|0;r=r+1|0}L2(A)}return}function TF(A){A=A|0;var e=0;if(A|0){L2(a[A>>2]|0);e=A+72|0;if(r[A+82>>0]|0){e=a[e>>2]|0;if(e|0)aa(e,1)}else xF(a[e>>2]|0,f[A+76>>1]|0);L2(A)}return}function jF(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+32|0;h=g+16|0;d=g;c=a[A+16>>2]|0;B=c+12|0;v=a[B>>2]|0;a[B>>2]=e;if(!(r[i+82>>0]|0)){o=i+76|0;if((f[o>>1]|0)>=1){Ki(A,0);$i(A,a[i+8>>2]|0);switch(r[i+80>>0]|0){case 116:{t=+b[i+64>>3];n=+b[i+48>>3]*.5+t;break}case 98:{t=+b[i+64>>3];n=+b[i+48>>3]*-.5+t+ +b[i+32>>3];break}default:{t=+b[i+64>>3];n=+b[i+32>>3]*.5+t}}n=n-+b[i+16>>3];u=d+8|0;b[u>>3]=n;if(f[c+260>>1]&512)b[u>>3]=n-t;s=i+72|0;w=i+56|0;l=i+40|0;e=0;while(1){if((e|0)>=(f[o>>1]|0))break;c=a[s>>2]|0;switch(r[c+(e*56|0)+48>>0]|0){case 108:{n=+b[w>>3]-+b[l>>3]*.5;break}case 114:{n=+b[l>>3]*.5+ +b[w>>3];break}default:n=+b[w>>3]}b[d>>3]=n;a[h>>2]=a[d>>2];a[h+4>>2]=a[d+4>>2];a[h+8>>2]=a[d+8>>2];a[h+12>>2]=a[d+12>>2];qi(A,h,c+(e*56|0)|0);b[u>>3]=+b[u>>3]-+b[(a[s>>2]|0)+(e*56|0)+40>>3];e=e+1|0}_i(A);l=18}}else{Nf(A,a[i+72>>2]|0,i);l=18}if((l|0)==18)a[B>>2]=v;k=g;return}function SF(A,e){A=A|0;e=e|0;return UF(A,e,1)|0}function PF(A){A=A|0;return OF(A,0)|0}function OF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;i=a[47207]|0;if(!i){a[47208]=64;i=$F(64)|0;a[47207]=i}c=e<<24>>24==0;t=0;f=0;l=A;while(1){if(!l)break;e=r[l>>0]|0;if(!(e<<24>>24))break;A=a[47208]|0;if((t|0)>(A+-8|0)){i=A<<1;a[47208]=i;i=eV(a[47207]|0,i)|0;a[47207]=i;i=i+t|0;e=r[l>>0]|0}A:do{switch(e<<24>>24){case 38:{if(c?(KF(l)|0)!=0:0)b=18;else{f=5;e=102130}break}case 60:{f=4;e=102153;break}case 62:{f=4;e=102136;break}case 45:{f=5;e=102147;break}default:{if((f|0)!=0&e<<24>>24==32)if((r[f>>0]|0)==32){f=6;e=102123;break A}else{b=18;break A}switch(e<<24>>24){case 34:{f=6;e=102116;break A}case 39:{f=5;e=102141;break A}case 10:if(c){b=18;break A}else{f=5;e=102110;break A}default:{b=18;break A}}}}}while(0);if((b|0)==18){b=0;e=c|e<<24>>24!=13;f=e?1:5;e=e?l:102104}n=i+f|0;A=f;while(1){if(!A)break;r[i>>0]=r[e>>0]|0;A=A+-1|0;e=e+1|0;i=i+1|0}A=l;t=f+t|0;i=n;l=l+1|0;f=A}r[i>>0]=0;return a[47207]|0}function KF(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function _F(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0;e=a[47209]|0;if(!e){a[47210]=64;e=$F(64)|0;a[47209]=e;t=0}else t=0;while(1){if(!A)break;i=r[A>>0]|0;if(!(i<<24>>24))break;f=a[47210]|0;if((t|0)>(f+-8|0)){e=f<<1;a[47210]=e;e=eV(a[47209]|0,e)|0;a[47209]=e;e=e+t|0;i=r[A>>0]|0}switch(i<<24>>24){case 38:{if(!(KF(A)|0)){n=5;i=102130}else c=12;break}case 60:{n=4;i=102153;break}case 62:{n=4;i=102136;break}case 34:{n=6;i=102116;break}case 39:{n=5;i=102141;break}default:c=12}if((c|0)==12){c=0;n=1;i=A}l=e+n|0;f=n;while(1){if(!f)break;r[e>>0]=r[i>>0]|0;f=f+-1|0;i=i+1|0;e=e+1|0}t=n+t|0;e=l;A=A+1|0}r[e>>0]=0;return a[47209]|0}function qF(A){A=A|0;var e=0;if(!A)A=0;else{e=$F(A)|0;Y6(e|0,0,A|0)|0;A=e}return A|0}function $F(A){A=A|0;if(A){A=m2(A)|0;if(!A){L3(111740,14,1,a[15712]|0)|0;A=0}}else A=0;return A|0}function AV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=y2(A,U(i,e)|0)|0;if(!((e|0)!=0&(A|0)==0)){if(e>>>0>r>>>0)Y6(A+(U(r,i)|0)|0,0,U(e-r|0,i)|0)|0}else L3(111740,14,1,a[15712]|0)|0;return A|0}function eV(A,e){A=A|0;e=e|0;A=y2(A,e)|0;if((e|0)!=0&(A|0)==0)L3(111740,14,1,a[15712]|0)|0;return A|0}function iV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0,v=0,g=0;g=k;k=k+80|0;o=g+40|0;u=g+32|0;w=g+24|0;s=g;h=4;v=m2(40)|0;a[v>>2]=0;f=g+68|0;n=g+64|0;if(0){d=0;uA(62,A|0,f|0,n|0);l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,v|0,h|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)!=1){t=a[15712]|0;l=a[f>>2]|0;f=a[n>>2]|0;d=0;a[s>>2]=102202;a[s+4>>2]=l;a[s+8>>2]=f;a[s+12>>2]=i;a[s+16>>2]=e;aA(32,t|0,102158,s|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){d=0;bA(1);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1)t=6;else{f=L;t=15}}else{f=L;t=15}}else{f=L;t=15}}else t=6;do{if((t|0)==6){d=0;f=iA(27,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){if(!f){d=0;bA(2);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}}if((i|0)<1){d=0;bA(3);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}f=0;break}else{a[47211]=(r|0)>-1?r:30;v=L6(188848,1,v|0,h|0)|0;h=L;d=0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}f=0;t=15;break}}else{f=L;t=15}}}while(0);A:do{if((t|0)==15){e:while(1){if(f|0){f=2;break A}d=0;bA(4);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue}A=a[15712]|0;s=0;while(1){d=0;t=eA(2)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}if(!t)break;d=0;f=iA(28,t|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){f=L;t=15;continue e}d=0;wA(25,t|0,f|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}s=s+1|0;do{if(((s|0)%100|0|0)==0&0!=0){f=(s|0)%1e3|0;if((f|0)==100){d=0;rA(93,102202,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}d=0;a[w>>2]=s;aA(32,A|0,102220,w|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}d=0;a[u>>2]=s;aA(32,A|0,102220,u|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){f=L;t=15;continue e}if(!f){d=0;rA(94,10,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}}}}while(0);if((s|0)>=(i|0))break}switch(e|0){case 1:{d=0;bA(5);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}case 2:{d=0;bA(6);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}default:{d=0;bA(7);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}d=0;bA(3);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}}}if(!0){f=0;break A}if((s|0)>99){d=0;rA(94,10,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue}}f=a[47251]|0;n=a[47252]|0;d=0;c=+q(1);l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,v|0,h|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)==1){f=L;t=15;continue}d=0;a[o>>2]=102202;a[o+4>>2]=f;a[o+8>>2]=n;a[o+12>>2]=s;b[o+16>>3]=c;aA(32,A|0,102224,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15}else break}f=0}}while(0);L2(v|0);k=g;return f|0}function rV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;A=(a[A+16>>2]|0)+192|0;r=0;l=0;while(1){A=a[A>>2]|0;if(!A)break;n=a[A+16>>2]|0;f=a[n+180>>2]|0;A=0;while(1){if(!(a[f+(A<<2)>>2]|0))break;A=A+1|0;r=r+1|0}A=n+164|0;l=l+1|0}a[e>>2]=l;a[i>>2]=r;return}function fV(A){A=A|0;var e=0,i=0,f=0,n=0,t=0,c=0,b=0,s=0;a[47254]=A;a[47261]=0;a[47252]=0;a[47251]=0;t=A+16|0;A=(a[t>>2]|0)+192|0;n=0;i=0;while(1){A=a[A>>2]|0;if(!A)break;f=a[A+16>>2]|0;r[f+157>>0]=0;n=n+1|0;a[47251]=n;e=a[f+180>>2]|0;A=0;while(1){if(!(a[e+(A<<2)>>2]|0))break;b=i+1|0;a[47252]=b;A=A+1|0;i=b}A=f+164|0}A=a[47262]|0;if(!A)A=$F(n<<2)|0;else A=eV(A,n<<2)|0;a[47262]=A;a[47263]=0;A=a[47256]|0;if(!A)A=$F(a[47251]<<2)|0;else A=eV(A,a[47251]<<2)|0;a[47256]=A;a[47255]=0;e=1;A=(a[t>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;b=A+16|0;t=a[b>>2]|0;c=t+292|0;a[c>>2]=0;t=a[t+172>>2]|0;n=e;f=0;A=0;while(1){e=a[t+(f<<2)>>2]|0;if(!e)break;i=A+1|0;a[c>>2]=i;A=a[e+16>>2]|0;a[A+160>>2]=0;a[A+164>>2]=-1;if(!n)A=0;else{s=a[e>>2]&3;A=((a[(a[(a[((s|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((s|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(l[A+170>>1]|0|0)?0:n}n=A;f=f+1|0;A=i}A=qF((f<<2)+4|0)|0;e=a[b>>2]|0;a[e+264>>2]=A;a[e+268>>2]=0;e=a[e+180>>2]|0;A=0;do{s=A;A=A+1|0}while((a[e+(s<<2)>>2]|0)!=0);e=qF(A<<2)|0;A=a[b>>2]|0;a[A+272>>2]=e;a[A+276>>2]=0;e=n;A=A+164|0}return e|0}function aV(){var A=0,e=0,i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;b=u;s=bR(a[47251]|0)|0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e){c=0;break}i=e+16|0;A=a[i>>2]|0;if(!(a[A+292>>2]|0)){wR(s,e);A=a[i>>2]|0}A=A+164|0}while(1){A=uR(s)|0;if(!A)break;t=A+16|0;A=a[t>>2]|0;r=A+232|0;a[r>>2]=0;i=a[A+172>>2]|0;e=0;n=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f){r=0;break}f=(a[(a[(a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[(a[f+16>>2]|0)+170>>1]|0)|0;f=(n|0)>(f|0)?n:f;a[r>>2]=f;e=e+1|0;n=f}while(1){e=a[(a[A+180>>2]|0)+(r<<2)>>2]|0;if(!e)break;i=e+-48|0;f=(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+292|0;n=a[f>>2]|0;a[f>>2]=n+-1;if((n|0)<2){wR(s,a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0);A=a[t>>2]|0}r=r+1|0}c=c+1|0}A:do{if((c|0)!=(a[47251]|0)){ao(1,102556,b)|0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e)break A;i=e+16|0;A=a[i>>2]|0;if(a[A+292>>2]|0){b=Vh(e)|0;A=a[(a[i>>2]|0)+292>>2]|0;a[w>>2]=b;a[w+4>>2]=A;ao(3,102578,w)|0;A=a[i>>2]|0}A=A+164|0}}}while(0);sR(s);k=u;return}function nV(){var A=0,e=0,i=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;i=A+16|0;A=a[i>>2]|0;e=a[A+264>>2]|0;if(e){L2(e);A=a[i>>2]|0}e=a[A+272>>2]|0;if(e){L2(e);A=a[i>>2]|0}r[A+157>>0]=0;A=A+164|0}return}function lV(){var A=0,e=0,i=0,r=0,f=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;A=a[A+16>>2]|0;a[A+280>>2]=0;A=A+164|0}f=qF(a[47251]<<2)|0;r=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e)break;i=e+16|0;A=a[i>>2]|0;if(!(a[A+280>>2]|0)){a[f+(r<<2)>>2]=gV(e)|0;e=r+1|0;A=a[i>>2]|0}else e=r;r=e;A=A+164|0}A=EV(f,r)|0;while(1){if((CV(A)|0)<=1)break;QV(A,a[(GV(ZV(IV(A)|0)|0)|0)+8>>2]|0)}L2(A);A=0;while(1){if((A|0)>=(r|0))break;L2(a[f+(A<<2)>>2]|0);A=A+1|0}L2(f);if((a[47255]|0)==((a[47251]|0)+-1|0)){mV();return}else vA(102301,102331,523,102336)}function tV(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;t=a[47261]|0;f=a[47255]|0;c=a[47256]|0;b=a[47211]|0;e=0;A=0;n=t;while(1){if((n|0)>=(f|0)){l=8;break}r=a[c+(n<<2)>>2]|0;i=a[(a[r+16>>2]|0)+160>>2]|0;if((i|0)<0){if(!A)A=r;else A=(a[(a[A+16>>2]|0)+160>>2]|0)>(i|0)?r:A;e=e+1|0;if((e|0)>=(b|0))break}r=n+1|0;a[47261]=r;n=r}if((l|0)==8)if((t|0)>0){f=0;while(1){if((f|0)>=(t|0))break;i=a[c+(f<<2)>>2]|0;r=a[(a[i+16>>2]|0)+160>>2]|0;if((r|0)<0){if(!A)A=i;else A=(a[(a[A+16>>2]|0)+160>>2]|0)>(r|0)?i:A;e=e+1|0;if((e|0)>=(b|0))break}f=f+1|0}a[47261]=f}return A|0}function cV(A){A=A|0;var e=0,i=0;e=a[A>>2]&3;i=a[((e|0)==3?A:A+48|0)+40>>2]|0;A=a[((e|0)==2?A:A+-48|0)+40>>2]|0;e=(a[(a[i+16>>2]|0)+288>>2]|0)<(a[(a[A+16>>2]|0)+288>>2]|0);A=e?i:A;a[47257]=0;a[47258]=2147483647;i=a[A+16>>2]|0;a[47259]=a[i+284>>2];a[47260]=a[i+288>>2];if(e)vV(A);else BV(A);return a[47257]|0}function bV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=a[e>>2]&3;s=e+-48|0;c=e+48|0;b=e+16|0;f=(a[(a[(a[((f|0)==2?e:s)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((f|0)==3?e:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[b>>2]|0)+170>>1]|0)|0;do{if((f|0)>0){i=a[A>>2]&3;n=a[((i|0)==3?A:A+48|0)+40>>2]|0;t=a[n+16>>2]|0;if(((a[t+276>>2]|0)+(a[t+268>>2]|0)|0)==1){kV(n,f);break}i=a[((i|0)==2?A:A+-48|0)+40>>2]|0;r=a[i+16>>2]|0;if(((a[r+276>>2]|0)+(a[r+268>>2]|0)|0)==1){kV(i,0-f|0);break}if((a[t+288>>2]|0)<(a[r+288>>2]|0)){kV(n,f);break}else{kV(i,0-f|0);break}}}while(0);i=A+16|0;r=a[(a[i>>2]|0)+160>>2]|0;f=a[e>>2]&3;f=oV(a[((f|0)==3?e:c)+40>>2]|0,a[((f|0)==2?e:s)+40>>2]|0,r,1)|0;t=a[e>>2]&3;if((oV(a[((t|0)==2?e:s)+40>>2]|0,a[((t|0)==3?e:c)+40>>2]|0,r,0)|0)==(f|0)){a[(a[b>>2]|0)+160>>2]=0-r;a[(a[i>>2]|0)+160>>2]=0;hV(A,e);w=a[f+16>>2]|0;dV(f,a[w+280>>2]|0,a[w+284>>2]|0)|0;k=u;return}else{ao(1,102262,w)|0;fe(188848,1)}}function sV(){var A=0,e=0,i=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;uV();w=qF((a[47253]<<2)+4|0)|0;e=a[47253]|0;A=0;while(1){if((A|0)>(e|0))break;a[w+(A<<2)>>2]=0;A=A+1|0}A=(a[(a[47254]|0)+16>>2]|0)+192|0;e=A;while(1){e=a[e>>2]|0;if(!e)break;e=a[e+16>>2]|0;if(!(r[e+156>>0]|0)){s=w+(a[e+232>>2]<<2)|0;a[s>>2]=(a[s>>2]|0)+1}e=e+164|0}while(1){A=a[A>>2]|0;if(!A)break;s=A+16|0;A=a[s>>2]|0;if(!(r[A+156>>0]|0)){n=a[47253]|0;i=a[A+172>>2]|0;b=0;c=0;e=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f)break;u=a[f+16>>2]|0;t=(a[(a[(a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[u+170>>1]|0)|0;b=(a[u+156>>2]|0)+b|0;c=(c|0)>(t|0)?c:t;e=e+1|0}f=a[A+180>>2]|0;t=0;e=0;while(1){i=a[f+(e<<2)>>2]|0;if(!i)break;k=a[i+16>>2]|0;u=(a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[k+170>>1]|0)|0;t=(a[k+156>>2]|0)+t|0;n=(n|0)<(u|0)?n:u;e=e+1|0}e=(c|0)>0?c:0;if((b|0)==(t|0)){f=e;i=e;while(1){e=i+1|0;if((i|0)>=(n|0))break;f=(a[w+(e<<2)>>2]|0)<(a[w+(f<<2)>>2]|0)?e:f;i=e}k=A+232|0;u=w+(a[k>>2]<<2)|0;a[u>>2]=(a[u>>2]|0)+-1;u=w+(f<<2)|0;a[u>>2]=(a[u>>2]|0)+1;a[k>>2]=f}e=a[A+264>>2]|0;if(e){L2(e);A=a[s>>2]|0}e=a[A+272>>2]|0;if(e){L2(e);A=a[s>>2]|0}r[A+157>>0]=0}A=A+164|0}L2(w);return}function wV(){var A=0,e=0,i=0,r=0,f=0,n=0;e=0;while(1){if((e|0)>=(a[47255]|0))break;A=a[(a[47256]|0)+(e<<2)>>2]|0;do{if(((a[(a[A+16>>2]|0)+160>>2]|0)==0?(i=cV(A)|0,i|0):0)?(r=a[i>>2]&3,r=(a[(a[(a[((r|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((r|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0,(r|0)>=2):0){n=a[A>>2]&3;f=a[((n|0)==3?A:A+48|0)+40>>2]|0;A=a[((n|0)==2?A:A+-48|0)+40>>2]|0;if((a[(a[f+16>>2]|0)+288>>2]|0)<(a[(a[A+16>>2]|0)+288>>2]|0)){kV(f,r>>>1);break}else{kV(A,(r|0)/-2|0);break}}}while(0);e=e+1|0}nV();return}function uV(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+16|0;l=t;a[l>>2]=0;a[l>>2]=2147483647;a[47253]=-2147483647;A=(a[(a[47254]|0)+16>>2]|0)+192|0;i=A;n=2147483647;f=-2147483647;while(1){e=a[i>>2]|0;if(!e)break;i=a[e+16>>2]|0;if(!(r[i+156>>0]|0)){c=a[i+232>>2]|0;e=(n|0)<(c|0)?n:c;a[l>>2]=e;f=(f|0)>(c|0)?f:c;a[47253]=f}else e=n;i=i+164|0;n=e}if(n|0){while(1){A=a[A>>2]|0;if(!A)break;A=a[A+16>>2]|0;c=A+232|0;a[c>>2]=(a[c>>2]|0)-n;A=A+164|0}a[47253]=f-n;a[l>>2]=0}k=t;return}function kV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;A=a[f>>2]|0;r=A+232|0;a[r>>2]=(a[r>>2]|0)-e;r=0;while(1){i=a[(a[A+272>>2]|0)+(r<<2)>>2]|0;if(!i){r=0;break}if((i|0)!=(a[A+280>>2]|0)){kV(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,e);A=a[f>>2]|0}r=r+1|0}while(1){i=a[(a[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(a[A+280>>2]|0)){kV(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,e);A=a[f>>2]|0}r=r+1|0}return}function oV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;n=(r|0)==0&1;l=0-i|0;f=a[(a[e+16>>2]|0)+288>>2]|0;e=A;while(1){A=a[e+16>>2]|0;if((a[A+284>>2]|0)<=(f|0)?(f|0)<=(a[A+288>>2]|0):0)break;A=a[A+280>>2]|0;t=A+48|0;c=(a[A+16>>2]|0)+160|0;a[c>>2]=(((e|0)==(a[((a[A>>2]&3|0)==3?A:t)+40>>2]|0)?r:n)|0?i:l)+(a[c>>2]|0);c=a[A>>2]&3;t=a[((c|0)==3?A:t)+40>>2]|0;A=a[((c|0)==2?A:A+-48|0)+40>>2]|0;e=(a[(a[t+16>>2]|0)+288>>2]|0)>(a[(a[A+16>>2]|0)+288>>2]|0)?t:A}return e|0}function hV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;t=A+16|0;r=(a[t>>2]|0)+164|0;a[(a[e+16>>2]|0)+164>>2]=a[r>>2];a[(a[47256]|0)+(a[r>>2]<<2)>>2]=e;a[(a[t>>2]|0)+164>>2]=-1;t=(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;r=a[t>>2]|0;n=r+276|0;f=a[n>>2]|0;c=f+-1|0;a[n>>2]=c;n=r+272|0;l=0;while(1){if((l|0)>=(f|0)){b=3;break}i=a[n>>2]|0;if((a[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((b|0)==3)i=a[r+272>>2]|0;a[i+(l<<2)>>2]=a[i+(c<<2)>>2];a[(a[(a[t>>2]|0)+272>>2]|0)+(c<<2)>>2]=0;t=(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16|0;r=a[t>>2]|0;n=r+268|0;f=a[n>>2]|0;c=f+-1|0;a[n>>2]=c;n=r+264|0;l=0;while(1){if((l|0)>=(f|0)){b=8;break}i=a[n>>2]|0;if((a[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((b|0)==8)i=a[r+264>>2]|0;a[i+(l<<2)>>2]=a[i+(c<<2)>>2];a[(a[(a[t>>2]|0)+264>>2]|0)+(c<<2)>>2]=0;b=(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16|0;A=a[b>>2]|0;c=a[A+272>>2]|0;A=A+276|0;t=a[A>>2]|0;a[A>>2]=t+1;a[c+(t<<2)>>2]=e;b=a[b>>2]|0;a[(a[b+272>>2]|0)+(a[b+276>>2]<<2)>>2]=0;b=(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16|0;t=a[b>>2]|0;c=a[t+264>>2]|0;t=t+268|0;A=a[t>>2]|0;a[t>>2]=A+1;a[c+(A<<2)>>2]=e;b=a[b>>2]|0;a[(a[b+264>>2]|0)+(a[b+268>>2]<<2)>>2]=0;return}function dV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=A+16|0;A=a[n>>2]|0;a[A+280>>2]=e;a[A+284>>2]=i;f=0;while(1){r=a[(a[A+272>>2]|0)+(f<<2)>>2]|0;if(!r){f=0;break}if((r|0)!=(e|0)){i=dV(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r,i)|0;A=a[n>>2]|0}f=f+1|0}while(1){r=a[(a[A+264>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)!=(e|0)){i=dV(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,r,i)|0;A=a[n>>2]|0}f=f+1|0}a[A+288>>2]=i;return i+1|0}function BV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0,c=0;t=A+16|0;f=0;while(1){A=a[t>>2]|0;i=a[(a[A+180>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=a[i+16>>2]|0;if((a[r+164>>2]|0)<0){A=a[i>>2]&3;e=a[(a[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0;c=a[e+288>>2]|0;if((a[47259]|0)>(c|0)|(c|0)>(a[47260]|0)?(n=(a[e+232>>2]|0)-(a[(a[(a[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[r+170>>1]|0)|0,(n|0)<(a[47258]|0)|(a[47257]|0)==0):0){a[47257]=i;a[47258]=n}}else{e=a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0))BV(e)}f=f+1|0}while(1){e=a[(a[A+264>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(a[47258]|0)>0))break;e=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0)){BV(e);A=a[t>>2]|0}i=i+1|0}return}function vV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0,c=0;t=A+16|0;f=0;while(1){A=a[t>>2]|0;i=a[(a[A+172>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=a[i+16>>2]|0;if((a[r+164>>2]|0)<0){A=a[i>>2]&3;e=a[(a[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0;c=a[e+288>>2]|0;if((a[47259]|0)>(c|0)|(c|0)>(a[47260]|0)?(n=(a[(a[(a[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[e+232>>2]|0)-(l[r+170>>1]|0)|0,(n|0)<(a[47258]|0)|(a[47257]|0)==0):0){a[47257]=i;a[47258]=n}}else{e=a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0))vV(e)}f=f+1|0}while(1){e=a[(a[A+272>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(a[47258]|0)>0))break;e=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0)){vV(e);A=a[t>>2]|0}i=i+1|0}return}function gV(A){A=A|0;var e=0;e=qF(16)|0;a[e>>2]=A;a[e+4>>2]=VV(A,e)|0;a[e+12>>2]=e;return e|0}function EV(A,e){A=A|0;e=e|0;var i=0,r=0;r=qF(8)|0;a[r>>2]=A;a[r+4>>2]=e;i=0;while(1){if((i|0)>=(e|0))break;a[(a[A+(i<<2)>>2]|0)+8>>2]=i;i=i+1|0}i=(e|0)/2|0;while(1){if((i|0)<=-1)break;QV(r,i);i=i+-1|0}return r|0}function CV(A){A=A|0;return a[A+4>>2]|0}function IV(A){A=A|0;var e=0,i=0,r=0,f=0;f=a[A>>2]|0;e=a[f>>2]|0;a[e+8>>2]=-1;i=A+4|0;r=(a[i>>2]|0)+-1|0;a[f>>2]=a[f+(r<<2)>>2];f=a[A>>2]|0;a[(a[f>>2]|0)+8>>2]=0;a[f+(r<<2)>>2]=e;a[i>>2]=r;QV(A,0);return e|0}function ZV(A){A=A|0;return FV(a[A>>2]|0,0,0)|0}function GV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0;e=A+16|0;if((a[(a[e>>2]|0)+164>>2]|0)>-1)vA(102350,102331,463,102364);f=A+48|0;i=zV(a[((a[A>>2]&3|0)==3?A:f)+40>>2]|0)|0;t=A+-48|0;r=zV(a[((a[A>>2]&3|0)==2?A:t)+40>>2]|0)|0;n=a[A>>2]&3;e=(a[(a[(a[((n|0)==2?A:t)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((n|0)==3?A:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[e>>2]|0)+170>>1]|0)|0;if((a[i+8>>2]|0)==-1)YV(a[i>>2]|0,0,e);else YV(a[r>>2]|0,0,0-e|0);DV(A);return MV(i,r)|0}function QV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]|0;n=a[A+4>>2]|0;while(1){A=e<<1;f=A+2|0;A=A|1;if(!((A|0)<(n|0)?(a[(a[l+(A<<2)>>2]|0)+4>>2]|0)<(a[(a[l+(e<<2)>>2]|0)+4>>2]|0):0))A=e;if((f|0)>=(n|0))break;i=l+(f<<2)|0;r=a[i>>2]|0;if((f|0)==(e|0)?1:(a[r+4>>2]|0)>=(a[(a[l+(A<<2)>>2]|0)+4>>2]|0))break;t=l+(e<<2)|0;A=a[t>>2]|0;a[t>>2]=r;a[i>>2]=A;a[(a[t>>2]|0)+8>>2]=e;a[A+8>>2]=f;e=f}return}function mV(){dV(a[(a[(a[47254]|0)+16>>2]|0)+192>>2]|0,0,1)|0;LV(a[(a[(a[47254]|0)+16>>2]|0)+192>>2]|0,0);return}function LV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;i=0;while(1){A=a[f>>2]|0;r=a[(a[A+272>>2]|0)+(i<<2)>>2]|0;if(!r){r=0;break}if((r|0)!=(e|0))LV(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r);i=i+1|0}while(1){i=a[(a[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(e|0)){LV(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,i);A=a[f>>2]|0}r=r+1|0}if(e|0)WV(e);return}function WV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;e=a[A>>2]&3;i=a[((e|0)==3?A:A+48|0)+40>>2]|0;r=a[i+16>>2]|0;if((a[r+280>>2]|0)==(A|0))t=1;else{r=a[((e|0)==2?A:A+-48|0)+40>>2]|0;t=-1;i=r;r=a[r+16>>2]|0}n=a[r+180>>2]|0;e=0;f=0;while(1){l=a[n+(f<<2)>>2]|0;if(!l)break;e=(yV(l,i,t)|0)+e|0;f=f+1|0}n=a[r+172>>2]|0;r=0;while(1){f=a[n+(r<<2)>>2]|0;if(!f)break;e=(yV(f,i,t)|0)+e|0;r=r+1|0}a[(a[A+16>>2]|0)+160>>2]=e;return}function yV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=(l|0)==3?A:A+48|0;r=a[t+40>>2]|0;if((r|0)==(e|0))r=a[((l|0)==2?A:A+-48|0)+40>>2]|0;n=a[e+16>>2]|0;f=a[(a[r+16>>2]|0)+288>>2]|0;if((a[n+284>>2]|0)<=(f|0)?(f|0)<=(a[n+288>>2]|0):0){f=a[A+16>>2]|0;if((a[f+164>>2]|0)>-1)r=a[f+160>>2]|0;else r=0;n=1;r=r-(a[f+156>>2]|0)|0}else{n=0;r=a[(a[A+16>>2]|0)+156>>2]|0}t=(a[((i|0)>0?(l|0)==2?A:A+-48|0:t)+40>>2]|0)==(e|0)?1:-1;return(((n?t:0-t|0)|0)<0?0-r|0:r)|0}function zV(A){A=A|0;var e=0,i=0;A=a[(a[A+16>>2]|0)+280>>2]|0;while(1){e=A+12|0;i=a[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=a[i+12>>2]|0;if(!A){A=i;continue}a[e>>2]=A}return A|0}function YV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=A+16|0;r=a[l>>2]|0;n=r+232|0;a[n>>2]=(a[n>>2]|0)+i;n=0;while(1){f=a[(a[r+264>>2]|0)+(n<<2)>>2]|0;if(!f){n=0;break}f=a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(e|0)){YV(f,A,i);r=a[l>>2]|0}n=n+1|0}while(1){f=a[(a[r+272>>2]|0)+(n<<2)>>2]|0;if(!f)break;f=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(e|0)){YV(f,A,i);r=a[l>>2]|0}n=n+1|0}return}function DV(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;e=(a[A+16>>2]|0)+164|0;if((a[e>>2]|0)>-1){ao(1,102453,l)|0;fe(188848,1)}n=a[47255]|0;a[e>>2]=n;e=a[47256]|0;a[47255]=n+1;a[e+(n<<2)>>2]=A;e=a[A>>2]|0;n=A+48|0;i=a[((e&3|0)==3?A:n)+40>>2]|0;if(!(r[(a[i+16>>2]|0)+157>>0]|0)){f=a[47262]|0;e=a[47263]|0;a[47263]=e+1;a[f+(e<<2)>>2]=i;e=a[A>>2]|0}f=A+-48|0;i=a[((e&3|0)==2?A:f)+40>>2]|0;if(!(r[(a[i+16>>2]|0)+157>>0]|0)){t=a[47262]|0;e=a[47263]|0;a[47263]=e+1;a[t+(e<<2)>>2]=i;e=a[A>>2]|0}t=(a[((e&3|0)==3?A:n)+40>>2]|0)+16|0;e=a[t>>2]|0;r[e+157>>0]=1;i=a[e+272>>2]|0;e=e+276|0;n=a[e>>2]|0;a[e>>2]=n+1;a[i+(n<<2)>>2]=A;n=a[t>>2]|0;a[(a[n+272>>2]|0)+(a[n+276>>2]<<2)>>2]=0;t=a[t>>2]|0;if(!(a[(a[t+180>>2]|0)+((a[t+276>>2]|0)+-1<<2)>>2]|0)){ao(1,102487,l+8|0)|0;fe(188848,1)}t=(a[((a[A>>2]&3|0)==2?A:f)+40>>2]|0)+16|0;i=a[t>>2]|0;r[i+157>>0]=1;f=a[i+264>>2]|0;i=i+268|0;n=a[i>>2]|0;a[i>>2]=n+1;a[f+(n<<2)>>2]=A;A=a[t>>2]|0;a[(a[A+264>>2]|0)+(a[A+268>>2]<<2)>>2]=0;t=a[t>>2]|0;if(!(a[(a[t+172>>2]|0)+((a[t+268>>2]|0)+-1<<2)>>2]|0)){ao(1,102522,l+16|0)|0;fe(188848,1)}else{k=l;return}}function MV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;while(1){n=A+12|0;i=a[n>>2]|0;if((i|0)==0|(i|0)==(A|0))break;else A=i}while(1){f=e+12|0;i=a[f>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else e=i}if((A|0)!=(e|0)){r=a[A+8>>2]|0;i=a[e+8>>2]|0;do{if((r|0)>-1)if((i|0)==-1)l=A;else c=10;else if((i|0)>-1)if((r|0)==-1){l=e;break}else{c=10;break}else vA(102376,102331,327,102423)}while(0);if((c|0)==10)l=(a[e+4>>2]|0)<(a[A+4>>2]|0)?A:e;a[f>>2]=l;a[n>>2]=l;a[l+4>>2]=(a[e+4>>2]|0)+(a[A+4>>2]|0);if((a[l+8>>2]|0)>-1)t=l;else vA(102434,102331,335,102423)}else t=A;return t|0}function FV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0;s=zV(A)|0;if(i){b=a[i>>2]&3;if(((a[(a[(a[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(l[(a[i+16>>2]|0)+170>>1]|0|0))r=3}else{i=0;r=3}A:do{if((r|0)==3){b=A+16|0;c=0;while(1){r=a[b>>2]|0;t=a[(a[r+180>>2]|0)+(c<<2)>>2]|0;if(!t){c=0;break}r=t+16|0;f=t+-48|0;n=a[((a[t>>2]&3|0)==2?t:f)+40>>2]|0;do{if((a[(a[r>>2]|0)+164>>2]|0)>-1){if((n|0)!=(e|0))i=FV(n,A,i)|0}else if((zV(n)|0)!=(s|0)){if(i|0?(w=a[t>>2]&3,n=a[i>>2]&3,((a[(a[(a[((w|0)==2?t:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((w|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[r>>2]|0)+170>>1]|0)|0)>=((a[(a[(a[((n|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((n|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=t}}while(0);c=c+1|0}while(1){r=a[(a[r+172>>2]|0)+(c<<2)>>2]|0;if(!r)break A;f=r+16|0;n=r+48|0;t=a[((a[r>>2]&3|0)==3?r:n)+40>>2]|0;do{if((a[(a[f>>2]|0)+164>>2]|0)>-1){if((t|0)!=(e|0))i=FV(t,A,i)|0}else if((zV(t)|0)!=(s|0)){if(i|0?(t=a[r>>2]&3,w=a[i>>2]&3,((a[(a[(a[((t|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((t|0)==3?r:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[f>>2]|0)+170>>1]|0)|0)>=((a[(a[(a[((w|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((w|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=r}}while(0);c=c+1|0;r=a[b>>2]|0}}}while(0);return i|0}function VV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;s=A+16|0;i=a[s>>2]|0;a[i+280>>2]=e;A=1;n=0;while(1){f=a[(a[i+172>>2]|0)+(n<<2)>>2]|0;if(!f){n=0;break}r=a[f+16>>2]|0;if(((a[r+164>>2]|0)<=-1?(t=a[f>>2]&3,c=f+48|0,b=a[(a[((t|0)==3?f:c)+40>>2]|0)+16>>2]|0,(a[b+280>>2]|0)==0):0)?((a[(a[(a[((t|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[b+232>>2]|0)|0)==(l[r+170>>1]|0|0):0){DV(f);A=(VV(a[((a[f>>2]&3|0)==3?f:c)+40>>2]|0,e)|0)+A|0;i=a[s>>2]|0}n=n+1|0}while(1){r=a[(a[i+180>>2]|0)+(n<<2)>>2]|0;if(!r)break;f=a[r+16>>2]|0;if(((a[f+164>>2]|0)<=-1?(w=a[r>>2]&3,u=r+-48|0,k=a[(a[((w|0)==2?r:u)+40>>2]|0)+16>>2]|0,(a[k+280>>2]|0)==0):0)?((a[k+232>>2]|0)-(a[(a[(a[((w|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(l[f+170>>1]|0|0):0){DV(r);A=(VV(a[((a[r>>2]&3|0)==2?r:u)+40>>2]|0,e)|0)+A|0;i=a[s>>2]|0}n=n+1|0}return A|0}function JV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,102586)|0;if(!r)r=30;else r=q3(r)|0;return iV(A,e,i,r)|0}function NV(A){A=+A;return+(0==0?A:+b[23301]-A)}function XV(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0;d=k;k=k+16|0;h=d;a[47264]=a[(a[(a[e+64>>2]|0)+8>>2]|0)+4>>2];RV(e);l=a[e+16>>2]|0;v=+b[l+32>>3];B=+b[l+40>>3];HV(i,102597,+b[A+352>>3]);HV(i,102604,v*.013888888888888888);HV(i,102604,B*.013888888888888888);pV(i);l=cd(e)|0;while(1){if(!l)break;n=l+16|0;if(!(r[(a[n>>2]|0)+118>>0]|0)){UV(i,102606,$B(Vh(l)|0)|0);o=(a[n>>2]|0)+16|0;a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];xV(i,h);if(!(r[(a[(a[n>>2]|0)+104>>2]|0)+82>>0]|0)){A=Id(l)|0;A=TV(A,a[a[(a[n>>2]|0)+104>>2]>>2]|0)|0}else A=$B(Uo(l,a[47154]|0)|0)|0;HV(i,102604,+b[(a[n>>2]|0)+32>>3]);HV(i,102604,+b[(a[n>>2]|0)+40>>3]);UV(i,102604,A);UV(i,102604,BR(l,a[47157]|0,111067)|0);UV(i,102604,a[a[(a[n>>2]|0)+8>>2]>>2]|0);UV(i,102604,BR(l,a[47148]|0,137314)|0);A=BR(l,a[47149]|0,195059)|0;if(!(r[A>>0]|0))A=BR(l,a[47148]|0,134800)|0;UV(i,102604,A);pV(i)}l=bd(e,l)|0}u=f<<24>>24==0;w=cd(e)|0;while(1){if(!w)break;s=Oo(e,w)|0;while(1){if(!s)break;if(u){f=195059;t=195059}else{t=po(s,111455)|0;f=po(s,111464)|0;f=f|0?f:195059;t=t|0?t:195059}o=s+16|0;A=a[o>>2]|0;c=a[A+8>>2]|0;A:do{if(c){l=a[c+4>>2]|0;A=0;n=0;while(1){if((A|0)>=(l|0))break;g=(a[(a[c>>2]|0)+(A*48|0)+4>>2]|0)+n|0;A=A+1|0;n=g}UV(i,0,111450);jV(i,a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0,t);jV(i,a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0,f);SV(i,n);f=0;while(1){A=a[o>>2]|0;n=a[A+8>>2]|0;if((f|0)>=(a[n+4>>2]|0))break A;l=a[n>>2]|0;n=a[l+(f*48|0)>>2]|0;l=a[l+(f*48|0)+4>>2]|0;A=0;while(1){if((A|0)>=(l|0))break;g=n+(A<<4)|0;a[h>>2]=a[g>>2];a[h+4>>2]=a[g+4>>2];a[h+8>>2]=a[g+8>>2];a[h+12>>2]=a[g+12>>2];xV(i,h);A=A+1|0}f=f+1|0}}}while(0);if(a[A+96>>2]|0){g=Id(a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;UV(i,102604,TV(g,a[a[(a[o>>2]|0)+96>>2]>>2]|0)|0);g=(a[(a[o>>2]|0)+96>>2]|0)+56|0;a[h>>2]=a[g>>2];a[h+4>>2]=a[g+4>>2];a[h+8>>2]=a[g+8>>2];a[h+12>>2]=a[g+12>>2];xV(i,h)}UV(i,102604,BR(s,a[47185]|0,111067)|0);UV(i,102604,BR(s,a[47176]|0,137314)|0);pV(i);s=_o(e,s)|0}w=bd(e,w)|0}PV(102612,i);k=d;return}function RV(A){A=A|0;var e=0.0;if(0){A=a[A+16>>2]|0;e=+b[A+24>>3]+ +b[A+40>>3];b[23301]=e;b[23302]=e*.013888888888888888}return}function HV(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,a=0;a=k;k=k+1040|0;f=a;r=a+8|0;if(e|0)PV(e,A);b[f>>3]=i;P4(r,102618,f)|0;PV(r,A);k=a;return}function pV(A){A=A|0;r[194955]=10;m5[a[47264]&127](A,194955)|0;return}function UV(A,e,i){A=A|0;e=e|0;i=i|0;if(e|0)PV(e,A);PV(i,A);return}function xV(A,e){A=A|0;e=e|0;var i=0.0;HV(A,102604,+b[e>>3]*.013888888888888888);if(!0)i=+b[e+8>>3];else i=+b[23301]-+b[e+8>>3];HV(A,102604,i*.013888888888888888);return}function TV(A,e){A=A|0;e=e|0;var i=0;i=aB(A,e)|0;e=$B(i)|0;lB(A,i)|0;return e|0}function jV(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!(r[(a[e+16>>2]|0)+118>>0]|0))e=$B(Vh(e)|0)|0;else{f=Id(e)|0;e=TV(f,(G1(Vh(e)|0,58)|0)+1|0)|0}UV(A,102604,e);if(i|0?r[i>>0]|0:0)UV(A,107984,$B(i)|0);return}function SV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+1040|0;f=i;r=i+8|0;PV(102604,A);a[f>>2]=e;P4(r,137395,f)|0;PV(r,A);k=i;return}function PV(A,e){A=A|0;e=e|0;m5[a[47264]&127](e,A)|0;return}function OV(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,s=0.0,w=0,u=0.0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0;K=k;k=k+2288|0;P=K+208|0;S=K+192|0;j=K+176|0;T=K+160|0;x=K+144|0;U=K+128|0;H=K+112|0;R=K+96|0;X=K+80|0;N=K+64|0;J=K+56|0;V=K+48|0;O=K+32|0;p=K+24|0;F=K;y=K+1264|0;z=K+224|0;Y=A+16|0;L=(l[(a[Y>>2]|0)+178>>1]|0)>2;nF(1);RV(A);co(z,1024,K+240|0);oH(A,1,102623,195059)|0;oH(A,1,102627,195059)|0;a[47146]=oH(A,1,141116,195059)|0;a[47145]=oH(A,1,141048,195059)|0;oH(A,2,102623,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0;if(n&16){oH(A,1,102633,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&1){oH(A,2,102637,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&32){oH(A,2,102633,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&2){oH(A,2,102640,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&4){oH(A,2,102648,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(!(n&8)){E=0;C=0;I=0}else{I=oH(A,0,102637,195059)|0;C=oH(A,0,102656,195059)|0;E=oH(A,0,102663,195059)|0}G=oH(A,0,102671,195059)|0;Q=z+4|0;m=z+8|0;g=0;n=0;Z=cd(A)|0;while(1){if(!Z)break;v=Z+16|0;c=a[v>>2]|0;u=+b[c+16>>3];t=0==0;if(L){if(t)s=+b[c+24>>3];else s=+b[23301]-+b[c+24>>3];h=+b[(a[c+132>>2]|0)+16>>3]*72.0;b[F>>3]=u;b[F+8>>3]=s;b[F+16>>3]=h;P4(y,102674,F)|0;wo(z,y)|0;t=3;while(1){if((t|0)>=(l[(a[Y>>2]|0)+178>>1]|0))break;b[p>>3]=+b[(a[(a[v>>2]|0)+132>>2]|0)+(t<<3)>>3]*72.0;P4(y,102689,p)|0;wo(z,y)|0;t=t+1|0}t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;B=a[z>>2]|0;a[Q>>2]=B;xo(Z,102623,B)|0;B=Z}else{if(t)s=+b[c+24>>3];else s=+b[23301]-+b[c+24>>3];b[O>>3]=u;b[O+8>>3]=s;P4(y,102695,O)|0;xo(Z,102623,y)|0;B=Z}b[V>>3]=+b[(a[v>>2]|0)+80>>3]*.013888888888888888;P4(y,102618,V)|0;Vo(B,a[47145]|0,y)|0;t=a[v>>2]|0;b[J>>3]=(+b[t+96>>3]+ +b[t+88>>3])*.013888888888888888;P4(y,102618,J)|0;Vo(B,a[47146]|0,y)|0;t=a[v>>2]|0;c=a[t+108>>2]|0;if((c|0)!=0?(r[c+81>>0]|0)!=0:0){h=+b[c+64>>3];h=0==0?h:+b[23301]-h;b[N>>3]=+b[c+56>>3];b[N+8>>3]=h;P4(y,102695,N)|0;xo(B,102633,y)|0;t=a[v>>2]|0}if(A1(a[a[t+8>>2]>>2]|0,106220)|0){if(a[47170]|0?(ZN(Z)|0)<<24>>24:0){c=a[(a[v>>2]|0)+12>>2]|0;d=c+8|0;t=a[d>>2]|0;if((t|0)<3){t=po(B,102705)|0;if(!t)t=8;else t=q3(t)|0;t=(t|0)<3?8:t}o=c+44|0;h=1.0/+(t|0);w=0;while(1){if((w|0)>=(t|0))break;if((w|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=32}if((a[d>>2]|0)>2){c=a[o>>2]|0;if(!0)s=+b[c+(w<<4)+8>>3]*.013888888888888888;else s=+b[23302]-+b[c+(w<<4)+8>>3]*.013888888888888888;b[X>>3]=+b[c+(w<<4)>>3]*.013888888888888888;b[X+8>>3]=s;P4(y,102718,X)|0}else{c=a[v>>2]|0;s=h*+(w|0)*6.283185307179586;u=+b[c+32>>3]*.5*+D(+s);if(!0)s=+b[c+40>>3]*.5*+M(+s);else s=+b[23302]-+b[c+40>>3]*.5*+M(+s);b[R>>3]=u;b[R+8>>3]=s;P4(y,102718,R)|0}wo(z,y)|0;w=w+1|0}c=a[47170]|0;t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;v=a[z>>2]|0;a[Q>>2]=v;Vo(B,c,v)|0}}else{KV(Z,a[t+12>>2]|0,z);ko(z)|0;t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;v=a[z>>2]|0;a[Q>>2]=v;xo(B,102627,v)|0}A:do{if((a[47138]|0)>0){v=Oo(A,Z)|0;t=g;while(1){if(!v)break A;B=v+16|0;c=a[B>>2]|0;do{if((r[c+112>>0]|0)!=6?(W=a[c+8>>2]|0,(W|0)!=0):0){d=0;c=W;while(1){if((d|0)>=(a[c+4>>2]|0))break;if((d|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=59;c=a[(a[B>>2]|0)+8>>2]|0}c=a[c>>2]|0;if(a[c+(d*48|0)+8>>2]|0){if(!0)s=+b[c+(d*48|0)+24>>3];else s=+b[23301]-+b[c+(d*48|0)+24>>3];b[H>>3]=+b[c+(d*48|0)+16>>3];b[H+8>>3]=s;P4(y,102728,H)|0;wo(z,y)|0;n=1;c=a[a[(a[B>>2]|0)+8>>2]>>2]|0}if(a[c+(d*48|0)+12>>2]|0){if(!0)s=+b[c+(d*48|0)+40>>3];else s=+b[23301]-+b[c+(d*48|0)+40>>3];b[U>>3]=+b[c+(d*48|0)+32>>3];b[U+8>>3]=s;P4(y,102741,U)|0;wo(z,y)|0;t=1}o=0;while(1){c=a[(a[B>>2]|0)+8>>2]|0;w=a[c>>2]|0;if((o|0)>=(a[w+(d*48|0)+4>>2]|0))break;if((o|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=32;c=a[a[(a[B>>2]|0)+8>>2]>>2]|0}else c=w;g=a[c+(d*48|0)>>2]|0;h=+b[g+(o<<4)+8>>3];h=0==0?h:+b[23301]-h;b[x>>3]=+b[g+(o<<4)>>3];b[x+8>>3]=h;P4(y,102695,x)|0;wo(z,y)|0;o=o+1|0}d=d+1|0}c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}r[c>>0]=0;c=a[z>>2]|0;a[Q>>2]=c;xo(v,102623,c)|0;c=a[B>>2]|0;w=a[c+96>>2]|0;if(w){h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[T>>3]=+b[w+56>>3];b[T+8>>3]=h;P4(y,102695,T)|0;xo(v,102637,y)|0;c=a[B>>2]|0}w=a[c+108>>2]|0;do{if(w){if(!(r[w+81>>0]|0))break;h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[j>>3]=+b[w+56>>3];b[j+8>>3]=h;P4(y,102695,j)|0;xo(v,102633,y)|0;c=a[B>>2]|0}}while(0);w=a[c+100>>2]|0;if(w){h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[S>>3]=+b[w+56>>3];b[S+8>>3]=h;P4(y,102695,S)|0;xo(v,102640,y)|0;c=a[B>>2]|0}c=a[c+104>>2]|0;if(!c)break;h=+b[c+64>>3];h=0==0?h:+b[23301]-h;b[P>>3]=+b[c+56>>3];b[P+8>>3]=h;P4(y,102695,P)|0;xo(v,102648,y)|0}}while(0);v=_o(A,v)|0}}else t=g}while(0);g=t;Z=bd(A,Z)|0}_V(A,G,I,C,E);uo(z);if(f[(a[Y>>2]|0)+136>>1]&1)cH(A);a[e>>2]=n;a[i>>2]=g;nF(0);k=K;return}function KV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0;w=k;k=k+1056|0;c=w;t=w+32|0;s=e+48|0;if(!(a[s>>2]|0)){r=a[A+16>>2]|0;l=+b[r+16>>3];if(!0){n=+b[r+24>>3];f=n+ +b[e+24>>3];n=n+ +b[e+40>>3]}else{n=+b[r+24>>3];f=+b[23301]-+b[e+24>>3]-n;n=+b[23301]-+b[e+40>>3]-n}u=l+ +b[e+32>>3];b[c>>3]=l+ +b[e+16>>3];b[c+8>>3]=f;b[c+16>>3]=u;b[c+24>>3]=n;P4(t,102779,c)|0;wo(i,t)|0}e=e+56|0;r=0;while(1){if((r|0)>=(a[s>>2]|0))break;KV(A,a[(a[e>>2]|0)+(r<<2)>>2]|0,i);r=r+1|0}k=w;return}function _V(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0;B=k;k=k+1088|0;u=B+56|0;h=B+48|0;o=B+32|0;t=B;w=B+64|0;d=A+16|0;l=a[d>>2]|0;if(!0){c=+b[l+24>>3];s=+b[l+40>>3]}else{s=+b[23301];c=s-+b[l+24>>3];s=s-+b[l+40>>3]}v=+b[l+32>>3];b[t>>3]=+b[l+16>>3];b[t+8>>3]=c;b[t+16>>3]=v;b[t+24>>3]=s;P4(w,102754,t)|0;Vo(A,e,w)|0;l=a[(a[d>>2]|0)+12>>2]|0;if((l|0)!=0?(r[a[l>>2]>>0]|0)!=0:0){v=+b[l+64>>3];v=0==0?v:+b[23301]-v;b[o>>3]=+b[l+56>>3];b[o+8>>3]=v;P4(w,102695,o)|0;Vo(A,i,w)|0;l=a[(a[d>>2]|0)+12>>2]|0;v=+b[l+32>>3];b[h>>3]=+b[l+24>>3]*.013888888888888888;P4(w,102774,h)|0;Vo(A,f,w)|0;b[u>>3]=v*.013888888888888888;P4(w,102774,u)|0;Vo(A,n,w)|0;l=1}else l=1;while(1){t=a[d>>2]|0;if((l|0)>(a[t+180>>2]|0))break;_V(a[(a[t+184>>2]|0)+(l<<2)>>2]|0,e,i,f,n);l=l+1|0}k=B;return}function qV(A){A=A|0;var e=0;e=k;k=k+16|0;OV(A,e,e+4|0);k=e;return}function $V(){return jk(20740,a[4581]|0)|0}function AJ(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function eJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if((A|0)<=(r|0))if((A|0)<(r|0))A=-1;else{e=a[e+4>>2]|0;i=a[i+4>>2]|0;return((e|0)>(i|0)?1:((e|0)<(i|0))<<31>>31)|0}else A=1;return A|0}function iJ(A){A=A|0;pk(A)|0;return}function rJ(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];e=fJ(r)|0;if((W5[a[A>>2]&63](A,e,1)|0)!=(e|0))L2(e);k=i;return}function fJ(A){A=A|0;var e=0,i=0,r=0;e=qF(16)|0;r=A;i=a[r+4>>2]|0;A=e+8|0;a[A>>2]=a[r>>2];a[A+4>>2]=i;return e|0}function aJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r+8|0;n=r;a[n>>2]=e;a[n+4>>2]=i;a[f>>2]=a[n>>2];a[f+4>>2]=a[n+4>>2];e=fJ(f)|0;if((W5[a[A>>2]&63](A,e,1)|0)!=(e|0))L2(e);k=r;return}function nJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+16|0;r=i;n=e;f=a[n+4>>2]|0;e=r+8|0;a[e>>2]=a[n>>2];a[e+4>>2]=f;e=(W5[a[A>>2]&63](A,r,4)|0)!=0&1;k=i;return e|0}function lJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f+8>>2]=e;a[f+12>>2]=i;i=(W5[a[A>>2]&63](A,f,4)|0)!=0&1;k=r;return i|0}function tJ(A){A=A|0;return Pk(A)|0}function cJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=qF((Pk(A)|0)<<3)|0;e=i;A=xk(A)|0;while(1){if(!A)break;n=A+8|0;f=a[n+4>>2]|0;r=e;a[r>>2]=a[n>>2];a[r+4>>2]=f;e=e+8|0;A=a[A>>2]|0}return i|0}function bJ(){var A=0,e=0,i=0,r=0;A=$F(40)|0;e=A;i=20776;r=e+36|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));a[A+36>>2]=0;return jk(A,a[4581]|0)|0}function sJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;i=i+36|0;A=a[i>>2]|0;if(!A)A=$F(20)|0;else a[i>>2]=a[A>>2];f=e+8|0;r=a[f+4>>2]|0;i=A+8|0;a[i>>2]=a[f>>2];a[i+4>>2]=r;a[A+16>>2]=a[e+16>>2];return A|0}function wJ(A,e,i){A=A|0;e=e|0;i=i|0;i=i+36|0;a[e>>2]=a[i>>2];a[i>>2]=e;return}function uJ(A){A=A|0;W5[a[A>>2]&63](A,0,64)|0;return}function kJ(A){A=A|0;var e=0,i=0;e=a[A+4>>2]|0;pk(A)|0;A=a[e+36>>2]|0;while(1){if(!A)break;i=a[A>>2]|0;L2(A);A=i}L2(e);return}function oJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=k;k=k+32|0;n=f;a[n+8>>2]=e;a[n+12>>2]=i;a[n+16>>2]=r;r=a[(W5[a[A>>2]&63](A,n,1)|0)+16>>2]|0;k=f;return r|0}function hJ(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+160|0;h=v+144|0;i=v+48|0;t=v+128|0;c=v+112|0;s=v+96|0;w=v+80|0;u=v+32|0;o=v+16|0;d=v;B=A+16|0;A=a[B>>2]|0;r=+b[A+16>>3];f=+b[A+24>>3];n=+b[A+32>>3];l=+b[A+40>>3];if((e+-1|0)>>>0<2){dJ(t,r,l);a[h>>2]=a[t>>2];a[h+4>>2]=a[t+4>>2];a[h+8>>2]=a[t+8>>2];a[h+12>>2]=a[t+12>>2];BJ(i,h);o=i+16|0;dJ(c,n,f);a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];BJ(s,h);a[o>>2]=a[s>>2];a[o+4>>2]=a[s+4>>2];a[o+8>>2]=a[s+8>>2];a[o+12>>2]=a[s+12>>2]}else{dJ(w,r,f);a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];BJ(i,h);w=i+16|0;dJ(u,n,l);a[h>>2]=a[u>>2];a[h+4>>2]=a[u+4>>2];a[h+8>>2]=a[u+8>>2];a[h+12>>2]=a[u+12>>2];BJ(o,h);a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2]}A=(a[B>>2]|0)+16|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];a[A+16>>2]=a[i+16>>2];a[A+20>>2]=a[i+20>>2];a[A+24>>2]=a[i+24>>2];a[A+28>>2]=a[i+28>>2];A=a[(a[B>>2]|0)+12>>2]|0;if(!A)A=1;else{A=A+56|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];BJ(d,h);a[A>>2]=a[d>>2];a[A+4>>2]=a[d+4>>2];a[A+8>>2]=a[d+8>>2];a[A+12>>2]=a[d+12>>2];A=1}while(1){i=a[B>>2]|0;if((A|0)>(a[i+180>>2]|0))break;hJ(a[(a[i+184>>2]|0)+(A<<2)>>2]|0,e);A=A+1|0}k=v;return}function dJ(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function BJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+32|0;n=i+16|0;r=i;f=(a[47265]|0)*90|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];WF(r,n,f);a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];b[e>>3]=+b[e>>3]-+b[23303];r=e+8|0;b[r>>3]=+b[r>>3]-+b[23304];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];k=i;return}function vJ(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+1168|0;B=C+144|0;E=C+96|0;g=C+64|0;v=C+48|0;u=C+32|0;o=C+16|0;h=C;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;d=A+16|0;s=a[(a[d>>2]|0)+116>>2]|0;a[47265]=s&3;s=s&1;r[194957]=s;if(!(s<<24>>24))EJ(A);else gJ(A);CJ(A);s=a[d>>2]|0;i=a[s+12>>2]|0;do{if(i|0?(r[i+81>>0]|0)==0:0){n=i+24|0;a[v>>2]=a[n>>2];a[v+4>>2]=a[n+4>>2];a[v+8>>2]=a[n+8>>2];a[v+12>>2]=a[n+12>>2];w=+b[v>>3]+16.0;b[v>>3]=w;n=v+8|0;f=+b[n>>3]+8.0;b[n>>3]=f;n=(r[s+275>>0]&1)!=0;if(r[194957]|0){if(n){l=s+32|0;b[l>>3]=+b[l>>3]+f}else{l=s+16|0;b[l>>3]=+b[l>>3]-f}n=s+40|0;f=+b[n>>3];l=s+24|0;t=+b[l>>3];c=f-t;if(!(w>c))break;w=(w-c)*.5;b[l>>3]=t-w;b[n>>3]=f+w;break}l=(a[47265]|0)==0;do{if(n)if(l){l=s+40|0;b[l>>3]=+b[l>>3]+f;break}else{l=s+24|0;b[l>>3]=+b[l>>3]-f;break}else if(l){l=s+24|0;b[l>>3]=+b[l>>3]-f;break}else{l=s+40|0;b[l>>3]=+b[l>>3]+f;break}}while(0);n=s+32|0;f=+b[n>>3];l=s+16|0;t=+b[l>>3];c=f-t;if(w>c){w=(w-c)*.5;b[l>>3]=t-w;b[n>>3]=f+w}}}while(0);if(e){switch(a[47265]|0){case 0:{h=s+16|0;a[46606]=a[h>>2];a[46607]=a[h+4>>2];a[46608]=a[h+8>>2];a[46609]=a[h+12>>2];break}case 1:{dJ(u,-+b[s+40>>3],+b[s+16>>3]);a[46606]=a[u>>2];a[46607]=a[u+4>>2];a[46608]=a[u+8>>2];a[46609]=a[u+12>>2];break}case 2:{dJ(o,+b[s+16>>3],-+b[s+40>>3]);a[46606]=a[o>>2];a[46607]=a[o+4>>2];a[46608]=a[o+8>>2];a[46609]=a[o+12>>2];break}case 3:{dJ(h,+b[s+24>>3],+b[s+16>>3]);a[46606]=a[h>>2];a[46607]=a[h+4>>2];a[46608]=a[h+8>>2];a[46609]=a[h+12>>2];break}default:{}}IJ(A);i=a[(a[d>>2]|0)+12>>2]|0}if(i|0?(r[i+81>>0]|0)==0:0){a[B>>2]=a[v>>2];a[B+4>>2]=a[v+4>>2];a[B+8>>2]=a[v+8>>2];a[B+12>>2]=a[v+12>>2];ZJ(A,B)}if(!0){k=C;return}if(!(r[194957]|0)){w=+b[23304];c=+b[23303];b[E>>3]=w;b[E+8>>3]=c;b[E+16>>3]=w;b[E+24>>3]=c;b[E+32>>3]=-c;b[E+40>>3]=-w;P4(B,103015,E)|0}else{c=+b[23303];w=+b[23304];b[g>>3]=c;b[g+8>>3]=w;b[g+16>>3]=c;b[g+24>>3]=w;P4(B,102800,g)|0}s3(B)|0;re()}function gJ(A){A=A|0;var e=0,i=0.0,f=0.0,n=0,l=0,t=0;t=A+16|0;if(((Zd(A)|0)!=(A|0)?(n=a[t>>2]|0,l=a[n+12>>2]|0,(l|0)!=0):0)?(r[l+81>>0]|0)==0:0){e=r[n+275>>0]|0;if(!(e&1)){f=+b[n+16>>3]+ +b[n+96>>3]*.5;A=n+104|0}else{f=+b[n+32>>3]-+b[n+64>>3]*.5;A=n+72|0}i=+b[A>>3];A=e<<24>>24;do{if(!(A&4))if(!(A&2)){i=(+b[n+40>>3]+ +b[n+24>>3])*.5;break}else{i=+b[n+40>>3]-i*.5;break}else i=+b[n+24>>3]+i*.5}while(0);b[l+56>>3]=f;b[l+64>>3]=i;r[(a[(a[t>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=a[t>>2]|0;if((A|0)>(a[e+180>>2]|0))break;gJ(a[(a[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function EJ(A){A=A|0;var e=0,i=0.0,f=0.0,n=0.0,l=0,t=0,c=0;c=A+16|0;if(((Zd(A)|0)!=(A|0)?(l=a[c>>2]|0,t=a[l+12>>2]|0,(t|0)!=0):0)?(r[t+81>>0]|0)==0:0){e=r[l+275>>0]|0;if(!(e&1)){n=+b[l+24>>3]+ +b[l+56>>3]*.5;A=l+48|0}else{n=+b[l+40>>3]-+b[l+88>>3]*.5;A=l+80|0}f=+b[A>>3];A=e<<24>>24;do{if(!(A&4)){i=+b[l+16>>3];if(!(A&2)){i=(+b[l+32>>3]+i)*.5;break}else{i=i+f*.5;break}}else i=+b[l+32>>3]-f*.5}while(0);b[t+56>>3]=i;b[t+64>>3]=n;r[(a[(a[c>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=a[c>>2]|0;if((A|0)>(a[e+180>>2]|0))break;EJ(a[(a[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function CJ(A){A=A|0;var e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0;x=k;k=k+544|0;J=x+504|0;U=x+416|0;p=x+376|0;V=x+352|0;F=x+312|0;M=x+288|0;D=x+248|0;N=x+200|0;m=x+152|0;R=x+96|0;o=x+488|0;L=x+456|0;W=x+424|0;y=x+384|0;z=x+360|0;Y=x+320|0;C=x+296|0;I=x+256|0;Z=x+232|0;G=x+168|0;Q=x+136|0;e=x+56|0;X=x+16|0;H=x;u=A+16|0;g=a[u>>2]|0;i=f[g+136>>1]&14;g=n[g+113>>0]|0;if(!((g&54|0)==0?(g&1|0)==0|(a[47139]|0)!=0:0)){g=i<<16>>16==0;w=cd(A)|0;l=0;c=0;t=0;while(1){if(!w)break;i=a[(a[w+16>>2]|0)+108>>2]|0;do{if(i)if(!(r[i+81>>0]|0)){t=t+1|0;break}else{l=l+1|0;break}}while(0);s=Oo(A,w)|0;i=c;while(1){if(!s)break;b=a[s+16>>2]|0;c=a[b+108>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+100>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+104>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+96>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);s=_o(A,s)|0}w=bd(A,w)|0;c=i}if(!(r[(a[u>>2]|0)+113>>0]&8))u=0;else u=QJ(A)|0;v=c+t|0;if(v|0){h=l+c+u+(vh(A)|0)|0;d=qF(h*40|0)|0;B=qF(v*40|0)|0;dJ(N,2147483647.0,2147483647.0);i=N+16|0;dJ(o,-2147483647.0,-2147483647.0);a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];i=B;t=d;w=cd(A)|0;while(1){if(!w)break;a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];mJ(L,w,t,J);a[N>>2]=a[L>>2];a[N+4>>2]=a[L+4>>2];a[N+8>>2]=a[L+8>>2];a[N+12>>2]=a[L+12>>2];a[N+16>>2]=a[L+16>>2];a[N+20>>2]=a[L+20>>2];a[N+24>>2]=a[L+24>>2];a[N+28>>2]=a[L+28>>2];l=a[(a[w+16>>2]|0)+108>>2]|0;do{if(l)if(!(r[l+81>>0]|0)){a[J>>2]=a[m>>2];a[J+4>>2]=a[m+4>>2];a[J+8>>2]=a[m+8>>2];a[J+12>>2]=a[m+12>>2];WJ(l,t,i,0,J);i=i+40|0;break}else{t=t+40|0;a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(W,l,t,J);a[N>>2]=a[W>>2];a[N+4>>2]=a[W+4>>2];a[N+8>>2]=a[W+8>>2];a[N+12>>2]=a[W+12>>2];a[N+16>>2]=a[W+16>>2];a[N+20>>2]=a[W+20>>2];a[N+24>>2]=a[W+24>>2];a[N+28>>2]=a[W+28>>2];break}}while(0);s=Oo(A,w)|0;t=t+40|0;while(1){if(!s)break;b=s+16|0;l=a[b>>2]|0;c=a[l+96>>2]|0;A:do{if(!c)E=52;else{do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){NX(z,A,s);a[J>>2]=a[z>>2];a[J+4>>2]=a[z+4>>2];a[J+8>>2]=a[z+8>>2];a[J+12>>2]=a[z+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[D>>2]=a[c>>2];ao(0,103827,D)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(y,c,t,J);a[N>>2]=a[y>>2];a[N+4>>2]=a[y+4>>2];a[N+8>>2]=a[y+8>>2];a[N+12>>2]=a[y+12>>2];a[N+16>>2]=a[y+16>>2];a[N+20>>2]=a[y+20>>2];a[N+24>>2]=a[y+24>>2];a[N+28>>2]=a[y+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0;E=52}}while(0);A:do{if((E|0)==52){E=0;c=a[l+104>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){yJ(C,s);a[J>>2]=a[C>>2];a[J+4>>2]=a[C+4>>2];a[J+8>>2]=a[C+8>>2];a[J+12>>2]=a[C+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[M>>2]=a[c>>2];ao(0,103862,M)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(Y,c,t,J);a[N>>2]=a[Y>>2];a[N+4>>2]=a[Y+4>>2];a[N+8>>2]=a[Y+8>>2];a[N+12>>2]=a[Y+12>>2];a[N+16>>2]=a[Y+16>>2];a[N+20>>2]=a[Y+20>>2];a[N+24>>2]=a[Y+24>>2];a[N+28>>2]=a[Y+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0}c=a[l+100>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){zJ(Z,s);a[J>>2]=a[Z>>2];a[J+4>>2]=a[Z+4>>2];a[J+8>>2]=a[Z+8>>2];a[J+12>>2]=a[Z+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[F>>2]=a[c>>2];ao(0,103902,F)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(I,c,t,J);a[N>>2]=a[I>>2];a[N+4>>2]=a[I+4>>2];a[N+8>>2]=a[I+8>>2];a[N+12>>2]=a[I+12>>2];a[N+16>>2]=a[I+16>>2];a[N+20>>2]=a[I+20>>2];a[N+24>>2]=a[I+24>>2];a[N+28>>2]=a[I+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0}c=a[l+108>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){NX(Q,A,s);a[J>>2]=a[Q>>2];a[J+4>>2]=a[Q+4>>2];a[J+8>>2]=a[Q+8>>2];a[J+12>>2]=a[Q+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[V>>2]=a[c>>2];ao(0,103942,V)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(G,c,t,J);a[N>>2]=a[G>>2];a[N+4>>2]=a[G+4>>2];a[N+8>>2]=a[G+8>>2];a[N+12>>2]=a[G+12>>2];a[N+16>>2]=a[G+16>>2];a[N+20>>2]=a[G+20>>2];a[N+24>>2]=a[G+24>>2];a[N+28>>2]=a[G+28>>2]}}while(0);t=t+40|0}}}while(0);s=_o(A,s)|0}w=bd(A,w)|0}if(u|0){a[e>>2]=a[N>>2];a[e+4>>2]=a[N+4>>2];a[e+8>>2]=a[N+8>>2];a[e+12>>2]=a[N+12>>2];a[e+16>>2]=a[N+16>>2];a[e+20>>2]=a[N+20>>2];a[e+24>>2]=a[N+24>>2];a[e+28>>2]=a[N+28>>2];a[e+32>>2]=t;l=J;i=l+40|0;do{a[l>>2]=a[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(i|0));YJ(X,A,J);a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];a[N+16>>2]=a[X+16>>2];a[N+20>>2]=a[X+20>>2];a[N+24>>2]=a[X+24>>2];a[N+28>>2]=a[X+28>>2]}r[R+32>>0]=vR(A,Yo(A,0,103978,0)|0,1)|0;a[R>>2]=a[N>>2];a[R+4>>2]=a[N+4>>2];a[R+8>>2]=a[N+8>>2];a[R+12>>2]=a[N+12>>2];a[R+16>>2]=a[N+16>>2];a[R+20>>2]=a[N+20>>2];a[R+24>>2]=a[N+24>>2];a[R+28>>2]=a[N+28>>2];$r(d,h,B,v,R)|0;if(0)DJ(d,h,B,v,R);e=0;i=0;l=B;while(1){if((i|0)>=(v|0))break;if(r[l+36>>0]|0){R=a[l+32>>2]|0;r[R+81>>0]=1;X=R+56|0;MJ(H,l);a[X>>2]=a[H>>2];a[X+4>>2]=a[H+4>>2];a[X+8>>2]=a[H+8>>2];a[X+12>>2]=a[H+12>>2];pR(A,R);e=e+1|0}i=i+1|0;l=l+40|0}if(!0){if((e|0)!=(v|0)){a[U>>2]=e;a[U+4>>2]=v;ao(0,104023,U)|0}}else{U=a[15712]|0;a[p>>2]=e;a[p+4>>2]=v;f3(U,103990,p)|0}L2(d);L2(B)}}k=x;return}function IJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;r=l+32|0;f=l+16|0;n=l;if(+b[23303]!=0.0|+b[23304]!=0.0|(a[47265]|0)!=0){i=cd(A)|0;while(1){if(!i)break;if(a[47265]|0)DH(i,0);e=i+16|0;t=(a[e>>2]|0)+16|0;a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];BJ(f,r);a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];e=a[(a[e>>2]|0)+108>>2]|0;if(e|0){t=e+56|0;a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];BJ(n,r);a[t>>2]=a[n>>2];a[t+4>>2]=a[n+4>>2];a[t+8>>2]=a[n+8>>2];a[t+12>>2]=a[n+12>>2]}A:do{if((a[47138]|0)==1){e=Oo(A,i)|0;while(1){if(!e)break A;GJ(e);e=_o(A,e)|0}}}while(0);i=bd(A,i)|0}hJ(A,a[(a[A+16>>2]|0)+116>>2]&3)}k=l;return}function ZJ(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0;l=A+16|0;t=a[l>>2]|0;n=r[t+275>>0]|0;A=n<<24>>24;do{if(!(A&4)){i=+b[t+16>>3];if(!(A&2)){f=(+b[t+32>>3]+i)*.5;break}else{f=+b[e>>3]*.5+i;break}}else f=+b[t+32>>3]-+b[e>>3]*.5}while(0);if(!(n&1))i=+b[e+8>>3]*.5+ +b[t+24>>3];else i=+b[t+40>>3]-+b[e+8>>3]*.5;t=a[t+12>>2]|0;b[t+56>>3]=f;b[t+64>>3]=i;r[(a[(a[l>>2]|0)+12>>2]|0)+81>>0]=1;return}function GJ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;B=k;k=k+144|0;h=B+120|0;i=B+16|0;t=B+104|0;c=B+88|0;b=B+72|0;s=B+56|0;w=B+40|0;u=B+24|0;d=B;o=A+16|0;e=a[o>>2]|0;f=a[e+8>>2]|0;if(!f){if((r[194954]|0)==0?(r[e+112>>0]|0)!=6:0){h=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;d=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[i>>2]=h;a[i+4>>2]=d;ao(1,103810,i)|0}}else{l=0;A=f;while(1){if((l|0)>=(a[A+4>>2]|0))break;n=a[A>>2]|0;A=a[n+(l*48|0)>>2]|0;i=a[n+(l*48|0)+4>>2]|0;f=a[n+(l*48|0)+8>>2]|0;n=a[n+(l*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;v=A+(e<<4)|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(t,h);a[v>>2]=a[t>>2];a[v+4>>2]=a[t+4>>2];a[v+8>>2]=a[t+8>>2];a[v+12>>2]=a[t+12>>2];e=e+1|0}if(f|0){v=(a[a[(a[o>>2]|0)+8>>2]>>2]|0)+(l*48|0)+16|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(c,h);a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2]}if(n|0){v=(a[a[(a[o>>2]|0)+8>>2]>>2]|0)+(l*48|0)+32|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(b,h);a[v>>2]=a[b>>2];a[v+4>>2]=a[b+4>>2];a[v+8>>2]=a[b+8>>2];a[v+12>>2]=a[b+12>>2]}e=a[o>>2]|0;l=l+1|0;A=a[e+8>>2]|0}A=a[e+96>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(s,h);a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2];e=a[o>>2]|0}A=a[e+108>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(w,h);a[e>>2]=a[w>>2];a[e+4>>2]=a[w+4>>2];a[e+8>>2]=a[w+8>>2];a[e+12>>2]=a[w+12>>2];e=a[o>>2]|0}A=a[e+100>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(u,h);a[e>>2]=a[u>>2];a[e+4>>2]=a[u+4>>2];a[e+8>>2]=a[u+8>>2];a[e+12>>2]=a[u+12>>2];e=a[o>>2]|0}e=a[e+104>>2]|0;if(e|0){v=e+56|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(d,h);a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2]}}k=B;return}function QJ(A){A=A|0;var e=0,i=0,f=0;f=A+16|0;if((Zd(A)|0)!=(A|0)?(e=a[(a[f>>2]|0)+12>>2]|0,(e|0)!=0):0){i=1;A=(r[e+81>>0]|0)!=0&1}else{i=1;A=0}while(1){e=a[f>>2]|0;if((i|0)>(a[e+180>>2]|0))break;e=(QJ(a[(a[e+184>>2]|0)+(i<<2)>>2]|0)|0)+A|0;i=i+1|0;A=e}return A|0}function mJ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0;n=k;k=k+32|0;l=n;w=(r[194957]|0)==0;e=e+16|0;s=a[e>>2]|0;c=+b[(w?s+32|0:s+40|0)>>3];b[i+16>>3]=c*72.0;t=+b[(w?s+40|0:s+32|0)>>3];b[i+24>>3]=t*72.0;e=(a[e>>2]|0)+16|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[i>>3]=+b[i>>3]-c*36.0;e=i+8|0;b[e>>3]=+b[e>>3]-t*36.0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];a[l+16>>2]=a[f+16>>2];a[l+20>>2]=a[f+20>>2];a[l+24>>2]=a[f+24>>2];a[l+28>>2]=a[f+28>>2];FJ(A,i,l);k=n;return}function LJ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0;n=k;k=k+32|0;l=n;w=(r[194957]|0)==0;s=e+24|0;c=+b[(w?s:e+32|0)>>3];b[i+16>>3]=c;t=+b[(w?e+32|0:s)>>3];b[i+24>>3]=t;e=e+56|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[i>>3]=+b[i>>3]-c*.5;e=i+8|0;b[e>>3]=+b[e>>3]-t*.5;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];a[l+16>>2]=a[f+16>>2];a[l+20>>2]=a[f+20>>2];a[l+24>>2]=a[f+24>>2];a[l+28>>2]=a[f+28>>2];FJ(A,i,l);k=n;return}function WJ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;if(f|0){f=e+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[e+8>>2]=a[n+8>>2];a[e+12>>2]=a[n+12>>2]}if(!(r[194957]|0)){n=A+24|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2]}else{b[i>>3]=+b[A+32>>3];b[i+8>>3]=+b[A+24>>3]}a[i+32>>2]=A;r[i+36>>0]=0;a[e+32>>2]=i;return}function yJ(A,e){A=A|0;e=e|0;e=JX(e)|0;do{if(e){e=a[e>>2]|0;if(!(a[e+8>>2]|0)){e=a[e>>2]|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{e=e+16|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}}else{a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}}while(0);return}function zJ(A,e){A=A|0;e=e|0;var i=0;e=JX(e)|0;do{if(e){i=a[e>>2]|0;e=(a[e+4>>2]|0)+-1|0;if(!(a[i+(e*48|0)+12>>2]|0)){i=(a[i+(e*48|0)>>2]|0)+((a[i+(e*48|0)+4>>2]|0)+-1<<4)|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}else{i=i+(e*48|0)+32|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}}while(0);return}function YJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+112|0;b=h+72|0;w=h+32|0;u=h;o=e+16|0;c=1;while(1){f=a[o>>2]|0;if((c|0)>(a[f+180>>2]|0))break;f=a[(a[f+184>>2]|0)+(c<<2)>>2]|0;n=b;l=i;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));YJ(w,f,b);n=i;l=w;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));c=c+1|0}if(((Zd(e)|0)!=(e|0)?(s=a[(a[o>>2]|0)+12>>2]|0,s|0):0)?r[s+81>>0]|0:0){o=i+32|0;w=a[o>>2]|0;a[b>>2]=a[i>>2];a[b+4>>2]=a[i+4>>2];a[b+8>>2]=a[i+8>>2];a[b+12>>2]=a[i+12>>2];a[b+16>>2]=a[i+16>>2];a[b+20>>2]=a[i+20>>2];a[b+24>>2]=a[i+24>>2];a[b+28>>2]=a[i+28>>2];LJ(u,s,w,b);a[i>>2]=a[u>>2];a[i+4>>2]=a[u+4>>2];a[i+8>>2]=a[u+8>>2];a[i+12>>2]=a[u+12>>2];a[i+16>>2]=a[u+16>>2];a[i+20>>2]=a[u+20>>2];a[i+24>>2]=a[u+24>>2];a[i+28>>2]=a[u+28>>2];a[o>>2]=(a[o>>2]|0)+40}n=A;l=i;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));k=h;return}function DJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+160|0;d=B+96|0;o=B+48|0;u=B;h=a[15712]|0;w=n[f+32>>0]|0;l=+b[f>>3];t=+b[f+8>>3];c=+b[f+16>>3];s=+b[f+24>>3];a[u>>2]=e;a[u+4>>2]=r;a[u+8>>2]=w;b[u+16>>3]=l;b[u+24>>3]=t;b[u+32>>3]=c;b[u+40>>3]=s;f3(h,104065,u)|0;A:do{if(0>=2){L3(104125,8,1,h)|0;u=0;while(1){if((u|0)>=(e|0))break;f=a[A+32>>2]|0;l=+b[A>>3];t=+b[A+8>>3];c=+b[A+16>>3];s=+b[A+24>>3];if(!f)w=195059;else w=a[a[f+32>>2]>>2]|0;a[o>>2]=u;b[o+8>>3]=l;b[o+16>>3]=t;b[o+24>>3]=c;b[o+32>>3]=s;a[o+40>>2]=f;a[o+44>>2]=w;f3(h,104134,o)|0;u=u+1|0;A=A+40|0}L3(104177,8,1,h)|0;f=0;while(1){if((f|0)>=(r|0))break A;e=n[i+36>>0]|0;l=+b[i+16>>3];t=+b[i+24>>3];c=+b[i>>3];s=+b[i+8>>3];o=a[a[i+32>>2]>>2]|0;a[d>>2]=f;a[d+4>>2]=i;a[d+8>>2]=e;b[d+16>>3]=l;b[d+24>>3]=t;b[d+32>>3]=c;b[d+40>>3]=s;a[d+48>>2]=o;f3(h,104186,d)|0;i=i+40|0;f=f+1|0}}}while(0);k=B;return}function MJ(A,e){A=A|0;e=e|0;var i=0.0;i=+b[e+8>>3]*.5+ +b[e+24>>3];b[A>>3]=+b[e>>3]*.5+ +b[e+16>>3];b[A+8>>3]=i;return}function FJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0.0;r=k;k=k+16|0;f=r;t=+b[e>>3];b[i>>3]=+b[(+b[i>>3]>3];n=i+8|0;l=+b[e+8>>3];b[n>>3]=+b[(+b[n>>3]>3];t=+b[e+16>>3]+t;b[f>>3]=t;l=+b[e+24>>3]+l;b[f+8>>3]=l;n=i+16|0;b[n>>3]=+b[(+b[n>>3]>t?n:f)>>3];e=i+24|0;b[e>>3]=+b[(+b[e>>3]>l?n:f)+8>>3];a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];a[A+16>>2]=a[i+16>>2];a[A+20>>2]=a[i+20>>2];a[A+24>>2]=a[i+24>>2];a[A+28>>2]=a[i+28>>2];k=r;return}function VJ(A){A=A|0;vJ(A,1);return}function JJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=k;k=k+16|0;i=r;e=WR(po(A,105526)|0)|0;if(e){e=NJ(e)|0;if(e|0){f=a[e+40>>2]|0;i=a[e+44>>2]|0;n=A+16|0;A=a[n>>2]|0;b[A+32>>3]=+(f|0)*.013888888888888888;b[A+40>>3]=+(i|0)*.013888888888888888;A=qF(12)|0;a[(a[n>>2]|0)+12>>2]=A;a[A>>2]=a[e+12>>2];a[A+4>>2]=((f|0)/-2|0)-(a[e+32>>2]|0);a[A+8>>2]=((i|0)/-2|0)-(a[e+36>>2]|0)}}else{a[i>>2]=Vh(A)|0;ao(0,104234,i)|0}k=r;return}function NJ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+1152|0;t=o+24|0;l=o+8|0;i=o;f=o+120|0;c=o+44|0;b=o+40|0;s=o+36|0;w=o+32|0;u=o+28|0;e=a[47266]|0;if(!e){e=jk(20812,a[4581]|0)|0;a[47266]=e}e=W5[a[e>>2]&63](e,A,512)|0;do{if(!e){n=F3(A,138821)|0;if(!n){a[i>>2]=A;ao(0,104283,i)|0;e=0;break}else{e=0;i=0}while(1){if(!(N4(f,1024,n)|0)){f=11;break}a[l>>2]=b;a[l+4>>2]=s;a[l+8>>2]=w;a[l+12>>2]=u;h=(J3(f,104311,l)|0)==4;i=h?1:i;if((r[f>>0]|0)!=37){h=(X4(f,104340)|0)==0;e=h?e:1}if((i|0)!=0&(e|0)!=0){f=12;break}}if((f|0)==11)if(!i){a[t>>2]=A;ao(0,104345,t)|0;e=0}else f=12;if((f|0)==12){h=$F(64)|0;b=a[b>>2]|0;a[h+32>>2]=b;s=a[s>>2]|0;a[h+40>>2]=(a[w>>2]|0)-b;a[h+36>>2]=(a[u>>2]|0)-s;a[h+8>>2]=A;u=a[47267]|0;a[47267]=u+1;a[h+12>>2]=u;D3(t6(n)|0,c)|0;u=a[c+36>>2]|0;w=$F(u+1|0)|0;a[h+52>>2]=w;O3(n,0,0)|0;a6(w,u,1,n)|0;r[w+u>>0]=0;u=a[47266]|0;W5[a[u>>2]&63](u,h,1)|0;r[h+16>>0]=e;e=h}h3(n)|0}}while(0);k=o;return e|0}function XJ(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+52>>2]|0);return}function RJ(A){A=A|0;L2(a[(a[A+16>>2]|0)+12>>2]|0);return}function HJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w+8|0;b=w;c=(e|0)!=0;A:do{if(c){l=0;f=0;e:while(1)while(1){if(l)break A;n=a[e+(f<<2)>>2]|0;if(!n){t=6;break A}f=f+1|0;if(!(r[n>>0]|0)){l=1;continue e}}}else t=6}while(0);A:do{if((t|0)==6)while(1){f=a[i>>2]|0;if(!f)break A;kg(A,f)|0;kg(A,153599)|0;i=i+4|0;t=6}}while(0);A:do{if(c){l=0;while(1){f=a[e+(l<<2)>>2]|0;if(!f)break A;do{if(r[f>>0]|0){i=WR(f)|0;if(!i){a[b>>2]=f;ao(0,104384,b)|0;break}n=F3(i,138821)|0;if(!n){a[s>>2]=i;ao(0,104412,s)|0;break}while(1){f=LR(n)|0;if(!f)break;kg(A,f)|0}kg(A,153599)|0;h3(n)|0}}while(0);l=l+1|0}}}while(0);k=w;return}function pJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;e=a[e+52>>2]|0;A:while(1){i=r[e>>0]|0;e:do{switch(i<<24>>24){case 0:break A;case 37:{if((r[e+1>>0]|0)==37){i=e+2|0;if((((T1(i,104440,3)|0)!=0?(T1(i,104444,5)|0)!=0:0)?(T1(i,104450,3)|0)!=0:0)?(T1(i,104454,7)|0)!=0:0){i=37;break e}else n=37;i:while(1){switch(n<<24>>24){case 13:{f=10;break i}case 10:case 0:{f=12;break i}default:{}}n=e+1|0;e=n;n=r[n>>0]|0}if((f|0)==10){i=e+1|0;if((r[i>>0]|0)==10){e=e+2|0;continue A}}else if((f|0)==12)i=e+1|0;e=n<<24>>24==0?e:i;continue A}else i=37;break}default:{}}}while(0);e:while(1){switch(i<<24>>24){case 10:case 13:case 0:break e;default:{}}og(A,i<<24>>24)|0;n=e+1|0;e=n;i=r[n>>0]|0}f=e+1|0;if(i<<24>>24==13?(r[f>>0]|0)==10:0)e=e+2|0;else e=i<<24>>24==0?e:f;og(A,10)|0}return}function UJ(A){A=A|0;var e=0,i=0,f=0,n=0;f=k;k=k+16|0;i=f;e=a[47266]|0;A:do{if(e|0){e=W5[a[e>>2]&63](e,0,128)|0;while(1){if(!e)break A;if(!(r[e+16>>0]|0)){a[i>>2]=a[e+12>>2];gg(A,104462,i);kg(A,104480)|0;pJ(A,e);kg(A,104498)|0;kg(A,104513)|0}n=a[47266]|0;e=W5[a[n>>2]&63](n,e,8)|0}}}while(0);k=f;return}function xJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=k;k=k+16|0;i=n;A:do{switch(e|0){case 0:{f=A;break}case 1:{f=CH(A)|0;break}default:{switch(TJ(A)|0){case 2:break;case 1:{f=CH(A)|0;break A}default:{f=A;break A}}if(!(a[47268]|0)){ao(0,104525,i)|0;a[47268]=1;f=A}else f=A}}}while(0);if(!(a[47269]|0))co(189076,0,0);e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=40;i=f;A:while(1){switch(r[i>>0]|0){case 0:break A;case 92:case 41:case 40:{e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=92;break}default:{}}e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}l=r[i>>0]|0;a[47270]=e+1;r[e>>0]=l;i=i+1|0}e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=41;if((f|0)!=(A|0))L2(f);e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}r[e>>0]=0;l=a[47269]|0;a[47270]=l;k=n;return l|0}function TJ(A){A=A|0;var e=0,i=0;e=0;A:while(1){while(1){i=r[A>>0]|0;if(!(i<<24>>24))break A;if((i&255)<127)A=A+1|0;else break}if((i&-4)<<24>>24==-64){e=1;A=A+2|0}else{e=2;break}}return e|0}function jJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;w=k;k=k+96|0;l=w+80|0;t=w+72|0;s=w+64|0;n=w+32|0;c=w;b[n>>3]=+b[A>>3];b[n+8>>3]=+b[A+8>>3];b[n+16>>3]=+b[e>>3];b[n+24>>3]=+b[e+8>>3];do{if((ic(i,n,t)|0)>=0){if(!f){e=i+4|0;A=a[e>>2]|0;f=a[47274]|0;if((A|0)>(a[47273]|0)){if(!f)A=$F(A<<5)|0;else A=eV(f,A<<5)|0;a[47274]=A;n=a[e>>2]|0;a[47273]=n;f=A}else n=A;e=a[i>>2]|0;A=0;while(1){if((A|0)>=(n|0))break;u=f+(A<<5)|0;i=e+(A<<4)|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];u=f+(A<<5)+16|0;i=A+1|0;o=e+(((i|0)%(n|0)|0)<<4)|0;a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2];A=i}a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0;a[c+16>>2]=0;a[c+20>>2]=0;a[c+24>>2]=0;a[c+28>>2]=0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];if((Mt(f,n,l,c,s)|0)<0){A=0;break}}else{a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];Gc(l,s)}A=s+4|0;if(!(SJ(a[A>>2]|0)|0)){n=a[A>>2]|0;A=a[47275]|0;f=a[s>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;o=A+(e<<4)|0;u=f+(e<<4)|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];e=e+1|0}a[r>>2]=n}else A=0}else A=0}while(0);k=w;return A|0}function SJ(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=a[47276]|0;do{if((e|0)<(A|0)){A=A+300-((A|0)%300|0)+e|0;e=eV(a[47275]|0,A<<4)|0;a[47275]=e;if(!e){ao(1,104615,i)|0;A=1;break}else{a[47276]=A;A=0;break}}else A=0}while(0);k=r;return A|0}function PJ(){var A=0,e=0,i=0;e=k;k=k+16|0;A=e;i=a[47277]|0;a[47277]=i+1;do{if((i|0)<=0){i=$F(4800)|0;a[47275]=i;if(!i){ao(1,104638,A)|0;A=1;break}a[47276]=300;a[47278]=0;a[47279]=0;if(0){tR();A=0}else A=0}else A=0}while(0);k=e;return A|0}function OJ(){var A=0,e=0,i=0,r=0.0,f=0,n=0;e=k;k=k+16|0;A=e;i=a[47277]|0;a[47277]=i+-1;if((i|0)<=1?(L2(a[47275]|0),0):0){i=a[15712]|0;n=a[47278]|0;f=a[47279]|0;r=+cR();a[A>>2]=n;a[A+4>>2]=f;b[A+8>>3]=r;f3(i,104676,A)|0}k=e;return}function KJ(A,e){A=A|0;e=e|0;return _J(A,e,0)|0}function _J(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0,N=0,X=0;J=k;k=k+176|0;y=J+168|0;V=J+128|0;I=J+120|0;E=J+112|0;l=J+104|0;B=J+88|0;w=J+72|0;n=J+64|0;v=J+160|0;Y=J+152|0;Z=J+144|0;g=J+32|0;C=J;F=J+136|0;a[47278]=(a[47278]|0)+1;z=a[A+80>>2]|0;a[47279]=(a[47279]|0)+z;f=A+88|0;while(1){L=a[f>>2]|0;if(!L){W=4;break}f=a[L+16>>2]|0;if(!(r[f+112>>0]|0)){W=5;break}else f=f+116|0}do{if((W|0)==4){ao(1,104719,n)|0;f=0}else if((W|0)==5){m=a[A+84>>2]|0;if(!(qJ(z,m,A)|0)){n=z<<3;if((n|0)>(a[47280]|0)){f=a[47281]|0;if(!f)f=$F(z<<7)|0;else f=eV(f,z<<7)|0;a[47281]=f;a[47280]=n}A:do{if((z|0)>1?+b[m+8>>3]>+b[m+40>>3]:0){f=0;while(1){if((f|0)==(z|0)){o=1;break A}G=m+(f<<5)+24|0;s=+b[G>>3];Q=m+(f<<5)+8|0;b[G>>3]=-+b[Q>>3];b[Q>>3]=-s;f=f+1|0}}else o=0}while(0);d=a[L>>2]&3;G=L+48|0;f=a[((d|0)==3?L:G)+40>>2]|0;Q=L+-48|0;if((f|0)==(a[((d|0)==2?L:Q)+40>>2]|0)){a[l>>2]=Vh(f)|0;ao(1,104826,l)|0;f=0;break}u=z+-1|0;h=a[47281]|0;d=h;f=0;t=0;A:while(1){if((t|0)>=(z|0)){t=u;w=f;break}if((t|0)>0)n=+b[m+(t<<5)+8>>3]>+b[m+(t+-1<<5)+8>>3]?-1:1;else n=0;if((t|0)<(u|0))l=+b[m+(t+1<<5)+8>>3]>+b[m+(t<<5)+8>>3]?1:-1;else l=0;e:do{if((n|0)!=(l|0))if((n|0)==1|(l|0)==-1){n=m+(t<<5)|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+8|0;W=29;break}else{n=m+(t<<5)+16|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+24|0;W=29;break}else{switch(n|0){case-1:break e;case 0:break;default:{W=28;break A}}n=m+(t<<5)|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+8|0;W=29}}while(0);if((W|0)==29){W=0;b[h+(l<<4)+8>>3]=+b[n>>3];f=f+2|0}t=t+1|0}if((W|0)==28){a[w>>2]=n;a[w+4>>2]=n;a[w+8>>2]=480;ao(1,104761,w)|0;f=0;break}A:while(1){if((t|0)<=-1)break;if((t|0)<(u|0))f=+b[m+(t<<5)+8>>3]>+b[m+(t+1<<5)+8>>3]?-1:1;else f=0;if((t|0)>0)n=+b[m+(t+-1<<5)+8>>3]>+b[m+(t<<5)+8>>3]?1:-1;else n=0;e:do{if((f|0)!=(n|0))if((f|0)==1|(n|0)==-1){f=m+(t<<5)|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+8|0;l=2;break}else{f=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+24|0;l=2;break}else switch(f|0){case 0:{f=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+24|0;l=2;break e}case-1:{X=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[X>>3];f=m+(t<<5)+8|0;l=w+1|0;b[h+(w<<4)+8>>3]=+b[f>>3];b[h+(l<<4)>>3]=+b[X>>3];X=m+(t<<5)+24|0;N=w+2|0;b[h+(l<<4)+8>>3]=+b[X>>3];l=m+(t<<5)|0;b[h+(N<<4)>>3]=+b[l>>3];n=w+3|0;b[h+(N<<4)+8>>3]=+b[X>>3];b[h+(n<<4)>>3]=+b[l>>3];l=4;break e}default:{W=42;break A}}}while(0);b[h+(n<<4)+8>>3]=+b[f>>3];t=t+-1|0;w=w+l|0}if((W|0)==42){a[B>>2]=f;a[B+4>>2]=f;a[B+8>>2]=513;ao(1,104761,B)|0;f=0;break}A:do{if(!o)f=0;else{f=0;while(1){if((f|0)>=(z|0)){f=0;break}N=m+(f<<5)+24|0;s=+b[N>>3];X=m+(f<<5)+8|0;b[N>>3]=-+b[X>>3];b[X>>3]=-s;f=f+1|0}while(1){if((f|0)>=(w|0)){f=0;break A}X=h+(f<<4)+8|0;b[X>>3]=-+b[X>>3];f=f+1|0}}}while(0);while(1){if((f|0)>=(z|0))break;b[m+(f<<5)>>3]=2147483647.0;b[m+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}a[v>>2]=d;l=v+4|0;a[l>>2]=w;b[g>>3]=+b[A>>3];b[g+8>>3]=+b[A+8>>3];b[g+16>>3]=+b[A+40>>3];b[g+24>>3]=+b[A+48>>3];if((ic(v,g,Y)|0)<0){ao(1,104865,E)|0;f=0;break}if(!i){n=a[l>>2]|0;f=a[47274]|0;if((n|0)>(a[47273]|0)){if(!f)f=$F(n<<5)|0;else f=eV(f,n<<5)|0;a[47274]=f;n=a[l>>2]|0;a[47273]=n}t=a[47281]|0;l=0;while(1){if((l|0)>=(n|0))break;N=f+(l<<5)|0;X=t+(l<<4)|0;a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];N=f+(l<<5)+16|0;X=l+1|0;E=t+(((X|0)%(n|0)|0)<<4)|0;a[N>>2]=a[E>>2];a[N+4>>2]=a[E+4>>2];a[N+8>>2]=a[E+8>>2];a[N+12>>2]=a[E+12>>2];l=X}if(!(r[A+29>>0]|0)){c=0.0;s=0.0}else{s=+b[A+16>>3];c=+D(+s);s=+M(+s)}b[C+8>>3]=s;b[C>>3]=c;if(!(r[A+69>>0]|0)){c=0.0;s=0.0}else{s=+b[A+56>>3];c=-+D(+s);s=-+M(+s)}b[C+24>>3]=s;b[C+16>>3]=c;a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];if((Mt(f,n,y,C,Z)|0)<0){ao(1,104904,I)|0;f=0;break}}else{a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];Gc(y,Z)}w=Z+4|0;if(!(SJ(a[w>>2]|0)|0)){f=0;while(1){if((f|0)>=(z|0))break;b[m+(f<<5)>>3]=2147483647.0;b[m+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}l=a[w>>2]|0;t=a[47275]|0;n=a[Z>>2]|0;f=0;while(1){if((f|0)>=(l|0)){l=1;f=10;n=0;break}X=t+(f<<4)|0;N=n+(f<<4)|0;a[X>>2]=a[N>>2];a[X+4>>2]=a[N+4>>2];a[X+8>>2]=a[N+8>>2];a[X+12>>2]=a[N+12>>2];f=f+1|0}while(1){if(!((n|0)<15&l<<24>>24!=0))break;$J(m,z,a[47275]|0,a[w>>2]|0,f);t=0;while(1){if((t|0)>=(z|0))break;if(+b[m+(t<<5)>>3]==2147483647.0){W=82;break}if(+b[m+(t<<5)+16>>3]==-2147483648.0){W=82;break}t=t+1|0}if((W|0)==82){W=0;X=f<<1;f=X;n=(X|0)>(2147483647/(z|0)|0|0)?15:n}l=(t|0)==(z|0)?0:l;n=n+1|0}if(l<<24>>24){N=Vh(a[((a[L>>2]&3|0)==3?L:G)+40>>2]|0)|0;X=Vh(a[((a[L>>2]&3|0)==2?L:Q)+40>>2]|0)|0;a[V>>2]=N;a[V+4>>2]=X;ao(0,104942,V)|0;a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];Gc(y,F);$J(m,z,a[F>>2]|0,a[F+4>>2]|0,10);L2(a[F>>2]|0)}a[e>>2]=a[w>>2];f=a[47275]|0}else f=0}else f=0}}while(0);k=J;return f|0}function qJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0.0,J=0,N=0,X=0,R=0.0,H=0,p=0,U=0;U=k;k=k+32|0;M=U+16|0;D=U+8|0;c=U;r=0;t=0;while(1){if((t|0)>=(A|0))break;l=e+(t<<5)|0;B=+b[e+(t<<5)+8>>3]-+b[e+(t<<5)+24>>3];if(!((B>=0.0?B:-B)<.01)?(B=+b[l>>3]-+b[e+(t<<5)+16>>3],!((B>=0.0?B:-B)<.01)):0){if((r|0)!=(t|0)){H=e+(r<<5)|0;a[H>>2]=a[l>>2];a[H+4>>2]=a[l+4>>2];a[H+8>>2]=a[l+8>>2];a[H+12>>2]=a[l+12>>2];a[H+16>>2]=a[l+16>>2];a[H+20>>2]=a[l+20>>2];a[H+24>>2]=a[l+24>>2];a[H+28>>2]=a[l+28>>2]}r=r+1|0}t=t+1|0}F=e+16|0;do{if(!(+b[e>>3]>+b[F>>3])?(J=e+8|0,X=e+24|0,!(+b[J>>3]>+b[X>>3])):0){H=r+-1|0;N=a[15712]|0;C=0;while(1){if((C|0)>=(H|0))break;W=C+1|0;y=e+(W<<5)|0;f=+b[y>>3];z=e+(W<<5)+16|0;n=+b[z>>3];if(f>n){p=16;break}Q=e+(W<<5)+8|0;s=+b[Q>>3];m=e+(W<<5)+24|0;w=+b[m>>3];if(s>w){p=16;break}Y=e+(C<<5)+16|0;E=+b[Y>>3]>3]>n;A=g&1;G=e+(C<<5)+24|0;v=+b[G>>3]>3]>w;l=c&1;I=A+r+t+l|0;u=(I|0)!=0;if(!(0==0|u^1)){a[M>>2]=C;a[M+4>>2]=W;f3(N,105142,M)|0;AN(i)}A:do{if(u){if(!E)if(!g)if(!v){if(c){c=0;u=r;r=m;l=Z;p=24}}else{c=l;t=0;u=r;r=Q;l=G;p=24}else{c=l;A=0;u=r;r=z;l=L;p=24}else{c=l;u=0;r=y;l=Y;p=24}if((p|0)==24){p=0;C=~~+b[l>>3];b[l>>3]=+b[r>>3];b[r>>3]=+(C|0);l=c;r=u}u=I+-1|0;c=0;while(1){if((c|0)>=(u|0))break A;do{if((r|0)!=1){if((A|0)==1){B=+(~~((+b[z>>3]+ +b[L>>3])*.5+.5)|0);b[z>>3]=B;b[L>>3]=B;A=0;break}if((t|0)==1){B=+(~~((+b[Q>>3]+ +b[G>>3])*.5+.5)|0);b[Q>>3]=B;b[G>>3]=B;t=0;break}if((l|0)==1){B=+(~~((+b[m>>3]+ +b[Z>>3])*.5+.5)|0);b[m>>3]=B;b[Z>>3]=B;l=0}}else{B=+(~~((+b[y>>3]+ +b[Y>>3])*.5+.5)|0);b[y>>3]=B;b[Y>>3]=B;r=0}}while(0);c=c+1|0}}}while(0);o=+b[L>>3];h=+b[Y>>3];d=+b[y>>3];B=+b[z>>3];l=eN(~~o,~~h,~~d,~~B)|0;w=+b[Z>>3];s=+b[G>>3];n=+b[Q>>3];f=+b[m>>3];r=eN(~~w,~~s,~~n,~~f)|0;if(!((l|0)!=0&(r|0)!=0)){C=W;continue}if((l|0)<(r|0)){m=h-o>B-d;C=h>3]=m?C?d:B:C?h:o;C=W;continue}else{m=s-w>f-n;C=s>3]=m?C?n:f:C?s:w;C=W;continue}}if((p|0)==16){a[D>>2]=W;ao(1,105096,D)|0;AN(i);r=1;break}f=+b[i>>3];n=+b[e>>3];if(!(((!(f+b[F>>3]):0)?(V=+b[i+8>>3],!(V<+b[J>>3])):0)?!(V>+b[X>>3]):0)){if(0){L3(105185,42,1,N)|0;AN(i);n=+b[e>>3];f=+b[i>>3]}if(f>3]=n;else n=f;f=+b[F>>3];if(n>f)b[i>>3]=f;r=i+8|0;n=+b[r>>3];f=+b[J>>3];if(n>3]=f;n=f}f=+b[X>>3];if(n>f)b[r>>3]=f}l=i+40|0;f=+b[l>>3];r=e+(H<<5)|0;n=+b[r>>3];if(((!(f+b[e+(H<<5)+16>>3]):0)?(R=+b[i+48>>3],!(R<+b[e+(H<<5)+8>>3])):0)?!(R>+b[e+(H<<5)+24>>3]):0){r=0;break}if(0){L3(105228,39,1,N)|0;AN(i);n=+b[r>>3];f=+b[l>>3]}if(f>3]=n;f=n}n=+b[e+(H<<5)+16>>3];if(f>n)b[l>>3]=n;r=i+48|0;f=+b[r>>3];n=+b[e+(H<<5)+8>>3];if(f>3]=n;else n=f;f=+b[e+(H<<5)+24>>3];if(n>f){b[r>>3]=f;r=0}else r=0}else p=12}while(0);if((p|0)==12){ao(1,105051,c)|0;AN(i);r=1}k=U;return r|0}function $J(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0;B=U(f,e)|0;v=1.0/+(B|0);f=0;A:while(1){g=f+3|0;if((g|0)>=(r|0))break;k=i+(f<<4)|0;o=i+(f<<4)+8|0;d=f+1|0;h=i+(d<<4)|0;d=i+(d<<4)+8|0;t=f+2|0;l=i+(t<<4)|0;t=i+(t<<4)+8|0;c=i+(g<<4)|0;s=i+(g<<4)+8|0;n=0;while(1){if((n|0)>(B|0)){f=g;continue A}E=v*+(n|0);w=+b[k>>3];u=+b[o>>3];Z=+b[h>>3];C=+b[d>>3];G=+b[l>>3];I=+b[t>>3];w=(Z-w)*E+w;u=(C-u)*E+u;Z=(G-Z)*E+Z;C=(I-C)*E+C;w=(Z-w)*E+w;u=(C-u)*E+u;w=((G-Z+(+b[c>>3]-G)*E)*E+Z-w)*E+w;u=((I-C+(+b[s>>3]-I)*E)*E+C-u)*E+u;a=0;while(1){if((a|0)>=(e|0))break;if(u<=+b[A+(a<<5)+24>>3]+.0001?u>=+b[A+(a<<5)+8>>3]+-.0001:0){f=A+(a<<5)|0;if(+b[f>>3]>w)b[f>>3]=w;f=A+(a<<5)+16|0;if(+b[f>>3]>3]=w}a=a+1|0}n=n+1|0}}return}function AN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0;s=k;k=k+112|0;t=s+80|0;c=s+48|0;l=s+8|0;n=s;i=a[15712]|0;f=A+80|0;a[n>>2]=a[f>>2];f3(i,105268,n)|0;n=A+84|0;e=0;while(1){if((e|0)>=(a[f>>2]|0))break;d=a[n>>2]|0;h=+b[d+(e<<5)>>3];o=+b[d+(e<<5)+8>>3];u=+b[d+(e<<5)+16>>3];w=+b[d+(e<<5)+24>>3];a[l>>2]=e;b[l+8>>3]=h;b[l+16>>3]=o;b[l+24>>3]=u;b[l+32>>3]=w;f3(i,105279,l)|0;e=e+1|0}h=+b[A+8>>3];o=+b[A+16>>3];d=r[A+29>>0]|0?105310:105322;b[c>>3]=+b[A>>3];b[c+8>>3]=h;b[c+16>>3]=o;a[c+24>>2]=d;f3(i,105338,c)|0;o=+b[A+48>>3];h=+b[A+56>>3];d=r[A+69>>0]|0?105310:105322;b[t>>3]=+b[A+40>>3];b[t+8>>3]=o;b[t+16>>3]=h;a[t+24>>2]=d;f3(i,105389,t)|0;k=s;return}function eN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;do{if((e|0)>(i|0)&(r|0)>(A|0)){if(!((i|0)>(A|0)|(r|0)<(A|0))){A=r-A|0;break}if((e|0)<(i|0)|(e|0)>(r|0)){e=e-A|0;A=r-i|0;A=(e|0)<(A|0)?e:A;break}else{A=e-i|0;break}}else A=0}while(0);return A|0}function iN(A,e){A=A|0;e=e|0;return _J(A,e,1)|0}function rN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+80|0;n=c;t=1;f=e;while(1){l=f;f=a[(a[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(l|0)!=(f|0)))break;else t=t+1|0}if((t|0)>=21)n=qF(t<<2)|0;l=0;f=e;while(1){if((l|0)>=(t|0))break;a[n+(l<<2)>>2]=f;l=l+1|0;f=a[(a[f+16>>2]|0)+172>>2]|0}fN(A,n,t,i,r);if((t|0)>20)L2(n);k=c;return}function fN(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0.0,N=0.0,X=0.0,R=0,H=0;V=k;k=k+304|0;Q=V+272|0;G=V+208|0;Y=V+96|0;D=V+32|0;M=V+16|0;F=V;d=V+192|0;Z=V+176|0;l=V+160|0;m=V+296|0;L=V+288|0;t=a[e>>2]|0;C=a[t>>2]&3;c=t+-48|0;W=a[((C|0)==2?t:c)+40>>2]|0;v=Y+16|0;C=(a[(a[((C|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+16|0;I=t+16|0;y=(a[I>>2]|0)+16|0;a[G>>2]=a[C>>2];a[G+4>>2]=a[C+4>>2];a[G+8>>2]=a[C+8>>2];a[G+12>>2]=a[C+12>>2];a[Q>>2]=a[y>>2];a[Q+4>>2]=a[y+4>>2];a[Q+8>>2]=a[y+8>>2];a[Q+12>>2]=a[y+12>>2];aN(d,G,Q);a[Y>>2]=a[d>>2];a[Y+4>>2]=a[d+4>>2];a[Y+8>>2]=a[d+8>>2];a[Y+12>>2]=a[d+12>>2];a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];a[M>>2]=a[d>>2];a[M+4>>2]=a[d+4>>2];a[M+8>>2]=a[d+8>>2];a[M+12>>2]=a[d+12>>2];d=Y+32|0;y=Y+48|0;C=(a[W+16>>2]|0)+16|0;I=(a[I>>2]|0)+56|0;a[G>>2]=a[C>>2];a[G+4>>2]=a[C+4>>2];a[G+8>>2]=a[C+8>>2];a[G+12>>2]=a[C+12>>2];a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];aN(Z,G,Q);a[y>>2]=a[Z>>2];a[y+4>>2]=a[Z+4>>2];a[y+8>>2]=a[Z+8>>2];a[y+12>>2]=a[Z+12>>2];a[d>>2]=a[Z>>2];a[d+4>>2]=a[Z+4>>2];a[d+8>>2]=a[Z+8>>2];a[d+12>>2]=a[Z+12>>2];a[F>>2]=a[Z>>2];a[F+4>>2]=a[Z+4>>2];a[F+8>>2]=a[Z+8>>2];a[F+12>>2]=a[Z+12>>2];A:do{if((i|0)!=1&(r[194954]|0)==0){s=+b[Y>>3];w=+b[y>>3];J=s-w;u=+b[Y+8>>3];o=+b[Y+56>>3];B=u-o;h=B*B;if(h+J*J<1.0e-06){a[v>>2]=a[Y>>2];a[v+4>>2]=a[Y+4>>2];a[v+8>>2]=a[Y+8>>2];a[v+12>>2]=a[Y+12>>2];a[d>>2]=a[y>>2];a[d+4>>2]=a[y+4>>2];a[d+8>>2]=a[y+8>>2];a[d+12>>2]=a[y+12>>2];Z=Y+24|0;I=Y+40|0;w=0.0;s=0.0}else{N=w-s;J=+z(+(h+N*N));C=a[(a[(a[A+60>>2]|0)+16>>2]|0)+248>>2]|0;X=+((U(C,i+-1|0)|0)/2|0|0);h=B*X/J;b[v>>3]=h+s;s=N*X/J;Z=Y+24|0;b[Z>>3]=s+u;b[d>>3]=h+w;I=Y+40|0;b[I>>3]=o+s;s=+(0-C|0);w=N*s/J;s=B*s/J}f=(f|0)==6;g=L+4|0;E=m+4|0;t=0;while(1){if((t|0)>=(i|0))break A;C=a[e+(t<<2)>>2]|0;c=C+-48|0;e:do{if((a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0)==(W|0)){a[M>>2]=a[Y>>2];a[M+4>>2]=a[Y+4>>2];a[M+8>>2]=a[Y+8>>2];a[M+12>>2]=a[Y+12>>2];a[F>>2]=a[y>>2];a[F+4>>2]=a[y+4>>2];a[F+8>>2]=a[y+8>>2];a[F+12>>2]=a[y+12>>2];l=0;while(1){if((l|0)==4)break e;R=D+(l<<4)|0;H=Y+(l<<4)|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];l=l+1|0}}else{a[M>>2]=a[y>>2];a[M+4>>2]=a[y+4>>2];a[M+8>>2]=a[y+8>>2];a[M+12>>2]=a[y+12>>2];a[F>>2]=a[Y>>2];a[F+4>>2]=a[Y+4>>2];a[F+8>>2]=a[Y+8>>2];a[F+12>>2]=a[Y+12>>2];l=0;while(1){if((l|0)==4)break e;H=D+(3-l<<4)|0;R=Y+(l<<4)|0;a[H>>2]=a[R>>2];a[H+4>>2]=a[R+4>>2];a[H+8>>2]=a[R+8>>2];a[H+12>>2]=a[R+12>>2];l=l+1|0}}}while(0);if(f){a[g>>2]=4;a[L>>2]=G;l=0;while(1){if((l|0)==4)break;H=G+(l<<4)|0;R=D+(l<<4)|0;a[H>>2]=a[R>>2];a[H+4>>2]=a[R+4>>2];a[H+8>>2]=a[R+8>>2];a[H+12>>2]=a[R+12>>2];l=l+1|0}a[Q>>2]=a[L>>2];a[Q+4>>2]=a[L+4>>2];Gc(Q,m);gX(C,a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0,a[m>>2]|0,a[E>>2]|0,n)}else gX(C,a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0,D,4,n);a[G>>2]=a[M>>2];a[G+4>>2]=a[M+4>>2];a[G+8>>2]=a[M+8>>2];a[G+12>>2]=a[M+12>>2];a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];HX(A,C,G,Q);b[v>>3]=+b[v>>3]+s;b[Z>>3]=+b[Z>>3]+w;b[d>>3]=+b[d>>3]+s;b[I>>3]=+b[I>>3]+w;t=t+1|0}}else{if((f|0)==4){nN(l,A);a[Q>>2]=a[l>>2];a[Q+4>>2]=a[l+4>>2];a[Q+8>>2]=a[l+8>>2];a[Q+12>>2]=a[l+12>>2];lN(Y,Q)}gX(t,a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0,Y,4,n);a[G>>2]=a[M>>2];a[G+4>>2]=a[M+4>>2];a[G+8>>2]=a[M+8>>2];a[G+12>>2]=a[M+12>>2];a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];HX(A,t,G,Q)}}while(0);k=V;return}function aN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function nN(A,e){A=A|0;e=e|0;e=a[e+16>>2]|0;b[23305]=(+b[e+32>>3]+ +b[e+16>>3])*.5;b[23306]=(+b[e+40>>3]+ +b[e+24>>3])*.5;a[A>>2]=a[46610];a[A+4>>2]=a[46611];a[A+8>>2]=a[46612];a[A+12>>2]=a[46613];return}function lN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;a=+b[A>>3];r=+b[A+48>>3];l=(r+a)*.5;n=+b[A+8>>3];i=+b[A+56>>3];f=(i+n)*.5;a=r-a;n=i-n;a=+z(+(n*n+a*a))*.2;n=+b[e>>3]-l;i=+b[e+8>>3]-f;r=+z(+(i*i+n*n));if(!(r==0.0)){n=l-n/r*a;l=f-i/r*a;b[A+32>>3]=n;b[A+16>>3]=n;b[A+40>>3]=l;b[A+24>>3]=l}return}function tN(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0.0,Y=0,D=0.0,M=0.0,F=0.0;W=k;k=k+208|0;v=W+192|0;B=W+176|0;m=W+32|0;C=W+16|0;I=W;Z=W+160|0;G=W+144|0;g=W+128|0;E=W+112|0;n=r&2130706432;Q=(r&8|0)==0?(n|0)==0?4:n:8;if((Q|0)==436207616)cN(A,e,i,f);else{L=qF((i<<6)+64|0)|0;o=i+-1|0;h=I+8|0;d=C+8|0;u=12.0;r=0;while(1){if((r|0)>=(i|0))break;w=e+(r<<4)|0;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];if((r|0)<(o|0)){r=r+1|0;w=e+(r<<4)|0;a[I>>2]=a[w>>2];a[I+4>>2]=a[w+4>>2];a[I+8>>2]=a[w+8>>2];a[I+12>>2]=a[w+12>>2]}else{a[I>>2]=a[e>>2];a[I+4>>2]=a[e+4>>2];a[I+8>>2]=a[e+8>>2];a[I+12>>2]=a[e+12>>2];r=r+1|0}s=+b[I>>3]-+b[C>>3];y=+b[h>>3]-+b[d>>3];s=+z(+(y*y+s*s))*.3333333333333333;u=u=(i|0))break;n=e+(l<<4)|0;a[C>>2]=a[n>>2];a[C+4>>2]=a[n+4>>2];a[C+8>>2]=a[n+8>>2];a[C+12>>2]=a[n+12>>2];if((l|0)<(o|0)){n=e+(l+1<<4)|0;a[I>>2]=a[n>>2];a[I+4>>2]=a[n+4>>2];a[I+8>>2]=a[n+8>>2];a[I+12>>2]=a[n+12>>2]}else{a[I>>2]=a[e>>2];a[I+4>>2]=a[e+4>>2];a[I+8>>2]=a[e+8>>2];a[I+12>>2]=a[e+12>>2]}s=+b[I>>3]-+b[C>>3];y=+b[h>>3]-+b[d>>3];s=u/+z(+(y*y+s*s));s=c?s*.3333333333333333:t?s*.5:s;n=L+(r<<4)|0;if(w){a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(Z,s*.5,B,v);a[n>>2]=a[Z>>2];a[n+4>>2]=a[Z+4>>2];a[n+8>>2]=a[Z+8>>2];a[n+12>>2]=a[Z+12>>2]}else{a[n>>2]=a[C>>2];a[n+4>>2]=a[C+4>>2];a[n+8>>2]=a[C+8>>2];a[n+12>>2]=a[C+12>>2]}n=L+(r+1<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(G,s,B,v);a[n>>2]=a[G>>2];a[n+4>>2]=a[G+4>>2];a[n+8>>2]=a[G+8>>2];a[n+12>>2]=a[G+12>>2];n=r+3|0;Y=L+(r+2<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(g,1.0-s,B,v);a[Y>>2]=a[g>>2];a[Y+4>>2]=a[g+4>>2];a[Y+8>>2]=a[g+8>>2];a[Y+12>>2]=a[g+12>>2];if(w){Y=L+(n<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(E,1.0-s*.5,B,v);a[Y>>2]=a[E>>2];a[Y+4>>2]=a[E+4>>2];a[Y+8>>2]=a[E+8>>2];a[Y+12>>2]=a[E+12>>2];r=r+4|0}else r=n;l=l+1|0}c=L+(r<<4)|0;a[c>>2]=a[L>>2];a[c+4>>2]=a[L+4>>2];a[c+8>>2]=a[L+8>>2];a[c+12>>2]=a[L+12>>2];c=L+(r+1<<4)|0;t=L+16|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];r=L+(r+2<<4)|0;c=L+32|0;a[r>>2]=a[c>>2];a[r+4>>2]=a[c+4>>2];a[r+8>>2]=a[c+8>>2];a[r+12>>2]=a[c+12>>2];r=Q&2147483647;A:do{if((r|0)<201326592){if((r|0)>=83886080){if((r|0)<134217728){if((r|0)<100663296){switch(r|0){case 83886080:break;default:break A}if((i|0)==4){Y=qF(192)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];o=Y+16|0;v=e+16|0;a[o>>2]=a[v>>2];a[o+4>>2]=a[v+4>>2];a[o+8>>2]=a[v+8>>2];a[o+12>>2]=a[v+12>>2];o=L+48|0;v=L+64|0;u=+b[v>>3];w=Y+32|0;b[w>>3]=u;h=L+56|0;d=L+72|0;D=+b[d>>3];G=Y+40|0;b[G>>3]=D;y=+b[o>>3]+u-+b[c>>3];g=Y+48|0;b[g>>3]=y;F=+b[h>>3]+D-+b[L+40>>3];I=Y+56|0;b[I>>3]=F;M=+b[v>>3]+y-+b[o>>3];o=Y+64|0;b[o>>3]=M;s=+b[d>>3]+F-+b[h>>3];h=Y+72|0;b[h>>3]=s;d=Y+80|0;b[d>>3]=u+M-y;b[Y+88>>3]=D+s-F;v=L+96|0;E=L+80|0;F=+b[E>>3];i=Y+144|0;b[i>>3]=F;C=L+104|0;B=L+88|0;s=+b[B>>3];b[Y+152>>3]=s;D=+b[v>>3]+F-+b[L+112>>3];Z=Y+128|0;b[Z>>3]=D;y=+b[C>>3]+s-+b[L+120>>3];Q=Y+136|0;b[Q>>3]=y;M=+b[E>>3]+D-+b[v>>3];v=Y+112|0;b[v>>3]=M;u=+b[B>>3]+y-+b[C>>3];C=Y+120|0;b[C>>3]=u;B=Y+96|0;b[B>>3]=F+M-D;E=Y+104|0;b[E>>3]=s+u-y;c=Y+160|0;t=e+32|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];c=Y+176|0;e=e+48|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];ar(A,Y,12,f);a[m>>2]=a[w>>2];a[m+4>>2]=a[w+4>>2];a[m+8>>2]=a[w+8>>2];a[m+12>>2]=a[w+12>>2];y=+b[w>>3];u=+b[g>>3];y=y+y-u;g=m+16|0;b[g>>3]=y;s=+b[G>>3];D=+b[I>>3];s=s+s-D;I=m+24|0;b[I>>3]=s;G=m+32|0;b[G>>3]=+b[o>>3]+y-u;e=m+40|0;b[e>>3]=+b[h>>3]+s-D;f=m+48|0;a[f>>2]=a[d>>2];a[f+4>>2]=a[d+4>>2];a[f+8>>2]=a[d+8>>2];a[f+12>>2]=a[d+12>>2];tr(A,m,4);a[m>>2]=a[B>>2];a[m+4>>2]=a[B+4>>2];a[m+8>>2]=a[B+8>>2];a[m+12>>2]=a[B+12>>2];D=+b[B>>3];s=+b[v>>3];D=D-(s-D);b[g>>3]=D;u=+b[E>>3];y=+b[C>>3];u=u-(y-u);b[I>>3]=u;b[G>>3]=+b[Z>>3]+D-s;b[e>>3]=+b[Q>>3]+u-y;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];tr(A,m,4);L2(Y);break}else vA(105438,105449,737,105458)}if((r|0)<117440512){switch(r|0){case 100663296:break;default:break A}Z=i+5|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];D=(+b[e>>3]-D)*.625+D;b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;E=L+48|0;C=L+56|0;I=L+72|0;F=(+b[i>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*1.5;b[Y+8>>3]=F;M=+b[G>>3];M=(+b[e>>3]-M)*.25+M;b[Y+16>>3]=M;b[Y+24>>3]=F;b[Y+32>>3]=M;y=+b[Q>>3];b[Y+40>>3]=(+b[i>>3]-y)*.5+y;M=(+b[c>>3]-+b[E>>3])*.5+M;b[Y+48>>3]=M;y=+b[Q>>3];b[Y+56>>3]=(+b[i>>3]-y)*.5+y;b[Y+64>>3]=M;M=+b[Q>>3];M=(+b[i>>3]-M)*.5+M+(+b[C>>3]-+b[I>>3]);b[Y+72>>3]=M;b[Y+80>>3]=D;b[Y+88>>3]=M;b[Y+96>>3]=D;M=M-(+b[C>>3]-+b[I>>3])*.25;b[Y+104>>3]=M;b[Y+112>>3]=+b[c>>3]+D-+b[E>>3];b[Y+120>>3]=(+b[C>>3]-+b[I>>3])*.5+M;b[Y+128>>3]=+b[Y>>3];b[Y+136>>3]=(+b[C>>3]-+b[I>>3])*.25+F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 117440512:break;default:break A}i=i+1|0;Y=qF(i<<4)|0;b[Y>>3]=+b[t>>3];G=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[G>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[L+48>>3];F=+b[G>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];m=e+40|0;b[Y+40>>3]=(+b[G>>3]-+b[Q>>3])*.5+ +b[m>>3];b[Y+48>>3]=+b[t>>3];b[Y+56>>3]=(+b[G>>3]-+b[Q>>3])*.5+ +b[m>>3];F=+b[e+8>>3];b[Y+72>>3]=F-(F-+b[e+56>>3])*.5;b[Y+64>>3]=+b[e>>3];ar(A,Y,i,f);L2(Y);break}}if((r|0)<167772160)if((r|0)<150994944){switch(r|0){case 134217728:break;default:break A}Z=i+4|0;Y=qF(Z<<4)|0;G=e+16|0;y=+b[G>>3];I=L+48|0;y=(+b[e>>3]-y)*.5+y+(+b[c>>3]-+b[I>>3])*.25;b[Y>>3]=y;Q=e+40|0;F=+b[Q>>3];i=e+24|0;F=(+b[i>>3]-F)*.5+F;b[Y+8>>3]=F;b[Y+16>>3]=y;E=L+56|0;C=L+72|0;D=(+b[E>>3]-+b[C>>3])*.5+F;b[Y+24>>3]=D;y=(+b[c>>3]-+b[I>>3])*.5+y;b[Y+32>>3]=y;b[Y+40>>3]=D;b[Y+48>>3]=y;y=(+b[E>>3]-+b[C>>3])*.5+D;b[Y+56>>3]=y;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.75;b[Y+64>>3]=M;b[Y+72>>3]=y;b[Y+80>>3]=M;b[Y+88>>3]=D;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.25;b[Y+96>>3]=M;b[Y+104>>3]=D;b[Y+112>>3]=M;b[Y+120>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 150994944:break;default:break A}Z=i+2|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];I=L+48|0;D=(+b[e>>3]-D)*.5+D+(+b[c>>3]-+b[I>>3])*.75;b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;F=(+b[i>>3]-F)*.5+F;b[Y+8>>3]=F;b[Y+16>>3]=D;E=L+56|0;C=L+72|0;D=(+b[E>>3]-+b[C>>3])*.25+F;b[Y+24>>3]=D;M=+b[G>>3];b[Y+32>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*.25;M=(+b[E>>3]-+b[C>>3])*.5+D;b[Y+40>>3]=M;y=+b[G>>3];b[Y+48>>3]=(+b[e>>3]-y)*.5+y+(+b[c>>3]-+b[I>>3])*-.25;b[Y+56>>3]=M;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.75;b[Y+64>>3]=M;b[Y+72>>3]=D;b[Y+80>>3]=M;b[Y+88>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else if((r|0)<184549376){switch(r|0){case 167772160:break;default:break A}Z=i+1|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];E=L+48|0;D=+b[c>>3]+D+(+b[e>>3]-D)*.5-+b[E>>3];b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;C=L+56|0;I=L+72|0;F=(+b[i>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*.25;b[Y+8>>3]=F;D=D-+b[c>>3]+ +b[E>>3];b[Y+16>>3]=D;b[Y+24>>3]=+b[C>>3]+F-+b[I>>3];b[Y+32>>3]=D;D=(+b[C>>3]-+b[I>>3])*.5+F;b[Y+40>>3]=D;M=+b[G>>3];M=(+b[e>>3]-M)*.25+M;b[Y+48>>3]=M;b[Y+56>>3]=D;b[Y+64>>3]=M;b[Y+72>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 184549376:break;default:break A}G=i+4|0;Y=qF(G<<4)|0;Z=e+16|0;D=+b[Z>>3];M=+b[e>>3]-D;g=L+48|0;M=M*.125+D+(+b[c>>3]-+b[g>>3]+M)*.5;b[Y>>3]=M;C=e+40|0;D=+b[C>>3];I=e+24|0;i=L+56|0;E=L+72|0;D=(+b[I>>3]-D)*.5+D+(+b[i>>3]-+b[E>>3])*.25;b[Y+8>>3]=D;F=+b[Z>>3];F=(+b[e>>3]-F)*.375+F;b[Y+16>>3]=F;b[Y+24>>3]=D;b[Y+32>>3]=F;D=(+b[i>>3]-+b[E>>3])*.5+D;b[Y+40>>3]=D;F=F-(+b[c>>3]-+b[g>>3])*.5;b[Y+48>>3]=F;b[Y+56>>3]=D;Q=Y+64|0;b[Q>>3]=F;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[i>>3]-+b[E>>3])*-.25;b[Y+72>>3]=F;D=M-(+b[c>>3]-+b[g>>3])*.5;b[Y+80>>3]=D;b[Y+88>>3]=F;b[Y+96>>3]=D;F=F-(+b[i>>3]-+b[E>>3])*.5;b[Y+104>>3]=F;E=Y+112|0;b[E>>3]=M;b[Y+120>>3]=F;ar(A,Y,G,f);b[m>>3]=+b[Z>>3];F=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-F)*.5+F;G=m+16|0;b[G>>3]=+b[Q>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);b[m>>3]=+b[E>>3];F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=+b[e>>3];b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<33554432){if((r|0)<8){switch(r|0){case 4:break;default:break A}l=$F((i*96|0)+32|0)|0;r=0;n=0;while(1){t=n|1;c=l+(n<<4)|0;if((r|0)>=(i|0))break;e=r<<2;Y=L+(e<<4)|0;a[c>>2]=a[Y>>2];a[c+4>>2]=a[Y+4>>2];a[c+8>>2]=a[Y+8>>2];a[c+12>>2]=a[Y+12>>2];Y=l+(t<<4)|0;m=L+((e|1)<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+2<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+3<<4)|0;m=L+((e|2)<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+4<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+5<<4)|0;e=L+((e|3)<<4)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];r=r+1|0;n=n+6|0}a[c>>2]=a[l>>2];a[c+4>>2]=a[l+4>>2];a[c+8>>2]=a[l+8>>2];a[c+12>>2]=a[l+12>>2];i=l+(t<<4)|0;Y=l+16|0;a[i>>2]=a[Y>>2];a[i+4>>2]=a[Y+4>>2];a[i+8>>2]=a[Y+8>>2];a[i+12>>2]=a[Y+12>>2];lr(A,Y,t,0,0,f&255);L2(l);break}if((r|0)<16777216){switch(r|0){case 8:break;default:break A}ar(A,e,i,f);n=m+16|0;r=0;while(1){if((r|0)>=(i|0))break A;Y=r*3|0;f=L+(Y+2<<4)|0;a[m>>2]=a[f>>2];a[m+4>>2]=a[f+4>>2];a[m+8>>2]=a[f+8>>2];a[m+12>>2]=a[f+12>>2];Y=L+(Y+4<<4)|0;a[n>>2]=a[Y>>2];a[n+4>>2]=a[Y+4>>2];a[n+8>>2]=a[Y+8>>2];a[n+12>>2]=a[Y+12>>2];tr(A,m,2);r=r+1|0}}switch(r|0){case 16777216:break;default:break A}n=i+1|0;l=qF(n<<4)|0;r=1;while(1){if((r|0)>=(i|0))break;Y=l+(r<<4)|0;Q=e+(r<<4)|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];r=r+1|0}e=i*3|0;Q=L+(e+1<<4)|0;a[l>>2]=a[Q>>2];a[l+4>>2]=a[Q+4>>2];a[l+8>>2]=a[Q+8>>2];a[l+12>>2]=a[Q+12>>2];i=l+(i<<4)|0;Y=L+(e+-1<<4)|0;a[i>>2]=a[Y>>2];a[i+4>>2]=a[Y+4>>2];a[i+8>>2]=a[Y+8>>2];a[i+12>>2]=a[Y+12>>2];ar(A,l,n,f);L2(l);a[m>>2]=a[Y>>2];a[m+4>>2]=a[Y+4>>2];a[m+8>>2]=a[Y+8>>2];a[m+12>>2]=a[Y+12>>2];Y=m+16|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];f=m+32|0;b[f>>3]=+b[m>>3]+ +b[Y>>3]-+b[L+(e<<4)>>3];b[m+40>>3]=+b[m+8>>3]+ +b[m+24>>3]-+b[L+(e<<4)+8>>3];tr(A,Y,2);a[Y>>2]=a[f>>2];a[Y+4>>2]=a[f+4>>2];a[Y+8>>2]=a[f+8>>2];a[Y+12>>2]=a[f+12>>2];tr(A,m,2);break}else{if((r|0)<50331648){switch(r|0){case 33554432:break;default:break A}n=i+2|0;l=qF(n<<4)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];t=l+16|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];t=L+48|0;i=L+64|0;b[l+32>>3]=(+b[t>>3]-+b[i>>3])*.3333333333333333+ +b[c>>3];Y=L+56|0;r=L+72|0;b[l+40>>3]=(+b[Y>>3]-+b[r>>3])*.3333333333333333+ +b[L+40>>3];F=+b[t>>3];b[l+48>>3]=(F-+b[i>>3])*.3333333333333333+F;F=+b[Y>>3];b[l+56>>3]=(F-+b[r>>3])*.3333333333333333+F;r=4;while(1){if((r|0)>=(n|0))break;Y=l+(r<<4)|0;i=e+(r+-2<<4)|0;a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];r=r+1|0}ar(A,l,n,f);L2(l);a[m>>2]=a[t>>2];a[m+4>>2]=a[t+4>>2];a[m+8>>2]=a[t+8>>2];a[m+12>>2]=a[t+12>>2];Y=m+16|0;a[Y>>2]=a[c>>2];a[Y+4>>2]=a[c+4>>2];a[Y+8>>2]=a[c+8>>2];a[Y+12>>2]=a[c+12>>2];tr(A,m,2);break}if((r|0)>=67108864){switch(r|0){case 67108864:break;default:break A}if((i|0)==4){Y=qF(96)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];i=Y+16|0;a[i>>2]=a[c>>2];a[i+4>>2]=a[c+4>>2];a[i+8>>2]=a[c+8>>2];a[i+12>>2]=a[c+12>>2];i=Y+32|0;Q=L+64|0;a[i>>2]=a[Q>>2];a[i+4>>2]=a[Q+4>>2];a[i+8>>2]=a[Q+8>>2];a[i+12>>2]=a[Q+12>>2];i=Y+48|0;e=e+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];e=Y+64|0;i=L+128|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=Y+80|0;G=L+160|0;a[e>>2]=a[G>>2];a[e+4>>2]=a[G+4>>2];a[e+8>>2]=a[G+8>>2];a[e+12>>2]=a[G+12>>2];ar(A,Y,6,f);L2(Y);b[m>>3]=+b[L+176>>3]+ +b[t>>3]-+b[L>>3];b[m+8>>3]=+b[L+184>>3]+ +b[L+24>>3]-+b[L+8>>3];Y=m+16|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];tr(A,m,2);a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];tr(A,m,2);a[Y>>2]=a[L>>2];a[Y+4>>2]=a[L+4>>2];a[Y+8>>2]=a[L+8>>2];a[Y+12>>2]=a[L+12>>2];tr(A,m,2);break}else vA(105438,105449,714,105458)}switch(r|0){case 50331648:break;default:break A}n=i+3|0;l=qF(n<<4)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];F=+b[e>>3];b[l+16>>3]=F-(F-+b[t>>3])*.25;r=L+56|0;F=(+b[r>>3]-+b[L+72>>3])*.3333333333333333+ +b[e+8>>3];b[l+24>>3]=F;M=+b[e>>3];b[l+32>>3]=M-(M-+b[t>>3])*2.0;b[l+40>>3]=F;F=+b[e>>3];b[l+48>>3]=F-(F-+b[t>>3])*2.25;b[l+56>>3]=+b[r>>3];b[l+64>>3]=+b[L+48>>3];b[l+72>>3]=+b[r>>3];r=4;while(1){if((r|0)>=(n|0))break;Y=l+(r<<4)|0;i=e+(r+-3<<4)|0;a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];r=r+1|0}ar(A,l,n,f);L2(l);break}}else if((r|0)<318767104){if((r|0)<251658240){if((r|0)<218103808){switch(r|0){case 201326592:break;default:break A}Y=i<<4;g=qF(Y)|0;E=e+16|0;F=+b[E>>3];b[g>>3]=F;G=e+40|0;M=+b[G>>3];Q=e+24|0;Z=L+48|0;C=L+56|0;I=L+72|0;M=(+b[Q>>3]-M)*.5+M+(+b[C>>3]-+b[I>>3])*.125;b[g+8>>3]=M;D=(+b[c>>3]-+b[Z>>3])*2.0+F;b[g+16>>3]=D;b[g+24>>3]=M;b[g+32>>3]=D;M=(+b[C>>3]-+b[I>>3])*.5+M;b[g+40>>3]=M;b[g+48>>3]=F;b[g+56>>3]=M;ar(A,g,i,f);L2(g);Y=qF(Y)|0;M=+b[c>>3]+ +b[E>>3]-+b[Z>>3];b[Y>>3]=M;F=+b[G>>3];F=(+b[Q>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*-.625;b[Y+8>>3]=F;D=+b[c>>3]-+b[Z>>3]+M;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=F;b[Y+32>>3]=D;F=(+b[C>>3]-+b[I>>3])*.5+F;b[Y+40>>3]=F;b[Y+48>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];F=+b[G>>3];b[m+8>>3]=(+b[Q>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}if((r|0)<234881024){switch(r|0){case 218103808:break;default:break A}Y=i<<4;C=qF(Y)|0;F=+b[e>>3];b[C>>3]=F;Z=e+40|0;M=+b[Z>>3];G=e+24|0;I=L+56|0;Q=L+72|0;M=(+b[G>>3]-M)*.5+M+(+b[I>>3]-+b[Q>>3])*.125;b[C+8>>3]=M;b[C+16>>3]=F;D=(+b[I>>3]-+b[Q>>3])*.5+M;b[C+24>>3]=D;F=F-(+b[I>>3]-+b[Q>>3])*2.0;b[C+32>>3]=F;b[C+40>>3]=D;b[C+48>>3]=F;b[C+56>>3]=M;ar(A,C,i,f);L2(C);Y=qF(Y)|0;M=+b[e>>3]-+b[c>>3]+ +b[L+48>>3];b[Y>>3]=M;F=+b[Z>>3];F=(+b[G>>3]-F)*.5+F+(+b[I>>3]-+b[Q>>3])*-.625;b[Y+8>>3]=F;b[Y+16>>3]=M;D=(+b[I>>3]-+b[Q>>3])*.5+F;b[Y+24>>3]=D;M=M-(+b[I>>3]-+b[Q>>3]);b[Y+32>>3]=M;b[Y+40>>3]=D;Q=Y+48|0;b[Q>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[e+16>>3];F=+b[Z>>3];b[m+8>>3]=(+b[G>>3]-F)*.5+F;b[m+16>>3]=+b[Q>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 234881024:break;default:break A}Y=i<<4;Z=qF(Y)|0;g=e+16|0;M=+b[g>>3];E=L+48|0;M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*-1.125;b[Z>>3]=M;C=e+40|0;F=+b[C>>3];I=e+24|0;Q=L+56|0;G=L+72|0;F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*.125;b[Z+8>>3]=F;D=+b[c>>3]-+b[E>>3]+M;b[Z+16>>3]=D;b[Z+24>>3]=F;b[Z+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Z+40>>3]=F;b[Z+48>>3]=M;b[Z+56>>3]=F;ar(A,Z,i,f);L2(Z);Z=qF(Y)|0;F=+b[g>>3];F=(+b[e>>3]-F)*.5+F+(+b[c>>3]-+b[E>>3])*-1.125;b[Z>>3]=F;M=+b[C>>3];M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*-.625;b[Z+8>>3]=M;D=+b[c>>3]-+b[E>>3]+F;b[Z+16>>3]=D;b[Z+24>>3]=M;b[Z+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[Z+40>>3]=M;b[Z+48>>3]=F;b[Z+56>>3]=M;ar(A,Z,i,f);L2(Z);Z=qF(Y)|0;M=+b[g>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*.125;b[Z>>3]=M;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*-.625;b[Z+8>>3]=F;D=+b[c>>3]-+b[E>>3]+M;b[Z+16>>3]=D;b[Z+24>>3]=F;b[Z+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Z+40>>3]=F;b[Z+48>>3]=M;b[Z+56>>3]=F;ar(A,Z,i,f);L2(Z);Y=qF(Y)|0;F=+b[g>>3];F=(+b[e>>3]-F)*.5+F+(+b[c>>3]-+b[E>>3])*.125;b[Y>>3]=F;M=+b[C>>3];M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*.125;b[Y+8>>3]=M;D=+b[c>>3]-+b[E>>3]+F;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=M;b[Y+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[Y+40>>3]=M;b[Y+48>>3]=F;b[Y+56>>3]=M;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];M=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-M)*.5+M;G=m+16|0;b[G>>3]=+b[e>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+M;tr(A,m,2);M=+b[g>>3];b[m>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*-1.125;F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=M;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<285212672)if((r|0)<268435456){switch(r|0){case 251658240:break;default:break A}Y=i<<4;g=qF(Y)|0;E=e+16|0;F=+b[E>>3];Z=L+48|0;F=F-+b[c>>3]+(+b[e>>3]-F)*.5+ +b[Z>>3];b[g>>3]=F;C=e+40|0;M=+b[C>>3];I=e+24|0;Q=L+56|0;G=L+72|0;M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*.125;b[g+8>>3]=M;D=(+b[c>>3]-+b[Z>>3])*2.0+F;b[g+16>>3]=D;b[g+24>>3]=M;b[g+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[g+40>>3]=M;b[g+48>>3]=F;b[g+56>>3]=M;ar(A,g,i,f);L2(g);Y=qF(Y)|0;M=+b[E>>3];M=M-+b[c>>3]+(+b[e>>3]-M)*.5+ +b[Z>>3];b[Y>>3]=M;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*-.625;b[Y+8>>3]=F;D=(+b[c>>3]-+b[Z>>3])*2.0+M;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=F;b[Y+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Y+40>>3]=F;b[Y+48>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];F=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-F)*.5+F;G=m+16|0;b[G>>3]=+b[e>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);b[m>>3]=+b[E>>3];F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=+b[Y>>3];b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 268435456:break;default:break A}Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];E=L+48|0;I=L+56|0;Z=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[I>>3]-+b[Z>>3])*.5;b[Y+16>>3]=+b[E>>3];F=+b[I>>3];b[Y+24>>3]=F-(F-+b[Z>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=(+b[I>>3]-+b[Z>>3])*.5+ +b[G>>3];b[Y+48>>3]=+b[e>>3];b[Y+56>>3]=(+b[I>>3]-+b[Z>>3])*.5+ +b[G>>3];ar(A,Y,i,f);C=e+16|0;F=(+b[c>>3]-+b[E>>3])*.25;M=F+ +b[C>>3];b[m>>3]=M;D=+b[G>>3];g=e+24|0;y=+b[I>>3]-+b[Z>>3];D=(+b[g>>3]-D)*.5+D+y*.125;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F+M;f=m+24|0;b[f>>3]=D-y*.25;tr(A,m,2);y=(+b[c>>3]-+b[E>>3])*.25;D=y+ +b[C>>3];b[m>>3]=D;M=+b[G>>3];F=+b[I>>3]-+b[Z>>3];M=(+b[g>>3]-M)*.5+M+F*-.125;b[Q>>3]=M;b[i>>3]=y+D;b[f>>3]=F*.25+M;tr(A,m,2);M=(+b[c>>3]-+b[E>>3])*.25;b[m>>3]=M+ +b[C>>3];F=(+b[I>>3]-+b[Z>>3])*.75+ +b[G>>3];b[Q>>3]=F;b[i>>3]=+b[e>>3]-M;b[f>>3]=F;tr(A,m,2);L2(Y);break}else if((r|0)<301989888){switch(r|0){case 285212672:break;default:break A}Z=qF(i<<4)|0;E=e+16|0;M=+b[E>>3];G=L+48|0;M=(+b[c>>3]-+b[G>>3]+(+b[e>>3]-M))*.5+M;b[Z>>3]=M;C=e+40|0;y=+b[C>>3];I=e+24|0;y=(+b[c>>3]-+b[G>>3]+(+b[I>>3]-y))*.5+y;b[Z+8>>3]=y;b[Z+16>>3]=M;M=+b[C>>3];u=+b[c>>3]-+b[G>>3];M=(+b[I>>3]-M-u)*.5+M;b[Z+24>>3]=M;F=+b[E>>3];F=(+b[e>>3]-F-u)*.5+F;b[Z+32>>3]=F;b[Z+40>>3]=M;b[Z+48>>3]=F;b[Z+56>>3]=y;ar(A,Z,i,f);L2(Z);y=+b[E>>3];y=(+b[e>>3]-y)*.5+y;F=+b[c>>3]-+b[G>>3];M=F*.75;u=y+M;b[m>>3]=u;D=+b[C>>3];D=(+b[I>>3]-D)*.5+D;M=D+M;Z=m+8|0;b[Z>>3]=M;Q=m+16|0;b[Q>>3]=u;F=F*-.75;D=D+F;Y=m+24|0;b[Y>>3]=D;F=y+F;b[m+32>>3]=F;b[m+40>>3]=D;b[m+48>>3]=F;b[m+56>>3]=M;i=m+64|0;a[i>>2]=a[m>>2];a[i+4>>2]=a[m+4>>2];a[i+8>>2]=a[m+8>>2];a[i+12>>2]=a[m+12>>2];tr(A,m,5);M=+b[E>>3];F=+b[e>>3];b[m>>3]=(F-M)*.5+M+(+b[c>>3]-+b[G>>3])*.75;M=+b[C>>3];b[Z>>3]=(+b[I>>3]-M)*.5+M;b[Q>>3]=F;i=e+8|0;f=e+56|0;b[Y>>3]=(+b[i>>3]-+b[f>>3])*.5+M;tr(A,m,2);M=+b[E>>3];b[m>>3]=M;F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[Q>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[G>>3])*-.75;b[Y>>3]=(+b[i>>3]-+b[f>>3])*.5+F;tr(A,m,2);break}else{switch(r|0){case 301989888:break;default:break A}Q=i+12|0;Y=qF(Q<<4)|0;I=e+16|0;s=+b[I>>3];B=L+48|0;s=(+b[e>>3]-s)*.5+s+(+b[c>>3]-+b[B>>3])*.25;b[Y>>3]=s;Z=e+40|0;y=+b[Z>>3];G=e+24|0;E=L+56|0;C=L+72|0;y=(+b[E>>3]-+b[C>>3]+(+b[G>>3]-y))*.5+y;g=Y+8|0;b[g>>3]=y;b[Y+16>>3]=s;y=(+b[E>>3]-+b[C>>3])*.125+y;v=Y+24|0;b[v>>3]=y;D=s-(+b[c>>3]-+b[B>>3])*.125;i=Y+32|0;b[i>>3]=D;u=(+b[E>>3]-+b[C>>3])*.125+y;b[Y+40>>3]=u;b[Y+48>>3]=s;M=(+b[E>>3]-+b[C>>3])*.125+u;b[Y+56>>3]=M;b[Y+64>>3]=s;s=(+b[E>>3]-+b[C>>3])*.125+M;b[Y+72>>3]=s;b[Y+80>>3]=D;b[Y+88>>3]=s;D=+b[I>>3];D=(+b[e>>3]-D)*.5+D;b[Y+96>>3]=D;b[Y+104>>3]=M;F=D-(+b[c>>3]-+b[B>>3])*.125;b[Y+112>>3]=F;b[Y+120>>3]=s;F=F-(+b[c>>3]-+b[B>>3])*.125;b[Y+128>>3]=F;b[Y+136>>3]=s;b[Y+144>>3]=F;b[Y+152>>3]=M;M=(+b[c>>3]-+b[B>>3])*.125+F;b[Y+160>>3]=M;b[Y+168>>3]=u;b[Y+176>>3]=F;b[Y+184>>3]=y;b[Y+192>>3]=F;F=+b[g>>3];b[Y+200>>3]=F;b[Y+208>>3]=M;b[Y+216>>3]=F;g=Y+224|0;b[g>>3]=D;b[Y+232>>3]=+b[v>>3];b[Y+240>>3]=+b[i>>3];b[Y+248>>3]=F;ar(A,Y,Q,f);F=+b[g>>3];b[m>>3]=F;D=+b[Z>>3];D=(+b[G>>3]-D)*.5+D;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F;f=m+24|0;b[f>>3]=(+b[E>>3]-+b[C>>3])*.125+D;tr(A,m,2);D=+b[g>>3];b[m>>3]=D;F=+b[Z>>3];M=+b[E>>3]-+b[C>>3];F=(+b[G>>3]-F)*.5+F+M*.25;b[Q>>3]=F;b[i>>3]=D;b[f>>3]=M*.125+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}}else{if((r|0)<369098752){if((r|0)<335544320){switch(r|0){case 318767104:break;default:break A}Q=i+4|0;Y=qF(Q<<4)|0;I=e+16|0;D=+b[I>>3];i=L+48|0;D=(+b[e>>3]-D)*.5+D+(+b[c>>3]-+b[i>>3])*.125;b[Y>>3]=D;Z=e+40|0;F=+b[Z>>3];G=e+24|0;E=L+56|0;C=L+72|0;F=(+b[E>>3]-+b[C>>3]+(+b[G>>3]-F))*.5+F;b[Y+8>>3]=F;u=(+b[c>>3]-+b[i>>3])*.125+D;b[Y+16>>3]=u;M=(+b[E>>3]-+b[C>>3])*.125+F;b[Y+24>>3]=M;b[Y+32>>3]=u;u=(+b[E>>3]-+b[C>>3])*.25+M;b[Y+40>>3]=u;b[Y+48>>3]=D;y=(+b[E>>3]-+b[C>>3])*.125+u;b[Y+56>>3]=y;D=D-(+b[c>>3]-+b[i>>3])*.25;b[Y+64>>3]=D;b[Y+72>>3]=y;y=D-(+b[c>>3]-+b[i>>3])*.125;b[Y+80>>3]=y;b[Y+88>>3]=u;b[Y+96>>3]=y;b[Y+104>>3]=M;b[Y+112>>3]=D;b[Y+120>>3]=F;ar(A,Y,Q,f);F=+b[I>>3];F=(+b[e>>3]-F)*.5+F;b[m>>3]=F;D=+b[Z>>3];D=(+b[G>>3]-D)*.5+D;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F;f=m+24|0;b[f>>3]=(+b[E>>3]-+b[C>>3])*.125+D;tr(A,m,2);D=+b[I>>3];D=(+b[e>>3]-D)*.5+D;b[m>>3]=D;F=+b[Z>>3];M=+b[E>>3]-+b[C>>3];F=(+b[G>>3]-F)*.5+F+M*.25;b[Q>>3]=F;b[i>>3]=D;b[f>>3]=M*.125+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}if((r|0)<352321536){switch(r|0){case 335544320:break;default:break A}I=i+12|0;Y=qF(I<<4)|0;Z=e+16|0;s=+b[Z>>3];g=L+48|0;s=(+b[e>>3]-s)*.5+s+(+b[c>>3]-+b[g>>3])*.25;b[Y>>3]=s;G=e+40|0;y=+b[G>>3];Q=e+24|0;B=L+56|0;v=L+72|0;y=(+b[B>>3]-+b[v>>3]+(+b[Q>>3]-y))*.5+y;i=Y+8|0;b[i>>3]=y;b[Y+16>>3]=s;y=(+b[B>>3]-+b[v>>3])*.125+y;E=Y+24|0;b[E>>3]=y;M=s-(+b[c>>3]-+b[g>>3])*.125;C=Y+32|0;b[C>>3]=M;u=(+b[B>>3]-+b[v>>3])*.125+y;b[Y+40>>3]=u;b[Y+48>>3]=s;D=(+b[B>>3]-+b[v>>3])*.125+u;b[Y+56>>3]=D;b[Y+64>>3]=s;s=(+b[B>>3]-+b[v>>3])*.125+D;b[Y+72>>3]=s;b[Y+80>>3]=M;b[Y+88>>3]=s;M=+b[Z>>3];M=(+b[e>>3]-M)*.5+M;b[Y+96>>3]=M;b[Y+104>>3]=D;F=M-(+b[c>>3]-+b[g>>3])*.125;b[Y+112>>3]=F;b[Y+120>>3]=s;F=F-(+b[c>>3]-+b[g>>3])*.125;b[Y+128>>3]=F;b[Y+136>>3]=s;b[Y+144>>3]=F;b[Y+152>>3]=D;D=(+b[c>>3]-+b[g>>3])*.125+F;b[Y+160>>3]=D;b[Y+168>>3]=u;b[Y+176>>3]=F;b[Y+184>>3]=y;b[Y+192>>3]=F;F=+b[i>>3];b[Y+200>>3]=F;b[Y+208>>3]=D;b[Y+216>>3]=F;i=Y+224|0;b[i>>3]=M;b[Y+232>>3]=+b[E>>3];b[Y+240>>3]=+b[C>>3];b[Y+248>>3]=F;ar(A,Y,I,f);a[m>>2]=a[i>>2];a[m+4>>2]=a[i+4>>2];a[m+8>>2]=a[i+8>>2];a[m+12>>2]=a[i+12>>2];i=m+16|0;b[i>>3]=+b[m>>3];F=+b[G>>3];f=m+24|0;b[f>>3]=(+b[Q>>3]-F)*.5+F;tr(A,m,2);b[m>>3]=+b[Z>>3];F=+b[G>>3];b[m+8>>3]=(+b[Q>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 352321536:break;default:break A}Q=i+4|0;Y=qF(Q<<4)|0;I=e+16|0;M=+b[I>>3];C=L+48|0;M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[C>>3])*.125;b[Y>>3]=M;Z=e+40|0;F=+b[Z>>3];G=e+24|0;g=L+56|0;E=L+72|0;F=(+b[g>>3]-+b[E>>3]+(+b[G>>3]-F))*.5+F;i=Y+8|0;b[i>>3]=F;u=(+b[c>>3]-+b[C>>3])*.125+M;b[Y+16>>3]=u;D=(+b[g>>3]-+b[E>>3])*.125+F;b[Y+24>>3]=D;b[Y+32>>3]=u;u=(+b[g>>3]-+b[E>>3])*.25+D;b[Y+40>>3]=u;b[Y+48>>3]=M;y=(+b[g>>3]-+b[E>>3])*.125+u;b[Y+56>>3]=y;M=M-(+b[c>>3]-+b[C>>3])*.25;b[Y+64>>3]=M;b[Y+72>>3]=y;y=M-(+b[c>>3]-+b[C>>3])*.125;b[Y+80>>3]=y;b[Y+88>>3]=u;b[Y+96>>3]=y;b[Y+104>>3]=D;b[Y+112>>3]=M;b[Y+120>>3]=F;ar(A,Y,Q,f);F=+b[I>>3];F=(+b[e>>3]-F)*.5+F;b[m>>3]=F;Q=m+8|0;b[Q>>3]=+b[i>>3];i=m+16|0;b[i>>3]=F;F=+b[Z>>3];f=m+24|0;b[f>>3]=(+b[G>>3]-F)*.5+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<402653184)if((r|0)<385875968){switch(r|0){case 369098752:break;default:break A}i=i+5|0;Y=qF(i<<4)|0;m=L+48|0;b[Y>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;Z=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[Z>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[m>>3];F=+b[Z>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=+b[G>>3];F=+b[c>>3];b[Y+48>>3]=(F-+b[m>>3])*.5+F;b[Y+56>>3]=+b[G>>3];F=+b[c>>3];b[Y+64>>3]=(F-+b[m>>3])*.5+F;b[Y+72>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+80>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;b[Y+88>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;G=e+56|0;b[Y+104>>3]=+b[G>>3];Q=e+8|0;F=+b[Q>>3];b[Y+120>>3]=F-(F-+b[G>>3])*.5;b[Y+112>>3]=+b[e>>3];b[Y+136>>3]=+b[Q>>3];b[Y+128>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;ar(A,Y,i,f);L2(Y);break}else{switch(r|0){case 385875968:break;default:break A}i=i+3|0;Y=qF(i<<4)|0;m=L+48|0;b[Y>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;Z=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[Z>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[m>>3];F=+b[Z>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+48>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;b[Y+56>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+64>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;G=e+56|0;b[Y+72>>3]=+b[G>>3];Q=e+8|0;F=+b[Q>>3];b[Y+88>>3]=F-(F-+b[G>>3])*.5;b[Y+80>>3]=+b[e>>3];b[Y+104>>3]=+b[Q>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;ar(A,Y,i,f);L2(Y);break}else if((r|0)<419430400){switch(r|0){case 402653184:break;default:break A}i=i+3|0;Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];Z=e+8|0;G=L+48|0;Q=L+56|0;m=L+72|0;b[Y+8>>3]=+b[Z>>3]-(+b[Q>>3]-+b[m>>3])*.5;F=+b[c>>3];b[Y+16>>3]=(F-+b[G>>3])*.5+F;b[Y+24>>3]=+b[Z>>3]-(+b[Q>>3]-+b[m>>3])*.5;F=+b[c>>3];b[Y+32>>3]=(F-+b[G>>3])*.5+F;b[Y+40>>3]=+b[L+40>>3];b[Y+48>>3]=+b[e+16>>3];F=+b[e+24>>3];Z=e+40|0;b[Y+56>>3]=F-(F-+b[Z>>3])*.5;F=+b[c>>3];b[Y+64>>3]=(F-+b[G>>3])*.5+F;b[Y+72>>3]=+b[Z>>3];b[Y+88>>3]=(+b[Q>>3]-+b[m>>3])*.5+ +b[Z>>3];F=+b[c>>3];b[Y+80>>3]=(F-+b[G>>3])*.5+F;b[Y+104>>3]=(+b[Q>>3]-+b[m>>3])*.5+ +b[e+56>>3];b[Y+96>>3]=+b[e>>3];ar(A,Y,i,f);L2(Y);break}else{switch(r|0){case 419430400:break;default:break A}i=i+5|0;Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];m=e+8|0;Q=L+48|0;Z=L+56|0;G=L+72|0;b[Y+8>>3]=+b[m>>3]-(+b[Z>>3]-+b[G>>3])*.5;F=+b[c>>3];b[Y+16>>3]=(F-+b[Q>>3])*.5+F;b[Y+24>>3]=+b[m>>3]-(+b[Z>>3]-+b[G>>3])*.5;F=+b[c>>3];b[Y+32>>3]=(F-+b[Q>>3])*.5+F;b[Y+40>>3]=+b[L+40>>3];b[Y+48>>3]=+b[e+16>>3];F=+b[e+24>>3];m=e+40|0;b[Y+56>>3]=F-(F-+b[m>>3])*.5;F=+b[c>>3];b[Y+64>>3]=(F-+b[Q>>3])*.5+F;b[Y+72>>3]=+b[m>>3];b[Y+88>>3]=(+b[Z>>3]-+b[G>>3])*.5+ +b[m>>3];F=+b[c>>3];b[Y+80>>3]=(F-+b[Q>>3])*.5+F;m=e+56|0;b[Y+104>>3]=(+b[Z>>3]-+b[G>>3])*.5+ +b[m>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[Q>>3])*.5;b[Y+112>>3]=+b[t>>3]-(+b[c>>3]-+b[Q>>3])*.5;b[Y+120>>3]=+b[m>>3];b[Y+128>>3]=+b[e+48>>3];b[Y+136>>3]=+b[m>>3];ar(A,Y,i,f);L2(Y);break}}}while(0);L2(L)}k=W;return}function cN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0;f=k;k=k+112|0;n=f;c=+b[e+8>>3]*2.0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];b[n+16>>3]=+b[e+16>>3];b[n+24>>3]=c-+b[e+24>>3];b[n+32>>3]=+b[e+32>>3];b[n+40>>3]=c-+b[e+40>>3];b[n+48>>3]=+b[e+48>>3];b[n+56>>3]=c-+b[e+56>>3];b[n+64>>3]=+b[e+64>>3];b[n+72>>3]=c-+b[e+72>>3];b[n+80>>3]=+b[e+80>>3];b[n+88>>3]=c-+b[e+88>>3];l=n+96|0;t=e+96|0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];lr(A,e,i,0,0,r&255);lr(A,n,7,0,0,0);k=f;return}function bN(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,a=0.0;a=+b[i>>3];f=+b[i+8>>3];f=(+b[r+8>>3]-f)*e+f;b[A>>3]=(+b[r>>3]-a)*e+a;b[A+8>>3]=f;return}function sN(A){A=A|0;A=a[(a[A+16>>2]|0)+8>>2]|0;if(A){A=a[a[A+4>>2]>>2]|0;if((A|0)!=91)if((A|0)==94)A=2;else return((A|0)==93?3:(A|0)==96?4:0)|0;else A=1}else A=0;return A|0}function wN(A){A=A|0;var e=0,i=0,f=0.0,n=0,l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0,Q=0,m=0,L=0,W=0,Y=0,F=0,V=0,J=0,N=0,R=0.0,H=0.0,p=0,x=0,T=0.0,j=0.0,S=0.0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0.0;AA=k;k=k+144|0;F=AA+112|0;N=AA+104|0;L=AA+96|0;W=AA+88|0;l=AA+80|0;K=AA+64|0;q=AA+48|0;p=AA+40|0;x=AA+32|0;t=AA+24|0;o=AA+16|0;m=AA+136|0;Q=AA+128|0;V=AA;$=qF(48)|0;_=A+16|0;P=a[(a[(a[_>>2]|0)+8>>2]|0)+8>>2]|0;n=(P|0)==1616;O=a[P>>2]|0;e=a[P+4>>2]|0;i=a[P+8>>2]|0;s=+b[P+16>>3];w=+b[P+32>>3];u=+b[P+24>>3];O=O|(gR(po(A,105511)|0)|0)&255;do{if(!n){if(!O){P=a[_>>2]|0;c=+b[P+32>>3]*72.0;f=+b[P+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);break}c=+CN(A);if(c>0.0)f=c;else{P=a[_>>2]|0;f=+b[P+32>>3];c=+b[P+40>>3];c=(f=0.0?.5:-.5))|0);f=c}}else{f=0.0;c=0.0}}while(0);P=kR(A,a[47160]|0,e,0)|0;S=+oR(A,a[47162]|0,0.0,-360.0)+s;if(!i){j=+oR(A,a[47163]|0,0.0,-100.0);Y=kR(A,a[47159]|0,4,0)|0;T=+oR(A,a[47164]|0,0.0,-100.0)}else{Y=i;j=w;T=u}e=a[(a[_>>2]|0)+104>>2]|0;i=e+24|0;a[K>>2]=a[i>>2];a[K+4>>2]=a[i+4>>2];a[K+8>>2]=a[i+8>>2];a[K+12>>2]=a[i+12>>2];h=+b[K>>3];if(h>0.0){if(!n)J=11}else if(!(n|!(+b[K+8>>3]>0.0)))J=11;if((J|0)==11){e=po(A,105496)|0;do{if(e){b[o>>3]=0.0;b[t>>3]=0.0;a[l>>2]=t;a[l+4>>2]=o;e=J3(e,105503,l)|0;s=+b[t>>3];if(s<0.0){b[t>>3]=0.0;s=0.0}w=+b[o>>3];if(w<0.0){b[o>>3]=0.0;u=0.0}else u=w;if((e|0)<=0){w=h+16.0;b[K>>3]=w;s=8.0;break}s=s*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0);w=h+s;b[K>>3]=w;if((e|0)!=1){s=u*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0)}}else{w=h+16.0;b[K>>3]=w;s=8.0}}while(0);e=K+8|0;b[e>>3]=+b[e>>3]+s;e=a[(a[_>>2]|0)+104>>2]|0;h=w}B=+b[e+24>>3];s=+b[a[(a[(Id(A)|0)+16>>2]|0)+8>>2]>>3];if(s>0.0){R=s*72.0;R=+(~~(R+(R>=0.0?.5:-.5))|0);H=+IN(h,R);b[K>>3]=H;o=K+8|0;b[o>>3]=+IN(+b[o>>3],R)}else H=h;e=a[(a[_>>2]|0)+8>>2]|0;do{if(!(r[e+12>>0]|0)){i=po(A,109025)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){Ug(Q,Id(A)|0,i);e=a[Q>>2]|0;n=a[Q+4>>2]|0;if((n&e|0)==-1){e=Vh(A)|0;a[L>>2]=i;a[L+4>>2]=e;ao(0,105587,L)|0;i=0;e=0;break}else{r[(a[(Id(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=n+2|0;break}}else{i=0;e=0}}else{e=a[e>>2]|0;if((r[e>>0]|0)==99?(A1(e,105519)|0)==0:0){i=po(A,105526)|0;Ug(m,Id(A)|0,i);e=a[m>>2]|0;n=a[m+4>>2]|0;if((n&e|0)==-1){e=Vh(A)|0;a[W>>2]=i|0?i:105536;a[W+4>>2]=e;ao(0,105542,W)|0;i=0;e=0;break}else{r[(a[(Id(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=n+2|0;break}}else{i=0;e=0}}}while(0);R=+(i|0);b[q>>3]=H>R?H:R;R=+b[K+8>>3];d=+(e|0);e=q+8|0;b[e>>3]=R>d?R:d;i=(Y|0)<3&(T!=0.0|j!=0.0)?120:Y;n=po(A,105628)|0;if(!n)l=99;else{l=r[n>>0]|0;l=l<<24>>24==116?116:l<<24>>24==98?98:99}n=a[_>>2]|0;r[(a[n+104>>2]|0)+80>>0]=l;if((i|0)==4?(T==0.0?((~~(S+(S>=0.0?.5:-.5))|0)%90|0|0)==0:0)&j==0.0:0)o=1;else J=39;do{if((J|0)==39){n=a[(a[(a[n+8>>2]|0)+8>>2]|0)+44>>2]|0;if(n|0){o=a[n>>2]|0;a[F>>2]=a[q>>2];a[F+4>>2]=a[q+4>>2];a[F+8>>2]=a[q+8>>2];a[F+12>>2]=a[q+12>>2];V5[o&63](V,F);a[q>>2]=a[V>>2];a[q+4>>2]=a[V+4>>2];a[q+8>>2]=a[V+8>>2];a[q+12>>2]=a[V+12>>2];o=0;break}s=+b[e>>3];w=s*1.4142135623730951;if(f>w&l<<24>>24==99){u=s/f;u=+z(+(1.0/(1.0-u*u)));u=+b[q>>3]*u;b[q>>3]=u}else{u=+b[q>>3]*1.4142135623730951;b[q>>3]=u;b[e>>3]=w;s=w}if((i|0)>2){G=+D(+(3.141592653589793/+(i|0)));b[q>>3]=u/G;b[e>>3]=s/G;o=0}else o=0}}while(0);s=+b[e>>3];n=dR(A,a[47165]|0,137308)|0;if((r[n>>0]|0)==115?(A1(n,108230)|0)==0:0){b[q>>3]=c;b[e>>3]=f;N=$+40|0;a[N>>2]=a[N>>2]|2048}else{if(!((gR(n)|0)<<24>>24)){G=+b[q>>3];c=c>G?c:G;b[q>>3]=c;G=+b[e>>3];f=f>G?f:G}else{J=a[(a[_>>2]|0)+104>>2]|0;if(!(!(c<+b[J+24>>3])?!(f<+b[J+32>>3]):0)){V=Vh(A)|0;J=Vh(Id(A)|0)|0;a[N>>2]=V;a[N+4>>2]=J;ao(0,105637,N)|0}b[q>>3]=c}b[e>>3]=f}if(!O){G=f;Z=c}else{Z=c>f?c:f;b[e>>3]=Z;b[q>>3]=Z;G=Z}do{if(!((gR(dR(A,a[47156]|0,137308)|0)|0)<<24>>24)){if(o){f=+b[(H>+b[q>>3]?K:q)>>3];break}f=+b[e>>3];if(R>3]*+z(+(1.0-R*R/(f*f)));f=H>f?H:f}else f=H}else f=H}while(0);n=a[(a[_>>2]|0)+104>>2]|0;b[n+40>>3]=B-h+f;Q=$+40|0;if(!(a[Q>>2]&2048)){I=+b[e>>3]-s;b[n+48>>3]=(R1;n=t?P:1;A:do{if((i|0)<3){n=qF(n<<5)|0;c=+b[q>>3]*.5;f=+b[e>>3]*.5;b[n>>3]=-c;b[n+8>>3]=-f;b[n+16>>3]=c;b[n+24>>3]=f;if(t){i=1;l=2;while(1){if((i|0)==(P|0))break;Z=c+4.0;G=f+4.0;b[n+(l<<4)>>3]=-Z;b[n+(l<<4)+8>>3]=-G;x=l|1;b[n+(x<<4)>>3]=Z;b[n+(x<<4)+8>>3]=G;i=i+1|0;l=l+2|0;c=Z;f=G}b[q>>3]=c*2.0;b[e>>3]=f*2.0;i=2}else i=2}else{n=qF(U(n<<4,i)|0)|0;l=a[(a[(a[(a[_>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;e:do{if(!l){h=6.283185307179586/+(i|0);v=h*.5;d=+M(+v);B=+v1(+y(+j)+ +y(+T),1.0);v=T*1.4142135623730951/+D(+v);g=j*.5;E1((h+-3.141592653589793)*.5,p,x);E=S*.017453292519943295;c=0.0;f=0.0;s=0.0;l=0;w=+b[x>>3]*.5;u=+b[p>>3]*.5;while(1){if((l|0)>=(i|0))break e;s=s+h;E1(s,p,x);w=+b[x>>3]*d+w;u=+b[p>>3]*d+u;I=(u*v+B)*w+g*u;E1(+X(+u,+I)+E,p,x);I=+v1(I,u);C=+b[x>>3]*I*+b[q>>3];I=+b[p>>3]*I*+b[e>>3];eA=+y(+C);f=eA>f?eA:f;eA=+y(+I);c=eA>c?eA:c;b[n+(l<<4)>>3]=C;b[n+(l<<4)+8>>3]=I;if(o)break;else l=l+1|0}eA=-C;b[n+16>>3]=eA;b[n+24>>3]=I;b[n+32>>3]=eA;eA=-I;b[n+40>>3]=eA;b[n+48>>3]=C;b[n+56>>3]=eA}else{V5[a[l+4>>2]&63](n,q);c=+b[e>>3]*.5;f=+b[q>>3]*.5}}while(0);f=f*2.0;c=c*2.0;Z=Z>f?Z:f;b[q>>3]=Z;eA=G>c?G:c;b[e>>3]=eA;f=Z/f;c=eA/c;l=0;while(1){if((l|0)>=(i|0))break;N=n+(l<<4)|0;A=n+(l<<4)+8|0;eA=+b[A>>3]*c;b[N>>3]=+b[N>>3]*f;b[A>>3]=eA;l=l+1|0}if(t){t=i+-1|0;c=+b[n>>3];s=+b[n+8>>3];f=+X(+(s-+b[n+(t<<4)+8>>3]),+(c-+b[n+(t<<4)>>3]));t=0;e:while(1){if((t|0)>=(i|0))break;o=t+1|0;l=(o|0)%(i|0)|0;w=+b[n+(l<<4)>>3];u=+b[n+(l<<4)+8>>3];h=+X(+(u-s),+(w-c));G=(f+3.141592653589793-h)*.5;eA=4.0/+M(+G);E1(f-G,p,x);b[p>>3]=+b[p>>3]*eA;b[x>>3]=+b[x>>3]*eA;l=1;f=s;while(1){if((l|0)==(P|0)){f=h;t=o;c=w;s=u;continue e}G=+b[x>>3]+c;eA=+b[p>>3]+f;A=(U(l,i)|0)+t|0;b[n+(A<<4)>>3]=G;b[n+(A<<4)+8>>3]=eA;l=l+1|0;c=G;f=eA}}t=U(i,P+-1|0)|0;l=0;while(1){if((l|0)>=(i|0))break A;x=l+t|0;G=+b[n+(x<<4)+8>>3];Z=+y(+ +b[n+(x<<4)>>3])*2.0;eA=+b[q>>3];b[q>>3]=Z>eA?Z:eA;G=+y(+G)*2.0;eA=+b[e>>3];b[e>>3]=G>eA?G:eA;l=l+1|0}}}}while(0);a[$>>2]=O;a[$+4>>2]=P;a[$+8>>2]=i;b[$+16>>3]=S;b[$+32>>3]=j;b[$+24>>3]=T;a[$+44>>2]=n;f=+b[q>>3];if(!(a[Q>>2]&2048)){i=a[_>>2]|0;b[i+32>>3]=f*.013888888888888888}else{i=a[_>>2]|0;b[i+32>>3]=+b[(H>f?K:q)>>3]*.013888888888888888;e=(R>+b[e>>3]?K:q)+8|0}b[i+40>>3]=+b[e>>3]*.013888888888888888;a[i+12>>2]=$;k=AA;return}function uN(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+64|0;t=u+40|0;r=u+32|0;c=u+16|0;w=u;i=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;s=A+16|0;f=a[a[(a[s>>2]|0)+104>>2]>>2]|0;a[47282]=f;f=S2(f)|0;f=qF(((f|0)>1?f:1)+1|0)|0;e=oN(A,i,1,f)|0;if(!e){a[r>>2]=a[a[(a[s>>2]|0)+104>>2]>>2];ao(1,105472,r)|0;a[47282]=105493;e=oN(A,i,1,f)|0}L2(f);hN(t,A,e);i=a[s>>2]|0;l=+b[i+32>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))|0);b[w>>3]=l;n=+b[i+40>>3]*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);i=w+8|0;b[i>>3]=n;if(!((gR(dR(A,a[47165]|0,137308)|0)|0)<<24>>24)){l=+b[(+b[e>>3]>l?e:w)>>3];b[w>>3]=l;r=e+8|0;n=+b[(+b[r>>3]>n?e:w)+8>>3];b[i>>3]=n;i=r;r=e}else{i=e+8|0;r=e}A=(gR(dR(A,a[47156]|0,137308)|0)|0)&255;a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2];dN(e,t,A);BN(c,l*-.5,n*.5);a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];vN(e,t,15);w=a[s>>2]|0;b[w+32>>3]=+b[r>>3]*.013888888888888888;b[w+40>>3]=(+b[i>>3]+1.0)*.013888888888888888;a[w+12>>2]=e;k=u;return}function kN(A){A=A|0;var e=0.0,i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0.0,w=0;t=qF(48)|0;c=A+16|0;n=a[(a[(a[(a[c>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+oR(A,a[47146]|0,1797693134862315708145274.0e284,0.0);e=+oR(A,a[47145]|0,1797693134862315708145274.0e284,0.0);f=f0.0?f>.0003?f:.0003:f;l=a[c>>2]|0;b[l+40>>3]=f;b[l+32>>3]=f;e=f*72.0;n=kR(A,a[47160]|0,n,0)|0;l=qF((n|0)<1?32:n<<5)|0;f=f*36.0;r=-f;b[l>>3]=r;b[l+8>>3]=r;b[l+16>>3]=f;b[l+24>>3]=f;if((n|0)>1){A=1;i=2;r=f;e=f;while(1){if((A|0)==(n|0))break;s=r+4.0;f=e+4.0;b[l+(i<<4)>>3]=-s;b[l+(i<<4)+8>>3]=-f;w=i|1;b[l+(w<<4)>>3]=s;b[l+(w<<4)+8>>3]=f;A=A+1|0;i=i+2|0;r=s;e=f}e=r*2.0}a[t>>2]=1;a[t+4>>2]=n;a[t+8>>2]=2;w=t+16|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;a[w+16>>2]=0;a[w+20>>2]=0;a[t+44>>2]=l;s=e*.013888888888888888;w=a[c>>2]|0;b[w+32>>3]=s;b[w+40>>3]=s;a[w+12>>2]=t;return}function oN(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0;n=qF(72)|0;u=a[(a[A+16>>2]|0)+104>>2]|0;w=0;l=1;t=a[47282]|0;A:while(1){c=r[t>>0]|0;switch(c<<24>>24){case 0:break A;case 92:{t=t+1|0;c=r[t>>0]|0;switch(c<<24>>24){case 124:case 125:case 123:case 92:{s=w;break}default:y=4}break}default:y=4}if((y|0)==4){y=0;switch(c<<24>>24){case 123:{s=w+1|0;break}case 125:{s=w+-1|0;break}default:{s=w;l=l+((w|0)==0&c<<24>>24==124&1)|0}}if((s|0)<0)break}w=s;t=t+1|0}m=n+56|0;a[m>>2]=qF(l<<2)|0;r[n+64>>0]=e;Z=(e|0)==0&1;G=u+82|0;Q=f+1|0;E=(i|0)!=0;C=u+16|0;I=u+4|0;g=u+8|0;c=0;w=0;e=0;v=0;s=0;i=0;u=f;l=0;t=0;A:while(1){o=c;c=0;e:while(1){i:while(1){B=i;r:while(1){d=c;k=l;f:while(1){h=w;a:while(1){while(1){if(v){y=78;break A}w=a[47282]|0;l=r[w>>0]|0;if((l+-1&255)>=31)break;a[47282]=w+1}switch(l<<24>>24|0){case 92:{y=53;break i}case 0:case 124:case 125:break r;case 60:break f;case 62:break a;case 123:break;default:{c=e;l=w;break i}}l=w+1|0;a[47282]=l;if(s|0){y=34;break A}if(!(r[l>>0]|0)){y=34;break A}i=oN(A,Z,0,f)|0;a[(a[m>>2]|0)+(h<<2)>>2]=i;if(!i){y=36;break A}else{h=h+1|0;s=4}}if(r[G>>0]|0){c=e;l=w;break i}if(!(s&16)){y=27;break A}if(k>>>0>Q>>>0?(L=k+-1|0,(L|0)!=(B|0)):0)l=(r[L>>0]|0)==32?L:k;else l=k;r[l>>0]=0;d=s3(f)|0;a[47282]=(a[47282]|0)+1;w=h;s=s&-17;k=l}if(s&6|0){y=22;break A}if(r[G>>0]|0){c=e;l=w;break i}a[47282]=w+1;w=h;s=s|18;c=d;B=f;l=f}if(!((s&16|0)==0&(E|l<<24>>24!=0))){y=38;break A}if(!(s&4)){c=qF(72)|0;a[(a[m>>2]|0)+(h<<2)>>2]=c;w=h+1|0}else{c=o;w=h}if(d|0)a[c+60>>2]=d;if(!(s&5)){r[f+t>>0]=32;s=s|1;t=t+1|0}l=f+t|0;if(s&1){if((t|0)>1?(W=l+-1|0,(W|0)!=(u|0)):0)l=(r[W>>0]|0)==32?W:l;r[l>>0]=0;u=s3(f)|0;a[c+52>>2]=pF(A,u,r[G>>0]|0?2:0,+b[C>>3],a[I>>2]|0,a[g>>2]|0)|0;r[c+64>>0]=1;u=f;t=0}l=a[47282]|0;switch(r[l>>0]|0){case 0:{v=1;i=B;l=k;continue A}case 125:{y=51;break A}default:{}}a[47282]=l+1;o=c;s=0;c=0;i=B;l=k}i:do{if((y|0)==53){y=0;c=f+t|0;l=w+1|0;switch(r[l>>0]|0){case 0:{c=e;l=w;break i}case 62:case 60:case 124:case 125:case 123:{c=e;break}case 32:{if(!(r[G>>0]|0))c=1;else y=55;break}default:y=55}if((y|0)==55){y=0;r[c>>0]=92;c=e;s=s|9;t=t+1|0}a[47282]=l}}while(0);e=f+t|0;if(s&4|0?(r[l>>0]|0)!=32:0){y=59;break A}if(!(s&24))s=(r[l>>0]|0)==32?s:s|9;if(!(s&8))if(!(s&16))i=B;else{w=r[l>>0]|0;e=(c|0)!=0;if(!(e|w<<24>>24!=32))if((k|0)!=(f|0))if((r[k+-1>>0]|0)==32)w=k;else y=73;else w=f;else y=73;if((y|0)==73){y=0;r[k>>0]=w;w=k+1|0;l=a[47282]|0}i=e?w+-1|0:B;k=w}else{w=r[l>>0]|0;i=(c|0)!=0;if(!((!(i|w<<24>>24!=32)?(r[e+-1>>0]|0)==32:0)?(r[G>>0]|0)==0:0)){r[e>>0]=w;t=t+1|0}if(i){i=B;u=f+t+-1|0}else i=B}l=l+1|0;a[47282]=l;while(1){if((r[l>>0]|0)>=0){w=h;e=c;c=d;l=k;continue e}B=l+1|0;a[47282]=B;r[f+t>>0]=r[l>>0]|0;t=t+1|0;l=B}}}if((y|0)==22){gN(n,d);n=0}else if((y|0)==27){gN(n,d);n=0}else if((y|0)==34){gN(n,d);n=0}else if((y|0)==36){gN(n,d);n=0}else if((y|0)==38){gN(n,d);n=0}else if((y|0)==51){a[47282]=l+1;a[n+48>>2]=w}else if((y|0)==59){gN(n,d);n=0}else if((y|0)==78)a[n+48>>2]=h;return n|0}function hN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+64|0;c=g+48|0;s=g+40|0;w=g+32|0;v=g+16|0;B=g;t=a[i+52>>2]|0;A:do{if(!t){w=v+8|0;u=i+48|0;o=i+56|0;h=i+64|0;d=B+8|0;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;t=0;while(1){if((t|0)>=(a[u>>2]|0))break A;hN(B,e,a[(a[o>>2]|0)+(t<<2)>>2]|0);if(!(r[h>>0]|0)){b[w>>3]=+b[w>>3]+ +b[d>>3];c=v;s=+b[v>>3]>+b[B>>3]?v:B}else{b[v>>3]=+b[v>>3]+ +b[B>>3];c=w;s=(+b[w>>3]>+b[d>>3]?v:B)+8|0}b[c>>3]=+b[s>>3];t=t+1|0}}else{n=+b[t+24>>3];f=+b[t+32>>3];if(n>0.0|f>0.0){t=po(e,105496)|0;do{if(t){a[c>>2]=s;a[c+4>>2]=w;t=J3(t,105503,c)|0;if((t|0)<=0){l=8.0;n=n+16.0;break}l=+b[s>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0);n=n+l;if((t|0)!=1){l=+b[w>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0)}}else{l=8.0;n=n+16.0}}while(0);f=l+f}b[v>>3]=n;b[v+8>>3]=f}}while(0);a[i>>2]=a[v>>2];a[i+4>>2]=a[v+4>>2];a[i+8>>2]=a[v+8>>2];a[i+12>>2]=a[v+12>>2];a[A>>2]=a[v>>2];a[A+4>>2]=a[v+4>>2];a[A+8>>2]=a[v+8>>2];a[A+12>>2]=a[v+12>>2];k=g;return}function dN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0;B=k;k=k+32|0;u=B+16|0;o=B;h=+b[e>>3];l=h-+b[A>>3];d=+b[e+8>>3];f=d-+b[A+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];e=a[A+52>>2]|0;if(!((i|0)!=0|(e|0)==0)){w=e+40|0;b[w>>3]=+b[w>>3]+l;w=e+48|0;b[w>>3]=+b[w>>3]+f}s=A+48|0;e=a[s>>2]|0;A:do{if(e|0){w=A+64|0;f=((r[w>>0]|0)==0?f:l)/+(e|0);c=A+56|0;t=0;while(1){if((t|0)>=(e|0))break A;A=a[(a[c>>2]|0)+(t<<2)>>2]|0;n=t+1|0;e=~~(f*+(n|0))-~~(f*+(t|0))|0;if(!(r[w>>0]|0))BN(o,h,+b[A+8>>3]+ +(e|0));else BN(o,+b[A>>3]+ +(e|0),d);a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2];dN(A,u,i);t=n;e=a[s>>2]|0}}}while(0);k=B;return}function BN(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function vN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0;h=k;k=k+48|0;t=h+32|0;w=h+16|0;s=h;r[A+65>>0]=i;c=A+16|0;B=+b[e>>3];o=e+8|0;d=+b[o>>3];BN(w,B,d-+b[A+8>>3]);a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];c=A+32|0;BN(s,+b[A>>3]+B,d);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];c=a[A+48>>2]|0;s=c+-1|0;w=(i|0)==0;u=A+56|0;l=A+64|0;n=0;while(1){if((n|0)>=(c|0))break;do{if(!w){A=(n|0)==0;f=(n|0)==(s|0);if(!(r[l>>0]|0))if(A){A=f?15:14;break}else{A=f?11:10;break}else if(A){A=f?15:13;break}else{A=f?7:5;break}}else A=0}while(0);f=a[(a[u>>2]|0)+(n<<2)>>2]|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];vN(f,t,A&i);if(!(r[l>>0]|0))b[o>>3]=+b[o>>3]-+b[(a[(a[u>>2]|0)+(n<<2)>>2]|0)+8>>3];else b[e>>3]=+b[a[(a[u>>2]|0)+(n<<2)>>2]>>3]+ +b[e>>3];n=n+1|0}k=h;return}function gN(A,e){A=A|0;e=e|0;EN(A);L2(e);return}function EN(A){A=A|0;var e=0,i=0,r=0;i=A+48|0;r=A+56|0;e=0;while(1){if((e|0)>=(a[i>>2]|0))break;EN(a[(a[r>>2]|0)+(e<<2)>>2]|0);e=e+1|0}L2(a[A+60>>2]|0);TF(a[A+52>>2]|0);L2(a[r>>2]|0);L2(A);return}function CN(A){A=A|0;var e=0.0,i=0.0;i=+oR(A,a[47146]|0,0.0,.01);e=+oR(A,a[47145]|0,0.0,.02);e=(i>e?i:e)*72.0;return+ +(~~(e+(e>=0.0?.5:-.5))|0)}function IN(A,e){A=+A;e=+e;var i=0;i=~~(A/e);return+(+((+(i|0)*e+1.0e-05>2]|0)+8>>2]|0;if(!A)A=0;else A=(a[a[A+4>>2]>>2]|0)==91&1;return A|0}function GN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;f=a[47283]|0;A:do{if(!f)e=0;else{n=a[47284]|0;i=0;while(1){if((i|0)>=(n|0)){e=0;break A}e=a[f+(i<<2)>>2]|0;l=a[e>>2]|0;if((r[l>>0]|0)==(r[A>>0]|0)?(A1(l,A)|0)==0:0)break A;i=i+1|0}}}while(0);return e|0}function QN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;if(WR(po(e,105526)|0)|0)if((r[A>>0]|0)==101?(A1(A,105685)|0)==0:0){e=101;n=6}else{A=105519;n=4}else n=4;if((n|0)==4){e=r[A>>0]|0;if(e<<24>>24==99)if(!(A1(A,105519)|0))n=11;else{e=99;n=6}else n=6}A:do{if((n|0)==6){i=20848;while(1){f=a[i>>2]|0;if(!f){n=11;break A}if((r[f>>0]|0)==e<<24>>24?(A1(f,A)|0)==0:0){A=i;break A}i=i+16|0}}}while(0);if((n|0)==11)A=mN(A)|0;return A|0}function mN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;e=GN(A)|0;if(!e){f=a[47284]|0;e=f+1|0;a[47284]=e;i=a[47283]|0;if(!i)e=$F(e<<2)|0;else e=eV(i,e<<2)|0;a[47283]=e;e=qF(16)|0;a[(a[47283]|0)+(f<<2)>>2]=e;a[e>>2]=a[5212];a[e+4>>2]=a[5213];a[e+8>>2]=a[5214];a[e+12>>2]=a[5215];i=s3(A)|0;a[e>>2]=i;do{if(!0){if((r[A>>0]|0)==99?(A1(A,105519)|0)==0:0){i=1;break}a[n>>2]=a[5212];a[n+4>>2]=i;ao(0,105690,n)|0;i=0}else i=1}while(0);r[e+12>>0]=i}k=l;return e|0}function LN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[e>>3]*.5257311121191336;i=+b[e+8>>3]*.8944271909999159;i=r>i?r:i;b[A>>3]=i*4.97979656976556;b[A+8>>3]=i*4.73606797749979;return}function WN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0;r=+b[e>>3];c=e+8|0;f=+b[c>>3];i=f/r;if(!(i>.9510565162951536))if(i<.9510565162951536){t=r;f=r*.9510565162951536}else t=r;else t=f*1.0514622242382672;r=t*.5257311121191336;n=t*.20081141588622725;l=t*.05020285397155681;i=.3141592653589793;a=0;while(1){if((a|0)>=10)break;b[A+(a<<4)>>3]=+D(+i)*r;b[A+(a<<4)+8>>3]=+M(+i)*r-l;w=i+.6283185307179586;s=a|1;b[A+(s<<4)>>3]=+D(+w)*n;b[A+(s<<4)+8>>3]=+M(+w)*n-l;i=i+1.2566370614359172;a=a+2|0}b[e>>3]=t;b[c>>3]=f;return}function yN(A){A=A|0;A=a[(a[A+16>>2]|0)+12>>2]|0;if(A|0){L2(a[A+44>>2]|0);L2(A)}return}function zN(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+80|0;b=u+40|0;n=u;w=u+64|0;l=u+56|0;if(!(r[i>>0]|0)){n=4208;l=A+40|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0))}else{t=(f|0)==0?106356:f;a[w>>2]=15;c=e+16|0;f=a[c>>2]|0;do{if(r[(a[f+104>>2]|0)+82>>0]|0){f=ta(e,i,w)|0;if(!f){f=a[c>>2]|0;s=8;break}if(TN(e,f,n,t,a[w>>2]|0,0)|0){a[b>>2]=Vh(e)|0;a[b+4>>2]=i;a[b+8>>2]=t;ao(0,106358,b)|0}}else s=8}while(0);if((s|0)==8){if((a[(a[f+8>>2]|0)+8>>2]|0)==1664)l=0;else{a[l>>2]=e;a[l+4>>2]=0}if(TN(e,0,n,i,a[w>>2]|0,l)|0)jN(e,i)}a[n+36>>2]=0;l=A+40|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0))}k=u;return}function YN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0;d=k;k=k+112|0;w=d+96|0;s=d+80|0;o=d+64|0;c=d+48|0;h=d+32|0;u=d;f=d+16|0;if(!A){a[47287]=0;A=0}else{n=a[A+4>>2]|0;A=a[A>>2]|0;l=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];WF(f,w,l);a[h>>2]=a[f>>2];a[h+4>>2]=a[f+4>>2];a[h+8>>2]=a[f+8>>2];a[h+12>>2]=a[f+12>>2];A:do{if(n){i=+b[n+8>>3];r=+b[n+24>>3];B=+b[h>>3];if((+b[n>>3]<=B?B<=+b[n+16>>3]:0)?(t=+b[h+8>>3],i<=t):0)A=t<=r&1;else A=0}else{if((A|0)==(a[47287]|0)){f=a[47288]|0;n=a[47290]|0;l=a[47289]|0}else{n=a[(a[A+16>>2]|0)+12>>2]|0;a[47291]=n;l=a[n+44>>2]|0;a[47289]=l;f=a[n+8>>2]|0;a[47288]=f;n=U((a[n+4>>2]|0)+-1|0,f)|0;n=(n|0)>0?n:0;a[47290]=n;a[47287]=A}A=0;e=0;while(1){if((A|0)>=(f|0)){A=1;break A}v=l+(n+A<<4)|0;a[u>>2]=a[v>>2];a[u+4>>2]=a[v+4>>2];a[u+8>>2]=a[v+8>>2];a[u+12>>2]=a[v+12>>2];v=l+(n+((A+4|0)%(f|0)|0)<<4)|0;a[c>>2]=a[h>>2];a[c+4>>2]=a[h+4>>2];a[c+8>>2]=a[h+8>>2];a[c+12>>2]=a[h+12>>2];a[o>>2]=a[46614];a[o+4>>2]=a[46615];a[o+8>>2]=a[46616];a[o+12>>2]=a[46617];a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];e=e+((xN(c,o,s,w)|0)==0&1)|0;if((e|0)==2){A=0;break}else A=A+2|0}}}while(0)}k=d;return A|0}function DN(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;i=a[A+16>>2]|0;if((r[(a[i+104>>2]|0)+82>>0]|0)!=0?(r[i+145>>0]|0)!=0:0)A=sa(A,e,0,f,n)|0;else A=0;return A|0}function MN(A,e){A=A|0;e=e|0;var i=0,l=0,t=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;R=k;k=k+48|0;D=R+24|0;Y=R+16|0;Q=R+8|0;G=R;J=R+32|0;w=R+28|0;N=a[A+16>>2]|0;X=N+208|0;i=a[X>>2]|0;if((i|0)==0?(f[N+260>>1]&1)==0:0)F=0;else y=4;if((y|0)==4)if(!(a[A+152>>2]&4)){Pi(A,i,a[N+228>>2]|0,a[N+244>>2]|0,a[N+212>>2]|0);F=1}else F=1;M=e+16|0;i=a[M>>2]|0;d=a[i+12>>2]|0;z=a[d+44>>2]|0;V=a[d+8>>2]|0;d=a[d+4>>2]|0;if((a[47285]|0)<(V|0)){i=V+5|0;a[47285]=i;l=a[47286]|0;if(!l)i=$F(i<<4)|0;else i=eV(l,i<<4)|0;a[47286]=i;i=a[M>>2]|0}W=(a[i+104>>2]|0)+56|0;i=i+16|0;a[W>>2]=a[i>>2];a[W+4>>2]=a[i+4>>2];a[W+8>>2]=a[i+8>>2];a[W+12>>2]=a[i+12>>2];W=a[M>>2]|0;m=+b[W+32>>3]*72.0;m=(+b[W+96>>3]+ +b[W+88>>3])/+(~~(m+(m>=0.0?.5:-.5))|0);L=+b[W+40>>3]*72.0;L=+b[W+80>>3]/+(~~(L+(L>=0.0?.5:-.5))|0);W=FN(A,e)|0;a[J>>2]=0;i=n[(a[M>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){B=BR(e,0,106256)|0;$i(A,B);er(A,BR(e,0,106264)|0);l=0;i=1;break}if(i&8|0){B=BR(e,0,106272)|0;$i(A,B);er(A,BR(e,0,106280)|0);l=0;i=1;break}if(i&4|0){B=BR(e,0,106288)|0;$i(A,B);er(A,BR(e,0,106296)|0);l=0;i=1;break}if(!(W&1))if(!(W&576)){l=0;i=0}else{l=VN(e)|0;i=1}else{l=VN(e)|0;if(!((qM(l,J,w)|0)<<24>>24)){er(A,l);i=1}else{er(A,a[J>>2]|0);i=a[J+4>>2]|0;s=kR(e,a[47173]|0,0,0)|0;t=+c[w>>2];if(!i)ir(A,137314,s,t);else ir(A,i,s,t);i=(W&2)>>>1|2}}B=JN(A,e)|0}else{B=BR(e,0,106240)|0;$i(A,B);er(A,BR(e,0,106248)|0);l=0;i=1}}while(0);s=a[(a[M>>2]|0)+8>>2]|0;if(r[s+12>>0]|0){s=a[s>>2]|0;if((r[s>>0]|0)==99){s=(A1(s,105519)|0)==0;y=33}else g=1}else{s=1;y=33}if((y|0)==33){s=s^1;if((d|0)!=0|i<<24>>24==0|s)g=s;else{$i(A,137379);d=1;g=0}}E=(V|0)<3;C=(W&512|0)!=0;Z=(W&8|0)==0;I=(W&64|0)==0;o=(W&1024|0)==0;h=(W&2130706444|0)==0;v=0;while(1){if((v|0)>=(d|0))break;w=U(v,V)|0;u=a[47286]|0;s=0;while(1){if((s|0)>=(V|0))break;p=s+w|0;t=+b[z+(p<<4)+8>>3];H=a[M>>2]|0;b[u+(s<<4)>>3]=+b[H+16>>3]+ +b[z+(p<<4)>>3]*m;b[u+(s<<4)+8>>3]=+b[H+24>>3]+t*L;s=s+1|0}do{if(E){if(C&(v|0)==0?(G1(l,58)|0)!=0:0)if((aI(A,u,l)|0)>1){a[G>>2]=Vh(e)|0;ao(3,106304,G)|0;i=0}else i=0;fr(A,a[47286]|0,V,i&255);if(!Z)NN(A,e)}else{if(!I){if((v|0)==0?(cI(A,u,l,1)|0)>1:0){a[Q>>2]=Vh(e)|0;ao(3,106304,Q)|0}ar(A,a[47286]|0,V,0);break}if(!o){$i(A,137379);ar(A,a[47286]|0,V,i&255);$i(A,B);tr(A,(a[47286]|0)+32|0,2);break}i=i&255;if(h){ar(A,u,V,i);break}else{tN(A,u,V,W,i);break}}}while(0);v=v+1|0;i=0}s=a[(a[M>>2]|0)+8>>2]|0;if(!(r[s+12>>0]|0)){s=po(e,109025)|0;if(s|0?r[s>>0]|0:0){u=s;y=65}}else{s=a[s>>2]|0;if((r[s>>0]|0)==99?(A1(s,105519)|0)==0:0){s=po(e,105526)|0;if(s|0?r[s>>0]|0:0){u=s;y=65}}else{u=s;y=65}}if((y|0)==65){w=a[47286]|0;s=0;while(1){if((s|0)>=(V|0))break;t=+b[z+(s<<4)+8>>3];p=a[M>>2]|0;b[w+(s<<4)>>3]=+b[p+16>>3]+ +b[z+(s<<4)>>3]*m;b[w+(s<<4)+8>>3]=+b[p+24>>3]+t*L;s=s+1|0}s=i&255;do{if(!(g|i<<24>>24==0)){if(E){if(C&(v|0)==0?(G1(l,58)|0)!=0:0)if((aI(A,w,l)|0)>1){a[Y>>2]=Vh(e)|0;ao(3,106304,Y)|0;i=0}else i=0;fr(A,a[47286]|0,V,i&255);if(Z)break;NN(A,e);break}if(I)if(!(W&12)){ar(A,w,V,s);break}else{tN(A,w,V,W,s);break}else{if((cI(A,w,l,1)|0)>1){a[D>>2]=Vh(e)|0;ao(3,106304,D)|0}ar(A,a[47286]|0,V,0);break}}}while(0);p=a[47286]|0;br(A,u,p,V,i,dR(e,a[47166]|0,137308)|0)}L2(a[J>>2]|0);jF(A,10,a[(a[M>>2]|0)+104>>2]|0);if(F){if(a[A+152>>2]&4|0)Pi(A,a[X>>2]|0,a[N+228>>2]|0,a[N+244>>2]|0,a[N+212>>2]|0);Oi(A)}k=R;return}function FN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;i=HN(e,f)|0;if(i|0)rr(A,i);i=a[47172]|0;if((i|0?(n=Uo(e,i)|0,n|0):0)?r[n>>0]|0:0)wr(A,+oR(e,a[47172]|0,1.0,0.0));k=l;return a[f>>2]|0}function VN(A){A=A|0;return RN(A,134800)|0}function JN(A,e){A=A|0;e=e|0;e=BR(e,a[47148]|0,195059)|0;e=r[e>>0]|0?e:137314;$i(A,e);return e|0}function NN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0.0,t=0,c=0,s=0;i=k;k=k+96|0;t=i+80|0;c=i+64|0;r=i+32|0;s=i+16|0;n=i;e=a[e+16>>2]|0;f=+b[e+80>>3];b[s+8>>3]=f*.375;l=+b[e+96>>3];b[s>>3]=l*.6614;e=e+16|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];XN(n,c,t);a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];a[r+8>>2]=a[n+8>>2];a[r+12>>2]=a[n+12>>2];n=r+8|0;e=r+24|0;b[e>>3]=+b[n>>3];b[r+16>>3]=+b[r>>3]-l*1.3228;tr(A,r,2);f=+b[n>>3]-f*.75;b[n>>3]=f;b[e>>3]=f;tr(A,r,2);k=i;return}function XN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function RN(A,e){A=A|0;e=e|0;var i=0;i=BR(A,a[47149]|0,195059)|0;if(!(r[i>>0]|0)){i=BR(A,a[47148]|0,195059)|0;return((r[i>>0]|0)==0?e:i)|0}else return i|0;return 0}function HN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;i=BR(A,a[47157]|0,195059)|0;A:do{if(!(r[i>>0]|0)){n=0;i=0}else{n=HI(i)|0;l=n;i=0;e:while(1){f=a[l>>2]|0;if(!f)break A;switch(r[f>>0]|0){case 102:{if(!(A1(f,111101)|0)){l=l+4|0;i=i|1;continue e}break}case 114:{if(!(A1(f,106316)|0)){f=l;do{c=f;f=f+4|0;t=a[f>>2]|0;a[c>>2]=t}while((t|0)!=0);c=l;i=i|4;l=c;continue e}if(!(A1(f,106334)|0)){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|3;l=c;continue e}break}case 100:{if(!(A1(f,106324)|0)){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|8;l=c;continue e}break}case 105:{if(!(A1(f,134335)|0)){l=l+4|0;i=i|32;continue e}break}case 115:{if((A1(f,106341)|0)==0?pN(A)|0:0){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|64;l=c;continue e}break}case 119:{if((A1(f,106349)|0)==0?UN(A)|0:0){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|512;l=c;continue e}break}default:{}}l=l+4|0}}}while(0);f=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)i=a[f+40>>2]|i;a[e>>2]=i;return n|0}function pN(A){A=A|0;var e=0.0;A=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((A|0)!=0?(a[A+8>>2]|0)==4:0)?(e=+b[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+b[A+24>>3]==0.0:0)A=+b[A+32>>3]==0.0&1;else A=0;return A|0}function UN(A){A=A|0;A=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!A)A=0;else A=(a[A+8>>2]|0)<3&1;return A|0}function xN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,n=0.0,l=0.0;l=+b[i+8>>3];n=-(+b[r+8>>3]-l);a=+b[i>>3];f=+b[r>>3]-a;a=f*l+a*n;return(+b[A+8>>3]*f+ +b[A>>3]*n-a>=0.0^+b[e>>3]*n-a+ +b[e+8>>3]*f>=0.0^1)&1|0}function TN(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;Y=k;k=k+192|0;m=Y+176|0;y=Y+160|0;s=Y+144|0;G=Y+128|0;Q=Y+112|0;w=Y+96|0;u=Y+80|0;o=Y+64|0;E=Y+48|0;C=Y+32|0;I=Y+16|0;W=Y;if(!e){a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;s=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;L=a[A+16>>2]|0;h=+b[L+80>>3]*.5;t=+b[L+88>>3];v=s?h:t;h=s?t:h;s=0;L=y;t=0.0;c=-h;d=v;z=y+8|0;B=0.0;v=-v}else{c=+b[e>>3];v=+b[e+8>>3];h=+b[e+16>>3];d=+b[e+24>>3];BN(s,(h+c)*.5,(d+v)*.5);a[y>>2]=a[s>>2];a[y+4>>2]=a[s+4>>2];a[y+8>>2]=a[s+8>>2];a[y+12>>2]=a[s+12>>2];D=y+8|0;s=1;L=y;t=+b[y>>3];z=D;B=+b[D>>3]}g=(h>d?h:d)*4.0;A:do{if((f|0)!=0?(Z=r[f>>0]|0,Z<<24>>24!=0):0){f=f+1|0;switch(Z<<24>>24|0){case 99:{o=1;n=0;f=0;w=0;t=0.0;u=0;break A}case 101:{if(r[f>>0]|0){o=1;n=0;f=0;w=0;t=0.0;u=1;break A}if(!l)b[L>>3]=h;else{SN(G,l,B,g);a[y>>2]=a[G>>2];a[y+4>>2]=a[G+4>>2];a[y+8>>2]=a[G+8>>2];a[y+12>>2]=a[G+12>>2]}o=0;n=n&2;f=0;w=1;t=0.0;u=0;s=1;break A}case 115:{b[z>>3]=v;switch(r[f>>0]|0){case 0:{if(!l)b[L>>3]=t;else{SN(Q,l,-g,t);a[y>>2]=a[Q>>2];a[y+4>>2]=a[Q+4>>2];a[y+8>>2]=a[Q+8>>2];a[y+12>>2]=a[Q+12>>2]}o=0;n=n&1;f=0;w=1;t=-1.5707963267948966;u=0;s=1;break A}case 101:{if(!l)b[L>>3]=h;else{SN(w,l,-g,g);a[y>>2]=a[w>>2];a[y+4>>2]=a[w+4>>2];a[y+8>>2]=a[w+8>>2];a[y+12>>2]=a[w+12>>2]}o=0;n=n&3;f=0;w=1;t=-.7853981633974483;u=0;s=1;break A}case 119:{if(!l)b[L>>3]=c;else{g=-g;SN(u,l,g,g);a[y>>2]=a[u>>2];a[y+4>>2]=a[u+4>>2];a[y+8>>2]=a[u+8>>2];a[y+12>>2]=a[u+12>>2]}o=0;n=n&9;f=0;w=1;t=-2.356194490192345;u=0;s=1;break A}default:{b[z>>3]=B;o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}case 119:{if(r[f>>0]|0){o=1;n=0;f=0;w=0;t=0.0;u=1;break A}if(!l)b[L>>3]=c;else{SN(o,l,B,-g);a[y>>2]=a[o>>2];a[y+4>>2]=a[o+4>>2];a[y+8>>2]=a[o+8>>2];a[y+12>>2]=a[o+12>>2]}o=0;n=n&8;f=0;w=1;t=3.141592653589793;u=0;s=1;break A}case 110:{b[z>>3]=d;switch(r[f>>0]|0){case 0:{if(!l)b[L>>3]=t;else{SN(E,l,g,t);a[y>>2]=a[E>>2];a[y+4>>2]=a[E+4>>2];a[y+8>>2]=a[E+8>>2];a[y+12>>2]=a[E+12>>2]}o=0;n=n&4;f=0;w=1;t=1.5707963267948966;u=0;s=1;break A}case 101:{if(!l)b[L>>3]=h;else{SN(C,l,g,g);a[y>>2]=a[C>>2];a[y+4>>2]=a[C+4>>2];a[y+8>>2]=a[C+8>>2];a[y+12>>2]=a[C+12>>2]}o=0;n=n&6;f=0;w=1;t=.7853981633974483;u=0;s=1;break A}case 119:{if(!l)b[L>>3]=c;else{SN(I,l,g,-g);a[y>>2]=a[I>>2];a[y+4>>2]=a[I+4>>2];a[y+8>>2]=a[I+8>>2];a[y+12>>2]=a[I+12>>2]}o=0;n=n&12;f=0;w=1;t=2.356194490192345;u=0;s=1;break A}default:{b[z>>3]=B;o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}case 95:{o=1;f=1;w=0;t=0.0;u=0;break A}default:{o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}else{o=1;n=0;f=0;w=0;t=0.0;u=0}}while(0);D=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];LF(W,m,D);a[y>>2]=a[W>>2];a[y+4>>2]=a[W+4>>2];a[y+8>>2]=a[W+8>>2];a[y+12>>2]=a[W+12>>2];if(!(f<<24>>24))n=PN(n,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)|0;r[i+33>>0]=n;a[i+24>>2]=e;c=+b[L>>3];b[i>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);c=+b[z>>3];b[i+8>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);b[i+16>>3]=+ON(t,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3);c=+b[L>>3];t=+b[z>>3];if(c==0.0&t==0.0)n=-128;else{g=+X(+t,+c);v=g+4.71238898038469;n=~~((!(v>=6.283185307179586)?v:g+-1.5707963267948966)*40.74366543152521)&255}r[i+32>>0]=n;r[i+29>>0]=w;r[i+28>>0]=s;r[i+30>>0]=o;r[i+31>>0]=f;k=Y;return u|0}function jN(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=Vh(A)|0;a[r+4>>2]=e;ao(0,106419,r)|0;k=i;return}function SN(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+128|0;n=o+112|0;t=o+48|0;c=o+16|0;s=o+32|0;w=o;u=a[e>>2]|0;l=a[(a[(Id(u)|0)+16>>2]|0)+116>>2]&3;b[c>>3]=r;b[c+8>>3]=i;f=(l|0)!=0;if(f){a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];LF(s,n,l*90|0);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2]}s=t+48|0;h=t+32|0;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;a[t+16>>2]=0;a[t+20>>2]=0;a[t+24>>2]=0;a[t+28>>2]=0;a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];hX(e,a[(a[(a[(a[u+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,t,1);if(f){a[n>>2]=a[t>>2];a[n+4>>2]=a[t+4>>2];a[n+8>>2]=a[t+8>>2];a[n+12>>2]=a[t+12>>2];WF(w,n,l*90|0);a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2]}a[A>>2]=a[t>>2];a[A+4>>2]=a[t+4>>2];a[A+8>>2]=a[t+8>>2];a[A+12>>2]=a[t+12>>2];k=o;return}function PN(A,e){A=A|0;e=e|0;A:do{switch(e|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 ON(A,e){A=+A;e=e|0;switch(e|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 KN(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,l=0,t=0,c=0;r=k;k=k+32|0;c=r+16|0;l=r;A=a[A>>2]|0;t=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];WF(l,c,t);i=+b[l>>3];n=+b[l+8>>3];A=a[A+16>>2]|0;f=+b[A+80>>3]*.5;if(!(!(n>=-f)|!(n<=f))?i>=-+b[A+88>>3]:0)A=i<=+b[A+96>>3]&1;else A=0;k=r;return A|0}function _N(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+32|0;s=w;l=a[A+16>>2]|0;t=l+208|0;n=a[t>>2]|0;if(!n)c=(f[l+260>>1]&1)!=0;else c=1;i=e+16|0;e=a[i>>2]|0;r=a[e+12>>2]|0;if(r|0){if(c?(a[A+152>>2]&4|0)==0:0){Pi(A,n,a[l+228>>2]|0,a[l+244>>2]|0,a[l+212>>2]|0);e=a[i>>2]|0}n=a[A+36>>2]|0;o=+b[e+24>>3]+ +(a[r+8>>2]|0);u=a[r>>2]|0;b[s>>3]=+b[e+16>>3]+ +(a[r+4>>2]|0);b[s+8>>3]=o;a[s+16>>2]=u;f3(n,106450,s)|0;n=a[i>>2]|0;s=(a[n+104>>2]|0)+56|0;n=n+16|0;a[s>>2]=a[n>>2];a[s+4>>2]=a[n+4>>2];a[s+8>>2]=a[n+8>>2];a[s+12>>2]=a[n+12>>2];jF(A,10,a[(a[i>>2]|0)+104>>2]|0);if(c){if(a[A+152>>2]&4|0)Pi(A,a[t>>2]|0,a[l+228>>2]|0,a[l+244>>2]|0,a[l+212>>2]|0);Oi(A)}}k=w;return}function qN(A){A=A|0;EN(a[(a[A+16>>2]|0)+12>>2]|0);return}function $N(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=k;k=k+64|0;b=s+40|0;l=s;if(!(r[i>>0]|0)){l=4208;f=A+40|0;do{a[A>>2]=a[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}else{f=(f|0)==0?106356:f;t=a[(a[e+16>>2]|0)+12>>2]|0;c=aX(t,i)|0;if(!c){if(TN(e,t+16|0,l,i,15,0)|0)jN(e,i)}else if(TN(e,c+16|0,l,f,n[c+65>>0]|0,0)|0){a[b>>2]=Vh(e)|0;a[b+4>>2]=i;a[b+8>>2]=f;ao(0,106358,b)|0}f=A+40|0;do{a[A>>2]=a[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}k=s;return}function AX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0.0;c=k;k=k+32|0;s=c+16|0;l=c;f=a[A+4>>2]|0;A=a[A>>2]|0;n=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];WF(l,s,n);a[e>>2]=a[l>>2];a[e+4>>2]=a[l+4>>2];a[e+8>>2]=a[l+8>>2];a[e+12>>2]=a[l+12>>2];if(!f){f=a[(a[A+16>>2]|0)+12>>2]|0;n=f+16|0;A=f+24|0;l=f+32|0;f=f+40|0}else{n=f;A=f+8|0;l=f+16|0;f=f+24|0}r=+b[A>>3];i=+b[f>>3];w=+b[e>>3];if((+b[n>>3]<=w?w<=+b[l>>3]:0)?(t=+b[e+8>>3],r<=t):0)A=t<=i&1;else A=0;k=c;return A|0}function eX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0.0;g=k;k=k+80|0;d=g+64|0;h=g+32|0;v=g;A:do{if(!(r[e+28>>0]|0))i=0;else{l=+b[e>>3];o=A+16|0;s=a[(a[o>>2]|0)+12>>2]|0;c=s+48|0;s=s+56|0;e=0;while(1){if((e|0)>=(a[c>>2]|0))break A;w=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;u=a[(a[s>>2]|0)+(e<<2)>>2]|0;t=+(~~+b[(w?u+16|0:u+24|0)>>3]|0);if(l>=t?(B=+(~~+b[(w?u+32|0:u+40|0)>>3]|0),l<=B):0)break;e=e+1|0}if(!(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1)){v=a[o>>2]|0;E=+b[v+16>>3];b[f>>3]=E+t;t=+b[v+24>>3];l=+b[v+80>>3];b[f+8>>3]=t-l*.5;b[f+16>>3]=E+B}else{u=(a[(a[s>>2]|0)+(e<<2)>>2]|0)+16|0;A=(a[o>>2]|0)+16|0;a[h>>2]=a[u>>2];a[h+4>>2]=a[u+4>>2];a[h+8>>2]=a[u+8>>2];a[h+12>>2]=a[u+12>>2];a[h+16>>2]=a[u+16>>2];a[h+20>>2]=a[u+20>>2];a[h+24>>2]=a[u+24>>2];a[h+28>>2]=a[u+28>>2];a[d>>2]=a[A>>2];a[d+4>>2]=a[A+4>>2];a[d+8>>2]=a[A+8>>2];a[d+12>>2]=a[A+12>>2];yF(v,h,d);a[f>>2]=a[v>>2];a[f+4>>2]=a[v+4>>2];a[f+8>>2]=a[v+8>>2];a[f+12>>2]=a[v+12>>2];a[f+16>>2]=a[v+16>>2];a[f+20>>2]=a[v+20>>2];a[f+24>>2]=a[v+24>>2];a[f+28>>2]=a[v+28>>2];v=a[o>>2]|0;l=+b[v+80>>3];t=+b[v+24>>3]}b[f+24>>3]=l*.5+t;a[n>>2]=1}}while(0);k=g;return i|0}function iX(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;C=k;k=k+144|0;w=C+96|0;o=C+64|0;d=C;B=C+128|0;v=a[A+16>>2]|0;g=v+208|0;i=a[g>>2]|0;if(!i)E=(f[v+260>>1]&1)!=0;else E=1;s=e+16|0;h=a[s>>2]|0;u=a[h+12>>2]|0;l=u+16|0;a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];a[o+16>>2]=a[l+16>>2];a[o+20>>2]=a[l+20>>2];a[o+24>>2]=a[l+24>>2];a[o+28>>2]=a[l+28>>2];I=+b[h+16>>3];b[o>>3]=+b[o>>3]+I;t=+b[h+24>>3];h=o+8|0;b[h>>3]=+b[h>>3]+t;h=o+16|0;b[h>>3]=+b[h>>3]+I;l=o+24|0;b[l>>3]=+b[l>>3]+t;if(E?(a[A+152>>2]&4|0)==0:0)Pi(A,i,a[v+228>>2]|0,a[v+244>>2]|0,a[v+212>>2]|0);i=FN(A,e)|0;JN(A,e)|0;a[B>>2]=0;if(!(i&1))n=0;else{n=VN(e)|0;if(!((qM(n,B,w)|0)<<24>>24)){er(A,n);n=1}else{er(A,a[B>>2]|0);n=a[B+4>>2]|0;l=kR(e,a[47173]|0,0,0)|0;t=+c[w>>2];if(!n)ir(A,137314,l,t);else ir(A,n,l,t);n=i>>>1&1|2}}l=a[a[(a[s>>2]|0)+8>>2]>>2]|0;if((r[l>>0]|0)==77){s=(A1(l,106227)|0)==0;i=s?i|4:i}if(!(i&2130706444)){a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2];a[w+16>>2]=a[o+16>>2];a[w+20>>2]=a[o+20>>2];a[w+24>>2]=a[o+24>>2];a[w+28>>2]=a[o+28>>2];nr(A,w,n)}else{a[d>>2]=a[o>>2];a[d+4>>2]=a[o+4>>2];a[d+8>>2]=a[o+8>>2];a[d+12>>2]=a[o+12>>2];o=d+32|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];b[d+16>>3]=+b[o>>3];b[d+24>>3]=+b[d+8>>3];b[d+48>>3]=+b[d>>3];b[d+56>>3]=+b[d+40>>3];tN(A,d,4,i,n)}rX(A,e,u);L2(a[B>>2]|0);if(E){if(a[A+152>>2]&4|0)Pi(A,a[g>>2]|0,a[v+228>>2]|0,a[v+244>>2]|0,a[v+212>>2]|0);Oi(A)}k=C;return}function rX(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+144|0;o=g+128|0;u=g+112|0;h=g+16|0;d=g;n=g+96|0;l=g+80|0;B=g+64|0;v=g+48|0;t=i+52|0;f=a[t>>2]|0;if(!f)f=e+16|0;else{w=f+56|0;s=i+16|0;f=i+32|0;a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];fX(n,u,o);f=e+16|0;s=(a[f>>2]|0)+16|0;a[u>>2]=a[n>>2];a[u+4>>2]=a[n+4>>2];a[u+8>>2]=a[n+8>>2];a[u+12>>2]=a[n+12>>2];a[o>>2]=a[s>>2];a[o+4>>2]=a[s+4>>2];a[o+8>>2]=a[s+8>>2];a[o+12>>2]=a[s+12>>2];XN(l,u,o);a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];jF(A,10,a[t>>2]|0);JN(A,e)|0}c=(a[f>>2]|0)+16|0;a[d>>2]=a[c>>2];a[d+4>>2]=a[c+4>>2];a[d+8>>2]=a[c+8>>2];a[d+12>>2]=a[c+12>>2];c=i+48|0;s=i+64|0;w=h+16|0;t=i+56|0;i=h+16|0;l=0;while(1){if((l|0)>=(a[c>>2]|0))break;if((l|0)>0){f=(a[t>>2]|0)+(l<<2)|0;n=a[f>>2]|0;if(!(r[s>>0]|0)){n=n+32|0;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];b[h>>3]=+b[(a[f>>2]|0)+16>>3];f=w;n=0}else{n=n+16|0;a[h>>2]=a[n>>2];a[h+4>>2]=a[n+4>>2];a[h+8>>2]=a[n+8>>2];a[h+12>>2]=a[n+12>>2];b[i>>3]=+b[h>>3];f=(a[f>>2]|0)+32|0;n=1}b[h+(n<<4)+8>>3]=+b[f+8>>3];a[u>>2]=a[h>>2];a[u+4>>2]=a[h+4>>2];a[u+8>>2]=a[h+8>>2];a[u+12>>2]=a[h+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];XN(B,u,o);a[h>>2]=a[B>>2];a[h+4>>2]=a[B+4>>2];a[h+8>>2]=a[B+8>>2];a[h+12>>2]=a[B+12>>2];a[u>>2]=a[w>>2];a[u+4>>2]=a[w+4>>2];a[u+8>>2]=a[w+8>>2];a[u+12>>2]=a[w+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];XN(v,u,o);a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];tr(A,h,2)}rX(A,e,a[(a[t>>2]|0)+(l<<2)>>2]|0);l=l+1|0}k=g;return}function fX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function aX(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=a[A+60>>2]|0;if(!(((i|0)!=0?(r[i>>0]|0)==(r[e>>0]|0):0)?(A1(i,e)|0)==0:0))f=4;A:do{if((f|0)==4){n=A+56|0;f=a[A+48>>2]|0;i=0;while(1){if((i|0)>=(f|0)){A=0;break A}A=aX(a[(a[n>>2]|0)+(i<<2)>>2]|0,e)|0;if(!A)i=i+1|0;else break}}}while(0);return A|0}function nX(A,e){A=A|0;e=e|0;var i=0;i=e+8|0;b[i>>3]=+b[i>>3]*1.375;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function lX(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0;c=+b[e>>3];f=c*.5;w=+b[e+8>>3];l=w*.5;b[A>>3]=f;r=w*.40909090909090906;b[A+8>>3]=r;b[A+16>>3]=f;n=w*.4592530909090909;b[A+24>>3]=n;t=c*.275892;b[A+32>>3]=t;b[A+40>>3]=l;b[A+48>>3]=0.0;b[A+56>>3]=l;c=c*-.275892;b[A+64>>3]=c;b[A+72>>3]=l;s=-f;b[A+80>>3]=s;b[A+88>>3]=n;i=A+96|0;b[i>>3]=s;b[A+104>>3]=r;e=A+112|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=A+128|0;b[e>>3]=s;b[A+136>>3]=w*-.40909090909090906;i=A+144|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[A+160>>3]=s;n=-n;b[A+168>>3]=n;b[A+176>>3]=c;l=-l;b[A+184>>3]=l;b[A+192>>3]=0.0;b[A+200>>3]=l;b[A+208>>3]=t;b[A+216>>3]=l;b[A+224>>3]=f;b[A+232>>3]=n;i=A+240|0;b[i>>3]=f;b[A+248>>3]=-r;e=A+256|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=A+288|0;i=A+272|0;a[i>>2]=a[A>>2];a[i+4>>2]=a[A+4>>2];a[i+8>>2]=a[A+8>>2];a[i+12>>2]=a[A+12>>2];a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];return}function tX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+144|0;g=I+112|0;v=I+96|0;E=I+80|0;B=I+64|0;C=I+32|0;h=I+16|0;d=I;n=I+48|0;do{if(A){t=a[A+4>>2]|0;c=a[A>>2]|0;u=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&3)*90|0;a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];a[g+8>>2]=a[e+8>>2];a[g+12>>2]=a[e+12>>2];WF(n,g,u);a[C>>2]=a[n>>2];a[C+4>>2]=a[n+4>>2];a[C+8>>2]=a[n+8>>2];a[C+12>>2]=a[n+12>>2];if(t|0){i=+b[C>>3];if(!(+b[t>>3]<=i)){A=0;break}if(!(i<=+b[t+16>>3])){A=0;break}i=+b[C+8>>3];if(!(+b[t+8>>3]<=i)){A=0;break}A=i<=+b[t+24>>3];break}if((c|0)==(a[47292]|0)){i=+b[23309];r=+b[23310];l=+b[23311]}else{A=c+16|0;e=a[(a[A>>2]|0)+12>>2]|0;a[47293]=e;a[47294]=a[e+44>>2];a[47295]=a[e+8>>2];if(!(a[e+40>>2]&2048)){w=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&1|0)==0;u=a[A>>2]|0;b[(w?186496:186504)>>3]=+b[u+96>>3]+ +b[u+88>>3];b[(w?186504:186496)>>3]=+b[u+80>>3];l=+b[u+32>>3]*72.0;f=+b[u+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);l=+(~~(l+(l>=0.0?.5:-.5))|0)}else{HR(g,e);l=+b[g+16>>3]-+b[g>>3];f=+b[g+24>>3]-+b[g+8>>3];u=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&1|0)==0;b[(u?186496:186504)>>3]=l;b[(u?186504:186496)>>3]=f}i=+b[23312];if(i==0.0){b[23312]=1.0;i=1.0}r=+b[23313];if(r==0.0){b[23313]=1.0;r=1.0}i=l/i;b[23309]=i;r=f/r;b[23310]=r;l=l*.5;b[23311]=l;b[23314]=f*.5;u=U((a[(a[47293]|0)+4>>2]|0)+-1|0,a[47295]|0)|0;a[47296]=(u|0)>0?u:0;a[47292]=c}f=+b[C>>3]*i;b[C>>3]=f;u=C+8|0;i=+b[u>>3]*r;b[u>>3]=i;if(!(+y(+f)>l)?(r=+y(+i),o=+b[23314],!(r>o)):0){u=a[47295]|0;if((u|0)<3){A=+v1(f/l,i/o)<1.0;break}e=(a[47297]|0)%(u|0)|0;A=(e+1|0)%(u|0)|0;c=a[47294]|0;s=a[47296]|0;w=c+(s+e<<4)|0;a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];w=c+(s+A<<4)|0;a[d>>2]=a[w>>2];a[d+4>>2]=a[w+4>>2];a[d+8>>2]=a[w+8>>2];a[d+12>>2]=a[w+12>>2];a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[46630];a[E+4>>2]=a[46631];a[E+8>>2]=a[46632];a[E+12>>2]=a[46633];a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[g>>2]=a[w>>2];a[g+4>>2]=a[w+4>>2];a[g+8>>2]=a[w+8>>2];a[g+12>>2]=a[w+12>>2];if(xN(B,E,v,g)|0){a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[h>>2];a[E+4>>2]=a[h+4>>2];a[E+8>>2]=a[h+8>>2];a[E+12>>2]=a[h+12>>2];a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];a[g>>2]=a[46630];a[g+4>>2]=a[46631];a[g+8>>2]=a[46632];a[g+12>>2]=a[46633];w=(xN(B,E,v,g)|0)!=0;if(w?(a[B>>2]=a[C>>2],a[B+4>>2]=a[C+4>>2],a[B+8>>2]=a[C+8>>2],a[B+12>>2]=a[C+12>>2],a[E>>2]=a[d>>2],a[E+4>>2]=a[d+4>>2],a[E+8>>2]=a[d+8>>2],a[E+12>>2]=a[d+12>>2],a[v>>2]=a[46630],a[v+4>>2]=a[46631],a[v+8>>2]=a[46632],a[v+12>>2]=a[46633],a[g>>2]=a[h>>2],a[g+4>>2]=a[h+4>>2],a[g+8>>2]=a[h+8>>2],a[g+12>>2]=a[h+12>>2],(xN(B,E,v,g)|0)!=0):0){A=1;break}else{t=e;e=1}while(1){if((e|0)>=(u|0)){e=31;break}if(w){n=A;A=(A+1|0)%(u|0)|0}else{n=(t+-1+u|0)%(u|0)|0;A=t}h=c+(s+n<<4)|0;d=c+(s+A<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[46630];a[E+4>>2]=a[46631];a[E+8>>2]=a[46632];a[E+12>>2]=a[46633];a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[g>>2]=a[d>>2];a[g+4>>2]=a[d+4>>2];a[g+8>>2]=a[d+8>>2];a[g+12>>2]=a[d+12>>2];if(!(xN(B,E,v,g)|0)){e=30;break}else{t=n;e=e+1|0}}if((e|0)==30){a[47297]=n;A=0;break}else if((e|0)==31){a[47297]=t;A=1;break}}else A=0}else A=0}else{a[47292]=0;A=0}}while(0);k=I;return A&1|0}function cX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0;t=k;k=k+32|0;f=t+16|0;l=t;if(A){A=a[A>>2]|0;c=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(l,f,c);n=+b[l>>3];r=+b[l+8>>3];if((A|0)==(a[47300]|0))i=+b[23317];else{l=a[(a[A+16>>2]|0)+12>>2]|0;c=(a[l+4>>2]<<1)+-2|0;i=+b[(a[l+44>>2]|0)+((((c|0)>0?c:0)|1)<<4)>>3];b[23317]=i;a[47300]=A}if(+y(+n)>i|+y(+r)>i)A=0;else A=+v1(n,r)<=i&1}else{a[47300]=0;A=0}k=t;return A|0}function bX(A,e){A=A|0;e=e|0;var i=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0,C=0;v=k;k=k+16|0;t=v;d=a[A+16>>2]|0;B=d+208|0;i=a[B>>2]|0;if((i|0)==0?(f[d+260>>1]&1)==0:0)h=0;else if(!(a[A+152>>2]&4)){Pi(A,i,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0);h=1}else h=1;w=e+16|0;c=a[(a[w>>2]|0)+12>>2]|0;u=a[c+44>>2]|0;o=a[c+8>>2]|0;c=a[c+4>>2]|0;if((a[47298]|0)<(o|0)){i=o+2|0;a[47298]=i;l=a[47299]|0;if(!l)i=$F(i<<4)|0;else i=eV(l,i<<4)|0;a[47299]=i}HN(e,t)|0;if(!(a[t>>2]&32))rr(A,22020);else rr(A,22016);i=a[47172]|0;if(i|0)wr(A,+oR(e,i,1.0,0.0));i=n[(a[w>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){$i(A,BR(e,0,106256)|0);i=BR(e,0,106264)|0;er(A,i);break}if(i&8|0){$i(A,BR(e,0,106272)|0);i=BR(e,0,106280)|0;er(A,i);break}if(!(i&4)){i=RN(e,137314)|0;er(A,i);JN(A,e)|0;break}else{$i(A,BR(e,0,106288)|0);i=BR(e,0,106296)|0;er(A,i);break}}else{$i(A,BR(e,0,106240)|0);i=BR(e,0,106248)|0;er(A,i)}}while(0);if(!c)if(!(r[i>>0]|0))l=1;else{$i(A,i);l=1}else l=c;t=1;e=0;while(1){if((e|0)>=(l|0))break;c=U(e,o)|0;s=a[47299]|0;i=0;while(1){if((i|0)>=(o|0))break;C=i+c|0;g=+b[u+(C<<4)+8>>3];E=a[w>>2]|0;b[s+(i<<4)>>3]=+b[E+16>>3]+ +b[u+(C<<4)>>3];b[s+(i<<4)+8>>3]=+b[E+24>>3]+g;i=i+1|0}fr(A,s,o,t);t=0;e=e+1|0}if(h){if(a[A+152>>2]&4|0)Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0);Oi(A)}k=v;return}function sX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,l=0;f=k;k=k+48|0;l=f;i=wX(e,i,r)|0;a[l+36>>2]=a[r+36>>2];TN(e,a[r+24>>2]|0,l,i,n[r+33>>0]|0,0)|0;e=l;i=A+40|0;do{a[A>>2]=a[e>>2];A=A+4|0;e=e+4|0}while((A|0)<(i|0));k=f;return}function wX(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0;G=k;k=k+32|0;Z=G;n=G+24|0;c=G+16|0;I=a[(a[(a[(Id(A)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=A+16|0;C=(a[f>>2]|0)+16|0;a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];uX(n,Z,I);C=(a[e+16>>2]|0)+16|0;a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];uX(c,Z,I);I=r[i+33>>0]|0;Z=I&255;A:do{switch(I<<24>>24){case 0:case 15:{e=0;break}default:{e=a[i+24>>2]|0;if(!e){I=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;C=a[f>>2]|0;m=+b[C+80>>3]*.5;Q=-m;s=+b[C+88>>3];t=-s;w=I?t:Q;l=I?s:m;s=I?m:s;t=I?Q:t}else{w=+b[e>>3];l=+b[e+16>>3];s=+b[e+24>>3];t=+b[e+8>>3]}I=a[n>>2]|0;E=a[n+4>>2]|0;C=a[c>>2]|0;B=a[c+4>>2]|0;v=~~t;g=~~((l+w)*.5);d=~~l;h=~~((s+t)*.5);o=~~s;u=~~w;n=0;c=0;e=0;i=0;A=0;while(1){if((c|0)==4)break A;if(1<>2]|0;else f=n}else f=n;n=f;c=c+1|0}}}}while(0);k=G;return e|0}function uX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;switch(i|0){case 0:{f=+b[e>>3];r=+b[e+8>>3];break}case 2:{f=+b[e>>3];r=-+b[e+8>>3];break}case 1:{f=-+b[e+8>>3];r=+b[e>>3];break}case 3:{f=+b[e+8>>3];r=+b[e>>3];break}default:{f=0.0;r=0.0}}a[A>>2]=~~(f+(f>=0.0?.5:-.5));a[A+4>>2]=~~(r+(r>=0.0?.5:-.5));return}function kX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;f=t+40|0;l=t;n=A+16|0;i=a[n>>2]|0;e=i+16|0;if(r[i+47>>0]|0){i=a[A>>2]&3;sX(f,a[((i|0)==3?A:A+48|0)+40>>2]|0,a[((i|0)==2?A:A+-48|0)+40>>2]|0,e);i=f;f=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(f|0));i=a[n>>2]|0}e=i+56|0;if(r[i+87>>0]|0){i=a[A>>2]&3;sX(l,a[((i|0)==2?A:A+-48|0)+40>>2]|0,a[((i|0)==3?A:A+48|0)+40>>2]|0,e);i=l;f=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(f|0))}k=t;return}function oX(){var A=0,e=0,i=0;A=k;k=k+32|0;e=A+16|0;i=A;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];tX(0,e)|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];cX(0,e)|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];YN(0,e)|0;k=A;return}function hX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;G=k;k=k+192|0;B=G+176|0;I=G+112|0;Z=G+48|0;v=G+32|0;g=G+24|0;E=G+16|0;C=G;if(!(r<<24>>24)){c=i+48|0;a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];c=g;s=E;w=I;u=0}else{a[v>>2]=a[i>>2];a[v+4>>2]=a[i+4>>2];a[v+8>>2]=a[i+8>>2];a[v+12>>2]=a[i+12>>2];c=E;s=g;w=0;u=I}b[g>>3]=0.0;b[E>>3]=1.0;h=v+8|0;f=0.0;n=1.0;t=0;o=+b[v>>3];while(1){d=+b[h>>3];f=(f+n)*.5;mR(C,i,3,f,w,u);a[v>>2]=a[C>>2];a[v+4>>2]=a[C+4>>2];a[v+8>>2]=a[C+8>>2];a[v+12>>2]=a[C+12>>2];a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];A:do{if(!((m5[e&127](A,B)|0)<<24>>24)){r=0;while(1){if((r|0)==4){r=c;t=1;break A}t=Z+(r<<4)|0;Q=I+(r<<4)|0;a[t>>2]=a[Q>>2];a[t+4>>2]=a[Q+4>>2];a[t+8>>2]=a[Q+8>>2];a[t+12>>2]=a[Q+12>>2];r=r+1|0}}else r=s}while(0);b[r>>3]=f;l=+b[v>>3];o=o-l;if(!((o>=0.0?o:-o)>.5)?(d=d-+b[h>>3],!((d>=0.0?d:-d)>.5)):0)break;f=+b[g>>3];n=+b[E>>3];o=l}A:do{if(!(t<<24>>24)){r=0;while(1){if((r|0)==4)break A;Q=i+(r<<4)|0;Z=I+(r<<4)|0;a[Q>>2]=a[Z>>2];a[Q+4>>2]=a[Z+4>>2];a[Q+8>>2]=a[Z+8>>2];a[Q+12>>2]=a[Z+12>>2];r=r+1|0}}else{r=0;while(1){if((r|0)==4)break A;Q=i+(r<<4)|0;I=Z+(r<<4)|0;a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];r=r+1|0}}}while(0);k=G;return}function dX(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=k;k=k+48|0;i=s+16|0;r=s;f=s+32|0;n=A+16|0;l=a[n>>2]|0;t=a[l+8>>2]|0;if(t|0?(c=t+4|0,a[(a[c>>2]|0)+12>>2]|0):0){a[f>>2]=A;a[f+4>>2]=0;w=+b[l+96>>3];b[r>>3]=+b[e>>3]-+b[l+16>>3];b[r+8>>3]=+b[e+8>>3]-+b[l+24>>3];c=a[(a[c>>2]|0)+12>>2]|0;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];c=m5[c&127](f,i)|0;b[(a[n>>2]|0)+96>>3]=w;BX(f,A,e,c)}k=s;return}function BX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+64|0;s=w;t=e+16|0;n=a[t>>2]|0;c=+b[n+96>>3];l=n+16|0;f=n+24|0;e=0;while(1){if((e|0)==4)break;b[s+(e<<4)>>3]=+b[i+(e<<4)>>3]-+b[l>>3];b[s+(e<<4)+8>>3]=+b[i+(e<<4)+8>>3]-+b[f>>3];e=e+1|0}hX(A,a[(a[(a[n+8>>2]|0)+4>>2]|0)+12>>2]|0,s,r);e=0;while(1){if((e|0)==4)break;r=a[t>>2]|0;b[i+(e<<4)>>3]=+b[r+16>>3]+ +b[s+(e<<4)>>3];b[i+(e<<4)+8>>3]=+b[r+24>>3]+ +b[s+(e<<4)+8>>3];e=e+1|0}b[(a[t>>2]|0)+96>>3]=c;k=w;return}function vX(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=A+16|0;A=a[f>>2]|0;if(!(r[A+112>>0]|0))break;A=a[A+116>>2]|0}A=a[A+8>>2]|0;if(!A){A=qF(40)|0;a[(a[f>>2]|0)+8>>2]=A}i=a[A>>2]|0;if(!i)A=$F(((a[A+4>>2]|0)*48|0)+48|0)|0;else A=eV(i,((a[A+4>>2]|0)*48|0)+48|0)|0;f=a[(a[f>>2]|0)+8>>2]|0;a[f>>2]=A;f=f+4|0;i=a[f>>2]|0;a[f>>2]=i+1;f=A+(i*48|0)|0;a[f>>2]=qF(e<<4)|0;a[A+(i*48|0)+4>>2]=e;A=A+(i*48|0)+8|0;i=A+40|0;do{a[A>>2]=0;A=A+4|0}while((A|0)<(i|0));return f|0}function gX(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0.0,z=0.0;W=k;k=k+96|0;Q=W+16|0;g=W;I=W+92|0;Z=W+88|0;E=W+80|0;s=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;G=Id(s)|0;m=vX(A,f)|0;w=A;while(1){u=a[w+16>>2]|0;if(!(r[u+112>>0]|0))break;w=a[u+116>>2]|0}if((r[l+8>>0]|0)==0?(t=a[s+16>>2]|0,c=a[e+16>>2]|0,(a[t+232>>2]|0)==(a[c+232>>2]|0)):0){o=(a[t+236>>2]|0)>(a[c+236>>2]|0);C=o?s:e;s=o?e:s}else C=e;if((s|0)==(a[((a[w>>2]&3|0)==3?w:w+48|0)+40>>2]|0)){t=u+80|0;c=u+40|0;o=n[u+86>>0]|0;e=n[u+46>>0]|0}else{t=u+40|0;c=u+80|0;o=n[u+46>>0]|0;e=n[u+86>>0]|0}u=a[t>>2]|0;t=a[c>>2]|0;if(((e|0)!=0?(d=s+16|0,h=a[(a[d>>2]|0)+8>>2]|0,(h|0)!=0):0)?(a[(a[h+4>>2]|0)+12>>2]|0)!=0:0){a[E>>2]=s;a[E+4>>2]=t;t=f+-4|0;e=g+8|0;c=0;while(1){if((c|0)>=(t|0))break;w=c+3|0;h=a[d>>2]|0;b[g>>3]=+b[i+(w<<4)>>3]-+b[h+16>>3];b[e>>3]=+b[i+(w<<4)+8>>3]-+b[h+24>>3];h=a[(a[(a[h+8>>2]|0)+4>>2]|0)+12>>2]|0;a[Q>>2]=a[g>>2];a[Q+4>>2]=a[g+4>>2];a[Q+8>>2]=a[g+8>>2];a[Q+12>>2]=a[g+12>>2];if(!((m5[h&127](E,Q)|0)<<24>>24))break;else c=w}a[I>>2]=c;BX(E,s,i+(c<<4)|0,1)}else{a[I>>2]=0;c=0}if(((o|0)!=0?(v=C+16|0,B=a[(a[v>>2]|0)+8>>2]|0,(B|0)!=0):0)?(a[(a[B+4>>2]|0)+12>>2]|0)!=0:0){a[E>>2]=C;a[E+4>>2]=u;s=f+-4|0;e=g+8|0;t=s;while(1){if((t|0)<=0)break;f=a[v>>2]|0;b[g>>3]=+b[i+(t<<4)>>3]-+b[f+16>>3];b[e>>3]=+b[i+(t<<4)+8>>3]-+b[f+24>>3];f=a[(a[(a[f+8>>2]|0)+4>>2]|0)+12>>2]|0;a[Q>>2]=a[g>>2];a[Q+4>>2]=a[g+4>>2];a[Q+8>>2]=a[g+8>>2];a[Q+12>>2]=a[g+12>>2];if(!((m5[f&127](E,Q)|0)<<24>>24))break;t=t+-3|0}a[Z>>2]=t;BX(E,C,i+(t<<4)|0,0)}else{s=f+-4|0;a[Z>>2]=s;t=s}while(1){if((c|0)>=(s|0))break;e=c+3|0;y=+b[i+(c<<4)>>3]-+b[i+(e<<4)>>3];z=+b[i+(c<<4)+8>>3]-+b[i+(e<<4)+8>>3];if(z*z+y*y<1.0e-06)c=e;else break}a[I>>2]=c;while(1){if((t|0)<=0)break;E=t+3|0;z=+b[i+(t<<4)>>3]-+b[i+(E<<4)>>3];y=+b[i+(t<<4)+8>>3]-+b[i+(E<<4)+8>>3];if(!(y*y+z*z<1.0e-06))break;t=t+-3|0}a[Z>>2]=t;EX(A,C,i,I,Z,m,l);d=a[I>>2]|0;w=a[Z>>2]|0;s=w+4|0;w=w+3|0;u=Q+16|0;o=Q+32|0;h=Q+48|0;c=G+16|0;t=d;while(1){if((t|0)>=(s|0))break;G=(a[m>>2]|0)+(t-d<<4)|0;e=i+(t<<4)|0;a[G>>2]=a[e>>2];a[G+4>>2]=a[e+4>>2];a[G+8>>2]=a[e+8>>2];a[G+12>>2]=a[e+12>>2];a[Q>>2]=a[e>>2];a[Q+4>>2]=a[e+4>>2];a[Q+8>>2]=a[e+8>>2];a[Q+12>>2]=a[e+12>>2];e=t+1|0;if((t|0)>=(w|0)){L=38;break}Z=(a[m>>2]|0)+(e-d<<4)|0;G=i+(e<<4)|0;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[u>>2]=a[G>>2];a[u+4>>2]=a[G+4>>2];a[u+8>>2]=a[G+8>>2];a[u+12>>2]=a[G+12>>2];G=t+2|0;Z=(a[m>>2]|0)+(G-d<<4)|0;G=i+(G<<4)|0;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[o>>2]=a[G>>2];a[o+4>>2]=a[G+4>>2];a[o+8>>2]=a[G+8>>2];a[o+12>>2]=a[G+12>>2];G=t+3|0;Z=i+(G<<4)|0;a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];sI((a[c>>2]|0)+16|0,Q);t=G}a[m+4>>2]=s-d;k=W;return}function EX(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;s=o+4|0;w=o;u=A;while(1){c=a[(a[u+16>>2]|0)+116>>2]|0;if(!c)break;else u=c}if(!(r[t+8>>0]|0))c=(Q5[a[t>>2]&63](u)|0)&255;else c=0;DC(u,s,w);b=t+4|0;if((Q5[a[b>>2]&63](e)|0)<<24>>24)a[w>>2]=0;if((Q5[a[b>>2]&63](a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)<<24>>24)a[s>>2]=0;if(c|0){e=a[s>>2]|0;a[s>>2]=a[w>>2];a[w>>2]=e}if(!(r[t+9>>0]|0)){c=a[s>>2]|0;if(c|0)a[f>>2]=PC(u,i,a[f>>2]|0,a[n>>2]|0,l,c)|0;c=a[w>>2]|0;if(c|0)a[n>>2]=jC(u,i,a[f>>2]|0,a[n>>2]|0,l,c)|0}else{b=a[w>>2]|0;c=a[s>>2]|0;if(c|b|0)OC(u,i,a[f>>2]|0,a[n>>2]|0,l,c,b)}k=o;return}function CX(A,e){A=A|0;e=e|0;var i=0,r=0;if(+b[e>>3]<+b[e+16>>3]?+b[e+8>>3]<+b[e+24>>3]:0){i=a[A+84>>2]|0;r=A+80|0;A=a[r>>2]|0;a[r>>2]=A+1;A=i+(A<<5)|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2]}return}function IX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;I=k;k=k+112|0;g=I+72|0;u=I+56|0;w=I+16|0;h=I;t=a[e>>2]&3;o=e+48|0;C=a[((t|0)==3?e:o)+40>>2]|0;v=e+16|0;d=a[v>>2]|0;l=d+16|0;if(r[d+47>>0]|0){sX(w,C,a[((t|0)==2?e:e+-48|0)+40>>2]|0,l);t=w;w=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(w|0))}d=C+16|0;t=a[d>>2]|0;l=a[t+8>>2]|0;if(!l)w=0;else w=a[(a[l+4>>2]|0)+16>>2]|0;l=t+16|0;t=(a[v>>2]|0)+16|0;a[u>>2]=a[l>>2];a[u+4>>2]=a[l+4>>2];a[u+8>>2]=a[l+8>>2];a[u+12>>2]=a[l+12>>2];a[g>>2]=a[t>>2];a[g+4>>2]=a[t+4>>2];a[g+8>>2]=a[t+8>>2];a[g+12>>2]=a[t+12>>2];ZX(h,u,g);a[A>>2]=a[h>>2];a[A+4>>2]=a[h+4>>2];a[A+8>>2]=a[h+8>>2];a[A+12>>2]=a[h+12>>2];if(!(n<<24>>24)){l=a[v>>2]|0;if(!(r[l+45>>0]|0))l=0;else{c=+b[l+32>>3];E=9}}else{c=+GX(a[((a[e>>2]&3|0)==3?e:o)+40>>2]|0);E=9}if((E|0)==9){b[A+16>>3]=c;l=1}r[A+29>>0]=l;a[A+80>>2]=0;a[A+88>>2]=e;h=f+32|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];switch(i|0){case 1:{t=a[d>>2]|0;if((r[t+156>>0]|0)==0?(h=r[(a[v>>2]|0)+49>>0]|0,B=h&255,h<<24>>24!=0):0){a[g>>2]=a[f>>2];a[g+4>>2]=a[f+4>>2];a[g+8>>2]=a[f+8>>2];a[g+12>>2]=a[f+12>>2];a[g+16>>2]=a[f+16>>2];a[g+20>>2]=a[f+20>>2];a[g+24>>2]=a[f+24>>2];a[g+28>>2]=a[f+28>>2];do{if(!(B&4)){if(B&1|0){a[f+48>>2]=1;l=g+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}l=f+48|0;if(!(B&8)){a[l>>2]=2;b[g>>3]=+b[A>>3];b[g+8>>3]=+b[t+24>>3]-+b[t+80>>3]*.5;b[g+24>>3]=+b[A+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}else{a[l>>2]=8;b[g+16>>3]=+b[A>>3];b[g+8>>3]=+b[t+24>>3]-+b[t+80>>3]*.5;b[g+24>>3]=+b[A+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}}else{a[f+48>>2]=4;c=+b[g>>3];if(+b[A>>3]<+b[t+16>>3]){G=c+-1.0;Z=+b[A+8>>3];A=g+16|0;c=+b[A>>3];s=+b[t+80>>3]*.5+ +b[t+24>>3];s=s+ +((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[d>>2]|0;b[A>>3]=+b[l+16>>3]-+b[l+88>>3];b[g+24>>3]=Z;b[g+8>>3]=+b[l+24>>3]-+b[l+80>>3]*.5;b[g>>3]=G;b[f+56>>3]=G;b[f+64>>3]=Z;b[f+72>>3]=c;b[f+80>>3]=s;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}else{s=+b[A+8>>3];l=g+16|0;Z=+b[l>>3]+1.0;G=+b[t+80>>3]*.5+ +b[t+24>>3];G=G+ +((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[d>>2]|0;b[g>>3]=+b[A+96>>3]+ +b[A+16>>3];b[g+24>>3]=s;b[g+8>>3]=+b[A+24>>3]-+b[A+80>>3]*.5;b[l>>3]=Z;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Z;b[f+80>>3]=G;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((C|0)==(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0}else{t=1;E=47}break}case 2:{B=r[(a[v>>2]|0)+49>>0]|0;t=B&255;if(!(B<<24>>24))E=46;else{a[g>>2]=a[f>>2];a[g+4>>2]=a[f+4>>2];a[g+8>>2]=a[f+8>>2];a[g+12>>2]=a[f+12>>2];a[g+16>>2]=a[f+16>>2];a[g+20>>2]=a[f+20>>2];a[g+24>>2]=a[f+24>>2];a[g+28>>2]=a[f+28>>2];do{if(!(t&4)){if(t&1|0)if((a[f+48>>2]|0)==4){l=a[d>>2]|0;G=+b[l+24>>3]-+b[l+80>>3]*.5;l=g+16|0;Z=+b[l>>3]+1.0;c=+b[A>>3];s=G-+((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[d>>2]|0;b[g>>3]=+b[A+96>>3]+ +b[A+16>>3];b[g+8>>3]=G;b[g+24>>3]=+b[A+80>>3]*.5+ +b[A+24>>3];b[l>>3]=Z;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Z;b[f+80>>3]=G;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}else{l=g+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}c=+b[A>>3];if(!(t&8)){b[g>>3]=c;i=a[d>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[g+24>>3]=s+c;c=+b[A+8>>3];l=g}else{b[g+8>>3]=c-s;c=+b[A+8>>3]+1.0;l=g+16|0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}else{l=g+16|0;b[l>>3]=c+1.0;i=a[d>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[g+24>>3]=s+c;c=+b[A+8>>3]+-1.0;l=g}else{b[g+8>>3]=c-s;c=+b[A+8>>3]+1.0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}}else{l=g+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+8>>3]?g:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((C|0)==(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0;a[f+48>>2]=t}break}default:E=46}if((E|0)==46){t=a[f+48>>2]|0;E=47}A:do{if((E|0)==47){if(w){e=f+56|0;l=f+52|0;t=z5[w&127](C,(a[v>>2]|0)+16|0,t,e,l)|0;if(t){a[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}a[e>>2]=a[f>>2];a[e+4>>2]=a[f+4>>2];a[e+8>>2]=a[f+8>>2];a[e+12>>2]=a[f+12>>2];a[e+16>>2]=a[f+16>>2];a[e+20>>2]=a[f+20>>2];a[e+24>>2]=a[f+24>>2];a[e+28>>2]=a[f+28>>2];a[l>>2]=1;switch(i|0){case 8:{vA(138394,106514,569,106524);break}case 2:{b[((a[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+b[A+8>>3];break A}case 1:{b[f+80>>3]=+b[A+8>>3];a[f+48>>2]=1;break A}default:break A}}}while(0);k=I;return}function ZX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function GX(A){A=A|0;var e=0.0,i=0,r=0,f=0.0,n=0,l=0,t=0,c=0.0,s=0.0;l=a[A+16>>2]|0;t=a[l+172>>2]|0;f=0.0;n=0;while(1){A=a[t+(n<<2)>>2]|0;if(!A)break;f=+b[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;n=n+1|0}r=a[l+180>>2]|0;e=0.0;A=0;while(1){i=a[r+(A<<2)>>2]|0;if(!i)break;e=+b[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+e;A=A+1|0}c=+b[l+16>>3];s=+b[l+24>>3];t=a[t>>2]|0;f=+X(+(s-+b[(a[(a[((a[t>>2]&3|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(c-f/+(n|0)));t=a[r>>2]|0;return+((+X(+(+b[(a[(a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-s),+(e/+(A|0)-c))+f)*.5)}function QX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0;G=k;k=k+112|0;C=G+72|0;o=G+56|0;w=G+16|0;v=G;t=a[e>>2]&3;d=e+-48|0;Z=a[((t|0)==2?e:d)+40>>2]|0;g=e+16|0;B=a[g>>2]|0;l=B+56|0;if(r[B+87>>0]|0){sX(w,Z,a[((t|0)==3?e:e+48|0)+40>>2]|0,l);t=w;w=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(w|0))}B=Z+16|0;t=a[B>>2]|0;l=a[t+8>>2]|0;if(!l)u=0;else u=a[(a[l+4>>2]|0)+16>>2]|0;w=A+40|0;l=t+16|0;t=(a[g>>2]|0)+56|0;a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];a[C>>2]=a[t>>2];a[C+4>>2]=a[t+4>>2];a[C+8>>2]=a[t+8>>2];a[C+12>>2]=a[t+12>>2];ZX(v,o,C);a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];if(!(n<<24>>24)){l=a[g>>2]|0;if(!(r[l+85>>0]|0))h=0;else{b[A+56>>3]=+b[l+72>>3];h=1}}else{s=+GX(a[((a[e>>2]&3|0)==2?e:d)+40>>2]|0)+3.141592653589793;b[A+56>>3]=s;if(s<6.283185307179586)h=1;else vA(106534,106514,606,106558)}r[A+69>>0]=h;v=f+32|0;a[v>>2]=a[w>>2];a[v+4>>2]=a[w+4>>2];a[v+8>>2]=a[w+8>>2];a[v+12>>2]=a[w+12>>2];switch(i|0){case 1:{t=a[B>>2]|0;if((r[t+156>>0]|0)==0?(v=r[(a[g>>2]|0)+89>>0]|0,E=v&255,v<<24>>24!=0):0){a[C>>2]=a[f>>2];a[C+4>>2]=a[f+4>>2];a[C+8>>2]=a[f+8>>2];a[C+12>>2]=a[f+12>>2];a[C+16>>2]=a[f+16>>2];a[C+20>>2]=a[f+20>>2];a[C+24>>2]=a[f+24>>2];a[C+28>>2]=a[f+28>>2];do{if(!(E&4))if(!(E&1)){l=f+48|0;if(!(E&8)){a[l>>2]=2;b[C>>3]=+b[w>>3];b[C+24>>3]=+b[t+80>>3]*.5+ +b[t+24>>3];b[C+8>>3]=+b[A+48>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}else{a[l>>2]=8;b[C+16>>3]=+b[w>>3];b[C+24>>3]=+b[t+80>>3]*.5+ +b[t+24>>3];b[C+8>>3]=+b[A+48>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}}else{a[f+48>>2]=1;c=+b[C>>3];if(+b[w>>3]<+b[t+16>>3]){m=c+-1.0;s=+b[A+48>>3];A=C+16|0;c=+b[A>>3];Q=+b[t+80>>3]*-.5+ +b[t+24>>3];Q=Q-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[B>>2]|0;b[A>>3]=+b[l+16>>3]-+b[l+88>>3];b[C+8>>3]=s;b[C+24>>3]=+b[l+80>>3]*.5+ +b[l+24>>3];b[C>>3]=m;b[f+56>>3]=m;b[f+64>>3]=Q;b[f+72>>3]=c;b[f+80>>3]=s;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}else{m=+b[A+48>>3];l=C+16|0;Q=+b[l>>3]+1.0;s=+b[t+80>>3]*-.5+ +b[t+24>>3];s=s-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[B>>2]|0;b[C>>3]=+b[A+96>>3]+ +b[A+16>>3];b[C+8>>3]=m;b[C+24>>3]=+b[A+80>>3]*.5+ +b[A+24>>3];b[l>>3]=Q;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Q;b[f+80>>3]=m;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}}else{a[f+48>>2]=4;l=C+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+48>>3]?C:w)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((Z|0)==(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;a[f+48>>2]=E}else{t=4;I=47}break}case 2:{E=r[(a[g>>2]|0)+89>>0]|0;t=E&255;if(!(E<<24>>24))I=46;else{a[C>>2]=a[f>>2];a[C+4>>2]=a[f+4>>2];a[C+8>>2]=a[f+8>>2];a[C+12>>2]=a[f+12>>2];a[C+16>>2]=a[f+16>>2];a[C+20>>2]=a[f+20>>2];a[C+24>>2]=a[f+24>>2];a[C+28>>2]=a[f+28>>2];do{if(!(t&4)){if(t&1|0)if((a[f+48>>2]|0)==4){c=+b[C>>3]+-1.0;l=a[B>>2]|0;m=+b[l+24>>3]-+b[l+80>>3]*.5;Q=+b[w>>3];s=m-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[B>>2]|0;b[C+16>>3]=+b[l+16>>3]+-2.0-+b[l+88>>3];b[C+8>>3]=m;b[C+24>>3]=+b[l+80>>3]*.5+ +b[l+24>>3];b[C>>3]=c;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Q;b[f+80>>3]=m;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}else{l=C+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?C+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}c=+b[w>>3];if(!(t&8)){b[C>>3]=c+-1.0;i=a[B>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[C+24>>3]=s+c;c=+b[A+48>>3]+-1.0;l=C}else{b[C+8>>3]=c-s;c=+b[A+48>>3];l=C+16|0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}else{l=C+16|0;b[l>>3]=c+1.0;i=a[B>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[C+24>>3]=s+c;c=+b[A+48>>3]+-1.0;l=C}else{b[C+8>>3]=c-s;c=+b[A+48>>3]+1.0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}}else{l=C+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+48>>3]?C:w)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((Z|0)==(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;a[f+48>>2]=t}break}default:I=46}if((I|0)==46){t=a[f+48>>2]|0;I=47}A:do{if((I|0)==47){if(u){e=f+56|0;l=f+52|0;t=z5[u&127](Z,(a[g>>2]|0)+56|0,t,e,l)|0;if(t){a[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}a[e>>2]=a[f>>2];a[e+4>>2]=a[f+4>>2];a[e+8>>2]=a[f+8>>2];a[e+12>>2]=a[f+12>>2];a[e+16>>2]=a[f+16>>2];a[e+20>>2]=a[f+20>>2];a[e+24>>2]=a[f+24>>2];a[e+28>>2]=a[f+28>>2];a[l>>2]=1;switch(i|0){case 8:{vA(138394,106514,765,106558);break}case 2:{b[((a[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+b[A+48>>3];break A}case 1:{b[f+64>>3]=+b[A+48>>3];a[f+48>>2]=4;break A}default:break A}}}while(0);k=G;return}function mX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;n=a[A+16>>2]|0;l=a[n+96>>2]|0;if((r[n+44>>0]|0)==0?(r[n+84>>0]|0)==0:0)t=6;else{e=r[n+49>>0]|0;i=e&255;if(((i&8|0)==0?(f=r[n+89>>0]|0,(f&8)==0):0)?(i&5|0)==0?1:e<<24>>24!=f<<24>>24:0)t=6;else A=0}if((t|0)==6)if(!l)A=18;else{A=(a[(a[(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=~~(+b[(A?l+32|0:l+24|0)>>3]+18.0)}return A|0}function LX(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=+n;l=+l;t=t|0;var c=0,b=0,s=0,w=0;A=a[(a[e+(i<<2)>>2]|0)+16>>2]|0;if((r[A+44>>0]|0)==0?(r[A+84>>0]|0)==0:0)s=6;else s=3;do{if((s|0)==3){c=r[A+49>>0]|0;b=c&255;if(!(b&8)){w=r[A+89>>0]|0;if((w&8)==0?(b&5|0)==0?1:c<<24>>24!=w<<24>>24:0){s=6;break}if(!(r[A+89>>0]&8)){if(b&4|0){yX(e,i,f,n,l,t);break}if(!(b&1))vA(138394,106514,1231,106566);else{YX(e,i,f,n,l,t);break}}}if((c&2)==0?(r[A+89>>0]&2)==0:0){zX(e,i,f,n,l,t);break}yX(e,i,f,n,l,t)}}while(0);if((s|0)==6)WX(e,i,f,n,l,t);return}function WX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0.0,W=0,y=0.0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;m=a[A+(e<<2)>>2]|0;w=l*.5/+(i|0);w=w>2.0?w:2.0;W=(a[((a[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)+16|0;Q=a[W>>2]|0;L=+b[Q+16>>3];D=+b[Q+24>>3];m=a[m+16>>2]|0;s=+b[m+16>>3];y=s+L;z=+b[m+24>>3]+D;l=+b[m+56>>3];Y=l+L;D=+b[m+64>>3]+D;c=!(z>=D)?-1:1;o=+b[Q+96>>3];switch(DX(n[m+49>>0]|0,n[m+89>>0]|0)|0){case 65:case 32:{if(z==D)c=0-c|0;break}default:{}}p=(o-s)*3.0;s=(o-l)*3.0;E=w*+(c|0);g=J+8|0;C=J+16|0;I=J+32|0;Z=J+48|0;G=(D+z)*.5;Q=J+64|0;m=J+80|0;B=J+96|0;v=J+104|0;d=0;u=0.0;l=o;w=o=(i|0))break;h=e+1|0;e=a[A+(e<<2)>>2]|0;o=l+f;w=w+f;s=s+f;u=u+E;b[J>>3]=y;b[g>>3]=z;p=u+z;MX(N,w*.3333333333333333+y,p);a[C>>2]=a[N>>2];a[C+4>>2]=a[N+4>>2];a[C+8>>2]=a[N+8>>2];a[C+12>>2]=a[N+12>>2];U=o+L;MX(X,U,p);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];MX(R,U,G);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];p=D-u;MX(F,U,p);a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];MX(V,s*.3333333333333333+Y,p);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];b[B>>3]=Y;b[v>>3]=D;c=e+16|0;if((a[(a[c>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=a[(a[c>>2]|0)+96>>2]|0,M=+b[(x?c+24|0:c+32|0)>>3],x=a[W>>2]|0,b[c+56>>3]=M*.5+o+ +b[x+16>>3],b[c+64>>3]=+b[x+24>>3],r[c+81>>0]=1,M>f):0)l=M+l;else l=o;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,J,7,t);e=h;d=d+1|0}k=H;return}function yX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0.0,y=0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0.0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0.0,x=0;p=k;k=k+16080|0;N=p+80|0;X=p+64|0;R=p+48|0;H=p+32|0;V=p+16|0;J=p;L=a[A+(e<<2)>>2]|0;h=f*.5/+(i|0);h=h>2.0?h:2.0;y=(a[((a[L>>2]&3|0)==3?L:L+48|0)+40>>2]|0)+16|0;s=a[y>>2]|0;D=+b[s+16>>3];W=+b[s+24>>3];L=a[L+16>>2]|0;c=+b[L+16>>3];o=+b[L+24>>3];z=c+D;Y=o+W;f=+b[L+56>>3];u=+b[L+64>>3];D=f+D;M=u+W;w=!(z>=D)?-1.0:1.0;B=+b[s+80>>3]*.5;switch(DX(n[L+49>>0]|0,n[L+89>>0]|0)|0){case 15:{c=(h-f+ +b[s+96>>3])*w;break}case 38:{c=(f+h+ +b[s+88>>3])*w;break}case 41:{c=(h-c+ +b[s+96>>3])*w;break}case 48:{c=(h-c+ +b[s+96>>3])*w;break}case 58:case 57:case 51:case 47:case 37:case 14:{c=w*.3333333333333333*(c-f+ +b[s+88>>3]+ +b[s+96>>3]);break}case 73:{c=(c+h+ +b[s+88>>3])*w;break}case 83:{c=(+b[s+88>>3]+c)*w;break}case 84:{c=((c-f+ +b[s+88>>3]+ +b[s+96>>3])*.5+h)*w;break}case 85:case 75:case 74:{c=((c-f+ +b[s+88>>3]+ +b[s+96>>3])*.5+h*2.0)*w;break}default:c=0.0}o=(B-o)*3.0;u=(B-u)*3.0;h=w*h;C=N+8|0;I=N+16|0;Z=N+32|0;G=N+48|0;Q=(D+z)*.5;m=N+64|0;L=N+80|0;g=N+96|0;E=N+104|0;v=0;f=B;o=B=(i|0))break;d=e+1|0;e=a[A+(e<<2)>>2]|0;u=f+l;o=o+l;w=w+l;c=c+h;b[N>>3]=z;b[C>>3]=Y;B=c+z;MX(X,B,o*.3333333333333333+Y);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];U=u+W;MX(R,B,U);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];MX(H,Q,U);a[G>>2]=a[H>>2];a[G+4>>2]=a[H+4>>2];a[G+8>>2]=a[H+8>>2];a[G+12>>2]=a[H+12>>2];B=D-c;MX(V,B,U);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];MX(J,B,w*.3333333333333333+M);a[L>>2]=a[J>>2];a[L+4>>2]=a[J+4>>2];a[L+8>>2]=a[J+8>>2];a[L+12>>2]=a[J+12>>2];b[g>>3]=D;b[E>>3]=M;s=e+16|0;if((a[(a[s>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,s=a[(a[s>>2]|0)+96>>2]|0,F=+b[(x?s+32|0:s+24|0)>>3],x=a[y>>2]|0,b[s+64>>3]=F*.5+u+ +b[x+24>>3],b[s+56>>3]=+b[x+16>>3],r[s+81>>0]=1,F>l):0)f=F+f;else f=u;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,N,7,t);e=d;v=v+1|0}k=p;return}function zX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0.0,W=0,y=0.0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;m=a[A+(e<<2)>>2]|0;w=l*.5/+(i|0);w=w>2.0?w:2.0;W=(a[((a[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)+16|0;Q=a[W>>2]|0;L=+b[Q+16>>3];D=+b[Q+24>>3];m=a[m+16>>2]|0;s=+b[m+16>>3];y=s+L;z=+b[m+24>>3]+D;l=+b[m+56>>3];Y=l+L;D=+b[m+64>>3]+D;c=!(z>=D)?-1:1;o=+b[Q+88>>3];switch(DX(n[m+49>>0]|0,n[m+89>>0]|0)|0){case 67:case 12:{if(z==D)c=0-c|0;break}default:{}}p=(s+o)*3.0;s=(l+o)*3.0;E=w*+(c|0);g=J+8|0;C=J+16|0;I=J+32|0;Z=J+48|0;G=(D+z)*.5;Q=J+64|0;m=J+80|0;B=J+96|0;v=J+104|0;d=0;u=0.0;l=o;w=o=(i|0))break;h=e+1|0;e=a[A+(e<<2)>>2]|0;o=l+f;w=w+f;s=s+f;u=u+E;b[J>>3]=y;b[g>>3]=z;p=u+z;MX(N,y-w*.3333333333333333,p);a[C>>2]=a[N>>2];a[C+4>>2]=a[N+4>>2];a[C+8>>2]=a[N+8>>2];a[C+12>>2]=a[N+12>>2];U=L-o;MX(X,U,p);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];MX(R,U,G);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];p=D-u;MX(F,U,p);a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];MX(V,Y-s*.3333333333333333,p);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];b[B>>3]=Y;b[v>>3]=D;c=e+16|0;if((a[(a[c>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=a[(a[c>>2]|0)+96>>2]|0,M=+b[(x?c+24|0:c+32|0)>>3],x=a[W>>2]|0,b[c+56>>3]=M*-.5-o+ +b[x+16>>3],b[c+64>>3]=+b[x+24>>3],r[c+81>>0]=1,M>f):0)l=M+l;else l=o;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,J,7,t);e=h;d=d+1|0}k=H;return}function YX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0.0,G=0.0,Q=0.0,m=0.0,L=0,W=0,y=0,z=0.0,Y=0,D=0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;L=a[A+(e<<2)>>2]|0;m=f*.5/+(i|0);C=(a[((a[L>>2]&3|0)==3?L:L+48|0)+40>>2]|0)+16|0;W=a[C>>2]|0;G=+b[W+16>>3];E=+b[W+24>>3];L=a[L+16>>2]|0;s=+b[L+24>>3];I=+b[L+16>>3]+G;Z=s+E;w=+b[L+64>>3];G=+b[L+56>>3]+G;Q=w+E;g=!(I>=G)?-1:1;u=+b[W+80>>3]*.5;L=(DX(n[L+49>>0]|0,n[L+89>>0]|0)|0)==67;s=(s+u)*3.0;w=(w+u)*3.0;m=(m>2.0?m:2.0)*+((L?0-g|0:g)|0);g=J+8|0;L=J+16|0;W=J+32|0;y=J+48|0;z=(G+I)*.5;Y=J+64|0;D=J+80|0;B=J+96|0;v=J+104|0;f=u;c=0.0;s=u=(i|0))break;d=e+1|0;o=a[A+(e<<2)>>2]|0;u=f+l;s=s+l;w=w+l;c=c+m;b[J>>3]=I;b[g>>3]=Z;p=c+I;MX(N,p,Z-s*.3333333333333333);a[L>>2]=a[N>>2];a[L+4>>2]=a[N+4>>2];a[L+8>>2]=a[N+8>>2];a[L+12>>2]=a[N+12>>2];U=E-u;MX(X,p,U);a[W>>2]=a[X>>2];a[W+4>>2]=a[X+4>>2];a[W+8>>2]=a[X+8>>2];a[W+12>>2]=a[X+12>>2];MX(R,z,U);a[y>>2]=a[R>>2];a[y+4>>2]=a[R+4>>2];a[y+8>>2]=a[R+8>>2];a[y+12>>2]=a[R+12>>2];p=G-c;MX(F,p,U);a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];MX(V,p,Q-w*.3333333333333333);a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];b[B>>3]=G;b[v>>3]=Q;e=o+16|0;if((a[(a[e>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=a[(a[e>>2]|0)+96>>2]|0,M=+b[(x?e+32|0:e+24|0)>>3],x=a[C>>2]|0,b[e+64>>3]=M*-.5-u+ +b[x+24>>3],b[e+56>>3]=+b[x+16>>3],r[e+81>>0]=1,M>l):0)f=M+f;else f=u;gX(o,a[((a[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,J,7,t);e=d;h=h+1|0}k=H;return}function DX(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=8){e=-1;break}if((a[22044+(i<<2)>>2]|0)==(e|0)){e=i;break}i=i+1|0}i=0;while(1){if((i|0)>=8){i=-1;break}if((a[22044+(i<<2)>>2]|0)==(A|0))break;i=i+1|0}if((i|e|0)<0)i=0;else i=a[22076+(i<<5)+(e<<2)>>2]|0;return i|0}function MX(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function FX(A){A=A|0;var e=0,i=0;if((a[47203]|0)!=0|(a[47202]|0)!=0){e=A+16|0;i=a[(a[e>>2]|0)+100>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?VX(A,1)|0:0){i=Id(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;pR(i,a[(a[e>>2]|0)+100>>2]|0)}i=a[(a[e>>2]|0)+104>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?VX(A,0)|0:0){i=Id(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;pR(i,a[(a[e>>2]|0)+104>>2]|0)}}return}function VX(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+96|0;u=h+32|0;s=h+16|0;w=h;l=A+16|0;do{if((r[(a[l>>2]|0)+112>>0]|0)!=6){i=a[47203]|0;if(!((i|0)!=0?(r[(Uo(A,i)|0)>>0]|0)!=0:0)){i=a[47202]|0;if(!i){i=0;break}if(!(r[(Uo(A,i)|0)>>0]|0)){i=0;break}}e=e<<24>>24==0;o=a[l>>2]|0;o=a[(e?o+104|0:o+100|0)>>2]|0;i=JX(A)|0;if(i){c=a[i>>2]|0;do{if(e){if(a[c+8>>2]|0){i=a[c>>2]|0;t=+b[i>>3];n=+b[c+16>>3];i=i+8|0;f=+b[c+24>>3];break}i=a[c>>2]|0;n=+b[i>>3];f=+b[i+8>>3];i=0;while(1){if((i|0)==4)break;w=u+(i<<4)|0;l=(a[c>>2]|0)+(i<<4)|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];i=i+1|0}mR(s,u,3,.1,0,0);t=+b[s>>3];i=s+8|0}else{e=(a[i+4>>2]|0)+-1|0;l=c+(e*48|0)|0;if(a[c+(e*48|0)+12>>2]|0){u=a[l>>2]|0;i=(a[c+(e*48|0)+4>>2]|0)+-1|0;t=+b[u+(i<<4)>>3];n=+b[c+(e*48|0)+32>>3];i=u+(i<<4)+8|0;f=+b[c+(e*48|0)+40>>3];break}s=a[l>>2]|0;e=c+(e*48|0)+4|0;i=(a[e>>2]|0)+-1|0;n=+b[s+(i<<4)>>3];f=+b[s+(i<<4)+8>>3];i=0;while(1){if((i|0)==4)break;s=u+(i<<4)|0;c=(a[l>>2]|0)+(i+-4+(a[e>>2]|0)<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];i=i+1|0}mR(w,u,3,.9,0,0);t=+b[w>>3];i=w+8|0}}while(0);d=+X(+(+b[i>>3]-f),+(t-n));d=+oR(A,a[47203]|0,-25.0,-180.0)*.017453292519943295+d;t=+oR(A,a[47202]|0,1.0,0.0)*10.0;b[o+56>>3]=t*+D(+d)+n;b[o+64>>3]=+M(+d)*t+f;r[o+81>>0]=1;i=1}else i=0}else i=0}while(0);k=h;return i|0}function JX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;e=A;while(1){i=a[e+16>>2]|0;e=a[i+8>>2]|0;if(e|0)break;if(!(r[i+112>>0]|0)){n=5;break}e=a[i+116>>2]|0}if((n|0)==5){n=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;e=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[f>>2]=n;a[f+4>>2]=e;ao(1,106579,f)|0;e=0}k=l;return e|0}function NX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0;B=k;k=k+96|0;s=B+80|0;w=B+64|0;u=B+48|0;o=B+32|0;h=B+16|0;d=B;c=f[(a[e+16>>2]|0)+136>>1]|0;e=i+16|0;XX(a[(a[e>>2]|0)+8>>2]|0,o,h);r=+b[o>>3];n=+b[h>>3];v=r-n;l=+b[o+8>>3];t=+b[h+8>>3];g=l-t;A:do{if(g*g+v*v<1.0e-06){a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2]}else switch(c&14){case 4:case 10:{b[w>>3]=(n+r)*.5;b[w+8>>3]=(t+l)*.5;h=a[(a[e>>2]|0)+8>>2]|0;a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];DR(d,h,s);a[u>>2]=a[d>>2];a[u+4>>2]=a[d+4>>2];a[u+8>>2]=a[d+8>>2];a[u+12>>2]=a[d+12>>2];break A}default:{RX(u,a[(a[e>>2]|0)+8>>2]|0,o,h);break A}}}while(0);a[A>>2]=a[u>>2];a[A+4>>2]=a[u+4>>2];a[A+8>>2]=a[u+8>>2];a[A+12>>2]=a[u+12>>2];k=B;return}function XX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+32|0;n=l+16|0;f=l;c=a[A>>2]|0;r=a[c>>2]|0;t=a[c+8>>2]|0;b=c+16|0;a[n>>2]=a[b>>2];a[n+4>>2]=a[b+4>>2];a[n+8>>2]=a[b+8>>2];a[n+12>>2]=a[b+12>>2];c=c+32|0;a[f>>2]=a[c>>2];a[f+4>>2]=a[c+4>>2];a[f+8>>2]=a[c+8>>2];a[f+12>>2]=a[c+12>>2];if(!t){a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2]}else{a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[e+8>>2]=a[n+8>>2];a[e+12>>2]=a[n+12>>2]}t=a[A>>2]|0;c=(a[A+4>>2]|0)+-1|0;r=a[t+(c*48|0)>>2]|0;A=a[t+(c*48|0)+4>>2]|0;b=a[t+(c*48|0)+12>>2]|0;e=t+(c*48|0)+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];c=t+(c*48|0)+32|0;a[f>>2]=a[c>>2];a[f+4>>2]=a[c+4>>2];a[f+8>>2]=a[c+8>>2];a[f+12>>2]=a[c+12>>2];if(!b){b=r+(A+-1<<4)|0;a[i>>2]=a[b>>2];a[i+4>>2]=a[b+4>>2];a[i+8>>2]=a[b+8>>2];a[i+12>>2]=a[b+12>>2]}else{a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2]}k=l;return}function RX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0.0;d=a[e+4>>2]|0;n=0.0;f=0;while(1){if((f|0)>=(d|0))break;s=a[e>>2]|0;c=a[s+(f*48|0)>>2]|0;s=a[s+(f*48|0)+4>>2]|0;l=3;t=0;while(1){if((l|0)>=(s|0))break;h=+b[c+(t<<4)>>3]-+b[c+(l<<4)>>3];o=+b[c+(t<<4)+8>>3]-+b[c+(l<<4)+8>>3];l=l+3|0;t=t+3|0;n=+z(+(o*o+h*h))+n}f=f+1|0}s=0;n=n*.5;A:while(1){if((s|0)>=(d|0)){f=15;break}c=a[e>>2]|0;t=a[c+(s*48|0)>>2]|0;c=a[c+(s*48|0)+4>>2]|0;f=3;l=0;while(1){if((f|0)>=(c|0))break;w=+b[t+(l<<4)>>3];o=+b[t+(l<<4)+8>>3];u=+b[t+(f<<4)>>3];k=+b[t+(f<<4)+8>>3];h=w-u;B=o-k;h=+z(+(B*B+h*h));if(h>=n){f=12;break A}f=f+3|0;l=l+3|0;n=n-h}s=s+1|0}if((f|0)==12){b[i>>3]=w;b[i+8>>3]=o;b[r>>3]=u;b[r+8>>3]=k;B=h-n;b[A>>3]=(B*w+u*n)/h;b[A+8>>3]=(B*o+k*n)/h;return}else if((f|0)==15)vA(138712,106514,1316,106641)}function HX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;FX(e);return}function pX(A,e,i,f,n){A=A|0;e=e|0;i=+i;f=f|0;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,k=0,o=0.0,h=0.0,d=0.0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0;F=UX(A)|0;Y=a[F+4>>2]|0;V=a[F>>2]|0;z=Y+-1|0;m=+b[V+(z<<6)+16>>3];L=+(Y|0);W=(n|0)==2;y=(f|0)!=0;u=0;t=0.0;l=0.0;s=0.0;w=0.0;while(1){if((u|0)>=(Y|0))break;A=~~+xX(+(u+-1|0),L);Q=u+1|0;J=~~+xX(+(Q|0),L);k=V+(u<<6)|0;w=+b[k>>3];G=V+(u<<6)+8|0;s=+b[G>>3];B=V+(u<<6)+16|0;v=+b[B>>3];g=V+(u<<6)+24|0;E=V+(u<<6)+32|0;C=V+(u<<6)+40|0;I=V+(u<<6)+48|0;Z=V+(u<<6)+56|0;c=+TX(+b[V+(J<<6)+8>>3]-s,+b[V+(J<<6)>>3]-w);h=+TX(+b[V+(A<<6)+8>>3]-s,+b[V+(A<<6)>>3]-w);d=+I5[e&7](v,m,i);A=(u|0)==0;do{if(A|(u|0)==(z|0))if(A){l=c+1.5707963267948966;if(!W){A=0;o=l;t=d;break}A=0;o=l;t=d;s=s-+M(+c)*d;w=w-+D(+c)*d;break}else{l=h+-1.5707963267948966;if(!W){A=0;o=l;t=d;break}A=0;o=l;t=d;s=s-+M(+h)*d;w=w-+D(+h)*d;break}else{o=c-h;o=1.5707963267948966-(o<0.0?o+6.283185307179586:o)*.5;t=+D(+o);t=t==0.0?0.0:d/t;l=c+1.5707963267948966;c=o+l;if(y|t>d*10.0){h=+xX(h+-1.5707963267948966,6.283185307179586);A=1;o=+xX(l,6.283185307179586);t=d;l=h}else{A=0;o=c;l=c}}}while(0);b[k>>3]=w;b[G>>3]=s;b[B>>3]=v;r[g>>0]=108;b[E>>3]=l;b[C>>3]=t;a[I>>2]=A;b[Z>>3]=o;u=Q}k=qF(12)|0;A=0;while(1){if((A|0)>=(Y|0))break;w=+b[V+(A<<6)>>3];s=+b[V+(A<<6)+8>>3];l=+b[V+(A<<6)+32>>3];t=+b[V+(A<<6)+40>>3];J=a[V+(A<<6)+48>>2]|0;c=+b[V+(A<<6)+56>>3];jX(k,+D(+l)*t+w,+M(+l)*t+s);if(J|0)SX(w,s,t,1,l,c,f,k);A=A+1|0}u=(n|0)==1;c=l+3.141592653589793;if(u)PX(k,w,s,t,l,c);else{jX(k,+D(+c)*t+w,+M(+c)*t+s);l=c}A=Y+-2|0;c=w;while(1){if((A|0)<=-1)break;w=+b[V+(A<<6)>>3];s=+b[V+(A<<6)+8>>3];t=+b[V+(A<<6)+40>>3];J=a[V+(A<<6)+48>>2]|0;l=+b[V+(A<<6)+32>>3]+3.141592653589793;c=+b[V+(A<<6)+56>>3]+3.141592653589793;jX(k,+D(+c)*t+w,+M(+c)*t+s);if(J|0)SX(w,s,t,0,l,c,f,k);A=A+-1|0;c=w}if(u)PX(k,c,s,t,l,l+3.141592653589793);OX(F);return k|0}function UX(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0;h=k;k=k+144|0;t=h+128|0;l=h+112|0;c=h+96|0;b=h+64|0;s=h;w=h+80|0;u=KX()|0;o=a[A+4>>2]|0;f=a[A>>2]|0;a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];_X(u,t,0.0);n=s+48|0;a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];i=0;e=0.0;A:while(1){r=i+3|0;if((r|0)>=(o|0))break;a[s>>2]=a[n>>2];a[s+4>>2]=a[n+4>>2];a[s+8>>2]=a[n+8>>2];a[s+12>>2]=a[n+12>>2];A=1;while(1){if((A|0)==4)break;d=s+(A<<4)|0;B=f+(A+i<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];A=A+1|0}a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];A=1;while(1){if((A|0)==21){i=r;continue A}mR(w,s,3,+(A|0)*.05,0,0);a[b>>2]=a[w>>2];a[b+4>>2]=a[w+4>>2];a[b+8>>2]=a[w+8>>2];a[b+12>>2]=a[w+12>>2];a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2];v=+qX(l,t)+e;a[t>>2]=a[b>>2];a[t+4>>2]=a[b+4>>2];a[t+8>>2]=a[b+8>>2];a[t+12>>2]=a[b+12>>2];_X(u,t,v);a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];A=A+1|0;e=v}}$X(u);k=h;return u|0}function xX(A,e){A=+A;e=+e;var i=0.0;i=A-+W(+(A/e))*e;return+(!(A<0.0)&!(A>=e)?A:i)}function TX(A,e){A=+A;e=+e;if(!(A==0.0&e==0.0)){A=+X(+A,+e);if(!(A>=0.0))A=A+6.283185307179586}else A=0.0;return+A}function jX(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=a[A>>2]|0;f=A+4|0;if((r|0)<(a[f>>2]|0))f=a[A+8>>2]|0;else{a[f>>2]=2e3;r=A+8|0;f=eV(a[r>>2]|0,32e3)|0;a[r>>2]=f;r=a[A>>2]|0}a[A>>2]=r+1;b[f+(r<<4)>>3]=e;b[f+(r<<4)+8>>3]=i;return}function SX(A,e,i,r,f,a,n,l){A=+A;e=+e;i=+i;r=r|0;f=+f;a=+a;n=n|0;l=l|0;var t=0.0;r=(r|0)==0;t=r?f:a;do{if((n|0)==1){f=(r?a:f)-t;f=!(f<=1.7453292519943296e-03)?f:f+6.283185307179586;if(f<3.141592653589793){PX(l,A,e,i,f+t,t);break}else{jX(l,+D(+t)*i+A,+M(+t)*i+A);break}}else jX(l,+D(+t)*i+A,+M(+t)*i+A)}while(0);return}function PX(A,e,i,r,f,a){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;var n=0,l=0.0;jX(A,+D(+f)*r+e,+M(+f)*r+i);A:do{if(!(r==0.0)){while(1){if(!(a>f))break;a=a+-6.283185307179586}a=f-a;while(1){if(!(a>6.283185307179586))break;a=a+-6.283185307179586}a=a*.05263157894736842;n=1;while(1){if((n|0)==20)break A;l=f-a*+(n|0);jX(A,+D(+l)*r+e,+M(+l)*r+i);n=n+1|0}}}while(0);return}function OX(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function KX(){var A=0;A=qF(12)|0;a[A+4>>2]=0;a[A+8>>2]=2e3;a[A>>2]=qF(128e3)|0;return A|0}function _X(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;l=A+4|0;r=a[l>>2]|0;f=A+8|0;n=a[f>>2]|0;if((r|0)<(n|0))A=a[A>>2]|0;else{a[f>>2]=n<<1;r=eV(a[A>>2]|0,n<<7)|0;a[A>>2]=r;A=r;r=a[l>>2]|0}b[A+(r<<6)>>3]=+b[e>>3];b[A+(r<<6)+8>>3]=+b[e+8>>3];a[l>>2]=r+1;b[A+(r<<6)+16>>3]=i;return}function qX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+ +z(+(r*r+i*i))}function $X(A){A=A|0;var e=0;e=a[A+4>>2]|0;if((a[A+8>>2]|0)>(e|0))a[A>>2]=eV(a[A>>2]|0,e<<6)|0;return}function AR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;n=b+12|0;a[n>>2]=0;l=a[i+4>>2]|0;if(!l)vA(106658,106669,203,106680);r=a[l>>2]|0;if(!r)vA(106694,106669,206,106680);f=l+8|0;if(!(a[f>>2]|0))a[f>>2]=eR(r)|0;if(!0)r=0;else{r=(fF(a[l>>2]|0)|0)==0;r=r?0:n}if(!((Or(e,i,r)|0)<<24>>24))iR(i,r);do{if(r|0){f=a[n>>2]|0;e=a[15712]|0;r=a[l>>2]|0;if(!f){a[c>>2]=r;f3(e,106737,c)|0;break}else{a[t>>2]=r;a[t+4>>2]=f;f3(e,106705,t)|0;break}}}while(0);c=i+32|0;a[A>>2]=a[c>>2];a[A+4>>2]=a[c+4>>2];a[A+8>>2]=a[c+8>>2];a[A+12>>2]=a[c+12>>2];k=b;return}function eR(A){A=A|0;var e=0;e=a[47301]|0;if((e|0)!=0?(N1(e,A)|0)==0:0)A=a[47310]|0;else{L2(e);a[47301]=s3(A)|0;A=i8(189204,22332,35,36,95)|0;a[47310]=A}return A|0}function iR(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0.0,t=0,c=0.0;t=a[A+4>>2]|0;i=a[t>>2]|0;l=+b[t+16>>3];t=A+32|0;b[t>>3]=0.0;b[A+40>>3]=l*1.2;b[A+16>>3]=0.0;b[A+24>>3]=l*.1;a[A+8>>2]=0;a[A+12>>2]=0;if(T1(i,106771,4)|0)if((T1(i,106776,5)|0)!=0?(T1(i,106782,9)|0)!=0:0){n=4248;i=106792}else{n=8344;i=106828}else{n=6296;i=106809}if(e|0)a[e>>2]=i;i=a[A>>2]|0;if(i|0){f=0.0;while(1){A=r[i>>0]|0;if(!(A<<24>>24))break;c=f+ +b[n+((A&255)<<3)>>3];b[t>>3]=c;i=i+1|0;f=c}b[t>>3]=f*l}return}function rR(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function fR(A){A=A|0;var e=0;e=A+108|0;a[e>>2]=0;a[A+112>>2]=32;a[A+116>>2]=-1;a[A+120>>2]=33;a[A+124>>2]=63;a[A+128>>2]=55;a[A+132>>2]=0;a[A+136>>2]=0;a[A+140>>2]=0;e=jk(e,a[4581]|0)|0;a[A+144>>2]=e;return e|0}function aR(A,e,i){A=A|0;e=e|0;i=i|0;i=W2(1,32)|0;A=a[e>>2]|0;if(A|0)a[i>>2]=s3(A)|0;A=a[e+4>>2]|0;if(A|0)a[i+4>>2]=s3(A)|0;a[i+24>>2]=a[e+24>>2]&127;b[i+16>>3]=+b[e+16>>3];a[i+8>>2]=a[e+8>>2];return i|0}function nR(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e>>2]|0);L2(a[e+4>>2]|0);L2(e);return}function lR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0;A=a[e>>2]|0;r=a[i>>2]|0;l=(r|0)==0;if(!A)if(l)t=5;else A=-1;else if(!l){A=A1(A,r)|0;if(!A)t=5}else A=1;do{if((t|0)==5){A=a[e+4>>2]|0;r=a[i+4>>2]|0;l=(r|0)==0;if(!A){if(!l){A=-1;break}}else{if(l){A=1;break}A=A1(A,r)|0;if(A|0)break}A=(a[e+24>>2]&127)-(a[i+24>>2]&127)|0;if(!A){n=+b[e+16>>3];f=+b[i+16>>3];if(nf&1}}}while(0);return A|0}function tR(){le(189244)|0;return}function cR(){var A=0,e=0;e=k;k=k+16|0;A=e;le(A|0)|0;k=e;return+(+((a[A+4>>2]|0)+(a[A>>2]|0)-(a[47311]|0)-(a[47312]|0)|0)*.016666666666666666)}function bR(A){A=A|0;var e=0,i=0;e=qF(16)|0;A=(A|0)>2?A:2;i=qF(A<<2)|0;a[e>>2]=i;a[e+12>>2]=i;a[e+8>>2]=i;a[e+4>>2]=i+(A<<2);return e|0}function sR(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function wR(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=a[i>>2]|0;a[i>>2]=r+4;a[r>>2]=e;if((a[i>>2]|0)>>>0>=(a[A+4>>2]|0)>>>0)a[i>>2]=a[A>>2];return}function uR(A){A=A|0;var e=0,i=0,r=0;i=A+8|0;e=a[i>>2]|0;if((e|0)!=(a[A+12>>2]|0)){r=e+4|0;a[i>>2]=r;e=a[e>>2]|0;if(r>>>0>=(a[A+4>>2]|0)>>>0)a[i>>2]=a[A>>2]}else e=0;return e|0}function kR(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;t=k;k=k+16|0;n=t;if(((e|0)!=0?(l=Uo(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){e=n3(l,n,10)|0;i=(l|0)==(a[n>>2]|0)?i:(e|0)<(f|0)?f:e}k=t;return i|0}function oR(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0.0;t=k;k=k+16|0;n=t;if(((A|0)!=0&(e|0)!=0?(l=Uo(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){c=+A8(l,n);i=(l|0)==(a[n>>2]|0)?i:c0.0)){e=+oR(A,Yo(A,0,107638,0)|0,-1.0,0.0);e=e==0.0?72.0:e}return+e}function dR(A,e,i){A=A|0;e=e|0;i=i|0;if((A|0)!=0&(e|0)!=0)i=Uo(A,e)|0;return i|0}function BR(A,e,i){A=A|0;e=e|0;i=i|0;A=dR(A,e,i)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)i=A;return i|0}function vR(A,e,i){A=A|0;e=e|0;i=i|0;if(!e)A=i&255;else A=gR(Uo(A,e)|0)|0;return A|0}function gR(A){A=A|0;return ER(A,0)|0}function ER(A,e){A=A|0;e=e|0;var i=0;if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0)if((N1(A,137308)|0)!=0?(N1(A,107649)|0)!=0:0)if((N1(A,107652)|0)!=0?(N1(A,107657)|0)!=0:0){if(((i<<24>>24)+-48|0)>>>0<10)e=(q3(A)|0)&255}else e=1;else e=0;return e|0}function CR(A){A=A|0;var e=0,i=0;while(1){e=(a[A+16>>2]|0)+220|0;i=a[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=a[(a[i+16>>2]|0)+220>>2]|0;if(!A){A=i;continue}a[e>>2]=A}return A|0}function IR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;if((A|0)!=(e|0)){i=a[A+16>>2]|0;r=i+220|0;if(!(a[r>>2]|0)){a[r>>2]=A;a[i+216>>2]=1}else A=CR(A)|0;i=a[e+16>>2]|0;r=i+220|0;if(!(a[r>>2]|0)){a[r>>2]=e;a[i+216>>2]=1}else{i=CR(e)|0;e=i;i=a[i+16>>2]|0}n=A+16|0;r=a[n>>2]|0;f=e+16|0;l=(a[r+120>>2]|0)>(a[i+120>>2]|0);A=l?e:A;a[(l?r:i)+220>>2]=A;r=(a[(l?f:n)>>2]|0)+216|0;a[r>>2]=(a[r>>2]|0)+(a[(a[(l?n:f)>>2]|0)+216>>2]|0)}return A|0}function ZR(A){A=A|0;A=a[A+16>>2]|0;a[A+216>>2]=1;a[A+220>>2]=0;r[A+159>>0]=0;return}function GR(A,e){A=A|0;e=e|0;if((CR(A)|0)==(A|0)){A=a[A+16>>2]|0;a[A+220>>2]=e;e=(a[e+16>>2]|0)+216|0;a[e>>2]=(a[e>>2]|0)+(a[A+216>>2]|0);return}else vA(107669,107661,194,107685)}function QR(A,e){A=A|0;e=e|0;var i=0.0;e=a[(a[e+16>>2]|0)+132>>2]|0;i=+b[e+8>>3]*72.0;b[A>>3]=+b[e>>3]*72.0;b[A+8>>3]=i;return}function mR(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;n=n|0;var l=0,t=0,c=0,s=0.0,w=0,u=0,o=0;u=k;k=k+576|0;w=u;l=0;while(1){if((l|0)>(i|0))break;c=w+(l<<4)|0;t=e+(l<<4)|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];l=l+1|0}s=1.0-r;l=1;while(1){if((l|0)>(i|0))break;t=i-l|0;c=l+-1|0;e=0;while(1){if((e|0)>(t|0))break;o=e+1|0;b[w+(l*96|0)+(e<<4)>>3]=+b[w+(c*96|0)+(o<<4)>>3]*r+ +b[w+(c*96|0)+(e<<4)>>3]*s;b[w+(l*96|0)+(e<<4)+8>>3]=+b[w+(c*96|0)+(o<<4)+8>>3]*r+ +b[w+(c*96|0)+(e<<4)+8>>3]*s;e=o}l=l+1|0}A:do{if(f|0){l=0;while(1){if((l|0)>(i|0))break A;o=f+(l<<4)|0;c=w+(l*96|0)|0;a[o>>2]=a[c>>2];a[o+4>>2]=a[c+4>>2];a[o+8>>2]=a[c+8>>2];a[o+12>>2]=a[c+12>>2];l=l+1|0}}}while(0);A:do{if(n|0){l=0;while(1){if((l|0)>(i|0))break A;o=n+(l<<4)|0;f=w+((i-l|0)*96|0)+(l<<4)|0;a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];l=l+1|0}}}while(0);o=w+(i*96|0)|0;a[A>>2]=a[o>>2];a[A+4>>2]=a[o+4>>2];a[A+8>>2]=a[o+8>>2];a[A+12>>2]=a[o+12>>2];k=u;return}function LR(A){A=A|0;var e=0,i=0,f=0,n=0;i=0;do{e=a[47315]|0;f=e+1024|0;if((e-i|0)<1024){a[47315]=f;f=eV(a[47316]|0,f)|0;a[47316]=f;e=a[47315]|0}else f=a[47316]|0;e=N4(f+i|0,e-i|0,A)|0;if(!e){n=6;break}i=(S2(e)|0)+i|0;e=a[47316]|0}while((r[e+(i+-1)>>0]|0)!=10);if((n|0)==6)e=a[47316]|0;return((i|0)>0?e:0)|0}function WR(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0)if(!0){e=a[47133]|0;i=a[47318]|0;if((a[47317]|0)==(e|0))e=i;else{if(i){L2(a[i>>2]|0);L2(a[47318]|0);a[47318]=0;e=a[47133]|0}a[47317]=e;if(!e)break;if(!(r[e>>0]|0))break;e=yR(e)|0;a[47318]=e}if(!((r[A>>0]|0)!=47&(e|0)!=0))break;A=zR(e,a[47319]|0,A)|0;break}else S();else A=0}while(0);k=f;return A|0}function yR(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=0;f=0;n=0;e=s3(A)|0;i=0;while(1){e=t3(e,107984)|0;if(!e)break;A=(n<<2)+8|0;if(!f)A=$F(A)|0;else A=eV(i,A)|0;a[A+(n<<2)>>2]=e;f=S2(e)|0;r=r>>>0>f>>>0?r:f;f=A;n=n+1|0;e=0;i=A}a[f+(n<<2)>>2]=0;a[47319]=r;return f|0}function zR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;r=n;l=a[47320]|0;a[47320]=y2(l,e+2+(S2(i)|0)|0)|0;while(1){e=a[A>>2]|0;if(!e){A=0;break}l=a[47320]|0;a[r>>2]=e;a[r+4>>2]=107982;a[r+8>>2]=i;P4(l,107975,r)|0;if(!(M3(a[47320]|0,4)|0)){f=4;break}else A=A+4|0}if((f|0)==4)A=a[47320]|0;k=n;return A|0}function YR(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=(A|0)==0;f=0;while(1){l=a[e+(f<<2)>>2]|0;if(!l)break;if((!n?(r[A>>0]|0)==(r[l>>0]|0):0)?(A1(A,l)|0)==0:0)break;f=f+1|0}return a[i+(f<<2)>>2]|0}function DR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;G=k;k=k+80|0;I=G+16|0;Z=G;g=a[e+4>>2]|0;E=a[e>>2]|0;C=i+8|0;f=0;r=-1;n=1.e+38;e=-1;while(1){if((f|0)>=(g|0))break;B=a[E+(f*48|0)>>2]|0;v=a[E+(f*48|0)+4>>2]|0;d=0;while(1){if((d|0)>=(v|0))break;h=+b[B+(d<<4)>>3]-+b[i>>3];o=+b[B+(d<<4)+8>>3]-+b[C>>3];h=o*o+h*h;Q=(r|0)==-1|h>2]|0;r=r+(((r|0)==((a[E+(e*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;r=r-((r|0)%3|0)|0;e=0;while(1){if((e|0)==4)break;m=e+r|0;b[I+(e<<4)>>3]=+b[f+(m<<4)>>3];b[I+(e<<4)+8>>3]=+b[f+(m<<4)+8>>3];e=e+1|0}h=+b[i>>3];c=+b[I>>3]-h;u=+b[C>>3];o=+b[I+8>>3]-u;t=+b[I+48>>3]-h;w=+b[I+56>>3]-u;e=Z+8|0;n=1.0;l=0.0;t=w*w+t*t;c=o*o+c*c;while(1){o=(n+l)*.5;mR(Z,I,3,o,0,0);s=+b[Z>>3];w=+b[e>>3];if(+y(+(c-t))<1.0)break;if(+y(+(n-l))<1.0e-05)break;m=c>3]=s;b[A+8>>3]=w;k=G;return}function MR(){return 0}function FR(A){A=A|0;var e=0.0,i=0,f=0,n=0,l=0,t=0,c=0,s=0;e=+oR(A,a[47146]|0,.75,.01);n=A+16|0;b[(a[n>>2]|0)+32>>3]=e;e=+oR(A,a[47145]|0,.5,.02);b[(a[n>>2]|0)+40>>3]=e;s=QN(BR(A,a[47147]|0,107986)|0,A)|0;a[(a[n>>2]|0)+8>>2]=s;s=Uo(A,a[47154]|0)|0;e=+oR(A,a[47150]|0,14.0,1.0);i=BR(A,a[47151]|0,107994)|0;f=BR(A,a[47152]|0,137314)|0;l=(tB(s)|0)!=0;c=(sN(A)|0)==2;l=pF(A,s,(c?4:0)|(l?2:0),e,i,f)|0;a[(a[n>>2]|0)+104>>2]=l;l=a[47155]|0;if((l|0?(t=Uo(A,l)|0,t|0):0)?r[t>>0]|0:0){s=(tB(t)|0)!=0;s=pF(A,t,s?2:0,e,i,f)|0;a[(a[n>>2]|0)+108>>2]=s;s=(a[(Id(A)|0)+16>>2]|0)+113|0;r[s>>0]=r[s>>0]|16}c=(kR(A,a[47158]|0,0,0)|0)&255;s=a[n>>2]|0;r[s+144>>0]=c;F5[a[a[(a[s+8>>2]|0)+4>>2]>>2]&127](A);return}function VR(A){A=A|0;var e=0,i=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+112|0;s=E+96|0;w=E+80|0;B=E+40|0;g=E;d=A+48|0;o=Id(a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0)|0;n=s+8|0;a[n>>2]=0;u=w+8|0;a[u>>2]=0;e=a[47182]|0;if(((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){JR(A,s);v=(tB(i)|0)!=0;l=+b[s>>3];f=a[n>>2]|0;e=a[s+12>>2]|0;i=pF(A,i,v?2:0,l,f,e)|0;v=A+16|0;a[(a[v>>2]|0)+96>>2]=i;i=(a[o+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|1;i=gR(dR(A,a[47192]|0,137308)|0)|0;r[(a[v>>2]|0)+114>>0]=i;v=1;i=f}else{v=0;e=0;l=0.0;i=0}f=a[47183]|0;if((f|0?(t=Uo(A,f)|0,t|0):0)?r[t>>0]|0:0){if(!i){JR(A,s);l=+b[s>>3];i=a[n>>2]|0;e=a[s+12>>2]|0}n=(tB(t)|0)!=0;t=pF(A,t,n?2:0,l,i,e)|0;a[(a[A+16>>2]|0)+108>>2]=t;t=(a[o+16>>2]|0)+113|0;r[t>>0]=r[t>>0]|32}e=a[47197]|0;if(((e|0)!=0?(c=Uo(A,e)|0,(c|0)!=0):0)?(r[c>>0]|0)!=0:0){NR(A,s,w);t=(tB(c)|0)!=0;l=+b[w>>3];e=a[u>>2]|0;i=a[w+12>>2]|0;c=pF(A,c,t?2:0,l,e,i)|0;a[(a[A+16>>2]|0)+100>>2]=c;c=(a[o+16>>2]|0)+113|0;r[c>>0]=r[c>>0]|2}else{i=0;l=0.0;e=0}f=a[47198]|0;if((f|0?(h=Uo(A,f)|0,h|0):0)?r[h>>0]|0:0){if(!e){NR(A,s,w);i=a[w+12>>2]|0;l=+b[w>>3];e=a[u>>2]|0}u=(tB(h)|0)!=0;h=pF(A,h,u?2:0,l,e,i)|0;a[(a[A+16>>2]|0)+104>>2]=h;h=(a[o+16>>2]|0)+113|0;r[h>>0]=r[h>>0]|4}e=po(A,111455)|0;e=e|0?e:195059;if(r[e>>0]|0)r[(a[(a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0)+16>>2]|0)+145>>0]=1;n=A+16|0;f=(a[n>>2]|0)+16|0;i=a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0;XR(B,a[(a[(a[(a[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=B;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((RR(A,a[47204]|0)|0)<<24>>24)r[(a[n>>2]|0)+46>>0]=0;e=po(A,111464)|0;e=e|0?e:195059;if(!(r[e>>0]|0))i=A+-48|0;else{i=A+-48|0;r[(a[(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(a[n>>2]|0)+56|0;i=a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0;XR(g,a[(a[(a[(a[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=g;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((RR(A,a[47205]|0)|0)<<24>>24)r[(a[n>>2]|0)+86>>0]=0;k=E;return v|0}function JR(A,e){A=A|0;e=e|0;b[e>>3]=+oR(A,a[47179]|0,14.0,1.0);a[e+8>>2]=BR(A,a[47180]|0,107994)|0;a[e+12>>2]=BR(A,a[47181]|0,137314)|0;return}function NR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+8|0;if(!(a[r>>2]|0))JR(A,e);b[i>>3]=+oR(A,a[47199]|0,+b[e>>3],1.0);a[i+8>>2]=BR(A,a[47200]|0,a[r>>2]|0)|0;a[i+12>>2]=BR(A,a[47201]|0,a[e+12>>2]|0)|0;return}function XR(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+128|0;b=s+80|0;l=s+40|0;n=s;if((f|0)!=0?(c=G1(f,58)|0,(c|0)!=0):0){r[c>>0]=0;t=c+1|0;X5[e&31](l,i,f,t);i=b;n=l;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0));r[c>>0]=58;f=t}else{X5[e&31](n,i,f,0);i=b;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0))}i=A;n=b;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0));a[A+36>>2]=f;k=s;return}function RR(A,e){A=A|0;e=e|0;var i=0;if(((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)A=(gR(i)|0)<<24>>24==0&1;else A=0;return A|0}function HR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;c=k;k=k+32|0;l=c;t=a[e+8>>2]|0;i=a[e+4>>2]|0;i=(a[e+44>>2]|0)+((U((i|0)>1?i+-1|0:0,t)|0)<<4)|0;r=l+16|0;a[r>>2]=a[i>>2];a[r+4>>2]=a[i+4>>2];a[r+8>>2]=a[i+8>>2];a[r+12>>2]=a[i+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];f=l+8|0;n=l+24|0;e=1;while(1){if((e|0)>=(t|0))break;s=i+(e<<4)|0;u=+b[s>>3];b[l>>3]=+b[(+b[l>>3]>3];w=+b[s+8>>3];b[f>>3]=+b[(+b[f>>3]>3];b[r>>3]=+b[(+b[r>>3]>u?r:s)>>3];b[n>>3]=+b[(+b[n>>3]>w?r:s)+8>>3];e=e+1|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];a[A+12>>2]=a[l+12>>2];a[A+16>>2]=a[l+16>>2];a[A+20>>2]=a[l+20>>2];a[A+24>>2]=a[l+24>>2];a[A+28>>2]=a[l+28>>2];k=c;return}function pR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+64|0;n=i+32|0;r=i;f=a[A+16>>2]|0;A=f+16|0;f=a[f+116>>2]&1;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[n+16>>2]=a[A+16>>2];a[n+20>>2]=a[A+20>>2];a[n+24>>2]=a[A+24>>2];a[n+28>>2]=a[A+28>>2];UR(r,n,e,f);a[A>>2]=a[r>>2];a[A+4>>2]=a[r+4>>2];a[A+8>>2]=a[r+8>>2];a[A+12>>2]=a[r+12>>2];a[A+16>>2]=a[r+16>>2];a[A+20>>2]=a[r+20>>2];a[A+24>>2]=a[r+24>>2];a[A+28>>2]=a[r+28>>2];k=i;return}function UR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0.0;n=+b[i+56>>3];s=+b[i+64>>3];t=r<<24>>24==0;c=+b[i+24>>3];l=+b[i+32>>3];w=(t?c:l)*.5;f=n-w;n=w+n;if(f<+b[e>>3])b[e>>3]=f;r=e+16|0;if(n>+b[r>>3])b[r>>3]=n;n=(t?l:c)*.5;f=s-n;n=n+s;r=e+8|0;if(f<+b[r>>3])b[r>>3]=f;r=e+24|0;if(n>+b[r>>3])b[r>>3]=n;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];return}function xR(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0.0,R=0.0,H=0.0;J=k;k=k+448|0;D=J+416|0;v=J+384|0;g=J+304|0;V=J+256|0;Y=J+192|0;m=J+144|0;L=J+96|0;e=J+400|0;i=J+368|0;f=J+352|0;n=J+336|0;E=J+288|0;C=J+224|0;I=J+160|0;Z=J+112|0;G=J+64|0;Q=J+32|0;M=J;F=A+16|0;if((vh(A)|0)==0?(a[(a[F>>2]|0)+180>>2]|0)==0:0){TR(e,0.0,0.0);a[V>>2]=a[e>>2];a[V+4>>2]=a[e+4>>2];a[V+8>>2]=a[e+8>>2];a[V+12>>2]=a[e+12>>2];V=V+16|0;TR(i,0.0,0.0);a[V>>2]=a[i>>2];a[V+4>>2]=a[i+4>>2];a[V+8>>2]=a[i+8>>2];a[V+12>>2]=a[i+12>>2]}else{TR(f,2147483647.0,2147483647.0);a[V>>2]=a[f>>2];a[V+4>>2]=a[f+4>>2];a[V+8>>2]=a[f+8>>2];a[V+12>>2]=a[f+12>>2];z=V+16|0;TR(n,-2147483647.0,-2147483647.0);a[z>>2]=a[n>>2];a[z+4>>2]=a[n+4>>2];a[z+8>>2]=a[n+8>>2];a[z+12>>2]=a[n+12>>2];u=L+8|0;o=g+16|0;W=V+8|0;h=g+8|0;y=V+24|0;d=g+24|0;B=m+8|0;w=cd(A)|0;while(1){if(!w)break;QR(m,w);e=w+16|0;s=a[e>>2]|0;b[L>>3]=(+b[s+96>>3]+ +b[s+88>>3])*.5;b[u>>3]=+b[s+80>>3]*.5;a[v>>2]=a[m>>2];a[v+4>>2]=a[m+4>>2];a[v+8>>2]=a[m+8>>2];a[v+12>>2]=a[m+12>>2];a[D>>2]=a[L>>2];a[D+4>>2]=a[L+4>>2];a[D+8>>2]=a[L+8>>2];a[D+12>>2]=a[L+12>>2];jR(g,v,D);a[v>>2]=a[m>>2];a[v+4>>2]=a[m+4>>2];a[v+8>>2]=a[m+8>>2];a[v+12>>2]=a[m+12>>2];a[D>>2]=a[L>>2];a[D+4>>2]=a[L+4>>2];a[D+8>>2]=a[L+8>>2];a[D+12>>2]=a[L+12>>2];SR(E,v,D);a[o>>2]=a[E>>2];a[o+4>>2]=a[E+4>>2];a[o+8>>2]=a[E+8>>2];a[o+12>>2]=a[E+12>>2];b[V>>3]=+b[(+b[V>>3]<+b[g>>3]?V:g)>>3];b[W>>3]=+b[(+b[W>>3]<+b[h>>3]?V:g)+8>>3];b[z>>3]=+b[(+b[z>>3]>+b[o>>3]?V:g)+16>>3];b[y>>3]=+b[(+b[y>>3]>+b[d>>3]?V:g)+24>>3];e=a[(a[e>>2]|0)+108>>2]|0;if(e|0?r[e+81>>0]|0:0){s=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(C,D,e,s);a[V>>2]=a[C>>2];a[V+4>>2]=a[C+4>>2];a[V+8>>2]=a[C+8>>2];a[V+12>>2]=a[C+12>>2];a[V+16>>2]=a[C+16>>2];a[V+20>>2]=a[C+20>>2];a[V+24>>2]=a[C+24>>2];a[V+28>>2]=a[C+28>>2]}s=Oo(A,w)|0;while(1){if(!s)break;c=s+16|0;e=a[c>>2]|0;t=e+8|0;i=a[t>>2]|0;if(i|0){l=0;while(1){if((l|0)<(a[i+4>>2]|0))n=0;else break;while(1){f=a[i>>2]|0;if((n|0)>=(a[f+(l*48|0)+4>>2]|0))break;i=(a[f+(l*48|0)>>2]|0)+(n<<4)|0;a[m>>2]=a[i>>2];a[m+4>>2]=a[i+4>>2];a[m+8>>2]=a[i+8>>2];a[m+12>>2]=a[i+12>>2];X=+b[m>>3];b[V>>3]=+b[(+b[V>>3]>3];N=+b[B>>3];b[W>>3]=+b[(+b[W>>3]>3];b[z>>3]=+b[(+b[z>>3]>X?z:m)>>3];b[y>>3]=+b[(+b[y>>3]>N?z:m)+8>>3];n=n+1|0;i=a[t>>2]|0}l=l+1|0}i=a[e+96>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(I,D,i,e);a[V>>2]=a[I>>2];a[V+4>>2]=a[I+4>>2];a[V+8>>2]=a[I+8>>2];a[V+12>>2]=a[I+12>>2];a[V+16>>2]=a[I+16>>2];a[V+20>>2]=a[I+20>>2];a[V+24>>2]=a[I+24>>2];a[V+28>>2]=a[I+28>>2];e=a[c>>2]|0}i=a[e+100>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(Z,D,i,e);a[V>>2]=a[Z>>2];a[V+4>>2]=a[Z+4>>2];a[V+8>>2]=a[Z+8>>2];a[V+12>>2]=a[Z+12>>2];a[V+16>>2]=a[Z+16>>2];a[V+20>>2]=a[Z+20>>2];a[V+24>>2]=a[Z+24>>2];a[V+28>>2]=a[Z+28>>2];e=a[c>>2]|0}i=a[e+104>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(G,D,i,e);a[V>>2]=a[G>>2];a[V+4>>2]=a[G+4>>2];a[V+8>>2]=a[G+8>>2];a[V+12>>2]=a[G+12>>2];a[V+16>>2]=a[G+16>>2];a[V+20>>2]=a[G+20>>2];a[V+24>>2]=a[G+24>>2];a[V+28>>2]=a[G+28>>2];e=a[c>>2]|0}e=a[e+108>>2]|0;if(e|0?r[e+81>>0]|0:0){c=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(Q,D,e,c);a[V>>2]=a[Q>>2];a[V+4>>2]=a[Q+4>>2];a[V+8>>2]=a[Q+8>>2];a[V+12>>2]=a[Q+12>>2];a[V+16>>2]=a[Q+16>>2];a[V+20>>2]=a[Q+20>>2];a[V+24>>2]=a[Q+24>>2];a[V+28>>2]=a[Q+28>>2]}}s=_o(A,s)|0}w=bd(A,w)|0}e=a[F>>2]|0;f=a[e+180>>2]|0;n=e+184|0;l=Y+8|0;t=Y+16|0;c=Y+24|0;i=1;while(1){if((i|0)>(f|0))break;H=+b[(a[(a[(a[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16>>3];b[Y>>3]=H;L=a[(a[(a[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;R=+b[L+24>>3];b[l>>3]=R;N=+b[L+32>>3];b[t>>3]=N;X=+b[L+40>>3];b[c>>3]=X;b[V>>3]=+b[(+b[V>>3]>3];b[W>>3]=+b[(+b[W>>3]>3];b[z>>3]=+b[(+b[z>>3]>N?V:Y)+16>>3];b[y>>3]=+b[(+b[y>>3]>X?V:Y)+24>>3];i=i+1|0}i=a[e+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[e+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(M,D,i,e);a[V>>2]=a[M>>2];a[V+4>>2]=a[M+4>>2];a[V+8>>2]=a[M+8>>2];a[V+12>>2]=a[M+12>>2];a[V+16>>2]=a[M+16>>2];a[V+20>>2]=a[M+20>>2];a[V+24>>2]=a[M+24>>2];a[V+28>>2]=a[M+28>>2];e=a[F>>2]|0}F=e+16|0;a[F>>2]=a[V>>2];a[F+4>>2]=a[V+4>>2];a[F+8>>2]=a[V+8>>2];a[F+12>>2]=a[V+12>>2];a[F+16>>2]=a[V+16>>2];a[F+20>>2]=a[V+20>>2];a[F+24>>2]=a[V+24>>2];a[F+28>>2]=a[V+28>>2]}k=J;return}function TR(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function jR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function SR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function PR(A){A=A|0;if((a[A+60>>2]|0)==(A|0))A=1;else A=(T1(Vh(A)|0,108006,7)|0)==0&1;return A|0}function OR(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;A:do{if(!f)switch(Md(e)|0){case 0:{f=Yo(A,0,i,195059)|0;break A}case 1:{f=Yo(A,1,i,195059)|0;break A}case 2:{f=Yo(A,2,i,195059)|0;break A}default:{f=0;break A}}}while(0);Vo(e,f,r)|0;return f|0}function KR(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+144|0;n=b;t=_R(A)|0;l=jk(23592,a[4581]|0)|0;c=XB(A,108014,1)|0;Td(c,137483,280,1)|0;co(n,128,b+16|0);e=cd(A)|0;while(1){if(!e)break;A:do{if(!(r[(a[e+16>>2]|0)+118>>0]|0)){i=Oo(A,e)|0;while(1){if(!i)break A;qR(i,c,n,l,t);i=_o(A,i)|0}}}while(0);e=bd(A,e)|0}uo(n);pk(l)|0;i=vh(c)|0;e=cd(c)|0;while(1){if(!e)break;l=bd(c,e)|0;Cd(A,e)|0;e=l}Bh(c)|0;if(i|0){c=(a[A+16>>2]|0)+136|0;f[c>>1]=f[c>>1]|1}pk(t)|0;k=b;return i|0}function _R(A){A=A|0;var e=0;e=jk(23628,a[4581]|0)|0;lH(A,e);return e|0}function qR(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+48|0;h=v+32|0;o=v+24|0;B=v+16|0;d=v+8|0;b=v;w=a[A>>2]&3;s=a[((w|0)==3?A:A+48|0)+40>>2]|0;w=a[((w|0)==2?A:A+-48|0)+40>>2]|0;do{if(!(r[(a[w+16>>2]|0)+118>>0]|0)){if(!(Z1(Vh(s)|0,108006,7)|0))u=$R(n,Vh(s)|0)|0;else u=0;if(!(Z1(Vh(w)|0,108006,7)|0))t=$R(n,Vh(w)|0)|0;else t=0;l=(u|0)!=0;c=(t|0)!=0;if(l|c){if((u|0)==(t|0)){d=Vh(s)|0;B=Vh(s)|0;a[b>>2]=d;a[b+4>>2]=B;ao(0,108029,b)|0;break}n=AH(f,A)|0;if(n|0){eH(A,a[n+16>>2]|0,a[n+20>>2]|0)|0;break}if(!c)if(!(Dd(u,w)|0)){rH(f,s,w,eH(A,iH(s,u,i,e)|0,w)|0);break}else{d=Vh(w)|0;B=Vh(u)|0;a[h>>2]=d;a[h+4>>2]=B;ao(0,108184,h)|0;break}if(!l)if(!(Dd(t,s)|0)){rH(f,s,w,eH(A,s,iH(w,t,i,e)|0)|0);break}else{d=Vh(s)|0;B=Vh(t)|0;a[o>>2]=d;a[o+4>>2]=B;ao(0,108147,o)|0;break}if(Dd(t,u)|0){h=Vh(u)|0;B=Vh(t)|0;a[d>>2]=h;a[d+4>>2]=B;ao(0,108067,d)|0;break}if(!(Dd(u,t)|0)){B=iH(s,u,i,e)|0;rH(f,s,w,eH(A,B,iH(w,t,i,e)|0)|0);break}else{h=Vh(t)|0;d=Vh(u)|0;a[B>>2]=h;a[B+4>>2]=d;ao(0,108107,B)|0;break}}}}while(0);k=v;return}function $R(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e,512)|0;if(!A)A=0;else A=a[A+12>>2]|0;return A|0}function AH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=a[e>>2]&3;a[r>>2]=a[((f|0)==3?e:e+48|0)+40>>2];a[r+4>>2]=a[((f|0)==2?e:e+-48|0)+40>>2];e=W5[a[A>>2]&63](A,r,512)|0;k=i;return e|0}function eH(A,e,i){A=A|0;e=e|0;i=i|0;i=th(Id(e)|0,e,i,0,1)|0;Td(i,137460,176,1)|0;jo(A,i)|0;return i|0}function iH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;b=k;k=k+112|0;n=b;c=b+4|0;wo(i,108221)|0;t=a[47321]|0;a[47321]=t+1;a[n>>2]=t;P4(c,137395,n)|0;wo(i,c)|0;c=i+4|0;n=a[c>>2]|0;t=i+8|0;if(n>>>0>=(a[t>>2]|0)>>>0){bo(i,1)|0;n=a[c>>2]|0}a[c>>2]=n+1;r[n>>0]=58;wo(i,Vh(e)|0)|0;l=Zd(e)|0;n=a[c>>2]|0;if(n>>>0>=(a[t>>2]|0)>>>0){bo(i,1)|0;n=a[c>>2]|0}r[n>>0]=0;i=a[i>>2]|0;a[c>>2]=i;c=vd(l,i,1)|0;Td(c,137447,304,1)|0;r[(a[c+16>>2]|0)+118>>0]=1;kd(e,c,1)|0;kd(f,A,1)|0;f=Id(c)|0;a[47154]=OR(f,c,108224,195059,a[47154]|0)|0;f=Id(c)|0;a[47157]=OR(f,c,141082,134335,a[47157]|0)|0;f=Id(c)|0;a[47147]=OR(f,c,108230,108236,a[47147]|0)|0;k=b;return c|0}function rH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;f=k;k=k+32|0;n=f;w=n+8|0;a[w>>2]=e;s=n+12|0;a[s>>2]=i;u=a[r>>2]&3;t=r+48|0;c=n+16|0;a[c>>2]=a[((u|0)==3?r:t)+40>>2];b=r+-48|0;l=n+20|0;a[l>>2]=a[((u|0)==2?r:b)+40>>2];W5[a[A>>2]&63](A,n,1)|0;a[w>>2]=i;a[s>>2]=e;i=a[r>>2]&3;a[c>>2]=a[((i|0)==2?r:b)+40>>2];a[l>>2]=a[((i|0)==3?r:t)+40>>2];W5[a[A>>2]&63](A,n,1)|0;k=f;return}function fH(A,e,i){A=A|0;e=e|0;i=i|0;i=qF(24)|0;a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[i+16>>2]=a[e+16>>2];a[i+20>>2]=a[e+20>>2];return i|0}function aH(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function nH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if(A>>>0>=r>>>0)if(A>>>0>r>>>0)A=1;else{e=a[e+4>>2]|0;i=a[i+4>>2]|0;return(e>>>0>>0?-1:e>>>0>i>>>0&1)|0}else A=-1;return A|0}function lH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+16|0;n=l;f=A+16|0;r=1;while(1){A=a[f>>2]|0;if((r|0)>(a[A+180>>2]|0))break;A=a[(a[A+184>>2]|0)+(r<<2)>>2]|0;i=Vh(A)|0;if(!(W5[a[e>>2]&63](e,i,512)|0)){t=qF(16)|0;a[t+8>>2]=i;a[t+12>>2]=A;W5[a[e>>2]&63](e,t,1)|0}else{a[n>>2]=i;ao(0,108240,n)|0}lH(A,e);r=r+1|0}k=l;return}function tH(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function cH(A){A=A|0;var e=0,i=0,r=0;r=XB(A,108014,1)|0;Td(r,137483,280,1)|0;e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;bH(i,r);i=_o(A,i)|0}e=bd(A,e)|0}e=cd(r)|0;while(1){if(!e)break;i=bd(r,e)|0;sH(e);Cd(A,e)|0;e=i}Bh(r)|0;return}function bH(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A>>2]&3;f=a[((i|0)==3?A:A+48|0)+40>>2]|0;i=a[((i|0)==2?A:A+-48|0)+40>>2]|0;if(!((r[(a[f+16>>2]|0)+118>>0]|0)==0?!(r[(a[i+16>>2]|0)+118>>0]|0):0)){f=wH(f,e)|0;i=eH(A,f,wH(i,e)|0)|0;f=a[A+16>>2]|0;e=f+8|0;i=a[i+16>>2]|0;a[i+8>>2]=a[e>>2];a[e>>2]=0;e=f+96|0;a[i+96>>2]=a[e>>2];a[e>>2]=0;e=f+108|0;a[i+108>>2]=a[e>>2];a[e>>2]=0;e=f+100|0;a[i+100>>2]=a[e>>2];a[e>>2]=0;f=f+104|0;a[i+104>>2]=a[f>>2];a[f>>2]=0;uH(A)}return}function sH(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=a[r>>2]|0;i=a[e+132>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+8>>2]|0;if(i){F5[a[(a[i+4>>2]|0)+4>>2]&127](A);e=a[r>>2]|0}TF(a[e+104>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);Sd(A,137447)|0;return}function wH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=Id(A)|0;A:do{if(r[(a[A+16>>2]|0)+118>>0]|0){kd(e,A,1)|0;A=G1(Vh(A)|0,58)|0;if(!A)vA(111208,107661,1225,108292);e=A+1|0;A=vd(f,e,0)|0;if(!A){A=vd(f,e,1)|0;Td(A,137447,304,1)|0;e=Jo(f,1,0)|0;while(1){if(!e)break A;n=Uo(A,e)|0;i=a[e+12>>2]|0;if((n|0)!=(i|0))Vo(A,e,i)|0;e=Jo(f,1,e)|0}}}}while(0);return A|0}function uH(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+144>>2]|0);kH(A);TF(a[(a[e>>2]|0)+96>>2]|0);TF(a[(a[e>>2]|0)+108>>2]|0);TF(a[(a[e>>2]|0)+100>>2]|0);TF(a[(a[e>>2]|0)+104>>2]|0);Sd(A,137460)|0;return}function kH(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;A=a[r>>2]|0;e=a[A+8>>2]|0;if(e){i=0;while(1){A=a[e>>2]|0;if((i|0)>=(a[e+4>>2]|0))break;L2(a[A+(i*48|0)>>2]|0);i=i+1|0;e=a[(a[r>>2]|0)+8>>2]|0}L2(A);L2(a[(a[r>>2]|0)+8>>2]|0);A=a[r>>2]|0}a[A+8>>2]=0;return}function oH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Yo(A,e,i,0)|0;if(!f)f=Yo(A,e,i,r)|0;return f|0}function hH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+32|0;t=u;l=u+8|0;c=u+16|0;s=G1(A,59)|0;w=e+4|0;i=a[w>>2]|0;b=e+8|0;if(i>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;i=a[w>>2]|0}a[w>>2]=i+1;r[i>>0]=38;if(((s|0)!=0?(f=s-A|0,(f+-2|0)>>>0<=6):0)?(x4(c,A,f)|0,r[c+f>>0]=0,a[l>>2]=c,n=i8(l,23664,252,8,96)|0,(n|0)!=0):0){a[t>>2]=a[n+4>>2];P4(c,137395,t)|0;A=a[w>>2]|0;if(A>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;A=a[w>>2]|0}a[w>>2]=A+1;r[A>>0]=35;wo(e,c)|0;A=a[w>>2]|0;if(A>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;A=a[w>>2]|0}a[w>>2]=A+1;r[A>>0]=59;A=s+1|0}k=u;return A|0}function dH(A,e){A=A|0;e=e|0;return A1(a[A>>2]|0,a[e>>2]|0)|0}function BH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+1072|0;b=h+8|0;c=h;t=h+16|0;u=h+24|0;a[t>>2]=A;if((a[47322]|0)!=(e|0)){a[47322]=e;r[194958]=0}co(u,1024,h+40|0);o=u+4|0;w=u+8|0;while(1){f=A+1|0;a[t>>2]=f;i=r[A>>0]|0;if(!(i<<24>>24))break;do{if((i&255)<192)if(i<<24>>24==38){f=gH(t)|0;if(!f)i=38;else{if(f>>>0<127){i=f&255;break}A=a[o>>2]|0;i=A>>>0>=(a[w>>2]|0)>>>0;if(f>>>0<2047){if(i){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>6|192;i=(f&63|128)&255;break}if(i){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>12|224;A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>6&63|128;i=(f&63|128)&255}}else{l=0;s=9}else if((i&255)>=224)if((i&255)>=240)if((i&255)<248){l=3;s=9}else{if(!(r[194958]|0)){a[c>>2]=Vh(e)|0;ao(0,109707,c)|0;r[194958]=1}l=-1;i=vH(i,u)|0;s=9}else{l=2;s=9}else{l=1;s=9}}while(0);do{if((s|0)==9){s=0;n=0;while(1){if((n|0)>=(l|0)){s=34;break}if((r[f>>0]&-64)<<24>>24!=-128)break;A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=i;n=n+1|0;i=r[f>>0]|0;f=f+1|0}if((s|0)==34){s=0;a[t>>2]=f;break}a[t>>2]=f;if(!(r[194958]|0)){n=Vh(e)|0;a[b>>2]=l+1;a[b+4>>2]=n;ao(0,109828,b)|0;r[194958]=1}i=vH(i,u)|0}}while(0);A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=i;A=a[t>>2]|0}A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}r[A>>0]=0;w=a[u>>2]|0;a[o>>2]=w;o=s3(w)|0;uo(u);k=h;return o|0}function vH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+16|0;n=c;r[n>>0]=A;r[n+1>>0]=0;n=EH(n)|0;l=e+4|0;t=e+8|0;i=S2(n)|0;f=n;while(1){if((i|0)<=1)break;A=a[l>>2]|0;if(A>>>0>=(a[t>>2]|0)>>>0){bo(e,1)|0;A=a[l>>2]|0}b=r[f>>0]|0;a[l>>2]=A+1;r[A>>0]=b;i=i+-1|0;f=f+1|0}b=r[f>>0]|0;L2(n);k=c;return b|0}function gH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;e=t+8|0;i=a[A>>2]|0;A:do{if((r[i>>0]|0)!=35){a[l>>2]=e;n=0;e:while(1){if((n|0)>=8){e=0;break A}f=r[i+n>>0]|0;switch(f<<24>>24){case 0:{e=0;break A}case 59:break e;default:{}}r[e>>0]=f;e=e+1|0;n=n+1|0}r[e>>0]=0;e=i8(l,23664,252,8,96)|0;if(!e)e=0;else{i=i+(n+1)|0;e=a[e+4>>2]|0}}else{l=r[i+1>>0]|0;e=l&255;e:do{if((l|32)<<24>>24==120){l=0;n=2;while(1){if((n|0)>=8){f=l;break e}f=r[i+n>>0]|0;e=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=l;break e}else f=-87;else f=-55;e=f+e|0;l=e+(l<<4)|0;n=n+1|0}}else{f=0;n=1;while(1){if((n|0)>=8)break e;l=r[i+n>>0]|0;e=l&255;if((l+-48&255)>=10)break e;f=(f*10|0)+-48+e|0;n=n+1|0}}}while(0);e=(e|0)==59;i=e?i+(n+1)|0:i;e=e?f:0}}while(0);a[A>>2]=i;k=t;return e|0}function EH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+1056|0;n=b;t=b+8|0;a[n>>2]=A;co(t,1024,b+24|0);c=t+4|0;l=t+8|0;while(1){a[n>>2]=A+1;e=r[A>>0]|0;if(!(e<<24>>24))break;A=e&255;if(e<<24>>24==38){A=gH(n)|0;if(!A){A=38;f=6}else f=5}else f=5;do{if((f|0)==5){f=0;if(A>>>0<127)f=6;else{e=a[c>>2]|0;i=e>>>0>=(a[l>>2]|0)>>>0;if(A>>>0<2047){if(i){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>6|192;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}A=A&63|128;break}if(i){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>12|224;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>6&63|128;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}A=A&63|128}}}while(0);if((f|0)==6){e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}}a[c>>2]=e+1;r[e>>0]=A;A=a[n>>2]|0}A=a[c>>2]|0;if(A>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;A=a[c>>2]|0}r[A>>0]=0;l=a[t>>2]|0;a[c>>2]=l;c=s3(l)|0;uo(t);k=b;return c|0}function CH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+1040|0;n=t;co(n,1024,t+16|0);l=n+4|0;f=n+8|0;while(1){e=A+1|0;i=r[A>>0]|0;if(!(i<<24>>24))break;if((i&255)<127){A=a[l>>2]|0;if(A>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;A=a[l>>2]|0}a[l>>2]=A+1;r[A>>0]=i;A=e;continue}else{i=r[e>>0]&63|i<<6&255;e=a[l>>2]|0;if(e>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;e=a[l>>2]|0}a[l>>2]=e+1;r[e>>0]=i;A=A+2|0;continue}}A=a[l>>2]|0;if(A>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;A=a[l>>2]|0}r[A>>0]=0;f=a[n>>2]|0;a[l>>2]=f;l=s3(f)|0;uo(n);k=t;return l|0}function IH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+80|0;r=w+48|0;i=w+32|0;f=w+64|0;n=w+16|0;l=w;t=e+16|0;c=A+16|0;s=a[c>>2]|0;if(((+b[t>>3]>=+b[s+48>>3]?+b[s+64>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=+b[s+56>>3]:0)?+b[s+72>>3]>=+b[e+8>>3]:0){s=s+16|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];ZH(n,i,r);a[i>>2]=a[s>>2];a[i+4>>2]=a[s+4>>2];a[i+8>>2]=a[s+8>>2];a[i+12>>2]=a[s+12>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];a[r+8>>2]=a[n+8>>2];a[r+12>>2]=a[n+12>>2];jR(l,i,r);a[f>>2]=A;a[f+4>>2]=0;i=a[(a[(a[(a[c>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;a[r>>2]=a[l>>2];a[r+4>>2]=a[l+4>>2];a[r+8>>2]=a[l+8>>2];a[r+12>>2]=a[l+12>>2];i=m5[i&127](f,r)|0}else i=0;k=w;return i|0}function ZH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function GH(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;r=k;k=k+80|0;t=r+64|0;c=r+48|0;s=r;w=r+32|0;n=r+16|0;b[s>>3]=+b[A+24>>3]*.5;b[s+8>>3]=+b[A+32>>3]*.5;A=A+56|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];jR(w,c,t);l=+b[w>>3];f=+b[w+8>>3];a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];SR(n,c,t);i=+b[n+8>>3];if((+b[e+16>>3]>=l?+b[n>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=f:0)A=i>=+b[e+8>>3]&1;else A=0;k=r;return A|0}function QH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+80|0;b=w+48|0;c=w;l=A+16|0;A=a[l>>2]|0;t=a[A+8>>2]|0;A:do{if((t|0)!=0?(n=t+8|0,a[c>>2]=a[n>>2],a[c+4>>2]=a[n+4>>2],a[c+8>>2]=a[n+8>>2],a[c+12>>2]=a[n+12>>2],a[c+16>>2]=a[n+16>>2],a[c+20>>2]=a[n+20>>2],a[c+24>>2]=a[n+24>>2],a[c+28>>2]=a[n+28>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(mH(c,b)|0)!=0):0){i=t+4|0;A=0;while(1){if((A|0)>=(a[i>>2]|0))break;r=c;f=(a[t>>2]|0)+(A*48|0)|0;n=r+48|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[b+16>>2]=a[e+16>>2];a[b+20>>2]=a[e+20>>2];a[b+24>>2]=a[e+24>>2];a[b+28>>2]=a[e+28>>2];if(!((LH(c,b)|0)<<24>>24))A=A+1|0;else{A=1;break A}}A=a[l>>2]|0;s=7}else s=7}while(0);do{if((s|0)==7){A=a[A+96>>2]|0;if(A|0?(a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(GH(A,b)|0)<<24>>24):0){A=1;break}A=0}}while(0);k=w;return A|0}function mH(A,e){A=A|0;e=e|0;if((+b[A+16>>3]>=+b[e>>3]?+b[e+16>>3]>=+b[A>>3]:0)?+b[A+24>>3]>=+b[e+8>>3]:0)A=+b[e+24>>3]>=+b[A+8>>3]&1;else A=0;return A|0}function LH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+96|0;b=w+64|0;c=w+48|0;t=w+32|0;f=w+16|0;n=w;s=A+4|0;i=a[s>>2]|0;if(!i)vA(109937,107661,1637,109945);r=a[A>>2]|0;a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];r=1;while(1){if((r|0)>=(i|0)){l=7;break}i=(a[A>>2]|0)+(r<<4)|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];a[c>>2]=a[n>>2];a[c+4>>2]=a[n+4>>2];a[c+8>>2]=a[n+8>>2];a[c+12>>2]=a[n+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[b+16>>2]=a[e+16>>2];a[b+20>>2]=a[e+20>>2];a[b+24>>2]=a[e+24>>2];a[b+28>>2]=a[e+28>>2];if((GF(t,c,b)|0)!=-1){i=1;break}a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];r=r+1|0;i=a[s>>2]|0}do{if((l|0)==7){i=a[A+8>>2]|0;if(i|0?(n=A+16|0,l=a[A>>2]|0,a[t>>2]=a[n>>2],a[t+4>>2]=a[n+4>>2],a[t+8>>2]=a[n+8>>2],a[t+12>>2]=a[n+12>>2],a[c>>2]=a[l>>2],a[c+4>>2]=a[l+4>>2],a[c+8>>2]=a[l+8>>2],a[c+12>>2]=a[l+12>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(WH(t,c,i,b)|0)<<24>>24):0){i=1;break}i=a[A+12>>2]|0;if(i|0?(l=A+32|0,s=(a[A>>2]|0)+((a[s>>2]|0)+-1<<4)|0,a[t>>2]=a[l>>2],a[t+4>>2]=a[l+4>>2],a[t+8>>2]=a[l+8>>2],a[t+12>>2]=a[l+12>>2],a[c>>2]=a[s>>2],a[c+4>>2]=a[s+4>>2],a[c+8>>2]=a[s+8>>2],a[c+12>>2]=a[s+12>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(WH(t,c,i,b)|0)<<24>>24):0){i=1;break}i=0}}while(0);k=w;return i|0}function WH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;s=k;k=k+160|0;n=s+144|0;f=s+128|0;w=s+96|0;l=s+64|0;t=s+32|0;c=s;u=+b[r+16>>3];a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];KC(w,f,n,1.0,i);if(((u>=+b[w>>3]?(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(l,f,n,1.0,i),+b[l+16>>3]>=+b[r>>3]):0)?(u=+b[r+24>>3],a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(t,f,n,1.0,i),u>=+b[t+8>>3]):0)?(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(c,f,n,1.0,i),+b[c+24>>3]>=+b[r+8>>3]):0)f=1;else f=0;k=s;return f|0}function yH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=k;k=k+16|0;f=n;A:do{if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0){do{switch(i<<24>>24|0){case 48:{e=2;break A}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{e=10;break A}case 67:case 99:{i=A+1|0;if(!(N1(i,109960)|0)){e=4;break A}if(!(N1(i,109966)|0)){e=12;break A}break}case 70:case 102:{if(!(N1(A+1|0,109974)|0)){e=2;break A}break}case 76:case 108:{if(!(N1(A+1|0,109979)|0)){e=2;break A}break}case 78:case 110:{i=A+1|0;if(!(N1(i,109983)|0)){e=0;break A}if(!(N1(i,109987)|0)){e=2;break A}break}case 79:case 111:{if(!(N1(A+1|0,109989)|0)){e=8;break A}break}case 80:case 112:{if(!(N1(A+1|0,109994)|0)){e=6;break A}break}case 83:case 115:{if(!(N1(A+1|0,110002)|0)){e=10;break A}break}case 84:case 116:{if(!(N1(A+1|0,110008)|0)){e=10;break A}break}case 89:case 121:{if(!(N1(A+1|0,110012)|0)){e=10;break A}break}default:{}}}while(0);a[f>>2]=A;ao(0,110015,f)|0}}while(0);k=n;return e|0}function zH(A,e){A=A|0;e=e|0;var i=0;i=po(A,110056)|0;if(i)if(!(r[i>>0]|0))e=0;else e=yH(i,e)|0;A=(a[A+16>>2]|0)+136|0;f[A>>1]=e|l[A>>1];return}function YH(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0;E=k;k=k+32|0;o=E+16|0;d=E;v=f&1;g=f&2;A:do{if((i|0)==2){B=+b[A+16>>3];a=+b[A>>3];t=+b[A+24>>3];l=+b[A+8>>3];a=a-(B-a);b[o>>3]=a;b[d>>3]=B;l=l-(t-l);b[o+8>>3]=l;b[d+8>>3]=t}else{n=+b[A>>3];b[d>>3]=n;b[o>>3]=n;t=+b[A+8>>3];s=d+8|0;b[s>>3]=t;w=o+8|0;b[w>>3]=t;f=0;a=n;l=t;while(1){if((f|0)>=(i|0)){B=n;break A}C=A+(f<<4)|0;h=+b[C>>3];c=+b[(h>3];b[o>>3]=c;B=+b[A+(f<<4)+8>>3];u=+b[(B>3];b[w>>3]=u;h=+b[(h>n?C:d)>>3];b[d>>3]=h;B=+b[(B>t?C:d)+8>>3];b[s>>3]=B;f=f+1|0;a=c;l=u;n=h;t=B}}}while(0);n=(B-a)*.5;h=n+a;u=(t-l)*.5;c=u+l;if(!v){a=t-c;t=r;l=+M(+t);t=+D(+t);if(!g){n=l*a-c;a=-c-u*l}else{a=l*a;n=c-a;a=a+c}b[e+8>>3]=n;b[e+24>>3]=a;r=t*(B-h);b[e>>3]=h-r;b[e+16>>3]=r+h}else{r=+z(+(u*u+n*n));b[e+8>>3]=g|0?c:-c;b[e>>3]=h;b[e+16>>3]=r*.25;b[e+24>>3]=r}k=E;return}function DH(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=A+16|0;f=a[r>>2]|0;if(!(e<<24>>24)){i=+b[f+32>>3]*36.0;b[f+88>>3]=i;A=f+40|0}else{i=+b[f+40>>3]*36.0;b[f+88>>3]=i;A=f+32|0}b[f+96>>3]=i;b[(a[r>>2]|0)+80>>3]=+b[A>>3]*72.0;return}function MH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+32|0;c=w+8|0;f=w+4|0;n=w;i=a[e>>2]&3;r=a[((i|0)==3?e:e+48|0)+40>>2]|0;b=(a[(a[r+16>>2]|0)+232>>2]|0)+-1|0;A=a[(a[A+16>>2]|0)+196>>2]|0;l=a[A+(b<<6)+4>>2]|0;A=a[A+(b<<6)>>2]|0;b=c+8|0;a[b>>2]=-1;a[c>>2]=-1;s=c+12|0;a[s>>2]=A;t=c+4|0;a[t>>2]=A;VH(r,a[((i|0)==2?e:e+-48|0)+40>>2]|0,f,n);f=a[f>>2]|0;n=a[n>>2]|0;i=0;r=A;e=-1;while(1){if((i|0)>=(r|0))break;r=r+-1|0;JH(a[l+(i<<2)>>2]|0,c,f,n);if((i|0)!=(r|0))JH(a[l+(r<<2)>>2]|0,c,f,n);A=a[t>>2]|0;e=a[c>>2]|0;if((A-e|0)<2)break;else i=i+1|0}if((e|0)>(A|0))A=(a[s>>2]|0)+(a[b>>2]|0)|0;else A=A+e|0;k=w;return(A+1|0)/2|0|0}function FH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=A+16|0;f=a[(a[n>>2]|0)+196>>2]|0;r=f+(e<<6)|0;f=a[f+(e<<6)+4>>2]|0;if(!f)f=$F((a[r>>2]<<2)+8|0)|0;else f=eV(f,(a[r>>2]<<2)+8|0)|0;r=a[(a[n>>2]|0)+196>>2]|0;a[r+(e<<6)+4>>2]=f;r=a[r+(e<<6)>>2]|0;while(1){if((r|0)<=(i|0))break;l=r+-1|0;t=a[f+(l<<2)>>2]|0;a[f+(r<<2)>>2]=t;t=(a[t+16>>2]|0)+236|0;a[t>>2]=(a[t>>2]|0)+1;r=l}l=YW(A)|0;t=f+(i<<2)|0;a[t>>2]=l;l=a[l+16>>2]|0;a[l+236>>2]=i;a[l+232>>2]=e;n=(a[(a[n>>2]|0)+196>>2]|0)+(e<<6)|0;l=(a[n>>2]|0)+1|0;a[n>>2]=l;a[f+(l<<2)>>2]=0;return a[t>>2]|0}function VH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A=a[(a[A+16>>2]|0)+236>>2]|0;e=a[(a[e+16>>2]|0)+236>>2]|0;f=(A|0)>(e|0);a[i>>2]=f?e:A;a[r>>2]=f?A:e;return}function JH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;l=s+4|0;n=s;A=a[A+16>>2]|0;do{if((r[A+156>>0]|0)==1){b=a[A+236>>2]|0;if(a[A+176>>2]|0){t=a[A+180>>2]|0;A=0;n=0;l=0;while(1){c=a[t+(l<<2)>>2]|0;if(!c)break;w=a[(a[(a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=(w|0)>(i|0);A=c?(w|0)<(f|0)?A:1:A;n=c?n:1;l=l+1|0}if(n<<24>>24!=0&A<<24>>24==0){a[e>>2]=b+1;break}if(!(n<<24>>24==0&A<<24>>24!=0))break;a[e+4>>2]=b+-1;break}if((a[A+184>>2]|0)!=2)vA(88397,88417,63,88424);t=a[A+180>>2]|0;w=a[t>>2]|0;t=a[t+4>>2]|0;VH(a[((a[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,l,n);t=a[n>>2]|0;if((t|0)<=(i|0)){a[e>>2]=b;a[e+8>>2]=b;break}A=a[l>>2]|0;if((A|0)>=(f|0)){a[e+4>>2]=b;a[e+12>>2]=b;break}n=(A|0)<(i|0);l=(t|0)>(f|0);if(!(l&n)){if(!(!n?!((t|0)<(f|0)&(A|0)==(i|0)):0))a[e+8>>2]=b;if(!l?!((t|0)==(f|0)&(A|0)>(i|0)):0)break;a[e+12>>2]=b}}}while(0);k=s;return}function NH(A){A=A|0;a[47134]=1;fp(A);a[47134]=0;return}function XH(A){A=A|0;a[47134]=2;fp(A);a[47134]=0;return}function RH(A){A=A|0;var e=0;Td(A,137447,304,1)|0;FR(A);e=qF((l[(a[(Id(A)|0)+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[A+16>>2]|0)+132>>2]=e;DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);return}function HH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0;B=k;k=k+64|0;t=B+48|0;u=B+40|0;c=B+24|0;l=B+8|0;h=B+56|0;s=B;do{if((A|0)!=0?(d=i+16|0,o=a[(a[d>>2]|0)+132>>2]|0,n=Uo(i,A)|0,(r[n>>0]|0)!=0):0){r[h>>0]=0;A=o+8|0;if((a[47137]|0)>2?(a[l>>2]=o,a[l+4>>2]=A,a[l+8>>2]=o+16,a[l+12>>2]=h,(J3(n,88535,l)|0)>2):0){r[(a[d>>2]|0)+119>>0]=1;n=a[47137]|0;A:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)>=(n|0))break A;u=o+(A<<3)|0;b[u>>3]=+b[u>>3]/+b[23293];A=A+1|0}}}while(0);if((n|0)>3)vU(i,f,3);if((r[h>>0]|0)!=33){if(!e){A=1;break}if(!((gR(Uo(i,e)|0)|0)<<24>>24)){A=1;break}}r[(a[d>>2]|0)+119>>0]=3;A=1;break}a[c>>2]=o;a[c+4>>2]=A;a[c+8>>2]=h;if((J3(n,101749,c)|0)<=1){a[t>>2]=Vh(i)|0;a[t+4>>2]=n;ao(1,88549,t)|0;A=0;break}r[(a[d>>2]|0)+119>>0]=1;n=a[47137]|0;A:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)>=(n|0))break A;c=o+(A<<3)|0;b[c>>3]=+b[c>>3]/+b[23293];A=A+1|0}}}while(0);do{if((n|0)>2){A=a[47171]|0;if((A|0?(w=Uo(i,A)|0,w|0):0)?(a[u>>2]=s,(J3(w,101209,u)|0)==1):0){g=+b[23293];v=+b[s>>3];b[o+16>>3]=g>0.0?v/g:v;vU(i,f,3);break}gU(i,f)}}while(0);if((r[h>>0]|0)!=33){if(!e){A=1;break}if(!((gR(Uo(i,e)|0)|0)<<24>>24)){A=1;break}}r[(a[d>>2]|0)+119>>0]=3;A=1}else A=0}while(0);k=B;return A|0}function pH(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}UH(A);return}function UH(A){A=A|0;if((a[47134]|0)!=0|(a[46795]|0)<0)dU(A);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function xH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;s=h+32|0;u=h;c=Yo(A,0,102637,0)|0;i=Yo(A,0,102671,0)|0;o=(ER(po(A,88593)|0,0)|0)<<24>>24!=0;if(!i)i=Yo(A,0,102671,195059)|0;hU(A)|0;w=A+16|0;l=0;while(1){t=a[(a[(a[w>>2]|0)+152>>2]|0)+(l<<2)>>2]|0;if(!t){f=12;break}n=t+16|0;f=a[n>>2]|0;if(!(r[f+119>>0]|0)){if(Z1(Vh(t)|0,108006,7)|0){f=8;break}f=a[n>>2]|0}f=a[f+108>>2]|0;if(f|0)TH(t,f,102633);l=l+1|0}A:do{if((f|0)==8){o=Vh(t)|0;i=Vh(A)|0;a[s>>2]=o;a[s+4>>2]=i;ao(1,88605,s)|0;i=-1}else if((f|0)==12){jH(A,c,i);t=SH(A)|0;i=a[(a[w>>2]|0)+8>>2]|0;if(!(a[i+88>>2]|0))i=0;else{a[i+84>>2]=0;i=1}n=(e|0)!=0;l=(i|0)!=0;if(!(l|n&(a[47134]|0)==1^1)?(eS(A)|0)!=0:0){f=a[(a[w>>2]|0)+12>>2]|0;if(!f)f=1;else{r[f+81>>0]=0;f=1}}else f=0;xR(A);if(l){e=(a[w>>2]|0)+16|0;uI(u,A);a[e>>2]=a[u>>2];a[e+4>>2]=a[u+4>>2];a[e+8>>2]=a[u+8>>2];a[e+12>>2]=a[u+12>>2];a[e+16>>2]=a[u+16>>2];a[e+20>>2]=a[u+20>>2];a[e+24>>2]=a[u+24>>2];a[e+28>>2]=a[u+28>>2]}if(!n){a[47138]=1;f=cd(A)|0;while(1){if(!f)break A;o=a[f+16>>2]|0;u=a[o+132>>2]|0;b[o+16>>3]=+b[u>>3]*72.0;b[o+24>>3]=+b[u+8>>3]*72.0;f=bd(A,f)|0}}do{if(!(o|l)){o=a[w>>2]|0;if(!(+b[o+16>>3]!=0.0)?!(+b[o+24>>3]!=0.0):0)break;Up(A)}}while(0);if(!((t|0)!=0&(f|(Hp(A)|0)<<24>>24!=0))){if((t|0)==2){a[47138]=1;break}}else PH(A);Rp(A,0)}}while(0);k=h;return i|0}function TH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+48|0;t=c+32|0;f=c+24|0;n=c+16|0;l=c;A=po(A,i)|0;if(A|0?(a[t>>2]=f,a[t+4>>2]=n,(J3(A,105503,t)|0)==2):0){t=e+56|0;_H(l,+b[f>>3],+b[n>>3]);a[t>>2]=a[l>>2];a[t+4>>2]=a[l+4>>2];a[t+8>>2]=a[l+8>>2];a[t+12>>2]=a[l+12>>2];r[e+81>>0]=1}k=c;return}function jH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+48|0;c=s+32|0;f=s+24|0;n=s+16|0;l=s;t=A+16|0;if((e|0?(a[(a[t>>2]|0)+12>>2]|0)!=0:0)?(w=Uo(A,e)|0,a[c>>2]=f,a[c+4>>2]=n,(J3(w,105503,c)|0)==2):0){w=(a[(a[t>>2]|0)+12>>2]|0)+56|0;_H(l,+b[f>>3],+b[n>>3]);a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];r[(a[(a[t>>2]|0)+12>>2]|0)+81>>0]=1}A:do{if(i|0){f=RB(A)|0;while(1){if(!f)break A;qH(f,A,e,i);f=HB(f)|0}}}while(0);k=s;return}function SH(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(gh(A)|0){f=Yo(A,2,102623,0)|0;if(!((f|0)==0|(a[47134]|0)<2)){e=0;r=cd(A)|0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;n=e+((OH(f,i)|0)!=0&1)|0;i=_o(A,i)|0;e=n}r=bd(A,r)|0}if(e){e=(e|0)==(gh(A)|0);e=e?2:1}else e=0}else e=0}else e=2;return e|0}function PH(A){A=A|0;var e=0,i=0,r=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;kH(e);r=e+16|0;TF(a[(a[r>>2]|0)+96>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);TF(a[(a[r>>2]|0)+100>>2]|0);TF(a[(a[r>>2]|0)+104>>2]|0);e=_o(A,e)|0}i=bd(A,i)|0}return}function OH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;m=k;k=k+96|0;G=m+72|0;I=m+56|0;Q=m+48|0;Z=m+32|0;C=m+16|0;d=m+88|0;B=m+8|0;v=m;g=m+84|0;E=m+80|0;A=Uo(e,A)|0;do{if(r[A>>0]|0){DC(e,g,E);h=1;f=0;i=0;t=0.0;l=0.0;c=0.0;n=0.0;A:while(1){a[C>>2]=B;a[C+4>>2]=v;a[C+8>>2]=d;if((J3(A,88642,C)|0)==2){o=1;A=A+(a[d>>2]|0)|0;l=+b[B>>3];n=+b[v>>3]}else o=i;a[Z>>2]=B;a[Z+4>>2]=v;a[Z+8>>2]=d;if((J3(A,88654,Z)|0)==2){u=1;A=A+(a[d>>2]|0)|0;t=+b[B>>3];c=+b[v>>3]}else u=f;s=KH(A)|0;if(!((s|0)>3&((s|0)%3|0|0)==1)){i=8;break}w=$F(s<<4)|0;i=w;f=s;while(1){if(!f)break;a[I>>2]=B;a[I+4>>2]=v;a[I+8>>2]=d;if((J3(A,88724,I)|0)<2){i=13;break A}L=A+(a[d>>2]|0)|0;b[i>>3]=+b[B>>3];b[i+8>>3]=+b[v>>3];i=i+16|0;f=f+-1|0;A=L}while(1){i=r[A>>0]|0;f=A+1|0;if(!(Q1(i<<24>>24)|0))break;else A=f}L=i<<24>>24==0;A=L?A:f;h=L?0:h;f=vX(e,s)|0;if(o|0){a[f+8>>2]=a[g>>2];b[f+16>>3]=l;b[f+24>>3]=n}if(u|0){a[f+12>>2]=a[E>>2];b[f+32>>3]=t;b[f+40>>3]=c}i=0;while(1){if((i|0)>=(s|0))break;L=(a[f>>2]|0)+(i<<4)|0;W=w+(i<<4)|0;a[L>>2]=a[W>>2];a[L+4>>2]=a[W+4>>2];a[L+8>>2]=a[W+8>>2];a[L+12>>2]=a[W+12>>2];i=i+1|0}L2(w);if(!h){i=26;break}else{f=u;i=o}}if((i|0)==8){kH(e);if(r[193771]|0){A=0;break}r[193771]=1;W=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;A=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[Q>>2]=W;a[Q+4>>2]=A;ao(0,88667,Q)|0;A=0;break}else if((i|0)==13){if(!(r[193771]|0)){r[193771]=1;L=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;W=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[G>>2]=L;a[G+4>>2]=W;ao(0,88734,G)|0}L2(w);kH(e);A=0;break}else if((i|0)==26){f=e+16|0;A=a[f>>2]|0;i=a[A+96>>2]|0;if(i){TH(e,i,102637);A=a[f>>2]|0}i=a[A+108>>2]|0;if(i){TH(e,i,102633);A=a[f>>2]|0}i=a[A+100>>2]|0;if(i){TH(e,i,102640);A=a[f>>2]|0}A=a[A+104>>2]|0;if(!A){A=1;break}TH(e,A,102648);A=1;break}}else A=0}while(0);k=m;return A|0}function KH(A){A=A|0;var e=0,i=0;i=0;do{while(1){e=r[A>>0]|0;if(!(Q1(e&255)|0))break;else A=A+1|0}A:do{if(!(e<<24>>24))e=0;else{i=i+1|0;while(1){if(!(e<<24>>24)){e=0;break A}if(e<<24>>24==59|(Q1(e&255)|0)!=0)break A;e=A+1|0;A=e;e=r[e>>0]|0}}}while(0)}while((Q1(e&255)|0)!=0);return i|0}function _H(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function qH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;l=k;k=k+32|0;f=l;if((Z1(Vh(A)|0,108006,7)|0)==0?($H(A,r,f)|0)!=0:0){Td(A,137483,280,1)|0;t=(a[A+16>>2]|0)+16|0;a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];a[t+16>>2]=a[f+16>>2];a[t+20>>2]=a[f+20>>2];a[t+24>>2]=a[f+24>>2];a[t+28>>2]=a[f+28>>2];Ap(e,A);jH(A,i,r)}else n=4;A:do{if((n|0)==4){A=RB(A)|0;while(1){if(!A)break A;qH(A,e,i,r);A=HB(A)|0}}}while(0);k=l;return}function $H(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0;l=k;k=k+48|0;t=l+32|0;n=l;c=Uo(A,e)|0;A=n+8|0;e=n+24|0;a[t>>2]=n;a[t+4>>2]=A;a[t+8>>2]=n+16;a[t+12>>2]=e;if((J3(c,88782,t)|0)==4){r=+b[A>>3];f=+b[e>>3];if(r>f){b[A>>3]=f;b[e>>3]=r}a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[i+16>>2]=a[n+16>>2];a[i+20>>2]=a[n+20>>2];a[i+24>>2]=a[n+24>>2];a[i+28>>2]=a[n+28>>2];A=1}else A=0;k=l;return A|0}function Ap(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+16|0;i=a[r>>2]|0;n=i+180|0;A=a[n>>2]|0;f=A+1|0;a[n>>2]=f;i=a[i+184>>2]|0;if(!i)A=qF((A<<2)+8|0)|0;else A=AV(i,A+2|0,4,f)|0;a[(a[r>>2]|0)+184>>2]=A;a[A+(f<<2)>>2]=e;JF(e);return}function ep(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+48|0;s=w+8|0;b=w;t=w+16|0;c=w+12|0;l=po(A,88798)|0;do{if((l|0)!=0?(f=r[l>>0]|0,f<<24>>24!=0):0){f=f&255;if(!(J1(f)|0))if((e|0)==2|(f+-48|0)>>>0<10)e=l;else break;else{if(!(Z1(l,88804,4)|0)){e=0;break}if(!(Z1(l,105511,7)|0)){e=1;break}if(Z1(l,88809,6)|0)if((e|0)==2)e=l;else break;else e=l+6|0}if(!(((n[e>>0]|0)+-48|0)>>>0<10?(a[b>>2]=c,(J3(e,99933,b)|0)>=1):0)){b=z3()|0;b=(ne(0)|0)^b;a[c>>2]=b;a[s>>2]=b;P4(t,99933,s)|0;xo(A,88798,t)|0}a[i>>2]=a[c>>2];e=2}}while(0);k=w;return e|0}function ip(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+16|0;r=f+4|0;a[r>>2]=1;i=ep(A,i,r)|0;if((i|0)!=2&(a[46796]|0)!=0)ao(0,88816,f)|0;if((i|0)==1)rp(A,e);l8(a[r>>2]|0);k=f;return i|0}function rp(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0.0;n=+(e|0);l=6.283185307179586/n;i=cd(A)|0;f=0.0;while(1){if(!i)break;s=+D(+f)*n;t=a[i+16>>2]|0;c=a[t+132>>2]|0;b[c>>3]=s;b[c+8>>3]=+M(+f)*n;r[t+119>>0]=1;if((a[47137]|0)>2)gU(i,e);i=bd(A,i)|0;f=f+l}return}function fp(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0;d=k;k=k+80|0;e=d+24|0;w=d+32|0;c=d;o=d+28|0;s=d+64|0;h=+b[23293];do{if(a[47134]|0){b[23293]=72.0;ap(A);np(A);if((xH(A,1)|0)<0){ao(3,88864,e)|0;break}else{vJ(A,0);f=32;break}}else{u=ER(po(A,88593)|0,0)|0;b[23293]=+hR(A);ap(A);n=lp(A)|0;Qj(A,c,0)|0;l=tp(A)|0;t=wC(A,0,w)|0;e=sC(A,-1,8)|0;a[46795]=e;i=(e|0)<0;do{if(!t){if((n|0)!=0&i){a[46795]=8;a[w+16>>2]=2;f=11;break}a[w+16>>2]=2;if((e|0)<=-1){cp(A,n,l);Wj(A,c)|0;np(A);if(!(u<<24>>24)){Pp(A);break}else{bp(A);break}}else f=11}else if(i){a[46795]=8;f=11}else f=11}while(0);if((f|0)==11){t=BE(A,o,88892,s)|0;e=a[o>>2]|0;do{if((e|0)<=1){cp(A,n,l);Wj(A,c)|0;if(!(u<<24>>24)){Pp(A);break}else{bp(A);break}}else{f=u<<24>>24==0;i=0;while(1){if((i|0)>=(e|0))break;e=a[t+(i<<2)>>2]|0;VE(e)|0;cp(e,n,l);Wj(e,c)|0;zH(e,2);if(f)Pp(e);else bp(e);i=i+1|0;e=a[o>>2]|0}if(!(r[s>>0]|0))i=0;else{i=qF(e)|0;r[i>>0]=1;e=a[o>>2]|0}a[w+8>>2]=a[46795];a[w+20>>2]=i;a[w+12>>2]=1;tC(e,t,A,w)|0;L2(i)}}while(0);xR(A);np(A);e=0;while(1){if((e|0)>=(a[o>>2]|0))break;w=a[t+(e<<2)>>2]|0;dU(w);Sd(w,137483)|0;Cd(A,w)|0;e=e+1|0}L2(t)}vJ(A,u<<24>>24==0&1);f=32}}while(0);if((f|0)==32)b[23293]=h;k=d;return}function ap(A){A=A|0;var e=0,i=0,r=0,n=0;zH(A,2);r=kR(A,Yo(A,0,91368,0)|0,2,2)|0;e=(kR(A,Yo(A,0,91374,0)|0,r,2)|0)&65535;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=e;e=a[(a[A+60>>2]|0)+16>>2]|0;n=e+176|0;i=f[n>>1]|0;i=(i&65535)<10?i:10;f[n>>1]=i;i=i&65535;a[47137]=i;f[e+178>>1]=(r|0)<(i|0)?r:i;gp(A);return}function np(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+1040|0;r=f;i=f+8|0;A:do{if((a[47137]|0)>2&(a[47171]|0)!=0){e=cd(A)|0;while(1){if(!e)break A;b[r>>3]=+b[(a[(a[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;P4(i,101209,r)|0;Vo(e,a[47171]|0,i)|0;e=bd(A,e)|0}}}while(0);k=f;return}function lp(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=po(A,89577)|0;A:do{if(!e)A=1;else{switch(r[e>>0]|0){case 0:{A=1;break A}case 75:{if(!(A1(e,89582)|0)){A=0;break A}break}case 109:{if(!(A1(e,89585)|0)){A=1;break A}break}case 104:{if(!(A1(e,89591)|0)){A=2;break A}break}default:{}}A=Vh(A)|0;a[i>>2]=e;a[i+4>>2]=A;ao(0,89596,i)|0;A=1}}while(0);k=f;return A|0}function tp(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+32|0;n=l+16|0;f=l+8|0;i=l;e=po(A,89360)|0;A:do{if(!e)A=0;else{switch(r[e>>0]|0){case 0:{A=0;break A}case 99:{if(!(A1(e,89366)|0)){A=1;break A}break}case 115:{if(!(A1(e,89374)|0)){A=2;break A}if(!(A1(e,89381)|0)){A=0;break A}break}case 109:{if(!(A1(e,89391)|0)){if(Yo(A,2,92493,0)|0){A=3;break A}a[i>>2]=Vh(A)|0;ao(0,89395,i)|0;ao(3,89458,f)|0;A=0;break A}break}default:{}}A=Vh(A)|0;a[n>>2]=e;a[n+4>>2]=A;ao(0,89515,n)|0;A=0}}while(0);k=l;return A|0}function cp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,91061)|0;if(!r)if((e|0)==1)r=200;else r=(vh(A)|0)*100|0;else r=q3(r)|0;a[47136]=r;r=bU(A,e)|0;do{if(!((r|0)<2|(a[47136]|0)<0))if(!e){wp(A,r,i);break}else{sp(A,r,e,i,a[47137]|0);break}}while(0);return}function bp(A){A=A|0;xR(A);Rp(A,1);return}function sp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+64|0;d=g+40|0;u=g+24|0;w=g;o=g+48|0;v=g+44|0;h=(i|0)==2;l=ip(A,e,h?0:2)|0;t=vp(A)|0;c=t|4;B=$F(f<<2)|0;a[B>>2]=$F(U(e<<3,f)|0)|0;n=a[47137]|0;f=1;while(1){if((f|0)>=(n|0))break;a[B+(f<<2)>>2]=(a[B>>2]|0)+((U(f,e)|0)<<3);f=f+1|0}n=(l|0)==0;f=n?c:t;if(0){c=a[15712]|0;t=a[47136]|0;s=+b[23294];a[w>>2]=r;a[w+4>>2]=n&1;a[w+8>>2]=f&3;a[w+12>>2]=t;b[w+16>>3]=s;f3(c,89173,w)|0;L3(89230,15,1,c)|0;tR();L3(89246,13,1,c)|0}w=op(A,e,o,i,r,v)|0;if(0){c=a[15712]|0;s=+cR();a[u>>2]=e;b[u+8>>3]=s;f3(c,89260,u)|0}if((i|0)!=1){s=+oR(A,Yo(A,0,89279,0)|0,0.0,-1797693134862315708145274.0e284);if(h){f=kS(w,e,a[o>>2]|0,B,a[v>>2]|0,a[47137]|0,f,r,a[47136]|0,s)|0;n=12}else n=14}else{f=iU(w,e,a[o>>2]|0,B,a[v>>2]|0,a[47137]|0,f,r,a[47136]|0)|0;n=12}if((n|0)==12)if((f|0)<0)ao(3,89289,d)|0;else n=14;A:do{if((n|0)==14){n=cd(A)|0;while(1){if(!n)break A;c=a[n+16>>2]|0;l=a[c+120>>2]|0;t=a[47137]|0;c=c+132|0;f=0;while(1){if((f|0)>=(t|0))break;b[(a[c>>2]|0)+(f<<3)>>3]=+b[(a[B+(f<<2)>>2]|0)+(l<<3)>>3];f=f+1|0}n=bd(A,n)|0}}}while(0);HS(w);L2(a[B>>2]|0);L2(B);L2(a[v>>2]|0);k=g;return}function wp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0;n=k;k=k+48|0;f=n+32|0;r=n;switch(i|0){case 2:{up(A,e);break}case 1:{if(!(bS(A,e)|0)){a[r>>2]=Vh(A)|0;ao(0,88902,r)|0;ao(3,93364,n+8|0)|0;ao(3,88954,n+16|0)|0;ao(3,89026,n+24|0)|0;MU(A,e)}break}default:{MU(A,e);if((i|0)==3)kp(A)}}CU(A,e);IU(A,e);if(0){r=a[15712]|0;t=a[47136]|0;l=+b[23294];a[f>>2]=i;a[f+4>>2]=t;b[f+8>>3]=l;f3(r,89064,f)|0;tR()}ZU(A,e);k=n;return}function up(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=op(A,e,t,0,2,0)|0;l=UP(n,e)|0;r=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;f=l+(A<<2)|0;i=0;while(1){if((i|0)==(e|0))break;b[(a[(a[(a[r>>2]|0)+160>>2]|0)+(A<<2)>>2]|0)+(i<<3)>>3]=+(a[(a[f>>2]|0)+(i<<2)>>2]|0);i=i+1|0}A=A+1|0}L2(a[l>>2]|0);L2(l);HS(n);k=t;return}function kp(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0;f=A+16|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;n=a[e>>2]&3;r=(a[a[((n|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;n=(a[a[((n|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if((r|0)!=(n|0)){t=+b[(a[e+16>>2]|0)+136>>3];l=a[(a[f>>2]|0)+160>>2]|0;b[(a[l+(n<<2)>>2]|0)+(r<<3)>>3]=t;b[(a[l+(r<<2)>>2]|0)+(n<<3)>>3]=t}e=_o(A,e)|0}i=bd(A,i)|0}return}function op(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0;l=gh(A)|0;Y=bJ()|0;if((f|0)==2){t=0;W=0}else{W=Yo(A,2,92493,0)|0;t=(a[47174]|0)!=0&1;W=(W|0)!=0}Q=(r|1|0)==3;y=$F(e*20|0)|0;z=$F(e<<2)|0;s=(l<<1)+e<<2;w=$F(s)|0;G=Q|W;if(G)f=$F(s)|0;else f=0;L=(t|0)!=0;if(L)l=$F(s)|0;else l=0;if(Q)t=$F(s)|0;else t=0;s=0;I=cd(A)|0;Z=0;while(1){if(!I)break;uJ(Y);if((a[(a[I+16>>2]|0)+120>>2]|0)!=(Z|0)){m=12;break}a[z+(Z<<2)>>2]=I;g=y+(Z*20|0)+4|0;a[g>>2]=w;E=y+(Z*20|0)+8|0;a[E>>2]=G?f:0;C=y+(Z*20|0)+12|0;a[C>>2]=L?l:0;a[y+(Z*20|0)+16>>2]=Q?t:0;d=1;v=Ah(A,I)|0;B=1;h=s;w=w+4|0;f=G?f+4|0:f;l=L?l+4|0:l;t=Q?t+4|0:t;while(1){if(!v)break;u=a[v>>2]&3;o=v+-48|0;s=v+48|0;do{if((a[((u|0)==2?v:o)+40>>2]|0)==(a[((u|0)==3?v:s)+40>>2]|0)){u=d;o=B;s=h}else{u=hp(Y,v,d)|0;if((u|0)!=(d|0)){if(L){o=(a[C>>2]|0)+(u<<2)|0;c[o>>2]=+b[(a[v+16>>2]|0)+128>>3]+ +c[o>>2]}if(!W){u=d;o=B;s=h;break}u=(a[E>>2]|0)+(u<<2)|0;D=+b[(a[v+16>>2]|0)+136>>3];k=+(~~+c[u>>2]|0);c[u>>2]=D>k?D:k;u=d;o=B;s=h;break}M=a[v>>2]&3;s=(M|0)==3?v:s;h=h+1|0;u=d+1|0;d=w+4|0;a[w>>2]=a[(a[(a[((a[s+40>>2]|0)==(I|0)?(M|0)==2?v:o:s)+40>>2]|0)+16>>2]|0)+120>>2];if(L){c[l>>2]=+b[(a[v+16>>2]|0)+128>>3];l=l+4|0}if(W){s=f+4|0;c[f>>2]=+b[(a[v+16>>2]|0)+136>>3];if(Q){f=s;m=27}else f=s}else if(Q){c[f>>2]=1.0;f=f+4|0;m=27}if((m|0)==27){m=0;s=po(v,101559)|0;if((s|0)!=0?(Z1(s,135709,4)|0)==0:0)k=0.0;else k=(I|0)==(a[((a[v>>2]&3|0)==2?v:o)+40>>2]|0)?1.0:-1.0;c[t>>2]=k;t=t+4|0}o=B+1|0;s=h;w=d}}while(0);d=u;v=eh(A,v,I)|0;B=o;h=s}a[y+(Z*20|0)>>2]=B;a[a[g>>2]>>2]=Z;s=h;I=bd(A,I)|0;Z=Z+1|0}if((m|0)==12)vA(89103,89118,819,89130);if(Q)dp(y,e,r,z);u=(s|0)/2|0;A:do{if((u|0)!=(gh(A)|0)){s=(u<<1)+e<<2;t=eV(a[y+4>>2]|0,s)|0;if(W)f=eV(a[y+8>>2]|0,s)|0;if(L){w=0;l=eV(a[y+12>>2]|0,s)|0}else w=0;while(1){if((w|0)>=(e|0))break A;s=a[y+(w*20|0)>>2]|0;a[y+(w*20|0)+4>>2]=t;if(W){a[y+(w*20|0)+8>>2]=f;f=f+(s<<2)|0}if(L){a[y+(w*20|0)+12>>2]=l;l=l+(s<<2)|0}w=w+1|0;t=t+(s<<2)|0}}}while(0);a[i>>2]=u;if(!n)L2(z);else a[n>>2]=z;kJ(Y);return y|0}function hp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=a[e>>2]&3;r=a[(a[(a[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;e=a[(a[(a[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(r|0)>(e|0);return oJ(A,f?e:r,f?r:e,i)|0}function dp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=0;while(1){if((n|0)>=(e|0)){n=0;break}l=a[(a[f+(n<<2)>>2]|0)+16>>2]|0;r[l+157>>0]=0;r[l+158>>0]=0;n=n+1|0}while(1){if((n|0)>=(e|0))break;if(!(r[(a[(a[f+(n<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Bp(A,n,i,f);n=n+1|0}return}function Bp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,k=0.0,o=0,h=0;h=(a[f+(e<<2)>>2]|0)+16|0;s=a[h>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=A+(e*20|0)|0;w=A+(e*20|0)+16|0;u=A+(e*20|0)+4|0;k=(i|0)==3?-1.0:1.0;b=1;A:while(1){if((b|0)>=(a[s>>2]|0)){n=14;break}n=(a[w>>2]|0)+(b<<2)|0;do{if(!(+c[n>>2]==1.0)){o=a[(a[u>>2]|0)+(b<<2)>>2]|0;l=a[(a[f+(o<<2)>>2]|0)+16>>2]|0;if(!(r[l+158>>0]|0)){if(r[l+157>>0]|0)break;Bp(A,o,i,f);break}c[n>>2]=k;l=A+(o*20|0)+4|0;t=a[A+(o*20|0)>>2]|0;n=1;while(1){if((n|0)>=(t|0)){n=9;break A}if((a[(a[l>>2]|0)+(n<<2)>>2]|0)==(e|0))break;n=n+1|0}c[(a[A+(o*20|0)+16>>2]|0)+(n<<2)>>2]=-1.0}}while(0);b=b+1|0}if((n|0)==9)vA(89144,89118,721,89164);else if((n|0)==14){r[(a[h>>2]|0)+158>>0]=0;return}}function vp(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;A=kR(A,Yo(A,0,89305,0)|0,2,0)|0;if((A|0)==0|(A|0)>2){a[e>>2]=89305;ao(0,89314,e)|0;A=2}k=i;return A|0}function gp(A){A=A|0;var e=0,i=0,r=0;i=vh(A)|0;a[46796]=Yo(A,1,102623,0)|0;r=Yo(A,1,90660,0)|0;e=cd(A)|0;while(1){if(!e)break;RH(e);HH(a[46796]|0,r,e,i)|0;e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;Ep(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function Ep(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,1.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function Cp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A=qF(64)|0;i=A+8|0;r=e+8|0;n=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));e=a[e+56>>2]|0;a[A+56>>2]=e;f[(a[e+16>>2]|0)+168>>1]=1;return A|0}function Ip(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Zp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if(A>>>0<=r>>>0)if(A>>>0>=r>>>0){r=a[e+24>>2]|0;A=a[i+24>>2]|0;if(r>>>0<=A>>>0)if(r>>>0>=A>>>0){A=~~(+b[e+8>>3]-+b[i+8>>3]);if(!A){A=~~(+b[e+16>>3]-+b[i+16>>3]);if(!A){A=~~(+b[e+32>>3]-+b[i+32>>3]);if(!A)A=~~(+b[e+40>>3]-+b[i+40>>3])}}}else A=-1;else A=1}else A=-1;else A=1;return A|0}function Gp(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0.0;b=k;k=k+16|0;n=b;l=e+16|0;t=f[(a[l>>2]|0)+168>>1]|0;c=t<<16>>16;if(t<<16>>16!=1&(r[194954]|0)==0){t=$F(c<<2)|0;n=0;while(1){if((n|0)>=(c|0))break;a[t+(n<<2)>>2]=e;e=a[(a[e+16>>2]|0)+172>>2]|0;n=n+1|0}s=+(i|0);LX(A,t,0,c,s,s,17792);e=0;while(1){if((e|0)>=(c|0))break;n=a[t+(e<<2)>>2]|0;l=n+16|0;if(a[(a[l>>2]|0)+96>>2]|0){i=Id(a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;pR(i,a[(a[l>>2]|0)+96>>2]|0)}FX(n);e=e+1|0}L2(t)}else{a[n>>2]=e;s=+(i|0);LX(A,n,0,1,s,s,17792);if(a[(a[l>>2]|0)+96>>2]|0){c=Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;pR(c,a[(a[l>>2]|0)+96>>2]|0)}FX(e)}k=b;return}function Qp(A){A=A|0;return 0}function mp(A){A=A|0;return 0}function Lp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+384|0;R=p+368|0;H=p+112|0;l=p+32|0;d=p+336|0;V=p+320|0;J=p+304|0;N=p+288|0;X=p+272|0;n=p+256|0;y=p+240|0;Y=p+224|0;F=p+208|0;v=p+192|0;g=p+176|0;E=p+160|0;G=p+144|0;Q=p+128|0;m=p+96|0;L=p+16|0;W=p;A:do{switch(sN(A)|0){case 3:case 1:{f=qF(8)|0;G=A+16|0;A=a[G>>2]|0;n=a[A+12>>2]|0;do{if(!(i<<24>>24)){A=a[n+8>>2]|0;if((A|0)>2){Z=0.0;l=a[n+44>>2]|0;i=0;o=+c[e>>2];h=+c[e+4>>2];break}else{Z=+c8()*.01;A=8;l=0;i=1;o=0.0;h=0.0;break}}else if(!(a[n+40>>2]&2048)){h=+b[A+88>>3];o=-h;Z=+b[A+80>>3];I=Z*-.5;b[l>>3]=o;b[l+8>>3]=I;b[l+16>>3]=h;b[l+24>>3]=I;Z=Z*.5;b[l+32>>3]=h;b[l+40>>3]=Z;b[l+48>>3]=o;b[l+56>>3]=Z;Z=0.0;A=4;i=0;o=0.0;h=0.0;break}else{HR(d,n);o=+b[d>>3];I=+b[d+8>>3];h=+b[d+16>>3];Z=+b[d+24>>3];b[l>>3]=o;b[l+8>>3]=I;b[l+16>>3]=h;b[l+24>>3]=I;b[l+32>>3]=h;b[l+40>>3]=Z;b[l+48>>3]=o;b[l+56>>3]=Z;Z=0.0;A=4;i=0;o=0.0;h=0.0;break}}while(0);a[f+4>>2]=A;d=qF(A<<4)|0;a[f>>2]=d;B=1.0/+(A|0);v=e+8|0;g=e+4|0;E=(A|0)==4;C=-o;I=-h;n=0;while(1){if((A|0)<=(n|0))break A;do{if(i){t=+(n|0)*6.283185307179586*B+Z;s=+D(+t);t=+M(+t);if(!(r[v>>0]|0)){H=a[G>>2]|0;w=t*+c[g>>2]*+b[H+80>>3];t=s*+c[e>>2]*(+b[H+96>>3]+ +b[H+88>>3])}else{H=a[G>>2]|0;w=(+b[H+80>>3]+ +c[g>>2])*t;t=(+b[H+96>>3]+ +b[H+88>>3]+ +c[e>>2])*s}u=t*.5;t=w*.5}else{if(!(r[v>>0]|0)){u=+b[l+(n<<4)>>3]*o;t=+b[l+(n<<4)+8>>3]*h;break}if(!E){u=+b[l+(n<<4)>>3];t=+b[l+(n<<4)+8>>3];w=+z(+(t*t+u*u));u=(o/w+1.0)*u;t=(h/w+1.0)*t;break}switch(n|0){case 0:{s=h;t=o;break}case 1:{s=h;t=C;break}case 2:{s=I;t=C;break}case 3:{s=I;t=o;break}default:{s=0.0;t=0.0}}u=+b[l+(n<<4)>>3]+t;t=+b[l+(n<<4)+8>>3]+s}}while(0);R=a[G>>2]|0;H=A-n+-1|0;b[d+(H<<4)>>3]=+b[R+16>>3]+u;b[d+(H<<4)+8>>3]=+b[R+24>>3]+t;n=n+1|0}}case 2:{W=A+16|0;f=a[(a[W>>2]|0)+12>>2]|0;t=+b[f+16>>3];u=+b[f+24>>3];s=+b[f+32>>3];w=+b[f+40>>3];f=qF(8)|0;a[f+4>>2]=4;A=qF(64)|0;a[f>>2]=A;W=(a[W>>2]|0)+16|0;a[H>>2]=a[W>>2];a[H+4>>2]=a[W+4>>2];a[H+8>>2]=a[W+8>>2];a[H+12>>2]=a[W+12>>2];if(!(r[e+8>>0]|0)){a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(n,t,u,R,e);a[A>>2]=a[n>>2];a[A+4>>2]=a[n+4>>2];a[A+8>>2]=a[n+8>>2];a[A+12>>2]=a[n+12>>2];X=(a[f>>2]|0)+16|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(y,t,w,R,e);a[X>>2]=a[y>>2];a[X+4>>2]=a[y+4>>2];a[X+8>>2]=a[y+8>>2];a[X+12>>2]=a[y+12>>2];X=(a[f>>2]|0)+32|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(Y,s,w,R,e);a[X>>2]=a[Y>>2];a[X+4>>2]=a[Y+4>>2];a[X+8>>2]=a[Y+8>>2];a[X+12>>2]=a[Y+12>>2];X=(a[f>>2]|0)+48|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(F,s,u,R,e);a[X>>2]=a[F>>2];a[X+4>>2]=a[F+4>>2];a[X+8>>2]=a[F+8>>2];a[X+12>>2]=a[F+12>>2];break A}else{Z=t-+c[e>>2];F=e+4|0;I=u-+c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(V,Z,I,R);a[A>>2]=a[V>>2];a[A+4>>2]=a[V+4>>2];a[A+8>>2]=a[V+8>>2];a[A+12>>2]=a[V+12>>2];V=(a[f>>2]|0)+16|0;I=t-+c[e>>2];Z=w+ +c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(J,I,Z,R);a[V>>2]=a[J>>2];a[V+4>>2]=a[J+4>>2];a[V+8>>2]=a[J+8>>2];a[V+12>>2]=a[J+12>>2];J=(a[f>>2]|0)+32|0;Z=s+ +c[e>>2];I=w+ +c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(N,Z,I,R);a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];N=(a[f>>2]|0)+48|0;I=s+ +c[e>>2];Z=u-+c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(X,I,Z,R);a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];break A}}case 4:{A=A+16|0;f=qF(8)|0;a[f+4>>2]=4;n=qF(64)|0;a[f>>2]=n;l=a[A>>2]|0;X=l+16|0;a[H>>2]=a[X>>2];a[H+4>>2]=a[X+4>>2];a[H+8>>2]=a[X+8>>2];a[H+12>>2]=a[X+12>>2];t=-+b[l+88>>3];if(!(r[e+8>>0]|0)){I=-+b[l+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(Q,t,I,R,e);a[n>>2]=a[Q>>2];a[n+4>>2]=a[Q+4>>2];a[n+8>>2]=a[Q+8>>2];a[n+12>>2]=a[Q+12>>2];X=(a[f>>2]|0)+16|0;N=a[A>>2]|0;I=-+b[N+88>>3];Z=+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(m,I,Z,R,e);a[X>>2]=a[m>>2];a[X+4>>2]=a[m+4>>2];a[X+8>>2]=a[m+8>>2];a[X+12>>2]=a[m+12>>2];X=(a[f>>2]|0)+32|0;N=a[A>>2]|0;Z=+b[N+96>>3];I=+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(L,Z,I,R,e);a[X>>2]=a[L>>2];a[X+4>>2]=a[L+4>>2];a[X+8>>2]=a[L+8>>2];a[X+12>>2]=a[L+12>>2];X=(a[f>>2]|0)+48|0;N=a[A>>2]|0;I=+b[N+96>>3];Z=-+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(W,I,Z,R,e);a[X>>2]=a[W>>2];a[X+4>>2]=a[W+4>>2];a[X+8>>2]=a[W+8>>2];a[X+12>>2]=a[W+12>>2];break A}else{Z=t-+c[e>>2];N=e+4|0;I=-+b[l+80>>3]-+c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(v,Z,I,R);a[n>>2]=a[v>>2];a[n+4>>2]=a[v+4>>2];a[n+8>>2]=a[v+8>>2];a[n+12>>2]=a[v+12>>2];X=(a[f>>2]|0)+16|0;J=a[A>>2]|0;I=-+b[J+88>>3]-+c[e>>2];Z=+b[J+80>>3]+ +c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(g,I,Z,R);a[X>>2]=a[g>>2];a[X+4>>2]=a[g+4>>2];a[X+8>>2]=a[g+8>>2];a[X+12>>2]=a[g+12>>2];X=(a[f>>2]|0)+32|0;J=a[A>>2]|0;Z=+b[J+96>>3]+ +c[e>>2];I=+b[J+80>>3]+ +c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(E,Z,I,R);a[X>>2]=a[E>>2];a[X+4>>2]=a[E+4>>2];a[X+8>>2]=a[E+8>>2];a[X+12>>2]=a[E+12>>2];X=(a[f>>2]|0)+48|0;J=a[A>>2]|0;I=+b[J+96>>3]+ +c[e>>2];Z=-+b[J+80>>3]-+c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(G,I,Z,R);a[X>>2]=a[G>>2];a[X+4>>2]=a[G+4>>2];a[X+8>>2]=a[G+8>>2];a[X+12>>2]=a[G+12>>2];break A}}default:f=0}}while(0);k=p;return f|0}function Wp(A,e,i,r){A=A|0;e=+e;i=+i;r=r|0;i=+b[r+8>>3]+i;b[A>>3]=+b[r>>3]+e;b[A+8>>3]=i;return}function yp(A,e,i,r,f){A=A|0;e=+e;i=+i;r=r|0;f=f|0;i=+c[f+4>>2]*i+ +b[r+8>>3];b[A>>3]=+c[f>>2]*e+ +b[r>>3];b[A+8>>3]=i;return}function zp(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;u=k;k=k+112|0;c=u+88|0;t=u+72|0;b=u+32|0;s=u+16|0;w=u;f=u+56|0;n=u+40|0;l=e+48|0;d=(a[(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)+16>>2]|0)+16|0;o=e+16|0;h=(a[o>>2]|0)+16|0;a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];a[c>>2]=a[h>>2];a[c+4>>2]=a[h+4>>2];a[c+8>>2]=a[h+8>>2];a[c+12>>2]=a[h+12>>2];Yp(f,t,c);a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];f=e+-48|0;h=(a[(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+16|0;o=(a[o>>2]|0)+56|0;a[t>>2]=a[h>>2];a[t+4>>2]=a[h+4>>2];a[t+8>>2]=a[h+8>>2];a[t+12>>2]=a[h+12>>2];a[c>>2]=a[o>>2];a[c+4>>2]=a[o+4>>2];a[c+8>>2]=a[o+8>>2];a[c+12>>2]=a[o+12>>2];Yp(n,t,c);a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];if(!r){n=-1111;f=-1111}else{d=a[e>>2]&3;n=a[(a[(a[((d|0)==2?e:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=a[(a[(a[((d|0)==3?e:l)+40>>2]|0)+16>>2]|0)+288>>2]|0}a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];Yt(i,t,f,c,n,b)|0;o=b;h=a[o+4>>2]|0;d=A;a[d>>2]=a[o>>2];a[d+4>>2]=h;k=u;return}function Yp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function Dp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;g=k;k=k+144|0;o=g+104|0;h=g+88|0;u=g+80|0;w=g+72|0;c=g+64|0;B=g+128|0;b=g+32|0;s=g+124|0;v=g+16|0;d=g;t=g+120|0;l=(a[e+16>>2]|0)+144|0;n=a[l>>2]|0;l=a[l+4>>2]|0;E=c;a[E>>2]=n;a[E+4>>2]=l;E=n;a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];l=n+(l+-1<<4)|0;a[d>>2]=a[l>>2];a[d+4>>2]=a[l+4>>2];a[d+8>>2]=a[l+8>>2];a[d+12>>2]=a[l+12>>2];A:do{if(!(f<<24>>24)){n=-1111;f=-1111}else{n=-1111;f=-1111;l=0;while(1){if((l|0)>=(r|0))break A;if((f|0)==-1111){f=a[i+(l<<2)>>2]|0;a[h>>2]=a[f>>2];a[h+4>>2]=a[f+4>>2];a[o>>2]=a[v>>2];a[o+4>>2]=a[v+4>>2];a[o+8>>2]=a[v+8>>2];a[o+12>>2]=a[v+12>>2];f=(Dt(h,o)|0)==0;f=f?-1111:l}if((n|0)==-1111){n=a[i+(l<<2)>>2]|0;a[h>>2]=a[n>>2];a[h+4>>2]=a[n+4>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];n=(Dt(h,o)|0)==0;n=n?-1111:l}l=l+1|0}}}while(0);Mp(i,r,f,n,t,s);a[b>>2]=0;a[b+4>>2]=0;a[b+8>>2]=0;a[b+12>>2]=0;a[b+16>>2]=0;a[b+20>>2]=0;a[b+24>>2]=0;a[b+28>>2]=0;l=a[t>>2]|0;E=a[s>>2]|0;a[o>>2]=a[c>>2];a[o+4>>2]=a[c+4>>2];if((Mt(l,E,o,b,B)|0)<0){v=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;E=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[w>>2]=v;a[w+4>>2]=E;ao(1,89657,w)|0}else{if(0>1){n=a[15712]|0;w=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;f=e+-48|0;E=Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0;a[u>>2]=w;a[u+4>>2]=E;f3(n,89705,u)|0;n=e}else{f=e+-48|0;n=e}gX(e,a[((a[n>>2]&3|0)==2?e:f)+40>>2]|0,a[B>>2]|0,a[B+4>>2]|0,17792);L2(l);a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];HX(A,e,h,o)}k=g;return}function Mp(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;t=0;l=0;while(1){if((t|0)>=(e|0))break;if(!((t|0)==(i|0)|(t|0)==(r|0)))l=(a[(a[A+(t<<2)>>2]|0)+4>>2]|0)+l|0;t=t+1|0}k=$F(l<<5)|0;t=0;u=0;while(1){if((u|0)>=(e|0))break;A:do{if(!((u|0)==(i|0)|(u|0)==(r|0))){w=A+(u<<2)|0;s=0;while(1){c=a[w>>2]|0;b=a[c+4>>2]|0;if((s|0)>=(b|0))break A;o=s+1|0;h=k+(t<<5)|0;c=(a[c>>2]|0)+(s<<4)|0;a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];c=k+(t<<5)+16|0;b=(a[a[w>>2]>>2]|0)+(((o|0)<(b|0)?o:0)<<4)|0;a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];s=o;t=t+1|0}}}while(0);u=u+1|0}if((t|0)==(l|0)){a[f>>2]=k;a[n>>2]=l;return}else vA(89719,89726,77,89741)}function Fp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;w=k;k=k+32|0;b=w+12|0;r=w;iS(r,A);a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];r=cd(A)|0;while(1){if(!r)break;n=Oo(A,r)|0;while(1){if(!n)break;kX(n);n=_o(A,n)|0}r=bd(A,r)|0}l=jk(17756,a[4581]|0)|0;r=cd(A)|0;while(1){if(!r)break;n=Oo(A,r)|0;while(1){if(!n)break;if((a[47134]|0)>1?(t=a[n+16>>2]|0,(a[t+8>>2]|0)!=0):0){u=t+168|0;f[u>>1]=(f[u>>1]|0)+1<<16>>16}else s=14;if((s|0)==14?(s=0,c=Vp(l,n)|0,(c|0)!=(n|0)):0){u=a[c+16>>2]|0;o=u+168|0;f[o>>1]=(f[o>>1]|0)+1<<16>>16;u=u+172|0;a[(a[n+16>>2]|0)+172>>2]=a[u>>2];a[u>>2]=n}n=_o(A,n)|0}r=bd(A,r)|0}pk(l)|0;if(!(W5[e&63](A,b,i)|0)){a[47138]=1;r=0}else r=1;k=w;return r|0}function Vp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0;h=k;k=k+64|0;o=h;r=a[e>>2]&3;l=a[((r|0)==3?e:e+48|0)+40>>2]|0;r=a[((r|0)==2?e:e+-48|0)+40>>2]|0;do{if(l>>>0>=r>>>0){i=e+16|0;if(l>>>0>r>>>0){i=a[i>>2]|0;u=r;r=l;c=+b[i+16>>3];s=+b[i+24>>3];n=+b[i+56>>3];f=+b[i+64>>3];break}u=a[i>>2]|0;t=+b[u+56>>3];w=+b[u+64>>3];n=+b[u+16>>3];f=+b[u+24>>3];if(!(nt)){i=f>w;if(f>2]|0;u=l;c=+b[i+56>>3];s=+b[i+64>>3];n=+b[i+16>>3];f=+b[i+24>>3]}}while(0);a[o+8>>2]=u;b[o+16>>3]=n;b[o+24>>3]=f;a[o+32>>2]=r;b[o+40>>3]=c;b[o+48>>3]=s;a[o+56>>2]=e;o=a[(W5[a[A>>2]&63](A,o,1)|0)+56>>2]|0;k=h;return o|0}function Jp(A,e){A=A|0;e=e|0;return Fp(A,21,e)|0}function Np(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0;z=k;k=k+112|0;m=z+88|0;Q=z+72|0;v=z+40|0;h=z+8|0;o=z;g=z+64|0;L=z+48|0;W=z+24|0;n=(a[47134]|0)>1&1;do{if((i|0)>5){B=qF((vh(A)|0)<<2)|0;u=(i|0)==8;w=u&1;s=cd(A)|0;d=0;while(1){if(!s)break;l=Lp(s,e,w)|0;t=(a[s+16>>2]|0)+288|0;if(!l){a[t>>2]=-1111;l=d}else{a[t>>2]=d;a[B+(d<<2)>>2]=l;l=d+1|0}s=bd(A,s)|0;d=l}if(B){l=qP(B,d)|0;if(l|0){if(u){Z=0;G=B;I=B;C=1;break}Z=Wt(B,d)|0;G=B;I=B;C=1;break}if(u){ao(0,89755,o)|0;l=0;Z=0;G=B;I=B;C=1;break}else{Y=+c[e+4>>2];b[h>>3]=+c[e>>2];b[h+8>>3]=Y;ao(0,89833,h)|0;l=0;Z=0;G=B;I=B;C=1;break}}else{l=0;Z=0;G=0;I=0;C=0}}else{l=0;Z=0;G=0;d=0;I=0;C=0}}while(0);if(0){t=a[15712]|0;if((i|0)==8&(l|0)!=0)s=89939;else s=(Z|0)==0?89925:(i|0)==10?110056:89915;a[v>>2]=s;f3(t,89956,v)|0}E=(Z|0)!=0;A:do{if(!E){if((i|0)==8&(l|0)!=0){ce(A,0);n=1}}else{t=cd(A)|0;while(1){if(!t)break A;l=Oo(A,t)|0;while(1){if(!l)break;v=(a[l+16>>2]|0)+144|0;zp(g,l,Z,1,0,0);h=g;B=a[h+4>>2]|0;a[v>>2]=a[h>>2];a[v+4>>2]=B;l=_o(A,l)|0}t=bd(A,t)|0}}}while(0);o=(n|0)==0;h=A+60|0;B=(i|0)==10;n=0;u=cd(A)|0;l=0;while(1){if(!u)break;v=u+16|0;e=Oo(A,u)|0;while(1){if(!e)break;w=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;t=e+16|0;s=a[t>>2]|0;if(!o?(a[s+8>>2]|0)!=0:0){D=(a[v>>2]|0)+16|0;g=s+16|0;a[Q>>2]=a[D>>2];a[Q+4>>2]=a[D+4>>2];a[Q+8>>2]=a[D+8>>2];a[Q+12>>2]=a[D+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];Yp(L,Q,m);w=(a[w+16>>2]|0)+16|0;g=(a[t>>2]|0)+56|0;a[Q>>2]=a[w>>2];a[Q+4>>2]=a[w+4>>2];a[Q+8>>2]=a[w+8>>2];a[Q+12>>2]=a[w+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];Yp(W,Q,m);a[Q>>2]=a[L>>2];a[Q+4>>2]=a[L+4>>2];a[Q+8>>2]=a[L+8>>2];a[Q+12>>2]=a[L+12>>2];a[m>>2]=a[W>>2];a[m+4>>2]=a[W+4>>2];a[m+8>>2]=a[W+8>>2];a[m+12>>2]=a[W+12>>2];HX(A,e,Q,m)}else y=35;A:do{if((y|0)==35){y=0;D=f[s+168>>1]|0;t=D<<16>>16;if(D<<16>>16){if((u|0)==(w|0)){if(!n){l=qF(96)|0;a[l+84>>2]=qF(((vh(A)|0)<<5)+11520|0)|0;n=l}Gp(n,e,a[(a[(a[h>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!E){rN(A,e,i,17792);break}t=r[194954]|0?1:t;s=e;w=0;while(1){if((w|0)>=(t|0))break A;if(B)Dp(A,s,G,d,1);else Xp(A,s);s=a[(a[s+16>>2]|0)+172>>2]|0;w=w+1|0}}}}while(0);e=_o(A,e)|0}u=bd(A,u)|0}if(E)zt(Z);if(n|0){L2(a[n+84>>2]|0);L2(l)}if(C){n=0;while(1){if((n|0)>=(d|0))break;L2(a[G+(n<<2)>>2]|0);n=n+1|0}L2(I)}k=z;return 0}function Xp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;b=k;k=k+96|0;n=b+64|0;f=b+48|0;i=b+40|0;l=b+80|0;r=b+32|0;t=b+16|0;c=b;s=(a[e+16>>2]|0)+144|0;w=a[s>>2]|0;s=a[s+4>>2]|0;u=r;a[u>>2]=w;a[u+4>>2]=s;u=w;a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];s=w+(s+-1<<4)|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];Gc(n,l);if(0>1){u=a[15712]|0;s=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;r=e+-48|0;w=Vh(a[((a[e>>2]&3|0)==2?e:r)+40>>2]|0)|0;a[i>>2]=s;a[i+4>>2]=w;f3(u,89981,i)|0;i=r;r=e}else{i=e+-48|0;r=e}gX(e,a[((a[r>>2]&3|0)==2?e:i)+40>>2]|0,a[l>>2]|0,a[l+4>>2]|0,17792);a[f>>2]=a[t>>2];a[f+4>>2]=a[t+4>>2];a[f+8>>2]=a[t+8>>2];a[f+12>>2]=a[t+12>>2];a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];HX(A,e,f,n);k=b;return}function Rp(A,e){A=A|0;e=e|0;var i=0;i=f[(a[A+16>>2]|0)+136>>1]&14;if(e<<24>>24)Hp(A)|0;if(i<<16>>16)Jp(A,i&65535)|0;return}function Hp(A){A=A|0;var e=0,i=0,r=0,f=0;i=pp(A)|0;e=cd(A)|0;while(1){if(!e)break;r=a[e+16>>2]|0;f=a[r+132>>2]|0;b[r+16>>3]=+b[f>>3]*72.0;b[r+24>>3]=+b[f+8>>3]*72.0;e=bd(A,e)|0}return i|0}function pp(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0,l=0.0,t=0,c=0;A:do{if((a[A+60>>2]|0)==(A|0)?(i=A+16|0,r=a[i>>2]|0,(a[(a[r+8>>2]|0)+84>>2]|0)!=0):0){if(!(+b[r+16>>3]!=0.0)?!(+b[r+24>>3]!=0.0):0)e=0;else{Up(A);e=1;r=a[i>>2]|0}t=(a[r+116>>2]&1|0)==0;if(!t){c=r+32|0;l=+b[c>>3];i=r+40|0;b[c>>3]=+b[i>>3];b[i>>3]=l}i=a[r+8>>2]|0;e:do{switch(a[i+84>>2]|0){case 2:{f=+b[i+64>>3];if(f<=0.0)break A;n=f/+b[r+32>>3];f=+b[i+72>>3]/+b[r+40>>3];if(n<1.0|f<1.0)if(n>3];if(f<=0.0)break A;n=f/+b[r+32>>3];f=+b[i+72>>3]/+b[r+40>>3];if(!(n>1.0&f>1.0))break A;f=n>3];f=+b[r+40>>3]/+b[r+32>>3];if(f1){i=cd(A)|0;while(1){if(!i)break e;e=Oo(A,i)|0;while(1){if(!e)break;if(a[(a[e+16>>2]|0)+8>>2]|0)xp(e,f,n);e=_o(A,e)|0}i=bd(A,i)|0}}}while(0);e=cd(A)|0;while(1){if(!e)break;c=a[(a[e+16>>2]|0)+132>>2]|0;b[c>>3]=+b[c>>3]*f;c=c+8|0;b[c>>3]=+b[c>>3]*n;e=bd(A,e)|0}Tp(A,f,n);e=1}else e=0}while(0);return e|0}function Up(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w+16|0;s=w;e=(a[A+16>>2]|0)+16|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];f=+b[s>>3];n=f*.013888888888888888;l=+b[s+8>>3];t=l*.013888888888888888;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;u=a[i+132>>2]|0;b[u>>3]=+b[u>>3]-n;u=u+8|0;b[u>>3]=+b[u>>3]-t;i=a[i+108>>2]|0;if(i|0?r[i+81>>0]|0:0){u=i+56|0;b[u>>3]=+b[u>>3]-f;u=i+64|0;b[u>>3]=+b[u>>3]-l}e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;if(a[(a[e+16>>2]|0)+8>>2]|0){a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];jp(e,c)}e=_o(A,e)|0}i=bd(A,i)|0}a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];Sp(A,c);k=w;return}function xp(A,e,i){A=A|0;e=+e;i=+i;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0;o=a[A>>2]&3;l=a[(a[(a[((o|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;B=(e+-1.0)*72.0;h=B*+b[l>>3];v=(i+-1.0)*72.0;d=v*+b[l+8>>3];o=a[(a[(a[((o|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;B=B*+b[o>>3];v=v*+b[o+8>>3];o=a[A+16>>2]|0;l=a[o+8>>2]|0;t=a[l+4>>2]|0;c=t+-1|0;A=0;l=a[l>>2]|0;while(1){if((A|0)>=(t|0))break;s=a[l+4>>2]|0;w=s+-1|0;u=(A|0)==(c|0);f=0;n=a[l>>2]|0;while(1){if((f|0)>=(s|0))break;do{if(f|A){k=+b[n>>3];if((f|0)==(w|0)&u){b[n>>3]=k+h;g=n+8|0;b[g>>3]=+b[g>>3]+d;break}else{b[n>>3]=k*e;g=n+8|0;b[g>>3]=+b[g>>3]*i;break}}else{b[n>>3]=+b[n>>3]+B;g=n+8|0;b[g>>3]=+b[g>>3]+v}}while(0);f=f+1|0;n=n+16|0}if(a[l+8>>2]|0){g=l+16|0;b[g>>3]=+b[g>>3]+B;g=l+24|0;b[g>>3]=+b[g>>3]+v}if(a[l+12>>2]|0){g=l+32|0;b[g>>3]=+b[g>>3]+h;g=l+40|0;b[g>>3]=+b[g>>3]+d}A=A+1|0;l=l+48|0}A=a[o+96>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]*e;g=A+64|0;b[g>>3]=+b[g>>3]*i}A=a[o+100>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]+h;g=A+64|0;b[g>>3]=+b[g>>3]+d}A=a[o+104>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]+B;g=A+64|0;b[g>>3]=+b[g>>3]+v}return}function Tp(A,e,i){A=A|0;e=+e;i=+i;var f=0,n=0,l=0;l=A+16|0;n=a[l>>2]|0;A=n+32|0;b[A>>3]=+b[A>>3]*e;A=n+40|0;b[A>>3]=+b[A>>3]*i;A=n+16|0;b[A>>3]=+b[A>>3]*e;A=n+24|0;b[A>>3]=+b[A>>3]*i;A=a[n+12>>2]|0;if((A|0)!=0?(r[A+81>>0]|0)!=0:0){f=A+56|0;b[f>>3]=+b[f>>3]*e;f=A+64|0;b[f>>3]=+b[f>>3]*i;f=1;A=n}else{f=1;A=n}while(1){if((f|0)>(a[A+180>>2]|0))break;Tp(a[(a[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=a[l>>2]|0}return}function jp(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;c=a[A+16>>2]|0;A=a[c+8>>2]|0;t=a[A+4>>2]|0;s=e+8|0;A=a[A>>2]|0;n=0;while(1){if((n|0)>=(t|0))break;l=a[A+4>>2]|0;i=a[A>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;b[i>>3]=+b[i>>3]-+b[e>>3];w=i+8|0;b[w>>3]=+b[w>>3]-+b[s>>3];i=i+16|0;f=f+1|0}if(a[A+8>>2]|0){w=A+16|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+24|0;b[w>>3]=+b[w>>3]-+b[s>>3]}if(a[A+12>>2]|0){w=A+32|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+40|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=A+48|0;n=n+1|0}A=a[c+96>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+108>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+100>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+104>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}return}function Sp(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0;c=k;k=k+16|0;t=c;n=+b[e>>3];l=A+16|0;A=a[l>>2]|0;i=A+32|0;b[i>>3]=+b[i>>3]-n;f=+b[e+8>>3];i=A+40|0;b[i>>3]=+b[i>>3]-f;i=A+16|0;b[i>>3]=+b[i>>3]-n;i=A+24|0;b[i>>3]=+b[i>>3]-f;i=a[A+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){s=i+56|0;b[s>>3]=+b[s>>3]-n;i=i+64|0;b[i>>3]=+b[i>>3]-f;i=1}else i=1;while(1){if((i|0)>(a[A+180>>2]|0))break;s=a[(a[A+184>>2]|0)+(i<<2)>>2]|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];Sp(s,t);i=i+1|0;A=a[l>>2]|0}k=c;return}function Pp(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0,l=0,t=0;l=k;k=k+16|0;i=l;xR(A);r=A+16|0;e=a[r>>2]|0;f=+b[e+16>>3]*.013888888888888888;n=+b[e+24>>3]*.013888888888888888;e=cd(A)|0;while(1){if(!e)break;t=a[(a[e+16>>2]|0)+132>>2]|0;b[t>>3]=+b[t>>3]-f;t=t+8|0;b[t>>3]=+b[t>>3]-n;e=bd(A,e)|0}t=(a[r>>2]|0)+16|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];Op(A,i);Rp(A,1);k=l;return}function Op(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0.0,t=0.0;n=k;k=k+16|0;f=n;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[(a[r+184>>2]|0)+(A<<2)>>2]|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Op(r,f);A=A+1|0}t=+b[e>>3];f=r+32|0;b[f>>3]=+b[f>>3]-t;l=+b[e+8>>3];e=r+40|0;b[e>>3]=+b[e>>3]-l;e=r+16|0;b[e>>3]=+b[e>>3]-t;e=r+24|0;b[e>>3]=+b[e>>3]-l;k=n;return}function Kp(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0;o=(i|0)>2;u=0;k=0;t=a[f+4>>2]|0;A=a[f>>2]|0;while(1){if((k|0)>=(e|0)){A=0;break}l=a[(a[n+(k<<2)>>2]|0)+16>>2]|0;s=r[l+119>>0]|0;A:do{if(!(s<<24>>24)){c=A+8|0;b[A>>3]=+c8();l=t+8|0;b[t>>3]=+c8();if(o){A=2;while(1){if((A|0)==(i|0)){t=u;A=c;break A}h=+c8();b[(a[f+(A<<2)>>2]|0)+(k<<3)>>3]=h;A=A+1|0}}else{t=u;A=c}}else{c=a[l+132>>2]|0;w=A+8|0;b[A>>3]=+b[c>>3];l=t+8|0;b[t>>3]=+b[c+8>>3];e:do{if(o){t=2;A=c+16|0;while(1){if((t|0)==(i|0))break e;b[(a[f+(t<<2)>>2]|0)+(k<<3)>>3]=+b[A>>3];t=t+1|0;A=A+8|0}}}while(0);t=(s&255)>1?1:u;A=w}}while(0);u=t;k=k+1|0;t=l}while(1){if((A|0)>=(i|0))break;gO(e,a[f+(A<<2)>>2]|0);A=A+1|0}return u|0}function _p(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0.0,w=0,u=0,k=0,o=0;i=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;u=tU(e,e,0.0)|0;k=tU(e,e,0.0)|0;A:do{if(!(a[A+8>>2]|0)){r=0;while(1){if((r|0)>=(e|0))break A;n=a[A+(r*20|0)>>2]|0;l=A+(r*20|0)+4|0;t=u+(r<<2)|0;f=1;while(1){if((f|0)>=(n|0))break;w=a[(a[l>>2]|0)+(f<<2)>>2]|0;b[(a[u+(w<<2)>>2]|0)+(r<<3)>>3]=-1.0;b[(a[t>>2]|0)+(w<<3)>>3]=-1.0;f=f+1|0}r=r+1|0}}else{r=0;while(1){if((r|0)>=(e|0))break A;n=a[A+(r*20|0)>>2]|0;l=A+(r*20|0)+4|0;t=A+(r*20|0)+8|0;w=u+(r<<2)|0;f=1;while(1){if((f|0)>=(n|0))break;o=a[(a[l>>2]|0)+(f<<2)>>2]|0;s=-1.0/+c[(a[t>>2]|0)+(f<<2)>>2];b[(a[u+(o<<2)>>2]|0)+(r<<3)>>3]=s;b[(a[w>>2]|0)+(o<<3)>>3]=s;f=f+1|0}r=r+1|0}}}while(0);A:do{if(!(cS(e,u,k)|0)){L2(i);i=0}else{f=0;l=0;w=e;while(1){if((l|0)>=(e|0))break A;t=k+(l<<2)|0;r=l;n=f;while(1){if((r|0)==(e|0))break;if((l|0)==(r|0))s=0.0;else{o=a[t>>2]|0;s=+b[(a[k+(r<<2)>>2]|0)+(r<<3)>>3]+ +b[o+(l<<3)>>3]+ +b[o+(r<<3)>>3]*-2.0}c[i+(n<<2)>>2]=s;r=r+1|0;n=n+1|0}f=f+w|0;l=l+1|0;w=w+-1|0}}}while(0);cU(u);cU(k);return i|0}function qp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+16|0;h=d;if(a[A+8>>2]|0){i=$p(A,e)|0;f=0.0;r=0;o=0;while(1){if((o|0)>=(e|0))break;r=r+o|0;u=a[A+(o*20|0)>>2]|0;t=A+(o*20|0)+4|0;s=(U(o,e)|0)-r|0;w=A+(o*20|0)+8|0;l=1;while(1){if((l|0)>=(u|0))break;n=a[(a[t>>2]|0)+(l<<2)>>2]|0;if((n|0)>=(o|0)){n=i+(s+n<<2)|0;B=+c[(a[w>>2]|0)+(l<<2)>>2];f=f+ +y(+(+c[n>>2]-B));c[n>>2]=B}l=l+1|0}o=o+1|0}if(0){e=a[15712]|0;b[h>>3]=f;f3(e,89997,h)|0}}else i=0;k=d;return i|0}function $p(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;l=s;t=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;c=qF(e<<2)|0;lS(l,e);i=0;f=0;b=e;while(1){if((i|0)>=(e|0))break;PS(i,A,e,c);r=i;n=f;while(1){if((r|0)==(e|0))break;a[t+(n<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0;n=n+1|0}i=i+1|0;f=f+b|0;b=b+-1|0}L2(c);tS(l);k=s;return t|0}function AU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0;w=k;k=k+16|0;l=w;t=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;b=qF(e<<2)|0;lS(l,e);i=0;f=0;s=e;while(1){if((i|0)>=(e|0))break;rS(i,A,e,b,l);r=i;n=f;while(1){if((r|0)==(e|0))break;c[t+(n<<2)>>2]=+(a[b+(r<<2)>>2]|0);r=r+1|0;n=n+1|0}i=i+1|0;f=f+s|0;s=s+-1|0}L2(b);tS(l);k=w;return t|0}function eU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0;d=A+8|0;i=a[d>>2]|0;r=0;f=0;while(1){if((f|0)>=(e|0))break;r=(a[A+(f*20|0)>>2]|0)+r|0;f=f+1|0}f=qF(r<<2)|0;h=qF(e<<2)|0;r=0;while(1){if((r|0)>=(e|0))break;a[h+(r<<2)>>2]=0;r=r+1|0}if(!(a[d>>2]|0)){n=0;while(1){if((n|0)>=(e|0))break;a[A+(n*20|0)+8>>2]=f;NP(A,n,h);l=A+(n*20|0)|0;t=a[l>>2]|0;b=A+(n*20|0)+4|0;s=+(t+-1|0);r=1;while(1){if((r|0)>=(t|0))break;o=a[(a[b>>2]|0)+(r<<2)>>2]|0;B=+((a[A+(o*20|0)>>2]|0)+-1|0)+s;c[f+(r<<2)>>2]=B-+((JP(A,n,o,h)|0)<<1|0);r=r+1|0}XP(A,n,h);f=f+(a[l>>2]<<2)|0;n=n+1|0}f=AU(A,e)|0}else{t=0;while(1){if((t|0)>=(e|0))break;NP(A,t,h);b=A+(t*20|0)|0;w=a[b>>2]|0;u=A+(t*20|0)+4|0;k=w+-2|0;o=A+(t*20|0)+8|0;l=1;while(1){if((l|0)>=(w|0))break;r=a[(a[u>>2]|0)+(l<<2)>>2]|0;n=k+(a[A+(r*20|0)>>2]|0)|0;B=+(n-((JP(A,t,r,h)|0)<<1)|0);s=+c[(a[o>>2]|0)+(l<<2)>>2];if(s>2]=s;l=l+1|0}XP(A,t,h);a[o>>2]=f;f=f+(a[b>>2]<<2)|0;t=t+1|0}f=$p(A,e)|0}L2(h);L2(a[d>>2]|0);a[d>>2]=0;A:do{if(i|0){r=0;while(1){if((r|0)>=(e|0))break A;a[A+(r*20|0)+8>>2]=i;i=i+(a[A+(r*20|0)>>2]<<2)|0;r=r+1|0}}}while(0);return f|0}function iU(A,e,i,r,f,l,t,s,w){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;t=t|0;s=s|0;w=w|0;var u=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0,R=0.0;N=k;k=k+80|0;J=N+56|0;V=N+48|0;Q=N+40|0;g=N+32|0;v=N+24|0;B=N+16|0;o=N+8|0;u=N;h=t&4;F=t&3;A:do{if((w|0)<0)i=0;else{if(0)tR();t=(s|0)==2;e:do{if(t){if(0)L3(93290,24,1,a[15712]|0)|0;i=eU(A,e)|0;C=14}else{switch(s|0){case 1:{i=_p(A,e)|0;if(i|0){M=i;break e}ao(0,93315,u)|0;ao(3,93364,o)|0;C=15;break e}case 3:break;default:{C=15;break e}}if(0)L3(93417,21,1,a[15712]|0)|0;i=qp(A,e)|0;C=14}}while(0);if((C|0)==14)if(!i)C=15;else M=i;do{if((C|0)==15){if(0)L3(93439,26,1,a[15712]|0)|0;if(!(a[A+8>>2]|0)){M=AU(A,e)|0;break}else{M=$p(A,e)|0;break}}}while(0);if(0){D=a[15712]|0;b[B>>3]=+cR();f3(D,93466,B)|0;L3(93478,25,1,D)|0;tR()}e:do{if((e|0)>1&(h|0)!=0)if((rU(A,e,r,l,h,F,t&1)|0)<0){g=0;v=0;i=-1;A=0;B=0;h=0;o=0;u=0;s=0;t=0}else{t=0;while(1){if((t|0)>=(l|0)){Z=0;C=35;break e}s=r+(t<<2)|0;d=1.0;i=0;while(1){if((i|0)==(e|0))break;I=+y(+ +b[(a[s>>2]|0)+(i<<3)>>3]);d=I>d?I:d;i=i+1|0}d=1.0/d;i=0;while(1){if((i|0)==(e|0)){i=0;break}D=(a[s>>2]|0)+(i<<3)|0;b[D>>3]=+b[D>>3]*d;i=i+1|0}while(1){if((i|0)==(e|0))break;I=(+c8()+-.5)*1.0e-06;D=(a[s>>2]|0)+(i<<3)|0;b[D>>3]=+b[D>>3]+I;i=i+1|0}gO(e,a[s>>2]|0);t=t+1|0}}else{Z=Kp(0,e,l,r,f)|0;C=35}}while(0);e:do{if((C|0)==35){if(0){D=a[15712]|0;b[v>>3]=+cR();f3(D,93504,v)|0}if((e|0)==1|(w|0)==0){i=0;break A}if(0){D=a[15712]|0;b[g>>3]=+cR();f3(D,93466,g)|0;L3(90019,26,1,D)|0;tR()}B=l<<2;D=qF(B)|0;v=e<<2;A=U(v,l)|0;Y=qF(A)|0;i=0;while(1){if((i|0)>=(l|0))break;s=Y+((U(i,e)|0)<<2)|0;a[D+(i<<2)>>2]=s;u=r+(i<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;c[s+(t<<2)>>2]=+b[(a[u>>2]|0)+(t<<3)>>3];t=t+1|0}i=i+1|0}i:do{if(!F){o=e+-1|0;i=0;d=0.0;u=0;while(1){if((u|0)>=(o|0))break i;h=e-u|0;s=i;t=1;while(1){i=s+1|0;if((t|0)>=(h|0))break;s=i;d=+c[M+(i<<2)>>2]+d;t=t+1|0}u=u+1|0}}else d=+(e|0)*.5*+(e+-1|0)}while(0);m=(U(e+1|0,e)|0)/2|0;L=(F|0)==2;if(L)pO(m,M);UO(m,M);W=e<<3;s=qF(W)|0;Y6(s|0,0,W|0)|0;z=e+-1|0;i=0;u=0;while(1){if((u|0)>=(z|0)){i=e;t=0;u=0;break}o=e-u|0;E=0.0;t=1;while(1){i=i+1|0;if((t|0)>=(o|0))break;I=+c[M+(i<<2)>>2];G=s+(t+u<<3)|0;b[G>>3]=+b[G>>3]-I;E=E+I;t=t+1|0}G=s+(u<<3)|0;b[G>>3]=+b[G>>3]-E;u=u+1|0}while(1){if((t|0)>=(e|0))break;c[M+(u<<2)>>2]=+b[s+(t<<3)>>3];G=i+u|0;i=i+-1|0;t=t+1|0;u=G}G=qF(B)|0;a[G>>2]=qF(A)|0;i=1;while(1){if((i|0)>=(l|0))break;a[G+(i<<2)>>2]=(a[G>>2]|0)+((U(i,e)|0)<<2);i=i+1|0}o=qF(v)|0;u=qF(v)|0;t=qF(m<<2)|0;if(0){C=a[15712]|0;b[Q>>3]=+cR();f3(C,93466,Q)|0;L3(90046,15,1,C)|0;tR()}C=(Z|0)==0;Z=a[15712]|0;i=0;h=0;I=1797693134862315708145274.0e284;while(1){if(!(h<<24>>24==0&(i|0)<(w|0)))break;Y6(s|0,0,W|0)|0;if(L){xO(m,M,t);g=0;A=0}else{g=0;A=0}while(1){if((g|0)>=(z|0)){h=e;B=0;A=0;break}v=e-g+-1|0;RO(v,0.0,u);h=0;while(1){if((h|0)>=(l|0))break;Q=D+(h<<2)|0;RO(v,+c[(a[Q>>2]|0)+(g<<2)>>2],o);FO(v,o,-1.0,(a[Q>>2]|0)+(g<<2)+4|0);pO(v,o);MO(v,o,u,u);h=h+1|0}TO(v,u);h=0;while(1){if((h|0)>=(v|0))break;B=u+(h<<2)|0;E=+c[B>>2];if(E>=3402823466385288598117041.0e14|E<0.0)c[B>>2]=0.0;h=h+1|0}h=A+1|0;A=g+1|0;i:do{if(L){E=0.0;B=0;while(1){if((B|0)>=(v|0))break i;Q=t+(h<<2)|0;X=+c[Q>>2]*+c[u+(B<<2)>>2];c[Q>>2]=X;Q=s+(A+B<<3)|0;b[Q>>3]=+b[Q>>3]-X;E=E+X;h=h+1|0;B=B+1|0}}else{E=0.0;B=0;while(1){if((B|0)>=(v|0))break i;X=+c[u+(B<<2)>>2];c[t+(h<<2)>>2]=X;Q=s+(A+B<<3)|0;b[Q>>3]=+b[Q>>3]-X;E=E+X;h=h+1|0;B=B+1|0}}}while(0);Q=s+(g<<3)|0;b[Q>>3]=+b[Q>>3]-E;g=A;A=h}while(1){if((B|0)>=(e|0)){h=0;break}c[t+(A<<2)>>2]=+b[s+(B<<3)>>3];Q=h+A|0;h=h+-1|0;B=B+1|0;A=Q}while(1){if((h|0)>=(l|0)){E=0.0;h=0;break}YO(t,e,a[D+(h<<2)>>2]|0,a[G+(h<<2)>>2]|0);h=h+1|0}while(1){if((h|0)>=(l|0))break;E=+NO(e,a[D+(h<<2)>>2]|0,a[G+(h<<2)>>2]|0)+E;h=h+1|0}E=E*2.0+d;h=0;while(1){if((h|0)>=(l|0))break;Q=D+(h<<2)|0;YO(M,e,a[Q>>2]|0,o);E=E-+NO(e,a[Q>>2]|0,o);h=h+1|0}R=I-E;X=+b[23294];h=(E=0.0?R:-R)/I=(l|0))break;v=D+(A<<2)|0;B=a[v>>2]|0;i:do{if(C){if((uS(M,B,a[G+(A<<2)>>2]|0,e,.001,e)|0)<0){g=G;v=M;i=-1;A=Y;B=D;h=G;break e}}else{JO(e,B,o);if((uS(M,o,a[G+(A<<2)>>2]|0,e,.001,e)|0)<0){g=G;v=M;i=-1;A=Y;B=D;h=G;break e}else B=0;while(1){if((B|0)>=(e|0))break i;if((n[(a[(a[f+(B<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)a[(a[v>>2]|0)+(B<<2)>>2]=a[o+(B<<2)>>2];B=B+1|0}}}while(0);A=A+1|0}if(((i|0)%5|0|0)==0&0!=0?(b[V>>3]=E,f3(Z,90371,V)|0,((i+5|0)%50|0|0)==0):0)w6(10,Z)|0;i=i+1|0;I=E}if(!0)h=0;else{X=+fU(D,M,l,e,F);R=+cR();b[J>>3]=X;a[J+8>>2]=i;b[J+16>>3]=R;f3(Z,90062,J)|0;h=0}while(1){if((h|0)>=(l|0)){g=G;v=M;A=Y;B=D;h=G;break e}A=D+(h<<2)|0;v=r+(h<<2)|0;B=0;while(1){if((B|0)>=(e|0))break;b[(a[v>>2]|0)+(B<<3)>>3]=+c[(a[A>>2]|0)+(B<<2)>>2];B=B+1|0}h=h+1|0}}}while(0);L2(A);L2(B);L2(v);if(g|0){L2(a[g>>2]|0);L2(h)}L2(o);L2(u);L2(s);L2(t)}}while(0);k=N;return i|0}function rU(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var s=0,w=0,u=0,o=0.0,h=0,d=0,B=0.0,v=0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+32|0;u=p+24|0;H=p+8|0;D=p+4|0;X=p;N=(e|0)<50?e:50;R=$F(N<<2)|0;Y=e<<3;w=$F(U(Y,N)|0)|0;s=0;while(1){if((s|0)>=(N|0))break;a[R+(s<<2)>>2]=w+((U(s,e)|0)<<3);s=s+1|0}W=N<<1;W=(W|0)>50?W:50;W=(W|0)>(e|0)?e:W;a[u>>2]=0;fP(A,e,W,u,t);aP(a[u>>2]|0,e,W);$O(a[u>>2]|0,W,e,R,N);L2(a[a[u>>2]>>2]|0);L2(a[u>>2]|0);W=e<<2;J=$F(W)|0;s=0;while(1){if((s|0)>=(e|0))break;a[J+(s<<2)>>2]=-1;s=s+1|0}lS(H,e);F=a[A+8>>2]|0;M=(t|0)!=0;if(M)xP(A,e);m=$F(W)|0;V=$F(160)|0;w=$F(e*160|0)|0;L=$F(160)|0;s=0;while(1){if((s|0)==40)break;a[L+(s<<2)>>2]=w+((U(s,e)|0)<<2);s=s+1|0}s=(a8()|0)%(e|0)|0;a[J+(s<<2)>>2]=0;a[V>>2]=s;w=a[L>>2]|0;if(M){pS(s,A,e,w);w=0;u=0}else{rS(s,A,e,w,H);w=0;u=0}while(1){if((u|0)>=(e|0)){d=1;break}z=a[(a[L>>2]|0)+(u<<2)>>2]|0;a[m+(u<<2)>>2]=z;Q=(z|0)>(w|0);s=Q?u:s;w=Q?z:w;u=u+1|0}while(1){if((d|0)==40){s=0;break}a[J+(s<<2)>>2]=d;a[V+(d<<2)>>2]=s;v=L+(d<<2)|0;w=a[v>>2]|0;if(M){pS(s,A,e,w);h=0;w=0}else{rS(s,A,e,w,H);h=0;w=0}while(1){if((h|0)>=(e|0))break;u=m+(h<<2)|0;z=a[u>>2]|0;t=a[(a[v>>2]|0)+(h<<2)>>2]|0;t=(z|0)<(t|0)?z:t;a[u>>2]=t;if((t|0)<=(w|0)){if((t|0)==(w|0)?((a8()|0)%(h+1|0)|0|0)==0:0){w=a[u>>2]|0;s=h}}else{w=t;s=h}h=h+1|0}d=d+1|0}while(1){if((s|0)>=(e|0))break;a[m+(s<<2)>>2]=-1;s=s+1|0}C=$F(W)|0;z=$F(e<<4)|0;I=e+-1|0;Z=I<<2;Q=0;u=0;t=0;w=0;G=0;while(1){if((G|0)>=(e|0))break;s=J+(G<<2)|0;A:do{if((a[s>>2]|0)>-1){v=z+(G<<4)+4|0;a[v>>2]=$F(Z)|0;E=$F(Z)|0;a[z+(G<<4)+8>>2]=E;a[z+(G<<4)>>2]=I;r[z+(G<<4)+12>>0]=1;d=L+(a[s>>2]<<2)|0;s=0;while(1){if((s|0)==(G|0)){h=G;break}a[(a[v>>2]|0)+(s<<2)>>2]=s;a[E+(s<<2)>>2]=a[(a[d>>2]|0)+(s<<2)>>2];s=s+1|0}while(1){s=h+1|0;if((h|0)==(I|0)){s=I;break A}a[(a[v>>2]|0)+(h<<2)>>2]=s;a[E+(h<<2)>>2]=a[(a[d>>2]|0)+(s<<2)>>2];h=s}}else{if((w|0)<40){t=$F(W)|0;u=$F(W)|0;w=e;s=1}else s=0;r[z+(G<<4)+12>>0]=s;a[z+(G<<4)+4>>2]=t;a[z+(G<<4)+8>>2]=u;a[z+(G<<4)>>2]=40;s=0;while(1){if((s|0)==40)break;a[t+(s<<2)>>2]=a[V+(s<<2)>>2];a[u+(s<<2)>>2]=a[(a[L+(s<<2)>>2]|0)+(G<<2)>>2];s=s+1|0}u=u+160|0;t=t+160|0;w=w+-40|0;s=40}}while(0);Q=s+Q|0;G=G+1|0}L2(m);L2(C);if(L|0){L2(a[L>>2]|0);L2(L)}L=$F(e*20|0)|0;h=Q+e<<2;d=$F(h)|0;E=(l|0)==2;h=$F(h)|0;v=0;while(1){if((v|0)>=(e|0))break;a[L+(v*20|0)+4>>2]=d;a[L+(v*20|0)+8>>2]=h;s=(a[z+(v<<4)>>2]|0)+1|0;C=L+(v*20|0)|0;a[C>>2]=s;u=(a[z+(v<<4)+8>>2]|0)+-4|0;t=z+(v<<4)+4|0;A:do{if(E){o=0.0;w=1;while(1){if((w|0)>=(s|0))break A;a[d+(w<<2)>>2]=a[(a[t>>2]|0)+(w+-1<<2)>>2];g=+(a[u+(w<<2)>>2]|0);g=-1.0/(g*g);c[h+(w<<2)>>2]=g;o=o-g;w=w+1|0;s=a[C>>2]|0}}else{o=0.0;w=1;while(1){if((w|0)>=(s|0))break A;a[d+(w<<2)>>2]=a[(a[t>>2]|0)+(w+-1<<2)>>2];g=-1.0/+(a[u+(w<<2)>>2]|0);c[h+(w<<2)>>2]=g;o=o-g;w=w+1|0;s=a[C>>2]|0}}}while(0);a[d>>2]=v;c[h>>2]=o;W=a[C>>2]|0;h=h+(W<<2)|0;d=d+(W<<2)|0;v=v+1|0}m=$F(f<<2)|0;a[m>>2]=$F(U(f<<3,N)|0)|0;s=1;while(1){if((s|0)>=(f|0))break;a[m+(s<<2)>>2]=(a[m>>2]|0)+((U(s,N)|0)<<3);s=s+1|0}A:do{if(n){s=0;while(1){if((s|0)>=(f|0))break;u=m+(s<<2)|0;w=0;while(1){if((w|0)>=(N|0))break;b[(a[u>>2]|0)+(w<<3)>>3]=0.0;w=w+1|0}s=s+1|0}if((f|0)!=2){s=0;while(1){if((s|0)>=(f|0)){s=0;break A}b[(a[m+(s<<2)>>2]|0)+(s<<3)>>3]=1.0;s=s+1|0}}b[a[m>>2]>>3]=1.0;s=m+4|0;if(!((AK(R,N,e,a[s>>2]|0)|0)<<24>>24)){w=a[s>>2]|0;s=0;while(1){if((s|0)>=(N|0))break;b[w+(s<<3)>>3]=0.0;s=s+1|0}b[w+8>>3]=1.0;s=0}else s=0}else{w=0;while(1){if((w|0)>=(f|0)){s=0;break A}u=m+(w<<2)|0;s=0;while(1){if((s|0)>=(N|0))break;g=+(a8()|0)*4.656612875245797e-10;b[(a[u>>2]|0)+(s<<3)>>3]=g;s=s+1|0}w=w+1|0}}}while(0);while(1){if((s|0)>=(f|0))break;yO(R,e,N,a[m+(s<<2)>>2]|0,a[i+(s<<2)>>2]|0);s=s+1|0}a[D>>2]=0;a[X>>2]=0;vO(L,R,e,N,D);dO(R,a[D>>2]|0,N,e,N,X);L2(a[a[D>>2]>>2]|0);L2(a[D>>2]|0);G=$F(Y)|0;Q=$F(N<<3)|0;s=0;w=0;o=+aU(i,z,f,e,l);A:while(1){if((w|0)<50&s<<24>>24==0)I=0;else break;while(1){if((I|0)>=(f|0))break;Z=i+(I<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;h=G+(u<<3)|0;b[h>>3]=0.0;d=(a[z+(u<<4)+8>>2]|0)+-4|0;v=a[L+(u*20|0)+4>>2]|0;E=a[L+(u*20|0)+8>>2]|0;C=L+(u*20|0)|0;B=0.0;t=1;while(1){if((t|0)>=(a[C>>2]|0))break;s=a[v+(t<<2)>>2]|0;g=+jP(i,f,u,s);if(g>1.0e-30){g=-(+c[E+(t<<2)>>2]*+(a[d+(t<<2)>>2]|0))/g;b[h>>3]=g*+b[(a[Z>>2]|0)+(s<<3)>>3]+ +b[h>>3];B=B-g}t=t+1|0}b[h>>3]=+b[h>>3]+ +b[(a[Z>>2]|0)+(u<<3)>>3]*B;u=u+1|0}hO(R,N,e,G,Q);s=m+(I<<2)|0;if(wS(a[X>>2]|0,a[s>>2]|0,Q,N,.001,N,0)|0){w=-1;break A}yO(R,e,N,a[s>>2]|0,a[Z>>2]|0);I=I+1|0}if(!(w&1)){g=+aU(i,z,f,e,l);o=+y(+(g-o))/(g+1.0e-10);s=o<+b[23294]&1;o=g}else s=0;w=w+1|0}L2(Q);L2(G);if(M){TP(A,e,F);s=0}else s=0;while(1){if((s|0)>=(e|0))break;if(r[z+(s<<4)+12>>0]|0){L2(a[z+(s<<4)+4>>2]|0);L2(a[z+(s<<4)+8>>2]|0)}s=s+1|0}L2(z);L2(a[L+4>>2]|0);L2(a[L+8>>2]|0);L2(L);L2(J);L2(V);L2(a[m>>2]|0);L2(m);s=a[X>>2]|0;if(s|0){L2(a[s>>2]|0);L2(a[X>>2]|0)}L2(a[R>>2]|0);L2(R);tS(H);k=p;return w|0}function fU(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,b=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0;h=r+-1|0;k=(f|0)==2;n=0.0;f=0;w=0;while(1){if((w|0)>=(h|0))break;o=r-w|0;u=1;while(1){f=f+1|0;if((u|0)>=(o|0))break;b=u+w|0;l=0.0;t=0;while(1){if((t|0)>=(i|0))break;d=a[A+(t<<2)>>2]|0;s=+c[d+(w<<2)>>2]-+c[d+(b<<2)>>2];l=l+s*s;t=t+1|0}l=+z(+l);s=+c[e+(f<<2)>>2];if(k){l=1.0/+z(+s)-l;l=l*l}else{l=1.0/s-l;l=l*l}u=u+1|0;n=l*s+n}w=w+1|0}return+n}function aU(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;A:do{if((f|0)==2){n=0.0;s=0;while(1){if((s|0)>=(r|0))break A;u=a[e+(s<<4)>>2]|0;k=e+(s<<4)+4|0;w=e+(s<<4)+8|0;c=0;while(1){if((c|0)>=(u|0))break;t=a[(a[k>>2]|0)+(c<<2)>>2]|0;if((t|0)>(s|0)){l=0.0;f=0;while(1){if((f|0)>=(i|0))break;h=a[A+(f<<2)>>2]|0;o=+b[h+(s<<3)>>3]-+b[h+(t<<3)>>3];l=o*o+l;f=f+1|0}l=+z(+l);o=+(a[(a[w>>2]|0)+(c<<2)>>2]|0);l=o-l;n=l*l/(o*o)+n}c=c+1|0}s=s+1|0}}else{s=0;n=0.0;while(1){if((s|0)>=(r|0))break A;w=a[e+(s<<4)>>2]|0;u=e+(s<<4)+4|0;k=e+(s<<4)+8|0;c=0;while(1){if((c|0)>=(w|0))break;t=a[(a[u>>2]|0)+(c<<2)>>2]|0;if((t|0)>(s|0)){l=0.0;f=0;while(1){if((f|0)>=(i|0))break;h=a[A+(f<<2)>>2]|0;o=+b[h+(s<<3)>>3]-+b[h+(t<<3)>>3];l=o*o+l;f=f+1|0}l=+z(+l);o=+(a[(a[k>>2]|0)+(c<<2)>>2]|0);l=o-l;n=l*l/o+n}c=c+1|0}s=s+1|0}}}while(0);return+n}function nU(A){A=+A;return+(+z(+A)*A)}function lU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0;n=a[47137]|0;r=0.0;f=0;while(1){if((f|0)>=(n|0))break;l=+b[A+(f<<3)>>3]-+b[e+(f<<3)>>3];b[i+(f<<3)>>3]=l;r=l*l+r;f=f+1|0}return+ +z(+r)}function tU(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;l=qF(A<<2)|0;f=0;n=qF(U(A<<3,e)|0)|0;while(1){if((f|0)>=(A|0))break;a[l+(f<<2)>>2]=n;r=0;while(1){if((r|0)>=(e|0))break;b[n+(r<<3)>>3]=i;r=r+1|0}f=f+1|0;n=n+(e<<3)|0}return l|0}function cU(A){A=A|0;if(A|0){L2(a[A>>2]|0);L2(A)}return}function bU(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+16|0;w=vh(A)|0;s=gh(A)|0;c=Yo(A,2,92493,0)|0;A:do{if(!e){b[23294]=+(w|0)*.0001;YF(A,108886,186352);n=po(a[A+60>>2]|0,90100)|0;if(!n)i=.99;else i=+$3(n);b[23296]=i;n=qF((w<<2)+4|0)|0;t=A+16|0;a[(a[t>>2]|0)+152>>2]=n;n=0;i=0.0;l=cd(A)|0;while(1){if(!l)break A;a[(a[(a[t>>2]|0)+152>>2]|0)+(n<<2)>>2]=l;o=a[l+16>>2]|0;a[o+120>>2]=n;a[o+124>>2]=-1;f=+uU(A,l,c)+i;n=n+1|0;i=f;l=bd(A,l)|0}}else{b[23294]=.0001;YF(A,108886,186352);n=0;i=0.0;l=cd(A)|0;while(1){if(!l)break A;a[(a[l+16>>2]|0)+120>>2]=n;f=+uU(A,l,c)+i;n=n+1|0;i=f;l=bd(A,l)|0}}}while(0);n=po(A,90108)|0;if((n|0)!=0?(r[n>>0]|0)!=0:0){i=+b[23294];f=+$3(n);if(!(i>f))i=f}else i=i/+(((s|0)>1?s:1)|0)*+z(+ +(w|0))+1.0;b[23295]=i;if(!(a[47134]|e)){e=tU(w,w,i)|0;o=A+16|0;a[(a[o>>2]|0)+160>>2]=e;e=tU(w,w,1.0)|0;a[(a[o>>2]|0)+164>>2]=e;e=tU(w,a[47137]|0,1.0)|0;a[(a[o>>2]|0)+168>>2]=e;e=kU(w,w,a[47137]|0)|0;a[(a[o>>2]|0)+172>>2]=e}k=u;return w|0}function sU(A,e,i){A|0;e|0;i|0;var r=0,f=0,n=0,l=0,t=0,c=0;0;0;Ah(A,e)|0;A:while(1){if(!c)break;a[c>>2]&3;a[((l|0)==2?c:c+-48|0)+40>>2]|0;a[((l|0)==3?c:c+48|0)+40>>2]|0;do{if((n|0)!=(l|0)){(l|0)==(e|0);if((r|0)!=1){t?n:l;a[i>>2]=f;r+1|0;break}if(!((n|0)==(f|0)&t)?!((n|0)==(e|0)&(l|0)==(f|0)):0){2;break A}else 1}}while(0);eh(A,c,e)|0}return r|0}function wU(A,e,i){A|0;e|0;i|0;var r=0,f=0,n=0,l=0;k;k=k+16|0;l;A+60|0;A:while(1){e:while(1){if(!e)break A;switch(sU(A,e,f)|0){case 0:{5;break e}case 1:{8;break e}default:0}}if((r|0)==5){if((i|0)==(e|0))bd(A,i)|0;Cd(a[n>>2]|0,e)|0;0;continue}else if((r|0)==8){if((i|0)==(e|0))bd(A,i)|0;Cd(a[n>>2]|0,e)|0;a[f>>2]|0;continue}}k=l;return i|0}function uU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0;c=k;k=k+32|0;l=c+8|0;n=c;e=Oo(A,e)|0;r=0.0;while(1){if(!e)break;switch(oU(e,i,n)|0){case 0:{f=+b[n>>3];break}case 2:{a[l>>2]=Vh(A)|0;b[l+8>>3]=1.0;ao(3,90120,l)|0;t=6;break}default:t=6}if((t|0)==6){t=0;b[n>>3]=1.0;f=1.0}b[(a[e+16>>2]|0)+136>>3]=f;e=_o(A,e)|0;r=f+r}k=c;return+r}function kU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0;t=qF((A<<2)+4|0)|0;c=(e<<2)+4|0;s=i<<3;n=0;while(1){if((n|0)>=(A|0))break;l=t+(n<<2)|0;a[l>>2]=qF(c)|0;f=0;while(1){if((f|0)>=(e|0))break;r=qF(s)|0;a[(a[l>>2]|0)+(f<<2)>>2]=r;r=0;while(1){if((r|0)>=(i|0))break;b[(a[(a[l>>2]|0)+(f<<2)>>2]|0)+(r<<3)>>3]=0.0;r=r+1|0}f=f+1|0}a[(a[l>>2]|0)+(f<<2)>>2]=0;n=n+1|0}a[t+(n<<2)>>2]=0;return t|0}function oU(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;do{if((e|0)!=0?(f=Uo(A,e)|0,(r[f>>0]|0)!=0):0){a[l>>2]=i;if(((J3(f,101209,l)|0)>=1?(n=+b[i>>3],!(n<0.0)):0)?n!=0.0|(a[47134]|0)!=0:0){A=0;break}a[t>>2]=f;ao(0,90147,t)|0;A=2}else A=1}while(0);k=c;return A|0}function hU(A){A=A|0;return bU(A,0)|0}function dU(A){A=A|0;A=A+16|0;L2(a[(a[A>>2]|0)+152>>2]|0);if(!(a[47134]|0)){cU(a[(a[A>>2]|0)+160>>2]|0);cU(a[(a[A>>2]|0)+164>>2]|0);cU(a[(a[A>>2]|0)+168>>2]|0);BU(a[(a[A>>2]|0)+172>>2]|0);a[(a[A>>2]|0)+172>>2]=0}return}function BU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(A|0){f=0;while(1){n=A+(f<<2)|0;e=a[n>>2]|0;if(!e)break;else r=0;while(1){i=a[e+(r<<2)>>2]|0;if(!i)break;L2(i);r=r+1|0;e=a[n>>2]|0}L2(e);f=f+1|0}L2(A)}return}function vU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+(e|0);e=A+16|0;while(1){if((i|0)>=(a[47137]|0))break;f=+c8()*r;b[(a[(a[e>>2]|0)+132>>2]|0)+(i<<3)>>3]=f;i=i+1|0}return}function gU(A,e){A=A|0;e=e|0;vU(A,e,2);return}function EU(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;r=+(e|0);f=+c8()*r;i=A+16|0;b[a[(a[i>>2]|0)+132>>2]>>3]=f;r=+c8()*r;b[(a[(a[i>>2]|0)+132>>2]|0)+8>>3]=r;if((a[47137]|0)>2)gU(A,e);return}function CU(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if(0)L3(90165,26,1,a[15712]|0)|0;e=ip(A,e,2)|0;A:do{if((e|0)!=1){if(!(a[46797]|e)){ao(0,90192,i)|0;a[46797]=1}i=A+16|0;e=0;while(1){A=a[(a[(a[i>>2]|0)+152>>2]|0)+(e<<2)>>2]|0;if(!A)break A;if(!(r[(a[A+16>>2]|0)+119>>0]|0))EU(A,1);e=e+1|0}}}while(0);k=f;return}function IU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+96|0;o=h+80|0;w=h;if(0){L3(90241,25,1,a[15712]|0)|0;tR()}u=A+16|0;f=a[u>>2]|0;c=a[f+164>>2]|0;f=a[f+160>>2]|0;s=0;while(1){if((s|0)>=(e|0))break;l=f+(s<<2)|0;t=c+(s<<2)|0;r=0;while(1){if((r|0)==(s|0))break;n=+b[(a[l>>2]|0)+(r<<3)>>3];n=1.0/(n*n);i=a[(a[u>>2]|0)+152>>2]|0;i=th(A,a[i+(s<<2)>>2]|0,a[i+(r<<2)>>2]|0,0,0)|0;if(i)n=+b[(a[i+16>>2]|0)+128>>3]*n;b[(a[c+(r<<2)>>2]|0)+(s<<3)>>3]=n;b[(a[t>>2]|0)+(r<<3)>>3]=n;r=r+1|0}s=s+1|0}A=a[47137]|0;r=0;while(1){if((r|0)<(e|0))i=0;else break;while(1){if((i|0)>=(A|0))break;b[(a[(a[(a[u>>2]|0)+168>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=0.0;i=i+1|0}r=r+1|0}l=0;while(1){i=a[(a[(a[u>>2]|0)+152>>2]|0)+(l<<2)>>2]|0;if(!i)break;A=i+16|0;i=0;while(1){if((i|0)>=(e|0))break;A:do{if((l|0)!=(i|0)){n=+lU(a[(a[A>>2]|0)+132>>2]|0,a[(a[(a[(a[(a[u>>2]|0)+152>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+132>>2]|0,w);f=a[47137]|0;n=1.0/n;r=0;while(1){if((r|0)>=(f|0))break A;s=a[u>>2]|0;d=+b[w+(r<<3)>>3];d=(d-+b[(a[(a[s+160>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3]*d*n)*+b[(a[(a[s+164>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3];b[(a[(a[(a[s+172>>2]|0)+(l<<2)>>2]|0)+(i<<2)>>2]|0)+(r<<3)>>3]=d;s=(a[(a[s+168>>2]|0)+(l<<2)>>2]|0)+(r<<3)|0;b[s>>3]=+b[s>>3]+d;r=r+1|0}}}while(0);i=i+1|0}l=l+1|0}if(0){u=a[15712]|0;b[o>>3]=+cR();f3(u,90267,o)|0}k=h;return}function ZU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0;l=k;k=k+32|0;n=l+24|0;f=l+8|0;r=l;t=+b[23294];b[23216]=t*t;while(1){i=GU(A,e)|0;if(!i)break;QU(A,e,i)}if(!0)e=A+16|0;else{i=a[15712]|0;b[r>>3]=+mU(A,e);f3(i,90277,r)|0;e=A+16|0;c=a[(a[e>>2]|0)+156>>2]|0;r=(c|0)==(a[47136]|0)?90291:195059;t=+cR();a[f>>2]=c;a[f+4>>2]=r;b[f+8>>3]=t;f3(i,90293,f)|0}e=a[(a[e>>2]|0)+156>>2]|0;if((e|0)==(a[47136]|0)){c=Vh(A)|0;a[n>>2]=e;a[n+4>>2]=c;ao(0,90320,n)|0}k=l;return}function GU(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+16|0;h=d;u=(a[46799]|0)+1|0;a[46799]=u;A=a[A+16>>2]|0;if((a[A+156>>2]|0)<(a[47136]|0)){s=a[47137]|0;w=A+152|0;c=A+168|0;A=0;i=0.0;t=0;while(1){if((t|0)>=(e|0))break;f=a[(a[w>>2]|0)+(t<<2)>>2]|0;if((n[(a[f+16>>2]|0)+119>>0]|0)<=1){l=0.0;r=0;while(1){if((r|0)>=(s|0))break;B=+b[(a[(a[c>>2]|0)+(t<<2)>>2]|0)+(r<<3)>>3];l=B*B+l;r=r+1|0}if(l>i){A=f;i=l}}t=t+1|0}if(!(i<+b[23216])){if(0!=0&((u|0)%100|0|0)==0?(o=a[15712]|0,b[h>>3]=+z(+i),f3(o,90371,h)|0,((a[46799]|0)%1e3|0|0)==0):0)w6(10,o)|0}else A=0}else A=0;k=d;return A|0}function QU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;c=i+16|0;s=a[(a[c>>2]|0)+120>>2]|0;f=a[46798]|0;if(!f){n=a[47137]|0;n=$F(U(n<<3,n)|0)|0}else{n=a[47137]|0;n=eV(f,U(n<<3,n)|0)|0}a[46798]=n;LU(A,e,s,n);l=a[47137]|0;t=A+16|0;f=0;while(1){if((f|0)>=(l|0))break;b[185736+(f<<3)>>3]=-+b[(a[(a[(a[t>>2]|0)+168>>2]|0)+(s<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}VK(n,185816,185736,l);f=0;while(1){if((f|0)>=(a[47137]|0))break;r=+b[23296];r=(1.0-r)*2.0*+c8()+r;l=185816+(f<<3)|0;r=r*+b[l>>3];b[l>>3]=r;l=(a[(a[c>>2]|0)+132>>2]|0)+(f<<3)|0;b[l>>3]=+b[l>>3]+r;f=f+1|0}c=(a[t>>2]|0)+156|0;a[c>>2]=(a[c>>2]|0)+1;WU(A,e,s);if(MR()|0){n=a[47137]|0;r=0.0;f=0;while(1){if((f|0)>=(n|0))break;r=+y(+ +b[185816+(f<<3)>>3])+r;f=f+1|0}r=+z(+r);s=a[15712]|0;a[w>>2]=Vh(i)|0;b[w+8>>3]=r;f3(s,90362,w)|0}k=u;return}function mU(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0.0;h=e+-1|0;u=A+16|0;k=a[47137]|0;n=0;i=0.0;A:while(1){if((n|0)>=(h|0))break;w=a[u>>2]|0;o=a[w+152>>2]|0;t=n+1|0;c=(a[o+(n<<2)>>2]|0)+16|0;s=w+164|0;w=w+160|0;l=t;while(1){if((l|0)>=(e|0)){n=t;continue A}f=(a[o+(l<<2)>>2]|0)+16|0;A=0;r=0.0;while(1){if((A|0)>=(k|0))break;d=+b[(a[(a[c>>2]|0)+132>>2]|0)+(A<<3)>>3]-+b[(a[(a[f>>2]|0)+132>>2]|0)+(A<<3)>>3];A=A+1|0;r=d*d+r}d=+b[(a[(a[w>>2]|0)+(n<<2)>>2]|0)+(l<<3)>>3];d=((+z(+r)*-2.0+d)*d+r)*+b[(a[(a[s>>2]|0)+(n<<2)>>2]|0)+(l<<3)>>3]+i;l=l+1|0;i=d}}return+i}function LU(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+80|0;C=I;E=a[A+16>>2]|0;c=a[E+164>>2]|0;s=a[E+160>>2]|0;E=a[E+152>>2]|0;t=a[E+(i<<2)>>2]|0;n=a[47137]|0;A=0;while(1){if((A|0)>=(n|0))break;l=U(n,A)|0;f=0;while(1){if((f|0)==(n|0))break;b[r+(l+f<<3)>>3]=0.0;f=f+1|0}A=A+1|0}g=a[47137]|0;v=t+16|0;B=c+(i<<2)|0;c=s+(i<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;A:do{if((t|0)!=(i|0)){f=(a[E+(t<<2)>>2]|0)+16|0;d=0.0;A=0;while(1){if((A|0)>=(g|0))break;h=+b[(a[(a[v>>2]|0)+132>>2]|0)+(A<<3)>>3]-+b[(a[(a[f>>2]|0)+132>>2]|0)+(A<<3)>>3];b[C+(A<<3)>>3]=h;d=h*h+d;A=A+1|0}w=1.0/+nU(d);l=0;while(1){if((l|0)>=(g|0))break A;f=(a[B>>2]|0)+(t<<3)|0;n=(a[c>>2]|0)+(t<<3)|0;u=+b[C+(l<<3)>>3];A=0;while(1){o=+b[f>>3];h=+b[n>>3];if((A|0)==(l|0))break;s=r+((U(g,A)|0)+l<<3)|0;b[s>>3]=+b[s>>3]+o*w*h*u*+b[C+(A<<3)>>3];A=A+1|0}s=r+((U(g,l)|0)+l<<3)|0;b[s>>3]=(1.0-h*w*(d-u*u))*o+ +b[s>>3];l=l+1|0}}}while(0);t=t+1|0}f=a[47137]|0;l=1;while(1){if((l|0)>=(f|0))break;n=U(f,l)|0;A=0;while(1){if((A|0)==(l|0))break;b[r+(n+A<<3)>>3]=+b[r+((U(f,A)|0)+l<<3)>>3];A=A+1|0}l=l+1|0}k=I;return}function WU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;s=k;k=k+80|0;c=s;t=A+16|0;f=a[t>>2]|0;n=a[(a[f+152>>2]|0)+(i<<2)>>2]|0;r=a[47137]|0;f=f+168|0;A=0;while(1){if((A|0)>=(r|0))break;b[(a[(a[f>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3]=0.0;A=A+1|0}f=n+16|0;A=0;while(1){if((A|0)>=(e|0))break;A:do{if((A|0)!=(i|0)){l=+lU(a[(a[f>>2]|0)+132>>2]|0,a[(a[(a[(a[(a[t>>2]|0)+152>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+132>>2]|0,c);n=a[47137]|0;l=1.0/l;r=0;while(1){if((r|0)>=(n|0))break A;w=a[t>>2]|0;h=a[w+172>>2]|0;d=(a[(a[h+(i<<2)>>2]|0)+(A<<2)>>2]|0)+(r<<3)|0;u=+b[c+(r<<3)>>3];u=(u-+b[(a[(a[w+160>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3]*u*l)*+b[(a[(a[w+164>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3];b[d>>3]=u;w=a[w+168>>2]|0;B=(a[w+(i<<2)>>2]|0)+(r<<3)|0;b[B>>3]=+b[B>>3]+u;h=(a[(a[h+(A<<2)>>2]|0)+(i<<2)>>2]|0)+(r<<3)|0;u=+b[h>>3];o=-+b[d>>3];b[h>>3]=o;w=(a[w+(A<<2)>>2]|0)+(r<<3)|0;b[w>>3]=o-u+ +b[w>>3];r=r+1|0}}}while(0);A=A+1|0}k=s;return}function yU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;i=A+16|0;n=a[46800]|0;e=a[(a[i>>2]|0)+124>>2]|0;while(1){if((e|0)<=0)break;l=(e+-1|0)/2|0;t=n+(l<<2)|0;r=a[t>>2]|0;f=r+16|0;if(+b[(a[f>>2]|0)+136>>3]<=+b[(a[i>>2]|0)+136>>3])break;a[t>>2]=A;a[(a[i>>2]|0)+124>>2]=l;a[n+(e<<2)>>2]=r;a[(a[f>>2]|0)+124>>2]=e;e=l}return}function zU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;l=A+16|0;t=a[46801]|0;c=a[46800]|0;n=a[(a[l>>2]|0)+124>>2]|0;while(1){r=n<<1|1;if((r|0)>=(t|0))break;i=r+1|0;if((i|0)<(t|0)){f=a[c+(i<<2)>>2]|0;e=a[c+(r<<2)>>2]|0;if(+b[(a[f+16>>2]|0)+136>>3]<+b[(a[e+16>>2]|0)+136>>3]){r=i;e=f}else s=6}else{e=a[c+(r<<2)>>2]|0;s=6}if((s|0)==6)s=0;i=e+16|0;if(+b[(a[l>>2]|0)+136>>3]<=+b[(a[i>>2]|0)+136>>3])break;a[c+(r<<2)>>2]=A;a[(a[l>>2]|0)+124>>2]=r;a[c+(n<<2)>>2]=e;a[(a[i>>2]|0)+124>>2]=n;n=r}return}function YU(A){A=A|0;var e=0,i=0;e=(a[A+16>>2]|0)+124|0;if((a[e>>2]|0)>=0)vA(90377,90397,643,90405);i=a[46801]|0;a[46801]=i+1;a[e>>2]=i;a[(a[46800]|0)+(i<<2)>>2]=A;if((i|0)>0)yU(A);return}function DU(){var A=0,e=0,i=0,r=0;e=a[46801]|0;if(!e)A=0;else{r=a[46800]|0;A=a[r>>2]|0;i=e+-1|0;a[46801]=i;i=a[r+(i<<2)>>2]|0;a[r>>2]=i;a[(a[i+16>>2]|0)+124>>2]=0;if((e|0)>2)zU(i);a[(a[A+16>>2]|0)+124>>2]=-1}return A|0}function MU(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;a[46800]=qF((e<<2)+4|0)|0;if(0){L3(90419,28,1,a[15712]|0)|0;tR()}e=cd(A)|0;while(1){if(!e)break;FU(A,e);e=bd(A,e)|0}if(0){A=a[15712]|0;b[i>>3]=+cR();f3(A,90267,i)|0}L2(a[46800]|0);k=r;return}function FU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0,c=0;r=a[(a[A+16>>2]|0)+152>>2]|0;f=+b[23295];i=0;while(1){n=a[r+(i<<2)>>2]|0;if(!n)break;b[(a[n+16>>2]|0)+136>>3]=f;i=i+1|0}a[46802]=e;c=a[e+16>>2]|0;b[c+136>>3]=0.0;a[c+128>>2]=0;YU(e);A:while(1){c=DU()|0;if(!c)break;i=a[46802]|0;t=c+16|0;if((c|0)!=(i|0))VU(A,i,c,+b[(a[t>>2]|0)+136>>3]);l=Ah(A,c)|0;while(1){if(!l)continue A;i=a[l>>2]&3;e=a[((i|0)==3?l:l+48|0)+40>>2]|0;if((e|0)==(c|0))e=a[((i|0)==2?l:l+-48|0)+40>>2]|0;i=a[t>>2]|0;f=+b[(a[l+16>>2]|0)+136>>3]+ +b[i+136>>3];r=a[e+16>>2]|0;n=r+136|0;do{if(+b[n>>3]>f){b[n>>3]=f;if((a[r+124>>2]|0)>-1){yU(e);break}else{a[r+128>>2]=(a[i+128>>2]|0)+1;YU(e);break}}}while(0);l=eh(A,l,c)|0}}return}function VU(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;e=a[(a[e+16>>2]|0)+120>>2]|0;i=a[(a[i+16>>2]|0)+120>>2]|0;A=a[(a[A+16>>2]|0)+160>>2]|0;b[(a[A+(i<<2)>>2]|0)+(e<<3)>>3]=r;b[(a[A+(e<<2)>>2]|0)+(i<<3)>>3]=r;return}function JU(A){A=A|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;NU(A);return}function NU(A){A=A|0;var e=0,i=0,r=0,f=0;e=vh(A)|0;r=qF(e*56|0)|0;e=qF((e<<2)+4|0)|0;f=A+16|0;a[(a[f>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;RH(e);a[(a[e+16>>2]|0)+112>>2]=r+(i*56|0);a[(a[(a[f>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;e=bd(A,e)|0;i=i+1|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;XU(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function XU(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,0.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function RU(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+80|0;s=g+32|0;l=g+24|0;n=g+16|0;t=g;v=g+72|0;o=g+40|0;if(vh(A)|0){JU(A);f=po(A,95738)|0;if(f)if(r[f>>0]|0){e=vd(A,f,0)|0;if(!e){a[n>>2]=f;ao(0,90448,n)|0;ao(3,90488,l)|0;e=0;B=1}else B=0}else{e=0;B=1}else{e=0;B=0}w=Yo(A,1,95738,0)|0;u=(w|0)!=0;f=po(A,140742)|0;if((f|0?r[f>>0]|0:0)?(c=t+8|0,a[s>>2]=t,a[s+4>>2]=c,(J3(f,105503,s)|0)==1):0)b[c>>3]=+b[t>>3];if(vh(A)|0){s=WE(A,v,0)|0;if((a[v>>2]|0)==1){n=(e|0)!=0;do{if(n)i=e;else{if(u?(i=HU(A,w)|0,i|0):0)break;i=0}}while(0);f=NK(A,i)|0;if(!((i|0)!=0|u^1))Vo(f,w,142463)|0;d=(cd(A)|0)+16|0;L2(a[(a[d>>2]|0)+112>>2]|0);a[(a[d>>2]|0)+112>>2]=0;eS(A)|0;Pp(A);e=(B|0)==0|n?e:f}else{bC(A,2,8,o)|0;a[o+12>>2]=0;c=(B|0)==0;t=0;while(1){if((t|0)>=(a[v>>2]|0))break;n=a[s+(t<<2)>>2]|0;i=(e|0)!=0;if(i?(Dd(n,e)|0)!=0:0)f=e;else d=23;do{if((d|0)==23){d=0;if(u?(h=HU(n,w)|0,h|0):0){f=h;break}f=0}}while(0);VE(n)|0;l=NK(n,f)|0;e=c|i?e:l;if(u?(f|0)==0|(f|0)==(e|0):0)Vo(l,w,142463)|0;eS(n)|0;t=t+1|0}d=(cd(A)|0)+16|0;L2(a[(a[d>>2]|0)+112>>2]|0);a[(a[d>>2]|0)+112>>2]=0;cC(a[v>>2]|0,s,A,o)|0;Pp(A)}i=0;while(1){if((i|0)>=(a[v>>2]|0))break;Cd(A,a[s+(i<<2)>>2]|0)|0;i=i+1|0}L2(s)}if(B|0)xo(A,95738,Vh(e)|0)|0;VJ(A)}k=g;return}function HU(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i){i=0;break}if((gR(Uo(i,e)|0)|0)<<24>>24)break;i=bd(A,i)|0}return i|0}function pU(A){A=A|0;var e=0,i=0;e=cd(A)|0;if(e|0){while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}UU(A)}return}function UU(A){A=A|0;L2(a[(a[A+16>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function xU(A){A=A|0;TU(A);if(!((vh(A)|0)==0?!(a[(a[A+16>>2]|0)+180>>2]|0):0)){A_(A);VJ(A)}return}function TU(A){A=A|0;a[47147]=Yo(A,1,108230,108236)|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;jU(A,0);SU(A);return}function jU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;l=(e|0)==0;if(l){KU(n);e=n}i=RB(A)|0;while(1){if(!i)break;if(!(Z1(Vh(i)|0,108006,7)|0)){Td(i,137483,280,1)|0;_U(e,i);jU(i,0)}else jU(i,e);i=HB(i)|0}if(l?(r=a[n+8>>2]|0,f=A+16|0,a[(a[f>>2]|0)+180>>2]=r,r|0):0){l=eV(a[n>>2]|0,(r<<2)+4|0)|0;a[(a[f>>2]|0)+184>>2]=l}k=t;return}function SU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=qF((vh(A)|0)<<2)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;n=A+16|0;a[(a[n>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;Td(e,137447,304,1)|0;a[(a[e+16>>2]|0)+112>>2]=f+(i<<2);a[(a[(a[n>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;PU(e);r=Oo(A,e)|0;while(1){if(!r)break;OU(r);r=_o(A,r)|0}e=bd(A,e)|0;i=i+1|0}return}function PU(A){A=A|0;xo(A,108230,108236)|0;return}function OU(A){A=A|0;Td(A,137460,304,1)|0;return}function KU(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function _U(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function qU(A){A=A|0;var e=0,i=0;e=cd(A)|0;if(e|0){L2(a[(a[e+16>>2]|0)+112>>2]|0);while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}$U(A)}return}function $U(A){A=A|0;L2(a[(a[A+16>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function Ax(A){A=A|0;var e=0,i=0,r=0;ex(A);ix(A,0);rx(A,0);fx(A,0);e=a[A+16>>2]|0;if(!(a[(a[e+8>>2]|0)+84>>2]|0)){e=f[e+136>>1]&14;if(e<<16>>16)Jp(A,e&65535)|0}else{e=cd(A)|0;while(1){if(!e)break;r=a[e+16>>2]|0;i=a[r+132>>2]|0;b[i>>3]=+b[r+16>>3]*.013888888888888888;b[i+8>>3]=+b[r+24>>3]*.013888888888888888;e=bd(A,e)|0}Rp(A,1)}VJ(A);return}function ex(A){A=A|0;var e=0,i=0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;e=cd(A)|0;while(1){if(!e)break;RH(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;Td(e,137460,176,1)|0;VR(e)|0;e=_o(A,e)|0}i=bd(A,i)|0}return}function ix(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;l=(e|0)==0;if(l){cx(n);e=n}i=RB(A)|0;while(1){if(!i)break;if(!(Z1(Vh(i)|0,108006,7)|0)){Td(i,137483,280,1)|0;JF(i);bx(e,i);ix(i,0)}else ix(i,e);i=HB(i)|0}if(l?(r=a[n+8>>2]|0,f=A+16|0,a[(a[f>>2]|0)+180>>2]=r,r|0):0){l=eV(a[n>>2]|0,(r<<2)+4|0)|0;a[(a[f>>2]|0)+184>>2]=l}k=t;return}function rx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+448|0;Y=p+400|0;z=p+384|0;H=p+344|0;R=p+304|0;X=p+248|0;W=p+192|0;I=p+152|0;Z=p+96|0;u=p+72|0;i=p+64|0;M=p+32|0;F=p;m=p+416|0;g=p+328|0;C=p+288|0;V=p+232|0;J=p+176|0;N=p+136|0;D=p+80|0;w=a[A+60>>2]|0;if(0>1){ax(e);y=a[15712]|0;a[i>>2]=Vh(A)|0;f3(y,90723,i)|0}y=A+16|0;f=e+1|0;i=1;r=0;while(1){n=a[y>>2]|0;if((i|0)>(a[n+180>>2]|0))break;L=a[(a[n+184>>2]|0)+(i<<2)>>2]|0;rx(L,f);i=i+1|0;r=(vh(L)|0)+r|0}o=(vh(A)|0)-r|0;i=a[y>>2]|0;L=(a[i+180>>2]|0)+o|0;E=(L|0)==0;if(E?(a[i+12>>2]|0)==0:0){H=i+16|0;a[H>>2]=0;a[H+4>>2]=0;a[H+8>>2]=0;a[H+12>>2]=0;b[i+40>>3]=18.0;b[i+32>>3]=18.0}else{i=m+16|0;do{if((bC(A,4,4,m)|0)>>>0>=3)if((a[i>>2]|0)==4?(a[m+28>>2]&2|0)!=0:0){r=Yo(w,0,99190,0)|0;i=Yo(w,1,99190,0)|0;if((r|0)!=0|(i|0)!=0){a[m+24>>2]=qF(L<<2)|0;break}else{a[u>>2]=Vh(A)|0;ao(0,90577,u)|0;i=0;r=0;break}}else{i=0;r=0}else{a[i>>2]=3;i=0;r=0}}while(0);G=qF(L<<5)|0;Q=qF(L<<2)|0;B=m+24|0;w=(r|0)!=0;d=0;n=1;while(1){f=a[y>>2]|0;if((n|0)>(a[f+180>>2]|0))break;f=a[(a[f+184>>2]|0)+(n<<2)>>2]|0;v=G+(d<<5)|0;h=(a[f+16>>2]|0)+16|0;a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[v+16>>2]=a[h+16>>2];a[v+20>>2]=a[h+20>>2];a[v+24>>2]=a[h+24>>2];a[v+28>>2]=a[h+28>>2];if(w&(a[B>>2]|0)!=0){v=kR(f,r,0,0)|0;a[(a[B>>2]|0)+(d<<2)>>2]=v}a[Q+(d<<2)>>2]=f;d=d+1|0;n=n+1|0}A:do{if((o|0)>0){u=M+16|0;o=M+24|0;h=(i|0)!=0;w=cd(A)|0;r=d;while(1){if(!w)break A;f=a[w+16>>2]|0;n=f+112|0;if(!(a[n>>2]|0)){a[n>>2]=A;a[M>>2]=0;a[M+4>>2]=0;a[M+8>>2]=0;a[M+12>>2]=0;b[u>>3]=+b[f+96>>3]+ +b[f+88>>3];b[o>>3]=+b[f+80>>3];v=G+(r<<5)|0;a[v>>2]=a[M>>2];a[v+4>>2]=a[M+4>>2];a[v+8>>2]=a[M+8>>2];a[v+12>>2]=a[M+12>>2];a[v+16>>2]=a[M+16>>2];a[v+20>>2]=a[M+20>>2];a[v+24>>2]=a[M+24>>2];a[v+28>>2]=a[M+28>>2];if(h&(a[B>>2]|0)!=0){v=kR(w,i,0,0)|0;a[(a[B>>2]|0)+(r<<2)>>2]=v}a[Q+(r<<2)>>2]=w;r=r+1|0}w=bd(A,w)|0}}}while(0);v=rC(L,G,m)|0;i=a[B>>2]|0;if(i|0)L2(i);nx(F,2147483647.0,2147483647.0);B=F+16|0;nx(g,-2147483647.0,-2147483647.0);a[B>>2]=a[g>>2];a[B+4>>2]=a[g+4>>2];a[B+8>>2]=a[g+8>>2];a[B+12>>2]=a[g+12>>2];n=M+16|0;w=M+8|0;u=M+24|0;o=F+8|0;h=F+24|0;d=a[15712]|0;i=0;while(1){if((i|0)>=(L|0))break;t=+(a[v+(i<<3)>>2]|0);s=+(a[v+(i<<3)+4>>2]|0);r=G+(i<<5)|0;a[M>>2]=a[r>>2];a[M+4>>2]=a[r+4>>2];a[M+8>>2]=a[r+8>>2];a[M+12>>2]=a[r+12>>2];a[M+16>>2]=a[r+16>>2];a[M+20>>2]=a[r+20>>2];a[M+24>>2]=a[r+24>>2];a[M+28>>2]=a[r+28>>2];l=+b[M>>3]+t;b[M>>3]=l;t=+b[n>>3]+t;b[n>>3]=t;c=+b[w>>3]+s;b[w>>3]=c;s=+b[u>>3]+s;b[u>>3]=s;b[F>>3]=+b[(+b[F>>3]>3];b[o>>3]=+b[(+b[o>>3]>3];b[B>>3]=+b[(+b[B>>3]>t?F:M)+16>>3];b[h>>3]=+b[(+b[h>>3]>s?F:M)+24>>3];r=a[Q+(i<<2)>>2]|0;f=r+16|0;if((i|0)<(a[(a[y>>2]|0)+180>>2]|0)){g=(a[f>>2]|0)+16|0;a[g>>2]=a[M>>2];a[g+4>>2]=a[M+4>>2];a[g+8>>2]=a[M+8>>2];a[g+12>>2]=a[M+12>>2];a[g+16>>2]=a[M+16>>2];a[g+20>>2]=a[M+20>>2];a[g+24>>2]=a[M+24>>2];a[g+28>>2]=a[M+28>>2];if(0>1){ax(e);a[Z>>2]=Vh(r)|0;b[Z+8>>3]=l;b[Z+16>>3]=c;b[Z+24>>3]=t;b[Z+32>>3]=s;f3(d,90556,Z)|0}}else{g=(a[f>>2]|0)+16|0;a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];a[z+8>>2]=a[M+8>>2];a[z+12>>2]=a[M+12>>2];a[Y>>2]=a[n>>2];a[Y+4>>2]=a[n+4>>2];a[Y+8>>2]=a[n+8>>2];a[Y+12>>2]=a[n+12>>2];lx(C,z,Y);a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];if(0>1){ax(e);g=Vh(r)|0;f=a[f>>2]|0;c=+b[f+16>>3];s=+b[f+24>>3];a[I>>2]=g;b[I+8>>3]=c;b[I+16>>3]=s;f3(d,90544,I)|0}}i=i+1|0}r=a[y>>2]|0;i=a[r+12>>2]|0;if(i|0){l=+b[i+24>>3];if(E){t=+b[i+32>>3];a[F>>2]=0;a[F+4>>2]=0;a[F+8>>2]=0;a[F+12>>2]=0;b[B>>3]=l;b[h>>3]=t;t=0.0;c=l}else{t=+b[F>>3];c=+b[B>>3]}s=l-(c-t);l=s*.5;if(s>0.0){b[F>>3]=t-l;b[B>>3]=c+l}}if((e|0)>0)l=+((a[m+8>>2]|0)>>>0)*.5;else l=0.0;t=+b[F>>3]-l;b[F>>3]=t;c=+b[B>>3]+l;b[B>>3]=c;s=-l-+b[r+56>>3]+ +b[o>>3];b[o>>3]=s;l=+b[r+88>>3]+l+ +b[h>>3];b[h>>3]=l;if(0>1){ax(e);a[W>>2]=Vh(A)|0;b[W+8>>3]=t;b[W+16>>3]=s;b[W+24>>3]=c;b[W+32>>3]=l;f3(d,90556,W)|0}i=0;while(1){if((i|0)>=(L|0))break;r=a[Q+(i<<2)>>2]|0;f=r+16|0;if((i|0)<(a[(a[y>>2]|0)+180>>2]|0)){W=(a[f>>2]|0)+16|0;a[M>>2]=a[W>>2];a[M+4>>2]=a[W+4>>2];a[M+8>>2]=a[W+8>>2];a[M+12>>2]=a[W+12>>2];a[M+16>>2]=a[W+16>>2];a[M+20>>2]=a[W+20>>2];a[M+24>>2]=a[W+24>>2];a[M+28>>2]=a[W+28>>2];a[z>>2]=a[W>>2];a[z+4>>2]=a[W+4>>2];a[z+8>>2]=a[W+8>>2];a[z+12>>2]=a[W+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(M,z,Y);a[z>>2]=a[n>>2];a[z+4>>2]=a[n+4>>2];a[z+8>>2]=a[n+8>>2];a[z+12>>2]=a[n+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(V,z,Y);a[n>>2]=a[V>>2];a[n+4>>2]=a[V+4>>2];a[n+8>>2]=a[V+8>>2];a[n+12>>2]=a[V+12>>2];W=(a[f>>2]|0)+16|0;a[W>>2]=a[M>>2];a[W+4>>2]=a[M+4>>2];a[W+8>>2]=a[M+8>>2];a[W+12>>2]=a[M+12>>2];a[W+16>>2]=a[M+16>>2];a[W+20>>2]=a[M+20>>2];a[W+24>>2]=a[M+24>>2];a[W+28>>2]=a[M+28>>2];if(0>1){ax(e);W=Vh(r)|0;l=+b[M>>3];t=+b[w>>3];c=+b[n>>3];s=+b[u>>3];a[X>>2]=W;b[X+8>>3]=l;b[X+16>>3]=t;b[X+24>>3]=c;b[X+32>>3]=s;f3(d,90556,X)|0}}else{W=(a[f>>2]|0)+16|0;a[z>>2]=a[W>>2];a[z+4>>2]=a[W+4>>2];a[z+8>>2]=a[W+8>>2];a[z+12>>2]=a[W+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(J,z,Y);a[W>>2]=a[J>>2];a[W+4>>2]=a[J+4>>2];a[W+8>>2]=a[J+8>>2];a[W+12>>2]=a[J+12>>2];if(0>1){ax(e);W=Vh(r)|0;m=a[f>>2]|0;c=+b[m+16>>3];s=+b[m+24>>3];a[R>>2]=W;b[R+8>>3]=c;b[R+16>>3]=s;f3(d,90544,R)|0}}i=i+1|0}a[z>>2]=a[B>>2];a[z+4>>2]=a[B+4>>2];a[z+8>>2]=a[B+8>>2];a[z+12>>2]=a[B+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(N,z,Y);a[B>>2]=a[N>>2];a[B+4>>2]=a[N+4>>2];a[B+8>>2]=a[N+8>>2];a[B+12>>2]=a[N+12>>2];a[z>>2]=a[F>>2];a[z+4>>2]=a[F+4>>2];a[z+8>>2]=a[F+8>>2];a[z+12>>2]=a[F+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(D,z,Y);a[F>>2]=a[D>>2];a[F+4>>2]=a[D+4>>2];a[F+8>>2]=a[D+8>>2];a[F+12>>2]=a[D+12>>2];R=(a[y>>2]|0)+16|0;a[R>>2]=a[F>>2];a[R+4>>2]=a[F+4>>2];a[R+8>>2]=a[F+8>>2];a[R+12>>2]=a[F+12>>2];a[R+16>>2]=a[F+16>>2];a[R+20>>2]=a[F+20>>2];a[R+24>>2]=a[F+24>>2];a[R+28>>2]=a[F+28>>2];if(0>1){ax(e);R=Vh(A)|0;l=+b[F>>3];t=+b[o>>3];c=+b[B>>3];s=+b[h>>3];a[H>>2]=R;b[H+8>>3]=l;b[H+16>>3]=t;b[H+24>>3]=c;b[H+32>>3]=s;f3(d,90556,H)|0}L2(G);L2(Q);L2(v)}k=p;return}function fx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0;v=k;k=k+80|0;B=v+32|0;l=v+8|0;i=v;d=A+16|0;u=a[d>>2]|0;o=+b[u+16>>3];h=+b[u+24>>3];if(0>1){ax(e);u=a[15712]|0;a[i>>2]=Vh(A)|0;f3(u,90529,i)|0}u=(e|0)!=0;A:do{if(u){i=cd(A)|0;r=a[15712]|0;while(1){if(!i)break A;f=i+16|0;n=a[f>>2]|0;if((a[n+112>>2]|0)==(A|0)?(g=n+16|0,b[g>>3]=+b[g>>3]+o,n=n+24|0,b[n>>3]=+b[n>>3]+h,0>1):0){ax(e);g=Vh(i)|0;n=a[f>>2]|0;s=+b[n+16>>3];w=+b[n+24>>3];a[l>>2]=g;b[l+8>>3]=s;b[l+16>>3]=w;f3(r,90544,l)|0}i=bd(A,i)|0}}else r=a[15712]|0}while(0);l=e+1|0;A=1;while(1){i=a[d>>2]|0;if((A|0)>(a[i+180>>2]|0))break;n=a[(a[i+184>>2]|0)+(A<<2)>>2]|0;if(u){f=n+16|0;i=a[f>>2]|0;t=+b[i+16>>3]+o;c=+b[i+24>>3]+h;s=+b[i+32>>3]+o;w=+b[i+40>>3]+h;if(0>1){ax(e);a[B>>2]=Vh(n)|0;b[B+8>>3]=t;b[B+16>>3]=c;b[B+24>>3]=s;b[B+32>>3]=w;f3(r,90556,B)|0;i=a[f>>2]|0}b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=s;b[i+40>>3]=w}fx(n,l);A=A+1|0}k=v;return}function ax(A){A=A|0;var e=0;e=a[15712]|0;while(1){if((A|0)<=0)break;m3(90574,e)|0;A=A+-1|0}return}function nx(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function lx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function tx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function cx(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function bx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function sx(A){A=A|0;var e=0;e=cd(A)|0;while(1){if(!e)break;sH(e);e=bd(A,e)|0}wx(A);return}function wx(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;A=1;while(1){r=a[e>>2]|0;i=a[r+184>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[i+(A<<2)>>2]|0;TF(a[(a[r+16>>2]|0)+12>>2]|0);wx(r);A=A+1|0}L2(i);return}function ux(A){A=A|0;var e=0,i=0,r=0;Kd(A,1,137447,304,1);KR(A)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;r=A+16|0;a[(a[r>>2]|0)+152>>2]=e;e=0;i=cd(A)|0;while(1){if(!i)break;kx(i);a[(a[(a[r>>2]|0)+152>>2]|0)+(e<<2)>>2]=i;a[(a[i+16>>2]|0)+120>>2]=e;e=e+1|0;i=bd(A,i)|0}r=Yo(A,2,92493,0)|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;ox(e,r);e=_o(A,e)|0}i=bd(A,i)|0}hx(A);return}function kx(A){A=A|0;var e=0;FR(A);e=qF((l[(a[(Id(A)|0)+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[A+16>>2]|0)+132>>2]=e;DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);return}function ox(A,e){A=A|0;e=e|0;var i=0,r=0.0;Td(A,137460,176,1)|0;r=+oR(A,a[47174]|0,1.0,0.0);i=A+16|0;b[(a[i>>2]|0)+128>>3]=r;r=+oR(A,e,+b[1371],0.0);b[(a[i>>2]|0)+136>>3]=r;VR(A)|0;return}function hx(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;d=k;k=k+32|0;h=d+16|0;o=d;s=d+24|0;w=Yo(A,1,102623,0)|0;A:do{if(w|0){u=Yo(A,1,90660,0)|0;l=A+16|0;t=(u|0)==0;c=a[15712]|0;n=0;while(1){i=a[(a[(a[l>>2]|0)+152>>2]|0)+(n<<2)>>2]|0;if(!i)break A;A=Uo(i,w)|0;do{if(r[A>>0]|0){f=i+16|0;e=a[(a[f>>2]|0)+132>>2]|0;r[s>>0]=0;a[o>>2]=e;a[o+4>>2]=e+8;a[o+8>>2]=s;if((J3(A,101749,o)|0)<=1){a[h>>2]=Vh(i)|0;a[h+4>>2]=A;f3(c,90664,h)|0;break}e:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)==2)break e;B=e+(A<<3)|0;b[B>>3]=+b[B>>3]/+b[23293];A=A+1|0}}}while(0);A=a[f>>2]|0;r[A+119>>0]=1;if((r[s>>0]|0)!=33){if(t)break;if(!((gR(Uo(i,u)|0)|0)<<24>>24))break;A=a[f>>2]|0}r[A+119>>0]=3}}while(0);n=n+1|0}}}while(0);k=d;return}function dx(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}Bx(A);return}function Bx(A){A=A|0;vx(A);A=A+16|0;L2(a[(a[A>>2]|0)+152>>2]|0);L2(a[(a[A>>2]|0)+140>>2]|0);return}function vx(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=A+16|0;f=1;while(1){r=a[n>>2]|0;e=a[r+184>>2]|0;if((f|0)>(a[r+180>>2]|0))break;r=a[e+(f<<2)>>2]|0;e=r+16|0;TF(a[(a[e>>2]|0)+12>>2]|0);i=a[(a[e>>2]|0)+140>>2]|0;if(i|0){L2(a[i>>2]|0);L2(a[(a[e>>2]|0)+140>>2]|0)}vx(r);f=f+1|0}L2(e);if((Zd(A)|0)!=(A|0))Sd(A,137483)|0;return}function gx(A,e){A=A|0;e=e|0;a[e+4>>2]=Yo(A,0,90716,0)|0;a[e+8>>2]=Yo(A,0,141116,0)|0;a[e+12>>2]=Yo(A,0,141048,0)|0;a[e>>2]=A;a[e+16>>2]=0;a[e+36>>2]=bC(A,2,4,e+20|0)|0;return}function Ex(A){A=A|0;var e=0,i=0;zH(A,2);e=qF(56)|0;i=A+16|0;a[(a[i>>2]|0)+140>>2]=e;e=(kR(A,Yo(A,0,91374,0)|0,2,2)|0)&65535;e=(e&65535)<10?e:10;f[(a[i>>2]|0)+176>>1]=e;a[47137]=e&65535;Cx(A,0,A);jx(A);ux(A);return}function Cx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;s=k;k=k+16|0;c=s;b=(e|0)==0;if(b){Ix(c);e=c}n=i+16|0;r=RB(A)|0;while(1){if(!r)break;if(!(Z1(Vh(r)|0,108006,7)|0)){Td(r,137483,280,1)|0;w=qF(56)|0;o=a[r+16>>2]|0;a[o+140>>2]=w;u=a[n>>2]|0;f[o+176>>1]=f[u+176>>1]|0;a[w+44>>2]=(a[(a[u+140>>2]|0)+44>>2]|0)+1;a[w+48>>2]=i;Zx(e,r);Cx(r,0,r)}else Cx(r,e,i);r=HB(r)|0}if(b?(l=a[c+8>>2]|0,t=A+16|0,a[(a[t>>2]|0)+180>>2]=l,l|0):0){o=eV(a[c>>2]|0,(l<<2)+4|0)|0;a[(a[t>>2]|0)+184>>2]=o}k=s;return}function Ix(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function Zx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function Gx(A){A=A|0;var e=0,i=0;e=k;k=k+64|0;i=e;gx(A,i);Qx(A,i);mx(A);Lx(A,A);Wx(A);k=e;return}function Qx(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0,E=0,C=0.0,I=0.0;B=k;k=k+64|0;d=B+48|0;i=B+40|0;u=B+56|0;w=B+52|0;s=B;if(0){h=a[15712]|0;a[i>>2]=Vh(A)|0;f3(h,90723,i)|0}i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+164>>2]=0;i=bd(A,i)|0}o=yx(A,e)|0;h=E_(o,u,w)|0;i=h;while(1){c=i+4|0;f=a[i>>2]|0;if(!f)break;Sx(f,s);i=cd(f)|0;while(1){if(!i)break;n=bd(f,i)|0;l=i+16|0;t=a[l>>2]|0;if(a[t+212>>2]|0){E=zx(i,f)|0;Qx(E,e);E=a[(a[E+16>>2]|0)+140>>2]|0;g=+b[E+24>>3];t=a[l>>2]|0;b[t+32>>3]=g;v=+b[E+32>>3];b[t+40>>3]=v;g=g*36.0;b[t+88>>3]=g;b[t+96>>3]=g;b[t+80>>3]=v*72.0;i=n;continue}if(a[(a[t+112>>2]|0)+8>>2]|0){i=n;continue}Cd(f,i)|0;i=n}if((vh(f)|0)<=1){i=c;continue}if((a[e>>2]|0)==(A|0))Zj(f)|0;nT(f,s);i=c}i=a[u>>2]|0;if((i|0)<=1)if((i|0)==1){xR(a[h>>2]|0);i=0}else i=0;else{if(!(a[w>>2]|0))f=0;else{f=qF(i)|0;r[f>>0]=1;i=a[u>>2]|0}a[e+40>>2]=f;i=pE(i,h,0,e+20|0)|0;L2(f)}Yx(o,a[u>>2]|0,h,i,A,e);L2(i);f=cd(o)|0;while(1){if(!f)break;n=a[f+16>>2]|0;i=a[n+212>>2]|0;if(!i){i=a[(a[n+112>>2]|0)+8>>2]|0;if(i|0){u=a[n+132>>2]|0;E=a[(a[i+16>>2]|0)+132>>2]|0;b[E>>3]=+b[u>>3];b[E+8>>3]=+b[u+8>>3]}}else{u=a[n+132>>2]|0;I=+b[n+32>>3];C=+b[u>>3]-I*.5;E=a[(a[i+16>>2]|0)+140>>2]|0;b[E+8>>3]=C;v=+b[n+40>>3];g=+b[u+8>>3]-v*.5;b[E+16>>3]=g;b[E+24>>3]=I+C;b[E+32>>3]=v+g}f=bd(o,f)|0}E=(a[(a[A+16>>2]|0)+140>>2]|0)+8|0;u=(a[(a[o+16>>2]|0)+140>>2]|0)+8|0;a[E>>2]=a[u>>2];a[E+4>>2]=a[u+4>>2];a[E+8>>2]=a[u+8>>2];a[E+12>>2]=a[u+12>>2];a[E+16>>2]=a[u+16>>2];a[E+20>>2]=a[u+20>>2];a[E+24>>2]=a[u+24>>2];a[E+28>>2]=a[u+28>>2];Dx(o,h);L2(h);if(0){E=a[15712]|0;a[d>>2]=Vh(A)|0;f3(E,90734,d)|0}k=B;return}function mx(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;if(r[i+118>>0]|0){c=a[(a[(a[i+212>>2]|0)+16>>2]|0)+140>>2]|0;t=+b[c+24>>3]-+b[c+8>>3];l=+b[c+32>>3]-+b[c+16>>3];n=t*36.0;f=l*36.0;c=a[i+132>>2]|0;b[c>>3]=t*.5;b[c+8>>3]=l*.5;b[i+32>>3]=t;b[i+40>>3]=l;b[i+96>>3]=n;b[i+88>>3]=n;b[i+80>>3]=l*72.0;i=a[(a[i+12>>2]|0)+44>>2]|0;b[i>>3]=n;b[i+8>>3]=f;l=-n;b[i+16>>3]=l;b[i+24>>3]=f;b[i+32>>3]=l;f=-f;b[i+40>>3]=f;b[i+48>>3]=n;b[i+56>>3]=f}e=bd(A,e)|0}return}function Lx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0,t=0,c=0.0,s=0,w=0.0,u=0,k=0.0,o=0;l=A+16|0;t=a[(a[l>>2]|0)+140>>2]|0;f=+b[t+8>>3];n=+b[t+16>>3];t=(A|0)!=(e|0);A:do{if(t){i=cd(A)|0;while(1){if(!i){A=1;break A}r=a[i+16>>2]|0;if((a[r+212>>2]|0)==(A|0)){r=a[r+132>>2]|0;b[r>>3]=+b[r>>3]+f;r=r+8|0;b[r>>3]=+b[r>>3]+n}i=bd(A,i)|0}}else A=1}while(0);while(1){i=a[l>>2]|0;if((A|0)>(a[i+180>>2]|0))break;i=a[(a[i+184>>2]|0)+(A<<2)>>2]|0;if(t){r=a[(a[i+16>>2]|0)+140>>2]|0;o=r+8|0;u=r+16|0;s=r+24|0;r=r+32|0;k=+b[u>>3]+n;w=+b[s>>3]+f;c=+b[r>>3]+n;b[o>>3]=+b[o>>3]+f;b[u>>3]=k;b[s>>3]=w;b[r>>3]=c}Lx(i,e);A=A+1|0}return}function Wx(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0;e=A+16|0;A=a[e>>2]|0;i=a[A+140>>2]|0;n=+b[i+16>>3]*72.0;f=+b[i+24>>3]*72.0;r=+b[i+32>>3]*72.0;b[A+16>>3]=+b[i+8>>3]*72.0;b[A+24>>3]=n;b[A+32>>3]=f;b[A+40>>3]=r;A=1;while(1){i=a[e>>2]|0;if((A|0)>(a[i+180>>2]|0))break;Wx(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function yx(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+160|0;B=Z+24|0;v=Z+8|0;n=Z;i=Z+56|0;C=e+16|0;I=a[C>>2]|0;a[C>>2]=I+1;a[B>>2]=I;P4(i,90796,B)|0;if(0>1){I=a[15712]|0;C=Vh(A)|0;a[n>>2]=i;a[n+4>>2]=C;f3(I,90803,n)|0}r[B>>0]=r[18588]|0;r[B+1>>0]=r[18589]|0;r[B+2>>0]=r[18590]|0;r[B+3>>0]=r[18591]|0;I=kh(91156,B,0)|0;Td(I,137483,280,1)|0;E=qF(56)|0;C=I+16|0;u=a[C>>2]|0;a[u+140>>2]=E;E=A+16|0;f[u+176>>1]=f[(a[E>>2]|0)+176>>1]|0;Xx(A,I,92507);Xx(A,I,93112);Xx(A,I,91202);u=e+4|0;o=B+16|0;h=B+8|0;d=B+24|0;t=0;w=1;while(1){i=a[E>>2]|0;if((w|0)>(a[i+180>>2]|0))break;a[B>>2]=a[332];a[B+4>>2]=a[333];a[B+8>>2]=a[334];a[B+12>>2]=a[335];a[B+16>>2]=a[336];a[B+20>>2]=a[337];a[B+24>>2]=a[338];a[B+28>>2]=a[339];n=a[(a[i+184>>2]|0)+(w<<2)>>2]|0;JF(n);l=Rx(I,Vh(n)|0)|0;c=l+16|0;i=a[c>>2]|0;a[i+212>>2]=n;s=t+1|0;a[i+120>>2]=t;if(a[u>>2]|0)Hx(n,l,e,B);i=cd(n)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+164>>2]=l;i=bd(n,i)|0}i=a[c>>2]|0;if(r[i+119>>0]|0){c=a[i+132>>2]|0;b[c>>3]=(+b[o>>3]+ +b[B>>3])*.5;b[c+8>>3]=(+b[d>>3]+ +b[h>>3])*.5}t=s;w=w+1|0}c=cd(A)|0;while(1){if(!c)break;i=c+16|0;n=a[i>>2]|0;if(!(a[n+164>>2]|0)){l=n+212|0;B=a[l>>2]|0;if(B|0?(B|0)!=(a[(a[(a[E>>2]|0)+140>>2]|0)+48>>2]|0):0){g=18;break}a[l>>2]=A;if(!(r[n+118>>0]|0)){l=Rx(I,Vh(c)|0)|0;n=a[i>>2]|0;a[n+164>>2]=l;l=a[l+16>>2]|0;a[l+120>>2]=t;b[l+32>>3]=+b[n+32>>3];b[l+40>>3]=+b[n+40>>3];b[l+88>>3]=+b[n+88>>3];b[l+96>>3]=+b[n+96>>3];b[l+80>>3]=+b[n+80>>3];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];i=r[n+119>>0]|0;if(i<<24>>24){e=a[n+132>>2]|0;B=a[l+132>>2]|0;b[B>>3]=+b[e>>3];b[B+8>>3]=+b[e+8>>3];r[l+119>>0]=i}a[(a[l+112>>2]|0)+8>>2]=c;i=t+1|0}else i=t}else i=t;c=bd(A,c)|0;t=i}if((g|0)==18){e=Vh(c)|0;B=Vh(A)|0;g=Vh(a[(a[i>>2]|0)+212>>2]|0)|0;a[v>>2]=e;a[v+4>>2]=B;a[v+8>>2]=g;ao(1,90826,v)|0;fe(187212,1)}s=cd(A)|0;while(1){if(!s)break;w=a[(a[s+16>>2]|0)+164>>2]|0;u=w+16|0;l=Oo(A,s)|0;while(1){if(!l)break;i=a[(a[(a[((a[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((i|0)!=(w|0)){if(i>>>0>w>>>0)c=th(I,w,i,0,1)|0;else c=th(I,i,w,0,1)|0;Td(c,137460,176,1)|0;n=a[l+16>>2]|0;g=a[c+16>>2]|0;b[g+136>>3]=+b[n+136>>3];b[g+128>>3]=+b[n+128>>3];i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=(a[n>>2]|0)+1;n=a[(a[u>>2]|0)+112>>2]|0;v=n+4|0;a[v>>2]=(a[v>>2]|0)+1;if(!(a[g+172>>2]|0)){a[i>>2]=(a[i>>2]|0)+1;a[n>>2]=(a[n>>2]|0)+1}px(c,l)}l=_o(A,l)|0}s=bd(A,s)|0}i=a[(a[E>>2]|0)+140>>2]|0;n=a[i>>2]|0;if(n|0){l=qF((a[i+4>>2]<<4)+16|0)|0;a[a[(a[C>>2]|0)+140>>2]>>2]=l;i=0;while(1){if(!(a[n>>2]|0))break;s=a[(a[(a[n+4>>2]|0)+16>>2]|0)+164>>2]|0;if(s){Ux(A,n);w=Rx(I,193772)|0;u=w+16|0;a[(a[u>>2]|0)+120>>2]=t;if(w>>>0>s>>>0)c=th(I,s,w,0,1)|0;else c=th(I,w,s,0,1)|0;Td(c,137460,176,1)|0;g=a[n>>2]|0;v=a[g+16>>2]|0;E=a[c+16>>2]|0;b[E+136>>3]=+b[v+136>>3];b[E+128>>3]=+b[v+128>>3];px(c,g);g=a[(a[u>>2]|0)+112>>2]|0;E=g+4|0;a[E>>2]=(a[E>>2]|0)+1;E=a[(a[s+16>>2]|0)+112>>2]|0;v=E+4|0;a[v>>2]=(a[v>>2]|0)+1;a[g>>2]=(a[g>>2]|0)+1;a[E>>2]=(a[E>>2]|0)+1;a[l+4>>2]=w;b[l+8>>3]=+b[n+8>>3];a[l>>2]=c;i=i+1|0;l=l+16|0;t=t+1|0}n=n+16|0}a[(a[(a[C>>2]|0)+140>>2]|0)+4>>2]=i}k=Z;return I|0}function zx(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=a[A+16>>2]|0;c=a[s+212>>2]|0;s=a[(a[s+112>>2]|0)+4>>2]|0;do{if(s|0){t=qF((s<<4)+16|0)|0;f=Vx(A,e)|0;n=f+8|0;e=0;r=f;while(1){if(!(a[r>>2]|0))break;l=r+24|0;if(!(a[l>>2]|0))i=+b[n>>3]+6.283185307179586;else i=+b[r+32>>3];e=Jx(A,r,t,e,i)|0;r=l}if((e|0)==(s|0)){A=a[(a[c+16>>2]|0)+140>>2]|0;a[A>>2]=t;a[A+4>>2]=s;L2(f);break}else vA(90742,90752,766,90761)}}while(0);return c|0}function Yx(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0.0;m=k;k=k+32|0;I=m+16|0;Q=m;s=a[n+8>>2]|0;t=a[n+12>>2]|0;Z=(a[n>>2]|0)==(f|0);G=(e|0)!=0;A:do{if(G){o=a[(a[i>>2]|0)+16>>2]|0;c=+b[o+16>>3];s=~~(c+(c>=0.0?.5:-.5));a[Q>>2]=s;c=+b[o+24>>3];n=~~(c+(c>=0.0?.5:-.5));g=Q+4|0;a[g>>2]=n;c=+b[o+32>>3];w=~~(c+(c>=0.0?.5:-.5));E=Q+8|0;a[E>>2]=w;c=+b[o+40>>3];o=~~(c+(c>=0.0?.5:-.5));C=Q+12|0;a[C>>2]=o;if((e|0)>1){h=a[r>>2]|0;v=a[r+4>>2]|0;s=h+s|0;a[Q>>2]=s;e=v+n|0;a[g>>2]=e;w=h+w|0;a[E>>2]=w;h=I+4|0;d=I+8|0;B=I+12|0;u=r;n=i;v=v+o|0;o=e;while(1){n=n+4|0;t=u+8|0;a[C>>2]=v;e=a[n>>2]|0;if(!e){t=0;d=o;B=v;break A}y=a[e+16>>2]|0;Y=+b[y+16>>3];l=+b[y+24>>3];c=+b[y+32>>3];D=+b[y+40>>3];y=~~(D+(D>=0.0?.5:-.5));a[B>>2]=y;e=a[t>>2]|0;z=a[u+12>>2]|0;W=e+~~(Y+(Y>=0.0?.5:-.5))|0;a[I>>2]=W;L=z+~~(l+(l>=0.0?.5:-.5))|0;a[h>>2]=L;e=e+~~(c+(c>=0.0?.5:-.5))|0;a[d>>2]=e;y=z+y|0;a[B>>2]=y;W=a[((s|0)<(W|0)?Q:I)>>2]|0;a[Q>>2]=W;L=a[((o|0)<(L|0)?Q:I)+4>>2]|0;a[g>>2]=L;e=a[((w|0)>(e|0)?Q:I)+8>>2]|0;a[E>>2]=e;u=t;v=a[((v|0)>(y|0)?Q:I)+12>>2]|0;s=W;o=L;w=e}}else{t=0;d=n;B=o}}else{a[Q>>2]=0;a[Q+4>>2]=0;w=kR(f,s,54,3)|0;a[Q+8>>2]=w;B=kR(f,t,36,3)|0;a[Q+12>>2]=B;t=1;s=0;d=0}}while(0);e=f+16|0;u=a[e>>2]|0;n=a[u+12>>2]|0;if(n){D=+b[n+24>>3];n=s-w+~~(D+(D>=0.0?.5:-.5))|0;if((n|0)>0){n=n>>>1;s=s-n|0;a[Q>>2]=s;w=w+n|0;a[Q+8>>2]=w;n=0}else n=0}else n=t;if(Z|(n|0)!=0){t=0;n=u}else{t=kR(A,a[47144]|0,8,0)|0;n=a[e>>2]|0}h=t-s|0;o=~~(+b[n+56>>3]+ +(t-d|0));a[Q>>2]=0;a[Q+4>>2]=0;u=h+t+w|0;a[Q+8>>2]=u;e=~~(+b[n+88>>3]+ +(t+o|0)+ +(B|0));a[Q+12>>2]=e;A:do{if(G){n=r;e:while(1){w=i+4|0;t=a[i>>2]|0;if(!t)break A;if(!n){s=0;i=h;n=o}else{s=n+8|0;i=(a[n>>2]|0)+h|0;n=(a[n+4>>2]|0)+o|0}c=+(i|0)*.013888888888888888;l=+(n|0)*.013888888888888888;i=cd(t)|0;while(1){if(!i){i=w;n=s;continue e}z=a[(a[i+16>>2]|0)+132>>2]|0;b[z>>3]=+b[z>>3]+c;z=z+8|0;b[z>>3]=+b[z>>3]+l;i=bd(t,i)|0}}}}while(0);z=a[(a[A+16>>2]|0)+140>>2]|0;y=z+8|0;a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;b[z+24>>3]=+(u|0)*.013888888888888888;b[z+32>>3]=+(e|0)*.013888888888888888;k=m;return}function Dx(A,e){A=A|0;e=e|0;var i=0,r=0;while(1){i=a[e>>2]|0;if(!i)break;Mx(i);Sd(i,137483)|0;e=e+4|0}e=a[a[(a[A+16>>2]|0)+140>>2]>>2]|0;if(e|0)L2(e);Mx(A);Sd(A,137483)|0;i=cd(A)|0;while(1){if(!i)break;r=bd(A,i)|0;e=Oo(A,i)|0;while(1){if(!e)break;L2(a[(a[e+16>>2]|0)+172>>2]|0);Sd(e,137460)|0;e=_o(A,e)|0}Fx(i);i=r}Bh(A)|0;return}function Mx(A){A=A|0;L2(a[(a[A+16>>2]|0)+140>>2]|0);return}function Fx(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+112>>2]|0);L2(a[(a[e>>2]|0)+132>>2]|0);Sd(A,137447)|0;return}function Vx(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;c=A+16|0;s=a[a[(a[c>>2]|0)+112>>2]>>2]|0;w=qF((s*24|0)+24|0)|0;l=0;t=Ah(e,A)|0;while(1){if(!t)break;f=a[t>>2]&3;r=a[((f|0)==2?t:t+-48|0)+40>>2]|0;if((r|0)==(A|0))r=a[((f|0)==3?t:t+48|0)+40>>2]|0;r=a[(a[r+16>>2]|0)+132>>2]|0;f=a[(a[c>>2]|0)+132>>2]|0;n=+b[r>>3]-+b[f>>3];i=+b[r+8>>3]-+b[f+8>>3];a[w+(l*24|0)>>2]=t;b[w+(l*24|0)+8>>3]=+X(+i,+n);b[w+(l*24|0)+16>>3]=i*i+n*n;l=l+1|0;t=eh(e,t,A)|0}if((l|0)!=(s|0))vA(90775,90752,642,90784);K4(w,s,24,67);A:do{if((s|0)>1){t=s+-1|0;r=0;e:while(1){if((r|0)>=(t|0))break A;n=+b[w+(r*24|0)+8>>3];f=r+1|0;l=f;while(1){if((l|0)>=(s|0))break;if(!(+b[w+(l*24|0)+8>>3]==n))break;l=l+1|0}if((l|0)==(f|0)){r=f;continue}if((l|0)==(s|0))i=3.141592653589793;else i=+b[w+(l*24|0)+8>>3];i=(i-n)/+(l-r|0);i=i>.03490658503988659?.03490658503988659:i;n=0.0;while(1){if((r|0)>=(l|0))continue e;c=w+(r*24|0)+8|0;b[c>>3]=+b[c>>3]+n;n=n+i;r=r+1|0}}}}while(0);return w|0}function Jx(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=+n;var l=0,t=0,c=0,s=0.0,w=0,u=0,k=0,o=0.0,h=0;c=a[e>>2]|0;u=a[c+16>>2]|0;w=f[u+168>>1]|0;k=w<<16>>16;t=a[c>>2]&3;l=a[((t|0)==2?c:c+-48|0)+40>>2]|0;if((l|0)==(A|0))l=a[((t|0)==3?c:c+48|0)+40>>2]|0;o=+b[e+8>>3];n=(n-o)/+(w<<16>>16);n=n>.03490658503988659?.03490658503988659:n;w=l>>>0>A>>>0;s=w?n:-n;e=w?1:-1;c=0;l=a[u+172>>2]|0;t=w?r:r+-1+k|0;n=w?o:n*+(k+-1|0)+o;while(1){if((c|0)>=(k|0))break;u=a[l>>2]|0;a[i+(t<<4)>>2]=u;w=a[u>>2]&3;h=(w|0)==3?u:u+48|0;a[i+(t<<4)+4>>2]=a[((a[(a[(a[h+40>>2]|0)+16>>2]|0)+164>>2]|0)==(A|0)?h:(w|0)==2?u:u+-48|0)+40>>2];b[i+(t<<4)+8>>3]=n;c=c+1|0;l=l+4|0;t=t+e|0;n=n+s}return k+r|0}function Nx(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(i>r))if(!(i>3];i=+b[e+16>>3];if(r>i)A=1;else A=(r>31}else A=-1;else A=1;return A|0}function Xx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Yo(A,0,i,0)|0;do{if(r|0){A=Uo(A,r)|0;r=Yo(e,0,i,0)|0;if(!r){Yo(e,0,i,A)|0;break}else{Vo(e,r,A)|0;break}}}while(0);return}function Rx(A,e){A=A|0;e=e|0;var i=0,r=0;e=vd(A,e,1)|0;Td(e,137447,304,1)|0;r=qF(32)|0;i=e+16|0;a[(a[i>>2]|0)+112>>2]=r;A=$F((l[(a[A+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[i>>2]|0)+132>>2]=A;return e|0}function Hx(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+80|0;w=h+56|0;s=h+32|0;o=h;u=h+64|0;l=a[i+4>>2]|0;c=Uo(A,l)|0;do{if(r[c>>0]|0){if((a[i>>2]|0)!=(A|0)){i=Uo(pB(A)|0,l)|0;if((i|0)==(c|0))break;if(!(A1(c,i)|0))break}r[u>>0]=0;i=o+8|0;l=o+16|0;t=o+24|0;a[s>>2]=o;a[s+4>>2]=i;a[s+8>>2]=l;a[s+12>>2]=t;a[s+16>>2]=u;if((J3(c,90937,s)|0)<=3){a[w>>2]=Vh(A)|0;a[w+4>>2]=c;ao(0,90955,w)|0;break}n=+b[23293];if(n>0.0){b[o>>3]=+b[o>>3]/n;b[i>>3]=+b[i>>3]/n;b[l>>3]=+b[l>>3]/n;b[t>>3]=+b[t>>3]/n}i=r[u>>0]|0;if(i<<24>>24==33)r[(a[e+16>>2]|0)+119>>0]=3;else r[(a[e+16>>2]|0)+119>>0]=i<<24>>24==63?2:1;a[f>>2]=a[o>>2];a[f+4>>2]=a[o+4>>2];a[f+8>>2]=a[o+8>>2];a[f+12>>2]=a[o+12>>2];a[f+16>>2]=a[o+16>>2];a[f+20>>2]=a[o+20>>2];a[f+24>>2]=a[o+24>>2];a[f+28>>2]=a[o+28>>2]}}while(0);k=h;return}function px(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+16|0;r=a[n>>2]|0;A=f[r+168>>1]|0;r=a[r+172>>2]|0;if(!r){A=A<<16>>16;i=A;A=$F((A<<2)+4|0)|0}else{A=A<<16>>16;i=A;A=eV(r,(A<<2)+4|0)|0}a[A+(i<<2)>>2]=e;e=a[n>>2]|0;a[e+172>>2]=A;e=e+168|0;f[e>>1]=(f[e>>1]|0)+1<<16>>16;return}function Ux(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+48|0;l=t+24|0;n=t;r=a[e>>2]|0;i=a[r>>2]&3;f=a[((i|0)==2?r:r+-48|0)+40>>2]|0;i=a[((i|0)==3?r:r+48|0)+40>>2]|0;e=S2(Vh(A)|0)|0;c=S2(Vh(f)|0)|0;c=(e+8+c+(S2(Vh(i)|0)|0)|0)>999;e=Vh(A)|0;if(c){i=Vh(i)|0;c=Vh(f)|0;l=(a[r>>2]|0)>>>4;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=c;c=n+16|0;a[c>>2]=l;a[c+4>>2]=0;P4(193772,90895,n)|0}else{i=a[(a[i+16>>2]|0)+120>>2]|0;c=a[(a[f+16>>2]|0)+120>>2]|0;n=(a[r>>2]|0)>>>4;a[l>>2]=e;a[l+4>>2]=i;a[l+8>>2]=c;c=l+16|0;a[c>>2]=n;a[c+4>>2]=0;P4(193772,90914,l)|0}k=t;return}function xx(A){A=A|0;var e=0,i=0,r=0.0,n=0.0,l=0,t=0,c=0;t=4;l=m2(40)|0;a[l>>2]=0;n=+b[23293];d=0;r=+AA(1,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)!=1){b[23293]=r;d=0;sA(102,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)!=1){l=L6(187212,1,l|0,t|0)|0;t=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){e=W6(a[i>>2]|0,l|0,t|0)|0;if(!e)fe(i|0,B|0);L=B}else e=-1;if((e|0)!=1)e=0;else e=L}else e=L}else e=L;while(1){if(e|0)break;d=0;sA(103,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}d=0;iA(22,A|0)|0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}if(f[(a[A+16>>2]|0)+136>>1]&14){d=0;sA(104,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}}d=0;wA(22,A|0,0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1)e=L;else{c=12;break}}if((c|0)==12)b[23293]=n;L2(l|0);return}function Tx(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;i=A+16|0;r=f[(a[i>>2]|0)+136>>1]&14;e=r&65535;if((r&65535)>8){if(r<<16>>16==12){if(Fp(A,22,10)|0){a[47134]=2;l=5}}else l=5;do{if((l|0)==5)if(!(f[(a[i>>2]|0)+136>>1]&1)){Jp(A,e)|0;break}else{ao(0,90998,n)|0;e=2;break}}while(0);a[47134]=0}if((a[47138]|0)<1)Jp(A,e)|0;k=t;return}function jx(A){A=A|0;var e=0.0,i=0.0,r=0;r=k;k=k+16|0;a[46474]=1;a[46475]=1;a[46477]=-1;a[46479]=50;b[23245]=0.0;b[23240]=0.0;b[23241]=1.0;a[46478]=kR(A,Yo(A,0,91061,0)|0,600,0)|0;i=+oR(A,Yo(A,0,91202,0)|0,.3,0.0);b[23242]=i;b[1371]=i;if(-1.0==-1.0)e=+oR(A,Yo(A,0,91069,0)|0,-1.0,0.0);else e=-1.0;b[23243]=e;a[46476]=1;A=ep(A,2,185904)|0;a[46488]=A;if(!A){ao(0,91072,r)|0;a[46476]=2}a[46504]=(U(a[46478]|0,a[46479]|0)|0)/100|0;i=+b[23242];b[23247]=i*i;if(a[46474]|0){e=+b[23245];if(e<=0.0){e=i*3.0;b[23245]=e}b[23246]=e*e}k=r;return}function Sx(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0;t=k;k=k+16|0;i=t;n=a[a[(a[A+16>>2]|0)+140>>2]>>2]|0;l=Px(A,e)|0;Ox(i,A,n);r=+b[i>>3];f=+b[i+8>>3];A:do{if(!(a[46474]|0)){e=0;while(1){if((e|0)>=(a[46505]|0))break A;qx(A,+Kx(e),n);e=e+1|0}}else{i=I_(vh(A)|0)|0;L_(i,vh(A)|0);e=0;while(1){if((e|0)>=(a[46505]|0))break;_x(A,+Kx(e),n,i);e=e+1|0}y_(i)}}while(0);A:do{if(r!=0.0|f!=0.0){e=cd(A)|0;while(1){if(!e)break A;n=a[(a[e+16>>2]|0)+132>>2]|0;b[n>>3]=+b[n>>3]+r;n=n+8|0;b[n>>3]=+b[n>>3]+f;e=bd(A,e)|0}}}while(0);if(l|0)$x();k=t;return}function Px(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0;if(+b[23243]==-1.0){l=vh(A)|0;i=+b[23242];b[23243]=+b[23241]*.2*i*+z(+ +(l|0));l=1}else{l=0;i=+b[23242]}n=a[46504]|0;b[e+8>>3]=+Kx(n);b[e+16>>3]=i;b[e+24>>3]=+b[23240];r=a[46478]|0;A=r-n|0;a[e>>2]=A;f=a[46477]|0;do{if((f|0)>-1){if((f|0)<=(n|0)){a[46505]=f;A=0;t=10;break}if((f|0)<=(r|0)){a[46505]=n;A=f-n|0;t=10}}else{a[46505]=n;t=10}}while(0);if((t|0)==10)a[e+32>>2]=A;return l|0}function Ox(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0.0,w=0.0,u=0,k=0.0,o=0.0,h=0,d=0,B=0.0,v=0.0,g=0,E=0,C=0.0,I=0,Z=0,G=0;E=vh(e)|0;I=a[(a[(a[e+16>>2]|0)+140>>2]|0)+4>>2]|0;g=cd(e)|0;h=0;d=0;n=0;c=0;u=0;while(1){if(!g)break;f=a[g+16>>2]|0;if(!(r[f+119>>0]|0))f=d;else{f=a[f+132>>2]|0;l=+b[f>>3];if(!h){c=~~l;n=~~+b[f+8>>3];u=n;f=c}else{o=+(d|0);B=+b[f+8>>3];v=+(n|0);C=+(c|0);k=+(u|0);u=~~(B>k?B:k);f=~~(lC?l:C)}h=h+1|0}g=bd(e,g)|0;d=f}l=+b[23242]*(+z(+ +(E-I|0))+1.0);B=l*.6;b[23249]=B;b[23248]=B;if((h|0)!=1)if((h|0)>1){v=+(c+d|0)*.5;C=+(u+n|0)*.5;k=+(c-d|0);o=k*1.2;s=+(u-n|0);w=s*1.2;l=l*2.4*B;t=w*o/l;do{if(!(t>=1.0)){if(t>0.0){l=+z(+t)*2.0;t=o/l;b[23248]=t;l=w/l;G=20;break}if(o>0.0){t=k*.6;b[23248]=t;l=l/o*.5;G=20;break}if(w>0.0){t=l/w*.5;b[23248]=t;l=s*.6;G=20}else{l=B;t=B}}else{t=k*.6;b[23248]=t;l=s*.6;G=20}}while(0);if((G|0)==20)b[23249]=l;B=+X(+l,+t);t=t/+D(+B);b[23248]=t;l=l/+M(+B);b[23249]=l}else{v=0.0;C=0.0;t=B;l=B}else{v=+(d|0);C=+(n|0);t=B;l=B}b[23250]=t*t;b[23251]=l*l;if((a[46488]|0)==2)f=a[46476]|0;else{f=z3()|0;f=(ne(0)|0)^f}l8(f);A:do{if(!i){i=cd(e)|0;if(!h)while(1){if(!i)break A;B=+b[23248];B=(+c8()*2.0+-1.0)*B;G=i+16|0;b[a[(a[G>>2]|0)+132>>2]>>3]=B;B=+b[23249];B=(+c8()*2.0+-1.0)*B;b[(a[(a[G>>2]|0)+132>>2]|0)+8>>3]=B;i=bd(e,i)|0}while(1){if(!i)break A;f=i+16|0;n=a[f>>2]|0;if(!(r[n+119>>0]|0)){B=+b[23248];B=(+c8()*2.0+-1.0)*B;b[a[(a[f>>2]|0)+132>>2]>>3]=B;B=+b[23249];B=(+c8()*2.0+-1.0)*B;b[(a[(a[f>>2]|0)+132>>2]|0)+8>>3]=B}else{G=a[n+132>>2]|0;b[G>>3]=+b[G>>3]-v;G=G+8|0;b[G>>3]=+b[G>>3]-C}i=bd(e,i)|0}}else{while(1){if(!(a[i>>2]|0))break;g=i+8|0;B=+D(+ +b[g>>3])*+b[23248]+v;I=a[(a[i+4>>2]|0)+16>>2]|0;E=a[I+132>>2]|0;b[E>>3]=B;b[E+8>>3]=+M(+ +b[g>>3])*+b[23249]+C;r[I+119>>0]=1;i=i+16|0}s=v*.1;w=C*.1;d=cd(e)|0;while(1){if(!d)break A;h=d+16|0;i=a[h>>2]|0;if(!((a[(a[i+112>>2]|0)+8>>2]|0)==0?!(a[i+212>>2]|0):0))G=32;do{if((G|0)==32){G=0;if(r[i+119>>0]|0){I=a[i+132>>2]|0;b[I>>3]=+b[I>>3]-v;I=I+8|0;b[I>>3]=+b[I>>3]-C;break}u=Ah(e,d)|0;i=0;t=0.0;l=0.0;while(1){if(!u)break;c=a[u>>2]&3;f=(c|0)==2?u:u+-48|0;n=a[f+40>>2]|0;c=(c|0)==3?u:u+48|0;do{if((n|0)!=(a[c+40>>2]|0)?(Z=a[(a[((n|0)==(d|0)?c:f)+40>>2]|0)+16>>2]|0,(r[Z+119>>0]|0)!=0):0)if(!i){I=a[Z+132>>2]|0;i=1;t=+b[I>>3];l=+b[I+8>>3];break}else{o=+(i|0);I=a[Z+132>>2]|0;i=i+1|0;B=+(i|0);t=(+b[I>>3]+t*o)/B;l=(+b[I+8>>3]+l*o)/B;break}}while(0);u=eh(e,u,d)|0}do{if((i|0)<=1)if((i|0)==1){f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=t*.98+s;l=l*.9+w;break}else{l=+c8()*6.283185307179586;B=+c8()*.9;o=B*+b[23248]*+D(+l);f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=o;l=+b[23249]*B*+M(+l);break}else{f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=t}}while(0);b[i+8>>3]=l;r[f+119>>0]=1}}while(0);d=bd(e,d)|0}}}while(0);b[A>>3]=v;b[A+8>>3]=C;return}function Kx(A){A=A|0;var e=0;e=a[46478]|0;return+(+b[23243]*+(e-A|0)/+(e|0))}function _x(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0;if(!(e<=0.0)){W_(r);f=cd(A)|0;while(1){if(!f)break;l=a[f+16>>2]|0;n=(a[l+112>>2]|0)+16|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;l=a[l+132>>2]|0;t=+b[23245];n=~~+W(+(+b[l>>3]/t));Y_(r,n,~~+W(+(+b[l+8>>3]/t)),f);f=bd(A,f)|0}n=cd(A)|0;while(1){if(!n)break;f=Oo(A,n)|0;while(1){if(!f)break;l=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((n|0)!=(l|0))eT(n,l,f);f=_o(A,f)|0}n=bd(A,n)|0}M_(r,23);iT(A,e,i)}return}function qx(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,n=0;if(!(e<=0.0)){r=cd(A)|0;while(1){if(!r)break;n=(a[(a[r+16>>2]|0)+112>>2]|0)+16|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;r=bd(A,r)|0}n=cd(A)|0;while(1){if(!n)break;else r=n;while(1){r=bd(A,r)|0;if(!r)break;AT(n,r)}r=Oo(A,n)|0;while(1){if(!r)break;f=a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0;if((n|0)!=(f|0))eT(n,f,r);r=_o(A,r)|0}n=bd(A,n)|0}iT(A,e,i)}return}function $x(){b[23243]=-1.0;return}function AT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0;n=a[(a[e+16>>2]|0)+132>>2]|0;f=a[(a[A+16>>2]|0)+132>>2]|0;i=+b[n>>3]-+b[f>>3];r=+b[n+8>>3]-+b[f+8>>3];rT(A,e,i,r,r*r+i*i);return}function eT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0,t=0,c=0;t=e+16|0;c=a[(a[t>>2]|0)+132>>2]|0;A=A+16|0;e=a[(a[A>>2]|0)+132>>2]|0;r=+b[c>>3]-+b[e>>3];f=+b[c+8>>3]-+b[e+8>>3];n=r;l=f;r=r*r;f=f*f;while(1){r=r+f;if(!(r==0.0))break;r=+(5-((a8()|0)%10|0)|0);f=+(5-((a8()|0)%10|0)|0);n=r;l=f;r=r*r;f=f*f}f=+z(+r);e=a[i+16>>2]|0;r=+b[e+128>>3];if(!(a[46475]|0))r=r*f/+b[e+136>>3];else r=(f-+b[e+136>>3])*r/f;n=r*n;c=a[(a[t>>2]|0)+112>>2]|0;t=c+16|0;b[t>>3]=+b[t>>3]-n;l=r*l;c=c+24|0;b[c>>3]=+b[c>>3]-l;c=a[(a[A>>2]|0)+112>>2]|0;t=c+16|0;b[t>>3]=+b[t>>3]+n;c=c+24|0;b[c>>3]=+b[c>>3]+l;return}function iT(A,e,i){A=A|0;e=+e;i=i|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0;k=e*e;u=(i|0)==0;w=cd(A)|0;while(1){if(!w)break;s=a[w+16>>2]|0;if(!(r[s+119>>0]&2)){c=a[s+112>>2]|0;f=+b[c+16>>3];l=+b[c+24>>3];n=l*l+f*f;if(n>2]|0;t=+b[i>>3]+f;f=+b[i+8>>3]+l}else{n=e/+z(+n);i=a[s+132>>2]|0;t=+b[i>>3]+n*f;f=+b[i+8>>3]+n*l}do{if(!u){n=+z(+(f*f/+b[23251]+t*t/+b[23250]));if((a[c+8>>2]|0)==0?(a[s+212>>2]|0)==0:0){b[i>>3]=t/n;f=f/n;break}if(!(n>=1.0)){b[i>>3]=t;break}else{b[i>>3]=t*.95/n;f=f*.95/n;break}}else b[i>>3]=t}while(0);b[i+8>>3]=f}w=bd(A,w)|0}return}function rT(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=+r;f=+f;var n=0.0,l=0,t=0;n=i;i=f;while(1){if(!(i==0.0))break;i=+(5-((a8()|0)%10|0)|0);r=+(5-((a8()|0)%10|0)|0);n=i;i=r*r+i*i}if(!(a[46475]|0))i=+b[23247]/i;else{f=+z(+i);i=+b[23247]/(f*i)}t=a[A+16>>2]|0;A=a[t+112>>2]|0;if(((a[A+8>>2]|0)==0?(a[t+212>>2]|0)==0:0)?(l=a[e+16>>2]|0,(a[(a[l+112>>2]|0)+8>>2]|0)==0):0)i=(a[l+212>>2]|0)==0?i*10.0:i;f=i*n;t=a[(a[e+16>>2]|0)+112>>2]|0;e=t+16|0;b[e>>3]=+b[e>>3]+f;n=i*r;t=t+24|0;b[t>>3]=+b[t>>3]+n;t=A+16|0;b[t>>3]=+b[t>>3]-f;t=A+24|0;b[t>>3]=+b[t>>3]-n;return}function fT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;f=a[e+8>>2]|0;n=a[e>>2]|0;r=a[e+4>>2]|0;e=f;while(1){if(!e)break;A=f;while(1){if(!A)break;if((e|0)!=(A|0))AT(a[e>>2]|0,a[A>>2]|0);A=a[A+4>>2]|0}e=a[e+4>>2]|0}l=n+-1|0;A=r+-1|0;aT(i,l,A,f);aT(i,l,r,f);e=r+1|0;aT(i,l,e,f);aT(i,n,A,f);aT(i,n,e,f);n=n+1|0;aT(i,n,A,f);aT(i,n,r,f);aT(i,n,e,f);return 0}function aT(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0;A=F_(A,e,i)|0;if((r|0)!=0&(A|0)!=0){c=A+8|0;do{i=a[r>>2]|0;t=i+16|0;A=c;while(1){A=a[A>>2]|0;if(!A)break;e=a[A>>2]|0;w=a[(a[e+16>>2]|0)+132>>2]|0;s=a[(a[t>>2]|0)+132>>2]|0;f=+b[w>>3]-+b[s>>3];n=+b[w+8>>3]-+b[s+8>>3];l=n*n+f*f;if(l<+b[23246])rT(i,e,f,n,l);A=A+4|0}r=a[r+4>>2]|0}while((r|0)!=0)}return}function nT(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+16|0;n=l;i=po(A,92507)|0;if(0)L3(91116,8,1,a[15712]|0)|0;if(!((i|0)!=0?(r[i>>0]|0)!=0:0))i=91125;f=G1(i,58)|0;do{if(!f)f=0;else{if((f|0)!=(i|0)?((r[i>>0]|0)+-48|0)>>>0>=10:0){f=0;break}t=q3(i)|0;i=f+1|0;f=(t|0)>0?t:0}}while(0);if(0){t=a[15712]|0;a[n>>2]=f;a[n+4>>2]=i;f3(t,91133,n)|0}if(!((f|0)!=0?!(lT(A,e,f)|0):0))AS(A,i)|0;k=l;return}function lT(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0;v=k;k=k+64|0;d=v;l=v+40|0;B=vh(A)|0;t=gh(A)|0;qj(l,A);a[46842]=a[l>>2];a[46843]=a[l+4>>2];a[46844]=a[l+8>>2];if(r[187376]|0){c[46842]=+c[46842]*.013888888888888888;c[46843]=+c[46843]*.013888888888888888}f=tT(A)|0;A:do{if(!f)f=0;else{l=d;n=l+40|0;do{a[l>>2]=a[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(n|0));l=d+16|0;h=+b[l>>3];u=+(t|0)*2.0;o=1.0/+(U(B+-1|0,B)|0);n=0;w=h;while(1){if(!((f|0)!=0&(n|0)<(i|0)))break A;cT(B,d);s=+b[23253]*+b[170];b[23254]=s;b[23255]=u*s*o;e=0;while(1){if((e|0)>=(a[46512]|0))break;s=+bT(e);if(s<=0.0)break;f=sT(A,s)|0;if(!f){f=0;break}else e=e+1|0}s=w+h;b[l>>3]=s;n=n+1|0;w=s}}}while(0);k=v;return f|0}function tT(A){A=A|0;var e=0,i=0,r=0,f=0;e=0;f=cd(A)|0;while(1){if(!f)break;else r=f;while(1){i=bd(A,r)|0;if(!i)break;r=i;e=(kT(f,i)|0)+e|0}f=bd(A,f)|0}return e|0}function cT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0;r=+b[e+16>>3];b[171]=r;a[344]=a[e>>2];f=+b[e+8>>3];b[23257]=f;a[46512]=a[e+32>>2];i=+b[e+24>>3];if(i>0.0)b[170]=i;b[23253]=r*r;if(f==0.0)b[23257]=+z(+ +(A|0))*.2*r;return}function bT(A){A=A|0;var e=0;e=a[344]|0;return+(+b[23257]*+(e-A|0)/+(e|0))}function sT(A,e){A=A|0;e=+e;var i=0,f=0,n=0,l=0.0,t=0,c=0.0,s=0.0,w=0.0;i=cd(A)|0;while(1){if(!i)break;t=(a[(a[i+16>>2]|0)+112>>2]|0)+16|0;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;i=bd(A,i)|0}i=0;t=cd(A)|0;while(1){if(!t)break;else n=t;while(1){f=bd(A,n)|0;if(!f)break;n=f;i=(wT(t,f)|0)+i|0}f=Oo(A,t)|0;while(1){if(!f)break;uT(t,a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=_o(A,f)|0}t=bd(A,t)|0}A:do{if(!i)i=0;else{w=e*e;n=cd(A)|0;while(1){if(!n)break A;f=a[n+16>>2]|0;if((r[f+119>>0]|0)!=3){t=a[f+112>>2]|0;c=+b[t+16>>3];l=+b[t+24>>3];s=l*l+c*c;if(s>2]|0;b[f>>3]=+b[f>>3]+c}else{s=+z(+s);f=a[f+132>>2]|0;b[f>>3]=+b[f>>3]+c*e/s;l=l*e/s}t=f+8|0;b[t>>3]=+b[t>>3]+l}n=bd(A,n)|0}}}while(0);return i|0}function wT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0;n=a[(a[e+16>>2]|0)+132>>2]|0;f=a[(a[A+16>>2]|0)+132>>2]|0;i=+b[n>>3]-+b[f>>3];r=+b[n+8>>3]-+b[f+8>>3];return hT(A,e,i,r,r*r+i*i)|0}function uT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0.0,l=0,t=0.0,c=0.0,s=0,w=0;if(!(kT(A,e)|0)){l=a[e+16>>2]|0;w=a[l+132>>2]|0;f=a[A+16>>2]|0;s=a[f+132>>2]|0;r=+b[w>>3]-+b[s>>3];i=+b[w+8>>3]-+b[s+8>>3];n=+z(+(i*i+r*r));t=+oT(A);t=+oT(e)+t;c=n-t;n=c*c/((+b[171]+t)*n);r=n*r;e=a[l+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]-r;i=n*i;e=e+24|0;b[e>>3]=+b[e>>3]-i;e=a[f+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]+r;e=e+24|0;b[e>>3]=+b[e>>3]+i}return}function kT(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0.0,t=0,s=0;t=a[e+16>>2]|0;s=a[t+132>>2]|0;e=a[A+16>>2]|0;A=a[e+132>>2]|0;n=+b[s>>3]-+b[A>>3];l=+b[s+8>>3]-+b[A+8>>3];l=l<0.0?-l:l;A=(r[187376]|0)==0;i=+b[e+32>>3];if(A){f=+c[46842];i=i*.5*f;f=+b[t+32>>3]*.5*f}else{f=+c[46842];i=i*.5+f;f=+b[t+32>>3]*.5+f}if(!((n<0.0?-n:n)<=f+i))e=0;else{i=+b[e+40>>3];if(A){n=+c[46843];f=i*.5*n;i=+b[t+40>>3]*.5*n}else{n=+c[46843];f=i*.5+n;i=+b[t+40>>3]*.5+n}e=l<=i+f&1}return e|0}function oT(A){A=A|0;var e=0.0,i=0.0;A=a[A+16>>2]|0;e=+b[A+32>>3];if(!(r[187376]|0)){i=e*.5*+c[46842];e=+b[A+40>>3]*.5*+c[46843]}else{i=e*.5+ +c[46842];e=+b[A+40>>3]*.5+ +c[46843]}return+ +z(+(e*e+i*i))}function hT(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=+r;f=+f;var n=0,l=0;while(1){if(!(f==0.0))break;f=+(5-((a8()|0)%10|0)|0);r=+(5-((a8()|0)%10|0)|0);i=f;f=r*r+f*f}n=kT(A,e)|0;f=((n|0)==0?+b[23255]:+b[23254])/f;i=f*i;e=a[(a[e+16>>2]|0)+112>>2]|0;l=e+16|0;b[l>>3]=+b[l>>3]+i;f=f*r;e=e+24|0;b[e>>3]=+b[e>>3]+f;e=a[(a[A+16>>2]|0)+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]-i;e=e+24|0;b[e>>3]=+b[e>>3]-f;return n|0}function dT(A){A=A|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;BT(A);return}function BT(A){A=A|0;var e=0,i=0,r=0,f=0;r=qF((vh(A)|0)<<2)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;f=A+16|0;a[(a[f>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;RH(e);a[(a[e+16>>2]|0)+112>>2]=r+(i<<2);a[(a[(a[f>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;e=bd(A,e)|0;i=i+1|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;vT(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function vT(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,0.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function gT(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w+4|0;b=w;r[s>>0]=r[18596]|0;r[s+1>>0]=r[18597]|0;r[s+2>>0]=r[18598]|0;r[s+3>>0]=r[18599]|0;s=kh(91156,s,0)|0;Td(s,91164,280,1)|0;a[(a[A+16>>2]|0)+140>>2]=s;i=cd(A)|0;while(1){if(!i)break;f=i+16|0;if(!(a[a[(a[f>>2]|0)+112>>2]>>2]|0)){c=ET(s,Vh(i)|0,i)|0;a[a[(a[f>>2]|0)+112>>2]>>2]=c}i=bd(A,i)|0}f=cd(A)|0;while(1){if(!f)break;i=Oo(A,f)|0;while(1){if(!i)break;l=a[i>>2]&3;n=a[a[(a[(a[((l|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;l=a[a[(a[(a[((l|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((n|0)!=(l|0))Td(th(s,n,l,0,1)|0,137460,176,1)|0;i=_o(A,i)|0}f=bd(A,f)|0}c=WE(s,b,0)|0;f=0;while(1){if((f|0)>=(a[b>>2]|0))break;l=a[c+(f<<2)>>2]|0;i=cd(l)|0;while(1){if(!i)break;n=Oo(A,a[a[(a[i+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!n)break;t=a[a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((i|0)!=(t|0)){t=th(s,i,t,0,1)|0;Td(t,137460,176,1)|0;wh(l,t,1)|0}n=_o(A,n)|0}i=bd(l,i)|0}f=f+1|0}i=cd(s)|0;while(1){if(!i)break;f=Oo(s,i)|0;while(1){if(!f)break;A=qF(8)|0;a[(a[f+16>>2]|0)+120>>2]=A;f=_o(s,f)|0}i=bd(s,i)|0}a[e>>2]=a[b>>2];k=w;return c|0}function ET(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;e=vd(A,e,1)|0;Td(e,137447,304,1)|0;r=qF(40)|0;A=e+16|0;a[(a[A>>2]|0)+112>>2]=r;r=qF(a[47137]<<3)|0;A=a[A>>2]|0;a[A+132>>2]=r;r=a[i+16>>2]|0;b[A+88>>3]=+b[r+88>>3];b[A+96>>3]=+b[r+96>>3];b[A+80>>3]=+b[r+80>>3];a[a[A+112>>2]>>2]=i;return e|0}function CT(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;e=l+32|0;r=l;if(vh(A)|0){n=gT(A,e)|0;f=a[e>>2]|0;e=a[n>>2]|0;if((f|0)==1){Aw(e,A);IT(a[n>>2]|0);eS(A)|0}else{i=a[e+60>>2]|0;bC(A,2,8,r)|0;e=0;while(1){if((e|0)>=(f|0))break;t=a[n+(e<<2)>>2]|0;Aw(t,A);eS(t)|0;e=e+1|0}cC(f,n,i,r)|0;e=0;while(1){if((e|0)>=(f|0))break;IT(a[n+(e<<2)>>2]|0);e=e+1|0}}L2(n)}k=l;return}function IT(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;r=a[i+132>>2]|0;i=a[(a[(a[a[i+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;b[i>>3]=+b[r>>3];b[i+8>>3]=+b[r+8>>3];e=bd(A,e)|0}return}function ZT(A){A=A|0;if(vh(A)|0){dT(A);CT(A);L2(a[(a[(cd(A)|0)+16>>2]|0)+112>>2]|0);Pp(A);VJ(A)}return}function GT(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;if(e|0){r=A+16|0;QT(a[(a[r>>2]|0)+140>>2]|0);while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}L2(a[(a[r>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483)}return}function QT(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;L2(a[(a[e+16>>2]|0)+120>>2]|0);e=_o(A,e)|0}e=i+16|0;L2(a[(a[e>>2]|0)+112>>2]|0);L2(a[(a[e>>2]|0)+132>>2]|0);i=bd(A,i)|0}Bh(A)|0;return}function mT(A){A=A|0;var e=0,i=0.0,f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+112|0;s=B+40|0;w=B+16|0;d=B+100|0;u=B;l=B+88|0;o=B+56|0;LT(A);n=(a[47137]|0)==2;e=n&1;if(vh(A)|0){h=JT()|0;WT(A,h);Qj(A,w,0)|0;if(n&(a[w>>2]|0)==18){a[h+124>>2]=a[w+8>>2];b[h+144>>3]=+b[w+16>>3];qj(l,A);if(!(r[l+8>>0]|0)){f=.05555555555555555;i=.05555555555555555}else{f=+c[l+4>>2]*.013888888888888888;i=+c[l>>2]*.013888888888888888}b[u>>3]=i;b[u+8>>3]=f;e=0}else a[h+124>>2]=-1;if(0)XT(h);t=WE(A,d,0)|0;if((a[d>>2]|0)==1){a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];yT(A,h,s);if(e|0)Wj(A,w)|0;Pp(A);e=0}else{bC(A,2,8,o)|0;a[o+12>>2]=1;l=(e|0)==0;n=0;while(1){e=a[d>>2]|0;if((n|0)>=(e|0))break;e=a[t+(n<<2)>>2]|0;VE(e)|0;a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];yT(e,h,s);if(!l)Wj(e,w)|0;zH(e,2);Pp(e);n=n+1|0}cC(e,t,A,o)|0;e=0}while(1){if((e|0)>=(a[d>>2]|0))break;Cd(A,a[t+(e<<2)>>2]|0)|0;e=e+1|0}L2(t);NT(h)}VJ(A);k=B;return}function LT(A){A=A|0;var e=0,i=0;zH(A,2);e=kR(A,Yo(A,0,91368,0)|0,2,2)|0;i=(kR(A,Yo(A,0,91374,0)|0,e,2)|0)&65535;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=i;if((l[(a[(Zd(A)|0)+16>>2]|0)+176>>1]|0)<10)i=f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]|0;else i=10;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=i;i=i&65535;a[47137]=i;f[(a[(Zd(A)|0)+16>>2]|0)+178>>1]=(e|0)<(i|0)?e:i;MT(A);return}function WT(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+16|0;f=n+8|0;i=n+12|0;r=e+108|0;a[i>>2]=a[r>>2];if((ep(A,2,i)|0)!=2)ao(0,91169,n)|0;a[r>>2]=a[i>>2];b[e+24>>3]=+oR(A,Yo(A,0,91202,0)|0,-1.0,0.0);b[e>>3]=-+oR(A,Yo(A,0,91204,0)|0,1.0001234,0.0);a[e+40>>2]=kR(A,Yo(A,0,91219,0)|0,2147483647,0)|0;a[e+120>>2]=YT(A,Yo(A,0,91226,0)|0)|0;a[e+132>>2]=DT(A,Yo(A,0,91236,0)|0)|0;a[e+136>>2]=0;a[e+112>>2]=(ER(po(A,91245)|0,0)|0)&255;a[e+128>>2]=(ER(po(A,91254)|0,1)|0)&255;b[e+152>>3]=+oR(A,Yo(A,0,91269,0)|0,0.0,-1797693134862315708145274.0e284);i=kR(A,Yo(A,0,91278,0)|0,0,0)|0;A=e+160|0;a[A>>2]=i;if((i|0)>4){a[f>>2]=i;ao(0,91291,f)|0;a[A>>2]=0}k=n;return}function yT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;f=h;w=h+32|0;t=h+28|0;n=h+24|0;o=h+20|0;u=h+16|0;a[n>>2]=0;a[o>>2]=0;a[u>>2]=0;l=e+136|0;r=a[47137]|0;if((a[l>>2]|0)==1)s=Ij(A,r,u)|0;else s=Ij(A,r,0)|0;do{if((a[e+124>>2]|0)>-1)if((a[e+160>>2]|0)>0){a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];c=Cj(A,f,n,o)|0;break}else{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];c=Cj(A,f,0,0)|0;break}else c=0}while(0);r=zT(A)|0;a[w>>2]=r;switch(a[l>>2]|0){case 1:case 0:{cj(a[47137]|0,s,a[u>>2]|0,e,0,c,r,a[n>>2]|0,a[o>>2]|0,t);break}case 5:{Ej(a[47137]|0,s,r,t);break}case 4:{r=a[u>>2]|0;if(!r)r=Hs(s)|0;else r=uq(r,0)|0;a[u>>2]=r;hj(a[47137]|0,s,r,w,1,200,.001,t);break}default:{}}r=cd(A)|0;while(1){if(!r)break;i=a[47137]|0;n=a[r+16>>2]|0;e=(a[w>>2]|0)+((U(a[n+120>>2]|0,i)|0)<<3)|0;n=n+132|0;f=0;while(1){if((f|0)>=(i|0))break;b[(a[n>>2]|0)+(f<<3)>>3]=+b[e+(f<<3)>>3];f=f+1|0}r=bd(A,r)|0}L2(c);L2(a[w>>2]|0);rq(s);r=a[u>>2]|0;if(r|0)rq(r);r=a[o>>2]|0;if(r|0)L2(r);k=h;return}function zT(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=a[47137]|0;t=qF(U(t<<3,vh(A)|0)|0)|0;A:do{if(Yo(A,1,102623,0)|0){f=cd(A)|0;while(1){if(!f)break A;e=a[f+16>>2]|0;e:do{if(r[e+119>>0]|0){n=a[47137]|0;l=U(n,a[e+120>>2]|0)|0;i=e+132|0;e=0;while(1){if((e|0)>=(n|0))break e;b[t+(l+e<<3)>>3]=+b[(a[i>>2]|0)+(e<<3)>>3];e=e+1|0}}}while(0);f=bd(A,f)|0}}}while(0);return t|0}function YT(A,e){A=A|0;e=e|0;do{if(e){A=Uo(A,e)|0;e=r[A>>0]|0;if((e+-48|0)>>>0<10){A=q3(A)|0;A=(A|0)<5?A:0;break}if(J1(e)|0)if(N1(A,91330)|0)if(N1(A,91339)|0)if(N1(A,135709)|0)if(!(N1(A,91350)|0))A=3;else{A=(N1(A,91361)|0)==0;A=A?4:0}else A=0;else A=1;else A=2;else A=0}else A=0}while(0);return A|0}function DT(A,e){A=A|0;e=e|0;do{if(e){A=Uo(A,e)|0;e=r[A>>0]|0;if((e+-48|0)>>>0<10){A=q3(A)|0;A=A>>>0<3?A:1;break}if(J1(e)|0)if((N1(A,135709)|0)!=0?(N1(A,137308)|0)!=0:0)if(((N1(A,99730)|0)!=0?(N1(A,107652)|0)!=0:0)?(N1(A,107657)|0)!=0:0){A=(N1(A,91325)|0)==0;A=A?2:1}else A=1;else A=0;else A=1}else A=1}while(0);return A|0}function MT(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;RH(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;FT(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function FT(A){A=A|0;Td(A,137460,176,1)|0;VR(A)|0;return}function VT(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}return}function JT(){var A=0,e=0;A=$F(168)|0;b[A>>3]=-1.0001234;b[A+8>>3]=1.0;a[A+16>>2]=1;b[A+24>>3]=-1.0;b[A+32>>3]=.2;a[A+40>>2]=0;a[A+44>>2]=4;a[A+48>>2]=1;a[A+52>>2]=45;a[A+56>>2]=10;b[A+64>>3]=.6;b[A+72>>3]=.001;a[A+80>>2]=500;b[A+88>>3]=.9;b[A+96>>3]=.1;a[A+104>>2]=1;a[A+108>>2]=123;e=A+112|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[A+128>>2]=1;a[A+132>>2]=3;a[A+136>>2]=0;b[A+144>>3]=-4.0;b[A+152>>3]=0.0;a[A+160>>2]=0;return A|0}function NT(A){A=A|0;L2(A);return}function XT(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;e=k;k=k+176|0;i=e+160|0;f=e+152|0;n=e+128|0;c=e+112|0;t=e+88|0;s=e+64|0;w=e+56|0;u=e+40|0;h=e+24|0;o=e+16|0;d=e;r=a[15712]|0;L3(91378,27,1,r)|0;l=+b[A+8>>3];b[d>>3]=+b[A>>3];b[d+8>>3]=l;f3(r,91406,d)|0;d=a[A+108>>2]|0;a[o>>2]=a[A+16>>2];a[o+4>>2]=d;f3(r,91457,o)|0;l=+b[A+32>>3];b[h>>3]=+b[A+24>>3];b[h+8>>3]=l;f3(r,91484,h)|0;h=a[A+44>>2]|0;o=a[A+48>>2]|0;a[u>>2]=a[A+40>>2];a[u+4>>2]=h;a[u+8>>2]=o;f3(r,91507,u)|0;u=a[A+56>>2]|0;a[w>>2]=a[A+52>>2];a[w+4>>2]=u;f3(r,91558,w)|0;l=+b[A+72>>3];w=a[A+80>>2]|0;b[s>>3]=+b[A+64>>3];b[s+8>>3]=l;a[s+16>>2]=w;f3(r,91591,s)|0;l=+b[A+96>>3];s=a[A+104>>2]|0;b[t>>3]=+b[A+88>>3];b[t+8>>3]=l;a[t+16>>2]=s;f3(r,91649,t)|0;t=a[A+116>>2]|0;l=+b[A+152>>3];a[c>>2]=a[A+112>>2];a[c+4>>2]=t;b[c+8>>3]=l;f3(r,91695,c)|0;c=a[A+124>>2]|0;t=a[A+128>>2]|0;l=+b[A+144>>3];a[n>>2]=a[17804+(a[A+120>>2]<<2)>>2];a[n+4>>2]=c;a[n+8>>2]=t;b[n+16>>3]=l;f3(r,91748,n)|0;n=a[17848+(a[A+136>>2]<<2)>>2]|0;a[f>>2]=a[17832+(a[A+132>>2]<<2)>>2];a[f+4>>2]=n;f3(r,91813,f)|0;a[i>>2]=a[A+160>>2];f3(r,91843,i)|0;k=e;return}function RT(A){A=A|0;L2(A);return}function HT(A){A=A|0;var e=0;e=$F(184)|0;a[e>>2]=A;a[e+176>>2]=0;return e|0}function pT(A,e){A=A|0;e=+e;var i=0,r=0,f=0;r=a[A>>2]|0;b[A+8+(r<<3)>>3]=e;f=A+176|0;A:do{switch(a[f>>2]|0){case 0:{i=a[A>>2]|0;if((i|0)==20){a[f>>2]=-1;i=19}else{a[f>>2]=1;i=(i|0)>19?20:i+1|0}a[A>>2]=i;break}case 1:{i=a[A>>2]|0;if((i|0)<20?+b[A+8+(r+-1<<3)>>3]>e:0){a[A>>2]=i+1;break A}else{a[A>>2]=i+-1;a[f>>2]=-1;break A}}default:{i=a[A>>2]|0;if((i|0)>0?+b[A+8+(r+1<<3)>>3]>e:0){a[A>>2]=i+-1;break A}else{a[A>>2]=i+1;a[f>>2]=1;break A}}}}while(0);return}function UT(A){A=A|0;return a[A>>2]|0}function xT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0;k=a[A+20>>2]|0;o=a[A+24>>2]|0;w=a[A>>2]|0;u=a[k+(w<<2)>>2]|0;if(!u)r=1.0;else{A=0;r=0.0;A:while(1){if((A|0)>=(w|0))break;t=A+1|0;c=a[k+(t<<2)>>2]|0;s=U(A,e)|0;l=a[k+(A<<2)>>2]|0;while(1){if((l|0)>=(c|0)){A=t;continue A}n=o+(l<<2)|0;A=0;f=0.0;while(1){if((A|0)>=(e|0))break;h=+b[i+(A+s<<3)>>3]-+b[i+((U(a[n>>2]|0,e)|0)<<3)>>3];A=A+1|0;f=h*h+f}l=l+1|0;r=+z(+f)+r}}r=r/+(u|0)}return+r}function TT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+10|0;if((a[i>>2]|0)<=(e|0)){a[i>>2]=r;a[A>>2]=eV(a[A>>2]|0,r<<3)|0}return}function jT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+10|0;if((a[i>>2]|0)<=(e|0)){a[i>>2]=r;a[A>>2]=eV(a[A>>2]|0,r<<2)|0}return}function ST(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;l=U(r,e)|0;e=U(i,e)|0;r=0;while(1){if((r|0)==2)break;b[t+(r<<3)>>3]=+b[A+(r+l<<3)>>3]-+b[A+(r+e<<3)>>3];r=r+1|0}n=+b[t>>3];a=+b[t+8>>3];do{if(!((n>=0.0?n:-n)<=(a>=0.0?a:-a)*1.0e-05)){f=+N(+(a/n));if(n>0.0){if(!(a<0.0))break;f=f+6.283185307179586;break}else{if(!(n<0.0))break;f=f+3.141592653589793;break}}else f=a>0.0?1.5707963267948966:4.71238898038469}while(0);k=c;return+f}function PT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];i=+b[e>>3];return(r>i?1:(r>31)|0}function OT(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0,w=0.0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0,L=0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0,R=0,H=0,p=0.0,x=0,T=0.0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0.0;q=k;k=k+80|0;_=q+32|0;K=q;o=+b[i>>3];s=i+24|0;w=+b[s>>3];u=i+32|0;t=+b[u>>3];p=+b[i+72>>3];x=a[i+80>>2]|0;T=+b[i+88>>3];h=+b[i+96>>3];j=a[i+104>>2]|0;S=i+56|0;l=a[S>>2]|0;do{if(!((e|0)==0|(x|0)<1)?(P=a[e+4>>2]|0,!((A|0)<1|(P|0)<1)):0){H=a[e>>2]|0;O=HT(l)|0;a[n>>2]=0;if((H|0)!=(P|0)){a[n>>2]=-100;RT(O);a[S>>2]=l;break}X=tq(e,1)|0;R=a[X+20>>2]|0;H=a[X+24>>2]|0;A:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);c=U(P,A)|0;l=0;while(1){if((l|0)>=(c|0))break A;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(w<0.0){w=+xT(X,A,f);b[s>>3]=w}if(t<0.0){b[u>>3]=.2;t=.2}if(o>=0.0){b[i>>3]=-1.0;o=-1.0}N=+Y(+w,+(1.0-o));Q=+Y(+t,+((2.0-o)*.3333333333333333))/w;m=U(P,A<<3)|0;L=$F(m)|0;W=$F(m)|0;y=i+116|0;D=i+64|0;M=a[15712]|0;F=X+8|0;V=K+8|0;J=K+16|0;Z=0;G=0.0;E=h;while(1){y6(L|0,f|0,m|0)|0;C=UT(O)|0;I=P_(A,P,C,f,(a[y>>2]|0)==0?0:r)|0;U_(I,W,f,+b[D>>3],o,N,K,n);s=0;A:while(1){if((s|0)>=(P|0)){h=0.0;c=0;break}u=U(s,A)|0;d=W+(u<<3)|0;B=s+1|0;v=R+(B<<2)|0;c=a[R+(s<<2)>>2]|0;while(1){if((c|0)>=(a[v>>2]|0)){s=B;continue A}g=H+(c<<2)|0;l=a[g>>2]|0;e:do{if((l|0)!=(s|0)){t=+_s(f,A,s,l)*Q;l=0;while(1){if((l|0)>=(A|0))break e;h=t*(+b[f+(l+u<<3)>>3]-+b[f+((U(a[g>>2]|0,A)|0)+l<<3)>>3]);$=d+(l<<3)|0;b[$>>3]=+b[$>>3]-h;l=l+1|0}}}while(0);c=c+1|0}}while(1){if((c|0)>=(P|0))break;s=U(c,A)|0;u=W+(s<<3)|0;t=0.0;l=0;while(1){if((l|0)>=(A|0))break;AA=+b[u+(l<<3)>>3];t=AA*AA+t;l=l+1|0}t=+z(+t);h=t+h;A:do{if(t>0.0){t=1.0/t;l=0;while(1){if((l|0)>=(A|0)){l=0;break A}$=u+(l<<3)|0;b[$>>3]=+b[$>>3]*t;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(A|0))break;$=f+(l+s<<3)|0;b[$>>3]=+b[$>>3]+ +b[u+(l<<3)>>3]*E;l=l+1|0}c=c+1|0}Z=Z+1|0;if(!I){if(0){$=a[F>>2]|0;a[_>>2]=Z;b[_+8>>3]=E;b[_+16>>3]=h;a[_+24>>2]=$;b[_+32>>3]=w;f3(M,92099,_)|0}}else{eq(I);pT(O,+b[V>>3]*.85+ +b[K>>3]+ +b[J>>3]*3.3)}E=+KT(j,E,h,G,T);if(!((Z|0)<(x|0)&E>p))break;else G=h}if(a[i+112>>2]|0)_T(A,X,f);RT(O);a[S>>2]=C;L2(L);if((X|0)!=(e|0))rq(X);L2(W)}}while(0);k=q;return}function KT(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;do{if(A){if(i>=r){e=f*e;break}if(!(r*.95>2]|0;L=a[e+20>>2]|0;v=a[e+24>>2]|0;a[E>>2]=10;a[Q>>2]=10;g=$F(m<<2)|0;f=$F(80)|0;a[Z>>2]=f;r=$F(40)|0;a[G>>2]=r;e=0;while(1){if((e|0)>=(m|0)){w=0;d=f;c=r;u=r;s=f;break}a[g+(e<<2)>>2]=0;e=e+1|0}while(1){if((w|0)>=(m|0))break;e=a[L+(w<<2)>>2]|0;A:do{if((((a[L+(w+1<<2)>>2]|0)-e|0)==1?(a[g+(w<<2)>>2]|0)==0:0)?(C=a[v+(e<<2)>>2]|0,I=g+(C<<2)|0,(a[I>>2]|0)==0):0){a[I>>2]=1;h=L+(C+1<<2)|0;w=0;B=0;n=0.0;o=a[L+(C<<2)>>2]|0;c=u;e=d;while(1){if((o|0)>=(a[h>>2]|0))break;r=v+(o<<2)|0;f=a[r>>2]|0;if(((a[L+(f+1<<2)>>2]|0)-(a[L+(f<<2)>>2]|0)|0)==1){a[g+(f<<2)>>2]=1;jT(G,B,E);n=+_s(i,A,C,a[r>>2]|0)+n;c=a[G>>2]|0;a[c+(B<<2)>>2]=a[r>>2];r=w;f=B+1|0}else{TT(Z,w,Q);t=+ST(i,A,C,a[r>>2]|0);e=a[Z>>2]|0;b[e+(w<<3)>>3]=t;r=w+1|0;f=B;s=e}w=r;B=f;o=o+1|0}t=n/+(B|0);if((w|0)>0){qT(w,s);e=s}n=(B|0)>1?6.283185307179586/+(B+-1|0):0.0;r=0;l=0.0;while(1){if((r|0)>=(B|0)){u=c;f=c;break A}$T(i,A,t,l,C,a[c+(r<<2)>>2]|0);r=r+1|0;l=l+n}}else{r=w;f=c;e=d}}while(0);w=r+1|0;d=e;c=f}L2(g);L2(d);L2(c);k=W;return}function qT(A,e){A=A|0;e=e|0;K4(e,A,8,68);return}function $T(A,e,i,r,f,a){A=A|0;e=e|0;i=+i;r=+r;f=f|0;a=a|0;var n=0.0;n=+D(+r)*i;f=U(f,e)|0;a=U(a,e)|0;b[A+(a<<3)>>3]=n+ +b[A+(f<<3)>>3];r=+M(+r)*i;b[A+(a+1<<3)>>3]=r+ +b[A+(f+1<<3)>>3];return}function Aj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,k=0.0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0,m=0.0,L=0.0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0.0,H=0,p=0.0,x=0,T=0,j=0,S=0,P=0.0;k=+b[i>>3];w=i+24|0;s=+b[w>>3];u=i+32|0;c=+b[u>>3];R=+b[i+72>>3];H=a[i+80>>2]|0;p=+b[i+88>>3];d=+b[i+96>>3];x=a[i+104>>2]|0;l=a[i+56>>2]|0;L3(92198,32,1,a[15712]|0)|0;if(!((e|0)==0|(H|0)<1)?(T=a[e>>2]|0,t=a[e+4>>2]|0,!((A|0)<1|(t|0)<1)):0){o=A<<3;j=$F(U(o,t)|0)|0;if((t|0)<(a[i+52>>2]|0)){M=0;F=0;V=0;J=0;N=0;X=0}else{HT(l)|0;J=$F(A*80|0)|0;N=$F(80)|0;X=$F(80)|0;M=X;F=N;V=J}a[n>>2]=0;if((T|0)==(t|0)){W=tq(e,1)|0;y=a[W+20>>2]|0;D=a[W+24>>2]|0;A:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);t=U(T,A)|0;l=0;while(1){if((l|0)>=(t|0))break A;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(s<0.0){s=+xT(W,A,f);b[w>>3]=s}if(c<0.0){b[u>>3]=.2;c=.2}if(k>=0.0){b[i>>3]=-1.0;k=-1.0}m=1.0-k;L=+Y(+s,+m);G=+Y(+c,+((2.0-k)*.3333333333333333))/s;Q=$F(o)|0;g=U(T,o)|0;E=$F(g)|0;C=U(T,A)|0;I=i+116|0;Z=(r|0)!=0;v=k==-1.0;B=0;k=0.0;while(1){l=0;while(1){if((l|0)>=(C|0))break;b[j+(l<<3)>>3]=0.0;l=l+1|0}y6(E|0,f|0,g|0)|0;o=0;while(1){if((o|0)<(T|0))l=0;else{u=0;break}while(1){if((l|0)>=(A|0))break;b[Q+(l<<3)>>3]=0.0;l=l+1|0}u=U(o,A)|0;A:do{if(Z&(a[I>>2]|0)!=0){l=0;while(1){if((l|0)==(T|0)){l=0;break A}e:do{if((l|0)!=(o|0)){s=+Ks(f,A,o,l);n=r+(l<<3)|0;w=U(l,A)|0;c=+Y(+s,+m);c=1.0/(v?s*s:c);t=0;while(1){if((t|0)>=(A|0))break e;h=Q+(t<<3)|0;b[h>>3]=+b[n>>3]*L*(+b[f+(t+u<<3)>>3]-+b[f+(t+w<<3)>>3])*c+ +b[h>>3];t=t+1|0}}}while(0);l=l+1|0}}else{l=0;while(1){if((l|0)==(T|0)){l=0;break A}e:do{if((l|0)!=(o|0)){s=+Ks(f,A,o,l);n=U(l,A)|0;c=+Y(+s,+m);c=1.0/(v?s*s:c);t=0;while(1){if((t|0)>=(A|0))break e;h=Q+(t<<3)|0;b[h>>3]=(+b[f+(t+u<<3)>>3]-+b[f+(t+n<<3)>>3])*L*c+ +b[h>>3];t=t+1|0}}}while(0);l=l+1|0}}}while(0);while(1){if((l|0)>=(A|0))break;h=j+(l+u<<3)|0;b[h>>3]=+b[h>>3]+ +b[Q+(l<<3)>>3];l=l+1|0}o=o+1|0}A:while(1){if((u|0)<(T|0))l=0;else{s=0.0;t=0;break}while(1){if((l|0)>=(A|0))break;b[Q+(l<<3)>>3]=0.0;l=l+1|0}o=u+1|0;n=y+(o<<2)|0;h=U(u,A)|0;t=a[y+(u<<2)>>2]|0;while(1){if((t|0)>=(a[n>>2]|0)){l=0;break}w=D+(t<<2)|0;l=a[w>>2]|0;e:do{if((l|0)!=(u|0)){c=+_s(f,A,u,l)*G;l=0;while(1){if((l|0)>=(A|0))break e;s=c*(+b[f+(l+h<<3)>>3]-+b[f+((U(a[w>>2]|0,A)|0)+l<<3)>>3]);S=Q+(l<<3)|0;b[S>>3]=+b[S>>3]-s;l=l+1|0}}}while(0);t=t+1|0}while(1){if((l|0)>=(A|0)){u=o;continue A}S=j+(l+h<<3)|0;b[S>>3]=+b[S>>3]+ +b[Q+(l<<3)>>3];l=l+1|0}}while(1){if((t|0)>=(T|0))break;n=U(t,A)|0;l=0;while(1){if((l|0)>=(A|0)){c=0.0;l=0;break}b[Q+(l<<3)>>3]=+b[j+(l+n<<3)>>3];l=l+1|0}while(1){if((l|0)>=(A|0))break;P=+b[Q+(l<<3)>>3];c=P*P+c;l=l+1|0}c=+z(+c);s=c+s;A:do{if(c>0.0){c=1.0/c;l=0;while(1){if((l|0)>=(A|0)){l=0;break A}S=Q+(l<<3)|0;b[S>>3]=+b[S>>3]*c;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(A|0))break;S=f+(l+n<<3)|0;b[S>>3]=+b[S>>3]+ +b[Q+(l<<3)>>3]*d;l=l+1|0}t=t+1|0}B=B+1|0;d=+KT(x,d,s,k,p);if(!((B|0)<(H|0)&d>R))break;else k=s}if(a[i+112>>2]|0)_T(A,W,f);L2(E);if((W|0)!=(e|0))rq(W);L2(Q)}else a[n>>2]=-100;if(V|0)L2(J);if(F|0)L2(N);if(M|0)L2(X);L2(j)}return}function ej(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0,y=0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0.0,R=0.0,H=0,p=0,x=0,T=0,j=0,S=0.0,P=0,O=0.0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0.0,tA=0;nA=k;k=k+32|0;q=nA+24|0;$=nA+20|0;rA=nA+16|0;fA=nA+12|0;aA=nA+8|0;j=nA;B=+b[i>>3];c=i+24|0;d=+b[c>>3];s=i+32|0;h=+b[s>>3];S=+b[i+72>>3];P=a[i+80>>2]|0;O=+b[i+88>>3];v=+b[i+96>>3];K=a[i+104>>2]|0;a[q>>2]=0;a[$>>2]=10;a[rA>>2]=0;a[fA>>2]=0;a[aA>>2]=0;b[j>>3]=0.0;iA=i+56|0;w=a[iA>>2]|0;if(!((e|0)==0|(P|0)<1)?(_=a[e>>2]|0,l=a[e+4>>2]|0,!((A|0)<1|(l|0)<1)):0){if((l|0)<(a[i+52>>2]|0)){eA=0;AA=0}else{eA=HT(w)|0;a[rA>>2]=$F(A*80|0)|0;a[fA>>2]=$F(80)|0;a[aA>>2]=$F(80)|0;AA=1}a[n>>2]=0;A:do{if((_|0)==(l|0)){u=tq(e,1)|0;H=a[u+20>>2]|0;p=a[u+24>>2]|0;e:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);t=U(_,A)|0;l=0;while(1){if((l|0)>=(t|0))break e;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(d<0.0){d=+xT(u,A,f);b[c>>3]=d}if(h<0.0){b[s>>3]=.2;h=.2}if(B>=0.0){b[i>>3]=-1.0;B=-1.0}X=1.0-B;R=+Y(+d,+X);M=+Y(+h,+((2.0-B)*.3333333333333333))/d;F=A<<3;x=$F(F)|0;F=U(_,F)|0;T=$F(F)|0;V=(AA|0)!=0;J=i+116|0;N=i+64|0;W=B==-1.0;y=(r|0)!=0;D=1.0/+(_|0);l=0;m=0;L=0.0;while(1){m=m+1|0;y6(T|0,f|0,F|0)|0;if(V){l=UT(eA)|0;w=l;l=P_(A,_,l,f,(a[J>>2]|0)==0?0:r)|0}g=0.0;B=0.0;E=0;d=0.0;e:while(1){if((E|0)<(_|0))t=0;else break;while(1){if((t|0)>=(A|0))break;b[x+(t<<3)>>3]=0.0;t=t+1|0}G=E+1|0;s=H+(G<<2)|0;Q=U(E,A)|0;c=a[H+(E<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;o=p+(c<<2)|0;t=a[o>>2]|0;i:do{if((t|0)!=(E|0)){h=+_s(f,A,E,t)*M;t=0;while(1){if((t|0)>=(A|0))break i;lA=h*(+b[f+(t+Q<<3)>>3]-+b[f+((U(a[o>>2]|0,A)|0)+t<<3)>>3]);Z=x+(t<<3)|0;b[Z>>3]=+b[Z>>3]-lA;t=t+1|0}}}while(0);c=c+1|0}i:do{if(!V)if(y&(a[J>>2]|0)!=0){t=0;while(1){if((t|0)==(_|0))break i;r:do{if((t|0)!=(E|0)){lA=+Ks(f,A,E,t);s=r+(t<<3)|0;o=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break r;Z=x+(c<<3)|0;b[Z>>3]=+b[s>>3]*R*(+b[f+(c+Q<<3)>>3]-+b[f+(c+o<<3)>>3])*h+ +b[Z>>3];c=c+1|0}}}while(0);t=t+1|0}}else{t=0;while(1){if((t|0)==(_|0))break i;r:do{if((t|0)!=(E|0)){lA=+Ks(f,A,E,t);s=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break r;Z=x+(c<<3)|0;b[Z>>3]=(+b[f+(c+Q<<3)>>3]-+b[f+(c+s<<3)>>3])*R*h+ +b[Z>>3];c=c+1|0}}}while(0);t=t+1|0}}else{p_(l,+b[N>>3],f+(Q<<3)|0,E,q,$,rA,fA,aA,j,n);g=+b[j>>3]+g;Z=a[q>>2]|0;B=B+ +(Z|0);if(a[n>>2]|0){s=x;c=T;l=x;t=T;o=67;break A}s=a[aA>>2]|0;o=a[fA>>2]|0;E=a[rA>>2]|0;t=0;while(1){if((t|0)>=(Z|0))break i;lA=+b[s+(t<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;C=o+(t<<3)|0;I=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break;tA=x+(c<<3)|0;b[tA>>3]=+b[C>>3]*R*(+b[f+(c+Q<<3)>>3]-+b[E+(c+I<<3)>>3])*h+ +b[tA>>3];c=c+1|0}t=t+1|0}}}while(0);h=0.0;t=0;while(1){if((t|0)>=(A|0))break;lA=+b[x+(t<<3)>>3];h=lA*lA+h;t=t+1|0}h=+z(+h);d=h+d;i:do{if(h>0.0){h=1.0/h;t=0;while(1){if((t|0)>=(A|0)){t=0;break i}tA=x+(t<<3)|0;b[tA>>3]=+b[tA>>3]*h;t=t+1|0}}else t=0}while(0);while(1){if((t|0)>=(A|0)){E=G;continue e}tA=f+(t+Q<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[x+(t<<3)>>3]*v;t=t+1|0}}if(l|0){eq(l);pT(eA,B*D*5.0+g*D)}v=+KT(K,v,d,L,O);if(!((m|0)<(P|0)&v>S))break;else L=d}if(!(a[i+112>>2]|0)){s=x;c=T;t=T;l=x;o=66}else{_T(A,u,f);s=x;c=T;t=T;l=x;o=66}}else{a[n>>2]=-100;u=e;s=0;c=0;t=0;l=0;o=66}}while(0);if((o|0)==66)if(AA)o=67;if((o|0)==67){RT(eA);a[iA>>2]=w}if(c|0)L2(t);if((u|0)!=(e|0))rq(u);if(s|0)L2(l);l=a[rA>>2]|0;if(l|0)L2(l);l=a[fA>>2]|0;if(l|0)L2(l);l=a[aA>>2]|0;if(l|0)L2(l)}k=nA;return}function ij(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=+l;t=t|0;var c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0.0,G=0,Q=0,m=0.0,L=0,W=0.0,y=0.0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0.0,_=0,q=0.0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0.0,tA=0;nA=k;k=k+48|0;u=nA+8|0;eA=nA+40|0;iA=nA+36|0;P=nA+32|0;fA=nA+28|0;aA=nA+24|0;O=nA;o=+b[r>>3];h=r+32|0;d=+b[h>>3];K=+b[r+72>>3];_=a[r+80>>2]|0;q=+b[r+88>>3];v=+b[r+96>>3];$=a[r+104>>2]|0;a[eA>>2]=0;a[iA>>2]=10;a[P>>2]=0;a[fA>>2]=0;a[aA>>2]=0;b[O>>3]=0.0;if(!((e|0)==0|(_|0)<1)?(AA=a[e>>2]|0,w=a[e+4>>2]|0,!((A|0)<1|(w|0)<1)):0){if((a[r+132>>2]|0)!=0?(w|0)>=(a[r+52>>2]|0):0){s=$F(A*80|0)|0;a[P>>2]=s;a[fA>>2]=$F(80)|0;a[aA>>2]=$F(80)|0;B=1;c=s}else{B=0;c=0;s=0}a[t>>2]=0;if((AA|0)==(w|0)){S=tq(e,1)|0;if(!i){j=0;c=S}else{j=a[i+28>>2]|0;c=i}T=a[c+24>>2]|0;x=a[c+20>>2]|0;if(l<0.0){y=+rj(AA,x,j);W=+(a[x+(AA<<2)>>2]|0);m=+(AA|0);l=W/(m*m-W)*l/+Y(+y,+(o+1.0));p=a[15712]|0;b[u>>3]=y;b[u+8>>3]=l;f3(p,92231,u)|0}A:do{if(a[r+16>>2]|0){L3(92253,24,1,a[15712]|0)|0;f8(a[r+108>>2]|0);s=U(AA,A)|0;c=0;while(1){if((c|0)>=(s|0))break A;b[n+(c<<3)>>3]=+Us();c=c+1|0}}}while(0);fj(AA,A,n,x,T,j);if(d<0.0)b[h>>3]=.2;if(o>=0.0){b[r>>3]=-1.0;o=-1.0}H=A<<3;R=$F(H)|0;H=U(AA,H)|0;p=$F(H)|0;M=(B|0)!=0;F=r+116|0;V=(j|0)==0;J=r+8|0;N=(f|0)!=0;X=o==-1.0;y=1.0-o;D=r+64|0;c=0;L=0;W=0.0;o=1.0;m=v;A:while(1){L=L+1|0;y6(p|0,n|0,H|0)|0;if(M)c=P_(A,AA,10,n,(a[F>>2]|0)==0?0:f)|0;B=0;v=0.0;e:while(1){if((B|0)<(AA|0))s=0;else break;while(1){if((s|0)>=(A|0))break;b[R+(s<<3)>>3]=0.0;s=s+1|0}Q=B+1|0;h=x+(Q<<2)|0;G=U(B,A)|0;u=a[x+(B<<2)>>2]|0;while(1){if((u|0)>=(a[h>>2]|0))break;i=T+(u<<2)|0;s=a[i>>2]|0;i:do{if((s|0)!=(B|0)){Z=+Ks(n,A,B,s);if(!V)o=+b[j+(u<<3)>>3];d=+b[J>>3];r:do{if(!(d==2.0))if(d==1.0){d=(Z-o)*(1.0/(o*o));g=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;E=d*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*g;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-E;s=s+1|0}}else{d=1.0/+Y(+o,+(d+1.0));g=Z-o;E=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;lA=+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3];lA=d*lA*+Y(+g,+ +b[J>>3])*E;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}else{d=Z-o;d=d*d*(1.0/(o*o*o));g=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;lA=d*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*g;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}}while(0);if(N&(a[F>>2]|0)!=0){w=f+(u<<3)|0;d=+Y(+Z,+y);d=1.0/(X?Z*Z:d);s=0;while(1){if((s|0)>=(A|0))break i;lA=+b[w>>3]*l*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*d;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}else{d=+Y(+Z,+y);d=1.0/(X?Z*Z:d);s=0;while(1){if((s|0)>=(A|0))break i;lA=(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*l*d;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}}}while(0);u=u+1|0}i:do{if(!M)if(N&(a[F>>2]|0)!=0){s=0;while(1){if((s|0)==(AA|0)){d=0.0;s=0;break i}r:do{if((s|0)!=(B|0)){lA=+Ks(n,A,B,s);i=f+(s<<3)|0;u=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break r;I=R+(w<<3)|0;b[I>>3]=+b[i>>3]*l*(+b[n+(w+G<<3)>>3]-+b[n+(w+u<<3)>>3])*d+ +b[I>>3];w=w+1|0}}}while(0);s=s+1|0}}else{s=0;while(1){if((s|0)==(AA|0)){d=0.0;s=0;break i}r:do{if((s|0)!=(B|0)){lA=+Ks(n,A,B,s);i=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break r;I=R+(w<<3)|0;b[I>>3]=(+b[n+(w+G<<3)>>3]-+b[n+(w+i<<3)>>3])*l*d+ +b[I>>3];w=w+1|0}}}while(0);s=s+1|0}}else{p_(c,+b[D>>3],n+(G<<3)|0,B,eA,iA,P,fA,aA,O,t);i=a[eA>>2]|0;if(a[t>>2]|0)break A;u=a[aA>>2]|0;h=a[fA>>2]|0;B=a[P>>2]|0;s=0;while(1){if((s|0)>=(i|0)){d=0.0;s=0;break i}lA=+b[u+(s<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;C=h+(s<<3)|0;I=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break;tA=R+(w<<3)|0;b[tA>>3]=+b[C>>3]*l*(+b[n+(w+G<<3)>>3]-+b[B+(w+I<<3)>>3])*d+ +b[tA>>3];w=w+1|0}s=s+1|0}}}while(0);while(1){if((s|0)>=(A|0))break;lA=+b[R+(s<<3)>>3];d=lA*lA+d;s=s+1|0}d=+z(+d);v=d+v;i:do{if(d>0.0){d=1.0/d;s=0;while(1){if((s|0)>=(A|0)){s=0;break i}tA=R+(s<<3)|0;b[tA>>3]=+b[tA>>3]*d;s=s+1|0}}else s=0}while(0);while(1){if((s|0)>=(A|0)){B=Q;continue e}tA=n+(s+G<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[R+(s<<3)>>3]*m;s=s+1|0}}if(c|0)eq(c);m=+KT($,m,v,W,q);if(!((L|0)<(_|0)&m>K)){rA=83;break}else W=v}if((rA|0)==83?a[r+112>>2]|0:0)_T(A,S,n);L2(p);if((S|0)!=(e|0))rq(S);L2(R);c=a[P>>2]|0;s=c}else a[t>>2]=-100;if(s|0)L2(c);c=a[fA>>2]|0;if(c|0)L2(c);c=a[aA>>2]|0;if(c|0)L2(c)}k=nA;return}function rj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0.0;if(!i)r=1.0;else{f=0;r=0.0;A:while(1){if((f|0)>=(A|0))break;n=f+1|0;l=a[e+(n<<2)>>2]|0;f=a[e+(f<<2)>>2]|0;while(1){if((f|0)>=(l|0)){f=n;continue A}t=+b[i+(f<<3)>>3]+r;f=f+1|0;r=t}}r=r/+(a[e+(A<<2)>>2]|0)}return+r}function fj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0;E=k;k=k+16|0;g=E;v=(n|0)==0;c=0.0;s=0.0;w=1.0;t=0;A:while(1){if((t|0)>=(A|0))break;d=t+1|0;B=r+(d<<2)|0;h=a[r+(t<<2)>>2]|0;while(1){if((h|0)>=(a[B>>2]|0)){t=d;continue A}l=a[f+(h<<2)>>2]|0;e:do{if((l|0)!=(t|0)){u=+Ks(i,e,t,l);if(!v)w=+b[n+(h<<3)>>3];C=1.0/(w*w);o=w*u*C;u=u*u*C;l=0;while(1){if((l|0)>=(e|0))break e;l=l+1|0;c=c+u;s=s+o}}}while(0);h=h+1|0}}c=s/c;t=U(e,A)|0;l=0;while(1){if((l|0)>=(t|0))break;e=i+(l<<3)|0;b[e>>3]=+b[e>>3]*c;l=l+1|0}i=a[15712]|0;b[g>>3]=c;f3(i,92278,g)|0;k=E;return}function aj(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0.0,u=0.0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0,W=0,y=0.0,D=0,M=0.0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0.0,O=0,K=0.0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0.0,lA=0.0,tA=0;aA=k;k=k+32|0;$=aA+24|0;AA=aA+20|0;eA=aA+16|0;rA=aA+12|0;fA=aA+8|0;S=aA;d=+b[r>>3];o=r+24|0;u=+b[o>>3];h=r+32|0;w=+b[h>>3];P=+b[r+72>>3];O=a[r+80>>2]|0;K=+b[r+88>>3];E=+b[r+96>>3];_=a[r+104>>2]|0;a[$>>2]=0;a[AA>>2]=10;a[eA>>2]=0;a[rA>>2]=0;a[fA>>2]=0;b[S>>3]=0.0;if(!((e|0)==0|(O|0)<1)?(q=a[e>>2]|0,s=a[e+4>>2]|0,!((A|0)<1|(s|0)<1)):0){if((s|0)<(a[r+52>>2]|0)){B=0;t=0;c=0}else{c=$F(A*80|0)|0;a[eA>>2]=c;a[rA>>2]=$F(80)|0;a[fA>>2]=$F(80)|0;B=1;t=c}a[l>>2]=0;if((q|0)==(s|0)){H=tq(e,1)|0;p=a[H+20>>2]|0;x=a[H+24>>2]|0;T=a[i+20>>2]|0;j=a[i+24>>2]|0;R=a[i+28>>2]|0;A:do{if(a[r+16>>2]|0){f8(a[r+108>>2]|0);c=U(q,A)|0;t=0;while(1){if((t|0)>=(c|0))break A;b[n+(t<<3)>>3]=+Us();t=t+1|0}}}while(0);if(u<0.0){u=+xT(H,A,n);b[o>>3]=u}if(w<0.0){b[h>>3]=.2;w=.2}if(d>=0.0){b[r>>3]=-1.0;d=-1.0}N=1.0-d;X=+Y(+u,+N);M=+Y(+w,+((2.0-d)*.3333333333333333))/u;V=A<<3;F=$F(V)|0;V=U(q,V)|0;J=$F(V)|0;L=(B|0)!=0;W=r+116|0;y=M*.2;D=r+64|0;Q=d==-1.0;m=(f|0)!=0;t=0;Z=0;G=0.0;A:while(1){Z=Z+1|0;y6(J|0,n|0,V|0)|0;if(L)t=P_(A,q,10,n,(a[W>>2]|0)==0?0:f)|0;B=0;u=0.0;e:while(1){if((B|0)<(q|0))c=0;else break;while(1){if((c|0)>=(A|0))break;b[F+(c<<3)>>3]=0.0;c=c+1|0}C=B+1|0;i=p+(C<<2)|0;I=U(B,A)|0;s=a[p+(B<<2)>>2]|0;while(1){if((s|0)>=(a[i>>2]|0))break;o=x+(s<<2)|0;c=a[o>>2]|0;i:do{if((c|0)!=(B|0)){w=+_s(n,A,B,c)*M;c=0;while(1){if((c|0)>=(A|0))break i;d=w*(+b[n+(c+I<<3)>>3]-+b[n+((U(a[o>>2]|0,A)|0)+c<<3)>>3]);g=F+(c<<3)|0;b[g>>3]=+b[g>>3]-d;c=c+1|0}}}while(0);s=s+1|0}o=T+(C<<2)|0;i=a[T+(B<<2)>>2]|0;while(1){if((i|0)>=(a[o>>2]|0))break;h=j+(i<<2)|0;c=a[h>>2]|0;i:do{if((c|0)!=(B|0)){w=+Ks(n,A,B,c);s=R+(i<<3)|0;d=1.0/w;c=0;while(1){if((c|0)>=(A|0))break i;lA=+b[s>>3];nA=w-lA;nA=nA*nA*y*(+b[n+(c+I<<3)>>3]-+b[n+((U(a[h>>2]|0,A)|0)+c<<3)>>3])*d;g=F+(c<<3)|0;b[g>>3]=(w>3];c=c+1|0}}}while(0);i=i+1|0}i:do{if(!L)if(m&(a[W>>2]|0)!=0){c=0;while(1){if((c|0)==(q|0)){w=0.0;c=0;break i}r:do{if((c|0)!=(B|0)){lA=+Ks(n,A,B,c);i=f+(c<<3)|0;o=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break r;g=F+(s<<3)|0;b[g>>3]=+b[i>>3]*X*(+b[n+(s+I<<3)>>3]-+b[n+(s+o<<3)>>3])*w+ +b[g>>3];s=s+1|0}}}while(0);c=c+1|0}}else{c=0;while(1){if((c|0)==(q|0)){w=0.0;c=0;break i}r:do{if((c|0)!=(B|0)){lA=+Ks(n,A,B,c);i=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break r;g=F+(s<<3)|0;b[g>>3]=(+b[n+(s+I<<3)>>3]-+b[n+(s+i<<3)>>3])*X*w+ +b[g>>3];s=s+1|0}}}while(0);c=c+1|0}}else{p_(t,+b[D>>3],n+(I<<3)|0,B,$,AA,eA,rA,fA,S,l);i=a[$>>2]|0;if(a[l>>2]|0)break A;o=a[fA>>2]|0;h=a[rA>>2]|0;B=a[eA>>2]|0;c=0;while(1){if((c|0)>=(i|0)){w=0.0;c=0;break i}lA=+b[o+(c<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;v=h+(c<<3)|0;g=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break;tA=F+(s<<3)|0;b[tA>>3]=+b[v>>3]*X*(+b[n+(s+I<<3)>>3]-+b[B+(s+g<<3)>>3])*w+ +b[tA>>3];s=s+1|0}c=c+1|0}}}while(0);while(1){if((c|0)>=(A|0))break;lA=+b[F+(c<<3)>>3];w=lA*lA+w;c=c+1|0}w=+z(+w);u=w+u;i:do{if(w>0.0){w=1.0/w;c=0;while(1){if((c|0)>=(A|0)){c=0;break i}tA=F+(c<<3)|0;b[tA>>3]=+b[tA>>3]*w;c=c+1|0}}else c=0}while(0);while(1){if((c|0)>=(A|0)){B=C;continue e}tA=n+(c+I<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[F+(c<<3)>>3]*E;c=c+1|0}}if(t|0)eq(t);E=+KT(_,E,u,G,K);if(!((Z|0)<(O|0)&E>P)){iA=70;break}else G=u}if((iA|0)==70?a[r+112>>2]|0:0)_T(A,H,n);L2(J);if((H|0)!=(e|0))rq(H);L2(F);t=a[eA>>2]|0;c=t}else a[l>>2]=-100;if(c|0)L2(t);t=a[rA>>2]|0;if(t|0)L2(t);t=a[fA>>2]|0;if(t|0)L2(t)}k=aA;return}function nj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0;u=a[e+20>>2]|0;k=a[e+24>>2]|0;o=$F(A<<3)|0;w=a[e>>2]|0;c=0;A:while(1){if((c|0)<(w|0))e=0;else break;while(1){if((e|0)>=(A|0))break;b[o+(e<<3)>>3]=0.0;e=e+1|0}s=c+1|0;t=a[u+(s<<2)>>2]|0;l=a[u+(c<<2)>>2]|0;e=0;while(1){if((l|0)>=(t|0))break;r=a[k+(l<<2)>>2]|0;if((r|0)!=(c|0)){n=U(r,A)|0;r=0;while(1){if((r|0)>=(A|0))break;h=o+(r<<3)|0;b[h>>3]=+b[h>>3]+ +b[i+(n+r<<3)>>3];r=r+1|0}e=e+1|0}l=l+1|0}if((e|0)<=0){c=s;continue}f=.5/+(e|0);r=U(c,A)|0;e=0;while(1){if((e|0)>=(A|0)){c=s;continue A}h=i+(e+r<<3)|0;b[h>>3]=+b[o+(e<<3)>>3]*f+ +b[h>>3]*.5;e=e+1|0}}L2(o);return}function lj(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0.0;t=a[A+20>>2]|0;c=a[A+24>>2]|0;l=a[A>>2]|0;b=$F((l<<2)+4|0)|0;A=0;while(1){if((A|0)>(l|0)){i=0;r=0;break}a[b+(A<<2)>>2]=0;A=A+1|0}while(1){if((r|0)>=(l|0))break;f=r+1|0;n=a[t+(f<<2)>>2]|0;A=0;e=a[t+(r<<2)>>2]|0;while(1){if((e|0)>=(n|0))break;A=A+((r|0)!=(a[c+(e<<2)>>2]|0)&1)|0;e=e+1|0}n=b+(A<<2)|0;r=(a[n>>2]|0)+1|0;a[n>>2]=r;i=(i|0)>(r|0)?i:r;r=f}s=+(a[b+4>>2]|0);if(+(i|0)*.8=(n|0)){f=0;break}b[w+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((f|0)>=(e|0)){n=0;break}b[t+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=t+(f<<3)|0;b[s>>3]=+b[s>>3]+ +b[i+(f+l<<3)>>3];f=f+1|0}n=n+1|0}r=1.0/+(A|0);f=0;while(1){if((f|0)>=(e|0)){n=0;break}s=t+(f<<3)|0;b[s>>3]=+b[s>>3]*r;f=f+1|0}while(1){if((n|0)>=(A|0)){l=0;break}l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=i+(f+l<<3)|0;b[s>>3]=+b[s>>3]-+b[t+(f<<3)>>3];f=f+1|0}n=n+1|0}while(1){if((l|0)>=(A|0))break;t=U(l,e)|0;n=0;while(1){if((n|0)>=(e|0))break;c=i+(n+t<<3)|0;s=U(n,e)|0;f=0;while(1){if((f|0)==(e|0))break;o=w+(f+s<<3)|0;b[o>>3]=+b[o>>3]+ +b[i+(f+t<<3)>>3]*+b[c>>3];f=f+1|0}n=n+1|0}l=l+1|0}r=+b[w+8>>3];if(r==0.0)r=0.0;else{h=+b[w>>3];a=+b[w+24>>3];r=-(a-h-+z(+(h*h+r*r*4.0+(h*-2.0+a)*a)))/(r*2.0)}a=+z(+(r*r+1.0));r=r/a;a=1.0/a;f=0;while(1){if((f|0)>=(A|0))break;o=U(f,e)|0;w=i+(o<<3)|0;h=+b[w>>3];o=i+(o+1<<3)|0;d=+b[o>>3];b[w>>3]=d*a+h*r;b[o>>3]=d*r-h*a;f=f+1|0}k=u;return}function cj(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;bj(A,e,i,r,f,a,n,l,t,c);return}function bj(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+192|0;M=N+176|0;D=N+168|0;V=N;y6(V|0,r|0,168)|0;a[s>>2]=0;do{if(e|0?(J=a[e+4>>2]|0,!((A|0)<1|(J|0)<1)):0){if((cq(e,0)|0)!=0?(a[e+16>>2]|0)==1:0){if((a[r+136>>2]|0)==1)u=kq(i)|0;else u=i;F=kq(e)|0}else v=5;do{if((v|0)==5)if((a[r+136>>2]|0)==1){F=uq(e,0)|0;u=uq(i,0)|0;break}else{F=Hs(e)|0;u=i;break}}while(0);Y=r+160|0;o=a[Y>>2]|0;if((o|0)==3){if((t|0)>0)v=14}else if((t|0)>0&(o|0)==4)v=14;if((v|0)==14){i=$F(U(A<<3,a[F>>2]|0)|0)|0;J=sj(F,t,c)|0;cj(A,J,0,r,0,0,i,0,0,s);wj(A,F,t,c,l,i);qO(A,F,l,n,a[r+124>>2]|0,+b[r+144>>3],a[Y>>2]|0,t,c);rq(J);L2(i);if((F|0)==(e|0))break;rq(F);break}y=fw(a[r+44>>2]|0,a[r+48>>2]|0)|0;a[y+16>>2]=a[r+40>>2];z=Bw(F,u,f,y)|0;h=Ew(z)|0;if(!(a[h+32>>2]|0))d=l;else d=$F(U(A<<3,a[h+4>>2]|0)|0)|0;o=lj(F)|0;if(+b[r>>3]==-1.0001234)b[r>>3]=(o|0)==0?-1.0:-1.8;E=r+136|0;C=r+24|0;I=r+16|0;Z=r+104|0;G=r+96|0;Q=A<<3;m=r+132|0;L=a[15712]|0;W=r+80|0;while(1){A:do{switch(a[E>>2]|0){case 0:{switch(a[m>>2]|0){case 0:{Aj(A,a[h+8>>2]|0,r,a[h+24>>2]|0,d,s);break A}case 2:{o=h+8|0;v=29;break}case 3:{o=h+8|0;B=a[o>>2]|0;if((a[B>>2]|0)>1e4)if(!0)v=29;else{a[D>>2]=1e4;f3(L,92299,D)|0;v=29}else v=30;break}default:{B=a[h+8>>2]|0;v=30}}if((v|0)==29){OT(A,a[o>>2]|0,r,a[h+24>>2]|0,d,s);break A}else if((v|0)==30){ej(A,B,r,a[h+24>>2]|0,d,s);break A}break}case 1:{b[G>>3]=1.0;a[Z>>2]=1;g=(a[h+28>>2]|0)==0;w=g?.5:.05;a[W>>2]=g?500:100;g=(a[h+32>>2]|0)==0;o=h+8|0;B=h+12|0;v=h+24|0;ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w,s);if(g){a[I>>2]=0;b[G>>3]=.05;a[Z>>2]=0;ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.5,s);ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.125,s);ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.03125,s)}break}default:{}}}while(0);v=a[h+32>>2]|0;if(!v){v=39;break}if(a[s>>2]|0){v=35;break}g=a[h+16>>2]|0;o=a[h+40>>2]|0;if(!(a[v+32>>2]|0))B=l;else B=$F(U(Q,a[v+4>>2]|0)|0)|0;uj(A,a[v+8>>2]|0,g,a[v+20>>2]|0,d,B,o,+b[C>>3]*.001);L2(d);a[I>>2]=0;b[C>>3]=+b[C>>3]*.75;a[Z>>2]=0;b[G>>3]=((a[(a[v+28>>2]|0)+40>>2]|0)+-9|0)>>>0<2?1.0:.1;h=v;d=B}if((v|0)==35)L2(d);else if((v|0)==39){Tw(A,F,r,f,l,s);if(0){a[M>>2]=a[r+124>>2];f3(L,92362,M)|0}if((A|0)==2)tj(J,2,l);w=+b[r+152>>3];if(w!=0.0)kj(J,A,l,w);qO(A,F,l,n,a[r+124>>2]|0,+b[r+144>>3],a[Y>>2]|0,t,c)}y6(r|0,V|0,168)|0;if((F|0)!=(e|0))rq(F);if(!((u|0)==0|(u|0)==(i|0)))rq(u);aw(y);nw(z)}}while(0);k=N;return}function sj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;I=Z;g=a[A+20>>2]|0;E=a[A+24>>2]|0;C=$F(a[A>>2]<<2)|0;r=0;while(1){if((r|0)>=(a[A>>2]|0)){r=0;break}a[C+(r<<2)>>2]=1;r=r+1|0}while(1){if((r|0)>=(e|0)){r=0;i=0;break}a[C+(a[i+(r<<2)>>2]<<2)>>2]=-1;r=r+1|0}while(1){s=a[A>>2]|0;if((i|0)>=(s|0)){i=0;e=0;break}e=C+(i<<2)|0;if((a[e>>2]|0)>0){a[e>>2]=r;r=r+1|0}i=i+1|0}A:while(1){while(1){if((e|0)>=(s|0))break A;if((a[C+(e<<2)>>2]|0)>=0)break;e=e+1|0}c=e+1|0;b=a[g+(c<<2)>>2]|0;t=a[g+(e<<2)>>2]|0;while(1){if((t|0)>=(b|0)){e=c;continue A}f=a[E+(t<<2)>>2]|0;e:do{if((a[C+(f<<2)>>2]|0)>-1)i=i+1|0;else{l=a[g+(f+1<<2)>>2]|0;n=a[g+(f<<2)>>2]|0;while(1){if((n|0)>=(l|0))break e;f=a[E+(n<<2)>>2]|0;if((f|0)!=(e|0))i=((a[C+(f<<2)>>2]|0)>>>31^1)+i|0;n=n+1|0}}}while(0);t=t+1|0}}e=i<<2;if((i|0)>0){d=$F(e)|0;B=$F(e)|0;o=B;h=d}else{o=0;h=0;d=0;B=0}v=a[15712]|0;e=0;f=0;A:while(1){i=a[A>>2]|0;while(1){if((e|0)>=(i|0))break A;u=C+(e<<2)|0;if((a[u>>2]|0)>=0)break;e=e+1|0}s=e+1|0;w=g+(s<<2)|0;b=a[g+(e<<2)>>2]|0;i=f;while(1){if((b|0)>=(a[w>>2]|0)){e=s;f=i;continue A}f=E+(b<<2)|0;n=a[f>>2]|0;e:do{if((a[C+(n<<2)>>2]|0)>-1){a[h+(i<<2)>>2]=a[u>>2];a[o+(i<<2)>>2]=a[C+(a[f>>2]<<2)>>2];i=i+1|0}else{c=g+(n+1<<2)|0;t=a[g+(n<<2)>>2]|0;while(1){if((t|0)>=(a[c>>2]|0))break e;f=E+(t<<2)|0;l=a[f>>2]|0;do{if((l|0)!=(e|0)?(a[C+(l<<2)>>2]|0)>-1:0){a[h+(i<<2)>>2]=a[u>>2];l=i+1|0;a[o+(i<<2)>>2]=a[C+(a[f>>2]<<2)>>2];n=a[u>>2]|0;i=a[C+(a[f>>2]<<2)>>2]|0;if((n|0)!=68)if((i|0)==68)i=68;else{i=l;break}a[I>>2]=n;a[I+4>>2]=i;f3(v,92380,I)|0;i=l}}while(0);t=t+1|0}}}while(0);b=b+1|0}}I=hq(f,r,r,h,o,0,8,8)|0;L2(d);L2(B);L2(C);k=Z;return I|0}function wj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0;o=$F(a[e>>2]<<2)|0;l=0;while(1){if((l|0)>=(a[e>>2]|0)){l=0;break}a[o+(l<<2)>>2]=1;l=l+1|0}while(1){if((l|0)>=(i|0)){l=0;s=0;break}t=a[r+(l<<2)>>2]|0;if((t|0)>-1?(t|0)<(a[e>>2]|0):0)a[o+(t<<2)>>2]=-1;l=l+1|0}while(1){u=a[e>>2]|0;if((s|0)>=(u|0)){s=0;break}t=o+(s<<2)|0;if((a[t>>2]|0)>-1){a[t>>2]=l;l=l+1|0}s=s+1|0}while(1){if((s|0)>=(u|0))break;l=a[o+(s<<2)>>2]|0;A:do{if((l|0)>-1){w=U(s,A)|0;t=U(l,A)|0;l=0;while(1){if((l|0)>=(A|0))break A;b[f+(l+w<<3)>>3]=+b[n+(t+l<<3)>>3];l=l+1|0}}}while(0);s=s+1|0}k=e+20|0;n=e+24|0;u=0;while(1){if((u|0)>=(i|0))break;e=a[r+(u<<2)>>2]|0;l=a[k>>2]|0;s=a[l+(e+1<<2)>>2]|0;l=a[l+(e<<2)>>2]|0;w=s-l|0;e=U(e,A)|0;t=0;while(1){if((t|0)>=(A|0))break;b[f+(t+e<<3)>>3]=0.0;t=t+1|0}while(1){if((l|0)<(s|0))t=0;else break;while(1){if((t|0)>=(A|0))break;c=+b[f+((U(a[(a[n>>2]|0)+(l<<2)>>2]|0,A)|0)+t<<3)>>3];h=f+(t+e<<3)|0;b[h>>3]=+b[h>>3]+c;t=t+1|0}l=l+1|0}c=1.0/+(w|0);l=0;while(1){if((l|0)>=(A|0))break;h=f+(l+e<<3)|0;b[h>>3]=+b[h>>3]*c;l=l+1|0}u=u+1|0}L2(o);return}function uj(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=+t;var c=0,s=0,w=0,u=0,o=0,h=0.0;u=k;k=k+16|0;w=u;a[w>>2]=n;zs(i,0,f,0,w,0,A);A:do{if((l+-1|0)>>>0<6){nj(A,e,a[w>>2]|0);c=a[r>>2]|0;s=a[r+20>>2]|0;n=a[r+24>>2]|0;e=0;e:while(1){if((e|0)>=(c|0))break A;l=e+1|0;r=s+(l<<2)|0;e=a[s+(e<<2)>>2]|0;i:while(1){e=e+1|0;if((e|0)>=(a[r>>2]|0)){e=l;continue e}f=n+(e<<2)|0;i=0;while(1){if((i|0)>=(A|0))continue i;h=(+Us()+-.5)*t;o=(a[w>>2]|0)+((U(a[f>>2]|0,A)|0)+i<<3)|0;b[o>>3]=+b[o>>3]+h;i=i+1|0}}}}}while(0);k=u;return}function kj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0.0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;c=k;k=k+16|0;t=c;f=0;while(1){if((f|0)>=(e|0)){n=0;break}b[t+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=t+(f<<3)|0;b[s>>3]=+b[s>>3]+ +b[i+(f+l<<3)>>3];f=f+1|0}n=n+1|0}a=1.0/+(A|0);f=0;while(1){if((f|0)>=(e|0)){n=0;break}s=t+(f<<3)|0;b[s>>3]=+b[s>>3]*a;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=i+(f+l<<3)|0;b[s>>3]=+b[s>>3]-+b[t+(f<<3)>>3];f=f+1|0}n=n+1|0}r=r*-.017453277777777776;a=+D(+r);r=+M(+r);f=0;while(1){if((f|0)>=(A|0))break;s=U(f,e)|0;t=i+(s<<3)|0;w=+b[t>>3];s=i+(s+1<<3)|0;u=+b[s>>3];b[t>>3]=u*r+w*a;b[s>>3]=u*a-w*r;f=f+1|0}k=c;return}function oj(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;var t=0,c=0,s=0,w=0;w=(cq(e,0)|0)==0;t=(a[e+16>>2]|0)==1;if(w)if(t)t=kq(tq(e,0)|0)|0;else c=5;else if(t)t=e;else c=5;if((c|0)==5)t=Hs(e)|0;w=kq(t)|0;a[l>>2]=0;t=a[w>>2]|0;if(!i){$F(U(A<<3,t)|0)|0;re()}s=zw(w,A,0.0,a[i>>2]|0,(r|0)==0?0:2,1)|0;if(!s)a[l>>2]=-1;else{b[s+40>>3]=.1;a[s+24>>2]=5;+Dw(s,A,a[i>>2]|0,f,n);c=U(t,A)|0;r=s+32|0;t=0;while(1){if((t|0)>=(c|0))break;l=(a[i>>2]|0)+(t<<3)|0;b[l>>3]=+b[l>>3]/+b[r>>3];t=t+1|0}Yw(s)}if((w|0)!=(e|0))rq(w);return}function hj(A,e,i,r,f,a,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=+n;l=l|0;oj(A,i,r,f,a,n,l);return}function dj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;E=a[e>>2]|0;C=a[e+20>>2]|0;v=a[e+24>>2]|0;g=a[e+28>>2]|0;if(!(cq(e,0)|0))vA(95795,92387,37,92404);A=$F(56)|0;c=A+20|0;a[c>>2]=0;a[A+24>>2]=2;a[A+12>>2]=0;t=$F(16)|0;a[c>>2]=t;b[t>>3]=r;b[t+8>>3]=f;a[A+16>>2]=105;b[A+40>>3]=.01;a[A+48>>2]=~~+z(+ +(a[e>>2]|0));t=e+8|0;c=A+4|0;a[c>>2]=fq(E,E,(a[t>>2]|0)+E|0,1,1)|0;t=fq(E,E,(a[t>>2]|0)+E|0,1,1)|0;a[A+8>>2]=t;c=a[c>>2]|0;s=a[c+28>>2]|0;w=a[t+28>>2]|0;if((t|0)==0|(c|0)==0){yw(A);A=0}else{u=a[c+20>>2]|0;k=a[c+24>>2]|0;o=a[t+20>>2]|0;h=a[t+24>>2]|0;a[o>>2]=0;a[u>>2]=0;e=0;i=0;while(1){if((e|0)>=(E|0))break;d=e+1|0;B=C+(d<<2)|0;r=0.0;f=0.0;l=a[C+(e<<2)>>2]|0;while(1){if((l|0)>=(a[B>>2]|0))break;n=a[v+(l<<2)>>2]|0;if((n|0)!=(e|0)){I=+b[g+(l<<3)>>3];I=I>=0.0?I:-I;I=I>.01?I:.01;a[k+(i<<2)>>2]=n;a[h+(i<<2)>>2]=n;n=s+(i<<3)|0;b[n>>3]=-1.0;b[w+(i<<3)>>3]=-I;r=+b[n>>3]+r;f=f-I;i=i+1|0}l=l+1|0}a[k+(i<<2)>>2]=e;a[h+(i<<2)>>2]=e;b[s+(i<<3)>>3]=-r;b[w+(i<<3)>>3]=-f;i=i+1|0;a[u+(d<<2)>>2]=i;a[o+(d<<2)>>2]=i;e=d}a[c+8>>2]=i;a[t+8>>2]=i}return A|0}function Bj(A){A=A|0;yw(A);return}function vj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return+ +Mw(A,e,i,r,.001)}function gj(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0;if((a[A+16>>2]|0)==1)i=tq(A,0)|0;else i=Hs(A)|0;f=a[i+28>>2]|0;A:do{if(e!=1.0){r=a[i+8>>2]|0;A=0;while(1){if((A|0)>=(r|0))break A;n=f+(A<<3)|0;b[n>>3]=+b[n>>3]*e;A=A+1|0}}}while(0);return i|0}function Ej(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0.0;t=a[e>>2]|0;a[r>>2]=0;c=U(t,A)|0;r=0;while(1){if((r|0)>=(c|0)){r=1;f=1;break}b[i+(r<<3)>>3]=+Us()*100.0;r=r+1|0}while(1){if((f|0)>=(t|0))break;l=U(f,A)|0;n=0;while(1){if((n|0)>=(A|0))break;s=+b[i+(n<<3)>>3]-+b[i+(n+l<<3)>>3];if((s>=0.0?s:-s)>1.0e-16){r=0;f=t;break}else n=n+1|0}f=f+1|0}A:do{if(r|0){f8(1);r=0;while(1){if((r|0)>=(c|0))break A;b[i+(r<<3)>>3]=+Us()*100.0;r=r+1|0}}}while(0);r=gj(e,1.0)|0;if(!(cq(r,0)|0))vA(92430,92387,164,92466);else{c=dj(0,r,0,101.0e5,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,101.0e3,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,1010.0,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,10.1,100.0,0)|0;+vj(c,A,i,300);Bj(c);$s(0.0,0.0,490.0,700.0,a[e>>2]|0,A,i);rq(r);return}}function Cj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;c=$F((vh(A)|0)<<4)|0;l=(r|0)!=0;t=e+8|0;n=cd(A)|0;f=0;while(1){if(!n)break;if(l)f=f+((Z1(Vh(n)|0,92481,11)|0)==0&1)|0;w=a[n+16>>2]|0;s=a[w+120>>2]<<1;b[c+(s<<3)>>3]=+b[w+32>>3]*.5+ +b[e>>3];b[c+((s|1)<<3)>>3]=+b[w+40>>3]*.5+ +b[t>>3];n=bd(A,n)|0}if(l&(f|0)!=0){e=$F(f<<2)|0;n=cd(A)|0;f=0;while(1){if(!n)break;if(!(Z1(Vh(n)|0,92481,11)|0)){a[e+(f<<2)>>2]=a[(a[n+16>>2]|0)+120>>2];f=f+1|0}n=bd(A,n)|0}a[r>>2]=e;a[i>>2]=f}return c|0}function Ij(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;G=k;k=k+32|0;C=G+16|0;E=G+8|0;g=G;if(A){I=vh(A)|0;Z=gh(A)|0;e=cd(A)|0;r=0;while(1){if(!e)break;a[(a[e+16>>2]|0)+120>>2]=r;e=bd(A,e)|0;r=r+1|0}d=Z<<2;h=$F(d)|0;d=$F(d)|0;e=Z<<3;B=$F(e)|0;u=Yo(A,2,101541,0)|0;v=(i|0)!=0;if(v){r=Yo(A,2,92493,0)|0;o=qF(e)|0;w=o}else{w=0;r=0;o=0}t=(u|0)==0;c=(r|0)==0;l=cd(A)|0;e=0;while(1){if(!l)break;s=a[(a[l+16>>2]|0)+120>>2]|0;n=Oo(A,l)|0;while(1){if(!n)break;a[h+(e<<2)>>2]=s;a[d+(e<<2)>>2]=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+120>>2];if(!t?(Q=Uo(n,u)|0,a[E>>2]=g,(J3(Q,101209,E)|0)==1):0)f=+b[g>>3];else{b[g>>3]=1.0;f=1.0}b[B+(e<<3)>>3]=f;if(!c){Q=Uo(n,r)|0;a[C>>2]=g;if((J3(Q,101209,C)|0)==1)f=+b[g>>3];else{b[g>>3]=1.0;f=1.0}b[w+(e<<3)>>3]=f}n=_o(A,n)|0;e=e+1|0}l=bd(A,l)|0}e=hq(Z,I,I,h,d,B,1,8)|0;if(v)a[i>>2]=hq(Z,I,I,h,d,o,1,8)|0;L2(h);L2(d);L2(B);if(w)L2(o)}else e=0;k=G;return e|0}function Zj(A){A=A|0;var e=0,i=0,r=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0.0,o=0.0;s=k;k=k+16|0;c=s;A:do{if(Gj(A,c)|0){e=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;n=+b[e>>3];r=+b[e+8>>3];e=cd(A)|0;while(1){if(!e)break;f=a[(a[e+16>>2]|0)+132>>2]|0;b[f>>3]=+b[f>>3]-n;f=f+8|0;b[f>>3]=+b[f>>3]-r;e=bd(A,e)|0}e=(n!=0.0|r!=0.0)&1;i=cd(A)|0;while(1){if(!i)break A;f=Oo(A,i)|0;if(f|0)break;i=bd(A,i)|0}w=a[f>>2]&3;i=a[(a[(a[((w|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=a[(a[(a[((w|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;l=+b[f+8>>3];t=+b[f>>3];r=+X(+(+b[i+8>>3]-l),+(+b[i>>3]-t));r=+b[c>>3]-r;b[c>>3]=r;if(r!=0.0){n=+D(+r);r=+M(+r);e=cd(A)|0;while(1){if(!e){e=1;break A}c=a[(a[e+16>>2]|0)+132>>2]|0;o=+b[c>>3]-t;w=c+8|0;u=+b[w>>3]-l;b[c>>3]=o*n+t-u*r;b[w>>3]=o*r+l+u*n;e=bd(A,e)|0}}}else e=0}while(0);k=s;return e|0}function Gj(A,e){A=A|0;e=e|0;var i=0.0,f=0,n=0;n=k;k=k+16|0;f=n;A=po(A,92497)|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0){i=+A8(A,f);if((a[f>>2]|0)==(A|0))if(!((gR(A)|0)<<24>>24)){A=0;break}else i=0.0;while(1){if(!(i>180.0))break;i=i+-360.0}while(1){if(!(i<=-180.0))break;i=i+360.0}b[e>>3]=i*.017453292519943295;A=1}else A=0}while(0);k=n;return A|0}function Qj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,92507)|0;return mj(A,(r|0)==0?i|0?i:195059:r,e)|0}function mj(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;w=k;k=k+32|0;s=w+16|0;t=w+8|0;l=w;if((e|0)!=0?(r[e>>0]|0)!=0:0){f=17896;while(1){n=a[f+4>>2]|0;if(!n)break;if(!(T1(e,n,a[f+8>>2]|0)|0)){c=6;break}f=f+16|0}if((c|0)==6){if(!(a[f+12>>2]|0)){a[l>>2]=n;ao(0,92515,l)|0;f=17896}l=a[f>>2]|0;a[i>>2]=l;a[i+4>>2]=a[f+12>>2];if((l|0)==18)Lj(A,e+(a[f+8>>2]|0)|0,i)}if(!(a[f+4>>2]|0)){f=ER(e,63)|0;if(f<<24>>24==63){a[t>>2]=e;ao(0,92557,t)|0;f=0}else f=f&255;f=(f|0)==0;a[i>>2]=f&1;f=f?92604:135709;c=15}}else{a[i>>2]=0;f=135709;c=15}if((c|0)==15)a[i+4>>2]=f;if(0){c=a[15712]|0;t=a[i+8>>2]|0;u=+b[i+16>>3];a[s>>2]=a[i+4>>2];a[s+4>>2]=t;b[s+8>>3]=u;f3(c,92612,s)|0}k=w;return i|0}function Lj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r;n=r+4|0;a[f>>2]=n;f=(J3(e,137395,f)|0)>0;e=a[n>>2]|0;a[i+8>>2]=f&(e|0)>-1?e:1e3;b[i+16>>3]=+oR(A,Yo(A,0,92648,0)|0,-4.0,-1.0e10);k=r;return}function Wj(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+16|0;n=l+8|0;f=l;do{if((vh(A)|0)>=2){i=Zj(A)|0;i=(yj(A)|0)+i|0;r=a[e>>2]|0;if(r){if(0){r=a[15712]|0;c=Vh(A)|0;t=a[e+4>>2]|0;a[f>>2]=c;a[f+4>>2]=t;f3(r,92977,f)|0;r=a[e>>2]|0}if(r>>>0>2){switch(r|0){case 3:{r=zS(A,1)|0;break}case 4:{r=zS(A,0)|0;break}case 6:case 5:{r=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{oS(A,r)|0;r=0;break}case 15:{r=zS(A,-1)|0;break}default:{a[n>>2]=a[e+4>>2];ao(0,93e3,n)|0;r=0}}i=r+i|0;break}if(zj(A)|0){Yj();L2(a[46845]|0);a[46845]=0;break}Dj(A);if((a[e>>2]|0)==2)r=Mj()|0;else r=Fj()|0;if(r|0)Vj();Yj();L2(a[46845]|0);a[46845]=0;i=r+i|0}}else i=0}while(0);k=l;return i|0}function yj(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0;s=k;k=k+48|0;l=s+24|0;f=s+16|0;t=s;e=po(A,140742)|0;A:do{if(((e|0)!=0?(c=t+8|0,a[f>>2]=t,a[f+4>>2]=c,r=J3(e,105503,f)|0,(r|0)!=0):0)?(n=+b[t>>3],!(+y(+n)<1.0e-09)):0){if((r|0)!=1){i=+b[c>>3];if(+y(+i)<1.0e-09){e=0;break}}else{b[c>>3]=n;i=n}if(!(i==1.0&n==1.0)){if(0){f=a[15712]|0;b[l>>3]=n;b[l+8>>3]=i;f3(f,93160,l)|0}e=cd(A)|0;while(1){if(!e){e=1;break A}l=a[(a[e+16>>2]|0)+132>>2]|0;b[l>>3]=+b[l>>3]*+b[t>>3];l=l+8|0;b[l>>3]=+b[l>>3]*+b[c>>3];e=bd(A,e)|0}}else e=0}else e=0}while(0);k=s;return e|0}function zj(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0,t=0,s=0,w=0,u=0;w=k;k=k+16|0;t=w;a[46854]=vh(A)|0;nP();a[46869]=$F((a[46854]|0)*96|0)|0;f=cd(A)|0;e=a[46869]|0;qj(t,A);n=+c[t>>2];l=+c[t+4>>2];t=(r[t+8>>0]|0)==0;l=t?l:l*.013888888888888888;n=t?n:n*.013888888888888888;t=t?2:1;i=0;while(1){if((i|0)>=(a[46854]|0)){e=0;break}u=a[(a[f+16>>2]|0)+132>>2]|0;b[e+8>>3]=+b[u>>3];b[e+16>>3]=+b[u+8>>3];if(L5[t&3](e+40|0,f,n,l)|0){s=4;break}a[e+24>>2]=i;a[e+28>>2]=1;a[e>>2]=f;a[e+88>>2]=0;e=e+96|0;i=i+1|0;f=bd(A,f)|0}if((s|0)==4){L2(a[46869]|0);a[46869]=0;e=1}k=w;return e|0}function Yj(){var A=0,e=0;A=a[46869]|0;e=0;while(1){if((e|0)>=(a[46854]|0))break;iK(A+40|0);A=A+96|0;e=e+1|0}eK();MP();L2(a[46869]|0);return}function Dj(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0;u=k;k=k+32|0;s=u+16|0;w=u;o=a[46869]|0;l=+b[o+8>>3];c=+b[o+16>>3];f=a[46854]|0;e=o;i=1;n=+b[o+40>>3]+l;l=+b[o+56>>3]+l;t=+b[o+48>>3]+c;c=+b[o+64>>3]+c;while(1){if((i|0)>=(f|0))break;B=+b[e+104>>3];h=+b[e+112>>3];v=+b[e+136>>3]+B;d=+b[e+144>>3]+h;B=+b[e+152>>3]+B;h=+b[e+160>>3]+h;e=e+96|0;i=i+1|0;n=vl?B:l;t=dc?h:c}e=po(A,93100)|0;if(e|0?r[e>>0]|0:0)b[173]=+$3(e);B=+b[173];v=B*(c-t);B=B*(l-n);b[s>>3]=n-B;b[s+8>>3]=t-v;b[w>>3]=B+l;b[w+8>>3]=v+c;xj(s,w);k=u;return}function Mj(){var A=0,e=0,i=0,r=0;i=k;k=k+16|0;e=i;if(Jj(0)|0){Nj();A=0;do{_j();A=A+1|0}while((Jj(A)|0)!=0);if(!0)A=1;else{r=a[15712]|0;a[e>>2]=A;f3(r,93028,e)|0;A=1}}else A=0;k=i;return A|0}function Fj(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t+8|0;n=t;e=Jj(0)|0;if(!e)A=0;else{Nj();Xj(0);JK(0,1);A=0;r=0;i=0;while(1){Hj();i=i+1|0;f=Jj(i)|0;if(!f)break;e=(f|0)<(e|0)?0:r+1|0;a[46846]=1;if(e){pj();A=A+1|0}Xj(1);JK(0,1);r=e;e=f}if(0){f=a[15712]|0;a[n>>2]=i;f3(f,93028,n)|0;a[l>>2]=A;f3(f,93055,l)|0}Uj();A=1}k=t;return A|0}function Vj(){var A=0,e=0,i=0,r=0;i=a[46854]|0;A=a[46869]|0;e=0;while(1){if((e|0)>=(i|0))break;r=a[(a[(a[A>>2]|0)+16>>2]|0)+132>>2]|0;b[r>>3]=+b[A+8>>3];b[r+8>>3]=+b[A+16>>3];A=A+96|0;e=e+1|0}return}function Jj(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;u=h+24|0;w=h+8|0;o=h;i=a[46869]|0;r=a[46854]|0;e=0;while(1){if((e|0)>=(r|0)){f=0;e=0;break}a[i+(e*96|0)+32>>2]=0;e=e+1|0}A:while(1){if((e|0)>=(r+-1|0))break;s=i+96|0;e=e+1|0;c=i+8|0;b=i+40|0;t=i+32|0;n=s;l=e;while(1){if((l|0)>=(r|0)){i=s;continue A}r=n+8|0;a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];if(!(sK(w,b,u,n+40|0)|0))i=f;else{a[t>>2]=1;a[n+32>>2]=1;i=f+1|0}n=n+96|0;l=l+1|0;f=i;r=a[46854]|0}}if(0>1){u=a[15712]|0;a[o>>2]=A;a[o+4>>2]=f;f3(u,93081,o)|0}k=h;return f|0}function Nj(){var A=0,e=0,i=0,r=0.0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;Oj();c=a[46848]|0;s=a[46869]|0;A=a[46845]|0;A:while(1){l=A;if(A>>>0>=c>>>0)break;e=A+4|0;if(e>>>0>=c>>>0){A=e;continue}f=a[e>>2]|0;i=a[A>>2]|0;n=+b[i>>3];if(+b[f>>3]!=n){A=e;continue}r=+b[i+8>>3];if(+b[f+8>>3]!=r){A=e;continue}t=A+8|0;f=2;while(1){if(t>>>0>=c>>>0)break;i=a[t>>2]|0;if(!(+b[i>>3]==n)){w=11;break}if(!(+b[i+8>>3]==r)){w=11;break}t=t+4|0;f=f+1|0}if((w|0)==11){w=0;i=a[t>>2]|0;if(+b[i+8>>3]==r){r=(+b[i>>3]-n)/+(f|0);i=(((t>>>0>e>>>0?t:e)+-1+(0-l)|0)>>>2)+1|0;A=1;while(1){if((A|0)==(i|0)){A=t;continue A}l=a[e>>2]|0;b[l>>3]=+b[l>>3]+r*+(A|0);A=A+1|0;e=e+4|0}}}while(1){if(e>>>0>=t>>>0){A=t;continue A}f=a[A>>2]|0;u=a[f+16>>2]|0;l=a[e>>2]|0;i=a[l+16>>2]|0;b[l>>3]=(+b[s+(u*96|0)+56>>3]-+b[s+(u*96|0)+40>>3]+ +b[s+(i*96|0)+56>>3]-+b[s+(i*96|0)+40>>3])*.5+ +b[f>>3];e=e+4|0;A=A+4|0}}return}function Xj(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0;if(A|0)Oj();l=a[46845]|0;t=a[l>>2]|0;i=+b[t>>3];b[23272]=i;c=a[46854]|0;f=1;n=+b[t>>3];while(1){if((f|0)>=(c|0))break;A=a[l+(f<<2)>>2]|0;e=+b[A>>3];if(e>3]}else{r=e;e=i}f=f+1|0;i=e;n=r>n?r:n}r=+b[t+8>>3];b[23273]=r;b[23275]=+b[(a[l+(c+-1<<2)>>2]|0)+8>>3]-r;b[23274]=n-i;return}function Rj(){var A=0;A=a[46847]|0;if(A>>>0<(a[46848]|0)>>>0){a[46847]=A+4;A=a[A>>2]|0}else A=0;return A|0}function Hj(){var A=0,e=0,i=0;A=a[46869]|0;Tj();i=(a[46846]|0)==0;e=0;while(1){if((e|0)>=(a[46854]|0))break;if(!(i?!(a[A+32>>2]|0):0))jj(A);A=A+96|0;e=e+1|0}return}function pj(){var A=0,e=0,i=0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0;A=k;k=k+32|0;i=A+16|0;e=A;t=+b[23268];l=+b[23266];n=+b[23269];f=+b[23267];r=(l-f)*.05;a=(t-n)*.05;b[e>>3]=a+t;b[e+8>>3]=l+r;b[i>>3]=n-a;b[i+8>>3]=f-r;xj(i,e);k=A;return}function Uj(){vP();EP();IK();$S();return}function xj(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0;a=+b[A>>3];b[23269]=a;f=+b[e>>3];b[23268]=f;i=+b[A+8>>3];b[23267]=i;r=+b[e+8>>3];b[23266]=r;b[23258]=a;b[23260]=a;b[23262]=f;b[23264]=f;b[23265]=r;b[23261]=r;b[23263]=i;b[23259]=i;return}function Tj(){var A=0,e=0.0,i=0.0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0.0;w=a[46869]|0;n=w+8|0;f=+lP(n,186064);r=+lP(n,186080);i=+lP(n,186096);A=1;e=+lP(n,186112);n=w;l=w;t=w;c=w;while(1){s=w+96|0;if((A|0)>=(a[46854]|0))break;h=w+104|0;d=+lP(h,186064);u=d>2]|0;u=c+8|0;e=0.0;i=0.0;r=0.0;c=a[c>>2]|0;while(1){f=a[c>>2]|0;if(!f)break;B=c+8|0;d=f+8|0;a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];h=+Sj(n,l,t);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];Pj(n,l,t,s,w);e=+b[w>>3]*h+e;i=+b[s>>3]*h+i;r=h+r;c=f}b[A+8>>3]=i/r;b[A+16>>3]=e/r;k=o;return}function Sj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;r=+b[e+8>>3];a=+b[i+8>>3];f=+b[A+8>>3];return+(+y(+((a-f)*+b[e>>3]+(r-a)*+b[A>>3]+ +b[i>>3]*(f-r)))*.5)}function Pj(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;b[r>>3]=(+b[e>>3]+ +b[A>>3]+ +b[i>>3])*.3333333333333333;b[f>>3]=(+b[e+8>>3]+ +b[A+8>>3]+ +b[i+8>>3])*.3333333333333333;return}function Oj(){var A=0,e=0,i=0,r=0;A=a[46845]|0;if(!A){A=$F(a[46854]<<2)|0;a[46845]=A;a[46848]=A+(a[46854]<<2)}i=a[46869]|0;MP();r=a[46854]|0;e=0;while(1){if((e|0)>=(r|0))break;a[A>>2]=i+8;a[i+88>>2]=0;a[i+28>>2]=1;i=i+96|0;A=A+4|0;e=e+1|0}K4(a[46845]|0,r,4,69);a[46847]=a[46845];return}function Kj(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A>>2]|0;e=a[e>>2]|0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(ir)){r=+b[A>>3];i=+b[e>>3];if(ri&1}else A=1;else A=-1;return A|0}function _j(){var A=0,e=0,i=0,r=0;i=a[46854]|0;A=0;e=a[46869]|0;while(1){if((A|0)>=(i|0))break;r=e+8|0;b[r>>3]=+b[r>>3]*1.05;r=e+16|0;b[r>>3]=+b[r>>3]*1.05;A=A+1|0;e=e+96|0}return}function qj(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,s=0,w=0.0,u=0.0;s=k;k=k+48|0;t=s;l=s+24|0;i=po(e,93112)|0;if(!((i|0)!=0?($j(i,l,1.0,0.0)|0)!=0:0))f=3;do{if((f|0)==3){e=po(e,93116)|0;if(e|0?$j(e,l,.800000011920929,4.0)|0:0)break;c[l+4>>2]=4.0;c[l>>2]=4.0;r[l+8>>0]=1}}while(0);if(0){f=a[15712]|0;u=+c[l>>2];w=+c[l+4>>2];a[t>>2]=n[l+8>>0];b[t+8>>3]=u;b[t+16>>3]=w;f3(f,93121,t)|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];k=s;return}function $j(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0,h=0.0;u=k;k=k+16|0;s=u;t=u+12|0;b=u+8|0;while(1){n=r[A>>0]|0;l=A+1|0;if(!(Q1(n<<24>>24)|0))break;else A=l}o=n<<24>>24==43;n=e+8|0;r[n>>0]=o&1;a[s>>2]=t;a[s+4>>2]=b;switch(J3(o?l:A,93154,s)|0){case 0:{A=0;break}case 1:{a[b>>2]=a[t>>2];w=5;break}default:w=5}if((w|0)==5){do{if(r[n>>0]|0){if(i>1.0){h=+c[t>>2]/i;c[e>>2]=h>f?f:h;i=+c[b>>2]/i;i=i>f?f:i;break}if(i<1.0){h=+c[t>>2]/i;c[e>>2]=h>2]/i;i=i>2]=a[t>>2];i=+c[b>>2];break}}else{c[e>>2]=+c[t>>2]/i+1.0;i=+c[b>>2]/i+1.0}}while(0);c[e+4>>2]=i;A=1}k=u;return A|0}function AS(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+32|0;i=r;if((vh(A)|0)<2)A=0;else{mj(A,e,i)|0;A=Wj(A,i)|0}k=r;return A|0}function eS(A){A=A|0;return AS(A,po(A,92507)|0)|0}function iS(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,s=0,w=0.0,u=0.0;s=k;k=k+48|0;t=s;l=s+24|0;i=po(e,93116)|0;if(!((i|0)!=0?($j(i,l,1.0,0.0)|0)!=0:0))f=3;do{if((f|0)==3){e=po(e,93112)|0;if(e|0?$j(e,l,1.25,3.200000047683716)|0:0)break;c[l+4>>2]=3.200000047683716;c[l>>2]=3.200000047683716;r[l+8>>0]=1}}while(0);if(0){f=a[15712]|0;u=+c[l>>2];w=+c[l+4>>2];a[t>>2]=n[l+8>>0];b[t+8>>3]=u;b[t+16>>3]=w;f3(f,93183,t)|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];k=s;return}function rS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;u=o;n=0;while(1){if((n|0)>=(i|0))break;a[r+(n<<2)>>2]=-1;n=n+1|0}a[r+(A<<2)>>2]=0;fS(f,A);A:do{if(!(a[e+8>>2]|0)){n=2147483647;e:while(1){if(!((aS(f,u)|0)<<24>>24))break A;t=a[u>>2]|0;n=a[r+(t<<2)>>2]|0;l=e+(t*20|0)|0;t=e+(t*20|0)+4|0;b=n+1|0;A=1;while(1){if((A|0)>=(a[l>>2]|0))continue e;s=a[(a[t>>2]|0)+(A<<2)>>2]|0;w=r+(s<<2)|0;if((a[w>>2]|0)<0){a[w>>2]=b;nS(f,s)|0}A=A+1|0}}}else{n=2147483647;e:while(1){if(!((aS(f,u)|0)<<24>>24))break A;b=a[u>>2]|0;n=a[r+(b<<2)>>2]|0;l=e+(b*20|0)|0;t=e+(b*20|0)+4|0;b=e+(b*20|0)+8|0;A=1;while(1){if((A|0)>=(a[l>>2]|0))continue e;s=a[(a[t>>2]|0)+(A<<2)>>2]|0;w=r+(s<<2)|0;if((a[w>>2]|0)<0){a[w>>2]=n+~~+c[(a[b>>2]|0)+(A<<2)>>2];nS(f,s)|0}A=A+1|0}}}}while(0);A=n+10|0;n=0;while(1){if((n|0)>=(i|0))break;l=r+(n<<2)|0;if((a[l>>2]|0)<0)a[l>>2]=A;n=n+1|0}k=o;return}function fS(A,e){A=A|0;e=e|0;a[a[A>>2]>>2]=e;a[A+12>>2]=0;a[A+8>>2]=1;return}function aS(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=a[i>>2]|0;if((r|0)<(a[A+8>>2]|0)){A=a[A>>2]|0;a[i>>2]=r+1;a[e>>2]=a[A+(r<<2)>>2];A=1}else A=0;return A|0}function nS(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=a[i>>2]|0;if((r|0)<(a[A+4>>2]|0)){A=a[A>>2]|0;a[i>>2]=r+1;a[A+(r<<2)>>2]=e;A=1}else A=0;return A|0}function lS(A,e){A=A|0;e=e|0;a[A>>2]=$F(e<<2)|0;a[A+4>>2]=e;a[A+8>>2]=0;a[A+12>>2]=0;return}function tS(A){A=A|0;L2(a[A>>2]|0);return}function cS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0;if(!0)n=0;else{L3(93216,25,1,a[15712]|0)|0;n=0}while(1){if((n|0)>=(A|0))break;l=e+(n<<2)|0;f=0;r=0.0;while(1){if((f|0)==(A|0))break;if((n|0)!=(f|0))r=+b[(a[l>>2]|0)+(f<<3)>>3]+r;f=f+1|0}b[(a[l>>2]|0)+(n<<3)>>3]=-r;n=n+1|0}return cO(e,i,A+-1|0)|0}function bS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0.0;t=tU(e,e,0.0)|0;c=tU(e,e,0.0)|0;r=cd(A)|0;while(1){if(!r)break;i=Ah(A,r)|0;while(1){if(!i)break;n=a[i>>2]&3;f=(a[a[((n|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;n=(a[a[((n|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(n|0)){s=-1.0/+b[(a[i+16>>2]|0)+136>>3];b[(a[t+(n<<2)>>2]|0)+(f<<3)>>3]=s;b[(a[t+(f<<2)>>2]|0)+(n<<3)>>3]=s}i=eh(A,i,r)|0}r=bd(A,r)|0}l=cS(e,t,c)|0;A:do{if(l|0){f=A+16|0;r=0;while(1){if((r|0)>=(e|0))break A;n=c+(r<<2)|0;i=0;while(1){if((i|0)==(e|0))break;A=a[n>>2]|0;b[(a[(a[(a[f>>2]|0)+160>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=+b[(a[c+(i<<2)>>2]|0)+(i<<3)>>3]+ +b[A+(r<<3)>>3]+ +b[A+(i<<3)>>3]*-2.0;i=i+1|0}r=r+1|0}}}while(0);cU(t);cU(c);return l|0}function sS(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;var n=0.0,l=0.0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;c=B;w=r<<3;u=$F(w)|0;o=$F(w)|0;h=$F(w)|0;b=$F(w)|0;s=$F(w)|0;w=$F(w)|0;mO(r,i,w);gO(r,w);gO(r,e);CO(A,r,e,b);ZO(r,w,b,u);mO(r,u,o);t=a+-1|0;i=0;n=+LO(r,u,u);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+WO(r,u)>f)){i=0;break}CO(A,r,o,h);l=+LO(r,o,h);if(l==0.0){i=0;break}l=n/l;QO(r,o,l,s);GO(r,e,s,e);if((i|0)<(t|0)){QO(r,h,l,h);ZO(r,u,h,u);l=+LO(r,u,u);if(n==0.0){d=7;break}QO(r,o,l/n,o);GO(r,u,o,o);n=l}i=i+1|0}if((d|0)==7){ao(1,93242,c)|0;i=1}L2(u);L2(o);L2(h);L2(b);L2(s);L2(w);k=B;return i|0}function wS(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;n=n|0;var l=0.0,t=0.0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;c=B;u=r<<3;o=$F(u)|0;h=$F(u)|0;b=$F(u)|0;s=$F(u)|0;w=$F(u)|0;u=$F(u)|0;mO(r,i,u);if(n<<24>>24){gO(r,u);gO(r,e)}IO(A,r,e,s);ZO(r,u,s,o);mO(r,o,h);n=a+-1|0;i=0;l=+LO(r,o,o);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+WO(r,o)>f)){i=0;break}IO(A,r,h,b);t=+LO(r,h,b);if(t==0.0){i=0;break}t=l/t;QO(r,h,t,w);GO(r,e,w,e);if((i|0)<(n|0)){QO(r,b,t,b);ZO(r,o,b,o);t=+LO(r,o,o);if(l==0.0){d=9;break}QO(r,h,t/l,h);GO(r,o,h,h);l=t}i=i+1|0}if((d|0)==9){ao(1,93242,c)|0;i=1}L2(o);L2(h);L2(b);L2(s);L2(w);L2(u);k=B;return i|0}function uS(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;var n=0.0,l=0.0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;c=h;b=r<<2;s=qF(b)|0;w=qF(b)|0;u=qF(b)|0;b=qF(b)|0;zO(r,e);zO(r,i);YO(A,r,e,b);zO(r,b);DO(r,i,b,s);JO(r,s,w);t=a+-1|0;i=0;n=+NO(r,s,s);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+HO(r,s)>f)){i=0;break}zO(r,w);zO(r,e);zO(r,s);YO(A,r,w,u);zO(r,u);l=+NO(r,w,u);if(l==0.0){i=0;break}l=n/l;FO(r,e,l,w);if((i|0)<(t|0)){FO(r,s,-l,u);l=+NO(r,s,s);if(n==0.0){o=7;break}VO(r,w,l/n,w);MO(r,s,w,w);n=l}i=i+1|0}if((o|0)==7){ao(1,93242,c)|0;i=1}L2(s);L2(w);L2(u);L2(b);k=h;return i|0}function kS(A,e,i,r,f,n,l,t,s,w){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;s=s|0;w=+w;var u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0;N=k;k=k+48|0;z=N+24|0;W=N+16|0;L=N+8|0;m=N;F=N+40|0;V=N+36|0;D=N+32|0;B=l&4;a[F>>2]=0;a[V>>2]=0;A:do{if(a[A+16>>2]|0){o=0;u=0;while(1){if((o|0)>=(e|0))break;v=a[A+(o*20|0)>>2]|0;g=A+(o*20|0)+16|0;d=1;while(1){if((d|0)>=(v|0))break;if(!(u<<24>>24))u=+c[(a[g>>2]|0)+(d<<2)>>2]!=0.0;else u=1;d=d+1|0;u=u&1}o=o+1|0}if(u<<24>>24){G=(B|0)!=0;if(G){d=r+4|0;e:do{if((n|0)>2){u=n+-1|0;if((iU(A,e,i,d,f,u,l,t,15)|0)<0){u=-1;break A}o=r+(u<<2)|0;u=0;while(1){if((u|0)>=(e|0))break e;b[(a[o>>2]|0)+(u<<3)>>3]=+b[(a[d>>2]|0)+(u<<3)>>3];u=u+1|0}}}while(0);Z=a[r>>2]|0;C=a[d>>2]|0;if((KO(A,e,C,e)|0)==0?(Bu(A,e,.01,.1,C,F,V,D)|0)==0:0){I=a[D>>2]|0;if((I|0)<1){u=iU(A,e,i,r,f,n,l,t,s)|0;break}e:do{if(w>0.0){B=a[F>>2]|0;v=a[V>>2]|0;g=I+-1|0;h=0.0;d=0;while(1){if((d|0)>=(I|0))break e;u=a[v+(d<<2)>>2]|0;Q=w-h-+b[C+(a[B+(u<<2)>>2]<<3)>>3]+ +b[C+(a[B+(u+-1<<2)>>2]<<3)>>3];h=(Q<0.0?0.0:Q)+h;if((d|0)<(g|0))o=a[v+(d+1<<2)>>2]|0;else o=e;while(1){if((u|0)>=(o|0))break;M=C+(a[B+(u<<2)>>2]<<3)|0;b[M>>3]=+b[M>>3]+h;u=u+1|0}d=d+1|0}}}while(0);if((n|0)==2?(WK(A,e,C,Z,+b[23294])|0)!=0:0){o=0;u=-1}else J=33}else{o=0;u=-1}}else{Kp(A,e,n,r,f)|0;if(!(Bu(A,e,.01,.1,0,F,V,D)|0))J=33;else{o=0;u=-1}}e:do{if((J|0)==33){if((e|0)==1){u=0;break A}M=$F(a[D>>2]<<2)|0;if(!s){u=0;break A}if(0)tR();switch(t|0){case 2:{if(0)L3(93290,24,1,a[15712]|0)|0;u=eU(A,e)|0;J=46;break}case 1:{u=_p(A,e)|0;if(!u){ao(0,93315,m)|0;ao(3,93364,L)|0;J=47}else Y=u;break}case 3:{if(0)L3(93417,21,1,a[15712]|0)|0;u=qp(A,e)|0;J=46;break}default:J=47}if((J|0)==46)if(!u)J=47;else Y=u;if((J|0)==47){if(0)L3(93439,26,1,a[15712]|0)|0;Y=AU(A,e)|0}if(0){A=a[15712]|0;b[W>>3]=+cR();f3(A,93466,W)|0;L3(93478,25,1,A)|0;tR()}A=e+-1|0;Z=(U(A,e)|0)/2|0;W=Z+e|0;i:do{if(!G){h=1.0;o=0;while(1){if((o|0)>=(n|0))break;d=r+(o<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;Q=+y(+ +b[(a[d>>2]|0)+(u<<3)>>3]);h=Q>h?Q:h;u=u+1|0}o=o+1|0}h=1.0/h;o=0;while(1){if((o|0)>=(n|0))break i;d=r+(o<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;L=(a[d>>2]|0)+(u<<3)|0;b[L>>3]=+b[L>>3]*(10.0*h);u=u+1|0}o=o+1|0}}}while(0);i:do{if(w>0.0){E=+(Z|0);u=0;h=0.0;B=0;r:while(1){if((B|0)>=(A|0))break;v=B+1|0;d=u;o=v;while(1){u=d+1|0;if((o|0)>=(e|0)){B=v;continue r}Q=+jP(r,n,B,o);d=u;h=Q/+c[Y+(u<<2)>>2]+h;o=o+1|0}}h=h/E;u=0;while(1){if((u|0)>=(W|0)){u=0;break i}L=Y+(u<<2)|0;c[L>>2]=+c[L>>2]*h;u=u+1|0}}else u=0}while(0);while(1){if((u|0)>=(n|0))break;gO(e,a[r+(u<<2)>>2]|0);u=u+1|0}o=a[r+4>>2]|0;h=+b[o>>3];u=0;while(1){if((u|0)>=(e|0))break;L=o+(u<<3)|0;b[L>>3]=+b[L>>3]-h;u=u+1|0}g=n<<2;L=$F(g)|0;I=e<<2;C=U(I,n)|0;d=$F(C)|0;u=0;while(1){if((u|0)>=(n|0))break;B=d+((U(u,e)|0)<<2)|0;a[L+(u<<2)>>2]=B;v=r+(u<<2)|0;o=0;while(1){if((o|0)>=(e|0))break;c[B+(o<<2)>>2]=+b[(a[v>>2]|0)+(o<<3)>>3];o=o+1|0}u=u+1|0}E=+(Z|0);if(0){m=a[15712]|0;b[z>>3]=+cR();f3(m,93504,z)|0}pO(W,Y);UO(W,Y);m=$F(e<<3)|0;XO(e,0.0,m);u=0;d=0;while(1){if((d|0)>=(A|0)){u=e;o=0;d=0;break}B=e-d|0;h=0.0;o=1;while(1){u=u+1|0;if((o|0)>=(B|0))break;Q=+c[Y+(u<<2)>>2];z=m+(o+d<<3)|0;b[z>>3]=+b[z>>3]-Q;h=h+Q;o=o+1|0}z=m+(d<<3)|0;b[z>>3]=+b[z>>3]-h;d=d+1|0}while(1){if((o|0)>=(e|0))break;c[Y+(d<<2)>>2]=+b[m+(o<<3)>>3];z=u+d|0;u=u+-1|0;o=o+1|0;d=z}t=$F(g)|0;a[t>>2]=$F(C)|0;u=1;while(1){if((u|0)>=(n|0))break;a[t+(u<<2)>>2]=(a[t>>2]|0)+((U(u,e)|0)<<2);u=u+1|0}G=$F(I)|0;f=$F(I)|0;l=$F(W<<2)|0;o=dK(Y,e)|0;i=CK(Y,e,a[F>>2]|0,a[V>>2]|0,a[D>>2]|0)|0;Z=t+4|0;d=0;Q=1797693134862315708145274.0e284;u=0;while(1){if(!(d<<24>>24==0&(u|0)<(s|0)))break;XO(e,0.0,m);xO(W,Y,l);C=0;v=0;while(1){if((C|0)>=(A|0)){d=0;B=e;v=0;break}I=e-C+-1|0;RO(e,0.0,f);d=0;while(1){if((d|0)>=(n|0))break;D=L+(d<<2)|0;RO(I,+c[(a[D>>2]|0)+(C<<2)>>2],G);FO(I,G,-1.0,(a[D>>2]|0)+(C<<2)+4|0);pO(I,G);MO(I,G,f,f);d=d+1|0}TO(I,f);d=0;while(1){if((d|0)>=(I|0))break;B=f+(d<<2)|0;h=+c[B>>2];if(h>=3402823466385288598117041.0e14|h<0.0)c[B>>2]=0.0;d=d+1|0}g=C+1|0;h=0.0;d=v;B=0;while(1){d=d+1|0;if((B|0)>=(I|0))break;D=l+(d<<2)|0;X=+c[D>>2]*+c[f+(B<<2)>>2];c[D>>2]=X;D=m+(g+B<<3)|0;b[D>>3]=+b[D>>3]-X;h=h+X;B=B+1|0}v=m+(C<<3)|0;b[v>>3]=+b[v>>3]-h;C=g;v=d}while(1){if((d|0)>=(e|0)){d=0;break}c[l+(v<<2)>>2]=+b[m+(d<<3)>>3];D=B+v|0;d=d+1|0;B=B+-1|0;v=D}while(1){if((d|0)>=(n|0)){h=0.0;d=0;break}YO(l,e,a[L+(d<<2)>>2]|0,a[t+(d<<2)>>2]|0);d=d+1|0}while(1){if((d|0)>=(n|0))break;h=+NO(e,a[L+(d<<2)>>2]|0,a[t+(d<<2)>>2]|0)+h;d=d+1|0}h=h*2.0+E;d=0;while(1){if((d|0)>=(n|0))break;D=L+(d<<2)|0;YO(Y,e,a[D>>2]|0,G);h=h-+NO(e,a[D>>2]|0,G);d=d+1|0}X=+y(+(h-Q))/+y(+(Q+1.0e-10));d=((u|0)>1&h>Q|X<+b[23294])&1;B=0;while(1){if((B|0)>=(n|0))break;if((B|0)!=1){if(uS(Y,a[L+(B<<2)>>2]|0,a[t+(B<<2)>>2]|0,e,.001,e)|0){u=-1;break e}}else BK(i,a[Z>>2]|0,L,n,1,15,M,w)|0;B=B+1|0}Q=h;u=u+1|0}L2(M);EK(i);if(L|0){d=0;while(1){if((d|0)>=(n|0))break;v=L+(d<<2)|0;g=r+(d<<2)|0;B=0;while(1){if((B|0)>=(e|0))break;b[(a[g>>2]|0)+(B<<3)>>3]=+c[(a[v>>2]|0)+(B<<2)>>2];B=B+1|0}d=d+1|0}L2(a[L>>2]|0);L2(L)}if(t|0){L2(a[t>>2]|0);L2(t)}L2(G);L2(f);L2(m);L2(Y);L2(l)}}while(0);L2(a[F>>2]|0);L2(a[V>>2]|0);if(o){L2(a[o>>2]|0);L2(o)}}else J=10}else J=10}while(0);if((J|0)==10)u=iU(A,e,i,r,f,n,l,t,s)|0;k=N;return u|0}function oS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+48|0;f=s+24|0;n=s+12|0;i=s;l=vh(A)|0;c=$F(l*48|0)|0;qj(i,A);a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];i=cd(A)|0;r=c;while(1){if(!i)break;a[f>>2]=a[n>>2];a[f+4>>2]=a[n+4>>2];a[f+8>>2]=a[n+8>>2];hS(i,r,f);i=bd(A,i)|0;r=r+48|0}A:do{if(!(dS(c,l)|0))i=0;else{switch(e|0){case 9:{vS(A,c,l,70,1);ES(A,c,l,71,1);i=0;r=c;break}case 10:{ES(A,c,l,71,1);vS(A,c,l,70,1);i=0;r=c;break}case 7:{vS(A,c,l,72,1);ES(A,c,l,71,1);t=9;break}case 8:{t=9;break}case 13:{t=10;break}case 14:{ES(A,c,l,71,0);vS(A,c,l,70,0);i=0;r=c;break}case 12:{ES(A,c,l,73,0);vS(A,c,l,70,0);i=0;r=c;break}default:{vS(A,c,l,72,0);ES(A,c,l,71,0);i=0;r=c}}if((t|0)==9){ES(A,c,l,73,1);vS(A,c,l,70,1);t=10}if((t|0)==10){vS(A,c,l,70,0);ES(A,c,l,71,0);i=0;r=c}while(1){if((i|0)>=(l|0)){i=1;break A}n=a[r+16>>2]|0;t=a[(a[(a[r+20>>2]|0)+16>>2]|0)+132>>2]|0;b[t>>3]=+(a[r+12>>2]|0)*1.3888888888888887e-03;b[t+8>>3]=+(n|0)*1.3888888888888887e-03;i=i+1|0;r=r+48|0}}}while(0);L2(c);k=s;return i|0}function hS(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0.0,w=0.0;f=a[A+16>>2]|0;t=a[f+132>>2]|0;s=+b[t>>3]*720.0;l=~~(s+(s>=0.0?.5:-.5));s=+b[t+8>>3]*720.0;t=~~(s+(s>=0.0?.5:-.5));if(!(r[i+8>>0]|0)){w=+b[f+32>>3]*72.0*(+c[i>>2]*5.0);s=+b[f+40>>3]*72.0*(+c[i+4>>2]*5.0);n=~~(w+(w>=0.0?.5:-.5));f=~~(s+(s>=0.0?.5:-.5))}else{s=+b[f+32>>3]*36.0;w=+b[f+40>>3]*36.0;n=~~((+c[i>>2]+ +(~~(s+(s>=0.0?.5:-.5))|0))*10.0);f=~~((+c[i+4>>2]+ +(~~(w+(w>=0.0?.5:-.5))|0))*10.0)}a[e+12>>2]=l;a[e+16>>2]=t;a[e+20>>2]=A;a[e+32>>2]=l-n;a[e+36>>2]=t-f;a[e+40>>2]=n+l;a[e+44>>2]=f+t;return}function dS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=e+-1|0;i=0;A:while(1){if((i|0)>=(b|0)){A=0;break}c=A+48|0;i=i+1|0;n=A+32|0;l=A+40|0;t=A+36|0;f=A+44|0;A=c;r=i;while(1){if((r|0)>=(e|0)){A=c;continue A}if((((a[n>>2]|0)<=(a[A+40>>2]|0)?(a[A+32>>2]|0)<=(a[l>>2]|0):0)?(a[t>>2]|0)<=(a[A+44>>2]|0):0)?(a[A+36>>2]|0)<=(a[f>>2]|0):0){A=1;break A}A=A+48|0;r=r+1|0}}return A|0}function BS(A,e){A=A|0;e=e|0;if((a[A+36>>2]|0)>(a[e+44>>2]|0))A=0;else A=(a[e+36>>2]|0)<=(a[A+44>>2]|0)&1;return A|0}function vS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=jk(18168,a[4584]|0)|0;n=e;l=0;while(1){if((l|0)>=(i|0))break;a[n+8>>2]=a[n+12>>2];W5[a[t>>2]&63](t,n,1)|0;n=n+48|0;l=l+1|0}if(!f)l=mS(A,t,r,74)|0;else l=QS(t,r,74)|0;JV(l,2,2147483647)|0;n=0;while(1){if((n|0)>=(i|0))break;f=e+12|0;A=a[(a[(a[e+24>>2]|0)+16>>2]|0)+232>>2]|0;r=A-(a[f>>2]|0)|0;a[f>>2]=A;f=e+32|0;a[f>>2]=(a[f>>2]|0)+r;f=e+40|0;a[f>>2]=(a[f>>2]|0)+r;e=e+48|0;n=n+1|0}LS(l);pk(t)|0;return}function gS(A,e){A=A|0;e=e|0;if((a[A+32>>2]|0)>(a[e+40>>2]|0))A=0;else A=(a[e+32>>2]|0)<=(a[A+40>>2]|0)&1;return A|0}function ES(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=jk(18168,a[4584]|0)|0;n=e;l=0;while(1){if((l|0)>=(i|0))break;a[n+8>>2]=a[n+16>>2];W5[a[t>>2]&63](t,n,1)|0;n=n+48|0;l=l+1|0}if(!f)l=mS(A,t,r,75)|0;else l=QS(t,r,75)|0;JV(l,2,2147483647)|0;n=0;while(1){if((n|0)>=(i|0))break;f=e+16|0;A=a[(a[(a[e+24>>2]|0)+16>>2]|0)+232>>2]|0;r=A-(a[f>>2]|0)|0;a[f>>2]=A;f=e+36|0;a[f>>2]=(a[f>>2]|0)+r;f=e+44|0;a[f>>2]=(a[f>>2]|0)+r;e=e+48|0;n=n+1|0}LS(l);pk(t)|0;return}function CS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+32|0;r=e+32|0;if((a[A+36>>2]|0)<=(a[e+44>>2]|0)?(a[e+36>>2]|0)<=(a[A+44>>2]|0):0)if((a[A+40>>2]|0)<(a[r>>2]|0))A=1;else{n=GS(i,r)|0;n=n-(a[e+12>>2]|0)+(a[A+12>>2]|0)|0;e=a[e+16>>2]|0;A=a[A+16>>2]|0;f=(e|0)<(A|0);r=ZS(i,r)|0;A=(n|0)<=(r-(f?A:e)+(f?e:A)|0)&1}else A=0;return A|0}function IS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+32|0;r=e+32|0;if((a[i>>2]|0)<=(a[e+40>>2]|0)?(a[r>>2]|0)<=(a[A+40>>2]|0):0)if((a[A+44>>2]|0)<(a[e+36>>2]|0))A=1;else{n=ZS(i,r)|0;n=n-(a[e+16>>2]|0)+(a[A+16>>2]|0)|0;e=a[e+12>>2]|0;A=a[A+12>>2]|0;f=(e|0)<(A|0);r=GS(i,r)|0;A=(n|0)<=(r-(f?A:e)+(f?e:A)|0)&1}else A=0;return A|0}function ZS(A,e){A=A|0;e=e|0;return((a[A+12>>2]|0)-(a[A+4>>2]|0)+(a[e+12>>2]|0)-(a[e+4>>2]|0)|0)/2|0|0}function GS(A,e){A=A|0;e=e|0;return((a[A+8>>2]|0)-(a[A>>2]|0)+(a[e+8>>2]|0)-(a[e>>2]|0)|0)/2|0|0}function QS(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+16|0;E=I;r[E>>0]=r[18588]|0;r[E+1>>0]=r[18589]|0;r[E+2>>0]=r[18590]|0;r[E+3>>0]=r[18591]|0;C=kh(93515,E,0)|0;Td(C,137483,280,1)|0;n=xk(A)|0;l=-2147483647;g=0;while(1){if(!n)break;B=a[n+8>>2]|0;v=g+((l|0)!=(B|0)&1)|0;n=a[n>>2]|0;l=B;g=v}B=C+16|0;v=(g<<3)+-4|0;w=0;c=0;n=0;l=0;s=0;d=xk(A)|0;t=-2147483647;while(1){if(!d)break;h=a[d+8>>2]|0;if((t|0)!=(h|0)){o=vd(C,Vh(a[d+20>>2]|0)|0,1)|0;Td(o,137447,304,1)|0;u=o+16|0;n=a[u>>2]|0;a[n+112>>2]=d;if(!l){a[(a[B>>2]|0)+192>>2]=o;w=o}else{a[(a[w+16>>2]|0)+164>>2]=o;w=l}a[n+176>>2]=0;b=c+1|0;t=qF(b<<2)|0;a[(a[u>>2]|0)+172>>2]=t;if(!s){c=b;b=o;s=o;n=o;l=w;t=h}else{t=s+16|0;a[(a[t>>2]|0)+184>>2]=0;c=qF((s|0)==(w|0)?v:g-c<<2)|0;a[(a[t>>2]|0)+180>>2]=c;c=th(C,s,o,0,1)|0;Td(c,137460,176,1)|0;n=a[c+16>>2]|0;f[n+170>>1]=10;a[n+156>>2]=1;n=a[t>>2]|0;l=a[n+180>>2]|0;if(!l)n=$F((a[n+184>>2]<<2)+8|0)|0;else n=eV(l,(a[n+184>>2]<<2)+8|0)|0;s=a[t>>2]|0;a[s+180>>2]=n;s=s+184|0;l=a[s>>2]|0;a[s>>2]=l+1;a[n+(l<<2)>>2]=c;n=a[t>>2]|0;a[(a[n+180>>2]|0)+(a[n+184>>2]<<2)>>2]=0;n=a[u>>2]|0;l=a[n+172>>2]|0;if(!l)n=$F((a[n+176>>2]<<2)+8|0)|0;else n=eV(l,(a[n+176>>2]<<2)+8|0)|0;l=a[u>>2]|0;a[l+172>>2]=n;l=l+176|0;s=a[l>>2]|0;a[l>>2]=s+1;a[n+(s<<2)>>2]=c;c=a[u>>2]|0;a[(a[c+172>>2]|0)+(a[c+176>>2]<<2)>>2]=0;c=b;b=o;s=o;n=o;l=w;t=h}}else{b=n;n=w}a[d+24>>2]=b;w=n;n=b;d=a[d>>2]|0}s=s+16|0;a[(a[s>>2]|0)+184>>2]=0;n=qF(4)|0;a[(a[s>>2]|0)+180>>2]=n;r[E>>0]=r[18588]|0;r[E+1>>0]=r[18589]|0;r[E+2>>0]=r[18590]|0;r[E+3>>0]=r[18591]|0;s=kh(93562,E,0)|0;n=xk(A)|0;while(1){if(!n)break;E=vd(s,Vh(a[n+20>>2]|0)|0,1)|0;Td(E,137447,304,1)|0;a[n+28>>2]=E;a[(a[E+16>>2]|0)+112>>2]=n;n=a[n>>2]|0}n=0;b=xk(A)|0;l=-2147483647;A:while(1){if(!b)break;c=a[b+8>>2]|0;e:do{if((l|0)==(c|0))c=l;else{n=b;while(1){n=a[n>>2]|0;if(!n)break A;if((a[n+8>>2]|0)!=(c|0))break e}}}while(0);t=b+28|0;l=n;while(1){if(!l)break;if(m5[e&127](b,l)|0)th(s,a[t>>2]|0,a[l+28>>2]|0,0,1)|0;l=a[l>>2]|0}b=a[b>>2]|0;l=c}WS(s,C,i);Bh(s)|0;k=I;return C|0}function mS(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;B=k;k=k+16|0;d=B;r[d>>0]=r[18588]|0;r[d+1>>0]=r[18589]|0;r[d+2>>0]=r[18590]|0;r[d+3>>0]=r[18591]|0;d=kh(93515,d,0)|0;Td(d,137483,280,1)|0;b=d+16|0;l=xk(e)|0;t=0;while(1){if(!l)break;c=vd(d,Vh(a[l+20>>2]|0)|0,1)|0;Td(c,137447,304,1)|0;o=c+16|0;w=a[o>>2]|0;a[w+112>>2]=l;a[l+24>>2]=c;a[w+176>>2]=0;w=qF(4)|0;u=a[o>>2]|0;a[u+172>>2]=w;a[u+184>>2]=0;u=qF(4)|0;a[(a[o>>2]|0)+180>>2]=u;if(!t)a[(a[b>>2]|0)+192>>2]=c;else a[(a[t+16>>2]|0)+164>>2]=c;l=a[l>>2]|0;t=c}s=xk(e)|0;A:while(1){if(!s)break;w=s+32|0;u=s+24|0;o=s+20|0;l=s;while(1){l=a[l>>2]|0;if(!l)break;if(m5[i&127](s,l)|0){t=m5[n&127](w,l+32|0)|0;c=th(d,a[u>>2]|0,a[l+24>>2]|0,0,1)|0;Td(c,137460,176,1)|0;if((t|0)>=65536){h=13;break A}b=c+16|0;v=a[b>>2]|0;f[v+170>>1]=t;a[v+156>>2]=1;if(c|0?th(A,a[o>>2]|0,a[l+20>>2]|0,0,0)|0:0)a[(a[b>>2]|0)+156>>2]=100}}s=a[s>>2]|0}if((h|0)==13)vA(93518,93534,254,93547);s=xk(e)|0;while(1){if(!s)break;b=a[s+24>>2]|0;w=b+16|0;b=Oo(d,b)|0;while(1){if(!b)break;l=a[w>>2]|0;t=a[l+180>>2]|0;if(!t)l=$F((a[l+184>>2]<<2)+8|0)|0;else l=eV(t,(a[l+184>>2]<<2)+8|0)|0;t=a[w>>2]|0;a[t+180>>2]=l;t=t+184|0;c=a[t>>2]|0;a[t>>2]=c+1;a[l+(c<<2)>>2]=b;c=a[w>>2]|0;a[(a[c+180>>2]|0)+(a[c+184>>2]<<2)>>2]=0;c=b+-48|0;l=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;t=a[l+172>>2]|0;if(!t)l=$F((a[l+176>>2]<<2)+8|0)|0;else l=eV(t,(a[l+176>>2]<<2)+8|0)|0;a[(a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0)+172>>2]=l;n=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;h=a[n+172>>2]|0;n=n+176|0;v=a[n>>2]|0;a[n>>2]=v+1;a[h+(v<<2)>>2]=b;v=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;a[(a[v+172>>2]|0)+(a[v+176>>2]<<2)>>2]=0;b=_o(d,b)|0}s=a[s>>2]|0}k=B;return d|0}function LS(A){A=A|0;var e=0,i=0,r=0,f=0;f=cd(A)|0;while(1){if(!f)break;i=f+16|0;e=a[i>>2]|0;r=a[e+172>>2]|0;if(r){L2(r);e=a[i>>2]|0}e=a[e+180>>2]|0;if(e|0)L2(e);f=bd(A,f)|0}Bh(A)|0;return}function WS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;b=cd(A)|0;while(1){if(!b)break;u=a[(a[b+16>>2]|0)+112>>2]|0;w=a[u+24>>2]|0;u=u+32|0;k=w+16|0;s=Oo(A,b)|0;while(1){if(!s)break;l=a[(a[(a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;o=m5[i&127](u,l+32|0)|0;l=a[l+24>>2]|0;t=th(e,w,l,0,1)|0;Td(t,137460,176,1)|0;c=t+16|0;r=a[c>>2]|0;a[r+156>>2]=1;n=f[r+170>>1]|0;if((o|0)>(n&65535|0)){if(!(n<<16>>16)){r=a[k>>2]|0;n=a[r+180>>2]|0;if(!n)r=$F((a[r+184>>2]<<2)+8|0)|0;else r=eV(n,(a[r+184>>2]<<2)+8|0)|0;h=a[k>>2]|0;a[h+180>>2]=r;h=h+184|0;n=a[h>>2]|0;a[h>>2]=n+1;a[r+(n<<2)>>2]=t;r=a[k>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;l=l+16|0;r=a[l>>2]|0;n=a[r+172>>2]|0;if(!n)r=$F((a[r+176>>2]<<2)+8|0)|0;else r=eV(n,(a[r+176>>2]<<2)+8|0)|0;n=a[l>>2]|0;a[n+172>>2]=r;n=n+176|0;h=a[n>>2]|0;a[n>>2]=h+1;a[r+(h<<2)>>2]=t;r=a[l>>2]|0;a[(a[r+172>>2]|0)+(a[r+176>>2]<<2)>>2]=0;r=a[c>>2]|0}f[r+170>>1]=o}s=_o(A,s)|0}b=bd(A,b)|0}return}function yS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(a[e>>2]|0)-(a[i>>2]|0)|0}function zS(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0;Z=k;k=k+64|0;g=Z+24|0;B=Z+16|0;d=Z+52|0;h=Z+40|0;v=Z;C=vh(A)|0;I=$F(C*72|0)|0;qj(h,A);t=+c[h>>2];s=+c[h+4>>2];h=(r[h+8>>0]|0)!=0;t=h?t*.013888888888888888:t;s=h?s*.013888888888888888:s;w=t*.5;u=s*.5;i=I;f=cd(A)|0;while(1){if(!f)break;o=a[f+16>>2]|0;n=+b[o+32>>3];if(h){l=+b[o+40>>3]*.5+s;n=n*.5+t}else{l=u*+b[o+40>>3];n=w*n}o=a[o+132>>2]|0;Q=+b[o>>3];b[i>>3]=Q;G=+b[o+8>>3];b[i+8>>3]=G;b[i+16>>3]=Q-n;b[i+24>>3]=G-l;b[i+32>>3]=Q+n;b[i+40>>3]=G+l;b[i+48>>3]=n;b[i+56>>3]=l;a[i+64>>2]=f;i=i+72|0;f=bd(A,f)|0}do{if((e|0)<0){n=+YS(I,C);if(n==0.0){L2(I);i=0;break}if(!0){t=n;l=n;E=19}else{E=a[15712]|0;b[B>>3]=n;f3(E,93565,B)|0;t=n;l=n;E=19}}else{f=DS(I,C,d)|0;i=a[d>>2]|0;if(!i){L2(f);L2(I);i=0;break}if(!e){FS(v,f,i);n=+b[v>>3];l=+b[v+8>>3]}else{l=+MS(f,i);n=l}L2(f);if(!0){t=n;E=19}else{E=a[15712]|0;b[g>>3]=n;b[g+8>>3]=l;f3(E,93579,g)|0;t=n;E=19}}}while(0);if((E|0)==19){i=0;f=I;while(1){if((i|0)>=(C|0))break;E=a[(a[(a[f+64>>2]|0)+16>>2]|0)+132>>2]|0;b[E>>3]=+b[f>>3]*t;b[E+8>>3]=+b[f+8>>3]*l;i=i+1|0;f=f+72|0}L2(I);i=1}k=Z;return i|0}function YS(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;i=0.0;r=0;A:while(1){if((r|0)>=(e|0))break;d=A+72|0;r=r+1|0;w=A+16|0;u=A+8|0;k=A+56|0;o=A+48|0;h=A+32|0;c=A+24|0;s=A+40|0;l=r;t=d;while(1){if((l|0)>=(e|0)){A=d;continue A}if(((+b[w>>3]<=+b[t+32>>3]?+b[t+16>>3]<=+b[h>>3]:0)?+b[c>>3]<=+b[t+40>>3]:0)?+b[t+24>>3]<=+b[s>>3]:0){i=0.0;break A}f=+b[A>>3];a=+b[t>>3];if(f==a)n=C;else{n=+y(+(f-a));n=(+b[t+48>>3]+ +b[o>>3])/n}f=+b[u>>3];a=+b[t+8>>3];if(f==a)f=C;else{f=+y(+(f-a));f=(+b[t+56>>3]+ +b[k>>3])/f}n=fi?n:i}}return+i}function DS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,I=0,Z=0,G=0,Q=0;c=$F((e<<4)+16|0)|0;w=0;r=0;u=c;k=e;l=c;A:while(1){if((r|0)>=(e|0))break;G=A+72|0;r=r+1|0;Z=A+16|0;d=A+32|0;B=A+24|0;v=A+40|0;g=A+8|0;E=A+56|0;I=A+48|0;o=r;h=G;s=l;while(1){if((o|0)==(e|0)){A=G;l=s;continue A}if(((+b[Z>>3]<=+b[h+32>>3]?+b[h+16>>3]<=+b[d>>3]:0)?+b[B>>3]<=+b[h+40>>3]:0)?+b[h+24>>3]<=+b[v>>3]:0){l=k+e|0;if((w|0)==(k|0)){c=eV(c,(l<<4)+16|0)|0;u=c;s=c}else l=k;f=+b[A>>3];n=+b[h>>3];if(!(f==n)){f=(+b[h+48>>3]+ +b[I>>3])/+y(+(f-n));if(f<1.0){f=1.0;Q=13}}else{f=C;Q=13}if((Q|0)==13)Q=0;n=+b[g>>3];t=+b[h+8>>3];if(!(n==t)){n=(+b[h+56>>3]+ +b[E>>3])/+y(+(n-t));if(n<1.0){n=1.0;Q=16}}else{n=C;Q=16}if((Q|0)==16)Q=0;w=w+1|0;b[u+(w<<4)>>3]=f;b[u+(w<<4)+8>>3]=n}else l=k;o=o+1|0;h=h+72|0;k=l}}Q=eV(l,(w<<4)+16|0)|0;a[i>>2]=w;return Q|0}function MS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,a=0.0,n=0.0;r=1;f=0.0;while(1){i=A+16|0;if((r|0)>(e|0))break;n=+b[i>>3];a=+b[A+24>>3];a=nf?a:f;A=i}return+f}function FS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0,n=0,l=0.0;b[e>>3]=1.0;b[e+8>>3]=C;K4(e+16|0,i,16,76);n=$F((i<<4)+16|0)|0;b[n+(i<<4)>>3]=+b[e+(i<<4)>>3];a=i;r=1.0;while(1){b[n+(a<<4)+8>>3]=r;f=a+-1|0;if((a|0)<=0){r=C;f=0;a=0;break}b[n+(f<<4)>>3]=+b[e+(f<<4)>>3];l=+b[(+b[e+(a<<4)+8>>3]>r?e:n)+(a<<4)+8>>3];a=f;r=l}while(1){if((a|0)>(i|0))break;l=+b[n+(a<<4)+8>>3]*+b[n+(a<<4)>>3];e=l>3];b[A>>3]=+b[n+(f<<4)>>3];b[A+8>>3]=l;return}else vA(93596,93534,832,93616)}function VS(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3];r=+b[e>>3];if(!(ir)){r=+b[A+8>>3];i=+b[e+8>>3];if(ri&1}else A=1;else A=-1;return A|0}function JS(A,e,i){A=A|0;e=e|0;i=i|0;i=k;k=k+16|0;e=i;a[e>>2]=93631;ao(1,93681,e)|0;k=i;return 0}function NS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=k;k=k+16|0;i=r;a[i>>2]=93631;ao(1,93709,i)|0;k=r;return 0}function XS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{switch(i|0){case 2:{r=$F(16)|0;f=$F(24)|0;a[f+8>>2]=0;a[f+4>>2]=r;a[f>>2]=2;a[r>>2]=0;a[r+4>>2]=1;i=r+8|0;a[f+16>>2]=i;a[f+20>>2]=0;a[f+12>>2]=2;a[i>>2]=1;a[r+12>>2]=0;break}case 1:{r=$F(4)|0;f=$F(12)|0;a[f+8>>2]=0;a[f+4>>2]=r;a[f>>2]=1;a[r>>2]=0;break}default:{JS(0,0,0)|0;A=(i|0)>0;if(!r){if(!A){f=0;break A}re()}else{if(!A){f=0;break A}re()}}}}while(0);return f|0}function RS(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)L2(e);e=a[A+8>>2]|0;if(e|0)L2(e);L2(A)}return}function HS(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)L2(e);e=a[A+8>>2]|0;if(e|0)L2(e);e=a[A+16>>2]|0;if(e|0)L2(e);L2(A)}return}function pS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;s=u;b=y2(a[46849]|0,i<<2)|0;a[46849]=b;f=0;while(1){if((f|0)>=(i|0))break;a[r+(f<<2)>>2]=2147483647;f=f+1|0}a[r+(A<<2)>>2]=0;n=e+(A*20|0)|0;l=e+(A*20|0)+8|0;t=e+(A*20|0)+4|0;f=1;while(1){if((f|0)>=(a[n>>2]|0))break;a[r+(a[(a[t>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+c[(a[l>>2]|0)+(f<<2)>>2];f=f+1|0}US(w,A,b,r,i);l=-2147483639;while(1){if(!((xS(w,s,a[46849]|0,r)|0)<<24>>24)){f=0;break}f=a[s>>2]|0;A=a[r+(f<<2)>>2]|0;if((A|0)==2147483647){f=0;break}l=e+(f*20|0)|0;t=e+(f*20|0)+4|0;n=e+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(a[l>>2]|0))break;TS(w,a[(a[t>>2]|0)+(f<<2)>>2]|0,A+~~+c[(a[n>>2]|0)+(f<<2)>>2]|0,a[46849]|0,r);f=f+1|0}l=A+10|0}while(1){if((f|0)>=(i|0))break;n=r+(f<<2)|0;if((a[n>>2]|0)==2147483647)a[n>>2]=l;f=f+1|0}jS(w);k=u;return}function US(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;if((f|0)==1)t=0;else t=$F((f<<2)+-4|0)|0;a[A>>2]=t;c=f+-1|0;a[A+4>>2]=c;n=0;l=0;while(1){if((l|0)>=(f|0))break;if((l|0)!=(e|0)){a[t+(n<<2)>>2]=l;a[i+(l<<2)>>2]=n;n=n+1|0}l=l+1|0}n=(c|0)/2|0;while(1){if((n|0)<=-1)break;SS(A,n,i,r);n=n+-1|0}return}function xS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A+4|0;if(!(a[f>>2]|0))A=0;else{n=a[A>>2]|0;a[e>>2]=a[n>>2];e=a[n+((a[f>>2]|0)+-1<<2)>>2]|0;a[n>>2]=e;a[i+(e<<2)>>2]=0;a[f>>2]=(a[f>>2]|0)+-1;SS(A,0,i,r);A=1}return A|0}function TS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;n=f+(e<<2)|0;if((a[n>>2]|0)>(i|0)){c=r+(e<<2)|0;t=a[c>>2]|0;a[n>>2]=i;n=a[A>>2]|0;A=t;while(1){if((A|0)<=0)break;l=A>>>1;t=a[n+(l<<2)>>2]|0;if((a[f+(t<<2)>>2]|0)<=(i|0))break;a[n+(A<<2)>>2]=t;a[r+(t<<2)>>2]=A;A=l}a[n+(A<<2)>>2]=e;a[c>>2]=A}return}function jS(A){A=A|0;A=a[A>>2]|0;if(A|0)L2(A);return}function SS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;t=A+4|0;while(1){f=e<<1;n=f|1;l=a[t>>2]|0;if(!((f|0)<(l|0)?(c=a[A>>2]|0,(a[r+(a[c+(f<<2)>>2]<<2)>>2]|0)<(a[r+(a[c+(e<<2)>>2]<<2)>>2]|0)):0))f=e;if((n|0)<(l|0)){c=a[A>>2]|0;f=(a[r+(a[c+(n<<2)>>2]<<2)>>2]|0)<(a[r+(a[c+(f<<2)>>2]<<2)>>2]|0)?n:f}if((f|0)==(e|0))break;c=a[A>>2]|0;l=c+(f<<2)|0;n=a[l>>2]|0;c=c+(e<<2)|0;a[l>>2]=a[c>>2];a[c>>2]=n;a[i+(a[l>>2]<<2)>>2]=f;a[i+(a[c>>2]<<2)>>2]=e;e=f}return}function PS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0.0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;s=o+8|0;w=o;a[w>>2]=0;u=$F(i<<2)|0;f=0;while(1){if((f|0)>=(i|0))break;c[r+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}c[r+(A<<2)>>2]=0.0;n=a[e+(A*20|0)>>2]|0;l=e+(A*20|0)+8|0;t=e+(A*20|0)+4|0;f=1;while(1){if((f|0)>=(n|0))break;a[r+(a[(a[t>>2]|0)+(f<<2)>>2]<<2)>>2]=a[(a[l>>2]|0)+(f<<2)>>2];f=f+1|0}OS(s,A,u,r,i);A:while(1){if(!((KS(s,w,u,r)|0)<<24>>24))break;f=a[w>>2]|0;b=+c[r+(f<<2)>>2];if(b==3402823466385288598117041.0e14)break;l=e+(f*20|0)|0;t=e+(f*20|0)+4|0;n=e+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(a[l>>2]|0))continue A;_S(s,a[(a[t>>2]|0)+(f<<2)>>2]|0,+c[(a[n>>2]|0)+(f<<2)>>2]+b,u,r);f=f+1|0}}jS(s);L2(u);k=o;return}function OS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;t=f+-1|0;c=$F(t<<2)|0;a[A>>2]=c;a[A+4>>2]=t;n=0;l=0;while(1){if((l|0)>=(f|0))break;if((l|0)!=(e|0)){a[c+(n<<2)>>2]=l;a[i+(l<<2)>>2]=n;n=n+1|0}l=l+1|0}n=(t|0)/2|0;while(1){if((n|0)<=-1)break;qS(A,n,i,r);n=n+-1|0}return}function KS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A+4|0;if(!(a[f>>2]|0))A=0;else{n=a[A>>2]|0;a[e>>2]=a[n>>2];e=a[n+((a[f>>2]|0)+-1<<2)>>2]|0;a[n>>2]=e;a[i+(e<<2)>>2]=0;a[f>>2]=(a[f>>2]|0)+-1;qS(A,0,i,r);A=1}return A|0}function _S(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,b=0;n=f+(e<<2)|0;if(!(+c[n>>2]<=i)){b=r+(e<<2)|0;t=a[b>>2]|0;c[n>>2]=i;n=a[A>>2]|0;A=t;while(1){if((A|0)<=0)break;l=A>>>1;t=a[n+(l<<2)>>2]|0;if(!(+c[f+(t<<2)>>2]>i))break;a[n+(A<<2)>>2]=t;a[r+(t<<2)>>2]=A;A=l}a[n+(A<<2)>>2]=e;a[b>>2]=A}return}function qS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0;t=A+4|0;while(1){f=e<<1;n=f|1;l=a[t>>2]|0;if(!((f|0)<(l|0)?(b=a[A>>2]|0,+c[r+(a[b+(f<<2)>>2]<<2)>>2]<+c[r+(a[b+(e<<2)>>2]<<2)>>2]):0))f=e;if((n|0)<(l|0)?(b=a[A>>2]|0,+c[r+(a[b+(n<<2)>>2]<<2)>>2]<+c[r+(a[b+(f<<2)>>2]<<2)>>2]):0)f=n;if((f|0)==(e|0))break;b=a[A>>2]|0;l=b+(f<<2)|0;n=a[l>>2]|0;b=b+(e<<2)|0;a[l>>2]=a[b>>2];a[b>>2]=n;a[i+(a[l>>2]<<2)>>2]=f;a[i+(a[b>>2]<<2)>>2]=e;e=f}return}function $S(){jO(187400,48);a[46853]=0;return}function AP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0,l=0;l=PO(187400)|0;a[l+32>>2]=A;a[l+36>>2]=e;LK(A);LK(e);a[l+24>>2]=0;a[l+28>>2]=0;f=+b[A>>3];n=+b[e>>3]-f;r=+b[A+8>>3];i=+b[e+8>>3]-r;f=i*r+n*f+(i*i+n*n)*.5;e=l+16|0;b[e>>3]=f;if((n>0.0?n:-n)>(i>0.0?i:-i)){b[l>>3]=1.0;r=i/n;i=n;A=l+8|0}else{b[l+8>>3]=1.0;r=n/i;A=l}b[A>>3]=r;b[e>>3]=f/i;e=a[46853]|0;a[l+40>>2]=e;a[46853]=e+1;return l|0}function eP(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0;s=+b[A>>3];A:do{if(s==1.0){if(!(+b[A+8>>3]>=0.0)){e=a[A+28>>2]|0;i=a[A+24>>2]|0;if(!i)w=9;else w=5}else{e=a[A+24>>2]|0;i=a[A+28>>2]|0;if(!i)w=9;else w=5}do{if((w|0)==5){r=+b[i+8>>3];if(r>+b[23266])break A;f=+b[23267];if(!(r>=f)){l=f;r=+b[A+16>>3]-+b[A+8>>3]*f;break}else{l=r;r=+b[i>>3];break}}else if((w|0)==9){f=+b[23267];l=f;r=+b[A+16>>3]-+b[A+8>>3]*f}}while(0);do{if(e){n=+b[e+8>>3];if(n>3]-+b[A+8>>3]*f;break}else{f=+b[e>>3];break}}else{f=+b[23266];n=f;f=+b[A+16>>3]-+b[A+8>>3]*f}}while(0);t=+b[23268];e=r>t;i=f>t;c=+b[23269];if(!(e&i|r>3]-t)/+b[A+8>>3];r=t}if(r>3]-c)/+b[A+8>>3];r=c}if(i){n=(+b[A+16>>3]-t)/+b[A+8>>3];f=t}if(f>3]-c)/+b[A+8>>3];f=c;w=46}else w=46}}else{i=a[A+28>>2]|0;e=a[A+24>>2]|0;do{if(e){r=+b[e>>3];if(r>+b[23268])break A;n=+b[23269];if(!(r>=n)){l=+b[A+16>>3]-n*s;r=n;break}else{l=+b[e+8>>3];break}}else{n=+b[23269];l=+b[A+16>>3]-n*s;r=n}}while(0);do{if(i){f=+b[i>>3];if(f>3]-s*t;f=t;break}else{n=+b[i+8>>3];break}}else{f=+b[23268];n=+b[A+16>>3]-s*f}}while(0);t=+b[23266];e=l>t;i=n>t;c=+b[23267];if(!(e&i|l>3]-t)/s}if(l>3]-c)/s}if(i){n=t;f=(+b[A+16>>3]-t)/s}if(n>3]-c)/s;w=46}else w=46}}}while(0);if((w|0)==46)iP(A,r,l,f,n);return}function iP(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var n=0;n=A+32|0;FP(a[n>>2]|0,e,i);FP(a[n>>2]|0,r,f);A=A+36|0;FP(a[A>>2]|0,e,i);FP(a[A>>2]|0,r,f);return}function rP(A,e,i){A=A|0;e=e|0;i=i|0;a[A+24+(e<<2)>>2]=i;LK(i);if(a[A+24+(1-e<<2)>>2]|0){eP(A);mK(a[A+32>>2]|0);mK(a[A+36>>2]|0);OO(A,187400)}return}function fP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;o=k;k=k+16|0;u=o;s=e<<2;l=$F(U(s,i)|0)|0;n=a[r>>2]|0;s=$F(s)|0;w=a[A+8>>2]|0;if(n|0){L2(a[n>>2]|0);L2(n)}b=$F(i<<2)|0;a[r>>2]=b;n=0;while(1){if((n|0)>=(i|0))break;a[b+(n<<2)>>2]=l+((U(n,e)|0)<<2);n=n+1|0}c=(f|0)!=0;if(c)xP(A,e);r=(a8()|0)%(e|0)|0;lS(u,e);n=a[b>>2]|0;if(c){pS(r,A,e,n);f=0;n=0}else{rS(r,A,e,n,u);f=0;n=0}while(1){if((n|0)>=(e|0)){t=1;break}l=a[(a[b>>2]|0)+(n<<2)>>2]|0;a[s+(n<<2)>>2]=l;t=(l|0)>(f|0);f=t?l:f;r=t?n:r;n=n+1|0}while(1){if((t|0)>=(i|0))break;l=b+(t<<2)|0;n=a[l>>2]|0;if(c){pS(r,A,e,n);n=0;f=0}else{rS(r,A,e,n,u);n=0;f=0}while(1){if((n|0)>=(e|0))break;B=s+(n<<2)|0;h=a[B>>2]|0;d=a[(a[l>>2]|0)+(n<<2)>>2]|0;d=(h|0)<(d|0)?h:d;a[B>>2]=d;B=(d|0)>(f|0);h=B?n:r;n=n+1|0;f=B?d:f;r=h}t=t+1|0}L2(s);if(c)TP(A,e,w);k=o;return}function aP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0.0,c=0,b=0;t=1.0/+(e|0);l=0;while(1){if((l|0)>=(i|0))break;c=A+(l<<2)|0;r=0.0;f=0;while(1){if((f|0)>=(e|0))break;r=r+ +(a[(a[c>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=~~(r*t);f=0;while(1){if((f|0)>=(e|0))break;b=(a[c>>2]|0)+(f<<2)|0;a[b>>2]=(a[b>>2]|0)-n;f=f+1|0}l=l+1|0}return}function nP(){a[46855]=~~+z(+ +((a[46854]|0)+4|0));return}function lP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+(r*r+i*i)}function tP(A,e,i){A=A|0;e=e|0;i=i|0;b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=+b[e+8>>3]-+b[i+8>>3];return}function cP(A,e,i){A=A|0;e=e|0;i=i|0;b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=+b[i+8>>3]+ +b[e+8>>3];return}function bP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];return+((+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r))}function sP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=k;k=k+48|0;f=r+32|0;n=r+16|0;l=r;a[l>>2]=a[A>>2];a[l+4>>2]=a[A+4>>2];a[l+8>>2]=a[A+8>>2];a[l+12>>2]=a[A+12>>2];a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];i=+bP(l,n,f)>0.0&1;k=r;return i|0}function wP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0;k=+b[A>>3];o=+b[r+8>>3];h=+b[i+8>>3];w=(o-h)*k;u=+b[e>>3];s=+b[r>>3];c=+b[e+8>>3];l=+b[A+8>>3];t=c-l;a=+b[i>>3];n=w+u*(h-o)+t*s+a*(l-c);if(n==0.0)r=0;else{o=(a*(l-o)+w+(h-l)*s)/n;h=-(a*t+((h-c)*k+(l-h)*u))/n;b[f>>3]=o*(u-k)+k;b[f+8>>3]=t*o+l;r=h<=1.0&(h>=0.0&(o>=0.0&o<=1.0))&1}return r|0}function uP(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0.0,l=0;a[A+20>>2]=e;LK(e);l=A+24|0;b[l>>3]=+b[e+8>>3]+i;r=a[46856]|0;r=r+((kP(A)|0)*40|0)|0;while(1){f=r+32|0;r=a[f>>2]|0;if(!r)break;i=+b[l>>3];n=+b[r+24>>3];if(i>n)continue;if(!(i==n))break;if(!(+b[e>>3]>+b[a[r+20>>2]>>3]))break}a[A+32>>2]=r;a[f>>2]=A;a[46857]=(a[46857]|0)+1;return}function kP(A){A=A|0;var e=0.0,i=0,r=0.0;i=a[46858]|0;r=+(i|0);e=(+b[A+24>>3]-+b[23273])/+b[23275]*r;do{if(!(e<0.0))if(!(e>=r)){A=~~e;break}else{A=i+-1|0;break}else A=0}while(0);if((A|0)<(a[46859]|0))a[46859]=A;return A|0}function oP(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;if(a[i>>2]|0){e=a[46856]|0;e=e+((kP(A)|0)*40|0)|0;do{r=e+32|0;e=a[r>>2]|0}while((e|0)!=(A|0));a[r>>2]=a[A+32>>2];a[46857]=(a[46857]|0)+-1;mK(a[i>>2]|0);a[i>>2]=0}return}function hP(){return(a[46857]|0)==0|0}function dP(A){A=A|0;var e=0,i=0,r=0,f=0.0;e=a[46856]|0;i=a[46859]|0;while(1){r=a[e+(i*40|0)+32>>2]|0;if(r|0)break;r=i+1|0;a[46859]=r;i=r}f=+b[r+24>>3];b[A>>3]=+b[a[r+20>>2]>>3];b[A+8>>3]=f;return}function BP(){var A=0,e=0;e=(a[46856]|0)+((a[46859]|0)*40|0)+32|0;A=a[e>>2]|0;a[e>>2]=a[A+32>>2];a[46857]=(a[46857]|0)+-1;return A|0}function vP(){L2(a[46856]|0);a[46856]=0;return}function gP(){var A=0,e=0,i=0;a[46857]=0;a[46859]=0;A=a[46855]|0;e=A<<2;a[46858]=e;i=a[46856]|0;if(!i){i=$F(A*160|0)|0;a[46856]=i;e=a[46858]|0}A=0;while(1){if((A|0)>=(e|0))break;a[i+(A*40|0)+32>>2]=0;A=A+1|0}return}function EP(){jO(187448,40);L2(a[46865]|0);a[46865]=0;return}function CP(){var A=0,e=0,i=0;jO(187448,40);A=a[46855]|0;e=A<<1;a[46866]=e;i=a[46865]|0;if(!i){i=$F(A<<3)|0;a[46865]=i;e=a[46866]|0}A=0;while(1){if((A|0)>=(e|0))break;a[i+(A<<2)>>2]=0;A=A+1|0}a[46860]=IP(0,0)|0;a[46861]=IP(0,0)|0;a[a[46860]>>2]=0;i=a[46861]|0;e=a[46860]|0;a[e+4>>2]=i;a[i>>2]=e;a[(a[46861]|0)+4>>2]=0;i=a[46865]|0;a[i>>2]=a[46860];a[i+((a[46866]|0)+-1<<2)>>2]=a[46861];return}function IP(A,e){A=A|0;e=e|0;var i=0;i=PO(187448)|0;a[i+8>>2]=A;r[i+16>>0]=e;a[i+32>>2]=0;a[i+20>>2]=0;a[i+12>>2]=0;return i|0}function ZP(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0.0,w=0.0,u=0.0,k=0,o=0.0,h=0.0;l=a[A+8>>2]|0;c=a[e+8>>2]|0;do{if((!((l|0)==0|(c|0)==0)?(k=a[l+36>>2]|0,i=a[c+36>>2]|0,(k|0)!=(i|0)):0)?(t=+b[l>>3],f=+b[c+8>>3],n=+b[l+8>>3],s=+b[c>>3],w=f*t-s*n,!(w>-1.0e-10&w<1.0e-10)):0){o=+b[l+16>>3];h=+b[c+16>>3];u=(o*f-h*n)/w;t=(h*t-o*s)/w;f=+b[k+8>>3];n=+b[i+8>>3];do{if(f>3]<+b[i>>3]:0){i=k;break}A=e}}while(0);A=r[A+16>>0]|0;if(!(u>=+b[i>>3])){if(A<<24>>24==1){A=0;break}}else if(!(A<<24>>24)){A=0;break}A=ZK()|0;a[A+20>>2]=0;b[A>>3]=u;b[A+8>>3]=t}else A=0}while(0);return A|0}function GP(A,e){A=A|0;e=e|0;var i=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0,s=0.0,w=0,u=0,k=0.0,o=0;u=a[A+8>>2]|0;c=a[u+36>>2]|0;s=+b[e>>3];k=+b[c>>3];w=s>k;o=r[A+16>>0]|0;if(w)if(!(o<<24>>24))A=1;else f=4;else if(o<<24>>24==1)A=0;else f=4;if((f|0)==4){i=+b[u>>3];A:do{if(i==1.0){i=+b[e+8>>3];n=i-+b[c+8>>3];l=s-k;t=+b[u+8>>3];e=t<0.0;do{if(w?t>=0.0:e){if(n>=t*l){A=1;break A}}else{A=t*i+s>+b[u+16>>3];if(e)if(A){A=0;break A}else break;else if(A)break;else{A=0;break A}}}while(0);k=k-+b[a[u+32>>2]>>3];A=t*(l*l-n*n)>3]-s*i;t=+b[e+8>>3]-l;k=s-k;s=l-+b[c+8>>3];A=t*t>s*s+k*k}}while(0);A=(A^o<<24>>24!=0)&1}return A|0}function QP(A,e){A=A|0;e=e|0;a[e>>2]=A;A=A+4|0;a[e+4>>2]=a[A>>2];a[a[A>>2]>>2]=e;a[A>>2]=e;return}function mP(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[46866]|0;e=~~((+b[A>>3]-+b[23272])/+b[23274]*+(f|0));e=(e|0)>0?e:0;f=(e|0)<(f|0)?e:f+-1|0;e=LP(f)|0;if(!e){i=1;while(1){e=LP(f-i|0)|0;if(e|0)break;e=LP(i+f|0)|0;if(e|0)break;i=i+1|0}a[46867]=(a[46867]|0)+i}a[46868]=(a[46868]|0)+1;r=a[46860]|0;i=a[46861]|0;A:do{if((e|0)==(r|0))n=9;else{if((e|0)!=(i|0)?(GP(e,A)|0)!=0:0){n=9;break}while(1){e=a[e>>2]|0;if((e|0)==(r|0))break A;if(GP(e,A)|0){r=e;break}}}}while(0);if((n|0)==9){while(1){e=a[e+4>>2]|0;if((e|0)==(i|0))break;if(!(GP(e,A)|0))break;else n=9}r=a[e>>2]|0}if((f|0)>0?(f|0)<((a[46866]|0)+-1|0):0){e=(a[46865]|0)+(f<<2)|0;i=a[e>>2]|0;if(i|0){n=i+12|0;a[n>>2]=(a[n>>2]|0)+-1}a[e>>2]=r;n=r+12|0;a[n>>2]=(a[n>>2]|0)+1}return r|0}function LP(A){A=A|0;var e=0,i=0;if((A|0)>-1&(a[46866]|0)>(A|0)?(i=(a[46865]|0)+(A<<2)|0,e=a[i>>2]|0,(e|0)!=0):0){if((a[e+8>>2]|0)==(-2|0)){a[i>>2]=0;A=e+12|0;i=(a[A>>2]|0)+-1|0;a[A>>2]=i;if(!i){OO(e,187448);e=0}else e=0}}else e=0;return e|0}function WP(A){A=A|0;var e=0,i=0;e=A+4|0;i=a[A>>2]|0;a[i+4>>2]=a[e>>2];a[a[e>>2]>>2]=i;a[A+8>>2]=-2;return}function yP(A){A=A|0;return a[A+4>>2]|0}function zP(A){A=A|0;return a[A>>2]|0}function YP(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(!e)A=187672;else A=(r[A+16>>0]|0)==0?e+32|0:e+36|0;return a[A>>2]|0}function DP(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(!e)A=187672;else A=(r[A+16>>0]|0)==0?e+36|0:e+32|0;return a[A>>2]|0}function MP(){jO(187480,24);return}function FP(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;n=(a[46869]|0)+((a[A+16>>2]|0)*96|0)+88|0;f=a[n>>2]|0;b[l+8>>3]=e;b[l+16>>3]=i;r=VP(A,l,f)|0;do{if(r|0){if((r|0)<0){l=PO(187480)|0;b[l+8>>3]=e;b[l+16>>3]=i;a[l>>2]=f;a[n>>2]=l;break}while(1){r=a[f>>2]|0;n=VP(A,l,r)|0;if((n|0)>0)f=r;else break}if(n|0){l=PO(187480)|0;b[l+8>>3]=e;b[l+16>>3]=i;a[f>>2]=l;a[l>>2]=r}}}while(0);k=t;return}function VP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0,c=0.0;do{if(i){f=+b[e+8>>3];l=+b[i+8>>3];r=+b[e+16>>3];a=+b[i+16>>3];if(!(f==l&r==a)){c=+b[A>>3];t=f-c;f=+b[A+8>>3];n=r-f;l=l-c;r=a-f;if(!(t>=0.0)){if(l>=0.0){e=1;break}f=r/l;r=n/t;if(rf){e=1;break}e=t>l?-1:1;break}if(!(l<0.0)){e=l>0.0;if(!(t>0.0)){if(e){e=!(n<=0.0)?1:-1;break}if(n0.0?-1:1;break}f=r/l;r=n/t;if(rf){e=1;break}e=t>2]|0;i=A+(i*20|0)+4|0;e=1;A=0;while(1){if((e|0)>=(f|0))break;n=A+((a[r+(a[(a[i>>2]|0)+(e<<2)>>2]<<2)>>2]|0)>0&1)|0;e=e+1|0;A=n}return A|0}function NP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+(e*20|0)|0;e=A+(e*20|0)+4|0;A=1;while(1){if((A|0)>=(a[r>>2]|0))break;a[i+(a[(a[e>>2]|0)+(A<<2)>>2]<<2)>>2]=1;A=A+1|0}return}function XP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+(e*20|0)|0;e=A+(e*20|0)+4|0;A=1;while(1){if((A|0)>=(a[r>>2]|0))break;a[i+(a[(a[e>>2]|0)+(A<<2)>>2]<<2)>>2]=0;A=A+1|0}return}function RP(A,e){A=A|0;e=e|0;if(!(a[A+8>>2]|0))A=pP(A,e)|0;else A=HP(A,e)|0;return A|0}function HP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=e<<2;r=$F(U(f,e)|0)|0;f=$F(f)|0;i=0;while(1){if((i|0)>=(e|0)){i=0;break}a[f+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}while(1){if((i|0)>=(e|0))break;pS(i,A,e,a[f+(i<<2)>>2]|0);i=i+1|0}return f|0}function pP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;n=e<<2;r=$F(U(n,e)|0)|0;n=$F(n)|0;i=0;while(1){if((i|0)>=(e|0))break;a[n+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}lS(f,e);i=0;while(1){if((i|0)>=(e|0))break;rS(i,A,e,a[n+(i<<2)>>2]|0,f);i=i+1|0}tS(f);k=l;return n|0}function UP(A,e){A=A|0;e=e|0;var i=0,r=0;r=a[A+8>>2]|0;xP(A,e);i=HP(A,e)|0;TP(A,e,r);return i|0}function xP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;s=$F(e<<2)|0;i=0;r=0;while(1){if((i|0)>=(e|0))break;b=(a[A+(i*20|0)>>2]|0)+r|0;i=i+1|0;r=b}r=$F(r<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;a[s+(i<<2)>>2]=0;i=i+1|0}f=0;while(1){if((f|0)>=(e|0))break;a[A+(f*20|0)+8>>2]=r;NP(A,f,s);n=A+(f*20|0)|0;l=a[n>>2]|0;t=A+(f*20|0)+4|0;b=l+-2|0;i=1;while(1){if((i|0)>=(l|0))break;w=a[(a[t>>2]|0)+(i<<2)>>2]|0;u=a[A+(w*20|0)>>2]|0;c[r+(i<<2)>>2]=+(b+u-((JP(A,0,w,s)|0)<<1)|0);i=i+1|0}XP(A,f,s);r=r+(a[n>>2]<<2)|0;f=f+1|0}L2(s);return}function TP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;L2(a[r>>2]|0);a[r>>2]=0;A:do{if(i|0){r=0;while(1){if((r|0)>=(e|0))break A;a[A+(r*20|0)+8>>2]=i;f=i+(a[A+(r*20|0)>>2]<<2)|0;r=r+1|0;i=f}}}while(0);return}function jP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0;f=0;n=0.0;while(1){if((f|0)>=(e|0))break;t=a[A+(f<<2)>>2]|0;l=+b[t+(i<<3)>>3]-+b[t+(r<<3)>>3];f=f+1|0;n=l*l+n}return+ +z(+n)}function SP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((r|0)>(i|0)){a[46873]=A;K4(e+(i<<2)|0,1-i+r|0,4,77)}return}function PP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[46873]|0;r=+c[f+(a[A>>2]<<2)>>2];i=+c[f+(a[e>>2]<<2)>>2];return(ri&1)|0}function OP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=k;k=k+16|0;f=l;if((i|0)<(r|0)){KP(A,e,i,r,f);n=a[f>>2]|0;f=n+-1|0;OP(A,e,i,f);n=n+1|0;OP(A,e,n,r);if(!(_P(A,e,i,f)|0))OP(A,e,i,f);if(!(_P(A,e,n,r)|0))OP(A,e,n,r)}k=l;return}function KP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0;n=a8()|0;n=e+(((((a8()|0)<<16|n)>>>0)%((1-i+r|0)>>>0)|0)+i<<2)|0;t=a[n>>2]|0;c=e+(i<<2)|0;a[n>>2]=a[c>>2];a[c>>2]=t;s=+b[A+(t<<3)>>3];n=i+1|0;i=r;A:while(1){if((n|0)>=(i|0))break;while(1){if((n|0)>=(i|0))break;if(!(+b[A+(a[e+(n<<2)>>2]<<3)>>3]<=s))break;n=n+1|0}while(1){if((n|0)>=(i|0))continue A;r=e+(i<<2)|0;l=a[r>>2]|0;if(!(+b[A+(l<<3)>>3]>s))break;i=i+-1|0}u=e+(n<<2)|0;w=a[u>>2]|0;a[u>>2]=l;a[r>>2]=w;n=n+1|0;i=i+-1|0}u=n+((+b[A+(a[e+(n<<2)>>2]<<3)>>3]>s)<<31>>31)|0;a[f>>2]=u;u=e+(u<<2)|0;a[c>>2]=a[u>>2];a[u>>2]=t;return}function _P(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=1;while(1){f=i+1|0;if(!((i|0)<(r|0)&(n|0)!=0))break;n=+b[A+(a[e+(i<<2)>>2]<<3)>>3]>+b[A+(a[e+(f<<2)>>2]<<3)>>3]?0:n;i=f}return n|0}function qP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;I=k;k=k+16|0;E=4;C=m2(40)|0;a[C>>2]=0;v=I;d=0;g=iA(23,e*40|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)!=1){i=0;o=0;while(1){if((i|0)>=(e|0))break;h=(a[(a[A+(i<<2)>>2]|0)+4>>2]|0)+o|0;i=i+1|0;o=h}d=0;h=iA(23,o*24|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)!=1){i=0;s=0;while(1){if((s|0)>=(e|0))break;w=g+(s*40|0)|0;a[w>>2]=h+(i*24|0);u=A+(s<<2)|0;f=0;n=1797693134862315708145274.0e284;l=-1797693134862315708145274.0e284;t=-1797693134862315708145274.0e284;c=1797693134862315708145274.0e284;while(1){r=a[u>>2]|0;if((f|0)>=(a[r+4>>2]|0))break;r=a[r>>2]|0;G=+b[r+(f<<4)>>3];Z=+b[r+(f<<4)+8>>3];b[h+(i*24|0)>>3]=G;b[h+(i*24|0)+8>>3]=Z;a[h+(i*24|0)+16>>2]=w;a[h+(i*24|0)+20>>2]=0;f=f+1|0;i=i+1|0;n=nG?l:G;t=t>Z?t:Z;c=c>2]=h+((i+-1|0)*24|0);b[g+(s*40|0)+8>>3]=n;b[g+(s*40|0)+16>>3]=c;b[g+(s*40|0)+24>>3]=l;b[g+(s*40|0)+32>>3]=t;s=s+1|0}a[v>>2]=o;a[v+4>>2]=e;C=L6(187496,1,C|0,E|0)|0;E=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){i=L;u=h;s=h;w=g}else{i=0;u=h;s=h;w=g}}else{i=L;u=0;s=h;w=g}}else{i=L;u=0;s=0;w=0}while(1){if(i|0){d=0;sA(105,g|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}d=0;sA(105,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}else{r=17;break}}d=0;i=rA(78,u|0,v|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}if(!i){d=0;i=aA(24,A|0,e|0,w|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}}d=0;sA(105,g|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}d=0;sA(105,s|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h}else{r=24;break}}if((r|0)==17)i=0;else if((r|0)==24)i=(i|0)==0&1;L2(C|0);k=I;return i|0}function $P(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;h=E;u=E+8|0;o=E+4|0;a[e+8>>2]=0;g=$F(a[e>>2]<<2)|0;f=a[e>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;a[g+(r<<2)>>2]=A+(r*24|0);r=r+1|0}K4(g,f,4,79);s=0;n=0;f=0;l=0;A:while(1){if((s|0)>=(a[e>>2]|0)){B=0;i=n;v=l;break}w=g+(s<<2)|0;r=a[w>>2]|0;a[u>>2]=r;A=a[r+16>>2]|0;if((a[A>>2]|0)==(r|0))r=a[A+4>>2]|0;else r=r+-24|0;a[o>>2]=r;b=0;A=n;c=l;while(1){if((b|0)>=2)break;switch(eO(u,o)|0){case-1:{n=0;l=A;while(1){if((n|0)>=(c|0))break;t=iO(a[l>>2]|0,r)|0;if(t|0){B=t;i=A;v=c;break A}n=n+1|0;l=a[l+4>>2]|0}n=$F(12)|0;if(!c){f=0;A=n}else a[f+4>>2]=n;a[n+8>>2]=f;a[n>>2]=r;a[n+4>>2]=0;a[r+20>>2]=n;l=c+1|0;break}case 1:{r=r+20|0;n=a[r>>2]|0;if(!n){d=19;break A}do{if((c|0)!=1){if((n|0)==(A|0)){A=a[A+4>>2]|0;a[A+8>>2]=0;break}if((n|0)==(f|0)){f=a[f+8>>2]|0;a[f+4>>2]=0;break}else{t=n+4|0;l=a[n+8>>2]|0;a[l+4>>2]=a[t>>2];a[(a[t>>2]|0)+8>>2]=l;break}}else{A=0;f=0}}while(0);L2(n);a[r>>2]=0;n=f;l=c+-1|0;break}default:{n=f;l=c}}r=a[w>>2]|0;f=a[r+16>>2]|0;if((r|0)==(a[f+4>>2]|0))f=a[f>>2]|0;else f=r+24|0;a[o>>2]=f;b=b+1|0;f=n;c=l}s=s+1|0;n=A;l=c}if((d|0)==19){ao(1,93727,h)|0;fe(187496,1)}r=0;while(1){if((r|0)>=(v|0))break;d=a[i+4>>2]|0;L2(i);r=r+1|0;i=d}L2(g);k=E;return B|0}function AO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0.0;W=k;k=k+48|0;u=W+24|0;w=W+16|0;g=W;r=0;A:while(1){if((r|0)>=(e|0)){r=0;break}G=a[A+(r<<2)>>2]|0;Q=a[G>>2]|0;a[g>>2]=a[Q>>2];a[g+4>>2]=a[Q+4>>2];a[g+8>>2]=a[Q+8>>2];a[g+12>>2]=a[Q+12>>2];Q=r+1|0;m=i+(r*40|0)+8|0;o=i+(r*40|0)+24|0;h=i+(r*40|0)+32|0;n=i+(r*40|0)+16|0;r=Q;while(1){if((r|0)>=(e|0)){r=Q;continue A}l=a[A+(r<<2)>>2]|0;t=+b[m>>3];c=+b[i+(r*40|0)+24>>3];s=!(t<=c);f=+b[i+(r*40|0)+8>>3];if((((!(s|!(t>=f))?(d=+b[n>>3],B=+b[i+(r*40|0)+32>>3],d<=B):0)?(v=+b[i+(r*40|0)+16>>3],d>=v):0)?(y=+b[o>>3],!(!(y<=c)|!(y>=f))):0)?(y=+b[h>>3],!(!(y<=B)|!(y>=v))):0){a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[u>>2]=a[g>>2];a[u+4>>2]=a[g+4>>2];a[u+8>>2]=a[g+8>>2];a[u+12>>2]=a[g+12>>2];if(Dt(w,u)|0){r=1;break A}}else L=11;if((((((L|0)==11?(L=0,E=+b[o>>3],!(!(f<=E)|!(f>=t))):0)?(C=+b[i+(r*40|0)+16>>3],I=+b[h>>3],C<=I):0)?(Z=+b[n>>3],!(!(C>=Z)|(!(c<=E)|s))):0)?(y=+b[i+(r*40|0)+32>>3],!(!(y<=I)|!(y>=Z))):0)?(s=a[l>>2]|0,a[w>>2]=a[G>>2],a[w+4>>2]=a[G+4>>2],a[u>>2]=a[s>>2],a[u+4>>2]=a[s+4>>2],a[u+8>>2]=a[s+8>>2],a[u+12>>2]=a[s+12>>2],Dt(w,u)|0):0){r=1;break A}r=r+1|0}}k=W;return r|0}function eO(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=a[A>>2]|0;A=a[e>>2]|0;i=+b[r>>3]-+b[A>>3];if(!(i!=0.0)){i=+b[r+8>>3]-+b[A+8>>3];if(i==0.0)A=0;else A=i>0.0?1:-1}else A=i>0.0?1:-1;return A|0}function iO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+64|0;n=s+32|0;l=s+24|0;t=s+16|0;c=s;f=s+48|0;rO(A,e,f);i=f+8|0;r=a[i>>2]|0;do{if((r|0)>0)i=0;else{if((r|0)<0){rO(e,A,f);i=a[i>>2]|0;if((i|0)>0){i=0;break}if((i|0)<0)i=3;else{i=a[f>>2]|0;i=fO(e,A,(i|0)>-1?i:0-i|0)|0}if(!(aO(A,e,l,t,i)|0)){i=0;break}}else{i=a[f>>2]|0;if((i|0)==(a[f+4>>2]|0)){i=fO(A,e,0)|0;i=(fO(A,e,(i|0)<=(fO(A,e,1)|0)&1)|0)<<1}else i=fO(A,e,(i|0)>-1?i:0-i|0)|0;if(!(aO(A,e,l,t,i)|0)){i=0;break}}b[c>>3]=+b[l>>3];b[c+8>>3]=+b[t>>3];a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];i=nO(A,e,n)|0}}while(0);k=s;return i|0}function rO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;l=+b[A>>3];t=+b[A+8>>3];r=a[A+16>>2]|0;if((a[r+4>>2]|0)==(A|0)){A=a[r>>2]|0;r=A}else{r=A+24|0;A=A+24|0}n=+b[r>>3]-l;f=+b[A+8>>3]-t;r=a[e+16>>2]|0;if((a[r+4>>2]|0)==(e|0)){A=a[r>>2]|0;r=A}else{r=e+24|0;A=e+24|0}c=+b[r>>3]-l;s=+b[A+8>>3]-t;t=(+b[e+8>>3]-t)*n-(+b[e>>3]-l)*f;e=t==0.0?0:t>0.0?1:-1;a[i>>2]=e;t=s*n-c*f;A=t==0.0?0:t>0.0?1:-1;a[i+4>>2]=A;a[i+8>>2]=U(A,e)|0;return}function fO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;c=+b[A>>3];s=+b[A+8>>3];f=a[A+16>>2]|0;if((a[f+4>>2]|0)==(A|0))A=a[f>>2]|0;else A=A+24|0;t=+b[A>>3];l=+b[A+8>>3];do{if(i){A=a[e+16>>2]|0;if((a[A+4>>2]|0)==(e|0)){e=a[A>>2]|0;break}else{e=e+24|0;break}}}while(0);n=+b[e>>3];r=+b[e+8>>3];if(c==t)if(c==n)e=(tO(s,r,l)|0)!=-1&1;else e=0;else e=tO(c,n,t)|0;return e|0}function aO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0;A:do{if((f|0)<1)n=0;else{u=+b[A>>3];o=+b[A+8>>3];n=a[A+16>>2]|0;if((a[n+4>>2]|0)==(A|0))n=a[n>>2]|0;else n=A+24|0;s=+b[n>>3];t=+b[n+8>>3];w=+b[e>>3];k=+b[e+8>>3];n=a[e+16>>2]|0;if((a[n+4>>2]|0)==(e|0))n=a[n>>2]|0;else n=e+24|0;c=+b[n>>3];l=+b[n+8>>3];e:do{switch(f|0){case 3:{if(u==s){b[i>>3]=u;l=(k-l)/(w-c)*(u-c)+l;break e}if(w==c){b[i>>3]=w;l=(o-t)/(u-s)*(w-s)+t;break e}else{c=(k-l)/(w-c);s=(o-t)/(u-s);k=k-c*w;o=o-s*u;l=c-s;b[i>>3]=(o-k)/l;l=(c*o-k*s)/l;break e}}case 2:{if((fO(A,e,0)|0)==-1)if((fO(e,A,1)|0)==-1){f=(fO(e,A,0)|0)==-1;s=f?s:u;c=w;t=f?t:o;l=k}else{s=c;c=w;t=l;l=k}else if((fO(A,e,1)|0)!=-1)if((fO(e,A,0)|0)==-1){c=u;l=o}else{n=0;break A}else{s=w;t=k}b[i>>3]=(c+s)*.5;l=(l+t)*.5;break}case 1:if((k-o)*(u-s)==(w-u)*(o-t)){b[i>>3]=w;l=k;break e}else{b[i>>3]=c;break e}default:{n=1;break A}}}while(0);b[r>>3]=l;n=1}}while(0);return n|0}function nO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;u=+b[A>>3];o=+b[A+8>>3];r=a[A+16>>2]|0;if((a[r+4>>2]|0)==(A|0))r=a[r>>2]|0;else r=A+24|0;s=+b[r>>3];t=+b[r+8>>3];c=+b[e>>3];w=+b[e+8>>3];r=a[e+16>>2]|0;if((a[r+4>>2]|0)==(e|0))r=a[r>>2]|0;else r=e+24|0;l=+b[r>>3];n=+b[r+8>>3];A:do{if(!(u!=s&c!=l)){do{if(u==s){f=+b[i>>3];if(u==f?o==+b[i+8>>3]:0)break;if(!(s==f)){d=18;break A}if(!(t==+b[i+8>>3])){d=18;break A}}}while(0);if(c==l){f=+b[i>>3];if(c==f?w==+b[i+8>>3]:0){r=0;break}if(l==f?n==+b[i+8>>3]:0)r=0;else d=18}else r=0}else d=18}while(0);if((d|0)==18)if(0>1){r=a[15712]|0;o=+b[i+8>>3];b[h>>3]=+b[i>>3];b[h+8>>3]=o;f3(r,93756,h)|0;lO(1,A);lO(2,e);r=1}else r=1;k=B;return r|0}function lO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0;c=k;k=k+48|0;t=c;f=a[15712]|0;n=+b[e>>3];l=+b[e+8>>3];i=a[e+16>>2]|0;if((a[i+4>>2]|0)==(e|0)){i=a[i>>2]|0;r=i}else{r=e+24|0;i=e+24|0}w=+b[r>>3];s=+b[i+8>>3];a[t>>2]=A;b[t+8>>3]=n;b[t+16>>3]=l;b[t+24>>3]=w;b[t+32>>3]=s;f3(f,93784,t)|0;k=c;return}function tO(A,e,i){A=+A;e=+e;i=+i;return(A==e|e==i?0:(A>3]=0.0;r=r+1|0}b[f+(A<<3)>>3]=1.0;gu(a[e+(A<<2)>>2]|0,f,i);A=A+1|0}L2(f);f=0;while(1){if((f|0)>=(i|0)){A=1;break A}r=e+(f<<2)|0;A=0;while(1){if((A|0)==(f|0))break;t=(a[r>>2]|0)+(A<<3)|0;l=+b[t>>3];n=(a[e+(A<<2)>>2]|0)+(f<<3)|0;b[t>>3]=+b[n>>3];b[n>>3]=l;A=A+1|0}f=f+1|0}}}while(0);return A|0}function bO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;h=e<<3;o=$F(h)|0;h=$F(h)|0;d=e*30|0;u=(i|0)<(e|0)?i:e;k=e+-1|0;w=(n|0)==0;i=0;l=0;A:while(1){if((l|0)>=(u|0))break;c=a[r+(l<<2)>>2]|0;do{e:do{if(w)i=0;else{i=0;while(1){if((i|0)==(e|0)){i=0;break e}b[c+(i<<3)>>3]=+((a8()|0)%100|0|0);i=i+1|0}}}while(0);while(1){if((i|0)==(l|0))break;n=a[r+(i<<2)>>2]|0;wO(c,0,k,-+sO(n,0,k,c),n);i=i+1|0}t=+uO(c,0,k)}while(t<1.0e-10);kO(c,0,k,1.0/t,c);i=0;do{oO(h,0,k,c);hO(A,e,e,c,o);oO(c,0,k,o);n=0;while(1){if((n|0)==(l|0))break;B=a[r+(n<<2)>>2]|0;wO(c,0,k,-+sO(B,0,k,c),B);n=n+1|0}B=i;i=i+1|0;t=+uO(c,0,k);if(!((B|0)<(d|0)&!(t<1.0e-10)))break A;kO(c,0,k,1.0/t,c);s=+sO(c,0,k,h)}while(+y(+s)<.999);b[f+(l<<3)>>3]=s*t;l=l+1|0}while(1){if((l|0)>=(u|0))break;c=a[r+(l<<2)>>2]|0;n=0;while(1){if((n|0)>=(e|0)){n=0;break}b[c+(n<<3)>>3]=+((a8()|0)%100|0|0);n=n+1|0}while(1){if((n|0)>=(l|0))break;B=a[r+(n<<2)>>2]|0;wO(c,0,k,-+sO(B,0,k,c),B);n=n+1|0}kO(c,0,k,1.0/+uO(c,0,k),c);b[f+(l<<3)>>3]=0.0;l=l+1|0}w=u+-1|0;l=0;while(1){if((l|0)>=(w|0))break;A=f+(l<<3)|0;e=l+1|0;t=+b[A>>3];n=l;c=e;while(1){if((c|0)>=(u|0))break;s=+b[f+(c<<3)>>3];B=t>2]|0);B=r+(n<<2)|0;oO(a[c>>2]|0,0,k,a[B>>2]|0);oO(a[B>>2]|0,0,k,o);b[f+(n<<3)>>3]=+b[A>>3];b[A>>3]=t;l=e}L2(o);L2(h);return(i|0)<=(d|0)|0}function sO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0;a=0.0;f=1-e+i|0;r=r+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!f)break;a=+b[r>>3]*+b[i>>3]+a;f=f+-1|0;r=r+8|0;i=i+8|0}return+a}function wO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0;a=1-e+i|0;f=f+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!a)break;b[i>>3]=+b[i>>3]+ +b[f>>3]*r;a=a+-1|0;f=f+8|0;i=i+8|0}return}function uO(A,e,i){A=A|0;e=e|0;i=i|0;return+ +z(+ +sO(A,e,i,A))}function kO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0;a=1-e+i|0;f=f+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!a)break;b[i>>3]=+b[f>>3]*r;a=a+-1|0;f=f+8|0;i=i+8|0}return}function oO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=1-e+i|0;r=r+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!f)break;b[i>>3]=+b[r>>3];f=f+-1|0;r=r+8|0;i=i+8|0}return}function hO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0,c=0;t=0;while(1){if((t|0)>=(e|0))break;c=A+(t<<2)|0;n=0.0;l=0;while(1){if((l|0)>=(i|0))break;n=+b[r+(l<<3)>>3]*+b[(a[c>>2]|0)+(l<<3)>>3]+n;l=l+1|0}b[f+(t<<3)>>3]=n;t=t+1|0}return}function dO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0.0,w=0,u=0,k=0,o=0.0;t=a[n>>2]|0;if(!t){k=i<<2;l=m2(U(k,f)|0)|0;k=m2(k)|0}else{k=i<<2;l=y2(a[t>>2]|0,U(k,f)|0)|0;k=y2(t,k)|0}a[n>>2]=k;t=0;while(1){if((t|0)>=(i|0)){n=0;break}a[k+(t<<2)>>2]=l;t=t+1|0;l=l+(f<<2)|0}while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;u=k+(n<<2)|0;t=0;while(1){if((t|0)<(f|0)){l=0;s=0.0}else break;while(1){if((l|0)>=(r|0))break;o=+b[(a[w>>2]|0)+(l<<3)>>3]*+c[(a[e+(l<<2)>>2]|0)+(t<<2)>>2]+s;l=l+1|0;s=o}c[(a[u>>2]|0)+(t<<2)>>2]=s;t=t+1|0}n=n+1|0}return}function BO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0.0,w=0,u=0,k=0;t=a[n>>2]|0;if(!t){l=m2(U(i<<3,f)|0)|0;k=m2(i<<2)|0}else{l=y2(a[t>>2]|0,U(i<<3,f)|0)|0;k=y2(t,i<<2)|0}a[n>>2]=k;t=0;while(1){if((t|0)>=(i|0)){n=0;break}a[k+(t<<2)>>2]=l;t=t+1|0;l=l+(f<<3)|0}while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;u=k+(n<<2)|0;t=0;while(1){if((t|0)<(f|0)){s=0.0;l=0}else break;while(1){if((l|0)>=(r|0))break;s=+b[(a[w>>2]|0)+(l<<3)>>3]*+c[(a[e+(l<<2)>>2]|0)+(t<<2)>>2]+s;l=l+1|0}b[(a[u>>2]|0)+(t<<3)>>3]=s;t=t+1|0}n=n+1|0}return}function vO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,s=0,w=0,u=0,k=0,o=0,h=0;l=a[f>>2]|0;if(!l){n=m2(U(i*20|0,r)|0)|0;h=m2(i<<2)|0}else{n=y2(a[l>>2]|0,U(i*20|0,r)|0)|0;h=y2(l,i<<2)|0}a[f>>2]=h;l=0;while(1){if((l|0)>=(i|0)){f=0;break}a[h+(l<<2)>>2]=n;l=l+1|0;n=n+(r<<2)|0}while(1){if((f|0)>=(i|0))break;s=a[A+(f*20|0)+4>>2]|0;w=a[A+(f*20|0)+8>>2]|0;u=a[A+(f*20|0)>>2]|0;k=h+(f<<2)|0;n=0;while(1){if((n|0)>=(r|0))break;o=e+(n<<2)|0;t=0.0;l=0;while(1){if((l|0)>=(u|0))break;t=+b[(a[o>>2]|0)+(a[s+(l<<2)>>2]<<3)>>3]*+c[w+(l<<2)>>2]+t;l=l+1|0}c[(a[k>>2]|0)+(n<<2)>>2]=t;n=n+1|0}f=f+1|0}return}function gO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;i=0.0;r=e;f=A;while(1){if(!f)break;i=+b[r>>3]+i;r=r+8|0;f=f+-1|0}i=i/+(A|0);while(1){if(!A)break;b[e>>3]=+b[e>>3]-i;e=e+8|0;A=A+-1|0}return}function EO(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=(A|0))break;b[e+(i<<3)>>3]=+((a8()|0)%500|0|0);i=i+1|0}gO(A,e);return}function CO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,s=0,w=0;l=0;while(1){if((l|0)>=(e|0))break;t=a[A+(l*20|0)>>2]|0;s=A+(l*20|0)+8|0;w=A+(l*20|0)+4|0;f=0.0;n=0;while(1){if((n|0)>=(t|0))break;f=+b[i+(a[(a[w>>2]|0)+(n<<2)>>2]<<3)>>3]*+c[(a[s>>2]|0)+(n<<2)>>2]+f;n=n+1|0}b[r+(l<<3)>>3]=f;l=l+1|0}return}function IO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0;l=0;while(1){if((l|0)>=(e|0))break;t=A+(l<<2)|0;f=0.0;n=0;while(1){if((n|0)==(e|0))break;f=+b[i+(n<<3)>>3]*+c[(a[t>>2]|0)+(n<<2)>>2]+f;n=n+1|0}b[r+(l<<3)>>3]=f;l=l+1|0}return}function ZO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[e+(f<<3)>>3]-+b[i+(f<<3)>>3];f=f+1|0}return}function GO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[i+(f<<3)>>3]+ +b[e+(f<<3)>>3];f=f+1|0}return}function QO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[e+(f<<3)>>3]*i;f=f+1|0}return}function mO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;b[i+(r<<3)>>3]=+b[e+(r<<3)>>3];r=r+1|0}return}function LO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0;r=0.0;f=0;while(1){if((f|0)>=(A|0))break;r=+b[i+(f<<3)>>3]*+b[e+(f<<3)>>3]+r;f=f+1|0}return+r}function WO(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=0;r=-1.e+50;while(1){if((i|0)>=(A|0))break;f=+y(+ +b[e+(i<<3)>>3]);i=i+1|0;r=f>r?f:r}return+r}function yO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0;t=0;while(1){if((t|0)<(e|0)){n=0.0;l=0}else break;while(1){if((l|0)>=(i|0))break;n=+b[r+(l<<3)>>3]*+b[(a[A+(l<<2)>>2]|0)+(t<<3)>>3]+n;l=l+1|0}b[f+(t<<3)>>3]=n;t=t+1|0}return}function zO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;i=0.0;r=e;f=A;while(1){if(!f)break;i=+c[r>>2]+i;r=r+4|0;f=f+-1|0}i=i/+(A|0);while(1){if(!A)break;c[e>>2]=+c[e>>2]-i;e=e+4|0;A=A+-1|0}return}function YO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0,l=0,t=0,b=0,s=0.0,w=0,u=0.0,k=0,o=0.0;f=0;while(1){if((f|0)>=(e|0)){n=0;t=0;w=e;break}c[r+(f<<2)>>2]=0.0;f=f+1|0}while(1){if((t|0)>=(e|0))break;s=+c[i+(t<<2)>>2];b=t+1|0;a=+c[A+(n<<2)>>2]*s;l=b;f=n;while(1){f=f+1|0;if((l|0)==(e|0))break;o=+c[A+(f<<2)>>2];u=+c[i+(l<<2)>>2]*o+a;k=r+(l<<2)|0;c[k>>2]=+c[k>>2]+o*s;a=u;l=l+1|0}k=r+(t<<2)|0;c[k>>2]=+c[k>>2]+a;n=n+w|0;t=b;w=w+-1|0}return}function DO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[e+(f<<2)>>2]-+c[i+(f<<2)>>2];f=f+1|0}return}function MO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[i+(f<<2)>>2]+ +c[e+(f<<2)>>2];f=f+1|0}return}function FO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=e+(f<<2)|0;c[a>>2]=+c[r+(f<<2)>>2]*i+ +c[a>>2];f=f+1|0}return}function VO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[e+(f<<2)>>2]*i;f=f+1|0}return}function JO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;a[i+(r<<2)>>2]=a[e+(r<<2)>>2];r=r+1|0}return}function NO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0;r=0.0;f=0;while(1){if((f|0)>=(A|0))break;r=r+ +c[i+(f<<2)>>2]*+c[e+(f<<2)>>2];f=f+1|0}return+r}function XO(A,e,i){A=A|0;e=+e;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;b[i+(r<<3)>>3]=e;r=r+1|0}return}function RO(A,e,i){A=A|0;e=+e;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;c[i+(r<<2)>>2]=e;r=r+1|0}return}function HO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0;i=-1000000015047466219876688.0e6;r=0;while(1){if((r|0)>=(A|0))break;f=+y(+ +c[e+(r<<2)>>2]);i=f>i?f:i;r=r+1|0}return+i}function pO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];c[r>>2]=f*f;i=i+1|0}return}function UO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];if(f!=0.0)c[r>>2]=1.0/f;i=i+1|0}return}function xO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;r=0;while(1){if((r|0)>=(A|0))break;f=+c[e+(r<<2)>>2];if(f>=0.0)c[i+(r<<2)>>2]=+z(+f);r=r+1|0}return}function TO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];if(f>0.0)c[r>>2]=1.0/+z(+f);i=i+1|0}return}function jO(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=0;if(e&3)if(!(4%(e>>>0)|0))e=4;else e=U(4/((SO(e)|0)>>>0)|0,e)|0;a[A+8>>2]=e;A=A+4|0;e=a[A>>2]|0;A:do{if(e|0)while(1){if(!e)break A;i=a[e>>2]|0;L2(a[e+4>>2]|0);L2(e);e=i}}while(0);a[A>>2]=0;return}function SO(A){A=A|0;var e=0,i=0;i=4;A:while(1){e=i;while(1){if((e|0)==(A|0))break A;if((e|0)<=(A|0))break;e=e-A|0}i=e;A=A-e|0}return A|0}function PO(A){A=A|0;var e=0,i=0,r=0,f=0;e=a[A>>2]|0;if(!e){i=a[A+8>>2]|0;r=$F(8)|0;f=$F(U(a[46855]|0,i)|0)|0;a[r+4>>2]=f;e=0;while(1){if((e|0)>=(a[46855]|0))break;OO(f+(U(e,i)|0)|0,A);e=e+1|0}e=A+4|0;a[r>>2]=a[e>>2];a[e>>2]=r;e=a[A>>2]|0}a[A>>2]=a[e>>2];return e|0}function OO(A,e){A=A|0;e=e|0;a[A>>2]=a[e>>2];a[e>>2]=A;return}function KO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0,s=0,w=0;w=qF(e<<3)|0;s=A+8|0;f=a[s>>2]|0;_O(A,e,w);EO(e,i);n=0;l=0;while(1){if((l|0)>=(e|0))break;n=(a[A+(l*20|0)>>2]|0)+n|0;l=l+1|0}n=$F(n<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;a[A+(t*20|0)+8>>2]=n;b=a[A+(t*20|0)>>2]|0;c[n>>2]=+(1-b|0);l=1;while(1){if((l|0)>=(b|0))break;c[n+(l<<2)>>2]=1.0;l=l+1|0}n=n+(b<<2)|0;t=t+1|0}l=sS(A,i,w,e,.001,r)|0;L2(a[s>>2]|0);n=0;while(1){if((n|0)>=(e|0))break;a[A+(n*20|0)+8>>2]=f;f=f+(a[A+(n*20|0)>>2]<<2)|0;n=n+1|0}L2(w);return l>>>31|0}function _O(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,s=0,w=0;t=A+16|0;n=0;while(1){if((n|0)>=(e|0))break;if(a[t>>2]|0){s=a[A+(n*20|0)>>2]|0;w=A+(n*20|0)+8|0;l=A+(n*20|0)+16|0;r=0.0;f=1;while(1){if((f|0)>=(s|0))break;r=r+ +c[(a[l>>2]|0)+(f<<2)>>2]*+c[(a[w>>2]|0)+(f<<2)>>2];f=f+1|0}b[i+(n<<3)>>3]=r}n=n+1|0}return}function qO(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=+l;t=t|0;c=c|0;A=k;k=k+16|0;if(!(a[46913]|0)){a[46913]=1;ao(1,93820,A)|0}k=A;return}function $O(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0;d=$F(f<<2)|0;l=e<<3;n=0;while(1){if((n|0)>=(f|0))break;a[d+(n<<2)>>2]=$F(l)|0;n=n+1|0}o=$F(f<<3)|0;h=$F(e<<2)|0;n=$F(U(l,e)|0)|0;l=0;while(1){if((l|0)>=(e|0))break;a[h+(l<<2)>>2]=n;n=n+(e<<3)|0;l=l+1|0}c=0;k=1;while(1){if((c|0)>=(e|0))break;s=A+(c<<2)|0;w=h+(c<<2)|0;l=0;while(1){if((l|0)==(k|0))break;u=A+(l<<2)|0;n=0;t=0.0;while(1){if((n|0)>=(i|0))break;B=t+ +(U(a[(a[u>>2]|0)+(n<<2)>>2]|0,a[(a[s>>2]|0)+(n<<2)>>2]|0)|0);n=n+1|0;t=B}b[(a[h+(l<<2)>>2]|0)+(c<<3)>>3]=t;b[(a[w>>2]|0)+(l<<3)>>3]=t;l=l+1|0}c=c+1|0;k=k+1|0}bO(h,e,f,d,o,1)|0;l=0;while(1){if((l|0)>=(f|0)){n=0;break}s=d+(l<<2)|0;w=r+(l<<2)|0;c=0;while(1){if((c|0)<(i|0)){n=0;t=0.0}else break;while(1){if((n|0)>=(e|0))break;B=+b[(a[s>>2]|0)+(n<<3)>>3]*+(a[(a[A+(n<<2)>>2]|0)+(c<<2)>>2]|0)+t;n=n+1|0;t=B}b[(a[w>>2]|0)+(c<<3)>>3]=t;c=c+1|0}l=l+1|0}while(1){if((n|0)>=(f|0))break;L2(a[d+(n<<2)>>2]|0);n=n+1|0}L2(d);L2(o);L2(a[h>>2]|0);L2(h);return}function AK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;f=k;k=k+32|0;n=f+16|0;c=f+20|0;t=f+12|0;l=f+8|0;a[n>>2]=r;a[t>>2]=0;a[l>>2]=0;lu(a[A>>2]|0,i,i<<2,c);vO(a[c>>2]|0,A,i,e,t);BO(A,a[t>>2]|0,e,i,e,l);L2(a[a[t>>2]>>2]|0);L2(a[t>>2]|0);r=(bO(a[l>>2]|0,e,1,n,f,1)|0)&255;k=f;return r|0}function eK(){a[46914]=0;L2(a[46915]|0);L2(a[46916]|0);L2(a[46917]|0);a[46915]=0;a[46916]=0;a[46917]=0;return}function iK(A){A=A|0;L2(a[A+36>>2]|0);return}function rK(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0;d=k;k=k+80|0;u=d+64|0;h=d+68|0;l=d+48|0;t=d+32|0;c=d+16|0;s=d;w=e+16|0;n=a[w>>2]|0;A:do{if(!(a[n+212>>2]|0))switch(sN(e)|0){case 1:{n=a[w>>2]|0;t=a[n+12>>2]|0;c=a[t+8>>2]|0;a[h>>2]=c;n=a[a[n+8>>2]>>2]|0;switch(r[n>>0]|0){case 98:{if(!(A1(n,108236)|0))o=11;else o=8;break}case 112:{if((A1(n,105721)|0)==0?(fK(a[t+44>>2]|0,c)|0)!=0:0)o=11;else o=8;break}default:o=8}do{if((o|0)==8)if((c|0)<3){a[A+40>>2]=(a[t>>2]|0)==0?0:2;o=17;break}else{n=A+40|0;a[n>>2]=0;break}else if((o|0)==11){n=A+40|0;a[n>>2]=1;if((c|0)<=2)o=17}}while(0);if((o|0)==17){l=aK(e,h,i,f)|0;o=21;break A}l=$F(c<<4)|0;t=t+44|0;if((a[n>>2]|0)==1){o=a[t>>2]|0;B=i;b[l>>3]=+b[o>>3]*.013888888888888888+B;i=f;b[l+8>>3]=+b[o+8>>3]*.013888888888888888+i;b[l+16>>3]=+b[o+16>>3]*.013888888888888888-B;b[l+24>>3]=+b[o+24>>3]*.013888888888888888+i;b[l+32>>3]=+b[o+32>>3]*.013888888888888888-B;b[l+40>>3]=+b[o+40>>3]*.013888888888888888-i;b[l+48>>3]=+b[o+48>>3]*.013888888888888888+B;b[l+56>>3]=+b[o+56>>3]*.013888888888888888-i;o=21;break A}n=0;while(1){if((n|0)>=(c|0)){o=21;break A}o=a[t>>2]|0;g=+b[o+(n<<4)>>3];B=+b[o+(n<<4)+8>>3];v=+z(+(B*B+g*g));b[l+(n<<4)>>3]=(i/v+1.0)*g*.013888888888888888;b[l+(n<<4)+8>>3]=(f/v+1.0)*B*.013888888888888888;n=n+1|0}}case 2:{a[h>>2]=4;o=$F(64)|0;e=a[(a[w>>2]|0)+12>>2]|0;E=+b[e+32>>3];v=+b[e+40>>3];u=~~+b[e+16>>3];e=~~+b[e+24>>3];g=-i;B=-f;nK(l,u,e,g,B);a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];l=o+16|0;w=~~E;nK(t,w,e,i,B);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];l=o+32|0;e=~~v;nK(c,w,e,i,f);a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];l=o+48|0;nK(s,u,e,g,f);a[l>>2]=a[s>>2];a[l+4>>2]=a[s+4>>2];a[l+8>>2]=a[s+8>>2];a[l+12>>2]=a[s+12>>2];a[A+40>>2]=1;l=o;o=21;break A}case 3:{a[A+40>>2]=2;l=aK(e,h,i,f)|0;o=21;break A}default:{a[u>>2]=a[a[(a[w>>2]|0)+8>>2]>>2];ao(1,93883,u)|0;n=1;break A}}else{a[h>>2]=4;g=+b[n+32>>3]*.5+i;E=+b[n+40>>3]*.5+f;a[A+40>>2]=1;l=$F(64)|0;b[l>>3]=g;b[l+8>>3]=E;v=-g;b[l+16>>3]=v;b[l+24>>3]=E;b[l+32>>3]=v;E=-E;b[l+40>>3]=E;b[l+48>>3]=g;b[l+56>>3]=E;o=21}}while(0);if((o|0)==21){a[A+36>>2]=l;n=a[h>>2]|0;a[A+32>>2]=n;lK(l,n,A,A+16|0);if((n|0)>(a[46914]|0)){a[46914]=n;n=0}else n=0}k=d;return n|0}function fK(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;do{if((e|0)==4){i=+b[A+8>>3];e=A+16|0;r=+b[A+24>>3];if(i==r){if(!(+b[A+40>>3]==+b[A+56>>3])){e=0;break}if(!(+b[A>>3]==+b[A+48>>3])){e=0;break}e=+b[e>>3]==+b[A+32>>3];break}if((+b[A>>3]==+b[e>>3]?+b[A+32>>3]==+b[A+48>>3]:0)?i==+b[A+56>>3]:0)e=r==+b[A+40>>3];else e=0}else e=0}while(0);return e&1|0}function aK(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0.0,l=0,t=0,c=0.0,s=0;f=po(A,102705)|0;if(!f)f=0;else f=q3(f)|0;l=(f|0)<3?20:f;t=$F(l<<4)|0;A=A+16|0;n=1.0/+(l|0);f=0;while(1){if((f|0)>=(l|0))break;s=a[A>>2]|0;c=n*+(f|0)*6.283185307179586;b[t+(f<<4)>>3]=(+b[s+32>>3]*.5+i)*+D(+c);b[t+(f<<4)+8>>3]=(+b[s+40>>3]*.5+r)*+M(+c);f=f+1|0}a[e>>2]=l;return t|0}function nK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=+f;b[A>>3]=+(e|0)*.013888888888888888+r;b[A+8>>3]=+(i|0)*.013888888888888888+f;return}function lK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0.0,w=0.0;t=+b[A>>3];l=+b[A+8>>3];f=1;a=l;n=t;while(1){if((f|0)>=(e|0))break;c=A+16|0;s=+b[c>>3];w=+b[A+24>>3];f=f+1|0;a=w>a?w:a;n=s>n?s:n;l=w>3]=t;b[i+8>>3]=l;b[r>>3]=n;b[r+8>>3]=a;return}function tK(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0;d=k;k=k+80|0;w=d+64|0;o=d+68|0;l=d+48|0;t=d+32|0;c=d+16|0;s=d;u=e+16|0;n=a[u>>2]|0;A:do{if(!(a[n+212>>2]|0))switch(sN(e)|0){case 1:{s=a[(a[u>>2]|0)+12>>2]|0;w=s+8|0;c=a[w>>2]|0;a[o>>2]=c;e:do{if((c|0)>2){l=$F(c<<4)|0;t=s+44|0;n=0;while(1){if((n|0)>=(c|0))break e;e=a[t>>2]|0;b[l+(n<<4)>>3]=+b[e+(n<<4)>>3]*.013888888888888888;b[l+(n<<4)+8>>3]=+b[e+(n<<4)+8>>3]*.013888888888888888;n=n+1|0}}else l=aK(e,o,0.0,0.0)|0}while(0);n=a[a[(a[u>>2]|0)+8>>2]>>2]|0;switch(r[n>>0]|0){case 98:{if(!(A1(n,108236)|0))n=1;else h=13;break}case 112:{if((A1(n,105721)|0)==0?(fK(l,a[o>>2]|0)|0)!=0:0)n=1;else h=13;break}default:h=13}do{if((h|0)==13){if((a[w>>2]|0)<3?a[s>>2]|0:0){n=2;break}n=0}}while(0);a[A+40>>2]=n;h=20;break A}case 2:{a[o>>2]=4;h=$F(64)|0;u=a[(a[u>>2]|0)+12>>2]|0;v=+b[u+16>>3];E=+b[u+24>>3];g=+b[u+32>>3];B=+b[u+40>>3];cK(l,v,E);a[h>>2]=a[l>>2];a[h+4>>2]=a[l+4>>2];a[h+8>>2]=a[l+8>>2];a[h+12>>2]=a[l+12>>2];l=h+16|0;cK(t,g,E);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];l=h+32|0;cK(c,g,B);a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];l=h+48|0;cK(s,v,B);a[l>>2]=a[s>>2];a[l+4>>2]=a[s+4>>2];a[l+8>>2]=a[s+8>>2];a[l+12>>2]=a[s+12>>2];a[A+40>>2]=1;l=h;h=20;break A}case 3:{a[A+40>>2]=2;l=aK(e,o,0.0,0.0)|0;h=20;break A}default:{a[w>>2]=a[a[(a[u>>2]|0)+8>>2]>>2];ao(1,93919,w)|0;n=1;break A}}else{a[o>>2]=4;g=+b[n+32>>3]*.5;E=+b[n+40>>3]*.5;a[A+40>>2]=1;l=$F(64)|0;b[l>>3]=g;b[l+8>>3]=E;v=-g;b[l+16>>3]=v;b[l+24>>3]=E;b[l+32>>3]=v;E=-E;b[l+40>>3]=E;b[l+48>>3]=g;b[l+56>>3]=E;h=20}}while(0);if((h|0)==20){n=a[o>>2]|0;if(i!=1.0|f!=1.0)bK(l,n,i,f);a[A+36>>2]=l;a[A+32>>2]=n;lK(l,n,A,A+16|0);if((n|0)>(a[46914]|0)){a[46914]=n;n=0}else n=0}k=d;return n|0}function cK(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e*.013888888888888888;b[A+8>>3]=i*.013888888888888888;return}function bK(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(e|0))break;b[A>>3]=+b[A>>3]*i;a=A+8|0;b[a>>3]=+b[a>>3]*r;A=A+16|0;f=f+1|0}return}function sK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0;d=k;k=k+128|0;u=d+112|0;w=d+96|0;s=d+80|0;f=d+64|0;o=d+48|0;h=d+32|0;t=d+16|0;c=d;a[w>>2]=a[A>>2];a[w+4>>2]=a[A+4>>2];a[w+8>>2]=a[A+8>>2];a[w+12>>2]=a[A+12>>2];a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];cP(o,w,u);n=e+16|0;a[w>>2]=a[A>>2];a[w+4>>2]=a[A+4>>2];a[w+8>>2]=a[A+8>>2];a[w+12>>2]=a[A+12>>2];a[u>>2]=a[n>>2];a[u+4>>2]=a[n+4>>2];a[u+8>>2]=a[n+8>>2];a[u+12>>2]=a[n+12>>2];cP(h,w,u);a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];cP(t,w,u);l=r+16|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[u>>2]=a[l>>2];a[u+4>>2]=a[l+4>>2];a[u+8>>2]=a[l+8>>2];a[u+12>>2]=a[l+12>>2];cP(c,w,u);a[f>>2]=a[o>>2];a[f+4>>2]=a[o+4>>2];a[f+8>>2]=a[o+8>>2];a[f+12>>2]=a[o+12>>2];a[s>>2]=a[h>>2];a[s+4>>2]=a[h+4>>2];a[s+8>>2]=a[h+8>>2];a[s+12>>2]=a[h+12>>2];a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];do{if(wK(f,s,w,u)|0){f=a[e+40>>2]|0;if(f&1|0?a[r+40>>2]&1|0:0){f=1;break}if(f&2|0?a[r+40>>2]&2|0:0){B=+b[n>>3]-+b[e>>3]+ +b[l>>3]-+b[r>>3];v=+b[A>>3]-+b[i>>3];g=+b[A+8>>3]-+b[i+8>>3];f=!(g*g+v*v>B*B*.25);break}f=a[46915]|0;if(!f){a[46915]=$F(a[46914]<<4)|0;l=$F(a[46914]<<4)|0;a[46916]=l;f=a[46915]|0}else l=a[46916]|0;E=a[e+36>>2]|0;e=e+32|0;n=a[e>>2]|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];uK(E,n,u,f);A=a[r+36>>2]|0;n=r+32|0;r=a[n>>2]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];uK(A,r,u,l);if(!(kK(f,l,a[e>>2]|0,a[n>>2]|0)|0)){f=a[46915]|0;a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];if(oK(s,w,u)|0?(c=a[46916]|0,E=a[n>>2]|0,a[u>>2]=a[f>>2],a[u+4>>2]=a[f+4>>2],a[u+8>>2]=a[f+8>>2],a[u+12>>2]=a[f+12>>2],hK(c,E,u)|0):0){f=1;break}f=a[46916]|0;a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2];a[u>>2]=a[h>>2];a[u+4>>2]=a[h+4>>2];a[u+8>>2]=a[h+8>>2];a[u+12>>2]=a[h+12>>2];if(!(oK(s,w,u)|0))f=0;else{h=a[46915]|0;E=a[e>>2]|0;a[u>>2]=a[f>>2];a[u+4>>2]=a[f+4>>2];a[u+8>>2]=a[f+8>>2];a[u+12>>2]=a[f+12>>2];f=(hK(h,E,u)|0)!=0}}else f=1}else f=0}while(0);k=d;return f&1|0}function wK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((+b[A>>3]<=+b[r>>3]?+b[i>>3]<=+b[e>>3]:0)?+b[A+8>>3]<=+b[r+8>>3]:0)A=+b[i+8>>3]<=+b[e+8>>3]&1;else A=0;return A|0}function uK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;a=i+8|0;f=0;while(1){if((f|0)>=(e|0))break;b[r>>3]=+b[i>>3]+ +b[A>>3];b[r+8>>3]=+b[a>>3]+ +b[A+8>>3];f=f+1|0;A=A+16|0;r=r+16|0}return}function kK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;Q=k;k=k+112|0;B=Q+96|0;d=Q+80|0;h=Q+64|0;o=Q+48|0;g=Q+32|0;E=Q+16|0;C=Q;I=i+-1|0;Z=r+-1|0;G=i<<1;v=r<<1;f=0;n=0;l=0;t=0;while(1){m=A+(f<<4)|0;L=A+(((I+f|0)%(i|0)|0)<<4)|0;a[d>>2]=a[m>>2];a[d+4>>2]=a[m+4>>2];a[d+8>>2]=a[m+8>>2];a[d+12>>2]=a[m+12>>2];a[B>>2]=a[L>>2];a[B+4>>2]=a[L+4>>2];a[B+8>>2]=a[L+8>>2];a[B+12>>2]=a[L+12>>2];tP(g,d,B);u=e+(n<<4)|0;w=e+(((Z+n|0)%(r|0)|0)<<4)|0;a[d>>2]=a[u>>2];a[d+4>>2]=a[u+4>>2];a[d+8>>2]=a[u+8>>2];a[d+12>>2]=a[u+12>>2];a[B>>2]=a[w>>2];a[B+4>>2]=a[w+4>>2];a[B+8>>2]=a[w+8>>2];a[B+12>>2]=a[w+12>>2];tP(E,d,B);a[h>>2]=a[46540];a[h+4>>2]=a[46541];a[h+8>>2]=a[46542];a[h+12>>2]=a[46543];a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];a[B>>2]=a[E>>2];a[B+4>>2]=a[E+4>>2];a[B+8>>2]=a[E+8>>2];a[B+12>>2]=a[E+12>>2];c=+bP(h,d,B);a[h>>2]=a[L>>2];a[h+4>>2]=a[L+4>>2];a[h+8>>2]=a[L+8>>2];a[h+12>>2]=a[L+12>>2];a[d>>2]=a[m>>2];a[d+4>>2]=a[m+4>>2];a[d+8>>2]=a[m+8>>2];a[d+12>>2]=a[m+12>>2];a[B>>2]=a[u>>2];a[B+4>>2]=a[u+4>>2];a[B+8>>2]=a[u+8>>2];a[B+12>>2]=a[u+12>>2];b=sP(h,d,B)|0;a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];a[d>>2]=a[u>>2];a[d+4>>2]=a[u+4>>2];a[d+8>>2]=a[u+8>>2];a[d+12>>2]=a[u+12>>2];a[B>>2]=a[m>>2];a[B+4>>2]=a[m+4>>2];a[B+8>>2]=a[m+8>>2];a[B+12>>2]=a[m+12>>2];s=sP(h,d,B)|0;a[o>>2]=a[L>>2];a[o+4>>2]=a[L+4>>2];a[o+8>>2]=a[L+8>>2];a[o+12>>2]=a[L+12>>2];a[h>>2]=a[m>>2];a[h+4>>2]=a[m+4>>2];a[h+8>>2]=a[m+8>>2];a[h+12>>2]=a[m+12>>2];a[d>>2]=a[w>>2];a[d+4>>2]=a[w+4>>2];a[d+8>>2]=a[w+8>>2];a[d+12>>2]=a[w+12>>2];a[B>>2]=a[u>>2];a[B+4>>2]=a[u+4>>2];a[B+8>>2]=a[u+8>>2];a[B+12>>2]=a[u+12>>2];if(wP(o,h,d,B,C)|0){f=1;break}w=(b|0)==0;u=(s|0)==0;do{if(c!=0.0|(s|b|0)!=0)if(!(c>=0.0))if(u){f=(f+1|0)%(i|0)|0;l=l+1|0;break}else{n=(n+1|0)%(r|0)|0;t=t+1|0;break}else if(w){n=(n+1|0)%(r|0)|0;t=t+1|0;break}else{f=(f+1|0)%(i|0)|0;l=l+1|0;break}else{f=(f+1|0)%(i|0)|0;l=l+1|0}}while(0);if(!((t|0)<(v|0)&((l|0)<(G|0)&((t|0)<(r|0)|(l|0)<(i|0))))){f=0;break}}k=Q;return f|0}function oK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;f=+b[A>>3];if((f<=+b[i>>3]?f>=+b[e>>3]:0)?(r=+b[A+8>>3],r<=+b[i+8>>3]):0)A=r>=+b[e+8>>3]&1;else A=0;return A|0}function hK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0;r=a[46917]|0;if(!r){r=$F(a[46914]<<4)|0;a[46917]=r}l=i+8|0;n=0;while(1){if((n|0)>=(e|0))break;b[r+(n<<4)>>3]=+b[A+(n<<4)>>3]-+b[i>>3];b[r+(n<<4)+8>>3]=+b[A+(n<<4)+8>>3]-+b[l>>3];n=n+1|0}i=e+-1|0;f=0.0;A=0;A:while(1){if((A|0)>=(e|0)){s=19;break}n=(i+A|0)%(e|0)|0;t=+b[r+(A<<4)+8>>3];l=t==0.0;if(l?+b[r+(n<<4)+8>>3]==0.0:0){if(+b[r+(n<<4)>>3]*+b[r+(A<<4)>>3]<0.0){r=1;break}}else s=11;do{if((s|0)==11){s=0;c=+b[r+(n<<4)+8>>3];if(!(t>=0.0)|!(c<=0.0)?!(c>=0.0)|!(t<=0.0):0)break;t=(c*+b[r+(A<<4)>>3]-t*+b[r+(n<<4)>>3])/(c-t);if(t==0.0){r=1;break A}if(t>0.0)if(c==0.0|l){f=f+.5;break}else{f=f+1.0;break}}}while(0);A=A+1|0}if((s|0)==19)r=((~~f|0)%2|0|0)==1&1;return r|0}function dK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;c=$F(e<<2)|0;t=U(e,e)|0;i=$F(t<<2)|0;a[c>>2]=i;RO(t,0.0,i);i=1;while(1){if((i|0)>=(e|0)){i=0;n=0;t=e;break}a[c+(i<<2)>>2]=(a[c>>2]|0)+((U(i,e)|0)<<2);i=i+1|0}while(1){if((n|0)>=(e|0))break;l=c+(n<<2)|0;r=n;f=i;while(1){if((r|0)==(e|0))break;b=a[A+(f<<2)>>2]|0;a[(a[l>>2]|0)+(r<<2)>>2]=b;a[(a[c+(r<<2)>>2]|0)+(n<<2)>>2]=b;r=r+1|0;f=f+1|0}i=i+t|0;n=n+1|0;t=t+-1|0}return c|0}function BK(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=+t;var b=0.0,s=0.0,w=0.0,u=0,k=0,o=0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0;N=a[i+(f<<2)>>2]|0;m=a[A+4>>2]|0;L=a[A>>2]|0;W=a[A+48>>2]|0;z=a[A+52>>2]|0;Y=a[A+56>>2]|0;A:do{if((n|0)<1)i=0;else{gK(N,m,W,z,Y,t);D=a[A+28>>2]|0;M=a[A+32>>2]|0;F=a[A+36>>2]|0;V=a[A+12>>2]|0;J=a[A+16>>2]|0;f=0;r=0;i=-1;while(1){if((f|0)>=(m|0))break;if((f|0)>=(r|0)){i=i+1|0;if((i|0)==(Y|0)){r=m;i=Y}else r=a[z+(i<<2)>>2]|0}a[J+(a[W+(f<<2)>>2]<<2)>>2]=i;f=f+1|0}G=a[A+40>>2]|0;Q=M+(m+-1<<2)|0;i=0;r=0;while(1){if(r<<24>>24==0&(i|0)<(n|0)){b=-1.0e9;f=0;r=1}else break A;e:while(1){I=f;while(1){if((I|0)>=(m|0))break e;f=a[W+(I<<2)>>2]|0;Z=+c[N+(f<<2)>>2];s=Z;C=I;w=0.0;while(1){c[G+(f<<2)>>2]=w;f=C+1|0;if((f|0)>=(m|0)){E=0;break}s=(a[J+(f<<2)>>2]|0)>(a[J+(C<<2)>>2]|0)?s+t:s;A=a[W+(f<<2)>>2]|0;w=+c[N+(A<<2)>>2];if(+y(+(w-s))>1.0e-09){E=1;break}C=f;w=w-Z;f=A}u=I;while(1){if((u|0)>(C|0)){A=0;k=I;break}k=a[W+(u<<2)>>2]|0;o=a[L+(k<<2)>>2]|0;A=0;s=-+c[e+(k<<2)>>2];while(1){if((A|0)>=(m|0))break;if((A|0)!=(k|0))s=+c[N+(A<<2)>>2]*+c[o+(A<<2)>>2]+s;A=A+1|0}c[D+(k<<2)>>2]=s/-+c[o+(k<<2)>>2]-+c[G+(k<<2)>>2];u=u+1|0}i:while(1){if((k|0)>(C|0)){w=0.0;h=0.0;d=0;break}u=a[J+(a[W+(k<<2)>>2]<<2)>>2]|0;if((u|0)==(Y|0))d=f;else{d=a[z+(u<<2)>>2]|0;d=(f|0)<(d|0)?f:d}o=k;while(1){if((o|0)>=(d|0)){o=k;break}u=a[W+(o<<2)>>2]|0;if(+c[D+(u<<2)>>2]>2]=u;A=A+1|0}o=o+1|0}while(1){if((o|0)>=(d|0))break;u=a[W+(o<<2)>>2]|0;if(+c[D+(u<<2)>>2]==Z){a[V+(A<<2)>>2]=u;A=A+1|0}o=o+1|0}while(1){if((k|0)>=(d|0)){k=d;continue i}u=a[W+(k<<2)>>2]|0;if(+c[D+(u<<2)>>2]>Z){a[V+(A<<2)>>2]=u;A=A+1|0}k=k+1|0}}while(1){if((d|0)>=(A|0))break;k=a[V+(d<<2)>>2]|0;o=a[L+(k<<2)>>2]|0;s=0.0;u=0;while(1){if((u|0)==(d|0))break;s=s-+c[o+(a[V+(u<<2)>>2]<<2)>>2];u=u+1|0}X=s*2.0;g=o+(k<<2)|0;B=+c[g>>2];s=X+w;B=(X*Z+w*h-+c[D+(k<<2)>>2]*B)/(s-B);c[M+(d<<2)>>2]=B;w=s-+c[g>>2];h=B;d=d+1|0}o=(A|0)==(m|0);if(o)c[Q>>2]=Z;g=A+-1|0;w=0.0;h=0.0;k=g;while(1){if((k|0)<=-1)break;d=a[V+(k<<2)>>2]|0;v=a[L+(d<<2)>>2]|0;s=0.0;u=k;while(1){u=u+1|0;if((u|0)>=(A|0))break;s=s-+c[v+(a[V+(u<<2)>>2]<<2)>>2]}s=s*2.0;v=v+(d<<2)|0;X=+c[v>>2];B=s+w;X=(s*Z+w*h-+c[D+(d<<2)>>2]*X)/(B-X);c[F+(k<<2)>>2]=X;w=B-+c[v>>2];h=X;k=k+-1|0}if(o){c[F>>2]=Z;B=0.0;u=-1;o=0}else{B=0.0;u=-1;o=0}while(1){if((A|0)<=(o|0))break;h=+c[F+(o<<2)>>2];if((o|0)>0)s=+c[M+(o+-1<<2)>>2];else s=h;do{if(hZ;if(hB;B=v?X:B;u=v?o:u;o=o+1|0}if((u|0)>-1)break;if(E?(a[J+(a[W+(f<<2)>>2]<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0):0){b=+c[N+(a[V+(g<<2)>>2]<<2)>>2]+t;I=f;continue}b=+c[N+(a[V+(g<<2)>>2]<<2)>>2];I=f}w=+c[F+(u<<2)>>2];if(!u)h=w;else h=+c[M+(u+-1<<2)>>2];if(E){v=a[W+(f<<2)>>2]|0;s=+c[N+(v<<2)>>2];s=((a[J+(v<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0)?s-t:s)-+c[G+(a[V+(g<<2)>>2]<<2)>>2]}else s=1.0e9;s=wb?h:b;do{if(sZ;if(s=(u|0))break;v=a[V+(k<<2)>>2]|0;c[N+(v<<2)>>2]=+c[G+(v<<2)>>2]+s;k=k+1|0}while(1){if((u|0)>=(A|0))break;v=a[V+(u<<2)>>2]|0;c[N+(v<<2)>>2]=+c[G+(v<<2)>>2]+w;u=u+1|0}if(E?(a[J+(a[W+(f<<2)>>2]<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0):0)b=+c[N+(a[V+(g<<2)>>2]<<2)>>2]+t;else b=+c[N+(a[V+(g<<2)>>2]<<2)>>2];A=I;while(1){if((A|0)>(C|0))break;a[W+(A<<2)>>2]=a[V+(A-I<<2)>>2];A=A+1|0}if(r<<24>>24!=0?+y(+(s-Z))<.01:0)r=+y(+(w-Z))<.01;else r=0;r=r&1}zO(m,N);vK(N,W,z,Y,l);i=i+1|0}}}while(0);return i|0}function vK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=0;while(1){if((n|0)>=(r|0))break;a[f+(n<<2)>>2]=a[A+(a[e+((a[i+(n<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];n=n+1|0}return}function gK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0.0,t=0,b=0,s=0,w=0;l=-1.0e9;b=0;t=-1;w=0;while(1){if((w|0)>=(e|0))break;if((w|0)<(b|0))s=b;else{t=t+1|0;if((t|0)==(f|0))b=e;else b=a[r+(t<<2)>>2]|0;if((w|0)>0)l=+c[A+(a[i+(w+-1<<2)>>2]<<2)>>2]+n;else l=-1.0e9;SP(A,i,w,b+-1|0);s=b}b=A+(a[i+(w<<2)>>2]<<2)|0;if(+c[b>>2]>2]=l;b=s;w=w+1|0}return}function EK(A){A=A|0;L2(a[a[A>>2]>>2]|0);L2(a[A>>2]|0);L2(a[A+8>>2]|0);L2(a[A+28>>2]|0);L2(a[A+32>>2]|0);L2(a[A+36>>2]|0);L2(a[A+40>>2]|0);L2(a[A+12>>2]|0);L2(a[A+16>>2]|0);L2(a[A+20>>2]|0);L2(a[A+24>>2]|0);L2(A);return}function CK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=$F(60)|0;a[b>>2]=0;s=b+4|0;a[s>>2]=e;a[b+48>>2]=i;a[b+52>>2]=r;a[b+56>>2]=f;a[b>>2]=dK(A,e)|0;t=e<<2;c=$F(t)|0;a[b+8>>2]=c;l=0;e=0;A=-1;while(1){if((l|0)>=(a[s>>2]|0))break;n=A+1|0;if((l|0)>=(e|0)){e=a[((n|0)==(f|0)?s:r+(n<<2)|0)>>2]|0;A=n}a[c+(a[i+(l<<2)>>2]<<2)>>2]=A;l=l+1|0}a[b+28>>2]=$F(t)|0;a[b+32>>2]=$F(t)|0;a[b+36>>2]=$F(t)|0;a[b+40>>2]=$F(t)|0;a[b+12>>2]=$F(t)|0;a[b+16>>2]=$F(t)|0;a[b+20>>2]=$F(t)|0;a[b+24>>2]=$F(t)|0;return b|0}function IK(){jO(187676,24);a[46922]=0;return}function ZK(){return PO(187676)|0}function GK(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+ +z(+(r*r+i*i))}function QK(A){A=A|0;var e=0;e=a[46922]|0;a[A+16>>2]=e;a[46922]=e+1;return}function mK(A){A=A|0;var e=0,i=0;i=A+20|0;e=(a[i>>2]|0)+-1|0;a[i>>2]=e;if(!e)OO(A,187676);return}function LK(A){A=A|0;A=A+20|0;a[A>>2]=(a[A>>2]|0)+1;return}function WK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0.0,l=0,t=0,s=0,w=0.0,u=0,o=0.0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+16|0;u=I;a[u>>2]=r;h=e<<2;E=$F(h)|0;s=e<<3;C=$F(s)|0;g=RP(A,e)|0;A=0;while(1){if((A|0)>=(e|0))break;t=g+(A<<2)|0;l=0;while(1){if((l|0)==(e|0))break;B=(a[t>>2]|0)+(l<<2)|0;a[B>>2]=a[B>>2]<<8;l=l+1|0}A=A+1|0}if(!i)vA(93952,93960,283,93974);B=$F(s)|0;A=0;while(1){if((A|0)>=(e|0))break;b[B+(A<<3)>>3]=+b[i+(A<<3)>>3];A=A+1|0}yK(B,e);n=0.0;w=0.0;s=1;while(1){if((s|0)>=(e|0))break;l=g+(s<<2)|0;t=i+(s<<3)|0;A=0;while(1){if((A|0)==(s|0))break;Z=a[(a[l>>2]|0)+(A<<2)>>2]|0;d=+b[t>>3]-+b[i+(A<<3)>>3];n=d*d*(1.0/+(U(Z,Z)|0))+n;w=+y(+d)*(1.0/+(Z|0))+w;A=A+1|0}s=s+1|0}d=w/n;A=0;while(1){if((A|0)>=(e|0))break;Z=i+(A<<3)|0;b[Z>>3]=+b[Z>>3]*d;A=A+1|0}zK(e,u,f,i,g);t=$F(U(h,e)|0)|0;l=0;while(1){if((l|0)>=(e|0)){t=1;break}s=t+((U(l,e)|0)<<2)|0;a[E+(l<<2)>>2]=s;u=g+(l<<2)|0;n=0.0;A=0;while(1){if((A|0)==(e|0))break;if((A|0)!=(l|0)){o=+(a[(a[u>>2]|0)+(A<<2)>>2]|0);o=-1.0/(o*o);c[s+(A<<2)>>2]=o;n=n-o}A=A+1|0}c[s+(l<<2)>>2]=n;l=l+1|0}while(1){if((t|0)>=(e|0)){l=0;break}n=+b[i+(t<<3)>>3];l=g+(t<<2)|0;A=0;while(1){if((A|0)==(t|0))break;Z=(a[l>>2]|0)+(A<<2)|0;w=+(a[Z>>2]|0);o=n-+b[i+(A<<3)>>3];o=w*w-o*o;h=~~+z(+o);h=o>0.0?h:0;a[(a[g+(A<<2)>>2]|0)+(t<<2)>>2]=h;a[Z>>2]=h;A=A+1|0}t=t+1|0}while(1){if((l|0)>=(e|0)){h=0;A=0;break}w=+b[r+(l<<3)>>3];s=C+(l<<3)|0;b[s>>3]=0.0;u=g+(l<<2)|0;t=E+(l<<2)|0;A=0;n=0.0;while(1){if((A|0)==(e|0))break;if((A|0)!=(l|0)){o=+c[(a[t>>2]|0)+(A<<2)>>2]*+(a[(a[u>>2]|0)+(A<<2)>>2]|0);n=n+(w>=+b[r+(A<<3)>>3]?-o:o);b[s>>3]=n}A=A+1|0}l=l+1|0}while(1){if(!(A<<24>>24==0&(h|0)<200)){v=42;break}if((wS(E,r,C,e,f,e,1)|0)<0){A=1;break}else{A=1;u=0}while(1){if((u|0)>=(e|0))break;o=+b[r+(u<<3)>>3];t=g+(u<<2)|0;s=E+(u<<2)|0;n=0.0;l=0;while(1){if((l|0)==(e|0))break;do{if((l|0)!=(u|0)){w=+c[(a[s>>2]|0)+(l<<2)>>2]*+(a[(a[t>>2]|0)+(l<<2)>>2]|0);if(!(o>=+b[r+(l<<3)>>3])){n=n+w;break}else{n=n+-w;break}}}while(0);l=l+1|0}l=C+(u<<3)|0;o=+b[l>>3];if(n!=o?+y(+(1.0-n/o))>1.0e-05:0){b[l>>3]=n;A=0}u=u+1|0}h=h+1|0}A:do{if((v|0)==42){n=1.0/d;A=0;while(1){if((A|0)>=(e|0)){A=0;break A}Z=i+(A<<3)|0;b[Z>>3]=+b[Z>>3]*n;Z=r+(A<<3)|0;b[Z>>3]=+b[Z>>3]*n;A=A+1|0}}}while(0);L2(a[g>>2]|0);L2(g);L2(a[E>>2]|0);L2(E);L2(B);L2(C);k=I;return A|0}function yK(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0;i=0;r=0.0;while(1){if((i|0)>=(e|0))break;f=+b[A+(i<<3)>>3]+r;i=i+1|0;r=f}r=r/+(e|0);i=0;while(1){if((i|0)>=(e|0))break;a=A+(i<<3)|0;b[a>>3]=+b[a>>3]-r;i=i+1|0}a=e+-1|0;kO(A,0,a,1.0/+uO(A,0,a),A);return}function zK(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0;c=YK(f,A)|0;s=$F(8)|0;if(!r){f=0;t=0}else{n=$F(A<<3)|0;f=0;while(1){if((f|0)>=(A|0))break;b[n+(f<<3)>>3]=+b[r+(f<<3)>>3];f=f+1|0}yK(n,A);f=n;t=n}DK(c,A,e,s,f,i);r=0;while(1){if((r|0)==1)break;n=s+(r<<3)|0;l=e+(r<<2)|0;f=0;while(1){if((f|0)>=(A|0))break;i=+z(+ +y(+ +b[n>>3]));w=(a[l>>2]|0)+(f<<3)|0;b[w>>3]=+b[w>>3]*i;f=f+1|0}r=r+1|0}L2(a[c>>2]|0);L2(c);L2(s);L2(t);return}function YK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0,b=0,s=0,w=0,u=0,o=0.0;u=k;k=k+16|0;f=u;w=e<<2;r=$F(U(w,e)|0)|0;w=$F(w)|0;i=0;while(1){if((i|0)>=(e|0))break;a[w+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}s=FK(A,e,f)|0;n=+c[f>>2];r=0;b=1;while(1){if((r|0)>=(e|0))break;f=A+(r<<2)|0;l=s+(r<<2)|0;t=w+(r<<2)|0;i=0;while(1){if((i|0)==(b|0))break;o=+(a[(a[f>>2]|0)+(i<<2)>>2]|0);o=+c[s+(i<<2)>>2]+ +c[l>>2]-o*o-n;c[(a[t>>2]|0)+(i<<2)>>2]=o;c[(a[w+(i<<2)>>2]|0)+(r<<2)>>2]=o;i=i+1|0}r=r+1|0;b=b+1|0}L2(s);k=u;return w|0}function DK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0,o=0,h=0,d=0,B=0;d=e<<3;h=$F(d)|0;d=$F(d)|0;u=1.0-n;k=(e|0)<1?e:1;o=e+-1|0;c=(f|0)==0;t=0;A:while(1){if((t|0)>=(k|0))break;s=a[i+(t<<2)>>2]|0;do{l=0;while(1){if((l|0)==(e|0))break;b[s+(l<<3)>>3]=+((a8()|0)%100|0|0);l=l+1|0}if(c)l=0;else{wO(s,0,o,-+sO(f,0,o,s),f);l=0}while(1){if((l|0)==(t|0))break;B=i+(l<<2)|0;w=-+sO(a[B>>2]|0,0,o,s);wO(s,0,o,w,a[B>>2]|0);l=l+1|0}n=+uO(s,0,o)}while(n<1.0e-10);kO(s,0,o,1.0/n,s);do{oO(d,0,o,s);MK(A,e,e,s,h,f);oO(s,0,o,h);l=0;while(1){if((l|0)==(t|0))break;B=i+(l<<2)|0;w=-+sO(a[B>>2]|0,0,o,s);wO(s,0,o,w,a[B>>2]|0);l=l+1|0}n=+uO(s,0,o);if(n<1.0e-10)break A;kO(s,0,o,1.0/n,s);w=+sO(s,0,o,d)}while(+y(+w)>3]=w*n;t=t+1|0}while(1){if((t|0)>=(k|0))break;c=a[i+(t<<2)>>2]|0;l=0;while(1){if((l|0)>=(e|0)){l=0;break}b[c+(l<<3)>>3]=+((a8()|0)%100|0|0);l=l+1|0}while(1){if((l|0)>=(t|0))break;B=i+(l<<2)|0;u=-+sO(a[B>>2]|0,0,o,c);wO(c,0,o,u,a[B>>2]|0);l=l+1|0}kO(c,0,o,1.0/+uO(c,0,o),c);b[r+(t<<3)>>3]=0.0;t=t+1|0}s=k+-1|0;t=0;while(1){if((t|0)>=(s|0))break;A=r+(t<<3)|0;f=t+1|0;n=+b[A>>3];l=t;c=f;while(1){if((c|0)>=(k|0))break;u=+b[r+(c<<3)>>3];B=n>2]|0);B=i+(l<<2)|0;oO(a[e>>2]|0,0,o,a[B>>2]|0);oO(a[B>>2]|0,0,o,h);b[r+(l<<3)>>3]=+b[A>>3];b[A>>3]=n;t=f}L2(h);L2(d);return}function MK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,s=0,w=0;l=0;while(1){if((l|0)>=(e|0))break;w=A+(l<<2)|0;t=0.0;s=0;while(1){if((s|0)>=(i|0))break;t=+b[r+(s<<3)>>3]*+c[(a[w>>2]|0)+(s<<2)>>2]+t;s=s+1|0}b[f+(l<<3)>>3]=t;l=l+1|0}l=e+-1|0;if(n|0)wO(f,0,l,-+sO(f,0,l,n),n);return}function FK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,b=0.0,s=0,w=0.0;t=$F(e<<2)|0;b=1.0/+(e|0);r=0.0;l=0;while(1){if((l|0)>=(e|0))break;s=A+(l<<2)|0;f=0.0;n=0;while(1){if((n|0)==(e|0))break;w=+(a[(a[s>>2]|0)+(n<<2)>>2]|0);w=w*w;f=w+f;n=n+1|0;r=w+r}c[t+(l<<2)>>2]=b*f;l=l+1|0}c[i>>2]=r/+(U(e,e)|0);return t|0}function VK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0;h=U(r,r)|0;d=$F(h<<3)|0;B=$F(r<<3)|0;f=0;while(1){if((f|0)>=(r|0))break;b[B+(f<<3)>>3]=+b[i+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(h|0))break;b[d+(f<<3)>>3]=+b[A+(f<<3)>>3];f=f+1|0}o=r+-1|0;n=0;k=0;A:while(1){if((k|0)<(o|0)){a=0.0;f=k}else{s=21;break}while(1){if((f|0)>=(r|0))break;v=+y(+ +b[A+((U(f,r)|0)+k<<3)>>3]);w=v=(r|0))break;s=A+(f+l<<3)|0;v=+b[s>>3];w=A+(f+u<<3)|0;b[s>>3]=+b[w>>3];b[w>>3]=v;f=f+1|0}w=i+(n<<3)|0;v=+b[w>>3];t=i+(k<<3)|0;b[w>>3]=+b[t>>3];b[t>>3]=v;w=k+1|0;c=A+(u+k<<3)|0;f=w;while(1){if((f|0)>=(r|0)){k=w;continue A}s=U(f,r)|0;a=+b[A+(s+k<<3)>>3]/+b[c>>3];l=i+(f<<3)|0;b[l>>3]=+b[l>>3]-+b[t>>3]*a;l=0;while(1){if((l|0)>=(r|0))break;g=A+(l+s<<3)|0;b[g>>3]=+b[g>>3]-+b[A+(l+u<<3)>>3]*a;l=l+1|0}f=f+1|0}}if((s|0)==21){a=+b[A+(h+-1<<3)>>3];if(+y(+a)<1.0e-10)s=33;else{b[e+(o<<3)>>3]=+b[i+(o<<3)>>3]/a;f=0;while(1){if((f|0)>=(o|0)){f=0;break}n=r-f|0;l=n+-2|0;a=+b[i+(l<<3)>>3];t=e+(l<<3)|0;b[t>>3]=a;c=U(l,r)|0;n=n+-1|0;while(1){if((n|0)>=(r|0))break;v=a-+b[e+(n<<3)>>3]*+b[A+(n+c<<3)>>3];b[t>>3]=v;n=n+1|0;a=v}b[t>>3]=a/+b[A+(c+l<<3)>>3];f=f+1|0}while(1){if((f|0)>=(r|0)){f=0;break}b[i+(f<<3)>>3]=+b[B+(f<<3)>>3];f=f+1|0}while(1){if((f|0)>=(h|0))break;b[A+(f<<3)>>3]=+b[d+(f<<3)>>3];f=f+1|0}L2(d);L2(B)}}if((s|0)==33){c6(93989)|0;L2(d);L2(B)}return}function JK(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;B=k;k=k+16|0;d=B;$S();IK();gP();a[46918]=G5[e&3]()|0;CP();h=d+8|0;o=G5[e&3]()|0;i=0.0;f=0.0;A:while(1){w=(o|0)==0;u=o+8|0;while(1){if(!(hP()|0)){dP(d);i=+b[d>>3];f=+b[h>>3]}if(!w){if(hP()|0)break;n=+b[u>>3];if(n>3]>2]|0;QK(t);rP(a[v+8>>2]|0,r[v+16>>0]|0,t);rP(a[E+8>>2]|0,r[E+16>>0]|0,t);WP(v);oP(E);WP(E);E=+b[s+8>>3]>+b[g+8>>3];v=E&1;c=E?g:s;g=AP(c,E?s:g)|0;s=IP(g,v)|0;QP(A,s);rP(g,(v^1)&255,t);mK(t);t=ZP(A,s)|0;if(t|0){oP(A);uP(A,t,+GK(t,c))}A=ZP(s,l)|0;if(!A)continue;uP(s,A,+GK(A,c))}A=mP(o)|0;c=yP(A)|0;l=AP(DP(A)|0,o)|0;s=IP(l,0)|0;QP(A,s);t=ZP(A,s)|0;if(t|0){oP(A);uP(A,t,+GK(t,o))}l=IP(l,1)|0;QP(s,l);A=ZP(l,c)|0;if(A|0)uP(l,A,+GK(A,o));o=G5[e&3]()|0}A=a[46860]|0;while(1){A=yP(A)|0;if((A|0)==(a[46861]|0))break;eP(a[A+8>>2]|0)}k=B;return}function NK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n+8|0;r=n;do{if((vh(A)|0)!=1){XK(A);if(!e)e=RK(A)|0;i=HK(A,e)|0;if(0){l=a[15712]|0;a[r>>2]=Vh(e)|0;a[r+4>>2]=i;f3(l,94005,r)|0}if((i|0)<0){ao(1,94039,f)|0;break}else{pK(A);UK(A,e);xK(A,e);TK(A,i);break}}else{l=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;a[l>>2]=0;a[l+4>>2]=0;a[l+8>>2]=0;a[l+12>>2]=0}}while(0);k=n;return e|0}function XK(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=vh(A)|0;i=U(i,i)|0;e=cd(A)|0;while(1){if(!e)break;r=e+16|0;f=a[(a[r>>2]|0)+112>>2]|0;n=f+24|0;a[n>>2]=i;a[n+4>>2]=0;b[f+48>>3]=10.0;f=($K(A,e)|0)==0;r=a[(a[r>>2]|0)+112>>2]|0;a[r>>2]=f?i:0;a[r+4>>2]=f?0:0;e=bd(A,e)|0}return}function RK(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=(vh(A)|0)<3;e=cd(A)|0;A:do{if(!r){while(1){if(!e)break;r=a[(a[e+16>>2]|0)+112>>2]|0;if((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)qK(A,e,0);e=bd(A,e)|0}i=0;e=0;r=cd(A)|0;while(1){if(!r)break A;l=a[(a[r+16>>2]|0)+112>>2]|0;n=a[l>>2]|0;l=a[l+4>>2]|0;f=((i|0)<0)<<31>>31;f=l>>>0>f>>>0|(l|0)==(f|0)&n>>>0>i>>>0;i=f?n:i;e=f?r:e;r=bd(A,r)|0}}}while(0);return e|0}function HK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;i=a[(a[e+16>>2]|0)+112>>2]|0;f=i+24|0;r=a[f>>2]|0;a[f>>2]=0;a[f+4>>2]=0;a[i+32>>2]=0;OK(A,e);i=cd(A)|0;r=I6(0,r|0,32)|0;f=L;e=0;while(1){if(!i)break;l=(a[(a[i+16>>2]|0)+112>>2]|0)+24|0;n=a[l>>2]|0;l=a[l+4>>2]|0;if((n|0)==(r|0)&(l|0)==(f|0)){e=-1;break}t=((e|0)<0)<<31>>31;e=l>>>0>t>>>0|(l|0)==(t|0)&n>>>0>e>>>0?n:e;i=bd(A,i)|0}return e|0}function pK(A){A=A|0;var e=0,i=0,r=0,f=0;i=cd(A)|0;while(1){if(!i)break;e=a[(a[i+16>>2]|0)+112>>2]|0;r=e+16|0;A:do{if((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)while(1){r=e+8|0;f=r;f=d6(a[f>>2]|0,a[f+4>>2]|0,1,0)|0;a[r>>2]=f;a[r+4>>2]=L;e=a[e+32>>2]|0;if(!e)break A;e=a[(a[e+16>>2]|0)+112>>2]|0}}while(0);i=bd(A,i)|0}return}function UK(A,e){A=A|0;e=e|0;b[(a[(a[e+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;PK(A,e);return}function xK(A,e){A=A|0;e=e|0;b[(a[(a[e+16>>2]|0)+112>>2]|0)+48>>3]=0.0;SK(A,e);return}function TK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0;l=k;k=k+16|0;f=l;n=jK(A,e)|0;if(0){r=a[15712]|0;m3(94095,r)|0;i=0;while(1){if((i|0)>(e|0))break;b[f>>3]=+b[n+(i<<3)>>3];f3(r,94114,f)|0;i=i+1|0}m3(153599,r)|0}i=cd(A)|0;while(1){if(!i)break;f=a[i+16>>2]|0;r=a[f+112>>2]|0;t=+b[n+(a[r+24>>2]<<3)>>3];r=r+48|0;c=+D(+ +b[r>>3])*t;f=a[f+132>>2]|0;b[f>>3]=c;b[f+8>>3]=+M(+ +b[r>>3])*t;i=bd(A,i)|0}L2(n);k=l;return}function jK(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;c=w;s=qF((e<<3)+8|0)|0;A=dR(A,Yo(a[A+60>>2]|0,0,101288,0)|0,0)|0;A:do{if(!A){f=1.0;i=0.0;A=1}else{l=0.0;i=0.0;n=1;e:while(1){if((n|0)>(e|0)){f=l;A=n;break A}f=+A8(A,c);if(!(f>0.0)){f=l;A=n;break A}l=f>.02?f:.02;i=l+i;t=n+1|0;b[s+(n<<3)>>3]=i;A=a[c>>2]|0;while(1){n=r[A>>0]|0;if(!(n<<24>>24)){n=t;continue e}if(!(n<<24>>24==58|(Q1(n<<24>>24)|0)!=0)){n=t;continue e}A=A+1|0}}}}while(0);while(1){if((A|0)>(e|0))break;l=i+f;b[s+(A<<3)>>3]=l;A=A+1|0;i=l}k=w;return s|0}function SK(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,l=0,t=0.0;i=a[(a[e+16>>2]|0)+112>>2]|0;if(!(a[i+32>>2]|0))r=0.0;else r=+b[i+48>>3]-+b[i+40>>3]*.5;n=Ah(A,e)|0;while(1){if(!n)break;i=a[n>>2]&3;f=a[((i|0)==3?n:n+48|0)+40>>2]|0;if((f|0)==(e|0))f=a[((i|0)==2?n:n+-48|0)+40>>2]|0;i=a[(a[f+16>>2]|0)+112>>2]|0;if((a[i+32>>2]|0)==(e|0)?(l=i+48|0,!(+b[l>>3]!=10.0)):0){t=+b[i+40>>3];b[l>>3]=t*.5+r;r=t+r;i=i+16|0;if(!((a[i>>2]|0)==0&(a[i+4>>2]|0)==0))SK(A,f)}n=eh(A,n,e)|0}return}function PK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0;r=a[(a[e+16>>2]|0)+112>>2]|0;f=r+8|0;n=+b[r+40>>3]/(+((a[f>>2]|0)>>>0)+4294967296.0*+((a[f+4>>2]|0)>>>0));f=Ah(A,e)|0;while(1){if(!f)break;r=a[f>>2]&3;i=a[((r|0)==3?f:f+48|0)+40>>2]|0;if((i|0)==(e|0))i=a[((r|0)==2?f:f+-48|0)+40>>2]|0;r=a[(a[i+16>>2]|0)+112>>2]|0;if(((a[r+32>>2]|0)==(e|0)?(l=r+40|0,!(+b[l>>3]!=0.0)):0)?(t=r+8|0,b[l>>3]=n*(+((a[t>>2]|0)>>>0)+4294967296.0*+((a[t+4>>2]|0)>>>0)),r=r+16|0,!((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)):0)PK(A,i);f=eh(A,f,e)|0}return}function OK(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+16|0;w=o;u=Yo(A,2,101541,0)|0;a[w+4>>2]=0;a[w>>2]=0;KK(w,e);c=(u|0)==0;A:while(1){b=_K(w)|0;if(!b)break;s=b+16|0;l=a[(a[(a[s>>2]|0)+112>>2]|0)+24>>2]|0;n=Ah(A,b)|0;l=d6(0,l|0,0,1)|0;l=I6(l|0,L|0,32)|0;t=L;while(1){if(!n)continue A;if(!((!c?(r[(Uo(n,u)|0)>>0]|0)==48:0)?!(A1(Uo(n,u)|0,138394)|0):0)){e=a[n>>2]&3;i=a[((e|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(b|0))i=a[((e|0)==2?n:n+-48|0)+40>>2]|0;e=a[(a[i+16>>2]|0)+112>>2]|0;f=e+24|0;h=f;d=a[h+4>>2]|0;if(t>>>0>>0|((t|0)==(d|0)?l>>>0<(a[h>>2]|0)>>>0:0)){d=f;a[d>>2]=l;a[d+4>>2]=t;a[e+32>>2]=b;d=(a[(a[s>>2]|0)+112>>2]|0)+16|0;h=d;h=d6(a[h>>2]|0,a[h+4>>2]|0,1,0)|0;a[d>>2]=h;a[d+4>>2]=L;KK(w,i)}}n=eh(A,n,b)|0}}k=o;return}function KK(A,e){A=A|0;e=e|0;var i=0,r=0;i=qF(8)|0;a[i>>2]=e;e=A+4|0;r=a[e>>2]|0;a[((r|0)==0?A:r+4|0)>>2]=i;a[e>>2]=i;return}function _K(A){A=A|0;var e=0,i=0;i=a[A>>2]|0;if(i){e=a[i>>2]|0;a[A>>2]=a[i+4>>2];L2(i);if(!(a[A>>2]|0))a[A+4>>2]=0}else e=0;return e|0}function qK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=a[a[(a[e+16>>2]|0)+112>>2]>>2]|0;n=Ah(A,e)|0;l=d6(0,l|0,0,1)|0;l=I6(l|0,L|0,32)|0;t=L;while(1){if(!n)break;f=a[n>>2]&3;r=a[((f|0)==3?n:n+48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((f|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)!=(i|0)?(c=a[(a[r+16>>2]|0)+112>>2]|0,f=c,b=a[f+4>>2]|0,t>>>0>>0|((t|0)==(b|0)?l>>>0<(a[f>>2]|0)>>>0:0)):0){b=c;a[b>>2]=l;a[b+4>>2]=t;qK(A,r,e)}n=eh(A,n,e)|0}return}function $K(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;f=0;n=Ah(A,e)|0;while(1){if(!n){i=1;break}r=a[n>>2]&3;i=a[((r|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(e|0))i=a[((r|0)==2?n:n+-48|0)+40>>2]|0;if((i|0)!=(e|0)){if(f)if((f|0)==(i|0))i=f;else{i=0;break}}else i=f;f=i;n=eh(A,n,e)|0}return i|0}function A_(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0;e=k;k=k+32|0;r=e;i=Yo(A,1,94122,0)|0;n=Yo(A,0,94122,0)|0;A=e_(A,n,i,Yo(A,0,94127,0)|0)|0;i=A+16|0;f=+z(+(+b[A>>3]+.1));w_(r,0.0,0.0,f,f);a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];a[i+16>>2]=a[r+16>>2];a[i+20>>2]=a[r+20>>2];a[i+24>>2]=a[r+24>>2];a[i+28>>2]=a[r+28>>2];i_(A);r_(A);f_(A);k=e;return}function e_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;k=qF(72)|0;a[k+60>>2]=0;a[k+56>>2]=A;c=A+16|0;f=0.0;s=0;l=1;t=0;w=0;while(1){n=a[c>>2]|0;if((l|0)>(a[n+180>>2]|0))break;n=e_(a[(a[n+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;f=+b[n>>3]+f;if(t|0)a[t+52>>2]=n;s=s+1|0;l=l+1|0;t=n;w=(w|0)==0?n:w}u=cd(A)|0;n=w;while(1){if(!u)break;l=u+16|0;if(!(a[a[(a[l>>2]|0)+112>>2]>>2]|0)){c=l_(u,i)|0;f=+b[c>>3]+f;if(t|0)a[t+52>>2]=c;a[a[(a[l>>2]|0)+112>>2]>>2]=A;l=s+1|0;t=c;n=(n|0)==0?c:n}else l=s;u=bd(A,u)|0;s=l}a[k+64>>2]=s;if(!s)f=+c_(A,e);else{b[k+8>>3]=f;f=+t_(k,r)}b[k>>3]=f;a[k+48>>2]=n;return k|0}function i_(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0;o=k;k=k+176|0;f=o+144|0;w=o+64|0;c=o+32|0;l=o;u=a[A+64>>2]|0;A:do{if(u|0){s=qF(u<<2)|0;e=A+48|0;r=0;i=e;while(1){i=a[i>>2]|0;if((r|0)>=(u|0))break;a[s+(r<<2)>>2]=i;r=r+1|0;i=i+52|0}K4(s,u,4,80);t=qF(u<<3)|0;i=0;while(1){if((i|0)>=(u|0))break;b[t+(i<<3)>>3]=+b[a[s+(i<<2)>>2]>>3];i=i+1|0}n=+b[A+8>>3];if(+b[A>>3]==n){l=A+16|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];a[f+16>>2]=a[l+16>>2];a[f+20>>2]=a[l+20>>2];a[f+24>>2]=a[l+24>>2];a[f+28>>2]=a[l+28>>2];l=b_(u,t,f)|0}else{h=+b[A+40>>3];d=+b[A+32>>3];b[l>>3]=+b[A+16>>3];b[l+8>>3]=+b[A+24>>3];B=h-d;n=(d+h-+z(+(n*4.0+B*B)))*.5;b[l+16>>3]=d-n;b[l+24>>3]=h-n;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];a[f+16>>2]=a[l+16>>2];a[f+20>>2]=a[l+20>>2];a[f+24>>2]=a[l+24>>2];a[f+28>>2]=a[l+28>>2];l=b_(u,t,f)|0}if(0){f=a[15712]|0;h=+b[A+24>>3];d=+b[A+32>>3];B=+b[A+40>>3];b[c>>3]=+b[A+16>>3];b[c+8>>3]=h;b[c+16>>3]=d;b[c+24>>3]=B;f3(f,94174,c)|0}r=a[15712]|0;i=0;while(1){if((i|0)>=(u|0))break;c=(a[s+(i<<2)>>2]|0)+16|0;f=l+(i<<5)|0;a[c>>2]=a[f>>2];a[c+4>>2]=a[f+4>>2];a[c+8>>2]=a[f+8>>2];a[c+12>>2]=a[f+12>>2];a[c+16>>2]=a[f+16>>2];a[c+20>>2]=a[f+20>>2];a[c+24>>2]=a[f+24>>2];a[c+28>>2]=a[f+28>>2];if(0){n=+b[f>>3];d=+b[l+(i<<5)+16>>3];g=d*.5;h=+b[l+(i<<5)+8>>3];B=+b[l+(i<<5)+24>>3];v=B*.5;b[w>>3]=+b[t+(i<<3)>>3];b[w+8>>3]=n-g;b[w+16>>3]=h-v;b[w+24>>3]=g+n;b[w+32>>3]=v+h;b[w+40>>3]=B*d;b[w+48>>3]=n;b[w+56>>3]=h;b[w+64>>3]=d;b[w+72>>3]=B;f3(r,94191,w)|0}i=i+1|0}L2(s);L2(t);L2(l);i=0;while(1){e=a[e>>2]|0;if((i|0)>=(u|0))break A;if(!(a[e+60>>2]|0))i_(e);e=e+52|0;i=i+1|0}}}while(0);k=o;return}function r_(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0;f=k;k=k+48|0;r=f;if(a[A+60>>2]|0){c=+b[A+24>>3];l=+b[A+32>>3];n=+b[A+40>>3];e=a[A+56>>2]|0;i=e+16|0;t=a[i>>2]|0;b[t+16>>3]=+b[A+16>>3];b[t+24>>3]=c;A=a[i>>2]|0;b[A+32>>3]=l*.013888888888888888;b[A+40>>3]=n*.013888888888888888;DH(e,a[(a[(Id(e)|0)+16>>2]|0)+116>>2]&1);a_(e);if(0){t=a[15712]|0;A=Vh(e)|0;i=a[i>>2]|0;s=+b[i+16>>3];n=+b[i+24>>3];l=+b[i+80>>3];c=+b[i+96>>3]+ +b[i+88>>3];a[r>>2]=A;b[r+8>>3]=s;b[r+16>>3]=n;b[r+24>>3]=l;b[r+32>>3]=c;f3(t,94133,r)|0}}else{e=A+48|0;while(1){e=a[e>>2]|0;if(!e)break;r_(e);e=e+52|0}l=+b[A+32>>3];s=+b[A+40>>3];n=+b[A+16>>3]-l*.5;c=+b[A+24>>3]-s*.5;t=a[(a[A+56>>2]|0)+16>>2]|0;b[t+16>>3]=n;b[t+24>>3]=c;b[t+32>>3]=n+l;b[t+40>>3]=c+s}k=f;return}function f_(A){A=A|0;var e=0,i=0,r=0;r=a[A+64>>2]|0;e=A+48|0;i=0;while(1){e=a[e>>2]|0;if((i|0)>=(r|0))break;f_(e);e=e+52|0;i=i+1|0}L2(A);return}function a_(A){A=A|0;var e=0,i=0,f=0,n=0;n=k;k=k+48|0;f=n;e=n+8|0;i=a[47150]|0;if(i|0?(r[(Uo(A,i)|0)>>0]|0)==0:0){b[f>>3]=+b[(a[A+16>>2]|0)+80>>3]*.7;P4(e,94168,f)|0;Vo(A,a[47150]|0,e)|0}FR(A);k=n;return}function n_(A,e){A=A|0;e=e|0;var i=0.0;i=+b[a[A>>2]>>3]-+b[a[e>>2]>>3];return(i<0.0?1:(i>0.0)<<31>>31)|0}function l_(A,e){A=A|0;e=e|0;var i=0;i=qF(72)|0;b[i>>3]=+c_(A,e);a[i+60>>2]=1;a[i+56>>2]=A;return i|0}function t_(A,e){A=A|0;e=e|0;var i=0.0;i=+oR(a[A+56>>2]|0,e,0.0,0.0);if(i==0.0)i=+b[A+8>>3];else{i=+z(+ +b[A+8>>3])+i*2.0;i=i*i}return+i}function c_(A,e){A=A|0;e=e|0;var i=0.0;i=+oR(A,e,1.0,0.0);return+(i==0.0?1.0e3:i*1.0e3)}function b_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0;l=k;k=k+32|0;n=l;r=0;f=0.0;while(1){if((r|0)>=(A|0))break;t=+b[e+(r<<3)>>3]+f;r=r+1|0;f=t}if(f>+b[i+24>>3]*+b[i+16>>3]+.001)r=0;else{r=qF(A<<5)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[n+16>>2]=a[i+16>>2];a[n+20>>2]=a[i+20>>2];a[n+24>>2]=a[i+24>>2];a[n+28>>2]=a[i+28>>2];s_(A,e,r,0,0.0,1.0,0.0,1.0,n)}k=l;return r|0}function s_(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=+l;t=+t;c=c|0;var s=0,w=0.0,u=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0.0;G=k;k=k+112|0;Z=G+72|0;g=G+40|0;o=G+32|0;s=G;C=c+16|0;h=+b[C>>3];I=c+24|0;d=+b[I>>3];E=+b[c+16+((!(h>3];do{if((A|0)>=1){if(0){Q=a[15712]|0;m=+b[c+8>>3];b[s>>3]=+b[c>>3];b[s+8>>3]=h;b[s+16>>3]=m;b[s+24>>3]=d;f3(Q,94228,s)|0;a[o>>2]=r;f3(Q,94274,o)|0}if(!r){l=+b[e>>3];m=E*E;E=l/m;m=m/l;a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A,e,i,1,l,l,l,E>m?E:m,Z);break}if((A|0)>(r|0)?(v=+b[e+(r<<3)>>3],w=vn?n:v,v=v+l,u=v/E,u=u*u,m=u/B,u=w/u,u=m>u?m:u,u<=t):0){a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A,e,i,r+1|0,w,B,v,u,Z);break}h=l/E;if(0){Q=a[15712]|0;a[g>>2]=r;b[g+8>>3]=l;b[g+16>>3]=E;b[g+24>>3]=h;f3(Q,94299,g)|0}w=+b[C>>3];if(E==w){u=1.0/h;o=c+8|0;w=+b[c>>3]-w*.5;s=0;while(1){if((s|0)>=(r|0))break;b[i+(s<<5)+24>>3]=h;m=+b[e+(s<<3)>>3]*u;b[i+(s<<5)+16>>3]=m;b[i+(s<<5)+8>>3]=(+b[I>>3]-h)*.5+ +b[o>>3];b[i+(s<<5)>>3]=m*.5+w;w=m+w;s=s+1|0}b[o>>3]=+b[o>>3]-h*.5;s=1}else{u=1.0/h;w=+b[I>>3]*.5+ +b[c+8>>3];s=0;while(1){if((s|0)>=(r|0))break;b[i+(s<<5)+16>>3]=h;m=+b[e+(s<<3)>>3]*u;b[i+(s<<5)+24>>3]=m;b[i+(s<<5)>>3]=(h-+b[C>>3])*.5+ +b[c>>3];b[i+(s<<5)+8>>3]=w-m*.5;w=w-m;s=s+1|0}b[c>>3]=+b[c>>3]+h*.5;s=0}Q=c+16+(s<<3)|0;b[Q>>3]=+b[Q>>3]-h;a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A-r|0,e+(r<<3)|0,i+(r<<5)|0,0,0.0,0.0,0.0,1.0,Z)}}while(0);k=G;return}function w_(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function u_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;W=k;k=k+96|0;L=W+48|0;m=W+24|0;Q=W+16|0;G=W+8|0;g=W+80|0;E=W;C=A+16|0;I=e+4|0;Z=g+4|0;B=cd(A)|0;i=0;r=0;n=0;l=0;while(1){if(!B)break;v=Oo(A,B)|0;h=i;d=l;while(1){if(!v)break;i=(f[(a[v+16>>2]|0)+168>>1]|0)==0;do{if((B|0)==(a[((a[v>>2]&3|0)==2?v:v+-48|0)+40>>2]|0))if(i){l=h;i=d}else{if(!r){i=qF(96)|0;a[i+84>>2]=qF(((vh(A)|0)<<5)+11520|0)|0;r=i}else i=d;Gp(r,v,a[(a[C>>2]|0)+248>>2]|0);l=h}else if(!i){n=k_(v,e)|0;l=n+8|0;if(qP(a[l>>2]|0,a[n>>2]|0)|0){t=Wt(a[l>>2]|0,a[n>>2]|0)|0;if(!t){ao(0,94352,G)|0;l=1;i=d;break}else i=v;while(1){if(!i)break;y=i+16|0;z=(a[y>>2]|0)+144|0;zp(E,i,t,0,a[l>>2]|0,a[n>>2]|0);D=E;Y=a[D+4>>2]|0;a[z>>2]=a[D>>2];a[z+4>>2]=Y;Dp(A,i,a[l>>2]|0,a[n>>2]|0,0);i=a[(a[y>>2]|0)+172>>2]|0}o_(n);l=h;i=d;break}if(!h){qj(g,A);i=sC(A,8,8)|0;ao(0,94436,Q)|0;w=+(i|0);u=+c[e>>2];o=+c[I>>2];if(!(u>=w)&!(o>=w)){s=+c[g>>2];w=+c[Z>>2];if(!(!(s<=u)&!(w<=o))){b[L>>3]=s;b[L+8>>3]=w;b[L+16>>3]=u;b[L+24>>3]=o;ao(3,94552,L)|0}}else{a[m>>2]=i;b[m+8>>3]=u;b[m+16>>3]=o;ao(3,94502,m)|0}l=1;i=d}else{l=h;i=d}}else{l=h;i=d}}while(0);v=_o(A,v)|0;h=l;d=i}B=bd(A,B)|0;i=h;l=d}h_(n);if(r|0){L2(a[r+84>>2]|0);L2(l)}k=W;return i|0}function k_(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+16|0;s=o+4|0;w=o;i=a[A>>2]&3;f=a[((i|0)==2?A:A+-48|0)+40>>2]|0;i=a[((i|0)==3?A:A+48|0)+40>>2]|0;h=f+16|0;l=a[(a[h>>2]|0)+212>>2]|0;a[s>>2]=l;t=i+16|0;n=a[(a[t>>2]|0)+212>>2]|0;a[w>>2]=n;b=qF(12)|0;A=l;c=n;if(r[(a[h>>2]|0)+118>>0]|0){A=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2]|0;a[s>>2]=A;f=l;l=A}if(!(r[(a[t>>2]|0)+118>>0]|0))t=c;else{t=a[(a[(a[c+16>>2]|0)+140>>2]|0)+48>>2]|0;a[w>>2]=t;i=n;n=t}l=a[(a[(a[l+16>>2]|0)+140>>2]|0)+44>>2]|0;n=a[(a[(a[n+16>>2]|0)+140>>2]|0)+44>>2]|0;if((l|0)<=(n|0))if((n|0)>(l|0)){d_(b,n,i,l,w,e);A=a[w>>2]|0;n=A;i=w;u=11}else l=t;else{d_(b,l,f,n,s,e);A=a[s>>2]|0;f=A;n=i;i=s;u=11}while(1){if((u|0)==11){a[i>>2]=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2];i=n;A=a[s>>2]|0;l=a[w>>2]|0}if((A|0)==(l|0))break;B_(b,A,0,f,e);B_(b,l,i,0,e);a[s>>2]=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2];f=A;n=l;i=w;A=l;u=11}B_(b,l,i,f,e);k=o;return b|0}function o_(A){A=A|0;a[A>>2]=0;return}function h_(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function d_(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;t=f;while(1){l=a[t>>2]|0;if((e|0)<=(r|0))break;B_(A,l,i,0,n);e=e+-1|0;t=(a[(a[l+16>>2]|0)+140>>2]|0)+48|0;i=l}a[f>>2]=i;return}function B_(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;l=cd(e)|0;while(1){if(!l)break;t=a[l+16>>2]|0;if(!((l|0)==(f|0)|((l|0)==(i|0)?1:(a[t+212>>2]|0)!=(e|0)))?(r[t+118>>0]|0)==0:0)v_(A,Lp(l,n,0)|0);l=bd(e,l)|0}t=e+16|0;e=1;while(1){l=a[t>>2]|0;if((e|0)>(a[l+180>>2]|0))break;l=a[(a[l+184>>2]|0)+(e<<2)>>2]|0;if(!((l|0)==(i|0)|(l|0)==(f|0)))v_(A,g_(l,n)|0);e=e+1|0}return}function v_(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+4|0;f=a[r>>2]|0;n=A+8|0;i=a[n>>2]|0;do{if((f|0)==(a[A>>2]|0))if(!i){i=$F(400)|0;a[n>>2]=i;a[r>>2]=100;break}else{a[r>>2]=f<<1;i=eV(i,f<<3)|0;a[n>>2]=i;break}}while(0);n=a[A>>2]|0;a[A>>2]=n+1;a[i+(n<<2)>>2]=e;return}function g_(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0.0,t=0.0,s=0.0,w=0,u=0.0,k=0.0,o=0.0;w=qF(8)|0;A=a[A+16>>2]|0;i=+b[A+16>>3];s=+b[A+24>>3];f=+b[A+32>>3];t=+b[A+40>>3];a[w+4>>2]=4;A=qF(64)|0;a[w>>2]=A;if(!(r[e+8>>0]|0)){o=+c[e>>2];k=+c[e+4>>2];n=(f+i)*.5*(o+-1.0);u=(t+s)*.5*(k+-1.0);l=i*o-n;n=f*o-n;f=t*k-u;i=s*k-u}else{n=+c[e>>2];o=+c[e+4>>2];l=i-n;n=f+n;f=t+o;i=s-o}b[A>>3]=l;b[A+8>>3]=i;b[A+16>>3]=l;b[A+24>>3]=f;b[A+32>>3]=n;b[A+40>>3]=f;b[A+48>>3]=n;b[A+56>>3]=i;return w|0}function E_(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;u=k;k=k+160|0;w=u+16|0;c=u+8|0;n=u;b=u+24|0;s=qF(vh(A)|0)|0;l=A+16|0;f=a[a[(a[l>>2]|0)+140>>2]>>2]|0;A:do{if(!f){n=0;f=0}else{o=Vh(A)|0;t=a[46923]|0;a[n>>2]=o;a[n+4>>2]=t;P4(b,94612,n)|0;t=XB(A,b,1)|0;Td(t,137483,280,1)|0;n=qF(56)|0;a[(a[t+16>>2]|0)+140>>2]=n;a[n>>2]=f;a[n+4>>2]=a[(a[(a[l>>2]|0)+140>>2]|0)+4>>2];while(1){n=a[f+4>>2]|0;if(!n){n=t;f=1;break A}if(!(r[s+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0))C_(A,n,t,s);f=f+16|0}}}while(0);l=0;t=cd(A)|0;while(1){if(!t)break;o=a[t+16>>2]|0;if((r[s+(a[o+120>>2]|0)>>0]|0)==0?(r[o+119>>0]|0)==3:0){if(!n){o=Vh(A)|0;n=(a[46923]|0)+f|0;a[c>>2]=o;a[c+4>>2]=n;P4(b,94612,c)|0;n=XB(A,b,1)|0;Td(n,137483,280,1)|0;o=qF(56)|0;a[(a[n+16>>2]|0)+140>>2]=o;f=f+1|0}C_(A,t,n,s);l=1}t=bd(A,t)|0}if(n|0)VE(n)|0;n=cd(A)|0;while(1){if(!n)break;if(!(r[s+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0)){c=Vh(A)|0;o=(a[46923]|0)+f|0;a[w>>2]=c;a[w+4>>2]=o;P4(b,94620,w)|0;o=XB(A,b,1)|0;Td(o,137483,280,1)|0;c=qF(56)|0;a[(a[o+16>>2]|0)+140>>2]=c;C_(A,n,o,s);VE(o)|0;f=f+1|0}n=bd(A,n)|0}L2(s);a[46923]=(a[46923]|0)+f;if(e|0)a[e>>2]=f;if(i|0)a[i>>2]=l;t=qF((f<<2)+4|0)|0;l=t;n=RB(A)|0;while(1){if(!n)break;a[l>>2]=n;l=l+4|0;n=HB(n)|0;f=f+-1|0}if(!f){a[l>>2]=0;k=u;return t|0}else vA(94628,94639,134,94646);return 0}function C_(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;r[f+(a[(a[e+16>>2]|0)+120>>2]|0)>>0]=1;kd(i,e,1)|0;t=Ah(A,e)|0;while(1){if(!t)break;l=a[t>>2]&3;n=a[((l|0)==3?t:t+48|0)+40>>2]|0;if((n|0)==(e|0))n=a[((l|0)==2?t:t+-48|0)+40>>2]|0;if(!(r[f+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0))C_(A,n,i,f);t=eh(A,t,e)|0}return}function I_(A){A=A|0;var e=0;e=$F(24)|0;a[46924]=e;a[e>>2]=jk(18204,a[4581]|0)|0;a[e+16>>2]=0;a[e+12>>2]=0;a[e+4>>2]=Z_(A)|0;return e|0}function Z_(A){A=A|0;var e=0,i=0;e=$F(16)|0;a[e+12>>2]=0;i=$F(A*20|0)|0;a[e>>2]=i;a[e+8>>2]=i+(A*20|0);a[e+4>>2]=i;return e|0}function G_(A,e,i){A=A|0;e=e|0;i=i|0;i=m_(a[46924]|0)|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=0;return i|0}function Q_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(a[e>>2]|0)-(a[i>>2]|0)|0;if(!A)A=(a[e+4>>2]|0)-(a[i+4>>2]|0)|0;return A|0}function m_(A){A=A|0;var e=0,i=0,r=0,f=0;f=A+8|0;A=a[f>>2]|0;e=a[A+4>>2]|0;if((e|0)==(a[A+8>>2]|0)){i=A+12|0;r=a[i>>2]|0;if(!r){A=Z_(((e-(a[A>>2]|0)|0)/20|0)<<1)|0;a[i>>2]=A}else A=r;a[f>>2]=A;e=a[A>>2]|0;a[A+4>>2]=e}a[A+4>>2]=e+20;return e|0}function L_(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+12|0;i=a[f>>2]|0;if((i|0)<(e|0)){r=i<<1;r=(r|0)<(e|0)?e:r;e=A+16|0;i=a[e>>2]|0;if(i|0)L2(i);a[e>>2]=$F(r<<3)|0;a[f>>2]=r}return}function W_(A){A=A|0;var e=0;e=a[A>>2]|0;W5[a[e>>2]&63](e,0,64)|0;a[A+20>>2]=a[A+16>>2];e=a[A+4>>2]|0;a[A+8>>2]=e;a[e+4>>2]=a[e>>2];return}function y_(A){A=A|0;pk(a[A>>2]|0)|0;z_(a[A+4>>2]|0);L2(a[A+16>>2]|0);L2(A);return}function z_(A){A=A|0;var e=0;while(1){if(!A)break;e=a[A+12>>2]|0;L2(a[A>>2]|0);L2(A);A=e}return}function Y_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n;l=n+12|0;a[l>>2]=e;a[l+4>>2]=i;t=a[A>>2]|0;l=(W5[a[t>>2]&63](t,l,1)|0)+8|0;a[l>>2]=D_(A,r,a[l>>2]|0)|0;if(0>2){t=a[15712]|0;l=Vh(r)|0;a[f>>2]=e;a[f+4>>2]=i;a[f+8>>2]=l;f3(t,94656,f)|0}k=n;return}function D_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+20|0;A=a[r>>2]|0;a[r>>2]=A+8;a[A>>2]=e;a[A+4>>2]=i;return A|0}function M_(A,e){A=A|0;e=e|0;$k(a[A>>2]|0,e,A)|0;return}function F_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+32|0;f=r;a[f>>2]=e;a[f+4>>2]=i;i=a[A>>2]|0;i=W5[a[i>>2]&63](i,f,4)|0;k=r;return i|0}function V_(A){A=A|0;L2(a[A+8>>2]|0);L2(A);return}function J_(A){A=A|0;return+ +b[A>>3]}function N_(A){A=A|0;return a[A+8>>2]|0}function X_(A){A=A|0;return~~+b[A+16>>3]|0}function R_(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;e=a[e>>2]|0;if((e|0)>=(a[i>>2]|0)){e=e+10|0;a[i>>2]=e;a[r>>2]=eV(a[r>>2]|0,U(A<<3,e)|0)|0;a[f>>2]=eV(a[f>>2]|0,a[i>>2]<<3)|0;a[n>>2]=eV(a[n>>2]|0,a[i>>2]<<3)|0}return}function H_(A,e,i,r,f,n,l,t,c,s,w){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;w=w|0;var u=0,k=0,o=0,h=0,d=0.0;b[s>>3]=+b[s>>3]+1.0;A:do{if(A|0){h=a[A+16>>2]|0;u=a[A+40>>2]|0;if(u|0)do{R_(h,f,n,l,t,c);if((X_(Zu(u)|0)|0)!=(r|0)){o=N_(Zu(u)|0)|0;k=0;while(1){if((k|0)>=(h|0))break;b[(a[l>>2]|0)+((U(a[f>>2]|0,h)|0)+k<<3)>>3]=+b[o+(k<<3)>>3];k=k+1|0}d=+J_(Zu(u)|0);b[(a[t>>2]|0)+(a[f>>2]<<3)>>3]=d;d=+qs(i,o,h);o=a[f>>2]|0;b[(a[c>>2]|0)+(o<<3)>>3]=d;a[f>>2]=o+1}u=Gu(u)|0}while((u|0)!=0);o=A+36|0;if(a[o>>2]|0){d=+qs(a[A+20>>2]|0,i,h);if(!(+b[A+24>>3]=(k|0))break A;H_(a[(a[o>>2]|0)+(u<<2)>>2]|0,e,i,r,f,n,l,t,c,s,w);u=u+1|0}}R_(h,f,n,l,t,c);k=A+32|0;u=0;while(1){if((u|0)>=(h|0))break;b[(a[l>>2]|0)+((U(a[f>>2]|0,h)|0)+u<<3)>>3]=+b[(a[k>>2]|0)+(u<<3)>>3];u=u+1|0}b[(a[t>>2]|0)+(a[f>>2]<<3)>>3]=+b[A+8>>3];d=+qs(a[k>>2]|0,i,h);t=a[f>>2]|0;b[(a[c>>2]|0)+(t<<3)>>3]=d;a[f>>2]=t+1}}}while(0);return}function p_(A,e,i,r,f,n,l,t,c,s,w){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;w=w|0;var u=0;u=a[A+16>>2]|0;b[s>>3]=0.0;a[f>>2]=0;a[w>>2]=0;a[n>>2]=10;if(!(a[l>>2]|0))a[l>>2]=$F(u*80|0)|0;if(!(a[t>>2]|0))a[t>>2]=$F(a[n>>2]<<3)|0;if(!(a[c>>2]|0))a[c>>2]=$F(a[n>>2]<<3)|0;H_(A,e,i,r,f,n,l,t,c,s,w);return}function U_(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=+n;l=l|0;t=t|0;var c=0,s=0,w=0;w=a[A>>2]|0;s=a[A+16>>2]|0;c=0;while(1){if((c|0)==4)break;b[l+(c<<3)>>3]=0.0;c=c+1|0}a[t>>2]=0;s=U(s,w)|0;c=0;while(1){if((c|0)>=(s|0))break;b[e+(c<<3)>>3]=0.0;c=c+1|0}x_(A,A,i,e,r,f,n,l);T_(A,e,l);r=1.0/+(w|0);c=0;while(1){if((c|0)==4)break;w=l+(c<<3)|0;b[w>>3]=+b[w>>3]*r;c=c+1|0}return}function x_(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=+l;t=t|0;var c=0,s=0.0,w=0,u=0.0,k=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0;A:do{if((A|0)!=0&(e|0)!=0){if((a[A>>2]|0)>0?(a[e>>2]|0)>0:0){C=a[A+16>>2]|0;o=a[A+40>>2]|0;E=e+40|0;k=a[E>>2]|0;c=A+32|0;w=e+32|0;d=+qs(a[c>>2]|0,a[w>>2]|0,C);s=+b[A+24>>3];u=+b[e+24>>3];if(u+s>3]=+b[t>>3]+1.0;h=a[c>>2]|0;u=+b[A+8>>3];o=j_(A,C)|0;k=a[w>>2]|0;s=+b[e+8>>3];w=j_(e,C)|0;if(!(d>0.0))vA(94798,94681,191,94764);u=u*l*s;s=+Y(+d,+(1.0-n));s=1.0/(n==-1.0?d*d:s);c=0;while(1){if((c|0)>=(C|0))break A;l=u*(+b[h+(c<<3)>>3]-+b[k+(c<<3)>>3])*s;r=o+(c<<3)|0;b[r>>3]=l+ +b[r>>3];r=w+(c<<3)|0;b[r>>3]=+b[r>>3]-l;c=c+1|0}}w=(o|0)!=0;c=(k|0)!=0;g=(A|0)==(e|0);if(w&c){B=t+8|0;v=n==-1.0;f=1.0-n;w=o;while(1){if(!w)break A;o=N_(Zu(w)|0)|0;d=+J_(Zu(w)|0);h=X_(Zu(w)|0)|0;A=S_(r,h,w,C)|0;d=d*l;k=a[E>>2]|0;while(1){if(!k)break;e=N_(Zu(k)|0)|0;s=+J_(Zu(k)|0);c=X_(Zu(k)|0)|0;t=S_(r,c,k,C)|0;e:do{if(!((h|0)==(c|0)|g&(c|0)<(h|0))){b[B>>3]=+b[B>>3]+1.0;n=+Ks(i,C,h,c);s=d*s;u=+Y(+n,+f);u=1.0/(v?n*n:u);c=0;while(1){if((c|0)>=(C|0))break e;n=s*(+b[o+(c<<3)>>3]-+b[e+(c<<3)>>3])*u;I=A+(c<<3)|0;b[I>>3]=n+ +b[I>>3];I=t+(c<<3)|0;b[I>>3]=+b[I>>3]-n;c=c+1|0}}}while(0);k=Gu(k)|0}w=Gu(w)|0}}if(g){h=1<=(h|0))break A;o=a[(a[k>>2]|0)+(w<<2)>>2]|0;c=w;while(1){if((c|0)==(h|0))break;x_(o,a[(a[k>>2]|0)+(c<<2)>>2]|0,i,r,f,n,l,t);c=c+1|0}w=w+1|0}}if(!(w|!(s>u))){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,e,i,r,f,n,l,t);c=c+1|0}}if(!(c|!(u>s))){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,A,i,r,f,n,l,t);c=c+1|0}}if(!w){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,e,i,r,f,n,l,t);c=c+1|0}}if(c)vA(138394,94681,273,94764);k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,A,i,r,f,n,l,t);c=c+1|0}}vA(94739,94681,175,94764)}}while(0);return}function T_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0;r=a[A+40>>2]|0;w=a[A+16>>2]|0;n=+b[A+8>>3];u=j_(A,w)|0;if(!(n>0.0))vA(94673,94681,289,94692);s=i+16|0;b[s>>3]=+b[s>>3]+1.0;A:do{if(!r){s=1<=(s|0))break A;f=a[(a[c>>2]|0)+(A<<2)>>2]|0;if(f|0){if((a[f>>2]|0)<=0)break;t=j_(f,w)|0;l=+b[f+8>>3]*n;r=0;while(1){if((r|0)>=(w|0))break;k=t+(r<<3)|0;b[k>>3]=+b[k>>3]+ +b[u+(r<<3)>>3]*l;r=r+1|0}T_(f,e,i)}A=A+1|0}vA(94728,94681,307,94692)}else{l=1.0/n;while(1){if(!r)break A;f=S_(e,X_(Zu(r)|0)|0,r,w)|0;n=+J_(Zu(r)|0)*l;A=0;while(1){if((A|0)>=(w|0))break;k=f+(A<<3)|0;b[k>>3]=+b[k>>3]+ +b[u+(A<<3)>>3]*n;A=A+1|0}r=Gu(r)|0}}}while(0);return}function j_(A,e){A=A|0;e=e|0;var i=0;i=A+48|0;A=a[i>>2]|0;A:do{if(!A){A=$F(e<<3)|0;a[i>>2]=A;i=0;while(1){if((i|0)>=(e|0))break A;b[A+(i<<3)>>3]=0.0;i=i+1|0}}}while(0);return A|0}function S_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=a[(Zu(i)|0)+24>>2]|0;if(!f){f=A+((U(r,e)|0)<<3)|0;a[(Zu(i)|0)+24>>2]=f;f=a[(Zu(i)|0)+24>>2]|0}return f|0}function P_(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0;w=A<<3;c=$F(w)|0;s=$F(w)|0;w=$F(w)|0;if((c|0)!=0&(s|0)!=0&(w|0)!=0){a=0;while(1){if((a|0)>=(A|0)){a=0;break}b[c+(a<<3)>>3]=+b[r+(a<<3)>>3];a=a+1|0}while(1){if((a|0)>=(A|0)){n=1;break}b[s+(a<<3)>>3]=+b[r+(a<<3)>>3];a=a+1|0}while(1){if((n|0)>=(e|0))break;t=U(n,A)|0;a=0;while(1){if((a|0)>=(A|0))break;u=c+(a<<3)|0;l=+b[u>>3];o=r+(a+t<<3)|0;k=+b[o>>3];b[u>>3]=l>3];l=+b[o>>3];b[u>>3]=k>l?k:l;a=a+1|0}n=n+1|0}l=+b[s>>3]-+b[c>>3];a=0;while(1){if((a|0)>=(A|0))break;o=c+(a<<3)|0;u=s+(a<<3)|0;b[w+(a<<3)>>3]=(+b[u>>3]+ +b[o>>3])*.5;k=+b[u>>3]-+b[o>>3];l=l>k?l:k;a=a+1|0}a=O_(A,w,l==0.0?5.2e-06:l*.52,i)|0;A:do{if(!f){n=0;while(1){if((n|0)>=(e|0))break A;a=K_(a,r+((U(n,A)|0)<<3)|0,1.0,n)|0;n=n+1|0}}else{n=0;while(1){if((n|0)>=(e|0))break A;o=r+((U(n,A)|0)<<3)|0;a=K_(a,o,+b[f+(n<<3)>>3],n)|0;n=n+1|0}}}while(0);L2(c);L2(s);L2(w)}else{L2(c);L2(s);L2(w);a=0}return a|0}function O_(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0,n=0,l=0;n=$F(56)|0;a[n+16>>2]=A;a[n>>2]=0;l=$F(A<<3)|0;a[n+20>>2]=l;f=0;while(1){if((f|0)>=(A|0))break;b[l+(f<<3)>>3]=+b[e+(f<<3)>>3];f=f+1|0}if(i>0.0){b[n+24>>3]=i;b[n+8>>3]=0.0;a[n+32>>2]=0;a[n+36>>2]=0;a[n+40>>2]=0;a[n+44>>2]=r;a[n+48>>2]=0;return n|0}else vA(94896,94681,410,94906);return 0}function K_(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;if(!A)A=0;else __(A,e,i,r,0)|0;return A|0}function __(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;v=A+16|0;d=a[v>>2]|0;B=a[A+44>>2]|0;w=a[A>>2]|0;do{if(!w){a[A>>2]=1;b[A+8>>3]=i;t=$F(d<<3)|0;a[A+32>>2]=t;l=a[v>>2]|0;n=0;while(1){if((n|0)>=(l|0))break;b[t+(n<<3)>>3]=+b[e+(n<<3)>>3];n=n+1|0}n=q_(l,i,e,r)|0;l=A+40|0;if(!(a[l>>2]|0)){a[l>>2]=Eu(n)|0;break}else vA(94807,94681,502,94815)}else{if((B|0)<=(f|0)){if(a[A+36>>2]|0)vA(94881,94681,541,94815);n=w+1|0;a[A>>2]=n;l=A+8|0;b[l>>3]=+b[l>>3]+i;l=A+32|0;c=+(n|0);s=1.0/+(w+2|0);n=0;while(1){if((n|0)>=(d|0))break;h=(a[l>>2]|0)+(n<<3)|0;b[h>>3]=(+b[h>>3]*c+ +b[e+(n<<3)>>3])*s;n=n+1|0}n=q_(d,i,e,r)|0;l=A+40|0;t=a[l>>2]|0;if(!t)vA(94891,94681,547,94815);else{a[l>>2]=Iu(t,n)|0;break}}l=A+8|0;b[l>>3]=+b[l>>3]+i;l=A+32|0;s=+(w|0);c=1.0/+(w+1|0);n=0;while(1){if((n|0)>=(d|0))break;h=(a[l>>2]|0)+(n<<3)|0;b[h>>3]=(+b[h>>3]*s+ +b[e+(n<<3)>>3])*c;n=n+1|0}h=A+36|0;o=1<>2]|0)){a[h>>2]=$F(o<<2)|0;n=0;while(1){if((n|0)>=(o|0))break A;a[(a[h>>2]|0)+(n<<2)>>2]=0;n=n+1|0}}}while(0);u=A+20|0;n=a[u>>2]|0;t=$_(d,n,e)|0;if(!((t|0)<(o|0)&(t|0)>-1))vA(94837,94681,515,94815);l=a[(a[h>>2]|0)+(t<<2)>>2]|0;if(!l){l=Aq(a[v>>2]|0,n,+b[A+24>>3]*.5,B,t)|0;a[(a[h>>2]|0)+(t<<2)>>2]=l;l=a[(a[h>>2]|0)+(t<<2)>>2]|0}k=f+1|0;r=__(l,e,i,r,k)|0;a[(a[h>>2]|0)+(t<<2)>>2]=r;if(!(a[(a[h>>2]|0)+(t<<2)>>2]|0))vA(94860,94681,519,94815);e=A+40|0;n=a[e>>2]|0;do{if(n|0){w=X_(Zu(n)|0)|0;if((a[A>>2]|0)!=1)vA(94871,94681,523,94815);f=N_(Zu(a[e>>2]|0)|0)|0;c=+J_(Zu(a[e>>2]|0)|0);l=a[u>>2]|0;t=$_(d,l,f)|0;if(!((t|0)<(o|0)&(t|0)>-1))vA(94837,94681,527,94815);n=a[(a[h>>2]|0)+(t<<2)>>2]|0;if(!n){n=Aq(a[v>>2]|0,l,+b[A+24>>3]*.5,B,t)|0;a[(a[h>>2]|0)+(t<<2)>>2]=n;n=a[(a[h>>2]|0)+(t<<2)>>2]|0}v=__(n,f,c,w,k)|0;a[(a[h>>2]|0)+(t<<2)>>2]=v;if(!(a[(a[h>>2]|0)+(t<<2)>>2]|0))vA(94860,94681,532,94815);else{Cu(a[e>>2]|0,106);a[e>>2]=0;break}}}while(0);a[A>>2]=(a[A>>2]|0)+1}}while(0);return A|0}function q_(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0,n=0;n=$F(32)|0;b[n>>3]=e;f=$F(A<<3)|0;a[n+8>>2]=f;b[n+16>>3]=+(r|0);r=0;while(1){if((r|0)>=(A|0))break;b[f+(r<<3)>>3]=+b[i+(r<<3)>>3];r=r+1|0}a[n+24>>2]=0;return n|0}function $_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=0;while(1){r=A+-1|0;if((A|0)<=0)break;A=r;f=f<<1|!(+b[i+(r<<3)>>3]-+b[e+(r<<3)>>3]<0.0)&1}return f|0}function Aq(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0.0;n=O_(A,e,i,r)|0;l=a[n+20>>2]|0;t=-i;r=0;e=f;while(1){if((r|0)>=(A|0))break;f=l+(r<<3)|0;b[f>>3]=+b[f>>3]+((e&1|0)==0?t:i);r=r+1|0;e=(e|0)/2|0}return n|0}function eq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(A|0){e=a[A+16>>2]|0;L2(a[A+20>>2]|0);L2(a[A+32>>2]|0);L2(a[A+48>>2]|0);n=A+36|0;r=a[n>>2]|0;if(r|0){f=1<=(f|0))break;eq(a[e+(i<<2)>>2]|0);i=i+1|0;e=a[n>>2]|0}L2(e)}Cu(a[A+40>>2]|0,106);L2(A)}return}function iq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0,d=0,B=0,v=0;A:do{if(!A)e=0;else{s=a[A+20>>2]|0;w=a[A+24>>2]|0;i=a[A+8>>2]|0;u=a[A>>2]|0;r=a[A+4>>2]|0;l=A+16|0;if((a[A+32>>2]|0)!=1)vA(94919,94943,76,94958);e=fq(r,u,i,a[l>>2]|0,1)|0;a[e+8>>2]=i;k=a[e+20>>2]|0;c=a[e+24>>2]|0;i=0;while(1){if((i|0)>(r|0)){i=0;break}a[k+(i<<2)>>2]=0;i=i+1|0}e:while(1){if((i|0)>=(u|0)){i=0;break}f=i+1|0;n=s+(f<<2)|0;i=a[s+(i<<2)>>2]|0;while(1){if((i|0)>=(a[n>>2]|0)){i=f;continue e}t=k+((a[w+(i<<2)>>2]|0)+1<<2)|0;a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}while(1){if((i|0)>=(r|0))break;t=i+1|0;n=k+(t<<2)|0;a[n>>2]=(a[n>>2]|0)+(a[k+(i<<2)>>2]|0);i=t}e:do{switch(a[l>>2]|0){case 1:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;h=+b[n+(i<<3)>>3];d=k+(a[d>>2]<<2)|0;o=a[d>>2]|0;a[d>>2]=o+1;b[A+(o<<3)>>3]=h;i=i+1|0}}}case 2:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;v=i<<1;d=k+(a[d>>2]<<2)|0;o=a[d>>2]|0;B=o<<1;b[A+(B<<3)>>3]=+b[n+(v<<3)>>3];b[A+((B|1)<<3)>>3]=+b[n+((v|1)<<3)>>3];a[d>>2]=o+1;i=i+1|0}}}case 4:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;B=a[n+(i<<2)>>2]|0;d=k+(a[d>>2]<<2)|0;v=a[d>>2]|0;a[d>>2]=v+1;a[A+(v<<2)>>2]=B;i=i+1|0}}}case 8:{f=0;i:while(1){if((f|0)>=(u|0))break e;n=f+1|0;A=s+(n<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[A>>2]|0)){f=n;continue i}B=k+(a[w+(i<<2)>>2]<<2)|0;v=a[B>>2]|0;a[B>>2]=v+1;a[c+(v<<2)>>2]=f;i=i+1|0}}}case 16:{rq(e);e=0;break A}default:{rq(e);e=0;break A}}}while(0);while(1){i=r+-1|0;if((r|0)<=0)break;a[k+(r<<2)>>2]=a[k+(i<<2)>>2];r=i}a[k>>2]=0}}while(0);return e|0}function rq(A){A=A|0;var e=0;if(A|0){e=a[A+20>>2]|0;if(e|0)L2(e);e=a[A+24>>2]|0;if(e|0)L2(e);L2(a[A+28>>2]|0);L2(A)}return}function fq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;A=nq(A,e,r,aq(r)|0,f)|0;if((i|0)>0)lq(A,i)|0;return A|0}function aq(A){A=A|0;switch(A|0){case 1:{A=8;break}case 2:{A=16;break}case 4:{A=4;break}case 8:{A=0;break}case 16:{A=0;break}default:A=0}return A|0}function nq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=$F(44)|0;a[n>>2]=A;a[n+4>>2]=e;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=i;a[n+40>>2]=r;if((f|0)==2)A=0;else A=$F((A<<2)+4|0)|0;a[n+20>>2]=A;a[n+24>>2]=0;a[n+28>>2]=0;a[n+32>>2]=f;a[n+36>>2]=0;return n|0}function lq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=a[A+32>>2]|0;f=A+28|0;a[f>>2]=0;i=e<<2;r=$F(i)|0;if((l|0)!=2){a[A+24>>2]=r;i=a[A+40>>2]|0;if((e|0)!=0&(i|0)>0)n=4}else{a[A+20>>2]=r;a[A+24>>2]=$F(i)|0;i=a[A+40>>2]|0;n=4}if((n|0)==4)a[f>>2]=$F(U(i,e)|0)|0;a[A+12>>2]=e;return A|0}function tq(A,e){A=A|0;e=e|0;if(!(cq(A,e)|0)){e=iq(A)|0;if(!e)e=0;else{A=sq(A,e)|0;rq(e);e=A+36|0;a[e>>2]=a[e>>2]|3;e=A}}else e=bq(A)|0;return e|0}function cq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0.0;if(A){if((a[A+32>>2]|0)!=1)vA(94919,94943,187,95074);B=A+36|0;i=a[B>>2]|0;if((i&2|0)==0?(o=(e|0)!=0,(i&1|0)==0|o^1):0)if((a[A>>2]|0)==(a[A+4>>2]|0)?(v=iq(A)|0,(v|0)!=0):0){c=a[A+20>>2]|0;s=a[A+24>>2]|0;w=a[v+20>>2]|0;u=a[v+24>>2]|0;k=a[A>>2]|0;h=$F(k<<2)|0;e=0;while(1){if((e|0)>=(k|0))break;a[h+(e<<2)>>2]=-1;e=e+1|0}A:do{switch((o?8:a[A+16>>2]|0)|0){case 1:{n=a[A+28>>2]|0;l=a[v+28>>2]|0;e=0;while(1){if((e|0)>(k|0)){i=0;break}if((a[c+(e<<2)>>2]|0)==(a[w+(e<<2)>>2]|0))e=e+1|0;else{e=0;break A}}e:while(1){if((i|0)>=(k|0)){d=54;break A}r=c+(i<<2)|0;f=i+1|0;A=c+(f<<2)|0;e=a[r>>2]|0;while(1){if((e|0)>=(a[A>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}e=a[w+(i<<2)>>2]|0;A=a[w+(f<<2)>>2]|0;i=e;while(1){if((i|0)>=(A|0))break;if((a[h+(a[u+(i<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else i=i+1|0}while(1){if((e|0)>=(A|0)){i=f;continue e}g=+b[l+(e<<3)>>3]-+b[n+(a[h+(a[u+(e<<2)>>2]<<2)>>2]<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}else e=e+1|0}}}case 2:{l=a[A+28>>2]|0;t=a[v+28>>2]|0;e=0;while(1){if((e|0)>(k|0)){i=0;break}if((a[c+(e<<2)>>2]|0)==(a[w+(e<<2)>>2]|0))e=e+1|0;else{e=0;break A}}e:while(1){if((i|0)>=(k|0)){d=54;break A}f=c+(i<<2)|0;n=i+1|0;A=c+(n<<2)|0;e=a[f>>2]|0;while(1){if((e|0)>=(a[A>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}i=a[w+(i<<2)>>2]|0;r=a[w+(n<<2)>>2]|0;e=i;while(1){if((e|0)>=(r|0)){e=i;break}if((a[h+(a[u+(e<<2)>>2]<<2)>>2]|0)<(a[f>>2]|0)){e=0;break A}else e=e+1|0}while(1){if((e|0)>=(r|0)){i=n;continue e}i=e<<1;A=a[h+(a[u+(e<<2)>>2]<<2)>>2]<<1;g=+b[t+(i<<3)>>3]-+b[l+(A<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}g=+b[t+((i|1)<<3)>>3]-+b[l+((A|1)<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}else e=e+1|0}}}case 4:{f=a[A+28>>2]|0;n=a[v+28>>2]|0;e=0;e:while(1){if((e|0)>=(k|0)){d=54;break A}r=c+(e<<2)|0;l=e+1|0;A=c+(l<<2)|0;i=a[r>>2]|0;while(1){if((i|0)>=(a[A>>2]|0))break;a[h+(a[s+(i<<2)>>2]<<2)>>2]=i;i=i+1|0}e=a[w+(e<<2)>>2]|0;A=a[w+(l<<2)>>2]|0;i=e;while(1){if((i|0)>=(A|0))break;if((a[h+(a[u+(i<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else i=i+1|0}while(1){if((e|0)>=(A|0)){e=l;continue e}if((a[n+(e<<2)>>2]|0)==(a[f+(a[h+(a[u+(e<<2)>>2]<<2)>>2]<<2)>>2]|0))e=e+1|0;else{e=0;break A}}}}case 8:{A=0;e:while(1){if((A|0)>=(k|0)){d=54;break A}r=c+(A<<2)|0;f=A+1|0;i=c+(f<<2)|0;e=a[r>>2]|0;while(1){if((e|0)>=(a[i>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}i=a[w+(f<<2)>>2]|0;e=a[w+(A<<2)>>2]|0;while(1){if((e|0)>=(i|0)){A=f;continue e}if((a[h+(a[u+(e<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else e=e+1|0}}}default:e=0}}while(0);if((d|0)==54){i=a[B>>2]|0;if(o)e=1;else{a[B>>2]=i|2;e=3}a[B>>2]=e|i;e=1}L2(h);rq(v)}else e=0;else e=1}else e=0;return e|0}function bq(A){A=A|0;var e=0,i=0,r=0,f=0;if(!A)e=0;else{r=A+8|0;f=A+40|0;e=wq(a[A>>2]|0,a[A+4>>2]|0,a[r>>2]|0,a[A+16>>2]|0,a[f>>2]|0,a[A+32>>2]|0)|0;i=A+20|0;y6(a[e+20>>2]|0,a[i>>2]|0,(a[A>>2]<<2)+4|0)|0;y6(a[e+24>>2]|0,a[A+24>>2]|0,a[(a[i>>2]|0)+(a[A>>2]<<2)>>2]<<2|0)|0;i=a[A+28>>2]|0;if(i|0)y6(a[e+28>>2]|0,i|0,U(a[r>>2]|0,a[f>>2]|0)|0)|0;a[e+36>>2]=a[A+36>>2];a[e+8>>2]=a[r>>2]}return e|0}function sq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;o=a[A+20>>2]|0;d=a[A+24>>2]|0;B=a[e+20>>2]|0;v=a[e+24>>2]|0;if(!((A|0)!=0&(e|0)!=0))vA(94981,94943,973,94988);h=a[A+32>>2]|0;if(!((h|0)==1?(h|0)==(a[e+32>>2]|0):0))vA(95005,94943,974,94988);r=A+16|0;i=a[r>>2]|0;if((i|0)!=(a[e+16>>2]|0))vA(95055,94943,975,94988);k=a[A>>2]|0;f=a[A+4>>2]|0;if(((k|0)==(a[e>>2]|0)?(f|0)==(a[e+4>>2]|0):0)?(g=fq(k,f,(a[e+8>>2]|0)+(a[A+8>>2]|0)|0,i,1)|0,g|0):0){w=a[g+20>>2]|0;u=a[g+24>>2]|0;h=$F(f<<2)|0;i=0;while(1){if((i|0)>=(f|0))break;a[h+(i<<2)>>2]=-1;i=i+1|0}a[w>>2]=0;A:do{switch(a[r>>2]|0){case 1:{s=a[A+28>>2]|0;l=a[e+28>>2]|0;t=a[g+28>>2]|0;i=0;f=0;while(1){if((f|0)>=(k|0))break A;c=f+1|0;r=o+(c<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;n=d+(A<<2)|0;a[h+(a[n>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[n>>2];b[t+(i<<3)>>3]=+b[s+(A<<3)>>3];A=A+1|0;i=i+1|0}e=B+(c<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;b[t+(i<<3)>>3]=+b[l+(f<<3)>>3];i=i+1|0}else{r=t+(r<<3)|0;b[r>>3]=+b[r>>3]+ +b[l+(f<<3)>>3]}f=f+1|0}a[w+(c<<2)>>2]=i;f=c}}case 2:{s=a[A+28>>2]|0;c=a[e+28>>2]|0;l=a[g+28>>2]|0;f=0;i=0;while(1){if((f|0)>=(k|0))break A;t=f+1|0;r=o+(t<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;e=d+(A<<2)|0;a[h+(a[e>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[e>>2];e=A<<1;n=i<<1;b[l+(n<<3)>>3]=+b[s+(e<<3)>>3];b[l+((n|1)<<3)>>3]=+b[s+((e|1)<<3)>>3];A=A+1|0;i=i+1|0}e=B+(t<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;A=f<<1;r=i<<1;b[l+(r<<3)>>3]=+b[c+(A<<3)>>3];b[l+((r|1)<<3)>>3]=+b[c+((A|1)<<3)>>3];i=i+1|0}else{A=f<<1;r=r<<1;E=l+(r<<3)|0;b[E>>3]=+b[E>>3]+ +b[c+(A<<3)>>3];r=l+((r|1)<<3)|0;b[r>>3]=+b[r>>3]+ +b[c+((A|1)<<3)>>3]}f=f+1|0}a[w+(t<<2)>>2]=i;f=t}}case 4:{s=a[A+28>>2]|0;l=a[e+28>>2]|0;t=a[g+28>>2]|0;f=0;i=0;while(1){if((f|0)>=(k|0))break A;c=f+1|0;r=o+(c<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;E=d+(A<<2)|0;a[h+(a[E>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[E>>2];a[t+(i<<2)>>2]=a[s+(A<<2)>>2];A=A+1|0;i=i+1|0}e=B+(c<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;a[t+(i<<2)>>2]=a[l+(f<<2)>>2];i=i+1|0}else{E=t+(r<<2)|0;a[E>>2]=(a[E>>2]|0)+(a[l+(f<<2)>>2]|0)}f=f+1|0}a[w+(c<<2)>>2]=i;f=c}}case 8:{i=0;f=0;while(1){if((f|0)>=(k|0))break A;l=f+1|0;r=o+(l<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;E=d+(A<<2)|0;a[h+(a[E>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[E>>2];i=i+1|0;A=A+1|0}e=B+(l<<2)|0;n=w+(f<<2)|0;r=a[B+(f<<2)>>2]|0;while(1){if((r|0)>=(a[e>>2]|0))break;A=a[v+(r<<2)>>2]|0;if((a[h+(A<<2)>>2]|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;i=i+1|0}r=r+1|0}a[w+(l<<2)>>2]=i;f=l}}default:i=0}}while(0);a[g+8>>2]=i;L2(h);return g|0}return 0}function wq(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;A=nq(A,e,r,f,a)|0;if((i|0)>0)lq(A,i)|0;return A|0}function uq(A,e){A=A|0;e=e|0;var i=0;if(!(cq(A,e)|0)){e=iq(A)|0;if(!e)e=0;else{i=sq(A,e)|0;rq(e);e=i+36|0;a[e>>2]=a[e>>2]|3;e=i;i=5}}else{e=bq(A)|0;i=5}if((i|0)==5)e=kq(e)|0;return e|0}function kq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;A:do{if(!A)A=0;else{c=a[A+20>>2]|0;s=a[A+24>>2]|0;i=a[c>>2]|0;e:do{switch(a[A+16>>2]|0){case 1:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;b[t+(e<<3)>>3]=+b[t+(i<<3)>>3];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 2:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;w=i<<1;r=e<<1;b[t+(r<<3)>>3]=+b[t+(w<<3)>>3];b[t+((r|1)<<3)>>3]=+b[t+((w|1)<<3)>>3];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 4:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;a[t+(e<<2)>>2]=a[t+(i<<2)>>2];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 8:{l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}default:{A=0;break A}}}while(0);a[A+8>>2]=e}}while(0);return A|0}function oq(A){A=A|0;if((a[A+32>>2]|0)==2)return hq(a[A+8>>2]|0,a[A>>2]|0,a[A+4>>2]|0,a[A+20>>2]|0,a[A+24>>2]|0,a[A+28>>2]|0,a[A+16>>2]|0,a[A+40>>2]|0)|0;else vA(95100,94943,803,95126);return 0}function hq(A,e,i,r,f,a,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;return Ws(A,e,i,r,f,a,n,l,1)|0}function dq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=A+72|0;b=A+352|0;s=A+356|0;w=A+360|0;t=0;A:while(1){l=i-e|0;if((l|0)<=0){i=-1;break}switch(r[c+(n[e>>0]|0)>>0]|0){case 8:case 1:case 0:{u=16;break A}case 5:{if((l|0)<2){i=-2;break A}if(m5[a[b>>2]&127](A,e)|0){u=6;break A}l=t;e=e+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}if(m5[a[s>>2]&127](A,e)|0){u=10;break A}l=t;e=e+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}if(m5[a[w>>2]&127](A,e)|0){u=14;break A}l=t;e=e+4|0;t=l;continue A}case 2:{l=e+1|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=33){k=t;e=l;t=k;continue A}l=e+2|0;if((i-l|0)<=0){i=-1;break A}k=(r[l>>0]|0)==91;t=t+(k&1)|0;e=k?e+3|0:l;continue A}case 4:{l=e+1|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=93){k=t;e=l;t=k;continue A}l=e+2|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=62){k=t;e=l;t=k;continue A}e=e+3|0;if(!t){u=26;break A}t=t+-1|0;continue A}default:{k=t;e=e+1|0;t=k;continue A}}}if((u|0)==6){a[f>>2]=e;i=0}else if((u|0)==10){a[f>>2]=e;i=0}else if((u|0)==14){a[f>>2]=e;i=0}else if((u|0)==16){a[f>>2]=e;i=0}else if((u|0)==26){a[f>>2]=e;i=42}return i|0}function Bq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>0){s=A+72|0;t=e;A:while(1){if((b-t|0)<=0){c=24;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 3:{c=8;break A}case 2:{c=11;break A}case 10:{c=12;break A}case 9:{c=15;break A}case 21:{c=19;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=1}t=t+l|0}if((c|0)==8)if((t|0)==(e|0)){l=yq(A,e+1|0,i,f)|0;break}else{a[f>>2]=t;l=6;break}else if((c|0)==11){a[f>>2]=t;l=0;break}else if((c|0)==12)if((t|0)==(e|0)){a[f>>2]=e+1;l=7;break}else{a[f>>2]=t;l=6;break}else if((c|0)==15){if((t|0)!=(e|0)){a[f>>2]=t;l=6;break}l=e+1|0;if((b-l|0)<=0){l=-3;break}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break}else if((c|0)==19)if((t|0)==(e|0)){a[f>>2]=e+1;l=39;break}else{a[f>>2]=t;l=6;break}else if((c|0)==24){a[f>>2]=t;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function vq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>0){s=A+72|0;t=e;A:while(1){if((b-t|0)<=0){c=23;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 3:{c=8;break A}case 30:{c=11;break A}case 10:{c=14;break A}case 9:{c=17;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=1}t=t+l|0}if((c|0)==8)if((t|0)==(e|0)){l=yq(A,e+1|0,i,f)|0;break}else{a[f>>2]=t;l=6;break}else if((c|0)==11)if((t|0)==(e|0)){l=zq(A,e+1|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=t;l=6;break}else if((c|0)==14)if((t|0)==(e|0)){a[f>>2]=e+1;l=7;break}else{a[f>>2]=t;l=6;break}else if((c|0)==17){if((t|0)!=(e|0)){a[f>>2]=t;l=6;break}l=e+1|0;if((b-l|0)<=0){l=-3;break}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break}else if((c|0)==23){a[f>>2]=t;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function gq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=6;break}if((a-A|0)<1){A=0;break}if((r[A>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+1|0}if((n|0)==6)A=(A|0)==(i|0)&1;return A|0}function Eq(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A=e;A:while(1){switch(r[f+(n[A>>0]|0)>>0]|0){case 5:{i=2;break}case 6:{i=3;break}case 7:{i=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{i=1;break}default:break A}A=A+i|0}return A-e|0}function Cq(A,e){A=A|0;e=e|0;A=A+72|0;A:while(1){switch(r[A+(n[e>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break A}e=e+1|0}return e|0}function Iq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;s=A+72|0;c=0;b=0;A=1;A:while(1){l=e+1|0;t=r[l>>0]|0;do{switch(r[s+(t&255)>>0]|0){case 5:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+2|0;b=l;c=t;continue A}case 6:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+3|0;b=l;c=t;continue A}case 7:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+4|0;b=l;c=t;continue A}case 24:case 22:case 29:{if(A|0){k=A;u=b;t=c;e=l;A=k;b=u;c=t;continue A}if((b|0)>=(i|0)){u=b;k=c;A=1;e=l;b=u;c=k;continue A}a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;u=b;k=c;A=1;e=l;b=u;c=k;continue A}case 12:{if((A|0)!=2){if((b|0)>=(i|0)){k=b;c=12;A=2;e=l;b=k;continue A}a[f+(b<<4)+4>>2]=e+2;k=b;c=12;A=2;e=l;b=k;continue A}if((c|0)!=12){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if((b|0)<(i|0))a[f+(b<<4)+8>>2]=l;c=12;b=b+1|0;A=0;e=l;continue A}case 13:{if((A|0)!=2){if((b|0)>=(i|0)){k=b;c=13;A=2;e=l;b=k;continue A}a[f+(b<<4)+4>>2]=e+2;k=b;c=13;A=2;e=l;b=k;continue A}if((c|0)!=13){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if((b|0)<(i|0))a[f+(b<<4)+8>>2]=l;c=13;b=b+1|0;A=0;e=l;continue A}case 3:{if((b|0)>=(i|0)){t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}r[f+(b<<4)+12>>0]=0;t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}case 21:{switch(A|0){case 1:{u=b;k=c;A=0;e=l;b=u;c=k;continue A}case 2:break;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}if((b|0)>=(i|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}A=f+(b<<4)+12|0;if(!(r[A>>0]|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if(((t<<24>>24==32?(l|0)!=(a[f+(b<<4)+4>>2]|0):0)?(w=r[e+2>>0]|0,w<<24>>24!=32):0)?(c|0)!=(n[s+(w&255)>>0]|0):0){u=b;k=c;A=2;e=l;b=u;c=k;continue A}r[A>>0]=0;u=b;k=c;A=2;e=l;b=u;c=k;continue A}case 10:case 9:{switch(A|0){case 1:{u=b;k=c;A=0;e=l;b=u;c=k;continue A}case 2:break;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}if((b|0)>=(i|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}r[f+(b<<4)+12>>0]=0;u=b;k=c;A=2;e=l;b=u;c=k;continue A}case 17:case 11:if((A|0)==2){u=b;k=c;A=2;e=l;b=u;c=k;continue A}else break A;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}}while(0)}return b|0}function Zq(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+2|0;i=r[A>>0]|0;A:do{if(i<<24>>24==120){i=e+3|0;A=0;while(1){e:while(1){f=r[i>>0]|0;e=f<<24>>24;if(f<<24>>24==59){f=14;break A}switch(e|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=7;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=8;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=9;break e}default:{}}i=i+1|0}if((f|0)==7){f=0;A=e+-48|A<<4}else if((f|0)==8){f=0;A=(A<<4)+-55+e|0}else if((f|0)==9){f=0;A=(A<<4)+-87+e|0}if((A|0)<1114112)i=i+1|0;else{A=-1;break}}}else{e=A;A=0;while(1){if(i<<24>>24==59){f=14;break A}A=(i<<24>>24)+-48+(A*10|0)|0;if((A|0)>=1114112){A=-1;break A}i=e+1|0;e=i;i=r[i>>0]|0}}}while(0);if((f|0)==14)A=gs(A)|0;return A|0}function Gq(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch(i-e|0){case 2:{if((r[e+1>>0]|0)==116){A=r[e>>0]|0;A=A<<24>>24==108?60:A<<24>>24==103?62:0}else f=14;break}case 3:{if(((r[e>>0]|0)==97?(r[e+1>>0]|0)==109:0)?(r[e+2>>0]|0)==112:0)A=38;else f=14;break}case 4:switch(r[e>>0]|0){case 113:{if((r[e+1>>0]|0)!=117){f=14;break A}if((r[e+2>>0]|0)!=111){f=14;break A}if((r[e+3>>0]|0)==116){A=34;break A}else{f=14;break A}}case 97:{if((r[e+1>>0]|0)!=112){f=14;break A}if((r[e+2>>0]|0)!=111){f=14;break A}if((r[e+3>>0]|0)==115){A=39;break A}else{f=14;break A}}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14)A=0;return A|0}function Qq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0;l=A+72|0;t=f+4|0;while(1){if((i-e|0)<=0)break;switch(r[l+(n[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:{a[t>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+1|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;A=e+1|0;if((i-A|0)>0)e=(r[l+(n[A>>0]|0)>>0]|0)==10?e+2|0:A;else e=A;a[t>>2]=-1;break}default:e=e+1|0}a[t>>2]=(a[t>>2]|0)+1}return}function mq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=i+-1|0;A=A+72|0;A:while(1){e=e+1|0;if((n-e|0)<=0){e=1;break}i=r[e>>0]|0;switch(r[A+(i&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(i<<24>>24==9){l=7;break A}else continue A;case 22:case 26:{if(i<<24>>24>=0)continue A;break}default:{}}switch(i<<24>>24|0){case 64:case 36:break;default:{l=7;break A}}}if((l|0)==7){a[f>>2]=e;e=0}return e|0}function Lq(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0;t=l;while(1){c=a[e>>2]|0;if((c|0)==(i|0)){A=0;break}b=n[c>>0]|0;A=a[f>>2]|0;if(!(b&128)){if((A|0)==(l|0)){A=2;break}a[e>>2]=c+1;c=r[c>>0]|0;b=a[f>>2]|0;a[f>>2]=b+1;r[b>>0]=c;continue}else{if((t-A|0)<2){A=2;break}a[f>>2]=A+1;r[A>>0]=b>>>6|192;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=b&63|128;a[e>>2]=(a[e>>2]|0)+1;continue}}return A|0}function Wq(A,e,i,r,l){A=A|0;e=e|0;i=i|0;r=r|0;l=l|0;var t=0,c=0;while(1){A=a[e>>2]|0;t=A>>>0>>0;c=a[r>>2]|0;if(!(t&c>>>0>>0))break;a[e>>2]=A+1;t=n[A>>0]|0;c=a[r>>2]|0;a[r>>2]=c+2;f[c>>1]=t}return((c|0)!=(l|0)|t^1?0:2)|0}function yq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;l=b-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{i=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=4;break}case 19:{i=Yq(A,e+1|0,i,f)|0;break A}default:{a[f>>2]=e;i=0;break A}}l=A+328|0;t=A+332|0;c=A+336|0;e=e+i|0;e:while(1){i=b-e|0;if((i|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=18;break e}case 18:{l=29;break e}case 27:case 26:case 25:case 24:case 22:{i=1;break}case 5:{if((i|0)<2){i=-2;break A}if(!(m5[a[l>>2]&127](A,e)|0)){l=21;break e}else i=2;break}case 6:{if((i|0)<3){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=24;break e}else i=3;break}case 7:{if((i|0)<4){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=27;break e}else i=4;break}default:{l=30;break e}}e=e+i|0}if((l|0)==18){a[f>>2]=e;i=0;break}else if((l|0)==21){a[f>>2]=e;i=0;break}else if((l|0)==24){a[f>>2]=e;i=0;break}else if((l|0)==27){a[f>>2]=e;i=0;break}else if((l|0)==29){a[f>>2]=e+1;i=9;break}else if((l|0)==30){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function zq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;e=e+l|0;e:while(1){l=i-e|0;if((l|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=18;break e}case 18:{l=29;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=21;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=24;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,e)|0)){l=27;break e}else l=4;break}default:{l=30;break e}}e=e+l|0}if((l|0)==18){a[f>>2]=e;i=0;break}else if((l|0)==21){a[f>>2]=e;i=0;break}else if((l|0)==24){a[f>>2]=e;i=0;break}else if((l|0)==27){a[f>>2]=e;i=0;break}else if((l|0)==29){a[f>>2]=e+1;i=28;break}else if((l|0)==30){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function Yq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0;t=i;A:do{if((t-e|0)>0){l=r[e>>0]|0;if(l<<24>>24==120){A=Dq(A,e+1|0,i,f)|0;break}i=A+72|0;if((r[i+(l&255)>>0]|0)!=25){a[f>>2]=e;A=0;break}e:while(1){A=e+1|0;if((t-A|0)<=0){A=-1;break A}switch(r[i+(n[A>>0]|0)>>0]|0){case 25:{e=A;break}case 18:{i=8;break e}default:{i=9;break e}}}if((i|0)==8){a[f>>2]=e+2;A=10;break}else if((i|0)==9){a[f>>2]=A;A=0;break}}else A=-1}while(0);return A|0}function Dq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0;A:do{if((i-e|0)>0){A=A+72|0;if((r[A+(n[e>>0]|0)>>0]&-2)<<24>>24!=24){a[f>>2]=e;i=0;break}e:while(1){l=e+1|0;if((i-l|0)<=0){i=-1;break A}switch(r[A+(n[l>>0]|0)>>0]|0){case 24:case 25:{e=l;break}case 18:{A=6;break e}default:{A=7;break e}}}if((A|0)==6){a[f>>2]=e+2;i=10;break}else if((A|0)==7){a[f>>2]=l;i=0;break}}else i=-1}while(0);return i|0}function Mq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;h=i;l=h-e|0;A:do{if((l|0)>0){o=A+72|0;switch(r[o+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;l=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){l=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=2;break}case 6:{if((l|0)<3){l=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=3;break}case 7:{if((l|0)<4){l=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=4;break}case 16:{l=e+1|0;if((h-l|0)<=0){l=-1;break A}switch(r[o+(n[l>>0]|0)>>0]|0){case 27:{l=Fq(A,e+2|0,i,f)|0;break A}case 20:{l=Vq(e+2|0,i,f)|0;break A}default:{a[f>>2]=l;l=0;break A}}}case 15:{l=Jq(A,e+1|0,i,f)|0;break A}case 17:{l=Nq(A,e+1|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}c=A+328|0;b=A+332|0;s=A+336|0;w=A+340|0;u=A+344|0;k=A+348|0;t=0;l=e+l|0;e:while(1){e=h-l|0;if((e|0)<=0){l=-1;break A}i:do{switch(r[o+(n[l>>0]|0)>>0]|0){case 29:{d=24;break e}case 10:case 9:case 21:{d=50;break e}case 11:{d=64;break e}case 17:break e;case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){l=-2;break A}if(!(m5[a[c>>2]&127](A,l)|0)){d=27;break e}else e=2;break}case 6:{if((e|0)<3){l=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){d=30;break e}else e=3;break}case 7:{if((e|0)<4){l=-2;break A}if(!(m5[a[s>>2]&127](A,l)|0)){d=33;break e}else e=4;break}case 23:{if(t|0){d=35;break e}t=l+1|0;e=h-t|0;if((e|0)<=0){l=-1;break A}switch(r[o+(n[t>>0]|0)>>0]|0){case 29:{d=38;break e}case 24:case 22:{t=1;e=2;break i}case 5:{if((e|0)<2){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){d=42;break e}else{t=1;e=3;break i}}case 6:{if((e|0)<3){l=-2;break A}if(!(m5[a[u>>2]&127](A,t)|0)){d=45;break e}else{t=1;e=4;break i}}case 7:{if((e|0)<4){l=-2;break A}if(!(m5[a[k>>2]&127](A,t)|0)){d=48;break e}else{t=1;e=5;break i}}default:{d=49;break e}}}default:{d=69;break e}}}while(0);l=l+e|0}e:switch(d|0){case 24:{a[f>>2]=l;l=0;break A}case 27:{a[f>>2]=l;l=0;break A}case 30:{a[f>>2]=l;l=0;break A}case 33:{a[f>>2]=l;l=0;break A}case 35:{a[f>>2]=l;l=0;break A}case 38:{a[f>>2]=t;l=0;break A}case 42:{a[f>>2]=t;l=0;break A}case 45:{a[f>>2]=t;l=0;break A}case 48:{a[f>>2]=t;l=0;break A}case 49:{a[f>>2]=t;l=0;break A}case 50:{i:while(1){d=0;t=l+1|0;e=h-t|0;if((e|0)<=0){l=-1;break A}switch(r[o+(n[t>>0]|0)>>0]|0){case 11:{l=t;d=64;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;d=50;break}case 29:{d=52;break i}case 24:case 22:{t=2;break i}case 5:{d=53;break i}case 6:{d=56;break i}case 7:{d=59;break i}default:{d=62;break i}}}if((d|0)==52){a[f>>2]=t;l=0;break A}else if((d|0)==53){if((e|0)<2){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=3}else if((d|0)==56){if((e|0)<3){l=-2;break A}if(!(m5[a[u>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=4}else if((d|0)==59){if((e|0)<4){l=-2;break A}if(!(m5[a[k>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=5}else if((d|0)==62){a[f>>2]=t;l=0;break A}l=Xq(A,l+t|0,i,f)|0;break A}case 69:{a[f>>2]=l;l=0;break A}}if((d|0)==64){a[f>>2]=l+1;l=2;break}t=l+1|0;if((h-t|0)>0)if((r[t>>0]|0)==62){a[f>>2]=l+2;l=4;break}else{a[f>>2]=t;l=0;break}else l=-1}else l=-1}while(0);return l|0}function Fq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;A:do{if((i-e|0)>0){if((r[e>>0]|0)!=45){a[f>>2]=e;i=0;break}l=A+72|0;t=A+352|0;c=A+356|0;b=A+360|0;s=e+1|0;e:while(1){e=i-s|0;if((e|0)<=0){i=-1;break A}switch(r[l+(n[s>>0]|0)>>0]|0){case 8:case 1:case 0:{e=19;break e}case 5:{if((e|0)<2){i=-2;break A}if(m5[a[t>>2]&127](A,s)|0){e=9;break e}s=s+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}if(m5[a[c>>2]&127](A,s)|0){e=13;break e}s=s+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}if(m5[a[b>>2]&127](A,s)|0){e=17;break e}s=s+4|0;continue e}case 27:{e=s+1|0;if((i-e|0)<=0){i=-1;break A}if((r[e>>0]|0)==45){e=22;break e}else{s=e;continue e}}default:{s=s+1|0;continue e}}}if((e|0)==9){a[f>>2]=s;i=0;break}else if((e|0)==13){a[f>>2]=s;i=0;break}else if((e|0)==17){a[f>>2]=s;i=0;break}else if((e|0)==19){a[f>>2]=s;i=0;break}else if((e|0)==22){e=s+2|0;if((i-e|0)<=0){i=-1;break}if((r[e>>0]|0)==62){a[f>>2]=s+3;i=13;break}else{a[f>>2]=e;i=0;break}}}else i=-1}while(0);return i|0}function Vq(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>5){e=0;while(1){if((e|0)>=6){e=8;break}if((r[A>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+1|0}a[i>>2]=A}else e=-1;return e|0}function Jq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;i=u-e|0;A:do{if((i|0)>0){w=A+72|0;switch(r[w+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{i=1;break}case 5:{if((i|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=2;break}case 6:{if((i|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=3;break}case 7:{if((i|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;i=e+i|0;e:while(1){l=u-i|0;if((l|0)<=0){i=-1;break A}switch(r[w+(n[i>>0]|0)>>0]|0){case 29:{s=17;break e}case 10:case 9:case 21:{s=28;break e}case 15:{s=50;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,i)|0)){s=20;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,i)|0)){s=23;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,i)|0)){s=26;break e}else l=4;break}default:break e}i=i+l|0}if((s|0)==17){a[f>>2]=i;i=0;break}else if((s|0)==20){a[f>>2]=i;i=0;break}else if((s|0)==23){a[f>>2]=i;i=0;break}else if((s|0)==26){a[f>>2]=i;i=0;break}else if((s|0)==28){if(!(Rq(e,i,o)|0)){a[f>>2]=i;i=0;break}t=A+352|0;c=A+356|0;b=A+360|0;l=i+1|0;e:while(1){i=u-l|0;if((i|0)<=0){i=-1;break A}switch(r[w+(n[l>>0]|0)>>0]|0){case 8:case 1:case 0:{s=45;break e}case 5:{if((i|0)<2){i=-2;break A}if(m5[a[t>>2]&127](A,l)|0){s=35;break e}l=l+2|0;continue e}case 6:{if((i|0)<3){i=-2;break A}if(m5[a[c>>2]&127](A,l)|0){s=39;break e}l=l+3|0;continue e}case 7:{if((i|0)<4){i=-2;break A}if(m5[a[b>>2]&127](A,l)|0){s=43;break e}l=l+4|0;continue e}case 15:{i=l+1|0;if((u-i|0)<=0){i=-1;break A}if((r[i>>0]|0)==62){s=48;break e}else{l=i;continue e}}default:{l=l+1|0;continue e}}}if((s|0)==35){a[f>>2]=l;i=0;break}else if((s|0)==39){a[f>>2]=l;i=0;break}else if((s|0)==43){a[f>>2]=l;i=0;break}else if((s|0)==45){a[f>>2]=l;i=0;break}else if((s|0)==48){a[f>>2]=l+2;i=a[o>>2]|0;break}}else if((s|0)==50){if(!(Rq(e,i,o)|0)){a[f>>2]=i;i=0;break}l=i+1|0;if((u-l|0)<=0){i=-1;break}if((r[l>>0]|0)==62){a[f>>2]=i+2;i=a[o>>2]|0;break}else i=l}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function Nq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;l=e+l|0;e:while(1){e=i-l|0;if((e|0)<=0){i=-1;break A}switch(r[s+(n[l>>0]|0)>>0]|0){case 29:{t=17;break e}case 10:case 9:case 21:{t=27;break e}case 11:{t=32;break e}case 23:case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,l)|0)){t=20;break e}else e=2;break}case 6:{if((e|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,l)|0)){t=23;break e}else e=3;break}case 7:{if((e|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){t=26;break e}else e=4;break}default:{t=33;break e}}l=l+e|0}if((t|0)==17){a[f>>2]=l;i=0;break}else if((t|0)==20){a[f>>2]=l;i=0;break}else if((t|0)==23){a[f>>2]=l;i=0;break}else if((t|0)==26){a[f>>2]=l;i=0;break}else if((t|0)==27){e:while(1){e=l+1|0;if((i-e|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 10:case 9:case 21:{l=e;t=27;break}case 11:{t=29;break e}default:{t=30;break e}}}if((t|0)==29){a[f>>2]=l+2;i=5;break}else if((t|0)==30){a[f>>2]=e;i=0;break}}else if((t|0)==32){a[f>>2]=l+1;i=5;break}else if((t|0)==33){a[f>>2]=l;i=0;break}}else i=-1}while(0);return i|0}function Xq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;E=Z;a[E>>2]=e;C=i;d=A+72|0;B=A+328|0;v=A+332|0;g=A+336|0;b=A+340|0;s=A+344|0;w=A+348|0;u=A+352|0;o=A+356|0;h=A+360|0;t=0;A:while(1){l=C-e|0;if((l|0)<=0){e=-1;break}e:do{switch(r[d+(n[e>>0]|0)>>0]|0){case 29:{I=4;break A}case 27:case 26:case 25:case 24:case 22:{l=e+1|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 5:{if((l|0)<2){e=-2;break A}if(!(m5[a[B>>2]&127](A,e)|0)){I=8;break A}l=e+2|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 6:{if((l|0)<3){e=-2;break A}if(!(m5[a[v>>2]&127](A,e)|0)){I=12;break A}l=e+3|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 7:{if((l|0)<4){e=-2;break A}if(!(m5[a[g>>2]&127](A,e)|0)){I=16;break A}l=e+4|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 23:{if(t|0){I=19;break A}l=e+1|0;a[E>>2]=l;t=C-l|0;if((t|0)<=0){e=-1;break A}switch(r[d+(n[l>>0]|0)>>0]|0){case 29:{I=22;break A}case 24:case 22:{c=e+2|0;a[E>>2]=c;t=1;e=c;continue A}case 5:{if((t|0)<2){e=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){I=26;break A}c=e+3|0;a[E>>2]=c;t=1;e=c;continue A}case 6:{if((t|0)<3){e=-2;break A}if(!(m5[a[s>>2]&127](A,l)|0)){I=30;break A}c=e+4|0;a[E>>2]=c;t=1;e=c;continue A}case 7:{if((t|0)<4){e=-2;break A}if(!(m5[a[w>>2]&127](A,l)|0)){I=34;break A}c=e+5|0;a[E>>2]=c;t=1;e=c;continue A}default:{I=36;break A}}}case 10:case 9:case 21:while(1){e=e+1|0;a[E>>2]=e;if((C-e|0)<=0){e=-1;break A}switch(r[d+(n[e>>0]|0)>>0]|0){case 14:break e;case 9:case 10:case 21:break;default:{I=39;break A}}}case 14:break;default:{I=92;break A}}}while(0);while(1){l=e+1|0;a[E>>2]=l;if((C-l|0)<=0){e=-1;break A}c=r[d+(n[l>>0]|0)>>0]|0;if((c|1)<<24>>24==13)break;switch(c<<24>>24){case 9:case 10:case 21:{e=l;break}default:{I=43;break A}}}e=e+2|0;a[E>>2]=e;e:while(1){l=C-e|0;if((l|0)<=0){e=-1;break A}t=r[d+(n[e>>0]|0)>>0]|0;if(t<<24>>24==c<<24>>24)break;switch(t<<24>>24){case 8:case 1:case 0:{I=60;break A}case 2:{I=65;break A}case 5:{if((l|0)<2){e=-2;break A}if(m5[a[u>>2]&127](A,e)|0){I=50;break A}t=e+2|0;a[E>>2]=t;e=t;continue e}case 6:{if((l|0)<3){e=-2;break A}if(m5[a[o>>2]&127](A,e)|0){I=54;break A}t=e+3|0;a[E>>2]=t;e=t;continue e}case 7:{if((l|0)<4){e=-2;break A}if(m5[a[h>>2]&127](A,e)|0){I=58;break A}t=e+4|0;a[E>>2]=t;e=t;continue e}case 3:{e=yq(A,e+1|0,i,E)|0;if((e|0)<1){I=63;break A}e=a[E>>2]|0;continue e}default:{t=e+1|0;a[E>>2]=t;e=t;continue e}}}l=e+1|0;a[E>>2]=l;if((C-l|0)<=0){e=-1;break}switch(r[d+(n[l>>0]|0)>>0]|0){case 11:{I=86;break A}case 17:{I=87;break A}case 10:case 9:case 21:{e=l;break}default:{I=69;break A}}e:while(1){l=e+1|0;a[E>>2]=l;t=C-l|0;if((t|0)<=0){e=-1;break A}switch(r[d+(n[l>>0]|0)>>0]|0){case 29:{I=72;break A}case 11:{I=86;break A}case 17:{I=87;break A}case 10:case 9:case 21:{e=l;break}case 24:case 22:{I=73;break e}case 5:{I=74;break e}case 6:{I=78;break e}case 7:{I=82;break e}default:{I=91;break A}}}if((I|0)==73){I=0;e=e+2|0;a[E>>2]=e;t=0;continue}else if((I|0)==74){I=0;if((t|0)<2){e=-2;break}if(!(m5[a[b>>2]&127](A,l)|0)){I=76;break}e=e+3|0;a[E>>2]=e;t=0;continue}else if((I|0)==78){I=0;if((t|0)<3){e=-2;break}if(!(m5[a[s>>2]&127](A,l)|0)){I=80;break}e=e+4|0;a[E>>2]=e;t=0;continue}else if((I|0)==82){I=0;if((t|0)<4){e=-2;break}if(!(m5[a[w>>2]&127](A,l)|0)){I=84;break}e=e+5|0;a[E>>2]=e;t=0;continue}}switch(I|0){case 4:{a[f>>2]=e;e=0;break}case 8:{a[f>>2]=e;e=0;break}case 12:{a[f>>2]=e;e=0;break}case 16:{a[f>>2]=e;e=0;break}case 19:{a[f>>2]=e;e=0;break}case 22:{a[f>>2]=l;e=0;break}case 26:{a[f>>2]=l;e=0;break}case 30:{a[f>>2]=l;e=0;break}case 34:{a[f>>2]=l;e=0;break}case 36:{a[f>>2]=l;e=0;break}case 39:{a[f>>2]=e;e=0;break}case 43:{a[f>>2]=l;e=0;break}case 50:{a[f>>2]=e;e=0;break}case 54:{a[f>>2]=e;e=0;break}case 58:{a[f>>2]=e;e=0;break}case 60:{a[f>>2]=e;e=0;break}case 63:{if(!e){a[f>>2]=a[E>>2];e=0}break}case 65:{a[f>>2]=e;e=0;break}case 69:{a[f>>2]=l;e=0;break}case 72:{a[f>>2]=l;e=0;break}case 76:{a[f>>2]=l;e=0;break}case 80:{a[f>>2]=l;e=0;break}case 84:{a[f>>2]=l;e=0;break}case 86:{a[f>>2]=e+2;e=1;break}case 87:{e=l+1|0;a[E>>2]=e;if((C-e|0)>0)if((r[e>>0]|0)==62){a[f>>2]=l+2;e=3;break}else{a[f>>2]=e;e=0;break}else e=-1;break}case 91:{a[f>>2]=l;e=0;break}case 92:{a[f>>2]=e;e=0;break}}k=Z;return e|0}function Rq(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==3){switch(r[A>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}switch(r[A+1>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}switch(r[A+2>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}while(0);return e|0}function Hq(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;b=e+72|0;s=e+352|0;w=e+356|0;u=e+360|0;A:while(1){t=f-i|0;if((t|0)<=0){f=-1;break}c=r[b+(n[i>>0]|0)>>0]|0;switch(c<<24>>24){case 8:case 1:case 0:{k=16;break A}case 5:{if((t|0)<2){f=-2;break A}if(m5[a[s>>2]&127](e,i)|0){k=6;break A}i=i+2|0;continue A}case 6:{if((t|0)<3){f=-2;break A}if(m5[a[w>>2]&127](e,i)|0){k=10;break A}i=i+3|0;continue A}case 7:{if((t|0)<4){f=-2;break A}if(m5[a[u>>2]&127](e,i)|0){k=14;break A}i=i+4|0;continue A}case 13:case 12:{i=i+1|0;if((c&255|0)==(A|0)){k=18;break A}else continue A}default:{i=i+1|0;continue A}}}A:do{if((k|0)==6){a[l>>2]=i;f=0}else if((k|0)==10){a[l>>2]=i;f=0}else if((k|0)==14){a[l>>2]=i;f=0}else if((k|0)==16){a[l>>2]=i;f=0}else if((k|0)==18)if((f-i|0)>0){a[l>>2]=i;switch(r[b+(n[i>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break A}default:{}}f=0}else f=-27}while(0);return f|0}function pq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;l=i;A:do{if((l-e|0)>0){t=A+72|0;switch(r[t+(n[e>>0]|0)>>0]|0){case 27:{A=Fq(A,e+1|0,i,f)|0;break A}case 20:{a[f>>2]=e+1;A=33;break A}case 24:case 22:{e:while(1){A=e+1|0;i=l-A|0;if((i|0)<=0){A=-1;break A}switch(r[t+(n[A>>0]|0)>>0]|0){case 24:case 22:{e=A;break}case 30:{c=8;break e}case 10:case 9:case 21:break e;default:{c=12;break e}}}if((c|0)==12){a[f>>2]=A;A=0;break A}e:do{if((c|0)==8){if((i|0)<=1){A=-1;break A}switch(r[t+(n[e+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=A;A=0;break A}}while(0);a[f>>2]=A;A=16;break A}default:{a[f>>2]=e;A=0;break A}}}else A=-1}while(0);return A|0}function Uq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;e=e+l|0;e:while(1){l=i-e|0;if((l|0)<=0){i=-20;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=17;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=28;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=20;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=23;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,e)|0)){l=26;break e}else l=4;break}default:{l=29;break e}}e=e+l|0}if((l|0)==17){a[f>>2]=e;i=0;break}else if((l|0)==20){a[f>>2]=e;i=0;break}else if((l|0)==23){a[f>>2]=e;i=0;break}else if((l|0)==26){a[f>>2]=e;i=0;break}else if((l|0)==28){a[f>>2]=e;i=20;break}else if((l|0)==29){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function xq(){return 58220}function Tq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=k;k=k+16|0;n=t;a[n>>2]=i;l=a[e>>2]|0;A=f-(a[r>>2]|0)|0;if((i-l|0)>(A|0)){A=l+A|0;a[n>>2]=A;f=1}else{f=0;A=i}hs(l,n);l=a[n>>2]|0;i=a[e>>2]|0;n=l-i|0;y6(a[r>>2]|0,i|0,n|0)|0;a[e>>2]=(a[e>>2]|0)+n;a[r>>2]=(a[r>>2]|0)+n;k=t;return(f?2:l>>>0>>0&1)|0}function jq(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=A+72|0;b=i;s=l;w=a[e>>2]|0;u=a[n>>2]|0;A:while(1){A=w>>>0>>0;if(!(u>>>0>>0&A)){k=12;break}A=r[w>>0]|0;t=A&255;switch(r[c+t>>0]|0){case 5:{if((b-w|0)<2){A=1;break A}f[u>>1]=(A&31)<<6|r[w+1>>0]&63;w=w+2|0;u=u+2|0;continue A}case 6:{if((b-w|0)<3){A=1;break A}f[u>>1]=(r[w+1>>0]&63)<<6|t<<12|r[w+2>>0]&63;w=w+3|0;u=u+2|0;continue A}case 7:{if((s-u|0)<4){A=2;break A}if((b-w|0)<4){A=1;break A}t=((r[w+1>>0]&63)<<12|(A&7)<<18|(r[w+2>>0]&63)<<6|r[w+3>>0]&63)+-65536|0;f[u>>1]=t>>>10|55296;f[u+2>>1]=t&1023|56320;w=w+4|0;u=u+4|0;continue A}default:{f[u>>1]=A<<24>>24;w=w+1|0;u=u+2|0;continue A}}}if((k|0)==12)A=A?2:0;a[e>>2]=w;a[n>>2]=u;return A|0}function Sq(A,e){A=A|0;e=e|0;A=n[e>>0]|0;e=n[e+1>>0]|0;return 1<<(e&31)&a[56940+(((n[144044+(A>>>2&7)>>0]|0)<<3|A<<1&6|e>>>5&1)<<2)>>2]|0}function Pq(A,e){A=A|0;e=e|0;var i=0;i=n[e+1>>0]|0;A=n[e+2>>0]|0;return 1<<(A&31)&a[56940+(((n[144044+(i>>>2&15|r[e>>0]<<4&255)>>0]|0)<<3|i<<1&6|A>>>5&1)<<2)>>2]|0}function Oq(A,e){A=A|0;e=e|0;return 0}function Kq(A,e){A=A|0;e=e|0;A=n[e>>0]|0;e=n[e+1>>0]|0;return 1<<(e&31)&a[56940+(((n[143788+(A>>>2&7)>>0]|0)<<3|A<<1&6|e>>>5&1)<<2)>>2]|0}function _q(A,e){A=A|0;e=e|0;var i=0;i=n[e+1>>0]|0;A=n[e+2>>0]|0;return 1<<(A&31)&a[56940+(((n[143788+(i>>>2&15|r[e>>0]<<4&255)>>0]|0)<<3|i<<1&6|A>>>5&1)<<2)>>2]|0}function qq(A,e){A=A|0;e=e|0;if((n[e>>0]|0)<194)return 1;else{e=n[e+1>>0]|0;return e>>>7^1|(e&192|0)==192|0}return 0}function $q(A,e){A=A|0;e=e|0;var i=0;A=r[e+2>>0]|0;do{if(A<<24>>24>-1)A=1;else{i=r[e>>0]|0;if(i<<24>>24==-17?(r[e+1>>0]|0)==-65:0)if((A&255)>189){A=1;break}else{A=191;e=-65}else{if((A&255)>191){A=1;break}e=r[e+1>>0]|0;A=e&255;if(i<<24>>24==-32){A=(e&255)<160|(A&192|0)==192;break}}A=(A&128|0)==0?1:i<<24>>24==-19?(e&255)>159:(A&192|0)==192}}while(0);return A&1|0}function A$(A,e){A=A|0;e=e|0;var i=0;i=n[e+3>>0]|0;do{if(!((i&128|0)==0|(i&192|0)==192)?(i=n[e+2>>0]|0,!((i&128|0)==0|(i&192|0)==192)):0){i=r[e>>0]|0;A=r[e+1>>0]|0;e=A&255;if(i<<24>>24==-16){A=(A&255)<144|(e&192|0)==192;break}else{A=(e&128|0)==0?1:i<<24>>24==-12?(A&255)>143:(e&192|0)==192;break}}else A=1}while(0);return A&1|0}function e$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){t=e;w=i-t|0;b=(w&1|0)==0;w=w&-2;s=(w|0)==0;w=b|s?i:e+w|0;if(b|s^1){i=r[e+1>>0]|0;if(!(i<<24>>24)){l=r[e>>0]|0;c=l;l=n[A+72+(l&255)>>0]|0}else{l=r[e>>0]|0;c=l;l=d$(i,l)|0}do{switch(l|0){case 12:{i=W$(12,A,e+2|0,w,f)|0;break A}case 13:{i=W$(13,A,e+2|0,w,f)|0;break A}case 2:{l=e+2|0;if((w-l|0)<=1){i=-1;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;switch(i|0){case 16:{i=y$(A,e+4|0,w,f)|0;break A}case 15:{i=G$(A,e+4|0,w,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;i=29;break A}default:{a[f>>2]=l;i=0;break A}}}case 9:{if((e+2|0)==(w|0)){a[f>>2]=w;i=-15;break A}else t=7;break}case 10:case 21:{t=7;break}case 30:{i=v$(A,e+2|0,w,f)|0;break A}case 35:{a[f>>2]=e+2;i=38;break A}case 20:{a[f>>2]=e+2;i=25;break A}case 4:{l=e+2|0;i=w-l|0;if((i|0)<=1){i=-26;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){if((i|0)<=3){i=-1;break A}if((r[e+5>>0]|0)==0?(r[e+4>>0]|0)==62:0){a[f>>2]=e+6;i=34;break A}}a[f>>2]=l;i=26;break A}case 31:{a[f>>2]=e+2;i=23;break A}case 32:{l=e+2|0;if((w-l|0)<=1){i=-24;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;switch(i|0){case 33:{a[f>>2]=e+4;i=36;break A}case 15:{a[f>>2]=e+4;i=35;break A}case 34:{a[f>>2]=e+4;i=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;i=24;break A}default:{a[f>>2]=l;i=0;break A}}}case 36:{a[f>>2]=e+2;i=21;break A}case 11:{a[f>>2]=e+2;i=17;break A}case 19:{i=z$(A,e+2|0,w,f)|0;break A}case 5:{if((w-t|0)<2){i=-2;break A}a[f>>2]=e;i=0;break A}case 6:{if((w-t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((w-t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 24:case 22:{i=18;t=61;break}case 23:case 27:case 26:case 25:{i=19;t=61;break}case 29:{t=i&255;l=c&255;i=l>>>5;l=1<<(l&31);if(!(l&a[56940+((i|n[143788+t>>0]<<3)<<2)>>2]))if(!(a[56940+((n[144044+t>>0]<<3|i)<<2)>>2]&l))t=64;else{i=19;t=61}else{i=18;t=61}break}default:t=64}}while(0);if((t|0)==7){b=w;A=A+72|0;c=e;e:while(1){t=c;c=c+2|0;if((b-c|0)<=1){t=28;break}i=r[t+3>>0]|0;l=r[c>>0]|0;if(!(i<<24>>24))i=n[A+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 21:continue e;case 9:break;default:{t=27;break e}}if((t+4|0)==(w|0)){t=27;break}}if((t|0)==27){a[f>>2]=c;i=15;break}else if((t|0)==28){a[f>>2]=c;i=15;break}}else if((t|0)==61){s=A+72|0;l=e+2|0;e:while(1){e=i&255;i:while(1){b=w-l|0;if((b|0)<=1){t=104;break e}t=r[l+1>>0]|0;c=r[l>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 5:{t=73;break e}case 6:{t=74;break e}case 7:{t=76;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{t=78;break e}case 34:{t=94;break e}case 33:{t=97;break e}case 15:{t=100;break e}case 29:{b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){t=71;break e}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{b=l+2|0;switch(e&63){case 41:{i=19;l=b;continue e}case 18:break i;default:{l=b;continue i}}}default:{t=103;break e}}l=l+2|0}A=w-b|0;if((A|0)<=1){i=-1;break A}i=r[l+3>>0]|0;t=r[b>>0]|0;if(!(i<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(i,t)|0;switch(c|0){case 5:{t=89;break e}case 6:{t=90;break e}case 7:{t=92;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(i&255)>>0]<<3)<<2)>>2])){t=87;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{i=19;l=b;continue e}}i=41;l=l+4|0}switch(t|0){case 71:{a[f>>2]=l;i=0;break A}case 73:{a[f>>2]=l;i=0;break A}case 74:{if((b|0)<3){i=-2;break A}a[f>>2]=l;i=0;break A}case 76:{if((b|0)<4){i=-2;break A}a[f>>2]=l;i=0;break A}case 78:{a[f>>2]=l;break A}case 87:{a[f>>2]=b;i=0;break A}case 89:{a[f>>2]=b;i=0;break A}case 90:{if((A|0)<3){i=-2;break A}a[f>>2]=b;i=0;break A}case 92:{if((A|0)<4){i=-2;break A}a[f>>2]=b;i=0;break A}case 94:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=32;break A}case 97:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=31;break A}case 100:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=30;break A}case 103:{a[f>>2]=l;i=0;break A}case 104:{i=0-i|0;break A}}}else if((t|0)==64){a[f>>2]=e;i=0;break}}else i=-1}else i=-4}while(0);return i|0}function i$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e+1>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e>>0]|0)>>0]|0;else i=d$(i,r[e>>0]|0)|0;do{switch(i|0){case 2:{i=C$(A,e+2|0,t,f)|0;break A}case 3:{i=B$(A,e+2|0,t,f)|0;break A}case 9:{l=e+2|0;if((t-l|0)<=1){i=-3;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 4:{l=e+2|0;if((t-l|0)<=1){i=-5;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-5;break A}if((r[e+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=i;i=0;break A}else i=t}else i=t;break}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:{l=e+2|0;i=t}}}while(0);c=A+72|0;A=l;e:while(1){e=i-A|0;if((e|0)<=1){l=52;break}l=r[A+1>>0]|0;t=r[A>>0]|0;if(!(l<<24>>24))l=n[c+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{l=50;break e}case 5:{A=A+2|0;continue e}case 6:{if((e|0)<3){l=38;break e}A=A+3|0;continue e}case 7:{if((e|0)<4){l=41;break e}A=A+4|0;continue e}case 4:{if((e|0)<=3){l=50;break e}l=A+2|0;if(r[A+3>>0]|0){A=l;continue e}if((r[l>>0]|0)!=93){A=l;continue e}if((e|0)<=5){l=50;break e}t=A+4|0;if(r[A+5>>0]|0){A=l;continue e}if((r[t>>0]|0)==62){l=49;break e}else{A=l;continue e}}default:{A=A+2|0;continue e}}}if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==41){a[f>>2]=A;i=6;break}else if((l|0)==49){a[f>>2]=t;i=0;break}else if((l|0)==50){a[f>>2]=A;i=6;break}else if((l|0)==52){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function r$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e+1>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e>>0]|0)>>0]|0;else i=d$(i,r[e>>0]|0)|0;switch(i|0){case 4:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-1;break A}if((r[e+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=e+6;i=40;break A}}break}case 9:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;t=i;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;t=i;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;t=i;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:l=e+2|0}c=A+72|0;A=l;e:while(1){e=t-A|0;if((e|0)<=1){l=40;break}i=r[A+1>>0]|0;l=r[A>>0]|0;if(!(i<<24>>24))i=n[c+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 4:{l=38;break e}case 6:{if((e|0)<3){l=35;break e}else i=3;break}case 7:{if((e|0)<4){l=37;break e}else i=4;break}default:i=2}A=A+i|0}if((l|0)==35){a[f>>2]=A;i=6;break}else if((l|0)==37){a[f>>2]=A;i=6;break}else if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==40){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function f$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i-e|0;b=(b&1|0)==0?i:e+(b&-2)|0;c=A+72|0;t=0;i=e;A:while(1){l=b-i|0;if((l|0)<=1){i=-1;break}A=r[i+1>>0]|0;e=r[i>>0]|0;if(!(A<<24>>24))A=n[c+(e&255)>>0]|0;else A=d$(A,e)|0;switch(A|0){case 8:case 1:case 0:{s=12;break A}case 5:{l=t;i=i+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}l=t;i=i+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}l=t;i=i+4|0;t=l;continue A}case 2:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[i+3>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=33){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[i+5>>0]|0){l=t;i=A;t=l;continue A}l=(r[A>>0]|0)==91;t=t+(l&1)|0;i=l?i+6|0:A;continue A}case 4:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[i+3>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=93){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[i+5>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=62){l=t;i=A;t=l;continue A}i=i+6|0;if(!t){s=26;break A}t=t+-1|0;continue A}default:{l=t;i=i+2|0;t=l;continue A}}}if((s|0)==12){a[f>>2]=i;i=0}else if((s|0)==26){a[f>>2]=i;i=42}return i|0}function a$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=30;break}l=r[c+1>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 2:{t=14;break A}case 10:{t=15;break A}case 9:{t=18;break A}case 21:{t=25;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=B$(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14){a[f>>2]=c;l=0;break}else if((t|0)==15)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==18){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==25)if((c|0)==(e|0)){a[f>>2]=e+2;l=39;break}else{a[f>>2]=c;l=6;break}else if((t|0)==30){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function n$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=29;break}l=r[c+1>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 30:{t=14;break A}case 10:{t=17;break A}case 9:{t=20;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=B$(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14)if((c|0)==(e|0)){l=v$(A,e+2|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=c;l=6;break}else if((t|0)==17)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==20){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==29){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function l$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=7;break}if((a-A|0)<2){A=0;break}if(r[A+1>>0]|0){A=0;break}if((r[A>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+2|0}if((n|0)==7)A=(A|0)==(i|0)&1;return A|0}function t$(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=A+72|0;f=e;A:while(1){A=r[f+1>>0]|0;i=r[f>>0]|0;if(!(A<<24>>24))A=n[a+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 5:{A=2;break}case 6:{A=3;break}case 7:{A=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{A=2;break}default:break A}f=f+A|0}return f-e|0}function c$(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A:while(1){A=r[e+1>>0]|0;i=r[e>>0]|0;if(!(A<<24>>24))A=n[f+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 21:case 9:case 10:break;default:break A}e=e+2|0}return e|0}function b$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=A+72|0;w=0;u=0;A=1;A:while(1){s=e+2|0;t=e+3|0;l=r[t>>0]|0;c=l<<24>>24==0;b=r[s>>0]|0;if(c)l=n[k+(b&255)>>0]|0;else l=d$(l,b)|0;do{switch(l|0){case 5:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 6:{if(A|0){c=A;b=u;s=w;e=t;A=c;u=b;w=s;continue A}if((u|0)>=(i|0)){b=u;s=w;A=1;e=t;u=b;w=s;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;b=u;s=w;A=1;e=t;u=b;w=s;continue A}case 7:{if(!A)if((u|0)<(i|0)){a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;A=1}else A=1;b=u;s=w;e=e+4|0;u=b;w=s;continue A}case 24:case 22:case 29:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 12:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=12;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=12;A=2;e=s;u=b;continue A}if((w|0)!=12){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=12;u=u+1|0;A=0;e=s;continue A}case 13:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=13;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=13;A=2;e=s;u=b;continue A}if((w|0)!=13){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=13;u=u+1|0;A=0;e=s;continue A}case 3:{if((u|0)>=(i|0)){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}case 21:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}t=f+(u<<4)+12|0;if(!(r[t>>0]|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}do{if(c&(s|0)!=(a[f+(u<<4)+4>>2]|0)&b<<24>>24==32){l=r[e+5>>0]|0;A=r[e+4>>0]|0;if(!(l<<24>>24)){if(A<<24>>24==32)break;A=n[k+(A&255)>>0]|0}else A=d$(l,A)|0;if((A|0)!=(w|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}}}while(0);r[t>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 10:case 9:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 17:case 11:if((A|0)==2){c=u;b=w;A=2;e=s;u=c;w=b;continue A}else break A;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}}while(0)}return u|0}function s$(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+4|0;A:do{if((r[e+5>>0]|0)==0?(r[A>>0]|0)==120:0){e=e+6|0;A=0;while(1){e:while(1){if(!(r[e+1>>0]|0)){i=r[e>>0]|0;if(i<<24>>24==59){f=17;break A}i=i<<24>>24;switch(i|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break e}default:{}}}e=e+2|0}if((f|0)==8){f=0;A=i+-48|A<<4}else if((f|0)==9){f=0;A=(A<<4)+-55+i|0}else if((f|0)==10){f=0;A=(A<<4)+-87+i|0}if((A|0)<1114112)e=e+2|0;else{A=-1;break}}}else{i=A;A=0;f=13}}while(0);A:do{if((f|0)==13)while(1){f=0;if(!(r[i+1>>0]|0)){e=r[i>>0]|0;if(e<<24>>24==59){f=17;break A}e=e<<24>>24}else e=-1;A=(A*10|0)+-48+e|0;if((A|0)>=1114112){A=-1;break}else{i=i+2|0;f=13}}}while(0);if((f|0)==17)A=gs(A)|0;return A|0}function w$(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch((i-e|0)/2|0|0){case 2:{if((r[e+3>>0]|0)==0?(r[e+2>>0]|0)==116:0){if(!(r[e+1>>0]|0))A=r[e>>0]|0;else A=-1;A=(A|0)==108?60:(A|0)==103?62:0}else f=27;break}case 3:{if((((((r[e+1>>0]|0)==0?(r[e>>0]|0)==97:0)?(r[e+3>>0]|0)==0:0)?(r[e+2>>0]|0)==109:0)?(r[e+5>>0]|0)==0:0)?(r[e+4>>0]|0)==112:0)A=38;else f=27;break}case 4:{if(!(r[e+1>>0]|0))switch(r[e>>0]|0){case 113:{if(r[e+3>>0]|0){f=27;break A}if((r[e+2>>0]|0)!=117){f=27;break A}if(r[e+5>>0]|0){f=27;break A}if((r[e+4>>0]|0)!=111){f=27;break A}if(r[e+7>>0]|0){f=27;break A}if((r[e+6>>0]|0)==116){A=34;break A}else{f=27;break A}}case 97:{if(r[e+3>>0]|0){f=27;break A}if((r[e+2>>0]|0)!=112){f=27;break A}if(r[e+5>>0]|0){f=27;break A}if((r[e+4>>0]|0)!=111){f=27;break A}if(r[e+7>>0]|0){f=27;break A}if((r[e+6>>0]|0)==115){A=39;break A}else{f=27;break A}}default:{f=27;break A}}else f=27;break}default:f=27}}while(0);if((f|0)==27)A=0;return A|0}function u$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=A+72|0;b=f+4|0;while(1){if((i-e|0)<=1)break;A=r[e+1>>0]|0;l=r[e>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{a[b>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+2|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;t=e+2|0;if((i-t|0)>1){A=r[e+3>>0]|0;l=r[t>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;e=(A|0)==10?e+4|0:t}else e=t;a[b>>2]=-1;break}default:e=e+2|0}a[b>>2]=(a[b>>2]|0)+1}return}function k$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i+-2|0;t=A+72|0;i=e;A:while(1){l=i+2|0;if((c-l|0)<=1){i=1;break}i=r[i+3>>0]|0;A=i<<24>>24==0;e=r[l>>0]|0;if(A)i=n[t+(e&255)>>0]|0;else i=d$(i,e)|0;switch(i|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:{i=l;continue A}case 21:if(A&e<<24>>24==9){b=12;break A}else{i=l;continue A}case 22:case 26:{if(!A){b=12;break A}if(e<<24>>24>=0){i=l;continue A}break}default:if(!A){b=12;break A}}switch(e<<24>>24|0){case 64:case 36:{i=l;break}default:{b=12;break A}}}if((b|0)==12){a[f>>2]=l;i=0}return i|0}function o$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[e>>2]|0;b=c+(i-c&-2)|0;s=b;w=l;A:while(1){if(c>>>0>=b>>>0){A=0;break}t=r[c>>0]|0;A=r[c+1>>0]|0;i=A&255;switch(A<<24>>24){case 0:{if(t<<24>>24>-1){A=a[f>>2]|0;if((A|0)==(l|0)){A=2;break A}a[f>>2]=A+1;r[A>>0]=t;A=c}else u=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{u=7;break}case-37:case-38:case-39:case-40:{A=a[f>>2]|0;if((w-A|0)<4){A=2;break A}if((s-c|0)<4){A=1;break A}k=t&255;t=(i<<2&12|k>>>6)+1|0;a[f>>2]=A+1;r[A>>0]=t>>>2|240;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>2&15|t<<4&48|128;A=c+2|0;t=n[A>>0]|0;i=(k<<4&48|t>>>6|r[c+3>>0]<<2&12|128)&255;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=i;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=t&63|128;break}default:{A=a[f>>2]|0;if((w-A|0)<3){A=2;break A}a[f>>2]=A+1;r[A>>0]=i>>>4|224;k=t&255;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2&60|128;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}}if((u|0)==7){u=0;A=a[f>>2]|0;if((w-A|0)<2){A=2;break}k=t&255;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2|192;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}c=A+2|0}a[e>>2]=c;return A|0}function h$(A,e,i,l,t){A=A|0;e=e|0;i=i|0;l=l|0;t=t|0;var c=0,b=0,s=0;c=a[e>>2]|0;s=i-c&-2;A=c+s|0;if((s|0)>(t-(a[l>>2]|0)|0)){b=A+-2|0;i=(r[b+1>>0]&-8)<<24>>24==-40;s=i&1;A=i?b:A}else s=0;i=c;while(1){c=i>>>0>>0;b=a[l>>2]|0;if(!(c&b>>>0>>0))break;c=((n[i+1>>0]|0)<<8|(n[i>>0]|0))&65535;a[l>>2]=b+2;f[b>>1]=c;b=(a[e>>2]|0)+2|0;a[e>>2]=b;i=b}return((b|0)!=(t|0)|c^1?s:2)|0}function d$(A,e){A=A|0;e=e|0;var i=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((e&255)>253)A=0;else i=4;break}default:i=4}if((i|0)==4)A=29;return A|0}function B$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=i;c=s-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;A=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;A=0;break A}case 6:{if((c|0)<3){A=-2;break A}a[f>>2]=e;A=0;break A}case 7:{if((c|0)<4){A=-2;break A}a[f>>2]=e;A=0;break A}case 19:{A=g$(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;A=0;break A}}b=A+72|0;c=e;e:while(1){t=c+2|0;e=s-t|0;if((e|0)<=1){A=-1;break A}A=r[c+3>>0]|0;l=r[t>>0]|0;if(!(A<<24>>24))i=n[b+(l&255)>>0]|0;else i=d$(A,l)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{c=t;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=l&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(A&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else c=t}if((l|0)==22){a[f>>2]=t;A=0;break}else if((l|0)==23){a[f>>2]=t;A=0;break}else if((l|0)==24){if((e|0)<3){A=-2;break}a[f>>2]=t;A=0;break}else if((l|0)==26){if((e|0)<4){A=-2;break}a[f>>2]=t;A=0;break}else if((l|0)==28){a[f>>2]=c+4;A=9;break}else if((l|0)==29){a[f>>2]=t;A=0;break}}else A=-1}while(0);return A|0}function v$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){b=A+2|0;e=i-b|0;if((e|0)<=1){i=-1;break A}l=r[A+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:{A=b;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else A=b}if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){a[f>>2]=b;i=0;break}else if((l|0)==24){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==26){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==28){a[f>>2]=A+4;i=28;break}else if((l|0)==29){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function g$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;b=i;A:do{if((b-e|0)>1){t=r[e+1>>0]|0;l=r[e>>0]|0;do{if(!(t<<24>>24))if(l<<24>>24==120){l=E$(A,e+2|0,i,f)|0;break A}else{l=n[A+72+(l&255)>>0]|0;break}else l=d$(t,l)|0}while(0);if((l|0)!=25){a[f>>2]=e;l=0;break}c=A+72|0;A=e;e:while(1){t=A+2|0;if((b-t|0)<=1){l=-1;break A}l=r[A+3>>0]|0;i=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(i&255)>>0]|0;else l=d$(l,i)|0;switch(l|0){case 25:{A=t;break}case 18:{i=15;break e}default:{i=16;break e}}}if((i|0)==15){a[f>>2]=A+4;l=10;break}else if((i|0)==16){a[f>>2]=t;l=0;break}}else l=-1}while(0);return l|0}function E$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;A:do{if((i-e|0)>1){l=r[e+1>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e>>0]|0)>>0]|0;else l=d$(l,r[e>>0]|0)|0;if((l&-2|0)!=24){a[f>>2]=e;i=0;break}c=A+72|0;e:while(1){t=e+2|0;if((i-t|0)<=1){i=-1;break A}l=r[e+3>>0]|0;A=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 25:{e=t;break}case 18:{l=13;break e}default:{l=14;break e}}}if((l|0)==13){a[f>>2]=e+4;i=10;break}else if((l|0)==14){a[f>>2]=t;i=0;break}}else i=-1}while(0);return i|0}function C$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=i;c=k-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{w=t&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;l=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;l=0;break A}case 6:{if((c|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 7:{if((c|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 16:{t=e+2|0;if((k-t|0)<=1){l=-1;break A}l=r[e+3>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[t>>0]|0)>>0]|0;else l=d$(l,r[t>>0]|0)|0;switch(l|0){case 27:{l=I$(A,e+4|0,i,f)|0;break A}case 20:{l=Z$(e+4|0,i,f)|0;break A}default:{a[f>>2]=t;l=0;break A}}}case 15:{l=G$(A,e+2|0,i,f)|0;break A}case 17:{l=Q$(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}w=A+72|0;s=0;l=e+2|0;e:while(1){i:while(1){t=k-l|0;if((t|0)<=1){l=-1;break A}c=r[l+1>>0]|0;b=r[l>>0]|0;if(!(c<<24>>24))e=n[w+(b&255)>>0]|0;else e=d$(c,b)|0;switch(e|0){case 5:{u=34;break e}case 6:{u=35;break e}case 7:{u=37;break e}case 10:case 9:case 21:{u=55;break e}case 11:{u=69;break e}case 17:break e;case 23:break i;case 29:{e=b&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(c&255)>>0]<<3)<<2)>>2])){u=32;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{u=75;break e}}l=l+2|0}if(s|0){u=40;break}b=l+2|0;e=k-b|0;if((e|0)<=1){l=-1;break A}s=r[l+3>>0]|0;t=r[b>>0]|0;if(!(s<<24>>24))c=n[w+(t&255)>>0]|0;else c=d$(s,t)|0;switch(c|0){case 5:{u=49;break e}case 6:{u=50;break e}case 7:{u=52;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[143788+(s&255)>>0]<<3)<<2)>>2])){u=47;break e}break}case 24:case 22:break;default:{u=54;break e}}s=1;l=l+4|0}e:switch(u|0){case 32:{a[f>>2]=l;l=0;break A}case 34:{a[f>>2]=l;l=0;break A}case 35:{if((t|0)<3){l=-2;break A}a[f>>2]=l;l=0;break A}case 37:{if((t|0)<4){l=-2;break A}a[f>>2]=l;l=0;break A}case 40:{a[f>>2]=l;l=0;break A}case 47:{a[f>>2]=b;l=0;break A}case 49:{a[f>>2]=b;l=0;break A}case 50:{if((e|0)<3){l=-2;break A}a[f>>2]=b;l=0;break A}case 52:{if((e|0)<4){l=-2;break A}a[f>>2]=b;l=0;break A}case 54:{a[f>>2]=b;l=0;break A}case 55:{i:while(1){u=0;t=l+2|0;c=k-t|0;if((c|0)<=1){l=-1;break A}b=r[l+3>>0]|0;e=r[t>>0]|0;if(!(b<<24>>24))s=n[w+(e&255)>>0]|0;else s=d$(b,e)|0;switch(s|0){case 11:{l=t;u=69;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;u=55;break}case 29:{u=60;break i}case 24:case 22:break i;case 5:{u=63;break i}case 6:{u=64;break i}case 7:{u=66;break i}default:{u=68;break i}}}if((u|0)==60){k=e&255;if(!(1<<(k&31)&a[56940+((k>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=t;l=0;break A}}else if((u|0)==63){a[f>>2]=t;l=0;break A}else if((u|0)==64){if((c|0)<3){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==66){if((c|0)<4){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==68){a[f>>2]=t;l=0;break A}l=m$(A,l+4|0,i,f)|0;break A}case 75:{a[f>>2]=l;l=0;break A}}if((u|0)==69){a[f>>2]=l+2;l=2;break}t=l+2|0;if((k-t|0)>1){if((r[l+3>>0]|0)==0?(r[t>>0]|0)==62:0){a[f>>2]=l+4;l=4;break}a[f>>2]=t;l=0}else l=-1}else l=-1}while(0);return l|0}function I$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i;A:do{if((c-e|0)>1){if((r[e+1>>0]|0)==0?(r[e>>0]|0)==45:0){t=A+72|0;l=e+2|0;e:while(1){e=c-l|0;if((e|0)<=1){i=-1;break A}i=r[l+1>>0]|0;A=r[l>>0]|0;if(!(i<<24>>24))i=n[t+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|0){case 8:case 1:case 0:{b=16;break e}case 5:{l=l+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}l=l+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}l=l+4|0;continue e}case 27:{i=l+2|0;if((c-i|0)<=1){i=-1;break A}if(r[l+3>>0]|0){l=i;continue e}if((r[i>>0]|0)==45)break e;else{l=i;continue e}}default:{l=l+2|0;continue e}}}if((b|0)==16){a[f>>2]=l;i=0;break}i=l+4|0;if((c-i|0)<=1){i=-1;break}if((r[l+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=l+6;i=13;break}a[f>>2]=i;i=0;break}a[f>>2]=e;i=0}else i=-1}while(0);return i|0}function Z$(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>11){e=0;while(1){if((e|0)>=6){e=8;break}if(r[A+1>>0]|0){e=0;break}if((r[A>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+2|0}a[i>>2]=A}else e=-1;return e|0}function G$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;c=u-e|0;A:do{if((c|0)>1){i=r[e+1>>0]|0;if(!(i<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(i,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(i&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;b=e;e:while(1){i=b+2|0;l=u-i|0;if((l|0)<=1){i=-1;break A}t=r[b+3>>0]|0;c=r[i>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 27:case 26:case 25:case 24:case 22:{b=i;continue e}case 5:{w=22;break e}case 6:{w=23;break e}case 7:{w=25;break e}case 10:case 9:case 21:{w=27;break e}case 15:{w=46;break e}case 29:break;default:break e}b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){w=21;break}else b=i}if((w|0)==21){a[f>>2]=i;i=0;break}else if((w|0)==22){a[f>>2]=i;i=0;break}else if((w|0)==23){if((l|0)<3){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==25){if((l|0)<4){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==27){if(!(L$(e,i,o)|0)){a[f>>2]=i;i=0;break}c=b+4|0;e:while(1){t=u-c|0;if((t|0)<=1){i=-1;break A}i=r[c+1>>0]|0;l=r[c>>0]|0;if(!(i<<24>>24))i=n[s+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 8:case 1:case 0:{w=40;break e}case 5:{c=c+2|0;continue e}case 6:{if((t|0)<3){i=-2;break A}c=c+3|0;continue e}case 7:{if((t|0)<4){i=-2;break A}c=c+4|0;continue e}case 15:{i=c+2|0;if((u-i|0)<=1){i=-1;break A}if(r[c+3>>0]|0){c=i;continue e}if((r[i>>0]|0)==62){w=44;break e}else{c=i;continue e}}default:{c=c+2|0;continue e}}}if((w|0)==40){a[f>>2]=c;i=0;break}else if((w|0)==44){a[f>>2]=c+4;i=a[o>>2]|0;break}}else if((w|0)==46){if(!(L$(e,i,o)|0)){a[f>>2]=i;i=0;break}i=b+4|0;if((u-i|0)<=1){i=-1;break}if((r[b+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=b+6;i=a[o>>2]|0;break}}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function Q$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){c=A+2|0;e=i-c|0;if((e|0)<=1){i=-1;break A}l=r[A+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))b=n[s+(t&255)>>0]|0;else b=d$(l,t)|0;switch(b|0){case 23:case 27:case 26:case 25:case 24:case 22:{A=c;continue e}case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 10:case 9:case 21:{l=27;break e}case 11:{l=34;break e}case 29:break;default:{l=35;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}else A=c}if((l|0)==21){a[f>>2]=c;i=0;break}else if((l|0)==22){a[f>>2]=c;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==27){e:while(1){b=c+2|0;if((i-b|0)<=1){i=-1;break A}l=r[c+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 21:{c=b;l=27;break}case 11:{l=32;break e}default:{l=33;break e}}}if((l|0)==32){a[f>>2]=c+4;i=5;break}else if((l|0)==33){a[f>>2]=b;i=0;break}}else if((l|0)==34){a[f>>2]=A+4;i=5;break}else if((l|0)==35){a[f>>2]=c;i=0;break}}else i=-1}while(0);return i|0}function m$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;a[h>>2]=e;d=i;u=A+72|0;l=0;A:while(1){e:while(1){s=d-e|0;if((s|0)<=1){e=-1;break A}t=r[e+1>>0]|0;c=r[e>>0]|0;if(!(t<<24>>24))b=n[u+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{o=11;break A}case 6:{o=12;break A}case 7:{o=14;break A}case 23:{o=16;break e}case 10:case 9:case 21:{o=31;break e}case 14:{o=37;break e}case 29:{w=c&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){o=9;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=89;break A}}w=e+2|0;a[h>>2]=w;e=w}e:do{if((o|0)==16){o=0;if(l|0){o=17;break A}l=e+2|0;a[h>>2]=l;t=l;c=d-t|0;if((c|0)<=1){e=-1;break A}b=r[e+3>>0]|0;s=r[l>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=25;break A}case 6:{o=26;break A}case 7:{o=28;break A}case 24:case 22:{l=1;break e}case 29:break;default:{o=30;break A}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=24;break A}else l=1}else if((o|0)==31)while(1){o=0;t=e+2|0;a[h>>2]=t;c=t;if((d-c|0)<=1){e=-1;break A}e=r[e+3>>0]|0;l=r[t>>0]|0;if(!(e<<24>>24))e=n[u+(l&255)>>0]|0;else e=d$(e,l)|0;switch(e|0){case 14:{e=t;o=37;break e}case 9:case 10:case 21:{e=t;o=31;break}default:{o=36;break A}}}}while(0);e:do{if((o|0)==37){while(1){o=0;c=e+2|0;a[h>>2]=c;b=c;if((d-b|0)<=1){e=-1;break A}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))s=n[u+(t&255)>>0]|0;else s=d$(l,t)|0;if((s|1|0)==13)break;switch(s|0){case 9:case 10:case 21:{e=c;o=37;break}default:{o=43;break A}}}e=e+4|0;a[h>>2]=e;i:while(1){c=d-e|0;if((c|0)<=1){e=-1;break A}l=r[e+1>>0]|0;t=r[e>>0]|0;if(!(l<<24>>24))l=n[u+(t&255)>>0]|0;else l=d$(l,t)|0;if((l|0)==(s|0))break;switch(l|0){case 8:case 1:case 0:{o=56;break A}case 2:{o=61;break A}case 5:{w=e+2|0;a[h>>2]=w;e=w;continue i}case 6:{if((c|0)<3){e=-2;break A}w=e+3|0;a[h>>2]=w;e=w;continue i}case 7:{if((c|0)<4){e=-2;break A}w=e+4|0;a[h>>2]=w;e=w;continue i}case 3:{e=B$(A,e+2|0,i,h)|0;if((e|0)<1){o=59;break A}e=a[h>>2]|0;continue i}default:{w=e+2|0;a[h>>2]=w;e=w;continue i}}}t=e+2|0;a[h>>2]=t;b=t;if((d-b|0)<=1){e=-1;break A}l=r[e+3>>0]|0;c=r[t>>0]|0;if(!(l<<24>>24))l=n[u+(c&255)>>0]|0;else l=d$(l,c)|0;switch(l|0){case 11:{o=81;break A}case 17:{o=82;break A}case 10:case 9:case 21:{e=t;break}default:{o=68;break A}}i:while(1){t=e+2|0;a[h>>2]=t;l=t;c=d-l|0;if((c|0)<=1){e=-1;break A}b=r[e+3>>0]|0;s=r[t>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=76;break A}case 6:{o=77;break A}case 7:{o=79;break A}case 11:{o=81;break A}case 17:{o=82;break A}case 24:case 22:{l=0;break e}case 10:case 9:case 21:{e=t;break}case 29:break i;default:{o=87;break A}}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=75;break A}else l=0}}while(0);e=e+4|0;a[h>>2]=e}switch(o|0){case 9:{a[f>>2]=e;e=0;break}case 11:{a[f>>2]=e;e=0;break}case 12:{if((s|0)<3)e=-2;else{a[f>>2]=e;e=0}break}case 14:{if((s|0)<4)e=-2;else{a[f>>2]=e;e=0}break}case 17:{a[f>>2]=e;e=0;break}case 24:{a[f>>2]=l;e=0;break}case 25:{a[f>>2]=l;e=0;break}case 26:{if((c|0)<3)e=-2;else{a[f>>2]=l;e=0}break}case 28:{if((c|0)<4)e=-2;else{a[f>>2]=l;e=0}break}case 30:{a[f>>2]=t;e=0;break}case 36:{a[f>>2]=c;e=0;break}case 43:{a[f>>2]=b;e=0;break}case 56:{a[f>>2]=e;e=0;break}case 59:{if(!e){a[f>>2]=a[h>>2];e=0}break}case 61:{a[f>>2]=e;e=0;break}case 68:{a[f>>2]=b;e=0;break}case 75:{a[f>>2]=t;e=0;break}case 76:{a[f>>2]=t;e=0;break}case 77:{if((c|0)<3)e=-2;else{a[f>>2]=t;e=0}break}case 79:{if((c|0)<4)e=-2;else{a[f>>2]=t;e=0}break}case 81:{a[f>>2]=e+4;e=1;break}case 82:{l=t+2|0;a[h>>2]=l;e=l;if((d-e|0)>1){if((r[t+3>>0]|0)==0?(r[l>>0]|0)==62:0){a[f>>2]=t+4;e=3;break}a[f>>2]=e;e=0}else e=-1;break}case 87:{a[f>>2]=l;e=0;break}case 89:{a[f>>2]=e;e=0;break}}k=B;return e|0}function L$(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==6?(r[A+1>>0]|0)==0:0){switch(r[A>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}if(!(r[A+3>>0]|0)){switch(r[A+2>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}if(!(r[A+5>>0]|0)){switch(r[A+4>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}else e=1}else e=1}while(0);return e|0}function W$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0;b=e+72|0;A:while(1){e:while(1){c=f-i|0;if((c|0)<=1){i=-1;break A}e=r[i+1>>0]|0;t=r[i>>0]|0;if(!(e<<24>>24))e=n[b+(t&255)>>0]|0;else e=d$(e,t)|0;switch(e|0){case 8:case 1:case 0:{s=10;break A}case 6:{s=9;break e}case 7:{s=19;break e}case 5:{i=i+2|0;continue e}case 13:case 12:{t=i+2|0;if((e|0)==(A|0)){s=12;break A}else{i=t;continue e}}default:{i=i+2|0;continue e}}}if((s|0)==9){s=0;if((c|0)<3){i=-2;break}else{i=i+3|0;continue}}else if((s|0)==19){s=0;if((c|0)<4){i=-2;break}else{i=i+4|0;continue}}}A:do{if((s|0)==10){a[l>>2]=i;i=0}else if((s|0)==12)if((f-t|0)>1){a[l>>2]=t;f=r[i+3>>0]|0;i=r[t>>0]|0;if(!(f<<24>>24))i=n[b+(i&255)>>0]|0;else i=d$(f,i)|0;switch(i|0){case 20:case 30:case 11:case 10:case 9:case 21:{i=27;break A}default:{}}i=0}else i=-27}while(0);return i|0}function y$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;A:do{if((b-e|0)>1){l=r[e+1>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e>>0]|0)>>0]|0;else l=d$(l,r[e>>0]|0)|0;switch(l|0){case 27:{l=I$(A,e+2|0,i,f)|0;break A}case 20:{a[f>>2]=e+2;l=33;break A}case 24:case 22:{c=A+72|0;e:while(1){t=e+2|0;i=b-t|0;if((i|0)<=1){l=-1;break A}l=r[e+3>>0]|0;A=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 22:{e=t;break}case 30:{s=15;break e}case 10:case 9:case 21:break e;default:{s=22;break e}}}if((s|0)==22){a[f>>2]=t;l=0;break A}e:do{if((s|0)==15){if((i|0)<=3){l=-1;break A}A=r[e+5>>0]|0;l=r[e+4>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=t;l=0;break A}}while(0);a[f>>2]=t;l=16;break A}default:{a[f>>2]=e;l=0;break A}}}else l=-1}while(0);return l|0}function z$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}A=A+72|0;b=e;e:while(1){l=b;b=b+2|0;e=i-b|0;if((e|0)<=1){i=-20;break A}l=r[l+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))c=n[A+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:continue e;case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=27;break e}case 29:break;default:{l=28;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}}if((l|0)==21){a[f>>2]=b;i=0;break}else if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==27){a[f>>2]=b;i=20;break}else if((l|0)==28){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function Y$(A,e,i){A=A|0;e=e|0;i=i|0;i=D$(i)|0;if((i|0)==-1)i=0;else{r[A+69>>0]=i;a[A>>2]=67;a[A+4>>2]=68;a[A+48>>2]=31;a[A+72>>2]=e;a[e>>2]=A;i=1}return i|0}function D$(A){A=A|0;var e=0;A:do{if(!A)e=6;else{e=0;while(1){if((e|0)>=6){e=-1;break A}if(o0(A,a[60068+(e<<2)>>2]|0)|0)break A;e=e+1|0}}}while(0);return e|0}function M$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(58948,A,0,e,i,r)|0}function F$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(58948,A,1,e,i,r)|0}function V$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;Qq(58584,e,i,r);return}function J$(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0;A:do{if(f>>>0>>0){s=a[e+72>>2]|0;t=f+1|0;e:do{if((t|0)==(n|0)){t=r[e+69>>0]|0;if(((t<<24>>24)+-3|0)>>>0<3){t=-1;break A}switch(r[f>>0]|0){case 60:case 0:{t=-1;break A}case-17:case-1:case-2:break;default:break e}if(!((i|0)==1&t<<24>>24==0)){t=-1;break A}}else{b=r[f>>0]|0;t=r[t>>0]|0;c=((b&255)<<8|t&255)&65535;i:do{if(c<<16>>16<-2){if(c<<16>>16>=-257){switch(c<<16>>16){case-257:break;default:break i}if((i|0)==1&(r[e+69>>0]|0)==0)break e;a[l>>2]=f+2;a[s>>2]=a[A+16>>2];t=14;break A}switch(c<<16>>16){case-4165:break;default:break i}if((i|0)==1)switch(r[e+69>>0]|0){case 0:case 3:case 4:case 5:break e;default:{}}t=f+2|0;if((t|0)==(n|0)){t=-1;break A}if((r[t>>0]|0)!=-65)break e;a[l>>2]=f+3;a[s>>2]=a[A+8>>2];t=14;break A}else{if(c<<16>>16<15360){switch(c<<16>>16){case-2:break;default:break i}if((i|0)==1&(r[e+69>>0]|0)==0)break e;a[l>>2]=f+2;a[s>>2]=a[A+20>>2];t=14;break A}switch(c<<16>>16){case 15360:break;default:break i}t=r[e+69>>0]|0;if(t<<24>>24==4){if((i|0)==1)break e}else if((i|0)==1&t<<24>>24==3)break e;t=a[A+20>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}}while(0);if(b<<24>>24){if((i|0)==1|t<<24>>24!=0)break;t=a[A+20>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}if((i|0)==1?(r[e+69>>0]|0)==5:0)break;t=a[A+16>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}}while(0);t=a[A+(r[e+69>>0]<<2)>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0}else t=-4}while(0);return t|0}function N$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){t=e;w=i-t|0;b=(w&1|0)==0;w=w&-2;s=(w|0)==0;w=b|s?i:e+w|0;if(b|s^1){i=r[e>>0]|0;if(!(i<<24>>24)){l=r[e+1>>0]|0;c=l;l=n[A+72+(l&255)>>0]|0}else{l=r[e+1>>0]|0;c=l;l=d$(i,l)|0}do{switch(l|0){case 12:{i=s0(12,A,e+2|0,w,f)|0;break A}case 13:{i=s0(13,A,e+2|0,w,f)|0;break A}case 2:{l=e+2|0;if((w-l|0)<=1){i=-1;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;switch(i|0){case 16:{i=w0(A,e+4|0,w,f)|0;break A}case 15:{i=l0(A,e+4|0,w,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;i=29;break A}default:{a[f>>2]=l;i=0;break A}}}case 9:{if((e+2|0)==(w|0)){a[f>>2]=w;i=-15;break A}else t=7;break}case 10:case 21:{t=7;break}case 30:{i=e0(A,e+2|0,w,f)|0;break A}case 35:{a[f>>2]=e+2;i=38;break A}case 20:{a[f>>2]=e+2;i=25;break A}case 4:{l=e+2|0;i=w-l|0;if((i|0)<=1){i=-26;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){if((i|0)<=3){i=-1;break A}if((r[e+4>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=e+6;i=34;break A}}a[f>>2]=l;i=26;break A}case 31:{a[f>>2]=e+2;i=23;break A}case 32:{l=e+2|0;if((w-l|0)<=1){i=-24;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;switch(i|0){case 33:{a[f>>2]=e+4;i=36;break A}case 15:{a[f>>2]=e+4;i=35;break A}case 34:{a[f>>2]=e+4;i=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;i=24;break A}default:{a[f>>2]=l;i=0;break A}}}case 36:{a[f>>2]=e+2;i=21;break A}case 11:{a[f>>2]=e+2;i=17;break A}case 19:{i=u0(A,e+2|0,w,f)|0;break A}case 5:{if((w-t|0)<2){i=-2;break A}a[f>>2]=e;i=0;break A}case 6:{if((w-t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((w-t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 24:case 22:{i=18;t=61;break}case 23:case 27:case 26:case 25:{i=19;t=61;break}case 29:{t=i&255;l=c&255;i=l>>>5;l=1<<(l&31);if(!(l&a[56940+((i|n[143788+t>>0]<<3)<<2)>>2]))if(!(a[56940+((n[144044+t>>0]<<3|i)<<2)>>2]&l))t=64;else{i=19;t=61}else{i=18;t=61}break}default:t=64}}while(0);if((t|0)==7){b=w;A=A+72|0;c=e;e:while(1){t=c;c=c+2|0;if((b-c|0)<=1){t=28;break}i=r[c>>0]|0;l=r[t+3>>0]|0;if(!(i<<24>>24))i=n[A+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 21:continue e;case 9:break;default:{t=27;break e}}if((t+4|0)==(w|0)){t=27;break}}if((t|0)==27){a[f>>2]=c;i=15;break}else if((t|0)==28){a[f>>2]=c;i=15;break}}else if((t|0)==61){s=A+72|0;l=e+2|0;e:while(1){e=i&255;i:while(1){b=w-l|0;if((b|0)<=1){t=104;break e}t=r[l>>0]|0;c=r[l+1>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 5:{t=73;break e}case 6:{t=74;break e}case 7:{t=76;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{t=78;break e}case 34:{t=94;break e}case 33:{t=97;break e}case 15:{t=100;break e}case 29:{b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){t=71;break e}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{b=l+2|0;switch(e&63){case 41:{i=19;l=b;continue e}case 18:break i;default:{l=b;continue i}}}default:{t=103;break e}}l=l+2|0}A=w-b|0;if((A|0)<=1){i=-1;break A}i=r[b>>0]|0;t=r[l+3>>0]|0;if(!(i<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(i,t)|0;switch(c|0){case 5:{t=89;break e}case 6:{t=90;break e}case 7:{t=92;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(i&255)>>0]<<3)<<2)>>2])){t=87;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{i=19;l=b;continue e}}i=41;l=l+4|0}switch(t|0){case 71:{a[f>>2]=l;i=0;break A}case 73:{a[f>>2]=l;i=0;break A}case 74:{if((b|0)<3){i=-2;break A}a[f>>2]=l;i=0;break A}case 76:{if((b|0)<4){i=-2;break A}a[f>>2]=l;i=0;break A}case 78:{a[f>>2]=l;break A}case 87:{a[f>>2]=b;i=0;break A}case 89:{a[f>>2]=b;i=0;break A}case 90:{if((A|0)<3){i=-2;break A}a[f>>2]=b;i=0;break A}case 92:{if((A|0)<4){i=-2;break A}a[f>>2]=b;i=0;break A}case 94:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=32;break A}case 97:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=31;break A}case 100:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=30;break A}case 103:{a[f>>2]=l;i=0;break A}case 104:{i=0-i|0;break A}}}else if((t|0)==64){a[f>>2]=e;i=0;break}}else i=-1}else i=-4}while(0);return i|0}function X$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+1>>0]|0)>>0]|0;else i=d$(i,r[e+1>>0]|0)|0;do{switch(i|0){case 2:{i=f0(A,e+2|0,t,f)|0;break A}case 3:{i=A0(A,e+2|0,t,f)|0;break A}case 9:{l=e+2|0;if((t-l|0)<=1){i=-3;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 4:{l=e+2|0;if((t-l|0)<=1){i=-5;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-5;break A}if((r[i>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=i;i=0;break A}else i=t}else i=t;break}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:{l=e+2|0;i=t}}}while(0);c=A+72|0;A=l;e:while(1){e=i-A|0;if((e|0)<=1){l=52;break}l=r[A>>0]|0;t=r[A+1>>0]|0;if(!(l<<24>>24))l=n[c+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{l=50;break e}case 5:{A=A+2|0;continue e}case 6:{if((e|0)<3){l=38;break e}A=A+3|0;continue e}case 7:{if((e|0)<4){l=41;break e}A=A+4|0;continue e}case 4:{if((e|0)<=3){l=50;break e}l=A+2|0;if(r[l>>0]|0){A=l;continue e}if((r[A+3>>0]|0)!=93){A=l;continue e}if((e|0)<=5){l=50;break e}t=A+4|0;if(r[t>>0]|0){A=l;continue e}if((r[A+5>>0]|0)==62){l=49;break e}else{A=l;continue e}}default:{A=A+2|0;continue e}}}if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==41){a[f>>2]=A;i=6;break}else if((l|0)==49){a[f>>2]=t;i=0;break}else if((l|0)==50){a[f>>2]=A;i=6;break}else if((l|0)==52){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function R$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+1>>0]|0)>>0]|0;else i=d$(i,r[e+1>>0]|0)|0;switch(i|0){case 4:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-1;break A}if((r[i>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=e+6;i=40;break A}}break}case 9:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;t=i;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;t=i;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;t=i;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:l=e+2|0}c=A+72|0;A=l;e:while(1){e=t-A|0;if((e|0)<=1){l=40;break}i=r[A>>0]|0;l=r[A+1>>0]|0;if(!(i<<24>>24))i=n[c+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 4:{l=38;break e}case 6:{if((e|0)<3){l=35;break e}else i=3;break}case 7:{if((e|0)<4){l=37;break e}else i=4;break}default:i=2}A=A+i|0}if((l|0)==35){a[f>>2]=A;i=6;break}else if((l|0)==37){a[f>>2]=A;i=6;break}else if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==40){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function H$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i-e|0;b=(b&1|0)==0?i:e+(b&-2)|0;c=A+72|0;t=0;i=e;A:while(1){l=b-i|0;if((l|0)<=1){i=-1;break}A=r[i>>0]|0;e=r[i+1>>0]|0;if(!(A<<24>>24))A=n[c+(e&255)>>0]|0;else A=d$(A,e)|0;switch(A|0){case 8:case 1:case 0:{s=12;break A}case 5:{l=t;i=i+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}l=t;i=i+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}l=t;i=i+4|0;t=l;continue A}case 2:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+3>>0]|0)!=33){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}l=(r[i+5>>0]|0)==91;t=t+(l&1)|0;i=l?i+6|0:A;continue A}case 4:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+3>>0]|0)!=93){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+5>>0]|0)!=62){l=t;i=A;t=l;continue A}i=i+6|0;if(!t){s=26;break A}t=t+-1|0;continue A}default:{l=t;i=i+2|0;t=l;continue A}}}if((s|0)==12){a[f>>2]=i;i=0}else if((s|0)==26){a[f>>2]=i;i=42}return i|0}function p$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=30;break}l=r[c>>0]|0;t=r[c+1>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 2:{t=14;break A}case 10:{t=15;break A}case 9:{t=18;break A}case 21:{t=25;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=A0(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14){a[f>>2]=c;l=0;break}else if((t|0)==15)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==18){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==25)if((c|0)==(e|0)){a[f>>2]=e+2;l=39;break}else{a[f>>2]=c;l=6;break}else if((t|0)==30){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function U$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=29;break}l=r[c>>0]|0;t=r[c+1>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 30:{t=14;break A}case 10:{t=17;break A}case 9:{t=20;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=A0(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14)if((c|0)==(e|0)){l=e0(A,e+2|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=c;l=6;break}else if((t|0)==17)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==20){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==29){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function x$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=7;break}if((a-A|0)<2){A=0;break}if(r[A>>0]|0){A=0;break}if((r[A+1>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+2|0}if((n|0)==7)A=(A|0)==(i|0)&1;return A|0}function T$(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=A+72|0;f=e;A:while(1){A=r[f>>0]|0;i=r[f+1>>0]|0;if(!(A<<24>>24))A=n[a+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 5:{A=2;break}case 6:{A=3;break}case 7:{A=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{A=2;break}default:break A}f=f+A|0}return f-e|0}function j$(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A:while(1){A=r[e>>0]|0;i=r[e+1>>0]|0;if(!(A<<24>>24))A=n[f+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 21:case 9:case 10:break;default:break A}e=e+2|0}return e|0}function S$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=A+72|0;w=0;u=0;A=1;A:while(1){s=e+2|0;l=r[s>>0]|0;c=l<<24>>24==0;t=e+3|0;b=r[t>>0]|0;if(c)l=n[k+(b&255)>>0]|0;else l=d$(l,b)|0;do{switch(l|0){case 5:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 6:{if(A|0){c=A;b=u;s=w;e=t;A=c;u=b;w=s;continue A}if((u|0)>=(i|0)){b=u;s=w;A=1;e=t;u=b;w=s;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;b=u;s=w;A=1;e=t;u=b;w=s;continue A}case 7:{if(!A)if((u|0)<(i|0)){a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;A=1}else A=1;b=u;s=w;e=e+4|0;u=b;w=s;continue A}case 24:case 22:case 29:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 12:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=12;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=12;A=2;e=s;u=b;continue A}if((w|0)!=12){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=12;u=u+1|0;A=0;e=s;continue A}case 13:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=13;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=13;A=2;e=s;u=b;continue A}if((w|0)!=13){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=13;u=u+1|0;A=0;e=s;continue A}case 3:{if((u|0)>=(i|0)){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}case 21:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}t=f+(u<<4)+12|0;if(!(r[t>>0]|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}do{if(c&(s|0)!=(a[f+(u<<4)+4>>2]|0)&b<<24>>24==32){l=r[e+4>>0]|0;A=r[e+5>>0]|0;if(!(l<<24>>24)){if(A<<24>>24==32)break;A=n[k+(A&255)>>0]|0}else A=d$(l,A)|0;if((A|0)!=(w|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}}}while(0);r[t>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 10:case 9:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 17:case 11:if((A|0)==2){c=u;b=w;A=2;e=s;u=c;w=b;continue A}else break A;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}}while(0)}return u|0}function P$(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+4|0;A:do{if(!(r[A>>0]|0))if((r[e+5>>0]|0)==120){e=e+6|0;A=0;while(1){e:while(1){if(!(r[e>>0]|0)){i=r[e+1>>0]|0;if(i<<24>>24==59){f=18;break A}i=i<<24>>24;switch(i|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break e}default:{}}}e=e+2|0}if((f|0)==8)A=i+-48|A<<4;else if((f|0)==9)A=(A<<4)+-55+i|0;else if((f|0)==10)A=(A<<4)+-87+i|0;if((A|0)<1114112)e=e+2|0;else{A=-1;f=19;break}}}else{e=A;A=0;f=13}else{i=A;A=0;e=-1;f=16}}while(0);while(1)if((f|0)==13){if(r[e>>0]|0){i=e;e=-1;f=16;continue}if((r[e+1>>0]|0)==59){f=18;continue}i=e;e=r[e+1>>0]|0;f=16;continue}else if((f|0)==16){A=(A*10|0)+-48+e|0;if((A|0)>=1114112){A=-1;f=19;continue}e=i+2|0;f=13;continue}else if((f|0)==18){A=gs(A)|0;f=19;continue}else if((f|0)==19)return A|0;return 0}function O$(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch((i-e|0)/2|0|0){case 2:{if((r[e+2>>0]|0)==0?(r[e+3>>0]|0)==116:0){if(!(r[e>>0]|0))A=r[e+1>>0]|0;else A=-1;A=(A|0)==108?60:(A|0)==103?62:0}else f=27;break}case 3:{if((((((r[e>>0]|0)==0?(r[e+1>>0]|0)==97:0)?(r[e+2>>0]|0)==0:0)?(r[e+3>>0]|0)==109:0)?(r[e+4>>0]|0)==0:0)?(r[e+5>>0]|0)==112:0)A=38;else f=27;break}case 4:{if(!(r[e>>0]|0))switch(r[e+1>>0]|0){case 113:{if(r[e+2>>0]|0){f=27;break A}if((r[e+3>>0]|0)!=117){f=27;break A}if(r[e+4>>0]|0){f=27;break A}if((r[e+5>>0]|0)!=111){f=27;break A}if(r[e+6>>0]|0){f=27;break A}if((r[e+7>>0]|0)==116){A=34;break A}else{f=27;break A}}case 97:{if(r[e+2>>0]|0){f=27;break A}if((r[e+3>>0]|0)!=112){f=27;break A}if(r[e+4>>0]|0){f=27;break A}if((r[e+5>>0]|0)!=111){f=27;break A}if(r[e+6>>0]|0){f=27;break A}if((r[e+7>>0]|0)==115){A=39;break A}else{f=27;break A}}default:{f=27;break A}}else f=27;break}default:f=27}}while(0);if((f|0)==27)A=0;return A|0}function K$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=A+72|0;b=f+4|0;while(1){if((i-e|0)<=1)break;A=r[e>>0]|0;l=r[e+1>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{a[b>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+2|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;t=e+2|0;if((i-t|0)>1){A=r[t>>0]|0;l=r[e+3>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;e=(A|0)==10?e+4|0:t}else e=t;a[b>>2]=-1;break}default:e=e+2|0}a[b>>2]=(a[b>>2]|0)+1}return}function _$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i+-2|0;c=A+72|0;A:while(1){l=e+2|0;if((b-l|0)<=1){i=1;break}i=r[l>>0]|0;t=i<<24>>24==0;A=r[e+3>>0]|0;if(t)i=n[c+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|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=l;continue A}case 21:if(t&A<<24>>24==9){s=12;break A}else{e=l;continue A}case 22:case 26:{if(!t){s=12;break A}if(A<<24>>24>=0){e=l;continue A}break}default:if(!t){s=12;break A}}switch(A<<24>>24|0){case 64:case 36:{e=l;break}default:{s=12;break A}}}if((s|0)==12){a[f>>2]=l;i=0}return i|0}function q$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[e>>2]|0;b=c+(i-c&-2)|0;s=b;w=l;A:while(1){if(c>>>0>=b>>>0){A=0;break}t=r[c+1>>0]|0;A=r[c>>0]|0;i=A&255;switch(A<<24>>24){case 0:{if(t<<24>>24>-1){A=a[f>>2]|0;if((A|0)==(l|0)){A=2;break A}a[f>>2]=A+1;r[A>>0]=t;A=c}else u=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{u=7;break}case-37:case-38:case-39:case-40:{A=a[f>>2]|0;if((w-A|0)<4){A=2;break A}if((s-c|0)<4){A=1;break A}k=t&255;t=(i<<2&12|k>>>6)+1|0;a[f>>2]=A+1;r[A>>0]=t>>>2|240;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>2&15|t<<4&48|128;A=c+2|0;t=n[c+3>>0]|0;i=(k<<4&48|t>>>6|r[A>>0]<<2&12|128)&255;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=i;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=t&63|128;break}default:{A=a[f>>2]|0;if((w-A|0)<3){A=2;break A}a[f>>2]=A+1;r[A>>0]=i>>>4|224;k=t&255;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2&60|128;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}}if((u|0)==7){u=0;A=a[f>>2]|0;if((w-A|0)<2){A=2;break}k=t&255;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2|192;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}c=A+2|0}a[e>>2]=c;return A|0}function $$(A,e,i,l,t){A=A|0;e=e|0;i=i|0;l=l|0;t=t|0;var c=0,b=0,s=0;c=a[e>>2]|0;s=i-c&-2;A=c+s|0;if((s|0)>(t-(a[l>>2]|0)|0)){b=A+-2|0;i=(r[b>>0]&-8)<<24>>24==-40;s=i&1;A=i?b:A}else s=0;i=c;while(1){c=i>>>0>>0;b=a[l>>2]|0;if(!(c&b>>>0>>0))break;c=((n[i>>0]|0)<<8|(n[i+1>>0]|0))&65535;a[l>>2]=b+2;f[b>>1]=c;b=(a[e>>2]|0)+2|0;a[e>>2]=b;i=b}return((b|0)!=(t|0)|c^1?s:2)|0}function A0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=i;c=s-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;A=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;A=0;break A}case 6:{if((c|0)<3){A=-2;break A}a[f>>2]=e;A=0;break A}case 7:{if((c|0)<4){A=-2;break A}a[f>>2]=e;A=0;break A}case 19:{A=i0(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;A=0;break A}}b=A+72|0;c=e;e:while(1){t=c+2|0;e=s-t|0;if((e|0)<=1){A=-1;break A}A=r[t>>0]|0;i=r[c+3>>0]|0;if(!(A<<24>>24))l=n[b+(i&255)>>0]|0;else l=d$(A,i)|0;switch(l|0){case 27:case 26:case 25:case 24:case 22:{c=t;continue e}case 5:{i=23;break e}case 6:{i=24;break e}case 7:{i=26;break e}case 18:{i=28;break e}case 29:break;default:{i=29;break e}}e=i&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(A&255)>>0]|0)<<3)<<2)>>2])){i=22;break}else c=t}if((i|0)==22){a[f>>2]=t;A=0;break}else if((i|0)==23){a[f>>2]=t;A=0;break}else if((i|0)==24){if((e|0)<3){A=-2;break}a[f>>2]=t;A=0;break}else if((i|0)==26){if((e|0)<4){A=-2;break}a[f>>2]=t;A=0;break}else if((i|0)==28){a[f>>2]=c+4;A=9;break}else if((i|0)==29){a[f>>2]=t;A=0;break}}else A=-1}while(0);return A|0}function e0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){b=A+2|0;e=i-b|0;if((e|0)<=1){i=-1;break A}l=r[b>>0]|0;t=r[A+3>>0]|0;if(!(l<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:{A=b;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else A=b}if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){a[f>>2]=b;i=0;break}else if((l|0)==24){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==26){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==28){a[f>>2]=A+4;i=28;break}else if((l|0)==29){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function i0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;b=i;A:do{if((b-e|0)>1){t=r[e>>0]|0;l=r[e+1>>0]|0;do{if(!(t<<24>>24))if(l<<24>>24==120){l=r0(A,e+2|0,i,f)|0;break A}else{l=n[A+72+(l&255)>>0]|0;break}else l=d$(t,l)|0}while(0);if((l|0)!=25){a[f>>2]=e;l=0;break}c=A+72|0;A=e;e:while(1){t=A+2|0;if((b-t|0)<=1){l=-1;break A}l=r[t>>0]|0;i=r[A+3>>0]|0;if(!(l<<24>>24))l=n[c+(i&255)>>0]|0;else l=d$(l,i)|0;switch(l|0){case 25:{A=t;break}case 18:{i=15;break e}default:{i=16;break e}}}if((i|0)==15){a[f>>2]=A+4;l=10;break}else if((i|0)==16){a[f>>2]=t;l=0;break}}else l=-1}while(0);return l|0}function r0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;A:do{if((i-e|0)>1){l=r[e>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+1>>0]|0)>>0]|0;else l=d$(l,r[e+1>>0]|0)|0;if((l&-2|0)!=24){a[f>>2]=e;i=0;break}c=A+72|0;e:while(1){t=e+2|0;if((i-t|0)<=1){i=-1;break A}l=r[t>>0]|0;A=r[e+3>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 25:{e=t;break}case 18:{l=13;break e}default:{l=14;break e}}}if((l|0)==13){a[f>>2]=e+4;i=10;break}else if((l|0)==14){a[f>>2]=t;i=0;break}}else i=-1}while(0);return i|0}function f0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=i;c=k-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{w=t&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;l=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;l=0;break A}case 6:{if((c|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 7:{if((c|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 16:{t=e+2|0;if((k-t|0)<=1){l=-1;break A}l=r[t>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+3>>0]|0)>>0]|0;else l=d$(l,r[e+3>>0]|0)|0;switch(l|0){case 27:{l=a0(A,e+4|0,i,f)|0;break A}case 20:{l=n0(e+4|0,i,f)|0;break A}default:{a[f>>2]=t;l=0;break A}}}case 15:{l=l0(A,e+2|0,i,f)|0;break A}case 17:{l=t0(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}w=A+72|0;s=0;l=e+2|0;e:while(1){i:while(1){t=k-l|0;if((t|0)<=1){l=-1;break A}c=r[l>>0]|0;b=r[l+1>>0]|0;if(!(c<<24>>24))e=n[w+(b&255)>>0]|0;else e=d$(c,b)|0;switch(e|0){case 5:{u=34;break e}case 6:{u=35;break e}case 7:{u=37;break e}case 10:case 9:case 21:{u=55;break e}case 11:{u=69;break e}case 17:break e;case 23:break i;case 29:{e=b&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(c&255)>>0]<<3)<<2)>>2])){u=32;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{u=75;break e}}l=l+2|0}if(s|0){u=40;break}e=l+2|0;s=k-e|0;if((s|0)<=1){l=-1;break A}t=r[e>>0]|0;c=r[l+3>>0]|0;if(!(t<<24>>24))b=n[w+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{u=49;break e}case 6:{u=50;break e}case 7:{u=52;break e}case 29:{s=c&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(t&255)>>0]<<3)<<2)>>2])){u=47;break e}break}case 24:case 22:break;default:{u=54;break e}}s=1;l=l+4|0}e:switch(u|0){case 32:{a[f>>2]=l;l=0;break A}case 34:{a[f>>2]=l;l=0;break A}case 35:{if((t|0)<3){l=-2;break A}a[f>>2]=l;l=0;break A}case 37:{if((t|0)<4){l=-2;break A}a[f>>2]=l;l=0;break A}case 40:{a[f>>2]=l;l=0;break A}case 47:{a[f>>2]=e;l=0;break A}case 49:{a[f>>2]=e;l=0;break A}case 50:{if((s|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 52:{if((s|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 54:{a[f>>2]=e;l=0;break A}case 55:{i:while(1){u=0;t=l+2|0;c=k-t|0;if((c|0)<=1){l=-1;break A}b=r[t>>0]|0;e=r[l+3>>0]|0;if(!(b<<24>>24))s=n[w+(e&255)>>0]|0;else s=d$(b,e)|0;switch(s|0){case 11:{l=t;u=69;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;u=55;break}case 29:{u=60;break i}case 24:case 22:break i;case 5:{u=63;break i}case 6:{u=64;break i}case 7:{u=66;break i}default:{u=68;break i}}}if((u|0)==60){k=e&255;if(!(1<<(k&31)&a[56940+((k>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=t;l=0;break A}}else if((u|0)==63){a[f>>2]=t;l=0;break A}else if((u|0)==64){if((c|0)<3){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==66){if((c|0)<4){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==68){a[f>>2]=t;l=0;break A}l=c0(A,l+4|0,i,f)|0;break A}case 75:{a[f>>2]=l;l=0;break A}}if((u|0)==69){a[f>>2]=l+2;l=2;break}t=l+2|0;if((k-t|0)>1){if((r[t>>0]|0)==0?(r[l+3>>0]|0)==62:0){a[f>>2]=l+4;l=4;break}a[f>>2]=t;l=0}else l=-1}else l=-1}while(0);return l|0}function a0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i;A:do{if((c-e|0)>1){if((r[e>>0]|0)==0?(r[e+1>>0]|0)==45:0){t=A+72|0;l=e+2|0;e:while(1){e=c-l|0;if((e|0)<=1){i=-1;break A}i=r[l>>0]|0;A=r[l+1>>0]|0;if(!(i<<24>>24))i=n[t+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|0){case 8:case 1:case 0:{b=16;break e}case 5:{l=l+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}l=l+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}l=l+4|0;continue e}case 27:{i=l+2|0;if((c-i|0)<=1){i=-1;break A}if(r[i>>0]|0){l=i;continue e}if((r[l+3>>0]|0)==45)break e;else{l=i;continue e}}default:{l=l+2|0;continue e}}}if((b|0)==16){a[f>>2]=l;i=0;break}i=l+4|0;if((c-i|0)<=1){i=-1;break}if((r[i>>0]|0)==0?(r[l+5>>0]|0)==62:0){a[f>>2]=l+6;i=13;break}a[f>>2]=i;i=0;break}a[f>>2]=e;i=0}else i=-1}while(0);return i|0}function n0(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>11){e=0;while(1){if((e|0)>=6){e=8;break}if(r[A>>0]|0){e=0;break}if((r[A+1>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+2|0}a[i>>2]=A}else e=-1;return e|0}function l0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;t=u-e|0;A:do{if((t|0)>1){c=r[e>>0]|0;if(!(c<<24>>24)){l=r[e+1>>0]|0;i=n[A+72+(l&255)>>0]|0}else{l=r[e+1>>0]|0;i=d$(c,l)|0}switch(i|0){case 29:{s=l&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;b=e;e:while(1){i=b+2|0;l=u-i|0;if((l|0)<=1){i=-1;break A}t=r[i>>0]|0;c=r[b+3>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 27:case 26:case 25:case 24:case 22:{b=i;continue e}case 5:{w=22;break e}case 6:{w=23;break e}case 7:{w=25;break e}case 10:case 9:case 21:{w=27;break e}case 15:{w=46;break e}case 29:break;default:break e}b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){w=21;break}else b=i}if((w|0)==21){a[f>>2]=i;i=0;break}else if((w|0)==22){a[f>>2]=i;i=0;break}else if((w|0)==23){if((l|0)<3){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==25){if((l|0)<4){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==27){if(!(b0(e,i,o)|0)){a[f>>2]=i;i=0;break}c=b+4|0;e:while(1){t=u-c|0;if((t|0)<=1){i=-1;break A}i=r[c>>0]|0;l=r[c+1>>0]|0;if(!(i<<24>>24))i=n[s+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 8:case 1:case 0:{w=40;break e}case 5:{c=c+2|0;continue e}case 6:{if((t|0)<3){i=-2;break A}c=c+3|0;continue e}case 7:{if((t|0)<4){i=-2;break A}c=c+4|0;continue e}case 15:{i=c+2|0;if((u-i|0)<=1){i=-1;break A}if(r[i>>0]|0){c=i;continue e}if((r[c+3>>0]|0)==62){w=44;break e}else{c=i;continue e}}default:{c=c+2|0;continue e}}}if((w|0)==40){a[f>>2]=c;i=0;break}else if((w|0)==44){a[f>>2]=c+4;i=a[o>>2]|0;break}}else if((w|0)==46){if(!(b0(e,i,o)|0)){a[f>>2]=i;i=0;break}i=b+4|0;if((u-i|0)<=1){i=-1;break}if((r[i>>0]|0)==0?(r[b+5>>0]|0)==62:0){a[f>>2]=b+6;i=a[o>>2]|0;break}}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function t0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){c=A+2|0;e=i-c|0;if((e|0)<=1){i=-1;break A}l=r[c>>0]|0;t=r[A+3>>0]|0;if(!(l<<24>>24))b=n[s+(t&255)>>0]|0;else b=d$(l,t)|0;switch(b|0){case 23:case 27:case 26:case 25:case 24:case 22:{A=c;continue e}case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 10:case 9:case 21:{l=27;break e}case 11:{l=34;break e}case 29:break;default:{l=35;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}else A=c}if((l|0)==21){a[f>>2]=c;i=0;break}else if((l|0)==22){a[f>>2]=c;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==27){e:while(1){b=c+2|0;if((i-b|0)<=1){i=-1;break A}l=r[b>>0]|0;t=r[c+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 21:{c=b;l=27;break}case 11:{l=32;break e}default:{l=33;break e}}}if((l|0)==32){a[f>>2]=c+4;i=5;break}else if((l|0)==33){a[f>>2]=b;i=0;break}}else if((l|0)==34){a[f>>2]=A+4;i=5;break}else if((l|0)==35){a[f>>2]=c;i=0;break}}else i=-1}while(0);return i|0}function c0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;a[h>>2]=e;d=i;u=A+72|0;l=0;A:while(1){e:while(1){s=d-e|0;if((s|0)<=1){e=-1;break A}t=r[e>>0]|0;c=r[e+1>>0]|0;if(!(t<<24>>24))b=n[u+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{o=11;break A}case 6:{o=12;break A}case 7:{o=14;break A}case 23:{o=16;break e}case 10:case 9:case 21:{o=31;break e}case 14:{o=37;break e}case 29:{w=c&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){o=9;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=89;break A}}w=e+2|0;a[h>>2]=w;e=w}e:do{if((o|0)==16){o=0;if(l|0){o=17;break A}l=e+2|0;a[h>>2]=l;t=l;c=d-t|0;if((c|0)<=1){e=-1;break A}b=r[l>>0]|0;s=r[e+3>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=25;break A}case 6:{o=26;break A}case 7:{o=28;break A}case 24:case 22:{l=1;break e}case 29:break;default:{o=30;break A}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=24;break A}else l=1}else if((o|0)==31)while(1){o=0;t=e+2|0;a[h>>2]=t;c=t;if((d-c|0)<=1){e=-1;break A}l=r[t>>0]|0;e=r[e+3>>0]|0;if(!(l<<24>>24))e=n[u+(e&255)>>0]|0;else e=d$(l,e)|0;switch(e|0){case 14:{e=t;o=37;break e}case 9:case 10:case 21:{e=t;o=31;break}default:{o=36;break A}}}}while(0);e:do{if((o|0)==37){while(1){o=0;c=e+2|0;a[h>>2]=c;b=c;if((d-b|0)<=1){e=-1;break A}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))s=n[u+(t&255)>>0]|0;else s=d$(l,t)|0;if((s|1|0)==13)break;switch(s|0){case 9:case 10:case 21:{e=c;o=37;break}default:{o=43;break A}}}e=e+4|0;a[h>>2]=e;i:while(1){c=d-e|0;if((c|0)<=1){e=-1;break A}l=r[e>>0]|0;t=r[e+1>>0]|0;if(!(l<<24>>24))l=n[u+(t&255)>>0]|0;else l=d$(l,t)|0;if((l|0)==(s|0))break;switch(l|0){case 8:case 1:case 0:{o=56;break A}case 2:{o=61;break A}case 5:{w=e+2|0;a[h>>2]=w;e=w;continue i}case 6:{if((c|0)<3){e=-2;break A}w=e+3|0;a[h>>2]=w;e=w;continue i}case 7:{if((c|0)<4){e=-2;break A}w=e+4|0;a[h>>2]=w;e=w;continue i}case 3:{e=A0(A,e+2|0,i,h)|0;if((e|0)<1){o=59;break A}e=a[h>>2]|0;continue i}default:{w=e+2|0;a[h>>2]=w;e=w;continue i}}}t=e+2|0;a[h>>2]=t;b=t;if((d-b|0)<=1){e=-1;break A}l=r[t>>0]|0;c=r[e+3>>0]|0;if(!(l<<24>>24))l=n[u+(c&255)>>0]|0;else l=d$(l,c)|0;switch(l|0){case 11:{o=81;break A}case 17:{o=82;break A}case 10:case 9:case 21:{e=t;break}default:{o=68;break A}}i:while(1){t=e+2|0;a[h>>2]=t;l=t;c=d-l|0;if((c|0)<=1){e=-1;break A}b=r[t>>0]|0;s=r[e+3>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=76;break A}case 6:{o=77;break A}case 7:{o=79;break A}case 11:{o=81;break A}case 17:{o=82;break A}case 24:case 22:{l=0;break e}case 10:case 9:case 21:{e=t;break}case 29:break i;default:{o=87;break A}}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=75;break A}else l=0}}while(0);e=e+4|0;a[h>>2]=e}switch(o|0){case 9:{a[f>>2]=e;e=0;break}case 11:{a[f>>2]=e;e=0;break}case 12:{if((s|0)<3)e=-2;else{a[f>>2]=e;e=0}break}case 14:{if((s|0)<4)e=-2;else{a[f>>2]=e;e=0}break}case 17:{a[f>>2]=e;e=0;break}case 24:{a[f>>2]=l;e=0;break}case 25:{a[f>>2]=l;e=0;break}case 26:{if((c|0)<3)e=-2;else{a[f>>2]=l;e=0}break}case 28:{if((c|0)<4)e=-2;else{a[f>>2]=l;e=0}break}case 30:{a[f>>2]=t;e=0;break}case 36:{a[f>>2]=c;e=0;break}case 43:{a[f>>2]=b;e=0;break}case 56:{a[f>>2]=e;e=0;break}case 59:{if(!e){a[f>>2]=a[h>>2];e=0}break}case 61:{a[f>>2]=e;e=0;break}case 68:{a[f>>2]=b;e=0;break}case 75:{a[f>>2]=t;e=0;break}case 76:{a[f>>2]=t;e=0;break}case 77:{if((c|0)<3)e=-2;else{a[f>>2]=t;e=0}break}case 79:{if((c|0)<4)e=-2;else{a[f>>2]=t;e=0}break}case 81:{a[f>>2]=e+4;e=1;break}case 82:{l=t+2|0;a[h>>2]=l;e=l;if((d-e|0)>1){if((r[l>>0]|0)==0?(r[t+3>>0]|0)==62:0){a[f>>2]=t+4;e=3;break}a[f>>2]=e;e=0}else e=-1;break}case 87:{a[f>>2]=l;e=0;break}case 89:{a[f>>2]=e;e=0;break}}k=B;return e|0}function b0(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==6?(r[A>>0]|0)==0:0){switch(r[A+1>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}if(!(r[A+2>>0]|0)){switch(r[A+3>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}if(!(r[A+4>>0]|0)){switch(r[A+5>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}else e=1}else e=1}while(0);return e|0}function s0(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0;b=e+72|0;A:while(1){e:while(1){c=f-i|0;if((c|0)<=1){i=-1;break A}e=r[i>>0]|0;t=r[i+1>>0]|0;if(!(e<<24>>24))t=n[b+(t&255)>>0]|0;else t=d$(e,t)|0;switch(t|0){case 8:case 1:case 0:{s=10;break A}case 6:{s=9;break e}case 7:{s=19;break e}case 5:{i=i+2|0;continue e}case 13:case 12:{e=i+2|0;if((t|0)==(A|0)){s=12;break A}else{i=e;continue e}}default:{i=i+2|0;continue e}}}if((s|0)==9){s=0;if((c|0)<3){i=-2;break}else{i=i+3|0;continue}}else if((s|0)==19){s=0;if((c|0)<4){i=-2;break}else{i=i+4|0;continue}}}A:do{if((s|0)==10){a[l>>2]=i;i=0}else if((s|0)==12)if((f-e|0)>1){a[l>>2]=e;f=r[e>>0]|0;i=r[i+3>>0]|0;if(!(f<<24>>24))i=n[b+(i&255)>>0]|0;else i=d$(f,i)|0;switch(i|0){case 20:case 30:case 11:case 10:case 9:case 21:{i=27;break A}default:{}}i=0}else i=-27}while(0);return i|0}function w0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;A:do{if((b-e|0)>1){l=r[e>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+1>>0]|0)>>0]|0;else l=d$(l,r[e+1>>0]|0)|0;switch(l|0){case 27:{l=a0(A,e+2|0,i,f)|0;break A}case 20:{a[f>>2]=e+2;l=33;break A}case 24:case 22:{c=A+72|0;e:while(1){t=e+2|0;i=b-t|0;if((i|0)<=1){l=-1;break A}l=r[t>>0]|0;A=r[e+3>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 22:{e=t;break}case 30:{s=15;break e}case 10:case 9:case 21:break e;default:{s=22;break e}}}if((s|0)==22){a[f>>2]=t;l=0;break A}e:do{if((s|0)==15){if((i|0)<=3){l=-1;break A}A=r[e+4>>0]|0;l=r[e+5>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=t;l=0;break A}}while(0);a[f>>2]=t;l=16;break A}default:{a[f>>2]=e;l=0;break A}}}else l=-1}while(0);return l|0}function u0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}A=A+72|0;b=e;e:while(1){l=b;b=b+2|0;e=i-b|0;if((e|0)<=1){i=-20;break A}c=r[b>>0]|0;l=r[l+3>>0]|0;if(!(c<<24>>24))t=n[A+(l&255)>>0]|0;else t=d$(c,l)|0;switch(t|0){case 27:case 26:case 25:case 24:case 22:continue e;case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=27;break e}case 29:break;default:{l=28;break e}}e=l&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(c&255)>>0]|0)<<3)<<2)>>2])){l=21;break}}if((l|0)==21){a[f>>2]=b;i=0;break}else if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==27){a[f>>2]=b;i=20;break}else if((l|0)==28){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function k0(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;while(1){A=a[e>>2]|0;l=A>>>0>>0;t=a[f>>2]|0;if(!(l&t>>>0>>0))break;a[e>>2]=A+1;l=r[A>>0]|0;t=a[f>>2]|0;a[f>>2]=t+1;r[t>>0]=l}return((t|0)!=(n|0)|l^1?0:2)|0}function o0(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,n=0;A:while(1){a=r[A>>0]|0;n=r[e>>0]|0;a=(a+-97&255)<26?(a&255)+224&255:a;switch((a<<24>>24==((n+-97&255)<26?(n&255)+224&255:n)<<24>>24?a<<24>>24==0?2:0:1)&3){case 0:{e=e+1|0;A=A+1|0;break}case 1:{f=3;break A}case 2:{i=1;break A}default:{f=5;break A}}}if((f|0)==3)i=0;return i|0}function h0(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;return B0(39,A,e,i,r,f,a,n,l,t,c)|0}function d0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+144|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+127|0)|0;do{if((a[t>>2]|0)==(i|0)){r[a[n>>2]>>0]=0;if(o0(f,144315)|0?(a[A+64>>2]|0)==2:0)break;A=D$(f)|0;if((A|0)!=-1)A=a[58948+(A<<2)>>2]|0;else A=0}else A=0}while(0);k=l;return A|0}function B0(A,e,i,r,f,n,l,t,c,b,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;v=E+8|0;h=E+12|0;u=E+4|0;o=E;a[h>>2]=0;a[u>>2]=0;a[o>>2]=0;g=i+64|0;B=a[g>>2]|0;d=r+(B*5|0)|0;a[v>>2]=d;B=f+(0-(B<<1))|0;d=(v0(i,d,B,u,o,h,v)|0)!=0;w=a[u>>2]|0;r=w;A:do{if(d&(w|0)!=0){d=i+24|0;f=a[o>>2]|0;do{if(!(y5[a[d>>2]&127](i,w,f,144340)|0)){if(!e){a[n>>2]=r;r=0;break A}}else{if(l|0)a[l>>2]=a[h>>2];if(!t)r=a[v>>2]|0;else{r=a[v>>2]|0;a[t>>2]=r}if(!(v0(i,r,B,u,o,h,v)|0)){a[n>>2]=a[v>>2];r=0;break A}f=a[u>>2]|0;if(f|0){r=f;w=f;f=a[o>>2]|0;break}if(!e){r=1;break A}a[n>>2]=a[v>>2];r=0;break A}}while(0);if(y5[a[d>>2]&127](i,w,f,144348)|0){f=a[h>>2]|0;r=f;if((((g0(i,f,B)|0)&-33)+-65|0)>>>0>=26){a[n>>2]=r;r=0;break}if(c|0)a[c>>2]=r;r=a[v>>2]|0;if(b|0)a[b>>2]=W5[A&63](i,f,r+(0-(a[g>>2]|0))|0)|0;if(!(v0(i,r,B,u,o,h,v)|0)){a[n>>2]=a[v>>2];r=0;break}r=a[u>>2]|0;if(!r){r=1;break}w=r;f=a[o>>2]|0}if((e|0)!=0|(y5[a[d>>2]&127](i,w,f,144357)|0)==0){a[n>>2]=r;r=0;break}f=a[h>>2]|0;r=a[v>>2]|0;w=f;if(!(y5[a[d>>2]&127](i,f,r+(0-(a[g>>2]|0))|0,107657)|0)){if(!(y5[a[d>>2]&127](i,f,r+(0-(a[g>>2]|0))|0,107649)|0)){a[n>>2]=w;r=0;break}if(s)a[s>>2]=0}else if(s)a[s>>2]=1;while(1){if(!(E0(g0(i,r,B)|0)|0))break;r=r+(a[g>>2]|0)|0}a[v>>2]=r;if((r|0)==(B|0))r=1;else{a[n>>2]=r;r=0}}else{a[n>>2]=a[v>>2];r=0}}while(0);k=E;return r|0}function v0(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0;A:do{if((e|0)!=(i|0)){if(!(E0(g0(A,e,i)|0)|0)){a[l>>2]=e;e=0;break}c=A+64|0;do{e=e+(a[c>>2]|0)|0}while((E0(g0(A,e,i)|0)|0)!=0);if((e|0)==(i|0)){a[r>>2]=0;e=1;break}a[r>>2]=e;e:while(1){t=g0(A,e,i)|0;switch(t|0){case-1:{t=11;break e}case 61:{t=12;break e}default:{}}if(E0(t)|0){t=14;break}e=e+(a[c>>2]|0)|0}if((t|0)==11){a[l>>2]=e;e=0;break}else if((t|0)==12)a[f>>2]=e;else if((t|0)==14){a[f>>2]=e;do{e=e+(a[c>>2]|0)|0;t=g0(A,e,i)|0}while((E0(t)|0)!=0);if((t|0)!=61){a[l>>2]=e;e=0;break}}if((e|0)==(a[r>>2]|0)){a[l>>2]=e;e=0;break}do{e=e+(a[c>>2]|0)|0;t=g0(A,e,i)|0}while((E0(t)|0)!=0);switch(t|0){case 34:case 39:break;default:{a[l>>2]=e;e=0;break A}}f=e+(a[c>>2]|0)|0;a[n>>2]=f;e=t<<24>>24;e:while(1){t=g0(A,f,i)|0;if((t|0)==(e|0)){t=30;break}if((t+-48|0)>>>0>9&((t&-33)+-65|0)>>>0>25)switch(t|0){case 45:case 46:case 95:break;default:{t=28;break e}}f=f+(a[c>>2]|0)|0}if((t|0)==28){a[l>>2]=f;e=0;break}else if((t|0)==30){a[l>>2]=f+(a[c>>2]|0);e=1;break}}else{a[r>>2]=0;e=1}}while(0);return e|0}function g0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+16|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+1|0)|0;k=l;return((a[n>>2]|0)==(f|0)?-1:r[f>>0]|0)|0}function E0(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 C0(){return 60092}function I0(A,e,i){A=A|0;e=e|0;i=i|0;i=D$(i)|0;if((i|0)==-1)i=0;else{r[A+69>>0]=i;a[A>>2]=69;a[A+4>>2]=70;a[A+48>>2]=31;a[A+72>>2]=e;a[e>>2]=A;i=1}return i|0}function Z0(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(60456,A,0,e,i,r)|0}function G0(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(60456,A,1,e,i,r)|0}function Q0(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;return B0(40,A,e,i,r,f,a,n,l,t,c)|0}function m0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+144|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+127|0)|0;do{if((a[t>>2]|0)==(i|0)){r[a[n>>2]>>0]=0;if(o0(f,144315)|0?(a[A+64>>2]|0)==2:0)break;A=D$(f)|0;if((A|0)!=-1)A=a[60456+(A<<2)>>2]|0;else A=0}else A=0}while(0);k=l;return A|0}function L0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;A=vs(A,e,i,f)|0;if(A|0)r[A+72+58>>0]=23;return A|0}function W0(A){A=A|0;a[A>>2]=15;a[A+16>>2]=1;a[A+12>>2]=0;a[A+20>>2]=0;return}function y0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{a[A>>2]=16;A=0;break}case 12:{a[A>>2]=16;A=1;break}case 11:{a[A>>2]=16;A=55;break}case 13:{a[A>>2]=16;A=56;break}case 14:{A=0;break}case 16:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]<<1)|0,r,144368)|0))n=9;else{a[A>>2]=17;A=3}break}case 29:{a[A>>2]=18;A=2;break}default:n=9}if((n|0)==9)A=M0(A,e)|0;return A|0}function z0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 14:case 15:{A=0;break}case 11:{A=55;break}case 13:{A=56;break}case 16:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]<<1)|0,r,144368)|0))n=7;else{a[A>>2]=17;A=3}break}case 29:{a[A>>2]=18;A=2;break}default:n=7}if((n|0)==7)A=M0(A,e)|0;return A|0}function Y0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 41:case 18:{a[A>>2]=19;A=4;break}default:A=M0(A,e)|0}return A|0}function D0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function M0(A,e){A=A|0;e=e|0;if((e|0)==28&(a[A+16>>2]|0)==0)A=59;else{a[A>>2]=18;A=-1}return A|0}function F0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=3;break}case 25:{a[A>>2]=20;A=7;break}case 17:{a[A>>2]=21;A=8;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=22;A=3;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=8;else{a[A>>2]=23;A=3}break}default:l=8}}while(0);if((l|0)==8)A=M0(A,e)|0;return A|0}function V0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;A:do{switch(e|0){case-4:case 15:{A=0;break}case 16:{n=f+24|0;l=f+64|0;if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144390)|0){a[A>>2]=24;A=11;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144397)|0){a[A>>2]=25;A=33;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144405)|0){a[A>>2]=26;A=39;break A}if(!(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144413)|0))t=14;else{a[A>>2]=27;A=17}break}case 11:{A=55;break}case 13:{A=56;break}case 28:{A=60;break}case 26:{a[A>>2]=28;A=3;break}default:t=14}}while(0);if((t|0)==14)A=M0(A,e)|0;return A|0}function J0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;f=e+-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:{a[A>>2]=18;A=2;break}default:A=M0(A,e)|0}return A|0}function N0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 27:{a[A>>2]=29;A=5;break}default:A=M0(A,e)|0}return A|0}function X0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 27:{a[A>>2]=22;A=6;break}default:A=M0(A,e)|0}return A|0}function R0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 25:{a[A>>2]=20;A=7;break}case 17:{a[A>>2]=21;A=8;break}default:A=M0(A,e)|0}return A|0}function H0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 22:{a[A>>2]=30;A=11;break}case 18:{a[A>>2]=31;A=9;break}default:A=M0(A,e)|0}return A|0}function p0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 41:case 18:{a[A>>2]=32;A=34;break}default:A=M0(A,e)|0}return A|0}function U0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 41:case 18:{a[A>>2]=33;A=40;break}default:A=M0(A,e)|0}return A|0}function x0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 18:{a[A>>2]=34;A=18;break}default:A=M0(A,e)|0}return A|0}function T0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 17:{a[A>>2]=21;A=8;break}default:A=M0(A,e)|0}return A|0}function j0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=17;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=35;A=17;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=6;else{a[A>>2]=36;A=17}break}default:l=6}}while(0);if((l|0)==6)A=M0(A,e)|0;return A|0}function S0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=37;a[A+8>>2]=17;A=19;break}default:A=M0(A,e)|0}return A|0}function P0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=38;A=21;break}default:A=M0(A,e)|0}return A|0}function O0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=37;a[A+8>>2]=17;A=19;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=20;break}default:A=M0(A,e)|0}return A|0}function K0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=a[A+8>>2]|0;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=a[A+8>>2]|0;break}default:A=M0(A,e)|0}return A|0}function _0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 33:{a[A>>2]=40;i=0;break}case 34:{i=A+12|0;r=a[i>>2]|0;if(!r)n=7;else{a[i>>2]=r+-1;i=0}break}case 15:{i=0;break}case 26:{n=7;break}case-4:{if(!(a[A+12>>2]|0))i=0;else n=7;break}default:i=V0(A,e,i,r,f)|0}if((n|0)==7)i=M0(A,e)|0;return i|0}function q0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=0;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144422)|0){a[A>>2]=41;A=0;break A}if(!(y5[a[n>>2]&127](f,i,r,144430)|0))l=6;else{a[A>>2]=42;A=0}break}default:l=6}}while(0);if((l|0)==6)A=M0(A,e)|0;return A|0}function $0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=0;break}case 25:{a[A>>2]=39;A=A+12|0;a[A>>2]=(a[A>>2]|0)+1;A=0;break}default:A=M0(A,e)|0}return A|0}function A2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=0;break}case 25:{a[A>>2]=39;A=58;break}default:A=M0(A,e)|0}return A|0}function e2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=39;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144437)|0){a[A>>2]=37;a[A+8>>2]=39;A=42;break A}if(!(y5[a[n>>2]&127](f,i,r,144443)|0))l=7;else{a[A>>2]=37;a[A+8>>2]=39;A=41}break}case 23:{a[A>>2]=43;a[A+4>>2]=1;A=44;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function i2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{A=39;break}case 20:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]|0)|0,r,144447)|0))n=9;else{a[A>>2]=44;A=43}break}case 23:{a[A+4>>2]=2;a[A>>2]=45;A=44;break}case 41:case 18:{a[A>>2]=46;A=51;break}case 30:{a[A>>2]=46;A=53;break}case 31:{a[A>>2]=46;A=52;break}case 32:{a[A>>2]=46;A=54;break}default:n=9}if((n|0)==9)A=M0(A,e)|0;return A|0}function r2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 24:{a[A>>2]=37;a[A+8>>2]=39;A=45;break}case 36:{a[A>>2]=37;a[A+8>>2]=39;A=46;break}case 21:{a[A>>2]=47;A=39;break}default:A=M0(A,e)|0}return A|0}function f2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 23:{A=A+4|0;a[A>>2]=(a[A>>2]|0)+1;A=44;break}case 41:case 18:{a[A>>2]=46;A=51;break}case 30:{a[A>>2]=46;A=53;break}case 31:{a[A>>2]=46;A=52;break}case 32:{a[A>>2]=46;A=54;break}default:A=M0(A,e)|0}return A|0}function a2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 24:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=45}else A=45;break}case 36:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=46}else A=46;break}case 35:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=47}else A=47;break}case 37:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=48}else A=48;break}case 38:{a[A>>2]=45;A=50;break}case 21:{a[A>>2]=45;A=49;break}default:A=M0(A,e)|0}return A|0}function n2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 41:case 18:{a[A>>2]=48;A=51;break}default:A=M0(A,e)|0}return A|0}function l2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 36:{a[A>>2]=37;a[A+8>>2]=39;A=46;break}case 21:{a[A>>2]=47;A=39;break}default:A=M0(A,e)|0}return A|0}function t2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=33;break}case 41:case 18:{a[A>>2]=49;A=22;break}default:A=M0(A,e)|0}return A|0}function c2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;A:do{switch(e|0){case 15:{n=33;break}case 18:{l=f+24|0;n=0;while(1){t=a[l>>2]|0;if((n|0)>=8)break;if(y5[t&127](f,i,r,a[62304+(n<<2)>>2]|0)|0){c=6;break}n=n+1|0}if((c|0)==6){a[A>>2]=50;n=n+23|0;break A}if(!(y5[t&127](f,i,r,144413)|0))c=10;else{a[A>>2]=51;n=33}break}case 23:{a[A>>2]=52;n=33;break}default:c=10}}while(0);if((c|0)==10)n=M0(A,e)|0;return n|0}function b2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;A:do{switch(e|0){case 15:{A=33;break}case 20:{n=f+24|0;l=f+64|0;if(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144454)|0){a[A>>2]=32;A=35;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144462)|0){a[A>>2]=32;A=36;break A}if(!(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144471)|0))t=9;else{a[A>>2]=53;A=33}break}case 27:{a[A>>2]=32;A=37;break}default:t=9}}while(0);if((t|0)==9)A=M0(A,e)|0;return A|0}function s2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 23:{a[A>>2]=54;A=33;break}default:A=M0(A,e)|0}return A|0}function w2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 41:case 18:case 19:{a[A>>2]=55;A=31;break}default:A=M0(A,e)|0}return A|0}function u2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 24:{a[A>>2]=50;A=33;break}case 21:{a[A>>2]=52;A=33;break}default:A=M0(A,e)|0}return A|0}function k2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 18:{a[A>>2]=56;A=32;break}default:A=M0(A,e)|0}return A|0}function o2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 24:{a[A>>2]=50;A=33;break}case 21:{a[A>>2]=54;A=33;break}default:A=M0(A,e)|0}return A|0}function h2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 27:{a[A>>2]=32;A=38;break}default:A=M0(A,e)|0}return A|0}function d2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 18:{a[A>>2]=57;A=10;break}default:A=M0(A,e)|0}return A|0}function B2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=11;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=58;A=11;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=7;else{a[A>>2]=59;A=11}break}case 27:{a[A>>2]=37;a[A+8>>2]=11;A=12;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function v2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=60;A=13;break}default:A=M0(A,e)|0}return A|0}function g2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=58;A=14;break}default:A=M0(A,e)|0}return A|0}function E2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{A=11;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=15;break}case 18:{if(!(y5[a[f+24>>2]&127](f,i,r,144525)|0))n=5;else{a[A>>2]=61;A=11}break}default:n=5}if((n|0)==5)A=M0(A,e)|0;return A|0}function C2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 18:{a[A>>2]=37;a[A+8>>2]=11;A=16;break}default:A=M0(A,e)|0}return A|0}function I2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=11;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=62;A=11;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=7;else{a[A>>2]=63;A=11}break}case 27:{a[A>>2]=37;a[A+8>>2]=11;A=12;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function Z2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=64;A=13;break}default:A=M0(A,e)|0}return A|0}function G2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=62;A=14;break}default:A=M0(A,e)|0}return A|0}function Q2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=15;break}default:A=M0(A,e)|0}return A|0}function m2(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+16|0;o=I;do{if(A>>>0<245){s=A>>>0<11?16:A+11&-8;A=s>>>3;u=a[47519]|0;i=u>>>A;if(i&3|0){e=(i&1^1)+A|0;A=190116+(e<<1<<2)|0;i=A+8|0;r=a[i>>2]|0;f=r+8|0;n=a[f>>2]|0;if((n|0)==(A|0))a[47519]=u&~(1<>2]=A;a[i>>2]=n}C=e<<3;a[r+4>>2]=C|3;C=r+C+4|0;a[C>>2]=a[C>>2]|1;C=f;k=I;return C|0}w=a[47521]|0;if(s>>>0>w>>>0){if(i|0){e=2<>>12&16;e=e>>>t;i=e>>>5&8;e=e>>>i;n=e>>>2&4;e=e>>>n;A=e>>>1&2;e=e>>>A;r=e>>>1&1;r=(i|t|n|A|r)+(e>>>r)|0;e=190116+(r<<1<<2)|0;A=e+8|0;n=a[A>>2]|0;t=n+8|0;i=a[t>>2]|0;if((i|0)==(e|0)){A=u&~(1<>2]=e;a[A>>2]=i;A=u}C=r<<3;l=C-s|0;a[n+4>>2]=s|3;f=n+s|0;a[f+4>>2]=l|1;a[n+C>>2]=l;if(w|0){r=a[47524]|0;e=w>>>3;i=190116+(e<<1<<2)|0;e=1<>2]|0}a[A>>2]=r;a[e+12>>2]=r;a[r+8>>2]=e;a[r+12>>2]=i}a[47521]=l;a[47524]=f;C=t;k=I;return C|0}c=a[47520]|0;if(c){i=(c&0-c)+-1|0;t=i>>>12&16;i=i>>>t;l=i>>>5&8;i=i>>>l;b=i>>>2&4;i=i>>>b;r=i>>>1&2;i=i>>>r;A=i>>>1&1;A=a[190380+((l|t|b|r|A)+(i>>>A)<<2)>>2]|0;i=(a[A+4>>2]&-8)-s|0;r=a[A+16+(((a[A+16>>2]|0)==0&1)<<2)>>2]|0;if(!r){b=A;l=i}else{do{t=(a[r+4>>2]&-8)-s|0;b=t>>>0>>0;i=b?t:i;A=b?r:A;r=a[r+16+(((a[r+16>>2]|0)==0&1)<<2)>>2]|0}while((r|0)!=0);b=A;l=i}t=b+s|0;if(t>>>0>b>>>0){f=a[b+24>>2]|0;e=a[b+12>>2]|0;do{if((e|0)==(b|0)){A=b+20|0;e=a[A>>2]|0;if(!e){A=b+16|0;e=a[A>>2]|0;if(!e){i=0;break}}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0;i=e}else{i=a[b+8>>2]|0;a[i+12>>2]=e;a[e+8>>2]=i;i=e}}while(0);do{if(f|0){e=a[b+28>>2]|0;A=190380+(e<<2)|0;if((b|0)==(a[A>>2]|0)){a[A>>2]=i;if(!i){a[47520]=c&~(1<>2]|0)!=(b|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=f;e=a[b+16>>2]|0;if(e|0){a[i+16>>2]=e;a[e+24>>2]=i}e=a[b+20>>2]|0;if(e|0){a[i+20>>2]=e;a[e+24>>2]=i}}}while(0);if(l>>>0<16){C=l+s|0;a[b+4>>2]=C|3;C=b+C+4|0;a[C>>2]=a[C>>2]|1}else{a[b+4>>2]=s|3;a[t+4>>2]=l|1;a[t+l>>2]=l;if(w|0){r=a[47524]|0;e=w>>>3;i=190116+(e<<1<<2)|0;e=1<>2]|0}a[A>>2]=r;a[e+12>>2]=r;a[r+8>>2]=e;a[r+12>>2]=i}a[47521]=l;a[47524]=t}C=b+8|0;k=I;return C|0}else w=s}else w=s}else w=s}else if(A>>>0<=4294967231){A=A+11|0;s=A&-8;b=a[47520]|0;if(b){r=0-s|0;A=A>>>8;if(A)if(s>>>0>16777215)c=31;else{u=(A+1048320|0)>>>16&8;E=A<>>16&4;E=E<>>16&2;c=14-(w|u|c)+(E<>>15)|0;c=s>>>(c+7|0)&1|c<<1}else c=0;i=a[190380+(c<<2)>>2]|0;A:do{if(!i){i=0;A=0;E=57}else{A=0;t=i;l=s<<((c|0)==31?0:25-(c>>>1)|0);i=0;while(1){f=(a[t+4>>2]&-8)-s|0;if(f>>>0>>0)if(!f){r=0;i=t;A=t;E=61;break A}else{A=t;r=f}f=a[t+20>>2]|0;t=a[t+16+(l>>>31<<2)>>2]|0;i=(f|0)==0|(f|0)==(t|0)?i:f;f=(t|0)==0;if(f){E=57;break}else l=l<<((f^1)&1)}}}while(0);if((E|0)==57){if((i|0)==0&(A|0)==0){A=2<>>12&16;u=u>>>t;l=u>>>5&8;u=u>>>l;c=u>>>2&4;u=u>>>c;w=u>>>1&2;u=u>>>w;i=u>>>1&1;A=0;i=a[190380+((l|t|c|w|i)+(u>>>i)<<2)>>2]|0}if(!i){t=A;l=r}else E=61}if((E|0)==61)while(1){E=0;w=(a[i+4>>2]&-8)-s|0;u=w>>>0>>0;r=u?w:r;A=u?i:A;i=a[i+16+(((a[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=A;l=r;break}else E=61}if((t|0)!=0?l>>>0<((a[47521]|0)-s|0)>>>0:0){n=t+s|0;if(n>>>0<=t>>>0){C=0;k=I;return C|0}f=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){A=t+20|0;e=a[A>>2]|0;if(!e){A=t+16|0;e=a[A>>2]|0;if(!e){e=0;break}}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0}else{C=a[t+8>>2]|0;a[C+12>>2]=e;a[e+8>>2]=C}}while(0);do{if(f){A=a[t+28>>2]|0;i=190380+(A<<2)|0;if((t|0)==(a[i>>2]|0)){a[i>>2]=e;if(!e){r=b&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=e;if(!e){r=b;break}}a[e+24>>2]=f;A=a[t+16>>2]|0;if(A|0){a[e+16>>2]=A;a[A+24>>2]=e}A=a[t+20>>2]|0;if(A){a[e+20>>2]=A;a[A+24>>2]=e;r=b}else r=b}else r=b}while(0);do{if(l>>>0>=16){a[t+4>>2]=s|3;a[n+4>>2]=l|1;a[n+l>>2]=l;e=l>>>3;if(l>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=n;a[e+12>>2]=n;a[n+8>>2]=e;a[n+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)e=31;else{E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;e=14-(g|E|e)+(C<>>15)|0;e=l>>>(e+7|0)&1|e<<1}else e=0;i=190380+(e<<2)|0;a[n+28>>2]=e;A=n+16|0;a[A+4>>2]=0;a[A>>2]=0;A=1<>2]=n;a[n+24>>2]=i;a[n+12>>2]=n;a[n+8>>2]=n;break}A=l<<((e|0)==31?0:25-(e>>>1)|0);i=a[i>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(l|0)){E=97;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=96;break}else{A=A<<1;i=e}}if((E|0)==96){a[r>>2]=n;a[n+24>>2]=i;a[n+12>>2]=n;a[n+8>>2]=n;break}else if((E|0)==97){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=n;a[E>>2]=n;a[n+8>>2]=C;a[n+12>>2]=i;a[n+24>>2]=0;break}}else{C=l+s|0;a[t+4>>2]=C|3;C=t+C+4|0;a[C>>2]=a[C>>2]|1}}while(0);C=t+8|0;k=I;return C|0}else w=s}else w=s}else w=-1}while(0);i=a[47521]|0;if(i>>>0>=w>>>0){e=i-w|0;A=a[47524]|0;if(e>>>0>15){C=A+w|0;a[47524]=C;a[47521]=e;a[C+4>>2]=e|1;a[A+i>>2]=e;a[A+4>>2]=w|3}else{a[47521]=0;a[47524]=0;a[A+4>>2]=i|3;C=A+i+4|0;a[C>>2]=a[C>>2]|1}C=A+8|0;k=I;return C|0}t=a[47522]|0;if(t>>>0>w>>>0){g=t-w|0;a[47522]=g;C=a[47525]|0;E=C+w|0;a[47525]=E;a[E+4>>2]=g|1;a[C+4>>2]=w|3;C=C+8|0;k=I;return C|0}if(!(a[47637]|0)){a[47639]=4096;a[47638]=4096;a[47640]=-1;a[47641]=-1;a[47642]=0;a[47630]=0;a[47637]=o&-16^1431655768;A=4096}else A=a[47639]|0;c=w+48|0;b=w+47|0;l=A+b|0;f=0-A|0;s=l&f;if(s>>>0<=w>>>0){C=0;k=I;return C|0}A=a[47629]|0;if(A|0?(u=a[47627]|0,o=u+s|0,o>>>0<=u>>>0|o>>>0>A>>>0):0){C=0;k=I;return C|0}A:do{if(!(a[47630]&4)){i=a[47525]|0;e:do{if(i){r=190524;while(1){A=a[r>>2]|0;if(A>>>0<=i>>>0?(B=r+4|0,(A+(a[B>>2]|0)|0)>>>0>i>>>0):0)break;A=a[r+8>>2]|0;if(!A){E=118;break e}else r=A}e=l-t&f;if(e>>>0<2147483647){A=D6(e|0)|0;if((A|0)==((a[r>>2]|0)+(a[B>>2]|0)|0)){if((A|0)!=(-1|0)){l=e;n=A;E=135;break A}}else{r=A;E=126}}else e=0}else E=118}while(0);do{if((E|0)==118){i=D6(0)|0;if((i|0)!=(-1|0)?(e=i,h=a[47638]|0,d=h+-1|0,e=((d&e|0)==0?0:(d+e&0-h)-e|0)+s|0,h=a[47627]|0,d=e+h|0,e>>>0>w>>>0&e>>>0<2147483647):0){B=a[47629]|0;if(B|0?d>>>0<=h>>>0|d>>>0>B>>>0:0){e=0;break}A=D6(e|0)|0;if((A|0)==(i|0)){l=e;n=i;E=135;break A}else{r=A;E=126}}else e=0}}while(0);do{if((E|0)==126){i=0-e|0;if(!(c>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){e=0;break}else{l=e;n=r;E=135;break A}A=a[47639]|0;A=b-e+A&0-A;if(A>>>0>=2147483647){l=e;n=r;E=135;break A}if((D6(A|0)|0)==(-1|0)){D6(i|0)|0;e=0;break}else{l=A+e|0;n=r;E=135;break A}}}while(0);a[47630]=a[47630]|4;E=133}else{e=0;E=133}}while(0);if(((E|0)==133?s>>>0<2147483647:0)?(n=D6(s|0)|0,B=D6(0)|0,v=B-n|0,g=v>>>0>(w+40|0)>>>0,!((n|0)==(-1|0)|g^1|n>>>0>>0&((n|0)!=(-1|0)&(B|0)!=(-1|0))^1)):0){l=g?v:e;E=135}if((E|0)==135){e=(a[47627]|0)+l|0;a[47627]=e;if(e>>>0>(a[47628]|0)>>>0)a[47628]=e;c=a[47525]|0;do{if(c){e=190524;while(1){A=a[e>>2]|0;i=e+4|0;r=a[i>>2]|0;if((n|0)==(A+r|0)){E=143;break}f=a[e+8>>2]|0;if(!f)break;else e=f}if(((E|0)==143?(a[e+12>>2]&8|0)==0:0)?n>>>0>c>>>0&A>>>0<=c>>>0:0){a[i>>2]=r+l;C=(a[47522]|0)+l|0;g=c+8|0;g=(g&7|0)==0?0:0-g&7;E=c+g|0;g=C-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[c+C+4>>2]=40;a[47526]=a[47641];break}if(n>>>0<(a[47523]|0)>>>0)a[47523]=n;A=n+l|0;e=190524;while(1){if((a[e>>2]|0)==(A|0)){E=151;break}e=a[e+8>>2]|0;if(!e){A=190524;break}}if((E|0)==151)if(!(a[e+12>>2]&8)){a[e>>2]=n;s=e+4|0;a[s>>2]=(a[s>>2]|0)+l;s=n+8|0;s=n+((s&7|0)==0?0:0-s&7)|0;e=A+8|0;e=A+((e&7|0)==0?0:0-e&7)|0;b=s+w|0;t=e-s-w|0;a[s+4>>2]=w|3;do{if((c|0)!=(e|0)){if((a[47524]|0)==(e|0)){C=(a[47521]|0)+t|0;a[47521]=C;a[47524]=b;a[b+4>>2]=C|1;a[b+C>>2]=C;break}A=a[e+4>>2]|0;if((A&3|0)==1){l=A&-8;r=A>>>3;A:do{if(A>>>0<256){A=a[e+8>>2]|0;i=a[e+12>>2]|0;if((i|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=A;break}}else{n=a[e+24>>2]|0;A=a[e+12>>2]|0;do{if((A|0)==(e|0)){r=e+16|0;i=r+4|0;A=a[i>>2]|0;if(!A){A=a[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=a[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=a[r>>2]|0;if(!f)break;else{A=f;i=r}}a[i>>2]=0}else{C=a[e+8>>2]|0;a[C+12>>2]=A;a[A+8>>2]=C}}while(0);if(!n)break;i=a[e+28>>2]|0;r=190380+(i<<2)|0;do{if((a[r>>2]|0)!=(e|0)){a[n+16+(((a[n+16>>2]|0)!=(e|0)&1)<<2)>>2]=A;if(!A)break A}else{a[r>>2]=A;if(A|0)break;a[47520]=a[47520]&~(1<>2]=n;i=e+16|0;r=a[i>>2]|0;if(r|0){a[A+16>>2]=r;a[r+24>>2]=A}i=a[i+4>>2]|0;if(!i)break;a[A+20>>2]=i;a[i+24>>2]=A}}while(0);e=e+l|0;f=l+t|0}else f=t;e=e+4|0;a[e>>2]=a[e>>2]&-2;a[b+4>>2]=f|1;a[b+f>>2]=f;e=f>>>3;if(f>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=b;a[e+12>>2]=b;a[b+8>>2]=e;a[b+12>>2]=i;break}e=f>>>8;do{if(!e)e=0;else{if(f>>>0>16777215){e=31;break}E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;e=14-(g|E|e)+(C<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);r=190380+(e<<2)|0;a[b+28>>2]=e;A=b+16|0;a[A+4>>2]=0;a[A>>2]=0;A=a[47520]|0;i=1<>2]=b;a[b+24>>2]=r;a[b+12>>2]=b;a[b+8>>2]=b;break}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){E=192;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=191;break}else{A=A<<1;i=e}}if((E|0)==191){a[r>>2]=b;a[b+24>>2]=i;a[b+12>>2]=b;a[b+8>>2]=b;break}else if((E|0)==192){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=b;a[E>>2]=b;a[b+8>>2]=C;a[b+12>>2]=i;a[b+24>>2]=0;break}}else{C=(a[47522]|0)+t|0;a[47522]=C;a[47525]=b;a[b+4>>2]=C|1}}while(0);C=s+8|0;k=I;return C|0}else A=190524;while(1){e=a[A>>2]|0;if(e>>>0<=c>>>0?(C=e+(a[A+4>>2]|0)|0,C>>>0>c>>>0):0)break;A=a[A+8>>2]|0}f=C+-47|0;A=f+8|0;A=f+((A&7|0)==0?0:0-A&7)|0;f=c+16|0;A=A>>>0>>0?c:A;e=A+8|0;i=l+-40|0;g=n+8|0;g=(g&7|0)==0?0:0-g&7;E=n+g|0;g=i-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[n+i+4>>2]=40;a[47526]=a[47641];i=A+4|0;a[i>>2]=27;a[e>>2]=a[47631];a[e+4>>2]=a[47632];a[e+8>>2]=a[47633];a[e+12>>2]=a[47634];a[47631]=n;a[47632]=l;a[47634]=0;a[47633]=e;e=A+24|0;do{E=e;e=e+4|0;a[e>>2]=7}while((E+8|0)>>>0>>0);if((A|0)!=(c|0)){n=A-c|0;a[i>>2]=a[i>>2]&-2;a[c+4>>2]=n|1;a[A>>2]=n;e=n>>>3;if(n>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=c;a[e+12>>2]=c;a[c+8>>2]=e;a[c+12>>2]=i;break}e=n>>>8;if(e)if(n>>>0>16777215)i=31;else{E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;i=14-(g|E|i)+(C<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;r=190380+(i<<2)|0;a[c+28>>2]=i;a[c+20>>2]=0;a[f>>2]=0;e=a[47520]|0;A=1<>2]=c;a[c+24>>2]=r;a[c+12>>2]=c;a[c+8>>2]=c;break}A=n<<((i|0)==31?0:25-(i>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(n|0)){E=213;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=212;break}else{A=A<<1;i=e}}if((E|0)==212){a[r>>2]=c;a[c+24>>2]=i;a[c+12>>2]=c;a[c+8>>2]=c;break}else if((E|0)==213){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=c;a[E>>2]=c;a[c+8>>2]=C;a[c+12>>2]=i;a[c+24>>2]=0;break}}}else{C=a[47523]|0;if((C|0)==0|n>>>0>>0)a[47523]=n;a[47631]=n;a[47632]=l;a[47634]=0;a[47528]=a[47637];a[47527]=-1;a[47532]=190116;a[47531]=190116;a[47534]=190124;a[47533]=190124;a[47536]=190132;a[47535]=190132;a[47538]=190140;a[47537]=190140;a[47540]=190148;a[47539]=190148;a[47542]=190156;a[47541]=190156;a[47544]=190164;a[47543]=190164;a[47546]=190172;a[47545]=190172;a[47548]=190180;a[47547]=190180;a[47550]=190188;a[47549]=190188;a[47552]=190196;a[47551]=190196;a[47554]=190204;a[47553]=190204;a[47556]=190212;a[47555]=190212;a[47558]=190220;a[47557]=190220;a[47560]=190228;a[47559]=190228;a[47562]=190236;a[47561]=190236;a[47564]=190244;a[47563]=190244;a[47566]=190252;a[47565]=190252;a[47568]=190260;a[47567]=190260;a[47570]=190268;a[47569]=190268;a[47572]=190276;a[47571]=190276;a[47574]=190284;a[47573]=190284;a[47576]=190292;a[47575]=190292;a[47578]=190300;a[47577]=190300;a[47580]=190308;a[47579]=190308;a[47582]=190316;a[47581]=190316;a[47584]=190324;a[47583]=190324;a[47586]=190332;a[47585]=190332;a[47588]=190340;a[47587]=190340;a[47590]=190348;a[47589]=190348;a[47592]=190356;a[47591]=190356;a[47594]=190364;a[47593]=190364;C=l+-40|0;g=n+8|0;g=(g&7|0)==0?0:0-g&7;E=n+g|0;g=C-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[n+C+4>>2]=40;a[47526]=a[47641]}}while(0);e=a[47522]|0;if(e>>>0>w>>>0){g=e-w|0;a[47522]=g;C=a[47525]|0;E=C+w|0;a[47525]=E;a[E+4>>2]=g|1;a[C+4>>2]=w|3;C=C+8|0;k=I;return C|0}}a[(X2()|0)>>2]=12;C=0;k=I;return C|0}function L2(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;if(!A)return;i=A+-8|0;f=a[47523]|0;A=a[A+-4>>2]|0;e=A&-8;c=i+e|0;do{if(!(A&1)){r=a[i>>2]|0;if(!(A&3))return;l=i+(0-r)|0;n=r+e|0;if(l>>>0>>0)return;if((a[47524]|0)==(l|0)){A=c+4|0;e=a[A>>2]|0;if((e&3|0)!=3){t=l;e=n;break}a[47521]=n;a[A>>2]=e&-2;a[l+4>>2]=n|1;a[l+n>>2]=n;return}i=r>>>3;if(r>>>0<256){A=a[l+8>>2]|0;e=a[l+12>>2]|0;if((e|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=e;a[e+8>>2]=A;t=l;e=n;break}}f=a[l+24>>2]|0;A=a[l+12>>2]|0;do{if((A|0)==(l|0)){i=l+16|0;e=i+4|0;A=a[e>>2]|0;if(!A){A=a[i>>2]|0;if(!A){A=0;break}else e=i}while(1){i=A+20|0;r=a[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=a[i>>2]|0;if(!r)break;else{A=r;e=i}}a[e>>2]=0}else{t=a[l+8>>2]|0;a[t+12>>2]=A;a[A+8>>2]=t}}while(0);if(f){e=a[l+28>>2]|0;i=190380+(e<<2)|0;if((a[i>>2]|0)==(l|0)){a[i>>2]=A;if(!A){a[47520]=a[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A){t=l;e=n;break}}a[A+24>>2]=f;e=l+16|0;i=a[e>>2]|0;if(i|0){a[A+16>>2]=i;a[i+24>>2]=A}e=a[e+4>>2]|0;if(e){a[A+20>>2]=e;a[e+24>>2]=A;t=l;e=n}else{t=l;e=n}}else{t=l;e=n}}else{t=i;l=i}}while(0);if(l>>>0>=c>>>0)return;A=c+4|0;r=a[A>>2]|0;if(!(r&1))return;if(!(r&2)){if((a[47525]|0)==(c|0)){c=(a[47522]|0)+e|0;a[47522]=c;a[47525]=t;a[t+4>>2]=c|1;if((t|0)!=(a[47524]|0))return;a[47524]=0;a[47521]=0;return}if((a[47524]|0)==(c|0)){c=(a[47521]|0)+e|0;a[47521]=c;a[47524]=l;a[t+4>>2]=c|1;a[l+c>>2]=c;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){e=a[c+8>>2]|0;A=a[c+12>>2]|0;if((A|0)==(e|0)){a[47519]=a[47519]&~(1<>2]=A;a[A+8>>2]=e;break}}else{n=a[c+24>>2]|0;A=a[c+12>>2]|0;do{if((A|0)==(c|0)){i=c+16|0;e=i+4|0;A=a[e>>2]|0;if(!A){A=a[i>>2]|0;if(!A){i=0;break}else e=i}while(1){i=A+20|0;r=a[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=a[i>>2]|0;if(!r)break;else{A=r;e=i}}a[e>>2]=0;i=A}else{i=a[c+8>>2]|0;a[i+12>>2]=A;a[A+8>>2]=i;i=A}}while(0);if(n|0){A=a[c+28>>2]|0;e=190380+(A<<2)|0;if((a[e>>2]|0)==(c|0)){a[e>>2]=i;if(!i){a[47520]=a[47520]&~(1<>2]|0)!=(c|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=n;A=c+16|0;e=a[A>>2]|0;if(e|0){a[i+16>>2]=e;a[e+24>>2]=i}A=a[A+4>>2]|0;if(A|0){a[i+20>>2]=A;a[A+24>>2]=i}}}}while(0);a[t+4>>2]=f|1;a[l+f>>2]=f;if((t|0)==(a[47524]|0)){a[47521]=f;return}}else{a[A>>2]=r&-2;a[t+4>>2]=e|1;a[l+e>>2]=e;f=e}A=f>>>3;if(f>>>0<256){i=190116+(A<<1<<2)|0;e=a[47519]|0;A=1<>2]|0}a[e>>2]=t;a[A+12>>2]=t;a[t+8>>2]=A;a[t+12>>2]=i;return}A=f>>>8;if(A)if(f>>>0>16777215)A=31;else{l=(A+1048320|0)>>>16&8;c=A<>>16&4;c=c<>>16&2;A=14-(n|l|A)+(c<>>15)|0;A=f>>>(A+7|0)&1|A<<1}else A=0;r=190380+(A<<2)|0;a[t+28>>2]=A;a[t+20>>2]=0;a[t+16>>2]=0;e=a[47520]|0;i=1<>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){A=73;break}r=i+16+(e>>>31<<2)|0;A=a[r>>2]|0;if(!A){A=72;break}else{e=e<<1;i=A}}if((A|0)==72){a[r>>2]=t;a[t+24>>2]=i;a[t+12>>2]=t;a[t+8>>2]=t;break}else if((A|0)==73){l=i+8|0;c=a[l>>2]|0;a[c+12>>2]=t;a[l>>2]=t;a[t+8>>2]=c;a[t+12>>2]=i;a[t+24>>2]=0;break}}else{a[47520]=e|i;a[r>>2]=t;a[t+24>>2]=r;a[t+12>>2]=t;a[t+8>>2]=t}}while(0);c=(a[47527]|0)+-1|0;a[47527]=c;if(!c)A=190532;else return;while(1){A=a[A>>2]|0;if(!A)break;else A=A+8|0}a[47527]=-1;return}function W2(A,e){A=A|0;e=e|0;var i=0;if(A){i=U(e,A)|0;if((e|A)>>>0>65535)i=((i>>>0)/(A>>>0)|0|0)==(e|0)?i:-1}else i=0;A=m2(i)|0;if(!A)return A|0;if(!(a[A+-4>>2]&3))return A|0;Y6(A|0,0,i|0)|0;return A|0}function y2(A,e){A=A|0;e=e|0;var i=0,r=0;if(!A){e=m2(e)|0;return e|0}if(e>>>0>4294967231){a[(X2()|0)>>2]=12;e=0;return e|0}i=z2(A+-8|0,e>>>0<11?16:e+11&-8)|0;if(i|0){e=i+8|0;return e|0}i=m2(e)|0;if(!i){e=0;return e|0}r=a[A+-4>>2]|0;r=(r&-8)-((r&3|0)==0?8:4)|0;y6(i|0,A|0,(r>>>0>>0?r:e)|0)|0;L2(A);e=i;return e|0}function z2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=A+4|0;w=a[s>>2]|0;i=w&-8;t=A+i|0;if(!(w&3)){if(e>>>0<256){A=0;return A|0}if(i>>>0>=(e+4|0)>>>0?(i-e|0)>>>0<=a[47639]<<1>>>0:0)return A|0;A=0;return A|0}if(i>>>0>=e>>>0){i=i-e|0;if(i>>>0<=15)return A|0;b=A+e|0;a[s>>2]=w&1|e|2;a[b+4>>2]=i|3;w=t+4|0;a[w>>2]=a[w>>2]|1;Y2(b,i);return A|0}if((a[47525]|0)==(t|0)){b=(a[47522]|0)+i|0;i=b-e|0;r=A+e|0;if(b>>>0<=e>>>0){A=0;return A|0}a[s>>2]=w&1|e|2;a[r+4>>2]=i|1;a[47525]=r;a[47522]=i;return A|0}if((a[47524]|0)==(t|0)){r=(a[47521]|0)+i|0;if(r>>>0>>0){A=0;return A|0}i=r-e|0;if(i>>>0>15){b=A+e|0;r=A+r|0;a[s>>2]=w&1|e|2;a[b+4>>2]=i|1;a[r>>2]=i;r=r+4|0;a[r>>2]=a[r>>2]&-2;r=b}else{a[s>>2]=w&1|r|2;r=A+r+4|0;a[r>>2]=a[r>>2]|1;r=0;i=0}a[47521]=i;a[47524]=r;return A|0}r=a[t+4>>2]|0;if(r&2|0){A=0;return A|0}c=(r&-8)+i|0;if(c>>>0>>0){A=0;return A|0}b=c-e|0;f=r>>>3;do{if(r>>>0<256){r=a[t+8>>2]|0;i=a[t+12>>2]|0;if((i|0)==(r|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=r;break}}else{l=a[t+24>>2]|0;i=a[t+12>>2]|0;do{if((i|0)==(t|0)){f=t+16|0;r=f+4|0;i=a[r>>2]|0;if(!i){i=a[f>>2]|0;if(!i){f=0;break}else n=f}else n=r;while(1){f=i+20|0;r=a[f>>2]|0;if(r|0){i=r;n=f;continue}r=i+16|0;f=a[r>>2]|0;if(!f)break;else{i=f;n=r}}a[n>>2]=0;f=i}else{f=a[t+8>>2]|0;a[f+12>>2]=i;a[i+8>>2]=f;f=i}}while(0);if(l|0){i=a[t+28>>2]|0;r=190380+(i<<2)|0;if((a[r>>2]|0)==(t|0)){a[r>>2]=f;if(!f){a[47520]=a[47520]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=f;if(!f)break}a[f+24>>2]=l;i=t+16|0;r=a[i>>2]|0;if(r|0){a[f+16>>2]=r;a[r+24>>2]=f}i=a[i+4>>2]|0;if(i|0){a[f+20>>2]=i;a[i+24>>2]=f}}}}while(0);if(b>>>0<16){a[s>>2]=c|w&1|2;w=A+c+4|0;a[w>>2]=a[w>>2]|1;return A|0}else{t=A+e|0;a[s>>2]=w&1|e|2;a[t+4>>2]=b|3;w=A+c+4|0;a[w>>2]=a[w>>2]|1;Y2(t,b);return A|0}return 0}function Y2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=A+e|0;i=a[A+4>>2]|0;do{if(!(i&1)){f=a[A>>2]|0;if(!(i&3))return;l=A+(0-f)|0;e=f+e|0;if((a[47524]|0)==(l|0)){A=t+4|0;i=a[A>>2]|0;if((i&3|0)!=3)break;a[47521]=e;a[A>>2]=i&-2;a[l+4>>2]=e|1;a[t>>2]=e;return}r=f>>>3;if(f>>>0<256){A=a[l+8>>2]|0;i=a[l+12>>2]|0;if((i|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=A;break}}n=a[l+24>>2]|0;A=a[l+12>>2]|0;do{if((A|0)==(l|0)){r=l+16|0;i=r+4|0;A=a[i>>2]|0;if(!A){A=a[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=a[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=a[r>>2]|0;if(!f)break;else{A=f;i=r}}a[i>>2]=0}else{f=a[l+8>>2]|0;a[f+12>>2]=A;a[A+8>>2]=f}}while(0);if(n){i=a[l+28>>2]|0;r=190380+(i<<2)|0;if((a[r>>2]|0)==(l|0)){a[r>>2]=A;if(!A){a[47520]=a[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A)break}a[A+24>>2]=n;i=l+16|0;r=a[i>>2]|0;if(r|0){a[A+16>>2]=r;a[r+24>>2]=A}i=a[i+4>>2]|0;if(i){a[A+20>>2]=i;a[i+24>>2]=A}}}else l=A}while(0);A=t+4|0;r=a[A>>2]|0;if(!(r&2)){if((a[47525]|0)==(t|0)){t=(a[47522]|0)+e|0;a[47522]=t;a[47525]=l;a[l+4>>2]=t|1;if((l|0)!=(a[47524]|0))return;a[47524]=0;a[47521]=0;return}if((a[47524]|0)==(t|0)){t=(a[47521]|0)+e|0;a[47521]=t;a[47524]=l;a[l+4>>2]=t|1;a[l+t>>2]=t;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){A=a[t+8>>2]|0;e=a[t+12>>2]|0;if((e|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=e;a[e+8>>2]=A;break}}else{n=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){i=t+16|0;A=i+4|0;e=a[A>>2]|0;if(!e){e=a[i>>2]|0;if(!e){i=0;break}else A=i}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0;i=e}else{i=a[t+8>>2]|0;a[i+12>>2]=e;a[e+8>>2]=i;i=e}}while(0);if(n|0){e=a[t+28>>2]|0;A=190380+(e<<2)|0;if((a[A>>2]|0)==(t|0)){a[A>>2]=i;if(!i){a[47520]=a[47520]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=n;e=t+16|0;A=a[e>>2]|0;if(A|0){a[i+16>>2]=A;a[A+24>>2]=i}e=a[e+4>>2]|0;if(e|0){a[i+20>>2]=e;a[e+24>>2]=i}}}}while(0);a[l+4>>2]=f|1;a[l+f>>2]=f;if((l|0)==(a[47524]|0)){a[47521]=f;return}}else{a[A>>2]=r&-2;a[l+4>>2]=e|1;a[l+e>>2]=e;f=e}e=f>>>3;if(f>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=l;a[e+12>>2]=l;a[l+8>>2]=e;a[l+12>>2]=i;return}e=f>>>8;if(e)if(f>>>0>16777215)e=31;else{n=(e+1048320|0)>>>16&8;t=e<>>16&4;t=t<>>16&2;e=14-(r|n|e)+(t<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;r=190380+(e<<2)|0;a[l+28>>2]=e;a[l+20>>2]=0;a[l+16>>2]=0;A=a[47520]|0;i=1<>2]=l;a[l+24>>2]=r;a[l+12>>2]=l;a[l+8>>2]=l;return}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){e=69;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){e=68;break}else{A=A<<1;i=e}}if((e|0)==68){a[r>>2]=l;a[l+24>>2]=i;a[l+12>>2]=l;a[l+8>>2]=l;return}else if((e|0)==69){n=i+8|0;t=a[n>>2]|0;a[t+12>>2]=l;a[n>>2]=l;a[l+8>>2]=t;a[l+12>>2]=i;a[l+24>>2]=0;return}}function D2(A,e){A=A|0;e=e|0;if(A>>>0<9){e=m2(e)|0;return e|0}else{e=M2(A,e)|0;return e|0}return 0}function M2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;A=A>>>0>16?A:16;if(A+-1&A){i=16;while(1)if(i>>>0>>0)i=i<<1;else{A=i;break}}if((-64-A|0)>>>0<=e>>>0){a[(X2()|0)>>2]=12;l=0;return l|0}n=e>>>0<11?16:e+11&-8;i=m2(n+12+A|0)|0;if(!i){l=0;return l|0}f=i+-8|0;do{if(A+-1&i){r=(i+A+-1&0-A)+-8|0;e=f;r=(r-e|0)>>>0>15?r:r+A|0;e=r-e|0;A=i+-4|0;t=a[A>>2]|0;i=(t&-8)-e|0;if(!(t&3)){a[r>>2]=(a[f>>2]|0)+e;a[r+4>>2]=i;A=r;e=r;break}else{t=r+4|0;a[t>>2]=i|a[t>>2]&1|2;i=r+i+4|0;a[i>>2]=a[i>>2]|1;a[A>>2]=e|a[A>>2]&1|2;a[t>>2]=a[t>>2]|1;Y2(f,e);A=r;e=r;break}}else{A=f;e=f}}while(0);A=A+4|0;i=a[A>>2]|0;if(i&3|0?(l=i&-8,l>>>0>(n+16|0)>>>0):0){t=l-n|0;f=e+n|0;a[A>>2]=n|i&1|2;a[f+4>>2]=t|3;l=e+l+4|0;a[l>>2]=a[l>>2]|1;Y2(f,t)}t=e+8|0;return t|0}function F2(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=R2(a[A+60>>2]|0)|0;A=N2(NA(6,i|0)|0)|0;k=e;return A|0}function V2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+32|0;f=b;t=b+16|0;a[t>>2]=e;n=t+4|0;c=A+48|0;s=a[c>>2]|0;a[n>>2]=i-((s|0)!=0&1);l=A+44|0;a[t+8>>2]=a[l>>2];a[t+12>>2]=s;a[f>>2]=a[A+60>>2];a[f+4>>2]=t;a[f+8>>2]=2;f=N2(mA(145,f|0)|0)|0;if((f|0)>=1){t=a[n>>2]|0;if(f>>>0>t>>>0){n=a[l>>2]|0;l=A+4|0;a[l>>2]=n;a[A+8>>2]=n+(f-t);if(!(a[c>>2]|0))f=i;else{a[l>>2]=n+1;r[e+(i+-1)>>0]=r[n>>0]|0;f=i}}}else a[A>>2]=a[A>>2]|f&48^16;k=b;return f|0}function J2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=k;k=k+32|0;n=f;r=f+20|0;a[n>>2]=a[A+60>>2];a[n+4>>2]=0;a[n+8>>2]=e;a[n+12>>2]=r;a[n+16>>2]=i;if((N2(QA(140,n|0)|0)|0)<0){a[r>>2]=-1;A=-1}else A=a[r>>2]|0;k=f;return A|0}function N2(A){A=A|0;if(A>>>0>4294963200){a[(X2()|0)>>2]=0-A;A=-1}return A|0}function X2(){return 190572}function R2(A){A=A|0;return A|0}function H2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;n=k;k=k+32|0;f=n;a[A+36>>2]=18;if((a[A>>2]&64|0)==0?(a[f>>2]=a[A+60>>2],a[f+4>>2]=21523,a[f+8>>2]=n+16,JA(54,f|0)|0):0)r[A+75>>0]=-1;f=p2(A,e,i)|0;k=n;return f|0}function p2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;w=k;k=k+48|0;b=w+16|0;n=w;f=w+32|0;t=A+28|0;r=a[t>>2]|0;a[f>>2]=r;c=A+20|0;r=(a[c>>2]|0)-r|0;a[f+4>>2]=r;a[f+8>>2]=e;a[f+12>>2]=i;r=r+i|0;l=A+60|0;a[n>>2]=a[l>>2];a[n+4>>2]=f;a[n+8>>2]=2;n=N2(LA(146,n|0)|0)|0;A:do{if((r|0)!=(n|0)){e=2;while(1){if((n|0)<0)break;r=r-n|0;o=a[f+4>>2]|0;u=n>>>0>o>>>0;f=u?f+8|0:f;e=e+(u<<31>>31)|0;o=n-(u?o:0)|0;a[f>>2]=(a[f>>2]|0)+o;u=f+4|0;a[u>>2]=(a[u>>2]|0)-o;a[b>>2]=a[l>>2];a[b+4>>2]=f;a[b+8>>2]=e;n=N2(LA(146,b|0)|0)|0;if((r|0)==(n|0)){s=3;break A}}a[A+16>>2]=0;a[t>>2]=0;a[c>>2]=0;a[A>>2]=a[A>>2]|32;if((e|0)==2)i=0;else i=i-(a[f+4>>2]|0)|0}else s=3}while(0);if((s|0)==3){o=a[A+44>>2]|0;a[A+16>>2]=o+(a[A+48>>2]|0);a[t>>2]=o;a[c>>2]=o}k=w;return i|0}function U2(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=A;a[r+4>>2]=e;e=N2(XA(91,r|0)|0)|0;k=i;return e|0}function x2(){return}function T2(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;t=k;k=k+32|0;l=t;do{if((n&4095|0)==0&(((n|0)<0)<<31>>31&-4096|0)==0){if(e>>>0>2147483646){a[(X2()|0)>>2]=12;A=-1;break}a[l>>2]=A;a[l+4>>2]=e;a[l+8>>2]=i;a[l+12>>2]=r;a[l+16>>2]=f;a[l+20>>2]=n>>12;A=N2(WA(192,l|0)|0)|0}else{a[(X2()|0)>>2]=22;A=-1}}while(0);k=t;return A|0}function j2(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=e&255;A:do{if(!f)A=A+(S2(A)|0)|0;else{if(A&3){i=e&255;do{n=r[A>>0]|0;if(n<<24>>24==0?1:n<<24>>24==i<<24>>24)break A;A=A+1|0}while((A&3|0)!=0)}f=U(f,16843009)|0;i=a[A>>2]|0;e:do{if(!((i&-2139062144^-2139062144)&i+-16843009))do{n=i^f;if((n&-2139062144^-2139062144)&n+-16843009|0)break e;A=A+4|0;i=a[A>>2]|0}while(!((i&-2139062144^-2139062144)&i+-16843009|0))}while(0);i=e&255;while(1){n=r[A>>0]|0;if(n<<24>>24==0?1:n<<24>>24==i<<24>>24)break;else A=A+1|0}}}while(0);return A|0}function S2(A){A=A|0;var e=0,i=0,f=0;f=A;A:do{if(!(f&3))i=4;else{e=f;while(1){if(!(r[A>>0]|0)){A=e;break A}A=A+1|0;e=A;if(!(e&3)){i=4;break}}}}while(0);if((i|0)==4){while(1){e=a[A>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))A=A+4|0;else break}if((e&255)<<24>>24)do{A=A+1|0}while((r[A>>0]|0)!=0)}return A-f|0}function P2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;n=l+16|0;f=l;r=l+32|0;if(!(e&4194368))r=0;else{a[r>>2]=i;t=(a[r>>2]|0)+(4-1)&~(4-1);i=a[t>>2]|0;a[r>>2]=t+4;r=i}a[f>>2]=A;a[f+4>>2]=e|32768;a[f+8>>2]=r;r=VA(5,f|0)|0;if(!((e&524288|0)==0|(r|0)<0)){a[n>>2]=r;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0}t=N2(r)|0;k=l;return t|0}function O2(A,e){A=A|0;e=e|0;var i=0,f=0;f=0;while(1){if((n[144531+f>>0]|0)==(A|0)){A=2;break}i=f+1|0;if((i|0)==87){i=144619;f=87;A=5;break}else f=i}if((A|0)==2)if(!f)i=144619;else{i=144619;A=5}if((A|0)==5)while(1){do{A=i;i=i+1|0}while((r[A>>0]|0)!=0);f=f+-1|0;if(!f)break;else A=5}return K2(i,a[e+20>>2]|0)|0}function K2(A,e){A=A|0;e=e|0;return _2(A,e)|0}function _2(A,e){A=A|0;e=e|0;if(!e)e=0;else e=q2(a[e>>2]|0,a[e+4>>2]|0,A)|0;return(e|0?e:A)|0}function q2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=(a[A>>2]|0)+1794895138|0;l=$2(a[A+8>>2]|0,k)|0;f=$2(a[A+12>>2]|0,k)|0;n=$2(a[A+16>>2]|0,k)|0;A:do{if((l>>>0>>2>>>0?(u=e-(l<<2)|0,f>>>0>>0&n>>>0>>0):0)?((n|f)&3|0)==0:0){u=f>>>2;w=n>>>2;s=0;while(1){c=l>>>1;b=s+c|0;t=b<<1;n=t+u|0;f=$2(a[A+(n<<2)>>2]|0,k)|0;n=$2(a[A+(n+1<<2)>>2]|0,k)|0;if(!(n>>>0>>0&f>>>0<(e-n|0)>>>0)){f=0;break A}if(r[A+(n+f)>>0]|0){f=0;break A}f=A1(i,A+n|0)|0;if(!f)break;f=(f|0)<0;if((l|0)==1){f=0;break A}else{s=f?s:b;l=f?c:l-c|0}}f=t+w|0;n=$2(a[A+(f<<2)>>2]|0,k)|0;f=$2(a[A+(f+1<<2)>>2]|0,k)|0;if(f>>>0>>0&n>>>0<(e-f|0)>>>0)f=(r[A+(f+n)>>0]|0)==0?A+f|0:0;else f=0}else f=0}while(0);return f|0}function $2(A,e){A=A|0;e=e|0;var i=0;i=m6(A|0)|0;return((e|0)==0?A:i)|0}function A1(A,e){A=A|0;e=e|0;var i=0,f=0;i=r[A>>0]|0;f=r[e>>0]|0;if(i<<24>>24==0?1:i<<24>>24!=f<<24>>24)A=f;else{do{A=A+1|0;e=e+1|0;i=r[A>>0]|0;f=r[e>>0]|0}while(!(i<<24>>24==0?1:i<<24>>24!=f<<24>>24));A=f}return(i&255)-(A&255)|0}function e1(A){A=A|0;return O2(A,a[(i1()|0)+188>>2]|0)|0}function i1(){return r1()|0}function r1(){return 62976}function f1(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0.0,a=0.0;a=A*A;r=a*(a*a)*(a*1.58969099521155e-10+-2.5050760253406863e-08)+(a*(a*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);f=a*A;if(!i)A=f*(a*r+-.16666666666666632)+A;else A=A-(f*.16666666666666632+(a*(e*.5-f*r)-e));return+A}function a1(A){A=+A;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;b[w>>3]=A;e=a[w>>2]|0;i=a[w+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;r=-1077;e=a[w>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;a[w>>2]=e;a[w+4>>2]=(f&1048575)+1072079006;s=+b[w>>3]+-1.0;t=s*(s*.5);l=s/(s+2.0);c=l*l;n=c*c;b[w>>3]=s-t;i=a[w+4>>2]|0;a[w>>2]=0;a[w+4>>2]=i;A=+b[w>>3];n=s-A-t+l*(t+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));c=A*1.4426950407214463;t=+(r+(f>>>20)|0);l=c+t;A=l+(c+(t-l)+(n*1.4426950407214463+(n+A)*1.6751713164886512e-10))}return+A}function n1(A,e){A=+A;e=e|0;var i=0,r=0,f=0;b[w>>3]=A;i=a[w>>2]|0;r=a[w+4>>2]|0;f=Z6(i|0,r|0,52)|0;switch(f&2047){case 0:{if(A!=0.0){A=+n1(A*18446744073709551616.0,e);i=(a[e>>2]|0)+-64|0}else i=0;a[e>>2]=i;break}case 2047:break;default:{a[e>>2]=(f&2047)+-1022;a[w>>2]=i;a[w+4>>2]=r&-2146435073|1071644672;A=+b[w>>3]}}return+A}function l1(A,e){A=+A;e=+e;var i=0.0,r=0.0,f=0.0,a=0.0;i=A*A;r=i*i;f=i*.5;a=1.0-f;return+(a+(1.0-a-f+(i*(i*(i*(i*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+r*r*(i*(2.087572321298175e-09-i*1.1359647557788195e-11)+-2.7557314351390663e-07))-A*e)))}function t1(A){A=+A;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;b[w>>3]=A;e=a[w>>2]|0;i=a[w+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;r=-1077;e=a[w>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;a[w>>2]=e;a[w+4>>2]=(f&1048575)+1072079006;t=+b[w>>3]+-1.0;l=t*(t*.5);c=t/(t+2.0);s=c*c;n=s*s;b[w>>3]=t-l;i=a[w+4>>2]|0;a[w>>2]=0;a[w+4>>2]=i;A=+b[w>>3];n=t-A-l+c*(l+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+s*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));s=A*.4342944818781689;l=+(r+(f>>>20)|0);c=l*.30102999566361177;t=c+s;A=t+(s+(c-t)+(n*.4342944818781689+(l*3.694239077158931e-13+(n+A)*2.5082946711645275e-11)))}return+A}function c1(A,e){A=+A;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+48|0;c=d+16|0;s=d;b[w>>3]=A;i=a[w>>2]|0;l=a[w+4>>2]|0;u=Z6(i|0,l|0,63)|0;h=l&2147483647;do{if(h>>>0<1074752123)if((l&1048575|0)!=598523){i=(u|0)!=0;if(h>>>0<1073928573)if(i){n=A+1.5707963267341256;t=n+6.077100506506192e-11;b[e>>3]=t;b[e+8>>3]=n-t+6.077100506506192e-11;i=-1;break}else{n=A+-1.5707963267341256;t=n+-6.077100506506192e-11;b[e>>3]=t;b[e+8>>3]=n-t+-6.077100506506192e-11;i=1;break}else if(i){n=A+3.1415926534682512;t=n+1.2154201013012384e-10;b[e>>3]=t;b[e+8>>3]=n-t+1.2154201013012384e-10;i=-2;break}else{n=A+-3.1415926534682512;t=n+-1.2154201013012384e-10;b[e>>3]=t;b[e+8>>3]=n-t+-1.2154201013012384e-10;i=2;break}}else o=21;else{if(h>>>0<1075594812)if(h>>>0<1075183037){if((h|0)==1074977148){o=21;break}if(!u){n=A+-4.712388980202377;t=n+-1.8231301519518578e-10;b[e>>3]=t;b[e+8>>3]=n-t+-1.8231301519518578e-10;i=3;break}else{n=A+4.712388980202377;t=n+1.8231301519518578e-10;b[e>>3]=t;b[e+8>>3]=n-t+1.8231301519518578e-10;i=-3;break}}else{if((h|0)==1075388923){o=21;break}if(!u){n=A+-6.2831853069365025;t=n+-2.430840202602477e-10;b[e>>3]=t;b[e+8>>3]=n-t+-2.430840202602477e-10;i=4;break}else{n=A+6.2831853069365025;t=n+2.430840202602477e-10;b[e>>3]=t;b[e+8>>3]=n-t+2.430840202602477e-10;i=-4;break}}if(h>>>0>=1094263291){if(h>>>0>2146435071){t=A-A;b[e+8>>3]=t;b[e>>3]=t;i=0;break}a[w>>2]=i;a[w+4>>2]=l&1048575|1096810496;A=+b[w>>3];i=0;do{t=+(~~A|0);b[c+(i<<3)>>3]=t;A=(A-t)*16777216.0;i=i+1|0}while((i|0)!=2);b[c+16>>3]=A;if(A==0.0){i=1;while(1)if(+b[c+(i<<3)>>3]==0.0)i=i+-1|0;else break}else i=2;i=b1(c,s,(h>>>20)+-1046|0,i+1|0,1)|0;A=+b[s>>3];if(!u){b[e>>3]=A;b[e+8>>3]=+b[s+8>>3];break}else{b[e>>3]=-A;b[e+8>>3]=-+b[s+8>>3];i=0-i|0;break}}else o=21}}while(0);if((o|0)==21){n=A*.6366197723675814+6755399441055744.0+-6755399441055744.0;i=~~n;r=A-n*1.5707963267341256;f=n*6.077100506506192e-11;A=r-f;b[e>>3]=A;b[w>>3]=A;o=Z6(a[w>>2]|0,a[w+4>>2]|0,52)|0;l=h>>>20;if((l-(o&2047)|0)>16){f=n*6.077100506303966e-11;t=r-f;f=n*2.0222662487959506e-21-(r-t-f);A=t-f;b[e>>3]=A;b[w>>3]=A;h=Z6(a[w>>2]|0,a[w+4>>2]|0,52)|0;B=n*2.0222662487111665e-21;r=t-B;n=n*8.4784276603689e-32-(t-r-B);if((l-(h&2047)|0)>49){A=r-n;b[e>>3]=A;f=n}else r=t}b[e+8>>3]=r-A-f}k=d;return i|0}function b1(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,y=0,z=0,Y=0,D=0,M=0.0;D=k;k=k+560|0;m=D+480|0;G=D+320|0;Y=D+160|0;y=D;L=a[63220+(f<<2)>>2]|0;o=r+-1|0;Z=(i+-3|0)/24|0;Z=(Z|0)>0?Z:0;Q=U(Z,-24)|0;t=i+-24+Q|0;if((L+o|0)>=0){w=L+r|0;c=Z-o|0;s=0;while(1){if((c|0)<0)n=0.0;else n=+(a[63236+(c<<2)>>2]|0);b[G+(s<<3)>>3]=n;s=s+1|0;if((s|0)==(w|0))break;else c=c+1|0}}u=(r|0)>0;w=0;while(1){if(u){s=w+o|0;n=0.0;c=0;do{n=n+ +b[A+(c<<3)>>3]*+b[G+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else n=0.0;b[y+(w<<3)>>3]=n;if((w|0)<(L|0))w=w+1|0;else break}v=(t|0)>0;g=24-t|0;E=23-t|0;C=(r|0)>0;I=(t|0)==0;c=L;A:while(1){n=+b[y+(c<<3)>>3];u=(c|0)>0;if(u){s=c;w=0;while(1){l=+(~~(n*5.9604644775390625e-08)|0);a[m+(w<<2)>>2]=~~(n-l*16777216.0);B=s;s=s+-1|0;n=+b[y+(s<<3)>>3]+l;if((B|0)<=1)break;else w=w+1|0}}n=+s1(n,t);n=n-+W(+(n*.125))*8.0;s=~~n;n=n-+(s|0);do{if(!v)if(!I)if(!(n>=.5)){o=0;B=s;break}else{w=2;z=20;break}else{w=a[m+(c+-1<<2)>>2]>>23;z=19;break}else{B=m+(c+-1<<2)|0;w=a[B>>2]|0;z=w>>g;w=w-(z<>2]=w;w=w>>E;s=z+s|0;z=19}}while(0);if((z|0)==19){z=0;if((w|0)>0)z=20;else{o=w;B=s}}if((z|0)==20){z=0;B=s+1|0;if(u){s=0;d=0;do{o=m+(d<<2)|0;h=a[o>>2]|0;if(!s)if(!h)s=0;else{s=1;u=16777216;z=23}else{u=16777215;z=23}if((z|0)==23){z=0;a[o>>2]=u-h}d=d+1|0}while((d|0)!=(c|0))}else s=0;e:do{if(v){switch(t|0){case 1:{u=8388607;break}case 2:{u=4194303;break}default:break e}d=m+(c+-1<<2)|0;a[d>>2]=a[d>>2]&u}}while(0);if((w|0)==2){n=1.0-n;if(!s)o=2;else{o=2;n=n-+s1(1.0,t)}}else o=w}if(!(n==0.0)){z=42;break}if((c|0)>(L|0)){s=0;w=c;do{w=w+-1|0;s=a[m+(w<<2)>>2]|s}while((w|0)>(L|0));if(s){z=41;break}else s=1}else s=1;while(1)if(!(a[m+(L-s<<2)>>2]|0))s=s+1|0;else break;u=s+c|0;if((s|0)<=0){c=u;continue}while(1){w=c+1|0;s=c+r|0;b[G+(s<<3)>>3]=+(a[63236+(w+Z<<2)>>2]|0);if(C){n=0.0;c=0;do{n=n+ +b[A+(c<<3)>>3]*+b[G+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else n=0.0;b[y+(w<<3)>>3]=n;if((w|0)<(u|0))c=w;else{c=u;continue A}}}if((z|0)==41)while(1){z=0;t=t+-24|0;c=c+-1|0;if(!(a[m+(c<<2)>>2]|0))z=41;else{u=c;break}}else if((z|0)==42){n=+s1(n,0-t|0);if(n>=16777216.0){l=+(~~(n*5.9604644775390625e-08)|0);a[m+(c<<2)>>2]=~~(n-l*16777216.0);t=Q+i|0;c=c+1|0;n=l}a[m+(c<<2)>>2]=~~n;u=c}w=(u|0)>-1;if(w){n=+s1(1.0,t);t=u;while(1){b[y+(t<<3)>>3]=n*+(a[m+(t<<2)>>2]|0);if((t|0)>0){n=n*5.9604644775390625e-08;t=t+-1|0}else break}if(w){c=u;while(1){s=u-c|0;t=0;n=0.0;while(1){n=n+ +b[10904+(t<<3)>>3]*+b[y+(t+c<<3)>>3];if((t|0)>=(L|0)|(t|0)>=(s|0))break;else t=t+1|0}b[Y+(s<<3)>>3]=n;if((c|0)>0)c=c+-1|0;else break}}}switch(f|0){case 0:{if(w){n=0.0;t=u;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else n=0.0;l=(o|0)==0?n:-n;z=73;break}case 2:case 1:{if(w){n=0.0;t=u;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else n=0.0;c=(o|0)==0;b[e>>3]=c?n:-n;n=+b[Y>>3]-n;if((u|0)>=1){t=1;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)==(u|0))break;else t=t+1|0}}l=c?n:-n;e=e+8|0;z=73;break}case 3:{if((u|0)>0){t=u;n=+b[Y+(u<<3)>>3];do{z=t;t=t+-1|0;y=Y+(t<<3)|0;l=+b[y>>3];M=n;n=l+n;b[Y+(z<<3)>>3]=M+(l-n);b[y>>3]=n}while((z|0)>1);c=(u|0)>1;if(c){t=u;n=+b[Y+(u<<3)>>3];do{z=t;t=t+-1|0;y=Y+(t<<3)|0;M=+b[y>>3];l=n;n=M+n;b[Y+(z<<3)>>3]=l+(M-n);b[y>>3]=n}while((z|0)>2);if(c){t=u;l=0.0;while(1){l=l+ +b[Y+(t<<3)>>3];if((t|0)>2)t=t+-1|0;else break}}else l=0.0}else l=0.0}else l=0.0;n=+b[Y>>3];if(!o){b[e>>3]=n;n=+b[Y+8>>3]}else{b[e>>3]=-n;l=-l;n=-+b[Y+8>>3]}b[e+8>>3]=n;e=e+16|0;z=73;break}default:{}}if((z|0)==73)b[e>>3]=l;k=D;return B&7|0}function s1(A,e){A=+A;e=e|0;var i=0,r=0;if((e|0)<=1023){if((e|0)<-1022){A=A*2.2250738585072014e-308;r=(e|0)<-2044;i=e+2044|0;A=r?A*2.2250738585072014e-308:A;e=r?(i|0)>-1022?i:-1022:e+1022|0}}else{A=A*8988465674311579538646525.0e283;i=(e|0)>2046;r=e+-2046|0;A=i?A*8988465674311579538646525.0e283:A;e=i?(r|0)<1023?r:1023:e+-1023|0}i=G6(e+1023|0,0,52)|0;r=L;a[w>>2]=i;a[w+4>>2]=r;return+(A*+b[w>>3])}function w1(A){A=+A;var e=0,i=0,r=0,f=0.0,n=0.0;b[w>>3]=A;i=a[w+4>>2]|0;e=i&2147483647;do{if(e>>>0>2146435071)A=A+A;else{if(e>>>0<1048576){b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;e=i&2147483647;if(!e)break;else r=696219795}else r=715094163;a[w>>2]=0;a[w+4>>2]=((e>>>0)/3|0)+r|i&-2147483648;f=+b[w>>3];n=f*f*(f/A);b[w>>3]=(n*(n*n)*(n*.14599619288661245+-.758397934778766)+(n*(n*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;i=d6(a[w>>2]|0,a[w+4>>2]|0,-2147483648,0)|0;r=L;a[w>>2]=i&-1073741824;a[w+4>>2]=r;f=+b[w>>3];A=A/(f*f);A=(A-f)/(f+f+A)*f+f}}while(0);return+A}function u1(A,e){A=+A;e=+e;var i=0,r=0;b[w>>3]=A;r=a[w>>2]|0;i=a[w+4>>2]|0;b[w>>3]=e;i=a[w+4>>2]&-2147483648|i&2147483647;a[w>>2]=r;a[w+4>>2]=i;return+ +b[w>>3]}function k1(A,e){A=+A;e=+e;return+ +u1(A,e)}function o1(A,e){A=+A;e=e|0;return+ +s1(A,e)}function h1(A,e){A=+A;e=+e;return+ +d1(A,e)}function d1(A,e){A=+A;e=+e;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,u=0,k=0,o=0,h=0;b[w>>3]=A;l=a[w>>2]|0;c=a[w+4>>2]|0;b[w>>3]=e;u=a[w>>2]|0;k=a[w+4>>2]|0;r=Z6(l|0,c|0,52)|0;r=r&2047;s=Z6(u|0,k|0,52)|0;s=s&2047;o=c&-2147483648;n=G6(u|0,k|0,1)|0;t=L;A:do{if(!((n|0)==0&(t|0)==0)?(f=B1(e)|0,i=L&2147483647,!((r|0)==2047|(i>>>0>2146435072|(i|0)==2146435072&f>>>0>0))):0){i=G6(l|0,c|0,1)|0;f=L;if(!(f>>>0>t>>>0|(f|0)==(t|0)&i>>>0>n>>>0))return+((i|0)==(n|0)&(f|0)==(t|0)?A*0.0:A);if(!r){i=G6(l|0,c|0,12)|0;f=L;if((f|0)>-1|(f|0)==-1&i>>>0>4294967295){r=0;do{r=r+-1|0;i=G6(i|0,f|0,1)|0;f=L}while((f|0)>-1|(f|0)==-1&i>>>0>4294967295)}else r=0;l=G6(l|0,c|0,1-r|0)|0;n=L}else n=c&1048575|1048576;if(!s){f=G6(u|0,k|0,12)|0;t=L;if((t|0)>-1|(t|0)==-1&f>>>0>4294967295){i=0;do{i=i+-1|0;f=G6(f|0,t|0,1)|0;t=L}while((t|0)>-1|(t|0)==-1&f>>>0>4294967295)}else i=0;u=G6(u|0,k|0,1-i|0)|0;s=i;c=L}else c=k&1048575|1048576;f=B6(l|0,n|0,u|0,c|0)|0;i=L;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;e:do{if((r|0)>(s|0)){while(1){if(t){if((f|0)==0&(i|0)==0)break}else{f=l;i=n}l=G6(f|0,i|0,1)|0;n=L;r=r+-1|0;f=B6(l|0,n|0,u|0,c|0)|0;i=L;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;if((r|0)<=(s|0))break e}e=A*0.0;break A}}while(0);if(t){if((f|0)==0&(i|0)==0){e=A*0.0;break}}else{i=n;f=l}if(i>>>0<1048576|(i|0)==1048576&f>>>0<0)do{f=G6(f|0,i|0,1)|0;i=L;r=r+-1|0}while(i>>>0<1048576|(i|0)==1048576&f>>>0<0);if((r|0)>0){k=d6(f|0,i|0,0,-1048576)|0;i=L;r=G6(r|0,0,52)|0;i=i|L;r=k|r}else{r=Z6(f|0,i|0,1-r|0)|0;i=L}a[w>>2]=r;a[w+4>>2]=i|o;e=+b[w>>3]}else h=3}while(0);if((h|0)==3){e=A*e;e=e/e}return+e}function B1(A){A=+A;var e=0;b[w>>3]=A;e=a[w>>2]|0;L=a[w+4>>2]|0;return e|0}function v1(A,e){A=+A;e=+e;var i=0.0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,u=0,o=0,h=0,d=0,B=0,v=0;h=k;k=k+32|0;c=h+24|0;s=h+16|0;u=h+8|0;o=h;b[w>>3]=A;v=a[w>>2]|0;n=a[w+4>>2]|0;b[w>>3]=e;r=a[w>>2]|0;n=n&2147483647;f=a[w+4>>2]&2147483647;l=n>>>0>>0|(n|0)==(f|0)&v>>>0>>0;B=l?r:v;d=l?f:n;r=l?v:r;f=l?n:f;n=Z6(B|0,d|0,52)|0;l=Z6(r|0,f|0,52)|0;a[w>>2]=B;a[w+4>>2]=d;A=+b[w>>3];a[w>>2]=r;a[w+4>>2]=f;t=+b[w>>3];do{if((l|0)!=2047){if(!((r|0)==0&(f|0)==0|(n|0)==2047)){if((n-l|0)>64){A=A+t;break}if((n|0)>1533){i=5260135901548373507240989.0e186;e=A*1.90109156629516e-211;A=t*1.90109156629516e-211}else{v=(l|0)<573;i=v?1.90109156629516e-211:1.0;e=v?A*5260135901548373507240989.0e186:A;A=v?t*5260135901548373507240989.0e186:t}g1(c,s,e);g1(u,o,A);A=i*+z(+(+b[o>>3]+ +b[s>>3]+ +b[u>>3]+ +b[c>>3]))}}else A=t}while(0);k=h;return+A}function g1(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=i*134217729.0;f=f+(i-f);r=i-f;i=i*i;b[A>>3]=i;b[e>>3]=r*r+(f*f-i+f*2.0*r);return}function E1(A,e,i){A=+A;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0,t=0,c=0;t=k;k=k+16|0;n=t;b[w>>3]=A;f=a[w+4>>2]&2147483647;do{if(f>>>0<1072243196)if(f>>>0<1044816030){b[e>>3]=A;b[i>>3]=1.0;break}else{b[e>>3]=+f1(A,0.0,0);b[i>>3]=+l1(A,0.0);break}else{if(f>>>0>2146435071){l=A-A;b[i>>3]=l;b[e>>3]=l;break}f=c1(A,n)|0;c=n+8|0;r=+f1(+b[n>>3],+b[c>>3],1);A=+l1(+b[n>>3],+b[c>>3]);switch(f&3){case 0:{b[e>>3]=r;l=A;break}case 1:{b[e>>3]=A;l=-r;break}case 2:{b[e>>3]=-r;l=-A;break}case 3:{b[e>>3]=-A;l=r;break}default:{}}b[i>>3]=l}}while(0);k=t;return}function C1(A,e){A=+A;e=e|0;return+ +n1(A,e)}function I1(A){A=A|0;if(A>>>0<131072)A=(n[146423+((n[146423+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=0;return A|0}function Z1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;if(!i)f=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))f=0;else while(1){i=i+-1|0;a=r[e>>0]|0;if(!(f<<24>>24==a<<24>>24&((i|0)!=0&a<<24>>24!=0)))break A;A=A+1|0;e=e+1|0;f=r[A>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);f=(f&255)-(n[e>>0]|0)|0}return f|0}function G1(A,e){A=A|0;e=e|0;A=j2(A,e)|0;return((r[A>>0]|0)==(e&255)<<24>>24?A:0)|0}function Q1(A){A=A|0;return((A|0)==32|(A+-9|0)>>>0<5)&1|0}function m1(A,e,i){A=A|0;e=e|0;i=i|0;i=W1(A,e,i,-1,0)|0;return i|0}function L1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=e&255;f=(i|0)!=0;A:do{if(f&(A&3|0)!=0){n=e&255;while(1){if((r[A>>0]|0)==n<<24>>24){t=6;break A}A=A+1|0;i=i+-1|0;f=(i|0)!=0;if(!(f&(A&3|0)!=0)){t=5;break}}}else t=5}while(0);if((t|0)==5)if(f)t=6;else i=0;A:do{if((t|0)==6){n=e&255;if((r[A>>0]|0)!=n<<24>>24){f=U(l,16843009)|0;e:do{if(i>>>0>3)while(1){l=a[A>>2]^f;if((l&-2139062144^-2139062144)&l+-16843009|0)break;A=A+4|0;i=i+-4|0;if(i>>>0<=3){t=11;break e}}else t=11}while(0);if((t|0)==11)if(!i){i=0;break}while(1){if((r[A>>0]|0)==n<<24>>24)break A;A=A+1|0;i=i+-1|0;if(!i){i=0;break}}}}}while(0);return(i|0?A:0)|0}function W1(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+128|0;l=c;a[l>>2]=0;t=l+4|0;a[t>>2]=A;a[l+44>>2]=A;n=l+8|0;a[n>>2]=(A|0)<0?-1:A+2147483647|0;a[l+76>>2]=-1;y1(l,0);i=z1(l,i,1,r,f)|0;if(e|0)a[e>>2]=A+((a[t>>2]|0)+(a[l+108>>2]|0)-(a[n>>2]|0));k=c;return i|0}function y1(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;a[A+104>>2]=e;i=a[A+8>>2]|0;r=a[A+4>>2]|0;f=i-r|0;a[A+108>>2]=f;a[A+100>>2]=(e|0)!=0&(f|0)>(e|0)?r+e|0:i;return}function z1(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;A:do{if(e>>>0>36){a[(X2()|0)>>2]=22;l=0;f=0}else{d=A+4|0;h=A+100|0;do{t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0}while((Q1(t)|0)!=0);e:do{switch(t|0){case 43:case 45:{t=((t|0)==45)<<31>>31;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;o=t;t=n[c>>0]|0;break e}else{o=t;t=Y1(A)|0;break e}}default:o=0}}while(0);c=(e|0)==0;do{if((e|16|0)==16&(t|0)==48){t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0;if((t|32|0)!=120)if(c){e=8;u=46;break}else{u=32;break}t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0;if((n[149592+t>>0]|0)>15){f=(a[h>>2]|0)==0;if(!f)a[d>>2]=(a[d>>2]|0)+-1;if(!i){y1(A,0);l=0;f=0;break A}if(f){l=0;f=0;break A}a[d>>2]=(a[d>>2]|0)+-1;l=0;f=0;break A}else{e=16;u=46}}else{e=c?10:e;if(e>>>0>(n[149592+t>>0]|0)>>>0)u=32;else{if(a[h>>2]|0)a[d>>2]=(a[d>>2]|0)+-1;y1(A,0);a[(X2()|0)>>2]=22;l=0;f=0;break A}}}while(0);e:do{if((u|0)==32)if((e|0)==10){e=t+-48|0;if(e>>>0<10){t=0;c=e;do{t=(t*10|0)+c|0;e=a[d>>2]|0;if(e>>>0<(a[h>>2]|0)>>>0){a[d>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;c=e+-48|0}while(c>>>0<10&t>>>0<429496729);i=0}else{e=t;t=0;i=0}b=e+-48|0;if(b>>>0<10){c=e;do{e=h6(t|0,i|0,10,0)|0;s=L;w=((b|0)<0)<<31>>31;k=~w;if(s>>>0>k>>>0|(s|0)==(k|0)&e>>>0>~b>>>0){e=10;u=72;break e}t=d6(e|0,s|0,b|0,w|0)|0;i=L;e=a[d>>2]|0;if(e>>>0<(a[h>>2]|0)>>>0){a[d>>2]=e+1;c=n[e>>0]|0}else c=Y1(A)|0;b=c+-48|0}while(b>>>0<10&(i>>>0<429496729|(i|0)==429496729&t>>>0<2576980378));if(b>>>0>9){c=o;e=i}else{e=10;u=72}}else{c=o;e=i}}else u=46}while(0);e:do{if((u|0)==46){if(!(e+-1&e)){u=r[149848+((e*23|0)>>>5&7)>>0]|0;i=r[149592+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;b=c;do{t=b|t<>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;b=i&255}while(t>>>0<134217728&e>>>0>b>>>0);b=0}else{c=t;b=0;t=0}s=Z6(-1,-1,u|0)|0;w=L;if(e>>>0<=(i&255)>>>0|(w>>>0>>0|(w|0)==(b|0)&s>>>0>>0)){i=b;u=72;break}else c=b;while(1){t=G6(t|0,c|0,u|0)|0;b=L;t=t|i&255;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;if(e>>>0<=(i&255)>>>0|(b>>>0>w>>>0|(b|0)==(w|0)&t>>>0>s>>>0)){i=b;u=72;break e}else c=b}}i=r[149592+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;b=c;do{t=b+(U(t,e)|0)|0;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;b=i&255}while(t>>>0<119304647&e>>>0>b>>>0);b=0}else{c=t;t=0;b=0}if(e>>>0>(i&255)>>>0){u=E6(-1,-1,e|0,0)|0;k=L;w=b;while(1){if(w>>>0>k>>>0|(w|0)==(k|0)&t>>>0>u>>>0){i=w;u=72;break e}b=h6(t|0,w|0,e|0,0)|0;s=L;i=i&255;if(s>>>0>4294967295|(s|0)==-1&b>>>0>~i>>>0){i=w;u=72;break e}t=d6(b|0,s|0,i|0,0)|0;b=L;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;if(e>>>0<=(i&255)>>>0){i=b;u=72;break}else w=b}}else{i=b;u=72}}}while(0);if((u|0)==72)if(e>>>0>(n[149592+c>>0]|0)>>>0){do{t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0}while(e>>>0>(n[149592+t>>0]|0)>>>0);a[(X2()|0)>>2]=34;c=(f&1|0)==0&0==0?o:0;e=l;t=f}else{c=o;e=i}if(a[h>>2]|0)a[d>>2]=(a[d>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(l|0)&t>>>0>>0)){if(!((f&1|0)!=0|0!=0|(c|0)!=0)){a[(X2()|0)>>2]=34;f=d6(f|0,l|0,-1,-1)|0;l=L;break}if(e>>>0>l>>>0|(e|0)==(l|0)&t>>>0>f>>>0){a[(X2()|0)>>2]=34;break}}f=((c|0)<0)<<31>>31;f=B6(t^c|0,e^f|0,c|0,f|0)|0;l=L}}while(0);L=l;return f|0}function Y1(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;i=A+104|0;l=a[i>>2]|0;if((l|0)!=0?(a[A+108>>2]|0)>=(l|0):0)t=4;else{e=D1(A)|0;if((e|0)>=0){f=a[i>>2]|0;i=A+8|0;if(f){c=a[i>>2]|0;l=a[A+4>>2]|0;i=f-(a[A+108>>2]|0)|0;f=c;if((c-l|0)<(i|0))i=f;else i=l+(i+-1)|0}else{f=a[i>>2]|0;i=f}a[A+100>>2]=i;i=A+4|0;if(!f)i=a[i>>2]|0;else{i=a[i>>2]|0;c=A+108|0;a[c>>2]=f+1-i+(a[c>>2]|0)}i=i+-1|0;if((e|0)!=(n[i>>0]|0|0))r[i>>0]=e}else t=4}if((t|0)==4){a[A+100>>2]=0;e=-1}return e|0}function D1(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;if((M1(A)|0)==0?(W5[a[A+32>>2]&63](A,e,1)|0)==1:0)A=n[e>>0]|0;else A=-1;k=i;return A|0}function M1(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=A+20|0;i=A+28|0;if((a[e>>2]|0)>>>0>(a[i>>2]|0)>>>0)W5[a[A+36>>2]&63](A,0,0)|0;a[A+16>>2]=0;a[i>>2]=0;a[e>>2]=0;e=a[A>>2]|0;if(!(e&4)){i=(a[A+44>>2]|0)+(a[A+48>>2]|0)|0;a[A+8>>2]=i;a[A+4>>2]=i;e=e<<27>>31}else{a[A>>2]=e|32;e=-1}return e|0}function F1(A){A=A|0;return(A+-48|0)>>>0<10|0}function V1(A){A=A|0;return((A+-48|0)>>>0<10|(J1(A)|0)!=0)&1|0}function J1(A){A=A|0;return((A|32)+-97|0)>>>0<26|0}function N1(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=r[A>>0]|0;A:do{if(!(i<<24>>24))i=0;else{a=i&255;while(1){f=r[e>>0]|0;if(!(f<<24>>24))break A;if(i<<24>>24!=f<<24>>24?(a=X1(a)|0,(a|0)!=(X1(f&255)|0)):0)break A;A=A+1|0;e=e+1|0;i=r[A>>0]|0;if(!(i<<24>>24)){i=0;break}else a=i&255}}}while(0);a=X1(i&255)|0;return a-(X1(n[e>>0]|0)|0)|0}function X1(A){A=A|0;var e=0;e=(R1(A)|0)==0;return(e?A:A|32)|0}function R1(A){A=A|0;return(A+-65|0)>>>0<26|0}function H1(A){A=A|0;return p1(A,0)|0}function p1(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,c=0,b=0,s=0,w=0;b=(e<<1)+-1|0;s=e+-1|0;A:do{if(!((A+-43008|0)>>>0<22272|((A+-11776|0)>>>0<30784|((A+-1536|0)>>>0<2560|(U1(A)|0)==0)))){i=(e|0)!=0;if(i&(A+-4256|0)>>>0<46){if((A|0)>4293)switch(A|0){case 4295:case 4301:break;default:break A}A=A+7264|0;break}if((A+-11520|0)>>>0<38&(i^1)){A=A+-7264|0;break}else i=0;do{t=r[66346+(i<<2)+2>>0]|0;c=t<<24>>24;a=A-(l[66346+(i<<2)>>1]|0)|0;if((a-(s&c)|0)>>>0<(n[66346+(i<<2)+3>>0]|0)>>>0){w=11;break}i=i+1|0}while((i|0)!=61);if((w|0)==11)if(t<<24>>24==1){A=e+A-(a&1)|0;break}else{A=(U(b,c)|0)+A|0;break}t=1-e|0;i=f[65858+(t<<1)>>1]|0;e:do{if(i<<16>>16){a=0;while(1){if((i&65535|0)==(A|0))break;a=a+1|0;i=f[65858+(a<<2)+(t<<1)>>1]|0;if(!(i<<16>>16))break e}A=l[65858+(a<<2)+(e<<1)>>1]|0;break A}}while(0);return((A+-66600+(e*40|0)|0)>>>0<40?A+-40+(e*80|0)|0:A)|0}}while(0);return A|0}function U1(A){A=A|0;if(A>>>0<131072)A=(n[149857+((n[149857+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=A>>>0<196606&1;return A|0}function x1(A){A=A|0;var e=0;e=A;while(1)if(!(a[e>>2]|0))break;else e=e+4|0;return e-A>>2|0}function T1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;if(!i)A=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))A=0;else{l=A;A=f;f=f&255;while(1){i=i+-1|0;a=r[e>>0]|0;if(!((i|0)!=0&a<<24>>24!=0))break A;if(A<<24>>24!=a<<24>>24?(f=X1(f)|0,(f|0)!=(X1(a&255)|0)):0)break A;l=l+1|0;e=e+1|0;f=r[l>>0]|0;if(!(f<<24>>24)){A=0;break}else{A=f;f=f&255}}}}while(0);A=X1(A&255)|0;A=A-(X1(n[e>>0]|0)|0)|0}return A|0}function j1(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 S1(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+16|0;n=b;t=(f|0)==0?190640:f;f=a[t>>2]|0;A:do{if(!e)if(!f)f=0;else c=17;else{l=(A|0)==0?n:A;if(!i)f=-2;else{if(!f){f=r[e>>0]|0;if(f<<24>>24>-1){a[l>>2]=f&255;f=f<<24>>24!=0&1;break}n=(a[a[(_1()|0)+188>>2]>>2]|0)==0;f=r[e>>0]|0;if(n){a[l>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){c=17;break}f=a[62384+(f<<2)>>2]|0;n=i+-1|0;if(n){e=e+1|0;c=11}}else{n=i;c=11}e:do{if((c|0)==11){A=r[e>>0]|0;s=(A&255)>>>3;if((s+-16|s+(f>>26))>>>0>7){c=17;break A}while(1){e=e+1|0;f=(A&255)+-128|f<<6;n=n+-1|0;if((f|0)>=0)break;if(!n)break e;A=r[e>>0]|0;if((A&-64)<<24>>24!=-128){c=17;break A}}a[t>>2]=0;a[l>>2]=f;f=i-n|0;break A}}while(0);a[t>>2]=f;f=-2}}}while(0);if((c|0)==17){a[t>>2]=0;a[(X2()|0)>>2]=84;f=-1}k=b;return f|0}function P1(A,e){A=A|0;e=e|0;if(!A)A=0;else A=O1(A,e,0)|0;return A|0}function O1(A,e,i){A=A|0;e=e|0;i=i|0;do{if(A){if(e>>>0<128){r[A>>0]=e;A=1;break}if(!(a[a[(K1()|0)+188>>2]>>2]|0))if((e&-128|0)==57216){r[A>>0]=e;A=1;break}else{a[(X2()|0)>>2]=84;A=-1;break}if(e>>>0<2048){r[A>>0]=e>>>6|192;r[A+1>>0]=e&63|128;A=2;break}if(e>>>0<55296|(e&-8192|0)==57344){r[A>>0]=e>>>12|224;r[A+1>>0]=e>>>6&63|128;r[A+2>>0]=e&63|128;A=3;break}if((e+-65536|0)>>>0<1048576){r[A>>0]=e>>>18|240;r[A+1>>0]=e>>>12&63|128;r[A+2>>0]=e>>>6&63|128;r[A+3>>0]=e&63|128;A=4;break}else{a[(X2()|0)>>2]=84;A=-1;break}}else A=1}while(0);return A|0}function K1(){return r1()|0}function _1(){return r1()|0}function q1(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+272|0;w=o+8|0;u=o;do{if(!(r[e>>0]|0)){e=PA(152833)|0;if(e|0?r[e>>0]|0:0)break;e=PA(152840+(A*12|0)|0)|0;if(e|0?r[e>>0]|0:0)break;e=PA(152912)|0;if(e|0?r[e>>0]|0:0)break;e=152917}}while(0);i=0;A:do{switch(r[e+i>>0]|0){case 47:case 0:break A;default:{}}i=i+1|0}while(i>>>0<15);f=r[e>>0]|0;if(f<<24>>24!=46?(r[e+i>>0]|0)==0:0)if(f<<24>>24==67)s=15;else{b=e;s=16}else{e=152917;s=15}if((s|0)==15)if(!(r[e+1>>0]|0))s=18;else{b=e;s=16}A:do{if((s|0)==16)if((A1(b,152917)|0)!=0?(A1(b,152925)|0)!=0:0){e=a[47661]|0;if(e|0)do{if(!(A1(b,e+8|0)|0))break A;e=a[e+24>>2]|0}while((e|0)!=0);CA(190648);e=a[47661]|0;e:do{if(e|0){while(1){if(!(A1(b,e+8|0)|0))break;e=a[e+24>>2]|0;if(!e)break e}RA(190648);break A}}while(0);e:do{if(((a[47646]|0)==0?(n=PA(152931)|0,(n|0)!=0):0)?(r[n>>0]|0)!=0:0){t=254-i|0;c=i+1|0;f=n;while(1){l=j2(f,58)|0;e=r[l>>0]|0;n=l-f+((e<<24>>24!=0)<<31>>31)|0;if(n>>>0>>0){y6(w|0,f|0,n|0)|0;f=w+n|0;r[f>>0]=47;y6(f+1|0,b|0,i|0)|0;r[w+(c+n)>>0]=0;f=IA(w|0,u|0)|0;if(f|0)break;e=r[l>>0]|0}f=l+(e<<24>>24!=0&1)|0;if(!(r[f>>0]|0)){s=41;break e}}e=m2(28)|0;if(!e){U2(f,a[u>>2]|0)|0;s=41;break}else{a[e>>2]=f;a[e+4>>2]=a[u>>2];u=e+8|0;y6(u|0,b|0,i|0)|0;r[u+i>>0]=0;a[e+24>>2]=a[47661];a[47661]=e;break}}else s=41}while(0);if((s|0)==41){e=m2(28)|0;if(e){a[e>>2]=a[15584];a[e+4>>2]=a[15585];u=e+8|0;y6(u|0,b|0,i|0)|0;r[u+i>>0]=0;a[e+24>>2]=a[47661];a[47661]=e}}RA(190648);e=(A|0)==0&(e|0)==0?62336:e}else{e=b;s=18}}while(0);do{if((s|0)==18){if((A|0)==0?(r[e+1>>0]|0)==46:0){e=62336;break}e=0}}while(0);k=o;return e|0}function $1(A,e){A=A|0;e=e|0;A4(A,e)|0;return A|0}function A4(A,e){A=A|0;e=e|0;var i=0,f=0;i=e;A:do{if(!((i^A)&3)){if(i&3)do{i=r[e>>0]|0;r[A>>0]=i;if(!(i<<24>>24))break A;e=e+1|0;A=A+1|0}while((e&3|0)!=0);i=a[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){f=A;while(1){e=e+4|0;A=f+4|0;a[f>>2]=i;i=a[e>>2]|0;if((i&-2139062144^-2139062144)&i+-16843009|0)break;else f=A}}f=8}else f=8}while(0);if((f|0)==8){f=r[e>>0]|0;r[A>>0]=f;if(f<<24>>24)do{e=e+1|0;A=A+1|0;f=r[e>>0]|0;r[A>>0]=f}while(f<<24>>24!=0)}return A|0}function e4(A){A=A|0;return((A|0)==32|(A|0)==9)&1|0}function i4(A){A=A|0;if(!A)A=0;else A=(r4(63500,A)|0)!=0&1;return A|0}function r4(A,e){A=A|0;e=e|0;var i=0;if(!e)A=A+((x1(A)|0)<<2)|0;else{while(1){i=a[A>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else A=A+4|0}A=i|0?A:0}return A|0}function f4(A,e){A=A|0;e=e|0;do{switch(e|0){case 1:{A=a4(A)|0;break}case 2:{A=U1(A)|0;break}case 3:{A=n4(A)|0;break}case 4:{A=l4(A)|0;break}case 5:{A=F1(A)|0;break}case 6:{A=t4(A)|0;break}case 7:{A=c4(A)|0;break}case 8:{A=j1(A)|0;break}case 9:{A=I1(A)|0;break}case 10:{A=i4(A)|0;break}case 11:{A=b4(A)|0;break}case 12:{A=s4(A)|0;break}default:A=0}}while(0);return A|0}function a4(A){A=A|0;if(!(F1(A)|0))A=(U1(A)|0)!=0&1;else A=1;return A|0}function n4(A){A=A|0;return e4(A)|0}function l4(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 t4(A){A=A|0;if(!(i4(A)|0))A=(j1(A)|0)!=0&1;else A=0;return A|0}function c4(A){A=A|0;return(H1(A)|0)!=(A|0)|0}function b4(A){A=A|0;return(w4(A)|0)!=(A|0)|0}function s4(A){A=A|0;return((A+-48|0)>>>0<10|((A|32)+-97|0)>>>0<6)&1|0}function w4(A){A=A|0;return p1(A,1)|0}function u4(A){A=A|0;return(A+-97|0)>>>0<26|0}function k4(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+128|0;n=w+124|0;s=w;l=s;t=63588;c=l+124|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));if((e+-1|0)>>>0>2147483646)if(!e){A=n;e=1;b=4}else{a[(X2()|0)>>2]=75;e=-1}else b=4;if((b|0)==4){b=-2-A|0;b=e>>>0>b>>>0?b:e;a[s+48>>2]=b;n=s+20|0;a[n>>2]=A;a[s+44>>2]=A;e=A+b|0;A=s+16|0;a[A>>2]=e;a[s+28>>2]=e;e=o4(s,i,f)|0;if(b){s=a[n>>2]|0;r[s+(((s|0)==(a[A>>2]|0))<<31>>31)>>0]=0}}k=w;return e|0}function o4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+224|0;w=B+120|0;o=B+80|0;h=B;d=B+136|0;f=o;n=f+40|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));a[w>>2]=a[i>>2];if((h4(0,e,w,h,o)|0)<0)i=-1;else{if((a[A+76>>2]|0)>-1)u=d4(A)|0;else u=0;i=a[A>>2]|0;s=i&32;if((r[A+74>>0]|0)<1)a[A>>2]=i&-33;f=A+48|0;if(!(a[f>>2]|0)){n=A+44|0;l=a[n>>2]|0;a[n>>2]=d;t=A+28|0;a[t>>2]=d;c=A+20|0;a[c>>2]=d;a[f>>2]=80;b=A+16|0;a[b>>2]=d+80;i=h4(A,e,w,h,o)|0;if(l){W5[a[A+36>>2]&63](A,0,0)|0;i=(a[c>>2]|0)==0?-1:i;a[n>>2]=l;a[f>>2]=0;a[b>>2]=0;a[t>>2]=0;a[c>>2]=0}}else i=h4(A,e,w,h,o)|0;f=a[A>>2]|0;a[A>>2]=f|s;if(u|0)B4(A);i=(f&32|0)==0?i:-1}k=B;return i|0}function h4(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+64|0;W=D+16|0;y=D;Q=D+24|0;z=D+8|0;Y=D+20|0;a[W>>2]=e;I=(A|0)!=0;Z=Q+40|0;G=Z;Q=Q+39|0;m=z+4|0;c=0;t=0;o=0;A:while(1){do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){a[(X2()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);c=r[e>>0]|0;if(!(c<<24>>24)){C=86;break}else s=e;e:while(1){switch(c<<24>>24){case 37:{c=s;C=9;break e}case 0:{c=s;break e}default:{}}E=s+1|0;a[W>>2]=E;c=r[E>>0]|0;s=E}e:do{if((C|0)==9)while(1){C=0;if((r[s+1>>0]|0)!=37)break e;c=c+1|0;s=s+2|0;a[W>>2]=s;if((r[s>>0]|0)==37)C=9;else break}}while(0);c=c-e|0;if(I)v4(A,e,c);if(c|0){e=s;continue}w=s+1|0;c=(r[w>>0]|0)+-48|0;if(c>>>0<10){E=(r[s+2>>0]|0)==36;v=E?c:-1;o=E?1:o;w=E?s+3|0:w}else v=-1;a[W>>2]=w;c=r[w>>0]|0;E=(c<<24>>24)+-32|0;if(E>>>0>31|(1<>24)+-32|s;w=w+1|0;a[W>>2]=w;c=r[w>>0]|0;E=(c<<24>>24)+-32|0}while(!(E>>>0>31|(1<>24==42){u=w+1|0;c=(r[u>>0]|0)+-48|0;if(c>>>0<10?(r[w+2>>0]|0)==36:0){a[l+(c<<2)>>2]=10;c=a[n+((r[u>>0]|0)+-48<<3)>>2]|0;o=1;w=w+3|0}else{if(o|0){t=-1;break}if(I){o=(a[i>>2]|0)+(4-1)&~(4-1);c=a[o>>2]|0;a[i>>2]=o+4;o=0;w=u}else{c=0;o=0;w=u}}a[W>>2]=w;g=(c|0)<0;c=g?0-c|0:c;g=g?s|8192:s}else{c=g4(W)|0;if((c|0)<0){t=-1;break}g=s;w=a[W>>2]|0}do{if((r[w>>0]|0)==46){if((r[w+1>>0]|0)!=42){a[W>>2]=w+1;s=g4(W)|0;w=a[W>>2]|0;break}u=w+2|0;s=(r[u>>0]|0)+-48|0;if(s>>>0<10?(r[w+3>>0]|0)==36:0){a[l+(s<<2)>>2]=10;s=a[n+((r[u>>0]|0)+-48<<3)>>2]|0;w=w+4|0;a[W>>2]=w;break}if(o|0){t=-1;break A}if(I){E=(a[i>>2]|0)+(4-1)&~(4-1);s=a[E>>2]|0;a[i>>2]=E+4}else s=0;a[W>>2]=u;w=u}else s=-1}while(0);B=0;while(1){if(((r[w>>0]|0)+-65|0)>>>0>57){t=-1;break A}E=w+1|0;a[W>>2]=E;u=r[(r[w>>0]|0)+-65+(152944+(B*58|0))>>0]|0;h=u&255;if((h+-1|0)>>>0<8){B=h;w=E}else break}if(!(u<<24>>24)){t=-1;break}d=(v|0)>-1;do{if(u<<24>>24==19)if(d){t=-1;break A}else C=48;else{if(d){a[l+(v<<2)>>2]=h;d=n+(v<<3)|0;v=a[d+4>>2]|0;C=y;a[C>>2]=a[d>>2];a[C+4>>2]=v;C=48;break}if(!I){t=0;break A}E4(y,h,i)}}while(0);if((C|0)==48?(C=0,!I):0){c=0;e=E;continue}w=r[w>>0]|0;w=(B|0)!=0&(w&15|0)==3?w&-33:w;v=g&-65537;g=(g&8192|0)==0?g:v;e:do{switch(w|0){case 110:switch((B&255)<<24>>24){case 0:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 1:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 2:{c=a[y>>2]|0;a[c>>2]=t;a[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=E;continue A}case 3:{f[a[y>>2]>>1]=t;c=0;e=E;continue A}case 4:{r[a[y>>2]>>0]=t;c=0;e=E;continue A}case 6:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 7:{c=a[y>>2]|0;a[c>>2]=t;a[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=E;continue A}default:{c=0;e=E;continue A}}case 112:{w=120;s=s>>>0>8?s:8;e=g|8;C=60;break}case 88:case 120:{e=g;C=60;break}case 111:{w=y;e=a[w>>2]|0;w=a[w+4>>2]|0;d=I4(e,w,Z)|0;B=G-d|0;u=0;h=153408;s=(g&8|0)==0|(s|0)>(B|0)?s:B+1|0;B=g;C=66;break}case 105:case 100:{w=y;e=a[w>>2]|0;w=a[w+4>>2]|0;if((w|0)<0){e=B6(0,0,e|0,w|0)|0;w=L;u=y;a[u>>2]=e;a[u+4>>2]=w;u=1;h=153408;C=65;break e}else{u=(g&2049|0)!=0&1;h=(g&2048|0)==0?(g&1|0)==0?153408:153410:153409;C=65;break e}}case 117:{w=y;u=0;h=153408;e=a[w>>2]|0;w=a[w+4>>2]|0;C=65;break}case 99:{r[Q>>0]=a[y>>2];e=Q;u=0;h=153408;d=Z;w=1;s=v;break}case 109:{w=e1(a[(X2()|0)>>2]|0)|0;C=70;break}case 115:{w=a[y>>2]|0;w=w|0?w:153418;C=70;break}case 67:{a[z>>2]=a[y>>2];a[m>>2]=0;a[y>>2]=z;d=-1;w=z;C=74;break}case 83:{e=a[y>>2]|0;if(!s){G4(A,32,c,0,g);e=0;C=83}else{d=s;w=e;C=74}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=Q4(A,+b[y>>3],c,s,g,w)|0;e=E;continue A}default:{u=0;h=153408;d=Z;w=s;s=g}}}while(0);e:do{if((C|0)==60){g=y;v=a[g>>2]|0;g=a[g+4>>2]|0;d=C4(v,g,Z,w&32)|0;h=(e&8|0)==0|(v|0)==0&(g|0)==0;u=h?0:2;h=h?153408:153408+(w>>4)|0;B=e;e=v;w=g;C=66}else if((C|0)==65){d=Z4(e,w,Z)|0;B=g;C=66}else if((C|0)==70){C=0;g=L1(w,0,s)|0;B=(g|0)==0;e=w;u=0;h=153408;d=B?w+s|0:g;w=B?s:g-w|0;s=v}else if((C|0)==74){C=0;h=w;e=0;s=0;while(1){u=a[h>>2]|0;if(!u)break;s=P1(Y,u)|0;if((s|0)<0|s>>>0>(d-e|0)>>>0)break;e=s+e|0;if(d>>>0>e>>>0)h=h+4|0;else break}if((s|0)<0){t=-1;break A}G4(A,32,c,e,g);if(!e){e=0;C=83}else{u=0;while(1){s=a[w>>2]|0;if(!s){C=83;break e}s=P1(Y,s)|0;u=s+u|0;if((u|0)>(e|0)){C=83;break e}v4(A,Y,s);if(u>>>0>=e>>>0){C=83;break}else w=w+4|0}}}}while(0);if((C|0)==66){C=0;w=(e|0)!=0|(w|0)!=0;g=(s|0)!=0|w;w=G-d+((w^1)&1)|0;e=g?d:Z;d=Z;w=g?(s|0)>(w|0)?s:w:s;s=(s|0)>-1?B&-65537:B}else if((C|0)==83){C=0;G4(A,32,c,e,g^8192);c=(c|0)>(e|0)?c:e;e=E;continue}v=d-e|0;B=(w|0)<(v|0)?v:w;g=B+u|0;c=(c|0)<(g|0)?g:c;G4(A,32,c,g,s);v4(A,h,u);G4(A,48,c,g,s^65536);G4(A,48,B,v,0);v4(A,e,v);G4(A,32,c,g,s^8192);e=E}A:do{if((C|0)==86)if(!A)if(o){t=1;while(1){e=a[l+(t<<2)>>2]|0;if(!e)break;E4(n+(t<<3)|0,e,i);e=t+1|0;if((t|0)<9)t=e;else{t=e;break}}if((t|0)<10)while(1){if(a[l+(t<<2)>>2]|0){t=-1;break A}if((t|0)<9)t=t+1|0;else{t=1;break}}else t=1}else t=0}while(0);k=D;return t|0}function d4(A){A=A|0;return 0}function B4(A){A=A|0;return}function v4(A,e,i){A=A|0;e=e|0;i=i|0;if(!(a[A>>2]&32))L4(e,i,A)|0;return}function g4(A){A=A|0;var e=0,i=0,f=0;i=a[A>>2]|0;f=(r[i>>0]|0)+-48|0;if(f>>>0<10){e=0;do{e=f+(e*10|0)|0;i=i+1|0;a[A>>2]=i;f=(r[i>>0]|0)+-48|0}while(f>>>0<10)}else e=0;return e|0}function E4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0;A:do{if(e>>>0<=20)do{switch(e|0){case 9:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;a[A>>2]=e;break A}case 10:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;r=A;a[r>>2]=e;a[r+4>>2]=((e|0)<0)<<31>>31;break A}case 11:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;r=A;a[r>>2]=e;a[r+4>>2]=0;break A}case 12:{r=(a[i>>2]|0)+(8-1)&~(8-1);e=r;f=a[e>>2]|0;e=a[e+4>>2]|0;a[i>>2]=r+8;r=A;a[r>>2]=f;a[r+4>>2]=e;break A}case 13:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;r=(r&65535)<<16>>16;f=A;a[f>>2]=r;a[f+4>>2]=((r|0)<0)<<31>>31;break A}case 14:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;f=A;a[f>>2]=r&65535;a[f+4>>2]=0;break A}case 15:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;r=(r&255)<<24>>24;f=A;a[f>>2]=r;a[f+4>>2]=((r|0)<0)<<31>>31;break A}case 16:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;f=A;a[f>>2]=r&255;a[f+4>>2]=0;break A}case 17:{f=(a[i>>2]|0)+(8-1)&~(8-1);n=+b[f>>3];a[i>>2]=f+8;b[A>>3]=n;break A}case 18:{f=(a[i>>2]|0)+(8-1)&~(8-1);n=+b[f>>3];a[i>>2]=f+8;b[A>>3]=n;break A}default:break A}}while(0)}while(0);return}function C4(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=n[153456+(A&15)>>0]|0|f;A=Z6(A|0,e|0,4)|0;e=L}while(!((A|0)==0&(e|0)==0));return i|0}function I4(A,e,i){A=A|0;e=e|0;i=i|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=A&7|48;A=Z6(A|0,e|0,3)|0;e=L}while(!((A|0)==0&(e|0)==0));return i|0}function Z4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(e>>>0>0|(e|0)==0&A>>>0>4294967295){while(1){f=C6(A|0,e|0,10,0)|0;i=i+-1|0;r[i>>0]=f&255|48;f=A;A=E6(A|0,e|0,10,0)|0;if(!(e>>>0>9|(e|0)==9&f>>>0>4294967295))break;else e=L}e=A}else e=A;if(e)while(1){i=i+-1|0;r[i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return i|0}function G4(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0;n=k;k=k+256|0;a=n;if((i|0)>(r|0)&(f&73728|0)==0){f=i-r|0;Y6(a|0,e|0,(f>>>0<256?f:256)|0)|0;if(f>>>0>255){e=i-r|0;do{v4(A,a,256);f=f+-256|0}while(f>>>0>255);f=e&255}v4(A,a,f)}k=n;return}function Q4(A,e,i,f,l,t){A=A|0;e=+e;i=i|0;f=f|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+560|0;s=D+8|0;g=D;Y=D+524|0;z=Y;w=D+512|0;a[g>>2]=0;y=w+12|0;m4(e)|0;if((L|0)<0){e=-e;m=1;Q=153425}else{m=(l&2049|0)!=0&1;Q=(l&2048|0)==0?(l&1|0)==0?153426:153431:153428}m4(e)|0;do{if(0==0&(L&2146435072|0)==2146435072){Y=(t&32|0)!=0;c=m+3|0;G4(A,32,i,c,l&-65537);v4(A,Q,m);v4(A,e!=e|0.0!=0.0?Y?153593:153452:Y?153444:153448,3);G4(A,32,i,c,l^8192)}else{d=+C1(e,g)*2.0;c=d!=0.0;if(c)a[g>>2]=(a[g>>2]|0)+-1;C=t|32;if((C|0)==97){o=t&32;B=(o|0)==0?Q:Q+9|0;h=m|2;c=12-f|0;do{if(!(f>>>0>11|(c|0)==0)){e=8.0;do{c=c+-1|0;e=e*16.0}while((c|0)!=0);if((r[B>>0]|0)==45){e=-(e+(-d-e));break}else{e=d+e-e;break}}else e=d}while(0);b=a[g>>2]|0;c=(b|0)<0?0-b|0:b;c=Z4(c,((c|0)<0)<<31>>31,y)|0;if((c|0)==(y|0)){c=w+11|0;r[c>>0]=48}r[c+-1>>0]=(b>>31&2)+43;u=c+-2|0;r[u>>0]=t+15;s=(f|0)<1;w=(l&8|0)==0;c=Y;do{W=~~e;b=c+1|0;r[c>>0]=o|n[153456+W>>0];e=(e-+(W|0))*16.0;if((b-z|0)==1?!(w&(s&e==0.0)):0){r[b>>0]=46;c=c+2|0}else c=b}while(e!=0.0);if((f|0)!=0?(-2-z+c|0)<(f|0):0){b=c-z|0;c=f+2|0}else{c=c-z|0;b=c}y=y-u|0;z=y+h+c|0;G4(A,32,i,z,l);v4(A,B,h);G4(A,48,i,z,l^65536);v4(A,Y,b);G4(A,48,c-b|0,0,0);v4(A,u,y);G4(A,32,i,z,l^8192);c=z;break}b=(f|0)<0?6:f;if(c){c=(a[g>>2]|0)+-28|0;a[g>>2]=c;e=d*268435456.0}else{e=d;c=a[g>>2]|0}W=(c|0)<0?s:s+288|0;s=W;do{Z=~~e>>>0;a[s>>2]=Z;s=s+4|0;e=(e-+(Z>>>0))*1.0e9}while(e!=0.0);if((c|0)>0){w=W;o=s;while(1){u=(c|0)<29?c:29;c=o+-4|0;if(c>>>0>=w>>>0){s=0;do{I=G6(a[c>>2]|0,0,u|0)|0;I=d6(I|0,L|0,s|0,0)|0;Z=L;E=C6(I|0,Z|0,1e9,0)|0;a[c>>2]=E;s=E6(I|0,Z|0,1e9,0)|0;c=c+-4|0}while(c>>>0>=w>>>0);if(s){w=w+-4|0;a[w>>2]=s}}s=o;while(1){if(s>>>0<=w>>>0)break;c=s+-4|0;if(!(a[c>>2]|0))s=c;else break}c=(a[g>>2]|0)-u|0;a[g>>2]=c;if((c|0)>0)o=s;else break}}else w=W;if((c|0)<0){f=((b+25|0)/9|0)+1|0;v=(C|0)==102;do{B=0-c|0;B=(B|0)<9?B:9;if(w>>>0>>0){u=(1<>>B;h=0;c=w;do{Z=a[c>>2]|0;a[c>>2]=(Z>>>B)+h;h=U(Z&u,o)|0;c=c+4|0}while(c>>>0>>0);c=(a[w>>2]|0)==0?w+4|0:w;if(!h){w=c;c=s}else{a[s>>2]=h;w=c;c=s+4|0}}else{w=(a[w>>2]|0)==0?w+4|0:w;c=s}s=v?W:w;s=(c-s>>2|0)>(f|0)?s+(f<<2)|0:c;c=(a[g>>2]|0)+B|0;a[g>>2]=c}while((c|0)<0);c=w;f=s}else{c=w;f=s}Z=W;if(c>>>0>>0){s=(Z-c>>2)*9|0;u=a[c>>2]|0;if(u>>>0>=10){w=10;do{w=w*10|0;s=s+1|0}while(u>>>0>=w>>>0)}}else s=0;v=(C|0)==103;E=(b|0)!=0;w=b-((C|0)!=102?s:0)+((E&v)<<31>>31)|0;if((w|0)<(((f-Z>>2)*9|0)+-9|0)){w=w+9216|0;B=W+4+(((w|0)/9|0)+-1024<<2)|0;w=(w|0)%9|0;if((w|0)<8){u=10;while(1){u=u*10|0;if((w|0)<7)w=w+1|0;else break}}else u=10;o=a[B>>2]|0;h=(o>>>0)%(u>>>0)|0;w=(B+4|0)==(f|0);if(!(w&(h|0)==0)){d=(((o>>>0)/(u>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;I=(u|0)/2|0;e=h>>>0>>0?.5:w&(h|0)==(I|0)?1.0:1.5;if(m){I=(r[Q>>0]|0)==45;e=I?-e:e;d=I?-d:d}w=o-h|0;a[B>>2]=w;if(d+e!=d){I=w+u|0;a[B>>2]=I;if(I>>>0>999999999){s=B;while(1){w=s+-4|0;a[s>>2]=0;if(w>>>0>>0){c=c+-4|0;a[c>>2]=0}I=(a[w>>2]|0)+1|0;a[w>>2]=I;if(I>>>0>999999999)s=w;else break}}else w=B;s=(Z-c>>2)*9|0;o=a[c>>2]|0;if(o>>>0>=10){u=10;do{u=u*10|0;s=s+1|0}while(o>>>0>=u>>>0)}}else w=B}else w=B;w=w+4|0;w=f>>>0>w>>>0?w:f;I=c}else{w=f;I=c}C=w;while(1){if(C>>>0<=I>>>0){g=0;break}c=C+-4|0;if(!(a[c>>2]|0))C=c;else{g=1;break}}f=0-s|0;do{if(v){c=b+((E^1)&1)|0;if((c|0)>(s|0)&(s|0)>-5){u=t+-1|0;b=c+-1-s|0}else{u=t+-2|0;b=c+-1|0}c=l&8;if(!c){if(g?(G=a[C+-4>>2]|0,(G|0)!=0):0)if(!((G>>>0)%10|0)){w=0;c=10;do{c=c*10|0;w=w+1|0}while(!((G>>>0)%(c>>>0)|0|0))}else w=0;else w=9;c=((C-Z>>2)*9|0)+-9|0;if((u|32|0)==102){B=c-w|0;B=(B|0)>0?B:0;b=(b|0)<(B|0)?b:B;B=0;break}else{B=c+s-w|0;B=(B|0)>0?B:0;b=(b|0)<(B|0)?b:B;B=0;break}}else B=c}else{u=t;B=l&8}}while(0);v=b|B;o=(v|0)!=0&1;h=(u|32|0)==102;if(h){E=0;c=(s|0)>0?s:0}else{c=(s|0)<0?f:s;c=Z4(c,((c|0)<0)<<31>>31,y)|0;w=y;if((w-c|0)<2)do{c=c+-1|0;r[c>>0]=48}while((w-c|0)<2);r[c+-1>>0]=(s>>31&2)+43;c=c+-2|0;r[c>>0]=u;E=c;c=w-c|0}c=m+1+b+o+c|0;G4(A,32,i,c,l);v4(A,Q,m);G4(A,48,i,c,l^65536);if(h){u=I>>>0>W>>>0?W:I;B=Y+9|0;o=B;h=Y+8|0;w=u;do{s=Z4(a[w>>2]|0,0,B)|0;if((w|0)==(u|0)){if((s|0)==(B|0)){r[h>>0]=48;s=h}}else if(s>>>0>Y>>>0){Y6(Y|0,48,s-z|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}v4(A,s,o-s|0);w=w+4|0}while(w>>>0<=W>>>0);if(v|0)v4(A,153472,1);if(w>>>0>>0&(b|0)>0)while(1){s=Z4(a[w>>2]|0,0,B)|0;if(s>>>0>Y>>>0){Y6(Y|0,48,s-z|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}v4(A,s,(b|0)<9?b:9);w=w+4|0;s=b+-9|0;if(!(w>>>0>>0&(b|0)>9)){b=s;break}else b=s}G4(A,48,b+9|0,9,0)}else{v=g?C:I+4|0;if((b|0)>-1){g=Y+9|0;B=(B|0)==0;f=g;o=0-z|0;h=Y+8|0;u=I;do{s=Z4(a[u>>2]|0,0,g)|0;if((s|0)==(g|0)){r[h>>0]=48;s=h}do{if((u|0)==(I|0)){w=s+1|0;v4(A,s,1);if(B&(b|0)<1){s=w;break}v4(A,153472,1);s=w}else{if(s>>>0<=Y>>>0)break;Y6(Y|0,48,s+o|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}}while(0);z=f-s|0;v4(A,s,(b|0)>(z|0)?z:b);b=b-z|0;u=u+4|0}while(u>>>0>>0&(b|0)>-1)}G4(A,48,b+18|0,18,0);v4(A,E,y-E|0)}G4(A,32,i,c,l^8192)}}while(0);k=D;return((c|0)<(i|0)?i:c)|0}function m4(A){A=+A;var e=0;b[w>>3]=A;e=a[w>>2]|0;L=a[w+4>>2]|0;return e|0}function L4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;f=i+16|0;n=a[f>>2]|0;if(!n)if(!(W4(i)|0)){n=a[f>>2]|0;l=5}else f=0;else l=5;A:do{if((l|0)==5){c=i+20|0;t=a[c>>2]|0;f=t;if((n-t|0)>>>0>>0){f=W5[a[i+36>>2]&63](i,A,e)|0;break}e:do{if((r[i+75>>0]|0)>-1){t=e;while(1){if(!t){l=0;n=A;break e}n=t+-1|0;if((r[A+n>>0]|0)==10)break;else t=n}f=W5[a[i+36>>2]&63](i,A,t)|0;if(f>>>0>>0)break A;l=t;n=A+t|0;e=e-t|0;f=a[c>>2]|0}else{l=0;n=A}}while(0);y6(f|0,n|0,e|0)|0;a[c>>2]=(a[c>>2]|0)+e;f=l+e|0}}while(0);return f|0}function W4(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=a[A>>2]|0;if(!(e&8)){a[A+8>>2]=0;a[A+4>>2]=0;i=a[A+44>>2]|0;a[A+28>>2]=i;a[A+20>>2]=i;a[A+16>>2]=i+(a[A+48>>2]|0);A=0}else{a[A>>2]=e|32;A=-1}return A|0}function y4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+20|0;f=a[r>>2]|0;A=(a[A+16>>2]|0)-f|0;A=A>>>0>i>>>0?i:A;y6(f|0,e|0,A|0)|0;a[r>>2]=(a[r>>2]|0)+A;return i|0}function z4(A){A=A|0;var e=0,i=0,f=0,a=0;f=r[A>>0]|0;e=1;i=153474;a=97;while(1){if(f<<24>>24==a<<24>>24?(A1(A,i)|0)==0:0)break;i=i+6|0;a=r[i>>0]|0;if(!(a<<24>>24)){e=0;break}else e=e+1|0}return e|0}function Y4(A){A=A|0;var e=0;e=(u4(A)|0)==0;return(e?A:A&95)|0}function D4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;do{if(A>>>0>6)e=0;else{CA(190656);if((A|0)!=6){e=M4(A,e)|0;RA(190656);break}if(!e){e=197132;A=0}else{A=n;i=153547;f=A+16|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));f=0;do{A=j2(e,59)|0;i=A-e|0;if((i|0)<16){y6(n|0,e|0,i|0)|0;r[n+i>>0]=0;e=(r[A>>0]|0)==0?e:A+1|0}M4(f,n)|0;f=f+1|0}while((f|0)!=6);e=197132;A=0}while(1){f=a[190616+(A<<2)>>2]|0;f=f|0?f+8|0:153563;i=S2(f)|0;y6(e|0,f|0,i|0)|0;f=e+i|0;r[f>>0]=59;A=A+1|0;if((A|0)==6)break;else e=e+(i+1)|0}r[f>>0]=0;RA(190656);e=197132}}while(0);k=l;return e|0}function M4(A,e){A=A|0;e=e|0;if(!e)A=a[190616+(A<<2)>>2]|0;else{e=q1(A,e)|0;a[190616+(A<<2)>>2]=e;A=e}return(A|0?A+8|0:153563)|0}function F4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if(!i)A=0;else{while(1){f=r[A>>0]|0;a=r[e>>0]|0;if(f<<24>>24!=a<<24>>24)break;i=i+-1|0;if(!i){A=0;break A}else{A=A+1|0;e=e+1|0}}A=(f&255)-(a&255)|0}}while(0);return A|0}function V4(A){A=A|0;return J4(A)|0}function J4(A){A=A|0;return Q6(A|0)|0}function N4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;if((a[i+76>>2]|0)>-1)w=d4(i)|0;else w=0;f=e+-1|0;if((e|0)<2){u=i+74|0;s=r[u>>0]|0;r[u>>0]=s+255|s;if(w|0)B4(i);if(!f)r[A>>0]=0;else A=0}else{A:do{if(f){b=i+4|0;s=i+8|0;e=A;while(1){l=a[b>>2]|0;k=l;o=(a[s>>2]|0)-k|0;t=L1(l,10,o)|0;c=(t|0)==0;t=c?o:1-k+t|0;t=t>>>0>>0?t:f;y6(e|0,l|0,t|0)|0;l=(a[b>>2]|0)+t|0;a[b>>2]=l;e=e+t|0;t=f-t|0;if(!(c&(t|0)!=0)){u=17;break A}if(l>>>0>=(a[s>>2]|0)>>>0){f=D1(i)|0;if((f|0)<0)break;else c=f}else{a[b>>2]=l+1;c=n[l>>0]|0}f=t+-1|0;l=e+1|0;r[e>>0]=c;if(!((f|0)!=0&(c&255|0)!=10)){e=l;u=17;break A}else e=l}if((e|0)!=(A|0)?(a[i>>2]&16|0)!=0:0)u=17;else A=0}else{e=A;u=17}}while(0);if((u|0)==17)if(!A)A=0;else r[e>>0]=0;if(w)B4(i)}return A|0}function X4(A,e){A=A|0;e=e|0;var i=0;i=r[e>>0]|0;do{if(i<<24>>24){A=G1(A,i<<24>>24)|0;if(A){if(r[e+1>>0]|0)if(r[A+1>>0]|0){if(!(r[e+2>>0]|0)){A=R4(A,e)|0;break}if(r[A+2>>0]|0){if(!(r[e+3>>0]|0)){A=H4(A,e)|0;break}if(r[A+3>>0]|0)if(!(r[e+4>>0]|0)){A=p4(A,e)|0;break}else{A=U4(A,e)|0;break}else A=0}else A=0}else A=0}else A=0}}while(0);return A|0}function R4(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=(n[e>>0]|0)<<8|(n[e+1>>0]|0);f=n[A>>0]|0;while(1){e=A+1|0;i=r[e>>0]|0;if(!(i<<24>>24))break;f=f<<8&65280|i&255;if((f|0)==(a|0))break;else A=e}return(i<<24>>24?A:0)|0}function H4(A,e){A=A|0;e=e|0;var i=0,f=0;f=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8;i=A+2|0;e=r[i>>0]|0;A=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(e&255)<<8;if(!((A|0)==(f|0)|e<<24>>24==0))do{i=i+1|0;e=r[i>>0]|0;A=(A|e&255)<<8}while(!((A|0)==(f|0)|e<<24>>24==0));return(e<<24>>24?i+-2|0:0)|0}function p4(A,e){A=A|0;e=e|0;var i=0,f=0;f=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8|(n[e+3>>0]|0);e=A+3|0;i=r[e>>0]|0;A=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(n[A+2>>0]|0)<<8|i&255;if(!(i<<24>>24==0|(A|0)==(f|0)))do{e=e+1|0;i=r[e>>0]|0;A=A<<8|i&255}while(!(i<<24>>24==0|(A|0)==(f|0)));return(i<<24>>24?e+-3|0:0)|0}function U4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+1056|0;v=E+1024|0;g=E;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;a[v+16>>2]=0;a[v+20>>2]=0;a[v+24>>2]=0;a[v+28>>2]=0;i=r[e>>0]|0;A:do{if(i<<24>>24){B=0;do{if(!(r[A+B>>0]|0)){i=0;break A}d=v+(((i&255)>>>5&255)<<2)|0;a[d>>2]=a[d>>2]|1<<(i&31);B=B+1|0;a[g+((i&255)<<2)>>2]=B;i=r[e+B>>0]|0}while(i<<24>>24!=0);s=B>>>0>1;if(s){f=0;b=-1;n=1;e:while(1){l=1;i=f;while(1){f=n;i:while(1){c=1;while(1){n=r[e+(c+b)>>0]|0;t=r[e+f>>0]|0;if(n<<24>>24!=t<<24>>24)break i;if((c|0)==(l|0))break;c=c+1|0;f=c+i|0;if(f>>>0>=B>>>0){w=l;i=b;break e}}i=l+i|0;f=i+1|0;if(f>>>0>=B>>>0){w=l;i=b;break e}}l=f-b|0;if((n&255)<=(t&255))break;n=f+1|0;if(n>>>0>=B>>>0){w=l;i=b;break e}else i=f}n=i+2|0;if(n>>>0>=B>>>0){w=1;break}else{f=i+1|0;b=i}}if(s){l=0;s=-1;t=1;while(1){f=1;n=l;while(1){l=t;e:while(1){b=1;while(1){t=r[e+(b+s)>>0]|0;c=r[e+l>>0]|0;if(t<<24>>24!=c<<24>>24)break e;if((b|0)==(f|0))break;b=b+1|0;l=b+n|0;if(l>>>0>=B>>>0){t=w;n=s;l=26;break A}}n=f+n|0;l=n+1|0;if(l>>>0>=B>>>0){t=w;n=s;l=26;break A}}f=l-s|0;if((t&255)>=(c&255))break;t=l+1|0;if(t>>>0>=B>>>0){t=w;n=s;l=26;break A}else n=l}t=n+2|0;if(t>>>0>=B>>>0){t=w;f=1;l=26;break}else{l=n+1|0;s=n}}}else{t=w;f=1;n=-1;l=26}}else{t=1;i=-1;f=1;n=-1;l=26}}else{t=1;i=-1;B=0;f=1;n=-1;l=26}}while(0);A:do{if((l|0)==26){h=(n+1|0)>>>0>(i+1|0)>>>0;f=h?f:t;h=h?n:i;d=h+1|0;if(!(F4(e,e+f|0,d)|0))o=B-f|0;else{f=B-h+-1|0;o=0;f=(h>>>0>f>>>0?h:f)+1|0}b=B|63;s=B+-1|0;w=(o|0)!=0;u=B-f|0;i=A;c=0;n=A;while(1){l=i;do{if((n-l|0)>>>0>>0){t=L1(n,0,b)|0;if(t)if((t-l|0)>>>0>>0){i=0;break A}else break;else{t=n+b|0;break}}else t=n}while(0);n=r[i+s>>0]|0;e:do{if(!(1<<(n&31)&a[v+(((n&255)>>>5&255)<<2)>>2])){l=0;n=B}else{n=B-(a[g+((n&255)<<2)>>2]|0)|0;if(n|0){l=0;n=w&(c|0)!=0&n>>>0>>0?u:n;break}n=d>>>0>c>>>0?d:c;l=r[e+n>>0]|0;i:do{if(!(l<<24>>24))n=d;else{while(1){if(l<<24>>24!=(r[i+n>>0]|0))break;n=n+1|0;l=r[e+n>>0]|0;if(!(l<<24>>24)){n=d;break i}}l=0;n=n-h|0;break e}}while(0);while(1){if(n>>>0<=c>>>0)break A;n=n+-1|0;if((r[e+n>>0]|0)!=(r[i+n>>0]|0)){l=o;n=f;break}}}}while(0);i=i+n|0;c=l;n=t}}}while(0);k=E;return i|0}function x4(A,e,i){A=A|0;e=e|0;i=i|0;T4(A,e,i)|0;return A|0}function T4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=e;A:do{if(!((n^A)&3)){f=(i|0)!=0;if(f&(n&3|0)!=0)do{n=r[e>>0]|0;r[A>>0]=n;if(!(n<<24>>24))break A;i=i+-1|0;e=e+1|0;A=A+1|0;f=(i|0)!=0}while(f&(e&3|0)!=0);if(f){if(r[e>>0]|0){e:do{if(i>>>0>3){f=e;while(1){e=a[f>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0){e=f;break e}a[A>>2]=e;i=i+-4|0;e=f+4|0;A=A+4|0;if(i>>>0>3)f=e;else break}}}while(0);l=11}}else i=0}else l=11}while(0);A:do{if((l|0)==11)if(!i)i=0;else while(1){l=r[e>>0]|0;r[A>>0]=l;if(!(l<<24>>24))break A;i=i+-1|0;A=A+1|0;if(!i){i=0;break}else e=e+1|0}}while(0);Y6(A|0,0,i|0)|0;return A|0}function j4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=k;k=k+32|0;f=n;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=0;i=r[e>>0]|0;do{if(!(i<<24>>24))e=0;else{if(!(r[e+1>>0]|0)){e=A;while(1)if((r[e>>0]|0)==i<<24>>24)e=e+1|0;else break;e=e-A|0;break}do{l=f+(((i&255)>>>5&255)<<2)|0;a[l>>2]=a[l>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;A:do{if(!(i<<24>>24))e=A;else{e=A;do{if(!(a[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)))break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}while(0);e=e-A|0}}while(0);k=n;return e|0}function S4(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=R2(A)|0;A=NA(6,i|0)|0;A=N2((A|0)==-4?0:A)|0;k=e;return A|0}function P4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=O4(A,e,f)|0;k=r;return i|0}function O4(A,e,i){A=A|0;e=e|0;i=i|0;return k4(A,2147483647,e,i)|0}function K4(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+208|0;c=s+8|0;b=s;l=U(i,e)|0;t=b;a[t>>2]=1;a[t+4>>2]=0;A:do{if(l|0){t=0-i|0;a[c+4>>2]=i;a[c>>2]=i;f=2;e=i;n=i;while(1){e=e+i+n|0;a[c+(f<<2)>>2]=e;if(e>>>0>>0){w=n;f=f+1|0;n=e;e=w}else break}n=A+l+t|0;if(n>>>0>A>>>0){l=n;f=1;e=1;do{do{if((e&3|0)!=3){e=f+-1|0;if((a[c+(e<<2)>>2]|0)>>>0<(l-A|0)>>>0)_4(A,i,r,f,c);else $4(A,i,r,b,f,0,c);if((f|0)==1){A3(b,1);f=0;break}else{A3(b,e);f=1;break}}else{_4(A,i,r,f,c);q4(b,2);f=f+2|0}}while(0);e=a[b>>2]|1;a[b>>2]=e;A=A+i|0}while(A>>>0>>0)}else{f=1;e=1}$4(A,i,r,b,f,0,c);n=b+4|0;while(1){if((f|0)==1&(e|0)==1){if(!(a[n>>2]|0))break A}else if((f|0)>=2){A3(b,2);w=f+-2|0;a[b>>2]=a[b>>2]^7;q4(b,1);$4(A+(0-(a[c+(w<<2)>>2]|0))+t|0,i,r,b,f+-1|0,1,c);A3(b,1);e=a[b>>2]|1;a[b>>2]=e;l=A+t|0;$4(l,i,r,b,w,1,c);A=l;f=w;continue}e=e3(b)|0;q4(b,e);A=A+t|0;f=e+f|0;e=a[b>>2]|0}}}while(0);k=s;return}function _4(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+240|0;s=w;a[s>>2]=A;A:do{if((r|0)>1){b=0-e|0;n=A;c=r;r=1;while(1){l=n+b|0;t=c+-2|0;n=l+(0-(a[f+(t<<2)>>2]|0))|0;if((m5[i&127](A,n)|0)>-1?(m5[i&127](A,l)|0)>-1:0)break A;A=r+1|0;r=s+(r<<2)|0;if((m5[i&127](n,l)|0)>-1){a[r>>2]=n;r=c+-1|0}else{a[r>>2]=l;n=l;r=t}if((r|0)<=1){r=A;break A}c=r;r=A;A=a[s>>2]|0}}else r=1}while(0);r3(e,s,r);k=w;return}function q4(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=a[f>>2]|0;a[A>>2]=r;a[f>>2]=0;e=e+-32|0;i=0}else{i=a[f>>2]|0;r=a[A>>2]|0}a[A>>2]=i<<32-e|r>>>e;a[f>>2]=i>>>e;return}function $4(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+240|0;w=o+232|0;u=o;h=a[r>>2]|0;a[w>>2]=h;c=a[r+4>>2]|0;b=w+4|0;a[b>>2]=c;a[u>>2]=A;A:do{if((h|0)!=1|(c|0)!=0?(s=0-e|0,t=A+(0-(a[l+(f<<2)>>2]|0))|0,(m5[i&127](t,A)|0)>=1):0){r=1;n=(n|0)==0;c=t;while(1){if(n&(f|0)>1){n=A+s|0;t=a[l+(f+-2<<2)>>2]|0;if((m5[i&127](n,c)|0)>-1){t=10;break A}if((m5[i&127](n+(0-t)|0,c)|0)>-1){t=10;break A}}n=r+1|0;a[u+(r<<2)>>2]=c;h=e3(w)|0;q4(w,h);f=h+f|0;if(!((a[w>>2]|0)!=1|(a[b>>2]|0)!=0)){r=n;A=c;t=10;break A}A=c+(0-(a[l+(f<<2)>>2]|0))|0;if((m5[i&127](A,a[u>>2]|0)|0)<1){A=c;r=n;n=0;t=9;break}else{h=c;r=n;n=1;c=A;A=h}}}else{r=1;t=9}}while(0);if((t|0)==9?(n|0)==0:0)t=10;if((t|0)==10){r3(e,u,r);_4(A,e,i,f,l)}k=o;return}function A3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=a[A>>2]|0;a[f>>2]=r;a[A>>2]=0;e=e+-32|0;i=0}else{i=a[A>>2]|0;r=a[f>>2]|0}a[f>>2]=i>>>(32-e|0)|r<>2]=i<>2]|0)+-1|0)|0;if(!e){e=i3(a[A+4>>2]|0)|0;return((e|0)==0?0:e+32|0)|0}else return e|0;return 0}function i3(A){A=A|0;var e=0;if(A)if(!(A&1)){e=A;A=0;do{A=A+1|0;e=e>>>1}while(!(e&1|0))}else A=0;else A=32;return A|0}function r3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=k;k=k+256|0;r=l;A:do{if((i|0)>=2?(n=e+(i<<2)|0,a[n>>2]=r,A|0):0)while(1){f=A>>>0<256?A:256;y6(r|0,a[e>>2]|0,f|0)|0;r=0;do{t=e+(r<<2)|0;r=r+1|0;y6(a[t>>2]|0,a[e+(r<<2)>>2]|0,f|0)|0;a[t>>2]=(a[t>>2]|0)+f}while((r|0)!=(i|0));A=A-f|0;if(!A)break A;r=a[n>>2]|0}}while(0);k=l;return}function f3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=o4(A,e,f)|0;k=r;return i|0}function a3(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;EA(0,i|0)|0;e=0;i=(a[i+4>>2]|0)*65537^(i>>>4)+A;while(1){r[A+e>>0]=(i&15)+65|i<<1&32;e=e+1|0;if((e|0)==6)break;else i=i>>>5}k=f;return A|0}function n3(A,e,i){A=A|0;e=e|0;i=i|0;i=W1(A,e,i,-2147483648,0)|0;return i|0}function l3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;f=l;i=r[e>>0]|0;A:do{if(i<<24>>24!=0?(r[e+1>>0]|0)!=0:0){a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=0;do{t=f+(((i&255)>>>5&255)<<2)|0;a[t>>2]=a[t>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;if(!(i<<24>>24))e=A;else{e=A;do{if(a[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)|0)break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}else n=3}while(0);if((n|0)==3)e=j2(A,i<<24>>24)|0;k=l;return e-A|0}function t3(A,e){A=A|0;e=e|0;var i=0;if(!A){A=a[47666]|0;if(!A)A=0;else i=3}else i=3;do{if((i|0)==3){A=A+(j4(A,e)|0)|0;if(!(r[A>>0]|0)){a[47666]=0;A=0;break}e=A+(l3(A,e)|0)|0;a[47666]=e;if(!(r[e>>0]|0)){a[47666]=0;break}else{a[47666]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function c3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=e&255;do{if(!i){e=0;break}i=i+-1|0;e=A+i|0}while((r[e>>0]|0)!=f<<24>>24);return e|0}function b3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!A){A=a[i>>2]|0;if(!A)A=0;else f=3}else f=3;do{if((f|0)==3){A=A+(j4(A,e)|0)|0;if(!(r[A>>0]|0)){a[i>>2]=0;A=0;break}e=A+(l3(A,e)|0)|0;a[i>>2]=e;if(!(r[e>>0]|0)){a[i>>2]=0;break}else{a[i>>2]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function s3(A){A=A|0;var e=0,i=0;i=(S2(A)|0)+1|0;e=m2(i)|0;if(!e)e=0;else y6(e|0,A|0,i|0)|0;return e|0}function w3(A,e){A=A|0;e=e|0;return c3(A,e,(S2(A)|0)+1|0)|0}function u3(A,e){A=A|0;e=e|0;$1(A+(S2(A)|0)|0,e)|0;return A|0}function k3(A,e){A=A|0;e=e|0;e=A+(l3(A,e)|0)|0;return(r[e>>0]|0?e:0)|0}function o3(A){A=A|0;var e=0;if((a[A+76>>2]|0)>-1){e=(d4(A)|0)==0;A=(a[A>>2]|0)>>>4&1}else A=(a[A>>2]|0)>>>4&1;return A|0}function h3(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((a[A+76>>2]|0)>-1)f=d4(A)|0;else f=0;d3(A);n=(a[A>>2]&1|0)!=0;if(!n){r=B3()|0;i=a[A+52>>2]|0;e=A+56|0;if(i|0)a[i+56>>2]=a[e>>2];e=a[e>>2]|0;if(e|0)a[e+52>>2]=i;if((a[r>>2]|0)==(A|0))a[r>>2]=e;v3()}e=g3(A)|0;e=Q5[a[A+12>>2]&63](A)|0|e;i=a[A+92>>2]|0;if(i|0)L2(i);if(n){if(f|0)B4(A)}else L2(A);return e|0}function d3(A){A=A|0;var e=0;if(a[A+68>>2]|0){e=a[A+116>>2]|0;A=A+112|0;if(e|0)a[e+112>>2]=a[A>>2];A=a[A>>2]|0;if(!A)A=(C3()|0)+232|0;else A=A+116|0;a[A>>2]=e}return}function B3(){CA(190668);return 190676}function v3(){RA(190668);return}function g3(A){A=A|0;var e=0,i=0;do{if(A){if((a[A+76>>2]|0)<=-1){e=E3(A)|0;break}i=(d4(A)|0)==0;e=E3(A)|0;if(!i)B4(A)}else{if(!(a[15711]|0))e=0;else e=g3(a[15711]|0)|0;A=a[(B3()|0)>>2]|0;if(A)do{if((a[A+76>>2]|0)>-1)i=d4(A)|0;else i=0;if((a[A+20>>2]|0)>>>0>(a[A+28>>2]|0)>>>0)e=E3(A)|0|e;if(i|0)B4(A);A=a[A+56>>2]|0}while((A|0)!=0);v3()}}while(0);return e|0}function E3(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;e=A+20|0;l=A+28|0;if((a[e>>2]|0)>>>0>(a[l>>2]|0)>>>0?(W5[a[A+36>>2]&63](A,0,0)|0,(a[e>>2]|0)==0):0)A=-1;else{i=A+4|0;r=a[i>>2]|0;f=A+8|0;n=a[f>>2]|0;if(r>>>0>>0)W5[a[A+40>>2]&63](A,r-n|0,1)|0;a[A+16>>2]=0;a[l>>2]=0;a[e>>2]=0;a[f>>2]=0;a[i>>2]=0;A=0}return A|0}function C3(){return r1()|0}function I3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+64|0;w=u+40|0;b=u+24|0;c=u+16|0;n=u;s=u+56|0;f=r[e>>0]|0;if(L1(153580,f<<24>>24,4)|0){i=m2(1156)|0;if(!i)i=0;else{l=i;t=l+124|0;do{a[l>>2]=0;l=l+4|0}while((l|0)<(t|0));if(!(G1(e,43)|0))a[i>>2]=f<<24>>24==114?8:4;if(G1(e,101)|0){a[n>>2]=A;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0;f=r[e>>0]|0}if(f<<24>>24==97){a[c>>2]=A;a[c+4>>2]=3;f=DA(221,c|0)|0;if(!(f&1024)){a[b>>2]=A;a[b+4>>2]=4;a[b+8>>2]=f|1024;DA(221,b|0)|0}e=a[i>>2]|128;a[i>>2]=e}else e=a[i>>2]|0;a[i+60>>2]=A;a[i+44>>2]=i+132;a[i+48>>2]=1024;f=i+75|0;r[f>>0]=-1;if((e&8|0)==0?(a[w>>2]=A,a[w+4>>2]=21523,a[w+8>>2]=s,(JA(54,w|0)|0)==0):0)r[f>>0]=10;a[i+32>>2]=15;a[i+36>>2]=18;a[i+40>>2]=16;a[i+12>>2]=17;if(!(a[47645]|0))a[i+76>>2]=-1;Z3(i)|0}}else{a[(X2()|0)>>2]=22;i=0}k=u;return i|0}function Z3(A){A=A|0;var e=0,i=0;e=B3()|0;a[A+56>>2]=a[e>>2];i=a[e>>2]|0;if(i|0)a[i+52>>2]=A;a[e>>2]=A;v3();return A|0}function G3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;A:do{if(!e)A=0;else{do{if(i|0){t=(A|0)==0?f:A;A=r[e>>0]|0;if(A<<24>>24>-1){a[t>>2]=A&255;A=A<<24>>24!=0&1;break A}l=(a[a[(Q3()|0)+188>>2]>>2]|0)==0;A=r[e>>0]|0;if(l){a[t>>2]=A<<24>>24&57343;A=1;break A}A=(A&255)+-194|0;if(A>>>0<=50){f=e+1|0;l=a[62384+(A<<2)>>2]|0;if(i>>>0<4?l&-2147483648>>>((i*6|0)+-6|0)|0:0)break;A=n[f>>0]|0;i=A>>>3;if((i+-16|i+(l>>26))>>>0<=7){A=A+-128|l<<6;if((A|0)>=0){a[t>>2]=A;A=2;break A}f=(n[e+2>>0]|0)+-128|0;if(f>>>0<=63){f=f|A<<6;if((f|0)>=0){a[t>>2]=f;A=3;break A}A=(n[e+3>>0]|0)+-128|0;if(A>>>0<=63){a[t>>2]=A|f<<6;A=4;break A}}}}}}while(0);a[(X2()|0)>>2]=84;A=-1}}while(0);k=c;return A|0}function Q3(){return r1()|0}function m3(A,e){A=A|0;e=e|0;var i=0;i=S2(A)|0;return((L3(A,1,i,e)|0)!=(i|0))<<31>>31|0}function L3(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=U(i,e)|0;i=(e|0)==0?0:i;if((a[r+76>>2]|0)>-1){n=(d4(r)|0)==0;A=L4(A,f,r)|0;if(!n)B4(r)}else A=L4(A,f,r)|0;if((A|0)!=(f|0))i=(A>>>0)/(e>>>0)|0;return i|0}function W3(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;c=s;b=e&255;r[c>>0]=b;f=A+16|0;l=a[f>>2]|0;if(!l)if(!(W4(A)|0)){l=a[f>>2]|0;t=4}else i=-1;else t=4;do{if((t|0)==4){t=A+20|0;f=a[t>>2]|0;if(f>>>0>>0?(i=e&255,(i|0)!=(r[A+75>>0]|0)):0){a[t>>2]=f+1;r[f>>0]=b;break}if((W5[a[A+36>>2]&63](A,c,1)|0)==1)i=n[c>>0]|0;else i=-1}}while(0);k=s;return i|0}function y3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=A;a[f+4>>2]=e;a[f+8>>2]=i;i=N2(MA(3,f|0)|0)|0;k=r;return i|0}function z3(){var A=0,e=0;e=k;k=k+16|0;A=YA(20,e|0)|0;k=e;return A|0}function Y3(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=A;f=153565;a=i+15|0;do{r[i>>0]=r[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(a|0));if(!e){r[A+14>>0]=48;r[A+15>>0]=0}else{f=e;i=14;while(1){i=i+1|0;if(f>>>0<10)break;else f=(f>>>0)/10|0}r[A+i>>0]=0;while(1){i=i+-1|0;r[A+i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}}return}function D3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+48|0;f=n+40|0;r=n+8|0;i=n;a[i>>2]=A;a[i+4>>2]=e;i=zA(197,i|0)|0;if((i|0)==-9?(a[r>>2]=A,a[r+4>>2]=1,(DA(221,r|0)|0)>=0):0){Y3(r,A);a[f>>2]=r;a[f+4>>2]=e;e=N2(yA(195,f|0)|0)|0}else e=N2(i)|0;k=n;return e|0}function M3(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=A;a[r+4>>2]=e;e=N2(FA(33,r|0)|0)|0;k=i;return e|0}function F3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+48|0;l=t+32|0;n=t+16|0;i=t;if(L1(153580,r[e>>0]|0,4)|0){f=V3(e)|0;a[i>>2]=A;a[i+4>>2]=f|32768;a[i+8>>2]=438;i=N2(VA(5,i|0)|0)|0;if((i|0)>=0){if(f&524288|0){a[n>>2]=i;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0}A=I3(i,e)|0;if(!A){a[l>>2]=i;NA(6,l|0)|0;A=0}}else A=0}else{a[(X2()|0)>>2]=22;A=0}k=t;return A|0}function V3(A){A=A|0;var e=0,i=0,f=0;i=(G1(A,43)|0)==0;e=r[A>>0]|0;i=i?e<<24>>24!=114&1:2;f=(G1(A,120)|0)==0;i=f?i:i|128;A=(G1(A,101)|0)==0;A=A?i:i|524288;A=e<<24>>24==114?A:A|64;A=e<<24>>24==119?A|512:A;return(e<<24>>24==97?A|1024:A)|0}function J3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=N3(A,e,f)|0;k=r;return i|0}function N3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+128|0;r=n;f=r;l=f+124|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(l|0));a[r+32>>2]=41;a[r+44>>2]=A;a[r+76>>2]=-1;a[r+84>>2]=A;l=R3(r,e,i)|0;k=n;return l|0}function X3(A,e,i){A=A|0;e=e|0;i=i|0;return P3(A,e,i)|0}function R3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0;H=k;k=k+288|0;F=H+8|0;V=H+17|0;J=H;N=H+16|0;if((a[A+76>>2]|0)>-1)R=d4(A)|0;else R=0;f=r[e>>0]|0;A:do{if(f<<24>>24){Q=A+4|0;m=A+100|0;W=A+108|0;y=A+8|0;z=V+10|0;Y=V+33|0;G=F+4|0;D=V+1|0;M=V+1|0;s=e;v=0;e=0;t=0;l=0;e:while(1){i:do{if(!(Q1(f&255)|0)){f=f<<24>>24==37;r:do{if(f){o=s+1|0;w=r[o>>0]|0;f:do{switch(w<<24>>24){case 37:break r;case 42:{Z=0;s=s+2|0;break}default:{f=(w&255)+-48|0;if(f>>>0<10?(r[s+2>>0]|0)==36:0){Z=H3(i,f)|0;s=s+3|0;break f}s=(a[i>>2]|0)+(4-1)&~(4-1);Z=a[s>>2]|0;a[i>>2]=s+4;s=o}}}while(0);f=r[s>>0]|0;w=f&255;if((w+-48|0)>>>0<10){o=0;do{o=(o*10|0)+-48+w|0;s=s+1|0;f=r[s>>0]|0;w=f&255}while((w+-48|0)>>>0<10)}else o=0;f=f<<24>>24==109;I=(Z|0)!=0;t=f?0:t;l=f?0:l;s=f?s+1|0:s;f=I&f;w=s+1|0;switch(r[s>>0]|0){case 104:{C=(r[w>>0]|0)==104;h=C?-2:-1;s=C?s+2|0:w;break}case 108:{C=(r[w>>0]|0)==108;h=C?3:1;s=C?s+2|0:w;break}case 106:{h=3;s=w;break}case 116:case 122:{h=1;s=w;break}case 76:{h=2;s=w;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:{h=0;break}default:{X=135;break e}}B=n[s>>0]|0;g=(B&47|0)==3;B=g?B|32:B;g=g?1:h;d=B&255;switch(d<<24>>24){case 99:{o=(o|0)>1?o:1;C=v;break}case 91:{C=v;break}case 110:{p3(Z,g,v,((v|0)<0)<<31>>31);w=v;break i}default:{y1(A,0);do{w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0}while((Q1(w)|0)!=0);if(!(a[m>>2]|0))w=a[Q>>2]|0;else{w=(a[Q>>2]|0)+-1|0;a[Q>>2]=w}C=(a[W>>2]|0)+v+w-(a[y>>2]|0)|0}}y1(A,o);w=a[Q>>2]|0;h=a[m>>2]|0;if(w>>>0>>0)a[Q>>2]=w+1;else{if((Y1(A)|0)<0){X=135;break e}h=a[m>>2]|0}if(h|0)a[Q>>2]=(a[Q>>2]|0)+-1;f:do{switch(d<<24>>24){case 91:case 99:case 115:{E=(B|0)==99;a:do{if((B|16|0)==115){Y6(D|0,-1,256)|0;r[V>>0]=0;if((B|0)==115){r[Y>>0]=0;r[z>>0]=0;r[z+1>>0]=0;r[z+2>>0]=0;r[z+3>>0]=0;r[z+4>>0]=0}}else{B=s+1|0;w=(r[B>>0]|0)==94;v=w&1;s=w?s+2|0:B;Y6(M|0,w&1|0,256)|0;r[V>>0]=0;w=r[s>>0]|0;switch(w<<24>>24){case 45:{w=46;X=63;break}case 93:{w=94;X=63;break}default:{}}while(1){if((X|0)==63){X=0;r[V+w>>0]=v^1;w=s+1|0;s=w;w=r[w>>0]|0}n:do{switch(w<<24>>24){case 0:{X=135;break e}case 93:break a;case 45:{B=s+1|0;w=r[B>>0]|0;switch(w<<24>>24){case 93:case 0:{w=45;break n}default:{}}s=r[s+-1>>0]|0;if((s&255)<(w&255)){d=(v^1)&255;s=s&255;do{s=s+1|0;r[V+s>>0]=d;w=r[B>>0]|0}while((s|0)<(w&255|0));s=B}else s=B;break}default:{}}}while(0);w=(w&255)+1|0;X=63}}}while(0);w=E?o+1|0:31;B=(g|0)==1;a:do{if(B){if(f){l=m2(w<<2)|0;if(!l){t=0;l=0;f=1;X=135;break e}}else l=Z;a[F>>2]=0;a[G>>2]=0;d=w;t=0;n:while(1){h=(l|0)==0;do{l:while(1){w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0;if(!(r[V+(w+1)>>0]|0))break n;r[N>>0]=w;switch(S1(J,N,1,F)|0){case-1:{t=0;X=135;break e}case-2:break;default:break l}}if(!h){a[l+(t<<2)>>2]=a[J>>2];t=t+1|0}}while(!(f&(t|0)==(d|0)));t=d<<1|1;w=y2(l,t<<2)|0;if(!w){t=0;f=1;X=135;break e}else{g=d;d=t;l=w;t=g}}if(!(U3(F)|0)){t=0;X=135;break e}else{w=t;t=0;d=l}}else{if(f){t=m2(w)|0;if(!t){t=0;l=0;f=1;X=135;break e}else{h=w;l=0}while(1){do{w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0;if(!(r[V+(w+1)>>0]|0)){w=l;d=0;l=0;break a}r[t+l>>0]=w;l=l+1|0}while((l|0)!=(h|0));l=h<<1|1;w=y2(t,l)|0;if(!w){l=0;f=1;X=135;break e}else{g=h;h=l;t=w;l=g}}}if(!Z){t=h;while(1){l=a[Q>>2]|0;if(l>>>0>>0){a[Q>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!(r[V+(l+1)>>0]|0)){w=0;t=0;d=0;l=0;break a}t=a[m>>2]|0}}else{w=0;t=h;while(1){l=a[Q>>2]|0;if(l>>>0>>0){a[Q>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!(r[V+(l+1)>>0]|0)){t=Z;d=0;l=0;break a}r[Z+w>>0]=l;w=w+1|0;t=a[m>>2]|0}}}}while(0);if(!(a[m>>2]|0))h=a[Q>>2]|0;else{h=(a[Q>>2]|0)+-1|0;a[Q>>2]=h}h=h-(a[y>>2]|0)+(a[W>>2]|0)|0;if(!h){X=137;break e}if(!((h|0)==(o|0)|E^1)){X=137;break e}do{if(f)if(B){a[Z>>2]=d;break}else{a[Z>>2]=t;break}}while(0);if(!E){if(d|0)a[d+(w<<2)>>2]=0;if(!t){t=0;break f}r[t+w>>0]=0}break}case 120:case 88:case 112:{w=16;X=123;break}case 111:{w=8;X=123;break}case 117:case 100:{w=10;X=123;break}case 105:{w=0;X=123;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{u=+x3(A,g,0);if((a[W>>2]|0)==((a[y>>2]|0)-(a[Q>>2]|0)|0)){X=137;break e}if(Z)switch(g|0){case 0:{c[Z>>2]=u;break f}case 1:{b[Z>>3]=u;break f}case 2:{b[Z>>3]=u;break f}default:break f}break}default:{}}}while(0);do{if((X|0)==123){X=0;w=z1(A,w,0,-1,-1)|0;if((a[W>>2]|0)==((a[y>>2]|0)-(a[Q>>2]|0)|0)){X=137;break e}if(I&(B|0)==112){a[Z>>2]=w;break}else{p3(Z,g,w,L);break}}}while(0);e=e+(I&1)|0;w=(a[W>>2]|0)+C+(a[Q>>2]|0)-(a[y>>2]|0)|0;break i}}while(0);s=s+(f&1)|0;y1(A,0);f=a[Q>>2]|0;if(f>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=f+1;f=n[f>>0]|0}else f=Y1(A)|0;if((f|0)!=(n[s>>0]|0)){X=22;break e}w=v+1|0}else{while(1){f=s+1|0;if(!(Q1(n[f>>0]|0)|0))break;else s=f}y1(A,0);do{f=a[Q>>2]|0;if(f>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=f+1;f=n[f>>0]|0}else f=Y1(A)|0}while((Q1(f)|0)!=0);if(!(a[m>>2]|0))f=a[Q>>2]|0;else{f=(a[Q>>2]|0)+-1|0;a[Q>>2]=f}w=(a[W>>2]|0)+v+f-(a[y>>2]|0)|0}}while(0);s=s+1|0;f=r[s>>0]|0;if(!(f<<24>>24))break A;else v=w}if((X|0)==22){if(a[m>>2]|0)a[Q>>2]=(a[Q>>2]|0)+-1;if((e|0)!=0|(f|0)>-1)break;else{f=0;X=136}}else if((X|0)==135){f=f&1;if(!e)X=136}else if((X|0)==137)f=f&1;if((X|0)==136)e=-1;if(f){L2(t);L2(l)}}else e=0}while(0);if(R|0)B4(A);k=H;return e|0}function H3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=k;k=k+16|0;i=r;a[i>>2]=a[A>>2];while(1){f=(a[i>>2]|0)+(4-1)&~(4-1);A=a[f>>2]|0;a[i>>2]=f+4;if(e>>>0>1)e=e+-1|0;else break}k=r;return A|0}function p3(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;A:do{if(A|0)switch(e|0){case-2:{r[A>>0]=i;break A}case-1:{f[A>>1]=i;break A}case 0:{a[A>>2]=i;break A}case 1:{a[A>>2]=i;break A}case 3:{e=A;a[e>>2]=i;a[e+4>>2]=n;break A}default:break A}}while(0);return}function U3(A){A=A|0;if(!A)A=1;else A=(a[A>>2]|0)==0&1;return A|0}function x3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;switch(e|0){case 0:{s=-149;w=24;c=4;break}case 1:{s=-1074;w=53;c=4;break}case 2:{s=-1074;w=53;c=4;break}default:f=0.0}A:do{if((c|0)==4){k=A+4|0;u=A+100|0;do{e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0}while((Q1(e)|0)!=0);e:do{switch(e|0){case 43:case 45:{t=1-(((e|0)==45&1)<<1)|0;e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;l=n[e>>0]|0;break e}else{l=Y1(A)|0;break e}}default:{l=e;t=1}}}while(0);e=0;do{if((l|32|0)!=(r[153584+e>>0]|0))break;do{if(e>>>0<7){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0;break}else{l=Y1(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);e:do{switch(e|0){case 8:break;case 3:{c=23;break}default:{b=(i|0)!=0;if(b&e>>>0>3)if((e|0)==8)break e;else{c=23;break e}i:do{if(!e){e=0;do{if((l|32|0)!=(r[153593+e>>0]|0))break i;do{if(e>>>0<2){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0;break}else{l=Y1(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==40)e=1;else{if(!(a[u>>2]|0)){f=E;break A}a[k>>2]=(a[k>>2]|0)+-1;f=E;break A}while(1){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!((l+-48|0)>>>0<10|(l+-65|0)>>>0<26)?!((l|0)==95|(l+-97|0)>>>0<26):0)break;e=e+1|0}if((l|0)==41){f=E;break A}l=(a[u>>2]|0)==0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if(!b){a[(X2()|0)>>2]=22;y1(A,0);f=0.0;break A}if(!e){f=E;break A}while(1){e=e+-1|0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if(!e){f=E;break A}}}case 0:{if((l|0)==48){e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|32|0)==120){f=+T3(A,w,s,t,i);break A}if(!(a[u>>2]|0))e=48;else{a[k>>2]=(a[k>>2]|0)+-1;e=48}}else e=l;f=+j3(A,e,w,s,t,i);break A}default:{if(a[u>>2]|0)a[k>>2]=(a[k>>2]|0)+-1;a[(X2()|0)>>2]=22;y1(A,0);f=0.0;break A}}}}}while(0);if((c|0)==23){l=(a[u>>2]|0)==0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if((i|0)!=0&e>>>0>3)do{if(!l)a[k>>2]=(a[k>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}f=+(t|0)*C}}while(0);return+f}function T3(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0,c=0,b=0.0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=A+4|0;t=a[Z>>2]|0;I=A+100|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0;s=0}else{c=Y1(A)|0;s=0}A:while(1){switch(c|0){case 46:{C=8;break A}case 48:break;default:{B=0;u=0;k=1.0;l=0.0;t=0;w=c;v=s;E=0;g=0;s=0;c=0;break A}}t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0;s=1;continue}else{c=Y1(A)|0;s=1;continue}}if((C|0)==8){t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0}else c=Y1(A)|0;if((c|0)==48){s=0;c=0;do{t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;w=n[t>>0]|0}else w=Y1(A)|0;s=d6(s|0,c|0,-1,-1)|0;c=L}while((w|0)==48);B=1;u=0;k=1.0;l=0.0;t=0;v=1;E=0;g=0}else{B=1;u=0;k=1.0;l=0.0;t=0;w=c;v=s;E=0;g=0;s=0;c=0}}while(1){h=w+-48|0;o=w|32;if(h>>>0>=10){d=(w|0)==46;if(!(d|(o+-97|0)>>>0<6))break;if(d)if(!B){B=1;b=k;d=v;s=g;c=E;h=g;o=E}else{w=46;break}else C=20}else C=20;if((C|0)==20){C=0;w=(w|0)>57?o+-87|0:h;do{if(!((E|0)<0|(E|0)==0&g>>>0<8))if((E|0)<0|(E|0)==0&g>>>0<14){k=k*.0625;b=k;l=l+k*+(w|0);break}else{v=(u|0)!=0|(w|0)==0;u=v?u:1;b=k;l=v?l:l+k*.5;break}else{b=k;t=w+(t<<4)|0}}while(0);h=d6(g|0,E|0,1,0)|0;d=1;o=L}w=a[Z>>2]|0;if(w>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=w+1;k=b;w=n[w>>0]|0;v=d;E=o;g=h;continue}else{k=b;w=Y1(A)|0;v=d;E=o;g=h;continue}}do{if(!v){t=(a[I>>2]|0)==0;if(!t)a[Z>>2]=(a[Z>>2]|0)+-1;if(f){if(!t)a[Z>>2]=(a[Z>>2]|0)+-1;if(!((B|0)==0|t))a[Z>>2]=(a[Z>>2]|0)+-1}else y1(A,0);l=+(r|0)*0.0}else{o=(B|0)==0;h=o?g:s;o=o?E:c;if((E|0)<0|(E|0)==0&g>>>0<8){s=g;c=E;while(1){t=t<<4;C=s;s=d6(s|0,c|0,1,0)|0;if(!((c|0)<0|(c|0)==0&C>>>0<7)){u=t;break}else c=L}}else u=t;if((w|32|0)==112){c=S3(A,f)|0;t=L;if((c|0)==0&(t|0)==-2147483648){if(!f){y1(A,0);l=0.0;break}if(!(a[I>>2]|0)){c=0;t=0}else{a[Z>>2]=(a[Z>>2]|0)+-1;c=0;t=0}}}else if(!(a[I>>2]|0)){c=0;t=0}else{a[Z>>2]=(a[Z>>2]|0)+-1;c=0;t=0}s=G6(h|0,o|0,2)|0;s=d6(s|0,L|0,-32,-1)|0;s=d6(s|0,L|0,c|0,t|0)|0;t=L;if(!u){l=+(r|0)*0.0;break}Z=0-i|0;f=((Z|0)<0)<<31>>31;if((t|0)>(f|0)|(t|0)==(f|0)&s>>>0>Z>>>0){a[(X2()|0)>>2]=34;l=+(r|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}Z=i+-106|0;f=((Z|0)<0)<<31>>31;if((t|0)<(f|0)|(t|0)==(f|0)&s>>>0>>0){a[(X2()|0)>>2]=34;l=+(r|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((u|0)>-1){c=u;do{Z=!(l>=.5);c=c<<1|(Z^1)&1;l=l+(Z?l:l+-1.0);s=d6(s|0,t|0,-1,-1)|0;t=L}while((c|0)>-1);k=l;w=c}else{k=l;w=u}Z=((e|0)<0)<<31>>31;i=B6(32,0,i|0,((i|0)<0)<<31>>31|0)|0;t=d6(i|0,L|0,s|0,t|0)|0;i=L;if((i|0)<(Z|0)|(i|0)==(Z|0)&t>>>0>>0)if((t|0)>0)C=59;else{c=0;t=84;C=61}else{t=e;C=59}if((C|0)==59)if((t|0)<53){c=t;t=84-t|0;C=61}else{b=0.0;l=+(r|0)}if((C|0)==61){l=+(r|0);b=+k1(+s1(1.0,t),l);t=c}r=(w&1|0)==0&(k!=0.0&(t|0)<32);l=(r?0.0:k)*l+(b+l*+((w+(r&1)|0)>>>0))-b;if(!(l!=0.0))a[(X2()|0)>>2]=34;l=+o1(l,s)}}while(0);return+l}function j3(A,e,i,r,f,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;var t=0.0,c=0.0,b=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0.0;F=k;k=k+512|0;Y=F;D=r+i|0;M=0-D|0;m=A+4|0;W=A+100|0;b=0;A:while(1){switch(e|0){case 46:{G=6;break A}case 48:break;default:{E=0;o=b;h=0;u=0;break A}}e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0;b=1;continue}else{e=Y1(A)|0;b=1;continue}}if((G|0)==6){e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==48){b=0;e=0;while(1){b=d6(b|0,e|0,-1,-1)|0;u=L;e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==48)e=u;else{E=1;o=1;h=b;break}}}else{E=1;o=b;h=0;u=0}}a[Y>>2]=0;w=e+-48|0;s=(e|0)==46;A:do{if(s|w>>>0<10){Q=Y+496|0;C=0;b=0;g=0;I=E;Z=o;G=w;o=0;w=0;e:while(1){do{if(s)if(!I){I=1;h=o;u=w}else break e;else{o=d6(o|0,w|0,1,0)|0;w=L;E=(e|0)!=48;if((b|0)>=125){if(!E)break;a[Q>>2]=a[Q>>2]|1;break}s=Y+(b<<2)|0;if(!C)e=G;else e=e+-48+((a[s>>2]|0)*10|0)|0;a[s>>2]=e;C=C+1|0;Z=(C|0)==9;C=Z?0:C;b=b+(Z&1)|0;g=E?o:g;Z=1}}while(0);e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;G=e+-48|0;s=(e|0)==46;if(!(s|G>>>0<10)){E=I;s=Z;G=29;break A}}e=C;s=(Z|0)!=0;G=37}else{C=0;b=0;g=0;s=o;o=0;w=0;G=29}}while(0);do{if((G|0)==29){Q=(E|0)==0;h=Q?o:h;u=Q?w:u;s=(s|0)!=0;if(!(s&(e|32|0)==101))if((e|0)>-1){e=C;G=37;break}else{e=C;G=39;break}s=S3(A,l)|0;e=L;if((s|0)==0&(e|0)==-2147483648){if(!l){y1(A,0);t=0.0;break}if(!(a[W>>2]|0)){s=0;e=0}else{a[m>>2]=(a[m>>2]|0)+-1;s=0;e=0}}Z=d6(s|0,e|0,h|0,u|0)|0;e=C;u=L;G=41}}while(0);if((G|0)==37)if(a[W>>2]|0){a[m>>2]=(a[m>>2]|0)+-1;if(s){Z=h;G=41}else G=40}else G=39;if((G|0)==39)if(s){Z=h;G=41}else G=40;do{if((G|0)==40){a[(X2()|0)>>2]=22;y1(A,0);t=0.0}else if((G|0)==41){s=a[Y>>2]|0;if(!s){t=+(f|0)*0.0;break}if(((w|0)<0|(w|0)==0&o>>>0<10)&((Z|0)==(o|0)&(u|0)==(w|0))?(i|0)>30|(s>>>i|0)==0:0){t=+(f|0)*+(s>>>0);break}A=(r|0)/-2|0;W=((A|0)<0)<<31>>31;if((u|0)>(W|0)|(u|0)==(W|0)&Z>>>0>A>>>0){a[(X2()|0)>>2]=34;t=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}A=r+-106|0;W=((A|0)<0)<<31>>31;if((u|0)<(W|0)|(u|0)==(W|0)&Z>>>0>>0){a[(X2()|0)>>2]=34;t=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(e){if((e|0)<9){w=Y+(b<<2)|0;s=a[w>>2]|0;while(1){s=s*10|0;if((e|0)>=8)break;else e=e+1|0}a[w>>2]=s}b=b+1|0}if((g|0)<9?(g|0)<=(Z|0)&(Z|0)<18:0){if((Z|0)==9){t=+(f|0)*+((a[Y>>2]|0)>>>0);break}if((Z|0)<9){t=+(f|0)*+((a[Y>>2]|0)>>>0)/+(a[63712+(8-Z<<2)>>2]|0);break}A=i+27+(U(Z,-3)|0)|0;e=a[Y>>2]|0;if((A|0)>30|(e>>>A|0)==0){t=+(f|0)*+(e>>>0)*+(a[63712+(Z+-10<<2)>>2]|0);break}}e=(Z|0)%9|0;if(!e){e=0;w=0}else{g=(Z|0)>-1?e:e+9|0;o=a[63712+(8-g<<2)>>2]|0;if(b){h=1e9/(o|0)|0;w=0;u=0;s=Z;e=0;do{m=Y+(e<<2)|0;W=a[m>>2]|0;A=((W>>>0)/(o>>>0)|0)+w|0;a[m>>2]=A;w=U(h,(W>>>0)%(o>>>0)|0)|0;A=(e|0)==(u|0)&(A|0)==0;s=A?s+-9|0:s;u=A?u+1&127:u;e=e+1|0}while((e|0)!=(b|0));if(!w)w=u;else{a[Y+(b<<2)>>2]=w;w=u;b=b+1|0}}else{w=0;b=0;s=Z}e=0;Z=9-g+s|0}A:while(1){g=(Z|0)<18;E=(Z|0)==18;C=Y+(w<<2)|0;while(1){if(!g){if(!E){s=Z;break A}if((a[C>>2]|0)>>>0>=9007199){s=18;break A}}s=0;I=b;b=b+127|0;while(1){u=b&127;o=Y+(u<<2)|0;b=G6(a[o>>2]|0,0,29)|0;b=d6(b|0,L|0,s|0,0)|0;s=L;if(s>>>0>0|(s|0)==0&b>>>0>1e9){h=E6(b|0,s|0,1e9,0)|0;b=C6(b|0,s|0,1e9,0)|0}else h=0;a[o>>2]=b;A=(u|0)==(w|0);I=(b|0)==0&(((u|0)!=(I+127&127|0)|A)^1)?u:I;if(A)break;else{s=h;b=u+-1|0}}e=e+-29|0;if(h|0)break;else b=I}w=w+127&127;b=I+127&127;s=Y+((I+126&127)<<2)|0;if((w|0)==(I|0))a[s>>2]=a[s>>2]|a[Y+(b<<2)>>2];else b=I;a[Y+(w<<2)>>2]=h;Z=Z+9|0}A:while(1){C=b+1&127;I=Y+((b+127&127)<<2)|0;while(1){h=(s|0)==18;E=(s|0)>27?9:1;Z=w;while(1){o=0;while(1){w=o+Z&127;if((w|0)==(b|0)){z=2;G=88;break}w=a[Y+(w<<2)>>2]|0;u=a[63744+(o<<2)>>2]|0;if(w>>>0>>0){z=2;G=88;break}if(w>>>0>u>>>0)break;w=o+1|0;if((o|0)<1)o=w;else{z=w;G=88;break}}if((G|0)==88?(G=0,h&(z|0)==2):0){t=0.0;u=0;break A}e=E+e|0;if((Z|0)==(b|0))Z=b;else break}h=(1<>>E;o=0;w=Z;u=Z;do{m=Y+(u<<2)|0;W=a[m>>2]|0;A=(W>>>E)+o|0;a[m>>2]=A;o=U(W&h,g)|0;A=(u|0)==(w|0)&(A|0)==0;s=A?s+-9|0:s;w=A?w+1&127:w;u=u+1&127}while((u|0)!=(b|0));if(!o)continue;if((C|0)!=(w|0))break;a[I>>2]=a[I>>2]|1}a[Y+(b<<2)>>2]=o;b=C}do{w=u+Z&127;s=b+1&127;if((w|0)==(b|0)){a[Y+(s+-1<<2)>>2]=0;b=s}t=t*1.0e9+ +((a[Y+(w<<2)>>2]|0)>>>0);u=u+1|0}while((u|0)!=2);v=+(f|0);c=t*v;u=e+53|0;o=u-r|0;h=(o|0)<(i|0);w=h?(o|0)>0?o:0:i;if((w|0)<53){V=+k1(+s1(1.0,105-w|0),c);d=+h1(c,+s1(1.0,53-w|0));B=V;t=d;d=V+(c-d)}else{B=0.0;t=0.0;d=c}s=Z+2&127;if((s|0)!=(b|0)){s=a[Y+(s<<2)>>2]|0;do{if(s>>>0>=5e8){if((s|0)!=5e8){t=v*.75+t;break}if((Z+3&127|0)==(b|0)){t=v*.5+t;break}else{t=v*.75+t;break}}else{if((s|0)==0?(Z+3&127|0)==(b|0):0)break;t=v*.25+t}}while(0);if((53-w|0)>1?!(+h1(t,1.0)!=0.0):0)c=t+1.0;else c=t}else c=t;t=d+c-B;do{if((u&2147483647|0)>(-2-D|0)){D=!(+y(+t)>=9007199254740992.0);e=e+((D^1)&1)|0;t=D?t:t*.5;if((e+50|0)<=(M|0)?!(c!=0.0&(h&((w|0)!=(o|0)|D))):0)break;a[(X2()|0)>>2]=34}}while(0);t=+o1(t,e)}}while(0);k=F;return+t}function S3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;l=A+4|0;i=a[l>>2]|0;t=A+100|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0;switch(i|0){case 43:case 45:{r=(i|0)==45&1;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0;if((e|0)!=0&(i+-48|0)>>>0>9?(a[t>>2]|0)!=0:0)a[l>>2]=(a[l>>2]|0)+-1;break}default:r=0}if((i+-48|0)>>>0>9)if(!(a[t>>2]|0)){r=-2147483648;i=0}else{a[l>>2]=(a[l>>2]|0)+-1;r=-2147483648;i=0}else{f=0;do{f=i+-48+(f*10|0)|0;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10&(f|0)<214748364);e=((f|0)<0)<<31>>31;if((i+-48|0)>>>0<10)do{e=h6(f|0,e|0,10,0)|0;f=L;i=d6(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;f=d6(i|0,L|0,e|0,f|0)|0;e=L;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10&((e|0)<21474836|(e|0)==21474836&f>>>0<2061584302));if((i+-48|0)>>>0<10)do{i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10);if(a[t>>2]|0)a[l>>2]=(a[l>>2]|0)+-1;t=(r|0)!=0;i=B6(0,0,f|0,e|0)|0;r=t?L:e;i=t?i:f}L=r;return i|0}function P3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=A+84|0;n=a[r>>2]|0;l=i+256|0;f=L1(n,0,l)|0;f=(f|0)==0?l:f-n|0;i=f>>>0>>0?f:i;y6(e|0,n|0,i|0)|0;a[A+4>>2]=n+i;e=n+f|0;a[A+8>>2]=e;a[r>>2]=e;return i|0}function O3(A,e,i){A=A|0;e=e|0;i=i|0;return K3(A,e,i)|0}function K3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((a[A+76>>2]|0)>-1){r=(d4(A)|0)==0;e=_3(A,e,i)|0;if(!r)B4(A)}else e=_3(A,e,i)|0;return e|0}function _3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((i|0)==1)e=e-(a[A+8>>2]|0)+(a[A+4>>2]|0)|0;r=A+20|0;f=A+28|0;if((a[r>>2]|0)>>>0>(a[f>>2]|0)>>>0?(W5[a[A+36>>2]&63](A,0,0)|0,(a[r>>2]|0)==0):0)e=-1;else{a[A+16>>2]=0;a[f>>2]=0;a[r>>2]=0;if((W5[a[A+40>>2]&63](A,e,i)|0)<0)e=-1;else{a[A+8>>2]=0;a[A+4>>2]=0;a[A>>2]=a[A>>2]&-17;e=0}}return e|0}function q3(A){A=A|0;var e=0,i=0,f=0,a=0,n=0,l=0;while(1){f=r[A>>0]|0;e=f<<24>>24;a=A+1|0;if(!(Q1(e)|0))break;else A=a}switch(e|0){case 45:{A=1;n=5;break}case 43:{A=0;n=5;break}default:{l=0;i=A;A=f}}if((n|0)==5){l=A;i=a;A=r[a>>0]|0}e=(A<<24>>24)+-48|0;if(e>>>0<10){A=0;do{i=i+1|0;A=(A*10|0)-e|0;e=(r[i>>0]|0)+-48|0}while(e>>>0<10)}else A=0;return(l|0?A:0-A|0)|0}function $3(A){A=A|0;return+ +A8(A,0)}function A8(A,e){A=A|0;e=e|0;return+ +e8(A,e,1)}function e8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0;t=k;k=k+128|0;l=t;f=l;n=f+124|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));f=l+4|0;a[f>>2]=A;n=l+8|0;a[n>>2]=-1;a[l+44>>2]=A;a[l+76>>2]=-1;y1(l,0);r=+x3(l,i,1);i=(a[f>>2]|0)-(a[n>>2]|0)+(a[l+108>>2]|0)|0;if(e|0)a[e>>2]=i|0?A+i|0:A;k=t;return+r}function i8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0;A:do{if(!i)e=0;else{l=e;while(1){n=i>>>1;e=l+(U(n,r)|0)|0;a=m5[f&127](A,e)|0;if(!a)break A;if((i|0)==1){e=0;break A}a=(a|0)<0;i=a?n:i-n|0;if(!i){e=0;break}else l=a?l:e}}}while(0);return e|0}function r8(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;a=A+2|0;r=A+4|0;i=h6((l[e+2>>1]|0)<<16|(l[e>>1]|0)|0,l[e+4>>1]|0|0,(l[a>>1]|0)<<16|(l[A>>1]|0)|0,l[r>>1]|0|0)|0;e=d6(i|0,L|0,l[e+6>>1]|0|0,0)|0;i=L;f[A>>1]=e;A=Z6(e|0,i|0,16)|0;f[a>>1]=A;f[r>>1]=i;L=i&65535;return e|0}function f8(A){A=A|0;var e=0;e=186608;a[e>>2]=A+-1;a[e+4>>2]=0;return}function a8(){var A=0,e=0,i=0;e=186608;e=h6(a[e>>2]|0,a[e+4>>2]|0,1284865837,1481765933)|0;e=d6(e|0,L|0,1,0)|0;A=L;i=186608;a[i>>2]=e;a[i+4>>2]=A;A=Z6(e|0,A|0,33)|0;return A|0}function n8(A){A=A|0;f[96876]=f[32922]|0;f[96877]=f[32923]|0;f[96878]=f[32924]|0;f[32922]=f[A>>1]|0;f[32923]=f[A+2>>1]|0;f[32924]=f[A+4>>1]|0;return 193752}function l8(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;f[i>>1]=13070;f[i+2>>1]=A;f[i+4>>1]=A>>>16;n8(i)|0;k=e;return}function t8(A){A=A|0;var e=0;e=r8(A,65850)|0;e=G6(e|0,L|0,4)|0;A=L|1072693248;a[w>>2]=e;a[w+4>>2]=A;return+(+b[w>>3]+-1.0)}function c8(){return+ +t8(65844)}function b8(A,e){A=A|0;e=e|0;if(!A)e=W2(1,24)|0;else{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0}return e|0}function s8(A){A=A|0;var e=0,i=0;e=a[A>>2]|0;if(e|0)do{L2(a[e>>2]|0);i=e;e=a[e+4>>2]|0;L2(i)}while((e|0)!=0);L2(A);return}function w8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;l=A+16|0;A:do{if(!(a[l>>2]|0)){b=A+12|0;n=a[b>>2]|0;if(n>>>0>>0){do{if(e)if(!i){a[l>>2]=1;e=0;break A}else{l=A+8|0;a[l>>2]=i;n=1024;e=i;break}else{n=f<<3;n=n>>>0>1024?n:1024;c=m2(8)|0;if(!c){a[l>>2]=1;e=0;break A}e=m2(n)|0;a[c>>2]=e;i=e;if(!e){L2(c);a[l>>2]=1;e=0;break A}a[c+4>>2]=0;l=A+4|0;t=a[l>>2]|0;if(t|0)a[t+4>>2]=c;if(!(a[A>>2]|0))a[A>>2]=c;a[l>>2]=c;l=A+8|0;a[l>>2]=i}}while(0);a[b>>2]=n}else{l=A+8|0;e=a[l>>2]|0;i=e}i=i+f&3;i=((i|0)==0?0:4-i|0)+f|0;a[l>>2]=e+i;a[b>>2]=n-i;if(r)Y6(e|0,0,i|0)|0}else e=0}while(0);return e|0}function u8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;E=k;k=k+48|0;t=E;v=k8()|0;A:do{if(!v)e=12;else{g=b8(0,0)|0;if(!g){o8(v);e=12;break}r=t+8|0;a[r>>2]=0;a[r+4>>2]=0;a[r+8>>2]=0;a[r+12>>2]=0;a[r+16>>2]=0;a[t>>2]=g;a[t+4>>2]=v;a[t+16>>2]=e;a[t+32>>2]=i;r=t+28|0;a[r>>2]=-1;e=h8(t)|0;e:do{if(!e){l=t+20|0;f=a[l>>2]|0;a[A>>2]=f+-1;c=a[t+8>>2]|0;e=a[r>>2]|0;if((e|0)<(f|0)){n=W2(1,68)|0;if(n){d=e>>>31^1;a[n+60>>2]=d;a[n+28>>2]=f;if((i&8|0)==0|(d|0)!=0){e=d8(0,v,c,n)|0;if(e|0){l=0;t=0;f=0;r=0;break}f=a[n+40>>2]|0;if((f|0)>0){e=(f<<2)+4|0;r=m2(e)|0;if(!r){l=0;t=0;e=12;f=0;r=0;break}a[n+32>>2]=r;Y6(r|0,-1,e|0)|0}else r=0;d=W2(f<<1|1,4)|0;a[n+36>>2]=d;if(!d){l=0;t=0;e=12;f=0;r=0;break}e=W2(a[l>>2]|0,12)|0;if(!e){l=0;t=0;e=12;f=0;r=0;break}a[n+16>>2]=e;e=d8(g,v,c,n)|0;if(!e)e=r;else{l=0;t=0;f=0;r=0;break}}else e=0;d=t+24|0;e=B8(g,v,c,d,e)|0;if(!e){e=a[d>>2]|0;a[d>>2]=e+1;e=v8(g,0,0,e)|0;if((e|0)!=0?(B=g8(g,c,e)|0,(B|0)!=0):0){e=E8(g,v,B)|0;if(!e){r=a[d>>2]|0;e=r<<2;o=m2(e)|0;if(o){h=m2(e)|0;if(h){if((r|0)>0)Y6(o|0,0,r<<2|0)|0;C8(B,0,o,0)|0;f=a[d>>2]|0;if((f|0)>0){e=0;r=0;do{a[h+(r<<2)>>2]=e;u=o+(r<<2)|0;e=e+1+(a[u>>2]|0)|0;a[u>>2]=0;r=r+1|0}while((r|0)<(f|0));s=e}else s=0;w=W2(s+1|0,32)|0;if(w){a[n>>2]=w;u=n+4|0;a[u>>2]=s;e=C8(B,w,o,h)|0;if(!e){a[n+20>>2]=0;f=B+24|0;e=a[f>>2]|0;r=0;while(1){r=r+1|0;if((a[e>>2]|0)<=-1)break;else e=e+32|0}b=W2(r,32)|0;if(!b){l=o;t=h;e=12;f=o;r=h}else{a[n+8>>2]=b;r=a[f>>2]|0;f=a[r>>2]|0;if((f|0)>-1){e=0;do{a[b+(e<<5)+8>>2]=w+(a[h+(f<<2)>>2]<<5);a[b+(e<<5)+12>>2]=f;t=b+(e<<5)+16|0;a[t>>2]=0;c=r+12|0;l=a[c>>2]|0;if(l|0){f=0;do{C=f;f=f+1|0}while((a[l+(C<<2)>>2]|0)>-1);f=f<<2;l=m2(f)|0;a[t>>2]=l;if(!l){l=o;t=h;e=12;f=o;r=h;break e}y6(l|0,a[c>>2]|0,f|0)|0}a[b+(e<<5)+20>>2]=a[r+16>>2];e=e+1|0;r=r+32|0;f=a[r>>2]|0}while((f|0)>-1)}else e=0;a[b+(e<<5)+8>>2]=0;a[u>>2]=s;a[n+12>>2]=w+(a[h+(a[a[B+28>>2]>>2]<<2)>>2]<<5);a[n+52>>2]=a[d>>2];a[n+56>>2]=i;s8(g);o8(v);L2(o);L2(h);a[A+4>>2]=n;e=0;break A}}else{l=o;t=h;f=o;r=h}}else{l=o;t=h;e=12;f=o;r=h}}else{l=o;t=h;e=12;f=o;r=0}}else{l=o;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{n=0;l=0;t=0;e=6;f=0;r=0}}else{n=0;l=0;t=0;f=0;r=0}}while(0);s8(g);o8(v);if(l|0)L2(f);if(t|0)L2(r);a[A+4>>2]=n;I8(A)}}while(0);k=E;return e|0}function k8(){var A=0,e=0;A=m2(20)|0;do{if(A){e=m2(2048)|0;a[A+16>>2]=e;if(!e){L2(A);A=0;break}else{a[A>>2]=512;a[A+4>>2]=1024e3;a[A+8>>2]=128;a[A+12>>2]=0;break}}}while(0);return A|0}function o8(A){A=A|0;L2(a[A+16>>2]|0);L2(A);return}function h8(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+16|0;o=g+4|0;h=g;d=a[A+32>>2]&1;B=A+16|0;i=a[B>>2]|0;v=a[A+4>>2]|0;e=m8(v,0)|0;A:do{if(!e){s=(d|0)!=0;w=A+8|0;u=A+12|0;e=0;b=1;e:while(1){n=0;l=e;f=0;i:while(1){e=r[i>>0]|0;if(s){if(e<<24>>24==40)break;if((l|0)!=0&e<<24>>24==41)c=13;else c=14}else if(e<<24>>24==92)switch(r[i+1>>0]|0){case 40:break i;case 41:{c=13;break}default:c=14}else c=14;if((c|0)==13){c=0;t=v8(a[A>>2]|0,-1,-1,-1)|0;a[w>>2]=t;if(!t){e=12;break A}else t=f}else if((c|0)==14){c=0;e=p8(A,i)|0;if(e|0)break A;t=f;i=a[u>>2]|0}r:while(1){f:while(1){e=r[i>>0]|0;switch(e<<24>>24){case 42:case 92:break;default:{if(!s)break f;switch(e<<24>>24){case 123:case 63:case 43:break;default:break f}}}e=e<<24>>24==92;if(s&e)break;f=i+1|0;if(e)switch(r[f>>0]|0){case 123:case 63:case 43:break;default:break f}i=e?f:i;if((!s?(i|0)==((a[B>>2]|0)+1|0):0)?(r[i+-1>>0]|0)==94:0)break;if((r[i>>0]|0)==123){i=U8(i+1|0,d,o,h)|0;if(!i){c=28;break e}e=a[h>>2]|0;f=a[A>>2]|0;if(!e)e=v8(f,-1,-1,-1)|0;else c=36}else{a[o>>2]=0;a[h>>2]=-1;e=r[i>>0]|0;if(e<<24>>24==43){a[o>>2]=1;e=r[i>>0]|0}if(e<<24>>24==63){a[h>>2]=1;e=1}else e=-1;i=i+1|0;f=a[A>>2]|0;c=36}if((c|0)==36){c=0;e=J8(f,a[w>>2]|0,a[o>>2]|0,e,0)|0}a[w>>2]=e;if(!e){e=12;break A}}e=g8(a[A>>2]|0,n,a[w>>2]|0)|0;f=r[i>>0]|0;f:do{if(s){if(f<<24>>24==124){c=40;break r}if((l|0)!=0&f<<24>>24==41|f<<24>>24==0)c=47;else{n=e;f=t;continue i}}else{switch(f<<24>>24){case 0:{c=47;break f}case 92:break;default:{n=e;f=t;continue i}}switch(r[i+1>>0]|0){case 124:case 41:break;default:{n=e;f=t;continue i}}e=N8(a[A>>2]|0,t,e)|0;if((r[i+1>>0]|0)==124){f=2;break r}if(!l){e=8;break A}i=i+2|0;f=92}}while(0);if((c|0)==47){c=0;e=N8(a[A>>2]|0,t,e)|0;i=f<<24>>24==41?i+1|0:i}e=x8(A,e,L8(v)|0)|0;if(e|0)break A;e=f<<24>>24==0;f=(l|0)<1;if(f&e){c=50;break e}if(f|e){e=8;break A}n=W8(v)|0;l=l+-1|0;t=W8(v)|0}if((c|0)==40){f=1;e=N8(a[A>>2]|0,t,e)|0}n=0;i=i+f|0;f=e}e=Q8(v,f)|0;if(e|0)break A;e=Q8(v,n)|0;if(e|0)break A;e=m8(v,b)|0;if(e|0)break A;e=l+1|0;b=b+1|0;i=s?i+1|0:i+2|0}if((c|0)==28){e=10;break}else if((c|0)==50){a[A+20>>2]=b;e=0;break}}}while(0);k=g;return e|0}function d8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;I=G8(e)|0;Z=(A|0)==0|(f|0)==0;if(!Z){a[f+48>>2]=0;a[a[f+36>>2]>>2]=-1}l=a[f+28>>2]|0;G=m2((l<<3)+8|0)|0;do{if(!G)n=12;else{a[G>>2]=-1;Q=m2((l<<2)+4|0)|0;if(!Q){L2(G);n=12;break}a[Q>>2]=-1;n=0;while(1)if(n>>>0>l>>>0)break;else n=n+1|0;Q8(e,i)|0;n=m8(e,0)|0;A:do{if((n|0)!=0|(G8(e)|0)<=(I|0)){i=G;u=0;l=0;w=0;s=-1}else{g=f+32|0;E=f+36|0;C=f+16|0;i=G;u=0;l=0;w=0;v=1;s=-1;B=0;while(1){e:do{switch(L8(e)|0){case 6:{t=L8(e)|0;n=0;do{c=i+(n<<2)|0;n=n+1|0}while((a[c>>2]|0)>-1);a[c>>2]=t<<1|1;a[i+(n<<2)>>2]=-1;n=0;while(1)if((a[Q+(n<<2)>>2]|0)>-1)n=n+1|0;else break;a[Q+(n+-1<<2)>>2]=-1;n=0;c=v;t=B;break}case 0:{h=W8(e)|0;d=h+12|0;c=a[d>>2]|0;if((c|0)>-1){n=0;do{t=i+(n<<2)|0;n=n+1|0}while((a[t>>2]|0)>-1);a[t>>2]=c<<1;a[i+(n<<2)>>2]=-1;if(!Z){n=0;while(1)if((a[Q+(n<<2)>>2]|0)>-1)n=n+1|0;else break;t=(a[C>>2]|0)+(c*12|0)+8|0;a[t>>2]=0;if((n|0)>0){n=m2((n<<2)+4|0)|0;if(!n){n=12;c=v;t=B;break e}a[t>>2]=n;t=a[Q>>2]|0;if((t|0)>-1){b=0;c=n;do{a[c>>2]=t;b=b+1|0;t=a[Q+(b<<2)>>2]|0;c=n+(b<<2)|0}while((t|0)>-1);n=c}a[n>>2]=-1}}n=m8(e,a[d>>2]|0)|0;if(n|0){c=v;t=B;break e}n=m8(e,6)|0;if(n|0){c=v;t=B;break e}}i:do{switch(a[h>>2]|0){case 0:{o=a[a[h+4>>2]>>2]|0;if((o|0)>-1|(o|0)==-4?(a[i>>2]|0)>-1:0){if(Z){a[h+20>>2]=1;n=0}else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=B;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;o=v+1|0;k=B;u=u+1|0;w=v}else{o=v;n=0;k=B}break}case 1:{c=a[h+4>>2]|0;b=a[c>>2]|0;c=a[c+4>>2]|0;n=Q8(e,h)|0;if(!n){n=m8(e,5)|0;if(!n){n=Q8(e,c)|0;if(!n){n=m8(e,0)|0;if(!n){t=b+20|0;n=m8(e,(a[t>>2]|0)+v|0)|0;if(!n){if((a[t>>2]|0)>0){t=(a[c+20>>2]|0)>0;n=t?v:-1;t=v+(t&1)|0}else{n=-1;t=v}n=m8(e,n)|0;if(!n){n=m8(e,4)|0;if(!n){n=Q8(e,b)|0;if(!n){o=t;n=m8(e,0)|0;k=B}else{o=t;k=B}}else{o=t;k=B}}else{o=t;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}case 2:{t=a[h+4>>2]|0;if(Z){if((a[i>>2]|0)>-1)n=1;else n=(r[t+12>>0]&1)!=0;n=m8(e,n&1)|0;if(n|0){o=v;k=B;break i}}else{n=m8(e,w)|0;if(n|0){o=v;k=B;break i}n=m8(e,r[t+12>>0]&1)|0;if(n|0){o=v;k=B;break i}}n=Q8(e,h)|0;if(!n){n=m8(e,1)|0;if(!n){n=Q8(e,a[t>>2]|0)|0;if(!n){n=m8(e,0)|0;if(!n){if((a[i>>2]|0)<=-1?(r[t+12>>0]&1)==0:0){o=v;n=0;k=0;break i}if(Z)n=0;else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=(r[t+12>>0]&1)==0?B:1;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;o=v+1|0;k=0;u=u+1|0;w=v}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}case 3:{c=a[h+4>>2]|0;b=a[c>>2]|0;c=a[c+4>>2]|0;t=(a[i>>2]|0)>-1;o=v+1|0;n=m8(e,t?o:v)|0;if(!n){n=m8(e,t?v:w)|0;if(!n){n=Q8(e,i)|0;if(!n){n=m8(e,(a[i>>2]|0)>>>31^1)|0;if(!n){n=Q8(e,h)|0;if(!n){n=Q8(e,c)|0;if(!n){n=Q8(e,b)|0;if(!n){n=m8(e,3)|0;if(!n){n=Q8(e,c)|0;if(!n){n=m8(e,0)|0;if(!n){n=m8(e,2)|0;if(n|0){o=v;k=B;break i}n=Q8(e,b)|0;if(n|0){o=v;k=B;break i}n=m8(e,0)|0;if(n|0){o=v;k=B;break i}if((a[i>>2]|0)>-1){if(Z)n=0;else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=B;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;u=u+1|0;w=v;t=o}else{n=0;t=v}v=(a[h+16>>2]|0)>0;o=v?t+2|0:t;k=B;w=v?t+1|0:w}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}default:{o=v;n=0;k=B}}}while(0);c=a[d>>2]|0;if((c|0)>-1){t=0;do{b=Q+(t<<2)|0;t=t+1|0}while((a[b>>2]|0)>-1);a[b>>2]=c;a[Q+(t<<2)>>2]=-1;c=o;t=k}else{c=o;t=k}break}case 1:{n=W8(e)|0;if(Z){t=a[(a[a[n+4>>2]>>2]|0)+20>>2]|0;a[n+20>>2]=(L8(e)|0)+t;t=0;s=-1}else{h=L8(e)|0;d=L8(e)|0;t=h;s=(h|0)==0?s:d}n=0;c=v;t=Z?B:(t|0)==0&1;break}case 4:{t=L8(e)|0;c=L8(e)|0;n=0;w=(t|0)>-1?t:w;t=B;break}case 5:{n=W8(e)|0;if(Z){c=a[n+4>>2]|0;a[n+20>>2]=(a[(a[c+4>>2]|0)+20>>2]|0)+(a[(a[c>>2]|0)+20>>2]|0);n=0;c=v;t=B}else{n=0;c=v;t=B}break}case 2:{while(1)if((a[i>>2]|0)>-1)i=i+4|0;else{n=0;c=v;t=B;break}break}case 3:{c=W8(e)|0;k=W8(e)|0;n=W8(e)|0;i=L8(e)|0;if(Z){d=a[n+4>>2]|0;B=n+16|0;a[n+20>>2]=(a[(a[d>>2]|0)+20>>2]|0)+i+(a[(a[d+4>>2]|0)+20>>2]|0)+((a[B>>2]|0)>0?2:0);n=B}else n=n+16|0;i=W8(e)|0;t=L8(e)|0;b=L8(e)|0;if((a[n>>2]|0)>0){if(Z)n=0;else{n=H8(A,c,t)|0;a[(a[g>>2]|0)+(t<<2)>>2]=1;if(!n)n=H8(A,k,b)|0;a[(a[g>>2]|0)+(b<<2)>>2]=1}u=u+2|0;c=v;t=1}else{n=0;c=v;t=1}break}default:{n=0;c=v;t=B}}}while(0);if((n|0)!=0|(G8(e)|0)<=(I|0))break A;else{v=c;B=t}}}}while(0);if(!Z?(R8(i,f,w),(s|0)>-1):0){t=a[f+36>>2]|0;i=0;while(1){c=t+(i<<2)|0;b=i+1|0;if((a[c>>2]|0)>-1)i=b;else break}a[c>>2]=w;a[t+(b<<2)>>2]=s;a[t+(i+2<<2)>>2]=-1;l=l+1|0}a[f+48>>2]=u;a[f+40>>2]=u;a[f+44>>2]=l;L2(G);L2(Q)}}while(0);return n|0}function B8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;v=Z+12|0;I=Z+8|0;g=Z+4|0;E=Z;C=G8(e)|0;a[v>>2]=0;a[I>>2]=0;i=Q8(e,i)|0;A:do{if(!i){i=m8(e,0)|0;if(!i){e:do{if((G8(e)|0)>(C|0)){n=0;t=0;c=0;i:while(1){h=L8(e)|0;d=W8(e)|0;r:do{switch(h|0){case 0:{switch(a[d>>2]|0){case 0:{i=a[d+4>>2]|0;d=a[i>>2]|0;if(!((d|0)>-1|(d|0)==-4)){i=c;break r}d=i+8|0;i=(a[d>>2]|0)+c|0;a[d>>2]=i;if((i|0)<=(a[I>>2]|0)){i=c;break r}a[I>>2]=i;i=c;break r}case 3:{l=a[d+4>>2]|0;i=Q8(e,a[l+4>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;break}case 1:{l=a[d+4>>2]|0;i=Q8(e,a[l+4>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;break}case 2:{l=a[d+4>>2]|0;i=m8(e,c)|0;if(i|0)break e;i=Q8(e,d)|0;if(i|0)break e;i=m8(e,1)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;if((a[l+4>>2]|0)<=1?(a[l+8>>2]|0)<=1:0)i=c;else{a[v>>2]=0;i=0}t=t+1|0;break r}default:{i=c;break r}}i=m8(e,0)|0;if(!i)i=c;else break e;break}case 1:{o=d+4|0;u=a[o>>2]|0;h=L8(e)|0;a[v>>2]=h;w=u+4|0;c=a[w>>2]|0;if((c|0)<=1)if((a[u+8>>2]|0)>1){a[g>>2]=0;if((c|0)>0)B=30;else{i=h;l=0;B=37}}else i=h;else{a[g>>2]=0;B=30}f:do{if((B|0)==30){i=V8(A,e,a[u>>2]|0,(c|0)>1?1:2,v,f,E,I)|0;if(!i){l=0;b=h;s=1}else{B=34;break i}while(1){i=a[E>>2]|0;if(!l)l=i;else l=g8(A,l,i)|0;if(!l){i=12;B=34;break i}c=a[w>>2]|0;if((s|0)>=(c|0)){i=b;B=37;break f}b=a[v>>2]|0;s=s+1|0;i=V8(A,e,a[u>>2]|0,(s|0)<(c|0)?1:2,v,f,E,I)|0;if(i|0){B=34;break i}}}}while(0);if((B|0)==37){B=0;w=u+8|0;b=a[w>>2]|0;if((b|0)==-1){b=a[v>>2]|0;i=V8(A,e,a[u>>2]|0,0,v,0,g,I)|0;if(i|0)break i;c=J8(A,a[g>>2]|0,0,-1,0)|0;a[g>>2]=c;if(!c){i=12;break i}else i=b}else if((c|0)<(b|0)){b=c;c=0;while(1){s=a[v>>2]|0;i=V8(A,e,a[u>>2]|0,0,v,0,E,I)|0;if(i|0){B=49;break i}if(!c){i=a[E>>2]|0;a[g>>2]=i}else{i=g8(A,a[E>>2]|0,c)|0;a[g>>2]=i}if(!i){i=12;B=49;break i}c=v8(A,-1,-1,-1)|0;if(!c){i=12;B=49;break i}c=N8(A,c,i)|0;a[g>>2]=c;if(!c){i=12;B=49;break i}b=b+1|0;if((b|0)>=(a[w>>2]|0)){i=s;break}}}else c=0;a[v>>2]=i;if(l){if(c){l=g8(A,l,c)|0;B=54}}else{l=c;B=54}if((B|0)==54){B=0;if(!l){i=12;break i}}a[o>>2]=a[l+4>>2];a[d>>2]=a[l>>2]}t=t+-1|0;l=i-h+n|0;if(!t){a[v>>2]=l;n=l;t=0;i=l}else n=l;break}default:i=c}}while(0);if((G8(e)|0)>(C|0))c=i;else{i=0;break e}}break A}else{i=0;n=0}}while(0);C=(a[r>>2]|0)+n|0;I=a[I>>2]|0;a[r>>2]=(I|0)>(C|0)?I:C}}}while(0);k=Z;return i|0}function v8(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=w8(A,0,0,1,20)|0;A=F8(A,0,f)|0;if(!A)A=0;else{a[f>>2]=e;a[f+4>>2]=i;a[f+8>>2]=r}return A|0}function g8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=w8(A,0,0,1,8)|0;A=F8(A,1,r)|0;if(!A)i=0;else{a[r>>2]=e;a[r+4>>2]=i;a[A+16>>2]=(a[i+16>>2]|0)+(a[e+16>>2]|0);i=A}}return i|0}function E8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;c=u+4|0;b=u;s=G8(e)|0;i=Q8(e,i)|0;A:do{if(!i){i=m8(e,0)|0;if(!i)if((G8(e)|0)>(s|0)){e:while(1){l=L8(e)|0;t=W8(e)|0;i:do{switch(l|0){case 0:switch(a[t>>2]|0){case 0:{n=a[t+4>>2]|0;f=a[n>>2]|0;if((f|0)==-4){a[t+8>>2]=0;i=n+8|0;l=y8(A,a[i>>2]|0,0,1114111,0,0,-1)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=y8(A,a[i>>2]|0,0,1114111,0,0,a[n+4>>2]|0)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}i=t+8|0;if((f|0)<0){a[i>>2]=1;l=z8(A)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=z8(A)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}else{a[i>>2]=0;i=n+8|0;r=n+4|0;l=y8(A,a[i>>2]|0,f,a[r>>2]|0,0,0,-1)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=y8(A,a[i>>2]|0,a[n>>2]|0,a[r>>2]|0,a[n+12>>2]|0,a[n+16>>2]|0,-1)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}}case 3:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,1)|0;if(i|0)break A;r=t+4|0;i=Q8(e,a[(a[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(i|0)break A;i=Q8(e,a[a[r>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}case 1:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,2)|0;if(i|0)break A;r=t+4|0;i=Q8(e,a[(a[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(i|0)break A;i=Q8(e,a[a[r>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}case 2:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,3)|0;if(i|0)break A;i=Q8(e,a[a[t+4>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}default:break i}case 1:{i=a[t+4>>2]|0;r=a[i>>2]|0;f=i+4|0;n=a[f>>2]|0;if(!(a[r+8>>2]|0))l=(a[n+8>>2]|0)!=0;else l=1;a[t+8>>2]=l&1;l=Y8(A,a[r+24>>2]|0,a[n+24>>2]|0,0,0)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=Y8(A,a[(a[i>>2]|0)+28>>2]|0,a[(a[f>>2]|0)+28>>2]|0,0,0)|0;a[t+28>>2]=l;if(!l){i=12;break A}break}case 3:{l=a[t+4>>2]|0;i=a[l>>2]|0;if(!(a[l+4>>2]|0))r=1;else r=(a[i+8>>2]|0)!=0&1;a[t+8>>2]=r;a[t+24>>2]=a[i+24>>2];a[t+28>>2]=a[i+28>>2];break}case 2:{n=a[t+4>>2]|0;i=a[n>>2]|0;r=i+8|0;if(!(a[r>>2]|0))f=0;else f=(a[(a[n+4>>2]|0)+8>>2]|0)!=0;a[t+8>>2]=f&1;if(a[r>>2]|0){i=D8(e,i,0,0,c)|0;if(i|0)break e;r=m2((a[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}a[r>>2]=-1;a[b>>2]=0;i=D8(e,a[n>>2]|0,r,b,0)|0;if(i|0){w=45;break e}i=n+4|0;l=t+24|0;a[l>>2]=Y8(A,a[(a[i>>2]|0)+24>>2]|0,a[(a[n>>2]|0)+24>>2]|0,r,a[b>>2]|0)|0;L2(r);if(!(a[l>>2]|0)){i=12;break e}else f=i}else{a[t+24>>2]=a[i+24>>2];f=n+4|0}i=a[f>>2]|0;if(a[i+8>>2]|0){i=D8(e,i,0,0,c)|0;if(i|0)break e;r=m2((a[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}a[r>>2]=-1;a[b>>2]=0;i=D8(e,a[f>>2]|0,r,b,0)|0;if(i|0){w=52;break e}t=t+28|0;a[t>>2]=Y8(A,a[(a[n>>2]|0)+28>>2]|0,a[(a[f>>2]|0)+28>>2]|0,r,a[b>>2]|0)|0;L2(r);if(!(a[t>>2]|0)){i=12;break e}}else a[t+28>>2]=a[i+28>>2];break}default:{}}}while(0);if((G8(e)|0)<=(s|0)){i=0;break A}}if((w|0)==45)L2(r);else if((w|0)==52)L2(r)}else i=0}}while(0);k=u;return i|0}function C8(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;A:while(1){switch(a[A>>2]|0){case 2:{A=a[A+4>>2]|0;if((a[A+8>>2]|0)==-1?(l=a[A>>2]|0,l=Z8(a[l+28>>2]|0,a[l+24>>2]|0,e,i,r)|0,(l|0)!=0):0){A=l;break A}break}case 3:{f=a[A+4>>2]|0;A=C8(a[f>>2]|0,e,i,r)|0;if(A|0)break A;A=f+4|0;break}case 1:{f=a[A+4>>2]|0;n=f+4|0;A=Z8(a[(a[f>>2]|0)+28>>2]|0,a[(a[n>>2]|0)+24>>2]|0,e,i,r)|0;if(A|0)break A;A=C8(a[f>>2]|0,e,i,r)|0;if(!A)A=n;else break A;break}default:{A=0;break A}}A=a[A>>2]|0}return A|0}function I8(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=a[A+4>>2]|0;if(l|0){r=l+4|0;A=a[l>>2]|0;if(a[r>>2]|0){i=0;do{if(a[A+(i<<5)+8>>2]|0){e=a[A+(i<<5)+16>>2]|0;if(e){L2(e);A=a[l>>2]|0}e=a[A+(i<<5)+28>>2]|0;if(e){L2(e);A=a[l>>2]|0}}i=i+1|0}while(i>>>0<(a[r>>2]|0)>>>0)}if(A|0)L2(A);i=l+8|0;A=a[i>>2]|0;if(A|0){if(a[A+8>>2]|0){while(1){e=a[A+16>>2]|0;if(e|0)L2(e);if(!(a[A+40>>2]|0))break;else A=A+32|0}A=a[i>>2]|0}L2(A)}f=l+16|0;A=a[f>>2]|0;if(A|0){n=l+28|0;e=a[n>>2]|0;if(e){r=0;do{i=a[A+(r*12|0)+8>>2]|0;if(i){L2(i);e=a[n>>2]|0;A=a[f>>2]|0}r=r+1|0}while(r>>>0>>0)}L2(A)}A=a[l+32>>2]|0;if(A|0)L2(A);A=a[l+20>>2]|0;if(A|0)L2(A);A=a[l+36>>2]|0;if(A|0)L2(A);L2(l)}return}function Z8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;n=a[A>>2]|0;l=(n|0)>-1;A:do{if(!i)if(l){l=e+32|0;do{if((a[e>>2]|0)>-1?(Z=r+(n<<2)|0,a[Z>>2]=(a[Z>>2]|0)+1,(a[l>>2]|0)>-1):0){n=l;do{Z=r+(a[A>>2]<<2)|0;a[Z>>2]=(a[Z>>2]|0)+1;n=n+32|0}while((a[n>>2]|0)>-1)}A=A+32|0;n=a[A>>2]|0}while((n|0)>-1);n=0}else n=0;else if(l)while(1){l=a[e>>2]|0;e:do{if((l|0)>-1){o=A+4|0;h=A+8|0;d=A+16|0;B=A+20|0;v=A+24|0;g=A+28|0;E=A+12|0;r=-1;n=e;while(1){k=l;while(1){if((k|0)!=(r|0))break;n=n+32|0;l=a[n>>2]|0;if((l|0)>-1)k=l;else break e}s=i+(a[f+(a[A>>2]<<2)>>2]<<5)|0;while(1){l=s+8|0;if(!(a[l>>2]|0))break;else s=s+32|0}a[s+40>>2]=0;a[s>>2]=a[o>>2];a[s+4>>2]=a[h>>2];a[l>>2]=i+(a[f+(k<<2)>>2]<<5);a[s+12>>2]=k;l=a[B>>2]|0;r=a[n+16>>2]|a[d>>2]|(l|0?4:0)|(a[v>>2]|0?8:0);t=s+20|0;a[t>>2]=r;c=a[g>>2]|0;if((c|0)>-1){a[t>>2]=r|256;l=c}a[s+24>>2]=l;r=a[v>>2]|0;if(!r)a[s+28>>2]=0;else{l=0;do{u=l;l=l+1|0}while((a[r+(u<<2)>>2]|0)!=0);l=m2(l<<2)|0;a[s+28>>2]=l;if(!l){n=12;break A}b=a[v>>2]|0;r=a[b>>2]|0;if(r){c=0;t=l;do{a[t>>2]=r;c=c+1|0;r=a[b+(c<<2)>>2]|0;t=l+(c<<2)|0}while((r|0)!=0);l=t}a[l>>2]=0}r=a[E>>2]|0;if(!r)l=0;else{l=0;while(1)if((a[r+(l<<2)>>2]|0)>-1)l=l+1|0;else break}b=n+12|0;t=a[b>>2]|0;if(!t)r=0;else{r=0;while(1)if((a[t+(r<<2)>>2]|0)>-1)r=r+1|0;else break}c=s+16|0;t=a[c>>2]|0;if(t|0)L2(t);a[c>>2]=0;l=r+l|0;if((l|0)>0){u=m2((l<<2)+4|0)|0;a[c>>2]=u;if(!u){n=12;break A}r=a[E>>2]|0;if((r|0)!=0?(C=a[r>>2]|0,(C|0)>-1):0){l=0;t=C;do{a[u+(l<<2)>>2]=t;l=l+1|0;t=a[r+(l<<2)>>2]|0}while((t|0)>-1);w=l}else w=0;c=a[b>>2]|0;if((c|0)!=0?(I=a[c>>2]|0,(I|0)>-1):0){b=(w|0)>0;l=w;t=0;s=I;do{i:do{if(b){r=0;while(1){if((a[u+(r<<2)>>2]|0)==(s|0))break i;r=r+1|0;if((r|0)>=(w|0)){Z=39;break}}}else Z=39}while(0);if((Z|0)==39){Z=0;a[u+(l<<2)>>2]=s;l=l+1|0}t=t+1|0;s=a[c+(t<<2)>>2]|0}while((s|0)>-1)}else l=w;a[u+(l<<2)>>2]=-1}n=n+32|0;l=a[n>>2]|0;if((l|0)<=-1)break;else r=k}}}while(0);A=A+32|0;if((a[A>>2]|0)<=-1){n=0;break}}else n=0}while(0);return n|0}function G8(A){A=A|0;return a[A+12>>2]|0}function Q8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i+4|0;f=i;a[f>>2]=e;a[r>>2]=a[f>>2];e=M8(A,r)|0;k=i;return e|0}function m8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i+4|0;f=i;a[f>>2]=e;a[r>>2]=a[f>>2];e=M8(A,r)|0;k=i;return e|0}function L8(A){A=A|0;var e=0,i=0;e=a[A+16>>2]|0;i=A+12|0;A=(a[i>>2]|0)+-1|0;a[i>>2]=A;return a[e+(A<<2)>>2]|0}function W8(A){A=A|0;var e=0,i=0;e=a[A+16>>2]|0;i=A+12|0;A=(a[i>>2]|0)+-1|0;a[i>>2]=A;return a[e+(A<<2)>>2]|0}function y8(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;A=w8(A,0,0,1,64)|0;if(!A)A=0;else{a[A>>2]=e;a[A+4>>2]=i;a[A+8>>2]=r;a[A+20>>2]=f;a[A+24>>2]=n;a[A+28>>2]=l;a[A+32>>2]=-1;a[A+36>>2]=-1;a[A+40>>2]=-1}return A|0}function z8(A){A=A|0;A=w8(A,0,0,1,32)|0;if(!A)A=0;else{a[A>>2]=-1;a[A+4>>2]=-1;a[A+8>>2]=-1}return A|0}function Y8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=(r|0)==0;if(k)u=0;else{n=0;while(1)if((a[r+(n<<2)>>2]|0)>-1)n=n+1|0;else{u=n;break}}l=0;while(1)if((a[e+(l<<5)>>2]|0)>-1)l=l+1|0;else{n=0;break}while(1)if((a[i+(n<<5)>>2]|0)>-1)n=n+1|0;else break;n=w8(A,0,0,1,(n+l<<5)+32|0)|0;A:do{if(!n)n=0;else{l=a[e>>2]|0;if((l|0)>-1){w=(u|0)>0;t=0;while(1){a[n+(t<<5)>>2]=l;a[n+(t<<5)+4>>2]=a[e+(t<<5)+4>>2];a[n+(t<<5)+8>>2]=a[e+(t<<5)+8>>2];a[n+(t<<5)+16>>2]=a[e+(t<<5)+16>>2]|f;a[n+(t<<5)+20>>2]=a[e+(t<<5)+20>>2];a[n+(t<<5)+24>>2]=a[e+(t<<5)+24>>2];a[n+(t<<5)+28>>2]=a[e+(t<<5)+28>>2];s=e+(t<<5)+12|0;c=a[s>>2]|0;l=(c|0)==0;if(k&l)l=0;else{if(l)b=0;else{l=0;while(1)if((a[c+(l<<2)>>2]|0)>-1)l=l+1|0;else{b=l;break}}l=w8(A,0,0,0,(b+u<<2)+4|0)|0;if(!l){n=0;break A}if((b|0)>0){s=a[s>>2]|0;c=0;do{a[l+(c<<2)>>2]=a[s+(c<<2)>>2];c=c+1|0}while((c|0)!=(b|0))}else b=0;if(w){c=0;do{a[l+(c+b<<2)>>2]=a[r+(c<<2)>>2];c=c+1|0}while((c|0)!=(u|0));c=u}else c=0;a[l+(c+b<<2)>>2]=-1}a[n+(t<<5)+12>>2]=l;t=t+1|0;l=a[e+(t<<5)>>2]|0;if((l|0)<=-1){u=t;break}}}else u=0;t=a[i>>2]|0;l=n+(u<<5)|0;if((t|0)>-1){w=0;s=u;do{a[l>>2]=t;a[n+(s<<5)+4>>2]=a[i+(w<<5)+4>>2];a[n+(s<<5)+8>>2]=a[i+(w<<5)+8>>2];a[n+(s<<5)+16>>2]=a[i+(w<<5)+16>>2];a[n+(s<<5)+20>>2]=a[i+(w<<5)+20>>2];a[n+(s<<5)+24>>2]=a[i+(w<<5)+24>>2];a[n+(s<<5)+28>>2]=a[i+(w<<5)+28>>2];c=i+(w<<5)+12|0;l=a[c>>2]|0;if(!l)l=0;else{t=0;while(1)if((a[l+(t<<2)>>2]|0)>-1)t=t+1|0;else break;l=w8(A,0,0,0,(t<<2)+4|0)|0;if(!l){n=0;break A}if((t|0)>0){b=a[c>>2]|0;c=0;do{a[l+(c<<2)>>2]=a[b+(c<<2)>>2];c=c+1|0}while((c|0)!=(t|0))}else t=0;a[l+(t<<2)>>2]=-1}a[n+(s<<5)+12>>2]=l;w=w+1|0;t=a[i+(w<<5)>>2]|0;s=w+u|0;l=n+(s<<5)|0}while((t|0)>-1)}a[l>>2]=-1}}while(0);return n|0}function D8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;k=G8(A)|0;o=(f|0)!=0;if(o)a[f>>2]=0;e=Q8(A,e)|0;A:do{if(!e){w=(i|0)==0;s=(r|0)==0;if((G8(A)|0)>(k|0))while(1){e=W8(A)|0;e:do{switch(a[e>>2]|0){case 0:{e=a[e+4>>2]|0;switch(a[e>>2]|0){case-3:break;case-2:{if(s)break e;a[r>>2]=a[r>>2]|a[e+4>>2];break e}default:break e}l=a[e+4>>2]|0;if((l|0)>-1){i:do{if(!w){e=0;while(1){t=i+(e<<2)|0;c=a[t>>2]|0;if((c|0)<=-1)break;if((c|0)==(l|0))break i;else e=e+1|0}a[t>>2]=l;a[i+(e+1<<2)>>2]=-1}}while(0);if(o)a[f>>2]=(a[f>>2]|0)+1}break}case 3:{e=a[e+4>>2]|0;l=a[e>>2]|0;if(a[l+8>>2]|0){b=l;u=6;break e}e=a[e+4>>2]|0;if(a[e+8>>2]|0){b=e;u=6}break}case 1:{e=a[e+4>>2]|0;l=Q8(A,a[e>>2]|0)|0;if(l|0){n=l;break A}b=a[e+4>>2]|0;u=6;break}case 2:{e=a[a[e+4>>2]>>2]|0;if(a[e+8>>2]|0){b=e;u=6}break}default:{}}}while(0);if((u|0)==6?(u=0,n=Q8(A,b)|0,n|0):0)break A;if((G8(A)|0)<=(k|0)){n=0;break A}}else n=0}else n=e}while(0);return n|0}function M8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;n=b;i=A+12|0;r=a[i>>2]|0;c=a[A>>2]|0;if((r|0)>=(c|0)){i=a[A+4>>2]|0;if((c|0)<(i|0)?(f=(a[A+8>>2]|0)+c|0,f=(f|0)>(i|0)?i:f,l=A+16|0,t=y2(a[l>>2]|0,f<<2)|0,(t|0)!=0):0){a[A>>2]=f;a[l>>2]=t;a[n>>2]=a[e>>2];M8(A,n)|0;i=0}else i=12}else{a[(a[A+16>>2]|0)+(r<<2)>>2]=a[e>>2];a[i>>2]=(a[i>>2]|0)+1;i=0}k=b;return i|0}function F8(A,e,i){A=A|0;e=e|0;i=i|0;A=w8(A,0,0,1,32)|0;if((i|0)!=0&(A|0)!=0){a[A+4>>2]=i;a[A>>2]=e;a[A+8>>2]=-1;a[A+12>>2]=-1}else A=0;return A|0}function V8(A,e,i,f,n,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;d=G8(e)|0;Q8(e,i)|0;i=m8(e,0)|0;A:do{if(!i){h=(f&1|0)==0;o=(f&2|0)!=0;k=0;s=1;i=t;while(1){if((G8(e)|0)>(d|0))u=i;else{f=k;i=0;break A}e:while(1){i:while(1){switch(L8(e)|0){case 1:{t=7;break i}case 0:{i=W8(e)|0;switch(a[i>>2]|0){case 0:{t=9;break e}case 3:{t=19;break e}case 1:{t=26;break e}case 2:{t=33;break i}default:{}}break}default:{}}if((G8(e)|0)<=(d|0)){f=k;i=0;break A}}if((t|0)==7)i=W8(e)|0;else if((t|0)==33){f=a[i+4>>2]|0;i=Q8(e,a[f>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=J8(A,a[f>>2]|0,a[f+4>>2]|0,a[f+8>>2]|0,r[f+12>>0]&1)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}i=a[i+4>>2]|0}if((G8(e)|0)>(d|0))u=i;else{f=k;i=0;break A}}if((t|0)==9){w=a[i+4>>2]|0;t=a[w+8>>2]|0;f=a[w>>2]|0;i=a[w+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(h|(f|0)!=-3)if((f|0)==-3)if(o&(s|0)!=0){a[l+(i<<2)>>2]=1;f=-3;b=k;s=0}else{f=-3;b=k}else b=k;else{i=-1;f=-1;t=-1;b=k}else{t=(a[n>>2]|0)+t|0;b=k+1|0}i=v8(A,f,i,t)|0;a[u>>2]=i;if(!i)i=12;else{i=a[i+4>>2]|0;a[i+12>>2]=a[w+12>>2];a[i+16>>2]=a[w+16>>2];i=0}if((t|0)>(a[c>>2]|0)){a[c>>2]=t;f=u}else f=u}else if((t|0)==19){t=a[i+4>>2]|0;f=t+4|0;i=N8(A,a[t>>2]|0,a[f>>2]|0)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}w=a[i+4>>2]|0;i=Q8(e,a[f>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=Q8(e,w+4|0)|0;if(i|0){f=k;break A}i=m8(e,1)|0;if(i|0){f=k;break A}i=Q8(e,a[t>>2]|0)|0;if(i|0){f=k;break A}b=k;f=w;i=m8(e,0)|0}else if((t|0)==26){w=a[i+4>>2]|0;t=w+4|0;i=g8(A,a[w>>2]|0,a[t>>2]|0)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}f=a[i+4>>2]|0;a[f>>2]=0;b=f+4|0;a[b>>2]=0;i=Q8(e,a[t>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=Q8(e,b)|0;if(i|0){f=k;break A}i=m8(e,1)|0;if(i|0){f=k;break A}i=Q8(e,a[w>>2]|0)|0;if(i|0){f=k;break A}b=k;i=m8(e,0)|0}if(!i){k=b;i=f}else{f=b;break}}}else f=0}while(0);a[n>>2]=(a[n>>2]|0)+f;return i|0}function J8(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0;l=w8(A,0,0,1,16)|0;A=F8(A,2,l)|0;if(!A)A=0;else{a[l>>2]=e;a[l+4>>2]=i;a[l+8>>2]=f;l=l+12|0;r[l>>0]=r[l>>0]&-2|n&1;a[A+16>>2]=a[e+16>>2]}return A|0}function N8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=w8(A,0,0,1,8)|0;A=F8(A,3,r)|0;if((i|0)!=0&(A|0)!=0){a[r>>2]=e;a[r+4>>2]=i;a[A+16>>2]=(a[i+16>>2]|0)+(a[e+16>>2]|0);i=A}else i=0}return i|0}function X8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=w8(A,0,0,0,8)|0;if(((r|0)!=0?(i=v8(A,-3,i,-1)|0,a[r>>2]=i,(i|0)!=0):0)?(f=w8(A,0,0,0,32)|0,a[r+4>>2]=f,(f|0)!=0):0){A=e+4|0;a[f+4>>2]=a[A>>2];a[f>>2]=a[e>>2];a[f+8>>2]=-1;a[f+12>>2]=-1;f=f+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[A>>2]=r;a[e>>2]=1;A=0}else A=12;return A|0}function R8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=a[A>>2]|0;if((f|0)>-1){n=a[e+16>>2]|0;r=0;e=f;do{f=e>>>1;a[((e&1|0)==0?n+(f*12|0)|0:n+(f*12|0)+4|0)>>2]=i;r=r+1|0;e=a[A+(r<<2)>>2]|0}while((e|0)>-1)}a[A>>2]=-1;return}function H8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=w8(A,0,0,0,8)|0;if(((r|0)!=0?(i=v8(A,-3,i,-1)|0,a[r+4>>2]=i,(i|0)!=0):0)?(f=w8(A,0,0,0,32)|0,a[r>>2]=f,(f|0)!=0):0){A=e+4|0;a[f+4>>2]=a[A>>2];a[f>>2]=a[e>>2];a[f+8>>2]=-1;a[f+12>>2]=-1;f=f+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[A>>2]=r;a[e>>2]=1;A=0}else A=12;return A|0}function p8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;c=s;t=A+32|0;l=a[t>>2]|0;n=l&1;A:do{switch(r[e>>0]|0){case 91:{i=j8(A,e+1|0)|0;break}case 92:{i=e+1|0;f=S8(i)|0;if(f|0){i=p8(A,f)|0;a[A+12>>2]=e+2;break A}f=r[i>>0]|0;switch(f|0){case 0:{i=5;break A}case 98:{f=v8(a[A>>2]|0,-2,64,-1)|0;break}case 66:{f=v8(a[A>>2]|0,-2,128,-1)|0;break}case 60:{f=v8(a[A>>2]|0,-2,16,-1)|0;break}case 62:{f=v8(a[A>>2]|0,-2,32,-1)|0;break}case 120:{l=e+2|0;t=(r[l>>0]|0)==123;n=t?8:2;l=t?e+3|0:l;i=0;f=0;do{e=P8(r[l+i>>0]|0)|0;if((e|0)<0)break;f=e+(f<<4)|0;i=i+1|0}while((f|0)<1114112&(i|0)<(n|0));i=l+i|0;if(t){if((r[i>>0]|0)!=125){i=9;break A}i=i+1|0}c=a[A>>2]|0;t=A+24|0;b=a[t>>2]|0;a[t>>2]=b+1;f=v8(c,f,f,b)|0;i=i+-1|0;break}case 63:case 43:case 123:if(!n){i=13;break A}else{b=37;break A}case 124:{if(n|0){b=37;break A}i=v8(a[A>>2]|0,-1,-1,-1)|0;b=45;break A}default:{if(!((n|0)==0&(f+-49|0)>>>0<9)){b=37;break A}c=f+-48|0;b=a[A>>2]|0;t=A+24|0;f=a[t>>2]|0;a[t>>2]=f+1;f=v8(b,-4,c,f)|0;b=A+28|0;t=a[b>>2]|0;a[b>>2]=(c|0)<(t|0)?t:c}}e=i+1|0;i=f;b=45;break}case 46:{i=a[A>>2]|0;n=A+24|0;f=a[n>>2]|0;a[n>>2]=f+1;if(l&4){f=v8(i,0,9,f)|0;b=a[A>>2]|0;i=a[n>>2]|0;a[n>>2]=i+1;i=v8(b,11,1114111,i)|0;if((f|0)!=0&(i|0)!=0)i=N8(a[A>>2]|0,f,i)|0;else i=0}else i=v8(i,0,1114111,f)|0;e=e+1|0;b=45;break}case 94:{if((n|0)==0?(a[A+16>>2]|0)!=(e|0):0){i=e;b=37;break A}e=e+1|0;i=v8(a[A>>2]|0,-2,1,-1)|0;b=45;break}case 36:{i=e+1|0;if((n|0)==0?r[i>>0]|0:0){i=e;b=37;break A}e=i;i=v8(a[A>>2]|0,-2,2,-1)|0;b=45;break}case 63:case 43:case 123:case 42:{if(!n){i=e;b=37}else i=13;break}case 124:{if(!n){i=e;b=37}else b=36;break}case 0:{b=36;break}default:{i=e;b=37}}}while(0);if((b|0)==36){i=v8(a[A>>2]|0,-1,-1,-1)|0;b=45}else if((b|0)==37){l=G3(c,i,-1)|0;if((l|0)<0)i=2;else{do{if(a[t>>2]&2){if((b4(a[c>>2]|0)|0)==0?(c4(a[c>>2]|0)|0)==0:0){b=43;break}t=a[A>>2]|0;w=H1(a[c>>2]|0)|0;n=H1(a[c>>2]|0)|0;f=A+24|0;n=v8(t,w,n,a[f>>2]|0)|0;w=a[A>>2]|0;t=w4(a[c>>2]|0)|0;e=w4(a[c>>2]|0)|0;e=v8(w,t,e,a[f>>2]|0)|0;if((n|0)!=0&(e|0)!=0)n=N8(a[A>>2]|0,n,e)|0;else n=0}else b=43}while(0);if((b|0)==43){n=a[c>>2]|0;f=A+24|0;n=v8(a[A>>2]|0,n,n,a[f>>2]|0)|0}a[f>>2]=(a[f>>2]|0)+1;e=i+l|0;i=n;b=45}}if((b|0)==45)if(!i)i=12;else{a[A+8>>2]=i;a[A+12>>2]=e;i=0}k=s;return i|0}function U8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+4|0;n=c;A=T8(A,t)|0;if((r[A>>0]|0)==44){A=T8(A+1|0,n)|0;l=a[n>>2]|0;n=a[t>>2]|0}else{t=a[t>>2]|0;a[n>>2]=t;l=t;n=t}do{if(!(n>>>0>255|((l|0)>255|(l|0)>-1&(l|0)<(n|0)))){if(!e)if((r[A>>0]|0)==92)A=A+1|0;else{A=0;break}if((r[A>>0]|0)==125){a[i>>2]=n;a[f>>2]=l;A=A+1|0}else A=0}else A=0}while(0);k=c;return A|0}function x8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if((a[e+12>>2]|0)>-1){r=v8(a[A>>2]|0,-1,-1,-1)|0;if((r|0)!=0?(f=g8(a[A>>2]|0,r,e)|0,(f|0)!=0):0){r=a[e+16>>2]|0;a[f+16>>2]=r;n=6}else r=12}else{f=e;r=a[e+16>>2]|0;n=6}if((n|0)==6){a[f+12>>2]=i;a[f+16>>2]=r+1;a[A+8>>2]=f;r=0}return r|0}function T8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;a[e>>2]=-1;if(((r[A>>0]|0)+-48|0)>>>0<10){a[e>>2]=0;i=A;n=0;f=r[A>>0]|0;while(1){n=(n*10|0)+-48+(f<<24>>24)|0;a[e>>2]=n;A=i+1|0;f=r[A>>0]|0;if((n|0)>255|((f<<24>>24)+-48|0)>>>0>9)break;else i=A}}return A|0}function j8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+288|0;i=B+264|0;n=B;a[i>>2]=a[A>>2];l=i+8|0;a[l>>2]=0;a[i+12>>2]=32;o=m2(128)|0;d=i+4|0;a[d>>2]=o;if(!o)e=12;else{f=n+4|0;a[f>>2]=0;o=(r[e>>0]|0)==94;a[n>>2]=o&1;e=O8(A,o?e+1|0:e,i,n)|0;A:do{if(!e){o=(a[n>>2]|0)==0;if(!o){K4(a[d>>2]|0,a[l>>2]|0,4,111);e=_8(i)|0;if(!e){e=12;i=0;break}a[e>>2]=1114112;a[e+4>>2]=1114112;a[e+8>>2]=-1;e=a[f>>2]|0;if(e){i=e<<2;f=w8(a[A>>2]|0,0,0,0,i+4|0)|0;if(!f){e=12;i=0;break}y6(f|0,n+8|0,i|0)|0;a[f+(e<<2)>>2]=0}else f=0}else f=0;s=a[l>>2]|0;if((s|0)>0){w=a[d>>2]|0;u=A+24|0;i=0;e=0;b=0;while(1){c=a[w+(b<<2)>>2]|0;n=a[c>>2]|0;l=c+4|0;t=a[l>>2]|0;do{if(!o)if((n|0)>(e|0)){a[c>>2]=e;a[l>>2]=n+-1;e=t+1|0;h=14;break}else{c=t+1|0;e=(c|0)>=(e|0)?c:e;break}else h=14}while(0);if((h|0)==14){h=0;a[c+8>>2]=a[u>>2];a[c+16>>2]=f;c=F8(a[A>>2]|0,0,c)|0;i=N8(a[A>>2]|0,i,c)|0;if(!i){e=12;i=0;break A}}b=b+1|0;if((b|0)>=(s|0)){e=0;break}}}else{e=0;i=0}}else i=0}while(0);L2(a[d>>2]|0);d=A+24|0;a[d>>2]=(a[d>>2]|0)+1;a[A+8>>2]=i}k=B;return e|0}function S8(A){A=A|0;var e=0;e=r[A>>0]|0;A=0;while(1){if((r[63752+(A<<3)>>0]|0)==e<<24>>24)break;A=A+1|0;if((A|0)==12){A=12;break}}return a[63752+(A<<3)+4>>2]|0}function P8(A){A=A|0;var e=0;e=A+-48|0;if(e>>>0<10)return e|0;else{e=A|32;return((e+-97|0)>>>0<6?e+-87|0:-1)|0}return 0}function O8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+32|0;u=v;h=v+4|0;t=G3(u,e,-1)|0;n=r[e>>0]|0;A:do{if((t|0)>=1){d=f+4|0;w=A+32|0;l=e;c=t;e:while(1){t=(l|0)==(e|0);if(!(t|n<<24>>24!=93)){B=5;break}i:do{if(!(t|n<<24>>24!=45)){switch(r[l+1>>0]|0){case 93:break i;case 45:break;default:{n=11;break A}}if((r[l+2>>0]|0)==93){n=11;break A}}}while(0);i:do{if(n<<24>>24==91){switch(r[l+1>>0]|0){case 61:case 46:{n=3;break A}case 58:break;default:{B=17;break i}}t=l+2|0;n=0;r:while(1){switch(r[t+n>>0]|0){case 0:{B=16;break e}case 58:break r;default:{}}if((n|0)<13)n=n+1|0;else{B=16;break e}}y6(h|0,t|0,n|0)|0;r[h+n>>0]=0;c=z4(h)|0;if(!c){B=16;break e}l=t+(n+2)|0;if((r[t+(n+1)>>0]|0)!=93){B=16;break e}if(!(a[f>>2]|0)){n=1114111;s=0;b=1;B=25}else{n=a[d>>2]|0;if((n|0)>63){n=12;break A}a[d>>2]=n+1;a[f+8+(n<<2)>>2]=c}}else B=17}while(0);if((B|0)==17){B=0;t=a[u>>2]|0;l=l+c|0;if((r[l>>0]|0)==45?(o=l+1|0,(r[o>>0]|0)!=93):0){l=G3(u,o,-1)|0;n=a[u>>2]|0;if((l|0)<1|(t|0)>(n|0)){n=11;break A}c=0;s=t;l=o+l|0;b=0;B=25}else{c=0;n=t;s=t;b=0;B=25}}if((B|0)==25){B=0;t=_8(i)|0;if(!t){n=12;break A}a[t>>2]=s;a[t+4>>2]=n;a[t+12>>2]=c;a[t+8>>2]=-1;if(!(b|(a[w>>2]&2|0)==0)?(q8(i,s,n)|0)!=0:0){n=12;break A}}c=G3(u,l,-1)|0;n=r[l>>0]|0;if((c|0)<1){B=3;break A}}if((B|0)==5){a[A+12>>2]=l+1;n=0;break}else if((B|0)==16){n=4;break}}else B=3}while(0);if((B|0)==3)n=n<<24>>24?2:7;k=v;return n|0}function K8(A,e){A=A|0;e=e|0;return(a[a[A>>2]>>2]|0)-(a[a[e>>2]>>2]|0)|0}function _8(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=A+8|0;i=a[l>>2]|0;r=A+12|0;f=a[r>>2]|0;if((i|0)>=(f|0))if((f|0)<=32767?(a[r>>2]=f<<1,n=A+4|0,e=y2(a[n>>2]|0,f<<3)|0,(e|0)!=0):0){a[n>>2]=e;i=a[l>>2]|0;t=6}else e=0;else{e=a[A+4>>2]|0;t=6}if((t|0)==6){a[l>>2]=i+1;t=w8(a[A>>2]|0,0,0,1,20)|0;a[e+(i<<2)>>2]=t;e=t}return e|0}function q8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;A:do{if((e|0)>(i|0))e=0;else while(1){e:do{if(!(c4(e)|0)){if(!(b4(e)|0)){e=e+1|0;break}f=w4(e)|0;r=f;while(1){n=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=n;n=12;break e}if((w4(n)|0)==(r|0))e=n;else{l=f;e=n;n=12;break}}}else{f=H1(e)|0;r=f;while(1){n=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=n;n=12;break e}if((H1(n)|0)==(r|0))e=n;else{l=f;e=n;n=12;break}}}}while(0);if((n|0)==12){n=0;f=_8(A)|0;if(!f){e=-1;break A}a[f>>2]=l;a[f+4>>2]=r+-1;a[f+8>>2]=-1}if((e|0)>(i|0)){e=0;break}}}while(0);return e|0}function $8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;b=w;t=a[A+4>>2]|0;c=t+56|0;l=(a[c>>2]&8|0)==0?i:0;A=a[t+40>>2]|0;if((A|0)>0&(l|0)!=0){A=m2(A<<2)|0;if(!A)A=12;else{n=A;i=A;s=3}}else{n=0;i=0;s=3}if((s|0)==3){if(!(a[t+60>>2]|0))A=e6(t,e,n,f,b)|0;else A=A6(t,e,n,f,b)|0;if(!A)i6(l,r,a[c>>2]|0,t,n,a[b>>2]|0);if(n)L2(i)}k=w;return A|0}function A6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0;S=k;k=k+16|0;T=S;a[T>>2]=0;u=r&1;U=r&2;x=A+56|0;w=a[x>>2]&4;j=b8(0,0)|0;A:do{if(j){o=w8(j,0,0,0,32)|0;if(!o){s8(j);r=12;break}a[o+24>>2]=0;a[o+28>>2]=0;p=A+40|0;h=a[p>>2]|0;if(h){r=m2(h<<2)|0;if(!r){s=0;b=0;c=r;r=12;t=0;l=0;n=0}else{c=r;t=r;L=6}}else{c=0;t=0;L=6}e:do{if((L|0)==6){r=a[A+28>>2]|0;if(r){r=m2(r<<3)|0;if(!r){s=r;b=0;r=12;l=0;n=0;break}else{s=r;l=r}}else{s=0;l=0}H=A+52|0;r=a[H>>2]|0;if(r){r=m2(r<<2)|0;if(!r){b=r;r=12;n=0;break}else{b=r;n=r}}else{b=0;n=0}V=A+8|0;J=A+12|0;N=(i|0)==0;X=(i|0)!=0;R=A+32|0;F=(w|0)!=0;M=(u|0)==0;B=e;r=1;d=-1;E=-1;w=h;m=0;i:while(1){if((w|0)>0){u=0;do{a[c+(u<<2)>>2]=-1;if(!N){a[i+(u<<2)>>2]=-1;w=a[p>>2]|0}u=u+1|0}while((u|0)<(w|0))}w=a[H>>2]|0;if((w|0)>0)Y6(n|0,0,w<<2|0)|0;Y=r+d|0;r=G3(T,B,4)|0;if((r|0)<1)if((r|0)<0){r=1;break e}else r=1;z=B+r|0;D=a[T>>2]|0;w=a[V>>2]|0;u=w+8|0;if(a[u>>2]|0){C=(Y|0)!=0;I=(m|0)==95;Z=(Y|0)==0;Q=F&(m|0)==10;G=(Y|0)<1&M;g=w;w=0;v=0;B=u;while(1){d=g+20|0;u=a[d>>2]|0;r:do{if(u)if((u&1|0)==0|G|Q){if(u&2|0?(y=a[T>>2]|0,!((y|U|0)==0|F&(y|0)==10)):0){h=v;break}do{if(u&16|0){if(I){h=v;break r}if(a4(m)|0){h=v;break r}u=a[T>>2]|0;if((u|0)==95)break;if(!(a4(u)|0)){h=v;break r}}}while(0);u=a[d>>2]|0;if(u&32){if(I){u=a[T>>2]|0;if((u|0)==95){h=v;break}}else{y=(a4(m)|0)==0;u=a[T>>2]|0;if(y|(u|0)==95){h=v;break}}if(a4(u)|0){h=v;break}u=a[d>>2]|0}h=a[T>>2]|0;do{if((h|0)!=0&(C&(u&64|0)!=0)){if(I)u=1;else{u=(a4(m)|0)!=0;h=a[T>>2]|0}if((h|0)==95)if(u){h=v;break r}else break;else if(u^(a4(h)|0)!=0)break;else{h=v;break r}}}while(0);if(!(a[d>>2]&128)){L=49;break}u=a[T>>2]|0;if(Z|(u|0)==0){h=v;break}if(I)h=1;else{h=(a4(m)|0)!=0;u=a[T>>2]|0}if((u|0)==95)if(h){L=49;break}else{h=v;break}else if(h^(a4(u)|0)!=0){h=v;break}else{L=49;break}}else h=v;else L=49}while(0);do{if((L|0)==49){L=0;if(!v){w=a[g+16>>2]|0;h=a[B>>2]|0;break}h=o+28|0;u=a[h>>2]|0;if(!u){u=w8(j,0,0,0,32)|0;if(!u){L=53;break i}a[u+24>>2]=o;a[u+28>>2]=0;y=w8(j,0,0,0,a[p>>2]<<2)|0;a[u+20>>2]=y;if(!y){L=60;break i}a[h>>2]=u;o=u}else o=u;a[o>>2]=Y;a[o+4>>2]=z;a[o+8>>2]=a[B>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[T>>2];if((a[p>>2]|0)>0){h=a[o+20>>2]|0;u=0;do{a[h+(u<<2)>>2]=a[c+(u<<2)>>2];u=u+1|0}while((u|0)<(a[p>>2]|0))}u=a[g+16>>2]|0;if(!u)h=v;else{h=a[u>>2]|0;if((h|0)<=-1){h=v;break}d=a[o+20>>2]|0;do{u=u+4|0;a[d+(h<<2)>>2]=Y;h=a[u>>2]|0}while((h|0)>-1);h=v}}}while(0);B=g+40|0;if(!(a[B>>2]|0))break;else{g=g+32|0;v=h}}if(w){u=a[w>>2]|0;if((u|0)>-1)do{a[c+(u<<2)>>2]=Y;w=w+4|0;u=a[w>>2]|0}while((u|0)>-1)}else w=0;if(!h)L=171;else{B=Y;d=z;C=h;I=w;L=79}}else{w=0;L=171}r:while(1){if((L|0)==79){if((C|0)==(a[J>>2]|0)){if((E|0)>=(B|0)){if(!(X&(E|0)==(B|0))){w=I;L=171;continue}w=a[p>>2]|0;if(!(f6(w,a[R>>2]|0,c,i)|0)){w=I;L=171;continue}}else{if(N){E=B;w=I;L=171;continue}w=a[p>>2]|0}if((w|0)>0)w=0;else{E=B;w=I;L=171;continue}while(1){a[i+(w<<2)>>2]=a[c+(w<<2)>>2];w=w+1|0;if((w|0)>=(a[p>>2]|0)){E=B;w=I;L=171;continue r}}}g=C+8|0;if((a[g>>2]|0)!=0?(a[C+20>>2]&256|0)!=0:0){u=a[C+24>>2]|0;i6(u+1|0,s,a[x>>2]&-9,A,c,B);y=a[s+(u<<3)>>2]|0;u=(a[s+(u<<3)+4>>2]|0)-y|0;if(Z1(e+y|0,d+-1|0,u)|0){w=I;L=171;continue}y=(u|0)==0;w=y&1;h=a[C+12>>2]|0;if(y?a[b+(h<<2)>>2]|0:0){w=I;L=171;continue}a[b+(h<<2)>>2]=w;u=u+-1|0;d=d+u|0;u=u+B|0;h=a[T>>2]|0;w=G3(T,d,4)|0;if((w|0)<1)if((w|0)<0){r=1;break e}else w=1;W=d+w|0;y=w}else{h=a[T>>2]|0;if(!h){w=I;L=171;continue}w=G3(T,d,4)|0;if((w|0)<1)if((w|0)<0){r=1;break e}else w=1;u=B;W=d+w|0;y=w}B=u+r|0;if(!(a[g>>2]|0)){r=y;w=I;L=171;continue}Z=(B|0)!=0;G=(h|0)==95;Q=(B|0)==0;L=F&(h|0)==10;m=(B|0)<1&M;v=0;w=I;while(1){f:do{if((a[C>>2]|0)>>>0<=h>>>0){if((a[C+4>>2]|0)>>>0>>0)break;d=C+20|0;r=a[d>>2]|0;do{if(r|0){if(!((r&1|0)==0|m|L))break f;if(r&2|0?(I=a[T>>2]|0,!((I|U|0)==0|F&(I|0)==10)):0)break f;do{if(r&16|0){if(G)break f;if(a4(h)|0)break f;r=a[T>>2]|0;if((r|0)==95)break;if(!(a4(r)|0))break f}}while(0);r=a[d>>2]|0;if(r&32){if(G){r=a[T>>2]|0;if((r|0)==95)break f}else{I=(a4(h)|0)==0;r=a[T>>2]|0;if(I|(r|0)==95)break f}if(a4(r)|0)break f;r=a[d>>2]|0}u=a[T>>2]|0;do{if((u|0)!=0&(Z&(r&64|0)!=0)){if(G)r=1;else{r=(a4(h)|0)!=0;u=a[T>>2]|0}if((u|0)==95)if(r)break f;else break;else if(r^(a4(u)|0)!=0)break;else break f}}while(0);do{if(a[d>>2]&128|0){r=a[T>>2]|0;if(Q|(r|0)==0)break f;if(G)u=1;else{u=(a4(h)|0)!=0;r=a[T>>2]|0}if((r|0)==95)if(u)break;else break f;else if(u^(a4(r)|0)!=0)break f;else break}}while(0);r=a[d>>2]|0;do{if(r&4){if(a[x>>2]&2|0)break;if(!(f4(h,a[C+24>>2]|0)|0))break f;r=a[d>>2]|0}}while(0);do{if(r&4|0){if(!(a[x>>2]&2))break;I=w4(h)|0;r=C+24|0;if(f4(I,a[r>>2]|0)|0)break;I=H1(h)|0;if(!(f4(I,a[r>>2]|0)|0))break f}}while(0);if(!(a[d>>2]&8))break;if(r6(a[C+28>>2]|0,h,a[x>>2]&2)|0)break f}}while(0);if(!v){v=a[g>>2]|0;w=a[C+16>>2]|0;break}u=o+28|0;r=a[u>>2]|0;if(!r){r=w8(j,0,0,0,32)|0;if(!r){L=145;break i}a[r+24>>2]=o;a[r+28>>2]=0;I=w8(j,0,0,0,a[p>>2]<<2)|0;a[r+20>>2]=I;if(!I){L=152;break i}a[u>>2]=r;o=r}else o=r;a[o>>2]=B;a[o+4>>2]=W;a[o+8>>2]=a[g>>2];a[o+12>>2]=a[C+12>>2];a[o+16>>2]=a[T>>2];if((a[p>>2]|0)>0){u=a[o+20>>2]|0;r=0;do{a[u+(r<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0}while((r|0)<(a[p>>2]|0))}r=a[C+16>>2]|0;if(!r)break;u=a[r>>2]|0;if((u|0)<=-1)break;d=a[o+20>>2]|0;do{a[d+(u<<2)>>2]=B;r=r+4|0;u=a[r>>2]|0}while((u|0)>-1)}}while(0);g=C+40|0;if(!(a[g>>2]|0))break;else C=C+32|0}if(!v){r=y;L=171;continue}if(w){r=a[w>>2]|0;if((r|0)>-1){do{w=w+4|0;a[c+(r<<2)>>2]=B;r=a[w>>2]|0}while((r|0)>-1);h=E;u=W;r=y}else{h=E;u=W;r=y}}else{h=E;u=W;r=y;w=0}}else if((L|0)==171){L=0;d=a[o+24>>2]|0;if(!d)break;v=a[o+8>>2]|0;if(a[v+20>>2]&256|0)a[b+(a[o+12>>2]<<2)>>2]=0;B=a[o>>2]|0;g=a[o+4>>2]|0;a[T>>2]=a[o+16>>2];h=a[p>>2]|0;if((h|0)>0){o=a[o+20>>2]|0;u=0;do{a[c+(u<<2)>>2]=a[o+(u<<2)>>2];u=u+1|0}while((u|0)<(h|0));o=d;h=E;u=g}else{o=d;h=E;u=g}}d=u;E=h;C=v;I=w;L=79}w=(E|0)>-1;if(w|(a[T>>2]|0)==0){L=180;break}a[T>>2]=D;B=z;d=Y;w=a[p>>2]|0;m=D}if((L|0)==53){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==60){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==145){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==152){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==180){a[f>>2]=E;r=(w^1)&1;break}}}while(0);s8(j);if(c|0)L2(t);if(s|0)L2(l);if(b)L2(n)}else r=12}while(0);k=S;return r|0}function e6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0;P=k;k=k+16|0;T=P;a[T>>2]=0;b=r&1;H=r&2;p=A+56|0;c=a[p>>2]&4;if(!i)X=0;else X=a[A+40>>2]|0;R=X<<2;t=a[A+52>>2]|0;l=t<<3;n=l+8|0;r=R+12+l+(n+(U(R,t)|0)<<1)|0;j=m2(r)|0;if(!j)r=12;else{Y6(j|0,0,r|0)|0;r=j+R|0;s=r&3;s=r+((s|0)==0?0:4-s|0)|0;r=s+n|0;w=r&3;w=r+((w|0)==0?0:4-w|0)|0;r=w+n|0;N=r&3;N=r+((N|0)==0?0:4-N|0)|0;r=N+l|0;n=r&3;l=(t|0)>0;if(l){r=r+((n|0)==0?0:4-n|0)|0;n=0;while(1){a[w+(n<<3)+4>>2]=r;r=r+R|0;a[s+(n<<3)+4>>2]=r;n=n+1|0;if((n|0)>=(t|0))break;else r=r+R|0}if(l){r=0;do{a[N+(r<<3)>>2]=-1;r=r+1|0}while((r|0)<(t|0))}}r=G3(T,e,4)|0;if((r|0)<1)if((r|0)<0)r=1;else{t=1;S=11}else{t=r;S=11}A:do{if((S|0)==11){J=A+8|0;V=(c|0)!=0;y=(b|0)==0;z=(X|0)>0;Y=A+12|0;D=(X|0)<1;M=A+44|0;F=A+32|0;L=A+36|0;W=(X|0)==0;l=0;E=e+t|0;g=0;c=0;r=-1;n=s;Q=j;I=s;C=w;while(1){if((r|0)<0){A=a[J>>2]|0;b=A+8|0;e:do{if(a[b>>2]|0){o=(g|0)!=0;h=(l|0)==95;d=(g|0)==0;v=V&(l|0)==10;B=(g|0)<1&y;while(1){i:while(1){u=A+12|0;if((a[N+(a[u>>2]<<3)>>2]|0)>=(g|0))break;w=A+20|0;e=a[w>>2]|0;if(!e){S=46;break}r:do{if((e&1|0)==0|B|v){if(e&2|0?(m=a[T>>2]|0,!((m|H|0)==0|V&(m|0)==10)):0)break;do{if(e&16|0){if(h)break r;if(a4(l)|0)break r;e=a[T>>2]|0;if((e|0)==95)break;if(!(a4(e)|0))break r}}while(0);e=a[w>>2]|0;if(e&32){if(h){e=a[T>>2]|0;if((e|0)==95)break}else{m=(a4(l)|0)==0;e=a[T>>2]|0;if(m|(e|0)==95)break}if(a4(e)|0)break;e=a[w>>2]|0}s=a[T>>2]|0;do{if((s|0)!=0&(o&(e&64|0)!=0)){if(h)e=1;else{e=(a4(l)|0)!=0;s=a[T>>2]|0}if((s|0)==95)if(e)break r;else break;else if(e^(a4(s)|0)!=0)break;else break r}}while(0);if(!(a[w>>2]&128)){S=46;break i}e=a[T>>2]|0;if(d|(e|0)==0)break;if(h)s=1;else{s=(a4(l)|0)!=0;e=a[T>>2]|0}if((e|0)==95)if(s){S=46;break i}else break;else if(s^(a4(e)|0)!=0)break;else{S=46;break i}}}while(0);b=A+40|0;if(!(a[b>>2]|0))break e;else A=A+32|0}if((S|0)==46){S=0;a[n>>2]=a[b>>2];if(z)Y6(a[n+4>>2]|0,-1,R|0)|0;b=a[A+16>>2]|0;if(b|0?(x=a[b>>2]|0,(x|0)>-1):0){s=n+4|0;e=x;do{if((e|0)<(X|0))a[(a[s>>2]|0)+(e<<2)>>2]=g;b=b+4|0;e=a[b>>2]|0}while((e|0)>-1)}b=(a[n>>2]|0)!=(a[Y>>2]|0);if(b|D){c=b?c:1;r=b?r:g;b=n+4|0}else{b=n+4|0;c=a[b>>2]|0;r=0;do{a[i+(r<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0}while((r|0)!=(X|0));c=1;r=g}m=a[u>>2]|0;a[N+(m<<3)>>2]=g;a[N+(m<<3)+4>>2]=b;n=n+8|0}b=A+40|0;if(!(a[b>>2]|0))break;else A=A+32|0}}}while(0);a[n>>2]=0;n=a[T>>2]|0;if(!n)break;else l=n}else{if(W)break;l=a[T>>2]|0;if(!((n|0)!=(I|0)&(l|0)!=0))break}m=g+t|0;n=G3(T,E,4)|0;if((n|0)<1)if((n|0)<0){r=1;break A}else t=1;else t=n;G=E+t|0;if((c|0)!=0&(a[M>>2]|0)!=0){if(!(a[I>>2]|0))n=C;else{u=a[L>>2]|0;o=a[u>>2]|0;h=(o|0)>-1;w=I;n=C;do{s=w+4|0;e:do{if(h){b=0;e=o;do{A=a[u+((b|1)<<2)>>2]|0;if((e|0)>=(X|0))break e;c=a[s>>2]|0;if((a[c+(A<<2)>>2]|0)==(a[i+(A<<2)>>2]|0)?(a[c+(e<<2)>>2]|0)<(a[i+(e<<2)>>2]|0):0)break e;b=b+2|0;e=a[u+(b<<2)>>2]|0}while((e|0)>-1);b=s;S=75}else{b=s;c=a[s>>2]|0;S=75}}while(0);if((S|0)==75){S=0;a[n>>2]=a[w>>2];E=n+4|0;Z=a[E>>2]|0;a[E>>2]=c;a[b>>2]=Z;n=n+8|0}w=w+8|0}while((a[w>>2]|0)!=0)}a[n>>2]=0;Z=I;c=0}else{Z=C;C=I}b=a[C>>2]|0;if(!b){b=Q;n=Z}else{d=(m|0)!=0;B=(l|0)==95;v=(m|0)==0;E=V&(l|0)==10;g=(m|0)<1&y;h=C;A=Q;n=Z;while(1){e=b+8|0;if(a[e>>2]|0){o=h+4|0;u=A;w=e;while(1){e:do{if((a[b>>2]|0)>>>0<=l>>>0?(a[b+4>>2]|0)>>>0>=l>>>0:0){s=b+20|0;A=a[s>>2]|0;do{if(A|0){if(!((A&1|0)==0|g|E)){A=u;break e}if(A&2|0?(Q=a[T>>2]|0,!((Q|H|0)==0|V&(Q|0)==10)):0){A=u;break e}do{if(A&16|0){if(B){A=u;break e}if(a4(l)|0){A=u;break e}A=a[T>>2]|0;if((A|0)==95)break;if(!(a4(A)|0)){A=u;break e}}}while(0);A=a[s>>2]|0;if(A&32){if(B){A=a[T>>2]|0;if((A|0)==95){A=u;break e}}else{Q=(a4(l)|0)==0;A=a[T>>2]|0;if(Q|(A|0)==95){A=u;break e}}if(a4(A)|0){A=u;break e}A=a[s>>2]|0}e=a[T>>2]|0;do{if((e|0)!=0&(d&(A&64|0)!=0)){if(B)A=1;else{A=(a4(l)|0)!=0;e=a[T>>2]|0}if((e|0)==95)if(A){A=u;break e}else break;else if(A^(a4(e)|0)!=0)break;else{A=u;break e}}}while(0);do{if(a[s>>2]&128|0){A=a[T>>2]|0;if(v|(A|0)==0){A=u;break e}if(B)e=1;else{e=(a4(l)|0)!=0;A=a[T>>2]|0}if((A|0)==95)if(e)break;else{A=u;break e}else if(e^(a4(A)|0)!=0){A=u;break e}else break}}while(0);A=a[s>>2]|0;do{if(A&4){if(a[p>>2]&2|0)break;if(!(f4(l,a[b+24>>2]|0)|0)){A=u;break e}A=a[s>>2]|0}}while(0);do{if(A&4|0){if(!(a[p>>2]&2))break;Q=w4(l)|0;A=b+24|0;if(f4(Q,a[A>>2]|0)|0)break;Q=H1(l)|0;if(!(f4(Q,a[A>>2]|0)|0)){A=u;break e}}}while(0);if(!(a[s>>2]&8))break;if(r6(a[b+28>>2]|0,l,a[p>>2]&2)|0){A=u;break e}}}while(0);if(z){e=a[o>>2]|0;A=0;do{a[u+(A<<2)>>2]=a[e+(A<<2)>>2];A=A+1|0}while((A|0)!=(X|0))}A=a[b+16>>2]|0;do{if(A|0){e=a[A>>2]|0;if((e|0)<=-1)break;do{if((e|0)<(X|0))a[u+(e<<2)>>2]=m;A=A+4|0;e=a[A>>2]|0}while((e|0)>-1)}}while(0);A=a[b+12>>2]|0;e=N+(A<<3)|0;if((a[e>>2]|0)>=(m|0)){A=a[N+(A<<3)+4>>2]|0;e=a[A>>2]|0;if(!(f6(X,a[F>>2]|0,u,e)|0)){A=u;break}a[A>>2]=u;if((a[w>>2]|0)!=(a[Y>>2]|0)){A=e;break}if(z)r=0;else{c=1;A=e;r=m;break}while(1){a[i+(r<<2)>>2]=a[u+(r<<2)>>2];r=r+1|0;if((r|0)==(X|0)){c=1;A=e;r=m;break e}}}Q=a[w>>2]|0;a[n>>2]=Q;I=n+4|0;s=a[I>>2]|0;a[I>>2]=u;a[e>>2]=m;a[N+(A<<3)+4>>2]=I;do{if((a[Y>>2]|0)==(Q|0)){if((r|0)==-1)if(z)r=0;else{r=m;c=1;break}else{if(!z)break;if((a[u>>2]|0)>(a[i>>2]|0))break;else r=0}do{a[i+(r<<2)>>2]=a[u+(r<<2)>>2];r=r+1|0}while((r|0)<(X|0));r=m;c=1}}while(0);A=s;n=n+8|0}else A=u}while(0);w=b+40|0;if(!(a[w>>2]|0))break;else{b=b+32|0;u=A}}}h=h+8|0;b=a[h>>2]|0;if(!b){b=A;break}}}a[n>>2]=0;E=G;g=m;Q=b;I=Z}a[f>>2]=r;r=r>>>31}}while(0);L2(j)}k=P;return r|0}function i6(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;if((i&8|0)==0&(n|0)>-1?(w=a[r+16>>2]|0,u=a[r+28>>2]|0,s=(A|0)!=0&(u|0)!=0,s):0){b=a[r+48>>2]|0;c=0;do{i=a[w+(c*12|0)>>2]|0;if((i|0)==(b|0))t=n;else t=a[f+(i<<2)>>2]|0;l=e+(c<<3)|0;a[l>>2]=t;i=a[w+(c*12|0)+4>>2]|0;if((i|0)==(b|0))i=n;else i=a[f+(i<<2)>>2]|0;r=e+(c<<3)+4|0;a[r>>2]=i;if((i|0)==-1|(t|0)==-1){a[r>>2]=-1;a[l>>2]=-1}c=c+1|0}while(c>>>0>>0&c>>>0>>0);if(s){i=0;do{t=e+(i<<3)+4|0;c=a[w+(i*12|0)+8>>2]|0;if(c|0?(k=a[c>>2]|0,(k|0)>-1):0){b=e+(i<<3)|0;l=0;f=k;r=a[b>>2]|0;do{if(!((r|0)>=(a[e+(f<<3)>>2]|0)?(a[t>>2]|0)<=(a[e+(f<<3)+4>>2]|0):0)){a[t>>2]=-1;a[b>>2]=-1;r=-1}l=l+1|0;f=a[c+(l<<2)>>2]|0}while((f|0)>-1)}i=i+1|0}while(i>>>0>>0&i>>>0>>0)}else i=0}else i=0;if(i>>>0>>0)Y6(e+(i<<3)|0,-1,A-i<<3|0)|0;return}function r6(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=a[A>>2]|0;A:do{if(!r)i=0;else{f=(i|0)==0;i=r;while(1){if(f){if(f4(e,i)|0){i=1;break A}}else{r=H1(e)|0;if(f4(r,a[A>>2]|0)|0){i=1;break A}r=w4(e)|0;if(f4(r,a[A>>2]|0)|0){i=1;break A}}A=A+4|0;i=a[A>>2]|0;if(!i){i=0;break}}}}while(0);return i|0}function f6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;A:do{if((A|0)>0){f=0;while(1){l=a[i+(f<<2)>>2]|0;n=a[r+(f<<2)>>2]|0;if(!(a[e+(f<<2)>>2]|0)){if((l|0)<(n|0)){f=1;break A}if((l|0)>(n|0)){f=0;break A}}else{if((l|0)>(n|0)){f=1;break A}if((l|0)<(n|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 a6(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=U(i,e)|0;i=(e|0)==0?0:i;if((a[f+76>>2]|0)>-1)c=d4(f)|0;else c=0;n=f+74|0;l=r[n>>0]|0;r[n>>0]=l+255|l;n=f+4|0;l=a[n>>2]|0;w=(a[f+8>>2]|0)-l|0;t=w>>>0>>0?w:b;if((w|0)>0){y6(A|0,l|0,t|0)|0;a[n>>2]=l+t;n=b-t|0;A=A+t|0}else n=b;A:do{if(!n)s=13;else{t=f+32|0;while(1){if(M1(f)|0)break;l=W5[a[t>>2]&63](f,A,n)|0;if((l+1|0)>>>0<2)break;n=n-l|0;if(!n){s=13;break A}else A=A+l|0}if(c|0)B4(f);i=((b-n|0)>>>0)/(e>>>0)|0}}while(0);if((s|0)==13)if(c)B4(f);return i|0}function n6(A){A=A|0;var e=0;if((a[A+76>>2]|0)>-1){e=(d4(A)|0)==0;A=l6(A)|0}else A=l6(A)|0;return A|0}function l6(A){A=A|0;var e=0;if(!(a[A>>2]&128))e=1;else e=(a[A+20>>2]|0)>>>0>(a[A+28>>2]|0)>>>0?2:1;e=W5[a[A+40>>2]&63](A,0,e)|0;if((e|0)>=0)e=e-(a[A+8>>2]|0)+(a[A+4>>2]|0)+(a[A+20>>2]|0)-(a[A+28>>2]|0)|0;return e|0}function t6(A){A=A|0;(a[A+76>>2]|0)>-1?d4(A)|0:0;return a[A+60>>2]|0}function c6(A){A=A|0;var e=0,i=0,f=0,n=0;f=a[15679]|0;if((a[f+76>>2]|0)>-1)n=d4(f)|0;else n=0;do{if((m3(A,f)|0)<0)A=-1;else{if((r[f+75>>0]|0)!=10?(e=f+20|0,i=a[e>>2]|0,i>>>0<(a[f+16>>2]|0)>>>0):0){a[e>>2]=i+1;r[i>>0]=10;A=0;break}A=(W3(f,10)|0)>>31}}while(0);if(n|0)B4(f);return A|0}function b6(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+48|0;t=b+24|0;l=b+16|0;n=b;e=b+28|0;A=e;i=153686;f=A+20|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));i=e+13|0;A=0;while(1){a3(i)|0;a[n>>2]=e;a[n+4>>2]=32962;a[n+8>>2]=384;f=N2(VA(5,n|0)|0)|0;if((f|0)>-1){c=4;break}if((A|0)<99)A=A+1|0;else{A=0;break}}if((c|0)==4){a[l>>2]=e;GA(10,l|0)|0;A=I3(f,153706)|0;if(!A){a[t>>2]=f;NA(6,t|0)|0;A=0}}k=b;return A|0}function s6(A){A=A|0;var e=0,i=0,r=0;if((a[A+76>>2]|0)>=0?(d4(A)|0)!=0:0){e=A+4|0;i=a[e>>2]|0;if(i>>>0<(a[A+8>>2]|0)>>>0){a[e>>2]=i+1;e=n[i>>0]|0}else e=D1(A)|0}else r=3;do{if((r|0)==3){e=A+4|0;i=a[e>>2]|0;if(i>>>0<(a[A+8>>2]|0)>>>0){a[e>>2]=i+1;e=n[i>>0]|0;break}else{e=D1(A)|0;break}}}while(0);return e|0}function w6(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;if((a[e+76>>2]|0)>=0?(d4(e)|0)!=0:0){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(t=e+20|0,c=a[t>>2]|0,c>>>0<(a[e+16>>2]|0)>>>0):0){a[t>>2]=c+1;r[c>>0]=f}else i=W3(e,A)|0;B4(e)}else b=3;do{if((b|0)==3){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(n=e+20|0,l=a[n>>2]|0,l>>>0<(a[e+16>>2]|0)>>>0):0){a[n>>2]=l+1;r[l>>0]=f;break}i=W3(e,A)|0}}while(0);return i|0}function u6(A){A=A|0;return n6(A)|0}function k6(){}function o6(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=A&65535;f=e&65535;i=U(f,a)|0;r=A>>>16;A=(i>>>16)+(U(f,r)|0)|0;f=e>>>16;e=U(f,a)|0;return(L=(A>>>16)+(U(f,r)|0)+(((A&65535)+e|0)>>>16)|0,A+e<<16|i&65535|0)|0}function h6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=A;a=i;i=o6(f,a)|0;A=L;return(L=(U(e,a)|0)+(U(r,f)|0)+A|A&0,i|0|0)|0}function d6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=A+i>>>0;return(L=e+r+(i>>>0>>0|0)>>>0,i|0)|0}function B6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=e-r-(i>>>0>A>>>0|0)>>>0;return(L=r,A-i>>>0|0)|0}function v6(A){A=A|0;var e=0;e=r[h+(A&255)>>0]|0;if((e|0)<8)return e|0;e=r[h+(A>>8&255)>>0]|0;if((e|0)<8)return e+8|0;e=r[h+(A>>16&255)>>0]|0;if((e|0)<8)return e+16|0;return(r[h+(A>>>24)>>0]|0)+24|0}function g6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;s=A;c=e;b=c;l=i;u=r;t=u;if(!b){n=(f|0)!=0;if(!t){if(n){a[f>>2]=(s>>>0)%(l>>>0);a[f+4>>2]=0}u=0;f=(s>>>0)/(l>>>0)>>>0;return(L=u,f)|0}else{if(!n){u=0;f=0;return(L=u,f)|0}a[f>>2]=A|0;a[f+4>>2]=e&0;u=0;f=0;return(L=u,f)|0}}n=(t|0)==0;do{if(l){if(!n){n=(j(t|0)|0)-(j(b|0)|0)|0;if(n>>>0<=31){w=n+1|0;t=31-n|0;e=n-31>>31;l=w;A=s>>>(w>>>0)&e|b<>>(w>>>0)&e;n=0;t=s<>2]=A|0;a[f+4>>2]=c|e&0;u=0;f=0;return(L=u,f)|0}n=l-1|0;if(n&l|0){t=(j(l|0)|0)+33-(j(b|0)|0)|0;o=64-t|0;w=32-t|0;c=w>>31;k=t-32|0;e=k>>31;l=t;A=w-1>>31&b>>>(k>>>0)|(b<>>(t>>>0))&e;e=e&b>>>(t>>>0);n=s<>>(k>>>0))&c|s<>31;break}if(f|0){a[f>>2]=n&s;a[f+4>>2]=0}if((l|0)==1){k=c|e&0;o=A|0|0;return(L=k,o)|0}else{o=v6(l|0)|0;k=b>>>(o>>>0)|0;o=b<<32-o|s>>>(o>>>0)|0;return(L=k,o)|0}}else{if(n){if(f|0){a[f>>2]=(b>>>0)%(l>>>0);a[f+4>>2]=0}k=0;o=(b>>>0)/(l>>>0)>>>0;return(L=k,o)|0}if(!s){if(f|0){a[f>>2]=0;a[f+4>>2]=(b>>>0)%(t>>>0)}k=0;o=(b>>>0)/(t>>>0)>>>0;return(L=k,o)|0}n=t-1|0;if(!(n&t)){if(f|0){a[f>>2]=A|0;a[f+4>>2]=n&b|e&0}k=0;o=b>>>((v6(t|0)|0)>>>0);return(L=k,o)|0}n=(j(t|0)|0)-(j(b|0)|0)|0;if(n>>>0<=30){e=n+1|0;t=31-n|0;l=e;A=b<>>(e>>>0);e=b>>>(e>>>0);n=0;t=s<>2]=A|0;a[f+4>>2]=c|e&0;k=0;o=0;return(L=k,o)|0}}while(0);if(!l){b=t;c=0;t=0}else{w=i|0|0;s=u|r&0;b=d6(w|0,s|0,-1,-1)|0;i=L;c=t;t=0;do{r=c;c=n>>>31|c<<1;n=t|n<<1;r=A<<1|r>>>31|0;u=A>>>31|e<<1|0;B6(b|0,i|0,r|0,u|0)|0;o=L;k=o>>31|((o|0)<0?-1:0)<<1;t=k&1;A=B6(r|0,u|0,k&w|0,(((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1)&s|0)|0;e=L;l=l-1|0}while((l|0)!=0);b=c;c=0}l=0;if(f|0){a[f>>2]=A;a[f+4>>2]=e}k=(n|0)>>>31|(b|l)<<1|(l<<1|n>>>31)&0|c;o=(n<<1|0>>>31)&-2|t;return(L=k,o)|0}function E6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return g6(A,e,i,r,0)|0}function C6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+16|0;f=n|0;g6(A,e,i,r,f)|0;k=n;return(L=a[f+4>>2]|0,a[f>>2]|0)|0}function I6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e>>i;return A>>>i|(e&(1<>i-32|0}function Z6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e>>>i;return A>>>i|(e&(1<>>i-32|0}function G6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e<>>32-i;return A<>8&255|0}function m6(A){A=A|0;return(A&255)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>>24|0}function L6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;v=v+1|0;a[A>>2]=v;while((f|0)<(r|0)){if(!(a[i+(f<<3)>>2]|0)){a[i+(f<<3)>>2]=v;a[i+((f<<3)+4)>>2]=e;a[i+((f<<3)+8)>>2]=0;L=r;return i|0}f=f+1|0}r=r*2|0;i=y2(i|0,8*(r+1|0)|0)|0;i=L6(A|0,e|0,i|0,r|0)|0;L=r;return i|0}function W6(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;while((f|0)<(i|0)){r=a[e+(f<<3)>>2]|0;if(!r)break;if((r|0)==(A|0))return a[e+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function y6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if((i|0)>=8192)return jA(A|0,e|0,i|0)|0;l=A|0;n=A+i|0;if((A&3)==(e&3)){while(A&3){if(!i)return l|0;r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0;i=i-1|0}i=n&-4|0;f=i-64|0;while((A|0)<=(f|0)){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];a[A+32>>2]=a[e+32>>2];a[A+36>>2]=a[e+36>>2];a[A+40>>2]=a[e+40>>2];a[A+44>>2]=a[e+44>>2];a[A+48>>2]=a[e+48>>2];a[A+52>>2]=a[e+52>>2];a[A+56>>2]=a[e+56>>2];a[A+60>>2]=a[e+60>>2];A=A+64|0;e=e+64|0}while((A|0)<(i|0)){a[A>>2]=a[e>>2];A=A+4|0;e=e+4|0}}else{i=n-4|0;while((A|0)<(i|0)){r[A>>0]=r[e>>0]|0;r[A+1>>0]=r[e+1>>0]|0;r[A+2>>0]=r[e+2>>0]|0;r[A+3>>0]=r[e+3>>0]|0;A=A+4|0;e=e+4|0}}while((A|0)<(n|0)){r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0}return l|0}function z6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if((e|0)<(A|0)&(A|0)<(e+i|0)){f=A;e=e+i|0;A=A+i|0;while((i|0)>0){A=A-1|0;e=e-1|0;i=i-1|0;r[A>>0]=r[e>>0]|0}A=f}else y6(A,e,i)|0;return A|0}function Y6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=A+i|0;e=e&255;if((i|0)>=67){while(A&3){r[A>>0]=e;A=A+1|0}f=l&-4|0;n=f-64|0;t=e|e<<8|e<<16|e<<24;while((A|0)<=(n|0)){a[A>>2]=t;a[A+4>>2]=t;a[A+8>>2]=t;a[A+12>>2]=t;a[A+16>>2]=t;a[A+20>>2]=t;a[A+24>>2]=t;a[A+28>>2]=t;a[A+32>>2]=t;a[A+36>>2]=t;a[A+40>>2]=t;a[A+44>>2]=t;a[A+48>>2]=t;a[A+52>>2]=t;a[A+56>>2]=t;a[A+60>>2]=t;A=A+64|0}while((A|0)<(f|0)){a[A>>2]=t;A=A+4|0}}while((A|0)<(l|0)){r[A>>0]=e;A=A+1|0}return l-i|0}function D6(A){A=A|0;var e=0,i=0;i=A+15&-16|0;e=a[s>>2]|0;A=e+i|0;if((i|0)>0&(A|0)<(e|0)|(A|0)<0){_()|0;ZA(12);return-1}a[s>>2]=A;if((A|0)>(K()|0)?(O()|0)==0:0){a[s>>2]=e;ZA(12);return-1}return e|0}function M6(A){A=A|0;return+C5[A&1]()}function F6(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;return+I5[A&7](+e,+i,+r)}function V6(A,e){A=A|0;e=e|0;return+Z5[A&1](e|0)}function J6(A){A=A|0;return G5[A&3]()|0}function N6(A,e){A=A|0;e=e|0;return Q5[A&63](e|0)|0}function X6(A,e,i){A=A|0;e=e|0;i=i|0;return m5[A&127](e|0,i|0)|0}function R6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=+f;return L5[A&3](e|0,i|0,+r,+f)|0}function H6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return W5[A&63](e|0,i|0,r|0)|0}function p6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return y5[A&127](e|0,i|0,r|0,f|0)|0}function U6(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;return z5[A&127](e|0,i|0,r|0,f|0,a|0)|0}function x6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;return Y5[A&1](e|0,i|0,r|0,f|0,a|0,n|0)|0}function T6(A,e,i,r,f,a,n,l,t,c,b){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;return D5[A&3](e|0,i|0,r|0,f|0,a|0,n|0,l|0,t|0,c|0,b|0)|0}function j6(A){A=A|0;M5[A&15]()}function S6(A,e){A=A|0;e=e|0;F5[A&127](e|0)}function P6(A,e,i){A=A|0;e=e|0;i=i|0;V5[A&63](e|0,i|0)}function O6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;J5[A&127](e|0,i|0,r|0)}function K6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;n=n|0;N5[A&15](e|0,i|0,r|0,+f,+a,n|0)}function _6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;X5[A&31](e|0,i|0,r|0,f|0)}function q6(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;R5[A&15](e|0,i|0,r|0,f|0,a|0)}function $6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;H5[A&15](e|0,i|0,r|0,f|0,a|0,n|0)}function A5(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;p5[A&0](e|0,i|0,r|0,f|0,a|0,n|0,l|0,t|0,c|0)}function e5(){S(0);return 0.0}function i5(A,e,i){A=+A;e=+e;i=+i;S(1);return 0.0}function r5(A){A=A|0;S(2);return 0.0}function f5(){S(3);return 0}function a5(A){A=A|0;S(4);return 0}function n5(A,e){A=A|0;e=e|0;S(5);return 0}function l5(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;S(6);return 0}function t5(A,e,i){A=A|0;e=e|0;i=i|0;S(7);return 0}function c5(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(8);return 0}function b5(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;S(9);return 0}function s5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;S(10);return 0}function w5(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;S(11);return 0}function u5(){S(12)}function k5(A){A=A|0;S(13)}function o5(A,e){A=A|0;e=e|0;S(14)}function h5(A,e,i){A=A|0;e=e|0;i=i|0;S(15)}function d5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;S(16)}function B5(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(17)}function v5(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;S(18)}function g5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;S(19)}function E5(A,e,i,r,f,a,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;S(20)}var C5=[e5,cR];var I5=[i5,EM,gM,CM,IM,i5,i5,i5];var Z5=[r5,hR];var G5=[f5,Rj,tV,$V];var Q5=[a5,hW,JL,Qp,mp,Kh,$h,Ge,Qe,dr,Br,vr,gr,Er,Cr,Ir,Zr,F2,OI,hg,ND,HD,Hp,$F,vh,cd,Bh,fV,cV,gh,se,qF,he,de,wc,m2,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5];var m5=[n5,Qh,Oh,Ad,tX,cX,AX,KN,YN,Sl,Pl,Ol,Kl,_l,ql,At,et,it,rt,ft,at,nt,lt,tt,ct,bt,st,wt,ut,kt,ot,ht,dt,Bt,vt,gt,Et,Ct,It,Zt,Eq,Cq,Zq,Sq,Pq,Oq,Kq,_q,qq,$q,A$,T$,j$,P$,t$,c$,s$,kg,mL,oW,xW,gy,Ny,OY,SY,XD,pD,Nx,PT,Kj,BS,gS,CS,IS,GS,ZS,VS,PP,$P,eO,n_,dw,yv,Wv,Lv,EE,bd,eV,ME,KE,TE,jE,SC,m3,w6,rR,dH,po,_a,Oo,_o,we,A1,Zf,jl,tc,cc,y2,Es,Cs,Is,K8,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var L5=[l5,rK,tK,l5];var W5=[t5,Cp,G_,Lk,Vk,Tk,Kk,Ph,qh,sJ,fH,Fa,Gq,O$,w$,V2,J2,H2,p2,y4,ao,Np,u_,fT,AO,jw,Pw,_w,qk,vE,P4,XB,f3,aR,lJ,Gi,ac,Y$,I0,d0,m0,X3,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var y5=[c5,Zp,yS,Q_,yk,Nk,So,xB,Po,uh,Lh,yh,Hh,Rh,ed,ad,ld,eJ,nH,Ai,qe,Kr,Ja,nn,an,Qs,ms,Ls,dq,Bq,vq,gq,Iq,mq,N$,X$,R$,H$,p$,U$,x$,S$,_$,e$,i$,r$,f$,a$,n$,l$,b$,k$,eo,Td,IE,lR,$c,ib,cb,gb,Wb,Fb,Db,Vb,vs,L0,ns,M$,F$,Z0,G0,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5];var z5=[b5,mh,DN,eX,Lq,Wq,Tq,jq,k0,q$,$$,o$,h$,Zs,Gs,y0,z0,Y0,D0,F0,V0,J0,N0,X0,H0,p0,U0,x0,T0,R0,d2,B2,t2,e2,j0,S0,P0,K0,O0,_0,q0,$0,A2,i2,r2,f2,a2,n2,l2,c2,b2,s2,w2,h2,k2,u2,o2,I2,v2,g2,E2,C2,Z2,G2,Q2,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5];var Y5=[s5,Jt];var D5=[w5,h0,Q0,w5];var M5=[u5,tR,aV,nV,lV,sV,wV,uV,Ha,u5,u5,u5,u5,u5,u5,u5];var F5=[k5,$I,AZ,fZ,aZ,nZ,QZ,mZ,_Z,qZ,$Z,AG,eG,iG,rG,oG,hG,vG,gG,EG,CG,IG,ZG,GG,JG,NG,XG,HG,pG,UG,xG,TG,jG,SG,PG,aQ,nQ,lQ,cQ,bQ,sQ,wQ,uQ,kQ,oQ,hQ,dQ,vQ,YQ,DQ,MQ,FQ,jQ,SQ,PQ,KQ,cm,bm,sm,um,km,om,hm,dm,Bm,vm,gm,Em,ym,zm,Ym,Dm,tL,rL,fp,pH,xx,dx,mT,VT,RU,pU,ZT,GT,NH,XH,xU,qU,Ax,sx,zh,wN,yN,kN,uN,qN,JJ,RJ,Gr,yr,Km,UD,Ex,Gx,Tx,L2,V_,vo,ZE,dI,Ra,Bi,ve,iJ,ln,Vt,rc,fc,bc,k5,k5,k5,k5,k5,k5,k5,k5,k5];var V5=[o5,aG,bG,mG,YG,eQ,GQ,HQ,im,mm,Xm,id,MN,bX,iX,_N,LN,WN,nX,lX,Lr,Yr,vJ,to,gE,bV,be,Jl,Ft,nc,lc,sc,uc,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];var J5=[h5,lZ,tZ,sZ,KZ,fG,nG,cG,QG,LG,zG,KG,_G,AQ,gQ,EQ,ZQ,VQ,JQ,RQ,_Q,qQ,em,Cm,Im,Qm,Mm,Fm,Nm,LY,WY,yY,Ip,Wk,Jk,oo,Yh,nd,Hd,TB,sE,aF,AJ,wJ,XJ,aH,tH,$e,_e,Qr,mr,Wr,zr,Dr,Va,Zl,Il,Fo,ch,gd,Od,qd,rV,nR,aJ,ke,Be,Gl,ml,Ll,Vl,Nl,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5];var N5=[d5,NC,XC,RC,HC,pC,UC,xC,TC,d5,d5,d5,d5,d5,d5,d5];var X5=[B5,cZ,lG,WG,RG,qG,tQ,CQ,NQ,$Q,wm,Zm,Vm,$m,qm,_m,Om,Pm,Sm,GZ,jm,Tm,Wh,zN,$N,Qq,K$,u$,K4,ue,oe,V$];var R5=[v5,dG,OG,iQ,BQ,OQ,RD,CE,ge,v5,v5,v5,v5,v5,v5,v5];var H5=[g5,bZ,tG,yG,$G,IQ,XQ,Am,Gm,Jm,Ee,g5,g5,g5,g5,g5];var p5=[E5];return{___errno_location:X2,___muldi3:h6,___udivdi3:E6,___uremdi3:C6,_bitshift64Ashr:I6,_bitshift64Lshr:Z6,_bitshift64Shl:G6,_dtextract:Uk,_free:L2,_htons:V4,_i64Add:d6,_i64Subtract:B6,_llvm_bswap_i16:Q6,_llvm_bswap_i32:m6,_malloc:m2,_memalign:D2,_memcpy:y6,_memmove:z6,_memset:Y6,_realloc:y2,_saveSetjmp:L6,_sbrk:D6,_testSetjmp:W6,_vizCreateFile:_I,_vizLastErrorMessage:KI,_vizRenderFromString:qI,dynCall_d:M6,dynCall_dddd:F6,dynCall_di:V6,dynCall_i:J6,dynCall_ii:N6,dynCall_iii:X6,dynCall_iiidd:R6,dynCall_iiii:H6,dynCall_iiiii:p6,dynCall_iiiiii:U6,dynCall_iiiiiii:x6,dynCall_iiiiiiiiiii:T6,dynCall_v:j6,dynCall_vi:S6,dynCall_vii:P6,dynCall_viii:O6,dynCall_viiiddi:K6,dynCall_viiii:_6,dynCall_viiiii:q6,dynCall_viiiiii:$6,dynCall_viiiiiiiii:A5,establishStackSpace:TI,getTempRet0:PI,runPostSets:k6,setTempRet0:SI,setThrew:jI,stackAlloc:pI,stackRestore:xI,stackSave:UI}}(A.asmGlobalArg,A.asmLibraryArg,B),UA=(A.___errno_location=pA.___errno_location,A.___muldi3=pA.___muldi3,A.___udivdi3=pA.___udivdi3,A.___uremdi3=pA.___uremdi3,A._bitshift64Ashr=pA._bitshift64Ashr,A._bitshift64Lshr=pA._bitshift64Lshr,A._bitshift64Shl=pA._bitshift64Shl,A._dtextract=pA._dtextract,A._free=pA._free),xA=(A._htons=pA._htons,A._i64Add=pA._i64Add,A._i64Subtract=pA._i64Subtract,A._llvm_bswap_i16=pA._llvm_bswap_i16,A._llvm_bswap_i32=pA._llvm_bswap_i32,A._malloc=pA._malloc),TA=A._memalign=pA._memalign,jA=(A._memcpy=pA._memcpy,A._memmove=pA._memmove,A._memset=pA._memset),SA=(A._realloc=pA._realloc,A._saveSetjmp=pA._saveSetjmp,A._sbrk=pA._sbrk,A._testSetjmp=pA._testSetjmp,A._vizCreateFile=pA._vizCreateFile,A._vizLastErrorMessage=pA._vizLastErrorMessage,A._vizRenderFromString=pA._vizRenderFromString,A.establishStackSpace=pA.establishStackSpace,A.getTempRet0=pA.getTempRet0,A.runPostSets=pA.runPostSets,A.setTempRet0=pA.setTempRet0,A.setThrew=pA.setThrew,A.stackAlloc=pA.stackAlloc),PA=A.stackRestore=pA.stackRestore,OA=A.stackSave=pA.stackSave;if(A.dynCall_d=pA.dynCall_d,A.dynCall_dddd=pA.dynCall_dddd,A.dynCall_di=pA.dynCall_di,A.dynCall_i=pA.dynCall_i,A.dynCall_ii=pA.dynCall_ii,A.dynCall_iii=pA.dynCall_iii,A.dynCall_iiidd=pA.dynCall_iiidd,A.dynCall_iiii=pA.dynCall_iiii,A.dynCall_iiiii=pA.dynCall_iiiii,A.dynCall_iiiiii=pA.dynCall_iiiiii,A.dynCall_iiiiiii=pA.dynCall_iiiiiii,A.dynCall_iiiiiiiiiii=pA.dynCall_iiiiiiiiiii,A.dynCall_v=pA.dynCall_v,A.dynCall_vi=pA.dynCall_vi,A.dynCall_vii=pA.dynCall_vii,A.dynCall_viii=pA.dynCall_viii,A.dynCall_viiiddi=pA.dynCall_viiiddi,A.dynCall_viiii=pA.dynCall_viiii,A.dynCall_viiiii=pA.dynCall_viiiii,A.dynCall_viiiiii=pA.dynCall_viiiiii,A.dynCall_viiiiiiiii=pA.dynCall_viiiiiiiii,A.asm=pA,A.ccall=function(e,i,r,f,a){var n=function(e){var i=A["_"+e];return k(i,"Cannot call unknown function "+e+", make sure it is exported"),i}(e),l=[],t=0;if(f)for(var c=0;c0||(function(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)e=A.preRun.shift(),H.unshift(e);var e;R(H)}(),$>0||A.calledRun||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),i()}),1)):i()))}function re(e){throw A.onAbort&&A.onAbort(e),void 0!==e?(A.print(e),A.printErr(e),e=JSON.stringify(e)):e="",u=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(A.then=function(e){if(A.calledRun)e(A);else{var i=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){i&&i(),e(A)}}return A},ee.prototype=new Error,ee.prototype.constructor=ee,eA=function e(){A.calledRun||ie(),A.calledRun||(eA=e)},A.run=ie,A.exit=function(e,i){i&&A.noExitRuntime&&0===e||(A.noExitRuntime||(u=!0,Q=void 0,R(x),A.onExit&&A.onExit(e)),t&&process.exit(e),A.quit(e,new ee(e)))},A.abort=re,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return A.noExitRuntime=!0,ie(),A};function f(A){var e,i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=void 0===i.format?"svg":i.format,n=void 0===i.engine?"dot":i.engine,l=i.scale,t=i.totalMemory,c=void 0===i.files?[]:i.files,b=void 0===i.images?[]:i.images;for(e=0;e\\n\\n'});return"png-image-element"==r?f.svgXmlToPngImageElement(a(A,"svg",n,t,c),l):a(A,r,n,t,c)}function a(A,e,i,f,a){var n,l=r({TOTAL_MEMORY:f});for(n=0;n1?window.devicePixelRatio:1);var r=new Image;try{if("object"==typeof fabric&&fabric.loadSVGFromString)fabric.loadSVGFromString(A,(function(A,f){if(0==A.length){if(void 0!==i)return void i(new Error("Error loading SVG with Fabric"));throw new Error("Error loading SVG with Fabric")}var a=document.createElement("canvas");a.width=f.width,a.height=f.height;var n=new fabric.Canvas(a,{enableRetinaScaling:!1}),l=fabric.util.groupSVGElements(A,f);n.add(l).renderAll(),r.src=n.toDataURL({multiplier:e}),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)}));else{var f=new Image;f.onload=function(){var A=document.createElement("canvas");A.width=f.width*e,A.height=f.height*e,A.getContext("2d").drawImage(f,0,0,A.width,A.height),r.src=A.toDataURL("image/png"),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)},f.onerror=function(A){var e;if(e="error"in A?A.error:new Error("Error loading SVG"),void 0===i)throw e;i(e)},f.src="data:image/svg+xml;base64,"+btoa(encodeURIComponent(A).replace(/%([0-9A-F]{2})/g,(function(A,e){return String.fromCharCode("0x"+e)})))}}catch(A){if(void 0===i)throw A;i(A)}if(void 0===i)return r},f.svgXmlToPngBase64=function(A,e,i){f.svgXmlToPngImageElement(A,e,(function(A,e){A?i(A):i(null,e.src.slice(22))}))},A.exports?A.exports=f:e.Viz=f}(this)},778:()=>{},725:()=>{},966:()=>{}},e={};function i(r){var f=e[r];if(void 0!==f)return f.exports;var a=e[r]={exports:{}};return A[r].call(a.exports,a,a.exports,i),a.exports}i.n=A=>{var e=A&&A.__esModule?()=>A.default:()=>A;return i.d(e,{a:e}),e},i.d=(A,e)=>{for(var r in e)i.o(e,r)&&!i.o(A,r)&&Object.defineProperty(A,r,{enumerable:!0,get:e[r]})},i.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A=i(221),e=i.n(A);const r={bidir:"isBidirectional"};function f(A,e){throw new Error(\`Malformed plain output: \${A.slice(e-100,e+100)}\`)}function a(A,e){const i='"'===A[e],r=e+Number(i),f=A.indexOf(i?'"':" ",r);return{value:A.slice(r,f),end:f+Number(i)}}function n(A,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ";const r=A.indexOf(i,e);return r3&&void 0!==arguments[3]?arguments[3]:" ";const f=[];let a=i,l=A;for(;l--;){" "===e[a]&&a++;const{value:A,end:i}=n(e,a,r);f.push(A),a=i}return{values:f,end:a}}function t(A,e){const i=e+5,{value:r,end:f}=a(A,i),{values:n,end:t}=l(4,A,f+1),[c,b,s,w]=n;return{vertex:{vertex:{key:r},height:w,left:c,top:b,width:s},end:A.indexOf("\\n",t+1)}}function c(A,e){const i=e+5,{value:f,end:t}=a(A,i),{value:c,end:b}=a(A,t+1),{value:s,end:w}=n(A,b+1),{values:u,end:k}=l(2*s,A,w+1),{value:o,end:h}=a(A,k+1),d=[];for(let A=0;A{const e=r[A];e&&(B[e]=!0)})),{edge:{edge:{from:f,to:c,...B},pathPoints:d},end:A.indexOf("\\n",h+1)}}const b="}",s={nodesep:1.5,rankdir:"LR",ranksep:5,sep:.5,shape:"box",splines:"true"};function w(A){const{nodesep:e,rankdir:i,ranksep:r,sep:f,shape:a,splines:n}={...s,...A};return\`digraph G {\\n graph[nodesep=\${e.toFixed(3)}, rankdir=\${i}, ranksep=\${r.toFixed(3)}, sep=\${f.toFixed(3)}, splines=\${n}];\\n node [shape=\${a}, fixedsize=true, label="", color="_", fillcolor="_"];\\n edge [arrowhead=none, arrowtail=none];\`}function u(A){const{vertex:e,height:i,width:r}=A;let f="";if("left"in A&&"top"in A){const{left:e,top:i}=A;f=\`,pos="\${e.toFixed(5)},\${i.toFixed(5)}!"\`}return\`"\${e.key}" [height=\${i.toFixed(5)},width=\${r.toFixed(5)}\${f}];\`}function k(A,e){const i=arguments.length>2&&void 0!==arguments[2]&&arguments[2]?' [style="bidir",dir=both]':"";return Array.isArray(e)?\`"\${A}"->{ \${e.map((A=>\`"\${A}"\`)).join(" ")} };\`:\`"\${A}"->"\${e}"\${i};\`}let o=function(A){return A.Error="Error",A.LayoutError="LayoutError",A}({}),h=function(A){return A.DotOnly="DotOnly",A.Edges="Edges",A.Positions="Positions",A}({});var d=function(A){return A.Ok="Ok",A.Warn="Warn",A.Error="Error",A}(d||{});const B=.015;function v(A,e){return Math.abs(A-e)/e{if(A.isBidirectional)return void r.push(A);const e=f.get(A.from)||[];e.push(A.to),f.set(A.from,e)}));const a=e.map(u),n=r.map((A=>k(A.from,A.to,!0))),l=[];return f.forEach(((A,e)=>{l.push(k(e,A))})),[w(i)," ",a.join("\\n ")," ",n.join("\\n ")," ",l.join("\\n "),b].join("\\n ")}(i,r,a),{totalMemory:o}=a||{},g={totalMemory:o,engine:A===h.Edges?"neato":"dot",format:"plain"},E=e()(s,g),{edges:C,graph:I,vertices:Z}=function(A){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=[],r=[];let a=0;const{end:b,graph:s}=function(A,e){const i=e+6,{values:[r,f],end:a}=l(2,A,i),{value:t,end:c}=n(A,a+1,"\\n");return{end:c,graph:{height:t,scale:r,width:f}}}(A,a);for(a=b+1;"s"!==A[a];)if("n"!==A[a])if("e"!==A[a])f(A,a);else{if(!e){a=A.indexOf("\\n",a)+1;continue}const{end:r,edge:f}=c(A,a);i.push(f),a=r+1}else{const{end:e,vertex:i}=t(A,a);r.push(i),a=e+1}return{graph:s,vertices:r,edges:e?i:null}}(E,A!==h.Positions),G=function(A,e){const i={};let r;A.forEach((A=>{i[String(A.vertex.key)]=A}));for(let A=0;A1?"vertices":"vertex";return{validity:d.Error,message:\`Missing \${A}: \${f.join(", ")}\`}}return r||{validity:d.Ok,message:null}}(r,Z);return G.validity===d.Error?{graph:I,edges:C,vertices:Z,layoutError:!0,layoutErrorMessage:G.message}:G.validity===d.Warn?{graph:I,edges:C,vertices:Z,layoutErrorMessage:G.message}:{edges:C,graph:I,vertices:Z}}const E=self;let C;function I(A,e){if(e instanceof ErrorEvent){const{colno:i,error:r,filename:f,lineno:a,message:n}=e;return{colno:i,error:r,errorType:A,filename:f,lineno:a,message:n}}return{message:e.data}}function Z(A,e){const i={type:o.Error,meta:C,errorMessage:I(A,e)};E.postMessage(i)}E.onmessage=function(A){const{edges:e,meta:i,options:r,vertices:f}=A.data;C=i;const{layoutError:a,...n}=g(i.phase,e,f,r),l={meta:i,type:a?o.LayoutError:i.phase,...n};E.postMessage(l),C=null},E.onerror=Z.bind(null,"error"),E.onmessageerror=Z.bind(E,"messageerror")})();`,"Worker",void 0,void 0)}})();var r=i.Z;function killWorker(o){const $=o,_e=()=>{};$.onmessage=_e,$.onmessageerror=_e,$.onerror=_e,$.terminate()}function findAndRemoveWorker(o,$){for(let _e=0;_e=0)return et.splice(tt,1),{ok:!0,list:et}}return{ok:!1}}class Coordinator{constructor($){this.currentLayout=void 0,this.nextWorkerId=void 0,this.idleWorkers=void 0,this.busyWorkers=void 0,this.callback=void 0,this._handleVizWorkerError=_e=>{const et=_e.target,{ok:tt}=findAndRemoveWorker([this.busyWorkers,this.idleWorkers],et);tt?(console.error("Viz worker onerror"),console.error(_e),killWorker(et)):(console.error("Viz worker onerror from unknown viz worker"),console.error(_e))},this._handleVizWorkerMessageError=_e=>{const et={event:_e,currentLayout:this.currentLayout,errorType:"_handleVizWorkerMessageError"};console.error(et)},this._handleVizWorkerMessage=_e=>{const et=_e.target,tt=_e.data,{type:rt}=tt;this._makeWorkerIdle(et);const at=!this.currentLayout||!!(tt.meta&&tt.meta.layoutId!==this.currentLayout.id);if(rt===EWorkerErrorType.Error){console.error(`${at?"(stale) ":""}Error from viz.worker`,_e);return}if(!at){if(rt===EWorkerErrorType.LayoutError){console.error("layout-error",_e);return}if(tt.type===EWorkerPhase.Positions||tt.type===EWorkerPhase.Edges||tt.type===EWorkerPhase.DotOnly){this._processResult(rt,tt);return}console.error(`Unknown worker message type: ${rt}`,_e)}},this.callback=$,this.currentLayout=null,this.nextWorkerId=0,this.idleWorkers=[],this.busyWorkers=[]}getLayout($,_e,et,tt){this.busyWorkers.forEach(killWorker),this.busyWorkers.length=0;const{edges:rt,unmapEdges:at,unmapVertices:nt,vertices:it}=convInputs(_e,et),ot=it.map(vertexToDot);this.currentLayout={id:$,cleaned:{edges:rt,vertices:ot},options:tt||null,input:{edges:_e,unmapEdges:at,unmapVertices:nt,vertices:et},status:{phase:ECoordinatorPhase.NotStarted}};const lt=!!(tt&&tt.useDotEdges)?EWorkerPhase.DotOnly:EWorkerPhase.Positions;this._postWork(lt,rt,ot)}stopAndRelease(){this.idleWorkers.forEach(killWorker),this.idleWorkers.length=0,this.busyWorkers.forEach(killWorker),this.busyWorkers.length=0,this.currentLayout=null}_initWorker(){const $=new r;return $.id=this.nextWorkerId,this.nextWorkerId++,$.onerror=this._handleVizWorkerError,$.onmessageerror=this._handleVizWorkerMessageError,$.onmessage=this._handleVizWorkerMessage,$}_makeWorkerIdle($){const{ok:_e}=findAndRemoveWorker([this.busyWorkers,this.idleWorkers],$);_e?this.idleWorkers.push($):killWorker($)}_postWork($,_e,et){if(!this.currentLayout)throw new Error("_startWork called without a current layout");const{id:tt,options:rt,status:at}=this.currentLayout,nt=this.idleWorkers.pop()||this._initWorker();this.busyWorkers.push(nt),at.phase=$,at.workerId=nt.id;const it={options:rt,edges:_e,vertices:et,meta:{phase:$,layoutId:tt,workerId:nt.id}};nt.postMessage(it)}_processResult($,_e){const et=this.currentLayout;if(!et)return;const{edges:tt,graph:rt,meta:at,vertices:nt}=_e,{workerId:it}=at,{cleaned:ot,input:st,status:lt}=et,{phase:ct,workerId:ut}=lt;if($!==ct||it!==ut){console.error("Have work results, but in an invalid state");return}if(!nt||!rt||$!==EWorkerPhase.Positions&&!tt){console.error("Have work results, but recieved invalid result data");return}const ft=vertexToPixels.bind(null,rt),At=nt.map(ft),vt=st.unmapVertices(At),ht=graphToPixels(rt);if(($===EWorkerPhase.Positions||$===EWorkerPhase.DotOnly)&&this.callback({type:ECoordinatorPhase.Positions,layoutId:et.id,graph:ht,vertices:vt}),tt){const mt=tt.map(dt=>edgeToPixels(rt,dt)),bt=st.unmapEdges(mt);this.callback({type:ECoordinatorPhase.Done,layoutId:et.id,graph:ht,edges:bt,vertices:vt})}$===EWorkerPhase.Positions&&this._postWork(EWorkerPhase.Edges,ot.edges,nt)}}class LayoutManager{constructor($){this.layoutId=void 0,this.coordinator=void 0,this.pendingResult=void 0,this.options=void 0,this._handleUpdate=_e=>{const et=this.pendingResult;if(!(!et||_e.layoutId!==et.id))if(_e.type===ECoordinatorPhase.Positions){const{isPositionsResolved:tt,resolvePositions:rt}=et;if(tt){console.warn("Duplicate positiosn update",_e);return}const{graph:at,vertices:nt}=_e;if(!nt||!rt)throw new Error("Invalid state");et.isPositionsResolved=!0,rt({graph:at,vertices:nt,isCancelled:!1})}else if(_e.type===ECoordinatorPhase.Done){const{resolveLayout:tt}=et,{edges:rt,graph:at,vertices:nt}=_e;if(!rt||!nt||!tt)throw new Error("Invalid state");this.pendingResult=null,tt({edges:rt,graph:at,vertices:nt,isCancelled:!1})}else throw new Error("Unrecognized update type")},this.options=$,this.layoutId=0,this.coordinator=new Coordinator(this._handleUpdate),this.pendingResult=null}getLayout($,_e){this._cancelPending(),this.layoutId++;const et=this.layoutId;this.coordinator.getLayout(et,$,_e,this.options),this.pendingResult={id:et,isPositionsResolved:!1};const tt=new Promise(at=>{this.pendingResult&&et===this.pendingResult.id&&(this.pendingResult.resolvePositions=at)});return{layout:new Promise(at=>{this.pendingResult&&et===this.pendingResult.id&&(this.pendingResult.resolveLayout=at)}),positions:tt}}stopAndRelease(){this._cancelPending(),this.coordinator.stopAndRelease()}_cancelPending(){const $=this.pendingResult;$&&(!$.isPositionsResolved&&$.resolvePositions&&($.resolvePositions({isCancelled:!0}),$.isPositionsResolved=!0),$.resolveLayout&&$.resolveLayout({isCancelled:!0}),this.pendingResult=null)}}const index$G="",index$F="";var Checkbox$2=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,o.call(this,_e));et.handleChange=function(rt){var at=et.props,nt=at.disabled,it=at.onChange;nt||("checked"in et.props||et.setState({checked:rt.target.checked}),it&&it({target:_default$bE({},et.props,{checked:rt.target.checked}),stopPropagation:function(){rt.stopPropagation()},preventDefault:function(){rt.preventDefault()},nativeEvent:rt.nativeEvent}))},et.saveInput=function(rt){et.input=rt};var tt="checked"in _e?_e.checked:_e.defaultChecked;return et.state={checked:tt},et}return $.getDerivedStateFromProps=function(et,tt){return"checked"in et?_default$bE({},tt,{checked:et.checked}):null},$.prototype.focus=function(){this.input.focus()},$.prototype.blur=function(){this.input.blur()},$.prototype.render=function(){var et,tt=this.props,rt=tt.prefixCls,at=tt.className,nt=tt.style,it=tt.name,ot=tt.id,st=tt.type,lt=tt.disabled,ct=tt.readOnly,ut=tt.tabIndex,ft=tt.onClick,At=tt.onFocus,vt=tt.onBlur,ht=tt.autoFocus,mt=tt.value,bt=_default$d(tt,["prefixCls","className","style","name","id","type","disabled","readOnly","tabIndex","onClick","onFocus","onBlur","autoFocus","value"]),dt=Object.keys(bt).reduce(function(gt,wt){return(wt.substr(0,5)==="aria-"||wt.substr(0,5)==="data-"||wt==="role")&&(gt[wt]=bt[wt]),gt},{}),xt=this.state.checked,Ct=classnamesExports(rt,at,(et={},et[rt+"-checked"]=xt,et[rt+"-disabled"]=lt,et));return React$k.createElement("span",{className:Ct,style:nt},React$k.createElement("input",_default$bE({name:it,id:ot,type:st,readOnly:ct,disabled:lt,tabIndex:ut,className:rt+"-input",checked:!!xt,onClick:ft,onFocus:At,onBlur:vt,onChange:this.handleChange,autoFocus:ht,ref:this.saveInput,value:mt},dt)),React$k.createElement("span",{className:rt+"-inner"}))},$}(reactExports.Component);Checkbox$2.propTypes={prefixCls:propTypesExports.string,className:propTypesExports.string,style:propTypesExports.object,name:propTypesExports.string,id:propTypesExports.string,type:propTypesExports.string,defaultChecked:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.bool]),checked:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.bool]),disabled:propTypesExports.bool,onFocus:propTypesExports.func,onBlur:propTypesExports.func,onChange:propTypesExports.func,onClick:propTypesExports.func,tabIndex:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),readOnly:propTypesExports.bool,autoFocus:propTypesExports.bool,value:propTypesExports.any};Checkbox$2.defaultProps={prefixCls:"rc-checkbox",className:"",style:{},type:"checkbox",defaultChecked:!1,onFocus:function(){},onBlur:function(){},onChange:function(){}};polyfill(Checkbox$2);function _typeof$G(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$G=function(_e){return typeof _e}:_typeof$G=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$G(o)}function _defineProperty$K(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$1E(){return _extends$1E=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$O(o){return _getPrototypeOf$O=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$O(o)}var __rest$p=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tto.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _classCallCheck$1t(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$H(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1o(o,$,_e){return $&&_defineProperties$H(o.prototype,$),_e&&_defineProperties$H(o,_e),o}function _inherits$1s(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$K(o,$)}function _setPrototypeOf$K(o,$){return _setPrototypeOf$K=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$K(o,$)}function _createSuper$F(o){var $=_isNativeReflectConstruct$F();return function(){var et=_getPrototypeOf$N(o),tt;if($){var rt=_getPrototypeOf$N(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1s(this,tt)}}function _possibleConstructorReturn$1s(o,$){return $&&(_typeof$F($)==="object"||typeof $=="function")?$:_assertThisInitialized$K(o)}function _assertThisInitialized$K(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$F(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$N(o){return _getPrototypeOf$N=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$N(o)}var __rest$o=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt0&&(mt=tt.getOptions().map(function(dt){return reactExports.createElement(Checkbox$1,{prefixCls:At,key:dt.value.toString(),disabled:"disabled"in dt?dt.disabled:it.disabled,value:dt.value,checked:ot.value.indexOf(dt.value)!==-1,onChange:dt.onChange,className:"".concat(vt,"-item")},dt.label)}));var bt=classNames(vt,lt);return reactExports.createElement("div",_extends$1D({className:bt,style:ct},ht),mt)},tt.state={value:et.value||et.defaultValue||[],registeredValues:[]},tt}return _createClass$1o(_e,[{key:"getChildContext",value:function(){return{checkboxGroup:{toggleOption:this.toggleOption,value:this.state.value,disabled:this.props.disabled,name:this.props.name,registerValue:this.registerValue,cancelValue:this.cancelValue}}}},{key:"shouldComponentUpdate",value:function(tt,rt){return!shallowequal(this.props,tt)||!shallowequal(this.state,rt)}},{key:"getOptions",value:function(){var tt=this.props.options;return tt.map(function(rt){return typeof rt=="string"?{label:rt,value:rt}:rt})}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderGroup)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"value"in tt?{value:tt.value||[]}:null}}]),_e}(reactExports.Component);CheckboxGroup.defaultProps={options:[]};CheckboxGroup.propTypes={defaultValue:propTypesExports.array,value:propTypesExports.array,options:propTypesExports.array.isRequired,onChange:propTypesExports.func};CheckboxGroup.childContextTypes={checkboxGroup:propTypesExports.any};polyfill(CheckboxGroup);const Group$1=CheckboxGroup;Checkbox$1.Group=Group$1;function _typeof$E(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$E=function(_e){return typeof _e}:_typeof$E=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$E(o)}function _extends$1C(){return _extends$1C=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$M(o){return _getPrototypeOf$M=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$M(o)}var __rest$n=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=0||Object.prototype.hasOwnProperty.call(st,ut)&&(ct[ut]=st[ut]);return ct}var ot=function(lt,ct){var ut=lt.children,ft=lt.color,At=lt.size,vt=lt.style,ht=lt.width,mt=lt.height,bt=it(lt,["children","color","size","style","width","height"]),dt=ct.reactIconBase,xt=dt===void 0?{}:dt,Ct=At||xt.size||"1em";return tt.default.createElement("svg",_e({children:ut,fill:"currentColor",preserveAspectRatio:"xMidYMid meet",height:mt||Ct,width:ht||Ct},xt,bt,{style:_e({verticalAlign:"middle",color:ft||xt.color},xt.style||{},vt)}))};ot.propTypes={color:at.default.string,size:at.default.oneOfType([at.default.string,at.default.number]),width:at.default.oneOfType([at.default.string,at.default.number]),height:at.default.oneOfType([at.default.string,at.default.number]),style:at.default.object},ot.contextTypes={reactIconBase:at.default.shape(ot.propTypes)},$.default=ot,o.exports=$.default})(lib$2,libExports);(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;stot+it,0);if($===1)return et;const tt=Math.max(_e,et/$);let rt=0,at=0;do rt+=o[at++];while(rt+o[at]=$&&nt[nt.length-1].widthMath.max(calcWidth(o.slice(ot),$-1,Math.max(_e,it)),it)))}const calcRects=memoize_1(function($,_e){const et=(Array.isArray($)?[`${$.length} Operations}`]:$.match(WORD_RX$1)||[$]).map(rt=>(_e.innerHTML=rt,_e.getClientRects()[0].width)),tt=[];for(let rt=1;rt<=et.length;rt++){const at=calcWidth(et,rt),nt=rt*FONT_SIZE*LINE_HEIGHT;if((!tt.length||atat)break}return tt},(o,$)=>`${o} ${$.style.fontWeight}`),sq=o=>o**2,diagonal=o=>Math.sqrt(sq(o.height)+sq(o.width));function smallestRadius(o,$){if(!$){let et=diagonal(o[0]),{height:tt,width:rt}=o[0];for(let at=1;at{$.forEach(tt=>{let rt,at;const nt=et.height+tt.height+OP_PADDING_TOP,it=(sq(et.width/2)-sq(tt.width/2))/(2*nt)+nt/2;itnt-et.height/2?(rt=diagonal(et)/2,at=rt-et.height/2):(rt=Math.sqrt(sq(tt.width/2)+sq(it)),at=rt-nt+it),(!_e||_e.radius>rt)&&(_e={radius:rt,svcWidth:et.width,opWidth:tt.width,svcMarginTop:at})})}),!_e)throw new Error("Given 0 svcRects and/or 0 opRects");return _e}const calcPositioning=memoize_1(function($,_e){const et=calcRects($,_initSvcSpan()),tt=_e?calcRects(_e,_initOpSpan()):void 0;return smallestRadius(et,tt)},(o,$)=>`${o} ${$}`),nodeIcons="",setFocusIcon=jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"DdgNode--SetFocusIcon",width:"100",height:"100",viewBox:"0 0 100 100",children:jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{d:"M50.0001 -1L61.0557 22.1383H38.9444L50.0001 -1Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M49.9999 99L38.9443 75.8617L61.0556 75.8617L49.9999 99Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M100 49L76.8617 60.0556L76.8617 37.9444L100 49Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M1.57361e-06 49L23.1383 37.9444L23.1383 60.0556L1.57361e-06 49Z",fill:"currentColor"})]})}),BreakableText$1="",WORD_RX=/\W*\w+\W*/g;function BreakableText(o){const{className:$,text:_e,wordRegexp:et=WORD_RX}=o;if(!_e)return typeof _e=="string"?_e:null;const tt=[];et.exec("");let rt=et.exec(_e)||[_e];for(;rt;)tt.push(jsxRuntimeExports.jsx("span",{className:$,children:rt[0]},`${_e}-${tt.length}`)),rt=et.exec(_e);return tt}BreakableText.defaultProps={className:"BreakableText",wordRegexp:WORD_RX};var characterMap={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ù:"u",ú:"u",û:"u",ü:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z"},chars=Object.keys(characterMap).join("|"),allAccents=new RegExp(chars,"g"),firstAccent=new RegExp(chars,""),removeAccents=function(o){return o.replace(allAccents,function($){return characterMap[$]})},hasAccents=function(o){return!!o.match(firstAccent)},removeAccents_1=removeAccents,has=hasAccents,remove$7=removeAccents;removeAccents_1.has=has;removeAccents_1.remove=remove$7;var _typeof$D=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_extends$1B=Object.assign||function(o){for(var $=1;$ - */var rankings={CASE_SENSITIVE_EQUAL:9,EQUAL:8,STARTS_WITH:7,WORD_STARTS_WITH:6,STRING_CASE:5,STRING_CASE_ACRONYM:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},caseRankings={CAMEL:.8,PASCAL:.6,KEBAB:.4,SNAKE:.2,NO_CASE:0};matchSorter.rankings=rankings;matchSorter.caseRankings=caseRankings;function matchSorter(o,$){var _e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!$)return o;var et=_e.keys,tt=_e.threshold,rt=tt===void 0?rankings.MATCHES:tt,at=o.reduce(function(nt,it,ot){var st=getHighestRanking(it,et,$,_e),lt=st.rankedItem,ct=st.rank,ut=st.keyIndex,ft=st.keyThreshold,At=ft===void 0?rt:ft;return ct>=At&&nt.push({rankedItem:lt,item:it,rank:ct,index:ot,keyIndex:ut}),nt},[]);return at.sort(sortRankedItems).map(function(nt){var it=nt.item;return it})}function getHighestRanking(o,$,_e,et){if(!$)return{rankedItem:o,rank:getMatchRanking(o,_e,et),keyIndex:-1,keyThreshold:et.threshold};var tt=getAllValuesToRank(o,$);return tt.reduce(function(rt,at,nt){var it=rt.rank,ot=rt.keyIndex,st=rt.keyThreshold,lt=at.itemValue,ct=at.attributes,ut=getMatchRanking(lt,_e,et),ft=ct.minRanking,At=ct.maxRanking,vt=ct.threshold;return ut=rankings.MATCHES?ut=ft:ut>At&&(ut=At),ut>it&&(it=ut,ot=nt,st=vt),{rankedItem:lt,rank:it,keyIndex:ot,keyThreshold:st}},{rank:rankings.NO_MATCH,keyIndex:-1,keyThreshold:et.threshold})}function getMatchRanking(o,$,_e){if(o=prepareValueForComparison(o,_e),$=prepareValueForComparison($,_e),$.length>o.length)return rankings.NO_MATCH;if(o===$)return rankings.CASE_SENSITIVE_EQUAL;var et=getCaseRanking(o),tt=isPartialOfCase(o,$,et),rt=isCaseAcronym(o,$,et);return o=o.toLowerCase(),$=$.toLowerCase(),o===$?rankings.EQUAL+et:o.indexOf($)===0?rankings.STARTS_WITH+et:o.indexOf(" "+$)!==-1?rankings.WORD_STARTS_WITH+et:tt?rankings.STRING_CASE+et:et>0&&rt?rankings.STRING_CASE_ACRONYM+et:o.indexOf($)!==-1?rankings.CONTAINS+et:$.length===1?rankings.NO_MATCH:getAcronym(o).indexOf($)!==-1?rankings.ACRONYM+et:getClosenessRanking(o,$)}function getAcronym(o){var $="",_e=o.split(" ");return _e.forEach(function(et){var tt=et.split("-");tt.forEach(function(rt){$+=rt.substr(0,1)})}),$}function getCaseRanking(o){var $=o.toLowerCase()!==o,_e=o.indexOf("-")>=0,et=o.indexOf("_")>=0;if(!$&&!et&&_e)return caseRankings.KEBAB;if(!$&&et&&!_e)return caseRankings.SNAKE;if($&&!_e&&!et){var tt=o[0].toUpperCase()===o[0];return tt?caseRankings.PASCAL:caseRankings.CAMEL}return caseRankings.NO_CASE}function isPartialOfCase(o,$,_e){var et=o.toLowerCase().indexOf($.toLowerCase());switch(_e){case caseRankings.SNAKE:return o[et-1]==="_";case caseRankings.KEBAB:return o[et-1]==="-";case caseRankings.PASCAL:case caseRankings.CAMEL:return et!==-1&&o[et]===o[et].toUpperCase();default:return!1}}function isCaseAcronym(o,$,_e){var et=null;switch(_e){case caseRankings.SNAKE:et="_";break;case caseRankings.KEBAB:et="-";break;case caseRankings.PASCAL:case caseRankings.CAMEL:et=/(?=[A-Z])/;break;default:et=null}var tt=o.split(et);return $.toLowerCase().split("").reduce(function(rt,at,nt){var it=tt[nt];return rt&&it&&it[0].toLowerCase()===at},!0)}function getClosenessRanking(o,$){var _e=0,et=0;function tt(lt,ct,ut){for(var ft=ut;ft-1;if(!ot)return rankings.NO_MATCH}var st=et-at;return rt(st)}function sortRankedItems(o,$){var _e=-1,et=1,tt=o.rankedItem,rt=o.rank,at=o.keyIndex,nt=$.rankedItem,it=$.rank,ot=$.keyIndex;return rt===it?at===ot?String(tt).localeCompare(nt):atit?_e:et}function prepareValueForComparison(o,$){var _e=$.keepDiacritics;return o=""+o,_e||(o=removeAccents_1(o)),o}function getItemValues(o,$){(typeof $>"u"?"undefined":_typeof$D($))==="object"&&($=$.key);var _e=void 0;return typeof $=="function"?_e=$(o):$.indexOf(".")!==-1?_e=$.split(".").reduce(function(et,tt){return et?et[tt]:null},o):_e=o[$],_e!=null?[].concat(_e):null}function getAllValuesToRank(o,$){return $.reduce(function(_e,et){var tt=getItemValues(o,et);return tt&&tt.forEach(function(rt){_e.push({itemValue:rt,attributes:getKeyAttributes(et)})}),_e},[])}function getKeyAttributes(o){return typeof o=="string"&&(o={key:o}),_extends$1B({maxRanking:1/0,minRanking:-1/0},o)}var iosSearchExports={},iosSearch={get exports(){return iosSearchExports},set exports(o){iosSearchExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st=$?o.call(null):tt.id=requestAnimationFrame(et)}var tt={id:requestAnimationFrame(et)};return tt}var size=-1;function getScrollbarSize(o){if(o===void 0&&(o=!1),size===-1||o){var $=document.createElement("div"),_e=$.style;_e.width="50px",_e.height="50px",_e.overflow="scroll",document.body.appendChild($),size=$.offsetWidth-$.clientWidth,document.body.removeChild($)}return size}var cachedRTLResult=null;function getRTLOffsetType(o){if(o===void 0&&(o=!1),cachedRTLResult===null||o){var $=document.createElement("div"),_e=$.style;_e.width="50px",_e.height="50px",_e.overflow="scroll",_e.direction="rtl";var et=document.createElement("div"),tt=et.style;return tt.width="100px",tt.height="100px",$.appendChild(et),document.body.appendChild($),$.scrollLeft>0?cachedRTLResult="positive-descending":($.scrollLeft=1,$.scrollLeft===0?cachedRTLResult="negative":cachedRTLResult="positive-ascending"),document.body.removeChild($),cachedRTLResult}return cachedRTLResult}var IS_SCROLLING_DEBOUNCE_INTERVAL$1=150,defaultItemKey$1=function($,_e){return $};function createListComponent(o){var $,_e=o.getItemOffset,et=o.getEstimatedTotalSize,tt=o.getItemSize,rt=o.getOffsetForIndexAndAlignment,at=o.getStartIndexForOffset,nt=o.getStopIndexForStartIndex,it=o.initInstanceProps,ot=o.shouldResetStyleCacheOnItemSizeChange,st=o.validateProps;return $=function(lt){_inheritsLoose$1(ct,lt);function ct(ft){var At;return At=lt.call(this,ft)||this,At._instanceProps=it(At.props,_assertThisInitialized$1h(At)),At._outerRef=void 0,At._resetIsScrollingTimeoutId=null,At.state={instance:_assertThisInitialized$1h(At),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof At.props.initialScrollOffset=="number"?At.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},At._callOnItemsRendered=void 0,At._callOnItemsRendered=memoizeOne(function(vt,ht,bt,pt){return At.props.onItemsRendered({overscanStartIndex:vt,overscanStopIndex:ht,visibleStartIndex:bt,visibleStopIndex:pt})}),At._callOnScroll=void 0,At._callOnScroll=memoizeOne(function(vt,ht,bt){return At.props.onScroll({scrollDirection:vt,scrollOffset:ht,scrollUpdateWasRequested:bt})}),At._getItemStyle=void 0,At._getItemStyle=function(vt){var ht=At.props,bt=ht.direction,pt=ht.itemSize,dt=ht.layout,_t=At._getItemStyleCache(ot&&pt,ot&&dt,ot&&bt),Ct;if(_t.hasOwnProperty(vt))Ct=_t[vt];else{var gt=_e(At.props,vt,At._instanceProps),yt=tt(At.props,vt,At._instanceProps),xt=bt==="horizontal"||dt==="horizontal",Et=bt==="rtl",It=xt?gt:0;_t[vt]=Ct={position:"absolute",left:Et?void 0:It,right:Et?It:void 0,top:xt?0:gt,height:xt?"100%":yt,width:xt?yt:"100%"}}return Ct},At._getItemStyleCache=void 0,At._getItemStyleCache=memoizeOne(function(vt,ht,bt){return{}}),At._onScrollHorizontal=function(vt){var ht=vt.currentTarget,bt=ht.clientWidth,pt=ht.scrollLeft,dt=ht.scrollWidth;At.setState(function(_t){if(_t.scrollOffset===pt)return null;var Ct=At.props.direction,gt=pt;if(Ct==="rtl")switch(getRTLOffsetType()){case"negative":gt=-pt;break;case"positive-descending":gt=dt-bt-pt;break}return gt=Math.max(0,Math.min(gt,dt-bt)),{isScrolling:!0,scrollDirection:_t.scrollOffsetCt.clientWidth?getScrollbarSize():0:_t=Ct.scrollHeight>Ct.clientHeight?getScrollbarSize():0}this.scrollTo(rt(this.props,At,vt,dt,this._instanceProps,_t))},ut.componentDidMount=function(){var At=this.props,vt=At.direction,ht=At.initialScrollOffset,bt=At.layout;if(typeof ht=="number"&&this._outerRef!=null){var pt=this._outerRef;vt==="horizontal"||bt==="horizontal"?pt.scrollLeft=ht:pt.scrollTop=ht}this._callPropsCallbacks()},ut.componentDidUpdate=function(){var At=this.props,vt=At.direction,ht=At.layout,bt=this.state,pt=bt.scrollOffset,dt=bt.scrollUpdateWasRequested;if(dt&&this._outerRef!=null){var _t=this._outerRef;if(vt==="horizontal"||ht==="horizontal")if(vt==="rtl")switch(getRTLOffsetType()){case"negative":_t.scrollLeft=-pt;break;case"positive-ascending":_t.scrollLeft=pt;break;default:var Ct=_t.clientWidth,gt=_t.scrollWidth;_t.scrollLeft=gt-Ct-pt;break}else _t.scrollLeft=pt;else _t.scrollTop=pt}this._callPropsCallbacks()},ut.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&cancelTimeout(this._resetIsScrollingTimeoutId)},ut.render=function(){var At=this.props,vt=At.children,ht=At.className,bt=At.direction,pt=At.height,dt=At.innerRef,_t=At.innerElementType,Ct=At.innerTagName,gt=At.itemCount,yt=At.itemData,xt=At.itemKey,Et=xt===void 0?defaultItemKey$1:xt,It=At.layout,Tt=At.outerElementType,Rt=At.outerTagName,Ot=At.style,Mt=At.useIsScrolling,Bt=At.width,Lt=this.state.isScrolling,Vt=bt==="horizontal"||It==="horizontal",zt=Vt?this._onScrollHorizontal:this._onScrollVertical,Nt=this._getRangeToRender(),Wt=Nt[0],Jt=Nt[1],nr=[];if(gt>0)for(var er=Wt;er<=Jt;er++)nr.push(reactExports.createElement(vt,{data:yt,key:Et(er,yt),index:er,isScrolling:Mt?Lt:void 0,style:this._getItemStyle(er)}));var Xt=et(this.props,this._instanceProps);return reactExports.createElement(Tt||Rt||"div",{className:ht,onScroll:zt,ref:this._outerRefSetter,style:_extends$2i({position:"relative",height:pt,width:Bt,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:bt},Ot)},reactExports.createElement(_t||Ct||"div",{children:nr,ref:dt,style:{height:Vt?"100%":Xt,pointerEvents:Lt?"none":void 0,width:Vt?Xt:"100%"}}))},ut._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var At=this.props.itemCount;if(At>0){var vt=this._getRangeToRender(),ht=vt[0],bt=vt[1],pt=vt[2],dt=vt[3];this._callOnItemsRendered(ht,bt,pt,dt)}}if(typeof this.props.onScroll=="function"){var _t=this.state,Ct=_t.scrollDirection,gt=_t.scrollOffset,yt=_t.scrollUpdateWasRequested;this._callOnScroll(Ct,gt,yt)}},ut._getRangeToRender=function(){var At=this.props,vt=At.itemCount,ht=At.overscanCount,bt=this.state,pt=bt.isScrolling,dt=bt.scrollDirection,_t=bt.scrollOffset;if(vt===0)return[0,0,0,0];var Ct=at(this.props,_t,this._instanceProps),gt=nt(this.props,Ct,_t,this._instanceProps),yt=!pt||dt==="backward"?Math.max(1,ht):1,xt=!pt||dt==="forward"?Math.max(1,ht):1;return[Math.max(0,Ct-yt),Math.max(0,Math.min(vt-1,gt+xt)),Ct,gt]},ct}(reactExports.PureComponent),$.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},$}var validateSharedProps$1=function($,_e){$.children,$.direction,$.height,$.layout,$.innerTagName,$.outerTagName,$.width,_e.instance},FixedSizeList=createListComponent({getItemOffset:function($,_e){var et=$.itemSize;return _e*et},getItemSize:function($,_e){var et=$.itemSize;return et},getEstimatedTotalSize:function($){var _e=$.itemCount,et=$.itemSize;return et*_e},getOffsetForIndexAndAlignment:function($,_e,et,tt,rt,at){var nt=$.direction,it=$.height,ot=$.itemCount,st=$.itemSize,lt=$.layout,ct=$.width,ut=nt==="horizontal"||lt==="horizontal",ft=ut?ct:it,At=Math.max(0,ot*st-ft),vt=Math.min(At,_e*st),ht=Math.max(0,_e*st-ft+st+at);switch(et==="smart"&&(tt>=ht-ft&&tt<=vt+ft?et="auto":et="center"),et){case"start":return vt;case"end":return ht;case"center":{var bt=Math.round(ht+(vt-ht)/2);return btAt+Math.floor(ft/2)?At:bt}case"auto":default:return tt>=ht&&tt<=vt?tt:tt-1){var nt=_e[at];return at>0&&(_e.splice(at,1),_e.unshift(nt)),nt.value}}function tt(rt,at){et(rt)||(_e.unshift({key:rt,value:at}),_e.length>o&&_e.pop())}return{get:et,put:tt}}function singletonCache(o){var $;return{get:function(et){if($&&o(et,$.key))return $.value},put:function(et,tt){$={key:et,value:tt}}}}function createCache(o,$){return o===1?singletonCache($):lruCache(o,$)}function createEqualsFn(o,$){var _e=$?deepEquals(o,$):o;return function(et,tt){if(et.length!==tt.length)return!1;for(var rt=0;rt"u"&&tt.shift(),typeof tt[0]=="boolean"&&(_e=tt[0]);var at=createCache(o,createEqualsFn($,_e));return function(nt){return function(){for(var it=arguments.length,ot=new Array(it),st=0;sttt===0||!et?null:o(tt)?jsxRuntimeExports.jsx("mark",{children:et},`${et+tt}`):et).filter(Boolean);return jsxRuntimeExports.jsx("span",{children:_e})}const highlightEvenGroups=toHighlights.bind(null,o=>o%2===0),highlightFirstGroup=toHighlights.bind(null,o=>o===1),ANY_LAZY="(.*?)",ANY_GREEDY="(.*)";function wordBreak(o){return`(\\b${o}|${o.toUpperCase()})`}function letterClass(o){return`[${o}${o.toUpperCase()}]`}class MatchHighlighter{constructor($){if(this.query=$,!$){this.matchers=[];return}const _e=$.toLowerCase(),et=`${_e[0].toUpperCase()}${_e.slice(1)}`,tt=_e.split(""),rt=`^(${_e})`,at=`(\\b${tt.map(letterClass).join("")}|${et})`,nt=tt.map(st=>wordBreak(st)).join(ANY_LAZY),it=`(${_e})`,ot=tt.map(st=>`(${st})`).join(ANY_LAZY);this.matchers=[[new RegExp(`${rt}${ANY_GREEDY}`,"i"),highlightFirstGroup],[new RegExp(`${ANY_LAZY}${at}${ANY_GREEDY}`),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${nt}${ANY_GREEDY}`),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${it}${ANY_GREEDY}`,"i"),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${ot}${ANY_GREEDY}`,"i"),highlightEvenGroups]]}static make($){return new MatchHighlighter($)}highlightMatches($){if(!$)return $;for(let _e=0;_e{const{data:$,index:_e}=this.props,{options:et,selectedValue:tt}=$;return typeof tt=="string"||!tt?et[_e]===tt:tt.has(et[_e])},this.onClicked=()=>{const{data:$,index:_e}=this.props,{addValues:et,multi:tt,options:rt,removeValues:at,setValue:nt}=$,it=rt[_e];tt&&et&&at?this.isSelected()?at([it]):et([it]):nt(it)}}render(){const{data:$,index:_e,style:et}=this.props,{width:tt,...rt}=et,{focusedIndex:at,highlightQuery:nt,multi:it,options:ot}=$,st=this.isSelected(),lt=classnamesExports("FilteredList--ListItem",{"is-focused":_e===at,"is-selected":st,"is-striped":_e%2});return jsxRuntimeExports.jsxs("div",{className:lt,style:rt,onClick:this.onClicked,role:"switch","aria-checked":_e===at?"true":"false",children:[it&&jsxRuntimeExports.jsx(Checkbox$1,{className:"FilteredList--ListItem--Checkbox",checked:st}),highlightMatches(nt,ot[_e])]})}}const index$E="",ITEM_HEIGHT=35,MAX_HEIGHT=375;class FilteredList extends reactExports.PureComponent{constructor(){super(...arguments),this.inputRef=reactExports.createRef(),this.vlistRef=reactExports.createRef(),this.wrapperRef=reactExports.createRef(),this.state={filterText:"",focusedIndex:null,visibleStartIndex:0,visibleStopIndex:0},this.focusInput=()=>{const{current:$}=this.inputRef;$&&$.focus()},this.getFilteredOptions=()=>{const{options:$}=this.props,{filterText:_e}=this.state;return _e?matchSorter($,_e):$},this.setValue=$=>{this.props.setValue($),this.setState({filterText:"",focusedIndex:null})},this.onKeyDown=$=>{const{focusedIndex:_e}=this.state;switch($.key){case Key_enum.Key.Escape:{const{cancel:et}=this.props;this.setState({filterText:"",focusedIndex:null}),et&&et();break}case Key_enum.Key.ArrowUp:case Key_enum.Key.ArrowDown:{const{visibleStartIndex:et,visibleStopIndex:tt}=this.state;let rt;if(_e==null)rt=$.key===Key_enum.Key.ArrowDown?et:tt,this.setState({focusedIndex:rt});else{const nt=$.key===Key_enum.Key.ArrowDown?1:-1,it=this.getFilteredOptions(),ot=_e+nt;rt=ot>-1?ot%it.length:it.length+ot,this.setState({focusedIndex:rt})}const at=this.vlistRef.current;at&&(rttt-1)&&at.scrollToItem(rt);break}case Key_enum.Key.Enter:{const et=this.getFilteredOptions();_e!==null?this.setValue(et[_e]):et.length===1&&this.setValue(et[0]);break}}},this.onListScrolled=debounce_1($=>{$.scrollUpdateWasRequested||this.setState({focusedIndex:null})},80),this.onListItemsRendered=debounce_1($=>{const{visibleStartIndex:_e,visibleStopIndex:et}=$;this.setState({visibleStartIndex:_e,visibleStopIndex:et})},80),this.onFilterChanged=$=>{this.setState({filterText:$.target.value,focusedIndex:null})}}componentDidUpdate(){this.focusInput()}isMouseWithin(){const{current:$}=this.wrapperRef;return $!=null&&$.matches(":hover")}getFilteredCheckbox($){const{addValues:_e,removeValues:et,options:tt,value:rt}=this.props;if(!_e||!et)return null;const at=typeof rt=="string"||!rt?new Set([rt]):rt;let nt=0,it=!1;for(let lt=0;lt<$.length;lt++)if(at.has($[lt])&&nt++,nt&&nt<=lt){it=!0;break}const ot=!!nt&&nt===$.length,st=`Click to ${ot?"unselect":"select"} all ${$.length{lt?_e($.filter(ct=>!at.has(ct))):et($)},indeterminate:it})})}render(){const{addValues:$,multi:_e,options:et,removeValues:tt,value:rt}=this.props,{filterText:at,focusedIndex:nt}=this.state,it=this.getFilteredOptions(),ot=_e&&this.getFilteredCheckbox(it),st={addValues:$,focusedIndex:nt,highlightQuery:at,multi:_e,options:it,removeValues:tt,selectedValue:rt,setValue:this.setValue};return jsxRuntimeExports.jsxs("div",{ref:this.wrapperRef,children:[jsxRuntimeExports.jsxs("div",{className:"FilteredList--filterWrapper",children:[ot,jsxRuntimeExports.jsxs("label",{className:"FilteredList--inputWrapper",children:[jsxRuntimeExports.jsx(IoIosSearch,{className:"FilteredList--filterIcon"}),jsxRuntimeExports.jsx("input",{className:"FilteredList--filterInput",placeholder:"Filter...",onChange:this.onFilterChanged,onKeyDown:this.onKeyDown,ref:this.inputRef,type:"text",value:at})]})]}),jsxRuntimeExports.jsx(FixedSizeList,{className:"FilteredList--list u-simple-scrollbars",height:Math.min(et.length*ITEM_HEIGHT,MAX_HEIGHT),itemCount:it.length,itemData:st,itemSize:ITEM_HEIGHT,width:650,overscanCount:25,onItemsRendered:this.onListItemsRendered,onScroll:this.onListScrolled,ref:this.vlistRef,children:ListItem},at)]})}}var androidOpenExports={},androidOpen={get exports(){return androidOpenExports},set exports(o){androidOpenExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{const tt=`${o}/${et}`;_e[et]=tt}),_e}const PARAMETER_REG_EXP=/#\{([^{}]*)\}/g;function encodedStringSupplant(o,$,_e){return o.replace(PARAMETER_REG_EXP,(et,tt)=>{const rt=_e[tt],at=rt!=null&&$?$(rt):rt;return at==null?"":`${at}`})}function stringSupplant(o,$){return encodedStringSupplant(o,null,$)}function getParamNames(o){const $=new Set;return o.replace(PARAMETER_REG_EXP,(_e,et)=>($.add(et),_e)),Array.from($)}const fetchDecoration=memoize(10)(o=>JaegerAPI.fetchDecoration(o)),actionTypes$4=generateActionTypes("@jaeger-ui/PATH_AGNOSTIC_DECORATIONS",["GET_DECORATION"]),getDecorationSchema=memoize_1(o=>{const $=getConfigValue("pathAgnosticDecorations");if($)return $.find(_e=>_e.id===o)});let doneCount,pendingCount,pendingData,pendingPromise,resolve;const _processed=new Map;function getDecoration(o,$,_e){const et=_processed.get(o);if(!et)_processed.set(o,new Map([[$,new Set([_e])]]));else{const ut=et.get($);if(!ut)et.set($,new Set([_e]));else if(!ut.has(_e))ut.add(_e);else return}const tt=getDecorationSchema(o);if(!tt)return;const rt=!resolve||!pendingPromise;rt&&(pendingPromise=new Promise(ut=>{resolve=ut})),pendingCount=pendingCount?pendingCount+1:1;const{summaryUrl:at,opSummaryUrl:nt,summaryPath:it,opSummaryPath:ot}=tt;let st,lt,ct;if(ot&&nt&&_e?(st=fetchDecoration(stringSupplant(nt,{service:$,operation:_e})),lt=stringSupplant(ot,{service:$,operation:_e}),ct=`${o}.withOp.${$}.${_e}`):(st=fetchDecoration(stringSupplant(at,{service:$})),lt=stringSupplant(it,{service:$}),ct=`${o}.withoutOp.${$}`),st.then(ut=>get_1$1(ut,lt,`\`${lt}\` not found in response`)).catch(ut=>`Unable to fetch decoration: ${ut.message||ut}`).then(ut=>{if(pendingData||(pendingData={}),set_1(pendingData,ct,ut),doneCount=doneCount?doneCount+1:1,doneCount===pendingCount){if(resolve)resolve(pendingData);else throw new Error("`resolve` unexpectedly undefined");doneCount=pendingCount=pendingData=pendingPromise=resolve=void 0}}),rt)return pendingPromise}const fullActions$4=createActions({[actionTypes$4.GET_DECORATION]:getDecoration}),padActions=fullActions$4.jaegerUi.pathAgnosticDecorations;/*! ***************************************************************************** + */var rankings={CASE_SENSITIVE_EQUAL:9,EQUAL:8,STARTS_WITH:7,WORD_STARTS_WITH:6,STRING_CASE:5,STRING_CASE_ACRONYM:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},caseRankings={CAMEL:.8,PASCAL:.6,KEBAB:.4,SNAKE:.2,NO_CASE:0};matchSorter.rankings=rankings;matchSorter.caseRankings=caseRankings;function matchSorter(o,$){var _e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!$)return o;var et=_e.keys,tt=_e.threshold,rt=tt===void 0?rankings.MATCHES:tt,at=o.reduce(function(nt,it,ot){var st=getHighestRanking(it,et,$,_e),lt=st.rankedItem,ct=st.rank,ut=st.keyIndex,ft=st.keyThreshold,At=ft===void 0?rt:ft;return ct>=At&&nt.push({rankedItem:lt,item:it,rank:ct,index:ot,keyIndex:ut}),nt},[]);return at.sort(sortRankedItems).map(function(nt){var it=nt.item;return it})}function getHighestRanking(o,$,_e,et){if(!$)return{rankedItem:o,rank:getMatchRanking(o,_e,et),keyIndex:-1,keyThreshold:et.threshold};var tt=getAllValuesToRank(o,$);return tt.reduce(function(rt,at,nt){var it=rt.rank,ot=rt.keyIndex,st=rt.keyThreshold,lt=at.itemValue,ct=at.attributes,ut=getMatchRanking(lt,_e,et),ft=ct.minRanking,At=ct.maxRanking,vt=ct.threshold;return ut=rankings.MATCHES?ut=ft:ut>At&&(ut=At),ut>it&&(it=ut,ot=nt,st=vt),{rankedItem:lt,rank:it,keyIndex:ot,keyThreshold:st}},{rank:rankings.NO_MATCH,keyIndex:-1,keyThreshold:et.threshold})}function getMatchRanking(o,$,_e){if(o=prepareValueForComparison(o,_e),$=prepareValueForComparison($,_e),$.length>o.length)return rankings.NO_MATCH;if(o===$)return rankings.CASE_SENSITIVE_EQUAL;var et=getCaseRanking(o),tt=isPartialOfCase(o,$,et),rt=isCaseAcronym(o,$,et);return o=o.toLowerCase(),$=$.toLowerCase(),o===$?rankings.EQUAL+et:o.indexOf($)===0?rankings.STARTS_WITH+et:o.indexOf(" "+$)!==-1?rankings.WORD_STARTS_WITH+et:tt?rankings.STRING_CASE+et:et>0&&rt?rankings.STRING_CASE_ACRONYM+et:o.indexOf($)!==-1?rankings.CONTAINS+et:$.length===1?rankings.NO_MATCH:getAcronym(o).indexOf($)!==-1?rankings.ACRONYM+et:getClosenessRanking(o,$)}function getAcronym(o){var $="",_e=o.split(" ");return _e.forEach(function(et){var tt=et.split("-");tt.forEach(function(rt){$+=rt.substr(0,1)})}),$}function getCaseRanking(o){var $=o.toLowerCase()!==o,_e=o.indexOf("-")>=0,et=o.indexOf("_")>=0;if(!$&&!et&&_e)return caseRankings.KEBAB;if(!$&&et&&!_e)return caseRankings.SNAKE;if($&&!_e&&!et){var tt=o[0].toUpperCase()===o[0];return tt?caseRankings.PASCAL:caseRankings.CAMEL}return caseRankings.NO_CASE}function isPartialOfCase(o,$,_e){var et=o.toLowerCase().indexOf($.toLowerCase());switch(_e){case caseRankings.SNAKE:return o[et-1]==="_";case caseRankings.KEBAB:return o[et-1]==="-";case caseRankings.PASCAL:case caseRankings.CAMEL:return et!==-1&&o[et]===o[et].toUpperCase();default:return!1}}function isCaseAcronym(o,$,_e){var et=null;switch(_e){case caseRankings.SNAKE:et="_";break;case caseRankings.KEBAB:et="-";break;case caseRankings.PASCAL:case caseRankings.CAMEL:et=/(?=[A-Z])/;break;default:et=null}var tt=o.split(et);return $.toLowerCase().split("").reduce(function(rt,at,nt){var it=tt[nt];return rt&&it&&it[0].toLowerCase()===at},!0)}function getClosenessRanking(o,$){var _e=0,et=0;function tt(lt,ct,ut){for(var ft=ut;ft-1;if(!ot)return rankings.NO_MATCH}var st=et-at;return rt(st)}function sortRankedItems(o,$){var _e=-1,et=1,tt=o.rankedItem,rt=o.rank,at=o.keyIndex,nt=$.rankedItem,it=$.rank,ot=$.keyIndex;return rt===it?at===ot?String(tt).localeCompare(nt):atit?_e:et}function prepareValueForComparison(o,$){var _e=$.keepDiacritics;return o=""+o,_e||(o=removeAccents_1(o)),o}function getItemValues(o,$){(typeof $>"u"?"undefined":_typeof$D($))==="object"&&($=$.key);var _e=void 0;return typeof $=="function"?_e=$(o):$.indexOf(".")!==-1?_e=$.split(".").reduce(function(et,tt){return et?et[tt]:null},o):_e=o[$],_e!=null?[].concat(_e):null}function getAllValuesToRank(o,$){return $.reduce(function(_e,et){var tt=getItemValues(o,et);return tt&&tt.forEach(function(rt){_e.push({itemValue:rt,attributes:getKeyAttributes(et)})}),_e},[])}function getKeyAttributes(o){return typeof o=="string"&&(o={key:o}),_extends$1B({maxRanking:1/0,minRanking:-1/0},o)}var iosSearchExports={},iosSearch={get exports(){return iosSearchExports},set exports(o){iosSearchExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st=$?o.call(null):tt.id=requestAnimationFrame(et)}var tt={id:requestAnimationFrame(et)};return tt}var size=-1;function getScrollbarSize(o){if(o===void 0&&(o=!1),size===-1||o){var $=document.createElement("div"),_e=$.style;_e.width="50px",_e.height="50px",_e.overflow="scroll",document.body.appendChild($),size=$.offsetWidth-$.clientWidth,document.body.removeChild($)}return size}var cachedRTLResult=null;function getRTLOffsetType(o){if(o===void 0&&(o=!1),cachedRTLResult===null||o){var $=document.createElement("div"),_e=$.style;_e.width="50px",_e.height="50px",_e.overflow="scroll",_e.direction="rtl";var et=document.createElement("div"),tt=et.style;return tt.width="100px",tt.height="100px",$.appendChild(et),document.body.appendChild($),$.scrollLeft>0?cachedRTLResult="positive-descending":($.scrollLeft=1,$.scrollLeft===0?cachedRTLResult="negative":cachedRTLResult="positive-ascending"),document.body.removeChild($),cachedRTLResult}return cachedRTLResult}var IS_SCROLLING_DEBOUNCE_INTERVAL$1=150,defaultItemKey$1=function($,_e){return $};function createListComponent(o){var $,_e=o.getItemOffset,et=o.getEstimatedTotalSize,tt=o.getItemSize,rt=o.getOffsetForIndexAndAlignment,at=o.getStartIndexForOffset,nt=o.getStopIndexForStartIndex,it=o.initInstanceProps,ot=o.shouldResetStyleCacheOnItemSizeChange,st=o.validateProps;return $=function(lt){_inheritsLoose$1(ct,lt);function ct(ft){var At;return At=lt.call(this,ft)||this,At._instanceProps=it(At.props,_assertThisInitialized$1h(At)),At._outerRef=void 0,At._resetIsScrollingTimeoutId=null,At.state={instance:_assertThisInitialized$1h(At),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof At.props.initialScrollOffset=="number"?At.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},At._callOnItemsRendered=void 0,At._callOnItemsRendered=memoizeOne(function(vt,ht,mt,bt){return At.props.onItemsRendered({overscanStartIndex:vt,overscanStopIndex:ht,visibleStartIndex:mt,visibleStopIndex:bt})}),At._callOnScroll=void 0,At._callOnScroll=memoizeOne(function(vt,ht,mt){return At.props.onScroll({scrollDirection:vt,scrollOffset:ht,scrollUpdateWasRequested:mt})}),At._getItemStyle=void 0,At._getItemStyle=function(vt){var ht=At.props,mt=ht.direction,bt=ht.itemSize,dt=ht.layout,xt=At._getItemStyleCache(ot&&bt,ot&&dt,ot&&mt),Ct;if(xt.hasOwnProperty(vt))Ct=xt[vt];else{var gt=_e(At.props,vt,At._instanceProps),wt=tt(At.props,vt,At._instanceProps),_t=mt==="horizontal"||dt==="horizontal",Et=mt==="rtl",It=_t?gt:0;xt[vt]=Ct={position:"absolute",left:Et?void 0:It,right:Et?It:void 0,top:_t?0:gt,height:_t?"100%":wt,width:_t?wt:"100%"}}return Ct},At._getItemStyleCache=void 0,At._getItemStyleCache=memoizeOne(function(vt,ht,mt){return{}}),At._onScrollHorizontal=function(vt){var ht=vt.currentTarget,mt=ht.clientWidth,bt=ht.scrollLeft,dt=ht.scrollWidth;At.setState(function(xt){if(xt.scrollOffset===bt)return null;var Ct=At.props.direction,gt=bt;if(Ct==="rtl")switch(getRTLOffsetType()){case"negative":gt=-bt;break;case"positive-descending":gt=dt-mt-bt;break}return gt=Math.max(0,Math.min(gt,dt-mt)),{isScrolling:!0,scrollDirection:xt.scrollOffsetCt.clientWidth?getScrollbarSize():0:xt=Ct.scrollHeight>Ct.clientHeight?getScrollbarSize():0}this.scrollTo(rt(this.props,At,vt,dt,this._instanceProps,xt))},ut.componentDidMount=function(){var At=this.props,vt=At.direction,ht=At.initialScrollOffset,mt=At.layout;if(typeof ht=="number"&&this._outerRef!=null){var bt=this._outerRef;vt==="horizontal"||mt==="horizontal"?bt.scrollLeft=ht:bt.scrollTop=ht}this._callPropsCallbacks()},ut.componentDidUpdate=function(){var At=this.props,vt=At.direction,ht=At.layout,mt=this.state,bt=mt.scrollOffset,dt=mt.scrollUpdateWasRequested;if(dt&&this._outerRef!=null){var xt=this._outerRef;if(vt==="horizontal"||ht==="horizontal")if(vt==="rtl")switch(getRTLOffsetType()){case"negative":xt.scrollLeft=-bt;break;case"positive-ascending":xt.scrollLeft=bt;break;default:var Ct=xt.clientWidth,gt=xt.scrollWidth;xt.scrollLeft=gt-Ct-bt;break}else xt.scrollLeft=bt;else xt.scrollTop=bt}this._callPropsCallbacks()},ut.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&cancelTimeout(this._resetIsScrollingTimeoutId)},ut.render=function(){var At=this.props,vt=At.children,ht=At.className,mt=At.direction,bt=At.height,dt=At.innerRef,xt=At.innerElementType,Ct=At.innerTagName,gt=At.itemCount,wt=At.itemData,_t=At.itemKey,Et=_t===void 0?defaultItemKey$1:_t,It=At.layout,Tt=At.outerElementType,Rt=At.outerTagName,Ot=At.style,Mt=At.useIsScrolling,Bt=At.width,Lt=this.state.isScrolling,jt=mt==="horizontal"||It==="horizontal",zt=jt?this._onScrollHorizontal:this._onScrollVertical,Nt=this._getRangeToRender(),Wt=Nt[0],qt=Nt[1],nr=[];if(gt>0)for(var ar=Wt;ar<=qt;ar++)nr.push(reactExports.createElement(vt,{data:wt,key:Et(ar,wt),index:ar,isScrolling:Mt?Lt:void 0,style:this._getItemStyle(ar)}));var Kt=et(this.props,this._instanceProps);return reactExports.createElement(Tt||Rt||"div",{className:ht,onScroll:zt,ref:this._outerRefSetter,style:_extends$2i({position:"relative",height:bt,width:Bt,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:mt},Ot)},reactExports.createElement(xt||Ct||"div",{children:nr,ref:dt,style:{height:jt?"100%":Kt,pointerEvents:Lt?"none":void 0,width:jt?Kt:"100%"}}))},ut._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var At=this.props.itemCount;if(At>0){var vt=this._getRangeToRender(),ht=vt[0],mt=vt[1],bt=vt[2],dt=vt[3];this._callOnItemsRendered(ht,mt,bt,dt)}}if(typeof this.props.onScroll=="function"){var xt=this.state,Ct=xt.scrollDirection,gt=xt.scrollOffset,wt=xt.scrollUpdateWasRequested;this._callOnScroll(Ct,gt,wt)}},ut._getRangeToRender=function(){var At=this.props,vt=At.itemCount,ht=At.overscanCount,mt=this.state,bt=mt.isScrolling,dt=mt.scrollDirection,xt=mt.scrollOffset;if(vt===0)return[0,0,0,0];var Ct=at(this.props,xt,this._instanceProps),gt=nt(this.props,Ct,xt,this._instanceProps),wt=!bt||dt==="backward"?Math.max(1,ht):1,_t=!bt||dt==="forward"?Math.max(1,ht):1;return[Math.max(0,Ct-wt),Math.max(0,Math.min(vt-1,gt+_t)),Ct,gt]},ct}(reactExports.PureComponent),$.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},$}var validateSharedProps$1=function($,_e){$.children,$.direction,$.height,$.layout,$.innerTagName,$.outerTagName,$.width,_e.instance},FixedSizeList=createListComponent({getItemOffset:function($,_e){var et=$.itemSize;return _e*et},getItemSize:function($,_e){var et=$.itemSize;return et},getEstimatedTotalSize:function($){var _e=$.itemCount,et=$.itemSize;return et*_e},getOffsetForIndexAndAlignment:function($,_e,et,tt,rt,at){var nt=$.direction,it=$.height,ot=$.itemCount,st=$.itemSize,lt=$.layout,ct=$.width,ut=nt==="horizontal"||lt==="horizontal",ft=ut?ct:it,At=Math.max(0,ot*st-ft),vt=Math.min(At,_e*st),ht=Math.max(0,_e*st-ft+st+at);switch(et==="smart"&&(tt>=ht-ft&&tt<=vt+ft?et="auto":et="center"),et){case"start":return vt;case"end":return ht;case"center":{var mt=Math.round(ht+(vt-ht)/2);return mtAt+Math.floor(ft/2)?At:mt}case"auto":default:return tt>=ht&&tt<=vt?tt:tt-1){var nt=_e[at];return at>0&&(_e.splice(at,1),_e.unshift(nt)),nt.value}}function tt(rt,at){et(rt)||(_e.unshift({key:rt,value:at}),_e.length>o&&_e.pop())}return{get:et,put:tt}}function singletonCache(o){var $;return{get:function(et){if($&&o(et,$.key))return $.value},put:function(et,tt){$={key:et,value:tt}}}}function createCache(o,$){return o===1?singletonCache($):lruCache(o,$)}function createEqualsFn(o,$){var _e=$?deepEquals(o,$):o;return function(et,tt){if(et.length!==tt.length)return!1;for(var rt=0;rt"u"&&tt.shift(),typeof tt[0]=="boolean"&&(_e=tt[0]);var at=createCache(o,createEqualsFn($,_e));return function(nt){return function(){for(var it=arguments.length,ot=new Array(it),st=0;sttt===0||!et?null:o(tt)?jsxRuntimeExports.jsx("mark",{children:et},`${et+tt}`):et).filter(Boolean);return jsxRuntimeExports.jsx("span",{children:_e})}const highlightEvenGroups=toHighlights.bind(null,o=>o%2===0),highlightFirstGroup=toHighlights.bind(null,o=>o===1),ANY_LAZY="(.*?)",ANY_GREEDY="(.*)";function wordBreak(o){return`(\\b${o}|${o.toUpperCase()})`}function letterClass(o){return`[${o}${o.toUpperCase()}]`}class MatchHighlighter{constructor($){if(this.query=$,!$){this.matchers=[];return}const _e=$.toLowerCase(),et=`${_e[0].toUpperCase()}${_e.slice(1)}`,tt=_e.split(""),rt=`^(${_e})`,at=`(\\b${tt.map(letterClass).join("")}|${et})`,nt=tt.map(st=>wordBreak(st)).join(ANY_LAZY),it=`(${_e})`,ot=tt.map(st=>`(${st})`).join(ANY_LAZY);this.matchers=[[new RegExp(`${rt}${ANY_GREEDY}`,"i"),highlightFirstGroup],[new RegExp(`${ANY_LAZY}${at}${ANY_GREEDY}`),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${nt}${ANY_GREEDY}`),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${it}${ANY_GREEDY}`,"i"),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${ot}${ANY_GREEDY}`,"i"),highlightEvenGroups]]}static make($){return new MatchHighlighter($)}highlightMatches($){if(!$)return $;for(let _e=0;_e{const{data:$,index:_e}=this.props,{options:et,selectedValue:tt}=$;return typeof tt=="string"||!tt?et[_e]===tt:tt.has(et[_e])},this.onClicked=()=>{const{data:$,index:_e}=this.props,{addValues:et,multi:tt,options:rt,removeValues:at,setValue:nt}=$,it=rt[_e];tt&&et&&at?this.isSelected()?at([it]):et([it]):nt(it)}}render(){const{data:$,index:_e,style:et}=this.props,{width:tt,...rt}=et,{focusedIndex:at,highlightQuery:nt,multi:it,options:ot}=$,st=this.isSelected(),lt=classnamesExports("FilteredList--ListItem",{"is-focused":_e===at,"is-selected":st,"is-striped":_e%2});return jsxRuntimeExports.jsxs("div",{className:lt,style:rt,onClick:this.onClicked,role:"switch","aria-checked":_e===at?"true":"false",children:[it&&jsxRuntimeExports.jsx(Checkbox$1,{className:"FilteredList--ListItem--Checkbox",checked:st}),highlightMatches(nt,ot[_e])]})}}const index$E="",ITEM_HEIGHT=35,MAX_HEIGHT=375;class FilteredList extends reactExports.PureComponent{constructor(){super(...arguments),this.inputRef=reactExports.createRef(),this.vlistRef=reactExports.createRef(),this.wrapperRef=reactExports.createRef(),this.state={filterText:"",focusedIndex:null,visibleStartIndex:0,visibleStopIndex:0},this.focusInput=()=>{const{current:$}=this.inputRef;$&&$.focus()},this.getFilteredOptions=()=>{const{options:$}=this.props,{filterText:_e}=this.state;return _e?matchSorter($,_e):$},this.setValue=$=>{this.props.setValue($),this.setState({filterText:"",focusedIndex:null})},this.onKeyDown=$=>{const{focusedIndex:_e}=this.state;switch($.key){case Key_enum.Key.Escape:{const{cancel:et}=this.props;this.setState({filterText:"",focusedIndex:null}),et&&et();break}case Key_enum.Key.ArrowUp:case Key_enum.Key.ArrowDown:{const{visibleStartIndex:et,visibleStopIndex:tt}=this.state;let rt;if(_e==null)rt=$.key===Key_enum.Key.ArrowDown?et:tt,this.setState({focusedIndex:rt});else{const nt=$.key===Key_enum.Key.ArrowDown?1:-1,it=this.getFilteredOptions(),ot=_e+nt;rt=ot>-1?ot%it.length:it.length+ot,this.setState({focusedIndex:rt})}const at=this.vlistRef.current;at&&(rttt-1)&&at.scrollToItem(rt);break}case Key_enum.Key.Enter:{const et=this.getFilteredOptions();_e!==null?this.setValue(et[_e]):et.length===1&&this.setValue(et[0]);break}}},this.onListScrolled=debounce_1($=>{$.scrollUpdateWasRequested||this.setState({focusedIndex:null})},80),this.onListItemsRendered=debounce_1($=>{const{visibleStartIndex:_e,visibleStopIndex:et}=$;this.setState({visibleStartIndex:_e,visibleStopIndex:et})},80),this.onFilterChanged=$=>{this.setState({filterText:$.target.value,focusedIndex:null})}}componentDidUpdate(){this.focusInput()}isMouseWithin(){const{current:$}=this.wrapperRef;return $!=null&&$.matches(":hover")}getFilteredCheckbox($){const{addValues:_e,removeValues:et,options:tt,value:rt}=this.props;if(!_e||!et)return null;const at=typeof rt=="string"||!rt?new Set([rt]):rt;let nt=0,it=!1;for(let lt=0;lt<$.length;lt++)if(at.has($[lt])&&nt++,nt&&nt<=lt){it=!0;break}const ot=!!nt&&nt===$.length,st=`Click to ${ot?"unselect":"select"} all ${$.length{lt?_e($.filter(ct=>!at.has(ct))):et($)},indeterminate:it})})}render(){const{addValues:$,multi:_e,options:et,removeValues:tt,value:rt}=this.props,{filterText:at,focusedIndex:nt}=this.state,it=this.getFilteredOptions(),ot=_e&&this.getFilteredCheckbox(it),st={addValues:$,focusedIndex:nt,highlightQuery:at,multi:_e,options:it,removeValues:tt,selectedValue:rt,setValue:this.setValue};return jsxRuntimeExports.jsxs("div",{ref:this.wrapperRef,children:[jsxRuntimeExports.jsxs("div",{className:"FilteredList--filterWrapper",children:[ot,jsxRuntimeExports.jsxs("label",{className:"FilteredList--inputWrapper",children:[jsxRuntimeExports.jsx(IoIosSearch,{className:"FilteredList--filterIcon"}),jsxRuntimeExports.jsx("input",{className:"FilteredList--filterInput",placeholder:"Filter...",onChange:this.onFilterChanged,onKeyDown:this.onKeyDown,ref:this.inputRef,type:"text",value:at})]})]}),jsxRuntimeExports.jsx(FixedSizeList,{className:"FilteredList--list u-simple-scrollbars",height:Math.min(et.length*ITEM_HEIGHT,MAX_HEIGHT),itemCount:it.length,itemData:st,itemSize:ITEM_HEIGHT,width:650,overscanCount:25,onItemsRendered:this.onListItemsRendered,onScroll:this.onListScrolled,ref:this.vlistRef,children:ListItem},at)]})}}var androidOpenExports={},androidOpen={get exports(){return androidOpenExports},set exports(o){androidOpenExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{const tt=`${o}/${et}`;_e[et]=tt}),_e}const PARAMETER_REG_EXP=/#\{([^{}]*)\}/g;function encodedStringSupplant(o,$,_e){return o.replace(PARAMETER_REG_EXP,(et,tt)=>{const rt=_e[tt],at=rt!=null&&$?$(rt):rt;return at==null?"":`${at}`})}function stringSupplant(o,$){return encodedStringSupplant(o,null,$)}function getParamNames(o){const $=new Set;return o.replace(PARAMETER_REG_EXP,(_e,et)=>($.add(et),_e)),Array.from($)}const fetchDecoration=memoize(10)(o=>JaegerAPI.fetchDecoration(o)),actionTypes$4=generateActionTypes("@jaeger-ui/PATH_AGNOSTIC_DECORATIONS",["GET_DECORATION"]),getDecorationSchema=memoize_1(o=>{const $=getConfigValue("pathAgnosticDecorations");if($)return $.find(_e=>_e.id===o)});let doneCount,pendingCount,pendingData,pendingPromise,resolve;const _processed=new Map;function getDecoration(o,$,_e){const et=_processed.get(o);if(!et)_processed.set(o,new Map([[$,new Set([_e])]]));else{const ut=et.get($);if(!ut)et.set($,new Set([_e]));else if(!ut.has(_e))ut.add(_e);else return}const tt=getDecorationSchema(o);if(!tt)return;const rt=!resolve||!pendingPromise;rt&&(pendingPromise=new Promise(ut=>{resolve=ut})),pendingCount=pendingCount?pendingCount+1:1;const{summaryUrl:at,opSummaryUrl:nt,summaryPath:it,opSummaryPath:ot}=tt;let st,lt,ct;if(ot&&nt&&_e?(st=fetchDecoration(stringSupplant(nt,{service:$,operation:_e})),lt=stringSupplant(ot,{service:$,operation:_e}),ct=`${o}.withOp.${$}.${_e}`):(st=fetchDecoration(stringSupplant(at,{service:$})),lt=stringSupplant(it,{service:$}),ct=`${o}.withoutOp.${$}`),st.then(ut=>get_1$1(ut,lt,`\`${lt}\` not found in response`)).catch(ut=>`Unable to fetch decoration: ${ut.message||ut}`).then(ut=>{if(pendingData||(pendingData={}),set_1(pendingData,ct,ut),doneCount=doneCount?doneCount+1:1,doneCount===pendingCount){if(resolve)resolve(pendingData);else throw new Error("`resolve` unexpectedly undefined");doneCount=pendingCount=pendingData=pendingPromise=resolve=void 0}}),rt)return pendingPromise}const fullActions$4=createActions({[actionTypes$4.GET_DECORATION]:getDecoration}),padActions=fullActions$4.jaegerUi.pathAgnosticDecorations;/*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. 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 @@ -178,36 +178,36 @@ and limitations under the License. m 0,-`+et+` a `+et+","+et+" "+tt+" 1 1 0,"+2*et+` a `+et+","+et+" "+tt+" 1 1 0,-"+2*et+` - `}function getDashStyle(o){var $=o.counterClockwise,_e=o.dashRatio,et=o.pathRadius,tt=Math.PI*2*et,rt=(1-_e)*tt;return{strokeDasharray:tt+"px "+tt+"px",strokeDashoffset:($?-rt:rt)+"px"}}var CircularProgressbar$1=function(o){__extends($,o);function $(){return o!==null&&o.apply(this,arguments)||this}return $.prototype.getBackgroundPadding=function(){return this.props.background?this.props.backgroundPadding:0},$.prototype.getPathRadius=function(){return VIEWBOX_HEIGHT_HALF-this.props.strokeWidth/2-this.getBackgroundPadding()},$.prototype.getPathRatio=function(){var _e=this.props,et=_e.value,tt=_e.minValue,rt=_e.maxValue,at=Math.min(Math.max(et,tt),rt);return(at-tt)/(rt-tt)},$.prototype.render=function(){var _e=this.props,et=_e.circleRatio,tt=_e.className,rt=_e.classes,at=_e.counterClockwise,nt=_e.styles,it=_e.strokeWidth,ot=_e.text,st=this.getPathRadius(),lt=this.getPathRatio();return reactExports.createElement("svg",{className:rt.root+" "+tt,style:nt.root,viewBox:"0 0 "+VIEWBOX_WIDTH+" "+VIEWBOX_HEIGHT,"data-test-id":"CircularProgressbar"},this.props.background?reactExports.createElement("circle",{className:rt.background,style:nt.background,cx:VIEWBOX_CENTER_X,cy:VIEWBOX_CENTER_Y,r:VIEWBOX_HEIGHT_HALF}):null,reactExports.createElement(Path$1,{className:rt.trail,counterClockwise:at,dashRatio:et,pathRadius:st,strokeWidth:it,style:nt.trail}),reactExports.createElement(Path$1,{className:rt.path,counterClockwise:at,dashRatio:lt*et,pathRadius:st,strokeWidth:it,style:nt.path}),ot?reactExports.createElement("text",{className:rt.text,style:nt.text,x:VIEWBOX_CENTER_X,y:VIEWBOX_CENTER_Y},ot):null)},$.defaultProps={background:!1,backgroundPadding:0,circleRatio:1,classes:{root:"CircularProgressbar",trail:"CircularProgressbar-trail",path:"CircularProgressbar-path",text:"CircularProgressbar-text",background:"CircularProgressbar-background"},counterClockwise:!1,className:"",maxValue:100,minValue:0,strokeWidth:8,styles:{root:{},trail:{},path:{},text:{},background:{}},text:""},$}(reactExports.Component);const styles$2="";class CircularProgressbar extends reactExports.PureComponent{render(){const{backgroundHue:$,decorationHue:_e=0,maxValue:et,strokeWidth:tt,text:rt,value:at}=this.props,nt=(at/et)**(1/4),it=20+Math.ceil(nt*80),ot=50+Math.ceil((1-nt)*30),st=`hsl(${_e}, ${it}%, ${ot}%)`,lt=((et-at)/et)**(1/4),ct=20+Math.ceil(lt*80),ut=50+Math.ceil((1-lt)*30),ft=`hsl(${$}, ${ct}%, ${ut}%)`;return jsxRuntimeExports.jsx(CircularProgressbar$1,{styles:{path:{stroke:st,strokeLinecap:"butt"},text:{fill:st},trail:{stroke:$!==void 0?ft:"transparent",strokeLinecap:"butt"}},maxValue:et,strokeWidth:tt,text:rt,value:at})}}function extractDecorationFromState(o,{service:$,operation:_e}){const{decoration:et}=queryString.parse(o.router.location.search),tt=Array.isArray(et)?et[0]:et;if(!tt)return{};let rt=get_1$1(o,`pathAgnosticDecorations.${tt}.withOp.${$}.${_e}`),at=get_1$1(o,`pathAgnosticDecorations.${tt}.withOpMax`);return rt||(rt=get_1$1(o,`pathAgnosticDecorations.${tt}.withoutOp.${$}`),at=get_1$1(o,`pathAgnosticDecorations.${tt}.withoutOpMax`)),{decorationProgressbar:typeof rt=="number"?jsxRuntimeExports.jsx(CircularProgressbar,{backgroundHue:120,decorationHue:0,maxValue:at,strokeWidth:PROGRESS_BAR_STROKE_WIDTH/RADIUS*50,text:`${rt}`,value:rt},`${$} ${_e}`):void 0,decorationID:tt,decorationValue:rt}}const index$D="";function getNodeRenderer$1({baseUrl:o,density:$,extraUrlArgs:_e,focusPathsThroughVertex:et,getGenerationVisibility:tt,getVisiblePathElems:rt,hideVertex:at,selectVertex:nt,setOperation:it,setViewModifier:ot,updateGenerationVisibility:st}){return function(ct,ut,ft){const{isFocalNode:At,key:vt,operation:ht,service:bt}=ct;return jsxRuntimeExports.jsx(DdgNodeContent,{focalNodeUrl:At?null:getUrl$4({density:$,operation:ht,service:bt,..._e},o),focusPathsThroughVertex:et,getGenerationVisibility:tt,getVisiblePathElems:rt,hideVertex:at,isFocalNode:At,isPositioned:!!ft,operation:ht,selectVertex:nt,setOperation:it,setViewModifier:ot,service:bt,updateGenerationVisibility:st,vertex:ct,vertexKey:vt})}}function measureNode(){const o=2*(RADIUS+1);return{height:o,width:o}}class UnconnectedDdgNodeContent extends reactExports.PureComponent{constructor($){super($),this.state={},this.hoveredIndices=new Set,this.focusPaths=()=>{const{focusPathsThroughVertex:_e,vertexKey:et}=this.props;_e(et)},this.handleClick=()=>{const{decorationValue:_e,selectVertex:et,vertex:tt}=this.props;_e&&et(tt)},this.hideVertex=()=>{const{hideVertex:_e,vertexKey:et}=this.props;_e(et)},this.setOperation=_e=>{trackVertexSetOperation(),this.props.setOperation(_e)},this.updateChildren=()=>{const{updateGenerationVisibility:_e,vertexKey:et}=this.props;_e(et,EDirection.Downstream)},this.updateParents=()=>{const{updateGenerationVisibility:_e,vertexKey:et}=this.props;_e(et,EDirection.Upstream)},this.viewTraces=()=>{trackViewTraces$1();const{vertexKey:_e,getVisiblePathElems:et}=this.props,tt=et(_e);if(tt){const rt=new Set;let at=MIN_LENGTH;const nt=tt.map(({memberOf:it})=>it.traceIDs.slice());for(;nt.length;){const it=nt.shift();if(it&&it.length){const ot=it.pop();if(ot&&!rt.has(ot)&&(at+=PARAM_NAME_LENGTH+ot.length,at>MAX_LENGTH||(rt.add(ot),rt.size>=MAX_LINKED_TRACES)))break;nt.push(it)}}window.open(getUrl$2({traceID:Array.from(rt)}),"_blank")}},this.onMouseUx=_e=>{const{getGenerationVisibility:et,getVisiblePathElems:tt,setViewModifier:rt,vertexKey:at}=this.props,nt=_e.type==="mouseover",it=nt?(tt(at)||[]).map(({visibilityIdx:ot})=>(this.hoveredIndices.add(ot),ot)):Array.from(this.hoveredIndices);rt(it,EViewModifier.Hovered,nt),nt?this.setState({childrenVisibility:et(at,EDirection.Downstream),parentVisibility:et(at,EDirection.Upstream)}):this.hoveredIndices.clear()},this.getDecoration()}componentDidUpdate($){$.decorationID!==this.props.decorationID&&this.getDecoration()}componentWillUnmount(){this.hoveredIndices.size&&(this.props.setViewModifier(Array.from(this.hoveredIndices),EViewModifier.Hovered,!1),this.hoveredIndices.clear())}getDecoration(){const{decorationID:$,getDecoration:_e,operation:et,service:tt}=this.props;$&&_e($,tt,typeof et=="string"?et:void 0)}render(){const{childrenVisibility:$,parentVisibility:_e}=this.state,{decorationProgressbar:et,decorationValue:tt,focalNodeUrl:rt,isFocalNode:at,isPositioned:nt,operation:it,service:ot}=this.props,{radius:st,svcWidth:lt,opWidth:ct,svcMarginTop:ut}=calcPositioning(ot,it),At=(et?RADIUS-PROGRESS_BAR_STROKE_WIDTH:RADIUS)/st,vt=`translate(${RADIUS-st}px, ${RADIUS-st}px) scale(${At})`;return jsxRuntimeExports.jsxs("div",{className:"DdgNodeContent",onMouseOver:this.onMouseUx,onMouseOut:this.onMouseUx,children:[et,jsxRuntimeExports.jsx("div",{className:classnamesExports("DdgNodeContent--core",{"is-decorated":tt,"is-focalNode":at,"is-missingDecoration":typeof tt=="string","is-positioned":nt}),onClick:this.handleClick,role:"button",style:{width:`${st*2}px`,height:`${st*2}px`,transform:vt},children:jsxRuntimeExports.jsxs("div",{className:"DdgNodeContent--labelWrapper",children:[jsxRuntimeExports.jsx("h4",{className:"DdgNodeContent--label",style:{marginTop:`${ut}px`,width:`${lt}px`},children:jsxRuntimeExports.jsx(BreakableText,{text:ot,wordRegexp:WORD_RX$1})}),it&&jsxRuntimeExports.jsx("div",{className:"DdgNodeContent--label",style:{paddingTop:`${OP_PADDING_TOP}px`,width:`${ct}px`},children:Array.isArray(it)?jsxRuntimeExports.jsx(Popover,{content:jsxRuntimeExports.jsx(FilteredList,{options:it,value:null,setValue:this.setOperation}),placement:"bottom",title:"Select Operation to Filter Graph",children:jsxRuntimeExports.jsx("span",{children:`${it.length} Operations`})}):jsxRuntimeExports.jsx(BreakableText,{text:it,wordRegexp:WORD_RX$1})})]})}),jsxRuntimeExports.jsxs("div",{className:"DdgNodeContent--actionsWrapper",children:[rt&&jsxRuntimeExports.jsxs("a",{href:rt,className:"DdgNodeContent--actionsItem",onClick:trackSetFocus,children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:setFocusIcon}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"Set focus"})]}),jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.viewTraces,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(NewWindowIcon,{})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"View traces"})]}),!at&&jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.focusPaths,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(IoAndroidLocate,{})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"Focus paths through this node"})]}),!at&&jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.hideVertex,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(MdVisibilityOff,{})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"Hide node"})]}),_e&&jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.updateParents,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(Checkbox$1,{checked:_e===ECheckedStatus.Full,indeterminate:_e===ECheckedStatus.Partial})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"View Parents"})]}),$&&jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.updateChildren,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(Checkbox$1,{checked:$===ECheckedStatus.Full,indeterminate:$===ECheckedStatus.Partial})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"View Children"})]})]})]})}}function mapDispatchToProps$a(o){const{getDecoration:$}=bindActionCreators(padActions,o);return{getDecoration:$}}const DdgNodeContent=connect$3(extractDecorationFromState,mapDispatchToProps$a)(UnconnectedDdgNodeContent),getNodeRenderers$1="";function getNodeRenderers(o,$){function _e(rt){const at=($.get(rt.vertex.key)||0)&EViewModifier.Hovered,nt=($.get(rt.vertex.key)||0)&EViewModifier.PathHovered,it=classnamesExports("DdgNode--VectorBorder",{"is-findMatch":o.has(rt.vertex.key),"is-hovered":at,"is-pathHovered":nt,"is-focalNode":rt.vertex.isFocalNode});return jsxRuntimeExports.jsx("circle",{className:it,vectorEffect:"non-scaling-stroke",r:rt.width/2-1,cx:rt.width/2,cy:rt.width/2})}function et(rt){const at=classnamesExports({"is-findMatch":o.has(rt.vertex.key),"is-focalNode":rt.vertex.isFocalNode});return at?jsxRuntimeExports.jsx("div",{className:`DdgNode--HtmlEmphasis ${at}`}):null}if(!o.size)return{vectorBorder:_e,htmlEmphasis:et,vectorFindColorBand:null};function tt(rt){return o.has(rt.vertex.key)?jsxRuntimeExports.jsx("circle",{className:"DdgNode--VectorFindEmphasis--colorBand",vectorEffect:"non-scaling-stroke",r:rt.width/2-1,cx:rt.width/2,cy:rt.width/2}):null}return{htmlEmphasis:et,vectorBorder:_e,vectorFindColorBand:tt}}function getEdgeId(o,$){return`${o}\v${$}`}function getKeyFromVisIdx(o,$){const _e=o.visIdxToPathElem[$];if(!_e)throw new Error(`Invalid vis ids: ${$}`);const et=o.pathElemToVertex.get(_e);if(!et)throw new Error(`Path elem without vertex: ${_e}`);return et.key}function getDerivedViewModifiers(o,$){const _e=new Map,et=new Map,tt=this.getVisibleIndices(o),rt=(nt,it)=>{et.set(it,(et.get(it)||0)|nt)},at=(nt,it,ot)=>{const st=getEdgeId(it,ot);_e.set(st,(_e.get(st)||0)|nt)};return $.forEach((nt,it)=>{if(!tt.has(it)||(rt(nt,getKeyFromVisIdx(this,it)),nt!==EViewModifier.Hovered))return;const ot=this.visIdxToPathElem[it];if(!ot)throw new Error(`Invalid vis index: ${it}`);const st=ot.memberOf.members;let lt=null;for(let ct=0;ct$.focalPath.map(o).join(` -`)}function getExtVsIntHasher(o){return $=>`${getPpeHasher(o)($)}${$.isExternal?"; is-external":""}`}function getPathElemHasher(){const o=this.showOp?fmtElemShowOp:fmtElemSvcOnly;switch(this.density){case EDdgDensity.MostConcise:return $=>{const{members:_e,focalIdx:et}=$.memberOf,tt=_e[et];if($.operation.service.name===tt.operation.service.name){if($===tt||!this.showOp)return FOCAL_KEY;const rt=this.vertices.get(FOCAL_KEY);if(!rt)throw new Error("No focal vertex found");const at=this.vertexToPathElems.get(rt);if(!at)throw new Error("No focal elems found");if(new Set(Array.from(at).map(({operation:it})=>it.name)).has($.operation.name))return FOCAL_KEY}return o($)};case EDdgDensity.UpstreamVsDownstream:return $=>$.distance?`${o($)}; direction=${Math.sign($.distance)}`:FOCAL_KEY;case EDdgDensity.OnePerLevel:return $=>$.distance?`${o($)}; distance=${$.distance}`:FOCAL_KEY;case EDdgDensity.PreventPathEntanglement:return getPpeHasher(o);case EDdgDensity.ExternalVsInternal:return getExtVsIntHasher(o);default:throw new Error(`Density: ${this.density} has not been implemented, try one of these: ${JSON.stringify(EDdgDensity,null,2)}`)}}const COUNT_INDICATOR="~",DELIMITER=".",VISIBILITY_BUCKET_SIZE=31,decode=memoize(10)(o=>{const $=[];let _e=0;return o.split(DELIMITER).forEach(et=>{const[tt,rt="1"]=et.split(COUNT_INDICATOR),at=parseInt(rt,36),nt=tt?parseInt(tt,36):0;for(let it=0;nt>=1<{const $=[];o.forEach(et=>{const{csvIdx:tt,visibilityValue:rt}=convertAbsoluteIdxToRelativeValues(et);$[tt]|=rt});const _e=[];for(let et=0;et<$.length;et++){const tt=$[et],rt=_e[_e.length-1];!rt||rt[0]!==tt?_e.push([tt,1]):rt[1]+=1}return _e.map(([et,tt])=>{const rt=et?et.toString(36):"",at=tt!==1?`${COUNT_INDICATOR}${tt.toString(36)}`:"";return`${rt}${at}`}).join(DELIMITER)},encodeDistance=({ddgModel:o,direction:$,distance:_e,prevVisEncoding:et})=>{if(Math.sign(_e)===-1*Math.sign($))throw new Error(`Distance (${_e}) and direction (${$}) cannot have opposite signs`);const{distanceToPathElems:tt,visIdxToPathElem:rt}=o;let at;et?at=decode(et).filter(nt=>rt[nt]&&Math.sign(rt[nt].distance)!==$):at=[...tt.get(-1*$)||[],...tt.get(-2*$)||[]].map(({visibilityIdx:nt})=>nt);for(let nt=0;nt!==_e+$;nt+=$){const it=tt.get(nt);it&&at.push(...it.map(({visibilityIdx:ot})=>ot))}return encode(at)};class GraphModel{constructor({ddgModel:$,density:_e,showOp:et}){this.getDerivedViewModifiers=memoize(3)(getDerivedViewModifiers.bind(this)),this.getPathElemHasher=getPathElemHasher,this.getGeneration=(nt,it,ot)=>{const st=[],lt=this.getVertexVisiblePathElems(nt,ot);return lt&<.forEach(({focalSideNeighbor:ct,memberIdx:ut,memberOf:ft})=>{const At=ft.members[ut+it];At&&At!==ct&&st.push(At)}),st},this.getGenerationVisibility=(nt,it,ot)=>{const st=this.getGeneration(nt,it,ot);if(!st.length)return null;const lt=this.getVisibleIndices(ot),ct=st.filter(({visibilityIdx:ut})=>lt.has(ut));return ct.length===st.length?ECheckedStatus.Full:ct.length?ECheckedStatus.Partial:ECheckedStatus.Empty},this.getVisible=memoize(10)(nt=>{const it=new Set,ot=new Set;if(this.getVisiblePathElems(nt).forEach(lt=>{const ct=this.pathElemToEdge.get(lt);ct&&it.add(ct);const ut=this.pathElemToVertex.get(lt);ut&&!ut.isFocalNode&&ot.add(ut)}),this.visIdxToPathElem.length){const lt=this.vertices.get(FOCAL_KEY);if(!lt)throw new Error("No focal vertex found");const ct=this.getVertexVisiblePathElems(FOCAL_KEY,nt);if(ct&&ct.length)if(!this.showOp)ot.add(lt);else{const ut=Array.from(new Set(ct.map(({operation:At})=>At.name))),ft={...lt,operation:ut.length===1?ut[0]:ut};ot.add(ft)}}return{edges:Array.from(it),vertices:Array.from(ot)}}),this.getHiddenUiFindMatches=memoize(10)((nt,it)=>{const ot=new Set(this.getVisible(it).vertices),st=Array.from(this.vertices.values()).filter(lt=>!ot.has(lt)&&!lt.isFocalNode);if(this.visIdxToPathElem.length){const lt=this.vertices.get(FOCAL_KEY);if(!lt)throw new Error("No focal vertex found");const ct=this.vertexToPathElems.get(lt);if(!ct)throw new Error("No focal elems found");const ut=new Set(this.getVertexVisiblePathElems(FOCAL_KEY,it)),ft=Array.from(ct).filter(At=>!ut.has(At)).map(({operation:At})=>At.name);ft.length&&st.push({...lt,operation:ft})}return GraphModel.getUiFindMatches(st,nt)}),this.getVisibleUiFindMatches=memoize(10)((nt,it)=>{const{vertices:ot}=this.getVisible(it);return GraphModel.getUiFindMatches(ot,nt)}),this.density=_e,this.distanceToPathElems=new Map($.distanceToPathElems),this.pathElemToEdge=new Map,this.pathElemToVertex=new Map,this.showOp=et,this.vertexToPathElems=new Map,this.vertices=new Map,this.visIdxToPathElem=$.visIdxToPathElem.slice();const tt=new Set,rt=this.getPathElemHasher(),at=new Map;if(this.visIdxToPathElem.forEach(nt=>{const it=rt(nt),ot=!nt.distance,st=this.showOp?nt.operation.name:null;ot&&st&&tt.add(st);let lt=this.vertices.get(it);if(!lt)lt={key:it,isFocalNode:ot,service:nt.operation.service.name,operation:st},this.vertices.set(it,lt),this.vertexToPathElems.set(lt,new Set([nt]));else{const ut=this.vertexToPathElems.get(lt);if(!ut)throw new Error(`Vertex exists without pathElems, vertex: ${lt}`);ut.add(nt)}this.pathElemToVertex.set(nt,lt);const ct=nt.focalSideNeighbor;if(ct){const ut=this.pathElemToVertex.get(ct);if(!ut)throw new Error(`Non-focal pathElem cannot be connected to graph. PathElem: ${nt}`);const ft=nt.distance>0?ut.key:lt.key,At=nt.distance>0?lt.key:ut.key,vt=getEdgeId(ft,At);let ht=at.get(vt);ht||(ht={from:ft,to:At},at.set(vt,ht)),this.pathElemToEdge.set(nt,ht)}}),tt.size>1){const nt=this.vertices.get(FOCAL_KEY);nt&&(nt.operation=Array.from(tt))}Object.freeze(this.distanceToPathElems),Object.freeze(this.pathElemToEdge),Object.freeze(this.pathElemToVertex),Object.freeze(this.vertexToPathElems),Object.freeze(this.vertices),Object.freeze(this.visIdxToPathElem)}getDefaultVisiblePathElems(){return[].concat(this.distanceToPathElems.get(-2)||[],this.distanceToPathElems.get(-1)||[],this.distanceToPathElems.get(0)||[],this.distanceToPathElems.get(1)||[],this.distanceToPathElems.get(2)||[])}getVisiblePathElems($){return $==null?this.getDefaultVisiblePathElems():decode($).map(_e=>this.visIdxToPathElem[_e]).filter(Boolean)}getVisibleIndices($){return new Set(this.getVisiblePathElems($).map(({visibilityIdx:_e})=>_e))}static getUiFindMatches($,_e){const et=new Set;if(!_e||/^\s+$/.test(_e))return et;const tt=_e.trim().toLowerCase().split(/\s+/);for(let rt=0;rt<$.length;rt++){const{service:at,operation:nt}=$[rt],it=at.toLowerCase(),ot=nt&&(Array.isArray(nt)?nt:[nt]).map(st=>st.toLowerCase());for(let st=0;stlt.includes(tt[st]))){et.add($[rt].key);break}}return et}getVisWithoutElems($,_e){const et=this.getVisibleIndices(_e);return $.forEach(({externalPath:tt})=>{tt.forEach(({visibilityIdx:rt})=>{et.delete(rt)})}),encode(Array.from(et))}getVisWithoutVertex($,_e){const et=this.getVertexVisiblePathElems($,_e);if(et&&et.length)return this.getVisWithoutElems(et,_e)}getVisWithElems($,_e){const et=this.getVisibleIndices(_e);return $.forEach(({focalPath:tt})=>tt.forEach(({visibilityIdx:rt})=>{et.add(rt)})),encode(Array.from(et))}getVisWithUpdatedGeneration($,_e,et){const tt=this.getGeneration($,_e,et),rt=this.getGenerationVisibility($,_e,et);return!tt.length||!rt?null:rt===ECheckedStatus.Full?{visEncoding:this.getVisWithoutElems(tt,et),update:ECheckedStatus.Empty}:{visEncoding:this.getVisWithElems(tt,et),update:ECheckedStatus.Full}}getVisWithVertices($,_e){const et=[];return $.forEach(tt=>{const rt=this.vertices.get(tt);if(!rt)throw new Error(`${tt} does not exist in graph`);const at=this.vertexToPathElems.get(rt);if(!at)throw new Error(`${tt} does not exist in graph`);et.push(...at)}),this.getVisWithElems(et,_e)}getVertexVisiblePathElems($,_e){const et=this.vertices.get($);if(et){const tt=this.vertexToPathElems.get(et);if(tt&&tt.size){const rt=this.getVisibleIndices(_e);return Array.from(tt).filter(at=>rt.has(at.visibilityIdx))}}}}const makeGraph=memoize(10)((o,$,_e)=>new GraphModel({ddgModel:o,density:_e,showOp:$})),baseCase={className:"Ddg--Edge"},matchMiss={className:"Ddg--Edge",markerEnd:null};function getSetOnEdge(o){return o.size?function(_e,et){const tt=getEdgeId(_e.edge.from,_e.edge.to);return(o.get(tt)||0)&EViewModifier.PathHovered?{markerEnd:`url(#${et.getGlobalId("arrow-hovered")})`,className:"Ddg--Edge is-pathHovered"}:matchMiss}:baseCase}const index$C="",setOnEdgesContainer={withViewModifiers:[{className:"Ddg--Edges is-withViewModifiers"}],withoutViewModifiers:[Digraph.propsFactories.scaleStrokeOpacityStrongest,{className:"Ddg--Edges"}]},setOnVectorBorderContainerWithViewModifiers={className:"DdgVectorBorders is-withViewModifiers"},edgesDefs=[{localId:"arrow"},{localId:"arrow-hovered",setOnEntry:{className:"Ddg--Arrow is-pathHovered"}}];class Graph extends reactExports.PureComponent{constructor(){super(...arguments),this.getNodeRenderers=memoizeOne$1(getNodeRenderers),this.getNodeContentRenderer=memoizeOne$1(getNodeRenderer$1),this.getSetOnEdge=memoizeOne$1(getSetOnEdge),this.layoutManager=new LayoutManager({nodesep:.55,ranksep:1.5,rankdir:"TB",shape:"circle",splines:"polyline",useDotEdges:!0}),this.emptyFindSet=new Set}componentWillUnmount(){this.layoutManager.stopAndRelease()}render(){const{baseUrl:$,density:_e,edges:et,edgesViewModifiers:tt,extraUrlArgs:rt,focusPathsThroughVertex:at,getGenerationVisibility:nt,getVisiblePathElems:it,hideVertex:ot,selectVertex:st,setOperation:lt,setViewModifier:ct,uiFindMatches:ut,updateGenerationVisibility:ft,vertices:At,verticesViewModifiers:vt}=this.props,ht=this.getNodeRenderers(ut||this.emptyFindSet,vt);return jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,minimapClassName:"u-miniMap",layoutManager:this.layoutManager,edges:et,vertices:At,measurableNodesKey:"nodes/content",layers:[{key:"nodes/find-emphasis/vector-color-band",layerType:"svg",renderNode:ht.vectorFindColorBand},{key:"nodes/find-emphasis/html",layerType:"html",renderNode:ht.htmlEmphasis},{key:"nodes/vector-border",layerType:"svg",renderNode:ht.vectorBorder,setOnContainer:vt.size?setOnVectorBorderContainerWithViewModifiers:Digraph.propsFactories.scaleStrokeOpacityStrongest},{key:"edges",layerType:"svg",edges:!0,defs:edgesDefs,markerEndId:"arrow",setOnContainer:tt.size?setOnEdgesContainer.withViewModifiers:setOnEdgesContainer.withoutViewModifiers,setOnEdge:this.getSetOnEdge(tt)},{key:"nodes/content",layerType:"html",measurable:!0,measureNode,renderNode:this.getNodeContentRenderer({baseUrl:$,density:_e,extraUrlArgs:rt,focusPathsThroughVertex:at,getGenerationVisibility:nt,getVisiblePathElems:it,hideVertex:ot,selectVertex:st,setOperation:lt,setViewModifier:ct,updateGenerationVisibility:ft})}]})}}var visibilityExports={},visibility={get exports(){return visibilityExports},set exports(o){visibilityExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{const{direction:rt}=this.props;return jsxRuntimeExports.jsxs(React$k.Fragment,{children:[!!tt&&jsxRuntimeExports.jsx(IoChevronRight,{className:`${CLASSNAME}--ChevronRight is-${_e}`}),jsxRuntimeExports.jsx("button",{className:`${CLASSNAME}--btn is-${_e} ${CLASSNAME}--${et}`,type:"button",onClick:()=>this.handleClick($),children:Math.abs($)})]},`${$} ${rt} ${et}`)}}handleClick($){const{direction:_e,furthestFullDistance:et,handleClick:tt}=this.props;tt($,_e),trackHopChange(et,$,_e)}render(){const{direction:$,furthestDistance:_e,furthestFullness:et,handleClick:tt,hops:rt}=this.props,at=$===EDirection.Downstream?"Down":"Up",nt=`${at}stream hops`,it=nt.toLowerCase();if(rt.length<=1)return jsxRuntimeExports.jsxs("span",{className:CLASSNAME,children:["No ",it]});const ot=jsxRuntimeExports.jsx("button",{disabled:_e===0,className:`${CLASSNAME}--decrement`,type:"button",onClick:()=>tt(_e-$,$),children:"-"},`decrement ${$}`),st=jsxRuntimeExports.jsx("button",{disabled:_e===rt[rt.length-1].distance,className:`${CLASSNAME}--increment`,type:"button",onClick:()=>tt(_e+$,$),children:"+"},`increment ${$}`),lt=this.makeBtn({...rt[rt.length-1],suffix:"delimiter"}),ct=this.makeBtn({distance:_e,fullness:et,suffix:"furthest"});return jsxRuntimeExports.jsx(Popover,{arrowPointAtCenter:!0,content:[ot,...rt.map(this.makeBtn),st],placement:"bottom",title:`Visible ${it}`,children:jsxRuntimeExports.jsxs("span",{className:CLASSNAME,children:[jsxRuntimeExports.jsx(SortAmountAsc,{className:`${CLASSNAME}--AscIcon is-${at}`}),nt,ct,jsxRuntimeExports.jsx("span",{className:`${CLASSNAME}--delimiter`,children:"/"}),lt,jsxRuntimeExports.jsx(ChevronDown$1,{className:"ub-ml1"})]})})}}const HopsSelector=reactExports.memo(function({distanceToPathElems:$,handleClick:_e,visEncoding:et}){if(!$)return jsxRuntimeExports.jsx("div",{});const tt=[],rt=[];let at=0,nt=0,it=ECheckedStatus.Empty,ot=0,st=0,lt=ECheckedStatus.Empty;const ct=et&&new Set(decode(et));return $.forEach((ut,ft)=>{let At;if(ct){const vt=ut.filter(({visibilityIdx:ht})=>ct.has(ht));vt.length===ut.length?At=ECheckedStatus.Full:vt.length?At=ECheckedStatus.Partial:At=ECheckedStatus.Empty}else At=Math.abs(ft)<=2?ECheckedStatus.Full:ECheckedStatus.Empty;ft>=0&&tt.push({distance:ft,fullness:At}),ft<=0&&rt.push({distance:ft,fullness:At}),At!==ECheckedStatus.Empty&&(ft>=st&&(st=ft,lt=At),ft<=nt&&(nt=ft,it=At)),At===ECheckedStatus.Full&&(ft>=ot&&(ot=ft),ft<=at&&(at=ft))}),tt.sort(({distance:ut},{distance:ft})=>ut-ft),rt.sort(({distance:ut},{distance:ft})=>ft-ut),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(Selector,{direction:EDirection.Upstream,handleClick:_e,hops:rt,furthestDistance:nt,furthestFullDistance:at,furthestFullness:it}),jsxRuntimeExports.jsx(Selector,{direction:EDirection.Downstream,handleClick:_e,hops:tt,furthestDistance:st,furthestFullDistance:ot,furthestFullness:lt})]})}),NameSelector$1="",DEFAULT_PLACEHOLDER="Select a value…";class NameSelector extends reactExports.PureComponent{constructor(){super(...arguments),this.listRef=reactExports.createRef(),this.state={popoverVisible:!1},this.clearValue=$=>{if(this.props.required)throw new Error("Cannot clear value of required NameSelector");$.stopPropagation(),this.props.clearValue()},this.setValue=$=>{this.props.setValue($),this.changeVisible(!1)},this.onBodyClicked=()=>{this.listRef.current&&!this.listRef.current.isMouseWithin()&&this.changeVisible(!1)},this.onFilterCancelled=()=>{this.changeVisible(!1)},this.onPopoverVisibleChanged=$=>{this.changeVisible($)}}componentDidUpdate(){this.listRef.current&&this.state.popoverVisible&&this.listRef.current.focusInput()}changeVisible($){this.setState({popoverVisible:$}),setTimeout(()=>{$?window.document.body.addEventListener("click",this.onBodyClicked):window.document.body.removeEventListener("click",this.onBodyClicked)})}render(){const{label:$,options:_e,placeholder:et=!1,required:tt=!1,value:rt}=this.props,{popoverVisible:at}=this.state,nt=classnamesExports("NameSelector",{"is-active":at,"is-invalid":tt&&!rt});let it=!0,ot=rt||"";return!rt&&et&&(it=!1,ot=typeof et=="string"?et:DEFAULT_PLACEHOLDER),jsxRuntimeExports.jsx(Popover,{overlayClassName:"NameSelector--overlay u-rm-popover-content-padding",onVisibleChange:this.onPopoverVisibleChanged,placement:"bottomLeft",content:jsxRuntimeExports.jsx(FilteredList,{ref:this.listRef,cancel:this.onFilterCancelled,options:_e,value:rt,setValue:this.setValue}),trigger:"click",visible:at,children:jsxRuntimeExports.jsxs("h2",{className:nt,children:[it&&jsxRuntimeExports.jsxs("span",{className:"NameSelector--label",children:[$,":"]}),jsxRuntimeExports.jsx(BreakableText,{className:"NameSelector--value",text:ot}),jsxRuntimeExports.jsx(IoChevronDown,{className:"NameSelector--chevron"}),!tt&&rt&&jsxRuntimeExports.jsx(Icon$1,{className:"NameSelector--clearIcon",type:"close",onClick:this.clearValue})]})})}}const index$B="";function _typeof$C(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$C=function(_e){return typeof _e}:_typeof$C=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$C(o)}function _defineProperty$J(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$1A(){return _extends$1A=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$L(o){return _getPrototypeOf$L=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$L(o)}var __rest$m=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$K(o){return _getPrototypeOf$K=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$K(o)}function getCheckedValue(o){var $=null,_e=!1;return reactExports.Children.forEach(o,function(et){et&&et.props&&et.props.checked&&($=et.props.value,_e=!0)}),_e?{value:$}:void 0}var RadioGroup=function(o){_inherits$1p(_e,o);var $=_createSuper$C(_e);function _e(et){var tt;_classCallCheck$1q(this,_e),tt=$.call(this,et),tt.onRadioChange=function(nt){var it=tt.state.value,ot=nt.target.value;"value"in tt.props||tt.setState({value:ot});var st=tt.props.onChange;st&&ot!==it&&st(nt)},tt.renderGroup=function(nt){var it=nt.getPrefixCls,ot=_assertThisInitialized$H(tt),st=ot.props,lt=st.prefixCls,ct=st.className,ut=ct===void 0?"":ct,ft=st.options,At=st.buttonStyle,vt=it("radio",lt),ht="".concat(vt,"-group"),bt=classNames(ht,"".concat(ht,"-").concat(At),_defineProperty$I({},"".concat(ht,"-").concat(st.size),st.size),ut),pt=st.children;return ft&&ft.length>0&&(pt=ft.map(function(dt){return typeof dt=="string"?reactExports.createElement(Radio,{key:dt,prefixCls:vt,disabled:tt.props.disabled,value:dt,checked:tt.state.value===dt},dt):reactExports.createElement(Radio,{key:"radio-group-value-options-".concat(dt.value),prefixCls:vt,disabled:dt.disabled||tt.props.disabled,value:dt.value,checked:tt.state.value===dt.value},dt.label)})),reactExports.createElement("div",{className:bt,style:st.style,onMouseEnter:st.onMouseEnter,onMouseLeave:st.onMouseLeave,id:st.id},pt)};var rt;if("value"in et)rt=et.value;else if("defaultValue"in et)rt=et.defaultValue;else{var at=getCheckedValue(et.children);rt=at&&at.value}return tt.state={value:rt},tt}return _createClass$1l(_e,[{key:"getChildContext",value:function(){return{radioGroup:{onChange:this.onRadioChange,value:this.state.value,disabled:this.props.disabled,name:this.props.name}}}},{key:"shouldComponentUpdate",value:function(tt,rt){return!shallowequal(this.props,tt)||!shallowequal(this.state,rt)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderGroup)}}],[{key:"getDerivedStateFromProps",value:function(tt){if("value"in tt)return{value:tt.value};var rt=getCheckedValue(tt.children);return rt?{value:rt.value}:null}}]),_e}(reactExports.Component);RadioGroup.defaultProps={buttonStyle:"outline"};RadioGroup.childContextTypes={radioGroup:propTypesExports.any};polyfill(RadioGroup);const Group=RadioGroup;function _typeof$A(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$A=function(_e){return typeof _e}:_typeof$A=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$A(o)}function _extends$1z(){return _extends$1z=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$J(o){return _getPrototypeOf$J=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$J(o)}var __rest$l=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt{const o="Ddg--LayoutSettings";return $=>$?`${o}--${$}`:o})(),densityOptions=[{option:EDdgDensity.MostConcise,title:"One node per resource",note:"Most conscise",description:"This setting represents each resource one time in the graph, regardless of whether or not it's upstream or downstream of the focal node. This results in the most dense graph layout, possible."},{option:EDdgDensity.UpstreamVsDownstream,title:"Separate upstream from downstream nodes",description:"This setting differentiates upstream nodes from downstream nodes. And, within the each section, a given resource is represented by only one node."},{option:EDdgDensity.OnePerLevel,title:"One resource per level",description:"Represents each resource at most one time for any given level, or number of hops, from the focal node."},{option:EDdgDensity.PreventPathEntanglement,title:"Show paths to the focal node",description:"Each unique path to the focal node, both upstream and downstream, is represented. A resource (e.g. a service or service:operation) can be represented more than once if it is present in more than one path to the focal node."},{option:EDdgDensity.ExternalVsInternal,title:"Separate internal from external nodes",note:"Most detailed",description:"This is similar to the setting, above, but this setting also differentiates internal from external nodes."}];class LayoutSettings extends reactExports.PureComponent{constructor(){super(...arguments),this.updateDensity=$=>{const{density:_e}=this.props,{value:et}=$.target;_e!==et&&(trackDensityChange(_e,et,densityOptions),this.props.setDensity(et))},this.toggleShowOperations=$=>{const{checked:_e}=$.target;trackToggleShowOp(_e),this.props.toggleShowOperations(_e)}}render(){const{density:$,showOperations:_e}=this.props,et=jsxRuntimeExports.jsxs("table",{className:cssCls("optionsTable"),children:[jsxRuntimeExports.jsx("tbody",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:cssCls("optionGroupTitle"),children:"Aggregations"}),jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx(Checkbox$1,{className:cssCls("option"),checked:_e,onChange:this.toggleShowOperations,children:jsxRuntimeExports.jsxs("div",{className:cssCls("optionDescription"),children:[jsxRuntimeExports.jsx("h4",{children:"Show operations"}),jsxRuntimeExports.jsx("p",{children:"Controls whether or not the operations are considered when creating nodes for the graph."})]})})})]})}),jsxRuntimeExports.jsx("tbody",{children:densityOptions.map((tt,rt)=>jsxRuntimeExports.jsxs("tr",{children:[rt===0&&jsxRuntimeExports.jsx("td",{className:cssCls("optionGroupTitle"),rowSpan:densityOptions.length,children:"Graph density"}),jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx(Radio,{className:cssCls("option"),onChange:this.updateDensity,value:tt.option,checked:$===tt.option,children:jsxRuntimeExports.jsxs("div",{className:cssCls("optionDescription"),children:[jsxRuntimeExports.jsx("h4",{children:tt.title}),jsxRuntimeExports.jsxs("p",{children:[tt.note&&jsxRuntimeExports.jsx("em",{className:cssCls("optionNote"),children:tt.note}),tt.note&&" – ",tt.description]})]})})})]},tt.option))})]});return jsxRuntimeExports.jsx(Popover,{arrowPointAtCenter:!0,content:et,placement:"bottomLeft",title:"Layout settings",children:jsxRuntimeExports.jsxs("div",{className:cssCls(),children:[settingsIcon,"Layout",jsxRuntimeExports.jsx(ChevronDown$1,{className:"ub-ml2"})]})})}}function updateUiFind({history:o,location:$,trackFindFunction:_e,uiFind:et}){const{uiFind:tt,...rt}=queryString.parse($.search);_e&&_e(et),et&&(rt.uiFind=et),o.replace({...$,search:`?${queryString.stringify(rt)}`})}class UnconnectedUiFindInput extends reactExports.PureComponent{constructor(){super(...arguments),this.state={ownInputValue:void 0},this.updateUiFindQueryParam=debounce_1($=>{const{history:_e,location:et,uiFind:tt,trackFindFunction:rt}=this.props;$===tt||!tt&&!$||updateUiFind({location:et,history:_e,trackFindFunction:rt,uiFind:$})},250),this.clearUiFind=()=>{this.updateUiFindQueryParam(),this.updateUiFindQueryParam.flush()},this.handleInputBlur=()=>{this.updateUiFindQueryParam.flush(),this.setState({ownInputValue:void 0})},this.handleInputChange=$=>{const{value:_e}=$.target;this.updateUiFindQueryParam(_e),this.setState({ownInputValue:_e})}}render(){const{allowClear:$,forwardedRef:_e,inputProps:et}=this.props,tt=isString_1(this.state.ownInputValue)?this.state.ownInputValue:this.props.uiFind,rt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[$&&tt&&tt.length&&jsxRuntimeExports.jsx(Icon$1,{type:"close",onClick:this.clearUiFind}),et.suffix]});return jsxRuntimeExports.jsx(Input$1,{placeholder:"Find...",...et,onBlur:this.handleInputBlur,onChange:this.handleInputChange,ref:_e,suffix:rt,value:tt})}}UnconnectedUiFindInput.defaultProps={forwardedRef:void 0,inputProps:{},trackFindFunction:void 0,uiFind:void 0};function extractUiFindFromState(o){const{uiFind:$}=queryString.parse(o.router.location.search);return{uiFind:Array.isArray($)?$.join(" "):$}}const UiFindInput=withRouter$1(connect$3(extractUiFindFromState)(UnconnectedUiFindInput)),index$z="";let Header$2=class extends reactExports.PureComponent{constructor(){super(...arguments),this._uiFindInput=reactExports.createRef(),this.focusUiFindInput=()=>{this._uiFindInput.current&&this._uiFindInput.current.focus()},this.getUiFindInfo=()=>{const{hiddenUiFindMatches:$,uiFindCount:_e}=this.props;if(_e===void 0)return null;let et=!1,tt=null,rt=_e?"All matches are visible":"No matches";if($&&$.size){const{size:at}=$;et=!0,rt=`Click to view ${at} hidden match${at!==1?"es":""}`,tt=jsxRuntimeExports.jsxs("span",{className:"DdgHeader--uiFindInfo--hidden",children:[at,jsxRuntimeExports.jsx(MdVisibilityOff,{className:"DdgHeader--uiFindInfo--icon"})]})}return jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"DdgHeader--uiFindInfo--tooltip",placement:"topRight",title:rt,children:jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsxs("button",{className:"DdgHeader--uiFindInfo",disabled:!et,onClick:this.handleInfoClick,type:"button",children:[_e,(_e!==0||et)&&jsxRuntimeExports.jsx(MdVisibility,{className:"DdgHeader--uiFindInfo--icon"}),tt]})})})},this.setOperation=$=>{trackHeaderSetOperation(),this.props.setOperation($)},this.handleInfoClick=()=>{trackShowMatches();const{hiddenUiFindMatches:$,showVertices:_e}=this.props;$&&_e(Array.from($))}}render(){const{clearOperation:$,density:_e,distanceToPathElems:et,operation:tt,operations:rt,service:at,services:nt,setDensity:it,setDistance:ot,setService:st,showOperations:lt,showParameters:ct,toggleShowOperations:ut,visEncoding:ft}=this.props;return jsxRuntimeExports.jsxs("header",{className:"DdgHeader",children:[ct&&jsxRuntimeExports.jsxs("div",{className:"DdgHeader--paramsHeader",children:[jsxRuntimeExports.jsx(NameSelector,{label:"Service",placeholder:"Select a service…",value:at||null,setValue:st,required:!0,options:nt||[]}),at&&jsxRuntimeExports.jsx(NameSelector,{clearValue:$,label:"Operation",placeholder:"Filter by operation…",value:tt||null,setValue:this.setOperation,options:rt||[]})]}),jsxRuntimeExports.jsxs("div",{className:"DdgHeader--controlHeader",children:[jsxRuntimeExports.jsx(LayoutSettings,{density:_e,setDensity:it,showOperations:lt,toggleShowOperations:ut}),jsxRuntimeExports.jsx(HopsSelector,{distanceToPathElems:et,handleClick:ot,visEncoding:ft}),jsxRuntimeExports.jsx("div",{className:"DdgHeader--findWrapper",children:jsxRuntimeExports.jsxs("div",{className:"DdgHeader--uiFind",role:"button",onClick:this.focusUiFindInput,children:[jsxRuntimeExports.jsx(Icon$1,{className:"DdgHeader--uiFindSearchIcon",type:"search"}),jsxRuntimeExports.jsx(UiFindInput,{allowClear:!0,forwardedRef:this._uiFindInput,inputProps:{className:"DdgHeader--uiFindInput"},trackFindFunction:trackFilter$1}),this.getUiFindInfo()]})})]})]})}};Header$2.defaultProps={showParameters:!0};const index$y="",index$x="",index$w="",index$v="",index$u="",index$t="";var __rest$k=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u")return 0;if(o||cached===void 0){var $=document.createElement("div");$.style.width="100%",$.style.height="200px";var _e=document.createElement("div"),et=_e.style;et.position="absolute",et.top=0,et.left=0,et.pointerEvents="none",et.visibility="hidden",et.width="200px",et.height="150px",et.overflow="hidden",_e.appendChild($),document.body.appendChild(_e);var tt=$.offsetWidth;_e.style.overflow="scroll";var rt=$.offsetWidth;tt===rt&&(rt=_e.clientWidth),document.body.removeChild(_e),cached=tt-rt}return cached}function setStyle(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_e=$.element,et=_e===void 0?document.body:_e,tt={},rt=Object.keys(o);return rt.forEach(function(at){tt[at]=et.style[at]}),rt.forEach(function(at){et.style[at]=o[at]}),tt}function isBodyOverflowing(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var cacheStyle={};const switchScrollingEffect=function(o){if(!(!isBodyOverflowing()&&!o)){var $="ant-scrolling-effect",_e=new RegExp("".concat($),"g"),et=document.body.className;if(o){if(!_e.test(et))return;setStyle(cacheStyle),cacheStyle={},document.body.className=et.replace(_e,"").trim();return}var tt=getScrollBarSize();if(tt&&(cacheStyle=setStyle({position:"relative",width:"calc(100% - ".concat(tt,"px)")}),!_e.test(et))){var rt="".concat(et," ").concat($);document.body.className=rt.trim()}}};function ownKeys$8(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$8(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$I(o){return _getPrototypeOf$I=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$I(o)}var openCount=0,windowIsUndefined=!(typeof window<"u"&&window.document&&window.document.createElement),IS_REACT_16$1="createPortal"in ReactDOM,cacheOverflow={},PortalWrapper=function(o){_inherits$1n(_e,o);var $=_createSuper$A(_e);function _e(et){var tt;_classCallCheck$1o(this,_e),tt=$.call(this,et),tt.getParent=function(){var at=tt.props.getContainer;if(at){if(typeof at=="string")return document.querySelectorAll(at)[0];if(typeof at=="function")return at();if(_typeof$z(at)==="object"&&at instanceof window.HTMLElement)return at}return document.body},tt.getContainer=function(){if(windowIsUndefined)return null;if(!tt.container){tt.container=document.createElement("div");var at=tt.getParent();at&&at.appendChild(tt.container)}return tt.setWrapperClassName(),tt.container},tt.setWrapperClassName=function(){var at=tt.props.wrapperClassName;tt.container&&at&&at!==tt.container.className&&(tt.container.className=at)},tt.savePortal=function(at){tt._component=at},tt.removeCurrentContainer=function(at){tt.container=null,tt._component=null,IS_REACT_16$1||(at?tt.renderComponent({afterClose:tt.removeContainer,onClose:function(){},visible:!1}):tt.removeContainer())},tt.switchScrollingEffect=function(){openCount===1&&!Object.keys(cacheOverflow).length?(switchScrollingEffect(),cacheOverflow=setStyle({overflow:"hidden",overflowX:"hidden",overflowY:"hidden"})):openCount||(setStyle(cacheOverflow),cacheOverflow={},switchScrollingEffect(!0))};var rt=et.visible;return openCount=rt?openCount+1:openCount,tt.state={_self:_assertThisInitialized$F(tt)},tt}return _createClass$1j(_e,[{key:"componentDidUpdate",value:function(){this.setWrapperClassName()}},{key:"componentWillUnmount",value:function(){var tt=this.props.visible;openCount=tt&&openCount?openCount-1:openCount,this.removeCurrentContainer(tt)}},{key:"render",value:function(){var tt=this,rt=this.props,at=rt.children,nt=rt.forceRender,it=rt.visible,ot=null,st={getOpenCount:function(){return openCount},getContainer:this.getContainer,switchScrollingEffect:this.switchScrollingEffect};return IS_REACT_16$1?((nt||it||this._component)&&(ot=React$k.createElement(Portal$1,{getContainer:this.getContainer,ref:this.savePortal},at(st))),ot):React$k.createElement(ContainerRender,{parent:this,visible:it,autoDestroy:!1,getComponent:function(){var ct=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return at(_objectSpread$8(_objectSpread$8(_objectSpread$8({},ct),st),{},{ref:tt.savePortal}))},getContainer:this.getContainer,forceRender:nt},function(lt){var ct=lt.renderComponent,ut=lt.removeContainer;return tt.renderComponent=ct,tt.removeContainer=ut,null})}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=rt.prevProps,nt=rt._self,it=tt.visible,ot=tt.getContainer;if(at){var st=at.visible,lt=at.getContainer;it!==st&&(openCount=it&&!st?openCount+1:openCount-1);var ct=typeof ot=="function"&&typeof lt=="function";(ct?ot.toString()!==lt.toString():ot!==lt)&&nt.removeCurrentContainer(!1)}return{prevProps:tt}}}]),_e}(React$k.Component);PortalWrapper.propTypes={wrapperClassName:propTypesExports.string,forceRender:propTypesExports.bool,getContainer:propTypesExports.any,children:propTypesExports.func,visible:propTypesExports.bool};const Portal=polyfill(PortalWrapper),Dialog=function(o){var $=o.visible,_e=o.getContainer,et=o.forceRender;return _e===!1?reactExports.createElement(Dialog$1,_default$bE({},o,{getOpenCount:function(){return 2}})):reactExports.createElement(Portal,{visible:$,forceRender:et,getContainer:_e},function(tt){return reactExports.createElement(Dialog$1,_default$bE({},o,tt))})};function _typeof$y(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$y=function(_e){return typeof _e}:_typeof$y=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$y(o)}function _defineProperty$G(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$1y(){return _extends$1y=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$H(o){return _getPrototypeOf$H=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$H(o)}var __rest$j=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$G(o){return _getPrototypeOf$G=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$G(o)}var ActionButton=function(o){_inherits$1l(_e,o);var $=_createSuper$y(_e);function _e(et){var tt;return _classCallCheck$1m(this,_e),tt=$.call(this,et),tt.onClick=function(){var rt=tt.props,at=rt.actionFn,nt=rt.closeModal;if(at){var it;at.length?it=at(nt):(it=at(),it||nt()),it&&it.then&&(tt.setState({loading:!0}),it.then(function(){nt.apply(void 0,arguments)},function(ot){console.error(ot),tt.setState({loading:!1})}))}else nt()},tt.state={loading:!1},tt}return _createClass$1h(_e,[{key:"componentDidMount",value:function(){if(this.props.autoFocus){var tt=reactDomExports.findDOMNode(this);this.timeoutId=setTimeout(function(){return tt.focus()})}}},{key:"componentWillUnmount",value:function(){clearTimeout(this.timeoutId)}},{key:"render",value:function(){var tt=this.props,rt=tt.type,at=tt.children,nt=tt.buttonProps,it=this.state.loading;return reactExports.createElement(Button$2,_extends$1x({type:rt,onClick:this.onClick,loading:it},nt),at)}}]),_e}(reactExports.Component);function _extends$1w(){return _extends$1w=Object.assign||function(o){for(var $=1;$"u"||typeof window>"u")return 0;var tt=_e==="vertical";if(tt&&scrollbarVerticalSize)return scrollbarVerticalSize;if(!tt&&scrollbarHorizontalSize)return scrollbarHorizontalSize;var rt=document.createElement("div");Object.keys(scrollbarMeasure).forEach(function(nt){rt.style[nt]=scrollbarMeasure[nt]}),rt.className="".concat(et,"-hide-scrollbar scroll-div-append-to-body"),tt?rt.style.overflowY="scroll":rt.style.overflowX="scroll",document.body.appendChild(rt);var at=0;return tt?(at=rt.offsetWidth-rt.clientWidth,scrollbarVerticalSize=at):(at=rt.offsetHeight-rt.clientHeight,scrollbarHorizontalSize=at),document.body.removeChild(rt),at}utils$2.measureScrollbar=measureScrollbar;function debounce(o,$,_e){var et;function tt(){for(var rt=arguments.length,at=new Array(rt),nt=0;nto.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function ownKeys$7(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$7(o){for(var $=1;$1&&arguments[1]!==void 0?arguments[1]:0,nt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},it=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[];it[at]=it[at]||[];var ot=[],st=function(ct){var ut=it.length-at;ct&&!ct.children&&ut>1&&(!ct.rowSpan||ct.rowSpan0?(ut.children=tt(ut.children,at+1,ut,it),nt.colSpan+=ut.colSpan):nt.colSpan+=1;for(var ft=0;ft=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$3(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function ownKeys$6(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$6(o){for(var $=1;$1&&_e===0&&et&&et!=="auto"?parseInt(et.toString(),10):et},st);return React$e.createElement(nt,Object.assign({},ot,{style:lt}),$.map(function(ct,ut){var ft,At=ct.column,vt=ct.isLast,ht=_objectWithoutProperties$6(ct,["column","isLast"]),bt=At.onHeaderCell?At.onHeaderCell(At):{};return At.align&&(bt.style=_objectSpread$6({},bt.style,{textAlign:At.align})),bt.className=classnames_1$5.default(bt.className,At.className,(ft={},_defineProperty$D(ft,"".concat(at,"-align-").concat(At.align),!!At.align),_defineProperty$D(ft,"".concat(at,"-row-cell-ellipsis"),!!At.ellipsis),_defineProperty$D(ft,"".concat(at,"-row-cell-break-word"),!!At.width),_defineProperty$D(ft,"".concat(at,"-row-cell-last"),vt),ft)),React$e.createElement(it,Object.assign({},ht,bt,{key:At.key||At.dataIndex||ut}))}))}function getRowHeight$1(o,$){var _e=o.fixedColumnsHeadRowsHeight,et=$.columns,tt=$.rows,rt=$.fixed,at=_e[0];return rt&&at&&et?at==="auto"?"auto":at/tt.length:null}TableHeaderRow$1.default=mini_store_1$5.connect(function(o,$){return{height:getRowHeight$1(o,$)}})(TableHeaderRow);var __importStar$a=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$a=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(TableHeader$1,"__esModule",{value:!0});var React$d=__importStar$a(reactExports),PropTypes$4=__importStar$a(propTypesExports),TableHeaderRow_1=__importDefault$a(TableHeaderRow$1);function getHeaderRows(o){var $=o.columns,_e=$===void 0?[]:$,et=o.currentRow,tt=et===void 0?0:et,rt=o.rows,at=rt===void 0?[]:rt,nt=o.isLast,it=nt===void 0?!0:nt;return at[tt]=at[tt]||[],_e.forEach(function(ot,st){if(ot.rowSpan&&at.length0})}var TableHeader=function($,_e){var et=_e.table,tt=et.components,rt=et.props,at=rt.prefixCls,nt=rt.showHeader,it=rt.onHeaderRow,ot=$.expander,st=$.columns,lt=$.fixed;if(!nt)return null;var ct=getHeaderRows({columns:st});ot.renderExpandIndentCell(ct,lt);var ut=tt.header.wrapper;return React$d.createElement(ut,{className:"".concat(at,"-thead")},ct.map(function(ft,At){return React$d.createElement(TableHeaderRow_1.default,{prefixCls:at,key:At,index:At,fixed:lt,columns:st,rows:ct,row:ft,components:tt,onHeaderRow:it})}))};TableHeader.contextTypes={table:PropTypes$4.any};TableHeader$1.default=TableHeader;var TableRow$1={},TableCell$1={};function _typeof$w(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$w=function(_e){return typeof _e}:_typeof$w=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$w(o)}function ownKeys$5(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$5(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$F(o){return _getPrototypeOf$F=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$F(o)}var __importStar$9=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$9=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(TableCell$1,"__esModule",{value:!0});var React$c=__importStar$9(reactExports),classnames_1$4=__importDefault$9(classnamesExports),get_1=__importDefault$9(get_1$1);function isInvalidRenderCellText(o){return o&&!React$c.isValidElement(o)&&Object.prototype.toString.call(o)==="[object Object]"}var TableCell=function(o){_inherits$1k(_e,o);var $=_createSuper$x(_e);function _e(){var et;return _classCallCheck$1k(this,_e),et=$.apply(this,arguments),et.handleClick=function(tt){var rt=et.props,at=rt.record,nt=rt.column.onCellClick;nt&&nt(at,tt)},et}return _createClass$1f(_e,[{key:"render",value:function(){var tt,rt=this.props,at=rt.record,nt=rt.indentSize,it=rt.prefixCls,ot=rt.indent,st=rt.index,lt=rt.expandIcon,ct=rt.column,ut=rt.component,ft=ct.dataIndex,At=ct.render,vt=ct.className,ht=vt===void 0?"":vt,bt;typeof ft=="number"?bt=get_1.default(at,ft):!ft||ft.length===0?bt=at:bt=get_1.default(at,ft);var pt={},dt,_t;if(At&&(bt=At(bt,at,st),isInvalidRenderCellText(bt))){pt=bt.props||pt;var Ct=pt;dt=Ct.colSpan,_t=Ct.rowSpan,bt=bt.children}ct.onCell&&(pt=_objectSpread$5({},pt,{},ct.onCell(at,st))),isInvalidRenderCellText(bt)&&(bt=null);var gt=lt?React$c.createElement("span",{style:{paddingLeft:"".concat(nt*ot,"px")},className:"".concat(it,"-indent indent-level-").concat(ot)}):null;if(_t===0||dt===0)return null;ct.align&&(pt.style=_objectSpread$5({textAlign:ct.align},pt.style));var yt=classnames_1$4.default(ht,(tt={},_defineProperty$C(tt,"".concat(it,"-cell-ellipsis"),!!ct.ellipsis),_defineProperty$C(tt,"".concat(it,"-cell-break-word"),!!ct.width),tt));if(ct.ellipsis){if(typeof bt=="string")pt.title=bt;else if(bt){var xt=bt,Et=xt.props;Et&&Et.children&&typeof Et.children=="string"&&(pt.title=Et.children)}}return React$c.createElement(ut,Object.assign({className:yt,onClick:this.handleClick},pt),gt,lt,bt)}}]),_e}(React$c.Component);TableCell$1.default=TableCell;function _typeof$v(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$v=function(_e){return typeof _e}:_typeof$v=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$v(o)}function _objectWithoutProperties$5(o,$){if(o==null)return{};var _e=_objectWithoutPropertiesLoose$2(o,$),et,tt;if(Object.getOwnPropertySymbols){var rt=Object.getOwnPropertySymbols(o);for(tt=0;tt=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$2(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function ownKeys$4(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$4(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$E(o){return _getPrototypeOf$E=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$E(o)}var __importStar$8=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$8=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(TableRow$1,"__esModule",{value:!0});var React$b=__importStar$8(reactExports),react_dom_1=__importDefault$8(reactDomExports),warning_1$1=__importDefault$8(warning$3),mini_store_1$4=lib$5,react_lifecycles_compat_1$2=require$$16,classnames_1$3=__importDefault$8(classnamesExports),TableCell_1=__importDefault$8(TableCell$1),TableRow=function(o){_inherits$1j(_e,o);var $=_createSuper$w(_e);function _e(){var et;return _classCallCheck$1j(this,_e),et=$.apply(this,arguments),et.state={},et.onTriggerEvent=function(tt,rt,at){var nt=et.props,it=nt.record,ot=nt.index;return function(){at&&at();for(var st=arguments.length,lt=new Array(st),ct=0;ct=0&&this.setRowHeight())}},{key:"render",value:function(){if(!this.state.shouldRender)return null;var tt=this.props,rt=tt.prefixCls,at=tt.columns,nt=tt.record,it=tt.rowKey,ot=tt.index,st=tt.onRow,lt=tt.indent,ct=tt.indentSize,ut=tt.hovered,ft=tt.height,At=tt.visible,vt=tt.components,ht=tt.hasExpandIcon,bt=tt.renderExpandIcon,pt=tt.renderExpandIconCell,dt=tt.onRowClick,_t=tt.onRowDoubleClick,Ct=tt.onRowMouseEnter,gt=tt.onRowMouseLeave,yt=tt.onRowContextMenu,xt=vt.body.row,Et=vt.body.cell,It=this.props.className;ut&&(It+=" ".concat(rt,"-hover"));var Tt=[];pt(Tt);for(var Rt=0;Rt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$D(o){return _getPrototypeOf$D=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$D(o)}var __importStar$7=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$7=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ExpandIcon$1,"__esModule",{value:!0});var React$a=__importStar$7(reactExports),shallowequal_1$2=__importDefault$7(shallowequal),ExpandIcon=function(o){_inherits$1i(_e,o);var $=_createSuper$v(_e);function _e(){return _classCallCheck$1i(this,_e),$.apply(this,arguments)}return _createClass$1d(_e,[{key:"shouldComponentUpdate",value:function(tt){return!shallowequal_1$2.default(tt,this.props)}},{key:"render",value:function(){var tt=this.props,rt=tt.expandable,at=tt.prefixCls,nt=tt.onExpand,it=tt.needIndentSpaced,ot=tt.expanded,st=tt.record;if(rt){var lt=ot?"expanded":"collapsed";return React$a.createElement("span",{className:"".concat(at,"-expand-icon ").concat(at,"-").concat(lt),onClick:function(ut){return nt(st,ut)}})}return it?React$a.createElement("span",{className:"".concat(at,"-expand-icon ").concat(at,"-spaced")}):null}}]),_e}(React$a.Component);ExpandIcon$1.default=ExpandIcon;function _typeof$t(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$t=function(_e){return typeof _e}:_typeof$t=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$t(o)}function _classCallCheck$1h(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$v(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1c(o,$,_e){return $&&_defineProperties$v(o.prototype,$),_e&&_defineProperties$v(o,_e),o}function _inherits$1h(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$z(o,$)}function _setPrototypeOf$z(o,$){return _setPrototypeOf$z=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$z(o,$)}function _createSuper$u(o){return function(){var $=_getPrototypeOf$C(o),_e;if(_isNativeReflectConstruct$u()){var et=_getPrototypeOf$C(this).constructor;_e=Reflect.construct($,arguments,et)}else _e=$.apply(this,arguments);return _possibleConstructorReturn$1h(this,_e)}}function _possibleConstructorReturn$1h(o,$){return $&&(_typeof$t($)==="object"||typeof $=="function")?$:_assertThisInitialized$z(o)}function _assertThisInitialized$z(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$u(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$C(o){return _getPrototypeOf$C=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$C(o)}var __importStar$6=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$6=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ExpandableRow$1,"__esModule",{value:!0});var React$9=__importStar$6(reactExports),mini_store_1$3=lib$5,ExpandIcon_1=__importDefault$6(ExpandIcon$1),ExpandableRow=function(o){_inherits$1h(_e,o);var $=_createSuper$u(_e);function _e(){var et;return _classCallCheck$1h(this,_e),et=$.apply(this,arguments),et.hasExpandIcon=function(tt){var rt=et.props,at=rt.expandRowByClick,nt=rt.expandIcon;return et.expandIconAsCell||tt!==et.expandIconColumnIndex?!1:!!nt||!at},et.handleExpandChange=function(tt,rt){var at=et.props,nt=at.onExpandedChange,it=at.expanded,ot=at.rowKey;et.expandable&&nt(!it,tt,rt,ot)},et.handleRowClick=function(tt,rt,at){var nt=et.props,it=nt.expandRowByClick,ot=nt.onRowClick;it&&et.handleExpandChange(tt,at),ot&&ot(tt,rt,at)},et.renderExpandIcon=function(){var tt=et.props,rt=tt.prefixCls,at=tt.expanded,nt=tt.record,it=tt.needIndentSpaced,ot=tt.expandIcon;return ot?ot({prefixCls:rt,expanded:at,record:nt,needIndentSpaced:it,expandable:et.expandable,onExpand:et.handleExpandChange}):React$9.createElement(ExpandIcon_1.default,{expandable:et.expandable,prefixCls:rt,onExpand:et.handleExpandChange,needIndentSpaced:it,expanded:at,record:nt})},et.renderExpandIconCell=function(tt){if(et.expandIconAsCell){var rt=et.props.prefixCls;tt.push(React$9.createElement("td",{className:"".concat(rt,"-expand-icon-cell"),key:"rc-table-expand-icon-cell"},et.renderExpandIcon()))}},et}return _createClass$1c(_e,[{key:"componentWillUnmount",value:function(){this.handleDestroy()}},{key:"handleDestroy",value:function(){var tt=this.props,rt=tt.onExpandedChange,at=tt.rowKey,nt=tt.record;this.expandable&&rt(!1,nt,null,at,!0)}},{key:"render",value:function(){var tt=this.props,rt=tt.childrenColumnName,at=tt.expandedRowRender,nt=tt.indentSize,it=tt.record,ot=tt.fixed,st=tt.expanded;this.expandIconAsCell=ot!=="right"?this.props.expandIconAsCell:!1,this.expandIconColumnIndex=ot!=="right"?this.props.expandIconColumnIndex:-1;var lt=it[rt];this.expandable=!!(lt||at);var ct={indentSize:nt,expanded:st,onRowClick:this.handleRowClick,hasExpandIcon:this.hasExpandIcon,renderExpandIcon:this.renderExpandIcon,renderExpandIconCell:this.renderExpandIconCell};return this.props.children(ct)}}]),_e}(React$9.Component);ExpandableRow$1.default=mini_store_1$3.connect(function(o,$){var _e=o.expandedRowKeys,et=_e===void 0?[]:_e,tt=$.rowKey;return{expanded:et.includes(tt)}})(ExpandableRow);function _typeof$s(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$s=function(_e){return typeof _e}:_typeof$s=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$s(o)}function ownKeys$3(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$3(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$B(o){return _getPrototypeOf$B=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$B(o)}var __importStar$5=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$5=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(BaseTable$1,"__esModule",{value:!0});var React$8=__importStar$5(reactExports),PropTypes$3=__importStar$5(propTypesExports),mini_store_1$2=lib$5,classnames_1$2=__importDefault$5(classnamesExports),ColGroup_1=__importDefault$5(ColGroup$1),TableHeader_1=__importDefault$5(TableHeader$1),TableRow_1$1=__importDefault$5(TableRow$1),ExpandableRow_1=__importDefault$5(ExpandableRow$1),BaseTable=function(o){_inherits$1g(_e,o);var $=_createSuper$t(_e);function _e(){var et;return _classCallCheck$1g(this,_e),et=$.apply(this,arguments),et.handleRowHover=function(tt,rt){et.props.store.setState({currentHoverKey:tt?rt:null})},et.renderRows=function(tt,rt){for(var at=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],nt=et.context.table,it=nt.columnManager,ot=nt.components,st=nt.props,lt=st.prefixCls,ct=st.childrenColumnName,ut=st.rowClassName,ft=st.rowRef,At=st.onRowClick,vt=st.onRowDoubleClick,ht=st.onRowContextMenu,bt=st.onRowMouseEnter,pt=st.onRowMouseLeave,dt=st.onRow,_t=et.props,Ct=_t.getRowKey,gt=_t.fixed,yt=_t.expander,xt=_t.isAnyColumnsFixed,Et=[],It=function(Ot){var Mt=tt[Ot],Bt=Ct(Mt,Ot),Lt=typeof ut=="string"?ut:ut(Mt,Ot,rt),Vt={};it.isAnyColumnsFixed()&&(Vt.onHover=et.handleRowHover);var zt=void 0;gt==="left"?zt=it.leftLeafColumns():gt==="right"?zt=it.rightLeafColumns():zt=et.getColumns(it.leafColumns());var Nt="".concat(lt,"-row"),Wt=React$8.createElement(ExpandableRow_1.default,Object.assign({},yt.props,{fixed:gt,index:Ot,prefixCls:Nt,record:Mt,key:Bt,rowKey:Bt,onRowClick:At,needIndentSpaced:yt.needIndentSpaced,onExpandedChange:yt.handleExpandChange}),function(Jt){return React$8.createElement(TableRow_1$1.default,Object.assign({fixed:gt,indent:rt,className:Lt,record:Mt,index:Ot,prefixCls:Nt,childrenColumnName:ct,columns:zt,onRow:dt,onRowDoubleClick:vt,onRowContextMenu:ht,onRowMouseEnter:bt,onRowMouseLeave:pt},Vt,{rowKey:Bt,ancestorKeys:at,ref:ft(Mt,Ot,rt),components:ot,isAnyColumnsFixed:xt},Jt))});Et.push(Wt),yt.renderRows(et.renderRows,Et,Mt,Ot,rt,gt,Bt,at)},Tt=0;Tt0&&!it&&(ft.marginBottom="-".concat(vt,"px"),ft.paddingBottom="0px",ft.minWidth="".concat(At,"px"),ft.overflowX="scroll",ft.overflowY=At===0?"hidden":"scroll")}return!ut||!at?null:React$7.createElement("div",{key:"headTable",ref:it?null:ct("headTable"),className:classnames_1$1.default("".concat(tt,"-header"),_defineProperty$z({},"".concat(tt,"-hide-scrollbar"),At>0)),style:ft,onScroll:st},React$7.createElement(BaseTable_1$1.default,{tableClassName:ot,hasHead:!0,hasBody:!1,fixed:it,columns:nt,expander:lt}))}HeadTable$1.default=HeadTable;HeadTable.contextTypes={table:PropTypes$2.any};var BodyTable$1={};function ownKeys$2(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$2(o){for(var $=1;$0&&nt&&(vt.marginBottom="-".concat(bt,"px"),vt.paddingBottom="0px")}var pt=React$6.createElement(BaseTable_1.default,{tableClassName:it,hasHead:!At,hasBody:!0,fixed:nt,columns:at,expander:ct,getRowKey:ot,isAnyColumnsFixed:ut});if(nt&&at.length){var dt;return at[0].fixed==="left"||at[0].fixed===!0?dt="fixedColumnsBodyLeft":at[0].fixed==="right"&&(dt="fixedColumnsBodyRight"),delete vt.overflowX,delete vt.overflowY,React$6.createElement("div",{key:"bodyTable",className:"".concat(tt,"-body-outer"),style:_objectSpread$2({},vt)},React$6.createElement("div",{className:"".concat(tt,"-body-inner"),style:ht,ref:ft(dt),onWheel:lt,onScroll:st},pt))}var _t=rt&&(rt.x||rt.y);return React$6.createElement("div",{tabIndex:_t?-1:void 0,key:"bodyTable",className:"".concat(tt,"-body"),style:vt,ref:ft("bodyTable"),onWheel:lt,onScroll:st},pt)}BodyTable$1.default=BodyTable;BodyTable.contextTypes={table:PropTypes$1.any};var Column$4={};Object.defineProperty(Column$4,"__esModule",{value:!0});var Column$3=function(){return null};Column$4.default=Column$3;var ColumnGroup$2={};function _typeof$r(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$r=function(_e){return typeof _e}:_typeof$r=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$r(o)}function _classCallCheck$1f(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _inherits$1f(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$x(o,$)}function _setPrototypeOf$x(o,$){return _setPrototypeOf$x=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$x(o,$)}function _createSuper$s(o){return function(){var $=_getPrototypeOf$A(o),_e;if(_isNativeReflectConstruct$s()){var et=_getPrototypeOf$A(this).constructor;_e=Reflect.construct($,arguments,et)}else _e=$.apply(this,arguments);return _possibleConstructorReturn$1f(this,_e)}}function _possibleConstructorReturn$1f(o,$){return $&&(_typeof$r($)==="object"||typeof $=="function")?$:_assertThisInitialized$x(o)}function _assertThisInitialized$x(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$s(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$A(o){return _getPrototypeOf$A=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$A(o)}var __importStar$2=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$};Object.defineProperty(ColumnGroup$2,"__esModule",{value:!0});var React$5=__importStar$2(reactExports),ColumnGroup$1=function(o){_inherits$1f(_e,o);var $=_createSuper$s(_e);function _e(){return _classCallCheck$1f(this,_e),$.apply(this,arguments)}return _e}(React$5.Component);ColumnGroup$2.default=ColumnGroup$1;ColumnGroup$1.isTableColumnGroup=!0;var ExpandableTable$1={};function _typeof$q(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$q=function(_e){return typeof _e}:_typeof$q=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$q(o)}function ownKeys$1(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$1(o){for(var $=1;$o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _classCallCheck$1e(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$t(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1a(o,$,_e){return $&&_defineProperties$t(o.prototype,$),_e&&_defineProperties$t(o,_e),o}function _inherits$1e(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$w(o,$)}function _setPrototypeOf$w(o,$){return _setPrototypeOf$w=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$w(o,$)}function _createSuper$r(o){return function(){var $=_getPrototypeOf$z(o),_e;if(_isNativeReflectConstruct$r()){var et=_getPrototypeOf$z(this).constructor;_e=Reflect.construct($,arguments,et)}else _e=$.apply(this,arguments);return _possibleConstructorReturn$1e(this,_e)}}function _possibleConstructorReturn$1e(o,$){return $&&(_typeof$q($)==="object"||typeof $=="function")?$:_assertThisInitialized$w(o)}function _assertThisInitialized$w(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$r(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$z(o){return _getPrototypeOf$z=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$z(o)}var __importStar$1=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$2=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ExpandableTable$1,"__esModule",{value:!0});var React$4=__importStar$1(reactExports),mini_store_1$1=lib$5,react_lifecycles_compat_1$1=require$$16,shallowequal_1$1=__importDefault$2(shallowequal),TableRow_1=__importDefault$2(TableRow$1),utils_1$2=utils$2,ExpandableTable=function(o){_inherits$1e(_e,o);var $=_createSuper$r(_e);function _e(et){var tt;_classCallCheck$1e(this,_e),tt=$.call(this,et),tt.handleExpandChange=function(At,vt,ht,bt){var pt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;ht&&ht.stopPropagation();var dt=tt.props,_t=dt.onExpandedRowsChange,Ct=dt.onExpand,gt=tt.store.getState(),yt=gt.expandedRowKeys;if(At)yt=[].concat(_toConsumableArray$7(yt),[bt]);else{var xt=yt.indexOf(bt);xt!==-1&&(yt=utils_1$2.remove(yt,bt))}tt.props.expandedRowKeys||tt.store.setState({expandedRowKeys:yt}),(!tt.latestExpandedRows||!shallowequal_1$1.default(tt.latestExpandedRows,yt))&&(tt.latestExpandedRows=yt,_t(yt)),pt||Ct(At,vt)},tt.renderExpandIndentCell=function(At,vt){var ht=tt.props,bt=ht.prefixCls,pt=ht.expandIconAsCell;if(!(!pt||vt==="right"||!At.length)){var dt={key:"rc-table-expand-icon-cell",className:"".concat(bt,"-expand-icon-th"),title:"",rowSpan:At.length};At[0].unshift(_objectSpread$1({},dt,{column:dt}))}},tt.renderRows=function(At,vt,ht,bt,pt,dt,_t,Ct){var gt=tt.props,yt=gt.expandedRowClassName,xt=gt.expandedRowRender,Et=gt.childrenColumnName,It=ht[Et],Tt=[].concat(_toConsumableArray$7(Ct),[_t]),Rt=pt+1;xt&&vt.push(tt.renderExpandedRow(ht,bt,xt,yt(ht,bt,pt),Tt,Rt,dt)),It&&vt.push.apply(vt,_toConsumableArray$7(At(It,Rt,Tt)))};var rt=et.data,at=et.childrenColumnName,nt=et.defaultExpandAllRows,it=et.expandedRowKeys,ot=et.defaultExpandedRowKeys,st=et.getRowKey,lt=[],ct=_toConsumableArray$7(rt);if(nt)for(var ut=0;ut"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$y(o){return _getPrototypeOf$y=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$y(o)}var __importStar=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$1=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Table$3,"__esModule",{value:!0});var React$3=__importStar(reactExports),PropTypes=__importStar(propTypesExports),shallowequal_1=__importDefault$1(shallowequal),addEventListener_1=__importDefault$1(addEventListener),warning_1=__importDefault$1(warning$3),mini_store_1=lib$5,merge_1=__importDefault$1(merge_1$1),component_classes_1=__importDefault$1(componentClasses),classnames_1=__importDefault$1(classnamesExports),react_lifecycles_compat_1=require$$16,utils_1$1=utils$2,ColumnManager_1=__importDefault$1(ColumnManager$1),HeadTable_1=__importDefault$1(HeadTable$1),BodyTable_1=__importDefault$1(BodyTable$1),Column_1$1=__importDefault$1(Column$4),ColumnGroup_1$1=__importDefault$1(ColumnGroup$2),ExpandableTable_1=__importDefault$1(ExpandableTable$1),Table$2=function(o){_inherits$1d(_e,o);var $=_createSuper$q(_e);function _e(et){var tt;return _classCallCheck$1d(this,_e),tt=$.call(this,et),tt.state={},tt.getRowKey=function(rt,at){var nt=tt.props.rowKey,it=typeof nt=="function"?nt(rt,at):rt[nt];return warning_1.default(it!==void 0,"Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key."),it===void 0?at:it},tt.handleWindowResize=function(){tt.syncFixedTableRowHeight(),tt.setScrollPositionClassName()},tt.syncFixedTableRowHeight=function(){var rt=tt.tableNode.getBoundingClientRect();if(!(rt.height!==void 0&&rt.height<=0)){var at=tt.props.prefixCls,nt=tt.headTable?tt.headTable.querySelectorAll("thead"):tt.bodyTable.querySelectorAll("thead"),it=tt.bodyTable.querySelectorAll(".".concat(at,"-row"))||[],ot=[].map.call(nt,function(ct){return ct.getBoundingClientRect().height||"auto"}),st=tt.store.getState(),lt=[].reduce.call(it,function(ct,ut){var ft=ut.getAttribute("data-row-key"),At=ut.getBoundingClientRect().height||st.fixedColumnsBodyRowsHeight[ft]||"auto";return ct[ft]=At,ct},{});shallowequal_1.default(st.fixedColumnsHeadRowsHeight,ot)&&shallowequal_1.default(st.fixedColumnsBodyRowsHeight,lt)||tt.store.setState({fixedColumnsHeadRowsHeight:ot,fixedColumnsBodyRowsHeight:lt})}},tt.handleBodyScrollLeft=function(rt){if(rt.currentTarget===rt.target){var at=rt.target,nt=tt.props.scroll,it=nt===void 0?{}:nt,ot=_assertThisInitialized$v(tt),st=ot.headTable,lt=ot.bodyTable;at.scrollLeft!==tt.lastScrollLeft&&it.x&&(at===lt&&st?st.scrollLeft=at.scrollLeft:at===st&<&&(lt.scrollLeft=at.scrollLeft),tt.setScrollPositionClassName()),tt.lastScrollLeft=at.scrollLeft}},tt.handleBodyScrollTop=function(rt){var at=rt.target;if(rt.currentTarget===at){var nt=tt.props.scroll,it=nt===void 0?{}:nt,ot=_assertThisInitialized$v(tt),st=ot.headTable,lt=ot.bodyTable,ct=ot.fixedColumnsBodyLeft,ut=ot.fixedColumnsBodyRight;if(at.scrollTop!==tt.lastScrollTop&&it.y&&at!==st){var ft=at.scrollTop;ct&&at!==ct&&(ct.scrollTop=ft),ut&&at!==ut&&(ut.scrollTop=ft),lt&&at!==lt&&(lt.scrollTop=ft)}tt.lastScrollTop=at.scrollTop}},tt.handleBodyScroll=function(rt){tt.handleBodyScrollLeft(rt),tt.handleBodyScrollTop(rt)},tt.handleWheel=function(rt){var at=tt.props.scroll,nt=at===void 0?{}:at;if(window.navigator.userAgent.match(/Trident\/7\./)&&nt.y){var it=rt.deltaY,ot=rt.target,st=_assertThisInitialized$v(tt),lt=st.bodyTable,ct=st.fixedColumnsBodyLeft,ut=st.fixedColumnsBodyRight,ft=0;tt.lastScrollTop?ft=tt.lastScrollTop+it:ft=it,ct&&ot!==ct&&(rt.preventDefault(),ct.scrollTop=ft),ut&&ot!==ut&&(rt.preventDefault(),ut.scrollTop=ft),lt&&ot!==lt&&(rt.preventDefault(),lt.scrollTop=ft)}},tt.saveRef=function(rt){return function(at){tt[rt]=at}},tt.saveTableNodeRef=function(rt){tt.tableNode=rt},["onRowClick","onRowDoubleClick","onRowContextMenu","onRowMouseEnter","onRowMouseLeave"].forEach(function(rt){warning_1.default(et[rt]===void 0,"".concat(rt," is deprecated, please use onRow instead."))}),warning_1.default(et.getBodyWrapper===void 0,"getBodyWrapper is deprecated, please use custom components instead."),tt.columnManager=new ColumnManager_1.default(et.columns,et.children),tt.store=mini_store_1.create({currentHoverKey:null,fixedColumnsHeadRowsHeight:[],fixedColumnsBodyRowsHeight:{}}),tt.setScrollPosition("left"),tt.debouncedWindowResize=utils_1$1.debounce(tt.handleWindowResize,150),tt}return _createClass$19(_e,[{key:"getChildContext",value:function(){return{table:{props:this.props,columnManager:this.columnManager,saveRef:this.saveRef,components:merge_1.default({table:"table",header:{wrapper:"thead",row:"tr",cell:"th"},body:{wrapper:"tbody",row:"tr",cell:"td"}},this.props.components)}}}},{key:"componentDidMount",value:function(){this.columnManager.isAnyColumnsFixed()&&(this.handleWindowResize(),this.resizeEvent=addEventListener_1.default(window,"resize",this.debouncedWindowResize)),this.headTable&&(this.headTable.scrollLeft=0),this.bodyTable&&(this.bodyTable.scrollLeft=0)}},{key:"componentDidUpdate",value:function(tt){this.columnManager.isAnyColumnsFixed()&&(this.handleWindowResize(),this.resizeEvent||(this.resizeEvent=addEventListener_1.default(window,"resize",this.debouncedWindowResize))),tt.data.length>0&&this.props.data.length===0&&this.hasScrollX()&&this.resetScrollX()}},{key:"componentWillUnmount",value:function(){this.resizeEvent&&this.resizeEvent.remove(),this.debouncedWindowResize&&this.debouncedWindowResize.cancel()}},{key:"setScrollPosition",value:function(tt){if(this.scrollPosition=tt,this.tableNode){var rt=this.props.prefixCls;tt==="both"?component_classes_1.default(this.tableNode).remove(new RegExp("^".concat(rt,"-scroll-position-.+$"))).add("".concat(rt,"-scroll-position-left")).add("".concat(rt,"-scroll-position-right")):component_classes_1.default(this.tableNode).remove(new RegExp("^".concat(rt,"-scroll-position-.+$"))).add("".concat(rt,"-scroll-position-").concat(tt))}}},{key:"setScrollPositionClassName",value:function(){var tt=this.bodyTable,rt=tt.scrollLeft===0,at=tt.scrollLeft+1>=tt.children[0].getBoundingClientRect().width-tt.getBoundingClientRect().width;rt&&at?this.setScrollPosition("both"):rt?this.setScrollPosition("left"):at?this.setScrollPosition("right"):this.scrollPosition!=="middle"&&this.setScrollPosition("middle")}},{key:"isTableLayoutFixed",value:function(){var tt=this.props,rt=tt.tableLayout,at=tt.columns,nt=at===void 0?[]:at,it=tt.useFixedHeader,ot=tt.scroll,st=ot===void 0?{}:ot;return typeof rt<"u"?rt==="fixed":!!(nt.some(function(lt){var ct=lt.ellipsis;return!!ct})||it||st.y||st.x&&st.x!==!0&&st.x!=="max-content")}},{key:"resetScrollX",value:function(){this.headTable&&(this.headTable.scrollLeft=0),this.bodyTable&&(this.bodyTable.scrollLeft=0)}},{key:"hasScrollX",value:function(){var tt=this.props.scroll,rt=tt===void 0?{}:tt;return"x"in rt}},{key:"renderMainTable",value:function(){var tt=this.props,rt=tt.scroll,at=tt.prefixCls,nt=this.columnManager.isAnyColumnsFixed(),it=nt||rt.x||rt.y,ot=[this.renderTable({columns:this.columnManager.groupedColumns(),isAnyColumnsFixed:nt}),this.renderEmptyText(),this.renderFooter()];return it?React$3.createElement("div",{className:"".concat(at,"-scroll")},ot):ot}},{key:"renderLeftFixedTable",value:function(){var tt=this.props.prefixCls;return React$3.createElement("div",{className:"".concat(tt,"-fixed-left")},this.renderTable({columns:this.columnManager.leftColumns(),fixed:"left"}))}},{key:"renderRightFixedTable",value:function(){var tt=this.props.prefixCls;return React$3.createElement("div",{className:"".concat(tt,"-fixed-right")},this.renderTable({columns:this.columnManager.rightColumns(),fixed:"right"}))}},{key:"renderTable",value:function(tt){var rt=tt.columns,at=tt.fixed,nt=tt.isAnyColumnsFixed,it=this.props,ot=it.prefixCls,st=it.scroll,lt=st===void 0?{}:st,ct=lt.x||at?"".concat(ot,"-fixed"):"",ut=React$3.createElement(HeadTable_1.default,{key:"head",columns:rt,fixed:at,tableClassName:ct,handleBodyScrollLeft:this.handleBodyScrollLeft,expander:this.expander}),ft=React$3.createElement(BodyTable_1.default,{key:"body",columns:rt,fixed:at,tableClassName:ct,getRowKey:this.getRowKey,handleWheel:this.handleWheel,handleBodyScroll:this.handleBodyScroll,expander:this.expander,isAnyColumnsFixed:nt});return[ut,ft]}},{key:"renderTitle",value:function(){var tt=this.props,rt=tt.title,at=tt.prefixCls;return rt?React$3.createElement("div",{className:"".concat(at,"-title"),key:"title"},rt(this.props.data)):null}},{key:"renderFooter",value:function(){var tt=this.props,rt=tt.footer,at=tt.prefixCls;return rt?React$3.createElement("div",{className:"".concat(at,"-footer"),key:"footer"},rt(this.props.data)):null}},{key:"renderEmptyText",value:function(){var tt=this.props,rt=tt.emptyText,at=tt.prefixCls,nt=tt.data;if(nt.length)return null;var it="".concat(at,"-placeholder");return React$3.createElement("div",{className:it,key:"emptyText"},typeof rt=="function"?rt():rt)}},{key:"render",value:function(){var tt,rt=this,at=this.props,nt=at.prefixCls;this.state.columns?this.columnManager.reset(at.columns):this.state.children&&this.columnManager.reset(null,at.children);var it=classnames_1.default(at.prefixCls,at.className,(tt={},_defineProperty$w(tt,"".concat(nt,"-fixed-header"),at.useFixedHeader||at.scroll&&at.scroll.y),_defineProperty$w(tt,"".concat(nt,"-scroll-position-left ").concat(nt,"-scroll-position-right"),this.scrollPosition==="both"),_defineProperty$w(tt,"".concat(nt,"-scroll-position-").concat(this.scrollPosition),this.scrollPosition!=="both"),_defineProperty$w(tt,"".concat(nt,"-layout-fixed"),this.isTableLayoutFixed()),tt)),ot=this.columnManager.isAnyColumnsLeftFixed(),st=this.columnManager.isAnyColumnsRightFixed(),lt=utils_1$1.getDataAndAriaProps(at);return React$3.createElement(mini_store_1.Provider,{store:this.store},React$3.createElement(ExpandableTable_1.default,Object.assign({},at,{columnManager:this.columnManager,getRowKey:this.getRowKey}),function(ct){return rt.expander=ct,React$3.createElement("div",Object.assign({ref:rt.saveTableNodeRef,className:it,style:at.style,id:at.id},lt),rt.renderTitle(),React$3.createElement("div",{className:"".concat(nt,"-content")},rt.renderMainTable(),ot&&rt.renderLeftFixedTable(),st&&rt.renderRightFixedTable()))}))}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){return tt.columns&&tt.columns!==rt.columns?{columns:tt.columns,children:null}:tt.children!==rt.children?{columns:null,children:tt.children}:null}}]),_e}(React$3.Component);Table$2.childContextTypes={table:PropTypes.any,components:PropTypes.any};Table$2.Column=Column_1$1.default;Table$2.ColumnGroup=ColumnGroup_1$1.default;Table$2.defaultProps={data:[],useFixedHeader:!1,rowKey:"key",rowClassName:function(){return""},onRow:function(){},onHeaderRow:function(){},prefixCls:"rc-table",bodyStyle:{},style:{},showHeader:!0,scroll:{},rowRef:function(){return null},emptyText:function(){return"No Data"}};react_lifecycles_compat_1.polyfill(Table$2);Table$3.default=Table$2;var __importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(es,"__esModule",{value:!0});var Table_1=__importDefault(Table$3),Column_1=__importDefault(Column$4);es.Column=Column_1.default;var ColumnGroup_1=__importDefault(ColumnGroup$2);es.ColumnGroup=ColumnGroup_1.default;var utils_1=utils$2,INTERNAL_COL_DEFINE=es.INTERNAL_COL_DEFINE=utils_1.INTERNAL_COL_DEFINE,_default$4=es.default=Table_1.default;function matches$1(o,$){var _e=window.Element.prototype,et=_e.matches||_e.mozMatchesSelector||_e.msMatchesSelector||_e.oMatchesSelector||_e.webkitMatchesSelector;if(!o||o.nodeType!==1)return!1;var tt=o.parentNode;if(et)return et.call(o,$);for(var rt=tt.querySelectorAll($),at=rt.length,nt=0;nto.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _extends$1u(){return _extends$1u=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:[],$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"children",_e=[],et=function tt(rt){rt.forEach(function(at){if(at[$]){var nt=_extends$1u({},at);delete nt[$],_e.push(nt),at[$].length>0&&tt(at[$])}else _e.push(at)})};return et(o),_e}function treeMap(o,$){var _e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"children";return o.map(function(et,tt){var rt={};return et[_e]&&(rt[_e]=treeMap(et[_e],$,_e)),_extends$1u(_extends$1u({},$(et,tt)),rt)})}function flatFilter(o,$){return o.reduce(function(_e,et){if($(et)&&_e.push(et),et.children){var tt=flatFilter(et.children,$);_e.push.apply(_e,_toConsumableArray$6(tt))}return _e},[])}function normalizeColumns(o){var $=[];return reactExports.Children.forEach(o,function(_e){if(reactExports.isValidElement(_e)){var et=_extends$1u({},_e.props);_e.key&&(et.key=_e.key),_e.type&&_e.type.__ANT_TABLE_COLUMN_GROUP&&(et.children=normalizeColumns(et.children)),$.push(et)}}),$}function generateValueMaps(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(o||[]).forEach(function(_e){var et=_e.value,tt=_e.children;$[et.toString()]=et,generateValueMaps(tt,$)}),$}function _typeof$o(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$o=function(_e){return typeof _e}:_typeof$o=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$o(o)}function _defineProperty$v(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$1c(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$r(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$18(o,$,_e){return $&&_defineProperties$r(o.prototype,$),_e&&_defineProperties$r(o,_e),o}function _inherits$1c(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$u(o,$)}function _setPrototypeOf$u(o,$){return _setPrototypeOf$u=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$u(o,$)}function _createSuper$p(o){var $=_isNativeReflectConstruct$p();return function(){var et=_getPrototypeOf$x(o),tt;if($){var rt=_getPrototypeOf$x(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1c(this,tt)}}function _possibleConstructorReturn$1c(o,$){return $&&(_typeof$o($)==="object"||typeof $=="function")?$:_assertThisInitialized$u(o)}function _assertThisInitialized$u(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$p(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$x(o){return _getPrototypeOf$x=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$x(o)}function stopPropagation$3(o){o.stopPropagation(),o.nativeEvent.stopImmediatePropagation&&o.nativeEvent.stopImmediatePropagation()}var FilterMenu=function(o){_inherits$1c(_e,o);var $=_createSuper$p(_e);function _e(et){var tt;_classCallCheck$1c(this,_e),tt=$.call(this,et),tt.setNeverShown=function(at){var nt=reactDomExports.findDOMNode(_assertThisInitialized$u(tt)),it=!!domClosest(nt,".ant-table-scroll");it&&(tt.neverShown=!!at.fixed)},tt.setSelectedKeys=function(at){var nt=at.selectedKeys;tt.setState({selectedKeys:nt})},tt.handleClearFilters=function(){tt.setState({selectedKeys:[]},tt.handleConfirm)},tt.handleConfirm=function(){tt.setVisible(!1),tt.setState({},tt.confirmFilter)},tt.onVisibleChange=function(at){tt.setVisible(at);var nt=tt.props.column;!at&&!(nt.filterDropdown instanceof Function)&&tt.confirmFilter()},tt.handleMenuItemClick=function(at){var nt=tt.state.selectedKeys;if(!(!at.keyPath||at.keyPath.length<=1)){var it=tt.state.keyPathOfSelectedItem;nt&&nt.indexOf(at.key)>=0?delete it[at.key]:it[at.key]=at.keyPath,tt.setState({keyPathOfSelectedItem:it})}},tt.renderFilterIcon=function(){var at,nt=tt.props,it=nt.column,ot=nt.locale,st=nt.prefixCls,lt=nt.selectedKeys,ct=lt&<.length>0,ut=it.filterIcon;typeof ut=="function"&&(ut=ut(ct));var ft=classNames((at={},_defineProperty$v(at,"".concat(st,"-selected"),"filtered"in it?it.filtered:ct),_defineProperty$v(at,"".concat(st,"-open"),tt.getDropdownVisible()),at));return ut?reactExports.isValidElement(ut)?reactExports.cloneElement(ut,{title:ut.props.title||ot.filterTitle,className:classNames("".concat(st,"-icon"),ft,ut.props.className),onClick:stopPropagation$3}):reactExports.createElement("span",{className:classNames("".concat(st,"-icon"),ft)},ut):reactExports.createElement(Icon$1,{title:ot.filterTitle,type:"filter",theme:"filled",className:ft,onClick:stopPropagation$3})};var rt="filterDropdownVisible"in et.column?et.column.filterDropdownVisible:!1;return tt.state={selectedKeys:et.selectedKeys,valueKeys:generateValueMaps(et.column.filters),keyPathOfSelectedItem:{},visible:rt,prevProps:et},tt}return _createClass$18(_e,[{key:"componentDidMount",value:function(){var tt=this.props.column;this.setNeverShown(tt)}},{key:"componentDidUpdate",value:function(){var tt=this.props.column;this.setNeverShown(tt)}},{key:"getDropdownVisible",value:function(){return this.neverShown?!1:this.state.visible}},{key:"setVisible",value:function(tt){var rt=this.props.column;"filterDropdownVisible"in rt||this.setState({visible:tt}),rt.onFilterDropdownVisibleChange&&rt.onFilterDropdownVisibleChange(tt)}},{key:"hasSubMenu",value:function(){var tt=this.props.column.filters,rt=tt===void 0?[]:tt;return rt.some(function(at){return!!(at.children&&at.children.length>0)})}},{key:"confirmFilter",value:function(){var tt=this.props,rt=tt.column,at=tt.selectedKeys,nt=tt.confirmFilter,it=this.state,ot=it.selectedKeys,st=it.valueKeys,lt=rt.filterDropdown;shallowequal(ot,at)||nt(rt,lt?ot:ot.map(function(ct){return st[ct]}).filter(function(ct){return ct!==void 0}))}},{key:"renderMenus",value:function(tt){var rt=this,at=this.props,nt=at.dropdownPrefixCls,it=at.prefixCls;return tt.map(function(ot){if(ot.children&&ot.children.length>0){var st=rt.state.keyPathOfSelectedItem,lt=Object.keys(st).some(function(ut){return st[ut].indexOf(ot.value)>=0}),ct=classNames("".concat(it,"-dropdown-submenu"),_defineProperty$v({},"".concat(nt,"-submenu-contain-selected"),lt));return reactExports.createElement(connected$2,{title:ot.text,popupClassName:ct,key:ot.value.toString()},rt.renderMenus(ot.children))}return rt.renderMenuItem(ot)})}},{key:"renderMenuItem",value:function(tt){var rt=this.props.column,at=this.state.selectedKeys,nt="filterMultiple"in rt?rt.filterMultiple:!0,it=(at||[]).map(function(st){return st.toString()}),ot=nt?reactExports.createElement(Checkbox$1,{checked:it.indexOf(tt.value.toString())>=0}):reactExports.createElement(Radio,{checked:it.indexOf(tt.value.toString())>=0});return reactExports.createElement(connected,{key:tt.value},ot,reactExports.createElement("span",null,tt.text))}},{key:"render",value:function(){var tt=this,rt=this.state.selectedKeys,at=this.props,nt=at.column,it=at.locale,ot=at.prefixCls,st=at.dropdownPrefixCls,lt=at.getPopupContainer,ct="filterMultiple"in nt?nt.filterMultiple:!0,ut=classNames(_defineProperty$v({},"".concat(st,"-menu-without-submenu"),!this.hasSubMenu())),ft=nt.filterDropdown;ft instanceof Function&&(ft=ft({prefixCls:"".concat(st,"-custom"),setSelectedKeys:function(ht){return tt.setSelectedKeys({selectedKeys:ht})},selectedKeys:rt,confirm:this.handleConfirm,clearFilters:this.handleClearFilters,filters:nt.filters,visible:this.getDropdownVisible()}));var At=ft?reactExports.createElement(FilterDropdownMenuWrapper$1,{className:"".concat(ot,"-dropdown")},ft):reactExports.createElement(FilterDropdownMenuWrapper$1,{className:"".concat(ot,"-dropdown")},reactExports.createElement(Menu$1,{multiple:ct,onClick:this.handleMenuItemClick,prefixCls:"".concat(st,"-menu"),className:ut,onSelect:this.setSelectedKeys,onDeselect:this.setSelectedKeys,selectedKeys:rt&&rt.map(function(vt){return vt.toString()}),getPopupContainer:lt},this.renderMenus(nt.filters)),reactExports.createElement("div",{className:"".concat(ot,"-dropdown-btns")},reactExports.createElement("a",{className:"".concat(ot,"-dropdown-link confirm"),onClick:this.handleConfirm},it.filterConfirm),reactExports.createElement("a",{className:"".concat(ot,"-dropdown-link clear"),onClick:this.handleClearFilters},it.filterReset)));return reactExports.createElement(Dropdown,{trigger:["click"],placement:"bottomRight",overlay:At,visible:this.getDropdownVisible(),onVisibleChange:this.onVisibleChange,getPopupContainer:lt,forceRender:!0},this.renderFilterIcon())}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=tt.column,nt=rt.prevProps,it={prevProps:tt};return"selectedKeys"in tt&&!shallowequal(nt.selectedKeys,tt.selectedKeys)&&(it.selectedKeys=tt.selectedKeys),shallowequal((nt.column||{}).filters,(tt.column||{}).filters)||(it.valueKeys=generateValueMaps(tt.column.filters)),"filterDropdownVisible"in at&&(it.visible=at.filterDropdownVisible),it}}]),_e}(reactExports.Component);FilterMenu.defaultProps={column:{}};polyfill(FilterMenu);const FilterDropdown=FilterMenu;function _extends$1t(){return _extends$1t=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$w(o){return _getPrototypeOf$w=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$w(o)}var __rest$i=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=0:it=rt.getState().selectedRowKeys.indexOf(nt)>=0||at.indexOf(nt)>=0,it}},{key:"subscribe",value:function(){var tt=this,rt=this.props.store;this.unsubscribe=rt.subscribe(function(){var at=tt.getCheckState(tt.props);tt.setState({checked:at})})}},{key:"render",value:function(){var tt=this.props,rt=tt.type,at=tt.rowIndex,nt=__rest$i(tt,["type","rowIndex"]),it=this.state.checked;return rt==="radio"?reactExports.createElement(Radio,_extends$1s({checked:it,value:at},nt)):reactExports.createElement(Checkbox$1,_extends$1s({checked:it},nt))}}]),_e}(reactExports.Component);function _typeof$m(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$m=function(_e){return typeof _e}:_typeof$m=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$m(o)}function _defineProperty$u(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$1a(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$p(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$16(o,$,_e){return $&&_defineProperties$p(o.prototype,$),_e&&_defineProperties$p(o,_e),o}function _inherits$1a(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$s(o,$)}function _setPrototypeOf$s(o,$){return _setPrototypeOf$s=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$s(o,$)}function _createSuper$n(o){var $=_isNativeReflectConstruct$n();return function(){var et=_getPrototypeOf$v(o),tt;if($){var rt=_getPrototypeOf$v(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1a(this,tt)}}function _possibleConstructorReturn$1a(o,$){return $&&(_typeof$m($)==="object"||typeof $=="function")?$:_assertThisInitialized$s(o)}function _assertThisInitialized$s(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$n(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$v(o){return _getPrototypeOf$v=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$v(o)}function _extends$1r(){return _extends$1r=Object.assign||function(o){for(var $=1;$=0})}function getIndeterminateState(o){var $=o.store,_e=o.data;if(!_e.length)return!1;var et=checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"some",byDefaultChecked:!1}))&&!checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!1})),tt=checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"some",byDefaultChecked:!0}))&&!checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!0}));return $.getState().selectionDirty?et:et||tt}function getCheckState(o){var $=o.store,_e=o.data;return _e.length?$.getState().selectionDirty?checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!1})):checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!1}))||checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!0})):!1}var SelectionCheckboxAll=function(o){_inherits$1a(_e,o);var $=_createSuper$n(_e);function _e(et){var tt;return _classCallCheck$1a(this,_e),tt=$.call(this,et),tt.state={checked:!1,indeterminate:!1},tt.handleSelectAllChange=function(rt){var at=rt.target.checked;tt.props.onSelect(at?"all":"removeAll",0,null)},tt.defaultSelections=et.hideDefaultSelections?[]:[{key:"all",text:et.locale.selectAll},{key:"invert",text:et.locale.selectInvert}],tt}return _createClass$16(_e,[{key:"componentDidMount",value:function(){this.subscribe()}},{key:"componentWillUnmount",value:function(){this.unsubscribe&&this.unsubscribe()}},{key:"setCheckState",value:function(tt){var rt=getCheckState(tt),at=getIndeterminateState(tt);this.setState(function(nt){var it={};return at!==nt.indeterminate&&(it.indeterminate=at),rt!==nt.checked&&(it.checked=rt),it})}},{key:"subscribe",value:function(){var tt=this,rt=this.props.store;this.unsubscribe=rt.subscribe(function(){tt.setCheckState(tt.props)})}},{key:"renderMenus",value:function(tt){var rt=this;return tt.map(function(at,nt){return reactExports.createElement(Menu.Item,{key:at.key||nt},reactExports.createElement("div",{onClick:function(){rt.props.onSelect(at.key,nt,at.onSelect)}},at.text))})}},{key:"render",value:function(){var tt=this.props,rt=tt.disabled,at=tt.prefixCls,nt=tt.selections,it=tt.getPopupContainer,ot=this.state,st=ot.checked,lt=ot.indeterminate,ct="".concat(at,"-selection"),ut=null;if(nt){var ft=Array.isArray(nt)?this.defaultSelections.concat(nt):this.defaultSelections,At=reactExports.createElement(Menu,{className:"".concat(ct,"-menu"),selectedKeys:[]},this.renderMenus(ft));ut=ft.length>0?reactExports.createElement(Dropdown,{overlay:At,getPopupContainer:it},reactExports.createElement("div",{className:"".concat(ct,"-down")},reactExports.createElement(Icon$1,{type:"down"}))):null}return reactExports.createElement("div",{className:ct},reactExports.createElement(Checkbox$1,{className:classNames(_defineProperty$u({},"".concat(ct,"-select-all-custom"),ut)),checked:st,indeterminate:lt,disabled:rt,onChange:this.handleSelectAllChange}),ut)}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=getCheckState(tt),nt=getIndeterminateState(tt),it={};return nt!==rt.indeterminate&&(it.indeterminate=nt),at!==rt.checked&&(it.checked=at),it}}]),_e}(reactExports.Component);polyfill(SelectionCheckboxAll);const SelectionCheckboxAll$1=SelectionCheckboxAll;function _typeof$l(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$l=function(_e){return typeof _e}:_typeof$l=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$l(o)}function _classCallCheck$19(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _inherits$19(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$r(o,$)}function _setPrototypeOf$r(o,$){return _setPrototypeOf$r=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$r(o,$)}function _createSuper$m(o){var $=_isNativeReflectConstruct$m();return function(){var et=_getPrototypeOf$u(o),tt;if($){var rt=_getPrototypeOf$u(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$19(this,tt)}}function _possibleConstructorReturn$19(o,$){return $&&(_typeof$l($)==="object"||typeof $=="function")?$:_assertThisInitialized$r(o)}function _assertThisInitialized$r(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$m(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$u(o){return _getPrototypeOf$u=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$u(o)}var Column$2=function(o){_inherits$19(_e,o);var $=_createSuper$m(_e);function _e(){return _classCallCheck$19(this,_e),$.apply(this,arguments)}return _e}(reactExports.Component);function _typeof$k(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$k=function(_e){return typeof _e}:_typeof$k=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$k(o)}function _classCallCheck$18(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _inherits$18(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$q(o,$)}function _setPrototypeOf$q(o,$){return _setPrototypeOf$q=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$q(o,$)}function _createSuper$l(o){var $=_isNativeReflectConstruct$l();return function(){var et=_getPrototypeOf$t(o),tt;if($){var rt=_getPrototypeOf$t(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$18(this,tt)}}function _possibleConstructorReturn$18(o,$){return $&&(_typeof$k($)==="object"||typeof $=="function")?$:_assertThisInitialized$q(o)}function _assertThisInitialized$q(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$l(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$t(o){return _getPrototypeOf$t=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$t(o)}var ColumnGroup=function(o){_inherits$18(_e,o);var $=_createSuper$l(_e);function _e(){return _classCallCheck$18(this,_e),$.apply(this,arguments)}return _e}(reactExports.Component);ColumnGroup.__ANT_TABLE_COLUMN_GROUP=!0;function _typeof$j(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$j=function(_e){return typeof _e}:_typeof$j=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$j(o)}function _extends$1q(){return _extends$1q=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$s(o){return _getPrototypeOf$s=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$s(o)}function createBodyRow(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"tr",$=function(_e){_inherits$17(tt,_e);var et=_createSuper$k(tt);function tt(rt){var at;_classCallCheck$17(this,tt),at=et.call(this,rt),at.store=rt.store;var nt=at.store.getState(),it=nt.selectedRowKeys;return at.state={selected:it.indexOf(rt.rowKey)>=0},at}return _createClass$15(tt,[{key:"componentDidMount",value:function(){this.subscribe()}},{key:"componentWillUnmount",value:function(){this.unsubscribe&&this.unsubscribe()}},{key:"subscribe",value:function(){var at=this,nt=this.props,it=nt.store,ot=nt.rowKey;this.unsubscribe=it.subscribe(function(){var st=at.store.getState(),lt=st.selectedRowKeys,ct=lt.indexOf(ot)>=0;ct!==at.state.selected&&at.setState({selected:ct})})}},{key:"render",value:function(){var at=omit(this.props,["prefixCls","rowKey","store"]),nt=classNames(this.props.className,_defineProperty$t({},"".concat(this.props.prefixCls,"-row-selected"),this.state.selected));return reactExports.createElement(o,_extends$1q(_extends$1q({},at),{className:nt}),this.props.children)}}]),tt}(reactExports.Component);return $}function getScroll(o,$){if(typeof window>"u")return 0;var _e=$?"pageYOffset":"pageXOffset",et=$?"scrollTop":"scrollLeft",tt=o===window,rt=tt?o[_e]:o[et];return tt&&typeof rt!="number"&&(rt=document.documentElement[et]),rt}function easeInOutCubic(o,$,_e,et){var tt=_e-$;return o/=et/2,o<1?tt/2*o*o*o+$:tt/2*((o-=2)*o*o+2)+$}function scrollTo$1(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_e=$.getContainer,et=_e===void 0?function(){return window}:_e,tt=$.callback,rt=$.duration,at=rt===void 0?450:rt,nt=et(),it=getScroll(nt,!0),ot=Date.now(),st=function lt(){var ct=Date.now(),ut=ct-ot,ft=easeInOutCubic(ut>at?at:ut,it,o,at);nt===window?window.scrollTo(window.pageXOffset,ft):nt.scrollTop=ft,ut=0||ot.relatedTarget.className.indexOf(ut+"-next")>=0)||ct(tt.getValidValue())},tt.go=function(ot){var st=tt.state.goInputText;st!==""&&(ot.keyCode===KEYCODE.ENTER||ot.type==="click")&&(tt.setState({goInputText:""}),tt.props.quickGo(tt.getValidValue()))},et),_default$9(tt,rt)}return _default$b($,[{key:"getValidValue",value:function(){var et=this.state,tt=et.goInputText,rt=et.current;return!tt||isNaN(tt)?rt:Number(tt)}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.pageSize,at=tt.pageSizeOptions,nt=tt.locale,it=tt.rootPrefixCls,ot=tt.changeSize,st=tt.quickGo,lt=tt.goButton,ct=tt.selectComponentClass,ut=tt.buildOptionText,ft=tt.selectPrefixCls,At=tt.disabled,vt=this.state.goInputText,ht=it+"-options",bt=ct,pt=null,dt=null,_t=null;if(!ot&&!st)return null;if(ot&&bt){var Ct=at.map(function(gt,yt){return React$k.createElement(bt.Option,{key:yt,value:gt},(ut||et.buildOptionText)(gt))});pt=React$k.createElement(bt,{disabled:At,prefixCls:ft,showSearch:!1,className:ht+"-size-changer",optionLabelProp:"children",dropdownMatchSelectWidth:!1,value:(rt||at[0]).toString(),onChange:this.changeSize,getPopupContainer:function(yt){return yt.parentNode}},Ct)}return st&&(lt&&(_t=typeof lt=="boolean"?React$k.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:At},nt.jump_to_confirm):React$k.createElement("span",{onClick:this.go,onKeyUp:this.go},lt)),dt=React$k.createElement("div",{className:ht+"-quick-jumper"},nt.jump_to,React$k.createElement("input",{disabled:At,type:"text",value:vt,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur}),nt.page,_t)),React$k.createElement("li",{className:""+ht},pt,dt)}}]),$}(React$k.Component);Options.propTypes={disabled:propTypesExports.bool,changeSize:propTypesExports.func,quickGo:propTypesExports.func,selectComponentClass:propTypesExports.func,current:propTypesExports.number,pageSizeOptions:propTypesExports.arrayOf(propTypesExports.string),pageSize:propTypesExports.number,buildOptionText:propTypesExports.func,locale:propTypesExports.object,rootPrefixCls:propTypesExports.string,selectPrefixCls:propTypesExports.string,goButton:propTypesExports.oneOfType([propTypesExports.bool,propTypesExports.node])};Options.defaultProps={pageSizeOptions:["10","20","30","40"]};const LOCALE={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页"};function noop$8(){}function isInteger(o){return typeof o=="number"&&isFinite(o)&&Math.floor(o)===o}function defaultItemRender(o,$,_e){return _e}function calculatePage(o,$,_e){var et=o;return typeof et>"u"&&(et=$.pageSize),Math.floor((_e.total-1)/et)+1}var Pagination$1=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));_initialiseProps$2.call(et);var tt=_e.onChange!==noop$8,rt="current"in _e;rt&&!tt&&console.warn("Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.");var at=_e.defaultCurrent;"current"in _e&&(at=_e.current);var nt=_e.defaultPageSize;return"pageSize"in _e&&(nt=_e.pageSize),at=Math.min(at,calculatePage(nt,void 0,_e)),et.state={current:at,currentInputValue:at,pageSize:nt},et}return _default$b($,[{key:"componentDidUpdate",value:function(et,tt){var rt=this.props.prefixCls;if(tt.current!==this.state.current&&this.paginationNode){var at=this.paginationNode.querySelector("."+rt+"-item-"+tt.current);at&&document.activeElement===at&&at.blur()}}},{key:"getValidValue",value:function(et){var tt=et.target.value,rt=calculatePage(void 0,this.state,this.props),at=this.state.currentInputValue,nt=void 0;return tt===""?nt=tt:isNaN(Number(tt))?nt=at:tt>=rt?nt=rt:nt=Number(tt),nt}},{key:"render",value:function(){var et=this.props,tt=et.prefixCls,rt=et.className,at=et.disabled;if(this.props.hideOnSinglePage===!0&&this.props.total<=this.state.pageSize)return null;var nt=this.props,it=nt.locale,ot=calculatePage(void 0,this.state,this.props),st=[],lt=null,ct=null,ut=null,ft=null,At=null,vt=nt.showQuickJumper&&nt.showQuickJumper.goButton,ht=nt.showLessItems?1:2,bt=this.state,pt=bt.current,dt=bt.pageSize,_t=pt-1>0?pt-1:0,Ct=pt+1=ht*2&&pt!==1+2&&(st[0]=React$k.cloneElement(st[0],{className:tt+"-item-after-jump-prev"}),st.unshift(lt)),ot-pt>=ht*2&&pt!==ot-2&&(st[st.length-1]=React$k.cloneElement(st[st.length-1],{className:tt+"-item-before-jump-next"}),st.push(ct)),Mt!==1&&st.unshift(ut),Bt!==ot&&st.push(ft)}var zt=null;nt.showTotal&&(zt=React$k.createElement("li",{className:tt+"-total-text"},nt.showTotal(nt.total,[nt.total===0?0:(pt-1)*dt+1,pt*dt>nt.total?nt.total:pt*dt])));var Nt=!this.hasPrev()||!ot,Wt=!this.hasNext()||!ot;return React$k.createElement("ul",_default$bE({className:classnamesExports(tt,rt,_default$e({},tt+"-disabled",at)),style:nt.style,unselectable:"unselectable",ref:this.savePaginationNode},gt),zt,React$k.createElement("li",{title:nt.showTitle?it.prev_page:null,onClick:this.prev,tabIndex:Nt?null:0,onKeyPress:this.runIfEnterPrev,className:(Nt?tt+"-disabled":"")+" "+tt+"-prev","aria-disabled":Nt},nt.itemRender(_t,"prev",this.getItemIcon(nt.prevIcon))),st,React$k.createElement("li",{title:nt.showTitle?it.next_page:null,onClick:this.next,tabIndex:Wt?null:0,onKeyPress:this.runIfEnterNext,className:(Wt?tt+"-disabled":"")+" "+tt+"-next","aria-disabled":Wt},nt.itemRender(Ct,"next",this.getItemIcon(nt.nextIcon))),React$k.createElement(Options,{disabled:at,locale:nt.locale,rootPrefixCls:tt,selectComponentClass:nt.selectComponentClass,selectPrefixCls:nt.selectPrefixCls,changeSize:this.props.showSizeChanger?this.changePageSize:null,current:this.state.current,pageSize:this.state.pageSize,pageSizeOptions:this.props.pageSizeOptions,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:vt}))}}],[{key:"getDerivedStateFromProps",value:function(et,tt){var rt={};if("current"in et&&(rt.current=et.current,et.current!==tt.current&&(rt.currentInputValue=rt.current)),"pageSize"in et&&et.pageSize!==tt.pageSize){var at=tt.current,nt=calculatePage(et.pageSize,tt,et);at=at>nt?nt:at,"current"in et||(rt.current=at,rt.currentInputValue=at),rt.pageSize=et.pageSize}return rt}}]),$}(React$k.Component);Pagination$1.propTypes={disabled:propTypesExports.bool,prefixCls:propTypesExports.string,className:propTypesExports.string,current:propTypesExports.number,defaultCurrent:propTypesExports.number,total:propTypesExports.number,pageSize:propTypesExports.number,defaultPageSize:propTypesExports.number,onChange:propTypesExports.func,hideOnSinglePage:propTypesExports.bool,showSizeChanger:propTypesExports.bool,showLessItems:propTypesExports.bool,onShowSizeChange:propTypesExports.func,selectComponentClass:propTypesExports.func,showPrevNextJumpers:propTypesExports.bool,showQuickJumper:propTypesExports.oneOfType([propTypesExports.bool,propTypesExports.object]),showTitle:propTypesExports.bool,pageSizeOptions:propTypesExports.arrayOf(propTypesExports.string),showTotal:propTypesExports.func,locale:propTypesExports.object,style:propTypesExports.object,itemRender:propTypesExports.func,prevIcon:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),nextIcon:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),jumpPrevIcon:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),jumpNextIcon:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node])};Pagination$1.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:noop$8,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showSizeChanger:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:noop$8,locale:LOCALE,style:{},itemRender:defaultItemRender};var _initialiseProps$2=function(){var $=this;this.getJumpPrevPage=function(){return Math.max(1,$.state.current-($.props.showLessItems?3:5))},this.getJumpNextPage=function(){return Math.min(calculatePage(void 0,$.state,$.props),$.state.current+($.props.showLessItems?3:5))},this.getItemIcon=function(_e){var et=$.props.prefixCls,tt=_e||React$k.createElement("a",{className:et+"-item-link"});return typeof _e=="function"&&(tt=React$k.createElement(_e,_default$bE({},$.props))),tt},this.savePaginationNode=function(_e){$.paginationNode=_e},this.isValid=function(_e){return isInteger(_e)&&_e!==$.state.current},this.shouldDisplayQuickJumper=function(){var _e=$.props,et=_e.showQuickJumper,tt=_e.pageSize,rt=_e.total;return rt<=tt?!1:et},this.handleKeyDown=function(_e){(_e.keyCode===KEYCODE.ARROW_UP||_e.keyCode===KEYCODE.ARROW_DOWN)&&_e.preventDefault()},this.handleKeyUp=function(_e){var et=$.getValidValue(_e),tt=$.state.currentInputValue;et!==tt&&$.setState({currentInputValue:et}),_e.keyCode===KEYCODE.ENTER?$.handleChange(et):_e.keyCode===KEYCODE.ARROW_UP?$.handleChange(et-1):_e.keyCode===KEYCODE.ARROW_DOWN&&$.handleChange(et+1)},this.changePageSize=function(_e){var et=$.state.current,tt=calculatePage(_e,$.state,$.props);et=et>tt?tt:et,tt===0&&(et=$.state.current),typeof _e=="number"&&("pageSize"in $.props||$.setState({pageSize:_e}),"current"in $.props||$.setState({current:et,currentInputValue:et})),$.props.onShowSizeChange(et,_e)},this.handleChange=function(_e){var et=$.props.disabled,tt=_e;if($.isValid(tt)&&!et){var rt=calculatePage(void 0,$.state,$.props);tt>rt?tt=rt:tt<1&&(tt=1),"current"in $.props||$.setState({current:tt,currentInputValue:tt});var at=$.state.pageSize;return $.props.onChange(tt,at),tt}return $.state.current},this.prev=function(){$.hasPrev()&&$.handleChange($.state.current-1)},this.next=function(){$.hasNext()&&$.handleChange($.state.current+1)},this.jumpPrev=function(){$.handleChange($.getJumpPrevPage())},this.jumpNext=function(){$.handleChange($.getJumpNextPage())},this.hasPrev=function(){return $.state.current>1},this.hasNext=function(){return $.state.current2?tt-2:0),at=2;at0)return!0;return!1}function splitBySeparators(o,$){var _e=new RegExp("[".concat($.join(),"]"));return o.split(_e).filter(function(et){return et})}function defaultFilterFn(o,$){if($.props.disabled)return!1;var _e=toArray$2(getPropValue($,this.props.optionFilterProp)).join("");return _e.toLowerCase().indexOf(o.toLowerCase())>-1}function validateOptionValue(o,$){if(!(isSingleMode($)||isMultiple($))&&typeof o!="string")throw new Error("Invalid `value` of type `".concat(typeof o,"` supplied to Option, ")+"expected `string` when `tags/combobox` is `true`.")}function saveRef(o,$){return function(_e){o[$]=_e}}function generateUUID(){var o=new Date().getTime(),$="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(_e){var et=(o+Math.random()*16)%16|0;return o=Math.floor(o/16),(_e==="x"?et:et&7|8).toString(16)});return $}function _extends$1p(){return _extends$1p=Object.assign||function(o){for(var $=1;$1&&arguments[1]!==void 0?arguments[1]:{},nt=at.needFocus,it=at.fireSearch,ot=et.props,st=et.state;if(st.open===rt){et.maybeFocus(rt,!!nt);return}et.props.onDropdownVisibleChange&&et.props.onDropdownVisibleChange(rt);var lt={open:rt,backfillValue:""};!rt&&isSingleMode(ot)&&ot.showSearch&&et.setInputValue("",it),rt||et.maybeFocus(rt,!!nt),et.setState(_extends$1n({open:rt},lt),function(){rt&&et.maybeFocus(rt,!!nt)})},et.setInputValue=function(rt){var at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,nt=et.props.onSearch;rt!==et.state.inputValue&&et.setState(function(it){return at&&rt!==it.inputValue&&nt&&nt(rt),{inputValue:rt}},et.forcePopupAlign)},et.getValueByInput=function(rt){var at=et.props,nt=at.multiple,it=at.tokenSeparators,ot=et.state.value,st=!1;return splitBySeparators(rt,it).forEach(function(lt){var ct=[lt];if(nt){var ut=et.getValueByLabel(lt);ut&&findIndexInValueBySingleValue(ot,ut)===-1&&(ot=ot.concat(ut),st=!0,et.fireSelect(ut))}else findIndexInValueBySingleValue(ot,lt)===-1&&(ot=ot.concat(ct),st=!0,et.fireSelect(lt))}),st?ot:void 0},et.getRealOpenState=function(rt){var at=et.props.open;if(typeof at=="boolean")return at;var nt=(rt||et.state).open,it=et._options||[];return(isMultipleOrTagsOrCombobox(et.props)||!et.props.showSearch)&&nt&&!it.length&&(nt=!1),nt},et.markMouseDown=function(){et._mouseDown=!0},et.markMouseLeave=function(){et._mouseDown=!1},et.handleBackfill=function(rt){if(!(!et.props.backfill||!(isSingleMode(et.props)||isCombobox(et.props)))){var at=getValuePropValue(rt);isCombobox(et.props)&&et.setInputValue(at,!1),et.setState({value:[at],backfillValue:at})}},et.filterOption=function(rt,at){var nt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:defaultFilterFn,it=et.state.value,ot=it[it.length-1];if(!rt||ot&&ot===et.state.backfillValue)return!0;var st=et.props.filterOption;if("filterOption"in et.props?st===!0&&(st=nt.bind(_assertThisInitialized$k(et))):st=nt.bind(_assertThisInitialized$k(et)),st){if(typeof st=="function")return st.call(_assertThisInitialized$k(et),rt,at);if(at.props.disabled)return!1}else return!0;return!0},et.timeoutFocus=function(){var rt=et.props.onFocus;et.focusTimer&&et.clearFocusTime(),et.focusTimer=window.setTimeout(function(){rt&&rt()},10)},et.clearFocusTime=function(){et.focusTimer&&(clearTimeout(et.focusTimer),et.focusTimer=null)},et.clearBlurTime=function(){et.blurTimer&&(clearTimeout(et.blurTimer),et.blurTimer=null)},et.clearComboboxTime=function(){et.comboboxTimer&&(clearTimeout(et.comboboxTimer),et.comboboxTimer=null)},et.updateFocusClassName=function(){var rt=et.rootRef,at=et.props;et._focused?componentClasses(rt).add("".concat(at.prefixCls,"-focused")):componentClasses(rt).remove("".concat(at.prefixCls,"-focused"))},et.maybeFocus=function(rt,at){if(at||rt){var nt=et.getInputDOMNode(),it=document,ot=it.activeElement;nt&&(rt||isMultipleOrTagsOrCombobox(et.props))?ot!==nt&&(nt.focus(),et._focused=!0):ot!==et.selectionRef&&et.selectionRef&&(et.selectionRef.focus(),et._focused=!0)}},et.removeSelected=function(rt,at){var nt=et.props;if(!(nt.disabled||et.isChildDisabled(rt))){at&&at.stopPropagation&&at.stopPropagation();var it=et.state.value,ot=it.filter(function(ct){return ct!==rt}),st=isMultipleOrTags(nt);if(st){var lt=rt;nt.labelInValue&&(lt={key:rt,label:et.getLabelBySingleValue(rt)}),nt.onDeselect&&nt.onDeselect(lt,et.getOptionBySingleValue(rt))}et.fireChange(ot)}},et.openIfHasChildren=function(){var rt=et.props;(reactExports.Children.count(rt.children)||isSingleMode(rt))&&et.setOpenState(!0)},et.fireSelect=function(rt){et.props.onSelect&&et.props.onSelect(et.getVLBySingleValue(rt),et.getOptionBySingleValue(rt))},et.fireChange=function(rt){var at=et.props;"value"in at||et.setState({value:rt},et.forcePopupAlign);var nt=et.getVLForOnChange(rt),it=et.getOptionsBySingleValue(rt);at.onChange&&at.onChange(nt,isMultipleOrTags(et.props)?it:it[0])},et.isChildDisabled=function(rt){return toArray$3(et.props.children).some(function(at){var nt=getValuePropValue(at);return nt===rt&&at.props&&at.props.disabled})},et.forcePopupAlign=function(){et.state.open&&et.selectTriggerRef&&et.selectTriggerRef.triggerRef&&et.selectTriggerRef.triggerRef.forcePopupAlign()},et.renderFilterOptions=function(){var rt=et.state.inputValue,at=et.props,nt=at.children,it=at.tags,ot=at.notFoundContent,st=[],lt=[],ct=!1,ut=et.renderFilterOptionsFromChildren(nt,lt,st);if(it){var ft=et.state.value;ft=ft.filter(function(At){return lt.indexOf(At)===-1&&(!rt||String(At).indexOf(String(rt))>-1)}),ft.sort(function(At,vt){return At.length-vt.length}),ft.forEach(function(At){var vt=At,ht=reactExports.createElement(connected,{style:UNSELECTABLE_STYLE,role:"option",attribute:UNSELECTABLE_ATTRIBUTE,value:vt,key:vt},vt);ut.push(ht),st.push(ht)}),rt&&st.every(function(At){return getValuePropValue(At)!==rt})&&ut.unshift(reactExports.createElement(connected,{style:UNSELECTABLE_STYLE,role:"option",attribute:UNSELECTABLE_ATTRIBUTE,value:rt,key:rt},rt))}return!ut.length&&ot&&(ct=!0,ut=[reactExports.createElement(connected,{style:UNSELECTABLE_STYLE,attribute:UNSELECTABLE_ATTRIBUTE,disabled:!0,role:"option",value:"NOT_FOUND",key:"NOT_FOUND"},ot)]),{empty:ct,options:ut}},et.renderFilterOptionsFromChildren=function(rt,at,nt){var it=[],ot=et.props,st=et.state.inputValue,lt=ot.tags;return reactExports.Children.forEach(rt,function(ct){if(ct){var ut=ct.type;if(ut.isSelectOptGroup){var ft=ct.props.label,At=ct.key;if(!At&&typeof ft=="string"?At=ft:!ft&&At&&(ft=At),st&&et.filterOption(st,ct)){var vt=toArray$3(ct.props.children).map(function(dt){var _t=getValuePropValue(dt)||dt.key;return reactExports.createElement(connected,_extends$1n({key:_t,value:_t},dt.props))});it.push(reactExports.createElement(MenuItemGroup,{key:At,title:ft},vt))}else{var ht=et.renderFilterOptionsFromChildren(ct.props.children,at,nt);ht.length&&it.push(reactExports.createElement(MenuItemGroup,{key:At,title:ft},ht))}return}warning_1$3(ut.isSelectOption,"the children of `Select` should be `Select.Option` or `Select.OptGroup`, "+"instead of `".concat(ut.name||ut.displayName||ct.type,"`."));var bt=getValuePropValue(ct);if(validateOptionValue(bt,et.props),et.filterOption(st,ct)){var pt=reactExports.createElement(connected,_extends$1n({style:UNSELECTABLE_STYLE,attribute:UNSELECTABLE_ATTRIBUTE,value:bt,key:bt,role:"option"},ct.props));it.push(pt),nt.push(pt)}lt&&at.push(bt)}}),it},et.renderTopControlNode=function(){var rt=et.state,at=rt.open,nt=rt.inputValue,it=et.state.value,ot=et.props,st=ot.choiceTransitionName,lt=ot.prefixCls,ct=ot.maxTagTextLength,ut=ot.maxTagCount,ft=ot.showSearch,At=ot.removeIcon,vt=ot.maxTagPlaceholder,ht="".concat(lt,"-selection__rendered"),bt=null;if(isSingleMode(ot)){var pt=null;if(it.length){var dt=!1,_t=1;ft&&at?(dt=!nt,dt&&(_t=.4)):dt=!0;var Ct=it[0],gt=et.getOptionInfoBySingleValue(Ct),yt=gt.label,xt=gt.title;pt=reactExports.createElement("div",{key:"value",className:"".concat(lt,"-selection-selected-value"),title:toTitle(xt||yt),style:{display:dt?"block":"none",opacity:_t}},yt)}ft?bt=[pt,reactExports.createElement("div",{className:"".concat(lt,"-search ").concat(lt,"-search--inline"),key:"input",style:{display:at?"block":"none"}},et.getInputElement())]:bt=[pt]}else{var Et=[],It=it,Tt;if(ut!==void 0&&it.length>ut){It=It.slice(0,ut);var Rt=et.getVLForOnChange(it.slice(ut,it.length)),Ot="+ ".concat(it.length-ut," ...");vt&&(Ot=typeof vt=="function"?vt(Rt):vt),Tt=reactExports.createElement("li",_extends$1n({style:UNSELECTABLE_STYLE},UNSELECTABLE_ATTRIBUTE,{role:"presentation",onMouseDown:preventDefaultEvent,className:"".concat(lt,"-selection__choice ").concat(lt,"-selection__choice__disabled"),key:"maxTagPlaceholder",title:toTitle(Ot)}),reactExports.createElement("div",{className:"".concat(lt,"-selection__choice__content")},Ot))}isMultipleOrTags(ot)&&(Et=It.map(function(Mt){var Bt=et.getOptionInfoBySingleValue(Mt),Lt=Bt.label,Vt=Bt.title||Lt;ct&&typeof Lt=="string"&&Lt.length>ct&&(Lt="".concat(Lt.slice(0,ct),"..."));var zt=et.isChildDisabled(Mt),Nt=zt?"".concat(lt,"-selection__choice ").concat(lt,"-selection__choice__disabled"):"".concat(lt,"-selection__choice");return reactExports.createElement("li",_extends$1n({style:UNSELECTABLE_STYLE},UNSELECTABLE_ATTRIBUTE,{onMouseDown:preventDefaultEvent,className:Nt,role:"presentation",key:Mt||SELECT_EMPTY_VALUE_KEY,title:toTitle(Vt)}),reactExports.createElement("div",{className:"".concat(lt,"-selection__choice__content")},Lt),zt?null:reactExports.createElement("span",{onClick:function(Jt){et.removeSelected(Mt,Jt)},className:"".concat(lt,"-selection__choice__remove")},At||reactExports.createElement("i",{className:"".concat(lt,"-selection__choice__remove-icon")},"×")))})),Tt&&Et.push(Tt),Et.push(reactExports.createElement("li",{className:"".concat(lt,"-search ").concat(lt,"-search--inline"),key:"__input"},et.getInputElement())),isMultipleOrTags(ot)&&st?bt=reactExports.createElement(Animate$1,{onLeave:et.onChoiceAnimationLeave,component:"ul",transitionName:st},Et):bt=reactExports.createElement("ul",null,Et)}return reactExports.createElement("div",{className:ht,ref:et.saveTopCtrlRef},et.getPlaceholderElement(),bt)};var tt=$.getOptionsInfoFromProps(_e);return _e.tags&&typeof _e.filterOption!="function"&&Object.keys(tt).some(function(rt){return tt[rt].disabled}),et.state={value:$.getValueFromProps(_e,!0),inputValue:_e.combobox?$.getInputValueForCombobox(_e,tt,!0):"",open:_e.defaultOpen,optionsInfo:tt,backfillValue:"",skipBuildOptionsInfo:!0,ariaId:""},et.saveInputRef=saveRef(_assertThisInitialized$k(et),"inputRef"),et.saveInputMirrorRef=saveRef(_assertThisInitialized$k(et),"inputMirrorRef"),et.saveTopCtrlRef=saveRef(_assertThisInitialized$k(et),"topCtrlRef"),et.saveSelectTriggerRef=saveRef(_assertThisInitialized$k(et),"selectTriggerRef"),et.saveRootRef=saveRef(_assertThisInitialized$k(et),"rootRef"),et.saveSelectionRef=saveRef(_assertThisInitialized$k(et),"selectionRef"),et}return _createClass$12($,[{key:"componentDidMount",value:function(){(this.props.autoFocus||this.state.open)&&this.focus(),this.setState({ariaId:generateUUID()})}},{key:"componentDidUpdate",value:function(){if(isMultipleOrTags(this.props)){var et=this.getInputDOMNode(),tt=this.getInputMirrorDOMNode();et&&et.value&&tt?(et.style.width="",et.style.width="".concat(tt.clientWidth,"px")):et&&(et.style.width="")}this.forcePopupAlign()}},{key:"componentWillUnmount",value:function(){this.clearFocusTime(),this.clearBlurTime(),this.clearComboboxTime(),this.dropdownContainer&&(reactDomExports.unmountComponentAtNode(this.dropdownContainer),document.body.removeChild(this.dropdownContainer),this.dropdownContainer=null)}},{key:"focus",value:function(){isSingleMode(this.props)&&this.selectionRef?this.selectionRef.focus():this.getInputDOMNode()&&this.getInputDOMNode().focus()}},{key:"blur",value:function(){isSingleMode(this.props)&&this.selectionRef?this.selectionRef.blur():this.getInputDOMNode()&&this.getInputDOMNode().blur()}},{key:"renderArrow",value:function(et){var tt=this.props,rt=tt.showArrow,at=rt===void 0?!et:rt,nt=tt.loading,it=tt.inputIcon,ot=tt.prefixCls;if(!at&&!nt)return null;var st=nt?reactExports.createElement("i",{className:"".concat(ot,"-arrow-loading")}):reactExports.createElement("i",{className:"".concat(ot,"-arrow-icon")});return reactExports.createElement("span",_extends$1n({key:"arrow",className:"".concat(ot,"-arrow"),style:UNSELECTABLE_STYLE},UNSELECTABLE_ATTRIBUTE,{onClick:this.onArrowClick}),it||st)}},{key:"renderClear",value:function(){var et=this.props,tt=et.prefixCls,rt=et.allowClear,at=et.clearIcon,nt=this.state.inputValue,it=this.state.value,ot=reactExports.createElement("span",_extends$1n({key:"clear",className:"".concat(tt,"-selection__clear"),onMouseDown:preventDefaultEvent,style:UNSELECTABLE_STYLE},UNSELECTABLE_ATTRIBUTE,{onClick:this.onClearSelection}),at||reactExports.createElement("i",{className:"".concat(tt,"-selection__clear-icon")},"×"));return rt?isCombobox(this.props)?nt?ot:null:nt||it.length?ot:null:null}},{key:"render",value:function(){var et,tt=this.props,rt=isMultipleOrTags(tt),at=tt.showArrow,nt=at===void 0?!0:at,it=this.state,ot=tt.className,st=tt.disabled,lt=tt.prefixCls,ct=tt.loading,ut=this.renderTopControlNode(),ft=this.state,At=ft.open,vt=ft.ariaId;if(At){var ht=this.renderFilterOptions();this._empty=ht.empty,this._options=ht.options}var bt=this.getRealOpenState(),pt=this._empty,dt=this._options||[],_t={};Object.keys(tt).forEach(function(yt){Object.prototype.hasOwnProperty.call(tt,yt)&&(yt.substr(0,5)==="data-"||yt.substr(0,5)==="aria-"||yt==="role")&&(_t[yt]=tt[yt])});var Ct=_extends$1n({},_t);isMultipleOrTagsOrCombobox(tt)||(Ct=_extends$1n(_extends$1n({},Ct),{onKeyDown:this.onKeyDown,tabIndex:tt.disabled?-1:tt.tabIndex}));var gt=(et={},_defineProperty$r(et,ot,!!ot),_defineProperty$r(et,lt,1),_defineProperty$r(et,"".concat(lt,"-open"),At),_defineProperty$r(et,"".concat(lt,"-focused"),At||!!this._focused),_defineProperty$r(et,"".concat(lt,"-combobox"),isCombobox(tt)),_defineProperty$r(et,"".concat(lt,"-disabled"),st),_defineProperty$r(et,"".concat(lt,"-enabled"),!st),_defineProperty$r(et,"".concat(lt,"-allow-clear"),!!tt.allowClear),_defineProperty$r(et,"".concat(lt,"-no-arrow"),!nt),_defineProperty$r(et,"".concat(lt,"-loading"),!!ct),et);return reactExports.createElement(SelectTrigger,{onPopupFocus:this.onPopupFocus,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,dropdownAlign:tt.dropdownAlign,dropdownClassName:tt.dropdownClassName,dropdownMatchSelectWidth:tt.dropdownMatchSelectWidth,defaultActiveFirstOption:tt.defaultActiveFirstOption,dropdownMenuStyle:tt.dropdownMenuStyle,transitionName:tt.transitionName,animation:tt.animation,prefixCls:tt.prefixCls,dropdownStyle:tt.dropdownStyle,combobox:tt.combobox,showSearch:tt.showSearch,options:dt,empty:pt,multiple:rt,disabled:st,visible:bt,inputValue:it.inputValue,value:it.value,backfillValue:it.backfillValue,firstActiveValue:tt.firstActiveValue,onDropdownVisibleChange:this.onDropdownVisibleChange,getPopupContainer:tt.getPopupContainer,onMenuSelect:this.onMenuSelect,onMenuDeselect:this.onMenuDeselect,onPopupScroll:tt.onPopupScroll,showAction:tt.showAction,ref:this.saveSelectTriggerRef,menuItemSelectedIcon:tt.menuItemSelectedIcon,dropdownRender:tt.dropdownRender,ariaId:vt},reactExports.createElement("div",{id:tt.id,style:tt.style,ref:this.saveRootRef,onBlur:this.onOuterBlur,onFocus:this.onOuterFocus,className:classnamesExports(gt),onMouseDown:this.markMouseDown,onMouseUp:this.markMouseLeave,onMouseOut:this.markMouseLeave},reactExports.createElement("div",_extends$1n({ref:this.saveSelectionRef,key:"selection",className:"".concat(lt,`-selection - `).concat(lt,"-selection--").concat(rt?"multiple":"single"),role:"combobox","aria-autocomplete":"list","aria-haspopup":"true","aria-controls":vt,"aria-expanded":bt},Ct),ut,this.renderClear(),this.renderArrow(!!rt))))}}]),$}(reactExports.Component);Select$2.propTypes=SelectPropTypes$1;Select$2.defaultProps={prefixCls:"rc-select",defaultOpen:!1,labelInValue:!1,defaultActiveFirstOption:!0,showSearch:!0,allowClear:!1,placeholder:"",onChange:noop$7,onFocus:noop$7,onBlur:noop$7,onSelect:noop$7,onSearch:noop$7,onDeselect:noop$7,onInputKeyDown:noop$7,dropdownMatchSelectWidth:!0,dropdownStyle:{},dropdownMenuStyle:{},optionFilterProp:"value",optionLabelProp:"value",notFoundContent:"Not Found",backfill:!1,showAction:["click"],tokenSeparators:[],autoClearSearchValue:!0,tabIndex:0,dropdownRender:function($){return $}};Select$2.getDerivedStateFromProps=function(o,$){var _e=$.skipBuildOptionsInfo?$.optionsInfo:Select$2.getOptionsInfoFromProps(o,$),et={optionsInfo:_e,skipBuildOptionsInfo:!1};if("open"in o&&(et.open=o.open),o.disabled&&$.open&&(et.open=!1),"value"in o){var tt=Select$2.getValueFromProps(o);et.value=tt,o.combobox&&(et.inputValue=Select$2.getInputValueForCombobox(o,_e))}return et};Select$2.getOptionsFromChildren=function(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return reactExports.Children.forEach(o,function(_e){if(_e){var et=_e.type;et.isSelectOptGroup?Select$2.getOptionsFromChildren(_e.props.children,$):$.push(_e)}}),$};Select$2.getInputValueForCombobox=function(o,$,_e){var et=[];if("value"in o&&!_e&&(et=toArray$2(o.value)),"defaultValue"in o&&_e&&(et=toArray$2(o.defaultValue)),et.length)et=et[0];else return"";var tt=et;return o.labelInValue?tt=et.label:$[getMapKey(et)]&&(tt=$[getMapKey(et)].label),tt===void 0&&(tt=""),tt};Select$2.getLabelFromOption=function(o,$){return getPropValue($,o.optionLabelProp)};Select$2.getOptionsInfoFromProps=function(o,$){var _e=Select$2.getOptionsFromChildren(o.children),et={};if(_e.forEach(function(at){var nt=getValuePropValue(at);et[getMapKey(nt)]={option:at,value:nt,label:Select$2.getLabelFromOption(o,at),title:at.props.title,disabled:at.props.disabled}}),$){var tt=$.optionsInfo,rt=$.value;rt&&rt.forEach(function(at){var nt=getMapKey(at);!et[nt]&&tt[nt]!==void 0&&(et[nt]=tt[nt])})}return et};Select$2.getValueFromProps=function(o,$){var _e=[];return"value"in o&&!$&&(_e=toArray$2(o.value)),"defaultValue"in o&&$&&(_e=toArray$2(o.defaultValue)),o.labelInValue&&(_e=_e.map(function(et){return et.key})),_e};Select$2.displayName="Select";polyfill(Select$2);Select$2.Option=Option$4;Select$2.OptGroup=OptGroup;function _typeof$i(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$i=function(_e){return typeof _e}:_typeof$i=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$i(o)}function _extends$1m(){return _extends$1m=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$m(o){return _getPrototypeOf$m=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$m(o)}var __rest$g=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$l(o){return _getPrototypeOf$l=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$l(o)}var MiniSelect=function(o){_inherits$10(_e,o);var $=_createSuper$i(_e);function _e(){return _classCallCheck$10(this,_e),$.apply(this,arguments)}return _createClass$10(_e,[{key:"render",value:function(){return reactExports.createElement(Select,_extends$1l({size:"small"},this.props))}}]),_e}(reactExports.Component);MiniSelect.Option=Select.Option;function _typeof$g(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$g=function(_e){return typeof _e}:_typeof$g=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$g(o)}function _extends$1k(){return _extends$1k=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$k(o){return _getPrototypeOf$k=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$k(o)}var __rest$f=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$j(o){return _getPrototypeOf$j=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$j(o)}var __rest$e=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$i(o){return _getPrototypeOf$i=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$i(o)}var __rest$d=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$h(o){return _getPrototypeOf$h=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$h(o)}function _extends$1h(){return _extends$1h=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{},_e=$&&$.body&&$.body.row;return _extends$1h(_extends$1h({},$),{body:_extends$1h(_extends$1h({},$.body),{row:createBodyRow(_e)})})};function isTheSameComponents(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return o===$||["table","header","body"].every(function(_e){return shallowequal(o[_e],$[_e])})}function getFilteredValueColumns(o,$){return flatFilter($||(o||{}).columns||[],function(_e){return typeof _e.filteredValue<"u"})}function getFiltersFromColumns(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=arguments.length>1?arguments[1]:void 0,_e={};return getFilteredValueColumns(o,$).forEach(function(et){var tt=getColumnKey(et);_e[tt]=et.filteredValue}),_e}function isFiltersChanged(o,$){return Object.keys($).length!==Object.keys(o.filters).length?!0:Object.keys($).some(function(_e){return $[_e]!==o.filters[_e]})}var Table=function(o){_inherits$Y(_e,o);var $=_createSuper$e(_e);function _e(et){var tt;_classCallCheck$Y(this,_e),tt=$.call(this,et),tt.setTableRef=function(it){tt.rcTable=it},tt.getCheckboxPropsByItem=function(it,ot){var st=getRowSelection(tt.props);if(!st.getCheckboxProps)return{};var lt=tt.getRecordKey(it,ot);if(!tt.props.checkboxPropsCache[lt]){tt.props.checkboxPropsCache[lt]=st.getCheckboxProps(it)||{};var ct=tt.props.checkboxPropsCache[lt];warning$4(!("checked"in ct)&&!("defaultChecked"in ct),"Table","Do not set `checked` or `defaultChecked` in `getCheckboxProps`. Please use `selectedRowKeys` instead.")}return tt.props.checkboxPropsCache[lt]},tt.getRecordKey=function(it,ot){var st=tt.props.rowKey,lt=typeof st=="function"?st(it,ot):it[st];return warning$4(lt!==void 0,"Table","Each record in dataSource of table should have a unique `key` prop, or set `rowKey` of Table to an unique primary key, see https://u.ant.design/table-row-key"),lt===void 0?ot:lt},tt.onRow=function(it,ot,st){var lt=tt.props.onRow,ct=lt?lt(ot,st):{};return _extends$1h(_extends$1h({},ct),{prefixCls:it,store:tt.props.store,rowKey:tt.getRecordKey(ot,st)})},tt.generatePopupContainerFunc=function(it){var ot=tt.props.scroll,st=tt.rcTable;return it||(ot&&st?function(){return st.tableNode}:void 0)},tt.scrollToFirstRow=function(){var it=tt.props.scroll;it&&it.scrollToFirstRowOnChange!==!1&&scrollTo$1(0,{getContainer:function(){return tt.rcTable.bodyTable}})},tt.handleFilter=function(it,ot){var st=tt.props,lt=_extends$1h({},tt.state.pagination),ct=_extends$1h(_extends$1h({},tt.state.filters),_defineProperty$o({},getColumnKey(it),ot)),ut=[];treeMap(tt.state.columns,function(vt){vt.children||ut.push(getColumnKey(vt))}),Object.keys(ct).forEach(function(vt){ut.indexOf(vt)<0&&delete ct[vt]}),st.pagination&&(lt.current=1,lt.onChange(lt.current));var ft={pagination:lt,filters:{}},At=_extends$1h({},ct);getFilteredValueColumns(tt.state).forEach(function(vt){var ht=getColumnKey(vt);ht&&delete At[ht]}),Object.keys(At).length>0&&(ft.filters=At),_typeof$d(st.pagination)==="object"&&"current"in st.pagination&&(ft.pagination=_extends$1h(_extends$1h({},lt),{current:tt.state.pagination.current})),tt.setState(ft,function(){tt.scrollToFirstRow(),tt.props.store.setState({selectionDirty:!1});var vt=tt.props.onChange;vt&&vt.apply(null,tt.prepareParamsArguments(_extends$1h(_extends$1h({},tt.state),{selectionDirty:!1,filters:ct,pagination:lt})))})},tt.handleSelect=function(it,ot,st){var lt=st.target.checked,ct=st.nativeEvent,ut=tt.props.store.getState().selectionDirty?[]:tt.getDefaultSelection(),ft=tt.props.store.getState().selectedRowKeys.concat(ut),At=tt.getRecordKey(it,ot),vt=tt.state.pivot,ht=tt.getFlatCurrentPageData(),bt=ot;if(tt.props.expandedRowRender&&(bt=ht.findIndex(function(yt){return tt.getRecordKey(yt,ot)===At})),ct.shiftKey&&vt!==void 0&&bt!==vt){for(var pt=[],dt=Math.sign(vt-bt),_t=Math.abs(vt-bt),Ct=0,gt=function(){var xt=bt+Ct*dt;Ct+=1;var Et=ht[xt],It=tt.getRecordKey(Et,xt),Tt=tt.getCheckboxPropsByItem(Et,xt);Tt.disabled||(ft.includes(It)?lt||(ft=ft.filter(function(Rt){return It!==Rt}),pt.push(It)):lt&&(ft.push(It),pt.push(It)))};Ct<=_t;)gt();tt.setState({pivot:bt}),tt.props.store.setState({selectionDirty:!0}),tt.setSelectedRowKeys(ft,{selectWay:"onSelectMultiple",record:it,checked:lt,changeRowKeys:pt,nativeEvent:ct})}else lt?ft.push(tt.getRecordKey(it,bt)):ft=ft.filter(function(yt){return At!==yt}),tt.setState({pivot:bt}),tt.props.store.setState({selectionDirty:!0}),tt.setSelectedRowKeys(ft,{selectWay:"onSelect",record:it,checked:lt,changeRowKeys:void 0,nativeEvent:ct})},tt.handleRadioSelect=function(it,ot,st){var lt=st.target.checked,ct=st.nativeEvent,ut=tt.getRecordKey(it,ot),ft=[ut];tt.props.store.setState({selectionDirty:!0}),tt.setSelectedRowKeys(ft,{selectWay:"onSelect",record:it,checked:lt,changeRowKeys:void 0,nativeEvent:ct})},tt.handleSelectRow=function(it,ot,st){var lt=tt.getFlatCurrentPageData(),ct=tt.props.store.getState().selectionDirty?[]:tt.getDefaultSelection(),ut=tt.props.store.getState().selectedRowKeys.concat(ct),ft=lt.filter(function(dt,_t){return!tt.getCheckboxPropsByItem(dt,_t).disabled}).map(function(dt,_t){return tt.getRecordKey(dt,_t)}),At=[],vt="onSelectAll",ht;switch(it){case"all":ft.forEach(function(dt){ut.indexOf(dt)<0&&(ut.push(dt),At.push(dt))}),vt="onSelectAll",ht=!0;break;case"removeAll":ft.forEach(function(dt){ut.indexOf(dt)>=0&&(ut.splice(ut.indexOf(dt),1),At.push(dt))}),vt="onSelectAll",ht=!1;break;case"invert":ft.forEach(function(dt){ut.indexOf(dt)<0?ut.push(dt):ut.splice(ut.indexOf(dt),1),At.push(dt),vt="onSelectInvert"});break}tt.props.store.setState({selectionDirty:!0});var bt=tt.props.rowSelection,pt=2;if(bt&&bt.hideDefaultSelections&&(pt=0),ot>=pt&&typeof st=="function")return st(ft);tt.setSelectedRowKeys(ut,{selectWay:vt,checked:ht,changeRowKeys:At})},tt.handlePageChange=function(it){var ot=tt.props,st=_extends$1h({},tt.state.pagination);it?st.current=it:st.current=st.current||1;for(var lt=arguments.length,ct=new Array(lt>1?lt-1:0),ut=1;ut0){var it=this.getSortStateFromColumns(rt);(!isSameColumn(it.sortColumn,at)||it.sortOrder!==nt)&&this.setState(it)}}},{key:"getDefaultSelection",value:function(){var tt=this,rt=getRowSelection(this.props);return rt.getCheckboxProps?this.getFlatData().filter(function(at,nt){return tt.getCheckboxPropsByItem(at,nt).defaultChecked}).map(function(at,nt){return tt.getRecordKey(at,nt)}):[]}},{key:"getDefaultPagination",value:function(tt){var rt=_typeof$d(tt.pagination)==="object"?tt.pagination:{},at;"current"in rt?at=rt.current:"defaultCurrent"in rt&&(at=rt.defaultCurrent);var nt;return"pageSize"in rt?nt=rt.pageSize:"defaultPageSize"in rt&&(nt=rt.defaultPageSize),this.hasPagination(tt)?_extends$1h(_extends$1h(_extends$1h({},defaultPagination),rt),{current:at||1,pageSize:nt||10}):{}}},{key:"getSortOrderColumns",value:function(tt){return flatFilter(tt||(this.state||{}).columns||[],function(rt){return"sortOrder"in rt})}},{key:"getDefaultFilters",value:function(tt){var rt=getFiltersFromColumns(this.state,tt),at=flatFilter(tt||[],function(it){return typeof it.defaultFilteredValue<"u"}),nt=at.reduce(function(it,ot){var st=getColumnKey(ot);return it[st]=ot.defaultFilteredValue,it},{});return _extends$1h(_extends$1h({},nt),rt)}},{key:"getDefaultSortOrder",value:function(tt){var rt=this.getSortStateFromColumns(tt),at=flatFilter(tt||[],function(nt){return nt.defaultSortOrder!=null})[0];return at&&!rt.sortColumn?{sortColumn:at,sortOrder:at.defaultSortOrder}:rt}},{key:"getSortStateFromColumns",value:function(tt){var rt=this.getSortOrderColumns(tt).filter(function(at){return at.sortOrder})[0];return rt?{sortColumn:rt,sortOrder:rt.sortOrder}:{sortColumn:null,sortOrder:null}}},{key:"getMaxCurrent",value:function(tt){var rt=this.state.pagination,at=rt.current,nt=rt.pageSize;return(at-1)*nt>=tt?Math.floor((tt-1)/nt)+1:at}},{key:"getSorterFn",value:function(tt){var rt=tt||this.state,at=rt.sortOrder,nt=rt.sortColumn;if(!(!at||!nt||typeof nt.sorter!="function"))return function(it,ot){var st=nt.sorter(it,ot,at);return st!==0?at==="descend"?-st:st:0}}},{key:"getCurrentPageData",value:function(){var tt=this.getLocalData(),rt,at,nt=this.state;return this.hasPagination()?(at=nt.pagination.pageSize,rt=this.getMaxCurrent(nt.pagination.total||tt.length)):(at=Number.MAX_VALUE,rt=1),(tt.length>at||at===Number.MAX_VALUE)&&(tt=tt.slice((rt-1)*at,rt*at)),tt}},{key:"getFlatData",value:function(){var tt=this.props.childrenColumnName;return flatArray(this.getLocalData(null,!1),tt)}},{key:"getFlatCurrentPageData",value:function(){var tt=this.props.childrenColumnName;return flatArray(this.getCurrentPageData(),tt)}},{key:"getLocalData",value:function(tt){var rt=this,at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,nt=tt||this.state,it=this.props.dataSource,ot=it||[];ot=ot.slice(0);var st=this.getSorterFn(nt);return st&&(ot=this.recursiveSort(ot,st)),at&&nt.filters&&Object.keys(nt.filters).forEach(function(lt){var ct=rt.findColumn(lt);if(ct){var ut=nt.filters[lt]||[];if(ut.length!==0){var ft=ct.onFilter;ot=ft?ot.filter(function(At){return ut.some(function(vt){return ft(vt,At)})}):ot}}}),ot}},{key:"setSelectedRowKeys",value:function(tt,rt){var at=this,nt=rt.selectWay,it=rt.record,ot=rt.checked,st=rt.changeRowKeys,lt=rt.nativeEvent,ct=getRowSelection(this.props);ct&&!("selectedRowKeys"in ct)&&this.props.store.setState({selectedRowKeys:tt});var ut=this.getFlatData();if(!(!ct.onChange&&!ct[nt])){var ft=ut.filter(function(ht,bt){return tt.indexOf(at.getRecordKey(ht,bt))>=0});if(ct.onChange&&ct.onChange(tt,ft),nt==="onSelect"&&ct.onSelect)ct.onSelect(it,ot,ft,lt);else if(nt==="onSelectMultiple"&&ct.onSelectMultiple){var At=ut.filter(function(ht,bt){return st.indexOf(at.getRecordKey(ht,bt))>=0});ct.onSelectMultiple(ot,ft,At)}else if(nt==="onSelectAll"&&ct.onSelectAll){var vt=ut.filter(function(ht,bt){return st.indexOf(at.getRecordKey(ht,bt))>=0});ct.onSelectAll(ot,ft,vt)}else nt==="onSelectInvert"&&ct.onSelectInvert&&ct.onSelectInvert(tt)}}},{key:"toggleSortOrder",value:function(tt){var rt=tt.sortDirections||this.props.sortDirections,at=this.state,nt=at.sortOrder,it=at.sortColumn,ot;if(isSameColumn(it,tt)&&nt!==void 0){var st=rt.indexOf(nt)+1;ot=st===rt.length?void 0:rt[st]}else ot=rt[0];var lt={sortOrder:ot,sortColumn:ot?tt:null};this.getSortOrderColumns().length===0&&this.setState(lt,this.scrollToFirstRow);var ct=this.props.onChange;ct&&ct.apply(null,this.prepareParamsArguments(_extends$1h(_extends$1h({},this.state),lt),tt))}},{key:"hasPagination",value:function(tt){return(tt||this.props).pagination!==!1}},{key:"isSortColumn",value:function(tt){var rt=this.state.sortColumn;return!tt||!rt?!1:getColumnKey(rt)===getColumnKey(tt)}},{key:"prepareParamsArguments",value:function(tt,rt){var at=_extends$1h({},tt.pagination);delete at.onChange,delete at.onShowSizeChange;var nt=tt.filters,it={},ot=rt;tt.sortColumn&&tt.sortOrder&&(ot=tt.sortColumn,it.column=tt.sortColumn,it.order=tt.sortOrder),ot&&(it.field=ot.dataIndex,it.columnKey=getColumnKey(ot));var st={currentDataSource:this.getLocalData(tt)};return[at,nt,it,st]}},{key:"findColumn",value:function(tt){var rt;return treeMap(this.state.columns,function(at){getColumnKey(at)===tt&&(rt=at)}),rt}},{key:"recursiveSort",value:function(tt,rt){var at=this,nt=this.props.childrenColumnName,it=nt===void 0?"children":nt;return tt.sort(rt).map(function(ot){return ot[it]?_extends$1h(_extends$1h({},ot),_defineProperty$o({},it,at.recursiveSort(ot[it],rt))):ot})}},{key:"renderPagination",value:function(tt,rt){if(!this.hasPagination())return null;var at="default",nt=this.state.pagination;nt.size?at=nt.size:(this.props.size==="middle"||this.props.size==="small")&&(at="small");var it=nt.position||"bottom",ot=nt.total||this.getLocalData().length;return ot>0&&(it===rt||it==="both")?reactExports.createElement(Pagination,_extends$1h({key:"pagination-".concat(rt)},nt,{className:classNames(nt.className,"".concat(tt,"-pagination")),onChange:this.handlePageChange,total:ot,size:at,current:this.getMaxCurrent(ot),onShowSizeChange:this.handleShowSizeChange})):null}},{key:"renderRowSelection",value:function(tt){var rt=this,at=tt.prefixCls,nt=tt.locale,it=tt.getPopupContainer,ot=this.props.rowSelection,st=this.state.columns.concat();if(ot){var lt=this.getFlatCurrentPageData().filter(function(At,vt){return ot.getCheckboxProps?!rt.getCheckboxPropsByItem(At,vt).disabled:!0}),ct=classNames("".concat(at,"-selection-column"),_defineProperty$o({},"".concat(at,"-selection-column-custom"),ot.selections)),ut=_defineProperty$o({key:"selection-column",render:this.renderSelectionBox(ot.type),className:ct,fixed:ot.fixed,width:ot.columnWidth,title:ot.columnTitle},INTERNAL_COL_DEFINE,{className:"".concat(at,"-selection-col")});if(ot.type!=="radio"){var ft=lt.every(function(At,vt){return rt.getCheckboxPropsByItem(At,vt).disabled});ut.title=ut.title||reactExports.createElement(SelectionCheckboxAll$1,{store:this.props.store,locale:nt,data:lt,getCheckboxPropsByItem:this.getCheckboxPropsByItem,getRecordKey:this.getRecordKey,disabled:ft,prefixCls:at,onSelect:this.handleSelectRow,selections:ot.selections,hideDefaultSelections:ot.hideDefaultSelections,getPopupContainer:this.generatePopupContainerFunc(it)})}"fixed"in ot?ut.fixed=ot.fixed:st.some(function(At){return At.fixed==="left"||At.fixed===!0})&&(ut.fixed="left"),st[0]&&st[0].key==="selection-column"?st[0]=ut:st.unshift(ut)}return st}},{key:"renderColumnsDropdown",value:function(tt){var rt=this,at=tt.prefixCls,nt=tt.dropdownPrefixCls,it=tt.columns,ot=tt.locale,st=tt.getPopupContainer,lt=this.state,ct=lt.sortOrder,ut=lt.filters;return treeMap(it,function(ft,At){var vt,ht=getColumnKey(ft,At),bt,pt,dt=ft.onHeaderCell,_t=rt.isSortColumn(ft);if(ft.filters&&ft.filters.length>0||ft.filterDropdown){var Ct=ht in ut?ut[ht]:[];bt=reactExports.createElement(FilterDropdown,{locale:ot,column:ft,selectedKeys:Ct,confirmFilter:rt.handleFilter,prefixCls:"".concat(at,"-filter"),dropdownPrefixCls:nt||"ant-dropdown",getPopupContainer:rt.generatePopupContainerFunc(st),key:"filter-dropdown"})}if(ft.sorter){var gt=ft.sortDirections||rt.props.sortDirections,yt=_t&&ct==="ascend",xt=_t&&ct==="descend",Et=gt.indexOf("ascend")!==-1&&reactExports.createElement(Icon$1,{className:"".concat(at,"-column-sorter-up ").concat(yt?"on":"off"),type:"caret-up",theme:"filled"}),It=gt.indexOf("descend")!==-1&&reactExports.createElement(Icon$1,{className:"".concat(at,"-column-sorter-down ").concat(xt?"on":"off"),type:"caret-down",theme:"filled"});pt=reactExports.createElement("div",{title:ot.sortTitle,className:classNames("".concat(at,"-column-sorter-inner"),Et&&It&&"".concat(at,"-column-sorter-inner-full")),key:"sorter"},Et,It),dt=function(Rt){var Ot={};ft.onHeaderCell&&(Ot=_extends$1h({},ft.onHeaderCell(Rt)));var Mt=Ot.onClick;return Ot.onClick=function(){rt.toggleSortOrder(ft),Mt&&Mt.apply(void 0,arguments)},Ot}}return _extends$1h(_extends$1h({},ft),{className:classNames(ft.className,(vt={},_defineProperty$o(vt,"".concat(at,"-column-has-actions"),pt||bt),_defineProperty$o(vt,"".concat(at,"-column-has-filters"),bt),_defineProperty$o(vt,"".concat(at,"-column-has-sorters"),pt),_defineProperty$o(vt,"".concat(at,"-column-sort"),_t&&ct),vt)),title:[reactExports.createElement("span",{key:"title",className:"".concat(at,"-header-column")},reactExports.createElement("div",{className:pt?"".concat(at,"-column-sorters"):void 0},reactExports.createElement("span",{className:"".concat(at,"-column-title")},rt.renderColumnTitle(ft.title)),reactExports.createElement("span",{className:"".concat(at,"-column-sorter")},pt))),bt],onHeaderCell:dt})})}},{key:"renderColumnTitle",value:function(tt){var rt=this.state,at=rt.filters,nt=rt.sortOrder,it=rt.sortColumn;return tt instanceof Function?tt({filters:at,sortOrder:nt,sortColumn:it}):tt}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderComponent)}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=rt.prevProps,nt=tt.columns||normalizeColumns(tt.children),it=_extends$1h(_extends$1h({},rt),{prevProps:tt,columns:nt});if("pagination"in tt||"pagination"in at){var ot=_extends$1h(_extends$1h(_extends$1h({},defaultPagination),rt.pagination),tt.pagination);ot.current=ot.current||1,ot.pageSize=ot.pageSize||10,it=_extends$1h(_extends$1h({},it),{pagination:tt.pagination!==!1?ot:emptyObject})}tt.rowSelection&&"selectedRowKeys"in tt.rowSelection?tt.store.setState({selectedRowKeys:tt.rowSelection.selectedRowKeys||[]}):at.rowSelection&&!tt.rowSelection&&tt.store.setState({selectedRowKeys:[]}),"dataSource"in tt&&tt.dataSource!==at.dataSource&&tt.store.setState({selectionDirty:!1}),tt.setCheckboxPropsCache({});var st=getFilteredValueColumns(it,it.columns);if(st.length>0){var lt=getFiltersFromColumns(it,it.columns),ct=_extends$1h({},it.filters);Object.keys(lt).forEach(function(ft){ct[ft]=lt[ft]}),isFiltersChanged(it,ct)&&(it=_extends$1h(_extends$1h({},it),{filters:ct}))}if(!isTheSameComponents(tt.components,at.components)){var ut=createComponents(tt.components);it=_extends$1h(_extends$1h({},it),{components:ut})}return it}}]),_e}(reactExports.Component);Table.propTypes={dataSource:propTypesExports.array,columns:propTypesExports.array,prefixCls:propTypesExports.string,useFixedHeader:propTypesExports.bool,rowSelection:propTypesExports.object,className:propTypesExports.string,size:propTypesExports.string,loading:propTypesExports.oneOfType([propTypesExports.bool,propTypesExports.object]),bordered:propTypesExports.bool,onChange:propTypesExports.func,locale:propTypesExports.object,dropdownPrefixCls:propTypesExports.string,sortDirections:propTypesExports.array,getPopupContainer:propTypesExports.func};Table.defaultProps={dataSource:[],useFixedHeader:!1,className:"",size:"default",loading:!1,bordered:!1,indentSize:20,locale:{},rowKey:"key",showHeader:!0,sortDirections:["ascend","descend"],childrenColumnName:"children"};polyfill(Table);var StoreTable=function(o){_inherits$Y(_e,o);var $=_createSuper$e(_e);function _e(et){var tt;return _classCallCheck$Y(this,_e),tt=$.call(this,et),tt.setCheckboxPropsCache=function(rt){return tt.CheckboxPropsCache=rt},tt.CheckboxPropsCache={},tt.store=createStore$1({selectedRowKeys:getRowSelection(et).selectedRowKeys||[],selectionDirty:!1}),tt}return _createClass$Y(_e,[{key:"render",value:function(){return reactExports.createElement(Table,_extends$1h({},this.props,{store:this.store,checkboxPropsCache:this.CheckboxPropsCache,setCheckboxPropsCache:this.setCheckboxPropsCache}))}}]),_e}(reactExports.Component);StoreTable.displayName="withStore(Table)";StoreTable.Column=Column$2;StoreTable.ColumnGroup=ColumnGroup;const Table$1=StoreTable;var exitToAppExports={},exitToApp={get exports(){return exitToAppExports},set exports(o){exitToAppExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{hasSpans(et)?$[et.traceID]=et.spanIDs.join(" "):_e.push(et.traceID)}),{spanLinks:$,traceID:_e}}class ExamplesLink extends reactExports.PureComponent{render(){const{examples:$,includeText:_e}=this.props;return!$||!$.length?null:jsxRuntimeExports.jsxs("a",{href:getUrl$2(getGetUrlArg($)),target:"_blank",rel:"noopener noreferrer",children:[_e&&"Examples ",jsxRuntimeExports.jsx(NewWindowIcon,{})]})}}var checkExports={},check={get exports(){return checkExports},set exports(o){checkExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{this.cancelled=!0,this.props.setSelectedKeys(this.selected)}}componentDidUpdate($){const{confirm:_e,selectedKeys:et}=this.props;if(et.length===$.selectedKeys.length){const tt=new Set($.selectedKeys);et.every(rt=>tt.has(rt))&&(this.selected=et)}this.cancelled&&(this.cancelled=!1,_e())}render(){const{clearFilters:$=()=>{},confirm:_e,options:et,selectedKeys:tt,setSelectedKeys:rt}=this.props,at=new Set;return tt.forEach(nt=>{typeof nt=="string"&&at.add(nt)}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(FilteredList,{addValues:nt=>{rt([...tt,...nt])},multi:!0,options:Array.from(et),removeValues:nt=>{const it=new Set(nt);rt(tt.filter(ot=>!it.has(ot)))},setValue:nt=>{rt([nt])},value:at}),jsxRuntimeExports.jsxs("div",{className:"DetailTableDropdown--Footer",children:[jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"DetailTableDropdown--Tooltip",title:"Remove filter from this column",children:jsxRuntimeExports.jsxs(Button$2,{className:"DetailTableDropdown--Btn Clear",onClick:$,children:[jsxRuntimeExports.jsx(FaTrash,{size:18}),"Clear Filter"]})}),jsxRuntimeExports.jsxs("div",{className:"DetailTableDropdown--Footer--CancelConfirm",children:[jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"DetailTableDropdown--Tooltip",title:"Cancel changes to this column's filter",children:jsxRuntimeExports.jsxs(Button$2,{className:"DetailTableDropdown--Btn Cancel",onClick:this.cancel,children:[jsxRuntimeExports.jsx(TiCancel,{size:20}),"Cancel"]})}),jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"DetailTableDropdown--Tooltip",title:jsxRuntimeExports.jsxs("div",{className:"DetailTableDropdown--Tooltip--Body",children:[jsxRuntimeExports.jsx("span",{children:"Apply changes to this column's filter"}),jsxRuntimeExports.jsx("span",{children:"Same effect as clicking outside the dropdown"})]}),children:jsxRuntimeExports.jsxs(Button$2,{className:"DetailTableDropdown--Btn Apply",onClick:_e,children:[jsxRuntimeExports.jsx(FaCheck,{size:18}),"Apply"]})})]})]})]})}}const _makeFilterDropdown=(o,$)=>_e=>reactExports.createElement(DetailTableDropdown,{..._e,key:o,options:$}),_onCell=o=>$=>{const _e=$[o];if(!_e||typeof _e!="object"||Array.isArray(_e))return{};const{styling:et}=_e;return isEmpty_1(et)?{}:{style:et}},_onFilter=o=>($,_e)=>{const et=_e[o];return typeof et=="object"&&!Array.isArray(et)&&typeof et.value=="string"?et.value===$:et===$},_renderCell=o=>!o||typeof o!="object"?o:Array.isArray(o)?jsxRuntimeExports.jsx(ExamplesLink,{examples:o}):o.linkTo?jsxRuntimeExports.jsx("a",{href:o.linkTo,target:"_blank",rel:"noopener noreferrer",children:o.value}):o.value,_sort=o=>($,_e)=>{const et=$[o];let tt;Array.isArray(et)?tt=et.length:typeof et=="object"&&typeof et.value=="string"?tt=et.value:tt=et;const rt=_e[o];let at;return Array.isArray(rt)?at=rt.length:typeof rt=="object"&&typeof rt.value=="string"?at=rt.value:at=rt,tto.map(_e=>{let et,tt,rt=!0,at,nt;typeof _e=="string"?tt=nt=et=_e:(tt=nt=et=_e.key,_e.label&&(nt=_e.label),_e.styling&&(at=_e.styling),_e.preventSort&&(rt=!1));const it=new Set;return $.forEach(ot=>{const st=ot[et];typeof st=="string"&&st?it.add(st):typeof st=="object"&&!Array.isArray(st)&&typeof st.value=="string"&&it.add(st.value)}),{dataIndex:et,key:tt,title:nt,filterDropdown:!!it.size&&_makeFilterDropdown(et,it),filterIcon:ot=>ot?jsxRuntimeExports.jsx(FaFilter,{}):jsxRuntimeExports.jsx(Icon$1,{type:"filter"}),onCell:_onCell(et),onHeaderCell:()=>({style:at}),onFilter:_onFilter(et),render:_renderCell,sorter:rt&&_sort(et)}}),_rowKey=o=>JSON.stringify(o,function(_e,et){function tt(rt){return rt===o}return tt(et)?et:Array.isArray(et)?JSON.stringify(et):typeof et=="object"?typeof et.value=="string"?JSON.stringify(et):et.value.key||"Unknown":et});function DetailTable({columnDefs:o,details:$}){const _e=o?o.slice():[],et=new Set(_e.map(tt=>typeof tt=="string"?tt:tt.key));return $.forEach(tt=>{Object.keys(tt).forEach(rt=>{et.has(rt)||(et.add(rt),_e.push(rt))})}),jsxRuntimeExports.jsx(Table$1,{size:"middle",columns:_makeColumns({defs:_e,rows:$}),dataSource:$,pagination:!1,rowKey:_rowKey},"table")}const index$s="";function cloneElement(o){if(!reactExports.isValidElement(o))return o;for(var $=arguments.length,_e=new Array($>1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];return reactExports.cloneElement.apply(React$l,[o].concat(_e))}function _typeof$c(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$c=function(_e){return typeof _e}:_typeof$c=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$c(o)}function _defineProperty$n(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$X(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$e(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$X(o,$,_e){return $&&_defineProperties$e(o.prototype,$),_e&&_defineProperties$e(o,_e),o}function _inherits$X(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$d(o,$)}function _setPrototypeOf$d(o,$){return _setPrototypeOf$d=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$d(o,$)}function _createSuper$d(o){var $=_isNativeReflectConstruct$d();return function(){var et=_getPrototypeOf$g(o),tt;if($){var rt=_getPrototypeOf$g(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$X(this,tt)}}function _possibleConstructorReturn$X(o,$){return $&&(_typeof$c($)==="object"||typeof $=="function")?$:_assertThisInitialized$d(o)}function _assertThisInitialized$d(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$d(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$g(o){return _getPrototypeOf$g=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$g(o)}function _extends$1g(){return _extends$1g=Object.assign||function(o){for(var $=1;$0&&reactExports.createElement("ul",{className:"".concat(vt,"-item-action"),key:"actions"},ct.map(function(dt,_t){return reactExports.createElement("li",{key:"".concat(vt,"-item-action-").concat(_t)},dt,_t!==ct.length-1&&reactExports.createElement("em",{className:"".concat(vt,"-item-action-split")}))})),bt=nt?"div":"li",pt=reactExports.createElement(bt,_extends$1g({},At,{className:classNames("".concat(vt,"-item"),ft,_defineProperty$n({},"".concat(vt,"-item-no-flex"),!et.isFlexMode()))}),it==="vertical"&&ut?[reactExports.createElement("div",{className:"".concat(vt,"-item-main"),key:"content"},lt,ht),reactExports.createElement("div",{className:"".concat(vt,"-item-extra"),key:"extra"},ut)]:[lt,ht,cloneElement(ut,{key:"extra"})]);return nt?reactExports.createElement(Col,{span:getGrid(nt,"column"),xs:getGrid(nt,"xs"),sm:getGrid(nt,"sm"),md:getGrid(nt,"md"),lg:getGrid(nt,"lg"),xl:getGrid(nt,"xl"),xxl:getGrid(nt,"xxl")},pt):pt},et}return _createClass$X(_e,[{key:"isItemContainsTextNodeAndNotSingular",value:function(){var tt=this.props.children,rt;return reactExports.Children.forEach(tt,function(at){typeof at=="string"&&(rt=!0)}),rt&&reactExports.Children.count(tt)>1}},{key:"isFlexMode",value:function(){var tt=this.props.extra,rt=this.context.itemLayout;return rt==="vertical"?!!tt:!this.isItemContainsTextNodeAndNotSingular()}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderItem)}}]),_e}(reactExports.Component);Item$1.Meta=Meta$2;Item$1.contextTypes={grid:propTypesExports.any,itemLayout:propTypesExports.string};function _typeof$b(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$b=function(_e){return typeof _e}:_typeof$b=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$b(o)}function _toConsumableArray$4(o){return _arrayWithoutHoles(o)||_iterableToArray(o)||_unsupportedIterableToArray$1(o)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$1(o,$){if(o){if(typeof o=="string")return _arrayLikeToArray$1(o,$);var _e=Object.prototype.toString.call(o).slice(8,-1);if(_e==="Object"&&o.constructor&&(_e=o.constructor.name),_e==="Map"||_e==="Set")return Array.from(o);if(_e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_e))return _arrayLikeToArray$1(o,$)}}function _iterableToArray(o){if(typeof Symbol<"u"&&Symbol.iterator in Object(o))return Array.from(o)}function _arrayWithoutHoles(o){if(Array.isArray(o))return _arrayLikeToArray$1(o)}function _arrayLikeToArray$1(o,$){($==null||$>o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _extends$1f(){return _extends$1f=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$f(o){return _getPrototypeOf$f=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$f(o)}var __rest$a=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);ttWt&&(Nt.current=Wt);var Jt=Ct?reactExports.createElement("div",{className:"".concat(Mt,"-pagination")},reactExports.createElement(Pagination,_extends$1f({},Nt,{onChange:tt.onPaginationChange,onShowSizeChange:tt.onPaginationShowSizeChange}))):null,nr=_toConsumableArray$4(xt);Ct&&xt.length>(Nt.current-1)*Nt.pageSize&&(nr=_toConsumableArray$4(xt).splice((Nt.current-1)*Nt.pageSize,Nt.pageSize));var er;if(er=Lt&&reactExports.createElement("div",{style:{minHeight:53}}),nr.length>0){var Xt=nr.map(function(Gt,Ft){return tt.renderItem(Gt,Ft)}),tr=[];reactExports.Children.forEach(Xt,function(Gt,Ft){tr.push(reactExports.cloneElement(Gt,{key:tt.keys[Ft]}))}),er=gt?reactExports.createElement(Row,{gutter:gt.gutter},tr):reactExports.createElement("ul",{className:"".concat(Mt,"-items")},tr)}else!pt&&!Lt&&(er=tt.renderEmpty(Mt,st));var Zt=Nt.position||"bottom";return reactExports.createElement("div",_extends$1f({className:zt},omit(Ot,["rowKey","renderItem","locale"])),(Zt==="top"||Zt==="both")&&Jt,It&&reactExports.createElement("div",{className:"".concat(Mt,"-header")},It),reactExports.createElement(Spin$1,Bt,er,pt),Tt&&reactExports.createElement("div",{className:"".concat(Mt,"-footer")},Tt),_t||(Zt==="bottom"||Zt==="both")&&Jt)};var rt=et.pagination,at=rt&&_typeof$b(rt)==="object"?rt:{};return tt.state={paginationCurrent:at.defaultCurrent||1,paginationSize:at.defaultPageSize||10},tt}return _createClass$W(_e,[{key:"getChildContext",value:function(){return{grid:this.props.grid,itemLayout:this.props.itemLayout}}},{key:"triggerPaginationEvent",value:function(tt){var rt=this;return function(at,nt){var it=rt.props.pagination;rt.setState({paginationCurrent:at,paginationSize:nt}),it&&it[tt]&&it[tt](at,nt)}}},{key:"isSomethingAfterLastItem",value:function(){var tt=this.props,rt=tt.loadMore,at=tt.pagination,nt=tt.footer;return!!(rt||at||nt)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderList)}}]),_e}(reactExports.Component);List$4.Item=Item$1;List$4.childContextTypes={grid:propTypesExports.any,itemLayout:propTypesExports.string};List$4.defaultProps={dataSource:[],bordered:!1,split:!0,loading:!1,pagination:!1};const{Item}=List$4;function DetailList({details:o}){return jsxRuntimeExports.jsx(List$4,{dataSource:o,renderItem:$=>jsxRuntimeExports.jsx(Item,{children:jsxRuntimeExports.jsx("span",{children:$})})})}const index$r="";function isList$2(o){return typeof o[0]=="string"}class DetailsCard extends reactExports.PureComponent{constructor($){super($),this.toggleCollapse=()=>{this.setState(_e=>({collapsed:!_e.collapsed}))},this.state={collapsed:!!$.collapsible}}renderDetails(){const{columnDefs:$,details:_e}=this.props;return Array.isArray(_e)?_e.length===0?null:isList$2(_e)?jsxRuntimeExports.jsx(DetailList,{details:_e}):jsxRuntimeExports.jsx(DetailTable,{columnDefs:$,details:_e}):jsxRuntimeExports.jsx("span",{children:_e})}render(){const{collapsed:$}=this.state,{className:_e,collapsible:et,description:tt,header:rt}=this.props;return jsxRuntimeExports.jsxs("div",{className:classnamesExports("DetailsCard",_e),children:[jsxRuntimeExports.jsxs("div",{className:"DetailsCard--ButtonHeaderWrapper",children:[et&&jsxRuntimeExports.jsx("button",{onClick:this.toggleCollapse,type:"button",className:classnamesExports("DetailsCard--Collapser",{"is-collapsed":$}),children:jsxRuntimeExports.jsx(MdKeyboardArrowDown,{})}),jsxRuntimeExports.jsxs("div",{className:"DetailsCard--HeaderWrapper",children:[jsxRuntimeExports.jsx("span",{className:"DetailsCard--Header",children:rt}),tt&&jsxRuntimeExports.jsx("p",{className:"DetailsCard--Description",children:tt})]})]}),jsxRuntimeExports.jsx("div",{className:classnamesExports("DetailsCard--DetailsWrapper",{"is-collapsed":$}),children:this.renderDetails()})]})}}var EUpdateTypes=(o=>(o.DragEnd="DragEnd",o.DragMove="DragMove",o.DragStart="DragStart",o.MouseEnter="MouseEnter",o.MouseLeave="MouseLeave",o.MouseMove="MouseMove",o))(EUpdateTypes||{});const LEFT_MOUSE_BUTTON=0;class DraggableManager{constructor({getBounds:$,tag:_e,resetBoundsOnResize:et=!0,...tt}){this.resetBounds=()=>{this._bounds=void 0},this._handleMinorMouseEvent=rt=>{const{button:at,clientX:nt,type:it}=rt;if(this._isDragging||at!==LEFT_MOUSE_BUTTON)return;let ot=null,st;if(it==="mouseenter")ot=EUpdateTypes.MouseEnter,st=this._onMouseEnter;else if(it==="mouseleave")ot=EUpdateTypes.MouseLeave,st=this._onMouseLeave;else if(it==="mousemove")ot=EUpdateTypes.MouseMove,st=this._onMouseMove;else throw new Error(`invalid event type: ${it}`);if(!st)return;const{value:lt,x:ct}=this._getPosition(nt);st({event:rt,type:ot,value:lt,x:ct,manager:this,tag:this.tag})},this._handleDragEvent=rt=>{const{button:at,clientX:nt,type:it}=rt;let ot=null,st;if(it==="mousedown"){if(this._isDragging||at!==LEFT_MOUSE_BUTTON)return;window.addEventListener("mousemove",this._handleDragEvent),window.addEventListener("mouseup",this._handleDragEvent);const ut=get_1$1(document,"body.style");ut&&(ut.userSelect="none"),this._isDragging=!0,ot=EUpdateTypes.DragStart,st=this._onDragStart}else if(it==="mousemove"){if(!this._isDragging)return;ot=EUpdateTypes.DragMove,st=this._onDragMove}else if(it==="mouseup"){if(!this._isDragging)return;this._stopDragging(),ot=EUpdateTypes.DragEnd,st=this._onDragEnd}else throw new Error(`invalid event type: ${it}`);if(!st)return;const{value:lt,x:ct}=this._getPosition(nt);st({event:rt,type:ot,value:lt,x:ct,manager:this,tag:this.tag})},this.handleMouseDown=this._handleDragEvent,this.handleMouseEnter=this._handleMinorMouseEvent,this.handleMouseMove=this._handleMinorMouseEvent,this.handleMouseLeave=this._handleMinorMouseEvent,this.getBounds=$,this.tag=_e,this._isDragging=!1,this._bounds=void 0,this._resetBoundsOnResize=!!et,this._resetBoundsOnResize&&window.addEventListener("resize",this.resetBounds),this._onMouseEnter=tt.onMouseEnter,this._onMouseLeave=tt.onMouseLeave,this._onMouseMove=tt.onMouseMove,this._onDragStart=tt.onDragStart,this._onDragMove=tt.onDragMove,this._onDragEnd=tt.onDragEnd}_getBounds(){return this._bounds||(this._bounds=this.getBounds(this.tag)),this._bounds}_getPosition($){const{clientXLeft:_e,maxValue:et,minValue:tt,width:rt}=this._getBounds();let at=$-_e,nt=at/rt;return tt!=null&&ntet&&(nt=et,at=et*rt),{value:nt,x:at}}_stopDragging(){window.removeEventListener("mousemove",this._handleDragEvent),window.removeEventListener("mouseup",this._handleDragEvent);const $=get_1$1(document,"body.style");$&&($.userSelect=null),this._isDragging=!1}isDragging(){return this._isDragging}dispose(){this._isDragging&&this._stopDragging(),this._resetBoundsOnResize&&window.removeEventListener("resize",this.resetBounds),this._bounds=void 0,this._onMouseEnter=void 0,this._onMouseLeave=void 0,this._onMouseMove=void 0,this._onDragStart=void 0,this._onDragMove=void 0,this._onDragEnd=void 0}}const VerticalResizer$1="";class VerticalResizer extends reactExports.PureComponent{constructor($){super($),this._setRootElm=_e=>{this._rootElm=_e},this._getDraggingBounds=()=>{if(!this._rootElm)throw new Error("invalid state");const{left:_e,width:et}=this._rootElm.getBoundingClientRect(),{rightSide:tt}=this.props;let{min:rt,max:at}=this.props;return tt&&([rt,at]=[1-at,1-rt]),{clientXLeft:_e,width:et,maxValue:at,minValue:rt}},this._handleDragUpdate=({value:_e})=>{const et=this.props.rightSide?1-_e:_e;this.setState({dragPosition:et})},this._handleDragEnd=({manager:_e,value:et})=>{_e.resetBounds(),this.setState({dragPosition:null});const tt=this.props.rightSide?1-et:et;this.props.onChange(tt)},this._dragManager=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleDragEnd,onDragMove:this._handleDragUpdate,onDragStart:this._handleDragUpdate}),this._rootElm=void 0,this.state={dragPosition:null}}componentWillUnmount(){this._dragManager.dispose()}render(){let $,_e,et="";const{position:tt,rightSide:rt}=this.props,{dragPosition:at}=this.state;$=`${tt*100}%`;const nt={left:$};if(this._dragManager.isDragging()&&this._rootElm&&at!=null){et=classnamesExports({isDraggingLeft:attt}),$=`${at*100}%`;const it=`${Math.min(tt,at)*100}%`,ot=`calc(${(1-Math.max(tt,at))*100}% - 1px)`;_e={left:it,right:ot}}else _e=nt;return jsxRuntimeExports.jsxs("div",{className:`VerticalResizer ${et} ${rt?"is-flipped":""}`,ref:this._setRootElm,children:[jsxRuntimeExports.jsx("div",{className:"VerticalResizer--gripIcon",style:nt}),jsxRuntimeExports.jsx("div",{"aria-hidden":!0,className:"VerticalResizer--dragger",onMouseDown:this._dragManager.handleMouseDown,style:_e})]})}}const DetailsPanel$1="";class UnconnectedDetailsPanel extends reactExports.PureComponent{constructor(){super(...arguments),this.state={},this.onResize=$=>{this.setState({width:$})}}componentDidMount(){this.fetchDetails()}componentDidUpdate($){($.operation!==this.props.operation||$.service!==this.props.service||$.decorationSchema!==this.props.decorationSchema)&&(this.setState({details:void 0,detailsErred:!1,detailsLoading:!1}),this.fetchDetails())}fetchDetails(){const{decorationSchema:{detailUrl:$,detailPath:_e,detailColumnDefPath:et,opDetailUrl:tt,opDetailPath:rt,opDetailColumnDefPath:at},operation:nt,service:it}=this.props,ot=nt&&!Array.isArray(nt)?nt:void 0;let st,lt,ct;tt&&rt&&ot?(st=stringSupplant(tt,{service:it,operation:ot}),lt=stringSupplant(rt,{service:it,operation:ot}),ct=at&&stringSupplant(at,{service:it,operation:ot})):$&&_e&&(st=stringSupplant($,{service:it}),lt=stringSupplant(_e,{service:it}),ct=et&&stringSupplant(et,{service:it})),!(!st||!lt)&&(this.setState({detailsLoading:!0}),JaegerAPI.fetchDecoration(st).then(ut=>{let ft=!1,At=get_1$1(ut,lt);At===void 0&&(At=`\`${lt}\` not found in response`,ft=!0);const vt=ct?get_1$1(ut,ct,[]):[];this.setState({columnDefs:vt,details:At,detailsErred:ft,detailsLoading:!1})}).catch(ut=>{this.setState({details:`Unable to fetch decoration: ${ut.message||ut}`,detailsErred:!0,detailsLoading:!1})}))}render(){const{decorationProgressbar:$,decorationSchema:_e,decorationValue:et,operation:tt,service:rt}=this.props,{detailLink:at}=_e,{width:nt=.3}=this.state,it=tt&&!Array.isArray(tt)?tt:void 0;return jsxRuntimeExports.jsxs("div",{className:"Ddg--DetailsPanel",style:{width:`${nt*100}vw`},children:[jsxRuntimeExports.jsxs("div",{className:"Ddg--DetailsPanel--SvcOpHeader",children:[jsxRuntimeExports.jsx(BreakableText,{text:rt}),it&&jsxRuntimeExports.jsx(BreakableText,{text:`::${it}`})]}),jsxRuntimeExports.jsxs("div",{className:"Ddg--DetailsPanel--DecorationHeader",children:[jsxRuntimeExports.jsx("span",{children:stringSupplant(_e.name,{service:rt,operation:it})}),at&&jsxRuntimeExports.jsx(Tooltip$1,{arrowPointAtCenter:!0,title:"More Info",children:jsxRuntimeExports.jsx("a",{className:"Ddg--DetailsPanel--DetailLink",href:stringSupplant(at,{service:rt,operation:it}),target:"_blank",rel:"noreferrer noopener",children:jsxRuntimeExports.jsx(NewWindowIcon,{})})})]}),$?jsxRuntimeExports.jsx("div",{className:"Ddg--DetailsPanel--PercentCircleWrapper",children:$}):jsxRuntimeExports.jsx("span",{className:"Ddg--DetailsPanel--errorMsg",children:et}),this.state.detailsLoading&&jsxRuntimeExports.jsx("div",{className:"Ddg--DetailsPanel--LoadingWrapper",children:jsxRuntimeExports.jsx(LoadingIndicator,{className:"Ddg--DetailsPanel--LoadingIndicator"})}),this.state.details&&jsxRuntimeExports.jsx(DetailsCard,{className:`Ddg--DetailsPanel--DetailsCard ${this.state.detailsErred?"is-error":""}`,columnDefs:this.state.columnDefs,details:this.state.details,header:"Details"}),jsxRuntimeExports.jsx(VerticalResizer,{max:.8,min:.1,onChange:this.onResize,position:nt,rightSide:!0})]})}}const DetailsPanel=connect$3(extractDecorationFromState)(UnconnectedDetailsPanel),CATEGORY_DECORATION_SELECTION="jaeger/ux/ddg/decoration-selection",CATEGORY_DECORATION_VIEW_DETAILS="jaeger/ux/ddg/decoration-view-details",ACTION_CLEAR$1="clear",ACTION_SET$1="set";function trackDecorationSelected(o){o?trackEvent(CATEGORY_DECORATION_SELECTION,ACTION_SET$1,o):trackEvent(CATEGORY_DECORATION_SELECTION,ACTION_CLEAR$1)}function trackDecorationViewDetails(o){o?trackEvent(CATEGORY_DECORATION_VIEW_DETAILS,ACTION_SET$1):trackEvent(CATEGORY_DECORATION_VIEW_DETAILS,ACTION_CLEAR$1)}const index$q="";class SidePanel extends reactExports.PureComponent{constructor($){super($),this.clearSelected=()=>{trackDecorationViewDetails(),this.props.clearSelected()},this.selectDecoration=tt=>{trackDecorationSelected(tt),this.props.selectDecoration(tt)},this.openInfoModal=()=>{Modal.info({content:jsxRuntimeExports.jsx(Table$1,{columns:[{dataIndex:"acronym",key:"acronym",title:"Acronym"},{dataIndex:"name",key:"name",title:"Name"}],dataSource:this.decorations,rowKey:tt=>tt.id}),maskClosable:!0,title:"Decoration Options",width:"60vw"})};const{selectedDecoration:_e,selectedVertex:et}=$;_e&&trackDecorationSelected(_e),et&&trackDecorationViewDetails(et),this.decorations=getConfigValue("pathAgnosticDecorations")}componentDidUpdate($){$.selectedVertex!==this.props.selectedVertex&&trackDecorationViewDetails(this.props.selectedVertex)}render(){if(!this.decorations)return null;const{selectedDecoration:$,selectedVertex:_e}=this.props,et=this.decorations.find(({id:tt})=>tt===$);return jsxRuntimeExports.jsxs("div",{className:"Ddg--SidePanel",children:[jsxRuntimeExports.jsxs("div",{className:"Ddg--SidePanel--Btns",children:[jsxRuntimeExports.jsx("button",{className:`Ddg--SidePanel--closeBtn ${_e&&et?"":"is-hidden"}`,type:"button",onClick:this.clearSelected,children:jsxRuntimeExports.jsx(MdExitToApp,{})}),jsxRuntimeExports.jsxs("div",{className:"Ddg--SidePanel--DecorationBtns",children:[this.decorations.map(({acronym:tt,id:rt})=>jsxRuntimeExports.jsx("button",{className:`Ddg--SidePanel--decorationBtn ${rt===$?"is-selected":""}`,type:"button",onClick:()=>this.selectDecoration(rt),children:tt},rt)),jsxRuntimeExports.jsx("button",{className:"Ddg--SidePanel--decorationBtn",type:"button",onClick:()=>this.selectDecoration(),children:"Clear"},"clearBtn")]}),jsxRuntimeExports.jsx("button",{className:"Ddg--SidePanel--infoBtn",onClick:this.openInfoModal,type:"button",children:jsxRuntimeExports.jsx(MdInfoOutline,{})})]}),jsxRuntimeExports.jsx("div",{className:`Ddg--SidePanel--Details ${_e&&et?".is-expanded":""}`,children:_e&&et&&jsxRuntimeExports.jsx(DetailsPanel,{decorationSchema:et,operation:_e.operation,service:_e.service})})]})}}const actionTypes$3=generateActionTypes("@jaeger-ui/DEEP-DEPENDENCY-GRAPH",["ADD_VIEW_MODIFIER","CLEAR_VIEW_MODIFIERS_FROM_INDICES","REMOVE_VIEW_MODIFIER","REMOVE_VIEW_MODIFIER_FROM_INDICES"]),addViewModifier$1=identity_1,clearViewModifiersFromIndices=identity_1,removeViewModifier=identity_1,removeViewModifierFromIndices=identity_1,fullActions$3=createActions({[actionTypes$3.ADD_VIEW_MODIFIER]:addViewModifier$1,[actionTypes$3.CLEAR_VIEW_MODIFIERS_FROM_INDICES]:clearViewModifiersFromIndices,[actionTypes$3.REMOVE_VIEW_MODIFIER]:removeViewModifier,[actionTypes$3.REMOVE_VIEW_MODIFIER_FROM_INDICES]:removeViewModifierFromIndices}),ddgActions=fullActions$3.jaegerUi.deepDependencyGraph;function getStateEntryKey({service:o,operation:$="*",start:_e,end:et}){return`${o} + `}function getDashStyle(o){var $=o.counterClockwise,_e=o.dashRatio,et=o.pathRadius,tt=Math.PI*2*et,rt=(1-_e)*tt;return{strokeDasharray:tt+"px "+tt+"px",strokeDashoffset:($?-rt:rt)+"px"}}var CircularProgressbar$1=function(o){__extends($,o);function $(){return o!==null&&o.apply(this,arguments)||this}return $.prototype.getBackgroundPadding=function(){return this.props.background?this.props.backgroundPadding:0},$.prototype.getPathRadius=function(){return VIEWBOX_HEIGHT_HALF-this.props.strokeWidth/2-this.getBackgroundPadding()},$.prototype.getPathRatio=function(){var _e=this.props,et=_e.value,tt=_e.minValue,rt=_e.maxValue,at=Math.min(Math.max(et,tt),rt);return(at-tt)/(rt-tt)},$.prototype.render=function(){var _e=this.props,et=_e.circleRatio,tt=_e.className,rt=_e.classes,at=_e.counterClockwise,nt=_e.styles,it=_e.strokeWidth,ot=_e.text,st=this.getPathRadius(),lt=this.getPathRatio();return reactExports.createElement("svg",{className:rt.root+" "+tt,style:nt.root,viewBox:"0 0 "+VIEWBOX_WIDTH+" "+VIEWBOX_HEIGHT,"data-test-id":"CircularProgressbar"},this.props.background?reactExports.createElement("circle",{className:rt.background,style:nt.background,cx:VIEWBOX_CENTER_X,cy:VIEWBOX_CENTER_Y,r:VIEWBOX_HEIGHT_HALF}):null,reactExports.createElement(Path$1,{className:rt.trail,counterClockwise:at,dashRatio:et,pathRadius:st,strokeWidth:it,style:nt.trail}),reactExports.createElement(Path$1,{className:rt.path,counterClockwise:at,dashRatio:lt*et,pathRadius:st,strokeWidth:it,style:nt.path}),ot?reactExports.createElement("text",{className:rt.text,style:nt.text,x:VIEWBOX_CENTER_X,y:VIEWBOX_CENTER_Y},ot):null)},$.defaultProps={background:!1,backgroundPadding:0,circleRatio:1,classes:{root:"CircularProgressbar",trail:"CircularProgressbar-trail",path:"CircularProgressbar-path",text:"CircularProgressbar-text",background:"CircularProgressbar-background"},counterClockwise:!1,className:"",maxValue:100,minValue:0,strokeWidth:8,styles:{root:{},trail:{},path:{},text:{},background:{}},text:""},$}(reactExports.Component);const styles$2="";class CircularProgressbar extends reactExports.PureComponent{render(){const{backgroundHue:$,decorationHue:_e=0,maxValue:et,strokeWidth:tt,text:rt,value:at}=this.props,nt=(at/et)**(1/4),it=20+Math.ceil(nt*80),ot=50+Math.ceil((1-nt)*30),st=`hsl(${_e}, ${it}%, ${ot}%)`,lt=((et-at)/et)**(1/4),ct=20+Math.ceil(lt*80),ut=50+Math.ceil((1-lt)*30),ft=`hsl(${$}, ${ct}%, ${ut}%)`;return jsxRuntimeExports.jsx(CircularProgressbar$1,{styles:{path:{stroke:st,strokeLinecap:"butt"},text:{fill:st},trail:{stroke:$!==void 0?ft:"transparent",strokeLinecap:"butt"}},maxValue:et,strokeWidth:tt,text:rt,value:at})}}function extractDecorationFromState(o,{service:$,operation:_e}){const{decoration:et}=queryString.parse(o.router.location.search),tt=Array.isArray(et)?et[0]:et;if(!tt)return{};let rt=get_1$1(o,`pathAgnosticDecorations.${tt}.withOp.${$}.${_e}`),at=get_1$1(o,`pathAgnosticDecorations.${tt}.withOpMax`);return rt||(rt=get_1$1(o,`pathAgnosticDecorations.${tt}.withoutOp.${$}`),at=get_1$1(o,`pathAgnosticDecorations.${tt}.withoutOpMax`)),{decorationProgressbar:typeof rt=="number"?jsxRuntimeExports.jsx(CircularProgressbar,{backgroundHue:120,decorationHue:0,maxValue:at,strokeWidth:PROGRESS_BAR_STROKE_WIDTH/RADIUS*50,text:`${rt}`,value:rt},`${$} ${_e}`):void 0,decorationID:tt,decorationValue:rt}}const index$D="";function getNodeRenderer$1({baseUrl:o,density:$,extraUrlArgs:_e,focusPathsThroughVertex:et,getGenerationVisibility:tt,getVisiblePathElems:rt,hideVertex:at,selectVertex:nt,setOperation:it,setViewModifier:ot,updateGenerationVisibility:st}){return function(ct,ut,ft){const{isFocalNode:At,key:vt,operation:ht,service:mt}=ct;return jsxRuntimeExports.jsx(DdgNodeContent,{focalNodeUrl:At?null:getUrl$4({density:$,operation:ht,service:mt,..._e},o),focusPathsThroughVertex:et,getGenerationVisibility:tt,getVisiblePathElems:rt,hideVertex:at,isFocalNode:At,isPositioned:!!ft,operation:ht,selectVertex:nt,setOperation:it,setViewModifier:ot,service:mt,updateGenerationVisibility:st,vertex:ct,vertexKey:vt})}}function measureNode(){const o=2*(RADIUS+1);return{height:o,width:o}}class UnconnectedDdgNodeContent extends reactExports.PureComponent{constructor($){super($),this.state={},this.hoveredIndices=new Set,this.focusPaths=()=>{const{focusPathsThroughVertex:_e,vertexKey:et}=this.props;_e(et)},this.handleClick=()=>{const{decorationValue:_e,selectVertex:et,vertex:tt}=this.props;_e&&et(tt)},this.hideVertex=()=>{const{hideVertex:_e,vertexKey:et}=this.props;_e(et)},this.setOperation=_e=>{trackVertexSetOperation(),this.props.setOperation(_e)},this.updateChildren=()=>{const{updateGenerationVisibility:_e,vertexKey:et}=this.props;_e(et,EDirection.Downstream)},this.updateParents=()=>{const{updateGenerationVisibility:_e,vertexKey:et}=this.props;_e(et,EDirection.Upstream)},this.viewTraces=()=>{trackViewTraces$1();const{vertexKey:_e,getVisiblePathElems:et}=this.props,tt=et(_e);if(tt){const rt=new Set;let at=MIN_LENGTH;const nt=tt.map(({memberOf:it})=>it.traceIDs.slice());for(;nt.length;){const it=nt.shift();if(it&&it.length){const ot=it.pop();if(ot&&!rt.has(ot)&&(at+=PARAM_NAME_LENGTH+ot.length,at>MAX_LENGTH||(rt.add(ot),rt.size>=MAX_LINKED_TRACES)))break;nt.push(it)}}window.open(getUrl$2({traceID:Array.from(rt)}),"_blank")}},this.onMouseUx=_e=>{const{getGenerationVisibility:et,getVisiblePathElems:tt,setViewModifier:rt,vertexKey:at}=this.props,nt=_e.type==="mouseover",it=nt?(tt(at)||[]).map(({visibilityIdx:ot})=>(this.hoveredIndices.add(ot),ot)):Array.from(this.hoveredIndices);rt(it,EViewModifier.Hovered,nt),nt?this.setState({childrenVisibility:et(at,EDirection.Downstream),parentVisibility:et(at,EDirection.Upstream)}):this.hoveredIndices.clear()},this.getDecoration()}componentDidUpdate($){$.decorationID!==this.props.decorationID&&this.getDecoration()}componentWillUnmount(){this.hoveredIndices.size&&(this.props.setViewModifier(Array.from(this.hoveredIndices),EViewModifier.Hovered,!1),this.hoveredIndices.clear())}getDecoration(){const{decorationID:$,getDecoration:_e,operation:et,service:tt}=this.props;$&&_e($,tt,typeof et=="string"?et:void 0)}render(){const{childrenVisibility:$,parentVisibility:_e}=this.state,{decorationProgressbar:et,decorationValue:tt,focalNodeUrl:rt,isFocalNode:at,isPositioned:nt,operation:it,service:ot}=this.props,{radius:st,svcWidth:lt,opWidth:ct,svcMarginTop:ut}=calcPositioning(ot,it),At=(et?RADIUS-PROGRESS_BAR_STROKE_WIDTH:RADIUS)/st,vt=`translate(${RADIUS-st}px, ${RADIUS-st}px) scale(${At})`;return jsxRuntimeExports.jsxs("div",{className:"DdgNodeContent",onMouseOver:this.onMouseUx,onMouseOut:this.onMouseUx,children:[et,jsxRuntimeExports.jsx("div",{className:classnamesExports("DdgNodeContent--core",{"is-decorated":tt,"is-focalNode":at,"is-missingDecoration":typeof tt=="string","is-positioned":nt}),onClick:this.handleClick,role:"button",style:{width:`${st*2}px`,height:`${st*2}px`,transform:vt},children:jsxRuntimeExports.jsxs("div",{className:"DdgNodeContent--labelWrapper",children:[jsxRuntimeExports.jsx("h4",{className:"DdgNodeContent--label",style:{marginTop:`${ut}px`,width:`${lt}px`},children:jsxRuntimeExports.jsx(BreakableText,{text:ot,wordRegexp:WORD_RX$1})}),it&&jsxRuntimeExports.jsx("div",{className:"DdgNodeContent--label",style:{paddingTop:`${OP_PADDING_TOP}px`,width:`${ct}px`},children:Array.isArray(it)?jsxRuntimeExports.jsx(Popover,{content:jsxRuntimeExports.jsx(FilteredList,{options:it,value:null,setValue:this.setOperation}),placement:"bottom",title:"Select Operation to Filter Graph",children:jsxRuntimeExports.jsx("span",{children:`${it.length} Operations`})}):jsxRuntimeExports.jsx(BreakableText,{text:it,wordRegexp:WORD_RX$1})})]})}),jsxRuntimeExports.jsxs("div",{className:"DdgNodeContent--actionsWrapper",children:[rt&&jsxRuntimeExports.jsxs("a",{href:rt,className:"DdgNodeContent--actionsItem",onClick:trackSetFocus,children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:setFocusIcon}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"Set focus"})]}),jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.viewTraces,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(NewWindowIcon,{})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"View traces"})]}),!at&&jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.focusPaths,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(IoAndroidLocate,{})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"Focus paths through this node"})]}),!at&&jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.hideVertex,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(MdVisibilityOff,{})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"Hide node"})]}),_e&&jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.updateParents,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(Checkbox$1,{checked:_e===ECheckedStatus.Full,indeterminate:_e===ECheckedStatus.Partial})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"View Parents"})]}),$&&jsxRuntimeExports.jsxs("a",{className:"DdgNodeContent--actionsItem",onClick:this.updateChildren,role:"button",children:[jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemIconWrapper",children:jsxRuntimeExports.jsx(Checkbox$1,{checked:$===ECheckedStatus.Full,indeterminate:$===ECheckedStatus.Partial})}),jsxRuntimeExports.jsx("span",{className:"DdgNodeContent--actionsItemText",children:"View Children"})]})]})]})}}function mapDispatchToProps$a(o){const{getDecoration:$}=bindActionCreators(padActions,o);return{getDecoration:$}}const DdgNodeContent=connect$3(extractDecorationFromState,mapDispatchToProps$a)(UnconnectedDdgNodeContent),getNodeRenderers$1="";function getNodeRenderers(o,$){function _e(rt){const at=($.get(rt.vertex.key)||0)&EViewModifier.Hovered,nt=($.get(rt.vertex.key)||0)&EViewModifier.PathHovered,it=classnamesExports("DdgNode--VectorBorder",{"is-findMatch":o.has(rt.vertex.key),"is-hovered":at,"is-pathHovered":nt,"is-focalNode":rt.vertex.isFocalNode});return jsxRuntimeExports.jsx("circle",{className:it,vectorEffect:"non-scaling-stroke",r:rt.width/2-1,cx:rt.width/2,cy:rt.width/2})}function et(rt){const at=classnamesExports({"is-findMatch":o.has(rt.vertex.key),"is-focalNode":rt.vertex.isFocalNode});return at?jsxRuntimeExports.jsx("div",{className:`DdgNode--HtmlEmphasis ${at}`}):null}if(!o.size)return{vectorBorder:_e,htmlEmphasis:et,vectorFindColorBand:null};function tt(rt){return o.has(rt.vertex.key)?jsxRuntimeExports.jsx("circle",{className:"DdgNode--VectorFindEmphasis--colorBand",vectorEffect:"non-scaling-stroke",r:rt.width/2-1,cx:rt.width/2,cy:rt.width/2}):null}return{htmlEmphasis:et,vectorBorder:_e,vectorFindColorBand:tt}}function getEdgeId(o,$){return`${o}\v${$}`}function getKeyFromVisIdx(o,$){const _e=o.visIdxToPathElem[$];if(!_e)throw new Error(`Invalid vis ids: ${$}`);const et=o.pathElemToVertex.get(_e);if(!et)throw new Error(`Path elem without vertex: ${_e}`);return et.key}function getDerivedViewModifiers(o,$){const _e=new Map,et=new Map,tt=this.getVisibleIndices(o),rt=(nt,it)=>{et.set(it,(et.get(it)||0)|nt)},at=(nt,it,ot)=>{const st=getEdgeId(it,ot);_e.set(st,(_e.get(st)||0)|nt)};return $.forEach((nt,it)=>{if(!tt.has(it)||(rt(nt,getKeyFromVisIdx(this,it)),nt!==EViewModifier.Hovered))return;const ot=this.visIdxToPathElem[it];if(!ot)throw new Error(`Invalid vis index: ${it}`);const st=ot.memberOf.members;let lt=null;for(let ct=0;ct$.focalPath.map(o).join(` +`)}function getExtVsIntHasher(o){return $=>`${getPpeHasher(o)($)}${$.isExternal?"; is-external":""}`}function getPathElemHasher(){const o=this.showOp?fmtElemShowOp:fmtElemSvcOnly;switch(this.density){case EDdgDensity.MostConcise:return $=>{const{members:_e,focalIdx:et}=$.memberOf,tt=_e[et];if($.operation.service.name===tt.operation.service.name){if($===tt||!this.showOp)return FOCAL_KEY;const rt=this.vertices.get(FOCAL_KEY);if(!rt)throw new Error("No focal vertex found");const at=this.vertexToPathElems.get(rt);if(!at)throw new Error("No focal elems found");if(new Set(Array.from(at).map(({operation:it})=>it.name)).has($.operation.name))return FOCAL_KEY}return o($)};case EDdgDensity.UpstreamVsDownstream:return $=>$.distance?`${o($)}; direction=${Math.sign($.distance)}`:FOCAL_KEY;case EDdgDensity.OnePerLevel:return $=>$.distance?`${o($)}; distance=${$.distance}`:FOCAL_KEY;case EDdgDensity.PreventPathEntanglement:return getPpeHasher(o);case EDdgDensity.ExternalVsInternal:return getExtVsIntHasher(o);default:throw new Error(`Density: ${this.density} has not been implemented, try one of these: ${JSON.stringify(EDdgDensity,null,2)}`)}}const COUNT_INDICATOR="~",DELIMITER=".",VISIBILITY_BUCKET_SIZE=31,decode=memoize(10)(o=>{const $=[];let _e=0;return o.split(DELIMITER).forEach(et=>{const[tt,rt="1"]=et.split(COUNT_INDICATOR),at=parseInt(rt,36),nt=tt?parseInt(tt,36):0;for(let it=0;nt>=1<{const $=[];o.forEach(et=>{const{csvIdx:tt,visibilityValue:rt}=convertAbsoluteIdxToRelativeValues(et);$[tt]|=rt});const _e=[];for(let et=0;et<$.length;et++){const tt=$[et],rt=_e[_e.length-1];!rt||rt[0]!==tt?_e.push([tt,1]):rt[1]+=1}return _e.map(([et,tt])=>{const rt=et?et.toString(36):"",at=tt!==1?`${COUNT_INDICATOR}${tt.toString(36)}`:"";return`${rt}${at}`}).join(DELIMITER)},encodeDistance=({ddgModel:o,direction:$,distance:_e,prevVisEncoding:et})=>{if(Math.sign(_e)===-1*Math.sign($))throw new Error(`Distance (${_e}) and direction (${$}) cannot have opposite signs`);const{distanceToPathElems:tt,visIdxToPathElem:rt}=o;let at;et?at=decode(et).filter(nt=>rt[nt]&&Math.sign(rt[nt].distance)!==$):at=[...tt.get(-1*$)||[],...tt.get(-2*$)||[]].map(({visibilityIdx:nt})=>nt);for(let nt=0;nt!==_e+$;nt+=$){const it=tt.get(nt);it&&at.push(...it.map(({visibilityIdx:ot})=>ot))}return encode(at)};class GraphModel{constructor({ddgModel:$,density:_e,showOp:et}){this.getDerivedViewModifiers=memoize(3)(getDerivedViewModifiers.bind(this)),this.getPathElemHasher=getPathElemHasher,this.getGeneration=(nt,it,ot)=>{const st=[],lt=this.getVertexVisiblePathElems(nt,ot);return lt&<.forEach(({focalSideNeighbor:ct,memberIdx:ut,memberOf:ft})=>{const At=ft.members[ut+it];At&&At!==ct&&st.push(At)}),st},this.getGenerationVisibility=(nt,it,ot)=>{const st=this.getGeneration(nt,it,ot);if(!st.length)return null;const lt=this.getVisibleIndices(ot),ct=st.filter(({visibilityIdx:ut})=>lt.has(ut));return ct.length===st.length?ECheckedStatus.Full:ct.length?ECheckedStatus.Partial:ECheckedStatus.Empty},this.getVisible=memoize(10)(nt=>{const it=new Set,ot=new Set;if(this.getVisiblePathElems(nt).forEach(lt=>{const ct=this.pathElemToEdge.get(lt);ct&&it.add(ct);const ut=this.pathElemToVertex.get(lt);ut&&!ut.isFocalNode&&ot.add(ut)}),this.visIdxToPathElem.length){const lt=this.vertices.get(FOCAL_KEY);if(!lt)throw new Error("No focal vertex found");const ct=this.getVertexVisiblePathElems(FOCAL_KEY,nt);if(ct&&ct.length)if(!this.showOp)ot.add(lt);else{const ut=Array.from(new Set(ct.map(({operation:At})=>At.name))),ft={...lt,operation:ut.length===1?ut[0]:ut};ot.add(ft)}}return{edges:Array.from(it),vertices:Array.from(ot)}}),this.getHiddenUiFindMatches=memoize(10)((nt,it)=>{const ot=new Set(this.getVisible(it).vertices),st=Array.from(this.vertices.values()).filter(lt=>!ot.has(lt)&&!lt.isFocalNode);if(this.visIdxToPathElem.length){const lt=this.vertices.get(FOCAL_KEY);if(!lt)throw new Error("No focal vertex found");const ct=this.vertexToPathElems.get(lt);if(!ct)throw new Error("No focal elems found");const ut=new Set(this.getVertexVisiblePathElems(FOCAL_KEY,it)),ft=Array.from(ct).filter(At=>!ut.has(At)).map(({operation:At})=>At.name);ft.length&&st.push({...lt,operation:ft})}return GraphModel.getUiFindMatches(st,nt)}),this.getVisibleUiFindMatches=memoize(10)((nt,it)=>{const{vertices:ot}=this.getVisible(it);return GraphModel.getUiFindMatches(ot,nt)}),this.density=_e,this.distanceToPathElems=new Map($.distanceToPathElems),this.pathElemToEdge=new Map,this.pathElemToVertex=new Map,this.showOp=et,this.vertexToPathElems=new Map,this.vertices=new Map,this.visIdxToPathElem=$.visIdxToPathElem.slice();const tt=new Set,rt=this.getPathElemHasher(),at=new Map;if(this.visIdxToPathElem.forEach(nt=>{const it=rt(nt),ot=!nt.distance,st=this.showOp?nt.operation.name:null;ot&&st&&tt.add(st);let lt=this.vertices.get(it);if(!lt)lt={key:it,isFocalNode:ot,service:nt.operation.service.name,operation:st},this.vertices.set(it,lt),this.vertexToPathElems.set(lt,new Set([nt]));else{const ut=this.vertexToPathElems.get(lt);if(!ut)throw new Error(`Vertex exists without pathElems, vertex: ${lt}`);ut.add(nt)}this.pathElemToVertex.set(nt,lt);const ct=nt.focalSideNeighbor;if(ct){const ut=this.pathElemToVertex.get(ct);if(!ut)throw new Error(`Non-focal pathElem cannot be connected to graph. PathElem: ${nt}`);const ft=nt.distance>0?ut.key:lt.key,At=nt.distance>0?lt.key:ut.key,vt=getEdgeId(ft,At);let ht=at.get(vt);ht||(ht={from:ft,to:At},at.set(vt,ht)),this.pathElemToEdge.set(nt,ht)}}),tt.size>1){const nt=this.vertices.get(FOCAL_KEY);nt&&(nt.operation=Array.from(tt))}Object.freeze(this.distanceToPathElems),Object.freeze(this.pathElemToEdge),Object.freeze(this.pathElemToVertex),Object.freeze(this.vertexToPathElems),Object.freeze(this.vertices),Object.freeze(this.visIdxToPathElem)}getDefaultVisiblePathElems(){return[].concat(this.distanceToPathElems.get(-2)||[],this.distanceToPathElems.get(-1)||[],this.distanceToPathElems.get(0)||[],this.distanceToPathElems.get(1)||[],this.distanceToPathElems.get(2)||[])}getVisiblePathElems($){return $==null?this.getDefaultVisiblePathElems():decode($).map(_e=>this.visIdxToPathElem[_e]).filter(Boolean)}getVisibleIndices($){return new Set(this.getVisiblePathElems($).map(({visibilityIdx:_e})=>_e))}static getUiFindMatches($,_e){const et=new Set;if(!_e||/^\s+$/.test(_e))return et;const tt=_e.trim().toLowerCase().split(/\s+/);for(let rt=0;rt<$.length;rt++){const{service:at,operation:nt}=$[rt],it=at.toLowerCase(),ot=nt&&(Array.isArray(nt)?nt:[nt]).map(st=>st.toLowerCase());for(let st=0;stlt.includes(tt[st]))){et.add($[rt].key);break}}return et}getVisWithoutElems($,_e){const et=this.getVisibleIndices(_e);return $.forEach(({externalPath:tt})=>{tt.forEach(({visibilityIdx:rt})=>{et.delete(rt)})}),encode(Array.from(et))}getVisWithoutVertex($,_e){const et=this.getVertexVisiblePathElems($,_e);if(et&&et.length)return this.getVisWithoutElems(et,_e)}getVisWithElems($,_e){const et=this.getVisibleIndices(_e);return $.forEach(({focalPath:tt})=>tt.forEach(({visibilityIdx:rt})=>{et.add(rt)})),encode(Array.from(et))}getVisWithUpdatedGeneration($,_e,et){const tt=this.getGeneration($,_e,et),rt=this.getGenerationVisibility($,_e,et);return!tt.length||!rt?null:rt===ECheckedStatus.Full?{visEncoding:this.getVisWithoutElems(tt,et),update:ECheckedStatus.Empty}:{visEncoding:this.getVisWithElems(tt,et),update:ECheckedStatus.Full}}getVisWithVertices($,_e){const et=[];return $.forEach(tt=>{const rt=this.vertices.get(tt);if(!rt)throw new Error(`${tt} does not exist in graph`);const at=this.vertexToPathElems.get(rt);if(!at)throw new Error(`${tt} does not exist in graph`);et.push(...at)}),this.getVisWithElems(et,_e)}getVertexVisiblePathElems($,_e){const et=this.vertices.get($);if(et){const tt=this.vertexToPathElems.get(et);if(tt&&tt.size){const rt=this.getVisibleIndices(_e);return Array.from(tt).filter(at=>rt.has(at.visibilityIdx))}}}}const makeGraph=memoize(10)((o,$,_e)=>new GraphModel({ddgModel:o,density:_e,showOp:$})),baseCase={className:"Ddg--Edge"},matchMiss={className:"Ddg--Edge",markerEnd:null};function getSetOnEdge(o){return o.size?function(_e,et){const tt=getEdgeId(_e.edge.from,_e.edge.to);return(o.get(tt)||0)&EViewModifier.PathHovered?{markerEnd:`url(#${et.getGlobalId("arrow-hovered")})`,className:"Ddg--Edge is-pathHovered"}:matchMiss}:baseCase}const index$C="",setOnEdgesContainer={withViewModifiers:[{className:"Ddg--Edges is-withViewModifiers"}],withoutViewModifiers:[Digraph.propsFactories.scaleStrokeOpacityStrongest,{className:"Ddg--Edges"}]},setOnVectorBorderContainerWithViewModifiers={className:"DdgVectorBorders is-withViewModifiers"},edgesDefs=[{localId:"arrow"},{localId:"arrow-hovered",setOnEntry:{className:"Ddg--Arrow is-pathHovered"}}];class Graph extends reactExports.PureComponent{constructor(){super(...arguments),this.getNodeRenderers=memoizeOne$1(getNodeRenderers),this.getNodeContentRenderer=memoizeOne$1(getNodeRenderer$1),this.getSetOnEdge=memoizeOne$1(getSetOnEdge),this.layoutManager=new LayoutManager({nodesep:.55,ranksep:1.5,rankdir:"TB",shape:"circle",splines:"polyline",useDotEdges:!0}),this.emptyFindSet=new Set}componentWillUnmount(){this.layoutManager.stopAndRelease()}render(){const{baseUrl:$,density:_e,edges:et,edgesViewModifiers:tt,extraUrlArgs:rt,focusPathsThroughVertex:at,getGenerationVisibility:nt,getVisiblePathElems:it,hideVertex:ot,selectVertex:st,setOperation:lt,setViewModifier:ct,uiFindMatches:ut,updateGenerationVisibility:ft,vertices:At,verticesViewModifiers:vt}=this.props,ht=this.getNodeRenderers(ut||this.emptyFindSet,vt);return jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,minimapClassName:"u-miniMap",layoutManager:this.layoutManager,edges:et,vertices:At,measurableNodesKey:"nodes/content",layers:[{key:"nodes/find-emphasis/vector-color-band",layerType:"svg",renderNode:ht.vectorFindColorBand},{key:"nodes/find-emphasis/html",layerType:"html",renderNode:ht.htmlEmphasis},{key:"nodes/vector-border",layerType:"svg",renderNode:ht.vectorBorder,setOnContainer:vt.size?setOnVectorBorderContainerWithViewModifiers:Digraph.propsFactories.scaleStrokeOpacityStrongest},{key:"edges",layerType:"svg",edges:!0,defs:edgesDefs,markerEndId:"arrow",setOnContainer:tt.size?setOnEdgesContainer.withViewModifiers:setOnEdgesContainer.withoutViewModifiers,setOnEdge:this.getSetOnEdge(tt)},{key:"nodes/content",layerType:"html",measurable:!0,measureNode,renderNode:this.getNodeContentRenderer({baseUrl:$,density:_e,extraUrlArgs:rt,focusPathsThroughVertex:at,getGenerationVisibility:nt,getVisiblePathElems:it,hideVertex:ot,selectVertex:st,setOperation:lt,setViewModifier:ct,updateGenerationVisibility:ft})}]})}}var visibilityExports={},visibility={get exports(){return visibilityExports},set exports(o){visibilityExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{const{direction:rt}=this.props;return jsxRuntimeExports.jsxs(React$k.Fragment,{children:[!!tt&&jsxRuntimeExports.jsx(IoChevronRight,{className:`${CLASSNAME}--ChevronRight is-${_e}`}),jsxRuntimeExports.jsx("button",{className:`${CLASSNAME}--btn is-${_e} ${CLASSNAME}--${et}`,type:"button",onClick:()=>this.handleClick($),children:Math.abs($)})]},`${$} ${rt} ${et}`)}}handleClick($){const{direction:_e,furthestFullDistance:et,handleClick:tt}=this.props;tt($,_e),trackHopChange(et,$,_e)}render(){const{direction:$,furthestDistance:_e,furthestFullness:et,handleClick:tt,hops:rt}=this.props,at=$===EDirection.Downstream?"Down":"Up",nt=`${at}stream hops`,it=nt.toLowerCase();if(rt.length<=1)return jsxRuntimeExports.jsxs("span",{className:CLASSNAME,children:["No ",it]});const ot=jsxRuntimeExports.jsx("button",{disabled:_e===0,className:`${CLASSNAME}--decrement`,type:"button",onClick:()=>tt(_e-$,$),children:"-"},`decrement ${$}`),st=jsxRuntimeExports.jsx("button",{disabled:_e===rt[rt.length-1].distance,className:`${CLASSNAME}--increment`,type:"button",onClick:()=>tt(_e+$,$),children:"+"},`increment ${$}`),lt=this.makeBtn({...rt[rt.length-1],suffix:"delimiter"}),ct=this.makeBtn({distance:_e,fullness:et,suffix:"furthest"});return jsxRuntimeExports.jsx(Popover,{arrowPointAtCenter:!0,content:[ot,...rt.map(this.makeBtn),st],placement:"bottom",title:`Visible ${it}`,children:jsxRuntimeExports.jsxs("span",{className:CLASSNAME,children:[jsxRuntimeExports.jsx(SortAmountAsc,{className:`${CLASSNAME}--AscIcon is-${at}`}),nt,ct,jsxRuntimeExports.jsx("span",{className:`${CLASSNAME}--delimiter`,children:"/"}),lt,jsxRuntimeExports.jsx(ChevronDown$1,{className:"ub-ml1"})]})})}}const HopsSelector=reactExports.memo(function({distanceToPathElems:$,handleClick:_e,visEncoding:et}){if(!$)return jsxRuntimeExports.jsx("div",{});const tt=[],rt=[];let at=0,nt=0,it=ECheckedStatus.Empty,ot=0,st=0,lt=ECheckedStatus.Empty;const ct=et&&new Set(decode(et));return $.forEach((ut,ft)=>{let At;if(ct){const vt=ut.filter(({visibilityIdx:ht})=>ct.has(ht));vt.length===ut.length?At=ECheckedStatus.Full:vt.length?At=ECheckedStatus.Partial:At=ECheckedStatus.Empty}else At=Math.abs(ft)<=2?ECheckedStatus.Full:ECheckedStatus.Empty;ft>=0&&tt.push({distance:ft,fullness:At}),ft<=0&&rt.push({distance:ft,fullness:At}),At!==ECheckedStatus.Empty&&(ft>=st&&(st=ft,lt=At),ft<=nt&&(nt=ft,it=At)),At===ECheckedStatus.Full&&(ft>=ot&&(ot=ft),ft<=at&&(at=ft))}),tt.sort(({distance:ut},{distance:ft})=>ut-ft),rt.sort(({distance:ut},{distance:ft})=>ft-ut),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(Selector,{direction:EDirection.Upstream,handleClick:_e,hops:rt,furthestDistance:nt,furthestFullDistance:at,furthestFullness:it}),jsxRuntimeExports.jsx(Selector,{direction:EDirection.Downstream,handleClick:_e,hops:tt,furthestDistance:st,furthestFullDistance:ot,furthestFullness:lt})]})}),NameSelector$1="",DEFAULT_PLACEHOLDER="Select a value…";class NameSelector extends reactExports.PureComponent{constructor(){super(...arguments),this.listRef=reactExports.createRef(),this.state={popoverVisible:!1},this.clearValue=$=>{if(this.props.required)throw new Error("Cannot clear value of required NameSelector");$.stopPropagation(),this.props.clearValue()},this.setValue=$=>{this.props.setValue($),this.changeVisible(!1)},this.onBodyClicked=()=>{this.listRef.current&&!this.listRef.current.isMouseWithin()&&this.changeVisible(!1)},this.onFilterCancelled=()=>{this.changeVisible(!1)},this.onPopoverVisibleChanged=$=>{this.changeVisible($)}}componentDidUpdate(){this.listRef.current&&this.state.popoverVisible&&this.listRef.current.focusInput()}changeVisible($){this.setState({popoverVisible:$}),setTimeout(()=>{$?window.document.body.addEventListener("click",this.onBodyClicked):window.document.body.removeEventListener("click",this.onBodyClicked)})}render(){const{label:$,options:_e,placeholder:et=!1,required:tt=!1,value:rt}=this.props,{popoverVisible:at}=this.state,nt=classnamesExports("NameSelector",{"is-active":at,"is-invalid":tt&&!rt});let it=!0,ot=rt||"";return!rt&&et&&(it=!1,ot=typeof et=="string"?et:DEFAULT_PLACEHOLDER),jsxRuntimeExports.jsx(Popover,{overlayClassName:"NameSelector--overlay u-rm-popover-content-padding",onVisibleChange:this.onPopoverVisibleChanged,placement:"bottomLeft",content:jsxRuntimeExports.jsx(FilteredList,{ref:this.listRef,cancel:this.onFilterCancelled,options:_e,value:rt,setValue:this.setValue}),trigger:"click",visible:at,children:jsxRuntimeExports.jsxs("h2",{className:nt,children:[it&&jsxRuntimeExports.jsxs("span",{className:"NameSelector--label",children:[$,":"]}),jsxRuntimeExports.jsx(BreakableText,{className:"NameSelector--value",text:ot}),jsxRuntimeExports.jsx(IoChevronDown,{className:"NameSelector--chevron"}),!tt&&rt&&jsxRuntimeExports.jsx(Icon$1,{className:"NameSelector--clearIcon",type:"close",onClick:this.clearValue})]})})}}const index$B="";function _typeof$C(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$C=function(_e){return typeof _e}:_typeof$C=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$C(o)}function _defineProperty$J(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$1A(){return _extends$1A=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$L(o){return _getPrototypeOf$L=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$L(o)}var __rest$m=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$K(o){return _getPrototypeOf$K=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$K(o)}function getCheckedValue(o){var $=null,_e=!1;return reactExports.Children.forEach(o,function(et){et&&et.props&&et.props.checked&&($=et.props.value,_e=!0)}),_e?{value:$}:void 0}var RadioGroup=function(o){_inherits$1p(_e,o);var $=_createSuper$C(_e);function _e(et){var tt;_classCallCheck$1q(this,_e),tt=$.call(this,et),tt.onRadioChange=function(nt){var it=tt.state.value,ot=nt.target.value;"value"in tt.props||tt.setState({value:ot});var st=tt.props.onChange;st&&ot!==it&&st(nt)},tt.renderGroup=function(nt){var it=nt.getPrefixCls,ot=_assertThisInitialized$H(tt),st=ot.props,lt=st.prefixCls,ct=st.className,ut=ct===void 0?"":ct,ft=st.options,At=st.buttonStyle,vt=it("radio",lt),ht="".concat(vt,"-group"),mt=classNames(ht,"".concat(ht,"-").concat(At),_defineProperty$I({},"".concat(ht,"-").concat(st.size),st.size),ut),bt=st.children;return ft&&ft.length>0&&(bt=ft.map(function(dt){return typeof dt=="string"?reactExports.createElement(Radio,{key:dt,prefixCls:vt,disabled:tt.props.disabled,value:dt,checked:tt.state.value===dt},dt):reactExports.createElement(Radio,{key:"radio-group-value-options-".concat(dt.value),prefixCls:vt,disabled:dt.disabled||tt.props.disabled,value:dt.value,checked:tt.state.value===dt.value},dt.label)})),reactExports.createElement("div",{className:mt,style:st.style,onMouseEnter:st.onMouseEnter,onMouseLeave:st.onMouseLeave,id:st.id},bt)};var rt;if("value"in et)rt=et.value;else if("defaultValue"in et)rt=et.defaultValue;else{var at=getCheckedValue(et.children);rt=at&&at.value}return tt.state={value:rt},tt}return _createClass$1l(_e,[{key:"getChildContext",value:function(){return{radioGroup:{onChange:this.onRadioChange,value:this.state.value,disabled:this.props.disabled,name:this.props.name}}}},{key:"shouldComponentUpdate",value:function(tt,rt){return!shallowequal(this.props,tt)||!shallowequal(this.state,rt)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderGroup)}}],[{key:"getDerivedStateFromProps",value:function(tt){if("value"in tt)return{value:tt.value};var rt=getCheckedValue(tt.children);return rt?{value:rt.value}:null}}]),_e}(reactExports.Component);RadioGroup.defaultProps={buttonStyle:"outline"};RadioGroup.childContextTypes={radioGroup:propTypesExports.any};polyfill(RadioGroup);const Group=RadioGroup;function _typeof$A(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$A=function(_e){return typeof _e}:_typeof$A=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$A(o)}function _extends$1z(){return _extends$1z=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$J(o){return _getPrototypeOf$J=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$J(o)}var __rest$l=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt{const o="Ddg--LayoutSettings";return $=>$?`${o}--${$}`:o})(),densityOptions=[{option:EDdgDensity.MostConcise,title:"One node per resource",note:"Most conscise",description:"This setting represents each resource one time in the graph, regardless of whether or not it's upstream or downstream of the focal node. This results in the most dense graph layout, possible."},{option:EDdgDensity.UpstreamVsDownstream,title:"Separate upstream from downstream nodes",description:"This setting differentiates upstream nodes from downstream nodes. And, within the each section, a given resource is represented by only one node."},{option:EDdgDensity.OnePerLevel,title:"One resource per level",description:"Represents each resource at most one time for any given level, or number of hops, from the focal node."},{option:EDdgDensity.PreventPathEntanglement,title:"Show paths to the focal node",description:"Each unique path to the focal node, both upstream and downstream, is represented. A resource (e.g. a service or service:operation) can be represented more than once if it is present in more than one path to the focal node."},{option:EDdgDensity.ExternalVsInternal,title:"Separate internal from external nodes",note:"Most detailed",description:"This is similar to the setting, above, but this setting also differentiates internal from external nodes."}];class LayoutSettings extends reactExports.PureComponent{constructor(){super(...arguments),this.updateDensity=$=>{const{density:_e}=this.props,{value:et}=$.target;_e!==et&&(trackDensityChange(_e,et,densityOptions),this.props.setDensity(et))},this.toggleShowOperations=$=>{const{checked:_e}=$.target;trackToggleShowOp(_e),this.props.toggleShowOperations(_e)}}render(){const{density:$,showOperations:_e}=this.props,et=jsxRuntimeExports.jsxs("table",{className:cssCls("optionsTable"),children:[jsxRuntimeExports.jsx("tbody",{children:jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsx("td",{className:cssCls("optionGroupTitle"),children:"Aggregations"}),jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx(Checkbox$1,{className:cssCls("option"),checked:_e,onChange:this.toggleShowOperations,children:jsxRuntimeExports.jsxs("div",{className:cssCls("optionDescription"),children:[jsxRuntimeExports.jsx("h4",{children:"Show operations"}),jsxRuntimeExports.jsx("p",{children:"Controls whether or not the operations are considered when creating nodes for the graph."})]})})})]})}),jsxRuntimeExports.jsx("tbody",{children:densityOptions.map((tt,rt)=>jsxRuntimeExports.jsxs("tr",{children:[rt===0&&jsxRuntimeExports.jsx("td",{className:cssCls("optionGroupTitle"),rowSpan:densityOptions.length,children:"Graph density"}),jsxRuntimeExports.jsx("td",{children:jsxRuntimeExports.jsx(Radio,{className:cssCls("option"),onChange:this.updateDensity,value:tt.option,checked:$===tt.option,children:jsxRuntimeExports.jsxs("div",{className:cssCls("optionDescription"),children:[jsxRuntimeExports.jsx("h4",{children:tt.title}),jsxRuntimeExports.jsxs("p",{children:[tt.note&&jsxRuntimeExports.jsx("em",{className:cssCls("optionNote"),children:tt.note}),tt.note&&" – ",tt.description]})]})})})]},tt.option))})]});return jsxRuntimeExports.jsx(Popover,{arrowPointAtCenter:!0,content:et,placement:"bottomLeft",title:"Layout settings",children:jsxRuntimeExports.jsxs("div",{className:cssCls(),children:[settingsIcon,"Layout",jsxRuntimeExports.jsx(ChevronDown$1,{className:"ub-ml2"})]})})}}function updateUiFind({history:o,location:$,trackFindFunction:_e,uiFind:et}){const{uiFind:tt,...rt}=queryString.parse($.search);_e&&_e(et),et&&(rt.uiFind=et),o.replace({...$,search:`?${queryString.stringify(rt)}`})}class UnconnectedUiFindInput extends reactExports.PureComponent{constructor(){super(...arguments),this.state={ownInputValue:void 0},this.updateUiFindQueryParam=debounce_1($=>{const{history:_e,location:et,uiFind:tt,trackFindFunction:rt}=this.props;$===tt||!tt&&!$||updateUiFind({location:et,history:_e,trackFindFunction:rt,uiFind:$})},250),this.clearUiFind=()=>{this.updateUiFindQueryParam(),this.updateUiFindQueryParam.flush()},this.handleInputBlur=()=>{this.updateUiFindQueryParam.flush(),this.setState({ownInputValue:void 0})},this.handleInputChange=$=>{const{value:_e}=$.target;this.updateUiFindQueryParam(_e),this.setState({ownInputValue:_e})}}render(){const{allowClear:$,forwardedRef:_e,inputProps:et}=this.props,tt=isString_1(this.state.ownInputValue)?this.state.ownInputValue:this.props.uiFind,rt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[$&&tt&&tt.length&&jsxRuntimeExports.jsx(Icon$1,{type:"close",onClick:this.clearUiFind}),et.suffix]});return jsxRuntimeExports.jsx(Input$1,{placeholder:"Find...",...et,onBlur:this.handleInputBlur,onChange:this.handleInputChange,ref:_e,suffix:rt,value:tt})}}UnconnectedUiFindInput.defaultProps={forwardedRef:void 0,inputProps:{},trackFindFunction:void 0,uiFind:void 0};function extractUiFindFromState(o){const{uiFind:$}=queryString.parse(o.router.location.search);return{uiFind:Array.isArray($)?$.join(" "):$}}const UiFindInput=withRouter$1(connect$3(extractUiFindFromState)(UnconnectedUiFindInput)),index$z="";let Header$2=class extends reactExports.PureComponent{constructor(){super(...arguments),this._uiFindInput=reactExports.createRef(),this.focusUiFindInput=()=>{this._uiFindInput.current&&this._uiFindInput.current.focus()},this.getUiFindInfo=()=>{const{hiddenUiFindMatches:$,uiFindCount:_e}=this.props;if(_e===void 0)return null;let et=!1,tt=null,rt=_e?"All matches are visible":"No matches";if($&&$.size){const{size:at}=$;et=!0,rt=`Click to view ${at} hidden match${at!==1?"es":""}`,tt=jsxRuntimeExports.jsxs("span",{className:"DdgHeader--uiFindInfo--hidden",children:[at,jsxRuntimeExports.jsx(MdVisibilityOff,{className:"DdgHeader--uiFindInfo--icon"})]})}return jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"DdgHeader--uiFindInfo--tooltip",placement:"topRight",title:rt,children:jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsxs("button",{className:"DdgHeader--uiFindInfo",disabled:!et,onClick:this.handleInfoClick,type:"button",children:[_e,(_e!==0||et)&&jsxRuntimeExports.jsx(MdVisibility,{className:"DdgHeader--uiFindInfo--icon"}),tt]})})})},this.setOperation=$=>{trackHeaderSetOperation(),this.props.setOperation($)},this.handleInfoClick=()=>{trackShowMatches();const{hiddenUiFindMatches:$,showVertices:_e}=this.props;$&&_e(Array.from($))}}render(){const{clearOperation:$,density:_e,distanceToPathElems:et,operation:tt,operations:rt,service:at,services:nt,setDensity:it,setDistance:ot,setService:st,showOperations:lt,showParameters:ct,toggleShowOperations:ut,visEncoding:ft}=this.props;return jsxRuntimeExports.jsxs("header",{className:"DdgHeader",children:[ct&&jsxRuntimeExports.jsxs("div",{className:"DdgHeader--paramsHeader",children:[jsxRuntimeExports.jsx(NameSelector,{label:"Service",placeholder:"Select a service…",value:at||null,setValue:st,required:!0,options:nt||[]}),at&&jsxRuntimeExports.jsx(NameSelector,{clearValue:$,label:"Operation",placeholder:"Filter by operation…",value:tt||null,setValue:this.setOperation,options:rt||[]})]}),jsxRuntimeExports.jsxs("div",{className:"DdgHeader--controlHeader",children:[jsxRuntimeExports.jsx(LayoutSettings,{density:_e,setDensity:it,showOperations:lt,toggleShowOperations:ut}),jsxRuntimeExports.jsx(HopsSelector,{distanceToPathElems:et,handleClick:ot,visEncoding:ft}),jsxRuntimeExports.jsx("div",{className:"DdgHeader--findWrapper",children:jsxRuntimeExports.jsxs("div",{className:"DdgHeader--uiFind",role:"button",onClick:this.focusUiFindInput,children:[jsxRuntimeExports.jsx(Icon$1,{className:"DdgHeader--uiFindSearchIcon",type:"search"}),jsxRuntimeExports.jsx(UiFindInput,{allowClear:!0,forwardedRef:this._uiFindInput,inputProps:{className:"DdgHeader--uiFindInput"},trackFindFunction:trackFilter$1}),this.getUiFindInfo()]})})]})]})}};Header$2.defaultProps={showParameters:!0};const index$y="",index$x="",index$w="",index$v="",index$u="",index$t="";var __rest$k=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u")return 0;if(o||cached===void 0){var $=document.createElement("div");$.style.width="100%",$.style.height="200px";var _e=document.createElement("div"),et=_e.style;et.position="absolute",et.top=0,et.left=0,et.pointerEvents="none",et.visibility="hidden",et.width="200px",et.height="150px",et.overflow="hidden",_e.appendChild($),document.body.appendChild(_e);var tt=$.offsetWidth;_e.style.overflow="scroll";var rt=$.offsetWidth;tt===rt&&(rt=_e.clientWidth),document.body.removeChild(_e),cached=tt-rt}return cached}function setStyle(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_e=$.element,et=_e===void 0?document.body:_e,tt={},rt=Object.keys(o);return rt.forEach(function(at){tt[at]=et.style[at]}),rt.forEach(function(at){et.style[at]=o[at]}),tt}function isBodyOverflowing(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var cacheStyle={};const switchScrollingEffect=function(o){if(!(!isBodyOverflowing()&&!o)){var $="ant-scrolling-effect",_e=new RegExp("".concat($),"g"),et=document.body.className;if(o){if(!_e.test(et))return;setStyle(cacheStyle),cacheStyle={},document.body.className=et.replace(_e,"").trim();return}var tt=getScrollBarSize();if(tt&&(cacheStyle=setStyle({position:"relative",width:"calc(100% - ".concat(tt,"px)")}),!_e.test(et))){var rt="".concat(et," ").concat($);document.body.className=rt.trim()}}};function ownKeys$8(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$8(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$I(o){return _getPrototypeOf$I=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$I(o)}var openCount=0,windowIsUndefined=!(typeof window<"u"&&window.document&&window.document.createElement),IS_REACT_16$1="createPortal"in ReactDOM,cacheOverflow={},PortalWrapper=function(o){_inherits$1n(_e,o);var $=_createSuper$A(_e);function _e(et){var tt;_classCallCheck$1o(this,_e),tt=$.call(this,et),tt.getParent=function(){var at=tt.props.getContainer;if(at){if(typeof at=="string")return document.querySelectorAll(at)[0];if(typeof at=="function")return at();if(_typeof$z(at)==="object"&&at instanceof window.HTMLElement)return at}return document.body},tt.getContainer=function(){if(windowIsUndefined)return null;if(!tt.container){tt.container=document.createElement("div");var at=tt.getParent();at&&at.appendChild(tt.container)}return tt.setWrapperClassName(),tt.container},tt.setWrapperClassName=function(){var at=tt.props.wrapperClassName;tt.container&&at&&at!==tt.container.className&&(tt.container.className=at)},tt.savePortal=function(at){tt._component=at},tt.removeCurrentContainer=function(at){tt.container=null,tt._component=null,IS_REACT_16$1||(at?tt.renderComponent({afterClose:tt.removeContainer,onClose:function(){},visible:!1}):tt.removeContainer())},tt.switchScrollingEffect=function(){openCount===1&&!Object.keys(cacheOverflow).length?(switchScrollingEffect(),cacheOverflow=setStyle({overflow:"hidden",overflowX:"hidden",overflowY:"hidden"})):openCount||(setStyle(cacheOverflow),cacheOverflow={},switchScrollingEffect(!0))};var rt=et.visible;return openCount=rt?openCount+1:openCount,tt.state={_self:_assertThisInitialized$F(tt)},tt}return _createClass$1j(_e,[{key:"componentDidUpdate",value:function(){this.setWrapperClassName()}},{key:"componentWillUnmount",value:function(){var tt=this.props.visible;openCount=tt&&openCount?openCount-1:openCount,this.removeCurrentContainer(tt)}},{key:"render",value:function(){var tt=this,rt=this.props,at=rt.children,nt=rt.forceRender,it=rt.visible,ot=null,st={getOpenCount:function(){return openCount},getContainer:this.getContainer,switchScrollingEffect:this.switchScrollingEffect};return IS_REACT_16$1?((nt||it||this._component)&&(ot=React$k.createElement(Portal$1,{getContainer:this.getContainer,ref:this.savePortal},at(st))),ot):React$k.createElement(ContainerRender,{parent:this,visible:it,autoDestroy:!1,getComponent:function(){var ct=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return at(_objectSpread$8(_objectSpread$8(_objectSpread$8({},ct),st),{},{ref:tt.savePortal}))},getContainer:this.getContainer,forceRender:nt},function(lt){var ct=lt.renderComponent,ut=lt.removeContainer;return tt.renderComponent=ct,tt.removeContainer=ut,null})}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=rt.prevProps,nt=rt._self,it=tt.visible,ot=tt.getContainer;if(at){var st=at.visible,lt=at.getContainer;it!==st&&(openCount=it&&!st?openCount+1:openCount-1);var ct=typeof ot=="function"&&typeof lt=="function";(ct?ot.toString()!==lt.toString():ot!==lt)&&nt.removeCurrentContainer(!1)}return{prevProps:tt}}}]),_e}(React$k.Component);PortalWrapper.propTypes={wrapperClassName:propTypesExports.string,forceRender:propTypesExports.bool,getContainer:propTypesExports.any,children:propTypesExports.func,visible:propTypesExports.bool};const Portal=polyfill(PortalWrapper),Dialog=function(o){var $=o.visible,_e=o.getContainer,et=o.forceRender;return _e===!1?reactExports.createElement(Dialog$1,_default$bE({},o,{getOpenCount:function(){return 2}})):reactExports.createElement(Portal,{visible:$,forceRender:et,getContainer:_e},function(tt){return reactExports.createElement(Dialog$1,_default$bE({},o,tt))})};function _typeof$y(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$y=function(_e){return typeof _e}:_typeof$y=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$y(o)}function _defineProperty$G(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$1y(){return _extends$1y=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$H(o){return _getPrototypeOf$H=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$H(o)}var __rest$j=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$G(o){return _getPrototypeOf$G=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$G(o)}var ActionButton=function(o){_inherits$1l(_e,o);var $=_createSuper$y(_e);function _e(et){var tt;return _classCallCheck$1m(this,_e),tt=$.call(this,et),tt.onClick=function(){var rt=tt.props,at=rt.actionFn,nt=rt.closeModal;if(at){var it;at.length?it=at(nt):(it=at(),it||nt()),it&&it.then&&(tt.setState({loading:!0}),it.then(function(){nt.apply(void 0,arguments)},function(ot){console.error(ot),tt.setState({loading:!1})}))}else nt()},tt.state={loading:!1},tt}return _createClass$1h(_e,[{key:"componentDidMount",value:function(){if(this.props.autoFocus){var tt=reactDomExports.findDOMNode(this);this.timeoutId=setTimeout(function(){return tt.focus()})}}},{key:"componentWillUnmount",value:function(){clearTimeout(this.timeoutId)}},{key:"render",value:function(){var tt=this.props,rt=tt.type,at=tt.children,nt=tt.buttonProps,it=this.state.loading;return reactExports.createElement(Button$2,_extends$1x({type:rt,onClick:this.onClick,loading:it},nt),at)}}]),_e}(reactExports.Component);function _extends$1w(){return _extends$1w=Object.assign||function(o){for(var $=1;$"u"||typeof window>"u")return 0;var tt=_e==="vertical";if(tt&&scrollbarVerticalSize)return scrollbarVerticalSize;if(!tt&&scrollbarHorizontalSize)return scrollbarHorizontalSize;var rt=document.createElement("div");Object.keys(scrollbarMeasure).forEach(function(nt){rt.style[nt]=scrollbarMeasure[nt]}),rt.className="".concat(et,"-hide-scrollbar scroll-div-append-to-body"),tt?rt.style.overflowY="scroll":rt.style.overflowX="scroll",document.body.appendChild(rt);var at=0;return tt?(at=rt.offsetWidth-rt.clientWidth,scrollbarVerticalSize=at):(at=rt.offsetHeight-rt.clientHeight,scrollbarHorizontalSize=at),document.body.removeChild(rt),at}utils$2.measureScrollbar=measureScrollbar;function debounce(o,$,_e){var et;function tt(){for(var rt=arguments.length,at=new Array(rt),nt=0;nto.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function ownKeys$7(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$7(o){for(var $=1;$1&&arguments[1]!==void 0?arguments[1]:0,nt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},it=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[];it[at]=it[at]||[];var ot=[],st=function(ct){var ut=it.length-at;ct&&!ct.children&&ut>1&&(!ct.rowSpan||ct.rowSpan0?(ut.children=tt(ut.children,at+1,ut,it),nt.colSpan+=ut.colSpan):nt.colSpan+=1;for(var ft=0;ft=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$3(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function ownKeys$6(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$6(o){for(var $=1;$1&&_e===0&&et&&et!=="auto"?parseInt(et.toString(),10):et},st);return React$e.createElement(nt,Object.assign({},ot,{style:lt}),$.map(function(ct,ut){var ft,At=ct.column,vt=ct.isLast,ht=_objectWithoutProperties$6(ct,["column","isLast"]),mt=At.onHeaderCell?At.onHeaderCell(At):{};return At.align&&(mt.style=_objectSpread$6({},mt.style,{textAlign:At.align})),mt.className=classnames_1$5.default(mt.className,At.className,(ft={},_defineProperty$D(ft,"".concat(at,"-align-").concat(At.align),!!At.align),_defineProperty$D(ft,"".concat(at,"-row-cell-ellipsis"),!!At.ellipsis),_defineProperty$D(ft,"".concat(at,"-row-cell-break-word"),!!At.width),_defineProperty$D(ft,"".concat(at,"-row-cell-last"),vt),ft)),React$e.createElement(it,Object.assign({},ht,mt,{key:At.key||At.dataIndex||ut}))}))}function getRowHeight$1(o,$){var _e=o.fixedColumnsHeadRowsHeight,et=$.columns,tt=$.rows,rt=$.fixed,at=_e[0];return rt&&at&&et?at==="auto"?"auto":at/tt.length:null}TableHeaderRow$1.default=mini_store_1$5.connect(function(o,$){return{height:getRowHeight$1(o,$)}})(TableHeaderRow);var __importStar$a=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$a=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(TableHeader$1,"__esModule",{value:!0});var React$d=__importStar$a(reactExports),PropTypes$4=__importStar$a(propTypesExports),TableHeaderRow_1=__importDefault$a(TableHeaderRow$1);function getHeaderRows(o){var $=o.columns,_e=$===void 0?[]:$,et=o.currentRow,tt=et===void 0?0:et,rt=o.rows,at=rt===void 0?[]:rt,nt=o.isLast,it=nt===void 0?!0:nt;return at[tt]=at[tt]||[],_e.forEach(function(ot,st){if(ot.rowSpan&&at.length0})}var TableHeader=function($,_e){var et=_e.table,tt=et.components,rt=et.props,at=rt.prefixCls,nt=rt.showHeader,it=rt.onHeaderRow,ot=$.expander,st=$.columns,lt=$.fixed;if(!nt)return null;var ct=getHeaderRows({columns:st});ot.renderExpandIndentCell(ct,lt);var ut=tt.header.wrapper;return React$d.createElement(ut,{className:"".concat(at,"-thead")},ct.map(function(ft,At){return React$d.createElement(TableHeaderRow_1.default,{prefixCls:at,key:At,index:At,fixed:lt,columns:st,rows:ct,row:ft,components:tt,onHeaderRow:it})}))};TableHeader.contextTypes={table:PropTypes$4.any};TableHeader$1.default=TableHeader;var TableRow$1={},TableCell$1={};function _typeof$w(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$w=function(_e){return typeof _e}:_typeof$w=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$w(o)}function ownKeys$5(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$5(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$F(o){return _getPrototypeOf$F=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$F(o)}var __importStar$9=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$9=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(TableCell$1,"__esModule",{value:!0});var React$c=__importStar$9(reactExports),classnames_1$4=__importDefault$9(classnamesExports),get_1=__importDefault$9(get_1$1);function isInvalidRenderCellText(o){return o&&!React$c.isValidElement(o)&&Object.prototype.toString.call(o)==="[object Object]"}var TableCell=function(o){_inherits$1k(_e,o);var $=_createSuper$x(_e);function _e(){var et;return _classCallCheck$1k(this,_e),et=$.apply(this,arguments),et.handleClick=function(tt){var rt=et.props,at=rt.record,nt=rt.column.onCellClick;nt&&nt(at,tt)},et}return _createClass$1f(_e,[{key:"render",value:function(){var tt,rt=this.props,at=rt.record,nt=rt.indentSize,it=rt.prefixCls,ot=rt.indent,st=rt.index,lt=rt.expandIcon,ct=rt.column,ut=rt.component,ft=ct.dataIndex,At=ct.render,vt=ct.className,ht=vt===void 0?"":vt,mt;typeof ft=="number"?mt=get_1.default(at,ft):!ft||ft.length===0?mt=at:mt=get_1.default(at,ft);var bt={},dt,xt;if(At&&(mt=At(mt,at,st),isInvalidRenderCellText(mt))){bt=mt.props||bt;var Ct=bt;dt=Ct.colSpan,xt=Ct.rowSpan,mt=mt.children}ct.onCell&&(bt=_objectSpread$5({},bt,{},ct.onCell(at,st))),isInvalidRenderCellText(mt)&&(mt=null);var gt=lt?React$c.createElement("span",{style:{paddingLeft:"".concat(nt*ot,"px")},className:"".concat(it,"-indent indent-level-").concat(ot)}):null;if(xt===0||dt===0)return null;ct.align&&(bt.style=_objectSpread$5({textAlign:ct.align},bt.style));var wt=classnames_1$4.default(ht,(tt={},_defineProperty$C(tt,"".concat(it,"-cell-ellipsis"),!!ct.ellipsis),_defineProperty$C(tt,"".concat(it,"-cell-break-word"),!!ct.width),tt));if(ct.ellipsis){if(typeof mt=="string")bt.title=mt;else if(mt){var _t=mt,Et=_t.props;Et&&Et.children&&typeof Et.children=="string"&&(bt.title=Et.children)}}return React$c.createElement(ut,Object.assign({className:wt,onClick:this.handleClick},bt),gt,lt,mt)}}]),_e}(React$c.Component);TableCell$1.default=TableCell;function _typeof$v(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$v=function(_e){return typeof _e}:_typeof$v=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$v(o)}function _objectWithoutProperties$5(o,$){if(o==null)return{};var _e=_objectWithoutPropertiesLoose$2(o,$),et,tt;if(Object.getOwnPropertySymbols){var rt=Object.getOwnPropertySymbols(o);for(tt=0;tt=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$2(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function ownKeys$4(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$4(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$E(o){return _getPrototypeOf$E=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$E(o)}var __importStar$8=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$8=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(TableRow$1,"__esModule",{value:!0});var React$b=__importStar$8(reactExports),react_dom_1=__importDefault$8(reactDomExports),warning_1$1=__importDefault$8(warning$3),mini_store_1$4=lib$5,react_lifecycles_compat_1$2=require$$16,classnames_1$3=__importDefault$8(classnamesExports),TableCell_1=__importDefault$8(TableCell$1),TableRow=function(o){_inherits$1j(_e,o);var $=_createSuper$w(_e);function _e(){var et;return _classCallCheck$1j(this,_e),et=$.apply(this,arguments),et.state={},et.onTriggerEvent=function(tt,rt,at){var nt=et.props,it=nt.record,ot=nt.index;return function(){at&&at();for(var st=arguments.length,lt=new Array(st),ct=0;ct=0&&this.setRowHeight())}},{key:"render",value:function(){if(!this.state.shouldRender)return null;var tt=this.props,rt=tt.prefixCls,at=tt.columns,nt=tt.record,it=tt.rowKey,ot=tt.index,st=tt.onRow,lt=tt.indent,ct=tt.indentSize,ut=tt.hovered,ft=tt.height,At=tt.visible,vt=tt.components,ht=tt.hasExpandIcon,mt=tt.renderExpandIcon,bt=tt.renderExpandIconCell,dt=tt.onRowClick,xt=tt.onRowDoubleClick,Ct=tt.onRowMouseEnter,gt=tt.onRowMouseLeave,wt=tt.onRowContextMenu,_t=vt.body.row,Et=vt.body.cell,It=this.props.className;ut&&(It+=" ".concat(rt,"-hover"));var Tt=[];bt(Tt);for(var Rt=0;Rt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$D(o){return _getPrototypeOf$D=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$D(o)}var __importStar$7=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$7=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ExpandIcon$1,"__esModule",{value:!0});var React$a=__importStar$7(reactExports),shallowequal_1$2=__importDefault$7(shallowequal),ExpandIcon=function(o){_inherits$1i(_e,o);var $=_createSuper$v(_e);function _e(){return _classCallCheck$1i(this,_e),$.apply(this,arguments)}return _createClass$1d(_e,[{key:"shouldComponentUpdate",value:function(tt){return!shallowequal_1$2.default(tt,this.props)}},{key:"render",value:function(){var tt=this.props,rt=tt.expandable,at=tt.prefixCls,nt=tt.onExpand,it=tt.needIndentSpaced,ot=tt.expanded,st=tt.record;if(rt){var lt=ot?"expanded":"collapsed";return React$a.createElement("span",{className:"".concat(at,"-expand-icon ").concat(at,"-").concat(lt),onClick:function(ut){return nt(st,ut)}})}return it?React$a.createElement("span",{className:"".concat(at,"-expand-icon ").concat(at,"-spaced")}):null}}]),_e}(React$a.Component);ExpandIcon$1.default=ExpandIcon;function _typeof$t(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$t=function(_e){return typeof _e}:_typeof$t=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$t(o)}function _classCallCheck$1h(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$v(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1c(o,$,_e){return $&&_defineProperties$v(o.prototype,$),_e&&_defineProperties$v(o,_e),o}function _inherits$1h(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$z(o,$)}function _setPrototypeOf$z(o,$){return _setPrototypeOf$z=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$z(o,$)}function _createSuper$u(o){return function(){var $=_getPrototypeOf$C(o),_e;if(_isNativeReflectConstruct$u()){var et=_getPrototypeOf$C(this).constructor;_e=Reflect.construct($,arguments,et)}else _e=$.apply(this,arguments);return _possibleConstructorReturn$1h(this,_e)}}function _possibleConstructorReturn$1h(o,$){return $&&(_typeof$t($)==="object"||typeof $=="function")?$:_assertThisInitialized$z(o)}function _assertThisInitialized$z(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$u(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$C(o){return _getPrototypeOf$C=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$C(o)}var __importStar$6=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$6=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ExpandableRow$1,"__esModule",{value:!0});var React$9=__importStar$6(reactExports),mini_store_1$3=lib$5,ExpandIcon_1=__importDefault$6(ExpandIcon$1),ExpandableRow=function(o){_inherits$1h(_e,o);var $=_createSuper$u(_e);function _e(){var et;return _classCallCheck$1h(this,_e),et=$.apply(this,arguments),et.hasExpandIcon=function(tt){var rt=et.props,at=rt.expandRowByClick,nt=rt.expandIcon;return et.expandIconAsCell||tt!==et.expandIconColumnIndex?!1:!!nt||!at},et.handleExpandChange=function(tt,rt){var at=et.props,nt=at.onExpandedChange,it=at.expanded,ot=at.rowKey;et.expandable&&nt(!it,tt,rt,ot)},et.handleRowClick=function(tt,rt,at){var nt=et.props,it=nt.expandRowByClick,ot=nt.onRowClick;it&&et.handleExpandChange(tt,at),ot&&ot(tt,rt,at)},et.renderExpandIcon=function(){var tt=et.props,rt=tt.prefixCls,at=tt.expanded,nt=tt.record,it=tt.needIndentSpaced,ot=tt.expandIcon;return ot?ot({prefixCls:rt,expanded:at,record:nt,needIndentSpaced:it,expandable:et.expandable,onExpand:et.handleExpandChange}):React$9.createElement(ExpandIcon_1.default,{expandable:et.expandable,prefixCls:rt,onExpand:et.handleExpandChange,needIndentSpaced:it,expanded:at,record:nt})},et.renderExpandIconCell=function(tt){if(et.expandIconAsCell){var rt=et.props.prefixCls;tt.push(React$9.createElement("td",{className:"".concat(rt,"-expand-icon-cell"),key:"rc-table-expand-icon-cell"},et.renderExpandIcon()))}},et}return _createClass$1c(_e,[{key:"componentWillUnmount",value:function(){this.handleDestroy()}},{key:"handleDestroy",value:function(){var tt=this.props,rt=tt.onExpandedChange,at=tt.rowKey,nt=tt.record;this.expandable&&rt(!1,nt,null,at,!0)}},{key:"render",value:function(){var tt=this.props,rt=tt.childrenColumnName,at=tt.expandedRowRender,nt=tt.indentSize,it=tt.record,ot=tt.fixed,st=tt.expanded;this.expandIconAsCell=ot!=="right"?this.props.expandIconAsCell:!1,this.expandIconColumnIndex=ot!=="right"?this.props.expandIconColumnIndex:-1;var lt=it[rt];this.expandable=!!(lt||at);var ct={indentSize:nt,expanded:st,onRowClick:this.handleRowClick,hasExpandIcon:this.hasExpandIcon,renderExpandIcon:this.renderExpandIcon,renderExpandIconCell:this.renderExpandIconCell};return this.props.children(ct)}}]),_e}(React$9.Component);ExpandableRow$1.default=mini_store_1$3.connect(function(o,$){var _e=o.expandedRowKeys,et=_e===void 0?[]:_e,tt=$.rowKey;return{expanded:et.includes(tt)}})(ExpandableRow);function _typeof$s(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$s=function(_e){return typeof _e}:_typeof$s=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$s(o)}function ownKeys$3(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$3(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$B(o){return _getPrototypeOf$B=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$B(o)}var __importStar$5=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$5=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(BaseTable$1,"__esModule",{value:!0});var React$8=__importStar$5(reactExports),PropTypes$3=__importStar$5(propTypesExports),mini_store_1$2=lib$5,classnames_1$2=__importDefault$5(classnamesExports),ColGroup_1=__importDefault$5(ColGroup$1),TableHeader_1=__importDefault$5(TableHeader$1),TableRow_1$1=__importDefault$5(TableRow$1),ExpandableRow_1=__importDefault$5(ExpandableRow$1),BaseTable=function(o){_inherits$1g(_e,o);var $=_createSuper$t(_e);function _e(){var et;return _classCallCheck$1g(this,_e),et=$.apply(this,arguments),et.handleRowHover=function(tt,rt){et.props.store.setState({currentHoverKey:tt?rt:null})},et.renderRows=function(tt,rt){for(var at=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],nt=et.context.table,it=nt.columnManager,ot=nt.components,st=nt.props,lt=st.prefixCls,ct=st.childrenColumnName,ut=st.rowClassName,ft=st.rowRef,At=st.onRowClick,vt=st.onRowDoubleClick,ht=st.onRowContextMenu,mt=st.onRowMouseEnter,bt=st.onRowMouseLeave,dt=st.onRow,xt=et.props,Ct=xt.getRowKey,gt=xt.fixed,wt=xt.expander,_t=xt.isAnyColumnsFixed,Et=[],It=function(Ot){var Mt=tt[Ot],Bt=Ct(Mt,Ot),Lt=typeof ut=="string"?ut:ut(Mt,Ot,rt),jt={};it.isAnyColumnsFixed()&&(jt.onHover=et.handleRowHover);var zt=void 0;gt==="left"?zt=it.leftLeafColumns():gt==="right"?zt=it.rightLeafColumns():zt=et.getColumns(it.leafColumns());var Nt="".concat(lt,"-row"),Wt=React$8.createElement(ExpandableRow_1.default,Object.assign({},wt.props,{fixed:gt,index:Ot,prefixCls:Nt,record:Mt,key:Bt,rowKey:Bt,onRowClick:At,needIndentSpaced:wt.needIndentSpaced,onExpandedChange:wt.handleExpandChange}),function(qt){return React$8.createElement(TableRow_1$1.default,Object.assign({fixed:gt,indent:rt,className:Lt,record:Mt,index:Ot,prefixCls:Nt,childrenColumnName:ct,columns:zt,onRow:dt,onRowDoubleClick:vt,onRowContextMenu:ht,onRowMouseEnter:mt,onRowMouseLeave:bt},jt,{rowKey:Bt,ancestorKeys:at,ref:ft(Mt,Ot,rt),components:ot,isAnyColumnsFixed:_t},qt))});Et.push(Wt),wt.renderRows(et.renderRows,Et,Mt,Ot,rt,gt,Bt,at)},Tt=0;Tt0&&!it&&(ft.marginBottom="-".concat(vt,"px"),ft.paddingBottom="0px",ft.minWidth="".concat(At,"px"),ft.overflowX="scroll",ft.overflowY=At===0?"hidden":"scroll")}return!ut||!at?null:React$7.createElement("div",{key:"headTable",ref:it?null:ct("headTable"),className:classnames_1$1.default("".concat(tt,"-header"),_defineProperty$z({},"".concat(tt,"-hide-scrollbar"),At>0)),style:ft,onScroll:st},React$7.createElement(BaseTable_1$1.default,{tableClassName:ot,hasHead:!0,hasBody:!1,fixed:it,columns:nt,expander:lt}))}HeadTable$1.default=HeadTable;HeadTable.contextTypes={table:PropTypes$2.any};var BodyTable$1={};function ownKeys$2(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$2(o){for(var $=1;$0&&nt&&(vt.marginBottom="-".concat(mt,"px"),vt.paddingBottom="0px")}var bt=React$6.createElement(BaseTable_1.default,{tableClassName:it,hasHead:!At,hasBody:!0,fixed:nt,columns:at,expander:ct,getRowKey:ot,isAnyColumnsFixed:ut});if(nt&&at.length){var dt;return at[0].fixed==="left"||at[0].fixed===!0?dt="fixedColumnsBodyLeft":at[0].fixed==="right"&&(dt="fixedColumnsBodyRight"),delete vt.overflowX,delete vt.overflowY,React$6.createElement("div",{key:"bodyTable",className:"".concat(tt,"-body-outer"),style:_objectSpread$2({},vt)},React$6.createElement("div",{className:"".concat(tt,"-body-inner"),style:ht,ref:ft(dt),onWheel:lt,onScroll:st},bt))}var xt=rt&&(rt.x||rt.y);return React$6.createElement("div",{tabIndex:xt?-1:void 0,key:"bodyTable",className:"".concat(tt,"-body"),style:vt,ref:ft("bodyTable"),onWheel:lt,onScroll:st},bt)}BodyTable$1.default=BodyTable;BodyTable.contextTypes={table:PropTypes$1.any};var Column$4={};Object.defineProperty(Column$4,"__esModule",{value:!0});var Column$3=function(){return null};Column$4.default=Column$3;var ColumnGroup$2={};function _typeof$r(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$r=function(_e){return typeof _e}:_typeof$r=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$r(o)}function _classCallCheck$1f(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _inherits$1f(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$x(o,$)}function _setPrototypeOf$x(o,$){return _setPrototypeOf$x=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$x(o,$)}function _createSuper$s(o){return function(){var $=_getPrototypeOf$A(o),_e;if(_isNativeReflectConstruct$s()){var et=_getPrototypeOf$A(this).constructor;_e=Reflect.construct($,arguments,et)}else _e=$.apply(this,arguments);return _possibleConstructorReturn$1f(this,_e)}}function _possibleConstructorReturn$1f(o,$){return $&&(_typeof$r($)==="object"||typeof $=="function")?$:_assertThisInitialized$x(o)}function _assertThisInitialized$x(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$s(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$A(o){return _getPrototypeOf$A=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$A(o)}var __importStar$2=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$};Object.defineProperty(ColumnGroup$2,"__esModule",{value:!0});var React$5=__importStar$2(reactExports),ColumnGroup$1=function(o){_inherits$1f(_e,o);var $=_createSuper$s(_e);function _e(){return _classCallCheck$1f(this,_e),$.apply(this,arguments)}return _e}(React$5.Component);ColumnGroup$2.default=ColumnGroup$1;ColumnGroup$1.isTableColumnGroup=!0;var ExpandableTable$1={};function _typeof$q(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$q=function(_e){return typeof _e}:_typeof$q=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$q(o)}function ownKeys$1(o,$){var _e=Object.keys(o);if(Object.getOwnPropertySymbols){var et=Object.getOwnPropertySymbols(o);$&&(et=et.filter(function(tt){return Object.getOwnPropertyDescriptor(o,tt).enumerable})),_e.push.apply(_e,et)}return _e}function _objectSpread$1(o){for(var $=1;$o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _classCallCheck$1e(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$t(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$1a(o,$,_e){return $&&_defineProperties$t(o.prototype,$),_e&&_defineProperties$t(o,_e),o}function _inherits$1e(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$w(o,$)}function _setPrototypeOf$w(o,$){return _setPrototypeOf$w=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$w(o,$)}function _createSuper$r(o){return function(){var $=_getPrototypeOf$z(o),_e;if(_isNativeReflectConstruct$r()){var et=_getPrototypeOf$z(this).constructor;_e=Reflect.construct($,arguments,et)}else _e=$.apply(this,arguments);return _possibleConstructorReturn$1e(this,_e)}}function _possibleConstructorReturn$1e(o,$){return $&&(_typeof$q($)==="object"||typeof $=="function")?$:_assertThisInitialized$w(o)}function _assertThisInitialized$w(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$r(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$z(o){return _getPrototypeOf$z=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$z(o)}var __importStar$1=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$2=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ExpandableTable$1,"__esModule",{value:!0});var React$4=__importStar$1(reactExports),mini_store_1$1=lib$5,react_lifecycles_compat_1$1=require$$16,shallowequal_1$1=__importDefault$2(shallowequal),TableRow_1=__importDefault$2(TableRow$1),utils_1$2=utils$2,ExpandableTable=function(o){_inherits$1e(_e,o);var $=_createSuper$r(_e);function _e(et){var tt;_classCallCheck$1e(this,_e),tt=$.call(this,et),tt.handleExpandChange=function(At,vt,ht,mt){var bt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;ht&&ht.stopPropagation();var dt=tt.props,xt=dt.onExpandedRowsChange,Ct=dt.onExpand,gt=tt.store.getState(),wt=gt.expandedRowKeys;if(At)wt=[].concat(_toConsumableArray$7(wt),[mt]);else{var _t=wt.indexOf(mt);_t!==-1&&(wt=utils_1$2.remove(wt,mt))}tt.props.expandedRowKeys||tt.store.setState({expandedRowKeys:wt}),(!tt.latestExpandedRows||!shallowequal_1$1.default(tt.latestExpandedRows,wt))&&(tt.latestExpandedRows=wt,xt(wt)),bt||Ct(At,vt)},tt.renderExpandIndentCell=function(At,vt){var ht=tt.props,mt=ht.prefixCls,bt=ht.expandIconAsCell;if(!(!bt||vt==="right"||!At.length)){var dt={key:"rc-table-expand-icon-cell",className:"".concat(mt,"-expand-icon-th"),title:"",rowSpan:At.length};At[0].unshift(_objectSpread$1({},dt,{column:dt}))}},tt.renderRows=function(At,vt,ht,mt,bt,dt,xt,Ct){var gt=tt.props,wt=gt.expandedRowClassName,_t=gt.expandedRowRender,Et=gt.childrenColumnName,It=ht[Et],Tt=[].concat(_toConsumableArray$7(Ct),[xt]),Rt=bt+1;_t&&vt.push(tt.renderExpandedRow(ht,mt,_t,wt(ht,mt,bt),Tt,Rt,dt)),It&&vt.push.apply(vt,_toConsumableArray$7(At(It,Rt,Tt)))};var rt=et.data,at=et.childrenColumnName,nt=et.defaultExpandAllRows,it=et.expandedRowKeys,ot=et.defaultExpandedRowKeys,st=et.getRowKey,lt=[],ct=_toConsumableArray$7(rt);if(nt)for(var ut=0;ut"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$y(o){return _getPrototypeOf$y=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$y(o)}var __importStar=commonjsGlobal&&commonjsGlobal.__importStar||function(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$},__importDefault$1=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Table$3,"__esModule",{value:!0});var React$3=__importStar(reactExports),PropTypes=__importStar(propTypesExports),shallowequal_1=__importDefault$1(shallowequal),addEventListener_1=__importDefault$1(addEventListener),warning_1=__importDefault$1(warning$3),mini_store_1=lib$5,merge_1=__importDefault$1(merge_1$1),component_classes_1=__importDefault$1(componentClasses),classnames_1=__importDefault$1(classnamesExports),react_lifecycles_compat_1=require$$16,utils_1$1=utils$2,ColumnManager_1=__importDefault$1(ColumnManager$1),HeadTable_1=__importDefault$1(HeadTable$1),BodyTable_1=__importDefault$1(BodyTable$1),Column_1$1=__importDefault$1(Column$4),ColumnGroup_1$1=__importDefault$1(ColumnGroup$2),ExpandableTable_1=__importDefault$1(ExpandableTable$1),Table$2=function(o){_inherits$1d(_e,o);var $=_createSuper$q(_e);function _e(et){var tt;return _classCallCheck$1d(this,_e),tt=$.call(this,et),tt.state={},tt.getRowKey=function(rt,at){var nt=tt.props.rowKey,it=typeof nt=="function"?nt(rt,at):rt[nt];return warning_1.default(it!==void 0,"Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key."),it===void 0?at:it},tt.handleWindowResize=function(){tt.syncFixedTableRowHeight(),tt.setScrollPositionClassName()},tt.syncFixedTableRowHeight=function(){var rt=tt.tableNode.getBoundingClientRect();if(!(rt.height!==void 0&&rt.height<=0)){var at=tt.props.prefixCls,nt=tt.headTable?tt.headTable.querySelectorAll("thead"):tt.bodyTable.querySelectorAll("thead"),it=tt.bodyTable.querySelectorAll(".".concat(at,"-row"))||[],ot=[].map.call(nt,function(ct){return ct.getBoundingClientRect().height||"auto"}),st=tt.store.getState(),lt=[].reduce.call(it,function(ct,ut){var ft=ut.getAttribute("data-row-key"),At=ut.getBoundingClientRect().height||st.fixedColumnsBodyRowsHeight[ft]||"auto";return ct[ft]=At,ct},{});shallowequal_1.default(st.fixedColumnsHeadRowsHeight,ot)&&shallowequal_1.default(st.fixedColumnsBodyRowsHeight,lt)||tt.store.setState({fixedColumnsHeadRowsHeight:ot,fixedColumnsBodyRowsHeight:lt})}},tt.handleBodyScrollLeft=function(rt){if(rt.currentTarget===rt.target){var at=rt.target,nt=tt.props.scroll,it=nt===void 0?{}:nt,ot=_assertThisInitialized$v(tt),st=ot.headTable,lt=ot.bodyTable;at.scrollLeft!==tt.lastScrollLeft&&it.x&&(at===lt&&st?st.scrollLeft=at.scrollLeft:at===st&<&&(lt.scrollLeft=at.scrollLeft),tt.setScrollPositionClassName()),tt.lastScrollLeft=at.scrollLeft}},tt.handleBodyScrollTop=function(rt){var at=rt.target;if(rt.currentTarget===at){var nt=tt.props.scroll,it=nt===void 0?{}:nt,ot=_assertThisInitialized$v(tt),st=ot.headTable,lt=ot.bodyTable,ct=ot.fixedColumnsBodyLeft,ut=ot.fixedColumnsBodyRight;if(at.scrollTop!==tt.lastScrollTop&&it.y&&at!==st){var ft=at.scrollTop;ct&&at!==ct&&(ct.scrollTop=ft),ut&&at!==ut&&(ut.scrollTop=ft),lt&&at!==lt&&(lt.scrollTop=ft)}tt.lastScrollTop=at.scrollTop}},tt.handleBodyScroll=function(rt){tt.handleBodyScrollLeft(rt),tt.handleBodyScrollTop(rt)},tt.handleWheel=function(rt){var at=tt.props.scroll,nt=at===void 0?{}:at;if(window.navigator.userAgent.match(/Trident\/7\./)&&nt.y){var it=rt.deltaY,ot=rt.target,st=_assertThisInitialized$v(tt),lt=st.bodyTable,ct=st.fixedColumnsBodyLeft,ut=st.fixedColumnsBodyRight,ft=0;tt.lastScrollTop?ft=tt.lastScrollTop+it:ft=it,ct&&ot!==ct&&(rt.preventDefault(),ct.scrollTop=ft),ut&&ot!==ut&&(rt.preventDefault(),ut.scrollTop=ft),lt&&ot!==lt&&(rt.preventDefault(),lt.scrollTop=ft)}},tt.saveRef=function(rt){return function(at){tt[rt]=at}},tt.saveTableNodeRef=function(rt){tt.tableNode=rt},["onRowClick","onRowDoubleClick","onRowContextMenu","onRowMouseEnter","onRowMouseLeave"].forEach(function(rt){warning_1.default(et[rt]===void 0,"".concat(rt," is deprecated, please use onRow instead."))}),warning_1.default(et.getBodyWrapper===void 0,"getBodyWrapper is deprecated, please use custom components instead."),tt.columnManager=new ColumnManager_1.default(et.columns,et.children),tt.store=mini_store_1.create({currentHoverKey:null,fixedColumnsHeadRowsHeight:[],fixedColumnsBodyRowsHeight:{}}),tt.setScrollPosition("left"),tt.debouncedWindowResize=utils_1$1.debounce(tt.handleWindowResize,150),tt}return _createClass$19(_e,[{key:"getChildContext",value:function(){return{table:{props:this.props,columnManager:this.columnManager,saveRef:this.saveRef,components:merge_1.default({table:"table",header:{wrapper:"thead",row:"tr",cell:"th"},body:{wrapper:"tbody",row:"tr",cell:"td"}},this.props.components)}}}},{key:"componentDidMount",value:function(){this.columnManager.isAnyColumnsFixed()&&(this.handleWindowResize(),this.resizeEvent=addEventListener_1.default(window,"resize",this.debouncedWindowResize)),this.headTable&&(this.headTable.scrollLeft=0),this.bodyTable&&(this.bodyTable.scrollLeft=0)}},{key:"componentDidUpdate",value:function(tt){this.columnManager.isAnyColumnsFixed()&&(this.handleWindowResize(),this.resizeEvent||(this.resizeEvent=addEventListener_1.default(window,"resize",this.debouncedWindowResize))),tt.data.length>0&&this.props.data.length===0&&this.hasScrollX()&&this.resetScrollX()}},{key:"componentWillUnmount",value:function(){this.resizeEvent&&this.resizeEvent.remove(),this.debouncedWindowResize&&this.debouncedWindowResize.cancel()}},{key:"setScrollPosition",value:function(tt){if(this.scrollPosition=tt,this.tableNode){var rt=this.props.prefixCls;tt==="both"?component_classes_1.default(this.tableNode).remove(new RegExp("^".concat(rt,"-scroll-position-.+$"))).add("".concat(rt,"-scroll-position-left")).add("".concat(rt,"-scroll-position-right")):component_classes_1.default(this.tableNode).remove(new RegExp("^".concat(rt,"-scroll-position-.+$"))).add("".concat(rt,"-scroll-position-").concat(tt))}}},{key:"setScrollPositionClassName",value:function(){var tt=this.bodyTable,rt=tt.scrollLeft===0,at=tt.scrollLeft+1>=tt.children[0].getBoundingClientRect().width-tt.getBoundingClientRect().width;rt&&at?this.setScrollPosition("both"):rt?this.setScrollPosition("left"):at?this.setScrollPosition("right"):this.scrollPosition!=="middle"&&this.setScrollPosition("middle")}},{key:"isTableLayoutFixed",value:function(){var tt=this.props,rt=tt.tableLayout,at=tt.columns,nt=at===void 0?[]:at,it=tt.useFixedHeader,ot=tt.scroll,st=ot===void 0?{}:ot;return typeof rt<"u"?rt==="fixed":!!(nt.some(function(lt){var ct=lt.ellipsis;return!!ct})||it||st.y||st.x&&st.x!==!0&&st.x!=="max-content")}},{key:"resetScrollX",value:function(){this.headTable&&(this.headTable.scrollLeft=0),this.bodyTable&&(this.bodyTable.scrollLeft=0)}},{key:"hasScrollX",value:function(){var tt=this.props.scroll,rt=tt===void 0?{}:tt;return"x"in rt}},{key:"renderMainTable",value:function(){var tt=this.props,rt=tt.scroll,at=tt.prefixCls,nt=this.columnManager.isAnyColumnsFixed(),it=nt||rt.x||rt.y,ot=[this.renderTable({columns:this.columnManager.groupedColumns(),isAnyColumnsFixed:nt}),this.renderEmptyText(),this.renderFooter()];return it?React$3.createElement("div",{className:"".concat(at,"-scroll")},ot):ot}},{key:"renderLeftFixedTable",value:function(){var tt=this.props.prefixCls;return React$3.createElement("div",{className:"".concat(tt,"-fixed-left")},this.renderTable({columns:this.columnManager.leftColumns(),fixed:"left"}))}},{key:"renderRightFixedTable",value:function(){var tt=this.props.prefixCls;return React$3.createElement("div",{className:"".concat(tt,"-fixed-right")},this.renderTable({columns:this.columnManager.rightColumns(),fixed:"right"}))}},{key:"renderTable",value:function(tt){var rt=tt.columns,at=tt.fixed,nt=tt.isAnyColumnsFixed,it=this.props,ot=it.prefixCls,st=it.scroll,lt=st===void 0?{}:st,ct=lt.x||at?"".concat(ot,"-fixed"):"",ut=React$3.createElement(HeadTable_1.default,{key:"head",columns:rt,fixed:at,tableClassName:ct,handleBodyScrollLeft:this.handleBodyScrollLeft,expander:this.expander}),ft=React$3.createElement(BodyTable_1.default,{key:"body",columns:rt,fixed:at,tableClassName:ct,getRowKey:this.getRowKey,handleWheel:this.handleWheel,handleBodyScroll:this.handleBodyScroll,expander:this.expander,isAnyColumnsFixed:nt});return[ut,ft]}},{key:"renderTitle",value:function(){var tt=this.props,rt=tt.title,at=tt.prefixCls;return rt?React$3.createElement("div",{className:"".concat(at,"-title"),key:"title"},rt(this.props.data)):null}},{key:"renderFooter",value:function(){var tt=this.props,rt=tt.footer,at=tt.prefixCls;return rt?React$3.createElement("div",{className:"".concat(at,"-footer"),key:"footer"},rt(this.props.data)):null}},{key:"renderEmptyText",value:function(){var tt=this.props,rt=tt.emptyText,at=tt.prefixCls,nt=tt.data;if(nt.length)return null;var it="".concat(at,"-placeholder");return React$3.createElement("div",{className:it,key:"emptyText"},typeof rt=="function"?rt():rt)}},{key:"render",value:function(){var tt,rt=this,at=this.props,nt=at.prefixCls;this.state.columns?this.columnManager.reset(at.columns):this.state.children&&this.columnManager.reset(null,at.children);var it=classnames_1.default(at.prefixCls,at.className,(tt={},_defineProperty$w(tt,"".concat(nt,"-fixed-header"),at.useFixedHeader||at.scroll&&at.scroll.y),_defineProperty$w(tt,"".concat(nt,"-scroll-position-left ").concat(nt,"-scroll-position-right"),this.scrollPosition==="both"),_defineProperty$w(tt,"".concat(nt,"-scroll-position-").concat(this.scrollPosition),this.scrollPosition!=="both"),_defineProperty$w(tt,"".concat(nt,"-layout-fixed"),this.isTableLayoutFixed()),tt)),ot=this.columnManager.isAnyColumnsLeftFixed(),st=this.columnManager.isAnyColumnsRightFixed(),lt=utils_1$1.getDataAndAriaProps(at);return React$3.createElement(mini_store_1.Provider,{store:this.store},React$3.createElement(ExpandableTable_1.default,Object.assign({},at,{columnManager:this.columnManager,getRowKey:this.getRowKey}),function(ct){return rt.expander=ct,React$3.createElement("div",Object.assign({ref:rt.saveTableNodeRef,className:it,style:at.style,id:at.id},lt),rt.renderTitle(),React$3.createElement("div",{className:"".concat(nt,"-content")},rt.renderMainTable(),ot&&rt.renderLeftFixedTable(),st&&rt.renderRightFixedTable()))}))}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){return tt.columns&&tt.columns!==rt.columns?{columns:tt.columns,children:null}:tt.children!==rt.children?{columns:null,children:tt.children}:null}}]),_e}(React$3.Component);Table$2.childContextTypes={table:PropTypes.any,components:PropTypes.any};Table$2.Column=Column_1$1.default;Table$2.ColumnGroup=ColumnGroup_1$1.default;Table$2.defaultProps={data:[],useFixedHeader:!1,rowKey:"key",rowClassName:function(){return""},onRow:function(){},onHeaderRow:function(){},prefixCls:"rc-table",bodyStyle:{},style:{},showHeader:!0,scroll:{},rowRef:function(){return null},emptyText:function(){return"No Data"}};react_lifecycles_compat_1.polyfill(Table$2);Table$3.default=Table$2;var __importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(es,"__esModule",{value:!0});var Table_1=__importDefault(Table$3),Column_1=__importDefault(Column$4);es.Column=Column_1.default;var ColumnGroup_1=__importDefault(ColumnGroup$2);es.ColumnGroup=ColumnGroup_1.default;var utils_1=utils$2,INTERNAL_COL_DEFINE=es.INTERNAL_COL_DEFINE=utils_1.INTERNAL_COL_DEFINE,_default$4=es.default=Table_1.default;function matches$1(o,$){var _e=window.Element.prototype,et=_e.matches||_e.mozMatchesSelector||_e.msMatchesSelector||_e.oMatchesSelector||_e.webkitMatchesSelector;if(!o||o.nodeType!==1)return!1;var tt=o.parentNode;if(et)return et.call(o,$);for(var rt=tt.querySelectorAll($),at=rt.length,nt=0;nto.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _extends$1u(){return _extends$1u=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:[],$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"children",_e=[],et=function tt(rt){rt.forEach(function(at){if(at[$]){var nt=_extends$1u({},at);delete nt[$],_e.push(nt),at[$].length>0&&tt(at[$])}else _e.push(at)})};return et(o),_e}function treeMap(o,$){var _e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"children";return o.map(function(et,tt){var rt={};return et[_e]&&(rt[_e]=treeMap(et[_e],$,_e)),_extends$1u(_extends$1u({},$(et,tt)),rt)})}function flatFilter(o,$){return o.reduce(function(_e,et){if($(et)&&_e.push(et),et.children){var tt=flatFilter(et.children,$);_e.push.apply(_e,_toConsumableArray$6(tt))}return _e},[])}function normalizeColumns(o){var $=[];return reactExports.Children.forEach(o,function(_e){if(reactExports.isValidElement(_e)){var et=_extends$1u({},_e.props);_e.key&&(et.key=_e.key),_e.type&&_e.type.__ANT_TABLE_COLUMN_GROUP&&(et.children=normalizeColumns(et.children)),$.push(et)}}),$}function generateValueMaps(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return(o||[]).forEach(function(_e){var et=_e.value,tt=_e.children;$[et.toString()]=et,generateValueMaps(tt,$)}),$}function _typeof$o(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$o=function(_e){return typeof _e}:_typeof$o=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$o(o)}function _defineProperty$v(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$1c(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$r(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$18(o,$,_e){return $&&_defineProperties$r(o.prototype,$),_e&&_defineProperties$r(o,_e),o}function _inherits$1c(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$u(o,$)}function _setPrototypeOf$u(o,$){return _setPrototypeOf$u=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$u(o,$)}function _createSuper$p(o){var $=_isNativeReflectConstruct$p();return function(){var et=_getPrototypeOf$x(o),tt;if($){var rt=_getPrototypeOf$x(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1c(this,tt)}}function _possibleConstructorReturn$1c(o,$){return $&&(_typeof$o($)==="object"||typeof $=="function")?$:_assertThisInitialized$u(o)}function _assertThisInitialized$u(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$p(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$x(o){return _getPrototypeOf$x=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$x(o)}function stopPropagation$3(o){o.stopPropagation(),o.nativeEvent.stopImmediatePropagation&&o.nativeEvent.stopImmediatePropagation()}var FilterMenu=function(o){_inherits$1c(_e,o);var $=_createSuper$p(_e);function _e(et){var tt;_classCallCheck$1c(this,_e),tt=$.call(this,et),tt.setNeverShown=function(at){var nt=reactDomExports.findDOMNode(_assertThisInitialized$u(tt)),it=!!domClosest(nt,".ant-table-scroll");it&&(tt.neverShown=!!at.fixed)},tt.setSelectedKeys=function(at){var nt=at.selectedKeys;tt.setState({selectedKeys:nt})},tt.handleClearFilters=function(){tt.setState({selectedKeys:[]},tt.handleConfirm)},tt.handleConfirm=function(){tt.setVisible(!1),tt.setState({},tt.confirmFilter)},tt.onVisibleChange=function(at){tt.setVisible(at);var nt=tt.props.column;!at&&!(nt.filterDropdown instanceof Function)&&tt.confirmFilter()},tt.handleMenuItemClick=function(at){var nt=tt.state.selectedKeys;if(!(!at.keyPath||at.keyPath.length<=1)){var it=tt.state.keyPathOfSelectedItem;nt&&nt.indexOf(at.key)>=0?delete it[at.key]:it[at.key]=at.keyPath,tt.setState({keyPathOfSelectedItem:it})}},tt.renderFilterIcon=function(){var at,nt=tt.props,it=nt.column,ot=nt.locale,st=nt.prefixCls,lt=nt.selectedKeys,ct=lt&<.length>0,ut=it.filterIcon;typeof ut=="function"&&(ut=ut(ct));var ft=classNames((at={},_defineProperty$v(at,"".concat(st,"-selected"),"filtered"in it?it.filtered:ct),_defineProperty$v(at,"".concat(st,"-open"),tt.getDropdownVisible()),at));return ut?reactExports.isValidElement(ut)?reactExports.cloneElement(ut,{title:ut.props.title||ot.filterTitle,className:classNames("".concat(st,"-icon"),ft,ut.props.className),onClick:stopPropagation$3}):reactExports.createElement("span",{className:classNames("".concat(st,"-icon"),ft)},ut):reactExports.createElement(Icon$1,{title:ot.filterTitle,type:"filter",theme:"filled",className:ft,onClick:stopPropagation$3})};var rt="filterDropdownVisible"in et.column?et.column.filterDropdownVisible:!1;return tt.state={selectedKeys:et.selectedKeys,valueKeys:generateValueMaps(et.column.filters),keyPathOfSelectedItem:{},visible:rt,prevProps:et},tt}return _createClass$18(_e,[{key:"componentDidMount",value:function(){var tt=this.props.column;this.setNeverShown(tt)}},{key:"componentDidUpdate",value:function(){var tt=this.props.column;this.setNeverShown(tt)}},{key:"getDropdownVisible",value:function(){return this.neverShown?!1:this.state.visible}},{key:"setVisible",value:function(tt){var rt=this.props.column;"filterDropdownVisible"in rt||this.setState({visible:tt}),rt.onFilterDropdownVisibleChange&&rt.onFilterDropdownVisibleChange(tt)}},{key:"hasSubMenu",value:function(){var tt=this.props.column.filters,rt=tt===void 0?[]:tt;return rt.some(function(at){return!!(at.children&&at.children.length>0)})}},{key:"confirmFilter",value:function(){var tt=this.props,rt=tt.column,at=tt.selectedKeys,nt=tt.confirmFilter,it=this.state,ot=it.selectedKeys,st=it.valueKeys,lt=rt.filterDropdown;shallowequal(ot,at)||nt(rt,lt?ot:ot.map(function(ct){return st[ct]}).filter(function(ct){return ct!==void 0}))}},{key:"renderMenus",value:function(tt){var rt=this,at=this.props,nt=at.dropdownPrefixCls,it=at.prefixCls;return tt.map(function(ot){if(ot.children&&ot.children.length>0){var st=rt.state.keyPathOfSelectedItem,lt=Object.keys(st).some(function(ut){return st[ut].indexOf(ot.value)>=0}),ct=classNames("".concat(it,"-dropdown-submenu"),_defineProperty$v({},"".concat(nt,"-submenu-contain-selected"),lt));return reactExports.createElement(connected$2,{title:ot.text,popupClassName:ct,key:ot.value.toString()},rt.renderMenus(ot.children))}return rt.renderMenuItem(ot)})}},{key:"renderMenuItem",value:function(tt){var rt=this.props.column,at=this.state.selectedKeys,nt="filterMultiple"in rt?rt.filterMultiple:!0,it=(at||[]).map(function(st){return st.toString()}),ot=nt?reactExports.createElement(Checkbox$1,{checked:it.indexOf(tt.value.toString())>=0}):reactExports.createElement(Radio,{checked:it.indexOf(tt.value.toString())>=0});return reactExports.createElement(connected,{key:tt.value},ot,reactExports.createElement("span",null,tt.text))}},{key:"render",value:function(){var tt=this,rt=this.state.selectedKeys,at=this.props,nt=at.column,it=at.locale,ot=at.prefixCls,st=at.dropdownPrefixCls,lt=at.getPopupContainer,ct="filterMultiple"in nt?nt.filterMultiple:!0,ut=classNames(_defineProperty$v({},"".concat(st,"-menu-without-submenu"),!this.hasSubMenu())),ft=nt.filterDropdown;ft instanceof Function&&(ft=ft({prefixCls:"".concat(st,"-custom"),setSelectedKeys:function(ht){return tt.setSelectedKeys({selectedKeys:ht})},selectedKeys:rt,confirm:this.handleConfirm,clearFilters:this.handleClearFilters,filters:nt.filters,visible:this.getDropdownVisible()}));var At=ft?reactExports.createElement(FilterDropdownMenuWrapper$1,{className:"".concat(ot,"-dropdown")},ft):reactExports.createElement(FilterDropdownMenuWrapper$1,{className:"".concat(ot,"-dropdown")},reactExports.createElement(Menu$1,{multiple:ct,onClick:this.handleMenuItemClick,prefixCls:"".concat(st,"-menu"),className:ut,onSelect:this.setSelectedKeys,onDeselect:this.setSelectedKeys,selectedKeys:rt&&rt.map(function(vt){return vt.toString()}),getPopupContainer:lt},this.renderMenus(nt.filters)),reactExports.createElement("div",{className:"".concat(ot,"-dropdown-btns")},reactExports.createElement("a",{className:"".concat(ot,"-dropdown-link confirm"),onClick:this.handleConfirm},it.filterConfirm),reactExports.createElement("a",{className:"".concat(ot,"-dropdown-link clear"),onClick:this.handleClearFilters},it.filterReset)));return reactExports.createElement(Dropdown,{trigger:["click"],placement:"bottomRight",overlay:At,visible:this.getDropdownVisible(),onVisibleChange:this.onVisibleChange,getPopupContainer:lt,forceRender:!0},this.renderFilterIcon())}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=tt.column,nt=rt.prevProps,it={prevProps:tt};return"selectedKeys"in tt&&!shallowequal(nt.selectedKeys,tt.selectedKeys)&&(it.selectedKeys=tt.selectedKeys),shallowequal((nt.column||{}).filters,(tt.column||{}).filters)||(it.valueKeys=generateValueMaps(tt.column.filters)),"filterDropdownVisible"in at&&(it.visible=at.filterDropdownVisible),it}}]),_e}(reactExports.Component);FilterMenu.defaultProps={column:{}};polyfill(FilterMenu);const FilterDropdown=FilterMenu;function _extends$1t(){return _extends$1t=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$w(o){return _getPrototypeOf$w=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$w(o)}var __rest$i=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=0:it=rt.getState().selectedRowKeys.indexOf(nt)>=0||at.indexOf(nt)>=0,it}},{key:"subscribe",value:function(){var tt=this,rt=this.props.store;this.unsubscribe=rt.subscribe(function(){var at=tt.getCheckState(tt.props);tt.setState({checked:at})})}},{key:"render",value:function(){var tt=this.props,rt=tt.type,at=tt.rowIndex,nt=__rest$i(tt,["type","rowIndex"]),it=this.state.checked;return rt==="radio"?reactExports.createElement(Radio,_extends$1s({checked:it,value:at},nt)):reactExports.createElement(Checkbox$1,_extends$1s({checked:it},nt))}}]),_e}(reactExports.Component);function _typeof$m(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$m=function(_e){return typeof _e}:_typeof$m=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$m(o)}function _defineProperty$u(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$1a(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$p(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$16(o,$,_e){return $&&_defineProperties$p(o.prototype,$),_e&&_defineProperties$p(o,_e),o}function _inherits$1a(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$s(o,$)}function _setPrototypeOf$s(o,$){return _setPrototypeOf$s=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$s(o,$)}function _createSuper$n(o){var $=_isNativeReflectConstruct$n();return function(){var et=_getPrototypeOf$v(o),tt;if($){var rt=_getPrototypeOf$v(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$1a(this,tt)}}function _possibleConstructorReturn$1a(o,$){return $&&(_typeof$m($)==="object"||typeof $=="function")?$:_assertThisInitialized$s(o)}function _assertThisInitialized$s(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$n(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$v(o){return _getPrototypeOf$v=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$v(o)}function _extends$1r(){return _extends$1r=Object.assign||function(o){for(var $=1;$=0})}function getIndeterminateState(o){var $=o.store,_e=o.data;if(!_e.length)return!1;var et=checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"some",byDefaultChecked:!1}))&&!checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!1})),tt=checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"some",byDefaultChecked:!0}))&&!checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!0}));return $.getState().selectionDirty?et:et||tt}function getCheckState(o){var $=o.store,_e=o.data;return _e.length?$.getState().selectionDirty?checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!1})):checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!1}))||checkSelection(_extends$1r(_extends$1r({},o),{data:_e,type:"every",byDefaultChecked:!0})):!1}var SelectionCheckboxAll=function(o){_inherits$1a(_e,o);var $=_createSuper$n(_e);function _e(et){var tt;return _classCallCheck$1a(this,_e),tt=$.call(this,et),tt.state={checked:!1,indeterminate:!1},tt.handleSelectAllChange=function(rt){var at=rt.target.checked;tt.props.onSelect(at?"all":"removeAll",0,null)},tt.defaultSelections=et.hideDefaultSelections?[]:[{key:"all",text:et.locale.selectAll},{key:"invert",text:et.locale.selectInvert}],tt}return _createClass$16(_e,[{key:"componentDidMount",value:function(){this.subscribe()}},{key:"componentWillUnmount",value:function(){this.unsubscribe&&this.unsubscribe()}},{key:"setCheckState",value:function(tt){var rt=getCheckState(tt),at=getIndeterminateState(tt);this.setState(function(nt){var it={};return at!==nt.indeterminate&&(it.indeterminate=at),rt!==nt.checked&&(it.checked=rt),it})}},{key:"subscribe",value:function(){var tt=this,rt=this.props.store;this.unsubscribe=rt.subscribe(function(){tt.setCheckState(tt.props)})}},{key:"renderMenus",value:function(tt){var rt=this;return tt.map(function(at,nt){return reactExports.createElement(Menu.Item,{key:at.key||nt},reactExports.createElement("div",{onClick:function(){rt.props.onSelect(at.key,nt,at.onSelect)}},at.text))})}},{key:"render",value:function(){var tt=this.props,rt=tt.disabled,at=tt.prefixCls,nt=tt.selections,it=tt.getPopupContainer,ot=this.state,st=ot.checked,lt=ot.indeterminate,ct="".concat(at,"-selection"),ut=null;if(nt){var ft=Array.isArray(nt)?this.defaultSelections.concat(nt):this.defaultSelections,At=reactExports.createElement(Menu,{className:"".concat(ct,"-menu"),selectedKeys:[]},this.renderMenus(ft));ut=ft.length>0?reactExports.createElement(Dropdown,{overlay:At,getPopupContainer:it},reactExports.createElement("div",{className:"".concat(ct,"-down")},reactExports.createElement(Icon$1,{type:"down"}))):null}return reactExports.createElement("div",{className:ct},reactExports.createElement(Checkbox$1,{className:classNames(_defineProperty$u({},"".concat(ct,"-select-all-custom"),ut)),checked:st,indeterminate:lt,disabled:rt,onChange:this.handleSelectAllChange}),ut)}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=getCheckState(tt),nt=getIndeterminateState(tt),it={};return nt!==rt.indeterminate&&(it.indeterminate=nt),at!==rt.checked&&(it.checked=at),it}}]),_e}(reactExports.Component);polyfill(SelectionCheckboxAll);const SelectionCheckboxAll$1=SelectionCheckboxAll;function _typeof$l(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$l=function(_e){return typeof _e}:_typeof$l=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$l(o)}function _classCallCheck$19(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _inherits$19(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$r(o,$)}function _setPrototypeOf$r(o,$){return _setPrototypeOf$r=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$r(o,$)}function _createSuper$m(o){var $=_isNativeReflectConstruct$m();return function(){var et=_getPrototypeOf$u(o),tt;if($){var rt=_getPrototypeOf$u(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$19(this,tt)}}function _possibleConstructorReturn$19(o,$){return $&&(_typeof$l($)==="object"||typeof $=="function")?$:_assertThisInitialized$r(o)}function _assertThisInitialized$r(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$m(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$u(o){return _getPrototypeOf$u=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$u(o)}var Column$2=function(o){_inherits$19(_e,o);var $=_createSuper$m(_e);function _e(){return _classCallCheck$19(this,_e),$.apply(this,arguments)}return _e}(reactExports.Component);function _typeof$k(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$k=function(_e){return typeof _e}:_typeof$k=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$k(o)}function _classCallCheck$18(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _inherits$18(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$q(o,$)}function _setPrototypeOf$q(o,$){return _setPrototypeOf$q=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$q(o,$)}function _createSuper$l(o){var $=_isNativeReflectConstruct$l();return function(){var et=_getPrototypeOf$t(o),tt;if($){var rt=_getPrototypeOf$t(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$18(this,tt)}}function _possibleConstructorReturn$18(o,$){return $&&(_typeof$k($)==="object"||typeof $=="function")?$:_assertThisInitialized$q(o)}function _assertThisInitialized$q(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$l(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$t(o){return _getPrototypeOf$t=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$t(o)}var ColumnGroup=function(o){_inherits$18(_e,o);var $=_createSuper$l(_e);function _e(){return _classCallCheck$18(this,_e),$.apply(this,arguments)}return _e}(reactExports.Component);ColumnGroup.__ANT_TABLE_COLUMN_GROUP=!0;function _typeof$j(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$j=function(_e){return typeof _e}:_typeof$j=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$j(o)}function _extends$1q(){return _extends$1q=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$s(o){return _getPrototypeOf$s=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$s(o)}function createBodyRow(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"tr",$=function(_e){_inherits$17(tt,_e);var et=_createSuper$k(tt);function tt(rt){var at;_classCallCheck$17(this,tt),at=et.call(this,rt),at.store=rt.store;var nt=at.store.getState(),it=nt.selectedRowKeys;return at.state={selected:it.indexOf(rt.rowKey)>=0},at}return _createClass$15(tt,[{key:"componentDidMount",value:function(){this.subscribe()}},{key:"componentWillUnmount",value:function(){this.unsubscribe&&this.unsubscribe()}},{key:"subscribe",value:function(){var at=this,nt=this.props,it=nt.store,ot=nt.rowKey;this.unsubscribe=it.subscribe(function(){var st=at.store.getState(),lt=st.selectedRowKeys,ct=lt.indexOf(ot)>=0;ct!==at.state.selected&&at.setState({selected:ct})})}},{key:"render",value:function(){var at=omit(this.props,["prefixCls","rowKey","store"]),nt=classNames(this.props.className,_defineProperty$t({},"".concat(this.props.prefixCls,"-row-selected"),this.state.selected));return reactExports.createElement(o,_extends$1q(_extends$1q({},at),{className:nt}),this.props.children)}}]),tt}(reactExports.Component);return $}function getScroll(o,$){if(typeof window>"u")return 0;var _e=$?"pageYOffset":"pageXOffset",et=$?"scrollTop":"scrollLeft",tt=o===window,rt=tt?o[_e]:o[et];return tt&&typeof rt!="number"&&(rt=document.documentElement[et]),rt}function easeInOutCubic(o,$,_e,et){var tt=_e-$;return o/=et/2,o<1?tt/2*o*o*o+$:tt/2*((o-=2)*o*o+2)+$}function scrollTo$1(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_e=$.getContainer,et=_e===void 0?function(){return window}:_e,tt=$.callback,rt=$.duration,at=rt===void 0?450:rt,nt=et(),it=getScroll(nt,!0),ot=Date.now(),st=function lt(){var ct=Date.now(),ut=ct-ot,ft=easeInOutCubic(ut>at?at:ut,it,o,at);nt===window?window.scrollTo(window.pageXOffset,ft):nt.scrollTop=ft,ut=0||ot.relatedTarget.className.indexOf(ut+"-next")>=0)||ct(tt.getValidValue())},tt.go=function(ot){var st=tt.state.goInputText;st!==""&&(ot.keyCode===KEYCODE.ENTER||ot.type==="click")&&(tt.setState({goInputText:""}),tt.props.quickGo(tt.getValidValue()))},et),_default$9(tt,rt)}return _default$b($,[{key:"getValidValue",value:function(){var et=this.state,tt=et.goInputText,rt=et.current;return!tt||isNaN(tt)?rt:Number(tt)}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.pageSize,at=tt.pageSizeOptions,nt=tt.locale,it=tt.rootPrefixCls,ot=tt.changeSize,st=tt.quickGo,lt=tt.goButton,ct=tt.selectComponentClass,ut=tt.buildOptionText,ft=tt.selectPrefixCls,At=tt.disabled,vt=this.state.goInputText,ht=it+"-options",mt=ct,bt=null,dt=null,xt=null;if(!ot&&!st)return null;if(ot&&mt){var Ct=at.map(function(gt,wt){return React$k.createElement(mt.Option,{key:wt,value:gt},(ut||et.buildOptionText)(gt))});bt=React$k.createElement(mt,{disabled:At,prefixCls:ft,showSearch:!1,className:ht+"-size-changer",optionLabelProp:"children",dropdownMatchSelectWidth:!1,value:(rt||at[0]).toString(),onChange:this.changeSize,getPopupContainer:function(wt){return wt.parentNode}},Ct)}return st&&(lt&&(xt=typeof lt=="boolean"?React$k.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:At},nt.jump_to_confirm):React$k.createElement("span",{onClick:this.go,onKeyUp:this.go},lt)),dt=React$k.createElement("div",{className:ht+"-quick-jumper"},nt.jump_to,React$k.createElement("input",{disabled:At,type:"text",value:vt,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur}),nt.page,xt)),React$k.createElement("li",{className:""+ht},bt,dt)}}]),$}(React$k.Component);Options.propTypes={disabled:propTypesExports.bool,changeSize:propTypesExports.func,quickGo:propTypesExports.func,selectComponentClass:propTypesExports.func,current:propTypesExports.number,pageSizeOptions:propTypesExports.arrayOf(propTypesExports.string),pageSize:propTypesExports.number,buildOptionText:propTypesExports.func,locale:propTypesExports.object,rootPrefixCls:propTypesExports.string,selectPrefixCls:propTypesExports.string,goButton:propTypesExports.oneOfType([propTypesExports.bool,propTypesExports.node])};Options.defaultProps={pageSizeOptions:["10","20","30","40"]};const LOCALE={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页"};function noop$8(){}function isInteger(o){return typeof o=="number"&&isFinite(o)&&Math.floor(o)===o}function defaultItemRender(o,$,_e){return _e}function calculatePage(o,$,_e){var et=o;return typeof et>"u"&&(et=$.pageSize),Math.floor((_e.total-1)/et)+1}var Pagination$1=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));_initialiseProps$2.call(et);var tt=_e.onChange!==noop$8,rt="current"in _e;rt&&!tt&&console.warn("Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.");var at=_e.defaultCurrent;"current"in _e&&(at=_e.current);var nt=_e.defaultPageSize;return"pageSize"in _e&&(nt=_e.pageSize),at=Math.min(at,calculatePage(nt,void 0,_e)),et.state={current:at,currentInputValue:at,pageSize:nt},et}return _default$b($,[{key:"componentDidUpdate",value:function(et,tt){var rt=this.props.prefixCls;if(tt.current!==this.state.current&&this.paginationNode){var at=this.paginationNode.querySelector("."+rt+"-item-"+tt.current);at&&document.activeElement===at&&at.blur()}}},{key:"getValidValue",value:function(et){var tt=et.target.value,rt=calculatePage(void 0,this.state,this.props),at=this.state.currentInputValue,nt=void 0;return tt===""?nt=tt:isNaN(Number(tt))?nt=at:tt>=rt?nt=rt:nt=Number(tt),nt}},{key:"render",value:function(){var et=this.props,tt=et.prefixCls,rt=et.className,at=et.disabled;if(this.props.hideOnSinglePage===!0&&this.props.total<=this.state.pageSize)return null;var nt=this.props,it=nt.locale,ot=calculatePage(void 0,this.state,this.props),st=[],lt=null,ct=null,ut=null,ft=null,At=null,vt=nt.showQuickJumper&&nt.showQuickJumper.goButton,ht=nt.showLessItems?1:2,mt=this.state,bt=mt.current,dt=mt.pageSize,xt=bt-1>0?bt-1:0,Ct=bt+1=ht*2&&bt!==1+2&&(st[0]=React$k.cloneElement(st[0],{className:tt+"-item-after-jump-prev"}),st.unshift(lt)),ot-bt>=ht*2&&bt!==ot-2&&(st[st.length-1]=React$k.cloneElement(st[st.length-1],{className:tt+"-item-before-jump-next"}),st.push(ct)),Mt!==1&&st.unshift(ut),Bt!==ot&&st.push(ft)}var zt=null;nt.showTotal&&(zt=React$k.createElement("li",{className:tt+"-total-text"},nt.showTotal(nt.total,[nt.total===0?0:(bt-1)*dt+1,bt*dt>nt.total?nt.total:bt*dt])));var Nt=!this.hasPrev()||!ot,Wt=!this.hasNext()||!ot;return React$k.createElement("ul",_default$bE({className:classnamesExports(tt,rt,_default$e({},tt+"-disabled",at)),style:nt.style,unselectable:"unselectable",ref:this.savePaginationNode},gt),zt,React$k.createElement("li",{title:nt.showTitle?it.prev_page:null,onClick:this.prev,tabIndex:Nt?null:0,onKeyPress:this.runIfEnterPrev,className:(Nt?tt+"-disabled":"")+" "+tt+"-prev","aria-disabled":Nt},nt.itemRender(xt,"prev",this.getItemIcon(nt.prevIcon))),st,React$k.createElement("li",{title:nt.showTitle?it.next_page:null,onClick:this.next,tabIndex:Wt?null:0,onKeyPress:this.runIfEnterNext,className:(Wt?tt+"-disabled":"")+" "+tt+"-next","aria-disabled":Wt},nt.itemRender(Ct,"next",this.getItemIcon(nt.nextIcon))),React$k.createElement(Options,{disabled:at,locale:nt.locale,rootPrefixCls:tt,selectComponentClass:nt.selectComponentClass,selectPrefixCls:nt.selectPrefixCls,changeSize:this.props.showSizeChanger?this.changePageSize:null,current:this.state.current,pageSize:this.state.pageSize,pageSizeOptions:this.props.pageSizeOptions,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:vt}))}}],[{key:"getDerivedStateFromProps",value:function(et,tt){var rt={};if("current"in et&&(rt.current=et.current,et.current!==tt.current&&(rt.currentInputValue=rt.current)),"pageSize"in et&&et.pageSize!==tt.pageSize){var at=tt.current,nt=calculatePage(et.pageSize,tt,et);at=at>nt?nt:at,"current"in et||(rt.current=at,rt.currentInputValue=at),rt.pageSize=et.pageSize}return rt}}]),$}(React$k.Component);Pagination$1.propTypes={disabled:propTypesExports.bool,prefixCls:propTypesExports.string,className:propTypesExports.string,current:propTypesExports.number,defaultCurrent:propTypesExports.number,total:propTypesExports.number,pageSize:propTypesExports.number,defaultPageSize:propTypesExports.number,onChange:propTypesExports.func,hideOnSinglePage:propTypesExports.bool,showSizeChanger:propTypesExports.bool,showLessItems:propTypesExports.bool,onShowSizeChange:propTypesExports.func,selectComponentClass:propTypesExports.func,showPrevNextJumpers:propTypesExports.bool,showQuickJumper:propTypesExports.oneOfType([propTypesExports.bool,propTypesExports.object]),showTitle:propTypesExports.bool,pageSizeOptions:propTypesExports.arrayOf(propTypesExports.string),showTotal:propTypesExports.func,locale:propTypesExports.object,style:propTypesExports.object,itemRender:propTypesExports.func,prevIcon:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),nextIcon:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),jumpPrevIcon:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),jumpNextIcon:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node])};Pagination$1.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:noop$8,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showSizeChanger:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:noop$8,locale:LOCALE,style:{},itemRender:defaultItemRender};var _initialiseProps$2=function(){var $=this;this.getJumpPrevPage=function(){return Math.max(1,$.state.current-($.props.showLessItems?3:5))},this.getJumpNextPage=function(){return Math.min(calculatePage(void 0,$.state,$.props),$.state.current+($.props.showLessItems?3:5))},this.getItemIcon=function(_e){var et=$.props.prefixCls,tt=_e||React$k.createElement("a",{className:et+"-item-link"});return typeof _e=="function"&&(tt=React$k.createElement(_e,_default$bE({},$.props))),tt},this.savePaginationNode=function(_e){$.paginationNode=_e},this.isValid=function(_e){return isInteger(_e)&&_e!==$.state.current},this.shouldDisplayQuickJumper=function(){var _e=$.props,et=_e.showQuickJumper,tt=_e.pageSize,rt=_e.total;return rt<=tt?!1:et},this.handleKeyDown=function(_e){(_e.keyCode===KEYCODE.ARROW_UP||_e.keyCode===KEYCODE.ARROW_DOWN)&&_e.preventDefault()},this.handleKeyUp=function(_e){var et=$.getValidValue(_e),tt=$.state.currentInputValue;et!==tt&&$.setState({currentInputValue:et}),_e.keyCode===KEYCODE.ENTER?$.handleChange(et):_e.keyCode===KEYCODE.ARROW_UP?$.handleChange(et-1):_e.keyCode===KEYCODE.ARROW_DOWN&&$.handleChange(et+1)},this.changePageSize=function(_e){var et=$.state.current,tt=calculatePage(_e,$.state,$.props);et=et>tt?tt:et,tt===0&&(et=$.state.current),typeof _e=="number"&&("pageSize"in $.props||$.setState({pageSize:_e}),"current"in $.props||$.setState({current:et,currentInputValue:et})),$.props.onShowSizeChange(et,_e)},this.handleChange=function(_e){var et=$.props.disabled,tt=_e;if($.isValid(tt)&&!et){var rt=calculatePage(void 0,$.state,$.props);tt>rt?tt=rt:tt<1&&(tt=1),"current"in $.props||$.setState({current:tt,currentInputValue:tt});var at=$.state.pageSize;return $.props.onChange(tt,at),tt}return $.state.current},this.prev=function(){$.hasPrev()&&$.handleChange($.state.current-1)},this.next=function(){$.hasNext()&&$.handleChange($.state.current+1)},this.jumpPrev=function(){$.handleChange($.getJumpPrevPage())},this.jumpNext=function(){$.handleChange($.getJumpNextPage())},this.hasPrev=function(){return $.state.current>1},this.hasNext=function(){return $.state.current2?tt-2:0),at=2;at0)return!0;return!1}function splitBySeparators(o,$){var _e=new RegExp("[".concat($.join(),"]"));return o.split(_e).filter(function(et){return et})}function defaultFilterFn(o,$){if($.props.disabled)return!1;var _e=toArray$2(getPropValue($,this.props.optionFilterProp)).join("");return _e.toLowerCase().indexOf(o.toLowerCase())>-1}function validateOptionValue(o,$){if(!(isSingleMode($)||isMultiple($))&&typeof o!="string")throw new Error("Invalid `value` of type `".concat(typeof o,"` supplied to Option, ")+"expected `string` when `tags/combobox` is `true`.")}function saveRef(o,$){return function(_e){o[$]=_e}}function generateUUID(){var o=new Date().getTime(),$="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(_e){var et=(o+Math.random()*16)%16|0;return o=Math.floor(o/16),(_e==="x"?et:et&7|8).toString(16)});return $}function _extends$1p(){return _extends$1p=Object.assign||function(o){for(var $=1;$1&&arguments[1]!==void 0?arguments[1]:{},nt=at.needFocus,it=at.fireSearch,ot=et.props,st=et.state;if(st.open===rt){et.maybeFocus(rt,!!nt);return}et.props.onDropdownVisibleChange&&et.props.onDropdownVisibleChange(rt);var lt={open:rt,backfillValue:""};!rt&&isSingleMode(ot)&&ot.showSearch&&et.setInputValue("",it),rt||et.maybeFocus(rt,!!nt),et.setState(_extends$1n({open:rt},lt),function(){rt&&et.maybeFocus(rt,!!nt)})},et.setInputValue=function(rt){var at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,nt=et.props.onSearch;rt!==et.state.inputValue&&et.setState(function(it){return at&&rt!==it.inputValue&&nt&&nt(rt),{inputValue:rt}},et.forcePopupAlign)},et.getValueByInput=function(rt){var at=et.props,nt=at.multiple,it=at.tokenSeparators,ot=et.state.value,st=!1;return splitBySeparators(rt,it).forEach(function(lt){var ct=[lt];if(nt){var ut=et.getValueByLabel(lt);ut&&findIndexInValueBySingleValue(ot,ut)===-1&&(ot=ot.concat(ut),st=!0,et.fireSelect(ut))}else findIndexInValueBySingleValue(ot,lt)===-1&&(ot=ot.concat(ct),st=!0,et.fireSelect(lt))}),st?ot:void 0},et.getRealOpenState=function(rt){var at=et.props.open;if(typeof at=="boolean")return at;var nt=(rt||et.state).open,it=et._options||[];return(isMultipleOrTagsOrCombobox(et.props)||!et.props.showSearch)&&nt&&!it.length&&(nt=!1),nt},et.markMouseDown=function(){et._mouseDown=!0},et.markMouseLeave=function(){et._mouseDown=!1},et.handleBackfill=function(rt){if(!(!et.props.backfill||!(isSingleMode(et.props)||isCombobox(et.props)))){var at=getValuePropValue(rt);isCombobox(et.props)&&et.setInputValue(at,!1),et.setState({value:[at],backfillValue:at})}},et.filterOption=function(rt,at){var nt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:defaultFilterFn,it=et.state.value,ot=it[it.length-1];if(!rt||ot&&ot===et.state.backfillValue)return!0;var st=et.props.filterOption;if("filterOption"in et.props?st===!0&&(st=nt.bind(_assertThisInitialized$k(et))):st=nt.bind(_assertThisInitialized$k(et)),st){if(typeof st=="function")return st.call(_assertThisInitialized$k(et),rt,at);if(at.props.disabled)return!1}else return!0;return!0},et.timeoutFocus=function(){var rt=et.props.onFocus;et.focusTimer&&et.clearFocusTime(),et.focusTimer=window.setTimeout(function(){rt&&rt()},10)},et.clearFocusTime=function(){et.focusTimer&&(clearTimeout(et.focusTimer),et.focusTimer=null)},et.clearBlurTime=function(){et.blurTimer&&(clearTimeout(et.blurTimer),et.blurTimer=null)},et.clearComboboxTime=function(){et.comboboxTimer&&(clearTimeout(et.comboboxTimer),et.comboboxTimer=null)},et.updateFocusClassName=function(){var rt=et.rootRef,at=et.props;et._focused?componentClasses(rt).add("".concat(at.prefixCls,"-focused")):componentClasses(rt).remove("".concat(at.prefixCls,"-focused"))},et.maybeFocus=function(rt,at){if(at||rt){var nt=et.getInputDOMNode(),it=document,ot=it.activeElement;nt&&(rt||isMultipleOrTagsOrCombobox(et.props))?ot!==nt&&(nt.focus(),et._focused=!0):ot!==et.selectionRef&&et.selectionRef&&(et.selectionRef.focus(),et._focused=!0)}},et.removeSelected=function(rt,at){var nt=et.props;if(!(nt.disabled||et.isChildDisabled(rt))){at&&at.stopPropagation&&at.stopPropagation();var it=et.state.value,ot=it.filter(function(ct){return ct!==rt}),st=isMultipleOrTags(nt);if(st){var lt=rt;nt.labelInValue&&(lt={key:rt,label:et.getLabelBySingleValue(rt)}),nt.onDeselect&&nt.onDeselect(lt,et.getOptionBySingleValue(rt))}et.fireChange(ot)}},et.openIfHasChildren=function(){var rt=et.props;(reactExports.Children.count(rt.children)||isSingleMode(rt))&&et.setOpenState(!0)},et.fireSelect=function(rt){et.props.onSelect&&et.props.onSelect(et.getVLBySingleValue(rt),et.getOptionBySingleValue(rt))},et.fireChange=function(rt){var at=et.props;"value"in at||et.setState({value:rt},et.forcePopupAlign);var nt=et.getVLForOnChange(rt),it=et.getOptionsBySingleValue(rt);at.onChange&&at.onChange(nt,isMultipleOrTags(et.props)?it:it[0])},et.isChildDisabled=function(rt){return toArray$3(et.props.children).some(function(at){var nt=getValuePropValue(at);return nt===rt&&at.props&&at.props.disabled})},et.forcePopupAlign=function(){et.state.open&&et.selectTriggerRef&&et.selectTriggerRef.triggerRef&&et.selectTriggerRef.triggerRef.forcePopupAlign()},et.renderFilterOptions=function(){var rt=et.state.inputValue,at=et.props,nt=at.children,it=at.tags,ot=at.notFoundContent,st=[],lt=[],ct=!1,ut=et.renderFilterOptionsFromChildren(nt,lt,st);if(it){var ft=et.state.value;ft=ft.filter(function(At){return lt.indexOf(At)===-1&&(!rt||String(At).indexOf(String(rt))>-1)}),ft.sort(function(At,vt){return At.length-vt.length}),ft.forEach(function(At){var vt=At,ht=reactExports.createElement(connected,{style:UNSELECTABLE_STYLE,role:"option",attribute:UNSELECTABLE_ATTRIBUTE,value:vt,key:vt},vt);ut.push(ht),st.push(ht)}),rt&&st.every(function(At){return getValuePropValue(At)!==rt})&&ut.unshift(reactExports.createElement(connected,{style:UNSELECTABLE_STYLE,role:"option",attribute:UNSELECTABLE_ATTRIBUTE,value:rt,key:rt},rt))}return!ut.length&&ot&&(ct=!0,ut=[reactExports.createElement(connected,{style:UNSELECTABLE_STYLE,attribute:UNSELECTABLE_ATTRIBUTE,disabled:!0,role:"option",value:"NOT_FOUND",key:"NOT_FOUND"},ot)]),{empty:ct,options:ut}},et.renderFilterOptionsFromChildren=function(rt,at,nt){var it=[],ot=et.props,st=et.state.inputValue,lt=ot.tags;return reactExports.Children.forEach(rt,function(ct){if(ct){var ut=ct.type;if(ut.isSelectOptGroup){var ft=ct.props.label,At=ct.key;if(!At&&typeof ft=="string"?At=ft:!ft&&At&&(ft=At),st&&et.filterOption(st,ct)){var vt=toArray$3(ct.props.children).map(function(dt){var xt=getValuePropValue(dt)||dt.key;return reactExports.createElement(connected,_extends$1n({key:xt,value:xt},dt.props))});it.push(reactExports.createElement(MenuItemGroup,{key:At,title:ft},vt))}else{var ht=et.renderFilterOptionsFromChildren(ct.props.children,at,nt);ht.length&&it.push(reactExports.createElement(MenuItemGroup,{key:At,title:ft},ht))}return}warning_1$3(ut.isSelectOption,"the children of `Select` should be `Select.Option` or `Select.OptGroup`, "+"instead of `".concat(ut.name||ut.displayName||ct.type,"`."));var mt=getValuePropValue(ct);if(validateOptionValue(mt,et.props),et.filterOption(st,ct)){var bt=reactExports.createElement(connected,_extends$1n({style:UNSELECTABLE_STYLE,attribute:UNSELECTABLE_ATTRIBUTE,value:mt,key:mt,role:"option"},ct.props));it.push(bt),nt.push(bt)}lt&&at.push(mt)}}),it},et.renderTopControlNode=function(){var rt=et.state,at=rt.open,nt=rt.inputValue,it=et.state.value,ot=et.props,st=ot.choiceTransitionName,lt=ot.prefixCls,ct=ot.maxTagTextLength,ut=ot.maxTagCount,ft=ot.showSearch,At=ot.removeIcon,vt=ot.maxTagPlaceholder,ht="".concat(lt,"-selection__rendered"),mt=null;if(isSingleMode(ot)){var bt=null;if(it.length){var dt=!1,xt=1;ft&&at?(dt=!nt,dt&&(xt=.4)):dt=!0;var Ct=it[0],gt=et.getOptionInfoBySingleValue(Ct),wt=gt.label,_t=gt.title;bt=reactExports.createElement("div",{key:"value",className:"".concat(lt,"-selection-selected-value"),title:toTitle(_t||wt),style:{display:dt?"block":"none",opacity:xt}},wt)}ft?mt=[bt,reactExports.createElement("div",{className:"".concat(lt,"-search ").concat(lt,"-search--inline"),key:"input",style:{display:at?"block":"none"}},et.getInputElement())]:mt=[bt]}else{var Et=[],It=it,Tt;if(ut!==void 0&&it.length>ut){It=It.slice(0,ut);var Rt=et.getVLForOnChange(it.slice(ut,it.length)),Ot="+ ".concat(it.length-ut," ...");vt&&(Ot=typeof vt=="function"?vt(Rt):vt),Tt=reactExports.createElement("li",_extends$1n({style:UNSELECTABLE_STYLE},UNSELECTABLE_ATTRIBUTE,{role:"presentation",onMouseDown:preventDefaultEvent,className:"".concat(lt,"-selection__choice ").concat(lt,"-selection__choice__disabled"),key:"maxTagPlaceholder",title:toTitle(Ot)}),reactExports.createElement("div",{className:"".concat(lt,"-selection__choice__content")},Ot))}isMultipleOrTags(ot)&&(Et=It.map(function(Mt){var Bt=et.getOptionInfoBySingleValue(Mt),Lt=Bt.label,jt=Bt.title||Lt;ct&&typeof Lt=="string"&&Lt.length>ct&&(Lt="".concat(Lt.slice(0,ct),"..."));var zt=et.isChildDisabled(Mt),Nt=zt?"".concat(lt,"-selection__choice ").concat(lt,"-selection__choice__disabled"):"".concat(lt,"-selection__choice");return reactExports.createElement("li",_extends$1n({style:UNSELECTABLE_STYLE},UNSELECTABLE_ATTRIBUTE,{onMouseDown:preventDefaultEvent,className:Nt,role:"presentation",key:Mt||SELECT_EMPTY_VALUE_KEY,title:toTitle(jt)}),reactExports.createElement("div",{className:"".concat(lt,"-selection__choice__content")},Lt),zt?null:reactExports.createElement("span",{onClick:function(qt){et.removeSelected(Mt,qt)},className:"".concat(lt,"-selection__choice__remove")},At||reactExports.createElement("i",{className:"".concat(lt,"-selection__choice__remove-icon")},"×")))})),Tt&&Et.push(Tt),Et.push(reactExports.createElement("li",{className:"".concat(lt,"-search ").concat(lt,"-search--inline"),key:"__input"},et.getInputElement())),isMultipleOrTags(ot)&&st?mt=reactExports.createElement(Animate$1,{onLeave:et.onChoiceAnimationLeave,component:"ul",transitionName:st},Et):mt=reactExports.createElement("ul",null,Et)}return reactExports.createElement("div",{className:ht,ref:et.saveTopCtrlRef},et.getPlaceholderElement(),mt)};var tt=$.getOptionsInfoFromProps(_e);return _e.tags&&typeof _e.filterOption!="function"&&Object.keys(tt).some(function(rt){return tt[rt].disabled}),et.state={value:$.getValueFromProps(_e,!0),inputValue:_e.combobox?$.getInputValueForCombobox(_e,tt,!0):"",open:_e.defaultOpen,optionsInfo:tt,backfillValue:"",skipBuildOptionsInfo:!0,ariaId:""},et.saveInputRef=saveRef(_assertThisInitialized$k(et),"inputRef"),et.saveInputMirrorRef=saveRef(_assertThisInitialized$k(et),"inputMirrorRef"),et.saveTopCtrlRef=saveRef(_assertThisInitialized$k(et),"topCtrlRef"),et.saveSelectTriggerRef=saveRef(_assertThisInitialized$k(et),"selectTriggerRef"),et.saveRootRef=saveRef(_assertThisInitialized$k(et),"rootRef"),et.saveSelectionRef=saveRef(_assertThisInitialized$k(et),"selectionRef"),et}return _createClass$12($,[{key:"componentDidMount",value:function(){(this.props.autoFocus||this.state.open)&&this.focus(),this.setState({ariaId:generateUUID()})}},{key:"componentDidUpdate",value:function(){if(isMultipleOrTags(this.props)){var et=this.getInputDOMNode(),tt=this.getInputMirrorDOMNode();et&&et.value&&tt?(et.style.width="",et.style.width="".concat(tt.clientWidth,"px")):et&&(et.style.width="")}this.forcePopupAlign()}},{key:"componentWillUnmount",value:function(){this.clearFocusTime(),this.clearBlurTime(),this.clearComboboxTime(),this.dropdownContainer&&(reactDomExports.unmountComponentAtNode(this.dropdownContainer),document.body.removeChild(this.dropdownContainer),this.dropdownContainer=null)}},{key:"focus",value:function(){isSingleMode(this.props)&&this.selectionRef?this.selectionRef.focus():this.getInputDOMNode()&&this.getInputDOMNode().focus()}},{key:"blur",value:function(){isSingleMode(this.props)&&this.selectionRef?this.selectionRef.blur():this.getInputDOMNode()&&this.getInputDOMNode().blur()}},{key:"renderArrow",value:function(et){var tt=this.props,rt=tt.showArrow,at=rt===void 0?!et:rt,nt=tt.loading,it=tt.inputIcon,ot=tt.prefixCls;if(!at&&!nt)return null;var st=nt?reactExports.createElement("i",{className:"".concat(ot,"-arrow-loading")}):reactExports.createElement("i",{className:"".concat(ot,"-arrow-icon")});return reactExports.createElement("span",_extends$1n({key:"arrow",className:"".concat(ot,"-arrow"),style:UNSELECTABLE_STYLE},UNSELECTABLE_ATTRIBUTE,{onClick:this.onArrowClick}),it||st)}},{key:"renderClear",value:function(){var et=this.props,tt=et.prefixCls,rt=et.allowClear,at=et.clearIcon,nt=this.state.inputValue,it=this.state.value,ot=reactExports.createElement("span",_extends$1n({key:"clear",className:"".concat(tt,"-selection__clear"),onMouseDown:preventDefaultEvent,style:UNSELECTABLE_STYLE},UNSELECTABLE_ATTRIBUTE,{onClick:this.onClearSelection}),at||reactExports.createElement("i",{className:"".concat(tt,"-selection__clear-icon")},"×"));return rt?isCombobox(this.props)?nt?ot:null:nt||it.length?ot:null:null}},{key:"render",value:function(){var et,tt=this.props,rt=isMultipleOrTags(tt),at=tt.showArrow,nt=at===void 0?!0:at,it=this.state,ot=tt.className,st=tt.disabled,lt=tt.prefixCls,ct=tt.loading,ut=this.renderTopControlNode(),ft=this.state,At=ft.open,vt=ft.ariaId;if(At){var ht=this.renderFilterOptions();this._empty=ht.empty,this._options=ht.options}var mt=this.getRealOpenState(),bt=this._empty,dt=this._options||[],xt={};Object.keys(tt).forEach(function(wt){Object.prototype.hasOwnProperty.call(tt,wt)&&(wt.substr(0,5)==="data-"||wt.substr(0,5)==="aria-"||wt==="role")&&(xt[wt]=tt[wt])});var Ct=_extends$1n({},xt);isMultipleOrTagsOrCombobox(tt)||(Ct=_extends$1n(_extends$1n({},Ct),{onKeyDown:this.onKeyDown,tabIndex:tt.disabled?-1:tt.tabIndex}));var gt=(et={},_defineProperty$r(et,ot,!!ot),_defineProperty$r(et,lt,1),_defineProperty$r(et,"".concat(lt,"-open"),At),_defineProperty$r(et,"".concat(lt,"-focused"),At||!!this._focused),_defineProperty$r(et,"".concat(lt,"-combobox"),isCombobox(tt)),_defineProperty$r(et,"".concat(lt,"-disabled"),st),_defineProperty$r(et,"".concat(lt,"-enabled"),!st),_defineProperty$r(et,"".concat(lt,"-allow-clear"),!!tt.allowClear),_defineProperty$r(et,"".concat(lt,"-no-arrow"),!nt),_defineProperty$r(et,"".concat(lt,"-loading"),!!ct),et);return reactExports.createElement(SelectTrigger,{onPopupFocus:this.onPopupFocus,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,dropdownAlign:tt.dropdownAlign,dropdownClassName:tt.dropdownClassName,dropdownMatchSelectWidth:tt.dropdownMatchSelectWidth,defaultActiveFirstOption:tt.defaultActiveFirstOption,dropdownMenuStyle:tt.dropdownMenuStyle,transitionName:tt.transitionName,animation:tt.animation,prefixCls:tt.prefixCls,dropdownStyle:tt.dropdownStyle,combobox:tt.combobox,showSearch:tt.showSearch,options:dt,empty:bt,multiple:rt,disabled:st,visible:mt,inputValue:it.inputValue,value:it.value,backfillValue:it.backfillValue,firstActiveValue:tt.firstActiveValue,onDropdownVisibleChange:this.onDropdownVisibleChange,getPopupContainer:tt.getPopupContainer,onMenuSelect:this.onMenuSelect,onMenuDeselect:this.onMenuDeselect,onPopupScroll:tt.onPopupScroll,showAction:tt.showAction,ref:this.saveSelectTriggerRef,menuItemSelectedIcon:tt.menuItemSelectedIcon,dropdownRender:tt.dropdownRender,ariaId:vt},reactExports.createElement("div",{id:tt.id,style:tt.style,ref:this.saveRootRef,onBlur:this.onOuterBlur,onFocus:this.onOuterFocus,className:classnamesExports(gt),onMouseDown:this.markMouseDown,onMouseUp:this.markMouseLeave,onMouseOut:this.markMouseLeave},reactExports.createElement("div",_extends$1n({ref:this.saveSelectionRef,key:"selection",className:"".concat(lt,`-selection + `).concat(lt,"-selection--").concat(rt?"multiple":"single"),role:"combobox","aria-autocomplete":"list","aria-haspopup":"true","aria-controls":vt,"aria-expanded":mt},Ct),ut,this.renderClear(),this.renderArrow(!!rt))))}}]),$}(reactExports.Component);Select$2.propTypes=SelectPropTypes$1;Select$2.defaultProps={prefixCls:"rc-select",defaultOpen:!1,labelInValue:!1,defaultActiveFirstOption:!0,showSearch:!0,allowClear:!1,placeholder:"",onChange:noop$7,onFocus:noop$7,onBlur:noop$7,onSelect:noop$7,onSearch:noop$7,onDeselect:noop$7,onInputKeyDown:noop$7,dropdownMatchSelectWidth:!0,dropdownStyle:{},dropdownMenuStyle:{},optionFilterProp:"value",optionLabelProp:"value",notFoundContent:"Not Found",backfill:!1,showAction:["click"],tokenSeparators:[],autoClearSearchValue:!0,tabIndex:0,dropdownRender:function($){return $}};Select$2.getDerivedStateFromProps=function(o,$){var _e=$.skipBuildOptionsInfo?$.optionsInfo:Select$2.getOptionsInfoFromProps(o,$),et={optionsInfo:_e,skipBuildOptionsInfo:!1};if("open"in o&&(et.open=o.open),o.disabled&&$.open&&(et.open=!1),"value"in o){var tt=Select$2.getValueFromProps(o);et.value=tt,o.combobox&&(et.inputValue=Select$2.getInputValueForCombobox(o,_e))}return et};Select$2.getOptionsFromChildren=function(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return reactExports.Children.forEach(o,function(_e){if(_e){var et=_e.type;et.isSelectOptGroup?Select$2.getOptionsFromChildren(_e.props.children,$):$.push(_e)}}),$};Select$2.getInputValueForCombobox=function(o,$,_e){var et=[];if("value"in o&&!_e&&(et=toArray$2(o.value)),"defaultValue"in o&&_e&&(et=toArray$2(o.defaultValue)),et.length)et=et[0];else return"";var tt=et;return o.labelInValue?tt=et.label:$[getMapKey(et)]&&(tt=$[getMapKey(et)].label),tt===void 0&&(tt=""),tt};Select$2.getLabelFromOption=function(o,$){return getPropValue($,o.optionLabelProp)};Select$2.getOptionsInfoFromProps=function(o,$){var _e=Select$2.getOptionsFromChildren(o.children),et={};if(_e.forEach(function(at){var nt=getValuePropValue(at);et[getMapKey(nt)]={option:at,value:nt,label:Select$2.getLabelFromOption(o,at),title:at.props.title,disabled:at.props.disabled}}),$){var tt=$.optionsInfo,rt=$.value;rt&&rt.forEach(function(at){var nt=getMapKey(at);!et[nt]&&tt[nt]!==void 0&&(et[nt]=tt[nt])})}return et};Select$2.getValueFromProps=function(o,$){var _e=[];return"value"in o&&!$&&(_e=toArray$2(o.value)),"defaultValue"in o&&$&&(_e=toArray$2(o.defaultValue)),o.labelInValue&&(_e=_e.map(function(et){return et.key})),_e};Select$2.displayName="Select";polyfill(Select$2);Select$2.Option=Option$4;Select$2.OptGroup=OptGroup;function _typeof$i(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$i=function(_e){return typeof _e}:_typeof$i=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$i(o)}function _extends$1m(){return _extends$1m=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$m(o){return _getPrototypeOf$m=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$m(o)}var __rest$g=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$l(o){return _getPrototypeOf$l=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$l(o)}var MiniSelect=function(o){_inherits$10(_e,o);var $=_createSuper$i(_e);function _e(){return _classCallCheck$10(this,_e),$.apply(this,arguments)}return _createClass$10(_e,[{key:"render",value:function(){return reactExports.createElement(Select,_extends$1l({size:"small"},this.props))}}]),_e}(reactExports.Component);MiniSelect.Option=Select.Option;function _typeof$g(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$g=function(_e){return typeof _e}:_typeof$g=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$g(o)}function _extends$1k(){return _extends$1k=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$k(o){return _getPrototypeOf$k=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$k(o)}var __rest$f=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$j(o){return _getPrototypeOf$j=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$j(o)}var __rest$e=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$i(o){return _getPrototypeOf$i=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$i(o)}var __rest$d=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$h(o){return _getPrototypeOf$h=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$h(o)}function _extends$1h(){return _extends$1h=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{},_e=$&&$.body&&$.body.row;return _extends$1h(_extends$1h({},$),{body:_extends$1h(_extends$1h({},$.body),{row:createBodyRow(_e)})})};function isTheSameComponents(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return o===$||["table","header","body"].every(function(_e){return shallowequal(o[_e],$[_e])})}function getFilteredValueColumns(o,$){return flatFilter($||(o||{}).columns||[],function(_e){return typeof _e.filteredValue<"u"})}function getFiltersFromColumns(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=arguments.length>1?arguments[1]:void 0,_e={};return getFilteredValueColumns(o,$).forEach(function(et){var tt=getColumnKey(et);_e[tt]=et.filteredValue}),_e}function isFiltersChanged(o,$){return Object.keys($).length!==Object.keys(o.filters).length?!0:Object.keys($).some(function(_e){return $[_e]!==o.filters[_e]})}var Table=function(o){_inherits$Y(_e,o);var $=_createSuper$e(_e);function _e(et){var tt;_classCallCheck$Y(this,_e),tt=$.call(this,et),tt.setTableRef=function(it){tt.rcTable=it},tt.getCheckboxPropsByItem=function(it,ot){var st=getRowSelection(tt.props);if(!st.getCheckboxProps)return{};var lt=tt.getRecordKey(it,ot);if(!tt.props.checkboxPropsCache[lt]){tt.props.checkboxPropsCache[lt]=st.getCheckboxProps(it)||{};var ct=tt.props.checkboxPropsCache[lt];warning$4(!("checked"in ct)&&!("defaultChecked"in ct),"Table","Do not set `checked` or `defaultChecked` in `getCheckboxProps`. Please use `selectedRowKeys` instead.")}return tt.props.checkboxPropsCache[lt]},tt.getRecordKey=function(it,ot){var st=tt.props.rowKey,lt=typeof st=="function"?st(it,ot):it[st];return warning$4(lt!==void 0,"Table","Each record in dataSource of table should have a unique `key` prop, or set `rowKey` of Table to an unique primary key, see https://u.ant.design/table-row-key"),lt===void 0?ot:lt},tt.onRow=function(it,ot,st){var lt=tt.props.onRow,ct=lt?lt(ot,st):{};return _extends$1h(_extends$1h({},ct),{prefixCls:it,store:tt.props.store,rowKey:tt.getRecordKey(ot,st)})},tt.generatePopupContainerFunc=function(it){var ot=tt.props.scroll,st=tt.rcTable;return it||(ot&&st?function(){return st.tableNode}:void 0)},tt.scrollToFirstRow=function(){var it=tt.props.scroll;it&&it.scrollToFirstRowOnChange!==!1&&scrollTo$1(0,{getContainer:function(){return tt.rcTable.bodyTable}})},tt.handleFilter=function(it,ot){var st=tt.props,lt=_extends$1h({},tt.state.pagination),ct=_extends$1h(_extends$1h({},tt.state.filters),_defineProperty$o({},getColumnKey(it),ot)),ut=[];treeMap(tt.state.columns,function(vt){vt.children||ut.push(getColumnKey(vt))}),Object.keys(ct).forEach(function(vt){ut.indexOf(vt)<0&&delete ct[vt]}),st.pagination&&(lt.current=1,lt.onChange(lt.current));var ft={pagination:lt,filters:{}},At=_extends$1h({},ct);getFilteredValueColumns(tt.state).forEach(function(vt){var ht=getColumnKey(vt);ht&&delete At[ht]}),Object.keys(At).length>0&&(ft.filters=At),_typeof$d(st.pagination)==="object"&&"current"in st.pagination&&(ft.pagination=_extends$1h(_extends$1h({},lt),{current:tt.state.pagination.current})),tt.setState(ft,function(){tt.scrollToFirstRow(),tt.props.store.setState({selectionDirty:!1});var vt=tt.props.onChange;vt&&vt.apply(null,tt.prepareParamsArguments(_extends$1h(_extends$1h({},tt.state),{selectionDirty:!1,filters:ct,pagination:lt})))})},tt.handleSelect=function(it,ot,st){var lt=st.target.checked,ct=st.nativeEvent,ut=tt.props.store.getState().selectionDirty?[]:tt.getDefaultSelection(),ft=tt.props.store.getState().selectedRowKeys.concat(ut),At=tt.getRecordKey(it,ot),vt=tt.state.pivot,ht=tt.getFlatCurrentPageData(),mt=ot;if(tt.props.expandedRowRender&&(mt=ht.findIndex(function(wt){return tt.getRecordKey(wt,ot)===At})),ct.shiftKey&&vt!==void 0&&mt!==vt){for(var bt=[],dt=Math.sign(vt-mt),xt=Math.abs(vt-mt),Ct=0,gt=function(){var _t=mt+Ct*dt;Ct+=1;var Et=ht[_t],It=tt.getRecordKey(Et,_t),Tt=tt.getCheckboxPropsByItem(Et,_t);Tt.disabled||(ft.includes(It)?lt||(ft=ft.filter(function(Rt){return It!==Rt}),bt.push(It)):lt&&(ft.push(It),bt.push(It)))};Ct<=xt;)gt();tt.setState({pivot:mt}),tt.props.store.setState({selectionDirty:!0}),tt.setSelectedRowKeys(ft,{selectWay:"onSelectMultiple",record:it,checked:lt,changeRowKeys:bt,nativeEvent:ct})}else lt?ft.push(tt.getRecordKey(it,mt)):ft=ft.filter(function(wt){return At!==wt}),tt.setState({pivot:mt}),tt.props.store.setState({selectionDirty:!0}),tt.setSelectedRowKeys(ft,{selectWay:"onSelect",record:it,checked:lt,changeRowKeys:void 0,nativeEvent:ct})},tt.handleRadioSelect=function(it,ot,st){var lt=st.target.checked,ct=st.nativeEvent,ut=tt.getRecordKey(it,ot),ft=[ut];tt.props.store.setState({selectionDirty:!0}),tt.setSelectedRowKeys(ft,{selectWay:"onSelect",record:it,checked:lt,changeRowKeys:void 0,nativeEvent:ct})},tt.handleSelectRow=function(it,ot,st){var lt=tt.getFlatCurrentPageData(),ct=tt.props.store.getState().selectionDirty?[]:tt.getDefaultSelection(),ut=tt.props.store.getState().selectedRowKeys.concat(ct),ft=lt.filter(function(dt,xt){return!tt.getCheckboxPropsByItem(dt,xt).disabled}).map(function(dt,xt){return tt.getRecordKey(dt,xt)}),At=[],vt="onSelectAll",ht;switch(it){case"all":ft.forEach(function(dt){ut.indexOf(dt)<0&&(ut.push(dt),At.push(dt))}),vt="onSelectAll",ht=!0;break;case"removeAll":ft.forEach(function(dt){ut.indexOf(dt)>=0&&(ut.splice(ut.indexOf(dt),1),At.push(dt))}),vt="onSelectAll",ht=!1;break;case"invert":ft.forEach(function(dt){ut.indexOf(dt)<0?ut.push(dt):ut.splice(ut.indexOf(dt),1),At.push(dt),vt="onSelectInvert"});break}tt.props.store.setState({selectionDirty:!0});var mt=tt.props.rowSelection,bt=2;if(mt&&mt.hideDefaultSelections&&(bt=0),ot>=bt&&typeof st=="function")return st(ft);tt.setSelectedRowKeys(ut,{selectWay:vt,checked:ht,changeRowKeys:At})},tt.handlePageChange=function(it){var ot=tt.props,st=_extends$1h({},tt.state.pagination);it?st.current=it:st.current=st.current||1;for(var lt=arguments.length,ct=new Array(lt>1?lt-1:0),ut=1;ut0){var it=this.getSortStateFromColumns(rt);(!isSameColumn(it.sortColumn,at)||it.sortOrder!==nt)&&this.setState(it)}}},{key:"getDefaultSelection",value:function(){var tt=this,rt=getRowSelection(this.props);return rt.getCheckboxProps?this.getFlatData().filter(function(at,nt){return tt.getCheckboxPropsByItem(at,nt).defaultChecked}).map(function(at,nt){return tt.getRecordKey(at,nt)}):[]}},{key:"getDefaultPagination",value:function(tt){var rt=_typeof$d(tt.pagination)==="object"?tt.pagination:{},at;"current"in rt?at=rt.current:"defaultCurrent"in rt&&(at=rt.defaultCurrent);var nt;return"pageSize"in rt?nt=rt.pageSize:"defaultPageSize"in rt&&(nt=rt.defaultPageSize),this.hasPagination(tt)?_extends$1h(_extends$1h(_extends$1h({},defaultPagination),rt),{current:at||1,pageSize:nt||10}):{}}},{key:"getSortOrderColumns",value:function(tt){return flatFilter(tt||(this.state||{}).columns||[],function(rt){return"sortOrder"in rt})}},{key:"getDefaultFilters",value:function(tt){var rt=getFiltersFromColumns(this.state,tt),at=flatFilter(tt||[],function(it){return typeof it.defaultFilteredValue<"u"}),nt=at.reduce(function(it,ot){var st=getColumnKey(ot);return it[st]=ot.defaultFilteredValue,it},{});return _extends$1h(_extends$1h({},nt),rt)}},{key:"getDefaultSortOrder",value:function(tt){var rt=this.getSortStateFromColumns(tt),at=flatFilter(tt||[],function(nt){return nt.defaultSortOrder!=null})[0];return at&&!rt.sortColumn?{sortColumn:at,sortOrder:at.defaultSortOrder}:rt}},{key:"getSortStateFromColumns",value:function(tt){var rt=this.getSortOrderColumns(tt).filter(function(at){return at.sortOrder})[0];return rt?{sortColumn:rt,sortOrder:rt.sortOrder}:{sortColumn:null,sortOrder:null}}},{key:"getMaxCurrent",value:function(tt){var rt=this.state.pagination,at=rt.current,nt=rt.pageSize;return(at-1)*nt>=tt?Math.floor((tt-1)/nt)+1:at}},{key:"getSorterFn",value:function(tt){var rt=tt||this.state,at=rt.sortOrder,nt=rt.sortColumn;if(!(!at||!nt||typeof nt.sorter!="function"))return function(it,ot){var st=nt.sorter(it,ot,at);return st!==0?at==="descend"?-st:st:0}}},{key:"getCurrentPageData",value:function(){var tt=this.getLocalData(),rt,at,nt=this.state;return this.hasPagination()?(at=nt.pagination.pageSize,rt=this.getMaxCurrent(nt.pagination.total||tt.length)):(at=Number.MAX_VALUE,rt=1),(tt.length>at||at===Number.MAX_VALUE)&&(tt=tt.slice((rt-1)*at,rt*at)),tt}},{key:"getFlatData",value:function(){var tt=this.props.childrenColumnName;return flatArray(this.getLocalData(null,!1),tt)}},{key:"getFlatCurrentPageData",value:function(){var tt=this.props.childrenColumnName;return flatArray(this.getCurrentPageData(),tt)}},{key:"getLocalData",value:function(tt){var rt=this,at=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,nt=tt||this.state,it=this.props.dataSource,ot=it||[];ot=ot.slice(0);var st=this.getSorterFn(nt);return st&&(ot=this.recursiveSort(ot,st)),at&&nt.filters&&Object.keys(nt.filters).forEach(function(lt){var ct=rt.findColumn(lt);if(ct){var ut=nt.filters[lt]||[];if(ut.length!==0){var ft=ct.onFilter;ot=ft?ot.filter(function(At){return ut.some(function(vt){return ft(vt,At)})}):ot}}}),ot}},{key:"setSelectedRowKeys",value:function(tt,rt){var at=this,nt=rt.selectWay,it=rt.record,ot=rt.checked,st=rt.changeRowKeys,lt=rt.nativeEvent,ct=getRowSelection(this.props);ct&&!("selectedRowKeys"in ct)&&this.props.store.setState({selectedRowKeys:tt});var ut=this.getFlatData();if(!(!ct.onChange&&!ct[nt])){var ft=ut.filter(function(ht,mt){return tt.indexOf(at.getRecordKey(ht,mt))>=0});if(ct.onChange&&ct.onChange(tt,ft),nt==="onSelect"&&ct.onSelect)ct.onSelect(it,ot,ft,lt);else if(nt==="onSelectMultiple"&&ct.onSelectMultiple){var At=ut.filter(function(ht,mt){return st.indexOf(at.getRecordKey(ht,mt))>=0});ct.onSelectMultiple(ot,ft,At)}else if(nt==="onSelectAll"&&ct.onSelectAll){var vt=ut.filter(function(ht,mt){return st.indexOf(at.getRecordKey(ht,mt))>=0});ct.onSelectAll(ot,ft,vt)}else nt==="onSelectInvert"&&ct.onSelectInvert&&ct.onSelectInvert(tt)}}},{key:"toggleSortOrder",value:function(tt){var rt=tt.sortDirections||this.props.sortDirections,at=this.state,nt=at.sortOrder,it=at.sortColumn,ot;if(isSameColumn(it,tt)&&nt!==void 0){var st=rt.indexOf(nt)+1;ot=st===rt.length?void 0:rt[st]}else ot=rt[0];var lt={sortOrder:ot,sortColumn:ot?tt:null};this.getSortOrderColumns().length===0&&this.setState(lt,this.scrollToFirstRow);var ct=this.props.onChange;ct&&ct.apply(null,this.prepareParamsArguments(_extends$1h(_extends$1h({},this.state),lt),tt))}},{key:"hasPagination",value:function(tt){return(tt||this.props).pagination!==!1}},{key:"isSortColumn",value:function(tt){var rt=this.state.sortColumn;return!tt||!rt?!1:getColumnKey(rt)===getColumnKey(tt)}},{key:"prepareParamsArguments",value:function(tt,rt){var at=_extends$1h({},tt.pagination);delete at.onChange,delete at.onShowSizeChange;var nt=tt.filters,it={},ot=rt;tt.sortColumn&&tt.sortOrder&&(ot=tt.sortColumn,it.column=tt.sortColumn,it.order=tt.sortOrder),ot&&(it.field=ot.dataIndex,it.columnKey=getColumnKey(ot));var st={currentDataSource:this.getLocalData(tt)};return[at,nt,it,st]}},{key:"findColumn",value:function(tt){var rt;return treeMap(this.state.columns,function(at){getColumnKey(at)===tt&&(rt=at)}),rt}},{key:"recursiveSort",value:function(tt,rt){var at=this,nt=this.props.childrenColumnName,it=nt===void 0?"children":nt;return tt.sort(rt).map(function(ot){return ot[it]?_extends$1h(_extends$1h({},ot),_defineProperty$o({},it,at.recursiveSort(ot[it],rt))):ot})}},{key:"renderPagination",value:function(tt,rt){if(!this.hasPagination())return null;var at="default",nt=this.state.pagination;nt.size?at=nt.size:(this.props.size==="middle"||this.props.size==="small")&&(at="small");var it=nt.position||"bottom",ot=nt.total||this.getLocalData().length;return ot>0&&(it===rt||it==="both")?reactExports.createElement(Pagination,_extends$1h({key:"pagination-".concat(rt)},nt,{className:classNames(nt.className,"".concat(tt,"-pagination")),onChange:this.handlePageChange,total:ot,size:at,current:this.getMaxCurrent(ot),onShowSizeChange:this.handleShowSizeChange})):null}},{key:"renderRowSelection",value:function(tt){var rt=this,at=tt.prefixCls,nt=tt.locale,it=tt.getPopupContainer,ot=this.props.rowSelection,st=this.state.columns.concat();if(ot){var lt=this.getFlatCurrentPageData().filter(function(At,vt){return ot.getCheckboxProps?!rt.getCheckboxPropsByItem(At,vt).disabled:!0}),ct=classNames("".concat(at,"-selection-column"),_defineProperty$o({},"".concat(at,"-selection-column-custom"),ot.selections)),ut=_defineProperty$o({key:"selection-column",render:this.renderSelectionBox(ot.type),className:ct,fixed:ot.fixed,width:ot.columnWidth,title:ot.columnTitle},INTERNAL_COL_DEFINE,{className:"".concat(at,"-selection-col")});if(ot.type!=="radio"){var ft=lt.every(function(At,vt){return rt.getCheckboxPropsByItem(At,vt).disabled});ut.title=ut.title||reactExports.createElement(SelectionCheckboxAll$1,{store:this.props.store,locale:nt,data:lt,getCheckboxPropsByItem:this.getCheckboxPropsByItem,getRecordKey:this.getRecordKey,disabled:ft,prefixCls:at,onSelect:this.handleSelectRow,selections:ot.selections,hideDefaultSelections:ot.hideDefaultSelections,getPopupContainer:this.generatePopupContainerFunc(it)})}"fixed"in ot?ut.fixed=ot.fixed:st.some(function(At){return At.fixed==="left"||At.fixed===!0})&&(ut.fixed="left"),st[0]&&st[0].key==="selection-column"?st[0]=ut:st.unshift(ut)}return st}},{key:"renderColumnsDropdown",value:function(tt){var rt=this,at=tt.prefixCls,nt=tt.dropdownPrefixCls,it=tt.columns,ot=tt.locale,st=tt.getPopupContainer,lt=this.state,ct=lt.sortOrder,ut=lt.filters;return treeMap(it,function(ft,At){var vt,ht=getColumnKey(ft,At),mt,bt,dt=ft.onHeaderCell,xt=rt.isSortColumn(ft);if(ft.filters&&ft.filters.length>0||ft.filterDropdown){var Ct=ht in ut?ut[ht]:[];mt=reactExports.createElement(FilterDropdown,{locale:ot,column:ft,selectedKeys:Ct,confirmFilter:rt.handleFilter,prefixCls:"".concat(at,"-filter"),dropdownPrefixCls:nt||"ant-dropdown",getPopupContainer:rt.generatePopupContainerFunc(st),key:"filter-dropdown"})}if(ft.sorter){var gt=ft.sortDirections||rt.props.sortDirections,wt=xt&&ct==="ascend",_t=xt&&ct==="descend",Et=gt.indexOf("ascend")!==-1&&reactExports.createElement(Icon$1,{className:"".concat(at,"-column-sorter-up ").concat(wt?"on":"off"),type:"caret-up",theme:"filled"}),It=gt.indexOf("descend")!==-1&&reactExports.createElement(Icon$1,{className:"".concat(at,"-column-sorter-down ").concat(_t?"on":"off"),type:"caret-down",theme:"filled"});bt=reactExports.createElement("div",{title:ot.sortTitle,className:classNames("".concat(at,"-column-sorter-inner"),Et&&It&&"".concat(at,"-column-sorter-inner-full")),key:"sorter"},Et,It),dt=function(Rt){var Ot={};ft.onHeaderCell&&(Ot=_extends$1h({},ft.onHeaderCell(Rt)));var Mt=Ot.onClick;return Ot.onClick=function(){rt.toggleSortOrder(ft),Mt&&Mt.apply(void 0,arguments)},Ot}}return _extends$1h(_extends$1h({},ft),{className:classNames(ft.className,(vt={},_defineProperty$o(vt,"".concat(at,"-column-has-actions"),bt||mt),_defineProperty$o(vt,"".concat(at,"-column-has-filters"),mt),_defineProperty$o(vt,"".concat(at,"-column-has-sorters"),bt),_defineProperty$o(vt,"".concat(at,"-column-sort"),xt&&ct),vt)),title:[reactExports.createElement("span",{key:"title",className:"".concat(at,"-header-column")},reactExports.createElement("div",{className:bt?"".concat(at,"-column-sorters"):void 0},reactExports.createElement("span",{className:"".concat(at,"-column-title")},rt.renderColumnTitle(ft.title)),reactExports.createElement("span",{className:"".concat(at,"-column-sorter")},bt))),mt],onHeaderCell:dt})})}},{key:"renderColumnTitle",value:function(tt){var rt=this.state,at=rt.filters,nt=rt.sortOrder,it=rt.sortColumn;return tt instanceof Function?tt({filters:at,sortOrder:nt,sortColumn:it}):tt}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderComponent)}}],[{key:"getDerivedStateFromProps",value:function(tt,rt){var at=rt.prevProps,nt=tt.columns||normalizeColumns(tt.children),it=_extends$1h(_extends$1h({},rt),{prevProps:tt,columns:nt});if("pagination"in tt||"pagination"in at){var ot=_extends$1h(_extends$1h(_extends$1h({},defaultPagination),rt.pagination),tt.pagination);ot.current=ot.current||1,ot.pageSize=ot.pageSize||10,it=_extends$1h(_extends$1h({},it),{pagination:tt.pagination!==!1?ot:emptyObject})}tt.rowSelection&&"selectedRowKeys"in tt.rowSelection?tt.store.setState({selectedRowKeys:tt.rowSelection.selectedRowKeys||[]}):at.rowSelection&&!tt.rowSelection&&tt.store.setState({selectedRowKeys:[]}),"dataSource"in tt&&tt.dataSource!==at.dataSource&&tt.store.setState({selectionDirty:!1}),tt.setCheckboxPropsCache({});var st=getFilteredValueColumns(it,it.columns);if(st.length>0){var lt=getFiltersFromColumns(it,it.columns),ct=_extends$1h({},it.filters);Object.keys(lt).forEach(function(ft){ct[ft]=lt[ft]}),isFiltersChanged(it,ct)&&(it=_extends$1h(_extends$1h({},it),{filters:ct}))}if(!isTheSameComponents(tt.components,at.components)){var ut=createComponents(tt.components);it=_extends$1h(_extends$1h({},it),{components:ut})}return it}}]),_e}(reactExports.Component);Table.propTypes={dataSource:propTypesExports.array,columns:propTypesExports.array,prefixCls:propTypesExports.string,useFixedHeader:propTypesExports.bool,rowSelection:propTypesExports.object,className:propTypesExports.string,size:propTypesExports.string,loading:propTypesExports.oneOfType([propTypesExports.bool,propTypesExports.object]),bordered:propTypesExports.bool,onChange:propTypesExports.func,locale:propTypesExports.object,dropdownPrefixCls:propTypesExports.string,sortDirections:propTypesExports.array,getPopupContainer:propTypesExports.func};Table.defaultProps={dataSource:[],useFixedHeader:!1,className:"",size:"default",loading:!1,bordered:!1,indentSize:20,locale:{},rowKey:"key",showHeader:!0,sortDirections:["ascend","descend"],childrenColumnName:"children"};polyfill(Table);var StoreTable=function(o){_inherits$Y(_e,o);var $=_createSuper$e(_e);function _e(et){var tt;return _classCallCheck$Y(this,_e),tt=$.call(this,et),tt.setCheckboxPropsCache=function(rt){return tt.CheckboxPropsCache=rt},tt.CheckboxPropsCache={},tt.store=createStore$1({selectedRowKeys:getRowSelection(et).selectedRowKeys||[],selectionDirty:!1}),tt}return _createClass$Y(_e,[{key:"render",value:function(){return reactExports.createElement(Table,_extends$1h({},this.props,{store:this.store,checkboxPropsCache:this.CheckboxPropsCache,setCheckboxPropsCache:this.setCheckboxPropsCache}))}}]),_e}(reactExports.Component);StoreTable.displayName="withStore(Table)";StoreTable.Column=Column$2;StoreTable.ColumnGroup=ColumnGroup;const Table$1=StoreTable;var exitToAppExports={},exitToApp={get exports(){return exitToAppExports},set exports(o){exitToAppExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{hasSpans(et)?$[et.traceID]=et.spanIDs.join(" "):_e.push(et.traceID)}),{spanLinks:$,traceID:_e}}class ExamplesLink extends reactExports.PureComponent{render(){const{examples:$,includeText:_e}=this.props;return!$||!$.length?null:jsxRuntimeExports.jsxs("a",{href:getUrl$2(getGetUrlArg($)),target:"_blank",rel:"noopener noreferrer",children:[_e&&"Examples ",jsxRuntimeExports.jsx(NewWindowIcon,{})]})}}var checkExports={},check={get exports(){return checkExports},set exports(o){checkExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{this.cancelled=!0,this.props.setSelectedKeys(this.selected)}}componentDidUpdate($){const{confirm:_e,selectedKeys:et}=this.props;if(et.length===$.selectedKeys.length){const tt=new Set($.selectedKeys);et.every(rt=>tt.has(rt))&&(this.selected=et)}this.cancelled&&(this.cancelled=!1,_e())}render(){const{clearFilters:$=()=>{},confirm:_e,options:et,selectedKeys:tt,setSelectedKeys:rt}=this.props,at=new Set;return tt.forEach(nt=>{typeof nt=="string"&&at.add(nt)}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(FilteredList,{addValues:nt=>{rt([...tt,...nt])},multi:!0,options:Array.from(et),removeValues:nt=>{const it=new Set(nt);rt(tt.filter(ot=>!it.has(ot)))},setValue:nt=>{rt([nt])},value:at}),jsxRuntimeExports.jsxs("div",{className:"DetailTableDropdown--Footer",children:[jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"DetailTableDropdown--Tooltip",title:"Remove filter from this column",children:jsxRuntimeExports.jsxs(Button$2,{className:"DetailTableDropdown--Btn Clear",onClick:$,children:[jsxRuntimeExports.jsx(FaTrash,{size:18}),"Clear Filter"]})}),jsxRuntimeExports.jsxs("div",{className:"DetailTableDropdown--Footer--CancelConfirm",children:[jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"DetailTableDropdown--Tooltip",title:"Cancel changes to this column's filter",children:jsxRuntimeExports.jsxs(Button$2,{className:"DetailTableDropdown--Btn Cancel",onClick:this.cancel,children:[jsxRuntimeExports.jsx(TiCancel,{size:20}),"Cancel"]})}),jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"DetailTableDropdown--Tooltip",title:jsxRuntimeExports.jsxs("div",{className:"DetailTableDropdown--Tooltip--Body",children:[jsxRuntimeExports.jsx("span",{children:"Apply changes to this column's filter"}),jsxRuntimeExports.jsx("span",{children:"Same effect as clicking outside the dropdown"})]}),children:jsxRuntimeExports.jsxs(Button$2,{className:"DetailTableDropdown--Btn Apply",onClick:_e,children:[jsxRuntimeExports.jsx(FaCheck,{size:18}),"Apply"]})})]})]})]})}}const _makeFilterDropdown=(o,$)=>_e=>reactExports.createElement(DetailTableDropdown,{..._e,key:o,options:$}),_onCell=o=>$=>{const _e=$[o];if(!_e||typeof _e!="object"||Array.isArray(_e))return{};const{styling:et}=_e;return isEmpty_1(et)?{}:{style:et}},_onFilter=o=>($,_e)=>{const et=_e[o];return typeof et=="object"&&!Array.isArray(et)&&typeof et.value=="string"?et.value===$:et===$},_renderCell=o=>!o||typeof o!="object"?o:Array.isArray(o)?jsxRuntimeExports.jsx(ExamplesLink,{examples:o}):o.linkTo?jsxRuntimeExports.jsx("a",{href:o.linkTo,target:"_blank",rel:"noopener noreferrer",children:o.value}):o.value,_sort=o=>($,_e)=>{const et=$[o];let tt;Array.isArray(et)?tt=et.length:typeof et=="object"&&typeof et.value=="string"?tt=et.value:tt=et;const rt=_e[o];let at;return Array.isArray(rt)?at=rt.length:typeof rt=="object"&&typeof rt.value=="string"?at=rt.value:at=rt,tto.map(_e=>{let et,tt,rt=!0,at,nt;typeof _e=="string"?tt=nt=et=_e:(tt=nt=et=_e.key,_e.label&&(nt=_e.label),_e.styling&&(at=_e.styling),_e.preventSort&&(rt=!1));const it=new Set;return $.forEach(ot=>{const st=ot[et];typeof st=="string"&&st?it.add(st):typeof st=="object"&&!Array.isArray(st)&&typeof st.value=="string"&&it.add(st.value)}),{dataIndex:et,key:tt,title:nt,filterDropdown:!!it.size&&_makeFilterDropdown(et,it),filterIcon:ot=>ot?jsxRuntimeExports.jsx(FaFilter,{}):jsxRuntimeExports.jsx(Icon$1,{type:"filter"}),onCell:_onCell(et),onHeaderCell:()=>({style:at}),onFilter:_onFilter(et),render:_renderCell,sorter:rt&&_sort(et)}}),_rowKey=o=>JSON.stringify(o,function(_e,et){function tt(rt){return rt===o}return tt(et)?et:Array.isArray(et)?JSON.stringify(et):typeof et=="object"?typeof et.value=="string"?JSON.stringify(et):et.value.key||"Unknown":et});function DetailTable({columnDefs:o,details:$}){const _e=o?o.slice():[],et=new Set(_e.map(tt=>typeof tt=="string"?tt:tt.key));return $.forEach(tt=>{Object.keys(tt).forEach(rt=>{et.has(rt)||(et.add(rt),_e.push(rt))})}),jsxRuntimeExports.jsx(Table$1,{size:"middle",columns:_makeColumns({defs:_e,rows:$}),dataSource:$,pagination:!1,rowKey:_rowKey},"table")}const index$s="";function cloneElement(o){if(!reactExports.isValidElement(o))return o;for(var $=arguments.length,_e=new Array($>1?$-1:0),et=1;et<$;et++)_e[et-1]=arguments[et];return reactExports.cloneElement.apply(React$l,[o].concat(_e))}function _typeof$c(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$c=function(_e){return typeof _e}:_typeof$c=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$c(o)}function _defineProperty$n(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _classCallCheck$X(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$e(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$X(o,$,_e){return $&&_defineProperties$e(o.prototype,$),_e&&_defineProperties$e(o,_e),o}function _inherits$X(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$d(o,$)}function _setPrototypeOf$d(o,$){return _setPrototypeOf$d=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$d(o,$)}function _createSuper$d(o){var $=_isNativeReflectConstruct$d();return function(){var et=_getPrototypeOf$g(o),tt;if($){var rt=_getPrototypeOf$g(this).constructor;tt=Reflect.construct(et,arguments,rt)}else tt=et.apply(this,arguments);return _possibleConstructorReturn$X(this,tt)}}function _possibleConstructorReturn$X(o,$){return $&&(_typeof$c($)==="object"||typeof $=="function")?$:_assertThisInitialized$d(o)}function _assertThisInitialized$d(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$d(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$g(o){return _getPrototypeOf$g=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$g(o)}function _extends$1g(){return _extends$1g=Object.assign||function(o){for(var $=1;$0&&reactExports.createElement("ul",{className:"".concat(vt,"-item-action"),key:"actions"},ct.map(function(dt,xt){return reactExports.createElement("li",{key:"".concat(vt,"-item-action-").concat(xt)},dt,xt!==ct.length-1&&reactExports.createElement("em",{className:"".concat(vt,"-item-action-split")}))})),mt=nt?"div":"li",bt=reactExports.createElement(mt,_extends$1g({},At,{className:classNames("".concat(vt,"-item"),ft,_defineProperty$n({},"".concat(vt,"-item-no-flex"),!et.isFlexMode()))}),it==="vertical"&&ut?[reactExports.createElement("div",{className:"".concat(vt,"-item-main"),key:"content"},lt,ht),reactExports.createElement("div",{className:"".concat(vt,"-item-extra"),key:"extra"},ut)]:[lt,ht,cloneElement(ut,{key:"extra"})]);return nt?reactExports.createElement(Col,{span:getGrid(nt,"column"),xs:getGrid(nt,"xs"),sm:getGrid(nt,"sm"),md:getGrid(nt,"md"),lg:getGrid(nt,"lg"),xl:getGrid(nt,"xl"),xxl:getGrid(nt,"xxl")},bt):bt},et}return _createClass$X(_e,[{key:"isItemContainsTextNodeAndNotSingular",value:function(){var tt=this.props.children,rt;return reactExports.Children.forEach(tt,function(at){typeof at=="string"&&(rt=!0)}),rt&&reactExports.Children.count(tt)>1}},{key:"isFlexMode",value:function(){var tt=this.props.extra,rt=this.context.itemLayout;return rt==="vertical"?!!tt:!this.isItemContainsTextNodeAndNotSingular()}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderItem)}}]),_e}(reactExports.Component);Item$1.Meta=Meta$2;Item$1.contextTypes={grid:propTypesExports.any,itemLayout:propTypesExports.string};function _typeof$b(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$b=function(_e){return typeof _e}:_typeof$b=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$b(o)}function _toConsumableArray$4(o){return _arrayWithoutHoles(o)||_iterableToArray(o)||_unsupportedIterableToArray$1(o)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray$1(o,$){if(o){if(typeof o=="string")return _arrayLikeToArray$1(o,$);var _e=Object.prototype.toString.call(o).slice(8,-1);if(_e==="Object"&&o.constructor&&(_e=o.constructor.name),_e==="Map"||_e==="Set")return Array.from(o);if(_e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_e))return _arrayLikeToArray$1(o,$)}}function _iterableToArray(o){if(typeof Symbol<"u"&&Symbol.iterator in Object(o))return Array.from(o)}function _arrayWithoutHoles(o){if(Array.isArray(o))return _arrayLikeToArray$1(o)}function _arrayLikeToArray$1(o,$){($==null||$>o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _extends$1f(){return _extends$1f=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$f(o){return _getPrototypeOf$f=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$f(o)}var __rest$a=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);ttWt&&(Nt.current=Wt);var qt=Ct?reactExports.createElement("div",{className:"".concat(Mt,"-pagination")},reactExports.createElement(Pagination,_extends$1f({},Nt,{onChange:tt.onPaginationChange,onShowSizeChange:tt.onPaginationShowSizeChange}))):null,nr=_toConsumableArray$4(_t);Ct&&_t.length>(Nt.current-1)*Nt.pageSize&&(nr=_toConsumableArray$4(_t).splice((Nt.current-1)*Nt.pageSize,Nt.pageSize));var ar;if(ar=Lt&&reactExports.createElement("div",{style:{minHeight:53}}),nr.length>0){var Kt=nr.map(function(Ht,Ft){return tt.renderItem(Ht,Ft)}),er=[];reactExports.Children.forEach(Kt,function(Ht,Ft){er.push(reactExports.cloneElement(Ht,{key:tt.keys[Ft]}))}),ar=gt?reactExports.createElement(Row,{gutter:gt.gutter},er):reactExports.createElement("ul",{className:"".concat(Mt,"-items")},er)}else!bt&&!Lt&&(ar=tt.renderEmpty(Mt,st));var Ut=Nt.position||"bottom";return reactExports.createElement("div",_extends$1f({className:zt},omit(Ot,["rowKey","renderItem","locale"])),(Ut==="top"||Ut==="both")&&qt,It&&reactExports.createElement("div",{className:"".concat(Mt,"-header")},It),reactExports.createElement(Spin$1,Bt,ar,bt),Tt&&reactExports.createElement("div",{className:"".concat(Mt,"-footer")},Tt),xt||(Ut==="bottom"||Ut==="both")&&qt)};var rt=et.pagination,at=rt&&_typeof$b(rt)==="object"?rt:{};return tt.state={paginationCurrent:at.defaultCurrent||1,paginationSize:at.defaultPageSize||10},tt}return _createClass$W(_e,[{key:"getChildContext",value:function(){return{grid:this.props.grid,itemLayout:this.props.itemLayout}}},{key:"triggerPaginationEvent",value:function(tt){var rt=this;return function(at,nt){var it=rt.props.pagination;rt.setState({paginationCurrent:at,paginationSize:nt}),it&&it[tt]&&it[tt](at,nt)}}},{key:"isSomethingAfterLastItem",value:function(){var tt=this.props,rt=tt.loadMore,at=tt.pagination,nt=tt.footer;return!!(rt||at||nt)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderList)}}]),_e}(reactExports.Component);List$4.Item=Item$1;List$4.childContextTypes={grid:propTypesExports.any,itemLayout:propTypesExports.string};List$4.defaultProps={dataSource:[],bordered:!1,split:!0,loading:!1,pagination:!1};const{Item}=List$4;function DetailList({details:o}){return jsxRuntimeExports.jsx(List$4,{dataSource:o,renderItem:$=>jsxRuntimeExports.jsx(Item,{children:jsxRuntimeExports.jsx("span",{children:$})})})}const index$r="";function isList$2(o){return typeof o[0]=="string"}class DetailsCard extends reactExports.PureComponent{constructor($){super($),this.toggleCollapse=()=>{this.setState(_e=>({collapsed:!_e.collapsed}))},this.state={collapsed:!!$.collapsible}}renderDetails(){const{columnDefs:$,details:_e}=this.props;return Array.isArray(_e)?_e.length===0?null:isList$2(_e)?jsxRuntimeExports.jsx(DetailList,{details:_e}):jsxRuntimeExports.jsx(DetailTable,{columnDefs:$,details:_e}):jsxRuntimeExports.jsx("span",{children:_e})}render(){const{collapsed:$}=this.state,{className:_e,collapsible:et,description:tt,header:rt}=this.props;return jsxRuntimeExports.jsxs("div",{className:classnamesExports("DetailsCard",_e),children:[jsxRuntimeExports.jsxs("div",{className:"DetailsCard--ButtonHeaderWrapper",children:[et&&jsxRuntimeExports.jsx("button",{onClick:this.toggleCollapse,type:"button",className:classnamesExports("DetailsCard--Collapser",{"is-collapsed":$}),children:jsxRuntimeExports.jsx(MdKeyboardArrowDown,{})}),jsxRuntimeExports.jsxs("div",{className:"DetailsCard--HeaderWrapper",children:[jsxRuntimeExports.jsx("span",{className:"DetailsCard--Header",children:rt}),tt&&jsxRuntimeExports.jsx("p",{className:"DetailsCard--Description",children:tt})]})]}),jsxRuntimeExports.jsx("div",{className:classnamesExports("DetailsCard--DetailsWrapper",{"is-collapsed":$}),children:this.renderDetails()})]})}}var EUpdateTypes=(o=>(o.DragEnd="DragEnd",o.DragMove="DragMove",o.DragStart="DragStart",o.MouseEnter="MouseEnter",o.MouseLeave="MouseLeave",o.MouseMove="MouseMove",o))(EUpdateTypes||{});const LEFT_MOUSE_BUTTON=0;class DraggableManager{constructor({getBounds:$,tag:_e,resetBoundsOnResize:et=!0,...tt}){this.resetBounds=()=>{this._bounds=void 0},this._handleMinorMouseEvent=rt=>{const{button:at,clientX:nt,type:it}=rt;if(this._isDragging||at!==LEFT_MOUSE_BUTTON)return;let ot=null,st;if(it==="mouseenter")ot=EUpdateTypes.MouseEnter,st=this._onMouseEnter;else if(it==="mouseleave")ot=EUpdateTypes.MouseLeave,st=this._onMouseLeave;else if(it==="mousemove")ot=EUpdateTypes.MouseMove,st=this._onMouseMove;else throw new Error(`invalid event type: ${it}`);if(!st)return;const{value:lt,x:ct}=this._getPosition(nt);st({event:rt,type:ot,value:lt,x:ct,manager:this,tag:this.tag})},this._handleDragEvent=rt=>{const{button:at,clientX:nt,type:it}=rt;let ot=null,st;if(it==="mousedown"){if(this._isDragging||at!==LEFT_MOUSE_BUTTON)return;window.addEventListener("mousemove",this._handleDragEvent),window.addEventListener("mouseup",this._handleDragEvent);const ut=get_1$1(document,"body.style");ut&&(ut.userSelect="none"),this._isDragging=!0,ot=EUpdateTypes.DragStart,st=this._onDragStart}else if(it==="mousemove"){if(!this._isDragging)return;ot=EUpdateTypes.DragMove,st=this._onDragMove}else if(it==="mouseup"){if(!this._isDragging)return;this._stopDragging(),ot=EUpdateTypes.DragEnd,st=this._onDragEnd}else throw new Error(`invalid event type: ${it}`);if(!st)return;const{value:lt,x:ct}=this._getPosition(nt);st({event:rt,type:ot,value:lt,x:ct,manager:this,tag:this.tag})},this.handleMouseDown=this._handleDragEvent,this.handleMouseEnter=this._handleMinorMouseEvent,this.handleMouseMove=this._handleMinorMouseEvent,this.handleMouseLeave=this._handleMinorMouseEvent,this.getBounds=$,this.tag=_e,this._isDragging=!1,this._bounds=void 0,this._resetBoundsOnResize=!!et,this._resetBoundsOnResize&&window.addEventListener("resize",this.resetBounds),this._onMouseEnter=tt.onMouseEnter,this._onMouseLeave=tt.onMouseLeave,this._onMouseMove=tt.onMouseMove,this._onDragStart=tt.onDragStart,this._onDragMove=tt.onDragMove,this._onDragEnd=tt.onDragEnd}_getBounds(){return this._bounds||(this._bounds=this.getBounds(this.tag)),this._bounds}_getPosition($){const{clientXLeft:_e,maxValue:et,minValue:tt,width:rt}=this._getBounds();let at=$-_e,nt=at/rt;return tt!=null&&ntet&&(nt=et,at=et*rt),{value:nt,x:at}}_stopDragging(){window.removeEventListener("mousemove",this._handleDragEvent),window.removeEventListener("mouseup",this._handleDragEvent);const $=get_1$1(document,"body.style");$&&($.userSelect=null),this._isDragging=!1}isDragging(){return this._isDragging}dispose(){this._isDragging&&this._stopDragging(),this._resetBoundsOnResize&&window.removeEventListener("resize",this.resetBounds),this._bounds=void 0,this._onMouseEnter=void 0,this._onMouseLeave=void 0,this._onMouseMove=void 0,this._onDragStart=void 0,this._onDragMove=void 0,this._onDragEnd=void 0}}const VerticalResizer$1="";class VerticalResizer extends reactExports.PureComponent{constructor($){super($),this._setRootElm=_e=>{this._rootElm=_e},this._getDraggingBounds=()=>{if(!this._rootElm)throw new Error("invalid state");const{left:_e,width:et}=this._rootElm.getBoundingClientRect(),{rightSide:tt}=this.props;let{min:rt,max:at}=this.props;return tt&&([rt,at]=[1-at,1-rt]),{clientXLeft:_e,width:et,maxValue:at,minValue:rt}},this._handleDragUpdate=({value:_e})=>{const et=this.props.rightSide?1-_e:_e;this.setState({dragPosition:et})},this._handleDragEnd=({manager:_e,value:et})=>{_e.resetBounds(),this.setState({dragPosition:null});const tt=this.props.rightSide?1-et:et;this.props.onChange(tt)},this._dragManager=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleDragEnd,onDragMove:this._handleDragUpdate,onDragStart:this._handleDragUpdate}),this._rootElm=void 0,this.state={dragPosition:null}}componentWillUnmount(){this._dragManager.dispose()}render(){let $,_e,et="";const{position:tt,rightSide:rt}=this.props,{dragPosition:at}=this.state;$=`${tt*100}%`;const nt={left:$};if(this._dragManager.isDragging()&&this._rootElm&&at!=null){et=classnamesExports({isDraggingLeft:attt}),$=`${at*100}%`;const it=`${Math.min(tt,at)*100}%`,ot=`calc(${(1-Math.max(tt,at))*100}% - 1px)`;_e={left:it,right:ot}}else _e=nt;return jsxRuntimeExports.jsxs("div",{className:`VerticalResizer ${et} ${rt?"is-flipped":""}`,ref:this._setRootElm,children:[jsxRuntimeExports.jsx("div",{className:"VerticalResizer--gripIcon",style:nt}),jsxRuntimeExports.jsx("div",{"aria-hidden":!0,className:"VerticalResizer--dragger",onMouseDown:this._dragManager.handleMouseDown,style:_e})]})}}const DetailsPanel$1="";class UnconnectedDetailsPanel extends reactExports.PureComponent{constructor(){super(...arguments),this.state={},this.onResize=$=>{this.setState({width:$})}}componentDidMount(){this.fetchDetails()}componentDidUpdate($){($.operation!==this.props.operation||$.service!==this.props.service||$.decorationSchema!==this.props.decorationSchema)&&(this.setState({details:void 0,detailsErred:!1,detailsLoading:!1}),this.fetchDetails())}fetchDetails(){const{decorationSchema:{detailUrl:$,detailPath:_e,detailColumnDefPath:et,opDetailUrl:tt,opDetailPath:rt,opDetailColumnDefPath:at},operation:nt,service:it}=this.props,ot=nt&&!Array.isArray(nt)?nt:void 0;let st,lt,ct;tt&&rt&&ot?(st=stringSupplant(tt,{service:it,operation:ot}),lt=stringSupplant(rt,{service:it,operation:ot}),ct=at&&stringSupplant(at,{service:it,operation:ot})):$&&_e&&(st=stringSupplant($,{service:it}),lt=stringSupplant(_e,{service:it}),ct=et&&stringSupplant(et,{service:it})),!(!st||!lt)&&(this.setState({detailsLoading:!0}),JaegerAPI.fetchDecoration(st).then(ut=>{let ft=!1,At=get_1$1(ut,lt);At===void 0&&(At=`\`${lt}\` not found in response`,ft=!0);const vt=ct?get_1$1(ut,ct,[]):[];this.setState({columnDefs:vt,details:At,detailsErred:ft,detailsLoading:!1})}).catch(ut=>{this.setState({details:`Unable to fetch decoration: ${ut.message||ut}`,detailsErred:!0,detailsLoading:!1})}))}render(){const{decorationProgressbar:$,decorationSchema:_e,decorationValue:et,operation:tt,service:rt}=this.props,{detailLink:at}=_e,{width:nt=.3}=this.state,it=tt&&!Array.isArray(tt)?tt:void 0;return jsxRuntimeExports.jsxs("div",{className:"Ddg--DetailsPanel",style:{width:`${nt*100}vw`},children:[jsxRuntimeExports.jsxs("div",{className:"Ddg--DetailsPanel--SvcOpHeader",children:[jsxRuntimeExports.jsx(BreakableText,{text:rt}),it&&jsxRuntimeExports.jsx(BreakableText,{text:`::${it}`})]}),jsxRuntimeExports.jsxs("div",{className:"Ddg--DetailsPanel--DecorationHeader",children:[jsxRuntimeExports.jsx("span",{children:stringSupplant(_e.name,{service:rt,operation:it})}),at&&jsxRuntimeExports.jsx(Tooltip$1,{arrowPointAtCenter:!0,title:"More Info",children:jsxRuntimeExports.jsx("a",{className:"Ddg--DetailsPanel--DetailLink",href:stringSupplant(at,{service:rt,operation:it}),target:"_blank",rel:"noreferrer noopener",children:jsxRuntimeExports.jsx(NewWindowIcon,{})})})]}),$?jsxRuntimeExports.jsx("div",{className:"Ddg--DetailsPanel--PercentCircleWrapper",children:$}):jsxRuntimeExports.jsx("span",{className:"Ddg--DetailsPanel--errorMsg",children:et}),this.state.detailsLoading&&jsxRuntimeExports.jsx("div",{className:"Ddg--DetailsPanel--LoadingWrapper",children:jsxRuntimeExports.jsx(LoadingIndicator,{className:"Ddg--DetailsPanel--LoadingIndicator"})}),this.state.details&&jsxRuntimeExports.jsx(DetailsCard,{className:`Ddg--DetailsPanel--DetailsCard ${this.state.detailsErred?"is-error":""}`,columnDefs:this.state.columnDefs,details:this.state.details,header:"Details"}),jsxRuntimeExports.jsx(VerticalResizer,{max:.8,min:.1,onChange:this.onResize,position:nt,rightSide:!0})]})}}const DetailsPanel=connect$3(extractDecorationFromState)(UnconnectedDetailsPanel),CATEGORY_DECORATION_SELECTION="jaeger/ux/ddg/decoration-selection",CATEGORY_DECORATION_VIEW_DETAILS="jaeger/ux/ddg/decoration-view-details",ACTION_CLEAR$1="clear",ACTION_SET$1="set";function trackDecorationSelected(o){o?trackEvent(CATEGORY_DECORATION_SELECTION,ACTION_SET$1,o):trackEvent(CATEGORY_DECORATION_SELECTION,ACTION_CLEAR$1)}function trackDecorationViewDetails(o){o?trackEvent(CATEGORY_DECORATION_VIEW_DETAILS,ACTION_SET$1):trackEvent(CATEGORY_DECORATION_VIEW_DETAILS,ACTION_CLEAR$1)}const index$q="";class SidePanel extends reactExports.PureComponent{constructor($){super($),this.clearSelected=()=>{trackDecorationViewDetails(),this.props.clearSelected()},this.selectDecoration=tt=>{trackDecorationSelected(tt),this.props.selectDecoration(tt)},this.openInfoModal=()=>{Modal.info({content:jsxRuntimeExports.jsx(Table$1,{columns:[{dataIndex:"acronym",key:"acronym",title:"Acronym"},{dataIndex:"name",key:"name",title:"Name"}],dataSource:this.decorations,rowKey:tt=>tt.id}),maskClosable:!0,title:"Decoration Options",width:"60vw"})};const{selectedDecoration:_e,selectedVertex:et}=$;_e&&trackDecorationSelected(_e),et&&trackDecorationViewDetails(et),this.decorations=getConfigValue("pathAgnosticDecorations")}componentDidUpdate($){$.selectedVertex!==this.props.selectedVertex&&trackDecorationViewDetails(this.props.selectedVertex)}render(){if(!this.decorations)return null;const{selectedDecoration:$,selectedVertex:_e}=this.props,et=this.decorations.find(({id:tt})=>tt===$);return jsxRuntimeExports.jsxs("div",{className:"Ddg--SidePanel",children:[jsxRuntimeExports.jsxs("div",{className:"Ddg--SidePanel--Btns",children:[jsxRuntimeExports.jsx("button",{className:`Ddg--SidePanel--closeBtn ${_e&&et?"":"is-hidden"}`,type:"button",onClick:this.clearSelected,children:jsxRuntimeExports.jsx(MdExitToApp,{})}),jsxRuntimeExports.jsxs("div",{className:"Ddg--SidePanel--DecorationBtns",children:[this.decorations.map(({acronym:tt,id:rt})=>jsxRuntimeExports.jsx("button",{className:`Ddg--SidePanel--decorationBtn ${rt===$?"is-selected":""}`,type:"button",onClick:()=>this.selectDecoration(rt),children:tt},rt)),jsxRuntimeExports.jsx("button",{className:"Ddg--SidePanel--decorationBtn",type:"button",onClick:()=>this.selectDecoration(),children:"Clear"},"clearBtn")]}),jsxRuntimeExports.jsx("button",{className:"Ddg--SidePanel--infoBtn",onClick:this.openInfoModal,type:"button",children:jsxRuntimeExports.jsx(MdInfoOutline,{})})]}),jsxRuntimeExports.jsx("div",{className:`Ddg--SidePanel--Details ${_e&&et?".is-expanded":""}`,children:_e&&et&&jsxRuntimeExports.jsx(DetailsPanel,{decorationSchema:et,operation:_e.operation,service:_e.service})})]})}}const actionTypes$3=generateActionTypes("@jaeger-ui/DEEP-DEPENDENCY-GRAPH",["ADD_VIEW_MODIFIER","CLEAR_VIEW_MODIFIERS_FROM_INDICES","REMOVE_VIEW_MODIFIER","REMOVE_VIEW_MODIFIER_FROM_INDICES"]),addViewModifier$1=identity_1,clearViewModifiersFromIndices=identity_1,removeViewModifier=identity_1,removeViewModifierFromIndices=identity_1,fullActions$3=createActions({[actionTypes$3.ADD_VIEW_MODIFIER]:addViewModifier$1,[actionTypes$3.CLEAR_VIEW_MODIFIERS_FROM_INDICES]:clearViewModifiersFromIndices,[actionTypes$3.REMOVE_VIEW_MODIFIER]:removeViewModifier,[actionTypes$3.REMOVE_VIEW_MODIFIER_FROM_INDICES]:removeViewModifierFromIndices}),ddgActions=fullActions$3.jaegerUi.deepDependencyGraph;function getStateEntryKey({service:o,operation:$="*",start:_e,end:et}){return`${o} ${$} ${_e} -${et}`}const index$p="",_DeepDependencyGraphPageImpl=class extends reactExports.PureComponent{constructor(o){super(o),this.state={},this.clearOperation=()=>{trackClearOperation(),this.updateUrlState({operation:void 0})},this.focusPathsThroughVertex=nt=>{const it=this.getVisiblePathElems(nt);if(!it)return;trackFocusPaths();const ot=[].concat(...it.map(({memberOf:st})=>st.members.map(({visibilityIdx:lt})=>lt)));this.updateUrlState({visEncoding:encode(ot)})},this.getGenerationVisibility=(nt,it)=>{const{graph:ot,urlState:st}=this.props;return ot?ot.getGenerationVisibility(nt,it,st.visEncoding):null},this.getVisiblePathElems=nt=>{const{graph:it,urlState:ot}=this.props;if(it)return it.getVertexVisiblePathElems(nt,ot.visEncoding)},this.hideVertex=nt=>{const{graph:it,urlState:ot}=this.props;if(!it)return;const st=it.getVisWithoutVertex(nt,ot.visEncoding);st&&(trackHide(),this.updateUrlState({visEncoding:st}))},this.setDecoration=nt=>this.updateUrlState({decoration:nt}),this.setDensity=nt=>this.updateUrlState({density:nt}),this.setDistance=(nt,it)=>{const{graphState:ot}=this.props,{visEncoding:st}=this.props.urlState;if(ot&&ot.state===fetchedState.DONE){const{model:lt}=ot;this.updateUrlState({visEncoding:encodeDistance({ddgModel:lt,direction:it,distance:nt,prevVisEncoding:st})})}},this.setOperation=nt=>{this.updateUrlState({operation:nt,visEncoding:void 0})},this.setService=nt=>{const{fetchServiceServerOps:it,serverOpsForService:ot}=this.props;ot&&!Reflect.has(ot,nt)&&it&&it(nt),this.updateUrlState({operation:void 0,service:nt,visEncoding:void 0}),trackSetService()},this.setViewModifier=(nt,it,ot)=>{const{addViewModifier:st,graph:lt,removeViewModifierFromIndices:ct,urlState:ut}=this.props,ft=ot?st:ct,{service:At,operation:vt}=ut;!ft||!lt||!At||ft({operation:vt,service:At,viewModifier:it,visibilityIndices:nt,end:0,start:0})},this.selectVertex=nt=>{this.setState({selectedVertex:nt})},this.showVertices=nt=>{const{graph:it,urlState:ot}=this.props,{visEncoding:st}=ot;it&&this.updateUrlState({visEncoding:it.getVisWithVertices(nt,st)})},this.toggleShowOperations=nt=>this.updateUrlState({showOp:nt}),this.updateGenerationVisibility=(nt,it)=>{const{graph:ot,urlState:st}=this.props;if(!ot)return;const lt=ot.getVisWithUpdatedGeneration(nt,it,st.visEncoding);if(!lt)return;const{visEncoding:ct,update:ut}=lt;ut===ECheckedStatus.Empty?trackHide(it):trackShow(it),this.updateUrlState({visEncoding:ct})},this.updateUrlState=nt=>{const{baseUrl:it,extraUrlArgs:ot,graphState:st,history:lt,uiFind:ct,urlState:ut}=this.props,ft={uiFind:ct,...ut,...nt,...ot},At=get_1$1(st,"model.hash");At&&(ft.hash=At),lt.push(getUrl$4(ft,it))},_DeepDependencyGraphPageImpl.fetchModelIfStale(o);const{fetchServices:$,fetchServiceServerOps:_e,serverOpsForService:et,services:tt,urlState:rt}=o,{service:at}=rt;!tt&&$&&$(),at&&et&&!Reflect.has(et,at)&&_e&&_e(at)}static fetchModelIfStale(o){const{fetchDeepDependencyGraph:$,graphState:_e=null,urlState:et}=o,{service:tt,operation:rt}=et;!_e&&tt&&$&&$({service:tt,operation:rt,start:0,end:0})}componentDidUpdate(){_DeepDependencyGraphPageImpl.fetchModelIfStale(this.props)}render(){const{selectedVertex:o}=this.state,{baseUrl:$,extraUrlArgs:_e,graph:et,graphState:tt,serverOpsForService:rt,services:at,showOp:nt,uiFind:it,urlState:ot,showSvcOpsHeader:st}=this.props,{density:lt,operation:ct,service:ut,visEncoding:ft}=ot,At=tt&&tt.state===fetchedState.DONE?tt.model.distanceToPathElems:void 0,vt=et&&et.getVisibleUiFindMatches(it,ft),ht=et&&et.getHiddenUiFindMatches(it,ft);let bt=null,pt="";if(!tt)bt=jsxRuntimeExports.jsx("h1",{children:"Enter query above"});else if(tt.state===fetchedState.DONE&&et){const{edges:dt,vertices:_t}=et.getVisible(ft),{viewModifiers:Ct}=tt,{edges:gt,vertices:yt}=et.getDerivedViewModifiers(ft,Ct);if(_t.length>1)pt="is-horizontal",bt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Graph,{baseUrl:$,density:lt,edges:dt,edgesViewModifiers:gt,extraUrlArgs:_e,focusPathsThroughVertex:this.focusPathsThroughVertex,getGenerationVisibility:this.getGenerationVisibility,getVisiblePathElems:this.getVisiblePathElems,hideVertex:this.hideVertex,selectVertex:this.selectVertex,setOperation:this.setOperation,setViewModifier:this.setViewModifier,uiFindMatches:vt,updateGenerationVisibility:this.updateGenerationVisibility,vertices:_t,verticesViewModifiers:yt},JSON.stringify({density:lt,showOp:nt,service:ut,operation:ct,visEncoding:ft})),jsxRuntimeExports.jsx(SidePanel,{clearSelected:this.selectVertex,selectDecoration:this.setDecoration,selectedDecoration:ot.decoration,selectedVertex:o})]});else if(tt.model.distanceToPathElems.has(-1)||tt.model.distanceToPathElems.has(1))bt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("h1",{className:"Ddg--center",children:"There is nothing visible to show"}),jsxRuntimeExports.jsx("p",{className:"Ddg--center",children:"Select at least one hop to view"})]});else{const xt=getConfigValue("search.maxLookback.value"),Et=getUrl$2({lookback:xt,minDuration:"0ms",operation:ct,service:ut,tags:'{"span.kind":"server"}'});bt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("h1",{className:"Ddg--center",children:"There are no dependencies"}),jsxRuntimeExports.jsxs("p",{className:"Ddg--center",children:["No traces were found that contain ",ut,ct&&`:${ct}`," and any other service where span.kind is ‘server’."]}),jsxRuntimeExports.jsx("p",{className:"Ddg--center",children:jsxRuntimeExports.jsx("a",{href:Et,children:"Confirm by searching"})})]})}}else tt.state===fetchedState.LOADING?bt=jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0,className:"u-mt-vast"}):tt.state===fetchedState.ERROR?bt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(ErrorMessage,{error:tt.error,className:"ub-m4"}),jsxRuntimeExports.jsx("p",{className:"Ddg--center",children:"If you are using an adblocker, whitelist Jaeger and retry."})]}):bt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("h1",{className:"Ddg--center",children:"Unknown graphState:"}),jsxRuntimeExports.jsx("p",{className:"Ddg--center",children:JSON.stringify(tt,null,2)})]});return jsxRuntimeExports.jsxs("div",{className:"Ddg",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(Header$2,{clearOperation:this.clearOperation,density:lt,distanceToPathElems:At,hiddenUiFindMatches:ht,operation:ct,operations:rt&&rt[ut||""],service:ut,services:at,setDensity:this.setDensity,setDistance:this.setDistance,setOperation:this.setOperation,setService:this.setService,showOperations:nt,showParameters:st,showVertices:this.showVertices,toggleShowOperations:this.toggleShowOperations,uiFindCount:it?vt&&vt.size:void 0,visEncoding:ft})}),jsxRuntimeExports.jsx("div",{className:`Ddg--graphWrapper ${pt}`,children:bt})]})}};let DeepDependencyGraphPageImpl=_DeepDependencyGraphPageImpl;DeepDependencyGraphPageImpl.defaultProps={showSvcOpsHeader:!0,baseUrl:ROUTE_PATH$4};function mapStateToProps$a(o,$){const{services:_e}=o,{services:et,serverOpsForService:tt}=_e,rt=getUrlState$2($.location.search),{density:at,operation:nt,service:it,showOp:ot}=rt,st=ot!==void 0?ot:nt!==void 0;let lt;it&&(lt=get_1$1(o.ddg,getStateEntryKey({service:it,operation:nt,start:0,end:0})));let ct;return lt&<.state===fetchedState.DONE&&(ct=makeGraph(lt.model,st,at)),{graph:ct,graphState:lt,serverOpsForService:tt,services:et,showOp:st,urlState:sanitizeUrlState(rt,get_1$1(lt,"model.hash")),...extractUiFindFromState(o)}}function mapDispatchToProps$9(o){const{fetchDeepDependencyGraph:$,fetchServiceServerOps:_e,fetchServices:et}=bindActionCreators(jaegerApiActions,o),{addViewModifier:tt,removeViewModifierFromIndices:rt}=bindActionCreators(ddgActions,o);return{addViewModifier:tt,fetchDeepDependencyGraph:$,fetchServiceServerOps:_e,fetchServices:et,removeViewModifierFromIndices:rt}}const DeepDependencies=connect$3(mapStateToProps$a,mapDispatchToProps$9)(DeepDependencyGraphPageImpl),BannerText$1="";class BannerText extends reactExports.PureComponent{render(){const{bannerText:$}=this.props;if(!$)return null;const{styling:_e=void 0,value:et}=typeof $=="object"?$:{value:$};return jsxRuntimeExports.jsx("div",{className:"BannerText",style:_e,children:et})}}const index$o="";var TouchFeedback=function(o){_default$8($,o);function $(){_default$c(this,$);var _e=_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments));return _e.state={active:!1},_e.onTouchStart=function(et){_e.triggerEvent("TouchStart",!0,et)},_e.onTouchMove=function(et){_e.triggerEvent("TouchMove",!1,et)},_e.onTouchEnd=function(et){_e.triggerEvent("TouchEnd",!1,et)},_e.onTouchCancel=function(et){_e.triggerEvent("TouchCancel",!1,et)},_e.onMouseDown=function(et){_e.triggerEvent("MouseDown",!0,et)},_e.onMouseUp=function(et){_e.triggerEvent("MouseUp",!1,et)},_e.onMouseLeave=function(et){_e.triggerEvent("MouseLeave",!1,et)},_e}return _default$b($,[{key:"componentDidUpdate",value:function(){this.props.disabled&&this.state.active&&this.setState({active:!1})}},{key:"triggerEvent",value:function(et,tt,rt){var at="on"+et,nt=this.props.children;nt.props[at]&&nt.props[at](rt),tt!==this.state.active&&this.setState({active:tt})}},{key:"render",value:function(){var et=this.props,tt=et.children,rt=et.disabled,at=et.activeClassName,nt=et.activeStyle,it=rt?void 0:{onTouchStart:this.onTouchStart,onTouchMove:this.onTouchMove,onTouchEnd:this.onTouchEnd,onTouchCancel:this.onTouchCancel,onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onMouseLeave:this.onMouseLeave},ot=React$k.Children.only(tt);if(!rt&&this.state.active){var st=ot.props,lt=st.style,ct=st.className;return nt!==!1&&(nt&&(lt=_default$bE({},lt,nt)),ct=classnamesExports(ct,at)),React$k.cloneElement(ot,_default$bE({className:ct,style:lt},it))}return React$k.cloneElement(ot,it)}}]),$}(React$k.Component);TouchFeedback.defaultProps={disabled:!1};var InputHandler=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,o.apply(this,arguments))}return $.prototype.render=function(){var et=this.props,tt=et.prefixCls,rt=et.disabled,at=_default$d(et,["prefixCls","disabled"]);return React$k.createElement(TouchFeedback,{disabled:rt,activeClassName:tt+"-handler-active"},React$k.createElement("span",at))},$}(reactExports.Component);InputHandler.propTypes={prefixCls:propTypesExports.string,disabled:propTypesExports.bool,onTouchStart:propTypesExports.func,onTouchEnd:propTypesExports.func,onMouseDown:propTypesExports.func,onMouseUp:propTypesExports.func,onMouseLeave:propTypesExports.func};function noop$5(){}function preventDefault$1(o){o.preventDefault()}function defaultParser(o){return o.replace(/[^\w\.-]+/g,"")}var SPEED=200,DELAY=600,MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||Math.pow(2,53)-1,isValidProps=function($){return $!=null},isEqual$1=function($,_e){return _e===$||typeof _e=="number"&&typeof $=="number"&&isNaN(_e)&&isNaN($)},InputNumber$1=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,o.call(this,_e));_initialiseProps$1.call(et);var tt=void 0;"value"in _e?tt=_e.value:tt=_e.defaultValue,et.state={focused:_e.autoFocus};var rt=et.getValidValue(et.toNumber(tt));return et.state=_default$bE({},et.state,{inputValue:et.toPrecisionAsStep(rt),value:rt}),et}return $.prototype.componentDidMount=function(){this.componentDidUpdate()},$.prototype.componentDidUpdate=function(et){var tt=this.props,rt=tt.value,at=tt.onChange,nt=tt.max,it=tt.min,ot=this.state.focused;if(et){if(!isEqual$1(et.value,rt)||!isEqual$1(et.max,nt)||!isEqual$1(et.min,it)){var st=ot?rt:this.getValidValue(rt),lt=void 0;this.pressingUpOrDown?lt=st:this.inputting?lt=this.rawInput:lt=this.toPrecisionAsStep(st),this.setState({value:st,inputValue:lt})}var ct="value"in this.props?rt:this.state.value;"max"in this.props&&et.max!==nt&&typeof ct=="number"&&ct>nt&&at&&at(nt),"min"in this.props&&et.min!==it&&typeof ct=="number"&&ct1&&arguments[1]!==void 0?arguments[1]:this.props.min,rt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.props.max,at=parseFloat(et,10);return isNaN(at)?et:(atrt&&(at=rt),at)},$.prototype.setValue=function(et,tt){var rt=this.props.precision,at=this.isNotCompleteNumber(parseFloat(et,10))?null:parseFloat(et,10),nt=this.state,it=nt.value,ot=it===void 0?null:it,st=nt.inputValue,lt=st===void 0?null:st,ct=typeof at=="number"?at.toFixed(rt):""+at,ut=at!==ot||ct!==""+lt;return"value"in this.props?this.setState({inputValue:this.toPrecisionAsStep(this.state.value)},tt):this.setState({value:at,inputValue:this.toPrecisionAsStep(et)},tt),ut&&this.props.onChange(at),at},$.prototype.getPrecision=function(et){if(isValidProps(this.props.precision))return this.props.precision;var tt=et.toString();if(tt.indexOf("e-")>=0)return parseInt(tt.slice(tt.indexOf("e-")+2),10);var rt=0;return tt.indexOf(".")>=0&&(rt=tt.length-tt.indexOf(".")-1),rt},$.prototype.getMaxPrecision=function(et){var tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,rt=this.props,at=rt.precision,nt=rt.step;if(isValidProps(at))return at;var it=this.getPrecision(tt),ot=this.getPrecision(nt),st=this.getPrecision(et);return et?Math.max(st,it+ot):it+ot},$.prototype.getPrecisionFactor=function(et){var tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,rt=this.getMaxPrecision(et,tt);return Math.pow(10,rt)},$.prototype.fixCaret=function(et,tt){if(!(et===void 0||tt===void 0||!this.input||!this.input.value))try{var rt=this.input.selectionStart,at=this.input.selectionEnd;(et!==rt||tt!==at)&&this.input.setSelectionRange(et,tt)}catch(nt){}},$.prototype.focus=function(){this.input.focus(),this.recordCursorPosition()},$.prototype.blur=function(){this.input.blur()},$.prototype.select=function(){this.input.select()},$.prototype.formatWrapper=function(et){return this.props.formatter?this.props.formatter(et):et},$.prototype.toPrecisionAsStep=function(et){if(this.isNotCompleteNumber(et)||et==="")return et;var tt=Math.abs(this.getMaxPrecision(et));return isNaN(tt)?et.toString():Number(et).toFixed(tt)},$.prototype.isNotCompleteNumber=function(et){return isNaN(et)||et===""||et===null||et&&et.toString().indexOf(".")===et.toString().length-1},$.prototype.toNumber=function(et){var tt=this.props.precision,rt=this.state.focused,at=et&&et.length>16&&rt;return this.isNotCompleteNumber(et)||at?et:isValidProps(tt)?Math.round(et*Math.pow(10,tt))/Math.pow(10,tt):Number(et)},$.prototype.upStep=function(et,tt){var rt=this.props.step,at=this.getPrecisionFactor(et,tt),nt=Math.abs(this.getMaxPrecision(et,tt)),it=((at*et+at*rt*tt)/at).toFixed(nt);return this.toNumber(it)},$.prototype.downStep=function(et,tt){var rt=this.props.step,at=this.getPrecisionFactor(et,tt),nt=Math.abs(this.getMaxPrecision(et,tt)),it=((at*et-at*rt*tt)/at).toFixed(nt);return this.toNumber(it)},$.prototype.step=function(et,tt){var rt=this,at=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,nt=arguments[3];this.stop(),tt&&(tt.persist(),tt.preventDefault());var it=this.props;if(!it.disabled){var ot=this.getCurrentValidValue(this.state.inputValue)||0;if(!this.isNotCompleteNumber(ot)){var st=this[et+"Step"](ot,at),lt=st>it.max||stit.max?st=it.max:st=tt.max&&(ut=rt+"-handler-up-disabled"),bt<=tt.min&&(ft=rt+"-handler-down-disabled")}var pt={};for(var dt in tt)tt.hasOwnProperty(dt)&&(dt.substr(0,5)==="data-"||dt.substr(0,5)==="aria-"||dt==="role")&&(pt[dt]=tt[dt]);var _t=!tt.readOnly&&!tt.disabled,Ct=this.composing?ht:this.getInputDisplayValue(),gt=void 0,yt=void 0;it?(gt={onTouchStart:_t&&!ut?this.up:noop$5,onTouchEnd:this.stop},yt={onTouchStart:_t&&!ft?this.down:noop$5,onTouchEnd:this.stop}):(gt={onMouseDown:_t&&!ut?this.up:noop$5,onMouseUp:this.stop,onMouseLeave:this.stop},yt={onMouseDown:_t&&!ft?this.down:noop$5,onMouseUp:this.stop,onMouseLeave:this.stop});var xt=!!ut||at||nt,Et=!!ft||at||nt;return React$k.createElement("div",{className:ct,style:tt.style,title:tt.title,onMouseEnter:tt.onMouseEnter,onMouseLeave:tt.onMouseLeave,onMouseOver:tt.onMouseOver,onMouseOut:tt.onMouseOut,onCompositionStart:this.onComposition,onCompositionEnd:this.onComposition},React$k.createElement("div",{className:rt+"-handler-wrap"},React$k.createElement(InputHandler,_default$bE({ref:this.saveUp,disabled:xt,prefixCls:rt,unselectable:"unselectable"},gt,{role:"button","aria-label":"Increase Value","aria-disabled":!!xt,className:rt+"-handler "+rt+"-handler-up "+ut}),st||React$k.createElement("span",{unselectable:"unselectable",className:rt+"-handler-up-inner",onClick:preventDefault$1})),React$k.createElement(InputHandler,_default$bE({ref:this.saveDown,disabled:Et,prefixCls:rt,unselectable:"unselectable"},yt,{role:"button","aria-label":"Decrease Value","aria-disabled":!!Et,className:rt+"-handler "+rt+"-handler-down "+ft}),lt||React$k.createElement("span",{unselectable:"unselectable",className:rt+"-handler-down-inner",onClick:preventDefault$1}))),React$k.createElement("div",{className:rt+"-input-wrap"},React$k.createElement("input",_default$bE({role:"spinbutton","aria-valuemin":tt.min,"aria-valuemax":tt.max,"aria-valuenow":vt,required:tt.required,type:tt.type,placeholder:tt.placeholder,onClick:tt.onClick,onMouseUp:this.onMouseUp,className:rt+"-input",tabIndex:tt.tabIndex,autoComplete:ot,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:_t?this.onKeyDown:noop$5,onKeyUp:_t?this.onKeyUp:noop$5,autoFocus:tt.autoFocus,maxLength:tt.maxLength,readOnly:tt.readOnly,disabled:tt.disabled,max:tt.max,min:tt.min,step:tt.step,name:tt.name,title:tt.title,id:tt.id,onChange:this.onChange,ref:this.saveInput,value:Ct,pattern:tt.pattern,inputMode:tt.inputMode},pt))))},$}(React$k.Component);InputNumber$1.propTypes={value:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string]),defaultValue:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string]),focusOnUpDown:propTypesExports.bool,autoFocus:propTypesExports.bool,onChange:propTypesExports.func,onPressEnter:propTypesExports.func,onKeyDown:propTypesExports.func,onKeyUp:propTypesExports.func,prefixCls:propTypesExports.string,tabIndex:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),disabled:propTypesExports.bool,onFocus:propTypesExports.func,onBlur:propTypesExports.func,readOnly:propTypesExports.bool,max:propTypesExports.number,min:propTypesExports.number,step:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string]),upHandler:propTypesExports.node,downHandler:propTypesExports.node,useTouch:propTypesExports.bool,formatter:propTypesExports.func,parser:propTypesExports.func,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseOver:propTypesExports.func,onMouseOut:propTypesExports.func,onMouseUp:propTypesExports.func,precision:propTypesExports.number,required:propTypesExports.bool,pattern:propTypesExports.string,decimalSeparator:propTypesExports.string,inputMode:propTypesExports.string};InputNumber$1.defaultProps={focusOnUpDown:!0,useTouch:!1,prefixCls:"rc-input-number",min:-MAX_SAFE_INTEGER,step:1,style:{},onChange:noop$5,onKeyDown:noop$5,onPressEnter:noop$5,onFocus:noop$5,onBlur:noop$5,parser:defaultParser,required:!1,autoComplete:"off"};var _initialiseProps$1=function(){var $=this;this.onKeyDown=function(_e){for(var et=arguments.length,tt=Array(et>1?et-1:0),rt=1;rt1?et-1:0),rt=1;rt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$e(o){return _getPrototypeOf$e=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$e(o)}var __rest$9=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt{this.setState({ownInputValue:void 0}),this.props.setLookback($)},350),this.handleInputChange=$=>{typeof $!="string"&&(this.setState({ownInputValue:$}),this.setLookback($))}}render(){const{lookback:$,service:_e,services:et,setService:tt}=this.props,{ownInputValue:rt}=this.state,at=rt!==void 0?rt:$;return jsxRuntimeExports.jsxs("header",{className:"QualityMetrics--Header",children:[jsxRuntimeExports.jsx(NameSelector,{label:"Service",placeholder:"Select a service…",value:_e||null,setValue:tt,required:!0,options:et||[]}),jsxRuntimeExports.jsx("label",{className:"QualityMetrics--Header--LookbackLabel",htmlFor:"inputNumber",children:"Lookback:"}),jsxRuntimeExports.jsx(InputNumber,{id:"inputNumber",onChange:this.handleInputChange,min:1,value:at}),jsxRuntimeExports.jsx("span",{className:"QualityMetrics--Header--LookbackSuffix",children:"(in hours)"})]})}}const CountCard="";let ScoreCard$2=class extends reactExports.PureComponent{render(){const{count:$,title:_e,examples:et}=this.props;return $===void 0||_e===void 0?null:jsxRuntimeExports.jsxs("div",{className:"CountCard",children:[jsxRuntimeExports.jsx("span",{className:"CountCard--TitleHeader",children:_e}),jsxRuntimeExports.jsx("span",{className:"CountCard--Count",children:$}),jsxRuntimeExports.jsx(ExamplesLink,{examples:et,includeText:!0})]})}};const MetricCard$1="",dividToFixedFloorPercentage=(o,$)=>{const _e=`${o/(o+$)*100}.0`;return`${_e.substring(0,_e.indexOf(".")+2)}%`};class MetricCard extends reactExports.PureComponent{render(){const{metric:{name:$,description:_e,metricDocumentationLink:et,passCount:tt,passExamples:rt,failureCount:at,failureExamples:nt,exemptionCount:it,exemptionExamples:ot,details:st}}=this.props;return jsxRuntimeExports.jsxs("div",{className:"MetricCard",children:[jsxRuntimeExports.jsx("div",{className:"MetricCard--CircularProgressbarWrapper",children:jsxRuntimeExports.jsx(CircularProgressbar,{backgroundHue:tt===0?0:void 0,decorationHue:tt===0?0:120,maxValue:tt+at,text:dividToFixedFloorPercentage(tt,at),value:tt})}),jsxRuntimeExports.jsxs("div",{className:"MetricCard--Body",children:[jsxRuntimeExports.jsxs("span",{className:"MetricCard--TitleHeader",children:[$," ",jsxRuntimeExports.jsx(Tooltip$1,{arrowPointAtCenter:!0,title:"Metric Documentation",children:jsxRuntimeExports.jsx("a",{href:et,target:"_blank",rel:"noreferrer noopener",children:jsxRuntimeExports.jsx(NewWindowIcon,{})})})]}),jsxRuntimeExports.jsx("p",{className:"MetricCard--Description",children:_e}),jsxRuntimeExports.jsxs("div",{className:"MetricCard--CountsWrapper",children:[jsxRuntimeExports.jsx(ScoreCard$2,{count:tt,examples:rt,title:"Passing"}),jsxRuntimeExports.jsx(ScoreCard$2,{count:at,examples:nt,title:"Failing"}),jsxRuntimeExports.jsx(ScoreCard$2,{count:it,examples:ot,title:"Exemptions"})]}),st&&st.map(lt=>!!(lt.rows&<.rows.length)&&jsxRuntimeExports.jsx(DetailsCard,{className:"MetricCard--Details",collapsible:!0,columnDefs:lt.columns,description:lt.description,details:lt.rows,header:lt.header||"Details"},`${lt.description}${JSON.stringify(lt.columns)}`))]})]})}}const ScoreCard$1="";class ScoreCard extends reactExports.PureComponent{render(){const{link:$,score:{label:_e,max:et,value:tt}}=this.props,rt=tt{if(!tt||typeof tt=="string"||tt<1||tt!==Math.floor(tt))return;const{history:rt,service:at=""}=this.props;rt.push(getUrl$3({lookback:tt,service:at}))},this.setService=tt=>{const{history:rt,lookback:at}=this.props;rt.push(getUrl$3({lookback:at,service:tt}))};const{fetchServices:_e,services:et}=$;et||_e()}componentDidMount(){this.fetchQualityMetrics()}componentDidUpdate($){($.service!==this.props.service||$.lookback!==this.props.lookback)&&(this.setState({qualityMetrics:void 0,error:void 0,loading:!1}),this.fetchQualityMetrics())}fetchQualityMetrics(){const{lookback:$,service:_e}=this.props;_e&&(this.setState({loading:!0}),JaegerAPI.fetchQualityMetrics(_e,$).then(et=>{this.setState({qualityMetrics:et,loading:!1})}).catch(et=>{this.setState({error:et,loading:!1})}))}render(){const{lookback:$,service:_e,services:et}=this.props,{qualityMetrics:tt,error:rt,loading:at}=this.state;return jsxRuntimeExports.jsxs("div",{className:"QualityMetrics",children:[jsxRuntimeExports.jsx(Header,{lookback:$,service:_e,services:et,setService:this.setService,setLookback:this.setLookback}),tt&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(BannerText,{bannerText:tt.bannerText}),jsxRuntimeExports.jsxs("div",{className:"QualityMetrics--Body",children:[jsxRuntimeExports.jsx("div",{className:"QualityMetrics--ScoreCards",children:tt.scores.map(nt=>jsxRuntimeExports.jsx(ScoreCard,{score:nt,link:tt.traceQualityDocumentationLink},nt.key))}),jsxRuntimeExports.jsx("div",{className:"QualityMetrics--MetricCards",children:tt.metrics.map(nt=>jsxRuntimeExports.jsx(MetricCard,{metric:nt},nt.name))}),tt.clients&&jsxRuntimeExports.jsx(DetailsCard,{className:"QualityMetrics--ClientVersions",columnDefs:[{key:"version",label:"Version"},{key:"minVersion",label:"Minimum Version"},{key:"count",label:"Count"},{key:"examples",label:"Examples",preventSort:!0}],details:tt.clients&&tt.clients.map(nt=>({...nt,examples:{value:jsxRuntimeExports.jsx(ExamplesLink,{examples:nt.examples},`${nt.version}--examples`)}})),header:"Client Versions"})]})]}),at&&jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0}),rt&&jsxRuntimeExports.jsx("div",{className:"QualityMetrics--Error",children:rt.message})]})}}function mapStateToProps$9(o,$){const{services:{services:_e}}=o;return{...getUrlState$1($.location.search),services:_e}}function mapDispatchToProps$8(o){const{fetchServices:$}=bindActionCreators(jaegerApiActions,o);return{fetchServices:$}}const QualityMetrics=connect$3(mapStateToProps$9,mapDispatchToProps$8)(UnconnectedQualityMetrics);var assign=make_assign(),create$1=make_create(),trim$2=make_trim(),Global$5=typeof window<"u"?window:commonjsGlobal,util$6={assign,create:create$1,trim:trim$2,bind:bind$2,slice:slice$5,each:each$7,map:map$4,pluck:pluck$1,isList:isList$1,isFunction:isFunction$2,isObject:isObject$5,Global:Global$5};function make_assign(){return Object.assign?Object.assign:function($,_e,et,tt){for(var rt=1;rt"u"?null:console;if(o){var $=o.warn?o.warn:o.log;$.apply(o,arguments)}}function createStore(o,$,_e){_e||(_e=""),o&&!isList(o)&&(o=[o]),$&&!isList($)&&($=[$]);var et=_e?"__storejs_"+_e+"_":"",tt=_e?new RegExp("^"+et):null,rt=/^[a-zA-Z0-9_\-]*$/;if(!rt.test(_e))throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes");var at={_namespacePrefix:et,_namespaceRegexp:tt,_testStorage:function(it){try{var ot="__storejs__test__";it.write(ot,ot);var st=it.read(ot)===ot;return it.remove(ot),st}catch(lt){return!1}},_assignPluginFnProp:function(it,ot){var st=this[ot];this[ot]=function(){var ct=slice$4(arguments,0),ut=this;function ft(){if(st)return each$6(arguments,function(vt,ht){ct[ht]=vt}),st.apply(ut,ct)}var At=[ft].concat(ct);return it.apply(ut,At)}},_serialize:function(it){return JSON.stringify(it)},_deserialize:function(it,ot){if(!it)return ot;var st="";try{st=JSON.parse(it)}catch(lt){st=it}return st!==void 0?st:ot},_addStorage:function(it){this.enabled||this._testStorage(it)&&(this.storage=it,this.enabled=!0)},_addPlugin:function(it){var ot=this;if(isList(it)){each$6(it,function(ct){ot._addPlugin(ct)});return}var st=pluck(this.plugins,function(ct){return it===ct});if(!st){if(this.plugins.push(it),!isFunction$1(it))throw new Error("Plugins must be function values that return objects");var lt=it.call(this);if(!isObject$4(lt))throw new Error("Plugins must return an object of function properties");each$6(lt,function(ct,ut){if(!isFunction$1(ct))throw new Error("Bad plugin property: "+ut+" from plugin "+it.name+". Plugins should only return functions.");ot._assignPluginFnProp(ct,ut)})}},addStorage:function(it){_warn("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(it)}},nt=create(at,storeAPI,{plugins:[]});return nt.raw={},each$6(nt,function(it,ot){isFunction$1(it)&&(nt.raw[ot]=bind$1(nt,it))}),each$6(o,function(it){nt._addStorage(it)}),each$6($,function(it){nt._addPlugin(it)}),nt}var util$4=util$6,Global$4=util$4.Global,localStorage_1={name:"localStorage",read:read$5,write:write$5,each:each$5,remove:remove$5,clearAll:clearAll$5};function localStorage$1(){return Global$4.localStorage}function read$5(o){return localStorage$1().getItem(o)}function write$5(o,$){return localStorage$1().setItem(o,$)}function each$5(o){for(var $=localStorage$1().length-1;$>=0;$--){var _e=localStorage$1().key($);o(read$5(_e),_e)}}function remove$5(o){return localStorage$1().removeItem(o)}function clearAll$5(){return localStorage$1().clear()}var util$3=util$6,Global$3=util$3.Global,oldFFGlobalStorage={name:"oldFF-globalStorage",read:read$4,write:write$4,each:each$4,remove:remove$4,clearAll:clearAll$4},globalStorage=Global$3.globalStorage;function read$4(o){return globalStorage[o]}function write$4(o,$){globalStorage[o]=$}function each$4(o){for(var $=globalStorage.length-1;$>=0;$--){var _e=globalStorage.key($);o(globalStorage[_e],_e)}}function remove$4(o){return globalStorage.removeItem(o)}function clearAll$4(){each$4(function(o,$){delete globalStorage[o]})}var util$2=util$6,Global$2=util$2.Global,oldIEUserDataStorage={name:"oldIE-userDataStorage",write:write$3,read:read$3,each:each$3,remove:remove$3,clearAll:clearAll$3},storageName="storejs",doc$1=Global$2.document,_withStorageEl=_makeIEStorageElFunction(),disable=(Global$2.navigator?Global$2.navigator.userAgent:"").match(/ (MSIE 8|MSIE 9|MSIE 10)\./);function write$3(o,$){if(!disable){var _e=fixKey(o);_withStorageEl(function(et){et.setAttribute(_e,$),et.save(storageName)})}}function read$3(o){if(!disable){var $=fixKey(o),_e=null;return _withStorageEl(function(et){_e=et.getAttribute($)}),_e}}function each$3(o){_withStorageEl(function($){for(var _e=$.XMLDocument.documentElement.attributes,et=_e.length-1;et>=0;et--){var tt=_e[et];o($.getAttribute(tt.name),tt.name)}})}function remove$3(o){var $=fixKey(o);_withStorageEl(function(_e){_e.removeAttribute($),_e.save(storageName)})}function clearAll$3(){_withStorageEl(function(o){var $=o.XMLDocument.documentElement.attributes;o.load(storageName);for(var _e=$.length-1;_e>=0;_e--)o.removeAttribute($[_e].name);o.save(storageName)})}var forbiddenCharsRegex=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function fixKey(o){return o.replace(/^\d/,"___$&").replace(forbiddenCharsRegex,"___")}function _makeIEStorageElFunction(){if(!doc$1||!doc$1.documentElement||!doc$1.documentElement.addBehavior)return null;var o="script",$,_e,et;try{_e=new ActiveXObject("htmlfile"),_e.open(),_e.write("<"+o+">document.w=window'),_e.close(),$=_e.w.frames[0].document,et=$.createElement("div")}catch(tt){et=doc$1.createElement("div"),$=doc$1.body}return function(tt){var rt=[].slice.call(arguments,0);rt.unshift(et),$.appendChild(et),et.addBehavior("#default#userData"),et.load(storageName),tt.apply(this,rt),$.removeChild(et)}}var util$1=util$6,Global$1=util$1.Global,trim$1=util$1.trim,cookieStorage={name:"cookieStorage",read:read$2,write:write$2,each:each$2,remove:remove$2,clearAll:clearAll$2},doc=Global$1.document;function read$2(o){if(!o||!_has(o))return null;var $="(?:^|.*;\\s*)"+escape(o).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(doc.cookie.replace(new RegExp($),"$1"))}function each$2(o){for(var $=doc.cookie.split(/; ?/g),_e=$.length-1;_e>=0;_e--)if(trim$1($[_e])){var et=$[_e].split("="),tt=unescape(et[0]),rt=unescape(et[1]);o(rt,tt)}}function write$2(o,$){o&&(doc.cookie=escape(o)+"="+escape($)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/")}function remove$2(o){!o||!_has(o)||(doc.cookie=escape(o)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function clearAll$2(){each$2(function(o,$){remove$2($)})}function _has(o){return new RegExp("(?:^|;\\s*)"+escape(o).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(doc.cookie)}var util=util$6,Global=util.Global,sessionStorage_1={name:"sessionStorage",read:read$1,write:write$1,each:each$1,remove:remove$1,clearAll:clearAll$1};function sessionStorage(){return Global.sessionStorage}function read$1(o){return sessionStorage().getItem(o)}function write$1(o,$){return sessionStorage().setItem(o,$)}function each$1(o){for(var $=sessionStorage().length-1;$>=0;$--){var _e=sessionStorage().key($);o(read$1(_e),_e)}}function remove$1(o){return sessionStorage().removeItem(o)}function clearAll$1(){return sessionStorage().clear()}var memoryStorage_1={name:"memoryStorage",read,write,each,remove,clearAll},memoryStorage={};function read(o){return memoryStorage[o]}function write(o,$){memoryStorage[o]=$}function each(o){for(var $ in memoryStorage)memoryStorage.hasOwnProperty($)&&o(memoryStorage[$],$)}function remove(o){delete memoryStorage[o]}function clearAll(o){memoryStorage={}}var all=[localStorage_1,oldFFGlobalStorage,oldIEUserDataStorage,cookieStorage,sessionStorage_1,memoryStorage_1],json2$1={},hasRequiredJson2;function requireJson2(){return hasRequiredJson2||(hasRequiredJson2=1,typeof JSON!="object"&&(JSON={}),function(){var rx_one=/^[\],:{}\s]*$/,rx_two=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rx_three=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rx_four=/(?:^|:|,)(?:\s*\[)+/g,rx_escapable=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,rx_dangerous=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;function f(o){return o<10?"0"+o:o}function this_value(){return this.valueOf()}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},Boolean.prototype.toJSON=this_value,Number.prototype.toJSON=this_value,String.prototype.toJSON=this_value);var gap,indent,meta,rep;function quote(o){return rx_escapable.lastIndex=0,rx_escapable.test(o)?'"'+o.replace(rx_escapable,function($){var _e=meta[$];return typeof _e=="string"?_e:"\\u"+("0000"+$.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+o+'"'}function str(o,$){var _e,et,tt,rt,at=gap,nt,it=$[o];switch(it&&typeof it=="object"&&typeof it.toJSON=="function"&&(it=it.toJSON(o)),typeof rep=="function"&&(it=rep.call($,o,it)),typeof it){case"string":return quote(it);case"number":return isFinite(it)?String(it):"null";case"boolean":case"null":return String(it);case"object":if(!it)return"null";if(gap+=indent,nt=[],Object.prototype.toString.apply(it)==="[object Array]"){for(rt=it.length,_e=0;_e{trackClearOperation(),this.updateUrlState({operation:void 0})},this.focusPathsThroughVertex=nt=>{const it=this.getVisiblePathElems(nt);if(!it)return;trackFocusPaths();const ot=[].concat(...it.map(({memberOf:st})=>st.members.map(({visibilityIdx:lt})=>lt)));this.updateUrlState({visEncoding:encode(ot)})},this.getGenerationVisibility=(nt,it)=>{const{graph:ot,urlState:st}=this.props;return ot?ot.getGenerationVisibility(nt,it,st.visEncoding):null},this.getVisiblePathElems=nt=>{const{graph:it,urlState:ot}=this.props;if(it)return it.getVertexVisiblePathElems(nt,ot.visEncoding)},this.hideVertex=nt=>{const{graph:it,urlState:ot}=this.props;if(!it)return;const st=it.getVisWithoutVertex(nt,ot.visEncoding);st&&(trackHide(),this.updateUrlState({visEncoding:st}))},this.setDecoration=nt=>this.updateUrlState({decoration:nt}),this.setDensity=nt=>this.updateUrlState({density:nt}),this.setDistance=(nt,it)=>{const{graphState:ot}=this.props,{visEncoding:st}=this.props.urlState;if(ot&&ot.state===fetchedState.DONE){const{model:lt}=ot;this.updateUrlState({visEncoding:encodeDistance({ddgModel:lt,direction:it,distance:nt,prevVisEncoding:st})})}},this.setOperation=nt=>{this.updateUrlState({operation:nt,visEncoding:void 0})},this.setService=nt=>{const{fetchServiceServerOps:it,serverOpsForService:ot}=this.props;ot&&!Reflect.has(ot,nt)&&it&&it(nt),this.updateUrlState({operation:void 0,service:nt,visEncoding:void 0}),trackSetService()},this.setViewModifier=(nt,it,ot)=>{const{addViewModifier:st,graph:lt,removeViewModifierFromIndices:ct,urlState:ut}=this.props,ft=ot?st:ct,{service:At,operation:vt}=ut;!ft||!lt||!At||ft({operation:vt,service:At,viewModifier:it,visibilityIndices:nt,end:0,start:0})},this.selectVertex=nt=>{this.setState({selectedVertex:nt})},this.showVertices=nt=>{const{graph:it,urlState:ot}=this.props,{visEncoding:st}=ot;it&&this.updateUrlState({visEncoding:it.getVisWithVertices(nt,st)})},this.toggleShowOperations=nt=>this.updateUrlState({showOp:nt}),this.updateGenerationVisibility=(nt,it)=>{const{graph:ot,urlState:st}=this.props;if(!ot)return;const lt=ot.getVisWithUpdatedGeneration(nt,it,st.visEncoding);if(!lt)return;const{visEncoding:ct,update:ut}=lt;ut===ECheckedStatus.Empty?trackHide(it):trackShow(it),this.updateUrlState({visEncoding:ct})},this.updateUrlState=nt=>{const{baseUrl:it,extraUrlArgs:ot,graphState:st,history:lt,uiFind:ct,urlState:ut}=this.props,ft={uiFind:ct,...ut,...nt,...ot},At=get_1$1(st,"model.hash");At&&(ft.hash=At),lt.push(getUrl$4(ft,it))},_DeepDependencyGraphPageImpl.fetchModelIfStale(o);const{fetchServices:$,fetchServiceServerOps:_e,serverOpsForService:et,services:tt,urlState:rt}=o,{service:at}=rt;!tt&&$&&$(),at&&et&&!Reflect.has(et,at)&&_e&&_e(at)}static fetchModelIfStale(o){const{fetchDeepDependencyGraph:$,graphState:_e=null,urlState:et}=o,{service:tt,operation:rt}=et;!_e&&tt&&$&&$({service:tt,operation:rt,start:0,end:0})}componentDidUpdate(){_DeepDependencyGraphPageImpl.fetchModelIfStale(this.props)}render(){const{selectedVertex:o}=this.state,{baseUrl:$,extraUrlArgs:_e,graph:et,graphState:tt,serverOpsForService:rt,services:at,showOp:nt,uiFind:it,urlState:ot,showSvcOpsHeader:st}=this.props,{density:lt,operation:ct,service:ut,visEncoding:ft}=ot,At=tt&&tt.state===fetchedState.DONE?tt.model.distanceToPathElems:void 0,vt=et&&et.getVisibleUiFindMatches(it,ft),ht=et&&et.getHiddenUiFindMatches(it,ft);let mt=null,bt="";if(!tt)mt=jsxRuntimeExports.jsx("h1",{children:"Enter query above"});else if(tt.state===fetchedState.DONE&&et){const{edges:dt,vertices:xt}=et.getVisible(ft),{viewModifiers:Ct}=tt,{edges:gt,vertices:wt}=et.getDerivedViewModifiers(ft,Ct);if(xt.length>1)bt="is-horizontal",mt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Graph,{baseUrl:$,density:lt,edges:dt,edgesViewModifiers:gt,extraUrlArgs:_e,focusPathsThroughVertex:this.focusPathsThroughVertex,getGenerationVisibility:this.getGenerationVisibility,getVisiblePathElems:this.getVisiblePathElems,hideVertex:this.hideVertex,selectVertex:this.selectVertex,setOperation:this.setOperation,setViewModifier:this.setViewModifier,uiFindMatches:vt,updateGenerationVisibility:this.updateGenerationVisibility,vertices:xt,verticesViewModifiers:wt},JSON.stringify({density:lt,showOp:nt,service:ut,operation:ct,visEncoding:ft})),jsxRuntimeExports.jsx(SidePanel,{clearSelected:this.selectVertex,selectDecoration:this.setDecoration,selectedDecoration:ot.decoration,selectedVertex:o})]});else if(tt.model.distanceToPathElems.has(-1)||tt.model.distanceToPathElems.has(1))mt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("h1",{className:"Ddg--center",children:"There is nothing visible to show"}),jsxRuntimeExports.jsx("p",{className:"Ddg--center",children:"Select at least one hop to view"})]});else{const _t=getConfigValue("search.maxLookback.value"),Et=getUrl$2({lookback:_t,minDuration:"0ms",operation:ct,service:ut,tags:'{"span.kind":"server"}'});mt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("h1",{className:"Ddg--center",children:"There are no dependencies"}),jsxRuntimeExports.jsxs("p",{className:"Ddg--center",children:["No traces were found that contain ",ut,ct&&`:${ct}`," and any other service where span.kind is ‘server’."]}),jsxRuntimeExports.jsx("p",{className:"Ddg--center",children:jsxRuntimeExports.jsx("a",{href:Et,children:"Confirm by searching"})})]})}}else tt.state===fetchedState.LOADING?mt=jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0,className:"u-mt-vast"}):tt.state===fetchedState.ERROR?mt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(ErrorMessage,{error:tt.error,className:"ub-m4"}),jsxRuntimeExports.jsx("p",{className:"Ddg--center",children:"If you are using an adblocker, whitelist Jaeger and retry."})]}):mt=jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("h1",{className:"Ddg--center",children:"Unknown graphState:"}),jsxRuntimeExports.jsx("p",{className:"Ddg--center",children:JSON.stringify(tt,null,2)})]});return jsxRuntimeExports.jsxs("div",{className:"Ddg",children:[jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(Header$2,{clearOperation:this.clearOperation,density:lt,distanceToPathElems:At,hiddenUiFindMatches:ht,operation:ct,operations:rt&&rt[ut||""],service:ut,services:at,setDensity:this.setDensity,setDistance:this.setDistance,setOperation:this.setOperation,setService:this.setService,showOperations:nt,showParameters:st,showVertices:this.showVertices,toggleShowOperations:this.toggleShowOperations,uiFindCount:it?vt&&vt.size:void 0,visEncoding:ft})}),jsxRuntimeExports.jsx("div",{className:`Ddg--graphWrapper ${bt}`,children:mt})]})}};let DeepDependencyGraphPageImpl=_DeepDependencyGraphPageImpl;DeepDependencyGraphPageImpl.defaultProps={showSvcOpsHeader:!0,baseUrl:ROUTE_PATH$4};function mapStateToProps$a(o,$){const{services:_e}=o,{services:et,serverOpsForService:tt}=_e,rt=getUrlState$2($.location.search),{density:at,operation:nt,service:it,showOp:ot}=rt,st=ot!==void 0?ot:nt!==void 0;let lt;it&&(lt=get_1$1(o.ddg,getStateEntryKey({service:it,operation:nt,start:0,end:0})));let ct;return lt&<.state===fetchedState.DONE&&(ct=makeGraph(lt.model,st,at)),{graph:ct,graphState:lt,serverOpsForService:tt,services:et,showOp:st,urlState:sanitizeUrlState(rt,get_1$1(lt,"model.hash")),...extractUiFindFromState(o)}}function mapDispatchToProps$9(o){const{fetchDeepDependencyGraph:$,fetchServiceServerOps:_e,fetchServices:et}=bindActionCreators(jaegerApiActions,o),{addViewModifier:tt,removeViewModifierFromIndices:rt}=bindActionCreators(ddgActions,o);return{addViewModifier:tt,fetchDeepDependencyGraph:$,fetchServiceServerOps:_e,fetchServices:et,removeViewModifierFromIndices:rt}}const DeepDependencies=connect$3(mapStateToProps$a,mapDispatchToProps$9)(DeepDependencyGraphPageImpl),BannerText$1="";class BannerText extends reactExports.PureComponent{render(){const{bannerText:$}=this.props;if(!$)return null;const{styling:_e=void 0,value:et}=typeof $=="object"?$:{value:$};return jsxRuntimeExports.jsx("div",{className:"BannerText",style:_e,children:et})}}const index$o="";var TouchFeedback=function(o){_default$8($,o);function $(){_default$c(this,$);var _e=_default$9(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments));return _e.state={active:!1},_e.onTouchStart=function(et){_e.triggerEvent("TouchStart",!0,et)},_e.onTouchMove=function(et){_e.triggerEvent("TouchMove",!1,et)},_e.onTouchEnd=function(et){_e.triggerEvent("TouchEnd",!1,et)},_e.onTouchCancel=function(et){_e.triggerEvent("TouchCancel",!1,et)},_e.onMouseDown=function(et){_e.triggerEvent("MouseDown",!0,et)},_e.onMouseUp=function(et){_e.triggerEvent("MouseUp",!1,et)},_e.onMouseLeave=function(et){_e.triggerEvent("MouseLeave",!1,et)},_e}return _default$b($,[{key:"componentDidUpdate",value:function(){this.props.disabled&&this.state.active&&this.setState({active:!1})}},{key:"triggerEvent",value:function(et,tt,rt){var at="on"+et,nt=this.props.children;nt.props[at]&&nt.props[at](rt),tt!==this.state.active&&this.setState({active:tt})}},{key:"render",value:function(){var et=this.props,tt=et.children,rt=et.disabled,at=et.activeClassName,nt=et.activeStyle,it=rt?void 0:{onTouchStart:this.onTouchStart,onTouchMove:this.onTouchMove,onTouchEnd:this.onTouchEnd,onTouchCancel:this.onTouchCancel,onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onMouseLeave:this.onMouseLeave},ot=React$k.Children.only(tt);if(!rt&&this.state.active){var st=ot.props,lt=st.style,ct=st.className;return nt!==!1&&(nt&&(lt=_default$bE({},lt,nt)),ct=classnamesExports(ct,at)),React$k.cloneElement(ot,_default$bE({className:ct,style:lt},it))}return React$k.cloneElement(ot,it)}}]),$}(React$k.Component);TouchFeedback.defaultProps={disabled:!1};var InputHandler=function(o){_default$8($,o);function $(){return _default$c(this,$),_default$9(this,o.apply(this,arguments))}return $.prototype.render=function(){var et=this.props,tt=et.prefixCls,rt=et.disabled,at=_default$d(et,["prefixCls","disabled"]);return React$k.createElement(TouchFeedback,{disabled:rt,activeClassName:tt+"-handler-active"},React$k.createElement("span",at))},$}(reactExports.Component);InputHandler.propTypes={prefixCls:propTypesExports.string,disabled:propTypesExports.bool,onTouchStart:propTypesExports.func,onTouchEnd:propTypesExports.func,onMouseDown:propTypesExports.func,onMouseUp:propTypesExports.func,onMouseLeave:propTypesExports.func};function noop$5(){}function preventDefault$1(o){o.preventDefault()}function defaultParser(o){return o.replace(/[^\w\.-]+/g,"")}var SPEED=200,DELAY=600,MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||Math.pow(2,53)-1,isValidProps=function($){return $!=null},isEqual$1=function($,_e){return _e===$||typeof _e=="number"&&typeof $=="number"&&isNaN(_e)&&isNaN($)},InputNumber$1=function(o){_default$8($,o);function $(_e){_default$c(this,$);var et=_default$9(this,o.call(this,_e));_initialiseProps$1.call(et);var tt=void 0;"value"in _e?tt=_e.value:tt=_e.defaultValue,et.state={focused:_e.autoFocus};var rt=et.getValidValue(et.toNumber(tt));return et.state=_default$bE({},et.state,{inputValue:et.toPrecisionAsStep(rt),value:rt}),et}return $.prototype.componentDidMount=function(){this.componentDidUpdate()},$.prototype.componentDidUpdate=function(et){var tt=this.props,rt=tt.value,at=tt.onChange,nt=tt.max,it=tt.min,ot=this.state.focused;if(et){if(!isEqual$1(et.value,rt)||!isEqual$1(et.max,nt)||!isEqual$1(et.min,it)){var st=ot?rt:this.getValidValue(rt),lt=void 0;this.pressingUpOrDown?lt=st:this.inputting?lt=this.rawInput:lt=this.toPrecisionAsStep(st),this.setState({value:st,inputValue:lt})}var ct="value"in this.props?rt:this.state.value;"max"in this.props&&et.max!==nt&&typeof ct=="number"&&ct>nt&&at&&at(nt),"min"in this.props&&et.min!==it&&typeof ct=="number"&&ct1&&arguments[1]!==void 0?arguments[1]:this.props.min,rt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.props.max,at=parseFloat(et,10);return isNaN(at)?et:(atrt&&(at=rt),at)},$.prototype.setValue=function(et,tt){var rt=this.props.precision,at=this.isNotCompleteNumber(parseFloat(et,10))?null:parseFloat(et,10),nt=this.state,it=nt.value,ot=it===void 0?null:it,st=nt.inputValue,lt=st===void 0?null:st,ct=typeof at=="number"?at.toFixed(rt):""+at,ut=at!==ot||ct!==""+lt;return"value"in this.props?this.setState({inputValue:this.toPrecisionAsStep(this.state.value)},tt):this.setState({value:at,inputValue:this.toPrecisionAsStep(et)},tt),ut&&this.props.onChange(at),at},$.prototype.getPrecision=function(et){if(isValidProps(this.props.precision))return this.props.precision;var tt=et.toString();if(tt.indexOf("e-")>=0)return parseInt(tt.slice(tt.indexOf("e-")+2),10);var rt=0;return tt.indexOf(".")>=0&&(rt=tt.length-tt.indexOf(".")-1),rt},$.prototype.getMaxPrecision=function(et){var tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,rt=this.props,at=rt.precision,nt=rt.step;if(isValidProps(at))return at;var it=this.getPrecision(tt),ot=this.getPrecision(nt),st=this.getPrecision(et);return et?Math.max(st,it+ot):it+ot},$.prototype.getPrecisionFactor=function(et){var tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,rt=this.getMaxPrecision(et,tt);return Math.pow(10,rt)},$.prototype.fixCaret=function(et,tt){if(!(et===void 0||tt===void 0||!this.input||!this.input.value))try{var rt=this.input.selectionStart,at=this.input.selectionEnd;(et!==rt||tt!==at)&&this.input.setSelectionRange(et,tt)}catch(nt){}},$.prototype.focus=function(){this.input.focus(),this.recordCursorPosition()},$.prototype.blur=function(){this.input.blur()},$.prototype.select=function(){this.input.select()},$.prototype.formatWrapper=function(et){return this.props.formatter?this.props.formatter(et):et},$.prototype.toPrecisionAsStep=function(et){if(this.isNotCompleteNumber(et)||et==="")return et;var tt=Math.abs(this.getMaxPrecision(et));return isNaN(tt)?et.toString():Number(et).toFixed(tt)},$.prototype.isNotCompleteNumber=function(et){return isNaN(et)||et===""||et===null||et&&et.toString().indexOf(".")===et.toString().length-1},$.prototype.toNumber=function(et){var tt=this.props.precision,rt=this.state.focused,at=et&&et.length>16&&rt;return this.isNotCompleteNumber(et)||at?et:isValidProps(tt)?Math.round(et*Math.pow(10,tt))/Math.pow(10,tt):Number(et)},$.prototype.upStep=function(et,tt){var rt=this.props.step,at=this.getPrecisionFactor(et,tt),nt=Math.abs(this.getMaxPrecision(et,tt)),it=((at*et+at*rt*tt)/at).toFixed(nt);return this.toNumber(it)},$.prototype.downStep=function(et,tt){var rt=this.props.step,at=this.getPrecisionFactor(et,tt),nt=Math.abs(this.getMaxPrecision(et,tt)),it=((at*et-at*rt*tt)/at).toFixed(nt);return this.toNumber(it)},$.prototype.step=function(et,tt){var rt=this,at=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,nt=arguments[3];this.stop(),tt&&(tt.persist(),tt.preventDefault());var it=this.props;if(!it.disabled){var ot=this.getCurrentValidValue(this.state.inputValue)||0;if(!this.isNotCompleteNumber(ot)){var st=this[et+"Step"](ot,at),lt=st>it.max||stit.max?st=it.max:st=tt.max&&(ut=rt+"-handler-up-disabled"),mt<=tt.min&&(ft=rt+"-handler-down-disabled")}var bt={};for(var dt in tt)tt.hasOwnProperty(dt)&&(dt.substr(0,5)==="data-"||dt.substr(0,5)==="aria-"||dt==="role")&&(bt[dt]=tt[dt]);var xt=!tt.readOnly&&!tt.disabled,Ct=this.composing?ht:this.getInputDisplayValue(),gt=void 0,wt=void 0;it?(gt={onTouchStart:xt&&!ut?this.up:noop$5,onTouchEnd:this.stop},wt={onTouchStart:xt&&!ft?this.down:noop$5,onTouchEnd:this.stop}):(gt={onMouseDown:xt&&!ut?this.up:noop$5,onMouseUp:this.stop,onMouseLeave:this.stop},wt={onMouseDown:xt&&!ft?this.down:noop$5,onMouseUp:this.stop,onMouseLeave:this.stop});var _t=!!ut||at||nt,Et=!!ft||at||nt;return React$k.createElement("div",{className:ct,style:tt.style,title:tt.title,onMouseEnter:tt.onMouseEnter,onMouseLeave:tt.onMouseLeave,onMouseOver:tt.onMouseOver,onMouseOut:tt.onMouseOut,onCompositionStart:this.onComposition,onCompositionEnd:this.onComposition},React$k.createElement("div",{className:rt+"-handler-wrap"},React$k.createElement(InputHandler,_default$bE({ref:this.saveUp,disabled:_t,prefixCls:rt,unselectable:"unselectable"},gt,{role:"button","aria-label":"Increase Value","aria-disabled":!!_t,className:rt+"-handler "+rt+"-handler-up "+ut}),st||React$k.createElement("span",{unselectable:"unselectable",className:rt+"-handler-up-inner",onClick:preventDefault$1})),React$k.createElement(InputHandler,_default$bE({ref:this.saveDown,disabled:Et,prefixCls:rt,unselectable:"unselectable"},wt,{role:"button","aria-label":"Decrease Value","aria-disabled":!!Et,className:rt+"-handler "+rt+"-handler-down "+ft}),lt||React$k.createElement("span",{unselectable:"unselectable",className:rt+"-handler-down-inner",onClick:preventDefault$1}))),React$k.createElement("div",{className:rt+"-input-wrap"},React$k.createElement("input",_default$bE({role:"spinbutton","aria-valuemin":tt.min,"aria-valuemax":tt.max,"aria-valuenow":vt,required:tt.required,type:tt.type,placeholder:tt.placeholder,onClick:tt.onClick,onMouseUp:this.onMouseUp,className:rt+"-input",tabIndex:tt.tabIndex,autoComplete:ot,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:xt?this.onKeyDown:noop$5,onKeyUp:xt?this.onKeyUp:noop$5,autoFocus:tt.autoFocus,maxLength:tt.maxLength,readOnly:tt.readOnly,disabled:tt.disabled,max:tt.max,min:tt.min,step:tt.step,name:tt.name,title:tt.title,id:tt.id,onChange:this.onChange,ref:this.saveInput,value:Ct,pattern:tt.pattern,inputMode:tt.inputMode},bt))))},$}(React$k.Component);InputNumber$1.propTypes={value:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string]),defaultValue:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string]),focusOnUpDown:propTypesExports.bool,autoFocus:propTypesExports.bool,onChange:propTypesExports.func,onPressEnter:propTypesExports.func,onKeyDown:propTypesExports.func,onKeyUp:propTypesExports.func,prefixCls:propTypesExports.string,tabIndex:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),disabled:propTypesExports.bool,onFocus:propTypesExports.func,onBlur:propTypesExports.func,readOnly:propTypesExports.bool,max:propTypesExports.number,min:propTypesExports.number,step:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string]),upHandler:propTypesExports.node,downHandler:propTypesExports.node,useTouch:propTypesExports.bool,formatter:propTypesExports.func,parser:propTypesExports.func,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseOver:propTypesExports.func,onMouseOut:propTypesExports.func,onMouseUp:propTypesExports.func,precision:propTypesExports.number,required:propTypesExports.bool,pattern:propTypesExports.string,decimalSeparator:propTypesExports.string,inputMode:propTypesExports.string};InputNumber$1.defaultProps={focusOnUpDown:!0,useTouch:!1,prefixCls:"rc-input-number",min:-MAX_SAFE_INTEGER,step:1,style:{},onChange:noop$5,onKeyDown:noop$5,onPressEnter:noop$5,onFocus:noop$5,onBlur:noop$5,parser:defaultParser,required:!1,autoComplete:"off"};var _initialiseProps$1=function(){var $=this;this.onKeyDown=function(_e){for(var et=arguments.length,tt=Array(et>1?et-1:0),rt=1;rt1?et-1:0),rt=1;rt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$e(o){return _getPrototypeOf$e=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$e(o)}var __rest$9=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt{this.setState({ownInputValue:void 0}),this.props.setLookback($)},350),this.handleInputChange=$=>{typeof $!="string"&&(this.setState({ownInputValue:$}),this.setLookback($))}}render(){const{lookback:$,service:_e,services:et,setService:tt}=this.props,{ownInputValue:rt}=this.state,at=rt!==void 0?rt:$;return jsxRuntimeExports.jsxs("header",{className:"QualityMetrics--Header",children:[jsxRuntimeExports.jsx(NameSelector,{label:"Service",placeholder:"Select a service…",value:_e||null,setValue:tt,required:!0,options:et||[]}),jsxRuntimeExports.jsx("label",{className:"QualityMetrics--Header--LookbackLabel",htmlFor:"inputNumber",children:"Lookback:"}),jsxRuntimeExports.jsx(InputNumber,{id:"inputNumber",onChange:this.handleInputChange,min:1,value:at}),jsxRuntimeExports.jsx("span",{className:"QualityMetrics--Header--LookbackSuffix",children:"(in hours)"})]})}}const CountCard="";let ScoreCard$2=class extends reactExports.PureComponent{render(){const{count:$,title:_e,examples:et}=this.props;return $===void 0||_e===void 0?null:jsxRuntimeExports.jsxs("div",{className:"CountCard",children:[jsxRuntimeExports.jsx("span",{className:"CountCard--TitleHeader",children:_e}),jsxRuntimeExports.jsx("span",{className:"CountCard--Count",children:$}),jsxRuntimeExports.jsx(ExamplesLink,{examples:et,includeText:!0})]})}};const MetricCard$1="",dividToFixedFloorPercentage=(o,$)=>{const _e=`${o/(o+$)*100}.0`;return`${_e.substring(0,_e.indexOf(".")+2)}%`};class MetricCard extends reactExports.PureComponent{render(){const{metric:{name:$,description:_e,metricDocumentationLink:et,passCount:tt,passExamples:rt,failureCount:at,failureExamples:nt,exemptionCount:it,exemptionExamples:ot,details:st}}=this.props;return jsxRuntimeExports.jsxs("div",{className:"MetricCard",children:[jsxRuntimeExports.jsx("div",{className:"MetricCard--CircularProgressbarWrapper",children:jsxRuntimeExports.jsx(CircularProgressbar,{backgroundHue:tt===0?0:void 0,decorationHue:tt===0?0:120,maxValue:tt+at,text:dividToFixedFloorPercentage(tt,at),value:tt})}),jsxRuntimeExports.jsxs("div",{className:"MetricCard--Body",children:[jsxRuntimeExports.jsxs("span",{className:"MetricCard--TitleHeader",children:[$," ",jsxRuntimeExports.jsx(Tooltip$1,{arrowPointAtCenter:!0,title:"Metric Documentation",children:jsxRuntimeExports.jsx("a",{href:et,target:"_blank",rel:"noreferrer noopener",children:jsxRuntimeExports.jsx(NewWindowIcon,{})})})]}),jsxRuntimeExports.jsx("p",{className:"MetricCard--Description",children:_e}),jsxRuntimeExports.jsxs("div",{className:"MetricCard--CountsWrapper",children:[jsxRuntimeExports.jsx(ScoreCard$2,{count:tt,examples:rt,title:"Passing"}),jsxRuntimeExports.jsx(ScoreCard$2,{count:at,examples:nt,title:"Failing"}),jsxRuntimeExports.jsx(ScoreCard$2,{count:it,examples:ot,title:"Exemptions"})]}),st&&st.map(lt=>!!(lt.rows&<.rows.length)&&jsxRuntimeExports.jsx(DetailsCard,{className:"MetricCard--Details",collapsible:!0,columnDefs:lt.columns,description:lt.description,details:lt.rows,header:lt.header||"Details"},`${lt.description}${JSON.stringify(lt.columns)}`))]})]})}}const ScoreCard$1="";class ScoreCard extends reactExports.PureComponent{render(){const{link:$,score:{label:_e,max:et,value:tt}}=this.props,rt=tt{if(!tt||typeof tt=="string"||tt<1||tt!==Math.floor(tt))return;const{history:rt,service:at=""}=this.props;rt.push(getUrl$3({lookback:tt,service:at}))},this.setService=tt=>{const{history:rt,lookback:at}=this.props;rt.push(getUrl$3({lookback:at,service:tt}))};const{fetchServices:_e,services:et}=$;et||_e()}componentDidMount(){this.fetchQualityMetrics()}componentDidUpdate($){($.service!==this.props.service||$.lookback!==this.props.lookback)&&(this.setState({qualityMetrics:void 0,error:void 0,loading:!1}),this.fetchQualityMetrics())}fetchQualityMetrics(){const{lookback:$,service:_e}=this.props;_e&&(this.setState({loading:!0}),JaegerAPI.fetchQualityMetrics(_e,$).then(et=>{this.setState({qualityMetrics:et,loading:!1})}).catch(et=>{this.setState({error:et,loading:!1})}))}render(){const{lookback:$,service:_e,services:et}=this.props,{qualityMetrics:tt,error:rt,loading:at}=this.state;return jsxRuntimeExports.jsxs("div",{className:"QualityMetrics",children:[jsxRuntimeExports.jsx(Header,{lookback:$,service:_e,services:et,setService:this.setService,setLookback:this.setLookback}),tt&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(BannerText,{bannerText:tt.bannerText}),jsxRuntimeExports.jsxs("div",{className:"QualityMetrics--Body",children:[jsxRuntimeExports.jsx("div",{className:"QualityMetrics--ScoreCards",children:tt.scores.map(nt=>jsxRuntimeExports.jsx(ScoreCard,{score:nt,link:tt.traceQualityDocumentationLink},nt.key))}),jsxRuntimeExports.jsx("div",{className:"QualityMetrics--MetricCards",children:tt.metrics.map(nt=>jsxRuntimeExports.jsx(MetricCard,{metric:nt},nt.name))}),tt.clients&&jsxRuntimeExports.jsx(DetailsCard,{className:"QualityMetrics--ClientVersions",columnDefs:[{key:"version",label:"Version"},{key:"minVersion",label:"Minimum Version"},{key:"count",label:"Count"},{key:"examples",label:"Examples",preventSort:!0}],details:tt.clients&&tt.clients.map(nt=>({...nt,examples:{value:jsxRuntimeExports.jsx(ExamplesLink,{examples:nt.examples},`${nt.version}--examples`)}})),header:"Client Versions"})]})]}),at&&jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0}),rt&&jsxRuntimeExports.jsx("div",{className:"QualityMetrics--Error",children:rt.message})]})}}function mapStateToProps$9(o,$){const{services:{services:_e}}=o;return{...getUrlState$1($.location.search),services:_e}}function mapDispatchToProps$8(o){const{fetchServices:$}=bindActionCreators(jaegerApiActions,o);return{fetchServices:$}}const QualityMetrics=connect$3(mapStateToProps$9,mapDispatchToProps$8)(UnconnectedQualityMetrics);var assign=make_assign(),create$1=make_create(),trim$2=make_trim(),Global$5=typeof window<"u"?window:commonjsGlobal,util$6={assign,create:create$1,trim:trim$2,bind:bind$2,slice:slice$5,each:each$7,map:map$4,pluck:pluck$1,isList:isList$1,isFunction:isFunction$2,isObject:isObject$5,Global:Global$5};function make_assign(){return Object.assign?Object.assign:function($,_e,et,tt){for(var rt=1;rt"u"?null:console;if(o){var $=o.warn?o.warn:o.log;$.apply(o,arguments)}}function createStore(o,$,_e){_e||(_e=""),o&&!isList(o)&&(o=[o]),$&&!isList($)&&($=[$]);var et=_e?"__storejs_"+_e+"_":"",tt=_e?new RegExp("^"+et):null,rt=/^[a-zA-Z0-9_\-]*$/;if(!rt.test(_e))throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes");var at={_namespacePrefix:et,_namespaceRegexp:tt,_testStorage:function(it){try{var ot="__storejs__test__";it.write(ot,ot);var st=it.read(ot)===ot;return it.remove(ot),st}catch(lt){return!1}},_assignPluginFnProp:function(it,ot){var st=this[ot];this[ot]=function(){var ct=slice$4(arguments,0),ut=this;function ft(){if(st)return each$6(arguments,function(vt,ht){ct[ht]=vt}),st.apply(ut,ct)}var At=[ft].concat(ct);return it.apply(ut,At)}},_serialize:function(it){return JSON.stringify(it)},_deserialize:function(it,ot){if(!it)return ot;var st="";try{st=JSON.parse(it)}catch(lt){st=it}return st!==void 0?st:ot},_addStorage:function(it){this.enabled||this._testStorage(it)&&(this.storage=it,this.enabled=!0)},_addPlugin:function(it){var ot=this;if(isList(it)){each$6(it,function(ct){ot._addPlugin(ct)});return}var st=pluck(this.plugins,function(ct){return it===ct});if(!st){if(this.plugins.push(it),!isFunction$1(it))throw new Error("Plugins must be function values that return objects");var lt=it.call(this);if(!isObject$4(lt))throw new Error("Plugins must return an object of function properties");each$6(lt,function(ct,ut){if(!isFunction$1(ct))throw new Error("Bad plugin property: "+ut+" from plugin "+it.name+". Plugins should only return functions.");ot._assignPluginFnProp(ct,ut)})}},addStorage:function(it){_warn("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(it)}},nt=create(at,storeAPI,{plugins:[]});return nt.raw={},each$6(nt,function(it,ot){isFunction$1(it)&&(nt.raw[ot]=bind$1(nt,it))}),each$6(o,function(it){nt._addStorage(it)}),each$6($,function(it){nt._addPlugin(it)}),nt}var util$4=util$6,Global$4=util$4.Global,localStorage_1={name:"localStorage",read:read$5,write:write$5,each:each$5,remove:remove$5,clearAll:clearAll$5};function localStorage$1(){return Global$4.localStorage}function read$5(o){return localStorage$1().getItem(o)}function write$5(o,$){return localStorage$1().setItem(o,$)}function each$5(o){for(var $=localStorage$1().length-1;$>=0;$--){var _e=localStorage$1().key($);o(read$5(_e),_e)}}function remove$5(o){return localStorage$1().removeItem(o)}function clearAll$5(){return localStorage$1().clear()}var util$3=util$6,Global$3=util$3.Global,oldFFGlobalStorage={name:"oldFF-globalStorage",read:read$4,write:write$4,each:each$4,remove:remove$4,clearAll:clearAll$4},globalStorage=Global$3.globalStorage;function read$4(o){return globalStorage[o]}function write$4(o,$){globalStorage[o]=$}function each$4(o){for(var $=globalStorage.length-1;$>=0;$--){var _e=globalStorage.key($);o(globalStorage[_e],_e)}}function remove$4(o){return globalStorage.removeItem(o)}function clearAll$4(){each$4(function(o,$){delete globalStorage[o]})}var util$2=util$6,Global$2=util$2.Global,oldIEUserDataStorage={name:"oldIE-userDataStorage",write:write$3,read:read$3,each:each$3,remove:remove$3,clearAll:clearAll$3},storageName="storejs",doc$1=Global$2.document,_withStorageEl=_makeIEStorageElFunction(),disable=(Global$2.navigator?Global$2.navigator.userAgent:"").match(/ (MSIE 8|MSIE 9|MSIE 10)\./);function write$3(o,$){if(!disable){var _e=fixKey(o);_withStorageEl(function(et){et.setAttribute(_e,$),et.save(storageName)})}}function read$3(o){if(!disable){var $=fixKey(o),_e=null;return _withStorageEl(function(et){_e=et.getAttribute($)}),_e}}function each$3(o){_withStorageEl(function($){for(var _e=$.XMLDocument.documentElement.attributes,et=_e.length-1;et>=0;et--){var tt=_e[et];o($.getAttribute(tt.name),tt.name)}})}function remove$3(o){var $=fixKey(o);_withStorageEl(function(_e){_e.removeAttribute($),_e.save(storageName)})}function clearAll$3(){_withStorageEl(function(o){var $=o.XMLDocument.documentElement.attributes;o.load(storageName);for(var _e=$.length-1;_e>=0;_e--)o.removeAttribute($[_e].name);o.save(storageName)})}var forbiddenCharsRegex=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function fixKey(o){return o.replace(/^\d/,"___$&").replace(forbiddenCharsRegex,"___")}function _makeIEStorageElFunction(){if(!doc$1||!doc$1.documentElement||!doc$1.documentElement.addBehavior)return null;var o="script",$,_e,et;try{_e=new ActiveXObject("htmlfile"),_e.open(),_e.write("<"+o+">document.w=window'),_e.close(),$=_e.w.frames[0].document,et=$.createElement("div")}catch(tt){et=doc$1.createElement("div"),$=doc$1.body}return function(tt){var rt=[].slice.call(arguments,0);rt.unshift(et),$.appendChild(et),et.addBehavior("#default#userData"),et.load(storageName),tt.apply(this,rt),$.removeChild(et)}}var util$1=util$6,Global$1=util$1.Global,trim$1=util$1.trim,cookieStorage={name:"cookieStorage",read:read$2,write:write$2,each:each$2,remove:remove$2,clearAll:clearAll$2},doc=Global$1.document;function read$2(o){if(!o||!_has(o))return null;var $="(?:^|.*;\\s*)"+escape(o).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(doc.cookie.replace(new RegExp($),"$1"))}function each$2(o){for(var $=doc.cookie.split(/; ?/g),_e=$.length-1;_e>=0;_e--)if(trim$1($[_e])){var et=$[_e].split("="),tt=unescape(et[0]),rt=unescape(et[1]);o(rt,tt)}}function write$2(o,$){o&&(doc.cookie=escape(o)+"="+escape($)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/")}function remove$2(o){!o||!_has(o)||(doc.cookie=escape(o)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function clearAll$2(){each$2(function(o,$){remove$2($)})}function _has(o){return new RegExp("(?:^|;\\s*)"+escape(o).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(doc.cookie)}var util=util$6,Global=util.Global,sessionStorage_1={name:"sessionStorage",read:read$1,write:write$1,each:each$1,remove:remove$1,clearAll:clearAll$1};function sessionStorage(){return Global.sessionStorage}function read$1(o){return sessionStorage().getItem(o)}function write$1(o,$){return sessionStorage().setItem(o,$)}function each$1(o){for(var $=sessionStorage().length-1;$>=0;$--){var _e=sessionStorage().key($);o(read$1(_e),_e)}}function remove$1(o){return sessionStorage().removeItem(o)}function clearAll$1(){return sessionStorage().clear()}var memoryStorage_1={name:"memoryStorage",read,write,each,remove,clearAll},memoryStorage={};function read(o){return memoryStorage[o]}function write(o,$){memoryStorage[o]=$}function each(o){for(var $ in memoryStorage)memoryStorage.hasOwnProperty($)&&o(memoryStorage[$],$)}function remove(o){delete memoryStorage[o]}function clearAll(o){memoryStorage={}}var all=[localStorage_1,oldFFGlobalStorage,oldIEUserDataStorage,cookieStorage,sessionStorage_1,memoryStorage_1],json2$1={},hasRequiredJson2;function requireJson2(){return hasRequiredJson2||(hasRequiredJson2=1,typeof JSON!="object"&&(JSON={}),function(){var rx_one=/^[\],:{}\s]*$/,rx_two=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rx_three=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rx_four=/(?:^|:|,)(?:\s*\[)+/g,rx_escapable=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,rx_dangerous=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;function f(o){return o<10?"0"+o:o}function this_value(){return this.valueOf()}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},Boolean.prototype.toJSON=this_value,Number.prototype.toJSON=this_value,String.prototype.toJSON=this_value);var gap,indent,meta,rep;function quote(o){return rx_escapable.lastIndex=0,rx_escapable.test(o)?'"'+o.replace(rx_escapable,function($){var _e=meta[$];return typeof _e=="string"?_e:"\\u"+("0000"+$.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+o+'"'}function str(o,$){var _e,et,tt,rt,at=gap,nt,it=$[o];switch(it&&typeof it=="object"&&typeof it.toJSON=="function"&&(it=it.toJSON(o)),typeof rep=="function"&&(it=rep.call($,o,it)),typeof it){case"string":return quote(it);case"number":return isFinite(it)?String(it):"null";case"boolean":case"null":return String(it);case"object":if(!it)return"null";if(gap+=indent,nt=[],Object.prototype.toString.apply(it)==="[object Array]"){for(rt=it.length,_e=0;_e0?it[_e]=!0:rt&&(et=="true"?et=!0:et=="false"?et=!1:et===""&&!nt&&(et=null),it[_e]=et,et=""),st==$.length)break;tt=!1,rt=!1,at=!1,nt=!1}$[st]=="="&&!at?(ot&&console.log("split"),tt=!1,rt=!0):$[st]=="\\"?(st++,et+=$[st],ot&&console.log("escape: "+$[st])):$[st]=='"'?(nt=!0,at=!at,ot&&console.log("in quote: "+at)):$[st]!=" "&&!rt&&!tt?(ot&&console.log("start key with: "+$[st]),tt=!0,_e=$[st]):tt?(ot&&console.log("add to key: "+$[st]),_e+=$[st]):rt&&(ot&&console.log("add to value: "+$[st]),et+=$[st])}return it}})(logfmt_parser);var stringify_1=function(o){var $="";for(var _e in o){var et=o[_e],tt=!1;et==null?(tt=!0,et=""):et=et.toString();var rt=et.indexOf(" ")>-1||et.indexOf("=")>-1,at=et.indexOf('"')>-1||et.indexOf("\\")>-1;at&&(et=et.replace(/["\\]/g,"\\$&")),rt&&(et='"'+et+'"'),et===""&&!tt&&(et='""'),$+=_e+"="+et+" "}return $.substring(0,$.length-1)},helpExports={},help={get exports(){return helpExports},set exports(o){helpExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st3?tt-3:0),at=3;at1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:RESET_SECTION,meta:{form:$,sections:et}}},startAsyncValidation=function o($,_e){return{type:START_ASYNC_VALIDATION,meta:{form:$,field:_e}}},startSubmit=function o($){return{type:START_SUBMIT,meta:{form:$}}},stopAsyncValidation=function o($,_e){return{type:STOP_ASYNC_VALIDATION,meta:{form:$},payload:_e,error:!!(_e&&Object.keys(_e).length)}},stopSubmit=function o($,_e){return{type:STOP_SUBMIT,meta:{form:$},payload:_e,error:!!(_e&&Object.keys(_e).length)}},submit=function o($){return{type:SUBMIT,meta:{form:$}}},setSubmitFailed=function o($){for(var _e=arguments.length,et=new Array(_e>1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:SET_SUBMIT_FAILED,meta:{form:$,fields:et},error:!0}},setSubmitSucceeded=function o($){for(var _e=arguments.length,et=new Array(_e>1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:SET_SUBMIT_SUCCEEDED,meta:{form:$,fields:et},error:!1}},touch=function o($){for(var _e=arguments.length,et=new Array(_e>1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:TOUCH,meta:{form:$,fields:et}}},unregisterField=function o($,_e,et){return et===void 0&&(et=!0),{type:UNREGISTER_FIELD,meta:{form:$},payload:{name:_e,destroyOnUnmount:et}}},untouch=function o($){for(var _e=arguments.length,et=new Array(_e>1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:UNTOUCH,meta:{form:$,fields:et}}},updateSyncErrors=function o($,_e,et){return _e===void 0&&(_e={}),{type:UPDATE_SYNC_ERRORS,meta:{form:$},payload:{syncErrors:_e,error:et}}},updateSyncWarnings=function o($,_e,et){return _e===void 0&&(_e={}),{type:UPDATE_SYNC_WARNINGS,meta:{form:$},payload:{syncWarnings:_e,warning:et}}},actions$4={arrayInsert:arrayInsert$1,arrayMove:arrayMove$1,arrayPop:arrayPop$1,arrayPush:arrayPush$1,arrayRemove:arrayRemove$1,arrayRemoveAll:arrayRemoveAll$1,arrayShift:arrayShift$1,arraySplice:arraySplice$1,arraySwap:arraySwap$1,arrayUnshift:arrayUnshift$1,autofill,blur:blur$1,change:change$2,clearFields,clearSubmit,clearSubmitErrors,clearAsyncError,destroy,focus:focus$1,initialize,registerField,reset:reset$3,resetSection,startAsyncValidation,startSubmit,stopAsyncValidation,stopSubmit,submit,setSubmitFailed,setSubmitSucceeded,touch,unregisterField,untouch,updateSyncErrors,updateSyncWarnings};const actions$5=actions$4;var ReduxFormContext=reactExports.createContext(null),renderChildren=function o($,_e){var et=_e.forwardedRef,tt=_objectWithoutPropertiesLoose$7(_e,["forwardedRef"]);return function(rt){return reactExports.createElement($,_extends$2i({},tt,{_reduxForm:rt,ref:et}))}},withReduxForm=function o($){var _e=function(tt){_inheritsLoose$1(rt,tt);function rt(){return tt.apply(this,arguments)||this}var at=rt.prototype;return at.render=function(){return reactExports.createElement(ReduxFormContext.Consumer,{children:renderChildren($,this.props)})},rt}(reactExports.Component),et=reactExports.forwardRef(function(tt,rt){return reactExports.createElement(_e,_extends$2i({},tt,{forwardedRef:rt}))});return et.displayName=$.displayName||$.name||"Component",et},defaultShouldAsyncValidate=function o($){var _e=$.initialized,et=$.trigger,tt=$.pristine,rt=$.syncValidationPasses;if(!rt)return!1;switch(et){case"blur":case"change":return!0;case"submit":return!tt||!_e;default:return!1}};const defaultShouldAsyncValidate$1=defaultShouldAsyncValidate;var defaultShouldValidate=function o($){var _e=$.values,et=$.nextProps,tt=$.initialRender,rt=$.lastFieldValidatorKeys,at=$.fieldValidatorKeys,nt=$.structure;return tt?!0:!nt.deepEqual(_e,et&&et.values)||!nt.deepEqual(rt,at)};const defaultShouldValidate$1=defaultShouldValidate;var defaultShouldError=function o($){var _e=$.values,et=$.nextProps,tt=$.initialRender,rt=$.lastFieldValidatorKeys,at=$.fieldValidatorKeys,nt=$.structure;return tt?!0:!nt.deepEqual(_e,et&&et.values)||!nt.deepEqual(rt,at)};const defaultShouldError$1=defaultShouldError;var defaultShouldWarn=function o($){var _e=$.values,et=$.nextProps,tt=$.initialRender,rt=$.lastFieldValidatorKeys,at=$.fieldValidatorKeys,nt=$.structure;return tt?!0:!nt.deepEqual(_e,et&&et.values)||!nt.deepEqual(rt,at)};const defaultShouldWarn$1=defaultShouldWarn;var formatName=function o($,_e){var et=$._reduxForm.sectionPrefix;return et?et+"."+_e:_e};const prefixName=formatName;var validateComponentProp=function o($,_e,et){return reactIsExports.isValidElementType($[_e])?null:new Error("Invalid prop `"+_e+"` supplied to `"+et+"`.")};const validateComponentProp$1=validateComponentProp;function _classCallCheck$U(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$U(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$U(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}function _extendableBuiltin(o){function $(){o.apply(this,arguments)}return $.prototype=Object.create(o.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf($,o):$.__proto__=o,$}(function(o){_inherits$U($,o);function $(){var _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";_classCallCheck$U(this,$);var et=_possibleConstructorReturn$U(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return Object.defineProperty(et,"message",{configurable:!0,enumerable:!1,value:_e,writable:!0}),Object.defineProperty(et,"name",{configurable:!0,enumerable:!1,value:et.constructor.name,writable:!0}),Error.hasOwnProperty("captureStackTrace")?(Error.captureStackTrace(et,et.constructor),_possibleConstructorReturn$U(et)):(Object.defineProperty(et,"stack",{configurable:!0,enumerable:!1,value:new Error(_e).stack,writable:!0}),et)}return $})(_extendableBuiltin(Error));var __FLAG__="@@redux-form/submission-error-flag";function isSubmissionError(o){return(o&&o.constructor&&o.constructor.__FLAG__===__FLAG__)===!0}function _defineProperties$b(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$U(o,$,_e){return $&&_defineProperties$b(o.prototype,$),_e&&_defineProperties$b(o,_e),Object.defineProperty(o,"prototype",{writable:!1}),o}var processProps$1=function o($,_e,et,tt){var rt=_e.value;return $==="checkbox"?_extends$2i({},_e,{checked:!!rt}):$==="radio"?_extends$2i({},_e,{checked:tt(rt,et),value:et}):$==="select-multiple"?_extends$2i({},_e,{value:rt||[]}):$==="file"?_extends$2i({},_e,{value:rt||void 0}):_e};function createFieldProps(o,$,_e){var et=o.getIn,tt=o.toJS,rt=o.deepEqual,at=_e.asyncError,nt=_e.asyncValidating,it=_e.onBlur,ot=_e.onChange,st=_e.onDrop,lt=_e.onDragStart,ct=_e.dirty,ut=_e.dispatch,ft=_e.onFocus,At=_e.form,vt=_e.format,ht=_e.initial;_e.parse;var bt=_e.pristine,pt=_e.props,dt=_e.state,_t=_e.submitError,Ct=_e.submitFailed,gt=_e.submitting,yt=_e.syncError,xt=_e.syncWarning;_e.validate;var Et=_e.value,It=_e._value;_e.warn;var Tt=_objectWithoutPropertiesLoose$7(_e,["asyncError","asyncValidating","onBlur","onChange","onDrop","onDragStart","dirty","dispatch","onFocus","form","format","initial","parse","pristine","props","state","submitError","submitFailed","submitting","syncError","syncWarning","validate","value","_value","warn"]),Rt=yt||at||_t,Ot=xt,Mt=function(Vt,zt){if(zt===null)return Vt;var Nt=Vt==null?"":Vt;return zt?zt(Vt,$):Nt},Bt=Mt(Et,vt);return{input:processProps$1(Tt.type,{name:$,onBlur:it,onChange:ot,onDragStart:lt,onDrop:st,onFocus:ft,value:Bt},It,rt),meta:_extends$2i({},tt(dt),{active:!!(dt&&et(dt,"active")),asyncValidating:nt,autofilled:!!(dt&&et(dt,"autofilled")),dirty:ct,dispatch:ut,error:Rt,form:At,initial:ht,warning:Ot,invalid:!!Rt,pristine:bt,submitting:!!gt,submitFailed:!!Ct,touched:!!(dt&&et(dt,"touched")),valid:!Rt,visited:!!(dt&&et(dt,"visited"))}),custom:_extends$2i({},Tt,{},pt)}}var isEvent=function o($){return!!($&&$.stopPropagation&&$.preventDefault)};const isEvent$1=isEvent;var getSelectedValues=function o($){var _e=[];if($)for(var et=0;et<$.length;et++){var tt=$[et];tt.selected&&_e.push(tt.value)}return _e},getValue=function o($,_e){if(isEvent$1($)){if(!_e&&$.nativeEvent&&$.nativeEvent.text!==void 0||_e&&$.nativeEvent!==void 0)return $.nativeEvent.text;var et=$,tt=et.target,rt=tt.type,at=tt.value,nt=tt.checked,it=tt.files,ot=et.dataTransfer;return rt==="checkbox"?!!nt:rt==="file"?it||ot&&ot.files:rt==="select-multiple"?getSelectedValues($.target.options):at}return $};const getValue$1=getValue;var isReactNative=typeof window<"u"&&window.navigator&&window.navigator.product&&window.navigator.product==="ReactNative";const isReactNative$1=isReactNative;var onChangeValue=function o($,_e){var et=_e.name,tt=_e.parse,rt=_e.normalize,at=getValue$1($,isReactNative$1);return tt&&(at=tt(at,et)),rt&&(at=rt(et,at)),at};const onChangeValue$1=onChangeValue;var dataKey="text",splice=function o($,_e,et,tt){if($=$||[],_e<$.length){if(tt===void 0&&!et){var rt=[].concat($);return rt.splice(_e,0,!0),rt[_e]=void 0,rt}if(tt!=null){var at=[].concat($);return at.splice(_e,et,tt),at}var nt=[].concat($);return nt.splice(_e,et),nt}if(et)return $;var it=[].concat($);return it[_e]=tt,it};const splice$1=splice;var getIn=function o($,_e){if(!$)return $;var et=toPath_1(_e),tt=et.length;if(tt){for(var rt=$,at=0;at=et.length)return _e;var at=et[tt],nt=$&&(Array.isArray($)?$[Number(at)]:$[at]),it=o(nt,_e,et,tt+1);if(!$){if(isNaN(at)){var ot;return ot={},ot[at]=it,ot}var st=[];return st[parseInt(at,10)]=it,st}if(Array.isArray($)){var lt=[].concat($);return lt[parseInt(at,10)]=it,lt}return _extends$2i({},$,(rt={},rt[at]=it,rt))},setIn=function o($,_e,et){return setInWithPath($,et,toPath_1(_e),0)};const setIn$1=setIn;function isNil(o){return o==null}var isNil_1=isNil,baseIsEqual$1=_baseIsEqual;function isEqualWith(o,$,_e){_e=typeof _e=="function"?_e:void 0;var et=_e?_e(o,$):void 0;return et===void 0?baseIsEqual$1(o,$,void 0,_e):!!et}var isEqualWith_1=isEqualWith;const _isEqualWith=isEqualWith_1;var isEmpty=function o($){return isNil_1($)||$===""||isNaN($)},customizer$1=function o($,_e){if($===_e)return!0;if(!$&&!_e)return isEmpty($)===isEmpty(_e);if($&&_e&&$._error!==_e._error||$&&_e&&$._warning!==_e._warning||React$k.isValidElement($)||React$k.isValidElement(_e))return!1},deepEqual$2=function o($,_e){return _isEqualWith($,_e,customizer$1)};const deepEqual$3=deepEqual$2;function deleteInWithPath(o,$){if(o==null||$===void 0||$===null)return o;for(var _e=arguments.length,et=new Array(_e>2?_e-2:0),tt=2;tt<_e;tt++)et[tt-2]=arguments[tt];if(et.length){if(Array.isArray(o)){if(isNaN($))throw new Error('Must access array elements with a number, not "'+String($)+'".');var rt=Number($);if(rt1?at-1:0),it=1;it0}).some(function(vt){return et($(At,"['"+vt+"']"),ct,ut,ft)}):!0}}}var reactIs=reactIsExports,REACT_STATICS={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS={};TYPE_STATICS[reactIs.ForwardRef]=FORWARD_REF_STATICS;TYPE_STATICS[reactIs.Memo]=MEMO_STATICS;function getStatics(o){return reactIs.isMemo(o)?MEMO_STATICS:TYPE_STATICS[o.$$typeof]||REACT_STATICS}var defineProperty$1=Object.defineProperty,getOwnPropertyNames=Object.getOwnPropertyNames,getOwnPropertySymbols=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$2=Object.getOwnPropertyDescriptor,getPrototypeOf$2=Object.getPrototypeOf,objectPrototype=Object.prototype;function hoistNonReactStatics(o,$,_e){if(typeof $!="string"){if(objectPrototype){var et=getPrototypeOf$2($);et&&et!==objectPrototype&&hoistNonReactStatics(o,et,_e)}var tt=getOwnPropertyNames($);getOwnPropertySymbols&&(tt=tt.concat(getOwnPropertySymbols($)));for(var rt=getStatics(o),at=getStatics($),nt=0;nt1?et-1:0),rt=1;rt0){var vt=lt.substring(0,At);if(vt[vt.length-1]!=="]"){var ht=tt(ft,vt);if(_e(ht,et))return ot(ft,vt)}}return ft};return it}}var shouldDelete=function o($){var _e=$.getIn;return function(et,tt){var rt=null;/^values/.test(tt)&&(rt=tt.replace("values","initial"));var at=rt?_e(et,rt)===void 0:!0;return _e(et,tt)!==void 0&&at}},isReduxFormAction=function o($){return $&&$.type&&$.type.length>prefix$1.length&&$.type.substring(0,prefix$1.length)===prefix$1};function createReducer(o){var $,_e=o.deepEqual,et=o.empty,tt=o.forEach,rt=o.getIn,at=o.setIn,nt=o.deleteIn,it=o.fromJS,ot=o.keys,st=o.size,lt=o.some,ct=o.splice,ut=createDeleteInWithCleanUp(o)(shouldDelete),ft=createDeleteInWithCleanUp(plain)(shouldDelete),At=function(yt,xt,Et,It,Tt,Rt,Ot){var Mt=rt(yt,xt+"."+Et);return Mt||Ot?at(yt,xt+"."+Et,ct(Mt,It,Tt,Rt)):yt},vt=function(yt,xt,Et,It,Tt,Rt,Ot){var Mt=rt(yt,xt),Bt=plain.getIn(Mt,Et);return Bt||Ot?at(yt,xt,plain.setIn(Mt,Et,plain.splice(Bt,It,Tt,Rt))):yt},ht=["values","fields","submitErrors","asyncErrors"],bt=function(yt,xt,Et,It,Tt){var Rt=yt,Ot=Tt!=null?et:void 0;return Rt=At(Rt,"values",xt,Et,It,Tt,!0),Rt=At(Rt,"fields",xt,Et,It,Ot),Rt=vt(Rt,"syncErrors",xt,Et,It,void 0),Rt=vt(Rt,"syncWarnings",xt,Et,It,void 0),Rt=At(Rt,"submitErrors",xt,Et,It,void 0),Rt=At(Rt,"asyncErrors",xt,Et,It,void 0),Rt},pt=($={},$[ARRAY_INSERT]=function(gt,yt){var xt=yt.meta,Et=xt.field,It=xt.index,Tt=yt.payload;return bt(gt,Et,It,0,Tt)},$[ARRAY_MOVE]=function(gt,yt){var xt=yt.meta,Et=xt.field,It=xt.from,Tt=xt.to,Rt=rt(gt,"values."+Et),Ot=Rt?st(Rt):0,Mt=gt;return Ot&&ht.forEach(function(Bt){var Lt=Bt+"."+Et;if(rt(Mt,Lt)){var Vt=rt(Mt,Lt+"["+It+"]");Mt=at(Mt,Lt,ct(rt(Mt,Lt),It,1)),Mt=at(Mt,Lt,ct(rt(Mt,Lt),Tt,0,Vt))}}),Mt},$[ARRAY_POP]=function(gt,yt){var xt=yt.meta.field,Et=rt(gt,"values."+xt),It=Et?st(Et):0;return It?bt(gt,xt,It-1,1):gt},$[ARRAY_PUSH]=function(gt,yt){var xt=yt.meta.field,Et=yt.payload,It=rt(gt,"values."+xt),Tt=It?st(It):0;return bt(gt,xt,Tt,0,Et)},$[ARRAY_REMOVE]=function(gt,yt){var xt=yt.meta,Et=xt.field,It=xt.index;return bt(gt,Et,It,1)},$[ARRAY_REMOVE_ALL]=function(gt,yt){var xt=yt.meta.field,Et=rt(gt,"values."+xt),It=Et?st(Et):0;return It?bt(gt,xt,0,It):gt},$[ARRAY_SHIFT]=function(gt,yt){var xt=yt.meta.field;return bt(gt,xt,0,1)},$[ARRAY_SPLICE]=function(gt,yt){var xt=yt.meta,Et=xt.field,It=xt.index,Tt=xt.removeNum,Rt=yt.payload;return bt(gt,Et,It,Tt,Rt)},$[ARRAY_SWAP]=function(gt,yt){var xt=yt.meta,Et=xt.field,It=xt.indexA,Tt=xt.indexB,Rt=gt;return ht.forEach(function(Ot){var Mt=rt(Rt,Ot+"."+Et+"["+It+"]"),Bt=rt(Rt,Ot+"."+Et+"["+Tt+"]");(Mt!==void 0||Bt!==void 0)&&(Rt=at(Rt,Ot+"."+Et+"["+It+"]",Bt),Rt=at(Rt,Ot+"."+Et+"["+Tt+"]",Mt))}),Rt},$[ARRAY_UNSHIFT]=function(gt,yt){var xt=yt.meta.field,Et=yt.payload;return bt(gt,xt,0,0,Et)},$[AUTOFILL]=function(gt,yt){var xt=yt.meta.field,Et=yt.payload,It=gt;return It=ut(It,"asyncErrors."+xt),It=ut(It,"submitErrors."+xt),It=at(It,"fields."+xt+".autofilled",!0),It=at(It,"values."+xt,Et),It},$[BLUR]=function(gt,yt){var xt=yt.meta,Et=xt.field,It=xt.touch,Tt=yt.payload,Rt=gt,Ot=rt(Rt,"initial."+Et);return Ot===void 0&&Tt===""?Rt=ut(Rt,"values."+Et):Tt!==void 0&&(Rt=at(Rt,"values."+Et,Tt)),Et===rt(Rt,"active")&&(Rt=nt(Rt,"active")),Rt=nt(Rt,"fields."+Et+".active"),It&&(Rt=at(Rt,"fields."+Et+".touched",!0),Rt=at(Rt,"anyTouched",!0)),Rt},$[CHANGE]=function(gt,yt){var xt=yt.meta,Et=xt.field,It=xt.touch,Tt=xt.persistentSubmitErrors,Rt=yt.payload,Ot=gt,Mt=rt(Ot,"initial."+Et);if(Mt===void 0&&Rt===""||Rt===void 0)Ot=ut(Ot,"values."+Et);else if(isFunction_1(Rt)){var Bt=rt(gt,"values."+Et);Ot=at(Ot,"values."+Et,Rt(Bt,gt.values))}else Ot=at(Ot,"values."+Et,Rt);return Ot=ut(Ot,"asyncErrors."+Et),Tt||(Ot=ut(Ot,"submitErrors."+Et)),Ot=ut(Ot,"fields."+Et+".autofilled"),It&&(Ot=at(Ot,"fields."+Et+".touched",!0),Ot=at(Ot,"anyTouched",!0)),Ot},$[CLEAR_SUBMIT]=function(gt){return nt(gt,"triggerSubmit")},$[CLEAR_SUBMIT_ERRORS]=function(gt){var yt=gt;return yt=ut(yt,"submitErrors"),yt=nt(yt,"error"),yt},$[CLEAR_ASYNC_ERROR]=function(gt,yt){var xt=yt.meta.field;return nt(gt,"asyncErrors."+xt)},$[CLEAR_FIELDS]=function(gt,yt){var xt=yt.meta,Et=xt.keepTouched,It=xt.persistentSubmitErrors,Tt=xt.fields,Rt=gt;Tt.forEach(function(Mt){Rt=ut(Rt,"asyncErrors."+Mt),It||(Rt=ut(Rt,"submitErrors."+Mt)),Rt=ut(Rt,"fields."+Mt+".autofilled"),Et||(Rt=nt(Rt,"fields."+Mt+".touched"));var Bt=rt(gt,"initial."+Mt);Rt=Bt?at(Rt,"values."+Mt,Bt):ut(Rt,"values."+Mt)});var Ot=lt(ot(rt(Rt,"registeredFields")),function(Mt){return rt(Rt,"fields."+Mt+".touched")});return Rt=Ot?at(Rt,"anyTouched",!0):nt(Rt,"anyTouched"),Rt},$[FOCUS]=function(gt,yt){var xt=yt.meta.field,Et=gt,It=rt(gt,"active");return Et=nt(Et,"fields."+It+".active"),Et=at(Et,"fields."+xt+".visited",!0),Et=at(Et,"fields."+xt+".active",!0),Et=at(Et,"active",xt),Et},$[INITIALIZE]=function(gt,yt){var xt=yt.payload,Et=yt.meta,It=Et.keepDirty,Tt=Et.keepSubmitSucceeded,Rt=Et.updateUnregisteredFields,Ot=Et.keepValues,Mt=it(xt),Bt=et,Lt=rt(gt,"warning");Lt&&(Bt=at(Bt,"warning",Lt));var Vt=rt(gt,"syncWarnings");Vt&&(Bt=at(Bt,"syncWarnings",Vt));var zt=rt(gt,"error");zt&&(Bt=at(Bt,"error",zt));var Nt=rt(gt,"syncErrors");Nt&&(Bt=at(Bt,"syncErrors",Nt));var Wt=rt(gt,"registeredFields");Wt&&(Bt=at(Bt,"registeredFields",Wt));var Jt=rt(gt,"values"),nr=rt(gt,"initial"),er=Mt,Xt=Jt;if(It&&Wt){if(!_e(er,nr)){var tr=function(Gt){var Ft=rt(nr,Gt),jt=rt(Jt,Gt);if(_e(jt,Ft)){var qt=rt(er,Gt);rt(Xt,Gt)!==qt&&(Xt=at(Xt,Gt,qt))}};Rt||tt(ot(Wt),function(Zt){return tr(Zt)}),tt(ot(er),function(Zt){var Gt=rt(nr,Zt);if(typeof Gt>"u"){var Ft=rt(er,Zt);Xt=at(Xt,Zt,Ft)}Rt&&tr(Zt)})}}else Xt=er;return Ot&&(tt(ot(Jt),function(Zt){var Gt=rt(Jt,Zt);Xt=at(Xt,Zt,Gt)}),tt(ot(nr),function(Zt){var Gt=rt(nr,Zt);er=at(er,Zt,Gt)})),Tt&&rt(gt,"submitSucceeded")&&(Bt=at(Bt,"submitSucceeded",!0)),Bt=at(Bt,"values",Xt),Bt=at(Bt,"initial",er),Bt},$[REGISTER_FIELD]=function(gt,yt){var xt=yt.payload,Et=xt.name,It=xt.type,Tt="registeredFields['"+Et+"']",Rt=rt(gt,Tt);if(Rt){var Ot=rt(Rt,"count")+1;Rt=at(Rt,"count",Ot)}else Rt=it({name:Et,type:It,count:1});return at(gt,Tt,Rt)},$[RESET]=function(gt){var yt=et,xt=rt(gt,"registeredFields");xt&&(yt=at(yt,"registeredFields",xt));var Et=rt(gt,"initial");return Et&&(yt=at(yt,"values",Et),yt=at(yt,"initial",Et)),yt},$[RESET_SECTION]=function(gt,yt){var xt=yt.meta.sections,Et=gt;xt.forEach(function(Tt){Et=ut(Et,"asyncErrors."+Tt),Et=ut(Et,"submitErrors."+Tt),Et=ut(Et,"fields."+Tt);var Rt=rt(gt,"initial."+Tt);Et=Rt?at(Et,"values."+Tt,Rt):ut(Et,"values."+Tt)});var It=lt(ot(rt(Et,"registeredFields")),function(Tt){return rt(Et,"fields."+Tt+".touched")});return Et=It?at(Et,"anyTouched",!0):nt(Et,"anyTouched"),Et},$[SUBMIT]=function(gt){return at(gt,"triggerSubmit",!0)},$[START_ASYNC_VALIDATION]=function(gt,yt){var xt=yt.meta.field;return at(gt,"asyncValidating",xt||!0)},$[START_SUBMIT]=function(gt){return at(gt,"submitting",!0)},$[STOP_ASYNC_VALIDATION]=function(gt,yt){var xt=yt.payload,Et=gt;if(Et=nt(Et,"asyncValidating"),xt&&Object.keys(xt).length){var It=xt._error,Tt=_objectWithoutPropertiesLoose$7(xt,["_error"]);It&&(Et=at(Et,"error",It)),Object.keys(Tt).length&&(Et=at(Et,"asyncErrors",it(Tt)))}else Et=nt(Et,"error"),Et=nt(Et,"asyncErrors");return Et},$[STOP_SUBMIT]=function(gt,yt){var xt=yt.payload,Et=gt;if(Et=nt(Et,"submitting"),Et=nt(Et,"submitFailed"),Et=nt(Et,"submitSucceeded"),xt&&Object.keys(xt).length){var It=xt._error,Tt=_objectWithoutPropertiesLoose$7(xt,["_error"]);It?Et=at(Et,"error",It):Et=nt(Et,"error"),Object.keys(Tt).length?Et=at(Et,"submitErrors",it(Tt)):Et=nt(Et,"submitErrors"),Et=at(Et,"submitFailed",!0)}else Et=nt(Et,"error"),Et=nt(Et,"submitErrors");return Et},$[SET_SUBMIT_FAILED]=function(gt,yt){var xt=yt.meta.fields,Et=gt;return Et=at(Et,"submitFailed",!0),Et=nt(Et,"submitSucceeded"),Et=nt(Et,"submitting"),xt.forEach(function(It){return Et=at(Et,"fields."+It+".touched",!0)}),xt.length&&(Et=at(Et,"anyTouched",!0)),Et},$[SET_SUBMIT_SUCCEEDED]=function(gt){var yt=gt;return yt=nt(yt,"submitFailed"),yt=at(yt,"submitSucceeded",!0),yt},$[TOUCH]=function(gt,yt){var xt=yt.meta.fields,Et=gt;return xt.forEach(function(It){return Et=at(Et,"fields."+It+".touched",!0)}),Et=at(Et,"anyTouched",!0),Et},$[UNREGISTER_FIELD]=function(gt,yt){var xt=yt.payload,Et=xt.name,It=xt.destroyOnUnmount,Tt=gt,Rt="registeredFields['"+Et+"']",Ot=rt(Tt,Rt);if(!Ot)return Tt;var Mt=rt(Ot,"count")-1;if(Mt<=0&&It){Tt=nt(Tt,Rt),_e(rt(Tt,"registeredFields"),et)&&(Tt=nt(Tt,"registeredFields"));var Bt=rt(Tt,"syncErrors");Bt&&(Bt=ft(Bt,Et),plain.deepEqual(Bt,plain.empty)?Tt=nt(Tt,"syncErrors"):Tt=at(Tt,"syncErrors",Bt));var Lt=rt(Tt,"syncWarnings");Lt&&(Lt=ft(Lt,Et),plain.deepEqual(Lt,plain.empty)?Tt=nt(Tt,"syncWarnings"):Tt=at(Tt,"syncWarnings",Lt)),Tt=ut(Tt,"submitErrors."+Et),Tt=ut(Tt,"asyncErrors."+Et)}else Ot=at(Ot,"count",Mt),Tt=at(Tt,Rt,Ot);return Tt},$[UNTOUCH]=function(gt,yt){var xt=yt.meta.fields,Et=gt;xt.forEach(function(Tt){return Et=nt(Et,"fields."+Tt+".touched")});var It=lt(ot(rt(Et,"registeredFields")),function(Tt){return rt(Et,"fields."+Tt+".touched")});return Et=It?at(Et,"anyTouched",!0):nt(Et,"anyTouched"),Et},$[UPDATE_SYNC_ERRORS]=function(gt,yt){var xt=yt.payload,Et=xt.syncErrors,It=xt.error,Tt=gt;return It?(Tt=at(Tt,"error",It),Tt=at(Tt,"syncError",!0)):(Tt=nt(Tt,"error"),Tt=nt(Tt,"syncError")),Object.keys(Et).length?Tt=at(Tt,"syncErrors",Et):Tt=nt(Tt,"syncErrors"),Tt},$[UPDATE_SYNC_WARNINGS]=function(gt,yt){var xt=yt.payload,Et=xt.syncWarnings,It=xt.warning,Tt=gt;return It?Tt=at(Tt,"warning",It):Tt=nt(Tt,"warning"),Object.keys(Et).length?Tt=at(Tt,"syncWarnings",Et):Tt=nt(Tt,"syncWarnings"),Tt},$),dt=function(yt,xt){yt===void 0&&(yt=et);var Et=pt[xt.type];return Et?Et(yt,xt):yt},_t=function(yt){return function(xt,Et){xt===void 0&&(xt=et),Et===void 0&&(Et={type:"NONE"});var It=Et&&Et.meta&&Et.meta.form;if(!It||!isReduxFormAction(Et))return xt;if(Et.type===DESTROY&&Et.meta&&Et.meta.form)return Et.meta.form.reduce(function(Ot,Mt){return ut(Ot,Mt)},xt);var Tt=rt(xt,It),Rt=yt(Tt,Et);return Rt===Tt?xt:at(xt,It,Rt)}};function Ct(gt){return gt.plugin=function(yt,xt){var Et=this;return xt===void 0&&(xt={}),Ct(function(It,Tt){It===void 0&&(It=et),Tt===void 0&&(Tt={type:"NONE"});var Rt=function(Lt,Vt){var zt=rt(Lt,Vt),Nt=yt[Vt](zt,Tt,rt(It,Vt));return Nt!==zt?at(Lt,Vt,Nt):Lt},Ot=Et(It,Tt),Mt=Tt&&Tt.meta&&Tt.meta.form;return Mt&&!xt.receiveAllFormActions?yt[Mt]?Rt(Ot,Mt):Ot:Object.keys(yt).reduce(Rt,Ot)})},gt}return Ct(_t(dt))}const formReducer=createReducer(plain);actions$5.arrayInsert;actions$5.arrayMove;actions$5.arrayPop;actions$5.arrayPush;actions$5.arrayRemove;actions$5.arrayRemoveAll;actions$5.arrayShift;actions$5.arraySplice;actions$5.arraySwap;actions$5.arrayUnshift;actions$5.autofill;actions$5.blur;var change=actions$5.change;actions$5.clearAsyncError;actions$5.clearFields;actions$5.clearSubmit;actions$5.clearSubmitErrors;actions$5.destroy;actions$5.focus;actions$5.initialize;actions$5.registerField;actions$5.reset;actions$5.resetSection;actions$5.setSubmitFailed;actions$5.setSubmitSucceeded;actions$5.startAsyncValidation;actions$5.startSubmit;actions$5.stopAsyncValidation;actions$5.stopSubmit;actions$5.submit;actions$5.touch;actions$5.unregisterField;actions$5.untouch;actions$5.updateSyncWarnings;actions$5.updateSyncErrors;const SUBMIT_BTN="submit-btn",DEFAULT_OPERATION="all",DEFAULT_LOOKBACK="1h",DEFAULT_LIMIT=20,FORM_CHANGE_ACTION_TYPE="@@redux-form/CHANGE",ACTION_SET="set",ACTION_CLEAR="clear",ACTION_DEFAULT="default",CATEGORY_SORTBY="jaeger/ux/search/results/sortby",FORM_CATEGORY_BASE="jaeger/ux/search/form",CATEGORY_OPERATION=`${FORM_CATEGORY_BASE}/operation`,CATEGORY_LOOKBACK=`${FORM_CATEGORY_BASE}/lookback`,CATEGORY_TAGS$1=`${FORM_CATEGORY_BASE}/tags`,CATEGORY_MIN_DURATION=`${FORM_CATEGORY_BASE}/min_duration`,CATEGORY_MAX_DURATION=`${FORM_CATEGORY_BASE}/max_duration`,CATEGORY_LIMIT=`${FORM_CATEGORY_BASE}/limit`,CATEGORY_SERVICE=`${FORM_CATEGORY_BASE}/serviceName`;function trackFormInput(o,$,_e,et,tt,rt,at){trackEvent(CATEGORY_OPERATION,$===DEFAULT_OPERATION?ACTION_DEFAULT:ACTION_SET),trackEvent(CATEGORY_LIMIT,o===DEFAULT_LIMIT?ACTION_DEFAULT:ACTION_SET),trackEvent(CATEGORY_MAX_DURATION,tt?ACTION_SET:ACTION_CLEAR),trackEvent(CATEGORY_MIN_DURATION,et?ACTION_SET:ACTION_CLEAR),trackEvent(CATEGORY_TAGS$1,_e?ACTION_SET:ACTION_CLEAR),trackEvent(CATEGORY_LOOKBACK,rt),trackEvent(CATEGORY_SERVICE,at)}const middlewareHooks$2={[FORM_CHANGE_ACTION_TYPE]:(o,$)=>{$.meta.form==="sortBy"&&trackEvent(CATEGORY_SORTBY,$.payload)}};var getPrototypeOfExports={},getPrototypeOf$1={get exports(){return getPrototypeOfExports},set exports(o){getPrototypeOfExports=o}},$export$3=_export,core$1=_coreExports,fails=_fails,_objectSap=function(o,$){var _e=(core$1.Object||{})[o]||Object[o],et={};et[o]=$(_e),$export$3($export$3.S+$export$3.F*fails(function(){_e(1)}),"Object",et)},toObject$1=require_toObject(),$getPrototypeOf=_objectGpo;_objectSap("getPrototypeOf",function(){return function($){return $getPrototypeOf(toObject$1($))}});var getPrototypeOf=_coreExports.Object.getPrototypeOf;(function(o){o.exports={default:getPrototypeOf,__esModule:!0}})(getPrototypeOf$1);const _Object$getPrototypeOf=getDefaultExportFromCjs(getPrototypeOfExports);var AutosizeInput$1={};Object.defineProperty(AutosizeInput$1,"__esModule",{value:!0});var _extends$1d=Object.assign||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}function _classCallCheck$T(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$T(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$T(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var sizerStyle={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},INPUT_PROPS_BLACKLIST=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],cleanInputProps=function o($){return INPUT_PROPS_BLACKLIST.forEach(function(_e){return delete $[_e]}),$},copyStyles=function o($,_e){_e.style.fontSize=$.fontSize,_e.style.fontFamily=$.fontFamily,_e.style.fontWeight=$.fontWeight,_e.style.fontStyle=$.fontStyle,_e.style.letterSpacing=$.letterSpacing,_e.style.textTransform=$.textTransform},isIE=typeof window<"u"&&window.navigator?/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent):!1,generateId=function o(){return isIE?"_"+Math.random().toString(36).substr(2,12):void 0},AutosizeInput=function(o){_inherits$T($,o);function $(_e){_classCallCheck$T(this,$);var et=_possibleConstructorReturn$T(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et.inputRef=function(tt){et.input=tt,typeof et.props.inputRef=="function"&&et.props.inputRef(tt)},et.placeHolderSizerRef=function(tt){et.placeHolderSizer=tt},et.sizerRef=function(tt){et.sizer=tt},et.state={inputWidth:_e.minWidth,inputId:_e.id||generateId()},et}return _createClass$T($,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentWillReceiveProps",value:function(et){var tt=et.id;tt!==this.props.id&&this.setState({inputId:tt||generateId()})}},{key:"componentDidUpdate",value:function(et,tt){tt.inputWidth!==this.state.inputWidth&&typeof this.props.onAutosize=="function"&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(!(!this.mounted||!window.getComputedStyle)){var et=this.input&&window.getComputedStyle(this.input);et&&(copyStyles(et,this.sizer),this.placeHolderSizer&©Styles(et,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(!(!this.mounted||!this.sizer||typeof this.sizer.scrollWidth>"u")){var et=void 0;this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?et=Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:et=this.sizer.scrollWidth+2;var tt=this.props.type==="number"&&this.props.extraWidth===void 0?16:parseInt(this.props.extraWidth)||0;et+=tt,et-1)return!1;if(tt.filterOption)return tt.filterOption.call(void 0,rt,_e);if(!_e)return!0;var at=rt[tt.valueKey],nt=rt[tt.labelKey],it=isValid(at),ot=isValid(nt);if(!it&&!ot)return!1;var st=it?String(at):null,lt=ot?String(nt):null;return tt.ignoreAccents&&(st&&tt.matchProp!=="label"&&(st=stripDiacritics(st)),lt&&tt.matchProp!=="value"&&(lt=stripDiacritics(lt))),tt.ignoreCase&&(st&&tt.matchProp!=="label"&&(st=st.toLowerCase()),lt&&tt.matchProp!=="value"&&(lt=lt.toLowerCase())),tt.matchPos==="start"?st&&tt.matchProp!=="label"&&st.substr(0,_e.length)===_e||lt&&tt.matchProp!=="value"&<.substr(0,_e.length)===_e:st&&tt.matchProp!=="label"&&st.indexOf(_e)>=0||lt&&tt.matchProp!=="value"&<.indexOf(_e)>=0})},menuRenderer=function o($){var _e=$.focusedOption,et=$.focusOption,tt=$.inputValue,rt=$.instancePrefix,at=$.onFocus,nt=$.onOptionRef,it=$.onSelect,ot=$.optionClassName,st=$.optionComponent,lt=$.optionRenderer,ct=$.options,ut=$.removeValue,ft=$.selectValue,At=$.valueArray,vt=$.valueKey,ht=st;return ct.map(function(bt,pt){var dt=At&&At.some(function(gt){return gt[vt]===bt[vt]}),_t=bt===_e,Ct=classnamesExports(ot,{"Select-option":!0,"is-selected":dt,"is-focused":_t,"is-disabled":bt.disabled});return React$k.createElement(ht,{className:Ct,focusOption:et,inputValue:tt,instancePrefix:rt,isDisabled:bt.disabled,isFocused:_t,isSelected:dt,key:"option-"+pt+"-"+bt[vt],onFocus:at,onSelect:it,option:bt,optionIndex:pt,ref:function(yt){nt(yt,_t)},removeValue:ut,selectValue:ft},lt(bt,pt,tt))})};menuRenderer.propTypes={focusOption:propTypesExports.func,focusedOption:propTypesExports.object,inputValue:propTypesExports.string,instancePrefix:propTypesExports.string,onFocus:propTypesExports.func,onOptionRef:propTypesExports.func,onSelect:propTypesExports.func,optionClassName:propTypesExports.string,optionComponent:propTypesExports.func,optionRenderer:propTypesExports.func,options:propTypesExports.array,removeValue:propTypesExports.func,selectValue:propTypesExports.func,valueArray:propTypesExports.array,valueKey:propTypesExports.string};var blockEvent=function(o){o.preventDefault(),o.stopPropagation(),!(o.target.tagName!=="A"||!("href"in o.target))&&(o.target.target?window.open(o.target.href,o.target.target):window.location.href=o.target.href)},_typeof$9=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},classCallCheck=function(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")},createClass=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),Object.defineProperty($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),defineProperty=function(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o},_extends$1c=Object.assign||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e},possibleConstructorReturn=function(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o},Option$3=function(o){inherits($,o);function $(_e){classCallCheck(this,$);var et=possibleConstructorReturn(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et.handleMouseDown=et.handleMouseDown.bind(et),et.handleMouseEnter=et.handleMouseEnter.bind(et),et.handleMouseMove=et.handleMouseMove.bind(et),et.handleTouchStart=et.handleTouchStart.bind(et),et.handleTouchEnd=et.handleTouchEnd.bind(et),et.handleTouchMove=et.handleTouchMove.bind(et),et.onFocus=et.onFocus.bind(et),et}return createClass($,[{key:"handleMouseDown",value:function(et){et.preventDefault(),et.stopPropagation(),this.props.onSelect(this.props.option,et)}},{key:"handleMouseEnter",value:function(et){this.onFocus(et)}},{key:"handleMouseMove",value:function(et){this.onFocus(et)}},{key:"handleTouchEnd",value:function(et){this.dragging||this.handleMouseDown(et)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(et){this.props.isFocused||this.props.onFocus(this.props.option,et)}},{key:"render",value:function(){var et=this.props,tt=et.option,rt=et.instancePrefix,at=et.optionIndex,nt=classnamesExports(this.props.className,tt.className);return tt.disabled?React$k.createElement("div",{className:nt,onMouseDown:blockEvent,onClick:blockEvent},this.props.children):React$k.createElement("div",{className:nt,style:tt.style,role:"option","aria-label":tt.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:rt+"-option-"+at,title:tt.title},this.props.children)}}]),$}(React$k.Component);Option$3.propTypes={children:propTypesExports.node,className:propTypesExports.string,instancePrefix:propTypesExports.string.isRequired,isDisabled:propTypesExports.bool,isFocused:propTypesExports.bool,isSelected:propTypesExports.bool,onFocus:propTypesExports.func,onSelect:propTypesExports.func,onUnfocus:propTypesExports.func,option:propTypesExports.object.isRequired,optionIndex:propTypesExports.number};var Value=function(o){inherits($,o);function $(_e){classCallCheck(this,$);var et=possibleConstructorReturn(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et.handleMouseDown=et.handleMouseDown.bind(et),et.onRemove=et.onRemove.bind(et),et.handleTouchEndRemove=et.handleTouchEndRemove.bind(et),et.handleTouchMove=et.handleTouchMove.bind(et),et.handleTouchStart=et.handleTouchStart.bind(et),et}return createClass($,[{key:"handleMouseDown",value:function(et){if(!(et.type==="mousedown"&&et.button!==0)){if(this.props.onClick){et.stopPropagation(),this.props.onClick(this.props.value,et);return}this.props.value.href&&et.stopPropagation()}}},{key:"onRemove",value:function(et){et.preventDefault(),et.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(et){this.dragging||this.onRemove(et)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!(this.props.disabled||!this.props.onRemove))return React$k.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){var et="Select-value-label";return this.props.onClick||this.props.value.href?React$k.createElement("a",{className:et,href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):React$k.createElement("span",{className:et,role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return React$k.createElement("div",{className:classnamesExports("Select-value",this.props.value.disabled?"Select-value-disabled":"",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),$}(React$k.Component);Value.propTypes={children:propTypesExports.node,disabled:propTypesExports.bool,id:propTypesExports.string,onClick:propTypesExports.func,onRemove:propTypesExports.func,value:propTypesExports.object.isRequired};/*! +`&&($=$.slice(0,$.length-1));for(var st=0;st<=$.length;st++){if($[st]==" "&&!at||st==$.length){if(tt&&_e.length>0?it[_e]=!0:rt&&(et=="true"?et=!0:et=="false"?et=!1:et===""&&!nt&&(et=null),it[_e]=et,et=""),st==$.length)break;tt=!1,rt=!1,at=!1,nt=!1}$[st]=="="&&!at?(ot&&console.log("split"),tt=!1,rt=!0):$[st]=="\\"?(st++,et+=$[st],ot&&console.log("escape: "+$[st])):$[st]=='"'?(nt=!0,at=!at,ot&&console.log("in quote: "+at)):$[st]!=" "&&!rt&&!tt?(ot&&console.log("start key with: "+$[st]),tt=!0,_e=$[st]):tt?(ot&&console.log("add to key: "+$[st]),_e+=$[st]):rt&&(ot&&console.log("add to value: "+$[st]),et+=$[st])}return it}})(logfmt_parser);var stringify_1=function(o){var $="";for(var _e in o){var et=o[_e],tt=!1;et==null?(tt=!0,et=""):et=et.toString();var rt=et.indexOf(" ")>-1||et.indexOf("=")>-1,at=et.indexOf('"')>-1||et.indexOf("\\")>-1;at&&(et=et.replace(/["\\]/g,"\\$&")),rt&&(et='"'+et+'"'),et===""&&!tt&&(et='""'),$+=_e+"="+et+" "}return $.substring(0,$.length-1)},helpExports={},help={get exports(){return helpExports},set exports(o){helpExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st3?tt-3:0),at=3;at1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:RESET_SECTION,meta:{form:$,sections:et}}},startAsyncValidation=function o($,_e){return{type:START_ASYNC_VALIDATION,meta:{form:$,field:_e}}},startSubmit=function o($){return{type:START_SUBMIT,meta:{form:$}}},stopAsyncValidation=function o($,_e){return{type:STOP_ASYNC_VALIDATION,meta:{form:$},payload:_e,error:!!(_e&&Object.keys(_e).length)}},stopSubmit=function o($,_e){return{type:STOP_SUBMIT,meta:{form:$},payload:_e,error:!!(_e&&Object.keys(_e).length)}},submit=function o($){return{type:SUBMIT,meta:{form:$}}},setSubmitFailed=function o($){for(var _e=arguments.length,et=new Array(_e>1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:SET_SUBMIT_FAILED,meta:{form:$,fields:et},error:!0}},setSubmitSucceeded=function o($){for(var _e=arguments.length,et=new Array(_e>1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:SET_SUBMIT_SUCCEEDED,meta:{form:$,fields:et},error:!1}},touch=function o($){for(var _e=arguments.length,et=new Array(_e>1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:TOUCH,meta:{form:$,fields:et}}},unregisterField=function o($,_e,et){return et===void 0&&(et=!0),{type:UNREGISTER_FIELD,meta:{form:$},payload:{name:_e,destroyOnUnmount:et}}},untouch=function o($){for(var _e=arguments.length,et=new Array(_e>1?_e-1:0),tt=1;tt<_e;tt++)et[tt-1]=arguments[tt];return{type:UNTOUCH,meta:{form:$,fields:et}}},updateSyncErrors=function o($,_e,et){return _e===void 0&&(_e={}),{type:UPDATE_SYNC_ERRORS,meta:{form:$},payload:{syncErrors:_e,error:et}}},updateSyncWarnings=function o($,_e,et){return _e===void 0&&(_e={}),{type:UPDATE_SYNC_WARNINGS,meta:{form:$},payload:{syncWarnings:_e,warning:et}}},actions$4={arrayInsert:arrayInsert$1,arrayMove:arrayMove$1,arrayPop:arrayPop$1,arrayPush:arrayPush$1,arrayRemove:arrayRemove$1,arrayRemoveAll:arrayRemoveAll$1,arrayShift:arrayShift$1,arraySplice:arraySplice$1,arraySwap:arraySwap$1,arrayUnshift:arrayUnshift$1,autofill,blur:blur$1,change:change$2,clearFields,clearSubmit,clearSubmitErrors,clearAsyncError,destroy,focus:focus$1,initialize,registerField,reset:reset$3,resetSection,startAsyncValidation,startSubmit,stopAsyncValidation,stopSubmit,submit,setSubmitFailed,setSubmitSucceeded,touch,unregisterField,untouch,updateSyncErrors,updateSyncWarnings};const actions$5=actions$4;var ReduxFormContext=reactExports.createContext(null),renderChildren=function o($,_e){var et=_e.forwardedRef,tt=_objectWithoutPropertiesLoose$7(_e,["forwardedRef"]);return function(rt){return reactExports.createElement($,_extends$2i({},tt,{_reduxForm:rt,ref:et}))}},withReduxForm=function o($){var _e=function(tt){_inheritsLoose$1(rt,tt);function rt(){return tt.apply(this,arguments)||this}var at=rt.prototype;return at.render=function(){return reactExports.createElement(ReduxFormContext.Consumer,{children:renderChildren($,this.props)})},rt}(reactExports.Component),et=reactExports.forwardRef(function(tt,rt){return reactExports.createElement(_e,_extends$2i({},tt,{forwardedRef:rt}))});return et.displayName=$.displayName||$.name||"Component",et},defaultShouldAsyncValidate=function o($){var _e=$.initialized,et=$.trigger,tt=$.pristine,rt=$.syncValidationPasses;if(!rt)return!1;switch(et){case"blur":case"change":return!0;case"submit":return!tt||!_e;default:return!1}};const defaultShouldAsyncValidate$1=defaultShouldAsyncValidate;var defaultShouldValidate=function o($){var _e=$.values,et=$.nextProps,tt=$.initialRender,rt=$.lastFieldValidatorKeys,at=$.fieldValidatorKeys,nt=$.structure;return tt?!0:!nt.deepEqual(_e,et&&et.values)||!nt.deepEqual(rt,at)};const defaultShouldValidate$1=defaultShouldValidate;var defaultShouldError=function o($){var _e=$.values,et=$.nextProps,tt=$.initialRender,rt=$.lastFieldValidatorKeys,at=$.fieldValidatorKeys,nt=$.structure;return tt?!0:!nt.deepEqual(_e,et&&et.values)||!nt.deepEqual(rt,at)};const defaultShouldError$1=defaultShouldError;var defaultShouldWarn=function o($){var _e=$.values,et=$.nextProps,tt=$.initialRender,rt=$.lastFieldValidatorKeys,at=$.fieldValidatorKeys,nt=$.structure;return tt?!0:!nt.deepEqual(_e,et&&et.values)||!nt.deepEqual(rt,at)};const defaultShouldWarn$1=defaultShouldWarn;var formatName=function o($,_e){var et=$._reduxForm.sectionPrefix;return et?et+"."+_e:_e};const prefixName=formatName;var validateComponentProp=function o($,_e,et){return reactIsExports.isValidElementType($[_e])?null:new Error("Invalid prop `"+_e+"` supplied to `"+et+"`.")};const validateComponentProp$1=validateComponentProp;function _classCallCheck$U(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$U(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$U(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}function _extendableBuiltin(o){function $(){o.apply(this,arguments)}return $.prototype=Object.create(o.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf($,o):$.__proto__=o,$}(function(o){_inherits$U($,o);function $(){var _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";_classCallCheck$U(this,$);var et=_possibleConstructorReturn$U(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return Object.defineProperty(et,"message",{configurable:!0,enumerable:!1,value:_e,writable:!0}),Object.defineProperty(et,"name",{configurable:!0,enumerable:!1,value:et.constructor.name,writable:!0}),Error.hasOwnProperty("captureStackTrace")?(Error.captureStackTrace(et,et.constructor),_possibleConstructorReturn$U(et)):(Object.defineProperty(et,"stack",{configurable:!0,enumerable:!1,value:new Error(_e).stack,writable:!0}),et)}return $})(_extendableBuiltin(Error));var __FLAG__="@@redux-form/submission-error-flag";function isSubmissionError(o){return(o&&o.constructor&&o.constructor.__FLAG__===__FLAG__)===!0}function _defineProperties$b(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$U(o,$,_e){return $&&_defineProperties$b(o.prototype,$),_e&&_defineProperties$b(o,_e),Object.defineProperty(o,"prototype",{writable:!1}),o}var processProps$1=function o($,_e,et,tt){var rt=_e.value;return $==="checkbox"?_extends$2i({},_e,{checked:!!rt}):$==="radio"?_extends$2i({},_e,{checked:tt(rt,et),value:et}):$==="select-multiple"?_extends$2i({},_e,{value:rt||[]}):$==="file"?_extends$2i({},_e,{value:rt||void 0}):_e};function createFieldProps(o,$,_e){var et=o.getIn,tt=o.toJS,rt=o.deepEqual,at=_e.asyncError,nt=_e.asyncValidating,it=_e.onBlur,ot=_e.onChange,st=_e.onDrop,lt=_e.onDragStart,ct=_e.dirty,ut=_e.dispatch,ft=_e.onFocus,At=_e.form,vt=_e.format,ht=_e.initial;_e.parse;var mt=_e.pristine,bt=_e.props,dt=_e.state,xt=_e.submitError,Ct=_e.submitFailed,gt=_e.submitting,wt=_e.syncError,_t=_e.syncWarning;_e.validate;var Et=_e.value,It=_e._value;_e.warn;var Tt=_objectWithoutPropertiesLoose$7(_e,["asyncError","asyncValidating","onBlur","onChange","onDrop","onDragStart","dirty","dispatch","onFocus","form","format","initial","parse","pristine","props","state","submitError","submitFailed","submitting","syncError","syncWarning","validate","value","_value","warn"]),Rt=wt||at||xt,Ot=_t,Mt=function(jt,zt){if(zt===null)return jt;var Nt=jt==null?"":jt;return zt?zt(jt,$):Nt},Bt=Mt(Et,vt);return{input:processProps$1(Tt.type,{name:$,onBlur:it,onChange:ot,onDragStart:lt,onDrop:st,onFocus:ft,value:Bt},It,rt),meta:_extends$2i({},tt(dt),{active:!!(dt&&et(dt,"active")),asyncValidating:nt,autofilled:!!(dt&&et(dt,"autofilled")),dirty:ct,dispatch:ut,error:Rt,form:At,initial:ht,warning:Ot,invalid:!!Rt,pristine:mt,submitting:!!gt,submitFailed:!!Ct,touched:!!(dt&&et(dt,"touched")),valid:!Rt,visited:!!(dt&&et(dt,"visited"))}),custom:_extends$2i({},Tt,{},bt)}}var isEvent=function o($){return!!($&&$.stopPropagation&&$.preventDefault)};const isEvent$1=isEvent;var getSelectedValues=function o($){var _e=[];if($)for(var et=0;et<$.length;et++){var tt=$[et];tt.selected&&_e.push(tt.value)}return _e},getValue=function o($,_e){if(isEvent$1($)){if(!_e&&$.nativeEvent&&$.nativeEvent.text!==void 0||_e&&$.nativeEvent!==void 0)return $.nativeEvent.text;var et=$,tt=et.target,rt=tt.type,at=tt.value,nt=tt.checked,it=tt.files,ot=et.dataTransfer;return rt==="checkbox"?!!nt:rt==="file"?it||ot&&ot.files:rt==="select-multiple"?getSelectedValues($.target.options):at}return $};const getValue$1=getValue;var isReactNative=typeof window<"u"&&window.navigator&&window.navigator.product&&window.navigator.product==="ReactNative";const isReactNative$1=isReactNative;var onChangeValue=function o($,_e){var et=_e.name,tt=_e.parse,rt=_e.normalize,at=getValue$1($,isReactNative$1);return tt&&(at=tt(at,et)),rt&&(at=rt(et,at)),at};const onChangeValue$1=onChangeValue;var dataKey="text",splice=function o($,_e,et,tt){if($=$||[],_e<$.length){if(tt===void 0&&!et){var rt=[].concat($);return rt.splice(_e,0,!0),rt[_e]=void 0,rt}if(tt!=null){var at=[].concat($);return at.splice(_e,et,tt),at}var nt=[].concat($);return nt.splice(_e,et),nt}if(et)return $;var it=[].concat($);return it[_e]=tt,it};const splice$1=splice;var getIn=function o($,_e){if(!$)return $;var et=toPath_1(_e),tt=et.length;if(tt){for(var rt=$,at=0;at=et.length)return _e;var at=et[tt],nt=$&&(Array.isArray($)?$[Number(at)]:$[at]),it=o(nt,_e,et,tt+1);if(!$){if(isNaN(at)){var ot;return ot={},ot[at]=it,ot}var st=[];return st[parseInt(at,10)]=it,st}if(Array.isArray($)){var lt=[].concat($);return lt[parseInt(at,10)]=it,lt}return _extends$2i({},$,(rt={},rt[at]=it,rt))},setIn=function o($,_e,et){return setInWithPath($,et,toPath_1(_e),0)};const setIn$1=setIn;function isNil(o){return o==null}var isNil_1=isNil,baseIsEqual$1=_baseIsEqual;function isEqualWith(o,$,_e){_e=typeof _e=="function"?_e:void 0;var et=_e?_e(o,$):void 0;return et===void 0?baseIsEqual$1(o,$,void 0,_e):!!et}var isEqualWith_1=isEqualWith;const _isEqualWith=isEqualWith_1;var isEmpty=function o($){return isNil_1($)||$===""||isNaN($)},customizer$1=function o($,_e){if($===_e)return!0;if(!$&&!_e)return isEmpty($)===isEmpty(_e);if($&&_e&&$._error!==_e._error||$&&_e&&$._warning!==_e._warning||React$k.isValidElement($)||React$k.isValidElement(_e))return!1},deepEqual$2=function o($,_e){return _isEqualWith($,_e,customizer$1)};const deepEqual$3=deepEqual$2;function deleteInWithPath(o,$){if(o==null||$===void 0||$===null)return o;for(var _e=arguments.length,et=new Array(_e>2?_e-2:0),tt=2;tt<_e;tt++)et[tt-2]=arguments[tt];if(et.length){if(Array.isArray(o)){if(isNaN($))throw new Error('Must access array elements with a number, not "'+String($)+'".');var rt=Number($);if(rt1?at-1:0),it=1;it0}).some(function(vt){return et($(At,"['"+vt+"']"),ct,ut,ft)}):!0}}}var reactIs=reactIsExports,REACT_STATICS={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS={};TYPE_STATICS[reactIs.ForwardRef]=FORWARD_REF_STATICS;TYPE_STATICS[reactIs.Memo]=MEMO_STATICS;function getStatics(o){return reactIs.isMemo(o)?MEMO_STATICS:TYPE_STATICS[o.$$typeof]||REACT_STATICS}var defineProperty$1=Object.defineProperty,getOwnPropertyNames=Object.getOwnPropertyNames,getOwnPropertySymbols=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$2=Object.getOwnPropertyDescriptor,getPrototypeOf$2=Object.getPrototypeOf,objectPrototype=Object.prototype;function hoistNonReactStatics(o,$,_e){if(typeof $!="string"){if(objectPrototype){var et=getPrototypeOf$2($);et&&et!==objectPrototype&&hoistNonReactStatics(o,et,_e)}var tt=getOwnPropertyNames($);getOwnPropertySymbols&&(tt=tt.concat(getOwnPropertySymbols($)));for(var rt=getStatics(o),at=getStatics($),nt=0;nt1?et-1:0),rt=1;rt0){var vt=lt.substring(0,At);if(vt[vt.length-1]!=="]"){var ht=tt(ft,vt);if(_e(ht,et))return ot(ft,vt)}}return ft};return it}}var shouldDelete=function o($){var _e=$.getIn;return function(et,tt){var rt=null;/^values/.test(tt)&&(rt=tt.replace("values","initial"));var at=rt?_e(et,rt)===void 0:!0;return _e(et,tt)!==void 0&&at}},isReduxFormAction=function o($){return $&&$.type&&$.type.length>prefix$1.length&&$.type.substring(0,prefix$1.length)===prefix$1};function createReducer(o){var $,_e=o.deepEqual,et=o.empty,tt=o.forEach,rt=o.getIn,at=o.setIn,nt=o.deleteIn,it=o.fromJS,ot=o.keys,st=o.size,lt=o.some,ct=o.splice,ut=createDeleteInWithCleanUp(o)(shouldDelete),ft=createDeleteInWithCleanUp(plain)(shouldDelete),At=function(wt,_t,Et,It,Tt,Rt,Ot){var Mt=rt(wt,_t+"."+Et);return Mt||Ot?at(wt,_t+"."+Et,ct(Mt,It,Tt,Rt)):wt},vt=function(wt,_t,Et,It,Tt,Rt,Ot){var Mt=rt(wt,_t),Bt=plain.getIn(Mt,Et);return Bt||Ot?at(wt,_t,plain.setIn(Mt,Et,plain.splice(Bt,It,Tt,Rt))):wt},ht=["values","fields","submitErrors","asyncErrors"],mt=function(wt,_t,Et,It,Tt){var Rt=wt,Ot=Tt!=null?et:void 0;return Rt=At(Rt,"values",_t,Et,It,Tt,!0),Rt=At(Rt,"fields",_t,Et,It,Ot),Rt=vt(Rt,"syncErrors",_t,Et,It,void 0),Rt=vt(Rt,"syncWarnings",_t,Et,It,void 0),Rt=At(Rt,"submitErrors",_t,Et,It,void 0),Rt=At(Rt,"asyncErrors",_t,Et,It,void 0),Rt},bt=($={},$[ARRAY_INSERT]=function(gt,wt){var _t=wt.meta,Et=_t.field,It=_t.index,Tt=wt.payload;return mt(gt,Et,It,0,Tt)},$[ARRAY_MOVE]=function(gt,wt){var _t=wt.meta,Et=_t.field,It=_t.from,Tt=_t.to,Rt=rt(gt,"values."+Et),Ot=Rt?st(Rt):0,Mt=gt;return Ot&&ht.forEach(function(Bt){var Lt=Bt+"."+Et;if(rt(Mt,Lt)){var jt=rt(Mt,Lt+"["+It+"]");Mt=at(Mt,Lt,ct(rt(Mt,Lt),It,1)),Mt=at(Mt,Lt,ct(rt(Mt,Lt),Tt,0,jt))}}),Mt},$[ARRAY_POP]=function(gt,wt){var _t=wt.meta.field,Et=rt(gt,"values."+_t),It=Et?st(Et):0;return It?mt(gt,_t,It-1,1):gt},$[ARRAY_PUSH]=function(gt,wt){var _t=wt.meta.field,Et=wt.payload,It=rt(gt,"values."+_t),Tt=It?st(It):0;return mt(gt,_t,Tt,0,Et)},$[ARRAY_REMOVE]=function(gt,wt){var _t=wt.meta,Et=_t.field,It=_t.index;return mt(gt,Et,It,1)},$[ARRAY_REMOVE_ALL]=function(gt,wt){var _t=wt.meta.field,Et=rt(gt,"values."+_t),It=Et?st(Et):0;return It?mt(gt,_t,0,It):gt},$[ARRAY_SHIFT]=function(gt,wt){var _t=wt.meta.field;return mt(gt,_t,0,1)},$[ARRAY_SPLICE]=function(gt,wt){var _t=wt.meta,Et=_t.field,It=_t.index,Tt=_t.removeNum,Rt=wt.payload;return mt(gt,Et,It,Tt,Rt)},$[ARRAY_SWAP]=function(gt,wt){var _t=wt.meta,Et=_t.field,It=_t.indexA,Tt=_t.indexB,Rt=gt;return ht.forEach(function(Ot){var Mt=rt(Rt,Ot+"."+Et+"["+It+"]"),Bt=rt(Rt,Ot+"."+Et+"["+Tt+"]");(Mt!==void 0||Bt!==void 0)&&(Rt=at(Rt,Ot+"."+Et+"["+It+"]",Bt),Rt=at(Rt,Ot+"."+Et+"["+Tt+"]",Mt))}),Rt},$[ARRAY_UNSHIFT]=function(gt,wt){var _t=wt.meta.field,Et=wt.payload;return mt(gt,_t,0,0,Et)},$[AUTOFILL]=function(gt,wt){var _t=wt.meta.field,Et=wt.payload,It=gt;return It=ut(It,"asyncErrors."+_t),It=ut(It,"submitErrors."+_t),It=at(It,"fields."+_t+".autofilled",!0),It=at(It,"values."+_t,Et),It},$[BLUR]=function(gt,wt){var _t=wt.meta,Et=_t.field,It=_t.touch,Tt=wt.payload,Rt=gt,Ot=rt(Rt,"initial."+Et);return Ot===void 0&&Tt===""?Rt=ut(Rt,"values."+Et):Tt!==void 0&&(Rt=at(Rt,"values."+Et,Tt)),Et===rt(Rt,"active")&&(Rt=nt(Rt,"active")),Rt=nt(Rt,"fields."+Et+".active"),It&&(Rt=at(Rt,"fields."+Et+".touched",!0),Rt=at(Rt,"anyTouched",!0)),Rt},$[CHANGE]=function(gt,wt){var _t=wt.meta,Et=_t.field,It=_t.touch,Tt=_t.persistentSubmitErrors,Rt=wt.payload,Ot=gt,Mt=rt(Ot,"initial."+Et);if(Mt===void 0&&Rt===""||Rt===void 0)Ot=ut(Ot,"values."+Et);else if(isFunction_1(Rt)){var Bt=rt(gt,"values."+Et);Ot=at(Ot,"values."+Et,Rt(Bt,gt.values))}else Ot=at(Ot,"values."+Et,Rt);return Ot=ut(Ot,"asyncErrors."+Et),Tt||(Ot=ut(Ot,"submitErrors."+Et)),Ot=ut(Ot,"fields."+Et+".autofilled"),It&&(Ot=at(Ot,"fields."+Et+".touched",!0),Ot=at(Ot,"anyTouched",!0)),Ot},$[CLEAR_SUBMIT]=function(gt){return nt(gt,"triggerSubmit")},$[CLEAR_SUBMIT_ERRORS]=function(gt){var wt=gt;return wt=ut(wt,"submitErrors"),wt=nt(wt,"error"),wt},$[CLEAR_ASYNC_ERROR]=function(gt,wt){var _t=wt.meta.field;return nt(gt,"asyncErrors."+_t)},$[CLEAR_FIELDS]=function(gt,wt){var _t=wt.meta,Et=_t.keepTouched,It=_t.persistentSubmitErrors,Tt=_t.fields,Rt=gt;Tt.forEach(function(Mt){Rt=ut(Rt,"asyncErrors."+Mt),It||(Rt=ut(Rt,"submitErrors."+Mt)),Rt=ut(Rt,"fields."+Mt+".autofilled"),Et||(Rt=nt(Rt,"fields."+Mt+".touched"));var Bt=rt(gt,"initial."+Mt);Rt=Bt?at(Rt,"values."+Mt,Bt):ut(Rt,"values."+Mt)});var Ot=lt(ot(rt(Rt,"registeredFields")),function(Mt){return rt(Rt,"fields."+Mt+".touched")});return Rt=Ot?at(Rt,"anyTouched",!0):nt(Rt,"anyTouched"),Rt},$[FOCUS]=function(gt,wt){var _t=wt.meta.field,Et=gt,It=rt(gt,"active");return Et=nt(Et,"fields."+It+".active"),Et=at(Et,"fields."+_t+".visited",!0),Et=at(Et,"fields."+_t+".active",!0),Et=at(Et,"active",_t),Et},$[INITIALIZE]=function(gt,wt){var _t=wt.payload,Et=wt.meta,It=Et.keepDirty,Tt=Et.keepSubmitSucceeded,Rt=Et.updateUnregisteredFields,Ot=Et.keepValues,Mt=it(_t),Bt=et,Lt=rt(gt,"warning");Lt&&(Bt=at(Bt,"warning",Lt));var jt=rt(gt,"syncWarnings");jt&&(Bt=at(Bt,"syncWarnings",jt));var zt=rt(gt,"error");zt&&(Bt=at(Bt,"error",zt));var Nt=rt(gt,"syncErrors");Nt&&(Bt=at(Bt,"syncErrors",Nt));var Wt=rt(gt,"registeredFields");Wt&&(Bt=at(Bt,"registeredFields",Wt));var qt=rt(gt,"values"),nr=rt(gt,"initial"),ar=Mt,Kt=qt;if(It&&Wt){if(!_e(ar,nr)){var er=function(Ht){var Ft=rt(nr,Ht),Vt=rt(qt,Ht);if(_e(Vt,Ft)){var Jt=rt(ar,Ht);rt(Kt,Ht)!==Jt&&(Kt=at(Kt,Ht,Jt))}};Rt||tt(ot(Wt),function(Ut){return er(Ut)}),tt(ot(ar),function(Ut){var Ht=rt(nr,Ut);if(typeof Ht>"u"){var Ft=rt(ar,Ut);Kt=at(Kt,Ut,Ft)}Rt&&er(Ut)})}}else Kt=ar;return Ot&&(tt(ot(qt),function(Ut){var Ht=rt(qt,Ut);Kt=at(Kt,Ut,Ht)}),tt(ot(nr),function(Ut){var Ht=rt(nr,Ut);ar=at(ar,Ut,Ht)})),Tt&&rt(gt,"submitSucceeded")&&(Bt=at(Bt,"submitSucceeded",!0)),Bt=at(Bt,"values",Kt),Bt=at(Bt,"initial",ar),Bt},$[REGISTER_FIELD]=function(gt,wt){var _t=wt.payload,Et=_t.name,It=_t.type,Tt="registeredFields['"+Et+"']",Rt=rt(gt,Tt);if(Rt){var Ot=rt(Rt,"count")+1;Rt=at(Rt,"count",Ot)}else Rt=it({name:Et,type:It,count:1});return at(gt,Tt,Rt)},$[RESET]=function(gt){var wt=et,_t=rt(gt,"registeredFields");_t&&(wt=at(wt,"registeredFields",_t));var Et=rt(gt,"initial");return Et&&(wt=at(wt,"values",Et),wt=at(wt,"initial",Et)),wt},$[RESET_SECTION]=function(gt,wt){var _t=wt.meta.sections,Et=gt;_t.forEach(function(Tt){Et=ut(Et,"asyncErrors."+Tt),Et=ut(Et,"submitErrors."+Tt),Et=ut(Et,"fields."+Tt);var Rt=rt(gt,"initial."+Tt);Et=Rt?at(Et,"values."+Tt,Rt):ut(Et,"values."+Tt)});var It=lt(ot(rt(Et,"registeredFields")),function(Tt){return rt(Et,"fields."+Tt+".touched")});return Et=It?at(Et,"anyTouched",!0):nt(Et,"anyTouched"),Et},$[SUBMIT]=function(gt){return at(gt,"triggerSubmit",!0)},$[START_ASYNC_VALIDATION]=function(gt,wt){var _t=wt.meta.field;return at(gt,"asyncValidating",_t||!0)},$[START_SUBMIT]=function(gt){return at(gt,"submitting",!0)},$[STOP_ASYNC_VALIDATION]=function(gt,wt){var _t=wt.payload,Et=gt;if(Et=nt(Et,"asyncValidating"),_t&&Object.keys(_t).length){var It=_t._error,Tt=_objectWithoutPropertiesLoose$7(_t,["_error"]);It&&(Et=at(Et,"error",It)),Object.keys(Tt).length&&(Et=at(Et,"asyncErrors",it(Tt)))}else Et=nt(Et,"error"),Et=nt(Et,"asyncErrors");return Et},$[STOP_SUBMIT]=function(gt,wt){var _t=wt.payload,Et=gt;if(Et=nt(Et,"submitting"),Et=nt(Et,"submitFailed"),Et=nt(Et,"submitSucceeded"),_t&&Object.keys(_t).length){var It=_t._error,Tt=_objectWithoutPropertiesLoose$7(_t,["_error"]);It?Et=at(Et,"error",It):Et=nt(Et,"error"),Object.keys(Tt).length?Et=at(Et,"submitErrors",it(Tt)):Et=nt(Et,"submitErrors"),Et=at(Et,"submitFailed",!0)}else Et=nt(Et,"error"),Et=nt(Et,"submitErrors");return Et},$[SET_SUBMIT_FAILED]=function(gt,wt){var _t=wt.meta.fields,Et=gt;return Et=at(Et,"submitFailed",!0),Et=nt(Et,"submitSucceeded"),Et=nt(Et,"submitting"),_t.forEach(function(It){return Et=at(Et,"fields."+It+".touched",!0)}),_t.length&&(Et=at(Et,"anyTouched",!0)),Et},$[SET_SUBMIT_SUCCEEDED]=function(gt){var wt=gt;return wt=nt(wt,"submitFailed"),wt=at(wt,"submitSucceeded",!0),wt},$[TOUCH]=function(gt,wt){var _t=wt.meta.fields,Et=gt;return _t.forEach(function(It){return Et=at(Et,"fields."+It+".touched",!0)}),Et=at(Et,"anyTouched",!0),Et},$[UNREGISTER_FIELD]=function(gt,wt){var _t=wt.payload,Et=_t.name,It=_t.destroyOnUnmount,Tt=gt,Rt="registeredFields['"+Et+"']",Ot=rt(Tt,Rt);if(!Ot)return Tt;var Mt=rt(Ot,"count")-1;if(Mt<=0&&It){Tt=nt(Tt,Rt),_e(rt(Tt,"registeredFields"),et)&&(Tt=nt(Tt,"registeredFields"));var Bt=rt(Tt,"syncErrors");Bt&&(Bt=ft(Bt,Et),plain.deepEqual(Bt,plain.empty)?Tt=nt(Tt,"syncErrors"):Tt=at(Tt,"syncErrors",Bt));var Lt=rt(Tt,"syncWarnings");Lt&&(Lt=ft(Lt,Et),plain.deepEqual(Lt,plain.empty)?Tt=nt(Tt,"syncWarnings"):Tt=at(Tt,"syncWarnings",Lt)),Tt=ut(Tt,"submitErrors."+Et),Tt=ut(Tt,"asyncErrors."+Et)}else Ot=at(Ot,"count",Mt),Tt=at(Tt,Rt,Ot);return Tt},$[UNTOUCH]=function(gt,wt){var _t=wt.meta.fields,Et=gt;_t.forEach(function(Tt){return Et=nt(Et,"fields."+Tt+".touched")});var It=lt(ot(rt(Et,"registeredFields")),function(Tt){return rt(Et,"fields."+Tt+".touched")});return Et=It?at(Et,"anyTouched",!0):nt(Et,"anyTouched"),Et},$[UPDATE_SYNC_ERRORS]=function(gt,wt){var _t=wt.payload,Et=_t.syncErrors,It=_t.error,Tt=gt;return It?(Tt=at(Tt,"error",It),Tt=at(Tt,"syncError",!0)):(Tt=nt(Tt,"error"),Tt=nt(Tt,"syncError")),Object.keys(Et).length?Tt=at(Tt,"syncErrors",Et):Tt=nt(Tt,"syncErrors"),Tt},$[UPDATE_SYNC_WARNINGS]=function(gt,wt){var _t=wt.payload,Et=_t.syncWarnings,It=_t.warning,Tt=gt;return It?Tt=at(Tt,"warning",It):Tt=nt(Tt,"warning"),Object.keys(Et).length?Tt=at(Tt,"syncWarnings",Et):Tt=nt(Tt,"syncWarnings"),Tt},$),dt=function(wt,_t){wt===void 0&&(wt=et);var Et=bt[_t.type];return Et?Et(wt,_t):wt},xt=function(wt){return function(_t,Et){_t===void 0&&(_t=et),Et===void 0&&(Et={type:"NONE"});var It=Et&&Et.meta&&Et.meta.form;if(!It||!isReduxFormAction(Et))return _t;if(Et.type===DESTROY&&Et.meta&&Et.meta.form)return Et.meta.form.reduce(function(Ot,Mt){return ut(Ot,Mt)},_t);var Tt=rt(_t,It),Rt=wt(Tt,Et);return Rt===Tt?_t:at(_t,It,Rt)}};function Ct(gt){return gt.plugin=function(wt,_t){var Et=this;return _t===void 0&&(_t={}),Ct(function(It,Tt){It===void 0&&(It=et),Tt===void 0&&(Tt={type:"NONE"});var Rt=function(Lt,jt){var zt=rt(Lt,jt),Nt=wt[jt](zt,Tt,rt(It,jt));return Nt!==zt?at(Lt,jt,Nt):Lt},Ot=Et(It,Tt),Mt=Tt&&Tt.meta&&Tt.meta.form;return Mt&&!_t.receiveAllFormActions?wt[Mt]?Rt(Ot,Mt):Ot:Object.keys(wt).reduce(Rt,Ot)})},gt}return Ct(xt(dt))}const formReducer=createReducer(plain);actions$5.arrayInsert;actions$5.arrayMove;actions$5.arrayPop;actions$5.arrayPush;actions$5.arrayRemove;actions$5.arrayRemoveAll;actions$5.arrayShift;actions$5.arraySplice;actions$5.arraySwap;actions$5.arrayUnshift;actions$5.autofill;actions$5.blur;var change=actions$5.change;actions$5.clearAsyncError;actions$5.clearFields;actions$5.clearSubmit;actions$5.clearSubmitErrors;actions$5.destroy;actions$5.focus;actions$5.initialize;actions$5.registerField;actions$5.reset;actions$5.resetSection;actions$5.setSubmitFailed;actions$5.setSubmitSucceeded;actions$5.startAsyncValidation;actions$5.startSubmit;actions$5.stopAsyncValidation;actions$5.stopSubmit;actions$5.submit;actions$5.touch;actions$5.unregisterField;actions$5.untouch;actions$5.updateSyncWarnings;actions$5.updateSyncErrors;const SUBMIT_BTN="submit-btn",DEFAULT_OPERATION="all",DEFAULT_LOOKBACK="1h",DEFAULT_LIMIT=20,FORM_CHANGE_ACTION_TYPE="@@redux-form/CHANGE",ACTION_SET="set",ACTION_CLEAR="clear",ACTION_DEFAULT="default",CATEGORY_SORTBY="jaeger/ux/search/results/sortby",FORM_CATEGORY_BASE="jaeger/ux/search/form",CATEGORY_OPERATION=`${FORM_CATEGORY_BASE}/operation`,CATEGORY_LOOKBACK=`${FORM_CATEGORY_BASE}/lookback`,CATEGORY_TAGS$1=`${FORM_CATEGORY_BASE}/tags`,CATEGORY_MIN_DURATION=`${FORM_CATEGORY_BASE}/min_duration`,CATEGORY_MAX_DURATION=`${FORM_CATEGORY_BASE}/max_duration`,CATEGORY_LIMIT=`${FORM_CATEGORY_BASE}/limit`,CATEGORY_SERVICE=`${FORM_CATEGORY_BASE}/serviceName`;function trackFormInput(o,$,_e,et,tt,rt,at){trackEvent(CATEGORY_OPERATION,$===DEFAULT_OPERATION?ACTION_DEFAULT:ACTION_SET),trackEvent(CATEGORY_LIMIT,o===DEFAULT_LIMIT?ACTION_DEFAULT:ACTION_SET),trackEvent(CATEGORY_MAX_DURATION,tt?ACTION_SET:ACTION_CLEAR),trackEvent(CATEGORY_MIN_DURATION,et?ACTION_SET:ACTION_CLEAR),trackEvent(CATEGORY_TAGS$1,_e?ACTION_SET:ACTION_CLEAR),trackEvent(CATEGORY_LOOKBACK,rt),trackEvent(CATEGORY_SERVICE,at)}const middlewareHooks$2={[FORM_CHANGE_ACTION_TYPE]:(o,$)=>{$.meta.form==="sortBy"&&trackEvent(CATEGORY_SORTBY,$.payload)}};var getPrototypeOfExports={},getPrototypeOf$1={get exports(){return getPrototypeOfExports},set exports(o){getPrototypeOfExports=o}},$export$3=_export,core$1=_coreExports,fails=_fails,_objectSap=function(o,$){var _e=(core$1.Object||{})[o]||Object[o],et={};et[o]=$(_e),$export$3($export$3.S+$export$3.F*fails(function(){_e(1)}),"Object",et)},toObject$1=require_toObject(),$getPrototypeOf=_objectGpo;_objectSap("getPrototypeOf",function(){return function($){return $getPrototypeOf(toObject$1($))}});var getPrototypeOf=_coreExports.Object.getPrototypeOf;(function(o){o.exports={default:getPrototypeOf,__esModule:!0}})(getPrototypeOf$1);const _Object$getPrototypeOf=getDefaultExportFromCjs(getPrototypeOfExports);var AutosizeInput$1={};Object.defineProperty(AutosizeInput$1,"__esModule",{value:!0});var _extends$1d=Object.assign||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}function _classCallCheck$T(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$T(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$T(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var sizerStyle={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},INPUT_PROPS_BLACKLIST=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],cleanInputProps=function o($){return INPUT_PROPS_BLACKLIST.forEach(function(_e){return delete $[_e]}),$},copyStyles=function o($,_e){_e.style.fontSize=$.fontSize,_e.style.fontFamily=$.fontFamily,_e.style.fontWeight=$.fontWeight,_e.style.fontStyle=$.fontStyle,_e.style.letterSpacing=$.letterSpacing,_e.style.textTransform=$.textTransform},isIE=typeof window<"u"&&window.navigator?/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent):!1,generateId=function o(){return isIE?"_"+Math.random().toString(36).substr(2,12):void 0},AutosizeInput=function(o){_inherits$T($,o);function $(_e){_classCallCheck$T(this,$);var et=_possibleConstructorReturn$T(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et.inputRef=function(tt){et.input=tt,typeof et.props.inputRef=="function"&&et.props.inputRef(tt)},et.placeHolderSizerRef=function(tt){et.placeHolderSizer=tt},et.sizerRef=function(tt){et.sizer=tt},et.state={inputWidth:_e.minWidth,inputId:_e.id||generateId()},et}return _createClass$T($,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentWillReceiveProps",value:function(et){var tt=et.id;tt!==this.props.id&&this.setState({inputId:tt||generateId()})}},{key:"componentDidUpdate",value:function(et,tt){tt.inputWidth!==this.state.inputWidth&&typeof this.props.onAutosize=="function"&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(!(!this.mounted||!window.getComputedStyle)){var et=this.input&&window.getComputedStyle(this.input);et&&(copyStyles(et,this.sizer),this.placeHolderSizer&©Styles(et,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(!(!this.mounted||!this.sizer||typeof this.sizer.scrollWidth>"u")){var et=void 0;this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?et=Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:et=this.sizer.scrollWidth+2;var tt=this.props.type==="number"&&this.props.extraWidth===void 0?16:parseInt(this.props.extraWidth)||0;et+=tt,et-1)return!1;if(tt.filterOption)return tt.filterOption.call(void 0,rt,_e);if(!_e)return!0;var at=rt[tt.valueKey],nt=rt[tt.labelKey],it=isValid(at),ot=isValid(nt);if(!it&&!ot)return!1;var st=it?String(at):null,lt=ot?String(nt):null;return tt.ignoreAccents&&(st&&tt.matchProp!=="label"&&(st=stripDiacritics(st)),lt&&tt.matchProp!=="value"&&(lt=stripDiacritics(lt))),tt.ignoreCase&&(st&&tt.matchProp!=="label"&&(st=st.toLowerCase()),lt&&tt.matchProp!=="value"&&(lt=lt.toLowerCase())),tt.matchPos==="start"?st&&tt.matchProp!=="label"&&st.substr(0,_e.length)===_e||lt&&tt.matchProp!=="value"&<.substr(0,_e.length)===_e:st&&tt.matchProp!=="label"&&st.indexOf(_e)>=0||lt&&tt.matchProp!=="value"&<.indexOf(_e)>=0})},menuRenderer=function o($){var _e=$.focusedOption,et=$.focusOption,tt=$.inputValue,rt=$.instancePrefix,at=$.onFocus,nt=$.onOptionRef,it=$.onSelect,ot=$.optionClassName,st=$.optionComponent,lt=$.optionRenderer,ct=$.options,ut=$.removeValue,ft=$.selectValue,At=$.valueArray,vt=$.valueKey,ht=st;return ct.map(function(mt,bt){var dt=At&&At.some(function(gt){return gt[vt]===mt[vt]}),xt=mt===_e,Ct=classnamesExports(ot,{"Select-option":!0,"is-selected":dt,"is-focused":xt,"is-disabled":mt.disabled});return React$k.createElement(ht,{className:Ct,focusOption:et,inputValue:tt,instancePrefix:rt,isDisabled:mt.disabled,isFocused:xt,isSelected:dt,key:"option-"+bt+"-"+mt[vt],onFocus:at,onSelect:it,option:mt,optionIndex:bt,ref:function(wt){nt(wt,xt)},removeValue:ut,selectValue:ft},lt(mt,bt,tt))})};menuRenderer.propTypes={focusOption:propTypesExports.func,focusedOption:propTypesExports.object,inputValue:propTypesExports.string,instancePrefix:propTypesExports.string,onFocus:propTypesExports.func,onOptionRef:propTypesExports.func,onSelect:propTypesExports.func,optionClassName:propTypesExports.string,optionComponent:propTypesExports.func,optionRenderer:propTypesExports.func,options:propTypesExports.array,removeValue:propTypesExports.func,selectValue:propTypesExports.func,valueArray:propTypesExports.array,valueKey:propTypesExports.string};var blockEvent=function(o){o.preventDefault(),o.stopPropagation(),!(o.target.tagName!=="A"||!("href"in o.target))&&(o.target.target?window.open(o.target.href,o.target.target):window.location.href=o.target.href)},_typeof$9=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},classCallCheck=function(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")},createClass=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),Object.defineProperty($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),defineProperty=function(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o},_extends$1c=Object.assign||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e},possibleConstructorReturn=function(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o},Option$3=function(o){inherits($,o);function $(_e){classCallCheck(this,$);var et=possibleConstructorReturn(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et.handleMouseDown=et.handleMouseDown.bind(et),et.handleMouseEnter=et.handleMouseEnter.bind(et),et.handleMouseMove=et.handleMouseMove.bind(et),et.handleTouchStart=et.handleTouchStart.bind(et),et.handleTouchEnd=et.handleTouchEnd.bind(et),et.handleTouchMove=et.handleTouchMove.bind(et),et.onFocus=et.onFocus.bind(et),et}return createClass($,[{key:"handleMouseDown",value:function(et){et.preventDefault(),et.stopPropagation(),this.props.onSelect(this.props.option,et)}},{key:"handleMouseEnter",value:function(et){this.onFocus(et)}},{key:"handleMouseMove",value:function(et){this.onFocus(et)}},{key:"handleTouchEnd",value:function(et){this.dragging||this.handleMouseDown(et)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(et){this.props.isFocused||this.props.onFocus(this.props.option,et)}},{key:"render",value:function(){var et=this.props,tt=et.option,rt=et.instancePrefix,at=et.optionIndex,nt=classnamesExports(this.props.className,tt.className);return tt.disabled?React$k.createElement("div",{className:nt,onMouseDown:blockEvent,onClick:blockEvent},this.props.children):React$k.createElement("div",{className:nt,style:tt.style,role:"option","aria-label":tt.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:rt+"-option-"+at,title:tt.title},this.props.children)}}]),$}(React$k.Component);Option$3.propTypes={children:propTypesExports.node,className:propTypesExports.string,instancePrefix:propTypesExports.string.isRequired,isDisabled:propTypesExports.bool,isFocused:propTypesExports.bool,isSelected:propTypesExports.bool,onFocus:propTypesExports.func,onSelect:propTypesExports.func,onUnfocus:propTypesExports.func,option:propTypesExports.object.isRequired,optionIndex:propTypesExports.number};var Value=function(o){inherits($,o);function $(_e){classCallCheck(this,$);var et=possibleConstructorReturn(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et.handleMouseDown=et.handleMouseDown.bind(et),et.onRemove=et.onRemove.bind(et),et.handleTouchEndRemove=et.handleTouchEndRemove.bind(et),et.handleTouchMove=et.handleTouchMove.bind(et),et.handleTouchStart=et.handleTouchStart.bind(et),et}return createClass($,[{key:"handleMouseDown",value:function(et){if(!(et.type==="mousedown"&&et.button!==0)){if(this.props.onClick){et.stopPropagation(),this.props.onClick(this.props.value,et);return}this.props.value.href&&et.stopPropagation()}}},{key:"onRemove",value:function(et){et.preventDefault(),et.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(et){this.dragging||this.onRemove(et)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!(this.props.disabled||!this.props.onRemove))return React$k.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){var et="Select-value-label";return this.props.onClick||this.props.value.href?React$k.createElement("a",{className:et,href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):React$k.createElement("span",{className:et,role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return React$k.createElement("div",{className:classnamesExports("Select-value",this.props.value.disabled?"Select-value-disabled":"",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),$}(React$k.Component);Value.propTypes={children:propTypesExports.node,disabled:propTypesExports.bool,id:propTypesExports.string,onClick:propTypesExports.func,onRemove:propTypesExports.func,value:propTypesExports.object.isRequired};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/react-select -*/var stringifyValue=function o($){return typeof $=="string"?$:$!==null&&JSON.stringify($)||""},stringOrNode=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.node]),stringOrNumber=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),instanceId=1,shouldShowValue=function o($,_e){var et=$.inputValue,tt=$.isPseudoFocused,rt=$.isFocused,at=_e.onSelectResetsInput;return et?at?!1:!(!rt&&tt||rt&&!tt):!0},shouldShowPlaceholder=function o($,_e,et){var tt=$.inputValue,rt=$.isPseudoFocused,at=$.isFocused,nt=_e.onSelectResetsInput;return!tt||!nt&&!et&&!rt&&!at},expandValue=function o($,_e){var et=typeof $>"u"?"undefined":_typeof$9($);if(et!=="string"&&et!=="number"&&et!=="boolean")return $;var tt=_e.options,rt=_e.valueKey;if(tt){for(var at=0;atot||itft.bottom?ct.scrollTop=lt.offsetTop+lt.clientHeight-ct.offsetHeight:ut.top"u"?"undefined":_typeof$9(tt))!=="object"&&(et=""+tt)}this.setState({inputValue:et})}},{key:"handleInputValueChange",value:function(et){if(this.props.onInputChange){var tt=this.props.onInputChange(et);tt!=null&&(typeof tt>"u"?"undefined":_typeof$9(tt))!=="object"&&(et=""+tt)}return et}},{key:"handleKeyDown",value:function(et){if(!this.props.disabled&&!(typeof this.props.onInputKeyDown=="function"&&(this.props.onInputKeyDown(et),et.defaultPrevented)))switch(et.keyCode){case 8:!this.state.inputValue&&this.props.backspaceRemoves&&(et.preventDefault(),this.popValue());break;case 9:if(et.shiftKey||!this.state.isOpen||!this.props.tabSelectsValue)break;et.preventDefault(),this.selectFocusedOption();break;case 13:et.preventDefault(),et.stopPropagation(),this.state.isOpen?this.selectFocusedOption():this.focusNextOption();break;case 27:et.preventDefault(),this.state.isOpen?(this.closeMenu(),et.stopPropagation()):this.props.clearable&&this.props.escapeClearsValue&&(this.clearValue(et),et.stopPropagation());break;case 32:if(this.props.searchable)break;if(et.preventDefault(),!this.state.isOpen){this.focusNextOption();break}et.stopPropagation(),this.selectFocusedOption();break;case 38:et.preventDefault(),this.focusPreviousOption();break;case 40:et.preventDefault(),this.focusNextOption();break;case 33:et.preventDefault(),this.focusPageUpOption();break;case 34:et.preventDefault(),this.focusPageDownOption();break;case 35:if(et.shiftKey)break;et.preventDefault(),this.focusEndOption();break;case 36:if(et.shiftKey)break;et.preventDefault(),this.focusStartOption();break;case 46:!this.state.inputValue&&this.props.deleteRemoves&&(et.preventDefault(),this.popValue());break}}},{key:"handleValueClick",value:function(et,tt){this.props.onValueClick&&this.props.onValueClick(et,tt)}},{key:"handleMenuScroll",value:function(et){if(this.props.onMenuScrollToBottom){var tt=et.target;tt.scrollHeight>tt.offsetHeight&&tt.scrollHeight-tt.offsetHeight-tt.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(et){return et[this.props.labelKey]}},{key:"getValueArray",value:function(et){var tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,rt=(typeof tt>"u"?"undefined":_typeof$9(tt))==="object"?tt:this.props;if(rt.multi){if(typeof et=="string"&&(et=et.split(rt.delimiter)),!Array.isArray(et)){if(et==null)return[];et=[et]}return et.map(function(nt){return expandValue(nt,rt)}).filter(function(nt){return nt})}var at=expandValue(et,rt);return at?[at]:[]}},{key:"setValue",value:function(et){var tt=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var rt=handleRequired(et,this.props.multi);this.setState({required:rt})}this.props.simpleValue&&et&&(et=this.props.multi?et.map(function(at){return at[tt.props.valueKey]}).join(this.props.delimiter):et[this.props.valueKey]),this.props.onChange&&this.props.onChange(et)}},{key:"selectValue",value:function(et){var tt=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var rt=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(rt),isOpen:!this.props.closeOnSelect},function(){var at=tt.getValueArray(tt.props.value);at.some(function(nt){return nt[tt.props.valueKey]===et[tt.props.valueKey]})?tt.removeValue(et):tt.addValue(et)}):this.setState({inputValue:this.handleInputValueChange(rt),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){tt.setValue(et)})}},{key:"addValue",value:function(et){var tt=this.getValueArray(this.props.value),rt=this._visibleOptions.filter(function(nt){return!nt.disabled}),at=rt.indexOf(et);this.setValue(tt.concat(et)),this.props.closeOnSelect&&(rt.length-1===at?this.focusOption(rt[at-1]):rt.length>at&&this.focusOption(rt[at+1]))}},{key:"popValue",value:function(){var et=this.getValueArray(this.props.value);et.length&&et[et.length-1].clearableValue!==!1&&this.setValue(this.props.multi?et.slice(0,et.length-1):null)}},{key:"removeValue",value:function(et){var tt=this,rt=this.getValueArray(this.props.value);this.setValue(rt.filter(function(at){return at[tt.props.valueKey]!==et[tt.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(et){et&&et.type==="mousedown"&&et.button!==0||(et.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return this.props.resetValue!==void 0?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(et){this.setState({focusedOption:et})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(et){var tt=this._visibleOptions.map(function(st,lt){return{option:st,index:lt}}).filter(function(st){return!st.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var rt={focusedOption:this._focusedOption||(tt.length?tt[et==="next"?0:tt.length-1].option:null),isOpen:!0};this.props.onSelectResetsInput&&(rt.inputValue=""),this.setState(rt);return}if(tt.length){for(var at=-1,nt=0;nt0?at=at-1:at=tt.length-1;else if(et==="start")at=0;else if(et==="end")at=tt.length-1;else if(et==="page_up"){var it=at-this.props.pageSize;it<0?at=0:at=it}else if(et==="page_down"){var ot=at+this.props.pageSize;ot>tt.length-1?at=tt.length-1:at=ot}at===-1&&(at=0),this.setState({focusedIndex:tt[at].index,focusedOption:tt[at].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return React$k.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},React$k.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(et,tt){var rt=this,at=this.props.valueRenderer||this.getOptionLabel,nt=this.props.valueComponent;if(!et.length){var it=shouldShowPlaceholder(this.state,this.props,tt);return it?React$k.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null}var ot=this.props.onValueClick?this.handleValueClick:null;if(this.props.multi)return et.map(function(st,lt){return React$k.createElement(nt,{disabled:rt.props.disabled||st.clearableValue===!1,id:rt._instancePrefix+"-value-"+lt,instancePrefix:rt._instancePrefix,key:"value-"+lt+"-"+st[rt.props.valueKey],onClick:ot,onRemove:rt.removeValue,placeholder:rt.props.placeholder,value:st,values:et},at(st,lt),React$k.createElement("span",{className:"Select-aria-only"}," "))});if(shouldShowValue(this.state,this.props))return tt&&(ot=null),React$k.createElement(nt,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:ot,placeholder:this.props.placeholder,value:et[0]},at(et[0]))}},{key:"renderInput",value:function(et,tt){var rt,at=this,nt=classnamesExports("Select-input",this.props.inputProps.className),it=this.state.isOpen,ot=classnamesExports((rt={},defineProperty(rt,this._instancePrefix+"-list",it),defineProperty(rt,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),rt)),st=this.state.inputValue;st&&!this.props.onSelectResetsInput&&!this.state.isFocused&&(st="");var lt=_extends$1c({},this.props.inputProps,{"aria-activedescendant":it?this._instancePrefix+"-option-"+tt:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+it,"aria-haspopup":""+it,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":ot,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(At){return at.input=At},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:st});if(this.props.inputRenderer)return this.props.inputRenderer(lt);if(this.props.disabled||!this.props.searchable){var ct=objectWithoutProperties(this.props.inputProps,[]),ut=classnamesExports(defineProperty({},this._instancePrefix+"-list",it));return React$k.createElement("div",_extends$1c({},ct,{"aria-expanded":it,"aria-owns":ut,"aria-activedescendant":it?this._instancePrefix+"-option-"+tt:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:nt,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(At){return at.input=At},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?React$k.createElement(_default$3,_extends$1c({id:this.props.id},lt,{className:nt,minWidth:"5"})):React$k.createElement("div",{className:nt,key:"input-wrap",style:{display:"inline-block"}},React$k.createElement("input",_extends$1c({id:this.props.id},lt)))}},{key:"renderClear",value:function(){var et=this.getValueArray(this.props.value);if(!(!this.props.clearable||!et.length||this.props.disabled||this.props.isLoading)){var tt=this.props.multi?this.props.clearAllText:this.props.clearValueText,rt=this.props.clearRenderer();return React$k.createElement("span",{"aria-label":tt,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:tt},rt)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var et=this.handleMouseDownOnArrow,tt=this.state.isOpen,rt=this.props.arrowRenderer({onMouseDown:et,isOpen:tt});return rt?React$k.createElement("span",{className:"Select-arrow-zone",onMouseDown:et},rt):null}}},{key:"filterOptions",value:function(et){var tt=this.state.inputValue,rt=this.props.options||[];if(this.props.filterOptions){var at=typeof this.props.filterOptions=="function"?this.props.filterOptions:filterOptions;return at(rt,tt,et,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}else return rt}},{key:"onOptionRef",value:function(et,tt){tt&&(this.focused=et)}},{key:"renderMenu",value:function(et,tt,rt){return et&&et.length?this.props.menuRenderer({focusedOption:rt,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:et,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:tt,valueKey:this.props.valueKey}):this.props.noResultsText?React$k.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(et){var tt=this;if(this.props.name){if(this.props.joinValues){var rt=et.map(function(at){return stringifyValue(at[tt.props.valueKey])}).join(this.props.delimiter);return React$k.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(nt){return tt.value=nt},type:"hidden",value:rt})}return et.map(function(at,nt){return React$k.createElement("input",{disabled:tt.props.disabled,key:"hidden."+nt,name:tt.props.name,ref:"value"+nt,type:"hidden",value:stringifyValue(at[tt.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(et){var tt=this._visibleOptions;if(!tt.length)return null;var rt=this.props.valueKey,at=this.state.focusedOption||et;if(at&&!at.disabled){var nt=-1;if(tt.some(function(ot,st){var lt=ot[rt]===at[rt];return lt&&(nt=st),lt}),nt!==-1)return nt}for(var it=0;it"u"?"undefined":_typeof$9(ot))!=="object"&&(it=""+ot)}var st=it;return rt&&(st=stripDiacritics(st)),at&&(st=st.toLowerCase()),this.setState({inputValue:it}),this.loadOptions(st),it}},{key:"noResultsText",value:function(){var et=this.props,tt=et.loadingPlaceholder,rt=et.noResultsText,at=et.searchPromptText,nt=this.state,it=nt.inputValue,ot=nt.isLoading;return ot?tt:it&&rt?rt:at}},{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.children,at=tt.loadingPlaceholder,nt=tt.placeholder,it=this.state,ot=it.isLoading,st=it.options,lt={noResultsText:this.noResultsText(),placeholder:ot?at:nt,options:ot&&at?[]:st,ref:function(ut){return et.select=ut}};return rt(_extends$1c({},this.props,lt,{isLoading:ot,onInputChange:this.onInputChange}))}}]),$}(reactExports.Component);Async.propTypes=propTypes$c;Async.defaultProps=defaultProps$b;var CreatableSelect=function(o){inherits($,o);function $(_e,et){classCallCheck(this,$);var tt=possibleConstructorReturn(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e,et));return tt.filterOptions=tt.filterOptions.bind(tt),tt.menuRenderer=tt.menuRenderer.bind(tt),tt.onInputKeyDown=tt.onInputKeyDown.bind(tt),tt.onInputChange=tt.onInputChange.bind(tt),tt.onOptionSelect=tt.onOptionSelect.bind(tt),tt}return createClass($,[{key:"createNewOption",value:function(){var et=this.props,tt=et.isValidNewOption,rt=et.newOptionCreator,at=et.onNewOptionClick,nt=et.options,it=nt===void 0?[]:nt;if(tt({label:this.inputValue})){var ot=rt({label:this.inputValue,labelKey:this.labelKey,valueKey:this.valueKey}),st=this.isOptionUnique({option:ot,options:it});st&&(at?at(ot):(it.unshift(ot),this.select.selectValue(ot)))}}},{key:"filterOptions",value:function(){var et=this.props,tt=et.filterOptions,rt=et.isValidNewOption,at=et.promptTextCreator,nt=et.showNewOptionAtTop,it=(arguments.length<=2?void 0:arguments[2])||[],ot=tt.apply(void 0,arguments)||[];if(rt({label:this.inputValue})){var st=this.props.newOptionCreator,lt=st({label:this.inputValue,labelKey:this.labelKey,valueKey:this.valueKey}),ct=this.isOptionUnique({option:lt,options:it.concat(ot)});if(ct){var ut=at(this.inputValue);this._createPlaceholderOption=st({label:ut,labelKey:this.labelKey,valueKey:this.valueKey}),nt?ot.unshift(this._createPlaceholderOption):ot.push(this._createPlaceholderOption)}}return ot}},{key:"isOptionUnique",value:function(et){var tt=et.option,rt=et.options,at=this.props.isOptionUnique;return rt=rt||this.props.options,at({labelKey:this.labelKey,option:tt,options:rt,valueKey:this.valueKey})}},{key:"menuRenderer",value:function(et){var tt=this.props.menuRenderer;return tt(_extends$1c({},et,{onSelect:this.onOptionSelect,selectValue:this.onOptionSelect}))}},{key:"onInputChange",value:function(et){var tt=this.props.onInputChange;return this.inputValue=et,tt&&(this.inputValue=tt(et)),this.inputValue}},{key:"onInputKeyDown",value:function(et){var tt=this.props,rt=tt.shouldKeyDownEventCreateNewOption,at=tt.onInputKeyDown,nt=this.select.getFocusedOption();nt&&nt===this._createPlaceholderOption&&rt(et)?(this.createNewOption(),et.preventDefault()):at&&at(et)}},{key:"onOptionSelect",value:function(et){et===this._createPlaceholderOption?this.createNewOption():this.select.selectValue(et)}},{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.ref,at=objectWithoutProperties(tt,["ref"]),nt=this.props.children;nt||(nt=defaultChildren$2);var it=_extends$1c({},at,{allowCreate:!0,filterOptions:this.filterOptions,menuRenderer:this.menuRenderer,onInputChange:this.onInputChange,onInputKeyDown:this.onInputKeyDown,ref:function(st){et.select=st,st&&(et.labelKey=st.props.labelKey,et.valueKey=st.props.valueKey),rt&&rt(st)}});return nt(it)}}]),$}(React$k.Component),defaultChildren$2=function o($){return React$k.createElement(Select$1,$)},isOptionUnique=function o($){var _e=$.option,et=$.options,tt=$.labelKey,rt=$.valueKey;return!et||!et.length?!0:et.filter(function(at){return at[tt]===_e[tt]||at[rt]===_e[rt]}).length===0},isValidNewOption=function o($){var _e=$.label;return!!_e},newOptionCreator=function o($){var _e=$.label,et=$.labelKey,tt=$.valueKey,rt={};return rt[tt]=_e,rt[et]=_e,rt.className="Select-create-option-placeholder",rt},promptTextCreator=function o($){return'Create option "'+$+'"'},shouldKeyDownEventCreateNewOption=function o($){var _e=$.keyCode;switch(_e){case 9:case 13:case 188:return!0;default:return!1}};CreatableSelect.isOptionUnique=isOptionUnique;CreatableSelect.isValidNewOption=isValidNewOption;CreatableSelect.newOptionCreator=newOptionCreator;CreatableSelect.promptTextCreator=promptTextCreator;CreatableSelect.shouldKeyDownEventCreateNewOption=shouldKeyDownEventCreateNewOption;CreatableSelect.defaultProps={filterOptions,isOptionUnique,isValidNewOption,menuRenderer,newOptionCreator,promptTextCreator,shouldKeyDownEventCreateNewOption,showNewOptionAtTop:!0};CreatableSelect.propTypes={children:propTypesExports.func,filterOptions:propTypesExports.any,isOptionUnique:propTypesExports.func,isValidNewOption:propTypesExports.func,menuRenderer:propTypesExports.any,newOptionCreator:propTypesExports.func,onInputChange:propTypesExports.func,onInputKeyDown:propTypesExports.func,onNewOptionClick:propTypesExports.func,options:propTypesExports.array,promptTextCreator:propTypesExports.func,ref:propTypesExports.func,shouldKeyDownEventCreateNewOption:propTypesExports.func,showNewOptionAtTop:propTypesExports.bool};var AsyncCreatableSelect=function(o){inherits($,o);function $(){return classCallCheck(this,$),possibleConstructorReturn(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return createClass($,[{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var et=this;return React$k.createElement(Async,this.props,function(tt){var rt=tt.ref,at=objectWithoutProperties(tt,["ref"]),nt=rt;return React$k.createElement(CreatableSelect,at,function(it){var ot=it.ref,st=objectWithoutProperties(it,["ref"]),lt=ot;return et.props.children(_extends$1c({},st,{ref:function(ut){lt(ut),nt(ut),et.select=ut}}))})})}}]),$}(React$k.Component),defaultChildren$1$1=function o($){return React$k.createElement(Select$1,$)};AsyncCreatableSelect.propTypes={children:propTypesExports.func.isRequired};AsyncCreatableSelect.defaultProps={children:defaultChildren$1$1};Select$1.Async=Async;Select$1.AsyncCreatable=AsyncCreatableSelect;Select$1.Creatable=CreatableSelect;Select$1.Value=Value;Select$1.Option=Option$3;var AutoSizer$3={},AutoSizer$2={},detectElementResize={};Object.defineProperty(detectElementResize,"__esModule",{value:!0});detectElementResize.default=createDetectElementResize;function createDetectElementResize(o){var $;typeof window<"u"?$=window:typeof self<"u"?$=self:$=commonjsGlobal;var _e=typeof document<"u"&&document.attachEvent;if(!_e){var et=function(){var Ct=$.requestAnimationFrame||$.mozRequestAnimationFrame||$.webkitRequestAnimationFrame||function(gt){return $.setTimeout(gt,20)};return function(gt){return Ct(gt)}}(),tt=function(){var Ct=$.cancelAnimationFrame||$.mozCancelAnimationFrame||$.webkitCancelAnimationFrame||$.clearTimeout;return function(gt){return Ct(gt)}}(),rt=function(gt){var yt=gt.__resizeTriggers__,xt=yt.firstElementChild,Et=yt.lastElementChild,It=xt.firstElementChild;Et.scrollLeft=Et.scrollWidth,Et.scrollTop=Et.scrollHeight,It.style.width=xt.offsetWidth+1+"px",It.style.height=xt.offsetHeight+1+"px",xt.scrollLeft=xt.scrollWidth,xt.scrollTop=xt.scrollHeight},at=function(gt){return gt.offsetWidth!=gt.__resizeLast__.width||gt.offsetHeight!=gt.__resizeLast__.height},nt=function(gt){if(!(gt.target.className&&typeof gt.target.className.indexOf=="function"&>.target.className.indexOf("contract-trigger")<0&>.target.className.indexOf("expand-trigger")<0)){var yt=this;rt(this),this.__resizeRAF__&&tt(this.__resizeRAF__),this.__resizeRAF__=et(function(){at(yt)&&(yt.__resizeLast__.width=yt.offsetWidth,yt.__resizeLast__.height=yt.offsetHeight,yt.__resizeListeners__.forEach(function(xt){xt.call(yt,gt)}))})}},it=!1,ot="",st="animationstart",lt="Webkit Moz O ms".split(" "),ct="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),ut="";{var ft=document.createElement("fakeelement");if(ft.style.animationName!==void 0&&(it=!0),it===!1){for(var At=0;At div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',xt=gt.head||gt.getElementsByTagName("head")[0],Et=gt.createElement("style");Et.id="detectElementResize",Et.type="text/css",o!=null&&Et.setAttribute("nonce",o),Et.styleSheet?Et.styleSheet.cssText=yt:Et.appendChild(gt.createTextNode(yt)),xt.appendChild(Et)}},dt=function(gt,yt){if(_e)gt.attachEvent("onresize",yt);else{if(!gt.__resizeTriggers__){var xt=gt.ownerDocument,Et=$.getComputedStyle(gt);Et&&Et.position=="static"&&(gt.style.position="relative"),pt(xt),gt.__resizeLast__={},gt.__resizeListeners__=[],(gt.__resizeTriggers__=xt.createElement("div")).className="resize-triggers",gt.__resizeTriggers__.innerHTML='
',gt.appendChild(gt.__resizeTriggers__),rt(gt),gt.addEventListener("scroll",nt,!0),st&&(gt.__resizeTriggers__.__animationListener__=function(Tt){Tt.animationName==vt&&rt(gt)},gt.__resizeTriggers__.addEventListener(st,gt.__resizeTriggers__.__animationListener__))}gt.__resizeListeners__.push(yt)}},_t=function(gt,yt){if(_e)gt.detachEvent("onresize",yt);else if(gt.__resizeListeners__.splice(gt.__resizeListeners__.indexOf(yt),1),!gt.__resizeListeners__.length){gt.removeEventListener("scroll",nt,!0),gt.__resizeTriggers__.__animationListener__&&(gt.__resizeTriggers__.removeEventListener(st,gt.__resizeTriggers__.__animationListener__),gt.__resizeTriggers__.__animationListener__=null);try{gt.__resizeTriggers__=!gt.removeChild(gt.__resizeTriggers__)}catch(xt){}}};return{addResizeListener:dt,removeResizeListener:_t}}Object.defineProperty(AutoSizer$2,"__esModule",{value:!0});var _extends2$2=_extends$2a,_extends3$2=_interopRequireDefault$9(_extends2$2),_getPrototypeOf$d=getPrototypeOfExports,_getPrototypeOf2$2=_interopRequireDefault$9(_getPrototypeOf$d),_classCallCheck2$2=classCallCheck$2,_classCallCheck3$2=_interopRequireDefault$9(_classCallCheck2$2),_createClass2$2=createClass$2,_createClass3$2=_interopRequireDefault$9(_createClass2$2),_possibleConstructorReturn2$2=possibleConstructorReturn$2,_possibleConstructorReturn3$2=_interopRequireDefault$9(_possibleConstructorReturn2$2),_inherits2$2=inherits$2,_inherits3$2=_interopRequireDefault$9(_inherits2$2),_react$3=reactExports,React$2=_interopRequireWildcard$3(_react$3),_detectElementResize=detectElementResize,_detectElementResize2=_interopRequireDefault$9(_detectElementResize),_propTypes$4=propTypesExports;_interopRequireDefault$9(_propTypes$4);function _interopRequireWildcard$3(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.prototype.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$}function _interopRequireDefault$9(o){return o&&o.__esModule?o:{default:o}}var AutoSizer$1=function(o){(0,_inherits3$2.default)($,o);function $(){var _e,et,tt,rt;(0,_classCallCheck3$2.default)(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=0&&it===nt&&ot())}var ScalingCellSizeAndPositionManager={},CellSizeAndPositionManager={},types$1={},hasRequiredTypes;function requireTypes(){if(hasRequiredTypes)return types$1;hasRequiredTypes=1,Object.defineProperty(types$1,"__esModule",{value:!0}),types$1.bpfrpt_proptype_VisibleCellRange=types$1.bpfrpt_proptype_Alignment=types$1.bpfrpt_proptype_OverscanIndicesGetter=types$1.bpfrpt_proptype_OverscanIndices=types$1.bpfrpt_proptype_OverscanIndicesGetterParams=types$1.bpfrpt_proptype_RenderedSection=types$1.bpfrpt_proptype_ScrollbarPresenceChange=types$1.bpfrpt_proptype_Scroll=types$1.bpfrpt_proptype_NoContentRenderer=types$1.bpfrpt_proptype_CellSize=types$1.bpfrpt_proptype_CellSizeGetter=types$1.bpfrpt_proptype_CellRangeRenderer=types$1.bpfrpt_proptype_CellRangeRendererParams=types$1.bpfrpt_proptype_StyleCache=types$1.bpfrpt_proptype_CellCache=types$1.bpfrpt_proptype_CellRenderer=types$1.bpfrpt_proptype_CellRendererParams=types$1.bpfrpt_proptype_CellPosition=void 0;var o=reactExports;tt(o);var $=requireScalingCellSizeAndPositionManager();et($);var _e=propTypesExports;et(_e);function et(gt){return gt&>.__esModule?gt:{default:gt}}function tt(gt){if(gt&>.__esModule)return gt;var yt={};if(gt!=null)for(var xt in gt)Object.prototype.hasOwnProperty.call(gt,xt)&&(yt[xt]=gt[xt]);return yt.default=gt,yt}var rt=null,at=null,nt=null,it=null,ot=null,st=null,lt=null,ct=null,ut=null,ft=null,At=null,vt=null,ht=null,bt=null,pt=null,dt=null,_t=null,Ct=null;return types$1.bpfrpt_proptype_CellPosition=rt,types$1.bpfrpt_proptype_CellRendererParams=at,types$1.bpfrpt_proptype_CellRenderer=nt,types$1.bpfrpt_proptype_CellCache=it,types$1.bpfrpt_proptype_StyleCache=ot,types$1.bpfrpt_proptype_CellRangeRendererParams=st,types$1.bpfrpt_proptype_CellRangeRenderer=lt,types$1.bpfrpt_proptype_CellSizeGetter=ct,types$1.bpfrpt_proptype_CellSize=ut,types$1.bpfrpt_proptype_NoContentRenderer=ft,types$1.bpfrpt_proptype_Scroll=At,types$1.bpfrpt_proptype_ScrollbarPresenceChange=vt,types$1.bpfrpt_proptype_RenderedSection=ht,types$1.bpfrpt_proptype_OverscanIndicesGetterParams=bt,types$1.bpfrpt_proptype_OverscanIndices=pt,types$1.bpfrpt_proptype_OverscanIndicesGetter=dt,types$1.bpfrpt_proptype_Alignment=_t,types$1.bpfrpt_proptype_VisibleCellRange=Ct,types$1}var hasRequiredCellSizeAndPositionManager;function requireCellSizeAndPositionManager(){if(hasRequiredCellSizeAndPositionManager)return CellSizeAndPositionManager;hasRequiredCellSizeAndPositionManager=1,Object.defineProperty(CellSizeAndPositionManager,"__esModule",{value:!0});var o=classCallCheck$2,$=tt(o),_e=createClass$2,et=tt(_e);requireTypes();function tt(at){return at&&at.__esModule?at:{default:at}}var rt=function(){function at(nt){var it=nt.cellCount,ot=nt.cellSizeGetter,st=nt.estimatedCellSize;(0,$.default)(this,at),this._cellSizeAndPositionData={},this._lastMeasuredIndex=-1,this._lastBatchedIndex=-1,this._cellSizeGetter=ot,this._cellCount=it,this._estimatedCellSize=st}return(0,et.default)(at,[{key:"areOffsetsAdjusted",value:function(){return!1}},{key:"configure",value:function(it){var ot=it.cellCount,st=it.estimatedCellSize,lt=it.cellSizeGetter;this._cellCount=ot,this._estimatedCellSize=st,this._cellSizeGetter=lt}},{key:"getCellCount",value:function(){return this._cellCount}},{key:"getEstimatedCellSize",value:function(){return this._estimatedCellSize}},{key:"getLastMeasuredIndex",value:function(){return this._lastMeasuredIndex}},{key:"getOffsetAdjustment",value:function(){return 0}},{key:"getSizeAndPositionOfCell",value:function(it){if(it<0||it>=this._cellCount)throw Error("Requested index "+it+" is outside of range 0.."+this._cellCount);if(it>this._lastMeasuredIndex)for(var ot=this.getSizeAndPositionOfLastMeasuredCell(),st=ot.offset+ot.size,lt=this._lastMeasuredIndex+1;lt<=it;lt++){var ct=this._cellSizeGetter({index:lt});if(ct===void 0||isNaN(ct))throw Error("Invalid size returned for cell "+lt+" of value "+ct);ct===null?(this._cellSizeAndPositionData[lt]={offset:st,size:0},this._lastBatchedIndex=it):(this._cellSizeAndPositionData[lt]={offset:st,size:ct},st+=ct,this._lastMeasuredIndex=it)}return this._cellSizeAndPositionData[it]}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._lastMeasuredIndex>=0?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}}},{key:"getTotalSize",value:function(){var it=this.getSizeAndPositionOfLastMeasuredCell(),ot=it.offset+it.size,st=this._cellCount-this._lastMeasuredIndex-1,lt=st*this._estimatedCellSize;return ot+lt}},{key:"getUpdatedOffsetForIndex",value:function(it){var ot=it.align,st=ot===void 0?"auto":ot,lt=it.containerSize,ct=it.currentOffset,ut=it.targetIndex;if(lt<=0)return 0;var ft=this.getSizeAndPositionOfCell(ut),At=ft.offset,vt=At-lt+ft.size,ht=void 0;switch(st){case"start":ht=At;break;case"end":ht=vt;break;case"center":ht=At-(lt-ft.size)/2;break;default:ht=Math.max(vt,Math.min(At,ct));break}var bt=this.getTotalSize();return Math.max(0,Math.min(bt-lt,ht))}},{key:"getVisibleCellRange",value:function(it){var ot=it.containerSize,st=it.offset,lt=this.getTotalSize();if(lt===0)return{};var ct=st+ot,ut=this._findNearestCell(st),ft=this.getSizeAndPositionOfCell(ut);st=ft.offset+ft.size;for(var At=ut;stst&&(it=lt-1)}return ot>0?ot-1:0}},{key:"_exponentialSearch",value:function(it,ot){for(var st=1;it=it?this._binarySearch(st,0,it):this._exponentialSearch(st,it)}}]),at}();return CellSizeAndPositionManager.default=rt,CellSizeAndPositionManager}var maxElementSize={};Object.defineProperty(maxElementSize,"__esModule",{value:!0});var DEFAULT_MAX_ELEMENT_SIZE=15e5,CHROME_MAX_ELEMENT_SIZE=16777100,isBrowser=function o(){return typeof window<"u"},isChrome=function o(){return!!window.chrome&&!!window.chrome.webstore};maxElementSize.getMaxElementSize=function o(){return isBrowser()&&isChrome()?CHROME_MAX_ELEMENT_SIZE:DEFAULT_MAX_ELEMENT_SIZE};var hasRequiredScalingCellSizeAndPositionManager;function requireScalingCellSizeAndPositionManager(){if(hasRequiredScalingCellSizeAndPositionManager)return ScalingCellSizeAndPositionManager;hasRequiredScalingCellSizeAndPositionManager=1,Object.defineProperty(ScalingCellSizeAndPositionManager,"__esModule",{value:!0});var o=objectWithoutProperties$2,$=ot(o),_e=classCallCheck$2,et=ot(_e),tt=createClass$2,rt=ot(tt),at=requireCellSizeAndPositionManager(),nt=ot(at),it=maxElementSize;requireTypes();function ot(lt){return lt&<.__esModule?lt:{default:lt}}var st=function(){function lt(ct){var ut=ct.maxScrollSize,ft=ut===void 0?(0,it.getMaxElementSize)():ut,At=(0,$.default)(ct,["maxScrollSize"]);(0,et.default)(this,lt),this._cellSizeAndPositionManager=new nt.default(At),this._maxScrollSize=ft}return(0,rt.default)(lt,[{key:"areOffsetsAdjusted",value:function(){return this._cellSizeAndPositionManager.getTotalSize()>this._maxScrollSize}},{key:"configure",value:function(ut){this._cellSizeAndPositionManager.configure(ut)}},{key:"getCellCount",value:function(){return this._cellSizeAndPositionManager.getCellCount()}},{key:"getEstimatedCellSize",value:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()}},{key:"getLastMeasuredIndex",value:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()}},{key:"getOffsetAdjustment",value:function(ut){var ft=ut.containerSize,At=ut.offset,vt=this._cellSizeAndPositionManager.getTotalSize(),ht=this.getTotalSize(),bt=this._getOffsetPercentage({containerSize:ft,offset:At,totalSize:ht});return Math.round(bt*(ht-vt))}},{key:"getSizeAndPositionOfCell",value:function(ut){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(ut)}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()}},{key:"getTotalSize",value:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())}},{key:"getUpdatedOffsetForIndex",value:function(ut){var ft=ut.align,At=ft===void 0?"auto":ft,vt=ut.containerSize,ht=ut.currentOffset,bt=ut.targetIndex;ht=this._safeOffsetToOffset({containerSize:vt,offset:ht});var pt=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({align:At,containerSize:vt,currentOffset:ht,targetIndex:bt});return this._offsetToSafeOffset({containerSize:vt,offset:pt})}},{key:"getVisibleCellRange",value:function(ut){var ft=ut.containerSize,At=ut.offset;return At=this._safeOffsetToOffset({containerSize:ft,offset:At}),this._cellSizeAndPositionManager.getVisibleCellRange({containerSize:ft,offset:At})}},{key:"resetCell",value:function(ut){this._cellSizeAndPositionManager.resetCell(ut)}},{key:"_getOffsetPercentage",value:function(ut){var ft=ut.containerSize,At=ut.offset,vt=ut.totalSize;return vt<=ft?0:At/(vt-ft)}},{key:"_offsetToSafeOffset",value:function(ut){var ft=ut.containerSize,At=ut.offset,vt=this._cellSizeAndPositionManager.getTotalSize(),ht=this.getTotalSize();if(vt===ht)return At;var bt=this._getOffsetPercentage({containerSize:ft,offset:At,totalSize:vt});return Math.round(bt*(ht-ft))}},{key:"_safeOffsetToOffset",value:function(ut){var ft=ut.containerSize,At=ut.offset,vt=this._cellSizeAndPositionManager.getTotalSize(),ht=this.getTotalSize();if(vt===ht)return At;var bt=this._getOffsetPercentage({containerSize:ft,offset:At,totalSize:ht});return Math.round(bt*(vt-ft))}}]),lt}();return ScalingCellSizeAndPositionManager.default=st,ScalingCellSizeAndPositionManager}var createCallbackMemoizer$1={},keysExports$1={},keys$2={get exports(){return keysExports$1},set exports(o){keysExports$1=o}},toObject=require_toObject(),$keys=_objectKeys;_objectSap("keys",function(){return function($){return $keys(toObject($))}});var keys$1=_coreExports.Object.keys;(function(o){o.exports={default:keys$1,__esModule:!0}})(keys$2);Object.defineProperty(createCallbackMemoizer$1,"__esModule",{value:!0});var _keys=keysExports$1,_keys2=_interopRequireDefault$8(_keys);createCallbackMemoizer$1.default=createCallbackMemoizer;function _interopRequireDefault$8(o){return o&&o.__esModule?o:{default:o}}function createCallbackMemoizer(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,$={};return function(_e){var et=_e.callback,tt=_e.indices,rt=(0,_keys2.default)(tt),at=!o||rt.every(function(it){var ot=tt[it];return Array.isArray(ot)?ot.length>0:ot>=0}),nt=rt.length!==(0,_keys2.default)($).length||rt.some(function(it){var ot=$[it],st=tt[it];return Array.isArray(st)?ot.join(",")!==st.join(","):ot!==st});$=tt,at&&nt&&et(tt)}}var defaultOverscanIndicesGetter$2={};Object.defineProperty(defaultOverscanIndicesGetter$2,"__esModule",{value:!0});defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_VERTICAL=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_HORIZONTAL=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_FORWARD=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_BACKWARD=void 0;defaultOverscanIndicesGetter$2.default=defaultOverscanIndicesGetter$1;requireTypes();defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_BACKWARD=-1;var SCROLL_DIRECTION_FORWARD$1=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_FORWARD=1;defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_HORIZONTAL="horizontal";defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_VERTICAL="vertical";function defaultOverscanIndicesGetter$1(o){var $=o.cellCount,_e=o.overscanCellsCount,et=o.scrollDirection,tt=o.startIndex,rt=o.stopIndex;return et===SCROLL_DIRECTION_FORWARD$1?{overscanStartIndex:Math.max(0,tt),overscanStopIndex:Math.min($-1,rt+_e)}:{overscanStartIndex:Math.max(0,tt-_e),overscanStopIndex:Math.min($-1,rt)}}var updateScrollIndexHelper$1={};Object.defineProperty(updateScrollIndexHelper$1,"__esModule",{value:!0});updateScrollIndexHelper$1.default=updateScrollIndexHelper;var _ScalingCellSizeAndPositionManager$1=requireScalingCellSizeAndPositionManager();_interopRequireDefault$7(_ScalingCellSizeAndPositionManager$1);requireTypes();function _interopRequireDefault$7(o){return o&&o.__esModule?o:{default:o}}function updateScrollIndexHelper(o){var $=o.cellSize,_e=o.cellSizeAndPositionManager,et=o.previousCellsCount,tt=o.previousCellSize,rt=o.previousScrollToAlignment,at=o.previousScrollToIndex,nt=o.previousSize,it=o.scrollOffset,ot=o.scrollToAlignment,st=o.scrollToIndex,lt=o.size,ct=o.sizeJustIncreasedFromZero,ut=o.updateScrollIndexCallback,ft=_e.getCellCount(),At=st>=0&&st0&&(lt_e.getTotalSize()-lt&&ut(ft-1)}var defaultCellRangeRenderer$1={};Object.defineProperty(defaultCellRangeRenderer$1,"__esModule",{value:!0});defaultCellRangeRenderer$1.default=defaultCellRangeRenderer;requireTypes();function defaultCellRangeRenderer(o){for(var $=o.cellCache,_e=o.cellRenderer,et=o.columnSizeAndPositionManager,tt=o.columnStartIndex,rt=o.columnStopIndex,at=o.deferredMeasurementCache,nt=o.horizontalOffsetAdjustment,it=o.isScrolling,ot=o.isScrollingOptOut,st=o.parent,lt=o.rowSizeAndPositionManager,ct=o.rowStartIndex,ut=o.rowStopIndex,ft=o.styleCache,At=o.verticalOffsetAdjustment,vt=o.visibleColumnIndices,ht=o.visibleRowIndices,bt=[],pt=et.areOffsetsAdjusted()||lt.areOffsetsAdjusted(),dt=!it&&!pt,_t=ct;_t<=ut;_t++)for(var Ct=lt.getSizeAndPositionOfCell(_t),gt=tt;gt<=rt;gt++){var yt=et.getSizeAndPositionOfCell(gt),xt=gt>=vt.start&><=vt.stop&&_t>=ht.start&&_t<=ht.stop,Et=_t+"-"+gt,It=void 0;dt&&ft[Et]?It=ft[Et]:at&&!at.has(_t,gt)?It={height:"auto",left:0,position:"absolute",top:0,width:"auto"}:(It={height:Ct.size,left:yt.offset+nt,position:"absolute",top:Ct.offset+At,width:yt.size},ft[Et]=It);var Tt={columnIndex:gt,isScrolling:it,isVisible:xt,key:Et,parent:st,rowIndex:_t,style:It},Rt=void 0;(ot||it)&&!nt&&!At?($[Et]||($[Et]=_e(Tt)),Rt=$[Et]):Rt=_e(Tt),!(Rt==null||Rt===!1)&&bt.push(Rt)}return bt}var scrollbarSizeExports={},scrollbarSize={get exports(){return scrollbarSizeExports},set exports(o){scrollbarSizeExports=o}},interopRequireDefaultExports={},interopRequireDefault={get exports(){return interopRequireDefaultExports},set exports(o){interopRequireDefaultExports=o}};(function(o){function $(_e){return _e&&_e.__esModule?_e:{default:_e}}o.exports=$,o.exports.__esModule=!0,o.exports.default=o.exports})(interopRequireDefault);var inDOMExports={},inDOM={get exports(){return inDOMExports},set exports(o){inDOMExports=o}},hasRequiredInDOM;function requireInDOM(){return hasRequiredInDOM||(hasRequiredInDOM=1,function(o,$){$.__esModule=!0,$.default=void 0;var _e=!!(typeof window<"u"&&window.document&&window.document.createElement);$.default=_e,o.exports=$.default}(inDOM,inDOMExports)),inDOMExports}(function(o,$){var _e=interopRequireDefaultExports;$.__esModule=!0,$.default=rt;var et=_e(requireInDOM()),tt;function rt(at){if((!tt&&tt!==0||at)&&et.default){var nt=document.createElement("div");nt.style.position="absolute",nt.style.top="-9999px",nt.style.width="50px",nt.style.height="50px",nt.style.overflow="scroll",document.body.appendChild(nt),tt=nt.offsetWidth-nt.clientWidth,document.body.removeChild(nt)}return tt}o.exports=$.default})(scrollbarSize,scrollbarSizeExports);var requestAnimationTimeout={},promiseExports={},promise$2={get exports(){return promiseExports},set exports(o){promiseExports=o}},_anInstance=function(o,$,_e,et){if(!(o instanceof $)||et!==void 0&&et in o)throw TypeError(_e+": incorrect invocation!");return o},_forOfExports={},_forOf={get exports(){return _forOfExports},set exports(o){_forOfExports=o}},ctx$2=_ctx,call=_iterCall,isArrayIter=_isArrayIter,anObject$2=_anObject,toLength=_toLength,getIterFn=core_getIteratorMethod,BREAK={},RETURN={},exports=_forOf.exports=function(o,$,_e,et,tt){var rt=tt?function(){return o}:getIterFn(o),at=ctx$2(_e,et,$?2:1),nt=0,it,ot,st,lt;if(typeof rt!="function")throw TypeError(o+" is not iterable!");if(isArrayIter(rt)){for(it=toLength(o.length);it>nt;nt++)if(lt=$?at(anObject$2(ot=o[nt])[0],ot[1]):at(o[nt]),lt===BREAK||lt===RETURN)return lt}else for(st=rt.call(o);!(ot=st.next()).done;)if(lt=call(st,at,ot.value,$),lt===BREAK||lt===RETURN)return lt};exports.BREAK=BREAK;exports.RETURN=RETURN;var anObject$1=_anObject,aFunction$2=_aFunction,SPECIES=_wksExports("species"),_speciesConstructor=function(o,$){var _e=anObject$1(o).constructor,et;return _e===void 0||(et=anObject$1(_e)[SPECIES])==null?$:aFunction$2(et)},_invoke=function(o,$,_e){var et=_e===void 0;switch($.length){case 0:return et?o():o.call(_e);case 1:return et?o($[0]):o.call(_e,$[0]);case 2:return et?o($[0],$[1]):o.call(_e,$[0],$[1]);case 3:return et?o($[0],$[1],$[2]):o.call(_e,$[0],$[1],$[2]);case 4:return et?o($[0],$[1],$[2],$[3]):o.call(_e,$[0],$[1],$[2],$[3])}return o.apply(_e,$)},ctx$1=_ctx,invoke=_invoke,html=require_html(),cel=require_domCreate(),global$5=_globalExports,process$3=global$5.process,setTask=global$5.setImmediate,clearTask=global$5.clearImmediate,MessageChannel$1=global$5.MessageChannel,Dispatch=global$5.Dispatch,counter=0,queue={},ONREADYSTATECHANGE="onreadystatechange",defer,channel,port,run=function(){var o=+this;if(queue.hasOwnProperty(o)){var $=queue[o];delete queue[o],$()}},listener=function(o){run.call(o.data)};(!setTask||!clearTask)&&(setTask=function($){for(var _e=[],et=1;arguments.length>et;)_e.push(arguments[et++]);return queue[++counter]=function(){invoke(typeof $=="function"?$:Function($),_e)},defer(counter),counter},clearTask=function($){delete queue[$]},_cof(process$3)=="process"?defer=function(o){process$3.nextTick(ctx$1(run,o,1))}:Dispatch&&Dispatch.now?defer=function(o){Dispatch.now(ctx$1(run,o,1))}:MessageChannel$1?(channel=new MessageChannel$1,port=channel.port2,channel.port1.onmessage=listener,defer=ctx$1(port.postMessage,port,1)):global$5.addEventListener&&typeof postMessage=="function"&&!global$5.importScripts?(defer=function(o){global$5.postMessage(o+"","*")},global$5.addEventListener("message",listener,!1)):ONREADYSTATECHANGE in cel("script")?defer=function(o){html.appendChild(cel("script"))[ONREADYSTATECHANGE]=function(){html.removeChild(this),run.call(o)}}:defer=function(o){setTimeout(ctx$1(run,o,1),0)});var _task={set:setTask,clear:clearTask},global$4=_globalExports,macrotask=_task.set,Observer=global$4.MutationObserver||global$4.WebKitMutationObserver,process$2=global$4.process,Promise$1=global$4.Promise,isNode$1=_cof(process$2)=="process",_microtask=function(){var o,$,_e,et=function(){var nt,it;for(isNode$1&&(nt=process$2.domain)&&nt.exit();o;){it=o.fn,o=o.next;try{it()}catch(ot){throw o?_e():$=void 0,ot}}$=void 0,nt&&nt.enter()};if(isNode$1)_e=function(){process$2.nextTick(et)};else if(Observer&&!(global$4.navigator&&global$4.navigator.standalone)){var tt=!0,rt=document.createTextNode("");new Observer(et).observe(rt,{characterData:!0}),_e=function(){rt.data=tt=!tt}}else if(Promise$1&&Promise$1.resolve){var at=Promise$1.resolve(void 0);_e=function(){at.then(et)}}else _e=function(){macrotask.call(global$4,et)};return function(nt){var it={fn:nt,next:void 0};$&&($.next=it),o||(o=it,_e()),$=it}},_newPromiseCapability={},aFunction$1=_aFunction;function PromiseCapability(o){var $,_e;this.promise=new o(function(et,tt){if($!==void 0||_e!==void 0)throw TypeError("Bad Promise constructor");$=et,_e=tt}),this.resolve=aFunction$1($),this.reject=aFunction$1(_e)}_newPromiseCapability.f=function(o){return new PromiseCapability(o)};var _perform=function(o){try{return{e:!1,v:o()}}catch($){return{e:!0,v:$}}},global$3=_globalExports,navigator$1=global$3.navigator,_userAgent=navigator$1&&navigator$1.userAgent||"",anObject=_anObject,isObject$2=_isObject,newPromiseCapability$2=_newPromiseCapability,_promiseResolve=function(o,$){if(anObject(o),isObject$2($)&&$.constructor===o)return $;var _e=newPromiseCapability$2.f(o),et=_e.resolve;return et($),_e.promise},_redefineAll,hasRequired_redefineAll;function require_redefineAll(){if(hasRequired_redefineAll)return _redefineAll;hasRequired_redefineAll=1;var o=_hide;return _redefineAll=function($,_e,et){for(var tt in _e)et&&$[tt]?$[tt]=_e[tt]:o($,tt,_e[tt]);return $},_redefineAll}var _setSpecies,hasRequired_setSpecies;function require_setSpecies(){if(hasRequired_setSpecies)return _setSpecies;hasRequired_setSpecies=1;var o=_globalExports,$=_coreExports,_e=require_objectDp(),et=require_descriptors(),tt=_wksExports("species");return _setSpecies=function(rt){var at=typeof $[rt]=="function"?$[rt]:o[rt];et&&at&&!at[tt]&&_e.f(at,tt,{configurable:!0,get:function(){return this}})},_setSpecies}var LIBRARY=_library,global$2=_globalExports,ctx=_ctx,classof=_classof,$export$2=_export,isObject$1=_isObject,aFunction=_aFunction,anInstance=_anInstance,forOf=_forOfExports,speciesConstructor$1=_speciesConstructor,task=_task.set,microtask=_microtask(),newPromiseCapabilityModule=_newPromiseCapability,perform$1=_perform,userAgent=_userAgent,promiseResolve$1=_promiseResolve,PROMISE="Promise",TypeError$1=global$2.TypeError,process$1=global$2.process,versions=process$1&&process$1.versions,v8=versions&&versions.v8||"",$Promise=global$2[PROMISE],isNode=classof(process$1)=="process",empty$3=function(){},Internal,newGenericPromiseCapability,OwnPromiseCapability,Wrapper,newPromiseCapability$1=newGenericPromiseCapability=newPromiseCapabilityModule.f,USE_NATIVE=!!function(){try{var o=$Promise.resolve(1),$=(o.constructor={})[_wksExports("species")]=function(_e){_e(empty$3,empty$3)};return(isNode||typeof PromiseRejectionEvent=="function")&&o.then(empty$3)instanceof $&&v8.indexOf("6.6")!==0&&userAgent.indexOf("Chrome/66")===-1}catch(_e){}}(),isThenable=function(o){var $;return isObject$1(o)&&typeof($=o.then)=="function"?$:!1},notify=function(o,$){if(!o._n){o._n=!0;var _e=o._c;microtask(function(){for(var et=o._v,tt=o._s==1,rt=0,at=function(nt){var it=tt?nt.ok:nt.fail,ot=nt.resolve,st=nt.reject,lt=nt.domain,ct,ut,ft;try{it?(tt||(o._h==2&&onHandleUnhandled(o),o._h=1),it===!0?ct=et:(lt&<.enter(),ct=it(et),lt&&(lt.exit(),ft=!0)),ct===nt.promise?st(TypeError$1("Promise-chain cycle")):(ut=isThenable(ct))?ut.call(ct,ot,st):ot(ct)):st(et)}catch(At){lt&&!ft&<.exit(),st(At)}};_e.length>rt;)at(_e[rt++]);o._c=[],o._n=!1,$&&!o._h&&onUnhandled(o)})}},onUnhandled=function(o){task.call(global$2,function(){var $=o._v,_e=isUnhandled(o),et,tt,rt;if(_e&&(et=perform$1(function(){isNode?process$1.emit("unhandledRejection",$,o):(tt=global$2.onunhandledrejection)?tt({promise:o,reason:$}):(rt=global$2.console)&&rt.error&&rt.error("Unhandled promise rejection",$)}),o._h=isNode||isUnhandled(o)?2:1),o._a=void 0,_e&&et.e)throw et.v})},isUnhandled=function(o){return o._h!==1&&(o._a||o._c).length===0},onHandleUnhandled=function(o){task.call(global$2,function(){var $;isNode?process$1.emit("rejectionHandled",o):($=global$2.onrejectionhandled)&&$({promise:o,reason:o._v})})},$reject=function(o){var $=this;$._d||($._d=!0,$=$._w||$,$._v=o,$._s=2,$._a||($._a=$._c.slice()),notify($,!0))},$resolve=function(o){var $=this,_e;if(!$._d){$._d=!0,$=$._w||$;try{if($===o)throw TypeError$1("Promise can't be resolved itself");(_e=isThenable(o))?microtask(function(){var et={_w:$,_d:!1};try{_e.call(o,ctx($resolve,et,1),ctx($reject,et,1))}catch(tt){$reject.call(et,tt)}}):($._v=o,$._s=1,notify($,!1))}catch(et){$reject.call({_w:$,_d:!1},et)}}};USE_NATIVE||($Promise=function($){anInstance(this,$Promise,PROMISE,"_h"),aFunction($),Internal.call(this);try{$(ctx($resolve,this,1),ctx($reject,this,1))}catch(_e){$reject.call(this,_e)}},Internal=function($){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},Internal.prototype=require_redefineAll()($Promise.prototype,{then:function($,_e){var et=newPromiseCapability$1(speciesConstructor$1(this,$Promise));return et.ok=typeof $=="function"?$:!0,et.fail=typeof _e=="function"&&_e,et.domain=isNode?process$1.domain:void 0,this._c.push(et),this._a&&this._a.push(et),this._s&¬ify(this,!1),et.promise},catch:function(o){return this.then(void 0,o)}}),OwnPromiseCapability=function(){var o=new Internal;this.promise=o,this.resolve=ctx($resolve,o,1),this.reject=ctx($reject,o,1)},newPromiseCapabilityModule.f=newPromiseCapability$1=function(o){return o===$Promise||o===Wrapper?new OwnPromiseCapability(o):newGenericPromiseCapability(o)});$export$2($export$2.G+$export$2.W+$export$2.F*!USE_NATIVE,{Promise:$Promise});_setToStringTag($Promise,PROMISE);require_setSpecies()(PROMISE);Wrapper=_coreExports[PROMISE];$export$2($export$2.S+$export$2.F*!USE_NATIVE,PROMISE,{reject:function o($){var _e=newPromiseCapability$1(this),et=_e.reject;return et($),_e.promise}});$export$2($export$2.S+$export$2.F*LIBRARY,PROMISE,{resolve:function o($){return promiseResolve$1(this===Wrapper?$Promise:this,$)}});$export$2($export$2.S+$export$2.F*!(USE_NATIVE&&require_iterDetect()(function(o){$Promise.all(o).catch(empty$3)})),PROMISE,{all:function o($){var _e=this,et=newPromiseCapability$1(_e),tt=et.resolve,rt=et.reject,at=perform$1(function(){var nt=[],it=0,ot=1;forOf($,!1,function(st){var lt=it++,ct=!1;nt.push(void 0),ot++,_e.resolve(st).then(function(ut){ct||(ct=!0,nt[lt]=ut,--ot||tt(nt))},rt)}),--ot||tt(nt)});return at.e&&rt(at.v),et.promise},race:function o($){var _e=this,et=newPromiseCapability$1(_e),tt=et.reject,rt=perform$1(function(){forOf($,!1,function(at){_e.resolve(at).then(et.resolve,tt)})});return rt.e&&tt(rt.v),et.promise}});var $export$1=_export,core=_coreExports,global$1=_globalExports,speciesConstructor=_speciesConstructor,promiseResolve=_promiseResolve;$export$1($export$1.P+$export$1.R,"Promise",{finally:function(o){var $=speciesConstructor(this,core.Promise||global$1.Promise),_e=typeof o=="function";return this.then(_e?function(et){return promiseResolve($,o()).then(function(){return et})}:o,_e?function(et){return promiseResolve($,o()).then(function(){throw et})}:o)}});var $export=_export,newPromiseCapability=_newPromiseCapability,perform=_perform;$export($export.S,"Promise",{try:function(o){var $=newPromiseCapability.f(this),_e=perform(o);return(_e.e?$.reject:$.resolve)(_e.v),$.promise}});var promise$1=_coreExports.Promise;(function(o){o.exports={default:promise$1,__esModule:!0}})(promise$2);var animationFrame={};Object.defineProperty(animationFrame,"__esModule",{value:!0});var win=void 0;typeof window<"u"?win=window:typeof self<"u"?win=self:win={};var request=win.requestAnimationFrame||win.webkitRequestAnimationFrame||win.mozRequestAnimationFrame||win.oRequestAnimationFrame||win.msRequestAnimationFrame||function(o){return win.setTimeout(o,1e3/60)},cancel$1=win.cancelAnimationFrame||win.webkitCancelAnimationFrame||win.mozCancelAnimationFrame||win.oCancelAnimationFrame||win.msCancelAnimationFrame||function(o){win.clearTimeout(o)};animationFrame.raf=request;animationFrame.caf=cancel$1;Object.defineProperty(requestAnimationTimeout,"__esModule",{value:!0});requestAnimationTimeout.bpfrpt_proptype_AnimationTimeoutId=requestAnimationTimeout.requestAnimationTimeout=requestAnimationTimeout.cancelAnimationTimeout=void 0;var _promise=promiseExports,_promise2=_interopRequireDefault$6(_promise),_animationFrame=animationFrame,_propTypes$3=propTypesExports;_interopRequireDefault$6(_propTypes$3);function _interopRequireDefault$6(o){return o&&o.__esModule?o:{default:o}}var bpfrpt_proptype_AnimationTimeoutId=null;requestAnimationTimeout.cancelAnimationTimeout=function o($){return(0,_animationFrame.caf)($.id)};requestAnimationTimeout.requestAnimationTimeout=function o($,_e){var et=void 0;_promise2.default.resolve().then(function(){et=Date.now()});var tt=function at(){Date.now()-et>=_e?$.call():rt.id=(0,_animationFrame.raf)(at)},rt={id:(0,_animationFrame.raf)(tt)};return rt};requestAnimationTimeout.bpfrpt_proptype_AnimationTimeoutId=bpfrpt_proptype_AnimationTimeoutId;Object.defineProperty(Grid$3,"__esModule",{value:!0});Grid$3.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=void 0;var _assign=assignExports,_assign2=_interopRequireDefault$5(_assign),_extends2$1=_extends$2a,_extends3$1=_interopRequireDefault$5(_extends2$1),_getPrototypeOf$c=getPrototypeOfExports,_getPrototypeOf2$1=_interopRequireDefault$5(_getPrototypeOf$c),_classCallCheck2$1=classCallCheck$2,_classCallCheck3$1=_interopRequireDefault$5(_classCallCheck2$1),_createClass2$1=createClass$2,_createClass3$1=_interopRequireDefault$5(_createClass2$1),_possibleConstructorReturn2$1=possibleConstructorReturn$2,_possibleConstructorReturn3$1=_interopRequireDefault$5(_possibleConstructorReturn2$1),_inherits2$1=inherits$2,_inherits3$1=_interopRequireDefault$5(_inherits2$1),_react$2=reactExports,React$1=_interopRequireWildcard$2(_react$2),_classnames$1=classnamesExports,_classnames2$1=_interopRequireDefault$5(_classnames$1),_calculateSizeAndPositionDataAndUpdateScrollOffset=calculateSizeAndPositionDataAndUpdateScrollOffset$1,_calculateSizeAndPositionDataAndUpdateScrollOffset2=_interopRequireDefault$5(_calculateSizeAndPositionDataAndUpdateScrollOffset),_ScalingCellSizeAndPositionManager=requireScalingCellSizeAndPositionManager(),_ScalingCellSizeAndPositionManager2=_interopRequireDefault$5(_ScalingCellSizeAndPositionManager),_createCallbackMemoizer=createCallbackMemoizer$1,_createCallbackMemoizer2=_interopRequireDefault$5(_createCallbackMemoizer),_defaultOverscanIndicesGetter=defaultOverscanIndicesGetter$2,_defaultOverscanIndicesGetter2=_interopRequireDefault$5(_defaultOverscanIndicesGetter),_updateScrollIndexHelper=updateScrollIndexHelper$1,_updateScrollIndexHelper2=_interopRequireDefault$5(_updateScrollIndexHelper),_defaultCellRangeRenderer=defaultCellRangeRenderer$1,_defaultCellRangeRenderer2=_interopRequireDefault$5(_defaultCellRangeRenderer),_scrollbarSize=scrollbarSizeExports,_scrollbarSize2=_interopRequireDefault$5(_scrollbarSize),_reactLifecyclesCompat=require$$16,_requestAnimationTimeout=requestAnimationTimeout;requireTypes();var _propTypes$2=propTypesExports;_interopRequireDefault$5(_propTypes$2);function _interopRequireWildcard$2(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.prototype.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$}function _interopRequireDefault$5(o){return o&&o.__esModule?o:{default:o}}var DEFAULT_SCROLLING_RESET_TIME_INTERVAL=Grid$3.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=150,SCROLL_POSITION_CHANGE_REASONS={OBSERVED:"observed",REQUESTED:"requested"},renderNull=function o(){return null},Grid$2=function(o){(0,_inherits3$1.default)($,o);function $(_e){(0,_classCallCheck3$1.default)(this,$);var et=(0,_possibleConstructorReturn3$1.default)(this,($.__proto__||(0,_getPrototypeOf2$1.default)($)).call(this,_e));et._onGridRenderedMemoizer=(0,_createCallbackMemoizer2.default)(),et._onScrollMemoizer=(0,_createCallbackMemoizer2.default)(!1),et._deferredInvalidateColumnIndex=null,et._deferredInvalidateRowIndex=null,et._recomputeScrollLeftFlag=!1,et._recomputeScrollTopFlag=!1,et._horizontalScrollBarSize=0,et._verticalScrollBarSize=0,et._scrollbarPresenceChanged=!1,et._renderedColumnStartIndex=0,et._renderedColumnStopIndex=0,et._renderedRowStartIndex=0,et._renderedRowStopIndex=0,et._styleCache={},et._cellCache={},et._debounceScrollEndedCallback=function(){et._disablePointerEventsTimeoutId=null,et.setState({isScrolling:!1,needToResetStyleCache:!1})},et._invokeOnGridRenderedHelper=function(){var at=et.props.onSectionRendered;et._onGridRenderedMemoizer({callback:at,indices:{columnOverscanStartIndex:et._columnStartIndex,columnOverscanStopIndex:et._columnStopIndex,columnStartIndex:et._renderedColumnStartIndex,columnStopIndex:et._renderedColumnStopIndex,rowOverscanStartIndex:et._rowStartIndex,rowOverscanStopIndex:et._rowStopIndex,rowStartIndex:et._renderedRowStartIndex,rowStopIndex:et._renderedRowStopIndex}})},et._setScrollingContainerRef=function(at){et._scrollingContainer=at},et._onScroll=function(at){at.target===et._scrollingContainer&&et.handleScrollEvent(at.target)};var tt=new _ScalingCellSizeAndPositionManager2.default({cellCount:_e.columnCount,cellSizeGetter:function(nt){return $._wrapSizeGetter(_e.columnWidth)(nt)},estimatedCellSize:$._getEstimatedColumnSize(_e)}),rt=new _ScalingCellSizeAndPositionManager2.default({cellCount:_e.rowCount,cellSizeGetter:function(nt){return $._wrapSizeGetter(_e.rowHeight)(nt)},estimatedCellSize:$._getEstimatedRowSize(_e)});return et.state={instanceProps:{columnSizeAndPositionManager:tt,rowSizeAndPositionManager:rt,prevColumnWidth:_e.columnWidth,prevRowHeight:_e.rowHeight,prevColumnCount:_e.columnCount,prevRowCount:_e.rowCount,prevIsScrolling:_e.isScrolling===!0,prevScrollToColumn:_e.scrollToColumn,prevScrollToRow:_e.scrollToRow,scrollbarSize:0,scrollbarSizeMeasured:!1},isScrolling:!1,scrollDirectionHorizontal:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,scrollDirectionVertical:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,scrollLeft:0,scrollTop:0,scrollPositionChangeReason:null,needToResetStyleCache:!1},_e.scrollToRow>0&&(et._initialScrollTop=et._getCalculatedScrollTop(_e,et.state)),_e.scrollToColumn>0&&(et._initialScrollLeft=et._getCalculatedScrollLeft(_e,et.state)),et}return(0,_createClass3$1.default)($,[{key:"getOffsetForCell",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},tt=et.alignment,rt=tt===void 0?this.props.scrollToAlignment:tt,at=et.columnIndex,nt=at===void 0?this.props.scrollToColumn:at,it=et.rowIndex,ot=it===void 0?this.props.scrollToRow:it,st=(0,_extends3$1.default)({},this.props,{scrollToAlignment:rt,scrollToColumn:nt,scrollToRow:ot});return{scrollLeft:this._getCalculatedScrollLeft(st),scrollTop:this._getCalculatedScrollTop(st)}}},{key:"getTotalRowsHeight",value:function(){return this.state.instanceProps.rowSizeAndPositionManager.getTotalSize()}},{key:"getTotalColumnsWidth",value:function(){return this.state.instanceProps.columnSizeAndPositionManager.getTotalSize()}},{key:"handleScrollEvent",value:function(et){var tt=et.scrollLeft,rt=tt===void 0?0:tt,at=et.scrollTop,nt=at===void 0?0:at;if(!(nt<0)){this._debounceScrollEnded();var it=this.props,ot=it.autoHeight,st=it.autoWidth,lt=it.height,ct=it.width,ut=this.state.instanceProps,ft=ut.scrollbarSize,At=ut.rowSizeAndPositionManager.getTotalSize(),vt=ut.columnSizeAndPositionManager.getTotalSize(),ht=Math.min(Math.max(0,vt-ct+ft),rt),bt=Math.min(Math.max(0,At-lt+ft),nt);if(this.state.scrollLeft!==ht||this.state.scrollTop!==bt){var pt=ht!==this.state.scrollLeft?ht>this.state.scrollLeft?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionHorizontal,dt=bt!==this.state.scrollTop?bt>this.state.scrollTop?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionVertical,_t={isScrolling:!0,scrollDirectionHorizontal:pt,scrollDirectionVertical:dt,scrollPositionChangeReason:SCROLL_POSITION_CHANGE_REASONS.OBSERVED};ot||(_t.scrollTop=bt),st||(_t.scrollLeft=ht),_t.needToResetStyleCache=!1,this.setState(_t)}this._invokeOnScrollMemoizer({scrollLeft:ht,scrollTop:bt,totalColumnsWidth:vt,totalRowsHeight:At})}}},{key:"invalidateCellSizeAfterRender",value:function(et){var tt=et.columnIndex,rt=et.rowIndex;this._deferredInvalidateColumnIndex=typeof this._deferredInvalidateColumnIndex=="number"?Math.min(this._deferredInvalidateColumnIndex,tt):tt,this._deferredInvalidateRowIndex=typeof this._deferredInvalidateRowIndex=="number"?Math.min(this._deferredInvalidateRowIndex,rt):rt}},{key:"measureAllCells",value:function(){var et=this.props,tt=et.columnCount,rt=et.rowCount,at=this.state.instanceProps;at.columnSizeAndPositionManager.getSizeAndPositionOfCell(tt-1),at.rowSizeAndPositionManager.getSizeAndPositionOfCell(rt-1)}},{key:"recomputeGridSize",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},tt=et.columnIndex,rt=tt===void 0?0:tt,at=et.rowIndex,nt=at===void 0?0:at,it=this.props,ot=it.scrollToColumn,st=it.scrollToRow,lt=this.state.instanceProps;lt.columnSizeAndPositionManager.resetCell(rt),lt.rowSizeAndPositionManager.resetCell(nt),this._recomputeScrollLeftFlag=ot>=0&&(this.state.scrollDirectionHorizontal===_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD?rt<=ot:rt>=ot),this._recomputeScrollTopFlag=st>=0&&(this.state.scrollDirectionVertical===_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD?nt<=st:nt>=st),this._styleCache={},this._cellCache={},this.forceUpdate()}},{key:"scrollToCell",value:function(et){var tt=et.columnIndex,rt=et.rowIndex,at=this.props.columnCount,nt=this.props;at>1&&tt!==void 0&&this._updateScrollLeftForScrollToColumn((0,_extends3$1.default)({},nt,{scrollToColumn:tt})),rt!==void 0&&this._updateScrollTopForScrollToRow((0,_extends3$1.default)({},nt,{scrollToRow:rt}))}},{key:"componentDidMount",value:function(){var et=this.props,tt=et.getScrollbarSize,rt=et.height,at=et.scrollLeft,nt=et.scrollToColumn,it=et.scrollTop,ot=et.scrollToRow,st=et.width,lt=this.state.instanceProps;if(this._initialScrollTop=0,this._initialScrollLeft=0,this._handleInvalidatedGridSize(),lt.scrollbarSizeMeasured||this.setState(function(ft){var At=(0,_extends3$1.default)({},ft,{needToResetStyleCache:!1});return At.instanceProps.scrollbarSize=tt(),At.instanceProps.scrollbarSizeMeasured=!0,At}),typeof at=="number"&&at>=0||typeof it=="number"&&it>=0){var ct=$._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:at,scrollTop:it});ct&&(ct.needToResetStyleCache=!1,this.setState(ct))}this._scrollingContainer&&(this._scrollingContainer.scrollLeft!==this.state.scrollLeft&&(this._scrollingContainer.scrollLeft=this.state.scrollLeft),this._scrollingContainer.scrollTop!==this.state.scrollTop&&(this._scrollingContainer.scrollTop=this.state.scrollTop));var ut=rt>0&&st>0;nt>=0&&ut&&this._updateScrollLeftForScrollToColumn(),ot>=0&&ut&&this._updateScrollTopForScrollToRow(),this._invokeOnGridRenderedHelper(),this._invokeOnScrollMemoizer({scrollLeft:at||0,scrollTop:it||0,totalColumnsWidth:lt.columnSizeAndPositionManager.getTotalSize(),totalRowsHeight:lt.rowSizeAndPositionManager.getTotalSize()}),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentDidUpdate",value:function(et,tt){var rt=this,at=this.props,nt=at.autoHeight,it=at.autoWidth,ot=at.columnCount,st=at.height,lt=at.rowCount,ct=at.scrollToAlignment,ut=at.scrollToColumn,ft=at.scrollToRow,At=at.width,vt=this.state,ht=vt.scrollLeft,bt=vt.scrollPositionChangeReason,pt=vt.scrollTop,dt=vt.instanceProps;this._handleInvalidatedGridSize();var _t=ot>0&&et.columnCount===0||lt>0&&et.rowCount===0;bt===SCROLL_POSITION_CHANGE_REASONS.REQUESTED&&(!it&&ht>=0&&(ht!==this._scrollingContainer.scrollLeft||_t)&&(this._scrollingContainer.scrollLeft=ht),!nt&&pt>=0&&(pt!==this._scrollingContainer.scrollTop||_t)&&(this._scrollingContainer.scrollTop=pt));var Ct=(et.width===0||et.height===0)&&st>0&&At>0;if(this._recomputeScrollLeftFlag?(this._recomputeScrollLeftFlag=!1,this._updateScrollLeftForScrollToColumn(this.props)):(0,_updateScrollIndexHelper2.default)({cellSizeAndPositionManager:dt.columnSizeAndPositionManager,previousCellsCount:et.columnCount,previousCellSize:et.columnWidth,previousScrollToAlignment:et.scrollToAlignment,previousScrollToIndex:et.scrollToColumn,previousSize:et.width,scrollOffset:ht,scrollToAlignment:ct,scrollToIndex:ut,size:At,sizeJustIncreasedFromZero:Ct,updateScrollIndexCallback:function(){return rt._updateScrollLeftForScrollToColumn(rt.props)}}),this._recomputeScrollTopFlag?(this._recomputeScrollTopFlag=!1,this._updateScrollTopForScrollToRow(this.props)):(0,_updateScrollIndexHelper2.default)({cellSizeAndPositionManager:dt.rowSizeAndPositionManager,previousCellsCount:et.rowCount,previousCellSize:et.rowHeight,previousScrollToAlignment:et.scrollToAlignment,previousScrollToIndex:et.scrollToRow,previousSize:et.height,scrollOffset:pt,scrollToAlignment:ct,scrollToIndex:ft,size:st,sizeJustIncreasedFromZero:Ct,updateScrollIndexCallback:function(){return rt._updateScrollTopForScrollToRow(rt.props)}}),this._invokeOnGridRenderedHelper(),ht!==tt.scrollLeft||pt!==tt.scrollTop){var gt=dt.rowSizeAndPositionManager.getTotalSize(),yt=dt.columnSizeAndPositionManager.getTotalSize();this._invokeOnScrollMemoizer({scrollLeft:ht,scrollTop:pt,totalColumnsWidth:yt,totalRowsHeight:gt})}this._maybeCallOnScrollbarPresenceChange()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&(0,_requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var et=this.props,tt=et.autoContainerWidth,rt=et.autoHeight,at=et.autoWidth,nt=et.className,it=et.containerProps,ot=et.containerRole,st=et.containerStyle,lt=et.height,ct=et.id,ut=et.noContentRenderer,ft=et.role,At=et.style,vt=et.tabIndex,ht=et.width,bt=this.state,pt=bt.instanceProps,dt=bt.needToResetStyleCache,_t=this._isScrolling(),Ct={boxSizing:"border-box",direction:"ltr",height:rt?"auto":lt,position:"relative",width:at?"auto":ht,WebkitOverflowScrolling:"touch",willChange:"transform"};dt&&(this._styleCache={}),this.state.isScrolling||this._resetStyleCache(),this._calculateChildrenToRender(this.props,this.state);var gt=pt.columnSizeAndPositionManager.getTotalSize(),yt=pt.rowSizeAndPositionManager.getTotalSize(),xt=yt>lt?pt.scrollbarSize:0,Et=gt>ht?pt.scrollbarSize:0;(Et!==this._horizontalScrollBarSize||xt!==this._verticalScrollBarSize)&&(this._horizontalScrollBarSize=Et,this._verticalScrollBarSize=xt,this._scrollbarPresenceChanged=!0),Ct.overflowX=gt+xt<=ht?"hidden":"auto",Ct.overflowY=yt+Et<=lt?"hidden":"auto";var It=this._childrenToDisplay,Tt=It.length===0&<>0&&ht>0;return React$1.createElement("div",(0,_extends3$1.default)({ref:this._setScrollingContainerRef},it,{"aria-label":this.props["aria-label"],"aria-readonly":this.props["aria-readonly"],className:(0,_classnames2$1.default)("ReactVirtualized__Grid",nt),id:ct,onScroll:this._onScroll,role:ft,style:(0,_extends3$1.default)({},Ct,At),tabIndex:vt}),It.length>0&&React$1.createElement("div",{className:"ReactVirtualized__Grid__innerScrollContainer",role:ot,style:(0,_extends3$1.default)({width:tt?"auto":gt,height:yt,maxWidth:gt,maxHeight:yt,overflow:"hidden",pointerEvents:_t?"none":"",position:"relative"},st)},It),Tt&&ut())}},{key:"_calculateChildrenToRender",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state,rt=et.cellRenderer,at=et.cellRangeRenderer,nt=et.columnCount,it=et.deferredMeasurementCache,ot=et.height,st=et.overscanColumnCount,lt=et.overscanIndicesGetter,ct=et.overscanRowCount,ut=et.rowCount,ft=et.width,At=et.isScrollingOptOut,vt=tt.scrollDirectionHorizontal,ht=tt.scrollDirectionVertical,bt=tt.instanceProps,pt=this._initialScrollTop>0?this._initialScrollTop:tt.scrollTop,dt=this._initialScrollLeft>0?this._initialScrollLeft:tt.scrollLeft,_t=this._isScrolling(et,tt);if(this._childrenToDisplay=[],ot>0&&ft>0){var Ct=bt.columnSizeAndPositionManager.getVisibleCellRange({containerSize:ft,offset:dt}),gt=bt.rowSizeAndPositionManager.getVisibleCellRange({containerSize:ot,offset:pt}),yt=bt.columnSizeAndPositionManager.getOffsetAdjustment({containerSize:ft,offset:dt}),xt=bt.rowSizeAndPositionManager.getOffsetAdjustment({containerSize:ot,offset:pt});this._renderedColumnStartIndex=Ct.start,this._renderedColumnStopIndex=Ct.stop,this._renderedRowStartIndex=gt.start,this._renderedRowStopIndex=gt.stop;var Et=lt({direction:"horizontal",cellCount:nt,overscanCellsCount:st,scrollDirection:vt,startIndex:typeof Ct.start=="number"?Ct.start:0,stopIndex:typeof Ct.stop=="number"?Ct.stop:-1}),It=lt({direction:"vertical",cellCount:ut,overscanCellsCount:ct,scrollDirection:ht,startIndex:typeof gt.start=="number"?gt.start:0,stopIndex:typeof gt.stop=="number"?gt.stop:-1}),Tt=Et.overscanStartIndex,Rt=Et.overscanStopIndex,Ot=It.overscanStartIndex,Mt=It.overscanStopIndex;if(it){if(!it.hasFixedHeight()){for(var Bt=Ot;Bt<=Mt;Bt++)if(!it.has(Bt,0)){Tt=0,Rt=nt-1;break}}if(!it.hasFixedWidth()){for(var Lt=Tt;Lt<=Rt;Lt++)if(!it.has(0,Lt)){Ot=0,Mt=ut-1;break}}}this._childrenToDisplay=at({cellCache:this._cellCache,cellRenderer:rt,columnSizeAndPositionManager:bt.columnSizeAndPositionManager,columnStartIndex:Tt,columnStopIndex:Rt,deferredMeasurementCache:it,horizontalOffsetAdjustment:yt,isScrolling:_t,isScrollingOptOut:At,parent:this,rowSizeAndPositionManager:bt.rowSizeAndPositionManager,rowStartIndex:Ot,rowStopIndex:Mt,scrollLeft:dt,scrollTop:pt,styleCache:this._styleCache,verticalOffsetAdjustment:xt,visibleColumnIndices:Ct,visibleRowIndices:gt}),this._columnStartIndex=Tt,this._columnStopIndex=Rt,this._rowStartIndex=Ot,this._rowStopIndex=Mt}}},{key:"_debounceScrollEnded",value:function(){var et=this.props.scrollingResetTimeInterval;this._disablePointerEventsTimeoutId&&(0,_requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=(0,_requestAnimationTimeout.requestAnimationTimeout)(this._debounceScrollEndedCallback,et)}},{key:"_handleInvalidatedGridSize",value:function(){if(typeof this._deferredInvalidateColumnIndex=="number"&&typeof this._deferredInvalidateRowIndex=="number"){var et=this._deferredInvalidateColumnIndex,tt=this._deferredInvalidateRowIndex;this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:et,rowIndex:tt})}}},{key:"_invokeOnScrollMemoizer",value:function(et){var tt=this,rt=et.scrollLeft,at=et.scrollTop,nt=et.totalColumnsWidth,it=et.totalRowsHeight;this._onScrollMemoizer({callback:function(st){var lt=st.scrollLeft,ct=st.scrollTop,ut=tt.props,ft=ut.height,At=ut.onScroll,vt=ut.width;At({clientHeight:ft,clientWidth:vt,scrollHeight:it,scrollLeft:lt,scrollTop:ct,scrollWidth:nt})},indices:{scrollLeft:rt,scrollTop:at}})}},{key:"_isScrolling",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state;return Object.hasOwnProperty.call(et,"isScrolling")?!!et.isScrolling:!!tt.isScrolling}},{key:"_maybeCallOnScrollbarPresenceChange",value:function(){if(this._scrollbarPresenceChanged){var et=this.props.onScrollbarPresenceChange;this._scrollbarPresenceChanged=!1,et({horizontal:this._horizontalScrollBarSize>0,size:this.state.instanceProps.scrollbarSize,vertical:this._verticalScrollBarSize>0})}}},{key:"scrollToPosition",value:function(et){var tt=et.scrollLeft,rt=et.scrollTop,at=$._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:tt,scrollTop:rt});at&&(at.needToResetStyleCache=!1,this.setState(at))}},{key:"_getCalculatedScrollLeft",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state;return $._getCalculatedScrollLeft(et,tt)}},{key:"_updateScrollLeftForScrollToColumn",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state,rt=$._getScrollLeftForScrollToColumnStateUpdate(et,tt);rt&&(rt.needToResetStyleCache=!1,this.setState(rt))}},{key:"_getCalculatedScrollTop",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state;return $._getCalculatedScrollTop(et,tt)}},{key:"_resetStyleCache",value:function(){var et=this._styleCache,tt=this._cellCache,rt=this.props.isScrollingOptOut;this._cellCache={},this._styleCache={};for(var at=this._rowStartIndex;at<=this._rowStopIndex;at++)for(var nt=this._columnStartIndex;nt<=this._columnStopIndex;nt++){var it=at+"-"+nt;this._styleCache[it]=et[it],rt&&(this._cellCache[it]=tt[it])}}},{key:"_updateScrollTopForScrollToRow",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state,rt=$._getScrollTopForScrollToRowStateUpdate(et,tt);rt&&(rt.needToResetStyleCache=!1,this.setState(rt))}}],[{key:"getDerivedStateFromProps",value:function(et,tt){var rt={};et.columnCount===0&&tt.scrollLeft!==0||et.rowCount===0&&tt.scrollTop!==0?(rt.scrollLeft=0,rt.scrollTop=0):(et.scrollLeft!==tt.scrollLeft&&et.scrollToColumn<0||et.scrollTop!==tt.scrollTop&&et.scrollToRow<0)&&(0,_assign2.default)(rt,$._getScrollToPositionStateUpdate({prevState:tt,scrollLeft:et.scrollLeft,scrollTop:et.scrollTop}));var at=tt.instanceProps;rt.needToResetStyleCache=!1,(et.columnWidth!==at.prevColumnWidth||et.rowHeight!==at.prevRowHeight)&&(rt.needToResetStyleCache=!0),at.columnSizeAndPositionManager.configure({cellCount:et.columnCount,estimatedCellSize:$._getEstimatedColumnSize(et),cellSizeGetter:$._wrapSizeGetter(et.columnWidth)}),at.rowSizeAndPositionManager.configure({cellCount:et.rowCount,estimatedCellSize:$._getEstimatedRowSize(et),cellSizeGetter:$._wrapSizeGetter(et.rowHeight)}),(at.prevColumnCount===0||at.prevRowCount===0)&&(at.prevColumnCount=0,at.prevRowCount=0),et.autoHeight&&et.isScrolling===!1&&at.prevIsScrolling===!0&&(0,_assign2.default)(rt,{isScrolling:!1});var nt=void 0,it=void 0;return(0,_calculateSizeAndPositionDataAndUpdateScrollOffset2.default)({cellCount:at.prevColumnCount,cellSize:typeof at.prevColumnWidth=="number"?at.prevColumnWidth:null,computeMetadataCallback:function(){return at.columnSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:et,nextCellsCount:et.columnCount,nextCellSize:typeof et.columnWidth=="number"?et.columnWidth:null,nextScrollToIndex:et.scrollToColumn,scrollToIndex:at.prevScrollToColumn,updateScrollOffsetForScrollToIndex:function(){nt=$._getScrollLeftForScrollToColumnStateUpdate(et,tt)}}),(0,_calculateSizeAndPositionDataAndUpdateScrollOffset2.default)({cellCount:at.prevRowCount,cellSize:typeof at.prevRowHeight=="number"?at.prevRowHeight:null,computeMetadataCallback:function(){return at.rowSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:et,nextCellsCount:et.rowCount,nextCellSize:typeof et.rowHeight=="number"?et.rowHeight:null,nextScrollToIndex:et.scrollToRow,scrollToIndex:at.prevScrollToRow,updateScrollOffsetForScrollToIndex:function(){it=$._getScrollTopForScrollToRowStateUpdate(et,tt)}}),at.prevColumnCount=et.columnCount,at.prevColumnWidth=et.columnWidth,at.prevIsScrolling=et.isScrolling===!0,at.prevRowCount=et.rowCount,at.prevRowHeight=et.rowHeight,at.prevScrollToColumn=et.scrollToColumn,at.prevScrollToRow=et.scrollToRow,at.scrollbarSize=et.getScrollbarSize(),at.scrollbarSize===void 0?(at.scrollbarSizeMeasured=!1,at.scrollbarSize=0):at.scrollbarSizeMeasured=!0,rt.instanceProps=at,(0,_extends3$1.default)({},rt,nt,it)}},{key:"_getEstimatedColumnSize",value:function(et){return typeof et.columnWidth=="number"?et.columnWidth:et.estimatedColumnSize}},{key:"_getEstimatedRowSize",value:function(et){return typeof et.rowHeight=="number"?et.rowHeight:et.estimatedRowSize}},{key:"_getScrollToPositionStateUpdate",value:function(et){var tt=et.prevState,rt=et.scrollLeft,at=et.scrollTop,nt={scrollPositionChangeReason:SCROLL_POSITION_CHANGE_REASONS.REQUESTED};return typeof rt=="number"&&rt>=0&&(nt.scrollDirectionHorizontal=rt>tt.scrollLeft?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD,nt.scrollLeft=rt),typeof at=="number"&&at>=0&&(nt.scrollDirectionVertical=at>tt.scrollTop?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD,nt.scrollTop=at),typeof rt=="number"&&rt>=0&&rt!==tt.scrollLeft||typeof at=="number"&&at>=0&&at!==tt.scrollTop?nt:null}},{key:"_wrapSizeGetter",value:function(et){return typeof et=="function"?et:function(){return et}}},{key:"_getCalculatedScrollLeft",value:function(et,tt){var rt=et.columnCount,at=et.height,nt=et.scrollToAlignment,it=et.scrollToColumn,ot=et.width,st=tt.scrollLeft,lt=tt.instanceProps;if(rt>0){var ct=rt-1,ut=it<0?ct:Math.min(ct,it),ft=lt.rowSizeAndPositionManager.getTotalSize(),At=lt.scrollbarSizeMeasured&&ft>at?lt.scrollbarSize:0;return lt.columnSizeAndPositionManager.getUpdatedOffsetForIndex({align:nt,containerSize:ot-At,currentOffset:st,targetIndex:ut})}return 0}},{key:"_getScrollLeftForScrollToColumnStateUpdate",value:function(et,tt){var rt=tt.scrollLeft,at=$._getCalculatedScrollLeft(et,tt);return typeof at=="number"&&at>=0&&rt!==at?$._getScrollToPositionStateUpdate({prevState:tt,scrollLeft:at,scrollTop:-1}):null}},{key:"_getCalculatedScrollTop",value:function(et,tt){var rt=et.height,at=et.rowCount,nt=et.scrollToAlignment,it=et.scrollToRow,ot=et.width,st=tt.scrollTop,lt=tt.instanceProps;if(at>0){var ct=at-1,ut=it<0?ct:Math.min(ct,it),ft=lt.columnSizeAndPositionManager.getTotalSize(),At=lt.scrollbarSizeMeasured&&ft>ot?lt.scrollbarSize:0;return lt.rowSizeAndPositionManager.getUpdatedOffsetForIndex({align:nt,containerSize:rt-At,currentOffset:st,targetIndex:ut})}return 0}},{key:"_getScrollTopForScrollToRowStateUpdate",value:function(et,tt){var rt=tt.scrollTop,at=$._getCalculatedScrollTop(et,tt);return typeof at=="number"&&at>=0&&rt!==at?$._getScrollToPositionStateUpdate({prevState:tt,scrollLeft:-1,scrollTop:at}):null}}]),$}(React$1.PureComponent);Grid$2.defaultProps={"aria-label":"grid","aria-readonly":!0,autoContainerWidth:!1,autoHeight:!1,autoWidth:!1,cellRangeRenderer:_defaultCellRangeRenderer2.default,containerRole:"rowgroup",containerStyle:{},estimatedColumnSize:100,estimatedRowSize:30,getScrollbarSize:_scrollbarSize2.default,noContentRenderer:renderNull,onScroll:function o(){},onScrollbarPresenceChange:function o(){},onSectionRendered:function o(){},overscanColumnCount:0,overscanIndicesGetter:_defaultOverscanIndicesGetter2.default,overscanRowCount:10,role:"grid",scrollingResetTimeInterval:DEFAULT_SCROLLING_RESET_TIME_INTERVAL,scrollToAlignment:"auto",scrollToColumn:-1,scrollToRow:-1,style:{},tabIndex:0,isScrollingOptOut:!1};Grid$2.propTypes=null;(0,_reactLifecyclesCompat.polyfill)(Grid$2);Grid$3.default=Grid$2;var accessibilityOverscanIndicesGetter={};Object.defineProperty(accessibilityOverscanIndicesGetter,"__esModule",{value:!0});accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_VERTICAL=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_HORIZONTAL=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD=void 0;accessibilityOverscanIndicesGetter.default=defaultOverscanIndicesGetter;requireTypes();accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD=-1;var SCROLL_DIRECTION_FORWARD=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD=1;accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_HORIZONTAL="horizontal";accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_VERTICAL="vertical";function defaultOverscanIndicesGetter(o){var $=o.cellCount,_e=o.overscanCellsCount,et=o.scrollDirection,tt=o.startIndex,rt=o.stopIndex;return _e=Math.max(1,_e),et===SCROLL_DIRECTION_FORWARD?{overscanStartIndex:Math.max(0,tt-1),overscanStopIndex:Math.min($-1,rt+_e)}:{overscanStartIndex:Math.max(0,tt-_e),overscanStopIndex:Math.min($-1,rt+1)}}(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.bpfrpt_proptype_Scroll=o.bpfrpt_proptype_CellRendererParams=o.bpfrpt_proptype_RenderedSection=o.bpfrpt_proptype_OverscanIndicesGetter=o.bpfrpt_proptype_CellSize=o.bpfrpt_proptype_CellPosition=o.bpfrpt_proptype_Alignment=o.bpfrpt_proptype_NoContentRenderer=o.defaultOverscanIndicesGetter=o.defaultCellRangeRenderer=o.accessibilityOverscanIndicesGetter=o.Grid=o.default=void 0;var $=Grid$3;Object.defineProperty(o,"default",{enumerable:!0,get:function(){return at($).default}}),Object.defineProperty(o,"Grid",{enumerable:!0,get:function(){return at($).default}});var _e=accessibilityOverscanIndicesGetter;Object.defineProperty(o,"accessibilityOverscanIndicesGetter",{enumerable:!0,get:function(){return at(_e).default}});var et=defaultCellRangeRenderer$1;Object.defineProperty(o,"defaultCellRangeRenderer",{enumerable:!0,get:function(){return at(et).default}});var tt=defaultOverscanIndicesGetter$2;Object.defineProperty(o,"defaultOverscanIndicesGetter",{enumerable:!0,get:function(){return at(tt).default}});var rt=requireTypes();function at(nt){return nt&&nt.__esModule?nt:{default:nt}}o.bpfrpt_proptype_NoContentRenderer=rt.bpfrpt_proptype_NoContentRenderer,o.bpfrpt_proptype_Alignment=rt.bpfrpt_proptype_Alignment,o.bpfrpt_proptype_CellPosition=rt.bpfrpt_proptype_CellPosition,o.bpfrpt_proptype_CellSize=rt.bpfrpt_proptype_CellSize,o.bpfrpt_proptype_OverscanIndicesGetter=rt.bpfrpt_proptype_OverscanIndicesGetter,o.bpfrpt_proptype_RenderedSection=rt.bpfrpt_proptype_RenderedSection,o.bpfrpt_proptype_CellRendererParams=rt.bpfrpt_proptype_CellRendererParams,o.bpfrpt_proptype_Scroll=rt.bpfrpt_proptype_Scroll})(Grid$4);var types={};Object.defineProperty(types,"__esModule",{value:!0});types.bpfrpt_proptype_Scroll=types.bpfrpt_proptype_RenderedRows=types.bpfrpt_proptype_RowRenderer=types.bpfrpt_proptype_RowRendererParams=void 0;var _react$1=reactExports;_interopRequireWildcard$1(_react$1);var _propTypes$1=propTypesExports;_interopRequireDefault$4(_propTypes$1);function _interopRequireDefault$4(o){return o&&o.__esModule?o:{default:o}}function _interopRequireWildcard$1(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.prototype.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$}var bpfrpt_proptype_RowRendererParams=null,bpfrpt_proptype_RowRenderer=null,bpfrpt_proptype_RenderedRows=null,bpfrpt_proptype_Scroll=null;types.bpfrpt_proptype_RowRendererParams=bpfrpt_proptype_RowRendererParams;types.bpfrpt_proptype_RowRenderer=bpfrpt_proptype_RowRenderer;types.bpfrpt_proptype_RenderedRows=bpfrpt_proptype_RenderedRows;types.bpfrpt_proptype_Scroll=bpfrpt_proptype_Scroll;Object.defineProperty(List$2,"__esModule",{value:!0});var _extends2=_extends$2a,_extends3=_interopRequireDefault$3(_extends2),_getOwnPropertyDescriptor=getOwnPropertyDescriptorExports,_getOwnPropertyDescriptor2=_interopRequireDefault$3(_getOwnPropertyDescriptor),_getPrototypeOf$b=getPrototypeOfExports,_getPrototypeOf2=_interopRequireDefault$3(_getPrototypeOf$b),_classCallCheck2=classCallCheck$2,_classCallCheck3=_interopRequireDefault$3(_classCallCheck2),_createClass2=createClass$2,_createClass3=_interopRequireDefault$3(_createClass2),_possibleConstructorReturn2=possibleConstructorReturn$2,_possibleConstructorReturn3=_interopRequireDefault$3(_possibleConstructorReturn2),_inherits2=inherits$2,_inherits3=_interopRequireDefault$3(_inherits2),_Grid=Grid$4,_Grid2=_interopRequireDefault$3(_Grid),_react=reactExports,React=_interopRequireWildcard(_react),_classnames=classnamesExports,_classnames2=_interopRequireDefault$3(_classnames),_propTypes=propTypesExports;_interopRequireDefault$3(_propTypes);function _interopRequireWildcard(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.prototype.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$}function _interopRequireDefault$3(o){return o&&o.__esModule?o:{default:o}}var List$1=function(o){(0,_inherits3.default)($,o);function $(){var _e,et,tt,rt;(0,_classCallCheck3.default)(this,$);for(var at=arguments.length,nt=Array(at),it=0;it0&&arguments[0]!==void 0?arguments[0]:{},tt=et.columnIndex,rt=tt===void 0?0:tt,at=et.rowIndex,nt=at===void 0?0:at;this.Grid&&this.Grid.recomputeGridSize({rowIndex:nt,columnIndex:rt})}},{key:"recomputeRowHeights",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.Grid&&this.Grid.recomputeGridSize({rowIndex:et,columnIndex:0})}},{key:"scrollToPosition",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.Grid&&this.Grid.scrollToPosition({scrollTop:et})}},{key:"scrollToRow",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:et})}},{key:"render",value:function(){var et=this.props,tt=et.className,rt=et.noRowsRenderer,at=et.scrollToIndex,nt=et.width,it=(0,_classnames2.default)("ReactVirtualized__List",tt);return React.createElement(_Grid2.default,(0,_extends3.default)({},this.props,{autoContainerWidth:!0,cellRenderer:this._cellRenderer,className:it,columnWidth:nt,columnCount:1,noContentRenderer:rt,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,scrollToRow:at}))}}]),$}(React.PureComponent);List$1.defaultProps={autoHeight:!1,estimatedRowSize:30,onScroll:function o(){},noRowsRenderer:function o(){return null},onRowsRendered:function o(){},overscanIndicesGetter:_Grid.accessibilityOverscanIndicesGetter,overscanRowCount:10,scrollToAlignment:"auto",scrollToIndex:-1,style:{}};List$1.propTypes=null;List$2.default=List$1;(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.bpfrpt_proptype_RowRendererParams=o.List=o.default=void 0;var $=List$2;Object.defineProperty(o,"default",{enumerable:!0,get:function(){return et($).default}}),Object.defineProperty(o,"List",{enumerable:!0,get:function(){return et($).default}});var _e=types;function et(tt){return tt&&tt.__esModule?tt:{default:tt}}o.bpfrpt_proptype_RowRendererParams=_e.bpfrpt_proptype_RowRendererParams})(List$3);const List=getDefaultExportFromCjs(List$3);var VirtualizedSelect=function(o){_default$8($,o);function $(_e,et){_default$c(this,$);var tt=_default$9(this,($.__proto__||_Object$getPrototypeOf($)).call(this,_e,et));return tt._renderMenu=tt._renderMenu.bind(tt),tt._optionRenderer=tt._optionRenderer.bind(tt),tt._setListRef=tt._setListRef.bind(tt),tt._setSelectRef=tt._setSelectRef.bind(tt),tt}return _default$b($,[{key:"recomputeOptionHeights",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this._listRef&&this._listRef.recomputeRowHeights(et)}},{key:"focus",value:function(){if(this._selectRef)return this._selectRef.focus()}},{key:"render",value:function(){var et=this._getSelectComponent();return React$k.createElement(et,_default$bE({},this.props,{ref:this._setSelectRef,menuRenderer:this._renderMenu,menuStyle:{overflow:"hidden"}}))}},{key:"_renderMenu",value:function(et){var tt=this,rt=et.focusedOption,at=et.focusOption,nt=et.labelKey,it=et.onSelect,ot=et.options;et.selectValue;var st=et.valueArray,lt=et.valueKey,ct=this.props,ut=ct.listProps,ft=ct.optionRenderer,At=ot.indexOf(rt),vt=this._calculateListHeight({options:ot}),ht=ft||this._optionRenderer;function bt(pt){var dt=pt.index,_t=pt.key,Ct=pt.style,gt=ot[dt];return ht({focusedOption:rt,focusedOptionIndex:At,focusOption:at,key:_t,labelKey:nt,onSelect:it,option:gt,optionIndex:dt,options:ot,selectValue:it,style:Ct,valueArray:st,valueKey:lt})}return React$k.createElement(AutoSizer,{disableHeight:!0},function(pt){var dt=pt.width;return React$k.createElement(List,_default$bE({className:"VirtualSelectGrid",height:vt,ref:tt._setListRef,rowCount:ot.length,rowHeight:function(Ct){var gt=Ct.index;return tt._getOptionHeight({option:ot[gt]})},rowRenderer:bt,scrollToIndex:At,width:dt},ut))})}},{key:"_calculateListHeight",value:function(et){for(var tt=et.options,rt=this.props.maxHeight,at=0,nt=0;ntrt)return rt}return at}},{key:"_getOptionHeight",value:function(et){var tt=et.option,rt=this.props.optionHeight;return rt instanceof Function?rt({option:tt}):rt}},{key:"_getSelectComponent",value:function(){var et=this.props,tt=et.async,rt=et.selectComponent;return rt||(tt?Select$1.Async:Select$1)}},{key:"_optionRenderer",value:function(et){var tt=et.focusedOption,rt=et.focusOption,at=et.key,nt=et.labelKey,it=et.option,ot=et.selectValue,st=et.style,lt=et.valueArray,ct=["VirtualizedSelectOption"];it===tt&&ct.push("VirtualizedSelectFocusedOption"),it.disabled&&ct.push("VirtualizedSelectDisabledOption"),lt&<.indexOf(it)>=0&&ct.push("VirtualizedSelectSelectedOption"),it.className&&ct.push(it.className);var ut=it.disabled?{}:{onClick:function(){return ot(it)},onMouseEnter:function(){return rt(it)}};return React$k.createElement("div",_default$bE({className:ct.join(" "),key:at,style:st,title:it.title},ut),it[nt])}},{key:"_setListRef",value:function(et){this._listRef=et}},{key:"_setSelectRef",value:function(et){this._selectRef=et}}]),$}(reactExports.Component);VirtualizedSelect.propTypes={async:propTypesExports.bool,listProps:propTypesExports.object,maxHeight:propTypesExports.number,optionHeight:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.func]),optionRenderer:propTypesExports.func,selectComponent:propTypesExports.func};VirtualizedSelect.defaultProps={async:!1,maxHeight:200,optionHeight:35};const reactSelect="",styles$1="",styles="",VirtSelect$1="";function renderOption({focusedOption:o,focusOption:$,key:_e,labelKey:et,option:tt,selectValue:rt,style:at,valueArray:nt}){const it=["VirtSelect--option"];tt===o&&it.push("is-focused"),tt.disabled&&it.push("is-disabled"),nt&&nt.indexOf(tt)>=0&&it.push("is-selected"),tt.className&&it.push(tt.className);const ot=tt.disabled?{}:{onClick:()=>rt(tt),onMouseEnter:()=>$(tt)};return jsxRuntimeExports.jsx("div",{className:it.join(" "),style:at,title:tt.title,...ot,children:tt[et]},_e)}function renderArrow({isOpen:o}){return jsxRuntimeExports.jsx(Icon$1,{className:`VirtSelect--arrow ${o?"is-open":""}`,type:"down"})}function VirtSelect(o){return jsxRuntimeExports.jsx(VirtualizedSelect,{className:"VirtSelect",arrowRenderer:renderArrow,optionRenderer:renderOption,...o})}var baseSlice=_baseSlice;function baseWhile$1(o,$,_e,et){for(var tt=o.length,rt=et?tt:-1;(et?rt--:++rtito);if($.ofPrevious===1e3)return`${round_1(o/$.microseconds,2)}${$.unit}`;const tt=`${Math.floor(o/$.microseconds)}${$.unit}`,rt=Math.round(o/_e.microseconds%$.ofPrevious),at=`${rt}${_e.unit}`;return rt===0?tt:`${tt} ${at}`}function formatRelativeDate(o,$=!1){const _e=hooks$1.isMoment(o)?o:hooks$1(o),et=$?"MMMM":"MMM",tt=new Date;if(tt.getFullYear()!==_e.year())return _e.format(`${et} D, YYYY`);const rt=_e.month(),at=_e.date(),nt=tt.getDate();return rt===tt.getMonth()&&at===nt?TODAY:(tt.setDate(nt-1),rt===tt.getMonth()&&at===tt.getDate()?YESTERDAY:_e.format(`${et} D`))}const getSuitableTimeUnit=o=>{if(o<1e3)return"microseconds";const $=hooks$1.duration(o/1e3,"ms");return Object.keys(timeUnitToShortTermMapper).reverse().find(_e=>$.as(_e)>=1)};function convertTimeUnitToShortTerm(o){if(o==="microseconds")return"μs";const $=timeUnitToShortTermMapper[o];return $||""}function convertToTimeUnit(o,$){return o<1e3?o:hooks$1.duration(o/1e3,"ms").as($)}function timeConversion(o){if(o<1e3)return`${o}μs`;const $=getSuitableTimeUnit(o);return`${hooks$1.duration(o/1e3,"ms").as($)}${convertTimeUnitToShortTerm($)}`}const reduxFormFieldAdapter$1="",noop$4=()=>{};function reduxFormFieldAdapter({AntInputComponent:o,onChangeAdapter:$,isValidatedInput:_e=!1}){return function(tt){const{input:{onBlur:rt,onChange:at,onFocus:nt,value:it},children:ot,...st}=tt,lt=!st.meta.active&&!!st.meta.error,ct=jsxRuntimeExports.jsx(o,{className:classnamesExports({"is-invalid":lt,"AdaptedReduxFormField--isValidatedInput":_e}),onBlur:_e&&rt?rt:noop$4,onFocus:_e&&nt?nt:noop$4,onChange:$?ut=>at($(ut)):at,value:it,...st,children:ot});return _e?jsxRuntimeExports.jsx(Popover,{placement:"bottomLeft",visible:lt,...st.meta.error,children:ct}):ct}}const SearchForm$1="",FormItem$2=Form.Item,Option$2=Select.Option,AdaptedInput=reduxFormFieldAdapter({AntInputComponent:Input$1}),AdaptedSelect=reduxFormFieldAdapter({AntInputComponent:Select}),AdaptedVirtualSelect$1=reduxFormFieldAdapter({AntInputComponent:VirtSelect,onChangeAdapter:o=>o?o.value:null}),ValidatedAdaptedInput=reduxFormFieldAdapter({AntInputComponent:Input$1,isValidatedInput:!0});function getUnixTimeStampInMSFromForm({startDate:o,startDateTime:$,endDate:_e,endDateTime:et}){const tt=`${o} ${$}`,rt=`${_e} ${et}`;return{start:`${hooks$1(tt,"YYYY-MM-DD HH:mm").valueOf()}000`,end:`${hooks$1(rt,"YYYY-MM-DD HH:mm").valueOf()}000`}}function convTagsLogfmt(o){if(!o)return null;const $=logfmt_parser.parse(o);return Object.keys($).forEach(_e=>{const et=$[_e];typeof et!="string"&&($[_e]=String(et))}),JSON.stringify($)}function lookbackToTimestamp(o,$){const _e=o.substr(-1);return hooks$1($).subtract(parseInt(o,10),_e).valueOf()*1e3}const lookbackOptions=[{label:"5 Minutes",value:"5m"},{label:"15 Minutes",value:"15m"},{label:"30 Minutes",value:"30m"},{label:"Hour",value:"1h"},{label:"2 Hours",value:"2h"},{label:"3 Hours",value:"3h"},{label:"6 Hours",value:"6h"},{label:"12 Hours",value:"12h"},{label:"24 Hours",value:"24h"},{label:"2 Days",value:"2d"},{label:"3 Days",value:"3d"},{label:"5 Days",value:"5d"},{label:"7 Days",value:"7d"},{label:"2 Weeks",value:"2w"},{label:"3 Weeks",value:"3w"},{label:"4 Weeks",value:"4w"}],optionsWithinMaxLookback=memoizeOne$1(o=>{const $=new Date,_e=lookbackToTimestamp(o.value,$),et=new Map,tt=lookbackOptions.filter(({value:nt})=>{const it=lookbackToTimestamp(nt,$);return et.set(nt,it),it>=_e}),rt=tt.length-1,at=tt[rt];return at.label!==o.label&&(et.get(at.value)!==_e?tt.push(o):tt.splice(rt,1,o)),tt.map(({label:nt,value:it})=>jsxRuntimeExports.jsxs(Option$2,{value:it,children:["Last ",nt]},it))}),placeholderDurationFields="e.g. 1.2s, 100ms, 500us";function validateDurationFields(o){if(o)return/\d[\d\\.]*(us|ms|s|m|h)$/.test(o)?void 0:{content:`Please enter a number followed by a duration unit, ${placeholderDurationFields}`,title:"Please match the requested format."}}function convertQueryParamsToFormDates({start:o,end:$}){let _e,et,tt,rt;if($){const at=parseInt($,10);tt=formatDate(at),rt=formatTime(at)}if(o){const at=parseInt(o,10);_e=formatDate(at),et=formatTime(at)}return{queryStartDate:_e,queryStartDateTime:et,queryEndDate:tt,queryEndDateTime:rt}}function submitForm(o,$){const{resultsLimit:_e,service:et,startDate:tt,startDateTime:rt,endDate:at,endDateTime:nt,operation:it,tags:ot,minDuration:st,maxDuration:lt,lookback:ct}=o;store_legacy.set("lastSearch",{service:et,operation:it});let ut,ft;if(ct!=="custom"){const At=new Date;ut=lookbackToTimestamp(ct,At),ft=At*1e3}else{const At=getUnixTimeStampInMSFromForm({startDate:tt,startDateTime:rt,endDate:at,endDateTime:nt});ut=At.start,ft=At.end}trackFormInput(_e,it,ot,st,lt,ct,et),$({service:et,operation:it!==DEFAULT_OPERATION?it:void 0,limit:_e,lookback:ct,start:ut,end:ft,tags:convTagsLogfmt(ot)||void 0,minDuration:st||null,maxDuration:lt||null})}class SearchFormImpl extends reactExports.PureComponent{render(){const{handleSubmit:$,invalid:_e,searchMaxLookback:et,selectedLookback:tt,selectedService:rt="-",services:at,submitting:nt}=this.props,it=at.find(ct=>ct.name===rt),ot=it&&it.operations||[],st=rt==="-"||!rt,lt=tt==="custom"?new Date().toTimeString().replace(/^.*?GMT/,"UTC"):null;return jsxRuntimeExports.jsxs(Form,{layout:"vertical",onSubmit:$,children:[jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("span",{children:["Service ",jsxRuntimeExports.jsxs("span",{className:"SearchForm--labelCount",children:["(",at.length,")"]})]}),children:jsxRuntimeExports.jsx(Field,{name:"service",component:AdaptedVirtualSelect$1,placeholder:"Select A Service",props:{disabled:nt,clearable:!1,options:at.map(ct=>({label:ct.name,value:ct.name})),required:!0}})}),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("span",{children:["Operation ",jsxRuntimeExports.jsxs("span",{className:"SearchForm--labelCount",children:["(",ot?ot.length:0,")"]})]}),children:jsxRuntimeExports.jsx(Field,{name:"operation",component:AdaptedVirtualSelect$1,placeholder:"Select An Operation",props:{clearable:!1,disabled:nt||st,options:["all"].concat(ot).map(ct=>({label:ct,value:ct,title:ct})),required:!0}})}),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["Tags"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",title:[jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Values should be in the"," ",jsxRuntimeExports.jsx("a",{href:"https://brandur.org/logfmt",rel:"noopener noreferrer",target:"_blank",children:"logfmt"})," ","format."]},"title"),jsxRuntimeExports.jsxs("ul",{className:"SearchForm--tagsHintInfo",children:[jsxRuntimeExports.jsx("li",{children:"Use space for conjunctions"}),jsxRuntimeExports.jsx("li",{children:"Values containing whitespace should be enclosed in quotes"})]},"info")],content:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("code",{className:"SearchForm--tagsHintEg",children:'error=true db.statement="select * from User"'})}),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsx(Field,{name:"tags",component:AdaptedInput,placeholder:"http.status_code=200 error=true",props:{disabled:nt}})}),jsxRuntimeExports.jsx(FormItem$2,{label:"Lookback",children:jsxRuntimeExports.jsxs(Field,{name:"lookback",component:AdaptedSelect,props:{disabled:nt,defaultValue:"1h"},children:[optionsWithinMaxLookback(et),jsxRuntimeExports.jsx(Option$2,{value:"custom",children:"Custom Time Range"})]})}),tt==="custom"&&[jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["Start Time"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",content:jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Times are expressed in ",lt]},"title"),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:14,children:jsxRuntimeExports.jsx(Field,{name:"startDate",type:"date",component:AdaptedInput,placeholder:"Start Date",props:{disabled:nt}})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:10,children:jsxRuntimeExports.jsx(Field,{name:"startDateTime",type:"time",component:AdaptedInput,props:{disabled:nt}})})]})},"start"),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["End Time"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",content:jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Times are expressed in ",lt]},"title"),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:14,children:jsxRuntimeExports.jsx(Field,{name:"endDate",type:"date",component:AdaptedInput,placeholder:"End Date",props:{disabled:nt}})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:10,children:jsxRuntimeExports.jsx(Field,{name:"endDateTime",type:"time",component:AdaptedInput,props:{disabled:nt}})})]})},"end")],jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:12,children:jsxRuntimeExports.jsx(FormItem$2,{label:"Max Duration",children:jsxRuntimeExports.jsx(Field,{name:"maxDuration",component:ValidatedAdaptedInput,placeholder:placeholderDurationFields,props:{disabled:nt},validate:validateDurationFields})})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:12,children:jsxRuntimeExports.jsx(FormItem$2,{label:"Min Duration",children:jsxRuntimeExports.jsx(Field,{name:"minDuration",component:ValidatedAdaptedInput,placeholder:placeholderDurationFields,props:{disabled:nt},validate:validateDurationFields})})})]}),jsxRuntimeExports.jsx(FormItem$2,{label:"Limit Results",children:jsxRuntimeExports.jsx(Field,{name:"resultsLimit",type:"number",component:AdaptedInput,placeholder:"Limit Results",props:{disabled:nt,min:1,max:getConfigValue("search.maxLimit")}})}),jsxRuntimeExports.jsx(Button$2,{htmlType:"submit",className:"SearchForm--submit",disabled:nt||st||_e,"data-test":SUBMIT_BTN,children:"Find Traces"})]})}}SearchFormImpl.propTypes={handleSubmit:propTypesExports.func.isRequired,invalid:propTypesExports.bool,submitting:propTypesExports.bool,searchMaxLookback:propTypesExports.shape({label:propTypesExports.string.isRequired,value:propTypesExports.string.isRequired}).isRequired,services:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string,operations:propTypesExports.arrayOf(propTypesExports.string)})),selectedService:propTypesExports.string,selectedLookback:propTypesExports.string};SearchFormImpl.defaultProps={invalid:!1,services:[],submitting:!1,selectedService:null,selectedLookback:null};const searchSideBarFormSelector=formValueSelector("searchSideBar");function mapStateToProps$8(o){const{service:$,limit:_e,start:et,end:tt,operation:rt,tag:at,tags:nt,maxDuration:it,minDuration:ot,lookback:st,traceID:lt}=queryString.parse(o.router.location.search),ct=hooks$1().valueOf()*1e3,ut=formatDate(ct),ft=formatTime(ct),At=store_legacy.get("lastSearch");let vt,ht;if(At){const{operation:yt,service:xt}=At;if(xt&&xt!=="-"&&o.services.services.includes(xt)&&(vt=xt,yt&&yt!=="-")){const Et=o.services.operationsForService[xt];(yt==="all"||Et&&Et.includes(yt))&&(ht=yt)}}const{queryStartDate:bt,queryStartDateTime:pt,queryEndDate:dt,queryEndDateTime:_t}=convertQueryParamsToFormDates({start:et,end:tt});let Ct;if(at){let yt=function(Et,It){const Tt=It.split(":",2),Rt=Tt[0];return Rt?(Et[Rt]=Tt[1]==null?"":Tt[1],!0):!1},xt;if(Array.isArray(at))xt=at.reduce((Et,It)=>(yt(Et,It),Et),{});else if(typeof at=="string"){const Et={};xt=yt(Et,at)?Et:null}if(xt)try{Ct=stringify_1(xt)}catch(Et){Ct="Parse Error"}else Ct="Parse Error"}if(nt){let yt;try{yt=JSON.parse(nt),Ct=stringify_1(yt)}catch(xt){Ct="Parse Error"}}let gt;return lt&&(gt=lt instanceof Array?lt.join(","):lt),{destroyOnUnmount:!1,initialValues:{service:$||vt||"-",resultsLimit:_e||DEFAULT_LIMIT,lookback:st||DEFAULT_LOOKBACK,startDate:bt||ut,startDateTime:pt||"00:00",endDate:dt||ut,endDateTime:_t||ft,operation:rt||ht||DEFAULT_OPERATION,tags:Ct,minDuration:ot||null,maxDuration:it||null,traceIDs:gt||null},searchMaxLookback:get_1$1(o,"config.search.maxLookback"),selectedService:searchSideBarFormSelector(o,"service"),selectedLookback:searchSideBarFormSelector(o,"lookback")}}function mapDispatchToProps$7(o){const{searchTraces:$}=bindActionCreators(jaegerApiActions,o);return{onSubmit:_e=>submitForm(_e,$)}}const SearchForm=connect$3(mapStateToProps$8,mapDispatchToProps$7)(reduxForm({form:"searchSideBar"})(SearchFormImpl)),CATEGORY_ALT_VIEW$1="jaeger/ux/search-results/alt-view",CATEGORY_CONVERSIONS="jaeger/ux/search-results/conversions";var EAltViewActions=(o=>(o.Ddg="ddg",o.Traces="traces",o))(EAltViewActions||{});function trackAltView(o){trackEvent(CATEGORY_ALT_VIEW$1,o)}function trackConversions(o){trackEvent(CATEGORY_CONVERSIONS,o)}function viewAllDep({ctrlKey:o,metaKey:$}){trackConversions(EAltViewActions.Ddg);const{density:_e,operation:et,service:tt,showOp:rt}=getUrlState$2(window.location.search);window.open(getUrl$4({density:_e,operation:et,service:tt,showOp:rt}),o||$?"_blank":"_self")}function AltViewOptions$2(o){const{onDdgViewClicked:$,traceResultsView:_e}=o,et=jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:$,children:_e?"Deep Dependency Graph":"Trace Results"});return _e||!getConfigValue("deepDependencies.menuEnabled")?et:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[et,jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:viewAllDep,children:"View All Dependencies"})]})}function DownloadResults(o){const{onDownloadResultsClicked:$}=o;return jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:$,children:"Download Results"})}const TraceName$1="";function TraceName(o){const{className:$,error:_e,state:et,traceName:tt}=o,rt=et===fetchedState.ERROR;let at=tt||FALLBACK_TRACE_NAME,nt="";if(rt){nt="is-error";let it="";_e&&(it=typeof _e=="string"?_e:_e.message||String(_e)),it||(it="Error: Unknown error"),at=it,at=jsxRuntimeExports.jsx(BreakableText,{text:it})}else if(et===fetchedState.LOADING)at=jsxRuntimeExports.jsx(LoadingIndicator,{small:!0});else{const it=String(tt||FALLBACK_TRACE_NAME);at=jsxRuntimeExports.jsx(BreakableText,{text:it})}return jsxRuntimeExports.jsx("span",{className:`TraceName ${nt} ${$||""}`,children:at})}const ResultItemTitle$1="",DEFAULT_DURATION_PERCENT=0,stopCheckboxPropagation=o=>o.stopPropagation();class ResultItemTitle extends reactExports.PureComponent{constructor(){super(...arguments),this.toggleComparison=()=>{const{isInDiffCohort:$,toggleComparison:_e,traceID:et}=this.props;_e(et,$)}}render(){const{disableComparision:$,duration:_e,durationPercent:et,error:tt,isInDiffCohort:rt,linkTo:at,state:nt,targetBlank:it,traceID:ot,traceName:st}=this.props;let lt="div";const ct={className:"ResultItemTitle--item ub-flex-auto"};at&&(ct.to=at,lt=Link$1,it&&(ct.target="_blank",ct.rel="noopener noreferrer"));const ut=nt===fetchedState.ERROR,ft={className:"ResultItemTitle--item ub-flex-none",checked:!ut&&rt,disabled:ut,onChange:this.toggleComparison,onClick:stopCheckboxPropagation};return jsxRuntimeExports.jsxs("div",{className:"ResultItemTitle",children:[!$&&jsxRuntimeExports.jsx(Checkbox$1,{...ft}),jsxRuntimeExports.jsxs(lt,{...ct,children:[jsxRuntimeExports.jsx("span",{className:"ResultItemTitle--durationBar",style:{width:`${et||DEFAULT_DURATION_PERCENT}%`}}),_e!=null&&jsxRuntimeExports.jsx("span",{className:"ub-right ub-relative",children:formatDuration(_e)}),jsxRuntimeExports.jsxs("h3",{className:"ResultItemTitle--title",children:[jsxRuntimeExports.jsx(TraceName,{error:tt,state:nt,traceName:st}),jsxRuntimeExports.jsx("small",{className:"ResultItemTitle--idExcerpt",children:ot.slice(0,7)})]})]})]})}}ResultItemTitle.defaultProps={disableComparision:!1,durationPercent:DEFAULT_DURATION_PERCENT,error:void 0,state:void 0,targetBlank:!1};const DiffSelection$1="",CTA_MESSAGE=jsxRuntimeExports.jsx("h2",{className:"ub-m0",children:"Compare traces by selecting result items"});class DiffSelection extends reactExports.PureComponent{render(){const{toggleComparison:$,traces:_e}=this.props,et=_e.filter(at=>at.state!==fetchedState.ERROR).map(at=>at.id),tt=et.length>1?getUrl$1({cohort:et}):null,rt=jsxRuntimeExports.jsx(Button$2,{className:"ub-right",disabled:et.length<2,htmlType:"button",type:"primary",children:"Compare Traces"});return jsxRuntimeExports.jsxs("div",{className:`DiffSelection ${_e.length?"is-non-empty":""} ub-mb3`,children:[_e.length>0&&jsxRuntimeExports.jsx("div",{className:"DiffSelection--selectedItems",children:_e.map(at=>{const{data:nt,error:it,id:ot,state:st}=at;return jsxRuntimeExports.jsx(ResultItemTitle,{duration:nt&&nt.duration,error:it,isInDiffCohort:!0,linkTo:getUrl$6(ot),state:st,targetBlank:!0,toggleComparison:$,traceID:ot,traceName:nt&&nt.traceName},ot)})}),jsxRuntimeExports.jsx("div",{className:"DiffSelection--message",children:_e.length>0?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[tt?jsxRuntimeExports.jsx(Link$1,{to:tt,children:rt}):rt,jsxRuntimeExports.jsxs("h2",{className:"ub-m0",children:[et.length," Selected for comparison"]})]}):CTA_MESSAGE})]})}}const NO_RESULTS="no-results",index$m="",index$l="";function _extends$1b(){return _extends$1b=Object.assign||function(o){for(var $=1;$0?"-".concat(ot):ot,vt=classNames(st,ft,"".concat(ft,"-").concat(nt),(et={},_defineProperty$k(et,"".concat(ft,"-with-text").concat(At),lt),_defineProperty$k(et,"".concat(ft,"-dashed"),!!ct),et));return reactExports.createElement("div",_extends$1b({className:vt},ut,{role:"separator"}),lt&&reactExports.createElement("span",{className:"".concat(ft,"-inner-text")},lt))})};const Divider$1=Divider;function _typeof$8(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$8=function(_e){return typeof _e}:_typeof$8=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$8(o)}function _extends$1a(){return _extends$1a=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$a(o){return _getPrototypeOf$a=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$a(o)}var __rest$7=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$9(o){return _getPrototypeOf$9=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$9(o)}var __rest$6=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tto==="error"&&($===!0||$==="true"),trackTraceConversions=()=>trackConversions(EAltViewActions.Traces);class ResultItem extends reactExports.PureComponent{constructor($,_e){super($,_e);const{startTime:et,spans:tt}=$.trace,rt=hooks$1(et/1e3),at=new Set,nt=tt.filter(it=>{const ot=it.tags.some(isErrorTag);return ot&&at.add(it.process.serviceName),ot}).length;this.state={numSpans:tt.length,timeStr:rt.format("h:mm:ss a"),fromNow:rt.fromNow(),numErredSpans:nt,erroredServices:at}}render(){const{disableComparision:$,durationPercent:_e,isInDiffCohort:et,linkTo:tt,toggleComparison:rt,trace:at}=this.props,{duration:nt,services:it,startTime:ot,traceName:st,traceID:lt}=at;return jsxRuntimeExports.jsxs("div",{className:"ResultItem",onClick:trackTraceConversions,role:"button",children:[jsxRuntimeExports.jsx(ResultItemTitle,{duration:nt,durationPercent:_e,isInDiffCohort:et,linkTo:tt,toggleComparison:rt,traceID:lt,traceName:st,disableComparision:$}),jsxRuntimeExports.jsx(Link$1,{to:tt,children:jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:4,className:"ub-p2",children:[jsxRuntimeExports.jsxs(Tag$1,{className:"ub-m1","data-test":NUM_SPANS,children:[this.state.numSpans," Span",this.state.numSpans>1&&"s"]}),!!this.state.numErredSpans&&jsxRuntimeExports.jsxs(Tag$1,{className:"ub-m1",color:"red",children:[this.state.numErredSpans," Error",this.state.numErredSpans>1&&"s"]})]}),jsxRuntimeExports.jsx(Col,{span:16,className:"ub-p2",children:jsxRuntimeExports.jsx("ul",{className:"ub-list-reset","data-test":SERVICE_TAGS,children:lodashExports.sortBy(it,ct=>ct.name).map(ct=>{const{name:ut,numberOfSpans:ft}=ct;return jsxRuntimeExports.jsx("li",{className:"ub-inline-block ub-m1",children:jsxRuntimeExports.jsxs(Tag$1,{className:"ResultItem--serviceTag",style:{borderLeftColor:colorGenerator.getColorByKey(ut)},children:[this.state.erroredServices.has(ut)&&jsxRuntimeExports.jsx(IoAlert,{className:"ResultItem--errorIcon"}),ut," (",ft,")"]})},ut)})})}),jsxRuntimeExports.jsxs(Col,{span:4,className:"ub-p3 ub-tx-right-align",children:[formatRelativeDate(ot/1e3),jsxRuntimeExports.jsx(Divider$1,{type:"vertical"}),this.state.timeStr.slice(0,-3)," ",this.state.timeStr.slice(-2),jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("small",{children:this.state.fromNow})]})]})})]})}}function constant$5(o){return function(){return o}}function x$1(o){return o[0]}function y$1(o){return o[1]}function RedBlackTree(){this._=null}function RedBlackNode(o){o.U=o.C=o.L=o.R=o.P=o.N=null}RedBlackTree.prototype={constructor:RedBlackTree,insert:function(o,$){var _e,et,tt;if(o){if($.P=o,$.N=o.N,o.N&&(o.N.P=$),o.N=$,o.R){for(o=o.R;o.L;)o=o.L;o.L=$}else o.R=$;_e=o}else this._?(o=RedBlackFirst(this._),$.P=null,$.N=o,o.P=o.L=$,_e=o):($.P=$.N=null,this._=$,_e=null);for($.L=$.R=null,$.U=_e,$.C=!0,o=$;_e&&_e.C;)et=_e.U,_e===et.L?(tt=et.R,tt&&tt.C?(_e.C=tt.C=!1,et.C=!0,o=et):(o===_e.R&&(RedBlackRotateLeft(this,_e),o=_e,_e=o.U),_e.C=!1,et.C=!0,RedBlackRotateRight(this,et))):(tt=et.L,tt&&tt.C?(_e.C=tt.C=!1,et.C=!0,o=et):(o===_e.L&&(RedBlackRotateRight(this,_e),o=_e,_e=o.U),_e.C=!1,et.C=!0,RedBlackRotateLeft(this,et))),_e=o.U;this._.C=!1},remove:function(o){o.N&&(o.N.P=o.P),o.P&&(o.P.N=o.N),o.N=o.P=null;var $=o.U,_e,et=o.L,tt=o.R,rt,at;if(et?tt?rt=RedBlackFirst(tt):rt=et:rt=tt,$?$.L===o?$.L=rt:$.R=rt:this._=rt,et&&tt?(at=rt.C,rt.C=o.C,rt.L=et,et.U=rt,rt!==tt?($=rt.U,rt.U=o.U,o=rt.R,$.L=o,rt.R=tt,tt.U=rt):(rt.U=$,$=rt,o=rt.R)):(at=o.C,o=rt),o&&(o.U=$),!at){if(o&&o.C){o.C=!1;return}do{if(o===this._)break;if(o===$.L){if(_e=$.R,_e.C&&(_e.C=!1,$.C=!0,RedBlackRotateLeft(this,$),_e=$.R),_e.L&&_e.L.C||_e.R&&_e.R.C){(!_e.R||!_e.R.C)&&(_e.L.C=!1,_e.C=!0,RedBlackRotateRight(this,_e),_e=$.R),_e.C=$.C,$.C=_e.R.C=!1,RedBlackRotateLeft(this,$),o=this._;break}}else if(_e=$.L,_e.C&&(_e.C=!1,$.C=!0,RedBlackRotateRight(this,$),_e=$.L),_e.L&&_e.L.C||_e.R&&_e.R.C){(!_e.L||!_e.L.C)&&(_e.R.C=!1,_e.C=!0,RedBlackRotateLeft(this,_e),_e=$.L),_e.C=$.C,$.C=_e.L.C=!1,RedBlackRotateRight(this,$),o=this._;break}_e.C=!0,o=$,$=$.U}while(!o.C);o&&(o.C=!1)}}};function RedBlackRotateLeft(o,$){var _e=$,et=$.R,tt=_e.U;tt?tt.L===_e?tt.L=et:tt.R=et:o._=et,et.U=tt,_e.U=et,_e.R=et.L,_e.R&&(_e.R.U=_e),et.L=_e}function RedBlackRotateRight(o,$){var _e=$,et=$.L,tt=_e.U;tt?tt.L===_e?tt.L=et:tt.R=et:o._=et,et.U=tt,_e.U=et,_e.L=et.R,_e.L&&(_e.L.U=_e),et.R=_e}function RedBlackFirst(o){for(;o.L;)o=o.L;return o}function createEdge(o,$,_e,et){var tt=[null,null],rt=edges.push(tt)-1;return tt.left=o,tt.right=$,_e&&setEdgeEnd(tt,o,$,_e),et&&setEdgeEnd(tt,$,o,et),cells[o.index].halfedges.push(rt),cells[$.index].halfedges.push(rt),tt}function createBorderEdge(o,$,_e){var et=[$,_e];return et.left=o,et}function setEdgeEnd(o,$,_e,et){!o[0]&&!o[1]?(o[0]=et,o.left=$,o.right=_e):o.left===_e?o[1]=et:o[0]=et}function clipEdge(o,$,_e,et,tt){var rt=o[0],at=o[1],nt=rt[0],it=rt[1],ot=at[0],st=at[1],lt=0,ct=1,ut=ot-nt,ft=st-it,At;if(At=$-nt,!(!ut&&At>0)){if(At/=ut,ut<0){if(At0){if(At>ct)return;At>lt&&(lt=At)}if(At=et-nt,!(!ut&&At<0)){if(At/=ut,ut<0){if(At>ct)return;At>lt&&(lt=At)}else if(ut>0){if(At0)){if(At/=ft,ft<0){if(At0){if(At>ct)return;At>lt&&(lt=At)}if(At=tt-it,!(!ft&&At<0)){if(At/=ft,ft<0){if(At>ct)return;At>lt&&(lt=At)}else if(ft>0){if(At0)&&!(ct<1)||(lt>0&&(o[0]=[nt+lt*ut,it+lt*ft]),ct<1&&(o[1]=[nt+ct*ut,it+ct*ft])),!0}}}}}function connectEdge(o,$,_e,et,tt){var rt=o[1];if(rt)return!0;var at=o[0],nt=o.left,it=o.right,ot=nt[0],st=nt[1],lt=it[0],ct=it[1],ut=(ot+lt)/2,ft=(st+ct)/2,At,vt;if(ct===st){if(ut<$||ut>=et)return;if(ot>lt){if(!at)at=[ut,_e];else if(at[1]>=tt)return;rt=[ut,tt]}else{if(!at)at=[ut,tt];else if(at[1]<_e)return;rt=[ut,_e]}}else if(At=(ot-lt)/(ct-st),vt=ft-At*ut,At<-1||At>1)if(ot>lt){if(!at)at=[(_e-vt)/At,_e];else if(at[1]>=tt)return;rt=[(tt-vt)/At,tt]}else{if(!at)at=[(tt-vt)/At,tt];else if(at[1]<_e)return;rt=[(_e-vt)/At,_e]}else if(st=et)return;rt=[et,At*et+vt]}else{if(!at)at=[et,At*et+vt];else if(at[0]<$)return;rt=[$,At*$+vt]}return o[0]=at,o[1]=rt,!0}function clipEdges(o,$,_e,et){for(var tt=edges.length,rt;tt--;)(!connectEdge(rt=edges[tt],o,$,_e,et)||!clipEdge(rt,o,$,_e,et)||!(Math.abs(rt[0][0]-rt[1][0])>epsilon$2||Math.abs(rt[0][1]-rt[1][1])>epsilon$2))&&delete edges[tt]}function createCell(o){return cells[o.index]={site:o,halfedges:[]}}function cellHalfedgeAngle(o,$){var _e=o.site,et=$.left,tt=$.right;return _e===tt&&(tt=et,et=_e),tt?Math.atan2(tt[1]-et[1],tt[0]-et[0]):(_e===et?(et=$[1],tt=$[0]):(et=$[0],tt=$[1]),Math.atan2(et[0]-tt[0],tt[1]-et[1]))}function cellHalfedgeStart(o,$){return $[+($.left!==o.site)]}function cellHalfedgeEnd(o,$){return $[+($.left===o.site)]}function sortCellHalfedges(){for(var o=0,$=cells.length,_e,et,tt,rt;o<$;++o)if((_e=cells[o])&&(rt=(et=_e.halfedges).length)){var at=new Array(rt),nt=new Array(rt);for(tt=0;ttepsilon$2||Math.abs(vt-ut)>epsilon$2)&&(ot.splice(it,0,edges.push(createBorderEdge(nt,ft,Math.abs(At-o)epsilon$2?[o,Math.abs(ct-o)epsilon$2?[Math.abs(ut-et)epsilon$2?[_e,Math.abs(ct-_e)epsilon$2?[Math.abs(ut-$)=-epsilon2)){var ut=it*it+ot*ot,ft=st*st+lt*lt,At=(lt*ut-ot*ft)/ct,vt=(it*ft-st*ut)/ct,ht=circlePool.pop()||new Circle$3;ht.arc=o,ht.site=tt,ht.x=At+at,ht.y=(ht.cy=vt+nt)+Math.sqrt(At*At+vt*vt),o.circle=ht;for(var bt=null,pt=circles._;pt;)if(ht.yepsilon$2)nt=nt.L;else if(at=$-rightBreakPoint(nt,_e),at>epsilon$2){if(!nt.R){et=nt;break}nt=nt.R}else{rt>-epsilon$2?(et=nt.P,tt=nt):at>-epsilon$2?(et=nt,tt=nt.N):et=tt=nt;break}createCell(o);var it=createBeach(o);if(beaches.insert(et,it),!(!et&&!tt)){if(et===tt){detachCircle(et),tt=createBeach(et.site),beaches.insert(it,tt),it.edge=tt.edge=createEdge(et.site,it.site),attachCircle(et),attachCircle(tt);return}if(!tt){it.edge=createEdge(et.site,it.site);return}detachCircle(et),detachCircle(tt);var ot=et.site,st=ot[0],lt=ot[1],ct=o[0]-st,ut=o[1]-lt,ft=tt.site,At=ft[0]-st,vt=ft[1]-lt,ht=2*(ct*vt-ut*At),bt=ct*ct+ut*ut,pt=At*At+vt*vt,dt=[(vt*bt-ut*pt)/ht+st,(ct*pt-At*bt)/ht+lt];setEdgeEnd(tt.edge,ot,ft,dt),it.edge=createEdge(ot,o,null,dt),tt.edge=createEdge(o,ft,null,dt),attachCircle(et),attachCircle(tt)}}function leftBreakPoint(o,$){var _e=o.site,et=_e[0],tt=_e[1],rt=tt-$;if(!rt)return et;var at=o.P;if(!at)return-1/0;_e=at.site;var nt=_e[0],it=_e[1],ot=it-$;if(!ot)return nt;var st=nt-et,lt=1/rt-1/ot,ct=st/ot;return lt?(-ct+Math.sqrt(ct*ct-2*lt*(st*st/(-2*ot)-it+ot/2+tt-rt/2)))/lt+et:(et+nt)/2}function rightBreakPoint(o,$){var _e=o.N;if(_e)return leftBreakPoint(_e,$);var et=o.site;return et[1]===$?et[0]:1/0}var epsilon$2=1e-6,epsilon2=1e-12,beaches,cells,circles,edges;function triangleArea(o,$,_e){return(o[0]-_e[0])*($[1]-o[1])-(o[0]-$[0])*(_e[1]-o[1])}function lexicographic(o,$){return $[1]-o[1]||$[0]-o[0]}function Diagram(o,$){var _e=o.sort(lexicographic).pop(),et,tt,rt;for(edges=[],cells=new Array(o.length),beaches=new RedBlackTree,circles=new RedBlackTree;;)if(rt=firstCircle,_e&&(!rt||_e[1]=at)return null;var it=o-nt.site[0],ot=$-nt.site[1],st=it*it+ot*ot;do nt=et.cells[tt=rt],rt=null,nt.halfedges.forEach(function(lt){var ct=et.edges[lt],ut=ct.left;if(!((ut===nt.site||!ut)&&!(ut=ct.right))){var ft=o-ut[0],At=$-ut[1],vt=ft*ft+At*At;vt>8&15|$>>4&240,$>>4&15|$&240,($&15)<<4|$&15,1)):($=reHex6.exec(o))?rgbn(parseInt($[1],16)):($=reRgbInteger.exec(o))?new Rgb($[1],$[2],$[3],1):($=reRgbPercent.exec(o))?new Rgb($[1]*255/100,$[2]*255/100,$[3]*255/100,1):($=reRgbaInteger.exec(o))?rgba($[1],$[2],$[3],$[4]):($=reRgbaPercent.exec(o))?rgba($[1]*255/100,$[2]*255/100,$[3]*255/100,$[4]):($=reHslPercent.exec(o))?hsla($[1],$[2]/100,$[3]/100,1):($=reHslaPercent.exec(o))?hsla($[1],$[2]/100,$[3]/100,$[4]):named.hasOwnProperty(o)?rgbn(named[o]):o==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(o){return new Rgb(o>>16&255,o>>8&255,o&255,1)}function rgba(o,$,_e,et){return et<=0&&(o=$=_e=NaN),new Rgb(o,$,_e,et)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb$1(o,$,_e,et){return arguments.length===1?rgbConvert(o):new Rgb(o,$,_e,et==null?1:et)}function Rgb(o,$,_e,et){this.r=+o,this.g=+$,this.b=+_e,this.opacity=+et}define(Rgb,rgb$1,extend(Color,{brighter:function(o){return o=o==null?brighter:Math.pow(brighter,o),new Rgb(this.r*o,this.g*o,this.b*o,this.opacity)},darker:function(o){return o=o==null?darker:Math.pow(darker,o),new Rgb(this.r*o,this.g*o,this.b*o,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)},toString:function(){var o=this.opacity;return o=isNaN(o)?1:Math.max(0,Math.min(1,o)),(o===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(o===1?")":", "+o+")")}}));function hex(o){return o=Math.max(0,Math.min(255,Math.round(o)||0)),(o<16?"0":"")+o.toString(16)}function hsla(o,$,_e,et){return et<=0?o=$=_e=NaN:_e<=0||_e>=1?o=$=NaN:$<=0&&(o=NaN),new Hsl(o,$,_e,et)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var $=o.r/255,_e=o.g/255,et=o.b/255,tt=Math.min($,_e,et),rt=Math.max($,_e,et),at=NaN,nt=rt-tt,it=(rt+tt)/2;return nt?($===rt?at=(_e-et)/nt+(_e0&&it<1?0:at,new Hsl(at,nt,it,o.opacity)}function hsl(o,$,_e,et){return arguments.length===1?hslConvert(o):new Hsl(o,$,_e,et==null?1:et)}function Hsl(o,$,_e,et){this.h=+o,this.s=+$,this.l=+_e,this.opacity=+et}define(Hsl,hsl,extend(Color,{brighter:function(o){return o=o==null?brighter:Math.pow(brighter,o),new Hsl(this.h,this.s,this.l*o,this.opacity)},darker:function(o){return o=o==null?darker:Math.pow(darker,o),new Hsl(this.h,this.s,this.l*o,this.opacity)},rgb:function(){var o=this.h%360+(this.h<0)*360,$=isNaN(o)||isNaN(this.s)?0:this.s,_e=this.l,et=_e+(_e<.5?_e:1-_e)*$,tt=2*_e-et;return new Rgb(hsl2rgb(o>=240?o-240:o+120,tt,et),hsl2rgb(o,tt,et),hsl2rgb(o<120?o+240:o-120,tt,et),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));function hsl2rgb(o,$,_e){return(o<60?$+(_e-$)*o/60:o<180?_e:o<240?$+(_e-$)*(240-o)/60:$)*255}var deg2rad=Math.PI/180,rad2deg=180/Math.PI,K=18,Xn=.96422,Yn=1,Zn=.82521,t0$1=4/29,t1$1=6/29,t2=3*t1$1*t1$1,t3=t1$1*t1$1*t1$1;function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){if(isNaN(o.h))return new Lab(o.l,0,0,o.opacity);var $=o.h*deg2rad;return new Lab(o.l,Math.cos($)*o.c,Math.sin($)*o.c,o.opacity)}o instanceof Rgb||(o=rgbConvert(o));var _e=rgb2lrgb(o.r),et=rgb2lrgb(o.g),tt=rgb2lrgb(o.b),rt=xyz2lab((.2225045*_e+.7168786*et+.0606169*tt)/Yn),at,nt;return _e===et&&et===tt?at=nt=rt:(at=xyz2lab((.4360747*_e+.3850649*et+.1430804*tt)/Xn),nt=xyz2lab((.0139322*_e+.0971045*et+.7141733*tt)/Zn)),new Lab(116*rt-16,500*(at-rt),200*(rt-nt),o.opacity)}function lab(o,$,_e,et){return arguments.length===1?labConvert(o):new Lab(o,$,_e,et==null?1:et)}function Lab(o,$,_e,et){this.l=+o,this.a=+$,this.b=+_e,this.opacity=+et}define(Lab,lab,extend(Color,{brighter:function(o){return new Lab(this.l+K*(o==null?1:o),this.a,this.b,this.opacity)},darker:function(o){return new Lab(this.l-K*(o==null?1:o),this.a,this.b,this.opacity)},rgb:function(){var o=(this.l+16)/116,$=isNaN(this.a)?o:o+this.a/500,_e=isNaN(this.b)?o:o-this.b/200;return $=Xn*lab2xyz($),o=Yn*lab2xyz(o),_e=Zn*lab2xyz(_e),new Rgb(lrgb2rgb(3.1338561*$-1.6168667*o-.4906146*_e),lrgb2rgb(-.9787684*$+1.9161415*o+.033454*_e),lrgb2rgb(.0719453*$-.2289914*o+1.4052427*_e),this.opacity)}}));function xyz2lab(o){return o>t3?Math.pow(o,1/3):o/t2+t0$1}function lab2xyz(o){return o>t1$1?o*o*o:t2*(o-t0$1)}function lrgb2rgb(o){return 255*(o<=.0031308?12.92*o:1.055*Math.pow(o,1/2.4)-.055)}function rgb2lrgb(o){return(o/=255)<=.04045?o/12.92:Math.pow((o+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(o instanceof Lab||(o=labConvert(o)),o.a===0&&o.b===0)return new Hcl(NaN,0,o.l,o.opacity);var $=Math.atan2(o.b,o.a)*rad2deg;return new Hcl($<0?$+360:$,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function hcl(o,$,_e,et){return arguments.length===1?hclConvert(o):new Hcl(o,$,_e,et==null?1:et)}function Hcl(o,$,_e,et){this.h=+o,this.c=+$,this.l=+_e,this.opacity=+et}define(Hcl,hcl,extend(Color,{brighter:function(o){return new Hcl(this.h,this.c,this.l+K*(o==null?1:o),this.opacity)},darker:function(o){return new Hcl(this.h,this.c,this.l-K*(o==null?1:o),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);o instanceof Rgb||(o=rgbConvert(o));var $=o.r/255,_e=o.g/255,et=o.b/255,tt=(BC_DA*et+ED*$-EB*_e)/(BC_DA+ED-EB),rt=et-tt,at=(E*(_e-tt)-C*rt)/D,nt=Math.sqrt(at*at+rt*rt)/(E*tt*(1-tt)),it=nt?Math.atan2(at,rt)*rad2deg-120:NaN;return new Cubehelix(it<0?it+360:it,nt,tt,o.opacity)}function cubehelix$1(o,$,_e,et){return arguments.length===1?cubehelixConvert(o):new Cubehelix(o,$,_e,et==null?1:et)}function Cubehelix(o,$,_e,et){this.h=+o,this.s=+$,this.l=+_e,this.opacity=+et}define(Cubehelix,cubehelix$1,extend(Color,{brighter:function(o){return o=o==null?brighter:Math.pow(brighter,o),new Cubehelix(this.h,this.s,this.l*o,this.opacity)},darker:function(o){return o=o==null?darker:Math.pow(darker,o),new Cubehelix(this.h,this.s,this.l*o,this.opacity)},rgb:function(){var o=isNaN(this.h)?0:(this.h+120)*deg2rad,$=+this.l,_e=isNaN(this.s)?0:this.s*$*(1-$),et=Math.cos(o),tt=Math.sin(o);return new Rgb(255*($+_e*(A*et+B*tt)),255*($+_e*(C*et+D*tt)),255*($+_e*(E*et)),this.opacity)}}));function constant$4(o){return function(){return o}}function linear$1(o,$){return function(_e){return o+_e*$}}function exponential(o,$,_e){return o=Math.pow(o,_e),$=Math.pow($,_e)-o,_e=1/_e,function(et){return Math.pow(o+et*$,_e)}}function hue(o,$){var _e=$-o;return _e?linear$1(o,_e>180||_e<-180?_e-360*Math.round(_e/360):_e):constant$4(isNaN(o)?$:o)}function gamma(o){return(o=+o)==1?nogamma:function($,_e){return _e-$?exponential($,_e,o):constant$4(isNaN($)?_e:$)}}function nogamma(o,$){var _e=$-o;return _e?linear$1(o,_e):constant$4(isNaN(o)?$:o)}const rgb=function o($){var _e=gamma($);function et(tt,rt){var at=_e((tt=rgb$1(tt)).r,(rt=rgb$1(rt)).r),nt=_e(tt.g,rt.g),it=_e(tt.b,rt.b),ot=nogamma(tt.opacity,rt.opacity);return function(st){return tt.r=at(st),tt.g=nt(st),tt.b=it(st),tt.opacity=ot(st),tt+""}}return et.gamma=o,et}(1);function array$2(o,$){var _e=$?$.length:0,et=o?Math.min(_e,o.length):0,tt=new Array(et),rt=new Array(_e),at;for(at=0;at_e&&(rt=$.slice(_e,rt),nt[at]?nt[at]+=rt:nt[++at]=rt),(et=et[0])===(tt=tt[0])?nt[at]?nt[at]+=tt:nt[++at]=tt:(nt[++at]=null,it.push({i:at,x:reinterpolate$1(et,tt)})),_e=reB.lastIndex;return _e<$.length&&(rt=$.slice(_e),nt[at]?nt[at]+=rt:nt[++at]=rt),nt.length<2?it[0]?one(it[0].x):zero($):($=it.length,function(ot){for(var st=0,lt;st<$;++st)nt[(lt=it[st]).i]=lt.x(ot);return nt.join("")})}function interpolate(o,$){var _e=typeof $,et;return $==null||_e==="boolean"?constant$4($):(_e==="number"?reinterpolate$1:_e==="string"?(et=color($))?($=et,rgb):string:$ instanceof color?rgb:$ instanceof Date?date$1:Array.isArray($)?array$2:typeof $.valueOf!="function"&&typeof $.toString!="function"||isNaN($)?object:reinterpolate$1)(o,$)}function interpolateRound(o,$){return o=+o,$-=o,function(_e){return Math.round(o+$*_e)}}function cubehelix(o){return function $(_e){_e=+_e;function et(tt,rt){var at=o((tt=cubehelix$1(tt)).h,(rt=cubehelix$1(rt)).h),nt=nogamma(tt.s,rt.s),it=nogamma(tt.l,rt.l),ot=nogamma(tt.opacity,rt.opacity);return function(st){return tt.h=at(st),tt.s=nt(st),tt.l=it(Math.pow(st,_e)),tt.opacity=ot(st),tt+""}}return et.gamma=$,et}(1)}cubehelix(hue);var cubehelixLong=cubehelix(nogamma),MotionExports={},Motion$1={get exports(){return MotionExports},set exports(o){MotionExports=o}},mapToZeroExports={},mapToZero={get exports(){return mapToZeroExports},set exports(o){mapToZeroExports=o}};(function(o,$){$.__esModule=!0,$.default=_e;function _e(et){var tt={};for(var rt in et)Object.prototype.hasOwnProperty.call(et,rt)&&(tt[rt]=0);return tt}o.exports=$.default})(mapToZero,mapToZeroExports);var stripStyleExports={},stripStyle={get exports(){return stripStyleExports},set exports(o){stripStyleExports=o}};(function(o,$){$.__esModule=!0,$.default=_e;function _e(et){var tt={};for(var rt in et)Object.prototype.hasOwnProperty.call(et,rt)&&(tt[rt]=typeof et[rt]=="number"?et[rt]:et[rt].val);return tt}o.exports=$.default})(stripStyle,stripStyleExports);var stepperExports={},stepper={get exports(){return stepperExports},set exports(o){stepperExports=o}};(function(o,$){$.__esModule=!0,$.default=et;var _e=[0,0];function et(tt,rt,at,nt,it,ot,st){var lt=-it*(rt-nt),ct=-ot*at,ut=lt+ct,ft=at+ut*tt,At=rt+ft*tt;return Math.abs(ft)gt*10&&(Tt.accumulatedTime=0),Tt.accumulatedTime===0){Tt.animationID=null,Tt.startAnimationIfNecessary();return}var Lt=(Tt.accumulatedTime-Math.floor(Tt.accumulatedTime/gt)*gt)/gt,Vt=Math.floor(Tt.accumulatedTime/gt),zt={},Nt={},Wt={},Jt={};for(var nr in Ot)if(Object.prototype.hasOwnProperty.call(Ot,nr)){var er=Ot[nr];if(typeof er=="number")Wt[nr]=er,Jt[nr]=0,zt[nr]=er,Nt[nr]=0;else{for(var Xt=Tt.state.lastIdealStyle[nr],tr=Tt.state.lastIdealVelocity[nr],Zt=0;Ztgt*10&&(Rt.accumulatedTime=0),Rt.accumulatedTime===0){Rt.animationID=null,Rt.startAnimationIfNecessary();return}for(var Vt=(Rt.accumulatedTime-Math.floor(Rt.accumulatedTime/gt)*gt)/gt,zt=Math.floor(Rt.accumulatedTime/gt),Nt=[],Wt=[],Jt=[],nr=[],er=0;erat[bt])return-1;if(ut>it[bt]&&vtat[bt])return 1;if(ft>it[bt]&&Atxt*10&&(Lt.accumulatedTime=0),Lt.accumulatedTime===0){Lt.animationID=null,Lt.startAnimationIfNecessary();return}for(var nr=(Lt.accumulatedTime-Math.floor(Lt.accumulatedTime/xt)*xt)/xt,er=Math.floor(Lt.accumulatedTime/xt),Xt=Tt(Lt.props.willEnter,Lt.props.willLeave,Lt.props.didLeave,Lt.state.mergedPropsStyles,Nt,Lt.state.currentStyles,Lt.state.currentVelocities,Lt.state.lastIdealStyles,Lt.state.lastIdealVelocities),tr=Xt[0],Zt=Xt[1],Gt=Xt[2],Ft=Xt[3],jt=Xt[4],qt=0;qt=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}var ANIMATION_PROPTYPES=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.shape({stiffness:propTypesExports.number,nonAnimatedProps:propTypesExports.arrayOf(propTypesExports.string),damping:propTypesExports.number}),propTypesExports.bool]),propTypes$b={animatedProps:propTypesExports.arrayOf(propTypesExports.string).isRequired,animation:ANIMATION_PROPTYPES,onStart:propTypesExports.func,onEnd:propTypesExports.func};function getAnimationStyle(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:presets.noWobble;if(typeof o=="string")return presets[o]||presets.noWobble;var $=o.damping,_e=o.stiffness;return _extends$18({damping:$||presets.noWobble.damping,stiffness:_e||presets.noWobble.stiffness},o)}function extractAnimatedPropValues(o){var $=o.animatedProps,_e=_objectWithoutProperties$3(o,["animatedProps"]);return $.reduce(function(et,tt){return _e.hasOwnProperty(tt)&&(et[tt]=_e[tt]),et},{})}var Animation=function(o){_inherits$Q($,o);function $(_e){_classCallCheck$Q(this,$);var et=_possibleConstructorReturn$Q(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et._motionEndHandler=function(){et.props.onEnd&&et.props.onEnd()},et._renderChildren=function(tt){var rt=tt.i,at=et.props.children,nt=et._interpolator,it=React$k.Children.only(at),ot=nt&&nt(rt),st=ot&&ot.data||null;return st&&it.props._data&&(st=st.map(function(lt,ct){var ut=it.props._data[ct];return _extends$18({},lt,{parent:ut.parent,children:ut.children})})),React$k.cloneElement(it,_extends$18({},it.props,ot,{data:st||it.props.data||null,_animation:Math.random()}))},et._updateInterpolator(_e),et}return _createClass$Q($,[{key:"componentWillUpdate",value:function(et){this._updateInterpolator(this.props,et),et.onStart&&et.onStart()}},{key:"_updateInterpolator",value:function(et,tt){this._interpolator=interpolate(extractAnimatedPropValues(et),tt?extractAnimatedPropValues(tt):null)}},{key:"render",value:function(){var et=getAnimationStyle(this.props.animation),tt={i:0},rt={i:spring(1,et)},at=Math.random();return React$k.createElement(Motion,_extends$18({defaultStyle:tt,style:rt,key:at},{onRest:this._motionEndHandler}),this._renderChildren)}}]),$}(reactExports.PureComponent);Animation.propTypes=propTypes$b;Animation.displayName="Animation";var AnimationPropType=ANIMATION_PROPTYPES;function ascending$2(o,$){return o<$?-1:o>$?1:o>=$?0:NaN}function bisector(o){return o.length===1&&(o=ascendingComparator(o)),{left:function($,_e,et,tt){for(et==null&&(et=0),tt==null&&(tt=$.length);et>>1;o($[rt],_e)<0?et=rt+1:tt=rt}return et},right:function($,_e,et,tt){for(et==null&&(et=0),tt==null&&(tt=$.length);et>>1;o($[rt],_e)>0?tt=rt:et=rt+1}return et}}}function ascendingComparator(o){return function($,_e){return ascending$2(o($),_e)}}var ascendingBisect=bisector(ascending$2),bisectRight=ascendingBisect.right;function extent(o,$){var _e=o.length,et=-1,tt,rt,at;if($==null){for(;++et<_e;)if((tt=o[et])!=null&&tt>=tt)for(rt=at=tt;++et<_e;)(tt=o[et])!=null&&(rt>tt&&(rt=tt),at=tt)for(rt=at=tt;++et<_e;)(tt=$(o[et],et,o))!=null&&(rt>tt&&(rt=tt),at0)return[o];if((et=$0)for(o=Math.ceil(o/nt),$=Math.floor($/nt),at=new Array(rt=Math.ceil($-o+1));++tt=0?(rt>=e10?10:rt>=e5?5:rt>=e2?2:1)*Math.pow(10,tt):-Math.pow(10,-tt)/(rt>=e10?10:rt>=e5?5:rt>=e2?2:1)}function tickStep(o,$,_e){var et=Math.abs($-o)/Math.max(0,_e),tt=Math.pow(10,Math.floor(Math.log(et)/Math.LN10)),rt=et/tt;return rt>=e10?tt*=10:rt>=e5?tt*=5:rt>=e2&&(tt*=2),$=tt)for(rt=tt;++et<_e;)(tt=o[et])!=null&&tt>rt&&(rt=tt)}else for(;++et<_e;)if((tt=$(o[et],et,o))!=null&&tt>=tt)for(rt=tt;++et<_e;)(tt=$(o[et],et,o))!=null&&tt>rt&&(rt=tt);return rt}var prefix="$";function Map$1(){}Map$1.prototype=map$2.prototype={constructor:Map$1,has:function(o){return prefix+o in this},get:function(o){return this[prefix+o]},set:function(o,$){return this[prefix+o]=$,this},remove:function(o){var $=prefix+o;return $ in this&&delete this[$]},clear:function(){for(var o in this)o[0]===prefix&&delete this[o]},keys:function(){var o=[];for(var $ in this)$[0]===prefix&&o.push($.slice(1));return o},values:function(){var o=[];for(var $ in this)$[0]===prefix&&o.push(this[$]);return o},entries:function(){var o=[];for(var $ in this)$[0]===prefix&&o.push({key:$.slice(1),value:this[$]});return o},size:function(){var o=0;for(var $ in this)$[0]===prefix&&++o;return o},empty:function(){for(var o in this)if(o[0]===prefix)return!1;return!0},each:function(o){for(var $ in this)$[0]===prefix&&o(this[$],$.slice(1),this)}};function map$2(o,$){var _e=new Map$1;if(o instanceof Map$1)o.each(function(nt,it){_e.set(it,nt)});else if(Array.isArray(o)){var et=-1,tt=o.length,rt;if($==null)for(;++et=_e?1:et(tt)}}}function reinterpolateClamp(o){return function($,_e){var et=o($=+$,_e=+_e);return function(tt){return tt<=0?$:tt>=1?_e:et(tt)}}}function bimap(o,$,_e,et){var tt=o[0],rt=o[1],at=$[0],nt=$[1];return rt2?polymap:bimap,nt=it=null,st}function st(lt){return(nt||(nt=at(_e,et,rt?deinterpolateClamp(o):o,tt)))(+lt)}return st.invert=function(lt){return(it||(it=at(et,_e,deinterpolateLinear,rt?reinterpolateClamp($):$)))(+lt)},st.domain=function(lt){return arguments.length?(_e=map$1.call(lt,number$1),ot()):_e.slice()},st.range=function(lt){return arguments.length?(et=slice$3.call(lt),ot()):et.slice()},st.rangeRound=function(lt){return et=slice$3.call(lt),tt=interpolateRound,ot()},st.clamp=function(lt){return arguments.length?(rt=!!lt,ot()):rt},st.interpolate=function(lt){return arguments.length?(tt=lt,ot()):tt},ot()}function formatDecimal(o,$){if((_e=(o=$?o.toExponential($-1):o.toExponential()).indexOf("e"))<0)return null;var _e,et=o.slice(0,_e);return[et.length>1?et[0]+et.slice(2):et,+o.slice(_e+1)]}function exponent(o){return o=formatDecimal(Math.abs(o)),o?o[1]:NaN}function formatGroup(o,$){return function(_e,et){for(var tt=_e.length,rt=[],at=0,nt=o[0],it=0;tt>0&&nt>0&&(it+nt+1>et&&(nt=Math.max(1,et-it)),rt.push(_e.substring(tt-=nt,tt+nt)),!((it+=nt+1)>et));)nt=o[at=(at+1)%o.length];return rt.reverse().join($)}}function formatNumerals(o){return function($){return $.replace(/[0-9]/g,function(_e){return o[+_e]})}}var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function formatSpecifier(o){return new FormatSpecifier(o)}formatSpecifier.prototype=FormatSpecifier.prototype;function FormatSpecifier(o){if(!($=re.exec(o)))throw new Error("invalid format: "+o);var $;this.fill=$[1]||" ",this.align=$[2]||">",this.sign=$[3]||"-",this.symbol=$[4]||"",this.zero=!!$[5],this.width=$[6]&&+$[6],this.comma=!!$[7],this.precision=$[8]&&+$[8].slice(1),this.trim=!!$[9],this.type=$[10]||""}FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width==null?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision==null?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function formatTrim(o){e:for(var $=o.length,_e=1,et=-1,tt;_e<$;++_e)switch(o[_e]){case".":et=tt=_e;break;case"0":et===0&&(et=_e),tt=_e;break;default:if(et>0){if(!+o[_e])break e;et=0}break}return et>0?o.slice(0,et)+o.slice(tt+1):o}var prefixExponent;function formatPrefixAuto(o,$){var _e=formatDecimal(o,$);if(!_e)return o+"";var et=_e[0],tt=_e[1],rt=tt-(prefixExponent=Math.max(-8,Math.min(8,Math.floor(tt/3)))*3)+1,at=et.length;return rt===at?et:rt>at?et+new Array(rt-at+1).join("0"):rt>0?et.slice(0,rt)+"."+et.slice(rt):"0."+new Array(1-rt).join("0")+formatDecimal(o,Math.max(0,$+rt-1))[0]}function formatRounded(o,$){var _e=formatDecimal(o,$);if(!_e)return o+"";var et=_e[0],tt=_e[1];return tt<0?"0."+new Array(-tt).join("0")+et:et.length>tt+1?et.slice(0,tt+1)+"."+et.slice(tt+1):et+new Array(tt-et.length+2).join("0")}const formatTypes={"%":function(o,$){return(o*100).toFixed($)},b:function(o){return Math.round(o).toString(2)},c:function(o){return o+""},d:function(o){return Math.round(o).toString(10)},e:function(o,$){return o.toExponential($)},f:function(o,$){return o.toFixed($)},g:function(o,$){return o.toPrecision($)},o:function(o){return Math.round(o).toString(8)},p:function(o,$){return formatRounded(o*100,$)},r:formatRounded,s:formatPrefixAuto,X:function(o){return Math.round(o).toString(16).toUpperCase()},x:function(o){return Math.round(o).toString(16)}};function identity$3(o){return o}var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function formatLocale$1(o){var $=o.grouping&&o.thousands?formatGroup(o.grouping,o.thousands):identity$3,_e=o.currency,et=o.decimal,tt=o.numerals?formatNumerals(o.numerals):identity$3,rt=o.percent||"%";function at(it){it=formatSpecifier(it);var ot=it.fill,st=it.align,lt=it.sign,ct=it.symbol,ut=it.zero,ft=it.width,At=it.comma,vt=it.precision,ht=it.trim,bt=it.type;bt==="n"?(At=!0,bt="g"):formatTypes[bt]||(vt==null&&(vt=12),ht=!0,bt="g"),(ut||ot==="0"&&st==="=")&&(ut=!0,ot="0",st="=");var pt=ct==="$"?_e[0]:ct==="#"&&/[boxX]/.test(bt)?"0"+bt.toLowerCase():"",dt=ct==="$"?_e[1]:/[%p]/.test(bt)?rt:"",_t=formatTypes[bt],Ct=/[defgprs%]/.test(bt);vt=vt==null?6:/[gprs]/.test(bt)?Math.max(1,Math.min(21,vt)):Math.max(0,Math.min(20,vt));function gt(yt){var xt=pt,Et=dt,It,Tt,Rt;if(bt==="c")Et=_t(yt)+Et,yt="";else{yt=+yt;var Ot=yt<0;if(yt=_t(Math.abs(yt),vt),ht&&(yt=formatTrim(yt)),Ot&&+yt==0&&(Ot=!1),xt=(Ot?lt==="("?lt:"-":lt==="-"||lt==="("?"":lt)+xt,Et=(bt==="s"?prefixes[8+prefixExponent/3]:"")+Et+(Ot&<==="("?")":""),Ct){for(It=-1,Tt=yt.length;++ItRt||Rt>57){Et=(Rt===46?et+yt.slice(It+1):yt.slice(It))+Et,yt=yt.slice(0,It);break}}}At&&!ut&&(yt=$(yt,1/0));var Mt=xt.length+yt.length+Et.length,Bt=Mt>1)+xt+yt+Et+Bt.slice(Mt);break;default:yt=Bt+xt+yt+Et;break}return tt(yt)}return gt.toString=function(){return it+""},gt}function nt(it,ot){var st=at((it=formatSpecifier(it),it.type="f",it)),lt=Math.max(-8,Math.min(8,Math.floor(exponent(ot)/3)))*3,ct=Math.pow(10,-lt),ut=prefixes[8+lt/3];return function(ft){return st(ct*ft)+ut}}return{format:at,formatPrefix:nt}}var locale$2,format$1,formatPrefix;defaultLocale$1({decimal:".",thousands:",",grouping:[3],currency:["$",""]});function defaultLocale$1(o){return locale$2=formatLocale$1(o),format$1=locale$2.format,formatPrefix=locale$2.formatPrefix,locale$2}function precisionFixed(o){return Math.max(0,-exponent(Math.abs(o)))}function precisionPrefix(o,$){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(exponent($)/3)))*3-exponent(Math.abs(o)))}function precisionRound(o,$){return o=Math.abs(o),$=Math.abs($)-o,Math.max(0,exponent($)-exponent(o))+1}function tickFormat$1(o,$,_e){var et=o[0],tt=o[o.length-1],rt=tickStep(et,tt,$==null?10:$),at;switch(_e=formatSpecifier(_e==null?",f":_e),_e.type){case"s":{var nt=Math.max(Math.abs(et),Math.abs(tt));return _e.precision==null&&!isNaN(at=precisionPrefix(rt,nt))&&(_e.precision=at),formatPrefix(_e,nt)}case"":case"e":case"g":case"p":case"r":{_e.precision==null&&!isNaN(at=precisionRound(rt,Math.max(Math.abs(et),Math.abs(tt))))&&(_e.precision=at-(_e.type==="e"));break}case"f":case"%":{_e.precision==null&&!isNaN(at=precisionFixed(rt))&&(_e.precision=at-(_e.type==="%")*2);break}}return format$1(_e)}function linearish(o){var $=o.domain;return o.ticks=function(_e){var et=$();return ticks(et[0],et[et.length-1],_e==null?10:_e)},o.tickFormat=function(_e,et){return tickFormat$1($(),_e,et)},o.nice=function(_e){_e==null&&(_e=10);var et=$(),tt=0,rt=et.length-1,at=et[tt],nt=et[rt],it;return nt0?(at=Math.floor(at/it)*it,nt=Math.ceil(nt/it)*it,it=tickIncrement(at,nt,_e)):it<0&&(at=Math.ceil(at*it)/it,nt=Math.floor(nt*it)/it,it=tickIncrement(at,nt,_e)),it>0?(et[tt]=Math.floor(at/it)*it,et[rt]=Math.ceil(nt/it)*it,$(et)):it<0&&(et[tt]=Math.ceil(at*it)/it,et[rt]=Math.floor(nt*it)/it,$(et)),o},o}function linear(){var o=continuous(deinterpolateLinear,reinterpolate$1);return o.copy=function(){return copy$1(o,linear())},linearish(o)}function nice(o,$){o=o.slice();var _e=0,et=o.length-1,tt=o[_e],rt=o[et],at;return rt0){for(;ltot)break;ht.push(At)}}else for(;lt=1;--ft)if(At=ut*ft,!(Atot)break;ht.push(At)}}else ht=ticks(lt,ct,Math.min(ct-lt,vt)).map(tt);return st?ht.reverse():ht},o.tickFormat=function(at,nt){if(nt==null&&(nt=_e===10?".0e":","),typeof nt!="function"&&(nt=format$1(nt)),at===1/0)return nt;at==null&&(at=10);var it=Math.max(1,_e*at/o.ticks().length);return function(ot){var st=ot/tt(Math.round(et(ot)));return st*_e<_e-.5&&(st*=_e),st<=it?nt(ot):""}},o.nice=function(){return $(nice($(),{floor:function(at){return tt(Math.floor(et(at)))},ceil:function(at){return tt(Math.ceil(et(at)))}}))},o.copy=function(){return copy$1(o,log().base(_e))},o}var t0=new Date,t1=new Date;function newInterval(o,$,_e,et){function tt(rt){return o(rt=new Date(+rt)),rt}return tt.floor=tt,tt.ceil=function(rt){return o(rt=new Date(rt-1)),$(rt,1),o(rt),rt},tt.round=function(rt){var at=tt(rt),nt=tt.ceil(rt);return rt-at0))return it;do it.push(ot=new Date(+rt)),$(rt,nt),o(rt);while(ot=at)for(;o(at),!rt(at);)at.setTime(at-1)},function(at,nt){if(at>=at)if(nt<0)for(;++nt<=0;)for(;$(at,-1),!rt(at););else for(;--nt>=0;)for(;$(at,1),!rt(at););})},_e&&(tt.count=function(rt,at){return t0.setTime(+rt),t1.setTime(+at),o(t0),o(t1),Math.floor(_e(t0,t1))},tt.every=function(rt){return rt=Math.floor(rt),!isFinite(rt)||!(rt>0)?null:rt>1?tt.filter(et?function(at){return et(at)%rt===0}:function(at){return tt.count(0,at)%rt===0}):tt}),tt}var millisecond=newInterval(function(){},function(o,$){o.setTime(+o+$)},function(o,$){return $-o});millisecond.every=function(o){return o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?newInterval(function($){$.setTime(Math.floor($/o)*o)},function($,_e){$.setTime(+$+_e*o)},function($,_e){return(_e-$)/o}):millisecond};millisecond.range;var durationSecond$1=1e3,durationMinute$1=6e4,durationHour$1=36e5,durationDay$1=864e5,durationWeek$1=6048e5,second=newInterval(function(o){o.setTime(o-o.getMilliseconds())},function(o,$){o.setTime(+o+$*durationSecond$1)},function(o,$){return($-o)/durationSecond$1},function(o){return o.getUTCSeconds()});second.range;var minute=newInterval(function(o){o.setTime(o-o.getMilliseconds()-o.getSeconds()*durationSecond$1)},function(o,$){o.setTime(+o+$*durationMinute$1)},function(o,$){return($-o)/durationMinute$1},function(o){return o.getMinutes()});minute.range;var hour=newInterval(function(o){o.setTime(o-o.getMilliseconds()-o.getSeconds()*durationSecond$1-o.getMinutes()*durationMinute$1)},function(o,$){o.setTime(+o+$*durationHour$1)},function(o,$){return($-o)/durationHour$1},function(o){return o.getHours()});hour.range;var day=newInterval(function(o){o.setHours(0,0,0,0)},function(o,$){o.setDate(o.getDate()+$)},function(o,$){return($-o-($.getTimezoneOffset()-o.getTimezoneOffset())*durationMinute$1)/durationDay$1},function(o){return o.getDate()-1});day.range;function weekday(o){return newInterval(function($){$.setDate($.getDate()-($.getDay()+7-o)%7),$.setHours(0,0,0,0)},function($,_e){$.setDate($.getDate()+_e*7)},function($,_e){return(_e-$-(_e.getTimezoneOffset()-$.getTimezoneOffset())*durationMinute$1)/durationWeek$1})}var sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6);sunday.range;monday.range;tuesday.range;wednesday.range;thursday.range;friday.range;saturday.range;var month=newInterval(function(o){o.setDate(1),o.setHours(0,0,0,0)},function(o,$){o.setMonth(o.getMonth()+$)},function(o,$){return $.getMonth()-o.getMonth()+($.getFullYear()-o.getFullYear())*12},function(o){return o.getMonth()});month.range;var year=newInterval(function(o){o.setMonth(0,1),o.setHours(0,0,0,0)},function(o,$){o.setFullYear(o.getFullYear()+$)},function(o,$){return $.getFullYear()-o.getFullYear()},function(o){return o.getFullYear()});year.every=function(o){return!isFinite(o=Math.floor(o))||!(o>0)?null:newInterval(function($){$.setFullYear(Math.floor($.getFullYear()/o)*o),$.setMonth(0,1),$.setHours(0,0,0,0)},function($,_e){$.setFullYear($.getFullYear()+_e*o)})};year.range;var utcMinute=newInterval(function(o){o.setUTCSeconds(0,0)},function(o,$){o.setTime(+o+$*durationMinute$1)},function(o,$){return($-o)/durationMinute$1},function(o){return o.getUTCMinutes()});utcMinute.range;var utcHour=newInterval(function(o){o.setUTCMinutes(0,0,0)},function(o,$){o.setTime(+o+$*durationHour$1)},function(o,$){return($-o)/durationHour$1},function(o){return o.getUTCHours()});utcHour.range;var utcDay=newInterval(function(o){o.setUTCHours(0,0,0,0)},function(o,$){o.setUTCDate(o.getUTCDate()+$)},function(o,$){return($-o)/durationDay$1},function(o){return o.getUTCDate()-1});utcDay.range;function utcWeekday(o){return newInterval(function($){$.setUTCDate($.getUTCDate()-($.getUTCDay()+7-o)%7),$.setUTCHours(0,0,0,0)},function($,_e){$.setUTCDate($.getUTCDate()+_e*7)},function($,_e){return(_e-$)/durationWeek$1})}var utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6);utcSunday.range;utcMonday.range;utcTuesday.range;utcWednesday.range;utcThursday.range;utcFriday.range;utcSaturday.range;var utcMonth=newInterval(function(o){o.setUTCDate(1),o.setUTCHours(0,0,0,0)},function(o,$){o.setUTCMonth(o.getUTCMonth()+$)},function(o,$){return $.getUTCMonth()-o.getUTCMonth()+($.getUTCFullYear()-o.getUTCFullYear())*12},function(o){return o.getUTCMonth()});utcMonth.range;var utcYear=newInterval(function(o){o.setUTCMonth(0,1),o.setUTCHours(0,0,0,0)},function(o,$){o.setUTCFullYear(o.getUTCFullYear()+$)},function(o,$){return $.getUTCFullYear()-o.getUTCFullYear()},function(o){return o.getUTCFullYear()});utcYear.every=function(o){return!isFinite(o=Math.floor(o))||!(o>0)?null:newInterval(function($){$.setUTCFullYear(Math.floor($.getUTCFullYear()/o)*o),$.setUTCMonth(0,1),$.setUTCHours(0,0,0,0)},function($,_e){$.setUTCFullYear($.getUTCFullYear()+_e*o)})};utcYear.range;function localDate(o){if(0<=o.y&&o.y<100){var $=new Date(-1,o.m,o.d,o.H,o.M,o.S,o.L);return $.setFullYear(o.y),$}return new Date(o.y,o.m,o.d,o.H,o.M,o.S,o.L)}function utcDate(o){if(0<=o.y&&o.y<100){var $=new Date(Date.UTC(-1,o.m,o.d,o.H,o.M,o.S,o.L));return $.setUTCFullYear(o.y),$}return new Date(Date.UTC(o.y,o.m,o.d,o.H,o.M,o.S,o.L))}function newYear(o){return{y:o,m:0,d:1,H:0,M:0,S:0,L:0}}function formatLocale(o){var $=o.dateTime,_e=o.date,et=o.time,tt=o.periods,rt=o.days,at=o.shortDays,nt=o.months,it=o.shortMonths,ot=formatRe(tt),st=formatLookup(tt),lt=formatRe(rt),ct=formatLookup(rt),ut=formatRe(at),ft=formatLookup(at),At=formatRe(nt),vt=formatLookup(nt),ht=formatRe(it),bt=formatLookup(it),pt={a:Lt,A:Vt,b:zt,B:Nt,c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:Wt,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},dt={a:Jt,A:nr,b:er,B:Xt,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:tr,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},_t={a:Et,A:It,b:Tt,B:Rt,c:Ot,d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:xt,Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:Mt,X:Bt,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};pt.x=Ct(_e,pt),pt.X=Ct(et,pt),pt.c=Ct($,pt),dt.x=Ct(_e,dt),dt.X=Ct(et,dt),dt.c=Ct($,dt);function Ct(Zt,Gt){return function(Ft){var jt=[],qt=-1,or=0,fr=Zt.length,dr,vr,Er;for(Ft instanceof Date||(Ft=new Date(+Ft));++qt53)return null;"w"in jt||(jt.w=1),"Z"in jt?(or=utcDate(newYear(jt.y)),fr=or.getUTCDay(),or=fr>4||fr===0?utcMonday.ceil(or):utcMonday(or),or=utcDay.offset(or,(jt.V-1)*7),jt.y=or.getUTCFullYear(),jt.m=or.getUTCMonth(),jt.d=or.getUTCDate()+(jt.w+6)%7):(or=Gt(newYear(jt.y)),fr=or.getDay(),or=fr>4||fr===0?monday.ceil(or):monday(or),or=day.offset(or,(jt.V-1)*7),jt.y=or.getFullYear(),jt.m=or.getMonth(),jt.d=or.getDate()+(jt.w+6)%7)}else("W"in jt||"U"in jt)&&("w"in jt||(jt.w="u"in jt?jt.u%7:"W"in jt?1:0),fr="Z"in jt?utcDate(newYear(jt.y)).getUTCDay():Gt(newYear(jt.y)).getDay(),jt.m=0,jt.d="W"in jt?(jt.w+6)%7+jt.W*7-(fr+5)%7:jt.w+jt.U*7-(fr+6)%7);return"Z"in jt?(jt.H+=jt.Z/100|0,jt.M+=jt.Z%100,utcDate(jt)):Gt(jt)}}function yt(Zt,Gt,Ft,jt){for(var qt=0,or=Gt.length,fr=Ft.length,dr,vr;qt=fr)return-1;if(dr=Gt.charCodeAt(qt++),dr===37){if(dr=Gt.charAt(qt++),vr=_t[dr in pads?Gt.charAt(qt++):dr],!vr||(jt=vr(Zt,Ft,jt))<0)return-1}else if(dr!=Ft.charCodeAt(jt++))return-1}return jt}function xt(Zt,Gt,Ft){var jt=ot.exec(Gt.slice(Ft));return jt?(Zt.p=st[jt[0].toLowerCase()],Ft+jt[0].length):-1}function Et(Zt,Gt,Ft){var jt=ut.exec(Gt.slice(Ft));return jt?(Zt.w=ft[jt[0].toLowerCase()],Ft+jt[0].length):-1}function It(Zt,Gt,Ft){var jt=lt.exec(Gt.slice(Ft));return jt?(Zt.w=ct[jt[0].toLowerCase()],Ft+jt[0].length):-1}function Tt(Zt,Gt,Ft){var jt=ht.exec(Gt.slice(Ft));return jt?(Zt.m=bt[jt[0].toLowerCase()],Ft+jt[0].length):-1}function Rt(Zt,Gt,Ft){var jt=At.exec(Gt.slice(Ft));return jt?(Zt.m=vt[jt[0].toLowerCase()],Ft+jt[0].length):-1}function Ot(Zt,Gt,Ft){return yt(Zt,$,Gt,Ft)}function Mt(Zt,Gt,Ft){return yt(Zt,_e,Gt,Ft)}function Bt(Zt,Gt,Ft){return yt(Zt,et,Gt,Ft)}function Lt(Zt){return at[Zt.getDay()]}function Vt(Zt){return rt[Zt.getDay()]}function zt(Zt){return it[Zt.getMonth()]}function Nt(Zt){return nt[Zt.getMonth()]}function Wt(Zt){return tt[+(Zt.getHours()>=12)]}function Jt(Zt){return at[Zt.getUTCDay()]}function nr(Zt){return rt[Zt.getUTCDay()]}function er(Zt){return it[Zt.getUTCMonth()]}function Xt(Zt){return nt[Zt.getUTCMonth()]}function tr(Zt){return tt[+(Zt.getUTCHours()>=12)]}return{format:function(Zt){var Gt=Ct(Zt+="",pt);return Gt.toString=function(){return Zt},Gt},parse:function(Zt){var Gt=gt(Zt+="",localDate);return Gt.toString=function(){return Zt},Gt},utcFormat:function(Zt){var Gt=Ct(Zt+="",dt);return Gt.toString=function(){return Zt},Gt},utcParse:function(Zt){var Gt=gt(Zt,utcDate);return Gt.toString=function(){return Zt},Gt}}}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g;function pad(o,$,_e){var et=o<0?"-":"",tt=(et?-o:o)+"",rt=tt.length;return et+(rt<_e?new Array(_e-rt+1).join($)+tt:tt)}function requote(o){return o.replace(requoteRe,"\\$&")}function formatRe(o){return new RegExp("^(?:"+o.map(requote).join("|")+")","i")}function formatLookup(o){for(var $={},_e=-1,et=o.length;++_e68?1900:2e3),_e+et[0].length):-1}function parseZone(o,$,_e){var et=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec($.slice(_e,_e+6));return et?(o.Z=et[1]?0:-(et[2]+(et[3]||"00")),_e+et[0].length):-1}function parseMonthNumber(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.m=et[0]-1,_e+et[0].length):-1}function parseDayOfMonth(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.d=+et[0],_e+et[0].length):-1}function parseDayOfYear(o,$,_e){var et=numberRe.exec($.slice(_e,_e+3));return et?(o.m=0,o.d=+et[0],_e+et[0].length):-1}function parseHour24(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.H=+et[0],_e+et[0].length):-1}function parseMinutes(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.M=+et[0],_e+et[0].length):-1}function parseSeconds(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.S=+et[0],_e+et[0].length):-1}function parseMilliseconds(o,$,_e){var et=numberRe.exec($.slice(_e,_e+3));return et?(o.L=+et[0],_e+et[0].length):-1}function parseMicroseconds(o,$,_e){var et=numberRe.exec($.slice(_e,_e+6));return et?(o.L=Math.floor(et[0]/1e3),_e+et[0].length):-1}function parseLiteralPercent(o,$,_e){var et=percentRe.exec($.slice(_e,_e+1));return et?_e+et[0].length:-1}function parseUnixTimestamp(o,$,_e){var et=numberRe.exec($.slice(_e));return et?(o.Q=+et[0],_e+et[0].length):-1}function parseUnixTimestampSeconds(o,$,_e){var et=numberRe.exec($.slice(_e));return et?(o.Q=+et[0]*1e3,_e+et[0].length):-1}function formatDayOfMonth(o,$){return pad(o.getDate(),$,2)}function formatHour24(o,$){return pad(o.getHours(),$,2)}function formatHour12(o,$){return pad(o.getHours()%12||12,$,2)}function formatDayOfYear(o,$){return pad(1+day.count(year(o),o),$,3)}function formatMilliseconds(o,$){return pad(o.getMilliseconds(),$,3)}function formatMicroseconds(o,$){return formatMilliseconds(o,$)+"000"}function formatMonthNumber(o,$){return pad(o.getMonth()+1,$,2)}function formatMinutes(o,$){return pad(o.getMinutes(),$,2)}function formatSeconds(o,$){return pad(o.getSeconds(),$,2)}function formatWeekdayNumberMonday(o){var $=o.getDay();return $===0?7:$}function formatWeekNumberSunday(o,$){return pad(sunday.count(year(o),o),$,2)}function formatWeekNumberISO(o,$){var _e=o.getDay();return o=_e>=4||_e===0?thursday(o):thursday.ceil(o),pad(thursday.count(year(o),o)+(year(o).getDay()===4),$,2)}function formatWeekdayNumberSunday(o){return o.getDay()}function formatWeekNumberMonday(o,$){return pad(monday.count(year(o),o),$,2)}function formatYear(o,$){return pad(o.getFullYear()%100,$,2)}function formatFullYear(o,$){return pad(o.getFullYear()%1e4,$,4)}function formatZone(o){var $=o.getTimezoneOffset();return($>0?"-":($*=-1,"+"))+pad($/60|0,"0",2)+pad($%60,"0",2)}function formatUTCDayOfMonth(o,$){return pad(o.getUTCDate(),$,2)}function formatUTCHour24(o,$){return pad(o.getUTCHours(),$,2)}function formatUTCHour12(o,$){return pad(o.getUTCHours()%12||12,$,2)}function formatUTCDayOfYear(o,$){return pad(1+utcDay.count(utcYear(o),o),$,3)}function formatUTCMilliseconds(o,$){return pad(o.getUTCMilliseconds(),$,3)}function formatUTCMicroseconds(o,$){return formatUTCMilliseconds(o,$)+"000"}function formatUTCMonthNumber(o,$){return pad(o.getUTCMonth()+1,$,2)}function formatUTCMinutes(o,$){return pad(o.getUTCMinutes(),$,2)}function formatUTCSeconds(o,$){return pad(o.getUTCSeconds(),$,2)}function formatUTCWeekdayNumberMonday(o){var $=o.getUTCDay();return $===0?7:$}function formatUTCWeekNumberSunday(o,$){return pad(utcSunday.count(utcYear(o),o),$,2)}function formatUTCWeekNumberISO(o,$){var _e=o.getUTCDay();return o=_e>=4||_e===0?utcThursday(o):utcThursday.ceil(o),pad(utcThursday.count(utcYear(o),o)+(utcYear(o).getUTCDay()===4),$,2)}function formatUTCWeekdayNumberSunday(o){return o.getUTCDay()}function formatUTCWeekNumberMonday(o,$){return pad(utcMonday.count(utcYear(o),o),$,2)}function formatUTCYear(o,$){return pad(o.getUTCFullYear()%100,$,2)}function formatUTCFullYear(o,$){return pad(o.getUTCFullYear()%1e4,$,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(o){return+o}function formatUnixTimestampSeconds(o){return Math.floor(+o/1e3)}var locale$1,timeFormat,utcFormat,utcParse;defaultLocale({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function defaultLocale(o){return locale$1=formatLocale(o),timeFormat=locale$1.format,locale$1.parse,utcFormat=locale$1.utcFormat,utcParse=locale$1.utcParse,locale$1}var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(o){return o.toISOString()}Date.prototype.toISOString||utcFormat(isoSpecifier);function parseIsoNative(o){var $=new Date(o);return isNaN($)?null:$}+new Date("2000-01-01T00:00:00.000Z")||utcParse(isoSpecifier);var durationSecond=1e3,durationMinute=durationSecond*60,durationHour=durationMinute*60,durationDay=durationHour*24,durationWeek=durationDay*7,durationMonth=durationDay*30,durationYear=durationDay*365;function date(o){return new Date(o)}function number(o){return o instanceof Date?+o:+new Date(+o)}function calendar(o,$,_e,et,tt,rt,at,nt,it){var ot=continuous(deinterpolateLinear,reinterpolate$1),st=ot.invert,lt=ot.domain,ct=it(".%L"),ut=it(":%S"),ft=it("%I:%M"),At=it("%I %p"),vt=it("%a %d"),ht=it("%b %d"),bt=it("%B"),pt=it("%Y"),dt=[[at,1,durationSecond],[at,5,5*durationSecond],[at,15,15*durationSecond],[at,30,30*durationSecond],[rt,1,durationMinute],[rt,5,5*durationMinute],[rt,15,15*durationMinute],[rt,30,30*durationMinute],[tt,1,durationHour],[tt,3,3*durationHour],[tt,6,6*durationHour],[tt,12,12*durationHour],[et,1,durationDay],[et,2,2*durationDay],[_e,1,durationWeek],[$,1,durationMonth],[$,3,3*durationMonth],[o,1,durationYear]];function _t(gt){return(at(gt)13||Number(major)>13,isReactDOMSupported=function o(){return versionHigherThanThirteen},getDOMNode=function o($){return isReactDOMSupported()?$:$&&$.getDOMNode()},USED_MESSAGES={},HIDDEN_PROCESSES={test:!0,production:!0};function warning$1(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;global.process&&HIDDEN_PROCESSES.production||(!$||!USED_MESSAGES[o])&&(console.warn(o),USED_MESSAGES[o]=!0)}function getUniquePropertyValues(o,$){var _e=new Set(o.map($));return Array.from(_e)}function addValueToArray(o,$){var _e=[].concat(o);return _e[0]>$&&(_e[0]=$),_e[_e.length-1]<$&&(_e[_e.length-1]=$),_e}function transformValueToString(o){return Object.prototype.toString.call(o)==="[object Date]"?o.toDateString():o}var _extends$17=Object.assign||function(o){for(var $=1;$it-o.padding()*o.step())return o.domain()[o.domain().length-1];var ot=Math.floor((_e-nt-o.padding()*o.step())/o.step());return o.domain()[ot]})}function getScaleFnFromScaleObject(o){if(!o)return null;var $=o.type,_e=o.domain,et=o.range,tt=_e[0]===_e[1]?_e[0]===0?[-1,0]:[-_e[0],_e[0]]:_e;if($===LITERAL_SCALE_TYPE)return literalScale(et[0]);var rt=SCALE_FUNCTIONS[$]().domain(tt).range(et);return $===ORDINAL_SCALE_TYPE&&(rt.padding(.5),addInvertFunctionToOrdinalScaleObject(rt)),rt}function getDomainByAccessor(o,$,_e,et){var tt=void 0,rt=o.reduce(function(at,nt){var it=$(nt),ot=_e(nt);return _isDefined(it)&&at.push(it),_isDefined(ot)&&at.push(ot),at},[]);return rt.length?(et!==ORDINAL_SCALE_TYPE&&et!==CATEGORY_SCALE_TYPE?tt=extent(rt):tt=set(rt).values(),tt):[]}function _createScaleObjectForValue(o,$,_e,et,tt){return _e===LITERAL_SCALE_TYPE?{type:LITERAL_SCALE_TYPE,domain:[],range:[$],distance:0,attr:o,baseValue:void 0,isValue:!0,accessor:et,accessor0:tt}:typeof $>"u"?null:{type:CATEGORY_SCALE_TYPE,range:[$],domain:[],distance:0,attr:o,baseValue:void 0,isValue:!0,accessor:et,accessor0:tt}}function _createScaleObjectForFunction(o){var $=o.domain,_e=o.range,et=o.type,tt=o.distance,rt=o.attr,at=o.baseValue,nt=o.accessor,it=o.accessor0;return{domain:$,range:_e,type:et,distance:tt,attr:rt,baseValue:at,isValue:!1,accessor:nt,accessor0:it}}function _collectScaleObjectFromProps(o,$){var _e=o[$],et=o["_"+$+"Value"],tt=o[$+"Range"],rt=o[$+"Distance"],at=rt===void 0?0:rt,nt=o[$+"BaseValue"],it=o[$+"Type"],ot=it===void 0?LINEAR_SCALE_TYPE:it,st=o[$+"NoFallBack"],lt=o["get"+toTitleCase($)],ct=lt===void 0?function(vt){return vt[$]}:lt,ut=o["get"+toTitleCase($)+"0"],ft=ut===void 0?function(vt){return vt[$+"0"]}:ut,At=o[$+"Domain"];return!st&&typeof _e<"u"?_createScaleObjectForValue($,_e,o[$+"Type"],ct,ft):(typeof nt<"u"&&(At=addValueToArray(At,nt)),!tt||!At||!At.length?_createScaleObjectForValue($,et,o[$+"Type"],ct,ft):_createScaleObjectForFunction({domain:At,range:tt,type:ot,distance:at,attr:$,baseValue:nt,accessor:ct,accessor0:ft}))}function _computeLeftDomainAdjustment(o){return o.length>1?(o[1]-o[0])/2:o.length===1?o[0]-.5:0}function _computeRightDomainAdjustment(o){return o.length>1?(o[o.length-1]-o[o.length-2])/2:o.length===1?o[0]-.5:0}function _computeScaleDistance(o,$,_e,et){if(o.length>1){var tt=Math.max(_e,1);return Math.abs(et(o[tt])-et(o[tt-1]))}return o.length===1?Math.abs(et($[1])-et($[0])):0}function _normalizeValues(o,$,_e,et){if(et===TIME_SCALE_TYPE&&$.length===1){var tt=_e(o[0]);return[tt].concat(_toConsumableArray$3($))}return $}function _getScaleDistanceAndAdjustedDomain(o,$){var _e=$.domain,et=$.type,tt=$.accessor,rt=$.accessor0,at=getUniquePropertyValues(o,tt),nt=_normalizeValues(o,at,rt,et),it=_getSmallestDistanceIndex(nt,$),ot=[].concat(_e);ot[0]-=_computeLeftDomainAdjustment(nt),ot[_e.length-1]+=_computeRightDomainAdjustment(nt),et===LOG_SCALE_TYPE&&_e[0]<=0&&(ot[0]=Math.min(_e[1]/10,1));var st=getScaleFnFromScaleObject(_extends$17({},$,{domain:ot})),lt=_computeScaleDistance(nt,ot,it,st);return{domain0:ot[0],domainN:ot[ot.length-1],distance:lt}}function _isScaleAdjustmentPossible(o,$){var _e=$.attr,et=o._adjustBy,tt=et===void 0?[]:et,rt=o._adjustWhat,at=rt===void 0?[]:rt;return at.length&&tt.length&&tt.indexOf(_e)!==-1}function _adjustContinuousScale(o,$){var _e=o._allData,et=o._adjustWhat,tt=et===void 0?[]:et,rt=$.domain.length,at=$.domain,nt=at[0],it=at[rt-1],ot=$.distance;return _e.forEach(function(st,lt){if(tt.indexOf(lt)!==-1&&st&&st.length){var ct=_getScaleDistanceAndAdjustedDomain(st,$),ut=ct.domain0,ft=ct.domainN,At=ct.distance;nt=Math.min(nt,ut),it=Math.max(it,ft),ot=Math.max(ot,At)}}),$.domain=[nt].concat(_toConsumableArray$3(at.slice(1,-1)),[it]),$.distance=ot,$}function _adjustCategoricalScale(o){var $=getScaleFnFromScaleObject(o),_e=o.domain,et=o.range;return _e.length>1?o.distance=Math.abs($(_e[1])-$(_e[0])):o.distance=Math.abs(et[1]-et[0]),o}function getScaleObjectFromProps(o,$){var _e=_collectScaleObjectFromProps(o,$);if(!_e)return null;if(!_isScaleAdjustmentPossible(o,_e))return _e;var et=_e.type;return et===ORDINAL_SCALE_TYPE||et===CATEGORY_SCALE_TYPE?_adjustCategoricalScale(_e):_adjustContinuousScale(o,_e)}function getAttributeScale(o,$){var _e=getScaleObjectFromProps(o,$);return getScaleFnFromScaleObject(_e)}function _getAttrValue(o,$){return $(o.data?o.data:o)}function _isDefined(o){return typeof o<"u"}function _padDomain(o,$){if(!o||isNaN(parseFloat(o[0]))||isNaN(parseFloat(o[1])))return o;var _e=_slicedToArray$2(o,2),et=_e[0],tt=_e[1],rt=(tt-et)*($*.01);return[et-rt,tt+rt]}function getAttributeFunctor(o,$){var _e=getScaleObjectFromProps(o,$);if(_e){var et=getScaleFnFromScaleObject(_e);return function(tt){return et(_getAttrValue(tt,_e.accessor))}}return null}function getAttr0Functor(o,$){var _e=getScaleObjectFromProps(o,$);if(_e){var et=_e.domain,tt=_e.baseValue,rt=tt===void 0?et[0]:tt,at=getScaleFnFromScaleObject(_e);return function(nt){var it=_getAttrValue(nt,_e.accessor0);return at(_isDefined(it)?it:rt)}}return null}function getAttributeValue(o,$){var _e=getScaleObjectFromProps(o,$);return _e?(!_e.isValue&&o["_"+$+"Value"]===void 0&&warning$1("[React-vis] Cannot use data defined "+$+" for this series type. Using fallback value instead."),o["_"+$+"Value"]||_e.range[0]):null}function getScalePropTypesByAttribute(o){var $;return $={},_defineProperty$h($,"_"+o+"Value",propTypesExports.any),_defineProperty$h($,o+"Domain",propTypesExports.array),_defineProperty$h($,"get"+toTitleCase(o),propTypesExports.func),_defineProperty$h($,"get"+toTitleCase(o)+"0",propTypesExports.func),_defineProperty$h($,o+"Range",propTypesExports.array),_defineProperty$h($,o+"Type",propTypesExports.oneOf(Object.keys(SCALE_FUNCTIONS))),_defineProperty$h($,o+"Distance",propTypesExports.number),_defineProperty$h($,o+"BaseValue",propTypesExports.any),$}function extractScalePropsFromProps(o,$){var _e={};return Object.keys(o).forEach(function(et){var tt=$.find(function(rt){var at=et.indexOf(rt)===0,nt=et.indexOf("_"+rt)===0,it=et.indexOf("get"+toTitleCase(rt))===0;return at||nt||it});tt&&(_e[et]=o[et])}),_e}function getMissingScaleProps(o,$,_e){var et={};return _e.forEach(function(tt){o["get"+toTitleCase(tt)]||(et["get"+toTitleCase(tt)]=function(rt){return rt[tt]}),o["get"+toTitleCase(tt)+"0"]||(et["get"+toTitleCase(tt)+"0"]=function(rt){return rt[tt+"0"]}),o[tt+"Domain"]||(et[tt+"Domain"]=getDomainByAccessor($,o["get"+toTitleCase(tt)]||et["get"+toTitleCase(tt)],o["get"+toTitleCase(tt)+"0"]||et["get"+toTitleCase(tt)+"0"],o[tt+"Type"]),o[tt+"Padding"]&&(et[tt+"Domain"]=_padDomain(et[tt+"Domain"],o[tt+"Padding"])))}),et}function literalScale(o){function $(et){return et===void 0?o:et}function _e(){return $}return $.domain=_e,$.range=_e,$.unknown=_e,$.copy=_e,$}function getFontColorFromBackground(o){return o?hsl(o).l>.57?"#222":"#fff":null}function getXYPlotValues(o,$){var _e=XYPLOT_ATTR.reduce(function(et,tt){var rt=o[tt+"Domain"],at=o[tt+"Range"],nt=o[tt+"Type"];return rt&&at&&nt?_extends$17({},et,_defineProperty$h({},tt,SCALE_FUNCTIONS[nt]().domain(rt).range(at))):et},{});return $.map(function(et){return XYPLOT_ATTR.reduce(function(tt,rt){if(et.props&&et.props[rt]!==void 0){var at=et.props[rt],nt=_e[rt],it=nt?nt(at):at;return _extends$17({},tt,_defineProperty$h({},"_"+rt+"Value",it))}return tt},{})})}var OPTIONAL_SCALE_PROPS=["Padding"],OPTIONAL_SCALE_PROPS_REGS=OPTIONAL_SCALE_PROPS.map(function(o){return new RegExp(o+"$","i")});function getOptionalScaleProps(o){return Object.keys(o).reduce(function($,_e){var et=OPTIONAL_SCALE_PROPS_REGS.every(function(tt){return!_e.match(tt)});return et||($[_e]=o[_e]),$},{})}var _createClass$P=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),Object.defineProperty($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),_extends$16=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:[];return o?o.some(function($){return $.radius&&$.angle}):!1}function prepareData(o){return seriesHasAngleRadius(o)?o.map(function($){return _extends$15({},$,{x:$.radius*Math.cos($.angle),y:$.radius*Math.sin($.angle)})}):o}function getStackedData(o,$){var _e=o.some(function(tt){return tt&&tt.props.stack}),et={};return o.reduce(function(tt,rt,at){if(!rt)return tt.push(null),tt;var nt=rt.type.displayName,it=rt.props,ot=it.data,st=it.cluster,lt=st===void 0?"default":st,ct=it.stack,ut=prepareData(ot);if(!$||!ut||!ut.length||_e&&!ct)return tt.push(ut),tt;var ft=$+"0",At=$==="y"?"x":"y";return tt.push(ut.map(function(vt,ht){var bt,pt;et[lt]||(et[lt]={}),et[lt][nt]||(et[lt][nt]={});var dt=et[lt][nt][vt[At]];if(!dt){var _t;return et[lt][nt][vt[At]]=(_t={},_defineProperty$g(_t,ft,vt[ft]),_defineProperty$g(_t,$,vt[$]),_t),_extends$15({},vt)}var Ct=_extends$15({},vt,(bt={},_defineProperty$g(bt,ft,dt[$]),_defineProperty$g(bt,$,dt[$]+vt[$]-(vt[ft]||0)),bt));return et[lt][nt][vt[At]]=(pt={},_defineProperty$g(pt,ft,Ct[ft]),_defineProperty$g(pt,$,Ct[$]),pt),Ct})),tt},[])}function getSeriesPropsFromChildren(o){var $=[],_e=collectSeriesTypesInfo(o),et=0,tt=DEFAULT_OPACITY;return o.forEach(function(rt){var at=void 0;if(isSeriesChild(rt)){var nt=_e[rt.type.displayName],it=DISCRETE_COLOR_RANGE[et%DISCRETE_COLOR_RANGE.length];at=_extends$15({},nt,{seriesIndex:et,_colorValue:it,_opacityValue:tt}),nt.sameTypeIndex++,et++,rt.props.cluster&&(at.cluster=rt.props.cluster,at.clusters=Array.from(nt.clusters),at.sameTypeTotal=at.clusters.length,at.sameTypeIndex=at.clusters.indexOf(rt.props.cluster))}$.push(at)}),$}var ANIMATED_SERIES_PROPS=["xRange","xDomain","x","yRange","yDomain","y","colorRange","colorDomain","color","opacityRange","opacityDomain","opacity","strokeRange","strokeDomain","stroke","fillRange","fillDomain","fill","width","height","marginLeft","marginTop","marginRight","marginBottom","data","angleDomain","angleRange","angle","radiusDomain","radiusRange","radius","innerRadiusDomain","innerRadiusRange","innerRadius"];function getStackParams(o){var $=o._stackBy,_e=o.valuePosAttr,et=o.cluster,tt=o.sameTypeTotal,rt=tt===void 0?1:tt,at=o.sameTypeIndex,nt=at===void 0?0:at;return $===_e&&!et&&(rt=1,nt=0),{sameTypeTotal:rt,sameTypeIndex:nt}}var pi$2=Math.PI,tau$2=2*pi$2,epsilon$1=1e-6,tauEpsilon=tau$2-epsilon$1;function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function path(){return new Path}Path.prototype=path.prototype={constructor:Path,moveTo:function(o,$){this._+="M"+(this._x0=this._x1=+o)+","+(this._y0=this._y1=+$)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(o,$){this._+="L"+(this._x1=+o)+","+(this._y1=+$)},quadraticCurveTo:function(o,$,_e,et){this._+="Q"+ +o+","+ +$+","+(this._x1=+_e)+","+(this._y1=+et)},bezierCurveTo:function(o,$,_e,et,tt,rt){this._+="C"+ +o+","+ +$+","+ +_e+","+ +et+","+(this._x1=+tt)+","+(this._y1=+rt)},arcTo:function(o,$,_e,et,tt){o=+o,$=+$,_e=+_e,et=+et,tt=+tt;var rt=this._x1,at=this._y1,nt=_e-o,it=et-$,ot=rt-o,st=at-$,lt=ot*ot+st*st;if(tt<0)throw new Error("negative radius: "+tt);if(this._x1===null)this._+="M"+(this._x1=o)+","+(this._y1=$);else if(lt>epsilon$1)if(!(Math.abs(st*nt-it*ot)>epsilon$1)||!tt)this._+="L"+(this._x1=o)+","+(this._y1=$);else{var ct=_e-rt,ut=et-at,ft=nt*nt+it*it,At=ct*ct+ut*ut,vt=Math.sqrt(ft),ht=Math.sqrt(lt),bt=tt*Math.tan((pi$2-Math.acos((ft+lt-At)/(2*vt*ht)))/2),pt=bt/ht,dt=bt/vt;Math.abs(pt-1)>epsilon$1&&(this._+="L"+(o+pt*ot)+","+($+pt*st)),this._+="A"+tt+","+tt+",0,0,"+ +(st*ct>ot*ut)+","+(this._x1=o+dt*nt)+","+(this._y1=$+dt*it)}},arc:function(o,$,_e,et,tt,rt){o=+o,$=+$,_e=+_e;var at=_e*Math.cos(et),nt=_e*Math.sin(et),it=o+at,ot=$+nt,st=1^rt,lt=rt?et-tt:tt-et;if(_e<0)throw new Error("negative radius: "+_e);this._x1===null?this._+="M"+it+","+ot:(Math.abs(this._x1-it)>epsilon$1||Math.abs(this._y1-ot)>epsilon$1)&&(this._+="L"+it+","+ot),_e&&(lt<0&&(lt=lt%tau$2+tau$2),lt>tauEpsilon?this._+="A"+_e+","+_e+",0,1,"+st+","+(o-at)+","+($-nt)+"A"+_e+","+_e+",0,1,"+st+","+(this._x1=it)+","+(this._y1=ot):lt>epsilon$1&&(this._+="A"+_e+","+_e+",0,"+ +(lt>=pi$2)+","+st+","+(this._x1=o+_e*Math.cos(tt))+","+(this._y1=$+_e*Math.sin(tt))))},rect:function(o,$,_e,et){this._+="M"+(this._x0=this._x1=+o)+","+(this._y0=this._y1=+$)+"h"+ +_e+"v"+ +et+"h"+-_e+"Z"},toString:function(){return this._}};function constant$2(o){return function(){return o}}var abs$2=Math.abs,atan2=Math.atan2,cos=Math.cos,max$1=Math.max,min=Math.min,sin=Math.sin,sqrt$1=Math.sqrt,epsilon=1e-12,pi$1=Math.PI,halfPi=pi$1/2,tau$1=2*pi$1;function acos(o){return o>1?0:o<-1?pi$1:Math.acos(o)}function asin(o){return o>=1?halfPi:o<=-1?-halfPi:Math.asin(o)}function arcInnerRadius(o){return o.innerRadius}function arcOuterRadius(o){return o.outerRadius}function arcStartAngle(o){return o.startAngle}function arcEndAngle(o){return o.endAngle}function arcPadAngle(o){return o&&o.padAngle}function intersect(o,$,_e,et,tt,rt,at,nt){var it=_e-o,ot=et-$,st=at-tt,lt=nt-rt,ct=lt*it-st*ot;if(!(ct*ctOt*Ot+Mt*Mt&&(yt=Et,xt=It),{cx:yt,cy:xt,x01:-st,y01:-lt,x11:yt*(tt/_t-1),y11:xt*(tt/_t-1)}}function arcBuilder(){var o=arcInnerRadius,$=arcOuterRadius,_e=constant$2(0),et=null,tt=arcStartAngle,rt=arcEndAngle,at=arcPadAngle,nt=null;function it(){var ot,st,lt=+o.apply(this,arguments),ct=+$.apply(this,arguments),ut=tt.apply(this,arguments)-halfPi,ft=rt.apply(this,arguments)-halfPi,At=abs$2(ft-ut),vt=ft>ut;if(nt||(nt=ot=path()),ctepsilon))nt.moveTo(0,0);else if(At>tau$1-epsilon)nt.moveTo(ct*cos(ut),ct*sin(ut)),nt.arc(0,0,ct,ut,ft,!vt),lt>epsilon&&(nt.moveTo(lt*cos(ft),lt*sin(ft)),nt.arc(0,0,lt,ft,ut,vt));else{var ht=ut,bt=ft,pt=ut,dt=ft,_t=At,Ct=At,gt=at.apply(this,arguments)/2,yt=gt>epsilon&&(et?+et.apply(this,arguments):sqrt$1(lt*lt+ct*ct)),xt=min(abs$2(ct-lt)/2,+_e.apply(this,arguments)),Et=xt,It=xt,Tt,Rt;if(yt>epsilon){var Ot=asin(yt/lt*sin(gt)),Mt=asin(yt/ct*sin(gt));(_t-=Ot*2)>epsilon?(Ot*=vt?1:-1,pt+=Ot,dt-=Ot):(_t=0,pt=dt=(ut+ft)/2),(Ct-=Mt*2)>epsilon?(Mt*=vt?1:-1,ht+=Mt,bt-=Mt):(Ct=0,ht=bt=(ut+ft)/2)}var Bt=ct*cos(ht),Lt=ct*sin(ht),Vt=lt*cos(dt),zt=lt*sin(dt);if(xt>epsilon){var Nt=ct*cos(bt),Wt=ct*sin(bt),Jt=lt*cos(pt),nr=lt*sin(pt),er;if(Atepsilon?It>epsilon?(Tt=cornerTangents(Jt,nr,Bt,Lt,ct,It,vt),Rt=cornerTangents(Nt,Wt,Vt,zt,ct,It,vt),nt.moveTo(Tt.cx+Tt.x01,Tt.cy+Tt.y01),Itepsilon)||!(_t>epsilon)?nt.lineTo(Vt,zt):Et>epsilon?(Tt=cornerTangents(Vt,zt,Nt,Wt,lt,-Et,vt),Rt=cornerTangents(Bt,Lt,Jt,nr,lt,-Et,vt),nt.lineTo(Tt.cx+Tt.x01,Tt.cy+Tt.y01),Et=ct;--ut)nt.point(bt[ut],pt[ut]);nt.lineEnd(),nt.areaEnd()}vt&&(bt[lt]=+o(At,lt,st),pt[lt]=+_e(At,lt,st),nt.point($?+$(At,lt,st):bt[lt],et?+et(At,lt,st):pt[lt]))}if(ht)return nt=null,ht+""||null}function ot(){return line().defined(tt).curve(at).context(rt)}return it.x=function(st){return arguments.length?(o=typeof st=="function"?st:constant$2(+st),$=null,it):o},it.x0=function(st){return arguments.length?(o=typeof st=="function"?st:constant$2(+st),it):o},it.x1=function(st){return arguments.length?($=st==null?null:typeof st=="function"?st:constant$2(+st),it):$},it.y=function(st){return arguments.length?(_e=typeof st=="function"?st:constant$2(+st),et=null,it):_e},it.y0=function(st){return arguments.length?(_e=typeof st=="function"?st:constant$2(+st),it):_e},it.y1=function(st){return arguments.length?(et=st==null?null:typeof st=="function"?st:constant$2(+st),it):et},it.lineX0=it.lineY0=function(){return ot().x(o).y(_e)},it.lineY1=function(){return ot().x(o).y(et)},it.lineX1=function(){return ot().x($).y(_e)},it.defined=function(st){return arguments.length?(tt=typeof st=="function"?st:constant$2(!!st),it):tt},it.curve=function(st){return arguments.length?(at=st,rt!=null&&(nt=at(rt)),it):at},it.context=function(st){return arguments.length?(st==null?rt=nt=null:nt=at(rt=st),it):rt},it}function descending$1(o,$){return $o?1:$>=o?0:NaN}function identity$2(o){return o}function pieBuilder(){var o=identity$2,$=descending$1,_e=null,et=constant$2(0),tt=constant$2(tau$1),rt=constant$2(0);function at(nt){var it,ot=nt.length,st,lt,ct=0,ut=new Array(ot),ft=new Array(ot),At=+et.apply(this,arguments),vt=Math.min(tau$1,Math.max(-tau$1,tt.apply(this,arguments)-At)),ht,bt=Math.min(Math.abs(vt)/ot,rt.apply(this,arguments)),pt=bt*(vt<0?-1:1),dt;for(it=0;it0&&(ct+=dt);for($!=null?ut.sort(function(_t,Ct){return $(ft[_t],ft[Ct])}):_e!=null&&ut.sort(function(_t,Ct){return _e(nt[_t],nt[Ct])}),it=0,lt=ct?(vt-ot*pt)/ct:0;it0?dt*lt:0)+pt,ft[st]={data:nt[st],index:it,value:dt,startAngle:At,endAngle:ht,padAngle:bt};return ft}return at.value=function(nt){return arguments.length?(o=typeof nt=="function"?nt:constant$2(+nt),at):o},at.sortValues=function(nt){return arguments.length?($=nt,_e=null,at):$},at.sort=function(nt){return arguments.length?(_e=nt,$=null,at):_e},at.startAngle=function(nt){return arguments.length?(et=typeof nt=="function"?nt:constant$2(+nt),at):et},at.endAngle=function(nt){return arguments.length?(tt=typeof nt=="function"?nt:constant$2(+nt),at):tt},at.padAngle=function(nt){return arguments.length?(rt=typeof nt=="function"?nt:constant$2(+nt),at):rt},at}var curveRadialLinear=curveRadial$1(curveLinear);function Radial(o){this._curve=o}Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(o,$){this._curve.point($*Math.sin(o),$*-Math.cos(o))}};function curveRadial$1(o){function $(_e){return new Radial(o(_e))}return $._curve=o,$}function lineRadial(o){var $=o.curve;return o.angle=o.x,delete o.x,o.radius=o.y,delete o.y,o.curve=function(_e){return arguments.length?$(curveRadial$1(_e)):$()._curve},o}function lineRadial$1(){return lineRadial(line().curve(curveRadialLinear))}function areaRadial(){var o=area$1().curve(curveRadialLinear),$=o.curve,_e=o.lineX0,et=o.lineX1,tt=o.lineY0,rt=o.lineY1;return o.angle=o.x,delete o.x,o.startAngle=o.x0,delete o.x0,o.endAngle=o.x1,delete o.x1,o.radius=o.y,delete o.y,o.innerRadius=o.y0,delete o.y0,o.outerRadius=o.y1,delete o.y1,o.lineStartAngle=function(){return lineRadial(_e())},delete o.lineX0,o.lineEndAngle=function(){return lineRadial(et())},delete o.lineX1,o.lineInnerRadius=function(){return lineRadial(tt())},delete o.lineY0,o.lineOuterRadius=function(){return lineRadial(rt())},delete o.lineY1,o.curve=function(at){return arguments.length?$(curveRadial$1(at)):$()._curve},o}function pointRadial(o,$){return[($=+$)*Math.cos(o-=Math.PI/2),$*Math.sin(o)]}var slice$2=Array.prototype.slice;function linkSource(o){return o.source}function linkTarget(o){return o.target}function link(o){var $=linkSource,_e=linkTarget,et=x,tt=y,rt=null;function at(){var nt,it=slice$2.call(arguments),ot=$.apply(this,it),st=_e.apply(this,it);if(rt||(rt=nt=path()),o(rt,+et.apply(this,(it[0]=ot,it)),+tt.apply(this,it),+et.apply(this,(it[0]=st,it)),+tt.apply(this,it)),nt)return rt=null,nt+""||null}return at.source=function(nt){return arguments.length?($=nt,at):$},at.target=function(nt){return arguments.length?(_e=nt,at):_e},at.x=function(nt){return arguments.length?(et=typeof nt=="function"?nt:constant$2(+nt),at):et},at.y=function(nt){return arguments.length?(tt=typeof nt=="function"?nt:constant$2(+nt),at):tt},at.context=function(nt){return arguments.length?(rt=nt==null?null:nt,at):rt},at}function curveHorizontal(o,$,_e,et,tt){o.moveTo($,_e),o.bezierCurveTo($=($+et)/2,_e,$,tt,et,tt)}function curveVertical(o,$,_e,et,tt){o.moveTo($,_e),o.bezierCurveTo($,_e=(_e+tt)/2,et,_e,et,tt)}function curveRadial(o,$,_e,et,tt){var rt=pointRadial($,_e),at=pointRadial($,_e=(_e+tt)/2),nt=pointRadial(et,_e),it=pointRadial(et,tt);o.moveTo(rt[0],rt[1]),o.bezierCurveTo(at[0],at[1],nt[0],nt[1],it[0],it[1])}function linkHorizontal(){return link(curveHorizontal)}function linkVertical(){return link(curveVertical)}function linkRadial(){var o=link(curveRadial);return o.angle=o.x,delete o.x,o.radius=o.y,delete o.y,o}const circle$1={draw:function(o,$){var _e=Math.sqrt($/pi$1);o.moveTo(_e,0),o.arc(0,0,_e,0,tau$1)}},cross={draw:function(o,$){var _e=Math.sqrt($/5)/2;o.moveTo(-3*_e,-_e),o.lineTo(-_e,-_e),o.lineTo(-_e,-3*_e),o.lineTo(_e,-3*_e),o.lineTo(_e,-_e),o.lineTo(3*_e,-_e),o.lineTo(3*_e,_e),o.lineTo(_e,_e),o.lineTo(_e,3*_e),o.lineTo(-_e,3*_e),o.lineTo(-_e,_e),o.lineTo(-3*_e,_e),o.closePath()}};var tan30=Math.sqrt(1/3),tan30_2=tan30*2;const diamond={draw:function(o,$){var _e=Math.sqrt($/tan30_2),et=_e*tan30;o.moveTo(0,-_e),o.lineTo(et,0),o.lineTo(0,_e),o.lineTo(-et,0),o.closePath()}};var ka=.8908130915292852,kr=Math.sin(pi$1/10)/Math.sin(7*pi$1/10),kx=Math.sin(tau$1/10)*kr,ky=-Math.cos(tau$1/10)*kr;const star={draw:function(o,$){var _e=Math.sqrt($*ka),et=kx*_e,tt=ky*_e;o.moveTo(0,-_e),o.lineTo(et,tt);for(var rt=1;rt<5;++rt){var at=tau$1*rt/5,nt=Math.cos(at),it=Math.sin(at);o.lineTo(it*_e,-nt*_e),o.lineTo(nt*et-it*tt,it*et+nt*tt)}o.closePath()}},square={draw:function(o,$){var _e=Math.sqrt($),et=-_e/2;o.rect(et,et,_e,_e)}};var sqrt3=Math.sqrt(3);const triangle={draw:function(o,$){var _e=-Math.sqrt($/(sqrt3*3));o.moveTo(0,_e*2),o.lineTo(-sqrt3*_e,-_e),o.lineTo(sqrt3*_e,-_e),o.closePath()}};var c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=(k/2+1)*3;const wye={draw:function(o,$){var _e=Math.sqrt($/a),et=_e/2,tt=_e*k,rt=et,at=_e*k+_e,nt=-rt,it=at;o.moveTo(et,tt),o.lineTo(rt,at),o.lineTo(nt,it),o.lineTo(c*et-s*tt,s*et+c*tt),o.lineTo(c*rt-s*at,s*rt+c*at),o.lineTo(c*nt-s*it,s*nt+c*it),o.lineTo(c*et+s*tt,c*tt-s*et),o.lineTo(c*rt+s*at,c*at-s*rt),o.lineTo(c*nt+s*it,c*it-s*nt),o.closePath()}};var symbols=[circle$1,cross,diamond,square,star,triangle,wye];function symbol(){var o=constant$2(circle$1),$=constant$2(64),_e=null;function et(){var tt;if(_e||(_e=tt=path()),o.apply(this,arguments).draw(_e,+$.apply(this,arguments)),tt)return _e=null,tt+""||null}return et.type=function(tt){return arguments.length?(o=typeof tt=="function"?tt:constant$2(tt),et):o},et.size=function(tt){return arguments.length?($=typeof tt=="function"?tt:constant$2(+tt),et):$},et.context=function(tt){return arguments.length?(_e=tt==null?null:tt,et):_e},et}function noop$3(){}function point$3(o,$,_e){o._context.bezierCurveTo((2*o._x0+o._x1)/3,(2*o._y0+o._y1)/3,(o._x0+2*o._x1)/3,(o._y0+2*o._y1)/3,(o._x0+4*o._x1+$)/6,(o._y0+4*o._y1+_e)/6)}function Basis(o){this._context=o}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point$3(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point$3(this,o,$);break}this._x0=this._x1,this._x1=o,this._y0=this._y1,this._y1=$}};function basis(o){return new Basis(o)}function BasisClosed(o){this._context=o}BasisClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._x2=o,this._y2=$;break;case 1:this._point=2,this._x3=o,this._y3=$;break;case 2:this._point=3,this._x4=o,this._y4=$,this._context.moveTo((this._x0+4*this._x1+o)/6,(this._y0+4*this._y1+$)/6);break;default:point$3(this,o,$);break}this._x0=this._x1,this._x1=o,this._y0=this._y1,this._y1=$}};function basisClosed(o){return new BasisClosed(o)}function BasisOpen(o){this._context=o}BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var _e=(this._x0+4*this._x1+o)/6,et=(this._y0+4*this._y1+$)/6;this._line?this._context.lineTo(_e,et):this._context.moveTo(_e,et);break;case 3:this._point=4;default:point$3(this,o,$);break}this._x0=this._x1,this._x1=o,this._y0=this._y1,this._y1=$}};function basisOpen(o){return new BasisOpen(o)}function Bundle(o,$){this._basis=new Basis(o),this._beta=$}Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var o=this._x,$=this._y,_e=o.length-1;if(_e>0)for(var et=o[0],tt=$[0],rt=o[_e]-et,at=$[_e]-tt,nt=-1,it;++nt<=_e;)it=nt/_e,this._basis.point(this._beta*o[nt]+(1-this._beta)*(et+it*rt),this._beta*$[nt]+(1-this._beta)*(tt+it*at));this._x=this._y=null,this._basis.lineEnd()},point:function(o,$){this._x.push(+o),this._y.push(+$)}};const bundle=function o($){function _e(et){return $===1?new Basis(et):new Bundle(et,$)}return _e.beta=function(et){return o(+et)},_e}(.85);function point$2(o,$,_e){o._context.bezierCurveTo(o._x1+o._k*(o._x2-o._x0),o._y1+o._k*(o._y2-o._y0),o._x2+o._k*(o._x1-$),o._y2+o._k*(o._y1-_e),o._x2,o._y2)}function Cardinal(o,$){this._context=o,this._k=(1-$)/6}Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$2(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2,this._x1=o,this._y1=$;break;case 2:this._point=3;default:point$2(this,o,$);break}this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const cardinal=function o($){function _e(et){return new Cardinal(et,$)}return _e.tension=function(et){return o(+et)},_e}(0);function CardinalClosed(o,$){this._context=o,this._k=(1-$)/6}CardinalClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._x3=o,this._y3=$;break;case 1:this._point=2,this._context.moveTo(this._x4=o,this._y4=$);break;case 2:this._point=3,this._x5=o,this._y5=$;break;default:point$2(this,o,$);break}this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const cardinalClosed=function o($){function _e(et){return new CardinalClosed(et,$)}return _e.tension=function(et){return o(+et)},_e}(0);function CardinalOpen(o,$){this._context=o,this._k=(1-$)/6}CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,o,$);break}this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const cardinalOpen=function o($){function _e(et){return new CardinalOpen(et,$)}return _e.tension=function(et){return o(+et)},_e}(0);function point$1(o,$,_e){var et=o._x1,tt=o._y1,rt=o._x2,at=o._y2;if(o._l01_a>epsilon){var nt=2*o._l01_2a+3*o._l01_a*o._l12_a+o._l12_2a,it=3*o._l01_a*(o._l01_a+o._l12_a);et=(et*nt-o._x0*o._l12_2a+o._x2*o._l01_2a)/it,tt=(tt*nt-o._y0*o._l12_2a+o._y2*o._l01_2a)/it}if(o._l23_a>epsilon){var ot=2*o._l23_2a+3*o._l23_a*o._l12_a+o._l12_2a,st=3*o._l23_a*(o._l23_a+o._l12_a);rt=(rt*ot+o._x1*o._l23_2a-$*o._l12_2a)/st,at=(at*ot+o._y1*o._l23_2a-_e*o._l12_2a)/st}o._context.bezierCurveTo(et,tt,rt,at,o._x2,o._y2)}function CatmullRom(o,$){this._context=o,this._alpha=$}CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){if(o=+o,$=+$,this._point){var _e=this._x2-o,et=this._y2-$;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(_e*_e+et*et,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;break;case 2:this._point=3;default:point$1(this,o,$);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const catmullRom=function o($){function _e(et){return $?new CatmullRom(et,$):new Cardinal(et,0)}return _e.alpha=function(et){return o(+et)},_e}(.5);function CatmullRomClosed(o,$){this._context=o,this._alpha=$}CatmullRomClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(o,$){if(o=+o,$=+$,this._point){var _e=this._x2-o,et=this._y2-$;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(_e*_e+et*et,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=o,this._y3=$;break;case 1:this._point=2,this._context.moveTo(this._x4=o,this._y4=$);break;case 2:this._point=3,this._x5=o,this._y5=$;break;default:point$1(this,o,$);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const catmullRomClosed=function o($){function _e(et){return $?new CatmullRomClosed(et,$):new CardinalClosed(et,0)}return _e.alpha=function(et){return o(+et)},_e}(.5);function CatmullRomOpen(o,$){this._context=o,this._alpha=$}CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){if(o=+o,$=+$,this._point){var _e=this._x2-o,et=this._y2-$;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(_e*_e+et*et,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,o,$);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const catmullRomOpen=function o($){function _e(et){return $?new CatmullRomOpen(et,$):new CardinalOpen(et,0)}return _e.alpha=function(et){return o(+et)},_e}(.5);function LinearClosed(o){this._context=o}LinearClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(o,$){o=+o,$=+$,this._point?this._context.lineTo(o,$):(this._point=1,this._context.moveTo(o,$))}};function linearClosed(o){return new LinearClosed(o)}function sign(o){return o<0?-1:1}function slope3(o,$,_e){var et=o._x1-o._x0,tt=$-o._x1,rt=(o._y1-o._y0)/(et||tt<0&&-0),at=(_e-o._y1)/(tt||et<0&&-0),nt=(rt*tt+at*et)/(et+tt);return(sign(rt)+sign(at))*Math.min(Math.abs(rt),Math.abs(at),.5*Math.abs(nt))||0}function slope2(o,$){var _e=o._x1-o._x0;return _e?(3*(o._y1-o._y0)/_e-$)/2:$}function point(o,$,_e){var et=o._x0,tt=o._y0,rt=o._x1,at=o._y1,nt=(rt-et)/3;o._context.bezierCurveTo(et+nt,tt+nt*$,rt-nt,at-nt*_e,rt,at)}function MonotoneX(o){this._context=o}MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point(this,this._t0,slope2(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){var _e=NaN;if(o=+o,$=+$,!(o===this._x1&&$===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;break;case 2:this._point=3,point(this,slope2(this,_e=slope3(this,o,$)),_e);break;default:point(this,this._t0,_e=slope3(this,o,$));break}this._x0=this._x1,this._x1=o,this._y0=this._y1,this._y1=$,this._t0=_e}}};function MonotoneY(o){this._context=new ReflectContext(o)}(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(o,$){MonotoneX.prototype.point.call(this,$,o)};function ReflectContext(o){this._context=o}ReflectContext.prototype={moveTo:function(o,$){this._context.moveTo($,o)},closePath:function(){this._context.closePath()},lineTo:function(o,$){this._context.lineTo($,o)},bezierCurveTo:function(o,$,_e,et,tt,rt){this._context.bezierCurveTo($,o,et,_e,rt,tt)}};function monotoneX(o){return new MonotoneX(o)}function monotoneY(o){return new MonotoneY(o)}function Natural(o){this._context=o}Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var o=this._x,$=this._y,_e=o.length;if(_e)if(this._line?this._context.lineTo(o[0],$[0]):this._context.moveTo(o[0],$[0]),_e===2)this._context.lineTo(o[1],$[1]);else for(var et=controlPoints(o),tt=controlPoints($),rt=0,at=1;at<_e;++rt,++at)this._context.bezierCurveTo(et[0][rt],tt[0][rt],et[1][rt],tt[1][rt],o[at],$[at]);(this._line||this._line!==0&&_e===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(o,$){this._x.push(+o),this._y.push(+$)}};function controlPoints(o){var $,_e=o.length-1,et,tt=new Array(_e),rt=new Array(_e),at=new Array(_e);for(tt[0]=0,rt[0]=2,at[0]=o[0]+2*o[1],$=1;$<_e-1;++$)tt[$]=1,rt[$]=4,at[$]=4*o[$]+2*o[$+1];for(tt[_e-1]=2,rt[_e-1]=7,at[_e-1]=8*o[_e-1]+o[_e],$=1;$<_e;++$)et=tt[$]/rt[$-1],rt[$]-=et,at[$]-=et*at[$-1];for(tt[_e-1]=at[_e-1]/rt[_e-1],$=_e-2;$>=0;--$)tt[$]=(at[$]-tt[$+1])/rt[$];for(rt[_e-1]=(o[_e]+tt[_e-1])/2,$=0;$<_e-1;++$)rt[$]=2*o[$+1]-tt[$+1];return[tt,rt]}function natural(o){return new Natural(o)}function Step(o,$){this._context=o,this._t=$}Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,$),this._context.lineTo(o,$);else{var _e=this._x*(1-this._t)+o*this._t;this._context.lineTo(_e,this._y),this._context.lineTo(_e,$)}break}}this._x=o,this._y=$}};function step(o){return new Step(o,.5)}function stepBefore(o){return new Step(o,0)}function stepAfter(o){return new Step(o,1)}function none$1(o,$){if((at=o.length)>1)for(var _e=1,et,tt,rt=o[$[0]],at,nt=rt.length;_e=0;)_e[$]=$;return _e}function stackValue(o,$){return o[$]}function stack(){var o=constant$2([]),$=none,_e=none$1,et=stackValue;function tt(rt){var at=o.apply(this,arguments),nt,it=rt.length,ot=at.length,st=new Array(ot),lt;for(nt=0;nt0){for(var _e,et,tt=0,rt=o[0].length,at;tt1)for(var _e,et=0,tt,rt,at,nt,it,ot=o[$[0]].length;et=0?(tt[0]=at,tt[1]=at+=rt):rt<0?(tt[1]=nt,tt[0]=nt+=rt):tt[0]=at}function silhouette(o,$){if((tt=o.length)>0){for(var _e=0,et=o[$[0]],tt,rt=et.length;_e0)||!((rt=(tt=o[$[0]]).length)>0))){for(var _e=0,et=1,tt,rt,at;etrt&&(rt=tt,_e=$);return _e}function ascending$1(o){var $=o.map(sum);return none(o).sort(function(_e,et){return $[_e]-$[et]})}function sum(o){for(var $=0,_e=-1,et=o.length,tt;++_e300?10:5:20}function getTickValues(o,$,_e){return _e||(o.ticks?o.ticks($):o.domain())}function generateFit(o,$){if(o.x===$.x)return{left:o.y,right:$.y,slope:0,offset:o.x};var _e=(o.y-$.y)/(o.x-$.x);return{left:o.x,right:$.x,slope:_e,offset:o.y-_e*o.x}}function generatePoints(o){var $=o.axisStart,_e=o.axisEnd,et=o.numberOfTicks,tt=o.axisDomain,rt=generateFit($,_e),at=rt.left,nt=rt.right,it=rt.slope,ot=rt.offset,st=(nt-at)/et,lt=linear().domain([at,nt]).range(tt),ct=$.x===_e.x;return{slope:ct?1/0:it,points:range(at,nt+st,st).map(function(ut){return ct?{y:ut,x:it*ut+ot,text:lt(ut)}:{x:ut,y:it*ut+ot,text:lt(ut)}}).slice(0,et+1)}}function getAxisAngle(o,$){return o.x===$.x?$.y>o.y?Math.PI/2:3*Math.PI/2:Math.atan(($.y-o.y)/($.x-o.x))}var _extends$12=Object.assign||function(o){for(var $=1;$ct[1])?ht:ht.concat([React$k.createElement("circle",_extends$12({cx:0,cy:0,r:dt},{key:pt,className:"rv-xy-plot__circular-grid-lines__line",style:ut}))])},[]))}}]),$}(reactExports.PureComponent);CircularGridLines.displayName="CircularGridLines";CircularGridLines.propTypes={centerX:propTypesExports.number,centerY:propTypesExports.number,width:propTypesExports.number,height:propTypesExports.number,top:propTypesExports.number,left:propTypesExports.number,rRange:propTypesExports.arrayOf(propTypesExports.number),style:propTypesExports.object,tickValues:propTypesExports.arrayOf(propTypesExports.number),tickTotal:propTypesExports.number,animation:AnimationPropType,marginTop:propTypesExports.number,marginBottom:propTypesExports.number,marginLeft:propTypesExports.number,marginRight:propTypesExports.number,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number};CircularGridLines.defaultProps={centerX:0,centerY:0};CircularGridLines.requiresSVG=!0;var array=Array.prototype,slice$1=array.slice;function ascending(o,$){return o-$}function area(o){for(var $=0,_e=o.length,et=o[_e-1][1]*o[0][0]-o[_e-1][0]*o[0][1];++$<_e;)et+=o[$-1][1]*o[$][0]-o[$-1][0]*o[$][1];return et}function constant$1(o){return function(){return o}}function contains(o,$){for(var _e=-1,et=$.length,tt;++_eet!=ut>et&&_e<(ct-ot)*(et-st)/(ut-st)+ot&&(tt=-tt)}return tt}function segmentContains(o,$,_e){var et;return collinear(o,$,_e)&&within(o[et=+(o[0]===$[0])],_e[et],$[et])}function collinear(o,$,_e){return($[0]-o[0])*(_e[1]-o[1])===(_e[0]-o[0])*($[1]-o[1])}function within(o,$,_e){return o<=$&&$<=_e||_e<=$&&$<=o}function noop$2(){}var cases=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function contours(){var o=1,$=1,_e=thresholdSturges,et=it;function tt(ot){var st=_e(ot);if(Array.isArray(st))st=st.slice().sort(ascending);else{var lt=extent(ot),ct=lt[0],ut=lt[1];st=tickStep(ct,ut,st),st=range(Math.floor(ct/st)*st,Math.floor(ut/st)*st,st)}return st.map(function(ft){return rt(ot,ft)})}function rt(ot,st){var lt=[],ct=[];return at(ot,st,function(ut){et(ut,ot,st),area(ut)>0?lt.push([ut]):ct.push(ut)}),ct.forEach(function(ut){for(var ft=0,At=lt.length,vt;ft=st,cases[ht<<1].forEach(dt);++ft=st,cases[vt|ht<<1].forEach(dt);for(cases[ht<<0].forEach(dt);++At<$-1;){for(ft=-1,ht=ot[At*o+o]>=st,bt=ot[At*o]>=st,cases[ht<<1|bt<<2].forEach(dt);++ft=st,pt=bt,bt=ot[At*o+ft+1]>=st,cases[vt|ht<<1|bt<<2|pt<<3].forEach(dt);cases[ht|bt<<3].forEach(dt)}for(ft=-1,bt=ot[At*o]>=st,cases[bt<<2].forEach(dt);++ft=st,cases[bt<<2|pt<<3].forEach(dt);cases[bt<<3].forEach(dt);function dt(_t){var Ct=[_t[0][0]+ft,_t[0][1]+At],gt=[_t[1][0]+ft,_t[1][1]+At],yt=nt(Ct),xt=nt(gt),Et,It;(Et=ut[yt])?(It=ct[xt])?(delete ut[Et.end],delete ct[It.start],Et===It?(Et.ring.push(gt),lt(Et.ring)):ct[Et.start]=ut[It.end]={start:Et.start,end:It.end,ring:Et.ring.concat(It.ring)}):(delete ut[Et.end],Et.ring.push(gt),ut[Et.end=xt]=Et):(Et=ct[xt])?(It=ut[yt])?(delete ct[Et.start],delete ut[It.end],Et===It?(Et.ring.push(gt),lt(Et.ring)):ct[It.start]=ut[Et.end]={start:It.start,end:Et.end,ring:It.ring.concat(Et.ring)}):(delete ct[Et.start],Et.ring.unshift(Ct),ct[Et.start=yt]=Et):ct[yt]=ut[xt]={start:yt,end:xt,ring:[Ct,gt]}}}function nt(ot){return ot[0]*2+ot[1]*(o+1)*4}function it(ot,st,lt){ot.forEach(function(ct){var ut=ct[0],ft=ct[1],At=ut|0,vt=ft|0,ht,bt=st[vt*o+At];ut>0&&ut0&&ft<$&&vt===ft&&(ht=st[(vt-1)*o+At],ct[1]=ft+(lt-ht)/(bt-ht)-.5)})}return tt.contour=rt,tt.size=function(ot){if(!arguments.length)return[o,$];var st=Math.ceil(ot[0]),lt=Math.ceil(ot[1]);if(!(st>0)||!(lt>0))throw new Error("invalid size");return o=st,$=lt,tt},tt.thresholds=function(ot){return arguments.length?(_e=typeof ot=="function"?ot:Array.isArray(ot)?constant$1(slice$1.call(ot)):constant$1(ot),tt):_e},tt.smooth=function(ot){return arguments.length?(et=ot?it:noop$2,tt):et===it},tt}function blurX(o,$,_e){for(var et=o.width,tt=o.height,rt=(_e<<1)+1,at=0;at=_e&&(nt>=rt&&(it-=o.data[nt-rt+at*et]),$.data[nt-_e+at*et]=it/Math.min(nt+1,et-1+rt-nt,rt))}function blurY(o,$,_e){for(var et=o.width,tt=o.height,rt=(_e<<1)+1,at=0;at=_e&&(nt>=rt&&(it-=o.data[at+(nt-rt)*et]),$.data[at+(nt-_e)*et]=it/Math.min(nt+1,tt-1+rt-nt,rt))}function defaultX(o){return o[0]}function defaultY(o){return o[1]}function defaultWeight(){return 1}function contourDensity(){var o=defaultX,$=defaultY,_e=defaultWeight,et=960,tt=500,rt=20,at=2,nt=rt*3,it=et+nt*2>>at,ot=tt+nt*2>>at,st=constant$1(20);function lt(ht){var bt=new Float32Array(it*ot),pt=new Float32Array(it*ot);ht.forEach(function(Ct,gt,yt){var xt=+o(Ct,gt,yt)+nt>>at,Et=+$(Ct,gt,yt)+nt>>at,It=+_e(Ct,gt,yt);xt>=0&&xt=0&&Et>at),blurY({width:it,height:ot,data:pt},{width:it,height:ot,data:bt},rt>>at),blurX({width:it,height:ot,data:bt},{width:it,height:ot,data:pt},rt>>at),blurY({width:it,height:ot,data:pt},{width:it,height:ot,data:bt},rt>>at),blurX({width:it,height:ot,data:bt},{width:it,height:ot,data:pt},rt>>at),blurY({width:it,height:ot,data:pt},{width:it,height:ot,data:bt},rt>>at);var dt=st(bt);if(!Array.isArray(dt)){var _t=max$2(bt);dt=tickStep(0,_t,dt),dt=range(0,Math.floor(_t/dt)*dt,dt),dt.shift()}return contours().thresholds(dt).size([it,ot])(bt).map(ct)}function ct(ht){return ht.value*=Math.pow(2,-2*at),ht.coordinates.forEach(ut),ht}function ut(ht){ht.forEach(ft)}function ft(ht){ht.forEach(At)}function At(ht){ht[0]=ht[0]*Math.pow(2,at)-nt,ht[1]=ht[1]*Math.pow(2,at)-nt}function vt(){return nt=rt*3,it=et+nt*2>>at,ot=tt+nt*2>>at,lt}return lt.x=function(ht){return arguments.length?(o=typeof ht=="function"?ht:constant$1(+ht),lt):o},lt.y=function(ht){return arguments.length?($=typeof ht=="function"?ht:constant$1(+ht),lt):$},lt.weight=function(ht){return arguments.length?(_e=typeof ht=="function"?ht:constant$1(+ht),lt):_e},lt.size=function(ht){if(!arguments.length)return[et,tt];var bt=Math.ceil(ht[0]),pt=Math.ceil(ht[1]);if(!(bt>=0)&&!(bt>=0))throw new Error("invalid size");return et=bt,tt=pt,vt()},lt.cellSize=function(ht){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return at=Math.floor(Math.log(ht)/Math.LN2),vt()},lt.thresholds=function(ht){return arguments.length?(st=typeof ht=="function"?ht:Array.isArray(ht)?constant$1(slice$1.call(ht)):constant$1(ht),lt):st},lt.bandwidth=function(ht){if(!arguments.length)return Math.sqrt(rt*(rt+1));if(!((ht=+ht)>=0))throw new Error("invalid bandwidth");return rt=Math.round((Math.sqrt(4*ht*ht+1)-1)/2),vt()},lt}function adder(){return new Adder}function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){this.s=this.t=0},add:function(o){add(temp,o,this.t),add(this,temp.s,this.s),this.s?this.t+=temp.t:this.s=temp.t},valueOf:function(){return this.s}};var temp=new Adder;function add(o,$,_e){var et=o.s=$+_e,tt=et-$,rt=et-tt;o.t=$-rt+(_e-tt)}var pi=Math.PI,tau=pi*2,abs$1=Math.abs,sqrt=Math.sqrt;function noop$1(){}function streamGeometry(o,$){o&&streamGeometryType.hasOwnProperty(o.type)&&streamGeometryType[o.type](o,$)}var streamObjectType={Feature:function(o,$){streamGeometry(o.geometry,$)},FeatureCollection:function(o,$){for(var _e=o.features,et=-1,tt=_e.length;++etpi?o+Math.round(-o/tau)*tau:o,$]}rotationIdentity.invert=rotationIdentity;adder();adder();function identity$1(o){return o}var areaSum=adder(),areaRingSum=adder(),x00$2,y00$2,x0$3,y0$3,areaStream={point:noop$1,lineStart:noop$1,lineEnd:noop$1,polygonStart:function(){areaStream.lineStart=areaRingStart,areaStream.lineEnd=areaRingEnd},polygonEnd:function(){areaStream.lineStart=areaStream.lineEnd=areaStream.point=noop$1,areaSum.add(abs$1(areaRingSum)),areaRingSum.reset()},result:function(){var o=areaSum/2;return areaSum.reset(),o}};function areaRingStart(){areaStream.point=areaPointFirst}function areaPointFirst(o,$){areaStream.point=areaPoint,x00$2=x0$3=o,y00$2=y0$3=$}function areaPoint(o,$){areaRingSum.add(y0$3*o-x0$3*$),x0$3=o,y0$3=$}function areaRingEnd(){areaPoint(x00$2,y00$2)}var x0$2=1/0,y0$2=x0$2,x1=-x0$2,y1=x1,boundsStream={point:boundsPoint,lineStart:noop$1,lineEnd:noop$1,polygonStart:noop$1,polygonEnd:noop$1,result:function(){var o=[[x0$2,y0$2],[x1,y1]];return x1=y1=-(y0$2=x0$2=1/0),o}};function boundsPoint(o,$){ox1&&(x1=o),$y1&&(y1=$)}var X0=0,Y0=0,Z0=0,X1=0,Y1=0,Z1=0,X2=0,Y2=0,Z2=0,x00$1,y00$1,x0$1,y0$1,centroidStream={point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart,centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.point=centroidPoint,centroidStream.lineStart=centroidLineStart,centroidStream.lineEnd=centroidLineEnd},result:function(){var o=Z2?[X2/Z2,Y2/Z2]:Z1?[X1/Z1,Y1/Z1]:Z0?[X0/Z0,Y0/Z0]:[NaN,NaN];return X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0,o}};function centroidPoint(o,$){X0+=o,Y0+=$,++Z0}function centroidLineStart(){centroidStream.point=centroidPointFirstLine}function centroidPointFirstLine(o,$){centroidStream.point=centroidPointLine,centroidPoint(x0$1=o,y0$1=$)}function centroidPointLine(o,$){var _e=o-x0$1,et=$-y0$1,tt=sqrt(_e*_e+et*et);X1+=tt*(x0$1+o)/2,Y1+=tt*(y0$1+$)/2,Z1+=tt,centroidPoint(x0$1=o,y0$1=$)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidPointFirstRing}function centroidRingEnd(){centroidPointRing(x00$1,y00$1)}function centroidPointFirstRing(o,$){centroidStream.point=centroidPointRing,centroidPoint(x00$1=x0$1=o,y00$1=y0$1=$)}function centroidPointRing(o,$){var _e=o-x0$1,et=$-y0$1,tt=sqrt(_e*_e+et*et);X1+=tt*(x0$1+o)/2,Y1+=tt*(y0$1+$)/2,Z1+=tt,tt=y0$1*o-x0$1*$,X2+=tt*(x0$1+o),Y2+=tt*(y0$1+$),Z2+=tt*3,centroidPoint(x0$1=o,y0$1=$)}function PathContext(o){this._context=o}PathContext.prototype={_radius:4.5,pointRadius:function(o){return this._radius=o,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(o,$){switch(this._point){case 0:{this._context.moveTo(o,$),this._point=1;break}case 1:{this._context.lineTo(o,$);break}default:{this._context.moveTo(o+this._radius,$),this._context.arc(o,$,this._radius,0,tau);break}}},result:noop$1};var lengthSum=adder(),lengthRing,x00,y00,x0,y0,lengthStream={point:noop$1,lineStart:function(){lengthStream.point=lengthPointFirst},lineEnd:function(){lengthRing&&lengthPoint(x00,y00),lengthStream.point=noop$1},polygonStart:function(){lengthRing=!0},polygonEnd:function(){lengthRing=null},result:function(){var o=+lengthSum;return lengthSum.reset(),o}};function lengthPointFirst(o,$){lengthStream.point=lengthPoint,x00=x0=o,y00=y0=$}function lengthPoint(o,$){x0-=o,y0-=$,lengthSum.add(sqrt(x0*x0+y0*y0)),x0=o,y0=$}function PathString(){this._string=[]}PathString.prototype={_radius:4.5,_circle:circle(4.5),pointRadius:function(o){return(o=+o)!==this._radius&&(this._radius=o,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(o,$){switch(this._point){case 0:{this._string.push("M",o,",",$),this._point=1;break}case 1:{this._string.push("L",o,",",$);break}default:{this._circle==null&&(this._circle=circle(this._radius)),this._string.push("M",o,",",$,this._circle);break}}},result:function(){if(this._string.length){var o=this._string.join("");return this._string=[],o}else return null}};function circle(o){return"m0,"+o+"a"+o+","+o+" 0 1,1 0,"+-2*o+"a"+o+","+o+" 0 1,1 0,"+2*o+"z"}function geoPath(o,$){var _e=4.5,et,tt;function rt(at){return at&&(typeof _e=="function"&&tt.pointRadius(+_e.apply(this,arguments)),geoStream(at,et(tt))),tt.result()}return rt.area=function(at){return geoStream(at,et(areaStream)),areaStream.result()},rt.measure=function(at){return geoStream(at,et(lengthStream)),lengthStream.result()},rt.bounds=function(at){return geoStream(at,et(boundsStream)),boundsStream.result()},rt.centroid=function(at){return geoStream(at,et(centroidStream)),centroidStream.result()},rt.projection=function(at){return arguments.length?(et=at==null?(o=null,identity$1):(o=at).stream,rt):o},rt.context=function(at){return arguments.length?(tt=at==null?($=null,new PathString):new PathContext($=at),typeof _e!="function"&&tt.pointRadius(_e),rt):$},rt.pointRadius=function(at){return arguments.length?(_e=typeof at=="function"?at:(tt.pointRadius(+at),+at),rt):_e},rt.projection(o).context($)}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(o,$){this.stream.point(o,$)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function equirectangularRaw(o,$){return[o,$]}equirectangularRaw.invert=equirectangularRaw;var _extends$11=Object.assign||function(o){for(var $=1;$ot/2?"left":"right":At,ht=it+ft,bt=nt,pt="rv-crosshair__inner rv-crosshair__inner--"+vt;return React$k.createElement("div",{className:"rv-crosshair "+rt,style:{left:ht+"px",top:bt+"px"}},React$k.createElement("div",{className:"rv-crosshair__line",style:_extends$10({height:st+"px"},lt.line)}),React$k.createElement("div",{className:pt},tt||React$k.createElement("div",{className:"rv-crosshair__inner__content",style:lt.box},React$k.createElement("div",null,this._renderCrosshairTitle(),this._renderCrosshairItems()))))}}],[{key:"defaultProps",get:function(){return{titleFormat:defaultTitleFormat,itemsFormat:defaultItemsFormat,style:{line:{},title:{},box:{}}}}},{key:"propTypes",get:function(){return{className:propTypesExports.string,values:propTypesExports.arrayOf(propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string,propTypesExports.object])),series:propTypesExports.object,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number,marginLeft:propTypesExports.number,marginTop:propTypesExports.number,orientation:propTypesExports.oneOf(["left","right"]),itemsFormat:propTypesExports.func,titleFormat:propTypesExports.func,style:propTypesExports.shape({line:propTypesExports.object,title:propTypesExports.object,box:propTypesExports.object})}}}]),$}(reactExports.PureComponent);Crosshair.displayName="Crosshair";var _createClass$I=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),Object.defineProperty($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),_extends$$=Object.assign||function(o){for(var $=1;$1&&arguments[1]!==void 0?arguments[1]:2,_e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:DEFAULT_STYLE;switch(o){case"diamond":return React$k.createElement("polygon",{style:_e,points:"0 0 "+$/2+" "+$/2+" 0 "+$+" "+-$/2+" "+$/2+" 0 0"});case"star":var et=[].concat(_toConsumableArray$2(new Array(5))).map(function(tt,rt){var at=rt/5*Math.PI*2,nt=at+Math.PI/10,it=at-Math.PI/10,ot=$/2.61;return` +*/var stringifyValue=function o($){return typeof $=="string"?$:$!==null&&JSON.stringify($)||""},stringOrNode=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.node]),stringOrNumber=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),instanceId=1,shouldShowValue=function o($,_e){var et=$.inputValue,tt=$.isPseudoFocused,rt=$.isFocused,at=_e.onSelectResetsInput;return et?at?!1:!(!rt&&tt||rt&&!tt):!0},shouldShowPlaceholder=function o($,_e,et){var tt=$.inputValue,rt=$.isPseudoFocused,at=$.isFocused,nt=_e.onSelectResetsInput;return!tt||!nt&&!et&&!rt&&!at},expandValue=function o($,_e){var et=typeof $>"u"?"undefined":_typeof$9($);if(et!=="string"&&et!=="number"&&et!=="boolean")return $;var tt=_e.options,rt=_e.valueKey;if(tt){for(var at=0;atot||itft.bottom?ct.scrollTop=lt.offsetTop+lt.clientHeight-ct.offsetHeight:ut.top"u"?"undefined":_typeof$9(tt))!=="object"&&(et=""+tt)}this.setState({inputValue:et})}},{key:"handleInputValueChange",value:function(et){if(this.props.onInputChange){var tt=this.props.onInputChange(et);tt!=null&&(typeof tt>"u"?"undefined":_typeof$9(tt))!=="object"&&(et=""+tt)}return et}},{key:"handleKeyDown",value:function(et){if(!this.props.disabled&&!(typeof this.props.onInputKeyDown=="function"&&(this.props.onInputKeyDown(et),et.defaultPrevented)))switch(et.keyCode){case 8:!this.state.inputValue&&this.props.backspaceRemoves&&(et.preventDefault(),this.popValue());break;case 9:if(et.shiftKey||!this.state.isOpen||!this.props.tabSelectsValue)break;et.preventDefault(),this.selectFocusedOption();break;case 13:et.preventDefault(),et.stopPropagation(),this.state.isOpen?this.selectFocusedOption():this.focusNextOption();break;case 27:et.preventDefault(),this.state.isOpen?(this.closeMenu(),et.stopPropagation()):this.props.clearable&&this.props.escapeClearsValue&&(this.clearValue(et),et.stopPropagation());break;case 32:if(this.props.searchable)break;if(et.preventDefault(),!this.state.isOpen){this.focusNextOption();break}et.stopPropagation(),this.selectFocusedOption();break;case 38:et.preventDefault(),this.focusPreviousOption();break;case 40:et.preventDefault(),this.focusNextOption();break;case 33:et.preventDefault(),this.focusPageUpOption();break;case 34:et.preventDefault(),this.focusPageDownOption();break;case 35:if(et.shiftKey)break;et.preventDefault(),this.focusEndOption();break;case 36:if(et.shiftKey)break;et.preventDefault(),this.focusStartOption();break;case 46:!this.state.inputValue&&this.props.deleteRemoves&&(et.preventDefault(),this.popValue());break}}},{key:"handleValueClick",value:function(et,tt){this.props.onValueClick&&this.props.onValueClick(et,tt)}},{key:"handleMenuScroll",value:function(et){if(this.props.onMenuScrollToBottom){var tt=et.target;tt.scrollHeight>tt.offsetHeight&&tt.scrollHeight-tt.offsetHeight-tt.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(et){return et[this.props.labelKey]}},{key:"getValueArray",value:function(et){var tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,rt=(typeof tt>"u"?"undefined":_typeof$9(tt))==="object"?tt:this.props;if(rt.multi){if(typeof et=="string"&&(et=et.split(rt.delimiter)),!Array.isArray(et)){if(et==null)return[];et=[et]}return et.map(function(nt){return expandValue(nt,rt)}).filter(function(nt){return nt})}var at=expandValue(et,rt);return at?[at]:[]}},{key:"setValue",value:function(et){var tt=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var rt=handleRequired(et,this.props.multi);this.setState({required:rt})}this.props.simpleValue&&et&&(et=this.props.multi?et.map(function(at){return at[tt.props.valueKey]}).join(this.props.delimiter):et[this.props.valueKey]),this.props.onChange&&this.props.onChange(et)}},{key:"selectValue",value:function(et){var tt=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var rt=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(rt),isOpen:!this.props.closeOnSelect},function(){var at=tt.getValueArray(tt.props.value);at.some(function(nt){return nt[tt.props.valueKey]===et[tt.props.valueKey]})?tt.removeValue(et):tt.addValue(et)}):this.setState({inputValue:this.handleInputValueChange(rt),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){tt.setValue(et)})}},{key:"addValue",value:function(et){var tt=this.getValueArray(this.props.value),rt=this._visibleOptions.filter(function(nt){return!nt.disabled}),at=rt.indexOf(et);this.setValue(tt.concat(et)),this.props.closeOnSelect&&(rt.length-1===at?this.focusOption(rt[at-1]):rt.length>at&&this.focusOption(rt[at+1]))}},{key:"popValue",value:function(){var et=this.getValueArray(this.props.value);et.length&&et[et.length-1].clearableValue!==!1&&this.setValue(this.props.multi?et.slice(0,et.length-1):null)}},{key:"removeValue",value:function(et){var tt=this,rt=this.getValueArray(this.props.value);this.setValue(rt.filter(function(at){return at[tt.props.valueKey]!==et[tt.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(et){et&&et.type==="mousedown"&&et.button!==0||(et.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return this.props.resetValue!==void 0?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(et){this.setState({focusedOption:et})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(et){var tt=this._visibleOptions.map(function(st,lt){return{option:st,index:lt}}).filter(function(st){return!st.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var rt={focusedOption:this._focusedOption||(tt.length?tt[et==="next"?0:tt.length-1].option:null),isOpen:!0};this.props.onSelectResetsInput&&(rt.inputValue=""),this.setState(rt);return}if(tt.length){for(var at=-1,nt=0;nt0?at=at-1:at=tt.length-1;else if(et==="start")at=0;else if(et==="end")at=tt.length-1;else if(et==="page_up"){var it=at-this.props.pageSize;it<0?at=0:at=it}else if(et==="page_down"){var ot=at+this.props.pageSize;ot>tt.length-1?at=tt.length-1:at=ot}at===-1&&(at=0),this.setState({focusedIndex:tt[at].index,focusedOption:tt[at].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return React$k.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},React$k.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(et,tt){var rt=this,at=this.props.valueRenderer||this.getOptionLabel,nt=this.props.valueComponent;if(!et.length){var it=shouldShowPlaceholder(this.state,this.props,tt);return it?React$k.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null}var ot=this.props.onValueClick?this.handleValueClick:null;if(this.props.multi)return et.map(function(st,lt){return React$k.createElement(nt,{disabled:rt.props.disabled||st.clearableValue===!1,id:rt._instancePrefix+"-value-"+lt,instancePrefix:rt._instancePrefix,key:"value-"+lt+"-"+st[rt.props.valueKey],onClick:ot,onRemove:rt.removeValue,placeholder:rt.props.placeholder,value:st,values:et},at(st,lt),React$k.createElement("span",{className:"Select-aria-only"}," "))});if(shouldShowValue(this.state,this.props))return tt&&(ot=null),React$k.createElement(nt,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:ot,placeholder:this.props.placeholder,value:et[0]},at(et[0]))}},{key:"renderInput",value:function(et,tt){var rt,at=this,nt=classnamesExports("Select-input",this.props.inputProps.className),it=this.state.isOpen,ot=classnamesExports((rt={},defineProperty(rt,this._instancePrefix+"-list",it),defineProperty(rt,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),rt)),st=this.state.inputValue;st&&!this.props.onSelectResetsInput&&!this.state.isFocused&&(st="");var lt=_extends$1c({},this.props.inputProps,{"aria-activedescendant":it?this._instancePrefix+"-option-"+tt:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+it,"aria-haspopup":""+it,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":ot,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(At){return at.input=At},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:st});if(this.props.inputRenderer)return this.props.inputRenderer(lt);if(this.props.disabled||!this.props.searchable){var ct=objectWithoutProperties(this.props.inputProps,[]),ut=classnamesExports(defineProperty({},this._instancePrefix+"-list",it));return React$k.createElement("div",_extends$1c({},ct,{"aria-expanded":it,"aria-owns":ut,"aria-activedescendant":it?this._instancePrefix+"-option-"+tt:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:nt,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(At){return at.input=At},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?React$k.createElement(_default$3,_extends$1c({id:this.props.id},lt,{className:nt,minWidth:"5"})):React$k.createElement("div",{className:nt,key:"input-wrap",style:{display:"inline-block"}},React$k.createElement("input",_extends$1c({id:this.props.id},lt)))}},{key:"renderClear",value:function(){var et=this.getValueArray(this.props.value);if(!(!this.props.clearable||!et.length||this.props.disabled||this.props.isLoading)){var tt=this.props.multi?this.props.clearAllText:this.props.clearValueText,rt=this.props.clearRenderer();return React$k.createElement("span",{"aria-label":tt,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:tt},rt)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var et=this.handleMouseDownOnArrow,tt=this.state.isOpen,rt=this.props.arrowRenderer({onMouseDown:et,isOpen:tt});return rt?React$k.createElement("span",{className:"Select-arrow-zone",onMouseDown:et},rt):null}}},{key:"filterOptions",value:function(et){var tt=this.state.inputValue,rt=this.props.options||[];if(this.props.filterOptions){var at=typeof this.props.filterOptions=="function"?this.props.filterOptions:filterOptions;return at(rt,tt,et,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}else return rt}},{key:"onOptionRef",value:function(et,tt){tt&&(this.focused=et)}},{key:"renderMenu",value:function(et,tt,rt){return et&&et.length?this.props.menuRenderer({focusedOption:rt,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:et,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:tt,valueKey:this.props.valueKey}):this.props.noResultsText?React$k.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(et){var tt=this;if(this.props.name){if(this.props.joinValues){var rt=et.map(function(at){return stringifyValue(at[tt.props.valueKey])}).join(this.props.delimiter);return React$k.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(nt){return tt.value=nt},type:"hidden",value:rt})}return et.map(function(at,nt){return React$k.createElement("input",{disabled:tt.props.disabled,key:"hidden."+nt,name:tt.props.name,ref:"value"+nt,type:"hidden",value:stringifyValue(at[tt.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(et){var tt=this._visibleOptions;if(!tt.length)return null;var rt=this.props.valueKey,at=this.state.focusedOption||et;if(at&&!at.disabled){var nt=-1;if(tt.some(function(ot,st){var lt=ot[rt]===at[rt];return lt&&(nt=st),lt}),nt!==-1)return nt}for(var it=0;it"u"?"undefined":_typeof$9(ot))!=="object"&&(it=""+ot)}var st=it;return rt&&(st=stripDiacritics(st)),at&&(st=st.toLowerCase()),this.setState({inputValue:it}),this.loadOptions(st),it}},{key:"noResultsText",value:function(){var et=this.props,tt=et.loadingPlaceholder,rt=et.noResultsText,at=et.searchPromptText,nt=this.state,it=nt.inputValue,ot=nt.isLoading;return ot?tt:it&&rt?rt:at}},{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.children,at=tt.loadingPlaceholder,nt=tt.placeholder,it=this.state,ot=it.isLoading,st=it.options,lt={noResultsText:this.noResultsText(),placeholder:ot?at:nt,options:ot&&at?[]:st,ref:function(ut){return et.select=ut}};return rt(_extends$1c({},this.props,lt,{isLoading:ot,onInputChange:this.onInputChange}))}}]),$}(reactExports.Component);Async.propTypes=propTypes$c;Async.defaultProps=defaultProps$b;var CreatableSelect=function(o){inherits($,o);function $(_e,et){classCallCheck(this,$);var tt=possibleConstructorReturn(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e,et));return tt.filterOptions=tt.filterOptions.bind(tt),tt.menuRenderer=tt.menuRenderer.bind(tt),tt.onInputKeyDown=tt.onInputKeyDown.bind(tt),tt.onInputChange=tt.onInputChange.bind(tt),tt.onOptionSelect=tt.onOptionSelect.bind(tt),tt}return createClass($,[{key:"createNewOption",value:function(){var et=this.props,tt=et.isValidNewOption,rt=et.newOptionCreator,at=et.onNewOptionClick,nt=et.options,it=nt===void 0?[]:nt;if(tt({label:this.inputValue})){var ot=rt({label:this.inputValue,labelKey:this.labelKey,valueKey:this.valueKey}),st=this.isOptionUnique({option:ot,options:it});st&&(at?at(ot):(it.unshift(ot),this.select.selectValue(ot)))}}},{key:"filterOptions",value:function(){var et=this.props,tt=et.filterOptions,rt=et.isValidNewOption,at=et.promptTextCreator,nt=et.showNewOptionAtTop,it=(arguments.length<=2?void 0:arguments[2])||[],ot=tt.apply(void 0,arguments)||[];if(rt({label:this.inputValue})){var st=this.props.newOptionCreator,lt=st({label:this.inputValue,labelKey:this.labelKey,valueKey:this.valueKey}),ct=this.isOptionUnique({option:lt,options:it.concat(ot)});if(ct){var ut=at(this.inputValue);this._createPlaceholderOption=st({label:ut,labelKey:this.labelKey,valueKey:this.valueKey}),nt?ot.unshift(this._createPlaceholderOption):ot.push(this._createPlaceholderOption)}}return ot}},{key:"isOptionUnique",value:function(et){var tt=et.option,rt=et.options,at=this.props.isOptionUnique;return rt=rt||this.props.options,at({labelKey:this.labelKey,option:tt,options:rt,valueKey:this.valueKey})}},{key:"menuRenderer",value:function(et){var tt=this.props.menuRenderer;return tt(_extends$1c({},et,{onSelect:this.onOptionSelect,selectValue:this.onOptionSelect}))}},{key:"onInputChange",value:function(et){var tt=this.props.onInputChange;return this.inputValue=et,tt&&(this.inputValue=tt(et)),this.inputValue}},{key:"onInputKeyDown",value:function(et){var tt=this.props,rt=tt.shouldKeyDownEventCreateNewOption,at=tt.onInputKeyDown,nt=this.select.getFocusedOption();nt&&nt===this._createPlaceholderOption&&rt(et)?(this.createNewOption(),et.preventDefault()):at&&at(et)}},{key:"onOptionSelect",value:function(et){et===this._createPlaceholderOption?this.createNewOption():this.select.selectValue(et)}},{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.ref,at=objectWithoutProperties(tt,["ref"]),nt=this.props.children;nt||(nt=defaultChildren$2);var it=_extends$1c({},at,{allowCreate:!0,filterOptions:this.filterOptions,menuRenderer:this.menuRenderer,onInputChange:this.onInputChange,onInputKeyDown:this.onInputKeyDown,ref:function(st){et.select=st,st&&(et.labelKey=st.props.labelKey,et.valueKey=st.props.valueKey),rt&&rt(st)}});return nt(it)}}]),$}(React$k.Component),defaultChildren$2=function o($){return React$k.createElement(Select$1,$)},isOptionUnique=function o($){var _e=$.option,et=$.options,tt=$.labelKey,rt=$.valueKey;return!et||!et.length?!0:et.filter(function(at){return at[tt]===_e[tt]||at[rt]===_e[rt]}).length===0},isValidNewOption=function o($){var _e=$.label;return!!_e},newOptionCreator=function o($){var _e=$.label,et=$.labelKey,tt=$.valueKey,rt={};return rt[tt]=_e,rt[et]=_e,rt.className="Select-create-option-placeholder",rt},promptTextCreator=function o($){return'Create option "'+$+'"'},shouldKeyDownEventCreateNewOption=function o($){var _e=$.keyCode;switch(_e){case 9:case 13:case 188:return!0;default:return!1}};CreatableSelect.isOptionUnique=isOptionUnique;CreatableSelect.isValidNewOption=isValidNewOption;CreatableSelect.newOptionCreator=newOptionCreator;CreatableSelect.promptTextCreator=promptTextCreator;CreatableSelect.shouldKeyDownEventCreateNewOption=shouldKeyDownEventCreateNewOption;CreatableSelect.defaultProps={filterOptions,isOptionUnique,isValidNewOption,menuRenderer,newOptionCreator,promptTextCreator,shouldKeyDownEventCreateNewOption,showNewOptionAtTop:!0};CreatableSelect.propTypes={children:propTypesExports.func,filterOptions:propTypesExports.any,isOptionUnique:propTypesExports.func,isValidNewOption:propTypesExports.func,menuRenderer:propTypesExports.any,newOptionCreator:propTypesExports.func,onInputChange:propTypesExports.func,onInputKeyDown:propTypesExports.func,onNewOptionClick:propTypesExports.func,options:propTypesExports.array,promptTextCreator:propTypesExports.func,ref:propTypesExports.func,shouldKeyDownEventCreateNewOption:propTypesExports.func,showNewOptionAtTop:propTypesExports.bool};var AsyncCreatableSelect=function(o){inherits($,o);function $(){return classCallCheck(this,$),possibleConstructorReturn(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return createClass($,[{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var et=this;return React$k.createElement(Async,this.props,function(tt){var rt=tt.ref,at=objectWithoutProperties(tt,["ref"]),nt=rt;return React$k.createElement(CreatableSelect,at,function(it){var ot=it.ref,st=objectWithoutProperties(it,["ref"]),lt=ot;return et.props.children(_extends$1c({},st,{ref:function(ut){lt(ut),nt(ut),et.select=ut}}))})})}}]),$}(React$k.Component),defaultChildren$1$1=function o($){return React$k.createElement(Select$1,$)};AsyncCreatableSelect.propTypes={children:propTypesExports.func.isRequired};AsyncCreatableSelect.defaultProps={children:defaultChildren$1$1};Select$1.Async=Async;Select$1.AsyncCreatable=AsyncCreatableSelect;Select$1.Creatable=CreatableSelect;Select$1.Value=Value;Select$1.Option=Option$3;var AutoSizer$3={},AutoSizer$2={},detectElementResize={};Object.defineProperty(detectElementResize,"__esModule",{value:!0});detectElementResize.default=createDetectElementResize;function createDetectElementResize(o){var $;typeof window<"u"?$=window:typeof self<"u"?$=self:$=commonjsGlobal;var _e=typeof document<"u"&&document.attachEvent;if(!_e){var et=function(){var Ct=$.requestAnimationFrame||$.mozRequestAnimationFrame||$.webkitRequestAnimationFrame||function(gt){return $.setTimeout(gt,20)};return function(gt){return Ct(gt)}}(),tt=function(){var Ct=$.cancelAnimationFrame||$.mozCancelAnimationFrame||$.webkitCancelAnimationFrame||$.clearTimeout;return function(gt){return Ct(gt)}}(),rt=function(gt){var wt=gt.__resizeTriggers__,_t=wt.firstElementChild,Et=wt.lastElementChild,It=_t.firstElementChild;Et.scrollLeft=Et.scrollWidth,Et.scrollTop=Et.scrollHeight,It.style.width=_t.offsetWidth+1+"px",It.style.height=_t.offsetHeight+1+"px",_t.scrollLeft=_t.scrollWidth,_t.scrollTop=_t.scrollHeight},at=function(gt){return gt.offsetWidth!=gt.__resizeLast__.width||gt.offsetHeight!=gt.__resizeLast__.height},nt=function(gt){if(!(gt.target.className&&typeof gt.target.className.indexOf=="function"&>.target.className.indexOf("contract-trigger")<0&>.target.className.indexOf("expand-trigger")<0)){var wt=this;rt(this),this.__resizeRAF__&&tt(this.__resizeRAF__),this.__resizeRAF__=et(function(){at(wt)&&(wt.__resizeLast__.width=wt.offsetWidth,wt.__resizeLast__.height=wt.offsetHeight,wt.__resizeListeners__.forEach(function(_t){_t.call(wt,gt)}))})}},it=!1,ot="",st="animationstart",lt="Webkit Moz O ms".split(" "),ct="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),ut="";{var ft=document.createElement("fakeelement");if(ft.style.animationName!==void 0&&(it=!0),it===!1){for(var At=0;At div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',_t=gt.head||gt.getElementsByTagName("head")[0],Et=gt.createElement("style");Et.id="detectElementResize",Et.type="text/css",o!=null&&Et.setAttribute("nonce",o),Et.styleSheet?Et.styleSheet.cssText=wt:Et.appendChild(gt.createTextNode(wt)),_t.appendChild(Et)}},dt=function(gt,wt){if(_e)gt.attachEvent("onresize",wt);else{if(!gt.__resizeTriggers__){var _t=gt.ownerDocument,Et=$.getComputedStyle(gt);Et&&Et.position=="static"&&(gt.style.position="relative"),bt(_t),gt.__resizeLast__={},gt.__resizeListeners__=[],(gt.__resizeTriggers__=_t.createElement("div")).className="resize-triggers",gt.__resizeTriggers__.innerHTML='
',gt.appendChild(gt.__resizeTriggers__),rt(gt),gt.addEventListener("scroll",nt,!0),st&&(gt.__resizeTriggers__.__animationListener__=function(Tt){Tt.animationName==vt&&rt(gt)},gt.__resizeTriggers__.addEventListener(st,gt.__resizeTriggers__.__animationListener__))}gt.__resizeListeners__.push(wt)}},xt=function(gt,wt){if(_e)gt.detachEvent("onresize",wt);else if(gt.__resizeListeners__.splice(gt.__resizeListeners__.indexOf(wt),1),!gt.__resizeListeners__.length){gt.removeEventListener("scroll",nt,!0),gt.__resizeTriggers__.__animationListener__&&(gt.__resizeTriggers__.removeEventListener(st,gt.__resizeTriggers__.__animationListener__),gt.__resizeTriggers__.__animationListener__=null);try{gt.__resizeTriggers__=!gt.removeChild(gt.__resizeTriggers__)}catch(_t){}}};return{addResizeListener:dt,removeResizeListener:xt}}Object.defineProperty(AutoSizer$2,"__esModule",{value:!0});var _extends2$2=_extends$2a,_extends3$2=_interopRequireDefault$9(_extends2$2),_getPrototypeOf$d=getPrototypeOfExports,_getPrototypeOf2$2=_interopRequireDefault$9(_getPrototypeOf$d),_classCallCheck2$2=classCallCheck$2,_classCallCheck3$2=_interopRequireDefault$9(_classCallCheck2$2),_createClass2$2=createClass$2,_createClass3$2=_interopRequireDefault$9(_createClass2$2),_possibleConstructorReturn2$2=possibleConstructorReturn$2,_possibleConstructorReturn3$2=_interopRequireDefault$9(_possibleConstructorReturn2$2),_inherits2$2=inherits$2,_inherits3$2=_interopRequireDefault$9(_inherits2$2),_react$3=reactExports,React$2=_interopRequireWildcard$3(_react$3),_detectElementResize=detectElementResize,_detectElementResize2=_interopRequireDefault$9(_detectElementResize),_propTypes$4=propTypesExports;_interopRequireDefault$9(_propTypes$4);function _interopRequireWildcard$3(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.prototype.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$}function _interopRequireDefault$9(o){return o&&o.__esModule?o:{default:o}}var AutoSizer$1=function(o){(0,_inherits3$2.default)($,o);function $(){var _e,et,tt,rt;(0,_classCallCheck3$2.default)(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=0&&it===nt&&ot())}var ScalingCellSizeAndPositionManager={},CellSizeAndPositionManager={},types$1={},hasRequiredTypes;function requireTypes(){if(hasRequiredTypes)return types$1;hasRequiredTypes=1,Object.defineProperty(types$1,"__esModule",{value:!0}),types$1.bpfrpt_proptype_VisibleCellRange=types$1.bpfrpt_proptype_Alignment=types$1.bpfrpt_proptype_OverscanIndicesGetter=types$1.bpfrpt_proptype_OverscanIndices=types$1.bpfrpt_proptype_OverscanIndicesGetterParams=types$1.bpfrpt_proptype_RenderedSection=types$1.bpfrpt_proptype_ScrollbarPresenceChange=types$1.bpfrpt_proptype_Scroll=types$1.bpfrpt_proptype_NoContentRenderer=types$1.bpfrpt_proptype_CellSize=types$1.bpfrpt_proptype_CellSizeGetter=types$1.bpfrpt_proptype_CellRangeRenderer=types$1.bpfrpt_proptype_CellRangeRendererParams=types$1.bpfrpt_proptype_StyleCache=types$1.bpfrpt_proptype_CellCache=types$1.bpfrpt_proptype_CellRenderer=types$1.bpfrpt_proptype_CellRendererParams=types$1.bpfrpt_proptype_CellPosition=void 0;var o=reactExports;tt(o);var $=requireScalingCellSizeAndPositionManager();et($);var _e=propTypesExports;et(_e);function et(gt){return gt&>.__esModule?gt:{default:gt}}function tt(gt){if(gt&>.__esModule)return gt;var wt={};if(gt!=null)for(var _t in gt)Object.prototype.hasOwnProperty.call(gt,_t)&&(wt[_t]=gt[_t]);return wt.default=gt,wt}var rt=null,at=null,nt=null,it=null,ot=null,st=null,lt=null,ct=null,ut=null,ft=null,At=null,vt=null,ht=null,mt=null,bt=null,dt=null,xt=null,Ct=null;return types$1.bpfrpt_proptype_CellPosition=rt,types$1.bpfrpt_proptype_CellRendererParams=at,types$1.bpfrpt_proptype_CellRenderer=nt,types$1.bpfrpt_proptype_CellCache=it,types$1.bpfrpt_proptype_StyleCache=ot,types$1.bpfrpt_proptype_CellRangeRendererParams=st,types$1.bpfrpt_proptype_CellRangeRenderer=lt,types$1.bpfrpt_proptype_CellSizeGetter=ct,types$1.bpfrpt_proptype_CellSize=ut,types$1.bpfrpt_proptype_NoContentRenderer=ft,types$1.bpfrpt_proptype_Scroll=At,types$1.bpfrpt_proptype_ScrollbarPresenceChange=vt,types$1.bpfrpt_proptype_RenderedSection=ht,types$1.bpfrpt_proptype_OverscanIndicesGetterParams=mt,types$1.bpfrpt_proptype_OverscanIndices=bt,types$1.bpfrpt_proptype_OverscanIndicesGetter=dt,types$1.bpfrpt_proptype_Alignment=xt,types$1.bpfrpt_proptype_VisibleCellRange=Ct,types$1}var hasRequiredCellSizeAndPositionManager;function requireCellSizeAndPositionManager(){if(hasRequiredCellSizeAndPositionManager)return CellSizeAndPositionManager;hasRequiredCellSizeAndPositionManager=1,Object.defineProperty(CellSizeAndPositionManager,"__esModule",{value:!0});var o=classCallCheck$2,$=tt(o),_e=createClass$2,et=tt(_e);requireTypes();function tt(at){return at&&at.__esModule?at:{default:at}}var rt=function(){function at(nt){var it=nt.cellCount,ot=nt.cellSizeGetter,st=nt.estimatedCellSize;(0,$.default)(this,at),this._cellSizeAndPositionData={},this._lastMeasuredIndex=-1,this._lastBatchedIndex=-1,this._cellSizeGetter=ot,this._cellCount=it,this._estimatedCellSize=st}return(0,et.default)(at,[{key:"areOffsetsAdjusted",value:function(){return!1}},{key:"configure",value:function(it){var ot=it.cellCount,st=it.estimatedCellSize,lt=it.cellSizeGetter;this._cellCount=ot,this._estimatedCellSize=st,this._cellSizeGetter=lt}},{key:"getCellCount",value:function(){return this._cellCount}},{key:"getEstimatedCellSize",value:function(){return this._estimatedCellSize}},{key:"getLastMeasuredIndex",value:function(){return this._lastMeasuredIndex}},{key:"getOffsetAdjustment",value:function(){return 0}},{key:"getSizeAndPositionOfCell",value:function(it){if(it<0||it>=this._cellCount)throw Error("Requested index "+it+" is outside of range 0.."+this._cellCount);if(it>this._lastMeasuredIndex)for(var ot=this.getSizeAndPositionOfLastMeasuredCell(),st=ot.offset+ot.size,lt=this._lastMeasuredIndex+1;lt<=it;lt++){var ct=this._cellSizeGetter({index:lt});if(ct===void 0||isNaN(ct))throw Error("Invalid size returned for cell "+lt+" of value "+ct);ct===null?(this._cellSizeAndPositionData[lt]={offset:st,size:0},this._lastBatchedIndex=it):(this._cellSizeAndPositionData[lt]={offset:st,size:ct},st+=ct,this._lastMeasuredIndex=it)}return this._cellSizeAndPositionData[it]}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._lastMeasuredIndex>=0?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}}},{key:"getTotalSize",value:function(){var it=this.getSizeAndPositionOfLastMeasuredCell(),ot=it.offset+it.size,st=this._cellCount-this._lastMeasuredIndex-1,lt=st*this._estimatedCellSize;return ot+lt}},{key:"getUpdatedOffsetForIndex",value:function(it){var ot=it.align,st=ot===void 0?"auto":ot,lt=it.containerSize,ct=it.currentOffset,ut=it.targetIndex;if(lt<=0)return 0;var ft=this.getSizeAndPositionOfCell(ut),At=ft.offset,vt=At-lt+ft.size,ht=void 0;switch(st){case"start":ht=At;break;case"end":ht=vt;break;case"center":ht=At-(lt-ft.size)/2;break;default:ht=Math.max(vt,Math.min(At,ct));break}var mt=this.getTotalSize();return Math.max(0,Math.min(mt-lt,ht))}},{key:"getVisibleCellRange",value:function(it){var ot=it.containerSize,st=it.offset,lt=this.getTotalSize();if(lt===0)return{};var ct=st+ot,ut=this._findNearestCell(st),ft=this.getSizeAndPositionOfCell(ut);st=ft.offset+ft.size;for(var At=ut;stst&&(it=lt-1)}return ot>0?ot-1:0}},{key:"_exponentialSearch",value:function(it,ot){for(var st=1;it=it?this._binarySearch(st,0,it):this._exponentialSearch(st,it)}}]),at}();return CellSizeAndPositionManager.default=rt,CellSizeAndPositionManager}var maxElementSize={};Object.defineProperty(maxElementSize,"__esModule",{value:!0});var DEFAULT_MAX_ELEMENT_SIZE=15e5,CHROME_MAX_ELEMENT_SIZE=16777100,isBrowser=function o(){return typeof window<"u"},isChrome=function o(){return!!window.chrome&&!!window.chrome.webstore};maxElementSize.getMaxElementSize=function o(){return isBrowser()&&isChrome()?CHROME_MAX_ELEMENT_SIZE:DEFAULT_MAX_ELEMENT_SIZE};var hasRequiredScalingCellSizeAndPositionManager;function requireScalingCellSizeAndPositionManager(){if(hasRequiredScalingCellSizeAndPositionManager)return ScalingCellSizeAndPositionManager;hasRequiredScalingCellSizeAndPositionManager=1,Object.defineProperty(ScalingCellSizeAndPositionManager,"__esModule",{value:!0});var o=objectWithoutProperties$2,$=ot(o),_e=classCallCheck$2,et=ot(_e),tt=createClass$2,rt=ot(tt),at=requireCellSizeAndPositionManager(),nt=ot(at),it=maxElementSize;requireTypes();function ot(lt){return lt&<.__esModule?lt:{default:lt}}var st=function(){function lt(ct){var ut=ct.maxScrollSize,ft=ut===void 0?(0,it.getMaxElementSize)():ut,At=(0,$.default)(ct,["maxScrollSize"]);(0,et.default)(this,lt),this._cellSizeAndPositionManager=new nt.default(At),this._maxScrollSize=ft}return(0,rt.default)(lt,[{key:"areOffsetsAdjusted",value:function(){return this._cellSizeAndPositionManager.getTotalSize()>this._maxScrollSize}},{key:"configure",value:function(ut){this._cellSizeAndPositionManager.configure(ut)}},{key:"getCellCount",value:function(){return this._cellSizeAndPositionManager.getCellCount()}},{key:"getEstimatedCellSize",value:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()}},{key:"getLastMeasuredIndex",value:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()}},{key:"getOffsetAdjustment",value:function(ut){var ft=ut.containerSize,At=ut.offset,vt=this._cellSizeAndPositionManager.getTotalSize(),ht=this.getTotalSize(),mt=this._getOffsetPercentage({containerSize:ft,offset:At,totalSize:ht});return Math.round(mt*(ht-vt))}},{key:"getSizeAndPositionOfCell",value:function(ut){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(ut)}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()}},{key:"getTotalSize",value:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())}},{key:"getUpdatedOffsetForIndex",value:function(ut){var ft=ut.align,At=ft===void 0?"auto":ft,vt=ut.containerSize,ht=ut.currentOffset,mt=ut.targetIndex;ht=this._safeOffsetToOffset({containerSize:vt,offset:ht});var bt=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({align:At,containerSize:vt,currentOffset:ht,targetIndex:mt});return this._offsetToSafeOffset({containerSize:vt,offset:bt})}},{key:"getVisibleCellRange",value:function(ut){var ft=ut.containerSize,At=ut.offset;return At=this._safeOffsetToOffset({containerSize:ft,offset:At}),this._cellSizeAndPositionManager.getVisibleCellRange({containerSize:ft,offset:At})}},{key:"resetCell",value:function(ut){this._cellSizeAndPositionManager.resetCell(ut)}},{key:"_getOffsetPercentage",value:function(ut){var ft=ut.containerSize,At=ut.offset,vt=ut.totalSize;return vt<=ft?0:At/(vt-ft)}},{key:"_offsetToSafeOffset",value:function(ut){var ft=ut.containerSize,At=ut.offset,vt=this._cellSizeAndPositionManager.getTotalSize(),ht=this.getTotalSize();if(vt===ht)return At;var mt=this._getOffsetPercentage({containerSize:ft,offset:At,totalSize:vt});return Math.round(mt*(ht-ft))}},{key:"_safeOffsetToOffset",value:function(ut){var ft=ut.containerSize,At=ut.offset,vt=this._cellSizeAndPositionManager.getTotalSize(),ht=this.getTotalSize();if(vt===ht)return At;var mt=this._getOffsetPercentage({containerSize:ft,offset:At,totalSize:ht});return Math.round(mt*(vt-ft))}}]),lt}();return ScalingCellSizeAndPositionManager.default=st,ScalingCellSizeAndPositionManager}var createCallbackMemoizer$1={},keysExports$1={},keys$2={get exports(){return keysExports$1},set exports(o){keysExports$1=o}},toObject=require_toObject(),$keys=_objectKeys;_objectSap("keys",function(){return function($){return $keys(toObject($))}});var keys$1=_coreExports.Object.keys;(function(o){o.exports={default:keys$1,__esModule:!0}})(keys$2);Object.defineProperty(createCallbackMemoizer$1,"__esModule",{value:!0});var _keys=keysExports$1,_keys2=_interopRequireDefault$8(_keys);createCallbackMemoizer$1.default=createCallbackMemoizer;function _interopRequireDefault$8(o){return o&&o.__esModule?o:{default:o}}function createCallbackMemoizer(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,$={};return function(_e){var et=_e.callback,tt=_e.indices,rt=(0,_keys2.default)(tt),at=!o||rt.every(function(it){var ot=tt[it];return Array.isArray(ot)?ot.length>0:ot>=0}),nt=rt.length!==(0,_keys2.default)($).length||rt.some(function(it){var ot=$[it],st=tt[it];return Array.isArray(st)?ot.join(",")!==st.join(","):ot!==st});$=tt,at&&nt&&et(tt)}}var defaultOverscanIndicesGetter$2={};Object.defineProperty(defaultOverscanIndicesGetter$2,"__esModule",{value:!0});defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_VERTICAL=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_HORIZONTAL=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_FORWARD=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_BACKWARD=void 0;defaultOverscanIndicesGetter$2.default=defaultOverscanIndicesGetter$1;requireTypes();defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_BACKWARD=-1;var SCROLL_DIRECTION_FORWARD$1=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_FORWARD=1;defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_HORIZONTAL="horizontal";defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_VERTICAL="vertical";function defaultOverscanIndicesGetter$1(o){var $=o.cellCount,_e=o.overscanCellsCount,et=o.scrollDirection,tt=o.startIndex,rt=o.stopIndex;return et===SCROLL_DIRECTION_FORWARD$1?{overscanStartIndex:Math.max(0,tt),overscanStopIndex:Math.min($-1,rt+_e)}:{overscanStartIndex:Math.max(0,tt-_e),overscanStopIndex:Math.min($-1,rt)}}var updateScrollIndexHelper$1={};Object.defineProperty(updateScrollIndexHelper$1,"__esModule",{value:!0});updateScrollIndexHelper$1.default=updateScrollIndexHelper;var _ScalingCellSizeAndPositionManager$1=requireScalingCellSizeAndPositionManager();_interopRequireDefault$7(_ScalingCellSizeAndPositionManager$1);requireTypes();function _interopRequireDefault$7(o){return o&&o.__esModule?o:{default:o}}function updateScrollIndexHelper(o){var $=o.cellSize,_e=o.cellSizeAndPositionManager,et=o.previousCellsCount,tt=o.previousCellSize,rt=o.previousScrollToAlignment,at=o.previousScrollToIndex,nt=o.previousSize,it=o.scrollOffset,ot=o.scrollToAlignment,st=o.scrollToIndex,lt=o.size,ct=o.sizeJustIncreasedFromZero,ut=o.updateScrollIndexCallback,ft=_e.getCellCount(),At=st>=0&&st0&&(lt_e.getTotalSize()-lt&&ut(ft-1)}var defaultCellRangeRenderer$1={};Object.defineProperty(defaultCellRangeRenderer$1,"__esModule",{value:!0});defaultCellRangeRenderer$1.default=defaultCellRangeRenderer;requireTypes();function defaultCellRangeRenderer(o){for(var $=o.cellCache,_e=o.cellRenderer,et=o.columnSizeAndPositionManager,tt=o.columnStartIndex,rt=o.columnStopIndex,at=o.deferredMeasurementCache,nt=o.horizontalOffsetAdjustment,it=o.isScrolling,ot=o.isScrollingOptOut,st=o.parent,lt=o.rowSizeAndPositionManager,ct=o.rowStartIndex,ut=o.rowStopIndex,ft=o.styleCache,At=o.verticalOffsetAdjustment,vt=o.visibleColumnIndices,ht=o.visibleRowIndices,mt=[],bt=et.areOffsetsAdjusted()||lt.areOffsetsAdjusted(),dt=!it&&!bt,xt=ct;xt<=ut;xt++)for(var Ct=lt.getSizeAndPositionOfCell(xt),gt=tt;gt<=rt;gt++){var wt=et.getSizeAndPositionOfCell(gt),_t=gt>=vt.start&><=vt.stop&&xt>=ht.start&&xt<=ht.stop,Et=xt+"-"+gt,It=void 0;dt&&ft[Et]?It=ft[Et]:at&&!at.has(xt,gt)?It={height:"auto",left:0,position:"absolute",top:0,width:"auto"}:(It={height:Ct.size,left:wt.offset+nt,position:"absolute",top:Ct.offset+At,width:wt.size},ft[Et]=It);var Tt={columnIndex:gt,isScrolling:it,isVisible:_t,key:Et,parent:st,rowIndex:xt,style:It},Rt=void 0;(ot||it)&&!nt&&!At?($[Et]||($[Et]=_e(Tt)),Rt=$[Et]):Rt=_e(Tt),!(Rt==null||Rt===!1)&&mt.push(Rt)}return mt}var scrollbarSizeExports={},scrollbarSize={get exports(){return scrollbarSizeExports},set exports(o){scrollbarSizeExports=o}},interopRequireDefaultExports={},interopRequireDefault={get exports(){return interopRequireDefaultExports},set exports(o){interopRequireDefaultExports=o}};(function(o){function $(_e){return _e&&_e.__esModule?_e:{default:_e}}o.exports=$,o.exports.__esModule=!0,o.exports.default=o.exports})(interopRequireDefault);var inDOMExports={},inDOM={get exports(){return inDOMExports},set exports(o){inDOMExports=o}},hasRequiredInDOM;function requireInDOM(){return hasRequiredInDOM||(hasRequiredInDOM=1,function(o,$){$.__esModule=!0,$.default=void 0;var _e=!!(typeof window<"u"&&window.document&&window.document.createElement);$.default=_e,o.exports=$.default}(inDOM,inDOMExports)),inDOMExports}(function(o,$){var _e=interopRequireDefaultExports;$.__esModule=!0,$.default=rt;var et=_e(requireInDOM()),tt;function rt(at){if((!tt&&tt!==0||at)&&et.default){var nt=document.createElement("div");nt.style.position="absolute",nt.style.top="-9999px",nt.style.width="50px",nt.style.height="50px",nt.style.overflow="scroll",document.body.appendChild(nt),tt=nt.offsetWidth-nt.clientWidth,document.body.removeChild(nt)}return tt}o.exports=$.default})(scrollbarSize,scrollbarSizeExports);var requestAnimationTimeout={},promiseExports={},promise$2={get exports(){return promiseExports},set exports(o){promiseExports=o}},_anInstance=function(o,$,_e,et){if(!(o instanceof $)||et!==void 0&&et in o)throw TypeError(_e+": incorrect invocation!");return o},_forOfExports={},_forOf={get exports(){return _forOfExports},set exports(o){_forOfExports=o}},ctx$2=_ctx,call=_iterCall,isArrayIter=_isArrayIter,anObject$2=_anObject,toLength=_toLength,getIterFn=core_getIteratorMethod,BREAK={},RETURN={},exports=_forOf.exports=function(o,$,_e,et,tt){var rt=tt?function(){return o}:getIterFn(o),at=ctx$2(_e,et,$?2:1),nt=0,it,ot,st,lt;if(typeof rt!="function")throw TypeError(o+" is not iterable!");if(isArrayIter(rt)){for(it=toLength(o.length);it>nt;nt++)if(lt=$?at(anObject$2(ot=o[nt])[0],ot[1]):at(o[nt]),lt===BREAK||lt===RETURN)return lt}else for(st=rt.call(o);!(ot=st.next()).done;)if(lt=call(st,at,ot.value,$),lt===BREAK||lt===RETURN)return lt};exports.BREAK=BREAK;exports.RETURN=RETURN;var anObject$1=_anObject,aFunction$2=_aFunction,SPECIES=_wksExports("species"),_speciesConstructor=function(o,$){var _e=anObject$1(o).constructor,et;return _e===void 0||(et=anObject$1(_e)[SPECIES])==null?$:aFunction$2(et)},_invoke=function(o,$,_e){var et=_e===void 0;switch($.length){case 0:return et?o():o.call(_e);case 1:return et?o($[0]):o.call(_e,$[0]);case 2:return et?o($[0],$[1]):o.call(_e,$[0],$[1]);case 3:return et?o($[0],$[1],$[2]):o.call(_e,$[0],$[1],$[2]);case 4:return et?o($[0],$[1],$[2],$[3]):o.call(_e,$[0],$[1],$[2],$[3])}return o.apply(_e,$)},ctx$1=_ctx,invoke=_invoke,html=require_html(),cel=require_domCreate(),global$5=_globalExports,process$3=global$5.process,setTask=global$5.setImmediate,clearTask=global$5.clearImmediate,MessageChannel$1=global$5.MessageChannel,Dispatch=global$5.Dispatch,counter=0,queue={},ONREADYSTATECHANGE="onreadystatechange",defer,channel,port,run=function(){var o=+this;if(queue.hasOwnProperty(o)){var $=queue[o];delete queue[o],$()}},listener=function(o){run.call(o.data)};(!setTask||!clearTask)&&(setTask=function($){for(var _e=[],et=1;arguments.length>et;)_e.push(arguments[et++]);return queue[++counter]=function(){invoke(typeof $=="function"?$:Function($),_e)},defer(counter),counter},clearTask=function($){delete queue[$]},_cof(process$3)=="process"?defer=function(o){process$3.nextTick(ctx$1(run,o,1))}:Dispatch&&Dispatch.now?defer=function(o){Dispatch.now(ctx$1(run,o,1))}:MessageChannel$1?(channel=new MessageChannel$1,port=channel.port2,channel.port1.onmessage=listener,defer=ctx$1(port.postMessage,port,1)):global$5.addEventListener&&typeof postMessage=="function"&&!global$5.importScripts?(defer=function(o){global$5.postMessage(o+"","*")},global$5.addEventListener("message",listener,!1)):ONREADYSTATECHANGE in cel("script")?defer=function(o){html.appendChild(cel("script"))[ONREADYSTATECHANGE]=function(){html.removeChild(this),run.call(o)}}:defer=function(o){setTimeout(ctx$1(run,o,1),0)});var _task={set:setTask,clear:clearTask},global$4=_globalExports,macrotask=_task.set,Observer=global$4.MutationObserver||global$4.WebKitMutationObserver,process$2=global$4.process,Promise$1=global$4.Promise,isNode$1=_cof(process$2)=="process",_microtask=function(){var o,$,_e,et=function(){var nt,it;for(isNode$1&&(nt=process$2.domain)&&nt.exit();o;){it=o.fn,o=o.next;try{it()}catch(ot){throw o?_e():$=void 0,ot}}$=void 0,nt&&nt.enter()};if(isNode$1)_e=function(){process$2.nextTick(et)};else if(Observer&&!(global$4.navigator&&global$4.navigator.standalone)){var tt=!0,rt=document.createTextNode("");new Observer(et).observe(rt,{characterData:!0}),_e=function(){rt.data=tt=!tt}}else if(Promise$1&&Promise$1.resolve){var at=Promise$1.resolve(void 0);_e=function(){at.then(et)}}else _e=function(){macrotask.call(global$4,et)};return function(nt){var it={fn:nt,next:void 0};$&&($.next=it),o||(o=it,_e()),$=it}},_newPromiseCapability={},aFunction$1=_aFunction;function PromiseCapability(o){var $,_e;this.promise=new o(function(et,tt){if($!==void 0||_e!==void 0)throw TypeError("Bad Promise constructor");$=et,_e=tt}),this.resolve=aFunction$1($),this.reject=aFunction$1(_e)}_newPromiseCapability.f=function(o){return new PromiseCapability(o)};var _perform=function(o){try{return{e:!1,v:o()}}catch($){return{e:!0,v:$}}},global$3=_globalExports,navigator$1=global$3.navigator,_userAgent=navigator$1&&navigator$1.userAgent||"",anObject=_anObject,isObject$2=_isObject,newPromiseCapability$2=_newPromiseCapability,_promiseResolve=function(o,$){if(anObject(o),isObject$2($)&&$.constructor===o)return $;var _e=newPromiseCapability$2.f(o),et=_e.resolve;return et($),_e.promise},_redefineAll,hasRequired_redefineAll;function require_redefineAll(){if(hasRequired_redefineAll)return _redefineAll;hasRequired_redefineAll=1;var o=_hide;return _redefineAll=function($,_e,et){for(var tt in _e)et&&$[tt]?$[tt]=_e[tt]:o($,tt,_e[tt]);return $},_redefineAll}var _setSpecies,hasRequired_setSpecies;function require_setSpecies(){if(hasRequired_setSpecies)return _setSpecies;hasRequired_setSpecies=1;var o=_globalExports,$=_coreExports,_e=require_objectDp(),et=require_descriptors(),tt=_wksExports("species");return _setSpecies=function(rt){var at=typeof $[rt]=="function"?$[rt]:o[rt];et&&at&&!at[tt]&&_e.f(at,tt,{configurable:!0,get:function(){return this}})},_setSpecies}var LIBRARY=_library,global$2=_globalExports,ctx=_ctx,classof=_classof,$export$2=_export,isObject$1=_isObject,aFunction=_aFunction,anInstance=_anInstance,forOf=_forOfExports,speciesConstructor$1=_speciesConstructor,task=_task.set,microtask=_microtask(),newPromiseCapabilityModule=_newPromiseCapability,perform$1=_perform,userAgent=_userAgent,promiseResolve$1=_promiseResolve,PROMISE="Promise",TypeError$1=global$2.TypeError,process$1=global$2.process,versions=process$1&&process$1.versions,v8=versions&&versions.v8||"",$Promise=global$2[PROMISE],isNode=classof(process$1)=="process",empty$3=function(){},Internal,newGenericPromiseCapability,OwnPromiseCapability,Wrapper,newPromiseCapability$1=newGenericPromiseCapability=newPromiseCapabilityModule.f,USE_NATIVE=!!function(){try{var o=$Promise.resolve(1),$=(o.constructor={})[_wksExports("species")]=function(_e){_e(empty$3,empty$3)};return(isNode||typeof PromiseRejectionEvent=="function")&&o.then(empty$3)instanceof $&&v8.indexOf("6.6")!==0&&userAgent.indexOf("Chrome/66")===-1}catch(_e){}}(),isThenable=function(o){var $;return isObject$1(o)&&typeof($=o.then)=="function"?$:!1},notify=function(o,$){if(!o._n){o._n=!0;var _e=o._c;microtask(function(){for(var et=o._v,tt=o._s==1,rt=0,at=function(nt){var it=tt?nt.ok:nt.fail,ot=nt.resolve,st=nt.reject,lt=nt.domain,ct,ut,ft;try{it?(tt||(o._h==2&&onHandleUnhandled(o),o._h=1),it===!0?ct=et:(lt&<.enter(),ct=it(et),lt&&(lt.exit(),ft=!0)),ct===nt.promise?st(TypeError$1("Promise-chain cycle")):(ut=isThenable(ct))?ut.call(ct,ot,st):ot(ct)):st(et)}catch(At){lt&&!ft&<.exit(),st(At)}};_e.length>rt;)at(_e[rt++]);o._c=[],o._n=!1,$&&!o._h&&onUnhandled(o)})}},onUnhandled=function(o){task.call(global$2,function(){var $=o._v,_e=isUnhandled(o),et,tt,rt;if(_e&&(et=perform$1(function(){isNode?process$1.emit("unhandledRejection",$,o):(tt=global$2.onunhandledrejection)?tt({promise:o,reason:$}):(rt=global$2.console)&&rt.error&&rt.error("Unhandled promise rejection",$)}),o._h=isNode||isUnhandled(o)?2:1),o._a=void 0,_e&&et.e)throw et.v})},isUnhandled=function(o){return o._h!==1&&(o._a||o._c).length===0},onHandleUnhandled=function(o){task.call(global$2,function(){var $;isNode?process$1.emit("rejectionHandled",o):($=global$2.onrejectionhandled)&&$({promise:o,reason:o._v})})},$reject=function(o){var $=this;$._d||($._d=!0,$=$._w||$,$._v=o,$._s=2,$._a||($._a=$._c.slice()),notify($,!0))},$resolve=function(o){var $=this,_e;if(!$._d){$._d=!0,$=$._w||$;try{if($===o)throw TypeError$1("Promise can't be resolved itself");(_e=isThenable(o))?microtask(function(){var et={_w:$,_d:!1};try{_e.call(o,ctx($resolve,et,1),ctx($reject,et,1))}catch(tt){$reject.call(et,tt)}}):($._v=o,$._s=1,notify($,!1))}catch(et){$reject.call({_w:$,_d:!1},et)}}};USE_NATIVE||($Promise=function($){anInstance(this,$Promise,PROMISE,"_h"),aFunction($),Internal.call(this);try{$(ctx($resolve,this,1),ctx($reject,this,1))}catch(_e){$reject.call(this,_e)}},Internal=function($){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},Internal.prototype=require_redefineAll()($Promise.prototype,{then:function($,_e){var et=newPromiseCapability$1(speciesConstructor$1(this,$Promise));return et.ok=typeof $=="function"?$:!0,et.fail=typeof _e=="function"&&_e,et.domain=isNode?process$1.domain:void 0,this._c.push(et),this._a&&this._a.push(et),this._s&¬ify(this,!1),et.promise},catch:function(o){return this.then(void 0,o)}}),OwnPromiseCapability=function(){var o=new Internal;this.promise=o,this.resolve=ctx($resolve,o,1),this.reject=ctx($reject,o,1)},newPromiseCapabilityModule.f=newPromiseCapability$1=function(o){return o===$Promise||o===Wrapper?new OwnPromiseCapability(o):newGenericPromiseCapability(o)});$export$2($export$2.G+$export$2.W+$export$2.F*!USE_NATIVE,{Promise:$Promise});_setToStringTag($Promise,PROMISE);require_setSpecies()(PROMISE);Wrapper=_coreExports[PROMISE];$export$2($export$2.S+$export$2.F*!USE_NATIVE,PROMISE,{reject:function o($){var _e=newPromiseCapability$1(this),et=_e.reject;return et($),_e.promise}});$export$2($export$2.S+$export$2.F*LIBRARY,PROMISE,{resolve:function o($){return promiseResolve$1(this===Wrapper?$Promise:this,$)}});$export$2($export$2.S+$export$2.F*!(USE_NATIVE&&require_iterDetect()(function(o){$Promise.all(o).catch(empty$3)})),PROMISE,{all:function o($){var _e=this,et=newPromiseCapability$1(_e),tt=et.resolve,rt=et.reject,at=perform$1(function(){var nt=[],it=0,ot=1;forOf($,!1,function(st){var lt=it++,ct=!1;nt.push(void 0),ot++,_e.resolve(st).then(function(ut){ct||(ct=!0,nt[lt]=ut,--ot||tt(nt))},rt)}),--ot||tt(nt)});return at.e&&rt(at.v),et.promise},race:function o($){var _e=this,et=newPromiseCapability$1(_e),tt=et.reject,rt=perform$1(function(){forOf($,!1,function(at){_e.resolve(at).then(et.resolve,tt)})});return rt.e&&tt(rt.v),et.promise}});var $export$1=_export,core=_coreExports,global$1=_globalExports,speciesConstructor=_speciesConstructor,promiseResolve=_promiseResolve;$export$1($export$1.P+$export$1.R,"Promise",{finally:function(o){var $=speciesConstructor(this,core.Promise||global$1.Promise),_e=typeof o=="function";return this.then(_e?function(et){return promiseResolve($,o()).then(function(){return et})}:o,_e?function(et){return promiseResolve($,o()).then(function(){throw et})}:o)}});var $export=_export,newPromiseCapability=_newPromiseCapability,perform=_perform;$export($export.S,"Promise",{try:function(o){var $=newPromiseCapability.f(this),_e=perform(o);return(_e.e?$.reject:$.resolve)(_e.v),$.promise}});var promise$1=_coreExports.Promise;(function(o){o.exports={default:promise$1,__esModule:!0}})(promise$2);var animationFrame={};Object.defineProperty(animationFrame,"__esModule",{value:!0});var win=void 0;typeof window<"u"?win=window:typeof self<"u"?win=self:win={};var request=win.requestAnimationFrame||win.webkitRequestAnimationFrame||win.mozRequestAnimationFrame||win.oRequestAnimationFrame||win.msRequestAnimationFrame||function(o){return win.setTimeout(o,1e3/60)},cancel$1=win.cancelAnimationFrame||win.webkitCancelAnimationFrame||win.mozCancelAnimationFrame||win.oCancelAnimationFrame||win.msCancelAnimationFrame||function(o){win.clearTimeout(o)};animationFrame.raf=request;animationFrame.caf=cancel$1;Object.defineProperty(requestAnimationTimeout,"__esModule",{value:!0});requestAnimationTimeout.bpfrpt_proptype_AnimationTimeoutId=requestAnimationTimeout.requestAnimationTimeout=requestAnimationTimeout.cancelAnimationTimeout=void 0;var _promise=promiseExports,_promise2=_interopRequireDefault$6(_promise),_animationFrame=animationFrame,_propTypes$3=propTypesExports;_interopRequireDefault$6(_propTypes$3);function _interopRequireDefault$6(o){return o&&o.__esModule?o:{default:o}}var bpfrpt_proptype_AnimationTimeoutId=null;requestAnimationTimeout.cancelAnimationTimeout=function o($){return(0,_animationFrame.caf)($.id)};requestAnimationTimeout.requestAnimationTimeout=function o($,_e){var et=void 0;_promise2.default.resolve().then(function(){et=Date.now()});var tt=function at(){Date.now()-et>=_e?$.call():rt.id=(0,_animationFrame.raf)(at)},rt={id:(0,_animationFrame.raf)(tt)};return rt};requestAnimationTimeout.bpfrpt_proptype_AnimationTimeoutId=bpfrpt_proptype_AnimationTimeoutId;Object.defineProperty(Grid$3,"__esModule",{value:!0});Grid$3.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=void 0;var _assign=assignExports,_assign2=_interopRequireDefault$5(_assign),_extends2$1=_extends$2a,_extends3$1=_interopRequireDefault$5(_extends2$1),_getPrototypeOf$c=getPrototypeOfExports,_getPrototypeOf2$1=_interopRequireDefault$5(_getPrototypeOf$c),_classCallCheck2$1=classCallCheck$2,_classCallCheck3$1=_interopRequireDefault$5(_classCallCheck2$1),_createClass2$1=createClass$2,_createClass3$1=_interopRequireDefault$5(_createClass2$1),_possibleConstructorReturn2$1=possibleConstructorReturn$2,_possibleConstructorReturn3$1=_interopRequireDefault$5(_possibleConstructorReturn2$1),_inherits2$1=inherits$2,_inherits3$1=_interopRequireDefault$5(_inherits2$1),_react$2=reactExports,React$1=_interopRequireWildcard$2(_react$2),_classnames$1=classnamesExports,_classnames2$1=_interopRequireDefault$5(_classnames$1),_calculateSizeAndPositionDataAndUpdateScrollOffset=calculateSizeAndPositionDataAndUpdateScrollOffset$1,_calculateSizeAndPositionDataAndUpdateScrollOffset2=_interopRequireDefault$5(_calculateSizeAndPositionDataAndUpdateScrollOffset),_ScalingCellSizeAndPositionManager=requireScalingCellSizeAndPositionManager(),_ScalingCellSizeAndPositionManager2=_interopRequireDefault$5(_ScalingCellSizeAndPositionManager),_createCallbackMemoizer=createCallbackMemoizer$1,_createCallbackMemoizer2=_interopRequireDefault$5(_createCallbackMemoizer),_defaultOverscanIndicesGetter=defaultOverscanIndicesGetter$2,_defaultOverscanIndicesGetter2=_interopRequireDefault$5(_defaultOverscanIndicesGetter),_updateScrollIndexHelper=updateScrollIndexHelper$1,_updateScrollIndexHelper2=_interopRequireDefault$5(_updateScrollIndexHelper),_defaultCellRangeRenderer=defaultCellRangeRenderer$1,_defaultCellRangeRenderer2=_interopRequireDefault$5(_defaultCellRangeRenderer),_scrollbarSize=scrollbarSizeExports,_scrollbarSize2=_interopRequireDefault$5(_scrollbarSize),_reactLifecyclesCompat=require$$16,_requestAnimationTimeout=requestAnimationTimeout;requireTypes();var _propTypes$2=propTypesExports;_interopRequireDefault$5(_propTypes$2);function _interopRequireWildcard$2(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.prototype.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$}function _interopRequireDefault$5(o){return o&&o.__esModule?o:{default:o}}var DEFAULT_SCROLLING_RESET_TIME_INTERVAL=Grid$3.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=150,SCROLL_POSITION_CHANGE_REASONS={OBSERVED:"observed",REQUESTED:"requested"},renderNull=function o(){return null},Grid$2=function(o){(0,_inherits3$1.default)($,o);function $(_e){(0,_classCallCheck3$1.default)(this,$);var et=(0,_possibleConstructorReturn3$1.default)(this,($.__proto__||(0,_getPrototypeOf2$1.default)($)).call(this,_e));et._onGridRenderedMemoizer=(0,_createCallbackMemoizer2.default)(),et._onScrollMemoizer=(0,_createCallbackMemoizer2.default)(!1),et._deferredInvalidateColumnIndex=null,et._deferredInvalidateRowIndex=null,et._recomputeScrollLeftFlag=!1,et._recomputeScrollTopFlag=!1,et._horizontalScrollBarSize=0,et._verticalScrollBarSize=0,et._scrollbarPresenceChanged=!1,et._renderedColumnStartIndex=0,et._renderedColumnStopIndex=0,et._renderedRowStartIndex=0,et._renderedRowStopIndex=0,et._styleCache={},et._cellCache={},et._debounceScrollEndedCallback=function(){et._disablePointerEventsTimeoutId=null,et.setState({isScrolling:!1,needToResetStyleCache:!1})},et._invokeOnGridRenderedHelper=function(){var at=et.props.onSectionRendered;et._onGridRenderedMemoizer({callback:at,indices:{columnOverscanStartIndex:et._columnStartIndex,columnOverscanStopIndex:et._columnStopIndex,columnStartIndex:et._renderedColumnStartIndex,columnStopIndex:et._renderedColumnStopIndex,rowOverscanStartIndex:et._rowStartIndex,rowOverscanStopIndex:et._rowStopIndex,rowStartIndex:et._renderedRowStartIndex,rowStopIndex:et._renderedRowStopIndex}})},et._setScrollingContainerRef=function(at){et._scrollingContainer=at},et._onScroll=function(at){at.target===et._scrollingContainer&&et.handleScrollEvent(at.target)};var tt=new _ScalingCellSizeAndPositionManager2.default({cellCount:_e.columnCount,cellSizeGetter:function(nt){return $._wrapSizeGetter(_e.columnWidth)(nt)},estimatedCellSize:$._getEstimatedColumnSize(_e)}),rt=new _ScalingCellSizeAndPositionManager2.default({cellCount:_e.rowCount,cellSizeGetter:function(nt){return $._wrapSizeGetter(_e.rowHeight)(nt)},estimatedCellSize:$._getEstimatedRowSize(_e)});return et.state={instanceProps:{columnSizeAndPositionManager:tt,rowSizeAndPositionManager:rt,prevColumnWidth:_e.columnWidth,prevRowHeight:_e.rowHeight,prevColumnCount:_e.columnCount,prevRowCount:_e.rowCount,prevIsScrolling:_e.isScrolling===!0,prevScrollToColumn:_e.scrollToColumn,prevScrollToRow:_e.scrollToRow,scrollbarSize:0,scrollbarSizeMeasured:!1},isScrolling:!1,scrollDirectionHorizontal:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,scrollDirectionVertical:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,scrollLeft:0,scrollTop:0,scrollPositionChangeReason:null,needToResetStyleCache:!1},_e.scrollToRow>0&&(et._initialScrollTop=et._getCalculatedScrollTop(_e,et.state)),_e.scrollToColumn>0&&(et._initialScrollLeft=et._getCalculatedScrollLeft(_e,et.state)),et}return(0,_createClass3$1.default)($,[{key:"getOffsetForCell",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},tt=et.alignment,rt=tt===void 0?this.props.scrollToAlignment:tt,at=et.columnIndex,nt=at===void 0?this.props.scrollToColumn:at,it=et.rowIndex,ot=it===void 0?this.props.scrollToRow:it,st=(0,_extends3$1.default)({},this.props,{scrollToAlignment:rt,scrollToColumn:nt,scrollToRow:ot});return{scrollLeft:this._getCalculatedScrollLeft(st),scrollTop:this._getCalculatedScrollTop(st)}}},{key:"getTotalRowsHeight",value:function(){return this.state.instanceProps.rowSizeAndPositionManager.getTotalSize()}},{key:"getTotalColumnsWidth",value:function(){return this.state.instanceProps.columnSizeAndPositionManager.getTotalSize()}},{key:"handleScrollEvent",value:function(et){var tt=et.scrollLeft,rt=tt===void 0?0:tt,at=et.scrollTop,nt=at===void 0?0:at;if(!(nt<0)){this._debounceScrollEnded();var it=this.props,ot=it.autoHeight,st=it.autoWidth,lt=it.height,ct=it.width,ut=this.state.instanceProps,ft=ut.scrollbarSize,At=ut.rowSizeAndPositionManager.getTotalSize(),vt=ut.columnSizeAndPositionManager.getTotalSize(),ht=Math.min(Math.max(0,vt-ct+ft),rt),mt=Math.min(Math.max(0,At-lt+ft),nt);if(this.state.scrollLeft!==ht||this.state.scrollTop!==mt){var bt=ht!==this.state.scrollLeft?ht>this.state.scrollLeft?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionHorizontal,dt=mt!==this.state.scrollTop?mt>this.state.scrollTop?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionVertical,xt={isScrolling:!0,scrollDirectionHorizontal:bt,scrollDirectionVertical:dt,scrollPositionChangeReason:SCROLL_POSITION_CHANGE_REASONS.OBSERVED};ot||(xt.scrollTop=mt),st||(xt.scrollLeft=ht),xt.needToResetStyleCache=!1,this.setState(xt)}this._invokeOnScrollMemoizer({scrollLeft:ht,scrollTop:mt,totalColumnsWidth:vt,totalRowsHeight:At})}}},{key:"invalidateCellSizeAfterRender",value:function(et){var tt=et.columnIndex,rt=et.rowIndex;this._deferredInvalidateColumnIndex=typeof this._deferredInvalidateColumnIndex=="number"?Math.min(this._deferredInvalidateColumnIndex,tt):tt,this._deferredInvalidateRowIndex=typeof this._deferredInvalidateRowIndex=="number"?Math.min(this._deferredInvalidateRowIndex,rt):rt}},{key:"measureAllCells",value:function(){var et=this.props,tt=et.columnCount,rt=et.rowCount,at=this.state.instanceProps;at.columnSizeAndPositionManager.getSizeAndPositionOfCell(tt-1),at.rowSizeAndPositionManager.getSizeAndPositionOfCell(rt-1)}},{key:"recomputeGridSize",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},tt=et.columnIndex,rt=tt===void 0?0:tt,at=et.rowIndex,nt=at===void 0?0:at,it=this.props,ot=it.scrollToColumn,st=it.scrollToRow,lt=this.state.instanceProps;lt.columnSizeAndPositionManager.resetCell(rt),lt.rowSizeAndPositionManager.resetCell(nt),this._recomputeScrollLeftFlag=ot>=0&&(this.state.scrollDirectionHorizontal===_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD?rt<=ot:rt>=ot),this._recomputeScrollTopFlag=st>=0&&(this.state.scrollDirectionVertical===_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD?nt<=st:nt>=st),this._styleCache={},this._cellCache={},this.forceUpdate()}},{key:"scrollToCell",value:function(et){var tt=et.columnIndex,rt=et.rowIndex,at=this.props.columnCount,nt=this.props;at>1&&tt!==void 0&&this._updateScrollLeftForScrollToColumn((0,_extends3$1.default)({},nt,{scrollToColumn:tt})),rt!==void 0&&this._updateScrollTopForScrollToRow((0,_extends3$1.default)({},nt,{scrollToRow:rt}))}},{key:"componentDidMount",value:function(){var et=this.props,tt=et.getScrollbarSize,rt=et.height,at=et.scrollLeft,nt=et.scrollToColumn,it=et.scrollTop,ot=et.scrollToRow,st=et.width,lt=this.state.instanceProps;if(this._initialScrollTop=0,this._initialScrollLeft=0,this._handleInvalidatedGridSize(),lt.scrollbarSizeMeasured||this.setState(function(ft){var At=(0,_extends3$1.default)({},ft,{needToResetStyleCache:!1});return At.instanceProps.scrollbarSize=tt(),At.instanceProps.scrollbarSizeMeasured=!0,At}),typeof at=="number"&&at>=0||typeof it=="number"&&it>=0){var ct=$._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:at,scrollTop:it});ct&&(ct.needToResetStyleCache=!1,this.setState(ct))}this._scrollingContainer&&(this._scrollingContainer.scrollLeft!==this.state.scrollLeft&&(this._scrollingContainer.scrollLeft=this.state.scrollLeft),this._scrollingContainer.scrollTop!==this.state.scrollTop&&(this._scrollingContainer.scrollTop=this.state.scrollTop));var ut=rt>0&&st>0;nt>=0&&ut&&this._updateScrollLeftForScrollToColumn(),ot>=0&&ut&&this._updateScrollTopForScrollToRow(),this._invokeOnGridRenderedHelper(),this._invokeOnScrollMemoizer({scrollLeft:at||0,scrollTop:it||0,totalColumnsWidth:lt.columnSizeAndPositionManager.getTotalSize(),totalRowsHeight:lt.rowSizeAndPositionManager.getTotalSize()}),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentDidUpdate",value:function(et,tt){var rt=this,at=this.props,nt=at.autoHeight,it=at.autoWidth,ot=at.columnCount,st=at.height,lt=at.rowCount,ct=at.scrollToAlignment,ut=at.scrollToColumn,ft=at.scrollToRow,At=at.width,vt=this.state,ht=vt.scrollLeft,mt=vt.scrollPositionChangeReason,bt=vt.scrollTop,dt=vt.instanceProps;this._handleInvalidatedGridSize();var xt=ot>0&&et.columnCount===0||lt>0&&et.rowCount===0;mt===SCROLL_POSITION_CHANGE_REASONS.REQUESTED&&(!it&&ht>=0&&(ht!==this._scrollingContainer.scrollLeft||xt)&&(this._scrollingContainer.scrollLeft=ht),!nt&&bt>=0&&(bt!==this._scrollingContainer.scrollTop||xt)&&(this._scrollingContainer.scrollTop=bt));var Ct=(et.width===0||et.height===0)&&st>0&&At>0;if(this._recomputeScrollLeftFlag?(this._recomputeScrollLeftFlag=!1,this._updateScrollLeftForScrollToColumn(this.props)):(0,_updateScrollIndexHelper2.default)({cellSizeAndPositionManager:dt.columnSizeAndPositionManager,previousCellsCount:et.columnCount,previousCellSize:et.columnWidth,previousScrollToAlignment:et.scrollToAlignment,previousScrollToIndex:et.scrollToColumn,previousSize:et.width,scrollOffset:ht,scrollToAlignment:ct,scrollToIndex:ut,size:At,sizeJustIncreasedFromZero:Ct,updateScrollIndexCallback:function(){return rt._updateScrollLeftForScrollToColumn(rt.props)}}),this._recomputeScrollTopFlag?(this._recomputeScrollTopFlag=!1,this._updateScrollTopForScrollToRow(this.props)):(0,_updateScrollIndexHelper2.default)({cellSizeAndPositionManager:dt.rowSizeAndPositionManager,previousCellsCount:et.rowCount,previousCellSize:et.rowHeight,previousScrollToAlignment:et.scrollToAlignment,previousScrollToIndex:et.scrollToRow,previousSize:et.height,scrollOffset:bt,scrollToAlignment:ct,scrollToIndex:ft,size:st,sizeJustIncreasedFromZero:Ct,updateScrollIndexCallback:function(){return rt._updateScrollTopForScrollToRow(rt.props)}}),this._invokeOnGridRenderedHelper(),ht!==tt.scrollLeft||bt!==tt.scrollTop){var gt=dt.rowSizeAndPositionManager.getTotalSize(),wt=dt.columnSizeAndPositionManager.getTotalSize();this._invokeOnScrollMemoizer({scrollLeft:ht,scrollTop:bt,totalColumnsWidth:wt,totalRowsHeight:gt})}this._maybeCallOnScrollbarPresenceChange()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&(0,_requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var et=this.props,tt=et.autoContainerWidth,rt=et.autoHeight,at=et.autoWidth,nt=et.className,it=et.containerProps,ot=et.containerRole,st=et.containerStyle,lt=et.height,ct=et.id,ut=et.noContentRenderer,ft=et.role,At=et.style,vt=et.tabIndex,ht=et.width,mt=this.state,bt=mt.instanceProps,dt=mt.needToResetStyleCache,xt=this._isScrolling(),Ct={boxSizing:"border-box",direction:"ltr",height:rt?"auto":lt,position:"relative",width:at?"auto":ht,WebkitOverflowScrolling:"touch",willChange:"transform"};dt&&(this._styleCache={}),this.state.isScrolling||this._resetStyleCache(),this._calculateChildrenToRender(this.props,this.state);var gt=bt.columnSizeAndPositionManager.getTotalSize(),wt=bt.rowSizeAndPositionManager.getTotalSize(),_t=wt>lt?bt.scrollbarSize:0,Et=gt>ht?bt.scrollbarSize:0;(Et!==this._horizontalScrollBarSize||_t!==this._verticalScrollBarSize)&&(this._horizontalScrollBarSize=Et,this._verticalScrollBarSize=_t,this._scrollbarPresenceChanged=!0),Ct.overflowX=gt+_t<=ht?"hidden":"auto",Ct.overflowY=wt+Et<=lt?"hidden":"auto";var It=this._childrenToDisplay,Tt=It.length===0&<>0&&ht>0;return React$1.createElement("div",(0,_extends3$1.default)({ref:this._setScrollingContainerRef},it,{"aria-label":this.props["aria-label"],"aria-readonly":this.props["aria-readonly"],className:(0,_classnames2$1.default)("ReactVirtualized__Grid",nt),id:ct,onScroll:this._onScroll,role:ft,style:(0,_extends3$1.default)({},Ct,At),tabIndex:vt}),It.length>0&&React$1.createElement("div",{className:"ReactVirtualized__Grid__innerScrollContainer",role:ot,style:(0,_extends3$1.default)({width:tt?"auto":gt,height:wt,maxWidth:gt,maxHeight:wt,overflow:"hidden",pointerEvents:xt?"none":"",position:"relative"},st)},It),Tt&&ut())}},{key:"_calculateChildrenToRender",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state,rt=et.cellRenderer,at=et.cellRangeRenderer,nt=et.columnCount,it=et.deferredMeasurementCache,ot=et.height,st=et.overscanColumnCount,lt=et.overscanIndicesGetter,ct=et.overscanRowCount,ut=et.rowCount,ft=et.width,At=et.isScrollingOptOut,vt=tt.scrollDirectionHorizontal,ht=tt.scrollDirectionVertical,mt=tt.instanceProps,bt=this._initialScrollTop>0?this._initialScrollTop:tt.scrollTop,dt=this._initialScrollLeft>0?this._initialScrollLeft:tt.scrollLeft,xt=this._isScrolling(et,tt);if(this._childrenToDisplay=[],ot>0&&ft>0){var Ct=mt.columnSizeAndPositionManager.getVisibleCellRange({containerSize:ft,offset:dt}),gt=mt.rowSizeAndPositionManager.getVisibleCellRange({containerSize:ot,offset:bt}),wt=mt.columnSizeAndPositionManager.getOffsetAdjustment({containerSize:ft,offset:dt}),_t=mt.rowSizeAndPositionManager.getOffsetAdjustment({containerSize:ot,offset:bt});this._renderedColumnStartIndex=Ct.start,this._renderedColumnStopIndex=Ct.stop,this._renderedRowStartIndex=gt.start,this._renderedRowStopIndex=gt.stop;var Et=lt({direction:"horizontal",cellCount:nt,overscanCellsCount:st,scrollDirection:vt,startIndex:typeof Ct.start=="number"?Ct.start:0,stopIndex:typeof Ct.stop=="number"?Ct.stop:-1}),It=lt({direction:"vertical",cellCount:ut,overscanCellsCount:ct,scrollDirection:ht,startIndex:typeof gt.start=="number"?gt.start:0,stopIndex:typeof gt.stop=="number"?gt.stop:-1}),Tt=Et.overscanStartIndex,Rt=Et.overscanStopIndex,Ot=It.overscanStartIndex,Mt=It.overscanStopIndex;if(it){if(!it.hasFixedHeight()){for(var Bt=Ot;Bt<=Mt;Bt++)if(!it.has(Bt,0)){Tt=0,Rt=nt-1;break}}if(!it.hasFixedWidth()){for(var Lt=Tt;Lt<=Rt;Lt++)if(!it.has(0,Lt)){Ot=0,Mt=ut-1;break}}}this._childrenToDisplay=at({cellCache:this._cellCache,cellRenderer:rt,columnSizeAndPositionManager:mt.columnSizeAndPositionManager,columnStartIndex:Tt,columnStopIndex:Rt,deferredMeasurementCache:it,horizontalOffsetAdjustment:wt,isScrolling:xt,isScrollingOptOut:At,parent:this,rowSizeAndPositionManager:mt.rowSizeAndPositionManager,rowStartIndex:Ot,rowStopIndex:Mt,scrollLeft:dt,scrollTop:bt,styleCache:this._styleCache,verticalOffsetAdjustment:_t,visibleColumnIndices:Ct,visibleRowIndices:gt}),this._columnStartIndex=Tt,this._columnStopIndex=Rt,this._rowStartIndex=Ot,this._rowStopIndex=Mt}}},{key:"_debounceScrollEnded",value:function(){var et=this.props.scrollingResetTimeInterval;this._disablePointerEventsTimeoutId&&(0,_requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=(0,_requestAnimationTimeout.requestAnimationTimeout)(this._debounceScrollEndedCallback,et)}},{key:"_handleInvalidatedGridSize",value:function(){if(typeof this._deferredInvalidateColumnIndex=="number"&&typeof this._deferredInvalidateRowIndex=="number"){var et=this._deferredInvalidateColumnIndex,tt=this._deferredInvalidateRowIndex;this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:et,rowIndex:tt})}}},{key:"_invokeOnScrollMemoizer",value:function(et){var tt=this,rt=et.scrollLeft,at=et.scrollTop,nt=et.totalColumnsWidth,it=et.totalRowsHeight;this._onScrollMemoizer({callback:function(st){var lt=st.scrollLeft,ct=st.scrollTop,ut=tt.props,ft=ut.height,At=ut.onScroll,vt=ut.width;At({clientHeight:ft,clientWidth:vt,scrollHeight:it,scrollLeft:lt,scrollTop:ct,scrollWidth:nt})},indices:{scrollLeft:rt,scrollTop:at}})}},{key:"_isScrolling",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state;return Object.hasOwnProperty.call(et,"isScrolling")?!!et.isScrolling:!!tt.isScrolling}},{key:"_maybeCallOnScrollbarPresenceChange",value:function(){if(this._scrollbarPresenceChanged){var et=this.props.onScrollbarPresenceChange;this._scrollbarPresenceChanged=!1,et({horizontal:this._horizontalScrollBarSize>0,size:this.state.instanceProps.scrollbarSize,vertical:this._verticalScrollBarSize>0})}}},{key:"scrollToPosition",value:function(et){var tt=et.scrollLeft,rt=et.scrollTop,at=$._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:tt,scrollTop:rt});at&&(at.needToResetStyleCache=!1,this.setState(at))}},{key:"_getCalculatedScrollLeft",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state;return $._getCalculatedScrollLeft(et,tt)}},{key:"_updateScrollLeftForScrollToColumn",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state,rt=$._getScrollLeftForScrollToColumnStateUpdate(et,tt);rt&&(rt.needToResetStyleCache=!1,this.setState(rt))}},{key:"_getCalculatedScrollTop",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state;return $._getCalculatedScrollTop(et,tt)}},{key:"_resetStyleCache",value:function(){var et=this._styleCache,tt=this._cellCache,rt=this.props.isScrollingOptOut;this._cellCache={},this._styleCache={};for(var at=this._rowStartIndex;at<=this._rowStopIndex;at++)for(var nt=this._columnStartIndex;nt<=this._columnStopIndex;nt++){var it=at+"-"+nt;this._styleCache[it]=et[it],rt&&(this._cellCache[it]=tt[it])}}},{key:"_updateScrollTopForScrollToRow",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props,tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state,rt=$._getScrollTopForScrollToRowStateUpdate(et,tt);rt&&(rt.needToResetStyleCache=!1,this.setState(rt))}}],[{key:"getDerivedStateFromProps",value:function(et,tt){var rt={};et.columnCount===0&&tt.scrollLeft!==0||et.rowCount===0&&tt.scrollTop!==0?(rt.scrollLeft=0,rt.scrollTop=0):(et.scrollLeft!==tt.scrollLeft&&et.scrollToColumn<0||et.scrollTop!==tt.scrollTop&&et.scrollToRow<0)&&(0,_assign2.default)(rt,$._getScrollToPositionStateUpdate({prevState:tt,scrollLeft:et.scrollLeft,scrollTop:et.scrollTop}));var at=tt.instanceProps;rt.needToResetStyleCache=!1,(et.columnWidth!==at.prevColumnWidth||et.rowHeight!==at.prevRowHeight)&&(rt.needToResetStyleCache=!0),at.columnSizeAndPositionManager.configure({cellCount:et.columnCount,estimatedCellSize:$._getEstimatedColumnSize(et),cellSizeGetter:$._wrapSizeGetter(et.columnWidth)}),at.rowSizeAndPositionManager.configure({cellCount:et.rowCount,estimatedCellSize:$._getEstimatedRowSize(et),cellSizeGetter:$._wrapSizeGetter(et.rowHeight)}),(at.prevColumnCount===0||at.prevRowCount===0)&&(at.prevColumnCount=0,at.prevRowCount=0),et.autoHeight&&et.isScrolling===!1&&at.prevIsScrolling===!0&&(0,_assign2.default)(rt,{isScrolling:!1});var nt=void 0,it=void 0;return(0,_calculateSizeAndPositionDataAndUpdateScrollOffset2.default)({cellCount:at.prevColumnCount,cellSize:typeof at.prevColumnWidth=="number"?at.prevColumnWidth:null,computeMetadataCallback:function(){return at.columnSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:et,nextCellsCount:et.columnCount,nextCellSize:typeof et.columnWidth=="number"?et.columnWidth:null,nextScrollToIndex:et.scrollToColumn,scrollToIndex:at.prevScrollToColumn,updateScrollOffsetForScrollToIndex:function(){nt=$._getScrollLeftForScrollToColumnStateUpdate(et,tt)}}),(0,_calculateSizeAndPositionDataAndUpdateScrollOffset2.default)({cellCount:at.prevRowCount,cellSize:typeof at.prevRowHeight=="number"?at.prevRowHeight:null,computeMetadataCallback:function(){return at.rowSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:et,nextCellsCount:et.rowCount,nextCellSize:typeof et.rowHeight=="number"?et.rowHeight:null,nextScrollToIndex:et.scrollToRow,scrollToIndex:at.prevScrollToRow,updateScrollOffsetForScrollToIndex:function(){it=$._getScrollTopForScrollToRowStateUpdate(et,tt)}}),at.prevColumnCount=et.columnCount,at.prevColumnWidth=et.columnWidth,at.prevIsScrolling=et.isScrolling===!0,at.prevRowCount=et.rowCount,at.prevRowHeight=et.rowHeight,at.prevScrollToColumn=et.scrollToColumn,at.prevScrollToRow=et.scrollToRow,at.scrollbarSize=et.getScrollbarSize(),at.scrollbarSize===void 0?(at.scrollbarSizeMeasured=!1,at.scrollbarSize=0):at.scrollbarSizeMeasured=!0,rt.instanceProps=at,(0,_extends3$1.default)({},rt,nt,it)}},{key:"_getEstimatedColumnSize",value:function(et){return typeof et.columnWidth=="number"?et.columnWidth:et.estimatedColumnSize}},{key:"_getEstimatedRowSize",value:function(et){return typeof et.rowHeight=="number"?et.rowHeight:et.estimatedRowSize}},{key:"_getScrollToPositionStateUpdate",value:function(et){var tt=et.prevState,rt=et.scrollLeft,at=et.scrollTop,nt={scrollPositionChangeReason:SCROLL_POSITION_CHANGE_REASONS.REQUESTED};return typeof rt=="number"&&rt>=0&&(nt.scrollDirectionHorizontal=rt>tt.scrollLeft?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD,nt.scrollLeft=rt),typeof at=="number"&&at>=0&&(nt.scrollDirectionVertical=at>tt.scrollTop?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD,nt.scrollTop=at),typeof rt=="number"&&rt>=0&&rt!==tt.scrollLeft||typeof at=="number"&&at>=0&&at!==tt.scrollTop?nt:null}},{key:"_wrapSizeGetter",value:function(et){return typeof et=="function"?et:function(){return et}}},{key:"_getCalculatedScrollLeft",value:function(et,tt){var rt=et.columnCount,at=et.height,nt=et.scrollToAlignment,it=et.scrollToColumn,ot=et.width,st=tt.scrollLeft,lt=tt.instanceProps;if(rt>0){var ct=rt-1,ut=it<0?ct:Math.min(ct,it),ft=lt.rowSizeAndPositionManager.getTotalSize(),At=lt.scrollbarSizeMeasured&&ft>at?lt.scrollbarSize:0;return lt.columnSizeAndPositionManager.getUpdatedOffsetForIndex({align:nt,containerSize:ot-At,currentOffset:st,targetIndex:ut})}return 0}},{key:"_getScrollLeftForScrollToColumnStateUpdate",value:function(et,tt){var rt=tt.scrollLeft,at=$._getCalculatedScrollLeft(et,tt);return typeof at=="number"&&at>=0&&rt!==at?$._getScrollToPositionStateUpdate({prevState:tt,scrollLeft:at,scrollTop:-1}):null}},{key:"_getCalculatedScrollTop",value:function(et,tt){var rt=et.height,at=et.rowCount,nt=et.scrollToAlignment,it=et.scrollToRow,ot=et.width,st=tt.scrollTop,lt=tt.instanceProps;if(at>0){var ct=at-1,ut=it<0?ct:Math.min(ct,it),ft=lt.columnSizeAndPositionManager.getTotalSize(),At=lt.scrollbarSizeMeasured&&ft>ot?lt.scrollbarSize:0;return lt.rowSizeAndPositionManager.getUpdatedOffsetForIndex({align:nt,containerSize:rt-At,currentOffset:st,targetIndex:ut})}return 0}},{key:"_getScrollTopForScrollToRowStateUpdate",value:function(et,tt){var rt=tt.scrollTop,at=$._getCalculatedScrollTop(et,tt);return typeof at=="number"&&at>=0&&rt!==at?$._getScrollToPositionStateUpdate({prevState:tt,scrollLeft:-1,scrollTop:at}):null}}]),$}(React$1.PureComponent);Grid$2.defaultProps={"aria-label":"grid","aria-readonly":!0,autoContainerWidth:!1,autoHeight:!1,autoWidth:!1,cellRangeRenderer:_defaultCellRangeRenderer2.default,containerRole:"rowgroup",containerStyle:{},estimatedColumnSize:100,estimatedRowSize:30,getScrollbarSize:_scrollbarSize2.default,noContentRenderer:renderNull,onScroll:function o(){},onScrollbarPresenceChange:function o(){},onSectionRendered:function o(){},overscanColumnCount:0,overscanIndicesGetter:_defaultOverscanIndicesGetter2.default,overscanRowCount:10,role:"grid",scrollingResetTimeInterval:DEFAULT_SCROLLING_RESET_TIME_INTERVAL,scrollToAlignment:"auto",scrollToColumn:-1,scrollToRow:-1,style:{},tabIndex:0,isScrollingOptOut:!1};Grid$2.propTypes=null;(0,_reactLifecyclesCompat.polyfill)(Grid$2);Grid$3.default=Grid$2;var accessibilityOverscanIndicesGetter={};Object.defineProperty(accessibilityOverscanIndicesGetter,"__esModule",{value:!0});accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_VERTICAL=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_HORIZONTAL=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD=void 0;accessibilityOverscanIndicesGetter.default=defaultOverscanIndicesGetter;requireTypes();accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD=-1;var SCROLL_DIRECTION_FORWARD=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD=1;accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_HORIZONTAL="horizontal";accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_VERTICAL="vertical";function defaultOverscanIndicesGetter(o){var $=o.cellCount,_e=o.overscanCellsCount,et=o.scrollDirection,tt=o.startIndex,rt=o.stopIndex;return _e=Math.max(1,_e),et===SCROLL_DIRECTION_FORWARD?{overscanStartIndex:Math.max(0,tt-1),overscanStopIndex:Math.min($-1,rt+_e)}:{overscanStartIndex:Math.max(0,tt-_e),overscanStopIndex:Math.min($-1,rt+1)}}(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.bpfrpt_proptype_Scroll=o.bpfrpt_proptype_CellRendererParams=o.bpfrpt_proptype_RenderedSection=o.bpfrpt_proptype_OverscanIndicesGetter=o.bpfrpt_proptype_CellSize=o.bpfrpt_proptype_CellPosition=o.bpfrpt_proptype_Alignment=o.bpfrpt_proptype_NoContentRenderer=o.defaultOverscanIndicesGetter=o.defaultCellRangeRenderer=o.accessibilityOverscanIndicesGetter=o.Grid=o.default=void 0;var $=Grid$3;Object.defineProperty(o,"default",{enumerable:!0,get:function(){return at($).default}}),Object.defineProperty(o,"Grid",{enumerable:!0,get:function(){return at($).default}});var _e=accessibilityOverscanIndicesGetter;Object.defineProperty(o,"accessibilityOverscanIndicesGetter",{enumerable:!0,get:function(){return at(_e).default}});var et=defaultCellRangeRenderer$1;Object.defineProperty(o,"defaultCellRangeRenderer",{enumerable:!0,get:function(){return at(et).default}});var tt=defaultOverscanIndicesGetter$2;Object.defineProperty(o,"defaultOverscanIndicesGetter",{enumerable:!0,get:function(){return at(tt).default}});var rt=requireTypes();function at(nt){return nt&&nt.__esModule?nt:{default:nt}}o.bpfrpt_proptype_NoContentRenderer=rt.bpfrpt_proptype_NoContentRenderer,o.bpfrpt_proptype_Alignment=rt.bpfrpt_proptype_Alignment,o.bpfrpt_proptype_CellPosition=rt.bpfrpt_proptype_CellPosition,o.bpfrpt_proptype_CellSize=rt.bpfrpt_proptype_CellSize,o.bpfrpt_proptype_OverscanIndicesGetter=rt.bpfrpt_proptype_OverscanIndicesGetter,o.bpfrpt_proptype_RenderedSection=rt.bpfrpt_proptype_RenderedSection,o.bpfrpt_proptype_CellRendererParams=rt.bpfrpt_proptype_CellRendererParams,o.bpfrpt_proptype_Scroll=rt.bpfrpt_proptype_Scroll})(Grid$4);var types={};Object.defineProperty(types,"__esModule",{value:!0});types.bpfrpt_proptype_Scroll=types.bpfrpt_proptype_RenderedRows=types.bpfrpt_proptype_RowRenderer=types.bpfrpt_proptype_RowRendererParams=void 0;var _react$1=reactExports;_interopRequireWildcard$1(_react$1);var _propTypes$1=propTypesExports;_interopRequireDefault$4(_propTypes$1);function _interopRequireDefault$4(o){return o&&o.__esModule?o:{default:o}}function _interopRequireWildcard$1(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.prototype.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$}var bpfrpt_proptype_RowRendererParams=null,bpfrpt_proptype_RowRenderer=null,bpfrpt_proptype_RenderedRows=null,bpfrpt_proptype_Scroll=null;types.bpfrpt_proptype_RowRendererParams=bpfrpt_proptype_RowRendererParams;types.bpfrpt_proptype_RowRenderer=bpfrpt_proptype_RowRenderer;types.bpfrpt_proptype_RenderedRows=bpfrpt_proptype_RenderedRows;types.bpfrpt_proptype_Scroll=bpfrpt_proptype_Scroll;Object.defineProperty(List$2,"__esModule",{value:!0});var _extends2=_extends$2a,_extends3=_interopRequireDefault$3(_extends2),_getOwnPropertyDescriptor=getOwnPropertyDescriptorExports,_getOwnPropertyDescriptor2=_interopRequireDefault$3(_getOwnPropertyDescriptor),_getPrototypeOf$b=getPrototypeOfExports,_getPrototypeOf2=_interopRequireDefault$3(_getPrototypeOf$b),_classCallCheck2=classCallCheck$2,_classCallCheck3=_interopRequireDefault$3(_classCallCheck2),_createClass2=createClass$2,_createClass3=_interopRequireDefault$3(_createClass2),_possibleConstructorReturn2=possibleConstructorReturn$2,_possibleConstructorReturn3=_interopRequireDefault$3(_possibleConstructorReturn2),_inherits2=inherits$2,_inherits3=_interopRequireDefault$3(_inherits2),_Grid=Grid$4,_Grid2=_interopRequireDefault$3(_Grid),_react=reactExports,React=_interopRequireWildcard(_react),_classnames=classnamesExports,_classnames2=_interopRequireDefault$3(_classnames),_propTypes=propTypesExports;_interopRequireDefault$3(_propTypes);function _interopRequireWildcard(o){if(o&&o.__esModule)return o;var $={};if(o!=null)for(var _e in o)Object.prototype.hasOwnProperty.call(o,_e)&&($[_e]=o[_e]);return $.default=o,$}function _interopRequireDefault$3(o){return o&&o.__esModule?o:{default:o}}var List$1=function(o){(0,_inherits3.default)($,o);function $(){var _e,et,tt,rt;(0,_classCallCheck3.default)(this,$);for(var at=arguments.length,nt=Array(at),it=0;it0&&arguments[0]!==void 0?arguments[0]:{},tt=et.columnIndex,rt=tt===void 0?0:tt,at=et.rowIndex,nt=at===void 0?0:at;this.Grid&&this.Grid.recomputeGridSize({rowIndex:nt,columnIndex:rt})}},{key:"recomputeRowHeights",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.Grid&&this.Grid.recomputeGridSize({rowIndex:et,columnIndex:0})}},{key:"scrollToPosition",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.Grid&&this.Grid.scrollToPosition({scrollTop:et})}},{key:"scrollToRow",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:et})}},{key:"render",value:function(){var et=this.props,tt=et.className,rt=et.noRowsRenderer,at=et.scrollToIndex,nt=et.width,it=(0,_classnames2.default)("ReactVirtualized__List",tt);return React.createElement(_Grid2.default,(0,_extends3.default)({},this.props,{autoContainerWidth:!0,cellRenderer:this._cellRenderer,className:it,columnWidth:nt,columnCount:1,noContentRenderer:rt,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,scrollToRow:at}))}}]),$}(React.PureComponent);List$1.defaultProps={autoHeight:!1,estimatedRowSize:30,onScroll:function o(){},noRowsRenderer:function o(){return null},onRowsRendered:function o(){},overscanIndicesGetter:_Grid.accessibilityOverscanIndicesGetter,overscanRowCount:10,scrollToAlignment:"auto",scrollToIndex:-1,style:{}};List$1.propTypes=null;List$2.default=List$1;(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.bpfrpt_proptype_RowRendererParams=o.List=o.default=void 0;var $=List$2;Object.defineProperty(o,"default",{enumerable:!0,get:function(){return et($).default}}),Object.defineProperty(o,"List",{enumerable:!0,get:function(){return et($).default}});var _e=types;function et(tt){return tt&&tt.__esModule?tt:{default:tt}}o.bpfrpt_proptype_RowRendererParams=_e.bpfrpt_proptype_RowRendererParams})(List$3);const List=getDefaultExportFromCjs(List$3);var VirtualizedSelect=function(o){_default$8($,o);function $(_e,et){_default$c(this,$);var tt=_default$9(this,($.__proto__||_Object$getPrototypeOf($)).call(this,_e,et));return tt._renderMenu=tt._renderMenu.bind(tt),tt._optionRenderer=tt._optionRenderer.bind(tt),tt._setListRef=tt._setListRef.bind(tt),tt._setSelectRef=tt._setSelectRef.bind(tt),tt}return _default$b($,[{key:"recomputeOptionHeights",value:function(){var et=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this._listRef&&this._listRef.recomputeRowHeights(et)}},{key:"focus",value:function(){if(this._selectRef)return this._selectRef.focus()}},{key:"render",value:function(){var et=this._getSelectComponent();return React$k.createElement(et,_default$bE({},this.props,{ref:this._setSelectRef,menuRenderer:this._renderMenu,menuStyle:{overflow:"hidden"}}))}},{key:"_renderMenu",value:function(et){var tt=this,rt=et.focusedOption,at=et.focusOption,nt=et.labelKey,it=et.onSelect,ot=et.options;et.selectValue;var st=et.valueArray,lt=et.valueKey,ct=this.props,ut=ct.listProps,ft=ct.optionRenderer,At=ot.indexOf(rt),vt=this._calculateListHeight({options:ot}),ht=ft||this._optionRenderer;function mt(bt){var dt=bt.index,xt=bt.key,Ct=bt.style,gt=ot[dt];return ht({focusedOption:rt,focusedOptionIndex:At,focusOption:at,key:xt,labelKey:nt,onSelect:it,option:gt,optionIndex:dt,options:ot,selectValue:it,style:Ct,valueArray:st,valueKey:lt})}return React$k.createElement(AutoSizer,{disableHeight:!0},function(bt){var dt=bt.width;return React$k.createElement(List,_default$bE({className:"VirtualSelectGrid",height:vt,ref:tt._setListRef,rowCount:ot.length,rowHeight:function(Ct){var gt=Ct.index;return tt._getOptionHeight({option:ot[gt]})},rowRenderer:mt,scrollToIndex:At,width:dt},ut))})}},{key:"_calculateListHeight",value:function(et){for(var tt=et.options,rt=this.props.maxHeight,at=0,nt=0;ntrt)return rt}return at}},{key:"_getOptionHeight",value:function(et){var tt=et.option,rt=this.props.optionHeight;return rt instanceof Function?rt({option:tt}):rt}},{key:"_getSelectComponent",value:function(){var et=this.props,tt=et.async,rt=et.selectComponent;return rt||(tt?Select$1.Async:Select$1)}},{key:"_optionRenderer",value:function(et){var tt=et.focusedOption,rt=et.focusOption,at=et.key,nt=et.labelKey,it=et.option,ot=et.selectValue,st=et.style,lt=et.valueArray,ct=["VirtualizedSelectOption"];it===tt&&ct.push("VirtualizedSelectFocusedOption"),it.disabled&&ct.push("VirtualizedSelectDisabledOption"),lt&<.indexOf(it)>=0&&ct.push("VirtualizedSelectSelectedOption"),it.className&&ct.push(it.className);var ut=it.disabled?{}:{onClick:function(){return ot(it)},onMouseEnter:function(){return rt(it)}};return React$k.createElement("div",_default$bE({className:ct.join(" "),key:at,style:st,title:it.title},ut),it[nt])}},{key:"_setListRef",value:function(et){this._listRef=et}},{key:"_setSelectRef",value:function(et){this._selectRef=et}}]),$}(reactExports.Component);VirtualizedSelect.propTypes={async:propTypesExports.bool,listProps:propTypesExports.object,maxHeight:propTypesExports.number,optionHeight:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.func]),optionRenderer:propTypesExports.func,selectComponent:propTypesExports.func};VirtualizedSelect.defaultProps={async:!1,maxHeight:200,optionHeight:35};const reactSelect="",styles$1="",styles="",VirtSelect$1="";function renderOption({focusedOption:o,focusOption:$,key:_e,labelKey:et,option:tt,selectValue:rt,style:at,valueArray:nt}){const it=["VirtSelect--option"];tt===o&&it.push("is-focused"),tt.disabled&&it.push("is-disabled"),nt&&nt.indexOf(tt)>=0&&it.push("is-selected"),tt.className&&it.push(tt.className);const ot=tt.disabled?{}:{onClick:()=>rt(tt),onMouseEnter:()=>$(tt)};return jsxRuntimeExports.jsx("div",{className:it.join(" "),style:at,title:tt.title,...ot,children:tt[et]},_e)}function renderArrow({isOpen:o}){return jsxRuntimeExports.jsx(Icon$1,{className:`VirtSelect--arrow ${o?"is-open":""}`,type:"down"})}function VirtSelect(o){return jsxRuntimeExports.jsx(VirtualizedSelect,{className:"VirtSelect",arrowRenderer:renderArrow,optionRenderer:renderOption,...o})}var baseSlice=_baseSlice;function baseWhile$1(o,$,_e,et){for(var tt=o.length,rt=et?tt:-1;(et?rt--:++rtito);if($.ofPrevious===1e3)return`${round_1(o/$.microseconds,2)}${$.unit}`;const tt=`${Math.floor(o/$.microseconds)}${$.unit}`,rt=Math.round(o/_e.microseconds%$.ofPrevious),at=`${rt}${_e.unit}`;return rt===0?tt:`${tt} ${at}`}function formatRelativeDate(o,$=!1){const _e=hooks$1.isMoment(o)?o:hooks$1(o),et=$?"MMMM":"MMM",tt=new Date;if(tt.getFullYear()!==_e.year())return _e.format(`${et} D, YYYY`);const rt=_e.month(),at=_e.date(),nt=tt.getDate();return rt===tt.getMonth()&&at===nt?TODAY:(tt.setDate(nt-1),rt===tt.getMonth()&&at===tt.getDate()?YESTERDAY:_e.format(`${et} D`))}const getSuitableTimeUnit=o=>{if(o<1e3)return"microseconds";const $=hooks$1.duration(o/1e3,"ms");return Object.keys(timeUnitToShortTermMapper).reverse().find(_e=>$.as(_e)>=1)};function convertTimeUnitToShortTerm(o){if(o==="microseconds")return"μs";const $=timeUnitToShortTermMapper[o];return $||""}function convertToTimeUnit(o,$){return o<1e3?o:hooks$1.duration(o/1e3,"ms").as($)}function timeConversion(o){if(o<1e3)return`${o}μs`;const $=getSuitableTimeUnit(o);return`${hooks$1.duration(o/1e3,"ms").as($)}${convertTimeUnitToShortTerm($)}`}const reduxFormFieldAdapter$1="",noop$4=()=>{};function reduxFormFieldAdapter({AntInputComponent:o,onChangeAdapter:$,isValidatedInput:_e=!1}){return function(tt){const{input:{onBlur:rt,onChange:at,onFocus:nt,value:it},children:ot,...st}=tt,lt=!st.meta.active&&!!st.meta.error,ct=jsxRuntimeExports.jsx(o,{className:classnamesExports({"is-invalid":lt,"AdaptedReduxFormField--isValidatedInput":_e}),onBlur:_e&&rt?rt:noop$4,onFocus:_e&&nt?nt:noop$4,onChange:$?ut=>at($(ut)):at,value:it,...st,children:ot});return _e?jsxRuntimeExports.jsx(Popover,{placement:"bottomLeft",visible:lt,...st.meta.error,children:ct}):ct}}const SearchForm$1="",FormItem$2=Form.Item,Option$2=Select.Option,AdaptedInput=reduxFormFieldAdapter({AntInputComponent:Input$1}),AdaptedSelect=reduxFormFieldAdapter({AntInputComponent:Select}),AdaptedVirtualSelect$1=reduxFormFieldAdapter({AntInputComponent:VirtSelect,onChangeAdapter:o=>o?o.value:null}),ValidatedAdaptedInput=reduxFormFieldAdapter({AntInputComponent:Input$1,isValidatedInput:!0});function getUnixTimeStampInMSFromForm({startDate:o,startDateTime:$,endDate:_e,endDateTime:et}){const tt=`${o} ${$}`,rt=`${_e} ${et}`;return{start:`${hooks$1(tt,"YYYY-MM-DD HH:mm").valueOf()}000`,end:`${hooks$1(rt,"YYYY-MM-DD HH:mm").valueOf()}000`}}function convTagsLogfmt(o){if(!o)return null;const $=logfmt_parser.parse(o);return Object.keys($).forEach(_e=>{const et=$[_e];typeof et!="string"&&($[_e]=String(et))}),JSON.stringify($)}function lookbackToTimestamp(o,$){const _e=o.substr(-1);return hooks$1($).subtract(parseInt(o,10),_e).valueOf()*1e3}const lookbackOptions=[{label:"5 Minutes",value:"5m"},{label:"15 Minutes",value:"15m"},{label:"30 Minutes",value:"30m"},{label:"Hour",value:"1h"},{label:"2 Hours",value:"2h"},{label:"3 Hours",value:"3h"},{label:"6 Hours",value:"6h"},{label:"12 Hours",value:"12h"},{label:"24 Hours",value:"24h"},{label:"2 Days",value:"2d"},{label:"3 Days",value:"3d"},{label:"5 Days",value:"5d"},{label:"7 Days",value:"7d"},{label:"2 Weeks",value:"2w"},{label:"3 Weeks",value:"3w"},{label:"4 Weeks",value:"4w"}],optionsWithinMaxLookback=memoizeOne$1(o=>{const $=new Date,_e=lookbackToTimestamp(o.value,$),et=new Map,tt=lookbackOptions.filter(({value:nt})=>{const it=lookbackToTimestamp(nt,$);return et.set(nt,it),it>=_e}),rt=tt.length-1,at=tt[rt];return at.label!==o.label&&(et.get(at.value)!==_e?tt.push(o):tt.splice(rt,1,o)),tt.map(({label:nt,value:it})=>jsxRuntimeExports.jsxs(Option$2,{value:it,children:["Last ",nt]},it))}),placeholderDurationFields="e.g. 1.2s, 100ms, 500us";function validateDurationFields(o){if(o)return/\d[\d\\.]*(us|ms|s|m|h)$/.test(o)?void 0:{content:`Please enter a number followed by a duration unit, ${placeholderDurationFields}`,title:"Please match the requested format."}}function convertQueryParamsToFormDates({start:o,end:$}){let _e,et,tt,rt;if($){const at=parseInt($,10);tt=formatDate(at),rt=formatTime(at)}if(o){const at=parseInt(o,10);_e=formatDate(at),et=formatTime(at)}return{queryStartDate:_e,queryStartDateTime:et,queryEndDate:tt,queryEndDateTime:rt}}function submitForm(o,$){const{resultsLimit:_e,service:et,startDate:tt,startDateTime:rt,endDate:at,endDateTime:nt,operation:it,tags:ot,minDuration:st,maxDuration:lt,lookback:ct}=o;store_legacy.set("lastSearch",{service:et,operation:it});let ut,ft;if(ct!=="custom"){const At=new Date;ut=lookbackToTimestamp(ct,At),ft=At*1e3}else{const At=getUnixTimeStampInMSFromForm({startDate:tt,startDateTime:rt,endDate:at,endDateTime:nt});ut=At.start,ft=At.end}trackFormInput(_e,it,ot,st,lt,ct,et),$({service:et,operation:it!==DEFAULT_OPERATION?it:void 0,limit:_e,lookback:ct,start:ut,end:ft,tags:convTagsLogfmt(ot)||void 0,minDuration:st||null,maxDuration:lt||null})}class SearchFormImpl extends reactExports.PureComponent{render(){const{handleSubmit:$,invalid:_e,searchMaxLookback:et,selectedLookback:tt,selectedService:rt="-",services:at,submitting:nt}=this.props,it=at.find(ct=>ct.name===rt),ot=it&&it.operations||[],st=rt==="-"||!rt,lt=tt==="custom"?new Date().toTimeString().replace(/^.*?GMT/,"UTC"):null;return jsxRuntimeExports.jsxs(Form,{layout:"vertical",onSubmit:$,children:[jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("span",{children:["Service ",jsxRuntimeExports.jsxs("span",{className:"SearchForm--labelCount",children:["(",at.length,")"]})]}),children:jsxRuntimeExports.jsx(Field,{name:"service",component:AdaptedVirtualSelect$1,placeholder:"Select A Service",props:{disabled:nt,clearable:!1,options:at.map(ct=>({label:ct.name,value:ct.name})),required:!0}})}),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("span",{children:["Operation ",jsxRuntimeExports.jsxs("span",{className:"SearchForm--labelCount",children:["(",ot?ot.length:0,")"]})]}),children:jsxRuntimeExports.jsx(Field,{name:"operation",component:AdaptedVirtualSelect$1,placeholder:"Select An Operation",props:{clearable:!1,disabled:nt||st,options:["all"].concat(ot).map(ct=>({label:ct,value:ct,title:ct})),required:!0}})}),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["Tags"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",title:[jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Values should be in the"," ",jsxRuntimeExports.jsx("a",{href:"https://brandur.org/logfmt",rel:"noopener noreferrer",target:"_blank",children:"logfmt"})," ","format."]},"title"),jsxRuntimeExports.jsxs("ul",{className:"SearchForm--tagsHintInfo",children:[jsxRuntimeExports.jsx("li",{children:"Use space for conjunctions"}),jsxRuntimeExports.jsx("li",{children:"Values containing whitespace should be enclosed in quotes"})]},"info")],content:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("code",{className:"SearchForm--tagsHintEg",children:'error=true db.statement="select * from User"'})}),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsx(Field,{name:"tags",component:AdaptedInput,placeholder:"http.status_code=200 error=true",props:{disabled:nt}})}),jsxRuntimeExports.jsx(FormItem$2,{label:"Lookback",children:jsxRuntimeExports.jsxs(Field,{name:"lookback",component:AdaptedSelect,props:{disabled:nt,defaultValue:"1h"},children:[optionsWithinMaxLookback(et),jsxRuntimeExports.jsx(Option$2,{value:"custom",children:"Custom Time Range"})]})}),tt==="custom"&&[jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["Start Time"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",content:jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Times are expressed in ",lt]},"title"),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:14,children:jsxRuntimeExports.jsx(Field,{name:"startDate",type:"date",component:AdaptedInput,placeholder:"Start Date",props:{disabled:nt}})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:10,children:jsxRuntimeExports.jsx(Field,{name:"startDateTime",type:"time",component:AdaptedInput,props:{disabled:nt}})})]})},"start"),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["End Time"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",content:jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Times are expressed in ",lt]},"title"),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:14,children:jsxRuntimeExports.jsx(Field,{name:"endDate",type:"date",component:AdaptedInput,placeholder:"End Date",props:{disabled:nt}})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:10,children:jsxRuntimeExports.jsx(Field,{name:"endDateTime",type:"time",component:AdaptedInput,props:{disabled:nt}})})]})},"end")],jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:12,children:jsxRuntimeExports.jsx(FormItem$2,{label:"Max Duration",children:jsxRuntimeExports.jsx(Field,{name:"maxDuration",component:ValidatedAdaptedInput,placeholder:placeholderDurationFields,props:{disabled:nt},validate:validateDurationFields})})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:12,children:jsxRuntimeExports.jsx(FormItem$2,{label:"Min Duration",children:jsxRuntimeExports.jsx(Field,{name:"minDuration",component:ValidatedAdaptedInput,placeholder:placeholderDurationFields,props:{disabled:nt},validate:validateDurationFields})})})]}),jsxRuntimeExports.jsx(FormItem$2,{label:"Limit Results",children:jsxRuntimeExports.jsx(Field,{name:"resultsLimit",type:"number",component:AdaptedInput,placeholder:"Limit Results",props:{disabled:nt,min:1,max:getConfigValue("search.maxLimit")}})}),jsxRuntimeExports.jsx(Button$2,{htmlType:"submit",className:"SearchForm--submit",disabled:nt||st||_e,"data-test":SUBMIT_BTN,children:"Find Traces"})]})}}SearchFormImpl.propTypes={handleSubmit:propTypesExports.func.isRequired,invalid:propTypesExports.bool,submitting:propTypesExports.bool,searchMaxLookback:propTypesExports.shape({label:propTypesExports.string.isRequired,value:propTypesExports.string.isRequired}).isRequired,services:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string,operations:propTypesExports.arrayOf(propTypesExports.string)})),selectedService:propTypesExports.string,selectedLookback:propTypesExports.string};SearchFormImpl.defaultProps={invalid:!1,services:[],submitting:!1,selectedService:null,selectedLookback:null};const searchSideBarFormSelector=formValueSelector("searchSideBar");function mapStateToProps$8(o){const{service:$,limit:_e,start:et,end:tt,operation:rt,tag:at,tags:nt,maxDuration:it,minDuration:ot,lookback:st,traceID:lt}=queryString.parse(o.router.location.search),ct=hooks$1().valueOf()*1e3,ut=formatDate(ct),ft=formatTime(ct),At=store_legacy.get("lastSearch");let vt,ht;if(At){const{operation:wt,service:_t}=At;if(_t&&_t!=="-"&&o.services.services.includes(_t)&&(vt=_t,wt&&wt!=="-")){const Et=o.services.operationsForService[_t];(wt==="all"||Et&&Et.includes(wt))&&(ht=wt)}}const{queryStartDate:mt,queryStartDateTime:bt,queryEndDate:dt,queryEndDateTime:xt}=convertQueryParamsToFormDates({start:et,end:tt});let Ct;if(at){let wt=function(Et,It){const Tt=It.split(":",2),Rt=Tt[0];return Rt?(Et[Rt]=Tt[1]==null?"":Tt[1],!0):!1},_t;if(Array.isArray(at))_t=at.reduce((Et,It)=>(wt(Et,It),Et),{});else if(typeof at=="string"){const Et={};_t=wt(Et,at)?Et:null}if(_t)try{Ct=stringify_1(_t)}catch(Et){Ct="Parse Error"}else Ct="Parse Error"}if(nt){let wt;try{wt=JSON.parse(nt),Ct=stringify_1(wt)}catch(_t){Ct="Parse Error"}}let gt;return lt&&(gt=lt instanceof Array?lt.join(","):lt),{destroyOnUnmount:!1,initialValues:{service:$||vt||"-",resultsLimit:_e||DEFAULT_LIMIT,lookback:st||DEFAULT_LOOKBACK,startDate:mt||ut,startDateTime:bt||"00:00",endDate:dt||ut,endDateTime:xt||ft,operation:rt||ht||DEFAULT_OPERATION,tags:Ct,minDuration:ot||null,maxDuration:it||null,traceIDs:gt||null},searchMaxLookback:get_1$1(o,"config.search.maxLookback"),selectedService:searchSideBarFormSelector(o,"service"),selectedLookback:searchSideBarFormSelector(o,"lookback")}}function mapDispatchToProps$7(o){const{searchTraces:$}=bindActionCreators(jaegerApiActions,o);return{onSubmit:_e=>submitForm(_e,$)}}const SearchForm=connect$3(mapStateToProps$8,mapDispatchToProps$7)(reduxForm({form:"searchSideBar"})(SearchFormImpl)),CATEGORY_ALT_VIEW$1="jaeger/ux/search-results/alt-view",CATEGORY_CONVERSIONS="jaeger/ux/search-results/conversions";var EAltViewActions=(o=>(o.Ddg="ddg",o.Traces="traces",o))(EAltViewActions||{});function trackAltView(o){trackEvent(CATEGORY_ALT_VIEW$1,o)}function trackConversions(o){trackEvent(CATEGORY_CONVERSIONS,o)}function viewAllDep({ctrlKey:o,metaKey:$}){trackConversions(EAltViewActions.Ddg);const{density:_e,operation:et,service:tt,showOp:rt}=getUrlState$2(window.location.search);window.open(getUrl$4({density:_e,operation:et,service:tt,showOp:rt}),o||$?"_blank":"_self")}function AltViewOptions$2(o){const{onDdgViewClicked:$,traceResultsView:_e}=o,et=jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:$,children:_e?"Deep Dependency Graph":"Trace Results"});return _e||!getConfigValue("deepDependencies.menuEnabled")?et:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[et,jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:viewAllDep,children:"View All Dependencies"})]})}function DownloadResults(o){const{onDownloadResultsClicked:$}=o;return jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:$,children:"Download Results"})}const TraceName$1="";function TraceName(o){const{className:$,error:_e,state:et,traceName:tt}=o,rt=et===fetchedState.ERROR;let at=tt||FALLBACK_TRACE_NAME,nt="";if(rt){nt="is-error";let it="";_e&&(it=typeof _e=="string"?_e:_e.message||String(_e)),it||(it="Error: Unknown error"),at=it,at=jsxRuntimeExports.jsx(BreakableText,{text:it})}else if(et===fetchedState.LOADING)at=jsxRuntimeExports.jsx(LoadingIndicator,{small:!0});else{const it=String(tt||FALLBACK_TRACE_NAME);at=jsxRuntimeExports.jsx(BreakableText,{text:it})}return jsxRuntimeExports.jsx("span",{className:`TraceName ${nt} ${$||""}`,children:at})}const ResultItemTitle$1="",DEFAULT_DURATION_PERCENT=0,stopCheckboxPropagation=o=>o.stopPropagation();class ResultItemTitle extends reactExports.PureComponent{constructor(){super(...arguments),this.toggleComparison=()=>{const{isInDiffCohort:$,toggleComparison:_e,traceID:et}=this.props;_e(et,$)}}render(){const{disableComparision:$,duration:_e,durationPercent:et,error:tt,isInDiffCohort:rt,linkTo:at,state:nt,targetBlank:it,traceID:ot,traceName:st}=this.props;let lt="div";const ct={className:"ResultItemTitle--item ub-flex-auto"};at&&(ct.to=at,lt=Link$1,it&&(ct.target="_blank",ct.rel="noopener noreferrer"));const ut=nt===fetchedState.ERROR,ft={className:"ResultItemTitle--item ub-flex-none",checked:!ut&&rt,disabled:ut,onChange:this.toggleComparison,onClick:stopCheckboxPropagation};return jsxRuntimeExports.jsxs("div",{className:"ResultItemTitle",children:[!$&&jsxRuntimeExports.jsx(Checkbox$1,{...ft}),jsxRuntimeExports.jsxs(lt,{...ct,children:[jsxRuntimeExports.jsx("span",{className:"ResultItemTitle--durationBar",style:{width:`${et||DEFAULT_DURATION_PERCENT}%`}}),_e!=null&&jsxRuntimeExports.jsx("span",{className:"ub-right ub-relative",children:formatDuration(_e)}),jsxRuntimeExports.jsxs("h3",{className:"ResultItemTitle--title",children:[jsxRuntimeExports.jsx(TraceName,{error:tt,state:nt,traceName:st}),jsxRuntimeExports.jsx("small",{className:"ResultItemTitle--idExcerpt",children:ot.slice(0,7)})]})]})]})}}ResultItemTitle.defaultProps={disableComparision:!1,durationPercent:DEFAULT_DURATION_PERCENT,error:void 0,state:void 0,targetBlank:!1};const DiffSelection$1="",CTA_MESSAGE=jsxRuntimeExports.jsx("h2",{className:"ub-m0",children:"Compare traces by selecting result items"});class DiffSelection extends reactExports.PureComponent{render(){const{toggleComparison:$,traces:_e}=this.props,et=_e.filter(at=>at.state!==fetchedState.ERROR).map(at=>at.id),tt=et.length>1?getUrl$1({cohort:et}):null,rt=jsxRuntimeExports.jsx(Button$2,{className:"ub-right",disabled:et.length<2,htmlType:"button",type:"primary",children:"Compare Traces"});return jsxRuntimeExports.jsxs("div",{className:`DiffSelection ${_e.length?"is-non-empty":""} ub-mb3`,children:[_e.length>0&&jsxRuntimeExports.jsx("div",{className:"DiffSelection--selectedItems",children:_e.map(at=>{const{data:nt,error:it,id:ot,state:st}=at;return jsxRuntimeExports.jsx(ResultItemTitle,{duration:nt&&nt.duration,error:it,isInDiffCohort:!0,linkTo:getUrl$6(ot),state:st,targetBlank:!0,toggleComparison:$,traceID:ot,traceName:nt&&nt.traceName},ot)})}),jsxRuntimeExports.jsx("div",{className:"DiffSelection--message",children:_e.length>0?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[tt?jsxRuntimeExports.jsx(Link$1,{to:tt,children:rt}):rt,jsxRuntimeExports.jsxs("h2",{className:"ub-m0",children:[et.length," Selected for comparison"]})]}):CTA_MESSAGE})]})}}const NO_RESULTS="no-results",index$m="",index$l="";function _extends$1b(){return _extends$1b=Object.assign||function(o){for(var $=1;$0?"-".concat(ot):ot,vt=classNames(st,ft,"".concat(ft,"-").concat(nt),(et={},_defineProperty$k(et,"".concat(ft,"-with-text").concat(At),lt),_defineProperty$k(et,"".concat(ft,"-dashed"),!!ct),et));return reactExports.createElement("div",_extends$1b({className:vt},ut,{role:"separator"}),lt&&reactExports.createElement("span",{className:"".concat(ft,"-inner-text")},lt))})};const Divider$1=Divider;function _typeof$8(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$8=function(_e){return typeof _e}:_typeof$8=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$8(o)}function _extends$1a(){return _extends$1a=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$a(o){return _getPrototypeOf$a=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$a(o)}var __rest$7=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$9(o){return _getPrototypeOf$9=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$9(o)}var __rest$6=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tto==="error"&&($===!0||$==="true"),trackTraceConversions=()=>trackConversions(EAltViewActions.Traces);class ResultItem extends reactExports.PureComponent{constructor($,_e){super($,_e);const{startTime:et,spans:tt}=$.trace,rt=hooks$1(et/1e3),at=new Set,nt=tt.filter(it=>{const ot=it.tags.some(isErrorTag);return ot&&at.add(it.process.serviceName),ot}).length;this.state={numSpans:tt.length,timeStr:rt.format("h:mm:ss a"),fromNow:rt.fromNow(),numErredSpans:nt,erroredServices:at}}render(){const{disableComparision:$,durationPercent:_e,isInDiffCohort:et,linkTo:tt,toggleComparison:rt,trace:at}=this.props,{duration:nt,services:it,startTime:ot,traceName:st,traceID:lt}=at;return jsxRuntimeExports.jsxs("div",{className:"ResultItem",onClick:trackTraceConversions,role:"button",children:[jsxRuntimeExports.jsx(ResultItemTitle,{duration:nt,durationPercent:_e,isInDiffCohort:et,linkTo:tt,toggleComparison:rt,traceID:lt,traceName:st,disableComparision:$}),jsxRuntimeExports.jsx(Link$1,{to:tt,children:jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:4,className:"ub-p2",children:[jsxRuntimeExports.jsxs(Tag$1,{className:"ub-m1","data-test":NUM_SPANS,children:[this.state.numSpans," Span",this.state.numSpans>1&&"s"]}),!!this.state.numErredSpans&&jsxRuntimeExports.jsxs(Tag$1,{className:"ub-m1",color:"red",children:[this.state.numErredSpans," Error",this.state.numErredSpans>1&&"s"]})]}),jsxRuntimeExports.jsx(Col,{span:16,className:"ub-p2",children:jsxRuntimeExports.jsx("ul",{className:"ub-list-reset","data-test":SERVICE_TAGS,children:lodashExports.sortBy(it,ct=>ct.name).map(ct=>{const{name:ut,numberOfSpans:ft}=ct;return jsxRuntimeExports.jsx("li",{className:"ub-inline-block ub-m1",children:jsxRuntimeExports.jsxs(Tag$1,{className:"ResultItem--serviceTag",style:{borderLeftColor:colorGenerator.getColorByKey(ut)},children:[this.state.erroredServices.has(ut)&&jsxRuntimeExports.jsx(IoAlert,{className:"ResultItem--errorIcon"}),ut," (",ft,")"]})},ut)})})}),jsxRuntimeExports.jsxs(Col,{span:4,className:"ub-p3 ub-tx-right-align",children:[formatRelativeDate(ot/1e3),jsxRuntimeExports.jsx(Divider$1,{type:"vertical"}),this.state.timeStr.slice(0,-3)," ",this.state.timeStr.slice(-2),jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("small",{children:this.state.fromNow})]})]})})]})}}function constant$5(o){return function(){return o}}function x$1(o){return o[0]}function y$1(o){return o[1]}function RedBlackTree(){this._=null}function RedBlackNode(o){o.U=o.C=o.L=o.R=o.P=o.N=null}RedBlackTree.prototype={constructor:RedBlackTree,insert:function(o,$){var _e,et,tt;if(o){if($.P=o,$.N=o.N,o.N&&(o.N.P=$),o.N=$,o.R){for(o=o.R;o.L;)o=o.L;o.L=$}else o.R=$;_e=o}else this._?(o=RedBlackFirst(this._),$.P=null,$.N=o,o.P=o.L=$,_e=o):($.P=$.N=null,this._=$,_e=null);for($.L=$.R=null,$.U=_e,$.C=!0,o=$;_e&&_e.C;)et=_e.U,_e===et.L?(tt=et.R,tt&&tt.C?(_e.C=tt.C=!1,et.C=!0,o=et):(o===_e.R&&(RedBlackRotateLeft(this,_e),o=_e,_e=o.U),_e.C=!1,et.C=!0,RedBlackRotateRight(this,et))):(tt=et.L,tt&&tt.C?(_e.C=tt.C=!1,et.C=!0,o=et):(o===_e.L&&(RedBlackRotateRight(this,_e),o=_e,_e=o.U),_e.C=!1,et.C=!0,RedBlackRotateLeft(this,et))),_e=o.U;this._.C=!1},remove:function(o){o.N&&(o.N.P=o.P),o.P&&(o.P.N=o.N),o.N=o.P=null;var $=o.U,_e,et=o.L,tt=o.R,rt,at;if(et?tt?rt=RedBlackFirst(tt):rt=et:rt=tt,$?$.L===o?$.L=rt:$.R=rt:this._=rt,et&&tt?(at=rt.C,rt.C=o.C,rt.L=et,et.U=rt,rt!==tt?($=rt.U,rt.U=o.U,o=rt.R,$.L=o,rt.R=tt,tt.U=rt):(rt.U=$,$=rt,o=rt.R)):(at=o.C,o=rt),o&&(o.U=$),!at){if(o&&o.C){o.C=!1;return}do{if(o===this._)break;if(o===$.L){if(_e=$.R,_e.C&&(_e.C=!1,$.C=!0,RedBlackRotateLeft(this,$),_e=$.R),_e.L&&_e.L.C||_e.R&&_e.R.C){(!_e.R||!_e.R.C)&&(_e.L.C=!1,_e.C=!0,RedBlackRotateRight(this,_e),_e=$.R),_e.C=$.C,$.C=_e.R.C=!1,RedBlackRotateLeft(this,$),o=this._;break}}else if(_e=$.L,_e.C&&(_e.C=!1,$.C=!0,RedBlackRotateRight(this,$),_e=$.L),_e.L&&_e.L.C||_e.R&&_e.R.C){(!_e.L||!_e.L.C)&&(_e.R.C=!1,_e.C=!0,RedBlackRotateLeft(this,_e),_e=$.L),_e.C=$.C,$.C=_e.L.C=!1,RedBlackRotateRight(this,$),o=this._;break}_e.C=!0,o=$,$=$.U}while(!o.C);o&&(o.C=!1)}}};function RedBlackRotateLeft(o,$){var _e=$,et=$.R,tt=_e.U;tt?tt.L===_e?tt.L=et:tt.R=et:o._=et,et.U=tt,_e.U=et,_e.R=et.L,_e.R&&(_e.R.U=_e),et.L=_e}function RedBlackRotateRight(o,$){var _e=$,et=$.L,tt=_e.U;tt?tt.L===_e?tt.L=et:tt.R=et:o._=et,et.U=tt,_e.U=et,_e.L=et.R,_e.L&&(_e.L.U=_e),et.R=_e}function RedBlackFirst(o){for(;o.L;)o=o.L;return o}function createEdge(o,$,_e,et){var tt=[null,null],rt=edges.push(tt)-1;return tt.left=o,tt.right=$,_e&&setEdgeEnd(tt,o,$,_e),et&&setEdgeEnd(tt,$,o,et),cells[o.index].halfedges.push(rt),cells[$.index].halfedges.push(rt),tt}function createBorderEdge(o,$,_e){var et=[$,_e];return et.left=o,et}function setEdgeEnd(o,$,_e,et){!o[0]&&!o[1]?(o[0]=et,o.left=$,o.right=_e):o.left===_e?o[1]=et:o[0]=et}function clipEdge(o,$,_e,et,tt){var rt=o[0],at=o[1],nt=rt[0],it=rt[1],ot=at[0],st=at[1],lt=0,ct=1,ut=ot-nt,ft=st-it,At;if(At=$-nt,!(!ut&&At>0)){if(At/=ut,ut<0){if(At0){if(At>ct)return;At>lt&&(lt=At)}if(At=et-nt,!(!ut&&At<0)){if(At/=ut,ut<0){if(At>ct)return;At>lt&&(lt=At)}else if(ut>0){if(At0)){if(At/=ft,ft<0){if(At0){if(At>ct)return;At>lt&&(lt=At)}if(At=tt-it,!(!ft&&At<0)){if(At/=ft,ft<0){if(At>ct)return;At>lt&&(lt=At)}else if(ft>0){if(At0)&&!(ct<1)||(lt>0&&(o[0]=[nt+lt*ut,it+lt*ft]),ct<1&&(o[1]=[nt+ct*ut,it+ct*ft])),!0}}}}}function connectEdge(o,$,_e,et,tt){var rt=o[1];if(rt)return!0;var at=o[0],nt=o.left,it=o.right,ot=nt[0],st=nt[1],lt=it[0],ct=it[1],ut=(ot+lt)/2,ft=(st+ct)/2,At,vt;if(ct===st){if(ut<$||ut>=et)return;if(ot>lt){if(!at)at=[ut,_e];else if(at[1]>=tt)return;rt=[ut,tt]}else{if(!at)at=[ut,tt];else if(at[1]<_e)return;rt=[ut,_e]}}else if(At=(ot-lt)/(ct-st),vt=ft-At*ut,At<-1||At>1)if(ot>lt){if(!at)at=[(_e-vt)/At,_e];else if(at[1]>=tt)return;rt=[(tt-vt)/At,tt]}else{if(!at)at=[(tt-vt)/At,tt];else if(at[1]<_e)return;rt=[(_e-vt)/At,_e]}else if(st=et)return;rt=[et,At*et+vt]}else{if(!at)at=[et,At*et+vt];else if(at[0]<$)return;rt=[$,At*$+vt]}return o[0]=at,o[1]=rt,!0}function clipEdges(o,$,_e,et){for(var tt=edges.length,rt;tt--;)(!connectEdge(rt=edges[tt],o,$,_e,et)||!clipEdge(rt,o,$,_e,et)||!(Math.abs(rt[0][0]-rt[1][0])>epsilon$2||Math.abs(rt[0][1]-rt[1][1])>epsilon$2))&&delete edges[tt]}function createCell(o){return cells[o.index]={site:o,halfedges:[]}}function cellHalfedgeAngle(o,$){var _e=o.site,et=$.left,tt=$.right;return _e===tt&&(tt=et,et=_e),tt?Math.atan2(tt[1]-et[1],tt[0]-et[0]):(_e===et?(et=$[1],tt=$[0]):(et=$[0],tt=$[1]),Math.atan2(et[0]-tt[0],tt[1]-et[1]))}function cellHalfedgeStart(o,$){return $[+($.left!==o.site)]}function cellHalfedgeEnd(o,$){return $[+($.left===o.site)]}function sortCellHalfedges(){for(var o=0,$=cells.length,_e,et,tt,rt;o<$;++o)if((_e=cells[o])&&(rt=(et=_e.halfedges).length)){var at=new Array(rt),nt=new Array(rt);for(tt=0;ttepsilon$2||Math.abs(vt-ut)>epsilon$2)&&(ot.splice(it,0,edges.push(createBorderEdge(nt,ft,Math.abs(At-o)epsilon$2?[o,Math.abs(ct-o)epsilon$2?[Math.abs(ut-et)epsilon$2?[_e,Math.abs(ct-_e)epsilon$2?[Math.abs(ut-$)=-epsilon2)){var ut=it*it+ot*ot,ft=st*st+lt*lt,At=(lt*ut-ot*ft)/ct,vt=(it*ft-st*ut)/ct,ht=circlePool.pop()||new Circle$3;ht.arc=o,ht.site=tt,ht.x=At+at,ht.y=(ht.cy=vt+nt)+Math.sqrt(At*At+vt*vt),o.circle=ht;for(var mt=null,bt=circles._;bt;)if(ht.yepsilon$2)nt=nt.L;else if(at=$-rightBreakPoint(nt,_e),at>epsilon$2){if(!nt.R){et=nt;break}nt=nt.R}else{rt>-epsilon$2?(et=nt.P,tt=nt):at>-epsilon$2?(et=nt,tt=nt.N):et=tt=nt;break}createCell(o);var it=createBeach(o);if(beaches.insert(et,it),!(!et&&!tt)){if(et===tt){detachCircle(et),tt=createBeach(et.site),beaches.insert(it,tt),it.edge=tt.edge=createEdge(et.site,it.site),attachCircle(et),attachCircle(tt);return}if(!tt){it.edge=createEdge(et.site,it.site);return}detachCircle(et),detachCircle(tt);var ot=et.site,st=ot[0],lt=ot[1],ct=o[0]-st,ut=o[1]-lt,ft=tt.site,At=ft[0]-st,vt=ft[1]-lt,ht=2*(ct*vt-ut*At),mt=ct*ct+ut*ut,bt=At*At+vt*vt,dt=[(vt*mt-ut*bt)/ht+st,(ct*bt-At*mt)/ht+lt];setEdgeEnd(tt.edge,ot,ft,dt),it.edge=createEdge(ot,o,null,dt),tt.edge=createEdge(o,ft,null,dt),attachCircle(et),attachCircle(tt)}}function leftBreakPoint(o,$){var _e=o.site,et=_e[0],tt=_e[1],rt=tt-$;if(!rt)return et;var at=o.P;if(!at)return-1/0;_e=at.site;var nt=_e[0],it=_e[1],ot=it-$;if(!ot)return nt;var st=nt-et,lt=1/rt-1/ot,ct=st/ot;return lt?(-ct+Math.sqrt(ct*ct-2*lt*(st*st/(-2*ot)-it+ot/2+tt-rt/2)))/lt+et:(et+nt)/2}function rightBreakPoint(o,$){var _e=o.N;if(_e)return leftBreakPoint(_e,$);var et=o.site;return et[1]===$?et[0]:1/0}var epsilon$2=1e-6,epsilon2=1e-12,beaches,cells,circles,edges;function triangleArea(o,$,_e){return(o[0]-_e[0])*($[1]-o[1])-(o[0]-$[0])*(_e[1]-o[1])}function lexicographic(o,$){return $[1]-o[1]||$[0]-o[0]}function Diagram(o,$){var _e=o.sort(lexicographic).pop(),et,tt,rt;for(edges=[],cells=new Array(o.length),beaches=new RedBlackTree,circles=new RedBlackTree;;)if(rt=firstCircle,_e&&(!rt||_e[1]=at)return null;var it=o-nt.site[0],ot=$-nt.site[1],st=it*it+ot*ot;do nt=et.cells[tt=rt],rt=null,nt.halfedges.forEach(function(lt){var ct=et.edges[lt],ut=ct.left;if(!((ut===nt.site||!ut)&&!(ut=ct.right))){var ft=o-ut[0],At=$-ut[1],vt=ft*ft+At*At;vt>8&15|$>>4&240,$>>4&15|$&240,($&15)<<4|$&15,1)):($=reHex6.exec(o))?rgbn(parseInt($[1],16)):($=reRgbInteger.exec(o))?new Rgb($[1],$[2],$[3],1):($=reRgbPercent.exec(o))?new Rgb($[1]*255/100,$[2]*255/100,$[3]*255/100,1):($=reRgbaInteger.exec(o))?rgba($[1],$[2],$[3],$[4]):($=reRgbaPercent.exec(o))?rgba($[1]*255/100,$[2]*255/100,$[3]*255/100,$[4]):($=reHslPercent.exec(o))?hsla($[1],$[2]/100,$[3]/100,1):($=reHslaPercent.exec(o))?hsla($[1],$[2]/100,$[3]/100,$[4]):named.hasOwnProperty(o)?rgbn(named[o]):o==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(o){return new Rgb(o>>16&255,o>>8&255,o&255,1)}function rgba(o,$,_e,et){return et<=0&&(o=$=_e=NaN),new Rgb(o,$,_e,et)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb$1(o,$,_e,et){return arguments.length===1?rgbConvert(o):new Rgb(o,$,_e,et==null?1:et)}function Rgb(o,$,_e,et){this.r=+o,this.g=+$,this.b=+_e,this.opacity=+et}define(Rgb,rgb$1,extend(Color,{brighter:function(o){return o=o==null?brighter:Math.pow(brighter,o),new Rgb(this.r*o,this.g*o,this.b*o,this.opacity)},darker:function(o){return o=o==null?darker:Math.pow(darker,o),new Rgb(this.r*o,this.g*o,this.b*o,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)},toString:function(){var o=this.opacity;return o=isNaN(o)?1:Math.max(0,Math.min(1,o)),(o===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(o===1?")":", "+o+")")}}));function hex(o){return o=Math.max(0,Math.min(255,Math.round(o)||0)),(o<16?"0":"")+o.toString(16)}function hsla(o,$,_e,et){return et<=0?o=$=_e=NaN:_e<=0||_e>=1?o=$=NaN:$<=0&&(o=NaN),new Hsl(o,$,_e,et)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var $=o.r/255,_e=o.g/255,et=o.b/255,tt=Math.min($,_e,et),rt=Math.max($,_e,et),at=NaN,nt=rt-tt,it=(rt+tt)/2;return nt?($===rt?at=(_e-et)/nt+(_e0&&it<1?0:at,new Hsl(at,nt,it,o.opacity)}function hsl(o,$,_e,et){return arguments.length===1?hslConvert(o):new Hsl(o,$,_e,et==null?1:et)}function Hsl(o,$,_e,et){this.h=+o,this.s=+$,this.l=+_e,this.opacity=+et}define(Hsl,hsl,extend(Color,{brighter:function(o){return o=o==null?brighter:Math.pow(brighter,o),new Hsl(this.h,this.s,this.l*o,this.opacity)},darker:function(o){return o=o==null?darker:Math.pow(darker,o),new Hsl(this.h,this.s,this.l*o,this.opacity)},rgb:function(){var o=this.h%360+(this.h<0)*360,$=isNaN(o)||isNaN(this.s)?0:this.s,_e=this.l,et=_e+(_e<.5?_e:1-_e)*$,tt=2*_e-et;return new Rgb(hsl2rgb(o>=240?o-240:o+120,tt,et),hsl2rgb(o,tt,et),hsl2rgb(o<120?o+240:o-120,tt,et),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));function hsl2rgb(o,$,_e){return(o<60?$+(_e-$)*o/60:o<180?_e:o<240?$+(_e-$)*(240-o)/60:$)*255}var deg2rad=Math.PI/180,rad2deg=180/Math.PI,K=18,Xn=.96422,Yn=1,Zn=.82521,t0$1=4/29,t1$1=6/29,t2=3*t1$1*t1$1,t3=t1$1*t1$1*t1$1;function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){if(isNaN(o.h))return new Lab(o.l,0,0,o.opacity);var $=o.h*deg2rad;return new Lab(o.l,Math.cos($)*o.c,Math.sin($)*o.c,o.opacity)}o instanceof Rgb||(o=rgbConvert(o));var _e=rgb2lrgb(o.r),et=rgb2lrgb(o.g),tt=rgb2lrgb(o.b),rt=xyz2lab((.2225045*_e+.7168786*et+.0606169*tt)/Yn),at,nt;return _e===et&&et===tt?at=nt=rt:(at=xyz2lab((.4360747*_e+.3850649*et+.1430804*tt)/Xn),nt=xyz2lab((.0139322*_e+.0971045*et+.7141733*tt)/Zn)),new Lab(116*rt-16,500*(at-rt),200*(rt-nt),o.opacity)}function lab(o,$,_e,et){return arguments.length===1?labConvert(o):new Lab(o,$,_e,et==null?1:et)}function Lab(o,$,_e,et){this.l=+o,this.a=+$,this.b=+_e,this.opacity=+et}define(Lab,lab,extend(Color,{brighter:function(o){return new Lab(this.l+K*(o==null?1:o),this.a,this.b,this.opacity)},darker:function(o){return new Lab(this.l-K*(o==null?1:o),this.a,this.b,this.opacity)},rgb:function(){var o=(this.l+16)/116,$=isNaN(this.a)?o:o+this.a/500,_e=isNaN(this.b)?o:o-this.b/200;return $=Xn*lab2xyz($),o=Yn*lab2xyz(o),_e=Zn*lab2xyz(_e),new Rgb(lrgb2rgb(3.1338561*$-1.6168667*o-.4906146*_e),lrgb2rgb(-.9787684*$+1.9161415*o+.033454*_e),lrgb2rgb(.0719453*$-.2289914*o+1.4052427*_e),this.opacity)}}));function xyz2lab(o){return o>t3?Math.pow(o,1/3):o/t2+t0$1}function lab2xyz(o){return o>t1$1?o*o*o:t2*(o-t0$1)}function lrgb2rgb(o){return 255*(o<=.0031308?12.92*o:1.055*Math.pow(o,1/2.4)-.055)}function rgb2lrgb(o){return(o/=255)<=.04045?o/12.92:Math.pow((o+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(o instanceof Lab||(o=labConvert(o)),o.a===0&&o.b===0)return new Hcl(NaN,0,o.l,o.opacity);var $=Math.atan2(o.b,o.a)*rad2deg;return new Hcl($<0?$+360:$,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function hcl(o,$,_e,et){return arguments.length===1?hclConvert(o):new Hcl(o,$,_e,et==null?1:et)}function Hcl(o,$,_e,et){this.h=+o,this.c=+$,this.l=+_e,this.opacity=+et}define(Hcl,hcl,extend(Color,{brighter:function(o){return new Hcl(this.h,this.c,this.l+K*(o==null?1:o),this.opacity)},darker:function(o){return new Hcl(this.h,this.c,this.l-K*(o==null?1:o),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);o instanceof Rgb||(o=rgbConvert(o));var $=o.r/255,_e=o.g/255,et=o.b/255,tt=(BC_DA*et+ED*$-EB*_e)/(BC_DA+ED-EB),rt=et-tt,at=(E*(_e-tt)-C*rt)/D,nt=Math.sqrt(at*at+rt*rt)/(E*tt*(1-tt)),it=nt?Math.atan2(at,rt)*rad2deg-120:NaN;return new Cubehelix(it<0?it+360:it,nt,tt,o.opacity)}function cubehelix$1(o,$,_e,et){return arguments.length===1?cubehelixConvert(o):new Cubehelix(o,$,_e,et==null?1:et)}function Cubehelix(o,$,_e,et){this.h=+o,this.s=+$,this.l=+_e,this.opacity=+et}define(Cubehelix,cubehelix$1,extend(Color,{brighter:function(o){return o=o==null?brighter:Math.pow(brighter,o),new Cubehelix(this.h,this.s,this.l*o,this.opacity)},darker:function(o){return o=o==null?darker:Math.pow(darker,o),new Cubehelix(this.h,this.s,this.l*o,this.opacity)},rgb:function(){var o=isNaN(this.h)?0:(this.h+120)*deg2rad,$=+this.l,_e=isNaN(this.s)?0:this.s*$*(1-$),et=Math.cos(o),tt=Math.sin(o);return new Rgb(255*($+_e*(A*et+B*tt)),255*($+_e*(C*et+D*tt)),255*($+_e*(E*et)),this.opacity)}}));function constant$4(o){return function(){return o}}function linear$1(o,$){return function(_e){return o+_e*$}}function exponential(o,$,_e){return o=Math.pow(o,_e),$=Math.pow($,_e)-o,_e=1/_e,function(et){return Math.pow(o+et*$,_e)}}function hue(o,$){var _e=$-o;return _e?linear$1(o,_e>180||_e<-180?_e-360*Math.round(_e/360):_e):constant$4(isNaN(o)?$:o)}function gamma(o){return(o=+o)==1?nogamma:function($,_e){return _e-$?exponential($,_e,o):constant$4(isNaN($)?_e:$)}}function nogamma(o,$){var _e=$-o;return _e?linear$1(o,_e):constant$4(isNaN(o)?$:o)}const rgb=function o($){var _e=gamma($);function et(tt,rt){var at=_e((tt=rgb$1(tt)).r,(rt=rgb$1(rt)).r),nt=_e(tt.g,rt.g),it=_e(tt.b,rt.b),ot=nogamma(tt.opacity,rt.opacity);return function(st){return tt.r=at(st),tt.g=nt(st),tt.b=it(st),tt.opacity=ot(st),tt+""}}return et.gamma=o,et}(1);function array$2(o,$){var _e=$?$.length:0,et=o?Math.min(_e,o.length):0,tt=new Array(et),rt=new Array(_e),at;for(at=0;at_e&&(rt=$.slice(_e,rt),nt[at]?nt[at]+=rt:nt[++at]=rt),(et=et[0])===(tt=tt[0])?nt[at]?nt[at]+=tt:nt[++at]=tt:(nt[++at]=null,it.push({i:at,x:reinterpolate$1(et,tt)})),_e=reB.lastIndex;return _e<$.length&&(rt=$.slice(_e),nt[at]?nt[at]+=rt:nt[++at]=rt),nt.length<2?it[0]?one(it[0].x):zero($):($=it.length,function(ot){for(var st=0,lt;st<$;++st)nt[(lt=it[st]).i]=lt.x(ot);return nt.join("")})}function interpolate(o,$){var _e=typeof $,et;return $==null||_e==="boolean"?constant$4($):(_e==="number"?reinterpolate$1:_e==="string"?(et=color($))?($=et,rgb):string:$ instanceof color?rgb:$ instanceof Date?date$1:Array.isArray($)?array$2:typeof $.valueOf!="function"&&typeof $.toString!="function"||isNaN($)?object:reinterpolate$1)(o,$)}function interpolateRound(o,$){return o=+o,$-=o,function(_e){return Math.round(o+$*_e)}}function cubehelix(o){return function $(_e){_e=+_e;function et(tt,rt){var at=o((tt=cubehelix$1(tt)).h,(rt=cubehelix$1(rt)).h),nt=nogamma(tt.s,rt.s),it=nogamma(tt.l,rt.l),ot=nogamma(tt.opacity,rt.opacity);return function(st){return tt.h=at(st),tt.s=nt(st),tt.l=it(Math.pow(st,_e)),tt.opacity=ot(st),tt+""}}return et.gamma=$,et}(1)}cubehelix(hue);var cubehelixLong=cubehelix(nogamma),MotionExports={},Motion$1={get exports(){return MotionExports},set exports(o){MotionExports=o}},mapToZeroExports={},mapToZero={get exports(){return mapToZeroExports},set exports(o){mapToZeroExports=o}};(function(o,$){$.__esModule=!0,$.default=_e;function _e(et){var tt={};for(var rt in et)Object.prototype.hasOwnProperty.call(et,rt)&&(tt[rt]=0);return tt}o.exports=$.default})(mapToZero,mapToZeroExports);var stripStyleExports={},stripStyle={get exports(){return stripStyleExports},set exports(o){stripStyleExports=o}};(function(o,$){$.__esModule=!0,$.default=_e;function _e(et){var tt={};for(var rt in et)Object.prototype.hasOwnProperty.call(et,rt)&&(tt[rt]=typeof et[rt]=="number"?et[rt]:et[rt].val);return tt}o.exports=$.default})(stripStyle,stripStyleExports);var stepperExports={},stepper={get exports(){return stepperExports},set exports(o){stepperExports=o}};(function(o,$){$.__esModule=!0,$.default=et;var _e=[0,0];function et(tt,rt,at,nt,it,ot,st){var lt=-it*(rt-nt),ct=-ot*at,ut=lt+ct,ft=at+ut*tt,At=rt+ft*tt;return Math.abs(ft)gt*10&&(Tt.accumulatedTime=0),Tt.accumulatedTime===0){Tt.animationID=null,Tt.startAnimationIfNecessary();return}var Lt=(Tt.accumulatedTime-Math.floor(Tt.accumulatedTime/gt)*gt)/gt,jt=Math.floor(Tt.accumulatedTime/gt),zt={},Nt={},Wt={},qt={};for(var nr in Ot)if(Object.prototype.hasOwnProperty.call(Ot,nr)){var ar=Ot[nr];if(typeof ar=="number")Wt[nr]=ar,qt[nr]=0,zt[nr]=ar,Nt[nr]=0;else{for(var Kt=Tt.state.lastIdealStyle[nr],er=Tt.state.lastIdealVelocity[nr],Ut=0;Utgt*10&&(Rt.accumulatedTime=0),Rt.accumulatedTime===0){Rt.animationID=null,Rt.startAnimationIfNecessary();return}for(var jt=(Rt.accumulatedTime-Math.floor(Rt.accumulatedTime/gt)*gt)/gt,zt=Math.floor(Rt.accumulatedTime/gt),Nt=[],Wt=[],qt=[],nr=[],ar=0;arat[mt])return-1;if(ut>it[mt]&&vtat[mt])return 1;if(ft>it[mt]&&At_t*10&&(Lt.accumulatedTime=0),Lt.accumulatedTime===0){Lt.animationID=null,Lt.startAnimationIfNecessary();return}for(var nr=(Lt.accumulatedTime-Math.floor(Lt.accumulatedTime/_t)*_t)/_t,ar=Math.floor(Lt.accumulatedTime/_t),Kt=Tt(Lt.props.willEnter,Lt.props.willLeave,Lt.props.didLeave,Lt.state.mergedPropsStyles,Nt,Lt.state.currentStyles,Lt.state.currentVelocities,Lt.state.lastIdealStyles,Lt.state.lastIdealVelocities),er=Kt[0],Ut=Kt[1],Ht=Kt[2],Ft=Kt[3],Vt=Kt[4],Jt=0;Jt=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}var ANIMATION_PROPTYPES=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.shape({stiffness:propTypesExports.number,nonAnimatedProps:propTypesExports.arrayOf(propTypesExports.string),damping:propTypesExports.number}),propTypesExports.bool]),propTypes$b={animatedProps:propTypesExports.arrayOf(propTypesExports.string).isRequired,animation:ANIMATION_PROPTYPES,onStart:propTypesExports.func,onEnd:propTypesExports.func};function getAnimationStyle(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:presets.noWobble;if(typeof o=="string")return presets[o]||presets.noWobble;var $=o.damping,_e=o.stiffness;return _extends$18({damping:$||presets.noWobble.damping,stiffness:_e||presets.noWobble.stiffness},o)}function extractAnimatedPropValues(o){var $=o.animatedProps,_e=_objectWithoutProperties$3(o,["animatedProps"]);return $.reduce(function(et,tt){return _e.hasOwnProperty(tt)&&(et[tt]=_e[tt]),et},{})}var Animation=function(o){_inherits$Q($,o);function $(_e){_classCallCheck$Q(this,$);var et=_possibleConstructorReturn$Q(this,($.__proto__||Object.getPrototypeOf($)).call(this,_e));return et._motionEndHandler=function(){et.props.onEnd&&et.props.onEnd()},et._renderChildren=function(tt){var rt=tt.i,at=et.props.children,nt=et._interpolator,it=React$k.Children.only(at),ot=nt&&nt(rt),st=ot&&ot.data||null;return st&&it.props._data&&(st=st.map(function(lt,ct){var ut=it.props._data[ct];return _extends$18({},lt,{parent:ut.parent,children:ut.children})})),React$k.cloneElement(it,_extends$18({},it.props,ot,{data:st||it.props.data||null,_animation:Math.random()}))},et._updateInterpolator(_e),et}return _createClass$Q($,[{key:"componentWillUpdate",value:function(et){this._updateInterpolator(this.props,et),et.onStart&&et.onStart()}},{key:"_updateInterpolator",value:function(et,tt){this._interpolator=interpolate(extractAnimatedPropValues(et),tt?extractAnimatedPropValues(tt):null)}},{key:"render",value:function(){var et=getAnimationStyle(this.props.animation),tt={i:0},rt={i:spring(1,et)},at=Math.random();return React$k.createElement(Motion,_extends$18({defaultStyle:tt,style:rt,key:at},{onRest:this._motionEndHandler}),this._renderChildren)}}]),$}(reactExports.PureComponent);Animation.propTypes=propTypes$b;Animation.displayName="Animation";var AnimationPropType=ANIMATION_PROPTYPES;function ascending$2(o,$){return o<$?-1:o>$?1:o>=$?0:NaN}function bisector(o){return o.length===1&&(o=ascendingComparator(o)),{left:function($,_e,et,tt){for(et==null&&(et=0),tt==null&&(tt=$.length);et>>1;o($[rt],_e)<0?et=rt+1:tt=rt}return et},right:function($,_e,et,tt){for(et==null&&(et=0),tt==null&&(tt=$.length);et>>1;o($[rt],_e)>0?tt=rt:et=rt+1}return et}}}function ascendingComparator(o){return function($,_e){return ascending$2(o($),_e)}}var ascendingBisect=bisector(ascending$2),bisectRight=ascendingBisect.right;function extent(o,$){var _e=o.length,et=-1,tt,rt,at;if($==null){for(;++et<_e;)if((tt=o[et])!=null&&tt>=tt)for(rt=at=tt;++et<_e;)(tt=o[et])!=null&&(rt>tt&&(rt=tt),at=tt)for(rt=at=tt;++et<_e;)(tt=$(o[et],et,o))!=null&&(rt>tt&&(rt=tt),at0)return[o];if((et=$0)for(o=Math.ceil(o/nt),$=Math.floor($/nt),at=new Array(rt=Math.ceil($-o+1));++tt=0?(rt>=e10?10:rt>=e5?5:rt>=e2?2:1)*Math.pow(10,tt):-Math.pow(10,-tt)/(rt>=e10?10:rt>=e5?5:rt>=e2?2:1)}function tickStep(o,$,_e){var et=Math.abs($-o)/Math.max(0,_e),tt=Math.pow(10,Math.floor(Math.log(et)/Math.LN10)),rt=et/tt;return rt>=e10?tt*=10:rt>=e5?tt*=5:rt>=e2&&(tt*=2),$=tt)for(rt=tt;++et<_e;)(tt=o[et])!=null&&tt>rt&&(rt=tt)}else for(;++et<_e;)if((tt=$(o[et],et,o))!=null&&tt>=tt)for(rt=tt;++et<_e;)(tt=$(o[et],et,o))!=null&&tt>rt&&(rt=tt);return rt}var prefix="$";function Map$1(){}Map$1.prototype=map$2.prototype={constructor:Map$1,has:function(o){return prefix+o in this},get:function(o){return this[prefix+o]},set:function(o,$){return this[prefix+o]=$,this},remove:function(o){var $=prefix+o;return $ in this&&delete this[$]},clear:function(){for(var o in this)o[0]===prefix&&delete this[o]},keys:function(){var o=[];for(var $ in this)$[0]===prefix&&o.push($.slice(1));return o},values:function(){var o=[];for(var $ in this)$[0]===prefix&&o.push(this[$]);return o},entries:function(){var o=[];for(var $ in this)$[0]===prefix&&o.push({key:$.slice(1),value:this[$]});return o},size:function(){var o=0;for(var $ in this)$[0]===prefix&&++o;return o},empty:function(){for(var o in this)if(o[0]===prefix)return!1;return!0},each:function(o){for(var $ in this)$[0]===prefix&&o(this[$],$.slice(1),this)}};function map$2(o,$){var _e=new Map$1;if(o instanceof Map$1)o.each(function(nt,it){_e.set(it,nt)});else if(Array.isArray(o)){var et=-1,tt=o.length,rt;if($==null)for(;++et=_e?1:et(tt)}}}function reinterpolateClamp(o){return function($,_e){var et=o($=+$,_e=+_e);return function(tt){return tt<=0?$:tt>=1?_e:et(tt)}}}function bimap(o,$,_e,et){var tt=o[0],rt=o[1],at=$[0],nt=$[1];return rt2?polymap:bimap,nt=it=null,st}function st(lt){return(nt||(nt=at(_e,et,rt?deinterpolateClamp(o):o,tt)))(+lt)}return st.invert=function(lt){return(it||(it=at(et,_e,deinterpolateLinear,rt?reinterpolateClamp($):$)))(+lt)},st.domain=function(lt){return arguments.length?(_e=map$1.call(lt,number$1),ot()):_e.slice()},st.range=function(lt){return arguments.length?(et=slice$3.call(lt),ot()):et.slice()},st.rangeRound=function(lt){return et=slice$3.call(lt),tt=interpolateRound,ot()},st.clamp=function(lt){return arguments.length?(rt=!!lt,ot()):rt},st.interpolate=function(lt){return arguments.length?(tt=lt,ot()):tt},ot()}function formatDecimal(o,$){if((_e=(o=$?o.toExponential($-1):o.toExponential()).indexOf("e"))<0)return null;var _e,et=o.slice(0,_e);return[et.length>1?et[0]+et.slice(2):et,+o.slice(_e+1)]}function exponent(o){return o=formatDecimal(Math.abs(o)),o?o[1]:NaN}function formatGroup(o,$){return function(_e,et){for(var tt=_e.length,rt=[],at=0,nt=o[0],it=0;tt>0&&nt>0&&(it+nt+1>et&&(nt=Math.max(1,et-it)),rt.push(_e.substring(tt-=nt,tt+nt)),!((it+=nt+1)>et));)nt=o[at=(at+1)%o.length];return rt.reverse().join($)}}function formatNumerals(o){return function($){return $.replace(/[0-9]/g,function(_e){return o[+_e]})}}var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function formatSpecifier(o){return new FormatSpecifier(o)}formatSpecifier.prototype=FormatSpecifier.prototype;function FormatSpecifier(o){if(!($=re.exec(o)))throw new Error("invalid format: "+o);var $;this.fill=$[1]||" ",this.align=$[2]||">",this.sign=$[3]||"-",this.symbol=$[4]||"",this.zero=!!$[5],this.width=$[6]&&+$[6],this.comma=!!$[7],this.precision=$[8]&&+$[8].slice(1),this.trim=!!$[9],this.type=$[10]||""}FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width==null?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision==null?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function formatTrim(o){e:for(var $=o.length,_e=1,et=-1,tt;_e<$;++_e)switch(o[_e]){case".":et=tt=_e;break;case"0":et===0&&(et=_e),tt=_e;break;default:if(et>0){if(!+o[_e])break e;et=0}break}return et>0?o.slice(0,et)+o.slice(tt+1):o}var prefixExponent;function formatPrefixAuto(o,$){var _e=formatDecimal(o,$);if(!_e)return o+"";var et=_e[0],tt=_e[1],rt=tt-(prefixExponent=Math.max(-8,Math.min(8,Math.floor(tt/3)))*3)+1,at=et.length;return rt===at?et:rt>at?et+new Array(rt-at+1).join("0"):rt>0?et.slice(0,rt)+"."+et.slice(rt):"0."+new Array(1-rt).join("0")+formatDecimal(o,Math.max(0,$+rt-1))[0]}function formatRounded(o,$){var _e=formatDecimal(o,$);if(!_e)return o+"";var et=_e[0],tt=_e[1];return tt<0?"0."+new Array(-tt).join("0")+et:et.length>tt+1?et.slice(0,tt+1)+"."+et.slice(tt+1):et+new Array(tt-et.length+2).join("0")}const formatTypes={"%":function(o,$){return(o*100).toFixed($)},b:function(o){return Math.round(o).toString(2)},c:function(o){return o+""},d:function(o){return Math.round(o).toString(10)},e:function(o,$){return o.toExponential($)},f:function(o,$){return o.toFixed($)},g:function(o,$){return o.toPrecision($)},o:function(o){return Math.round(o).toString(8)},p:function(o,$){return formatRounded(o*100,$)},r:formatRounded,s:formatPrefixAuto,X:function(o){return Math.round(o).toString(16).toUpperCase()},x:function(o){return Math.round(o).toString(16)}};function identity$3(o){return o}var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function formatLocale$1(o){var $=o.grouping&&o.thousands?formatGroup(o.grouping,o.thousands):identity$3,_e=o.currency,et=o.decimal,tt=o.numerals?formatNumerals(o.numerals):identity$3,rt=o.percent||"%";function at(it){it=formatSpecifier(it);var ot=it.fill,st=it.align,lt=it.sign,ct=it.symbol,ut=it.zero,ft=it.width,At=it.comma,vt=it.precision,ht=it.trim,mt=it.type;mt==="n"?(At=!0,mt="g"):formatTypes[mt]||(vt==null&&(vt=12),ht=!0,mt="g"),(ut||ot==="0"&&st==="=")&&(ut=!0,ot="0",st="=");var bt=ct==="$"?_e[0]:ct==="#"&&/[boxX]/.test(mt)?"0"+mt.toLowerCase():"",dt=ct==="$"?_e[1]:/[%p]/.test(mt)?rt:"",xt=formatTypes[mt],Ct=/[defgprs%]/.test(mt);vt=vt==null?6:/[gprs]/.test(mt)?Math.max(1,Math.min(21,vt)):Math.max(0,Math.min(20,vt));function gt(wt){var _t=bt,Et=dt,It,Tt,Rt;if(mt==="c")Et=xt(wt)+Et,wt="";else{wt=+wt;var Ot=wt<0;if(wt=xt(Math.abs(wt),vt),ht&&(wt=formatTrim(wt)),Ot&&+wt==0&&(Ot=!1),_t=(Ot?lt==="("?lt:"-":lt==="-"||lt==="("?"":lt)+_t,Et=(mt==="s"?prefixes[8+prefixExponent/3]:"")+Et+(Ot&<==="("?")":""),Ct){for(It=-1,Tt=wt.length;++ItRt||Rt>57){Et=(Rt===46?et+wt.slice(It+1):wt.slice(It))+Et,wt=wt.slice(0,It);break}}}At&&!ut&&(wt=$(wt,1/0));var Mt=_t.length+wt.length+Et.length,Bt=Mt>1)+_t+wt+Et+Bt.slice(Mt);break;default:wt=Bt+_t+wt+Et;break}return tt(wt)}return gt.toString=function(){return it+""},gt}function nt(it,ot){var st=at((it=formatSpecifier(it),it.type="f",it)),lt=Math.max(-8,Math.min(8,Math.floor(exponent(ot)/3)))*3,ct=Math.pow(10,-lt),ut=prefixes[8+lt/3];return function(ft){return st(ct*ft)+ut}}return{format:at,formatPrefix:nt}}var locale$2,format$1,formatPrefix;defaultLocale$1({decimal:".",thousands:",",grouping:[3],currency:["$",""]});function defaultLocale$1(o){return locale$2=formatLocale$1(o),format$1=locale$2.format,formatPrefix=locale$2.formatPrefix,locale$2}function precisionFixed(o){return Math.max(0,-exponent(Math.abs(o)))}function precisionPrefix(o,$){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(exponent($)/3)))*3-exponent(Math.abs(o)))}function precisionRound(o,$){return o=Math.abs(o),$=Math.abs($)-o,Math.max(0,exponent($)-exponent(o))+1}function tickFormat$1(o,$,_e){var et=o[0],tt=o[o.length-1],rt=tickStep(et,tt,$==null?10:$),at;switch(_e=formatSpecifier(_e==null?",f":_e),_e.type){case"s":{var nt=Math.max(Math.abs(et),Math.abs(tt));return _e.precision==null&&!isNaN(at=precisionPrefix(rt,nt))&&(_e.precision=at),formatPrefix(_e,nt)}case"":case"e":case"g":case"p":case"r":{_e.precision==null&&!isNaN(at=precisionRound(rt,Math.max(Math.abs(et),Math.abs(tt))))&&(_e.precision=at-(_e.type==="e"));break}case"f":case"%":{_e.precision==null&&!isNaN(at=precisionFixed(rt))&&(_e.precision=at-(_e.type==="%")*2);break}}return format$1(_e)}function linearish(o){var $=o.domain;return o.ticks=function(_e){var et=$();return ticks(et[0],et[et.length-1],_e==null?10:_e)},o.tickFormat=function(_e,et){return tickFormat$1($(),_e,et)},o.nice=function(_e){_e==null&&(_e=10);var et=$(),tt=0,rt=et.length-1,at=et[tt],nt=et[rt],it;return nt0?(at=Math.floor(at/it)*it,nt=Math.ceil(nt/it)*it,it=tickIncrement(at,nt,_e)):it<0&&(at=Math.ceil(at*it)/it,nt=Math.floor(nt*it)/it,it=tickIncrement(at,nt,_e)),it>0?(et[tt]=Math.floor(at/it)*it,et[rt]=Math.ceil(nt/it)*it,$(et)):it<0&&(et[tt]=Math.ceil(at*it)/it,et[rt]=Math.floor(nt*it)/it,$(et)),o},o}function linear(){var o=continuous(deinterpolateLinear,reinterpolate$1);return o.copy=function(){return copy$1(o,linear())},linearish(o)}function nice(o,$){o=o.slice();var _e=0,et=o.length-1,tt=o[_e],rt=o[et],at;return rt0){for(;ltot)break;ht.push(At)}}else for(;lt=1;--ft)if(At=ut*ft,!(Atot)break;ht.push(At)}}else ht=ticks(lt,ct,Math.min(ct-lt,vt)).map(tt);return st?ht.reverse():ht},o.tickFormat=function(at,nt){if(nt==null&&(nt=_e===10?".0e":","),typeof nt!="function"&&(nt=format$1(nt)),at===1/0)return nt;at==null&&(at=10);var it=Math.max(1,_e*at/o.ticks().length);return function(ot){var st=ot/tt(Math.round(et(ot)));return st*_e<_e-.5&&(st*=_e),st<=it?nt(ot):""}},o.nice=function(){return $(nice($(),{floor:function(at){return tt(Math.floor(et(at)))},ceil:function(at){return tt(Math.ceil(et(at)))}}))},o.copy=function(){return copy$1(o,log().base(_e))},o}var t0=new Date,t1=new Date;function newInterval(o,$,_e,et){function tt(rt){return o(rt=new Date(+rt)),rt}return tt.floor=tt,tt.ceil=function(rt){return o(rt=new Date(rt-1)),$(rt,1),o(rt),rt},tt.round=function(rt){var at=tt(rt),nt=tt.ceil(rt);return rt-at0))return it;do it.push(ot=new Date(+rt)),$(rt,nt),o(rt);while(ot=at)for(;o(at),!rt(at);)at.setTime(at-1)},function(at,nt){if(at>=at)if(nt<0)for(;++nt<=0;)for(;$(at,-1),!rt(at););else for(;--nt>=0;)for(;$(at,1),!rt(at););})},_e&&(tt.count=function(rt,at){return t0.setTime(+rt),t1.setTime(+at),o(t0),o(t1),Math.floor(_e(t0,t1))},tt.every=function(rt){return rt=Math.floor(rt),!isFinite(rt)||!(rt>0)?null:rt>1?tt.filter(et?function(at){return et(at)%rt===0}:function(at){return tt.count(0,at)%rt===0}):tt}),tt}var millisecond=newInterval(function(){},function(o,$){o.setTime(+o+$)},function(o,$){return $-o});millisecond.every=function(o){return o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?newInterval(function($){$.setTime(Math.floor($/o)*o)},function($,_e){$.setTime(+$+_e*o)},function($,_e){return(_e-$)/o}):millisecond};millisecond.range;var durationSecond$1=1e3,durationMinute$1=6e4,durationHour$1=36e5,durationDay$1=864e5,durationWeek$1=6048e5,second=newInterval(function(o){o.setTime(o-o.getMilliseconds())},function(o,$){o.setTime(+o+$*durationSecond$1)},function(o,$){return($-o)/durationSecond$1},function(o){return o.getUTCSeconds()});second.range;var minute=newInterval(function(o){o.setTime(o-o.getMilliseconds()-o.getSeconds()*durationSecond$1)},function(o,$){o.setTime(+o+$*durationMinute$1)},function(o,$){return($-o)/durationMinute$1},function(o){return o.getMinutes()});minute.range;var hour=newInterval(function(o){o.setTime(o-o.getMilliseconds()-o.getSeconds()*durationSecond$1-o.getMinutes()*durationMinute$1)},function(o,$){o.setTime(+o+$*durationHour$1)},function(o,$){return($-o)/durationHour$1},function(o){return o.getHours()});hour.range;var day=newInterval(function(o){o.setHours(0,0,0,0)},function(o,$){o.setDate(o.getDate()+$)},function(o,$){return($-o-($.getTimezoneOffset()-o.getTimezoneOffset())*durationMinute$1)/durationDay$1},function(o){return o.getDate()-1});day.range;function weekday(o){return newInterval(function($){$.setDate($.getDate()-($.getDay()+7-o)%7),$.setHours(0,0,0,0)},function($,_e){$.setDate($.getDate()+_e*7)},function($,_e){return(_e-$-(_e.getTimezoneOffset()-$.getTimezoneOffset())*durationMinute$1)/durationWeek$1})}var sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6);sunday.range;monday.range;tuesday.range;wednesday.range;thursday.range;friday.range;saturday.range;var month=newInterval(function(o){o.setDate(1),o.setHours(0,0,0,0)},function(o,$){o.setMonth(o.getMonth()+$)},function(o,$){return $.getMonth()-o.getMonth()+($.getFullYear()-o.getFullYear())*12},function(o){return o.getMonth()});month.range;var year=newInterval(function(o){o.setMonth(0,1),o.setHours(0,0,0,0)},function(o,$){o.setFullYear(o.getFullYear()+$)},function(o,$){return $.getFullYear()-o.getFullYear()},function(o){return o.getFullYear()});year.every=function(o){return!isFinite(o=Math.floor(o))||!(o>0)?null:newInterval(function($){$.setFullYear(Math.floor($.getFullYear()/o)*o),$.setMonth(0,1),$.setHours(0,0,0,0)},function($,_e){$.setFullYear($.getFullYear()+_e*o)})};year.range;var utcMinute=newInterval(function(o){o.setUTCSeconds(0,0)},function(o,$){o.setTime(+o+$*durationMinute$1)},function(o,$){return($-o)/durationMinute$1},function(o){return o.getUTCMinutes()});utcMinute.range;var utcHour=newInterval(function(o){o.setUTCMinutes(0,0,0)},function(o,$){o.setTime(+o+$*durationHour$1)},function(o,$){return($-o)/durationHour$1},function(o){return o.getUTCHours()});utcHour.range;var utcDay=newInterval(function(o){o.setUTCHours(0,0,0,0)},function(o,$){o.setUTCDate(o.getUTCDate()+$)},function(o,$){return($-o)/durationDay$1},function(o){return o.getUTCDate()-1});utcDay.range;function utcWeekday(o){return newInterval(function($){$.setUTCDate($.getUTCDate()-($.getUTCDay()+7-o)%7),$.setUTCHours(0,0,0,0)},function($,_e){$.setUTCDate($.getUTCDate()+_e*7)},function($,_e){return(_e-$)/durationWeek$1})}var utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6);utcSunday.range;utcMonday.range;utcTuesday.range;utcWednesday.range;utcThursday.range;utcFriday.range;utcSaturday.range;var utcMonth=newInterval(function(o){o.setUTCDate(1),o.setUTCHours(0,0,0,0)},function(o,$){o.setUTCMonth(o.getUTCMonth()+$)},function(o,$){return $.getUTCMonth()-o.getUTCMonth()+($.getUTCFullYear()-o.getUTCFullYear())*12},function(o){return o.getUTCMonth()});utcMonth.range;var utcYear=newInterval(function(o){o.setUTCMonth(0,1),o.setUTCHours(0,0,0,0)},function(o,$){o.setUTCFullYear(o.getUTCFullYear()+$)},function(o,$){return $.getUTCFullYear()-o.getUTCFullYear()},function(o){return o.getUTCFullYear()});utcYear.every=function(o){return!isFinite(o=Math.floor(o))||!(o>0)?null:newInterval(function($){$.setUTCFullYear(Math.floor($.getUTCFullYear()/o)*o),$.setUTCMonth(0,1),$.setUTCHours(0,0,0,0)},function($,_e){$.setUTCFullYear($.getUTCFullYear()+_e*o)})};utcYear.range;function localDate(o){if(0<=o.y&&o.y<100){var $=new Date(-1,o.m,o.d,o.H,o.M,o.S,o.L);return $.setFullYear(o.y),$}return new Date(o.y,o.m,o.d,o.H,o.M,o.S,o.L)}function utcDate(o){if(0<=o.y&&o.y<100){var $=new Date(Date.UTC(-1,o.m,o.d,o.H,o.M,o.S,o.L));return $.setUTCFullYear(o.y),$}return new Date(Date.UTC(o.y,o.m,o.d,o.H,o.M,o.S,o.L))}function newYear(o){return{y:o,m:0,d:1,H:0,M:0,S:0,L:0}}function formatLocale(o){var $=o.dateTime,_e=o.date,et=o.time,tt=o.periods,rt=o.days,at=o.shortDays,nt=o.months,it=o.shortMonths,ot=formatRe(tt),st=formatLookup(tt),lt=formatRe(rt),ct=formatLookup(rt),ut=formatRe(at),ft=formatLookup(at),At=formatRe(nt),vt=formatLookup(nt),ht=formatRe(it),mt=formatLookup(it),bt={a:Lt,A:jt,b:zt,B:Nt,c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:Wt,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},dt={a:qt,A:nr,b:ar,B:Kt,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:er,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},xt={a:Et,A:It,b:Tt,B:Rt,c:Ot,d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:_t,Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:Mt,X:Bt,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};bt.x=Ct(_e,bt),bt.X=Ct(et,bt),bt.c=Ct($,bt),dt.x=Ct(_e,dt),dt.X=Ct(et,dt),dt.c=Ct($,dt);function Ct(Ut,Ht){return function(Ft){var Vt=[],Jt=-1,or=0,Ar=Ut.length,hr,vr,Er;for(Ft instanceof Date||(Ft=new Date(+Ft));++Jt53)return null;"w"in Vt||(Vt.w=1),"Z"in Vt?(or=utcDate(newYear(Vt.y)),Ar=or.getUTCDay(),or=Ar>4||Ar===0?utcMonday.ceil(or):utcMonday(or),or=utcDay.offset(or,(Vt.V-1)*7),Vt.y=or.getUTCFullYear(),Vt.m=or.getUTCMonth(),Vt.d=or.getUTCDate()+(Vt.w+6)%7):(or=Ht(newYear(Vt.y)),Ar=or.getDay(),or=Ar>4||Ar===0?monday.ceil(or):monday(or),or=day.offset(or,(Vt.V-1)*7),Vt.y=or.getFullYear(),Vt.m=or.getMonth(),Vt.d=or.getDate()+(Vt.w+6)%7)}else("W"in Vt||"U"in Vt)&&("w"in Vt||(Vt.w="u"in Vt?Vt.u%7:"W"in Vt?1:0),Ar="Z"in Vt?utcDate(newYear(Vt.y)).getUTCDay():Ht(newYear(Vt.y)).getDay(),Vt.m=0,Vt.d="W"in Vt?(Vt.w+6)%7+Vt.W*7-(Ar+5)%7:Vt.w+Vt.U*7-(Ar+6)%7);return"Z"in Vt?(Vt.H+=Vt.Z/100|0,Vt.M+=Vt.Z%100,utcDate(Vt)):Ht(Vt)}}function wt(Ut,Ht,Ft,Vt){for(var Jt=0,or=Ht.length,Ar=Ft.length,hr,vr;Jt=Ar)return-1;if(hr=Ht.charCodeAt(Jt++),hr===37){if(hr=Ht.charAt(Jt++),vr=xt[hr in pads?Ht.charAt(Jt++):hr],!vr||(Vt=vr(Ut,Ft,Vt))<0)return-1}else if(hr!=Ft.charCodeAt(Vt++))return-1}return Vt}function _t(Ut,Ht,Ft){var Vt=ot.exec(Ht.slice(Ft));return Vt?(Ut.p=st[Vt[0].toLowerCase()],Ft+Vt[0].length):-1}function Et(Ut,Ht,Ft){var Vt=ut.exec(Ht.slice(Ft));return Vt?(Ut.w=ft[Vt[0].toLowerCase()],Ft+Vt[0].length):-1}function It(Ut,Ht,Ft){var Vt=lt.exec(Ht.slice(Ft));return Vt?(Ut.w=ct[Vt[0].toLowerCase()],Ft+Vt[0].length):-1}function Tt(Ut,Ht,Ft){var Vt=ht.exec(Ht.slice(Ft));return Vt?(Ut.m=mt[Vt[0].toLowerCase()],Ft+Vt[0].length):-1}function Rt(Ut,Ht,Ft){var Vt=At.exec(Ht.slice(Ft));return Vt?(Ut.m=vt[Vt[0].toLowerCase()],Ft+Vt[0].length):-1}function Ot(Ut,Ht,Ft){return wt(Ut,$,Ht,Ft)}function Mt(Ut,Ht,Ft){return wt(Ut,_e,Ht,Ft)}function Bt(Ut,Ht,Ft){return wt(Ut,et,Ht,Ft)}function Lt(Ut){return at[Ut.getDay()]}function jt(Ut){return rt[Ut.getDay()]}function zt(Ut){return it[Ut.getMonth()]}function Nt(Ut){return nt[Ut.getMonth()]}function Wt(Ut){return tt[+(Ut.getHours()>=12)]}function qt(Ut){return at[Ut.getUTCDay()]}function nr(Ut){return rt[Ut.getUTCDay()]}function ar(Ut){return it[Ut.getUTCMonth()]}function Kt(Ut){return nt[Ut.getUTCMonth()]}function er(Ut){return tt[+(Ut.getUTCHours()>=12)]}return{format:function(Ut){var Ht=Ct(Ut+="",bt);return Ht.toString=function(){return Ut},Ht},parse:function(Ut){var Ht=gt(Ut+="",localDate);return Ht.toString=function(){return Ut},Ht},utcFormat:function(Ut){var Ht=Ct(Ut+="",dt);return Ht.toString=function(){return Ut},Ht},utcParse:function(Ut){var Ht=gt(Ut,utcDate);return Ht.toString=function(){return Ut},Ht}}}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g;function pad(o,$,_e){var et=o<0?"-":"",tt=(et?-o:o)+"",rt=tt.length;return et+(rt<_e?new Array(_e-rt+1).join($)+tt:tt)}function requote(o){return o.replace(requoteRe,"\\$&")}function formatRe(o){return new RegExp("^(?:"+o.map(requote).join("|")+")","i")}function formatLookup(o){for(var $={},_e=-1,et=o.length;++_e68?1900:2e3),_e+et[0].length):-1}function parseZone(o,$,_e){var et=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec($.slice(_e,_e+6));return et?(o.Z=et[1]?0:-(et[2]+(et[3]||"00")),_e+et[0].length):-1}function parseMonthNumber(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.m=et[0]-1,_e+et[0].length):-1}function parseDayOfMonth(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.d=+et[0],_e+et[0].length):-1}function parseDayOfYear(o,$,_e){var et=numberRe.exec($.slice(_e,_e+3));return et?(o.m=0,o.d=+et[0],_e+et[0].length):-1}function parseHour24(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.H=+et[0],_e+et[0].length):-1}function parseMinutes(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.M=+et[0],_e+et[0].length):-1}function parseSeconds(o,$,_e){var et=numberRe.exec($.slice(_e,_e+2));return et?(o.S=+et[0],_e+et[0].length):-1}function parseMilliseconds(o,$,_e){var et=numberRe.exec($.slice(_e,_e+3));return et?(o.L=+et[0],_e+et[0].length):-1}function parseMicroseconds(o,$,_e){var et=numberRe.exec($.slice(_e,_e+6));return et?(o.L=Math.floor(et[0]/1e3),_e+et[0].length):-1}function parseLiteralPercent(o,$,_e){var et=percentRe.exec($.slice(_e,_e+1));return et?_e+et[0].length:-1}function parseUnixTimestamp(o,$,_e){var et=numberRe.exec($.slice(_e));return et?(o.Q=+et[0],_e+et[0].length):-1}function parseUnixTimestampSeconds(o,$,_e){var et=numberRe.exec($.slice(_e));return et?(o.Q=+et[0]*1e3,_e+et[0].length):-1}function formatDayOfMonth(o,$){return pad(o.getDate(),$,2)}function formatHour24(o,$){return pad(o.getHours(),$,2)}function formatHour12(o,$){return pad(o.getHours()%12||12,$,2)}function formatDayOfYear(o,$){return pad(1+day.count(year(o),o),$,3)}function formatMilliseconds(o,$){return pad(o.getMilliseconds(),$,3)}function formatMicroseconds(o,$){return formatMilliseconds(o,$)+"000"}function formatMonthNumber(o,$){return pad(o.getMonth()+1,$,2)}function formatMinutes(o,$){return pad(o.getMinutes(),$,2)}function formatSeconds(o,$){return pad(o.getSeconds(),$,2)}function formatWeekdayNumberMonday(o){var $=o.getDay();return $===0?7:$}function formatWeekNumberSunday(o,$){return pad(sunday.count(year(o),o),$,2)}function formatWeekNumberISO(o,$){var _e=o.getDay();return o=_e>=4||_e===0?thursday(o):thursday.ceil(o),pad(thursday.count(year(o),o)+(year(o).getDay()===4),$,2)}function formatWeekdayNumberSunday(o){return o.getDay()}function formatWeekNumberMonday(o,$){return pad(monday.count(year(o),o),$,2)}function formatYear(o,$){return pad(o.getFullYear()%100,$,2)}function formatFullYear(o,$){return pad(o.getFullYear()%1e4,$,4)}function formatZone(o){var $=o.getTimezoneOffset();return($>0?"-":($*=-1,"+"))+pad($/60|0,"0",2)+pad($%60,"0",2)}function formatUTCDayOfMonth(o,$){return pad(o.getUTCDate(),$,2)}function formatUTCHour24(o,$){return pad(o.getUTCHours(),$,2)}function formatUTCHour12(o,$){return pad(o.getUTCHours()%12||12,$,2)}function formatUTCDayOfYear(o,$){return pad(1+utcDay.count(utcYear(o),o),$,3)}function formatUTCMilliseconds(o,$){return pad(o.getUTCMilliseconds(),$,3)}function formatUTCMicroseconds(o,$){return formatUTCMilliseconds(o,$)+"000"}function formatUTCMonthNumber(o,$){return pad(o.getUTCMonth()+1,$,2)}function formatUTCMinutes(o,$){return pad(o.getUTCMinutes(),$,2)}function formatUTCSeconds(o,$){return pad(o.getUTCSeconds(),$,2)}function formatUTCWeekdayNumberMonday(o){var $=o.getUTCDay();return $===0?7:$}function formatUTCWeekNumberSunday(o,$){return pad(utcSunday.count(utcYear(o),o),$,2)}function formatUTCWeekNumberISO(o,$){var _e=o.getUTCDay();return o=_e>=4||_e===0?utcThursday(o):utcThursday.ceil(o),pad(utcThursday.count(utcYear(o),o)+(utcYear(o).getUTCDay()===4),$,2)}function formatUTCWeekdayNumberSunday(o){return o.getUTCDay()}function formatUTCWeekNumberMonday(o,$){return pad(utcMonday.count(utcYear(o),o),$,2)}function formatUTCYear(o,$){return pad(o.getUTCFullYear()%100,$,2)}function formatUTCFullYear(o,$){return pad(o.getUTCFullYear()%1e4,$,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(o){return+o}function formatUnixTimestampSeconds(o){return Math.floor(+o/1e3)}var locale$1,timeFormat,utcFormat,utcParse;defaultLocale({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function defaultLocale(o){return locale$1=formatLocale(o),timeFormat=locale$1.format,locale$1.parse,utcFormat=locale$1.utcFormat,utcParse=locale$1.utcParse,locale$1}var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(o){return o.toISOString()}Date.prototype.toISOString||utcFormat(isoSpecifier);function parseIsoNative(o){var $=new Date(o);return isNaN($)?null:$}+new Date("2000-01-01T00:00:00.000Z")||utcParse(isoSpecifier);var durationSecond=1e3,durationMinute=durationSecond*60,durationHour=durationMinute*60,durationDay=durationHour*24,durationWeek=durationDay*7,durationMonth=durationDay*30,durationYear=durationDay*365;function date(o){return new Date(o)}function number(o){return o instanceof Date?+o:+new Date(+o)}function calendar(o,$,_e,et,tt,rt,at,nt,it){var ot=continuous(deinterpolateLinear,reinterpolate$1),st=ot.invert,lt=ot.domain,ct=it(".%L"),ut=it(":%S"),ft=it("%I:%M"),At=it("%I %p"),vt=it("%a %d"),ht=it("%b %d"),mt=it("%B"),bt=it("%Y"),dt=[[at,1,durationSecond],[at,5,5*durationSecond],[at,15,15*durationSecond],[at,30,30*durationSecond],[rt,1,durationMinute],[rt,5,5*durationMinute],[rt,15,15*durationMinute],[rt,30,30*durationMinute],[tt,1,durationHour],[tt,3,3*durationHour],[tt,6,6*durationHour],[tt,12,12*durationHour],[et,1,durationDay],[et,2,2*durationDay],[_e,1,durationWeek],[$,1,durationMonth],[$,3,3*durationMonth],[o,1,durationYear]];function xt(gt){return(at(gt)13||Number(major)>13,isReactDOMSupported=function o(){return versionHigherThanThirteen},getDOMNode=function o($){return isReactDOMSupported()?$:$&&$.getDOMNode()},USED_MESSAGES={},HIDDEN_PROCESSES={test:!0,production:!0};function warning$1(o){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;global.process&&HIDDEN_PROCESSES.production||(!$||!USED_MESSAGES[o])&&(console.warn(o),USED_MESSAGES[o]=!0)}function getUniquePropertyValues(o,$){var _e=new Set(o.map($));return Array.from(_e)}function addValueToArray(o,$){var _e=[].concat(o);return _e[0]>$&&(_e[0]=$),_e[_e.length-1]<$&&(_e[_e.length-1]=$),_e}function transformValueToString(o){return Object.prototype.toString.call(o)==="[object Date]"?o.toDateString():o}var _extends$17=Object.assign||function(o){for(var $=1;$it-o.padding()*o.step())return o.domain()[o.domain().length-1];var ot=Math.floor((_e-nt-o.padding()*o.step())/o.step());return o.domain()[ot]})}function getScaleFnFromScaleObject(o){if(!o)return null;var $=o.type,_e=o.domain,et=o.range,tt=_e[0]===_e[1]?_e[0]===0?[-1,0]:[-_e[0],_e[0]]:_e;if($===LITERAL_SCALE_TYPE)return literalScale(et[0]);var rt=SCALE_FUNCTIONS[$]().domain(tt).range(et);return $===ORDINAL_SCALE_TYPE&&(rt.padding(.5),addInvertFunctionToOrdinalScaleObject(rt)),rt}function getDomainByAccessor(o,$,_e,et){var tt=void 0,rt=o.reduce(function(at,nt){var it=$(nt),ot=_e(nt);return _isDefined(it)&&at.push(it),_isDefined(ot)&&at.push(ot),at},[]);return rt.length?(et!==ORDINAL_SCALE_TYPE&&et!==CATEGORY_SCALE_TYPE?tt=extent(rt):tt=set(rt).values(),tt):[]}function _createScaleObjectForValue(o,$,_e,et,tt){return _e===LITERAL_SCALE_TYPE?{type:LITERAL_SCALE_TYPE,domain:[],range:[$],distance:0,attr:o,baseValue:void 0,isValue:!0,accessor:et,accessor0:tt}:typeof $>"u"?null:{type:CATEGORY_SCALE_TYPE,range:[$],domain:[],distance:0,attr:o,baseValue:void 0,isValue:!0,accessor:et,accessor0:tt}}function _createScaleObjectForFunction(o){var $=o.domain,_e=o.range,et=o.type,tt=o.distance,rt=o.attr,at=o.baseValue,nt=o.accessor,it=o.accessor0;return{domain:$,range:_e,type:et,distance:tt,attr:rt,baseValue:at,isValue:!1,accessor:nt,accessor0:it}}function _collectScaleObjectFromProps(o,$){var _e=o[$],et=o["_"+$+"Value"],tt=o[$+"Range"],rt=o[$+"Distance"],at=rt===void 0?0:rt,nt=o[$+"BaseValue"],it=o[$+"Type"],ot=it===void 0?LINEAR_SCALE_TYPE:it,st=o[$+"NoFallBack"],lt=o["get"+toTitleCase($)],ct=lt===void 0?function(vt){return vt[$]}:lt,ut=o["get"+toTitleCase($)+"0"],ft=ut===void 0?function(vt){return vt[$+"0"]}:ut,At=o[$+"Domain"];return!st&&typeof _e<"u"?_createScaleObjectForValue($,_e,o[$+"Type"],ct,ft):(typeof nt<"u"&&(At=addValueToArray(At,nt)),!tt||!At||!At.length?_createScaleObjectForValue($,et,o[$+"Type"],ct,ft):_createScaleObjectForFunction({domain:At,range:tt,type:ot,distance:at,attr:$,baseValue:nt,accessor:ct,accessor0:ft}))}function _computeLeftDomainAdjustment(o){return o.length>1?(o[1]-o[0])/2:o.length===1?o[0]-.5:0}function _computeRightDomainAdjustment(o){return o.length>1?(o[o.length-1]-o[o.length-2])/2:o.length===1?o[0]-.5:0}function _computeScaleDistance(o,$,_e,et){if(o.length>1){var tt=Math.max(_e,1);return Math.abs(et(o[tt])-et(o[tt-1]))}return o.length===1?Math.abs(et($[1])-et($[0])):0}function _normalizeValues(o,$,_e,et){if(et===TIME_SCALE_TYPE&&$.length===1){var tt=_e(o[0]);return[tt].concat(_toConsumableArray$3($))}return $}function _getScaleDistanceAndAdjustedDomain(o,$){var _e=$.domain,et=$.type,tt=$.accessor,rt=$.accessor0,at=getUniquePropertyValues(o,tt),nt=_normalizeValues(o,at,rt,et),it=_getSmallestDistanceIndex(nt,$),ot=[].concat(_e);ot[0]-=_computeLeftDomainAdjustment(nt),ot[_e.length-1]+=_computeRightDomainAdjustment(nt),et===LOG_SCALE_TYPE&&_e[0]<=0&&(ot[0]=Math.min(_e[1]/10,1));var st=getScaleFnFromScaleObject(_extends$17({},$,{domain:ot})),lt=_computeScaleDistance(nt,ot,it,st);return{domain0:ot[0],domainN:ot[ot.length-1],distance:lt}}function _isScaleAdjustmentPossible(o,$){var _e=$.attr,et=o._adjustBy,tt=et===void 0?[]:et,rt=o._adjustWhat,at=rt===void 0?[]:rt;return at.length&&tt.length&&tt.indexOf(_e)!==-1}function _adjustContinuousScale(o,$){var _e=o._allData,et=o._adjustWhat,tt=et===void 0?[]:et,rt=$.domain.length,at=$.domain,nt=at[0],it=at[rt-1],ot=$.distance;return _e.forEach(function(st,lt){if(tt.indexOf(lt)!==-1&&st&&st.length){var ct=_getScaleDistanceAndAdjustedDomain(st,$),ut=ct.domain0,ft=ct.domainN,At=ct.distance;nt=Math.min(nt,ut),it=Math.max(it,ft),ot=Math.max(ot,At)}}),$.domain=[nt].concat(_toConsumableArray$3(at.slice(1,-1)),[it]),$.distance=ot,$}function _adjustCategoricalScale(o){var $=getScaleFnFromScaleObject(o),_e=o.domain,et=o.range;return _e.length>1?o.distance=Math.abs($(_e[1])-$(_e[0])):o.distance=Math.abs(et[1]-et[0]),o}function getScaleObjectFromProps(o,$){var _e=_collectScaleObjectFromProps(o,$);if(!_e)return null;if(!_isScaleAdjustmentPossible(o,_e))return _e;var et=_e.type;return et===ORDINAL_SCALE_TYPE||et===CATEGORY_SCALE_TYPE?_adjustCategoricalScale(_e):_adjustContinuousScale(o,_e)}function getAttributeScale(o,$){var _e=getScaleObjectFromProps(o,$);return getScaleFnFromScaleObject(_e)}function _getAttrValue(o,$){return $(o.data?o.data:o)}function _isDefined(o){return typeof o<"u"}function _padDomain(o,$){if(!o||isNaN(parseFloat(o[0]))||isNaN(parseFloat(o[1])))return o;var _e=_slicedToArray$2(o,2),et=_e[0],tt=_e[1],rt=(tt-et)*($*.01);return[et-rt,tt+rt]}function getAttributeFunctor(o,$){var _e=getScaleObjectFromProps(o,$);if(_e){var et=getScaleFnFromScaleObject(_e);return function(tt){return et(_getAttrValue(tt,_e.accessor))}}return null}function getAttr0Functor(o,$){var _e=getScaleObjectFromProps(o,$);if(_e){var et=_e.domain,tt=_e.baseValue,rt=tt===void 0?et[0]:tt,at=getScaleFnFromScaleObject(_e);return function(nt){var it=_getAttrValue(nt,_e.accessor0);return at(_isDefined(it)?it:rt)}}return null}function getAttributeValue(o,$){var _e=getScaleObjectFromProps(o,$);return _e?(!_e.isValue&&o["_"+$+"Value"]===void 0&&warning$1("[React-vis] Cannot use data defined "+$+" for this series type. Using fallback value instead."),o["_"+$+"Value"]||_e.range[0]):null}function getScalePropTypesByAttribute(o){var $;return $={},_defineProperty$h($,"_"+o+"Value",propTypesExports.any),_defineProperty$h($,o+"Domain",propTypesExports.array),_defineProperty$h($,"get"+toTitleCase(o),propTypesExports.func),_defineProperty$h($,"get"+toTitleCase(o)+"0",propTypesExports.func),_defineProperty$h($,o+"Range",propTypesExports.array),_defineProperty$h($,o+"Type",propTypesExports.oneOf(Object.keys(SCALE_FUNCTIONS))),_defineProperty$h($,o+"Distance",propTypesExports.number),_defineProperty$h($,o+"BaseValue",propTypesExports.any),$}function extractScalePropsFromProps(o,$){var _e={};return Object.keys(o).forEach(function(et){var tt=$.find(function(rt){var at=et.indexOf(rt)===0,nt=et.indexOf("_"+rt)===0,it=et.indexOf("get"+toTitleCase(rt))===0;return at||nt||it});tt&&(_e[et]=o[et])}),_e}function getMissingScaleProps(o,$,_e){var et={};return _e.forEach(function(tt){o["get"+toTitleCase(tt)]||(et["get"+toTitleCase(tt)]=function(rt){return rt[tt]}),o["get"+toTitleCase(tt)+"0"]||(et["get"+toTitleCase(tt)+"0"]=function(rt){return rt[tt+"0"]}),o[tt+"Domain"]||(et[tt+"Domain"]=getDomainByAccessor($,o["get"+toTitleCase(tt)]||et["get"+toTitleCase(tt)],o["get"+toTitleCase(tt)+"0"]||et["get"+toTitleCase(tt)+"0"],o[tt+"Type"]),o[tt+"Padding"]&&(et[tt+"Domain"]=_padDomain(et[tt+"Domain"],o[tt+"Padding"])))}),et}function literalScale(o){function $(et){return et===void 0?o:et}function _e(){return $}return $.domain=_e,$.range=_e,$.unknown=_e,$.copy=_e,$}function getFontColorFromBackground(o){return o?hsl(o).l>.57?"#222":"#fff":null}function getXYPlotValues(o,$){var _e=XYPLOT_ATTR.reduce(function(et,tt){var rt=o[tt+"Domain"],at=o[tt+"Range"],nt=o[tt+"Type"];return rt&&at&&nt?_extends$17({},et,_defineProperty$h({},tt,SCALE_FUNCTIONS[nt]().domain(rt).range(at))):et},{});return $.map(function(et){return XYPLOT_ATTR.reduce(function(tt,rt){if(et.props&&et.props[rt]!==void 0){var at=et.props[rt],nt=_e[rt],it=nt?nt(at):at;return _extends$17({},tt,_defineProperty$h({},"_"+rt+"Value",it))}return tt},{})})}var OPTIONAL_SCALE_PROPS=["Padding"],OPTIONAL_SCALE_PROPS_REGS=OPTIONAL_SCALE_PROPS.map(function(o){return new RegExp(o+"$","i")});function getOptionalScaleProps(o){return Object.keys(o).reduce(function($,_e){var et=OPTIONAL_SCALE_PROPS_REGS.every(function(tt){return!_e.match(tt)});return et||($[_e]=o[_e]),$},{})}var _createClass$P=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),Object.defineProperty($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),_extends$16=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:[];return o?o.some(function($){return $.radius&&$.angle}):!1}function prepareData(o){return seriesHasAngleRadius(o)?o.map(function($){return _extends$15({},$,{x:$.radius*Math.cos($.angle),y:$.radius*Math.sin($.angle)})}):o}function getStackedData(o,$){var _e=o.some(function(tt){return tt&&tt.props.stack}),et={};return o.reduce(function(tt,rt,at){if(!rt)return tt.push(null),tt;var nt=rt.type.displayName,it=rt.props,ot=it.data,st=it.cluster,lt=st===void 0?"default":st,ct=it.stack,ut=prepareData(ot);if(!$||!ut||!ut.length||_e&&!ct)return tt.push(ut),tt;var ft=$+"0",At=$==="y"?"x":"y";return tt.push(ut.map(function(vt,ht){var mt,bt;et[lt]||(et[lt]={}),et[lt][nt]||(et[lt][nt]={});var dt=et[lt][nt][vt[At]];if(!dt){var xt;return et[lt][nt][vt[At]]=(xt={},_defineProperty$g(xt,ft,vt[ft]),_defineProperty$g(xt,$,vt[$]),xt),_extends$15({},vt)}var Ct=_extends$15({},vt,(mt={},_defineProperty$g(mt,ft,dt[$]),_defineProperty$g(mt,$,dt[$]+vt[$]-(vt[ft]||0)),mt));return et[lt][nt][vt[At]]=(bt={},_defineProperty$g(bt,ft,Ct[ft]),_defineProperty$g(bt,$,Ct[$]),bt),Ct})),tt},[])}function getSeriesPropsFromChildren(o){var $=[],_e=collectSeriesTypesInfo(o),et=0,tt=DEFAULT_OPACITY;return o.forEach(function(rt){var at=void 0;if(isSeriesChild(rt)){var nt=_e[rt.type.displayName],it=DISCRETE_COLOR_RANGE[et%DISCRETE_COLOR_RANGE.length];at=_extends$15({},nt,{seriesIndex:et,_colorValue:it,_opacityValue:tt}),nt.sameTypeIndex++,et++,rt.props.cluster&&(at.cluster=rt.props.cluster,at.clusters=Array.from(nt.clusters),at.sameTypeTotal=at.clusters.length,at.sameTypeIndex=at.clusters.indexOf(rt.props.cluster))}$.push(at)}),$}var ANIMATED_SERIES_PROPS=["xRange","xDomain","x","yRange","yDomain","y","colorRange","colorDomain","color","opacityRange","opacityDomain","opacity","strokeRange","strokeDomain","stroke","fillRange","fillDomain","fill","width","height","marginLeft","marginTop","marginRight","marginBottom","data","angleDomain","angleRange","angle","radiusDomain","radiusRange","radius","innerRadiusDomain","innerRadiusRange","innerRadius"];function getStackParams(o){var $=o._stackBy,_e=o.valuePosAttr,et=o.cluster,tt=o.sameTypeTotal,rt=tt===void 0?1:tt,at=o.sameTypeIndex,nt=at===void 0?0:at;return $===_e&&!et&&(rt=1,nt=0),{sameTypeTotal:rt,sameTypeIndex:nt}}var pi$2=Math.PI,tau$2=2*pi$2,epsilon$1=1e-6,tauEpsilon=tau$2-epsilon$1;function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function path(){return new Path}Path.prototype=path.prototype={constructor:Path,moveTo:function(o,$){this._+="M"+(this._x0=this._x1=+o)+","+(this._y0=this._y1=+$)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(o,$){this._+="L"+(this._x1=+o)+","+(this._y1=+$)},quadraticCurveTo:function(o,$,_e,et){this._+="Q"+ +o+","+ +$+","+(this._x1=+_e)+","+(this._y1=+et)},bezierCurveTo:function(o,$,_e,et,tt,rt){this._+="C"+ +o+","+ +$+","+ +_e+","+ +et+","+(this._x1=+tt)+","+(this._y1=+rt)},arcTo:function(o,$,_e,et,tt){o=+o,$=+$,_e=+_e,et=+et,tt=+tt;var rt=this._x1,at=this._y1,nt=_e-o,it=et-$,ot=rt-o,st=at-$,lt=ot*ot+st*st;if(tt<0)throw new Error("negative radius: "+tt);if(this._x1===null)this._+="M"+(this._x1=o)+","+(this._y1=$);else if(lt>epsilon$1)if(!(Math.abs(st*nt-it*ot)>epsilon$1)||!tt)this._+="L"+(this._x1=o)+","+(this._y1=$);else{var ct=_e-rt,ut=et-at,ft=nt*nt+it*it,At=ct*ct+ut*ut,vt=Math.sqrt(ft),ht=Math.sqrt(lt),mt=tt*Math.tan((pi$2-Math.acos((ft+lt-At)/(2*vt*ht)))/2),bt=mt/ht,dt=mt/vt;Math.abs(bt-1)>epsilon$1&&(this._+="L"+(o+bt*ot)+","+($+bt*st)),this._+="A"+tt+","+tt+",0,0,"+ +(st*ct>ot*ut)+","+(this._x1=o+dt*nt)+","+(this._y1=$+dt*it)}},arc:function(o,$,_e,et,tt,rt){o=+o,$=+$,_e=+_e;var at=_e*Math.cos(et),nt=_e*Math.sin(et),it=o+at,ot=$+nt,st=1^rt,lt=rt?et-tt:tt-et;if(_e<0)throw new Error("negative radius: "+_e);this._x1===null?this._+="M"+it+","+ot:(Math.abs(this._x1-it)>epsilon$1||Math.abs(this._y1-ot)>epsilon$1)&&(this._+="L"+it+","+ot),_e&&(lt<0&&(lt=lt%tau$2+tau$2),lt>tauEpsilon?this._+="A"+_e+","+_e+",0,1,"+st+","+(o-at)+","+($-nt)+"A"+_e+","+_e+",0,1,"+st+","+(this._x1=it)+","+(this._y1=ot):lt>epsilon$1&&(this._+="A"+_e+","+_e+",0,"+ +(lt>=pi$2)+","+st+","+(this._x1=o+_e*Math.cos(tt))+","+(this._y1=$+_e*Math.sin(tt))))},rect:function(o,$,_e,et){this._+="M"+(this._x0=this._x1=+o)+","+(this._y0=this._y1=+$)+"h"+ +_e+"v"+ +et+"h"+-_e+"Z"},toString:function(){return this._}};function constant$2(o){return function(){return o}}var abs$2=Math.abs,atan2=Math.atan2,cos=Math.cos,max$1=Math.max,min=Math.min,sin=Math.sin,sqrt$1=Math.sqrt,epsilon=1e-12,pi$1=Math.PI,halfPi=pi$1/2,tau$1=2*pi$1;function acos(o){return o>1?0:o<-1?pi$1:Math.acos(o)}function asin(o){return o>=1?halfPi:o<=-1?-halfPi:Math.asin(o)}function arcInnerRadius(o){return o.innerRadius}function arcOuterRadius(o){return o.outerRadius}function arcStartAngle(o){return o.startAngle}function arcEndAngle(o){return o.endAngle}function arcPadAngle(o){return o&&o.padAngle}function intersect(o,$,_e,et,tt,rt,at,nt){var it=_e-o,ot=et-$,st=at-tt,lt=nt-rt,ct=lt*it-st*ot;if(!(ct*ctOt*Ot+Mt*Mt&&(wt=Et,_t=It),{cx:wt,cy:_t,x01:-st,y01:-lt,x11:wt*(tt/xt-1),y11:_t*(tt/xt-1)}}function arcBuilder(){var o=arcInnerRadius,$=arcOuterRadius,_e=constant$2(0),et=null,tt=arcStartAngle,rt=arcEndAngle,at=arcPadAngle,nt=null;function it(){var ot,st,lt=+o.apply(this,arguments),ct=+$.apply(this,arguments),ut=tt.apply(this,arguments)-halfPi,ft=rt.apply(this,arguments)-halfPi,At=abs$2(ft-ut),vt=ft>ut;if(nt||(nt=ot=path()),ctepsilon))nt.moveTo(0,0);else if(At>tau$1-epsilon)nt.moveTo(ct*cos(ut),ct*sin(ut)),nt.arc(0,0,ct,ut,ft,!vt),lt>epsilon&&(nt.moveTo(lt*cos(ft),lt*sin(ft)),nt.arc(0,0,lt,ft,ut,vt));else{var ht=ut,mt=ft,bt=ut,dt=ft,xt=At,Ct=At,gt=at.apply(this,arguments)/2,wt=gt>epsilon&&(et?+et.apply(this,arguments):sqrt$1(lt*lt+ct*ct)),_t=min(abs$2(ct-lt)/2,+_e.apply(this,arguments)),Et=_t,It=_t,Tt,Rt;if(wt>epsilon){var Ot=asin(wt/lt*sin(gt)),Mt=asin(wt/ct*sin(gt));(xt-=Ot*2)>epsilon?(Ot*=vt?1:-1,bt+=Ot,dt-=Ot):(xt=0,bt=dt=(ut+ft)/2),(Ct-=Mt*2)>epsilon?(Mt*=vt?1:-1,ht+=Mt,mt-=Mt):(Ct=0,ht=mt=(ut+ft)/2)}var Bt=ct*cos(ht),Lt=ct*sin(ht),jt=lt*cos(dt),zt=lt*sin(dt);if(_t>epsilon){var Nt=ct*cos(mt),Wt=ct*sin(mt),qt=lt*cos(bt),nr=lt*sin(bt),ar;if(Atepsilon?It>epsilon?(Tt=cornerTangents(qt,nr,Bt,Lt,ct,It,vt),Rt=cornerTangents(Nt,Wt,jt,zt,ct,It,vt),nt.moveTo(Tt.cx+Tt.x01,Tt.cy+Tt.y01),It<_t?nt.arc(Tt.cx,Tt.cy,It,atan2(Tt.y01,Tt.x01),atan2(Rt.y01,Rt.x01),!vt):(nt.arc(Tt.cx,Tt.cy,It,atan2(Tt.y01,Tt.x01),atan2(Tt.y11,Tt.x11),!vt),nt.arc(0,0,ct,atan2(Tt.cy+Tt.y11,Tt.cx+Tt.x11),atan2(Rt.cy+Rt.y11,Rt.cx+Rt.x11),!vt),nt.arc(Rt.cx,Rt.cy,It,atan2(Rt.y11,Rt.x11),atan2(Rt.y01,Rt.x01),!vt))):(nt.moveTo(Bt,Lt),nt.arc(0,0,ct,ht,mt,!vt)):nt.moveTo(Bt,Lt),!(lt>epsilon)||!(xt>epsilon)?nt.lineTo(jt,zt):Et>epsilon?(Tt=cornerTangents(jt,zt,Nt,Wt,lt,-Et,vt),Rt=cornerTangents(Bt,Lt,qt,nr,lt,-Et,vt),nt.lineTo(Tt.cx+Tt.x01,Tt.cy+Tt.y01),Et<_t?nt.arc(Tt.cx,Tt.cy,Et,atan2(Tt.y01,Tt.x01),atan2(Rt.y01,Rt.x01),!vt):(nt.arc(Tt.cx,Tt.cy,Et,atan2(Tt.y01,Tt.x01),atan2(Tt.y11,Tt.x11),!vt),nt.arc(0,0,lt,atan2(Tt.cy+Tt.y11,Tt.cx+Tt.x11),atan2(Rt.cy+Rt.y11,Rt.cx+Rt.x11),vt),nt.arc(Rt.cx,Rt.cy,Et,atan2(Rt.y11,Rt.x11),atan2(Rt.y01,Rt.x01),!vt))):nt.arc(0,0,lt,dt,bt,vt)}if(nt.closePath(),ot)return nt=null,ot+""||null}return it.centroid=function(){var ot=(+o.apply(this,arguments)+ +$.apply(this,arguments))/2,st=(+tt.apply(this,arguments)+ +rt.apply(this,arguments))/2-pi$1/2;return[cos(st)*ot,sin(st)*ot]},it.innerRadius=function(ot){return arguments.length?(o=typeof ot=="function"?ot:constant$2(+ot),it):o},it.outerRadius=function(ot){return arguments.length?($=typeof ot=="function"?ot:constant$2(+ot),it):$},it.cornerRadius=function(ot){return arguments.length?(_e=typeof ot=="function"?ot:constant$2(+ot),it):_e},it.padRadius=function(ot){return arguments.length?(et=ot==null?null:typeof ot=="function"?ot:constant$2(+ot),it):et},it.startAngle=function(ot){return arguments.length?(tt=typeof ot=="function"?ot:constant$2(+ot),it):tt},it.endAngle=function(ot){return arguments.length?(rt=typeof ot=="function"?ot:constant$2(+ot),it):rt},it.padAngle=function(ot){return arguments.length?(at=typeof ot=="function"?ot:constant$2(+ot),it):at},it.context=function(ot){return arguments.length?(nt=ot==null?null:ot,it):nt},it}function Linear(o){this._context=o}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;default:this._context.lineTo(o,$);break}}};function curveLinear(o){return new Linear(o)}function x(o){return o[0]}function y(o){return o[1]}function line(){var o=x,$=y,_e=constant$2(!0),et=null,tt=curveLinear,rt=null;function at(nt){var it,ot=nt.length,st,lt=!1,ct;for(et==null&&(rt=tt(ct=path())),it=0;it<=ot;++it)!(it=ct;--ut)nt.point(mt[ut],bt[ut]);nt.lineEnd(),nt.areaEnd()}vt&&(mt[lt]=+o(At,lt,st),bt[lt]=+_e(At,lt,st),nt.point($?+$(At,lt,st):mt[lt],et?+et(At,lt,st):bt[lt]))}if(ht)return nt=null,ht+""||null}function ot(){return line().defined(tt).curve(at).context(rt)}return it.x=function(st){return arguments.length?(o=typeof st=="function"?st:constant$2(+st),$=null,it):o},it.x0=function(st){return arguments.length?(o=typeof st=="function"?st:constant$2(+st),it):o},it.x1=function(st){return arguments.length?($=st==null?null:typeof st=="function"?st:constant$2(+st),it):$},it.y=function(st){return arguments.length?(_e=typeof st=="function"?st:constant$2(+st),et=null,it):_e},it.y0=function(st){return arguments.length?(_e=typeof st=="function"?st:constant$2(+st),it):_e},it.y1=function(st){return arguments.length?(et=st==null?null:typeof st=="function"?st:constant$2(+st),it):et},it.lineX0=it.lineY0=function(){return ot().x(o).y(_e)},it.lineY1=function(){return ot().x(o).y(et)},it.lineX1=function(){return ot().x($).y(_e)},it.defined=function(st){return arguments.length?(tt=typeof st=="function"?st:constant$2(!!st),it):tt},it.curve=function(st){return arguments.length?(at=st,rt!=null&&(nt=at(rt)),it):at},it.context=function(st){return arguments.length?(st==null?rt=nt=null:nt=at(rt=st),it):rt},it}function descending$1(o,$){return $o?1:$>=o?0:NaN}function identity$2(o){return o}function pieBuilder(){var o=identity$2,$=descending$1,_e=null,et=constant$2(0),tt=constant$2(tau$1),rt=constant$2(0);function at(nt){var it,ot=nt.length,st,lt,ct=0,ut=new Array(ot),ft=new Array(ot),At=+et.apply(this,arguments),vt=Math.min(tau$1,Math.max(-tau$1,tt.apply(this,arguments)-At)),ht,mt=Math.min(Math.abs(vt)/ot,rt.apply(this,arguments)),bt=mt*(vt<0?-1:1),dt;for(it=0;it0&&(ct+=dt);for($!=null?ut.sort(function(xt,Ct){return $(ft[xt],ft[Ct])}):_e!=null&&ut.sort(function(xt,Ct){return _e(nt[xt],nt[Ct])}),it=0,lt=ct?(vt-ot*bt)/ct:0;it0?dt*lt:0)+bt,ft[st]={data:nt[st],index:it,value:dt,startAngle:At,endAngle:ht,padAngle:mt};return ft}return at.value=function(nt){return arguments.length?(o=typeof nt=="function"?nt:constant$2(+nt),at):o},at.sortValues=function(nt){return arguments.length?($=nt,_e=null,at):$},at.sort=function(nt){return arguments.length?(_e=nt,$=null,at):_e},at.startAngle=function(nt){return arguments.length?(et=typeof nt=="function"?nt:constant$2(+nt),at):et},at.endAngle=function(nt){return arguments.length?(tt=typeof nt=="function"?nt:constant$2(+nt),at):tt},at.padAngle=function(nt){return arguments.length?(rt=typeof nt=="function"?nt:constant$2(+nt),at):rt},at}var curveRadialLinear=curveRadial$1(curveLinear);function Radial(o){this._curve=o}Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(o,$){this._curve.point($*Math.sin(o),$*-Math.cos(o))}};function curveRadial$1(o){function $(_e){return new Radial(o(_e))}return $._curve=o,$}function lineRadial(o){var $=o.curve;return o.angle=o.x,delete o.x,o.radius=o.y,delete o.y,o.curve=function(_e){return arguments.length?$(curveRadial$1(_e)):$()._curve},o}function lineRadial$1(){return lineRadial(line().curve(curveRadialLinear))}function areaRadial(){var o=area$1().curve(curveRadialLinear),$=o.curve,_e=o.lineX0,et=o.lineX1,tt=o.lineY0,rt=o.lineY1;return o.angle=o.x,delete o.x,o.startAngle=o.x0,delete o.x0,o.endAngle=o.x1,delete o.x1,o.radius=o.y,delete o.y,o.innerRadius=o.y0,delete o.y0,o.outerRadius=o.y1,delete o.y1,o.lineStartAngle=function(){return lineRadial(_e())},delete o.lineX0,o.lineEndAngle=function(){return lineRadial(et())},delete o.lineX1,o.lineInnerRadius=function(){return lineRadial(tt())},delete o.lineY0,o.lineOuterRadius=function(){return lineRadial(rt())},delete o.lineY1,o.curve=function(at){return arguments.length?$(curveRadial$1(at)):$()._curve},o}function pointRadial(o,$){return[($=+$)*Math.cos(o-=Math.PI/2),$*Math.sin(o)]}var slice$2=Array.prototype.slice;function linkSource(o){return o.source}function linkTarget(o){return o.target}function link(o){var $=linkSource,_e=linkTarget,et=x,tt=y,rt=null;function at(){var nt,it=slice$2.call(arguments),ot=$.apply(this,it),st=_e.apply(this,it);if(rt||(rt=nt=path()),o(rt,+et.apply(this,(it[0]=ot,it)),+tt.apply(this,it),+et.apply(this,(it[0]=st,it)),+tt.apply(this,it)),nt)return rt=null,nt+""||null}return at.source=function(nt){return arguments.length?($=nt,at):$},at.target=function(nt){return arguments.length?(_e=nt,at):_e},at.x=function(nt){return arguments.length?(et=typeof nt=="function"?nt:constant$2(+nt),at):et},at.y=function(nt){return arguments.length?(tt=typeof nt=="function"?nt:constant$2(+nt),at):tt},at.context=function(nt){return arguments.length?(rt=nt==null?null:nt,at):rt},at}function curveHorizontal(o,$,_e,et,tt){o.moveTo($,_e),o.bezierCurveTo($=($+et)/2,_e,$,tt,et,tt)}function curveVertical(o,$,_e,et,tt){o.moveTo($,_e),o.bezierCurveTo($,_e=(_e+tt)/2,et,_e,et,tt)}function curveRadial(o,$,_e,et,tt){var rt=pointRadial($,_e),at=pointRadial($,_e=(_e+tt)/2),nt=pointRadial(et,_e),it=pointRadial(et,tt);o.moveTo(rt[0],rt[1]),o.bezierCurveTo(at[0],at[1],nt[0],nt[1],it[0],it[1])}function linkHorizontal(){return link(curveHorizontal)}function linkVertical(){return link(curveVertical)}function linkRadial(){var o=link(curveRadial);return o.angle=o.x,delete o.x,o.radius=o.y,delete o.y,o}const circle$1={draw:function(o,$){var _e=Math.sqrt($/pi$1);o.moveTo(_e,0),o.arc(0,0,_e,0,tau$1)}},cross={draw:function(o,$){var _e=Math.sqrt($/5)/2;o.moveTo(-3*_e,-_e),o.lineTo(-_e,-_e),o.lineTo(-_e,-3*_e),o.lineTo(_e,-3*_e),o.lineTo(_e,-_e),o.lineTo(3*_e,-_e),o.lineTo(3*_e,_e),o.lineTo(_e,_e),o.lineTo(_e,3*_e),o.lineTo(-_e,3*_e),o.lineTo(-_e,_e),o.lineTo(-3*_e,_e),o.closePath()}};var tan30=Math.sqrt(1/3),tan30_2=tan30*2;const diamond={draw:function(o,$){var _e=Math.sqrt($/tan30_2),et=_e*tan30;o.moveTo(0,-_e),o.lineTo(et,0),o.lineTo(0,_e),o.lineTo(-et,0),o.closePath()}};var ka=.8908130915292852,kr=Math.sin(pi$1/10)/Math.sin(7*pi$1/10),kx=Math.sin(tau$1/10)*kr,ky=-Math.cos(tau$1/10)*kr;const star={draw:function(o,$){var _e=Math.sqrt($*ka),et=kx*_e,tt=ky*_e;o.moveTo(0,-_e),o.lineTo(et,tt);for(var rt=1;rt<5;++rt){var at=tau$1*rt/5,nt=Math.cos(at),it=Math.sin(at);o.lineTo(it*_e,-nt*_e),o.lineTo(nt*et-it*tt,it*et+nt*tt)}o.closePath()}},square={draw:function(o,$){var _e=Math.sqrt($),et=-_e/2;o.rect(et,et,_e,_e)}};var sqrt3=Math.sqrt(3);const triangle={draw:function(o,$){var _e=-Math.sqrt($/(sqrt3*3));o.moveTo(0,_e*2),o.lineTo(-sqrt3*_e,-_e),o.lineTo(sqrt3*_e,-_e),o.closePath()}};var c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=(k/2+1)*3;const wye={draw:function(o,$){var _e=Math.sqrt($/a),et=_e/2,tt=_e*k,rt=et,at=_e*k+_e,nt=-rt,it=at;o.moveTo(et,tt),o.lineTo(rt,at),o.lineTo(nt,it),o.lineTo(c*et-s*tt,s*et+c*tt),o.lineTo(c*rt-s*at,s*rt+c*at),o.lineTo(c*nt-s*it,s*nt+c*it),o.lineTo(c*et+s*tt,c*tt-s*et),o.lineTo(c*rt+s*at,c*at-s*rt),o.lineTo(c*nt+s*it,c*it-s*nt),o.closePath()}};var symbols=[circle$1,cross,diamond,square,star,triangle,wye];function symbol(){var o=constant$2(circle$1),$=constant$2(64),_e=null;function et(){var tt;if(_e||(_e=tt=path()),o.apply(this,arguments).draw(_e,+$.apply(this,arguments)),tt)return _e=null,tt+""||null}return et.type=function(tt){return arguments.length?(o=typeof tt=="function"?tt:constant$2(tt),et):o},et.size=function(tt){return arguments.length?($=typeof tt=="function"?tt:constant$2(+tt),et):$},et.context=function(tt){return arguments.length?(_e=tt==null?null:tt,et):_e},et}function noop$3(){}function point$3(o,$,_e){o._context.bezierCurveTo((2*o._x0+o._x1)/3,(2*o._y0+o._y1)/3,(o._x0+2*o._x1)/3,(o._y0+2*o._y1)/3,(o._x0+4*o._x1+$)/6,(o._y0+4*o._y1+_e)/6)}function Basis(o){this._context=o}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point$3(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point$3(this,o,$);break}this._x0=this._x1,this._x1=o,this._y0=this._y1,this._y1=$}};function basis(o){return new Basis(o)}function BasisClosed(o){this._context=o}BasisClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._x2=o,this._y2=$;break;case 1:this._point=2,this._x3=o,this._y3=$;break;case 2:this._point=3,this._x4=o,this._y4=$,this._context.moveTo((this._x0+4*this._x1+o)/6,(this._y0+4*this._y1+$)/6);break;default:point$3(this,o,$);break}this._x0=this._x1,this._x1=o,this._y0=this._y1,this._y1=$}};function basisClosed(o){return new BasisClosed(o)}function BasisOpen(o){this._context=o}BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var _e=(this._x0+4*this._x1+o)/6,et=(this._y0+4*this._y1+$)/6;this._line?this._context.lineTo(_e,et):this._context.moveTo(_e,et);break;case 3:this._point=4;default:point$3(this,o,$);break}this._x0=this._x1,this._x1=o,this._y0=this._y1,this._y1=$}};function basisOpen(o){return new BasisOpen(o)}function Bundle(o,$){this._basis=new Basis(o),this._beta=$}Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var o=this._x,$=this._y,_e=o.length-1;if(_e>0)for(var et=o[0],tt=$[0],rt=o[_e]-et,at=$[_e]-tt,nt=-1,it;++nt<=_e;)it=nt/_e,this._basis.point(this._beta*o[nt]+(1-this._beta)*(et+it*rt),this._beta*$[nt]+(1-this._beta)*(tt+it*at));this._x=this._y=null,this._basis.lineEnd()},point:function(o,$){this._x.push(+o),this._y.push(+$)}};const bundle=function o($){function _e(et){return $===1?new Basis(et):new Bundle(et,$)}return _e.beta=function(et){return o(+et)},_e}(.85);function point$2(o,$,_e){o._context.bezierCurveTo(o._x1+o._k*(o._x2-o._x0),o._y1+o._k*(o._y2-o._y0),o._x2+o._k*(o._x1-$),o._y2+o._k*(o._y1-_e),o._x2,o._y2)}function Cardinal(o,$){this._context=o,this._k=(1-$)/6}Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$2(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2,this._x1=o,this._y1=$;break;case 2:this._point=3;default:point$2(this,o,$);break}this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const cardinal=function o($){function _e(et){return new Cardinal(et,$)}return _e.tension=function(et){return o(+et)},_e}(0);function CardinalClosed(o,$){this._context=o,this._k=(1-$)/6}CardinalClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._x3=o,this._y3=$;break;case 1:this._point=2,this._context.moveTo(this._x4=o,this._y4=$);break;case 2:this._point=3,this._x5=o,this._y5=$;break;default:point$2(this,o,$);break}this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const cardinalClosed=function o($){function _e(et){return new CardinalClosed(et,$)}return _e.tension=function(et){return o(+et)},_e}(0);function CardinalOpen(o,$){this._context=o,this._k=(1-$)/6}CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,o,$);break}this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const cardinalOpen=function o($){function _e(et){return new CardinalOpen(et,$)}return _e.tension=function(et){return o(+et)},_e}(0);function point$1(o,$,_e){var et=o._x1,tt=o._y1,rt=o._x2,at=o._y2;if(o._l01_a>epsilon){var nt=2*o._l01_2a+3*o._l01_a*o._l12_a+o._l12_2a,it=3*o._l01_a*(o._l01_a+o._l12_a);et=(et*nt-o._x0*o._l12_2a+o._x2*o._l01_2a)/it,tt=(tt*nt-o._y0*o._l12_2a+o._y2*o._l01_2a)/it}if(o._l23_a>epsilon){var ot=2*o._l23_2a+3*o._l23_a*o._l12_a+o._l12_2a,st=3*o._l23_a*(o._l23_a+o._l12_a);rt=(rt*ot+o._x1*o._l23_2a-$*o._l12_2a)/st,at=(at*ot+o._y1*o._l23_2a-_e*o._l12_2a)/st}o._context.bezierCurveTo(et,tt,rt,at,o._x2,o._y2)}function CatmullRom(o,$){this._context=o,this._alpha=$}CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){if(o=+o,$=+$,this._point){var _e=this._x2-o,et=this._y2-$;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(_e*_e+et*et,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;break;case 2:this._point=3;default:point$1(this,o,$);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const catmullRom=function o($){function _e(et){return $?new CatmullRom(et,$):new Cardinal(et,0)}return _e.alpha=function(et){return o(+et)},_e}(.5);function CatmullRomClosed(o,$){this._context=o,this._alpha=$}CatmullRomClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(o,$){if(o=+o,$=+$,this._point){var _e=this._x2-o,et=this._y2-$;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(_e*_e+et*et,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=o,this._y3=$;break;case 1:this._point=2,this._context.moveTo(this._x4=o,this._y4=$);break;case 2:this._point=3,this._x5=o,this._y5=$;break;default:point$1(this,o,$);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const catmullRomClosed=function o($){function _e(et){return $?new CatmullRomClosed(et,$):new CardinalClosed(et,0)}return _e.alpha=function(et){return o(+et)},_e}(.5);function CatmullRomOpen(o,$){this._context=o,this._alpha=$}CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){if(o=+o,$=+$,this._point){var _e=this._x2-o,et=this._y2-$;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(_e*_e+et*et,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,o,$);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=o,this._y0=this._y1,this._y1=this._y2,this._y2=$}};const catmullRomOpen=function o($){function _e(et){return $?new CatmullRomOpen(et,$):new CardinalOpen(et,0)}return _e.alpha=function(et){return o(+et)},_e}(.5);function LinearClosed(o){this._context=o}LinearClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(o,$){o=+o,$=+$,this._point?this._context.lineTo(o,$):(this._point=1,this._context.moveTo(o,$))}};function linearClosed(o){return new LinearClosed(o)}function sign(o){return o<0?-1:1}function slope3(o,$,_e){var et=o._x1-o._x0,tt=$-o._x1,rt=(o._y1-o._y0)/(et||tt<0&&-0),at=(_e-o._y1)/(tt||et<0&&-0),nt=(rt*tt+at*et)/(et+tt);return(sign(rt)+sign(at))*Math.min(Math.abs(rt),Math.abs(at),.5*Math.abs(nt))||0}function slope2(o,$){var _e=o._x1-o._x0;return _e?(3*(o._y1-o._y0)/_e-$)/2:$}function point(o,$,_e){var et=o._x0,tt=o._y0,rt=o._x1,at=o._y1,nt=(rt-et)/3;o._context.bezierCurveTo(et+nt,tt+nt*$,rt-nt,at-nt*_e,rt,at)}function MonotoneX(o){this._context=o}MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point(this,this._t0,slope2(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(o,$){var _e=NaN;if(o=+o,$=+$,!(o===this._x1&&$===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;break;case 2:this._point=3,point(this,slope2(this,_e=slope3(this,o,$)),_e);break;default:point(this,this._t0,_e=slope3(this,o,$));break}this._x0=this._x1,this._x1=o,this._y0=this._y1,this._y1=$,this._t0=_e}}};function MonotoneY(o){this._context=new ReflectContext(o)}(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(o,$){MonotoneX.prototype.point.call(this,$,o)};function ReflectContext(o){this._context=o}ReflectContext.prototype={moveTo:function(o,$){this._context.moveTo($,o)},closePath:function(){this._context.closePath()},lineTo:function(o,$){this._context.lineTo($,o)},bezierCurveTo:function(o,$,_e,et,tt,rt){this._context.bezierCurveTo($,o,et,_e,rt,tt)}};function monotoneX(o){return new MonotoneX(o)}function monotoneY(o){return new MonotoneY(o)}function Natural(o){this._context=o}Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var o=this._x,$=this._y,_e=o.length;if(_e)if(this._line?this._context.lineTo(o[0],$[0]):this._context.moveTo(o[0],$[0]),_e===2)this._context.lineTo(o[1],$[1]);else for(var et=controlPoints(o),tt=controlPoints($),rt=0,at=1;at<_e;++rt,++at)this._context.bezierCurveTo(et[0][rt],tt[0][rt],et[1][rt],tt[1][rt],o[at],$[at]);(this._line||this._line!==0&&_e===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(o,$){this._x.push(+o),this._y.push(+$)}};function controlPoints(o){var $,_e=o.length-1,et,tt=new Array(_e),rt=new Array(_e),at=new Array(_e);for(tt[0]=0,rt[0]=2,at[0]=o[0]+2*o[1],$=1;$<_e-1;++$)tt[$]=1,rt[$]=4,at[$]=4*o[$]+2*o[$+1];for(tt[_e-1]=2,rt[_e-1]=7,at[_e-1]=8*o[_e-1]+o[_e],$=1;$<_e;++$)et=tt[$]/rt[$-1],rt[$]-=et,at[$]-=et*at[$-1];for(tt[_e-1]=at[_e-1]/rt[_e-1],$=_e-2;$>=0;--$)tt[$]=(at[$]-tt[$+1])/rt[$];for(rt[_e-1]=(o[_e]+tt[_e-1])/2,$=0;$<_e-1;++$)rt[$]=2*o[$+1]-tt[$+1];return[tt,rt]}function natural(o){return new Natural(o)}function Step(o,$){this._context=o,this._t=$}Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(o,$){switch(o=+o,$=+$,this._point){case 0:this._point=1,this._line?this._context.lineTo(o,$):this._context.moveTo(o,$);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,$),this._context.lineTo(o,$);else{var _e=this._x*(1-this._t)+o*this._t;this._context.lineTo(_e,this._y),this._context.lineTo(_e,$)}break}}this._x=o,this._y=$}};function step(o){return new Step(o,.5)}function stepBefore(o){return new Step(o,0)}function stepAfter(o){return new Step(o,1)}function none$1(o,$){if((at=o.length)>1)for(var _e=1,et,tt,rt=o[$[0]],at,nt=rt.length;_e=0;)_e[$]=$;return _e}function stackValue(o,$){return o[$]}function stack(){var o=constant$2([]),$=none,_e=none$1,et=stackValue;function tt(rt){var at=o.apply(this,arguments),nt,it=rt.length,ot=at.length,st=new Array(ot),lt;for(nt=0;nt0){for(var _e,et,tt=0,rt=o[0].length,at;tt1)for(var _e,et=0,tt,rt,at,nt,it,ot=o[$[0]].length;et=0?(tt[0]=at,tt[1]=at+=rt):rt<0?(tt[1]=nt,tt[0]=nt+=rt):tt[0]=at}function silhouette(o,$){if((tt=o.length)>0){for(var _e=0,et=o[$[0]],tt,rt=et.length;_e0)||!((rt=(tt=o[$[0]]).length)>0))){for(var _e=0,et=1,tt,rt,at;etrt&&(rt=tt,_e=$);return _e}function ascending$1(o){var $=o.map(sum);return none(o).sort(function(_e,et){return $[_e]-$[et]})}function sum(o){for(var $=0,_e=-1,et=o.length,tt;++_e300?10:5:20}function getTickValues(o,$,_e){return _e||(o.ticks?o.ticks($):o.domain())}function generateFit(o,$){if(o.x===$.x)return{left:o.y,right:$.y,slope:0,offset:o.x};var _e=(o.y-$.y)/(o.x-$.x);return{left:o.x,right:$.x,slope:_e,offset:o.y-_e*o.x}}function generatePoints(o){var $=o.axisStart,_e=o.axisEnd,et=o.numberOfTicks,tt=o.axisDomain,rt=generateFit($,_e),at=rt.left,nt=rt.right,it=rt.slope,ot=rt.offset,st=(nt-at)/et,lt=linear().domain([at,nt]).range(tt),ct=$.x===_e.x;return{slope:ct?1/0:it,points:range(at,nt+st,st).map(function(ut){return ct?{y:ut,x:it*ut+ot,text:lt(ut)}:{x:ut,y:it*ut+ot,text:lt(ut)}}).slice(0,et+1)}}function getAxisAngle(o,$){return o.x===$.x?$.y>o.y?Math.PI/2:3*Math.PI/2:Math.atan(($.y-o.y)/($.x-o.x))}var _extends$12=Object.assign||function(o){for(var $=1;$ct[1])?ht:ht.concat([React$k.createElement("circle",_extends$12({cx:0,cy:0,r:dt},{key:bt,className:"rv-xy-plot__circular-grid-lines__line",style:ut}))])},[]))}}]),$}(reactExports.PureComponent);CircularGridLines.displayName="CircularGridLines";CircularGridLines.propTypes={centerX:propTypesExports.number,centerY:propTypesExports.number,width:propTypesExports.number,height:propTypesExports.number,top:propTypesExports.number,left:propTypesExports.number,rRange:propTypesExports.arrayOf(propTypesExports.number),style:propTypesExports.object,tickValues:propTypesExports.arrayOf(propTypesExports.number),tickTotal:propTypesExports.number,animation:AnimationPropType,marginTop:propTypesExports.number,marginBottom:propTypesExports.number,marginLeft:propTypesExports.number,marginRight:propTypesExports.number,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number};CircularGridLines.defaultProps={centerX:0,centerY:0};CircularGridLines.requiresSVG=!0;var array=Array.prototype,slice$1=array.slice;function ascending(o,$){return o-$}function area(o){for(var $=0,_e=o.length,et=o[_e-1][1]*o[0][0]-o[_e-1][0]*o[0][1];++$<_e;)et+=o[$-1][1]*o[$][0]-o[$-1][0]*o[$][1];return et}function constant$1(o){return function(){return o}}function contains(o,$){for(var _e=-1,et=$.length,tt;++_eet!=ut>et&&_e<(ct-ot)*(et-st)/(ut-st)+ot&&(tt=-tt)}return tt}function segmentContains(o,$,_e){var et;return collinear(o,$,_e)&&within(o[et=+(o[0]===$[0])],_e[et],$[et])}function collinear(o,$,_e){return($[0]-o[0])*(_e[1]-o[1])===(_e[0]-o[0])*($[1]-o[1])}function within(o,$,_e){return o<=$&&$<=_e||_e<=$&&$<=o}function noop$2(){}var cases=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function contours(){var o=1,$=1,_e=thresholdSturges,et=it;function tt(ot){var st=_e(ot);if(Array.isArray(st))st=st.slice().sort(ascending);else{var lt=extent(ot),ct=lt[0],ut=lt[1];st=tickStep(ct,ut,st),st=range(Math.floor(ct/st)*st,Math.floor(ut/st)*st,st)}return st.map(function(ft){return rt(ot,ft)})}function rt(ot,st){var lt=[],ct=[];return at(ot,st,function(ut){et(ut,ot,st),area(ut)>0?lt.push([ut]):ct.push(ut)}),ct.forEach(function(ut){for(var ft=0,At=lt.length,vt;ft=st,cases[ht<<1].forEach(dt);++ft=st,cases[vt|ht<<1].forEach(dt);for(cases[ht<<0].forEach(dt);++At<$-1;){for(ft=-1,ht=ot[At*o+o]>=st,mt=ot[At*o]>=st,cases[ht<<1|mt<<2].forEach(dt);++ft=st,bt=mt,mt=ot[At*o+ft+1]>=st,cases[vt|ht<<1|mt<<2|bt<<3].forEach(dt);cases[ht|mt<<3].forEach(dt)}for(ft=-1,mt=ot[At*o]>=st,cases[mt<<2].forEach(dt);++ft=st,cases[mt<<2|bt<<3].forEach(dt);cases[mt<<3].forEach(dt);function dt(xt){var Ct=[xt[0][0]+ft,xt[0][1]+At],gt=[xt[1][0]+ft,xt[1][1]+At],wt=nt(Ct),_t=nt(gt),Et,It;(Et=ut[wt])?(It=ct[_t])?(delete ut[Et.end],delete ct[It.start],Et===It?(Et.ring.push(gt),lt(Et.ring)):ct[Et.start]=ut[It.end]={start:Et.start,end:It.end,ring:Et.ring.concat(It.ring)}):(delete ut[Et.end],Et.ring.push(gt),ut[Et.end=_t]=Et):(Et=ct[_t])?(It=ut[wt])?(delete ct[Et.start],delete ut[It.end],Et===It?(Et.ring.push(gt),lt(Et.ring)):ct[It.start]=ut[Et.end]={start:It.start,end:Et.end,ring:It.ring.concat(Et.ring)}):(delete ct[Et.start],Et.ring.unshift(Ct),ct[Et.start=wt]=Et):ct[wt]=ut[_t]={start:wt,end:_t,ring:[Ct,gt]}}}function nt(ot){return ot[0]*2+ot[1]*(o+1)*4}function it(ot,st,lt){ot.forEach(function(ct){var ut=ct[0],ft=ct[1],At=ut|0,vt=ft|0,ht,mt=st[vt*o+At];ut>0&&ut0&&ft<$&&vt===ft&&(ht=st[(vt-1)*o+At],ct[1]=ft+(lt-ht)/(mt-ht)-.5)})}return tt.contour=rt,tt.size=function(ot){if(!arguments.length)return[o,$];var st=Math.ceil(ot[0]),lt=Math.ceil(ot[1]);if(!(st>0)||!(lt>0))throw new Error("invalid size");return o=st,$=lt,tt},tt.thresholds=function(ot){return arguments.length?(_e=typeof ot=="function"?ot:Array.isArray(ot)?constant$1(slice$1.call(ot)):constant$1(ot),tt):_e},tt.smooth=function(ot){return arguments.length?(et=ot?it:noop$2,tt):et===it},tt}function blurX(o,$,_e){for(var et=o.width,tt=o.height,rt=(_e<<1)+1,at=0;at=_e&&(nt>=rt&&(it-=o.data[nt-rt+at*et]),$.data[nt-_e+at*et]=it/Math.min(nt+1,et-1+rt-nt,rt))}function blurY(o,$,_e){for(var et=o.width,tt=o.height,rt=(_e<<1)+1,at=0;at=_e&&(nt>=rt&&(it-=o.data[at+(nt-rt)*et]),$.data[at+(nt-_e)*et]=it/Math.min(nt+1,tt-1+rt-nt,rt))}function defaultX(o){return o[0]}function defaultY(o){return o[1]}function defaultWeight(){return 1}function contourDensity(){var o=defaultX,$=defaultY,_e=defaultWeight,et=960,tt=500,rt=20,at=2,nt=rt*3,it=et+nt*2>>at,ot=tt+nt*2>>at,st=constant$1(20);function lt(ht){var mt=new Float32Array(it*ot),bt=new Float32Array(it*ot);ht.forEach(function(Ct,gt,wt){var _t=+o(Ct,gt,wt)+nt>>at,Et=+$(Ct,gt,wt)+nt>>at,It=+_e(Ct,gt,wt);_t>=0&&_t=0&&Et>at),blurY({width:it,height:ot,data:bt},{width:it,height:ot,data:mt},rt>>at),blurX({width:it,height:ot,data:mt},{width:it,height:ot,data:bt},rt>>at),blurY({width:it,height:ot,data:bt},{width:it,height:ot,data:mt},rt>>at),blurX({width:it,height:ot,data:mt},{width:it,height:ot,data:bt},rt>>at),blurY({width:it,height:ot,data:bt},{width:it,height:ot,data:mt},rt>>at);var dt=st(mt);if(!Array.isArray(dt)){var xt=max$2(mt);dt=tickStep(0,xt,dt),dt=range(0,Math.floor(xt/dt)*dt,dt),dt.shift()}return contours().thresholds(dt).size([it,ot])(mt).map(ct)}function ct(ht){return ht.value*=Math.pow(2,-2*at),ht.coordinates.forEach(ut),ht}function ut(ht){ht.forEach(ft)}function ft(ht){ht.forEach(At)}function At(ht){ht[0]=ht[0]*Math.pow(2,at)-nt,ht[1]=ht[1]*Math.pow(2,at)-nt}function vt(){return nt=rt*3,it=et+nt*2>>at,ot=tt+nt*2>>at,lt}return lt.x=function(ht){return arguments.length?(o=typeof ht=="function"?ht:constant$1(+ht),lt):o},lt.y=function(ht){return arguments.length?($=typeof ht=="function"?ht:constant$1(+ht),lt):$},lt.weight=function(ht){return arguments.length?(_e=typeof ht=="function"?ht:constant$1(+ht),lt):_e},lt.size=function(ht){if(!arguments.length)return[et,tt];var mt=Math.ceil(ht[0]),bt=Math.ceil(ht[1]);if(!(mt>=0)&&!(mt>=0))throw new Error("invalid size");return et=mt,tt=bt,vt()},lt.cellSize=function(ht){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return at=Math.floor(Math.log(ht)/Math.LN2),vt()},lt.thresholds=function(ht){return arguments.length?(st=typeof ht=="function"?ht:Array.isArray(ht)?constant$1(slice$1.call(ht)):constant$1(ht),lt):st},lt.bandwidth=function(ht){if(!arguments.length)return Math.sqrt(rt*(rt+1));if(!((ht=+ht)>=0))throw new Error("invalid bandwidth");return rt=Math.round((Math.sqrt(4*ht*ht+1)-1)/2),vt()},lt}function adder(){return new Adder}function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){this.s=this.t=0},add:function(o){add(temp,o,this.t),add(this,temp.s,this.s),this.s?this.t+=temp.t:this.s=temp.t},valueOf:function(){return this.s}};var temp=new Adder;function add(o,$,_e){var et=o.s=$+_e,tt=et-$,rt=et-tt;o.t=$-rt+(_e-tt)}var pi=Math.PI,tau=pi*2,abs$1=Math.abs,sqrt=Math.sqrt;function noop$1(){}function streamGeometry(o,$){o&&streamGeometryType.hasOwnProperty(o.type)&&streamGeometryType[o.type](o,$)}var streamObjectType={Feature:function(o,$){streamGeometry(o.geometry,$)},FeatureCollection:function(o,$){for(var _e=o.features,et=-1,tt=_e.length;++etpi?o+Math.round(-o/tau)*tau:o,$]}rotationIdentity.invert=rotationIdentity;adder();adder();function identity$1(o){return o}var areaSum=adder(),areaRingSum=adder(),x00$2,y00$2,x0$3,y0$3,areaStream={point:noop$1,lineStart:noop$1,lineEnd:noop$1,polygonStart:function(){areaStream.lineStart=areaRingStart,areaStream.lineEnd=areaRingEnd},polygonEnd:function(){areaStream.lineStart=areaStream.lineEnd=areaStream.point=noop$1,areaSum.add(abs$1(areaRingSum)),areaRingSum.reset()},result:function(){var o=areaSum/2;return areaSum.reset(),o}};function areaRingStart(){areaStream.point=areaPointFirst}function areaPointFirst(o,$){areaStream.point=areaPoint,x00$2=x0$3=o,y00$2=y0$3=$}function areaPoint(o,$){areaRingSum.add(y0$3*o-x0$3*$),x0$3=o,y0$3=$}function areaRingEnd(){areaPoint(x00$2,y00$2)}var x0$2=1/0,y0$2=x0$2,x1=-x0$2,y1=x1,boundsStream={point:boundsPoint,lineStart:noop$1,lineEnd:noop$1,polygonStart:noop$1,polygonEnd:noop$1,result:function(){var o=[[x0$2,y0$2],[x1,y1]];return x1=y1=-(y0$2=x0$2=1/0),o}};function boundsPoint(o,$){ox1&&(x1=o),$y1&&(y1=$)}var X0=0,Y0=0,Z0=0,X1=0,Y1=0,Z1=0,X2=0,Y2=0,Z2=0,x00$1,y00$1,x0$1,y0$1,centroidStream={point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart,centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.point=centroidPoint,centroidStream.lineStart=centroidLineStart,centroidStream.lineEnd=centroidLineEnd},result:function(){var o=Z2?[X2/Z2,Y2/Z2]:Z1?[X1/Z1,Y1/Z1]:Z0?[X0/Z0,Y0/Z0]:[NaN,NaN];return X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0,o}};function centroidPoint(o,$){X0+=o,Y0+=$,++Z0}function centroidLineStart(){centroidStream.point=centroidPointFirstLine}function centroidPointFirstLine(o,$){centroidStream.point=centroidPointLine,centroidPoint(x0$1=o,y0$1=$)}function centroidPointLine(o,$){var _e=o-x0$1,et=$-y0$1,tt=sqrt(_e*_e+et*et);X1+=tt*(x0$1+o)/2,Y1+=tt*(y0$1+$)/2,Z1+=tt,centroidPoint(x0$1=o,y0$1=$)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidPointFirstRing}function centroidRingEnd(){centroidPointRing(x00$1,y00$1)}function centroidPointFirstRing(o,$){centroidStream.point=centroidPointRing,centroidPoint(x00$1=x0$1=o,y00$1=y0$1=$)}function centroidPointRing(o,$){var _e=o-x0$1,et=$-y0$1,tt=sqrt(_e*_e+et*et);X1+=tt*(x0$1+o)/2,Y1+=tt*(y0$1+$)/2,Z1+=tt,tt=y0$1*o-x0$1*$,X2+=tt*(x0$1+o),Y2+=tt*(y0$1+$),Z2+=tt*3,centroidPoint(x0$1=o,y0$1=$)}function PathContext(o){this._context=o}PathContext.prototype={_radius:4.5,pointRadius:function(o){return this._radius=o,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(o,$){switch(this._point){case 0:{this._context.moveTo(o,$),this._point=1;break}case 1:{this._context.lineTo(o,$);break}default:{this._context.moveTo(o+this._radius,$),this._context.arc(o,$,this._radius,0,tau);break}}},result:noop$1};var lengthSum=adder(),lengthRing,x00,y00,x0,y0,lengthStream={point:noop$1,lineStart:function(){lengthStream.point=lengthPointFirst},lineEnd:function(){lengthRing&&lengthPoint(x00,y00),lengthStream.point=noop$1},polygonStart:function(){lengthRing=!0},polygonEnd:function(){lengthRing=null},result:function(){var o=+lengthSum;return lengthSum.reset(),o}};function lengthPointFirst(o,$){lengthStream.point=lengthPoint,x00=x0=o,y00=y0=$}function lengthPoint(o,$){x0-=o,y0-=$,lengthSum.add(sqrt(x0*x0+y0*y0)),x0=o,y0=$}function PathString(){this._string=[]}PathString.prototype={_radius:4.5,_circle:circle(4.5),pointRadius:function(o){return(o=+o)!==this._radius&&(this._radius=o,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(o,$){switch(this._point){case 0:{this._string.push("M",o,",",$),this._point=1;break}case 1:{this._string.push("L",o,",",$);break}default:{this._circle==null&&(this._circle=circle(this._radius)),this._string.push("M",o,",",$,this._circle);break}}},result:function(){if(this._string.length){var o=this._string.join("");return this._string=[],o}else return null}};function circle(o){return"m0,"+o+"a"+o+","+o+" 0 1,1 0,"+-2*o+"a"+o+","+o+" 0 1,1 0,"+2*o+"z"}function geoPath(o,$){var _e=4.5,et,tt;function rt(at){return at&&(typeof _e=="function"&&tt.pointRadius(+_e.apply(this,arguments)),geoStream(at,et(tt))),tt.result()}return rt.area=function(at){return geoStream(at,et(areaStream)),areaStream.result()},rt.measure=function(at){return geoStream(at,et(lengthStream)),lengthStream.result()},rt.bounds=function(at){return geoStream(at,et(boundsStream)),boundsStream.result()},rt.centroid=function(at){return geoStream(at,et(centroidStream)),centroidStream.result()},rt.projection=function(at){return arguments.length?(et=at==null?(o=null,identity$1):(o=at).stream,rt):o},rt.context=function(at){return arguments.length?(tt=at==null?($=null,new PathString):new PathContext($=at),typeof _e!="function"&&tt.pointRadius(_e),rt):$},rt.pointRadius=function(at){return arguments.length?(_e=typeof at=="function"?at:(tt.pointRadius(+at),+at),rt):_e},rt.projection(o).context($)}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(o,$){this.stream.point(o,$)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function equirectangularRaw(o,$){return[o,$]}equirectangularRaw.invert=equirectangularRaw;var _extends$11=Object.assign||function(o){for(var $=1;$ot/2?"left":"right":At,ht=it+ft,mt=nt,bt="rv-crosshair__inner rv-crosshair__inner--"+vt;return React$k.createElement("div",{className:"rv-crosshair "+rt,style:{left:ht+"px",top:mt+"px"}},React$k.createElement("div",{className:"rv-crosshair__line",style:_extends$10({height:st+"px"},lt.line)}),React$k.createElement("div",{className:bt},tt||React$k.createElement("div",{className:"rv-crosshair__inner__content",style:lt.box},React$k.createElement("div",null,this._renderCrosshairTitle(),this._renderCrosshairItems()))))}}],[{key:"defaultProps",get:function(){return{titleFormat:defaultTitleFormat,itemsFormat:defaultItemsFormat,style:{line:{},title:{},box:{}}}}},{key:"propTypes",get:function(){return{className:propTypesExports.string,values:propTypesExports.arrayOf(propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string,propTypesExports.object])),series:propTypesExports.object,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number,marginLeft:propTypesExports.number,marginTop:propTypesExports.number,orientation:propTypesExports.oneOf(["left","right"]),itemsFormat:propTypesExports.func,titleFormat:propTypesExports.func,style:propTypesExports.shape({line:propTypesExports.object,title:propTypesExports.object,box:propTypesExports.object})}}}]),$}(reactExports.PureComponent);Crosshair.displayName="Crosshair";var _createClass$I=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),Object.defineProperty($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),_extends$$=Object.assign||function(o){for(var $=1;$1&&arguments[1]!==void 0?arguments[1]:2,_e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:DEFAULT_STYLE;switch(o){case"diamond":return React$k.createElement("polygon",{style:_e,points:"0 0 "+$/2+" "+$/2+" 0 "+$+" "+-$/2+" "+$/2+" 0 0"});case"star":var et=[].concat(_toConsumableArray$2(new Array(5))).map(function(tt,rt){var at=rt/5*Math.PI*2,nt=at+Math.PI/10,it=at-Math.PI/10,ot=$/2.61;return` `+Math.cos(it)*$+" "+Math.sin(it)*$+` `+Math.cos(nt)*ot+" "+Math.sin(nt)*ot+` - `}).join(" ");return React$k.createElement("polygon",{points:et,x:"0",y:"0",height:$,width:$,style:_e});case"square":return React$k.createElement("rect",{x:""+-$/2,y:""+-$/2,height:$,width:$,style:_e});default:case"circle":return React$k.createElement("circle",{cx:"0",cy:"0",r:$/2,style:_e})}}function getInnerComponent(o){var $=o.customComponent,_e=o.defaultType,et=o.positionInPixels;o.positionFunctions;var tt=o.style,rt=o.propsSize,at=$.size,nt=_extends$$({},tt,$.style||{}),it=$.customComponent;return!it&&typeof _e=="string"?predefinedComponents(_e,at||rt,nt):it?typeof it=="string"?predefinedComponents(it||_e,at,nt):it($,et,nt):_e($,et,nt)}var CustomSVGSeries=function(o){_inherits$I($,o);function $(){return _classCallCheck$I(this,$),_possibleConstructorReturn$I(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _createClass$I($,[{key:"render",value:function(){var et=this,tt=this.props,rt=tt.animation,at=tt.className,nt=tt.customComponent,it=tt.data,ot=tt.innerHeight,st=tt.innerWidth,lt=tt.marginLeft,ct=tt.marginTop,ut=tt.style,ft=tt.size;if(!it||!st||!ot)return null;if(rt)return React$k.createElement(Animation,_extends$$({},this.props,{animatedProps:ANIMATED_SERIES_PROPS}),React$k.createElement($,_extends$$({},this.props,{animation:!1})));var At=this._getAttributeFunctor("x"),vt=this._getAttributeFunctor("y"),ht=it.map(function(bt,pt){var dt={x:At(bt),y:vt(bt)},_t=getInnerComponent({customComponent:bt,positionInPixels:dt,defaultType:nt,positionFunctions:{x:At,y:vt},style:ut,propsSize:ft});return React$k.createElement("g",{className:"rv-xy-plot__series--custom-svg",key:"rv-xy-plot__series--custom-svg-"+pt,transform:"translate("+dt.x+","+dt.y+")",onMouseEnter:function(gt){return et._valueMouseOverHandler(bt,gt)},onMouseLeave:function(gt){return et._valueMouseOutHandler(bt,gt)}},_t)});return React$k.createElement("g",{className:predefinedClassName$c+" "+at,transform:"translate("+lt+","+ct+")"},ht)}}]),$}(AbstractSeries);CustomSVGSeries.propTypes={animation:propTypesExports.bool,className:propTypesExports.string,customComponent:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func]),data:propTypesExports.arrayOf(propTypesExports.shape({x:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]).isRequired,y:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]).isRequired})).isRequired,marginLeft:propTypesExports.number,marginTop:propTypesExports.number,style:propTypesExports.object,size:propTypesExports.number,onValueMouseOver:propTypesExports.func,onValueMouseOut:propTypesExports.func};CustomSVGSeries.defaultProps=_extends$$({},AbstractSeries.defaultProps,{animation:!1,customComponent:"circle",style:{},size:2});var _extends$_=Object.assign||function(o){for(var $=1;$1){var Ct=ht-dt,gt=dt+(htxt*xt+Et*Et&&(dt=gt+(pt&1?1:-1)/2,pt=yt)}var It=dt+"-"+pt,Tt=ct[It];Tt?Tt.push(vt):(ut.push(Tt=ct[It]=[vt]),Tt.x=(dt+(pt&1)/2)*nt,Tt.y=pt*it)}return ut}function st(lt){var ct=0,ut=0;return angles.map(function(ft){var At=Math.sin(ft)*lt,vt=-Math.cos(ft)*lt,ht=At-ct,bt=vt-ut;return ct=At,ut=vt,[ht,bt]})}return ot.hexagon=function(lt){return"m"+st(lt==null?at:+lt).join("l")+"z"},ot.centers=function(){for(var lt=[],ct=Math.round($/it),ut=Math.round(o/nt),ft=ct*it;ftct),vt=ot&&(ttft);return at&&nt?At||vt:at?At:nt?vt:!0}},{key:"_convertAreaToCoordinates",value:function(et){var tt=this.props,rt=tt.enableX,at=tt.enableY,nt=tt.marginLeft,it=tt.marginTop,ot=getAttributeScale(this.props,"x"),st=getAttributeScale(this.props,"y");return rt&&at?{bottom:st.invert(et.bottom),left:ot.invert(et.left-nt),right:ot.invert(et.right-nt),top:st.invert(et.top)}:at?{bottom:st.invert(et.bottom-it),top:st.invert(et.top-it)}:rt?{left:ot.invert(et.left-nt),right:ot.invert(et.right-nt)}:{}}},{key:"startBrushing",value:function(et){var tt=this,rt=this.props,at=rt.onBrushStart,nt=rt.onDragStart,it=rt.drag,ot=this.state.dragArea,st=getLocs(et.nativeEvent),lt=st.xLoc,ct=st.yLoc,ut=function(vt,ht){var bt={bottom:ct,left:lt,right:lt,top:ct};tt.setState({dragging:vt,brushArea:ot&&!ht?ot:bt,brushing:!vt,startLocX:lt,startLocY:ct})},ft=this._clickedOutsideDrag(lt,ct);if(it&&!ot||!it||ft){ut(!1,ft),at&&at(et);return}it&&ot&&(ut(!0,ft),nt&&nt(et))}},{key:"stopBrushing",value:function(et){var tt=this.state,rt=tt.brushing,at=tt.dragging,nt=tt.brushArea;if(!(!rt&&!at)){var it=this.props,ot=it.onBrushEnd,st=it.onDragEnd,lt=it.drag,ct=Math.abs(nt.right-nt.left)<5,ut=Math.abs(nt.top-nt.bottom)<5,ft=ut||ct;this.setState({brushing:!1,dragging:!1,brushArea:lt?nt:{top:0,right:0,bottom:0,left:0},startLocX:0,startLocY:0,dragArea:lt&&!ft&&nt}),rt&&ot&&ot(ft?null:this._convertAreaToCoordinates(nt)),lt&&st&&st(ft?null:this._convertAreaToCoordinates(nt))}}},{key:"onBrush",value:function(et){var tt=this.props,rt=tt.onBrush,at=tt.onDrag,nt=tt.drag,it=this.state,ot=it.brushing,st=it.dragging,lt=getLocs(et.nativeEvent),ct=lt.xLoc,ut=lt.yLoc;if(ot){var ft=this._getDrawArea(ct,ut);this.setState({brushArea:ft}),rt&&rt(this._convertAreaToCoordinates(ft))}if(nt&&st){var At=this._getDragArea(ct,ut);this.setState({brushArea:At}),at&&at(this._convertAreaToCoordinates(At))}}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.color,at=tt.className,nt=tt.highlightHeight,it=tt.highlightWidth,ot=tt.highlightX,st=tt.highlightY,lt=tt.innerWidth,ct=tt.innerHeight,ut=tt.marginLeft,ft=tt.marginRight,At=tt.marginTop,vt=tt.marginBottom,ht=tt.opacity,bt=this.state.brushArea,pt=bt.left,dt=bt.right,_t=bt.top,Ct=bt.bottom,gt=0;if(ot){var yt=getAttributeScale(this.props,"x");gt=yt(ot)}var xt=0;if(st){var Et=getAttributeScale(this.props,"y");xt=Et(st)}var It=ut+ft+lt,Tt=At+vt+ct,Rt=it||It,Ot=nt||Tt;return React$k.createElement("g",{transform:"translate("+gt+", "+xt+")",className:at+" rv-highlight-container"},React$k.createElement("rect",{className:"rv-mouse-target",fill:"black",opacity:"0",x:"0",y:"0",width:Math.max(Rt,0),height:Math.max(Ot,0),onMouseDown:function(Bt){return et.startBrushing(Bt)},onMouseMove:function(Bt){return et.onBrush(Bt)},onMouseUp:function(Bt){return et.stopBrushing(Bt)},onMouseLeave:function(Bt){return et.stopBrushing(Bt)},onTouchEnd:function(Bt){Bt.preventDefault(),et.stopBrushing(Bt)},onTouchCancel:function(Bt){Bt.preventDefault(),et.stopBrushing(Bt)},onContextMenu:function(Bt){return Bt.preventDefault()},onContextMenuCapture:function(Bt){return Bt.preventDefault()}}),React$k.createElement("rect",{className:"rv-highlight",pointerEvents:"none",opacity:ht,fill:rt,x:pt,y:_t,width:Math.min(Math.max(0,dt-pt),Rt),height:Math.min(Math.max(0,Ct-_t),Ot)}))}}]),$}(AbstractSeries);Highlight.displayName="HighlightOverlay";Highlight.defaultProps={color:"rgb(77, 182, 172)",className:"",enableX:!0,enableY:!0,opacity:.3};Highlight.propTypes=_extends$V({},AbstractSeries.propTypes,{enableX:propTypesExports.bool,enableY:propTypesExports.bool,highlightHeight:propTypesExports.number,highlightWidth:propTypesExports.number,highlightX:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),highlightY:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),onBrushStart:propTypesExports.func,onDragStart:propTypesExports.func,onBrush:propTypesExports.func,onDrag:propTypesExports.func,onBrushEnd:propTypesExports.func,onDragEnd:propTypesExports.func});var _extends$U=Object.assign||function(o){for(var $=1;$at/2?ALIGN.LEFT:ALIGN.RIGHT),lt===ALIGN.AUTO&&(ct.vertical=tt>nt/2?ALIGN.TOP:ALIGN.BOTTOM),ct}},{key:"_getAlignClassNames",value:function(et){var tt=this.props.orientation,rt=tt?"rv-hint--orientation-"+tt:"";return rt+" rv-hint--horizontalAlign-"+et.horizontal+` - rv-hint--verticalAlign-`+et.vertical}},{key:"_getAlignStyle",value:function(et,tt,rt){return _extends$U({},this._getXCSS(et.horizontal,tt),this._getYCSS(et.vertical,rt))}},{key:"_getCSSBottom",value:function(et){if(et==null)return{bottom:0};var tt=this.props,rt=tt.innerHeight,at=tt.marginBottom;return{bottom:at+rt-et}}},{key:"_getCSSLeft",value:function(et){if(et==null)return{left:0};var tt=this.props.marginLeft;return{left:tt+et}}},{key:"_getCSSRight",value:function(et){if(et==null)return{right:0};var tt=this.props,rt=tt.innerWidth,at=tt.marginRight;return{right:at+rt-et}}},{key:"_getCSSTop",value:function(et){if(et==null)return{top:0};var tt=this.props.marginTop;return{top:tt+et}}},{key:"_getPositionInfo",value:function(){var et=this.props,tt=et.value,rt=et.getAlignStyle,at=getAttributeFunctor(this.props,"x")(tt),nt=getAttributeFunctor(this.props,"y")(tt),it=this._getAlign(at,nt);return{position:rt?rt(it,at,nt):this._getAlignStyle(it,at,nt),positionClassName:this._getAlignClassNames(it)}}},{key:"_getXCSS",value:function(et,tt){switch(et){case ALIGN.LEFT_EDGE:return this._getCSSLeft(null);case ALIGN.RIGHT_EDGE:return this._getCSSRight(null);case ALIGN.LEFT:return this._getCSSRight(tt);case ALIGN.RIGHT:default:return this._getCSSLeft(tt)}}},{key:"_getYCSS",value:function(et,tt){switch(et){case ALIGN.TOP_EDGE:return this._getCSSTop(null);case ALIGN.BOTTOM_EDGE:return this._getCSSBottom(null);case ALIGN.BOTTOM:return this._getCSSTop(tt);case ALIGN.TOP:default:return this._getCSSBottom(tt)}}},{key:"_mapOrientationToAlign",value:function(et){switch(et){case ORIENTATION.BOTTOM_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.BOTTOM};case ORIENTATION.BOTTOM_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.BOTTOM};case ORIENTATION.TOP_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.TOP};case ORIENTATION.TOP_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.TOP}}}},{key:"render",value:function(){var et=this.props,tt=et.value,rt=et.format,at=et.children,nt=et.style,it=et.className,ot=this._getPositionInfo(),st=ot.position,lt=ot.positionClassName;return React$k.createElement("div",{className:"rv-hint "+lt+" "+it,style:_extends$U({},nt,st,{position:"absolute"})},at||React$k.createElement("div",{className:"rv-hint__content",style:nt.content},rt(tt).map(function(ct,ut){return React$k.createElement("div",{key:"rv-hint"+ut,style:nt.row},React$k.createElement("span",{className:"rv-hint__title",style:nt.title},ct.title),": ",React$k.createElement("span",{className:"rv-hint__value",style:nt.value},ct.value))})))}}],[{key:"defaultProps",get:function(){return{format:defaultFormat,align:{horizontal:ALIGN.AUTO,vertical:ALIGN.AUTO},style:{}}}},{key:"propTypes",get:function(){return{marginTop:propTypesExports.number,marginLeft:propTypesExports.number,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number,scales:propTypesExports.object,value:propTypesExports.object,format:propTypesExports.func,style:propTypesExports.object,className:propTypesExports.string,align:propTypesExports.shape({horizontal:propTypesExports.oneOf([ALIGN.AUTO,ALIGN.LEFT,ALIGN.RIGHT,ALIGN.LEFT_EDGE,ALIGN.RIGHT_EDGE]),vertical:propTypesExports.oneOf([ALIGN.AUTO,ALIGN.BOTTOM,ALIGN.TOP,ALIGN.BOTTOM_EDGE,ALIGN.TOP_EDGE])}),getAlignStyle:propTypesExports.func,orientation:propTypesExports.oneOf([ORIENTATION.BOTTOM_LEFT,ORIENTATION.BOTTOM_RIGHT,ORIENTATION.TOP_LEFT,ORIENTATION.TOP_RIGHT])}}}]),$}(reactExports.PureComponent);Hint.displayName="Hint";Hint.ORIENTATION=ORIENTATION;Hint.ALIGN=ALIGN;var _extends$T=Object.assign||function(o){for(var $=1;$_t;if(!gt&&!yt)return null;var xt=_extends$x({opacity:rt?rt(_e):DEFAULT_OPACITY,stroke:nt&&nt(_e),strokeWidth:it||DEFAULT_STROKE_WIDTH},ot),Et=tt/2,It={x1:ht+vt,y1:bt,x2:pt,y2:bt,style:xt},Tt={x1:ht-vt,y1:bt,x2:dt,y2:bt,style:xt},Rt={x1:pt,y1:bt-Et,x2:pt,y2:bt+Et,style:xt},Ot={x1:dt,y1:bt-Et,x2:dt,y2:bt+Et,style:xt},Mt={x1:ht,y1:bt-vt,x2:ht,y2:_t,style:xt},Bt={x1:ht,y1:bt+vt,x2:ht,y2:Ct,style:xt},Lt={x1:ht-Et,y1:_t,x2:ht+Et,y2:_t,style:xt},Vt={x1:ht-Et,y1:Ct,x2:ht+Et,y2:Ct,style:xt};return React$k.createElement("g",{className:"mark-whiskers",key:et,onClick:function(Nt){return st(_e,Nt)},onContextMenu:function(Nt){return ut(_e,Nt)},onMouseOver:function(Nt){return ct(_e,Nt)},onMouseOut:function(Nt){return lt(_e,Nt)}},gt?React$k.createElement("g",{className:"x-whiskers"},React$k.createElement("line",It),React$k.createElement("line",Tt),React$k.createElement("line",Rt),React$k.createElement("line",Ot)):null,yt?React$k.createElement("g",{className:"y-whiskers"},React$k.createElement("line",Mt),React$k.createElement("line",Bt),React$k.createElement("line",Lt),React$k.createElement("line",Vt)):null)}},WhiskerSeries=function(o){_inherits$h($,o);function $(){return _classCallCheck$h(this,$),_possibleConstructorReturn$h(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _createClass$h($,[{key:"render",value:function(){var et=this.props,tt=et.animation,rt=et.className,at=et.crossBarWidth,nt=et.data,it=et.marginLeft,ot=et.marginTop,st=et.strokeWidth,lt=et.style;if(!nt)return null;if(tt)return React$k.createElement(Animation,_extends$x({},this.props,{animatedProps:ANIMATED_SERIES_PROPS}),React$k.createElement($,_extends$x({},this.props,{animation:null})));var ct={crossBarWidth:at,opacityFunctor:this._getAttributeFunctor("opacity"),sizeFunctor:this._getAttributeFunctor("size"),strokeFunctor:this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color"),strokeWidth:st,style:lt,xFunctor:this._getAttributeFunctor("x"),yFunctor:this._getAttributeFunctor("y"),valueClickHandler:this._valueClickHandler,valueRightClickHandler:this._valueRightClickHandler,valueMouseOverHandler:this._valueMouseOverHandler,valueMouseOutHandler:this._valueMouseOutHandler};return React$k.createElement("g",{className:predefinedClassName$2+" "+rt,transform:"translate("+it+","+ot+")"},nt.map(renderWhiskerMark(ct)))}}]),$}(AbstractSeries);WhiskerSeries.displayName="WhiskerSeries";WhiskerSeries.propTypes=_extends$x({},AbstractSeries.propTypes,{strokeWidth:propTypesExports.number});WhiskerSeries.defaultProps=_extends$x({},AbstractSeries.defaultProps,{crossBarWidth:DEFAULT_CROSS_BAR_WIDTH,size:0,strokeWidth:DEFAULT_STROKE_WIDTH});var deepEqualExports={},deepEqual$1={get exports(){return deepEqualExports},set exports(o){deepEqualExports=o}},keysExports={},keys={get exports(){return keysExports},set exports(o){keysExports=o}};(function(o,$){$=o.exports=typeof Object.keys=="function"?Object.keys:_e,$.shim=_e;function _e(et){var tt=[];for(var rt in et)tt.push(rt);return tt}})(keys,keysExports);var is_argumentsExports={},is_arguments={get exports(){return is_argumentsExports},set exports(o){is_argumentsExports=o}};(function(o,$){var _e=function(){return Object.prototype.toString.call(arguments)}()=="[object Arguments]";$=o.exports=_e?et:tt,$.supported=et;function et(rt){return Object.prototype.toString.call(rt)=="[object Arguments]"}$.unsupported=tt;function tt(rt){return rt&&typeof rt=="object"&&typeof rt.length=="number"&&Object.prototype.hasOwnProperty.call(rt,"callee")&&!Object.prototype.propertyIsEnumerable.call(rt,"callee")||!1}})(is_arguments,is_argumentsExports);var pSlice=Array.prototype.slice,objectKeys=keysExports,isArguments=is_argumentsExports,deepEqual=deepEqual$1.exports=function(o,$,_e){return _e||(_e={}),o===$?!0:o instanceof Date&&$ instanceof Date?o.getTime()===$.getTime():!o||!$||typeof o!="object"&&typeof $!="object"?_e.strict?o===$:o==$:objEquiv(o,$,_e)};function isUndefinedOrNull(o){return o==null}function isBuffer(o){return!(!o||typeof o!="object"||typeof o.length!="number"||typeof o.copy!="function"||typeof o.slice!="function"||o.length>0&&typeof o[0]!="number")}function objEquiv(o,$,_e){var et,tt;if(isUndefinedOrNull(o)||isUndefinedOrNull($)||o.prototype!==$.prototype)return!1;if(isArguments(o))return isArguments($)?(o=pSlice.call(o),$=pSlice.call($),deepEqual(o,$,_e)):!1;if(isBuffer(o)){if(!isBuffer($)||o.length!==$.length)return!1;for(et=0;et=0;et--)if(rt[et]!=at[et])return!1;for(et=rt.length-1;et>=0;et--)if(tt=rt[et],!deepEqual(o[tt],$[tt],_e))return!1;return typeof o==typeof $}var _extends$w=Object.assign||function(o){for(var $=1;$MAX_DRAWS&&clearInterval(rt),tt+=1},1)}function drawLayers(o,$,_e,et,tt){o.clearRect(0,0,_e,$),et.forEach(function(rt){var at=rt.interpolator,nt=rt.newProps,it=rt.animation,ot=it?at&&at(tt/MAX_DRAWS):function(){return{}};rt.renderLayer(_extends$v({},nt,ot),o)})}function buildLayers(o,$){return o.map(function(_e,et){var tt=$[et]?$[et].props:{},rt=_e.props,at=extractAnimatedPropValues(_extends$v({},tt,{animatedProps:ANIMATED_SERIES_PROPS})),nt=rt?extractAnimatedPropValues(_extends$v({},rt,{animatedProps:ANIMATED_SERIES_PROPS})):null,it=interpolate(at,nt);return{renderLayer:_e.type.renderLayer,newProps:_e.props,animation:_e.props.animation,interpolator:it}})}var CanvasWrapper=function(o){_inherits$g($,o);function $(){return _classCallCheck$g(this,$),_possibleConstructorReturn$g(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _createClass$g($,[{key:"componentDidMount",value:function(){var et=this.canvas.getContext("2d");if(et){var tt=this.props.pixelRatio;et&&(et.scale(tt,tt),this.drawChildren(null,this.props,et))}}},{key:"componentDidUpdate",value:function(et){this.drawChildren(et,this.props,this.canvas.getContext("2d"))}},{key:"drawChildren",value:function(et,tt,rt){var at=tt.children,nt=tt.innerHeight,it=tt.innerWidth,ot=tt.marginBottom,st=tt.marginLeft,lt=tt.marginRight,ct=tt.marginTop;if(rt){var ut=at.find(function(ht){return ht.props.animation}),ft=nt+ct+ot,At=it+st+lt,vt=buildLayers(tt.children,et?et.children:[]);if(!ut){drawLayers(rt,ft,At,vt);return}engageDrawLoop(rt,ft,At,vt)}}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.innerHeight,at=tt.innerWidth,nt=tt.marginBottom,it=tt.marginLeft,ot=tt.marginRight,st=tt.marginTop,lt=tt.pixelRatio,ct=rt+st+nt,ut=at+it+ot;return React$k.createElement("div",{style:{left:0,top:0},className:"rv-xy-canvas"},React$k.createElement("canvas",{className:"rv-xy-canvas-element",height:ct*lt,width:ut*lt,style:{height:ct+"px",width:ut+"px"},ref:function(At){return et.canvas=At}}),this.props.children)}}],[{key:"defaultProps",get:function(){return{pixelRatio:window&&window.devicePixelRatio||1}}}]),$}(reactExports.Component);CanvasWrapper.displayName="CanvasWrapper";CanvasWrapper.propTypes={marginBottom:propTypesExports.number.isRequired,marginLeft:propTypesExports.number.isRequired,marginRight:propTypesExports.number.isRequired,marginTop:propTypesExports.number.isRequired,innerHeight:propTypesExports.number.isRequired,innerWidth:propTypesExports.number.isRequired,pixelRatio:propTypesExports.number.isRequired};var _createClass$f=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),Object.defineProperty($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),_extends$u=Object.assign||function(o){for(var $=1;$-1,_t=dt?VERTICAL_CLASS_NAME:HORIZONTAL_CLASS_NAME,Ct=lt,gt=bt;if(ut){var yt=getAttributeScale(rt,at);dt?Ct=yt(0):gt=ct+yt(0)}return React$k.createElement("g",{transform:"translate("+Ct+","+gt+")",className:predefinedClassName$1+" "+_t+" "+nt,style:vt},!ot&&React$k.createElement(AxisLine,{height:it,width:pt,orientation:ft,style:_extends$q({},vt,vt.line)}),!st&&React$k.createElement(AxisTicks,_extends$q({},rt,{style:_extends$q({},vt,vt.ticks)})),ht?React$k.createElement(AxisTitle,{position:At,title:ht,height:it,width:pt,style:_extends$q({},vt,vt.title),orientation:ft}):null)}}]),$}(reactExports.PureComponent);Axis.displayName="Axis";Axis.propTypes=propTypes$3;Axis.defaultProps=defaultProps$3;Axis.requiresSVG=!0;var _extends$p=Object.assign||function(o){for(var $=1;$_t.max)&&(lt=!1),{x:pt,y:dt}}),ut=predefinedClassName+"-line",ft=ut+" "+predefinedClassName+"-line-unselected",At={animation:$,className:lt?ut:ft,key:st+"-polygon",data:ct,color:ot.color||et[st%et.length],style:_extends$k({},at.lines,ot.style||{})};return lt||(At.style=_extends$k({},At.style,at.deselectedLineStyle)),nt?React$k.createElement(LineMarkSeries,At):React$k.createElement(LineSeries,At)})}var ParallelCoordinates=function(o){_inherits$c($,o);function $(){var _e,et,tt,rt;_classCallCheck$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=0;)$+=_e[et].value;o.value=$}function node_count(){return this.eachAfter(count)}function node_each(o){var $=this,_e,et=[$],tt,rt,at;do for(_e=et.reverse(),et=[];$=_e.pop();)if(o($),tt=$.children,tt)for(rt=0,at=tt.length;rt=0;--tt)_e.push(et[tt]);return this}function node_eachAfter(o){for(var $=this,_e=[$],et=[],tt,rt,at;$=_e.pop();)if(et.push($),tt=$.children,tt)for(rt=0,at=tt.length;rt=0;)_e+=et[tt].value;$.value=_e})}function node_sort(o){return this.eachBefore(function($){$.children&&$.children.sort(o)})}function node_path(o){for(var $=this,_e=leastCommonAncestor($,o),et=[$];$!==_e;)$=$.parent,et.push($);for(var tt=et.length;o!==_e;)et.splice(tt,0,o),o=o.parent;return et}function leastCommonAncestor(o,$){if(o===$)return o;var _e=o.ancestors(),et=$.ancestors(),tt=null;for(o=_e.pop(),$=et.pop();o===$;)tt=o,o=_e.pop(),$=et.pop();return tt}function node_ancestors(){for(var o=this,$=[o];o=o.parent;)$.push(o);return $}function node_descendants(){var o=[];return this.each(function($){o.push($)}),o}function node_leaves(){var o=[];return this.eachBefore(function($){$.children||o.push($)}),o}function node_links(){var o=this,$=[];return o.each(function(_e){_e!==o&&$.push({source:_e.parent,target:_e})}),$}function hierarchy(o,$){var _e=new Node$1(o),et=+o.value&&(_e.value=o.value),tt,rt=[_e],at,nt,it,ot;for($==null&&($=defaultChildren);tt=rt.pop();)if(et&&(tt.value=+tt.data.value),(nt=$(tt.data))&&(ot=nt.length))for(tt.children=new Array(ot),it=ot-1;it>=0;--it)rt.push(at=tt.children[it]=new Node$1(nt[it])),at.parent=tt,at.depth=tt.depth+1;return _e.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function defaultChildren(o){return o.children}function copyData(o){o.data=o.data.data}function computeHeight(o){var $=0;do o.height=$;while((o=o.parent)&&o.height<++$)}function Node$1(o){this.data=o,this.depth=this.height=0,this.parent=null}Node$1.prototype=hierarchy.prototype={constructor:Node$1,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy};var slice=Array.prototype.slice;function shuffle(o){for(var $=o.length,_e,et;$;)et=Math.random()*$--|0,_e=o[$],o[$]=o[et],o[et]=_e;return o}function enclose(o){for(var $=0,_e=(o=shuffle(slice.call(o))).length,et=[],tt,rt;$<_e;)tt=o[$],rt&&enclosesWeak(rt,tt)?++$:(rt=encloseBasis(et=extendBasis(et,tt)),$=0);return rt}function extendBasis(o,$){var _e,et;if(enclosesWeakAll($,o))return[$];for(_e=0;_e0&&_e*_e>et*et+tt*tt}function enclosesWeakAll(o,$){for(var _e=0;_e<$.length;++_e)if(!enclosesWeak(o,$[_e]))return!1;return!0}function encloseBasis(o){switch(o.length){case 1:return encloseBasis1(o[0]);case 2:return encloseBasis2(o[0],o[1]);case 3:return encloseBasis3(o[0],o[1],o[2])}}function encloseBasis1(o){return{x:o.x,y:o.y,r:o.r}}function encloseBasis2(o,$){var _e=o.x,et=o.y,tt=o.r,rt=$.x,at=$.y,nt=$.r,it=rt-_e,ot=at-et,st=nt-tt,lt=Math.sqrt(it*it+ot*ot);return{x:(_e+rt+it/lt*st)/2,y:(et+at+ot/lt*st)/2,r:(lt+tt+nt)/2}}function encloseBasis3(o,$,_e){var et=o.x,tt=o.y,rt=o.r,at=$.x,nt=$.y,it=$.r,ot=_e.x,st=_e.y,lt=_e.r,ct=et-at,ut=et-ot,ft=tt-nt,At=tt-st,vt=it-rt,ht=lt-rt,bt=et*et+tt*tt-rt*rt,pt=bt-at*at-nt*nt+it*it,dt=bt-ot*ot-st*st+lt*lt,_t=ut*ft-ct*At,Ct=(ft*dt-At*pt)/(_t*2)-et,gt=(At*vt-ft*ht)/_t,yt=(ut*pt-ct*dt)/(_t*2)-tt,xt=(ct*ht-ut*vt)/_t,Et=gt*gt+xt*xt-1,It=2*(rt+Ct*gt+yt*xt),Tt=Ct*Ct+yt*yt-rt*rt,Rt=-(Et?(It+Math.sqrt(It*It-4*Et*Tt))/(2*Et):Tt/It);return{x:et+Ct+gt*Rt,y:tt+yt+xt*Rt,r:Rt}}function place(o,$,_e){var et=o.x-$.x,tt,rt,at=o.y-$.y,nt,it,ot=et*et+at*at;ot?(rt=$.r+_e.r,rt*=rt,it=o.r+_e.r,it*=it,rt>it?(tt=(ot+it-rt)/(2*ot),nt=Math.sqrt(Math.max(0,it/ot-tt*tt)),_e.x=o.x-tt*et-nt*at,_e.y=o.y-tt*at+nt*et):(tt=(ot+rt-it)/(2*ot),nt=Math.sqrt(Math.max(0,rt/ot-tt*tt)),_e.x=$.x+tt*et-nt*at,_e.y=$.y+tt*at+nt*et)):(_e.x=$.x+_e.r,_e.y=$.y)}function intersects(o,$){var _e=o.r+$.r-1e-6,et=$.x-o.x,tt=$.y-o.y;return _e>0&&_e*_e>et*et+tt*tt}function score(o){var $=o._,_e=o.next._,et=$.r+_e.r,tt=($.x*_e.r+_e.x*$.r)/et,rt=($.y*_e.r+_e.y*$.r)/et;return tt*tt+rt*rt}function Node(o){this._=o,this.next=null,this.previous=null}function packEnclose(o){if(!(tt=o.length))return 0;var $,_e,et,tt,rt,at,nt,it,ot,st,lt;if($=o[0],$.x=0,$.y=0,!(tt>1))return $.r;if(_e=o[1],$.x=-_e.r,_e.x=$.r,_e.y=0,!(tt>2))return $.r+_e.r;place(_e,$,et=o[2]),$=new Node($),_e=new Node(_e),et=new Node(et),$.next=et.previous=_e,_e.next=$.previous=et,et.next=_e.previous=$;e:for(nt=3;ntbt&&(bt=ot),Ct=vt*vt*_t,pt=Math.max(bt/Ct,Ct/ht),pt>dt){vt-=ot;break}dt=pt}at.push(it={value:vt,dice:ut1?et:1)},_e}(phi);function treemap(){var o=treemapSquarify,$=!1,_e=1,et=1,tt=[0],rt=constantZero,at=constantZero,nt=constantZero,it=constantZero,ot=constantZero;function st(ct){return ct.x0=ct.y0=0,ct.x1=_e,ct.y1=et,ct.eachBefore(lt),tt=[0],$&&ct.eachBefore(roundNode),ct}function lt(ct){var ut=tt[ct.depth],ft=ct.x0+ut,At=ct.y0+ut,vt=ct.x1-ut,ht=ct.y1-ut;vt=ct-1){var bt=rt[lt];bt.x0=ft,bt.y0=At,bt.x1=vt,bt.y1=ht;return}for(var pt=ot[lt],dt=ut/2+pt,_t=lt+1,Ct=ct-1;_t>>1;ot[gt]ht-At){var Et=(ft*xt+vt*yt)/ut;st(lt,_t,yt,ft,At,Et,ht),st(_t,ct,xt,Et,At,vt,ht)}else{var It=(At*xt+ht*yt)/ut;st(lt,_t,yt,ft,At,vt,It),st(_t,ct,xt,ft,It,vt,ht)}}}function treemapSliceDice(o,$,_e,et,tt){(o.depth&1?treemapSlice:treemapDice)(o,$,_e,et,tt)}const treemapResquarify=function o($){function _e(et,tt,rt,at,nt){if((it=et._squarify)&&it.ratio===$)for(var it,ot,st,lt,ct=-1,ut,ft=it.length,At=et.value;++ct1?et:1)},_e}(phi);propTypesExports.func,propTypesExports.func,propTypesExports.string,propTypesExports.string,propTypesExports.object.isRequired,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.number.isRequired,propTypesExports.oneOfType([propTypesExports.func,propTypesExports.number]);var _extends$j=Object.assign||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}function _classCallCheck$9(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$9(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$9(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var CONTAINER_REF="container",resizeSubscribers=[],DEBOUNCE_DURATION=100,timeoutId=null;function debounceEmitResize(){window_1.clearTimeout(timeoutId),timeoutId=window_1.setTimeout(emitResize,DEBOUNCE_DURATION)}function emitResize(){resizeSubscribers.forEach(function(o){return o()})}function subscribeToDebouncedResize(o){return resizeSubscribers.push(o),resizeSubscribers.length===1&&window_1.addEventListener("resize",debounceEmitResize),function(){removeSubscriber(o),resizeSubscribers.length===0&&(window_1.clearTimeout(timeoutId),window_1.removeEventListener("resize",debounceEmitResize))}}function removeSubscriber(o){var $=resizeSubscribers.indexOf(o);$>-1&&resizeSubscribers.splice($,1)}function getDisplayName(o){return o.displayName||o.name||"Component"}function makeFlexible(o,$,_e){var et=function(tt){_inherits$9(rt,tt),_createClass$9(rt,null,[{key:"propTypes",get:function(){var nt=o.propTypes;nt.height,nt.width;var it=_objectWithoutProperties$2(nt,["height","width"]);return it}}]);function rt(at){_classCallCheck$9(this,rt);var nt=_possibleConstructorReturn$9(this,(rt.__proto__||Object.getPrototypeOf(rt)).call(this,at));return nt._onResize=function(){var it=getDOMNode(nt[CONTAINER_REF]),ot=it.offsetHeight,st=it.offsetWidth,lt=nt.state.height===ot?{}:{height:ot},ct=nt.state.width===st?{}:{width:st};nt.setState(_extends$f({},lt,ct))},nt.state={height:0,width:0},nt}return _createClass$9(rt,[{key:"componentDidMount",value:function(){this._onResize(),this.cancelSubscription=subscribeToDebouncedResize(this._onResize)}},{key:"componentWillReceiveProps",value:function(){this._onResize()}},{key:"componentWillUnmount",value:function(){this.cancelSubscription()}},{key:"render",value:function(){var nt=this,it=this.state,ot=it.height,st=it.width,lt=_extends$f({},this.props,{animation:ot===0&&st===0?null:this.props.animation}),ct=_extends$f({},_e?{height:ot}:{},$?{width:st}:{});return React$k.createElement("div",{ref:function(ft){return nt[CONTAINER_REF]=ft},style:{width:"100%",height:"100%"}},React$k.createElement(o,_extends$f({},ct,lt)))}}]),rt}(React$k.Component);return et.displayName="Flexible"+getDisplayName(o),et}function makeHeightFlexible(o){return makeFlexible(o,!1,!0)}function makeVisFlexible(o){return makeFlexible(o,!0,!0)}function makeWidthFlexible(o){return makeFlexible(o,!0,!1)}makeWidthFlexible(XYPlot);makeHeightFlexible(XYPlot);makeVisFlexible(XYPlot);var hasOwnProperty$1=Object.prototype.hasOwnProperty;function is(o,$){return o===$?o!==0||$!==0||1/o===1/$:o!==o&&$!==$}function shallowEqual(o,$){if(is(o,$))return!0;if(typeof o!="object"||o===null||typeof $!="object"||$===null)return!1;var _e=Object.keys(o),et=Object.keys($);if(_e.length!==et.length)return!1;for(var tt=0;tt<_e.length;tt++)if(!hasOwnProperty$1.call($,_e[tt])||!is(o[_e[tt]],$[_e[tt]]))return!1;return!0}var shallowEqual_1=shallowEqual,lib$1={};Object.defineProperty(lib$1,"__esModule",{value:!0});lib$1.createChangeEmitter=function o(){var $=[],_e=$;function et(){_e===$&&(_e=$.slice())}function tt(at){if(typeof at!="function")throw new Error("Expected listener to be a function.");var nt=!0;return et(),_e.push(at),function(){if(nt){nt=!1,et();var it=_e.indexOf(at);_e.splice(it,1)}}}function rt(){$=_e;for(var at=$,nt=0;nt{function st(){nt.current&&ot(at(nt.current))}return st(),window.addEventListener("resize",st),()=>window.removeEventListener("resize",st)},[]),jsxRuntimeExports.jsx("div",{className:"TraceResultsScatterPlot",ref:nt,children:it&&jsxRuntimeExports.jsxs(XYPlot,{margin:{left:50},width:it,colorType:"literal",height:200,children:[jsxRuntimeExports.jsx(XAxis,{title:"Time",tickTotal:4,tickFormat:st=>hooks$1(st/ONE_MILLISECOND).format("hh:mm:ss a")}),jsxRuntimeExports.jsx(YAxis,{title:"Duration",tickTotal:3,tickFormat:st=>formatDuration(st)}),jsxRuntimeExports.jsx(MarkSeries,{sizeRange:[3,10],opacity:.5,onValueClick:_e,onValueMouseOver:tt,onValueMouseOut:rt,data:$}),et&&jsxRuntimeExports.jsx(Hint,{value:et,children:jsxRuntimeExports.jsx("h4",{className:"scatter-plot-hint",children:et.name||FALLBACK_TRACE_NAME})})]})})}const valueShape=propTypesExports.shape({x:propTypesExports.number,y:propTypesExports.number,traceID:propTypesExports.string,size:propTypesExports.number,name:propTypesExports.string});ScatterPlotImpl.propTypes={data:propTypesExports.arrayOf(valueShape).isRequired,overValue:valueShape,onValueClick:propTypesExports.func.isRequired,onValueOut:propTypesExports.func.isRequired,onValueOver:propTypesExports.func.isRequired,calculateContainerWidth:propTypesExports.func};ScatterPlotImpl.defaultProps={overValue:null,calculateContainerWidth:o=>o.clientWidth};const ScatterPlot=compose(withState("overValue","setOverValue",null),withProps(({setOverValue:o})=>({onValueOver:$=>o($),onValueOut:()=>o(null)})))(ScatterPlotImpl);var object_hashExports={},object_hash={get exports(){return object_hashExports},set exports(o){object_hashExports=o}};(function(o,$){(function(_e){o.exports=_e()})(function(){return function _e(et,tt,rt){function at(ot,st){if(!tt[ot]){if(!et[ot]){var lt=typeof commonjsRequire=="function"&&commonjsRequire;if(!st&<)return lt(ot,!0);if(nt)return nt(ot,!0);throw new Error("Cannot find module '"+ot+"'")}st=tt[ot]={exports:{}},et[ot][0].call(st.exports,function(ct){var ut=et[ot][1][ct];return at(ut||ct)},st,st.exports,_e,et,tt,rt)}return tt[ot].exports}for(var nt=typeof commonjsRequire=="function"&&commonjsRequire,it=0;it1){var Ct=ht-dt,gt=dt+(ht_t*_t+Et*Et&&(dt=gt+(bt&1?1:-1)/2,bt=wt)}var It=dt+"-"+bt,Tt=ct[It];Tt?Tt.push(vt):(ut.push(Tt=ct[It]=[vt]),Tt.x=(dt+(bt&1)/2)*nt,Tt.y=bt*it)}return ut}function st(lt){var ct=0,ut=0;return angles.map(function(ft){var At=Math.sin(ft)*lt,vt=-Math.cos(ft)*lt,ht=At-ct,mt=vt-ut;return ct=At,ut=vt,[ht,mt]})}return ot.hexagon=function(lt){return"m"+st(lt==null?at:+lt).join("l")+"z"},ot.centers=function(){for(var lt=[],ct=Math.round($/it),ut=Math.round(o/nt),ft=ct*it;ftct),vt=ot&&(ttft);return at&&nt?At||vt:at?At:nt?vt:!0}},{key:"_convertAreaToCoordinates",value:function(et){var tt=this.props,rt=tt.enableX,at=tt.enableY,nt=tt.marginLeft,it=tt.marginTop,ot=getAttributeScale(this.props,"x"),st=getAttributeScale(this.props,"y");return rt&&at?{bottom:st.invert(et.bottom),left:ot.invert(et.left-nt),right:ot.invert(et.right-nt),top:st.invert(et.top)}:at?{bottom:st.invert(et.bottom-it),top:st.invert(et.top-it)}:rt?{left:ot.invert(et.left-nt),right:ot.invert(et.right-nt)}:{}}},{key:"startBrushing",value:function(et){var tt=this,rt=this.props,at=rt.onBrushStart,nt=rt.onDragStart,it=rt.drag,ot=this.state.dragArea,st=getLocs(et.nativeEvent),lt=st.xLoc,ct=st.yLoc,ut=function(vt,ht){var mt={bottom:ct,left:lt,right:lt,top:ct};tt.setState({dragging:vt,brushArea:ot&&!ht?ot:mt,brushing:!vt,startLocX:lt,startLocY:ct})},ft=this._clickedOutsideDrag(lt,ct);if(it&&!ot||!it||ft){ut(!1,ft),at&&at(et);return}it&&ot&&(ut(!0,ft),nt&&nt(et))}},{key:"stopBrushing",value:function(et){var tt=this.state,rt=tt.brushing,at=tt.dragging,nt=tt.brushArea;if(!(!rt&&!at)){var it=this.props,ot=it.onBrushEnd,st=it.onDragEnd,lt=it.drag,ct=Math.abs(nt.right-nt.left)<5,ut=Math.abs(nt.top-nt.bottom)<5,ft=ut||ct;this.setState({brushing:!1,dragging:!1,brushArea:lt?nt:{top:0,right:0,bottom:0,left:0},startLocX:0,startLocY:0,dragArea:lt&&!ft&&nt}),rt&&ot&&ot(ft?null:this._convertAreaToCoordinates(nt)),lt&&st&&st(ft?null:this._convertAreaToCoordinates(nt))}}},{key:"onBrush",value:function(et){var tt=this.props,rt=tt.onBrush,at=tt.onDrag,nt=tt.drag,it=this.state,ot=it.brushing,st=it.dragging,lt=getLocs(et.nativeEvent),ct=lt.xLoc,ut=lt.yLoc;if(ot){var ft=this._getDrawArea(ct,ut);this.setState({brushArea:ft}),rt&&rt(this._convertAreaToCoordinates(ft))}if(nt&&st){var At=this._getDragArea(ct,ut);this.setState({brushArea:At}),at&&at(this._convertAreaToCoordinates(At))}}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.color,at=tt.className,nt=tt.highlightHeight,it=tt.highlightWidth,ot=tt.highlightX,st=tt.highlightY,lt=tt.innerWidth,ct=tt.innerHeight,ut=tt.marginLeft,ft=tt.marginRight,At=tt.marginTop,vt=tt.marginBottom,ht=tt.opacity,mt=this.state.brushArea,bt=mt.left,dt=mt.right,xt=mt.top,Ct=mt.bottom,gt=0;if(ot){var wt=getAttributeScale(this.props,"x");gt=wt(ot)}var _t=0;if(st){var Et=getAttributeScale(this.props,"y");_t=Et(st)}var It=ut+ft+lt,Tt=At+vt+ct,Rt=it||It,Ot=nt||Tt;return React$k.createElement("g",{transform:"translate("+gt+", "+_t+")",className:at+" rv-highlight-container"},React$k.createElement("rect",{className:"rv-mouse-target",fill:"black",opacity:"0",x:"0",y:"0",width:Math.max(Rt,0),height:Math.max(Ot,0),onMouseDown:function(Bt){return et.startBrushing(Bt)},onMouseMove:function(Bt){return et.onBrush(Bt)},onMouseUp:function(Bt){return et.stopBrushing(Bt)},onMouseLeave:function(Bt){return et.stopBrushing(Bt)},onTouchEnd:function(Bt){Bt.preventDefault(),et.stopBrushing(Bt)},onTouchCancel:function(Bt){Bt.preventDefault(),et.stopBrushing(Bt)},onContextMenu:function(Bt){return Bt.preventDefault()},onContextMenuCapture:function(Bt){return Bt.preventDefault()}}),React$k.createElement("rect",{className:"rv-highlight",pointerEvents:"none",opacity:ht,fill:rt,x:bt,y:xt,width:Math.min(Math.max(0,dt-bt),Rt),height:Math.min(Math.max(0,Ct-xt),Ot)}))}}]),$}(AbstractSeries);Highlight.displayName="HighlightOverlay";Highlight.defaultProps={color:"rgb(77, 182, 172)",className:"",enableX:!0,enableY:!0,opacity:.3};Highlight.propTypes=_extends$V({},AbstractSeries.propTypes,{enableX:propTypesExports.bool,enableY:propTypesExports.bool,highlightHeight:propTypesExports.number,highlightWidth:propTypesExports.number,highlightX:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),highlightY:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),onBrushStart:propTypesExports.func,onDragStart:propTypesExports.func,onBrush:propTypesExports.func,onDrag:propTypesExports.func,onBrushEnd:propTypesExports.func,onDragEnd:propTypesExports.func});var _extends$U=Object.assign||function(o){for(var $=1;$at/2?ALIGN.LEFT:ALIGN.RIGHT),lt===ALIGN.AUTO&&(ct.vertical=tt>nt/2?ALIGN.TOP:ALIGN.BOTTOM),ct}},{key:"_getAlignClassNames",value:function(et){var tt=this.props.orientation,rt=tt?"rv-hint--orientation-"+tt:"";return rt+" rv-hint--horizontalAlign-"+et.horizontal+` + rv-hint--verticalAlign-`+et.vertical}},{key:"_getAlignStyle",value:function(et,tt,rt){return _extends$U({},this._getXCSS(et.horizontal,tt),this._getYCSS(et.vertical,rt))}},{key:"_getCSSBottom",value:function(et){if(et==null)return{bottom:0};var tt=this.props,rt=tt.innerHeight,at=tt.marginBottom;return{bottom:at+rt-et}}},{key:"_getCSSLeft",value:function(et){if(et==null)return{left:0};var tt=this.props.marginLeft;return{left:tt+et}}},{key:"_getCSSRight",value:function(et){if(et==null)return{right:0};var tt=this.props,rt=tt.innerWidth,at=tt.marginRight;return{right:at+rt-et}}},{key:"_getCSSTop",value:function(et){if(et==null)return{top:0};var tt=this.props.marginTop;return{top:tt+et}}},{key:"_getPositionInfo",value:function(){var et=this.props,tt=et.value,rt=et.getAlignStyle,at=getAttributeFunctor(this.props,"x")(tt),nt=getAttributeFunctor(this.props,"y")(tt),it=this._getAlign(at,nt);return{position:rt?rt(it,at,nt):this._getAlignStyle(it,at,nt),positionClassName:this._getAlignClassNames(it)}}},{key:"_getXCSS",value:function(et,tt){switch(et){case ALIGN.LEFT_EDGE:return this._getCSSLeft(null);case ALIGN.RIGHT_EDGE:return this._getCSSRight(null);case ALIGN.LEFT:return this._getCSSRight(tt);case ALIGN.RIGHT:default:return this._getCSSLeft(tt)}}},{key:"_getYCSS",value:function(et,tt){switch(et){case ALIGN.TOP_EDGE:return this._getCSSTop(null);case ALIGN.BOTTOM_EDGE:return this._getCSSBottom(null);case ALIGN.BOTTOM:return this._getCSSTop(tt);case ALIGN.TOP:default:return this._getCSSBottom(tt)}}},{key:"_mapOrientationToAlign",value:function(et){switch(et){case ORIENTATION.BOTTOM_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.BOTTOM};case ORIENTATION.BOTTOM_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.BOTTOM};case ORIENTATION.TOP_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.TOP};case ORIENTATION.TOP_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.TOP}}}},{key:"render",value:function(){var et=this.props,tt=et.value,rt=et.format,at=et.children,nt=et.style,it=et.className,ot=this._getPositionInfo(),st=ot.position,lt=ot.positionClassName;return React$k.createElement("div",{className:"rv-hint "+lt+" "+it,style:_extends$U({},nt,st,{position:"absolute"})},at||React$k.createElement("div",{className:"rv-hint__content",style:nt.content},rt(tt).map(function(ct,ut){return React$k.createElement("div",{key:"rv-hint"+ut,style:nt.row},React$k.createElement("span",{className:"rv-hint__title",style:nt.title},ct.title),": ",React$k.createElement("span",{className:"rv-hint__value",style:nt.value},ct.value))})))}}],[{key:"defaultProps",get:function(){return{format:defaultFormat,align:{horizontal:ALIGN.AUTO,vertical:ALIGN.AUTO},style:{}}}},{key:"propTypes",get:function(){return{marginTop:propTypesExports.number,marginLeft:propTypesExports.number,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number,scales:propTypesExports.object,value:propTypesExports.object,format:propTypesExports.func,style:propTypesExports.object,className:propTypesExports.string,align:propTypesExports.shape({horizontal:propTypesExports.oneOf([ALIGN.AUTO,ALIGN.LEFT,ALIGN.RIGHT,ALIGN.LEFT_EDGE,ALIGN.RIGHT_EDGE]),vertical:propTypesExports.oneOf([ALIGN.AUTO,ALIGN.BOTTOM,ALIGN.TOP,ALIGN.BOTTOM_EDGE,ALIGN.TOP_EDGE])}),getAlignStyle:propTypesExports.func,orientation:propTypesExports.oneOf([ORIENTATION.BOTTOM_LEFT,ORIENTATION.BOTTOM_RIGHT,ORIENTATION.TOP_LEFT,ORIENTATION.TOP_RIGHT])}}}]),$}(reactExports.PureComponent);Hint.displayName="Hint";Hint.ORIENTATION=ORIENTATION;Hint.ALIGN=ALIGN;var _extends$T=Object.assign||function(o){for(var $=1;$xt;if(!gt&&!wt)return null;var _t=_extends$x({opacity:rt?rt(_e):DEFAULT_OPACITY,stroke:nt&&nt(_e),strokeWidth:it||DEFAULT_STROKE_WIDTH},ot),Et=tt/2,It={x1:ht+vt,y1:mt,x2:bt,y2:mt,style:_t},Tt={x1:ht-vt,y1:mt,x2:dt,y2:mt,style:_t},Rt={x1:bt,y1:mt-Et,x2:bt,y2:mt+Et,style:_t},Ot={x1:dt,y1:mt-Et,x2:dt,y2:mt+Et,style:_t},Mt={x1:ht,y1:mt-vt,x2:ht,y2:xt,style:_t},Bt={x1:ht,y1:mt+vt,x2:ht,y2:Ct,style:_t},Lt={x1:ht-Et,y1:xt,x2:ht+Et,y2:xt,style:_t},jt={x1:ht-Et,y1:Ct,x2:ht+Et,y2:Ct,style:_t};return React$k.createElement("g",{className:"mark-whiskers",key:et,onClick:function(Nt){return st(_e,Nt)},onContextMenu:function(Nt){return ut(_e,Nt)},onMouseOver:function(Nt){return ct(_e,Nt)},onMouseOut:function(Nt){return lt(_e,Nt)}},gt?React$k.createElement("g",{className:"x-whiskers"},React$k.createElement("line",It),React$k.createElement("line",Tt),React$k.createElement("line",Rt),React$k.createElement("line",Ot)):null,wt?React$k.createElement("g",{className:"y-whiskers"},React$k.createElement("line",Mt),React$k.createElement("line",Bt),React$k.createElement("line",Lt),React$k.createElement("line",jt)):null)}},WhiskerSeries=function(o){_inherits$h($,o);function $(){return _classCallCheck$h(this,$),_possibleConstructorReturn$h(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _createClass$h($,[{key:"render",value:function(){var et=this.props,tt=et.animation,rt=et.className,at=et.crossBarWidth,nt=et.data,it=et.marginLeft,ot=et.marginTop,st=et.strokeWidth,lt=et.style;if(!nt)return null;if(tt)return React$k.createElement(Animation,_extends$x({},this.props,{animatedProps:ANIMATED_SERIES_PROPS}),React$k.createElement($,_extends$x({},this.props,{animation:null})));var ct={crossBarWidth:at,opacityFunctor:this._getAttributeFunctor("opacity"),sizeFunctor:this._getAttributeFunctor("size"),strokeFunctor:this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color"),strokeWidth:st,style:lt,xFunctor:this._getAttributeFunctor("x"),yFunctor:this._getAttributeFunctor("y"),valueClickHandler:this._valueClickHandler,valueRightClickHandler:this._valueRightClickHandler,valueMouseOverHandler:this._valueMouseOverHandler,valueMouseOutHandler:this._valueMouseOutHandler};return React$k.createElement("g",{className:predefinedClassName$2+" "+rt,transform:"translate("+it+","+ot+")"},nt.map(renderWhiskerMark(ct)))}}]),$}(AbstractSeries);WhiskerSeries.displayName="WhiskerSeries";WhiskerSeries.propTypes=_extends$x({},AbstractSeries.propTypes,{strokeWidth:propTypesExports.number});WhiskerSeries.defaultProps=_extends$x({},AbstractSeries.defaultProps,{crossBarWidth:DEFAULT_CROSS_BAR_WIDTH,size:0,strokeWidth:DEFAULT_STROKE_WIDTH});var deepEqualExports={},deepEqual$1={get exports(){return deepEqualExports},set exports(o){deepEqualExports=o}},keysExports={},keys={get exports(){return keysExports},set exports(o){keysExports=o}};(function(o,$){$=o.exports=typeof Object.keys=="function"?Object.keys:_e,$.shim=_e;function _e(et){var tt=[];for(var rt in et)tt.push(rt);return tt}})(keys,keysExports);var is_argumentsExports={},is_arguments={get exports(){return is_argumentsExports},set exports(o){is_argumentsExports=o}};(function(o,$){var _e=function(){return Object.prototype.toString.call(arguments)}()=="[object Arguments]";$=o.exports=_e?et:tt,$.supported=et;function et(rt){return Object.prototype.toString.call(rt)=="[object Arguments]"}$.unsupported=tt;function tt(rt){return rt&&typeof rt=="object"&&typeof rt.length=="number"&&Object.prototype.hasOwnProperty.call(rt,"callee")&&!Object.prototype.propertyIsEnumerable.call(rt,"callee")||!1}})(is_arguments,is_argumentsExports);var pSlice=Array.prototype.slice,objectKeys=keysExports,isArguments=is_argumentsExports,deepEqual=deepEqual$1.exports=function(o,$,_e){return _e||(_e={}),o===$?!0:o instanceof Date&&$ instanceof Date?o.getTime()===$.getTime():!o||!$||typeof o!="object"&&typeof $!="object"?_e.strict?o===$:o==$:objEquiv(o,$,_e)};function isUndefinedOrNull(o){return o==null}function isBuffer(o){return!(!o||typeof o!="object"||typeof o.length!="number"||typeof o.copy!="function"||typeof o.slice!="function"||o.length>0&&typeof o[0]!="number")}function objEquiv(o,$,_e){var et,tt;if(isUndefinedOrNull(o)||isUndefinedOrNull($)||o.prototype!==$.prototype)return!1;if(isArguments(o))return isArguments($)?(o=pSlice.call(o),$=pSlice.call($),deepEqual(o,$,_e)):!1;if(isBuffer(o)){if(!isBuffer($)||o.length!==$.length)return!1;for(et=0;et=0;et--)if(rt[et]!=at[et])return!1;for(et=rt.length-1;et>=0;et--)if(tt=rt[et],!deepEqual(o[tt],$[tt],_e))return!1;return typeof o==typeof $}var _extends$w=Object.assign||function(o){for(var $=1;$MAX_DRAWS&&clearInterval(rt),tt+=1},1)}function drawLayers(o,$,_e,et,tt){o.clearRect(0,0,_e,$),et.forEach(function(rt){var at=rt.interpolator,nt=rt.newProps,it=rt.animation,ot=it?at&&at(tt/MAX_DRAWS):function(){return{}};rt.renderLayer(_extends$v({},nt,ot),o)})}function buildLayers(o,$){return o.map(function(_e,et){var tt=$[et]?$[et].props:{},rt=_e.props,at=extractAnimatedPropValues(_extends$v({},tt,{animatedProps:ANIMATED_SERIES_PROPS})),nt=rt?extractAnimatedPropValues(_extends$v({},rt,{animatedProps:ANIMATED_SERIES_PROPS})):null,it=interpolate(at,nt);return{renderLayer:_e.type.renderLayer,newProps:_e.props,animation:_e.props.animation,interpolator:it}})}var CanvasWrapper=function(o){_inherits$g($,o);function $(){return _classCallCheck$g(this,$),_possibleConstructorReturn$g(this,($.__proto__||Object.getPrototypeOf($)).apply(this,arguments))}return _createClass$g($,[{key:"componentDidMount",value:function(){var et=this.canvas.getContext("2d");if(et){var tt=this.props.pixelRatio;et&&(et.scale(tt,tt),this.drawChildren(null,this.props,et))}}},{key:"componentDidUpdate",value:function(et){this.drawChildren(et,this.props,this.canvas.getContext("2d"))}},{key:"drawChildren",value:function(et,tt,rt){var at=tt.children,nt=tt.innerHeight,it=tt.innerWidth,ot=tt.marginBottom,st=tt.marginLeft,lt=tt.marginRight,ct=tt.marginTop;if(rt){var ut=at.find(function(ht){return ht.props.animation}),ft=nt+ct+ot,At=it+st+lt,vt=buildLayers(tt.children,et?et.children:[]);if(!ut){drawLayers(rt,ft,At,vt);return}engageDrawLoop(rt,ft,At,vt)}}},{key:"render",value:function(){var et=this,tt=this.props,rt=tt.innerHeight,at=tt.innerWidth,nt=tt.marginBottom,it=tt.marginLeft,ot=tt.marginRight,st=tt.marginTop,lt=tt.pixelRatio,ct=rt+st+nt,ut=at+it+ot;return React$k.createElement("div",{style:{left:0,top:0},className:"rv-xy-canvas"},React$k.createElement("canvas",{className:"rv-xy-canvas-element",height:ct*lt,width:ut*lt,style:{height:ct+"px",width:ut+"px"},ref:function(At){return et.canvas=At}}),this.props.children)}}],[{key:"defaultProps",get:function(){return{pixelRatio:window&&window.devicePixelRatio||1}}}]),$}(reactExports.Component);CanvasWrapper.displayName="CanvasWrapper";CanvasWrapper.propTypes={marginBottom:propTypesExports.number.isRequired,marginLeft:propTypesExports.number.isRequired,marginRight:propTypesExports.number.isRequired,marginTop:propTypesExports.number.isRequired,innerHeight:propTypesExports.number.isRequired,innerWidth:propTypesExports.number.isRequired,pixelRatio:propTypesExports.number.isRequired};var _createClass$f=function(){function o($,_e){for(var et=0;et<_e.length;et++){var tt=_e[et];tt.enumerable=tt.enumerable||!1,tt.configurable=!0,"value"in tt&&(tt.writable=!0),Object.defineProperty($,tt.key,tt)}}return function($,_e,et){return _e&&o($.prototype,_e),et&&o($,et),$}}(),_extends$u=Object.assign||function(o){for(var $=1;$-1,xt=dt?VERTICAL_CLASS_NAME:HORIZONTAL_CLASS_NAME,Ct=lt,gt=mt;if(ut){var wt=getAttributeScale(rt,at);dt?Ct=wt(0):gt=ct+wt(0)}return React$k.createElement("g",{transform:"translate("+Ct+","+gt+")",className:predefinedClassName$1+" "+xt+" "+nt,style:vt},!ot&&React$k.createElement(AxisLine,{height:it,width:bt,orientation:ft,style:_extends$q({},vt,vt.line)}),!st&&React$k.createElement(AxisTicks,_extends$q({},rt,{style:_extends$q({},vt,vt.ticks)})),ht?React$k.createElement(AxisTitle,{position:At,title:ht,height:it,width:bt,style:_extends$q({},vt,vt.title),orientation:ft}):null)}}]),$}(reactExports.PureComponent);Axis.displayName="Axis";Axis.propTypes=propTypes$3;Axis.defaultProps=defaultProps$3;Axis.requiresSVG=!0;var _extends$p=Object.assign||function(o){for(var $=1;$xt.max)&&(lt=!1),{x:bt,y:dt}}),ut=predefinedClassName+"-line",ft=ut+" "+predefinedClassName+"-line-unselected",At={animation:$,className:lt?ut:ft,key:st+"-polygon",data:ct,color:ot.color||et[st%et.length],style:_extends$k({},at.lines,ot.style||{})};return lt||(At.style=_extends$k({},At.style,at.deselectedLineStyle)),nt?React$k.createElement(LineMarkSeries,At):React$k.createElement(LineSeries,At)})}var ParallelCoordinates=function(o){_inherits$c($,o);function $(){var _e,et,tt,rt;_classCallCheck$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=0;)$+=_e[et].value;o.value=$}function node_count(){return this.eachAfter(count)}function node_each(o){var $=this,_e,et=[$],tt,rt,at;do for(_e=et.reverse(),et=[];$=_e.pop();)if(o($),tt=$.children,tt)for(rt=0,at=tt.length;rt=0;--tt)_e.push(et[tt]);return this}function node_eachAfter(o){for(var $=this,_e=[$],et=[],tt,rt,at;$=_e.pop();)if(et.push($),tt=$.children,tt)for(rt=0,at=tt.length;rt=0;)_e+=et[tt].value;$.value=_e})}function node_sort(o){return this.eachBefore(function($){$.children&&$.children.sort(o)})}function node_path(o){for(var $=this,_e=leastCommonAncestor($,o),et=[$];$!==_e;)$=$.parent,et.push($);for(var tt=et.length;o!==_e;)et.splice(tt,0,o),o=o.parent;return et}function leastCommonAncestor(o,$){if(o===$)return o;var _e=o.ancestors(),et=$.ancestors(),tt=null;for(o=_e.pop(),$=et.pop();o===$;)tt=o,o=_e.pop(),$=et.pop();return tt}function node_ancestors(){for(var o=this,$=[o];o=o.parent;)$.push(o);return $}function node_descendants(){var o=[];return this.each(function($){o.push($)}),o}function node_leaves(){var o=[];return this.eachBefore(function($){$.children||o.push($)}),o}function node_links(){var o=this,$=[];return o.each(function(_e){_e!==o&&$.push({source:_e.parent,target:_e})}),$}function hierarchy(o,$){var _e=new Node$1(o),et=+o.value&&(_e.value=o.value),tt,rt=[_e],at,nt,it,ot;for($==null&&($=defaultChildren);tt=rt.pop();)if(et&&(tt.value=+tt.data.value),(nt=$(tt.data))&&(ot=nt.length))for(tt.children=new Array(ot),it=ot-1;it>=0;--it)rt.push(at=tt.children[it]=new Node$1(nt[it])),at.parent=tt,at.depth=tt.depth+1;return _e.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function defaultChildren(o){return o.children}function copyData(o){o.data=o.data.data}function computeHeight(o){var $=0;do o.height=$;while((o=o.parent)&&o.height<++$)}function Node$1(o){this.data=o,this.depth=this.height=0,this.parent=null}Node$1.prototype=hierarchy.prototype={constructor:Node$1,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy};var slice=Array.prototype.slice;function shuffle(o){for(var $=o.length,_e,et;$;)et=Math.random()*$--|0,_e=o[$],o[$]=o[et],o[et]=_e;return o}function enclose(o){for(var $=0,_e=(o=shuffle(slice.call(o))).length,et=[],tt,rt;$<_e;)tt=o[$],rt&&enclosesWeak(rt,tt)?++$:(rt=encloseBasis(et=extendBasis(et,tt)),$=0);return rt}function extendBasis(o,$){var _e,et;if(enclosesWeakAll($,o))return[$];for(_e=0;_e0&&_e*_e>et*et+tt*tt}function enclosesWeakAll(o,$){for(var _e=0;_e<$.length;++_e)if(!enclosesWeak(o,$[_e]))return!1;return!0}function encloseBasis(o){switch(o.length){case 1:return encloseBasis1(o[0]);case 2:return encloseBasis2(o[0],o[1]);case 3:return encloseBasis3(o[0],o[1],o[2])}}function encloseBasis1(o){return{x:o.x,y:o.y,r:o.r}}function encloseBasis2(o,$){var _e=o.x,et=o.y,tt=o.r,rt=$.x,at=$.y,nt=$.r,it=rt-_e,ot=at-et,st=nt-tt,lt=Math.sqrt(it*it+ot*ot);return{x:(_e+rt+it/lt*st)/2,y:(et+at+ot/lt*st)/2,r:(lt+tt+nt)/2}}function encloseBasis3(o,$,_e){var et=o.x,tt=o.y,rt=o.r,at=$.x,nt=$.y,it=$.r,ot=_e.x,st=_e.y,lt=_e.r,ct=et-at,ut=et-ot,ft=tt-nt,At=tt-st,vt=it-rt,ht=lt-rt,mt=et*et+tt*tt-rt*rt,bt=mt-at*at-nt*nt+it*it,dt=mt-ot*ot-st*st+lt*lt,xt=ut*ft-ct*At,Ct=(ft*dt-At*bt)/(xt*2)-et,gt=(At*vt-ft*ht)/xt,wt=(ut*bt-ct*dt)/(xt*2)-tt,_t=(ct*ht-ut*vt)/xt,Et=gt*gt+_t*_t-1,It=2*(rt+Ct*gt+wt*_t),Tt=Ct*Ct+wt*wt-rt*rt,Rt=-(Et?(It+Math.sqrt(It*It-4*Et*Tt))/(2*Et):Tt/It);return{x:et+Ct+gt*Rt,y:tt+wt+_t*Rt,r:Rt}}function place(o,$,_e){var et=o.x-$.x,tt,rt,at=o.y-$.y,nt,it,ot=et*et+at*at;ot?(rt=$.r+_e.r,rt*=rt,it=o.r+_e.r,it*=it,rt>it?(tt=(ot+it-rt)/(2*ot),nt=Math.sqrt(Math.max(0,it/ot-tt*tt)),_e.x=o.x-tt*et-nt*at,_e.y=o.y-tt*at+nt*et):(tt=(ot+rt-it)/(2*ot),nt=Math.sqrt(Math.max(0,rt/ot-tt*tt)),_e.x=$.x+tt*et-nt*at,_e.y=$.y+tt*at+nt*et)):(_e.x=$.x+_e.r,_e.y=$.y)}function intersects(o,$){var _e=o.r+$.r-1e-6,et=$.x-o.x,tt=$.y-o.y;return _e>0&&_e*_e>et*et+tt*tt}function score(o){var $=o._,_e=o.next._,et=$.r+_e.r,tt=($.x*_e.r+_e.x*$.r)/et,rt=($.y*_e.r+_e.y*$.r)/et;return tt*tt+rt*rt}function Node(o){this._=o,this.next=null,this.previous=null}function packEnclose(o){if(!(tt=o.length))return 0;var $,_e,et,tt,rt,at,nt,it,ot,st,lt;if($=o[0],$.x=0,$.y=0,!(tt>1))return $.r;if(_e=o[1],$.x=-_e.r,_e.x=$.r,_e.y=0,!(tt>2))return $.r+_e.r;place(_e,$,et=o[2]),$=new Node($),_e=new Node(_e),et=new Node(et),$.next=et.previous=_e,_e.next=$.previous=et,et.next=_e.previous=$;e:for(nt=3;ntmt&&(mt=ot),Ct=vt*vt*xt,bt=Math.max(mt/Ct,Ct/ht),bt>dt){vt-=ot;break}dt=bt}at.push(it={value:vt,dice:ut1?et:1)},_e}(phi);function treemap(){var o=treemapSquarify,$=!1,_e=1,et=1,tt=[0],rt=constantZero,at=constantZero,nt=constantZero,it=constantZero,ot=constantZero;function st(ct){return ct.x0=ct.y0=0,ct.x1=_e,ct.y1=et,ct.eachBefore(lt),tt=[0],$&&ct.eachBefore(roundNode),ct}function lt(ct){var ut=tt[ct.depth],ft=ct.x0+ut,At=ct.y0+ut,vt=ct.x1-ut,ht=ct.y1-ut;vt=ct-1){var mt=rt[lt];mt.x0=ft,mt.y0=At,mt.x1=vt,mt.y1=ht;return}for(var bt=ot[lt],dt=ut/2+bt,xt=lt+1,Ct=ct-1;xt>>1;ot[gt]ht-At){var Et=(ft*_t+vt*wt)/ut;st(lt,xt,wt,ft,At,Et,ht),st(xt,ct,_t,Et,At,vt,ht)}else{var It=(At*_t+ht*wt)/ut;st(lt,xt,wt,ft,At,vt,It),st(xt,ct,_t,ft,It,vt,ht)}}}function treemapSliceDice(o,$,_e,et,tt){(o.depth&1?treemapSlice:treemapDice)(o,$,_e,et,tt)}const treemapResquarify=function o($){function _e(et,tt,rt,at,nt){if((it=et._squarify)&&it.ratio===$)for(var it,ot,st,lt,ct=-1,ut,ft=it.length,At=et.value;++ct1?et:1)},_e}(phi);propTypesExports.func,propTypesExports.func,propTypesExports.string,propTypesExports.string,propTypesExports.object.isRequired,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.number.isRequired,propTypesExports.oneOfType([propTypesExports.func,propTypesExports.number]);var _extends$j=Object.assign||function(o){for(var $=1;$=0||Object.prototype.hasOwnProperty.call(o,et)&&(_e[et]=o[et]);return _e}function _classCallCheck$9(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$9(o,$){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return $&&(typeof $=="object"||typeof $=="function")?$:o}function _inherits$9(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof $);o.prototype=Object.create($&&$.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),$&&(Object.setPrototypeOf?Object.setPrototypeOf(o,$):o.__proto__=$)}var CONTAINER_REF="container",resizeSubscribers=[],DEBOUNCE_DURATION=100,timeoutId=null;function debounceEmitResize(){window_1.clearTimeout(timeoutId),timeoutId=window_1.setTimeout(emitResize,DEBOUNCE_DURATION)}function emitResize(){resizeSubscribers.forEach(function(o){return o()})}function subscribeToDebouncedResize(o){return resizeSubscribers.push(o),resizeSubscribers.length===1&&window_1.addEventListener("resize",debounceEmitResize),function(){removeSubscriber(o),resizeSubscribers.length===0&&(window_1.clearTimeout(timeoutId),window_1.removeEventListener("resize",debounceEmitResize))}}function removeSubscriber(o){var $=resizeSubscribers.indexOf(o);$>-1&&resizeSubscribers.splice($,1)}function getDisplayName(o){return o.displayName||o.name||"Component"}function makeFlexible(o,$,_e){var et=function(tt){_inherits$9(rt,tt),_createClass$9(rt,null,[{key:"propTypes",get:function(){var nt=o.propTypes;nt.height,nt.width;var it=_objectWithoutProperties$2(nt,["height","width"]);return it}}]);function rt(at){_classCallCheck$9(this,rt);var nt=_possibleConstructorReturn$9(this,(rt.__proto__||Object.getPrototypeOf(rt)).call(this,at));return nt._onResize=function(){var it=getDOMNode(nt[CONTAINER_REF]),ot=it.offsetHeight,st=it.offsetWidth,lt=nt.state.height===ot?{}:{height:ot},ct=nt.state.width===st?{}:{width:st};nt.setState(_extends$f({},lt,ct))},nt.state={height:0,width:0},nt}return _createClass$9(rt,[{key:"componentDidMount",value:function(){this._onResize(),this.cancelSubscription=subscribeToDebouncedResize(this._onResize)}},{key:"componentWillReceiveProps",value:function(){this._onResize()}},{key:"componentWillUnmount",value:function(){this.cancelSubscription()}},{key:"render",value:function(){var nt=this,it=this.state,ot=it.height,st=it.width,lt=_extends$f({},this.props,{animation:ot===0&&st===0?null:this.props.animation}),ct=_extends$f({},_e?{height:ot}:{},$?{width:st}:{});return React$k.createElement("div",{ref:function(ft){return nt[CONTAINER_REF]=ft},style:{width:"100%",height:"100%"}},React$k.createElement(o,_extends$f({},ct,lt)))}}]),rt}(React$k.Component);return et.displayName="Flexible"+getDisplayName(o),et}function makeHeightFlexible(o){return makeFlexible(o,!1,!0)}function makeVisFlexible(o){return makeFlexible(o,!0,!0)}function makeWidthFlexible(o){return makeFlexible(o,!0,!1)}makeWidthFlexible(XYPlot);makeHeightFlexible(XYPlot);makeVisFlexible(XYPlot);var hasOwnProperty$1=Object.prototype.hasOwnProperty;function is(o,$){return o===$?o!==0||$!==0||1/o===1/$:o!==o&&$!==$}function shallowEqual(o,$){if(is(o,$))return!0;if(typeof o!="object"||o===null||typeof $!="object"||$===null)return!1;var _e=Object.keys(o),et=Object.keys($);if(_e.length!==et.length)return!1;for(var tt=0;tt<_e.length;tt++)if(!hasOwnProperty$1.call($,_e[tt])||!is(o[_e[tt]],$[_e[tt]]))return!1;return!0}var shallowEqual_1=shallowEqual,lib$1={};Object.defineProperty(lib$1,"__esModule",{value:!0});lib$1.createChangeEmitter=function o(){var $=[],_e=$;function et(){_e===$&&(_e=$.slice())}function tt(at){if(typeof at!="function")throw new Error("Expected listener to be a function.");var nt=!0;return et(),_e.push(at),function(){if(nt){nt=!1,et();var it=_e.indexOf(at);_e.splice(it,1)}}}function rt(){$=_e;for(var at=$,nt=0;nt{function st(){nt.current&&ot(at(nt.current))}return st(),window.addEventListener("resize",st),()=>window.removeEventListener("resize",st)},[]),jsxRuntimeExports.jsx("div",{className:"TraceResultsScatterPlot",ref:nt,children:it&&jsxRuntimeExports.jsxs(XYPlot,{margin:{left:50},width:it,colorType:"literal",height:200,children:[jsxRuntimeExports.jsx(XAxis,{title:"Time",tickTotal:4,tickFormat:st=>hooks$1(st/ONE_MILLISECOND).format("hh:mm:ss a")}),jsxRuntimeExports.jsx(YAxis,{title:"Duration",tickTotal:3,tickFormat:st=>formatDuration(st)}),jsxRuntimeExports.jsx(MarkSeries,{sizeRange:[3,10],opacity:.5,onValueClick:_e,onValueMouseOver:tt,onValueMouseOut:rt,data:$}),et&&jsxRuntimeExports.jsx(Hint,{value:et,children:jsxRuntimeExports.jsx("h4",{className:"scatter-plot-hint",children:et.name||FALLBACK_TRACE_NAME})})]})})}const valueShape=propTypesExports.shape({x:propTypesExports.number,y:propTypesExports.number,traceID:propTypesExports.string,size:propTypesExports.number,name:propTypesExports.string});ScatterPlotImpl.propTypes={data:propTypesExports.arrayOf(valueShape).isRequired,overValue:valueShape,onValueClick:propTypesExports.func.isRequired,onValueOut:propTypesExports.func.isRequired,onValueOver:propTypesExports.func.isRequired,calculateContainerWidth:propTypesExports.func};ScatterPlotImpl.defaultProps={overValue:null,calculateContainerWidth:o=>o.clientWidth};const ScatterPlot=compose(withState("overValue","setOverValue",null),withProps(({setOverValue:o})=>({onValueOver:$=>o($),onValueOut:()=>o(null)})))(ScatterPlotImpl);var object_hashExports={},object_hash={get exports(){return object_hashExports},set exports(o){object_hashExports=o}};(function(o,$){(function(_e){o.exports=_e()})(function(){return function _e(et,tt,rt){function at(ot,st){if(!tt[ot]){if(!et[ot]){var lt=typeof commonjsRequire=="function"&&commonjsRequire;if(!st&<)return lt(ot,!0);if(nt)return nt(ot,!0);throw new Error("Cannot find module '"+ot+"'")}st=tt[ot]={exports:{}},et[ot][0].call(st.exports,function(ct){var ut=et[ot][1][ct];return at(ut||ct)},st,st.exports,_e,et,tt,rt)}return tt[ot].exports}for(var nt=typeof commonjsRequire=="function"&&commonjsRequire,it=0;it>16),Mt((65280&Et)>>8),Mt(255&Et);return It==2?Mt(255&(Et=gt(yt.charAt(xt))<<2|gt(yt.charAt(xt+1))>>4)):It==1&&(Mt((Et=gt(yt.charAt(xt))<<10|gt(yt.charAt(xt+1))<<4|gt(yt.charAt(xt+2))>>2)>>8&255),Mt(255&Et)),Tt},ft.fromByteArray=function(yt){var xt,Et,It,Tt,Rt=yt.length%3,Ot="";function Mt(Bt){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(Bt)}for(xt=0,It=yt.length-Rt;xt>18&63)+Mt(Tt>>12&63)+Mt(Tt>>6&63)+Mt(63&Tt);switch(Rt){case 1:Ot=(Ot+=Mt((Et=yt[yt.length-1])>>2))+Mt(Et<<4&63)+"==";break;case 2:Ot=(Ot=(Ot+=Mt((Et=(yt[yt.length-2]<<8)+yt[yt.length-1])>>10))+Mt(Et>>4&63))+Mt(Et<<2&63)+"="}return Ot}})(tt===void 0?this.base64js={}:tt)}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(_e,et,tt){(function(rt,at,vt,it,ot,st,lt,ct,ut){var ft=_e("base64-js"),At=_e("ieee754");function vt(Ft,jt,qt){if(!(this instanceof vt))return new vt(Ft,jt,qt);var or,fr,dr,vr,Er=typeof Ft;if(jt==="base64"&&Er=="string")for(Ft=(vr=Ft).trim?vr.trim():vr.replace(/^\s+|\s+$/g,"");Ft.length%4!=0;)Ft+="=";if(Er=="number")or=Vt(Ft);else if(Er=="string")or=vt.byteLength(Ft,jt);else{if(Er!="object")throw new Error("First argument needs to be a number, array or string.");or=Vt(Ft.length)}if(vt._useTypedArrays?fr=vt._augment(new Uint8Array(or)):((fr=this).length=or,fr._isBuffer=!0),vt._useTypedArrays&&typeof Ft.byteLength=="number")fr._set(Ft);else if(zt(vr=Ft)||vt.isBuffer(vr)||vr&&typeof vr=="object"&&typeof vr.length=="number")for(dr=0;dr>8,vr=vr%256,Er.push(vr),Er.push(dr);return Er}(jt),Ft,qt,or)}function pt(Ft,jt,qt){var or="";qt=Math.min(Ft.length,qt);for(var fr=jt;fr>>0)):(jt+1>>0),fr}function Ct(Ft,jt,qt,or){if(or||(Gt(typeof qt=="boolean","missing or invalid endian"),Gt(jt!=null,"missing offset"),Gt(jt+1>>8*(or?dr:1-dr)}function It(Ft,jt,qt,or,fr){if(fr||(Gt(jt!=null,"missing value"),Gt(typeof or=="boolean","missing or invalid endian"),Gt(qt!=null,"missing offset"),Gt(qt+3>>8*(or?dr:3-dr)&255}function Tt(Ft,jt,qt,or,fr){fr||(Gt(jt!=null,"missing value"),Gt(typeof or=="boolean","missing or invalid endian"),Gt(qt!=null,"missing offset"),Gt(qt+1this.length&&(or=this.length);var fr=(or=Ft.length-jt=this.length))return this[Ft]},vt.prototype.readUInt16LE=function(Ft,jt){return dt(this,Ft,!0,jt)},vt.prototype.readUInt16BE=function(Ft,jt){return dt(this,Ft,!1,jt)},vt.prototype.readUInt32LE=function(Ft,jt){return _t(this,Ft,!0,jt)},vt.prototype.readUInt32BE=function(Ft,jt){return _t(this,Ft,!1,jt)},vt.prototype.readInt8=function(Ft,jt){if(jt||(Gt(Ft!=null,"missing offset"),Gt(Ft=this.length))return 128&this[Ft]?-1*(255-this[Ft]+1):this[Ft]},vt.prototype.readInt16LE=function(Ft,jt){return Ct(this,Ft,!0,jt)},vt.prototype.readInt16BE=function(Ft,jt){return Ct(this,Ft,!1,jt)},vt.prototype.readInt32LE=function(Ft,jt){return gt(this,Ft,!0,jt)},vt.prototype.readInt32BE=function(Ft,jt){return gt(this,Ft,!1,jt)},vt.prototype.readFloatLE=function(Ft,jt){return yt(this,Ft,!0,jt)},vt.prototype.readFloatBE=function(Ft,jt){return yt(this,Ft,!1,jt)},vt.prototype.readDoubleLE=function(Ft,jt){return xt(this,Ft,!0,jt)},vt.prototype.readDoubleBE=function(Ft,jt){return xt(this,Ft,!1,jt)},vt.prototype.writeUInt8=function(Ft,jt,qt){qt||(Gt(Ft!=null,"missing value"),Gt(jt!=null,"missing offset"),Gt(jt=this.length||(this[jt]=Ft)},vt.prototype.writeUInt16LE=function(Ft,jt,qt){Et(this,Ft,jt,!0,qt)},vt.prototype.writeUInt16BE=function(Ft,jt,qt){Et(this,Ft,jt,!1,qt)},vt.prototype.writeUInt32LE=function(Ft,jt,qt){It(this,Ft,jt,!0,qt)},vt.prototype.writeUInt32BE=function(Ft,jt,qt){It(this,Ft,jt,!1,qt)},vt.prototype.writeInt8=function(Ft,jt,qt){qt||(Gt(Ft!=null,"missing value"),Gt(jt!=null,"missing offset"),Gt(jt=this.length||(0<=Ft?this.writeUInt8(Ft,jt,qt):this.writeUInt8(255+Ft+1,jt,qt))},vt.prototype.writeInt16LE=function(Ft,jt,qt){Tt(this,Ft,jt,!0,qt)},vt.prototype.writeInt16BE=function(Ft,jt,qt){Tt(this,Ft,jt,!1,qt)},vt.prototype.writeInt32LE=function(Ft,jt,qt){Rt(this,Ft,jt,!0,qt)},vt.prototype.writeInt32BE=function(Ft,jt,qt){Rt(this,Ft,jt,!1,qt)},vt.prototype.writeFloatLE=function(Ft,jt,qt){Ot(this,Ft,jt,!0,qt)},vt.prototype.writeFloatBE=function(Ft,jt,qt){Ot(this,Ft,jt,!1,qt)},vt.prototype.writeDoubleLE=function(Ft,jt,qt){Mt(this,Ft,jt,!0,qt)},vt.prototype.writeDoubleBE=function(Ft,jt,qt){Mt(this,Ft,jt,!1,qt)},vt.prototype.fill=function(Ft,jt,qt){if(jt=jt||0,qt=qt||this.length,Gt(typeof(Ft=typeof(Ft=Ft||0)=="string"?Ft.charCodeAt(0):Ft)=="number"&&!isNaN(Ft),"value is not a number"),Gt(jt<=qt,"end < start"),qt!==jt&&this.length!==0){Gt(0<=jt&&jt"},vt.prototype.toArrayBuffer=function(){if(typeof Uint8Array>"u")throw new Error("Buffer.toArrayBuffer not supported in this browser");if(vt._useTypedArrays)return new vt(this).buffer;for(var Ft=new Uint8Array(this.length),jt=0,qt=Ft.length;jt=jt.length||fr>=Ft.length);fr++)jt[fr+qt]=Ft[fr];return fr}function er(Ft){try{return decodeURIComponent(Ft)}catch(jt){return String.fromCharCode(65533)}}function Xt(Ft,jt){Gt(typeof Ft=="number","cannot write a non-number as a number"),Gt(0<=Ft,"specified a negative value for writing an unsigned value"),Gt(Ft<=jt,"value is larger than maximum value for type"),Gt(Math.floor(Ft)===Ft,"value has a fractional component")}function tr(Ft,jt,qt){Gt(typeof Ft=="number","cannot write a non-number as a number"),Gt(Ft<=jt,"value larger than maximum allowed value"),Gt(qt<=Ft,"value smaller than minimum allowed value"),Gt(Math.floor(Ft)===Ft,"value has a fractional component")}function Zt(Ft,jt,qt){Gt(typeof Ft=="number","cannot write a non-number as a number"),Gt(Ft<=jt,"value larger than maximum allowed value"),Gt(qt<=Ft,"value smaller than minimum allowed value")}function Gt(Ft,jt){if(!Ft)throw new Error(jt||"Failed assertion")}vt._augment=function(Ft){return Ft._isBuffer=!0,Ft._get=Ft.get,Ft._set=Ft.set,Ft.get=Bt.get,Ft.set=Bt.set,Ft.write=Bt.write,Ft.toString=Bt.toString,Ft.toLocaleString=Bt.toString,Ft.toJSON=Bt.toJSON,Ft.copy=Bt.copy,Ft.slice=Bt.slice,Ft.readUInt8=Bt.readUInt8,Ft.readUInt16LE=Bt.readUInt16LE,Ft.readUInt16BE=Bt.readUInt16BE,Ft.readUInt32LE=Bt.readUInt32LE,Ft.readUInt32BE=Bt.readUInt32BE,Ft.readInt8=Bt.readInt8,Ft.readInt16LE=Bt.readInt16LE,Ft.readInt16BE=Bt.readInt16BE,Ft.readInt32LE=Bt.readInt32LE,Ft.readInt32BE=Bt.readInt32BE,Ft.readFloatLE=Bt.readFloatLE,Ft.readFloatBE=Bt.readFloatBE,Ft.readDoubleLE=Bt.readDoubleLE,Ft.readDoubleBE=Bt.readDoubleBE,Ft.writeUInt8=Bt.writeUInt8,Ft.writeUInt16LE=Bt.writeUInt16LE,Ft.writeUInt16BE=Bt.writeUInt16BE,Ft.writeUInt32LE=Bt.writeUInt32LE,Ft.writeUInt32BE=Bt.writeUInt32BE,Ft.writeInt8=Bt.writeInt8,Ft.writeInt16LE=Bt.writeInt16LE,Ft.writeInt16BE=Bt.writeInt16BE,Ft.writeInt32LE=Bt.writeInt32LE,Ft.writeInt32BE=Bt.writeInt32BE,Ft.writeFloatLE=Bt.writeFloatLE,Ft.writeFloatBE=Bt.writeFloatBE,Ft.writeDoubleLE=Bt.writeDoubleLE,Ft.writeDoubleBE=Bt.writeDoubleBE,Ft.fill=Bt.fill,Ft.inspect=Bt.inspect,Ft.toArrayBuffer=Bt.toArrayBuffer,Ft}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(_e,et,tt){(function(rt,at,ft,it,ot,st,lt,ct,ut){var ft=_e("buffer").Buffer,At=4,vt=new ft(At);vt.fill(0),et.exports={hash:function(ht,bt,pt,dt){for(var _t=bt(function(Et,It){Et.length%At!=0&&(Tt=Et.length+(At-Et.length%At),Et=ft.concat([Et,vt],Tt));for(var Tt,Rt=[],Ot=It?Et.readInt32BE:Et.readInt32LE,Mt=0;Mtpt?Lt=Bt(Lt):Lt.length>5]|=128<>>9<<4)]=gt;for(var yt=1732584193,xt=-271733879,Et=-1732584194,It=271733878,Tt=0;Tt>>32-Et,yt)}function ht(Ct,gt,yt,xt,Et,It,Tt){return vt(gt&yt|~gt&xt,Ct,gt,Et,It,Tt)}function bt(Ct,gt,yt,xt,Et,It,Tt){return vt(gt&xt|yt&~xt,Ct,gt,Et,It,Tt)}function pt(Ct,gt,yt,xt,Et,It,Tt){return vt(gt^yt^xt,Ct,gt,Et,It,Tt)}function dt(Ct,gt,yt,xt,Et,It,Tt){return vt(yt^(gt|~xt),Ct,gt,Et,It,Tt)}function _t(Ct,gt){var yt=(65535&Ct)+(65535>);return(Ct>>16)+(gt>>16)+(yt>>16)<<16|65535&yt}et.exports=function(Ct){return ft.hash(Ct,At,16)}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){et.exports=function(ft){for(var At,vt=new Array(ft),ht=0;ht>>((3&ht)<<3)&255;return vt}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){var ft=_e("./helpers");function At(bt,pt){bt[pt>>5]|=128<<24-pt%32,bt[15+(pt+64>>9<<4)]=pt;for(var dt,_t,Ct,gt=Array(80),yt=1732584193,xt=-271733879,Et=-1732584194,It=271733878,Tt=-1009589776,Rt=0;Rt>16)+(pt>>16)+(dt>>16)<<16|65535&dt}function ht(bt,pt){return bt<>>32-pt}et.exports=function(bt){return ft.hash(bt,At,20,!0)}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){function ft(pt,dt){var _t=(65535&pt)+(65535&dt);return(pt>>16)+(dt>>16)+(_t>>16)<<16|65535&_t}function At(pt,dt){var _t,Ct=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),gt=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),yt=new Array(64);pt[dt>>5]|=128<<24-dt%32,pt[15+(dt+64>>9<<4)]=dt;for(var xt,Et,It=0;It>>dt|pt<<32-dt},bt=function(pt,dt){return pt>>>dt};et.exports=function(pt){return vt.hash(pt,At,32,!0)}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){tt.read=function(ft,At,vt,ht,It){var pt,dt,_t=8*It-ht-1,Ct=(1<<_t)-1,gt=Ct>>1,yt=-7,xt=vt?It-1:0,Et=vt?-1:1,It=ft[At+xt];for(xt+=Et,pt=It&(1<<-yt)-1,It>>=-yt,yt+=_t;0>=-yt,yt+=ht;0>1,xt=bt===23?Math.pow(2,-24)-Math.pow(2,-77):0,Et=ht?0:Tt-1,It=ht?1:-1,Tt=At<0||At===0&&1/At<0?1:0;for(At=Math.abs(At),isNaN(At)||At===1/0?(_t=isNaN(At)?1:0,dt=gt):(dt=Math.floor(Math.log(At)/Math.LN2),At*(ht=Math.pow(2,-dt))<1&&(dt--,ht*=2),2<=(At+=1<=dt+yt?xt/ht:xt*Math.pow(2,1-yt))*ht&&(dt++,ht/=2),gt<=dt+yt?(_t=0,dt=gt):1<=dt+yt?(_t=(At*ht-1)*Math.pow(2,bt),dt+=yt):(_t=At*Math.pow(2,yt-1)*Math.pow(2,bt),dt=0));8<=bt;ft[vt+Et]=255&_t,Et+=It,_t/=256,bt-=8);for(dt=dt<`${o}\v${$}`;function group(o){const $={};return o.forEach(({key:_e,value:et})=>{$[_e]||($[_e]=[]),$[_e].push(et)}),$}function transformDdgData({dependencies:o},{service:$,operation:_e}){const et=new Map,tt=new Map,rt=new Map,at=[],nt=o.sort(({path:At},{path:vt})=>{let ht=rt.get(At);ht||(ht=At.map(stringifyEntry).join(),rt.set(At,ht));let bt=rt.get(vt);return bt||(bt=vt.map(stringifyEntry).join(),rt.set(vt,bt)),ht>bt?1:ht{at.push(rt.get(At)||At.map(stringifyEntry).join());const{exemplar_trace_id:ht}=group(vt),bt={focalIdx:-1,members:[],traceIDs:ht};if(bt.members=At.map(({operation:pt,service:dt},_t)=>{let Ct=et.get(dt);Ct||(Ct={name:dt,operations:new Map},et.set(dt,Ct));let gt=Ct.operations.get(pt);gt||(gt={name:pt,service:Ct,pathElems:[]},Ct.operations.set(pt,gt)),bt.focalIdx===-1&&dt===$&&(_e==null||pt===_e)&&(bt.focalIdx=_t);const yt=new PathElem({path:bt,operation:gt,memberIdx:_t});return gt.pathElems.push(yt),yt}),bt.focalIdx===-1)throw new Error("A payload path lacked the focalNode");return bt.members.forEach(pt=>{const dt=tt.get(pt.distance);dt?dt.push(pt):tt.set(pt.distance,[pt])}),bt});let it=0,ot,st=1,lt;const ct=[];function ut(At){At.visibilityIdx=ct.length,ct.push(At)}do ot=tt.get(it--),lt=tt.get(st++),ot&&ot.forEach(ut),lt&<.forEach(ut);while(ot||lt);const ft=objectHash(at).slice(0,16);return{paths:nt,hash:ft,distanceToPathElems:tt,services:et,visIdxToPathElem:ct}}const transformDdgData$1=memoizeOne$1(transformDdgData);class TreeNode{static iterFunction($,_e=0){return et=>$(et.value,et,_e)}static searchFunction($){return typeof $=="function"?$:(_e,et)=>$ instanceof TreeNode?et===$:_e===$}constructor($,_e=[]){this.value=$,this.children=_e}get depth(){return this.children.reduce(($,_e)=>Math.max(_e.depth+1,$),1)}get size(){let $=0;return this.walk(()=>$++),$}addChild($){return this.children.push($ instanceof TreeNode?$:new TreeNode($)),this}find($){if(TreeNode.iterFunction(TreeNode.searchFunction($))(this))return this;for(let et=0;et{const at=rt.concat([tt]);if(_e(tt))return at;for(let nt=0;nt=0;)et.push({node:rt.children[nt],depth:tt}),nt--}}paths($){const _e=[];_e.push({node:this,childIndex:0});const et=[];for(;_e.length;){const{node:tt,childIndex:rt}=_e[_e.length-1];if(tt.children.length>=rt+1)_e[_e.length-1].childIndex++,_e.push({node:tt.children[rt],childIndex:0});else{if(tt.children.length===0){const at=_e.map(nt=>nt.node.value);$(at)}_e.pop()}}return et}}const TREE_ROOT_ID="__root__";function getTraceSpanIdsAsTree(o){const $=new Map(o.spans.map(rt=>[rt.spanID,new TreeNode(rt.spanID)])),_e=new Map(o.spans.map(rt=>[rt.spanID,rt])),et=new TreeNode(TREE_ROOT_ID);o.spans.forEach(rt=>{const at=$.get(rt.spanID);if(Array.isArray(rt.references)&&rt.references.length){const{refType:nt,spanID:it}=rt.references[0];if(nt==="CHILD_OF"||nt==="FOLLOWS_FROM")($.get(it)||et).children.push(at);else throw new Error(`Unrecognized ref type: ${nt}`)}else et.children.push(at)});const tt=(rt,at)=>{const nt=_e.get(rt.value),it=_e.get(at.value);return+(nt.startTime>it.startTime)||+(nt.startTime===it.startTime)-1};return o.spans.forEach(rt=>{const at=$.get(rt.spanID);at.children.length>1&&at.children.sort(tt)}),et.children.sort(tt),et}const isKindServer=o=>o.tags.find(({key:$,value:_e})=>$==="span.kind"&&_e==="server");function transformTracesToPaths(o,$,_e){const et=new Map;return Object.values(o).forEach(({data:rt})=>{if(rt){const at=new Map,{traceID:nt}=rt;rt.spans.forEach(ot=>at.set(ot.spanID,ot)),getTraceSpanIdsAsTree(rt).paths(ot=>{const lt=ot.reduce((ct,ut)=>{if(ut===TREE_ROOT_ID)return ct;const ft=at.get(ut);if(!ft)throw new Error(`Ancestor spanID ${ut} not found in trace ${nt}`);return(ct.length===0||ct[ct.length-1].processID!==ft.processID||isKindServer(ft))&&ct.push(ft),ct},[]).map(({processID:ct,operationName:ut})=>({service:rt.processes[ct].serviceName,operation:ut}));if(lt.some(({service:ct,operation:ut})=>ct===$&&(!_e||ut===_e))){const ct=lt.map(ft=>`${ft.operation}:${ft.service}`).join("/"),ut=et.get(ct);ut?ut.attributes.push({key:"exemplar_trace_id",value:nt}):et.set(ct,{path:lt,attributes:[{key:"exemplar_trace_id",value:nt}]})}})}}),{dependencies:Array.from(et.values())}}const transformTracesToPaths$1=memoizeOne$1(transformTracesToPaths),svcOp=memoizeOne$1((o,$)=>({service:o,operation:$}));function mapStateToProps$7(o,$){const _e=getUrlState$2($.location.search),{density:et,operation:tt,service:rt,showOp:at}=_e,nt=at!==void 0?at:tt!==void 0;let it,ot;if(rt){const st=transformTracesToPaths$1(o.trace.traces,rt,tt);it={model:transformDdgData$1(st,svcOp(rt,tt)),state:fetchedState.DONE,viewModifiers:new Map},ot=makeGraph(it.model,nt,et)}return{graph:ot,graphState:it,showOp:nt,urlState:sanitizeUrlState(_e,get_1$1(it,"model.hash")),...extractUiFindFromState(o)}}class TracesDdgImpl extends reactExports.PureComponent{render(){const{location:$}=this.props,_e=queryString.parse($.search),{end:et,start:tt,limit:rt,lookback:at,maxDuration:nt,minDuration:it,view:ot}=_e,st={end:et,start:tt,limit:rt,lookback:at,maxDuration:nt,minDuration:it,view:ot};return jsxRuntimeExports.jsx(DeepDependencyGraphPageImpl,{baseUrl:ROUTE_PATH$2,extraUrlArgs:st,showSvcOpsHeader:!1,...this.props})}}const SearchResultsDDG=connect$3(mapStateToProps$7)(TracesDdgImpl),MOST_RECENT="MOST_RECENT",LONGEST_FIRST="LONGEST_FIRST",SHORTEST_FIRST="SHORTEST_FIRST",MOST_SPANS="MOST_SPANS",LEAST_SPANS="LEAST_SPANS";var baseFlatten=_baseFlatten,map=map_1;function flatMap(o,$){return baseFlatten(map(o,$),1)}var flatMap_1=flatMap;function getStrings(o){return typeof o=="string"?o:flatMap_1(o,getStrings)}const VALUE_ENABLED="1",VERSION_0="v0",STATE_PARAMS_V0={searchHideGraph:"uiSearchHideGraph",timeline:{collapseTitle:"uiTimelineCollapseTitle",hideMinimap:"uiTimelineHideMinimap",hideSummary:"uiTimelineHideSummary"}},PARAM_KEYS_V0=getStrings(STATE_PARAMS_V0);function getEmbeddedState(o){const{uiEmbed:$,..._e}=queryString.parse(o);return $!==VERSION_0?null:{version:VERSION_0,searchHideGraph:_e[STATE_PARAMS_V0.searchHideGraph]===VALUE_ENABLED,timeline:{collapseTitle:_e[STATE_PARAMS_V0.timeline.collapseTitle]===VALUE_ENABLED,hideMinimap:_e[STATE_PARAMS_V0.timeline.hideMinimap]===VALUE_ENABLED,hideSummary:_e[STATE_PARAMS_V0.timeline.hideSummary]===VALUE_ENABLED}}}function stripEmbeddedState(o){const{uiEmbed:$=void 0,..._e}=o;return $===VERSION_0&&PARAM_KEYS_V0.forEach(Reflect.deleteProperty.bind(null,_e)),_e}const index$k="",Option$1=Select.Option;function SelectSortImpl(){return jsxRuntimeExports.jsxs("label",{children:["Sort:"," ",jsxRuntimeExports.jsxs(Field,{name:"sortBy",component:reduxFormFieldAdapter({AntInputComponent:Select}),children:[jsxRuntimeExports.jsx(Option$1,{value:MOST_RECENT,children:"Most Recent"}),jsxRuntimeExports.jsx(Option$1,{value:LONGEST_FIRST,children:"Longest First"}),jsxRuntimeExports.jsx(Option$1,{value:SHORTEST_FIRST,children:"Shortest First"}),jsxRuntimeExports.jsx(Option$1,{value:MOST_SPANS,children:"Most Spans"}),jsxRuntimeExports.jsx(Option$1,{value:LEAST_SPANS,children:"Least Spans"})]})]})}const SelectSort=reduxForm({form:"traceResultsSort",initialValues:{sortBy:MOST_RECENT}})(SelectSortImpl),sortFormSelector=formValueSelector("traceResultsSort");class UnconnectedSearchResults extends reactExports.PureComponent{constructor(){super(...arguments),this.toggleComparison=($,_e)=>{const{cohortAddTrace:et,cohortRemoveTrace:tt}=this.props;_e?tt($):et($)},this.onDdgViewClicked=()=>{const{location:$,history:_e}=this.props,et=queryString.parse($.search),tt=et.view&&et.view==="ddg"?EAltViewActions.Traces:EAltViewActions.Ddg;trackAltView(tt),_e.push(getUrl$2({...et,view:tt}))},this.onDownloadResultsClicked=()=>{const $=createBlob(this.props.rawTraces),_e=document.createElement("a");_e.href=URL.createObjectURL($),_e.download=`traces-${Date.now()}.json`,document.body.appendChild(_e),_e.click(),URL.revokeObjectURL(_e.href),_e.remove()}}render(){const{diffCohort:$,disableComparisons:_e,goToTrace:et,hideGraph:tt,history:rt,loading:at,location:nt,maxTraceDuration:it,queryOfResults:ot,showStandaloneLink:st,skipMessage:lt,spanLinks:ct,traces:ut}=this.props,ft=queryString.parse(nt.search).view!=="ddg",At=!_e&&jsxRuntimeExports.jsx(DiffSelection,{toggleComparison:this.toggleComparison,traces:$});if(at)return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[$.length>0&&At,jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0})]});if(!Array.isArray(ut)||!ut.length)return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[$.length>0&&At,!lt&&jsxRuntimeExports.jsx("div",{className:"u-simple-card","data-test":NO_RESULTS,children:"No trace results. Try another query."})]});const vt=new Set($.map(pt=>pt.id)),ht=ot?getUrl$2(stripEmbeddedState(ot)):getUrl$2(),bt=({key:pt,value:dt})=>pt==="error"&&(dt===!0||dt==="true");return jsxRuntimeExports.jsxs("div",{className:"SearchResults",children:[jsxRuntimeExports.jsxs("div",{className:"SearchResults--header",children:[!tt&&ft&&jsxRuntimeExports.jsx("div",{className:"ub-p3 SearchResults--headerScatterPlot",children:jsxRuntimeExports.jsx(ScatterPlot,{data:ut.map(pt=>({x:pt.startTime,y:pt.duration,traceID:pt.traceID,size:pt.spans.length,name:pt.traceName,color:pt.spans.some(dt=>dt.tags.some(bt))?"red":"#12939A"})),onValueClick:pt=>{et(pt.traceID)}})}),jsxRuntimeExports.jsxs("div",{className:"SearchResults--headerOverview",children:[jsxRuntimeExports.jsxs("h2",{className:"ub-m0 u-flex-1",children:[ut.length," Trace",ut.length>1&&"s"]}),ft&&jsxRuntimeExports.jsx(SelectSort,{}),ft&&jsxRuntimeExports.jsx(DownloadResults,{onDownloadResultsClicked:this.onDownloadResultsClicked}),jsxRuntimeExports.jsx(AltViewOptions$2,{traceResultsView:ft,onDdgViewClicked:this.onDdgViewClicked}),st&&jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-ml3",to:ht,target:"_blank",rel:"noopener noreferrer",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})]})]}),!ft&&jsxRuntimeExports.jsx("div",{className:"SearchResults--ddg-container",children:jsxRuntimeExports.jsx(SearchResultsDDG,{location:nt,history:rt})}),ft&&At,ft&&jsxRuntimeExports.jsx("ul",{className:"ub-list-reset",children:ut.map(pt=>jsxRuntimeExports.jsx("li",{className:"ub-my3",children:jsxRuntimeExports.jsx(ResultItem,{durationPercent:getPercentageOfDuration(pt.duration,it),isInDiffCohort:vt.has(pt.traceID),linkTo:getLocation(pt.traceID,{fromSearch:ht},ct&&(ct[pt.traceID]||ct[pt.traceID.replace(/^0*/,"")])),toggleComparison:this.toggleComparison,trace:pt,disableComparision:_e})},pt.traceID))})]})}}UnconnectedSearchResults.defaultProps={skipMessage:!1,spanLinks:void 0,queryOfResults:void 0};function createBlob(o){return new Blob([`{"data":${JSON.stringify(o)}}`],{type:"application/json"})}const SearchResults=withRouter$1(UnconnectedSearchResults);function readJsonFile(o){return new Promise(($,_e)=>{const et=new FileReader;et.onload=()=>{if(typeof et.result!="string"){_e(new Error("Invalid result type"));return}try{$(JSON.parse(et.result))}catch(tt){_e(new Error(`Error parsing JSON: ${tt.message}`))}},et.onerror=()=>{const tt=et.error?`: ${String(et.error)}`:"";_e(new Error(`Error reading the JSON file${tt}`))},et.onabort=()=>{_e(new Error("Reading the JSON file has been aborted"))};try{et.readAsText(o.file)}catch(tt){_e(new Error(`Error reading the JSON file: ${tt.message}`))}})}const loadJsonTraces=createAction("@FILE_READER_API/LOAD_JSON",o=>readJsonFile(o),o=>({fileList:o})),fileReaderActions=Object.freeze(Object.defineProperty({__proto__:null,loadJsonTraces},Symbol.toStringTag,{value:"Module"}));function guardReducer(o){return function(_e,{payload:et}){return et?o(_e,et):_e}}function guardReducerWithMeta(o){return function(_e,et){return!et.payload||!et.meta?_e:o(_e,et)}}function newInitialState$1(){return{cohort:[],a:null,b:null}}const actionTypes$2=generateActionTypes("@jaeger-ui/trace-diff",["COHORT_ADD_TRACE","COHORT_REMOVE_TRACE","DIFF_SET_A","DIFF_SET_B","FORCE_STATE"]),fullActions$2=createActions({[actionTypes$2.COHORT_ADD_TRACE]:o=>({traceID:o}),[actionTypes$2.COHORT_REMOVE_TRACE]:o=>({traceID:o}),[actionTypes$2.DIFF_SET_A]:o=>({traceID:o}),[actionTypes$2.DIFF_SET_B]:o=>({traceID:o}),[actionTypes$2.FORCE_STATE]:o=>({newState:o})}),actions$3=fullActions$2.jaegerUi.traceDiff;function cohortAddTrace(o,{traceID:$}){if(o.cohort.indexOf($)>=0)return o;const _e=o.cohort.slice();return _e.push($),{...o,cohort:_e}}function cohortRemoveTrace(o,{traceID:$}){const _e=o.cohort.indexOf($);if(_e<0)return o;const et=o.cohort.slice();et.splice(_e,1);const tt=o.a===$?null:o.a,rt=o.b===$?null:o.b;return{...o,a:tt,b:rt,cohort:et}}function diffSetA(o,{traceID:$}){return{...o,a:$}}function diffSetB(o,{traceID:$}){return{...o,b:$}}function forceState(o,{newState:$}){return $}const traceDiff=handleActions({[actionTypes$2.COHORT_ADD_TRACE]:guardReducer(cohortAddTrace),[actionTypes$2.COHORT_REMOVE_TRACE]:guardReducer(cohortRemoveTrace),[actionTypes$2.DIFF_SET_A]:guardReducer(diffSetA),[actionTypes$2.DIFF_SET_B]:guardReducer(diffSetB),[actionTypes$2.FORCE_STATE]:guardReducer(forceState)},newInitialState$1()),comparators={[MOST_RECENT]:(o,$)=>+($.startTime>o.startTime)||+(o.startTime===$.startTime)-1,[SHORTEST_FIRST]:(o,$)=>+(o.duration>$.duration)||+(o.duration===$.duration)-1,[LONGEST_FIRST]:(o,$)=>+($.duration>o.duration)||+(o.duration===$.duration)-1,[MOST_SPANS]:(o,$)=>+($.spans.length>o.spans.length)||+(o.spans.length===$.spans.length)-1,[LEAST_SPANS]:(o,$)=>+(o.spans.length>$.spans.length)||+(o.spans.length===$.spans.length)-1};function sortTraces(o,$){const _e=comparators[$]||comparators[LONGEST_FIRST];o.sort(_e)}const getStaticAssetPath=o=>isString$6(window.staticPath)?new URL(o,window.staticPath).href:o,index$j="",index$i="";function getError(o,$){var _e="cannot "+o.method+" "+o.action+" "+$.status+"'",et=new Error(_e);return et.status=$.status,et.method=o.method,et.url=o.action,et}function getBody(o){var $=o.responseText||o.response;if(!$)return $;try{return JSON.parse($)}catch(_e){return $}}function upload(o){var $=new XMLHttpRequest;o.onProgress&&$.upload&&($.upload.onprogress=function(at){at.total>0&&(at.percent=at.loaded/at.total*100),o.onProgress(at)});var _e=new FormData;o.data&&Object.keys(o.data).forEach(function(rt){var at=o.data[rt];if(Array.isArray(at)){at.forEach(function(nt){_e.append(rt+"[]",nt)});return}_e.append(rt,o.data[rt])}),_e.append(o.filename,o.file),$.onerror=function(at){o.onError(at)},$.onload=function(){if($.status<200||$.status>=300)return o.onError(getError(o,$),getBody($));o.onSuccess(getBody($),$)},$.open(o.method,o.action,!0),o.withCredentials&&"withCredentials"in $&&($.withCredentials=!0);var et=o.headers||{};et["X-Requested-With"]!==null&&$.setRequestHeader("X-Requested-With","XMLHttpRequest");for(var tt in et)et.hasOwnProperty(tt)&&et[tt]!==null&&$.setRequestHeader(tt,et[tt]);return $.send(_e),{abort:function(){$.abort()}}}var now$1=+new Date,index$h=0;function uid(){return"rc-upload-"+now$1+"-"+ ++index$h}function endsWith(o,$){return o.indexOf($,o.length-$.length)!==-1}const attrAccept=function(o,$){if(o&&$){var _e=Array.isArray($)?$:$.split(","),et=o.name||"",tt=o.type||"",rt=tt.replace(/\/.*$/,"");return _e.some(function(at){var nt=at.trim();return nt.charAt(0)==="."?endsWith(et.toLowerCase(),nt.toLowerCase()):/\/\*$/.test(nt)?rt===nt.replace(/\/.*$/,""):tt===nt})}return!0};function loopFiles(o,$){var _e=o.createReader(),et=[];function tt(){_e.readEntries(function(rt){var at=Array.prototype.slice.apply(rt);et=et.concat(at);var nt=!at.length;nt?$(et):tt()})}tt()}var traverseFileTree=function o($,_e,et){var tt=function lt(ct,ut){ut=ut||"",ct.isFile?ct.file(function(ft){et(ft)&&(ct.fullPath&&!ft.webkitRelativePath&&(Object.defineProperties(ft,{webkitRelativePath:{writable:!0}}),ft.webkitRelativePath=ct.fullPath.replace(/^\//,""),Object.defineProperties(ft,{webkitRelativePath:{writable:!1}})),_e([ft]))}):ct.isDirectory&&loopFiles(ct,function(ft){ft.forEach(function(At){lt(At,""+ut+ct.name+"/")})})},rt=!0,at=!1,nt=void 0;try{for(var it=$[Symbol.iterator](),ot;!(rt=(ot=it.next()).done);rt=!0){var st=ot.value;tt(st.webkitGetAsEntry())}}catch(lt){at=!0,nt=lt}finally{try{!rt&&it.return&&it.return()}finally{if(at)throw nt}}},AjaxUploader=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;itdocument.domain="'+et+'";",rt=''}return` +`)},_domwindow:function(){return _t("domwindow")},_bigint:function(Et){return _t("bigint:"+Et.toString())},_process:function(){return _t("process")},_timer:function(){return _t("timer")},_pipe:function(){return _t("pipe")},_tcp:function(){return _t("tcp")},_udp:function(){return _t("udp")},_tty:function(){return _t("tty")},_statwatcher:function(){return _t("statwatcher")},_securecontext:function(){return _t("securecontext")},_connection:function(){return _t("connection")},_zlib:function(){return _t("zlib")},_context:function(){return _t("context")},_nodescript:function(){return _t("nodescript")},_httpparser:function(){return _t("httpparser")},_dataview:function(){return _t("dataview")},_signal:function(){return _t("signal")},_fsevent:function(){return _t("fsevent")},_tlswrap:function(){return _t("tlswrap")}}}function xt(){return{buf:"",write:function(Ct){this.buf+=Ct},end:function(Ct){this.buf+=Ct},read:function(){return this.buf}}}tt.writeToStream=function(Ct,gt,wt){return wt===void 0&&(wt=gt,gt={}),dt(gt=mt(Ct,gt),wt).dispatch(Ct)}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_9a5aa49d.js","/")},{buffer:3,crypto:5,lYpoI2:11}],2:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){(function(ft){var At=typeof Uint8Array<"u"?Uint8Array:Array,vt="+".charCodeAt(0),ht="/".charCodeAt(0),mt="0".charCodeAt(0),bt="a".charCodeAt(0),dt="A".charCodeAt(0),xt="-".charCodeAt(0),Ct="_".charCodeAt(0);function gt(wt){return wt=wt.charCodeAt(0),wt===vt||wt===xt?62:wt===ht||wt===Ct?63:wt>16),Mt((65280&Et)>>8),Mt(255&Et);return It==2?Mt(255&(Et=gt(wt.charAt(_t))<<2|gt(wt.charAt(_t+1))>>4)):It==1&&(Mt((Et=gt(wt.charAt(_t))<<10|gt(wt.charAt(_t+1))<<4|gt(wt.charAt(_t+2))>>2)>>8&255),Mt(255&Et)),Tt},ft.fromByteArray=function(wt){var _t,Et,It,Tt,Rt=wt.length%3,Ot="";function Mt(Bt){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(Bt)}for(_t=0,It=wt.length-Rt;_t>18&63)+Mt(Tt>>12&63)+Mt(Tt>>6&63)+Mt(63&Tt);switch(Rt){case 1:Ot=(Ot+=Mt((Et=wt[wt.length-1])>>2))+Mt(Et<<4&63)+"==";break;case 2:Ot=(Ot=(Ot+=Mt((Et=(wt[wt.length-2]<<8)+wt[wt.length-1])>>10))+Mt(Et>>4&63))+Mt(Et<<2&63)+"="}return Ot}})(tt===void 0?this.base64js={}:tt)}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(_e,et,tt){(function(rt,at,vt,it,ot,st,lt,ct,ut){var ft=_e("base64-js"),At=_e("ieee754");function vt(Ft,Vt,Jt){if(!(this instanceof vt))return new vt(Ft,Vt,Jt);var or,Ar,hr,vr,Er=typeof Ft;if(Vt==="base64"&&Er=="string")for(Ft=(vr=Ft).trim?vr.trim():vr.replace(/^\s+|\s+$/g,"");Ft.length%4!=0;)Ft+="=";if(Er=="number")or=jt(Ft);else if(Er=="string")or=vt.byteLength(Ft,Vt);else{if(Er!="object")throw new Error("First argument needs to be a number, array or string.");or=jt(Ft.length)}if(vt._useTypedArrays?Ar=vt._augment(new Uint8Array(or)):((Ar=this).length=or,Ar._isBuffer=!0),vt._useTypedArrays&&typeof Ft.byteLength=="number")Ar._set(Ft);else if(zt(vr=Ft)||vt.isBuffer(vr)||vr&&typeof vr=="object"&&typeof vr.length=="number")for(hr=0;hr>8,vr=vr%256,Er.push(vr),Er.push(hr);return Er}(Vt),Ft,Jt,or)}function bt(Ft,Vt,Jt){var or="";Jt=Math.min(Ft.length,Jt);for(var Ar=Vt;Ar>>0)):(Vt+1>>0),Ar}function Ct(Ft,Vt,Jt,or){if(or||(Ht(typeof Jt=="boolean","missing or invalid endian"),Ht(Vt!=null,"missing offset"),Ht(Vt+1>>8*(or?hr:1-hr)}function It(Ft,Vt,Jt,or,Ar){if(Ar||(Ht(Vt!=null,"missing value"),Ht(typeof or=="boolean","missing or invalid endian"),Ht(Jt!=null,"missing offset"),Ht(Jt+3>>8*(or?hr:3-hr)&255}function Tt(Ft,Vt,Jt,or,Ar){Ar||(Ht(Vt!=null,"missing value"),Ht(typeof or=="boolean","missing or invalid endian"),Ht(Jt!=null,"missing offset"),Ht(Jt+1this.length&&(or=this.length);var Ar=(or=Ft.length-Vt=this.length))return this[Ft]},vt.prototype.readUInt16LE=function(Ft,Vt){return dt(this,Ft,!0,Vt)},vt.prototype.readUInt16BE=function(Ft,Vt){return dt(this,Ft,!1,Vt)},vt.prototype.readUInt32LE=function(Ft,Vt){return xt(this,Ft,!0,Vt)},vt.prototype.readUInt32BE=function(Ft,Vt){return xt(this,Ft,!1,Vt)},vt.prototype.readInt8=function(Ft,Vt){if(Vt||(Ht(Ft!=null,"missing offset"),Ht(Ft=this.length))return 128&this[Ft]?-1*(255-this[Ft]+1):this[Ft]},vt.prototype.readInt16LE=function(Ft,Vt){return Ct(this,Ft,!0,Vt)},vt.prototype.readInt16BE=function(Ft,Vt){return Ct(this,Ft,!1,Vt)},vt.prototype.readInt32LE=function(Ft,Vt){return gt(this,Ft,!0,Vt)},vt.prototype.readInt32BE=function(Ft,Vt){return gt(this,Ft,!1,Vt)},vt.prototype.readFloatLE=function(Ft,Vt){return wt(this,Ft,!0,Vt)},vt.prototype.readFloatBE=function(Ft,Vt){return wt(this,Ft,!1,Vt)},vt.prototype.readDoubleLE=function(Ft,Vt){return _t(this,Ft,!0,Vt)},vt.prototype.readDoubleBE=function(Ft,Vt){return _t(this,Ft,!1,Vt)},vt.prototype.writeUInt8=function(Ft,Vt,Jt){Jt||(Ht(Ft!=null,"missing value"),Ht(Vt!=null,"missing offset"),Ht(Vt=this.length||(this[Vt]=Ft)},vt.prototype.writeUInt16LE=function(Ft,Vt,Jt){Et(this,Ft,Vt,!0,Jt)},vt.prototype.writeUInt16BE=function(Ft,Vt,Jt){Et(this,Ft,Vt,!1,Jt)},vt.prototype.writeUInt32LE=function(Ft,Vt,Jt){It(this,Ft,Vt,!0,Jt)},vt.prototype.writeUInt32BE=function(Ft,Vt,Jt){It(this,Ft,Vt,!1,Jt)},vt.prototype.writeInt8=function(Ft,Vt,Jt){Jt||(Ht(Ft!=null,"missing value"),Ht(Vt!=null,"missing offset"),Ht(Vt=this.length||(0<=Ft?this.writeUInt8(Ft,Vt,Jt):this.writeUInt8(255+Ft+1,Vt,Jt))},vt.prototype.writeInt16LE=function(Ft,Vt,Jt){Tt(this,Ft,Vt,!0,Jt)},vt.prototype.writeInt16BE=function(Ft,Vt,Jt){Tt(this,Ft,Vt,!1,Jt)},vt.prototype.writeInt32LE=function(Ft,Vt,Jt){Rt(this,Ft,Vt,!0,Jt)},vt.prototype.writeInt32BE=function(Ft,Vt,Jt){Rt(this,Ft,Vt,!1,Jt)},vt.prototype.writeFloatLE=function(Ft,Vt,Jt){Ot(this,Ft,Vt,!0,Jt)},vt.prototype.writeFloatBE=function(Ft,Vt,Jt){Ot(this,Ft,Vt,!1,Jt)},vt.prototype.writeDoubleLE=function(Ft,Vt,Jt){Mt(this,Ft,Vt,!0,Jt)},vt.prototype.writeDoubleBE=function(Ft,Vt,Jt){Mt(this,Ft,Vt,!1,Jt)},vt.prototype.fill=function(Ft,Vt,Jt){if(Vt=Vt||0,Jt=Jt||this.length,Ht(typeof(Ft=typeof(Ft=Ft||0)=="string"?Ft.charCodeAt(0):Ft)=="number"&&!isNaN(Ft),"value is not a number"),Ht(Vt<=Jt,"end < start"),Jt!==Vt&&this.length!==0){Ht(0<=Vt&&Vt"},vt.prototype.toArrayBuffer=function(){if(typeof Uint8Array>"u")throw new Error("Buffer.toArrayBuffer not supported in this browser");if(vt._useTypedArrays)return new vt(this).buffer;for(var Ft=new Uint8Array(this.length),Vt=0,Jt=Ft.length;Vt=Vt.length||Ar>=Ft.length);Ar++)Vt[Ar+Jt]=Ft[Ar];return Ar}function ar(Ft){try{return decodeURIComponent(Ft)}catch(Vt){return String.fromCharCode(65533)}}function Kt(Ft,Vt){Ht(typeof Ft=="number","cannot write a non-number as a number"),Ht(0<=Ft,"specified a negative value for writing an unsigned value"),Ht(Ft<=Vt,"value is larger than maximum value for type"),Ht(Math.floor(Ft)===Ft,"value has a fractional component")}function er(Ft,Vt,Jt){Ht(typeof Ft=="number","cannot write a non-number as a number"),Ht(Ft<=Vt,"value larger than maximum allowed value"),Ht(Jt<=Ft,"value smaller than minimum allowed value"),Ht(Math.floor(Ft)===Ft,"value has a fractional component")}function Ut(Ft,Vt,Jt){Ht(typeof Ft=="number","cannot write a non-number as a number"),Ht(Ft<=Vt,"value larger than maximum allowed value"),Ht(Jt<=Ft,"value smaller than minimum allowed value")}function Ht(Ft,Vt){if(!Ft)throw new Error(Vt||"Failed assertion")}vt._augment=function(Ft){return Ft._isBuffer=!0,Ft._get=Ft.get,Ft._set=Ft.set,Ft.get=Bt.get,Ft.set=Bt.set,Ft.write=Bt.write,Ft.toString=Bt.toString,Ft.toLocaleString=Bt.toString,Ft.toJSON=Bt.toJSON,Ft.copy=Bt.copy,Ft.slice=Bt.slice,Ft.readUInt8=Bt.readUInt8,Ft.readUInt16LE=Bt.readUInt16LE,Ft.readUInt16BE=Bt.readUInt16BE,Ft.readUInt32LE=Bt.readUInt32LE,Ft.readUInt32BE=Bt.readUInt32BE,Ft.readInt8=Bt.readInt8,Ft.readInt16LE=Bt.readInt16LE,Ft.readInt16BE=Bt.readInt16BE,Ft.readInt32LE=Bt.readInt32LE,Ft.readInt32BE=Bt.readInt32BE,Ft.readFloatLE=Bt.readFloatLE,Ft.readFloatBE=Bt.readFloatBE,Ft.readDoubleLE=Bt.readDoubleLE,Ft.readDoubleBE=Bt.readDoubleBE,Ft.writeUInt8=Bt.writeUInt8,Ft.writeUInt16LE=Bt.writeUInt16LE,Ft.writeUInt16BE=Bt.writeUInt16BE,Ft.writeUInt32LE=Bt.writeUInt32LE,Ft.writeUInt32BE=Bt.writeUInt32BE,Ft.writeInt8=Bt.writeInt8,Ft.writeInt16LE=Bt.writeInt16LE,Ft.writeInt16BE=Bt.writeInt16BE,Ft.writeInt32LE=Bt.writeInt32LE,Ft.writeInt32BE=Bt.writeInt32BE,Ft.writeFloatLE=Bt.writeFloatLE,Ft.writeFloatBE=Bt.writeFloatBE,Ft.writeDoubleLE=Bt.writeDoubleLE,Ft.writeDoubleBE=Bt.writeDoubleBE,Ft.fill=Bt.fill,Ft.inspect=Bt.inspect,Ft.toArrayBuffer=Bt.toArrayBuffer,Ft}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(_e,et,tt){(function(rt,at,ft,it,ot,st,lt,ct,ut){var ft=_e("buffer").Buffer,At=4,vt=new ft(At);vt.fill(0),et.exports={hash:function(ht,mt,bt,dt){for(var xt=mt(function(Et,It){Et.length%At!=0&&(Tt=Et.length+(At-Et.length%At),Et=ft.concat([Et,vt],Tt));for(var Tt,Rt=[],Ot=It?Et.readInt32BE:Et.readInt32LE,Mt=0;Mtbt?Lt=Bt(Lt):Lt.length>5]|=128<>>9<<4)]=gt;for(var wt=1732584193,_t=-271733879,Et=-1732584194,It=271733878,Tt=0;Tt>>32-Et,wt)}function ht(Ct,gt,wt,_t,Et,It,Tt){return vt(gt&wt|~gt&_t,Ct,gt,Et,It,Tt)}function mt(Ct,gt,wt,_t,Et,It,Tt){return vt(gt&_t|wt&~_t,Ct,gt,Et,It,Tt)}function bt(Ct,gt,wt,_t,Et,It,Tt){return vt(gt^wt^_t,Ct,gt,Et,It,Tt)}function dt(Ct,gt,wt,_t,Et,It,Tt){return vt(wt^(gt|~_t),Ct,gt,Et,It,Tt)}function xt(Ct,gt){var wt=(65535&Ct)+(65535>);return(Ct>>16)+(gt>>16)+(wt>>16)<<16|65535&wt}et.exports=function(Ct){return ft.hash(Ct,At,16)}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){et.exports=function(ft){for(var At,vt=new Array(ft),ht=0;ht>>((3&ht)<<3)&255;return vt}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){var ft=_e("./helpers");function At(mt,bt){mt[bt>>5]|=128<<24-bt%32,mt[15+(bt+64>>9<<4)]=bt;for(var dt,xt,Ct,gt=Array(80),wt=1732584193,_t=-271733879,Et=-1732584194,It=271733878,Tt=-1009589776,Rt=0;Rt>16)+(bt>>16)+(dt>>16)<<16|65535&dt}function ht(mt,bt){return mt<>>32-bt}et.exports=function(mt){return ft.hash(mt,At,20,!0)}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){function ft(bt,dt){var xt=(65535&bt)+(65535&dt);return(bt>>16)+(dt>>16)+(xt>>16)<<16|65535&xt}function At(bt,dt){var xt,Ct=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),gt=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),wt=new Array(64);bt[dt>>5]|=128<<24-dt%32,bt[15+(dt+64>>9<<4)]=dt;for(var _t,Et,It=0;It>>dt|bt<<32-dt},mt=function(bt,dt){return bt>>>dt};et.exports=function(bt){return vt.hash(bt,At,32,!0)}}).call(this,_e("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},_e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(_e,et,tt){(function(rt,at,nt,it,ot,st,lt,ct,ut){tt.read=function(ft,At,vt,ht,It){var bt,dt,xt=8*It-ht-1,Ct=(1<>1,wt=-7,_t=vt?It-1:0,Et=vt?-1:1,It=ft[At+_t];for(_t+=Et,bt=It&(1<<-wt)-1,It>>=-wt,wt+=xt;0>=-wt,wt+=ht;0>1,_t=mt===23?Math.pow(2,-24)-Math.pow(2,-77):0,Et=ht?0:Tt-1,It=ht?1:-1,Tt=At<0||At===0&&1/At<0?1:0;for(At=Math.abs(At),isNaN(At)||At===1/0?(xt=isNaN(At)?1:0,dt=gt):(dt=Math.floor(Math.log(At)/Math.LN2),At*(ht=Math.pow(2,-dt))<1&&(dt--,ht*=2),2<=(At+=1<=dt+wt?_t/ht:_t*Math.pow(2,1-wt))*ht&&(dt++,ht/=2),gt<=dt+wt?(xt=0,dt=gt):1<=dt+wt?(xt=(At*ht-1)*Math.pow(2,mt),dt+=wt):(xt=At*Math.pow(2,wt-1)*Math.pow(2,mt),dt=0));8<=mt;ft[vt+Et]=255&xt,Et+=It,xt/=256,mt-=8);for(dt=dt<`${o}\v${$}`;function group(o){const $={};return o.forEach(({key:_e,value:et})=>{$[_e]||($[_e]=[]),$[_e].push(et)}),$}function transformDdgData({dependencies:o},{service:$,operation:_e}){const et=new Map,tt=new Map,rt=new Map,at=[],nt=o.sort(({path:At},{path:vt})=>{let ht=rt.get(At);ht||(ht=At.map(stringifyEntry).join(),rt.set(At,ht));let mt=rt.get(vt);return mt||(mt=vt.map(stringifyEntry).join(),rt.set(vt,mt)),ht>mt?1:ht{at.push(rt.get(At)||At.map(stringifyEntry).join());const{exemplar_trace_id:ht}=group(vt),mt={focalIdx:-1,members:[],traceIDs:ht};if(mt.members=At.map(({operation:bt,service:dt},xt)=>{let Ct=et.get(dt);Ct||(Ct={name:dt,operations:new Map},et.set(dt,Ct));let gt=Ct.operations.get(bt);gt||(gt={name:bt,service:Ct,pathElems:[]},Ct.operations.set(bt,gt)),mt.focalIdx===-1&&dt===$&&(_e==null||bt===_e)&&(mt.focalIdx=xt);const wt=new PathElem({path:mt,operation:gt,memberIdx:xt});return gt.pathElems.push(wt),wt}),mt.focalIdx===-1)throw new Error("A payload path lacked the focalNode");return mt.members.forEach(bt=>{const dt=tt.get(bt.distance);dt?dt.push(bt):tt.set(bt.distance,[bt])}),mt});let it=0,ot,st=1,lt;const ct=[];function ut(At){At.visibilityIdx=ct.length,ct.push(At)}do ot=tt.get(it--),lt=tt.get(st++),ot&&ot.forEach(ut),lt&<.forEach(ut);while(ot||lt);const ft=objectHash(at).slice(0,16);return{paths:nt,hash:ft,distanceToPathElems:tt,services:et,visIdxToPathElem:ct}}const transformDdgData$1=memoizeOne$1(transformDdgData);class TreeNode{static iterFunction($,_e=0){return et=>$(et.value,et,_e)}static searchFunction($){return typeof $=="function"?$:(_e,et)=>$ instanceof TreeNode?et===$:_e===$}constructor($,_e=[]){this.value=$,this.children=_e}get depth(){return this.children.reduce(($,_e)=>Math.max(_e.depth+1,$),1)}get size(){let $=0;return this.walk(()=>$++),$}addChild($){return this.children.push($ instanceof TreeNode?$:new TreeNode($)),this}find($){if(TreeNode.iterFunction(TreeNode.searchFunction($))(this))return this;for(let et=0;et{const at=rt.concat([tt]);if(_e(tt))return at;for(let nt=0;nt=0;)et.push({node:rt.children[nt],depth:tt}),nt--}}paths($){const _e=[];_e.push({node:this,childIndex:0});const et=[];for(;_e.length;){const{node:tt,childIndex:rt}=_e[_e.length-1];if(tt.children.length>=rt+1)_e[_e.length-1].childIndex++,_e.push({node:tt.children[rt],childIndex:0});else{if(tt.children.length===0){const at=_e.map(nt=>nt.node.value);$(at)}_e.pop()}}return et}}const TREE_ROOT_ID="__root__";function getTraceSpanIdsAsTree(o){const $=new Map(o.spans.map(rt=>[rt.spanID,new TreeNode(rt.spanID)])),_e=new Map(o.spans.map(rt=>[rt.spanID,rt])),et=new TreeNode(TREE_ROOT_ID);o.spans.forEach(rt=>{const at=$.get(rt.spanID);if(Array.isArray(rt.references)&&rt.references.length){const{refType:nt,spanID:it}=rt.references[0];if(nt==="CHILD_OF"||nt==="FOLLOWS_FROM")($.get(it)||et).children.push(at);else throw new Error(`Unrecognized ref type: ${nt}`)}else et.children.push(at)});const tt=(rt,at)=>{const nt=_e.get(rt.value),it=_e.get(at.value);return+(nt.startTime>it.startTime)||+(nt.startTime===it.startTime)-1};return o.spans.forEach(rt=>{const at=$.get(rt.spanID);at.children.length>1&&at.children.sort(tt)}),et.children.sort(tt),et}const isKindServer=o=>o.tags.find(({key:$,value:_e})=>$==="span.kind"&&_e==="server");function transformTracesToPaths(o,$,_e){const et=new Map;return Object.values(o).forEach(({data:rt})=>{if(rt){const at=new Map,{traceID:nt}=rt;rt.spans.forEach(ot=>at.set(ot.spanID,ot)),getTraceSpanIdsAsTree(rt).paths(ot=>{const lt=ot.reduce((ct,ut)=>{if(ut===TREE_ROOT_ID)return ct;const ft=at.get(ut);if(!ft)throw new Error(`Ancestor spanID ${ut} not found in trace ${nt}`);return(ct.length===0||ct[ct.length-1].processID!==ft.processID||isKindServer(ft))&&ct.push(ft),ct},[]).map(({processID:ct,operationName:ut})=>({service:rt.processes[ct].serviceName,operation:ut}));if(lt.some(({service:ct,operation:ut})=>ct===$&&(!_e||ut===_e))){const ct=lt.map(ft=>`${ft.operation}:${ft.service}`).join("/"),ut=et.get(ct);ut?ut.attributes.push({key:"exemplar_trace_id",value:nt}):et.set(ct,{path:lt,attributes:[{key:"exemplar_trace_id",value:nt}]})}})}}),{dependencies:Array.from(et.values())}}const transformTracesToPaths$1=memoizeOne$1(transformTracesToPaths),svcOp=memoizeOne$1((o,$)=>({service:o,operation:$}));function mapStateToProps$7(o,$){const _e=getUrlState$2($.location.search),{density:et,operation:tt,service:rt,showOp:at}=_e,nt=at!==void 0?at:tt!==void 0;let it,ot;if(rt){const st=transformTracesToPaths$1(o.trace.traces,rt,tt);it={model:transformDdgData$1(st,svcOp(rt,tt)),state:fetchedState.DONE,viewModifiers:new Map},ot=makeGraph(it.model,nt,et)}return{graph:ot,graphState:it,showOp:nt,urlState:sanitizeUrlState(_e,get_1$1(it,"model.hash")),...extractUiFindFromState(o)}}class TracesDdgImpl extends reactExports.PureComponent{render(){const{location:$}=this.props,_e=queryString.parse($.search),{end:et,start:tt,limit:rt,lookback:at,maxDuration:nt,minDuration:it,view:ot}=_e,st={end:et,start:tt,limit:rt,lookback:at,maxDuration:nt,minDuration:it,view:ot};return jsxRuntimeExports.jsx(DeepDependencyGraphPageImpl,{baseUrl:ROUTE_PATH$2,extraUrlArgs:st,showSvcOpsHeader:!1,...this.props})}}const SearchResultsDDG=connect$3(mapStateToProps$7)(TracesDdgImpl),MOST_RECENT="MOST_RECENT",LONGEST_FIRST="LONGEST_FIRST",SHORTEST_FIRST="SHORTEST_FIRST",MOST_SPANS="MOST_SPANS",LEAST_SPANS="LEAST_SPANS";var baseFlatten=_baseFlatten,map=map_1;function flatMap(o,$){return baseFlatten(map(o,$),1)}var flatMap_1=flatMap;function getStrings(o){return typeof o=="string"?o:flatMap_1(o,getStrings)}const VALUE_ENABLED="1",VERSION_0="v0",STATE_PARAMS_V0={searchHideGraph:"uiSearchHideGraph",timeline:{collapseTitle:"uiTimelineCollapseTitle",hideMinimap:"uiTimelineHideMinimap",hideSummary:"uiTimelineHideSummary"}},PARAM_KEYS_V0=getStrings(STATE_PARAMS_V0);function getEmbeddedState(o){const{uiEmbed:$,..._e}=queryString.parse(o);return $!==VERSION_0?null:{version:VERSION_0,searchHideGraph:_e[STATE_PARAMS_V0.searchHideGraph]===VALUE_ENABLED,timeline:{collapseTitle:_e[STATE_PARAMS_V0.timeline.collapseTitle]===VALUE_ENABLED,hideMinimap:_e[STATE_PARAMS_V0.timeline.hideMinimap]===VALUE_ENABLED,hideSummary:_e[STATE_PARAMS_V0.timeline.hideSummary]===VALUE_ENABLED}}}function stripEmbeddedState(o){const{uiEmbed:$=void 0,..._e}=o;return $===VERSION_0&&PARAM_KEYS_V0.forEach(Reflect.deleteProperty.bind(null,_e)),_e}const index$k="",Option$1=Select.Option;function SelectSortImpl(){return jsxRuntimeExports.jsxs("label",{children:["Sort:"," ",jsxRuntimeExports.jsxs(Field,{name:"sortBy",component:reduxFormFieldAdapter({AntInputComponent:Select}),children:[jsxRuntimeExports.jsx(Option$1,{value:MOST_RECENT,children:"Most Recent"}),jsxRuntimeExports.jsx(Option$1,{value:LONGEST_FIRST,children:"Longest First"}),jsxRuntimeExports.jsx(Option$1,{value:SHORTEST_FIRST,children:"Shortest First"}),jsxRuntimeExports.jsx(Option$1,{value:MOST_SPANS,children:"Most Spans"}),jsxRuntimeExports.jsx(Option$1,{value:LEAST_SPANS,children:"Least Spans"})]})]})}const SelectSort=reduxForm({form:"traceResultsSort",initialValues:{sortBy:MOST_RECENT}})(SelectSortImpl),sortFormSelector=formValueSelector("traceResultsSort");class UnconnectedSearchResults extends reactExports.PureComponent{constructor(){super(...arguments),this.toggleComparison=($,_e)=>{const{cohortAddTrace:et,cohortRemoveTrace:tt}=this.props;_e?tt($):et($)},this.onDdgViewClicked=()=>{const{location:$,history:_e}=this.props,et=queryString.parse($.search),tt=et.view&&et.view==="ddg"?EAltViewActions.Traces:EAltViewActions.Ddg;trackAltView(tt),_e.push(getUrl$2({...et,view:tt}))},this.onDownloadResultsClicked=()=>{const $=createBlob(this.props.rawTraces),_e=document.createElement("a");_e.href=URL.createObjectURL($),_e.download=`traces-${Date.now()}.json`,document.body.appendChild(_e),_e.click(),URL.revokeObjectURL(_e.href),_e.remove()}}render(){const{diffCohort:$,disableComparisons:_e,goToTrace:et,hideGraph:tt,history:rt,loading:at,location:nt,maxTraceDuration:it,queryOfResults:ot,showStandaloneLink:st,skipMessage:lt,spanLinks:ct,traces:ut}=this.props,ft=queryString.parse(nt.search).view!=="ddg",At=!_e&&jsxRuntimeExports.jsx(DiffSelection,{toggleComparison:this.toggleComparison,traces:$});if(at)return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[$.length>0&&At,jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0})]});if(!Array.isArray(ut)||!ut.length)return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[$.length>0&&At,!lt&&jsxRuntimeExports.jsx("div",{className:"u-simple-card","data-test":NO_RESULTS,children:"No trace results. Try another query."})]});const vt=new Set($.map(bt=>bt.id)),ht=ot?getUrl$2(stripEmbeddedState(ot)):getUrl$2(),mt=({key:bt,value:dt})=>bt==="error"&&(dt===!0||dt==="true");return jsxRuntimeExports.jsxs("div",{className:"SearchResults",children:[jsxRuntimeExports.jsxs("div",{className:"SearchResults--header",children:[!tt&&ft&&jsxRuntimeExports.jsx("div",{className:"ub-p3 SearchResults--headerScatterPlot",children:jsxRuntimeExports.jsx(ScatterPlot,{data:ut.map(bt=>({x:bt.startTime,y:bt.duration,traceID:bt.traceID,size:bt.spans.length,name:bt.traceName,color:bt.spans.some(dt=>dt.tags.some(mt))?"red":"#12939A"})),onValueClick:bt=>{et(bt.traceID)}})}),jsxRuntimeExports.jsxs("div",{className:"SearchResults--headerOverview",children:[jsxRuntimeExports.jsxs("h2",{className:"ub-m0 u-flex-1",children:[ut.length," Trace",ut.length>1&&"s"]}),ft&&jsxRuntimeExports.jsx(SelectSort,{}),ft&&jsxRuntimeExports.jsx(DownloadResults,{onDownloadResultsClicked:this.onDownloadResultsClicked}),jsxRuntimeExports.jsx(AltViewOptions$2,{traceResultsView:ft,onDdgViewClicked:this.onDdgViewClicked}),st&&jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-ml3",to:ht,target:"_blank",rel:"noopener noreferrer",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})]})]}),!ft&&jsxRuntimeExports.jsx("div",{className:"SearchResults--ddg-container",children:jsxRuntimeExports.jsx(SearchResultsDDG,{location:nt,history:rt})}),ft&&At,ft&&jsxRuntimeExports.jsx("ul",{className:"ub-list-reset",children:ut.map(bt=>jsxRuntimeExports.jsx("li",{className:"ub-my3",children:jsxRuntimeExports.jsx(ResultItem,{durationPercent:getPercentageOfDuration(bt.duration,it),isInDiffCohort:vt.has(bt.traceID),linkTo:getLocation(bt.traceID,{fromSearch:ht},ct&&(ct[bt.traceID]||ct[bt.traceID.replace(/^0*/,"")])),toggleComparison:this.toggleComparison,trace:bt,disableComparision:_e})},bt.traceID))})]})}}UnconnectedSearchResults.defaultProps={skipMessage:!1,spanLinks:void 0,queryOfResults:void 0};function createBlob(o){return new Blob([`{"data":${JSON.stringify(o)}}`],{type:"application/json"})}const SearchResults=withRouter$1(UnconnectedSearchResults);function readJsonFile(o){return new Promise(($,_e)=>{const et=new FileReader;et.onload=()=>{if(typeof et.result!="string"){_e(new Error("Invalid result type"));return}try{$(JSON.parse(et.result))}catch(tt){_e(new Error(`Error parsing JSON: ${tt.message}`))}},et.onerror=()=>{const tt=et.error?`: ${String(et.error)}`:"";_e(new Error(`Error reading the JSON file${tt}`))},et.onabort=()=>{_e(new Error("Reading the JSON file has been aborted"))};try{et.readAsText(o.file)}catch(tt){_e(new Error(`Error reading the JSON file: ${tt.message}`))}})}const loadJsonTraces=createAction("@FILE_READER_API/LOAD_JSON",o=>readJsonFile(o),o=>({fileList:o})),fileReaderActions=Object.freeze(Object.defineProperty({__proto__:null,loadJsonTraces},Symbol.toStringTag,{value:"Module"}));function guardReducer(o){return function(_e,{payload:et}){return et?o(_e,et):_e}}function guardReducerWithMeta(o){return function(_e,et){return!et.payload||!et.meta?_e:o(_e,et)}}function newInitialState$1(){return{cohort:[],a:null,b:null}}const actionTypes$2=generateActionTypes("@jaeger-ui/trace-diff",["COHORT_ADD_TRACE","COHORT_REMOVE_TRACE","DIFF_SET_A","DIFF_SET_B","FORCE_STATE"]),fullActions$2=createActions({[actionTypes$2.COHORT_ADD_TRACE]:o=>({traceID:o}),[actionTypes$2.COHORT_REMOVE_TRACE]:o=>({traceID:o}),[actionTypes$2.DIFF_SET_A]:o=>({traceID:o}),[actionTypes$2.DIFF_SET_B]:o=>({traceID:o}),[actionTypes$2.FORCE_STATE]:o=>({newState:o})}),actions$3=fullActions$2.jaegerUi.traceDiff;function cohortAddTrace(o,{traceID:$}){if(o.cohort.indexOf($)>=0)return o;const _e=o.cohort.slice();return _e.push($),{...o,cohort:_e}}function cohortRemoveTrace(o,{traceID:$}){const _e=o.cohort.indexOf($);if(_e<0)return o;const et=o.cohort.slice();et.splice(_e,1);const tt=o.a===$?null:o.a,rt=o.b===$?null:o.b;return{...o,a:tt,b:rt,cohort:et}}function diffSetA(o,{traceID:$}){return{...o,a:$}}function diffSetB(o,{traceID:$}){return{...o,b:$}}function forceState(o,{newState:$}){return $}const traceDiff=handleActions({[actionTypes$2.COHORT_ADD_TRACE]:guardReducer(cohortAddTrace),[actionTypes$2.COHORT_REMOVE_TRACE]:guardReducer(cohortRemoveTrace),[actionTypes$2.DIFF_SET_A]:guardReducer(diffSetA),[actionTypes$2.DIFF_SET_B]:guardReducer(diffSetB),[actionTypes$2.FORCE_STATE]:guardReducer(forceState)},newInitialState$1()),comparators={[MOST_RECENT]:(o,$)=>+($.startTime>o.startTime)||+(o.startTime===$.startTime)-1,[SHORTEST_FIRST]:(o,$)=>+(o.duration>$.duration)||+(o.duration===$.duration)-1,[LONGEST_FIRST]:(o,$)=>+($.duration>o.duration)||+(o.duration===$.duration)-1,[MOST_SPANS]:(o,$)=>+($.spans.length>o.spans.length)||+(o.spans.length===$.spans.length)-1,[LEAST_SPANS]:(o,$)=>+(o.spans.length>$.spans.length)||+(o.spans.length===$.spans.length)-1};function sortTraces(o,$){const _e=comparators[$]||comparators[LONGEST_FIRST];o.sort(_e)}const getStaticAssetPath=o=>isString$6(window.staticPath)?new URL(o,window.staticPath).href:o,index$j="",index$i="";function getError(o,$){var _e="cannot "+o.method+" "+o.action+" "+$.status+"'",et=new Error(_e);return et.status=$.status,et.method=o.method,et.url=o.action,et}function getBody(o){var $=o.responseText||o.response;if(!$)return $;try{return JSON.parse($)}catch(_e){return $}}function upload(o){var $=new XMLHttpRequest;o.onProgress&&$.upload&&($.upload.onprogress=function(at){at.total>0&&(at.percent=at.loaded/at.total*100),o.onProgress(at)});var _e=new FormData;o.data&&Object.keys(o.data).forEach(function(rt){var at=o.data[rt];if(Array.isArray(at)){at.forEach(function(nt){_e.append(rt+"[]",nt)});return}_e.append(rt,o.data[rt])}),_e.append(o.filename,o.file),$.onerror=function(at){o.onError(at)},$.onload=function(){if($.status<200||$.status>=300)return o.onError(getError(o,$),getBody($));o.onSuccess(getBody($),$)},$.open(o.method,o.action,!0),o.withCredentials&&"withCredentials"in $&&($.withCredentials=!0);var et=o.headers||{};et["X-Requested-With"]!==null&&$.setRequestHeader("X-Requested-With","XMLHttpRequest");for(var tt in et)et.hasOwnProperty(tt)&&et[tt]!==null&&$.setRequestHeader(tt,et[tt]);return $.send(_e),{abort:function(){$.abort()}}}var now$1=+new Date,index$h=0;function uid(){return"rc-upload-"+now$1+"-"+ ++index$h}function endsWith(o,$){return o.indexOf($,o.length-$.length)!==-1}const attrAccept=function(o,$){if(o&&$){var _e=Array.isArray($)?$:$.split(","),et=o.name||"",tt=o.type||"",rt=tt.replace(/\/.*$/,"");return _e.some(function(at){var nt=at.trim();return nt.charAt(0)==="."?endsWith(et.toLowerCase(),nt.toLowerCase()):/\/\*$/.test(nt)?rt===nt.replace(/\/.*$/,""):tt===nt})}return!0};function loopFiles(o,$){var _e=o.createReader(),et=[];function tt(){_e.readEntries(function(rt){var at=Array.prototype.slice.apply(rt);et=et.concat(at);var nt=!at.length;nt?$(et):tt()})}tt()}var traverseFileTree=function o($,_e,et){var tt=function lt(ct,ut){ut=ut||"",ct.isFile?ct.file(function(ft){et(ft)&&(ct.fullPath&&!ft.webkitRelativePath&&(Object.defineProperties(ft,{webkitRelativePath:{writable:!0}}),ft.webkitRelativePath=ct.fullPath.replace(/^\//,""),Object.defineProperties(ft,{webkitRelativePath:{writable:!1}})),_e([ft]))}):ct.isDirectory&&loopFiles(ct,function(ft){ft.forEach(function(At){lt(At,""+ut+ct.name+"/")})})},rt=!0,at=!1,nt=void 0;try{for(var it=$[Symbol.iterator](),ot;!(rt=(ot=it.next()).done);rt=!0){var st=ot.value;tt(st.webkitGetAsEntry())}}catch(lt){at=!0,nt=lt}finally{try{!rt&&it.return&&it.return()}finally{if(at)throw nt}}},AjaxUploader=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;itdocument.domain="'+et+'";",rt=''}return` @@ -237,24 +237,24 @@ list should be an Array.`),Ft.length===0)return new vt(0);if(Ft.length===1)retur d.write(''); d.close(); })())`)}},{key:"initIframe",value:function(){var et=this.getIframeNode(),tt=et.contentWindow,rt=void 0;this.domain=this.domain||"",this.initIframeSrc();try{rt=tt.document}catch(at){this.domain=document.domain,this.initIframeSrc(),tt=et.contentWindow,rt=tt.document}rt.open("text/html","replace"),rt.write(this.getIframeHTML(this.domain)),rt.close(),this.getFormInputNode().onchange=this.onChange}},{key:"endUpload",value:function(){this.state.uploading&&(this.file={},this.state.uploading=!1,this.setState({uploading:!1}),this.initIframe())}},{key:"startUpload",value:function(){this.state.uploading||(this.state.uploading=!0,this.setState({uploading:!0}))}},{key:"updateIframeWH",value:function(){var et=ReactDOM.findDOMNode(this),tt=this.getIframeNode();tt.style.height=et.offsetHeight+"px",tt.style.width=et.offsetWidth+"px"}},{key:"abort",value:function(et){if(et){var tt=et;et&&et.uid&&(tt=et.uid),tt===this.file.uid&&this.endUpload()}else this.endUpload()}},{key:"post",value:function(et){var tt=this,rt=this.getFormNode(),at=this.getFormDataNode(),nt=this.props.data,it=this.props.onStart;typeof nt=="function"&&(nt=nt(et));var ot=document.createDocumentFragment();for(var st in nt)if(nt.hasOwnProperty(st)){var lt=document.createElement("input");lt.setAttribute("name",st),lt.value=nt[st],ot.appendChild(lt)}at.appendChild(ot),new Promise(function(ct){var ut=tt.props.action;if(typeof ut=="function")return ct(ut(et));ct(ut)}).then(function(ct){rt.setAttribute("action",ct),rt.submit(),at.innerHTML="",it(et)})}},{key:"render",value:function(){var et,tt=this.props,rt=tt.component,at=tt.disabled,nt=tt.className,it=tt.prefixCls,ot=tt.children,st=tt.style,lt=_default$bE({},IFRAME_STYLE,{display:this.state.uploading||at?"none":""}),ct=classnamesExports((et={},_default$e(et,it,!0),_default$e(et,it+"-disabled",at),_default$e(et,nt,nt),et));return React$k.createElement(rt,{className:ct,style:_default$bE({position:"relative",zIndex:0},st)},React$k.createElement("iframe",{ref:this.saveIframe,onLoad:this.onLoad,style:lt}),ot)}}]),$}(reactExports.Component);IframeUploader.propTypes={component:propTypesExports.string,style:propTypesExports.object,disabled:propTypesExports.bool,prefixCls:propTypesExports.string,className:propTypesExports.string,accept:propTypesExports.string,onStart:propTypesExports.func,multiple:propTypesExports.bool,children:propTypesExports.any,data:propTypesExports.oneOfType([propTypesExports.object,propTypesExports.func]),action:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func]),name:propTypesExports.string};function empty$2(){}var Upload$2=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=_e||(tt+=o,o-=$,o<.001&&(o=.001)),tt}}function getFileItem(o,$){var _e=o.uid!==void 0?"uid":"name";return $.filter(function(et){return et[_e]===o[_e]})[0]}function removeFileItem(o,$){var _e=o.uid!==void 0?"uid":"name",et=$.filter(function(tt){return tt[_e]!==o[_e]});return et.length===$.length?null:et}var extname=function o(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",_e=$.split("/"),et=_e[_e.length-1],tt=et.split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(tt)||[""])[0]},isImageFileType=function o($){return!!$&&$.indexOf("image/")===0},isImageUrl=function o($){if(isImageFileType($.type))return!0;var _e=$.thumbUrl||$.url,et=extname(_e);return/^data:image\//.test(_e)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(et)?!0:!(/^data:/.test(_e)||et)},MEASURE_SIZE=200;function previewImage(o){return new Promise(function($){if(!isImageFileType(o.type)){$("");return}var _e=document.createElement("canvas");_e.width=MEASURE_SIZE,_e.height=MEASURE_SIZE,_e.style.cssText="position: fixed; left: 0; top: 0; width: ".concat(MEASURE_SIZE,"px; height: ").concat(MEASURE_SIZE,"px; z-index: 9999; display: none;"),document.body.appendChild(_e);var et=_e.getContext("2d"),tt=new Image;tt.onload=function(){var rt=tt.width,at=tt.height,nt=MEASURE_SIZE,it=MEASURE_SIZE,ot=0,st=0;rt100?100:o}function _extends$d(){return _extends$d=Object.assign||function(o){for(var $=1;$o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _iterableToArrayLimit(o,$){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(o)))){var _e=[],et=!0,tt=!1,rt=void 0;try{for(var at=o[Symbol.iterator](),nt;!(et=(nt=at.next()).done)&&(_e.push(nt.value),!($&&_e.length===$));et=!0);}catch(it){tt=!0,rt=it}finally{try{!et&&at.return!=null&&at.return()}finally{if(tt)throw rt}}return _e}}function _arrayWithHoles(o){if(Array.isArray(o))return o}var __rest$5=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$8(o){return _getPrototypeOf$8=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$8(o)}var enhancer=function o($){return function(_e){_inherits$8(tt,_e);var et=_createSuper$8(tt);function tt(){return _classCallCheck$8(this,tt),et.apply(this,arguments)}return _createClass$8(tt,[{key:"componentDidUpdate",value:function(){var at=this,nt=Date.now(),it=!1;Object.keys(this.paths).forEach(function(ot){var st=at.paths[ot];if(st){it=!0;var lt=st.style;lt.transitionDuration=".3s, .3s, .3s, .06s",at.prevTimeStamp&&nt-at.prevTimeStamp<100&&(lt.transitionDuration="0s, 0s")}}),it&&(this.prevTimeStamp=Date.now())}},{key:"render",value:function(){return _get(_getPrototypeOf$8(tt.prototype),"render",this).call(this)}}]),tt}($)},defaultProps={className:"",percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,style:{},trailColor:"#D9D9D9",trailWidth:1},mixedType=propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string]),propTypes={className:propTypesExports.string,percent:propTypesExports.oneOfType([mixedType,propTypesExports.arrayOf(mixedType)]),prefixCls:propTypesExports.string,strokeColor:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.arrayOf(propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object])),propTypesExports.object]),strokeLinecap:propTypesExports.oneOf(["butt","round","square"]),strokeWidth:mixedType,style:propTypesExports.object,trailColor:propTypesExports.string,trailWidth:mixedType};function _extends$c(){return _extends$c=Object.assign||function(o){for(var $=1;$=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$1(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function _classCallCheck$7(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$7(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$7(o,$,_e){return $&&_defineProperties$7(o.prototype,$),_e&&_defineProperties$7(o,_e),o}function _inherits$7(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$7(o,$)}function _setPrototypeOf$7(o,$){return _setPrototypeOf$7=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$7(o,$)}function _createSuper$7(o){var $=_isNativeReflectConstruct$7();return function(){var _e=_getPrototypeOf$7(o),et;if($){var tt=_getPrototypeOf$7(this).constructor;et=Reflect.construct(_e,arguments,tt)}else et=_e.apply(this,arguments);return _possibleConstructorReturn$7(this,et)}}function _possibleConstructorReturn$7(o,$){return $&&(typeof $=="object"||typeof $=="function")?$:_assertThisInitialized$7(o)}function _assertThisInitialized$7(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$7(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$7(o){return _getPrototypeOf$7=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$7(o)}function _defineProperty$8(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var Line=function(o){_inherits$7(_e,o);var $=_createSuper$7(_e);function _e(){var et;_classCallCheck$7(this,_e);for(var tt=arguments.length,rt=new Array(tt),at=0;at=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function _classCallCheck$6(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$6(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$6(o,$,_e){return $&&_defineProperties$6(o.prototype,$),_e&&_defineProperties$6(o,_e),o}function _inherits$6(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$6(o,$)}function _setPrototypeOf$6(o,$){return _setPrototypeOf$6=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$6(o,$)}function _createSuper$6(o){var $=_isNativeReflectConstruct$6();return function(){var _e=_getPrototypeOf$6(o),et;if($){var tt=_getPrototypeOf$6(this).constructor;et=Reflect.construct(_e,arguments,tt)}else et=_e.apply(this,arguments);return _possibleConstructorReturn$6(this,et)}}function _possibleConstructorReturn$6(o,$){return $&&(typeof $=="object"||typeof $=="function")?$:_assertThisInitialized$6(o)}function _assertThisInitialized$6(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$6(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$6(o){return _getPrototypeOf$6=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$6(o)}function _defineProperty$7(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var gradientSeed=0;function stripPercentToNumber(o){return+o.replace("%","")}function toArray(o){return Array.isArray(o)?o:[o]}function getPathStyles(o,$,_e,et){var tt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,rt=arguments.length>5?arguments[5]:void 0,at=50-et/2,nt=0,it=-at,ot=0,st=-2*at;switch(rt){case"left":nt=-at,it=0,ot=2*at,st=0;break;case"right":nt=at,it=0,ot=-2*at,st=0;break;case"bottom":it=at,st=2*at;break}var lt="M 50,50 m ".concat(nt,",").concat(it,` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _unsupportedIterableToArray(o,$){if(o){if(typeof o=="string")return _arrayLikeToArray(o,$);var _e=Object.prototype.toString.call(o).slice(8,-1);if(_e==="Object"&&o.constructor&&(_e=o.constructor.name),_e==="Map"||_e==="Set")return Array.from(o);if(_e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_e))return _arrayLikeToArray(o,$)}}function _arrayLikeToArray(o,$){($==null||$>o.length)&&($=o.length);for(var _e=0,et=new Array($);_e<$;_e++)et[_e]=o[_e];return et}function _iterableToArrayLimit(o,$){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(o)))){var _e=[],et=!0,tt=!1,rt=void 0;try{for(var at=o[Symbol.iterator](),nt;!(et=(nt=at.next()).done)&&(_e.push(nt.value),!($&&_e.length===$));et=!0);}catch(it){tt=!0,rt=it}finally{try{!et&&at.return!=null&&at.return()}finally{if(tt)throw rt}}return _e}}function _arrayWithHoles(o){if(Array.isArray(o))return o}var __rest$5=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$8(o){return _getPrototypeOf$8=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$8(o)}var enhancer=function o($){return function(_e){_inherits$8(tt,_e);var et=_createSuper$8(tt);function tt(){return _classCallCheck$8(this,tt),et.apply(this,arguments)}return _createClass$8(tt,[{key:"componentDidUpdate",value:function(){var at=this,nt=Date.now(),it=!1;Object.keys(this.paths).forEach(function(ot){var st=at.paths[ot];if(st){it=!0;var lt=st.style;lt.transitionDuration=".3s, .3s, .3s, .06s",at.prevTimeStamp&&nt-at.prevTimeStamp<100&&(lt.transitionDuration="0s, 0s")}}),it&&(this.prevTimeStamp=Date.now())}},{key:"render",value:function(){return _get(_getPrototypeOf$8(tt.prototype),"render",this).call(this)}}]),tt}($)},defaultProps={className:"",percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,style:{},trailColor:"#D9D9D9",trailWidth:1},mixedType=propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string]),propTypes={className:propTypesExports.string,percent:propTypesExports.oneOfType([mixedType,propTypesExports.arrayOf(mixedType)]),prefixCls:propTypesExports.string,strokeColor:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.arrayOf(propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object])),propTypesExports.object]),strokeLinecap:propTypesExports.oneOf(["butt","round","square"]),strokeWidth:mixedType,style:propTypesExports.object,trailColor:propTypesExports.string,trailWidth:mixedType};function _extends$c(){return _extends$c=Object.assign||function(o){for(var $=1;$=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose$1(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function _classCallCheck$7(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$7(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$7(o,$,_e){return $&&_defineProperties$7(o.prototype,$),_e&&_defineProperties$7(o,_e),o}function _inherits$7(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$7(o,$)}function _setPrototypeOf$7(o,$){return _setPrototypeOf$7=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$7(o,$)}function _createSuper$7(o){var $=_isNativeReflectConstruct$7();return function(){var _e=_getPrototypeOf$7(o),et;if($){var tt=_getPrototypeOf$7(this).constructor;et=Reflect.construct(_e,arguments,tt)}else et=_e.apply(this,arguments);return _possibleConstructorReturn$7(this,et)}}function _possibleConstructorReturn$7(o,$){return $&&(typeof $=="object"||typeof $=="function")?$:_assertThisInitialized$7(o)}function _assertThisInitialized$7(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$7(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$7(o){return _getPrototypeOf$7=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$7(o)}function _defineProperty$8(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var Line=function(o){_inherits$7(_e,o);var $=_createSuper$7(_e);function _e(){var et;_classCallCheck$7(this,_e);for(var tt=arguments.length,rt=new Array(tt),at=0;at=0)&&Object.prototype.propertyIsEnumerable.call(o,et)&&(_e[et]=o[et])}return _e}function _objectWithoutPropertiesLoose(o,$){if(o==null)return{};var _e={},et=Object.keys(o),tt,rt;for(rt=0;rt=0)&&(_e[tt]=o[tt]);return _e}function _classCallCheck$6(o,$){if(!(o instanceof $))throw new TypeError("Cannot call a class as a function")}function _defineProperties$6(o,$){for(var _e=0;_e<$.length;_e++){var et=$[_e];et.enumerable=et.enumerable||!1,et.configurable=!0,"value"in et&&(et.writable=!0),Object.defineProperty(o,et.key,et)}}function _createClass$6(o,$,_e){return $&&_defineProperties$6(o.prototype,$),_e&&_defineProperties$6(o,_e),o}function _inherits$6(o,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create($&&$.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),$&&_setPrototypeOf$6(o,$)}function _setPrototypeOf$6(o,$){return _setPrototypeOf$6=Object.setPrototypeOf||function(et,tt){return et.__proto__=tt,et},_setPrototypeOf$6(o,$)}function _createSuper$6(o){var $=_isNativeReflectConstruct$6();return function(){var _e=_getPrototypeOf$6(o),et;if($){var tt=_getPrototypeOf$6(this).constructor;et=Reflect.construct(_e,arguments,tt)}else et=_e.apply(this,arguments);return _possibleConstructorReturn$6(this,et)}}function _possibleConstructorReturn$6(o,$){return $&&(typeof $=="object"||typeof $=="function")?$:_assertThisInitialized$6(o)}function _assertThisInitialized$6(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _isNativeReflectConstruct$6(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$6(o){return _getPrototypeOf$6=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$6(o)}function _defineProperty$7(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var gradientSeed=0;function stripPercentToNumber(o){return+o.replace("%","")}function toArray(o){return Array.isArray(o)?o:[o]}function getPathStyles(o,$,_e,et){var tt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,rt=arguments.length>5?arguments[5]:void 0,at=50-et/2,nt=0,it=-at,ot=0,st=-2*at;switch(rt){case"left":nt=-at,it=0,ot=2*at,st=0;break;case"right":nt=at,it=0,ot=-2*at,st=0;break;case"bottom":it=at,st=2*at;break}var lt="M 50,50 m ".concat(nt,",").concat(it,` a `).concat(at,",").concat(at," 0 1 1 ").concat(ot,",").concat(-st,` - a `).concat(at,",").concat(at," 0 1 1 ").concat(-ot,",").concat(st),ct=Math.PI*2*at,ut={stroke:_e,strokeDasharray:"".concat($/100*(ct-tt),"px ").concat(ct,"px"),strokeDashoffset:"-".concat(tt/2+o/100*(ct-tt),"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s"};return{pathString:lt,pathStyle:ut}}var Circle$2=function(o){_inherits$6(_e,o);var $=_createSuper$6(_e);function _e(){var et;return _classCallCheck$6(this,_e),et=$.call(this),_defineProperty$7(_assertThisInitialized$6(et),"paths",{}),_defineProperty$7(_assertThisInitialized$6(et),"gradientId",0),et.gradientId=gradientSeed,gradientSeed+=1,et}return _createClass$6(_e,[{key:"getStokeList",value:function(){var tt=this,rt=this.props,at=rt.prefixCls,nt=rt.percent,it=rt.strokeColor,ot=rt.strokeWidth,st=rt.strokeLinecap,lt=rt.gapDegree,ct=rt.gapPosition,ut=toArray(nt),ft=toArray(it),At=0;return ut.map(function(vt,ht){var bt=ft[ht]||ft[ft.length-1],pt=Object.prototype.toString.call(bt)==="[object Object]"?"url(#".concat(at,"-gradient-").concat(tt.gradientId,")"):"",dt=getPathStyles(At,vt,bt,ot,lt,ct),_t=dt.pathString,Ct=dt.pathStyle;return At+=vt,React$k.createElement("path",{key:ht,className:"".concat(at,"-circle-path"),d:_t,stroke:pt,strokeLinecap:st,strokeWidth:ot,opacity:vt===0?0:1,fillOpacity:"0",style:Ct,ref:function(yt){tt.paths[ht]=yt}})})}},{key:"render",value:function(){var tt=this.props,rt=tt.prefixCls,at=tt.strokeWidth,nt=tt.trailWidth,it=tt.gapDegree,ot=tt.gapPosition,st=tt.trailColor,lt=tt.strokeLinecap,ct=tt.style,ut=tt.className,ft=tt.strokeColor,At=_objectWithoutProperties(tt,["prefixCls","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor"]),vt=getPathStyles(0,100,st,at,it,ot),ht=vt.pathString,bt=vt.pathStyle;delete At.percent;var pt=toArray(ft),dt=pt.find(function(_t){return Object.prototype.toString.call(_t)==="[object Object]"});return React$k.createElement("svg",_extends$b({className:"".concat(rt,"-circle ").concat(ut),viewBox:"0 0 100 100",style:ct},At),dt&&React$k.createElement("defs",null,React$k.createElement("linearGradient",{id:"".concat(rt,"-gradient-").concat(this.gradientId),x1:"100%",y1:"0%",x2:"0%",y2:"0%"},Object.keys(dt).sort(function(_t,Ct){return stripPercentToNumber(_t)-stripPercentToNumber(Ct)}).map(function(_t,Ct){return React$k.createElement("stop",{key:Ct,offset:_t,stopColor:dt[_t]})}))),React$k.createElement("path",{className:"".concat(rt,"-circle-trail"),d:ht,stroke:st,strokeLinecap:lt,strokeWidth:nt||at,fillOpacity:"0",style:bt}),this.getStokeList().reverse())}}]),_e}(reactExports.Component);Circle$2.propTypes=_objectSpread(_objectSpread({},propTypes),{},{gapPosition:propTypesExports.oneOf(["top","bottom","left","right"])});Circle$2.defaultProps=_objectSpread(_objectSpread({},defaultProps),{},{gapPosition:"top"});const RCCircle=enhancer(Circle$2);function _defineProperty$6(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var statusColorMap={normal:"#108ee9",exception:"#ff5500",success:"#87d068"};function getPercentage(o){var $=o.percent,_e=o.successPercent,et=validProgress($);if(!_e)return et;var tt=validProgress(_e);return[_e,validProgress(et-tt)]}function getStrokeColor(o){var $=o.progressStatus,_e=o.successPercent,et=o.strokeColor,tt=et||statusColorMap[$];return _e?[statusColorMap.success,tt]:tt}var Circle=function o($){var _e=$.prefixCls,et=$.width,tt=$.strokeWidth,rt=$.trailColor,at=$.strokeLinecap,nt=$.gapPosition,it=$.gapDegree,ot=$.type,st=$.children,lt=et||120,ct={width:lt,height:lt,fontSize:lt*.15+6},ut=tt||6,ft=nt||ot==="dashboard"&&"bottom"||"top",At=it||(ot==="dashboard"?75:void 0),vt=getStrokeColor($),ht=Object.prototype.toString.call(vt)==="[object Object]",bt=classNames("".concat(_e,"-inner"),_defineProperty$6({},"".concat(_e,"-circle-gradient"),ht));return reactExports.createElement("div",{className:bt,style:ct},reactExports.createElement(RCCircle,{percent:getPercentage($),strokeWidth:ut,trailWidth:ut,strokeColor:vt,strokeLinecap:at,trailColor:rt,prefixCls:_e,gapDegree:At,gapPosition:ft}),st)};const Circle$1=Circle;function _typeof$6(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$6=function(_e){return typeof _e}:_typeof$6=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$6(o)}function _defineProperty$5(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$a(){return _extends$a=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$5(o){return _getPrototypeOf$5=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$5(o)}var __rest$4=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=100?"success":tt||"normal"}},{key:"renderProcessInfo",value:function(tt,rt){var at=this.props,nt=at.showInfo,it=at.format,ot=at.type,st=at.percent,lt=at.successPercent;if(!nt)return null;var ct,ut=it||function(At){return"".concat(At,"%")},ft=ot==="circle"||ot==="dashboard"?"":"-circle";return it||rt!=="exception"&&rt!=="success"?ct=ut(validProgress(st),validProgress(lt)):rt==="exception"?ct=reactExports.createElement(Icon$1,{type:"close".concat(ft),theme:ot==="line"?"filled":"outlined"}):rt==="success"&&(ct=reactExports.createElement(Icon$1,{type:"check".concat(ft),theme:ot==="line"?"filled":"outlined"})),reactExports.createElement("span",{className:"".concat(tt,"-text"),title:typeof ct=="string"?ct:void 0},ct)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderProgress)}}]),_e}(reactExports.Component);Progress.defaultProps={type:"line",percent:0,showInfo:!0,trailColor:"#f3f3f3",size:"default",gapDegree:0,strokeLinecap:"round"};Progress.propTypes={status:propTypesExports.oneOf(ProgressStatuses),type:propTypesExports.oneOf(ProgressTypes),showInfo:propTypesExports.bool,percent:propTypesExports.number,width:propTypesExports.number,strokeWidth:propTypesExports.number,strokeLinecap:propTypesExports.oneOf(["round","square"]),strokeColor:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),trailColor:propTypesExports.string,format:propTypesExports.func,gapDegree:propTypesExports.number};function _typeof$5(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(_e){return typeof _e}:_typeof$5=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$5(o)}function _defineProperty$4(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$9(){return _extends$9=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$4(o){return _getPrototypeOf$4=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$4(o)}var UploadList=function(o){_inherits$4(_e,o);var $=_createSuper$4(_e);function _e(){var et;return _classCallCheck$4(this,_e),et=$.apply(this,arguments),et.handlePreview=function(tt,rt){var at=et.props.onPreview;if(at)return rt.preventDefault(),at(tt)},et.handleDownload=function(tt){var rt=et.props.onDownload;typeof rt=="function"?rt(tt):tt.url&&window.open(tt.url)},et.handleClose=function(tt){var rt=et.props.onRemove;rt&&rt(tt)},et.renderUploadList=function(tt){var rt,at=tt.getPrefixCls,nt=et.props,it=nt.prefixCls,ot=nt.items,st=ot===void 0?[]:ot,lt=nt.listType,ct=nt.showPreviewIcon,ut=nt.showRemoveIcon,ft=nt.showDownloadIcon,At=nt.locale,vt=nt.progressAttr,ht=at("upload",it),bt=st.map(function(_t){var Ct,gt,yt,xt=reactExports.createElement(Icon$1,{type:_t.status==="uploading"?"loading":"paper-clip"});if(lt==="picture"||lt==="picture-card")if(lt==="picture-card"&&_t.status==="uploading")xt=reactExports.createElement("div",{className:"".concat(ht,"-list-item-uploading-text")},At.uploading);else if(!_t.thumbUrl&&!_t.url)xt=reactExports.createElement(Icon$1,{className:"".concat(ht,"-list-item-thumbnail"),type:"picture",theme:"twoTone"});else{var Et=isImageUrl(_t)?reactExports.createElement("img",{src:_t.thumbUrl||_t.url,alt:_t.name,className:"".concat(ht,"-list-item-image")}):reactExports.createElement(Icon$1,{type:"file",className:"".concat(ht,"-list-item-icon"),theme:"twoTone"});xt=reactExports.createElement("a",{className:"".concat(ht,"-list-item-thumbnail"),onClick:function(Zt){return et.handlePreview(_t,Zt)},href:_t.url||_t.thumbUrl,target:"_blank",rel:"noopener noreferrer"},Et)}if(_t.status==="uploading"){var It="percent"in _t?reactExports.createElement(Progress,_extends$9({type:"line"},vt,{percent:_t.percent})):null;yt=reactExports.createElement("div",{className:"".concat(ht,"-list-item-progress"),key:"progress"},It)}var Tt=classNames((Ct={},_defineProperty$4(Ct,"".concat(ht,"-list-item"),!0),_defineProperty$4(Ct,"".concat(ht,"-list-item-").concat(_t.status),!0),_defineProperty$4(Ct,"".concat(ht,"-list-item-list-type-").concat(lt),!0),Ct)),Rt=typeof _t.linkProps=="string"?JSON.parse(_t.linkProps):_t.linkProps,Ot=ut?reactExports.createElement(Icon$1,{type:"delete",title:At.removeFile,onClick:function(){return et.handleClose(_t)}}):null,Mt=ft&&_t.status==="done"?reactExports.createElement(Icon$1,{type:"download",title:At.downloadFile,onClick:function(){return et.handleDownload(_t)}}):null,Bt=lt!=="picture-card"&&reactExports.createElement("span",{key:"download-delete",className:"".concat(ht,"-list-item-card-actions ").concat(lt==="picture"?"picture":"")},Mt&&reactExports.createElement("a",{title:At.downloadFile},Mt),Ot&&reactExports.createElement("a",{title:At.removeFile},Ot)),Lt=classNames((gt={},_defineProperty$4(gt,"".concat(ht,"-list-item-name"),!0),_defineProperty$4(gt,"".concat(ht,"-list-item-name-icon-count-").concat([Mt,Ot].filter(function(tr){return tr}).length),!0),gt)),Vt=_t.url?[reactExports.createElement("a",_extends$9({key:"view",target:"_blank",rel:"noopener noreferrer",className:Lt,title:_t.name},Rt,{href:_t.url,onClick:function(Zt){return et.handlePreview(_t,Zt)}}),_t.name),Bt]:[reactExports.createElement("span",{key:"view",className:Lt,onClick:function(Zt){return et.handlePreview(_t,Zt)},title:_t.name},_t.name),Bt],zt={pointerEvents:"none",opacity:.5},Nt=ct?reactExports.createElement("a",{href:_t.url||_t.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:_t.url||_t.thumbUrl?void 0:zt,onClick:function(Zt){return et.handlePreview(_t,Zt)},title:At.previewFile},reactExports.createElement(Icon$1,{type:"eye-o"})):null,Wt=lt==="picture-card"&&_t.status!=="uploading"&&reactExports.createElement("span",{className:"".concat(ht,"-list-item-actions")},Nt,_t.status==="done"&&Mt,Ot),Jt;_t.response&&typeof _t.response=="string"?Jt=_t.response:Jt=_t.error&&_t.error.statusText||At.uploadError;var nr=reactExports.createElement("span",null,xt,Vt),er=reactExports.createElement("div",{className:Tt},reactExports.createElement("div",{className:"".concat(ht,"-list-item-info")},nr),Wt,reactExports.createElement(Animate$1,{transitionName:"fade",component:""},yt)),Xt=classNames(_defineProperty$4({},"".concat(ht,"-list-picture-card-container"),lt==="picture-card"));return reactExports.createElement("div",{key:_t.uid,className:Xt},_t.status==="error"?reactExports.createElement(Tooltip$1,{title:Jt},er):reactExports.createElement("span",null,er))}),pt=classNames((rt={},_defineProperty$4(rt,"".concat(ht,"-list"),!0),_defineProperty$4(rt,"".concat(ht,"-list-").concat(lt),!0),rt)),dt=lt==="picture-card"?"animate-inline":"animate";return reactExports.createElement(Animate$1,{transitionName:"".concat(ht,"-").concat(dt),component:"div",className:pt},bt)},et}return _createClass$4(_e,[{key:"componentDidUpdate",value:function(){var tt=this,rt=this.props,at=rt.listType,nt=rt.items,it=rt.previewFile;at!=="picture"&&at!=="picture-card"||(nt||[]).forEach(function(ot){typeof document>"u"||typeof window>"u"||!window.FileReader||!window.File||!(ot.originFileObj instanceof File||ot.originFileObj instanceof Blob)||ot.thumbUrl!==void 0||(ot.thumbUrl="",it&&it(ot.originFileObj).then(function(st){ot.thumbUrl=st||"",tt.forceUpdate()}))})}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderUploadList)}}]),_e}(reactExports.Component);UploadList.defaultProps={listType:"text",progressAttr:{strokeWidth:2,showInfo:!1},showRemoveIcon:!0,showDownloadIcon:!1,showPreviewIcon:!0,previewFile:previewImage};function _typeof$4(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$4=function(_e){return typeof _e}:_typeof$4=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$4(o)}function _defineProperty$3(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$8(){return _extends$8=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$3(o){return _getPrototypeOf$3=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$3(o)}var Upload=function(o){_inherits$3(_e,o);var $=_createSuper$3(_e);function _e(et){var tt;return _classCallCheck$3(this,_e),tt=$.call(this,et),tt.saveUpload=function(rt){tt.upload=rt},tt.onStart=function(rt){var at=tt.state.fileList,nt=fileToObject(rt);nt.status="uploading";var it=at.concat(),ot=findIndex_1(it,function(st){var lt=st.uid;return lt===nt.uid});ot===-1?it.push(nt):it[ot]=nt,tt.onChange({file:nt,fileList:it}),(!window.File||{}.TEST_IE)&&tt.autoUpdateProgress(0,nt)},tt.onSuccess=function(rt,at,nt){tt.clearProgressTimer();try{typeof rt=="string"&&(rt=JSON.parse(rt))}catch(st){}var it=tt.state.fileList,ot=getFileItem(at,it);ot&&(ot.status="done",ot.response=rt,ot.xhr=nt,tt.onChange({file:_extends$8({},ot),fileList:it}))},tt.onProgress=function(rt,at){var nt=tt.state.fileList,it=getFileItem(at,nt);it&&(it.percent=rt.percent,tt.onChange({event:rt,file:_extends$8({},it),fileList:nt}))},tt.onError=function(rt,at,nt){tt.clearProgressTimer();var it=tt.state.fileList,ot=getFileItem(nt,it);ot&&(ot.error=rt,ot.response=at,ot.status="error",tt.onChange({file:_extends$8({},ot),fileList:it}))},tt.handleRemove=function(rt){var at=tt.props.onRemove,nt=tt.state.fileList;Promise.resolve(typeof at=="function"?at(rt):at).then(function(it){if(it!==!1){var ot=removeFileItem(rt,nt);ot&&(rt.status="removed",tt.upload&&tt.upload.abort(rt),tt.onChange({file:rt,fileList:ot}))}})},tt.onChange=function(rt){"fileList"in tt.props||tt.setState({fileList:rt.fileList});var at=tt.props.onChange;at&&at(rt)},tt.onFileDrop=function(rt){tt.setState({dragState:rt.type})},tt.beforeUpload=function(rt,at){var nt=tt.props.beforeUpload,it=tt.state.fileList;if(!nt)return!0;var ot=nt(rt,at);return ot===!1?(tt.onChange({file:rt,fileList:uniqBy_1(it.concat(at.map(fileToObject)),function(st){return st.uid})}),!1):ot&&ot.then?ot:!0},tt.renderUploadList=function(rt){var at=tt.props,nt=at.showUploadList,it=at.listType,ot=at.onPreview,st=at.onDownload,lt=at.previewFile,ct=at.disabled,ut=at.locale,ft=nt.showRemoveIcon,At=nt.showPreviewIcon,vt=nt.showDownloadIcon,ht=tt.state.fileList;return reactExports.createElement(UploadList,{listType:it,items:ht,previewFile:lt,onPreview:ot,onDownload:st,onRemove:tt.handleRemove,showRemoveIcon:!ct&&ft,showPreviewIcon:At,showDownloadIcon:vt,locale:_extends$8(_extends$8({},rt),ut)})},tt.renderUpload=function(rt){var at,nt=rt.getPrefixCls,it=tt.props,ot=it.prefixCls,st=it.className,lt=it.showUploadList,ct=it.listType,ut=it.type,ft=it.disabled,At=it.children,vt=it.style,ht=tt.state,bt=ht.fileList,pt=ht.dragState,dt=nt("upload",ot),_t=_extends$8(_extends$8({onStart:tt.onStart,onError:tt.onError,onProgress:tt.onProgress,onSuccess:tt.onSuccess},tt.props),{prefixCls:dt,beforeUpload:tt.beforeUpload});delete _t.className,delete _t.style,(!At||ft)&&delete _t.id;var Ct=lt?reactExports.createElement(LocaleReceiver$1,{componentName:"Upload",defaultLocale:defaultLocale$2.Upload},tt.renderUploadList):null;if(ut==="drag"){var gt,yt=classNames(dt,(gt={},_defineProperty$3(gt,"".concat(dt,"-drag"),!0),_defineProperty$3(gt,"".concat(dt,"-drag-uploading"),bt.some(function(It){return It.status==="uploading"})),_defineProperty$3(gt,"".concat(dt,"-drag-hover"),pt==="dragover"),_defineProperty$3(gt,"".concat(dt,"-disabled"),ft),gt),st);return reactExports.createElement("span",null,reactExports.createElement("div",{className:yt,onDrop:tt.onFileDrop,onDragOver:tt.onFileDrop,onDragLeave:tt.onFileDrop,style:vt},reactExports.createElement(Upload$2,_extends$8({},_t,{ref:tt.saveUpload,className:"".concat(dt,"-btn")}),reactExports.createElement("div",{className:"".concat(dt,"-drag-container")},At))),Ct)}var xt=classNames(dt,(at={},_defineProperty$3(at,"".concat(dt,"-select"),!0),_defineProperty$3(at,"".concat(dt,"-select-").concat(ct),!0),_defineProperty$3(at,"".concat(dt,"-disabled"),ft),at)),Et=reactExports.createElement("div",{className:xt,style:At?void 0:{display:"none"}},reactExports.createElement(Upload$2,_extends$8({},_t,{ref:tt.saveUpload})));return ct==="picture-card"?reactExports.createElement("span",{className:classNames(st,"".concat(dt,"-picture-card-wrapper"))},Ct,Et):reactExports.createElement("span",{className:st},Et,Ct)},tt.state={fileList:et.fileList||et.defaultFileList||[],dragState:"drop"},warning$4("fileList"in et||!("value"in et),"Upload","`value` is not validate prop, do you mean `fileList`?"),tt}return _createClass$3(_e,[{key:"componentWillUnmount",value:function(){this.clearProgressTimer()}},{key:"clearProgressTimer",value:function(){clearInterval(this.progressTimer)}},{key:"autoUpdateProgress",value:function(tt,rt){var at=this,nt=genPercentAdd(),it=0;this.clearProgressTimer(),this.progressTimer=setInterval(function(){it=nt(it),at.onProgress({percent:it*100},rt)},200)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderUpload)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"fileList"in tt?{fileList:tt.fileList||[]}:null}}]),_e}(reactExports.Component);Upload.defaultProps={type:"select",multiple:!1,action:"",data:{},accept:"",beforeUpload:T,showUploadList:!0,listType:"text",className:"",disabled:!1,supportServerRender:!0};polyfill(Upload);const Upload$1=Upload;function _typeof$3(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(_e){return typeof _e}:_typeof$3=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$3(o)}function _extends$7(){return _extends$7=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$2(o){return _getPrototypeOf$2=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$2(o)}var __rest$3=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt{const $=["id","origin","swVersion","extensionId","platform","vscode-resource-base-authority","parentOrigin"],_e={};return Object.keys(o).forEach(et=>{$.includes(et)||(_e[et]=o[et])}),_e};class SearchTracePageImpl extends reactExports.Component{constructor(){super(...arguments);Mu(this,"goToTrace",_e=>{const{queryOfResults:et}=this.props,tt=et?getUrl$2(stripEmbeddedState(et)):getUrl$2();this.props.history.push(getLocation(_e,{fromSearch:tt}))})}componentDidMount(){const{diffCohort:_e,fetchMultipleTraces:et,fetchServiceOperations:tt,fetchServices:rt,isHomepage:at,queryOfResults:nt,searchTraces:it,urlQueryParams:ot}=this.props;!at&&ot&&!isSameQuery(ot,nt)&&it(ot);const st=_e.filter(ct=>ct.state==null).map(ct=>ct.id);st.length&&et(st),rt();let{service:lt}=store_legacy.get("lastSearch")||{};ot&&ot.service&&(lt=ot.service),lt&<!=="-"&&tt(lt)}render(){const{cohortAddTrace:_e,cohortRemoveTrace:et,diffCohort:tt,embedded:rt,errors:at,isHomepage:nt,loadingServices:it,loadingTraces:ot,maxTraceDuration:st,services:lt,traceResults:ct,traceResultsToDownload:ut,queryOfResults:ft,loadJsonTraces:At,urlQueryParams:vt}=this.props,ht=ct&&ct.length>0,bt=at&&!ot,pt=nt&&!ht&&!ot&&!at;return jsxRuntimeExports.jsxs(Row,{className:"SearchTracePage--row",children:[!rt&&jsxRuntimeExports.jsx(Col,{span:6,className:"SearchTracePage--column",children:jsxRuntimeExports.jsx("div",{className:"SearchTracePage--find",children:jsxRuntimeExports.jsxs(Tabs,{size:"large",children:[jsxRuntimeExports.jsx(TabPane,{tab:"Search",children:!it&<?jsxRuntimeExports.jsx(SearchForm,{services:lt}):jsxRuntimeExports.jsx(LoadingIndicator,{})},"searchForm"),jsxRuntimeExports.jsx(TabPane,{tab:"Upload",children:jsxRuntimeExports.jsx(FileLoader,{loadJsonTraces:dt=>{At(dt)}})},"fileLoader")]})})}),jsxRuntimeExports.jsxs(Col,{span:rt?24:18,className:"SearchTracePage--column",children:[bt&&jsxRuntimeExports.jsxs("div",{className:"js-test-error-message",children:[jsxRuntimeExports.jsx("h2",{children:"There was an error querying for traces:"}),at.map(dt=>jsxRuntimeExports.jsx(ErrorMessage,{error:dt},dt.message))]}),!bt&&jsxRuntimeExports.jsx(SearchResults,{cohortAddTrace:_e,cohortRemoveTrace:et,diffCohort:tt,disableComparisons:rt,goToTrace:this.goToTrace,hideGraph:rt&&rt.searchHideGraph,loading:ot,maxTraceDuration:st,queryOfResults:ft,showStandaloneLink:!!rt,skipMessage:nt,spanLinks:vt&&vt.spanLinks,traces:ct,rawTraces:ut}),pt&&jsxRuntimeExports.jsx("img",{className:"SearchTracePage--logo js-test-logo",alt:"presentation",src:logoUrl,width:"400"})]})]})}}SearchTracePageImpl.propTypes={isHomepage:propTypesExports.bool,traceResults:propTypesExports.array,traceResultsToDownload:propTypesExports.array,diffCohort:propTypesExports.array,cohortAddTrace:propTypesExports.func,cohortRemoveTrace:propTypesExports.func,embedded:propTypesExports.shape({searchHideGraph:propTypesExports.bool}),maxTraceDuration:propTypesExports.number,loadingServices:propTypesExports.bool,loadingTraces:propTypesExports.bool,urlQueryParams:propTypesExports.shape({service:propTypesExports.string,limit:propTypesExports.string}),queryOfResults:propTypesExports.shape({service:propTypesExports.string,limit:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number])}),services:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string,operations:propTypesExports.arrayOf(propTypesExports.string)})),searchTraces:propTypesExports.func,history:propTypesExports.shape({push:propTypesExports.func}),fetchMultipleTraces:propTypesExports.func,fetchServiceOperations:propTypesExports.func,fetchServices:propTypesExports.func,errors:propTypesExports.arrayOf(propTypesExports.shape({message:propTypesExports.string})),loadJsonTraces:propTypesExports.func};const stateTraceXformer=memoizeOne$1(o=>{const{traces:$,rawTraces:_e,search:et}=o,{query:tt,results:rt,state:at,error:nt}=et,it=at===fetchedState.LOADING,ot=rt.map(lt=>$[lt].data),st=Math.max.apply(null,ot.map(lt=>lt.duration));return{traces:ot,rawTraces:_e,maxDuration:st,traceError:nt,loadingTraces:it,query:tt}}),stateTraceDiffXformer=memoizeOne$1((o,$)=>{const{traces:_e}=o,{cohort:et}=$;return et.map(tt=>_e[tt]||{id:tt})}),sortedTracesXformer=memoizeOne$1((o,$)=>{const _e=o.slice();return sortTraces(_e,$),_e}),stateServicesXformer=memoizeOne$1(o=>{const{loading:$,services:_e,operationsForService:et,error:tt}=o,rt=_e&&_e.map(at=>({name:at,operations:et[at]||[]}));return{loadingServices:$,services:rt,serviceError:tt}});function mapStateToProps$6(o){const{embedded:$,router:_e,services:et,traceDiff:tt}=o,rt=getUrlState(_e.location.search),at=sanitizeQueryParams(rt),nt=!Object.keys(rt).length,{query:it,traces:ot,rawTraces:st,maxDuration:lt,traceError:ct,loadingTraces:ut}=stateTraceXformer(o.trace),ft=stateTraceDiffXformer(o.trace,tt),{loadingServices:At,services:vt,serviceError:ht}=stateServicesXformer(et),bt=[];ct&&bt.push(ct),ht&&bt.push(ht);const pt=sortFormSelector(o,"sortBy"),dt=sortedTracesXformer(ot,pt);return{queryOfResults:it,diffCohort:ft,embedded:$,isHomepage:nt,loadingServices:At,loadingTraces:ut,services:vt,traceResults:dt,traceResultsToDownload:st,errors:bt.length?bt:null,maxTraceDuration:lt,sortTracesBy:pt,urlQueryParams:Object.keys(at).length>0?at:null}}function mapDispatchToProps$6(o){const{fetchMultipleTraces:$,fetchServiceOperations:_e,fetchServices:et,searchTraces:tt}=bindActionCreators(jaegerApiActions,o),{loadJsonTraces:rt}=bindActionCreators(fileReaderActions,o),{cohortAddTrace:at,cohortRemoveTrace:nt}=bindActionCreators(actions$3,o);return{cohortAddTrace:at,cohortRemoveTrace:nt,fetchMultipleTraces:$,fetchServiceOperations:_e,fetchServices:et,searchTraces:tt,loadJsonTraces:rt}}const SearchTracePage=connect$3(mapStateToProps$6,mapDispatchToProps$6)(SearchTracePageImpl),EmphasizedNode$1="";class EmphasizedNode extends reactExports.PureComponent{render(){const{height:$,width:_e}=this.props;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode--contrast is-non-scaling",vectorEffect:"non-scaling-stroke",width:_e,height:$}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode--contrast is-scaling",width:_e,height:$}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode is-non-scaling",vectorEffect:"non-scaling-stroke",width:_e,height:$}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode is-scaling",width:_e,height:$})]})}}var toggleSelection=function(){var o=document.getSelection();if(!o.rangeCount)return function(){};for(var $=document.activeElement,_e=[],et=0;et"u"){_e&&console.warn("unable to use e.clipboardData"),_e&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var lt=clipboardToIE11Formatting[$.format]||clipboardToIE11Formatting.default;window.clipboardData.setData(lt,o)}else st.clipboardData.clearData(),st.clipboardData.setData($.format,o);$.onCopy&&(st.preventDefault(),$.onCopy(st.clipboardData))}),document.body.appendChild(nt),rt.selectNodeContents(nt),at.addRange(rt);var ot=document.execCommand("copy");if(!ot)throw new Error("copy command was unsuccessful");it=!0}catch(st){_e&&console.error("unable to copy using execCommand: ",st),_e&&console.warn("trying IE specific stuff");try{window.clipboardData.setData($.format||"text",o),$.onCopy&&$.onCopy(window.clipboardData),it=!0}catch(lt){_e&&console.error("unable to copy using clipboardData: ",lt),_e&&console.error("falling back to prompt"),et=format("message"in $?$.message:defaultMessage),window.prompt(et,o)}}finally{at&&(typeof at.removeRange=="function"?at.removeRange(rt):at.removeAllRanges()),nt&&document.body.removeChild(nt),tt()}return it}var copyToClipboard=copy;const CopyIcon$1="";class CopyIcon extends reactExports.PureComponent{constructor(){super(...arguments),this.state={hasCopied:!1},this.handleClick=()=>{this.setState({hasCopied:!0}),copyToClipboard(this.props.copyText)},this.handleTooltipVisibilityChange=$=>{!$&&this.state.hasCopied&&this.setState({hasCopied:!1})}}render(){return jsxRuntimeExports.jsx(Tooltip$1,{arrowPointAtCenter:!0,mouseLeaveDelay:.5,onVisibleChange:this.handleTooltipVisibilityChange,placement:this.props.placement,title:this.state.hasCopied?"Copied":this.props.tooltipTitle,children:jsxRuntimeExports.jsx(Button$2,{className:classnamesExports(this.props.className,"CopyIcon"),htmlType:"button",icon:this.props.icon,onClick:this.handleClick})})}}CopyIcon.defaultProps={className:void 0,icon:"copy",placement:"left"};const renderNode$1="",abs=Math.abs,max=Math.max;class DiffNode extends reactExports.PureComponent{render(){const{a:$,b:_e,operation:et,service:tt}=this.props,rt=$===_e,at=classnamesExports({"is-same":rt,"is-changed":!rt,"is-more":_e>$&&$>0,"is-added":$===0,"is-less":$>_e&&_e>0,"is-removed":_e===0}),nt=$<_e?"+":"-",it=jsxRuntimeExports.jsx("table",{className:`DiffNode ${at}`,children:jsxRuntimeExports.jsxs("tbody",{className:"DiffNode--body",children:[jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsxs("td",{className:`DiffNode--metricCell ${at}`,rowSpan:rt?2:1,children:[rt?null:jsxRuntimeExports.jsx("span",{className:"DiffNode--metricSymbol",children:nt}),rt?$:abs(_e-$)]}),jsxRuntimeExports.jsxs("td",{className:`DiffNode--labelCell ${at}`,children:[jsxRuntimeExports.jsx("strong",{children:tt}),jsxRuntimeExports.jsx(CopyIcon,{className:"DiffNode--copyIcon",copyText:`${tt} ${et}`,tooltipTitle:"Copy label"})]})]}),jsxRuntimeExports.jsxs("tr",{children:[rt?null:jsxRuntimeExports.jsxs("td",{className:`DiffNode--metricCell ${at}`,children:[jsxRuntimeExports.jsx("span",{className:"DiffNode--metricSymbol",children:nt}),$===0||_e===0?100:abs(($-_e)/max($,_e)*100).toFixed(0),jsxRuntimeExports.jsx("span",{className:"DiffNode--metricSymbol",children:"%"})]}),jsxRuntimeExports.jsx("td",{className:`DiffNode--labelCell ${at}`,children:et})]})]})});return jsxRuntimeExports.jsx(Popover,{overlayClassName:`DiffNode--popover ${at}`,mouseEnterDelay:.25,content:it,children:it})}}function renderNode(o){const{a:$,b:_e,operation:et,service:tt}=o.data,rt=$?$.length:0,at=_e?_e.length:0;return jsxRuntimeExports.jsx(DiffNode,{a:rt,b:at,operation:et,service:tt})}function getNodeEmphasisRenderer(o){return function(_e){return o.has(_e.vertex.key)?jsxRuntimeExports.jsx(EmphasizedNode,{height:_e.height,width:_e.width}):null}}function convPlexus(o){const $=[],_e=[],et=[...o.values()];for(let tt=0;tt0||nt!=="client"||!it)return;const{operation:ot}=at;ot.indexOf(it)===0&&ot.slice(-et.length)===et&&(o.service=it)}function skipClient(o,$){const{parentID:_e,service:et,tags:tt}=o,rt=_e!=null&&$.get(_e);if(!rt)return;const at=tt[SPAN_KIND],nt=rt.tags[SPAN_KIND],it=rt.tags[PEER_SERVICE]||"";at==="server"&&nt==="client"&&rt.children.size===1&&(rt.skipToChild=rt.operation.indexOf(et)===0||it.indexOf(et)===0)}function fixHttpOperation(o,$){const{parentID:_e,operation:et,service:tt,tags:rt}=o,at=_e!=null&&$.get(_e);if(!at)return;const nt=rt[SPAN_KIND],it=rt[HTTP_METHOD];if(nt!=="server"||et!==it)return;const ot=at.tags[PEER_SERVICE]||"";if(at.operation.indexOf(tt)===0||ot.indexOf(tt)===0){const st=new RegExp(`^${tt}(::)?`),lt=at.operation.replace(st,"");o.operation=`${it} ${lt}`}}function skipAnnotationSpans(o,$){const{children:_e,parentID:et,span:tt}=o;if(_e.size!==1||tt.tags.length!==0)return;const rt=et!=null&&$.get(et),at=[..._e][0],nt=at!=null&&$.get(at);!rt||!nt||(o.skipToChild=rt.span.processID===tt.processID)}function skipClientSpans(o,$){const{children:_e,parentID:et,span:tt,tags:rt}=o;if(_e.size!==1||rt[SPAN_KIND]!=="client")return;const at=et!=null&&$.get(et),nt=[..._e][0],it=nt!=null&&$.get(nt);!at||!it||(o.skipToChild=it.tags[SPAN_KIND]==="client"&&at.span.processID===tt.processID)}function denseTransforms(o,$){fixLeafService(o,$),skipClient(o,$),fixHttpOperation(o,$),skipAnnotationSpans(o,$),skipClientSpans(o,$)}function convSpans(o){const $=new Map,_e=new Set,et=[];return o.forEach(tt=>{const{spanID:rt,operationName:at,process:nt,references:it,tags:ot}=tt;et.push(rt);const{serviceName:st}=nt,lt=ot.reduce((At,vt)=>{const{key:ht,value:bt}=vt;return At[ht]=bt,At},{});let ct=null;if(it&&it.length){const{refType:At,spanID:vt}=it[0];At!=="CHILD_OF"&&At!=="FOLLOWS_FROM"?console.warn(`Unrecognized ref type: ${At}`):ct=vt}const ut={id:rt,operation:at,parentID:ct,service:st,span:tt,tags:lt,children:new Set,skipToChild:!1},ft=ct&&$.get(ct);ft?ft.children.add(rt):_e.add(rt),$.set(rt,ut)}),{ids:et,map:$,roots:_e}}function makeDense(o,$){o.forEach(_e=>{const et=$.get(_e);et&&denseTransforms(et,$)})}class DenseTrace{constructor($){this.trace=$;const{ids:_e,map:et,roots:tt}=convSpans($.spans);makeDense(_e,et),this.rootIDs=tt,this.denseSpansMap=et}}function ancestralPathParentOrLeaf(o,$){const{children:_e,operation:et,service:tt}=o,rt=`${tt} ${et}${_e.size?"":" __LEAF__"}`;return $?`${$}\v${rt}`:rt}class TraceDag{static newFromTrace($,_e=ancestralPathParentOrLeaf){const et=new TraceDag,{denseSpansMap:tt,rootIDs:rt}=new DenseTrace($);function at(nt,it){if(!nt){console.warn("Missing dense span");return}const{children:ot,operation:st,service:lt,skipToChild:ct}=nt;let ut;ct?ut=it:(ut=_e(nt,it),(et.getNode(ut)||et.addNode(ut,it,{operation:st,service:lt,members:[]})).members.push(nt)),ot.forEach(ft=>at(tt.get(ft),ut))}return rt.forEach(nt=>at(tt.get(nt),null)),et}static diff($,_e){const et=new TraceDag;function tt(at){const nt=$.nodesMap.get(at),it=_e.nodesMap.get(at),ot=nt&&nt.parentID||it&&it.parentID||null,st=[...nt?nt.members:[],...it?it.members:[]];et.addNode(at,ot,{members:st,a:nt?nt.members:null,b:it?it.members:null,operation:nt&&nt.operation||it&&it.operation||"__UNSET__",service:nt&&nt.service||it&&it.service||"__UNSET__"})}return new Set([...$.nodesMap.keys(),..._e.nodesMap.keys()]).forEach(tt),et}constructor(){this.nodesMap=new Map,this.rootIDs=new Set}hasNode($){return this.nodesMap.has($)}getNode($){return this.nodesMap.get($)}mustGetNode($){const _e=this.getNode($);if(!_e)throw new Error(`Node not found: ${JSON.stringify($)}`);return _e}addNode($,_e,et){if(this.hasNode($))throw new Error(`Node already added: ${JSON.stringify($)}`);const tt={...et,id:$,parentID:_e,children:new Set};if(this.nodesMap.set($,tt),!_e)this.rootIDs.add($);else{const rt=this.nodesMap.get(_e);rt&&rt.children.add($)}return tt}}function filterSpans(o,$){if(!$)return null;const _e=[],et=[],tt=/"[^"]+"|[^\s]+/g,rt=o.match(tt);(rt?rt.map(lt=>lt.replace(/"(.*)"/,"$1")):[]).filter(Boolean).forEach(lt=>{lt[0]==="-"?et.push(lt.substr(1).toLowerCase()):_e.push(lt.toLowerCase())});const nt=(lt,ct)=>lt.some(ut=>ct.toLowerCase().includes(ut)),it=lt=>lt?lt.some(ct=>nt(et,ct.key)?!1:nt(_e,ct.key)||nt(_e,ct.value.toString())):!1,ot=lt=>nt(_e,lt.operationName)||nt(_e,lt.process.serviceName)||it(lt.tags)||lt.logs!==null&<.logs.some(ct=>it(ct.fields))||it(lt.process.tags)||_e.some(ct=>ct.replace(/^0*/,"")===lt.spanID.replace(/^0*/,""));return new Set($.filter(ot).map(lt=>lt.spanID))}function getUiFindVertexKeysFn(o,$){if(!o)return new Set;const _e=new Set;return $.forEach(({key:et,data:{members:tt}})=>{get_1$1(filterSpans(o,map_1(tt,"span")),"size")&&_e.add(et)}),_e}const getUiFindVertexKeys=memoizeOne$1(getUiFindVertexKeysFn);function getEdgesAndVerticesFn(o,$){const _e=TraceDag.newFromTrace(o),et=TraceDag.newFromTrace($),tt=TraceDag.diff(_e,et);return convPlexus(tt.nodesMap)}const getEdgesAndVertices=memoizeOne$1(getEdgesAndVerticesFn),TraceDiffGraph$1="",{classNameIsSmall:classNameIsSmall$1,scaleOpacity:scaleOpacity$1,scaleStrokeOpacity:scaleStrokeOpacity$1}=Digraph.propsFactories;class UnconnectedTraceDiffGraph extends reactExports.PureComponent{constructor(){super(...arguments),this.layoutManager=new LayoutManager({useDotEdges:!0,splines:"polyline"}),this.cacheAs=defaultScope.makeScope()}componentWillUnmount(){this.layoutManager.stopAndRelease()}render(){const{a:$,b:_e,uiFind:et=""}=this.props;if(!$||!_e)return jsxRuntimeExports.jsx("h1",{className:"u-mt-vast u-tx-muted ub-tx-center",children:"At least two Traces are needed"});if($.error||_e.error)return jsxRuntimeExports.jsxs("div",{className:"TraceDiffGraph--errorsWrapper",children:[$.error&&jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-my4",error:$.error,messageClassName:"TraceDiffGraph--errorMessage"}),_e.error&&jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-my4",error:_e.error,messageClassName:"TraceDiffGraph--errorMessage"})]});if($.state===fetchedState.LOADING||_e.state===fetchedState.LOADING)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});const tt=$.data,rt=_e.data;if(!tt||!rt)return jsxRuntimeExports.jsx("div",{className:"TraceDiffGraph--graphWrapper"});const{edges:at,vertices:nt}=getEdgesAndVertices(tt,rt),it=getUiFindVertexKeys(et,nt),ot=classnamesExports("TraceDiffGraph--dag",{"is-uiFind-mode":et}),st={className:"TraceDiffGraph--uiFind",suffix:et.length?String(it.size):void 0};return jsxRuntimeExports.jsxs("div",{className:"TraceDiffGraph--graphWrapper",children:[jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,className:ot,minimapClassName:"u-miniMap",layoutManager:this.layoutManager,measurableNodesKey:"nodes",layers:[{key:"emphasis-nodes",layerType:"svg",renderNode:getNodeEmphasisRenderer(it)},{key:"edges",layerType:"svg",edges:!0,defs:[{localId:"arrow"}],markerEndId:"arrow",setOnContainer:this.cacheAs("edges/container",[scaleOpacity$1,scaleStrokeOpacity$1,{stroke:"#444"}])},{renderNode,key:"nodes",measurable:!0,layerType:"html"}],setOnGraph:classNameIsSmall$1,edges:at,vertices:nt},`${$.id} vs ${_e.id}`),jsxRuntimeExports.jsx(UiFindInput,{inputProps:st})]})}}const TraceDiffGraph=connect$3(extractUiFindFromState)(UnconnectedTraceDiffGraph);function stopPropagation$1(o){o.stopPropagation()}function TraceTimelineLink({traceID:o}){return jsxRuntimeExports.jsx("a",{href:getUrl$6(o),onClick:stopPropagation$1,rel:"noopener noreferrer",target:"_blank",children:jsxRuntimeExports.jsx(NewWindowIcon,{})})}function RelativeDate(o){const{value:$,includeTime:_e,fullMonthName:et}=o,tt=hooks$1.isMoment($)?$:hooks$1($),rt=formatRelativeDate(tt,!!et),at=_e?`, ${tt.format("h:mm:ss a")}`:"";return`${rt}${at}`}const CohortTable$1="",{Column:Column$1}=Table$1,defaultRowSelection={hideDefaultSelections:!0,type:"radio"},NEED_MORE_TRACES_MESSAGE=jsxRuntimeExports.jsx("h3",{className:"CohortTable--needMoreMsg",children:"Enter a Trace ID or perform a search and select from the results."},"msg");class CohortTable extends reactExports.PureComponent{constructor(){super(...arguments),this.getCheckboxProps=$=>{const{current:_e,selection:et}=this.props,{id:tt,state:rt}=$;return rt===fetchedState.ERROR||tt in et&&tt!==_e?{disabled:!0}:{}}}render(){const{cohort:$,current:_e,selection:et,selectTrace:tt}=this.props,rt={...defaultRowSelection,getCheckboxProps:this.getCheckboxProps,onChange:at=>tt(at[0]),selectedRowKeys:_e?[_e]:[]};return[jsxRuntimeExports.jsxs(Table$1,{size:"middle",dataSource:$,rowKey:"id",pagination:!1,rowSelection:rt,children:[jsxRuntimeExports.jsx(Column$1,{title:"",dataIndex:"id",render:at=>jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:at&&at.slice(0,7)})},"traceID"),jsxRuntimeExports.jsx(Column$1,{title:"Service & Operation",sortOrder:"descend",dataIndex:"data.traceName",render:(at,nt)=>{const{data:it,error:ot,id:st,state:lt}=nt,{traceName:ct=void 0}=it||{},{label:ut=void 0}=et[st]||{};return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[ut!=null&&jsxRuntimeExports.jsx(Tag$1,{className:"ub-bold",color:"#139999",children:ut},"lbl"),jsxRuntimeExports.jsx(TraceName,{className:"CohortTable--traceName",error:ot,state:lt,traceName:ct},"name")]})}},"traceName"),jsxRuntimeExports.jsx(Column$1,{title:"Date",dataIndex:"data.startTime",render:(at,nt)=>nt.state===fetchedState.DONE&&jsxRuntimeExports.jsx(RelativeDate,{fullMonthName:!0,includeTime:!0,value:at/1e3})},"startTime"),jsxRuntimeExports.jsx(Column$1,{title:"Duration",dataIndex:"data.duration",render:(at,nt)=>nt.state===fetchedState.DONE&&formatDuration(at)},"duration"),jsxRuntimeExports.jsx(Column$1,{title:"Spans",dataIndex:"data.spans.length"},"spans"),jsxRuntimeExports.jsx(Column$1,{className:"ub-tx-center",dataIndex:"data.traceID",render:at=>jsxRuntimeExports.jsx(TraceTimelineLink,{traceID:at})},"link")]},"table"),$.length<2&&NEED_MORE_TRACES_MESSAGE]}}const TraceHeader$1="";function EmptyAttrs(){return jsxRuntimeExports.jsx("ul",{className:"TraecDiffHeader--traceAttributes",children:jsxRuntimeExports.jsx("li",{className:"TraecDiffHeader--traceAttr",children:" "})})}function Attrs(o){const{startTime:$,duration:_e,totalSpans:et}=o;return jsxRuntimeExports.jsxs("ul",{className:"TraecDiffHeader--traceAttributes",children:[jsxRuntimeExports.jsx("li",{className:"TraecDiffHeader--traceAttr",children:jsxRuntimeExports.jsx("strong",{children:jsxRuntimeExports.jsx(RelativeDate,{value:($||0)/1e3,includeTime:!0,fullMonthName:!0})})}),jsxRuntimeExports.jsxs("li",{className:"TraecDiffHeader--traceAttr",children:[jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Duration: "}),jsxRuntimeExports.jsx("strong",{children:formatDuration(_e||0)})]}),jsxRuntimeExports.jsxs("li",{className:"TraecDiffHeader--traceAttr",children:[jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Spans: "})," ",jsxRuntimeExports.jsx("strong",{children:et||0})]})]})}function TraceHeader(o){const{duration:$,error:_e,startTime:et,state:tt,traceID:rt,totalSpans:at,traceName:nt}=o,it=tt===fetchedState.DONE?Attrs:EmptyAttrs;return jsxRuntimeExports.jsxs("div",{className:"TraecDiffHeader--traceHeader",children:[jsxRuntimeExports.jsxs("h1",{className:"TraecDiffHeader--traceTitle",children:[jsxRuntimeExports.jsx("span",{children:rt?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(TraceName,{traceName:nt,error:_e,state:tt},"name")," ",jsxRuntimeExports.jsx("small",{className:"u-tx-muted ub-pr2",children:rt.slice(0,7)},"id"),jsxRuntimeExports.jsx(TraceTimelineLink,{traceID:rt})]}):jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Select a Trace..."})}),jsxRuntimeExports.jsx(IoChevronDown,{className:"TraecDiffHeader--traceTitleChevron"})]}),jsxRuntimeExports.jsx(it,{startTime:et,duration:$,totalSpans:at})]})}TraceHeader.defaultProps={error:void 0};const{Search:Search$1}=Input$1;function TraceIdInput(o){const{selectTrace:$}=o;return jsxRuntimeExports.jsx(Search$1,{addonBefore:"Select by Trace ID",enterButton:!0,onSearch:$})}const TraceDiffHeader$1="";class TraceDiffHeader extends reactExports.PureComponent{constructor($){super($),this.state={tableVisible:null},this._toggleTableA=this._toggleTable.bind(this,"a"),this._toggleTableB=this._toggleTable.bind(this,"b"),this._diffSetA=this._diffSetTrace.bind(this,"a"),this._diffSetB=this._diffSetTrace.bind(this,"b")}_toggleTable($,_e){const et=_e?$:null;this.setState({tableVisible:et})}_diffSetTrace($,_e){$==="a"?this.props.diffSetA(_e):this.props.diffSetB(_e),this.setState({tableVisible:null})}render(){const{a:$,b:_e,cohort:et}=this.props,{tableVisible:tt}=this.state,{data:rt=void 0,id:at=void 0,state:nt=void 0,error:it=void 0}=$||{},{data:ot=void 0,id:st=void 0,state:lt=void 0,error:ct=void 0}=_e||{},ut={};at&&(ut[at]={label:"A"}),st&&(ut[st]={label:"B"});const ft=jsxRuntimeExports.jsx(CohortTable,{cohort:et,current:at,selectTrace:this._diffSetA,selection:ut}),At=jsxRuntimeExports.jsx(CohortTable,{cohort:et,current:st,selectTrace:this._diffSetB,selection:ut});return jsxRuntimeExports.jsxs("header",{className:"TraecDiffHeader",children:[jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem-darkened",children:jsxRuntimeExports.jsx("h1",{className:"ub-m0",children:"A"})}),jsxRuntimeExports.jsx(Popover,{overlayClassName:"TraceDiffHeader--popover",trigger:"click",placement:"bottomLeft",title:jsxRuntimeExports.jsx(TraceIdInput,{selectTrace:this._diffSetA}),content:ft,visible:tt==="a",onVisibleChange:this._toggleTableA,children:jsxRuntimeExports.jsx("div",{className:"ub-flex u-flex-1",children:jsxRuntimeExports.jsx(TraceHeader,{duration:rt&&rt.duration,error:it,startTime:rt&&rt.startTime,state:nt,totalSpans:rt&&rt.spans&&rt.spans.length,traceID:at,traceName:rt&&rt.traceName})})}),jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem",children:jsxRuntimeExports.jsx("h2",{className:"u-tx-muted ub-mx3 ub-my0",children:"VS"})}),jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem-darkened",children:jsxRuntimeExports.jsx("h1",{className:"ub-m0",children:"B"})}),jsxRuntimeExports.jsx(Popover,{overlayClassName:"TraceDiffHeader--popover",trigger:"click",placement:"bottomLeft",title:jsxRuntimeExports.jsx(TraceIdInput,{selectTrace:this._diffSetB}),content:At,visible:tt==="b",onVisibleChange:this._toggleTableB,children:jsxRuntimeExports.jsx("div",{className:"ub-flex u-flex-1",children:jsxRuntimeExports.jsx(TraceHeader,{duration:ot&&ot.duration,error:ct,startTime:ot&&ot.startTime,state:lt,totalSpans:ot&&ot.spans&&ot.spans.length,traceID:st,traceName:ot&&ot.traceName})})})]})}}function pluckTruthy(o){const $=[];for(let _e=0;_e!it.has(st))&&_e(o)}class TraceDiffImpl extends reactExports.PureComponent{constructor(){super(...arguments),this.state={graphTopOffset:TOP_NAV_HEIGHT},this.headerWrapperElm=null,this.headerWrapperRef=$=>{this.headerWrapperElm=$,this.setGraphTopOffset()},this.diffSetA=$=>{const _e=$.toLowerCase();this.diffSetUrl({newA:_e})},this.diffSetB=$=>{const _e=$.toLowerCase();this.diffSetUrl({newB:_e})}}componentDidMount(){this.processProps()}componentDidUpdate(){this.setGraphTopOffset(),this.processProps()}setGraphTopOffset(){if(this.headerWrapperElm){const $=TOP_NAV_HEIGHT+this.headerWrapperElm.clientHeight;this.state.graphTopOffset!==$&&this.setState({graphTopOffset:$})}else this.setState({graphTopOffset:TOP_NAV_HEIGHT})}processProps(){const{a:$,b:_e,cohort:et,fetchMultipleTraces:tt,forceState:rt,tracesData:at,traceDiffState:nt}=this.props;syncStates({a:$,b:_e,cohort:et},nt,rt);const ot=et.map(st=>at.get(st)||{id:st,state:null}).filter(st=>st.state==null).map(st=>st.id);ot.length&&tt(ot)}diffSetUrl($){const{newA:_e,newB:et}=$,{a:tt,b:rt,cohort:at,history:nt}=this.props,it=getUrl$1({a:_e||tt,b:et||rt,cohort:at});nt.push(it)}render(){const{a:$,b:_e,cohort:et,tracesData:tt}=this.props,{graphTopOffset:rt}=this.state,at=$?tt.get($)||{id:$}:null,nt=_e?tt.get(_e)||{id:_e}:null,it=et.map(ot=>tt.get(ot)||{id:ot});return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{ref:this.headerWrapperRef,children:jsxRuntimeExports.jsx(TraceDiffHeader,{a:at,b:nt,cohort:it,diffSetA:this.diffSetA,diffSetB:this.diffSetB},"header")},"header"),jsxRuntimeExports.jsx("div",{className:"TraceDiff--graphWrapper",style:{top:rt},children:jsxRuntimeExports.jsx(TraceDiffGraph,{a:at,b:nt})},"graph")]})}}function mapStateToProps$5(o,$){const{a:_e,b:et}=$.match.params,{cohort:tt=[]}=queryString.parse(o.router.location.search),rt=new Set(pluckTruthy([_e,et].concat(tt))),at=Array.from(rt),{traces:nt}=o.trace,it=at.map(st=>[st,nt[st]||{id:st,state:null}]),ot=new Map(it);return{a:_e,b:et,cohort:at,tracesData:ot,traceDiffState:o.traceDiff}}function mapDispatchToProps$5(o){const{fetchMultipleTraces:$}=bindActionCreators(jaegerApiActions,o),{forceState:_e}=bindActionCreators(actions$3,o);return{fetchMultipleTraces:$,forceState:_e}}const TraceDiff=connect$3(mapStateToProps$5,mapDispatchToProps$5)(TraceDiffImpl);function baseClamp$1(o,$,_e){return o===o&&(_e!==void 0&&(o=o<=_e?o:_e),$!==void 0&&(o=o>=$?o:$)),o}var _baseClamp=baseClamp$1,baseClamp=_baseClamp,toNumber=toNumber_1;function clamp(o,$,_e){return _e===void 0&&(_e=$,$=void 0),_e!==void 0&&(_e=toNumber(_e),_e=_e===_e?_e:0),$!==void 0&&($=toNumber($),$=$===$?$:0),baseClamp(toNumber(o),$,_e)}var clamp_1=clamp;const index$f="";var Notice=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=lt&&(ot.updateKey=At[0].updateKey||At[0].key,At.shift()),At.push(ot)),{notices:At}})},tt.remove=function(ot){tt.setState(function(st){return{notices:st.notices.filter(function(lt){return lt.key!==ot})}})},et),_default$9(tt,rt)}return _default$b($,[{key:"getTransitionName",value:function(){var et=this.props,tt=et.transitionName;return!tt&&et.animation&&(tt=et.prefixCls+"-"+et.animation),tt}},{key:"render",value:function(){var et=this,tt,rt=this.props,at=this.state.notices,nt=at.map(function(ot,st){var lt=!!(st===at.length-1&&ot.updateKey),ct=ot.updateKey?ot.updateKey:ot.key,ut=createChainedFunction(et.remove.bind(et,ot.key),ot.onClose);return React$k.createElement(Notice,_default$bE({prefixCls:rt.prefixCls},ot,{key:ct,update:lt,onClose:ut,onClick:ot.onClick,closeIcon:rt.closeIcon}),ot.content)}),it=(tt={},_default$e(tt,rt.prefixCls,1),_default$e(tt,rt.className,!!rt.className),tt);return React$k.createElement("div",{className:classnamesExports(it),style:rt.style},React$k.createElement(Animate$1,{transitionName:this.getTransitionName()},nt))}}]),$}(reactExports.Component);Notification.propTypes={prefixCls:propTypesExports.string,transitionName:propTypesExports.string,animation:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),style:propTypesExports.object,maxCount:propTypesExports.number,closeIcon:propTypesExports.node};Notification.defaultProps={prefixCls:"rc-notification",animation:"fade",style:{top:65,left:"50%"}};Notification.newInstance=function o($,_e){var et=$||{},tt=et.getContainer,rt=_default$d(et,["getContainer"]),at=document.createElement("div");if(tt){var nt=tt();nt.appendChild(at)}else document.body.appendChild(at);var it=!1;function ot(st){it||(it=!0,_e({notice:function(ct){st.add(ct)},removeNotice:function(ct){st.remove(ct)},component:st,destroy:function(){ReactDOM.unmountComponentAtNode(at),at.parentNode.removeChild(at)}}))}ReactDOM.render(React$k.createElement(Notification,_default$bE({},rt,{ref:ot})),at)};function _extends$6(){return _extends$6=Object.assign||function(o){for(var $=1;$1&&arguments[1]!==void 0?arguments[1]:defaultTop,_e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:defaultBottom,et;switch(o){case"topLeft":et={left:0,top:$,bottom:"auto"};break;case"topRight":et={right:0,top:$,bottom:"auto"};break;case"bottomLeft":et={left:0,top:"auto",bottom:_e};break;default:et={right:0,top:"auto",bottom:_e};break}return et}function getNotificationInstance(o,$){var _e=o.prefixCls,et=o.placement,tt=et===void 0?defaultPlacement:et,rt=o.getContainer,at=rt===void 0?defaultGetContainer:rt,nt=o.top,it=o.bottom,ot=o.closeIcon,st=ot===void 0?defaultCloseIcon:ot,lt="".concat(_e,"-").concat(tt);if(notificationInstance[lt]){$(notificationInstance[lt]);return}var ct=reactExports.createElement("span",{className:"".concat(_e,"-close-x")},st||reactExports.createElement(Icon$1,{className:"".concat(_e,"-close-icon"),type:"close"}));Notification.newInstance({prefixCls:_e,className:"".concat(_e,"-").concat(tt),style:getPlacementStyle(tt,nt,it),getContainer:at,closeIcon:ct},function(ut){notificationInstance[lt]=ut,$(ut)})}var typeToIcon={success:"check-circle-o",info:"info-circle-o",error:"close-circle-o",warning:"exclamation-circle-o"};function notice(o){var $=o.prefixCls||"ant-notification",_e="".concat($,"-notice"),et=o.duration===void 0?defaultDuration:o.duration,tt=null;if(o.icon)tt=reactExports.createElement("span",{className:"".concat(_e,"-icon")},o.icon);else if(o.type){var rt=typeToIcon[o.type];tt=reactExports.createElement(Icon$1,{className:"".concat(_e,"-icon ").concat(_e,"-icon-").concat(o.type),type:rt})}var at=!o.description&&tt?reactExports.createElement("span",{className:"".concat(_e,"-message-single-line-auto-margin")}):null,nt=o.placement,it=o.top,ot=o.bottom,st=o.getContainer,lt=o.closeIcon;getNotificationInstance({prefixCls:$,placement:nt,top:it,bottom:ot,getContainer:st,closeIcon:lt},function(ct){ct.notice({content:reactExports.createElement("div",{className:tt?"".concat(_e,"-with-icon"):""},tt,reactExports.createElement("div",{className:"".concat(_e,"-message")},at,o.message),reactExports.createElement("div",{className:"".concat(_e,"-description")},o.description),o.btn?reactExports.createElement("span",{className:"".concat(_e,"-btn")},o.btn):null),duration:et,closable:!0,onClose:o.onClose,onClick:o.onClick,key:o.key,style:o.style||{},className:o.className})})}var api={open:notice,close:function o($){Object.keys(notificationInstance).forEach(function(_e){return notificationInstance[_e].removeNotice($)})},config:setNotificationConfig,destroy:function o(){Object.keys(notificationInstance).forEach(function($){notificationInstance[$].destroy(),delete notificationInstance[$]})}};["success","info","warning","error"].forEach(function(o){api[o]=function($){return api.open(_extends$6(_extends$6({},$),{type:o}))}});api.warn=api.warning;const notification=api,index$e="";function getNextNotifiedState(o){const{archivedState:$}=o;return $?$.isLoading?"ENotifiedState.Progress":$.isAcknowledged?null:"ENotifiedState.Outcome":null}function updateNotification(o,$,_e){if(o===$)return;if(o&¬ification.close(o),$==="ENotifiedState.Progress"){notification.info({key:"ENotifiedState.Progress",description:null,duration:0,icon:jsxRuntimeExports.jsx(Icon$1,{type:"loading"}),message:"Archiving trace..."});return}const{acknowledge:et,archivedState:tt}=_e;if($==="ENotifiedState.Outcome")if(tt&&tt.error){const{error:rt}=tt;notification.warn({key:"ENotifiedState.Outcome",className:"ArchiveNotifier--errorNotification",message:jsxRuntimeExports.jsx(Message,{error:rt,wrap:!0}),description:jsxRuntimeExports.jsx(Details,{error:rt,wrap:!0}),duration:null,icon:jsxRuntimeExports.jsx(Icon$1,{type:"clock-circle-o",className:"ArchiveNotifier--errorIcon"}),onClose:et})}else if(tt&&tt.isArchived)notification.success({key:"ENotifiedState.Outcome",description:null,duration:null,icon:jsxRuntimeExports.jsx(Icon$1,{type:"clock-circle-o",className:"ArchiveNotifier--doneIcon"}),message:"This trace has been archived.",onClose:et});else throw new Error("Unexpected condition")}function processProps(o,$){const _e=getNextNotifiedState($);return updateNotification(o,_e,$),_e}class ArchiveNotifier extends reactExports.PureComponent{constructor($){super($);const _e=processProps(null,$);this.state={notifiedState:_e}}static getDerivedStateFromProps($,_e){return{notifiedState:processProps(_e.notifiedState,$)}}componentWillUnmount(){const{notifiedState:$}=this.state;$&¬ification.close($)}render(){return null}}const initialState$4={},actionTypes$1=generateActionTypes("@jaeger-ui/archive-trace",["ACKNOWLEDGE"]),fullActions$1=createActions({[actionTypes$1.ACKNOWLEDGE]:o=>o}),actions$2={...fullActions$1.jaegerUi.archiveTrace,archiveTrace};function acknowledge(o,{payload:$}){const _e=typeof $=="string"?$:null;if(!_e)throw new Error("Invalid state, missing traceID for archive acknowledge");const et=o[_e];if(et&&et.isLoading)return o;const tt={...et,isAcknowledged:!0};return{...o,[_e]:tt}}function archiveStarted(o,{meta:$}){return{...o,[$.id]:{isLoading:!0}}}function archiveDone(o,{meta:$}){return{...o,[$.id]:{isArchived:!0,isAcknowledged:!1}}}function archiveErred(o,{meta:$,payload:_e}){if(!_e)throw new Error("Invalid state, missing API error details");const et={error:_e,isArchived:!1,isError:!0,isAcknowledged:!1};return{...o,[$.id]:et}}const archive=handleActions({[actionTypes$1.ACKNOWLEDGE]:acknowledge,[`${archiveTrace}_PENDING`]:archiveStarted,[`${archiveTrace}_FULFILLED`]:archiveDone,[`${archiveTrace}_REJECTED`]:archiveErred},initialState$4),CATEGORY_FILTER="jaeger/ux/trace/filter",CATEGORY_MATCH_INTERACTIONS="jaeger/ux/trace/match-interactions",CATEGORY_RANGE="jaeger/ux/trace/range",ACTION_FOCUS="focus",ACTION_NEXT="next",ACTION_PREV="previous",ACTION_RANGE_REFRAME="reframe",ACTION_RANGE_SHIFT="shift",trackFilter=getTrackFilter(CATEGORY_FILTER);function trackFocusMatches(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_FOCUS)}function trackNextMatch(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_NEXT)}function trackPrevMatch(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_PREV)}function getRangeAction(o,$){const[_e,et]=o,[tt,rt]=$;if(_e===tt||et===rt)return ACTION_RANGE_SHIFT;const at=(_e-tt).toPrecision(7),nt=(et-rt).toPrecision(7);return at===nt?ACTION_RANGE_SHIFT:ACTION_RANGE_REFRAME}function trackRange(o,$,_e){const et=getRangeAction($,_e);trackEvent(CATEGORY_RANGE,et,o)}var CombokeysExports={},Combokeys$1={get exports(){return CombokeysExports},set exports(o){CombokeysExports=o}},bind=function(o,$,_e){var et=this;return o=o instanceof Array?o:[o],et.bindMultiple(o,$,_e),et},bindMultiple=function(o,$,_e){for(var et=this,tt=0;tt-1)return!1;var _e=$.tagName.toLowerCase();return _e==="input"||_e==="select"||_e==="textarea"||$.isContentEditable},isModifier,hasRequiredIsModifier;function requireIsModifier(){return hasRequiredIsModifier||(hasRequiredIsModifier=1,isModifier=function(o){return o==="shift"||o==="ctrl"||o==="alt"||o==="meta"}),isModifier}var handleKey=function(o,$,_e){var et=this,tt,rt,at={},nt=0,it=!1,ot,st;for(tt=et.getMatches(o,$,_e),rt=0;rt1){rt.bindSequence(o,at,$,_e);return}nt=rt.getKeyInfo(o,_e),rt.callbacks[nt.key]=rt.callbacks[nt.key]||[],rt.getMatches(nt.key,nt.modifiers,{type:nt.action},et,o,tt),rt.callbacks[nt.key][et?"unshift":"push"]({callback:$,modifiers:nt.modifiers,action:nt.action,seq:et,level:tt,combo:o})},keysFromString,hasRequiredKeysFromString;function requireKeysFromString(){return hasRequiredKeysFromString||(hasRequiredKeysFromString=1,keysFromString=function(o){return o==="+"?["+"]:o.split("+")}),keysFromString}var specialAliases,hasRequiredSpecialAliases;function requireSpecialAliases(){return hasRequiredSpecialAliases||(hasRequiredSpecialAliases=1,specialAliases={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}),specialAliases}var shiftMap,hasRequiredShiftMap;function requireShiftMap(){return hasRequiredShiftMap||(hasRequiredShiftMap=1,shiftMap={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}),shiftMap}var getKeyInfo=function(o,$){var _e=this,et,tt,rt,at,nt=[],it,ot,st;for(et=requireKeysFromString(),tt=et(o),it=requireSpecialAliases(),ot=requireShiftMap(),st=requireIsModifier(),at=0;at95&&et<112||_e.hasOwnProperty(et)&&($.REVERSE_MAP[_e[et]]=et)}return $.REVERSE_MAP},modifiersMatch,hasRequiredModifiersMatch;function requireModifiersMatch(){return hasRequiredModifiersMatch||(hasRequiredModifiersMatch=1,modifiersMatch=function(o,$){return o.sort().join(",")===$.sort().join(",")}),modifiersMatch}var getMatches=function(o,$,_e,et,tt,rt){var at=this,nt,it,ot=[],st=_e.type,lt,ct;if(st==="keypress"&&!(_e.code&&_e.code.slice(0,5)==="Arrow")){var ut=at.callbacks["any-character"]||[];ut.forEach(function(vt){ot.push(vt)})}if(!at.callbacks[o])return ot;for(lt=requireIsModifier(),st==="keyup"&<(o)&&($=[o]),nt=0;nt{const et=o[_e];et&&$.bind(keyboardMappings[_e].binding,et)})}function reset(){getInstance().reset()}var tweenFunctions={linear:function(o,$,_e,et){var tt=_e-$;return tt*o/et+$},easeInQuad:function(o,$,_e,et){var tt=_e-$;return tt*(o/=et)*o+$},easeOutQuad:function(o,$,_e,et){var tt=_e-$;return-tt*(o/=et)*(o-2)+$},easeInOutQuad:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?tt/2*o*o+$:-tt/2*(--o*(o-2)-1)+$},easeInCubic:function(o,$,_e,et){var tt=_e-$;return tt*(o/=et)*o*o+$},easeOutCubic:function(o,$,_e,et){var tt=_e-$;return tt*((o=o/et-1)*o*o+1)+$},easeInOutCubic:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?tt/2*o*o*o+$:tt/2*((o-=2)*o*o+2)+$},easeInQuart:function(o,$,_e,et){var tt=_e-$;return tt*(o/=et)*o*o*o+$},easeOutQuart:function(o,$,_e,et){var tt=_e-$;return-tt*((o=o/et-1)*o*o*o-1)+$},easeInOutQuart:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?tt/2*o*o*o*o+$:-tt/2*((o-=2)*o*o*o-2)+$},easeInQuint:function(o,$,_e,et){var tt=_e-$;return tt*(o/=et)*o*o*o*o+$},easeOutQuint:function(o,$,_e,et){var tt=_e-$;return tt*((o=o/et-1)*o*o*o*o+1)+$},easeInOutQuint:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?tt/2*o*o*o*o*o+$:tt/2*((o-=2)*o*o*o*o+2)+$},easeInSine:function(o,$,_e,et){var tt=_e-$;return-tt*Math.cos(o/et*(Math.PI/2))+tt+$},easeOutSine:function(o,$,_e,et){var tt=_e-$;return tt*Math.sin(o/et*(Math.PI/2))+$},easeInOutSine:function(o,$,_e,et){var tt=_e-$;return-tt/2*(Math.cos(Math.PI*o/et)-1)+$},easeInExpo:function(o,$,_e,et){var tt=_e-$;return o==0?$:tt*Math.pow(2,10*(o/et-1))+$},easeOutExpo:function(o,$,_e,et){var tt=_e-$;return o==et?$+tt:tt*(-Math.pow(2,-10*o/et)+1)+$},easeInOutExpo:function(o,$,_e,et){var tt=_e-$;return o===0?$:o===et?$+tt:(o/=et/2)<1?tt/2*Math.pow(2,10*(o-1))+$:tt/2*(-Math.pow(2,-10*--o)+2)+$},easeInCirc:function(o,$,_e,et){var tt=_e-$;return-tt*(Math.sqrt(1-(o/=et)*o)-1)+$},easeOutCirc:function(o,$,_e,et){var tt=_e-$;return tt*Math.sqrt(1-(o=o/et-1)*o)+$},easeInOutCirc:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?-tt/2*(Math.sqrt(1-o*o)-1)+$:tt/2*(Math.sqrt(1-(o-=2)*o)+1)+$},easeInElastic:function(o,$,_e,et){var tt=_e-$,rt,at,nt;return nt=1.70158,at=0,rt=tt,o===0?$:(o/=et)===1?$+tt:(at||(at=et*.3),rt{this.timeoutID=void 0,this.requestID=void 0;const nt=Object.freeze(this.getCurrent());this.callbackUpdate&&this.callbackUpdate(nt),this.callbackComplete&&nt.done&&this.callbackComplete(nt),nt.done?(this.callbackComplete=void 0,this.callbackUpdate=void 0):this.requestID=window.requestAnimationFrame(this._frameCallback)},this.startTime=Date.now()+(tt||0),this.duration=$,this.from=_e,this.to=et,!rt&&!at?(this.callbackComplete=void 0,this.callbackUpdate=void 0,this.timeoutID=void 0,this.requestID=void 0):(this.callbackComplete=at,this.callbackUpdate=rt,tt?(this.timeoutID=window.setTimeout(this._frameCallback,tt),this.requestID=void 0):(this.requestID=window.requestAnimationFrame(this._frameCallback),this.timeoutID=void 0))}cancel(){this.timeoutID!=null&&(clearTimeout(this.timeoutID),this.timeoutID=void 0),this.requestID!=null&&(window.cancelAnimationFrame(this.requestID),this.requestID=void 0),this.callbackComplete=void 0,this.callbackUpdate=void 0}getCurrent(){const $=Date.now()-this.startTime;return $<=0?{done:!1,value:this.from}:$>=this.duration?{done:!0,value:this.to}:{done:!1,value:tweenFunctions_1.easeOutQuint($,this.from,this.to,this.duration)}}}const DURATION_MS=350;let lastTween;function _onTweenUpdate({done:o,value:$}){window.scrollTo(window.scrollX,$),o&&(lastTween=void 0)}function scrollBy(o,$=!1){const{scrollY:_e}=window;let et=_e;if($&&lastTween){const rt=lastTween.to<_e?"up":"down",at=o<0?"up":"down";rt===at&&(et=lastTween.to)}const tt=et+o;lastTween=new Tween({to:tt,duration:DURATION_MS,from:_e,onUpdate:_onTweenUpdate})}function scrollTo(o){const{scrollY:$}=window;lastTween=new Tween({duration:DURATION_MS,from:$,to:o,onUpdate:_onTweenUpdate})}function cancel(){lastTween&&(lastTween.cancel(),lastTween=void 0)}function isSpanHidden(o,$,_e){const et=new Set;let{references:tt}=o,rt;const at=nt=>nt.refType==="CHILD_OF"||nt.refType==="FOLLOWS_FROM"?(rt=nt.spanID,et.add(rt),$.has(rt)):!1;for(;Array.isArray(tt)&&tt.length;){const nt=tt.some(at);if(nt)return{isHidden:nt,parentIDs:et};if(!rt)break;const it=_e.get(rt);rt=void 0,tt=it&&it.references}return{parentIDs:et,isHidden:!1}}class ScrollManager{constructor($,_e){this.setAccessors=et=>{this._accessors=et},this.scrollPageDown=()=>{!this._scroller||!this._accessors||this._scroller.scrollBy(.95*this._accessors.getViewHeight(),!0)},this.scrollPageUp=()=>{!this._scroller||!this._accessors||this._scroller.scrollBy(-.95*this._accessors.getViewHeight(),!0)},this.scrollToNextVisibleSpan=()=>{this._scrollToVisibleSpan(1)},this.scrollToPrevVisibleSpan=()=>{this._scrollToVisibleSpan(-1)},this.scrollToFirstVisibleSpan=()=>{this._scrollToVisibleSpan(1,0)},this._trace=$,this._scroller=_e,this._accessors=void 0}_scrollPast($,_e){const et=this._accessors;if(!et)throw new Error("Accessors not set");const tt=_e<0,rt=et.getRowPosition($);if(!rt){console.warn("Invalid row index");return}let{y:at}=rt;const nt=et.getViewHeight();tt||(at+=rt.height,at-=nt),at+=_e*.5*nt,this._scroller.scrollTo(at)}_scrollToVisibleSpan($,_e){const et=this._accessors;if(!et)throw new Error("Accessors not set");if(!this._trace)return;const{duration:tt,spans:rt,startTime:at}=this._trace,nt=$<0;let it;_e!=null?it=_e:nt?it=et.getTopRowIndexVisible():it=et.getBottomRowIndexVisible();const ot=et.mapRowIndexToSpanIndex(it);if(ot===0&&nt||ot===rt.length-1&&!nt)return;let st=ot;ot!==0&&ot!==rt.length-1&&(st-=$);const[lt,ct]=et.getViewRange(),ut=lt!==0||ct!==1,ft=ut?at+tt*lt:NaN,At=ut?at+tt*ct:NaN,vt=et.getSearchedSpanIDs(),ht=et.getCollapsedChildren(),bt=ht?new Set(ht):null,pt=bt?new Map(rt.map(gt=>[gt.spanID,gt])):new Map,dt=$<0?-1:rt.length;let _t;for(let gt=st+$;gt!==dt;gt+=$){const yt=rt[gt],{duration:xt,spanID:Et,startTime:It}=yt,Tt=It+xt;if(!(ut&&(It>At||Ttbt.add(Mt));continue}}_t=gt;break}}if((!_t||_t===dt)&&(_t=dt-$,bt)){let gt;do{const{isHidden:yt,parentIDs:xt}=isSpanHidden(rt[_t],bt,pt);yt&&(xt.forEach(Et=>bt.add(Et)),_t--),gt=yt}while(gt)}const Ct=et.mapSpanIndexToRowIndex(_t);this._scrollPast(Ct,$)}setTrace($){this._trace=$}destroy(){this._trace=void 0,this._scroller=void 0,this._accessors=void 0}}class SubRange{constructor($,_e){this.low=$,this.high=_e,this.length=1+_e-$}overlaps($){return $.low<=this.high&&this.low<=$.high}touches($){return $.low<=this.high+1&&this.low-1<=$.high}covers($){return this.low<=$.low&&$.high<=this.high}isInside($){return $.low$+_e.length,0)}add($,_e){const et=tt=>{let rt=0;for(;rt{let rt=0;for(;rt{let at=0;for(;at{let et=_e.low;for(;et<=_e.high;)$.push(et),et++;return $},[])}subranges(){return this.ranges.map($=>({low:$.low,high:$.high,length:1+$.high-$.low}))}}var lib=DRange;let parentChildOfMap;function isError(o){if(o){const $=o.find(_e=>_e.key==="error");if($)return $.value}return!1}function mapFollowsFrom(o,$){return o.map(_e=>{let et=!0;return typeof _e.to=="number"&&(et=$[_e.to].members.some(rt=>rt.span.references&&rt.span.references.some(at=>at.refType==="CHILD_OF"))),{..._e,followsFrom:!et}})}function getChildOfSpans(o,$){return parentChildOfMap||(parentChildOfMap={},$.spans.forEach(_e=>{_e.references&&_e.references.filter(tt=>tt.refType==="CHILD_OF").map(tt=>tt.spanID).forEach(tt=>{parentChildOfMap[tt]=parentChildOfMap[tt]||[],parentChildOfMap[tt].push(_e)})})),parentChildOfMap[o]||[]}function getChildOfDrange(o,$){const _e=new lib;return getChildOfSpans(o,$).forEach(et=>{_e.add(et.startTime,et.startTime+(et.duration<=0?0:et.duration-1))}),_e}function calculateTraceDag(o){const $=TraceDag.newFromTrace(o),_e=new TraceDag;return $.nodesMap.forEach(et=>{const tt=et.members.reduce((it,ot)=>it+ot.span.duration,0),rt=et.members.reduce((it,ot)=>it+isError(ot.span.tags)?1:0,0),at=et.members.reduce((it,ot)=>{const st=new lib(ot.span.startTime,ot.span.startTime+ot.span.duration).intersect(getChildOfDrange(ot.span.spanID,o));return it+st.length},0),nt=tt-at;_e.addNode(et.id,et.parentID,{...et,count:et.members.length,errors:rt,time:tt,percent:100/o.duration*tt,selfTime:nt,percentSelfTime:100/tt*nt})}),_e}function calculateTraceDagEV(o){const $=calculateTraceDag(o),_e=[...$.nodesMap.values()],et=convPlexus($.nodesMap),tt=mapFollowsFrom(et.edges,_e);return{...et,edges:tt}}const index$d="";function _extends$5(){return _extends$5=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1(o){return _getPrototypeOf$1=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1(o)}var __rest=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt{this.setState({showHelp:!0})},this.closeSidebar=()=>{this.setState({showHelp:!1})},this.state={showHelp:!1,mode:MODE_SERVICE},this.layoutManager=new LayoutManager({totalMemory:(_e=$.traceGraphConfig)==null?void 0:_e.layoutManagerMemory,useDotEdges:!0,splines:"polyline"})}componentWillUnmount(){this.layoutManager.stopAndRelease()}toggleNodeMode($){this.setState({mode:$})}render(){const{ev:$,headerHeight:_e,uiFind:et,uiFindVertexKeys:tt}=this.props,{showHelp:rt,mode:at}=this.state;if(!$)return jsxRuntimeExports.jsx("h1",{className:"u-mt-vast u-tx-muted ub-tx-center",children:"No trace found"});const nt=classnamesExports("TraceGraph--graphWrapper",{"is-uiFind-mode":et});return jsxRuntimeExports.jsxs("div",{className:nt,style:{paddingTop:_e+47},children:[jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,className:"TraceGraph--dag",minimapClassName:"u-miniMap",layoutManager:this.layoutManager,measurableNodesKey:"nodes",layers:[{key:"node-find-emphasis",layerType:"svg",renderNode:getNodeFindEmphasisRenderer(tt)},{key:"edges",edges:!0,layerType:"svg",defs:[{localId:"arrow"}],markerEndId:"arrow",setOnContainer:[scaleOpacity,scaleStrokeOpacity],setOnEdge:setOnEdgePath},{key:"nodes-borders",layerType:"svg",setOnContainer:scaleStrokeOpacity,renderNode:renderNodeVectorBorder},{key:"nodes",layerType:"html",measurable:!0,renderNode:defaultScope(`trace-graph/nodes/render/${at}`,getNodeRenderer(at))}],setOnGraph:classNameIsSmall,edges:$.edges,vertices:$.vertices}),jsxRuntimeExports.jsx("a",{className:"TraceGraph--experimental",href:"https://github.com/jaegertracing/jaeger-ui/issues/293",target:"_blank",rel:"noopener noreferrer",children:"Experimental"}),jsxRuntimeExports.jsxs("div",{className:"TraceGraph--sidebar-container",children:[jsxRuntimeExports.jsxs("ul",{className:"TraceGraph--menu",children:[jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Icon$1,{type:"question-circle",onClick:this.showHelp})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Service",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-service",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_SERVICE),children:"S"})})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Time",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-time",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_TIME),children:"T"})})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Selftime",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-selftime",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_SELFTIME),children:"ST"})})})]}),rt&&jsxRuntimeExports.jsx(Card,{title:"Help",bordered:!1,extra:jsxRuntimeExports.jsx("a",{onClick:this.closeSidebar,role:"button",children:jsxRuntimeExports.jsx(Icon$1,{type:"close"})}),children:HELP_CONTENT})]})]})}}TraceGraph.defaultProps={ev:null};const OPEN="open",CLOSE="close";function getToggleValue(o){return o?CLOSE:OPEN}const CATEGORY_ALT_VIEW="jaeger/ux/trace/alt-view",CATEGORY_SLIM_HEADER="jaeger/ux/trace/slim-header",ACTION_GANTT="gantt",ACTION_GRAPH="graph",ACTION_JSON="json",ACTION_RAW_JSON="rawJson",ACTION_STATISTICS="traceStatistics",ACTION_TRACE_SPANS_VIEW="tracesSpansView",trackGanttView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_GANTT),trackGraphView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_GRAPH),trackJsonView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_JSON),trackRawJsonView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_RAW_JSON),trackStatisticsView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_STATISTICS),trackTraceSpansView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_TRACE_SPANS_VIEW),trackSlimHeaderToggle=o=>trackEvent(CATEGORY_SLIM_HEADER,getToggleValue(o));var baseExtremum=_baseExtremum,baseGt=_baseGt,baseIteratee$1=_baseIteratee;function maxBy(o,$){return o&&o.length?baseExtremum(o,baseIteratee$1($),baseGt):void 0}var maxBy_1=maxBy,valuesExports=requireValues();const _values=getDefaultExportFromCjs(valuesExports);var androidArrowBackExports={},androidArrowBack={get exports(){return androidArrowBackExports},set exports(o){androidArrowBackExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st(o.TraceTimelineViewer="TraceTimelineViewer",o.TraceGraph="TraceGraph",o.TraceStatistics="TraceStatistics",o.TraceSpansView="TraceSpansView",o.TraceFlamegraph="TraceFlamegraph",o))(ETraceViewType||{});const MENU_ITEMS=[{viewType:ETraceViewType.TraceTimelineViewer,label:"Trace Timeline"},{viewType:ETraceViewType.TraceGraph,label:"Trace Graph"},{viewType:ETraceViewType.TraceStatistics,label:"Trace Statistics"},{viewType:ETraceViewType.TraceSpansView,label:"Trace Spans Table"},{viewType:ETraceViewType.TraceFlamegraph,label:"Trace Flamegraph"}];function AltViewOptions(o){const{onTraceViewChange:$,viewType:_e,traceID:et}=o,tt=it=>{it===ETraceViewType.TraceTimelineViewer?trackGanttView():it===ETraceViewType.TraceGraph?trackGraphView():it===ETraceViewType.TraceStatistics?trackStatisticsView():it===ETraceViewType.TraceSpansView&&trackTraceSpansView(),$(it)},rt=jsxRuntimeExports.jsxs(Menu,{children:[MENU_ITEMS.filter(it=>it.viewType!==_e).map(it=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{onClick:()=>tt(it.viewType),role:"button",children:it.label})},it.viewType)),jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{href:`${window.apiBaseUrl}/api/traces/${et}?prettyPrint=true`,rel:"noopener noreferrer",target:"_blank",onClick:trackJsonView,children:"Trace JSON"})}),jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{href:`${window.apiBaseUrl}/api/traces/${et}?raw=true&prettyPrint=true`,rel:"noopener noreferrer",target:"_blank",onClick:trackRawJsonView,children:"Trace JSON (unadjusted)"})})]}),at=MENU_ITEMS.find(it=>it.viewType===_e),nt=at?at.label:"Alternate Views";return jsxRuntimeExports.jsx(Dropdown,{overlay:rt,children:jsxRuntimeExports.jsxs(Button$2,{className:"AltViewOptions",children:[`${nt} `,jsxRuntimeExports.jsx(Icon$1,{type:"down"})]})})}const CATEGORY="jaeger/ux/trace/kbd-modal",track$1=trackEvent.bind(null,CATEGORY,OPEN),KeyboardShortcutsHelp$1="",{Column}=Table$1,SYMBOL_CONV={up:"↑",right:"→",down:"↓",left:"←",shift:"⇧"},ODD_ROW_CLASS="KeyboardShortcutsHelp--oddRow";function convertKeys(o){return(Array.isArray(o)?o:[o]).map(_e=>_e.split("+").map(et=>SYMBOL_CONV[et]||et.toUpperCase()))}const padLeft=o=>jsxRuntimeExports.jsx("span",{className:"ub-pl4",children:o}),padRight=o=>jsxRuntimeExports.jsx("span",{className:"ub-pr4",children:o}),getRowClass=(o,$)=>$%2>0?ODD_ROW_CLASS:"";let kbdTable=null;function getHelpModal(){if(kbdTable)return kbdTable;const o=[];return Object.keys(keyboardMappings).forEach($=>{const{binding:_e,label:et}=keyboardMappings[$],tt=convertKeys(_e);o.push(...tt.map(rt=>({key:String(rt),kbds:jsxRuntimeExports.jsx("kbd",{children:rt.join(" ")}),description:et})))}),kbdTable=jsxRuntimeExports.jsxs(Table$1,{className:"KeyboardShortcutsHelp--table u-simple-scrollbars",dataSource:o,size:"middle",pagination:!1,showHeader:!1,rowClassName:getRowClass,children:[jsxRuntimeExports.jsx(Column,{title:"Description",dataIndex:"description",render:padLeft},"description"),jsxRuntimeExports.jsx(Column,{title:"Key(s)",dataIndex:"kbds",align:"right",render:padRight},"kbds")]}),kbdTable}class KeyboardShortcutsHelp extends reactExports.PureComponent{constructor(){super(...arguments),this.state={visible:!1},this.onCtaClicked=()=>{track$1(),this.setState({visible:!0})},this.onCloserClicked=()=>this.setState({visible:!1})}render(){const{className:$}=this.props;return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$2,{className:$,htmlType:"button",onClick:this.onCtaClicked,children:jsxRuntimeExports.jsx("span",{className:"KeyboardShortcutsHelp--cta",children:"⌘"})}),jsxRuntimeExports.jsx(Modal,{title:"Keyboard Shortcuts",visible:this.state.visible,onOk:this.onCloserClicked,onCancel:this.onCloserClicked,cancelButtonProps:{style:{display:"none"}},bodyStyle:{padding:0},children:getHelpModal()})]})}}const BG_COLOR="#fff",ITEM_ALPHA=.8,MIN_ITEM_HEIGHT=2,MAX_TOTAL_HEIGHT=200,MIN_ITEM_WIDTH=10,MIN_TOTAL_HEIGHT=60,MAX_ITEM_HEIGHT=6;function renderIntoCanvas(o,$,_e,et){const tt=new Map,rt=$.lengthcolorGenerator.getRgbColorByKey(o);class CanvasSpanGraph extends reactExports.PureComponent{constructor($){super($),this._setCanvasRef=_e=>{this._canvasElm=_e},this._canvasElm=void 0}componentDidMount(){this._draw()}componentDidUpdate(){this._draw()}_draw(){if(this._canvasElm){const{valueWidth:$,items:_e}=this.props;renderIntoCanvas(this._canvasElm,_e,$,getColor)}}render(){return jsxRuntimeExports.jsx("canvas",{className:"CanvasSpanGraph",ref:this._setCanvasRef})}}const TickLabels$1="";function TickLabels(o){const{numTicks:$,duration:_e}=o,et=[];for(let tt=0;tt<$+1;tt++){const rt=tt/$,at=rt===1?{right:"0%"}:{left:`${rt*100}%`};et.push(jsxRuntimeExports.jsx("div",{className:"TickLabels--label",style:at,"data-test":"tick",children:formatDuration(_e*rt)},rt))}return jsxRuntimeExports.jsx("div",{className:"TickLabels",children:et})}const GraphTicks$1="";function GraphTicks(o){const{numTicks:$}=o,_e=[];for(let et=1;et<$;et++){const tt=`${et/$*100}%`;_e.push(jsxRuntimeExports.jsx("line",{className:"GraphTick",x1:tt,y1:"0%",x2:tt,y2:"100%"},et/$))}return jsxRuntimeExports.jsx("g",{"data-test":"ticks","aria-hidden":"true",children:_e})}const Scrubber$1="";function Scrubber({isDragging:o,onMouseDown:$,onMouseEnter:_e,onMouseLeave:et,position:tt}){const rt=`${tt*100}%`,at=classnamesExports("Scrubber",{isDragging:o});return jsxRuntimeExports.jsxs("g",{className:at,children:[jsxRuntimeExports.jsxs("g",{className:"Scrubber--handles",onMouseDown:$,onMouseEnter:_e,onMouseLeave:et,children:[jsxRuntimeExports.jsx("rect",{x:rt,className:"Scrubber--handleExpansion",style:{transform:"translate(-4.5px)"},width:"9",height:"20"}),jsxRuntimeExports.jsx("rect",{x:rt,className:"Scrubber--handle",style:{transform:"translate(-1.5px)"},width:"3",height:"20"})]}),jsxRuntimeExports.jsx("line",{className:"Scrubber--line",y2:"100%",x1:rt,x2:rt})]})}const ViewingLayer$1="",dragTypes={SHIFT_END:"SHIFT_END",SHIFT_START:"SHIFT_START",REFRAME:"REFRAME"};function getNextViewLayout$1(o,$){const[_e,et]=o<$?[o,$]:[$,o];return{x:`${_e*100}%`,width:`${(et-_e)*100}%`,leadingX:`${$*100}%`}}class ViewingLayer extends reactExports.PureComponent{constructor($){super($),this._setRoot=_e=>{this._root=_e},this._getDraggingBounds=_e=>{if(!this._root)throw new Error("invalid state");const{left:et,width:tt}=this._root.getBoundingClientRect(),[rt,at]=this.props.viewRange.time.current;let nt=1,it=0;return _e===dragTypes.SHIFT_START?nt=at:_e===dragTypes.SHIFT_END&&(it=rt),{clientXLeft:et,maxValue:nt,minValue:it,width:tt}},this._handleReframeMouseMove=({value:_e})=>{this.props.updateNextViewRangeTime({cursor:_e})},this._handleReframeMouseLeave=()=>{this.props.updateNextViewRangeTime({cursor:null})},this._handleReframeDragUpdate=({value:_e})=>{const et=_e,{time:tt}=this.props.viewRange,at={reframe:{anchor:tt.reframe?tt.reframe.anchor:et,shift:et}};this.props.updateNextViewRangeTime(at)},this._handleReframeDragEnd=({manager:_e,value:et})=>{const{time:tt}=this.props.viewRange,rt=tt.reframe?tt.reframe.anchor:et,[at,nt]=et{const et=_e===EUpdateTypes.MouseEnter;this.setState({preventCursorLine:et})},this._handleScrubberDragUpdate=({event:_e,tag:et,type:tt,value:rt})=>{tt===EUpdateTypes.DragStart&&_e.stopPropagation(),et===dragTypes.SHIFT_START?this.props.updateNextViewRangeTime({shiftStart:rt}):et===dragTypes.SHIFT_END&&this.props.updateNextViewRangeTime({shiftEnd:rt})},this._handleScrubberDragEnd=({manager:_e,tag:et,value:tt})=>{const[rt,at]=this.props.viewRange.time.current;let nt;if(et===dragTypes.SHIFT_START)nt=[tt,at];else if(et===dragTypes.SHIFT_END)nt=[rt,tt];else throw new Error("bad state");_e.resetBounds(),this.setState({preventCursorLine:!1}),this.props.updateViewRangeTime(nt[0],nt[1],"minimap")},this._resetTimeZoomClickHandler=()=>{this.props.updateViewRangeTime(0,1)},this._draggerReframe=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleReframeDragEnd,onDragMove:this._handleReframeDragUpdate,onDragStart:this._handleReframeDragUpdate,onMouseMove:this._handleReframeMouseMove,onMouseLeave:this._handleReframeMouseLeave,tag:dragTypes.REFRAME}),this._draggerStart=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleScrubberDragEnd,onDragMove:this._handleScrubberDragUpdate,onDragStart:this._handleScrubberDragUpdate,onMouseEnter:this._handleScrubberEnterLeave,onMouseLeave:this._handleScrubberEnterLeave,tag:dragTypes.SHIFT_START}),this._draggerEnd=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleScrubberDragEnd,onDragMove:this._handleScrubberDragUpdate,onDragStart:this._handleScrubberDragUpdate,onMouseEnter:this._handleScrubberEnterLeave,onMouseLeave:this._handleScrubberEnterLeave,tag:dragTypes.SHIFT_END}),this._root=void 0,this.state={preventCursorLine:!1}}componentWillUnmount(){this._draggerReframe.dispose(),this._draggerEnd.dispose(),this._draggerStart.dispose()}_getMarkers($,_e,et){const tt=getNextViewLayout$1($,_e),rt=classnamesExports({isShiftDrag:et,isReframeDrag:!et});return[jsxRuntimeExports.jsx("rect",{className:`ViewingLayer--draggedShift ${rt}`,x:tt.x,y:"0",width:tt.width,height:this.props.height-2},"fill"),jsxRuntimeExports.jsx("rect",{className:`ViewingLayer--draggedEdge ${rt}`,x:tt.leadingX,y:"0",width:"1",height:this.props.height-2},"edge")]}render(){const{height:$,viewRange:_e,numTicks:et}=this.props,{preventCursorLine:tt}=this.state,{current:rt,cursor:at,shiftStart:nt,shiftEnd:it,reframe:ot}=_e.time,st=nt!=null||it!=null||ot!=null,[lt,ct]=rt;let ut=0;lt&&(ut=lt*100);let ft=100;ct&&(ft=100-ct*100);let At;return!st&&at!=null&&!tt&&(At=`${at*100}%`),jsxRuntimeExports.jsxs("div",{"aria-hidden":!0,className:"ViewingLayer",style:{height:$},children:[(lt!==0||ct!==1)&&jsxRuntimeExports.jsx(Button$2,{onClick:this._resetTimeZoomClickHandler,className:"ViewingLayer--resetZoom",htmlType:"button",children:"Reset Selection"}),jsxRuntimeExports.jsxs("svg",{height:$,className:"ViewingLayer--graph",ref:this._setRoot,onMouseDown:this._draggerReframe.handleMouseDown,onMouseLeave:this._draggerReframe.handleMouseLeave,onMouseMove:this._draggerReframe.handleMouseMove,children:[ut>0&&jsxRuntimeExports.jsx("rect",{x:0,y:0,height:"100%",width:`${ut}%`,className:"ViewingLayer--inactive"}),ft>0&&jsxRuntimeExports.jsx("rect",{x:`${100-ft}%`,y:0,height:"100%",width:`${ft}%`,className:"ViewingLayer--inactive"}),jsxRuntimeExports.jsx(GraphTicks,{numTicks:et}),At&&jsxRuntimeExports.jsx("line",{className:"ViewingLayer--cursorGuide",x1:At,y1:"0",x2:At,y2:$-2,strokeWidth:"1"}),nt!=null&&this._getMarkers(lt,nt,!0),it!=null&&this._getMarkers(ct,it,!0),jsxRuntimeExports.jsx(Scrubber,{isDragging:nt!=null,onMouseDown:this._draggerStart.handleMouseDown,onMouseEnter:this._draggerStart.handleMouseEnter,onMouseLeave:this._draggerStart.handleMouseLeave,position:lt||0}),jsxRuntimeExports.jsx(Scrubber,{isDragging:it!=null,position:ct||1,onMouseDown:this._draggerEnd.handleMouseDown,onMouseEnter:this._draggerEnd.handleMouseEnter,onMouseLeave:this._draggerEnd.handleMouseLeave}),ot!=null&&this._getMarkers(ot.anchor,ot.shift,!1)]}),st&&jsxRuntimeExports.jsx("div",{className:"ViewingLayer--fullOverlay"})]})}}const DEFAULT_HEIGHT=60,TIMELINE_TICK_INTERVAL=4;function getItem(o){return{valueOffset:o.relativeStartTime,valueWidth:o.duration,serviceName:o.process.serviceName}}function getItems(o){return o.spans.map(getItem)}const memoizedGetItems=memoizeOne$1(getItems);class SpanGraph extends reactExports.PureComponent{render(){const{height:$,trace:_e,viewRange:et,updateNextViewRangeTime:tt,updateViewRangeTime:rt}=this.props;if(!_e)return jsxRuntimeExports.jsx("div",{});const at=memoizedGetItems(_e);return jsxRuntimeExports.jsxs("div",{className:"ub-pb2 ub-px2",children:[jsxRuntimeExports.jsx(TickLabels,{numTicks:TIMELINE_TICK_INTERVAL,duration:_e.duration}),jsxRuntimeExports.jsxs("div",{className:"ub-relative",children:[jsxRuntimeExports.jsx(CanvasSpanGraph,{valueWidth:_e.duration,items:at}),jsxRuntimeExports.jsx(ViewingLayer,{viewRange:et,numTicks:TIMELINE_TICK_INTERVAL,height:$||DEFAULT_HEIGHT,updateViewRangeTime:rt,updateNextViewRangeTime:tt})]})]})}}SpanGraph.defaultProps={height:DEFAULT_HEIGHT};const IN_TRACE_SEARCH="in-trace-search",TracePageSearchBar$1="";function TracePageSearchBarFn(o){const{clearSearch:$,focusUiFindMatches:_e,forwardedRef:et,navigable:tt,nextResult:rt,prevResult:at,resultCount:nt,textFilter:it}=o,ot=it?jsxRuntimeExports.jsx("span",{className:"TracePageSearchBar--count",children:nt}):null,st=classnamesExports("TracePageSearchBar--btn",{"is-disabled":!it}),lt={"data-test":IN_TRACE_SEARCH,className:"TracePageSearchBar--bar ub-flex-auto",name:"search",suffix:ot};return jsxRuntimeExports.jsx("div",{className:"TracePageSearchBar",children:jsxRuntimeExports.jsxs(Input$1.Group,{className:"ub-justify-end",compact:!0,style:{display:"flex"},children:[jsxRuntimeExports.jsx(UiFindInput,{inputProps:lt,forwardedRef:et,trackFindFunction:trackFilter}),tt&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$2,{className:classnamesExports(st,"TracePageSearchBar--locateBtn"),disabled:!it,htmlType:"button",onClick:_e,children:jsxRuntimeExports.jsx(IoAndroidLocate,{})}),jsxRuntimeExports.jsx(Button$2,{className:st,disabled:!it,htmlType:"button",icon:"up",onClick:at}),jsxRuntimeExports.jsx(Button$2,{className:st,disabled:!it,htmlType:"button",icon:"down",onClick:rt})]}),jsxRuntimeExports.jsx(Button$2,{className:st,disabled:!it,htmlType:"button",icon:"close",onClick:$})]})})}const TracePageSearchBar=reactExports.forwardRef((o,$)=>jsxRuntimeExports.jsx(TracePageSearchBarFn,{...o,forwardedRef:$})),LabeledList$1="";function LabeledList(o){const{className:$,dividerClassName:_e,items:et}=o;return jsxRuntimeExports.jsx("ul",{className:`LabeledList ${$||""}`,children:et.map(({key:tt,label:rt,value:at},nt)=>{const it=ntet));for(let et=0;etnt===o[et].traceID&&_e.has(it)))continue;if(!$){$=o[et];continue}const rt=o[et].references&&o[et].references.length||0,at=$.references&&$.references.length||0;(rto.length?o[0].traceID:0);var baseUniq=_baseUniq;function uniq(o){return o&&o.length?baseUniq(o):[]}var uniq_1=uniq;function getParent(o){const $=o.references?o.references.find(_e=>_e.refType==="CHILD_OF"):null;return $?$.span:null}function processTemplate(o,$){if(typeof o!="string"){if(o&&Array.isArray(o.parameters)&&typeof o.template=="function")return o;throw new Error("Invalid template")}return{parameters:getParamNames(o),template:encodedStringSupplant.bind(null,o,$)}}function createTestFunction(o){if(typeof o=="string")return $=>$===o;if(Array.isArray(o))return $=>o.indexOf($)>-1;if(o instanceof RegExp)return $=>o.test($);if(typeof o=="function")return o;if(o==null)return()=>!0;throw new Error(`Invalid value: ${o}`)}const identity=o=>o;function processLinkPattern(o){try{const $=processTemplate(o.url,encodeURIComponent),_e=processTemplate(o.text,identity);return{object:o,type:createTestFunction(o.type),key:createTestFunction(o.key),value:createTestFunction(o.value),url:$,text:_e,parameters:uniq_1($.parameters.concat(_e.parameters))}}catch($){return console.error(`Ignoring invalid link pattern: ${$}`,o),null}}function getParameterInArray(o,$){if($)return $.find(_e=>_e.key===o)}function getParameterInAncestor(o,$){let _e=$;for(;_e;){const et=getParameterInArray(o,_e.tags)||getParameterInArray(o,_e.process.tags);if(et)return et;_e=getParent(_e)}}const getValidTraceKeys=memoize(10)(o=>Object.keys(o).filter(_e=>typeof o[_e]=="string"||typeof o[_e]=="number"));function getParameterInTrace(o,$){if($){const _e=getValidTraceKeys($),et=o;if(_e.includes(et))return{key:et,value:$[et]}}}function callTemplate(o,$){return o.template($)}function computeTraceLink(o,$){const _e=[];return o.filter(et=>et.type("traces")).forEach(et=>{const tt={};et.parameters.every(at=>{const nt=getParameterInTrace(at,$);return nt?(tt[at]=nt.value,!0):!1})&&_e.push({url:callTemplate(et.url,tt),text:callTemplate(et.text,tt)})}),_e}function computeLinks(o,$,_e,et,tt){const rt=_e[et];let at="logs";const nt=$.process.tags===_e;nt&&(at="process"),$.tags===_e&&(at="tags");const ot=[];return o.forEach(st=>{if(st.type(at)&&st.key(rt.key)&&st.value(rt.value)){const lt={};st.parameters.every(ut=>{let ft;return ut.startsWith("trace.")?ft=getParameterInTrace(ut.split("trace.")[1],tt):(ft=getParameterInArray(ut,_e),!ft&&!nt&&(ft=getParameterInAncestor(ut,$))),ft?(lt[ut]=ft.value,!0):(console.warn(`Skipping link pattern, missing parameter ${ut} for key ${rt.key} in ${at}.`,st.object),!1)})&&ot.push({url:callTemplate(st.url,lt),text:callTemplate(st.text,lt)})}}),ot}function createGetLinks(o,$){return(_e,et,tt,rt)=>{if(o.length===0)return[];const at=et[tt];let nt=$.get(at);return nt||(nt=computeLinks(o,_e,et,tt,rt),$.set(at,nt)),nt}}const processedLinks=(getConfigValue("linkPatterns")||[]).map(processLinkPattern).filter(Boolean),getTraceLinks=memoize(10)(o=>{const $=[];return o?computeTraceLink(processedLinks,o):$}),getLinks=createGetLinks(processedLinks,new WeakMap),TracePageHeader$1="",LinkValue$1=o=>jsxRuntimeExports.jsxs("a",{href:o.href,title:o.title,target:"_blank",rel:"noopener noreferrer",className:o.className,children:[o.children," ",jsxRuntimeExports.jsx(NewWindowIcon,{})]}),linkValueList$1=o=>jsxRuntimeExports.jsx(Menu,{children:o.map(({text:$,url:_e},et)=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(LinkValue$1,{href:_e,children:$})},`${_e}-${et}`))});function ExternalLinks(o){const{links:$}=o;return $.length===1?jsxRuntimeExports.jsx(LinkValue$1,{href:$[0].url,title:$[0].text,className:"TracePageHeader--back"}):jsxRuntimeExports.jsx(Dropdown,{overlay:linkValueList$1($),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsx("a",{className:"TracePageHeader--back",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})})}var buttonGroup={},configProvider={},localeProvider={};const require$$2$1=getAugmentedNamespace(moment);var interopDefault={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=$;function $(_e){return _e.default||_e}})(interopDefault);var locale={},_default$2={},en_USExports$1={},en_US$4={get exports(){return en_USExports$1},set exports(o){en_USExports$1=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0}),$.default={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages"},o.exports=$.default})(en_US$4,en_USExports$1);var en_US$3={},en_USExports={},en_US$2={get exports(){return en_USExports},set exports(o){en_USExports=o}};(function(o,$){$.__esModule=!0,$.default={today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},o.exports=$.default})(en_US$2,en_USExports);var en_US$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $={placeholder:"Select time"},_e=$;o.default=_e})(en_US$1);(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $=et(en_USExports),_e=et(en_US$1);function et(nt){return nt&&nt.__esModule?nt:{default:nt}}function tt(){return tt=Object.assign||function(nt){for(var it=1;it"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(xt){return!1}}function _t(xt){return _t=Object.setPrototypeOf?Object.getPrototypeOf:function(It){return It.__proto__||Object.getPrototypeOf(It)},_t(xt)}var Ct="internalMark";o.ANT_MARK=Ct;function gt(xt){xt&&xt.locale?(0,tt.default)(et).locale(xt.locale):(0,tt.default)(et).locale("en")}var yt=function(xt){At(It,xt);var Et=ht(It);function It(Tt){var Rt;return ct(this,It),Rt=Et.call(this,Tt),gt(Tt.locale),(0,rt.changeConfirmLocale)(Tt.locale&&Tt.locale.Modal),(0,at.default)(Tt._ANT_MARK__===Ct,"LocaleProvider","`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale"),Rt}return ft(It,[{key:"getChildContext",value:function(){return{antLocale:lt(lt({},this.props.locale),{exist:!0})}}},{key:"componentDidUpdate",value:function(Rt){var Ot=this.props.locale;Rt.locale!==Ot&&(gt(Ot),(0,rt.changeConfirmLocale)(Ot&&Ot.Modal))}},{key:"componentWillUnmount",value:function(){(0,rt.changeConfirmLocale)()}},{key:"render",value:function(){return this.props.children}}]),It}($.Component);o.default=yt,yt.propTypes={locale:_e.object},yt.defaultProps={locale:{}},yt.childContextTypes={antLocale:_e.object}})(localeProvider);var LocaleReceiver={},_default={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $=_e(_default$2);function _e(tt){return tt&&tt.__esModule?tt:{default:tt}}var et=$.default;o.default=et})(_default);(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $=at(reactExports),_e=at(propTypesExports),et=tt(_default);function tt(dt){return dt&&dt.__esModule?dt:{default:dt}}function rt(){if(typeof WeakMap!="function")return null;var dt=new WeakMap;return rt=function(){return dt},dt}function at(dt){if(dt&&dt.__esModule)return dt;if(dt===null||nt(dt)!=="object"&&typeof dt!="function")return{default:dt};var _t=rt();if(_t&&_t.has(dt))return _t.get(dt);var Ct={},gt=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var yt in dt)if(Object.prototype.hasOwnProperty.call(dt,yt)){var xt=gt?Object.getOwnPropertyDescriptor(dt,yt):null;xt&&(xt.get||xt.set)?Object.defineProperty(Ct,yt,xt):Ct[yt]=dt[yt]}return Ct.default=dt,_t&&_t.set(dt,Ct),Ct}function nt(dt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?nt=function(Ct){return typeof Ct}:nt=function(Ct){return Ct&&typeof Symbol=="function"&&Ct.constructor===Symbol&&Ct!==Symbol.prototype?"symbol":typeof Ct},nt(dt)}function it(){return it=Object.assign||function(dt){for(var _t=1;_t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(dt){return!1}}function bt(dt){return bt=Object.setPrototypeOf?Object.getPrototypeOf:function(Ct){return Ct.__proto__||Object.getPrototypeOf(Ct)},bt(dt)}var pt=function(dt){ct(Ct,dt);var _t=ft(Ct);function Ct(){return ot(this,Ct),_t.apply(this,arguments)}return lt(Ct,[{key:"getLocale",value:function(){var yt=this.props,xt=yt.componentName,Et=yt.defaultLocale,It=Et||et.default[xt||"global"],Tt=this.context.antLocale,Rt=xt&&Tt?Tt[xt]:{};return it(it({},typeof It=="function"?It():It),Rt||{})}},{key:"getLocaleCode",value:function(){var yt=this.context.antLocale,xt=yt&&yt.locale;return yt&&yt.exist&&!xt?et.default.locale:xt}},{key:"render",value:function(){return this.props.children(this.getLocale(),this.getLocaleCode(),this.context.antLocale)}}]),Ct}($.Component);o.default=pt,pt.defaultProps={componentName:"global"},pt.contextTypes={antLocale:_e.object}})(LocaleReceiver);var context$1={},renderEmpty={},empty$1={},empty={};(function(o){function $(nt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(ot){return typeof ot}:$=function(ot){return ot&&typeof Symbol=="function"&&ot.constructor===Symbol&&ot!==Symbol.prototype?"symbol":typeof ot},$(nt)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=tt(reactExports);function et(){if(typeof WeakMap!="function")return null;var nt=new WeakMap;return et=function(){return nt},nt}function tt(nt){if(nt&&nt.__esModule)return nt;if(nt===null||$(nt)!=="object"&&typeof nt!="function")return{default:nt};var it=et();if(it&&it.has(nt))return it.get(nt);var ot={},st=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var lt in nt)if(Object.prototype.hasOwnProperty.call(nt,lt)){var ct=st?Object.getOwnPropertyDescriptor(nt,lt):null;ct&&(ct.get||ct.set)?Object.defineProperty(ot,lt,ct):ot[lt]=nt[lt]}return ot.default=nt,it&&it.set(nt,ot),ot}var rt=function(){return _e.createElement("svg",{width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},_e.createElement("g",{fill:"none",fillRule:"evenodd"},_e.createElement("g",{transform:"translate(24 31.67)"},_e.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),_e.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),_e.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),_e.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),_e.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),_e.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),_e.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},_e.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),_e.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},at=rt;o.default=at})(empty);var simple={};(function(o){function $(nt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(ot){return typeof ot}:$=function(ot){return ot&&typeof Symbol=="function"&&ot.constructor===Symbol&&ot!==Symbol.prototype?"symbol":typeof ot},$(nt)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=tt(reactExports);function et(){if(typeof WeakMap!="function")return null;var nt=new WeakMap;return et=function(){return nt},nt}function tt(nt){if(nt&&nt.__esModule)return nt;if(nt===null||$(nt)!=="object"&&typeof nt!="function")return{default:nt};var it=et();if(it&&it.has(nt))return it.get(nt);var ot={},st=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var lt in nt)if(Object.prototype.hasOwnProperty.call(nt,lt)){var ct=st?Object.getOwnPropertyDescriptor(nt,lt):null;ct&&(ct.get||ct.set)?Object.defineProperty(ot,lt,ct):ot[lt]=nt[lt]}return ot.default=nt,it&&it.set(nt,ot),ot}var rt=function(){return _e.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},_e.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},_e.createElement("ellipse",{fill:"#F5F5F5",cx:"32",cy:"33",rx:"32",ry:"7"}),_e.createElement("g",{fillRule:"nonzero",stroke:"#D9D9D9"},_e.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),_e.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"#FAFAFA"}))))},at=rt;o.default=at})(simple);var hasRequiredEmpty;function requireEmpty(){return hasRequiredEmpty||(hasRequiredEmpty=1,function(o){function $(bt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(dt){return typeof dt}:$=function(dt){return dt&&typeof Symbol=="function"&&dt.constructor===Symbol&&dt!==Symbol.prototype?"symbol":typeof dt},$(bt)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=st(reactExports),et=it(classnamesExports$1),tt=requireConfigProvider(),rt=it(LocaleReceiver),at=it(empty),nt=it(simple);function it(bt){return bt&&bt.__esModule?bt:{default:bt}}function ot(){if(typeof WeakMap!="function")return null;var bt=new WeakMap;return ot=function(){return bt},bt}function st(bt){if(bt&&bt.__esModule)return bt;if(bt===null||$(bt)!=="object"&&typeof bt!="function")return{default:bt};var pt=ot();if(pt&&pt.has(bt))return pt.get(bt);var dt={},_t=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Ct in bt)if(Object.prototype.hasOwnProperty.call(bt,Ct)){var gt=_t?Object.getOwnPropertyDescriptor(bt,Ct):null;gt&&(gt.get||gt.set)?Object.defineProperty(dt,Ct,gt):dt[Ct]=bt[Ct]}return dt.default=bt,pt&&pt.set(bt,dt),dt}function lt(){return lt=Object.assign||function(bt){for(var pt=1;pt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(gt){return!1}}function pt(gt){return pt=Object.setPrototypeOf?Object.getPrototypeOf:function(xt){return xt.__proto__||Object.getPrototypeOf(xt)},pt(gt)}var dt=["getPopupContainer","rootPrefixCls","getPrefixCls","renderEmpty","csp","autoInsertSpaceInButton","locale","pageHeader"];o.configConsumerProps=dt;var _t=function(gt){ut(xt,gt);var yt=At(xt);function xt(){var Et;return st(this,xt),Et=yt.apply(this,arguments),Et.getPrefixCls=function(It,Tt){var Rt=Et.props.prefixCls,Ot=Rt===void 0?"ant":Rt;return Tt||(It?"".concat(Ot,"-").concat(It):Ot)},Et.renderProvider=function(It,Tt){var Rt=Et.props,Ot=Rt.children,Mt=Rt.getPopupContainer,Bt=Rt.renderEmpty,Lt=Rt.csp,Vt=Rt.autoInsertSpaceInButton,zt=Rt.locale,Nt=Rt.pageHeader,Wt=ot(ot({},It),{getPrefixCls:Et.getPrefixCls,csp:Lt,autoInsertSpaceInButton:Vt});return Mt&&(Wt.getPopupContainer=Mt),Bt&&(Wt.renderEmpty=Bt),Nt&&(Wt.pageHeader=Nt),$.createElement(tt.ConfigContext.Provider,{value:Wt},$.createElement(_e.default,{locale:zt||Tt,_ANT_MARK__:_e.ANT_MARK},Ot))},Et}return ct(xt,[{key:"render",value:function(){var It=this;return $.createElement(et.default,null,function(Tt,Rt,Ot){return $.createElement(tt.ConfigConsumer,null,function(Mt){return It.renderProvider(Mt,Ot)})})}}]),xt}($.Component),Ct=_t;o.default=Ct}(configProvider)),configProvider}(function(o){function $(ut){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(At){return typeof At}:$=function(At){return At&&typeof Symbol=="function"&&At.constructor===Symbol&&At!==Symbol.prototype?"symbol":typeof At},$(ut)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=nt(reactExports),et=rt(classnamesExports$1),tt=requireConfigProvider();function rt(ut){return ut&&ut.__esModule?ut:{default:ut}}function at(){if(typeof WeakMap!="function")return null;var ut=new WeakMap;return at=function(){return ut},ut}function nt(ut){if(ut&&ut.__esModule)return ut;if(ut===null||$(ut)!=="object"&&typeof ut!="function")return{default:ut};var ft=at();if(ft&&ft.has(ut))return ft.get(ut);var At={},vt=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var ht in ut)if(Object.prototype.hasOwnProperty.call(ut,ht)){var bt=vt?Object.getOwnPropertyDescriptor(ut,ht):null;bt&&(bt.get||bt.set)?Object.defineProperty(At,ht,bt):At[ht]=ut[ht]}return At.default=ut,ft&&ft.set(ut,At),At}function it(){return it=Object.assign||function(ut){for(var ft=1;ft{const $=reactExports.useContext(ZoomContext);return jsxRuntimeExports.jsxs(ButtonGroup,{className:o.className,children:[jsxRuntimeExports.jsx(Button$2,{onClick:()=>{$==null||$.zoomOut()},htmlType:"button",icon:"zoom-out"}),jsxRuntimeExports.jsx(Button$2,{onClick:()=>{$==null||$.zoomIn()},htmlType:"button",icon:"zoom-in"})]})},addActionPrefix=(o,$,_e)=>{const et={};return Object.entries($).forEach(([tt,rt])=>{const at=tt;et[at]=`${o}${isString$6(_e)?_e:"/"}${rt}`}),et},actions$1={GO_TO_SPAN:"GO_TO_SPAN",GET_SPANS_DATA:"GET_SPANS_DATA",SET_SPANS_DATA:"SET_SPANS_DATA",CLEAR:"CLEAR"},GLOBAL_ACTION_PREFIX="GLOBAL",globalActions=addActionPrefix(GLOBAL_ACTION_PREFIX,{CHANGE_SCOPE:"CHANGE_SCOPE",OPEN_URL_IN_DEFAULT_BROWSER:"OPEN_URL_IN_DEFAULT_BROWSER"}),HEADER_ITEMS=[{key:"timestamp",label:"Trace Start",renderer:o=>{const $=formatDatetime(o.startTime),_e=$.match(/^(.+)(\.\d+)$/);return _e?jsxRuntimeExports.jsxs("span",{className:"TracePageHeader--overviewItem--value",children:[_e[1],jsxRuntimeExports.jsx("span",{className:"TracePageHeader--overviewItem--valueDetail",children:_e[2]})]}):$}},{key:"duration",label:"Duration",renderer:o=>formatDuration(o.duration)},{key:"service-count",label:"Services",renderer:o=>new Set(_values(o.processes).map($=>$.serviceName)).size},{key:"depth",label:"Depth",renderer:o=>get_1$1(maxBy_1(o.spans,"depth"),"depth",0)+1},{key:"span-count",label:"Total Spans",renderer:o=>o.spans.length}];function TracePageHeaderFn(o){const{canCollapse:$,clearSearch:_e,focusUiFindMatches:et,forwardedRef:tt,hideMap:rt,hideSummary:at,linkToStandalone:nt,nextResult:it,onArchiveClicked:ot,onSlimViewClicked:st,onTraceViewChange:lt,prevResult:ct,resultCount:ut,showArchiveButton:ft,showShortcutsHelp:At,showStandaloneLink:vt,showViewOptions:ht,slimView:bt,textFilter:pt,toSearch:dt,trace:_t,viewType:Ct,updateNextViewRangeTime:gt,updateViewRangeTime:yt,viewRange:xt}=o;if(!_t)return null;const Et=getTraceLinks(_t),It=!at&&!bt&&HEADER_ITEMS.map(Ot=>{const{renderer:Mt,...Bt}=Ot;return{...Bt,value:Mt(_t)}}),Tt=jsxRuntimeExports.jsxs("h1",{className:`TracePageHeader--title ${$?"is-collapsible":""}`,children:[jsxRuntimeExports.jsx(TraceName,{traceName:getTraceName(_t.spans)})," ",jsxRuntimeExports.jsx("small",{className:"u-tx-muted",children:_t.traceID.slice(0,7)})]}),Rt=Ot=>{Ot.preventDefault(),window.sendMessageToDigma({action:globalActions.OPEN_URL_IN_DEFAULT_BROWSER,payload:{url:`${window.apiBaseUrl}${window.location.pathname}${window.location.search}`}})};return jsxRuntimeExports.jsxs("header",{className:"TracePageHeader",children:[jsxRuntimeExports.jsxs("div",{className:"TracePageHeader--titleRow",children:[dt&&jsxRuntimeExports.jsx(Link$1,{className:"TracePageHeader--back",to:dt,children:jsxRuntimeExports.jsx(IoAndroidArrowBack,{})}),Et&&Et.length>0&&jsxRuntimeExports.jsx(ExternalLinks,{links:Et}),$?jsxRuntimeExports.jsxs("a",{className:"TracePageHeader--titleLink",onClick:st,role:"switch","aria-checked":!bt,children:[jsxRuntimeExports.jsx(MdKeyboardArrowRight,{className:`TracePageHeader--detailToggle ${bt?"":"is-expanded"}`}),Tt]}):Tt,jsxRuntimeExports.jsx(TracePageSearchBar,{clearSearch:_e,focusUiFindMatches:et,nextResult:it,prevResult:ct,ref:tt,resultCount:ut,textFilter:pt,navigable:Ct===ETraceViewType.TraceTimelineViewer}),At&&jsxRuntimeExports.jsx(KeyboardShortcutsHelp,{className:"ub-m2"}),ht&&jsxRuntimeExports.jsx(AltViewOptions,{onTraceViewChange:lt,traceID:_t.traceID,viewType:Ct}),ft&&jsxRuntimeExports.jsxs(Button$2,{className:"ub-mr2 ub-flex ub-items-center",htmlType:"button",onClick:ot,children:[jsxRuntimeExports.jsx(IoIosFilingOutline,{className:"TracePageHeader--archiveIcon"}),"Archive Trace"]}),window.enableZoomControls&&jsxRuntimeExports.jsx(ZoomControls,{className:"TracePageHeader--zoomControls"}),vt&&window.platform==="JetBrains"?jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-mx2",to:"#",onClick:Rt,children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})}):jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-mx2",to:nt,target:"_blank",rel:"noopener noreferrer",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})]}),It&&jsxRuntimeExports.jsx(LabeledList,{className:"TracePageHeader--overviewItems",items:It}),!rt&&!bt&&jsxRuntimeExports.jsx(SpanGraph,{trace:_t,viewRange:xt,updateNextViewRangeTime:gt,updateViewRangeTime:yt})]})}const TracePageHeader=reactExports.forwardRef((o,$)=>jsxRuntimeExports.jsx(TracePageHeaderFn,{...o,forwardedRef:$}));class DetailState{constructor($){const{isTagsOpen:_e,isProcessOpen:et,isReferencesOpen:tt,isWarningsOpen:rt,logs:at}=$||{};this.isTagsOpen=!!_e,this.isProcessOpen=!!et,this.isReferencesOpen=!!tt,this.isWarningsOpen=!!rt,this.logs={isOpen:!!(at&&at.isOpen),openedItems:at&&at.openedItems?new Set(at.openedItems):new Set}}toggleTags(){const $=new DetailState(this);return $.isTagsOpen=!this.isTagsOpen,$}toggleProcess(){const $=new DetailState(this);return $.isProcessOpen=!this.isProcessOpen,$}toggleReferences(){const $=new DetailState(this);return $.isReferencesOpen=!this.isReferencesOpen,$}toggleWarnings(){const $=new DetailState(this);return $.isWarningsOpen=!this.isWarningsOpen,$}toggleLogs(){const $=new DetailState(this);return $.logs.isOpen=!this.logs.isOpen,$}toggleLogItem($){const _e=new DetailState(this);return _e.logs.openedItems.has($)?_e.logs.openedItems.delete($):_e.logs.openedItems.add($),_e}}function getFirstAncestor(o){return get_1$1(find_1(o.references,({span:$,refType:_e})=>$&&$.spanID&&(_e==="CHILD_OF"||_e==="FOLLOWS_FROM")),"span")}function spanAncestorIds(o){const $=[];if(!o)return $;let _e=getFirstAncestor(o);for(;_e;)$.push(_e.spanID),_e=getFirstAncestor(_e);return $}function shouldDisableCollapse(o,$){return o.filter(et=>et.hasChildren).length===$.size}function newInitialState(){return{childrenHiddenIDs:new Set,detailStates:new Map,hoverIndentGuideIds:new Set,shouldScrollToFirstUiFindMatch:!1,spanNameColumnWidth:parseFloat(localStorage.getItem("spanNameColumnWidth")||"0.25"),traceID:null}}const actionTypes=generateActionTypes("@jaeger-ui/trace-timeline-viewer",["ADD_HOVER_INDENT_GUIDE_ID","CHILDREN_TOGGLE","CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH","COLLAPSE_ALL","COLLAPSE_ONE","DETAIL_TOGGLE","DETAIL_TAGS_TOGGLE","DETAIL_PROCESS_TOGGLE","DETAIL_LOGS_TOGGLE","DETAIL_LOG_ITEM_TOGGLE","DETAIL_WARNINGS_TOGGLE","DETAIL_REFERENCES_TOGGLE","EXPAND_ALL","EXPAND_ONE","FOCUS_UI_FIND_MATCHES","REMOVE_HOVER_INDENT_GUIDE_ID","SET_SPAN_NAME_COLUMN_WIDTH","SET_TRACE"]),fullActions=createActions({[actionTypes.ADD_HOVER_INDENT_GUIDE_ID]:o=>({spanID:o}),[actionTypes.CHILDREN_TOGGLE]:o=>({spanID:o}),[actionTypes.CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH]:()=>({}),[actionTypes.COLLAPSE_ALL]:o=>({spans:o}),[actionTypes.COLLAPSE_ONE]:o=>({spans:o}),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:(o,$)=>({logItem:$,spanID:o}),[actionTypes.DETAIL_LOGS_TOGGLE]:o=>({spanID:o}),[actionTypes.EXPAND_ALL]:()=>({}),[actionTypes.EXPAND_ONE]:o=>({spans:o}),[actionTypes.DETAIL_PROCESS_TOGGLE]:o=>({spanID:o}),[actionTypes.DETAIL_WARNINGS_TOGGLE]:o=>({spanID:o}),[actionTypes.DETAIL_REFERENCES_TOGGLE]:o=>({spanID:o}),[actionTypes.DETAIL_TAGS_TOGGLE]:o=>({spanID:o}),[actionTypes.DETAIL_TOGGLE]:o=>({spanID:o}),[actionTypes.FOCUS_UI_FIND_MATCHES]:(o,$,_e)=>({trace:o,uiFind:$,allowHide:_e}),[actionTypes.REMOVE_HOVER_INDENT_GUIDE_ID]:o=>({spanID:o}),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:o=>({width:o}),[actionTypes.SET_TRACE]:(o,$)=>({trace:o,uiFind:$})}),actions=fullActions.jaegerUi.traceTimelineViewer;function calculateFocusedFindRowStates(o,$,_e=!0){const et=new Map,tt=new Set,rt=new Map;let at=!1;$.forEach(it=>{et.set(it.spanID,it),_e&&tt.add(it.spanID)});const nt=filterSpans(o,$);return nt&&nt.size&&(nt.forEach(it=>{const ot=et.get(it);rt.set(it,new DetailState),spanAncestorIds(ot).forEach(st=>tt.delete(st))}),at=!0),{childrenHiddenIDs:tt,detailStates:rt,shouldScrollToFirstUiFindMatch:at}}function focusUiFindMatches(o,{uiFind:$,trace:_e,allowHide:et}){return $?{...o,...calculateFocusedFindRowStates($,_e.spans,et)}:o}function clearShouldScrollToFirstUiFindMatch(o){return o.shouldScrollToFirstUiFindMatch?{...o,shouldScrollToFirstUiFindMatch:!1}:o}function setTrace(o,{uiFind:$,trace:_e}){const{traceID:et,spans:tt}=_e;if(et===o.traceID)return o;const{spanNameColumnWidth:rt}=o;return Object.assign({...newInitialState(),spanNameColumnWidth:rt,traceID:et},$?calculateFocusedFindRowStates($,tt,!1):null)}function setColumnWidth(o,{width:$}){return localStorage.setItem("spanNameColumnWidth",$.toString()),{...o,spanNameColumnWidth:$}}function childrenToggle(o,{spanID:$}){const _e=new Set(o.childrenHiddenIDs);return _e.has($)?_e.delete($):_e.add($),{...o,childrenHiddenIDs:_e}}function expandAll(o){return{...o,childrenHiddenIDs:new Set}}function collapseAll(o,{spans:$}){if(shouldDisableCollapse($,o.childrenHiddenIDs))return o;const _e=$.reduce((et,tt)=>(tt.hasChildren&&et.add(tt.spanID),et),new Set);return{...o,childrenHiddenIDs:_e}}function collapseOne(o,{spans:$}){if(shouldDisableCollapse($,o.childrenHiddenIDs))return o;let _e;const et=$.reduce((tt,rt)=>(_e&&rt.depth<=_e.depth?(tt.add(_e.spanID),rt.hasChildren&&(_e=rt)):rt.hasChildren&&!tt.has(rt.spanID)&&(_e=rt),tt),new Set(o.childrenHiddenIDs));return _e&&et.add(_e.spanID),{...o,childrenHiddenIDs:et}}function expandOne(o,{spans:$}){if(o.childrenHiddenIDs.size===0)return o;let _e=-1,et=!0;const tt=$.reduce((rt,at)=>(at.depth<=_e&&(et=!0),et&&rt.has(at.spanID)&&(rt.delete(at.spanID),et=!1,_e=at.depth),rt),new Set(o.childrenHiddenIDs));return{...o,childrenHiddenIDs:tt}}function detailToggle(o,{spanID:$}){const _e=new Map(o.detailStates);return _e.has($)?_e.delete($):_e.set($,new DetailState),{...o,detailStates:_e}}function detailSubsectionToggle(o,$,{spanID:_e}){const et=$.detailStates.get(_e);if(!et)return $;let tt;o==="tags"?tt=et.toggleTags():o==="process"?tt=et.toggleProcess():o==="warnings"?tt=et.toggleWarnings():o==="references"?tt=et.toggleReferences():tt=et.toggleLogs();const rt=new Map($.detailStates);return rt.set(_e,tt),{...$,detailStates:rt}}const detailTagsToggle=detailSubsectionToggle.bind(null,"tags"),detailProcessToggle=detailSubsectionToggle.bind(null,"process"),detailLogsToggle=detailSubsectionToggle.bind(null,"logs"),detailWarningsToggle=detailSubsectionToggle.bind(null,"warnings"),detailReferencesToggle=detailSubsectionToggle.bind(null,"references");function detailLogItemToggle(o,{spanID:$,logItem:_e}){const et=o.detailStates.get($);if(!et)return o;const tt=et.toggleLogItem(_e),rt=new Map(o.detailStates);return rt.set($,tt),{...o,detailStates:rt}}function addHoverIndentGuideId(o,{spanID:$}){const _e=new Set(o.hoverIndentGuideIds);return _e.add($),{...o,hoverIndentGuideIds:_e}}function removeHoverIndentGuideId(o,{spanID:$}){const _e=new Set(o.hoverIndentGuideIds);return _e.delete($),{...o,hoverIndentGuideIds:_e}}const traceTimeline=handleActions({[actionTypes.ADD_HOVER_INDENT_GUIDE_ID]:guardReducer(addHoverIndentGuideId),[actionTypes.CHILDREN_TOGGLE]:guardReducer(childrenToggle),[actionTypes.CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH]:guardReducer(clearShouldScrollToFirstUiFindMatch),[actionTypes.COLLAPSE_ALL]:guardReducer(collapseAll),[actionTypes.COLLAPSE_ONE]:guardReducer(collapseOne),[actionTypes.DETAIL_LOGS_TOGGLE]:guardReducer(detailLogsToggle),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:guardReducer(detailLogItemToggle),[actionTypes.DETAIL_PROCESS_TOGGLE]:guardReducer(detailProcessToggle),[actionTypes.DETAIL_WARNINGS_TOGGLE]:guardReducer(detailWarningsToggle),[actionTypes.DETAIL_REFERENCES_TOGGLE]:guardReducer(detailReferencesToggle),[actionTypes.DETAIL_TAGS_TOGGLE]:guardReducer(detailTagsToggle),[actionTypes.DETAIL_TOGGLE]:guardReducer(detailToggle),[actionTypes.EXPAND_ALL]:guardReducer(expandAll),[actionTypes.EXPAND_ONE]:guardReducer(expandOne),[actionTypes.FOCUS_UI_FIND_MATCHES]:guardReducer(focusUiFindMatches),[actionTypes.REMOVE_HOVER_INDENT_GUIDE_ID]:guardReducer(removeHoverIndentGuideId),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:guardReducer(setColumnWidth),[actionTypes.SET_TRACE]:guardReducer(setTrace)},newInitialState()),TimelineCollapser$1="";function getTitle(o){return jsxRuntimeExports.jsx("span",{className:"TimelineCollapser--tooltipTitle",children:o})}class TimelineCollapser extends React$k.PureComponent{constructor($){super($),this.getContainer=()=>this.containerRef.current||document.createElement("div"),this.containerRef=React$k.createRef()}render(){const{onExpandAll:$,onExpandOne:_e,onCollapseAll:et,onCollapseOne:tt}=this.props;return jsxRuntimeExports.jsxs("div",{className:"TimelineCollapser",ref:this.containerRef,children:[jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Expand +1"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"right",onClick:_e,className:"TimelineCollapser--btn-expand"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Collapse +1"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"right",onClick:tt,className:"TimelineCollapser--btn"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Expand All"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"double-right",onClick:$,className:"TimelineCollapser--btn-expand"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Collapse All"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"double-right",onClick:et,className:"TimelineCollapser--btn"})})]})}}const TimelineViewingLayer$1="";function isOutOfView(o){return Reflect.has(o,"isOutOfView")}function mapFromViewSubRange(o,$,_e){return o+_e*($-o)}function mapToViewSubRange(o,$,_e){return(_e-o)/($-o)}function getNextViewLayout(o,$){let[_e,et]=o<$?[o,$]:[$,o];return _e>=1||et<=0?{isOutOfView:!0}:(_e<0&&(_e=0),et>1&&(et=1),{isDraggingLeft:o>$,left:`${_e*100}%`,width:`${(et-_e)*100}%`})}function getMarkers(o,$,_e,et,tt){const rt=mapToViewSubRange(o,$,_e),at=mapToViewSubRange(o,$,et),nt=getNextViewLayout(rt,at);if(isOutOfView(nt))return null;const{isDraggingLeft:it,left:ot,width:st}=nt,lt=classnamesExports({isDraggingLeft:it,isDraggingRight:!it,isReframeDrag:!tt,isShiftDrag:tt});return jsxRuntimeExports.jsx("div",{className:`TimelineViewingLayer--dragged ${lt}`,style:{left:ot,width:st}})}class TimelineViewingLayer extends reactExports.PureComponent{constructor($){super($),this._getDraggingBounds=()=>{const _e=this._root.current;if(!_e)throw new Error("Component must be mounted in order to determine DraggableBounds");const{left:et,width:tt}=_e.getBoundingClientRect();return{clientXLeft:et,width:tt}},this._handleReframeMouseMove=({value:_e})=>{const[et,tt]=this.props.viewRangeTime.current,rt=mapFromViewSubRange(et,tt,_e);this.props.updateNextViewRangeTime({cursor:rt})},this._handleReframeMouseLeave=()=>{this.props.updateNextViewRangeTime({cursor:void 0})},this._getAnchorAndShift=_e=>{const{current:et,reframe:tt}=this.props.viewRangeTime,[rt,at]=et,nt=mapFromViewSubRange(rt,at,_e);return{anchor:tt?tt.anchor:nt,shift:nt}},this._handleReframeDragUpdate=({value:_e})=>{const{anchor:et,shift:tt}=this._getAnchorAndShift(_e),rt={reframe:{anchor:et,shift:tt}};this.props.updateNextViewRangeTime(rt)},this._handleReframeDragEnd=({manager:_e,value:et})=>{const{anchor:tt,shift:rt}=this._getAnchorAndShift(et),[at,nt]=rt=nt&&et<=it&&(st=`${mapToViewSubRange(nt,it,et)*100}%`),jsxRuntimeExports.jsxs("div",{"aria-hidden":!0,className:"TimelineViewingLayer",ref:this._root,onMouseDown:this._draggerReframe.handleMouseDown,onMouseLeave:this._draggerReframe.handleMouseLeave,onMouseMove:this._draggerReframe.handleMouseMove,children:[st!=null&&jsxRuntimeExports.jsx("div",{className:"TimelineViewingLayer--cursorGuide",style:{left:st}}),tt!=null&&getMarkers(nt,it,tt.anchor,tt.shift,!1),rt!=null&&getMarkers(nt,it,it,rt,!0),at!=null&&getMarkers(nt,it,nt,at,!0)]})}}function createViewedBoundsFunc(o){const{min:$,max:_e,viewStart:et,viewEnd:tt}=o,rt=_e-$,at=$+et*rt,it=_e-(1-tt)*rt-at;return(ot,st)=>({start:(ot-at)/it,end:(st-at)/it})}function spanHasTag(o,$,_e){return!Array.isArray(_e.tags)||!_e.tags.length?!1:_e.tags.some(et=>et.key===o&&et.value===$)}const isClientSpan=spanHasTag.bind(null,"span.kind","client"),isServerSpan=spanHasTag.bind(null,"span.kind","server"),isErrorBool=spanHasTag.bind(null,"error",!0),isErrorStr=spanHasTag.bind(null,"error","true"),isErrorSpan=o=>isErrorBool(o)||isErrorStr(o);function spanContainsErredSpan(o,$){const{depth:_e}=o[$];let et=$+1;for(;et_e;et++)if(isErrorSpan(o[et]))return!0;return!1}function findServerChildSpan(o){if(o.length<=1||!isClientSpan(o[0]))return!1;const _e=o[0].depth+1;let et=1;for(;eto.tags.some(({key:$,value:_e})=>$==="span.kind"&&_e==="client"),Ticks$1="";function Ticks(o){const{endTime:$,numTicks:_e,showLabels:et,startTime:tt}=o;let rt;if(et){rt=[];const nt=($||0)-(tt||0);for(let it=0;it<_e;it++){const ot=(tt||0)+it/(_e-1)*nt;rt.push(formatDuration(ot))}}const at=[];for(let nt=0;nt<_e;nt++){const it=nt/(_e-1);at.push(jsxRuntimeExports.jsx("div",{className:"Ticks--tick",style:{left:`${it*100}%`},children:rt&&jsxRuntimeExports.jsx("span",{className:`Ticks--tickLabel ${it>=1?"isEndAnchor":""}`,children:rt[nt]})},it))}return jsxRuntimeExports.jsx("div",{className:"Ticks",children:at})}Ticks.defaultProps={endTime:null,showLabels:null,startTime:null};const TimelineRow$1="";function TimelineRow(o){const{children:$,className:_e="",...et}=o;return jsxRuntimeExports.jsx("div",{className:`flex-row ${_e}`,...et,children:$})}TimelineRow.defaultProps={className:""};function TimelineRowCell(o){const{children:$,className:_e="",width:et,style:tt,...rt}=o,at=`${et*100}%`,nt={...tt,flexBasis:at,maxWidth:at};return jsxRuntimeExports.jsx("div",{className:`ub-relative ${_e}`,style:nt,...rt,children:$})}TimelineRowCell.defaultProps={className:"",style:{}};TimelineRow.Cell=TimelineRowCell;const TimelineHeaderRow="";class ActionDispatcher{constructor(){this.actions={}}addActionListener($,_e){this.actions[$]?this.actions[$].push(_e):this.actions[$]=[_e]}removeActionListener($,_e){this.actions[$]&&(this.actions[$]=this.actions[$].filter(et=>et!==_e)),this.actions[$].length===0&&delete this.actions[$]}dispatch($,_e,et,tt){this.actions[_e]&&this.actions[_e].forEach(rt=>rt(et,$,tt))}}const dispatcher=new ActionDispatcher,state={pendingOperationsCount:0,spans:{}},updateState=(o,$)=>{switch(o){case actions$1.GET_SPANS_DATA:state.pendingOperationsCount++;break;case actions$1.SET_SPANS_DATA:state.spans=$,state.pendingOperationsCount--;break;case actions$1.CLEAR:state.spans={},state.pendingOperationsCount--;break}};let SpanDetailRow$2=class extends reactExports.PureComponent{constructor($){super($),this._updateIsLoading=this._updateIsLoading.bind(this),this.state={isLoading:!!state.pendingOperationsCount}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateIsLoading)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateIsLoading)}_updateIsLoading(){this.setState({isLoading:!1})}render(){const{duration:$,nameColumnWidth:_e,numTicks:et,onCollapseAll:tt,onCollapseOne:rt,onColummWidthChange:at,onExpandAll:nt,onExpandOne:it,updateViewRangeTime:ot,updateNextViewRangeTime:st,viewRangeTime:lt}=this.props,[ct,ut]=lt.current;return jsxRuntimeExports.jsxs(TimelineRow,{className:"TimelineHeaderRow",children:[jsxRuntimeExports.jsxs(TimelineRow.Cell,{className:"ub-flex ub-px2",width:_e,children:[jsxRuntimeExports.jsx("h3",{className:"TimelineHeaderRow--title",children:"Service & Operation"}),this.state.isLoading&&jsxRuntimeExports.jsxs("div",{className:"ub-flex TimelineHeaderRow--loading",children:[jsxRuntimeExports.jsx(LoadingIndicator,{className:"is-medium"}),jsxRuntimeExports.jsx("span",{className:"TimelineHeaderRow--loading-text",children:"Loading data..."})]}),jsxRuntimeExports.jsx(TimelineCollapser,{onCollapseAll:tt,onExpandAll:nt,onCollapseOne:rt,onExpandOne:it})]}),jsxRuntimeExports.jsxs(TimelineRow.Cell,{width:1-_e,children:[jsxRuntimeExports.jsx(TimelineViewingLayer,{boundsInvalidator:_e,updateNextViewRangeTime:st,updateViewRangeTime:ot,viewRangeTime:lt}),jsxRuntimeExports.jsx(Ticks,{numTicks:et,startTime:ct*$,endTime:ut*$,showLabels:!0})]}),jsxRuntimeExports.jsx(VerticalResizer,{position:_e,onChange:at,min:.15,max:.85})]})}};class Positions{constructor($){this.ys=[],this.heights=[],this.bufferLen=$,this.dataLen=-1,this.lastI=-1}profileData($){$!==this.dataLen&&(this.dataLen=$,this.ys.length=$,this.heights.length=$,this.lastI>=$&&(this.lastI=$-1))}calcHeights($,_e,et){et!=null&&(this.lastI=et);let tt=$+this.bufferLen;if(tt<=this.lastI)return;tt>=this.heights.length&&(tt=this.heights.length-1);let rt=this.lastI;for(this.lastI===-1&&(rt=0,this.ys[0]=0);rt<=tt;){const at=this.heights[rt]=_e(rt);this.ys[rt+1]=this.ys[rt]+at,rt++}this.lastI=tt}calcYs($,_e){for(;(this.ys[this.lastI]==null||$>this.ys[this.lastI])&&this.lastIthis.lastI){this.calcHeights(et,_e);return}const tt=_e(et);if(tt===this.heights[et])return;const rt=tt-this.heights[et];for(this.heights[et]=tt;++et<=this.lastI;)this.ys[et]+=rt;this.ys[this.lastI+1]!=null&&(this.ys[this.lastI+1]+=rt)}findFloorIndex($,_e){this.calcYs($,_e);let et=0,tt=this.lastI;if(this.ys.length<2||$this.ys[tt])return tt;let rt;for(;etthis.ys[rt]){if($<=this.ys[rt+1])return rt;et=rt}else if($=this.ys[rt-1])return rt-1;tt=rt}else return rt;throw new Error(`unable to find floor index for y=${$}`)}getRowPosition($,_e){return this.confirmHeight($,_e),{height:this.heights[$],y:this.ys[$]}}getEstimatedHeight(){const $=this.ys[this.lastI]+this.heights[this.lastI];return this.lastI>=this.dataLen-1?$|0:$/(this.lastI+1)*this.heights.length|0}}const DEFAULT_INITIAL_DRAW=300;class ListView extends reactExports.Component{constructor($){super($),this.getViewHeight=()=>this._viewHeight,this.getBottomVisibleIndex=()=>{const _e=this._scrollTop+this._viewHeight;return this._yPositions.findFloorIndex(_e,this._getHeight)},this.getTopVisibleIndex=()=>this._yPositions.findFloorIndex(this._scrollTop,this._getHeight),this.getRowPosition=_e=>this._yPositions.getRowPosition(_e,this._getHeight),this._onScroll=()=>{this._isScrolledOrResized||(this._isScrolledOrResized=!0,window.requestAnimationFrame(this._positionList))},this._positionList=()=>{if(this._isScrolledOrResized=!1,!this._wrapperElm)return;this._calcViewIndexes();const _e=this.props.viewBufferMin>this._startIndex?0:this._startIndex-this.props.viewBufferMin,et=this.props.viewBufferMinthis._endIndexDrawn)&&this.forceUpdate()},this._initWrapper=_e=>{this._wrapperElm=_e,!this.props.windowScroller&&_e&&(this._viewHeight=_e.clientHeight)},this._initItemHolder=_e=>{this._itemHolderElm=_e,this._scanItemHeights()},this._scanItemHeights=()=>{const _e=this.props.getIndexFromKey;if(!this._itemHolderElm)return;let et=null,tt=null,rt=!1;const at=this._itemHolderElm.childNodes,nt=at.length;for(let it=0;it{const et=this.props.getKeyFromIndex(_e),tt=this._knownHeights.get(et);return tt!=null&&tt===tt?tt:this.props.itemHeightGetter(_e,et)},this._yPositions=new Positions(200),this._knownHeights=new Map,this._startIndexDrawn=2**20,this._endIndexDrawn=-(2**20),this._startIndex=0,this._endIndex=0,this._viewHeight=-1,this._scrollTop=-1,this._isScrolledOrResized=!1,this._htmlTopOffset=-1,this._windowScrollListenerAdded=!1,this._htmlElm=document.documentElement,this._wrapperElm=void 0,this._itemHolderElm=void 0}componentDidMount(){if(this.props.windowScroller){if(this._wrapperElm){const{top:$}=this._wrapperElm.getBoundingClientRect();this._htmlTopOffset=$+this._htmlElm.scrollTop}window.addEventListener("scroll",this._onScroll),this._windowScrollListenerAdded=!0}}componentDidUpdate(){this._itemHolderElm&&this._scanItemHeights()}componentWillUnmount(){this._windowScrollListenerAdded&&window.removeEventListener("scroll",this._onScroll)}_isViewChanged(){if(!this._wrapperElm)return!1;const $=this.props.windowScroller,_e=$?this._htmlElm.clientHeight:this._wrapperElm.clientHeight,et=$?this._htmlElm.scrollTop:this._wrapperElm.scrollTop;return _e!==this._viewHeight||et!==this._scrollTop}_calcViewIndexes(){if(this.props.windowScroller)this._viewHeight=window.innerHeight-this._htmlTopOffset,this._scrollTop=window.scrollY;else{if(!this._wrapperElm){this._viewHeight=-1,this._startIndex=0,this._endIndex=0;return}this._viewHeight=this._wrapperElm.clientHeight,this._scrollTop=this._wrapperElm.scrollTop}const _e=this._scrollTop,et=this._scrollTop+this._viewHeight;this._startIndex=this._yPositions.findFloorIndex(_e,this._getHeight),this._endIndex=this._yPositions.findFloorIndex(et,this._getHeight)}render(){const{dataLength:$,getKeyFromIndex:_e,initialDraw:et=DEFAULT_INITIAL_DRAW,itemRenderer:tt,viewBuffer:rt,viewBufferMin:at}=this.props,nt=this._getHeight,it=[];let ot,st;if(this._yPositions.profileData($),!this._wrapperElm)ot=0,st=(et<$?et:$)-1;else{this._isViewChanged()&&this._calcViewIndexes();const ut=at>this._startIndex?0:this._startIndex-at,ft=at<$-this._endIndex?this._endIndex+at:$-1;utthis._endIndexDrawn?(ot=rt>this._startIndex?0:this._startIndex-rt,st=this._endIndex+rt,st>=$&&(st=$-1)):(ot=this._startIndexDrawn,st=this._endIndexDrawn>$-1?$-1:this._endIndexDrawn)}this._yPositions.calcHeights(st,nt,ot||-1),this._startIndexDrawn=ot,this._endIndexDrawn=st,it.length=st-ot+1;for(let ut=ot;ut<=st;ut++){const{y:ft,height:At}=this._yPositions.getRowPosition(ut,nt),vt={height:At,top:ft,position:"absolute"},ht=_e(ut),bt={"data-item-key":ht};it.push(tt(ht,vt,ut,bt))}const lt={style:{position:"relative"},ref:this._initWrapper};this.props.windowScroller||(lt.onScroll=this._onScroll,lt.style.height="100%",lt.style.overflowY="auto");const ct={position:"relative",height:this._yPositions.getEstimatedHeight()};return jsxRuntimeExports.jsx("div",{...lt,children:jsxRuntimeExports.jsx("div",{style:ct,children:jsxRuntimeExports.jsx("div",{style:{position:"absolute",top:0,margin:0,padding:0},className:this.props.itemsWrapperClassName,ref:this._initItemHolder,children:it})})})}}ListView.defaultProps={initialDraw:DEFAULT_INITIAL_DRAW,itemsWrapperClassName:"",windowScroller:!1};var arrowRightAExports={},arrowRightA={get exports(){return arrowRightAExports},set exports(o){arrowRightAExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;sttt($.spanID),className:et,...rt,children:_e}):jsxRuntimeExports.jsx("a",{href:getUrl$6($.traceID,$.spanID),target:"_blank",rel:"noopener noreferrer",className:et,...rt,children:_e})}class ReferencesButton extends React$k.PureComponent{constructor(){super(...arguments),this.referencesList=$=>jsxRuntimeExports.jsx(Menu,{children:$.map(_e=>{const{span:et,spanID:tt}=_e;return jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsxs(ReferenceLink,{reference:_e,focusSpan:this.props.focusSpan,className:"ReferencesButton--TraceRefLink",children:[et?`${et.process.serviceName}:${et.operationName} - ${_e.spanID}`:`(another trace) - ${_e.spanID}`,!et&&jsxRuntimeExports.jsx(NewWindowIcon,{})]})},`${tt}`)})})}render(){const{references:$,children:_e,tooltipText:et,focusSpan:tt}=this.props,rt={arrowPointAtCenter:!0,mouseLeaveDelay:.5,placement:"bottom",title:et,overlayClassName:"ReferencesButton--tooltip"};if($.length>1)return jsxRuntimeExports.jsx(Tooltip$1,{...rt,children:jsxRuntimeExports.jsx(Dropdown,{overlay:this.referencesList($),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsx("a",{className:"ReferencesButton-MultiParent",children:_e})})});const at=$[0];return jsxRuntimeExports.jsx(Tooltip$1,{...rt,children:jsxRuntimeExports.jsx(ReferenceLink,{reference:at,focusSpan:tt,className:"ReferencesButton-MultiParent",children:_e})})}}var iosArrowDownExports={},iosArrowDown={get exports(){return iosArrowDownExports},set exports(o){iosArrowDownExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{(!(_e.relatedTarget instanceof HTMLSpanElement)||get_1$1(_e,"relatedTarget.dataset.ancestorId")!==et)&&this.props.removeHoverIndentGuideId(et)},this.handleMouseEnter=(_e,et)=>{(!(_e.relatedTarget instanceof HTMLSpanElement)||get_1$1(_e,"relatedTarget.dataset.ancestorId")!==et)&&this.props.addHoverIndentGuideId(et)},this.ancestorIds=spanAncestorIds($.span),this.ancestorIds.push("root"),this.ancestorIds.reverse()}render(){const{childrenVisible:$,onClick:_e,showChildrenIcon:et,span:tt}=this.props,{hasChildren:rt,spanID:at}=tt,nt=rt?{onClick:_e,role:"switch","aria-checked":$}:null,it=et&&rt&&($?jsxRuntimeExports.jsx(IoIosArrowDown,{}):jsxRuntimeExports.jsx(IoChevronRight,{}));return jsxRuntimeExports.jsxs("span",{className:`SpanTreeOffset ${rt?"is-parent":""}`,...nt,children:[this.ancestorIds.map(ot=>jsxRuntimeExports.jsx("span",{className:classnamesExports("SpanTreeOffset--indentGuide",{"is-active":this.props.hoverIndentGuideIds.has(ot)}),"data-ancestor-id":ot,onMouseEnter:st=>this.handleMouseEnter(st,ot),onMouseLeave:st=>this.handleMouseLeave(st,ot)},ot)),it&&jsxRuntimeExports.jsx("span",{className:"SpanTreeOffset--iconWrapper",onMouseEnter:ot=>this.handleMouseEnter(ot,at),onMouseLeave:ot=>this.handleMouseLeave(ot,at),children:it})]})}}UnconnectedSpanTreeOffset.defaultProps={childrenVisible:!1,onClick:void 0,showChildrenIcon:!0};function mapStateToProps$4(o){const{hoverIndentGuideIds:$}=o.traceTimeline;return{hoverIndentGuideIds:$}}function mapDispatchToProps$4(o){const{addHoverIndentGuideId:$,removeHoverIndentGuideId:_e}=bindActionCreators(actions,o);return{addHoverIndentGuideId:$,removeHoverIndentGuideId:_e}}const SpanTreeOffset=connect$3(mapStateToProps$4,mapDispatchToProps$4)(UnconnectedSpanTreeOffset);function arrayAggregator$1(o,$,_e,et){for(var tt=-1,rt=o==null?0:o.length;++tt/g,">")}var jsonMarkup=function(o,$){var _e="",et=Stylize($),tt=function(at,nt,it,ot){if(!at.length)return nt+" "+it;var st=nt+` + a `).concat(at,",").concat(at," 0 1 1 ").concat(-ot,",").concat(st),ct=Math.PI*2*at,ut={stroke:_e,strokeDasharray:"".concat($/100*(ct-tt),"px ").concat(ct,"px"),strokeDashoffset:"-".concat(tt/2+o/100*(ct-tt),"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s"};return{pathString:lt,pathStyle:ut}}var Circle$2=function(o){_inherits$6(_e,o);var $=_createSuper$6(_e);function _e(){var et;return _classCallCheck$6(this,_e),et=$.call(this),_defineProperty$7(_assertThisInitialized$6(et),"paths",{}),_defineProperty$7(_assertThisInitialized$6(et),"gradientId",0),et.gradientId=gradientSeed,gradientSeed+=1,et}return _createClass$6(_e,[{key:"getStokeList",value:function(){var tt=this,rt=this.props,at=rt.prefixCls,nt=rt.percent,it=rt.strokeColor,ot=rt.strokeWidth,st=rt.strokeLinecap,lt=rt.gapDegree,ct=rt.gapPosition,ut=toArray(nt),ft=toArray(it),At=0;return ut.map(function(vt,ht){var mt=ft[ht]||ft[ft.length-1],bt=Object.prototype.toString.call(mt)==="[object Object]"?"url(#".concat(at,"-gradient-").concat(tt.gradientId,")"):"",dt=getPathStyles(At,vt,mt,ot,lt,ct),xt=dt.pathString,Ct=dt.pathStyle;return At+=vt,React$k.createElement("path",{key:ht,className:"".concat(at,"-circle-path"),d:xt,stroke:bt,strokeLinecap:st,strokeWidth:ot,opacity:vt===0?0:1,fillOpacity:"0",style:Ct,ref:function(wt){tt.paths[ht]=wt}})})}},{key:"render",value:function(){var tt=this.props,rt=tt.prefixCls,at=tt.strokeWidth,nt=tt.trailWidth,it=tt.gapDegree,ot=tt.gapPosition,st=tt.trailColor,lt=tt.strokeLinecap,ct=tt.style,ut=tt.className,ft=tt.strokeColor,At=_objectWithoutProperties(tt,["prefixCls","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor"]),vt=getPathStyles(0,100,st,at,it,ot),ht=vt.pathString,mt=vt.pathStyle;delete At.percent;var bt=toArray(ft),dt=bt.find(function(xt){return Object.prototype.toString.call(xt)==="[object Object]"});return React$k.createElement("svg",_extends$b({className:"".concat(rt,"-circle ").concat(ut),viewBox:"0 0 100 100",style:ct},At),dt&&React$k.createElement("defs",null,React$k.createElement("linearGradient",{id:"".concat(rt,"-gradient-").concat(this.gradientId),x1:"100%",y1:"0%",x2:"0%",y2:"0%"},Object.keys(dt).sort(function(xt,Ct){return stripPercentToNumber(xt)-stripPercentToNumber(Ct)}).map(function(xt,Ct){return React$k.createElement("stop",{key:Ct,offset:xt,stopColor:dt[xt]})}))),React$k.createElement("path",{className:"".concat(rt,"-circle-trail"),d:ht,stroke:st,strokeLinecap:lt,strokeWidth:nt||at,fillOpacity:"0",style:mt}),this.getStokeList().reverse())}}]),_e}(reactExports.Component);Circle$2.propTypes=_objectSpread(_objectSpread({},propTypes),{},{gapPosition:propTypesExports.oneOf(["top","bottom","left","right"])});Circle$2.defaultProps=_objectSpread(_objectSpread({},defaultProps),{},{gapPosition:"top"});const RCCircle=enhancer(Circle$2);function _defineProperty$6(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}var statusColorMap={normal:"#108ee9",exception:"#ff5500",success:"#87d068"};function getPercentage(o){var $=o.percent,_e=o.successPercent,et=validProgress($);if(!_e)return et;var tt=validProgress(_e);return[_e,validProgress(et-tt)]}function getStrokeColor(o){var $=o.progressStatus,_e=o.successPercent,et=o.strokeColor,tt=et||statusColorMap[$];return _e?[statusColorMap.success,tt]:tt}var Circle=function o($){var _e=$.prefixCls,et=$.width,tt=$.strokeWidth,rt=$.trailColor,at=$.strokeLinecap,nt=$.gapPosition,it=$.gapDegree,ot=$.type,st=$.children,lt=et||120,ct={width:lt,height:lt,fontSize:lt*.15+6},ut=tt||6,ft=nt||ot==="dashboard"&&"bottom"||"top",At=it||(ot==="dashboard"?75:void 0),vt=getStrokeColor($),ht=Object.prototype.toString.call(vt)==="[object Object]",mt=classNames("".concat(_e,"-inner"),_defineProperty$6({},"".concat(_e,"-circle-gradient"),ht));return reactExports.createElement("div",{className:mt,style:ct},reactExports.createElement(RCCircle,{percent:getPercentage($),strokeWidth:ut,trailWidth:ut,strokeColor:vt,strokeLinecap:at,trailColor:rt,prefixCls:_e,gapDegree:At,gapPosition:ft}),st)};const Circle$1=Circle;function _typeof$6(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$6=function(_e){return typeof _e}:_typeof$6=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$6(o)}function _defineProperty$5(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$a(){return _extends$a=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$5(o){return _getPrototypeOf$5=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$5(o)}var __rest$4=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt=100?"success":tt||"normal"}},{key:"renderProcessInfo",value:function(tt,rt){var at=this.props,nt=at.showInfo,it=at.format,ot=at.type,st=at.percent,lt=at.successPercent;if(!nt)return null;var ct,ut=it||function(At){return"".concat(At,"%")},ft=ot==="circle"||ot==="dashboard"?"":"-circle";return it||rt!=="exception"&&rt!=="success"?ct=ut(validProgress(st),validProgress(lt)):rt==="exception"?ct=reactExports.createElement(Icon$1,{type:"close".concat(ft),theme:ot==="line"?"filled":"outlined"}):rt==="success"&&(ct=reactExports.createElement(Icon$1,{type:"check".concat(ft),theme:ot==="line"?"filled":"outlined"})),reactExports.createElement("span",{className:"".concat(tt,"-text"),title:typeof ct=="string"?ct:void 0},ct)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderProgress)}}]),_e}(reactExports.Component);Progress.defaultProps={type:"line",percent:0,showInfo:!0,trailColor:"#f3f3f3",size:"default",gapDegree:0,strokeLinecap:"round"};Progress.propTypes={status:propTypesExports.oneOf(ProgressStatuses),type:propTypesExports.oneOf(ProgressTypes),showInfo:propTypesExports.bool,percent:propTypesExports.number,width:propTypesExports.number,strokeWidth:propTypesExports.number,strokeLinecap:propTypesExports.oneOf(["round","square"]),strokeColor:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),trailColor:propTypesExports.string,format:propTypesExports.func,gapDegree:propTypesExports.number};function _typeof$5(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(_e){return typeof _e}:_typeof$5=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$5(o)}function _defineProperty$4(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$9(){return _extends$9=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$4(o){return _getPrototypeOf$4=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$4(o)}var UploadList=function(o){_inherits$4(_e,o);var $=_createSuper$4(_e);function _e(){var et;return _classCallCheck$4(this,_e),et=$.apply(this,arguments),et.handlePreview=function(tt,rt){var at=et.props.onPreview;if(at)return rt.preventDefault(),at(tt)},et.handleDownload=function(tt){var rt=et.props.onDownload;typeof rt=="function"?rt(tt):tt.url&&window.open(tt.url)},et.handleClose=function(tt){var rt=et.props.onRemove;rt&&rt(tt)},et.renderUploadList=function(tt){var rt,at=tt.getPrefixCls,nt=et.props,it=nt.prefixCls,ot=nt.items,st=ot===void 0?[]:ot,lt=nt.listType,ct=nt.showPreviewIcon,ut=nt.showRemoveIcon,ft=nt.showDownloadIcon,At=nt.locale,vt=nt.progressAttr,ht=at("upload",it),mt=st.map(function(xt){var Ct,gt,wt,_t=reactExports.createElement(Icon$1,{type:xt.status==="uploading"?"loading":"paper-clip"});if(lt==="picture"||lt==="picture-card")if(lt==="picture-card"&&xt.status==="uploading")_t=reactExports.createElement("div",{className:"".concat(ht,"-list-item-uploading-text")},At.uploading);else if(!xt.thumbUrl&&!xt.url)_t=reactExports.createElement(Icon$1,{className:"".concat(ht,"-list-item-thumbnail"),type:"picture",theme:"twoTone"});else{var Et=isImageUrl(xt)?reactExports.createElement("img",{src:xt.thumbUrl||xt.url,alt:xt.name,className:"".concat(ht,"-list-item-image")}):reactExports.createElement(Icon$1,{type:"file",className:"".concat(ht,"-list-item-icon"),theme:"twoTone"});_t=reactExports.createElement("a",{className:"".concat(ht,"-list-item-thumbnail"),onClick:function(Ut){return et.handlePreview(xt,Ut)},href:xt.url||xt.thumbUrl,target:"_blank",rel:"noopener noreferrer"},Et)}if(xt.status==="uploading"){var It="percent"in xt?reactExports.createElement(Progress,_extends$9({type:"line"},vt,{percent:xt.percent})):null;wt=reactExports.createElement("div",{className:"".concat(ht,"-list-item-progress"),key:"progress"},It)}var Tt=classNames((Ct={},_defineProperty$4(Ct,"".concat(ht,"-list-item"),!0),_defineProperty$4(Ct,"".concat(ht,"-list-item-").concat(xt.status),!0),_defineProperty$4(Ct,"".concat(ht,"-list-item-list-type-").concat(lt),!0),Ct)),Rt=typeof xt.linkProps=="string"?JSON.parse(xt.linkProps):xt.linkProps,Ot=ut?reactExports.createElement(Icon$1,{type:"delete",title:At.removeFile,onClick:function(){return et.handleClose(xt)}}):null,Mt=ft&&xt.status==="done"?reactExports.createElement(Icon$1,{type:"download",title:At.downloadFile,onClick:function(){return et.handleDownload(xt)}}):null,Bt=lt!=="picture-card"&&reactExports.createElement("span",{key:"download-delete",className:"".concat(ht,"-list-item-card-actions ").concat(lt==="picture"?"picture":"")},Mt&&reactExports.createElement("a",{title:At.downloadFile},Mt),Ot&&reactExports.createElement("a",{title:At.removeFile},Ot)),Lt=classNames((gt={},_defineProperty$4(gt,"".concat(ht,"-list-item-name"),!0),_defineProperty$4(gt,"".concat(ht,"-list-item-name-icon-count-").concat([Mt,Ot].filter(function(er){return er}).length),!0),gt)),jt=xt.url?[reactExports.createElement("a",_extends$9({key:"view",target:"_blank",rel:"noopener noreferrer",className:Lt,title:xt.name},Rt,{href:xt.url,onClick:function(Ut){return et.handlePreview(xt,Ut)}}),xt.name),Bt]:[reactExports.createElement("span",{key:"view",className:Lt,onClick:function(Ut){return et.handlePreview(xt,Ut)},title:xt.name},xt.name),Bt],zt={pointerEvents:"none",opacity:.5},Nt=ct?reactExports.createElement("a",{href:xt.url||xt.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:xt.url||xt.thumbUrl?void 0:zt,onClick:function(Ut){return et.handlePreview(xt,Ut)},title:At.previewFile},reactExports.createElement(Icon$1,{type:"eye-o"})):null,Wt=lt==="picture-card"&&xt.status!=="uploading"&&reactExports.createElement("span",{className:"".concat(ht,"-list-item-actions")},Nt,xt.status==="done"&&Mt,Ot),qt;xt.response&&typeof xt.response=="string"?qt=xt.response:qt=xt.error&&xt.error.statusText||At.uploadError;var nr=reactExports.createElement("span",null,_t,jt),ar=reactExports.createElement("div",{className:Tt},reactExports.createElement("div",{className:"".concat(ht,"-list-item-info")},nr),Wt,reactExports.createElement(Animate$1,{transitionName:"fade",component:""},wt)),Kt=classNames(_defineProperty$4({},"".concat(ht,"-list-picture-card-container"),lt==="picture-card"));return reactExports.createElement("div",{key:xt.uid,className:Kt},xt.status==="error"?reactExports.createElement(Tooltip$1,{title:qt},ar):reactExports.createElement("span",null,ar))}),bt=classNames((rt={},_defineProperty$4(rt,"".concat(ht,"-list"),!0),_defineProperty$4(rt,"".concat(ht,"-list-").concat(lt),!0),rt)),dt=lt==="picture-card"?"animate-inline":"animate";return reactExports.createElement(Animate$1,{transitionName:"".concat(ht,"-").concat(dt),component:"div",className:bt},mt)},et}return _createClass$4(_e,[{key:"componentDidUpdate",value:function(){var tt=this,rt=this.props,at=rt.listType,nt=rt.items,it=rt.previewFile;at!=="picture"&&at!=="picture-card"||(nt||[]).forEach(function(ot){typeof document>"u"||typeof window>"u"||!window.FileReader||!window.File||!(ot.originFileObj instanceof File||ot.originFileObj instanceof Blob)||ot.thumbUrl!==void 0||(ot.thumbUrl="",it&&it(ot.originFileObj).then(function(st){ot.thumbUrl=st||"",tt.forceUpdate()}))})}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderUploadList)}}]),_e}(reactExports.Component);UploadList.defaultProps={listType:"text",progressAttr:{strokeWidth:2,showInfo:!1},showRemoveIcon:!0,showDownloadIcon:!1,showPreviewIcon:!0,previewFile:previewImage};function _typeof$4(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$4=function(_e){return typeof _e}:_typeof$4=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$4(o)}function _defineProperty$3(o,$,_e){return $ in o?Object.defineProperty(o,$,{value:_e,enumerable:!0,configurable:!0,writable:!0}):o[$]=_e,o}function _extends$8(){return _extends$8=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$3(o){return _getPrototypeOf$3=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$3(o)}var Upload=function(o){_inherits$3(_e,o);var $=_createSuper$3(_e);function _e(et){var tt;return _classCallCheck$3(this,_e),tt=$.call(this,et),tt.saveUpload=function(rt){tt.upload=rt},tt.onStart=function(rt){var at=tt.state.fileList,nt=fileToObject(rt);nt.status="uploading";var it=at.concat(),ot=findIndex_1(it,function(st){var lt=st.uid;return lt===nt.uid});ot===-1?it.push(nt):it[ot]=nt,tt.onChange({file:nt,fileList:it}),(!window.File||{}.TEST_IE)&&tt.autoUpdateProgress(0,nt)},tt.onSuccess=function(rt,at,nt){tt.clearProgressTimer();try{typeof rt=="string"&&(rt=JSON.parse(rt))}catch(st){}var it=tt.state.fileList,ot=getFileItem(at,it);ot&&(ot.status="done",ot.response=rt,ot.xhr=nt,tt.onChange({file:_extends$8({},ot),fileList:it}))},tt.onProgress=function(rt,at){var nt=tt.state.fileList,it=getFileItem(at,nt);it&&(it.percent=rt.percent,tt.onChange({event:rt,file:_extends$8({},it),fileList:nt}))},tt.onError=function(rt,at,nt){tt.clearProgressTimer();var it=tt.state.fileList,ot=getFileItem(nt,it);ot&&(ot.error=rt,ot.response=at,ot.status="error",tt.onChange({file:_extends$8({},ot),fileList:it}))},tt.handleRemove=function(rt){var at=tt.props.onRemove,nt=tt.state.fileList;Promise.resolve(typeof at=="function"?at(rt):at).then(function(it){if(it!==!1){var ot=removeFileItem(rt,nt);ot&&(rt.status="removed",tt.upload&&tt.upload.abort(rt),tt.onChange({file:rt,fileList:ot}))}})},tt.onChange=function(rt){"fileList"in tt.props||tt.setState({fileList:rt.fileList});var at=tt.props.onChange;at&&at(rt)},tt.onFileDrop=function(rt){tt.setState({dragState:rt.type})},tt.beforeUpload=function(rt,at){var nt=tt.props.beforeUpload,it=tt.state.fileList;if(!nt)return!0;var ot=nt(rt,at);return ot===!1?(tt.onChange({file:rt,fileList:uniqBy_1(it.concat(at.map(fileToObject)),function(st){return st.uid})}),!1):ot&&ot.then?ot:!0},tt.renderUploadList=function(rt){var at=tt.props,nt=at.showUploadList,it=at.listType,ot=at.onPreview,st=at.onDownload,lt=at.previewFile,ct=at.disabled,ut=at.locale,ft=nt.showRemoveIcon,At=nt.showPreviewIcon,vt=nt.showDownloadIcon,ht=tt.state.fileList;return reactExports.createElement(UploadList,{listType:it,items:ht,previewFile:lt,onPreview:ot,onDownload:st,onRemove:tt.handleRemove,showRemoveIcon:!ct&&ft,showPreviewIcon:At,showDownloadIcon:vt,locale:_extends$8(_extends$8({},rt),ut)})},tt.renderUpload=function(rt){var at,nt=rt.getPrefixCls,it=tt.props,ot=it.prefixCls,st=it.className,lt=it.showUploadList,ct=it.listType,ut=it.type,ft=it.disabled,At=it.children,vt=it.style,ht=tt.state,mt=ht.fileList,bt=ht.dragState,dt=nt("upload",ot),xt=_extends$8(_extends$8({onStart:tt.onStart,onError:tt.onError,onProgress:tt.onProgress,onSuccess:tt.onSuccess},tt.props),{prefixCls:dt,beforeUpload:tt.beforeUpload});delete xt.className,delete xt.style,(!At||ft)&&delete xt.id;var Ct=lt?reactExports.createElement(LocaleReceiver$1,{componentName:"Upload",defaultLocale:defaultLocale$2.Upload},tt.renderUploadList):null;if(ut==="drag"){var gt,wt=classNames(dt,(gt={},_defineProperty$3(gt,"".concat(dt,"-drag"),!0),_defineProperty$3(gt,"".concat(dt,"-drag-uploading"),mt.some(function(It){return It.status==="uploading"})),_defineProperty$3(gt,"".concat(dt,"-drag-hover"),bt==="dragover"),_defineProperty$3(gt,"".concat(dt,"-disabled"),ft),gt),st);return reactExports.createElement("span",null,reactExports.createElement("div",{className:wt,onDrop:tt.onFileDrop,onDragOver:tt.onFileDrop,onDragLeave:tt.onFileDrop,style:vt},reactExports.createElement(Upload$2,_extends$8({},xt,{ref:tt.saveUpload,className:"".concat(dt,"-btn")}),reactExports.createElement("div",{className:"".concat(dt,"-drag-container")},At))),Ct)}var _t=classNames(dt,(at={},_defineProperty$3(at,"".concat(dt,"-select"),!0),_defineProperty$3(at,"".concat(dt,"-select-").concat(ct),!0),_defineProperty$3(at,"".concat(dt,"-disabled"),ft),at)),Et=reactExports.createElement("div",{className:_t,style:At?void 0:{display:"none"}},reactExports.createElement(Upload$2,_extends$8({},xt,{ref:tt.saveUpload})));return ct==="picture-card"?reactExports.createElement("span",{className:classNames(st,"".concat(dt,"-picture-card-wrapper"))},Ct,Et):reactExports.createElement("span",{className:st},Et,Ct)},tt.state={fileList:et.fileList||et.defaultFileList||[],dragState:"drop"},warning$4("fileList"in et||!("value"in et),"Upload","`value` is not validate prop, do you mean `fileList`?"),tt}return _createClass$3(_e,[{key:"componentWillUnmount",value:function(){this.clearProgressTimer()}},{key:"clearProgressTimer",value:function(){clearInterval(this.progressTimer)}},{key:"autoUpdateProgress",value:function(tt,rt){var at=this,nt=genPercentAdd(),it=0;this.clearProgressTimer(),this.progressTimer=setInterval(function(){it=nt(it),at.onProgress({percent:it*100},rt)},200)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderUpload)}}],[{key:"getDerivedStateFromProps",value:function(tt){return"fileList"in tt?{fileList:tt.fileList||[]}:null}}]),_e}(reactExports.Component);Upload.defaultProps={type:"select",multiple:!1,action:"",data:{},accept:"",beforeUpload:T,showUploadList:!0,listType:"text",className:"",disabled:!1,supportServerRender:!0};polyfill(Upload);const Upload$1=Upload;function _typeof$3(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(_e){return typeof _e}:_typeof$3=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$3(o)}function _extends$7(){return _extends$7=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$2(o){return _getPrototypeOf$2=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$2(o)}var __rest$3=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt{const $=["id","origin","swVersion","extensionId","platform","vscode-resource-base-authority","parentOrigin"],_e={};return Object.keys(o).forEach(et=>{$.includes(et)||(_e[et]=o[et])}),_e};class SearchTracePageImpl extends reactExports.Component{constructor(){super(...arguments);Mu(this,"goToTrace",_e=>{const{queryOfResults:et}=this.props,tt=et?getUrl$2(stripEmbeddedState(et)):getUrl$2();this.props.history.push(getLocation(_e,{fromSearch:tt}))})}componentDidMount(){const{diffCohort:_e,fetchMultipleTraces:et,fetchServiceOperations:tt,fetchServices:rt,isHomepage:at,queryOfResults:nt,searchTraces:it,urlQueryParams:ot}=this.props;!at&&ot&&!isSameQuery(ot,nt)&&it(ot);const st=_e.filter(ct=>ct.state==null).map(ct=>ct.id);st.length&&et(st),rt();let{service:lt}=store_legacy.get("lastSearch")||{};ot&&ot.service&&(lt=ot.service),lt&<!=="-"&&tt(lt)}render(){const{cohortAddTrace:_e,cohortRemoveTrace:et,diffCohort:tt,embedded:rt,errors:at,isHomepage:nt,loadingServices:it,loadingTraces:ot,maxTraceDuration:st,services:lt,traceResults:ct,traceResultsToDownload:ut,queryOfResults:ft,loadJsonTraces:At,urlQueryParams:vt}=this.props,ht=ct&&ct.length>0,mt=at&&!ot,bt=nt&&!ht&&!ot&&!at;return jsxRuntimeExports.jsxs(Row,{className:"SearchTracePage--row",children:[!rt&&jsxRuntimeExports.jsx(Col,{span:6,className:"SearchTracePage--column",children:jsxRuntimeExports.jsx("div",{className:"SearchTracePage--find",children:jsxRuntimeExports.jsxs(Tabs,{size:"large",children:[jsxRuntimeExports.jsx(TabPane,{tab:"Search",children:!it&<?jsxRuntimeExports.jsx(SearchForm,{services:lt}):jsxRuntimeExports.jsx(LoadingIndicator,{})},"searchForm"),jsxRuntimeExports.jsx(TabPane,{tab:"Upload",children:jsxRuntimeExports.jsx(FileLoader,{loadJsonTraces:dt=>{At(dt)}})},"fileLoader")]})})}),jsxRuntimeExports.jsxs(Col,{span:rt?24:18,className:"SearchTracePage--column",children:[mt&&jsxRuntimeExports.jsxs("div",{className:"js-test-error-message",children:[jsxRuntimeExports.jsx("h2",{children:"There was an error querying for traces:"}),at.map(dt=>jsxRuntimeExports.jsx(ErrorMessage,{error:dt},dt.message))]}),!mt&&jsxRuntimeExports.jsx(SearchResults,{cohortAddTrace:_e,cohortRemoveTrace:et,diffCohort:tt,disableComparisons:rt,goToTrace:this.goToTrace,hideGraph:rt&&rt.searchHideGraph,loading:ot,maxTraceDuration:st,queryOfResults:ft,showStandaloneLink:!!rt,skipMessage:nt,spanLinks:vt&&vt.spanLinks,traces:ct,rawTraces:ut}),bt&&jsxRuntimeExports.jsx("img",{className:"SearchTracePage--logo js-test-logo",alt:"presentation",src:logoUrl,width:"400"})]})]})}}SearchTracePageImpl.propTypes={isHomepage:propTypesExports.bool,traceResults:propTypesExports.array,traceResultsToDownload:propTypesExports.array,diffCohort:propTypesExports.array,cohortAddTrace:propTypesExports.func,cohortRemoveTrace:propTypesExports.func,embedded:propTypesExports.shape({searchHideGraph:propTypesExports.bool}),maxTraceDuration:propTypesExports.number,loadingServices:propTypesExports.bool,loadingTraces:propTypesExports.bool,urlQueryParams:propTypesExports.shape({service:propTypesExports.string,limit:propTypesExports.string}),queryOfResults:propTypesExports.shape({service:propTypesExports.string,limit:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number])}),services:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string,operations:propTypesExports.arrayOf(propTypesExports.string)})),searchTraces:propTypesExports.func,history:propTypesExports.shape({push:propTypesExports.func}),fetchMultipleTraces:propTypesExports.func,fetchServiceOperations:propTypesExports.func,fetchServices:propTypesExports.func,errors:propTypesExports.arrayOf(propTypesExports.shape({message:propTypesExports.string})),loadJsonTraces:propTypesExports.func};const stateTraceXformer=memoizeOne$1(o=>{const{traces:$,rawTraces:_e,search:et}=o,{query:tt,results:rt,state:at,error:nt}=et,it=at===fetchedState.LOADING,ot=rt.map(lt=>$[lt].data),st=Math.max.apply(null,ot.map(lt=>lt.duration));return{traces:ot,rawTraces:_e,maxDuration:st,traceError:nt,loadingTraces:it,query:tt}}),stateTraceDiffXformer=memoizeOne$1((o,$)=>{const{traces:_e}=o,{cohort:et}=$;return et.map(tt=>_e[tt]||{id:tt})}),sortedTracesXformer=memoizeOne$1((o,$)=>{const _e=o.slice();return sortTraces(_e,$),_e}),stateServicesXformer=memoizeOne$1(o=>{const{loading:$,services:_e,operationsForService:et,error:tt}=o,rt=_e&&_e.map(at=>({name:at,operations:et[at]||[]}));return{loadingServices:$,services:rt,serviceError:tt}});function mapStateToProps$6(o){const{embedded:$,router:_e,services:et,traceDiff:tt}=o,rt=getUrlState(_e.location.search),at=sanitizeQueryParams(rt),nt=!Object.keys(rt).length,{query:it,traces:ot,rawTraces:st,maxDuration:lt,traceError:ct,loadingTraces:ut}=stateTraceXformer(o.trace),ft=stateTraceDiffXformer(o.trace,tt),{loadingServices:At,services:vt,serviceError:ht}=stateServicesXformer(et),mt=[];ct&&mt.push(ct),ht&&mt.push(ht);const bt=sortFormSelector(o,"sortBy"),dt=sortedTracesXformer(ot,bt);return{queryOfResults:it,diffCohort:ft,embedded:$,isHomepage:nt,loadingServices:At,loadingTraces:ut,services:vt,traceResults:dt,traceResultsToDownload:st,errors:mt.length?mt:null,maxTraceDuration:lt,sortTracesBy:bt,urlQueryParams:Object.keys(at).length>0?at:null}}function mapDispatchToProps$6(o){const{fetchMultipleTraces:$,fetchServiceOperations:_e,fetchServices:et,searchTraces:tt}=bindActionCreators(jaegerApiActions,o),{loadJsonTraces:rt}=bindActionCreators(fileReaderActions,o),{cohortAddTrace:at,cohortRemoveTrace:nt}=bindActionCreators(actions$3,o);return{cohortAddTrace:at,cohortRemoveTrace:nt,fetchMultipleTraces:$,fetchServiceOperations:_e,fetchServices:et,searchTraces:tt,loadJsonTraces:rt}}const SearchTracePage=connect$3(mapStateToProps$6,mapDispatchToProps$6)(SearchTracePageImpl),EmphasizedNode$1="";class EmphasizedNode extends reactExports.PureComponent{render(){const{height:$,width:_e}=this.props;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode--contrast is-non-scaling",vectorEffect:"non-scaling-stroke",width:_e,height:$}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode--contrast is-scaling",width:_e,height:$}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode is-non-scaling",vectorEffect:"non-scaling-stroke",width:_e,height:$}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode is-scaling",width:_e,height:$})]})}}var toggleSelection=function(){var o=document.getSelection();if(!o.rangeCount)return function(){};for(var $=document.activeElement,_e=[],et=0;et"u"){_e&&console.warn("unable to use e.clipboardData"),_e&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var lt=clipboardToIE11Formatting[$.format]||clipboardToIE11Formatting.default;window.clipboardData.setData(lt,o)}else st.clipboardData.clearData(),st.clipboardData.setData($.format,o);$.onCopy&&(st.preventDefault(),$.onCopy(st.clipboardData))}),document.body.appendChild(nt),rt.selectNodeContents(nt),at.addRange(rt);var ot=document.execCommand("copy");if(!ot)throw new Error("copy command was unsuccessful");it=!0}catch(st){_e&&console.error("unable to copy using execCommand: ",st),_e&&console.warn("trying IE specific stuff");try{window.clipboardData.setData($.format||"text",o),$.onCopy&&$.onCopy(window.clipboardData),it=!0}catch(lt){_e&&console.error("unable to copy using clipboardData: ",lt),_e&&console.error("falling back to prompt"),et=format("message"in $?$.message:defaultMessage),window.prompt(et,o)}}finally{at&&(typeof at.removeRange=="function"?at.removeRange(rt):at.removeAllRanges()),nt&&document.body.removeChild(nt),tt()}return it}var copyToClipboard=copy;const CopyIcon$1="";class CopyIcon extends reactExports.PureComponent{constructor(){super(...arguments),this.state={hasCopied:!1},this.handleClick=()=>{this.setState({hasCopied:!0}),copyToClipboard(this.props.copyText)},this.handleTooltipVisibilityChange=$=>{!$&&this.state.hasCopied&&this.setState({hasCopied:!1})}}render(){return jsxRuntimeExports.jsx(Tooltip$1,{arrowPointAtCenter:!0,mouseLeaveDelay:.5,onVisibleChange:this.handleTooltipVisibilityChange,placement:this.props.placement,title:this.state.hasCopied?"Copied":this.props.tooltipTitle,children:jsxRuntimeExports.jsx(Button$2,{className:classnamesExports(this.props.className,"CopyIcon"),htmlType:"button",icon:this.props.icon,onClick:this.handleClick})})}}CopyIcon.defaultProps={className:void 0,icon:"copy",placement:"left"};const renderNode$1="",abs=Math.abs,max=Math.max;class DiffNode extends reactExports.PureComponent{render(){const{a:$,b:_e,operation:et,service:tt}=this.props,rt=$===_e,at=classnamesExports({"is-same":rt,"is-changed":!rt,"is-more":_e>$&&$>0,"is-added":$===0,"is-less":$>_e&&_e>0,"is-removed":_e===0}),nt=$<_e?"+":"-",it=jsxRuntimeExports.jsx("table",{className:`DiffNode ${at}`,children:jsxRuntimeExports.jsxs("tbody",{className:"DiffNode--body",children:[jsxRuntimeExports.jsxs("tr",{children:[jsxRuntimeExports.jsxs("td",{className:`DiffNode--metricCell ${at}`,rowSpan:rt?2:1,children:[rt?null:jsxRuntimeExports.jsx("span",{className:"DiffNode--metricSymbol",children:nt}),rt?$:abs(_e-$)]}),jsxRuntimeExports.jsxs("td",{className:`DiffNode--labelCell ${at}`,children:[jsxRuntimeExports.jsx("strong",{children:tt}),jsxRuntimeExports.jsx(CopyIcon,{className:"DiffNode--copyIcon",copyText:`${tt} ${et}`,tooltipTitle:"Copy label"})]})]}),jsxRuntimeExports.jsxs("tr",{children:[rt?null:jsxRuntimeExports.jsxs("td",{className:`DiffNode--metricCell ${at}`,children:[jsxRuntimeExports.jsx("span",{className:"DiffNode--metricSymbol",children:nt}),$===0||_e===0?100:abs(($-_e)/max($,_e)*100).toFixed(0),jsxRuntimeExports.jsx("span",{className:"DiffNode--metricSymbol",children:"%"})]}),jsxRuntimeExports.jsx("td",{className:`DiffNode--labelCell ${at}`,children:et})]})]})});return jsxRuntimeExports.jsx(Popover,{overlayClassName:`DiffNode--popover ${at}`,mouseEnterDelay:.25,content:it,children:it})}}function renderNode(o){const{a:$,b:_e,operation:et,service:tt}=o.data,rt=$?$.length:0,at=_e?_e.length:0;return jsxRuntimeExports.jsx(DiffNode,{a:rt,b:at,operation:et,service:tt})}function getNodeEmphasisRenderer(o){return function(_e){return o.has(_e.vertex.key)?jsxRuntimeExports.jsx(EmphasizedNode,{height:_e.height,width:_e.width}):null}}function convPlexus(o){const $=[],_e=[],et=[...o.values()];for(let tt=0;tt0||nt!=="client"||!it)return;const{operation:ot}=at;ot.indexOf(it)===0&&ot.slice(-et.length)===et&&(o.service=it)}function skipClient(o,$){const{parentID:_e,service:et,tags:tt}=o,rt=_e!=null&&$.get(_e);if(!rt)return;const at=tt[SPAN_KIND],nt=rt.tags[SPAN_KIND],it=rt.tags[PEER_SERVICE]||"";at==="server"&&nt==="client"&&rt.children.size===1&&(rt.skipToChild=rt.operation.indexOf(et)===0||it.indexOf(et)===0)}function fixHttpOperation(o,$){const{parentID:_e,operation:et,service:tt,tags:rt}=o,at=_e!=null&&$.get(_e);if(!at)return;const nt=rt[SPAN_KIND],it=rt[HTTP_METHOD];if(nt!=="server"||et!==it)return;const ot=at.tags[PEER_SERVICE]||"";if(at.operation.indexOf(tt)===0||ot.indexOf(tt)===0){const st=new RegExp(`^${tt}(::)?`),lt=at.operation.replace(st,"");o.operation=`${it} ${lt}`}}function skipAnnotationSpans(o,$){const{children:_e,parentID:et,span:tt}=o;if(_e.size!==1||tt.tags.length!==0)return;const rt=et!=null&&$.get(et),at=[..._e][0],nt=at!=null&&$.get(at);!rt||!nt||(o.skipToChild=rt.span.processID===tt.processID)}function skipClientSpans(o,$){const{children:_e,parentID:et,span:tt,tags:rt}=o;if(_e.size!==1||rt[SPAN_KIND]!=="client")return;const at=et!=null&&$.get(et),nt=[..._e][0],it=nt!=null&&$.get(nt);!at||!it||(o.skipToChild=it.tags[SPAN_KIND]==="client"&&at.span.processID===tt.processID)}function denseTransforms(o,$){fixLeafService(o,$),skipClient(o,$),fixHttpOperation(o,$),skipAnnotationSpans(o,$),skipClientSpans(o,$)}function convSpans(o){const $=new Map,_e=new Set,et=[];return o.forEach(tt=>{const{spanID:rt,operationName:at,process:nt,references:it,tags:ot}=tt;et.push(rt);const{serviceName:st}=nt,lt=ot.reduce((At,vt)=>{const{key:ht,value:mt}=vt;return At[ht]=mt,At},{});let ct=null;if(it&&it.length){const{refType:At,spanID:vt}=it[0];At!=="CHILD_OF"&&At!=="FOLLOWS_FROM"?console.warn(`Unrecognized ref type: ${At}`):ct=vt}const ut={id:rt,operation:at,parentID:ct,service:st,span:tt,tags:lt,children:new Set,skipToChild:!1},ft=ct&&$.get(ct);ft?ft.children.add(rt):_e.add(rt),$.set(rt,ut)}),{ids:et,map:$,roots:_e}}function makeDense(o,$){o.forEach(_e=>{const et=$.get(_e);et&&denseTransforms(et,$)})}class DenseTrace{constructor($){this.trace=$;const{ids:_e,map:et,roots:tt}=convSpans($.spans);makeDense(_e,et),this.rootIDs=tt,this.denseSpansMap=et}}function ancestralPathParentOrLeaf(o,$){const{children:_e,operation:et,service:tt}=o,rt=`${tt} ${et}${_e.size?"":" __LEAF__"}`;return $?`${$}\v${rt}`:rt}class TraceDag{static newFromTrace($,_e=ancestralPathParentOrLeaf){const et=new TraceDag,{denseSpansMap:tt,rootIDs:rt}=new DenseTrace($);function at(nt,it){if(!nt){console.warn("Missing dense span");return}const{children:ot,operation:st,service:lt,skipToChild:ct}=nt;let ut;ct?ut=it:(ut=_e(nt,it),(et.getNode(ut)||et.addNode(ut,it,{operation:st,service:lt,members:[]})).members.push(nt)),ot.forEach(ft=>at(tt.get(ft),ut))}return rt.forEach(nt=>at(tt.get(nt),null)),et}static diff($,_e){const et=new TraceDag;function tt(at){const nt=$.nodesMap.get(at),it=_e.nodesMap.get(at),ot=nt&&nt.parentID||it&&it.parentID||null,st=[...nt?nt.members:[],...it?it.members:[]];et.addNode(at,ot,{members:st,a:nt?nt.members:null,b:it?it.members:null,operation:nt&&nt.operation||it&&it.operation||"__UNSET__",service:nt&&nt.service||it&&it.service||"__UNSET__"})}return new Set([...$.nodesMap.keys(),..._e.nodesMap.keys()]).forEach(tt),et}constructor(){this.nodesMap=new Map,this.rootIDs=new Set}hasNode($){return this.nodesMap.has($)}getNode($){return this.nodesMap.get($)}mustGetNode($){const _e=this.getNode($);if(!_e)throw new Error(`Node not found: ${JSON.stringify($)}`);return _e}addNode($,_e,et){if(this.hasNode($))throw new Error(`Node already added: ${JSON.stringify($)}`);const tt={...et,id:$,parentID:_e,children:new Set};if(this.nodesMap.set($,tt),!_e)this.rootIDs.add($);else{const rt=this.nodesMap.get(_e);rt&&rt.children.add($)}return tt}}function filterSpans(o,$){if(!$)return null;const _e=[],et=[],tt=/"[^"]+"|[^\s]+/g,rt=o.match(tt);(rt?rt.map(lt=>lt.replace(/"(.*)"/,"$1")):[]).filter(Boolean).forEach(lt=>{lt[0]==="-"?et.push(lt.substr(1).toLowerCase()):_e.push(lt.toLowerCase())});const nt=(lt,ct)=>lt.some(ut=>ct.toLowerCase().includes(ut)),it=lt=>lt?lt.some(ct=>nt(et,ct.key)?!1:nt(_e,ct.key)||nt(_e,ct.value.toString())):!1,ot=lt=>nt(_e,lt.operationName)||nt(_e,lt.process.serviceName)||it(lt.tags)||lt.logs!==null&<.logs.some(ct=>it(ct.fields))||it(lt.process.tags)||_e.some(ct=>ct.replace(/^0*/,"")===lt.spanID.replace(/^0*/,""));return new Set($.filter(ot).map(lt=>lt.spanID))}function getUiFindVertexKeysFn(o,$){if(!o)return new Set;const _e=new Set;return $.forEach(({key:et,data:{members:tt}})=>{get_1$1(filterSpans(o,map_1(tt,"span")),"size")&&_e.add(et)}),_e}const getUiFindVertexKeys=memoizeOne$1(getUiFindVertexKeysFn);function getEdgesAndVerticesFn(o,$){const _e=TraceDag.newFromTrace(o),et=TraceDag.newFromTrace($),tt=TraceDag.diff(_e,et);return convPlexus(tt.nodesMap)}const getEdgesAndVertices=memoizeOne$1(getEdgesAndVerticesFn),TraceDiffGraph$1="",{classNameIsSmall:classNameIsSmall$1,scaleOpacity:scaleOpacity$1,scaleStrokeOpacity:scaleStrokeOpacity$1}=Digraph.propsFactories;class UnconnectedTraceDiffGraph extends reactExports.PureComponent{constructor(){super(...arguments),this.layoutManager=new LayoutManager({useDotEdges:!0,splines:"polyline"}),this.cacheAs=defaultScope.makeScope()}componentWillUnmount(){this.layoutManager.stopAndRelease()}render(){const{a:$,b:_e,uiFind:et=""}=this.props;if(!$||!_e)return jsxRuntimeExports.jsx("h1",{className:"u-mt-vast u-tx-muted ub-tx-center",children:"At least two Traces are needed"});if($.error||_e.error)return jsxRuntimeExports.jsxs("div",{className:"TraceDiffGraph--errorsWrapper",children:[$.error&&jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-my4",error:$.error,messageClassName:"TraceDiffGraph--errorMessage"}),_e.error&&jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-my4",error:_e.error,messageClassName:"TraceDiffGraph--errorMessage"})]});if($.state===fetchedState.LOADING||_e.state===fetchedState.LOADING)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});const tt=$.data,rt=_e.data;if(!tt||!rt)return jsxRuntimeExports.jsx("div",{className:"TraceDiffGraph--graphWrapper"});const{edges:at,vertices:nt}=getEdgesAndVertices(tt,rt),it=getUiFindVertexKeys(et,nt),ot=classnamesExports("TraceDiffGraph--dag",{"is-uiFind-mode":et}),st={className:"TraceDiffGraph--uiFind",suffix:et.length?String(it.size):void 0};return jsxRuntimeExports.jsxs("div",{className:"TraceDiffGraph--graphWrapper",children:[jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,className:ot,minimapClassName:"u-miniMap",layoutManager:this.layoutManager,measurableNodesKey:"nodes",layers:[{key:"emphasis-nodes",layerType:"svg",renderNode:getNodeEmphasisRenderer(it)},{key:"edges",layerType:"svg",edges:!0,defs:[{localId:"arrow"}],markerEndId:"arrow",setOnContainer:this.cacheAs("edges/container",[scaleOpacity$1,scaleStrokeOpacity$1,{stroke:"#444"}])},{renderNode,key:"nodes",measurable:!0,layerType:"html"}],setOnGraph:classNameIsSmall$1,edges:at,vertices:nt},`${$.id} vs ${_e.id}`),jsxRuntimeExports.jsx(UiFindInput,{inputProps:st})]})}}const TraceDiffGraph=connect$3(extractUiFindFromState)(UnconnectedTraceDiffGraph);function stopPropagation$1(o){o.stopPropagation()}function TraceTimelineLink({traceID:o}){return jsxRuntimeExports.jsx("a",{href:getUrl$6(o),onClick:stopPropagation$1,rel:"noopener noreferrer",target:"_blank",children:jsxRuntimeExports.jsx(NewWindowIcon,{})})}function RelativeDate(o){const{value:$,includeTime:_e,fullMonthName:et}=o,tt=hooks$1.isMoment($)?$:hooks$1($),rt=formatRelativeDate(tt,!!et),at=_e?`, ${tt.format("h:mm:ss a")}`:"";return`${rt}${at}`}const CohortTable$1="",{Column:Column$1}=Table$1,defaultRowSelection={hideDefaultSelections:!0,type:"radio"},NEED_MORE_TRACES_MESSAGE=jsxRuntimeExports.jsx("h3",{className:"CohortTable--needMoreMsg",children:"Enter a Trace ID or perform a search and select from the results."},"msg");class CohortTable extends reactExports.PureComponent{constructor(){super(...arguments),this.getCheckboxProps=$=>{const{current:_e,selection:et}=this.props,{id:tt,state:rt}=$;return rt===fetchedState.ERROR||tt in et&&tt!==_e?{disabled:!0}:{}}}render(){const{cohort:$,current:_e,selection:et,selectTrace:tt}=this.props,rt={...defaultRowSelection,getCheckboxProps:this.getCheckboxProps,onChange:at=>tt(at[0]),selectedRowKeys:_e?[_e]:[]};return[jsxRuntimeExports.jsxs(Table$1,{size:"middle",dataSource:$,rowKey:"id",pagination:!1,rowSelection:rt,children:[jsxRuntimeExports.jsx(Column$1,{title:"",dataIndex:"id",render:at=>jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:at&&at.slice(0,7)})},"traceID"),jsxRuntimeExports.jsx(Column$1,{title:"Service & Operation",sortOrder:"descend",dataIndex:"data.traceName",render:(at,nt)=>{const{data:it,error:ot,id:st,state:lt}=nt,{traceName:ct=void 0}=it||{},{label:ut=void 0}=et[st]||{};return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[ut!=null&&jsxRuntimeExports.jsx(Tag$1,{className:"ub-bold",color:"#139999",children:ut},"lbl"),jsxRuntimeExports.jsx(TraceName,{className:"CohortTable--traceName",error:ot,state:lt,traceName:ct},"name")]})}},"traceName"),jsxRuntimeExports.jsx(Column$1,{title:"Date",dataIndex:"data.startTime",render:(at,nt)=>nt.state===fetchedState.DONE&&jsxRuntimeExports.jsx(RelativeDate,{fullMonthName:!0,includeTime:!0,value:at/1e3})},"startTime"),jsxRuntimeExports.jsx(Column$1,{title:"Duration",dataIndex:"data.duration",render:(at,nt)=>nt.state===fetchedState.DONE&&formatDuration(at)},"duration"),jsxRuntimeExports.jsx(Column$1,{title:"Spans",dataIndex:"data.spans.length"},"spans"),jsxRuntimeExports.jsx(Column$1,{className:"ub-tx-center",dataIndex:"data.traceID",render:at=>jsxRuntimeExports.jsx(TraceTimelineLink,{traceID:at})},"link")]},"table"),$.length<2&&NEED_MORE_TRACES_MESSAGE]}}const TraceHeader$1="";function EmptyAttrs(){return jsxRuntimeExports.jsx("ul",{className:"TraecDiffHeader--traceAttributes",children:jsxRuntimeExports.jsx("li",{className:"TraecDiffHeader--traceAttr",children:" "})})}function Attrs(o){const{startTime:$,duration:_e,totalSpans:et}=o;return jsxRuntimeExports.jsxs("ul",{className:"TraecDiffHeader--traceAttributes",children:[jsxRuntimeExports.jsx("li",{className:"TraecDiffHeader--traceAttr",children:jsxRuntimeExports.jsx("strong",{children:jsxRuntimeExports.jsx(RelativeDate,{value:($||0)/1e3,includeTime:!0,fullMonthName:!0})})}),jsxRuntimeExports.jsxs("li",{className:"TraecDiffHeader--traceAttr",children:[jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Duration: "}),jsxRuntimeExports.jsx("strong",{children:formatDuration(_e||0)})]}),jsxRuntimeExports.jsxs("li",{className:"TraecDiffHeader--traceAttr",children:[jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Spans: "})," ",jsxRuntimeExports.jsx("strong",{children:et||0})]})]})}function TraceHeader(o){const{duration:$,error:_e,startTime:et,state:tt,traceID:rt,totalSpans:at,traceName:nt}=o,it=tt===fetchedState.DONE?Attrs:EmptyAttrs;return jsxRuntimeExports.jsxs("div",{className:"TraecDiffHeader--traceHeader",children:[jsxRuntimeExports.jsxs("h1",{className:"TraecDiffHeader--traceTitle",children:[jsxRuntimeExports.jsx("span",{children:rt?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(TraceName,{traceName:nt,error:_e,state:tt},"name")," ",jsxRuntimeExports.jsx("small",{className:"u-tx-muted ub-pr2",children:rt.slice(0,7)},"id"),jsxRuntimeExports.jsx(TraceTimelineLink,{traceID:rt})]}):jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Select a Trace..."})}),jsxRuntimeExports.jsx(IoChevronDown,{className:"TraecDiffHeader--traceTitleChevron"})]}),jsxRuntimeExports.jsx(it,{startTime:et,duration:$,totalSpans:at})]})}TraceHeader.defaultProps={error:void 0};const{Search:Search$1}=Input$1;function TraceIdInput(o){const{selectTrace:$}=o;return jsxRuntimeExports.jsx(Search$1,{addonBefore:"Select by Trace ID",enterButton:!0,onSearch:$})}const TraceDiffHeader$1="";class TraceDiffHeader extends reactExports.PureComponent{constructor($){super($),this.state={tableVisible:null},this._toggleTableA=this._toggleTable.bind(this,"a"),this._toggleTableB=this._toggleTable.bind(this,"b"),this._diffSetA=this._diffSetTrace.bind(this,"a"),this._diffSetB=this._diffSetTrace.bind(this,"b")}_toggleTable($,_e){const et=_e?$:null;this.setState({tableVisible:et})}_diffSetTrace($,_e){$==="a"?this.props.diffSetA(_e):this.props.diffSetB(_e),this.setState({tableVisible:null})}render(){const{a:$,b:_e,cohort:et}=this.props,{tableVisible:tt}=this.state,{data:rt=void 0,id:at=void 0,state:nt=void 0,error:it=void 0}=$||{},{data:ot=void 0,id:st=void 0,state:lt=void 0,error:ct=void 0}=_e||{},ut={};at&&(ut[at]={label:"A"}),st&&(ut[st]={label:"B"});const ft=jsxRuntimeExports.jsx(CohortTable,{cohort:et,current:at,selectTrace:this._diffSetA,selection:ut}),At=jsxRuntimeExports.jsx(CohortTable,{cohort:et,current:st,selectTrace:this._diffSetB,selection:ut});return jsxRuntimeExports.jsxs("header",{className:"TraecDiffHeader",children:[jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem-darkened",children:jsxRuntimeExports.jsx("h1",{className:"ub-m0",children:"A"})}),jsxRuntimeExports.jsx(Popover,{overlayClassName:"TraceDiffHeader--popover",trigger:"click",placement:"bottomLeft",title:jsxRuntimeExports.jsx(TraceIdInput,{selectTrace:this._diffSetA}),content:ft,visible:tt==="a",onVisibleChange:this._toggleTableA,children:jsxRuntimeExports.jsx("div",{className:"ub-flex u-flex-1",children:jsxRuntimeExports.jsx(TraceHeader,{duration:rt&&rt.duration,error:it,startTime:rt&&rt.startTime,state:nt,totalSpans:rt&&rt.spans&&rt.spans.length,traceID:at,traceName:rt&&rt.traceName})})}),jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem",children:jsxRuntimeExports.jsx("h2",{className:"u-tx-muted ub-mx3 ub-my0",children:"VS"})}),jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem-darkened",children:jsxRuntimeExports.jsx("h1",{className:"ub-m0",children:"B"})}),jsxRuntimeExports.jsx(Popover,{overlayClassName:"TraceDiffHeader--popover",trigger:"click",placement:"bottomLeft",title:jsxRuntimeExports.jsx(TraceIdInput,{selectTrace:this._diffSetB}),content:At,visible:tt==="b",onVisibleChange:this._toggleTableB,children:jsxRuntimeExports.jsx("div",{className:"ub-flex u-flex-1",children:jsxRuntimeExports.jsx(TraceHeader,{duration:ot&&ot.duration,error:ct,startTime:ot&&ot.startTime,state:lt,totalSpans:ot&&ot.spans&&ot.spans.length,traceID:st,traceName:ot&&ot.traceName})})})]})}}function pluckTruthy(o){const $=[];for(let _e=0;_e!it.has(st))&&_e(o)}class TraceDiffImpl extends reactExports.PureComponent{constructor(){super(...arguments),this.state={graphTopOffset:TOP_NAV_HEIGHT},this.headerWrapperElm=null,this.headerWrapperRef=$=>{this.headerWrapperElm=$,this.setGraphTopOffset()},this.diffSetA=$=>{const _e=$.toLowerCase();this.diffSetUrl({newA:_e})},this.diffSetB=$=>{const _e=$.toLowerCase();this.diffSetUrl({newB:_e})}}componentDidMount(){this.processProps()}componentDidUpdate(){this.setGraphTopOffset(),this.processProps()}setGraphTopOffset(){if(this.headerWrapperElm){const $=TOP_NAV_HEIGHT+this.headerWrapperElm.clientHeight;this.state.graphTopOffset!==$&&this.setState({graphTopOffset:$})}else this.setState({graphTopOffset:TOP_NAV_HEIGHT})}processProps(){const{a:$,b:_e,cohort:et,fetchMultipleTraces:tt,forceState:rt,tracesData:at,traceDiffState:nt}=this.props;syncStates({a:$,b:_e,cohort:et},nt,rt);const ot=et.map(st=>at.get(st)||{id:st,state:null}).filter(st=>st.state==null).map(st=>st.id);ot.length&&tt(ot)}diffSetUrl($){const{newA:_e,newB:et}=$,{a:tt,b:rt,cohort:at,history:nt}=this.props,it=getUrl$1({a:_e||tt,b:et||rt,cohort:at});nt.push(it)}render(){const{a:$,b:_e,cohort:et,tracesData:tt}=this.props,{graphTopOffset:rt}=this.state,at=$?tt.get($)||{id:$}:null,nt=_e?tt.get(_e)||{id:_e}:null,it=et.map(ot=>tt.get(ot)||{id:ot});return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{ref:this.headerWrapperRef,children:jsxRuntimeExports.jsx(TraceDiffHeader,{a:at,b:nt,cohort:it,diffSetA:this.diffSetA,diffSetB:this.diffSetB},"header")},"header"),jsxRuntimeExports.jsx("div",{className:"TraceDiff--graphWrapper",style:{top:rt},children:jsxRuntimeExports.jsx(TraceDiffGraph,{a:at,b:nt})},"graph")]})}}function mapStateToProps$5(o,$){const{a:_e,b:et}=$.match.params,{cohort:tt=[]}=queryString.parse(o.router.location.search),rt=new Set(pluckTruthy([_e,et].concat(tt))),at=Array.from(rt),{traces:nt}=o.trace,it=at.map(st=>[st,nt[st]||{id:st,state:null}]),ot=new Map(it);return{a:_e,b:et,cohort:at,tracesData:ot,traceDiffState:o.traceDiff}}function mapDispatchToProps$5(o){const{fetchMultipleTraces:$}=bindActionCreators(jaegerApiActions,o),{forceState:_e}=bindActionCreators(actions$3,o);return{fetchMultipleTraces:$,forceState:_e}}const TraceDiff=connect$3(mapStateToProps$5,mapDispatchToProps$5)(TraceDiffImpl);function baseClamp$1(o,$,_e){return o===o&&(_e!==void 0&&(o=o<=_e?o:_e),$!==void 0&&(o=o>=$?o:$)),o}var _baseClamp=baseClamp$1,baseClamp=_baseClamp,toNumber=toNumber_1;function clamp(o,$,_e){return _e===void 0&&(_e=$,$=void 0),_e!==void 0&&(_e=toNumber(_e),_e=_e===_e?_e:0),$!==void 0&&($=toNumber($),$=$===$?$:0),baseClamp(toNumber(o),$,_e)}var clamp_1=clamp;const index$f="";var Notice=function(o){_default$8($,o);function $(){var _e,et,tt,rt;_default$c(this,$);for(var at=arguments.length,nt=Array(at),it=0;it=lt&&(ot.updateKey=At[0].updateKey||At[0].key,At.shift()),At.push(ot)),{notices:At}})},tt.remove=function(ot){tt.setState(function(st){return{notices:st.notices.filter(function(lt){return lt.key!==ot})}})},et),_default$9(tt,rt)}return _default$b($,[{key:"getTransitionName",value:function(){var et=this.props,tt=et.transitionName;return!tt&&et.animation&&(tt=et.prefixCls+"-"+et.animation),tt}},{key:"render",value:function(){var et=this,tt,rt=this.props,at=this.state.notices,nt=at.map(function(ot,st){var lt=!!(st===at.length-1&&ot.updateKey),ct=ot.updateKey?ot.updateKey:ot.key,ut=createChainedFunction(et.remove.bind(et,ot.key),ot.onClose);return React$k.createElement(Notice,_default$bE({prefixCls:rt.prefixCls},ot,{key:ct,update:lt,onClose:ut,onClick:ot.onClick,closeIcon:rt.closeIcon}),ot.content)}),it=(tt={},_default$e(tt,rt.prefixCls,1),_default$e(tt,rt.className,!!rt.className),tt);return React$k.createElement("div",{className:classnamesExports(it),style:rt.style},React$k.createElement(Animate$1,{transitionName:this.getTransitionName()},nt))}}]),$}(reactExports.Component);Notification.propTypes={prefixCls:propTypesExports.string,transitionName:propTypesExports.string,animation:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),style:propTypesExports.object,maxCount:propTypesExports.number,closeIcon:propTypesExports.node};Notification.defaultProps={prefixCls:"rc-notification",animation:"fade",style:{top:65,left:"50%"}};Notification.newInstance=function o($,_e){var et=$||{},tt=et.getContainer,rt=_default$d(et,["getContainer"]),at=document.createElement("div");if(tt){var nt=tt();nt.appendChild(at)}else document.body.appendChild(at);var it=!1;function ot(st){it||(it=!0,_e({notice:function(ct){st.add(ct)},removeNotice:function(ct){st.remove(ct)},component:st,destroy:function(){ReactDOM.unmountComponentAtNode(at),at.parentNode.removeChild(at)}}))}ReactDOM.render(React$k.createElement(Notification,_default$bE({},rt,{ref:ot})),at)};function _extends$6(){return _extends$6=Object.assign||function(o){for(var $=1;$1&&arguments[1]!==void 0?arguments[1]:defaultTop,_e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:defaultBottom,et;switch(o){case"topLeft":et={left:0,top:$,bottom:"auto"};break;case"topRight":et={right:0,top:$,bottom:"auto"};break;case"bottomLeft":et={left:0,top:"auto",bottom:_e};break;default:et={right:0,top:"auto",bottom:_e};break}return et}function getNotificationInstance(o,$){var _e=o.prefixCls,et=o.placement,tt=et===void 0?defaultPlacement:et,rt=o.getContainer,at=rt===void 0?defaultGetContainer:rt,nt=o.top,it=o.bottom,ot=o.closeIcon,st=ot===void 0?defaultCloseIcon:ot,lt="".concat(_e,"-").concat(tt);if(notificationInstance[lt]){$(notificationInstance[lt]);return}var ct=reactExports.createElement("span",{className:"".concat(_e,"-close-x")},st||reactExports.createElement(Icon$1,{className:"".concat(_e,"-close-icon"),type:"close"}));Notification.newInstance({prefixCls:_e,className:"".concat(_e,"-").concat(tt),style:getPlacementStyle(tt,nt,it),getContainer:at,closeIcon:ct},function(ut){notificationInstance[lt]=ut,$(ut)})}var typeToIcon={success:"check-circle-o",info:"info-circle-o",error:"close-circle-o",warning:"exclamation-circle-o"};function notice(o){var $=o.prefixCls||"ant-notification",_e="".concat($,"-notice"),et=o.duration===void 0?defaultDuration:o.duration,tt=null;if(o.icon)tt=reactExports.createElement("span",{className:"".concat(_e,"-icon")},o.icon);else if(o.type){var rt=typeToIcon[o.type];tt=reactExports.createElement(Icon$1,{className:"".concat(_e,"-icon ").concat(_e,"-icon-").concat(o.type),type:rt})}var at=!o.description&&tt?reactExports.createElement("span",{className:"".concat(_e,"-message-single-line-auto-margin")}):null,nt=o.placement,it=o.top,ot=o.bottom,st=o.getContainer,lt=o.closeIcon;getNotificationInstance({prefixCls:$,placement:nt,top:it,bottom:ot,getContainer:st,closeIcon:lt},function(ct){ct.notice({content:reactExports.createElement("div",{className:tt?"".concat(_e,"-with-icon"):""},tt,reactExports.createElement("div",{className:"".concat(_e,"-message")},at,o.message),reactExports.createElement("div",{className:"".concat(_e,"-description")},o.description),o.btn?reactExports.createElement("span",{className:"".concat(_e,"-btn")},o.btn):null),duration:et,closable:!0,onClose:o.onClose,onClick:o.onClick,key:o.key,style:o.style||{},className:o.className})})}var api={open:notice,close:function o($){Object.keys(notificationInstance).forEach(function(_e){return notificationInstance[_e].removeNotice($)})},config:setNotificationConfig,destroy:function o(){Object.keys(notificationInstance).forEach(function($){notificationInstance[$].destroy(),delete notificationInstance[$]})}};["success","info","warning","error"].forEach(function(o){api[o]=function($){return api.open(_extends$6(_extends$6({},$),{type:o}))}});api.warn=api.warning;const notification=api,index$e="";function getNextNotifiedState(o){const{archivedState:$}=o;return $?$.isLoading?"ENotifiedState.Progress":$.isAcknowledged?null:"ENotifiedState.Outcome":null}function updateNotification(o,$,_e){if(o===$)return;if(o&¬ification.close(o),$==="ENotifiedState.Progress"){notification.info({key:"ENotifiedState.Progress",description:null,duration:0,icon:jsxRuntimeExports.jsx(Icon$1,{type:"loading"}),message:"Archiving trace..."});return}const{acknowledge:et,archivedState:tt}=_e;if($==="ENotifiedState.Outcome")if(tt&&tt.error){const{error:rt}=tt;notification.warn({key:"ENotifiedState.Outcome",className:"ArchiveNotifier--errorNotification",message:jsxRuntimeExports.jsx(Message,{error:rt,wrap:!0}),description:jsxRuntimeExports.jsx(Details,{error:rt,wrap:!0}),duration:null,icon:jsxRuntimeExports.jsx(Icon$1,{type:"clock-circle-o",className:"ArchiveNotifier--errorIcon"}),onClose:et})}else if(tt&&tt.isArchived)notification.success({key:"ENotifiedState.Outcome",description:null,duration:null,icon:jsxRuntimeExports.jsx(Icon$1,{type:"clock-circle-o",className:"ArchiveNotifier--doneIcon"}),message:"This trace has been archived.",onClose:et});else throw new Error("Unexpected condition")}function processProps(o,$){const _e=getNextNotifiedState($);return updateNotification(o,_e,$),_e}class ArchiveNotifier extends reactExports.PureComponent{constructor($){super($);const _e=processProps(null,$);this.state={notifiedState:_e}}static getDerivedStateFromProps($,_e){return{notifiedState:processProps(_e.notifiedState,$)}}componentWillUnmount(){const{notifiedState:$}=this.state;$&¬ification.close($)}render(){return null}}const initialState$4={},actionTypes$1=generateActionTypes("@jaeger-ui/archive-trace",["ACKNOWLEDGE"]),fullActions$1=createActions({[actionTypes$1.ACKNOWLEDGE]:o=>o}),actions$2={...fullActions$1.jaegerUi.archiveTrace,archiveTrace};function acknowledge(o,{payload:$}){const _e=typeof $=="string"?$:null;if(!_e)throw new Error("Invalid state, missing traceID for archive acknowledge");const et=o[_e];if(et&&et.isLoading)return o;const tt={...et,isAcknowledged:!0};return{...o,[_e]:tt}}function archiveStarted(o,{meta:$}){return{...o,[$.id]:{isLoading:!0}}}function archiveDone(o,{meta:$}){return{...o,[$.id]:{isArchived:!0,isAcknowledged:!1}}}function archiveErred(o,{meta:$,payload:_e}){if(!_e)throw new Error("Invalid state, missing API error details");const et={error:_e,isArchived:!1,isError:!0,isAcknowledged:!1};return{...o,[$.id]:et}}const archive=handleActions({[actionTypes$1.ACKNOWLEDGE]:acknowledge,[`${archiveTrace}_PENDING`]:archiveStarted,[`${archiveTrace}_FULFILLED`]:archiveDone,[`${archiveTrace}_REJECTED`]:archiveErred},initialState$4),CATEGORY_FILTER="jaeger/ux/trace/filter",CATEGORY_MATCH_INTERACTIONS="jaeger/ux/trace/match-interactions",CATEGORY_RANGE="jaeger/ux/trace/range",ACTION_FOCUS="focus",ACTION_NEXT="next",ACTION_PREV="previous",ACTION_RANGE_REFRAME="reframe",ACTION_RANGE_SHIFT="shift",trackFilter=getTrackFilter(CATEGORY_FILTER);function trackFocusMatches(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_FOCUS)}function trackNextMatch(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_NEXT)}function trackPrevMatch(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_PREV)}function getRangeAction(o,$){const[_e,et]=o,[tt,rt]=$;if(_e===tt||et===rt)return ACTION_RANGE_SHIFT;const at=(_e-tt).toPrecision(7),nt=(et-rt).toPrecision(7);return at===nt?ACTION_RANGE_SHIFT:ACTION_RANGE_REFRAME}function trackRange(o,$,_e){const et=getRangeAction($,_e);trackEvent(CATEGORY_RANGE,et,o)}var CombokeysExports={},Combokeys$1={get exports(){return CombokeysExports},set exports(o){CombokeysExports=o}},bind=function(o,$,_e){var et=this;return o=o instanceof Array?o:[o],et.bindMultiple(o,$,_e),et},bindMultiple=function(o,$,_e){for(var et=this,tt=0;tt-1)return!1;var _e=$.tagName.toLowerCase();return _e==="input"||_e==="select"||_e==="textarea"||$.isContentEditable},isModifier,hasRequiredIsModifier;function requireIsModifier(){return hasRequiredIsModifier||(hasRequiredIsModifier=1,isModifier=function(o){return o==="shift"||o==="ctrl"||o==="alt"||o==="meta"}),isModifier}var handleKey=function(o,$,_e){var et=this,tt,rt,at={},nt=0,it=!1,ot,st;for(tt=et.getMatches(o,$,_e),rt=0;rt1){rt.bindSequence(o,at,$,_e);return}nt=rt.getKeyInfo(o,_e),rt.callbacks[nt.key]=rt.callbacks[nt.key]||[],rt.getMatches(nt.key,nt.modifiers,{type:nt.action},et,o,tt),rt.callbacks[nt.key][et?"unshift":"push"]({callback:$,modifiers:nt.modifiers,action:nt.action,seq:et,level:tt,combo:o})},keysFromString,hasRequiredKeysFromString;function requireKeysFromString(){return hasRequiredKeysFromString||(hasRequiredKeysFromString=1,keysFromString=function(o){return o==="+"?["+"]:o.split("+")}),keysFromString}var specialAliases,hasRequiredSpecialAliases;function requireSpecialAliases(){return hasRequiredSpecialAliases||(hasRequiredSpecialAliases=1,specialAliases={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}),specialAliases}var shiftMap,hasRequiredShiftMap;function requireShiftMap(){return hasRequiredShiftMap||(hasRequiredShiftMap=1,shiftMap={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}),shiftMap}var getKeyInfo=function(o,$){var _e=this,et,tt,rt,at,nt=[],it,ot,st;for(et=requireKeysFromString(),tt=et(o),it=requireSpecialAliases(),ot=requireShiftMap(),st=requireIsModifier(),at=0;at95&&et<112||_e.hasOwnProperty(et)&&($.REVERSE_MAP[_e[et]]=et)}return $.REVERSE_MAP},modifiersMatch,hasRequiredModifiersMatch;function requireModifiersMatch(){return hasRequiredModifiersMatch||(hasRequiredModifiersMatch=1,modifiersMatch=function(o,$){return o.sort().join(",")===$.sort().join(",")}),modifiersMatch}var getMatches=function(o,$,_e,et,tt,rt){var at=this,nt,it,ot=[],st=_e.type,lt,ct;if(st==="keypress"&&!(_e.code&&_e.code.slice(0,5)==="Arrow")){var ut=at.callbacks["any-character"]||[];ut.forEach(function(vt){ot.push(vt)})}if(!at.callbacks[o])return ot;for(lt=requireIsModifier(),st==="keyup"&<(o)&&($=[o]),nt=0;nt{const et=o[_e];et&&$.bind(keyboardMappings[_e].binding,et)})}function reset(){getInstance().reset()}var tweenFunctions={linear:function(o,$,_e,et){var tt=_e-$;return tt*o/et+$},easeInQuad:function(o,$,_e,et){var tt=_e-$;return tt*(o/=et)*o+$},easeOutQuad:function(o,$,_e,et){var tt=_e-$;return-tt*(o/=et)*(o-2)+$},easeInOutQuad:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?tt/2*o*o+$:-tt/2*(--o*(o-2)-1)+$},easeInCubic:function(o,$,_e,et){var tt=_e-$;return tt*(o/=et)*o*o+$},easeOutCubic:function(o,$,_e,et){var tt=_e-$;return tt*((o=o/et-1)*o*o+1)+$},easeInOutCubic:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?tt/2*o*o*o+$:tt/2*((o-=2)*o*o+2)+$},easeInQuart:function(o,$,_e,et){var tt=_e-$;return tt*(o/=et)*o*o*o+$},easeOutQuart:function(o,$,_e,et){var tt=_e-$;return-tt*((o=o/et-1)*o*o*o-1)+$},easeInOutQuart:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?tt/2*o*o*o*o+$:-tt/2*((o-=2)*o*o*o-2)+$},easeInQuint:function(o,$,_e,et){var tt=_e-$;return tt*(o/=et)*o*o*o*o+$},easeOutQuint:function(o,$,_e,et){var tt=_e-$;return tt*((o=o/et-1)*o*o*o*o+1)+$},easeInOutQuint:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?tt/2*o*o*o*o*o+$:tt/2*((o-=2)*o*o*o*o+2)+$},easeInSine:function(o,$,_e,et){var tt=_e-$;return-tt*Math.cos(o/et*(Math.PI/2))+tt+$},easeOutSine:function(o,$,_e,et){var tt=_e-$;return tt*Math.sin(o/et*(Math.PI/2))+$},easeInOutSine:function(o,$,_e,et){var tt=_e-$;return-tt/2*(Math.cos(Math.PI*o/et)-1)+$},easeInExpo:function(o,$,_e,et){var tt=_e-$;return o==0?$:tt*Math.pow(2,10*(o/et-1))+$},easeOutExpo:function(o,$,_e,et){var tt=_e-$;return o==et?$+tt:tt*(-Math.pow(2,-10*o/et)+1)+$},easeInOutExpo:function(o,$,_e,et){var tt=_e-$;return o===0?$:o===et?$+tt:(o/=et/2)<1?tt/2*Math.pow(2,10*(o-1))+$:tt/2*(-Math.pow(2,-10*--o)+2)+$},easeInCirc:function(o,$,_e,et){var tt=_e-$;return-tt*(Math.sqrt(1-(o/=et)*o)-1)+$},easeOutCirc:function(o,$,_e,et){var tt=_e-$;return tt*Math.sqrt(1-(o=o/et-1)*o)+$},easeInOutCirc:function(o,$,_e,et){var tt=_e-$;return(o/=et/2)<1?-tt/2*(Math.sqrt(1-o*o)-1)+$:tt/2*(Math.sqrt(1-(o-=2)*o)+1)+$},easeInElastic:function(o,$,_e,et){var tt=_e-$,rt,at,nt;return nt=1.70158,at=0,rt=tt,o===0?$:(o/=et)===1?$+tt:(at||(at=et*.3),rt{this.timeoutID=void 0,this.requestID=void 0;const nt=Object.freeze(this.getCurrent());this.callbackUpdate&&this.callbackUpdate(nt),this.callbackComplete&&nt.done&&this.callbackComplete(nt),nt.done?(this.callbackComplete=void 0,this.callbackUpdate=void 0):this.requestID=window.requestAnimationFrame(this._frameCallback)},this.startTime=Date.now()+(tt||0),this.duration=$,this.from=_e,this.to=et,!rt&&!at?(this.callbackComplete=void 0,this.callbackUpdate=void 0,this.timeoutID=void 0,this.requestID=void 0):(this.callbackComplete=at,this.callbackUpdate=rt,tt?(this.timeoutID=window.setTimeout(this._frameCallback,tt),this.requestID=void 0):(this.requestID=window.requestAnimationFrame(this._frameCallback),this.timeoutID=void 0))}cancel(){this.timeoutID!=null&&(clearTimeout(this.timeoutID),this.timeoutID=void 0),this.requestID!=null&&(window.cancelAnimationFrame(this.requestID),this.requestID=void 0),this.callbackComplete=void 0,this.callbackUpdate=void 0}getCurrent(){const $=Date.now()-this.startTime;return $<=0?{done:!1,value:this.from}:$>=this.duration?{done:!0,value:this.to}:{done:!1,value:tweenFunctions_1.easeOutQuint($,this.from,this.to,this.duration)}}}const DURATION_MS=350;let lastTween;function _onTweenUpdate({done:o,value:$}){window.scrollTo(window.scrollX,$),o&&(lastTween=void 0)}function scrollBy(o,$=!1){const{scrollY:_e}=window;let et=_e;if($&&lastTween){const rt=lastTween.to<_e?"up":"down",at=o<0?"up":"down";rt===at&&(et=lastTween.to)}const tt=et+o;lastTween=new Tween({to:tt,duration:DURATION_MS,from:_e,onUpdate:_onTweenUpdate})}function scrollTo(o){const{scrollY:$}=window;lastTween=new Tween({duration:DURATION_MS,from:$,to:o,onUpdate:_onTweenUpdate})}function cancel(){lastTween&&(lastTween.cancel(),lastTween=void 0)}function isSpanHidden(o,$,_e){const et=new Set;let{references:tt}=o,rt;const at=nt=>nt.refType==="CHILD_OF"||nt.refType==="FOLLOWS_FROM"?(rt=nt.spanID,et.add(rt),$.has(rt)):!1;for(;Array.isArray(tt)&&tt.length;){const nt=tt.some(at);if(nt)return{isHidden:nt,parentIDs:et};if(!rt)break;const it=_e.get(rt);rt=void 0,tt=it&&it.references}return{parentIDs:et,isHidden:!1}}class ScrollManager{constructor($,_e){this.setAccessors=et=>{this._accessors=et},this.scrollPageDown=()=>{!this._scroller||!this._accessors||this._scroller.scrollBy(.95*this._accessors.getViewHeight(),!0)},this.scrollPageUp=()=>{!this._scroller||!this._accessors||this._scroller.scrollBy(-.95*this._accessors.getViewHeight(),!0)},this.scrollToNextVisibleSpan=()=>{this._scrollToVisibleSpan(1)},this.scrollToPrevVisibleSpan=()=>{this._scrollToVisibleSpan(-1)},this.scrollToFirstVisibleSpan=()=>{this._scrollToVisibleSpan(1,0)},this._trace=$,this._scroller=_e,this._accessors=void 0}_scrollPast($,_e){const et=this._accessors;if(!et)throw new Error("Accessors not set");const tt=_e<0,rt=et.getRowPosition($);if(!rt){console.warn("Invalid row index");return}let{y:at}=rt;const nt=et.getViewHeight();tt||(at+=rt.height,at-=nt),at+=_e*.5*nt,this._scroller.scrollTo(at)}_scrollToVisibleSpan($,_e){const et=this._accessors;if(!et)throw new Error("Accessors not set");if(!this._trace)return;const{duration:tt,spans:rt,startTime:at}=this._trace,nt=$<0;let it;_e!=null?it=_e:nt?it=et.getTopRowIndexVisible():it=et.getBottomRowIndexVisible();const ot=et.mapRowIndexToSpanIndex(it);if(ot===0&&nt||ot===rt.length-1&&!nt)return;let st=ot;ot!==0&&ot!==rt.length-1&&(st-=$);const[lt,ct]=et.getViewRange(),ut=lt!==0||ct!==1,ft=ut?at+tt*lt:NaN,At=ut?at+tt*ct:NaN,vt=et.getSearchedSpanIDs(),ht=et.getCollapsedChildren(),mt=ht?new Set(ht):null,bt=mt?new Map(rt.map(gt=>[gt.spanID,gt])):new Map,dt=$<0?-1:rt.length;let xt;for(let gt=st+$;gt!==dt;gt+=$){const wt=rt[gt],{duration:_t,spanID:Et,startTime:It}=wt,Tt=It+_t;if(!(ut&&(It>At||Ttmt.add(Mt));continue}}xt=gt;break}}if((!xt||xt===dt)&&(xt=dt-$,mt)){let gt;do{const{isHidden:wt,parentIDs:_t}=isSpanHidden(rt[xt],mt,bt);wt&&(_t.forEach(Et=>mt.add(Et)),xt--),gt=wt}while(gt)}const Ct=et.mapSpanIndexToRowIndex(xt);this._scrollPast(Ct,$)}setTrace($){this._trace=$}destroy(){this._trace=void 0,this._scroller=void 0,this._accessors=void 0}}class SubRange{constructor($,_e){this.low=$,this.high=_e,this.length=1+_e-$}overlaps($){return $.low<=this.high&&this.low<=$.high}touches($){return $.low<=this.high+1&&this.low-1<=$.high}covers($){return this.low<=$.low&&$.high<=this.high}isInside($){return $.low$+_e.length,0)}add($,_e){const et=tt=>{let rt=0;for(;rt{let rt=0;for(;rt{let at=0;for(;at{let et=_e.low;for(;et<=_e.high;)$.push(et),et++;return $},[])}subranges(){return this.ranges.map($=>({low:$.low,high:$.high,length:1+$.high-$.low}))}}var lib=DRange;let parentChildOfMap;function isError(o){if(o){const $=o.find(_e=>_e.key==="error");if($)return $.value}return!1}function mapFollowsFrom(o,$){return o.map(_e=>{let et=!0;return typeof _e.to=="number"&&(et=$[_e.to].members.some(rt=>rt.span.references&&rt.span.references.some(at=>at.refType==="CHILD_OF"))),{..._e,followsFrom:!et}})}function getChildOfSpans(o,$){return parentChildOfMap||(parentChildOfMap={},$.spans.forEach(_e=>{_e.references&&_e.references.filter(tt=>tt.refType==="CHILD_OF").map(tt=>tt.spanID).forEach(tt=>{parentChildOfMap[tt]=parentChildOfMap[tt]||[],parentChildOfMap[tt].push(_e)})})),parentChildOfMap[o]||[]}function getChildOfDrange(o,$){const _e=new lib;return getChildOfSpans(o,$).forEach(et=>{_e.add(et.startTime,et.startTime+(et.duration<=0?0:et.duration-1))}),_e}function calculateTraceDag(o){const $=TraceDag.newFromTrace(o),_e=new TraceDag;return $.nodesMap.forEach(et=>{const tt=et.members.reduce((it,ot)=>it+ot.span.duration,0),rt=et.members.reduce((it,ot)=>it+isError(ot.span.tags)?1:0,0),at=et.members.reduce((it,ot)=>{const st=new lib(ot.span.startTime,ot.span.startTime+ot.span.duration).intersect(getChildOfDrange(ot.span.spanID,o));return it+st.length},0),nt=tt-at;_e.addNode(et.id,et.parentID,{...et,count:et.members.length,errors:rt,time:tt,percent:100/o.duration*tt,selfTime:nt,percentSelfTime:100/tt*nt})}),_e}function calculateTraceDagEV(o){const $=calculateTraceDag(o),_e=[...$.nodesMap.values()],et=convPlexus($.nodesMap),tt=mapFollowsFrom(et.edges,_e);return{...et,edges:tt}}const index$d="";function _extends$5(){return _extends$5=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf$1(o){return _getPrototypeOf$1=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf$1(o)}var __rest=globalThis&&globalThis.__rest||function(o,$){var _e={};for(var et in o)Object.prototype.hasOwnProperty.call(o,et)&&$.indexOf(et)<0&&(_e[et]=o[et]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var tt=0,et=Object.getOwnPropertySymbols(o);tt{this.setState({showHelp:!0})},this.closeSidebar=()=>{this.setState({showHelp:!1})},this.state={showHelp:!1,mode:MODE_SERVICE},this.layoutManager=new LayoutManager({totalMemory:(_e=$.traceGraphConfig)==null?void 0:_e.layoutManagerMemory,useDotEdges:!0,splines:"polyline"})}componentWillUnmount(){this.layoutManager.stopAndRelease()}toggleNodeMode($){this.setState({mode:$})}render(){const{ev:$,headerHeight:_e,uiFind:et,uiFindVertexKeys:tt}=this.props,{showHelp:rt,mode:at}=this.state;if(!$)return jsxRuntimeExports.jsx("h1",{className:"u-mt-vast u-tx-muted ub-tx-center",children:"No trace found"});const nt=classnamesExports("TraceGraph--graphWrapper",{"is-uiFind-mode":et});return jsxRuntimeExports.jsxs("div",{className:nt,style:{paddingTop:_e+47},children:[jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,className:"TraceGraph--dag",minimapClassName:"u-miniMap",layoutManager:this.layoutManager,measurableNodesKey:"nodes",layers:[{key:"node-find-emphasis",layerType:"svg",renderNode:getNodeFindEmphasisRenderer(tt)},{key:"edges",edges:!0,layerType:"svg",defs:[{localId:"arrow"}],markerEndId:"arrow",setOnContainer:[scaleOpacity,scaleStrokeOpacity],setOnEdge:setOnEdgePath},{key:"nodes-borders",layerType:"svg",setOnContainer:scaleStrokeOpacity,renderNode:renderNodeVectorBorder},{key:"nodes",layerType:"html",measurable:!0,renderNode:defaultScope(`trace-graph/nodes/render/${at}`,getNodeRenderer(at))}],setOnGraph:classNameIsSmall,edges:$.edges,vertices:$.vertices}),jsxRuntimeExports.jsx("a",{className:"TraceGraph--experimental",href:"https://github.com/jaegertracing/jaeger-ui/issues/293",target:"_blank",rel:"noopener noreferrer",children:"Experimental"}),jsxRuntimeExports.jsxs("div",{className:"TraceGraph--sidebar-container",children:[jsxRuntimeExports.jsxs("ul",{className:"TraceGraph--menu",children:[jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Icon$1,{type:"question-circle",onClick:this.showHelp})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Service",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-service",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_SERVICE),children:"S"})})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Time",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-time",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_TIME),children:"T"})})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Selftime",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-selftime",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_SELFTIME),children:"ST"})})})]}),rt&&jsxRuntimeExports.jsx(Card,{title:"Help",bordered:!1,extra:jsxRuntimeExports.jsx("a",{onClick:this.closeSidebar,role:"button",children:jsxRuntimeExports.jsx(Icon$1,{type:"close"})}),children:HELP_CONTENT})]})]})}}TraceGraph.defaultProps={ev:null};const OPEN="open",CLOSE="close";function getToggleValue(o){return o?CLOSE:OPEN}const CATEGORY_ALT_VIEW="jaeger/ux/trace/alt-view",CATEGORY_SLIM_HEADER="jaeger/ux/trace/slim-header",ACTION_GANTT="gantt",ACTION_GRAPH="graph",ACTION_JSON="json",ACTION_RAW_JSON="rawJson",ACTION_STATISTICS="traceStatistics",ACTION_TRACE_SPANS_VIEW="tracesSpansView",trackGanttView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_GANTT),trackGraphView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_GRAPH),trackJsonView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_JSON),trackRawJsonView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_RAW_JSON),trackStatisticsView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_STATISTICS),trackTraceSpansView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_TRACE_SPANS_VIEW),trackSlimHeaderToggle=o=>trackEvent(CATEGORY_SLIM_HEADER,getToggleValue(o));var baseExtremum=_baseExtremum,baseGt=_baseGt,baseIteratee$1=_baseIteratee;function maxBy(o,$){return o&&o.length?baseExtremum(o,baseIteratee$1($),baseGt):void 0}var maxBy_1=maxBy,valuesExports=requireValues();const _values=getDefaultExportFromCjs(valuesExports);var androidArrowBackExports={},androidArrowBack={get exports(){return androidArrowBackExports},set exports(o){androidArrowBackExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st(o.TraceTimelineViewer="TraceTimelineViewer",o.TraceGraph="TraceGraph",o.TraceStatistics="TraceStatistics",o.TraceSpansView="TraceSpansView",o.TraceFlamegraph="TraceFlamegraph",o))(ETraceViewType||{});const MENU_ITEMS=[{viewType:ETraceViewType.TraceTimelineViewer,label:"Trace Timeline"},{viewType:ETraceViewType.TraceGraph,label:"Trace Graph"},{viewType:ETraceViewType.TraceStatistics,label:"Trace Statistics"},{viewType:ETraceViewType.TraceSpansView,label:"Trace Spans Table"},{viewType:ETraceViewType.TraceFlamegraph,label:"Trace Flamegraph"}];function AltViewOptions(o){const{onTraceViewChange:$,viewType:_e,traceID:et}=o,tt=it=>{it===ETraceViewType.TraceTimelineViewer?trackGanttView():it===ETraceViewType.TraceGraph?trackGraphView():it===ETraceViewType.TraceStatistics?trackStatisticsView():it===ETraceViewType.TraceSpansView&&trackTraceSpansView(),$(it)},rt=()=>{var ot;const it=(ot=window.baseUrl)!=null?ot:window.apiBaseUrl;return jsxRuntimeExports.jsxs(Menu,{children:[MENU_ITEMS.filter(st=>st.viewType!==_e).map(st=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{onClick:()=>tt(st.viewType),role:"button",children:st.label})},st.viewType)),jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{href:`${it}/api/traces/${et}?prettyPrint=true`,rel:"noopener noreferrer",target:"_blank",onClick:trackJsonView,children:"Trace JSON"})}),jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{href:`${it}/api/traces/${et}?raw=true&prettyPrint=true`,rel:"noopener noreferrer",target:"_blank",onClick:trackRawJsonView,children:"Trace JSON (unadjusted)"})})]})},at=MENU_ITEMS.find(it=>it.viewType===_e),nt=at?at.label:"Alternate Views";return jsxRuntimeExports.jsx(Dropdown,{overlay:rt,children:jsxRuntimeExports.jsxs(Button$2,{className:"AltViewOptions",children:[`${nt} `,jsxRuntimeExports.jsx(Icon$1,{type:"down"})]})})}const CATEGORY="jaeger/ux/trace/kbd-modal",track$1=trackEvent.bind(null,CATEGORY,OPEN),KeyboardShortcutsHelp$1="",{Column}=Table$1,SYMBOL_CONV={up:"↑",right:"→",down:"↓",left:"←",shift:"⇧"},ODD_ROW_CLASS="KeyboardShortcutsHelp--oddRow";function convertKeys(o){return(Array.isArray(o)?o:[o]).map(_e=>_e.split("+").map(et=>SYMBOL_CONV[et]||et.toUpperCase()))}const padLeft=o=>jsxRuntimeExports.jsx("span",{className:"ub-pl4",children:o}),padRight=o=>jsxRuntimeExports.jsx("span",{className:"ub-pr4",children:o}),getRowClass=(o,$)=>$%2>0?ODD_ROW_CLASS:"";let kbdTable=null;function getHelpModal(){if(kbdTable)return kbdTable;const o=[];return Object.keys(keyboardMappings).forEach($=>{const{binding:_e,label:et}=keyboardMappings[$],tt=convertKeys(_e);o.push(...tt.map(rt=>({key:String(rt),kbds:jsxRuntimeExports.jsx("kbd",{children:rt.join(" ")}),description:et})))}),kbdTable=jsxRuntimeExports.jsxs(Table$1,{className:"KeyboardShortcutsHelp--table u-simple-scrollbars",dataSource:o,size:"middle",pagination:!1,showHeader:!1,rowClassName:getRowClass,children:[jsxRuntimeExports.jsx(Column,{title:"Description",dataIndex:"description",render:padLeft},"description"),jsxRuntimeExports.jsx(Column,{title:"Key(s)",dataIndex:"kbds",align:"right",render:padRight},"kbds")]}),kbdTable}class KeyboardShortcutsHelp extends reactExports.PureComponent{constructor(){super(...arguments),this.state={visible:!1},this.onCtaClicked=()=>{track$1(),this.setState({visible:!0})},this.onCloserClicked=()=>this.setState({visible:!1})}render(){const{className:$}=this.props;return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$2,{className:$,htmlType:"button",onClick:this.onCtaClicked,children:jsxRuntimeExports.jsx("span",{className:"KeyboardShortcutsHelp--cta",children:"⌘"})}),jsxRuntimeExports.jsx(Modal,{title:"Keyboard Shortcuts",visible:this.state.visible,onOk:this.onCloserClicked,onCancel:this.onCloserClicked,cancelButtonProps:{style:{display:"none"}},bodyStyle:{padding:0},children:getHelpModal()})]})}}const BG_COLOR="#fff",ITEM_ALPHA=.8,MIN_ITEM_HEIGHT=2,MAX_TOTAL_HEIGHT=200,MIN_ITEM_WIDTH=10,MIN_TOTAL_HEIGHT=60,MAX_ITEM_HEIGHT=6;function renderIntoCanvas(o,$,_e,et){const tt=new Map,rt=$.lengthcolorGenerator.getRgbColorByKey(o);class CanvasSpanGraph extends reactExports.PureComponent{constructor($){super($),this._setCanvasRef=_e=>{this._canvasElm=_e},this._canvasElm=void 0}componentDidMount(){this._draw()}componentDidUpdate(){this._draw()}_draw(){if(this._canvasElm){const{valueWidth:$,items:_e}=this.props;renderIntoCanvas(this._canvasElm,_e,$,getColor)}}render(){return jsxRuntimeExports.jsx("canvas",{className:"CanvasSpanGraph",ref:this._setCanvasRef})}}const TickLabels$1="";function TickLabels(o){const{numTicks:$,duration:_e}=o,et=[];for(let tt=0;tt<$+1;tt++){const rt=tt/$,at=rt===1?{right:"0%"}:{left:`${rt*100}%`};et.push(jsxRuntimeExports.jsx("div",{className:"TickLabels--label",style:at,"data-test":"tick",children:formatDuration(_e*rt)},rt))}return jsxRuntimeExports.jsx("div",{className:"TickLabels",children:et})}const GraphTicks$1="";function GraphTicks(o){const{numTicks:$}=o,_e=[];for(let et=1;et<$;et++){const tt=`${et/$*100}%`;_e.push(jsxRuntimeExports.jsx("line",{className:"GraphTick",x1:tt,y1:"0%",x2:tt,y2:"100%"},et/$))}return jsxRuntimeExports.jsx("g",{"data-test":"ticks","aria-hidden":"true",children:_e})}const Scrubber$1="";function Scrubber({isDragging:o,onMouseDown:$,onMouseEnter:_e,onMouseLeave:et,position:tt}){const rt=`${tt*100}%`,at=classnamesExports("Scrubber",{isDragging:o});return jsxRuntimeExports.jsxs("g",{className:at,children:[jsxRuntimeExports.jsxs("g",{className:"Scrubber--handles",onMouseDown:$,onMouseEnter:_e,onMouseLeave:et,children:[jsxRuntimeExports.jsx("rect",{x:rt,className:"Scrubber--handleExpansion",style:{transform:"translate(-4.5px)"},width:"9",height:"20"}),jsxRuntimeExports.jsx("rect",{x:rt,className:"Scrubber--handle",style:{transform:"translate(-1.5px)"},width:"3",height:"20"})]}),jsxRuntimeExports.jsx("line",{className:"Scrubber--line",y2:"100%",x1:rt,x2:rt})]})}const ViewingLayer$1="",dragTypes={SHIFT_END:"SHIFT_END",SHIFT_START:"SHIFT_START",REFRAME:"REFRAME"};function getNextViewLayout$1(o,$){const[_e,et]=o<$?[o,$]:[$,o];return{x:`${_e*100}%`,width:`${(et-_e)*100}%`,leadingX:`${$*100}%`}}class ViewingLayer extends reactExports.PureComponent{constructor($){super($),this._setRoot=_e=>{this._root=_e},this._getDraggingBounds=_e=>{if(!this._root)throw new Error("invalid state");const{left:et,width:tt}=this._root.getBoundingClientRect(),[rt,at]=this.props.viewRange.time.current;let nt=1,it=0;return _e===dragTypes.SHIFT_START?nt=at:_e===dragTypes.SHIFT_END&&(it=rt),{clientXLeft:et,maxValue:nt,minValue:it,width:tt}},this._handleReframeMouseMove=({value:_e})=>{this.props.updateNextViewRangeTime({cursor:_e})},this._handleReframeMouseLeave=()=>{this.props.updateNextViewRangeTime({cursor:null})},this._handleReframeDragUpdate=({value:_e})=>{const et=_e,{time:tt}=this.props.viewRange,at={reframe:{anchor:tt.reframe?tt.reframe.anchor:et,shift:et}};this.props.updateNextViewRangeTime(at)},this._handleReframeDragEnd=({manager:_e,value:et})=>{const{time:tt}=this.props.viewRange,rt=tt.reframe?tt.reframe.anchor:et,[at,nt]=et{const et=_e===EUpdateTypes.MouseEnter;this.setState({preventCursorLine:et})},this._handleScrubberDragUpdate=({event:_e,tag:et,type:tt,value:rt})=>{tt===EUpdateTypes.DragStart&&_e.stopPropagation(),et===dragTypes.SHIFT_START?this.props.updateNextViewRangeTime({shiftStart:rt}):et===dragTypes.SHIFT_END&&this.props.updateNextViewRangeTime({shiftEnd:rt})},this._handleScrubberDragEnd=({manager:_e,tag:et,value:tt})=>{const[rt,at]=this.props.viewRange.time.current;let nt;if(et===dragTypes.SHIFT_START)nt=[tt,at];else if(et===dragTypes.SHIFT_END)nt=[rt,tt];else throw new Error("bad state");_e.resetBounds(),this.setState({preventCursorLine:!1}),this.props.updateViewRangeTime(nt[0],nt[1],"minimap")},this._resetTimeZoomClickHandler=()=>{this.props.updateViewRangeTime(0,1)},this._draggerReframe=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleReframeDragEnd,onDragMove:this._handleReframeDragUpdate,onDragStart:this._handleReframeDragUpdate,onMouseMove:this._handleReframeMouseMove,onMouseLeave:this._handleReframeMouseLeave,tag:dragTypes.REFRAME}),this._draggerStart=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleScrubberDragEnd,onDragMove:this._handleScrubberDragUpdate,onDragStart:this._handleScrubberDragUpdate,onMouseEnter:this._handleScrubberEnterLeave,onMouseLeave:this._handleScrubberEnterLeave,tag:dragTypes.SHIFT_START}),this._draggerEnd=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleScrubberDragEnd,onDragMove:this._handleScrubberDragUpdate,onDragStart:this._handleScrubberDragUpdate,onMouseEnter:this._handleScrubberEnterLeave,onMouseLeave:this._handleScrubberEnterLeave,tag:dragTypes.SHIFT_END}),this._root=void 0,this.state={preventCursorLine:!1}}componentWillUnmount(){this._draggerReframe.dispose(),this._draggerEnd.dispose(),this._draggerStart.dispose()}_getMarkers($,_e,et){const tt=getNextViewLayout$1($,_e),rt=classnamesExports({isShiftDrag:et,isReframeDrag:!et});return[jsxRuntimeExports.jsx("rect",{className:`ViewingLayer--draggedShift ${rt}`,x:tt.x,y:"0",width:tt.width,height:this.props.height-2},"fill"),jsxRuntimeExports.jsx("rect",{className:`ViewingLayer--draggedEdge ${rt}`,x:tt.leadingX,y:"0",width:"1",height:this.props.height-2},"edge")]}render(){const{height:$,viewRange:_e,numTicks:et}=this.props,{preventCursorLine:tt}=this.state,{current:rt,cursor:at,shiftStart:nt,shiftEnd:it,reframe:ot}=_e.time,st=nt!=null||it!=null||ot!=null,[lt,ct]=rt;let ut=0;lt&&(ut=lt*100);let ft=100;ct&&(ft=100-ct*100);let At;return!st&&at!=null&&!tt&&(At=`${at*100}%`),jsxRuntimeExports.jsxs("div",{"aria-hidden":!0,className:"ViewingLayer",style:{height:$},children:[(lt!==0||ct!==1)&&jsxRuntimeExports.jsx(Button$2,{onClick:this._resetTimeZoomClickHandler,className:"ViewingLayer--resetZoom",htmlType:"button",children:"Reset Selection"}),jsxRuntimeExports.jsxs("svg",{height:$,className:"ViewingLayer--graph",ref:this._setRoot,onMouseDown:this._draggerReframe.handleMouseDown,onMouseLeave:this._draggerReframe.handleMouseLeave,onMouseMove:this._draggerReframe.handleMouseMove,children:[ut>0&&jsxRuntimeExports.jsx("rect",{x:0,y:0,height:"100%",width:`${ut}%`,className:"ViewingLayer--inactive"}),ft>0&&jsxRuntimeExports.jsx("rect",{x:`${100-ft}%`,y:0,height:"100%",width:`${ft}%`,className:"ViewingLayer--inactive"}),jsxRuntimeExports.jsx(GraphTicks,{numTicks:et}),At&&jsxRuntimeExports.jsx("line",{className:"ViewingLayer--cursorGuide",x1:At,y1:"0",x2:At,y2:$-2,strokeWidth:"1"}),nt!=null&&this._getMarkers(lt,nt,!0),it!=null&&this._getMarkers(ct,it,!0),jsxRuntimeExports.jsx(Scrubber,{isDragging:nt!=null,onMouseDown:this._draggerStart.handleMouseDown,onMouseEnter:this._draggerStart.handleMouseEnter,onMouseLeave:this._draggerStart.handleMouseLeave,position:lt||0}),jsxRuntimeExports.jsx(Scrubber,{isDragging:it!=null,position:ct||1,onMouseDown:this._draggerEnd.handleMouseDown,onMouseEnter:this._draggerEnd.handleMouseEnter,onMouseLeave:this._draggerEnd.handleMouseLeave}),ot!=null&&this._getMarkers(ot.anchor,ot.shift,!1)]}),st&&jsxRuntimeExports.jsx("div",{className:"ViewingLayer--fullOverlay"})]})}}const DEFAULT_HEIGHT=60,TIMELINE_TICK_INTERVAL=4;function getItem(o){return{valueOffset:o.relativeStartTime,valueWidth:o.duration,serviceName:o.process.serviceName}}function getItems(o){return o.spans.map(getItem)}const memoizedGetItems=memoizeOne$1(getItems);class SpanGraph extends reactExports.PureComponent{render(){const{height:$,trace:_e,viewRange:et,updateNextViewRangeTime:tt,updateViewRangeTime:rt}=this.props;if(!_e)return jsxRuntimeExports.jsx("div",{});const at=memoizedGetItems(_e);return jsxRuntimeExports.jsxs("div",{className:"ub-pb2 ub-px2",children:[jsxRuntimeExports.jsx(TickLabels,{numTicks:TIMELINE_TICK_INTERVAL,duration:_e.duration}),jsxRuntimeExports.jsxs("div",{className:"ub-relative",children:[jsxRuntimeExports.jsx(CanvasSpanGraph,{valueWidth:_e.duration,items:at}),jsxRuntimeExports.jsx(ViewingLayer,{viewRange:et,numTicks:TIMELINE_TICK_INTERVAL,height:$||DEFAULT_HEIGHT,updateViewRangeTime:rt,updateNextViewRangeTime:tt})]})]})}}SpanGraph.defaultProps={height:DEFAULT_HEIGHT};const IN_TRACE_SEARCH="in-trace-search",TracePageSearchBar$1="";function TracePageSearchBarFn(o){const{clearSearch:$,focusUiFindMatches:_e,forwardedRef:et,navigable:tt,nextResult:rt,prevResult:at,resultCount:nt,textFilter:it}=o,ot=it?jsxRuntimeExports.jsx("span",{className:"TracePageSearchBar--count",children:nt}):null,st=classnamesExports("TracePageSearchBar--btn",{"is-disabled":!it}),lt={"data-test":IN_TRACE_SEARCH,className:"TracePageSearchBar--bar ub-flex-auto",name:"search",suffix:ot};return jsxRuntimeExports.jsx("div",{className:"TracePageSearchBar",children:jsxRuntimeExports.jsxs(Input$1.Group,{className:"ub-justify-end",compact:!0,style:{display:"flex"},children:[jsxRuntimeExports.jsx(UiFindInput,{inputProps:lt,forwardedRef:et,trackFindFunction:trackFilter}),tt&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$2,{className:classnamesExports(st,"TracePageSearchBar--locateBtn"),disabled:!it,htmlType:"button",onClick:_e,children:jsxRuntimeExports.jsx(IoAndroidLocate,{})}),jsxRuntimeExports.jsx(Button$2,{className:st,disabled:!it,htmlType:"button",icon:"up",onClick:at}),jsxRuntimeExports.jsx(Button$2,{className:st,disabled:!it,htmlType:"button",icon:"down",onClick:rt})]}),jsxRuntimeExports.jsx(Button$2,{className:st,disabled:!it,htmlType:"button",icon:"close",onClick:$})]})})}const TracePageSearchBar=reactExports.forwardRef((o,$)=>jsxRuntimeExports.jsx(TracePageSearchBarFn,{...o,forwardedRef:$})),LabeledList$1="";function LabeledList(o){const{className:$,dividerClassName:_e,items:et}=o;return jsxRuntimeExports.jsx("ul",{className:`LabeledList ${$||""}`,children:et.map(({key:tt,label:rt,value:at},nt)=>{const it=ntet));for(let et=0;etnt===o[et].traceID&&_e.has(it)))continue;if(!$){$=o[et];continue}const rt=o[et].references&&o[et].references.length||0,at=$.references&&$.references.length||0;(rto.length?o[0].traceID:0);var baseUniq=_baseUniq;function uniq(o){return o&&o.length?baseUniq(o):[]}var uniq_1=uniq;function getParent(o){const $=o.references?o.references.find(_e=>_e.refType==="CHILD_OF"):null;return $?$.span:null}function processTemplate(o,$){if(typeof o!="string"){if(o&&Array.isArray(o.parameters)&&typeof o.template=="function")return o;throw new Error("Invalid template")}return{parameters:getParamNames(o),template:encodedStringSupplant.bind(null,o,$)}}function createTestFunction(o){if(typeof o=="string")return $=>$===o;if(Array.isArray(o))return $=>o.indexOf($)>-1;if(o instanceof RegExp)return $=>o.test($);if(typeof o=="function")return o;if(o==null)return()=>!0;throw new Error(`Invalid value: ${o}`)}const identity=o=>o;function processLinkPattern(o){try{const $=processTemplate(o.url,encodeURIComponent),_e=processTemplate(o.text,identity);return{object:o,type:createTestFunction(o.type),key:createTestFunction(o.key),value:createTestFunction(o.value),url:$,text:_e,parameters:uniq_1($.parameters.concat(_e.parameters))}}catch($){return console.error(`Ignoring invalid link pattern: ${$}`,o),null}}function getParameterInArray(o,$){if($)return $.find(_e=>_e.key===o)}function getParameterInAncestor(o,$){let _e=$;for(;_e;){const et=getParameterInArray(o,_e.tags)||getParameterInArray(o,_e.process.tags);if(et)return et;_e=getParent(_e)}}const getValidTraceKeys=memoize(10)(o=>Object.keys(o).filter(_e=>typeof o[_e]=="string"||typeof o[_e]=="number"));function getParameterInTrace(o,$){if($){const _e=getValidTraceKeys($),et=o;if(_e.includes(et))return{key:et,value:$[et]}}}function callTemplate(o,$){return o.template($)}function computeTraceLink(o,$){const _e=[];return o.filter(et=>et.type("traces")).forEach(et=>{const tt={};et.parameters.every(at=>{const nt=getParameterInTrace(at,$);return nt?(tt[at]=nt.value,!0):!1})&&_e.push({url:callTemplate(et.url,tt),text:callTemplate(et.text,tt)})}),_e}function computeLinks(o,$,_e,et,tt){const rt=_e[et];let at="logs";const nt=$.process.tags===_e;nt&&(at="process"),$.tags===_e&&(at="tags");const ot=[];return o.forEach(st=>{if(st.type(at)&&st.key(rt.key)&&st.value(rt.value)){const lt={};st.parameters.every(ut=>{let ft;return ut.startsWith("trace.")?ft=getParameterInTrace(ut.split("trace.")[1],tt):(ft=getParameterInArray(ut,_e),!ft&&!nt&&(ft=getParameterInAncestor(ut,$))),ft?(lt[ut]=ft.value,!0):(console.warn(`Skipping link pattern, missing parameter ${ut} for key ${rt.key} in ${at}.`,st.object),!1)})&&ot.push({url:callTemplate(st.url,lt),text:callTemplate(st.text,lt)})}}),ot}function createGetLinks(o,$){return(_e,et,tt,rt)=>{if(o.length===0)return[];const at=et[tt];let nt=$.get(at);return nt||(nt=computeLinks(o,_e,et,tt,rt),$.set(at,nt)),nt}}const processedLinks=(getConfigValue("linkPatterns")||[]).map(processLinkPattern).filter(Boolean),getTraceLinks=memoize(10)(o=>{const $=[];return o?computeTraceLink(processedLinks,o):$}),getLinks=createGetLinks(processedLinks,new WeakMap),TracePageHeader$1="",LinkValue$1=o=>jsxRuntimeExports.jsxs("a",{href:o.href,title:o.title,target:"_blank",rel:"noopener noreferrer",className:o.className,children:[o.children," ",jsxRuntimeExports.jsx(NewWindowIcon,{})]}),linkValueList$1=o=>jsxRuntimeExports.jsx(Menu,{children:o.map(({text:$,url:_e},et)=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(LinkValue$1,{href:_e,children:$})},`${_e}-${et}`))});function ExternalLinks(o){const{links:$}=o;return $.length===1?jsxRuntimeExports.jsx(LinkValue$1,{href:$[0].url,title:$[0].text,className:"TracePageHeader--back"}):jsxRuntimeExports.jsx(Dropdown,{overlay:linkValueList$1($),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsx("a",{className:"TracePageHeader--back",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})})}var buttonGroup={},configProvider={},localeProvider={};const require$$2$1=getAugmentedNamespace(moment);var interopDefault={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=$;function $(_e){return _e.default||_e}})(interopDefault);var locale={},_default$2={},en_USExports$1={},en_US$4={get exports(){return en_USExports$1},set exports(o){en_USExports$1=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0}),$.default={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages"},o.exports=$.default})(en_US$4,en_USExports$1);var en_US$3={},en_USExports={},en_US$2={get exports(){return en_USExports},set exports(o){en_USExports=o}};(function(o,$){$.__esModule=!0,$.default={today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},o.exports=$.default})(en_US$2,en_USExports);var en_US$1={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $={placeholder:"Select time"},_e=$;o.default=_e})(en_US$1);(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $=et(en_USExports),_e=et(en_US$1);function et(nt){return nt&&nt.__esModule?nt:{default:nt}}function tt(){return tt=Object.assign||function(nt){for(var it=1;it"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(_t){return!1}}function xt(_t){return xt=Object.setPrototypeOf?Object.getPrototypeOf:function(It){return It.__proto__||Object.getPrototypeOf(It)},xt(_t)}var Ct="internalMark";o.ANT_MARK=Ct;function gt(_t){_t&&_t.locale?(0,tt.default)(et).locale(_t.locale):(0,tt.default)(et).locale("en")}var wt=function(_t){At(It,_t);var Et=ht(It);function It(Tt){var Rt;return ct(this,It),Rt=Et.call(this,Tt),gt(Tt.locale),(0,rt.changeConfirmLocale)(Tt.locale&&Tt.locale.Modal),(0,at.default)(Tt._ANT_MARK__===Ct,"LocaleProvider","`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale"),Rt}return ft(It,[{key:"getChildContext",value:function(){return{antLocale:lt(lt({},this.props.locale),{exist:!0})}}},{key:"componentDidUpdate",value:function(Rt){var Ot=this.props.locale;Rt.locale!==Ot&&(gt(Ot),(0,rt.changeConfirmLocale)(Ot&&Ot.Modal))}},{key:"componentWillUnmount",value:function(){(0,rt.changeConfirmLocale)()}},{key:"render",value:function(){return this.props.children}}]),It}($.Component);o.default=wt,wt.propTypes={locale:_e.object},wt.defaultProps={locale:{}},wt.childContextTypes={antLocale:_e.object}})(localeProvider);var LocaleReceiver={},_default={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $=_e(_default$2);function _e(tt){return tt&&tt.__esModule?tt:{default:tt}}var et=$.default;o.default=et})(_default);(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $=at(reactExports),_e=at(propTypesExports),et=tt(_default);function tt(dt){return dt&&dt.__esModule?dt:{default:dt}}function rt(){if(typeof WeakMap!="function")return null;var dt=new WeakMap;return rt=function(){return dt},dt}function at(dt){if(dt&&dt.__esModule)return dt;if(dt===null||nt(dt)!=="object"&&typeof dt!="function")return{default:dt};var xt=rt();if(xt&&xt.has(dt))return xt.get(dt);var Ct={},gt=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var wt in dt)if(Object.prototype.hasOwnProperty.call(dt,wt)){var _t=gt?Object.getOwnPropertyDescriptor(dt,wt):null;_t&&(_t.get||_t.set)?Object.defineProperty(Ct,wt,_t):Ct[wt]=dt[wt]}return Ct.default=dt,xt&&xt.set(dt,Ct),Ct}function nt(dt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?nt=function(Ct){return typeof Ct}:nt=function(Ct){return Ct&&typeof Symbol=="function"&&Ct.constructor===Symbol&&Ct!==Symbol.prototype?"symbol":typeof Ct},nt(dt)}function it(){return it=Object.assign||function(dt){for(var xt=1;xt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(dt){return!1}}function mt(dt){return mt=Object.setPrototypeOf?Object.getPrototypeOf:function(Ct){return Ct.__proto__||Object.getPrototypeOf(Ct)},mt(dt)}var bt=function(dt){ct(Ct,dt);var xt=ft(Ct);function Ct(){return ot(this,Ct),xt.apply(this,arguments)}return lt(Ct,[{key:"getLocale",value:function(){var wt=this.props,_t=wt.componentName,Et=wt.defaultLocale,It=Et||et.default[_t||"global"],Tt=this.context.antLocale,Rt=_t&&Tt?Tt[_t]:{};return it(it({},typeof It=="function"?It():It),Rt||{})}},{key:"getLocaleCode",value:function(){var wt=this.context.antLocale,_t=wt&&wt.locale;return wt&&wt.exist&&!_t?et.default.locale:_t}},{key:"render",value:function(){return this.props.children(this.getLocale(),this.getLocaleCode(),this.context.antLocale)}}]),Ct}($.Component);o.default=bt,bt.defaultProps={componentName:"global"},bt.contextTypes={antLocale:_e.object}})(LocaleReceiver);var context$1={},renderEmpty={},empty$1={},empty={};(function(o){function $(nt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(ot){return typeof ot}:$=function(ot){return ot&&typeof Symbol=="function"&&ot.constructor===Symbol&&ot!==Symbol.prototype?"symbol":typeof ot},$(nt)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=tt(reactExports);function et(){if(typeof WeakMap!="function")return null;var nt=new WeakMap;return et=function(){return nt},nt}function tt(nt){if(nt&&nt.__esModule)return nt;if(nt===null||$(nt)!=="object"&&typeof nt!="function")return{default:nt};var it=et();if(it&&it.has(nt))return it.get(nt);var ot={},st=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var lt in nt)if(Object.prototype.hasOwnProperty.call(nt,lt)){var ct=st?Object.getOwnPropertyDescriptor(nt,lt):null;ct&&(ct.get||ct.set)?Object.defineProperty(ot,lt,ct):ot[lt]=nt[lt]}return ot.default=nt,it&&it.set(nt,ot),ot}var rt=function(){return _e.createElement("svg",{width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},_e.createElement("g",{fill:"none",fillRule:"evenodd"},_e.createElement("g",{transform:"translate(24 31.67)"},_e.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),_e.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),_e.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),_e.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),_e.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),_e.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),_e.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},_e.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),_e.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},at=rt;o.default=at})(empty);var simple={};(function(o){function $(nt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(ot){return typeof ot}:$=function(ot){return ot&&typeof Symbol=="function"&&ot.constructor===Symbol&&ot!==Symbol.prototype?"symbol":typeof ot},$(nt)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=tt(reactExports);function et(){if(typeof WeakMap!="function")return null;var nt=new WeakMap;return et=function(){return nt},nt}function tt(nt){if(nt&&nt.__esModule)return nt;if(nt===null||$(nt)!=="object"&&typeof nt!="function")return{default:nt};var it=et();if(it&&it.has(nt))return it.get(nt);var ot={},st=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var lt in nt)if(Object.prototype.hasOwnProperty.call(nt,lt)){var ct=st?Object.getOwnPropertyDescriptor(nt,lt):null;ct&&(ct.get||ct.set)?Object.defineProperty(ot,lt,ct):ot[lt]=nt[lt]}return ot.default=nt,it&&it.set(nt,ot),ot}var rt=function(){return _e.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},_e.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},_e.createElement("ellipse",{fill:"#F5F5F5",cx:"32",cy:"33",rx:"32",ry:"7"}),_e.createElement("g",{fillRule:"nonzero",stroke:"#D9D9D9"},_e.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),_e.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:"#FAFAFA"}))))},at=rt;o.default=at})(simple);var hasRequiredEmpty;function requireEmpty(){return hasRequiredEmpty||(hasRequiredEmpty=1,function(o){function $(mt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(dt){return typeof dt}:$=function(dt){return dt&&typeof Symbol=="function"&&dt.constructor===Symbol&&dt!==Symbol.prototype?"symbol":typeof dt},$(mt)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=st(reactExports),et=it(classnamesExports$1),tt=requireConfigProvider(),rt=it(LocaleReceiver),at=it(empty),nt=it(simple);function it(mt){return mt&&mt.__esModule?mt:{default:mt}}function ot(){if(typeof WeakMap!="function")return null;var mt=new WeakMap;return ot=function(){return mt},mt}function st(mt){if(mt&&mt.__esModule)return mt;if(mt===null||$(mt)!=="object"&&typeof mt!="function")return{default:mt};var bt=ot();if(bt&&bt.has(mt))return bt.get(mt);var dt={},xt=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Ct in mt)if(Object.prototype.hasOwnProperty.call(mt,Ct)){var gt=xt?Object.getOwnPropertyDescriptor(mt,Ct):null;gt&&(gt.get||gt.set)?Object.defineProperty(dt,Ct,gt):dt[Ct]=mt[Ct]}return dt.default=mt,bt&&bt.set(mt,dt),dt}function lt(){return lt=Object.assign||function(mt){for(var bt=1;bt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(gt){return!1}}function bt(gt){return bt=Object.setPrototypeOf?Object.getPrototypeOf:function(_t){return _t.__proto__||Object.getPrototypeOf(_t)},bt(gt)}var dt=["getPopupContainer","rootPrefixCls","getPrefixCls","renderEmpty","csp","autoInsertSpaceInButton","locale","pageHeader"];o.configConsumerProps=dt;var xt=function(gt){ut(_t,gt);var wt=At(_t);function _t(){var Et;return st(this,_t),Et=wt.apply(this,arguments),Et.getPrefixCls=function(It,Tt){var Rt=Et.props.prefixCls,Ot=Rt===void 0?"ant":Rt;return Tt||(It?"".concat(Ot,"-").concat(It):Ot)},Et.renderProvider=function(It,Tt){var Rt=Et.props,Ot=Rt.children,Mt=Rt.getPopupContainer,Bt=Rt.renderEmpty,Lt=Rt.csp,jt=Rt.autoInsertSpaceInButton,zt=Rt.locale,Nt=Rt.pageHeader,Wt=ot(ot({},It),{getPrefixCls:Et.getPrefixCls,csp:Lt,autoInsertSpaceInButton:jt});return Mt&&(Wt.getPopupContainer=Mt),Bt&&(Wt.renderEmpty=Bt),Nt&&(Wt.pageHeader=Nt),$.createElement(tt.ConfigContext.Provider,{value:Wt},$.createElement(_e.default,{locale:zt||Tt,_ANT_MARK__:_e.ANT_MARK},Ot))},Et}return ct(_t,[{key:"render",value:function(){var It=this;return $.createElement(et.default,null,function(Tt,Rt,Ot){return $.createElement(tt.ConfigConsumer,null,function(Mt){return It.renderProvider(Mt,Ot)})})}}]),_t}($.Component),Ct=xt;o.default=Ct}(configProvider)),configProvider}(function(o){function $(ut){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(At){return typeof At}:$=function(At){return At&&typeof Symbol=="function"&&At.constructor===Symbol&&At!==Symbol.prototype?"symbol":typeof At},$(ut)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=nt(reactExports),et=rt(classnamesExports$1),tt=requireConfigProvider();function rt(ut){return ut&&ut.__esModule?ut:{default:ut}}function at(){if(typeof WeakMap!="function")return null;var ut=new WeakMap;return at=function(){return ut},ut}function nt(ut){if(ut&&ut.__esModule)return ut;if(ut===null||$(ut)!=="object"&&typeof ut!="function")return{default:ut};var ft=at();if(ft&&ft.has(ut))return ft.get(ut);var At={},vt=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var ht in ut)if(Object.prototype.hasOwnProperty.call(ut,ht)){var mt=vt?Object.getOwnPropertyDescriptor(ut,ht):null;mt&&(mt.get||mt.set)?Object.defineProperty(At,ht,mt):At[ht]=ut[ht]}return At.default=ut,ft&&ft.set(ut,At),At}function it(){return it=Object.assign||function(ut){for(var ft=1;ft{const $=reactExports.useContext(ZoomContext);return jsxRuntimeExports.jsxs(ButtonGroup,{className:o.className,children:[jsxRuntimeExports.jsx(Button$2,{onClick:()=>{$==null||$.zoomOut()},htmlType:"button",icon:"zoom-out"}),jsxRuntimeExports.jsx(Button$2,{onClick:()=>{$==null||$.zoomIn()},htmlType:"button",icon:"zoom-in"})]})},addActionPrefix=(o,$,_e)=>{const et={};return Object.entries($).forEach(([tt,rt])=>{const at=tt;et[at]=`${o}${isString$6(_e)?_e:"/"}${rt}`}),et},actions$1={GO_TO_SPAN:"GO_TO_SPAN",GET_SPANS_DATA:"GET_SPANS_DATA",SET_SPANS_DATA:"SET_SPANS_DATA",CLEAR:"CLEAR"},GLOBAL_ACTION_PREFIX="GLOBAL",globalActions=addActionPrefix(GLOBAL_ACTION_PREFIX,{CHANGE_SCOPE:"CHANGE_SCOPE",OPEN_URL_IN_DEFAULT_BROWSER:"OPEN_URL_IN_DEFAULT_BROWSER"}),HEADER_ITEMS=[{key:"timestamp",label:"Trace Start",renderer:o=>{const $=formatDatetime(o.startTime),_e=$.match(/^(.+)(\.\d+)$/);return _e?jsxRuntimeExports.jsxs("span",{className:"TracePageHeader--overviewItem--value",children:[_e[1],jsxRuntimeExports.jsx("span",{className:"TracePageHeader--overviewItem--valueDetail",children:_e[2]})]}):$}},{key:"duration",label:"Duration",renderer:o=>formatDuration(o.duration)},{key:"service-count",label:"Services",renderer:o=>new Set(_values(o.processes).map($=>$.serviceName)).size},{key:"depth",label:"Depth",renderer:o=>get_1$1(maxBy_1(o.spans,"depth"),"depth",0)+1},{key:"span-count",label:"Total Spans",renderer:o=>o.spans.length}];function TracePageHeaderFn(o){const{canCollapse:$,clearSearch:_e,focusUiFindMatches:et,forwardedRef:tt,hideMap:rt,hideSummary:at,linkToStandalone:nt,nextResult:it,onArchiveClicked:ot,onSlimViewClicked:st,onTraceViewChange:lt,prevResult:ct,resultCount:ut,showArchiveButton:ft,showShortcutsHelp:At,showStandaloneLink:vt,showViewOptions:ht,slimView:mt,textFilter:bt,toSearch:dt,trace:xt,viewType:Ct,updateNextViewRangeTime:gt,updateViewRangeTime:wt,viewRange:_t}=o;if(!xt)return null;const Et=getTraceLinks(xt),It=!at&&!mt&&HEADER_ITEMS.map(Ot=>{const{renderer:Mt,...Bt}=Ot;return{...Bt,value:Mt(xt)}}),Tt=jsxRuntimeExports.jsxs("h1",{className:`TracePageHeader--title ${$?"is-collapsible":""}`,children:[jsxRuntimeExports.jsx(TraceName,{traceName:getTraceName(xt.spans)})," ",jsxRuntimeExports.jsx("small",{className:"u-tx-muted",children:xt.traceID.slice(0,7)})]}),Rt=Ot=>{var Bt;const Mt=(Bt=window.baseUrl)!=null?Bt:window.apiBaseUrl;Ot.preventDefault(),window.sendMessageToDigma({action:globalActions.OPEN_URL_IN_DEFAULT_BROWSER,payload:{url:`${Mt}${window.location.pathname}${window.location.search}`}})};return jsxRuntimeExports.jsxs("header",{className:"TracePageHeader",children:[jsxRuntimeExports.jsxs("div",{className:"TracePageHeader--titleRow",children:[dt&&jsxRuntimeExports.jsx(Link$1,{className:"TracePageHeader--back",to:dt,children:jsxRuntimeExports.jsx(IoAndroidArrowBack,{})}),Et&&Et.length>0&&jsxRuntimeExports.jsx(ExternalLinks,{links:Et}),$?jsxRuntimeExports.jsxs("a",{className:"TracePageHeader--titleLink",onClick:st,role:"switch","aria-checked":!mt,children:[jsxRuntimeExports.jsx(MdKeyboardArrowRight,{className:`TracePageHeader--detailToggle ${mt?"":"is-expanded"}`}),Tt]}):Tt,jsxRuntimeExports.jsx(TracePageSearchBar,{clearSearch:_e,focusUiFindMatches:et,nextResult:it,prevResult:ct,ref:tt,resultCount:ut,textFilter:bt,navigable:Ct===ETraceViewType.TraceTimelineViewer}),At&&jsxRuntimeExports.jsx(KeyboardShortcutsHelp,{className:"ub-m2"}),ht&&jsxRuntimeExports.jsx(AltViewOptions,{onTraceViewChange:lt,traceID:xt.traceID,viewType:Ct}),ft&&jsxRuntimeExports.jsxs(Button$2,{className:"ub-mr2 ub-flex ub-items-center",htmlType:"button",onClick:ot,children:[jsxRuntimeExports.jsx(IoIosFilingOutline,{className:"TracePageHeader--archiveIcon"}),"Archive Trace"]}),window.enableZoomControls&&jsxRuntimeExports.jsx(ZoomControls,{className:"TracePageHeader--zoomControls"}),vt&&window.platform==="JetBrains"?jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-mx2",to:"#",onClick:Rt,children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})}):jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-mx2",to:nt,target:"_blank",rel:"noopener noreferrer",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})]}),It&&jsxRuntimeExports.jsx(LabeledList,{className:"TracePageHeader--overviewItems",items:It}),!rt&&!mt&&jsxRuntimeExports.jsx(SpanGraph,{trace:xt,viewRange:_t,updateNextViewRangeTime:gt,updateViewRangeTime:wt})]})}const TracePageHeader=reactExports.forwardRef((o,$)=>jsxRuntimeExports.jsx(TracePageHeaderFn,{...o,forwardedRef:$}));class DetailState{constructor($){const{isTagsOpen:_e,isProcessOpen:et,isReferencesOpen:tt,isWarningsOpen:rt,logs:at}=$||{};this.isTagsOpen=!!_e,this.isProcessOpen=!!et,this.isReferencesOpen=!!tt,this.isWarningsOpen=!!rt,this.logs={isOpen:!!(at&&at.isOpen),openedItems:at&&at.openedItems?new Set(at.openedItems):new Set}}toggleTags(){const $=new DetailState(this);return $.isTagsOpen=!this.isTagsOpen,$}toggleProcess(){const $=new DetailState(this);return $.isProcessOpen=!this.isProcessOpen,$}toggleReferences(){const $=new DetailState(this);return $.isReferencesOpen=!this.isReferencesOpen,$}toggleWarnings(){const $=new DetailState(this);return $.isWarningsOpen=!this.isWarningsOpen,$}toggleLogs(){const $=new DetailState(this);return $.logs.isOpen=!this.logs.isOpen,$}toggleLogItem($){const _e=new DetailState(this);return _e.logs.openedItems.has($)?_e.logs.openedItems.delete($):_e.logs.openedItems.add($),_e}}function getFirstAncestor(o){return get_1$1(find_1(o.references,({span:$,refType:_e})=>$&&$.spanID&&(_e==="CHILD_OF"||_e==="FOLLOWS_FROM")),"span")}function spanAncestorIds(o){const $=[];if(!o)return $;let _e=getFirstAncestor(o);for(;_e;)$.push(_e.spanID),_e=getFirstAncestor(_e);return $}function shouldDisableCollapse(o,$){return o.filter(et=>et.hasChildren).length===$.size}function newInitialState(){return{childrenHiddenIDs:new Set,detailStates:new Map,hoverIndentGuideIds:new Set,shouldScrollToFirstUiFindMatch:!1,spanNameColumnWidth:parseFloat(localStorage.getItem("spanNameColumnWidth")||"0.25"),traceID:null}}const actionTypes=generateActionTypes("@jaeger-ui/trace-timeline-viewer",["ADD_HOVER_INDENT_GUIDE_ID","CHILDREN_TOGGLE","CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH","COLLAPSE_ALL","COLLAPSE_ONE","DETAIL_TOGGLE","DETAIL_TAGS_TOGGLE","DETAIL_PROCESS_TOGGLE","DETAIL_LOGS_TOGGLE","DETAIL_LOG_ITEM_TOGGLE","DETAIL_WARNINGS_TOGGLE","DETAIL_REFERENCES_TOGGLE","EXPAND_ALL","EXPAND_ONE","FOCUS_UI_FIND_MATCHES","REMOVE_HOVER_INDENT_GUIDE_ID","SET_SPAN_NAME_COLUMN_WIDTH","SET_TRACE"]),fullActions=createActions({[actionTypes.ADD_HOVER_INDENT_GUIDE_ID]:o=>({spanID:o}),[actionTypes.CHILDREN_TOGGLE]:o=>({spanID:o}),[actionTypes.CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH]:()=>({}),[actionTypes.COLLAPSE_ALL]:o=>({spans:o}),[actionTypes.COLLAPSE_ONE]:o=>({spans:o}),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:(o,$)=>({logItem:$,spanID:o}),[actionTypes.DETAIL_LOGS_TOGGLE]:o=>({spanID:o}),[actionTypes.EXPAND_ALL]:()=>({}),[actionTypes.EXPAND_ONE]:o=>({spans:o}),[actionTypes.DETAIL_PROCESS_TOGGLE]:o=>({spanID:o}),[actionTypes.DETAIL_WARNINGS_TOGGLE]:o=>({spanID:o}),[actionTypes.DETAIL_REFERENCES_TOGGLE]:o=>({spanID:o}),[actionTypes.DETAIL_TAGS_TOGGLE]:o=>({spanID:o}),[actionTypes.DETAIL_TOGGLE]:o=>({spanID:o}),[actionTypes.FOCUS_UI_FIND_MATCHES]:(o,$,_e)=>({trace:o,uiFind:$,allowHide:_e}),[actionTypes.REMOVE_HOVER_INDENT_GUIDE_ID]:o=>({spanID:o}),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:o=>({width:o}),[actionTypes.SET_TRACE]:(o,$)=>({trace:o,uiFind:$})}),actions=fullActions.jaegerUi.traceTimelineViewer;function calculateFocusedFindRowStates(o,$,_e=!0){const et=new Map,tt=new Set,rt=new Map;let at=!1;$.forEach(it=>{et.set(it.spanID,it),_e&&tt.add(it.spanID)});const nt=filterSpans(o,$);return nt&&nt.size&&(nt.forEach(it=>{const ot=et.get(it);rt.set(it,new DetailState),spanAncestorIds(ot).forEach(st=>tt.delete(st))}),at=!0),{childrenHiddenIDs:tt,detailStates:rt,shouldScrollToFirstUiFindMatch:at}}function focusUiFindMatches(o,{uiFind:$,trace:_e,allowHide:et}){return $?{...o,...calculateFocusedFindRowStates($,_e.spans,et)}:o}function clearShouldScrollToFirstUiFindMatch(o){return o.shouldScrollToFirstUiFindMatch?{...o,shouldScrollToFirstUiFindMatch:!1}:o}function setTrace(o,{uiFind:$,trace:_e}){const{traceID:et,spans:tt}=_e;if(et===o.traceID)return o;const{spanNameColumnWidth:rt}=o;return Object.assign({...newInitialState(),spanNameColumnWidth:rt,traceID:et},$?calculateFocusedFindRowStates($,tt,!1):null)}function setColumnWidth(o,{width:$}){return localStorage.setItem("spanNameColumnWidth",$.toString()),{...o,spanNameColumnWidth:$}}function childrenToggle(o,{spanID:$}){const _e=new Set(o.childrenHiddenIDs);return _e.has($)?_e.delete($):_e.add($),{...o,childrenHiddenIDs:_e}}function expandAll(o){return{...o,childrenHiddenIDs:new Set}}function collapseAll(o,{spans:$}){if(shouldDisableCollapse($,o.childrenHiddenIDs))return o;const _e=$.reduce((et,tt)=>(tt.hasChildren&&et.add(tt.spanID),et),new Set);return{...o,childrenHiddenIDs:_e}}function collapseOne(o,{spans:$}){if(shouldDisableCollapse($,o.childrenHiddenIDs))return o;let _e;const et=$.reduce((tt,rt)=>(_e&&rt.depth<=_e.depth?(tt.add(_e.spanID),rt.hasChildren&&(_e=rt)):rt.hasChildren&&!tt.has(rt.spanID)&&(_e=rt),tt),new Set(o.childrenHiddenIDs));return _e&&et.add(_e.spanID),{...o,childrenHiddenIDs:et}}function expandOne(o,{spans:$}){if(o.childrenHiddenIDs.size===0)return o;let _e=-1,et=!0;const tt=$.reduce((rt,at)=>(at.depth<=_e&&(et=!0),et&&rt.has(at.spanID)&&(rt.delete(at.spanID),et=!1,_e=at.depth),rt),new Set(o.childrenHiddenIDs));return{...o,childrenHiddenIDs:tt}}function detailToggle(o,{spanID:$}){const _e=new Map(o.detailStates);return _e.has($)?_e.delete($):_e.set($,new DetailState),{...o,detailStates:_e}}function detailSubsectionToggle(o,$,{spanID:_e}){const et=$.detailStates.get(_e);if(!et)return $;let tt;o==="tags"?tt=et.toggleTags():o==="process"?tt=et.toggleProcess():o==="warnings"?tt=et.toggleWarnings():o==="references"?tt=et.toggleReferences():tt=et.toggleLogs();const rt=new Map($.detailStates);return rt.set(_e,tt),{...$,detailStates:rt}}const detailTagsToggle=detailSubsectionToggle.bind(null,"tags"),detailProcessToggle=detailSubsectionToggle.bind(null,"process"),detailLogsToggle=detailSubsectionToggle.bind(null,"logs"),detailWarningsToggle=detailSubsectionToggle.bind(null,"warnings"),detailReferencesToggle=detailSubsectionToggle.bind(null,"references");function detailLogItemToggle(o,{spanID:$,logItem:_e}){const et=o.detailStates.get($);if(!et)return o;const tt=et.toggleLogItem(_e),rt=new Map(o.detailStates);return rt.set($,tt),{...o,detailStates:rt}}function addHoverIndentGuideId(o,{spanID:$}){const _e=new Set(o.hoverIndentGuideIds);return _e.add($),{...o,hoverIndentGuideIds:_e}}function removeHoverIndentGuideId(o,{spanID:$}){const _e=new Set(o.hoverIndentGuideIds);return _e.delete($),{...o,hoverIndentGuideIds:_e}}const traceTimeline=handleActions({[actionTypes.ADD_HOVER_INDENT_GUIDE_ID]:guardReducer(addHoverIndentGuideId),[actionTypes.CHILDREN_TOGGLE]:guardReducer(childrenToggle),[actionTypes.CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH]:guardReducer(clearShouldScrollToFirstUiFindMatch),[actionTypes.COLLAPSE_ALL]:guardReducer(collapseAll),[actionTypes.COLLAPSE_ONE]:guardReducer(collapseOne),[actionTypes.DETAIL_LOGS_TOGGLE]:guardReducer(detailLogsToggle),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:guardReducer(detailLogItemToggle),[actionTypes.DETAIL_PROCESS_TOGGLE]:guardReducer(detailProcessToggle),[actionTypes.DETAIL_WARNINGS_TOGGLE]:guardReducer(detailWarningsToggle),[actionTypes.DETAIL_REFERENCES_TOGGLE]:guardReducer(detailReferencesToggle),[actionTypes.DETAIL_TAGS_TOGGLE]:guardReducer(detailTagsToggle),[actionTypes.DETAIL_TOGGLE]:guardReducer(detailToggle),[actionTypes.EXPAND_ALL]:guardReducer(expandAll),[actionTypes.EXPAND_ONE]:guardReducer(expandOne),[actionTypes.FOCUS_UI_FIND_MATCHES]:guardReducer(focusUiFindMatches),[actionTypes.REMOVE_HOVER_INDENT_GUIDE_ID]:guardReducer(removeHoverIndentGuideId),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:guardReducer(setColumnWidth),[actionTypes.SET_TRACE]:guardReducer(setTrace)},newInitialState()),TimelineCollapser$1="";function getTitle(o){return jsxRuntimeExports.jsx("span",{className:"TimelineCollapser--tooltipTitle",children:o})}class TimelineCollapser extends React$k.PureComponent{constructor($){super($),this.getContainer=()=>this.containerRef.current||document.createElement("div"),this.containerRef=React$k.createRef()}render(){const{onExpandAll:$,onExpandOne:_e,onCollapseAll:et,onCollapseOne:tt}=this.props;return jsxRuntimeExports.jsxs("div",{className:"TimelineCollapser",ref:this.containerRef,children:[jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Expand +1"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"right",onClick:_e,className:"TimelineCollapser--btn-expand"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Collapse +1"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"right",onClick:tt,className:"TimelineCollapser--btn"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Expand All"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"double-right",onClick:$,className:"TimelineCollapser--btn-expand"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Collapse All"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"double-right",onClick:et,className:"TimelineCollapser--btn"})})]})}}const TimelineViewingLayer$1="";function isOutOfView(o){return Reflect.has(o,"isOutOfView")}function mapFromViewSubRange(o,$,_e){return o+_e*($-o)}function mapToViewSubRange(o,$,_e){return(_e-o)/($-o)}function getNextViewLayout(o,$){let[_e,et]=o<$?[o,$]:[$,o];return _e>=1||et<=0?{isOutOfView:!0}:(_e<0&&(_e=0),et>1&&(et=1),{isDraggingLeft:o>$,left:`${_e*100}%`,width:`${(et-_e)*100}%`})}function getMarkers(o,$,_e,et,tt){const rt=mapToViewSubRange(o,$,_e),at=mapToViewSubRange(o,$,et),nt=getNextViewLayout(rt,at);if(isOutOfView(nt))return null;const{isDraggingLeft:it,left:ot,width:st}=nt,lt=classnamesExports({isDraggingLeft:it,isDraggingRight:!it,isReframeDrag:!tt,isShiftDrag:tt});return jsxRuntimeExports.jsx("div",{className:`TimelineViewingLayer--dragged ${lt}`,style:{left:ot,width:st}})}class TimelineViewingLayer extends reactExports.PureComponent{constructor($){super($),this._getDraggingBounds=()=>{const _e=this._root.current;if(!_e)throw new Error("Component must be mounted in order to determine DraggableBounds");const{left:et,width:tt}=_e.getBoundingClientRect();return{clientXLeft:et,width:tt}},this._handleReframeMouseMove=({value:_e})=>{const[et,tt]=this.props.viewRangeTime.current,rt=mapFromViewSubRange(et,tt,_e);this.props.updateNextViewRangeTime({cursor:rt})},this._handleReframeMouseLeave=()=>{this.props.updateNextViewRangeTime({cursor:void 0})},this._getAnchorAndShift=_e=>{const{current:et,reframe:tt}=this.props.viewRangeTime,[rt,at]=et,nt=mapFromViewSubRange(rt,at,_e);return{anchor:tt?tt.anchor:nt,shift:nt}},this._handleReframeDragUpdate=({value:_e})=>{const{anchor:et,shift:tt}=this._getAnchorAndShift(_e),rt={reframe:{anchor:et,shift:tt}};this.props.updateNextViewRangeTime(rt)},this._handleReframeDragEnd=({manager:_e,value:et})=>{const{anchor:tt,shift:rt}=this._getAnchorAndShift(et),[at,nt]=rt=nt&&et<=it&&(st=`${mapToViewSubRange(nt,it,et)*100}%`),jsxRuntimeExports.jsxs("div",{"aria-hidden":!0,className:"TimelineViewingLayer",ref:this._root,onMouseDown:this._draggerReframe.handleMouseDown,onMouseLeave:this._draggerReframe.handleMouseLeave,onMouseMove:this._draggerReframe.handleMouseMove,children:[st!=null&&jsxRuntimeExports.jsx("div",{className:"TimelineViewingLayer--cursorGuide",style:{left:st}}),tt!=null&&getMarkers(nt,it,tt.anchor,tt.shift,!1),rt!=null&&getMarkers(nt,it,it,rt,!0),at!=null&&getMarkers(nt,it,nt,at,!0)]})}}function createViewedBoundsFunc(o){const{min:$,max:_e,viewStart:et,viewEnd:tt}=o,rt=_e-$,at=$+et*rt,it=_e-(1-tt)*rt-at;return(ot,st)=>({start:(ot-at)/it,end:(st-at)/it})}function spanHasTag(o,$,_e){return!Array.isArray(_e.tags)||!_e.tags.length?!1:_e.tags.some(et=>et.key===o&&et.value===$)}const isClientSpan=spanHasTag.bind(null,"span.kind","client"),isServerSpan=spanHasTag.bind(null,"span.kind","server"),isErrorBool=spanHasTag.bind(null,"error",!0),isErrorStr=spanHasTag.bind(null,"error","true"),isErrorSpan=o=>isErrorBool(o)||isErrorStr(o);function spanContainsErredSpan(o,$){const{depth:_e}=o[$];let et=$+1;for(;et_e;et++)if(isErrorSpan(o[et]))return!0;return!1}function findServerChildSpan(o){if(o.length<=1||!isClientSpan(o[0]))return!1;const _e=o[0].depth+1;let et=1;for(;eto.tags.some(({key:$,value:_e})=>$==="span.kind"&&_e==="client"),Ticks$1="";function Ticks(o){const{endTime:$,numTicks:_e,showLabels:et,startTime:tt}=o;let rt;if(et){rt=[];const nt=($||0)-(tt||0);for(let it=0;it<_e;it++){const ot=(tt||0)+it/(_e-1)*nt;rt.push(formatDuration(ot))}}const at=[];for(let nt=0;nt<_e;nt++){const it=nt/(_e-1);at.push(jsxRuntimeExports.jsx("div",{className:"Ticks--tick",style:{left:`${it*100}%`},children:rt&&jsxRuntimeExports.jsx("span",{className:`Ticks--tickLabel ${it>=1?"isEndAnchor":""}`,children:rt[nt]})},it))}return jsxRuntimeExports.jsx("div",{className:"Ticks",children:at})}Ticks.defaultProps={endTime:null,showLabels:null,startTime:null};const TimelineRow$1="";function TimelineRow(o){const{children:$,className:_e="",...et}=o;return jsxRuntimeExports.jsx("div",{className:`flex-row ${_e}`,...et,children:$})}TimelineRow.defaultProps={className:""};function TimelineRowCell(o){const{children:$,className:_e="",width:et,style:tt,...rt}=o,at=`${et*100}%`,nt={...tt,flexBasis:at,maxWidth:at};return jsxRuntimeExports.jsx("div",{className:`ub-relative ${_e}`,style:nt,...rt,children:$})}TimelineRowCell.defaultProps={className:"",style:{}};TimelineRow.Cell=TimelineRowCell;const TimelineHeaderRow="";class ActionDispatcher{constructor(){this.actions={}}addActionListener($,_e){this.actions[$]?this.actions[$].push(_e):this.actions[$]=[_e]}removeActionListener($,_e){this.actions[$]&&(this.actions[$]=this.actions[$].filter(et=>et!==_e)),this.actions[$].length===0&&delete this.actions[$]}dispatch($,_e,et,tt){this.actions[_e]&&this.actions[_e].forEach(rt=>rt(et,$,tt))}}const dispatcher=new ActionDispatcher,state={pendingOperationsCount:0,spans:{}},updateState=(o,$)=>{switch(o){case actions$1.GET_SPANS_DATA:state.pendingOperationsCount++;break;case actions$1.SET_SPANS_DATA:state.spans=$,state.pendingOperationsCount--;break;case actions$1.CLEAR:state.spans={},state.pendingOperationsCount--;break}};let SpanDetailRow$2=class extends reactExports.PureComponent{constructor($){super($),this._updateIsLoading=this._updateIsLoading.bind(this),this.state={isLoading:!!state.pendingOperationsCount}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateIsLoading)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateIsLoading)}_updateIsLoading(){this.setState({isLoading:!1})}render(){const{duration:$,nameColumnWidth:_e,numTicks:et,onCollapseAll:tt,onCollapseOne:rt,onColummWidthChange:at,onExpandAll:nt,onExpandOne:it,updateViewRangeTime:ot,updateNextViewRangeTime:st,viewRangeTime:lt}=this.props,[ct,ut]=lt.current;return jsxRuntimeExports.jsxs(TimelineRow,{className:"TimelineHeaderRow",children:[jsxRuntimeExports.jsxs(TimelineRow.Cell,{className:"ub-flex ub-px2",width:_e,children:[jsxRuntimeExports.jsx("h3",{className:"TimelineHeaderRow--title",children:"Service & Operation"}),this.state.isLoading&&jsxRuntimeExports.jsxs("div",{className:"ub-flex TimelineHeaderRow--loading",children:[jsxRuntimeExports.jsx(LoadingIndicator,{className:"is-medium"}),jsxRuntimeExports.jsx("span",{className:"TimelineHeaderRow--loading-text",children:"Loading data..."})]}),jsxRuntimeExports.jsx(TimelineCollapser,{onCollapseAll:tt,onExpandAll:nt,onCollapseOne:rt,onExpandOne:it})]}),jsxRuntimeExports.jsxs(TimelineRow.Cell,{width:1-_e,children:[jsxRuntimeExports.jsx(TimelineViewingLayer,{boundsInvalidator:_e,updateNextViewRangeTime:st,updateViewRangeTime:ot,viewRangeTime:lt}),jsxRuntimeExports.jsx(Ticks,{numTicks:et,startTime:ct*$,endTime:ut*$,showLabels:!0})]}),jsxRuntimeExports.jsx(VerticalResizer,{position:_e,onChange:at,min:.15,max:.85})]})}};class Positions{constructor($){this.ys=[],this.heights=[],this.bufferLen=$,this.dataLen=-1,this.lastI=-1}profileData($){$!==this.dataLen&&(this.dataLen=$,this.ys.length=$,this.heights.length=$,this.lastI>=$&&(this.lastI=$-1))}calcHeights($,_e,et){et!=null&&(this.lastI=et);let tt=$+this.bufferLen;if(tt<=this.lastI)return;tt>=this.heights.length&&(tt=this.heights.length-1);let rt=this.lastI;for(this.lastI===-1&&(rt=0,this.ys[0]=0);rt<=tt;){const at=this.heights[rt]=_e(rt);this.ys[rt+1]=this.ys[rt]+at,rt++}this.lastI=tt}calcYs($,_e){for(;(this.ys[this.lastI]==null||$>this.ys[this.lastI])&&this.lastIthis.lastI){this.calcHeights(et,_e);return}const tt=_e(et);if(tt===this.heights[et])return;const rt=tt-this.heights[et];for(this.heights[et]=tt;++et<=this.lastI;)this.ys[et]+=rt;this.ys[this.lastI+1]!=null&&(this.ys[this.lastI+1]+=rt)}findFloorIndex($,_e){this.calcYs($,_e);let et=0,tt=this.lastI;if(this.ys.length<2||$this.ys[tt])return tt;let rt;for(;etthis.ys[rt]){if($<=this.ys[rt+1])return rt;et=rt}else if($=this.ys[rt-1])return rt-1;tt=rt}else return rt;throw new Error(`unable to find floor index for y=${$}`)}getRowPosition($,_e){return this.confirmHeight($,_e),{height:this.heights[$],y:this.ys[$]}}getEstimatedHeight(){const $=this.ys[this.lastI]+this.heights[this.lastI];return this.lastI>=this.dataLen-1?$|0:$/(this.lastI+1)*this.heights.length|0}}const DEFAULT_INITIAL_DRAW=300;class ListView extends reactExports.Component{constructor($){super($),this.getViewHeight=()=>this._viewHeight,this.getBottomVisibleIndex=()=>{const _e=this._scrollTop+this._viewHeight;return this._yPositions.findFloorIndex(_e,this._getHeight)},this.getTopVisibleIndex=()=>this._yPositions.findFloorIndex(this._scrollTop,this._getHeight),this.getRowPosition=_e=>this._yPositions.getRowPosition(_e,this._getHeight),this._onScroll=()=>{this._isScrolledOrResized||(this._isScrolledOrResized=!0,window.requestAnimationFrame(this._positionList))},this._positionList=()=>{if(this._isScrolledOrResized=!1,!this._wrapperElm)return;this._calcViewIndexes();const _e=this.props.viewBufferMin>this._startIndex?0:this._startIndex-this.props.viewBufferMin,et=this.props.viewBufferMinthis._endIndexDrawn)&&this.forceUpdate()},this._initWrapper=_e=>{this._wrapperElm=_e,!this.props.windowScroller&&_e&&(this._viewHeight=_e.clientHeight)},this._initItemHolder=_e=>{this._itemHolderElm=_e,this._scanItemHeights()},this._scanItemHeights=()=>{const _e=this.props.getIndexFromKey;if(!this._itemHolderElm)return;let et=null,tt=null,rt=!1;const at=this._itemHolderElm.childNodes,nt=at.length;for(let it=0;it{const et=this.props.getKeyFromIndex(_e),tt=this._knownHeights.get(et);return tt!=null&&tt===tt?tt:this.props.itemHeightGetter(_e,et)},this._yPositions=new Positions(200),this._knownHeights=new Map,this._startIndexDrawn=2**20,this._endIndexDrawn=-(2**20),this._startIndex=0,this._endIndex=0,this._viewHeight=-1,this._scrollTop=-1,this._isScrolledOrResized=!1,this._htmlTopOffset=-1,this._windowScrollListenerAdded=!1,this._htmlElm=document.documentElement,this._wrapperElm=void 0,this._itemHolderElm=void 0}componentDidMount(){if(this.props.windowScroller){if(this._wrapperElm){const{top:$}=this._wrapperElm.getBoundingClientRect();this._htmlTopOffset=$+this._htmlElm.scrollTop}window.addEventListener("scroll",this._onScroll),this._windowScrollListenerAdded=!0}}componentDidUpdate(){this._itemHolderElm&&this._scanItemHeights()}componentWillUnmount(){this._windowScrollListenerAdded&&window.removeEventListener("scroll",this._onScroll)}_isViewChanged(){if(!this._wrapperElm)return!1;const $=this.props.windowScroller,_e=$?this._htmlElm.clientHeight:this._wrapperElm.clientHeight,et=$?this._htmlElm.scrollTop:this._wrapperElm.scrollTop;return _e!==this._viewHeight||et!==this._scrollTop}_calcViewIndexes(){if(this.props.windowScroller)this._viewHeight=window.innerHeight-this._htmlTopOffset,this._scrollTop=window.scrollY;else{if(!this._wrapperElm){this._viewHeight=-1,this._startIndex=0,this._endIndex=0;return}this._viewHeight=this._wrapperElm.clientHeight,this._scrollTop=this._wrapperElm.scrollTop}const _e=this._scrollTop,et=this._scrollTop+this._viewHeight;this._startIndex=this._yPositions.findFloorIndex(_e,this._getHeight),this._endIndex=this._yPositions.findFloorIndex(et,this._getHeight)}render(){const{dataLength:$,getKeyFromIndex:_e,initialDraw:et=DEFAULT_INITIAL_DRAW,itemRenderer:tt,viewBuffer:rt,viewBufferMin:at}=this.props,nt=this._getHeight,it=[];let ot,st;if(this._yPositions.profileData($),!this._wrapperElm)ot=0,st=(et<$?et:$)-1;else{this._isViewChanged()&&this._calcViewIndexes();const ut=at>this._startIndex?0:this._startIndex-at,ft=at<$-this._endIndex?this._endIndex+at:$-1;utthis._endIndexDrawn?(ot=rt>this._startIndex?0:this._startIndex-rt,st=this._endIndex+rt,st>=$&&(st=$-1)):(ot=this._startIndexDrawn,st=this._endIndexDrawn>$-1?$-1:this._endIndexDrawn)}this._yPositions.calcHeights(st,nt,ot||-1),this._startIndexDrawn=ot,this._endIndexDrawn=st,it.length=st-ot+1;for(let ut=ot;ut<=st;ut++){const{y:ft,height:At}=this._yPositions.getRowPosition(ut,nt),vt={height:At,top:ft,position:"absolute"},ht=_e(ut),mt={"data-item-key":ht};it.push(tt(ht,vt,ut,mt))}const lt={style:{position:"relative"},ref:this._initWrapper};this.props.windowScroller||(lt.onScroll=this._onScroll,lt.style.height="100%",lt.style.overflowY="auto");const ct={position:"relative",height:this._yPositions.getEstimatedHeight()};return jsxRuntimeExports.jsx("div",{...lt,children:jsxRuntimeExports.jsx("div",{style:ct,children:jsxRuntimeExports.jsx("div",{style:{position:"absolute",top:0,margin:0,padding:0},className:this.props.itemsWrapperClassName,ref:this._initItemHolder,children:it})})})}}ListView.defaultProps={initialDraw:DEFAULT_INITIAL_DRAW,itemsWrapperClassName:"",windowScroller:!1};var arrowRightAExports={},arrowRightA={get exports(){return arrowRightAExports},set exports(o){arrowRightAExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;sttt($.spanID),className:et,...rt,children:_e}):jsxRuntimeExports.jsx("a",{href:getUrl$6($.traceID,$.spanID),target:"_blank",rel:"noopener noreferrer",className:et,...rt,children:_e})}class ReferencesButton extends React$k.PureComponent{constructor(){super(...arguments),this.referencesList=$=>jsxRuntimeExports.jsx(Menu,{children:$.map(_e=>{const{span:et,spanID:tt}=_e;return jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsxs(ReferenceLink,{reference:_e,focusSpan:this.props.focusSpan,className:"ReferencesButton--TraceRefLink",children:[et?`${et.process.serviceName}:${et.operationName} - ${_e.spanID}`:`(another trace) - ${_e.spanID}`,!et&&jsxRuntimeExports.jsx(NewWindowIcon,{})]})},`${tt}`)})})}render(){const{references:$,children:_e,tooltipText:et,focusSpan:tt}=this.props,rt={arrowPointAtCenter:!0,mouseLeaveDelay:.5,placement:"bottom",title:et,overlayClassName:"ReferencesButton--tooltip"};if($.length>1)return jsxRuntimeExports.jsx(Tooltip$1,{...rt,children:jsxRuntimeExports.jsx(Dropdown,{overlay:this.referencesList($),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsx("a",{className:"ReferencesButton-MultiParent",children:_e})})});const at=$[0];return jsxRuntimeExports.jsx(Tooltip$1,{...rt,children:jsxRuntimeExports.jsx(ReferenceLink,{reference:at,focusSpan:tt,className:"ReferencesButton-MultiParent",children:_e})})}}var iosArrowDownExports={},iosArrowDown={get exports(){return iosArrowDownExports},set exports(o){iosArrowDownExports=o}};(function(o,$){Object.defineProperty($,"__esModule",{value:!0});var _e=Object.assign||function(ot){for(var st=1;st{(!(_e.relatedTarget instanceof HTMLSpanElement)||get_1$1(_e,"relatedTarget.dataset.ancestorId")!==et)&&this.props.removeHoverIndentGuideId(et)},this.handleMouseEnter=(_e,et)=>{(!(_e.relatedTarget instanceof HTMLSpanElement)||get_1$1(_e,"relatedTarget.dataset.ancestorId")!==et)&&this.props.addHoverIndentGuideId(et)},this.ancestorIds=spanAncestorIds($.span),this.ancestorIds.push("root"),this.ancestorIds.reverse()}render(){const{childrenVisible:$,onClick:_e,showChildrenIcon:et,span:tt}=this.props,{hasChildren:rt,spanID:at}=tt,nt=rt?{onClick:_e,role:"switch","aria-checked":$}:null,it=et&&rt&&($?jsxRuntimeExports.jsx(IoIosArrowDown,{}):jsxRuntimeExports.jsx(IoChevronRight,{}));return jsxRuntimeExports.jsxs("span",{className:`SpanTreeOffset ${rt?"is-parent":""}`,...nt,children:[this.ancestorIds.map(ot=>jsxRuntimeExports.jsx("span",{className:classnamesExports("SpanTreeOffset--indentGuide",{"is-active":this.props.hoverIndentGuideIds.has(ot)}),"data-ancestor-id":ot,onMouseEnter:st=>this.handleMouseEnter(st,ot),onMouseLeave:st=>this.handleMouseLeave(st,ot)},ot)),it&&jsxRuntimeExports.jsx("span",{className:"SpanTreeOffset--iconWrapper",onMouseEnter:ot=>this.handleMouseEnter(ot,at),onMouseLeave:ot=>this.handleMouseLeave(ot,at),children:it})]})}}UnconnectedSpanTreeOffset.defaultProps={childrenVisible:!1,onClick:void 0,showChildrenIcon:!0};function mapStateToProps$4(o){const{hoverIndentGuideIds:$}=o.traceTimeline;return{hoverIndentGuideIds:$}}function mapDispatchToProps$4(o){const{addHoverIndentGuideId:$,removeHoverIndentGuideId:_e}=bindActionCreators(actions,o);return{addHoverIndentGuideId:$,removeHoverIndentGuideId:_e}}const SpanTreeOffset=connect$3(mapStateToProps$4,mapDispatchToProps$4)(UnconnectedSpanTreeOffset);function arrayAggregator$1(o,$,_e,et){for(var tt=-1,rt=o==null?0:o.length;++tt/g,">")}var jsonMarkup=function(o,$){var _e="",et=Stylize($),tt=function(at,nt,it,ot){if(!at.length)return nt+" "+it;var st=nt+` `;return _e+=INDENT,at.forEach(function(lt,ct){st+=_e+ot(lt)+(ct"+at+"";case"number":return""+at+"";case"date":return'"'+escape$1(at.toISOString())+'"';case"null":return"null";case"string":return""'+escape$1(at.replace(/\n/g,` -`+_e))+'"';case"link":return""
'+escape$1(at)+'"';case"array":return tt(at,"[","]",rt);case"object":var nt=Object.keys(at).filter(function(it){return at[it]!==void 0});return tt(nt,"{","}",function(it){return""'+it+'": '+rt(at[it])})}return""}return"
"+rt(o)+"
"};const KeyValuesTable$1="",jsonObjectOrArrayStartRegex=/^(\[|\{)/;function tryParseJson(o){try{return jsonObjectOrArrayStartRegex.test(o)?JSON.parse(o):o}catch($){return o}}function shouldDisplayAsStringList(o){return o.startsWith("http.request.header.")||o.startsWith("http.response.header.")}const stringListMarkup=o=>jsxRuntimeExports.jsx("div",{className:"json-markup",children:o.map(($,_e)=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[_e>0&&", ",jsxRuntimeExports.jsx("span",{className:"json-markup-string",children:$})]}))}),stringMarkup=o=>jsxRuntimeExports.jsx("div",{className:"json-markup",children:jsxRuntimeExports.jsx("span",{className:"json-markup-string",children:o})});function _jsonMarkup(o){const $={__html:jsonMarkup(o)};return jsxRuntimeExports.jsx("div",{dangerouslySetInnerHTML:$})}function formatValue$1(o,$){let _e,et=$;return typeof $=="string"&&(et=tryParseJson($)),typeof et=="string"?_e=stringMarkup(et):Array.isArray(et)&&shouldDisplayAsStringList(o)?_e=stringListMarkup(et):_e=_jsonMarkup(et),jsxRuntimeExports.jsx("div",{className:"ub-inline-block",children:_e})}const LinkValue=o=>jsxRuntimeExports.jsxs("a",{href:o.href,title:o.title,target:"_blank",rel:"noopener noreferrer",children:[o.children," ",jsxRuntimeExports.jsx(Icon$1,{className:"KeyValueTable--linkIcon",type:"export"})]});LinkValue.defaultProps={title:""};const linkValueList=o=>jsxRuntimeExports.jsx(Menu,{children:o.map(({text:$,url:_e},et)=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(LinkValue,{href:_e,children:$})},`${_e}-${et}`))});function KeyValuesTable(o){const{data:$,linksGetter:_e}=o;return jsxRuntimeExports.jsx("div",{className:"KeyValueTable u-simple-scrollbars",children:jsxRuntimeExports.jsx("table",{className:"u-width-100",children:jsxRuntimeExports.jsx("tbody",{className:"KeyValueTable--body",children:$.map((et,tt)=>{const rt=formatValue$1(et.key,et.value),at=_e?_e($,tt):null;let nt;return at&&at.length===1?nt=jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(LinkValue,{href:at[0].url,title:at[0].text,children:rt})}):at&&at.length>1?nt=jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(Dropdown,{overlay:linkValueList(at),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsxs("a",{children:[rt," ",jsxRuntimeExports.jsx(Icon$1,{className:"KeyValueTable--linkIcon",type:"profile"})]})})}):nt=rt,jsxRuntimeExports.jsxs("tr",{className:"KeyValueTable--row",children:[jsxRuntimeExports.jsx("td",{className:"KeyValueTable--keyColumn",children:et.key}),jsxRuntimeExports.jsx("td",{children:nt}),jsxRuntimeExports.jsx("td",{className:"KeyValueTable--copyColumn",children:jsxRuntimeExports.jsx(CopyIcon,{className:"KeyValueTable--copyIcon",copyText:JSON.stringify(et,null,2),tooltipTitle:"Copy JSON"})})]},`${et.key}-${tt}`)})})})})}const AccordianKeyValues$1="";function KeyValuesSummary(o){const{data:$}=o;return!Array.isArray($)||!$.length?null:jsxRuntimeExports.jsx("ul",{className:"AccordianKeyValues--summary",children:$.map((_e,et)=>jsxRuntimeExports.jsxs("li",{className:"AccordianKeyValues--summaryItem",children:[jsxRuntimeExports.jsx("span",{className:"AccordianKeyValues--summaryLabel",children:_e.key}),jsxRuntimeExports.jsx("span",{className:"AccordianKeyValues--summaryDelim",children:"="}),String(_e.value)]},`${_e.key}-${et}`))})}KeyValuesSummary.defaultProps={data:null};function AccordianKeyValues(o){const{className:$,data:_e,highContrast:et,interactive:tt,isOpen:rt,label:at,linksGetter:nt,onToggle:it}=o,ot=!Array.isArray(_e)||!_e.length,st=classnamesExports("u-align-icon",{"AccordianKeyValues--emptyIcon":ot});let lt=null,ct=null;return tt&&(lt=rt?jsxRuntimeExports.jsx(IoIosArrowDown,{className:st}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:st}),ct={"aria-checked":rt,onClick:ot?null:it,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:classnamesExports($,"u-tx-ellipsis"),children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianKeyValues--header",{"is-empty":ot,"is-high-contrast":et}),...ct,children:[lt,jsxRuntimeExports.jsxs("strong",{"data-test":LABEL,children:[at,rt||":"]}),!rt&&jsxRuntimeExports.jsx(KeyValuesSummary,{data:_e})]}),rt&&jsxRuntimeExports.jsx(KeyValuesTable,{data:_e,linksGetter:nt})]})}AccordianKeyValues.defaultProps={className:null,highContrast:!1,interactive:!0,onToggle:null};const AccordianLogs$1="";function AccordianLogs(o){const{interactive:$,isOpen:_e,linksGetter:et,logs:tt,openedItems:rt,onItemToggle:at,onToggle:nt,timestamp:it}=o;let ot=null,st="span",lt=null;return $&&(ot=_e?jsxRuntimeExports.jsx(IoIosArrowDown,{className:"u-align-icon"}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:"u-align-icon"}),st="a",lt={"aria-checked":_e,onClick:nt,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:"AccordianLogs",children:[jsxRuntimeExports.jsxs(st,{className:classnamesExports("AccordianLogs--header",{"is-open":_e}),...lt,children:[ot," ",jsxRuntimeExports.jsx("strong",{children:"Logs"})," (",tt.length,")"]}),_e&&jsxRuntimeExports.jsxs("div",{className:"AccordianLogs--content",children:[_sortBy(tt,"timestamp").map((ct,ut)=>jsxRuntimeExports.jsx(AccordianKeyValues,{className:utat(ct):null},`${ct.timestamp}-${ut}`)),jsxRuntimeExports.jsx("small",{className:"AccordianLogs--footer",children:"Log timestamps are relative to the start time of the full trace."})]})]})}AccordianLogs.defaultProps={interactive:!0,linksGetter:void 0,onItemToggle:void 0,onToggle:void 0,openedItems:void 0};const SpanBar$2="";function toPercent(o){return`${(o*100).toFixed(1)}%`}function SpanBar(o){const{viewEnd:$,viewStart:_e,getViewedBounds:et,color:tt,label:rt,hintSide:at,onClick:nt,setLongLabel:it,setShortLabel:ot,rpc:st,traceStartTime:lt,span:ct}=o,ut=groupBy_1(ct.logs,ft=>{const At=et(ft.timestamp,ft.timestamp).start;return toPercent(Math.round(At*500)/500)});return jsxRuntimeExports.jsxs("div",{className:"SpanBar--wrapper",onClick:nt,onMouseOut:ot,onMouseOver:it,"aria-hidden":!0,children:[jsxRuntimeExports.jsx("div",{"aria-label":rt,className:"SpanBar--bar",style:{background:tt,left:toPercent(_e),width:toPercent($-_e)},children:jsxRuntimeExports.jsx("div",{className:`SpanBar--label is-${at}`,children:rt})}),jsxRuntimeExports.jsx("div",{children:Object.keys(ut).map(ft=>jsxRuntimeExports.jsx(Popover,{arrowPointAtCenter:!0,overlayClassName:"SpanBar--logHint",placement:"topLeft",content:jsxRuntimeExports.jsx(AccordianLogs,{interactive:!1,isOpen:!0,logs:ut[ft],timestamp:lt}),children:jsxRuntimeExports.jsx("div",{className:"SpanBar--logMarker",style:{left:ft}})},ft))}),st&&jsxRuntimeExports.jsx("div",{className:"SpanBar--rpc",style:{background:st.color,left:toPercent(st.viewStart),width:toPercent(st.viewEnd-st.viewStart)}})]})}const SpanBar$1=compose(withState("label","setLabel",o=>o.shortLabel),withProps(({setLabel:o,shortLabel:$,longLabel:_e})=>({setLongLabel:()=>o(_e),setShortLabel:()=>o($)})),onlyUpdateForKeys(["label","rpc","viewStart","viewEnd"]))(SpanBar),LightBulbIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 12 12",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M4.125 10.875h3.75M3.689 7.828a3.727 3.727 0 0 1-1.439-2.93c-.01-2.034 1.627-3.726 3.66-3.773a3.75 3.75 0 0 1 2.406 6.698 1.134 1.134 0 0 0-.441.896V9a.375.375 0 0 1-.375.375h-3A.375.375 0 0 1 4.125 9v-.281a1.144 1.144 0 0 0-.436-.89v0Z"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M6.38 2.662a2.245 2.245 0 0 1 1.837 1.833"})]})},LightBulbIcon=React$k.memo(LightBulbIconComponent),AlarmClockIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"m6.33 5-2 2m13.34 0-2-2M7 15.67 5.67 17M15 15.67 16.33 17M11 9v2.67L12.33 13M11 17a5.33 5.33 0 1 0 0-10.67A5.33 5.33 0 0 0 11 17Z"})})},AlarmClockIcon=React$k.memo(AlarmClockIconComponent),BottleneckIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",d:"M15.13 4.25 12.5 8v5.63l2.63 4.12m-8.25 0L9.5 14V8.37L6.87 4.25m8.63 10.5A5.53 5.53 0 0 0 17 11c0-1.42-.56-2.73-1.5-3.75m-9 0A5.53 5.53 0 0 0 5 11c0 1.42.56 2.73 1.5 3.75"})})},BottleneckIcon=React$k.memo(BottleneckIconComponent),MeterHighIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M5.94 11c0-2.7 2.2-4.9 4.9-4.9M14 7.85 10.84 11m.7 0a.7.7 0 1 1-1.4 0 .7.7 0 0 1 1.4 0Z"})]})},MeterHighIcon=React$k.memo(MeterHighIconComponent),MeterLowIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M15.9 11c0-2.7-2.2-4.9-4.9-4.9M7.85 7.85 11 11m-.7 0a.7.7 0 1 0 1.4 0 .7.7 0 0 0-1.4 0Z"})]})},MeterLowIcon=React$k.memo(MeterLowIconComponent),MeterMediumIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 6.04V11m.76 0a.76.76 0 1 1-1.52 0 .76.76 0 0 1 1.52 0Z"})]})},MeterMediumIcon=React$k.memo(MeterMediumIconComponent),SQLDatabaseIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M16 5.8c0 .994-2.239 1.8-5 1.8s-5-.806-5-1.8m10 0c0-.994-2.239-1.8-5-1.8s-5 .806-5 1.8m10 0V9M6 5.8v6M16 9c0 .996-2.222 1.8-5 1.8S6 9.996 6 9m10 0v5.2M6 15.933c.261.198.578.305.904.306.542 0 1.025-.184 1.025-.796 0-.98-1.929-.55-1.929-1.469 0-.49.362-.795.904-.795.326 0 .643.108.904.306m5.585-.306v3.078H15.5m-5-.185c.71 0 1.286-.648 1.286-1.447S11.21 13.18 10.5 13.18c-.71 0-1.286.647-1.286 1.446 0 .799.576 1.447 1.286 1.447Zm.322-.965L11.5 16.5"})})},SQLDatabaseIcon=React$k.memo(SQLDatabaseIconComponent),ScalesIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5.077v11.846m-1.615 0h3.23M6.154 8.308l9.692-2.154M4 13.692c0 1.192 1.346 1.616 2.154 1.616.808 0 2.154-.424 2.154-1.616L6.154 8.308 4 13.692Zm9.692-2.153c0 1.19 1.347 1.615 2.154 1.615.808 0 2.154-.424 2.154-1.615l-2.154-5.385-2.154 5.385Z"})})},ScalesIcon=React$k.memo(ScalesIconComponent),SineIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M4 11c7-13.86 7 13.86 14 0"})})},SineIcon=React$k.memo(SineIconComponent),SnailIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",d:"M3.92 16.2h10.52c.98 0 1.78-.8 1.78-1.79v-.39c0-.77.63-1.4 1.4-1.4v0c.54 0 .98-.44.98-.98v-.2c0-.66-.54-1.2-1.2-1.2v0c-1.17 0-2.22.76-2.6 1.87l-.54 1.62c0 .02-.02.01-.02 0v-2.6a4.85 4.85 0 0 0-4.86-4.85h-.3a3.97 3.97 0 0 0-3.97 3.96v.67a3.3 3.3 0 0 0 3.3 3.3h1c1.13 0 2.05-.91 2.05-2.05v-1.02c0-1.15-.93-2.09-2.08-2.09h-.1c-.77 0-1.4.63-1.4 1.4v0c0 .76.63 1.38 1.4 1.38h.2"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",d:"M19 7.86c-.53-.13-1.67.16-1.98 2.38m.39-3.96c-.53-.14-1.98 1.58-1.59 4.36"})]})},SnailIcon=React$k.memo(SnailIconComponent),SpotIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M11.7 5a6.01 6.01 0 0 1 5.14 5.38M10.14 5A6.01 6.01 0 0 0 5 10.38m5.13 6.72A6.01 6.01 0 0 1 5 11.72m6.7 5.38a6.01 6.01 0 0 0 5.14-5.38m-5.89 1.58a2.37 2.37 0 1 0 0-4.74 2.37 2.37 0 0 0 0 4.74Z"})})},SpotIcon=React$k.memo(SpotIconComponent),WarningCircleIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".82",d:"M11 7.73v4.47m0 1.8v.22M17 11a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z"})})},WarningCircleIcon=React$k.memo(WarningCircleIconComponent);var InsightType=(o=>(o.TopErrorFlows="TopErrorFlows",o.HotSpot="HotSpot",o.Errors="Errors",o.SlowEndpoint="SlowEndpoint",o.LowUsage="LowUsage",o.NormalUsage="NormalUsage",o.HighUsage="HighUsage",o.EndpointBottleneck="EndpointBottleneck",o.EndpointSpanNPlusOne="EndpointSpanNPlusOne",o.SpanUsages="SpanUsages",o.SpaNPlusOne="SpaNPlusOne",o.SpanEndpointBottleneck="SpanEndpointBottleneck",o.SpanDurations="SpanDurations",o.SpanScaling="SpanScaling",o.SpanDurationBreakdown="SpanDurationBreakdown",o.EndpointBreakdown="EndpointBreakdown",o.EndpointSessionInView="EndpointSessionInView",o.EndpointChattyApi="EndpointChattyApi",o.EndpointChattyApiV2="EndpointChattyApiV2",o.EndpointHighNumberOfQueries="EndpointHighNumberOfQueries",o.SpanNexus="SpanNexus",o.SpanQueryOptimization="SpanQueryOptimization",o.EndpointQueryOptimization="EndpointQueryOptimization",o.EndpointQueryOptimizationV2="EndpointQueryOptimizationV2",o.EndpointSlowdownSource="EndpointSlowdownSource",o))(InsightType||{});const ClockWithTicksIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{fill:_e,d:"M16.9984 11.5048A6.0096 6.0096 0 0 1 13.07 16.636a6.0095 6.0095 0 0 1-6.3096-1.3964 6.0102 6.0102 0 0 1 3.7348-10.238.4634.4634 0 0 1 .0762.9236 5.0867 5.0867 0 1 0 5.5034 5.5034.4636.4636 0 0 1 .4999-.4237.4634.4634 0 0 1 .4237.4999Zm-6.4651-3.7325v3.2326a.462.462 0 0 0 .4618.4618h3.2326a.4618.4618 0 1 0 0-.9236h-2.7708V7.7723a.4619.4619 0 0 0-.9236 0Zm2.309-1.3853a.6926.6926 0 1 0 0-1.3852.6926.6926 0 0 0 0 1.3852Zm2.0781 1.3853a.6925.6925 0 0 0 .6793-.8278.693.693 0 0 0-.5442-.5442.6926.6926 0 1 0-.1351 1.372Zm1.3853 2.0781a.6928.6928 0 0 0 .1352-1.372.6926.6926 0 1 0-.1352 1.372Z"})})},ClockWithTicksIcon=React$k.memo(ClockWithTicksIconComponent),PieChartIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{fill:_e,d:"M11.722 3.005a1.231 1.231 0 0 0-1.338 1.226v3.128a1.22 1.22 0 0 0 1.02 1.213 2.462 2.462 0 1 1-2.866 2.557c-.032-.632.098-1.154.384-1.558a1.22 1.22 0 0 0-.13-1.575L6.668 5.822a1.23 1.23 0 0 0-1.818.084 7.97 7.97 0 0 0 .534 10.79A7.942 7.942 0 0 0 10.999 19h.115a8.023 8.023 0 0 0 7.885-7.886c.058-4.177-3.139-7.739-7.277-8.11ZM5.793 6.688l2.124 2.168v.005a3.33 3.33 0 0 0-.576 1.524H4.258a6.702 6.702 0 0 1 1.535-3.697ZM4.26 11.615h3.1a3.692 3.692 0 0 0 3.025 3.027v3.1a6.77 6.77 0 0 1-6.125-6.127Zm11.52 4.165a6.727 6.727 0 0 1-4.164 1.96v-3.098a3.693 3.693 0 0 0 0-7.283V4.23c3.501.314 6.205 3.329 6.154 6.865a6.727 6.727 0 0 1-1.99 4.684Z"})})},PieChartIcon=React$k.memo(PieChartIconComponent),getInsightTypeInfo=o=>({[InsightType.Errors]:{icon:WarningCircleIcon,label:"Errors"},[InsightType.HotSpot]:{icon:SpotIcon,label:"Error Hotspot"},[InsightType.SlowEndpoint]:{icon:SnailIcon,label:"Slow Endpoint"},[InsightType.LowUsage]:{icon:MeterLowIcon,label:"Endpoint Low Traffic"},[InsightType.NormalUsage]:{icon:MeterMediumIcon,label:"Endpoint Normal Level of Traffic"},[InsightType.HighUsage]:{icon:MeterHighIcon,label:"Endpoint High Traffic"},[InsightType.EndpointBottleneck]:{icon:BottleneckIcon,label:"Bottleneck"},[InsightType.EndpointSpanNPlusOne]:{icon:SQLDatabaseIcon,label:"Suspected N+1"},[InsightType.SpaNPlusOne]:{icon:SQLDatabaseIcon,label:"Suspected N+1"},[InsightType.SpanEndpointBottleneck]:{icon:BottleneckIcon,label:"Bottleneck"},[InsightType.SpanScaling]:{icon:ScalesIcon,label:"Scaling Issue Found"},[InsightType.SpanUsages]:{icon:SineIcon,label:"Top Usage"},[InsightType.SpanDurations]:{icon:AlarmClockIcon,label:"Duration"},[InsightType.SpanDurationBreakdown]:{icon:ClockWithTicksIcon,label:"Duration Breakdown"},[InsightType.EndpointSlowdownSource]:{icon:SnailIcon,label:"Duration Slowdown Source Detected"},[InsightType.EndpointBreakdown]:{icon:PieChartIcon,label:"Request Breakdown"},[InsightType.EndpointSessionInView]:{icon:SQLDatabaseIcon,label:"Session in View Query Detected"},[InsightType.EndpointChattyApiV2]:{icon:SQLDatabaseIcon,label:"Excessive API Calls Detected"},[InsightType.EndpointHighNumberOfQueries]:{icon:SQLDatabaseIcon,label:"High number of queries"},[InsightType.SpanNexus]:{icon:BottleneckIcon,label:"Code Nexus Point"},[InsightType.SpanQueryOptimization]:{icon:SQLDatabaseIcon,label:"Inefficient Query"},[InsightType.EndpointQueryOptimizationV2]:{icon:SQLDatabaseIcon,label:"Inefficient Query"}})[o],getInsightImportanceColor=o=>{if(o!==0)return o<3?"#e00036":o<5?"#e06c00":o<7?"#e8b500":"#1dc693"},getInsightTypeOrderPriority=o=>({[InsightType.HotSpot]:1,[InsightType.Errors]:2,[InsightType.TopErrorFlows]:3,[InsightType.EndpointBreakdown]:5,[InsightType.HighUsage]:10,[InsightType.SlowEndpoint]:20,[InsightType.EndpointSlowdownSource]:25,[InsightType.LowUsage]:30,[InsightType.EndpointBottleneck]:40,[InsightType.NormalUsage]:50,[InsightType.EndpointSpanNPlusOne]:55,[InsightType.EndpointSessionInView]:56,[InsightType.EndpointChattyApiV2]:57,[InsightType.EndpointHighNumberOfQueries]:58,[InsightType.EndpointQueryOptimizationV2]:59,[InsightType.SpanDurations]:60,[InsightType.SpanUsages]:61,[InsightType.SpanScaling]:63,[InsightType.SpaNPlusOne]:65,[InsightType.SpanEndpointBottleneck]:67,[InsightType.SpanDurationBreakdown]:68,[InsightType.SpanNexus]:69,[InsightType.SpanQueryOptimization]:70})[o]||1/0,SpanBarRow$1="";class SpanBarRow extends reactExports.PureComponent{constructor($){super($),this._detailToggle=()=>{this.props.onDetailToggled(this.props.span.spanID)},this._childrenToggle=()=>{this.props.onChildrenToggled(this.props.span.spanID)},this._updateSpanInfo=this._updateSpanInfo.bind(this);const _e=state.spans[$.span.spanID];this.state={insights:_e?_e.insights:[]}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}_updateSpanInfo($){const _e=$[this.props.span.spanID];this.setState({insights:_e?_e.insights:[]})}render(){const{className:$,color:_e,columnDivision:et,isChildrenExpanded:tt,isDetailExpanded:rt,isMatchingFilter:at,numTicks:nt,rpc:it,noInstrumentedServer:ot,showErrorIcon:st,getViewedBounds:lt,traceStartTime:ct,span:ut,focusSpan:ft}=this.props,{duration:At,hasChildren:vt,operationName:ht,process:{serviceName:bt}}=ut,pt=formatDuration(At),dt=lt(ut.startTime,ut.startTime+ut.duration),_t=dt.start,Ct=dt.end,gt=`${bt}::${ht}`;let yt,xt;_t>1-Ct?(yt=`${gt} | ${pt}`,xt="left"):(yt=`${pt} | ${gt}`,xt="right");const Et=this.state.insights.length>0?this.state.insights.reduce((Tt,Rt)=>Tt.importance';case"link":return""'+escape$1(at)+'"';case"array":return tt(at,"[","]",rt);case"object":var nt=Object.keys(at).filter(function(it){return at[it]!==void 0});return tt(nt,"{","}",function(it){return""'+it+'": '+rt(at[it])})}return""}return"
"+rt(o)+"
"};const KeyValuesTable$1="",jsonObjectOrArrayStartRegex=/^(\[|\{)/;function tryParseJson(o){try{return jsonObjectOrArrayStartRegex.test(o)?JSON.parse(o):o}catch($){return o}}function shouldDisplayAsStringList(o){return o.startsWith("http.request.header.")||o.startsWith("http.response.header.")}const stringListMarkup=o=>jsxRuntimeExports.jsx("div",{className:"json-markup",children:o.map(($,_e)=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[_e>0&&", ",jsxRuntimeExports.jsx("span",{className:"json-markup-string",children:$})]}))}),stringMarkup=o=>jsxRuntimeExports.jsx("div",{className:"json-markup",children:jsxRuntimeExports.jsx("span",{className:"json-markup-string",children:o})});function _jsonMarkup(o){const $={__html:jsonMarkup(o)};return jsxRuntimeExports.jsx("div",{dangerouslySetInnerHTML:$})}function formatValue$1(o,$){let _e,et=$;return typeof $=="string"&&(et=tryParseJson($)),typeof et=="string"?_e=stringMarkup(et):Array.isArray(et)&&shouldDisplayAsStringList(o)?_e=stringListMarkup(et):_e=_jsonMarkup(et),jsxRuntimeExports.jsx("div",{className:"ub-inline-block",children:_e})}const LinkValue=o=>jsxRuntimeExports.jsxs("a",{href:o.href,title:o.title,target:"_blank",rel:"noopener noreferrer",children:[o.children," ",jsxRuntimeExports.jsx(Icon$1,{className:"KeyValueTable--linkIcon",type:"export"})]});LinkValue.defaultProps={title:""};const linkValueList=o=>jsxRuntimeExports.jsx(Menu,{children:o.map(({text:$,url:_e},et)=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(LinkValue,{href:_e,children:$})},`${_e}-${et}`))});function KeyValuesTable(o){const{data:$,linksGetter:_e}=o;return jsxRuntimeExports.jsx("div",{className:"KeyValueTable u-simple-scrollbars",children:jsxRuntimeExports.jsx("table",{className:"u-width-100",children:jsxRuntimeExports.jsx("tbody",{className:"KeyValueTable--body",children:$.map((et,tt)=>{const rt=formatValue$1(et.key,et.value),at=_e?_e($,tt):null;let nt;return at&&at.length===1?nt=jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(LinkValue,{href:at[0].url,title:at[0].text,children:rt})}):at&&at.length>1?nt=jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(Dropdown,{overlay:linkValueList(at),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsxs("a",{children:[rt," ",jsxRuntimeExports.jsx(Icon$1,{className:"KeyValueTable--linkIcon",type:"profile"})]})})}):nt=rt,jsxRuntimeExports.jsxs("tr",{className:"KeyValueTable--row",children:[jsxRuntimeExports.jsx("td",{className:"KeyValueTable--keyColumn",children:et.key}),jsxRuntimeExports.jsx("td",{children:nt}),jsxRuntimeExports.jsx("td",{className:"KeyValueTable--copyColumn",children:jsxRuntimeExports.jsx(CopyIcon,{className:"KeyValueTable--copyIcon",copyText:JSON.stringify(et,null,2),tooltipTitle:"Copy JSON"})})]},`${et.key}-${tt}`)})})})})}const AccordianKeyValues$1="";function KeyValuesSummary(o){const{data:$}=o;return!Array.isArray($)||!$.length?null:jsxRuntimeExports.jsx("ul",{className:"AccordianKeyValues--summary",children:$.map((_e,et)=>jsxRuntimeExports.jsxs("li",{className:"AccordianKeyValues--summaryItem",children:[jsxRuntimeExports.jsx("span",{className:"AccordianKeyValues--summaryLabel",children:_e.key}),jsxRuntimeExports.jsx("span",{className:"AccordianKeyValues--summaryDelim",children:"="}),String(_e.value)]},`${_e.key}-${et}`))})}KeyValuesSummary.defaultProps={data:null};function AccordianKeyValues(o){const{className:$,data:_e,highContrast:et,interactive:tt,isOpen:rt,label:at,linksGetter:nt,onToggle:it}=o,ot=!Array.isArray(_e)||!_e.length,st=classnamesExports("u-align-icon",{"AccordianKeyValues--emptyIcon":ot});let lt=null,ct=null;return tt&&(lt=rt?jsxRuntimeExports.jsx(IoIosArrowDown,{className:st}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:st}),ct={"aria-checked":rt,onClick:ot?null:it,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:classnamesExports($,"u-tx-ellipsis"),children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianKeyValues--header",{"is-empty":ot,"is-high-contrast":et}),...ct,children:[lt,jsxRuntimeExports.jsxs("strong",{"data-test":LABEL,children:[at,rt||":"]}),!rt&&jsxRuntimeExports.jsx(KeyValuesSummary,{data:_e})]}),rt&&jsxRuntimeExports.jsx(KeyValuesTable,{data:_e,linksGetter:nt})]})}AccordianKeyValues.defaultProps={className:null,highContrast:!1,interactive:!0,onToggle:null};const AccordianLogs$1="";function AccordianLogs(o){const{interactive:$,isOpen:_e,linksGetter:et,logs:tt,openedItems:rt,onItemToggle:at,onToggle:nt,timestamp:it}=o;let ot=null,st="span",lt=null;return $&&(ot=_e?jsxRuntimeExports.jsx(IoIosArrowDown,{className:"u-align-icon"}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:"u-align-icon"}),st="a",lt={"aria-checked":_e,onClick:nt,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:"AccordianLogs",children:[jsxRuntimeExports.jsxs(st,{className:classnamesExports("AccordianLogs--header",{"is-open":_e}),...lt,children:[ot," ",jsxRuntimeExports.jsx("strong",{children:"Logs"})," (",tt.length,")"]}),_e&&jsxRuntimeExports.jsxs("div",{className:"AccordianLogs--content",children:[_sortBy(tt,"timestamp").map((ct,ut)=>jsxRuntimeExports.jsx(AccordianKeyValues,{className:utat(ct):null},`${ct.timestamp}-${ut}`)),jsxRuntimeExports.jsx("small",{className:"AccordianLogs--footer",children:"Log timestamps are relative to the start time of the full trace."})]})]})}AccordianLogs.defaultProps={interactive:!0,linksGetter:void 0,onItemToggle:void 0,onToggle:void 0,openedItems:void 0};const SpanBar$2="";function toPercent(o){return`${(o*100).toFixed(1)}%`}function SpanBar(o){const{viewEnd:$,viewStart:_e,getViewedBounds:et,color:tt,label:rt,hintSide:at,onClick:nt,setLongLabel:it,setShortLabel:ot,rpc:st,traceStartTime:lt,span:ct}=o,ut=groupBy_1(ct.logs,ft=>{const At=et(ft.timestamp,ft.timestamp).start;return toPercent(Math.round(At*500)/500)});return jsxRuntimeExports.jsxs("div",{className:"SpanBar--wrapper",onClick:nt,onMouseOut:ot,onMouseOver:it,"aria-hidden":!0,children:[jsxRuntimeExports.jsx("div",{"aria-label":rt,className:"SpanBar--bar",style:{background:tt,left:toPercent(_e),width:toPercent($-_e)},children:jsxRuntimeExports.jsx("div",{className:`SpanBar--label is-${at}`,children:rt})}),jsxRuntimeExports.jsx("div",{children:Object.keys(ut).map(ft=>jsxRuntimeExports.jsx(Popover,{arrowPointAtCenter:!0,overlayClassName:"SpanBar--logHint",placement:"topLeft",content:jsxRuntimeExports.jsx(AccordianLogs,{interactive:!1,isOpen:!0,logs:ut[ft],timestamp:lt}),children:jsxRuntimeExports.jsx("div",{className:"SpanBar--logMarker",style:{left:ft}})},ft))}),st&&jsxRuntimeExports.jsx("div",{className:"SpanBar--rpc",style:{background:st.color,left:toPercent(st.viewStart),width:toPercent(st.viewEnd-st.viewStart)}})]})}const SpanBar$1=compose(withState("label","setLabel",o=>o.shortLabel),withProps(({setLabel:o,shortLabel:$,longLabel:_e})=>({setLongLabel:()=>o(_e),setShortLabel:()=>o($)})),onlyUpdateForKeys(["label","rpc","viewStart","viewEnd"]))(SpanBar),LightBulbIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 12 12",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M4.125 10.875h3.75M3.689 7.828a3.727 3.727 0 0 1-1.439-2.93c-.01-2.034 1.627-3.726 3.66-3.773a3.75 3.75 0 0 1 2.406 6.698 1.134 1.134 0 0 0-.441.896V9a.375.375 0 0 1-.375.375h-3A.375.375 0 0 1 4.125 9v-.281a1.144 1.144 0 0 0-.436-.89v0Z"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M6.38 2.662a2.245 2.245 0 0 1 1.837 1.833"})]})},LightBulbIcon=React$k.memo(LightBulbIconComponent),AlarmClockIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"m6.33 5-2 2m13.34 0-2-2M7 15.67 5.67 17M15 15.67 16.33 17M11 9v2.67L12.33 13M11 17a5.33 5.33 0 1 0 0-10.67A5.33 5.33 0 0 0 11 17Z"})})},AlarmClockIcon=React$k.memo(AlarmClockIconComponent),BottleneckIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",d:"M15.13 4.25 12.5 8v5.63l2.63 4.12m-8.25 0L9.5 14V8.37L6.87 4.25m8.63 10.5A5.53 5.53 0 0 0 17 11c0-1.42-.56-2.73-1.5-3.75m-9 0A5.53 5.53 0 0 0 5 11c0 1.42.56 2.73 1.5 3.75"})})},BottleneckIcon=React$k.memo(BottleneckIconComponent),MeterHighIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M5.94 11c0-2.7 2.2-4.9 4.9-4.9M14 7.85 10.84 11m.7 0a.7.7 0 1 1-1.4 0 .7.7 0 0 1 1.4 0Z"})]})},MeterHighIcon=React$k.memo(MeterHighIconComponent),MeterLowIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M15.9 11c0-2.7-2.2-4.9-4.9-4.9M7.85 7.85 11 11m-.7 0a.7.7 0 1 0 1.4 0 .7.7 0 0 0-1.4 0Z"})]})},MeterLowIcon=React$k.memo(MeterLowIconComponent),MeterMediumIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 6.04V11m.76 0a.76.76 0 1 1-1.52 0 .76.76 0 0 1 1.52 0Z"})]})},MeterMediumIcon=React$k.memo(MeterMediumIconComponent),SQLDatabaseIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M16 5.8c0 .994-2.239 1.8-5 1.8s-5-.806-5-1.8m10 0c0-.994-2.239-1.8-5-1.8s-5 .806-5 1.8m10 0V9M6 5.8v6M16 9c0 .996-2.222 1.8-5 1.8S6 9.996 6 9m10 0v5.2M6 15.933c.261.198.578.305.904.306.542 0 1.025-.184 1.025-.796 0-.98-1.929-.55-1.929-1.469 0-.49.362-.795.904-.795.326 0 .643.108.904.306m5.585-.306v3.078H15.5m-5-.185c.71 0 1.286-.648 1.286-1.447S11.21 13.18 10.5 13.18c-.71 0-1.286.647-1.286 1.446 0 .799.576 1.447 1.286 1.447Zm.322-.965L11.5 16.5"})})},SQLDatabaseIcon=React$k.memo(SQLDatabaseIconComponent),ScalesIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5.077v11.846m-1.615 0h3.23M6.154 8.308l9.692-2.154M4 13.692c0 1.192 1.346 1.616 2.154 1.616.808 0 2.154-.424 2.154-1.616L6.154 8.308 4 13.692Zm9.692-2.153c0 1.19 1.347 1.615 2.154 1.615.808 0 2.154-.424 2.154-1.615l-2.154-5.385-2.154 5.385Z"})})},ScalesIcon=React$k.memo(ScalesIconComponent),SineIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M4 11c7-13.86 7 13.86 14 0"})})},SineIcon=React$k.memo(SineIconComponent),SnailIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",d:"M3.92 16.2h10.52c.98 0 1.78-.8 1.78-1.79v-.39c0-.77.63-1.4 1.4-1.4v0c.54 0 .98-.44.98-.98v-.2c0-.66-.54-1.2-1.2-1.2v0c-1.17 0-2.22.76-2.6 1.87l-.54 1.62c0 .02-.02.01-.02 0v-2.6a4.85 4.85 0 0 0-4.86-4.85h-.3a3.97 3.97 0 0 0-3.97 3.96v.67a3.3 3.3 0 0 0 3.3 3.3h1c1.13 0 2.05-.91 2.05-2.05v-1.02c0-1.15-.93-2.09-2.08-2.09h-.1c-.77 0-1.4.63-1.4 1.4v0c0 .76.63 1.38 1.4 1.38h.2"}),jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",d:"M19 7.86c-.53-.13-1.67.16-1.98 2.38m.39-3.96c-.53-.14-1.98 1.58-1.59 4.36"})]})},SnailIcon=React$k.memo(SnailIconComponent),SpotIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M11.7 5a6.01 6.01 0 0 1 5.14 5.38M10.14 5A6.01 6.01 0 0 0 5 10.38m5.13 6.72A6.01 6.01 0 0 1 5 11.72m6.7 5.38a6.01 6.01 0 0 0 5.14-5.38m-5.89 1.58a2.37 2.37 0 1 0 0-4.74 2.37 2.37 0 0 0 0 4.74Z"})})},SpotIcon=React$k.memo(SpotIconComponent),WarningCircleIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".82",d:"M11 7.73v4.47m0 1.8v.22M17 11a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z"})})},WarningCircleIcon=React$k.memo(WarningCircleIconComponent);var InsightType=(o=>(o.TopErrorFlows="TopErrorFlows",o.HotSpot="HotSpot",o.Errors="Errors",o.SlowEndpoint="SlowEndpoint",o.LowUsage="LowUsage",o.NormalUsage="NormalUsage",o.HighUsage="HighUsage",o.EndpointBottleneck="EndpointBottleneck",o.EndpointSpanNPlusOne="EndpointSpanNPlusOne",o.SpanUsages="SpanUsages",o.SpaNPlusOne="SpaNPlusOne",o.SpanEndpointBottleneck="SpanEndpointBottleneck",o.SpanDurations="SpanDurations",o.SpanScaling="SpanScaling",o.SpanDurationBreakdown="SpanDurationBreakdown",o.EndpointBreakdown="EndpointBreakdown",o.EndpointSessionInView="EndpointSessionInView",o.EndpointChattyApi="EndpointChattyApi",o.EndpointChattyApiV2="EndpointChattyApiV2",o.EndpointHighNumberOfQueries="EndpointHighNumberOfQueries",o.SpanNexus="SpanNexus",o.SpanQueryOptimization="SpanQueryOptimization",o.EndpointQueryOptimization="EndpointQueryOptimization",o.EndpointQueryOptimizationV2="EndpointQueryOptimizationV2",o.EndpointSlowdownSource="EndpointSlowdownSource",o))(InsightType||{});const ClockWithTicksIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{fill:_e,d:"M16.9984 11.5048A6.0096 6.0096 0 0 1 13.07 16.636a6.0095 6.0095 0 0 1-6.3096-1.3964 6.0102 6.0102 0 0 1 3.7348-10.238.4634.4634 0 0 1 .0762.9236 5.0867 5.0867 0 1 0 5.5034 5.5034.4636.4636 0 0 1 .4999-.4237.4634.4634 0 0 1 .4237.4999Zm-6.4651-3.7325v3.2326a.462.462 0 0 0 .4618.4618h3.2326a.4618.4618 0 1 0 0-.9236h-2.7708V7.7723a.4619.4619 0 0 0-.9236 0Zm2.309-1.3853a.6926.6926 0 1 0 0-1.3852.6926.6926 0 0 0 0 1.3852Zm2.0781 1.3853a.6925.6925 0 0 0 .6793-.8278.693.693 0 0 0-.5442-.5442.6926.6926 0 1 0-.1351 1.372Zm1.3853 2.0781a.6928.6928 0 0 0 .1352-1.372.6926.6926 0 1 0-.1352 1.372Z"})})},ClockWithTicksIcon=React$k.memo(ClockWithTicksIconComponent),PieChartIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{width:$,height:$,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{fill:_e,d:"M11.722 3.005a1.231 1.231 0 0 0-1.338 1.226v3.128a1.22 1.22 0 0 0 1.02 1.213 2.462 2.462 0 1 1-2.866 2.557c-.032-.632.098-1.154.384-1.558a1.22 1.22 0 0 0-.13-1.575L6.668 5.822a1.23 1.23 0 0 0-1.818.084 7.97 7.97 0 0 0 .534 10.79A7.942 7.942 0 0 0 10.999 19h.115a8.023 8.023 0 0 0 7.885-7.886c.058-4.177-3.139-7.739-7.277-8.11ZM5.793 6.688l2.124 2.168v.005a3.33 3.33 0 0 0-.576 1.524H4.258a6.702 6.702 0 0 1 1.535-3.697ZM4.26 11.615h3.1a3.692 3.692 0 0 0 3.025 3.027v3.1a6.77 6.77 0 0 1-6.125-6.127Zm11.52 4.165a6.727 6.727 0 0 1-4.164 1.96v-3.098a3.693 3.693 0 0 0 0-7.283V4.23c3.501.314 6.205 3.329 6.154 6.865a6.727 6.727 0 0 1-1.99 4.684Z"})})},PieChartIcon=React$k.memo(PieChartIconComponent),getInsightTypeInfo=o=>({[InsightType.Errors]:{icon:WarningCircleIcon,label:"Errors"},[InsightType.HotSpot]:{icon:SpotIcon,label:"Error Hotspot"},[InsightType.SlowEndpoint]:{icon:SnailIcon,label:"Slow Endpoint"},[InsightType.LowUsage]:{icon:MeterLowIcon,label:"Endpoint Low Traffic"},[InsightType.NormalUsage]:{icon:MeterMediumIcon,label:"Endpoint Normal Level of Traffic"},[InsightType.HighUsage]:{icon:MeterHighIcon,label:"Endpoint High Traffic"},[InsightType.EndpointBottleneck]:{icon:BottleneckIcon,label:"Bottleneck"},[InsightType.EndpointSpanNPlusOne]:{icon:SQLDatabaseIcon,label:"Suspected N+1"},[InsightType.SpaNPlusOne]:{icon:SQLDatabaseIcon,label:"Suspected N+1"},[InsightType.SpanEndpointBottleneck]:{icon:BottleneckIcon,label:"Bottleneck"},[InsightType.SpanScaling]:{icon:ScalesIcon,label:"Scaling Issue Found"},[InsightType.SpanUsages]:{icon:SineIcon,label:"Top Usage"},[InsightType.SpanDurations]:{icon:AlarmClockIcon,label:"Duration"},[InsightType.SpanDurationBreakdown]:{icon:ClockWithTicksIcon,label:"Duration Breakdown"},[InsightType.EndpointSlowdownSource]:{icon:SnailIcon,label:"Duration Slowdown Source Detected"},[InsightType.EndpointBreakdown]:{icon:PieChartIcon,label:"Request Breakdown"},[InsightType.EndpointSessionInView]:{icon:SQLDatabaseIcon,label:"Session in View Query Detected"},[InsightType.EndpointChattyApiV2]:{icon:SQLDatabaseIcon,label:"Excessive API Calls Detected"},[InsightType.EndpointHighNumberOfQueries]:{icon:SQLDatabaseIcon,label:"High number of queries"},[InsightType.SpanNexus]:{icon:BottleneckIcon,label:"Code Nexus Point"},[InsightType.SpanQueryOptimization]:{icon:SQLDatabaseIcon,label:"Inefficient Query"},[InsightType.EndpointQueryOptimizationV2]:{icon:SQLDatabaseIcon,label:"Inefficient Query"}})[o],getInsightImportanceColor=o=>{if(o!==0)return o<3?"#e00036":o<5?"#e06c00":o<7?"#e8b500":"#1dc693"},getInsightTypeOrderPriority=o=>({[InsightType.HotSpot]:1,[InsightType.Errors]:2,[InsightType.TopErrorFlows]:3,[InsightType.EndpointBreakdown]:5,[InsightType.HighUsage]:10,[InsightType.SlowEndpoint]:20,[InsightType.EndpointSlowdownSource]:25,[InsightType.LowUsage]:30,[InsightType.EndpointBottleneck]:40,[InsightType.NormalUsage]:50,[InsightType.EndpointSpanNPlusOne]:55,[InsightType.EndpointSessionInView]:56,[InsightType.EndpointChattyApiV2]:57,[InsightType.EndpointHighNumberOfQueries]:58,[InsightType.EndpointQueryOptimizationV2]:59,[InsightType.SpanDurations]:60,[InsightType.SpanUsages]:61,[InsightType.SpanScaling]:63,[InsightType.SpaNPlusOne]:65,[InsightType.SpanEndpointBottleneck]:67,[InsightType.SpanDurationBreakdown]:68,[InsightType.SpanNexus]:69,[InsightType.SpanQueryOptimization]:70})[o]||1/0,SpanBarRow$1="";class SpanBarRow extends reactExports.PureComponent{constructor($){super($),this._detailToggle=()=>{this.props.onDetailToggled(this.props.span.spanID)},this._childrenToggle=()=>{this.props.onChildrenToggled(this.props.span.spanID)},this._updateSpanInfo=this._updateSpanInfo.bind(this);const _e=state.spans[$.span.spanID];this.state={insights:_e?_e.insights:[]}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}_updateSpanInfo($){const _e=$[this.props.span.spanID];this.setState({insights:_e?_e.insights:[]})}render(){const{className:$,color:_e,columnDivision:et,isChildrenExpanded:tt,isDetailExpanded:rt,isMatchingFilter:at,numTicks:nt,rpc:it,noInstrumentedServer:ot,showErrorIcon:st,getViewedBounds:lt,traceStartTime:ct,span:ut,focusSpan:ft}=this.props,{duration:At,hasChildren:vt,operationName:ht,process:{serviceName:mt}}=ut,bt=formatDuration(At),dt=lt(ut.startTime,ut.startTime+ut.duration),xt=dt.start,Ct=dt.end,gt=`${mt}::${ht}`;let wt,_t;xt>1-Ct?(wt=`${gt} | ${bt}`,_t="left"):(wt=`${bt} | ${gt}`,_t="right");const Et=this.state.insights.length>0?this.state.insights.reduce((Tt,Rt)=>Tt.importance1&&jsxRuntimeExports.jsx(ReferencesButton,{references:ut.references,tooltipText:"Contains multiple references",focusSpan:ft,children:jsxRuntimeExports.jsx(IoNetwork,{})}),ut.subsidiarilyReferencedBy&&ut.subsidiarilyReferencedBy.length>0&&jsxRuntimeExports.jsx(ReferencesButton,{references:ut.subsidiarilyReferencedBy,tooltipText:`This span is referenced by ${ut.subsidiarilyReferencedBy.length===1?"another span":"multiple other spans"}`,focusSpan:ft,children:jsxRuntimeExports.jsx(MdFileUpload,{})})]})}),jsxRuntimeExports.jsxs(TimelineRow.Cell,{className:"span-view",style:{cursor:"pointer"},width:1-et,onClick:this._detailToggle,children:[jsxRuntimeExports.jsx(Ticks,{numTicks:nt}),jsxRuntimeExports.jsx(SpanBar$1,{rpc:it,viewStart:_t,viewEnd:Ct,getViewedBounds:lt,color:_e,shortLabel:pt,longLabel:yt,hintSide:xt,traceStartTime:ct,span:ut})]})]})}}SpanBarRow.defaultProps={className:"",rpc:null};const AccordianReferences$1="";function References(o){const{data:$,focusSpan:_e}=o;return jsxRuntimeExports.jsx("div",{className:"ReferencesList u-simple-scrollbars",children:jsxRuntimeExports.jsx("ul",{className:"ReferencesList--List",children:$.map(et=>jsxRuntimeExports.jsx("li",{className:"ReferencesList--Item",children:jsxRuntimeExports.jsx(ReferenceLink,{reference:et,focusSpan:_e,children:jsxRuntimeExports.jsxs("span",{className:"ReferencesList--itemContent",children:[et.span?jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx("span",{className:"span-svc-name",children:et.span.process.serviceName}),jsxRuntimeExports.jsx("small",{className:"endpoint-name",children:et.span.operationName})]}):jsxRuntimeExports.jsx("span",{className:"span-svc-name",children:"< span in another trace >"}),jsxRuntimeExports.jsxs("small",{className:"SpanReference--debugInfo",children:[jsxRuntimeExports.jsx("span",{className:"SpanReference--debugLabel","data-label":"Reference Type:",children:et.refType}),jsxRuntimeExports.jsx("span",{className:"SpanReference--debugLabel","data-label":"SpanID:",children:et.spanID})]})]})})},`${et.spanID}`))})})}class AccordianReferences extends reactExports.PureComponent{render(){const{data:$,highContrast:_e,interactive:et,isOpen:tt,onToggle:rt,focusSpan:at}=this.props,nt=!Array.isArray($)||!$.length,it=classnamesExports("u-align-icon",{"AccordianKReferences--emptyIcon":nt});let ot=null,st=null;return et&&(ot=tt?jsxRuntimeExports.jsx(IoIosArrowDown,{className:it}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:it}),st={"aria-checked":tt,onClick:nt?null:rt,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:"AccordianReferences",children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianReferences--header","AccordianReferences--header",{"is-empty":nt,"is-high-contrast":_e,"is-open":tt}),...st,children:[ot,jsxRuntimeExports.jsx("strong",{children:jsxRuntimeExports.jsx("span",{className:"AccordianReferences--label",children:"References"})})," ","(",$.length,")"]}),tt&&jsxRuntimeExports.jsx(References,{data:$,focusSpan:at})]})}}AccordianReferences.defaultProps={highContrast:!1,interactive:!0,onToggle:null};const TextList$1="";function TextList(o){const{data:$}=o;return jsxRuntimeExports.jsx("div",{className:"TextList u-simple-scrollbars",children:jsxRuntimeExports.jsx("ul",{className:"TextList--List ",children:$.map((_e,et)=>jsxRuntimeExports.jsx("li",{children:_e},`${et}`))})})}const AccordianText$1="";function AccordianText(o){const{className:$,data:_e,headerClassName:et,highContrast:tt,interactive:rt,isOpen:at,label:nt,onToggle:it}=o,ot=!Array.isArray(_e)||!_e.length,st=classnamesExports("u-align-icon",{"AccordianKeyValues--emptyIcon":ot});let lt=null,ct=null;return rt&&(lt=at?jsxRuntimeExports.jsx(IoIosArrowDown,{className:st}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:st}),ct={"aria-checked":at,onClick:ot?null:it,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:$||"",children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianText--header",et,{"is-empty":ot,"is-high-contrast":tt,"is-open":at}),...ct,children:[lt," ",jsxRuntimeExports.jsx("strong",{children:nt})," (",_e.length,")"]}),at&&jsxRuntimeExports.jsx(TextList,{data:_e})]})}AccordianText.defaultProps={className:null,highContrast:!1,interactive:!0,onToggle:null};const InsightIcon=o=>{const $=getInsightTypeInfo(o.insight.type);return $?jsxRuntimeExports.jsx($.icon,{color:getInsightImportanceColor(o.insight.importance),size:o.size}):null},index$c="",getIconColor=(o,$)=>o?"#49494d":$?"#dadada":"#b9c2eb",Button=o=>{const[$,_e]=reactExports.useState(!1),et=reactExports.useCallback(()=>_e(!0),[]);reactExports.useEffect(()=>{const rt=()=>{_e(!1)};return window.addEventListener("mouseup",rt),()=>{window.removeEventListener("mouseup",rt)}},[]);const tt=rt=>{o.onClick&&o.onClick(rt)};return jsxRuntimeExports.jsx("button",{type:"button",className:"Button",onClick:tt,disabled:o.disabled,onMouseDown:et,children:jsxRuntimeExports.jsxs("span",{className:"Button__content",children:[o.icon&&jsxRuntimeExports.jsx(o.icon.component,{size:o.icon.size,color:o.icon.color||getIconColor(!!o.disabled,$)}),jsxRuntimeExports.jsx("span",{children:o.children})]})})},CrosshairIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 12 12",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6a4 4 0 0 1-4 4m4-4a4 4 0 0 0-4-4m4 4H7.87M6 10a4 4 0 0 1-4-4m4 4V7.88M2 6a4 4 0 0 1 4-4M2 6h2.13M6 2v2.13"})})},CrosshairIcon=React$k.memo(CrosshairIconComponent),getSpanDataForDigma=(o,$=!1)=>{const _e={instrumentationLibrary:"otel.library.name",function:"code.function",namespace:"code.namespace",spanCodeObjectId:"digma.span.code.object.id",methodCodeObjectId:"digma.method.code.object.id"},et={environment:"digma.environment",...$?{environmentId:"digma.environment.id"}:{}},tt=Object.entries(_e).reduce((at,[nt,it])=>{const ot=o.tags.find(st=>st.key===it);return ot?{...at,[nt]:ot.value}:at},{}),rt=Object.entries(et).reduce((at,[nt,it])=>{const ot=o.process.tags.find(st=>st.key===it);return ot?{...at,[nt]:ot.value}:at},{});return{...tt,...rt,id:o.spanID,name:o.operationName,serviceName:o.process.serviceName}},index$b="";class SpanDetail extends React$k.Component{constructor($){super($),this._updateSpanInfo=this._updateSpanInfo.bind(this),this._handleCodeButtonClick=this._handleCodeButtonClick.bind(this),this._handleSpanNameLinkClick=this._handleSpanNameLinkClick.bind(this);const _e=state.spans[$.span.spanID];this.state={hasCodeLocation:!!(_e&&_e.hasCodeLocation),insights:_e?this._sortInsightsByImportance(_e.insights):[]}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}_sortInsightsByImportance($){return[...$].sort((_e,et)=>_e.importance-et.importance||getInsightTypeOrderPriority(_e.type)-getInsightTypeOrderPriority(et.type))}_updateSpanInfo($){const _e=$[this.props.span.spanID];this.setState({hasCodeLocation:!!(_e&&_e.hasCodeLocation),insights:_e?this._sortInsightsByImportance(_e.insights):[]})}_handleCodeButtonClick(){const $=getSpanDataForDigma(this.props.span);window.sendMessageToDigma({action:actions$1.GO_TO_SPAN,payload:$})}_handleSpanNameLinkClick(){const $=getSpanDataForDigma(this.props.span,!0);$.spanCodeObjectId&&window.sendMessageToDigma({action:globalActions.CHANGE_SCOPE,payload:{span:{spanCodeObjectId:$.spanCodeObjectId},environmentId:$.environmentId,context:{event:"JAEGER/SPAN_LINK_CLICKED"}}})}render(){const{detailState:$,linksGetter:_e,logItemToggle:et,logsToggle:tt,processToggle:rt,span:at,tagsToggle:nt,traceStartTime:it,warningsToggle:ot,referencesToggle:st,focusSpan:lt}=this.props,{isTagsOpen:ct,isProcessOpen:ut,logs:ft,isWarningsOpen:At,isReferencesOpen:vt}=$,{operationName:ht,process:bt,duration:pt,relativeStartTime:dt,spanID:_t,logs:Ct,tags:gt,warnings:yt,references:xt}=at,Et=[{key:"svc",label:"Service:",value:bt.serviceName},{key:"duration",label:"Duration:",value:formatDuration(pt)},{key:"start",label:"Start Time:",value:formatDuration(dt)}],It=`${window.location.origin}${window.location.pathname}?uiFind=${_t}`,Tt=getSpanDataForDigma(this.props.span).instrumentationLibrary;return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{className:"SpanDetail--header",children:[jsxRuntimeExports.jsxs("div",{className:"ub-flex ub-items-center",children:[Tt&&this.state.insights.length>0?jsxRuntimeExports.jsx(Link$1,{to:"#",onClick:this._handleSpanNameLinkClick,className:"SpanDetail--operationNameLink ub-flex-auto ub-m0",children:ht}):jsxRuntimeExports.jsx("h2",{className:"SpanDetail--operationNameTitle ub-flex-auto ub-m0",children:ht}),jsxRuntimeExports.jsx("div",{className:"SpanDetail--insights",children:this.state.insights.map(Rt=>{const Ot=getInsightTypeInfo(Rt.type);return Ot?jsxRuntimeExports.jsx(Tooltip$1,{title:Ot.label,children:jsxRuntimeExports.jsx("span",{className:"SpanDetail--insightIconContainer",children:jsxRuntimeExports.jsx(InsightIcon,{insight:Rt,size:20})})},Rt.type):null})})]}),jsxRuntimeExports.jsx(LabeledList,{dividerClassName:"SpanDetail--divider",items:Et})]}),jsxRuntimeExports.jsx(Divider$1,{className:"SpanDetail--divider ub-my1"}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(AccordianKeyValues,{data:gt,label:"Tags",linksGetter:_e,isOpen:ct,onToggle:()=>nt(_t)}),bt.tags&&jsxRuntimeExports.jsx(AccordianKeyValues,{className:"ub-mb1",data:bt.tags,label:"Process",linksGetter:_e,isOpen:ut,onToggle:()=>rt(_t)})]}),Ct&&Ct.length>0&&jsxRuntimeExports.jsx(AccordianLogs,{linksGetter:_e,logs:Ct,isOpen:ft.isOpen,openedItems:ft.openedItems,onToggle:()=>tt(_t),onItemToggle:Rt=>et(_t,Rt),timestamp:it}),yt&&yt.length>0&&jsxRuntimeExports.jsx(AccordianText,{className:"AccordianWarnings",headerClassName:"AccordianWarnings--header",label:jsxRuntimeExports.jsx("span",{className:"AccordianWarnings--label",children:"Warnings"}),data:yt,isOpen:At,onToggle:()=>ot(_t)}),xt&&xt.length>0&&(xt.length>1||xt[0].refType!=="CHILD_OF")&&jsxRuntimeExports.jsx(AccordianReferences,{data:xt,isOpen:vt,onToggle:()=>st(_t),focusSpan:lt}),jsxRuntimeExports.jsxs("div",{className:"SpanDetail--code",children:[jsxRuntimeExports.jsxs("small",{className:"SpanDetail--debugInfo",children:[jsxRuntimeExports.jsx("span",{className:"SpanDetail--debugLabel","data-label":"SpanID:"})," ",_t,jsxRuntimeExports.jsx(CopyIcon,{copyText:It,icon:"link",placement:"topRight",tooltipTitle:"Copy deep link to this span"})]}),this.state.hasCodeLocation&&jsxRuntimeExports.jsx(Button,{onClick:this._handleCodeButtonClick,icon:{component:CrosshairIcon,size:18},children:"Code"})]})]})]})}}const SpanDetailRow$1="";class SpanDetailRow extends React$k.PureComponent{constructor(){super(...arguments),this._detailToggle=()=>{this.props.onDetailToggled(this.props.span.spanID)},this._linksGetter=($,_e)=>{const{linksGetter:et,span:tt}=this.props;return et(tt,$,_e)}}render(){const{color:$,columnDivision:_e,detailState:et,logItemToggle:tt,logsToggle:rt,processToggle:at,referencesToggle:nt,warningsToggle:it,span:ot,tagsToggle:st,traceStartTime:lt,focusSpan:ct}=this.props;return jsxRuntimeExports.jsxs(TimelineRow,{className:"detail-row",children:[jsxRuntimeExports.jsxs(TimelineRow.Cell,{width:_e,children:[jsxRuntimeExports.jsx(SpanTreeOffset,{span:ot,showChildrenIcon:!1}),jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsx("span",{className:"detail-row-expanded-accent","aria-checked":"true",onClick:this._detailToggle,role:"switch",style:{borderColor:$}})})]}),jsxRuntimeExports.jsx(TimelineRow.Cell,{width:1-_e,children:jsxRuntimeExports.jsx("div",{className:"detail-info-wrapper",style:{borderTopColor:$},children:jsxRuntimeExports.jsx(SpanDetail,{detailState:et,linksGetter:this._linksGetter,logItemToggle:tt,logsToggle:rt,processToggle:at,referencesToggle:nt,warningsToggle:it,span:ot,tagsToggle:st,traceStartTime:lt,focusSpan:ct})})})]})}}const VirtualizedTraceView$1="",DEFAULT_HEIGHTS={bar:28,detail:161,detailWithLogs:197},NUM_TICKS$1=5;function generateRowStates(o,$,_e){if(!o)return[];let et=null;const tt=[];for(let rt=0;rt=et?ot=!0:et=null),!ot&&($.has(nt)&&(et=it+1),tt.push({span:at,isDetail:!1,spanIndex:rt}),_e.has(nt)&&tt.push({span:at,isDetail:!0,spanIndex:rt}))}return tt}function generateRowStatesFromTrace(o,$,_e){return o?generateRowStates(o.spans,$,_e):[]}function getCssClasses(o){const[$,_e]=o;return classnamesExports({"clipping-left":$>0,"clipping-right":_e<1})}const memoizedGenerateRowStates=memoizeOne$1(generateRowStatesFromTrace),memoizedViewBoundsFunc=memoizeOne$1(createViewedBoundsFunc,isEqual_1),memoizedGetCssClasses=memoizeOne$1(getCssClasses,isEqual_1);class VirtualizedTraceViewImpl extends reactExports.Component{constructor($){super($),this.focusSpan=rt=>{const{trace:at,focusUiFindMatches:nt,location:it,history:ot}=this.props;at&&(updateUiFind({location:it,history:ot,uiFind:rt}),nt(at,rt,!1))},this.getViewRange=()=>this.props.currentViewRangeTime,this.getSearchedSpanIDs=()=>this.props.findMatchesIDs,this.getCollapsedChildren=()=>this.props.childrenHiddenIDs,this.mapRowIndexToSpanIndex=rt=>this.getRowStates()[rt].spanIndex,this.mapSpanIndexToRowIndex=rt=>{const at=this.getRowStates().length;for(let nt=0;nt{const at=this.listView!==rt;this.listView=rt,rt&&at&&this.props.registerAccessors(this.getAccessors())},this.getKeyFromIndex=rt=>{const{isDetail:at,span:nt}=this.getRowStates()[rt];return`${nt.spanID}--${at?"detail":"bar"}`},this.getIndexFromKey=rt=>{const at=rt.split("--"),nt=at[0],it=at[1]==="detail",ot=this.getRowStates().length;for(let st=0;st{const{span:at,isDetail:nt}=this.getRowStates()[rt];return nt?Array.isArray(at.logs)&&at.logs.length?DEFAULT_HEIGHTS.detailWithLogs:DEFAULT_HEIGHTS.detail:DEFAULT_HEIGHTS.bar},this.linksGetter=(rt,at,nt)=>{const{trace:it}=this.props;return getLinks(rt,at,nt,it)},this.renderRow=(rt,at,nt,it)=>{const{isDetail:ot,span:st,spanIndex:lt}=this.getRowStates()[nt];return ot?this.renderSpanDetailRow(st,rt,at,it):this.renderSpanBarRow(st,lt,rt,at,it)};const{setTrace:_e,trace:et,uiFind:tt}=$;_e(et,tt)}shouldComponentUpdate($){const _e=Object.keys($);for(let et=0;et<_e.length;et+=1)if($[_e[et]]!==this.props[_e[et]])if(_e[et]==="shouldScrollToFirstUiFindMatch"){if($[_e[et]])return!0}else return!0;return!1}componentDidUpdate($){const{registerAccessors:_e,trace:et}=$,{shouldScrollToFirstUiFindMatch:tt,clearShouldScrollToFirstUiFindMatch:rt,scrollToFirstVisibleSpan:at,registerAccessors:nt,setTrace:it,trace:ot,uiFind:st}=this.props;et!==ot&&it(ot,st),this.listView&&_e!==nt&&nt(this.getAccessors()),tt&&(at(),rt())}getRowStates(){const{childrenHiddenIDs:$,detailStates:_e,trace:et}=this.props;return memoizedGenerateRowStates(et,$,_e)}getClippingCssClasses(){const{currentViewRangeTime:$}=this.props;return memoizedGetCssClasses($)}getViewedBounds(){const{currentViewRangeTime:$,trace:_e}=this.props,[et,tt]=$;return memoizedViewBoundsFunc({min:_e.startTime,max:_e.endTime,viewStart:et,viewEnd:tt})}getAccessors(){const $=this.listView;if(!$)throw new Error("ListView unavailable");return{getViewRange:this.getViewRange,getSearchedSpanIDs:this.getSearchedSpanIDs,getCollapsedChildren:this.getCollapsedChildren,getViewHeight:$.getViewHeight,getBottomRowIndexVisible:$.getBottomVisibleIndex,getTopRowIndexVisible:$.getTopVisibleIndex,getRowPosition:$.getRowPosition,mapRowIndexToSpanIndex:this.mapRowIndexToSpanIndex,mapSpanIndexToRowIndex:this.mapSpanIndexToRowIndex}}renderSpanBarRow($,_e,et,tt,rt){const{spanID:at}=$,{serviceName:nt}=$.process,{childrenHiddenIDs:it,childrenToggle:ot,detailStates:st,detailToggle:lt,findMatchesIDs:ct,spanNameColumnWidth:ut,trace:ft}=this.props;if(!ft)return null;const At=colorGenerator.getColorByKey(nt),vt=it.has(at),ht=st.has(at),bt=ct?ct.has(at):!1,pt=isErrorSpan($)||vt&&spanContainsErredSpan(ft.spans,_e);let dt=null;if(vt){const gt=findServerChildSpan(ft.spans.slice(_e));if(gt){const yt=this.getViewedBounds()(gt.startTime,gt.startTime+gt.duration);dt={color:colorGenerator.getColorByKey(gt.process.serviceName),operationName:gt.operationName,serviceName:gt.process.serviceName,viewEnd:yt.end,viewStart:yt.start}}}const _t=$.tags.find(gt=>gt.key===PEER_SERVICE);let Ct=null;return!$.hasChildren&&_t&&isKindClient($)&&(Ct={serviceName:_t.value,color:colorGenerator.getColorByKey(_t.value)}),jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--row",style:tt,...rt,children:jsxRuntimeExports.jsx(SpanBarRow,{className:this.getClippingCssClasses(),color:At,columnDivision:ut,isChildrenExpanded:!vt,isDetailExpanded:ht,isMatchingFilter:bt,numTicks:NUM_TICKS$1,onDetailToggled:lt,onChildrenToggled:ot,rpc:dt,noInstrumentedServer:Ct,showErrorIcon:pt,getViewedBounds:this.getViewedBounds(),traceStartTime:ft.startTime,span:$,focusSpan:this.focusSpan})},et)}renderSpanDetailRow($,_e,et,tt){const{spanID:rt}=$,{serviceName:at}=$.process,{detailLogItemToggle:nt,detailLogsToggle:it,detailProcessToggle:ot,detailReferencesToggle:st,detailWarningsToggle:lt,detailStates:ct,detailTagsToggle:ut,detailToggle:ft,spanNameColumnWidth:At,trace:vt}=this.props,ht=ct.get(rt);if(!vt||!ht)return null;const bt=colorGenerator.getColorByKey(at);return jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--row",style:{...et,zIndex:1},...tt,children:jsxRuntimeExports.jsx(SpanDetailRow,{color:bt,columnDivision:At,onDetailToggled:ft,detailState:ht,linksGetter:this.linksGetter,logItemToggle:nt,logsToggle:it,processToggle:ot,referencesToggle:st,warningsToggle:lt,span:$,tagsToggle:ut,traceStartTime:vt.startTime,focusSpan:this.focusSpan})},_e)}render(){return jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--spans",children:jsxRuntimeExports.jsx(ListView,{ref:this.setListView,dataLength:this.getRowStates().length,itemHeightGetter:this.getRowHeight,itemRenderer:this.renderRow,viewBuffer:300,viewBufferMin:100,itemsWrapperClassName:"VirtualizedTraceView--rowsWrapper",getKeyFromIndex:this.getKeyFromIndex,getIndexFromKey:this.getIndexFromKey,windowScroller:!0})})}}function mapStateToProps$3(o){return{...extractUiFindFromState(o),...o.traceTimeline}}function mapDispatchToProps$3(o){return bindActionCreators(actions,o)}const VirtualizedTraceView=withRouter$1(connect$3(mapStateToProps$3,mapDispatchToProps$3)(VirtualizedTraceViewImpl)),index$a="",NUM_TICKS=5;class TraceTimelineViewerImpl extends React$k.PureComponent{constructor(){super(...arguments),this.collapseAll=()=>{this.props.collapseAll(this.props.trace.spans)},this.collapseOne=()=>{this.props.collapseOne(this.props.trace.spans)},this.expandAll=()=>{this.props.expandAll()},this.expandOne=()=>{this.props.expandOne(this.props.trace.spans)}}componentDidMount(){merge({collapseAll:this.collapseAll,expandAll:this.expandAll,collapseOne:this.collapseOne,expandOne:this.expandOne})}render(){const{setSpanNameColumnWidth:$,updateNextViewRangeTime:_e,updateViewRangeTime:et,viewRange:tt,...rt}=this.props,{spanNameColumnWidth:at,trace:nt}=rt;return jsxRuntimeExports.jsxs("div",{className:"TraceTimelineViewer",children:[jsxRuntimeExports.jsx(SpanDetailRow$2,{duration:nt.duration,nameColumnWidth:at,numTicks:NUM_TICKS,onCollapseAll:this.collapseAll,onCollapseOne:this.collapseOne,onColummWidthChange:$,onExpandAll:this.expandAll,onExpandOne:this.expandOne,viewRangeTime:tt.time,updateNextViewRangeTime:_e,updateViewRangeTime:et}),jsxRuntimeExports.jsx(VirtualizedTraceView,{...rt,currentViewRangeTime:tt.time.current})]})}}function mapStateToProps$2(o){return{spanNameColumnWidth:o.traceTimeline.spanNameColumnWidth}}function mapDispatchToProps$2(o){const{setSpanNameColumnWidth:$,expandAll:_e,expandOne:et,collapseAll:tt,collapseOne:rt}=bindActionCreators(actions,o);return{setSpanNameColumnWidth:$,expandAll:_e,expandOne:et,collapseAll:tt,collapseOne:rt}}const TraceTimelineViewer=connect$3(mapStateToProps$2,mapDispatchToProps$2)(TraceTimelineViewerImpl),index$9="",HeaderTable$1="";function HeaderTable(o){const $={opacity:o.sortIndex===o.index?1:.2},_e=o.sortAsc&&o.sortIndex===o.index?"up":"down";return jsxRuntimeExports.jsxs("th",{className:"HeaderTable--th",children:[o.element.title,jsxRuntimeExports.jsx("button",{type:"submit",className:"HeaderTable--sortButton",onClick:()=>o.sortClick(o.index),children:jsxRuntimeExports.jsx(Icon$1,{style:$,type:_e})})]})}const MainTableData$1="";class MainTableData extends reactExports.Component{constructor($){super($);const _e=this.props.values.map(et=>({uid:lodashExports.uniqueId("id"),value:et}));this.state={element:_e}}render(){const $={background:this.props.colorToPercent,borderColor:this.props.colorToPercent,cursor:"default"},_e={background:this.props.searchColor,borderColor:this.props.searchColor,cursor:"default"},et={color:"rgb(153,153,153)",fontStyle:"italic"},tt={borderLeft:"4px solid transparent",paddingLeft:"0.6em",borderColor:this.props.color},rt="undefined";let at;this.props.type===rt?(this.props.valueNameSelector2!==null&&this.props.type!=="undefined"&&($.cursor="pointer"),at=$):this.props.searchColor==="transparent"?(this.props.valueNameSelector2!==null&&($.cursor="pointer"),at=$):(this.props.valueNameSelector2!==null&&($.cursor="pointer"),at=_e);let nt;this.props.color!==""?nt=tt:this.props.type==="undefined"?nt=et:nt=void 0;const it=this.props.valueNameSelector1==="sql"&&this.props.type!==rt?()=>this.props.togglePopup(this.props.name):void 0;return jsxRuntimeExports.jsxs("tr",{className:"MainTableData--tr",onClick:()=>this.props.clickColumn(this.props.name),style:at,children:[jsxRuntimeExports.jsx("td",{className:"MainTableData--td",children:jsxRuntimeExports.jsx("a",{role:"button",onClick:it,style:{color:"inherit"},children:jsxRuntimeExports.jsx("label",{title:this.props.name,className:"MainTableData--label",style:nt,children:this.props.name})})}),this.state.element.map((ot,st)=>jsxRuntimeExports.jsxs("td",{className:"MainTableData--td",children:[" ",this.props.columnsArray[st+1].isDecimal?ot.value.toFixed(2):ot.value,this.props.columnsArray[st+1].suffix]},ot.uid))]})}}const DetailTableData$1="";class DetailTableData extends reactExports.Component{constructor($){super($);const _e=this.props.values.map(et=>({uid:lodashExports.uniqueId("id"),value:et}));this.state={element:_e}}render(){const $={background:this.props.colorToPercent,borderColor:this.props.colorToPercent,color:"rgb(153,153,153)",fontStyle:"italic"},_e={background:this.props.colorToPercent,borderColor:this.props.colorToPercent},et={background:this.props.searchColor,borderColor:this.props.searchColor},tt="undefined";let rt;this.props.type===tt?rt=$:this.props.searchColor==="rgb(248,248,248)"?rt=_e:rt=et;const at={borderColor:this.props.color},nt={borderColor:this.props.color,marginLeft:"12px"};let it;this.props.valueNameSelector2==="Service Name"?it=nt:it=at;const ot=this.props.valueNameSelector2==="sql"&&this.props.type!==tt?()=>this.props.togglePopup(this.props.name):void 0;return jsxRuntimeExports.jsxs("tr",{className:"DetailTableData--tr",style:rt,children:[jsxRuntimeExports.jsx("td",{className:"DetailTableData--td",children:jsxRuntimeExports.jsx("a",{role:"button",onClick:ot,style:{color:"inherit"},children:jsxRuntimeExports.jsx("label",{title:this.props.name,className:"DetailTableData--serviceBorder",style:it,children:this.props.name})})}),this.state.element.map((st,lt)=>jsxRuntimeExports.jsxs("td",{className:"DetailTableData--td",children:[this.props.columnsArray[lt+1].isDecimal?Number(st.value).toFixed(2):st.value,this.props.columnsArray[lt+1].suffix]},st.uid))]})}}const serviceName$1="Service Name",operationName$1="Operation Name";function getValueTagIsPicked(o,$,_e){const et=$.spans;let tt=[];for(let nt=0;nt=_e[at].relativeStartTime){o+et<_e[at].relativeStartTime+_e[at].duration&&(et=_e[at].relativeStartTime+_e[at].duration-o+et),_e.splice(at,1),tt=!0;break}return{allOverlay:_e,duration:et,didDelete:tt}}function onlyOverlay(o,$,_e,et){let tt=_e,rt=0,at={allOverlay:o,duration:rt,didDelete:!1};const nt=lodashExports.difference($,o);let it=0,ot=0;const st=getLowestStartTime(o);it=st.lowestStartTime,rt=st.duration;do if(at=getDuration(it,rt,at.allOverlay),!at.didDelete&&at.allOverlay.length>0){ot=at.duration;const lt=getLowestStartTime(at.allOverlay);it=lt.lowestStartTime,rt=lt.duration}while(at.allOverlay.length>1);rt=at.duration+ot;for(let lt=0;lt$.duration&&(tt.min=$.duration),tt.max<$.duration&&(tt.max=$.duration);let rt=0,at=!1,nt=!1,it=[];const ot=[];if($.hasChildren){const lt=[];for(let ct=0;ct<_e.length;ct++)_e[ct].references.length===1&&$.spanID===_e[ct].references[0].spanID&<.push(_e[ct]);if(lt.length===1)$.relativeStartTime+$.duration>=lt[0].relativeStartTime+lt[0].duration?rt=$.duration-lt[0].duration:rt=lt[0].relativeStartTime-$.relativeStartTime;else{for(let ct=0;ct=lt[ut].relativeStartTime&&(nt=!0,it.push(lt[ct]),it.push(lt[ut]));if(it=[...new Set(it)],!at&&!nt){rt=$.duration;for(let ct=0;ctft.relativeStartTime&&(At[ht].duration-=At[ht].relativeStartTime+At[ht].duration-ft.relativeStartTime,At[ht].duration<0&&(At[ht].duration=0));rt=onlyOverlay(At,ut,rt,$);const vt=$.relativeStartTime+$.duration-ft.relativeStartTime;rt=Math.max(0,rt-vt)}else if(at){rt=ot[0].relativeStartTime-$.relativeStartTime;for(let ct=0;ctrt&&(tt.selfMin=rt),tt.selfMaxit.process.serviceName).map((it,ot)=>({key:ot})).uniq().value();for(let it=0;itit.operationName).map((it,ot)=>({key:ot})).uniq().value();for(let it=0;it0)for(let st=0;stnt?1:0:atnt?-1:0})}function sortTable(o,$,_e){const et=[],tt=[];for(let at=0;atit.parentElement===rt[at].parentElement).groupBy(it=>it.parentElement).map(it=>({parentElement:$,groupedArry:it})).value()[0].groupedArry;if(sortByKey(nt,$,_e),nt.length>0){let it=0;for(let ot=0;oto.closePopup(""),children:["close"," "]})]})})}const columnsArray=[{title:"Name",attribute:"name",suffix:"",isDecimal:!1},{title:"Count",attribute:"count",suffix:"",isDecimal:!1},{title:"Total",attribute:"total",suffix:"ms",isDecimal:!0},{title:"Avg",attribute:"avg",suffix:"ms",isDecimal:!0},{title:"Min",attribute:"min",suffix:"ms",isDecimal:!0},{title:"Max",attribute:"max",suffix:"ms",isDecimal:!0},{title:"ST Total",attribute:"selfTotal",suffix:"ms",isDecimal:!0},{title:"ST Avg",attribute:"selfAvg",suffix:"ms",isDecimal:!0},{title:"ST Min",attribute:"selfMin",suffix:"ms",isDecimal:!0},{title:"ST Max",attribute:"selfMax",suffix:"ms",isDecimal:!0},{title:"ST in Duration",attribute:"percent",suffix:"%",isDecimal:!0}];class TraceStatistics extends reactExports.Component{constructor($){super($),this.sortTableWithOthers=(_e,et,tt)=>{let rt=-1,at=-1,nt=!1,it=[];const ot=[];let st;for(st=0;st<_e.length;st++)_e[st].type!=="undefined"?it.push(_e[st]):_e[st].isDetail?nt=!0:rt=st;if(it=sortTable(it,columnsArray[et].attribute,tt),rt!==-1&&it.push(_e[rt]),!nt)return it;let lt=[];for(st=0;st<_e.length;st++)_e[st].isDetail||lt.push(_e[st]);for(lt=sortTable(lt,columnsArray[et].attribute,tt),st=0;st{const rt=et,at="rgb(255,243,215)",nt="rgb(248,248,248)";for(let it=0;it({..._e,tableValue:$}))}handler($,_e,et,tt){this.setState(rt=>({...rt,tableValue:this.searchInTable(this.props.uiFindVertexKeys,this.sortTableWithOthers($,1,!1),this.props.uiFind),sortIndex:1,sortAsc:!1,valueNameSelector1:et,valueNameSelector2:tt,wholeTable:_e}))}togglePopup($){const _e=this.state.showPopup;this.setState(et=>({...et,showPopup:!_e,popupContent:$}))}sortClick($){const{tableValue:_e,sortIndex:et,sortAsc:tt}=this.state;et!==$?this.setState(rt=>({...rt,sortIndex:$,sortAsc:!1,tableValue:this.sortTableWithOthers(_e,$,!1)})):this.setState(rt=>({...rt,sortAsc:!tt,tableValue:this.sortTableWithOthers(_e,$,!tt)}))}clickColumn($){if(this.state.valueNameSelector2!==null){let _e=!0;const et=this.state.tableValue;let tt=[];for(let rt=0;rt{const{count:_e,total:et,avg:tt,min:rt,max:at,selfTotal:nt,selfAvg:it,selfMin:ot,selfMax:st,percent:lt,color:ct,searchColor:ut,colorToPercent:ft}=$,At=[_e,et,tt,rt,at,nt,it,ot,st,lt],vt=lodashExports.uniqueId("id");return $.isDetail?jsxRuntimeExports.jsx(DetailTableData,{type:$.type,name:$.name,searchColor:ut,values:At,columnsArray,color:ct,togglePopup:this.togglePopup,valueNameSelector2:this.state.valueNameSelector2,colorToPercent:ft},vt):jsxRuntimeExports.jsx(MainTableData,{type:$.type,name:$.name,searchColor:ut,values:At,columnsArray,togglePopup:this.togglePopup,valueNameSelector1:this.state.valueNameSelector1,valueNameSelector2:this.state.valueNameSelector2,color:ct,clickColumn:this.clickColumn,colorToPercent:ft},vt)})}renderTableHead(){const{sortAsc:$,sortIndex:_e}=this.state;return jsxRuntimeExports.jsx("tr",{children:columnsArray.map((et,tt)=>jsxRuntimeExports.jsx(HeaderTable,{element:et,sortIndex:_e,index:tt,sortClick:this.sortClick,sortAsc:$},et.title))})}render(){return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"title--TraceStatistics",children:" Trace Statistics"}),jsxRuntimeExports.jsx(TraceStatisticsHeader,{trace:this.props.trace,tableValue:this.state.tableValue,wholeTable:this.state.wholeTable,handler:this.handler}),this.state.showPopup?jsxRuntimeExports.jsx(PopupSql,{closePopup:this.togglePopup,popupContent:this.state.popupContent}):null,jsxRuntimeExports.jsx("table",{className:"test1893",children:jsxRuntimeExports.jsxs("tbody",{className:"DetailTraceTableTbody--TraceStatistics",children:[this.renderTableHead(),this.renderTableData()]})})]})}}var FormItem$1={};const require$$4=getAugmentedNamespace(Animate$2),require$$5=getAugmentedNamespace(es$4);var row={},RowContext={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $=_e(libExports$3);function _e(rt){return rt&&rt.__esModule?rt:{default:rt}}var et=(0,$.default)({}),tt=et;o.default=tt})(RowContext);var type={};Object.defineProperty(type,"__esModule",{value:!0});type.tupleNum=type.tuple=void 0;var tuple=function o(){for(var $=arguments.length,_e=new Array($),et=0;et<$;et++)_e[et]=arguments[et];return _e};type.tuple=tuple;var tupleNum=function o(){for(var $=arguments.length,_e=new Array($),et=0;et<$;et++)_e[et]=arguments[et];return _e};type.tupleNum=tupleNum;var responsiveObserve={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=o.responsiveMap=o.responsiveArray=void 0;function $(ct,ut,ft){return ut in ct?Object.defineProperty(ct,ut,{value:ft,enumerable:!0,configurable:!0,writable:!0}):ct[ut]=ft,ct}function _e(){return _e=Object.assign||function(ct){for(var ut=1;ut"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(Tt){return!1}}function gt(Tt){return gt=Object.setPrototypeOf?Object.getPrototypeOf:function(Ot){return Ot.__proto__||Object.getPrototypeOf(Ot)},gt(Tt)}var yt=function(Tt,Rt){var Ot={};for(var Mt in Tt)Object.prototype.hasOwnProperty.call(Tt,Mt)&&Rt.indexOf(Mt)<0&&(Ot[Mt]=Tt[Mt]);if(Tt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Bt=0,Mt=Object.getOwnPropertySymbols(Tt);Bt0?{marginLeft:Ft[0]/-2,marginRight:Ft[0]/-2}:{}),Ft[1]>0?{marginTop:Ft[1]/-2,marginBottom:Ft[1]/-2}:{}),Xt),or=ct({},Zt);return delete or.gutter,$.createElement(rt.default.Provider,{value:{gutter:Ft}},$.createElement("div",ct({},or,{className:jt,style:qt}),tr))},Mt}return vt(Ot,[{key:"componentDidMount",value:function(){var Bt=this;this.token=nt.default.subscribe(function(Lt){var Vt=Bt.props.gutter;(lt(Vt)==="object"||Array.isArray(Vt)&&(lt(Vt[0])==="object"||lt(Vt[1])==="object"))&&Bt.setState({screens:Lt})})}},{key:"componentWillUnmount",value:function(){nt.default.unsubscribe(this.token)}},{key:"getGutter",value:function(){var Bt=[0,0],Lt=this.props.gutter,Vt=this.state.screens,zt=Array.isArray(Lt)?Lt:[Lt,0];return zt.forEach(function(Nt,Wt){if(lt(Nt)==="object")for(var Jt=0;Jt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(xt){return!1}}function _t(xt){return _t=Object.setPrototypeOf?Object.getPrototypeOf:function(It){return It.__proto__||Object.getPrototypeOf(It)},_t(xt)}var Ct=function(xt,Et){var It={};for(var Tt in xt)Object.prototype.hasOwnProperty.call(xt,Tt)&&Et.indexOf(Tt)<0&&(It[Tt]=xt[Tt]);if(xt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Rt=0,Tt=Object.getOwnPropertySymbols(xt);Rt0?{paddingLeft:qt[0]/2,paddingRight:qt[0]/2}:{}),qt[1]>0?{paddingTop:qt[1]/2,paddingBottom:qt[1]/2}:{}),or)),$.createElement("div",st({},tr,{style:or,className:Ft}),Xt)})},Tt}return ft(It,[{key:"render",value:function(){return $.createElement(rt.ConfigConsumer,null,this.renderCol)}}]),It}($.Component);o.default=yt,yt.propTypes={span:_e.number,order:_e.number,offset:_e.number,push:_e.number,pull:_e.number,className:_e.string,children:_e.node,xs:gt,sm:gt,md:gt,lg:gt,xl:gt,xxl:gt}})(col);var icon={};const require$$2=getAugmentedNamespace(index_es),require$$3=getAugmentedNamespace(es$3);var IconFont={},hasRequiredIconFont;function requireIconFont(){return hasRequiredIconFont||(hasRequiredIconFont=1,function(o){function $(lt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(ut){return typeof ut}:$=function(ut){return ut&&typeof Symbol=="function"&&ut.constructor===Symbol&&ut!==Symbol.prototype?"symbol":typeof ut},$(lt)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=st;var _e=at(reactExports),et=tt(requireIcon());function tt(lt){return lt&<.__esModule?lt:{default:lt}}function rt(){if(typeof WeakMap!="function")return null;var lt=new WeakMap;return rt=function(){return lt},lt}function at(lt){if(lt&<.__esModule)return lt;if(lt===null||$(lt)!=="object"&&typeof lt!="function")return{default:lt};var ct=rt();if(ct&&ct.has(lt))return ct.get(lt);var ut={},ft=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var At in lt)if(Object.prototype.hasOwnProperty.call(lt,At)){var vt=ft?Object.getOwnPropertyDescriptor(lt,At):null;vt&&(vt.get||vt.set)?Object.defineProperty(ut,At,vt):ut[At]=lt[At]}return ut.default=lt,ct&&ct.set(lt,ut),ut}function nt(){return nt=Object.assign||function(lt){for(var ct=1;ct0&&arguments[0]!==void 0?arguments[0]:{},ct=lt.scriptUrl,ut=lt.extraCommonProps,ft=ut===void 0?{}:ut;if(typeof document<"u"&&typeof window<"u"&&typeof document.createElement=="function"&&typeof ct=="string"&&ct.length&&!ot.has(ct)){var At=document.createElement("script");At.setAttribute("src",ct),At.setAttribute("data-namespace",ct),ot.add(ct),document.body.appendChild(At)}var vt=function(bt){var pt=bt.type,dt=bt.children,_t=it(bt,["type","children"]),Ct=null;return bt.type&&(Ct=_e.createElement("use",{xlinkHref:"#".concat(pt)})),dt&&(Ct=dt),_e.createElement(et.default,nt({},ft,_t),Ct)};return vt.displayName="Iconfont",vt}}(IconFont)),IconFont}var utils$1={};Object.defineProperty(utils$1,"__esModule",{value:!0});utils$1.getThemeFromTypeName=getThemeFromTypeName;utils$1.removeTypeTheme=removeTypeTheme;utils$1.withThemeSuffix=withThemeSuffix;utils$1.alias=alias;utils$1.svgBaseProps=void 0;var _warning=_interopRequireDefault$1(warning);function _interopRequireDefault$1(o){return o&&o.__esModule?o:{default:o}}var svgBaseProps={width:"1em",height:"1em",fill:"currentColor","aria-hidden":!0,focusable:"false"};utils$1.svgBaseProps=svgBaseProps;var fillTester=/-fill$/,outlineTester=/-o$/,twoToneTester=/-twotone$/;function getThemeFromTypeName(o){var $=null;return fillTester.test(o)?$="filled":outlineTester.test(o)?$="outlined":twoToneTester.test(o)&&($="twoTone"),$}function removeTypeTheme(o){return o.replace(fillTester,"").replace(outlineTester,"").replace(twoToneTester,"")}function withThemeSuffix(o,$){var _e=o;return $==="filled"?_e+="-fill":$==="outlined"?_e+="-o":$==="twoTone"?_e+="-twotone":(0,_warning.default)(!1,"Icon","This icon '".concat(o,"' has unknown theme '").concat($,"'")),_e}function alias(o){var $=o;switch(o){case"cross":$="close";break;case"interation":$="interaction";break;case"canlendar":$="calendar";break;case"colum-height":$="column-height";break}return(0,_warning.default)($===o,"Icon","Icon '".concat(o,"' was a typo and is now deprecated, please use '").concat($,"' instead.")),$}var twoTonePrimaryColor={};Object.defineProperty(twoTonePrimaryColor,"__esModule",{value:!0});twoTonePrimaryColor.setTwoToneColor=setTwoToneColor;twoTonePrimaryColor.getTwoToneColor=getTwoToneColor;var _iconsReact=_interopRequireDefault(require$$3);function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function setTwoToneColor(o){return _iconsReact.default.setTwoToneColors({primaryColor:o})}function getTwoToneColor(){var o=_iconsReact.default.getTwoToneColors();return o.primaryColor}var hasRequiredIcon;function requireIcon(){return hasRequiredIcon||(hasRequiredIcon=1,function(o){function $(Et){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(Tt){return typeof Tt}:$=function(Tt){return Tt&&typeof Symbol=="function"&&Tt.constructor===Symbol&&Tt!==Symbol.prototype?"symbol":typeof Tt},$(Et)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=ut(reactExports),et=lt(classnamesExports$1),tt=ut(require$$2),rt=lt(require$$3),at=lt(requireIconFont()),nt=utils$1,it=lt(warning),ot=lt(LocaleReceiver),st=twoTonePrimaryColor;function lt(Et){return Et&&Et.__esModule?Et:{default:Et}}function ct(){if(typeof WeakMap!="function")return null;var Et=new WeakMap;return ct=function(){return Et},Et}function ut(Et){if(Et&&Et.__esModule)return Et;if(Et===null||$(Et)!=="object"&&typeof Et!="function")return{default:Et};var It=ct();if(It&&It.has(Et))return It.get(Et);var Tt={},Rt=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Ot in Et)if(Object.prototype.hasOwnProperty.call(Et,Ot)){var Mt=Rt?Object.getOwnPropertyDescriptor(Et,Ot):null;Mt&&(Mt.get||Mt.set)?Object.defineProperty(Tt,Ot,Mt):Tt[Ot]=Et[Ot]}return Tt.default=Et,It&&It.set(Et,Tt),Tt}function ft(){return ft=Object.assign||function(Et){for(var It=1;ItEt.length)&&(It=Et.length);for(var Tt=0,Rt=new Array(It);Tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(Xt){return!1}}function Ot(Xt){return Ot=Object.setPrototypeOf?Object.getPrototypeOf:function(Zt){return Zt.__proto__||Object.getPrototypeOf(Zt)},Ot(Xt)}function Mt(Xt){return zt(Xt)||Vt(Xt)||Lt(Xt)||Bt()}function Bt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lt(Xt,tr){if(Xt){if(typeof Xt=="string")return Nt(Xt,tr);var Zt=Object.prototype.toString.call(Xt).slice(8,-1);if(Zt==="Object"&&Xt.constructor&&(Zt=Xt.constructor.name),Zt==="Map"||Zt==="Set")return Array.from(Xt);if(Zt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Zt))return Nt(Xt,tr)}}function Vt(Xt){if(typeof Symbol<"u"&&Symbol.iterator in Object(Xt))return Array.from(Xt)}function zt(Xt){if(Array.isArray(Xt))return Nt(Xt)}function Nt(Xt,tr){(tr==null||tr>Xt.length)&&(tr=Xt.length);for(var Zt=0,Gt=new Array(tr);Zt0);fr++){var dr=or[fr];dr.type&&(dr.type===Zt||dr.type.displayName==="FormItem")||dr.props&&(ut.FIELD_META_PROP in dr.props?qt.push(dr):dr.props.children&&(qt=qt.concat(this.getControls(dr.props.children,jt))))}return qt}},{key:"getOnlyControl",value:function(){var Ft=this.getControls(this.props.children,!1)[0];return Ft!==void 0?Ft:null}},{key:"getChildProp",value:function(Ft){var jt=this.getOnlyControl();return jt&&jt.props&&jt.props[Ft]}},{key:"getId",value:function(){return this.getChildProp("id")}},{key:"getMeta",value:function(){return this.getChildProp(ut.FIELD_META_PROP)}},{key:"getField",value:function(){return this.getChildProp(ut.FIELD_DATA_PROP)}},{key:"getValidateStatus",value:function(){var Ft=this.getOnlyControl();if(!Ft)return"";var jt=this.getField();if(jt.validating)return"validating";if(jt.errors)return"error";var qt="value"in jt?jt.value:this.getMeta().initialValue;return qt!=null&&qt!==""?"success":""}},{key:"isRequired",value:function(){var Ft=this.props.required;if(Ft!==void 0)return Ft;if(this.getOnlyControl()){var jt=this.getMeta()||{},qt=jt.validate||[];return qt.filter(function(or){return!!or.rules}).some(function(or){return or.rules.some(function(fr){return fr.required})})}return!1}},{key:"renderHelp",value:function(Ft){var jt=this.getHelpMessage(),qt=jt?$.createElement("div",{className:"".concat(Ft,"-explain"),key:"help"},jt):null;return qt&&(this.helpShow=!!qt),$.createElement(rt.default,{transitionName:"show-help",component:"",transitionAppear:!0,key:"help",onEnd:this.onHelpAnimEnd},qt)}},{key:"renderExtra",value:function(Ft){var jt=this.props.extra;return jt?$.createElement("div",{className:"".concat(Ft,"-extra")},jt):null}},{key:"renderValidateWrapper",value:function(Ft,jt,qt,or){var fr=this.props,dr=this.getOnlyControl,vr=fr.validateStatus===void 0&&dr?this.getValidateStatus():fr.validateStatus,Er="".concat(Ft,"-item-control");vr&&(Er=(0,tt.default)("".concat(Ft,"-item-control"),{"has-feedback":vr&&fr.hasFeedback,"has-success":vr==="success","has-warning":vr==="warning","has-error":vr==="error","is-validating":vr==="validating"}));var mr="";switch(vr){case"success":mr="check-circle";break;case"warning":mr="exclamation-circle";break;case"error":mr="close-circle";break;case"validating":mr="loading";break;default:mr="";break}var Or=fr.hasFeedback&&mr?$.createElement("span",{className:"".concat(Ft,"-item-children-icon")},$.createElement(ot.default,{type:mr,theme:mr==="loading"?"outlined":"filled"})):null;return $.createElement("div",{className:Er},$.createElement("span",{className:"".concat(Ft,"-item-children")},jt,Or),qt,or)}},{key:"renderWrapper",value:function(Ft,jt){var qt=this;return $.createElement(ft.default.Consumer,{key:"wrapper"},function(or){var fr=or.wrapperCol,dr=or.vertical,vr=qt.props.wrapperCol,Er=("wrapperCol"in qt.props?vr:fr)||{},mr=(0,tt.default)("".concat(Ft,"-item-control-wrapper"),Er.className);return $.createElement(ft.default.Provider,{value:{vertical:dr}},$.createElement(it.default,pt({},Er,{className:mr}),jt))})}},{key:"renderLabel",value:function(Ft){var jt=this;return $.createElement(ft.default.Consumer,{key:"label"},function(qt){var or,fr=qt.vertical,dr=qt.labelAlign,vr=qt.labelCol,Er=qt.colon,mr=jt.props,Or=mr.label,Lr=mr.labelCol,na=mr.labelAlign,ba=mr.colon,qr=mr.id,Pr=mr.htmlFor,ur=jt.isRequired(),Sr=("labelCol"in jt.props?Lr:vr)||{},jr="labelAlign"in jt.props?na:dr,Dr="".concat(Ft,"-item-label"),Cr=(0,tt.default)(Dr,jr==="left"&&"".concat(Dr,"-left"),Sr.className),tn=Or,Vr=ba===!0||Er!==!1&&ba!==!1,Kr=Vr&&!fr;Kr&&typeof Or=="string"&&Or.trim()!==""&&(tn=Or.replace(/[::]\s*$/,""));var _n=(0,tt.default)((or={},dt(or,"".concat(Ft,"-item-required"),ur),dt(or,"".concat(Ft,"-item-no-colon"),!Vr),or));return Or?$.createElement(it.default,pt({},Sr,{className:Cr}),$.createElement("label",{htmlFor:Pr||qr||jt.getId(),className:_n,title:typeof Or=="string"?Or:"",onClick:jt.onLabelClick},tn)):null})}},{key:"renderChildren",value:function(Ft){var jt=this.props.children;return[this.renderLabel(Ft),this.renderWrapper(Ft,this.renderValidateWrapper(Ft,jt,this.renderHelp(Ft),this.renderExtra(Ft)))]}},{key:"render",value:function(){return $.createElement(st.ConfigConsumer,null,this.renderFormItem)}}]),Zt}($.Component);o.default=er,er.defaultProps={hasFeedback:!1},er.propTypes={prefixCls:et.string,label:et.oneOfType([et.string,et.node]),labelCol:et.object,help:et.oneOfType([et.node,et.bool]),validateStatus:et.oneOf(Jt),hasFeedback:et.bool,wrapperCol:et.object,className:et.string,id:et.string,children:et.node,colon:et.bool}})(FormItem$1);const FormItem=getDefaultExportFromCjs(FormItem$1),index$8="",Option=Select.Option;function getNestedProperty(o,$){return o.split(".").reduce((_e,et)=>_e?_e[et]:null,$)}class TraceSpanView extends reactExports.Component{constructor($,_e){super($,_e);const et=new Set,tt=new Set,rt=new Map;this.props.trace.spans.forEach(at=>{et.add(at.process.serviceName),tt.add(at.operationName);const nt=rt.get(at.process.serviceName)||[];nt.push(at.operationName),rt.set(at.process.serviceName,nt)}),this.state={searchText:"",searchedColumn:"",data:this.props.trace.spans,serviceNamesList:[...et],operationNamesList:[...tt],serviceNameOperationsMap:rt,filteredData:this.props.trace.spans,filtered:{},selectedServiceName:[],selectedOperationName:[]},this.handleResetFilter=this.handleResetFilter.bind(this),this.uniqueOperationNameOptions=this.uniqueOperationNameOptions.bind(this)}handleResetFilter(){this.setState($=>({selectedServiceName:[],selectedOperationName:[],filteredData:$.data}))}uniqueOperationNameOptions(){let $=[];const _e=this.state.serviceNameOperationsMap;return this.state.filtered["process.serviceName"]?this.state.filtered["process.serviceName"].forEach(et=>{$=$.concat(_e.get(et)||[])}):$=this.state.operationNamesList,[...new Set($)]}onFilteredChangeCustom($,_e){const et=this.state.filtered;et[_e]=$;const tt=this.state.data.filter(rt=>{let at;return Object.keys(et).every(nt=>{if(et[nt].length){const it=getNestedProperty(nt,rt);at=et[nt].includes(it)}else at=!0;return at}),at});this.setState(rt=>({...rt,filtered:et,filteredData:tt}))}render(){const $=[{title:"Service Name",dataIndex:"process.serviceName",width:"25%"},{title:"Operation",dataIndex:"operationName",width:"25%"},{title:"ID",dataIndex:"spanID",render:(_e,et)=>jsxRuntimeExports.jsx("a",{href:prefixUrl(`/trace/${et.traceID}?uiFind=${_e}`),target:"_blank",rel:"noopener noreferrer",children:_e})},{title:"Duration",dataIndex:"duration",sorter:(_e,et)=>_e.duration-et.duration,render:_e=>timeConversion(parseInt(_e,10))},{title:"Start Time",dataIndex:"startTime",sorter:(_e,et)=>_e.startTime-et.startTime,render:_e=>hooks$1(_e/1e3).format("DD MMM YYYY hh:mm A")}];return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"title--TraceSpanView",children:" Trace Tabular View"}),jsxRuntimeExports.jsxs(Row,{type:"flex",style:{marginTop:"8px"},children:[jsxRuntimeExports.jsx(Col,{span:7,children:jsxRuntimeExports.jsx(FormItem,{label:"Service Name",labelCol:{span:6},wrapperCol:{span:18},className:"serviceNameDD",children:jsxRuntimeExports.jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",style:{width:"100%"},maxTagCount:4,value:this.state.selectedServiceName,maxTagPlaceholder:`+ ${this.state.selectedServiceName.length-4} Selected`,placeholder:"Please Select Service ",onChange:_e=>{this.setState(et=>({...et,selectedServiceName:_e})),this.onFilteredChangeCustom(_e,"process.serviceName")},children:this.state.serviceNamesList.map(_e=>jsxRuntimeExports.jsxs(Option,{children:[_e," "]},_e))})})}),jsxRuntimeExports.jsx(Col,{span:9,children:jsxRuntimeExports.jsx(FormItem,{label:"Operation Name",labelCol:{span:6},wrapperCol:{span:18},className:"operationNameDD",children:jsxRuntimeExports.jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",style:{width:"100%"},maxTagCount:4,value:this.state.selectedOperationName,maxTagPlaceholder:`+ ${this.state.selectedOperationName.length-4} Selected`,placeholder:"Please Select Operation",onChange:_e=>{this.setState(et=>({...et,selectedOperationName:_e})),this.onFilteredChangeCustom(_e,"operationName")},children:this.uniqueOperationNameOptions().map(_e=>jsxRuntimeExports.jsxs(Option,{children:[_e," "]},_e))})})}),jsxRuntimeExports.jsx(Col,{span:2,push:6,children:jsxRuntimeExports.jsx(FormItem,{className:"reset-filter",children:jsxRuntimeExports.jsx(Button$2,{type:"primary",htmlType:"button",onClick:this.handleResetFilter,children:"Reset Filters"})})})]}),jsxRuntimeExports.jsx(Table$1,{className:"span-table span-view-table",columns:$,dataSource:this.state.filteredData,pagination:{total:this.state.filteredData.length,pageSizeOptions:["10","20","50","100"],showSizeChanger:!0,showQuickJumper:!0},rowKey:"spanID"})]})}}var distExports={},dist={get exports(){return distExports},set exports(o){distExports=o}};(function(o,$){var _e=Object.defineProperty,et=Object.defineProperties,tt=Object.getOwnPropertyDescriptors,rt=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable,it=(ut,ft,At)=>ft in ut?_e(ut,ft,{enumerable:!0,configurable:!0,writable:!0,value:At}):ut[ft]=At,ot=(ut,ft)=>{for(var At in ft||(ft={}))at.call(ft,At)&&it(ut,At,ft[At]);if(rt)for(var At of rt(ft))nt.call(ft,At)&&it(ut,At,ft[At]);return ut},st=(ut,ft)=>et(ut,tt(ft)),lt=(ut,ft)=>{var At={};for(var vt in ut)at.call(ut,vt)&&ft.indexOf(vt)<0&&(At[vt]=ut[vt]);if(ut!=null&&rt)for(var vt of rt(ut))ft.indexOf(vt)<0&&nt.call(ut,vt)&&(At[vt]=ut[vt]);return At},ct=(ut,ft,At)=>new Promise((vt,ht)=>{var bt=_t=>{try{dt(At.next(_t))}catch(Ct){ht(Ct)}},pt=_t=>{try{dt(At.throw(_t))}catch(Ct){ht(Ct)}},dt=_t=>_t.done?vt(_t.value):Promise.resolve(_t.value).then(bt,pt);dt((At=At.apply(ut,ft)).next())});(function(ut,ft){o.exports=ft(reactExports,reactDomExports)})(commonjsGlobal,(ut,ft)=>(()=>{var At={899:(pt,dt)=>{var _t="fas",Ct="align-left",gt=448,yt=512,xt=[],Et="f036",It="M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.el=dt.DF},459:(pt,dt)=>{var _t="fas",Ct="bars",gt=448,yt=512,xt=[],Et="f0c9",It="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.xi=dt.DF},971:(pt,dt)=>{var _t="fas",Ct="columns",gt=512,yt=512,xt=[],Et="f0db",It="M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.rW=dt.DF},42:(pt,dt)=>{var _t="fas",Ct="compress-alt",gt=448,yt=512,xt=[],Et="f422",It="M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.V9=dt.DF},682:(pt,dt)=>{var _t="fas",Ct="copy",gt=448,yt=512,xt=[],Et="f0c5",It="M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.kZ=dt.DF},438:(pt,dt)=>{var _t="fas",Ct="highlighter",gt=544,yt=512,xt=[],Et="f591",It="M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.Y6=dt.DF},384:(pt,dt)=>{var _t="fas",Ct="icicles",gt=512,yt=512,xt=[],Et="f7ad",It="M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.$P=dt.DF},687:(pt,dt)=>{var _t="fas",Ct="link",gt=512,yt=512,xt=[],Et="f0c1",It="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.nN=dt.DF},646:(pt,dt)=>{var _t="fas",Ct="list-ul",gt=512,yt=512,xt=[],Et="f0ca",It="M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.gf=dt.DF},247:(pt,dt)=>{var _t="fas",Ct="redo",gt=512,yt=512,xt=[],Et="f01e",It="M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.XS=dt.DF},769:(pt,dt)=>{var _t="fas",Ct="table",gt=512,yt=512,xt=[],Et="f0ce",It="M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.B3=dt.DF},692:(pt,dt)=>{var _t="fas",Ct="undo",gt=512,yt=512,xt=[],Et="f0e2",It="M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z";dt.DF={prefix:_t,iconName:Ct,icon:[gt,yt,xt,Et,It]},dt.X7=dt.DF},779:(pt,dt)=>{var _t,Ct;/*! + `,children:[jsxRuntimeExports.jsx(TimelineRow.Cell,{className:"span-name-column",width:et,children:jsxRuntimeExports.jsxs("div",{className:`span-name-wrapper ${at?"is-matching-filter":""}`,children:[jsxRuntimeExports.jsx(SpanTreeOffset,{childrenVisible:tt,span:ut,onClick:vt?this._childrenToggle:void 0}),jsxRuntimeExports.jsxs("a",{className:`span-name ${rt?"is-detail-expanded":""}`,"aria-checked":rt,onClick:this._detailToggle,role:"switch",style:{borderColor:_e},tabIndex:0,children:[jsxRuntimeExports.jsxs("span",{className:`span-svc-name ${vt&&!tt?"is-children-collapsed":""}`,children:[st&&jsxRuntimeExports.jsx(IoAlert,{className:"SpanBarRow--errorIcon"}),mt," ",it&&jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx(IoArrowRightA,{})," ",jsxRuntimeExports.jsx("i",{className:"SpanBarRow--rpcColorMarker",style:{background:it.color}}),it.serviceName]}),ot&&jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx(IoArrowRightA,{})," ",jsxRuntimeExports.jsx("i",{className:"SpanBarRow--rpcColorMarker",style:{background:ot.color}}),ot.serviceName]})]}),jsxRuntimeExports.jsx("small",{className:"endpoint-name",children:it?it.operationName:ht}),jsxRuntimeExports.jsx("span",{className:"icons-container",children:Et&&Et.importance<3&&jsxRuntimeExports.jsx(Tooltip$1,{title:"Insights available",children:jsxRuntimeExports.jsx("span",{className:"icon",children:jsxRuntimeExports.jsx(LightBulbIcon,{size:12,color:It})})})})]}),ut.references&&ut.references.length>1&&jsxRuntimeExports.jsx(ReferencesButton,{references:ut.references,tooltipText:"Contains multiple references",focusSpan:ft,children:jsxRuntimeExports.jsx(IoNetwork,{})}),ut.subsidiarilyReferencedBy&&ut.subsidiarilyReferencedBy.length>0&&jsxRuntimeExports.jsx(ReferencesButton,{references:ut.subsidiarilyReferencedBy,tooltipText:`This span is referenced by ${ut.subsidiarilyReferencedBy.length===1?"another span":"multiple other spans"}`,focusSpan:ft,children:jsxRuntimeExports.jsx(MdFileUpload,{})})]})}),jsxRuntimeExports.jsxs(TimelineRow.Cell,{className:"span-view",style:{cursor:"pointer"},width:1-et,onClick:this._detailToggle,children:[jsxRuntimeExports.jsx(Ticks,{numTicks:nt}),jsxRuntimeExports.jsx(SpanBar$1,{rpc:it,viewStart:xt,viewEnd:Ct,getViewedBounds:lt,color:_e,shortLabel:bt,longLabel:wt,hintSide:_t,traceStartTime:ct,span:ut})]})]})}}SpanBarRow.defaultProps={className:"",rpc:null};const AccordianReferences$1="";function References(o){const{data:$,focusSpan:_e}=o;return jsxRuntimeExports.jsx("div",{className:"ReferencesList u-simple-scrollbars",children:jsxRuntimeExports.jsx("ul",{className:"ReferencesList--List",children:$.map(et=>jsxRuntimeExports.jsx("li",{className:"ReferencesList--Item",children:jsxRuntimeExports.jsx(ReferenceLink,{reference:et,focusSpan:_e,children:jsxRuntimeExports.jsxs("span",{className:"ReferencesList--itemContent",children:[et.span?jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx("span",{className:"span-svc-name",children:et.span.process.serviceName}),jsxRuntimeExports.jsx("small",{className:"endpoint-name",children:et.span.operationName})]}):jsxRuntimeExports.jsx("span",{className:"span-svc-name",children:"< span in another trace >"}),jsxRuntimeExports.jsxs("small",{className:"SpanReference--debugInfo",children:[jsxRuntimeExports.jsx("span",{className:"SpanReference--debugLabel","data-label":"Reference Type:",children:et.refType}),jsxRuntimeExports.jsx("span",{className:"SpanReference--debugLabel","data-label":"SpanID:",children:et.spanID})]})]})})},`${et.spanID}`))})})}class AccordianReferences extends reactExports.PureComponent{render(){const{data:$,highContrast:_e,interactive:et,isOpen:tt,onToggle:rt,focusSpan:at}=this.props,nt=!Array.isArray($)||!$.length,it=classnamesExports("u-align-icon",{"AccordianKReferences--emptyIcon":nt});let ot=null,st=null;return et&&(ot=tt?jsxRuntimeExports.jsx(IoIosArrowDown,{className:it}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:it}),st={"aria-checked":tt,onClick:nt?null:rt,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:"AccordianReferences",children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianReferences--header","AccordianReferences--header",{"is-empty":nt,"is-high-contrast":_e,"is-open":tt}),...st,children:[ot,jsxRuntimeExports.jsx("strong",{children:jsxRuntimeExports.jsx("span",{className:"AccordianReferences--label",children:"References"})})," ","(",$.length,")"]}),tt&&jsxRuntimeExports.jsx(References,{data:$,focusSpan:at})]})}}AccordianReferences.defaultProps={highContrast:!1,interactive:!0,onToggle:null};const TextList$1="";function TextList(o){const{data:$}=o;return jsxRuntimeExports.jsx("div",{className:"TextList u-simple-scrollbars",children:jsxRuntimeExports.jsx("ul",{className:"TextList--List ",children:$.map((_e,et)=>jsxRuntimeExports.jsx("li",{children:_e},`${et}`))})})}const AccordianText$1="";function AccordianText(o){const{className:$,data:_e,headerClassName:et,highContrast:tt,interactive:rt,isOpen:at,label:nt,onToggle:it}=o,ot=!Array.isArray(_e)||!_e.length,st=classnamesExports("u-align-icon",{"AccordianKeyValues--emptyIcon":ot});let lt=null,ct=null;return rt&&(lt=at?jsxRuntimeExports.jsx(IoIosArrowDown,{className:st}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:st}),ct={"aria-checked":at,onClick:ot?null:it,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:$||"",children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianText--header",et,{"is-empty":ot,"is-high-contrast":tt,"is-open":at}),...ct,children:[lt," ",jsxRuntimeExports.jsx("strong",{children:nt})," (",_e.length,")"]}),at&&jsxRuntimeExports.jsx(TextList,{data:_e})]})}AccordianText.defaultProps={className:null,highContrast:!1,interactive:!0,onToggle:null};const InsightIcon=o=>{const $=getInsightTypeInfo(o.insight.type);return $?jsxRuntimeExports.jsx($.icon,{color:getInsightImportanceColor(o.insight.importance),size:o.size}):null},index$c="",getIconColor=(o,$)=>o?"#49494d":$?"#dadada":"#b9c2eb",Button=o=>{const[$,_e]=reactExports.useState(!1),et=reactExports.useCallback(()=>_e(!0),[]);reactExports.useEffect(()=>{const rt=()=>{_e(!1)};return window.addEventListener("mouseup",rt),()=>{window.removeEventListener("mouseup",rt)}},[]);const tt=rt=>{o.onClick&&o.onClick(rt)};return jsxRuntimeExports.jsx("button",{type:"button",className:"Button",onClick:tt,disabled:o.disabled,onMouseDown:et,children:jsxRuntimeExports.jsxs("span",{className:"Button__content",children:[o.icon&&jsxRuntimeExports.jsx(o.icon.component,{size:o.icon.size,color:o.icon.color||getIconColor(!!o.disabled,$)}),jsxRuntimeExports.jsx("span",{children:o.children})]})})},CrosshairIconComponent=o=>{const{size:$,color:_e}=useIconProps(o);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:$,height:$,fill:"none",viewBox:"0 0 12 12",children:jsxRuntimeExports.jsx("path",{stroke:_e,strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6a4 4 0 0 1-4 4m4-4a4 4 0 0 0-4-4m4 4H7.87M6 10a4 4 0 0 1-4-4m4 4V7.88M2 6a4 4 0 0 1 4-4M2 6h2.13M6 2v2.13"})})},CrosshairIcon=React$k.memo(CrosshairIconComponent),getSpanDataForDigma=(o,$=!1)=>{const _e={instrumentationLibrary:"otel.library.name",function:"code.function",namespace:"code.namespace",spanCodeObjectId:"digma.span.code.object.id",methodCodeObjectId:"digma.method.code.object.id"},et={environment:"digma.environment",...$?{environmentId:"digma.environment.id"}:{}},tt=Object.entries(_e).reduce((at,[nt,it])=>{const ot=o.tags.find(st=>st.key===it);return ot?{...at,[nt]:ot.value}:at},{}),rt=Object.entries(et).reduce((at,[nt,it])=>{const ot=o.process.tags.find(st=>st.key===it);return ot?{...at,[nt]:ot.value}:at},{});return{...tt,...rt,id:o.spanID,name:o.operationName,serviceName:o.process.serviceName}},index$b="";class SpanDetail extends React$k.Component{constructor($){super($),this._updateSpanInfo=this._updateSpanInfo.bind(this),this._handleCodeButtonClick=this._handleCodeButtonClick.bind(this),this._handleSpanNameLinkClick=this._handleSpanNameLinkClick.bind(this);const _e=state.spans[$.span.spanID];this.state={hasCodeLocation:!!(_e&&_e.hasCodeLocation),insights:_e?this._sortInsightsByImportance(_e.insights):[]}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}_sortInsightsByImportance($){return[...$].sort((_e,et)=>_e.importance-et.importance||getInsightTypeOrderPriority(_e.type)-getInsightTypeOrderPriority(et.type))}_updateSpanInfo($){const _e=$[this.props.span.spanID];this.setState({hasCodeLocation:!!(_e&&_e.hasCodeLocation),insights:_e?this._sortInsightsByImportance(_e.insights):[]})}_handleCodeButtonClick(){const $=getSpanDataForDigma(this.props.span);window.sendMessageToDigma({action:actions$1.GO_TO_SPAN,payload:$})}_handleSpanNameLinkClick(){const $=getSpanDataForDigma(this.props.span,!0);$.spanCodeObjectId&&window.sendMessageToDigma({action:globalActions.CHANGE_SCOPE,payload:{span:{spanCodeObjectId:$.spanCodeObjectId},environmentId:$.environmentId,context:{event:"JAEGER/SPAN_LINK_CLICKED"}}})}render(){const{detailState:$,linksGetter:_e,logItemToggle:et,logsToggle:tt,processToggle:rt,span:at,tagsToggle:nt,traceStartTime:it,warningsToggle:ot,referencesToggle:st,focusSpan:lt}=this.props,{isTagsOpen:ct,isProcessOpen:ut,logs:ft,isWarningsOpen:At,isReferencesOpen:vt}=$,{operationName:ht,process:mt,duration:bt,relativeStartTime:dt,spanID:xt,logs:Ct,tags:gt,warnings:wt,references:_t}=at,Et=[{key:"svc",label:"Service:",value:mt.serviceName},{key:"duration",label:"Duration:",value:formatDuration(bt)},{key:"start",label:"Start Time:",value:formatDuration(dt)}],It=`${window.location.origin}${window.location.pathname}?uiFind=${xt}`,Tt=getSpanDataForDigma(this.props.span).instrumentationLibrary;return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{className:"SpanDetail--header",children:[jsxRuntimeExports.jsxs("div",{className:"ub-flex ub-items-center",children:[Tt&&this.state.insights.length>0?jsxRuntimeExports.jsx(Link$1,{to:"#",onClick:this._handleSpanNameLinkClick,className:"SpanDetail--operationNameLink ub-flex-auto ub-m0",children:ht}):jsxRuntimeExports.jsx("h2",{className:"SpanDetail--operationNameTitle ub-flex-auto ub-m0",children:ht}),jsxRuntimeExports.jsx("div",{className:"SpanDetail--insights",children:this.state.insights.map(Rt=>{const Ot=getInsightTypeInfo(Rt.type);return Ot?jsxRuntimeExports.jsx(Tooltip$1,{title:Ot.label,children:jsxRuntimeExports.jsx("span",{className:"SpanDetail--insightIconContainer",children:jsxRuntimeExports.jsx(InsightIcon,{insight:Rt,size:20})})},Rt.type):null})})]}),jsxRuntimeExports.jsx(LabeledList,{dividerClassName:"SpanDetail--divider",items:Et})]}),jsxRuntimeExports.jsx(Divider$1,{className:"SpanDetail--divider ub-my1"}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(AccordianKeyValues,{data:gt,label:"Tags",linksGetter:_e,isOpen:ct,onToggle:()=>nt(xt)}),mt.tags&&jsxRuntimeExports.jsx(AccordianKeyValues,{className:"ub-mb1",data:mt.tags,label:"Process",linksGetter:_e,isOpen:ut,onToggle:()=>rt(xt)})]}),Ct&&Ct.length>0&&jsxRuntimeExports.jsx(AccordianLogs,{linksGetter:_e,logs:Ct,isOpen:ft.isOpen,openedItems:ft.openedItems,onToggle:()=>tt(xt),onItemToggle:Rt=>et(xt,Rt),timestamp:it}),wt&&wt.length>0&&jsxRuntimeExports.jsx(AccordianText,{className:"AccordianWarnings",headerClassName:"AccordianWarnings--header",label:jsxRuntimeExports.jsx("span",{className:"AccordianWarnings--label",children:"Warnings"}),data:wt,isOpen:At,onToggle:()=>ot(xt)}),_t&&_t.length>0&&(_t.length>1||_t[0].refType!=="CHILD_OF")&&jsxRuntimeExports.jsx(AccordianReferences,{data:_t,isOpen:vt,onToggle:()=>st(xt),focusSpan:lt}),jsxRuntimeExports.jsxs("div",{className:"SpanDetail--code",children:[jsxRuntimeExports.jsxs("small",{className:"SpanDetail--debugInfo",children:[jsxRuntimeExports.jsx("span",{className:"SpanDetail--debugLabel","data-label":"SpanID:"})," ",xt,jsxRuntimeExports.jsx(CopyIcon,{copyText:It,icon:"link",placement:"topRight",tooltipTitle:"Copy deep link to this span"})]}),this.state.hasCodeLocation&&jsxRuntimeExports.jsx(Button,{onClick:this._handleCodeButtonClick,icon:{component:CrosshairIcon,size:18},children:"Code"})]})]})]})}}const SpanDetailRow$1="";class SpanDetailRow extends React$k.PureComponent{constructor(){super(...arguments),this._detailToggle=()=>{this.props.onDetailToggled(this.props.span.spanID)},this._linksGetter=($,_e)=>{const{linksGetter:et,span:tt}=this.props;return et(tt,$,_e)}}render(){const{color:$,columnDivision:_e,detailState:et,logItemToggle:tt,logsToggle:rt,processToggle:at,referencesToggle:nt,warningsToggle:it,span:ot,tagsToggle:st,traceStartTime:lt,focusSpan:ct}=this.props;return jsxRuntimeExports.jsxs(TimelineRow,{className:"detail-row",children:[jsxRuntimeExports.jsxs(TimelineRow.Cell,{width:_e,children:[jsxRuntimeExports.jsx(SpanTreeOffset,{span:ot,showChildrenIcon:!1}),jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsx("span",{className:"detail-row-expanded-accent","aria-checked":"true",onClick:this._detailToggle,role:"switch",style:{borderColor:$}})})]}),jsxRuntimeExports.jsx(TimelineRow.Cell,{width:1-_e,children:jsxRuntimeExports.jsx("div",{className:"detail-info-wrapper",style:{borderTopColor:$},children:jsxRuntimeExports.jsx(SpanDetail,{detailState:et,linksGetter:this._linksGetter,logItemToggle:tt,logsToggle:rt,processToggle:at,referencesToggle:nt,warningsToggle:it,span:ot,tagsToggle:st,traceStartTime:lt,focusSpan:ct})})})]})}}const VirtualizedTraceView$1="",DEFAULT_HEIGHTS={bar:28,detail:161,detailWithLogs:197},NUM_TICKS$1=5;function generateRowStates(o,$,_e){if(!o)return[];let et=null;const tt=[];for(let rt=0;rt=et?ot=!0:et=null),!ot&&($.has(nt)&&(et=it+1),tt.push({span:at,isDetail:!1,spanIndex:rt}),_e.has(nt)&&tt.push({span:at,isDetail:!0,spanIndex:rt}))}return tt}function generateRowStatesFromTrace(o,$,_e){return o?generateRowStates(o.spans,$,_e):[]}function getCssClasses(o){const[$,_e]=o;return classnamesExports({"clipping-left":$>0,"clipping-right":_e<1})}const memoizedGenerateRowStates=memoizeOne$1(generateRowStatesFromTrace),memoizedViewBoundsFunc=memoizeOne$1(createViewedBoundsFunc,isEqual_1),memoizedGetCssClasses=memoizeOne$1(getCssClasses,isEqual_1);class VirtualizedTraceViewImpl extends reactExports.Component{constructor($){super($),this.focusSpan=rt=>{const{trace:at,focusUiFindMatches:nt,location:it,history:ot}=this.props;at&&(updateUiFind({location:it,history:ot,uiFind:rt}),nt(at,rt,!1))},this.getViewRange=()=>this.props.currentViewRangeTime,this.getSearchedSpanIDs=()=>this.props.findMatchesIDs,this.getCollapsedChildren=()=>this.props.childrenHiddenIDs,this.mapRowIndexToSpanIndex=rt=>this.getRowStates()[rt].spanIndex,this.mapSpanIndexToRowIndex=rt=>{const at=this.getRowStates().length;for(let nt=0;nt{const at=this.listView!==rt;this.listView=rt,rt&&at&&this.props.registerAccessors(this.getAccessors())},this.getKeyFromIndex=rt=>{const{isDetail:at,span:nt}=this.getRowStates()[rt];return`${nt.spanID}--${at?"detail":"bar"}`},this.getIndexFromKey=rt=>{const at=rt.split("--"),nt=at[0],it=at[1]==="detail",ot=this.getRowStates().length;for(let st=0;st{const{span:at,isDetail:nt}=this.getRowStates()[rt];return nt?Array.isArray(at.logs)&&at.logs.length?DEFAULT_HEIGHTS.detailWithLogs:DEFAULT_HEIGHTS.detail:DEFAULT_HEIGHTS.bar},this.linksGetter=(rt,at,nt)=>{const{trace:it}=this.props;return getLinks(rt,at,nt,it)},this.renderRow=(rt,at,nt,it)=>{const{isDetail:ot,span:st,spanIndex:lt}=this.getRowStates()[nt];return ot?this.renderSpanDetailRow(st,rt,at,it):this.renderSpanBarRow(st,lt,rt,at,it)};const{setTrace:_e,trace:et,uiFind:tt}=$;_e(et,tt)}shouldComponentUpdate($){const _e=Object.keys($);for(let et=0;et<_e.length;et+=1)if($[_e[et]]!==this.props[_e[et]])if(_e[et]==="shouldScrollToFirstUiFindMatch"){if($[_e[et]])return!0}else return!0;return!1}componentDidUpdate($){const{registerAccessors:_e,trace:et}=$,{shouldScrollToFirstUiFindMatch:tt,clearShouldScrollToFirstUiFindMatch:rt,scrollToFirstVisibleSpan:at,registerAccessors:nt,setTrace:it,trace:ot,uiFind:st}=this.props;et!==ot&&it(ot,st),this.listView&&_e!==nt&&nt(this.getAccessors()),tt&&(at(),rt())}getRowStates(){const{childrenHiddenIDs:$,detailStates:_e,trace:et}=this.props;return memoizedGenerateRowStates(et,$,_e)}getClippingCssClasses(){const{currentViewRangeTime:$}=this.props;return memoizedGetCssClasses($)}getViewedBounds(){const{currentViewRangeTime:$,trace:_e}=this.props,[et,tt]=$;return memoizedViewBoundsFunc({min:_e.startTime,max:_e.endTime,viewStart:et,viewEnd:tt})}getAccessors(){const $=this.listView;if(!$)throw new Error("ListView unavailable");return{getViewRange:this.getViewRange,getSearchedSpanIDs:this.getSearchedSpanIDs,getCollapsedChildren:this.getCollapsedChildren,getViewHeight:$.getViewHeight,getBottomRowIndexVisible:$.getBottomVisibleIndex,getTopRowIndexVisible:$.getTopVisibleIndex,getRowPosition:$.getRowPosition,mapRowIndexToSpanIndex:this.mapRowIndexToSpanIndex,mapSpanIndexToRowIndex:this.mapSpanIndexToRowIndex}}renderSpanBarRow($,_e,et,tt,rt){const{spanID:at}=$,{serviceName:nt}=$.process,{childrenHiddenIDs:it,childrenToggle:ot,detailStates:st,detailToggle:lt,findMatchesIDs:ct,spanNameColumnWidth:ut,trace:ft}=this.props;if(!ft)return null;const At=colorGenerator.getColorByKey(nt),vt=it.has(at),ht=st.has(at),mt=ct?ct.has(at):!1,bt=isErrorSpan($)||vt&&spanContainsErredSpan(ft.spans,_e);let dt=null;if(vt){const gt=findServerChildSpan(ft.spans.slice(_e));if(gt){const wt=this.getViewedBounds()(gt.startTime,gt.startTime+gt.duration);dt={color:colorGenerator.getColorByKey(gt.process.serviceName),operationName:gt.operationName,serviceName:gt.process.serviceName,viewEnd:wt.end,viewStart:wt.start}}}const xt=$.tags.find(gt=>gt.key===PEER_SERVICE);let Ct=null;return!$.hasChildren&&xt&&isKindClient($)&&(Ct={serviceName:xt.value,color:colorGenerator.getColorByKey(xt.value)}),jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--row",style:tt,...rt,children:jsxRuntimeExports.jsx(SpanBarRow,{className:this.getClippingCssClasses(),color:At,columnDivision:ut,isChildrenExpanded:!vt,isDetailExpanded:ht,isMatchingFilter:mt,numTicks:NUM_TICKS$1,onDetailToggled:lt,onChildrenToggled:ot,rpc:dt,noInstrumentedServer:Ct,showErrorIcon:bt,getViewedBounds:this.getViewedBounds(),traceStartTime:ft.startTime,span:$,focusSpan:this.focusSpan})},et)}renderSpanDetailRow($,_e,et,tt){const{spanID:rt}=$,{serviceName:at}=$.process,{detailLogItemToggle:nt,detailLogsToggle:it,detailProcessToggle:ot,detailReferencesToggle:st,detailWarningsToggle:lt,detailStates:ct,detailTagsToggle:ut,detailToggle:ft,spanNameColumnWidth:At,trace:vt}=this.props,ht=ct.get(rt);if(!vt||!ht)return null;const mt=colorGenerator.getColorByKey(at);return jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--row",style:{...et,zIndex:1},...tt,children:jsxRuntimeExports.jsx(SpanDetailRow,{color:mt,columnDivision:At,onDetailToggled:ft,detailState:ht,linksGetter:this.linksGetter,logItemToggle:nt,logsToggle:it,processToggle:ot,referencesToggle:st,warningsToggle:lt,span:$,tagsToggle:ut,traceStartTime:vt.startTime,focusSpan:this.focusSpan})},_e)}render(){return jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--spans",children:jsxRuntimeExports.jsx(ListView,{ref:this.setListView,dataLength:this.getRowStates().length,itemHeightGetter:this.getRowHeight,itemRenderer:this.renderRow,viewBuffer:300,viewBufferMin:100,itemsWrapperClassName:"VirtualizedTraceView--rowsWrapper",getKeyFromIndex:this.getKeyFromIndex,getIndexFromKey:this.getIndexFromKey,windowScroller:!0})})}}function mapStateToProps$3(o){return{...extractUiFindFromState(o),...o.traceTimeline}}function mapDispatchToProps$3(o){return bindActionCreators(actions,o)}const VirtualizedTraceView=withRouter$1(connect$3(mapStateToProps$3,mapDispatchToProps$3)(VirtualizedTraceViewImpl)),index$a="",NUM_TICKS=5;class TraceTimelineViewerImpl extends React$k.PureComponent{constructor(){super(...arguments),this.collapseAll=()=>{this.props.collapseAll(this.props.trace.spans)},this.collapseOne=()=>{this.props.collapseOne(this.props.trace.spans)},this.expandAll=()=>{this.props.expandAll()},this.expandOne=()=>{this.props.expandOne(this.props.trace.spans)}}componentDidMount(){merge({collapseAll:this.collapseAll,expandAll:this.expandAll,collapseOne:this.collapseOne,expandOne:this.expandOne})}render(){const{setSpanNameColumnWidth:$,updateNextViewRangeTime:_e,updateViewRangeTime:et,viewRange:tt,...rt}=this.props,{spanNameColumnWidth:at,trace:nt}=rt;return jsxRuntimeExports.jsxs("div",{className:"TraceTimelineViewer",children:[jsxRuntimeExports.jsx(SpanDetailRow$2,{duration:nt.duration,nameColumnWidth:at,numTicks:NUM_TICKS,onCollapseAll:this.collapseAll,onCollapseOne:this.collapseOne,onColummWidthChange:$,onExpandAll:this.expandAll,onExpandOne:this.expandOne,viewRangeTime:tt.time,updateNextViewRangeTime:_e,updateViewRangeTime:et}),jsxRuntimeExports.jsx(VirtualizedTraceView,{...rt,currentViewRangeTime:tt.time.current})]})}}function mapStateToProps$2(o){return{spanNameColumnWidth:o.traceTimeline.spanNameColumnWidth}}function mapDispatchToProps$2(o){const{setSpanNameColumnWidth:$,expandAll:_e,expandOne:et,collapseAll:tt,collapseOne:rt}=bindActionCreators(actions,o);return{setSpanNameColumnWidth:$,expandAll:_e,expandOne:et,collapseAll:tt,collapseOne:rt}}const TraceTimelineViewer=connect$3(mapStateToProps$2,mapDispatchToProps$2)(TraceTimelineViewerImpl),index$9="",HeaderTable$1="";function HeaderTable(o){const $={opacity:o.sortIndex===o.index?1:.2},_e=o.sortAsc&&o.sortIndex===o.index?"up":"down";return jsxRuntimeExports.jsxs("th",{className:"HeaderTable--th",children:[o.element.title,jsxRuntimeExports.jsx("button",{type:"submit",className:"HeaderTable--sortButton",onClick:()=>o.sortClick(o.index),children:jsxRuntimeExports.jsx(Icon$1,{style:$,type:_e})})]})}const MainTableData$1="";class MainTableData extends reactExports.Component{constructor($){super($);const _e=this.props.values.map(et=>({uid:lodashExports.uniqueId("id"),value:et}));this.state={element:_e}}render(){const $={background:this.props.colorToPercent,borderColor:this.props.colorToPercent,cursor:"default"},_e={background:this.props.searchColor,borderColor:this.props.searchColor,cursor:"default"},et={color:"rgb(153,153,153)",fontStyle:"italic"},tt={borderLeft:"4px solid transparent",paddingLeft:"0.6em",borderColor:this.props.color},rt="undefined";let at;this.props.type===rt?(this.props.valueNameSelector2!==null&&this.props.type!=="undefined"&&($.cursor="pointer"),at=$):this.props.searchColor==="transparent"?(this.props.valueNameSelector2!==null&&($.cursor="pointer"),at=$):(this.props.valueNameSelector2!==null&&($.cursor="pointer"),at=_e);let nt;this.props.color!==""?nt=tt:this.props.type==="undefined"?nt=et:nt=void 0;const it=this.props.valueNameSelector1==="sql"&&this.props.type!==rt?()=>this.props.togglePopup(this.props.name):void 0;return jsxRuntimeExports.jsxs("tr",{className:"MainTableData--tr",onClick:()=>this.props.clickColumn(this.props.name),style:at,children:[jsxRuntimeExports.jsx("td",{className:"MainTableData--td",children:jsxRuntimeExports.jsx("a",{role:"button",onClick:it,style:{color:"inherit"},children:jsxRuntimeExports.jsx("label",{title:this.props.name,className:"MainTableData--label",style:nt,children:this.props.name})})}),this.state.element.map((ot,st)=>jsxRuntimeExports.jsxs("td",{className:"MainTableData--td",children:[" ",this.props.columnsArray[st+1].isDecimal?ot.value.toFixed(2):ot.value,this.props.columnsArray[st+1].suffix]},ot.uid))]})}}const DetailTableData$1="";class DetailTableData extends reactExports.Component{constructor($){super($);const _e=this.props.values.map(et=>({uid:lodashExports.uniqueId("id"),value:et}));this.state={element:_e}}render(){const $={background:this.props.colorToPercent,borderColor:this.props.colorToPercent,color:"rgb(153,153,153)",fontStyle:"italic"},_e={background:this.props.colorToPercent,borderColor:this.props.colorToPercent},et={background:this.props.searchColor,borderColor:this.props.searchColor},tt="undefined";let rt;this.props.type===tt?rt=$:this.props.searchColor==="rgb(248,248,248)"?rt=_e:rt=et;const at={borderColor:this.props.color},nt={borderColor:this.props.color,marginLeft:"12px"};let it;this.props.valueNameSelector2==="Service Name"?it=nt:it=at;const ot=this.props.valueNameSelector2==="sql"&&this.props.type!==tt?()=>this.props.togglePopup(this.props.name):void 0;return jsxRuntimeExports.jsxs("tr",{className:"DetailTableData--tr",style:rt,children:[jsxRuntimeExports.jsx("td",{className:"DetailTableData--td",children:jsxRuntimeExports.jsx("a",{role:"button",onClick:ot,style:{color:"inherit"},children:jsxRuntimeExports.jsx("label",{title:this.props.name,className:"DetailTableData--serviceBorder",style:it,children:this.props.name})})}),this.state.element.map((st,lt)=>jsxRuntimeExports.jsxs("td",{className:"DetailTableData--td",children:[this.props.columnsArray[lt+1].isDecimal?Number(st.value).toFixed(2):st.value,this.props.columnsArray[lt+1].suffix]},st.uid))]})}}const serviceName$1="Service Name",operationName$1="Operation Name";function getValueTagIsPicked(o,$,_e){const et=$.spans;let tt=[];for(let nt=0;nt=_e[at].relativeStartTime){o+et<_e[at].relativeStartTime+_e[at].duration&&(et=_e[at].relativeStartTime+_e[at].duration-o+et),_e.splice(at,1),tt=!0;break}return{allOverlay:_e,duration:et,didDelete:tt}}function onlyOverlay(o,$,_e,et){let tt=_e,rt=0,at={allOverlay:o,duration:rt,didDelete:!1};const nt=lodashExports.difference($,o);let it=0,ot=0;const st=getLowestStartTime(o);it=st.lowestStartTime,rt=st.duration;do if(at=getDuration(it,rt,at.allOverlay),!at.didDelete&&at.allOverlay.length>0){ot=at.duration;const lt=getLowestStartTime(at.allOverlay);it=lt.lowestStartTime,rt=lt.duration}while(at.allOverlay.length>1);rt=at.duration+ot;for(let lt=0;lt$.duration&&(tt.min=$.duration),tt.max<$.duration&&(tt.max=$.duration);let rt=0,at=!1,nt=!1,it=[];const ot=[];if($.hasChildren){const lt=[];for(let ct=0;ct<_e.length;ct++)_e[ct].references.length===1&&$.spanID===_e[ct].references[0].spanID&<.push(_e[ct]);if(lt.length===1)$.relativeStartTime+$.duration>=lt[0].relativeStartTime+lt[0].duration?rt=$.duration-lt[0].duration:rt=lt[0].relativeStartTime-$.relativeStartTime;else{for(let ct=0;ct=lt[ut].relativeStartTime&&(nt=!0,it.push(lt[ct]),it.push(lt[ut]));if(it=[...new Set(it)],!at&&!nt){rt=$.duration;for(let ct=0;ctft.relativeStartTime&&(At[ht].duration-=At[ht].relativeStartTime+At[ht].duration-ft.relativeStartTime,At[ht].duration<0&&(At[ht].duration=0));rt=onlyOverlay(At,ut,rt,$);const vt=$.relativeStartTime+$.duration-ft.relativeStartTime;rt=Math.max(0,rt-vt)}else if(at){rt=ot[0].relativeStartTime-$.relativeStartTime;for(let ct=0;ctrt&&(tt.selfMin=rt),tt.selfMaxit.process.serviceName).map((it,ot)=>({key:ot})).uniq().value();for(let it=0;itit.operationName).map((it,ot)=>({key:ot})).uniq().value();for(let it=0;it0)for(let st=0;stnt?1:0:atnt?-1:0})}function sortTable(o,$,_e){const et=[],tt=[];for(let at=0;atit.parentElement===rt[at].parentElement).groupBy(it=>it.parentElement).map(it=>({parentElement:$,groupedArry:it})).value()[0].groupedArry;if(sortByKey(nt,$,_e),nt.length>0){let it=0;for(let ot=0;oto.closePopup(""),children:["close"," "]})]})})}const columnsArray=[{title:"Name",attribute:"name",suffix:"",isDecimal:!1},{title:"Count",attribute:"count",suffix:"",isDecimal:!1},{title:"Total",attribute:"total",suffix:"ms",isDecimal:!0},{title:"Avg",attribute:"avg",suffix:"ms",isDecimal:!0},{title:"Min",attribute:"min",suffix:"ms",isDecimal:!0},{title:"Max",attribute:"max",suffix:"ms",isDecimal:!0},{title:"ST Total",attribute:"selfTotal",suffix:"ms",isDecimal:!0},{title:"ST Avg",attribute:"selfAvg",suffix:"ms",isDecimal:!0},{title:"ST Min",attribute:"selfMin",suffix:"ms",isDecimal:!0},{title:"ST Max",attribute:"selfMax",suffix:"ms",isDecimal:!0},{title:"ST in Duration",attribute:"percent",suffix:"%",isDecimal:!0}];class TraceStatistics extends reactExports.Component{constructor($){super($),this.sortTableWithOthers=(_e,et,tt)=>{let rt=-1,at=-1,nt=!1,it=[];const ot=[];let st;for(st=0;st<_e.length;st++)_e[st].type!=="undefined"?it.push(_e[st]):_e[st].isDetail?nt=!0:rt=st;if(it=sortTable(it,columnsArray[et].attribute,tt),rt!==-1&&it.push(_e[rt]),!nt)return it;let lt=[];for(st=0;st<_e.length;st++)_e[st].isDetail||lt.push(_e[st]);for(lt=sortTable(lt,columnsArray[et].attribute,tt),st=0;st{const rt=et,at="rgb(255,243,215)",nt="rgb(248,248,248)";for(let it=0;it({..._e,tableValue:$}))}handler($,_e,et,tt){this.setState(rt=>({...rt,tableValue:this.searchInTable(this.props.uiFindVertexKeys,this.sortTableWithOthers($,1,!1),this.props.uiFind),sortIndex:1,sortAsc:!1,valueNameSelector1:et,valueNameSelector2:tt,wholeTable:_e}))}togglePopup($){const _e=this.state.showPopup;this.setState(et=>({...et,showPopup:!_e,popupContent:$}))}sortClick($){const{tableValue:_e,sortIndex:et,sortAsc:tt}=this.state;et!==$?this.setState(rt=>({...rt,sortIndex:$,sortAsc:!1,tableValue:this.sortTableWithOthers(_e,$,!1)})):this.setState(rt=>({...rt,sortAsc:!tt,tableValue:this.sortTableWithOthers(_e,$,!tt)}))}clickColumn($){if(this.state.valueNameSelector2!==null){let _e=!0;const et=this.state.tableValue;let tt=[];for(let rt=0;rt{const{count:_e,total:et,avg:tt,min:rt,max:at,selfTotal:nt,selfAvg:it,selfMin:ot,selfMax:st,percent:lt,color:ct,searchColor:ut,colorToPercent:ft}=$,At=[_e,et,tt,rt,at,nt,it,ot,st,lt],vt=lodashExports.uniqueId("id");return $.isDetail?jsxRuntimeExports.jsx(DetailTableData,{type:$.type,name:$.name,searchColor:ut,values:At,columnsArray,color:ct,togglePopup:this.togglePopup,valueNameSelector2:this.state.valueNameSelector2,colorToPercent:ft},vt):jsxRuntimeExports.jsx(MainTableData,{type:$.type,name:$.name,searchColor:ut,values:At,columnsArray,togglePopup:this.togglePopup,valueNameSelector1:this.state.valueNameSelector1,valueNameSelector2:this.state.valueNameSelector2,color:ct,clickColumn:this.clickColumn,colorToPercent:ft},vt)})}renderTableHead(){const{sortAsc:$,sortIndex:_e}=this.state;return jsxRuntimeExports.jsx("tr",{children:columnsArray.map((et,tt)=>jsxRuntimeExports.jsx(HeaderTable,{element:et,sortIndex:_e,index:tt,sortClick:this.sortClick,sortAsc:$},et.title))})}render(){return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"title--TraceStatistics",children:" Trace Statistics"}),jsxRuntimeExports.jsx(TraceStatisticsHeader,{trace:this.props.trace,tableValue:this.state.tableValue,wholeTable:this.state.wholeTable,handler:this.handler}),this.state.showPopup?jsxRuntimeExports.jsx(PopupSql,{closePopup:this.togglePopup,popupContent:this.state.popupContent}):null,jsxRuntimeExports.jsx("table",{className:"test1893",children:jsxRuntimeExports.jsxs("tbody",{className:"DetailTraceTableTbody--TraceStatistics",children:[this.renderTableHead(),this.renderTableData()]})})]})}}var FormItem$1={};const require$$4=getAugmentedNamespace(Animate$2),require$$5=getAugmentedNamespace(es$4);var row={},RowContext={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var $=_e(libExports$3);function _e(rt){return rt&&rt.__esModule?rt:{default:rt}}var et=(0,$.default)({}),tt=et;o.default=tt})(RowContext);var type={};Object.defineProperty(type,"__esModule",{value:!0});type.tupleNum=type.tuple=void 0;var tuple=function o(){for(var $=arguments.length,_e=new Array($),et=0;et<$;et++)_e[et]=arguments[et];return _e};type.tuple=tuple;var tupleNum=function o(){for(var $=arguments.length,_e=new Array($),et=0;et<$;et++)_e[et]=arguments[et];return _e};type.tupleNum=tupleNum;var responsiveObserve={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=o.responsiveMap=o.responsiveArray=void 0;function $(ct,ut,ft){return ut in ct?Object.defineProperty(ct,ut,{value:ft,enumerable:!0,configurable:!0,writable:!0}):ct[ut]=ft,ct}function _e(){return _e=Object.assign||function(ct){for(var ut=1;ut"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(Tt){return!1}}function gt(Tt){return gt=Object.setPrototypeOf?Object.getPrototypeOf:function(Ot){return Ot.__proto__||Object.getPrototypeOf(Ot)},gt(Tt)}var wt=function(Tt,Rt){var Ot={};for(var Mt in Tt)Object.prototype.hasOwnProperty.call(Tt,Mt)&&Rt.indexOf(Mt)<0&&(Ot[Mt]=Tt[Mt]);if(Tt!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Bt=0,Mt=Object.getOwnPropertySymbols(Tt);Bt0?{marginLeft:Ft[0]/-2,marginRight:Ft[0]/-2}:{}),Ft[1]>0?{marginTop:Ft[1]/-2,marginBottom:Ft[1]/-2}:{}),Kt),or=ct({},Ut);return delete or.gutter,$.createElement(rt.default.Provider,{value:{gutter:Ft}},$.createElement("div",ct({},or,{className:Vt,style:Jt}),er))},Mt}return vt(Ot,[{key:"componentDidMount",value:function(){var Bt=this;this.token=nt.default.subscribe(function(Lt){var jt=Bt.props.gutter;(lt(jt)==="object"||Array.isArray(jt)&&(lt(jt[0])==="object"||lt(jt[1])==="object"))&&Bt.setState({screens:Lt})})}},{key:"componentWillUnmount",value:function(){nt.default.unsubscribe(this.token)}},{key:"getGutter",value:function(){var Bt=[0,0],Lt=this.props.gutter,jt=this.state.screens,zt=Array.isArray(Lt)?Lt:[Lt,0];return zt.forEach(function(Nt,Wt){if(lt(Nt)==="object")for(var qt=0;qt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(_t){return!1}}function xt(_t){return xt=Object.setPrototypeOf?Object.getPrototypeOf:function(It){return It.__proto__||Object.getPrototypeOf(It)},xt(_t)}var Ct=function(_t,Et){var It={};for(var Tt in _t)Object.prototype.hasOwnProperty.call(_t,Tt)&&Et.indexOf(Tt)<0&&(It[Tt]=_t[Tt]);if(_t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var Rt=0,Tt=Object.getOwnPropertySymbols(_t);Rt0?{paddingLeft:Jt[0]/2,paddingRight:Jt[0]/2}:{}),Jt[1]>0?{paddingTop:Jt[1]/2,paddingBottom:Jt[1]/2}:{}),or)),$.createElement("div",st({},er,{style:or,className:Ft}),Kt)})},Tt}return ft(It,[{key:"render",value:function(){return $.createElement(rt.ConfigConsumer,null,this.renderCol)}}]),It}($.Component);o.default=wt,wt.propTypes={span:_e.number,order:_e.number,offset:_e.number,push:_e.number,pull:_e.number,className:_e.string,children:_e.node,xs:gt,sm:gt,md:gt,lg:gt,xl:gt,xxl:gt}})(col);var icon={};const require$$2=getAugmentedNamespace(index_es),require$$3=getAugmentedNamespace(es$3);var IconFont={},hasRequiredIconFont;function requireIconFont(){return hasRequiredIconFont||(hasRequiredIconFont=1,function(o){function $(lt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(ut){return typeof ut}:$=function(ut){return ut&&typeof Symbol=="function"&&ut.constructor===Symbol&&ut!==Symbol.prototype?"symbol":typeof ut},$(lt)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=st;var _e=at(reactExports),et=tt(requireIcon());function tt(lt){return lt&<.__esModule?lt:{default:lt}}function rt(){if(typeof WeakMap!="function")return null;var lt=new WeakMap;return rt=function(){return lt},lt}function at(lt){if(lt&<.__esModule)return lt;if(lt===null||$(lt)!=="object"&&typeof lt!="function")return{default:lt};var ct=rt();if(ct&&ct.has(lt))return ct.get(lt);var ut={},ft=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var At in lt)if(Object.prototype.hasOwnProperty.call(lt,At)){var vt=ft?Object.getOwnPropertyDescriptor(lt,At):null;vt&&(vt.get||vt.set)?Object.defineProperty(ut,At,vt):ut[At]=lt[At]}return ut.default=lt,ct&&ct.set(lt,ut),ut}function nt(){return nt=Object.assign||function(lt){for(var ct=1;ct0&&arguments[0]!==void 0?arguments[0]:{},ct=lt.scriptUrl,ut=lt.extraCommonProps,ft=ut===void 0?{}:ut;if(typeof document<"u"&&typeof window<"u"&&typeof document.createElement=="function"&&typeof ct=="string"&&ct.length&&!ot.has(ct)){var At=document.createElement("script");At.setAttribute("src",ct),At.setAttribute("data-namespace",ct),ot.add(ct),document.body.appendChild(At)}var vt=function(mt){var bt=mt.type,dt=mt.children,xt=it(mt,["type","children"]),Ct=null;return mt.type&&(Ct=_e.createElement("use",{xlinkHref:"#".concat(bt)})),dt&&(Ct=dt),_e.createElement(et.default,nt({},ft,xt),Ct)};return vt.displayName="Iconfont",vt}}(IconFont)),IconFont}var utils$1={};Object.defineProperty(utils$1,"__esModule",{value:!0});utils$1.getThemeFromTypeName=getThemeFromTypeName;utils$1.removeTypeTheme=removeTypeTheme;utils$1.withThemeSuffix=withThemeSuffix;utils$1.alias=alias;utils$1.svgBaseProps=void 0;var _warning=_interopRequireDefault$1(warning);function _interopRequireDefault$1(o){return o&&o.__esModule?o:{default:o}}var svgBaseProps={width:"1em",height:"1em",fill:"currentColor","aria-hidden":!0,focusable:"false"};utils$1.svgBaseProps=svgBaseProps;var fillTester=/-fill$/,outlineTester=/-o$/,twoToneTester=/-twotone$/;function getThemeFromTypeName(o){var $=null;return fillTester.test(o)?$="filled":outlineTester.test(o)?$="outlined":twoToneTester.test(o)&&($="twoTone"),$}function removeTypeTheme(o){return o.replace(fillTester,"").replace(outlineTester,"").replace(twoToneTester,"")}function withThemeSuffix(o,$){var _e=o;return $==="filled"?_e+="-fill":$==="outlined"?_e+="-o":$==="twoTone"?_e+="-twotone":(0,_warning.default)(!1,"Icon","This icon '".concat(o,"' has unknown theme '").concat($,"'")),_e}function alias(o){var $=o;switch(o){case"cross":$="close";break;case"interation":$="interaction";break;case"canlendar":$="calendar";break;case"colum-height":$="column-height";break}return(0,_warning.default)($===o,"Icon","Icon '".concat(o,"' was a typo and is now deprecated, please use '").concat($,"' instead.")),$}var twoTonePrimaryColor={};Object.defineProperty(twoTonePrimaryColor,"__esModule",{value:!0});twoTonePrimaryColor.setTwoToneColor=setTwoToneColor;twoTonePrimaryColor.getTwoToneColor=getTwoToneColor;var _iconsReact=_interopRequireDefault(require$$3);function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function setTwoToneColor(o){return _iconsReact.default.setTwoToneColors({primaryColor:o})}function getTwoToneColor(){var o=_iconsReact.default.getTwoToneColors();return o.primaryColor}var hasRequiredIcon;function requireIcon(){return hasRequiredIcon||(hasRequiredIcon=1,function(o){function $(Et){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(Tt){return typeof Tt}:$=function(Tt){return Tt&&typeof Symbol=="function"&&Tt.constructor===Symbol&&Tt!==Symbol.prototype?"symbol":typeof Tt},$(Et)}Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;var _e=ut(reactExports),et=lt(classnamesExports$1),tt=ut(require$$2),rt=lt(require$$3),at=lt(requireIconFont()),nt=utils$1,it=lt(warning),ot=lt(LocaleReceiver),st=twoTonePrimaryColor;function lt(Et){return Et&&Et.__esModule?Et:{default:Et}}function ct(){if(typeof WeakMap!="function")return null;var Et=new WeakMap;return ct=function(){return Et},Et}function ut(Et){if(Et&&Et.__esModule)return Et;if(Et===null||$(Et)!=="object"&&typeof Et!="function")return{default:Et};var It=ct();if(It&&It.has(Et))return It.get(Et);var Tt={},Rt=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Ot in Et)if(Object.prototype.hasOwnProperty.call(Et,Ot)){var Mt=Rt?Object.getOwnPropertyDescriptor(Et,Ot):null;Mt&&(Mt.get||Mt.set)?Object.defineProperty(Tt,Ot,Mt):Tt[Ot]=Et[Ot]}return Tt.default=Et,It&&It.set(Et,Tt),Tt}function ft(){return ft=Object.assign||function(Et){for(var It=1;ItEt.length)&&(It=Et.length);for(var Tt=0,Rt=new Array(It);Tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(Kt){return!1}}function Ot(Kt){return Ot=Object.setPrototypeOf?Object.getPrototypeOf:function(Ut){return Ut.__proto__||Object.getPrototypeOf(Ut)},Ot(Kt)}function Mt(Kt){return zt(Kt)||jt(Kt)||Lt(Kt)||Bt()}function Bt(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lt(Kt,er){if(Kt){if(typeof Kt=="string")return Nt(Kt,er);var Ut=Object.prototype.toString.call(Kt).slice(8,-1);if(Ut==="Object"&&Kt.constructor&&(Ut=Kt.constructor.name),Ut==="Map"||Ut==="Set")return Array.from(Kt);if(Ut==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ut))return Nt(Kt,er)}}function jt(Kt){if(typeof Symbol<"u"&&Symbol.iterator in Object(Kt))return Array.from(Kt)}function zt(Kt){if(Array.isArray(Kt))return Nt(Kt)}function Nt(Kt,er){(er==null||er>Kt.length)&&(er=Kt.length);for(var Ut=0,Ht=new Array(er);Ut0);Ar++){var hr=or[Ar];hr.type&&(hr.type===Ut||hr.type.displayName==="FormItem")||hr.props&&(ut.FIELD_META_PROP in hr.props?Jt.push(hr):hr.props.children&&(Jt=Jt.concat(this.getControls(hr.props.children,Vt))))}return Jt}},{key:"getOnlyControl",value:function(){var Ft=this.getControls(this.props.children,!1)[0];return Ft!==void 0?Ft:null}},{key:"getChildProp",value:function(Ft){var Vt=this.getOnlyControl();return Vt&&Vt.props&&Vt.props[Ft]}},{key:"getId",value:function(){return this.getChildProp("id")}},{key:"getMeta",value:function(){return this.getChildProp(ut.FIELD_META_PROP)}},{key:"getField",value:function(){return this.getChildProp(ut.FIELD_DATA_PROP)}},{key:"getValidateStatus",value:function(){var Ft=this.getOnlyControl();if(!Ft)return"";var Vt=this.getField();if(Vt.validating)return"validating";if(Vt.errors)return"error";var Jt="value"in Vt?Vt.value:this.getMeta().initialValue;return Jt!=null&&Jt!==""?"success":""}},{key:"isRequired",value:function(){var Ft=this.props.required;if(Ft!==void 0)return Ft;if(this.getOnlyControl()){var Vt=this.getMeta()||{},Jt=Vt.validate||[];return Jt.filter(function(or){return!!or.rules}).some(function(or){return or.rules.some(function(Ar){return Ar.required})})}return!1}},{key:"renderHelp",value:function(Ft){var Vt=this.getHelpMessage(),Jt=Vt?$.createElement("div",{className:"".concat(Ft,"-explain"),key:"help"},Vt):null;return Jt&&(this.helpShow=!!Jt),$.createElement(rt.default,{transitionName:"show-help",component:"",transitionAppear:!0,key:"help",onEnd:this.onHelpAnimEnd},Jt)}},{key:"renderExtra",value:function(Ft){var Vt=this.props.extra;return Vt?$.createElement("div",{className:"".concat(Ft,"-extra")},Vt):null}},{key:"renderValidateWrapper",value:function(Ft,Vt,Jt,or){var Ar=this.props,hr=this.getOnlyControl,vr=Ar.validateStatus===void 0&&hr?this.getValidateStatus():Ar.validateStatus,Er="".concat(Ft,"-item-control");vr&&(Er=(0,tt.default)("".concat(Ft,"-item-control"),{"has-feedback":vr&&Ar.hasFeedback,"has-success":vr==="success","has-warning":vr==="warning","has-error":vr==="error","is-validating":vr==="validating"}));var mr="";switch(vr){case"success":mr="check-circle";break;case"warning":mr="exclamation-circle";break;case"error":mr="close-circle";break;case"validating":mr="loading";break;default:mr="";break}var Or=Ar.hasFeedback&&mr?$.createElement("span",{className:"".concat(Ft,"-item-children-icon")},$.createElement(ot.default,{type:mr,theme:mr==="loading"?"outlined":"filled"})):null;return $.createElement("div",{className:Er},$.createElement("span",{className:"".concat(Ft,"-item-children")},Vt,Or),Jt,or)}},{key:"renderWrapper",value:function(Ft,Vt){var Jt=this;return $.createElement(ft.default.Consumer,{key:"wrapper"},function(or){var Ar=or.wrapperCol,hr=or.vertical,vr=Jt.props.wrapperCol,Er=("wrapperCol"in Jt.props?vr:Ar)||{},mr=(0,tt.default)("".concat(Ft,"-item-control-wrapper"),Er.className);return $.createElement(ft.default.Provider,{value:{vertical:hr}},$.createElement(it.default,bt({},Er,{className:mr}),Vt))})}},{key:"renderLabel",value:function(Ft){var Vt=this;return $.createElement(ft.default.Consumer,{key:"label"},function(Jt){var or,Ar=Jt.vertical,hr=Jt.labelAlign,vr=Jt.labelCol,Er=Jt.colon,mr=Vt.props,Or=mr.label,Lr=mr.labelCol,na=mr.labelAlign,ba=mr.colon,qr=mr.id,Pr=mr.htmlFor,ur=Vt.isRequired(),Sr=("labelCol"in Vt.props?Lr:vr)||{},jr="labelAlign"in Vt.props?na:hr,Dr="".concat(Ft,"-item-label"),Cr=(0,tt.default)(Dr,jr==="left"&&"".concat(Dr,"-left"),Sr.className),tn=Or,Vr=ba===!0||Er!==!1&&ba!==!1,Kr=Vr&&!Ar;Kr&&typeof Or=="string"&&Or.trim()!==""&&(tn=Or.replace(/[::]\s*$/,""));var _n=(0,tt.default)((or={},dt(or,"".concat(Ft,"-item-required"),ur),dt(or,"".concat(Ft,"-item-no-colon"),!Vr),or));return Or?$.createElement(it.default,bt({},Sr,{className:Cr}),$.createElement("label",{htmlFor:Pr||qr||Vt.getId(),className:_n,title:typeof Or=="string"?Or:"",onClick:Vt.onLabelClick},tn)):null})}},{key:"renderChildren",value:function(Ft){var Vt=this.props.children;return[this.renderLabel(Ft),this.renderWrapper(Ft,this.renderValidateWrapper(Ft,Vt,this.renderHelp(Ft),this.renderExtra(Ft)))]}},{key:"render",value:function(){return $.createElement(st.ConfigConsumer,null,this.renderFormItem)}}]),Ut}($.Component);o.default=ar,ar.defaultProps={hasFeedback:!1},ar.propTypes={prefixCls:et.string,label:et.oneOfType([et.string,et.node]),labelCol:et.object,help:et.oneOfType([et.node,et.bool]),validateStatus:et.oneOf(qt),hasFeedback:et.bool,wrapperCol:et.object,className:et.string,id:et.string,children:et.node,colon:et.bool}})(FormItem$1);const FormItem=getDefaultExportFromCjs(FormItem$1),index$8="",Option=Select.Option;function getNestedProperty(o,$){return o.split(".").reduce((_e,et)=>_e?_e[et]:null,$)}class TraceSpanView extends reactExports.Component{constructor($,_e){super($,_e);const et=new Set,tt=new Set,rt=new Map;this.props.trace.spans.forEach(at=>{et.add(at.process.serviceName),tt.add(at.operationName);const nt=rt.get(at.process.serviceName)||[];nt.push(at.operationName),rt.set(at.process.serviceName,nt)}),this.state={searchText:"",searchedColumn:"",data:this.props.trace.spans,serviceNamesList:[...et],operationNamesList:[...tt],serviceNameOperationsMap:rt,filteredData:this.props.trace.spans,filtered:{},selectedServiceName:[],selectedOperationName:[]},this.handleResetFilter=this.handleResetFilter.bind(this),this.uniqueOperationNameOptions=this.uniqueOperationNameOptions.bind(this)}handleResetFilter(){this.setState($=>({selectedServiceName:[],selectedOperationName:[],filteredData:$.data}))}uniqueOperationNameOptions(){let $=[];const _e=this.state.serviceNameOperationsMap;return this.state.filtered["process.serviceName"]?this.state.filtered["process.serviceName"].forEach(et=>{$=$.concat(_e.get(et)||[])}):$=this.state.operationNamesList,[...new Set($)]}onFilteredChangeCustom($,_e){const et=this.state.filtered;et[_e]=$;const tt=this.state.data.filter(rt=>{let at;return Object.keys(et).every(nt=>{if(et[nt].length){const it=getNestedProperty(nt,rt);at=et[nt].includes(it)}else at=!0;return at}),at});this.setState(rt=>({...rt,filtered:et,filteredData:tt}))}render(){const $=[{title:"Service Name",dataIndex:"process.serviceName",width:"25%"},{title:"Operation",dataIndex:"operationName",width:"25%"},{title:"ID",dataIndex:"spanID",render:(_e,et)=>jsxRuntimeExports.jsx("a",{href:prefixUrl(`/trace/${et.traceID}?uiFind=${_e}`),target:"_blank",rel:"noopener noreferrer",children:_e})},{title:"Duration",dataIndex:"duration",sorter:(_e,et)=>_e.duration-et.duration,render:_e=>timeConversion(parseInt(_e,10))},{title:"Start Time",dataIndex:"startTime",sorter:(_e,et)=>_e.startTime-et.startTime,render:_e=>hooks$1(_e/1e3).format("DD MMM YYYY hh:mm A")}];return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"title--TraceSpanView",children:" Trace Tabular View"}),jsxRuntimeExports.jsxs(Row,{type:"flex",style:{marginTop:"8px"},children:[jsxRuntimeExports.jsx(Col,{span:7,children:jsxRuntimeExports.jsx(FormItem,{label:"Service Name",labelCol:{span:6},wrapperCol:{span:18},className:"serviceNameDD",children:jsxRuntimeExports.jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",style:{width:"100%"},maxTagCount:4,value:this.state.selectedServiceName,maxTagPlaceholder:`+ ${this.state.selectedServiceName.length-4} Selected`,placeholder:"Please Select Service ",onChange:_e=>{this.setState(et=>({...et,selectedServiceName:_e})),this.onFilteredChangeCustom(_e,"process.serviceName")},children:this.state.serviceNamesList.map(_e=>jsxRuntimeExports.jsxs(Option,{children:[_e," "]},_e))})})}),jsxRuntimeExports.jsx(Col,{span:9,children:jsxRuntimeExports.jsx(FormItem,{label:"Operation Name",labelCol:{span:6},wrapperCol:{span:18},className:"operationNameDD",children:jsxRuntimeExports.jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",style:{width:"100%"},maxTagCount:4,value:this.state.selectedOperationName,maxTagPlaceholder:`+ ${this.state.selectedOperationName.length-4} Selected`,placeholder:"Please Select Operation",onChange:_e=>{this.setState(et=>({...et,selectedOperationName:_e})),this.onFilteredChangeCustom(_e,"operationName")},children:this.uniqueOperationNameOptions().map(_e=>jsxRuntimeExports.jsxs(Option,{children:[_e," "]},_e))})})}),jsxRuntimeExports.jsx(Col,{span:2,push:6,children:jsxRuntimeExports.jsx(FormItem,{className:"reset-filter",children:jsxRuntimeExports.jsx(Button$2,{type:"primary",htmlType:"button",onClick:this.handleResetFilter,children:"Reset Filters"})})})]}),jsxRuntimeExports.jsx(Table$1,{className:"span-table span-view-table",columns:$,dataSource:this.state.filteredData,pagination:{total:this.state.filteredData.length,pageSizeOptions:["10","20","50","100"],showSizeChanger:!0,showQuickJumper:!0},rowKey:"spanID"})]})}}var distExports={},dist={get exports(){return distExports},set exports(o){distExports=o}};(function(o,$){var _e=Object.defineProperty,et=Object.defineProperties,tt=Object.getOwnPropertyDescriptors,rt=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable,it=(ut,ft,At)=>ft in ut?_e(ut,ft,{enumerable:!0,configurable:!0,writable:!0,value:At}):ut[ft]=At,ot=(ut,ft)=>{for(var At in ft||(ft={}))at.call(ft,At)&&it(ut,At,ft[At]);if(rt)for(var At of rt(ft))nt.call(ft,At)&&it(ut,At,ft[At]);return ut},st=(ut,ft)=>et(ut,tt(ft)),lt=(ut,ft)=>{var At={};for(var vt in ut)at.call(ut,vt)&&ft.indexOf(vt)<0&&(At[vt]=ut[vt]);if(ut!=null&&rt)for(var vt of rt(ut))ft.indexOf(vt)<0&&nt.call(ut,vt)&&(At[vt]=ut[vt]);return At},ct=(ut,ft,At)=>new Promise((vt,ht)=>{var mt=xt=>{try{dt(At.next(xt))}catch(Ct){ht(Ct)}},bt=xt=>{try{dt(At.throw(xt))}catch(Ct){ht(Ct)}},dt=xt=>xt.done?vt(xt.value):Promise.resolve(xt.value).then(mt,bt);dt((At=At.apply(ut,ft)).next())});(function(ut,ft){o.exports=ft(reactExports,reactDomExports)})(commonjsGlobal,(ut,ft)=>(()=>{var At={899:(bt,dt)=>{var xt="fas",Ct="align-left",gt=448,wt=512,_t=[],Et="f036",It="M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.el=dt.DF},459:(bt,dt)=>{var xt="fas",Ct="bars",gt=448,wt=512,_t=[],Et="f0c9",It="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.xi=dt.DF},971:(bt,dt)=>{var xt="fas",Ct="columns",gt=512,wt=512,_t=[],Et="f0db",It="M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.rW=dt.DF},42:(bt,dt)=>{var xt="fas",Ct="compress-alt",gt=448,wt=512,_t=[],Et="f422",It="M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.V9=dt.DF},682:(bt,dt)=>{var xt="fas",Ct="copy",gt=448,wt=512,_t=[],Et="f0c5",It="M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.kZ=dt.DF},438:(bt,dt)=>{var xt="fas",Ct="highlighter",gt=544,wt=512,_t=[],Et="f591",It="M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.Y6=dt.DF},384:(bt,dt)=>{var xt="fas",Ct="icicles",gt=512,wt=512,_t=[],Et="f7ad",It="M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.$P=dt.DF},687:(bt,dt)=>{var xt="fas",Ct="link",gt=512,wt=512,_t=[],Et="f0c1",It="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.nN=dt.DF},646:(bt,dt)=>{var xt="fas",Ct="list-ul",gt=512,wt=512,_t=[],Et="f0ca",It="M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.gf=dt.DF},247:(bt,dt)=>{var xt="fas",Ct="redo",gt=512,wt=512,_t=[],Et="f01e",It="M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.XS=dt.DF},769:(bt,dt)=>{var xt="fas",Ct="table",gt=512,wt=512,_t=[],Et="f0ce",It="M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.B3=dt.DF},692:(bt,dt)=>{var xt="fas",Ct="undo",gt=512,wt=512,_t=[],Et="f0e2",It="M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z";dt.DF={prefix:xt,iconName:Ct,icon:[gt,wt,_t,Et,It]},dt.X7=dt.DF},779:(bt,dt)=>{var xt,Ct;/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(){var gt={}.hasOwnProperty;function yt(){for(var xt=[],Et=0;Et{var Ct=_t(351),gt={};for(var yt in Ct)Ct.hasOwnProperty(yt)&&(gt[Ct[yt]]=yt);var xt=pt.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var Et in xt)if(xt.hasOwnProperty(Et)){if(!("channels"in xt[Et]))throw new Error("missing channels property: "+Et);if(!("labels"in xt[Et]))throw new Error("missing channel labels property: "+Et);if(xt[Et].labels.length!==xt[Et].channels)throw new Error("channel and label counts mismatch: "+Et);var It=xt[Et].channels,Tt=xt[Et].labels;delete xt[Et].channels,delete xt[Et].labels,Object.defineProperty(xt[Et],"channels",{value:It}),Object.defineProperty(xt[Et],"labels",{value:Tt})}xt.rgb.hsl=function(Ot){var Mt=Ot[0]/255,Bt=Ot[1]/255,Lt=Ot[2]/255,Vt=Math.min(Mt,Bt,Lt),zt=Math.max(Mt,Bt,Lt),Nt=zt-Vt,Wt,Jt,nr;return zt===Vt?Wt=0:Mt===zt?Wt=(Bt-Lt)/Nt:Bt===zt?Wt=2+(Lt-Mt)/Nt:Lt===zt&&(Wt=4+(Mt-Bt)/Nt),Wt=Math.min(Wt*60,360),Wt<0&&(Wt+=360),nr=(Vt+zt)/2,zt===Vt?Jt=0:nr<=.5?Jt=Nt/(zt+Vt):Jt=Nt/(2-zt-Vt),[Wt,Jt*100,nr*100]},xt.rgb.hsv=function(Ot){var Mt,Bt,Lt,Vt,zt,Nt=Ot[0]/255,Wt=Ot[1]/255,Jt=Ot[2]/255,nr=Math.max(Nt,Wt,Jt),er=nr-Math.min(Nt,Wt,Jt),Xt=function(tr){return(nr-tr)/6/er+1/2};return er===0?Vt=zt=0:(zt=er/nr,Mt=Xt(Nt),Bt=Xt(Wt),Lt=Xt(Jt),Nt===nr?Vt=Lt-Bt:Wt===nr?Vt=.3333333333333333+Mt-Lt:Jt===nr&&(Vt=.6666666666666666+Bt-Mt),Vt<0?Vt+=1:Vt>1&&(Vt-=1)),[Vt*360,zt*100,nr*100]},xt.rgb.hwb=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],Vt=xt.rgb.hsl(Ot)[0],zt=1/255*Math.min(Mt,Math.min(Bt,Lt));return Lt=1-.00392156862745098*Math.max(Mt,Math.max(Bt,Lt)),[Vt,zt*100,Lt*100]},xt.rgb.cmyk=function(Ot){var Mt=Ot[0]/255,Bt=Ot[1]/255,Lt=Ot[2]/255,Vt,zt,Nt,Wt;return Wt=Math.min(1-Mt,1-Bt,1-Lt),Vt=(1-Mt-Wt)/(1-Wt)||0,zt=(1-Bt-Wt)/(1-Wt)||0,Nt=(1-Lt-Wt)/(1-Wt)||0,[Vt*100,zt*100,Nt*100,Wt*100]};function Rt(Ot,Mt){return Math.pow(Ot[0]-Mt[0],2)+Math.pow(Ot[1]-Mt[1],2)+Math.pow(Ot[2]-Mt[2],2)}xt.rgb.keyword=function(Ot){var Mt=gt[Ot];if(Mt)return Mt;var Bt=1/0,Lt;for(var Vt in Ct)if(Ct.hasOwnProperty(Vt)){var zt=Ct[Vt],Nt=Rt(Ot,zt);Nt.04045?Math.pow((Mt+.055)/1.055,2.4):Mt/12.92,Bt=Bt>.04045?Math.pow((Bt+.055)/1.055,2.4):Bt/12.92,Lt=Lt>.04045?Math.pow((Lt+.055)/1.055,2.4):Lt/12.92;var Vt=Mt*.4124+Bt*.3576+Lt*.1805,zt=Mt*.2126+Bt*.7152+Lt*.0722,Nt=Mt*.0193+Bt*.1192+Lt*.9505;return[Vt*100,zt*100,Nt*100]},xt.rgb.lab=function(Ot){var Mt=xt.rgb.xyz(Ot),Bt=Mt[0],Lt=Mt[1],Vt=Mt[2],zt,Nt,Wt;return Bt/=95.047,Lt/=100,Vt/=108.883,Bt=Bt>.008856?Math.pow(Bt,.3333333333333333):7.787*Bt+.13793103448275862,Lt=Lt>.008856?Math.pow(Lt,.3333333333333333):7.787*Lt+.13793103448275862,Vt=Vt>.008856?Math.pow(Vt,.3333333333333333):7.787*Vt+.13793103448275862,zt=116*Lt-16,Nt=500*(Bt-Lt),Wt=200*(Lt-Vt),[zt,Nt,Wt]},xt.hsl.rgb=function(Ot){var Mt=Ot[0]/360,Bt=Ot[1]/100,Lt=Ot[2]/100,Vt,zt,Nt,Wt,Jt;if(Bt===0)return Jt=Lt*255,[Jt,Jt,Jt];Lt<.5?zt=Lt*(1+Bt):zt=Lt+Bt-Lt*Bt,Vt=2*Lt-zt,Wt=[0,0,0];for(var nr=0;nr<3;nr++)Nt=Mt+.3333333333333333*-(nr-1),Nt<0&&Nt++,Nt>1&&Nt--,6*Nt<1?Jt=Vt+(zt-Vt)*6*Nt:2*Nt<1?Jt=zt:3*Nt<2?Jt=Vt+(zt-Vt)*(.6666666666666666-Nt)*6:Jt=Vt,Wt[nr]=Jt*255;return Wt},xt.hsl.hsv=function(Ot){var Mt=Ot[0],Bt=Ot[1]/100,Lt=Ot[2]/100,Vt=Bt,zt=Math.max(Lt,.01),Nt,Wt;return Lt*=2,Bt*=Lt<=1?Lt:2-Lt,Vt*=zt<=1?zt:2-zt,Wt=(Lt+Bt)/2,Nt=Lt===0?2*Vt/(zt+Vt):2*Bt/(Lt+Bt),[Mt,Nt*100,Wt*100]},xt.hsv.rgb=function(Ot){var Mt=Ot[0]/60,Bt=Ot[1]/100,Lt=Ot[2]/100,Vt=Math.floor(Mt)%6,zt=Mt-Math.floor(Mt),Nt=255*Lt*(1-Bt),Wt=255*Lt*(1-Bt*zt),Jt=255*Lt*(1-Bt*(1-zt));switch(Lt*=255,Vt){case 0:return[Lt,Jt,Nt];case 1:return[Wt,Lt,Nt];case 2:return[Nt,Lt,Jt];case 3:return[Nt,Wt,Lt];case 4:return[Jt,Nt,Lt];case 5:return[Lt,Nt,Wt]}},xt.hsv.hsl=function(Ot){var Mt=Ot[0],Bt=Ot[1]/100,Lt=Ot[2]/100,Vt=Math.max(Lt,.01),zt,Nt,Wt;return Wt=(2-Bt)*Lt,zt=(2-Bt)*Vt,Nt=Bt*Vt,Nt/=zt<=1?zt:2-zt,Nt=Nt||0,Wt/=2,[Mt,Nt*100,Wt*100]},xt.hwb.rgb=function(Ot){var Mt=Ot[0]/360,Bt=Ot[1]/100,Lt=Ot[2]/100,Vt=Bt+Lt,zt,Nt,Wt,Jt;Vt>1&&(Bt/=Vt,Lt/=Vt),zt=Math.floor(6*Mt),Nt=1-Lt,Wt=6*Mt-zt,zt&1&&(Wt=1-Wt),Jt=Bt+Wt*(Nt-Bt);var nr,er,Xt;switch(zt){default:case 6:case 0:nr=Nt,er=Jt,Xt=Bt;break;case 1:nr=Jt,er=Nt,Xt=Bt;break;case 2:nr=Bt,er=Nt,Xt=Jt;break;case 3:nr=Bt,er=Jt,Xt=Nt;break;case 4:nr=Jt,er=Bt,Xt=Nt;break;case 5:nr=Nt,er=Bt,Xt=Jt;break}return[nr*255,er*255,Xt*255]},xt.cmyk.rgb=function(Ot){var Mt=Ot[0]/100,Bt=Ot[1]/100,Lt=Ot[2]/100,Vt=Ot[3]/100,zt,Nt,Wt;return zt=1-Math.min(1,Mt*(1-Vt)+Vt),Nt=1-Math.min(1,Bt*(1-Vt)+Vt),Wt=1-Math.min(1,Lt*(1-Vt)+Vt),[zt*255,Nt*255,Wt*255]},xt.xyz.rgb=function(Ot){var Mt=Ot[0]/100,Bt=Ot[1]/100,Lt=Ot[2]/100,Vt,zt,Nt;return Vt=Mt*3.2406+Bt*-1.5372+Lt*-.4986,zt=Mt*-.9689+Bt*1.8758+Lt*.0415,Nt=Mt*.0557+Bt*-.204+Lt*1.057,Vt=Vt>.0031308?1.055*Math.pow(Vt,.4166666666666667)-.055:Vt*12.92,zt=zt>.0031308?1.055*Math.pow(zt,.4166666666666667)-.055:zt*12.92,Nt=Nt>.0031308?1.055*Math.pow(Nt,.4166666666666667)-.055:Nt*12.92,Vt=Math.min(Math.max(0,Vt),1),zt=Math.min(Math.max(0,zt),1),Nt=Math.min(Math.max(0,Nt),1),[Vt*255,zt*255,Nt*255]},xt.xyz.lab=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],Vt,zt,Nt;return Mt/=95.047,Bt/=100,Lt/=108.883,Mt=Mt>.008856?Math.pow(Mt,.3333333333333333):7.787*Mt+.13793103448275862,Bt=Bt>.008856?Math.pow(Bt,.3333333333333333):7.787*Bt+.13793103448275862,Lt=Lt>.008856?Math.pow(Lt,.3333333333333333):7.787*Lt+.13793103448275862,Vt=116*Bt-16,zt=500*(Mt-Bt),Nt=200*(Bt-Lt),[Vt,zt,Nt]},xt.lab.xyz=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],Vt,zt,Nt;zt=(Mt+16)/116,Vt=Bt/500+zt,Nt=zt-Lt/200;var Wt=Math.pow(zt,3),Jt=Math.pow(Vt,3),nr=Math.pow(Nt,3);return zt=Wt>.008856?Wt:(zt-.13793103448275862)/7.787,Vt=Jt>.008856?Jt:(Vt-.13793103448275862)/7.787,Nt=nr>.008856?nr:(Nt-.13793103448275862)/7.787,Vt*=95.047,zt*=100,Nt*=108.883,[Vt,zt,Nt]},xt.lab.lch=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],Vt,zt,Nt;return Vt=Math.atan2(Lt,Bt),zt=Vt*360/2/Math.PI,zt<0&&(zt+=360),Nt=Math.sqrt(Bt*Bt+Lt*Lt),[Mt,Nt,zt]},xt.lch.lab=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],Vt,zt,Nt;return Nt=Lt/360*2*Math.PI,Vt=Bt*Math.cos(Nt),zt=Bt*Math.sin(Nt),[Mt,Vt,zt]},xt.rgb.ansi16=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],Vt=1 in arguments?arguments[1]:xt.rgb.hsv(Ot)[2];if(Vt=Math.round(Vt/50),Vt===0)return 30;var zt=30+(Math.round(Lt/255)<<2|Math.round(Bt/255)<<1|Math.round(Mt/255));return Vt===2&&(zt+=60),zt},xt.hsv.ansi16=function(Ot){return xt.rgb.ansi16(xt.hsv.rgb(Ot),Ot[2])},xt.rgb.ansi256=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2];if(Mt===Bt&&Bt===Lt)return Mt<8?16:Mt>248?231:Math.round((Mt-8)/247*24)+232;var Vt=16+36*Math.round(Mt/255*5)+6*Math.round(Bt/255*5)+Math.round(Lt/255*5);return Vt},xt.ansi16.rgb=function(Ot){var Mt=Ot%10;if(Mt===0||Mt===7)return Ot>50&&(Mt+=3.5),Mt=Mt/10.5*255,[Mt,Mt,Mt];var Bt=(~~(Ot>50)+1)*.5,Lt=(Mt&1)*Bt*255,Vt=(Mt>>1&1)*Bt*255,zt=(Mt>>2&1)*Bt*255;return[Lt,Vt,zt]},xt.ansi256.rgb=function(Ot){if(Ot>=232){var Mt=(Ot-232)*10+8;return[Mt,Mt,Mt]}Ot-=16;var Bt,Lt=Math.floor(Ot/36)/5*255,Vt=Math.floor((Bt=Ot%36)/6)/5*255,zt=Bt%6/5*255;return[Lt,Vt,zt]},xt.rgb.hex=function(Ot){var Mt=((Math.round(Ot[0])&255)<<16)+((Math.round(Ot[1])&255)<<8)+(Math.round(Ot[2])&255),Bt=Mt.toString(16).toUpperCase();return"000000".substring(Bt.length)+Bt},xt.hex.rgb=function(Ot){var Mt=Ot.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!Mt)return[0,0,0];var Bt=Mt[0];Mt[0].length===3&&(Bt=Bt.split("").map(function(Wt){return Wt+Wt}).join(""));var Lt=parseInt(Bt,16),Vt=Lt>>16&255,zt=Lt>>8&255,Nt=Lt&255;return[Vt,zt,Nt]},xt.rgb.hcg=function(Ot){var Mt=Ot[0]/255,Bt=Ot[1]/255,Lt=Ot[2]/255,Vt=Math.max(Math.max(Mt,Bt),Lt),zt=Math.min(Math.min(Mt,Bt),Lt),Nt=Vt-zt,Wt,Jt;return Nt<1?Wt=zt/(1-Nt):Wt=0,Nt<=0?Jt=0:Vt===Mt?Jt=(Bt-Lt)/Nt%6:Vt===Bt?Jt=2+(Lt-Mt)/Nt:Jt=4+(Mt-Bt)/Nt+4,Jt/=6,Jt%=1,[Jt*360,Nt*100,Wt*100]},xt.hsl.hcg=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=1,Vt=0;return Bt<.5?Lt=2*Mt*Bt:Lt=2*Mt*(1-Bt),Lt<1&&(Vt=(Bt-.5*Lt)/(1-Lt)),[Ot[0],Lt*100,Vt*100]},xt.hsv.hcg=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=Mt*Bt,Vt=0;return Lt<1&&(Vt=(Bt-Lt)/(1-Lt)),[Ot[0],Lt*100,Vt*100]},xt.hcg.rgb=function(Ot){var Mt=Ot[0]/360,Bt=Ot[1]/100,Lt=Ot[2]/100;if(Bt===0)return[Lt*255,Lt*255,Lt*255];var Vt=[0,0,0],zt=Mt%1*6,Nt=zt%1,Wt=1-Nt,Jt=0;switch(Math.floor(zt)){case 0:Vt[0]=1,Vt[1]=Nt,Vt[2]=0;break;case 1:Vt[0]=Wt,Vt[1]=1,Vt[2]=0;break;case 2:Vt[0]=0,Vt[1]=1,Vt[2]=Nt;break;case 3:Vt[0]=0,Vt[1]=Wt,Vt[2]=1;break;case 4:Vt[0]=Nt,Vt[1]=0,Vt[2]=1;break;default:Vt[0]=1,Vt[1]=0,Vt[2]=Wt}return Jt=(1-Bt)*Lt,[(Bt*Vt[0]+Jt)*255,(Bt*Vt[1]+Jt)*255,(Bt*Vt[2]+Jt)*255]},xt.hcg.hsv=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=Mt+Bt*(1-Mt),Vt=0;return Lt>0&&(Vt=Mt/Lt),[Ot[0],Vt*100,Lt*100]},xt.hcg.hsl=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=Bt*(1-Mt)+.5*Mt,Vt=0;return Lt>0&&Lt<.5?Vt=Mt/(2*Lt):Lt>=.5&&Lt<1&&(Vt=Mt/(2*(1-Lt))),[Ot[0],Vt*100,Lt*100]},xt.hcg.hwb=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=Mt+Bt*(1-Mt);return[Ot[0],(Lt-Mt)*100,(1-Lt)*100]},xt.hwb.hcg=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=1-Bt,Vt=Lt-Mt,zt=0;return Vt<1&&(zt=(Lt-Vt)/(1-Vt)),[Ot[0],Vt*100,zt*100]},xt.apple.rgb=function(Ot){return[Ot[0]/65535*255,Ot[1]/65535*255,Ot[2]/65535*255]},xt.rgb.apple=function(Ot){return[Ot[0]/255*65535,Ot[1]/255*65535,Ot[2]/255*65535]},xt.gray.rgb=function(Ot){return[Ot[0]/100*255,Ot[0]/100*255,Ot[0]/100*255]},xt.gray.hsl=xt.gray.hsv=function(Ot){return[0,0,Ot[0]]},xt.gray.hwb=function(Ot){return[0,100,Ot[0]]},xt.gray.cmyk=function(Ot){return[0,0,0,Ot[0]]},xt.gray.lab=function(Ot){return[Ot[0],0,0]},xt.gray.hex=function(Ot){var Mt=Math.round(Ot[0]/100*255)&255,Bt=(Mt<<16)+(Mt<<8)+Mt,Lt=Bt.toString(16).toUpperCase();return"000000".substring(Lt.length)+Lt},xt.rgb.gray=function(Ot){var Mt=(Ot[0]+Ot[1]+Ot[2])/3;return[Mt/255*100]}},841:(pt,dt,_t)=>{var Ct=_t(959),gt=_t(325),yt={},xt=Object.keys(Ct);function Et(Tt){var Rt=function(Ot){return Ot==null?Ot:(arguments.length>1&&(Ot=Array.prototype.slice.call(arguments)),Tt(Ot))};return"conversion"in Tt&&(Rt.conversion=Tt.conversion),Rt}function It(Tt){var Rt=function(Ot){if(Ot==null)return Ot;arguments.length>1&&(Ot=Array.prototype.slice.call(arguments));var Mt=Tt(Ot);if(typeof Mt=="object")for(var Bt=Mt.length,Lt=0;Lt{pt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},325:(pt,dt,_t)=>{var Ct=_t(959);function gt(){for(var It={},Tt=Object.keys(Ct),Rt=Tt.length,Ot=0;Ot{pt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},804:(pt,dt,_t)=>{var Ct=_t(103),gt=_t(47),yt=Object.hasOwnProperty,xt={};for(var Et in Ct)yt.call(Ct,Et)&&(xt[Ct[Et]]=Et);var It=pt.exports={to:{},get:{}};It.get=function(Ot){var Mt=Ot.substring(0,3).toLowerCase(),Bt,Lt;switch(Mt){case"hsl":Bt=It.get.hsl(Ot),Lt="hsl";break;case"hwb":Bt=It.get.hwb(Ot),Lt="hwb";break;default:Bt=It.get.rgb(Ot),Lt="rgb";break}return Bt?{model:Lt,value:Bt}:null},It.get.rgb=function(Ot){if(!Ot)return null;var Mt=/^#([a-f0-9]{3,4})$/i,Bt=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,Lt=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,Vt=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,zt=/^(\w+)$/,Nt=[0,0,0,1],Wt,Jt,nr;if(Wt=Ot.match(Bt)){for(nr=Wt[2],Wt=Wt[1],Jt=0;Jt<3;Jt++){var er=Jt*2;Nt[Jt]=parseInt(Wt.slice(er,er+2),16)}nr&&(Nt[3]=parseInt(nr,16)/255)}else if(Wt=Ot.match(Mt)){for(Wt=Wt[1],nr=Wt[3],Jt=0;Jt<3;Jt++)Nt[Jt]=parseInt(Wt[Jt]+Wt[Jt],16);nr&&(Nt[3]=parseInt(nr+nr,16)/255)}else if(Wt=Ot.match(Lt)){for(Jt=0;Jt<3;Jt++)Nt[Jt]=parseInt(Wt[Jt+1],0);Wt[4]&&(Wt[5]?Nt[3]=parseFloat(Wt[4])*.01:Nt[3]=parseFloat(Wt[4]))}else if(Wt=Ot.match(Vt)){for(Jt=0;Jt<3;Jt++)Nt[Jt]=Math.round(parseFloat(Wt[Jt+1])*2.55);Wt[4]&&(Wt[5]?Nt[3]=parseFloat(Wt[4])*.01:Nt[3]=parseFloat(Wt[4]))}else return(Wt=Ot.match(zt))?Wt[1]==="transparent"?[0,0,0,0]:yt.call(Ct,Wt[1])?(Nt=Ct[Wt[1]],Nt[3]=1,Nt):null:null;for(Jt=0;Jt<3;Jt++)Nt[Jt]=Tt(Nt[Jt],0,255);return Nt[3]=Tt(Nt[3],0,1),Nt},It.get.hsl=function(Ot){if(!Ot)return null;var Mt=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,Bt=Ot.match(Mt);if(Bt){var Lt=parseFloat(Bt[4]),Vt=(parseFloat(Bt[1])%360+360)%360,zt=Tt(parseFloat(Bt[2]),0,100),Nt=Tt(parseFloat(Bt[3]),0,100),Wt=Tt(isNaN(Lt)?1:Lt,0,1);return[Vt,zt,Nt,Wt]}return null},It.get.hwb=function(Ot){if(!Ot)return null;var Mt=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,Bt=Ot.match(Mt);if(Bt){var Lt=parseFloat(Bt[4]),Vt=(parseFloat(Bt[1])%360+360)%360,zt=Tt(parseFloat(Bt[2]),0,100),Nt=Tt(parseFloat(Bt[3]),0,100),Wt=Tt(isNaN(Lt)?1:Lt,0,1);return[Vt,zt,Nt,Wt]}return null},It.to.hex=function(){var Ot=gt(arguments);return"#"+Rt(Ot[0])+Rt(Ot[1])+Rt(Ot[2])+(Ot[3]<1?Rt(Math.round(Ot[3]*255)):"")},It.to.rgb=function(){var Ot=gt(arguments);return Ot.length<4||Ot[3]===1?"rgb("+Math.round(Ot[0])+", "+Math.round(Ot[1])+", "+Math.round(Ot[2])+")":"rgba("+Math.round(Ot[0])+", "+Math.round(Ot[1])+", "+Math.round(Ot[2])+", "+Ot[3]+")"},It.to.rgb.percent=function(){var Ot=gt(arguments),Mt=Math.round(Ot[0]/255*100),Bt=Math.round(Ot[1]/255*100),Lt=Math.round(Ot[2]/255*100);return Ot.length<4||Ot[3]===1?"rgb("+Mt+"%, "+Bt+"%, "+Lt+"%)":"rgba("+Mt+"%, "+Bt+"%, "+Lt+"%, "+Ot[3]+")"},It.to.hsl=function(){var Ot=gt(arguments);return Ot.length<4||Ot[3]===1?"hsl("+Ot[0]+", "+Ot[1]+"%, "+Ot[2]+"%)":"hsla("+Ot[0]+", "+Ot[1]+"%, "+Ot[2]+"%, "+Ot[3]+")"},It.to.hwb=function(){var Ot=gt(arguments),Mt="";return Ot.length>=4&&Ot[3]!==1&&(Mt=", "+Ot[3]),"hwb("+Ot[0]+", "+Ot[1]+"%, "+Ot[2]+"%"+Mt+")"},It.to.keyword=function(Ot){return xt[Ot.slice(0,3)]};function Tt(Ot,Mt,Bt){return Math.min(Math.max(Mt,Ot),Bt)}function Rt(Ot){var Mt=Math.round(Ot).toString(16).toUpperCase();return Mt.length<2?"0"+Mt:Mt}},346:(pt,dt,_t)=>{var Ct=_t(804),gt=_t(841),yt=[].slice,xt=["keyword","gray","hex"],Et={};Object.keys(gt).forEach(function(zt){Et[yt.call(gt[zt].labels).sort().join("")]=zt});var It={};function Tt(zt,Nt){if(!(this instanceof Tt))return new Tt(zt,Nt);if(Nt&&Nt in xt&&(Nt=null),Nt&&!(Nt in gt))throw new Error("Unknown model: "+Nt);var Wt,Jt;if(zt==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(zt instanceof Tt)this.model=zt.model,this.color=zt.color.slice(),this.valpha=zt.valpha;else if(typeof zt=="string"){var nr=Ct.get(zt);if(nr===null)throw new Error("Unable to parse color from string: "+zt);this.model=nr.model,Jt=gt[this.model].channels,this.color=nr.value.slice(0,Jt),this.valpha=typeof nr.value[Jt]=="number"?nr.value[Jt]:1}else if(zt.length){this.model=Nt||"rgb",Jt=gt[this.model].channels;var er=yt.call(zt,0,Jt);this.color=Vt(er,Jt),this.valpha=typeof zt[Jt]=="number"?zt[Jt]:1}else if(typeof zt=="number")zt&=16777215,this.model="rgb",this.color=[zt>>16&255,zt>>8&255,zt&255],this.valpha=1;else{this.valpha=1;var Xt=Object.keys(zt);"alpha"in zt&&(Xt.splice(Xt.indexOf("alpha"),1),this.valpha=typeof zt.alpha=="number"?zt.alpha:0);var tr=Xt.sort().join("");if(!(tr in Et))throw new Error("Unable to parse color from object: "+JSON.stringify(zt));this.model=Et[tr];var Zt=gt[this.model].labels,Gt=[];for(Wt=0;WtWt?(Nt+.05)/(Wt+.05):(Wt+.05)/(Nt+.05)},level:function(zt){var Nt=this.contrast(zt);return Nt>=7.1?"AAA":Nt>=4.5?"AA":""},isDark:function(){var zt=this.rgb().color,Nt=(zt[0]*299+zt[1]*587+zt[2]*114)/1e3;return Nt<128},isLight:function(){return!this.isDark()},negate:function(){for(var zt=this.rgb(),Nt=0;Nt<3;Nt++)zt.color[Nt]=255-zt.color[Nt];return zt},lighten:function(zt){var Nt=this.hsl();return Nt.color[2]+=Nt.color[2]*zt,Nt},darken:function(zt){var Nt=this.hsl();return Nt.color[2]-=Nt.color[2]*zt,Nt},saturate:function(zt){var Nt=this.hsl();return Nt.color[1]+=Nt.color[1]*zt,Nt},desaturate:function(zt){var Nt=this.hsl();return Nt.color[1]-=Nt.color[1]*zt,Nt},whiten:function(zt){var Nt=this.hwb();return Nt.color[1]+=Nt.color[1]*zt,Nt},blacken:function(zt){var Nt=this.hwb();return Nt.color[2]+=Nt.color[2]*zt,Nt},grayscale:function(){var zt=this.rgb().color,Nt=zt[0]*.3+zt[1]*.59+zt[2]*.11;return Tt.rgb(Nt,Nt,Nt)},fade:function(zt){return this.alpha(this.valpha-this.valpha*zt)},opaquer:function(zt){return this.alpha(this.valpha+this.valpha*zt)},rotate:function(zt){var Nt=this.hsl(),Wt=Nt.color[0];return Wt=(Wt+zt)%360,Wt=Wt<0?360+Wt:Wt,Nt.color[0]=Wt,Nt},mix:function(zt,Nt){if(!zt||!zt.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof zt);var Wt=zt.rgb(),Jt=this.rgb(),nr=Nt===void 0?.5:Nt,er=2*nr-1,Xt=Wt.alpha()-Jt.alpha(),tr=((er*Xt===-1?er:(er+Xt)/(1+er*Xt))+1)/2,Zt=1-tr;return Tt.rgb(tr*Wt.red()+Zt*Jt.red(),tr*Wt.green()+Zt*Jt.green(),tr*Wt.blue()+Zt*Jt.blue(),Wt.alpha()*nr+Jt.alpha()*(1-nr))}},Object.keys(gt).forEach(function(zt){if(xt.indexOf(zt)===-1){var Nt=gt[zt].channels;Tt.prototype[zt]=function(){if(this.model===zt)return new Tt(this);if(arguments.length)return new Tt(arguments,zt);var Wt=typeof arguments[Nt]=="number"?Nt:this.valpha;return new Tt(Lt(gt[this.model][zt].raw(this.color)).concat(Wt),zt)},Tt[zt]=function(Wt){return typeof Wt=="number"&&(Wt=Vt(yt.call(arguments),Nt)),new Tt(Wt,zt)}}});function Rt(zt,Nt){return Number(zt.toFixed(Nt))}function Ot(zt){return function(Nt){return Rt(Nt,zt)}}function Mt(zt,Nt,Wt){return zt=Array.isArray(zt)?zt:[zt],zt.forEach(function(Jt){(It[Jt]||(It[Jt]=[]))[Nt]=Wt}),zt=zt[0],function(Jt){var nr;return arguments.length?(Wt&&(Jt=Wt(Jt)),nr=this[zt](),nr.color[Nt]=Jt,nr):(nr=this[zt]().color[Nt],Wt&&(nr=Wt(nr)),nr)}}function Bt(zt){return function(Nt){return Math.max(0,Math.min(zt,Nt))}}function Lt(zt){return Array.isArray(zt)?zt:[zt]}function Vt(zt,Nt){for(var Wt=0;Wt{var Ct="Expected a function",gt=NaN,yt="[object Symbol]",xt=/^\s+|\s+$/g,Et=/^[-+]0x[0-9a-f]+$/i,It=/^0b[01]+$/i,Tt=/^0o[0-7]+$/i,Rt=parseInt,Ot=typeof _t.g=="object"&&_t.g&&_t.g.Object===Object&&_t.g,Mt=typeof self=="object"&&self&&self.Object===Object&&self,Bt=Ot||Mt||Function("return this")(),Lt=Object.prototype,Vt=Lt.toString,zt=Math.max,Nt=Math.min,Wt=function(){return Bt.Date.now()};function Jt(Zt,Gt,Ft){var jt,qt,or,fr,dr,vr,Er=0,mr=!1,Or=!1,Lr=!0;if(typeof Zt!="function")throw new TypeError(Ct);Gt=tr(Gt)||0,nr(Ft)&&(mr=!!Ft.leading,Or="maxWait"in Ft,or=Or?zt(tr(Ft.maxWait)||0,Gt):or,Lr="trailing"in Ft?!!Ft.trailing:Lr);function na(tn){var Vr=jt,Kr=qt;return jt=qt=void 0,Er=tn,fr=Zt.apply(Kr,Vr),fr}function ba(tn){return Er=tn,dr=setTimeout(ur,Gt),mr?na(tn):fr}function qr(tn){var Vr=tn-vr,Kr=tn-Er,_n=Gt-Vr;return Or?Nt(_n,or-Kr):_n}function Pr(tn){var Vr=tn-vr,Kr=tn-Er;return vr===void 0||Vr>=Gt||Vr<0||Or&&Kr>=or}function ur(){var tn=Wt();if(Pr(tn))return Sr(tn);dr=setTimeout(ur,qr(tn))}function Sr(tn){return dr=void 0,Lr&&jt?na(tn):(jt=qt=void 0,fr)}function jr(){dr!==void 0&&clearTimeout(dr),Er=0,jt=vr=qt=dr=void 0}function Dr(){return dr===void 0?fr:Sr(Wt())}function Cr(){var tn=Wt(),Vr=Pr(tn);if(jt=arguments,qt=this,vr=tn,Vr){if(dr===void 0)return ba(vr);if(Or)return dr=setTimeout(ur,Gt),na(vr)}return dr===void 0&&(dr=setTimeout(ur,Gt)),fr}return Cr.cancel=jr,Cr.flush=Dr,Cr}function nr(Zt){var Gt=typeof Zt;return!!Zt&&(Gt=="object"||Gt=="function")}function er(Zt){return!!Zt&&typeof Zt=="object"}function Xt(Zt){return typeof Zt=="symbol"||er(Zt)&&Vt.call(Zt)==yt}function tr(Zt){if(typeof Zt=="number")return Zt;if(Xt(Zt))return gt;if(nr(Zt)){var Gt=typeof Zt.valueOf=="function"?Zt.valueOf():Zt;Zt=nr(Gt)?Gt+"":Gt}if(typeof Zt!="string")return Zt===0?Zt:+Zt;Zt=Zt.replace(xt,"");var Ft=It.test(Zt);return Ft||Tt.test(Zt)?Rt(Zt.slice(2),Ft?2:8):Et.test(Zt)?gt:+Zt}pt.exports=Jt},572:(pt,dt,_t)=>{pt=_t.nmd(pt);var Ct=200,gt="Expected a function",yt="__lodash_hash_undefined__",xt=1,Et=2,It=1/0,Tt=9007199254740991,Rt="[object Arguments]",Ot="[object Array]",Mt="[object Boolean]",Bt="[object Date]",Lt="[object Error]",Vt="[object Function]",zt="[object GeneratorFunction]",Nt="[object Map]",Wt="[object Number]",Jt="[object Object]",nr="[object Promise]",er="[object RegExp]",Xt="[object Set]",tr="[object String]",Zt="[object Symbol]",Gt="[object WeakMap]",Ft="[object ArrayBuffer]",jt="[object DataView]",qt="[object Float32Array]",or="[object Float64Array]",fr="[object Int8Array]",dr="[object Int16Array]",vr="[object Int32Array]",Er="[object Uint8Array]",mr="[object Uint8ClampedArray]",Or="[object Uint16Array]",Lr="[object Uint32Array]",na=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ba=/^\w*$/,qr=/^\./,Pr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ur=/[\\^$.*+?()[\]{}|]/g,Sr=/\\(\\)?/g,jr=/^\[object .+?Constructor\]$/,Dr=/^(?:0|[1-9]\d*)$/,Cr={};Cr[qt]=Cr[or]=Cr[fr]=Cr[dr]=Cr[vr]=Cr[Er]=Cr[mr]=Cr[Or]=Cr[Lr]=!0,Cr[Rt]=Cr[Ot]=Cr[Ft]=Cr[Mt]=Cr[jt]=Cr[Bt]=Cr[Lt]=Cr[Vt]=Cr[Nt]=Cr[Wt]=Cr[Jt]=Cr[er]=Cr[Xt]=Cr[tr]=Cr[Gt]=!1;var tn=typeof _t.g=="object"&&_t.g&&_t.g.Object===Object&&_t.g,Vr=typeof self=="object"&&self&&self.Object===Object&&self,Kr=tn||Vr||Function("return this")(),_n=dt&&!dt.nodeType&&dt,$n=_n&&!0&&pt&&!pt.nodeType&&pt,gn=$n&&$n.exports===_n,Nn=gn&&tn.process,kn=function(){try{return Nn&&Nn.binding("util")}catch(Ut){}}(),cn=kn&&kn.isTypedArray;function s0(Ut,ir,yr,Mr){for(var Hr=-1,Yr=Ut?Ut.length:0;++Hr-1}function Is(Ut,ir){var yr=this.__data__,Mr=Jo(yr,Ut);return Mr<0?yr.push([Ut,ir]):yr[Mr][1]=ir,this}T0.prototype.clear=w0,T0.prototype.delete=bo,T0.prototype.get=Os,T0.prototype.has=Kl,T0.prototype.set=Is;function u0(Ut){var ir=-1,yr=Ut?Ut.length:0;for(this.clear();++irEn))return!1;var Jn=Yr.get(Ut);if(Jn&&Yr.get(ir))return Jn==ir;var i0=-1,o0=!0,d0=Hr&xt?new No:void 0;for(Yr.set(Ut,ir),Yr.set(ir,Ut);++i0-1&&Ut%1==0&&Ut-1&&Ut%1==0&&Ut<=Tt}function an(Ut){var ir=typeof Ut;return!!Ut&&(ir=="object"||ir=="function")}function Fn(Ut){return!!Ut&&typeof Ut=="object"}function n0(Ut){return typeof Ut=="symbol"||Fn(Ut)&&W0.call(Ut)==Zt}var A0=cn?_a(cn):L2;function L0(Ut){return Ut==null?"":F2(Ut)}function q0(Ut,ir,yr){var Mr=Ut==null?void 0:Us(Ut,ir);return Mr===void 0?yr:Mr}function S0(Ut,ir){return Ut!=null&&Mo(Ut,ir,a2)}function p0(Ut){return gr(Ut)?Ys(Ut):us(Ut)}function lo(Ut){return Ut}function lr(Ut){return Ls(Ut)?rn(Bo(Ut)):f0(Ut)}pt.exports=l2},343:(pt,dt,_t)=>{pt=_t.nmd(pt);var Ct=200,gt="Expected a function",yt="__lodash_hash_undefined__",xt=1,Et=2,It=1/0,Tt=9007199254740991,Rt="[object Arguments]",Ot="[object Array]",Mt="[object Boolean]",Bt="[object Date]",Lt="[object Error]",Vt="[object Function]",zt="[object GeneratorFunction]",Nt="[object Map]",Wt="[object Number]",Jt="[object Object]",nr="[object Promise]",er="[object RegExp]",Xt="[object Set]",tr="[object String]",Zt="[object Symbol]",Gt="[object WeakMap]",Ft="[object ArrayBuffer]",jt="[object DataView]",qt="[object Float32Array]",or="[object Float64Array]",fr="[object Int8Array]",dr="[object Int16Array]",vr="[object Int32Array]",Er="[object Uint8Array]",mr="[object Uint8ClampedArray]",Or="[object Uint16Array]",Lr="[object Uint32Array]",na=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ba=/^\w*$/,qr=/^\./,Pr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ur=/[\\^$.*+?()[\]{}|]/g,Sr=/\\(\\)?/g,jr=/^\[object .+?Constructor\]$/,Dr=/^(?:0|[1-9]\d*)$/,Cr={};Cr[qt]=Cr[or]=Cr[fr]=Cr[dr]=Cr[vr]=Cr[Er]=Cr[mr]=Cr[Or]=Cr[Lr]=!0,Cr[Rt]=Cr[Ot]=Cr[Ft]=Cr[Mt]=Cr[jt]=Cr[Bt]=Cr[Lt]=Cr[Vt]=Cr[Nt]=Cr[Wt]=Cr[Jt]=Cr[er]=Cr[Xt]=Cr[tr]=Cr[Gt]=!1;var tn=typeof _t.g=="object"&&_t.g&&_t.g.Object===Object&&_t.g,Vr=typeof self=="object"&&self&&self.Object===Object&&self,Kr=tn||Vr||Function("return this")(),_n=dt&&!dt.nodeType&&dt,$n=_n&&!0&&pt&&!pt.nodeType&&pt,gn=$n&&$n.exports===_n,Nn=gn&&tn.process,kn=function(){try{return Nn&&Nn.binding("util")}catch(lr){}}(),cn=kn&&kn.isTypedArray;function s0(lr,Ut){for(var ir=-1,yr=lr?lr.length:0,Mr=Array(yr);++ir-1}function Is(lr,Ut){var ir=this.__data__,yr=Jo(ir,lr);return yr<0?ir.push([lr,Ut]):ir[yr][1]=Ut,this}T0.prototype.clear=w0,T0.prototype.delete=bo,T0.prototype.get=Os,T0.prototype.has=Kl,T0.prototype.set=Is;function u0(lr){var Ut=-1,ir=lr?lr.length:0;for(this.clear();++Utln))return!1;var yn=Hr.get(lr);if(yn&&Hr.get(Ut))return yn==Ut;var Jn=-1,i0=!0,o0=Mr&xt?new No:void 0;for(Hr.set(lr,Ut),Hr.set(Ut,lr);++Jn-1&&lr%1==0&&lr-1&&lr%1==0&&lr<=Tt}function pn(lr){var Ut=typeof lr;return!!lr&&(Ut=="object"||Ut=="function")}function an(lr){return!!lr&&typeof lr=="object"}function Fn(lr){return typeof lr=="symbol"||an(lr)&&W0.call(lr)==Zt}var n0=cn?_a(cn):Ll;function A0(lr){return lr==null?"":F2(lr)}function L0(lr,Ut,ir){var yr=lr==null?void 0:r2(lr,Ut);return yr===void 0?ir:yr}function q0(lr,Ut){return lr!=null&&Vo(lr,Ut,B2)}function S0(lr){return sr(lr)?Ys(lr):Ps(lr)}function p0(lr){return lr}function lo(lr){return U0(lr)?rn(io(lr)):f0(lr)}pt.exports=Q0},262:(pt,dt,_t)=>{var Ct=_t(586);function gt(){}function yt(){}yt.resetWarningCache=gt,pt.exports=function(){function xt(Tt,Rt,Ot,Mt,Bt,Lt){if(Lt!==Ct){var Vt=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw Vt.name="Invariant Violation",Vt}}xt.isRequired=xt;function Et(){return xt}var It={array:xt,bigint:xt,bool:xt,func:xt,number:xt,object:xt,string:xt,symbol:xt,any:xt,arrayOf:Et,element:xt,elementType:xt,instanceOf:Et,node:xt,objectOf:Et,oneOf:Et,oneOfType:Et,shape:Et,exact:Et,checkPropTypes:yt,resetWarningCache:gt};return It.PropTypes=It,It}},980:(pt,dt,_t)=>{pt.exports=_t(262)()},586:pt=>{var dt="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";pt.exports=dt},129:(pt,dt,_t)=>{Object.defineProperty(dt,"__esModule",{value:!0}),dt.DebounceInput=void 0;var Ct=yt(_t(156)),gt=yt(_t(594));function yt(tr){return tr&&tr.__esModule?tr:{default:tr}}function xt(tr){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?xt=function(Zt){return typeof Zt}:xt=function(Zt){return Zt&&typeof Symbol=="function"&&Zt.constructor===Symbol&&Zt!==Symbol.prototype?"symbol":typeof Zt},xt(tr)}function Et(tr,Zt){if(tr==null)return{};var Gt=It(tr,Zt),Ft,jt;if(Object.getOwnPropertySymbols){var qt=Object.getOwnPropertySymbols(tr);for(jt=0;jt=0)&&(!Object.prototype.propertyIsEnumerable.call(tr,Ft)||(Gt[Ft]=tr[Ft]))}return Gt}function It(tr,Zt){if(tr==null)return{};var Gt={},Ft=Object.keys(tr),jt,qt;for(qt=0;qt=0)&&(Gt[jt]=tr[jt]);return Gt}function Tt(tr,Zt){var Gt=Object.keys(tr);if(Object.getOwnPropertySymbols){var Ft=Object.getOwnPropertySymbols(tr);Zt&&(Ft=Ft.filter(function(jt){return Object.getOwnPropertyDescriptor(tr,jt).enumerable})),Gt.push.apply(Gt,Ft)}return Gt}function Rt(tr){for(var Zt=1;Zt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(tr){return!1}}function nr(tr){return nr=Object.setPrototypeOf?Object.getPrototypeOf:function(Zt){return Zt.__proto__||Object.getPrototypeOf(Zt)},nr(tr)}function er(tr,Zt,Gt){return Zt in tr?Object.defineProperty(tr,Zt,{value:Gt,enumerable:!0,configurable:!0,writable:!0}):tr[Zt]=Gt,tr}var Xt=function(tr){Lt(Gt,tr);var Zt=zt(Gt);function Gt(Ft){var jt;Ot(this,Gt),jt=Zt.call(this,Ft),er(Wt(jt),"onChange",function(or){or.persist();var fr=jt.state.value,dr=jt.props.minLength;jt.setState({value:or.target.value},function(){var vr=jt.state.value;if(vr.length>=dr){jt.notify(or);return}fr.length>vr.length&&jt.notify(Rt(Rt({},or),{},{target:Rt(Rt({},or.target),{},{value:""})}))})}),er(Wt(jt),"onKeyDown",function(or){or.key==="Enter"&&jt.forceNotify(or);var fr=jt.props.onKeyDown;fr&&(or.persist(),fr(or))}),er(Wt(jt),"onBlur",function(or){jt.forceNotify(or);var fr=jt.props.onBlur;fr&&(or.persist(),fr(or))}),er(Wt(jt),"createNotifier",function(or){if(or<0)jt.notify=function(){return null};else if(or===0)jt.notify=jt.doNotify;else{var fr=(0,gt.default)(function(dr){jt.isDebouncing=!1,jt.doNotify(dr)},or);jt.notify=function(dr){jt.isDebouncing=!0,fr(dr)},jt.flush=function(){return fr.flush()},jt.cancel=function(){jt.isDebouncing=!1,fr.cancel()}}}),er(Wt(jt),"doNotify",function(){var or=jt.props.onChange;or.apply(void 0,arguments)}),er(Wt(jt),"forceNotify",function(or){var fr=jt.props.debounceTimeout;if(!(!jt.isDebouncing&&fr>0)){jt.cancel&&jt.cancel();var dr=jt.state.value,vr=jt.props.minLength;dr.length>=vr?jt.doNotify(or):jt.doNotify(Rt(Rt({},or),{},{target:Rt(Rt({},or.target),{},{value:dr})}))}}),jt.isDebouncing=!1,jt.state={value:typeof Ft.value>"u"||Ft.value===null?"":Ft.value};var qt=jt.props.debounceTimeout;return jt.createNotifier(qt),jt}return Bt(Gt,[{key:"componentDidUpdate",value:function(Ft){if(!this.isDebouncing){var jt=this.props,qt=jt.value,or=jt.debounceTimeout,fr=Ft.debounceTimeout,dr=Ft.value,vr=this.state.value;typeof qt<"u"&&dr!==qt&&vr!==qt&&this.setState({value:qt}),or!==fr&&this.createNotifier(or)}}},{key:"componentWillUnmount",value:function(){this.flush&&this.flush()}},{key:"render",value:function(){var Ft=this.props,jt=Ft.element;Ft.onChange,Ft.value,Ft.minLength,Ft.debounceTimeout;var qt=Ft.forceNotifyByEnter,or=Ft.forceNotifyOnBlur,fr=Ft.onKeyDown,dr=Ft.onBlur,vr=Ft.inputRef,Er=Et(Ft,["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"]),mr=this.state.value,Or;qt?Or={onKeyDown:this.onKeyDown}:fr?Or={onKeyDown:fr}:Or={};var Lr;or?Lr={onBlur:this.onBlur}:dr?Lr={onBlur:dr}:Lr={};var na=vr?{ref:vr}:{};return Ct.default.createElement(jt,Rt(Rt(Rt(Rt({},Er),{},{onChange:this.onChange,value:mr},Or),Lr),na))}}]),Gt}(Ct.default.PureComponent);dt.DebounceInput=Xt,er(Xt,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},912:(pt,dt,_t)=>{var Ct=_t(129),gt=Ct.DebounceInput;gt.DebounceInput=gt,pt.exports=gt},424:(pt,dt,_t)=>{function Ct(It){return It&&typeof It=="object"&&"default"in It?It.default:It}var gt=Ct(_t(156)),yt=Ct(_t(980));function xt(It){return It==="fast"?600:It==="slow"?900:750}var Et=function(It){var Tt=It.color,Rt=It.speed,Ot=It.gap,Mt=It.thickness,Bt=It.size,Lt=function(Vt,zt){var Nt={};for(var Wt in Vt)Object.prototype.hasOwnProperty.call(Vt,Wt)&&zt.indexOf(Wt)===-1&&(Nt[Wt]=Vt[Wt]);return Nt}(It,["color","speed","gap","thickness","size"]);return gt.createElement("svg",Object.assign({},{height:Bt,width:Bt},Lt,{style:{animationDuration:xt(Rt)+"ms"},className:"__react-svg-spinner_circle",role:"img","aria-labelledby":"title desc",viewBox:"0 0 32 32"}),gt.createElement("title",{id:"title"},"Circle loading spinner"),gt.createElement("desc",{id:"desc"},'Image of a partial circle indicating "loading."'),gt.createElement("style",{dangerouslySetInnerHTML:{__html:` +*/(function(){var gt={}.hasOwnProperty;function wt(){for(var _t=[],Et=0;Et{var Ct=xt(351),gt={};for(var wt in Ct)Ct.hasOwnProperty(wt)&&(gt[Ct[wt]]=wt);var _t=bt.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var Et in _t)if(_t.hasOwnProperty(Et)){if(!("channels"in _t[Et]))throw new Error("missing channels property: "+Et);if(!("labels"in _t[Et]))throw new Error("missing channel labels property: "+Et);if(_t[Et].labels.length!==_t[Et].channels)throw new Error("channel and label counts mismatch: "+Et);var It=_t[Et].channels,Tt=_t[Et].labels;delete _t[Et].channels,delete _t[Et].labels,Object.defineProperty(_t[Et],"channels",{value:It}),Object.defineProperty(_t[Et],"labels",{value:Tt})}_t.rgb.hsl=function(Ot){var Mt=Ot[0]/255,Bt=Ot[1]/255,Lt=Ot[2]/255,jt=Math.min(Mt,Bt,Lt),zt=Math.max(Mt,Bt,Lt),Nt=zt-jt,Wt,qt,nr;return zt===jt?Wt=0:Mt===zt?Wt=(Bt-Lt)/Nt:Bt===zt?Wt=2+(Lt-Mt)/Nt:Lt===zt&&(Wt=4+(Mt-Bt)/Nt),Wt=Math.min(Wt*60,360),Wt<0&&(Wt+=360),nr=(jt+zt)/2,zt===jt?qt=0:nr<=.5?qt=Nt/(zt+jt):qt=Nt/(2-zt-jt),[Wt,qt*100,nr*100]},_t.rgb.hsv=function(Ot){var Mt,Bt,Lt,jt,zt,Nt=Ot[0]/255,Wt=Ot[1]/255,qt=Ot[2]/255,nr=Math.max(Nt,Wt,qt),ar=nr-Math.min(Nt,Wt,qt),Kt=function(er){return(nr-er)/6/ar+1/2};return ar===0?jt=zt=0:(zt=ar/nr,Mt=Kt(Nt),Bt=Kt(Wt),Lt=Kt(qt),Nt===nr?jt=Lt-Bt:Wt===nr?jt=.3333333333333333+Mt-Lt:qt===nr&&(jt=.6666666666666666+Bt-Mt),jt<0?jt+=1:jt>1&&(jt-=1)),[jt*360,zt*100,nr*100]},_t.rgb.hwb=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],jt=_t.rgb.hsl(Ot)[0],zt=1/255*Math.min(Mt,Math.min(Bt,Lt));return Lt=1-.00392156862745098*Math.max(Mt,Math.max(Bt,Lt)),[jt,zt*100,Lt*100]},_t.rgb.cmyk=function(Ot){var Mt=Ot[0]/255,Bt=Ot[1]/255,Lt=Ot[2]/255,jt,zt,Nt,Wt;return Wt=Math.min(1-Mt,1-Bt,1-Lt),jt=(1-Mt-Wt)/(1-Wt)||0,zt=(1-Bt-Wt)/(1-Wt)||0,Nt=(1-Lt-Wt)/(1-Wt)||0,[jt*100,zt*100,Nt*100,Wt*100]};function Rt(Ot,Mt){return Math.pow(Ot[0]-Mt[0],2)+Math.pow(Ot[1]-Mt[1],2)+Math.pow(Ot[2]-Mt[2],2)}_t.rgb.keyword=function(Ot){var Mt=gt[Ot];if(Mt)return Mt;var Bt=1/0,Lt;for(var jt in Ct)if(Ct.hasOwnProperty(jt)){var zt=Ct[jt],Nt=Rt(Ot,zt);Nt.04045?Math.pow((Mt+.055)/1.055,2.4):Mt/12.92,Bt=Bt>.04045?Math.pow((Bt+.055)/1.055,2.4):Bt/12.92,Lt=Lt>.04045?Math.pow((Lt+.055)/1.055,2.4):Lt/12.92;var jt=Mt*.4124+Bt*.3576+Lt*.1805,zt=Mt*.2126+Bt*.7152+Lt*.0722,Nt=Mt*.0193+Bt*.1192+Lt*.9505;return[jt*100,zt*100,Nt*100]},_t.rgb.lab=function(Ot){var Mt=_t.rgb.xyz(Ot),Bt=Mt[0],Lt=Mt[1],jt=Mt[2],zt,Nt,Wt;return Bt/=95.047,Lt/=100,jt/=108.883,Bt=Bt>.008856?Math.pow(Bt,.3333333333333333):7.787*Bt+.13793103448275862,Lt=Lt>.008856?Math.pow(Lt,.3333333333333333):7.787*Lt+.13793103448275862,jt=jt>.008856?Math.pow(jt,.3333333333333333):7.787*jt+.13793103448275862,zt=116*Lt-16,Nt=500*(Bt-Lt),Wt=200*(Lt-jt),[zt,Nt,Wt]},_t.hsl.rgb=function(Ot){var Mt=Ot[0]/360,Bt=Ot[1]/100,Lt=Ot[2]/100,jt,zt,Nt,Wt,qt;if(Bt===0)return qt=Lt*255,[qt,qt,qt];Lt<.5?zt=Lt*(1+Bt):zt=Lt+Bt-Lt*Bt,jt=2*Lt-zt,Wt=[0,0,0];for(var nr=0;nr<3;nr++)Nt=Mt+.3333333333333333*-(nr-1),Nt<0&&Nt++,Nt>1&&Nt--,6*Nt<1?qt=jt+(zt-jt)*6*Nt:2*Nt<1?qt=zt:3*Nt<2?qt=jt+(zt-jt)*(.6666666666666666-Nt)*6:qt=jt,Wt[nr]=qt*255;return Wt},_t.hsl.hsv=function(Ot){var Mt=Ot[0],Bt=Ot[1]/100,Lt=Ot[2]/100,jt=Bt,zt=Math.max(Lt,.01),Nt,Wt;return Lt*=2,Bt*=Lt<=1?Lt:2-Lt,jt*=zt<=1?zt:2-zt,Wt=(Lt+Bt)/2,Nt=Lt===0?2*jt/(zt+jt):2*Bt/(Lt+Bt),[Mt,Nt*100,Wt*100]},_t.hsv.rgb=function(Ot){var Mt=Ot[0]/60,Bt=Ot[1]/100,Lt=Ot[2]/100,jt=Math.floor(Mt)%6,zt=Mt-Math.floor(Mt),Nt=255*Lt*(1-Bt),Wt=255*Lt*(1-Bt*zt),qt=255*Lt*(1-Bt*(1-zt));switch(Lt*=255,jt){case 0:return[Lt,qt,Nt];case 1:return[Wt,Lt,Nt];case 2:return[Nt,Lt,qt];case 3:return[Nt,Wt,Lt];case 4:return[qt,Nt,Lt];case 5:return[Lt,Nt,Wt]}},_t.hsv.hsl=function(Ot){var Mt=Ot[0],Bt=Ot[1]/100,Lt=Ot[2]/100,jt=Math.max(Lt,.01),zt,Nt,Wt;return Wt=(2-Bt)*Lt,zt=(2-Bt)*jt,Nt=Bt*jt,Nt/=zt<=1?zt:2-zt,Nt=Nt||0,Wt/=2,[Mt,Nt*100,Wt*100]},_t.hwb.rgb=function(Ot){var Mt=Ot[0]/360,Bt=Ot[1]/100,Lt=Ot[2]/100,jt=Bt+Lt,zt,Nt,Wt,qt;jt>1&&(Bt/=jt,Lt/=jt),zt=Math.floor(6*Mt),Nt=1-Lt,Wt=6*Mt-zt,zt&1&&(Wt=1-Wt),qt=Bt+Wt*(Nt-Bt);var nr,ar,Kt;switch(zt){default:case 6:case 0:nr=Nt,ar=qt,Kt=Bt;break;case 1:nr=qt,ar=Nt,Kt=Bt;break;case 2:nr=Bt,ar=Nt,Kt=qt;break;case 3:nr=Bt,ar=qt,Kt=Nt;break;case 4:nr=qt,ar=Bt,Kt=Nt;break;case 5:nr=Nt,ar=Bt,Kt=qt;break}return[nr*255,ar*255,Kt*255]},_t.cmyk.rgb=function(Ot){var Mt=Ot[0]/100,Bt=Ot[1]/100,Lt=Ot[2]/100,jt=Ot[3]/100,zt,Nt,Wt;return zt=1-Math.min(1,Mt*(1-jt)+jt),Nt=1-Math.min(1,Bt*(1-jt)+jt),Wt=1-Math.min(1,Lt*(1-jt)+jt),[zt*255,Nt*255,Wt*255]},_t.xyz.rgb=function(Ot){var Mt=Ot[0]/100,Bt=Ot[1]/100,Lt=Ot[2]/100,jt,zt,Nt;return jt=Mt*3.2406+Bt*-1.5372+Lt*-.4986,zt=Mt*-.9689+Bt*1.8758+Lt*.0415,Nt=Mt*.0557+Bt*-.204+Lt*1.057,jt=jt>.0031308?1.055*Math.pow(jt,.4166666666666667)-.055:jt*12.92,zt=zt>.0031308?1.055*Math.pow(zt,.4166666666666667)-.055:zt*12.92,Nt=Nt>.0031308?1.055*Math.pow(Nt,.4166666666666667)-.055:Nt*12.92,jt=Math.min(Math.max(0,jt),1),zt=Math.min(Math.max(0,zt),1),Nt=Math.min(Math.max(0,Nt),1),[jt*255,zt*255,Nt*255]},_t.xyz.lab=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],jt,zt,Nt;return Mt/=95.047,Bt/=100,Lt/=108.883,Mt=Mt>.008856?Math.pow(Mt,.3333333333333333):7.787*Mt+.13793103448275862,Bt=Bt>.008856?Math.pow(Bt,.3333333333333333):7.787*Bt+.13793103448275862,Lt=Lt>.008856?Math.pow(Lt,.3333333333333333):7.787*Lt+.13793103448275862,jt=116*Bt-16,zt=500*(Mt-Bt),Nt=200*(Bt-Lt),[jt,zt,Nt]},_t.lab.xyz=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],jt,zt,Nt;zt=(Mt+16)/116,jt=Bt/500+zt,Nt=zt-Lt/200;var Wt=Math.pow(zt,3),qt=Math.pow(jt,3),nr=Math.pow(Nt,3);return zt=Wt>.008856?Wt:(zt-.13793103448275862)/7.787,jt=qt>.008856?qt:(jt-.13793103448275862)/7.787,Nt=nr>.008856?nr:(Nt-.13793103448275862)/7.787,jt*=95.047,zt*=100,Nt*=108.883,[jt,zt,Nt]},_t.lab.lch=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],jt,zt,Nt;return jt=Math.atan2(Lt,Bt),zt=jt*360/2/Math.PI,zt<0&&(zt+=360),Nt=Math.sqrt(Bt*Bt+Lt*Lt),[Mt,Nt,zt]},_t.lch.lab=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],jt,zt,Nt;return Nt=Lt/360*2*Math.PI,jt=Bt*Math.cos(Nt),zt=Bt*Math.sin(Nt),[Mt,jt,zt]},_t.rgb.ansi16=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2],jt=1 in arguments?arguments[1]:_t.rgb.hsv(Ot)[2];if(jt=Math.round(jt/50),jt===0)return 30;var zt=30+(Math.round(Lt/255)<<2|Math.round(Bt/255)<<1|Math.round(Mt/255));return jt===2&&(zt+=60),zt},_t.hsv.ansi16=function(Ot){return _t.rgb.ansi16(_t.hsv.rgb(Ot),Ot[2])},_t.rgb.ansi256=function(Ot){var Mt=Ot[0],Bt=Ot[1],Lt=Ot[2];if(Mt===Bt&&Bt===Lt)return Mt<8?16:Mt>248?231:Math.round((Mt-8)/247*24)+232;var jt=16+36*Math.round(Mt/255*5)+6*Math.round(Bt/255*5)+Math.round(Lt/255*5);return jt},_t.ansi16.rgb=function(Ot){var Mt=Ot%10;if(Mt===0||Mt===7)return Ot>50&&(Mt+=3.5),Mt=Mt/10.5*255,[Mt,Mt,Mt];var Bt=(~~(Ot>50)+1)*.5,Lt=(Mt&1)*Bt*255,jt=(Mt>>1&1)*Bt*255,zt=(Mt>>2&1)*Bt*255;return[Lt,jt,zt]},_t.ansi256.rgb=function(Ot){if(Ot>=232){var Mt=(Ot-232)*10+8;return[Mt,Mt,Mt]}Ot-=16;var Bt,Lt=Math.floor(Ot/36)/5*255,jt=Math.floor((Bt=Ot%36)/6)/5*255,zt=Bt%6/5*255;return[Lt,jt,zt]},_t.rgb.hex=function(Ot){var Mt=((Math.round(Ot[0])&255)<<16)+((Math.round(Ot[1])&255)<<8)+(Math.round(Ot[2])&255),Bt=Mt.toString(16).toUpperCase();return"000000".substring(Bt.length)+Bt},_t.hex.rgb=function(Ot){var Mt=Ot.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!Mt)return[0,0,0];var Bt=Mt[0];Mt[0].length===3&&(Bt=Bt.split("").map(function(Wt){return Wt+Wt}).join(""));var Lt=parseInt(Bt,16),jt=Lt>>16&255,zt=Lt>>8&255,Nt=Lt&255;return[jt,zt,Nt]},_t.rgb.hcg=function(Ot){var Mt=Ot[0]/255,Bt=Ot[1]/255,Lt=Ot[2]/255,jt=Math.max(Math.max(Mt,Bt),Lt),zt=Math.min(Math.min(Mt,Bt),Lt),Nt=jt-zt,Wt,qt;return Nt<1?Wt=zt/(1-Nt):Wt=0,Nt<=0?qt=0:jt===Mt?qt=(Bt-Lt)/Nt%6:jt===Bt?qt=2+(Lt-Mt)/Nt:qt=4+(Mt-Bt)/Nt+4,qt/=6,qt%=1,[qt*360,Nt*100,Wt*100]},_t.hsl.hcg=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=1,jt=0;return Bt<.5?Lt=2*Mt*Bt:Lt=2*Mt*(1-Bt),Lt<1&&(jt=(Bt-.5*Lt)/(1-Lt)),[Ot[0],Lt*100,jt*100]},_t.hsv.hcg=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=Mt*Bt,jt=0;return Lt<1&&(jt=(Bt-Lt)/(1-Lt)),[Ot[0],Lt*100,jt*100]},_t.hcg.rgb=function(Ot){var Mt=Ot[0]/360,Bt=Ot[1]/100,Lt=Ot[2]/100;if(Bt===0)return[Lt*255,Lt*255,Lt*255];var jt=[0,0,0],zt=Mt%1*6,Nt=zt%1,Wt=1-Nt,qt=0;switch(Math.floor(zt)){case 0:jt[0]=1,jt[1]=Nt,jt[2]=0;break;case 1:jt[0]=Wt,jt[1]=1,jt[2]=0;break;case 2:jt[0]=0,jt[1]=1,jt[2]=Nt;break;case 3:jt[0]=0,jt[1]=Wt,jt[2]=1;break;case 4:jt[0]=Nt,jt[1]=0,jt[2]=1;break;default:jt[0]=1,jt[1]=0,jt[2]=Wt}return qt=(1-Bt)*Lt,[(Bt*jt[0]+qt)*255,(Bt*jt[1]+qt)*255,(Bt*jt[2]+qt)*255]},_t.hcg.hsv=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=Mt+Bt*(1-Mt),jt=0;return Lt>0&&(jt=Mt/Lt),[Ot[0],jt*100,Lt*100]},_t.hcg.hsl=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=Bt*(1-Mt)+.5*Mt,jt=0;return Lt>0&&Lt<.5?jt=Mt/(2*Lt):Lt>=.5&&Lt<1&&(jt=Mt/(2*(1-Lt))),[Ot[0],jt*100,Lt*100]},_t.hcg.hwb=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=Mt+Bt*(1-Mt);return[Ot[0],(Lt-Mt)*100,(1-Lt)*100]},_t.hwb.hcg=function(Ot){var Mt=Ot[1]/100,Bt=Ot[2]/100,Lt=1-Bt,jt=Lt-Mt,zt=0;return jt<1&&(zt=(Lt-jt)/(1-jt)),[Ot[0],jt*100,zt*100]},_t.apple.rgb=function(Ot){return[Ot[0]/65535*255,Ot[1]/65535*255,Ot[2]/65535*255]},_t.rgb.apple=function(Ot){return[Ot[0]/255*65535,Ot[1]/255*65535,Ot[2]/255*65535]},_t.gray.rgb=function(Ot){return[Ot[0]/100*255,Ot[0]/100*255,Ot[0]/100*255]},_t.gray.hsl=_t.gray.hsv=function(Ot){return[0,0,Ot[0]]},_t.gray.hwb=function(Ot){return[0,100,Ot[0]]},_t.gray.cmyk=function(Ot){return[0,0,0,Ot[0]]},_t.gray.lab=function(Ot){return[Ot[0],0,0]},_t.gray.hex=function(Ot){var Mt=Math.round(Ot[0]/100*255)&255,Bt=(Mt<<16)+(Mt<<8)+Mt,Lt=Bt.toString(16).toUpperCase();return"000000".substring(Lt.length)+Lt},_t.rgb.gray=function(Ot){var Mt=(Ot[0]+Ot[1]+Ot[2])/3;return[Mt/255*100]}},841:(bt,dt,xt)=>{var Ct=xt(959),gt=xt(325),wt={},_t=Object.keys(Ct);function Et(Tt){var Rt=function(Ot){return Ot==null?Ot:(arguments.length>1&&(Ot=Array.prototype.slice.call(arguments)),Tt(Ot))};return"conversion"in Tt&&(Rt.conversion=Tt.conversion),Rt}function It(Tt){var Rt=function(Ot){if(Ot==null)return Ot;arguments.length>1&&(Ot=Array.prototype.slice.call(arguments));var Mt=Tt(Ot);if(typeof Mt=="object")for(var Bt=Mt.length,Lt=0;Lt{bt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},325:(bt,dt,xt)=>{var Ct=xt(959);function gt(){for(var It={},Tt=Object.keys(Ct),Rt=Tt.length,Ot=0;Ot{bt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},804:(bt,dt,xt)=>{var Ct=xt(103),gt=xt(47),wt=Object.hasOwnProperty,_t={};for(var Et in Ct)wt.call(Ct,Et)&&(_t[Ct[Et]]=Et);var It=bt.exports={to:{},get:{}};It.get=function(Ot){var Mt=Ot.substring(0,3).toLowerCase(),Bt,Lt;switch(Mt){case"hsl":Bt=It.get.hsl(Ot),Lt="hsl";break;case"hwb":Bt=It.get.hwb(Ot),Lt="hwb";break;default:Bt=It.get.rgb(Ot),Lt="rgb";break}return Bt?{model:Lt,value:Bt}:null},It.get.rgb=function(Ot){if(!Ot)return null;var Mt=/^#([a-f0-9]{3,4})$/i,Bt=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,Lt=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,jt=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,zt=/^(\w+)$/,Nt=[0,0,0,1],Wt,qt,nr;if(Wt=Ot.match(Bt)){for(nr=Wt[2],Wt=Wt[1],qt=0;qt<3;qt++){var ar=qt*2;Nt[qt]=parseInt(Wt.slice(ar,ar+2),16)}nr&&(Nt[3]=parseInt(nr,16)/255)}else if(Wt=Ot.match(Mt)){for(Wt=Wt[1],nr=Wt[3],qt=0;qt<3;qt++)Nt[qt]=parseInt(Wt[qt]+Wt[qt],16);nr&&(Nt[3]=parseInt(nr+nr,16)/255)}else if(Wt=Ot.match(Lt)){for(qt=0;qt<3;qt++)Nt[qt]=parseInt(Wt[qt+1],0);Wt[4]&&(Wt[5]?Nt[3]=parseFloat(Wt[4])*.01:Nt[3]=parseFloat(Wt[4]))}else if(Wt=Ot.match(jt)){for(qt=0;qt<3;qt++)Nt[qt]=Math.round(parseFloat(Wt[qt+1])*2.55);Wt[4]&&(Wt[5]?Nt[3]=parseFloat(Wt[4])*.01:Nt[3]=parseFloat(Wt[4]))}else return(Wt=Ot.match(zt))?Wt[1]==="transparent"?[0,0,0,0]:wt.call(Ct,Wt[1])?(Nt=Ct[Wt[1]],Nt[3]=1,Nt):null:null;for(qt=0;qt<3;qt++)Nt[qt]=Tt(Nt[qt],0,255);return Nt[3]=Tt(Nt[3],0,1),Nt},It.get.hsl=function(Ot){if(!Ot)return null;var Mt=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,Bt=Ot.match(Mt);if(Bt){var Lt=parseFloat(Bt[4]),jt=(parseFloat(Bt[1])%360+360)%360,zt=Tt(parseFloat(Bt[2]),0,100),Nt=Tt(parseFloat(Bt[3]),0,100),Wt=Tt(isNaN(Lt)?1:Lt,0,1);return[jt,zt,Nt,Wt]}return null},It.get.hwb=function(Ot){if(!Ot)return null;var Mt=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,Bt=Ot.match(Mt);if(Bt){var Lt=parseFloat(Bt[4]),jt=(parseFloat(Bt[1])%360+360)%360,zt=Tt(parseFloat(Bt[2]),0,100),Nt=Tt(parseFloat(Bt[3]),0,100),Wt=Tt(isNaN(Lt)?1:Lt,0,1);return[jt,zt,Nt,Wt]}return null},It.to.hex=function(){var Ot=gt(arguments);return"#"+Rt(Ot[0])+Rt(Ot[1])+Rt(Ot[2])+(Ot[3]<1?Rt(Math.round(Ot[3]*255)):"")},It.to.rgb=function(){var Ot=gt(arguments);return Ot.length<4||Ot[3]===1?"rgb("+Math.round(Ot[0])+", "+Math.round(Ot[1])+", "+Math.round(Ot[2])+")":"rgba("+Math.round(Ot[0])+", "+Math.round(Ot[1])+", "+Math.round(Ot[2])+", "+Ot[3]+")"},It.to.rgb.percent=function(){var Ot=gt(arguments),Mt=Math.round(Ot[0]/255*100),Bt=Math.round(Ot[1]/255*100),Lt=Math.round(Ot[2]/255*100);return Ot.length<4||Ot[3]===1?"rgb("+Mt+"%, "+Bt+"%, "+Lt+"%)":"rgba("+Mt+"%, "+Bt+"%, "+Lt+"%, "+Ot[3]+")"},It.to.hsl=function(){var Ot=gt(arguments);return Ot.length<4||Ot[3]===1?"hsl("+Ot[0]+", "+Ot[1]+"%, "+Ot[2]+"%)":"hsla("+Ot[0]+", "+Ot[1]+"%, "+Ot[2]+"%, "+Ot[3]+")"},It.to.hwb=function(){var Ot=gt(arguments),Mt="";return Ot.length>=4&&Ot[3]!==1&&(Mt=", "+Ot[3]),"hwb("+Ot[0]+", "+Ot[1]+"%, "+Ot[2]+"%"+Mt+")"},It.to.keyword=function(Ot){return _t[Ot.slice(0,3)]};function Tt(Ot,Mt,Bt){return Math.min(Math.max(Mt,Ot),Bt)}function Rt(Ot){var Mt=Math.round(Ot).toString(16).toUpperCase();return Mt.length<2?"0"+Mt:Mt}},346:(bt,dt,xt)=>{var Ct=xt(804),gt=xt(841),wt=[].slice,_t=["keyword","gray","hex"],Et={};Object.keys(gt).forEach(function(zt){Et[wt.call(gt[zt].labels).sort().join("")]=zt});var It={};function Tt(zt,Nt){if(!(this instanceof Tt))return new Tt(zt,Nt);if(Nt&&Nt in _t&&(Nt=null),Nt&&!(Nt in gt))throw new Error("Unknown model: "+Nt);var Wt,qt;if(zt==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(zt instanceof Tt)this.model=zt.model,this.color=zt.color.slice(),this.valpha=zt.valpha;else if(typeof zt=="string"){var nr=Ct.get(zt);if(nr===null)throw new Error("Unable to parse color from string: "+zt);this.model=nr.model,qt=gt[this.model].channels,this.color=nr.value.slice(0,qt),this.valpha=typeof nr.value[qt]=="number"?nr.value[qt]:1}else if(zt.length){this.model=Nt||"rgb",qt=gt[this.model].channels;var ar=wt.call(zt,0,qt);this.color=jt(ar,qt),this.valpha=typeof zt[qt]=="number"?zt[qt]:1}else if(typeof zt=="number")zt&=16777215,this.model="rgb",this.color=[zt>>16&255,zt>>8&255,zt&255],this.valpha=1;else{this.valpha=1;var Kt=Object.keys(zt);"alpha"in zt&&(Kt.splice(Kt.indexOf("alpha"),1),this.valpha=typeof zt.alpha=="number"?zt.alpha:0);var er=Kt.sort().join("");if(!(er in Et))throw new Error("Unable to parse color from object: "+JSON.stringify(zt));this.model=Et[er];var Ut=gt[this.model].labels,Ht=[];for(Wt=0;WtWt?(Nt+.05)/(Wt+.05):(Wt+.05)/(Nt+.05)},level:function(zt){var Nt=this.contrast(zt);return Nt>=7.1?"AAA":Nt>=4.5?"AA":""},isDark:function(){var zt=this.rgb().color,Nt=(zt[0]*299+zt[1]*587+zt[2]*114)/1e3;return Nt<128},isLight:function(){return!this.isDark()},negate:function(){for(var zt=this.rgb(),Nt=0;Nt<3;Nt++)zt.color[Nt]=255-zt.color[Nt];return zt},lighten:function(zt){var Nt=this.hsl();return Nt.color[2]+=Nt.color[2]*zt,Nt},darken:function(zt){var Nt=this.hsl();return Nt.color[2]-=Nt.color[2]*zt,Nt},saturate:function(zt){var Nt=this.hsl();return Nt.color[1]+=Nt.color[1]*zt,Nt},desaturate:function(zt){var Nt=this.hsl();return Nt.color[1]-=Nt.color[1]*zt,Nt},whiten:function(zt){var Nt=this.hwb();return Nt.color[1]+=Nt.color[1]*zt,Nt},blacken:function(zt){var Nt=this.hwb();return Nt.color[2]+=Nt.color[2]*zt,Nt},grayscale:function(){var zt=this.rgb().color,Nt=zt[0]*.3+zt[1]*.59+zt[2]*.11;return Tt.rgb(Nt,Nt,Nt)},fade:function(zt){return this.alpha(this.valpha-this.valpha*zt)},opaquer:function(zt){return this.alpha(this.valpha+this.valpha*zt)},rotate:function(zt){var Nt=this.hsl(),Wt=Nt.color[0];return Wt=(Wt+zt)%360,Wt=Wt<0?360+Wt:Wt,Nt.color[0]=Wt,Nt},mix:function(zt,Nt){if(!zt||!zt.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof zt);var Wt=zt.rgb(),qt=this.rgb(),nr=Nt===void 0?.5:Nt,ar=2*nr-1,Kt=Wt.alpha()-qt.alpha(),er=((ar*Kt===-1?ar:(ar+Kt)/(1+ar*Kt))+1)/2,Ut=1-er;return Tt.rgb(er*Wt.red()+Ut*qt.red(),er*Wt.green()+Ut*qt.green(),er*Wt.blue()+Ut*qt.blue(),Wt.alpha()*nr+qt.alpha()*(1-nr))}},Object.keys(gt).forEach(function(zt){if(_t.indexOf(zt)===-1){var Nt=gt[zt].channels;Tt.prototype[zt]=function(){if(this.model===zt)return new Tt(this);if(arguments.length)return new Tt(arguments,zt);var Wt=typeof arguments[Nt]=="number"?Nt:this.valpha;return new Tt(Lt(gt[this.model][zt].raw(this.color)).concat(Wt),zt)},Tt[zt]=function(Wt){return typeof Wt=="number"&&(Wt=jt(wt.call(arguments),Nt)),new Tt(Wt,zt)}}});function Rt(zt,Nt){return Number(zt.toFixed(Nt))}function Ot(zt){return function(Nt){return Rt(Nt,zt)}}function Mt(zt,Nt,Wt){return zt=Array.isArray(zt)?zt:[zt],zt.forEach(function(qt){(It[qt]||(It[qt]=[]))[Nt]=Wt}),zt=zt[0],function(qt){var nr;return arguments.length?(Wt&&(qt=Wt(qt)),nr=this[zt](),nr.color[Nt]=qt,nr):(nr=this[zt]().color[Nt],Wt&&(nr=Wt(nr)),nr)}}function Bt(zt){return function(Nt){return Math.max(0,Math.min(zt,Nt))}}function Lt(zt){return Array.isArray(zt)?zt:[zt]}function jt(zt,Nt){for(var Wt=0;Wt{var Ct="Expected a function",gt=NaN,wt="[object Symbol]",_t=/^\s+|\s+$/g,Et=/^[-+]0x[0-9a-f]+$/i,It=/^0b[01]+$/i,Tt=/^0o[0-7]+$/i,Rt=parseInt,Ot=typeof xt.g=="object"&&xt.g&&xt.g.Object===Object&&xt.g,Mt=typeof self=="object"&&self&&self.Object===Object&&self,Bt=Ot||Mt||Function("return this")(),Lt=Object.prototype,jt=Lt.toString,zt=Math.max,Nt=Math.min,Wt=function(){return Bt.Date.now()};function qt(Ut,Ht,Ft){var Vt,Jt,or,Ar,hr,vr,Er=0,mr=!1,Or=!1,Lr=!0;if(typeof Ut!="function")throw new TypeError(Ct);Ht=er(Ht)||0,nr(Ft)&&(mr=!!Ft.leading,Or="maxWait"in Ft,or=Or?zt(er(Ft.maxWait)||0,Ht):or,Lr="trailing"in Ft?!!Ft.trailing:Lr);function na(tn){var Vr=Vt,Kr=Jt;return Vt=Jt=void 0,Er=tn,Ar=Ut.apply(Kr,Vr),Ar}function ba(tn){return Er=tn,hr=setTimeout(ur,Ht),mr?na(tn):Ar}function qr(tn){var Vr=tn-vr,Kr=tn-Er,_n=Ht-Vr;return Or?Nt(_n,or-Kr):_n}function Pr(tn){var Vr=tn-vr,Kr=tn-Er;return vr===void 0||Vr>=Ht||Vr<0||Or&&Kr>=or}function ur(){var tn=Wt();if(Pr(tn))return Sr(tn);hr=setTimeout(ur,qr(tn))}function Sr(tn){return hr=void 0,Lr&&Vt?na(tn):(Vt=Jt=void 0,Ar)}function jr(){hr!==void 0&&clearTimeout(hr),Er=0,Vt=vr=Jt=hr=void 0}function Dr(){return hr===void 0?Ar:Sr(Wt())}function Cr(){var tn=Wt(),Vr=Pr(tn);if(Vt=arguments,Jt=this,vr=tn,Vr){if(hr===void 0)return ba(vr);if(Or)return hr=setTimeout(ur,Ht),na(vr)}return hr===void 0&&(hr=setTimeout(ur,Ht)),Ar}return Cr.cancel=jr,Cr.flush=Dr,Cr}function nr(Ut){var Ht=typeof Ut;return!!Ut&&(Ht=="object"||Ht=="function")}function ar(Ut){return!!Ut&&typeof Ut=="object"}function Kt(Ut){return typeof Ut=="symbol"||ar(Ut)&&jt.call(Ut)==wt}function er(Ut){if(typeof Ut=="number")return Ut;if(Kt(Ut))return gt;if(nr(Ut)){var Ht=typeof Ut.valueOf=="function"?Ut.valueOf():Ut;Ut=nr(Ht)?Ht+"":Ht}if(typeof Ut!="string")return Ut===0?Ut:+Ut;Ut=Ut.replace(_t,"");var Ft=It.test(Ut);return Ft||Tt.test(Ut)?Rt(Ut.slice(2),Ft?2:8):Et.test(Ut)?gt:+Ut}bt.exports=qt},572:(bt,dt,xt)=>{bt=xt.nmd(bt);var Ct=200,gt="Expected a function",wt="__lodash_hash_undefined__",_t=1,Et=2,It=1/0,Tt=9007199254740991,Rt="[object Arguments]",Ot="[object Array]",Mt="[object Boolean]",Bt="[object Date]",Lt="[object Error]",jt="[object Function]",zt="[object GeneratorFunction]",Nt="[object Map]",Wt="[object Number]",qt="[object Object]",nr="[object Promise]",ar="[object RegExp]",Kt="[object Set]",er="[object String]",Ut="[object Symbol]",Ht="[object WeakMap]",Ft="[object ArrayBuffer]",Vt="[object DataView]",Jt="[object Float32Array]",or="[object Float64Array]",Ar="[object Int8Array]",hr="[object Int16Array]",vr="[object Int32Array]",Er="[object Uint8Array]",mr="[object Uint8ClampedArray]",Or="[object Uint16Array]",Lr="[object Uint32Array]",na=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ba=/^\w*$/,qr=/^\./,Pr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ur=/[\\^$.*+?()[\]{}|]/g,Sr=/\\(\\)?/g,jr=/^\[object .+?Constructor\]$/,Dr=/^(?:0|[1-9]\d*)$/,Cr={};Cr[Jt]=Cr[or]=Cr[Ar]=Cr[hr]=Cr[vr]=Cr[Er]=Cr[mr]=Cr[Or]=Cr[Lr]=!0,Cr[Rt]=Cr[Ot]=Cr[Ft]=Cr[Mt]=Cr[Vt]=Cr[Bt]=Cr[Lt]=Cr[jt]=Cr[Nt]=Cr[Wt]=Cr[qt]=Cr[ar]=Cr[Kt]=Cr[er]=Cr[Ht]=!1;var tn=typeof xt.g=="object"&&xt.g&&xt.g.Object===Object&&xt.g,Vr=typeof self=="object"&&self&&self.Object===Object&&self,Kr=tn||Vr||Function("return this")(),_n=dt&&!dt.nodeType&&dt,$n=_n&&!0&&bt&&!bt.nodeType&&bt,gn=$n&&$n.exports===_n,Nn=gn&&tn.process,kn=function(){try{return Nn&&Nn.binding("util")}catch(Yt){}}(),cn=kn&&kn.isTypedArray;function s0(Yt,ir,yr,Mr){for(var Hr=-1,Yr=Yt?Yt.length:0;++Hr-1}function Is(Yt,ir){var yr=this.__data__,Mr=Jo(yr,Yt);return Mr<0?yr.push([Yt,ir]):yr[Mr][1]=ir,this}T0.prototype.clear=w0,T0.prototype.delete=bo,T0.prototype.get=Os,T0.prototype.has=Kl,T0.prototype.set=Is;function u0(Yt){var ir=-1,yr=Yt?Yt.length:0;for(this.clear();++irEn))return!1;var Jn=Yr.get(Yt);if(Jn&&Yr.get(ir))return Jn==ir;var i0=-1,o0=!0,d0=Hr&_t?new No:void 0;for(Yr.set(Yt,ir),Yr.set(ir,Yt);++i0-1&&Yt%1==0&&Yt-1&&Yt%1==0&&Yt<=Tt}function an(Yt){var ir=typeof Yt;return!!Yt&&(ir=="object"||ir=="function")}function Fn(Yt){return!!Yt&&typeof Yt=="object"}function n0(Yt){return typeof Yt=="symbol"||Fn(Yt)&&W0.call(Yt)==Ut}var A0=cn?_a(cn):L2;function L0(Yt){return Yt==null?"":F2(Yt)}function q0(Yt,ir,yr){var Mr=Yt==null?void 0:Us(Yt,ir);return Mr===void 0?yr:Mr}function S0(Yt,ir){return Yt!=null&&Mo(Yt,ir,a2)}function p0(Yt){return gr(Yt)?Ys(Yt):us(Yt)}function lo(Yt){return Yt}function lr(Yt){return Ls(Yt)?rn(Bo(Yt)):f0(Yt)}bt.exports=l2},343:(bt,dt,xt)=>{bt=xt.nmd(bt);var Ct=200,gt="Expected a function",wt="__lodash_hash_undefined__",_t=1,Et=2,It=1/0,Tt=9007199254740991,Rt="[object Arguments]",Ot="[object Array]",Mt="[object Boolean]",Bt="[object Date]",Lt="[object Error]",jt="[object Function]",zt="[object GeneratorFunction]",Nt="[object Map]",Wt="[object Number]",qt="[object Object]",nr="[object Promise]",ar="[object RegExp]",Kt="[object Set]",er="[object String]",Ut="[object Symbol]",Ht="[object WeakMap]",Ft="[object ArrayBuffer]",Vt="[object DataView]",Jt="[object Float32Array]",or="[object Float64Array]",Ar="[object Int8Array]",hr="[object Int16Array]",vr="[object Int32Array]",Er="[object Uint8Array]",mr="[object Uint8ClampedArray]",Or="[object Uint16Array]",Lr="[object Uint32Array]",na=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ba=/^\w*$/,qr=/^\./,Pr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ur=/[\\^$.*+?()[\]{}|]/g,Sr=/\\(\\)?/g,jr=/^\[object .+?Constructor\]$/,Dr=/^(?:0|[1-9]\d*)$/,Cr={};Cr[Jt]=Cr[or]=Cr[Ar]=Cr[hr]=Cr[vr]=Cr[Er]=Cr[mr]=Cr[Or]=Cr[Lr]=!0,Cr[Rt]=Cr[Ot]=Cr[Ft]=Cr[Mt]=Cr[Vt]=Cr[Bt]=Cr[Lt]=Cr[jt]=Cr[Nt]=Cr[Wt]=Cr[qt]=Cr[ar]=Cr[Kt]=Cr[er]=Cr[Ht]=!1;var tn=typeof xt.g=="object"&&xt.g&&xt.g.Object===Object&&xt.g,Vr=typeof self=="object"&&self&&self.Object===Object&&self,Kr=tn||Vr||Function("return this")(),_n=dt&&!dt.nodeType&&dt,$n=_n&&!0&&bt&&!bt.nodeType&&bt,gn=$n&&$n.exports===_n,Nn=gn&&tn.process,kn=function(){try{return Nn&&Nn.binding("util")}catch(lr){}}(),cn=kn&&kn.isTypedArray;function s0(lr,Yt){for(var ir=-1,yr=lr?lr.length:0,Mr=Array(yr);++ir-1}function Is(lr,Yt){var ir=this.__data__,yr=Jo(ir,lr);return yr<0?ir.push([lr,Yt]):ir[yr][1]=Yt,this}T0.prototype.clear=w0,T0.prototype.delete=bo,T0.prototype.get=Os,T0.prototype.has=Kl,T0.prototype.set=Is;function u0(lr){var Yt=-1,ir=lr?lr.length:0;for(this.clear();++Ytln))return!1;var yn=Hr.get(lr);if(yn&&Hr.get(Yt))return yn==Yt;var Jn=-1,i0=!0,o0=Mr&_t?new No:void 0;for(Hr.set(lr,Yt),Hr.set(Yt,lr);++Jn-1&&lr%1==0&&lr-1&&lr%1==0&&lr<=Tt}function pn(lr){var Yt=typeof lr;return!!lr&&(Yt=="object"||Yt=="function")}function an(lr){return!!lr&&typeof lr=="object"}function Fn(lr){return typeof lr=="symbol"||an(lr)&&W0.call(lr)==Ut}var n0=cn?_a(cn):Ll;function A0(lr){return lr==null?"":F2(lr)}function L0(lr,Yt,ir){var yr=lr==null?void 0:r2(lr,Yt);return yr===void 0?ir:yr}function q0(lr,Yt){return lr!=null&&Vo(lr,Yt,B2)}function S0(lr){return sr(lr)?Ys(lr):Ps(lr)}function p0(lr){return lr}function lo(lr){return U0(lr)?rn(io(lr)):f0(lr)}bt.exports=Q0},262:(bt,dt,xt)=>{var Ct=xt(586);function gt(){}function wt(){}wt.resetWarningCache=gt,bt.exports=function(){function _t(Tt,Rt,Ot,Mt,Bt,Lt){if(Lt!==Ct){var jt=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw jt.name="Invariant Violation",jt}}_t.isRequired=_t;function Et(){return _t}var It={array:_t,bigint:_t,bool:_t,func:_t,number:_t,object:_t,string:_t,symbol:_t,any:_t,arrayOf:Et,element:_t,elementType:_t,instanceOf:Et,node:_t,objectOf:Et,oneOf:Et,oneOfType:Et,shape:Et,exact:Et,checkPropTypes:wt,resetWarningCache:gt};return It.PropTypes=It,It}},980:(bt,dt,xt)=>{bt.exports=xt(262)()},586:bt=>{var dt="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";bt.exports=dt},129:(bt,dt,xt)=>{Object.defineProperty(dt,"__esModule",{value:!0}),dt.DebounceInput=void 0;var Ct=wt(xt(156)),gt=wt(xt(594));function wt(er){return er&&er.__esModule?er:{default:er}}function _t(er){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_t=function(Ut){return typeof Ut}:_t=function(Ut){return Ut&&typeof Symbol=="function"&&Ut.constructor===Symbol&&Ut!==Symbol.prototype?"symbol":typeof Ut},_t(er)}function Et(er,Ut){if(er==null)return{};var Ht=It(er,Ut),Ft,Vt;if(Object.getOwnPropertySymbols){var Jt=Object.getOwnPropertySymbols(er);for(Vt=0;Vt=0)&&(!Object.prototype.propertyIsEnumerable.call(er,Ft)||(Ht[Ft]=er[Ft]))}return Ht}function It(er,Ut){if(er==null)return{};var Ht={},Ft=Object.keys(er),Vt,Jt;for(Jt=0;Jt=0)&&(Ht[Vt]=er[Vt]);return Ht}function Tt(er,Ut){var Ht=Object.keys(er);if(Object.getOwnPropertySymbols){var Ft=Object.getOwnPropertySymbols(er);Ut&&(Ft=Ft.filter(function(Vt){return Object.getOwnPropertyDescriptor(er,Vt).enumerable})),Ht.push.apply(Ht,Ft)}return Ht}function Rt(er){for(var Ut=1;Ut"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(er){return!1}}function nr(er){return nr=Object.setPrototypeOf?Object.getPrototypeOf:function(Ut){return Ut.__proto__||Object.getPrototypeOf(Ut)},nr(er)}function ar(er,Ut,Ht){return Ut in er?Object.defineProperty(er,Ut,{value:Ht,enumerable:!0,configurable:!0,writable:!0}):er[Ut]=Ht,er}var Kt=function(er){Lt(Ht,er);var Ut=zt(Ht);function Ht(Ft){var Vt;Ot(this,Ht),Vt=Ut.call(this,Ft),ar(Wt(Vt),"onChange",function(or){or.persist();var Ar=Vt.state.value,hr=Vt.props.minLength;Vt.setState({value:or.target.value},function(){var vr=Vt.state.value;if(vr.length>=hr){Vt.notify(or);return}Ar.length>vr.length&&Vt.notify(Rt(Rt({},or),{},{target:Rt(Rt({},or.target),{},{value:""})}))})}),ar(Wt(Vt),"onKeyDown",function(or){or.key==="Enter"&&Vt.forceNotify(or);var Ar=Vt.props.onKeyDown;Ar&&(or.persist(),Ar(or))}),ar(Wt(Vt),"onBlur",function(or){Vt.forceNotify(or);var Ar=Vt.props.onBlur;Ar&&(or.persist(),Ar(or))}),ar(Wt(Vt),"createNotifier",function(or){if(or<0)Vt.notify=function(){return null};else if(or===0)Vt.notify=Vt.doNotify;else{var Ar=(0,gt.default)(function(hr){Vt.isDebouncing=!1,Vt.doNotify(hr)},or);Vt.notify=function(hr){Vt.isDebouncing=!0,Ar(hr)},Vt.flush=function(){return Ar.flush()},Vt.cancel=function(){Vt.isDebouncing=!1,Ar.cancel()}}}),ar(Wt(Vt),"doNotify",function(){var or=Vt.props.onChange;or.apply(void 0,arguments)}),ar(Wt(Vt),"forceNotify",function(or){var Ar=Vt.props.debounceTimeout;if(!(!Vt.isDebouncing&&Ar>0)){Vt.cancel&&Vt.cancel();var hr=Vt.state.value,vr=Vt.props.minLength;hr.length>=vr?Vt.doNotify(or):Vt.doNotify(Rt(Rt({},or),{},{target:Rt(Rt({},or.target),{},{value:hr})}))}}),Vt.isDebouncing=!1,Vt.state={value:typeof Ft.value>"u"||Ft.value===null?"":Ft.value};var Jt=Vt.props.debounceTimeout;return Vt.createNotifier(Jt),Vt}return Bt(Ht,[{key:"componentDidUpdate",value:function(Ft){if(!this.isDebouncing){var Vt=this.props,Jt=Vt.value,or=Vt.debounceTimeout,Ar=Ft.debounceTimeout,hr=Ft.value,vr=this.state.value;typeof Jt<"u"&&hr!==Jt&&vr!==Jt&&this.setState({value:Jt}),or!==Ar&&this.createNotifier(or)}}},{key:"componentWillUnmount",value:function(){this.flush&&this.flush()}},{key:"render",value:function(){var Ft=this.props,Vt=Ft.element;Ft.onChange,Ft.value,Ft.minLength,Ft.debounceTimeout;var Jt=Ft.forceNotifyByEnter,or=Ft.forceNotifyOnBlur,Ar=Ft.onKeyDown,hr=Ft.onBlur,vr=Ft.inputRef,Er=Et(Ft,["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"]),mr=this.state.value,Or;Jt?Or={onKeyDown:this.onKeyDown}:Ar?Or={onKeyDown:Ar}:Or={};var Lr;or?Lr={onBlur:this.onBlur}:hr?Lr={onBlur:hr}:Lr={};var na=vr?{ref:vr}:{};return Ct.default.createElement(Vt,Rt(Rt(Rt(Rt({},Er),{},{onChange:this.onChange,value:mr},Or),Lr),na))}}]),Ht}(Ct.default.PureComponent);dt.DebounceInput=Kt,ar(Kt,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},912:(bt,dt,xt)=>{var Ct=xt(129),gt=Ct.DebounceInput;gt.DebounceInput=gt,bt.exports=gt},424:(bt,dt,xt)=>{function Ct(It){return It&&typeof It=="object"&&"default"in It?It.default:It}var gt=Ct(xt(156)),wt=Ct(xt(980));function _t(It){return It==="fast"?600:It==="slow"?900:750}var Et=function(It){var Tt=It.color,Rt=It.speed,Ot=It.gap,Mt=It.thickness,Bt=It.size,Lt=function(jt,zt){var Nt={};for(var Wt in jt)Object.prototype.hasOwnProperty.call(jt,Wt)&&zt.indexOf(Wt)===-1&&(Nt[Wt]=jt[Wt]);return Nt}(It,["color","speed","gap","thickness","size"]);return gt.createElement("svg",Object.assign({},{height:Bt,width:Bt},Lt,{style:{animationDuration:_t(Rt)+"ms"},className:"__react-svg-spinner_circle",role:"img","aria-labelledby":"title desc",viewBox:"0 0 32 32"}),gt.createElement("title",{id:"title"},"Circle loading spinner"),gt.createElement("desc",{id:"desc"},'Image of a partial circle indicating "loading."'),gt.createElement("style",{dangerouslySetInnerHTML:{__html:` .__react-svg-spinner_circle{ transition-property: transform; animation-name: __react-svg-spinner_infinite-spin; @@ -265,10 +265,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho from {transform: rotate(0deg)} to {transform: rotate(360deg)} } - `}}),gt.createElement("circle",{role:"presentation",cx:16,cy:16,r:14-Mt/2,stroke:Tt,fill:"none",strokeWidth:Mt,strokeDasharray:2*Math.PI*(11-Ot),strokeLinecap:"round"}))};Et.propTypes={color:yt.string,thickness:yt.oneOf([1,2,3,4,5,6,7,8]).isRequired,gap:yt.oneOf([1,2,3,4,5]).isRequired,speed:yt.oneOf(["fast","slow"]),size:yt.string.isRequired},Et.defaultProps={color:"rgba(0,0,0,0.4)",gap:4,thickness:4,size:"1em"},pt.exports=Et},47:(pt,dt,_t)=>{var Ct=_t(905),gt=Array.prototype.concat,yt=Array.prototype.slice,xt=pt.exports=function(Et){for(var It=[],Tt=0,Rt=Et.length;Tt{pt.exports=function(dt){return!dt||typeof dt=="string"?!1:dt instanceof Array||Array.isArray(dt)||dt.length>=0&&(dt.splice instanceof Function||Object.getOwnPropertyDescriptor(dt,dt.length-1)&&dt.constructor.name!=="String")}},156:pt=>{pt.exports=ut},111:pt=>{pt.exports=ft}},vt={};function ht(pt){var dt=vt[pt];if(dt!==void 0)return dt.exports;var _t=vt[pt]={id:pt,loaded:!1,exports:{}};return At[pt](_t,_t.exports,ht),_t.loaded=!0,_t.exports}ht.n=pt=>{var dt=pt&&pt.__esModule?()=>pt.default:()=>pt;return ht.d(dt,{a:dt}),dt},ht.d=(pt,dt)=>{for(var _t in dt)ht.o(dt,_t)&&!ht.o(pt,_t)&&Object.defineProperty(pt,_t,{enumerable:!0,get:dt[_t]})},ht.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(pt){if(typeof window=="object")return window}}(),ht.o=(pt,dt)=>Object.prototype.hasOwnProperty.call(pt,dt),ht.r=pt=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(pt,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(pt,"__esModule",{value:!0})},ht.nmd=pt=>(pt.paths=[],pt.children||(pt.children=[]),pt);var bt={};return(()=>{ht.r(bt),ht.d(bt,{Box:()=>Ct,DefaultPalette:()=>R2,Flamegraph:()=>ep,FlamegraphRenderer:()=>T4,convertJaegerTraceToProfile:()=>S4,diffTwoProfiles:()=>nm});var pt=ht(156),dt=ht.n(pt);const _t={box:"CymgObeW6VZutKnn+knV0w==",padding:"_27LlhV46s9ZMTAMouwXorw=="};function Ct(wt){const{children:kt,noPadding:St,className:Pt=""}=wt,Ht=St?"":_t.padding;return dt().createElement("div",{className:`${_t.box} ${Ht} ${Pt}`},kt)}const gt=Symbol("BrandTag");class yt{constructor(kt){this[gt]=kt}}const xt=new yt("unit"),Et=wt=>typeof wt>"u"||wt===null;function It(wt,kt){return kt!==void 0?wt(kt):wt}function Tt(wt){return wt.isOk?s0.just(wt.value):s0.nothing()}function Rt(wt,kt){const St=Pt=>Pt.isJust?dr.ok(Pt.value):dr.err(wt);return kt!==void 0?St(kt):St}function Ot(wt,kt){return It(St=>St.isJust?dr.ok(St.value):dr.err(wt()),kt)}const Mt={Ok:"Ok",Err:"Err"};class Bt{constructor(kt){this.repr=kt}static ok(kt){return Et(kt)?new Bt(["Ok",xt]):new Bt(["Ok",kt])}static err(kt){return Et(kt)?new Bt(["Err",xt]):new Bt(["Err",kt])}get variant(){return this.repr[0]}get value(){if(this.repr[0]===Mt.Err)throw new Error("Cannot get the value of Err");return this.repr[1]}get error(){if(this.repr[0]===Mt.Ok)throw new Error("Cannot get the error of Ok");return this.repr[1]}get isOk(){return this.repr[0]===Mt.Ok}get isErr(){return this.repr[0]===Mt.Err}map(kt){return zt(kt,this)}mapOr(kt,St){return Nt(kt,St,this)}mapOrElse(kt,St){return Wt(kt,St,this)}match(kt){return qt(kt,this)}mapErr(kt){return Jt(kt,this)}or(kt){return Xt(kt,this)}orElse(kt){return tr(kt,this)}and(kt){return nr(kt,this)}andThen(kt){return er(kt,this)}unwrapOr(kt){return Zt(kt,this)}unwrapOrElse(kt){return Gt(kt,this)}toMaybe(){return Tt(this)}toString(){return Ft(this)}toJSON(){return jt(this)}equals(kt){return or(kt,this)}ap(kt){return fr(this,kt)}}const Lt=Bt.ok,Vt=Bt.err;function zt(wt,kt){return It(St=>St.isOk?Lt(wt(St.value)):St,kt)}function Nt(wt,kt,St){function Pt(Qt,Kt){return Kt.isOk?Qt(Kt.value):wt}function Ht(Qt,Kt){return Kt!==void 0?Pt(Qt,Kt):ar=>Pt(Qt,ar)}return kt===void 0?Ht:St===void 0?Ht(kt):Ht(kt,St)}function Wt(wt,kt,St){function Pt(Qt,Kt){return Kt.isOk?Qt(Kt.value):wt(Kt.error)}function Ht(Qt,Kt){return Kt!==void 0?Pt(Qt,Kt):ar=>Pt(Qt,ar)}return kt===void 0?Ht:St===void 0?Ht(kt):Ht(kt,St)}function Jt(wt,kt){return It(St=>St.isOk?St:Vt(wt(St.error)),kt)}function nr(wt,kt){return It(St=>St.isOk?wt:Vt(St.error),kt)}function er(wt,kt){return It(St=>St.isOk?wt(St.value):Vt(St.error),kt)}function Xt(wt,kt){return It(St=>St.isOk?Lt(St.value):wt,kt)}function tr(wt,kt){return It(St=>St.isOk?Lt(St.value):wt(St.error),kt)}function Zt(wt,kt){return It(St=>St.isOk?St.value:wt,kt)}function Gt(wt,kt){return It(St=>St.isOk?St.value:wt(St.error),kt)}const Ft=wt=>{const kt=(wt.isOk?wt.value:wt.error).toString();return`${wt.variant.toString()}(${kt})`},jt=wt=>wt.isOk?{variant:wt.variant,value:wt.value}:{variant:wt.variant,error:wt.error};function qt(wt,kt){return It(St=>Wt(wt.Err,wt.Ok,St),kt)}function or(wt,kt){return kt!==void 0?kt.match({Err:()=>wt.isErr,Ok:St=>wt.isOk&&wt.value===St}):St=>St.match({Err:()=>wt.isErr,Ok:Pt=>wt.isOk&&wt.value===Pt})}function fr(wt,kt){return It(St=>St.andThen(Pt=>wt.map(Ht=>Ht(Pt))),kt)}const dr=Bt,vr={Just:"Just",Nothing:"Nothing"};let Er;class mr{constructor(kt){if(Et(kt))return this.repr=[vr.Nothing],Er||(Er=this),Er;this.repr=[vr.Just,kt]}static of(kt){return new mr(kt)}static just(kt){if(Et(kt))throw new Error(`attempted to call "just" with ${kt}`);return new mr(kt)}static nothing(kt){return new mr}get variant(){return this.repr[0]}get value(){if(this.repr[0]===vr.Nothing)throw new Error("Cannot get the value of `Nothing`");return this.repr[1]}get isJust(){return this.repr[0]===vr.Just}get isNothing(){return this.repr[0]===vr.Nothing}map(kt){return na(kt,this)}mapOr(kt,St){return ba(kt,St,this)}mapOrElse(kt,St){return qr(kt,St,this)}match(kt){return Kr(kt,this)}or(kt){return Sr(kt,this)}orElse(kt){return jr(kt,this)}and(kt){return Pr(kt,this)}andThen(kt){return ur(kt,this)}unwrapOr(kt){return Dr(kt,this)}unwrapOrElse(kt){return Cr(kt,this)}toOkOrErr(kt){return Rt(kt,this)}toOkOrElseErr(kt){return Ot(kt,this)}toString(){return tn(this)}toJSON(){return Vr(this)}equals(kt){return _n(kt,this)}ap(kt){return $n(this,kt)}get(kt){return kn(kt,this)}}const Or=mr.just,Lr=mr.nothing;mr.of;function na(wt,kt){return It(St=>St.isJust?Or(wt(St.value)):Lr(),kt)}function ba(wt,kt,St){function Pt(Qt,Kt){return Kt.isJust?Qt(Kt.value):wt}function Ht(Qt,Kt){return Kt!==void 0?Pt(Qt,Kt):ar=>Pt(Qt,ar)}return kt===void 0?Ht:St===void 0?Ht(kt):Ht(kt,St)}function qr(wt,kt,St){function Pt(Qt,Kt){return Kt.isJust?Qt(Kt.value):wt()}function Ht(Qt,Kt){return Kt!==void 0?Pt(Qt,Kt):ar=>Pt(Qt,ar)}return kt===void 0?Ht:St===void 0?Ht(kt):Ht(kt,St)}function Pr(wt,kt){return It(St=>St.isJust?wt:Lr(),kt)}function ur(wt,kt){const St=Pt=>Pt.isJust?wt(Pt.value):Lr();return kt!==void 0?St(kt):St}function Sr(wt,kt){const St=Pt=>Pt.isJust?Pt:wt;return kt!==void 0?St(kt):St}function jr(wt,kt){return It(St=>St.isJust?St:wt(),kt)}function Dr(wt,kt){return It(St=>St.isJust?St.value:wt,kt)}function Cr(wt,kt){return It(St=>St.isJust?St.value:wt(),kt)}function tn(wt){const kt=wt.isJust?`(${wt.value.toString()})`:"";return`${wt.variant}${kt}`}function Vr(wt){return wt.isJust?{variant:wt.variant,value:gn(wt.value)?wt.value.toJSON():wt.value}:{variant:wt.variant}}function Kr(wt,kt){return It(St=>qr(wt.Nothing,wt.Just,St),kt)}function _n(wt,kt){return It(St=>St.match({Just:Pt=>wt.isJust&&wt.value===Pt,Nothing:()=>wt.isNothing}),kt)}function $n(wt,kt){return It(St=>St.andThen(Pt=>wt.map(Ht=>Ht(Pt))),kt)}function gn(wt){return wt instanceof cn}function Nn(wt,kt){return It(St=>cn.of(St[wt]),kt)}function kn(wt,kt){return It(ur(Nn(wt)),kt)}const cn=mr,s0=cn;var On;(function(wt){function kt(Pt){throw new Error}wt.assertNever=kt,wt.arrayToEnum=Pt=>{const Ht={};for(const Qt of Pt)Ht[Qt]=Qt;return Ht},wt.getValidEnumValues=Pt=>{const Ht=wt.objectKeys(Pt).filter(Kt=>typeof Pt[Pt[Kt]]!="number"),Qt={};for(const Kt of Ht)Qt[Kt]=Pt[Kt];return wt.objectValues(Qt)},wt.objectValues=Pt=>wt.objectKeys(Pt).map(function(Ht){return Pt[Ht]}),wt.objectKeys=typeof Object.keys=="function"?Pt=>Object.keys(Pt):Pt=>{const Ht=[];for(const Qt in Pt)Object.prototype.hasOwnProperty.call(Pt,Qt)&&Ht.push(Qt);return Ht},wt.find=(Pt,Ht)=>{for(const Qt of Pt)if(Ht(Qt))return Qt},wt.isInteger=typeof Number.isInteger=="function"?Pt=>Number.isInteger(Pt):Pt=>typeof Pt=="number"&&isFinite(Pt)&&Math.floor(Pt)===Pt;function St(Pt,Ht=" | "){return Pt.map(Qt=>typeof Qt=="string"?`'${Qt}'`:Qt).join(Ht)}wt.joinValues=St})(On||(On={}));const rn=On.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),l0=wt=>{switch(typeof wt){case"undefined":return rn.undefined;case"string":return rn.string;case"number":return isNaN(wt)?rn.nan:rn.number;case"boolean":return rn.boolean;case"function":return rn.function;case"bigint":return rn.bigint;case"object":return Array.isArray(wt)?rn.array:wt===null?rn.null:wt.then&&typeof wt.then=="function"&&wt.catch&&typeof wt.catch=="function"?rn.promise:typeof Map<"u"&&wt instanceof Map?rn.map:typeof Set<"u"&&wt instanceof Set?rn.set:typeof Date<"u"&&wt instanceof Date?rn.date:rn.object;default:return rn.unknown}},_a=On.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of"]),Ao=wt=>JSON.stringify(wt,null,2).replace(/"([^"]+)":/g,"$1:");class e0 extends Error{constructor(kt){super(),this.issues=[],this.addIssue=Pt=>{this.issues=[...this.issues,Pt]},this.addIssues=(Pt=[])=>{this.issues=[...this.issues,...Pt]};const St=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,St):this.__proto__=St,this.name="ZodError",this.issues=kt}get errors(){return this.issues}format(kt){const St=kt||function(Qt){return Qt.message},Pt={_errors:[]},Ht=Qt=>{for(const Kt of Qt.issues)if(Kt.code==="invalid_union")Kt.unionErrors.map(Ht);else if(Kt.code==="invalid_return_type")Ht(Kt.returnTypeError);else if(Kt.code==="invalid_arguments")Ht(Kt.argumentsError);else if(Kt.path.length===0)Pt._errors.push(St(Kt));else{let ar=Pt,Ar=0;for(;ArSt.message){const St={},Pt=[];for(const Ht of this.issues)Ht.path.length>0?(St[Ht.path[0]]=St[Ht.path[0]]||[],St[Ht.path[0]].push(kt(Ht))):Pt.push(kt(Ht));return{formErrors:Pt,fieldErrors:St}}get formErrors(){return this.flatten()}}e0.create=wt=>new e0(wt);const no=(wt,kt)=>{let St;switch(wt.code){case _a.invalid_type:wt.received===rn.undefined?St="Required":St=`Expected ${wt.expected}, received ${wt.received}`;break;case _a.invalid_literal:St=`Invalid literal value, expected ${JSON.stringify(wt.expected)}`;break;case _a.unrecognized_keys:St=`Unrecognized key(s) in object: ${On.joinValues(wt.keys,", ")}`;break;case _a.invalid_union:St="Invalid input";break;case _a.invalid_union_discriminator:St=`Invalid discriminator value. Expected ${On.joinValues(wt.options)}`;break;case _a.invalid_enum_value:St=`Invalid enum value. Expected ${On.joinValues(wt.options)}, received '${wt.received}'`;break;case _a.invalid_arguments:St="Invalid function arguments";break;case _a.invalid_return_type:St="Invalid function return type";break;case _a.invalid_date:St="Invalid date";break;case _a.invalid_string:wt.validation!=="regex"?St=`Invalid ${wt.validation}`:St="Invalid";break;case _a.too_small:wt.type==="array"?St=`Array must contain ${wt.inclusive?"at least":"more than"} ${wt.minimum} element(s)`:wt.type==="string"?St=`String must contain ${wt.inclusive?"at least":"over"} ${wt.minimum} character(s)`:wt.type==="number"?St=`Number must be greater than ${wt.inclusive?"or equal to ":""}${wt.minimum}`:St="Invalid input";break;case _a.too_big:wt.type==="array"?St=`Array must contain ${wt.inclusive?"at most":"less than"} ${wt.maximum} element(s)`:wt.type==="string"?St=`String must contain ${wt.inclusive?"at most":"under"} ${wt.maximum} character(s)`:wt.type==="number"?St=`Number must be less than ${wt.inclusive?"or equal to ":""}${wt.maximum}`:St="Invalid input";break;case _a.custom:St="Invalid input";break;case _a.invalid_intersection_types:St="Intersection results could not be merged";break;case _a.not_multiple_of:St=`Number must be a multiple of ${wt.multipleOf}`;break;default:St=kt.defaultError,On.assertNever(wt)}return{message:St}};let ho=no;const Yo=wt=>{ho=wt},_o=wt=>{const{data:kt,path:St,errorMaps:Pt,issueData:Ht}=wt,Qt=[...St,...Ht.path||[]],Kt=st(ot({},Ht),{path:Qt});let ar="";const Ar=Pt.filter(pr=>!!pr).slice().reverse();for(const pr of Ar)ar=pr(Kt,{data:kt,defaultError:ar}).message;return st(ot({},Ht),{path:Qt,message:Ht.message||ar})},Do=[];function An(wt,kt){const St=_o({issueData:kt,data:wt.data,path:wt.path,errorMaps:[wt.common.contextualErrorMap,wt.schemaErrorMap,ho,no].filter(Pt=>!!Pt)});wt.common.issues.push(St)}class r0{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(kt,St){const Pt=[];for(const Ht of St){if(Ht.status==="aborted")return vn;Ht.status==="dirty"&&kt.dirty(),Pt.push(Ht.value)}return{status:kt.value,value:Pt}}static mergeObjectAsync(kt,St){return ct(this,null,function*(){const Pt=[];for(const Ht of St)Pt.push({key:yield Ht.key,value:yield Ht.value});return r0.mergeObjectSync(kt,Pt)})}static mergeObjectSync(kt,St){const Pt={};for(const Ht of St){const{key:Qt,value:Kt}=Ht;if(Qt.status==="aborted"||Kt.status==="aborted")return vn;Qt.status==="dirty"&&kt.dirty(),Kt.status==="dirty"&&kt.dirty(),(typeof Kt.value<"u"||Ht.alwaysSet)&&(Pt[Qt.value]=Kt.value)}return{status:kt.value,value:Pt}}}const vn=Object.freeze({status:"aborted"}),_0=wt=>({status:"dirty",value:wt}),xn=wt=>({status:"valid",value:wt}),W0=wt=>wt.status==="aborted",po=wt=>wt.status==="dirty",Uo=wt=>wt.status==="valid",bs=wt=>typeof Promise!==void 0&&wt instanceof Promise;var a0;(function(wt){wt.errToObj=kt=>typeof kt=="string"?{message:kt}:kt||{},wt.toString=kt=>typeof kt=="string"?kt:kt==null?void 0:kt.message})(a0||(a0={}));class so{constructor(kt,St,Pt,Ht){this.parent=kt,this.data=St,this._path=Pt,this._key=Ht}get path(){return this._path.concat(this._key)}}const Ts=(wt,kt)=>{if(Uo(kt))return{success:!0,data:kt.value};{if(!wt.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,error:new e0(wt.common.issues)}}};function Bn(wt){if(!wt)return{};const{errorMap:kt,invalid_type_error:St,required_error:Pt,description:Ht}=wt;if(kt&&(St||Pt))throw new Error(`Can't use "invalid" or "required" in conjunction with custom error map.`);return kt?{errorMap:kt,description:Ht}:{errorMap:(Qt,Kt)=>Qt.code!=="invalid_type"?{message:Kt.defaultError}:typeof Kt.data>"u"&&Pt?{message:Pt}:wt.invalid_type_error?{message:wt.invalid_type_error}:{message:Kt.defaultError},description:Ht}}class Cn{constructor(kt){this.spa=this.safeParseAsync,this.superRefine=this._refinement,this._def=kt,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.default=this.default.bind(this),this.describe=this.describe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(kt){return l0(kt.data)}_getOrReturnCtx(kt,St){return St||{common:kt.parent.common,data:kt.data,parsedType:l0(kt.data),schemaErrorMap:this._def.errorMap,path:kt.path,parent:kt.parent}}_processInputParams(kt){return{status:new r0,ctx:{common:kt.parent.common,data:kt.data,parsedType:l0(kt.data),schemaErrorMap:this._def.errorMap,path:kt.path,parent:kt.parent}}}_parseSync(kt){const St=this._parse(kt);if(bs(St))throw new Error("Synchronous parse encountered promise.");return St}_parseAsync(kt){const St=this._parse(kt);return Promise.resolve(St)}parse(kt,St){const Pt=this.safeParse(kt,St);if(Pt.success)return Pt.data;throw Pt.error}safeParse(kt,St){var Pt;const Ht={common:{issues:[],async:(Pt=St==null?void 0:St.async)!==null&&Pt!==void 0?Pt:!1,contextualErrorMap:St==null?void 0:St.errorMap},path:(St==null?void 0:St.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:kt,parsedType:l0(kt)},Qt=this._parseSync({data:kt,path:Ht.path,parent:Ht});return Ts(Ht,Qt)}parseAsync(kt,St){return ct(this,null,function*(){const Pt=yield this.safeParseAsync(kt,St);if(Pt.success)return Pt.data;throw Pt.error})}safeParseAsync(kt,St){return ct(this,null,function*(){const Pt={common:{issues:[],contextualErrorMap:St==null?void 0:St.errorMap,async:!0},path:(St==null?void 0:St.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:kt,parsedType:l0(kt)},Ht=this._parse({data:kt,path:[],parent:Pt}),Qt=yield bs(Ht)?Ht:Promise.resolve(Ht);return Ts(Pt,Qt)})}refine(kt,St){const Pt=Ht=>typeof St=="string"||typeof St>"u"?{message:St}:typeof St=="function"?St(Ht):St;return this._refinement((Ht,Qt)=>{const Kt=kt(Ht),ar=()=>Qt.addIssue(ot({code:_a.custom},Pt(Ht)));return typeof Promise<"u"&&Kt instanceof Promise?Kt.then(Ar=>Ar?!0:(ar(),!1)):Kt?!0:(ar(),!1)})}refinement(kt,St){return this._refinement((Pt,Ht)=>kt(Pt)?!0:(Ht.addIssue(typeof St=="function"?St(Pt,Ht):St),!1))}_refinement(kt){return new Io({schema:this,typeName:Ln.ZodEffects,effect:{type:"refinement",refinement:kt}})}optional(){return Ro.create(this)}nullable(){return ys.create(this)}nullish(){return this.optional().nullable()}array(){return Fo.create(this)}promise(){return wo.create(this)}or(kt){return bo.create([this,kt])}and(kt){return Is.create(this,kt)}transform(kt){return new Io({schema:this,typeName:Ln.ZodEffects,effect:{type:"transform",transform:kt}})}default(kt){const St=typeof kt=="function"?kt:()=>kt;return new Pl({innerType:this,defaultValue:St,typeName:Ln.ZodDefault})}describe(kt){const St=this.constructor;return new St(st(ot({},this._def),{description:kt}))}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const gs=/^c[^\s-]{8,}$/i,So=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,Qo=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;class B0 extends Cn{constructor(){super(...arguments),this._regex=(kt,St,Pt)=>this.refinement(Ht=>kt.test(Ht),ot({validation:St,code:_a.invalid_string},a0.errToObj(Pt))),this.nonempty=kt=>this.min(1,a0.errToObj(kt)),this.trim=()=>new B0(st(ot({},this._def),{checks:[...this._def.checks,{kind:"trim"}]}))}_parse(kt){if(this._getType(kt)!==rn.string){const Ht=this._getOrReturnCtx(kt);return An(Ht,{code:_a.invalid_type,expected:rn.string,received:Ht.parsedType}),vn}const St=new r0;let Pt;for(const Ht of this._def.checks)if(Ht.kind==="min")kt.data.lengthHt.value&&(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{code:_a.too_big,maximum:Ht.value,type:"string",inclusive:!0,message:Ht.message}),St.dirty());else if(Ht.kind==="email")Qo.test(kt.data)||(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"email",code:_a.invalid_string,message:Ht.message}),St.dirty());else if(Ht.kind==="uuid")So.test(kt.data)||(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"uuid",code:_a.invalid_string,message:Ht.message}),St.dirty());else if(Ht.kind==="cuid")gs.test(kt.data)||(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"cuid",code:_a.invalid_string,message:Ht.message}),St.dirty());else if(Ht.kind==="url")try{new URL(kt.data)}catch(Qt){Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"url",code:_a.invalid_string,message:Ht.message}),St.dirty()}else Ht.kind==="regex"?(Ht.regex.lastIndex=0,Ht.regex.test(kt.data)||(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"regex",code:_a.invalid_string,message:Ht.message}),St.dirty())):Ht.kind==="trim"?kt.data=kt.data.trim():On.assertNever(Ht);return{status:St.value,value:kt.data}}_addCheck(kt){return new B0(st(ot({},this._def),{checks:[...this._def.checks,kt]}))}email(kt){return this._addCheck(ot({kind:"email"},a0.errToObj(kt)))}url(kt){return this._addCheck(ot({kind:"url"},a0.errToObj(kt)))}uuid(kt){return this._addCheck(ot({kind:"uuid"},a0.errToObj(kt)))}cuid(kt){return this._addCheck(ot({kind:"cuid"},a0.errToObj(kt)))}regex(kt,St){return this._addCheck(ot({kind:"regex",regex:kt},a0.errToObj(St)))}min(kt,St){return this._addCheck(ot({kind:"min",value:kt},a0.errToObj(St)))}max(kt,St){return this._addCheck(ot({kind:"max",value:kt},a0.errToObj(St)))}length(kt,St){return this.min(kt,St).max(kt,St)}get isEmail(){return!!this._def.checks.find(kt=>kt.kind==="email")}get isURL(){return!!this._def.checks.find(kt=>kt.kind==="url")}get isUUID(){return!!this._def.checks.find(kt=>kt.kind==="uuid")}get isCUID(){return!!this._def.checks.find(kt=>kt.kind==="cuid")}get minLength(){let kt=-1/0;return this._def.checks.map(St=>{St.kind==="min"&&(kt===null||St.value>kt)&&(kt=St.value)}),kt}get maxLength(){let kt=null;return this._def.checks.map(St=>{St.kind==="max"&&(kt===null||St.valuenew B0(ot({checks:[],typeName:Ln.ZodString},Bn(wt)));function Il(wt,kt){const St=(wt.toString().split(".")[1]||"").length,Pt=(kt.toString().split(".")[1]||"").length,Ht=St>Pt?St:Pt,Qt=parseInt(wt.toFixed(Ht).replace(".","")),Kt=parseInt(kt.toFixed(Ht).replace(".",""));return Qt%Kt/Math.pow(10,Ht)}class P0 extends Cn{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(kt){if(this._getType(kt)!==rn.number){const Ht=this._getOrReturnCtx(kt);return An(Ht,{code:_a.invalid_type,expected:rn.number,received:Ht.parsedType}),vn}let St;const Pt=new r0;for(const Ht of this._def.checks)Ht.kind==="int"?On.isInteger(kt.data)||(St=this._getOrReturnCtx(kt,St),An(St,{code:_a.invalid_type,expected:"integer",received:"float",message:Ht.message}),Pt.dirty()):Ht.kind==="min"?(Ht.inclusive?kt.dataHt.value:kt.data>=Ht.value)&&(St=this._getOrReturnCtx(kt,St),An(St,{code:_a.too_big,maximum:Ht.value,type:"number",inclusive:Ht.inclusive,message:Ht.message}),Pt.dirty()):Ht.kind==="multipleOf"?Il(kt.data,Ht.value)!==0&&(St=this._getOrReturnCtx(kt,St),An(St,{code:_a.not_multiple_of,multipleOf:Ht.value,message:Ht.message}),Pt.dirty()):On.assertNever(Ht);return{status:Pt.value,value:kt.data}}gte(kt,St){return this.setLimit("min",kt,!0,a0.toString(St))}gt(kt,St){return this.setLimit("min",kt,!1,a0.toString(St))}lte(kt,St){return this.setLimit("max",kt,!0,a0.toString(St))}lt(kt,St){return this.setLimit("max",kt,!1,a0.toString(St))}setLimit(kt,St,Pt,Ht){return new P0(st(ot({},this._def),{checks:[...this._def.checks,{kind:kt,value:St,inclusive:Pt,message:a0.toString(Ht)}]}))}_addCheck(kt){return new P0(st(ot({},this._def),{checks:[...this._def.checks,kt]}))}int(kt){return this._addCheck({kind:"int",message:a0.toString(kt)})}positive(kt){return this._addCheck({kind:"min",value:0,inclusive:!1,message:a0.toString(kt)})}negative(kt){return this._addCheck({kind:"max",value:0,inclusive:!1,message:a0.toString(kt)})}nonpositive(kt){return this._addCheck({kind:"max",value:0,inclusive:!0,message:a0.toString(kt)})}nonnegative(kt){return this._addCheck({kind:"min",value:0,inclusive:!0,message:a0.toString(kt)})}multipleOf(kt,St){return this._addCheck({kind:"multipleOf",value:kt,message:a0.toString(St)})}get minValue(){let kt=null;for(const St of this._def.checks)St.kind==="min"&&(kt===null||St.value>kt)&&(kt=St.value);return kt}get maxValue(){let kt=null;for(const St of this._def.checks)St.kind==="max"&&(kt===null||St.valuekt.kind==="int")}}P0.create=wt=>new P0(ot({checks:[],typeName:Ln.ZodNumber},Bn(wt)));class Ss extends Cn{_parse(kt){if(this._getType(kt)!==rn.bigint){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.bigint,received:St.parsedType}),vn}return xn(kt.data)}}Ss.create=wt=>new Ss(ot({typeName:Ln.ZodBigInt},Bn(wt)));class j0 extends Cn{_parse(kt){if(this._getType(kt)!==rn.boolean){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.boolean,received:St.parsedType}),vn}return xn(kt.data)}}j0.create=wt=>new j0(ot({typeName:Ln.ZodBoolean},Bn(wt)));class ls extends Cn{_parse(kt){if(this._getType(kt)!==rn.date){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.date,received:St.parsedType}),vn}if(isNaN(kt.data.getTime())){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_date}),vn}return{status:"valid",value:new Date(kt.data.getTime())}}}ls.create=wt=>new ls(ot({typeName:Ln.ZodDate},Bn(wt)));class yo extends Cn{_parse(kt){if(this._getType(kt)!==rn.undefined){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.undefined,received:St.parsedType}),vn}return xn(kt.data)}}yo.create=wt=>new yo(ot({typeName:Ln.ZodUndefined},Bn(wt)));class vo extends Cn{_parse(kt){if(this._getType(kt)!==rn.null){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.null,received:St.parsedType}),vn}return xn(kt.data)}}vo.create=wt=>new vo(ot({typeName:Ln.ZodNull},Bn(wt)));class c0 extends Cn{constructor(){super(...arguments),this._any=!0}_parse(kt){return xn(kt.data)}}c0.create=wt=>new c0(ot({typeName:Ln.ZodAny},Bn(wt)));class $0 extends Cn{constructor(){super(...arguments),this._unknown=!0}_parse(kt){return xn(kt.data)}}$0.create=wt=>new $0(ot({typeName:Ln.ZodUnknown},Bn(wt)));class qo extends Cn{_parse(kt){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.never,received:St.parsedType}),vn}}qo.create=wt=>new qo(ot({typeName:Ln.ZodNever},Bn(wt)));class Rl extends Cn{_parse(kt){if(this._getType(kt)!==rn.undefined){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.void,received:St.parsedType}),vn}return xn(kt.data)}}Rl.create=wt=>new Rl(ot({typeName:Ln.ZodVoid},Bn(wt)));class Fo extends Cn{_parse(kt){const{ctx:St,status:Pt}=this._processInputParams(kt),Ht=this._def;if(St.parsedType!==rn.array)return An(St,{code:_a.invalid_type,expected:rn.array,received:St.parsedType}),vn;if(Ht.minLength!==null&&St.data.lengthHt.maxLength.value&&(An(St,{code:_a.too_big,maximum:Ht.maxLength.value,type:"array",inclusive:!0,message:Ht.maxLength.message}),Pt.dirty()),St.common.async)return Promise.all(St.data.map((Kt,ar)=>Ht.type._parseAsync(new so(St,Kt,St.path,ar)))).then(Kt=>r0.mergeArray(Pt,Kt));const Qt=St.data.map((Kt,ar)=>Ht.type._parseSync(new so(St,Kt,St.path,ar)));return r0.mergeArray(Pt,Qt)}get element(){return this._def.type}min(kt,St){return new Fo(st(ot({},this._def),{minLength:{value:kt,message:a0.toString(St)}}))}max(kt,St){return new Fo(st(ot({},this._def),{maxLength:{value:kt,message:a0.toString(St)}}))}length(kt,St){return this.min(kt,St).max(kt,St)}nonempty(kt){return this.min(1,kt)}}Fo.create=(wt,kt)=>new Fo(ot({type:wt,minLength:null,maxLength:null,typeName:Ln.ZodArray},Bn(kt)));var Ml;(function(wt){wt.mergeShapes=(kt,St)=>ot(ot({},kt),St)})(Ml||(Ml={}));const Zs=wt=>kt=>new w0(st(ot({},wt),{shape:()=>ot(ot({},wt.shape()),kt)}));function T0(wt){if(wt instanceof w0){const kt={};for(const St in wt.shape){const Pt=wt.shape[St];kt[St]=Ro.create(T0(Pt))}return new w0(st(ot({},wt._def),{shape:()=>kt}))}else return wt instanceof Fo?Fo.create(T0(wt.element)):wt instanceof Ro?Ro.create(T0(wt.unwrap())):wt instanceof ys?ys.create(T0(wt.unwrap())):wt instanceof u0?u0.create(wt.items.map(kt=>T0(kt))):wt}class w0 extends Cn{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=Zs(this._def),this.extend=Zs(this._def)}_getCached(){if(this._cached!==null)return this._cached;const kt=this._def.shape(),St=On.objectKeys(kt);return this._cached={shape:kt,keys:St}}_parse(kt){if(this._getType(kt)!==rn.object){const Ar=this._getOrReturnCtx(kt);return An(Ar,{code:_a.invalid_type,expected:rn.object,received:Ar.parsedType}),vn}const{status:St,ctx:Pt}=this._processInputParams(kt),{shape:Ht,keys:Qt}=this._getCached(),Kt=[];for(const Ar in Pt.data)Qt.includes(Ar)||Kt.push(Ar);const ar=[];for(const Ar of Qt){const pr=Ht[Ar],_r=Pt.data[Ar];ar.push({key:{status:"valid",value:Ar},value:pr._parse(new so(Pt,_r,Pt.path,Ar)),alwaysSet:Ar in Pt.data})}if(this._def.catchall instanceof qo){const Ar=this._def.unknownKeys;if(Ar==="passthrough")for(const pr of Kt)ar.push({key:{status:"valid",value:pr},value:{status:"valid",value:Pt.data[pr]}});else if(Ar==="strict")Kt.length>0&&(An(Pt,{code:_a.unrecognized_keys,keys:Kt}),St.dirty());else if(Ar!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const Ar=this._def.catchall;for(const pr of Kt){const _r=Pt.data[pr];ar.push({key:{status:"valid",value:pr},value:Ar._parse(new so(Pt,_r,Pt.path,pr)),alwaysSet:pr in Pt.data})}}return Pt.common.async?Promise.resolve().then(()=>ct(this,null,function*(){const Ar=[];for(const pr of ar){const _r=yield pr.key;Ar.push({key:_r,value:yield pr.value,alwaysSet:pr.alwaysSet})}return Ar})).then(Ar=>r0.mergeObjectSync(St,Ar)):r0.mergeObjectSync(St,ar)}get shape(){return this._def.shape()}strict(kt){return a0.errToObj,new w0(ot(st(ot({},this._def),{unknownKeys:"strict"}),kt!==void 0?{errorMap:(St,Pt)=>{var Ht,Qt,Kt,ar;const Ar=(Kt=(Qt=(Ht=this._def).errorMap)===null||Qt===void 0?void 0:Qt.call(Ht,St,Pt).message)!==null&&Kt!==void 0?Kt:Pt.defaultError;return St.code==="unrecognized_keys"?{message:(ar=a0.errToObj(kt).message)!==null&&ar!==void 0?ar:Ar}:{message:Ar}}}:{}))}strip(){return new w0(st(ot({},this._def),{unknownKeys:"strip"}))}passthrough(){return new w0(st(ot({},this._def),{unknownKeys:"passthrough"}))}setKey(kt,St){return this.augment({[kt]:St})}merge(kt){return new w0({unknownKeys:kt._def.unknownKeys,catchall:kt._def.catchall,shape:()=>Ml.mergeShapes(this._def.shape(),kt._def.shape()),typeName:Ln.ZodObject})}catchall(kt){return new w0(st(ot({},this._def),{catchall:kt}))}pick(kt){const St={};return On.objectKeys(kt).map(Pt=>{this.shape[Pt]&&(St[Pt]=this.shape[Pt])}),new w0(st(ot({},this._def),{shape:()=>St}))}omit(kt){const St={};return On.objectKeys(this.shape).map(Pt=>{On.objectKeys(kt).indexOf(Pt)===-1&&(St[Pt]=this.shape[Pt])}),new w0(st(ot({},this._def),{shape:()=>St}))}deepPartial(){return T0(this)}partial(kt){const St={};if(kt)return On.objectKeys(this.shape).map(Pt=>{On.objectKeys(kt).indexOf(Pt)===-1?St[Pt]=this.shape[Pt]:St[Pt]=this.shape[Pt].optional()}),new w0(st(ot({},this._def),{shape:()=>St}));for(const Pt in this.shape){const Ht=this.shape[Pt];St[Pt]=Ht.optional()}return new w0(st(ot({},this._def),{shape:()=>St}))}required(){const kt={};for(const St in this.shape){let Pt=this.shape[St];for(;Pt instanceof Ro;)Pt=Pt._def.innerType;kt[St]=Pt}return new w0(st(ot({},this._def),{shape:()=>kt}))}}w0.create=(wt,kt)=>new w0(ot({shape:()=>wt,unknownKeys:"strip",catchall:qo.create(),typeName:Ln.ZodObject},Bn(kt))),w0.strictCreate=(wt,kt)=>new w0(ot({shape:()=>wt,unknownKeys:"strict",catchall:qo.create(),typeName:Ln.ZodObject},Bn(kt))),w0.lazycreate=(wt,kt)=>new w0(ot({shape:wt,unknownKeys:"strip",catchall:qo.create(),typeName:Ln.ZodObject},Bn(kt)));class bo extends Cn{_parse(kt){const{ctx:St}=this._processInputParams(kt),Pt=this._def.options;function Ht(Qt){for(const ar of Qt)if(ar.result.status==="valid")return ar.result;for(const ar of Qt)if(ar.result.status==="dirty")return St.common.issues.push(...ar.ctx.common.issues),ar.result;const Kt=Qt.map(ar=>new e0(ar.ctx.common.issues));return An(St,{code:_a.invalid_union,unionErrors:Kt}),vn}if(St.common.async)return Promise.all(Pt.map(Qt=>ct(this,null,function*(){const Kt=st(ot({},St),{common:st(ot({},St.common),{issues:[]}),parent:null});return{result:yield Qt._parseAsync({data:St.data,path:St.path,parent:Kt}),ctx:Kt}}))).then(Ht);{let Qt;const Kt=[];for(const Ar of Pt){const pr=st(ot({},St),{common:st(ot({},St.common),{issues:[]}),parent:null}),_r=Ar._parseSync({data:St.data,path:St.path,parent:pr});if(_r.status==="valid")return _r;_r.status==="dirty"&&!Qt&&(Qt={result:_r,ctx:pr}),pr.common.issues.length&&Kt.push(pr.common.issues)}if(Qt)return St.common.issues.push(...Qt.ctx.common.issues),Qt.result;const ar=Kt.map(Ar=>new e0(Ar));return An(St,{code:_a.invalid_union,unionErrors:ar}),vn}}get options(){return this._def.options}}bo.create=(wt,kt)=>new bo(ot({options:wt,typeName:Ln.ZodUnion},Bn(kt)));class Os extends Cn{_parse(kt){const{ctx:St}=this._processInputParams(kt);if(St.parsedType!==rn.object)return An(St,{code:_a.invalid_type,expected:rn.object,received:St.parsedType}),vn;const Pt=this.discriminator,Ht=St.data[Pt],Qt=this.options.get(Ht);return Qt?St.common.async?Qt._parseAsync({data:St.data,path:St.path,parent:St}):Qt._parseSync({data:St.data,path:St.path,parent:St}):(An(St,{code:_a.invalid_union_discriminator,options:this.validDiscriminatorValues,path:[Pt]}),vn)}get discriminator(){return this._def.discriminator}get validDiscriminatorValues(){return Array.from(this.options.keys())}get options(){return this._def.options}static create(kt,St,Pt){const Ht=new Map;try{St.forEach(Qt=>{const Kt=Qt.shape[kt].value;Ht.set(Kt,Qt)})}catch(Qt){throw new Error("The discriminator value could not be extracted from all the provided schemas")}if(Ht.size!==St.length)throw new Error("Some of the discriminator values are not unique");return new Os(ot({typeName:Ln.ZodDiscriminatedUnion,discriminator:kt,options:Ht},Bn(Pt)))}}function Kl(wt,kt){const St=l0(wt),Pt=l0(kt);if(wt===kt)return{valid:!0,data:wt};if(St===rn.object&&Pt===rn.object){const Ht=On.objectKeys(kt),Qt=On.objectKeys(wt).filter(ar=>Ht.indexOf(ar)!==-1),Kt=ot(ot({},wt),kt);for(const ar of Qt){const Ar=Kl(wt[ar],kt[ar]);if(!Ar.valid)return{valid:!1};Kt[ar]=Ar.data}return{valid:!0,data:Kt}}else if(St===rn.array&&Pt===rn.array){if(wt.length!==kt.length)return{valid:!1};const Ht=[];for(let Qt=0;Qt{if(W0(Qt)||W0(Kt))return vn;const ar=Kl(Qt.value,Kt.value);return ar.valid?((po(Qt)||po(Kt))&&St.dirty(),{status:St.value,value:ar.data}):(An(Pt,{code:_a.invalid_intersection_types}),vn)};return Pt.common.async?Promise.all([this._def.left._parseAsync({data:Pt.data,path:Pt.path,parent:Pt}),this._def.right._parseAsync({data:Pt.data,path:Pt.path,parent:Pt})]).then(([Qt,Kt])=>Ht(Qt,Kt)):Ht(this._def.left._parseSync({data:Pt.data,path:Pt.path,parent:Pt}),this._def.right._parseSync({data:Pt.data,path:Pt.path,parent:Pt}))}}Is.create=(wt,kt,St)=>new Is(ot({left:wt,right:kt,typeName:Ln.ZodIntersection},Bn(St)));class u0 extends Cn{_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt);if(Pt.parsedType!==rn.array)return An(Pt,{code:_a.invalid_type,expected:rn.array,received:Pt.parsedType}),vn;if(Pt.data.lengththis._def.items.length&&(An(Pt,{code:_a.too_big,maximum:this._def.items.length,inclusive:!0,type:"array"}),St.dirty());const Ht=Pt.data.map((Qt,Kt)=>{const ar=this._def.items[Kt]||this._def.rest;return ar?ar._parse(new so(Pt,Qt,Pt.path,Kt)):null}).filter(Qt=>!!Qt);return Pt.common.async?Promise.all(Ht).then(Qt=>r0.mergeArray(St,Qt)):r0.mergeArray(St,Ht)}get items(){return this._def.items}rest(kt){return new u0(st(ot({},this._def),{rest:kt}))}}u0.create=(wt,kt)=>new u0(ot({items:wt,typeName:Ln.ZodTuple,rest:null},Bn(kt)));class Rs extends Cn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt);if(Pt.parsedType!==rn.object)return An(Pt,{code:_a.invalid_type,expected:rn.object,received:Pt.parsedType}),vn;const Ht=[],Qt=this._def.keyType,Kt=this._def.valueType;for(const ar in Pt.data)Ht.push({key:Qt._parse(new so(Pt,ar,Pt.path,ar)),value:Kt._parse(new so(Pt,Pt.data[ar],Pt.path,ar))});return Pt.common.async?r0.mergeObjectAsync(St,Ht):r0.mergeObjectSync(St,Ht)}get element(){return this._def.valueType}static create(kt,St,Pt){return St instanceof Cn?new Rs(ot({keyType:kt,valueType:St,typeName:Ln.ZodRecord},Bn(Pt))):new Rs(ot({keyType:B0.create(),valueType:kt,typeName:Ln.ZodRecord},Bn(St)))}}class Bl extends Cn{_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt);if(Pt.parsedType!==rn.map)return An(Pt,{code:_a.invalid_type,expected:rn.map,received:Pt.parsedType}),vn;const Ht=this._def.keyType,Qt=this._def.valueType,Kt=[...Pt.data.entries()].map(([ar,Ar],pr)=>({key:Ht._parse(new so(Pt,ar,Pt.path,[pr,"key"])),value:Qt._parse(new so(Pt,Ar,Pt.path,[pr,"value"]))}));if(Pt.common.async){const ar=new Map;return Promise.resolve().then(()=>ct(this,null,function*(){for(const Ar of Kt){const pr=yield Ar.key,_r=yield Ar.value;if(pr.status==="aborted"||_r.status==="aborted")return vn;(pr.status==="dirty"||_r.status==="dirty")&&St.dirty(),ar.set(pr.value,_r.value)}return{status:St.value,value:ar}}))}else{const ar=new Map;for(const Ar of Kt){const pr=Ar.key,_r=Ar.value;if(pr.status==="aborted"||_r.status==="aborted")return vn;(pr.status==="dirty"||_r.status==="dirty")&&St.dirty(),ar.set(pr.value,_r.value)}return{status:St.value,value:ar}}}}Bl.create=(wt,kt,St)=>new Bl(ot({valueType:kt,keyType:wt,typeName:Ln.ZodMap},Bn(St)));class Oo extends Cn{_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt);if(Pt.parsedType!==rn.set)return An(Pt,{code:_a.invalid_type,expected:rn.set,received:Pt.parsedType}),vn;const Ht=this._def;Ht.minSize!==null&&Pt.data.sizeHt.maxSize.value&&(An(Pt,{code:_a.too_big,maximum:Ht.maxSize.value,type:"set",inclusive:!0,message:Ht.maxSize.message}),St.dirty());const Qt=this._def.valueType;function Kt(Ar){const pr=new Set;for(const _r of Ar){if(_r.status==="aborted")return vn;_r.status==="dirty"&&St.dirty(),pr.add(_r.value)}return{status:St.value,value:pr}}const ar=[...Pt.data.values()].map((Ar,pr)=>Qt._parse(new so(Pt,Ar,Pt.path,pr)));return Pt.common.async?Promise.all(ar).then(Ar=>Kt(Ar)):Kt(ar)}min(kt,St){return new Oo(st(ot({},this._def),{minSize:{value:kt,message:a0.toString(St)}}))}max(kt,St){return new Oo(st(ot({},this._def),{maxSize:{value:kt,message:a0.toString(St)}}))}size(kt,St){return this.min(kt,St).max(kt,St)}nonempty(kt){return this.min(1,kt)}}Oo.create=(wt,kt)=>new Oo(ot({valueType:wt,minSize:null,maxSize:null,typeName:Ln.ZodSet},Bn(kt)));class cs extends Cn{constructor(){super(...arguments),this.validate=this.implement}_parse(kt){const{ctx:St}=this._processInputParams(kt);if(St.parsedType!==rn.function)return An(St,{code:_a.invalid_type,expected:rn.function,received:St.parsedType}),vn;function Pt(ar,Ar){return _o({data:ar,path:St.path,errorMaps:[St.common.contextualErrorMap,St.schemaErrorMap,ho,no].filter(pr=>!!pr),issueData:{code:_a.invalid_arguments,argumentsError:Ar}})}function Ht(ar,Ar){return _o({data:ar,path:St.path,errorMaps:[St.common.contextualErrorMap,St.schemaErrorMap,ho,no].filter(pr=>!!pr),issueData:{code:_a.invalid_return_type,returnTypeError:Ar}})}const Qt={errorMap:St.common.contextualErrorMap},Kt=St.data;return this._def.returns instanceof wo?xn((...ar)=>ct(this,null,function*(){const Ar=new e0([]),pr=yield this._def.args.parseAsync(ar,Qt).catch($r=>{throw Ar.addIssue(Pt(ar,$r)),Ar}),_r=yield Kt(...pr);return yield this._def.returns._def.type.parseAsync(_r,Qt).catch($r=>{throw Ar.addIssue(Ht(_r,$r)),Ar})})):xn((...ar)=>{const Ar=this._def.args.safeParse(ar,Qt);if(!Ar.success)throw new e0([Pt(ar,Ar.error)]);const pr=Kt(...Ar.data),_r=this._def.returns.safeParse(pr,Qt);if(!_r.success)throw new e0([Ht(pr,_r.error)]);return _r.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...kt){return new cs(st(ot({},this._def),{args:u0.create(kt).rest($0.create())}))}returns(kt){return new cs(st(ot({},this._def),{returns:kt}))}implement(kt){return this.parse(kt)}strictImplement(kt){return this.parse(kt)}}cs.create=(wt,kt,St)=>new cs(ot({args:wt?wt.rest($0.create()):u0.create([]).rest($0.create()),returns:kt||$0.create(),typeName:Ln.ZodFunction},Bn(St)));class Ms extends Cn{get schema(){return this._def.getter()}_parse(kt){const{ctx:St}=this._processInputParams(kt);return this._def.getter()._parse({data:St.data,path:St.path,parent:St})}}Ms.create=(wt,kt)=>new Ms(ot({getter:wt,typeName:Ln.ZodLazy},Bn(kt)));class No extends Cn{_parse(kt){if(kt.data!==this._def.value){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_literal,expected:this._def.value}),vn}return{status:"valid",value:kt.data}}get value(){return this._def.value}}No.create=(wt,kt)=>new No(ot({value:wt,typeName:Ln.ZodLiteral},Bn(kt)));function _c(wt,kt){return new Bs(ot({values:wt,typeName:Ln.ZodEnum},Bn(kt)))}class Bs extends Cn{_parse(kt){if(typeof kt.data!="string"){const St=this._getOrReturnCtx(kt),Pt=this._def.values;return An(St,{expected:On.joinValues(Pt),received:St.parsedType,code:_a.invalid_type}),vn}if(this._def.values.indexOf(kt.data)===-1){const St=this._getOrReturnCtx(kt),Pt=this._def.values;return An(St,{received:St.data,code:_a.invalid_enum_value,options:Pt}),vn}return xn(kt.data)}get options(){return this._def.values}get enum(){const kt={};for(const St of this._def.values)kt[St]=St;return kt}get Values(){const kt={};for(const St of this._def.values)kt[St]=St;return kt}get Enum(){const kt={};for(const St of this._def.values)kt[St]=St;return kt}}Bs.create=_c;class I0 extends Cn{_parse(kt){const St=On.getValidEnumValues(this._def.values),Pt=this._getOrReturnCtx(kt);if(Pt.parsedType!==rn.string&&Pt.parsedType!==rn.number){const Ht=On.objectValues(St);return An(Pt,{expected:On.joinValues(Ht),received:Pt.parsedType,code:_a.invalid_type}),vn}if(St.indexOf(kt.data)===-1){const Ht=On.objectValues(St);return An(Pt,{received:Pt.data,code:_a.invalid_enum_value,options:Ht}),vn}return xn(kt.data)}get enum(){return this._def.values}}I0.create=(wt,kt)=>new I0(ot({values:wt,typeName:Ln.ZodNativeEnum},Bn(kt)));class wo extends Cn{_parse(kt){const{ctx:St}=this._processInputParams(kt);if(St.parsedType!==rn.promise&&St.common.async===!1)return An(St,{code:_a.invalid_type,expected:rn.promise,received:St.parsedType}),vn;const Pt=St.parsedType===rn.promise?St.data:Promise.resolve(St.data);return xn(Pt.then(Ht=>this._def.type.parseAsync(Ht,{path:St.path,errorMap:St.common.contextualErrorMap})))}}wo.create=(wt,kt)=>new wo(ot({type:wt,typeName:Ln.ZodPromise},Bn(kt)));class Io extends Cn{innerType(){return this._def.schema}_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt),Ht=this._def.effect||null;if(Ht.type==="preprocess"){const Kt=Ht.transform(Pt.data);return Pt.common.async?Promise.resolve(Kt).then(ar=>this._def.schema._parseAsync({data:ar,path:Pt.path,parent:Pt})):this._def.schema._parseSync({data:Kt,path:Pt.path,parent:Pt})}const Qt={addIssue:Kt=>{An(Pt,Kt),Kt.fatal?St.abort():St.dirty()},get path(){return Pt.path}};if(Qt.addIssue=Qt.addIssue.bind(Qt),Ht.type==="refinement"){const Kt=ar=>{const Ar=Ht.refinement(ar,Qt);if(Pt.common.async)return Promise.resolve(Ar);if(Ar instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return ar};if(Pt.common.async===!1){const ar=this._def.schema._parseSync({data:Pt.data,path:Pt.path,parent:Pt});return ar.status==="aborted"?vn:(ar.status==="dirty"&&St.dirty(),Kt(ar.value),{status:St.value,value:ar.value})}else return this._def.schema._parseAsync({data:Pt.data,path:Pt.path,parent:Pt}).then(ar=>ar.status==="aborted"?vn:(ar.status==="dirty"&&St.dirty(),Kt(ar.value).then(()=>({status:St.value,value:ar.value}))))}if(Ht.type==="transform")if(Pt.common.async===!1){const Kt=this._def.schema._parseSync({data:Pt.data,path:Pt.path,parent:Pt});if(!Uo(Kt))return Kt;const ar=Ht.transform(Kt.value,Qt);if(ar instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:St.value,value:ar}}else return this._def.schema._parseAsync({data:Pt.data,path:Pt.path,parent:Pt}).then(Kt=>Uo(Kt)?Promise.resolve(Ht.transform(Kt.value,Qt)).then(ar=>({status:St.value,value:ar})):Kt);On.assertNever(Ht)}}Io.create=(wt,kt,St)=>new Io(ot({schema:wt,typeName:Ln.ZodEffects,effect:kt},Bn(St))),Io.createWithPreprocess=(wt,kt,St)=>new Io(ot({schema:kt,effect:{type:"preprocess",transform:wt},typeName:Ln.ZodEffects},Bn(St)));class Ro extends Cn{_parse(kt){return this._getType(kt)===rn.undefined?xn(void 0):this._def.innerType._parse(kt)}unwrap(){return this._def.innerType}}Ro.create=(wt,kt)=>new Ro(ot({innerType:wt,typeName:Ln.ZodOptional},Bn(kt)));class ys extends Cn{_parse(kt){return this._getType(kt)===rn.null?xn(null):this._def.innerType._parse(kt)}unwrap(){return this._def.innerType}}ys.create=(wt,kt)=>new ys(ot({innerType:wt,typeName:Ln.ZodNullable},Bn(kt)));class Pl extends Cn{_parse(kt){const{ctx:St}=this._processInputParams(kt);let Pt=St.data;return St.parsedType===rn.undefined&&(Pt=this._def.defaultValue()),this._def.innerType._parse({data:Pt,path:St.path,parent:St})}removeDefault(){return this._def.innerType}}Pl.create=(wt,kt)=>new Ro(ot({innerType:wt,typeName:Ln.ZodOptional},Bn(kt)));class Ys extends Cn{_parse(kt){if(this._getType(kt)!==rn.nan){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.nan,received:St.parsedType}),vn}return{status:"valid",value:kt.data}}}Ys.create=wt=>new Ys(ot({typeName:Ln.ZodNaN},Bn(wt)));const Jo=(wt,kt={},St)=>wt?c0.create().superRefine((Pt,Ht)=>{if(!wt(Pt)){const Qt=typeof kt=="function"?kt(Pt):kt,Kt=typeof Qt=="string"?{message:Qt}:Qt;Ht.addIssue(st(ot({code:"custom"},Kt),{fatal:St}))}}):c0.create(),k2={object:w0.lazycreate};var Ln;(function(wt){wt.ZodString="ZodString",wt.ZodNumber="ZodNumber",wt.ZodNaN="ZodNaN",wt.ZodBigInt="ZodBigInt",wt.ZodBoolean="ZodBoolean",wt.ZodDate="ZodDate",wt.ZodUndefined="ZodUndefined",wt.ZodNull="ZodNull",wt.ZodAny="ZodAny",wt.ZodUnknown="ZodUnknown",wt.ZodNever="ZodNever",wt.ZodVoid="ZodVoid",wt.ZodArray="ZodArray",wt.ZodObject="ZodObject",wt.ZodUnion="ZodUnion",wt.ZodDiscriminatedUnion="ZodDiscriminatedUnion",wt.ZodIntersection="ZodIntersection",wt.ZodTuple="ZodTuple",wt.ZodRecord="ZodRecord",wt.ZodMap="ZodMap",wt.ZodSet="ZodSet",wt.ZodFunction="ZodFunction",wt.ZodLazy="ZodLazy",wt.ZodLiteral="ZodLiteral",wt.ZodEnum="ZodEnum",wt.ZodEffects="ZodEffects",wt.ZodNativeEnum="ZodNativeEnum",wt.ZodOptional="ZodOptional",wt.ZodNullable="ZodNullable",wt.ZodDefault="ZodDefault",wt.ZodPromise="ZodPromise"})(Ln||(Ln={}));const M2=(wt,kt={message:`Input not instance of ${wt.name}`})=>Jo(St=>St instanceof wt,kt,!0),r2=B0.create,Us=P0.create,B2=Ys.create,a2=Ss.create,Qs=j0.create,P2=ls.create,n2=yo.create,Ll=vo.create,L2=c0.create,Ps=$0.create,us=qo.create,D2=Rl.create,v0=Fo.create,f0=w0.create,F2=w0.strictCreate,i2=bo.create,N2=Os.create,E2=Is.create,o2=u0.create,_2=Rs.create,qs=Bl.create,zo=Oo.create,D0=cs.create,jo=Ms.create,F0=No.create,Vo=Bs.create,Mo=I0.create,U0=wo.create,Ls=Io.create,s2=Ro.create,Dl=ys.create,Ds=Io.createWithPreprocess;var nn=Object.freeze({__proto__:null,getParsedType:l0,ZodParsedType:rn,makeIssue:_o,EMPTY_PATH:Do,addIssueToContext:An,ParseStatus:r0,INVALID:vn,DIRTY:_0,OK:xn,isAborted:W0,isDirty:po,isValid:Uo,isAsync:bs,ZodType:Cn,ZodString:B0,ZodNumber:P0,ZodBigInt:Ss,ZodBoolean:j0,ZodDate:ls,ZodUndefined:yo,ZodNull:vo,ZodAny:c0,ZodUnknown:$0,ZodNever:qo,ZodVoid:Rl,ZodArray:Fo,get objectUtil(){return Ml},ZodObject:w0,ZodUnion:bo,ZodDiscriminatedUnion:Os,ZodIntersection:Is,ZodTuple:u0,ZodRecord:Rs,ZodMap:Bl,ZodSet:Oo,ZodFunction:cs,ZodLazy:Ms,ZodLiteral:No,ZodEnum:Bs,ZodNativeEnum:I0,ZodPromise:wo,ZodEffects:Io,ZodTransformer:Io,ZodOptional:Ro,ZodNullable:ys,ZodDefault:Pl,ZodNaN:Ys,custom:Jo,Schema:Cn,ZodSchema:Cn,late:k2,get ZodFirstPartyTypeKind(){return Ln},any:L2,array:v0,bigint:a2,boolean:Qs,date:P2,discriminatedUnion:N2,effect:Ls,enum:Vo,function:D0,instanceof:M2,intersection:E2,lazy:jo,literal:F0,map:qs,nan:B2,nativeEnum:Mo,never:us,null:Ll,nullable:Dl,number:Us,object:f0,oboolean:()=>Qs().optional(),onumber:()=>Us().optional(),optional:s2,ostring:()=>r2().optional(),preprocess:Ds,promise:U0,record:_2,set:zo,strictObject:F2,string:r2,transformer:Ls,tuple:o2,undefined:n2,union:i2,unknown:Ps,void:D2,ZodIssueCode:_a,quotelessJson:Ao,ZodError:e0,defaultErrorMap:no,get overrideErrorMap(){return ho},setErrorMap:Yo});const Js=["dotnetspy","ebpfspy","gospy","phpspy","pyspy","rbspy","nodespy","javaspy","pyroscope-rs"],io=["scrape","tracing","unknown"],Bo=[...Js,...io],Q0=nn.preprocess(wt=>!wt||!Bo.includes(wt)?"unknown":wt,nn.enum(Bo).default("unknown")),l2=nn.object({names:nn.array(nn.preprocess(wt=>wt||"unknown",nn.string().min(1))),levels:nn.array(nn.array(nn.number())),numTicks:nn.number(),maxSelf:nn.number()}),fs=["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples"],Go=nn.preprocess(wt=>typeof wt=="string"&&fs.includes(wt)?wt:"",nn.enum(["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples",""])),xo=nn.object({appName:nn.string().optional(),name:nn.string().optional(),startTime:nn.number().optional(),endTime:nn.number().optional(),query:nn.string().optional(),maxNodes:nn.number().optional(),format:nn.enum(["single","double"]),sampleRate:nn.number(),spyName:Q0,units:Go});nn.object({version:nn.number().min(1).max(1).default(1),flamebearer:l2,metadata:xo,leftTicks:nn.number().optional(),rightTicks:nn.number().optional()});const sr={format:"single",jStep:4,jName:3,getBarOffset:(wt,kt)=>wt[kt],getBarTotal:(wt,kt)=>wt[kt+1],getBarTotalDiff:(wt,kt)=>0,getBarSelf:(wt,kt)=>wt[kt+2],getBarSelfDiff:(wt,kt)=>0,getBarName:(wt,kt)=>wt[kt+3]},gr={format:"double",jStep:7,jName:6,getBarOffset:(wt,kt)=>wt[kt]+wt[kt+3],getBarTotal:(wt,kt)=>wt[kt+4]+wt[kt+1],getBarTotalLeft:(wt,kt)=>wt[kt+1],getBarTotalRght:(wt,kt)=>wt[kt+4],getBarTotalDiff:(wt,kt)=>wt[kt+4]-wt[kt+1],getBarSelf:(wt,kt)=>wt[kt+5]+wt[kt+2],getBarSelfLeft:(wt,kt)=>wt[kt+2],getBarSelfRght:(wt,kt)=>wt[kt+5],getBarSelfDiff:(wt,kt)=>wt[kt+5]-wt[kt+2],getBarName:(wt,kt)=>wt[kt+6]};function Ir(wt){switch(wt){case"single":return sr;case"double":return gr;default:throw new Error(`Unsupported type: '${wt}'`)}}const Jr=nn.object({refType:nn.string(),traceID:nn.string(),spanID:nn.string()}),pn=nn.object({key:nn.string(),type:nn.string(),value:nn.union([nn.boolean(),nn.number(),nn.string()])}),an=nn.object({traceID:nn.string(),spanID:nn.string(),flags:nn.string(),operationName:nn.string(),references:nn.array(Jr),startTime:nn.number(),duration:nn.number(),tags:nn.array(pn),logs:nn.object({timestamp:nn.number(),fields:nn.array(pn)}),processID:nn.string(),warnings:nn.any()}),Fn=nn.object({serviceName:nn.string(),tags:nn.array(pn)});nn.object({traceID:nn.string(),spans:nn.array(an),processes:nn.record(Fn),warnings:nn.any()});const n0=nn.object({watermark:nn.object({}).optional(),startTime:nn.number(),samples:nn.array(nn.number()),durationDelta:nn.number()});nn.record(nn.string(),n0);const A0=22,L0=5,q0=20,S0=.5,p0=A0-S0;function lo(wt){return wt.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}function lr(wt){return`${Ut(wt)}%`}function Ut(wt){return Math.round(1e4*wt)/100}function ir(wt,kt,St){switch(St){case"samples":return new yr(wt/kt);case"objects":return new Hr(wt);case"goroutines":return new Hr(wt);case"bytes":return new Yr(wt);case"lock_nanoseconds":return new Mr(wt);case"lock_samples":return new Hr(wt);case"trace_samples":return new yr(wt/kt,"",!0);default:return console.warn(`Unsupported unit: '${St}'. Defaulting to ''`),new yr(wt/kt," ")}}class yr{constructor(kt,St,Pt){this.divider=1,this.enableSubsecondPrecision=!1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],this.units="",Pt&&(this.enableSubsecondPrecision=Pt,this.durations=[[1e3,"ms"],[1e3,"second"],...this.durations],this.suffix="μs",kt*=1e6),this.units=St||"";for(let Ht=0;Ht=Qt[0])this.divider*=Qt[0],kt/=Qt[0],this.suffix=Qt[1];else break}}format(kt,St){this.enableSubsecondPrecision&&(St/=1e6);const Pt=kt/St/this.divider;let Ht=Pt.toFixed(2);return Pt===0?Ht="0.00":(Pt>=0&&Pt<.01||Pt<=0&&Pt>-.01)&&(Ht="< 0.01"),`${Ht} ${this.units||`${this.suffix}${Pt===1||this.suffix.length===2?"":"s"}`}`}}class Mr{constructor(kt){this.divider=1,this.multiplier=1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],kt/=1e9;for(let St=0;St=Pt[0])this.divider*=Pt[0],kt/=Pt[0],this.suffix=Pt[1];else break}}format(kt){const St=kt/1e9/this.divider;let Pt=St.toFixed(2);return(St>=0&&St<.01||St<=0&&St>-.01)&&(Pt="< 0.01"),`${Pt} ${this.suffix}${St===1?"":"s"}`}}class Hr{constructor(kt){this.divider=1,this.suffix="",this.objects=[[1e3,"K"],[1e3,"M"],[1e3,"G"],[1e3,"T"],[1e3,"P"]];for(let St=0;St=Pt[0])this.divider*=Pt[0],kt/=Pt[0],this.suffix=Pt[1];else break}}format(kt){const St=kt/this.divider;let Pt=St.toFixed(2);return(St>=0&&St<.01||St<=0&&St>-.01)&&(Pt="< 0.01"),`${Pt} ${this.suffix}`}}class Yr{constructor(kt){this.divider=1,this.suffix="bytes",this.bytes=[[1024,"KB"],[1024,"MB"],[1024,"GB"],[1024,"TB"],[1024,"PB"]];for(let St=0;St=Pt[0]){this.divider*=Pt[0],kt/=Pt[0];const Ht=Pt[1];Ht?this.suffix=Ht:(console.warn("Could not calculate suffix"),this.suffix="")}else break}}format(kt){const St=kt/this.divider;let Pt=St.toFixed(2);return(St>=0&&St<.01||St<=0&&St>-.01)&&(Pt="< 0.01"),`${Pt} ${this.suffix}`}}const ln="TAIL",En="HEAD",yn=3;function Jn({mode:wt,charSize:kt,rectWidth:St,fullText:Pt,shortText:Ht}){switch(wt){case ln:if(kt*Pt.length<=St)return{mode:wt,text:Pt,marginLeft:yn};const Qt=kt*Ht.length;return Qt<=St?{mode:wt,text:Ht,marginLeft:yn}:{mode:wt,text:Ht,marginLeft:-(Qt-St+yn)};case En:default:return{mode:wt,text:Pt,marginLeft:yn}}}function i0(wt){switch(wt){case ln:return{direction:"rtl",overflow:"hidden",textOverflow:"ellipsis"};case En:default:return{overflow:"hidden",textOverflow:"ellipsis"}}}function o0(wt,kt,St,Pt){const Ht=gr;if(!St||!Pt)return console.error("Properties 'rightTicks' and 'leftTicks' are required. Can't calculate ratio."),{leftRatio:0,rightRatio:0};const Qt=Ht.getBarTotalLeft(wt,kt)/St,Kt=Ht.getBarTotalRght(wt,kt)/Pt;return{leftRatio:Qt,rightRatio:Kt}}var d0=ht(346),bn=ht.n(d0),V0=Math.sqrt(50),oo=Math.sqrt(10),co=Math.sqrt(2);function Fs(wt,kt,St){var Pt,Ht=-1,Qt,Kt,ar;if(kt=+kt,wt=+wt,St=+St,wt===kt&&St>0)return[wt];if((Pt=kt0){let Ar=Math.round(wt/ar),pr=Math.round(kt/ar);for(Ar*arkt&&--pr,Kt=new Array(Qt=pr-Ar+1);++Htkt&&--pr,Kt=new Array(Qt=pr-Ar+1);++Ht=0?(Qt>=V0?10:Qt>=oo?5:Qt>=co?2:1)*Math.pow(10,Ht):-Math.pow(10,-Ht)/(Qt>=V0?10:Qt>=oo?5:Qt>=co?2:1)}function Xs(wt,kt,St){var Pt=Math.abs(kt-wt)/Math.max(0,St),Ht=Math.pow(10,Math.floor(Math.log(Pt)/Math.LN10)),Qt=Pt/Ht;return Qt>=V0?Ht*=10:Qt>=oo?Ht*=5:Qt>=co&&(Ht*=2),ktkt?1:wt>=kt?0:NaN}function f1(wt){let kt=wt,St=wt,Pt=wt;wt.length!==2&&(kt=(ar,Ar)=>wt(ar)-Ar,St=x2,Pt=(ar,Ar)=>x2(wt(ar),Ar));function Ht(ar,Ar,pr=0,_r=ar.length){if(pr<_r){if(St(Ar,Ar)!==0)return _r;do{const $r=pr+_r>>>1;Pt(ar[$r],Ar)<0?pr=$r+1:_r=$r}while(pr<_r)}return pr}function Qt(ar,Ar,pr=0,_r=ar.length){if(pr<_r){if(St(Ar,Ar)!==0)return _r;do{const $r=pr+_r>>>1;Pt(ar[$r],Ar)<=0?pr=$r+1:_r=$r}while(pr<_r)}return pr}function Kt(ar,Ar,pr=0,_r=ar.length){const $r=Ht(ar,Ar,pr,_r-1);return $r>pr&&kt(ar[$r-1],Ar)>-kt(ar[$r],Ar)?$r-1:$r}return{left:Ht,center:Kt,right:Qt}}function R4(wt){return wt===null?NaN:+wt}const C2=f1(x2),A1=C2.right;f1(R4).center;const H3=A1;function cA(wt,kt,St){wt.prototype=kt.prototype=St,St.constructor=wt}function M4(wt,kt){var St=Object.create(wt.prototype);for(var Pt in kt)St[Pt]=kt[Pt];return St}function Fl(){}var Ko=.7,Bu=1/Ko,ou="\\s*([+-]?\\d+)\\s*",Pu="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Nl="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",W3=/^#([0-9a-f]{3,8})$/,Z3=new RegExp("^rgb\\("+[ou,ou,ou]+"\\)$"),su=new RegExp("^rgb\\("+[Nl,Nl,Nl]+"\\)$"),Tr=new RegExp("^rgba\\("+[ou,ou,ou,Pu]+"\\)$"),Wr=new RegExp("^rgba\\("+[Nl,Nl,Nl,Pu]+"\\)$"),Nr=new RegExp("^hsl\\("+[Pu,Nl,Nl]+"\\)$"),hn=new RegExp("^hsla\\("+[Pu,Nl,Nl,Pu]+"\\)$"),zn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};cA(Fl,z2,{copy:function(wt){return Object.assign(new this.constructor,this,wt)},displayable:function(){return this.rgb().displayable()},hex:b0,formatHex:b0,formatHsl:ko,formatRgb:R0,toString:R0});function b0(){return this.rgb().formatHex()}function ko(){return fA(this).formatHsl()}function R0(){return this.rgb().formatRgb()}function z2(wt){var kt,St;return wt=(wt+"").trim().toLowerCase(),(kt=W3.exec(wt))?(St=kt[1].length,kt=parseInt(kt[1],16),St===6?B4(kt):St===3?new Co(kt>>8&15|kt>>4&240,kt>>4&15|kt&240,(kt&15)<<4|kt&15,1):St===8?ts(kt>>24&255,kt>>16&255,kt>>8&255,(kt&255)/255):St===4?ts(kt>>12&15|kt>>8&240,kt>>8&15|kt>>4&240,kt>>4&15|kt&240,((kt&15)<<4|kt&15)/255):null):(kt=Z3.exec(wt))?new Co(kt[1],kt[2],kt[3],1):(kt=su.exec(wt))?new Co(kt[1]*255/100,kt[2]*255/100,kt[3]*255/100,1):(kt=Tr.exec(wt))?ts(kt[1],kt[2],kt[3],kt[4]):(kt=Wr.exec(wt))?ts(kt[1]*255/100,kt[2]*255/100,kt[3]*255/100,kt[4]):(kt=Nr.exec(wt))?P4(kt[1],kt[2]/100,kt[3]/100,1):(kt=hn.exec(wt))?P4(kt[1],kt[2]/100,kt[3]/100,kt[4]):zn.hasOwnProperty(wt)?B4(zn[wt]):wt==="transparent"?new Co(NaN,NaN,NaN,0):null}function B4(wt){return new Co(wt>>16&255,wt>>8&255,wt&255,1)}function ts(wt,kt,St,Pt){return Pt<=0&&(wt=kt=St=NaN),new Co(wt,kt,St,Pt)}function d1(wt){return wt instanceof Fl||(wt=z2(wt)),wt?(wt=wt.rgb(),new Co(wt.r,wt.g,wt.b,wt.opacity)):new Co}function uA(wt,kt,St,Pt){return arguments.length===1?d1(wt):new Co(wt,kt,St,Pt==null?1:Pt)}function Co(wt,kt,St,Pt){this.r=+wt,this.g=+kt,this.b=+St,this.opacity=+Pt}cA(Co,uA,M4(Fl,{brighter:function(wt){return wt=wt==null?Bu:Math.pow(Bu,wt),new Co(this.r*wt,this.g*wt,this.b*wt,this.opacity)},darker:function(wt){return wt=wt==null?Ko:Math.pow(Ko,wt),new Co(this.r*wt,this.g*wt,this.b*wt,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Lu,formatHex:Lu,formatRgb:Du,toString:Du}));function Lu(){return"#"+k0(this.r)+k0(this.g)+k0(this.b)}function Du(){var wt=this.opacity;return wt=isNaN(wt)?1:Math.max(0,Math.min(1,wt)),(wt===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(wt===1?")":", "+wt+")")}function k0(wt){return wt=Math.max(0,Math.min(255,Math.round(wt)||0)),(wt<16?"0":"")+wt.toString(16)}function P4(wt,kt,St,Pt){return Pt<=0?wt=kt=St=NaN:St<=0||St>=1?wt=kt=NaN:kt<=0&&(wt=NaN),new zl(wt,kt,St,Pt)}function fA(wt){if(wt instanceof zl)return new zl(wt.h,wt.s,wt.l,wt.opacity);if(wt instanceof Fl||(wt=z2(wt)),!wt)return new zl;if(wt instanceof zl)return wt;wt=wt.rgb();var kt=wt.r/255,St=wt.g/255,Pt=wt.b/255,Ht=Math.min(kt,St,Pt),Qt=Math.max(kt,St,Pt),Kt=NaN,ar=Qt-Ht,Ar=(Qt+Ht)/2;return ar?(kt===Qt?Kt=(St-Pt)/ar+(St0&&Ar<1?0:Kt,new zl(Kt,ar,Ar,wt.opacity)}function h1(wt,kt,St,Pt){return arguments.length===1?fA(wt):new zl(wt,kt,St,Pt==null?1:Pt)}function zl(wt,kt,St,Pt){this.h=+wt,this.s=+kt,this.l=+St,this.opacity=+Pt}cA(zl,h1,M4(Fl,{brighter:function(wt){return wt=wt==null?Bu:Math.pow(Bu,wt),new zl(this.h,this.s,this.l*wt,this.opacity)},darker:function(wt){return wt=wt==null?Ko:Math.pow(Ko,wt),new zl(this.h,this.s,this.l*wt,this.opacity)},rgb:function(){var wt=this.h%360+(this.h<0)*360,kt=isNaN(wt)||isNaN(this.s)?0:this.s,St=this.l,Pt=St+(St<.5?St:1-St)*kt,Ht=2*St-Pt;return new Co(AA(wt>=240?wt-240:wt+120,Ht,Pt),AA(wt,Ht,Pt),AA(wt<120?wt+240:wt-120,Ht,Pt),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var wt=this.opacity;return wt=isNaN(wt)?1:Math.max(0,Math.min(1,wt)),(wt===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(wt===1?")":", "+wt+")")}}));function AA(wt,kt,St){return(wt<60?kt+(St-kt)*wt/60:wt<180?St:wt<240?kt+(St-kt)*(240-wt)/60:kt)*255}const dA=wt=>()=>wt;function p1(wt,kt){return function(St){return wt+St*kt}}function $2(wt,kt,St){return wt=Math.pow(wt,St),kt=Math.pow(kt,St)-wt,St=1/St,function(Pt){return Math.pow(wt+Pt*kt,St)}}function v1(wt){return(wt=+wt)==1?hA:function(kt,St){return St-kt?$2(kt,St,wt):dA(isNaN(kt)?St:kt)}}function hA(wt,kt){var St=kt-wt;return St?p1(wt,St):dA(isNaN(wt)?kt:wt)}const Fu=function wt(kt){var St=v1(kt);function Pt(Ht,Qt){var Kt=St((Ht=uA(Ht)).r,(Qt=uA(Qt)).r),ar=St(Ht.g,Qt.g),Ar=St(Ht.b,Qt.b),pr=hA(Ht.opacity,Qt.opacity);return function(_r){return Ht.r=Kt(_r),Ht.g=ar(_r),Ht.b=Ar(_r),Ht.opacity=pr(_r),Ht+""}}return Pt.gamma=wt,Pt}(1);function L4(wt,kt){var St=kt?kt.length:0,Pt=wt?Math.min(St,wt.length):0,Ht=new Array(Pt),Qt=new Array(St),Kt;for(Kt=0;KtSt&&(Qt=kt.slice(St,Qt),ar[Kt]?ar[Kt]+=Qt:ar[++Kt]=Qt),(Pt=Pt[0])===(Ht=Ht[0])?ar[Kt]?ar[Kt]+=Ht:ar[++Kt]=Ht:(ar[++Kt]=null,Ar.push({i:Kt,x:j2(Pt,Ht)})),St=c2.lastIndex;return Stkt&&(St=wt,wt=kt,kt=St),function(Pt){return Math.max(wt,Math.min(kt,Pt))}}function J3(wt,kt,St){var Pt=wt[0],Ht=wt[1],Qt=kt[0],Kt=kt[1];return Ht2?X3:J3,Ar=pr=null,$r}function $r(zr){return zr==null||isNaN(zr=+zr)?Qt:(Ar||(Ar=ar(wt.map(Pt),kt,St)))(Pt(Kt(zr)))}return $r.invert=function(zr){return Kt(Ht((pr||(pr=ar(kt,wt.map(Pt),j2)))(zr)))},$r.domain=function(zr){return arguments.length?(wt=Array.from(zr,N4),_r()):wt.slice()},$r.range=function(zr){return arguments.length?(kt=Array.from(zr),_r()):kt.slice()},$r.rangeRound=function(zr){return kt=Array.from(zr),St=pA,_r()},$r.clamp=function(zr){return arguments.length?(Kt=zr?!0:cu,_r()):Kt!==cu},$r.interpolate=function(zr){return arguments.length?(St=zr,_r()):St},$r.unknown=function(zr){return arguments.length?(Qt=zr,$r):Qt},function(zr,Xr){return Pt=zr,Ht=Xr,_r()}}function vA(){return K3()(cu,cu)}function Nu(wt,kt){switch(arguments.length){case 0:break;case 1:this.range(wt);break;default:this.range(kt).domain(wt);break}return this}var bA=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function u2(wt){if(!(kt=bA.exec(wt)))throw new Error("invalid format: "+wt);var kt;return new G2({fill:kt[1],align:kt[2],sign:kt[3],symbol:kt[4],zero:kt[5],width:kt[6],comma:kt[7],precision:kt[8]&&kt[8].slice(1),trim:kt[9],type:kt[10]})}u2.prototype=G2.prototype;function G2(wt){this.fill=wt.fill===void 0?" ":wt.fill+"",this.align=wt.align===void 0?">":wt.align+"",this.sign=wt.sign===void 0?"-":wt.sign+"",this.symbol=wt.symbol===void 0?"":wt.symbol+"",this.zero=!!wt.zero,this.width=wt.width===void 0?void 0:+wt.width,this.comma=!!wt.comma,this.precision=wt.precision===void 0?void 0:+wt.precision,this.trim=!!wt.trim,this.type=wt.type===void 0?"":wt.type+""}G2.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function zu(wt){return Math.abs(wt=Math.round(wt))>=1e21?wt.toLocaleString("en").replace(/,/g,""):wt.toString(10)}function H2(wt,kt){if((St=(wt=kt?wt.toExponential(kt-1):wt.toExponential()).indexOf("e"))<0)return null;var St,Pt=wt.slice(0,St);return[Pt.length>1?Pt[0]+Pt.slice(2):Pt,+wt.slice(St+1)]}function Ks(wt){return wt=H2(Math.abs(wt)),wt?wt[1]:NaN}function e8(wt,kt){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ks(kt)/3)))*3-Ks(Math.abs(wt)))}function t8(wt,kt){return function(St,Pt){for(var Ht=St.length,Qt=[],Kt=0,ar=wt[0],Ar=0;Ht>0&&ar>0&&(Ar+ar+1>Pt&&(ar=Math.max(1,Pt-Ar)),Qt.push(St.substring(Ht-=ar,Ht+ar)),!((Ar+=ar+1)>Pt));)ar=wt[Kt=(Kt+1)%wt.length];return Qt.reverse().join(kt)}}function r8(wt){return function(kt){return kt.replace(/[0-9]/g,function(St){return wt[+St]})}}function a8(wt){e:for(var kt=wt.length,St=1,Pt=-1,Ht;St0&&(Pt=0);break}return Pt>0?wt.slice(0,Pt)+wt.slice(Ht+1):wt}var V4;function m1(wt,kt){var St=H2(wt,kt);if(!St)return wt+"";var Pt=St[0],Ht=St[1],Qt=Ht-(V4=Math.max(-8,Math.min(8,Math.floor(Ht/3)))*3)+1,Kt=Pt.length;return Qt===Kt?Pt:Qt>Kt?Pt+new Array(Qt-Kt+1).join("0"):Qt>0?Pt.slice(0,Qt)+"."+Pt.slice(Qt):"0."+new Array(1-Qt).join("0")+H2(wt,Math.max(0,kt+Qt-1))[0]}function uu(wt,kt){var St=H2(wt,kt);if(!St)return wt+"";var Pt=St[0],Ht=St[1];return Ht<0?"0."+new Array(-Ht).join("0")+Pt:Pt.length>Ht+1?Pt.slice(0,Ht+1)+"."+Pt.slice(Ht+1):Pt+new Array(Ht-Pt.length+2).join("0")}const gA={"%":(wt,kt)=>(wt*100).toFixed(kt),b:wt=>Math.round(wt).toString(2),c:wt=>wt+"",d:zu,e:(wt,kt)=>wt.toExponential(kt),f:(wt,kt)=>wt.toFixed(kt),g:(wt,kt)=>wt.toPrecision(kt),o:wt=>Math.round(wt).toString(8),p:(wt,kt)=>uu(wt*100,kt),r:uu,s:m1,X:wt=>Math.round(wt).toString(16).toUpperCase(),x:wt=>Math.round(wt).toString(16)};function hr(wt){return wt}var W2=Array.prototype.map,ju=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Ns(wt){var kt=wt.grouping===void 0||wt.thousands===void 0?hr:t8(W2.call(wt.grouping,Number),wt.thousands+""),St=wt.currency===void 0?"":wt.currency[0]+"",Pt=wt.currency===void 0?"":wt.currency[1]+"",Ht=wt.decimal===void 0?".":wt.decimal+"",Qt=wt.numerals===void 0?hr:r8(W2.call(wt.numerals,String)),Kt=wt.percent===void 0?"%":wt.percent+"",ar=wt.minus===void 0?"−":wt.minus+"",Ar=wt.nan===void 0?"NaN":wt.nan+"";function pr($r){$r=u2($r);var zr=$r.fill,Xr=$r.align,Qr=$r.sign,en=$r.symbol,Zr=$r.zero,Gr=$r.width,wn=$r.comma,Tn=$r.precision,Hn=$r.trim,Sn=$r.type;Sn==="n"?(wn=!0,Sn="g"):gA[Sn]||(Tn===void 0&&(Tn=12),Hn=!0,Sn="g"),(Zr||zr==="0"&&Xr==="=")&&(Zr=!0,zr="0",Xr="=");var qn=en==="$"?St:en==="#"&&/[boxX]/.test(Sn)?"0"+Sn.toLowerCase():"",xa=en==="$"?Pt:/[%p]/.test(Sn)?Kt:"",mt=gA[Sn],$t=/[defgprs%]/.test(Sn);Tn=Tn===void 0?6:/[gprs]/.test(Sn)?Math.max(1,Math.min(21,Tn)):Math.max(0,Math.min(20,Tn));function Dt(Yt){var rr=qn,cr=xa,br,wr,xr;if(Sn==="c")cr=mt(Yt)+cr,Yt="";else{Yt=+Yt;var Fr=Yt<0||1/Yt<0;if(Yt=isNaN(Yt)?Ar:mt(Math.abs(Yt),Tn),Hn&&(Yt=a8(Yt)),Fr&&+Yt==0&&Qr!=="+"&&(Fr=!1),rr=(Fr?Qr==="("?Qr:ar:Qr==="-"||Qr==="("?"":Qr)+rr,cr=(Sn==="s"?ju[8+V4/3]:"")+cr+(Fr&&Qr==="("?")":""),$t){for(br=-1,wr=Yt.length;++brxr||xr>57){cr=(xr===46?Ht+Yt.slice(br+1):Yt.slice(br))+cr,Yt=Yt.slice(0,br);break}}}wn&&!Zr&&(Yt=kt(Yt,1/0));var Rr=rr.length+Yt.length+cr.length,Br=Rr>1)+rr+Yt+cr+Br.slice(Rr);break;default:Yt=Br+rr+Yt+cr;break}return Qt(Yt)}return Dt.toString=function(){return $r+""},Dt}function _r($r,zr){var Xr=pr(($r=u2($r),$r.type="f",$r)),Qr=Math.max(-8,Math.min(8,Math.floor(Ks(zr)/3)))*3,en=Math.pow(10,-Qr),Zr=ju[8+Qr/3];return function(Gr){return Xr(en*Gr)+Zr}}return{format:pr,formatPrefix:_r}}var Kn,G4,H4;n8({thousands:",",grouping:[3],currency:["$",""]});function n8(wt){return Kn=Ns(wt),G4=Kn.format,H4=Kn.formatPrefix,Kn}function U2(wt,kt){return wt=Math.abs(wt),kt=Math.abs(kt)-wt,Math.max(0,Ks(kt)-Ks(wt))+1}function i8(wt){return Math.max(0,-Ks(Math.abs(wt)))}function o8(wt,kt,St,Pt){var Ht=Xs(wt,kt,St),Qt;switch(Pt=u2(Pt==null?",f":Pt),Pt.type){case"s":{var Kt=Math.max(Math.abs(wt),Math.abs(kt));return Pt.precision==null&&!isNaN(Qt=e8(Ht,Kt))&&(Pt.precision=Qt),H4(Pt,Kt)}case"":case"e":case"g":case"p":case"r":{Pt.precision==null&&!isNaN(Qt=U2(Ht,Math.max(Math.abs(wt),Math.abs(kt))))&&(Pt.precision=Qt-(Pt.type==="e"));break}case"f":case"%":{Pt.precision==null&&!isNaN(Qt=i8(Ht))&&(Pt.precision=Qt-(Pt.type==="%")*2);break}}return G4(Pt)}function s8(wt){var kt=wt.domain;return wt.ticks=function(St){var Pt=kt();return Fs(Pt[0],Pt[Pt.length-1],St==null?10:St)},wt.tickFormat=function(St,Pt){var Ht=kt();return o8(Ht[0],Ht[Ht.length-1],St==null?10:St,Pt)},wt.nice=function(St){St==null&&(St=10);var Pt=kt(),Ht=0,Qt=Pt.length-1,Kt=Pt[Ht],ar=Pt[Qt],Ar,pr,_r=10;for(ar0;){if(pr=Xo(Kt,ar,St),pr===Ar)return Pt[Ht]=Kt,Pt[Qt]=ar,kt(Pt);if(pr>0)Kt=Math.floor(Kt/pr)*pr,ar=Math.ceil(ar/pr)*pr;else if(pr<0)Kt=Math.ceil(Kt*pr)/pr,ar=Math.floor(ar*pr)/pr;else break;Ar=pr}return wt},wt}function W4(){var wt=vA();return wt.copy=function(){return j4(wt,W4())},Nu.apply(wt,arguments),s8(wt)}function l8(wt,kt=0){let St,Pt,Ht,Qt,Kt,ar,Ar,pr;for(St=wt.length&3,Pt=wt.length-St,Ht=kt,Kt=3432918353,ar=461845907,pr=0;pr>>16)*Kt&65535)<<16)&4294967295,Ar=Ar<<15|Ar>>>17,Ar=(Ar&65535)*ar+(((Ar>>>16)*ar&65535)<<16)&4294967295,Ht^=Ar,Ht=Ht<<13|Ht>>>19,Qt=(Ht&65535)*5+(((Ht>>>16)*5&65535)<<16)&4294967295,Ht=(Qt&65535)+27492+(((Qt>>>16)+58964&65535)<<16);switch(Ar=0,St){case 3:Ar^=(wt.charCodeAt(pr+2)&255)<<16;case 2:Ar^=(wt.charCodeAt(pr+1)&255)<<8;case 1:Ar^=wt.charCodeAt(pr)&255;default:Ar=(Ar&65535)*Kt+(((Ar>>>16)*Kt&65535)<<16)&4294967295,Ar=Ar<<15|Ar>>>17,Ar=(Ar&65535)*ar+(((Ar>>>16)*ar&65535)<<16)&4294967295,Ht^=Ar}return Ht^=wt.length,Ht^=Ht>>>16,Ht=(Ht&65535)*2246822507+(((Ht>>>16)*2246822507&65535)<<16)&4294967295,Ht^=Ht>>>13,Ht=(Ht&65535)*3266489909+(((Ht>>>16)*3266489909&65535)<<16)&4294967295,Ht^=Ht>>>16,Ht>>>0}const Vl=bn().rgb(148,142,142);bn().rgb(200,0,0),bn().rgb(0,170,0),bn()("#48CE73");function c8(wt,kt,St){const Pt=u8(kt,St);return U4(wt)(Pt)}function u8(wt,kt){if(wt===kt)return 0;if(wt===0)return 100;const St=(kt-wt)/wt*100;return St>100?100:St<-100?-100:St}function Z4(wt,kt){return bn().rgb(wt,wt,wt).alpha(kt)}function f8(wt){switch(wt){case"dotnetspy":return new RegExp("^(?.+)\\.(.+)\\.(.+)\\(.*\\)$");case"ebpfspy":return new RegExp("^(?.+)$");case"gospy":return new RegExp("^(?.*?\\/.*?\\.|.*?\\.|.+)(?.*)$");case"scrape":return new RegExp("^(?.*?\\/.*?\\.|.*?\\.|.+)(?.*)$");case"phpspy":return new RegExp("^(?(.*\\/)*)(?.*\\.php+)(?.*)$");case"pyspy":return new RegExp("^(?(.*\\/)*)(?.*\\.py+)(?.*)$");case"rbspy":return new RegExp("^(?(.*\\/)*)(?.*\\.rb+)(?.*)$");case"nodespy":return new RegExp("^(\\.\\/node_modules\\/)?(?[^/]*)(?.*\\.?(jsx?|tsx?)?):(?.*):(?.*)$");case"tracing":return new RegExp("^(?.+?):.*$");case"javaspy":return new RegExp("^(?.+\\/)(?.+\\.)(?.+)$");case"pyroscope-rs":return new RegExp("^(?[^::]+)");case"unknown":return new RegExp("^(?.+)$")}return new RegExp("^(?.+)$")}function Y4(wt,kt){if(kt.length===0)return kt;const St=f8(wt),Pt=kt.match(St);return Pt&&Pt.groups?Pt.groups.packageName||"":kt}function Gl(wt,kt){const St=l8(kt,0)%wt.colors.length;return wt.colors[St]||(console.warn("Could not calculate color. Defaulting to the first one"),wt.colors[0])}function U4(wt){const{goodColor:kt,neutralColor:St,badColor:Pt}=wt,Ht=W4().domain([-100,0,100]).range([kt.rgb().toString(),St.rgb().toString(),Pt.rgb().toString()]);return Qt=>bn()(Ht(Qt).toString())}function Q4(wt,kt){return kt.toLowerCase().includes(wt.toLowerCase())}var A8=Object.defineProperty,d8=Object.defineProperties,h8=Object.getOwnPropertyDescriptors,T2=Object.getOwnPropertySymbols,p8=Object.prototype.hasOwnProperty,b8=Object.prototype.propertyIsEnumerable,zs=(wt,kt,St)=>kt in wt?A8(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,q4=(wt,kt)=>{for(var St in kt||(kt={}))p8.call(kt,St)&&zs(wt,St,kt[St]);if(T2)for(var St of T2(kt))b8.call(kt,St)&&zs(wt,St,kt[St]);return wt},g8=(wt,kt)=>d8(wt,h8(kt));function J4(wt){const{canvas:kt,fitMode:St,units:Pt,tickToX:Ht,levels:Qt,palette:Kt}=wt,{numTicks:ar,sampleRate:Ar,pxPerTick:pr}=wt,{rangeMin:_r,rangeMax:$r}=wt,{focusedNode:zr,zoom:Xr}=wt,Qr=yA(kt);if(kt.width=Qr,_r>=$r)throw new Error("'rangeMin' should be strictly smaller than 'rangeMax'");const{format:en}=wt,Zr=Ir(en),Gr=kt.getContext("2d");if(!Gr)throw new Error("Could not get ctx");const wn=Xr.mapOrElse(()=>0,mt=>mt.i),Tn=ir(ar,Ar,Pt),Hn=zr.isJust,Sn=zr.mapOrElse(()=>0,mt=>mt.i),qn=A0*(Qt.length-Sn)+(Hn?p0:0);kt.height=qn,devicePixelRatio>1&&(kt.width*=2,kt.height*=2,Gr.scale(2,2));const{names:xa}=wt;if(Hn){const mt=ar*pr;Gr.beginPath(),Gr.rect(0,0,ar*pr,p0),Gr.fillStyle=Z4(200,1).rgb().string(),Gr.fill();const $t=zr.mapOrElse(()=>"total",xr=>`total (${xr.i-1} level(s) collapsed)`);Gr.textBaseline="middle",Gr.font="400 11.5px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace";const Dt=Gr.measureText("a").width,Yt=Jn({mode:St,charSize:Dt,rectWidth:mt,fullText:$t,shortText:$t}),rr=0,cr=0,br=p0;Gr.save(),Gr.clip(),Gr.fillStyle="black";const wr=Math.round(Math.max(rr,0));Gr.fillText(Yt.text,wr+Yt.marginLeft,cr+br/2+1),Gr.restore()}for(let mt=0;mt0,xr=K4(Dt+Zr.jName,$t,xa,wt.highlightQuery);let Fr=Zr.getBarTotal($t,Dt);const Rr=Fr*pr<=L0;if(Rr)for(;Dt<$t.length-Zr.jStep&&Yt+Fr===Zr.getBarOffset($t,Dt+Zr.jStep)&&Zr.getBarTotal($t,Dt+Zr.jStep)*pr<=L0&&xr===(wt.highlightQuery&&K4(Dt+Zr.jStep+Zr.jName,$t,xa,wt.highlightQuery)||!1);)Dt+=Zr.jStep,Fr+=Zr.getBarTotal($t,Dt);const Br=Fr*pr-(Rr?0:S0),{spyName:$a}=wt,sn=(()=>{const h0={level:$t,j:Dt,i:mt+zr.mapOrElse(()=>0,g0=>g0.i),names:xa,collapsed:Rr,selectedLevel:wn,highlightModeOn:wr,isHighlighted:xr,spyName:$a,palette:Kt};switch(en){case"single":return X4(q4({},h0));case"double":return w8(g8(q4({},h0),{leftTicks:wt.leftTicks,rightTicks:wt.rightTicks}));default:throw new Error(`Unsupported format: ${en}`)}})();if(Gr.beginPath(),Gr.rect(rr,cr,Br,br),Gr.fillStyle=sn.string(),Gr.fill(),Rr||Brwt.i?.33:1;let Ht=wt.level[wt.j+St.jName];Ht===void 0&&(console.warn("Could nto find level",{l:wt.j,jName:St.jName,level:wt.level}),Ht=-1);const Qt=wt.names[Ht]||"",Kt=Y4(wt.spyName,Qt)||"";return Gl(wt.palette,Kt).alpha(Pt)}function w8(wt){const kt=mA(wt);if(kt)return kt;const St=wt.selectedLevel>wt.i?.33:1,{leftRatio:Pt,rightRatio:Ht}=o0(wt.level,wt.j,wt.leftTicks,wt.rightTicks),Qt=Ut(Pt),Kt=Ut(Ht);return c8(wt.palette,Qt,Kt).alpha(St)}function K4(wt,kt,St,Pt){const Ht=kt[wt];if(!Ht)return!1;const Qt=St[Ht];return Qt?Q4(Pt,Qt):!1}function yA(wt){return wt.clientWidth||wt.width}var Vu=Object.defineProperty,w1=Object.defineProperties,k8=Object.getOwnPropertyDescriptors,wA=Object.getOwnPropertySymbols,E8=Object.prototype.hasOwnProperty,f2=Object.prototype.propertyIsEnumerable,k1=(wt,kt,St)=>kt in wt?Vu(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,Hl=(wt,kt)=>{for(var St in kt||(kt={}))E8.call(kt,St)&&k1(wt,St,kt[St]);if(wA)for(var St of wA(kt))f2.call(kt,St)&&k1(wt,St,kt[St]);return wt},ws=(wt,kt)=>w1(wt,k8(kt));class ep{constructor(kt,St,Pt,Ht,Qt,Kt,ar){if(this.flamebearer=kt,this.canvas=St,this.focusedNode=Pt,this.fitMode=Ht,this.highlightQuery=Qt,this.zoom=Kt,this.palette=ar,this.tickToX=Ar=>{const{rangeMin:pr}=this.getRange();return(Ar-this.flamebearer.numTicks*pr)*this.pxPerTick()},this.xyToBarPosition=Ar=>{const{ff:pr}=this,{i:_r,j:$r}=this.xyToBarIndex(Ar.x,Ar.y),zr=this.focusedNode.mapOrElse(()=>0,Gr=>Gr.i<0?0:Gr.i-1),Xr=this.flamebearer.levels[_r];if(!Xr)throw new Error(`Could not find level: '${_r}'`);const Qr=Math.max(this.tickToX(pr.getBarOffset(Xr,$r)),0),en=Math.max((_r-zr)*A0,0),Zr=Math.min(this.tickToX(pr.getBarOffset(Xr,$r)+pr.getBarTotal(Xr,$r))-Qr,this.getCanvasWidth());return{x:Qr,y:en,width:Zr}},this.xyToBarData=Ar=>{const{i:pr,j:_r}=this.xyToBarIndex(Ar.x,Ar.y),$r=this.flamebearer.levels[pr];if(!$r)throw new Error(`Could not find level: '${pr}'`);switch(this.flamebearer.format){case"single":{const zr=sr;return{format:"single",name:this.flamebearer.names[zr.getBarName($r,_r)],self:zr.getBarSelf($r,_r),offset:zr.getBarOffset($r,_r),total:zr.getBarTotal($r,_r)}}case"double":{const zr=gr;return{format:"double",barTotal:zr.getBarTotal($r,_r),totalLeft:zr.getBarTotalLeft($r,_r),totalRight:zr.getBarTotalRght($r,_r),totalDiff:zr.getBarTotalDiff($r,_r),name:this.flamebearer.names[zr.getBarName($r,_r)]}}default:throw new Error("Unsupported type")}},this.isWithinBounds=(Ar,pr)=>{if(Ar<0||Ar>this.getCanvasWidth())return!1;try{const{i:_r,j:$r}=this.xyToBarIndex(Ar,pr);if($r===-1||_r===-1)return!1}catch(_r){return!1}return!0},this.zoom=Kt,this.focusedNode=Pt,this.flamebearer=kt,this.canvas=St,this.highlightQuery=Qt,this.ff=Ir(kt.format),this.palette=ar,Pt.isJust&&Kt.isJust&&Kt.value.i{const ar=this.flamebearer.levels[Kt.i];if(!ar)throw new Error(`Could not find level: '${Kt.i}'`);const Ar=kt.getBarOffset(ar,Kt.j)/this.flamebearer.numTicks,pr=(kt.getBarOffset(ar,Kt.j)+kt.getBarTotal(ar,Kt.j))/this.flamebearer.numTicks;return{rangeMin:Ar,rangeMax:pr}},Pt=Kt=>{const ar=this.flamebearer.levels[Kt.i];if(!ar)throw new Error(`Could not find level: '${Kt.i}'`);const Ar=kt.getBarOffset(ar,Kt.j)/this.flamebearer.numTicks,pr=(kt.getBarOffset(ar,Kt.j)+kt.getBarTotal(ar,Kt.j))/this.flamebearer.numTicks;return{rangeMin:Ar,rangeMax:pr}},{zoom:Ht,focusedNode:Qt}=this;return Ht.match({Just:Kt=>Qt.match({Just:ar=>{const Ar=Pt(ar),pr=St(Kt);return Ar.rangeMax-Ar.rangeMinSt(Kt)}),Nothing:()=>Qt.match({Just:Kt=>Pt(Kt),Nothing:()=>({rangeMin:0,rangeMax:1})})})}getCanvasWidth(){return this.canvas.clientWidth||this.canvas.width}isFocused(){return this.focusedNode.isJust}binarySearchLevel(kt,St){const{ff:Pt}=this;let Ht=0,Qt=St.length-Pt.jStep;for(;Ht<=Qt;){const Kt=Pt.jStep*(Ht/Pt.jStep+Qt/Pt.jStep>>1),ar=this.tickToX(Pt.getBarOffset(St,Kt)),Ar=this.tickToX(Pt.getBarOffset(St,Kt)+Pt.getBarTotal(St,Kt));if(ar<=kt&&Ar>=kt)return Ar-ar>L0?Kt:-1;ar>kt?Qt=Kt-Pt.jStep:Ht=Kt+Pt.jStep}return-1}xyToBarIndex(kt,St){if(kt<0||St<0)throw new Error(`x and y must be bigger than 0. x = ${kt}, y = ${St}`);if(this.isFocused()&&St<=p0)return{i:0,j:0};const Pt=this.isFocused()?St-p0:St,Ht=this.focusedNode.mapOrElse(()=>0,ar=>ar.i<=0?0:ar.i),Qt=this.zoom.match({Just:()=>this.focusedNode.match({Just:()=>Ht,Nothing:()=>0}),Nothing:()=>this.focusedNode.match({Just:()=>Ht,Nothing:()=>0})}),Kt=Math.floor(Pt/A0)+Qt;if(Kt>=0&&Kt{const{i:Ht,j:Qt}=this.xyToBarIndex(kt,St),Kt=this.xyToBarPosition(Pt),ar=this.xyToBarData(Pt);return Hl(Hl({i:Ht,j:Qt},Kt),ar)})}}function kA(wt){var kt,St,Pt="";if(typeof wt=="string"||typeof wt=="number")Pt+=wt;else if(typeof wt=="object")if(Array.isArray(wt))for(kt=0;kt{var Ct=xt(905),gt=Array.prototype.concat,wt=Array.prototype.slice,_t=bt.exports=function(Et){for(var It=[],Tt=0,Rt=Et.length;Tt{bt.exports=function(dt){return!dt||typeof dt=="string"?!1:dt instanceof Array||Array.isArray(dt)||dt.length>=0&&(dt.splice instanceof Function||Object.getOwnPropertyDescriptor(dt,dt.length-1)&&dt.constructor.name!=="String")}},156:bt=>{bt.exports=ut},111:bt=>{bt.exports=ft}},vt={};function ht(bt){var dt=vt[bt];if(dt!==void 0)return dt.exports;var xt=vt[bt]={id:bt,loaded:!1,exports:{}};return At[bt](xt,xt.exports,ht),xt.loaded=!0,xt.exports}ht.n=bt=>{var dt=bt&&bt.__esModule?()=>bt.default:()=>bt;return ht.d(dt,{a:dt}),dt},ht.d=(bt,dt)=>{for(var xt in dt)ht.o(dt,xt)&&!ht.o(bt,xt)&&Object.defineProperty(bt,xt,{enumerable:!0,get:dt[xt]})},ht.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(bt){if(typeof window=="object")return window}}(),ht.o=(bt,dt)=>Object.prototype.hasOwnProperty.call(bt,dt),ht.r=bt=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(bt,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(bt,"__esModule",{value:!0})},ht.nmd=bt=>(bt.paths=[],bt.children||(bt.children=[]),bt);var mt={};return(()=>{ht.r(mt),ht.d(mt,{Box:()=>Ct,DefaultPalette:()=>R2,Flamegraph:()=>ep,FlamegraphRenderer:()=>T4,convertJaegerTraceToProfile:()=>S4,diffTwoProfiles:()=>nm});var bt=ht(156),dt=ht.n(bt);const xt={box:"CymgObeW6VZutKnn+knV0w==",padding:"_27LlhV46s9ZMTAMouwXorw=="};function Ct(yt){const{children:kt,noPadding:St,className:Pt=""}=yt,Gt=St?"":xt.padding;return dt().createElement("div",{className:`${xt.box} ${Gt} ${Pt}`},kt)}const gt=Symbol("BrandTag");class wt{constructor(kt){this[gt]=kt}}const _t=new wt("unit"),Et=yt=>typeof yt>"u"||yt===null;function It(yt,kt){return kt!==void 0?yt(kt):yt}function Tt(yt){return yt.isOk?s0.just(yt.value):s0.nothing()}function Rt(yt,kt){const St=Pt=>Pt.isJust?hr.ok(Pt.value):hr.err(yt);return kt!==void 0?St(kt):St}function Ot(yt,kt){return It(St=>St.isJust?hr.ok(St.value):hr.err(yt()),kt)}const Mt={Ok:"Ok",Err:"Err"};class Bt{constructor(kt){this.repr=kt}static ok(kt){return Et(kt)?new Bt(["Ok",_t]):new Bt(["Ok",kt])}static err(kt){return Et(kt)?new Bt(["Err",_t]):new Bt(["Err",kt])}get variant(){return this.repr[0]}get value(){if(this.repr[0]===Mt.Err)throw new Error("Cannot get the value of Err");return this.repr[1]}get error(){if(this.repr[0]===Mt.Ok)throw new Error("Cannot get the error of Ok");return this.repr[1]}get isOk(){return this.repr[0]===Mt.Ok}get isErr(){return this.repr[0]===Mt.Err}map(kt){return zt(kt,this)}mapOr(kt,St){return Nt(kt,St,this)}mapOrElse(kt,St){return Wt(kt,St,this)}match(kt){return Jt(kt,this)}mapErr(kt){return qt(kt,this)}or(kt){return Kt(kt,this)}orElse(kt){return er(kt,this)}and(kt){return nr(kt,this)}andThen(kt){return ar(kt,this)}unwrapOr(kt){return Ut(kt,this)}unwrapOrElse(kt){return Ht(kt,this)}toMaybe(){return Tt(this)}toString(){return Ft(this)}toJSON(){return Vt(this)}equals(kt){return or(kt,this)}ap(kt){return Ar(this,kt)}}const Lt=Bt.ok,jt=Bt.err;function zt(yt,kt){return It(St=>St.isOk?Lt(yt(St.value)):St,kt)}function Nt(yt,kt,St){function Pt(Qt,Xt){return Xt.isOk?Qt(Xt.value):yt}function Gt(Qt,Xt){return Xt!==void 0?Pt(Qt,Xt):rr=>Pt(Qt,rr)}return kt===void 0?Gt:St===void 0?Gt(kt):Gt(kt,St)}function Wt(yt,kt,St){function Pt(Qt,Xt){return Xt.isOk?Qt(Xt.value):yt(Xt.error)}function Gt(Qt,Xt){return Xt!==void 0?Pt(Qt,Xt):rr=>Pt(Qt,rr)}return kt===void 0?Gt:St===void 0?Gt(kt):Gt(kt,St)}function qt(yt,kt){return It(St=>St.isOk?St:jt(yt(St.error)),kt)}function nr(yt,kt){return It(St=>St.isOk?yt:jt(St.error),kt)}function ar(yt,kt){return It(St=>St.isOk?yt(St.value):jt(St.error),kt)}function Kt(yt,kt){return It(St=>St.isOk?Lt(St.value):yt,kt)}function er(yt,kt){return It(St=>St.isOk?Lt(St.value):yt(St.error),kt)}function Ut(yt,kt){return It(St=>St.isOk?St.value:yt,kt)}function Ht(yt,kt){return It(St=>St.isOk?St.value:yt(St.error),kt)}const Ft=yt=>{const kt=(yt.isOk?yt.value:yt.error).toString();return`${yt.variant.toString()}(${kt})`},Vt=yt=>yt.isOk?{variant:yt.variant,value:yt.value}:{variant:yt.variant,error:yt.error};function Jt(yt,kt){return It(St=>Wt(yt.Err,yt.Ok,St),kt)}function or(yt,kt){return kt!==void 0?kt.match({Err:()=>yt.isErr,Ok:St=>yt.isOk&&yt.value===St}):St=>St.match({Err:()=>yt.isErr,Ok:Pt=>yt.isOk&&yt.value===Pt})}function Ar(yt,kt){return It(St=>St.andThen(Pt=>yt.map(Gt=>Gt(Pt))),kt)}const hr=Bt,vr={Just:"Just",Nothing:"Nothing"};let Er;class mr{constructor(kt){if(Et(kt))return this.repr=[vr.Nothing],Er||(Er=this),Er;this.repr=[vr.Just,kt]}static of(kt){return new mr(kt)}static just(kt){if(Et(kt))throw new Error(`attempted to call "just" with ${kt}`);return new mr(kt)}static nothing(kt){return new mr}get variant(){return this.repr[0]}get value(){if(this.repr[0]===vr.Nothing)throw new Error("Cannot get the value of `Nothing`");return this.repr[1]}get isJust(){return this.repr[0]===vr.Just}get isNothing(){return this.repr[0]===vr.Nothing}map(kt){return na(kt,this)}mapOr(kt,St){return ba(kt,St,this)}mapOrElse(kt,St){return qr(kt,St,this)}match(kt){return Kr(kt,this)}or(kt){return Sr(kt,this)}orElse(kt){return jr(kt,this)}and(kt){return Pr(kt,this)}andThen(kt){return ur(kt,this)}unwrapOr(kt){return Dr(kt,this)}unwrapOrElse(kt){return Cr(kt,this)}toOkOrErr(kt){return Rt(kt,this)}toOkOrElseErr(kt){return Ot(kt,this)}toString(){return tn(this)}toJSON(){return Vr(this)}equals(kt){return _n(kt,this)}ap(kt){return $n(this,kt)}get(kt){return kn(kt,this)}}const Or=mr.just,Lr=mr.nothing;mr.of;function na(yt,kt){return It(St=>St.isJust?Or(yt(St.value)):Lr(),kt)}function ba(yt,kt,St){function Pt(Qt,Xt){return Xt.isJust?Qt(Xt.value):yt}function Gt(Qt,Xt){return Xt!==void 0?Pt(Qt,Xt):rr=>Pt(Qt,rr)}return kt===void 0?Gt:St===void 0?Gt(kt):Gt(kt,St)}function qr(yt,kt,St){function Pt(Qt,Xt){return Xt.isJust?Qt(Xt.value):yt()}function Gt(Qt,Xt){return Xt!==void 0?Pt(Qt,Xt):rr=>Pt(Qt,rr)}return kt===void 0?Gt:St===void 0?Gt(kt):Gt(kt,St)}function Pr(yt,kt){return It(St=>St.isJust?yt:Lr(),kt)}function ur(yt,kt){const St=Pt=>Pt.isJust?yt(Pt.value):Lr();return kt!==void 0?St(kt):St}function Sr(yt,kt){const St=Pt=>Pt.isJust?Pt:yt;return kt!==void 0?St(kt):St}function jr(yt,kt){return It(St=>St.isJust?St:yt(),kt)}function Dr(yt,kt){return It(St=>St.isJust?St.value:yt,kt)}function Cr(yt,kt){return It(St=>St.isJust?St.value:yt(),kt)}function tn(yt){const kt=yt.isJust?`(${yt.value.toString()})`:"";return`${yt.variant}${kt}`}function Vr(yt){return yt.isJust?{variant:yt.variant,value:gn(yt.value)?yt.value.toJSON():yt.value}:{variant:yt.variant}}function Kr(yt,kt){return It(St=>qr(yt.Nothing,yt.Just,St),kt)}function _n(yt,kt){return It(St=>St.match({Just:Pt=>yt.isJust&&yt.value===Pt,Nothing:()=>yt.isNothing}),kt)}function $n(yt,kt){return It(St=>St.andThen(Pt=>yt.map(Gt=>Gt(Pt))),kt)}function gn(yt){return yt instanceof cn}function Nn(yt,kt){return It(St=>cn.of(St[yt]),kt)}function kn(yt,kt){return It(ur(Nn(yt)),kt)}const cn=mr,s0=cn;var On;(function(yt){function kt(Pt){throw new Error}yt.assertNever=kt,yt.arrayToEnum=Pt=>{const Gt={};for(const Qt of Pt)Gt[Qt]=Qt;return Gt},yt.getValidEnumValues=Pt=>{const Gt=yt.objectKeys(Pt).filter(Xt=>typeof Pt[Pt[Xt]]!="number"),Qt={};for(const Xt of Gt)Qt[Xt]=Pt[Xt];return yt.objectValues(Qt)},yt.objectValues=Pt=>yt.objectKeys(Pt).map(function(Gt){return Pt[Gt]}),yt.objectKeys=typeof Object.keys=="function"?Pt=>Object.keys(Pt):Pt=>{const Gt=[];for(const Qt in Pt)Object.prototype.hasOwnProperty.call(Pt,Qt)&&Gt.push(Qt);return Gt},yt.find=(Pt,Gt)=>{for(const Qt of Pt)if(Gt(Qt))return Qt},yt.isInteger=typeof Number.isInteger=="function"?Pt=>Number.isInteger(Pt):Pt=>typeof Pt=="number"&&isFinite(Pt)&&Math.floor(Pt)===Pt;function St(Pt,Gt=" | "){return Pt.map(Qt=>typeof Qt=="string"?`'${Qt}'`:Qt).join(Gt)}yt.joinValues=St})(On||(On={}));const rn=On.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),l0=yt=>{switch(typeof yt){case"undefined":return rn.undefined;case"string":return rn.string;case"number":return isNaN(yt)?rn.nan:rn.number;case"boolean":return rn.boolean;case"function":return rn.function;case"bigint":return rn.bigint;case"object":return Array.isArray(yt)?rn.array:yt===null?rn.null:yt.then&&typeof yt.then=="function"&&yt.catch&&typeof yt.catch=="function"?rn.promise:typeof Map<"u"&&yt instanceof Map?rn.map:typeof Set<"u"&&yt instanceof Set?rn.set:typeof Date<"u"&&yt instanceof Date?rn.date:rn.object;default:return rn.unknown}},_a=On.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of"]),Ao=yt=>JSON.stringify(yt,null,2).replace(/"([^"]+)":/g,"$1:");class e0 extends Error{constructor(kt){super(),this.issues=[],this.addIssue=Pt=>{this.issues=[...this.issues,Pt]},this.addIssues=(Pt=[])=>{this.issues=[...this.issues,...Pt]};const St=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,St):this.__proto__=St,this.name="ZodError",this.issues=kt}get errors(){return this.issues}format(kt){const St=kt||function(Qt){return Qt.message},Pt={_errors:[]},Gt=Qt=>{for(const Xt of Qt.issues)if(Xt.code==="invalid_union")Xt.unionErrors.map(Gt);else if(Xt.code==="invalid_return_type")Gt(Xt.returnTypeError);else if(Xt.code==="invalid_arguments")Gt(Xt.argumentsError);else if(Xt.path.length===0)Pt._errors.push(St(Xt));else{let rr=Pt,fr=0;for(;frSt.message){const St={},Pt=[];for(const Gt of this.issues)Gt.path.length>0?(St[Gt.path[0]]=St[Gt.path[0]]||[],St[Gt.path[0]].push(kt(Gt))):Pt.push(kt(Gt));return{formErrors:Pt,fieldErrors:St}}get formErrors(){return this.flatten()}}e0.create=yt=>new e0(yt);const no=(yt,kt)=>{let St;switch(yt.code){case _a.invalid_type:yt.received===rn.undefined?St="Required":St=`Expected ${yt.expected}, received ${yt.received}`;break;case _a.invalid_literal:St=`Invalid literal value, expected ${JSON.stringify(yt.expected)}`;break;case _a.unrecognized_keys:St=`Unrecognized key(s) in object: ${On.joinValues(yt.keys,", ")}`;break;case _a.invalid_union:St="Invalid input";break;case _a.invalid_union_discriminator:St=`Invalid discriminator value. Expected ${On.joinValues(yt.options)}`;break;case _a.invalid_enum_value:St=`Invalid enum value. Expected ${On.joinValues(yt.options)}, received '${yt.received}'`;break;case _a.invalid_arguments:St="Invalid function arguments";break;case _a.invalid_return_type:St="Invalid function return type";break;case _a.invalid_date:St="Invalid date";break;case _a.invalid_string:yt.validation!=="regex"?St=`Invalid ${yt.validation}`:St="Invalid";break;case _a.too_small:yt.type==="array"?St=`Array must contain ${yt.inclusive?"at least":"more than"} ${yt.minimum} element(s)`:yt.type==="string"?St=`String must contain ${yt.inclusive?"at least":"over"} ${yt.minimum} character(s)`:yt.type==="number"?St=`Number must be greater than ${yt.inclusive?"or equal to ":""}${yt.minimum}`:St="Invalid input";break;case _a.too_big:yt.type==="array"?St=`Array must contain ${yt.inclusive?"at most":"less than"} ${yt.maximum} element(s)`:yt.type==="string"?St=`String must contain ${yt.inclusive?"at most":"under"} ${yt.maximum} character(s)`:yt.type==="number"?St=`Number must be less than ${yt.inclusive?"or equal to ":""}${yt.maximum}`:St="Invalid input";break;case _a.custom:St="Invalid input";break;case _a.invalid_intersection_types:St="Intersection results could not be merged";break;case _a.not_multiple_of:St=`Number must be a multiple of ${yt.multipleOf}`;break;default:St=kt.defaultError,On.assertNever(yt)}return{message:St}};let ho=no;const Yo=yt=>{ho=yt},_o=yt=>{const{data:kt,path:St,errorMaps:Pt,issueData:Gt}=yt,Qt=[...St,...Gt.path||[]],Xt=st(ot({},Gt),{path:Qt});let rr="";const fr=Pt.filter(pr=>!!pr).slice().reverse();for(const pr of fr)rr=pr(Xt,{data:kt,defaultError:rr}).message;return st(ot({},Gt),{path:Qt,message:Gt.message||rr})},Do=[];function An(yt,kt){const St=_o({issueData:kt,data:yt.data,path:yt.path,errorMaps:[yt.common.contextualErrorMap,yt.schemaErrorMap,ho,no].filter(Pt=>!!Pt)});yt.common.issues.push(St)}class r0{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(kt,St){const Pt=[];for(const Gt of St){if(Gt.status==="aborted")return vn;Gt.status==="dirty"&&kt.dirty(),Pt.push(Gt.value)}return{status:kt.value,value:Pt}}static mergeObjectAsync(kt,St){return ct(this,null,function*(){const Pt=[];for(const Gt of St)Pt.push({key:yield Gt.key,value:yield Gt.value});return r0.mergeObjectSync(kt,Pt)})}static mergeObjectSync(kt,St){const Pt={};for(const Gt of St){const{key:Qt,value:Xt}=Gt;if(Qt.status==="aborted"||Xt.status==="aborted")return vn;Qt.status==="dirty"&&kt.dirty(),Xt.status==="dirty"&&kt.dirty(),(typeof Xt.value<"u"||Gt.alwaysSet)&&(Pt[Qt.value]=Xt.value)}return{status:kt.value,value:Pt}}}const vn=Object.freeze({status:"aborted"}),_0=yt=>({status:"dirty",value:yt}),xn=yt=>({status:"valid",value:yt}),W0=yt=>yt.status==="aborted",po=yt=>yt.status==="dirty",Uo=yt=>yt.status==="valid",bs=yt=>typeof Promise!==void 0&&yt instanceof Promise;var a0;(function(yt){yt.errToObj=kt=>typeof kt=="string"?{message:kt}:kt||{},yt.toString=kt=>typeof kt=="string"?kt:kt==null?void 0:kt.message})(a0||(a0={}));class so{constructor(kt,St,Pt,Gt){this.parent=kt,this.data=St,this._path=Pt,this._key=Gt}get path(){return this._path.concat(this._key)}}const Ts=(yt,kt)=>{if(Uo(kt))return{success:!0,data:kt.value};{if(!yt.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,error:new e0(yt.common.issues)}}};function Bn(yt){if(!yt)return{};const{errorMap:kt,invalid_type_error:St,required_error:Pt,description:Gt}=yt;if(kt&&(St||Pt))throw new Error(`Can't use "invalid" or "required" in conjunction with custom error map.`);return kt?{errorMap:kt,description:Gt}:{errorMap:(Qt,Xt)=>Qt.code!=="invalid_type"?{message:Xt.defaultError}:typeof Xt.data>"u"&&Pt?{message:Pt}:yt.invalid_type_error?{message:yt.invalid_type_error}:{message:Xt.defaultError},description:Gt}}class Cn{constructor(kt){this.spa=this.safeParseAsync,this.superRefine=this._refinement,this._def=kt,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.default=this.default.bind(this),this.describe=this.describe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(kt){return l0(kt.data)}_getOrReturnCtx(kt,St){return St||{common:kt.parent.common,data:kt.data,parsedType:l0(kt.data),schemaErrorMap:this._def.errorMap,path:kt.path,parent:kt.parent}}_processInputParams(kt){return{status:new r0,ctx:{common:kt.parent.common,data:kt.data,parsedType:l0(kt.data),schemaErrorMap:this._def.errorMap,path:kt.path,parent:kt.parent}}}_parseSync(kt){const St=this._parse(kt);if(bs(St))throw new Error("Synchronous parse encountered promise.");return St}_parseAsync(kt){const St=this._parse(kt);return Promise.resolve(St)}parse(kt,St){const Pt=this.safeParse(kt,St);if(Pt.success)return Pt.data;throw Pt.error}safeParse(kt,St){var Pt;const Gt={common:{issues:[],async:(Pt=St==null?void 0:St.async)!==null&&Pt!==void 0?Pt:!1,contextualErrorMap:St==null?void 0:St.errorMap},path:(St==null?void 0:St.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:kt,parsedType:l0(kt)},Qt=this._parseSync({data:kt,path:Gt.path,parent:Gt});return Ts(Gt,Qt)}parseAsync(kt,St){return ct(this,null,function*(){const Pt=yield this.safeParseAsync(kt,St);if(Pt.success)return Pt.data;throw Pt.error})}safeParseAsync(kt,St){return ct(this,null,function*(){const Pt={common:{issues:[],contextualErrorMap:St==null?void 0:St.errorMap,async:!0},path:(St==null?void 0:St.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:kt,parsedType:l0(kt)},Gt=this._parse({data:kt,path:[],parent:Pt}),Qt=yield bs(Gt)?Gt:Promise.resolve(Gt);return Ts(Pt,Qt)})}refine(kt,St){const Pt=Gt=>typeof St=="string"||typeof St>"u"?{message:St}:typeof St=="function"?St(Gt):St;return this._refinement((Gt,Qt)=>{const Xt=kt(Gt),rr=()=>Qt.addIssue(ot({code:_a.custom},Pt(Gt)));return typeof Promise<"u"&&Xt instanceof Promise?Xt.then(fr=>fr?!0:(rr(),!1)):Xt?!0:(rr(),!1)})}refinement(kt,St){return this._refinement((Pt,Gt)=>kt(Pt)?!0:(Gt.addIssue(typeof St=="function"?St(Pt,Gt):St),!1))}_refinement(kt){return new Io({schema:this,typeName:Ln.ZodEffects,effect:{type:"refinement",refinement:kt}})}optional(){return Ro.create(this)}nullable(){return ys.create(this)}nullish(){return this.optional().nullable()}array(){return Fo.create(this)}promise(){return wo.create(this)}or(kt){return bo.create([this,kt])}and(kt){return Is.create(this,kt)}transform(kt){return new Io({schema:this,typeName:Ln.ZodEffects,effect:{type:"transform",transform:kt}})}default(kt){const St=typeof kt=="function"?kt:()=>kt;return new Pl({innerType:this,defaultValue:St,typeName:Ln.ZodDefault})}describe(kt){const St=this.constructor;return new St(st(ot({},this._def),{description:kt}))}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const gs=/^c[^\s-]{8,}$/i,So=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,Qo=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;class B0 extends Cn{constructor(){super(...arguments),this._regex=(kt,St,Pt)=>this.refinement(Gt=>kt.test(Gt),ot({validation:St,code:_a.invalid_string},a0.errToObj(Pt))),this.nonempty=kt=>this.min(1,a0.errToObj(kt)),this.trim=()=>new B0(st(ot({},this._def),{checks:[...this._def.checks,{kind:"trim"}]}))}_parse(kt){if(this._getType(kt)!==rn.string){const Gt=this._getOrReturnCtx(kt);return An(Gt,{code:_a.invalid_type,expected:rn.string,received:Gt.parsedType}),vn}const St=new r0;let Pt;for(const Gt of this._def.checks)if(Gt.kind==="min")kt.data.lengthGt.value&&(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{code:_a.too_big,maximum:Gt.value,type:"string",inclusive:!0,message:Gt.message}),St.dirty());else if(Gt.kind==="email")Qo.test(kt.data)||(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"email",code:_a.invalid_string,message:Gt.message}),St.dirty());else if(Gt.kind==="uuid")So.test(kt.data)||(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"uuid",code:_a.invalid_string,message:Gt.message}),St.dirty());else if(Gt.kind==="cuid")gs.test(kt.data)||(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"cuid",code:_a.invalid_string,message:Gt.message}),St.dirty());else if(Gt.kind==="url")try{new URL(kt.data)}catch(Qt){Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"url",code:_a.invalid_string,message:Gt.message}),St.dirty()}else Gt.kind==="regex"?(Gt.regex.lastIndex=0,Gt.regex.test(kt.data)||(Pt=this._getOrReturnCtx(kt,Pt),An(Pt,{validation:"regex",code:_a.invalid_string,message:Gt.message}),St.dirty())):Gt.kind==="trim"?kt.data=kt.data.trim():On.assertNever(Gt);return{status:St.value,value:kt.data}}_addCheck(kt){return new B0(st(ot({},this._def),{checks:[...this._def.checks,kt]}))}email(kt){return this._addCheck(ot({kind:"email"},a0.errToObj(kt)))}url(kt){return this._addCheck(ot({kind:"url"},a0.errToObj(kt)))}uuid(kt){return this._addCheck(ot({kind:"uuid"},a0.errToObj(kt)))}cuid(kt){return this._addCheck(ot({kind:"cuid"},a0.errToObj(kt)))}regex(kt,St){return this._addCheck(ot({kind:"regex",regex:kt},a0.errToObj(St)))}min(kt,St){return this._addCheck(ot({kind:"min",value:kt},a0.errToObj(St)))}max(kt,St){return this._addCheck(ot({kind:"max",value:kt},a0.errToObj(St)))}length(kt,St){return this.min(kt,St).max(kt,St)}get isEmail(){return!!this._def.checks.find(kt=>kt.kind==="email")}get isURL(){return!!this._def.checks.find(kt=>kt.kind==="url")}get isUUID(){return!!this._def.checks.find(kt=>kt.kind==="uuid")}get isCUID(){return!!this._def.checks.find(kt=>kt.kind==="cuid")}get minLength(){let kt=-1/0;return this._def.checks.map(St=>{St.kind==="min"&&(kt===null||St.value>kt)&&(kt=St.value)}),kt}get maxLength(){let kt=null;return this._def.checks.map(St=>{St.kind==="max"&&(kt===null||St.valuenew B0(ot({checks:[],typeName:Ln.ZodString},Bn(yt)));function Il(yt,kt){const St=(yt.toString().split(".")[1]||"").length,Pt=(kt.toString().split(".")[1]||"").length,Gt=St>Pt?St:Pt,Qt=parseInt(yt.toFixed(Gt).replace(".","")),Xt=parseInt(kt.toFixed(Gt).replace(".",""));return Qt%Xt/Math.pow(10,Gt)}class P0 extends Cn{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(kt){if(this._getType(kt)!==rn.number){const Gt=this._getOrReturnCtx(kt);return An(Gt,{code:_a.invalid_type,expected:rn.number,received:Gt.parsedType}),vn}let St;const Pt=new r0;for(const Gt of this._def.checks)Gt.kind==="int"?On.isInteger(kt.data)||(St=this._getOrReturnCtx(kt,St),An(St,{code:_a.invalid_type,expected:"integer",received:"float",message:Gt.message}),Pt.dirty()):Gt.kind==="min"?(Gt.inclusive?kt.dataGt.value:kt.data>=Gt.value)&&(St=this._getOrReturnCtx(kt,St),An(St,{code:_a.too_big,maximum:Gt.value,type:"number",inclusive:Gt.inclusive,message:Gt.message}),Pt.dirty()):Gt.kind==="multipleOf"?Il(kt.data,Gt.value)!==0&&(St=this._getOrReturnCtx(kt,St),An(St,{code:_a.not_multiple_of,multipleOf:Gt.value,message:Gt.message}),Pt.dirty()):On.assertNever(Gt);return{status:Pt.value,value:kt.data}}gte(kt,St){return this.setLimit("min",kt,!0,a0.toString(St))}gt(kt,St){return this.setLimit("min",kt,!1,a0.toString(St))}lte(kt,St){return this.setLimit("max",kt,!0,a0.toString(St))}lt(kt,St){return this.setLimit("max",kt,!1,a0.toString(St))}setLimit(kt,St,Pt,Gt){return new P0(st(ot({},this._def),{checks:[...this._def.checks,{kind:kt,value:St,inclusive:Pt,message:a0.toString(Gt)}]}))}_addCheck(kt){return new P0(st(ot({},this._def),{checks:[...this._def.checks,kt]}))}int(kt){return this._addCheck({kind:"int",message:a0.toString(kt)})}positive(kt){return this._addCheck({kind:"min",value:0,inclusive:!1,message:a0.toString(kt)})}negative(kt){return this._addCheck({kind:"max",value:0,inclusive:!1,message:a0.toString(kt)})}nonpositive(kt){return this._addCheck({kind:"max",value:0,inclusive:!0,message:a0.toString(kt)})}nonnegative(kt){return this._addCheck({kind:"min",value:0,inclusive:!0,message:a0.toString(kt)})}multipleOf(kt,St){return this._addCheck({kind:"multipleOf",value:kt,message:a0.toString(St)})}get minValue(){let kt=null;for(const St of this._def.checks)St.kind==="min"&&(kt===null||St.value>kt)&&(kt=St.value);return kt}get maxValue(){let kt=null;for(const St of this._def.checks)St.kind==="max"&&(kt===null||St.valuekt.kind==="int")}}P0.create=yt=>new P0(ot({checks:[],typeName:Ln.ZodNumber},Bn(yt)));class Ss extends Cn{_parse(kt){if(this._getType(kt)!==rn.bigint){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.bigint,received:St.parsedType}),vn}return xn(kt.data)}}Ss.create=yt=>new Ss(ot({typeName:Ln.ZodBigInt},Bn(yt)));class j0 extends Cn{_parse(kt){if(this._getType(kt)!==rn.boolean){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.boolean,received:St.parsedType}),vn}return xn(kt.data)}}j0.create=yt=>new j0(ot({typeName:Ln.ZodBoolean},Bn(yt)));class ls extends Cn{_parse(kt){if(this._getType(kt)!==rn.date){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.date,received:St.parsedType}),vn}if(isNaN(kt.data.getTime())){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_date}),vn}return{status:"valid",value:new Date(kt.data.getTime())}}}ls.create=yt=>new ls(ot({typeName:Ln.ZodDate},Bn(yt)));class yo extends Cn{_parse(kt){if(this._getType(kt)!==rn.undefined){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.undefined,received:St.parsedType}),vn}return xn(kt.data)}}yo.create=yt=>new yo(ot({typeName:Ln.ZodUndefined},Bn(yt)));class vo extends Cn{_parse(kt){if(this._getType(kt)!==rn.null){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.null,received:St.parsedType}),vn}return xn(kt.data)}}vo.create=yt=>new vo(ot({typeName:Ln.ZodNull},Bn(yt)));class c0 extends Cn{constructor(){super(...arguments),this._any=!0}_parse(kt){return xn(kt.data)}}c0.create=yt=>new c0(ot({typeName:Ln.ZodAny},Bn(yt)));class $0 extends Cn{constructor(){super(...arguments),this._unknown=!0}_parse(kt){return xn(kt.data)}}$0.create=yt=>new $0(ot({typeName:Ln.ZodUnknown},Bn(yt)));class qo extends Cn{_parse(kt){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.never,received:St.parsedType}),vn}}qo.create=yt=>new qo(ot({typeName:Ln.ZodNever},Bn(yt)));class Rl extends Cn{_parse(kt){if(this._getType(kt)!==rn.undefined){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.void,received:St.parsedType}),vn}return xn(kt.data)}}Rl.create=yt=>new Rl(ot({typeName:Ln.ZodVoid},Bn(yt)));class Fo extends Cn{_parse(kt){const{ctx:St,status:Pt}=this._processInputParams(kt),Gt=this._def;if(St.parsedType!==rn.array)return An(St,{code:_a.invalid_type,expected:rn.array,received:St.parsedType}),vn;if(Gt.minLength!==null&&St.data.lengthGt.maxLength.value&&(An(St,{code:_a.too_big,maximum:Gt.maxLength.value,type:"array",inclusive:!0,message:Gt.maxLength.message}),Pt.dirty()),St.common.async)return Promise.all(St.data.map((Xt,rr)=>Gt.type._parseAsync(new so(St,Xt,St.path,rr)))).then(Xt=>r0.mergeArray(Pt,Xt));const Qt=St.data.map((Xt,rr)=>Gt.type._parseSync(new so(St,Xt,St.path,rr)));return r0.mergeArray(Pt,Qt)}get element(){return this._def.type}min(kt,St){return new Fo(st(ot({},this._def),{minLength:{value:kt,message:a0.toString(St)}}))}max(kt,St){return new Fo(st(ot({},this._def),{maxLength:{value:kt,message:a0.toString(St)}}))}length(kt,St){return this.min(kt,St).max(kt,St)}nonempty(kt){return this.min(1,kt)}}Fo.create=(yt,kt)=>new Fo(ot({type:yt,minLength:null,maxLength:null,typeName:Ln.ZodArray},Bn(kt)));var Ml;(function(yt){yt.mergeShapes=(kt,St)=>ot(ot({},kt),St)})(Ml||(Ml={}));const Zs=yt=>kt=>new w0(st(ot({},yt),{shape:()=>ot(ot({},yt.shape()),kt)}));function T0(yt){if(yt instanceof w0){const kt={};for(const St in yt.shape){const Pt=yt.shape[St];kt[St]=Ro.create(T0(Pt))}return new w0(st(ot({},yt._def),{shape:()=>kt}))}else return yt instanceof Fo?Fo.create(T0(yt.element)):yt instanceof Ro?Ro.create(T0(yt.unwrap())):yt instanceof ys?ys.create(T0(yt.unwrap())):yt instanceof u0?u0.create(yt.items.map(kt=>T0(kt))):yt}class w0 extends Cn{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=Zs(this._def),this.extend=Zs(this._def)}_getCached(){if(this._cached!==null)return this._cached;const kt=this._def.shape(),St=On.objectKeys(kt);return this._cached={shape:kt,keys:St}}_parse(kt){if(this._getType(kt)!==rn.object){const fr=this._getOrReturnCtx(kt);return An(fr,{code:_a.invalid_type,expected:rn.object,received:fr.parsedType}),vn}const{status:St,ctx:Pt}=this._processInputParams(kt),{shape:Gt,keys:Qt}=this._getCached(),Xt=[];for(const fr in Pt.data)Qt.includes(fr)||Xt.push(fr);const rr=[];for(const fr of Qt){const pr=Gt[fr],_r=Pt.data[fr];rr.push({key:{status:"valid",value:fr},value:pr._parse(new so(Pt,_r,Pt.path,fr)),alwaysSet:fr in Pt.data})}if(this._def.catchall instanceof qo){const fr=this._def.unknownKeys;if(fr==="passthrough")for(const pr of Xt)rr.push({key:{status:"valid",value:pr},value:{status:"valid",value:Pt.data[pr]}});else if(fr==="strict")Xt.length>0&&(An(Pt,{code:_a.unrecognized_keys,keys:Xt}),St.dirty());else if(fr!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const fr=this._def.catchall;for(const pr of Xt){const _r=Pt.data[pr];rr.push({key:{status:"valid",value:pr},value:fr._parse(new so(Pt,_r,Pt.path,pr)),alwaysSet:pr in Pt.data})}}return Pt.common.async?Promise.resolve().then(()=>ct(this,null,function*(){const fr=[];for(const pr of rr){const _r=yield pr.key;fr.push({key:_r,value:yield pr.value,alwaysSet:pr.alwaysSet})}return fr})).then(fr=>r0.mergeObjectSync(St,fr)):r0.mergeObjectSync(St,rr)}get shape(){return this._def.shape()}strict(kt){return a0.errToObj,new w0(ot(st(ot({},this._def),{unknownKeys:"strict"}),kt!==void 0?{errorMap:(St,Pt)=>{var Gt,Qt,Xt,rr;const fr=(Xt=(Qt=(Gt=this._def).errorMap)===null||Qt===void 0?void 0:Qt.call(Gt,St,Pt).message)!==null&&Xt!==void 0?Xt:Pt.defaultError;return St.code==="unrecognized_keys"?{message:(rr=a0.errToObj(kt).message)!==null&&rr!==void 0?rr:fr}:{message:fr}}}:{}))}strip(){return new w0(st(ot({},this._def),{unknownKeys:"strip"}))}passthrough(){return new w0(st(ot({},this._def),{unknownKeys:"passthrough"}))}setKey(kt,St){return this.augment({[kt]:St})}merge(kt){return new w0({unknownKeys:kt._def.unknownKeys,catchall:kt._def.catchall,shape:()=>Ml.mergeShapes(this._def.shape(),kt._def.shape()),typeName:Ln.ZodObject})}catchall(kt){return new w0(st(ot({},this._def),{catchall:kt}))}pick(kt){const St={};return On.objectKeys(kt).map(Pt=>{this.shape[Pt]&&(St[Pt]=this.shape[Pt])}),new w0(st(ot({},this._def),{shape:()=>St}))}omit(kt){const St={};return On.objectKeys(this.shape).map(Pt=>{On.objectKeys(kt).indexOf(Pt)===-1&&(St[Pt]=this.shape[Pt])}),new w0(st(ot({},this._def),{shape:()=>St}))}deepPartial(){return T0(this)}partial(kt){const St={};if(kt)return On.objectKeys(this.shape).map(Pt=>{On.objectKeys(kt).indexOf(Pt)===-1?St[Pt]=this.shape[Pt]:St[Pt]=this.shape[Pt].optional()}),new w0(st(ot({},this._def),{shape:()=>St}));for(const Pt in this.shape){const Gt=this.shape[Pt];St[Pt]=Gt.optional()}return new w0(st(ot({},this._def),{shape:()=>St}))}required(){const kt={};for(const St in this.shape){let Pt=this.shape[St];for(;Pt instanceof Ro;)Pt=Pt._def.innerType;kt[St]=Pt}return new w0(st(ot({},this._def),{shape:()=>kt}))}}w0.create=(yt,kt)=>new w0(ot({shape:()=>yt,unknownKeys:"strip",catchall:qo.create(),typeName:Ln.ZodObject},Bn(kt))),w0.strictCreate=(yt,kt)=>new w0(ot({shape:()=>yt,unknownKeys:"strict",catchall:qo.create(),typeName:Ln.ZodObject},Bn(kt))),w0.lazycreate=(yt,kt)=>new w0(ot({shape:yt,unknownKeys:"strip",catchall:qo.create(),typeName:Ln.ZodObject},Bn(kt)));class bo extends Cn{_parse(kt){const{ctx:St}=this._processInputParams(kt),Pt=this._def.options;function Gt(Qt){for(const rr of Qt)if(rr.result.status==="valid")return rr.result;for(const rr of Qt)if(rr.result.status==="dirty")return St.common.issues.push(...rr.ctx.common.issues),rr.result;const Xt=Qt.map(rr=>new e0(rr.ctx.common.issues));return An(St,{code:_a.invalid_union,unionErrors:Xt}),vn}if(St.common.async)return Promise.all(Pt.map(Qt=>ct(this,null,function*(){const Xt=st(ot({},St),{common:st(ot({},St.common),{issues:[]}),parent:null});return{result:yield Qt._parseAsync({data:St.data,path:St.path,parent:Xt}),ctx:Xt}}))).then(Gt);{let Qt;const Xt=[];for(const fr of Pt){const pr=st(ot({},St),{common:st(ot({},St.common),{issues:[]}),parent:null}),_r=fr._parseSync({data:St.data,path:St.path,parent:pr});if(_r.status==="valid")return _r;_r.status==="dirty"&&!Qt&&(Qt={result:_r,ctx:pr}),pr.common.issues.length&&Xt.push(pr.common.issues)}if(Qt)return St.common.issues.push(...Qt.ctx.common.issues),Qt.result;const rr=Xt.map(fr=>new e0(fr));return An(St,{code:_a.invalid_union,unionErrors:rr}),vn}}get options(){return this._def.options}}bo.create=(yt,kt)=>new bo(ot({options:yt,typeName:Ln.ZodUnion},Bn(kt)));class Os extends Cn{_parse(kt){const{ctx:St}=this._processInputParams(kt);if(St.parsedType!==rn.object)return An(St,{code:_a.invalid_type,expected:rn.object,received:St.parsedType}),vn;const Pt=this.discriminator,Gt=St.data[Pt],Qt=this.options.get(Gt);return Qt?St.common.async?Qt._parseAsync({data:St.data,path:St.path,parent:St}):Qt._parseSync({data:St.data,path:St.path,parent:St}):(An(St,{code:_a.invalid_union_discriminator,options:this.validDiscriminatorValues,path:[Pt]}),vn)}get discriminator(){return this._def.discriminator}get validDiscriminatorValues(){return Array.from(this.options.keys())}get options(){return this._def.options}static create(kt,St,Pt){const Gt=new Map;try{St.forEach(Qt=>{const Xt=Qt.shape[kt].value;Gt.set(Xt,Qt)})}catch(Qt){throw new Error("The discriminator value could not be extracted from all the provided schemas")}if(Gt.size!==St.length)throw new Error("Some of the discriminator values are not unique");return new Os(ot({typeName:Ln.ZodDiscriminatedUnion,discriminator:kt,options:Gt},Bn(Pt)))}}function Kl(yt,kt){const St=l0(yt),Pt=l0(kt);if(yt===kt)return{valid:!0,data:yt};if(St===rn.object&&Pt===rn.object){const Gt=On.objectKeys(kt),Qt=On.objectKeys(yt).filter(rr=>Gt.indexOf(rr)!==-1),Xt=ot(ot({},yt),kt);for(const rr of Qt){const fr=Kl(yt[rr],kt[rr]);if(!fr.valid)return{valid:!1};Xt[rr]=fr.data}return{valid:!0,data:Xt}}else if(St===rn.array&&Pt===rn.array){if(yt.length!==kt.length)return{valid:!1};const Gt=[];for(let Qt=0;Qt{if(W0(Qt)||W0(Xt))return vn;const rr=Kl(Qt.value,Xt.value);return rr.valid?((po(Qt)||po(Xt))&&St.dirty(),{status:St.value,value:rr.data}):(An(Pt,{code:_a.invalid_intersection_types}),vn)};return Pt.common.async?Promise.all([this._def.left._parseAsync({data:Pt.data,path:Pt.path,parent:Pt}),this._def.right._parseAsync({data:Pt.data,path:Pt.path,parent:Pt})]).then(([Qt,Xt])=>Gt(Qt,Xt)):Gt(this._def.left._parseSync({data:Pt.data,path:Pt.path,parent:Pt}),this._def.right._parseSync({data:Pt.data,path:Pt.path,parent:Pt}))}}Is.create=(yt,kt,St)=>new Is(ot({left:yt,right:kt,typeName:Ln.ZodIntersection},Bn(St)));class u0 extends Cn{_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt);if(Pt.parsedType!==rn.array)return An(Pt,{code:_a.invalid_type,expected:rn.array,received:Pt.parsedType}),vn;if(Pt.data.lengththis._def.items.length&&(An(Pt,{code:_a.too_big,maximum:this._def.items.length,inclusive:!0,type:"array"}),St.dirty());const Gt=Pt.data.map((Qt,Xt)=>{const rr=this._def.items[Xt]||this._def.rest;return rr?rr._parse(new so(Pt,Qt,Pt.path,Xt)):null}).filter(Qt=>!!Qt);return Pt.common.async?Promise.all(Gt).then(Qt=>r0.mergeArray(St,Qt)):r0.mergeArray(St,Gt)}get items(){return this._def.items}rest(kt){return new u0(st(ot({},this._def),{rest:kt}))}}u0.create=(yt,kt)=>new u0(ot({items:yt,typeName:Ln.ZodTuple,rest:null},Bn(kt)));class Rs extends Cn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt);if(Pt.parsedType!==rn.object)return An(Pt,{code:_a.invalid_type,expected:rn.object,received:Pt.parsedType}),vn;const Gt=[],Qt=this._def.keyType,Xt=this._def.valueType;for(const rr in Pt.data)Gt.push({key:Qt._parse(new so(Pt,rr,Pt.path,rr)),value:Xt._parse(new so(Pt,Pt.data[rr],Pt.path,rr))});return Pt.common.async?r0.mergeObjectAsync(St,Gt):r0.mergeObjectSync(St,Gt)}get element(){return this._def.valueType}static create(kt,St,Pt){return St instanceof Cn?new Rs(ot({keyType:kt,valueType:St,typeName:Ln.ZodRecord},Bn(Pt))):new Rs(ot({keyType:B0.create(),valueType:kt,typeName:Ln.ZodRecord},Bn(St)))}}class Bl extends Cn{_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt);if(Pt.parsedType!==rn.map)return An(Pt,{code:_a.invalid_type,expected:rn.map,received:Pt.parsedType}),vn;const Gt=this._def.keyType,Qt=this._def.valueType,Xt=[...Pt.data.entries()].map(([rr,fr],pr)=>({key:Gt._parse(new so(Pt,rr,Pt.path,[pr,"key"])),value:Qt._parse(new so(Pt,fr,Pt.path,[pr,"value"]))}));if(Pt.common.async){const rr=new Map;return Promise.resolve().then(()=>ct(this,null,function*(){for(const fr of Xt){const pr=yield fr.key,_r=yield fr.value;if(pr.status==="aborted"||_r.status==="aborted")return vn;(pr.status==="dirty"||_r.status==="dirty")&&St.dirty(),rr.set(pr.value,_r.value)}return{status:St.value,value:rr}}))}else{const rr=new Map;for(const fr of Xt){const pr=fr.key,_r=fr.value;if(pr.status==="aborted"||_r.status==="aborted")return vn;(pr.status==="dirty"||_r.status==="dirty")&&St.dirty(),rr.set(pr.value,_r.value)}return{status:St.value,value:rr}}}}Bl.create=(yt,kt,St)=>new Bl(ot({valueType:kt,keyType:yt,typeName:Ln.ZodMap},Bn(St)));class Oo extends Cn{_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt);if(Pt.parsedType!==rn.set)return An(Pt,{code:_a.invalid_type,expected:rn.set,received:Pt.parsedType}),vn;const Gt=this._def;Gt.minSize!==null&&Pt.data.sizeGt.maxSize.value&&(An(Pt,{code:_a.too_big,maximum:Gt.maxSize.value,type:"set",inclusive:!0,message:Gt.maxSize.message}),St.dirty());const Qt=this._def.valueType;function Xt(fr){const pr=new Set;for(const _r of fr){if(_r.status==="aborted")return vn;_r.status==="dirty"&&St.dirty(),pr.add(_r.value)}return{status:St.value,value:pr}}const rr=[...Pt.data.values()].map((fr,pr)=>Qt._parse(new so(Pt,fr,Pt.path,pr)));return Pt.common.async?Promise.all(rr).then(fr=>Xt(fr)):Xt(rr)}min(kt,St){return new Oo(st(ot({},this._def),{minSize:{value:kt,message:a0.toString(St)}}))}max(kt,St){return new Oo(st(ot({},this._def),{maxSize:{value:kt,message:a0.toString(St)}}))}size(kt,St){return this.min(kt,St).max(kt,St)}nonempty(kt){return this.min(1,kt)}}Oo.create=(yt,kt)=>new Oo(ot({valueType:yt,minSize:null,maxSize:null,typeName:Ln.ZodSet},Bn(kt)));class cs extends Cn{constructor(){super(...arguments),this.validate=this.implement}_parse(kt){const{ctx:St}=this._processInputParams(kt);if(St.parsedType!==rn.function)return An(St,{code:_a.invalid_type,expected:rn.function,received:St.parsedType}),vn;function Pt(rr,fr){return _o({data:rr,path:St.path,errorMaps:[St.common.contextualErrorMap,St.schemaErrorMap,ho,no].filter(pr=>!!pr),issueData:{code:_a.invalid_arguments,argumentsError:fr}})}function Gt(rr,fr){return _o({data:rr,path:St.path,errorMaps:[St.common.contextualErrorMap,St.schemaErrorMap,ho,no].filter(pr=>!!pr),issueData:{code:_a.invalid_return_type,returnTypeError:fr}})}const Qt={errorMap:St.common.contextualErrorMap},Xt=St.data;return this._def.returns instanceof wo?xn((...rr)=>ct(this,null,function*(){const fr=new e0([]),pr=yield this._def.args.parseAsync(rr,Qt).catch($r=>{throw fr.addIssue(Pt(rr,$r)),fr}),_r=yield Xt(...pr);return yield this._def.returns._def.type.parseAsync(_r,Qt).catch($r=>{throw fr.addIssue(Gt(_r,$r)),fr})})):xn((...rr)=>{const fr=this._def.args.safeParse(rr,Qt);if(!fr.success)throw new e0([Pt(rr,fr.error)]);const pr=Xt(...fr.data),_r=this._def.returns.safeParse(pr,Qt);if(!_r.success)throw new e0([Gt(pr,_r.error)]);return _r.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...kt){return new cs(st(ot({},this._def),{args:u0.create(kt).rest($0.create())}))}returns(kt){return new cs(st(ot({},this._def),{returns:kt}))}implement(kt){return this.parse(kt)}strictImplement(kt){return this.parse(kt)}}cs.create=(yt,kt,St)=>new cs(ot({args:yt?yt.rest($0.create()):u0.create([]).rest($0.create()),returns:kt||$0.create(),typeName:Ln.ZodFunction},Bn(St)));class Ms extends Cn{get schema(){return this._def.getter()}_parse(kt){const{ctx:St}=this._processInputParams(kt);return this._def.getter()._parse({data:St.data,path:St.path,parent:St})}}Ms.create=(yt,kt)=>new Ms(ot({getter:yt,typeName:Ln.ZodLazy},Bn(kt)));class No extends Cn{_parse(kt){if(kt.data!==this._def.value){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_literal,expected:this._def.value}),vn}return{status:"valid",value:kt.data}}get value(){return this._def.value}}No.create=(yt,kt)=>new No(ot({value:yt,typeName:Ln.ZodLiteral},Bn(kt)));function _c(yt,kt){return new Bs(ot({values:yt,typeName:Ln.ZodEnum},Bn(kt)))}class Bs extends Cn{_parse(kt){if(typeof kt.data!="string"){const St=this._getOrReturnCtx(kt),Pt=this._def.values;return An(St,{expected:On.joinValues(Pt),received:St.parsedType,code:_a.invalid_type}),vn}if(this._def.values.indexOf(kt.data)===-1){const St=this._getOrReturnCtx(kt),Pt=this._def.values;return An(St,{received:St.data,code:_a.invalid_enum_value,options:Pt}),vn}return xn(kt.data)}get options(){return this._def.values}get enum(){const kt={};for(const St of this._def.values)kt[St]=St;return kt}get Values(){const kt={};for(const St of this._def.values)kt[St]=St;return kt}get Enum(){const kt={};for(const St of this._def.values)kt[St]=St;return kt}}Bs.create=_c;class I0 extends Cn{_parse(kt){const St=On.getValidEnumValues(this._def.values),Pt=this._getOrReturnCtx(kt);if(Pt.parsedType!==rn.string&&Pt.parsedType!==rn.number){const Gt=On.objectValues(St);return An(Pt,{expected:On.joinValues(Gt),received:Pt.parsedType,code:_a.invalid_type}),vn}if(St.indexOf(kt.data)===-1){const Gt=On.objectValues(St);return An(Pt,{received:Pt.data,code:_a.invalid_enum_value,options:Gt}),vn}return xn(kt.data)}get enum(){return this._def.values}}I0.create=(yt,kt)=>new I0(ot({values:yt,typeName:Ln.ZodNativeEnum},Bn(kt)));class wo extends Cn{_parse(kt){const{ctx:St}=this._processInputParams(kt);if(St.parsedType!==rn.promise&&St.common.async===!1)return An(St,{code:_a.invalid_type,expected:rn.promise,received:St.parsedType}),vn;const Pt=St.parsedType===rn.promise?St.data:Promise.resolve(St.data);return xn(Pt.then(Gt=>this._def.type.parseAsync(Gt,{path:St.path,errorMap:St.common.contextualErrorMap})))}}wo.create=(yt,kt)=>new wo(ot({type:yt,typeName:Ln.ZodPromise},Bn(kt)));class Io extends Cn{innerType(){return this._def.schema}_parse(kt){const{status:St,ctx:Pt}=this._processInputParams(kt),Gt=this._def.effect||null;if(Gt.type==="preprocess"){const Xt=Gt.transform(Pt.data);return Pt.common.async?Promise.resolve(Xt).then(rr=>this._def.schema._parseAsync({data:rr,path:Pt.path,parent:Pt})):this._def.schema._parseSync({data:Xt,path:Pt.path,parent:Pt})}const Qt={addIssue:Xt=>{An(Pt,Xt),Xt.fatal?St.abort():St.dirty()},get path(){return Pt.path}};if(Qt.addIssue=Qt.addIssue.bind(Qt),Gt.type==="refinement"){const Xt=rr=>{const fr=Gt.refinement(rr,Qt);if(Pt.common.async)return Promise.resolve(fr);if(fr instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return rr};if(Pt.common.async===!1){const rr=this._def.schema._parseSync({data:Pt.data,path:Pt.path,parent:Pt});return rr.status==="aborted"?vn:(rr.status==="dirty"&&St.dirty(),Xt(rr.value),{status:St.value,value:rr.value})}else return this._def.schema._parseAsync({data:Pt.data,path:Pt.path,parent:Pt}).then(rr=>rr.status==="aborted"?vn:(rr.status==="dirty"&&St.dirty(),Xt(rr.value).then(()=>({status:St.value,value:rr.value}))))}if(Gt.type==="transform")if(Pt.common.async===!1){const Xt=this._def.schema._parseSync({data:Pt.data,path:Pt.path,parent:Pt});if(!Uo(Xt))return Xt;const rr=Gt.transform(Xt.value,Qt);if(rr instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:St.value,value:rr}}else return this._def.schema._parseAsync({data:Pt.data,path:Pt.path,parent:Pt}).then(Xt=>Uo(Xt)?Promise.resolve(Gt.transform(Xt.value,Qt)).then(rr=>({status:St.value,value:rr})):Xt);On.assertNever(Gt)}}Io.create=(yt,kt,St)=>new Io(ot({schema:yt,typeName:Ln.ZodEffects,effect:kt},Bn(St))),Io.createWithPreprocess=(yt,kt,St)=>new Io(ot({schema:kt,effect:{type:"preprocess",transform:yt},typeName:Ln.ZodEffects},Bn(St)));class Ro extends Cn{_parse(kt){return this._getType(kt)===rn.undefined?xn(void 0):this._def.innerType._parse(kt)}unwrap(){return this._def.innerType}}Ro.create=(yt,kt)=>new Ro(ot({innerType:yt,typeName:Ln.ZodOptional},Bn(kt)));class ys extends Cn{_parse(kt){return this._getType(kt)===rn.null?xn(null):this._def.innerType._parse(kt)}unwrap(){return this._def.innerType}}ys.create=(yt,kt)=>new ys(ot({innerType:yt,typeName:Ln.ZodNullable},Bn(kt)));class Pl extends Cn{_parse(kt){const{ctx:St}=this._processInputParams(kt);let Pt=St.data;return St.parsedType===rn.undefined&&(Pt=this._def.defaultValue()),this._def.innerType._parse({data:Pt,path:St.path,parent:St})}removeDefault(){return this._def.innerType}}Pl.create=(yt,kt)=>new Ro(ot({innerType:yt,typeName:Ln.ZodOptional},Bn(kt)));class Ys extends Cn{_parse(kt){if(this._getType(kt)!==rn.nan){const St=this._getOrReturnCtx(kt);return An(St,{code:_a.invalid_type,expected:rn.nan,received:St.parsedType}),vn}return{status:"valid",value:kt.data}}}Ys.create=yt=>new Ys(ot({typeName:Ln.ZodNaN},Bn(yt)));const Jo=(yt,kt={},St)=>yt?c0.create().superRefine((Pt,Gt)=>{if(!yt(Pt)){const Qt=typeof kt=="function"?kt(Pt):kt,Xt=typeof Qt=="string"?{message:Qt}:Qt;Gt.addIssue(st(ot({code:"custom"},Xt),{fatal:St}))}}):c0.create(),k2={object:w0.lazycreate};var Ln;(function(yt){yt.ZodString="ZodString",yt.ZodNumber="ZodNumber",yt.ZodNaN="ZodNaN",yt.ZodBigInt="ZodBigInt",yt.ZodBoolean="ZodBoolean",yt.ZodDate="ZodDate",yt.ZodUndefined="ZodUndefined",yt.ZodNull="ZodNull",yt.ZodAny="ZodAny",yt.ZodUnknown="ZodUnknown",yt.ZodNever="ZodNever",yt.ZodVoid="ZodVoid",yt.ZodArray="ZodArray",yt.ZodObject="ZodObject",yt.ZodUnion="ZodUnion",yt.ZodDiscriminatedUnion="ZodDiscriminatedUnion",yt.ZodIntersection="ZodIntersection",yt.ZodTuple="ZodTuple",yt.ZodRecord="ZodRecord",yt.ZodMap="ZodMap",yt.ZodSet="ZodSet",yt.ZodFunction="ZodFunction",yt.ZodLazy="ZodLazy",yt.ZodLiteral="ZodLiteral",yt.ZodEnum="ZodEnum",yt.ZodEffects="ZodEffects",yt.ZodNativeEnum="ZodNativeEnum",yt.ZodOptional="ZodOptional",yt.ZodNullable="ZodNullable",yt.ZodDefault="ZodDefault",yt.ZodPromise="ZodPromise"})(Ln||(Ln={}));const M2=(yt,kt={message:`Input not instance of ${yt.name}`})=>Jo(St=>St instanceof yt,kt,!0),r2=B0.create,Us=P0.create,B2=Ys.create,a2=Ss.create,Qs=j0.create,P2=ls.create,n2=yo.create,Ll=vo.create,L2=c0.create,Ps=$0.create,us=qo.create,D2=Rl.create,v0=Fo.create,f0=w0.create,F2=w0.strictCreate,i2=bo.create,N2=Os.create,E2=Is.create,o2=u0.create,_2=Rs.create,qs=Bl.create,zo=Oo.create,D0=cs.create,jo=Ms.create,F0=No.create,Vo=Bs.create,Mo=I0.create,U0=wo.create,Ls=Io.create,s2=Ro.create,Dl=ys.create,Ds=Io.createWithPreprocess;var nn=Object.freeze({__proto__:null,getParsedType:l0,ZodParsedType:rn,makeIssue:_o,EMPTY_PATH:Do,addIssueToContext:An,ParseStatus:r0,INVALID:vn,DIRTY:_0,OK:xn,isAborted:W0,isDirty:po,isValid:Uo,isAsync:bs,ZodType:Cn,ZodString:B0,ZodNumber:P0,ZodBigInt:Ss,ZodBoolean:j0,ZodDate:ls,ZodUndefined:yo,ZodNull:vo,ZodAny:c0,ZodUnknown:$0,ZodNever:qo,ZodVoid:Rl,ZodArray:Fo,get objectUtil(){return Ml},ZodObject:w0,ZodUnion:bo,ZodDiscriminatedUnion:Os,ZodIntersection:Is,ZodTuple:u0,ZodRecord:Rs,ZodMap:Bl,ZodSet:Oo,ZodFunction:cs,ZodLazy:Ms,ZodLiteral:No,ZodEnum:Bs,ZodNativeEnum:I0,ZodPromise:wo,ZodEffects:Io,ZodTransformer:Io,ZodOptional:Ro,ZodNullable:ys,ZodDefault:Pl,ZodNaN:Ys,custom:Jo,Schema:Cn,ZodSchema:Cn,late:k2,get ZodFirstPartyTypeKind(){return Ln},any:L2,array:v0,bigint:a2,boolean:Qs,date:P2,discriminatedUnion:N2,effect:Ls,enum:Vo,function:D0,instanceof:M2,intersection:E2,lazy:jo,literal:F0,map:qs,nan:B2,nativeEnum:Mo,never:us,null:Ll,nullable:Dl,number:Us,object:f0,oboolean:()=>Qs().optional(),onumber:()=>Us().optional(),optional:s2,ostring:()=>r2().optional(),preprocess:Ds,promise:U0,record:_2,set:zo,strictObject:F2,string:r2,transformer:Ls,tuple:o2,undefined:n2,union:i2,unknown:Ps,void:D2,ZodIssueCode:_a,quotelessJson:Ao,ZodError:e0,defaultErrorMap:no,get overrideErrorMap(){return ho},setErrorMap:Yo});const Js=["dotnetspy","ebpfspy","gospy","phpspy","pyspy","rbspy","nodespy","javaspy","pyroscope-rs"],io=["scrape","tracing","unknown"],Bo=[...Js,...io],Q0=nn.preprocess(yt=>!yt||!Bo.includes(yt)?"unknown":yt,nn.enum(Bo).default("unknown")),l2=nn.object({names:nn.array(nn.preprocess(yt=>yt||"unknown",nn.string().min(1))),levels:nn.array(nn.array(nn.number())),numTicks:nn.number(),maxSelf:nn.number()}),fs=["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples"],Go=nn.preprocess(yt=>typeof yt=="string"&&fs.includes(yt)?yt:"",nn.enum(["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples",""])),xo=nn.object({appName:nn.string().optional(),name:nn.string().optional(),startTime:nn.number().optional(),endTime:nn.number().optional(),query:nn.string().optional(),maxNodes:nn.number().optional(),format:nn.enum(["single","double"]),sampleRate:nn.number(),spyName:Q0,units:Go});nn.object({version:nn.number().min(1).max(1).default(1),flamebearer:l2,metadata:xo,leftTicks:nn.number().optional(),rightTicks:nn.number().optional()});const sr={format:"single",jStep:4,jName:3,getBarOffset:(yt,kt)=>yt[kt],getBarTotal:(yt,kt)=>yt[kt+1],getBarTotalDiff:(yt,kt)=>0,getBarSelf:(yt,kt)=>yt[kt+2],getBarSelfDiff:(yt,kt)=>0,getBarName:(yt,kt)=>yt[kt+3]},gr={format:"double",jStep:7,jName:6,getBarOffset:(yt,kt)=>yt[kt]+yt[kt+3],getBarTotal:(yt,kt)=>yt[kt+4]+yt[kt+1],getBarTotalLeft:(yt,kt)=>yt[kt+1],getBarTotalRght:(yt,kt)=>yt[kt+4],getBarTotalDiff:(yt,kt)=>yt[kt+4]-yt[kt+1],getBarSelf:(yt,kt)=>yt[kt+5]+yt[kt+2],getBarSelfLeft:(yt,kt)=>yt[kt+2],getBarSelfRght:(yt,kt)=>yt[kt+5],getBarSelfDiff:(yt,kt)=>yt[kt+5]-yt[kt+2],getBarName:(yt,kt)=>yt[kt+6]};function Ir(yt){switch(yt){case"single":return sr;case"double":return gr;default:throw new Error(`Unsupported type: '${yt}'`)}}const Jr=nn.object({refType:nn.string(),traceID:nn.string(),spanID:nn.string()}),pn=nn.object({key:nn.string(),type:nn.string(),value:nn.union([nn.boolean(),nn.number(),nn.string()])}),an=nn.object({traceID:nn.string(),spanID:nn.string(),flags:nn.string(),operationName:nn.string(),references:nn.array(Jr),startTime:nn.number(),duration:nn.number(),tags:nn.array(pn),logs:nn.object({timestamp:nn.number(),fields:nn.array(pn)}),processID:nn.string(),warnings:nn.any()}),Fn=nn.object({serviceName:nn.string(),tags:nn.array(pn)});nn.object({traceID:nn.string(),spans:nn.array(an),processes:nn.record(Fn),warnings:nn.any()});const n0=nn.object({watermark:nn.object({}).optional(),startTime:nn.number(),samples:nn.array(nn.number()),durationDelta:nn.number()});nn.record(nn.string(),n0);const A0=22,L0=5,q0=20,S0=.5,p0=A0-S0;function lo(yt){return yt.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}function lr(yt){return`${Yt(yt)}%`}function Yt(yt){return Math.round(1e4*yt)/100}function ir(yt,kt,St){switch(St){case"samples":return new yr(yt/kt);case"objects":return new Hr(yt);case"goroutines":return new Hr(yt);case"bytes":return new Yr(yt);case"lock_nanoseconds":return new Mr(yt);case"lock_samples":return new Hr(yt);case"trace_samples":return new yr(yt/kt,"",!0);default:return console.warn(`Unsupported unit: '${St}'. Defaulting to ''`),new yr(yt/kt," ")}}class yr{constructor(kt,St,Pt){this.divider=1,this.enableSubsecondPrecision=!1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],this.units="",Pt&&(this.enableSubsecondPrecision=Pt,this.durations=[[1e3,"ms"],[1e3,"second"],...this.durations],this.suffix="μs",kt*=1e6),this.units=St||"";for(let Gt=0;Gt=Qt[0])this.divider*=Qt[0],kt/=Qt[0],this.suffix=Qt[1];else break}}format(kt,St){this.enableSubsecondPrecision&&(St/=1e6);const Pt=kt/St/this.divider;let Gt=Pt.toFixed(2);return Pt===0?Gt="0.00":(Pt>=0&&Pt<.01||Pt<=0&&Pt>-.01)&&(Gt="< 0.01"),`${Gt} ${this.units||`${this.suffix}${Pt===1||this.suffix.length===2?"":"s"}`}`}}class Mr{constructor(kt){this.divider=1,this.multiplier=1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],kt/=1e9;for(let St=0;St=Pt[0])this.divider*=Pt[0],kt/=Pt[0],this.suffix=Pt[1];else break}}format(kt){const St=kt/1e9/this.divider;let Pt=St.toFixed(2);return(St>=0&&St<.01||St<=0&&St>-.01)&&(Pt="< 0.01"),`${Pt} ${this.suffix}${St===1?"":"s"}`}}class Hr{constructor(kt){this.divider=1,this.suffix="",this.objects=[[1e3,"K"],[1e3,"M"],[1e3,"G"],[1e3,"T"],[1e3,"P"]];for(let St=0;St=Pt[0])this.divider*=Pt[0],kt/=Pt[0],this.suffix=Pt[1];else break}}format(kt){const St=kt/this.divider;let Pt=St.toFixed(2);return(St>=0&&St<.01||St<=0&&St>-.01)&&(Pt="< 0.01"),`${Pt} ${this.suffix}`}}class Yr{constructor(kt){this.divider=1,this.suffix="bytes",this.bytes=[[1024,"KB"],[1024,"MB"],[1024,"GB"],[1024,"TB"],[1024,"PB"]];for(let St=0;St=Pt[0]){this.divider*=Pt[0],kt/=Pt[0];const Gt=Pt[1];Gt?this.suffix=Gt:(console.warn("Could not calculate suffix"),this.suffix="")}else break}}format(kt){const St=kt/this.divider;let Pt=St.toFixed(2);return(St>=0&&St<.01||St<=0&&St>-.01)&&(Pt="< 0.01"),`${Pt} ${this.suffix}`}}const ln="TAIL",En="HEAD",yn=3;function Jn({mode:yt,charSize:kt,rectWidth:St,fullText:Pt,shortText:Gt}){switch(yt){case ln:if(kt*Pt.length<=St)return{mode:yt,text:Pt,marginLeft:yn};const Qt=kt*Gt.length;return Qt<=St?{mode:yt,text:Gt,marginLeft:yn}:{mode:yt,text:Gt,marginLeft:-(Qt-St+yn)};case En:default:return{mode:yt,text:Pt,marginLeft:yn}}}function i0(yt){switch(yt){case ln:return{direction:"rtl",overflow:"hidden",textOverflow:"ellipsis"};case En:default:return{overflow:"hidden",textOverflow:"ellipsis"}}}function o0(yt,kt,St,Pt){const Gt=gr;if(!St||!Pt)return console.error("Properties 'rightTicks' and 'leftTicks' are required. Can't calculate ratio."),{leftRatio:0,rightRatio:0};const Qt=Gt.getBarTotalLeft(yt,kt)/St,Xt=Gt.getBarTotalRght(yt,kt)/Pt;return{leftRatio:Qt,rightRatio:Xt}}var d0=ht(346),bn=ht.n(d0),V0=Math.sqrt(50),oo=Math.sqrt(10),co=Math.sqrt(2);function Fs(yt,kt,St){var Pt,Gt=-1,Qt,Xt,rr;if(kt=+kt,yt=+yt,St=+St,yt===kt&&St>0)return[yt];if((Pt=kt0){let fr=Math.round(yt/rr),pr=Math.round(kt/rr);for(fr*rrkt&&--pr,Xt=new Array(Qt=pr-fr+1);++Gtkt&&--pr,Xt=new Array(Qt=pr-fr+1);++Gt=0?(Qt>=V0?10:Qt>=oo?5:Qt>=co?2:1)*Math.pow(10,Gt):-Math.pow(10,-Gt)/(Qt>=V0?10:Qt>=oo?5:Qt>=co?2:1)}function Xs(yt,kt,St){var Pt=Math.abs(kt-yt)/Math.max(0,St),Gt=Math.pow(10,Math.floor(Math.log(Pt)/Math.LN10)),Qt=Pt/Gt;return Qt>=V0?Gt*=10:Qt>=oo?Gt*=5:Qt>=co&&(Gt*=2),ktkt?1:yt>=kt?0:NaN}function f1(yt){let kt=yt,St=yt,Pt=yt;yt.length!==2&&(kt=(rr,fr)=>yt(rr)-fr,St=x2,Pt=(rr,fr)=>x2(yt(rr),fr));function Gt(rr,fr,pr=0,_r=rr.length){if(pr<_r){if(St(fr,fr)!==0)return _r;do{const $r=pr+_r>>>1;Pt(rr[$r],fr)<0?pr=$r+1:_r=$r}while(pr<_r)}return pr}function Qt(rr,fr,pr=0,_r=rr.length){if(pr<_r){if(St(fr,fr)!==0)return _r;do{const $r=pr+_r>>>1;Pt(rr[$r],fr)<=0?pr=$r+1:_r=$r}while(pr<_r)}return pr}function Xt(rr,fr,pr=0,_r=rr.length){const $r=Gt(rr,fr,pr,_r-1);return $r>pr&&kt(rr[$r-1],fr)>-kt(rr[$r],fr)?$r-1:$r}return{left:Gt,center:Xt,right:Qt}}function R4(yt){return yt===null?NaN:+yt}const C2=f1(x2),A1=C2.right;f1(R4).center;const H3=A1;function cA(yt,kt,St){yt.prototype=kt.prototype=St,St.constructor=yt}function M4(yt,kt){var St=Object.create(yt.prototype);for(var Pt in kt)St[Pt]=kt[Pt];return St}function Fl(){}var Ko=.7,Bu=1/Ko,ou="\\s*([+-]?\\d+)\\s*",Pu="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Nl="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",W3=/^#([0-9a-f]{3,8})$/,Z3=new RegExp("^rgb\\("+[ou,ou,ou]+"\\)$"),su=new RegExp("^rgb\\("+[Nl,Nl,Nl]+"\\)$"),Tr=new RegExp("^rgba\\("+[ou,ou,ou,Pu]+"\\)$"),Wr=new RegExp("^rgba\\("+[Nl,Nl,Nl,Pu]+"\\)$"),Nr=new RegExp("^hsl\\("+[Pu,Nl,Nl]+"\\)$"),hn=new RegExp("^hsla\\("+[Pu,Nl,Nl,Pu]+"\\)$"),zn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};cA(Fl,z2,{copy:function(yt){return Object.assign(new this.constructor,this,yt)},displayable:function(){return this.rgb().displayable()},hex:b0,formatHex:b0,formatHsl:ko,formatRgb:R0,toString:R0});function b0(){return this.rgb().formatHex()}function ko(){return fA(this).formatHsl()}function R0(){return this.rgb().formatRgb()}function z2(yt){var kt,St;return yt=(yt+"").trim().toLowerCase(),(kt=W3.exec(yt))?(St=kt[1].length,kt=parseInt(kt[1],16),St===6?B4(kt):St===3?new Co(kt>>8&15|kt>>4&240,kt>>4&15|kt&240,(kt&15)<<4|kt&15,1):St===8?ts(kt>>24&255,kt>>16&255,kt>>8&255,(kt&255)/255):St===4?ts(kt>>12&15|kt>>8&240,kt>>8&15|kt>>4&240,kt>>4&15|kt&240,((kt&15)<<4|kt&15)/255):null):(kt=Z3.exec(yt))?new Co(kt[1],kt[2],kt[3],1):(kt=su.exec(yt))?new Co(kt[1]*255/100,kt[2]*255/100,kt[3]*255/100,1):(kt=Tr.exec(yt))?ts(kt[1],kt[2],kt[3],kt[4]):(kt=Wr.exec(yt))?ts(kt[1]*255/100,kt[2]*255/100,kt[3]*255/100,kt[4]):(kt=Nr.exec(yt))?P4(kt[1],kt[2]/100,kt[3]/100,1):(kt=hn.exec(yt))?P4(kt[1],kt[2]/100,kt[3]/100,kt[4]):zn.hasOwnProperty(yt)?B4(zn[yt]):yt==="transparent"?new Co(NaN,NaN,NaN,0):null}function B4(yt){return new Co(yt>>16&255,yt>>8&255,yt&255,1)}function ts(yt,kt,St,Pt){return Pt<=0&&(yt=kt=St=NaN),new Co(yt,kt,St,Pt)}function d1(yt){return yt instanceof Fl||(yt=z2(yt)),yt?(yt=yt.rgb(),new Co(yt.r,yt.g,yt.b,yt.opacity)):new Co}function uA(yt,kt,St,Pt){return arguments.length===1?d1(yt):new Co(yt,kt,St,Pt==null?1:Pt)}function Co(yt,kt,St,Pt){this.r=+yt,this.g=+kt,this.b=+St,this.opacity=+Pt}cA(Co,uA,M4(Fl,{brighter:function(yt){return yt=yt==null?Bu:Math.pow(Bu,yt),new Co(this.r*yt,this.g*yt,this.b*yt,this.opacity)},darker:function(yt){return yt=yt==null?Ko:Math.pow(Ko,yt),new Co(this.r*yt,this.g*yt,this.b*yt,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Lu,formatHex:Lu,formatRgb:Du,toString:Du}));function Lu(){return"#"+k0(this.r)+k0(this.g)+k0(this.b)}function Du(){var yt=this.opacity;return yt=isNaN(yt)?1:Math.max(0,Math.min(1,yt)),(yt===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(yt===1?")":", "+yt+")")}function k0(yt){return yt=Math.max(0,Math.min(255,Math.round(yt)||0)),(yt<16?"0":"")+yt.toString(16)}function P4(yt,kt,St,Pt){return Pt<=0?yt=kt=St=NaN:St<=0||St>=1?yt=kt=NaN:kt<=0&&(yt=NaN),new zl(yt,kt,St,Pt)}function fA(yt){if(yt instanceof zl)return new zl(yt.h,yt.s,yt.l,yt.opacity);if(yt instanceof Fl||(yt=z2(yt)),!yt)return new zl;if(yt instanceof zl)return yt;yt=yt.rgb();var kt=yt.r/255,St=yt.g/255,Pt=yt.b/255,Gt=Math.min(kt,St,Pt),Qt=Math.max(kt,St,Pt),Xt=NaN,rr=Qt-Gt,fr=(Qt+Gt)/2;return rr?(kt===Qt?Xt=(St-Pt)/rr+(St0&&fr<1?0:Xt,new zl(Xt,rr,fr,yt.opacity)}function h1(yt,kt,St,Pt){return arguments.length===1?fA(yt):new zl(yt,kt,St,Pt==null?1:Pt)}function zl(yt,kt,St,Pt){this.h=+yt,this.s=+kt,this.l=+St,this.opacity=+Pt}cA(zl,h1,M4(Fl,{brighter:function(yt){return yt=yt==null?Bu:Math.pow(Bu,yt),new zl(this.h,this.s,this.l*yt,this.opacity)},darker:function(yt){return yt=yt==null?Ko:Math.pow(Ko,yt),new zl(this.h,this.s,this.l*yt,this.opacity)},rgb:function(){var yt=this.h%360+(this.h<0)*360,kt=isNaN(yt)||isNaN(this.s)?0:this.s,St=this.l,Pt=St+(St<.5?St:1-St)*kt,Gt=2*St-Pt;return new Co(AA(yt>=240?yt-240:yt+120,Gt,Pt),AA(yt,Gt,Pt),AA(yt<120?yt+240:yt-120,Gt,Pt),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var yt=this.opacity;return yt=isNaN(yt)?1:Math.max(0,Math.min(1,yt)),(yt===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(yt===1?")":", "+yt+")")}}));function AA(yt,kt,St){return(yt<60?kt+(St-kt)*yt/60:yt<180?St:yt<240?kt+(St-kt)*(240-yt)/60:kt)*255}const dA=yt=>()=>yt;function p1(yt,kt){return function(St){return yt+St*kt}}function $2(yt,kt,St){return yt=Math.pow(yt,St),kt=Math.pow(kt,St)-yt,St=1/St,function(Pt){return Math.pow(yt+Pt*kt,St)}}function v1(yt){return(yt=+yt)==1?hA:function(kt,St){return St-kt?$2(kt,St,yt):dA(isNaN(kt)?St:kt)}}function hA(yt,kt){var St=kt-yt;return St?p1(yt,St):dA(isNaN(yt)?kt:yt)}const Fu=function yt(kt){var St=v1(kt);function Pt(Gt,Qt){var Xt=St((Gt=uA(Gt)).r,(Qt=uA(Qt)).r),rr=St(Gt.g,Qt.g),fr=St(Gt.b,Qt.b),pr=hA(Gt.opacity,Qt.opacity);return function(_r){return Gt.r=Xt(_r),Gt.g=rr(_r),Gt.b=fr(_r),Gt.opacity=pr(_r),Gt+""}}return Pt.gamma=yt,Pt}(1);function L4(yt,kt){var St=kt?kt.length:0,Pt=yt?Math.min(St,yt.length):0,Gt=new Array(Pt),Qt=new Array(St),Xt;for(Xt=0;XtSt&&(Qt=kt.slice(St,Qt),rr[Xt]?rr[Xt]+=Qt:rr[++Xt]=Qt),(Pt=Pt[0])===(Gt=Gt[0])?rr[Xt]?rr[Xt]+=Gt:rr[++Xt]=Gt:(rr[++Xt]=null,fr.push({i:Xt,x:j2(Pt,Gt)})),St=c2.lastIndex;return Stkt&&(St=yt,yt=kt,kt=St),function(Pt){return Math.max(yt,Math.min(kt,Pt))}}function J3(yt,kt,St){var Pt=yt[0],Gt=yt[1],Qt=kt[0],Xt=kt[1];return Gt2?X3:J3,fr=pr=null,$r}function $r(zr){return zr==null||isNaN(zr=+zr)?Qt:(fr||(fr=rr(yt.map(Pt),kt,St)))(Pt(Xt(zr)))}return $r.invert=function(zr){return Xt(Gt((pr||(pr=rr(kt,yt.map(Pt),j2)))(zr)))},$r.domain=function(zr){return arguments.length?(yt=Array.from(zr,N4),_r()):yt.slice()},$r.range=function(zr){return arguments.length?(kt=Array.from(zr),_r()):kt.slice()},$r.rangeRound=function(zr){return kt=Array.from(zr),St=pA,_r()},$r.clamp=function(zr){return arguments.length?(Xt=zr?!0:cu,_r()):Xt!==cu},$r.interpolate=function(zr){return arguments.length?(St=zr,_r()):St},$r.unknown=function(zr){return arguments.length?(Qt=zr,$r):Qt},function(zr,Xr){return Pt=zr,Gt=Xr,_r()}}function vA(){return K3()(cu,cu)}function Nu(yt,kt){switch(arguments.length){case 0:break;case 1:this.range(yt);break;default:this.range(kt).domain(yt);break}return this}var bA=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function u2(yt){if(!(kt=bA.exec(yt)))throw new Error("invalid format: "+yt);var kt;return new G2({fill:kt[1],align:kt[2],sign:kt[3],symbol:kt[4],zero:kt[5],width:kt[6],comma:kt[7],precision:kt[8]&&kt[8].slice(1),trim:kt[9],type:kt[10]})}u2.prototype=G2.prototype;function G2(yt){this.fill=yt.fill===void 0?" ":yt.fill+"",this.align=yt.align===void 0?">":yt.align+"",this.sign=yt.sign===void 0?"-":yt.sign+"",this.symbol=yt.symbol===void 0?"":yt.symbol+"",this.zero=!!yt.zero,this.width=yt.width===void 0?void 0:+yt.width,this.comma=!!yt.comma,this.precision=yt.precision===void 0?void 0:+yt.precision,this.trim=!!yt.trim,this.type=yt.type===void 0?"":yt.type+""}G2.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function zu(yt){return Math.abs(yt=Math.round(yt))>=1e21?yt.toLocaleString("en").replace(/,/g,""):yt.toString(10)}function H2(yt,kt){if((St=(yt=kt?yt.toExponential(kt-1):yt.toExponential()).indexOf("e"))<0)return null;var St,Pt=yt.slice(0,St);return[Pt.length>1?Pt[0]+Pt.slice(2):Pt,+yt.slice(St+1)]}function Ks(yt){return yt=H2(Math.abs(yt)),yt?yt[1]:NaN}function e8(yt,kt){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ks(kt)/3)))*3-Ks(Math.abs(yt)))}function t8(yt,kt){return function(St,Pt){for(var Gt=St.length,Qt=[],Xt=0,rr=yt[0],fr=0;Gt>0&&rr>0&&(fr+rr+1>Pt&&(rr=Math.max(1,Pt-fr)),Qt.push(St.substring(Gt-=rr,Gt+rr)),!((fr+=rr+1)>Pt));)rr=yt[Xt=(Xt+1)%yt.length];return Qt.reverse().join(kt)}}function r8(yt){return function(kt){return kt.replace(/[0-9]/g,function(St){return yt[+St]})}}function a8(yt){e:for(var kt=yt.length,St=1,Pt=-1,Gt;St0&&(Pt=0);break}return Pt>0?yt.slice(0,Pt)+yt.slice(Gt+1):yt}var V4;function m1(yt,kt){var St=H2(yt,kt);if(!St)return yt+"";var Pt=St[0],Gt=St[1],Qt=Gt-(V4=Math.max(-8,Math.min(8,Math.floor(Gt/3)))*3)+1,Xt=Pt.length;return Qt===Xt?Pt:Qt>Xt?Pt+new Array(Qt-Xt+1).join("0"):Qt>0?Pt.slice(0,Qt)+"."+Pt.slice(Qt):"0."+new Array(1-Qt).join("0")+H2(yt,Math.max(0,kt+Qt-1))[0]}function uu(yt,kt){var St=H2(yt,kt);if(!St)return yt+"";var Pt=St[0],Gt=St[1];return Gt<0?"0."+new Array(-Gt).join("0")+Pt:Pt.length>Gt+1?Pt.slice(0,Gt+1)+"."+Pt.slice(Gt+1):Pt+new Array(Gt-Pt.length+2).join("0")}const gA={"%":(yt,kt)=>(yt*100).toFixed(kt),b:yt=>Math.round(yt).toString(2),c:yt=>yt+"",d:zu,e:(yt,kt)=>yt.toExponential(kt),f:(yt,kt)=>yt.toFixed(kt),g:(yt,kt)=>yt.toPrecision(kt),o:yt=>Math.round(yt).toString(8),p:(yt,kt)=>uu(yt*100,kt),r:uu,s:m1,X:yt=>Math.round(yt).toString(16).toUpperCase(),x:yt=>Math.round(yt).toString(16)};function dr(yt){return yt}var W2=Array.prototype.map,ju=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Ns(yt){var kt=yt.grouping===void 0||yt.thousands===void 0?dr:t8(W2.call(yt.grouping,Number),yt.thousands+""),St=yt.currency===void 0?"":yt.currency[0]+"",Pt=yt.currency===void 0?"":yt.currency[1]+"",Gt=yt.decimal===void 0?".":yt.decimal+"",Qt=yt.numerals===void 0?dr:r8(W2.call(yt.numerals,String)),Xt=yt.percent===void 0?"%":yt.percent+"",rr=yt.minus===void 0?"−":yt.minus+"",fr=yt.nan===void 0?"NaN":yt.nan+"";function pr($r){$r=u2($r);var zr=$r.fill,Xr=$r.align,Qr=$r.sign,en=$r.symbol,Zr=$r.zero,Gr=$r.width,wn=$r.comma,Tn=$r.precision,Hn=$r.trim,Sn=$r.type;Sn==="n"?(wn=!0,Sn="g"):gA[Sn]||(Tn===void 0&&(Tn=12),Hn=!0,Sn="g"),(Zr||zr==="0"&&Xr==="=")&&(Zr=!0,zr="0",Xr="=");var qn=en==="$"?St:en==="#"&&/[boxX]/.test(Sn)?"0"+Sn.toLowerCase():"",xa=en==="$"?Pt:/[%p]/.test(Sn)?Xt:"",pt=gA[Sn],$t=/[defgprs%]/.test(Sn);Tn=Tn===void 0?6:/[gprs]/.test(Sn)?Math.max(1,Math.min(21,Tn)):Math.max(0,Math.min(20,Tn));function Dt(Zt){var tr=qn,cr=xa,br,wr,xr;if(Sn==="c")cr=pt(Zt)+cr,Zt="";else{Zt=+Zt;var Fr=Zt<0||1/Zt<0;if(Zt=isNaN(Zt)?fr:pt(Math.abs(Zt),Tn),Hn&&(Zt=a8(Zt)),Fr&&+Zt==0&&Qr!=="+"&&(Fr=!1),tr=(Fr?Qr==="("?Qr:rr:Qr==="-"||Qr==="("?"":Qr)+tr,cr=(Sn==="s"?ju[8+V4/3]:"")+cr+(Fr&&Qr==="("?")":""),$t){for(br=-1,wr=Zt.length;++brxr||xr>57){cr=(xr===46?Gt+Zt.slice(br+1):Zt.slice(br))+cr,Zt=Zt.slice(0,br);break}}}wn&&!Zr&&(Zt=kt(Zt,1/0));var Rr=tr.length+Zt.length+cr.length,Br=Rr>1)+tr+Zt+cr+Br.slice(Rr);break;default:Zt=Br+tr+Zt+cr;break}return Qt(Zt)}return Dt.toString=function(){return $r+""},Dt}function _r($r,zr){var Xr=pr(($r=u2($r),$r.type="f",$r)),Qr=Math.max(-8,Math.min(8,Math.floor(Ks(zr)/3)))*3,en=Math.pow(10,-Qr),Zr=ju[8+Qr/3];return function(Gr){return Xr(en*Gr)+Zr}}return{format:pr,formatPrefix:_r}}var Kn,G4,H4;n8({thousands:",",grouping:[3],currency:["$",""]});function n8(yt){return Kn=Ns(yt),G4=Kn.format,H4=Kn.formatPrefix,Kn}function U2(yt,kt){return yt=Math.abs(yt),kt=Math.abs(kt)-yt,Math.max(0,Ks(kt)-Ks(yt))+1}function i8(yt){return Math.max(0,-Ks(Math.abs(yt)))}function o8(yt,kt,St,Pt){var Gt=Xs(yt,kt,St),Qt;switch(Pt=u2(Pt==null?",f":Pt),Pt.type){case"s":{var Xt=Math.max(Math.abs(yt),Math.abs(kt));return Pt.precision==null&&!isNaN(Qt=e8(Gt,Xt))&&(Pt.precision=Qt),H4(Pt,Xt)}case"":case"e":case"g":case"p":case"r":{Pt.precision==null&&!isNaN(Qt=U2(Gt,Math.max(Math.abs(yt),Math.abs(kt))))&&(Pt.precision=Qt-(Pt.type==="e"));break}case"f":case"%":{Pt.precision==null&&!isNaN(Qt=i8(Gt))&&(Pt.precision=Qt-(Pt.type==="%")*2);break}}return G4(Pt)}function s8(yt){var kt=yt.domain;return yt.ticks=function(St){var Pt=kt();return Fs(Pt[0],Pt[Pt.length-1],St==null?10:St)},yt.tickFormat=function(St,Pt){var Gt=kt();return o8(Gt[0],Gt[Gt.length-1],St==null?10:St,Pt)},yt.nice=function(St){St==null&&(St=10);var Pt=kt(),Gt=0,Qt=Pt.length-1,Xt=Pt[Gt],rr=Pt[Qt],fr,pr,_r=10;for(rr0;){if(pr=Xo(Xt,rr,St),pr===fr)return Pt[Gt]=Xt,Pt[Qt]=rr,kt(Pt);if(pr>0)Xt=Math.floor(Xt/pr)*pr,rr=Math.ceil(rr/pr)*pr;else if(pr<0)Xt=Math.ceil(Xt*pr)/pr,rr=Math.floor(rr*pr)/pr;else break;fr=pr}return yt},yt}function W4(){var yt=vA();return yt.copy=function(){return j4(yt,W4())},Nu.apply(yt,arguments),s8(yt)}function l8(yt,kt=0){let St,Pt,Gt,Qt,Xt,rr,fr,pr;for(St=yt.length&3,Pt=yt.length-St,Gt=kt,Xt=3432918353,rr=461845907,pr=0;pr>>16)*Xt&65535)<<16)&4294967295,fr=fr<<15|fr>>>17,fr=(fr&65535)*rr+(((fr>>>16)*rr&65535)<<16)&4294967295,Gt^=fr,Gt=Gt<<13|Gt>>>19,Qt=(Gt&65535)*5+(((Gt>>>16)*5&65535)<<16)&4294967295,Gt=(Qt&65535)+27492+(((Qt>>>16)+58964&65535)<<16);switch(fr=0,St){case 3:fr^=(yt.charCodeAt(pr+2)&255)<<16;case 2:fr^=(yt.charCodeAt(pr+1)&255)<<8;case 1:fr^=yt.charCodeAt(pr)&255;default:fr=(fr&65535)*Xt+(((fr>>>16)*Xt&65535)<<16)&4294967295,fr=fr<<15|fr>>>17,fr=(fr&65535)*rr+(((fr>>>16)*rr&65535)<<16)&4294967295,Gt^=fr}return Gt^=yt.length,Gt^=Gt>>>16,Gt=(Gt&65535)*2246822507+(((Gt>>>16)*2246822507&65535)<<16)&4294967295,Gt^=Gt>>>13,Gt=(Gt&65535)*3266489909+(((Gt>>>16)*3266489909&65535)<<16)&4294967295,Gt^=Gt>>>16,Gt>>>0}const Vl=bn().rgb(148,142,142);bn().rgb(200,0,0),bn().rgb(0,170,0),bn()("#48CE73");function c8(yt,kt,St){const Pt=u8(kt,St);return U4(yt)(Pt)}function u8(yt,kt){if(yt===kt)return 0;if(yt===0)return 100;const St=(kt-yt)/yt*100;return St>100?100:St<-100?-100:St}function Z4(yt,kt){return bn().rgb(yt,yt,yt).alpha(kt)}function f8(yt){switch(yt){case"dotnetspy":return new RegExp("^(?.+)\\.(.+)\\.(.+)\\(.*\\)$");case"ebpfspy":return new RegExp("^(?.+)$");case"gospy":return new RegExp("^(?.*?\\/.*?\\.|.*?\\.|.+)(?.*)$");case"scrape":return new RegExp("^(?.*?\\/.*?\\.|.*?\\.|.+)(?.*)$");case"phpspy":return new RegExp("^(?(.*\\/)*)(?.*\\.php+)(?.*)$");case"pyspy":return new RegExp("^(?(.*\\/)*)(?.*\\.py+)(?.*)$");case"rbspy":return new RegExp("^(?(.*\\/)*)(?.*\\.rb+)(?.*)$");case"nodespy":return new RegExp("^(\\.\\/node_modules\\/)?(?[^/]*)(?.*\\.?(jsx?|tsx?)?):(?.*):(?.*)$");case"tracing":return new RegExp("^(?.+?):.*$");case"javaspy":return new RegExp("^(?.+\\/)(?.+\\.)(?.+)$");case"pyroscope-rs":return new RegExp("^(?[^::]+)");case"unknown":return new RegExp("^(?.+)$")}return new RegExp("^(?.+)$")}function Y4(yt,kt){if(kt.length===0)return kt;const St=f8(yt),Pt=kt.match(St);return Pt&&Pt.groups?Pt.groups.packageName||"":kt}function Gl(yt,kt){const St=l8(kt,0)%yt.colors.length;return yt.colors[St]||(console.warn("Could not calculate color. Defaulting to the first one"),yt.colors[0])}function U4(yt){const{goodColor:kt,neutralColor:St,badColor:Pt}=yt,Gt=W4().domain([-100,0,100]).range([kt.rgb().toString(),St.rgb().toString(),Pt.rgb().toString()]);return Qt=>bn()(Gt(Qt).toString())}function Q4(yt,kt){return kt.toLowerCase().includes(yt.toLowerCase())}var A8=Object.defineProperty,d8=Object.defineProperties,h8=Object.getOwnPropertyDescriptors,T2=Object.getOwnPropertySymbols,p8=Object.prototype.hasOwnProperty,b8=Object.prototype.propertyIsEnumerable,zs=(yt,kt,St)=>kt in yt?A8(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,q4=(yt,kt)=>{for(var St in kt||(kt={}))p8.call(kt,St)&&zs(yt,St,kt[St]);if(T2)for(var St of T2(kt))b8.call(kt,St)&&zs(yt,St,kt[St]);return yt},g8=(yt,kt)=>d8(yt,h8(kt));function J4(yt){const{canvas:kt,fitMode:St,units:Pt,tickToX:Gt,levels:Qt,palette:Xt}=yt,{numTicks:rr,sampleRate:fr,pxPerTick:pr}=yt,{rangeMin:_r,rangeMax:$r}=yt,{focusedNode:zr,zoom:Xr}=yt,Qr=yA(kt);if(kt.width=Qr,_r>=$r)throw new Error("'rangeMin' should be strictly smaller than 'rangeMax'");const{format:en}=yt,Zr=Ir(en),Gr=kt.getContext("2d");if(!Gr)throw new Error("Could not get ctx");const wn=Xr.mapOrElse(()=>0,pt=>pt.i),Tn=ir(rr,fr,Pt),Hn=zr.isJust,Sn=zr.mapOrElse(()=>0,pt=>pt.i),qn=A0*(Qt.length-Sn)+(Hn?p0:0);kt.height=qn,devicePixelRatio>1&&(kt.width*=2,kt.height*=2,Gr.scale(2,2));const{names:xa}=yt;if(Hn){const pt=rr*pr;Gr.beginPath(),Gr.rect(0,0,rr*pr,p0),Gr.fillStyle=Z4(200,1).rgb().string(),Gr.fill();const $t=zr.mapOrElse(()=>"total",xr=>`total (${xr.i-1} level(s) collapsed)`);Gr.textBaseline="middle",Gr.font="400 11.5px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace";const Dt=Gr.measureText("a").width,Zt=Jn({mode:St,charSize:Dt,rectWidth:pt,fullText:$t,shortText:$t}),tr=0,cr=0,br=p0;Gr.save(),Gr.clip(),Gr.fillStyle="black";const wr=Math.round(Math.max(tr,0));Gr.fillText(Zt.text,wr+Zt.marginLeft,cr+br/2+1),Gr.restore()}for(let pt=0;pt0,xr=K4(Dt+Zr.jName,$t,xa,yt.highlightQuery);let Fr=Zr.getBarTotal($t,Dt);const Rr=Fr*pr<=L0;if(Rr)for(;Dt<$t.length-Zr.jStep&&Zt+Fr===Zr.getBarOffset($t,Dt+Zr.jStep)&&Zr.getBarTotal($t,Dt+Zr.jStep)*pr<=L0&&xr===(yt.highlightQuery&&K4(Dt+Zr.jStep+Zr.jName,$t,xa,yt.highlightQuery)||!1);)Dt+=Zr.jStep,Fr+=Zr.getBarTotal($t,Dt);const Br=Fr*pr-(Rr?0:S0),{spyName:$a}=yt,sn=(()=>{const h0={level:$t,j:Dt,i:pt+zr.mapOrElse(()=>0,g0=>g0.i),names:xa,collapsed:Rr,selectedLevel:wn,highlightModeOn:wr,isHighlighted:xr,spyName:$a,palette:Xt};switch(en){case"single":return X4(q4({},h0));case"double":return w8(g8(q4({},h0),{leftTicks:yt.leftTicks,rightTicks:yt.rightTicks}));default:throw new Error(`Unsupported format: ${en}`)}})();if(Gr.beginPath(),Gr.rect(tr,cr,Br,br),Gr.fillStyle=sn.string(),Gr.fill(),Rr||Bryt.i?.33:1;let Gt=yt.level[yt.j+St.jName];Gt===void 0&&(console.warn("Could nto find level",{l:yt.j,jName:St.jName,level:yt.level}),Gt=-1);const Qt=yt.names[Gt]||"",Xt=Y4(yt.spyName,Qt)||"";return Gl(yt.palette,Xt).alpha(Pt)}function w8(yt){const kt=mA(yt);if(kt)return kt;const St=yt.selectedLevel>yt.i?.33:1,{leftRatio:Pt,rightRatio:Gt}=o0(yt.level,yt.j,yt.leftTicks,yt.rightTicks),Qt=Yt(Pt),Xt=Yt(Gt);return c8(yt.palette,Qt,Xt).alpha(St)}function K4(yt,kt,St,Pt){const Gt=kt[yt];if(!Gt)return!1;const Qt=St[Gt];return Qt?Q4(Pt,Qt):!1}function yA(yt){return yt.clientWidth||yt.width}var Vu=Object.defineProperty,w1=Object.defineProperties,k8=Object.getOwnPropertyDescriptors,wA=Object.getOwnPropertySymbols,E8=Object.prototype.hasOwnProperty,f2=Object.prototype.propertyIsEnumerable,k1=(yt,kt,St)=>kt in yt?Vu(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,Hl=(yt,kt)=>{for(var St in kt||(kt={}))E8.call(kt,St)&&k1(yt,St,kt[St]);if(wA)for(var St of wA(kt))f2.call(kt,St)&&k1(yt,St,kt[St]);return yt},ws=(yt,kt)=>w1(yt,k8(kt));class ep{constructor(kt,St,Pt,Gt,Qt,Xt,rr){if(this.flamebearer=kt,this.canvas=St,this.focusedNode=Pt,this.fitMode=Gt,this.highlightQuery=Qt,this.zoom=Xt,this.palette=rr,this.tickToX=fr=>{const{rangeMin:pr}=this.getRange();return(fr-this.flamebearer.numTicks*pr)*this.pxPerTick()},this.xyToBarPosition=fr=>{const{ff:pr}=this,{i:_r,j:$r}=this.xyToBarIndex(fr.x,fr.y),zr=this.focusedNode.mapOrElse(()=>0,Gr=>Gr.i<0?0:Gr.i-1),Xr=this.flamebearer.levels[_r];if(!Xr)throw new Error(`Could not find level: '${_r}'`);const Qr=Math.max(this.tickToX(pr.getBarOffset(Xr,$r)),0),en=Math.max((_r-zr)*A0,0),Zr=Math.min(this.tickToX(pr.getBarOffset(Xr,$r)+pr.getBarTotal(Xr,$r))-Qr,this.getCanvasWidth());return{x:Qr,y:en,width:Zr}},this.xyToBarData=fr=>{const{i:pr,j:_r}=this.xyToBarIndex(fr.x,fr.y),$r=this.flamebearer.levels[pr];if(!$r)throw new Error(`Could not find level: '${pr}'`);switch(this.flamebearer.format){case"single":{const zr=sr;return{format:"single",name:this.flamebearer.names[zr.getBarName($r,_r)],self:zr.getBarSelf($r,_r),offset:zr.getBarOffset($r,_r),total:zr.getBarTotal($r,_r)}}case"double":{const zr=gr;return{format:"double",barTotal:zr.getBarTotal($r,_r),totalLeft:zr.getBarTotalLeft($r,_r),totalRight:zr.getBarTotalRght($r,_r),totalDiff:zr.getBarTotalDiff($r,_r),name:this.flamebearer.names[zr.getBarName($r,_r)]}}default:throw new Error("Unsupported type")}},this.isWithinBounds=(fr,pr)=>{if(fr<0||fr>this.getCanvasWidth())return!1;try{const{i:_r,j:$r}=this.xyToBarIndex(fr,pr);if($r===-1||_r===-1)return!1}catch(_r){return!1}return!0},this.zoom=Xt,this.focusedNode=Pt,this.flamebearer=kt,this.canvas=St,this.highlightQuery=Qt,this.ff=Ir(kt.format),this.palette=rr,Pt.isJust&&Xt.isJust&&Xt.value.i{const rr=this.flamebearer.levels[Xt.i];if(!rr)throw new Error(`Could not find level: '${Xt.i}'`);const fr=kt.getBarOffset(rr,Xt.j)/this.flamebearer.numTicks,pr=(kt.getBarOffset(rr,Xt.j)+kt.getBarTotal(rr,Xt.j))/this.flamebearer.numTicks;return{rangeMin:fr,rangeMax:pr}},Pt=Xt=>{const rr=this.flamebearer.levels[Xt.i];if(!rr)throw new Error(`Could not find level: '${Xt.i}'`);const fr=kt.getBarOffset(rr,Xt.j)/this.flamebearer.numTicks,pr=(kt.getBarOffset(rr,Xt.j)+kt.getBarTotal(rr,Xt.j))/this.flamebearer.numTicks;return{rangeMin:fr,rangeMax:pr}},{zoom:Gt,focusedNode:Qt}=this;return Gt.match({Just:Xt=>Qt.match({Just:rr=>{const fr=Pt(rr),pr=St(Xt);return fr.rangeMax-fr.rangeMinSt(Xt)}),Nothing:()=>Qt.match({Just:Xt=>Pt(Xt),Nothing:()=>({rangeMin:0,rangeMax:1})})})}getCanvasWidth(){return this.canvas.clientWidth||this.canvas.width}isFocused(){return this.focusedNode.isJust}binarySearchLevel(kt,St){const{ff:Pt}=this;let Gt=0,Qt=St.length-Pt.jStep;for(;Gt<=Qt;){const Xt=Pt.jStep*(Gt/Pt.jStep+Qt/Pt.jStep>>1),rr=this.tickToX(Pt.getBarOffset(St,Xt)),fr=this.tickToX(Pt.getBarOffset(St,Xt)+Pt.getBarTotal(St,Xt));if(rr<=kt&&fr>=kt)return fr-rr>L0?Xt:-1;rr>kt?Qt=Xt-Pt.jStep:Gt=Xt+Pt.jStep}return-1}xyToBarIndex(kt,St){if(kt<0||St<0)throw new Error(`x and y must be bigger than 0. x = ${kt}, y = ${St}`);if(this.isFocused()&&St<=p0)return{i:0,j:0};const Pt=this.isFocused()?St-p0:St,Gt=this.focusedNode.mapOrElse(()=>0,rr=>rr.i<=0?0:rr.i),Qt=this.zoom.match({Just:()=>this.focusedNode.match({Just:()=>Gt,Nothing:()=>0}),Nothing:()=>this.focusedNode.match({Just:()=>Gt,Nothing:()=>0})}),Xt=Math.floor(Pt/A0)+Qt;if(Xt>=0&&Xt{const{i:Gt,j:Qt}=this.xyToBarIndex(kt,St),Xt=this.xyToBarPosition(Pt),rr=this.xyToBarData(Pt);return Hl(Hl({i:Gt,j:Qt},Xt),rr)})}}function kA(yt){var kt,St,Pt="";if(typeof yt=="string"||typeof yt=="number")Pt+=yt;else if(typeof yt=="object")if(Array.isArray(yt))for(kt=0;kt"u"?setTimeout:setImmediate,Au=[],BA;function PA(){for(var wt=0;wt-1;Ht--){var Qt=St[Ht],Kt=(Qt.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(Kt)>-1&&(Pt=Qt)}return ns.head.insertBefore(kt,Pt),wt}}var DA="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Yu(){for(var wt=12,kt="";wt-- >0;)kt+=DA[Math.random()*62|0];return kt}function FA(wt){return"".concat(wt).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function _s(wt){return Object.keys(wt||{}).reduce(function(kt,St){return kt+"".concat(St,'="').concat(FA(wt[St]),'" ')},"").trim()}function d2(wt){return Object.keys(wt||{}).reduce(function(kt,St){return kt+"".concat(St,": ").concat(wt[St],";")},"")}function R1(wt){return wt.size!==hu.size||wt.x!==hu.x||wt.y!==hu.y||wt.rotate!==hu.rotate||wt.flipX||wt.flipY}function NA(wt){var kt=wt.transform,St=wt.containerWidth,Pt=wt.iconWidth,Ht={transform:"translate(".concat(St/2," 256)")},Qt="translate(".concat(kt.x*32,", ").concat(kt.y*32,") "),Kt="scale(".concat(kt.size/16*(kt.flipX?-1:1),", ").concat(kt.size/16*(kt.flipY?-1:1),") "),ar="rotate(".concat(kt.rotate," 0 0)"),Ar={transform:"".concat(Qt," ").concat(Kt," ").concat(ar)},pr={transform:"translate(".concat(Pt/2*-1," -256)")};return{outer:Ht,inner:Ar,path:pr}}var pu={x:0,y:0,width:"100%",height:"100%"};function zA(wt){var kt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return wt.attributes&&(wt.attributes.fill||kt)&&(wt.attributes.fill="black"),wt}function jA(wt){return wt.tag==="g"?wt.children:[wt]}function up(wt){var kt=wt.children,St=wt.attributes,Pt=wt.main,Ht=wt.mask,Qt=wt.maskId,Kt=wt.transform,ar=Pt.width,Ar=Pt.icon,pr=Ht.width,_r=Ht.icon,$r=NA({transform:Kt,containerWidth:pr,iconWidth:ar}),zr={tag:"rect",attributes:E0({},pu,{fill:"white"})},Xr=Ar.children?{children:Ar.children.map(zA)}:{},Qr={tag:"g",attributes:E0({},$r.inner),children:[zA(E0({tag:Ar.tag,attributes:E0({},Ar.attributes,$r.path)},Xr))]},en={tag:"g",attributes:E0({},$r.outer),children:[Qr]},Zr="mask-".concat(Qt||Yu()),Gr="clip-".concat(Qt||Yu()),wn={tag:"mask",attributes:E0({},pu,{id:Zr,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[zr,en]},Tn={tag:"defs",children:[{tag:"clipPath",attributes:{id:Gr},children:jA(_r)},wn]};return kt.push(Tn,{tag:"rect",attributes:E0({fill:"currentColor","clip-path":"url(#".concat(Gr,")"),mask:"url(#".concat(Zr,")")},pu)}),{children:kt,attributes:St}}function VA(wt){var kt=wt.children,St=wt.attributes,Pt=wt.main,Ht=wt.transform,Qt=wt.styles,Kt=d2(Qt);if(Kt.length>0&&(St.style=Kt),R1(Ht)){var ar=NA({transform:Ht,containerWidth:Pt.width,iconWidth:Pt.width});kt.push({tag:"g",attributes:E0({},ar.outer),children:[{tag:"g",attributes:E0({},ar.inner),children:[{tag:Pt.icon.tag,children:Pt.icon.children,attributes:E0({},Pt.icon.attributes,ar.path)}]}]})}else kt.push(Pt.icon);return{children:kt,attributes:St}}function HA(wt){var kt=wt.children,St=wt.main,Pt=wt.mask,Ht=wt.attributes,Qt=wt.styles,Kt=wt.transform;if(R1(Kt)&&St.found&&!Pt.found){var ar=St.width,Ar=St.height,pr={x:ar/Ar/2,y:.5};Ht.style=d2(E0({},Qt,{"transform-origin":"".concat(pr.x+Kt.x/16,"em ").concat(pr.y+Kt.y/16,"em")}))}return[{tag:"svg",attributes:Ht,children:kt}]}function O2(wt){var kt=wt.prefix,St=wt.iconName,Pt=wt.children,Ht=wt.attributes,Qt=wt.symbol,Kt=Qt===!0?"".concat(kt,"-").concat(Es.familyPrefix,"-").concat(St):Qt;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:E0({},Ht,{id:Kt}),children:Pt}]}]}function R8(wt){var kt=wt.icons,St=kt.main,Pt=kt.mask,Ht=wt.prefix,Qt=wt.iconName,Kt=wt.transform,ar=wt.symbol,Ar=wt.title,pr=wt.maskId,_r=wt.titleId,$r=wt.extra,zr=wt.watchable,Xr=zr===void 0?!1:zr,Qr=Pt.found?Pt:St,en=Qr.width,Zr=Qr.height,Gr=Ht==="fak",wn=Gr?"":"fa-w-".concat(Math.ceil(en/Zr*16)),Tn=[Es.replacementClass,Qt?"".concat(Es.familyPrefix,"-").concat(Qt):"",wn].filter(function(Dt){return $r.classes.indexOf(Dt)===-1}).filter(function(Dt){return Dt!==""||!!Dt}).concat($r.classes).join(" "),Hn={children:[],attributes:E0({},$r.attributes,{"data-prefix":Ht,"data-icon":Qt,class:Tn,role:$r.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(en," ").concat(Zr)})},Sn=Gr&&!~$r.classes.indexOf("fa-fw")?{width:"".concat(en/Zr*16*.0625,"em")}:{};Xr&&(Hn.attributes[x8]=""),Ar&&Hn.children.push({tag:"title",attributes:{id:Hn.attributes["aria-labelledby"]||"title-".concat(_r||Yu())},children:[Ar]});var qn=E0({},Hn,{prefix:Ht,iconName:Qt,main:St,mask:Pt,maskId:pr,transform:Kt,symbol:ar,styles:E0({},Sn,$r.styles)}),xa=Pt.found&&St.found?up(qn):VA(qn),mt=xa.children,$t=xa.attributes;return qn.children=mt,qn.attributes=$t,ar?O2(qn):HA(qn)}var h2=function(){};Es.measurePerformance&&fu&&fu.mark&&fu.measure;var fp=function(wt,kt){return function(St,Pt,Ht,Qt){return wt.call(kt,St,Pt,Ht,Qt)}},M1=function(wt,kt,St,Pt){var Ht=Object.keys(wt),Qt=Ht.length,Kt=Pt!==void 0?fp(kt,Pt):kt,ar,Ar,pr;for(St===void 0?(ar=1,pr=wt[Ht[0]]):(ar=0,pr=St);ar2&&arguments[2]!==void 0?arguments[2]:{},Pt=St.skipHooks,Ht=Pt===void 0?!1:Pt,Qt=Object.keys(kt).reduce(function(Kt,ar){var Ar=kt[ar],pr=!!Ar.icon;return pr?Kt[Ar.iconName]=Ar.icon:Kt[ar]=Ar,Kt},{});typeof js.hooks.addPack=="function"&&!Ht?js.hooks.addPack(wt,Qt):js.styles[wt]=E0({},js.styles[wt]||{},Qt),wt==="fas"&&B1("fa",kt)}var Ap=js.styles,M8=js.shims,dp=function(){var wt=function(St){return M1(Ap,function(Pt,Ht,Qt){return Pt[Qt]=M1(Ht,St,{}),Pt},{})};wt(function(St,Pt,Ht){return Pt[3]&&(St[Pt[3]]=Ht),St}),wt(function(St,Pt,Ht){var Qt=Pt[2];return St[Ht]=Ht,Qt.forEach(function(Kt){St[Kt]=Ht}),St});var kt="far"in Ap;M1(M8,function(St,Pt){var Ht=Pt[0],Qt=Pt[1],Kt=Pt[2];return Qt==="far"&&!kt&&(Qt="fas"),St[Ht]={prefix:Qt,iconName:Kt},St},{})};dp(),js.styles;function WA(wt,kt,St){if(wt&&wt[kt]&&wt[kt][St])return{prefix:kt,iconName:St,icon:wt[kt][St]}}function ZA(wt){var kt=wt.tag,St=wt.attributes,Pt=St===void 0?{}:St,Ht=wt.children,Qt=Ht===void 0?[]:Ht;return typeof wt=="string"?FA(wt):"<".concat(kt," ").concat(_s(Pt),">").concat(Qt.map(ZA).join(""),"")}var B8=function(wt){var kt={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return wt?wt.toLowerCase().split(" ").reduce(function(St,Pt){var Ht=Pt.toLowerCase().split("-"),Qt=Ht[0],Kt=Ht.slice(1).join("-");if(Qt&&Kt==="h")return St.flipX=!0,St;if(Qt&&Kt==="v")return St.flipY=!0,St;if(Kt=parseFloat(Kt),isNaN(Kt))return St;switch(Qt){case"grow":St.size=St.size+Kt;break;case"shrink":St.size=St.size-Kt;break;case"left":St.x=St.x-Kt;break;case"right":St.x=St.x+Kt;break;case"up":St.y=St.y-Kt;break;case"down":St.y=St.y+Kt;break;case"rotate":St.rotate=St.rotate+Kt;break}return St},kt):kt};function P1(wt){this.name="MissingIcon",this.message=wt||"Icon unavailable",this.stack=new Error().stack}P1.prototype=Object.create(Error.prototype),P1.prototype.constructor=P1;var Uu={fill:"currentColor"},os={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};E0({},Uu,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"});var Vs=E0({},os,{attributeName:"opacity"});E0({},Uu,{cx:"256",cy:"364",r:"28"}),E0({},os,{attributeName:"r",values:"28;14;28;28;14;28;"}),E0({},Vs,{values:"1;0;1;1;0;1;"}),E0({},Uu,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),E0({},Vs,{values:"1;0;0;0;0;1;"}),E0({},Uu,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),E0({},Vs,{values:"0;0;1;1;0;0;"}),js.styles;function hp(wt){var kt=wt[0],St=wt[1],Pt=wt.slice(4),Ht=_A(Pt,1),Qt=Ht[0],Kt=null;return Array.isArray(Qt)?Kt={tag:"g",attributes:{class:"".concat(Es.familyPrefix,"-").concat(q2.GROUP)},children:[{tag:"path",attributes:{class:"".concat(Es.familyPrefix,"-").concat(q2.SECONDARY),fill:"currentColor",d:Qt[0]}},{tag:"path",attributes:{class:"".concat(Es.familyPrefix,"-").concat(q2.PRIMARY),fill:"currentColor",d:Qt[1]}}]}:Kt={tag:"path",attributes:{fill:"currentColor",d:Qt}},{found:!0,width:kt,height:St,icon:Kt}}js.styles;var P8=`svg:not(:root).svg-inline--fa { +*/function A2(yt){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?A2=function(kt){return typeof kt}:A2=function(kt){return kt&&typeof Symbol=="function"&&kt.constructor===Symbol&&kt!==Symbol.prototype?"symbol":typeof kt},A2(yt)}function S2(yt,kt){if(!(yt instanceof kt))throw new TypeError("Cannot call a class as a function")}function EA(yt,kt){for(var St=0;St"u"?setTimeout:setImmediate,Au=[],BA;function PA(){for(var yt=0;yt-1;Gt--){var Qt=St[Gt],Xt=(Qt.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(Xt)>-1&&(Pt=Qt)}return ns.head.insertBefore(kt,Pt),yt}}var DA="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Yu(){for(var yt=12,kt="";yt-- >0;)kt+=DA[Math.random()*62|0];return kt}function FA(yt){return"".concat(yt).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function _s(yt){return Object.keys(yt||{}).reduce(function(kt,St){return kt+"".concat(St,'="').concat(FA(yt[St]),'" ')},"").trim()}function d2(yt){return Object.keys(yt||{}).reduce(function(kt,St){return kt+"".concat(St,": ").concat(yt[St],";")},"")}function R1(yt){return yt.size!==hu.size||yt.x!==hu.x||yt.y!==hu.y||yt.rotate!==hu.rotate||yt.flipX||yt.flipY}function NA(yt){var kt=yt.transform,St=yt.containerWidth,Pt=yt.iconWidth,Gt={transform:"translate(".concat(St/2," 256)")},Qt="translate(".concat(kt.x*32,", ").concat(kt.y*32,") "),Xt="scale(".concat(kt.size/16*(kt.flipX?-1:1),", ").concat(kt.size/16*(kt.flipY?-1:1),") "),rr="rotate(".concat(kt.rotate," 0 0)"),fr={transform:"".concat(Qt," ").concat(Xt," ").concat(rr)},pr={transform:"translate(".concat(Pt/2*-1," -256)")};return{outer:Gt,inner:fr,path:pr}}var pu={x:0,y:0,width:"100%",height:"100%"};function zA(yt){var kt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return yt.attributes&&(yt.attributes.fill||kt)&&(yt.attributes.fill="black"),yt}function jA(yt){return yt.tag==="g"?yt.children:[yt]}function up(yt){var kt=yt.children,St=yt.attributes,Pt=yt.main,Gt=yt.mask,Qt=yt.maskId,Xt=yt.transform,rr=Pt.width,fr=Pt.icon,pr=Gt.width,_r=Gt.icon,$r=NA({transform:Xt,containerWidth:pr,iconWidth:rr}),zr={tag:"rect",attributes:E0({},pu,{fill:"white"})},Xr=fr.children?{children:fr.children.map(zA)}:{},Qr={tag:"g",attributes:E0({},$r.inner),children:[zA(E0({tag:fr.tag,attributes:E0({},fr.attributes,$r.path)},Xr))]},en={tag:"g",attributes:E0({},$r.outer),children:[Qr]},Zr="mask-".concat(Qt||Yu()),Gr="clip-".concat(Qt||Yu()),wn={tag:"mask",attributes:E0({},pu,{id:Zr,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[zr,en]},Tn={tag:"defs",children:[{tag:"clipPath",attributes:{id:Gr},children:jA(_r)},wn]};return kt.push(Tn,{tag:"rect",attributes:E0({fill:"currentColor","clip-path":"url(#".concat(Gr,")"),mask:"url(#".concat(Zr,")")},pu)}),{children:kt,attributes:St}}function VA(yt){var kt=yt.children,St=yt.attributes,Pt=yt.main,Gt=yt.transform,Qt=yt.styles,Xt=d2(Qt);if(Xt.length>0&&(St.style=Xt),R1(Gt)){var rr=NA({transform:Gt,containerWidth:Pt.width,iconWidth:Pt.width});kt.push({tag:"g",attributes:E0({},rr.outer),children:[{tag:"g",attributes:E0({},rr.inner),children:[{tag:Pt.icon.tag,children:Pt.icon.children,attributes:E0({},Pt.icon.attributes,rr.path)}]}]})}else kt.push(Pt.icon);return{children:kt,attributes:St}}function HA(yt){var kt=yt.children,St=yt.main,Pt=yt.mask,Gt=yt.attributes,Qt=yt.styles,Xt=yt.transform;if(R1(Xt)&&St.found&&!Pt.found){var rr=St.width,fr=St.height,pr={x:rr/fr/2,y:.5};Gt.style=d2(E0({},Qt,{"transform-origin":"".concat(pr.x+Xt.x/16,"em ").concat(pr.y+Xt.y/16,"em")}))}return[{tag:"svg",attributes:Gt,children:kt}]}function O2(yt){var kt=yt.prefix,St=yt.iconName,Pt=yt.children,Gt=yt.attributes,Qt=yt.symbol,Xt=Qt===!0?"".concat(kt,"-").concat(Es.familyPrefix,"-").concat(St):Qt;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:E0({},Gt,{id:Xt}),children:Pt}]}]}function R8(yt){var kt=yt.icons,St=kt.main,Pt=kt.mask,Gt=yt.prefix,Qt=yt.iconName,Xt=yt.transform,rr=yt.symbol,fr=yt.title,pr=yt.maskId,_r=yt.titleId,$r=yt.extra,zr=yt.watchable,Xr=zr===void 0?!1:zr,Qr=Pt.found?Pt:St,en=Qr.width,Zr=Qr.height,Gr=Gt==="fak",wn=Gr?"":"fa-w-".concat(Math.ceil(en/Zr*16)),Tn=[Es.replacementClass,Qt?"".concat(Es.familyPrefix,"-").concat(Qt):"",wn].filter(function(Dt){return $r.classes.indexOf(Dt)===-1}).filter(function(Dt){return Dt!==""||!!Dt}).concat($r.classes).join(" "),Hn={children:[],attributes:E0({},$r.attributes,{"data-prefix":Gt,"data-icon":Qt,class:Tn,role:$r.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(en," ").concat(Zr)})},Sn=Gr&&!~$r.classes.indexOf("fa-fw")?{width:"".concat(en/Zr*16*.0625,"em")}:{};Xr&&(Hn.attributes[x8]=""),fr&&Hn.children.push({tag:"title",attributes:{id:Hn.attributes["aria-labelledby"]||"title-".concat(_r||Yu())},children:[fr]});var qn=E0({},Hn,{prefix:Gt,iconName:Qt,main:St,mask:Pt,maskId:pr,transform:Xt,symbol:rr,styles:E0({},Sn,$r.styles)}),xa=Pt.found&&St.found?up(qn):VA(qn),pt=xa.children,$t=xa.attributes;return qn.children=pt,qn.attributes=$t,rr?O2(qn):HA(qn)}var h2=function(){};Es.measurePerformance&&fu&&fu.mark&&fu.measure;var fp=function(yt,kt){return function(St,Pt,Gt,Qt){return yt.call(kt,St,Pt,Gt,Qt)}},M1=function(yt,kt,St,Pt){var Gt=Object.keys(yt),Qt=Gt.length,Xt=Pt!==void 0?fp(kt,Pt):kt,rr,fr,pr;for(St===void 0?(rr=1,pr=yt[Gt[0]]):(rr=0,pr=St);rr2&&arguments[2]!==void 0?arguments[2]:{},Pt=St.skipHooks,Gt=Pt===void 0?!1:Pt,Qt=Object.keys(kt).reduce(function(Xt,rr){var fr=kt[rr],pr=!!fr.icon;return pr?Xt[fr.iconName]=fr.icon:Xt[rr]=fr,Xt},{});typeof js.hooks.addPack=="function"&&!Gt?js.hooks.addPack(yt,Qt):js.styles[yt]=E0({},js.styles[yt]||{},Qt),yt==="fas"&&B1("fa",kt)}var Ap=js.styles,M8=js.shims,dp=function(){var yt=function(St){return M1(Ap,function(Pt,Gt,Qt){return Pt[Qt]=M1(Gt,St,{}),Pt},{})};yt(function(St,Pt,Gt){return Pt[3]&&(St[Pt[3]]=Gt),St}),yt(function(St,Pt,Gt){var Qt=Pt[2];return St[Gt]=Gt,Qt.forEach(function(Xt){St[Xt]=Gt}),St});var kt="far"in Ap;M1(M8,function(St,Pt){var Gt=Pt[0],Qt=Pt[1],Xt=Pt[2];return Qt==="far"&&!kt&&(Qt="fas"),St[Gt]={prefix:Qt,iconName:Xt},St},{})};dp(),js.styles;function WA(yt,kt,St){if(yt&&yt[kt]&&yt[kt][St])return{prefix:kt,iconName:St,icon:yt[kt][St]}}function ZA(yt){var kt=yt.tag,St=yt.attributes,Pt=St===void 0?{}:St,Gt=yt.children,Qt=Gt===void 0?[]:Gt;return typeof yt=="string"?FA(yt):"<".concat(kt," ").concat(_s(Pt),">").concat(Qt.map(ZA).join(""),"")}var B8=function(yt){var kt={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return yt?yt.toLowerCase().split(" ").reduce(function(St,Pt){var Gt=Pt.toLowerCase().split("-"),Qt=Gt[0],Xt=Gt.slice(1).join("-");if(Qt&&Xt==="h")return St.flipX=!0,St;if(Qt&&Xt==="v")return St.flipY=!0,St;if(Xt=parseFloat(Xt),isNaN(Xt))return St;switch(Qt){case"grow":St.size=St.size+Xt;break;case"shrink":St.size=St.size-Xt;break;case"left":St.x=St.x-Xt;break;case"right":St.x=St.x+Xt;break;case"up":St.y=St.y-Xt;break;case"down":St.y=St.y+Xt;break;case"rotate":St.rotate=St.rotate+Xt;break}return St},kt):kt};function P1(yt){this.name="MissingIcon",this.message=yt||"Icon unavailable",this.stack=new Error().stack}P1.prototype=Object.create(Error.prototype),P1.prototype.constructor=P1;var Uu={fill:"currentColor"},os={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};E0({},Uu,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"});var Vs=E0({},os,{attributeName:"opacity"});E0({},Uu,{cx:"256",cy:"364",r:"28"}),E0({},os,{attributeName:"r",values:"28;14;28;28;14;28;"}),E0({},Vs,{values:"1;0;1;1;0;1;"}),E0({},Uu,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),E0({},Vs,{values:"1;0;0;0;0;1;"}),E0({},Uu,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),E0({},Vs,{values:"0;0;1;1;0;0;"}),js.styles;function hp(yt){var kt=yt[0],St=yt[1],Pt=yt.slice(4),Gt=_A(Pt,1),Qt=Gt[0],Xt=null;return Array.isArray(Qt)?Xt={tag:"g",attributes:{class:"".concat(Es.familyPrefix,"-").concat(q2.GROUP)},children:[{tag:"path",attributes:{class:"".concat(Es.familyPrefix,"-").concat(q2.SECONDARY),fill:"currentColor",d:Qt[0]}},{tag:"path",attributes:{class:"".concat(Es.familyPrefix,"-").concat(q2.PRIMARY),fill:"currentColor",d:Qt[1]}}]}:Xt={tag:"path",attributes:{fill:"currentColor",d:Qt}},{found:!0,width:kt,height:St,icon:Xt}}js.styles;var P8=`svg:not(:root).svg-inline--fa { overflow: visible; } @@ -719,12 +719,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho .fad.fa-inverse { color: #fff; -}`;function L1(){var wt=TA,kt=ap,St=Es.familyPrefix,Pt=Es.replacementClass,Ht=P8;if(St!==wt||Pt!==kt){var Qt=new RegExp("\\.".concat(wt,"\\-"),"g"),Kt=new RegExp("\\--".concat(wt,"\\-"),"g"),ar=new RegExp("\\.".concat(kt),"g");Ht=Ht.replace(Qt,".".concat(St,"-")).replace(Kt,"--".concat(St,"-")).replace(ar,".".concat(Pt))}return Ht}var vu=function(){function wt(){S2(this,wt),this.definitions={}}return _8(wt,[{key:"add",value:function(){for(var kt=this,St=arguments.length,Pt=new Array(St),Ht=0;Ht1&&arguments[1]!==void 0?arguments[1]:{},Pt=(kt||{}).icon?kt:bp(kt||{}),Ht=St.mask;return Ht&&(Ht=(Ht||{}).icon?Ht:bp(Ht||{})),wt(Pt,E0({},St,{mask:Ht}))}}var bu=new vu,gu=!1,YA={transform:function(wt){return B8(wt)}},mp=gp(function(wt){var kt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},St=kt.transform,Pt=St===void 0?hu:St,Ht=kt.symbol,Qt=Ht===void 0?!1:Ht,Kt=kt.mask,ar=Kt===void 0?null:Kt,Ar=kt.maskId,pr=Ar===void 0?null:Ar,_r=kt.title,$r=_r===void 0?null:_r,zr=kt.titleId,Xr=zr===void 0?null:zr,Qr=kt.classes,en=Qr===void 0?[]:Qr,Zr=kt.attributes,Gr=Zr===void 0?{}:Zr,wn=kt.styles,Tn=wn===void 0?{}:wn;if(wt){var Hn=wt.prefix,Sn=wt.iconName,qn=wt.icon;return vp(E0({type:"icon"},wt),function(){return pp(),Es.autoA11y&&($r?Gr["aria-labelledby"]="".concat(Es.replacementClass,"-title-").concat(Xr||Yu()):(Gr["aria-hidden"]="true",Gr.focusable="false")),R8({icons:{main:hp(qn),mask:ar?hp(ar.icon):{found:!1,width:null,height:null,icon:{}}},prefix:Hn,iconName:Sn,transform:E0({},hu,Pt),symbol:Qt,title:$r,maskId:pr,titleId:Xr,extra:{attributes:Gr,styles:Tn,classes:en}})})}}),yp=ht(980),Ur=ht.n(yp);function UA(wt,kt){var St=Object.keys(wt);if(Object.getOwnPropertySymbols){var Pt=Object.getOwnPropertySymbols(wt);kt&&(Pt=Pt.filter(function(Ht){return Object.getOwnPropertyDescriptor(wt,Ht).enumerable})),St.push.apply(St,Pt)}return St}function yl(wt){for(var kt=1;kt=0)&&(St[Ht]=wt[Ht]);return St}function QA(wt,kt){if(wt==null)return{};var St=L8(wt,kt),Pt,Ht;if(Object.getOwnPropertySymbols){var Qt=Object.getOwnPropertySymbols(wt);for(Ht=0;Ht=0)&&(!Object.prototype.propertyIsEnumerable.call(wt,Pt)||(St[Pt]=wt[Pt]))}return St}function yu(wt){return wp(wt)||qA(wt)||D8(wt)||v2()}function wp(wt){if(Array.isArray(wt))return D1(wt)}function qA(wt){if(typeof Symbol<"u"&&wt[Symbol.iterator]!=null||wt["@@iterator"]!=null)return Array.from(wt)}function D8(wt,kt){if(wt){if(typeof wt=="string")return D1(wt,kt);var St=Object.prototype.toString.call(wt).slice(8,-1);if(St==="Object"&&wt.constructor&&(St=wt.constructor.name),St==="Map"||St==="Set")return Array.from(wt);if(St==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(St))return D1(wt,kt)}}function D1(wt,kt){(kt==null||kt>wt.length)&&(kt=wt.length);for(var St=0,Pt=new Array(kt);St2&&arguments[2]!==void 0?arguments[2]:{};if(typeof kt=="string")return kt;var Pt=(kt.children||[]).map(function(Ar){return Yl(wt,Ar)}),Ht=Object.keys(kt.attributes||{}).reduce(function(Ar,pr){var _r=kt.attributes[pr];switch(pr){case"class":Ar.attrs.className=_r,delete kt.attributes.class;break;case"style":Ar.attrs.style=N8(_r);break;default:pr.indexOf("aria-")===0||pr.indexOf("data-")===0?Ar.attrs[pr.toLowerCase()]=_r:Ar.attrs[_p(pr)]=_r}return Ar},{attrs:{}}),Qt=St.style,Kt=Qt===void 0?{}:Qt,ar=QA(St,xp);return Ht.attrs.style=yl(yl({},Ht.attrs.style),Kt),wt.apply(void 0,[kt.tag,yl(yl({},Ht.attrs),ar)].concat(yu(Pt)))}var F1=!1;try{F1=!0}catch(wt){}function JA(){if(!F1&&console&&typeof console.error=="function"){var wt;(wt=console).error.apply(wt,arguments)}}function N1(wt){if(wt&&mu(wt)==="object"&&wt.prefix&&wt.iconName&&wt.icon)return wt;if(YA.icon)return YA.icon(wt);if(wt===null)return null;if(wt&&mu(wt)==="object"&&wt.prefix&&wt.iconName)return wt;if(Array.isArray(wt)&&wt.length===2)return{prefix:wt[0],iconName:wt[1]};if(typeof wt=="string")return{prefix:"fas",iconName:wt}}function wu(wt,kt){return Array.isArray(kt)&&kt.length>0||!Array.isArray(kt)&&kt?p2({},wt,kt):{}}var ku=["forwardedRef"];function mn(wt){var kt=wt.forwardedRef,St=QA(wt,ku),Pt=St.icon,Ht=St.mask,Qt=St.symbol,Kt=St.className,ar=St.title,Ar=St.titleId,pr=N1(Pt),_r=wu("classes",[].concat(yu(kp(St)),yu(Kt.split(" ")))),$r=wu("transform",typeof St.transform=="string"?YA.transform(St.transform):St.transform),zr=wu("mask",N1(Ht)),Xr=mp(pr,yl(yl(yl(yl({},_r),$r),zr),{},{symbol:Qt,title:ar,titleId:Ar}));if(!Xr)return JA("Could not find icon",pr),null;var Qr=Xr.abstract,en={ref:kt};return Object.keys(St).forEach(function(Zr){mn.defaultProps.hasOwnProperty(Zr)||(en[Zr]=St[Zr])}),z1(Qr[0],en)}mn.displayName="FontAwesomeIcon",mn.propTypes={beat:Ur().bool,border:Ur().bool,className:Ur().string,fade:Ur().bool,flash:Ur().bool,mask:Ur().oneOfType([Ur().object,Ur().array,Ur().string]),fixedWidth:Ur().bool,inverse:Ur().bool,flip:Ur().oneOf(["horizontal","vertical","both"]),icon:Ur().oneOfType([Ur().object,Ur().array,Ur().string]),listItem:Ur().bool,pull:Ur().oneOf(["right","left"]),pulse:Ur().bool,rotation:Ur().oneOf([0,90,180,270]),size:Ur().oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:Ur().bool,spinPulse:Ur().bool,spinReverse:Ur().bool,symbol:Ur().oneOfType([Ur().bool,Ur().string]),title:Ur().string,transform:Ur().oneOfType([Ur().string,Ur().object]),swapOpacity:Ur().bool},mn.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var z1=Yl.bind(null,dt().createElement),XA=ht(247),K2=ht(682),z8=ht(438),j1=ht(42),KA=ht(111),Wo=ht.n(KA);const j8="rc-menu-container",El="rc-menu",Cp="rc-menu-button",V8="arrow",V1="item",G8="divider",H8="header",W8="group",b2="submenu",ss="radio-group",eu=-1,_d=dt().createContext({}),Qu=dt().createContext({}),_h=dt().createContext({}),$p=dt().createContext({}),Eu=dt().createContext({}),G1=dt().createContext({}),go=Object.freeze({ENTER:"Enter",ESC:"Escape",SPACE:" ",HOME:"Home",END:"End",LEFT:"ArrowLeft",RIGHT:"ArrowRight",UP:"ArrowUp",DOWN:"ArrowDown"}),fo=Object.freeze({RESET:"HOVER_INDEX_RESET",SET:"HOVER_INDEX_SET",UNSET:"HOVER_INDEX_UNSET",INCREASE:"HOVER_INDEX_INCREASE",DECREASE:"HOVER_INDEX_DECREASE",FIRST:"HOVER_INDEX_FIRST",LAST:"HOVER_INDEX_LAST"}),H1=Object.freeze({OPEN:"SUBMENU_OPEN",CLOSE:"SUBMENU_CLOSE"}),qu=Object.freeze({CLICK:"click",CANCEL:"cancel",BLUR:"blur",SCROLL:"scroll"}),Tp=KA.unstable_batchedUpdates||(wt=>wt()),Ul=(wt,kt)=>kt?Object.defineProperty(wt,"_reactMenu",{value:kt,writable:!1}):wt,W1=wt=>wt&&wt._reactMenu,xs=(wt,...kt)=>typeof wt=="function"?wt(...kt):wt,_u=(wt,kt)=>{const St={};for(const Pt of Object.keys(wt)){const Ht=wt[Pt],Qt=kt[Pt];let Kt;typeof Qt=="function"?Kt=ar=>{Qt(ar),Ht(ar)}:Kt=Ht,St[Pt]=Kt}return St},Sp=wt=>{if(typeof wt!="string")return{top:0,right:0,bottom:0,left:0};const kt=wt.trim().split(/\s+/,4).map(parseFloat),St=isNaN(kt[0])?0:kt[0],Pt=isNaN(kt[1])?St:kt[1];return{top:St,right:Pt,bottom:isNaN(kt[2])?St:kt[2],left:isNaN(kt[3])?Pt:kt[3]}},Zo=({block:wt,element:kt,modifiers:St,className:Pt,externalModifiers:Ht})=>(0,pt.useMemo)(()=>{const Qt=kt?`${wt}__${kt}`:wt;let Kt=Qt;for(const Ar of Object.keys(St||{})){const pr=St[Ar];pr&&(Kt+=` ${Qt}--`,Kt+=pr===!0?Ar:`${Ar}-${pr}`)}let ar=typeof Pt=="function"?Pt(Ht||St):Pt;return typeof ar=="string"&&(ar=ar.trim(),ar&&(Kt+=` ${ar}`)),Kt},[wt,kt,St,Pt,Ht]),Ju=wt=>wt&&typeof wt=="object",e4=wt=>wt.charAt(0)==="$"?wt.slice(1):wt,_l=(wt,kt)=>(0,pt.useMemo)(()=>{if(typeof wt=="function")return wt(kt);if(!Ju(wt))return;if(!kt)return wt;const St={};for(const Pt of Object.keys(wt)){const Ht=wt[Pt];if(Ju(Ht)){const Qt=kt[e4(Pt)];if(typeof Qt=="string")for(const Kt of Object.keys(Ht)){const ar=Ht[Kt];Ju(ar)?e4(Kt)===Qt&&Object.assign(St,ar):St[Kt]=ar}else Qt&&Object.assign(St,Ht)}else St[Pt]=Ht}return St},[wt,kt]),Xu=wt=>{for(;wt&&wt!==document.body;){const{overflow:kt,overflowX:St,overflowY:Pt}=getComputedStyle(wt);if(/auto|scroll|overlay|hidden/.test(kt+Pt+St))return wt;wt=wt.parentNode}return window},tu=(wt,kt,St=1e-4)=>Math.abs(wt-kt)kt?!!St.includes(W1(kt.type)):!1,I2=(wt,kt=0)=>{let St=kt,Pt=!1;const Ht=["MenuDivider","MenuGroup","MenuHeader","MenuItem","FocusableItem","MenuRadioGroup","SubMenu"];return{items:dt().Children.map(wt,Qt=>{if(!xl("Menu or SubMenu",Qt,Ht))return null;switch(W1(Qt.type)){case"MenuDivider":case"MenuHeader":return Qt;case"MenuRadioGroup":{const Kt=["MenuItem"],ar={type:"radio"},Ar=dt().Children.map(Qt.props.children,pr=>xl("MenuRadioGroup",pr,Kt)?pr.props.disabled?dt().cloneElement(pr,ar):dt().cloneElement(pr,st(ot({},ar),{index:St++})):null);return dt().cloneElement(Qt,{children:Ar})}case"MenuGroup":{const{items:Kt,endIndex:ar,descendOverflow:Ar}=I2(Qt.props.children,St);St=ar;const pr=!!Qt.props.takeOverflow;return Pt=Pt||Ar||pr,dt().cloneElement(Qt,{children:Kt})}default:return Qt.props.disabled?Qt:dt().cloneElement(Qt,{index:St++})}}),endIndex:St,descendOverflow:Pt}},Ql=wt=>({[wt?`${wt}ClassName`:"className"]:Ur().oneOfType([Ur().string,Ur().func]),[wt?`${wt}Styles`:"styles"]:Ur().oneOfType([Ur().object,Ur().func])}),t4=st(ot(ot({},Ql()),Ql("arrow")),{"aria-label":Ur().string,arrow:Ur().bool,offsetX:Ur().number,offsetY:Ur().number,align:Ur().oneOf(["start","center","end"]),direction:Ur().oneOf(["left","right","top","bottom"]),position:Ur().oneOf(["auto","anchor","initial"]),overflow:Ur().oneOf(["auto","visible","hidden"]),children:Ur().node.isRequired}),Op=st(ot({},t4),{id:Ur().oneOfType([Ur().string,Ur().number]),animation:Ur().bool,debugging:Ur().bool,boundingBoxRef:Ur().object,boundingBoxPadding:Ur().string,reposition:Ur().oneOf(["auto","initial"]),repositionFlag:Ur().oneOfType([Ur().string,Ur().number]),viewScroll:Ur().oneOf(["auto","close","initial"]),submenuOpenDelay:Ur().number,submenuCloseDelay:Ur().number,portal:Ur().bool,theming:Ur().string,onItemClick:Ur().func,onClick:Ur().func}),Ip={offsetX:0,offsetY:0,align:"start",direction:"bottom",position:"auto",overflow:"visible"},Rp=st(ot({},Ip),{animation:!0,reposition:"auto",viewScroll:"initial",submenuOpenDelay:300,submenuCloseDelay:150}),Mp=(wt,kt,St)=>{const[Pt,Ht]=(0,pt.useState)(!1),Qt=(0,pt.useMemo)(()=>[go.SPACE,go.ENTER,...St?[St]:[]],[St]),Kt=(0,pt.useCallback)(()=>Ht(!1),[]);return{isActive:Pt,onPointerDown:(0,pt.useCallback)(()=>{kt||Ht(!0)},[kt]),onPointerUp:Kt,onPointerLeave:Kt,onKeyDown:(0,pt.useCallback)(ar=>{wt&&!kt&&Qt.includes(ar.key)&&Ht(!0)},[wt,kt,Qt]),onKeyUp:(0,pt.useCallback)(ar=>{Qt.includes(ar.key)&&Ht(!1)},[Qt]),onBlur:(0,pt.useCallback)(ar=>{ar.currentTarget.contains(ar.relatedTarget)||Ht(!1)},[])}},Bp=(wt,kt)=>{const St=(0,pt.useRef)(null),{submenuCloseDelay:Pt}=(0,pt.useContext)(G1),{isParentOpen:Ht,hoverIndex:Qt,isSubmenuOpen:Kt,dispatch:ar}=(0,pt.useContext)(_d),Ar=Qt===kt,pr=(0,pt.useRef)(),_r=(0,pt.useCallback)(()=>{wt||ar({type:fo.SET,index:kt})},[wt,ar,kt]),$r=(0,pt.useCallback)(Qr=>{Qr.currentTarget.contains(Qr.relatedTarget)||ar({type:fo.UNSET,index:kt})},[ar,kt]),zr=(0,pt.useCallback)(()=>{Kt?pr.current=setTimeout(_r,Pt):_r()},[Kt,Pt,_r]),Xr=(0,pt.useCallback)((Qr,en)=>{pr.current&&clearTimeout(pr.current),en||ar({type:fo.UNSET,index:kt})},[ar,kt]);return(0,pt.useEffect)(()=>()=>clearTimeout(pr.current),[]),(0,pt.useEffect)(()=>{Ar&&Ht&&St.current&&St.current.focus()},[Ar,Ht]),{ref:St,isHovering:Ar,setHover:_r,onBlur:$r,onMouseEnter:zr,onMouseLeave:Xr}},Pp=(wt,kt)=>{const St=(0,pt.useRef)(kt);(0,pt.useEffect)(()=>{St.current!==kt&&xs(wt,{open:kt}),St.current=kt},[wt,kt])},Cl=Object.freeze({INITIAL:"initial",FIRST:"first",LAST:"last"}),$l=Object.freeze({UNMOUNTED:0,CLOSED:1,OPEN:2}),xu=Object.freeze({OPEN:0,CLOSE:1,TOGGLE:2}),r4=(wt=!0)=>{const[kt,St]=(0,pt.useState)({position:Cl.INITIAL}),[Pt,Ht]=(0,pt.useReducer)(Qt,$l.UNMOUNTED);function Qt(Kt,{type:ar}){switch(ar){case xu.OPEN:return $l.OPEN;case xu.CLOSE:return Kt===$l.OPEN?wt?$l.CLOSED:$l.UNMOUNTED:Kt;case xu.TOGGLE:return Kt===$l.OPEN?wt?$l.CLOSED:$l.UNMOUNTED:$l.OPEN;default:throw new Error("menuStateReducer: unknown action type")}}return{isMounted:Pt!==$l.UNMOUNTED,isOpen:Pt===$l.OPEN,menuItemFocus:kt,openMenu:(0,pt.useCallback)((Kt=Cl.INITIAL)=>{St({position:Kt}),Ht({type:xu.OPEN})},[]),closeMenu:(0,pt.useCallback)(()=>Ht({type:xu.CLOSE}),[]),toggleMenu:(0,pt.useCallback)((Kt=Cl.INITIAL)=>{St({position:Kt}),Ht({type:xu.TOGGLE})},[])}},Ku=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?pt.useLayoutEffect:pt.useEffect,a4=Ul(dt().memo(dt().forwardRef(function(wt,kt){var St=wt,{className:Pt,styles:Ht,isOpen:Qt,disabled:Kt,children:ar}=St,Ar=lt(St,["className","styles","isOpen","disabled","children"]);const pr=(0,pt.useMemo)(()=>Object.freeze({open:Qt}),[Qt]);return dt().createElement("button",Object.assign({"aria-haspopup":"true","aria-expanded":Qt,"aria-disabled":Kt||void 0,disabled:Kt},Ar,{ref:kt,className:Zo({block:Cp,modifiers:pr,className:Pt}),style:_l(Ht,pr)}),ar)})),"MenuButton");a4.propTypes=st(ot({},Ql()),{isOpen:Ur().bool,disabled:Ur().bool,children:Ur().node.isRequired,onClick:Ur().func,onKeyDown:Ur().func});const n4=Ul(dt().memo(function(wt){var kt=wt,{ariaLabel:St,className:Pt,styles:Ht,arrowClassName:Qt,arrowStyles:Kt,anchorPoint:ar,anchorRef:Ar,containerRef:pr,arrow:_r,align:$r,direction:zr,position:Xr,overflow:Qr,repositionFlag:en,captureFocus:Zr=!0,isOpen:Gr,isDisabled:wn,menuItemFocus:Tn,offsetX:Hn,offsetY:Sn,children:qn,onClose:xa}=kt,mt=lt(kt,["ariaLabel","className","styles","arrowClassName","arrowStyles","anchorPoint","anchorRef","containerRef","arrow","align","direction","position","overflow","repositionFlag","captureFocus","isOpen","isDisabled","menuItemFocus","offsetX","offsetY","children","onClose"]);const[$t,Dt]=(0,pt.useState)({x:0,y:0}),[Yt,rr]=(0,pt.useState)({}),[cr,br]=(0,pt.useState)(),[wr,xr]=(0,pt.useState)(!1),[Fr,Rr]=(0,pt.useState)(zr),{animation:Br,boundingBoxRef:$a,boundingBoxPadding:sn,rootMenuRef:un,rootAnchorRef:In,scrollingRef:dn,anchorScrollingRef:Dn,reposition:Pn,viewScroll:h0}=(0,pt.useContext)(Eu),g0=(0,pt.useRef)(null),Lo=(0,pt.useRef)(null),N0=(0,pt.useRef)(0),$s=(0,pt.useRef)(Gr),Hs=(0,pt.useRef)({width:0,height:0}),O4=(0,pt.useRef)(()=>{}),im=(0,pt.useRef)(!1),km=(0,pt.useContext)(Qu).reposSubmenu||en,[cm,um]=(0,pt.useReducer)(Rn=>Rn+1,1),[{hoverIndex:fm,openSubmenuCount:Em},Iu]=(0,pt.useReducer)(_m,{hoverIndex:eu,openSubmenuCount:0});function _m({hoverIndex:Rn,openSubmenuCount:jn},_i){return{hoverIndex:xm(Rn,_i),openSubmenuCount:Lp(jn,_i)}}function xm(Rn,{type:jn,index:_i}){switch(jn){case fo.RESET:return eu;case fo.SET:return _i;case fo.UNSET:return Rn===_i?eu:Rn;case fo.DECREASE:{let Vn=Rn;return Vn--,Vn<0&&(Vn=N0.current-1),Vn}case fo.INCREASE:{let Vn=Rn;return Vn++,Vn>=N0.current&&(Vn=0),Vn}case fo.FIRST:return N0.current>0?0:eu;case fo.LAST:return N0.current>0?N0.current-1:eu;default:return Rn}}const Cm=(0,pt.useMemo)(()=>{const{items:Rn,endIndex:jn,descendOverflow:_i}=I2(qn);return N0.current=jn,im.current=_i,Rn},[qn]),$m=Rn=>{let jn=!1;switch(Rn.key){case go.HOME:Iu({type:fo.FIRST}),jn=!0;break;case go.END:Iu({type:fo.LAST}),jn=!0;break;case go.UP:Iu({type:fo.DECREASE}),jn=!0;break;case go.DOWN:Iu({type:fo.INCREASE}),jn=!0;break;case go.SPACE:Rn.target&&Rn.target.className.includes(El)&&Rn.preventDefault();break}jn&&(Rn.preventDefault(),Rn.stopPropagation())},Tm=()=>{wr&&(xr(!1),br())},Am=(0,pt.useCallback)(()=>{const Rn=g0.current.getBoundingClientRect(),jn=pr.current.getBoundingClientRect(),_i=dn.current===window?{left:0,top:0,right:document.documentElement.clientWidth,bottom:window.innerHeight}:dn.current.getBoundingClientRect(),Vn=Sp(sn),Wn=Mn=>Mn+jn.left-_i.left-Vn.left,O0=Mn=>Mn+jn.left+Rn.width-_i.right+Vn.right,M0=Mn=>Mn+jn.top-_i.top-Vn.top,mo=Mn=>Mn+jn.top+Rn.height-_i.bottom+Vn.bottom;return{menuRect:Rn,containerRect:jn,getLeftOverflow:Wn,getRightOverflow:O0,getTopOverflow:M0,getBottomOverflow:mo,confineHorizontally:Mn=>{let Eo=Wn(Mn);if(Eo<0)Mn-=Eo;else{const G0=O0(Mn);G0>0&&(Mn-=G0,Eo=Wn(Mn),Eo<0&&(Mn-=Eo))}return Mn},confineVertically:Mn=>{let Eo=M0(Mn);if(Eo<0)Mn-=Eo;else{const G0=mo(Mn);G0>0&&(Mn-=G0,Eo=M0(Mn),Eo<0&&(Mn-=Eo))}return Mn}}},[pr,dn,sn]),dm=(0,pt.useCallback)((Rn,jn,_i,Vn)=>{let Wn=jn.left-_i.left-Rn+jn.width/2;const O0=Lo.current.offsetWidth*1.25;return Wn=Math.max(O0,Wn),Wn=Math.min(Wn,Vn.width-O0),Wn},[]),hm=(0,pt.useCallback)((Rn,jn,_i,Vn)=>{let Wn=jn.top-_i.top-Rn+jn.height/2;const O0=Lo.current.offsetHeight*1.25;return Wn=Math.max(O0,Wn),Wn=Math.min(Wn,Vn.height-O0),Wn},[]),pm=(0,pt.useCallback)(({anchorRect:Rn,containerRect:jn,menuRect:_i},{placeLeftorRightY:Vn,placeLeftX:Wn,placeRightX:O0},{getLeftOverflow:M0,getRightOverflow:mo,confineHorizontally:Mn,confineVertically:Eo})=>{let G0=zr,m0=Vn;Xr!=="initial"&&(m0=Eo(m0),Xr==="anchor"&&(m0=Math.min(m0,Rn.bottom-jn.top),m0=Math.max(m0,Rn.top-jn.top-_i.height)));let z0,ao,H0;return G0==="left"?(z0=Wn,Xr!=="initial"&&(ao=M0(z0),ao<0&&(H0=mo(O0),(H0<=0||-ao>H0)&&(z0=O0,G0="right")))):(z0=O0,Xr!=="initial"&&(H0=mo(z0),H0>0&&(ao=M0(Wn),(ao>=0||-ao{let G0=zr==="top"?"top":"bottom",m0=Vn;Xr!=="initial"&&(m0=Mn(m0),Xr==="anchor"&&(m0=Math.min(m0,Rn.right-jn.left),m0=Math.max(m0,Rn.left-jn.left-_i.width)));let z0,ao,H0;return G0==="top"?(z0=Wn,Xr!=="initial"&&(ao=M0(z0),ao<0&&(H0=mo(O0),(H0<=0||-ao>H0)&&(z0=O0,G0="bottom")))):(z0=O0,Xr!=="initial"&&(H0=mo(z0),H0>0&&(ao=M0(Wn),(ao>=0||-ao{const _i=Rn,{menuRect:Vn,containerRect:Wn}=_i,O0=lt(_i,["menuRect","containerRect"]);let M0=Hn,mo=Sn;_r&&(zr==="left"||zr==="right"?M0+=Lo.current.offsetWidth:mo+=Lo.current.offsetHeight);const Mn=jn.current.getBoundingClientRect(),Eo=Mn.left-Wn.left-Vn.width-M0,G0=Mn.right-Wn.left+M0,m0=Mn.top-Wn.top-Vn.height-mo,z0=Mn.bottom-Wn.top+mo;let ao,H0;$r==="end"?(ao=Mn.right-Wn.left-Vn.width,H0=Mn.bottom-Wn.top-Vn.height):$r==="center"?(ao=Mn.left-Wn.left-(Vn.width-Mn.width)/2,H0=Mn.top-Wn.top-(Vn.height-Mn.height)/2):(ao=Mn.left-Wn.left,H0=Mn.top-Wn.top),ao+=M0,H0+=mo;const Ws={anchorRect:Mn,containerRect:Wn,menuRect:Vn},Ru={placeLeftX:Eo,placeRightX:G0,placeLeftorRightY:H0,placeTopY:m0,placeBottomY:z0,placeToporBottomX:ao};switch(zr){case"left":case"right":return pm(Ws,Ru,O0);case"top":case"bottom":default:return vm(Ws,Ru,O0)}},[_r,$r,zr,Hn,Sn,pm,vm]),gm=(0,pt.useCallback)((Rn,jn)=>{const{menuRect:_i,containerRect:Vn,getLeftOverflow:Wn,getRightOverflow:O0,getTopOverflow:M0,getBottomOverflow:mo,confineHorizontally:Mn,confineVertically:Eo}=Rn;let G0,m0;G0=jn.x-Vn.left,m0=jn.y-Vn.top;const z0=O0(G0);if(z0>0){const Ws=G0-_i.width,Ru=Wn(Ws);(Ru>=0||-Ru0){const Ws=m0-_i.height,Ru=M0(Ws);(Ru>=0||-Ru{if(!pr.current)return;dn.current||(dn.current=$a?$a.current:Xu(un.current));const Rn=Am(),{menuRect:jn}=Rn;let _i={computedDirection:"bottom"};ar?_i=gm(Rn,ar):Ar&&(_i=bm(Rn,Ar));let{arrowX:Vn,arrowY:Wn,x:O0,y:M0,computedDirection:mo}=_i,Mn=jn.height;if(Qr!=="visible"){const{getTopOverflow:Eo,getBottomOverflow:G0}=Rn;let m0,z0;const ao=Hs.current.height,H0=G0(M0);if(H0>0||tu(H0,0)&&tu(Mn,ao))m0=Mn-H0,z0=H0;else{const Ws=Eo(M0);(Ws<0||tu(Ws,0)&&tu(Mn,ao))&&(m0=Mn+Ws,z0=0-Ws,m0>=0&&(M0-=Ws))}m0>=0?(Mn=m0,br({height:m0,overflowAmt:z0})):br()}_r&&rr({x:Vn,y:Wn}),Dt({x:O0,y:M0}),Rr(mo),Hs.current={width:jn.width,height:Mn}},[_r,ar,Ar,pr,$a,un,dn,Qr,Am,bm,gm]);Ku(()=>{Gr&&(I4(),$s.current&&um()),O4.current=I4},[Gr,I4,km]),Ku(()=>{cr&&!im.current&&(g0.current.scrollTop=0)},[cr]),Ku(()=>{Br&&(Gr?xr(!1):Gr!==$s.current&&xr(!0)),$s.current=Gr},[Br,Gr]),(0,pt.useEffect)(()=>{if(!Gr)return;!Dn.current&&In&&In.current.tagName&&(Dn.current=Xu(In.current));const Rn=dn.current,jn=Rn&&Rn.addEventListener?Rn:window,_i=Dn.current||jn;let Vn=h0;if(_i!==jn&&Vn==="initial"&&(Vn="auto"),Vn==="initial")return;Vn==="auto"&&Qr!=="visible"&&(Vn="close");const Wn=()=>{Vn==="auto"?Tp(I4):xs(xa,{reason:qu.SCROLL})},O0=_i!==jn&&h0!=="initial"?[_i,jn]:[_i];return O0.forEach(M0=>M0.addEventListener("scroll",Wn)),()=>O0.forEach(M0=>M0.removeEventListener("scroll",Wn))},[In,Dn,dn,Gr,Qr,xa,h0,I4]),(0,pt.useEffect)(()=>{if(typeof ResizeObserver!="function"||Pn==="initial")return;const Rn=new ResizeObserver(([_i])=>{const{borderBoxSize:Vn,target:Wn}=_i;let O0,M0;if(Vn){const{inlineSize:mo,blockSize:Mn}=Vn[0]||Vn;O0=mo,M0=Mn}else{const mo=Wn.getBoundingClientRect();O0=mo.width,M0=mo.height}O0===0||M0===0||tu(O0,Hs.current.width,1)&&tu(M0,Hs.current.height,1)||Tp(()=>{O4.current(),um()})}),jn=g0.current;return Rn.observe(jn,{box:"border-box"}),()=>Rn.unobserve(jn)},[Pn]),(0,pt.useEffect)(()=>{Gr||(Iu({type:fo.RESET}),Br||br());const Rn=setTimeout(()=>{!Gr||!g0.current||g0.current.contains(document.activeElement)||(Zr&&g0.current.focus(),Tn.position===Cl.FIRST?Iu({type:fo.FIRST}):Tn.position===Cl.LAST&&Iu({type:fo.LAST}))},Br?170:100);return()=>clearTimeout(Rn)},[Br,Zr,Gr,Tn]);const mm=Em>0,Sm=(0,pt.useMemo)(()=>({isParentOpen:Gr,hoverIndex:fm,isSubmenuOpen:mm,dispatch:Iu}),[Gr,fm,mm]);let om,sm;cr&&(im.current?sm=cr.overflowAmt:om=cr.height);const Om=(0,pt.useMemo)(()=>({reposSubmenu:cm,overflow:Qr,overflowAmt:sm}),[cm,Qr,sm]),Im=om>=0?{maxHeight:om,overflow:Qr}:void 0,lm=(0,pt.useMemo)(()=>({open:Gr,closing:wr,animation:Br,dir:Br&&Fr}),[Gr,wr,Br,Fr]),ym=(0,pt.useMemo)(()=>Object.freeze(st(ot({},lm),{dir:Fr})),[lm,Fr]),wm=(0,pt.useMemo)(()=>Object.freeze({dir:Fr}),[Fr]),Rm=Zo({block:El,element:V8,modifiers:wm,className:Qt}),Mm=_l(Kt,wm),Bm=_u({onKeyDown:$m,onAnimationEnd:Tm},mt);return dt().createElement("ul",Object.assign({role:"menu",tabIndex:"-1","aria-disabled":wn||void 0,"aria-label":St},mt,Bm,{ref:g0,className:Zo({block:El,modifiers:lm,className:Pt,externalModifiers:ym}),style:st(ot(ot({},_l(Ht,ym)),Im),{left:`${$t.x}px`,top:`${$t.y}px`})}),_r&&dt().createElement("div",{className:Rm,style:st(ot({},Mm),{left:Yt.x&&`${Yt.x}px`,top:Yt.y&&`${Yt.y}px`}),ref:Lo}),dt().createElement(Qu.Provider,{value:Om},dt().createElement(_d.Provider,{value:Sm},Cm)))}),"MenuList");function Lp(wt,{type:kt}){switch(kt){case H1.OPEN:return wt+1;case H1.CLOSE:return Math.max(wt-1,0);default:return wt}}const Dp=(wt,{id:kt,animation:St,boundingBoxRef:Pt,boundingBoxPadding:Ht,debugging:Qt,reposition:Kt,submenuOpenDelay:ar,submenuCloseDelay:Ar,viewScroll:pr,portal:_r,theming:$r,isMounted:zr,onItemClick:Xr,onClick:Qr,onClose:en,skipClick:Zr})=>{const Gr=(0,pt.useRef)(null),wn=(0,pt.useRef)(null),Tn=(0,pt.useRef)(null),{anchorRef:Hn,isOpen:Sn}=wt,qn=(0,pt.useMemo)(()=>({animation:St,boundingBoxRef:Pt,boundingBoxPadding:Ht,rootMenuRef:Gr,rootAnchorRef:Hn,scrollingRef:wn,anchorScrollingRef:Tn,reposition:Kt,viewScroll:pr}),[St,Hn,Pt,Ht,Kt,pr]),xa=(0,pt.useMemo)(()=>({debugging:Qt,submenuOpenDelay:ar,submenuCloseDelay:Ar}),[Qt,ar,Ar]),mt=(0,pt.useMemo)(()=>({handleClick(cr,br,wr){br||xs(Xr||Qr,cr);let xr=cr.keepOpen;xr===void 0&&(xr=wr&&cr.key===go.SPACE),xr||xs(en,{value:cr.value,key:cr.key,reason:qu.CLICK})},handleClose(cr){xs(en,{key:cr,reason:qu.CLICK})}}),[Xr,Qr,en]),$t=({key:cr})=>{switch(cr){case go.ESC:xs(en,{key:cr,reason:qu.CANCEL});break}},Dt=cr=>{Sn&&!cr.currentTarget.contains(cr.relatedTarget||document.activeElement)&&!Qt&&(xs(en,{reason:qu.BLUR}),Zr&&(Zr.current=!0,setTimeout(()=>Zr.current=!1,300)))},Yt=(0,pt.useMemo)(()=>({theme:$r}),[$r]),rr=dt().createElement("div",{id:kt,className:Zo({block:j8,modifiers:Yt}),ref:Gr,onKeyDown:$t,onBlur:Dt},zr&&dt().createElement(Eu.Provider,{value:qn},dt().createElement(G1.Provider,{value:xa},dt().createElement(_h.Provider,{value:mt},dt().createElement(n4,Object.assign({},wt,{containerRef:Gr,onClose:en}))))));return _r?Wo().createPortal(rr,document.body):rr},i4=dt().memo(function(wt){var kt=wt,{"aria-label":St,id:Pt,animation:Ht,boundingBoxRef:Qt,boundingBoxPadding:Kt,captureFocus:ar,debugging:Ar,reposition:pr,viewScroll:_r,keepMounted:$r,menuButton:zr,portal:Xr,submenuOpenDelay:Qr,submenuCloseDelay:en,theming:Zr,onItemClick:Gr,onClick:wn,onChange:Tn}=kt,Hn=lt(kt,["aria-label","id","animation","boundingBoxRef","boundingBoxPadding","captureFocus","debugging","reposition","viewScroll","keepMounted","menuButton","portal","submenuOpenDelay","submenuCloseDelay","theming","onItemClick","onClick","onChange"]);const{isMounted:Sn,isOpen:qn,menuItemFocus:xa,openMenu:mt,closeMenu:$t}=r4($r),Dt=(0,pt.useRef)(!1),Yt=(0,pt.useRef)(null),rr=(0,pt.useMemo)(()=>xs(zr,{open:qn}),[zr,qn]);if(!rr)throw new Error("Menu requires a menuButton prop.");const cr=(0,pt.useCallback)(Rr=>{$t(),Rr.key&&Yt.current.focus()},[$t]),br=(0,pt.useCallback)(Rr=>{Dt.current||mt(Rr.detail===0?Cl.FIRST:Cl.INITIAL)},[mt]),wr=(0,pt.useCallback)(Rr=>{let Br=!1;switch(Rr.key){case go.UP:mt(Cl.LAST),Br=!0;break;case go.DOWN:mt(Cl.FIRST),Br=!0;break}Br&&Rr.preventDefault()},[mt]),xr=(0,pt.useMemo)(()=>{const Rr=ot({ref:Yt},_u({onClick:br,onKeyDown:wr},rr.props));return W1(rr.type)==="MenuButton"&&(Rr.isOpen=qn),dt().cloneElement(rr,Rr)},[rr,qn,br,wr]),Fr=Dp(st(ot({},Hn),{ariaLabel:St||(typeof rr.props.children=="string"?rr.props.children:"Menu"),anchorRef:Yt,isOpen:qn,menuItemFocus:xa}),{id:Pt,animation:Ht,boundingBoxRef:Qt,boundingBoxPadding:Kt,debugging:Ar,reposition:pr,submenuOpenDelay:Qr,submenuCloseDelay:en,viewScroll:_r,portal:Xr,theming:Zr,isMounted:Sn,onItemClick:Gr,onClick:wn,onClose:cr,skipClick:Dt});return Pp(Tn,qn),dt().createElement(dt().Fragment,null,xr,Fr)});i4.propTypes=st(ot({},Op),{keepMounted:Ur().bool,menuButton:Ur().oneOfType([Ur().element,Ur().func]).isRequired,onChange:Ur().func}),i4.defaultProps=st(ot({},Rp),{keepMounted:!0});const o4=dt().memo(function(wt){var kt=wt,{"aria-label":St,id:Pt,animation:Ht,boundingBoxRef:Qt,boundingBoxPadding:Kt,debugging:ar,reposition:Ar,submenuOpenDelay:pr,submenuCloseDelay:_r,viewScroll:$r,portal:zr,theming:Xr,isMounted:Qr,onItemClick:en,onClick:Zr,onClose:Gr}=kt,wn=lt(kt,["aria-label","id","animation","boundingBoxRef","boundingBoxPadding","debugging","reposition","submenuOpenDelay","submenuCloseDelay","viewScroll","portal","theming","isMounted","onItemClick","onClick","onClose"]);return Dp(st(ot({},wn),{ariaLabel:St||"Menu"}),{id:Pt,animation:Ht,boundingBoxRef:Qt,boundingBoxPadding:Kt,debugging:ar,reposition:Ar,submenuOpenDelay:pr,submenuCloseDelay:_r,viewScroll:$r,portal:zr,theming:Xr,isMounted:Qr,onItemClick:en,onClick:Zr,onClose:Gr})});o4.propTypes=st(ot({},Op),{anchorPoint:Ur().exact({x:Ur().number,y:Ur().number}),anchorRef:Ur().object,captureFocus:Ur().bool,isOpen:Ur().bool,isMounted:Ur().bool,menuItemFocus:Ur().exact({position:Ur().string}),onClose:Ur().func}),o4.defaultProps=st(ot({},Rp),{captureFocus:!0,isOpen:!1,isMounted:!0,menuItemFocus:{position:Cl.INITIAL}});const s4=Ul(dt().memo(function(wt){var kt=wt,{"aria-label":St,itemClassName:Pt,itemStyles:Ht,disabled:Qt,keepMounted:Kt,label:ar,index:Ar,onChange:pr,captureFocus:_r,repositionFlag:$r}=kt,zr=lt(kt,["aria-label","itemClassName","itemStyles","disabled","keepMounted","label","index","onChange","captureFocus","repositionFlag"]);const{isMounted:Xr,isOpen:Qr,menuItemFocus:en,openMenu:Zr,closeMenu:Gr}=r4(Kt),{isParentOpen:wn,hoverIndex:Tn,isSubmenuOpen:Hn,dispatch:Sn}=(0,pt.useContext)(_d),{debugging:qn,submenuOpenDelay:xa,submenuCloseDelay:mt}=(0,pt.useContext)(G1),$t=Tn===Ar,Dt=!!Qt,Yt=Mp($t,Dt,go.RIGHT),{isActive:rr,onKeyUp:cr}=Yt,br=lt(Yt,["isActive","onKeyUp"]),wr=(0,pt.useRef)(null),xr=(0,pt.useRef)(null),Fr=(0,pt.useRef)(),Rr=(0,pt.useCallback)(()=>{Gr(),xr.current.focus()},[Gr]),Br=h0=>{Sn({type:fo.SET,index:Ar}),Fr.current=setTimeout(Zr,Math.max(h0,0))},$a=()=>{Dt||Qr||(Hn?Fr.current=setTimeout(()=>Br(xa-mt),mt):Br(xa))},sn=()=>{clearTimeout(Fr.current),Qr||Sn({type:fo.UNSET,index:Ar})},un=()=>{Dt||(clearTimeout(Fr.current),Zr())},In=h0=>{let g0=!1;switch(h0.key){case go.LEFT:Qr&&(Rr(),g0=!0);break;case go.RIGHT:Qr||(g0=!0);break}g0&&(h0.preventDefault(),h0.stopPropagation())},dn=h0=>{if(rr)switch(cr(h0),h0.key){case go.SPACE:case go.ENTER:case go.RIGHT:Zr(Cl.FIRST);break}},Dn=h0=>{if(qn)return;const g0=h0.relatedTarget||document.activeElement;h0.currentTarget.contains(g0)||(Gr(),Sn({type:fo.UNSET,index:Ar}))};(0,pt.useEffect)(()=>()=>clearTimeout(Fr.current),[]),(0,pt.useEffect)(()=>{$t&&wn?xr.current.focus():Gr()},[$t,wn,Gr]),(0,pt.useEffect)(()=>{Sn({type:Qr?H1.OPEN:H1.CLOSE})},[Sn,Qr]),Pp(pr,Qr);const Pn=(0,pt.useMemo)(()=>Object.freeze({open:Qr,hover:$t,active:rr,disabled:Dt}),[Qr,$t,rr,Dt]);return dt().createElement("li",{className:Zo({block:El,element:b2}),role:"presentation",ref:wr,onKeyDown:In,onBlur:Dn},dt().createElement("div",Object.assign({className:Zo({block:El,element:V1,modifiers:Pn,className:Pt}),style:_l(Ht,Pn),role:"menuitem","aria-haspopup":"true","aria-expanded":Qr,"aria-disabled":Dt||void 0,tabIndex:$t&&!Qr?0:-1,ref:xr,onMouseEnter:$a,onMouseLeave:sn,onMouseDown:()=>!$t&&Sn({type:fo.SET,index:Ar}),onClick:un,onKeyUp:dn},br),(0,pt.useMemo)(()=>xs(ar,Pn),[ar,Pn])),Xr&&dt().createElement(n4,Object.assign({},zr,{ariaLabel:St||(typeof ar=="string"?ar:"Submenu"),anchorRef:xr,containerRef:wr,isOpen:Qr,isDisabled:Dt,menuItemFocus:en})))}),"SubMenu");s4.propTypes=st(ot(ot({},t4),Ql("item")),{disabled:Ur().bool,keepMounted:Ur().bool,label:Ur().oneOfType([Ur().node,Ur().func]).isRequired,onChange:Ur().func}),s4.defaultProps=st(ot({},Ip),{direction:"right",keepMounted:!0});const Cu=Ul(dt().memo(function(wt){var kt=wt,{className:St,styles:Pt,value:Ht,href:Qt,type:Kt,checked:ar,disabled:Ar,index:pr,children:_r,onClick:$r}=kt,zr=lt(kt,["className","styles","value","href","type","checked","disabled","index","children","onClick"]);const Xr=!!Ar,{ref:Qr,isHovering:en,setHover:Zr,onBlur:Gr,onMouseEnter:wn,onMouseLeave:Tn}=Bp(Xr,pr),Hn=(0,pt.useContext)(_h),Sn=(0,pt.useContext)($p),qn=Mp(en,Xr),{isActive:xa,onKeyUp:mt,onBlur:$t}=qn,Dt=lt(qn,["isActive","onKeyUp","onBlur"]),Yt=Kt==="radio",rr=Kt==="checkbox",cr=!!Qt&&!Xr&&!Yt&&!rr,br=Yt?Sn.value===Ht:rr?!!ar:!1,wr=un=>{if(Xr)return;let In=!1;const dn={value:Ht,syntheticEvent:un};un.key!==void 0&&(dn.key=un.key),Yt&&(dn.name=Sn.name,xs(Sn.onChange,dn)),dn.checked=rr?!br:!1,In=xs($r,dn)===!1,Hn.handleClick(dn,In,rr||Yt)},xr=un=>{if(xa)switch(mt(un),un.key){case go.SPACE:case go.ENTER:cr?Qr.current.click():wr(un);break}},Fr=un=>{$t(un),Gr(un)},Rr=(0,pt.useMemo)(()=>Object.freeze({type:Kt,disabled:Xr,hover:en,active:xa,checked:br,anchor:cr}),[Kt,Xr,en,xa,br,cr]),Br=_u(st(ot({},Dt),{onMouseEnter:wn,onMouseLeave:Tn,onMouseDown:Zr,onKeyUp:xr,onBlur:Fr,onClick:wr}),zr),$a=st(ot(ot({role:Yt?"menuitemradio":rr?"menuitemcheckbox":"menuitem","aria-checked":Yt||rr?br:void 0,"aria-disabled":Xr||void 0,tabIndex:en?0:-1},zr),Br),{ref:Qr,className:Zo({block:El,element:V1,modifiers:Rr,className:St}),style:_l(Pt,Rr)}),sn=(0,pt.useMemo)(()=>xs(_r,Rr),[_r,Rr]);return cr?dt().createElement("li",{role:"presentation"},dt().createElement("a",Object.assign({},$a,{href:Qt}),sn)):dt().createElement("li",$a,sn)}),"MenuItem");Cu.propTypes=st(ot({},Ql()),{value:Ur().any,href:Ur().string,type:Ur().oneOf(["checkbox","radio"]),checked:Ur().bool,disabled:Ur().bool,children:Ur().oneOfType([Ur().node,Ur().func]).isRequired,onClick:Ur().func});const Z8=Ul(dt().memo(function(wt){var kt=wt,{className:St,styles:Pt,disabled:Ht,index:Qt,children:Kt}=kt,ar=lt(kt,["className","styles","disabled","index","children"]);const Ar=!!Ht,{ref:pr,isHovering:_r,setHover:$r,onBlur:zr,onMouseEnter:Xr,onMouseLeave:Qr}=Bp(Ar,Qt),{handleClose:en}=(0,pt.useContext)(_h),Zr=(0,pt.useMemo)(()=>Object.freeze({disabled:Ar,hover:_r,focusable:!0}),[Ar,_r]),Gr=(0,pt.useMemo)(()=>xs(Kt,st(ot({},Zr),{ref:pr,closeMenu:en})),[pr,Kt,Zr,en]),wn=_u({onMouseEnter:Xr,onMouseLeave:Tn=>Qr(Tn,!0),onFocus:$r,onBlur:zr},ar);return dt().createElement("li",Object.assign({"aria-disabled":Ar||void 0,role:"menuitem",tabIndex:"-1"},ar,wn,{className:Zo({block:El,element:V1,modifiers:Zr,className:St}),style:_l(Pt,Zr)}),Gr)}),"FocusableItem");Z8.propTypes=st(ot({},Ql()),{disabled:Ur().bool,children:Ur().func.isRequired});const Y8=Ul(dt().memo(function(wt){var kt=wt,{className:St,styles:Pt}=kt,Ht=lt(kt,["className","styles"]);return dt().createElement("li",Object.assign({role:"separator"},Ht,{className:Zo({block:El,element:G8,className:St}),style:_l(Pt)}))}),"MenuDivider");Y8.propTypes=ot({},Ql());const Fp=Ul(dt().memo(function(wt){var kt=wt,{className:St,styles:Pt}=kt,Ht=lt(kt,["className","styles"]);return dt().createElement("li",Object.assign({role:"presentation"},Ht,{className:Zo({block:El,element:H8,className:St}),style:_l(Pt)}))}),"MenuHeader");Fp.propTypes=ot({},Ql());const U8=Ul(dt().memo(function(wt){var kt=wt,{className:St,styles:Pt,takeOverflow:Ht}=kt,Qt=lt(kt,["className","styles","takeOverflow"]);const Kt=(0,pt.useRef)(null),[ar,Ar]=(0,pt.useState)(),{overflow:pr,overflowAmt:_r}=(0,pt.useContext)(Qu);return Ku(()=>{let $r;Ht&&_r>=0&&($r=Kt.current.getBoundingClientRect().height-_r,$r<0&&($r=0)),Ar($r>=0?{maxHeight:$r,overflow:pr}:void 0)},[Ht,pr,_r]),Ku(()=>{ar&&(Kt.current.scrollTop=0)},[ar]),dt().createElement("div",Object.assign({ref:Kt},Qt,{className:Zo({block:El,element:W8,className:St}),style:ot(ot({},_l(Pt)),ar)}))}),"MenuGroup");U8.propTypes=st(ot({},Ql()),{takeOverflow:Ur().bool});const Q8=Ul(dt().memo(function(wt){var kt=wt,{"aria-label":St,className:Pt,styles:Ht,name:Qt,value:Kt,children:ar,onChange:Ar}=kt,pr=lt(kt,["aria-label","className","styles","name","value","children","onChange"]);const _r=(0,pt.useMemo)(()=>({name:Qt,value:Kt,onChange:Ar}),[Qt,Kt,Ar]);return dt().createElement("li",{role:"presentation"},dt().createElement("ul",Object.assign({role:"group","aria-label":St||Qt||"Radio group"},pr,{className:Zo({block:El,element:ss,className:Pt}),style:_l(Ht)}),dt().createElement($p.Provider,{value:_r},ar)))}),"MenuRadioGroup");Q8.propTypes=st(ot({},Ql()),{"aria-label":Ur().string,name:Ur().string,value:Ur().any,children:Ur().node.isRequired,onChange:Ur().func});var $o=[],q8=function(){return $o.some(function(wt){return wt.activeTargets.length>0})},J8=function(){return $o.some(function(wt){return wt.skippedTargets.length>0})},Np="ResizeObserver loop completed with undelivered notifications.",zp=function(){var wt;typeof ErrorEvent=="function"?wt=new ErrorEvent("error",{message:Np}):(wt=document.createEvent("Event"),wt.initEvent("error",!1,!1),wt.message=Np),window.dispatchEvent(wt)},_f;(function(wt){wt.BORDER_BOX="border-box",wt.CONTENT_BOX="content-box",wt.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(_f||(_f={}));var ru=function(wt){return Object.freeze(wt)},X8=function(){function wt(kt,St){this.inlineSize=kt,this.blockSize=St,ru(this)}return wt}(),jp=function(){function wt(kt,St,Pt,Ht){return this.x=kt,this.y=St,this.width=Pt,this.height=Ht,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ru(this)}return wt.prototype.toJSON=function(){var kt=this,St=kt.x,Pt=kt.y,Ht=kt.top,Qt=kt.right,Kt=kt.bottom,ar=kt.left,Ar=kt.width,pr=kt.height;return{x:St,y:Pt,top:Ht,right:Qt,bottom:Kt,left:ar,width:Ar,height:pr}},wt.fromRect=function(kt){return new wt(kt.x,kt.y,kt.width,kt.height)},wt}(),e1=function(wt){return wt instanceof SVGElement&&"getBBox"in wt},Vp=function(wt){if(e1(wt)){var kt=wt.getBBox(),St=kt.width,Pt=kt.height;return!St&&!Pt}var Ht=wt,Qt=Ht.offsetWidth,Kt=Ht.offsetHeight;return!(Qt||Kt||wt.getClientRects().length)},Gp=function(wt){var kt,St;if(wt instanceof Element)return!0;var Pt=(St=(kt=wt)===null||kt===void 0?void 0:kt.ownerDocument)===null||St===void 0?void 0:St.defaultView;return!!(Pt&&wt instanceof Pt.Element)},K8=function(wt){switch(wt.tagName){case"INPUT":if(wt.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},r1=typeof window<"u"?window:{},U1=new WeakMap,Hp=/auto|scroll/,ev=/^tb|vertical/,tv=/msie|trident/i.test(r1.navigator&&r1.navigator.userAgent),Jl=function(wt){return parseFloat(wt||"0")},$u=function(wt,kt,St){return wt===void 0&&(wt=0),kt===void 0&&(kt=0),St===void 0&&(St=!1),new X8((St?kt:wt)||0,(St?wt:kt)||0)},Wp=ru({devicePixelContentBoxSize:$u(),borderBoxSize:$u(),contentBoxSize:$u(),contentRect:new jp(0,0,0,0)}),Zp=function(wt,kt){if(kt===void 0&&(kt=!1),U1.has(wt)&&!kt)return U1.get(wt);if(Vp(wt))return U1.set(wt,Wp),Wp;var St=getComputedStyle(wt),Pt=e1(wt)&&wt.ownerSVGElement&&wt.getBBox(),Ht=!tv&&St.boxSizing==="border-box",Qt=ev.test(St.writingMode||""),Kt=!Pt&&Hp.test(St.overflowY||""),ar=!Pt&&Hp.test(St.overflowX||""),Ar=Pt?0:Jl(St.paddingTop),pr=Pt?0:Jl(St.paddingRight),_r=Pt?0:Jl(St.paddingBottom),$r=Pt?0:Jl(St.paddingLeft),zr=Pt?0:Jl(St.borderTopWidth),Xr=Pt?0:Jl(St.borderRightWidth),Qr=Pt?0:Jl(St.borderBottomWidth),en=Pt?0:Jl(St.borderLeftWidth),Zr=$r+pr,Gr=Ar+_r,wn=en+Xr,Tn=zr+Qr,Hn=ar?wt.offsetHeight-Tn-wt.clientHeight:0,Sn=Kt?wt.offsetWidth-wn-wt.clientWidth:0,qn=Ht?Zr+wn:0,xa=Ht?Gr+Tn:0,mt=Pt?Pt.width:Jl(St.width)-qn-Sn,$t=Pt?Pt.height:Jl(St.height)-xa-Hn,Dt=mt+Zr+Sn+wn,Yt=$t+Gr+Hn+Tn,rr=ru({devicePixelContentBoxSize:$u(Math.round(mt*devicePixelRatio),Math.round($t*devicePixelRatio),Qt),borderBoxSize:$u(Dt,Yt,Qt),contentBoxSize:$u(mt,$t,Qt),contentRect:new jp($r,Ar,mt,$t)});return U1.set(wt,rr),rr},Yp=function(wt,kt,St){var Pt=Zp(wt,St),Ht=Pt.borderBoxSize,Qt=Pt.contentBoxSize,Kt=Pt.devicePixelContentBoxSize;switch(kt){case _f.DEVICE_PIXEL_CONTENT_BOX:return Kt;case _f.BORDER_BOX:return Ht;default:return Qt}},rv=function(){function wt(kt){var St=Zp(kt);this.target=kt,this.contentRect=St.contentRect,this.borderBoxSize=ru([St.borderBoxSize]),this.contentBoxSize=ru([St.contentBoxSize]),this.devicePixelContentBoxSize=ru([St.devicePixelContentBoxSize])}return wt}(),Up=function(wt){if(Vp(wt))return 1/0;for(var kt=0,St=wt.parentNode;St;)kt+=1,St=St.parentNode;return kt},av=function(){var wt=1/0,kt=[];$o.forEach(function(Qt){if(Qt.activeTargets.length!==0){var Kt=[];Qt.activeTargets.forEach(function(ar){var Ar=new rv(ar.target),pr=Up(ar.target);Kt.push(Ar),ar.lastReportedSize=Yp(ar.target,ar.observedBox),prwt?kt.activeTargets.push(St):kt.skippedTargets.push(St))})})},nv=function(){var wt=0;for(Qp(wt);q8();)wt=av(),Qp(wt);return J8()&&zp(),wt>0},l4,qp=[],c4=function(){return qp.splice(0).forEach(function(wt){return wt()})},Jp=function(wt){if(!l4){var kt=0,St=document.createTextNode(""),Pt={characterData:!0};new MutationObserver(function(){return c4()}).observe(St,Pt),l4=function(){St.textContent=""+(kt?kt--:kt++)}}qp.push(wt),l4()},iv=function(wt){Jp(function(){requestAnimationFrame(wt)})},Q1=0,ov=function(){return!!Q1},sv=250,lv={attributes:!0,characterData:!0,childList:!0,subtree:!0},Xp=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Kp=function(wt){return wt===void 0&&(wt=0),Date.now()+wt},u4=!1,e3=function(){function wt(){var kt=this;this.stopped=!0,this.listener=function(){return kt.schedule()}}return wt.prototype.run=function(kt){var St=this;if(kt===void 0&&(kt=sv),!u4){u4=!0;var Pt=Kp(kt);iv(function(){var Ht=!1;try{Ht=nv()}finally{if(u4=!1,kt=Pt-Kp(),!ov())return;Ht?St.run(1e3):kt>0?St.run(kt):St.start()}})}},wt.prototype.schedule=function(){this.stop(),this.run()},wt.prototype.observe=function(){var kt=this,St=function(){return kt.observer&&kt.observer.observe(document.body,lv)};document.body?St():r1.addEventListener("DOMContentLoaded",St)},wt.prototype.start=function(){var kt=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Xp.forEach(function(St){return r1.addEventListener(St,kt.listener,!0)}))},wt.prototype.stop=function(){var kt=this;this.stopped||(this.observer&&this.observer.disconnect(),Xp.forEach(function(St){return r1.removeEventListener(St,kt.listener,!0)}),this.stopped=!0)},wt}(),f4=new e3,a1=function(wt){!Q1&&wt>0&&f4.start(),Q1+=wt,!Q1&&f4.stop()},cv=function(wt){return!e1(wt)&&!K8(wt)&&getComputedStyle(wt).display==="inline"},uv=function(){function wt(kt,St){this.target=kt,this.observedBox=St||_f.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return wt.prototype.isActive=function(){var kt=Yp(this.target,this.observedBox,!0);return cv(this.target)&&(this.lastReportedSize=kt),this.lastReportedSize.inlineSize!==kt.inlineSize||this.lastReportedSize.blockSize!==kt.blockSize},wt}(),fv=function(){function wt(kt,St){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=kt,this.callback=St}return wt}(),q1=new WeakMap,r3=function(wt,kt){for(var St=0;St=0&&(Qt&&$o.splice($o.indexOf(Pt),1),Pt.observationTargets.splice(Ht,1),a1(-1))},wt.disconnect=function(kt){var St=this,Pt=q1.get(kt);Pt.observationTargets.slice().forEach(function(Ht){return St.unobserve(kt,Ht.target)}),Pt.activeTargets.splice(0,Pt.activeTargets.length)},wt}(),Av=function(){function wt(kt){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof kt!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");J1.connect(this,kt)}return wt.prototype.observe=function(kt,St){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Gp(kt))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");J1.observe(this,kt,St)},wt.prototype.unobserve=function(kt){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Gp(kt))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");J1.unobserve(this,kt)},wt.prototype.disconnect=function(){J1.disconnect(this)},wt.toString=function(){return"function ResizeObserver () { [polyfill code] }"},wt}();const dv=dt()[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"],hv=wt=>{const kt=pt.useRef(wt);return pt.useEffect(()=>{kt.current=wt}),kt};var pv=function(wt){var kt=[],St=null,Pt=function(){for(var Ht=arguments.length,Qt=new Array(Ht),Kt=0;Kt{let Ht=!1;const Qt=wt&&"current"in wt?wt.current:wt;if(!Qt)return gv;function Kt(ar,Ar){Ht||Pt.current(ar,Ar)}return St.subscribe(Qt,Kt),()=>{Ht=!0,St.unsubscribe(Qt,Kt)}},[wt,St,Pt]),St.observer}function yv(){const wt=new Map,kt=new bv(vv((St,Pt)=>{for(let Ht=0;HtKt(St[Ht],Pt))}}));return{observer:kt,subscribe(St,Pt){var Ht;kt.observe(St);const Qt=(Ht=wt.get(St))!==null&&Ht!==void 0?Ht:[];Qt.push(Pt),wt.set(St,Qt)},unsubscribe(St,Pt){var Ht;const Qt=(Ht=wt.get(St))!==null&&Ht!==void 0?Ht:[];if(Qt.length===1){kt.unobserve(St),wt.delete(St);return}const Kt=Qt.indexOf(Pt);Kt!==-1&&Qt.splice(Kt,1),wt.set(St,Qt)}}}let a3;const n3=()=>a3||(a3=yv()),K1=mv;var wv=ht(594),kv=ht.n(wv);const Ev={canvas:"OblL49alHyHyc9eQg8j4nA=="},_v={highlight:"rnaOpSl6-Al2+GT07ZkG5Q=="};var eA=Object.defineProperty,xv=Object.defineProperties,Cv=Object.getOwnPropertyDescriptors,i3=Object.getOwnPropertySymbols,$v=Object.prototype.hasOwnProperty,Tv=Object.prototype.propertyIsEnumerable,o3=(wt,kt,St)=>kt in wt?eA(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,s3=(wt,kt)=>{for(var St in kt||(kt={}))$v.call(kt,St)&&o3(wt,St,kt[St]);if(i3)for(var St of i3(kt))Tv.call(kt,St)&&o3(wt,St,kt[St]);return wt},Sv=(wt,kt)=>xv(wt,Cv(kt));function Ov(wt){const{canvasRef:kt,barHeight:St,xyToHighlightData:Pt,zoom:Ht}=wt,[Qt,Kt]=dt().useState({height:"0px",visibility:"hidden"});dt().useEffect(()=>{Kt({height:"0px",visibility:"hidden"})},[Ht]);const ar=pr=>{const _r=Pt(pr.offsetX,pr.offsetY);if(_r.isJust){const $r=_r.value;Kt(s3({visibility:"visible",height:`${St}px`},$r))}else Ar()},Ar=()=>{Kt(Sv(s3({},Qt),{visibility:"hidden"}))};return dt().useEffect(()=>{const pr=kt.current;return pr?(pr.addEventListener("mousemove",ar),pr.addEventListener("mouseout",Ar),()=>{pr.removeEventListener("mousemove",ar),pr.removeEventListener("mouseout",Ar)}):()=>{}},[kt.current,ar,Ar]),dt().createElement("div",{className:_v.highlight,style:Qt,"data-testid":"flamegraph-highlight"})}const Iv={highlightContextMenu:"_2aEs2ORKQVtdd+CAuIWrcA=="};var Rv=Object.defineProperty,n1=Object.getOwnPropertySymbols,Mv=Object.prototype.hasOwnProperty,l3=Object.prototype.propertyIsEnumerable,A4=(wt,kt,St)=>kt in wt?Rv(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,d4=(wt,kt)=>{for(var St in kt||(kt={}))Mv.call(kt,St)&&A4(wt,St,kt[St]);if(n1)for(var St of n1(kt))l3.call(kt,St)&&A4(wt,St,kt[St]);return wt};const h4={height:"0px",visibility:"hidden"};function c3(wt){const{node:kt,barHeight:St}=wt,[Pt,Ht]=dt().useState(h4);return dt().useEffect(()=>{kt.match({Nothing:()=>Ht(h4),Just:Qt=>Ht(d4({visibility:"visible",height:`${St}px`},Qt))})},[kt]),dt().createElement("div",{className:Iv.highlightContextMenu,style:Pt,"data-testid":"flamegraph-highlight-contextmenu"})}var u3=Object.defineProperty,f3=Object.defineProperties,Bv=Object.getOwnPropertyDescriptors,A3=Object.getOwnPropertySymbols,Pv=Object.prototype.hasOwnProperty,tA=Object.prototype.propertyIsEnumerable,i1=(wt,kt,St)=>kt in wt?u3(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,Lv=(wt,kt)=>{for(var St in kt||(kt={}))Pv.call(kt,St)&&i1(wt,St,kt[St]);if(A3)for(var St of A3(kt))tA.call(kt,St)&&i1(wt,St,kt[St]);return wt},Dv=(wt,kt)=>f3(wt,Bv(kt));const R2={name:"Default",goodColor:bn().rgb(0,170,0),neutralColor:bn().rgb(148,142,142),badColor:bn().rgb(200,0,0),colors:[bn().hsl(24,69,60),bn().hsl(34,65,65),bn().hsl(194,52,61),bn().hsl(163,45,55),bn().hsl(211,48,60),bn().hsl(246,40,65),bn().hsl(305,63,79),bn().hsl(47,100,73),bn().rgb(183,219,171),bn().rgb(244,213,152),bn().rgb(78,146,249),bn().rgb(249,186,143),bn().rgb(242,145,145),bn().rgb(130,181,216),bn().rgb(229,168,226),bn().rgb(174,162,224),bn().rgb(154,196,138),bn().rgb(242,201,109),bn().rgb(101,197,219),bn().rgb(249,147,78),bn().rgb(234,100,96),bn().rgb(81,149,206),bn().rgb(214,131,206),bn().rgb(128,110,183)]},d3=Dv(Lv({},R2),{name:"Color Blind",goodColor:bn().rgb(26,133,255),neutralColor:bn().rgb(148,142,142),badColor:bn().rgb(220,50,32)});function Fv(){return dt().createElement("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 30 30"},dt().createElement("defs",null),dt().createElement("path",{style:{fill:"#7d7d7f"},d:"M5,19.56c0,5.22,3.54,9.44,7.92,9.44h3.17c4.37,0,7.92-4.23,7.92-9.44v-7.56H5v7.56Z"}),dt().createElement("path",{style:{fill:"#7d7d7f"},d:"M14,1h-.82c-4.52,0-8.18,3.73-8.18,8.33v1.67H14V1Z"}),dt().createElement("path",{d:"M15.82,1h-.82V11h9v-1.67c0-4.6-3.66-8.33-8.18-8.33Z"}))}function Nv(){return dt().createElement("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 30 30"},dt().createElement("defs",null),dt().createElement("path",{style:{fill:"#7d7d7f"},d:"M24,19.56c0,5.22-3.54,9.44-7.92,9.44h-3.17c-4.37,0-7.92-4.23-7.92-9.44v-7.56H24v7.56Z"}),dt().createElement("path",{style:{fill:"#7d7d7f"},d:"M15,1h.82c4.52,0,8.18,3.73,8.18,8.33v1.67H15V1Z"}),dt().createElement("path",{d:"M13.18,1h.82V11H5v-1.67c0-4.6,3.66-8.33,8.18-8.33Z"}))}const au={tooltip:"EitWfLJlRhB605WKBhJqJA==",flamegraphDiffTooltip:"JDNfewH9FpPntx5Wu1nQjw==",tooltipName:"OYP-AU7HdIz-U3S15iaSMQ==",functionName:"wx9q4ZorgH1vtYtZv7yIAg==",tooltipTable:"+0L0FytvTTAXpH3pPg1wZw==",clickInfo:"_8y0K87bqdGd-mxDZz+YoPg=="};function h3({shouldShowFooter:wt=!0,shouldShowTitle:kt=!0,dataSourceRef:St,clickInfoSide:Pt,setTooltipContent:Ht}){const Qt=(0,pt.useRef)(null),[Kt,ar]=dt().useState({title:{text:"",diff:{text:"",color:""}},tooltipData:[]}),[Ar,pr]=(0,pt.useState)(),_r=()=>{pr({visibility:"hidden"}),ar({title:{text:"",diff:{text:"",color:""}},tooltipData:[]})},$r=(0,pt.useCallback)(zr=>{if(!Qt||!Qt.current)throw new Error("Missing tooltipElement");const Xr=Math.min(zr.clientX+12,window.innerWidth-Qt.current.clientWidth-20),Qr={top:zr.clientY+20,left:Xr,visibility:"visible"};Ht(ar,_r,zr),pr(Qr)},[Qt,Ht]);return(0,pt.useEffect)(()=>{const zr=St.current;return zr?(zr.addEventListener("mousemove",$r),zr.addEventListener("mouseout",_r),()=>{zr.removeEventListener("mousemove",$r),zr.removeEventListener("mouseout",_r)}):()=>{}},[St.current,$r]),dt().createElement("div",{"data-testid":"tooltip",className:Wl(au.tooltip,{[au.flamegraphDiffTooltip]:Kt.tooltipData.length>1}),style:Ar,ref:Qt},Kt.tooltipData.length>0&&dt().createElement(dt().Fragment,null,kt&&dt().createElement("div",{className:au.tooltipName,"data-testid":"tooltip-title"},Kt.title.text),dt().createElement("div",{className:au.functionName,"data-testid":"tooltip-function-name"},Kt.title.text),Kt.title.diff.text.length>0?dt().createElement(p3,{data:Kt.tooltipData,diff:Kt.title.diff}):dt().createElement(p3,{data:Kt.tooltipData}),wt&&dt().createElement(zv,{clickInfoSide:Pt})))}const o1={objects:{percent:"% of objects in RAM",formattedValue:"Objects in RAM",total:"% of total RAM"},goroutines:{percent:"% of goroutines",formattedValue:"Goroutines",total:"% of total goroutines"},bytes:{percent:"% of RAM",formattedValue:"RAM",total:"% of total bytes"},samples:{percent:"Share of CPU",formattedValue:"CPU Time",total:"% of total CPU"},lock_nanoseconds:{percent:"% of Time spent",formattedValue:"Time",total:"% of total seconds"},lock_samples:{percent:"% of contended locks",formattedValue:"Contended locks",total:"% of total locks"},trace_samples:{percent:"% of time",formattedValue:"Samples",total:"% of total samples"},"":{percent:"Percentage",formattedValue:"Units",total:"% of total units"}};function p3({data:wt,diff:kt}){const[St,Pt]=wt;if(!St)return null;let Ht;switch(St.tooltipType){case"flamegraph":Ht=()=>dt().createElement(dt().Fragment,null,Pt&&dt().createElement("thead",null,dt().createElement("tr",null,dt().createElement("th",null),dt().createElement("th",null,"Baseline"),dt().createElement("th",null,"Comparison"),dt().createElement("th",null,"Diff"))),dt().createElement("tbody",null,dt().createElement("tr",null,dt().createElement("td",null,o1[St.units].percent,":"),dt().createElement("td",null,St.percent),Pt&&dt().createElement(dt().Fragment,null,dt().createElement("td",null,Pt.percent),dt().createElement("td",null,kt&&dt().createElement("span",{"data-testid":"tooltip-diff",style:{color:kt.color}},kt.text)))),dt().createElement("tr",null,dt().createElement("td",null,o1[St.units].formattedValue,":"),dt().createElement("td",null,St.formattedValue),Pt&&dt().createElement(dt().Fragment,null,dt().createElement("td",null,Pt.formattedValue),dt().createElement("td",null))),dt().createElement("tr",null,dt().createElement("td",null,"Samples:"),dt().createElement("td",null,St.samples),Pt&&dt().createElement(dt().Fragment,null,dt().createElement("td",null,Pt.samples),dt().createElement("td",null)))));break;case"table":Ht=()=>dt().createElement(dt().Fragment,null,dt().createElement("thead",null,dt().createElement("tr",null,dt().createElement("td",null),dt().createElement("td",null,"Self (",o1[St.units].total,")"),dt().createElement("td",null,"Total (",o1[St.units].total,")"))),dt().createElement("tbody",null,dt().createElement("tr",null,dt().createElement("td",null,o1[St.units].formattedValue,":"),dt().createElement("td",null,St.self),dt().createElement("td",null,St.total))));break;default:Ht=()=>null}return dt().createElement("table",{"data-testid":"tooltip-table",className:Wl(au.tooltipTable,{[au[`${St.tooltipType}${Pt?"Diff":""}`]]:St.tooltipType})},Ht())}function zv({clickInfoSide:wt}){let kt;switch(wt){case"right":kt=dt().createElement(dt().Fragment,null,dt().createElement(Fv,null),dt().createElement("span",null,"Right click for more node viewing options"));break;case"left":kt=dt().createElement(dt().Fragment,null,dt().createElement(Nv,null),dt().createElement("span",null,"Click to highlight node in flamegraph"));break;default:kt=dt().createElement(dt().Fragment,null)}return dt().createElement("div",{"data-testid":"tooltip-footer",className:au.clickInfo},kt)}function jv(wt){const{format:kt,canvasRef:St,xyToData:Pt,numTicks:Ht,sampleRate:Qt,units:Kt,leftTicks:ar,rightTicks:Ar,palette:pr}=wt,_r=(0,pt.useCallback)(($r,zr,Xr)=>{const Qr=ir(Ht,Qt,Kt),en=Pt(Xr.offsetX,Xr.offsetY);let Zr;if(en.isJust)Zr=en.value;else{zr();return}switch(Zr.format){case"single":{const Gr={percent:lr(Zr.total/Ht),samples:Kt==="trace_samples"?"":lo(Zr.total),units:Kt,formattedValue:Qr.format(Zr.total,Qt),tooltipType:"flamegraph"};$r({title:{text:Zr.name,diff:{text:"",color:""}},tooltipData:[Gr]});break}case"double":{if(kt==="single")throw new Error("props format is 'single' but it has been mapped to 'double'");const Gr=Vv({formatter:Qr,sampleRate:Qt,totalLeft:Zr.totalLeft,leftTicks:ar,totalRight:Zr.totalRight,rightTicks:Ar,title:Zr.name,units:Kt},pr);$r({title:Gr.title,tooltipData:Gr.tooltipData});break}default:throw new Error("Unsupported format:'")}},[Ht,Qt,Kt,ar,Ar,pr]);return dt().createElement(h3,{dataSourceRef:St,clickInfoSide:"right",setTooltipContent:_r})}function Vv({formatter:wt,sampleRate:kt,totalLeft:St,leftTicks:Pt,totalRight:Ht,rightTicks:Qt,title:Kt,units:ar},Ar=R2){const pr=St/Pt,_r=Ht/Qt,$r=Ut(pr),zr=Ut(_r),Xr={percent:`${$r}%`,samples:lo(St),units:ar,formattedValue:wt.format(St,kt),tooltipType:"flamegraph"},Qr={percent:`${zr}%`,samples:lo(Ht),units:ar,formattedValue:wt.format(Ht,kt),tooltipType:"flamegraph"},en=Gv($r,zr);let Zr="";en>0?Zr=Ar.badColor.rgb().string():en<0&&(Zr=Ar.goodColor.rgb().string());let Gr="";return St?Ht?en>0?Gr=`(+${en.toFixed(2)}%)`:en<0&&(Gr=`(${en.toFixed(2)}%)`):Gr="(removed)":Gr="(new)",{title:{text:Kt,diff:{text:Gr,color:Zr}},tooltipData:[Xr,Qr]}}function Gv(wt,kt){return(kt-wt)/wt*100}const Hv={dummy:"_8jsg5CgIlsOOE89k5kk7iA=="};var v3=Object.getOwnPropertySymbols,Tl=Object.prototype.hasOwnProperty,Wv=Object.prototype.propertyIsEnumerable,Zv=(wt,kt)=>{var St={};for(var Pt in wt)Tl.call(wt,Pt)&&kt.indexOf(Pt)<0&&(St[Pt]=wt[Pt]);if(wt!=null&&v3)for(var Pt of v3(wt))kt.indexOf(Pt)<0&&Wv.call(wt,Pt)&&(St[Pt]=wt[Pt]);return St};function nu(wt){const kt=r4(!1),{openMenu:St,closeMenu:Pt}=kt,Ht=Zv(kt,["openMenu","closeMenu"]),[Qt,Kt]=dt().useState({x:0,y:0}),{canvasRef:ar}=wt,[Ar,pr]=dt().useState([]),{xyToMenuItems:_r,onClose:$r,onOpen:zr}=wt,Xr=()=>{Pt(),$r()};return dt().useEffect(()=>{Pt();const Qr=ar.current;if(!Qr)return()=>{};const en=Zr=>{Zr.preventDefault();const Gr=_r(Zr.offsetX,Zr.offsetY);pr(Gr);const wn=Zr.clientX,Tn=Zr.clientY+20;Kt({x:wn,y:Tn}),St(),zr(Zr.offsetX,Zr.offsetY)};return Qr.addEventListener("contextmenu",en),()=>{Qr.removeEventListener("contextmenu",en)}},[_r]),dt().createElement(o4,{className:Hv.dummy,menuItemFocus:Ht.menuItemFocus,isMounted:Ht.isMounted,isOpen:Ht.isOpen,anchorPoint:Qt,onClose:Xr},Ar)}const Gn={logoLink:"HqveVyKaVoFyC4vstbKG5g=="};function Yv(){return dt().createElement("svg",{width:"22px",height:"22px",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},dt().createElement("defs",null,dt().createElement("radialGradient",{cx:"49.4236252%",cy:"92.6627823%",fx:"49.4236252%",fy:"92.6627823%",r:"195.066755%",gradientTransform:"translate(0.494236,0.926628),scale(1.000000,0.735610),rotate(-90.000000),translate(-0.494236,-0.926628)",id:"radialGradient-1"},dt().createElement("stop",{stopColor:"#FFB90C",offset:"0%"}),dt().createElement("stop",{stopColor:"#F9243A",offset:"38.390924%"}),dt().createElement("stop",{stopColor:"#F9243A",offset:"50.5405%"}),dt().createElement("stop",{stopColor:"#B51424",offset:"73.98091%"}),dt().createElement("stop",{stopColor:"#B51424",offset:"100%"}))),dt().createElement("g",{id:"Artboard",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},dt().createElement("g",{id:"fire-part",transform:"translate(148.516736, 0.000000)",fillRule:"nonzero"},dt().createElement("g",{id:"whole-thing",transform:"translate(363.983264, 495.000000) scale(-1, 1) rotate(-180.000000) translate(-363.983264, -495.000000) translate(0.483264, 0.000000)"},dt().createElement("g",{id:"g70",transform:"translate(-0.000091, 0.685815)",fill:"url(#radialGradient-1)"},dt().createElement("path",{d:"M65.3646667,571.739321 L65.4492471,571.698868 C19.5139147,505.999969 -5.32464048,424.477859 1.04305801,336.877516 L1.04305801,336.877516 C14.0321963,158.179446 159.192462,13.7596653 338.059844,1.5917266 L338.059844,1.5917266 C419.418369,-3.93888015 495.500283,17.3823334 558.456522,57.4611191 L558.456522,57.4611191 L481.301947,162.097965 C437.516468,136.521928 399.367671,129.590556 363.486536,130.155994 L363.486536,130.155994 C234.497143,130.155994 129.556988,235.032238 129.556988,363.946998 L129.556988,363.946998 C129.556988,492.865683 234.497143,597.738003 363.486536,597.738003 L363.486536,597.738003 C492.483783,597.738003 597.427864,492.865683 597.427864,363.946998 L597.427864,363.946998 C597.41276,304.634864 581.39383,255.677522 530.630465,199.668053 L607.770843,95.1329436 C680.936847,161.576603 726.932594,257.364176 726.932594,363.946998 L726.932594,363.946998 C726.932594,458.031616 691.13483,543.75602 632.416071,608.271816 L632.416071,608.271816 L632.416071,608.275741 L533.597728,748.122808 L428.601388,617.203806 L434.703262,646.563419 C459.453008,765.59222 433.664131,889.543925 363.49439,988.853335 L363.49439,988.853335 L65.3646667,571.723019 L65.3646667,571.739321 Z",id:"path84"})),dt().createElement("g",{id:"blue",transform:"translate(191.447039, 191.331780)"},dt().createElement("g",{id:"g88",transform:"translate(-0.000063, 0.685930)"},dt().createElement("g",{id:"g94",transform:"translate(0.177296, 0.699054)",fill:"#3EC1D3"},dt().createElement("path",{d:"M171.862466,343.697728 C77.0961324,343.697728 -0.00497405932,266.647602 -0.00497405932,171.934957 C-0.00497405932,77.2182874 77.0961324,0.168162396 171.862466,0.168162396 C266.632828,0.168162396 343.741988,77.2182874 343.741988,171.934957 C343.741988,266.647602 266.632828,343.697728 171.862466,343.697728",id:"path96"})),dt().createElement("g",{id:"g98",transform:"translate(29.362379, 172.629585)",fill:"#FFFFFF"},dt().createElement("path",{d:"M22.8397982,0 L0.671669409,0 C0.671669409,78.2496309 64.380874,141.920035 142.678189,141.920035 L142.678189,119.765407 C76.6007327,119.765407 22.8397982,66.0372141 22.8397982,0",id:"path100"}))))))))}function As(){return dt().createElement("a",{className:Gn.logoLink,href:"https://github.com/pyroscope-io/pyroscope/",target:"_blank",rel:"noreferrer"},[Yv(),dt().createElement("span",null,"Pyroscope")])}const J0={flamegraphHeader:"F5gLmM2HlBS6Lh2eA+TOLA==",row:"-11Zgjyiq3PJ2gS11OZevw==",flamegraphTitle:"Jw-yvX-dsWn+UNQdvsw+FQ==",buttons:"X-KASulGPmT7oMsRdlQqnA=="};var Uv=ht(779),g2=ht.n(Uv);const p4={"flamegraph-legend":"PETh3MyDcaGQCI1Nw0+g+g==","flamegraph-legend-list":"A3ypFowL4h2Jv2vkSIjs6Q==","flamegraph-legend-item":"h-tSfWrzSrCEL9uo2nsHtA=="};function b3(wt){const{palette:kt,showMode:St}=wt,Pt=Qv(St),Ht=U4(kt);return dt().createElement("div",{"data-testid":"flamegraph-legend",className:`${p4["flamegraph-legend"]} ${p4["flamegraph-legend-list"]}`},Pt.map(Qt=>dt().createElement("div",{key:Qt,className:p4["flamegraph-legend-item"],style:{backgroundColor:Ht(Qt).rgb().toString()}},Qt>0?"+":"",Qt,"%")))}function Qv(wt){switch(wt){case"large":return[-100,-80,-60,-40,-20,-10,0,10,20,40,60,80,100];case"small":return[-100,-40,-20,0,20,40,100];default:throw new Error(`Unsupported ${wt}`)}}function g3(){return dt().createElement("svg",{version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",width:"12px",height:"12px",viewBox:"0 0 405.272 405.272"},dt().createElement("g",null,dt().createElement("path",{d:`M393.401,124.425L179.603,338.208c-15.832,15.835-41.514,15.835-57.361,0L11.878,227.836 +}`;function L1(){var yt=TA,kt=ap,St=Es.familyPrefix,Pt=Es.replacementClass,Gt=P8;if(St!==yt||Pt!==kt){var Qt=new RegExp("\\.".concat(yt,"\\-"),"g"),Xt=new RegExp("\\--".concat(yt,"\\-"),"g"),rr=new RegExp("\\.".concat(kt),"g");Gt=Gt.replace(Qt,".".concat(St,"-")).replace(Xt,"--".concat(St,"-")).replace(rr,".".concat(Pt))}return Gt}var vu=function(){function yt(){S2(this,yt),this.definitions={}}return _8(yt,[{key:"add",value:function(){for(var kt=this,St=arguments.length,Pt=new Array(St),Gt=0;Gt1&&arguments[1]!==void 0?arguments[1]:{},Pt=(kt||{}).icon?kt:bp(kt||{}),Gt=St.mask;return Gt&&(Gt=(Gt||{}).icon?Gt:bp(Gt||{})),yt(Pt,E0({},St,{mask:Gt}))}}var bu=new vu,gu=!1,YA={transform:function(yt){return B8(yt)}},mp=gp(function(yt){var kt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},St=kt.transform,Pt=St===void 0?hu:St,Gt=kt.symbol,Qt=Gt===void 0?!1:Gt,Xt=kt.mask,rr=Xt===void 0?null:Xt,fr=kt.maskId,pr=fr===void 0?null:fr,_r=kt.title,$r=_r===void 0?null:_r,zr=kt.titleId,Xr=zr===void 0?null:zr,Qr=kt.classes,en=Qr===void 0?[]:Qr,Zr=kt.attributes,Gr=Zr===void 0?{}:Zr,wn=kt.styles,Tn=wn===void 0?{}:wn;if(yt){var Hn=yt.prefix,Sn=yt.iconName,qn=yt.icon;return vp(E0({type:"icon"},yt),function(){return pp(),Es.autoA11y&&($r?Gr["aria-labelledby"]="".concat(Es.replacementClass,"-title-").concat(Xr||Yu()):(Gr["aria-hidden"]="true",Gr.focusable="false")),R8({icons:{main:hp(qn),mask:rr?hp(rr.icon):{found:!1,width:null,height:null,icon:{}}},prefix:Hn,iconName:Sn,transform:E0({},hu,Pt),symbol:Qt,title:$r,maskId:pr,titleId:Xr,extra:{attributes:Gr,styles:Tn,classes:en}})})}}),yp=ht(980),Ur=ht.n(yp);function UA(yt,kt){var St=Object.keys(yt);if(Object.getOwnPropertySymbols){var Pt=Object.getOwnPropertySymbols(yt);kt&&(Pt=Pt.filter(function(Gt){return Object.getOwnPropertyDescriptor(yt,Gt).enumerable})),St.push.apply(St,Pt)}return St}function yl(yt){for(var kt=1;kt=0)&&(St[Gt]=yt[Gt]);return St}function QA(yt,kt){if(yt==null)return{};var St=L8(yt,kt),Pt,Gt;if(Object.getOwnPropertySymbols){var Qt=Object.getOwnPropertySymbols(yt);for(Gt=0;Gt=0)&&(!Object.prototype.propertyIsEnumerable.call(yt,Pt)||(St[Pt]=yt[Pt]))}return St}function yu(yt){return wp(yt)||qA(yt)||D8(yt)||v2()}function wp(yt){if(Array.isArray(yt))return D1(yt)}function qA(yt){if(typeof Symbol<"u"&&yt[Symbol.iterator]!=null||yt["@@iterator"]!=null)return Array.from(yt)}function D8(yt,kt){if(yt){if(typeof yt=="string")return D1(yt,kt);var St=Object.prototype.toString.call(yt).slice(8,-1);if(St==="Object"&&yt.constructor&&(St=yt.constructor.name),St==="Map"||St==="Set")return Array.from(yt);if(St==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(St))return D1(yt,kt)}}function D1(yt,kt){(kt==null||kt>yt.length)&&(kt=yt.length);for(var St=0,Pt=new Array(kt);St2&&arguments[2]!==void 0?arguments[2]:{};if(typeof kt=="string")return kt;var Pt=(kt.children||[]).map(function(fr){return Yl(yt,fr)}),Gt=Object.keys(kt.attributes||{}).reduce(function(fr,pr){var _r=kt.attributes[pr];switch(pr){case"class":fr.attrs.className=_r,delete kt.attributes.class;break;case"style":fr.attrs.style=N8(_r);break;default:pr.indexOf("aria-")===0||pr.indexOf("data-")===0?fr.attrs[pr.toLowerCase()]=_r:fr.attrs[_p(pr)]=_r}return fr},{attrs:{}}),Qt=St.style,Xt=Qt===void 0?{}:Qt,rr=QA(St,xp);return Gt.attrs.style=yl(yl({},Gt.attrs.style),Xt),yt.apply(void 0,[kt.tag,yl(yl({},Gt.attrs),rr)].concat(yu(Pt)))}var F1=!1;try{F1=!0}catch(yt){}function JA(){if(!F1&&console&&typeof console.error=="function"){var yt;(yt=console).error.apply(yt,arguments)}}function N1(yt){if(yt&&mu(yt)==="object"&&yt.prefix&&yt.iconName&&yt.icon)return yt;if(YA.icon)return YA.icon(yt);if(yt===null)return null;if(yt&&mu(yt)==="object"&&yt.prefix&&yt.iconName)return yt;if(Array.isArray(yt)&&yt.length===2)return{prefix:yt[0],iconName:yt[1]};if(typeof yt=="string")return{prefix:"fas",iconName:yt}}function wu(yt,kt){return Array.isArray(kt)&&kt.length>0||!Array.isArray(kt)&&kt?p2({},yt,kt):{}}var ku=["forwardedRef"];function mn(yt){var kt=yt.forwardedRef,St=QA(yt,ku),Pt=St.icon,Gt=St.mask,Qt=St.symbol,Xt=St.className,rr=St.title,fr=St.titleId,pr=N1(Pt),_r=wu("classes",[].concat(yu(kp(St)),yu(Xt.split(" ")))),$r=wu("transform",typeof St.transform=="string"?YA.transform(St.transform):St.transform),zr=wu("mask",N1(Gt)),Xr=mp(pr,yl(yl(yl(yl({},_r),$r),zr),{},{symbol:Qt,title:rr,titleId:fr}));if(!Xr)return JA("Could not find icon",pr),null;var Qr=Xr.abstract,en={ref:kt};return Object.keys(St).forEach(function(Zr){mn.defaultProps.hasOwnProperty(Zr)||(en[Zr]=St[Zr])}),z1(Qr[0],en)}mn.displayName="FontAwesomeIcon",mn.propTypes={beat:Ur().bool,border:Ur().bool,className:Ur().string,fade:Ur().bool,flash:Ur().bool,mask:Ur().oneOfType([Ur().object,Ur().array,Ur().string]),fixedWidth:Ur().bool,inverse:Ur().bool,flip:Ur().oneOf(["horizontal","vertical","both"]),icon:Ur().oneOfType([Ur().object,Ur().array,Ur().string]),listItem:Ur().bool,pull:Ur().oneOf(["right","left"]),pulse:Ur().bool,rotation:Ur().oneOf([0,90,180,270]),size:Ur().oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:Ur().bool,spinPulse:Ur().bool,spinReverse:Ur().bool,symbol:Ur().oneOfType([Ur().bool,Ur().string]),title:Ur().string,transform:Ur().oneOfType([Ur().string,Ur().object]),swapOpacity:Ur().bool},mn.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var z1=Yl.bind(null,dt().createElement),XA=ht(247),K2=ht(682),z8=ht(438),j1=ht(42),KA=ht(111),Wo=ht.n(KA);const j8="rc-menu-container",El="rc-menu",Cp="rc-menu-button",V8="arrow",V1="item",G8="divider",H8="header",W8="group",b2="submenu",ss="radio-group",eu=-1,_d=dt().createContext({}),Qu=dt().createContext({}),_h=dt().createContext({}),$p=dt().createContext({}),Eu=dt().createContext({}),G1=dt().createContext({}),go=Object.freeze({ENTER:"Enter",ESC:"Escape",SPACE:" ",HOME:"Home",END:"End",LEFT:"ArrowLeft",RIGHT:"ArrowRight",UP:"ArrowUp",DOWN:"ArrowDown"}),fo=Object.freeze({RESET:"HOVER_INDEX_RESET",SET:"HOVER_INDEX_SET",UNSET:"HOVER_INDEX_UNSET",INCREASE:"HOVER_INDEX_INCREASE",DECREASE:"HOVER_INDEX_DECREASE",FIRST:"HOVER_INDEX_FIRST",LAST:"HOVER_INDEX_LAST"}),H1=Object.freeze({OPEN:"SUBMENU_OPEN",CLOSE:"SUBMENU_CLOSE"}),qu=Object.freeze({CLICK:"click",CANCEL:"cancel",BLUR:"blur",SCROLL:"scroll"}),Tp=KA.unstable_batchedUpdates||(yt=>yt()),Ul=(yt,kt)=>kt?Object.defineProperty(yt,"_reactMenu",{value:kt,writable:!1}):yt,W1=yt=>yt&&yt._reactMenu,xs=(yt,...kt)=>typeof yt=="function"?yt(...kt):yt,_u=(yt,kt)=>{const St={};for(const Pt of Object.keys(yt)){const Gt=yt[Pt],Qt=kt[Pt];let Xt;typeof Qt=="function"?Xt=rr=>{Qt(rr),Gt(rr)}:Xt=Gt,St[Pt]=Xt}return St},Sp=yt=>{if(typeof yt!="string")return{top:0,right:0,bottom:0,left:0};const kt=yt.trim().split(/\s+/,4).map(parseFloat),St=isNaN(kt[0])?0:kt[0],Pt=isNaN(kt[1])?St:kt[1];return{top:St,right:Pt,bottom:isNaN(kt[2])?St:kt[2],left:isNaN(kt[3])?Pt:kt[3]}},Zo=({block:yt,element:kt,modifiers:St,className:Pt,externalModifiers:Gt})=>(0,bt.useMemo)(()=>{const Qt=kt?`${yt}__${kt}`:yt;let Xt=Qt;for(const fr of Object.keys(St||{})){const pr=St[fr];pr&&(Xt+=` ${Qt}--`,Xt+=pr===!0?fr:`${fr}-${pr}`)}let rr=typeof Pt=="function"?Pt(Gt||St):Pt;return typeof rr=="string"&&(rr=rr.trim(),rr&&(Xt+=` ${rr}`)),Xt},[yt,kt,St,Pt,Gt]),Ju=yt=>yt&&typeof yt=="object",e4=yt=>yt.charAt(0)==="$"?yt.slice(1):yt,_l=(yt,kt)=>(0,bt.useMemo)(()=>{if(typeof yt=="function")return yt(kt);if(!Ju(yt))return;if(!kt)return yt;const St={};for(const Pt of Object.keys(yt)){const Gt=yt[Pt];if(Ju(Gt)){const Qt=kt[e4(Pt)];if(typeof Qt=="string")for(const Xt of Object.keys(Gt)){const rr=Gt[Xt];Ju(rr)?e4(Xt)===Qt&&Object.assign(St,rr):St[Xt]=rr}else Qt&&Object.assign(St,Gt)}else St[Pt]=Gt}return St},[yt,kt]),Xu=yt=>{for(;yt&&yt!==document.body;){const{overflow:kt,overflowX:St,overflowY:Pt}=getComputedStyle(yt);if(/auto|scroll|overlay|hidden/.test(kt+Pt+St))return yt;yt=yt.parentNode}return window},tu=(yt,kt,St=1e-4)=>Math.abs(yt-kt)kt?!!St.includes(W1(kt.type)):!1,I2=(yt,kt=0)=>{let St=kt,Pt=!1;const Gt=["MenuDivider","MenuGroup","MenuHeader","MenuItem","FocusableItem","MenuRadioGroup","SubMenu"];return{items:dt().Children.map(yt,Qt=>{if(!xl("Menu or SubMenu",Qt,Gt))return null;switch(W1(Qt.type)){case"MenuDivider":case"MenuHeader":return Qt;case"MenuRadioGroup":{const Xt=["MenuItem"],rr={type:"radio"},fr=dt().Children.map(Qt.props.children,pr=>xl("MenuRadioGroup",pr,Xt)?pr.props.disabled?dt().cloneElement(pr,rr):dt().cloneElement(pr,st(ot({},rr),{index:St++})):null);return dt().cloneElement(Qt,{children:fr})}case"MenuGroup":{const{items:Xt,endIndex:rr,descendOverflow:fr}=I2(Qt.props.children,St);St=rr;const pr=!!Qt.props.takeOverflow;return Pt=Pt||fr||pr,dt().cloneElement(Qt,{children:Xt})}default:return Qt.props.disabled?Qt:dt().cloneElement(Qt,{index:St++})}}),endIndex:St,descendOverflow:Pt}},Ql=yt=>({[yt?`${yt}ClassName`:"className"]:Ur().oneOfType([Ur().string,Ur().func]),[yt?`${yt}Styles`:"styles"]:Ur().oneOfType([Ur().object,Ur().func])}),t4=st(ot(ot({},Ql()),Ql("arrow")),{"aria-label":Ur().string,arrow:Ur().bool,offsetX:Ur().number,offsetY:Ur().number,align:Ur().oneOf(["start","center","end"]),direction:Ur().oneOf(["left","right","top","bottom"]),position:Ur().oneOf(["auto","anchor","initial"]),overflow:Ur().oneOf(["auto","visible","hidden"]),children:Ur().node.isRequired}),Op=st(ot({},t4),{id:Ur().oneOfType([Ur().string,Ur().number]),animation:Ur().bool,debugging:Ur().bool,boundingBoxRef:Ur().object,boundingBoxPadding:Ur().string,reposition:Ur().oneOf(["auto","initial"]),repositionFlag:Ur().oneOfType([Ur().string,Ur().number]),viewScroll:Ur().oneOf(["auto","close","initial"]),submenuOpenDelay:Ur().number,submenuCloseDelay:Ur().number,portal:Ur().bool,theming:Ur().string,onItemClick:Ur().func,onClick:Ur().func}),Ip={offsetX:0,offsetY:0,align:"start",direction:"bottom",position:"auto",overflow:"visible"},Rp=st(ot({},Ip),{animation:!0,reposition:"auto",viewScroll:"initial",submenuOpenDelay:300,submenuCloseDelay:150}),Mp=(yt,kt,St)=>{const[Pt,Gt]=(0,bt.useState)(!1),Qt=(0,bt.useMemo)(()=>[go.SPACE,go.ENTER,...St?[St]:[]],[St]),Xt=(0,bt.useCallback)(()=>Gt(!1),[]);return{isActive:Pt,onPointerDown:(0,bt.useCallback)(()=>{kt||Gt(!0)},[kt]),onPointerUp:Xt,onPointerLeave:Xt,onKeyDown:(0,bt.useCallback)(rr=>{yt&&!kt&&Qt.includes(rr.key)&&Gt(!0)},[yt,kt,Qt]),onKeyUp:(0,bt.useCallback)(rr=>{Qt.includes(rr.key)&&Gt(!1)},[Qt]),onBlur:(0,bt.useCallback)(rr=>{rr.currentTarget.contains(rr.relatedTarget)||Gt(!1)},[])}},Bp=(yt,kt)=>{const St=(0,bt.useRef)(null),{submenuCloseDelay:Pt}=(0,bt.useContext)(G1),{isParentOpen:Gt,hoverIndex:Qt,isSubmenuOpen:Xt,dispatch:rr}=(0,bt.useContext)(_d),fr=Qt===kt,pr=(0,bt.useRef)(),_r=(0,bt.useCallback)(()=>{yt||rr({type:fo.SET,index:kt})},[yt,rr,kt]),$r=(0,bt.useCallback)(Qr=>{Qr.currentTarget.contains(Qr.relatedTarget)||rr({type:fo.UNSET,index:kt})},[rr,kt]),zr=(0,bt.useCallback)(()=>{Xt?pr.current=setTimeout(_r,Pt):_r()},[Xt,Pt,_r]),Xr=(0,bt.useCallback)((Qr,en)=>{pr.current&&clearTimeout(pr.current),en||rr({type:fo.UNSET,index:kt})},[rr,kt]);return(0,bt.useEffect)(()=>()=>clearTimeout(pr.current),[]),(0,bt.useEffect)(()=>{fr&&Gt&&St.current&&St.current.focus()},[fr,Gt]),{ref:St,isHovering:fr,setHover:_r,onBlur:$r,onMouseEnter:zr,onMouseLeave:Xr}},Pp=(yt,kt)=>{const St=(0,bt.useRef)(kt);(0,bt.useEffect)(()=>{St.current!==kt&&xs(yt,{open:kt}),St.current=kt},[yt,kt])},Cl=Object.freeze({INITIAL:"initial",FIRST:"first",LAST:"last"}),$l=Object.freeze({UNMOUNTED:0,CLOSED:1,OPEN:2}),xu=Object.freeze({OPEN:0,CLOSE:1,TOGGLE:2}),r4=(yt=!0)=>{const[kt,St]=(0,bt.useState)({position:Cl.INITIAL}),[Pt,Gt]=(0,bt.useReducer)(Qt,$l.UNMOUNTED);function Qt(Xt,{type:rr}){switch(rr){case xu.OPEN:return $l.OPEN;case xu.CLOSE:return Xt===$l.OPEN?yt?$l.CLOSED:$l.UNMOUNTED:Xt;case xu.TOGGLE:return Xt===$l.OPEN?yt?$l.CLOSED:$l.UNMOUNTED:$l.OPEN;default:throw new Error("menuStateReducer: unknown action type")}}return{isMounted:Pt!==$l.UNMOUNTED,isOpen:Pt===$l.OPEN,menuItemFocus:kt,openMenu:(0,bt.useCallback)((Xt=Cl.INITIAL)=>{St({position:Xt}),Gt({type:xu.OPEN})},[]),closeMenu:(0,bt.useCallback)(()=>Gt({type:xu.CLOSE}),[]),toggleMenu:(0,bt.useCallback)((Xt=Cl.INITIAL)=>{St({position:Xt}),Gt({type:xu.TOGGLE})},[])}},Ku=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?bt.useLayoutEffect:bt.useEffect,a4=Ul(dt().memo(dt().forwardRef(function(yt,kt){var St=yt,{className:Pt,styles:Gt,isOpen:Qt,disabled:Xt,children:rr}=St,fr=lt(St,["className","styles","isOpen","disabled","children"]);const pr=(0,bt.useMemo)(()=>Object.freeze({open:Qt}),[Qt]);return dt().createElement("button",Object.assign({"aria-haspopup":"true","aria-expanded":Qt,"aria-disabled":Xt||void 0,disabled:Xt},fr,{ref:kt,className:Zo({block:Cp,modifiers:pr,className:Pt}),style:_l(Gt,pr)}),rr)})),"MenuButton");a4.propTypes=st(ot({},Ql()),{isOpen:Ur().bool,disabled:Ur().bool,children:Ur().node.isRequired,onClick:Ur().func,onKeyDown:Ur().func});const n4=Ul(dt().memo(function(yt){var kt=yt,{ariaLabel:St,className:Pt,styles:Gt,arrowClassName:Qt,arrowStyles:Xt,anchorPoint:rr,anchorRef:fr,containerRef:pr,arrow:_r,align:$r,direction:zr,position:Xr,overflow:Qr,repositionFlag:en,captureFocus:Zr=!0,isOpen:Gr,isDisabled:wn,menuItemFocus:Tn,offsetX:Hn,offsetY:Sn,children:qn,onClose:xa}=kt,pt=lt(kt,["ariaLabel","className","styles","arrowClassName","arrowStyles","anchorPoint","anchorRef","containerRef","arrow","align","direction","position","overflow","repositionFlag","captureFocus","isOpen","isDisabled","menuItemFocus","offsetX","offsetY","children","onClose"]);const[$t,Dt]=(0,bt.useState)({x:0,y:0}),[Zt,tr]=(0,bt.useState)({}),[cr,br]=(0,bt.useState)(),[wr,xr]=(0,bt.useState)(!1),[Fr,Rr]=(0,bt.useState)(zr),{animation:Br,boundingBoxRef:$a,boundingBoxPadding:sn,rootMenuRef:un,rootAnchorRef:In,scrollingRef:dn,anchorScrollingRef:Dn,reposition:Pn,viewScroll:h0}=(0,bt.useContext)(Eu),g0=(0,bt.useRef)(null),Lo=(0,bt.useRef)(null),N0=(0,bt.useRef)(0),$s=(0,bt.useRef)(Gr),Hs=(0,bt.useRef)({width:0,height:0}),O4=(0,bt.useRef)(()=>{}),im=(0,bt.useRef)(!1),km=(0,bt.useContext)(Qu).reposSubmenu||en,[cm,um]=(0,bt.useReducer)(Rn=>Rn+1,1),[{hoverIndex:fm,openSubmenuCount:Em},Iu]=(0,bt.useReducer)(_m,{hoverIndex:eu,openSubmenuCount:0});function _m({hoverIndex:Rn,openSubmenuCount:jn},_i){return{hoverIndex:xm(Rn,_i),openSubmenuCount:Lp(jn,_i)}}function xm(Rn,{type:jn,index:_i}){switch(jn){case fo.RESET:return eu;case fo.SET:return _i;case fo.UNSET:return Rn===_i?eu:Rn;case fo.DECREASE:{let Vn=Rn;return Vn--,Vn<0&&(Vn=N0.current-1),Vn}case fo.INCREASE:{let Vn=Rn;return Vn++,Vn>=N0.current&&(Vn=0),Vn}case fo.FIRST:return N0.current>0?0:eu;case fo.LAST:return N0.current>0?N0.current-1:eu;default:return Rn}}const Cm=(0,bt.useMemo)(()=>{const{items:Rn,endIndex:jn,descendOverflow:_i}=I2(qn);return N0.current=jn,im.current=_i,Rn},[qn]),$m=Rn=>{let jn=!1;switch(Rn.key){case go.HOME:Iu({type:fo.FIRST}),jn=!0;break;case go.END:Iu({type:fo.LAST}),jn=!0;break;case go.UP:Iu({type:fo.DECREASE}),jn=!0;break;case go.DOWN:Iu({type:fo.INCREASE}),jn=!0;break;case go.SPACE:Rn.target&&Rn.target.className.includes(El)&&Rn.preventDefault();break}jn&&(Rn.preventDefault(),Rn.stopPropagation())},Tm=()=>{wr&&(xr(!1),br())},Am=(0,bt.useCallback)(()=>{const Rn=g0.current.getBoundingClientRect(),jn=pr.current.getBoundingClientRect(),_i=dn.current===window?{left:0,top:0,right:document.documentElement.clientWidth,bottom:window.innerHeight}:dn.current.getBoundingClientRect(),Vn=Sp(sn),Wn=Mn=>Mn+jn.left-_i.left-Vn.left,O0=Mn=>Mn+jn.left+Rn.width-_i.right+Vn.right,M0=Mn=>Mn+jn.top-_i.top-Vn.top,mo=Mn=>Mn+jn.top+Rn.height-_i.bottom+Vn.bottom;return{menuRect:Rn,containerRect:jn,getLeftOverflow:Wn,getRightOverflow:O0,getTopOverflow:M0,getBottomOverflow:mo,confineHorizontally:Mn=>{let Eo=Wn(Mn);if(Eo<0)Mn-=Eo;else{const G0=O0(Mn);G0>0&&(Mn-=G0,Eo=Wn(Mn),Eo<0&&(Mn-=Eo))}return Mn},confineVertically:Mn=>{let Eo=M0(Mn);if(Eo<0)Mn-=Eo;else{const G0=mo(Mn);G0>0&&(Mn-=G0,Eo=M0(Mn),Eo<0&&(Mn-=Eo))}return Mn}}},[pr,dn,sn]),dm=(0,bt.useCallback)((Rn,jn,_i,Vn)=>{let Wn=jn.left-_i.left-Rn+jn.width/2;const O0=Lo.current.offsetWidth*1.25;return Wn=Math.max(O0,Wn),Wn=Math.min(Wn,Vn.width-O0),Wn},[]),hm=(0,bt.useCallback)((Rn,jn,_i,Vn)=>{let Wn=jn.top-_i.top-Rn+jn.height/2;const O0=Lo.current.offsetHeight*1.25;return Wn=Math.max(O0,Wn),Wn=Math.min(Wn,Vn.height-O0),Wn},[]),pm=(0,bt.useCallback)(({anchorRect:Rn,containerRect:jn,menuRect:_i},{placeLeftorRightY:Vn,placeLeftX:Wn,placeRightX:O0},{getLeftOverflow:M0,getRightOverflow:mo,confineHorizontally:Mn,confineVertically:Eo})=>{let G0=zr,m0=Vn;Xr!=="initial"&&(m0=Eo(m0),Xr==="anchor"&&(m0=Math.min(m0,Rn.bottom-jn.top),m0=Math.max(m0,Rn.top-jn.top-_i.height)));let z0,ao,H0;return G0==="left"?(z0=Wn,Xr!=="initial"&&(ao=M0(z0),ao<0&&(H0=mo(O0),(H0<=0||-ao>H0)&&(z0=O0,G0="right")))):(z0=O0,Xr!=="initial"&&(H0=mo(z0),H0>0&&(ao=M0(Wn),(ao>=0||-ao{let G0=zr==="top"?"top":"bottom",m0=Vn;Xr!=="initial"&&(m0=Mn(m0),Xr==="anchor"&&(m0=Math.min(m0,Rn.right-jn.left),m0=Math.max(m0,Rn.left-jn.left-_i.width)));let z0,ao,H0;return G0==="top"?(z0=Wn,Xr!=="initial"&&(ao=M0(z0),ao<0&&(H0=mo(O0),(H0<=0||-ao>H0)&&(z0=O0,G0="bottom")))):(z0=O0,Xr!=="initial"&&(H0=mo(z0),H0>0&&(ao=M0(Wn),(ao>=0||-ao{const _i=Rn,{menuRect:Vn,containerRect:Wn}=_i,O0=lt(_i,["menuRect","containerRect"]);let M0=Hn,mo=Sn;_r&&(zr==="left"||zr==="right"?M0+=Lo.current.offsetWidth:mo+=Lo.current.offsetHeight);const Mn=jn.current.getBoundingClientRect(),Eo=Mn.left-Wn.left-Vn.width-M0,G0=Mn.right-Wn.left+M0,m0=Mn.top-Wn.top-Vn.height-mo,z0=Mn.bottom-Wn.top+mo;let ao,H0;$r==="end"?(ao=Mn.right-Wn.left-Vn.width,H0=Mn.bottom-Wn.top-Vn.height):$r==="center"?(ao=Mn.left-Wn.left-(Vn.width-Mn.width)/2,H0=Mn.top-Wn.top-(Vn.height-Mn.height)/2):(ao=Mn.left-Wn.left,H0=Mn.top-Wn.top),ao+=M0,H0+=mo;const Ws={anchorRect:Mn,containerRect:Wn,menuRect:Vn},Ru={placeLeftX:Eo,placeRightX:G0,placeLeftorRightY:H0,placeTopY:m0,placeBottomY:z0,placeToporBottomX:ao};switch(zr){case"left":case"right":return pm(Ws,Ru,O0);case"top":case"bottom":default:return vm(Ws,Ru,O0)}},[_r,$r,zr,Hn,Sn,pm,vm]),gm=(0,bt.useCallback)((Rn,jn)=>{const{menuRect:_i,containerRect:Vn,getLeftOverflow:Wn,getRightOverflow:O0,getTopOverflow:M0,getBottomOverflow:mo,confineHorizontally:Mn,confineVertically:Eo}=Rn;let G0,m0;G0=jn.x-Vn.left,m0=jn.y-Vn.top;const z0=O0(G0);if(z0>0){const Ws=G0-_i.width,Ru=Wn(Ws);(Ru>=0||-Ru0){const Ws=m0-_i.height,Ru=M0(Ws);(Ru>=0||-Ru{if(!pr.current)return;dn.current||(dn.current=$a?$a.current:Xu(un.current));const Rn=Am(),{menuRect:jn}=Rn;let _i={computedDirection:"bottom"};rr?_i=gm(Rn,rr):fr&&(_i=bm(Rn,fr));let{arrowX:Vn,arrowY:Wn,x:O0,y:M0,computedDirection:mo}=_i,Mn=jn.height;if(Qr!=="visible"){const{getTopOverflow:Eo,getBottomOverflow:G0}=Rn;let m0,z0;const ao=Hs.current.height,H0=G0(M0);if(H0>0||tu(H0,0)&&tu(Mn,ao))m0=Mn-H0,z0=H0;else{const Ws=Eo(M0);(Ws<0||tu(Ws,0)&&tu(Mn,ao))&&(m0=Mn+Ws,z0=0-Ws,m0>=0&&(M0-=Ws))}m0>=0?(Mn=m0,br({height:m0,overflowAmt:z0})):br()}_r&&tr({x:Vn,y:Wn}),Dt({x:O0,y:M0}),Rr(mo),Hs.current={width:jn.width,height:Mn}},[_r,rr,fr,pr,$a,un,dn,Qr,Am,bm,gm]);Ku(()=>{Gr&&(I4(),$s.current&&um()),O4.current=I4},[Gr,I4,km]),Ku(()=>{cr&&!im.current&&(g0.current.scrollTop=0)},[cr]),Ku(()=>{Br&&(Gr?xr(!1):Gr!==$s.current&&xr(!0)),$s.current=Gr},[Br,Gr]),(0,bt.useEffect)(()=>{if(!Gr)return;!Dn.current&&In&&In.current.tagName&&(Dn.current=Xu(In.current));const Rn=dn.current,jn=Rn&&Rn.addEventListener?Rn:window,_i=Dn.current||jn;let Vn=h0;if(_i!==jn&&Vn==="initial"&&(Vn="auto"),Vn==="initial")return;Vn==="auto"&&Qr!=="visible"&&(Vn="close");const Wn=()=>{Vn==="auto"?Tp(I4):xs(xa,{reason:qu.SCROLL})},O0=_i!==jn&&h0!=="initial"?[_i,jn]:[_i];return O0.forEach(M0=>M0.addEventListener("scroll",Wn)),()=>O0.forEach(M0=>M0.removeEventListener("scroll",Wn))},[In,Dn,dn,Gr,Qr,xa,h0,I4]),(0,bt.useEffect)(()=>{if(typeof ResizeObserver!="function"||Pn==="initial")return;const Rn=new ResizeObserver(([_i])=>{const{borderBoxSize:Vn,target:Wn}=_i;let O0,M0;if(Vn){const{inlineSize:mo,blockSize:Mn}=Vn[0]||Vn;O0=mo,M0=Mn}else{const mo=Wn.getBoundingClientRect();O0=mo.width,M0=mo.height}O0===0||M0===0||tu(O0,Hs.current.width,1)&&tu(M0,Hs.current.height,1)||Tp(()=>{O4.current(),um()})}),jn=g0.current;return Rn.observe(jn,{box:"border-box"}),()=>Rn.unobserve(jn)},[Pn]),(0,bt.useEffect)(()=>{Gr||(Iu({type:fo.RESET}),Br||br());const Rn=setTimeout(()=>{!Gr||!g0.current||g0.current.contains(document.activeElement)||(Zr&&g0.current.focus(),Tn.position===Cl.FIRST?Iu({type:fo.FIRST}):Tn.position===Cl.LAST&&Iu({type:fo.LAST}))},Br?170:100);return()=>clearTimeout(Rn)},[Br,Zr,Gr,Tn]);const mm=Em>0,Sm=(0,bt.useMemo)(()=>({isParentOpen:Gr,hoverIndex:fm,isSubmenuOpen:mm,dispatch:Iu}),[Gr,fm,mm]);let om,sm;cr&&(im.current?sm=cr.overflowAmt:om=cr.height);const Om=(0,bt.useMemo)(()=>({reposSubmenu:cm,overflow:Qr,overflowAmt:sm}),[cm,Qr,sm]),Im=om>=0?{maxHeight:om,overflow:Qr}:void 0,lm=(0,bt.useMemo)(()=>({open:Gr,closing:wr,animation:Br,dir:Br&&Fr}),[Gr,wr,Br,Fr]),ym=(0,bt.useMemo)(()=>Object.freeze(st(ot({},lm),{dir:Fr})),[lm,Fr]),wm=(0,bt.useMemo)(()=>Object.freeze({dir:Fr}),[Fr]),Rm=Zo({block:El,element:V8,modifiers:wm,className:Qt}),Mm=_l(Xt,wm),Bm=_u({onKeyDown:$m,onAnimationEnd:Tm},pt);return dt().createElement("ul",Object.assign({role:"menu",tabIndex:"-1","aria-disabled":wn||void 0,"aria-label":St},pt,Bm,{ref:g0,className:Zo({block:El,modifiers:lm,className:Pt,externalModifiers:ym}),style:st(ot(ot({},_l(Gt,ym)),Im),{left:`${$t.x}px`,top:`${$t.y}px`})}),_r&&dt().createElement("div",{className:Rm,style:st(ot({},Mm),{left:Zt.x&&`${Zt.x}px`,top:Zt.y&&`${Zt.y}px`}),ref:Lo}),dt().createElement(Qu.Provider,{value:Om},dt().createElement(_d.Provider,{value:Sm},Cm)))}),"MenuList");function Lp(yt,{type:kt}){switch(kt){case H1.OPEN:return yt+1;case H1.CLOSE:return Math.max(yt-1,0);default:return yt}}const Dp=(yt,{id:kt,animation:St,boundingBoxRef:Pt,boundingBoxPadding:Gt,debugging:Qt,reposition:Xt,submenuOpenDelay:rr,submenuCloseDelay:fr,viewScroll:pr,portal:_r,theming:$r,isMounted:zr,onItemClick:Xr,onClick:Qr,onClose:en,skipClick:Zr})=>{const Gr=(0,bt.useRef)(null),wn=(0,bt.useRef)(null),Tn=(0,bt.useRef)(null),{anchorRef:Hn,isOpen:Sn}=yt,qn=(0,bt.useMemo)(()=>({animation:St,boundingBoxRef:Pt,boundingBoxPadding:Gt,rootMenuRef:Gr,rootAnchorRef:Hn,scrollingRef:wn,anchorScrollingRef:Tn,reposition:Xt,viewScroll:pr}),[St,Hn,Pt,Gt,Xt,pr]),xa=(0,bt.useMemo)(()=>({debugging:Qt,submenuOpenDelay:rr,submenuCloseDelay:fr}),[Qt,rr,fr]),pt=(0,bt.useMemo)(()=>({handleClick(cr,br,wr){br||xs(Xr||Qr,cr);let xr=cr.keepOpen;xr===void 0&&(xr=wr&&cr.key===go.SPACE),xr||xs(en,{value:cr.value,key:cr.key,reason:qu.CLICK})},handleClose(cr){xs(en,{key:cr,reason:qu.CLICK})}}),[Xr,Qr,en]),$t=({key:cr})=>{switch(cr){case go.ESC:xs(en,{key:cr,reason:qu.CANCEL});break}},Dt=cr=>{Sn&&!cr.currentTarget.contains(cr.relatedTarget||document.activeElement)&&!Qt&&(xs(en,{reason:qu.BLUR}),Zr&&(Zr.current=!0,setTimeout(()=>Zr.current=!1,300)))},Zt=(0,bt.useMemo)(()=>({theme:$r}),[$r]),tr=dt().createElement("div",{id:kt,className:Zo({block:j8,modifiers:Zt}),ref:Gr,onKeyDown:$t,onBlur:Dt},zr&&dt().createElement(Eu.Provider,{value:qn},dt().createElement(G1.Provider,{value:xa},dt().createElement(_h.Provider,{value:pt},dt().createElement(n4,Object.assign({},yt,{containerRef:Gr,onClose:en}))))));return _r?Wo().createPortal(tr,document.body):tr},i4=dt().memo(function(yt){var kt=yt,{"aria-label":St,id:Pt,animation:Gt,boundingBoxRef:Qt,boundingBoxPadding:Xt,captureFocus:rr,debugging:fr,reposition:pr,viewScroll:_r,keepMounted:$r,menuButton:zr,portal:Xr,submenuOpenDelay:Qr,submenuCloseDelay:en,theming:Zr,onItemClick:Gr,onClick:wn,onChange:Tn}=kt,Hn=lt(kt,["aria-label","id","animation","boundingBoxRef","boundingBoxPadding","captureFocus","debugging","reposition","viewScroll","keepMounted","menuButton","portal","submenuOpenDelay","submenuCloseDelay","theming","onItemClick","onClick","onChange"]);const{isMounted:Sn,isOpen:qn,menuItemFocus:xa,openMenu:pt,closeMenu:$t}=r4($r),Dt=(0,bt.useRef)(!1),Zt=(0,bt.useRef)(null),tr=(0,bt.useMemo)(()=>xs(zr,{open:qn}),[zr,qn]);if(!tr)throw new Error("Menu requires a menuButton prop.");const cr=(0,bt.useCallback)(Rr=>{$t(),Rr.key&&Zt.current.focus()},[$t]),br=(0,bt.useCallback)(Rr=>{Dt.current||pt(Rr.detail===0?Cl.FIRST:Cl.INITIAL)},[pt]),wr=(0,bt.useCallback)(Rr=>{let Br=!1;switch(Rr.key){case go.UP:pt(Cl.LAST),Br=!0;break;case go.DOWN:pt(Cl.FIRST),Br=!0;break}Br&&Rr.preventDefault()},[pt]),xr=(0,bt.useMemo)(()=>{const Rr=ot({ref:Zt},_u({onClick:br,onKeyDown:wr},tr.props));return W1(tr.type)==="MenuButton"&&(Rr.isOpen=qn),dt().cloneElement(tr,Rr)},[tr,qn,br,wr]),Fr=Dp(st(ot({},Hn),{ariaLabel:St||(typeof tr.props.children=="string"?tr.props.children:"Menu"),anchorRef:Zt,isOpen:qn,menuItemFocus:xa}),{id:Pt,animation:Gt,boundingBoxRef:Qt,boundingBoxPadding:Xt,debugging:fr,reposition:pr,submenuOpenDelay:Qr,submenuCloseDelay:en,viewScroll:_r,portal:Xr,theming:Zr,isMounted:Sn,onItemClick:Gr,onClick:wn,onClose:cr,skipClick:Dt});return Pp(Tn,qn),dt().createElement(dt().Fragment,null,xr,Fr)});i4.propTypes=st(ot({},Op),{keepMounted:Ur().bool,menuButton:Ur().oneOfType([Ur().element,Ur().func]).isRequired,onChange:Ur().func}),i4.defaultProps=st(ot({},Rp),{keepMounted:!0});const o4=dt().memo(function(yt){var kt=yt,{"aria-label":St,id:Pt,animation:Gt,boundingBoxRef:Qt,boundingBoxPadding:Xt,debugging:rr,reposition:fr,submenuOpenDelay:pr,submenuCloseDelay:_r,viewScroll:$r,portal:zr,theming:Xr,isMounted:Qr,onItemClick:en,onClick:Zr,onClose:Gr}=kt,wn=lt(kt,["aria-label","id","animation","boundingBoxRef","boundingBoxPadding","debugging","reposition","submenuOpenDelay","submenuCloseDelay","viewScroll","portal","theming","isMounted","onItemClick","onClick","onClose"]);return Dp(st(ot({},wn),{ariaLabel:St||"Menu"}),{id:Pt,animation:Gt,boundingBoxRef:Qt,boundingBoxPadding:Xt,debugging:rr,reposition:fr,submenuOpenDelay:pr,submenuCloseDelay:_r,viewScroll:$r,portal:zr,theming:Xr,isMounted:Qr,onItemClick:en,onClick:Zr,onClose:Gr})});o4.propTypes=st(ot({},Op),{anchorPoint:Ur().exact({x:Ur().number,y:Ur().number}),anchorRef:Ur().object,captureFocus:Ur().bool,isOpen:Ur().bool,isMounted:Ur().bool,menuItemFocus:Ur().exact({position:Ur().string}),onClose:Ur().func}),o4.defaultProps=st(ot({},Rp),{captureFocus:!0,isOpen:!1,isMounted:!0,menuItemFocus:{position:Cl.INITIAL}});const s4=Ul(dt().memo(function(yt){var kt=yt,{"aria-label":St,itemClassName:Pt,itemStyles:Gt,disabled:Qt,keepMounted:Xt,label:rr,index:fr,onChange:pr,captureFocus:_r,repositionFlag:$r}=kt,zr=lt(kt,["aria-label","itemClassName","itemStyles","disabled","keepMounted","label","index","onChange","captureFocus","repositionFlag"]);const{isMounted:Xr,isOpen:Qr,menuItemFocus:en,openMenu:Zr,closeMenu:Gr}=r4(Xt),{isParentOpen:wn,hoverIndex:Tn,isSubmenuOpen:Hn,dispatch:Sn}=(0,bt.useContext)(_d),{debugging:qn,submenuOpenDelay:xa,submenuCloseDelay:pt}=(0,bt.useContext)(G1),$t=Tn===fr,Dt=!!Qt,Zt=Mp($t,Dt,go.RIGHT),{isActive:tr,onKeyUp:cr}=Zt,br=lt(Zt,["isActive","onKeyUp"]),wr=(0,bt.useRef)(null),xr=(0,bt.useRef)(null),Fr=(0,bt.useRef)(),Rr=(0,bt.useCallback)(()=>{Gr(),xr.current.focus()},[Gr]),Br=h0=>{Sn({type:fo.SET,index:fr}),Fr.current=setTimeout(Zr,Math.max(h0,0))},$a=()=>{Dt||Qr||(Hn?Fr.current=setTimeout(()=>Br(xa-pt),pt):Br(xa))},sn=()=>{clearTimeout(Fr.current),Qr||Sn({type:fo.UNSET,index:fr})},un=()=>{Dt||(clearTimeout(Fr.current),Zr())},In=h0=>{let g0=!1;switch(h0.key){case go.LEFT:Qr&&(Rr(),g0=!0);break;case go.RIGHT:Qr||(g0=!0);break}g0&&(h0.preventDefault(),h0.stopPropagation())},dn=h0=>{if(tr)switch(cr(h0),h0.key){case go.SPACE:case go.ENTER:case go.RIGHT:Zr(Cl.FIRST);break}},Dn=h0=>{if(qn)return;const g0=h0.relatedTarget||document.activeElement;h0.currentTarget.contains(g0)||(Gr(),Sn({type:fo.UNSET,index:fr}))};(0,bt.useEffect)(()=>()=>clearTimeout(Fr.current),[]),(0,bt.useEffect)(()=>{$t&&wn?xr.current.focus():Gr()},[$t,wn,Gr]),(0,bt.useEffect)(()=>{Sn({type:Qr?H1.OPEN:H1.CLOSE})},[Sn,Qr]),Pp(pr,Qr);const Pn=(0,bt.useMemo)(()=>Object.freeze({open:Qr,hover:$t,active:tr,disabled:Dt}),[Qr,$t,tr,Dt]);return dt().createElement("li",{className:Zo({block:El,element:b2}),role:"presentation",ref:wr,onKeyDown:In,onBlur:Dn},dt().createElement("div",Object.assign({className:Zo({block:El,element:V1,modifiers:Pn,className:Pt}),style:_l(Gt,Pn),role:"menuitem","aria-haspopup":"true","aria-expanded":Qr,"aria-disabled":Dt||void 0,tabIndex:$t&&!Qr?0:-1,ref:xr,onMouseEnter:$a,onMouseLeave:sn,onMouseDown:()=>!$t&&Sn({type:fo.SET,index:fr}),onClick:un,onKeyUp:dn},br),(0,bt.useMemo)(()=>xs(rr,Pn),[rr,Pn])),Xr&&dt().createElement(n4,Object.assign({},zr,{ariaLabel:St||(typeof rr=="string"?rr:"Submenu"),anchorRef:xr,containerRef:wr,isOpen:Qr,isDisabled:Dt,menuItemFocus:en})))}),"SubMenu");s4.propTypes=st(ot(ot({},t4),Ql("item")),{disabled:Ur().bool,keepMounted:Ur().bool,label:Ur().oneOfType([Ur().node,Ur().func]).isRequired,onChange:Ur().func}),s4.defaultProps=st(ot({},Ip),{direction:"right",keepMounted:!0});const Cu=Ul(dt().memo(function(yt){var kt=yt,{className:St,styles:Pt,value:Gt,href:Qt,type:Xt,checked:rr,disabled:fr,index:pr,children:_r,onClick:$r}=kt,zr=lt(kt,["className","styles","value","href","type","checked","disabled","index","children","onClick"]);const Xr=!!fr,{ref:Qr,isHovering:en,setHover:Zr,onBlur:Gr,onMouseEnter:wn,onMouseLeave:Tn}=Bp(Xr,pr),Hn=(0,bt.useContext)(_h),Sn=(0,bt.useContext)($p),qn=Mp(en,Xr),{isActive:xa,onKeyUp:pt,onBlur:$t}=qn,Dt=lt(qn,["isActive","onKeyUp","onBlur"]),Zt=Xt==="radio",tr=Xt==="checkbox",cr=!!Qt&&!Xr&&!Zt&&!tr,br=Zt?Sn.value===Gt:tr?!!rr:!1,wr=un=>{if(Xr)return;let In=!1;const dn={value:Gt,syntheticEvent:un};un.key!==void 0&&(dn.key=un.key),Zt&&(dn.name=Sn.name,xs(Sn.onChange,dn)),dn.checked=tr?!br:!1,In=xs($r,dn)===!1,Hn.handleClick(dn,In,tr||Zt)},xr=un=>{if(xa)switch(pt(un),un.key){case go.SPACE:case go.ENTER:cr?Qr.current.click():wr(un);break}},Fr=un=>{$t(un),Gr(un)},Rr=(0,bt.useMemo)(()=>Object.freeze({type:Xt,disabled:Xr,hover:en,active:xa,checked:br,anchor:cr}),[Xt,Xr,en,xa,br,cr]),Br=_u(st(ot({},Dt),{onMouseEnter:wn,onMouseLeave:Tn,onMouseDown:Zr,onKeyUp:xr,onBlur:Fr,onClick:wr}),zr),$a=st(ot(ot({role:Zt?"menuitemradio":tr?"menuitemcheckbox":"menuitem","aria-checked":Zt||tr?br:void 0,"aria-disabled":Xr||void 0,tabIndex:en?0:-1},zr),Br),{ref:Qr,className:Zo({block:El,element:V1,modifiers:Rr,className:St}),style:_l(Pt,Rr)}),sn=(0,bt.useMemo)(()=>xs(_r,Rr),[_r,Rr]);return cr?dt().createElement("li",{role:"presentation"},dt().createElement("a",Object.assign({},$a,{href:Qt}),sn)):dt().createElement("li",$a,sn)}),"MenuItem");Cu.propTypes=st(ot({},Ql()),{value:Ur().any,href:Ur().string,type:Ur().oneOf(["checkbox","radio"]),checked:Ur().bool,disabled:Ur().bool,children:Ur().oneOfType([Ur().node,Ur().func]).isRequired,onClick:Ur().func});const Z8=Ul(dt().memo(function(yt){var kt=yt,{className:St,styles:Pt,disabled:Gt,index:Qt,children:Xt}=kt,rr=lt(kt,["className","styles","disabled","index","children"]);const fr=!!Gt,{ref:pr,isHovering:_r,setHover:$r,onBlur:zr,onMouseEnter:Xr,onMouseLeave:Qr}=Bp(fr,Qt),{handleClose:en}=(0,bt.useContext)(_h),Zr=(0,bt.useMemo)(()=>Object.freeze({disabled:fr,hover:_r,focusable:!0}),[fr,_r]),Gr=(0,bt.useMemo)(()=>xs(Xt,st(ot({},Zr),{ref:pr,closeMenu:en})),[pr,Xt,Zr,en]),wn=_u({onMouseEnter:Xr,onMouseLeave:Tn=>Qr(Tn,!0),onFocus:$r,onBlur:zr},rr);return dt().createElement("li",Object.assign({"aria-disabled":fr||void 0,role:"menuitem",tabIndex:"-1"},rr,wn,{className:Zo({block:El,element:V1,modifiers:Zr,className:St}),style:_l(Pt,Zr)}),Gr)}),"FocusableItem");Z8.propTypes=st(ot({},Ql()),{disabled:Ur().bool,children:Ur().func.isRequired});const Y8=Ul(dt().memo(function(yt){var kt=yt,{className:St,styles:Pt}=kt,Gt=lt(kt,["className","styles"]);return dt().createElement("li",Object.assign({role:"separator"},Gt,{className:Zo({block:El,element:G8,className:St}),style:_l(Pt)}))}),"MenuDivider");Y8.propTypes=ot({},Ql());const Fp=Ul(dt().memo(function(yt){var kt=yt,{className:St,styles:Pt}=kt,Gt=lt(kt,["className","styles"]);return dt().createElement("li",Object.assign({role:"presentation"},Gt,{className:Zo({block:El,element:H8,className:St}),style:_l(Pt)}))}),"MenuHeader");Fp.propTypes=ot({},Ql());const U8=Ul(dt().memo(function(yt){var kt=yt,{className:St,styles:Pt,takeOverflow:Gt}=kt,Qt=lt(kt,["className","styles","takeOverflow"]);const Xt=(0,bt.useRef)(null),[rr,fr]=(0,bt.useState)(),{overflow:pr,overflowAmt:_r}=(0,bt.useContext)(Qu);return Ku(()=>{let $r;Gt&&_r>=0&&($r=Xt.current.getBoundingClientRect().height-_r,$r<0&&($r=0)),fr($r>=0?{maxHeight:$r,overflow:pr}:void 0)},[Gt,pr,_r]),Ku(()=>{rr&&(Xt.current.scrollTop=0)},[rr]),dt().createElement("div",Object.assign({ref:Xt},Qt,{className:Zo({block:El,element:W8,className:St}),style:ot(ot({},_l(Pt)),rr)}))}),"MenuGroup");U8.propTypes=st(ot({},Ql()),{takeOverflow:Ur().bool});const Q8=Ul(dt().memo(function(yt){var kt=yt,{"aria-label":St,className:Pt,styles:Gt,name:Qt,value:Xt,children:rr,onChange:fr}=kt,pr=lt(kt,["aria-label","className","styles","name","value","children","onChange"]);const _r=(0,bt.useMemo)(()=>({name:Qt,value:Xt,onChange:fr}),[Qt,Xt,fr]);return dt().createElement("li",{role:"presentation"},dt().createElement("ul",Object.assign({role:"group","aria-label":St||Qt||"Radio group"},pr,{className:Zo({block:El,element:ss,className:Pt}),style:_l(Gt)}),dt().createElement($p.Provider,{value:_r},rr)))}),"MenuRadioGroup");Q8.propTypes=st(ot({},Ql()),{"aria-label":Ur().string,name:Ur().string,value:Ur().any,children:Ur().node.isRequired,onChange:Ur().func});var $o=[],q8=function(){return $o.some(function(yt){return yt.activeTargets.length>0})},J8=function(){return $o.some(function(yt){return yt.skippedTargets.length>0})},Np="ResizeObserver loop completed with undelivered notifications.",zp=function(){var yt;typeof ErrorEvent=="function"?yt=new ErrorEvent("error",{message:Np}):(yt=document.createEvent("Event"),yt.initEvent("error",!1,!1),yt.message=Np),window.dispatchEvent(yt)},_f;(function(yt){yt.BORDER_BOX="border-box",yt.CONTENT_BOX="content-box",yt.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(_f||(_f={}));var ru=function(yt){return Object.freeze(yt)},X8=function(){function yt(kt,St){this.inlineSize=kt,this.blockSize=St,ru(this)}return yt}(),jp=function(){function yt(kt,St,Pt,Gt){return this.x=kt,this.y=St,this.width=Pt,this.height=Gt,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ru(this)}return yt.prototype.toJSON=function(){var kt=this,St=kt.x,Pt=kt.y,Gt=kt.top,Qt=kt.right,Xt=kt.bottom,rr=kt.left,fr=kt.width,pr=kt.height;return{x:St,y:Pt,top:Gt,right:Qt,bottom:Xt,left:rr,width:fr,height:pr}},yt.fromRect=function(kt){return new yt(kt.x,kt.y,kt.width,kt.height)},yt}(),e1=function(yt){return yt instanceof SVGElement&&"getBBox"in yt},Vp=function(yt){if(e1(yt)){var kt=yt.getBBox(),St=kt.width,Pt=kt.height;return!St&&!Pt}var Gt=yt,Qt=Gt.offsetWidth,Xt=Gt.offsetHeight;return!(Qt||Xt||yt.getClientRects().length)},Gp=function(yt){var kt,St;if(yt instanceof Element)return!0;var Pt=(St=(kt=yt)===null||kt===void 0?void 0:kt.ownerDocument)===null||St===void 0?void 0:St.defaultView;return!!(Pt&&yt instanceof Pt.Element)},K8=function(yt){switch(yt.tagName){case"INPUT":if(yt.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},r1=typeof window<"u"?window:{},U1=new WeakMap,Hp=/auto|scroll/,ev=/^tb|vertical/,tv=/msie|trident/i.test(r1.navigator&&r1.navigator.userAgent),Jl=function(yt){return parseFloat(yt||"0")},$u=function(yt,kt,St){return yt===void 0&&(yt=0),kt===void 0&&(kt=0),St===void 0&&(St=!1),new X8((St?kt:yt)||0,(St?yt:kt)||0)},Wp=ru({devicePixelContentBoxSize:$u(),borderBoxSize:$u(),contentBoxSize:$u(),contentRect:new jp(0,0,0,0)}),Zp=function(yt,kt){if(kt===void 0&&(kt=!1),U1.has(yt)&&!kt)return U1.get(yt);if(Vp(yt))return U1.set(yt,Wp),Wp;var St=getComputedStyle(yt),Pt=e1(yt)&&yt.ownerSVGElement&&yt.getBBox(),Gt=!tv&&St.boxSizing==="border-box",Qt=ev.test(St.writingMode||""),Xt=!Pt&&Hp.test(St.overflowY||""),rr=!Pt&&Hp.test(St.overflowX||""),fr=Pt?0:Jl(St.paddingTop),pr=Pt?0:Jl(St.paddingRight),_r=Pt?0:Jl(St.paddingBottom),$r=Pt?0:Jl(St.paddingLeft),zr=Pt?0:Jl(St.borderTopWidth),Xr=Pt?0:Jl(St.borderRightWidth),Qr=Pt?0:Jl(St.borderBottomWidth),en=Pt?0:Jl(St.borderLeftWidth),Zr=$r+pr,Gr=fr+_r,wn=en+Xr,Tn=zr+Qr,Hn=rr?yt.offsetHeight-Tn-yt.clientHeight:0,Sn=Xt?yt.offsetWidth-wn-yt.clientWidth:0,qn=Gt?Zr+wn:0,xa=Gt?Gr+Tn:0,pt=Pt?Pt.width:Jl(St.width)-qn-Sn,$t=Pt?Pt.height:Jl(St.height)-xa-Hn,Dt=pt+Zr+Sn+wn,Zt=$t+Gr+Hn+Tn,tr=ru({devicePixelContentBoxSize:$u(Math.round(pt*devicePixelRatio),Math.round($t*devicePixelRatio),Qt),borderBoxSize:$u(Dt,Zt,Qt),contentBoxSize:$u(pt,$t,Qt),contentRect:new jp($r,fr,pt,$t)});return U1.set(yt,tr),tr},Yp=function(yt,kt,St){var Pt=Zp(yt,St),Gt=Pt.borderBoxSize,Qt=Pt.contentBoxSize,Xt=Pt.devicePixelContentBoxSize;switch(kt){case _f.DEVICE_PIXEL_CONTENT_BOX:return Xt;case _f.BORDER_BOX:return Gt;default:return Qt}},rv=function(){function yt(kt){var St=Zp(kt);this.target=kt,this.contentRect=St.contentRect,this.borderBoxSize=ru([St.borderBoxSize]),this.contentBoxSize=ru([St.contentBoxSize]),this.devicePixelContentBoxSize=ru([St.devicePixelContentBoxSize])}return yt}(),Up=function(yt){if(Vp(yt))return 1/0;for(var kt=0,St=yt.parentNode;St;)kt+=1,St=St.parentNode;return kt},av=function(){var yt=1/0,kt=[];$o.forEach(function(Qt){if(Qt.activeTargets.length!==0){var Xt=[];Qt.activeTargets.forEach(function(rr){var fr=new rv(rr.target),pr=Up(rr.target);Xt.push(fr),rr.lastReportedSize=Yp(rr.target,rr.observedBox),pryt?kt.activeTargets.push(St):kt.skippedTargets.push(St))})})},nv=function(){var yt=0;for(Qp(yt);q8();)yt=av(),Qp(yt);return J8()&&zp(),yt>0},l4,qp=[],c4=function(){return qp.splice(0).forEach(function(yt){return yt()})},Jp=function(yt){if(!l4){var kt=0,St=document.createTextNode(""),Pt={characterData:!0};new MutationObserver(function(){return c4()}).observe(St,Pt),l4=function(){St.textContent=""+(kt?kt--:kt++)}}qp.push(yt),l4()},iv=function(yt){Jp(function(){requestAnimationFrame(yt)})},Q1=0,ov=function(){return!!Q1},sv=250,lv={attributes:!0,characterData:!0,childList:!0,subtree:!0},Xp=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Kp=function(yt){return yt===void 0&&(yt=0),Date.now()+yt},u4=!1,e3=function(){function yt(){var kt=this;this.stopped=!0,this.listener=function(){return kt.schedule()}}return yt.prototype.run=function(kt){var St=this;if(kt===void 0&&(kt=sv),!u4){u4=!0;var Pt=Kp(kt);iv(function(){var Gt=!1;try{Gt=nv()}finally{if(u4=!1,kt=Pt-Kp(),!ov())return;Gt?St.run(1e3):kt>0?St.run(kt):St.start()}})}},yt.prototype.schedule=function(){this.stop(),this.run()},yt.prototype.observe=function(){var kt=this,St=function(){return kt.observer&&kt.observer.observe(document.body,lv)};document.body?St():r1.addEventListener("DOMContentLoaded",St)},yt.prototype.start=function(){var kt=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Xp.forEach(function(St){return r1.addEventListener(St,kt.listener,!0)}))},yt.prototype.stop=function(){var kt=this;this.stopped||(this.observer&&this.observer.disconnect(),Xp.forEach(function(St){return r1.removeEventListener(St,kt.listener,!0)}),this.stopped=!0)},yt}(),f4=new e3,a1=function(yt){!Q1&&yt>0&&f4.start(),Q1+=yt,!Q1&&f4.stop()},cv=function(yt){return!e1(yt)&&!K8(yt)&&getComputedStyle(yt).display==="inline"},uv=function(){function yt(kt,St){this.target=kt,this.observedBox=St||_f.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return yt.prototype.isActive=function(){var kt=Yp(this.target,this.observedBox,!0);return cv(this.target)&&(this.lastReportedSize=kt),this.lastReportedSize.inlineSize!==kt.inlineSize||this.lastReportedSize.blockSize!==kt.blockSize},yt}(),fv=function(){function yt(kt,St){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=kt,this.callback=St}return yt}(),q1=new WeakMap,r3=function(yt,kt){for(var St=0;St=0&&(Qt&&$o.splice($o.indexOf(Pt),1),Pt.observationTargets.splice(Gt,1),a1(-1))},yt.disconnect=function(kt){var St=this,Pt=q1.get(kt);Pt.observationTargets.slice().forEach(function(Gt){return St.unobserve(kt,Gt.target)}),Pt.activeTargets.splice(0,Pt.activeTargets.length)},yt}(),Av=function(){function yt(kt){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof kt!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");J1.connect(this,kt)}return yt.prototype.observe=function(kt,St){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Gp(kt))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");J1.observe(this,kt,St)},yt.prototype.unobserve=function(kt){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Gp(kt))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");J1.unobserve(this,kt)},yt.prototype.disconnect=function(){J1.disconnect(this)},yt.toString=function(){return"function ResizeObserver () { [polyfill code] }"},yt}();const dv=dt()[typeof document<"u"&&document.createElement!==void 0?"useLayoutEffect":"useEffect"],hv=yt=>{const kt=bt.useRef(yt);return bt.useEffect(()=>{kt.current=yt}),kt};var pv=function(yt){var kt=[],St=null,Pt=function(){for(var Gt=arguments.length,Qt=new Array(Gt),Xt=0;Xt{let Gt=!1;const Qt=yt&&"current"in yt?yt.current:yt;if(!Qt)return gv;function Xt(rr,fr){Gt||Pt.current(rr,fr)}return St.subscribe(Qt,Xt),()=>{Gt=!0,St.unsubscribe(Qt,Xt)}},[yt,St,Pt]),St.observer}function yv(){const yt=new Map,kt=new bv(vv((St,Pt)=>{for(let Gt=0;GtXt(St[Gt],Pt))}}));return{observer:kt,subscribe(St,Pt){var Gt;kt.observe(St);const Qt=(Gt=yt.get(St))!==null&&Gt!==void 0?Gt:[];Qt.push(Pt),yt.set(St,Qt)},unsubscribe(St,Pt){var Gt;const Qt=(Gt=yt.get(St))!==null&&Gt!==void 0?Gt:[];if(Qt.length===1){kt.unobserve(St),yt.delete(St);return}const Xt=Qt.indexOf(Pt);Xt!==-1&&Qt.splice(Xt,1),yt.set(St,Qt)}}}let a3;const n3=()=>a3||(a3=yv()),K1=mv;var wv=ht(594),kv=ht.n(wv);const Ev={canvas:"OblL49alHyHyc9eQg8j4nA=="},_v={highlight:"rnaOpSl6-Al2+GT07ZkG5Q=="};var eA=Object.defineProperty,xv=Object.defineProperties,Cv=Object.getOwnPropertyDescriptors,i3=Object.getOwnPropertySymbols,$v=Object.prototype.hasOwnProperty,Tv=Object.prototype.propertyIsEnumerable,o3=(yt,kt,St)=>kt in yt?eA(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,s3=(yt,kt)=>{for(var St in kt||(kt={}))$v.call(kt,St)&&o3(yt,St,kt[St]);if(i3)for(var St of i3(kt))Tv.call(kt,St)&&o3(yt,St,kt[St]);return yt},Sv=(yt,kt)=>xv(yt,Cv(kt));function Ov(yt){const{canvasRef:kt,barHeight:St,xyToHighlightData:Pt,zoom:Gt}=yt,[Qt,Xt]=dt().useState({height:"0px",visibility:"hidden"});dt().useEffect(()=>{Xt({height:"0px",visibility:"hidden"})},[Gt]);const rr=pr=>{const _r=Pt(pr.offsetX,pr.offsetY);if(_r.isJust){const $r=_r.value;Xt(s3({visibility:"visible",height:`${St}px`},$r))}else fr()},fr=()=>{Xt(Sv(s3({},Qt),{visibility:"hidden"}))};return dt().useEffect(()=>{const pr=kt.current;return pr?(pr.addEventListener("mousemove",rr),pr.addEventListener("mouseout",fr),()=>{pr.removeEventListener("mousemove",rr),pr.removeEventListener("mouseout",fr)}):()=>{}},[kt.current,rr,fr]),dt().createElement("div",{className:_v.highlight,style:Qt,"data-testid":"flamegraph-highlight"})}const Iv={highlightContextMenu:"_2aEs2ORKQVtdd+CAuIWrcA=="};var Rv=Object.defineProperty,n1=Object.getOwnPropertySymbols,Mv=Object.prototype.hasOwnProperty,l3=Object.prototype.propertyIsEnumerable,A4=(yt,kt,St)=>kt in yt?Rv(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,d4=(yt,kt)=>{for(var St in kt||(kt={}))Mv.call(kt,St)&&A4(yt,St,kt[St]);if(n1)for(var St of n1(kt))l3.call(kt,St)&&A4(yt,St,kt[St]);return yt};const h4={height:"0px",visibility:"hidden"};function c3(yt){const{node:kt,barHeight:St}=yt,[Pt,Gt]=dt().useState(h4);return dt().useEffect(()=>{kt.match({Nothing:()=>Gt(h4),Just:Qt=>Gt(d4({visibility:"visible",height:`${St}px`},Qt))})},[kt]),dt().createElement("div",{className:Iv.highlightContextMenu,style:Pt,"data-testid":"flamegraph-highlight-contextmenu"})}var u3=Object.defineProperty,f3=Object.defineProperties,Bv=Object.getOwnPropertyDescriptors,A3=Object.getOwnPropertySymbols,Pv=Object.prototype.hasOwnProperty,tA=Object.prototype.propertyIsEnumerable,i1=(yt,kt,St)=>kt in yt?u3(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,Lv=(yt,kt)=>{for(var St in kt||(kt={}))Pv.call(kt,St)&&i1(yt,St,kt[St]);if(A3)for(var St of A3(kt))tA.call(kt,St)&&i1(yt,St,kt[St]);return yt},Dv=(yt,kt)=>f3(yt,Bv(kt));const R2={name:"Default",goodColor:bn().rgb(0,170,0),neutralColor:bn().rgb(148,142,142),badColor:bn().rgb(200,0,0),colors:[bn().hsl(24,69,60),bn().hsl(34,65,65),bn().hsl(194,52,61),bn().hsl(163,45,55),bn().hsl(211,48,60),bn().hsl(246,40,65),bn().hsl(305,63,79),bn().hsl(47,100,73),bn().rgb(183,219,171),bn().rgb(244,213,152),bn().rgb(78,146,249),bn().rgb(249,186,143),bn().rgb(242,145,145),bn().rgb(130,181,216),bn().rgb(229,168,226),bn().rgb(174,162,224),bn().rgb(154,196,138),bn().rgb(242,201,109),bn().rgb(101,197,219),bn().rgb(249,147,78),bn().rgb(234,100,96),bn().rgb(81,149,206),bn().rgb(214,131,206),bn().rgb(128,110,183)]},d3=Dv(Lv({},R2),{name:"Color Blind",goodColor:bn().rgb(26,133,255),neutralColor:bn().rgb(148,142,142),badColor:bn().rgb(220,50,32)});function Fv(){return dt().createElement("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 30 30"},dt().createElement("defs",null),dt().createElement("path",{style:{fill:"#7d7d7f"},d:"M5,19.56c0,5.22,3.54,9.44,7.92,9.44h3.17c4.37,0,7.92-4.23,7.92-9.44v-7.56H5v7.56Z"}),dt().createElement("path",{style:{fill:"#7d7d7f"},d:"M14,1h-.82c-4.52,0-8.18,3.73-8.18,8.33v1.67H14V1Z"}),dt().createElement("path",{d:"M15.82,1h-.82V11h9v-1.67c0-4.6-3.66-8.33-8.18-8.33Z"}))}function Nv(){return dt().createElement("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 30 30"},dt().createElement("defs",null),dt().createElement("path",{style:{fill:"#7d7d7f"},d:"M24,19.56c0,5.22-3.54,9.44-7.92,9.44h-3.17c-4.37,0-7.92-4.23-7.92-9.44v-7.56H24v7.56Z"}),dt().createElement("path",{style:{fill:"#7d7d7f"},d:"M15,1h.82c4.52,0,8.18,3.73,8.18,8.33v1.67H15V1Z"}),dt().createElement("path",{d:"M13.18,1h.82V11H5v-1.67c0-4.6,3.66-8.33,8.18-8.33Z"}))}const au={tooltip:"EitWfLJlRhB605WKBhJqJA==",flamegraphDiffTooltip:"JDNfewH9FpPntx5Wu1nQjw==",tooltipName:"OYP-AU7HdIz-U3S15iaSMQ==",functionName:"wx9q4ZorgH1vtYtZv7yIAg==",tooltipTable:"+0L0FytvTTAXpH3pPg1wZw==",clickInfo:"_8y0K87bqdGd-mxDZz+YoPg=="};function h3({shouldShowFooter:yt=!0,shouldShowTitle:kt=!0,dataSourceRef:St,clickInfoSide:Pt,setTooltipContent:Gt}){const Qt=(0,bt.useRef)(null),[Xt,rr]=dt().useState({title:{text:"",diff:{text:"",color:""}},tooltipData:[]}),[fr,pr]=(0,bt.useState)(),_r=()=>{pr({visibility:"hidden"}),rr({title:{text:"",diff:{text:"",color:""}},tooltipData:[]})},$r=(0,bt.useCallback)(zr=>{if(!Qt||!Qt.current)throw new Error("Missing tooltipElement");const Xr=Math.min(zr.clientX+12,window.innerWidth-Qt.current.clientWidth-20),Qr={top:zr.clientY+20,left:Xr,visibility:"visible"};Gt(rr,_r,zr),pr(Qr)},[Qt,Gt]);return(0,bt.useEffect)(()=>{const zr=St.current;return zr?(zr.addEventListener("mousemove",$r),zr.addEventListener("mouseout",_r),()=>{zr.removeEventListener("mousemove",$r),zr.removeEventListener("mouseout",_r)}):()=>{}},[St.current,$r]),dt().createElement("div",{"data-testid":"tooltip",className:Wl(au.tooltip,{[au.flamegraphDiffTooltip]:Xt.tooltipData.length>1}),style:fr,ref:Qt},Xt.tooltipData.length>0&&dt().createElement(dt().Fragment,null,kt&&dt().createElement("div",{className:au.tooltipName,"data-testid":"tooltip-title"},Xt.title.text),dt().createElement("div",{className:au.functionName,"data-testid":"tooltip-function-name"},Xt.title.text),Xt.title.diff.text.length>0?dt().createElement(p3,{data:Xt.tooltipData,diff:Xt.title.diff}):dt().createElement(p3,{data:Xt.tooltipData}),yt&&dt().createElement(zv,{clickInfoSide:Pt})))}const o1={objects:{percent:"% of objects in RAM",formattedValue:"Objects in RAM",total:"% of total RAM"},goroutines:{percent:"% of goroutines",formattedValue:"Goroutines",total:"% of total goroutines"},bytes:{percent:"% of RAM",formattedValue:"RAM",total:"% of total bytes"},samples:{percent:"Share of CPU",formattedValue:"CPU Time",total:"% of total CPU"},lock_nanoseconds:{percent:"% of Time spent",formattedValue:"Time",total:"% of total seconds"},lock_samples:{percent:"% of contended locks",formattedValue:"Contended locks",total:"% of total locks"},trace_samples:{percent:"% of time",formattedValue:"Samples",total:"% of total samples"},"":{percent:"Percentage",formattedValue:"Units",total:"% of total units"}};function p3({data:yt,diff:kt}){const[St,Pt]=yt;if(!St)return null;let Gt;switch(St.tooltipType){case"flamegraph":Gt=()=>dt().createElement(dt().Fragment,null,Pt&&dt().createElement("thead",null,dt().createElement("tr",null,dt().createElement("th",null),dt().createElement("th",null,"Baseline"),dt().createElement("th",null,"Comparison"),dt().createElement("th",null,"Diff"))),dt().createElement("tbody",null,dt().createElement("tr",null,dt().createElement("td",null,o1[St.units].percent,":"),dt().createElement("td",null,St.percent),Pt&&dt().createElement(dt().Fragment,null,dt().createElement("td",null,Pt.percent),dt().createElement("td",null,kt&&dt().createElement("span",{"data-testid":"tooltip-diff",style:{color:kt.color}},kt.text)))),dt().createElement("tr",null,dt().createElement("td",null,o1[St.units].formattedValue,":"),dt().createElement("td",null,St.formattedValue),Pt&&dt().createElement(dt().Fragment,null,dt().createElement("td",null,Pt.formattedValue),dt().createElement("td",null))),dt().createElement("tr",null,dt().createElement("td",null,"Samples:"),dt().createElement("td",null,St.samples),Pt&&dt().createElement(dt().Fragment,null,dt().createElement("td",null,Pt.samples),dt().createElement("td",null)))));break;case"table":Gt=()=>dt().createElement(dt().Fragment,null,dt().createElement("thead",null,dt().createElement("tr",null,dt().createElement("td",null),dt().createElement("td",null,"Self (",o1[St.units].total,")"),dt().createElement("td",null,"Total (",o1[St.units].total,")"))),dt().createElement("tbody",null,dt().createElement("tr",null,dt().createElement("td",null,o1[St.units].formattedValue,":"),dt().createElement("td",null,St.self),dt().createElement("td",null,St.total))));break;default:Gt=()=>null}return dt().createElement("table",{"data-testid":"tooltip-table",className:Wl(au.tooltipTable,{[au[`${St.tooltipType}${Pt?"Diff":""}`]]:St.tooltipType})},Gt())}function zv({clickInfoSide:yt}){let kt;switch(yt){case"right":kt=dt().createElement(dt().Fragment,null,dt().createElement(Fv,null),dt().createElement("span",null,"Right click for more node viewing options"));break;case"left":kt=dt().createElement(dt().Fragment,null,dt().createElement(Nv,null),dt().createElement("span",null,"Click to highlight node in flamegraph"));break;default:kt=dt().createElement(dt().Fragment,null)}return dt().createElement("div",{"data-testid":"tooltip-footer",className:au.clickInfo},kt)}function jv(yt){const{format:kt,canvasRef:St,xyToData:Pt,numTicks:Gt,sampleRate:Qt,units:Xt,leftTicks:rr,rightTicks:fr,palette:pr}=yt,_r=(0,bt.useCallback)(($r,zr,Xr)=>{const Qr=ir(Gt,Qt,Xt),en=Pt(Xr.offsetX,Xr.offsetY);let Zr;if(en.isJust)Zr=en.value;else{zr();return}switch(Zr.format){case"single":{const Gr={percent:lr(Zr.total/Gt),samples:Xt==="trace_samples"?"":lo(Zr.total),units:Xt,formattedValue:Qr.format(Zr.total,Qt),tooltipType:"flamegraph"};$r({title:{text:Zr.name,diff:{text:"",color:""}},tooltipData:[Gr]});break}case"double":{if(kt==="single")throw new Error("props format is 'single' but it has been mapped to 'double'");const Gr=Vv({formatter:Qr,sampleRate:Qt,totalLeft:Zr.totalLeft,leftTicks:rr,totalRight:Zr.totalRight,rightTicks:fr,title:Zr.name,units:Xt},pr);$r({title:Gr.title,tooltipData:Gr.tooltipData});break}default:throw new Error("Unsupported format:'")}},[Gt,Qt,Xt,rr,fr,pr]);return dt().createElement(h3,{dataSourceRef:St,clickInfoSide:"right",setTooltipContent:_r})}function Vv({formatter:yt,sampleRate:kt,totalLeft:St,leftTicks:Pt,totalRight:Gt,rightTicks:Qt,title:Xt,units:rr},fr=R2){const pr=St/Pt,_r=Gt/Qt,$r=Yt(pr),zr=Yt(_r),Xr={percent:`${$r}%`,samples:lo(St),units:rr,formattedValue:yt.format(St,kt),tooltipType:"flamegraph"},Qr={percent:`${zr}%`,samples:lo(Gt),units:rr,formattedValue:yt.format(Gt,kt),tooltipType:"flamegraph"},en=Gv($r,zr);let Zr="";en>0?Zr=fr.badColor.rgb().string():en<0&&(Zr=fr.goodColor.rgb().string());let Gr="";return St?Gt?en>0?Gr=`(+${en.toFixed(2)}%)`:en<0&&(Gr=`(${en.toFixed(2)}%)`):Gr="(removed)":Gr="(new)",{title:{text:Xt,diff:{text:Gr,color:Zr}},tooltipData:[Xr,Qr]}}function Gv(yt,kt){return(kt-yt)/yt*100}const Hv={dummy:"_8jsg5CgIlsOOE89k5kk7iA=="};var v3=Object.getOwnPropertySymbols,Tl=Object.prototype.hasOwnProperty,Wv=Object.prototype.propertyIsEnumerable,Zv=(yt,kt)=>{var St={};for(var Pt in yt)Tl.call(yt,Pt)&&kt.indexOf(Pt)<0&&(St[Pt]=yt[Pt]);if(yt!=null&&v3)for(var Pt of v3(yt))kt.indexOf(Pt)<0&&Wv.call(yt,Pt)&&(St[Pt]=yt[Pt]);return St};function nu(yt){const kt=r4(!1),{openMenu:St,closeMenu:Pt}=kt,Gt=Zv(kt,["openMenu","closeMenu"]),[Qt,Xt]=dt().useState({x:0,y:0}),{canvasRef:rr}=yt,[fr,pr]=dt().useState([]),{xyToMenuItems:_r,onClose:$r,onOpen:zr}=yt,Xr=()=>{Pt(),$r()};return dt().useEffect(()=>{Pt();const Qr=rr.current;if(!Qr)return()=>{};const en=Zr=>{Zr.preventDefault();const Gr=_r(Zr.offsetX,Zr.offsetY);pr(Gr);const wn=Zr.clientX,Tn=Zr.clientY+20;Xt({x:wn,y:Tn}),St(),zr(Zr.offsetX,Zr.offsetY)};return Qr.addEventListener("contextmenu",en),()=>{Qr.removeEventListener("contextmenu",en)}},[_r]),dt().createElement(o4,{className:Hv.dummy,menuItemFocus:Gt.menuItemFocus,isMounted:Gt.isMounted,isOpen:Gt.isOpen,anchorPoint:Qt,onClose:Xr},fr)}const Gn={logoLink:"HqveVyKaVoFyC4vstbKG5g=="};function Yv(){return dt().createElement("svg",{width:"22px",height:"22px",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},dt().createElement("defs",null,dt().createElement("radialGradient",{cx:"49.4236252%",cy:"92.6627823%",fx:"49.4236252%",fy:"92.6627823%",r:"195.066755%",gradientTransform:"translate(0.494236,0.926628),scale(1.000000,0.735610),rotate(-90.000000),translate(-0.494236,-0.926628)",id:"radialGradient-1"},dt().createElement("stop",{stopColor:"#FFB90C",offset:"0%"}),dt().createElement("stop",{stopColor:"#F9243A",offset:"38.390924%"}),dt().createElement("stop",{stopColor:"#F9243A",offset:"50.5405%"}),dt().createElement("stop",{stopColor:"#B51424",offset:"73.98091%"}),dt().createElement("stop",{stopColor:"#B51424",offset:"100%"}))),dt().createElement("g",{id:"Artboard",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},dt().createElement("g",{id:"fire-part",transform:"translate(148.516736, 0.000000)",fillRule:"nonzero"},dt().createElement("g",{id:"whole-thing",transform:"translate(363.983264, 495.000000) scale(-1, 1) rotate(-180.000000) translate(-363.983264, -495.000000) translate(0.483264, 0.000000)"},dt().createElement("g",{id:"g70",transform:"translate(-0.000091, 0.685815)",fill:"url(#radialGradient-1)"},dt().createElement("path",{d:"M65.3646667,571.739321 L65.4492471,571.698868 C19.5139147,505.999969 -5.32464048,424.477859 1.04305801,336.877516 L1.04305801,336.877516 C14.0321963,158.179446 159.192462,13.7596653 338.059844,1.5917266 L338.059844,1.5917266 C419.418369,-3.93888015 495.500283,17.3823334 558.456522,57.4611191 L558.456522,57.4611191 L481.301947,162.097965 C437.516468,136.521928 399.367671,129.590556 363.486536,130.155994 L363.486536,130.155994 C234.497143,130.155994 129.556988,235.032238 129.556988,363.946998 L129.556988,363.946998 C129.556988,492.865683 234.497143,597.738003 363.486536,597.738003 L363.486536,597.738003 C492.483783,597.738003 597.427864,492.865683 597.427864,363.946998 L597.427864,363.946998 C597.41276,304.634864 581.39383,255.677522 530.630465,199.668053 L607.770843,95.1329436 C680.936847,161.576603 726.932594,257.364176 726.932594,363.946998 L726.932594,363.946998 C726.932594,458.031616 691.13483,543.75602 632.416071,608.271816 L632.416071,608.271816 L632.416071,608.275741 L533.597728,748.122808 L428.601388,617.203806 L434.703262,646.563419 C459.453008,765.59222 433.664131,889.543925 363.49439,988.853335 L363.49439,988.853335 L65.3646667,571.723019 L65.3646667,571.739321 Z",id:"path84"})),dt().createElement("g",{id:"blue",transform:"translate(191.447039, 191.331780)"},dt().createElement("g",{id:"g88",transform:"translate(-0.000063, 0.685930)"},dt().createElement("g",{id:"g94",transform:"translate(0.177296, 0.699054)",fill:"#3EC1D3"},dt().createElement("path",{d:"M171.862466,343.697728 C77.0961324,343.697728 -0.00497405932,266.647602 -0.00497405932,171.934957 C-0.00497405932,77.2182874 77.0961324,0.168162396 171.862466,0.168162396 C266.632828,0.168162396 343.741988,77.2182874 343.741988,171.934957 C343.741988,266.647602 266.632828,343.697728 171.862466,343.697728",id:"path96"})),dt().createElement("g",{id:"g98",transform:"translate(29.362379, 172.629585)",fill:"#FFFFFF"},dt().createElement("path",{d:"M22.8397982,0 L0.671669409,0 C0.671669409,78.2496309 64.380874,141.920035 142.678189,141.920035 L142.678189,119.765407 C76.6007327,119.765407 22.8397982,66.0372141 22.8397982,0",id:"path100"}))))))))}function As(){return dt().createElement("a",{className:Gn.logoLink,href:"https://github.com/pyroscope-io/pyroscope/",target:"_blank",rel:"noreferrer"},[Yv(),dt().createElement("span",null,"Pyroscope")])}const J0={flamegraphHeader:"F5gLmM2HlBS6Lh2eA+TOLA==",row:"-11Zgjyiq3PJ2gS11OZevw==",flamegraphTitle:"Jw-yvX-dsWn+UNQdvsw+FQ==",buttons:"X-KASulGPmT7oMsRdlQqnA=="};var Uv=ht(779),g2=ht.n(Uv);const p4={"flamegraph-legend":"PETh3MyDcaGQCI1Nw0+g+g==","flamegraph-legend-list":"A3ypFowL4h2Jv2vkSIjs6Q==","flamegraph-legend-item":"h-tSfWrzSrCEL9uo2nsHtA=="};function b3(yt){const{palette:kt,showMode:St}=yt,Pt=Qv(St),Gt=U4(kt);return dt().createElement("div",{"data-testid":"flamegraph-legend",className:`${p4["flamegraph-legend"]} ${p4["flamegraph-legend-list"]}`},Pt.map(Qt=>dt().createElement("div",{key:Qt,className:p4["flamegraph-legend-item"],style:{backgroundColor:Gt(Qt).rgb().toString()}},Qt>0?"+":"",Qt,"%")))}function Qv(yt){switch(yt){case"large":return[-100,-80,-60,-40,-20,-10,0,10,20,40,60,80,100];case"small":return[-100,-40,-20,0,20,40,100];default:throw new Error(`Unsupported ${yt}`)}}function g3(){return dt().createElement("svg",{version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",width:"12px",height:"12px",viewBox:"0 0 405.272 405.272"},dt().createElement("g",null,dt().createElement("path",{d:`M393.401,124.425L179.603,338.208c-15.832,15.835-41.514,15.835-57.361,0L11.878,227.836 c-15.838-15.835-15.838-41.52,0-57.358c15.841-15.841,41.521-15.841,57.355-0.006l81.698,81.699L336.037,67.064 - c15.841-15.841,41.523-15.829,57.358,0C409.23,82.902,409.23,108.578,393.401,124.425z`})))}const v4={dropdownMenu:"J678hvn1r+E07yCv8bQwPQ==",dropdownMenuButton:"tKAw4h6chUOdq3FlfFl3Iw=="};var rA=Object.getOwnPropertySymbols,qv=Object.prototype.hasOwnProperty,m2=Object.prototype.propertyIsEnumerable,m3=(wt,kt)=>{var St={};for(var Pt in wt)qv.call(wt,Pt)&&kt.indexOf(Pt)<0&&(St[Pt]=wt[Pt]);if(wt!=null&&rA)for(var Pt of rA(wt))kt.indexOf(Pt)<0&&m2.call(wt,Pt)&&(St[Pt]=wt[Pt]);return St};function s1(wt){var kt=wt,{id:St,children:Pt,className:Ht,disabled:Qt,value:Kt,label:ar,onItemClick:Ar,overflow:pr,position:_r,direction:$r,align:zr,viewScroll:Xr,arrow:Qr,offsetX:en,offsetY:Zr,menuButtonClassName:Gr="",ariaLabel:wn}=kt,Tn=m3(kt,["id","children","className","disabled","value","label","onItemClick","overflow","position","direction","align","viewScroll","arrow","offsetX","offsetY","menuButtonClassName","ariaLabel"]);const Hn=Tn.menuButton||dt().createElement(ro,{"aria-label":wn,className:`${v4.dropdownMenuButton} ${Gr}`,disabled:Qt,type:"button"},Kt||ar);return dt().createElement(i4,{id:St,"aria-label":wn,className:g2()(Ht,v4.dropdownMenu),"data-testid":Tn["data-testid"],onItemClick:Ar,overflow:pr,position:_r,direction:$r,align:zr,viewScroll:Xr,arrow:Qr,offsetX:en,offsetY:Zr,menuButton:Hn},dt().createElement(Fp,null,ar),Pt)}const K0=Cu,ro=a4,l1={diffPaletteDropdown:"_6c8KIUK3wkkAS+zkvzR6PQ==",dropdownWrapper:"-ufQfGGUIgxKWexx4vHnlw==",dropdownItem:"ZmNLcnPdS72h63urXHirRw==","rc-menu-item":"Vh5XCujqCzvUq1Sd4g0JLg==",row:"v0fu72DcFs5hE2iPZcxYbA=="},Jv=[R2,d3],Xv=wt=>{const{palette:kt=R2,onChange:St}=wt,Pt=dt().useRef(null),Ht=e6(Pt);return dt().createElement(dt().Fragment,null,dt().createElement("div",{className:l1.row,role:"heading","aria-level":2},dt().createElement("p",{style:{color:kt.goodColor.rgb().string()}},"(-) Removed"),dt().createElement("p",{style:{color:kt.badColor.rgb().string()}},"Added (+)")),dt().createElement("div",{ref:Pt,className:l1.dropdownWrapper},dt().createElement(s1,{label:"Select a palette",menuButton:dt().createElement(ro,{className:g2()(v4.dropdownMenuButton,l1.diffPaletteDropdown)},dt().createElement(b3,{palette:kt,showMode:Ht})),onItemClick:Qt=>St(Qt.value)},Jv.map(Qt=>dt().createElement(K0,{key:Qt.name,value:Qt},dt().createElement("div",null,dt().createElement("label",null,Qt.name),dt().createElement("div",{className:l1.dropdownItem},dt().createElement(b3,{palette:Qt,showMode:Ht}),Qt===kt?dt().createElement(g3,null):null)))))))},Kv=13*37,e6=wt=>{const[kt,St]=dt().useState("large"),Pt=Ht=>Ht{if(wt.current){const{width:Ht}=wt.current.getBoundingClientRect();St(Pt(Ht))}},[wt.current]),K1(wt,Ht=>{St(Pt(Ht.contentRect.width))}),kt};function t6(wt){const{format:kt,units:St,ExportData:Pt=dt().createElement(dt().Fragment,null),palette:Ht,setPalette:Qt,toolbarVisible:Kt}=wt,ar={objects:"number of objects in RAM per function",goroutines:"number of goroutines",bytes:"amount of RAM per function",samples:"CPU time per function",lock_nanoseconds:"time spent waiting on locks per function",lock_samples:"number of contended locks per function",trace_samples:"aggregated span duration","":""},Ar=Kt?(()=>{switch(kt){case"single":return dt().createElement("div",null,dt().createElement("div",{className:`${J0.row} ${J0.flamegraphTitle}`,role:"heading","aria-level":2},ar[St]&&dt().createElement(dt().Fragment,null,"Frame width represents ",ar[St])));case"double":return dt().createElement(dt().Fragment,null,dt().createElement(Xv,{palette:Ht,onChange:Qt}));default:throw new Error(`unexpected format ${kt}`)}})():null;return dt().createElement("div",{className:J0.flamegraphHeader},dt().createElement("div",null,Ar),Pt?dt().createElement("div",{className:J0.buttons},Pt):dt().createElement(dt().Fragment,null))}const r6={flamegraphPane:"sQhkbo9-hkp-QcidoRJEzQ=="};function y3(wt){const kt=dt().useRef(null),St=(0,pt.useRef)(),[Pt,Ht]=dt().useState(cn.nothing()),{flamebearer:Qt,focusedNode:Kt,fitMode:ar,highlightQuery:Ar,zoom:pr,toolbarVisible:_r,showCredit:$r,setActiveItem:zr,selectedItem:Xr}=wt,{onZoom:Qr,onReset:en,isDirty:Zr,onFocusOnNode:Gr}=wt,{ExportData:wn}=wt,{"data-testid":Tn}=wt,{palette:Hn,setPalette:Sn}=wt,qn=(0,pt.useCallback)(kv()(()=>{br()},50),[]);K1(kt,()=>{St&&qn()});const xa=Rr=>{const Br=Fr().xyToBar(Rr.nativeEvent.offsetX,Rr.nativeEvent.offsetY);Br.match({Nothing:()=>{},Just:$a=>{pr.match({Nothing:()=>{Qr(Br)},Just:sn=>{$a.i===sn.i&&$a.j===sn.j?Qr(cn.nothing()):Qr(Br)}})}})},mt=(Rr,Br)=>Fr().xyToBar(Rr,Br).map($a=>({left:xr().offsetLeft+$a.x,top:xr().offsetTop+$a.y,width:$a.width})),$t=(Rr,Br)=>Fr().xyToBar(Rr,Br),Dt=()=>{Ht(cn.nothing())},Yt=(Rr,Br)=>{Ht(mt(Rr,Br))},rr=(0,pt.useCallback)((Rr,Br)=>{const $a=Zr(),sn=Fr().xyToBar(Rr,Br),un=sn.isJust?sn.value.name:"",In=()=>{const Pn=sn.mapOrElse(()=>!1,()=>!0),h0=sn.mapOrElse(()=>()=>{},g0=>Gr.bind(null,g0.i,g0.j));return dt().createElement(Cu,{key:"focus",disabled:!Pn,onClick:h0},dt().createElement(mn,{icon:j1.V9}),"Collapse nodes above")},dn=()=>{const Pn=()=>{!navigator.clipboard||navigator.clipboard.writeText(un)};return dt().createElement(Cu,{key:"copy",onClick:Pn},dt().createElement(mn,{icon:K2.kZ}),"Copy function name")},Dn=()=>{const Pn=()=>{zr({name:un})},h0=Xr.isJust&&Xr.value===un?"Clear highlight":"Highlight similar nodes";return dt().createElement(Cu,{key:"highlight-similar-nodes",onClick:Pn},dt().createElement(mn,{icon:z8.Y6}),h0)};return[dt().createElement(Cu,{key:"reset",disabled:!$a,onClick:en},dt().createElement(mn,{icon:XA.XS}),"Reset View"),In(),dn(),Dn()]},[St,Xr]),cr=()=>{if(kt.current){const Rr=new ep(Qt,kt.current,Kt,ar,Ar,pr,Hn);St.current=Rr}};dt().useEffect(()=>{cr(),br()},[Hn]),dt().useEffect(()=>{cr(),br()},[kt.current,Qt,Kt,ar,Ar,pr]);const br=()=>{var Rr,Br,$a;(Rr=kt==null?void 0:kt.current)==null||Rr.setAttribute("data-state","rendering"),(Br=St==null?void 0:St.current)==null||Br.render(),($a=kt==null?void 0:kt.current)==null||$a.setAttribute("data-state","rendered")},wr=!Qt||Qt&&Qt.names.length<=1,xr=()=>{if(!kt.current)throw new Error("Missing canvas");return kt.current},Fr=()=>{if(!St.current)throw new Error("Missing canvas");return St.current};return dt().createElement("div",{"data-testid":"flamegraph-view",className:Wl(r6.flamegraphPane,{"vertical-orientation":Qt.format==="double"})},dt().createElement(t6,{format:Qt.format,units:Qt.units,ExportData:wn,palette:Hn,setPalette:Sn,toolbarVisible:_r}),dt().createElement("div",{"data-testid":Tn,style:{opacity:wr?0:1}},dt().createElement("canvas",{height:"0","data-testid":"flamegraph-canvas","data-highlightquery":Ar,className:Wl("flamegraph-canvas",Ev.canvas),ref:kt,onClick:xa})),$r?dt().createElement(As,null):"",St&&kt&&dt().createElement(Ov,{barHeight:A0,canvasRef:kt,zoom:pr,xyToHighlightData:mt}),St&&dt().createElement(c3,{barHeight:A0,node:Pt}),St&&dt().createElement(jv,{format:Qt.format,canvasRef:kt,xyToData:$t,numTicks:Qt.numTicks,sampleRate:Qt.sampleRate,leftTicks:Qt.format==="double"?Qt.leftTicks:0,rightTicks:Qt.format==="double"?Qt.rightTicks:0,units:Qt.units,palette:Hn}),St&&kt&&dt().createElement(nu,{canvasRef:kt,xyToMenuItems:rr,onClose:Dt,onOpen:Yt}))}const Sl={table:"lEpSh-rOmaE5zcLKRPK0zg==",sortable:"EgDtrXnincRVPXTb58YV7g==",sortArrow:"K8lX8n2m68NgdYq1vXrGQA==",asc:"kf05VUyDM4gEXaiYchZLDQ==",desc:"SwVSTFb7+JtI0Ter5socwQ==",isRowSelected:"+NsZxUzwZfmKMTT3UeTBug==",isRowDisabled:"Jhqi+nxb2FEJkOLMACjE0A==",loadingSpinner:"uqa4BHuGVRjAsdPIyEz8KQ=="};var b4=ht(424),a6=ht.n(b4);function w3({className:wt}){return dt().createElement("span",{role:"progressbar",className:wt},dt().createElement(a6(),{color:"rgba(255,255,255,0.6)",size:"20px"}))}var aA=Object.defineProperty,Cs=Object.defineProperties,Tu=Object.getOwnPropertyDescriptors,nA=Object.getOwnPropertySymbols,k3=Object.prototype.hasOwnProperty,E3=Object.prototype.propertyIsEnumerable,_3=(wt,kt,St)=>kt in wt?aA(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,iA=(wt,kt)=>{for(var St in kt||(kt={}))k3.call(kt,St)&&_3(wt,St,kt[St]);if(nA)for(var St of nA(kt))E3.call(kt,St)&&_3(wt,St,kt[St]);return wt},g4=(wt,kt)=>Cs(wt,Tu(kt)),Ol=(wt,kt)=>{var St={};for(var Pt in wt)k3.call(wt,Pt)&&kt.indexOf(Pt)<0&&(St[Pt]=wt[Pt]);if(wt!=null&&nA)for(var Pt of nA(wt))kt.indexOf(Pt)<0&&E3.call(wt,Pt)&&(St[Pt]=wt[Pt]);return St};const Qn=wt=>{const kt=wt.filter(Kt=>Kt==null?void 0:Kt.default)[0]||wt[0],[St,Pt]=(0,pt.useState)(kt.name),[Ht,Qt]=(0,pt.useState)("desc");return{sortBy:St,sortByDirection:Ht,updateSortParams:Kt=>{let ar=Ht;St===Kt?ar=ar==="asc"?"desc":"asc":ar="desc",Pt(Kt),Qt(ar)}}};function x3({sortByDirection:wt,sortBy:kt,updateSortParams:St,table:Pt,tableBodyRef:Ht,className:Qt,isLoading:Kt}){var ar;const Ar=wt&&kt&&St;return Kt?dt().createElement("div",{className:Sl.loadingSpinner},dt().createElement(w3,null)):dt().createElement("table",{className:Wl(Sl.table,{[Qt||""]:Qt}),"data-testid":"table-ui"},dt().createElement("thead",null,dt().createElement("tr",null,Pt.headRow.map((pr,_r)=>{var $r=pr,{sortable:zr,label:Xr,name:Qr}=$r,en=Ol($r,["sortable","label","name"]);return!zr||Pt.type==="not-filled"||!Ar?dt().createElement("th",iA({key:_r},en),Xr):dt().createElement("th",g4(iA({},en),{key:_r,className:Sl.sortable,onClick:()=>St(Qr)}),Xr,dt().createElement("span",{className:Wl(Sl.sortArrow,{[Sl[wt]]:kt===Qr})}))}))),dt().createElement("tbody",{ref:Ht},Pt.type==="not-filled"?dt().createElement("tr",{className:Pt==null?void 0:Pt.bodyClassName},dt().createElement("td",{colSpan:Pt.headRow.length},Pt.value)):(ar=Pt.bodyRows)==null?void 0:ar.map(pr=>{var _r=pr,{cells:$r,isRowSelected:zr,isRowDisabled:Xr,className:Qr}=_r,en=Ol(_r,["cells","isRowSelected","isRowDisabled","className"]);const Zr=Math.random();return dt().createElement("tr",g4(iA({key:Zr},en),{className:Wl(Qr,{[Sl.isRowSelected]:zr,[Sl.isRowDisabled]:Xr})}),$r&&$r.map((Gr,wn)=>{var Tn=Gr,{style:Hn,value:Sn}=Tn,qn=Ol(Tn,["style","value"]);return dt().createElement("td",iA({key:Zr+wn,style:Hn},qn),Sn)}))})))}const Gs=x3;function C3({numTicks:wt,sampleRate:kt,units:St,tableBodyRef:Pt}){const Ht=ir(wt,kt,St),Qt=Ht.format(wt,kt),Kt=(0,pt.useCallback)((ar,Ar,pr)=>{var _r;const $r=(_r=pr.target.closest("tr"))==null?void 0:_r.dataset.row;if(!$r){Ar();return}const[zr,Xr,Qr]=$r.split(";"),en=Ht.format(parseInt(Xr,10),kt),Zr=Ht.format(parseInt(Qr,10),kt),Gr=Qt.split(" "),wn=Gr[0]==="<"?Gr[1]:Gr[0],Tn=en.split(" "),Hn=Tn[0]==="<"?Tn[1]:Tn[0],Sn=Zr.split(" "),qn=Sn[0]==="<"?Sn[1]:Sn[0],xa={units:St,self:`${en}(${(parseFloat(Hn)/parseFloat(wn)*100).toFixed(2)}%)`,total:`${Zr}(${(parseFloat(qn)/parseFloat(wn)*100).toFixed(2)}%)`,tooltipType:"table"};ar({title:{text:zr,diff:{text:"",color:""}},tooltipData:[xa]})},[Pt,wt,Ht,kt]);return dt().createElement(h3,{dataSourceRef:Pt,shouldShowTitle:!1,clickInfoSide:"left",setTooltipContent:Kt})}var n6=Object.defineProperty,C0=Object.defineProperties,i6=Object.getOwnPropertyDescriptors,m4=Object.getOwnPropertySymbols,oA=Object.prototype.hasOwnProperty,o6=Object.prototype.propertyIsEnumerable,$3=(wt,kt,St)=>kt in wt?n6(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,T3=(wt,kt)=>{for(var St in kt||(kt={}))oA.call(kt,St)&&$3(wt,St,kt[St]);if(m4)for(var St of m4(kt))o6.call(kt,St)&&$3(wt,St,kt[St]);return wt},s6=(wt,kt)=>C0(wt,i6(kt));const Xl=wt=>wt||0;function l6(wt,kt,St,Pt){const Ht=kt;return Ht.type="single",Ht.self=Xl(Ht.self)+wt.getBarSelf(St,Pt),Ht.total=Xl(Ht.total)+wt.getBarTotal(St,Pt),Ht}function c6(wt,kt,St,Pt){const Ht=kt;return Ht.type="double",Ht.self=Xl(Ht.self)+wt.getBarSelf(St,Pt),Ht.total=Xl(Ht.total)+wt.getBarTotal(St,Pt),Ht.selfLeft=Xl(Ht.selfLeft)+wt.getBarSelfLeft(St,Pt),Ht.selfRght=Xl(Ht.selfRght)+wt.getBarSelfRght(St,Pt),Ht.selfDiff=Xl(Ht.selfDiff)+wt.getBarSelfDiff(St,Pt),Ht.totalLeft=Xl(Ht.totalLeft)+wt.getBarTotalLeft(St,Pt),Ht.totalRght=Xl(Ht.totalRght)+wt.getBarTotalRght(St,Pt),Ht.totalDiff=Xl(Ht.totalDiff)+wt.getBarTotalDiff(St,Pt),Ht}function u6(wt){const kt=[];if(!wt)return kt;const{names:St,levels:Pt,format:Ht}=wt,Qt=Ht!=="double"?sr:gr,Kt={};for(let ar=0;ar"},Ht==="single"?l6(sr,Kt[$r],Ar,pr):c6(gr,Kt[$r],Ar,pr)}}return Object.values(Kt)}function sA(wt){return Math.min(0,wt)}function S3(wt,kt,St){const Pt=148-wt/kt*148,Ht=St.alpha(1);return{backgroundImage:`linear-gradient(${Ht}, ${Ht})`,backgroundPosition:`-${Pt}px 0px`,backgroundRepeat:"no-repeat"}}function Su(wt,kt,St,Pt,Ht,Qt){const Kt=148-Math.min(kt,St)/Pt*148,ar=148-Math.max(kt,St)/Pt*148,Ar=Ht.alpha(1),pr=St({diff:[wt.name,wt.selfDiff,wt.totalDiff],self:[wt.name,wt.selfLeft,wt.selfRght],total:[wt.name,wt.totalLeft,wt.totalRght]}))({name:{sortable:1,name:"name",label:"Location"},selfLeft:{sortable:1,name:"selfLeft",label:"Self (Left)",default:!0},selfRght:{sortable:1,name:"selfRght",label:"Self (Right)"},selfDiff:{sortable:1,name:"selfDiff",label:"Self (Diff)",default:!0},totalLeft:{sortable:1,name:"totalLeft",label:"Total (Left)",default:!0},totalRght:{sortable:1,name:"totalRght",label:"Total (Right)"},totalDiff:{sortable:1,name:"totalDiff",label:"Total (Diff)"}});function y4({tableBodyRef:wt,flamebearer:kt,viewDiff:St,fitMode:Pt,handleTableItemClick:Ht,highlightQuery:Qt,selectedItem:Kt,palette:ar}){const Ar=St?A6[St]:f6,pr=Qn(Ar),_r=T3({headRow:Ar},d6({flamebearer:kt,sortBy:pr.sortBy,sortByDirection:pr.sortByDirection,viewDiff:St,fitMode:Pt,handleTableItemClick:Ht,highlightQuery:Qt,palette:ar,selectedItem:Kt}));return dt().createElement(Gs,s6(T3({},pr),{tableBodyRef:wt,table:_r,className:"flamegraph-table"}))}const d6=({flamebearer:wt,sortBy:kt,sortByDirection:St,viewDiff:Pt,fitMode:Ht,handleTableItemClick:Qt,highlightQuery:Kt,palette:ar,selectedItem:Ar})=>{const{numTicks:pr,maxSelf:_r,sampleRate:$r,spyName:zr,units:Xr}=wt,Qr=u6(wt).sort((xa,mt)=>mt.total-xa.total),en=St==="asc"?1:-1;let Zr;if(kt==="name")Zr=Qr.sort((xa,mt)=>en*xa[kt].localeCompare(mt[kt]));else switch(kt){case"total":case"self":{Zr=Qr.sort((xa,mt)=>en*(xa[kt]-mt[kt]));break}default:Zr=Qr.sort((xa,mt)=>en*(xa[kt]-mt[kt]))}const Gr=ir(pr,$r,Xr),wn=xa=>Ar.isJust?xa===Ar.value:!1,Tn=(xa,mt)=>dt().createElement("button",{className:"table-item-button"},dt().createElement("span",{className:"color-reference",style:mt}),dt().createElement("div",{className:"symbol-name",style:i0(Ht)},xa.name)),Hn=(xa,mt,$t)=>({"data-row":`${xa.name};${xa.self};${xa.total};${xa.type}`,isRowSelected:wn(xa.name),onClick:()=>Qt(xa),cells:[{value:Tn(xa,$t)},{value:Gr.format(xa.self,$r),style:S3(xa.self,_r,mt)},{value:Gr.format(xa.total,$r),style:S3(xa.total,pr,mt)}]}),Sn=(()=>{switch(Pt){case"self":return(xa,mt,$t)=>({type:"self",isRowSelected:wn(xa.name),onClick:()=>Qt(xa),cells:[{value:Tn(xa,$t)},{style:Su(ar,xa.selfLeft,xa.selfRght,_r,mt,"L"),value:(()=>dt().createElement("span",{title:Gr.format(xa.selfLeft,$r)},Gr.format(xa.selfLeft,$r)))()},{style:Su(ar,xa.selfLeft,xa.selfRght,_r,mt,"R"),value:dt().createElement("span",{title:Gr.format(xa.selfRght,$r)},Gr.format(xa.selfRght,$r))}]});case"total":return(xa,mt,$t)=>({type:"total",isRowSelected:wn(xa.name),onClick:()=>Qt(xa),cells:[{value:Tn(xa,$t)},{style:Su(ar,xa.totalLeft,xa.totalRght,pr/2,mt,"L"),value:(()=>dt().createElement("span",{title:Gr.format(xa.totalLeft,$r)},Gr.format(xa.totalLeft,$r)))()},{style:Su(ar,xa.totalLeft,xa.totalRght,pr/2,mt,"R"),value:(()=>dt().createElement("span",{title:Gr.format(xa.totalRght,$r)},Gr.format(xa.totalRght,$r)))()}]});case"diff":return(xa,mt,$t)=>({type:"diff",isRowSelected:wn(xa.name),onClick:()=>Qt(xa),cells:[{value:Tn(xa,$t)},{style:Su(ar,xa.selfLeft,xa.selfRght,_r,Vl),value:(()=>dt().createElement("span",{title:Gr.format(xa.selfDiff,$r)},Gr.format(xa.selfDiff,$r)))()},{style:Su(ar,xa.totalLeft,xa.totalRght,pr/2,mt),value:(()=>dt().createElement("span",{title:Gr.format(xa.totalDiff,$r)},Gr.format(xa.totalDiff,$r)))()}]});default:return()=>({type:"unsupported"})}})(),qn=Zr.filter(xa=>Kt?Q4(Kt,xa.name):!0).reduce((xa,mt)=>{const $t=Y4(zr,mt.name),Dt=Pt?Vl:Gl(ar,$t),Yt={backgroundColor:Dt.rgb().toString()};if(mt.type==="double"){const rr=Sn(mt,Dt,Yt);return rr.type==="unsupported"||xa.push(rr),xa}return xa.push(Hn(mt,Dt,Yt)),xa},[]);return qn.length>0?{bodyRows:qn,type:"filled"}:{value:dt().createElement("div",{className:"unsupported-format"},"Unsupported"),type:"not-filled"}};function w4({flamebearer:wt,viewDiff:kt,fitMode:St,handleTableItemClick:Pt,highlightQuery:Ht,palette:Qt,selectedItem:Kt}){const ar=(0,pt.useRef)(null);return dt().createElement(dt().Fragment,null,dt().createElement(y4,{tableBodyRef:ar,flamebearer:wt,viewDiff:kt,fitMode:St,highlightQuery:Ht,handleTableItemClick:Pt,palette:Qt,selectedItem:Kt}),dt().createElement(C3,{tableBodyRef:ar,numTicks:wt.numTicks,sampleRate:wt.sampleRate,units:wt.units}))}var h6=ht(899),p6=ht(459),v6=ht(971),To=ht(384),ds=ht(646),b6=ht(769),g6=ht(692);const iu={button:"D8639n1+pFnktQbfHEdhiQ==",iconWithText:"iUJrf0Zra72Ylrkdwe4m3g==",default:"HsSMSsZ6IvGC0zvef-oyEg==",primary:"uRSawyfmnPCTMB2RaexM7Q==",secondary:"uLhy-1n6bQNSjQ8XlHT5hA==",danger:"Zcv+sg60tkrHTHSCxMwOCA==",grouped:"h-JyltywHaflsNfDj7ETjw=="};var k4=Object.getOwnPropertySymbols,m6=Object.prototype.hasOwnProperty,y6=Object.prototype.propertyIsEnumerable,w6=(wt,kt)=>{var St={};for(var Pt in wt)m6.call(wt,Pt)&&kt.indexOf(Pt)<0&&(St[Pt]=wt[Pt]);if(wt!=null&&k4)for(var Pt of k4(wt))kt.indexOf(Pt)<0&&y6.call(wt,Pt)&&(St[Pt]=wt[Pt]);return St};function y2(wt){var kt=wt,{disabled:St=!1,kind:Pt="default",type:Ht="button",icon:Qt,children:Kt,grouped:ar,onClick:Ar,id:pr,className:_r}=kt,$r=w6(kt,["disabled","kind","type","icon","children","grouped","onClick","id","className"]);return dt().createElement("button",{id:pr,type:Ht,"data-testid":$r["data-testid"],disabled:St,onClick:Ar,"aria-label":$r["aria-label"],className:`${iu.button} ${ar?iu.grouped:""} ${k6(Pt)} ${_r}`},Qt?dt().createElement(mn,{icon:Qt,className:Kt?iu.iconWithText:""}):null,Kt)}function k6(wt){switch(wt){case"default":return iu.default;case"primary":return iu.primary;case"secondary":return iu.secondary;case"danger":return iu.danger;default:throw Error(`Unsupported kind ${wt}`)}}const E6={select:"OqcAa70--BCY73rHYPrNmg=="};function O3({ariaLabel:wt,className:kt,value:St,onChange:Pt,children:Ht,name:Qt,id:Kt,disabled:ar}){return dt().createElement("select",{id:Kt,disabled:ar||!1,name:Qt,"aria-label":wt,className:`${E6.select} ${kt||""}`,value:St,onChange:Pt},Ht)}var I3=ht(687),R3=ht(912);const _6={input:"m7PZEM-Vxkue2eKuRu3yZQ=="},x6=dt().forwardRef(({testId:wt,className:kt,type:St,name:Pt,placeholder:Ht,minLength:Qt=0,debounceTimeout:Kt=100,onChange:ar,value:Ar,htmlId:pr},_r)=>dt().createElement(R3.DebounceInput,{inputRef:_r,"data-testid":wt,className:`${_6.input} ${kt||""}`,type:St,name:Pt,placeholder:Ht,minLength:Qt,debounceTimeout:Kt,onChange:ar,value:Ar,id:pr})),E4={tooltip:"izIbNRLbF9xJDKe-4AJ+JQ==",left:"zT3KmMrzKP41T7FMS0SJtw==",right:"Xl2deKCyOq2flu8vgSgbjA==",bottom:"uG9bli7m866SO8q5AjDy3A==",top:"-bV6ZtBg6DRt5-1XGDZXSw==",visible:"sxcNNSa167Ke4esKRMThTw=="},C6=({title:wt,visible:kt,className:St,placement:Pt})=>{var Ht;return dt().createElement("div",{onClick:Qt=>Qt.stopPropagation(),className:`${E4.tooltip} ${kt?E4.visible:""} ${(Ht=E4)==null?void 0:Ht[Pt]} ${St||""} `,role:"tooltip"},wt)},hs={wrapper:"_1tNAjeMOzQp8uOuaYq+Hlg==",search:"Oa7YSy+wTDaxwMXZB4v5Gw==","search-synced":"jaKSuzEc2kMgsQY1Ei1zIQ==",searchWithSync:"bMvkv+pO8CFQYIzcx9hNPw==","search-small":"tgQzYT5gJmC8BxJWeVbhNg==",icon:"EXyIVsmmjw+Gmj5qWe4lFA==",checked:"bzaIPy4-2topIZ9a1V0log==",sync:"ZX3TafJkUlq6K5k390H1nw==",syncSelected:"dSO0qFp27L959Gj33bDomw=="},$6=wt=>{const kt=(0,pt.useRef)();return(0,pt.useEffect)(()=>{kt.current=wt}),kt.current},T6=({onHighlightChange:wt,showMode:kt,highlightQuery:St,sharedQuery:Pt})=>{const Ht=$6(Pt==null?void 0:Pt.syncEnabled),[Qt,Kt]=(0,pt.useState)(!1),ar=$r=>{wt($r.target.value),Pt&&Pt.syncEnabled&&Pt.onQueryChange($r.target.value)};(0,pt.useEffect)(()=>{typeof(Pt==null?void 0:Pt.searchQuery)=="string"&&(Pt.syncEnabled&&wt(Pt.searchQuery),!Pt.syncEnabled&&Ht&&Ht!==(Pt==null?void 0:Pt.id)&&wt(""))},[Pt==null?void 0:Pt.searchQuery,Pt==null?void 0:Pt.syncEnabled]);const Ar=()=>{const $r=Pt!=null&&Pt.syncEnabled?!1:Pt==null?void 0:Pt.id;Pt==null||Pt.toggleSync($r),$r?Pt==null||Pt.onQueryChange(St):(wt(St),Pt==null||Pt.onQueryChange(""))},pr=(0,pt.useMemo)(()=>Pt&&Pt.syncEnabled?Pt.searchQuery||"":St,[Pt,St]),_r=(0,pt.useMemo)(()=>`${Pt?hs.searchWithSync:hs.search} ${kt==="small"?hs["search-small"]:""} ${Pt!=null&&Pt.syncEnabled?hs["search-synced"]:""}`,[Pt,kt]);return dt().createElement("div",{className:hs.wrapper},dt().createElement(x6,{testId:"flamegraph-search",className:_r,type:"search",name:"flamegraph-search",placeholder:"Search…",minLength:2,debounceTimeout:100,onChange:ar,value:pr}),Pt?dt().createElement("button",{className:Pt.syncEnabled?hs.syncSelected:hs.sync,onClick:Ar,onMouseEnter:()=>Kt(!0),onMouseLeave:()=>Kt(!1)},dt().createElement(mn,{className:`${Pt.syncEnabled?hs.checked:hs.icon}`,icon:I3.nN}),dt().createElement(C6,{placement:"top",visible:Qt,title:Pt.syncEnabled?"Unsync search bars":"Sync search bars"})):null)},c1={navbar:"YA6yFCiTuhT9605JIjPYsA==","space-filler":"cgRZhc4M4hYARCOdbJigOA==",fitModeDropdownMenuItem:"X3FRWBEqbFJ2BneRkbVfsA==",fitModeDropdownSmall:"hLxcZfkuovRKDwfNBljW1A==",fitModeDropdownLarge:"_7IQU1MziDWeX+DyRDdXHYg=="},S6=900,O6=wt=>{const[kt,St]=dt().useState("large"),Pt=Ht=>Ht{if(wt.current){const{width:Ht}=wt.current.getBoundingClientRect();St(Pt(Ht))}},[wt.current]),K1(wt,Ht=>{St(Pt(Ht.contentRect.width))}),kt},M3=dt().memo(({view:wt,viewDiff:kt,handleSearchChange:St,highlightQuery:Pt,isFlamegraphDirty:Ht,reset:Qt,updateFitMode:Kt,fitMode:ar,updateView:Ar,updateViewDiff:pr,selectedNode:_r,onFocusOnSubtree:$r,flamegraphType:zr,disableChangingDisplay:Xr=!1,sharedQuery:Qr})=>{const en=dt().useRef(null),Zr=O6(en);return dt().createElement("div",{role:"toolbar",ref:en,"data-mode":Zr},dt().createElement("div",{className:c1.navbar},dt().createElement(T6,{showMode:Zr,onHighlightChange:St,highlightQuery:Pt,sharedQuery:Qr}),zr==="double"&&dt().createElement(M6,{showMode:Zr,viewDiff:kt,updateViewDiff:pr}),dt().createElement("div",{className:c1["space-filler"]}),dt().createElement(R6,{showMode:Zr,fitMode:ar,updateFitMode:Kt}),dt().createElement(I6,{showMode:Zr,isFlamegraphDirty:Ht,reset:Qt}),dt().createElement(B3,{showMode:Zr,selectedNode:_r,onFocusOnSubtree:$r}),!Xr&&dt().createElement(B6,{showMode:Zr,view:wt,updateView:Ar})))});function B3({onFocusOnSubtree:wt,selectedNode:kt,showMode:St}){let Pt="";switch(St){case"small":{Pt="Collapse";break}case"large":{Pt="Collapse nodes above";break}default:throw new Error("Wrong mode")}const Ht=kt.mapOr(()=>{},Qt=>()=>wt(Qt.i,Qt.j));return dt().createElement(y2,{disabled:!kt.isJust,onClick:Ht,icon:j1.V9},Pt)}function I6({isFlamegraphDirty:wt,reset:kt,showMode:St}){let Pt="";switch(St){case"small":{Pt="Reset";break}case"large":{Pt="Reset View";break}default:throw new Error("Wrong mode")}return dt().createElement(dt().Fragment,null,dt().createElement(y2,{id:"reset","data-testid":"reset-view",disabled:!wt,onClick:kt,icon:g6.X7},Pt))}function R6({fitMode:wt,updateFitMode:kt,showMode:St}){let Pt={label:"",[En]:"",[ln]:""},Ht="";switch(St){case"small":Pt={label:"Fit",[En]:"Head",[ln]:"Tail"},Ht=c1.fitModeDropdownSmall;break;case"large":Pt={label:"Prefer to Fit",[En]:"Head first",[ln]:"Tail first"},Ht=c1.fitModeDropdownLarge;break;default:throw new Error("Wrong mode")}const Qt=[En,ln].map(Kt=>dt().createElement(K0,{key:Kt,value:Kt},dt().createElement("div",{className:c1.fitModeDropdownMenuItem,"data-testid":Kt},Pt[Kt],wt===Kt?dt().createElement(g3,null):null)));return dt().createElement(s1,{label:Pt.label,ariaLabel:"Fit Mode",value:Pt[wt],onItemClick:Kt=>kt(Kt.value),menuButtonClassName:Ht},Qt)}function M6({viewDiff:wt,updateViewDiff:kt,showMode:St}){if(!wt)return null;const Pt=dt().createElement(O3,{name:"viewDiff",ariaLabel:"view-diff",value:wt,onChange:ar=>{kt(ar.target.value)}},dt().createElement("option",{value:"self"},"Self"),dt().createElement("option",{value:"total"},"Total"),dt().createElement("option",{value:"diff"},"Diff")),Ht=ar=>wt===ar?"primary":"default",Qt=dt().createElement(dt().Fragment,null,dt().createElement(y2,{grouped:!0,icon:ds.gf,kind:Ht("self"),onClick:()=>kt("self")},"Self"),dt().createElement(y2,{grouped:!0,icon:p6.xi,kind:Ht("total"),onClick:()=>kt("total")},"Total"),dt().createElement(y2,{grouped:!0,icon:h6.el,kind:Ht("diff"),onClick:()=>kt("diff")},"Diff")),Kt=()=>{switch(St){case"small":return Pt;case"large":return Qt;default:throw new Error(`Invalid option: '${St}'`)}};return dt().createElement("div",{className:"btn-group viz-switch","data-testid":"diff-view"},Kt())}function B6({view:wt,updateView:kt,showMode:St}){const Pt=dt().createElement(O3,{ariaLabel:"view",name:"view",value:wt,onChange:ar=>{kt(ar.target.value)}},dt().createElement("option",{value:"table"},"Table"),dt().createElement("option",{value:"both"},"Both"),dt().createElement("option",{value:"flamegraph"},"Flame")),Ht=ar=>wt===ar?"primary":"default",Qt=dt().createElement(dt().Fragment,null,dt().createElement(y2,{grouped:!0,kind:Ht("table"),icon:b6.B3,onClick:()=>kt("table")},"Table"),dt().createElement(y2,{grouped:!0,kind:Ht("both"),icon:v6.rW,onClick:()=>kt("both")},"Both"),dt().createElement(y2,{grouped:!0,kind:Ht("flamegraph"),icon:To.$P,onClick:()=>kt("flamegraph")},"Flamegraph")),Kt=()=>{switch(St){case"small":return Pt;case"large":return Qt;default:throw new Error(`Invalid option: '${St}'`)}};return dt().createElement("div",{className:"btn-group viz-switch"},Kt())}const P6=M3,L6={noProfilingData:"uf0fDCR2p7mFe03meuOCpw=="};function D6(){return dt().createElement("div",{"data-testid":"no-profiling-data",className:L6.noProfilingData},dt().createElement("span",null,"No profiling data available for this application / time range."))}const w2={flamegraphContainer:"dp4rYndtkn5OL137gNcXFw==",createdBy:"Sg8G+XWf37nf2z2mq0UlZA==",horizontal:"Fa+QibGLT2PTOlQu9kZ42w==",vertical:"_1fK+ZP5KAHBMI34rObiBpA==",panesWrapper:"UiDrEFZwwNI6mFmaWDftKw==",tablePane:"rcGeWTV5hY5txTEQvQenVg=="};var F6=["styles"];function N6(wt,kt){if(wt==null)return{};var St=z6(wt,kt),Pt,Ht;if(Object.getOwnPropertySymbols){var Qt=Object.getOwnPropertySymbols(wt);for(Ht=0;Ht=0)&&(!Object.prototype.propertyIsEnumerable.call(wt,Pt)||(St[Pt]=wt[Pt]))}return St}function z6(wt,kt){if(wt==null)return{};var St={},Pt=Object.keys(wt),Ht,Qt;for(Qt=0;Qt=0)&&(St[Ht]=wt[Ht]);return St}function _4(){return _4=Object.assign||function(wt){for(var kt=1;ktkt in wt?G6(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,ps=(wt,kt)=>{for(var St in kt||(kt={}))Z6.call(kt,St)&&D3(wt,St,kt[St]);if(L3)for(var St of L3(kt))Y6.call(kt,St)&&D3(wt,St,kt[St]);return wt},Ou=(wt,kt)=>H6(wt,W6(kt));function u1(wt){if(wt.profile&&wt.flamebearer&&console.warn("'profile' and 'flamebearer' properties are mutually exclusive. Please use profile if possible."),wt.profile){const kt=JSON.parse(JSON.stringify(wt.profile)),St=V6(kt);return ps(ps(ps({},St),St.flamebearer),St.metadata)}return wt.flamebearer?wt.flamebearer:{format:"single",names:[],units:"",levels:[[]],spyName:"unknown",numTicks:0,sampleRate:0,maxSelf:0}}class C4 extends dt().Component{constructor(kt){super(kt),this.resetFlamegraphState={focusedNode:cn.nothing(),zoom:cn.nothing()},this.initialFlamegraphState=this.resetFlamegraphState,this.calcNewConfigs=(St,Pt)=>{const Ht=this.state.flamegraphConfigs,Qt=(Ar,pr,_r)=>{const $r=(zr,Xr,Qr)=>zr.names[Ir(zr.format).getBarName(zr.levels[Xr],Qr)];if(_r.isNothing)return!0;try{const zr=$r(Ar,_r.value.i,_r.value.j),Xr=$r(pr,_r.value.i,_r.value.j);return zr===Xr}catch(zr){return!1}},Kt=this.state.flamegraphConfigs.zoom;Qt(St,Pt,Kt)||(Ht.zoom=this.resetFlamegraphState.zoom);const ar=this.state.flamegraphConfigs.focusedNode;return Qt(St,Pt,ar)||(Ht.focusedNode=this.resetFlamegraphState.focusedNode),Ht},this.onSearchChange=St=>{this.setState({searchQuery:St})},this.isSameFlamebearer=(St,Pt)=>JSON.stringify(St)===JSON.stringify(Pt),this.onReset=()=>{this.setState(Ou(ps({},this.state),{flamegraphConfigs:ps(ps({},this.state.flamegraphConfigs),this.initialFlamegraphState)}))},this.onFlamegraphZoom=St=>{if(St.isJust&&St.value.i===0&&St.value.j===0){this.onReset();return}this.setState(Ou(ps({},this.state),{flamegraphConfigs:Ou(ps({},this.state.flamegraphConfigs),{zoom:St})}))},this.onFocusOnNode=(St,Pt)=>{if(St===0&&Pt===0){this.onReset();return}let Ht=ps({},this.state.flamegraphConfigs);const{zoom:Qt}=this.state.flamegraphConfigs;Qt.isJust&&Qt.value.i<=St&&(Ht=Ou(ps({},Ht),{zoom:this.initialFlamegraphState.zoom})),this.setState(Ou(ps({},this.state),{flamegraphConfigs:Ou(ps({},Ht),{focusedNode:cn.just({i:St,j:Pt})})}))},this.setActiveItem=St=>{const{name:Pt}=St;if(this.state.selectedItem.isJust&&Pt===this.state.selectedItem.value){this.setState({selectedItem:cn.nothing()});return}this.setState({selectedItem:cn.just(Pt)})},this.getHighlightQuery=()=>this.state.selectedItem.isJust?this.state.selectedItem.value:this.state.searchQuery,this.updateViewDiff=St=>{this.setState({viewDiff:St})},this.updateView=St=>{this.setState({view:St})},this.updateFlamegraphDirtiness=()=>{const St=this.isDirty();this.setState({isFlamegraphDirty:St})},this.updateFitMode=St=>{this.setState({fitMode:St})},this.isDirty=()=>JSON.stringify(this.initialFlamegraphState)!==JSON.stringify(this.state.flamegraphConfigs),this.render=()=>{var St;const Pt=dt().createElement("div",{key:"table-pane",className:Wl(w2.tablePane,this.state.panesOrientation==="vertical"?w2.vertical:w2.horizontal)},dt().createElement(w4,{"data-testid":"table-view",flamebearer:this.state.flamebearer,viewDiff:((St=this.state.flamebearer)==null?void 0:St.format)==="double"&&this.state.viewDiff,fitMode:this.state.fitMode,highlightQuery:this.state.searchQuery,selectedItem:this.state.selectedItem,handleTableItemClick:this.setActiveItem,palette:this.state.palette})),Ht=this.shouldShowToolbar(),Qt=dt().createElement(y3,{key:"flamegraph-pane",showCredit:this.props.showCredit,flamebearer:this.state.flamebearer,ExportData:this.props.ExportData||dt().createElement(dt().Fragment,null),highlightQuery:this.getHighlightQuery(),setActiveItem:this.setActiveItem,selectedItem:this.state.selectedItem,fitMode:this.state.fitMode,zoom:this.state.flamegraphConfigs.zoom,focusedNode:this.state.flamegraphConfigs.focusedNode,onZoom:this.onFlamegraphZoom,onFocusOnNode:this.onFocusOnNode,onReset:this.onReset,isDirty:this.isDirty,palette:this.state.palette,toolbarVisible:Ht,setPalette:Ar=>this.setState({palette:Ar})}),Kt=!this.state.flamebearer||this.state.flamebearer.names.length<=1,ar=F3(this.state.view,Qt,Pt);return dt().createElement("div",{"data-flamegraph-color-mode":this.props.colorMode||"dark"},dt().createElement("div",null,Ht&&dt().createElement(P6,{sharedQuery:this.props.sharedQuery,disableChangingDisplay:!!this.props.onlyDisplay,flamegraphType:this.state.flamebearer.format,view:this.state.view,viewDiff:this.state.viewDiff,handleSearchChange:this.onSearchChange,reset:this.onReset,updateView:this.updateView,updateViewDiff:this.updateViewDiff,updateFitMode:this.updateFitMode,fitMode:this.state.fitMode,isFlamegraphDirty:this.state.isFlamegraphDirty,selectedNode:this.state.flamegraphConfigs.zoom,highlightQuery:this.state.searchQuery,onFocusOnSubtree:this.onFocusOnNode}),this.props.children,dt().createElement("div",{className:`${w2.flamegraphContainer} ${Wl(this.state.panesOrientation==="vertical"?w2.vertical:w2.horizontal,w2[this.state.panesOrientation],w2.panesWrapper)}`},Kt?dt().createElement(D6,null):ar.map(Ar=>Ar))),this.props.showPyroscopeLogo&&dt().createElement("div",{className:w2.createdBy},"Created by",dt().createElement("a",{href:"https://twitter.com/PyroscopeIO",rel:"noreferrer",target:"_blank"},dt().createElement(j6,{width:"30",height:"30"}),"@PyroscopeIO")))},this.state={isFlamegraphDirty:!1,view:this.props.onlyDisplay?this.props.onlyDisplay:"both",viewDiff:"diff",fitMode:"HEAD",flamebearer:u1(kt),panesOrientation:kt.panesOrientation?kt.panesOrientation:"horizontal",searchQuery:"",selectedItem:cn.nothing(),flamegraphConfigs:this.initialFlamegraphState,palette:R2}}componentDidUpdate(kt,St){const Pt=u1(kt),Ht=u1(this.props);if(!this.isSameFlamebearer(Pt,Ht)){const Qt=this.calcNewConfigs(Pt,Ht);this.setState({flamebearer:Ht,flamegraphConfigs:ps(ps({},this.state.flamegraphConfigs),Qt),selectedItem:cn.nothing()});return}St.flamegraphConfigs!==this.state.flamegraphConfigs&&this.updateFlamegraphDirtiness()}shouldShowToolbar(){return this.props.showToolbar!==void 0?this.props.showToolbar:!0}}C4.defaultProps={showCredit:!0};function F3(wt,kt,St){switch(wt){case"table":return[St];case"flamegraph":return[kt];case"both":return[St,kt];default:throw new Error(`Invalid view '${wt}'`)}}const U6=C4;var Q6=Object.defineProperty,N3=Object.getOwnPropertySymbols,$4=Object.prototype.hasOwnProperty,q6=Object.prototype.propertyIsEnumerable,z3=(wt,kt,St)=>kt in wt?Q6(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,j3=(wt,kt)=>{for(var St in kt||(kt={}))$4.call(kt,St)&&z3(wt,St,kt[St]);if(N3)for(var St of N3(kt))q6.call(kt,St)&&z3(wt,St,kt[St]);return wt};const vs={showPyroscopeLogo:!1},T4=wt=>dt().createElement("pyro-flamegraph",{is:"span"},dt().createElement(U6,j3(j3({},wt),vs)));var J6=ht(572),X6=ht.n(J6),K6=ht(343),_b=ht.n(K6);function S4(wt){const kt={numTicks:0,maxSelf:0,names:[],levels:[]},St={},Pt={children:[]};wt.spans.forEach(Kt=>{Kt.children=[],St[Kt.spanID]=Kt}),wt.spans.forEach(Kt=>{let ar=Pt;Kt.references&&Kt.references.length>0&&(ar=St[Kt.references[0].spanID]||Pt),ar.children.push(Kt)});function Ht(Kt,ar){(Kt.children||[]).forEach(_r=>Ht(_r));let Ar=0;const pr=X6()(Kt.children||[],_r=>_r.operationName);Kt.children=_b()(pr,_r=>{const $r=_r[0];for(let zr=1;zr<_r.length;zr+=1)$r.duration+=_r[zr].duration;return Ar+=$r.duration,$r}),Kt.total=Kt.duration||Ar,Kt.self=Math.max(0,Kt.total-Ar)}Ht(Pt);function Qt(Kt,ar,Ar){var pr;return kt.numTicks||(kt.numTicks=Kt.total),(pr=kt.levels)[ar]||(pr[ar]=[]),kt.levels[ar].push(Ar),kt.levels[ar].push(Kt.total),kt.levels[ar].push(Kt.self),kt.names.push((Kt.processID?`${wt.processes[Kt.processID].serviceName}: `:"")+(Kt.operationName||"total")),kt.levels[ar].push(kt.names.length-1),(Kt.children||[]).forEach(_r=>{Ar+=Qt(_r,ar+1,Ar)}),Kt.total}return Qt(Pt,0,0),kt.levels=P3("single",kt.levels),{version:1,flamebearer:kt,metadata:{format:"single",units:"trace_samples",spyName:"tracing",sampleRate:1e6}}}var _g=Object.defineProperty,lA=Object.getOwnPropertySymbols,em=Object.prototype.hasOwnProperty,tm=Object.prototype.propertyIsEnumerable,V3=(wt,kt,St)=>kt in wt?_g(wt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):wt[kt]=St,rm=(wt,kt)=>{for(var St in kt||(kt={}))em.call(kt,St)&&V3(wt,St,kt[St]);if(lA)for(var St of lA(kt))tm.call(kt,St)&&V3(wt,St,kt[St]);return wt};function G3(wt,kt){const St={},Pt={};let Ht;return[wt,kt].forEach((Qt,Kt)=>{var ar,Ar;for(let pr=0;pr=Tn&&Xr{var pr;const{name:_r,children:$r,self:zr,total:Xr}=Qt;St.names.push(_r),(pr=St.levels)[Kt]||(pr[Kt]=[]),St.maxSelf=Math.max(St.maxSelf,zr[0]||0,zr[1]||0),St.levels[Kt]=St.levels[Kt].concat([ar,Xr[0]||0,zr[0]||0,Ar,Xr[1]||0,zr[1]||0,St.names.length-1]);for(let Qr=0;Qr<$r.length;Qr+=1){const[en,Zr]=Ht($r[Qr],Kt+1,ar,Ar);ar+=en,Ar+=Zr}return[Xr[0]||0,Xr[1]||0]};return Ht(Pt,0,0,0),St}function nm(wt,kt){wt.flamebearer.levels=x4("single",wt.flamebearer.levels),kt.flamebearer.levels=x4("single",kt.flamebearer.levels);const St=am(wt.flamebearer,kt.flamebearer);St.levels=P3("double",St.levels);const Pt=rm({},wt.metadata);return Pt.format="double",{version:1,flamebearer:St,metadata:Pt,leftTicks:wt.flamebearer.numTicks,rightTicks:kt.flamebearer.numTicks}}})(),bt})())})(dist);const index$7="",index$6="",TraceFlamegraph=({trace:o})=>{const $=o&&o.data?distExports.convertJaegerTraceToProfile(o.data):null;return jsxRuntimeExports.jsx("div",{className:"Flamegraph-wrapper",children:jsxRuntimeExports.jsx(distExports.FlamegraphRenderer,{colorMode:"light",profile:$})})},index$5="",VIEW_MIN_RANGE=.01,VIEW_CHANGE_BASE=.005,VIEW_CHANGE_FAST=.05,shortcutConfig={panLeft:[-VIEW_CHANGE_BASE,-VIEW_CHANGE_BASE],panLeftFast:[-VIEW_CHANGE_FAST,-VIEW_CHANGE_FAST],panRight:[VIEW_CHANGE_BASE,VIEW_CHANGE_BASE],panRightFast:[VIEW_CHANGE_FAST,VIEW_CHANGE_FAST],zoomIn:[VIEW_CHANGE_BASE,-VIEW_CHANGE_BASE],zoomInFast:[VIEW_CHANGE_FAST,-VIEW_CHANGE_FAST],zoomOut:[-VIEW_CHANGE_BASE,VIEW_CHANGE_BASE],zoomOutFast:[-VIEW_CHANGE_FAST,VIEW_CHANGE_FAST]};function makeShortcutCallbacks(o){function $([_e,et]){return function(rt){rt.preventDefault(),o(_e,et)}}return mapValues_1(shortcutConfig,$)}class TracePageImpl extends reactExports.PureComponent{constructor($){super($),this.setHeaderHeight=tt=>{this._headerElm=tt,tt?this.state.headerHeight!==tt.clientHeight&&this.setState({headerHeight:tt.clientHeight}):this.state.headerHeight&&this.setState({headerHeight:null})},this.clearSearch=()=>{const{history:tt,location:rt}=this.props;updateUiFind({history:tt,location:rt,trackFindFunction:trackFilter}),this._searchBar.current&&this._searchBar.current.blur()},this.focusOnSearchBar=()=>{this._searchBar.current&&this._searchBar.current.focus()},this.updateViewRangeTime=(tt,rt,at)=>{at&&trackRange(at,[tt,rt],this.state.viewRange.time.current);const it={current:[tt,rt]};this.setState(ot=>({viewRange:{...ot.viewRange,time:it}}))},this.updateNextViewRangeTime=tt=>{this.setState(rt=>{const at={...rt.viewRange.time,...tt};return{viewRange:{...rt.viewRange,time:at}}})},this.toggleSlimView=()=>{const{slimView:tt}=this.state;trackSlimHeaderToggle(!tt),this.setState({slimView:!tt})},this.setTraceView=tt=>{this.props.trace&&this.props.trace.data&&tt===ETraceViewType.TraceGraph&&(this.traceDagEV=calculateTraceDagEV(this.props.trace.data)),this.setState({viewType:tt})},this.archiveTrace=()=>{const{id:tt,archiveTrace:rt}=this.props;rt(tt)},this.acknowledgeArchive=()=>{const{id:tt,acknowledgeArchive:rt}=this.props;rt(tt)},this.focusUiFindMatches=()=>{const{trace:tt,focusUiFindMatches:rt,uiFind:at}=this.props;tt&&tt.data&&(trackFocusMatches(),rt(tt.data,at))},this.nextResult=()=>{trackNextMatch(),this._scrollManager.scrollToNextVisibleSpan()},this.prevResult=()=>{trackPrevMatch(),this._scrollManager.scrollToPrevVisibleSpan()};const{embedded:_e,trace:et}=$;this.state={headerHeight:null,slimView:!!(_e&&_e.timeline.collapseTitle),viewType:ETraceViewType.TraceTimelineViewer,viewRange:{time:{current:[0,1]}}},this._headerElm=null,this._filterSpans=memoize_1(filterSpans,tt=>`${tt} ${get_1$1(this.props.trace,"traceID")} ${get_1$1(this.props.trace,"data.spans.length")}`),this._scrollManager=new ScrollManager(et&&et.data,{scrollBy,scrollTo}),this._searchBar=reactExports.createRef(),reset()}componentDidMount(){const $=this.props.trace;if($&&$.data&&this.getSpansWithResolvedLocations($.data),this.ensureTraceFetched(),this.updateViewRangeTime(0,1),!this._scrollManager)throw new Error("Invalid state - scrollManager is unset");const{scrollPageDown:_e,scrollPageUp:et,scrollToNextVisibleSpan:tt,scrollToPrevVisibleSpan:rt}=this._scrollManager,nt=makeShortcutCallbacks((it,ot)=>this._adjustViewRange(it,ot,"kbd"));nt.scrollPageDown=_e,nt.scrollPageUp=et,nt.scrollToNextVisibleSpan=tt,nt.scrollToPrevVisibleSpan=rt,nt.clearSearch=this.clearSearch,nt.searchSpans=this.focusOnSearchBar,merge(nt)}componentDidUpdate({id:$,trace:_e}){const{id:et,trace:tt}=this.props;if(tt&&tt!==_e&&tt.data&&tt.state&&tt.state===fetchedState.DONE&&this.getSpansWithResolvedLocations(tt.data),this._scrollManager.setTrace(tt&&tt.data),this.setHeaderHeight(this._headerElm),!tt){this.ensureTraceFetched();return}$!==et&&(this.updateViewRangeTime(0,1),this.clearSearch())}componentWillUnmount(){reset(),cancel(),this._scrollManager.destroy(),this._scrollManager=new ScrollManager(void 0,{scrollBy,scrollTo}),window.sendMessageToDigma({action:actions$1.CLEAR})}getSpansWithResolvedLocations($){window.sendMessageToDigma({action:actions$1.GET_SPANS_DATA,payload:{spans:$.spans.map(_e=>getSpanDataForDigma(_e)).filter(_e=>_e.instrumentationLibrary)}})}_adjustViewRange($,_e,et){const[tt,rt]=this.state.viewRange.time.current;let at=clamp_1(tt+$,0,.99),nt=clamp_1(rt+_e,.01,1);if(nt-at0&&_e>0)nt=at+VIEW_MIN_RANGE;else{const it=tt+(rt-tt)/2;at=it-VIEW_MIN_RANGE/2,nt=it+VIEW_MIN_RANGE/2}this.updateViewRangeTime(at,nt,et)}ensureTraceFetched(){const{fetchTrace:$,location:_e,trace:et,id:tt}=this.props;if(!et){$(tt);return}const{history:rt}=this.props;tt&&tt!==tt.toLowerCase()&&rt.replace(getLocation(tt.toLowerCase(),_e.state))}render(){const{archiveEnabled:$,archiveTraceState:_e,embedded:et,id:tt,uiFind:rt,trace:at,traceGraphConfig:nt,location:{state:it}}=this.props,{slimView:ot,viewType:st,headerHeight:lt,viewRange:ct}=this.state;if(!at||at.state===fetchedState.LOADING)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});const{data:ut}=at;if(at.state===fetchedState.ERROR||!ut)return jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-m3",error:at.error||"Unknown error"});let ft=0,At,vt;rt&&(st===ETraceViewType.TraceGraph?(At=getUiFindVertexKeys(rt,get_1$1(this.traceDagEV,"vertices",[])),ft=At?At.size:0):(vt=this._filterSpans(rt,get_1$1(at,"data.spans")),ft=vt?vt.size:0));const ht=!!et,bt={focusUiFindMatches:this.focusUiFindMatches,slimView:ot,textFilter:rt,viewType:st,viewRange:ct,canCollapse:!et||!et.timeline.hideSummary||!et.timeline.hideMinimap,clearSearch:this.clearSearch,hideMap:!!(st!==ETraceViewType.TraceTimelineViewer||et&&et.timeline.hideMinimap),hideSummary:!!(et&&et.timeline.hideSummary),linkToStandalone:getUrl$6(tt),nextResult:this.nextResult,onArchiveClicked:this.archiveTrace,onSlimViewClicked:this.toggleSlimView,onTraceViewChange:this.setTraceView,prevResult:this.prevResult,ref:this._searchBar,resultCount:ft,showArchiveButton:!ht&&$,showShortcutsHelp:!ht,showStandaloneLink:ht,showViewOptions:!0,toSearch:it&&it.fromSearch||null,trace:ut,updateNextViewRangeTime:this.updateNextViewRangeTime,updateViewRangeTime:this.updateViewRangeTime};let pt;return ETraceViewType.TraceTimelineViewer===st&<?pt=jsxRuntimeExports.jsx(TraceTimelineViewer,{registerAccessors:this._scrollManager.setAccessors,scrollToFirstVisibleSpan:this._scrollManager.scrollToFirstVisibleSpan,findMatchesIDs:vt,trace:ut,updateNextViewRangeTime:this.updateNextViewRangeTime,updateViewRangeTime:this.updateViewRangeTime,viewRange:ct}):ETraceViewType.TraceGraph===st&<?pt=jsxRuntimeExports.jsx(TraceGraph,{headerHeight:lt,ev:this.traceDagEV,uiFind:rt,uiFindVertexKeys:At,traceGraphConfig:nt}):ETraceViewType.TraceStatistics===st&<?pt=jsxRuntimeExports.jsx(TraceStatistics,{trace:ut,uiFindVertexKeys:vt,uiFind:rt}):ETraceViewType.TraceSpansView===st&<?pt=jsxRuntimeExports.jsx(TraceSpanView,{trace:ut,uiFindVertexKeys:vt,uiFind:rt}):ETraceViewType.TraceFlamegraph===st&<&&(pt=jsxRuntimeExports.jsx(TraceFlamegraph,{trace:at})),jsxRuntimeExports.jsxs("div",{children:[$&&jsxRuntimeExports.jsx(ArchiveNotifier,{acknowledge:this.acknowledgeArchive,archivedState:_e}),jsxRuntimeExports.jsx("div",{className:"Tracepage--headerSection",ref:this.setHeaderHeight,children:jsxRuntimeExports.jsx(TracePageHeader,{...bt})}),lt?jsxRuntimeExports.jsx("section",{style:{paddingTop:lt},children:pt}):null]})}}function mapStateToProps$1(o,$){const{id:_e}=$.match.params,{archive:et,config:tt,embedded:rt,router:at}=o,{traces:nt}=o.trace,it=_e?nt[_e]:null,ot=_e?et[_e]:null,st=!!tt.archiveEnabled,{state:lt}=at.location,ct=lt&<.fromSearch||null,{traceGraph:ut}=tt;return{...extractUiFindFromState(o),archiveEnabled:st,archiveTraceState:ot,embedded:rt,id:_e,searchUrl:ct,trace:it,traceGraphConfig:ut}}function mapDispatchToProps$1(o){const{fetchTrace:$}=bindActionCreators(jaegerApiActions,o),{archiveTrace:_e,acknowledge:et}=bindActionCreators(actions$2,o),{focusUiFindMatches:tt}=bindActionCreators(actions,o);return{acknowledgeArchive:et,archiveTrace:_e,fetchTrace:$,focusUiFindMatches:tt}}const TracePage=connect$3(mapStateToProps$1,mapDispatchToProps$1)(TracePageImpl),index$4="";function getDataOrAriaProps(o){return Object.keys(o).reduce(function($,_e){return(_e.substr(0,5)==="data-"||_e.substr(0,5)==="aria-"||_e==="role")&&_e.substr(0,7)!=="data-__"&&($[_e]=o[_e]),$},{})}function _typeof$1(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1=function(_e){return typeof _e}:_typeof$1=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1(o)}function _extends$1(){return _extends$1=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf(o){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf(o)}function noop(){}var Alert=function(o){_inherits(_e,o);var $=_createSuper(_e);function _e(et){var tt;return _classCallCheck(this,_e),tt=$.call(this,et),tt.handleClose=function(rt){rt.preventDefault();var at=reactDomExports.findDOMNode(_assertThisInitialized(tt));at.style.height="".concat(at.offsetHeight,"px"),at.style.height="".concat(at.offsetHeight,"px"),tt.setState({closing:!0}),(tt.props.onClose||noop)(rt)},tt.animationEnd=function(){tt.setState({closing:!1,closed:!0}),(tt.props.afterClose||noop)()},tt.renderAlert=function(rt){var at,nt=rt.getPrefixCls,it=tt.props,ot=it.description,st=it.prefixCls,lt=it.message,ct=it.closeText,ut=it.banner,ft=it.className,At=ft===void 0?"":ft,vt=it.style,ht=it.icon,bt=tt.props,pt=bt.closable,dt=bt.type,_t=bt.showIcon,Ct=bt.iconType,gt=tt.state,yt=gt.closing,xt=gt.closed,Et=nt("alert",st);_t=ut&&_t===void 0?!0:_t,dt=ut&&dt===void 0?"warning":dt||"info";var It="filled";if(!Ct){switch(dt){case"success":Ct="check-circle";break;case"info":Ct="info-circle";break;case"error":Ct="close-circle";break;case"warning":Ct="exclamation-circle";break;default:Ct="default"}ot&&(It="outlined")}ct&&(pt=!0);var Tt=classNames(Et,"".concat(Et,"-").concat(dt),(at={},_defineProperty(at,"".concat(Et,"-closing"),yt),_defineProperty(at,"".concat(Et,"-with-description"),!!ot),_defineProperty(at,"".concat(Et,"-no-icon"),!_t),_defineProperty(at,"".concat(Et,"-banner"),!!ut),_defineProperty(at,"".concat(Et,"-closable"),pt),at),At),Rt=pt?reactExports.createElement("button",{type:"button",onClick:tt.handleClose,className:"".concat(Et,"-close-icon"),tabIndex:0},ct?reactExports.createElement("span",{className:"".concat(Et,"-close-text")},ct):reactExports.createElement(Icon$1,{type:"close"})):null,Ot=getDataOrAriaProps(tt.props),Mt=ht&&(reactExports.isValidElement(ht)?reactExports.cloneElement(ht,{className:classNames("".concat(Et,"-icon"),_defineProperty({},ht.props.className,ht.props.className))}):reactExports.createElement("span",{className:"".concat(Et,"-icon")},ht))||reactExports.createElement(Icon$1,{className:"".concat(Et,"-icon"),type:Ct,theme:It});return xt?null:reactExports.createElement(Animate$1,{component:"",showProp:"data-show",transitionName:"".concat(Et,"-slide-up"),onEnd:tt.animationEnd},reactExports.createElement("div",_extends$1({"data-show":!yt,className:Tt,style:vt},Ot),_t?Mt:null,reactExports.createElement("span",{className:"".concat(Et,"-message")},lt),reactExports.createElement("span",{className:"".concat(Et,"-description")},ot),Rt))},warning$4(!("iconType"in et),"Alert","`iconType` is deprecated. Please use `icon` instead."),tt.state={closing:!1,closed:!1},tt}return _createClass(_e,[{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderAlert)}}]),_e}(reactExports.Component);const serviceGraph="",tickFormat=o=>{const $=new Date(o),_e=$.getHours().toString(),et=$.getMinutes().toString();return`${_e.length===1?`0${_e}`:_e}:${et.length===1?`0${et}`:et}`};class ServiceGraphImpl extends reactExports.PureComponent{constructor(){super(...arguments),this.height=242,this.colors=["#DCA3D2","#EA9977","#869ADD"],this.state={crosshairValues:[]}}getData(){const{metricsData:$}=this.props;return $===null?[]:Array.isArray($)?$:[$]}renderLines(){const{metricsData:$,color:_e}=this.props;if($){const et=[];let tt=0;return this.getData().forEach((rt,at)=>{et.push(jsxRuntimeExports.jsx(AreaSeries,{data:rt.metricPoints?rt.metricPoints:[],getNull:nt=>nt.y!==null,onNearestX:(nt,{index:it})=>{this.setState({crosshairValues:this.getData().map(ot=>({...ot.metricPoints[it],label:ot.quantile}))})},opacity:.1,color:[_e||this.colors[at]]},tt++)),et.push(jsxRuntimeExports.jsx(LineSeries,{getNull:nt=>nt.y!==null,data:rt.metricPoints?rt.metricPoints:[],color:[_e||this.colors[at]]},tt++))}),et}return[]}generatePlaceholder($){const{width:_e}=this.props;return jsxRuntimeExports.jsx("div",{className:"center-placeholder",style:{width:_e,height:this.height-74},children:$})}render(){const{width:$,yDomain:_e,showHorizontalLines:et,showLegend:tt,loading:rt,metricsData:at,marginClassName:nt,name:it,error:ot,yAxisTickFormat:st,xDomain:lt}=this.props;let ct=this.generatePlaceholder(jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0}));const ut=this.generatePlaceholder("No Data"),ft=this.generatePlaceholder("Couldn’t fetch data"),At=jsxRuntimeExports.jsxs(XYPlot,{margin:{bottom:25},onMouseLeave:()=>this.setState({crosshairValues:[]}),width:$,height:this.height-74,xDomain:lt,yDomain:_e,children:[et?jsxRuntimeExports.jsx(HorizontalGridLines,{}):null,jsxRuntimeExports.jsx(XAxis,{tickFormat,tickTotal:Math.floor($/60)}),jsxRuntimeExports.jsx(YAxis,{tickFormat:st}),this.renderLines(),jsxRuntimeExports.jsx(Crosshair,{values:this.state.crosshairValues,children:jsxRuntimeExports.jsxs("div",{className:"crosshair-value",children:[this.state.crosshairValues[0]&&`${new Date(this.state.crosshairValues[0].x).toLocaleDateString()} ${new Date(this.state.crosshairValues[0].x).toLocaleTimeString()}`,this.state.crosshairValues.reverse().map(vt=>tt?jsxRuntimeExports.jsxs("div",{children:["P",vt.label*100,": ",vt.y]},vt.label):jsxRuntimeExports.jsx("div",{children:vt.y},vt.label))]})}),tt?jsxRuntimeExports.jsx(DiscreteColorLegend,{className:"legend-label",orientation:"horizontal",items:this.getData().map((vt,ht)=>({color:this.colors[ht],title:`${vt.quantile*100}th`})).reverse()}):null]});return!rt&<.length>0&&(ct=at===null?ut:At),ot&&(ct=ft),jsxRuntimeExports.jsxs("div",{className:`graph-container ${nt}`,style:{height:this.height},children:[jsxRuntimeExports.jsx("h3",{className:"graph-header",children:it}),ct]})}}const opsGraph="";class OperationsGraph extends reactExports.PureComponent{static generatePlaceholder($){return jsxRuntimeExports.jsx("div",{className:"ops-graph-placeholder",children:$})}render(){const{dataPoints:$,yDomain:_e,color:et,error:tt}=this.props;if(tt)return OperationsGraph.generatePlaceholder("Couldn’t fetch data");if($.length===0)return OperationsGraph.generatePlaceholder("No Data");const rt={};return _e&&(rt.yDomain=_e),jsxRuntimeExports.jsx("div",{className:"ops-container",children:jsxRuntimeExports.jsxs(XYPlot,{margin:{left:0,right:0,bottom:1,top:2},width:100,height:15,children:[jsxRuntimeExports.jsx(AreaSeries,{className:"area-series-example ops-graph-style",curve:"curveLinear",color:et,data:$,...rt}),jsxRuntimeExports.jsx(LineSeries,{className:"area-elevated-line-series",color:et,data:$,...rt})]})})}}const index$3="",SPM_CATEGORY_BASE$1="jaeger/ux/trace/spm",CATEGORY_VIEW_TRACES=`${SPM_CATEGORY_BASE$1}/view-traces`,CATEGORY_SORT_OPERATIONS=`${SPM_CATEGORY_BASE$1}/sort-operations`,trackViewTraces=o=>trackEvent(CATEGORY_VIEW_TRACES,o),trackSortOperations=o=>trackEvent(CATEGORY_SORT_OPERATIONS,o),tableTitles=new Map([["name","Name"],["latency","P95 Latency"],["requests","Request rate"],["errRates","Error rate"],["impact","Impact"]]);function formatValue(o){return o<.1?"< 0.1":`${o.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]}`}function formatTimeValue(o){const $=getSuitableTimeUnit(o);return`${formatValue(convertToTimeUnit(o,$))}${convertTimeUnitToShortTerm($)}`}class OperationTableDetails extends reactExports.PureComponent{constructor(){super(...arguments),this.state={hoveredRowKey:-1,tableSorting:{order:"descend",columnKey:"impact"}}}render(){const{loading:$,error:_e}=this.props;if($)return jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0});if(_e.opsCalls&&_e.opsErrors&&_e.opsLatencies)return jsxRuntimeExports.jsx("div",{className:"ops-table-error-placeholder",children:"Couldn’t fetch data"});const et=[{title:tableTitles.get("name"),className:"header-item",dataIndex:"name",key:"name",sorter:(tt,rt)=>tt.name.localeCompare(rt.name)},{title:tableTitles.get("latency"),className:"header-item",dataIndex:"latency",key:"latency",sorter:(tt,rt)=>tt.latency-rt.latency,render:(tt,rt)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:rt.dataPoints.service_operation_latencies,color:"#869ADD",error:_e.opsLatencies}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:typeof tt=="number"&&rt.dataPoints.service_operation_latencies.length>0?formatTimeValue(tt*1e3):""})]})},{title:tableTitles.get("requests"),className:"header-item",dataIndex:"requests",key:"requests",sorter:(tt,rt)=>tt.requests-rt.requests,render:(tt,rt)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:rt.dataPoints.service_operation_call_rate,color:"#4795BA",error:_e.opsCalls}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:typeof tt=="number"&&rt.dataPoints.service_operation_call_rate.length>0?`${formatValue(tt)} req/s`:""})]})},{title:tableTitles.get("errRates"),className:"header-item",dataIndex:"errRates",key:"errRates",sorter:(tt,rt)=>tt.errRates-rt.errRates,render:(tt,rt)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:rt.dataPoints.service_operation_error_rate,color:"#CD513A",yDomain:[0,1],error:_e.opsErrors}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:typeof tt=="number"&&rt.dataPoints.service_operation_error_rate.length>0?`${formatValue(tt*100)}%`:""})]})},{title:jsxRuntimeExports.jsx("div",{style:{paddingTop:1},children:jsxRuntimeExports.jsxs("span",{style:{float:"left",color:"#459798"},children:[tableTitles.get("impact"),"  ",jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"impact-tooltip",placement:"top",title:"The result of multiplying avg. duration and requests per minute, showing the most used and slowest endpoints",children:jsxRuntimeExports.jsx(Icon$1,{type:"info-circle"})})]})}),className:"header-item",dataIndex:"impact",key:"impact",defaultSortOrder:"descend",sorter:(tt,rt)=>tt.impact-rt.impact,render:(tt,rt)=>{let at=null;if(this.state.hoveredRowKey===rt.key){const{endTime:nt,lookback:it,serviceName:ot}=this.props;at=jsxRuntimeExports.jsx(Button$2,{href:prefixUrl(`/search?end=${nt}000&limit=20&lookback=${it/(3600*1e3)}h&maxDuration&minDuration&operation=${encodeURIComponent(rt.name)}&service=${ot}&start=${nt-it}000`),target:"blank",onClick:()=>trackViewTraces(rt.name),children:"View traces"})}return{children:jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(Progress,{className:"impact",percent:tt*100,strokeLinecap:"square",strokeColor:"#459798",showInfo:!1}),jsxRuntimeExports.jsx("div",{className:"view-trace-button",children:at})]})}}}];return jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsx(Table$1,{rowClassName:()=>"table-row",columns:et,dataSource:this.props.data,pagination:{defaultPageSize:20,showSizeChanger:!0,pageSizeOptions:["20","50","100"]},onRow:()=>({onMouseEnter:tt=>{this.setState({hoveredRowKey:parseInt(tt.currentTarget.getAttribute("data-row-key"),10)})},onMouseLeave:()=>{this.setState({hoveredRowKey:-1})}}),onChange:(tt,rt,{columnKey:at,order:nt})=>{if(!isEqual_1({columnKey:at,order:nt},this.state.tableSorting)){const it=tableTitles.get(at||this.state.tableSorting.columnKey);trackSortOperations(it),this.setState({tableSorting:{columnKey:at,order:nt}})}}})})}}const index$2="",monitorImg=""+new URL("monitor-9000dba4.png",import.meta.url).href,monitorImgUrl=getStaticAssetPath(monitorImg);class MonitorATMEmptyState extends reactExports.PureComponent{constructor($){super($),this.config=getConfigValue("monitor.emptyState")}render(){return jsxRuntimeExports.jsxs(Col,{children:[jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsx(Col,{span:8,offset:8,children:jsxRuntimeExports.jsx("img",{className:"monitor-preview-image-empty-state",alt:"jaeger-monitor-tab-preview",src:monitorImgUrl})})}),jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsxs(Col,{span:6,offset:9,className:"center-empty-state",children:[this.config.mainTitle&&jsxRuntimeExports.jsx("h2",{className:"main-title-empty-state",children:this.config.mainTitle}),this.config.subTitle&&jsxRuntimeExports.jsx("h3",{className:"sub-title-empty-state",children:this.config.subTitle}),this.config.description&&jsxRuntimeExports.jsx("h4",{className:"description-empty-state",children:this.config.description}),this.config.button&&this.config.button.text&&jsxRuntimeExports.jsx(Button$2,{className:"button-empty-state",onClick:()=>this.config.button&&this.config.button.onClick&&this.config.button.onClick(),children:this.config.button.text}),this.config.alert&&jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsx(Col,{span:20,offset:2,children:jsxRuntimeExports.jsx(Alert,{message:this.config.alert.message,type:this.config.alert.type,showIcon:!0})})})]})})]})}}const index$1="",SPM_CATEGORY_BASE="jaeger/ux/trace/spm",CATEGORY_VIEW_ALL_TRACES=`${SPM_CATEGORY_BASE}/view-all-traces`,CATEGORY_SELECT_SERVICE=`${SPM_CATEGORY_BASE}/select-service`,CATEGORY_SELECT_TIMEFRAME=`${SPM_CATEGORY_BASE}/select-timeframe`,CATEGORY_SEARCH_OPERATION=`${SPM_CATEGORY_BASE}/search-operation`,trackViewAllTraces=()=>trackEvent(CATEGORY_VIEW_ALL_TRACES,"click"),trackSelectService=o=>trackEvent(CATEGORY_SELECT_SERVICE,o),trackSelectTimeframe=o=>trackEvent(CATEGORY_SELECT_TIMEFRAME,o),trackSearchOperation=o=>trackEvent(CATEGORY_SEARCH_OPERATION,o),trackSearchOperationDebounced=debounce_1(o=>trackSearchOperation(o),1e3),Search=Input$1.Search,AdaptedVirtualSelect=reduxFormFieldAdapter({AntInputComponent:VirtSelect,onChangeAdapter:o=>o?o.value:null}),serviceFormSelector=formValueSelector("serviceForm"),oneHourInMilliSeconds=36e5,oneMinuteInMilliSeconds=6e4,timeFrameOptions=[{label:"Last 5 minutes",value:5*oneMinuteInMilliSeconds},{label:"Last 15 minutes",value:15*oneMinuteInMilliSeconds},{label:"Last 30 minutes",value:30*oneMinuteInMilliSeconds},{label:"Last Hour",value:oneHourInMilliSeconds},{label:"Last 2 hours",value:2*oneHourInMilliSeconds},{label:"Last 6 hours",value:6*oneHourInMilliSeconds},{label:"Last 12 hours",value:12*oneHourInMilliSeconds},{label:"Last 24 hours",value:24*oneHourInMilliSeconds},{label:"Last 2 days",value:48*oneHourInMilliSeconds}],getLoopbackInterval=o=>{if(o===void 0)return"";const $=timeFrameOptions.find(_e=>_e.value===o);return $===void 0?"":$.label.toLowerCase()},calcDisplayTimeUnit=o=>{let $=0;if(o&&Array.isArray(o)){const _e=o.map(et=>et.max);$=Math.max(..._e)}else o&&($=o.max);return getSuitableTimeUnit($*1e3)},yAxisTickFormat=(o,$)=>convertToTimeUnit(o*1e3,$),convertServiceErrorRateToPercentages=o=>{if(!o)return null;const $=o.metricPoints.map(_e=>({..._e,y:_e.y*100}));return{...o,metricPoints:$}};class MonitorATMServicesViewImpl extends reactExports.PureComponent{constructor($){super($),this.serviceSelectorValue="",this.endTime=Date.now(),this.state={graphWidth:300,serviceOpsMetrics:void 0,searchOps:"",graphXDomain:[]},this.graphDivWrapper=reactExports.createRef(),this.docsLink=getConfigValue("monitor.docsLink")}componentDidMount(){const{fetchServices:$,services:_e}=this.props;$(),_e.length!==0&&this.fetchMetrics(),window.addEventListener("resize",this.updateDimensions.bind(this)),this.updateDimensions.apply(this),this.calcGraphXDomain()}componentDidUpdate($){const{selectedService:_e,selectedTimeFrame:et,services:tt}=this.props;$.selectedService!==_e||$.selectedTimeFrame!==et?this.fetchMetrics():isEqual_1($.services,tt)||this.fetchMetrics(),$.selectedTimeFrame!==this.props.selectedTimeFrame&&this.calcGraphXDomain()}componentWillUnmount(){window.removeEventListener("resize",this.updateDimensions.bind(this))}calcGraphXDomain(){const $=Date.now();this.setState({graphXDomain:[$-this.props.selectedTimeFrame,$]})}updateDimensions(){this.graphDivWrapper.current&&this.setState({graphWidth:this.graphDivWrapper.current.offsetWidth-24})}fetchMetrics(){const{selectedService:$,selectedTimeFrame:_e,fetchAllServiceMetrics:et,fetchAggregatedServiceMetrics:tt,services:rt}=this.props,at=$||rt[0];if(at){this.endTime=Date.now(),store_legacy.set("lastAtmSearchTimeframe",_e),store_legacy.set("lastAtmSearchService",this.getSelectedService());const nt={quantile:.95,endTs:this.endTime,lookback:_e,step:60*1e3,ratePer:10*60*1e3};et(at,nt),tt(at,nt),this.setState({serviceOpsMetrics:void 0,searchOps:""})}}getSelectedService(){const{selectedService:$,services:_e}=this.props;return $||store_legacy.get("lastAtmSearchService")||_e[0]}render(){const{services:$,metrics:_e,selectedTimeFrame:et,servicesLoading:tt}=this.props,rt=_e.serviceMetrics?_e.serviceMetrics.service_latencies:null,at=calcDisplayTimeUnit(rt),nt=_e.serviceMetrics?_e.serviceMetrics.service_error_rate:null;return tt?jsxRuntimeExports.jsx(LoadingIndicator,{vcentered:!0,centered:!0}):_e.isATMActivated===!1?jsxRuntimeExports.jsx(MonitorATMEmptyState,{}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[isEmpty_1(_e&&_e.serviceMetrics&&_e.serviceMetrics.service_latencies)&&jsxRuntimeExports.jsx(Alert,{message:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["No data yet! Please see these",jsxRuntimeExports.jsx(Link$1,{to:{pathname:this.docsLink},target:"_blank",children:" instructions "}),"on how to set up your span metrics."]}),type:"warning",showIcon:!0}),jsxRuntimeExports.jsxs("div",{className:"service-view-container",children:[jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsxs(Col,{span:6,children:[jsxRuntimeExports.jsx("h2",{className:"service-selector-header",children:"Choose service"}),jsxRuntimeExports.jsx(Field,{onChange:(it,ot)=>trackSelectService(ot),name:"service",component:AdaptedVirtualSelect,placeholder:"Select A Service",props:{className:"select-a-service-input",value:this.getSelectedService(),disabled:_e.operationMetricsLoading,clearable:!1,options:$.map(it=>({label:it,value:it})),required:!0}})]})}),jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsx(Col,{span:16,children:jsxRuntimeExports.jsxs("p",{className:"operations-metrics-text",children:['Aggregation of all "',this.getSelectedService(),'" metrics in selected timeframe.'," ",jsxRuntimeExports.jsx("a",{href:prefixUrl(`/search?end=${Date.now()}000&limit=20&lookback=${et/(3600*1e3)}h&maxDuration&minDuration&service=${this.getSelectedService()}&start=${Date.now()-et}000`),target:"blank",onClick:trackViewAllTraces,children:"View all traces"})]})}),jsxRuntimeExports.jsx(Col,{span:8,className:"timeframe-selector",children:jsxRuntimeExports.jsx(Field,{name:"timeframe",component:AdaptedVirtualSelect,placeholder:"Select A Timeframe",onChange:(it,ot)=>{const{label:st}=timeFrameOptions.find(lt=>lt.value===ot);trackSelectTimeframe(st)},props:{className:"select-a-timeframe-input",defaultValue:timeFrameOptions[3],value:et,disabled:_e.operationMetricsLoading,clearable:!1,options:timeFrameOptions,required:!0}})})]}),jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:8,children:[jsxRuntimeExports.jsx("div",{ref:this.graphDivWrapper}),jsxRuntimeExports.jsx(ServiceGraphImpl,{error:_e.serviceError.service_latencies_50&&_e.serviceError.service_latencies_75&&_e.serviceError.service_latencies_95,loading:_e.loading,name:`Latency (${convertTimeUnitToShortTerm(at)})`,width:this.state.graphWidth,metricsData:rt,showLegend:!0,marginClassName:"latency-margins",showHorizontalLines:!0,yAxisTickFormat:it=>yAxisTickFormat(it,at),xDomain:this.state.graphXDomain},"latency")]}),jsxRuntimeExports.jsx(Col,{span:8,children:jsxRuntimeExports.jsx(ServiceGraphImpl,{error:_e.serviceError.service_error_rate,loading:_e.loading,name:"Error rate (%)",width:this.state.graphWidth,metricsData:convertServiceErrorRateToPercentages(nt),marginClassName:"error-rate-margins",color:"#CD513A",yDomain:[0,100],xDomain:this.state.graphXDomain},"errRate")}),jsxRuntimeExports.jsx(Col,{span:8,children:jsxRuntimeExports.jsx(ServiceGraphImpl,{loading:_e.loading,error:_e.serviceError.service_call_rate,name:"Request rate (req/s)",width:this.state.graphWidth,metricsData:_e.serviceMetrics?_e.serviceMetrics.service_call_rate:null,showHorizontalLines:!0,color:"#4795BA",marginClassName:"request-margins",xDomain:this.state.graphXDomain},"requests")})]}),jsxRuntimeExports.jsxs(Row,{className:"operation-table-block",children:[jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:16,children:[jsxRuntimeExports.jsxs("h2",{className:"table-header",children:["Operations metrics under ",this.getSelectedService()]})," ",jsxRuntimeExports.jsxs("span",{className:"over-the-last",children:["Over the ",getLoopbackInterval(et)]})]}),jsxRuntimeExports.jsx(Col,{span:8,className:"select-operation-column",children:jsxRuntimeExports.jsx(Search,{placeholder:"Search operation",className:"select-operation-input",value:this.state.searchOps,disabled:_e.operationMetricsLoading===!0||_e.serviceOpsMetrics===void 0,onChange:it=>{const ot=_e.serviceOpsMetrics.filter(({name:st})=>st.toLowerCase().includes(it.target.value.toLowerCase()));this.setState({searchOps:it.target.value,serviceOpsMetrics:ot}),trackSearchOperationDebounced(it.target.value)}})})]}),jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsx(OperationTableDetails,{loading:_e.operationMetricsLoading,error:_e.opsError,data:this.state.serviceOpsMetrics===void 0?_e.serviceOpsMetrics:this.state.serviceOpsMetrics,endTime:this.endTime,lookback:et,serviceName:this.getSelectedService()})})]})]})]})}}function mapStateToProps(o){const{services:$,metrics:_e}=o;return{services:$.services||[],servicesLoading:$.loading,metrics:_e,selectedService:serviceFormSelector(o,"service")||store_legacy.get("lastAtmSearchService"),selectedTimeFrame:serviceFormSelector(o,"timeframe")||store_legacy.get("lastAtmSearchTimeframe")||oneHourInMilliSeconds}}function mapDispatchToProps(o){const{fetchServices:$,fetchAllServiceMetrics:_e,fetchAggregatedServiceMetrics:et}=bindActionCreators(jaegerApiActions,o);return{fetchServices:$,fetchAllServiceMetrics:_e,fetchAggregatedServiceMetrics:et}}const MonitorATMServicesView=connect$3(mapStateToProps,mapDispatchToProps)(reduxForm({form:"serviceForm"})(MonitorATMServicesViewImpl)),MonitorATMPage=()=>jsxRuntimeExports.jsx(MonitorATMServicesView,{});function reduceConfig(o){return o===void 0?getConfig():o}const initialState$3={dependencies:[],loading:!1,error:null};function fetchStarted$2(o){return{...o,loading:!0}}function fetchDepsDone(o,{payload:$}){return{...o,dependencies:$.data,loading:!1}}function fetchDepsErred(o,{payload:$}){return{...o,error:$,dependencies:[],loading:!1}}const dependencies=handleActions({[`${fetchDependencies}_PENDING`]:fetchStarted$2,[`${fetchDependencies}_FULFILLED`]:fetchDepsDone,[`${fetchDependencies}_REJECTED`]:fetchDepsErred},initialState$3);function addViewModifier(o,$){const{visibilityIndices:_e,viewModifier:et}=$,tt=getStateEntryKey($),rt=o[tt];if(!rt||rt.state!==fetchedState.DONE)return console.warn("Cannot set view modifiers for unloaded Deep Dependency Graph"),o;const at=new Map(rt.viewModifiers);return _e.forEach(nt=>{at.set(nt,(at.get(nt)||0)|et)}),{...o,[tt]:{...rt,viewModifiers:at}}}function viewModifierRemoval(o,$){const{visibilityIndices:_e,viewModifier:et}=$,tt=getStateEntryKey($),rt=o[tt];if(!rt||rt.state!==fetchedState.DONE)return console.warn("Cannot change view modifiers for unloaded Deep Dependency Graph"),o;const at=new Map(rt.viewModifiers);return(_e||Array.from(at.keys())).forEach(it=>{const ot=et?(at.get(it)||0)&~et:EViewModifier.None;ot===EViewModifier.None?at.delete(it):at.set(it,ot)}),{...o,[tt]:{...rt,viewModifiers:at}}}function fetchDeepDependencyGraphStarted(o,{meta:$}){const{query:_e}=$,et=getStateEntryKey(_e);return{...o,[et]:{state:fetchedState.LOADING}}}function fetchDeepDependencyGraphDone(o,{meta:$,payload:_e}){const{query:et}=$,{service:tt,operation:rt}=et,at=getStateEntryKey(et);return{...o,[at]:{model:transformDdgData$1(_e,{service:tt,operation:rt}),state:fetchedState.DONE,viewModifiers:new Map}}}function fetchDeepDependencyGraphErred(o,{meta:$,payload:_e}){const{query:et}=$,tt=getStateEntryKey(et);return{...o,[tt]:{error:_e,state:fetchedState.ERROR}}}const ddg=handleActions({[`${fetchDeepDependencyGraph}_PENDING`]:fetchDeepDependencyGraphStarted,[`${fetchDeepDependencyGraph}_FULFILLED`]:guardReducerWithMeta(fetchDeepDependencyGraphDone),[`${fetchDeepDependencyGraph}_REJECTED`]:guardReducerWithMeta(fetchDeepDependencyGraphErred),[actionTypes$3.ADD_VIEW_MODIFIER]:guardReducer(addViewModifier),[actionTypes$3.CLEAR_VIEW_MODIFIERS_FROM_INDICES]:guardReducer(viewModifierRemoval),[actionTypes$3.REMOVE_VIEW_MODIFIER]:guardReducer(viewModifierRemoval),[actionTypes$3.REMOVE_VIEW_MODIFIER_FROM_INDICES]:guardReducer(viewModifierRemoval)},{});function getDecorationDone(o,$){return $?Object.keys($).reduce((_e,et)=>{const{withOp:tt,withoutOp:rt}=$[et],at=[];rt&&Object.keys(rt).forEach(st=>{const lt=rt[st];typeof lt=="number"&&at.push(lt)});const nt=[];if(tt&&Object.keys(tt).forEach(st=>{Object.keys(tt[st]).forEach(lt=>{const ct=tt[st][lt];typeof ct=="number"&&nt.push(ct)})}),_e[et]){const{withOpMax:st,withoutOpMax:lt}=_e[et];typeof st=="number"&&nt.push(st),typeof lt=="number"&&at.push(lt);const ct=Math.max(...nt),ut=Math.max(...at);return{..._e,[et]:{withOp:tt?Object.keys(tt).reduce((ft,At)=>({...ft,[At]:Object.assign({},ft[At],tt[At])}),_e[et].withOp||{}):_e[et].withOp,withOpMax:ct,withoutOp:rt?Object.assign({},_e[et].withoutOp,rt):_e[et].withoutOp,withoutOpMax:ut}}}const it=Math.max(...nt),ot=Math.max(...at);return{..._e,[et]:{withOp:tt,withOpMax:it,withoutOp:rt,withoutOpMax:ot}}},o):o}const pathAgnosticDecorations=handleActions({[`${actionTypes$4.GET_DECORATION}_FULFILLED`]:guardReducer(getDecorationDone)},{});function embeddedConfig(o){if(o===void 0){let $=get_1$1(window,"location.search");const _e=new URLSearchParams($);return typeof window.embeddedMode=="boolean"&&window.embeddedMode&&!_e.get("uiEmbed")&&(_e.set("uiEmbed",VERSION_0),$=_e.toString()),$?getEmbeddedState($):null}return o}function localeStringComparator(o,$){return o.localeCompare($)}const initialState$2={error:null,loading:!1,operationsForService:{},serverOpsForService:{},services:null};function fetchStarted$1(o){return{...o,loading:!0}}function fetchServicesDone(o,{payload:$}){const _e=$.data||[];return _e.sort(localeStringComparator),{...o,services:_e,error:null,loading:!1}}function fetchServicesErred(o,{payload:$}){return{...o,error:$,loading:!1,services:[]}}function fetchServerOpsStarted(o,{meta:{serviceName:$}}){const _e={...o.operationsForService,[$]:[]};return{...o,serverOpsForService:_e}}function fetchServerOpsDone(o,{meta:{serviceName:$},payload:{data:_e}}){if(!Array.isArray(_e))return o;const et={...o.operationsForService,[$]:_e.map(({name:tt})=>tt).sort(localeStringComparator)};return{...o,serverOpsForService:et}}function fetchOpsStarted(o,{meta:{serviceName:$}}){const _e={...o.operationsForService,[$]:[]};return{...o,operationsForService:_e}}function fetchOpsDone(o,{meta:$,payload:_e}){const{data:et}=_e;Array.isArray(et)&&et.sort(localeStringComparator);const tt={...o.operationsForService,[$.serviceName]:et||[]};return{...o,operationsForService:tt}}const services=handleActions({[`${fetchServices}_PENDING`]:fetchStarted$1,[`${fetchServices}_FULFILLED`]:fetchServicesDone,[`${fetchServices}_REJECTED`]:fetchServicesErred,[`${fetchServiceServerOps}_PENDING`]:fetchServerOpsStarted,[`${fetchServiceServerOps}_FULFILLED`]:fetchServerOpsDone,[`${fetchServiceOperations}_PENDING`]:fetchOpsStarted,[`${fetchServiceOperations}_FULFILLED`]:fetchOpsDone},initialState$2),initialState$1={serviceError:{service_latencies_50:null,service_latencies_75:null,service_latencies_95:null,service_call_rate:null,service_error_rate:null},opsError:{opsLatencies:null,opsCalls:null,opsErrors:null},isATMActivated:null,loading:!1,operationMetricsLoading:null,serviceMetrics:null,serviceOpsMetrics:void 0};function fetchStarted(o){return{...o,serviceError:initialState$1.serviceError,loading:!0}}function fetchServiceMetricsDone(o,{payload:$}){const _e={service_latencies:null,service_call_rate:null,service_error_rate:null},et={service_latencies_50:null,service_latencies_75:null,service_latencies_95:null,service_call_rate:null,service_error_rate:null};let tt=!0;return $&&$.forEach((rt,at)=>{if(rt.status==="fulfilled"){const nt=rt.value;if(nt.metrics[0]){let it=0;const ot={serviceName:nt.metrics[0].labels[0].value,quantile:nt.quantile,max:0,metricPoints:nt.metrics[0].metricPoints.map(st=>{let lt;try{lt=parseFloat(st.gaugeValue.doubleValue.toFixed(2)),it=lt>it?lt:it}catch(ct){lt=null}return{x:new Date(st.timestamp).getTime(),y:lt}})};ot.max=it,nt.name==="service_latencies"?(_e[nt.name]===null&&(_e[nt.name]=[]),_e[nt.name].push(ot)):_e[nt.name]=ot}}else switch(typeof rt.reason=="object"&&rt.reason.httpStatus===501&&(tt=!1),at){case 0:et.service_latencies_50=rt.reason;break;case 1:et.service_latencies_75=rt.reason;break;case 2:et.service_latencies_95=rt.reason;break;case 3:et.service_call_rate=rt.reason;break;case 4:et.service_error_rate=rt.reason;break}}),{...o,serviceMetrics:_e,serviceError:et,loading:!1,isATMActivated:tt}}function fetchOpsMetricsStarted(o){return{...o,opsError:initialState$1.opsError,operationMetricsLoading:!0}}function fetchOpsMetricsDone(o,{payload:$}){const _e={opsLatencies:null,opsCalls:null,opsErrors:null};let et=null,tt;if($){$.forEach((at,nt)=>{if(at.status==="fulfilled"){const it=at.value;it.metrics.forEach(ot=>{et===null&&(et={});let st=null;const lt={service_operation_latencies:0,service_operation_call_rate:0,service_operation_error_rate:0};ot.labels.forEach(ct=>{ct.name==="operation"&&(st=ct.value)}),st&&(et[st]===void 0&&(et[st]={name:st,metricPoints:{service_operation_latencies:[],service_operation_call_rate:[],service_operation_error_rate:[],avg:{service_operation_latencies:null,service_operation_call_rate:null,service_operation_error_rate:null}}}),et[st].metricPoints[it.name]=ot.metricPoints.map(ct=>{let ut;try{ut=parseFloat(ct.gaugeValue.doubleValue.toFixed(2)),lt[it.name]+=ut}catch(ft){ut=null}return{x:new Date(ct.timestamp).getTime(),y:ut}}),et[st].metricPoints.avg[it.name]=ot.metricPoints.length>0?parseFloat((lt[it.name]/ot.metricPoints.length).toFixed(2)):null)})}else switch(nt){case 0:_e.opsLatencies=at.reason;break;case 1:_e.opsCalls=at.reason;break;case 2:_e.opsErrors=at.reason;break}});const rt={min:0,max:0};et&&(tt=Object.keys(et).map((at,nt)=>{let it=0;return et[at].metricPoints.avg.service_operation_latencies!==null&&et[at].metricPoints.avg.service_operation_call_rate!==null&&(it=et[at].metricPoints.avg.service_operation_latencies*et[at].metricPoints.avg.service_operation_call_rate/100),nt===0?(rt.max=it,rt.min=it):(rt.max=rt.maxit?it:rt.min),{key:nt,name:et[at].name,latency:et[at].metricPoints.avg.service_operation_latencies||0,requests:et[at].metricPoints.avg.service_operation_call_rate||0,errRates:et[at].metricPoints.avg.service_operation_error_rate||0,impact:it,dataPoints:et[at].metricPoints}}),tt&&tt.length===1?tt.forEach((at,nt)=>{tt[nt].impact=1}):tt&&tt.length>1&&tt.forEach((at,nt)=>{rt.max-rt.min===0?tt[nt].impact=0:tt[nt].impact=(at.impact-rt.min)/(rt.max-rt.min)}))}return{...o,serviceOpsMetrics:tt,opsError:_e,operationMetricsLoading:!1}}const metrics=handleActions({[`${fetchAllServiceMetrics}_PENDING`]:fetchStarted,[`${fetchAllServiceMetrics}_FULFILLED`]:fetchServiceMetricsDone,[`${fetchAggregatedServiceMetrics}_PENDING`]:fetchOpsMetricsStarted,[`${fetchAggregatedServiceMetrics}_FULFILLED`]:fetchOpsMetricsDone},initialState$1);function deduplicateTags(o){const $=new Map,_e=o.reduce((tt,rt)=>(tt.some(at=>at.key===rt.key&&at.value===rt.value)?$.set(`${rt.key}:${rt.value}`,`Duplicate tag "${rt.key}:${rt.value}"`):tt.push(rt),tt),[]),et=Array.from($.values());return{tags:_e,warnings:et}}function orderTags(o,$){const _e=o.slice(),et=($||[]).map(tt=>tt.toLowerCase());return _e.sort((tt,rt)=>{const at=tt.key.toLowerCase(),nt=rt.key.toLowerCase();for(let it=0;itnt?1:at!!ct.startTime);const at=o.spans.length;for(let ct=0;ct_e&&(_e=ft+At);const bt=tt.get(ht);bt!=null?(console.warn(`Dupe spanID, ${bt+1} x ${ht}`,ut,rt.get(ht)),isEqual_1(ut,rt.get(ht))&&console.warn(" two spans with same ID have `isEqual(...) === true`"),tt.set(ht,bt+1),ht=`${ht}_${bt}`,ut.spanID=ht):tt.set(ht,1),ut.process=o.processes[vt],rt.set(ht,ut)}const nt=getTraceSpanIdsAsTree(o),it=[],ot={};nt.walk((ct,ut,ft=0)=>{if(ct==="__root__")return;const At=rt.get(ct);if(!At)return;const{serviceName:vt}=At.process;ot[vt]=(ot[vt]||0)+1,At.relativeStartTime=At.startTime-et,At.depth=ft-1,At.hasChildren=ut.children.length>0,At.warnings=At.warnings||[],At.tags=At.tags||[],At.references=At.references||[];const ht=deduplicateTags(At.tags);At.tags=orderTags(ht.tags,getConfigValue("topTagPrefixes")),At.warnings=At.warnings.concat(ht.warnings),At.references.forEach((bt,pt)=>{const dt=rt.get(bt.spanID);dt&&(bt.span=dt,pt>0&&(dt.subsidiarilyReferencedBy=dt.subsidiarilyReferencedBy||[],dt.subsidiarilyReferencedBy.push({spanID:ct,traceID:$,span:At,refType:bt.refType})))}),it.push(At)});const st=getTraceName(it);return{services:Object.keys(ot).map(ct=>({name:ct,numberOfSpans:ot[ct]})),spans:it,traceID:$,traceName:st,processes:o.processes,duration:_e-et,startTime:et,endTime:_e}}const initialState={traces:{},search:{query:null,results:[]}};function fetchTraceStarted(o,{meta:$}){const{id:_e}=$,et={...o.traces,[_e]:{id:_e,state:fetchedState.LOADING}};return{...o,traces:et}}function fetchTraceDone(o,{meta:$,payload:_e}){const{id:et}=$,tt=transformTraceData(_e.data[0]);let rt;tt?rt={data:tt,id:et,state:fetchedState.DONE}:rt={id:et,state:fetchedState.ERROR,error:new Error("Invalid trace data recieved.")};const at={...o.traces,[et]:rt};return{...o,traces:at}}function fetchTraceErred(o,{meta:$,payload:_e}){const{id:et}=$,tt={id:et,error:_e,state:fetchedState.ERROR},rt={...o.traces,[et]:tt};return{...o,traces:rt}}function fetchMultipleTracesStarted(o,{meta:$}){const{ids:_e}=$,et={...o.traces};return _e.forEach(tt=>{et[tt]={id:tt,state:fetchedState.LOADING}}),{...o,traces:et}}function fetchMultipleTracesDone(o,{payload:$}){const _e={...o.traces};return $.data.forEach(et=>{const tt=transformTraceData(et);_e[tt.traceID]={data:tt,id:tt.traceID,state:fetchedState.DONE}}),$.errors&&$.errors.forEach(et=>{const{msg:tt,traceID:rt}=et,at=new Error(`Error: ${tt} - ${rt}`);_e[rt]={error:at,id:rt,state:fetchedState.ERROR}}),{...o,traces:_e}}function fetchMultipleTracesErred(o,{meta:$,payload:_e}){const{ids:et}=$,tt={...o.traces},rt=_e;return et.forEach(at=>{tt[at]={error:rt,id:at,state:fetchedState.ERROR}}),{...o,traces:tt}}function fetchSearchStarted(o,{meta:$}){const{query:_e}=$,et={query:_e,results:[],state:fetchedState.LOADING};return{...o,search:et}}function searchDone(o,{meta:$,payload:_e}){if(!isEqual_1(o.search.query,$.query))return o;const et=_e.data,tt=et.map(transformTraceData),rt={},at=[];for(let ot=0;ot"u"?"undefined":_typeof(o))==="object"?o&&typeof o.then=="function":!1}var _slicedToArray=function(){function o($,_e){var et=[],tt=!0,rt=!1,at=void 0;try{for(var nt=$[Symbol.iterator](),it;!(tt=(it=nt.next()).done)&&(et.push(it.value),!(_e&&et.length===_e));tt=!0);}catch(ot){rt=!0,at=ot}finally{try{!tt&&nt.return&&nt.return()}finally{if(rt)throw at}}return et}return function($,_e){if(Array.isArray($))return $;if(Symbol.iterator in Object($))return o($,_e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_extends=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{},$=o.promiseTypeSuffixes||defaultTypes,_e=o.promiseTypeDelimiter||"_";return function(et){var tt=et.dispatch;return function(rt){return function(at){var nt=void 0,it=void 0;if(at.payload){var ot=at.payload;if(isPromise(ot))nt=ot;else if(isPromise(ot.promise))nt=ot.promise,it=ot.data;else if(typeof ot=="function"||typeof ot.promise=="function"){if(nt=ot.promise?ot.promise():ot(),it=ot.promise?ot.data:void 0,!isPromise(nt))return rt(_extends({},at,{payload:nt}))}else return rt(at)}else return rt(at);var st=at.type,lt=at.meta,ct=_slicedToArray($,3),ut=ct[0],ft=ct[1],At=ct[2],vt=function(dt,_t){return _extends({type:[st,_t?At:ft].join(_e)},dt===null||typeof dt>"u"?{}:{payload:dt},lt!==void 0?{meta:lt}:{},_t?{error:!0}:{})},ht=function(dt){var _t=vt(dt,!0);throw tt(_t),dt},bt=function(){var dt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,_t=vt(dt,!1);return tt(_t),{value:dt,action:_t}};return rt(_extends({type:[st,ut].join(_e)},it!==void 0?{payload:it}:{},lt!==void 0?{meta:lt}:{})),nt.then(bt,ht)}}}}const ACTION_RESIZE="resize",ACTION_COLLAPSE_ALL="collapse-all",ACTION_COLLAPSE_ONE="collapse-one",ACTION_EXPAND_ALL="expand-all",ACTION_EXPAND_ONE="expand-one",CATEGORY_BASE="jaeger/ux/trace/timeline",CATEGORY_COLUMN=`${CATEGORY_BASE}/column`,CATEGORY_EXPAND_COLLAPSE=`${CATEGORY_BASE}/expand-collapse`,CATEGORY_LOGS=`${CATEGORY_BASE}/logs`,CATEGORY_LOGS_ITEM=`${CATEGORY_BASE}/logs/item`,CATEGORY_PARENT=`${CATEGORY_BASE}/parent`,CATEGORY_PROCESS=`${CATEGORY_BASE}/process`,CATEGORY_ROW=`${CATEGORY_BASE}/row`,CATEGORY_TAGS=`${CATEGORY_BASE}/tags`;function getDetail(o,{payload:$}){return $?o.getState().traceTimeline.detailStates.get($.spanID):void 0}function trackDetailState(o,$,_e){const et=getDetail(o,$);et&&_e(et)}function trackParent(o,{payload:$}){if(!$)return;const _e=o.getState(),et=_e.traceTimeline.traceID;if(!et)return;const{spanID:tt}=$,rt=_e.traceTimeline.childrenHiddenIDs.has(tt),at=_e.trace.traces[et]||_e.trace.traces[et.replace(/^0*/,"")];if(!at||!at.data)return;const nt=at.data.spans.find(it=>it.spanID===tt);nt&&trackEvent(CATEGORY_PARENT,getToggleValue(!rt),nt.depth)}function trackLogsItem(o,$){const _e=getDetail(o,$),{payload:et}=$;if(!_e||!et||!("logItem"in et))return;const{logItem:tt}=et,rt=!!_e.logs.openedItems.has(tt);trackEvent(CATEGORY_LOGS_ITEM,getToggleValue(rt))}const trackColumnWidth=(o,{payload:$})=>$&&trackEvent(CATEGORY_COLUMN,ACTION_RESIZE,Math.round($.width*1e3)),trackDetailRow=o=>trackEvent(CATEGORY_ROW,getToggleValue(o)),trackLogs=o=>trackEvent(CATEGORY_LOGS,getToggleValue(o.logs.isOpen)),trackProcess=o=>trackEvent(CATEGORY_PROCESS,getToggleValue(o.isProcessOpen)),trackTags=o=>trackEvent(CATEGORY_TAGS,getToggleValue(o.isTagsOpen)),hooks={[actionTypes.CHILDREN_TOGGLE]:trackParent,[actionTypes.DETAIL_TOGGLE]:(o,$)=>trackDetailRow(!!getDetail(o,$)),[actionTypes.DETAIL_TAGS_TOGGLE]:(o,$)=>trackDetailState(o,$,trackTags),[actionTypes.DETAIL_PROCESS_TOGGLE]:(o,$)=>trackDetailState(o,$,trackProcess),[actionTypes.DETAIL_LOGS_TOGGLE]:(o,$)=>trackDetailState(o,$,trackLogs)},middlewareHooks$1={...hooks,[actionTypes.COLLAPSE_ALL]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_COLLAPSE_ALL),[actionTypes.COLLAPSE_ONE]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_COLLAPSE_ONE),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:trackLogsItem,[actionTypes.EXPAND_ALL]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_EXPAND_ALL),[actionTypes.EXPAND_ONE]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_EXPAND_ONE),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:trackColumnWidth},middlewareHooks={...middlewareHooks$1,...middlewareHooks$2};function trackingMiddleware(o){return function(_e){return function(tt){const{type:rt}=tt;return typeof middlewareHooks[rt]=="function"&&middlewareHooks[rt](o,tt),_e(tt)}}}const track=isWaEnabled?trackingMiddleware:void 0,loadOperationsForServiceMiddleware=o=>$=>_e=>(_e.type==="@@redux-form/CHANGE"&&_e.meta.form==="searchSideBar"&&_e.meta.field==="service"&&_e.payload!=="-"&&(o.dispatch(fetchServiceOperations(_e.payload)),o.dispatch(change("searchSideBar","operation","all"))),$(_e)),historyUpdateMiddleware=o=>$=>_e=>{if(_e.type===String(searchTraces)){const et=getUrl$2(_e.meta.query);o.dispatch(replace(et))}return $(_e)},promise=promiseMiddleware(),jaegerMiddlewares=Object.freeze(Object.defineProperty({__proto__:null,historyUpdateMiddleware,loadOperationsForServiceMiddleware,promise,trackMiddleware:track},Symbol.toStringTag,{value:"Module"}));function configureStore(o){return createStore$2(combineReducers({...jaegerReducers,archive,traceDiff,traceTimeline,router:routerReducer}),compose$1(applyMiddleware(...Object.keys(jaegerMiddlewares).map($=>jaegerMiddlewares[$]).filter(Boolean),routerMiddleware(o)),$=>$))}function processScripts(){const o=getConfigValue("scripts");o&&o.forEach($=>{if($.type==="inline"){const _e=document.createTextNode($.text),et=document.createElement("script");et.append(_e),document.body.appendChild(et)}})}const MIN_ZOOM_LEVEL=.7,MAX_ZOOM_LEVEL=1.5,ZOOM_FACTOR=.1;class ZoomManager{constructor(){this.updateStyles=()=>{document.body.style.zoom=this.zoomLevel},this.zoomIn=()=>{this.zoomLevel=Math.min(this.zoomLevel+ZOOM_FACTOR,MAX_ZOOM_LEVEL),this.updateStyles()},this.zoomOut=()=>{this.zoomLevel=Math.max(this.zoomLevel-ZOOM_FACTOR,MIN_ZOOM_LEVEL),this.updateStyles()},this.zoomLevel=typeof document.body.style.zoom=="number"?document.body.style.zoom:1}}const vars="",utils="",index="",history=_default$bF();class JaegerUIApp extends reactExports.Component{constructor($){super($),this.store=configureStore(history),JaegerAPI.apiRoot=DEFAULT_API_ROOT,processScripts(),this.zoomManager=new ZoomManager,this._handleZoomKeyboardShortcuts=this._handleZoomKeyboardShortcuts.bind(this)}componentDidMount(){document.addEventListener("keydown",this._handleZoomKeyboardShortcuts)}componentWillUnmount(){document.removeEventListener("keydown",this._handleZoomKeyboardShortcuts)}_handleZoomKeyboardShortcuts($){if(window.enableZoomControls&&($.metaKey||$.ctrlKey))switch($.key){case"-":this.zoomManager.zoomOut();break;case"=":this.zoomManager.zoomIn();break}}render(){if(isString$6(window.initialRoutePath)&&window.initialRoutePath){const $=window.initialRoutePath;window.initialRoutePath="",history.push($)}return jsxRuntimeExports.jsx(Provider$3,{store:this.store,children:jsxRuntimeExports.jsx(ConnectedRouter,{history,children:jsxRuntimeExports.jsx(ZoomContext.Provider,{value:this.zoomManager,children:jsxRuntimeExports.jsx(Page,{children:jsxRuntimeExports.jsxs(Switch$1,{children:[jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$2,component:SearchTracePage}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$1,component:TraceDiff}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$6,component:TracePage}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$5,component:DependencyGraph}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$4,component:DeepDependencies}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$3,component:QualityMetrics}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH,component:MonitorATMPage}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:"/",to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:prefixUrl(),to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:prefixUrl("/"),to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Route$1,{component:NotFound})]})})})})})}}var LOG_LEVEL=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.NONE=4]="NONE",o))(LOG_LEVEL||{});class Logger{constructor($,_e=!0,et=!0){this.minLogLevel=$,this.showTimeStamp=_e,this.showLogLevel=et}getTimestampTag(){return hooks$1(new Date).format("HH:mm:ss")}getLogLevelTag(){return LOG_LEVEL[this.minLogLevel]}getFormattedMessage($,_e){return this.showLogLevel&&$.unshift(this.getLogLevelTag()),this.showTimeStamp&&$.unshift(this.getTimestampTag()),`${$.map(tt=>`[${tt}]`).join("")}: ${_e}`}setLogLevel($){this.minLogLevel=$}log($,_e,et,...tt){const rt=this.getFormattedMessage(_e,et);if(!(this.minLogLevel>$))switch($){case LOG_LEVEL.DEBUG:console.debug(rt,...tt);break;case LOG_LEVEL.INFO:console.info(rt,...tt);break;case LOG_LEVEL.WARN:console.warn(rt,...tt);break;case LOG_LEVEL.ERROR:console.error(rt,...tt);break}}debug($,..._e){this.log(LOG_LEVEL.DEBUG,[],$,..._e)}info($,..._e){this.log(LOG_LEVEL.INFO,[],$,..._e)}warn($,..._e){this.log(LOG_LEVEL.WARN,[],$,..._e)}error($,..._e){this.log(LOG_LEVEL.ERROR,[],$,..._e)}}const logger=new Logger(window.isLoggingEnabled===!0?LOG_LEVEL.DEBUG:LOG_LEVEL.NONE),isNull=o=>o===null,isObject=o=>typeof o=="object"&&!isNull(o),isDigmaMessageEvent=o=>isObject(o.data)&&o.data.type==="digma",OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: blue; font-weight: bold",FAILED_OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: red; font-weight: bold",INCOMING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: green; font-weight: bold",initializeDigmaMessageListener=o=>{const $=_e=>{isDigmaMessageEvent(_e)&&(logger.debug(`Message received: %c${_e.data.action} + c15.841-15.841,41.523-15.829,57.358,0C409.23,82.902,409.23,108.578,393.401,124.425z`})))}const v4={dropdownMenu:"J678hvn1r+E07yCv8bQwPQ==",dropdownMenuButton:"tKAw4h6chUOdq3FlfFl3Iw=="};var rA=Object.getOwnPropertySymbols,qv=Object.prototype.hasOwnProperty,m2=Object.prototype.propertyIsEnumerable,m3=(yt,kt)=>{var St={};for(var Pt in yt)qv.call(yt,Pt)&&kt.indexOf(Pt)<0&&(St[Pt]=yt[Pt]);if(yt!=null&&rA)for(var Pt of rA(yt))kt.indexOf(Pt)<0&&m2.call(yt,Pt)&&(St[Pt]=yt[Pt]);return St};function s1(yt){var kt=yt,{id:St,children:Pt,className:Gt,disabled:Qt,value:Xt,label:rr,onItemClick:fr,overflow:pr,position:_r,direction:$r,align:zr,viewScroll:Xr,arrow:Qr,offsetX:en,offsetY:Zr,menuButtonClassName:Gr="",ariaLabel:wn}=kt,Tn=m3(kt,["id","children","className","disabled","value","label","onItemClick","overflow","position","direction","align","viewScroll","arrow","offsetX","offsetY","menuButtonClassName","ariaLabel"]);const Hn=Tn.menuButton||dt().createElement(ro,{"aria-label":wn,className:`${v4.dropdownMenuButton} ${Gr}`,disabled:Qt,type:"button"},Xt||rr);return dt().createElement(i4,{id:St,"aria-label":wn,className:g2()(Gt,v4.dropdownMenu),"data-testid":Tn["data-testid"],onItemClick:fr,overflow:pr,position:_r,direction:$r,align:zr,viewScroll:Xr,arrow:Qr,offsetX:en,offsetY:Zr,menuButton:Hn},dt().createElement(Fp,null,rr),Pt)}const K0=Cu,ro=a4,l1={diffPaletteDropdown:"_6c8KIUK3wkkAS+zkvzR6PQ==",dropdownWrapper:"-ufQfGGUIgxKWexx4vHnlw==",dropdownItem:"ZmNLcnPdS72h63urXHirRw==","rc-menu-item":"Vh5XCujqCzvUq1Sd4g0JLg==",row:"v0fu72DcFs5hE2iPZcxYbA=="},Jv=[R2,d3],Xv=yt=>{const{palette:kt=R2,onChange:St}=yt,Pt=dt().useRef(null),Gt=e6(Pt);return dt().createElement(dt().Fragment,null,dt().createElement("div",{className:l1.row,role:"heading","aria-level":2},dt().createElement("p",{style:{color:kt.goodColor.rgb().string()}},"(-) Removed"),dt().createElement("p",{style:{color:kt.badColor.rgb().string()}},"Added (+)")),dt().createElement("div",{ref:Pt,className:l1.dropdownWrapper},dt().createElement(s1,{label:"Select a palette",menuButton:dt().createElement(ro,{className:g2()(v4.dropdownMenuButton,l1.diffPaletteDropdown)},dt().createElement(b3,{palette:kt,showMode:Gt})),onItemClick:Qt=>St(Qt.value)},Jv.map(Qt=>dt().createElement(K0,{key:Qt.name,value:Qt},dt().createElement("div",null,dt().createElement("label",null,Qt.name),dt().createElement("div",{className:l1.dropdownItem},dt().createElement(b3,{palette:Qt,showMode:Gt}),Qt===kt?dt().createElement(g3,null):null)))))))},Kv=13*37,e6=yt=>{const[kt,St]=dt().useState("large"),Pt=Gt=>Gt{if(yt.current){const{width:Gt}=yt.current.getBoundingClientRect();St(Pt(Gt))}},[yt.current]),K1(yt,Gt=>{St(Pt(Gt.contentRect.width))}),kt};function t6(yt){const{format:kt,units:St,ExportData:Pt=dt().createElement(dt().Fragment,null),palette:Gt,setPalette:Qt,toolbarVisible:Xt}=yt,rr={objects:"number of objects in RAM per function",goroutines:"number of goroutines",bytes:"amount of RAM per function",samples:"CPU time per function",lock_nanoseconds:"time spent waiting on locks per function",lock_samples:"number of contended locks per function",trace_samples:"aggregated span duration","":""},fr=Xt?(()=>{switch(kt){case"single":return dt().createElement("div",null,dt().createElement("div",{className:`${J0.row} ${J0.flamegraphTitle}`,role:"heading","aria-level":2},rr[St]&&dt().createElement(dt().Fragment,null,"Frame width represents ",rr[St])));case"double":return dt().createElement(dt().Fragment,null,dt().createElement(Xv,{palette:Gt,onChange:Qt}));default:throw new Error(`unexpected format ${kt}`)}})():null;return dt().createElement("div",{className:J0.flamegraphHeader},dt().createElement("div",null,fr),Pt?dt().createElement("div",{className:J0.buttons},Pt):dt().createElement(dt().Fragment,null))}const r6={flamegraphPane:"sQhkbo9-hkp-QcidoRJEzQ=="};function y3(yt){const kt=dt().useRef(null),St=(0,bt.useRef)(),[Pt,Gt]=dt().useState(cn.nothing()),{flamebearer:Qt,focusedNode:Xt,fitMode:rr,highlightQuery:fr,zoom:pr,toolbarVisible:_r,showCredit:$r,setActiveItem:zr,selectedItem:Xr}=yt,{onZoom:Qr,onReset:en,isDirty:Zr,onFocusOnNode:Gr}=yt,{ExportData:wn}=yt,{"data-testid":Tn}=yt,{palette:Hn,setPalette:Sn}=yt,qn=(0,bt.useCallback)(kv()(()=>{br()},50),[]);K1(kt,()=>{St&&qn()});const xa=Rr=>{const Br=Fr().xyToBar(Rr.nativeEvent.offsetX,Rr.nativeEvent.offsetY);Br.match({Nothing:()=>{},Just:$a=>{pr.match({Nothing:()=>{Qr(Br)},Just:sn=>{$a.i===sn.i&&$a.j===sn.j?Qr(cn.nothing()):Qr(Br)}})}})},pt=(Rr,Br)=>Fr().xyToBar(Rr,Br).map($a=>({left:xr().offsetLeft+$a.x,top:xr().offsetTop+$a.y,width:$a.width})),$t=(Rr,Br)=>Fr().xyToBar(Rr,Br),Dt=()=>{Gt(cn.nothing())},Zt=(Rr,Br)=>{Gt(pt(Rr,Br))},tr=(0,bt.useCallback)((Rr,Br)=>{const $a=Zr(),sn=Fr().xyToBar(Rr,Br),un=sn.isJust?sn.value.name:"",In=()=>{const Pn=sn.mapOrElse(()=>!1,()=>!0),h0=sn.mapOrElse(()=>()=>{},g0=>Gr.bind(null,g0.i,g0.j));return dt().createElement(Cu,{key:"focus",disabled:!Pn,onClick:h0},dt().createElement(mn,{icon:j1.V9}),"Collapse nodes above")},dn=()=>{const Pn=()=>{!navigator.clipboard||navigator.clipboard.writeText(un)};return dt().createElement(Cu,{key:"copy",onClick:Pn},dt().createElement(mn,{icon:K2.kZ}),"Copy function name")},Dn=()=>{const Pn=()=>{zr({name:un})},h0=Xr.isJust&&Xr.value===un?"Clear highlight":"Highlight similar nodes";return dt().createElement(Cu,{key:"highlight-similar-nodes",onClick:Pn},dt().createElement(mn,{icon:z8.Y6}),h0)};return[dt().createElement(Cu,{key:"reset",disabled:!$a,onClick:en},dt().createElement(mn,{icon:XA.XS}),"Reset View"),In(),dn(),Dn()]},[St,Xr]),cr=()=>{if(kt.current){const Rr=new ep(Qt,kt.current,Xt,rr,fr,pr,Hn);St.current=Rr}};dt().useEffect(()=>{cr(),br()},[Hn]),dt().useEffect(()=>{cr(),br()},[kt.current,Qt,Xt,rr,fr,pr]);const br=()=>{var Rr,Br,$a;(Rr=kt==null?void 0:kt.current)==null||Rr.setAttribute("data-state","rendering"),(Br=St==null?void 0:St.current)==null||Br.render(),($a=kt==null?void 0:kt.current)==null||$a.setAttribute("data-state","rendered")},wr=!Qt||Qt&&Qt.names.length<=1,xr=()=>{if(!kt.current)throw new Error("Missing canvas");return kt.current},Fr=()=>{if(!St.current)throw new Error("Missing canvas");return St.current};return dt().createElement("div",{"data-testid":"flamegraph-view",className:Wl(r6.flamegraphPane,{"vertical-orientation":Qt.format==="double"})},dt().createElement(t6,{format:Qt.format,units:Qt.units,ExportData:wn,palette:Hn,setPalette:Sn,toolbarVisible:_r}),dt().createElement("div",{"data-testid":Tn,style:{opacity:wr?0:1}},dt().createElement("canvas",{height:"0","data-testid":"flamegraph-canvas","data-highlightquery":fr,className:Wl("flamegraph-canvas",Ev.canvas),ref:kt,onClick:xa})),$r?dt().createElement(As,null):"",St&&kt&&dt().createElement(Ov,{barHeight:A0,canvasRef:kt,zoom:pr,xyToHighlightData:pt}),St&&dt().createElement(c3,{barHeight:A0,node:Pt}),St&&dt().createElement(jv,{format:Qt.format,canvasRef:kt,xyToData:$t,numTicks:Qt.numTicks,sampleRate:Qt.sampleRate,leftTicks:Qt.format==="double"?Qt.leftTicks:0,rightTicks:Qt.format==="double"?Qt.rightTicks:0,units:Qt.units,palette:Hn}),St&&kt&&dt().createElement(nu,{canvasRef:kt,xyToMenuItems:tr,onClose:Dt,onOpen:Zt}))}const Sl={table:"lEpSh-rOmaE5zcLKRPK0zg==",sortable:"EgDtrXnincRVPXTb58YV7g==",sortArrow:"K8lX8n2m68NgdYq1vXrGQA==",asc:"kf05VUyDM4gEXaiYchZLDQ==",desc:"SwVSTFb7+JtI0Ter5socwQ==",isRowSelected:"+NsZxUzwZfmKMTT3UeTBug==",isRowDisabled:"Jhqi+nxb2FEJkOLMACjE0A==",loadingSpinner:"uqa4BHuGVRjAsdPIyEz8KQ=="};var b4=ht(424),a6=ht.n(b4);function w3({className:yt}){return dt().createElement("span",{role:"progressbar",className:yt},dt().createElement(a6(),{color:"rgba(255,255,255,0.6)",size:"20px"}))}var aA=Object.defineProperty,Cs=Object.defineProperties,Tu=Object.getOwnPropertyDescriptors,nA=Object.getOwnPropertySymbols,k3=Object.prototype.hasOwnProperty,E3=Object.prototype.propertyIsEnumerable,_3=(yt,kt,St)=>kt in yt?aA(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,iA=(yt,kt)=>{for(var St in kt||(kt={}))k3.call(kt,St)&&_3(yt,St,kt[St]);if(nA)for(var St of nA(kt))E3.call(kt,St)&&_3(yt,St,kt[St]);return yt},g4=(yt,kt)=>Cs(yt,Tu(kt)),Ol=(yt,kt)=>{var St={};for(var Pt in yt)k3.call(yt,Pt)&&kt.indexOf(Pt)<0&&(St[Pt]=yt[Pt]);if(yt!=null&&nA)for(var Pt of nA(yt))kt.indexOf(Pt)<0&&E3.call(yt,Pt)&&(St[Pt]=yt[Pt]);return St};const Qn=yt=>{const kt=yt.filter(Xt=>Xt==null?void 0:Xt.default)[0]||yt[0],[St,Pt]=(0,bt.useState)(kt.name),[Gt,Qt]=(0,bt.useState)("desc");return{sortBy:St,sortByDirection:Gt,updateSortParams:Xt=>{let rr=Gt;St===Xt?rr=rr==="asc"?"desc":"asc":rr="desc",Pt(Xt),Qt(rr)}}};function x3({sortByDirection:yt,sortBy:kt,updateSortParams:St,table:Pt,tableBodyRef:Gt,className:Qt,isLoading:Xt}){var rr;const fr=yt&&kt&&St;return Xt?dt().createElement("div",{className:Sl.loadingSpinner},dt().createElement(w3,null)):dt().createElement("table",{className:Wl(Sl.table,{[Qt||""]:Qt}),"data-testid":"table-ui"},dt().createElement("thead",null,dt().createElement("tr",null,Pt.headRow.map((pr,_r)=>{var $r=pr,{sortable:zr,label:Xr,name:Qr}=$r,en=Ol($r,["sortable","label","name"]);return!zr||Pt.type==="not-filled"||!fr?dt().createElement("th",iA({key:_r},en),Xr):dt().createElement("th",g4(iA({},en),{key:_r,className:Sl.sortable,onClick:()=>St(Qr)}),Xr,dt().createElement("span",{className:Wl(Sl.sortArrow,{[Sl[yt]]:kt===Qr})}))}))),dt().createElement("tbody",{ref:Gt},Pt.type==="not-filled"?dt().createElement("tr",{className:Pt==null?void 0:Pt.bodyClassName},dt().createElement("td",{colSpan:Pt.headRow.length},Pt.value)):(rr=Pt.bodyRows)==null?void 0:rr.map(pr=>{var _r=pr,{cells:$r,isRowSelected:zr,isRowDisabled:Xr,className:Qr}=_r,en=Ol(_r,["cells","isRowSelected","isRowDisabled","className"]);const Zr=Math.random();return dt().createElement("tr",g4(iA({key:Zr},en),{className:Wl(Qr,{[Sl.isRowSelected]:zr,[Sl.isRowDisabled]:Xr})}),$r&&$r.map((Gr,wn)=>{var Tn=Gr,{style:Hn,value:Sn}=Tn,qn=Ol(Tn,["style","value"]);return dt().createElement("td",iA({key:Zr+wn,style:Hn},qn),Sn)}))})))}const Gs=x3;function C3({numTicks:yt,sampleRate:kt,units:St,tableBodyRef:Pt}){const Gt=ir(yt,kt,St),Qt=Gt.format(yt,kt),Xt=(0,bt.useCallback)((rr,fr,pr)=>{var _r;const $r=(_r=pr.target.closest("tr"))==null?void 0:_r.dataset.row;if(!$r){fr();return}const[zr,Xr,Qr]=$r.split(";"),en=Gt.format(parseInt(Xr,10),kt),Zr=Gt.format(parseInt(Qr,10),kt),Gr=Qt.split(" "),wn=Gr[0]==="<"?Gr[1]:Gr[0],Tn=en.split(" "),Hn=Tn[0]==="<"?Tn[1]:Tn[0],Sn=Zr.split(" "),qn=Sn[0]==="<"?Sn[1]:Sn[0],xa={units:St,self:`${en}(${(parseFloat(Hn)/parseFloat(wn)*100).toFixed(2)}%)`,total:`${Zr}(${(parseFloat(qn)/parseFloat(wn)*100).toFixed(2)}%)`,tooltipType:"table"};rr({title:{text:zr,diff:{text:"",color:""}},tooltipData:[xa]})},[Pt,yt,Gt,kt]);return dt().createElement(h3,{dataSourceRef:Pt,shouldShowTitle:!1,clickInfoSide:"left",setTooltipContent:Xt})}var n6=Object.defineProperty,C0=Object.defineProperties,i6=Object.getOwnPropertyDescriptors,m4=Object.getOwnPropertySymbols,oA=Object.prototype.hasOwnProperty,o6=Object.prototype.propertyIsEnumerable,$3=(yt,kt,St)=>kt in yt?n6(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,T3=(yt,kt)=>{for(var St in kt||(kt={}))oA.call(kt,St)&&$3(yt,St,kt[St]);if(m4)for(var St of m4(kt))o6.call(kt,St)&&$3(yt,St,kt[St]);return yt},s6=(yt,kt)=>C0(yt,i6(kt));const Xl=yt=>yt||0;function l6(yt,kt,St,Pt){const Gt=kt;return Gt.type="single",Gt.self=Xl(Gt.self)+yt.getBarSelf(St,Pt),Gt.total=Xl(Gt.total)+yt.getBarTotal(St,Pt),Gt}function c6(yt,kt,St,Pt){const Gt=kt;return Gt.type="double",Gt.self=Xl(Gt.self)+yt.getBarSelf(St,Pt),Gt.total=Xl(Gt.total)+yt.getBarTotal(St,Pt),Gt.selfLeft=Xl(Gt.selfLeft)+yt.getBarSelfLeft(St,Pt),Gt.selfRght=Xl(Gt.selfRght)+yt.getBarSelfRght(St,Pt),Gt.selfDiff=Xl(Gt.selfDiff)+yt.getBarSelfDiff(St,Pt),Gt.totalLeft=Xl(Gt.totalLeft)+yt.getBarTotalLeft(St,Pt),Gt.totalRght=Xl(Gt.totalRght)+yt.getBarTotalRght(St,Pt),Gt.totalDiff=Xl(Gt.totalDiff)+yt.getBarTotalDiff(St,Pt),Gt}function u6(yt){const kt=[];if(!yt)return kt;const{names:St,levels:Pt,format:Gt}=yt,Qt=Gt!=="double"?sr:gr,Xt={};for(let rr=0;rr"},Gt==="single"?l6(sr,Xt[$r],fr,pr):c6(gr,Xt[$r],fr,pr)}}return Object.values(Xt)}function sA(yt){return Math.min(0,yt)}function S3(yt,kt,St){const Pt=148-yt/kt*148,Gt=St.alpha(1);return{backgroundImage:`linear-gradient(${Gt}, ${Gt})`,backgroundPosition:`-${Pt}px 0px`,backgroundRepeat:"no-repeat"}}function Su(yt,kt,St,Pt,Gt,Qt){const Xt=148-Math.min(kt,St)/Pt*148,rr=148-Math.max(kt,St)/Pt*148,fr=Gt.alpha(1),pr=St({diff:[yt.name,yt.selfDiff,yt.totalDiff],self:[yt.name,yt.selfLeft,yt.selfRght],total:[yt.name,yt.totalLeft,yt.totalRght]}))({name:{sortable:1,name:"name",label:"Location"},selfLeft:{sortable:1,name:"selfLeft",label:"Self (Left)",default:!0},selfRght:{sortable:1,name:"selfRght",label:"Self (Right)"},selfDiff:{sortable:1,name:"selfDiff",label:"Self (Diff)",default:!0},totalLeft:{sortable:1,name:"totalLeft",label:"Total (Left)",default:!0},totalRght:{sortable:1,name:"totalRght",label:"Total (Right)"},totalDiff:{sortable:1,name:"totalDiff",label:"Total (Diff)"}});function y4({tableBodyRef:yt,flamebearer:kt,viewDiff:St,fitMode:Pt,handleTableItemClick:Gt,highlightQuery:Qt,selectedItem:Xt,palette:rr}){const fr=St?A6[St]:f6,pr=Qn(fr),_r=T3({headRow:fr},d6({flamebearer:kt,sortBy:pr.sortBy,sortByDirection:pr.sortByDirection,viewDiff:St,fitMode:Pt,handleTableItemClick:Gt,highlightQuery:Qt,palette:rr,selectedItem:Xt}));return dt().createElement(Gs,s6(T3({},pr),{tableBodyRef:yt,table:_r,className:"flamegraph-table"}))}const d6=({flamebearer:yt,sortBy:kt,sortByDirection:St,viewDiff:Pt,fitMode:Gt,handleTableItemClick:Qt,highlightQuery:Xt,palette:rr,selectedItem:fr})=>{const{numTicks:pr,maxSelf:_r,sampleRate:$r,spyName:zr,units:Xr}=yt,Qr=u6(yt).sort((xa,pt)=>pt.total-xa.total),en=St==="asc"?1:-1;let Zr;if(kt==="name")Zr=Qr.sort((xa,pt)=>en*xa[kt].localeCompare(pt[kt]));else switch(kt){case"total":case"self":{Zr=Qr.sort((xa,pt)=>en*(xa[kt]-pt[kt]));break}default:Zr=Qr.sort((xa,pt)=>en*(xa[kt]-pt[kt]))}const Gr=ir(pr,$r,Xr),wn=xa=>fr.isJust?xa===fr.value:!1,Tn=(xa,pt)=>dt().createElement("button",{className:"table-item-button"},dt().createElement("span",{className:"color-reference",style:pt}),dt().createElement("div",{className:"symbol-name",style:i0(Gt)},xa.name)),Hn=(xa,pt,$t)=>({"data-row":`${xa.name};${xa.self};${xa.total};${xa.type}`,isRowSelected:wn(xa.name),onClick:()=>Qt(xa),cells:[{value:Tn(xa,$t)},{value:Gr.format(xa.self,$r),style:S3(xa.self,_r,pt)},{value:Gr.format(xa.total,$r),style:S3(xa.total,pr,pt)}]}),Sn=(()=>{switch(Pt){case"self":return(xa,pt,$t)=>({type:"self",isRowSelected:wn(xa.name),onClick:()=>Qt(xa),cells:[{value:Tn(xa,$t)},{style:Su(rr,xa.selfLeft,xa.selfRght,_r,pt,"L"),value:(()=>dt().createElement("span",{title:Gr.format(xa.selfLeft,$r)},Gr.format(xa.selfLeft,$r)))()},{style:Su(rr,xa.selfLeft,xa.selfRght,_r,pt,"R"),value:dt().createElement("span",{title:Gr.format(xa.selfRght,$r)},Gr.format(xa.selfRght,$r))}]});case"total":return(xa,pt,$t)=>({type:"total",isRowSelected:wn(xa.name),onClick:()=>Qt(xa),cells:[{value:Tn(xa,$t)},{style:Su(rr,xa.totalLeft,xa.totalRght,pr/2,pt,"L"),value:(()=>dt().createElement("span",{title:Gr.format(xa.totalLeft,$r)},Gr.format(xa.totalLeft,$r)))()},{style:Su(rr,xa.totalLeft,xa.totalRght,pr/2,pt,"R"),value:(()=>dt().createElement("span",{title:Gr.format(xa.totalRght,$r)},Gr.format(xa.totalRght,$r)))()}]});case"diff":return(xa,pt,$t)=>({type:"diff",isRowSelected:wn(xa.name),onClick:()=>Qt(xa),cells:[{value:Tn(xa,$t)},{style:Su(rr,xa.selfLeft,xa.selfRght,_r,Vl),value:(()=>dt().createElement("span",{title:Gr.format(xa.selfDiff,$r)},Gr.format(xa.selfDiff,$r)))()},{style:Su(rr,xa.totalLeft,xa.totalRght,pr/2,pt),value:(()=>dt().createElement("span",{title:Gr.format(xa.totalDiff,$r)},Gr.format(xa.totalDiff,$r)))()}]});default:return()=>({type:"unsupported"})}})(),qn=Zr.filter(xa=>Xt?Q4(Xt,xa.name):!0).reduce((xa,pt)=>{const $t=Y4(zr,pt.name),Dt=Pt?Vl:Gl(rr,$t),Zt={backgroundColor:Dt.rgb().toString()};if(pt.type==="double"){const tr=Sn(pt,Dt,Zt);return tr.type==="unsupported"||xa.push(tr),xa}return xa.push(Hn(pt,Dt,Zt)),xa},[]);return qn.length>0?{bodyRows:qn,type:"filled"}:{value:dt().createElement("div",{className:"unsupported-format"},"Unsupported"),type:"not-filled"}};function w4({flamebearer:yt,viewDiff:kt,fitMode:St,handleTableItemClick:Pt,highlightQuery:Gt,palette:Qt,selectedItem:Xt}){const rr=(0,bt.useRef)(null);return dt().createElement(dt().Fragment,null,dt().createElement(y4,{tableBodyRef:rr,flamebearer:yt,viewDiff:kt,fitMode:St,highlightQuery:Gt,handleTableItemClick:Pt,palette:Qt,selectedItem:Xt}),dt().createElement(C3,{tableBodyRef:rr,numTicks:yt.numTicks,sampleRate:yt.sampleRate,units:yt.units}))}var h6=ht(899),p6=ht(459),v6=ht(971),To=ht(384),ds=ht(646),b6=ht(769),g6=ht(692);const iu={button:"D8639n1+pFnktQbfHEdhiQ==",iconWithText:"iUJrf0Zra72Ylrkdwe4m3g==",default:"HsSMSsZ6IvGC0zvef-oyEg==",primary:"uRSawyfmnPCTMB2RaexM7Q==",secondary:"uLhy-1n6bQNSjQ8XlHT5hA==",danger:"Zcv+sg60tkrHTHSCxMwOCA==",grouped:"h-JyltywHaflsNfDj7ETjw=="};var k4=Object.getOwnPropertySymbols,m6=Object.prototype.hasOwnProperty,y6=Object.prototype.propertyIsEnumerable,w6=(yt,kt)=>{var St={};for(var Pt in yt)m6.call(yt,Pt)&&kt.indexOf(Pt)<0&&(St[Pt]=yt[Pt]);if(yt!=null&&k4)for(var Pt of k4(yt))kt.indexOf(Pt)<0&&y6.call(yt,Pt)&&(St[Pt]=yt[Pt]);return St};function y2(yt){var kt=yt,{disabled:St=!1,kind:Pt="default",type:Gt="button",icon:Qt,children:Xt,grouped:rr,onClick:fr,id:pr,className:_r}=kt,$r=w6(kt,["disabled","kind","type","icon","children","grouped","onClick","id","className"]);return dt().createElement("button",{id:pr,type:Gt,"data-testid":$r["data-testid"],disabled:St,onClick:fr,"aria-label":$r["aria-label"],className:`${iu.button} ${rr?iu.grouped:""} ${k6(Pt)} ${_r}`},Qt?dt().createElement(mn,{icon:Qt,className:Xt?iu.iconWithText:""}):null,Xt)}function k6(yt){switch(yt){case"default":return iu.default;case"primary":return iu.primary;case"secondary":return iu.secondary;case"danger":return iu.danger;default:throw Error(`Unsupported kind ${yt}`)}}const E6={select:"OqcAa70--BCY73rHYPrNmg=="};function O3({ariaLabel:yt,className:kt,value:St,onChange:Pt,children:Gt,name:Qt,id:Xt,disabled:rr}){return dt().createElement("select",{id:Xt,disabled:rr||!1,name:Qt,"aria-label":yt,className:`${E6.select} ${kt||""}`,value:St,onChange:Pt},Gt)}var I3=ht(687),R3=ht(912);const _6={input:"m7PZEM-Vxkue2eKuRu3yZQ=="},x6=dt().forwardRef(({testId:yt,className:kt,type:St,name:Pt,placeholder:Gt,minLength:Qt=0,debounceTimeout:Xt=100,onChange:rr,value:fr,htmlId:pr},_r)=>dt().createElement(R3.DebounceInput,{inputRef:_r,"data-testid":yt,className:`${_6.input} ${kt||""}`,type:St,name:Pt,placeholder:Gt,minLength:Qt,debounceTimeout:Xt,onChange:rr,value:fr,id:pr})),E4={tooltip:"izIbNRLbF9xJDKe-4AJ+JQ==",left:"zT3KmMrzKP41T7FMS0SJtw==",right:"Xl2deKCyOq2flu8vgSgbjA==",bottom:"uG9bli7m866SO8q5AjDy3A==",top:"-bV6ZtBg6DRt5-1XGDZXSw==",visible:"sxcNNSa167Ke4esKRMThTw=="},C6=({title:yt,visible:kt,className:St,placement:Pt})=>{var Gt;return dt().createElement("div",{onClick:Qt=>Qt.stopPropagation(),className:`${E4.tooltip} ${kt?E4.visible:""} ${(Gt=E4)==null?void 0:Gt[Pt]} ${St||""} `,role:"tooltip"},yt)},hs={wrapper:"_1tNAjeMOzQp8uOuaYq+Hlg==",search:"Oa7YSy+wTDaxwMXZB4v5Gw==","search-synced":"jaKSuzEc2kMgsQY1Ei1zIQ==",searchWithSync:"bMvkv+pO8CFQYIzcx9hNPw==","search-small":"tgQzYT5gJmC8BxJWeVbhNg==",icon:"EXyIVsmmjw+Gmj5qWe4lFA==",checked:"bzaIPy4-2topIZ9a1V0log==",sync:"ZX3TafJkUlq6K5k390H1nw==",syncSelected:"dSO0qFp27L959Gj33bDomw=="},$6=yt=>{const kt=(0,bt.useRef)();return(0,bt.useEffect)(()=>{kt.current=yt}),kt.current},T6=({onHighlightChange:yt,showMode:kt,highlightQuery:St,sharedQuery:Pt})=>{const Gt=$6(Pt==null?void 0:Pt.syncEnabled),[Qt,Xt]=(0,bt.useState)(!1),rr=$r=>{yt($r.target.value),Pt&&Pt.syncEnabled&&Pt.onQueryChange($r.target.value)};(0,bt.useEffect)(()=>{typeof(Pt==null?void 0:Pt.searchQuery)=="string"&&(Pt.syncEnabled&&yt(Pt.searchQuery),!Pt.syncEnabled&&Gt&&Gt!==(Pt==null?void 0:Pt.id)&&yt(""))},[Pt==null?void 0:Pt.searchQuery,Pt==null?void 0:Pt.syncEnabled]);const fr=()=>{const $r=Pt!=null&&Pt.syncEnabled?!1:Pt==null?void 0:Pt.id;Pt==null||Pt.toggleSync($r),$r?Pt==null||Pt.onQueryChange(St):(yt(St),Pt==null||Pt.onQueryChange(""))},pr=(0,bt.useMemo)(()=>Pt&&Pt.syncEnabled?Pt.searchQuery||"":St,[Pt,St]),_r=(0,bt.useMemo)(()=>`${Pt?hs.searchWithSync:hs.search} ${kt==="small"?hs["search-small"]:""} ${Pt!=null&&Pt.syncEnabled?hs["search-synced"]:""}`,[Pt,kt]);return dt().createElement("div",{className:hs.wrapper},dt().createElement(x6,{testId:"flamegraph-search",className:_r,type:"search",name:"flamegraph-search",placeholder:"Search…",minLength:2,debounceTimeout:100,onChange:rr,value:pr}),Pt?dt().createElement("button",{className:Pt.syncEnabled?hs.syncSelected:hs.sync,onClick:fr,onMouseEnter:()=>Xt(!0),onMouseLeave:()=>Xt(!1)},dt().createElement(mn,{className:`${Pt.syncEnabled?hs.checked:hs.icon}`,icon:I3.nN}),dt().createElement(C6,{placement:"top",visible:Qt,title:Pt.syncEnabled?"Unsync search bars":"Sync search bars"})):null)},c1={navbar:"YA6yFCiTuhT9605JIjPYsA==","space-filler":"cgRZhc4M4hYARCOdbJigOA==",fitModeDropdownMenuItem:"X3FRWBEqbFJ2BneRkbVfsA==",fitModeDropdownSmall:"hLxcZfkuovRKDwfNBljW1A==",fitModeDropdownLarge:"_7IQU1MziDWeX+DyRDdXHYg=="},S6=900,O6=yt=>{const[kt,St]=dt().useState("large"),Pt=Gt=>Gt{if(yt.current){const{width:Gt}=yt.current.getBoundingClientRect();St(Pt(Gt))}},[yt.current]),K1(yt,Gt=>{St(Pt(Gt.contentRect.width))}),kt},M3=dt().memo(({view:yt,viewDiff:kt,handleSearchChange:St,highlightQuery:Pt,isFlamegraphDirty:Gt,reset:Qt,updateFitMode:Xt,fitMode:rr,updateView:fr,updateViewDiff:pr,selectedNode:_r,onFocusOnSubtree:$r,flamegraphType:zr,disableChangingDisplay:Xr=!1,sharedQuery:Qr})=>{const en=dt().useRef(null),Zr=O6(en);return dt().createElement("div",{role:"toolbar",ref:en,"data-mode":Zr},dt().createElement("div",{className:c1.navbar},dt().createElement(T6,{showMode:Zr,onHighlightChange:St,highlightQuery:Pt,sharedQuery:Qr}),zr==="double"&&dt().createElement(M6,{showMode:Zr,viewDiff:kt,updateViewDiff:pr}),dt().createElement("div",{className:c1["space-filler"]}),dt().createElement(R6,{showMode:Zr,fitMode:rr,updateFitMode:Xt}),dt().createElement(I6,{showMode:Zr,isFlamegraphDirty:Gt,reset:Qt}),dt().createElement(B3,{showMode:Zr,selectedNode:_r,onFocusOnSubtree:$r}),!Xr&&dt().createElement(B6,{showMode:Zr,view:yt,updateView:fr})))});function B3({onFocusOnSubtree:yt,selectedNode:kt,showMode:St}){let Pt="";switch(St){case"small":{Pt="Collapse";break}case"large":{Pt="Collapse nodes above";break}default:throw new Error("Wrong mode")}const Gt=kt.mapOr(()=>{},Qt=>()=>yt(Qt.i,Qt.j));return dt().createElement(y2,{disabled:!kt.isJust,onClick:Gt,icon:j1.V9},Pt)}function I6({isFlamegraphDirty:yt,reset:kt,showMode:St}){let Pt="";switch(St){case"small":{Pt="Reset";break}case"large":{Pt="Reset View";break}default:throw new Error("Wrong mode")}return dt().createElement(dt().Fragment,null,dt().createElement(y2,{id:"reset","data-testid":"reset-view",disabled:!yt,onClick:kt,icon:g6.X7},Pt))}function R6({fitMode:yt,updateFitMode:kt,showMode:St}){let Pt={label:"",[En]:"",[ln]:""},Gt="";switch(St){case"small":Pt={label:"Fit",[En]:"Head",[ln]:"Tail"},Gt=c1.fitModeDropdownSmall;break;case"large":Pt={label:"Prefer to Fit",[En]:"Head first",[ln]:"Tail first"},Gt=c1.fitModeDropdownLarge;break;default:throw new Error("Wrong mode")}const Qt=[En,ln].map(Xt=>dt().createElement(K0,{key:Xt,value:Xt},dt().createElement("div",{className:c1.fitModeDropdownMenuItem,"data-testid":Xt},Pt[Xt],yt===Xt?dt().createElement(g3,null):null)));return dt().createElement(s1,{label:Pt.label,ariaLabel:"Fit Mode",value:Pt[yt],onItemClick:Xt=>kt(Xt.value),menuButtonClassName:Gt},Qt)}function M6({viewDiff:yt,updateViewDiff:kt,showMode:St}){if(!yt)return null;const Pt=dt().createElement(O3,{name:"viewDiff",ariaLabel:"view-diff",value:yt,onChange:rr=>{kt(rr.target.value)}},dt().createElement("option",{value:"self"},"Self"),dt().createElement("option",{value:"total"},"Total"),dt().createElement("option",{value:"diff"},"Diff")),Gt=rr=>yt===rr?"primary":"default",Qt=dt().createElement(dt().Fragment,null,dt().createElement(y2,{grouped:!0,icon:ds.gf,kind:Gt("self"),onClick:()=>kt("self")},"Self"),dt().createElement(y2,{grouped:!0,icon:p6.xi,kind:Gt("total"),onClick:()=>kt("total")},"Total"),dt().createElement(y2,{grouped:!0,icon:h6.el,kind:Gt("diff"),onClick:()=>kt("diff")},"Diff")),Xt=()=>{switch(St){case"small":return Pt;case"large":return Qt;default:throw new Error(`Invalid option: '${St}'`)}};return dt().createElement("div",{className:"btn-group viz-switch","data-testid":"diff-view"},Xt())}function B6({view:yt,updateView:kt,showMode:St}){const Pt=dt().createElement(O3,{ariaLabel:"view",name:"view",value:yt,onChange:rr=>{kt(rr.target.value)}},dt().createElement("option",{value:"table"},"Table"),dt().createElement("option",{value:"both"},"Both"),dt().createElement("option",{value:"flamegraph"},"Flame")),Gt=rr=>yt===rr?"primary":"default",Qt=dt().createElement(dt().Fragment,null,dt().createElement(y2,{grouped:!0,kind:Gt("table"),icon:b6.B3,onClick:()=>kt("table")},"Table"),dt().createElement(y2,{grouped:!0,kind:Gt("both"),icon:v6.rW,onClick:()=>kt("both")},"Both"),dt().createElement(y2,{grouped:!0,kind:Gt("flamegraph"),icon:To.$P,onClick:()=>kt("flamegraph")},"Flamegraph")),Xt=()=>{switch(St){case"small":return Pt;case"large":return Qt;default:throw new Error(`Invalid option: '${St}'`)}};return dt().createElement("div",{className:"btn-group viz-switch"},Xt())}const P6=M3,L6={noProfilingData:"uf0fDCR2p7mFe03meuOCpw=="};function D6(){return dt().createElement("div",{"data-testid":"no-profiling-data",className:L6.noProfilingData},dt().createElement("span",null,"No profiling data available for this application / time range."))}const w2={flamegraphContainer:"dp4rYndtkn5OL137gNcXFw==",createdBy:"Sg8G+XWf37nf2z2mq0UlZA==",horizontal:"Fa+QibGLT2PTOlQu9kZ42w==",vertical:"_1fK+ZP5KAHBMI34rObiBpA==",panesWrapper:"UiDrEFZwwNI6mFmaWDftKw==",tablePane:"rcGeWTV5hY5txTEQvQenVg=="};var F6=["styles"];function N6(yt,kt){if(yt==null)return{};var St=z6(yt,kt),Pt,Gt;if(Object.getOwnPropertySymbols){var Qt=Object.getOwnPropertySymbols(yt);for(Gt=0;Gt=0)&&(!Object.prototype.propertyIsEnumerable.call(yt,Pt)||(St[Pt]=yt[Pt]))}return St}function z6(yt,kt){if(yt==null)return{};var St={},Pt=Object.keys(yt),Gt,Qt;for(Qt=0;Qt=0)&&(St[Gt]=yt[Gt]);return St}function _4(){return _4=Object.assign||function(yt){for(var kt=1;ktkt in yt?G6(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,ps=(yt,kt)=>{for(var St in kt||(kt={}))Z6.call(kt,St)&&D3(yt,St,kt[St]);if(L3)for(var St of L3(kt))Y6.call(kt,St)&&D3(yt,St,kt[St]);return yt},Ou=(yt,kt)=>H6(yt,W6(kt));function u1(yt){if(yt.profile&&yt.flamebearer&&console.warn("'profile' and 'flamebearer' properties are mutually exclusive. Please use profile if possible."),yt.profile){const kt=JSON.parse(JSON.stringify(yt.profile)),St=V6(kt);return ps(ps(ps({},St),St.flamebearer),St.metadata)}return yt.flamebearer?yt.flamebearer:{format:"single",names:[],units:"",levels:[[]],spyName:"unknown",numTicks:0,sampleRate:0,maxSelf:0}}class C4 extends dt().Component{constructor(kt){super(kt),this.resetFlamegraphState={focusedNode:cn.nothing(),zoom:cn.nothing()},this.initialFlamegraphState=this.resetFlamegraphState,this.calcNewConfigs=(St,Pt)=>{const Gt=this.state.flamegraphConfigs,Qt=(fr,pr,_r)=>{const $r=(zr,Xr,Qr)=>zr.names[Ir(zr.format).getBarName(zr.levels[Xr],Qr)];if(_r.isNothing)return!0;try{const zr=$r(fr,_r.value.i,_r.value.j),Xr=$r(pr,_r.value.i,_r.value.j);return zr===Xr}catch(zr){return!1}},Xt=this.state.flamegraphConfigs.zoom;Qt(St,Pt,Xt)||(Gt.zoom=this.resetFlamegraphState.zoom);const rr=this.state.flamegraphConfigs.focusedNode;return Qt(St,Pt,rr)||(Gt.focusedNode=this.resetFlamegraphState.focusedNode),Gt},this.onSearchChange=St=>{this.setState({searchQuery:St})},this.isSameFlamebearer=(St,Pt)=>JSON.stringify(St)===JSON.stringify(Pt),this.onReset=()=>{this.setState(Ou(ps({},this.state),{flamegraphConfigs:ps(ps({},this.state.flamegraphConfigs),this.initialFlamegraphState)}))},this.onFlamegraphZoom=St=>{if(St.isJust&&St.value.i===0&&St.value.j===0){this.onReset();return}this.setState(Ou(ps({},this.state),{flamegraphConfigs:Ou(ps({},this.state.flamegraphConfigs),{zoom:St})}))},this.onFocusOnNode=(St,Pt)=>{if(St===0&&Pt===0){this.onReset();return}let Gt=ps({},this.state.flamegraphConfigs);const{zoom:Qt}=this.state.flamegraphConfigs;Qt.isJust&&Qt.value.i<=St&&(Gt=Ou(ps({},Gt),{zoom:this.initialFlamegraphState.zoom})),this.setState(Ou(ps({},this.state),{flamegraphConfigs:Ou(ps({},Gt),{focusedNode:cn.just({i:St,j:Pt})})}))},this.setActiveItem=St=>{const{name:Pt}=St;if(this.state.selectedItem.isJust&&Pt===this.state.selectedItem.value){this.setState({selectedItem:cn.nothing()});return}this.setState({selectedItem:cn.just(Pt)})},this.getHighlightQuery=()=>this.state.selectedItem.isJust?this.state.selectedItem.value:this.state.searchQuery,this.updateViewDiff=St=>{this.setState({viewDiff:St})},this.updateView=St=>{this.setState({view:St})},this.updateFlamegraphDirtiness=()=>{const St=this.isDirty();this.setState({isFlamegraphDirty:St})},this.updateFitMode=St=>{this.setState({fitMode:St})},this.isDirty=()=>JSON.stringify(this.initialFlamegraphState)!==JSON.stringify(this.state.flamegraphConfigs),this.render=()=>{var St;const Pt=dt().createElement("div",{key:"table-pane",className:Wl(w2.tablePane,this.state.panesOrientation==="vertical"?w2.vertical:w2.horizontal)},dt().createElement(w4,{"data-testid":"table-view",flamebearer:this.state.flamebearer,viewDiff:((St=this.state.flamebearer)==null?void 0:St.format)==="double"&&this.state.viewDiff,fitMode:this.state.fitMode,highlightQuery:this.state.searchQuery,selectedItem:this.state.selectedItem,handleTableItemClick:this.setActiveItem,palette:this.state.palette})),Gt=this.shouldShowToolbar(),Qt=dt().createElement(y3,{key:"flamegraph-pane",showCredit:this.props.showCredit,flamebearer:this.state.flamebearer,ExportData:this.props.ExportData||dt().createElement(dt().Fragment,null),highlightQuery:this.getHighlightQuery(),setActiveItem:this.setActiveItem,selectedItem:this.state.selectedItem,fitMode:this.state.fitMode,zoom:this.state.flamegraphConfigs.zoom,focusedNode:this.state.flamegraphConfigs.focusedNode,onZoom:this.onFlamegraphZoom,onFocusOnNode:this.onFocusOnNode,onReset:this.onReset,isDirty:this.isDirty,palette:this.state.palette,toolbarVisible:Gt,setPalette:fr=>this.setState({palette:fr})}),Xt=!this.state.flamebearer||this.state.flamebearer.names.length<=1,rr=F3(this.state.view,Qt,Pt);return dt().createElement("div",{"data-flamegraph-color-mode":this.props.colorMode||"dark"},dt().createElement("div",null,Gt&&dt().createElement(P6,{sharedQuery:this.props.sharedQuery,disableChangingDisplay:!!this.props.onlyDisplay,flamegraphType:this.state.flamebearer.format,view:this.state.view,viewDiff:this.state.viewDiff,handleSearchChange:this.onSearchChange,reset:this.onReset,updateView:this.updateView,updateViewDiff:this.updateViewDiff,updateFitMode:this.updateFitMode,fitMode:this.state.fitMode,isFlamegraphDirty:this.state.isFlamegraphDirty,selectedNode:this.state.flamegraphConfigs.zoom,highlightQuery:this.state.searchQuery,onFocusOnSubtree:this.onFocusOnNode}),this.props.children,dt().createElement("div",{className:`${w2.flamegraphContainer} ${Wl(this.state.panesOrientation==="vertical"?w2.vertical:w2.horizontal,w2[this.state.panesOrientation],w2.panesWrapper)}`},Xt?dt().createElement(D6,null):rr.map(fr=>fr))),this.props.showPyroscopeLogo&&dt().createElement("div",{className:w2.createdBy},"Created by",dt().createElement("a",{href:"https://twitter.com/PyroscopeIO",rel:"noreferrer",target:"_blank"},dt().createElement(j6,{width:"30",height:"30"}),"@PyroscopeIO")))},this.state={isFlamegraphDirty:!1,view:this.props.onlyDisplay?this.props.onlyDisplay:"both",viewDiff:"diff",fitMode:"HEAD",flamebearer:u1(kt),panesOrientation:kt.panesOrientation?kt.panesOrientation:"horizontal",searchQuery:"",selectedItem:cn.nothing(),flamegraphConfigs:this.initialFlamegraphState,palette:R2}}componentDidUpdate(kt,St){const Pt=u1(kt),Gt=u1(this.props);if(!this.isSameFlamebearer(Pt,Gt)){const Qt=this.calcNewConfigs(Pt,Gt);this.setState({flamebearer:Gt,flamegraphConfigs:ps(ps({},this.state.flamegraphConfigs),Qt),selectedItem:cn.nothing()});return}St.flamegraphConfigs!==this.state.flamegraphConfigs&&this.updateFlamegraphDirtiness()}shouldShowToolbar(){return this.props.showToolbar!==void 0?this.props.showToolbar:!0}}C4.defaultProps={showCredit:!0};function F3(yt,kt,St){switch(yt){case"table":return[St];case"flamegraph":return[kt];case"both":return[St,kt];default:throw new Error(`Invalid view '${yt}'`)}}const U6=C4;var Q6=Object.defineProperty,N3=Object.getOwnPropertySymbols,$4=Object.prototype.hasOwnProperty,q6=Object.prototype.propertyIsEnumerable,z3=(yt,kt,St)=>kt in yt?Q6(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,j3=(yt,kt)=>{for(var St in kt||(kt={}))$4.call(kt,St)&&z3(yt,St,kt[St]);if(N3)for(var St of N3(kt))q6.call(kt,St)&&z3(yt,St,kt[St]);return yt};const vs={showPyroscopeLogo:!1},T4=yt=>dt().createElement("pyro-flamegraph",{is:"span"},dt().createElement(U6,j3(j3({},yt),vs)));var J6=ht(572),X6=ht.n(J6),K6=ht(343),_b=ht.n(K6);function S4(yt){const kt={numTicks:0,maxSelf:0,names:[],levels:[]},St={},Pt={children:[]};yt.spans.forEach(Xt=>{Xt.children=[],St[Xt.spanID]=Xt}),yt.spans.forEach(Xt=>{let rr=Pt;Xt.references&&Xt.references.length>0&&(rr=St[Xt.references[0].spanID]||Pt),rr.children.push(Xt)});function Gt(Xt,rr){(Xt.children||[]).forEach(_r=>Gt(_r));let fr=0;const pr=X6()(Xt.children||[],_r=>_r.operationName);Xt.children=_b()(pr,_r=>{const $r=_r[0];for(let zr=1;zr<_r.length;zr+=1)$r.duration+=_r[zr].duration;return fr+=$r.duration,$r}),Xt.total=Xt.duration||fr,Xt.self=Math.max(0,Xt.total-fr)}Gt(Pt);function Qt(Xt,rr,fr){var pr;return kt.numTicks||(kt.numTicks=Xt.total),(pr=kt.levels)[rr]||(pr[rr]=[]),kt.levels[rr].push(fr),kt.levels[rr].push(Xt.total),kt.levels[rr].push(Xt.self),kt.names.push((Xt.processID?`${yt.processes[Xt.processID].serviceName}: `:"")+(Xt.operationName||"total")),kt.levels[rr].push(kt.names.length-1),(Xt.children||[]).forEach(_r=>{fr+=Qt(_r,rr+1,fr)}),Xt.total}return Qt(Pt,0,0),kt.levels=P3("single",kt.levels),{version:1,flamebearer:kt,metadata:{format:"single",units:"trace_samples",spyName:"tracing",sampleRate:1e6}}}var _g=Object.defineProperty,lA=Object.getOwnPropertySymbols,em=Object.prototype.hasOwnProperty,tm=Object.prototype.propertyIsEnumerable,V3=(yt,kt,St)=>kt in yt?_g(yt,kt,{enumerable:!0,configurable:!0,writable:!0,value:St}):yt[kt]=St,rm=(yt,kt)=>{for(var St in kt||(kt={}))em.call(kt,St)&&V3(yt,St,kt[St]);if(lA)for(var St of lA(kt))tm.call(kt,St)&&V3(yt,St,kt[St]);return yt};function G3(yt,kt){const St={},Pt={};let Gt;return[yt,kt].forEach((Qt,Xt)=>{var rr,fr;for(let pr=0;pr=Tn&&Xr{var pr;const{name:_r,children:$r,self:zr,total:Xr}=Qt;St.names.push(_r),(pr=St.levels)[Xt]||(pr[Xt]=[]),St.maxSelf=Math.max(St.maxSelf,zr[0]||0,zr[1]||0),St.levels[Xt]=St.levels[Xt].concat([rr,Xr[0]||0,zr[0]||0,fr,Xr[1]||0,zr[1]||0,St.names.length-1]);for(let Qr=0;Qr<$r.length;Qr+=1){const[en,Zr]=Gt($r[Qr],Xt+1,rr,fr);rr+=en,fr+=Zr}return[Xr[0]||0,Xr[1]||0]};return Gt(Pt,0,0,0),St}function nm(yt,kt){yt.flamebearer.levels=x4("single",yt.flamebearer.levels),kt.flamebearer.levels=x4("single",kt.flamebearer.levels);const St=am(yt.flamebearer,kt.flamebearer);St.levels=P3("double",St.levels);const Pt=rm({},yt.metadata);return Pt.format="double",{version:1,flamebearer:St,metadata:Pt,leftTicks:yt.flamebearer.numTicks,rightTicks:kt.flamebearer.numTicks}}})(),mt})())})(dist);const index$7="",index$6="",TraceFlamegraph=({trace:o})=>{const $=o&&o.data?distExports.convertJaegerTraceToProfile(o.data):null;return jsxRuntimeExports.jsx("div",{className:"Flamegraph-wrapper",children:jsxRuntimeExports.jsx(distExports.FlamegraphRenderer,{colorMode:"light",profile:$})})},index$5="",VIEW_MIN_RANGE=.01,VIEW_CHANGE_BASE=.005,VIEW_CHANGE_FAST=.05,shortcutConfig={panLeft:[-VIEW_CHANGE_BASE,-VIEW_CHANGE_BASE],panLeftFast:[-VIEW_CHANGE_FAST,-VIEW_CHANGE_FAST],panRight:[VIEW_CHANGE_BASE,VIEW_CHANGE_BASE],panRightFast:[VIEW_CHANGE_FAST,VIEW_CHANGE_FAST],zoomIn:[VIEW_CHANGE_BASE,-VIEW_CHANGE_BASE],zoomInFast:[VIEW_CHANGE_FAST,-VIEW_CHANGE_FAST],zoomOut:[-VIEW_CHANGE_BASE,VIEW_CHANGE_BASE],zoomOutFast:[-VIEW_CHANGE_FAST,VIEW_CHANGE_FAST]};function makeShortcutCallbacks(o){function $([_e,et]){return function(rt){rt.preventDefault(),o(_e,et)}}return mapValues_1(shortcutConfig,$)}class TracePageImpl extends reactExports.PureComponent{constructor($){super($),this.setHeaderHeight=tt=>{this._headerElm=tt,tt?this.state.headerHeight!==tt.clientHeight&&this.setState({headerHeight:tt.clientHeight}):this.state.headerHeight&&this.setState({headerHeight:null})},this.clearSearch=()=>{const{history:tt,location:rt}=this.props;updateUiFind({history:tt,location:rt,trackFindFunction:trackFilter}),this._searchBar.current&&this._searchBar.current.blur()},this.focusOnSearchBar=()=>{this._searchBar.current&&this._searchBar.current.focus()},this.updateViewRangeTime=(tt,rt,at)=>{at&&trackRange(at,[tt,rt],this.state.viewRange.time.current);const it={current:[tt,rt]};this.setState(ot=>({viewRange:{...ot.viewRange,time:it}}))},this.updateNextViewRangeTime=tt=>{this.setState(rt=>{const at={...rt.viewRange.time,...tt};return{viewRange:{...rt.viewRange,time:at}}})},this.toggleSlimView=()=>{const{slimView:tt}=this.state;trackSlimHeaderToggle(!tt),this.setState({slimView:!tt})},this.setTraceView=tt=>{this.props.trace&&this.props.trace.data&&tt===ETraceViewType.TraceGraph&&(this.traceDagEV=calculateTraceDagEV(this.props.trace.data)),this.setState({viewType:tt})},this.archiveTrace=()=>{const{id:tt,archiveTrace:rt}=this.props;rt(tt)},this.acknowledgeArchive=()=>{const{id:tt,acknowledgeArchive:rt}=this.props;rt(tt)},this.focusUiFindMatches=()=>{const{trace:tt,focusUiFindMatches:rt,uiFind:at}=this.props;tt&&tt.data&&(trackFocusMatches(),rt(tt.data,at))},this.nextResult=()=>{trackNextMatch(),this._scrollManager.scrollToNextVisibleSpan()},this.prevResult=()=>{trackPrevMatch(),this._scrollManager.scrollToPrevVisibleSpan()};const{embedded:_e,trace:et}=$;this.state={headerHeight:null,slimView:!!(_e&&_e.timeline.collapseTitle),viewType:ETraceViewType.TraceTimelineViewer,viewRange:{time:{current:[0,1]}}},this._headerElm=null,this._filterSpans=memoize_1(filterSpans,tt=>`${tt} ${get_1$1(this.props.trace,"traceID")} ${get_1$1(this.props.trace,"data.spans.length")}`),this._scrollManager=new ScrollManager(et&&et.data,{scrollBy,scrollTo}),this._searchBar=reactExports.createRef(),reset()}componentDidMount(){const $=this.props.trace;if($&&$.data&&this.getSpansWithResolvedLocations($.data),this.ensureTraceFetched(),this.updateViewRangeTime(0,1),!this._scrollManager)throw new Error("Invalid state - scrollManager is unset");const{scrollPageDown:_e,scrollPageUp:et,scrollToNextVisibleSpan:tt,scrollToPrevVisibleSpan:rt}=this._scrollManager,nt=makeShortcutCallbacks((it,ot)=>this._adjustViewRange(it,ot,"kbd"));nt.scrollPageDown=_e,nt.scrollPageUp=et,nt.scrollToNextVisibleSpan=tt,nt.scrollToPrevVisibleSpan=rt,nt.clearSearch=this.clearSearch,nt.searchSpans=this.focusOnSearchBar,merge(nt)}componentDidUpdate({id:$,trace:_e}){const{id:et,trace:tt}=this.props;if(tt&&tt!==_e&&tt.data&&tt.state&&tt.state===fetchedState.DONE&&this.getSpansWithResolvedLocations(tt.data),this._scrollManager.setTrace(tt&&tt.data),this.setHeaderHeight(this._headerElm),!tt){this.ensureTraceFetched();return}$!==et&&(this.updateViewRangeTime(0,1),this.clearSearch())}componentWillUnmount(){reset(),cancel(),this._scrollManager.destroy(),this._scrollManager=new ScrollManager(void 0,{scrollBy,scrollTo}),window.sendMessageToDigma({action:actions$1.CLEAR})}getSpansWithResolvedLocations($){window.sendMessageToDigma({action:actions$1.GET_SPANS_DATA,payload:{spans:$.spans.map(_e=>getSpanDataForDigma(_e)).filter(_e=>_e.instrumentationLibrary)}})}_adjustViewRange($,_e,et){const[tt,rt]=this.state.viewRange.time.current;let at=clamp_1(tt+$,0,.99),nt=clamp_1(rt+_e,.01,1);if(nt-at0&&_e>0)nt=at+VIEW_MIN_RANGE;else{const it=tt+(rt-tt)/2;at=it-VIEW_MIN_RANGE/2,nt=it+VIEW_MIN_RANGE/2}this.updateViewRangeTime(at,nt,et)}ensureTraceFetched(){const{fetchTrace:$,location:_e,trace:et,id:tt}=this.props;if(!et){$(tt);return}const{history:rt}=this.props;tt&&tt!==tt.toLowerCase()&&rt.replace(getLocation(tt.toLowerCase(),_e.state))}render(){const{archiveEnabled:$,archiveTraceState:_e,embedded:et,id:tt,uiFind:rt,trace:at,traceGraphConfig:nt,location:{state:it}}=this.props,{slimView:ot,viewType:st,headerHeight:lt,viewRange:ct}=this.state;if(!at||at.state===fetchedState.LOADING)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});const{data:ut}=at;if(at.state===fetchedState.ERROR||!ut)return jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-m3",error:at.error||"Unknown error"});let ft=0,At,vt;rt&&(st===ETraceViewType.TraceGraph?(At=getUiFindVertexKeys(rt,get_1$1(this.traceDagEV,"vertices",[])),ft=At?At.size:0):(vt=this._filterSpans(rt,get_1$1(at,"data.spans")),ft=vt?vt.size:0));const ht=!!et,mt={focusUiFindMatches:this.focusUiFindMatches,slimView:ot,textFilter:rt,viewType:st,viewRange:ct,canCollapse:!et||!et.timeline.hideSummary||!et.timeline.hideMinimap,clearSearch:this.clearSearch,hideMap:!!(st!==ETraceViewType.TraceTimelineViewer||et&&et.timeline.hideMinimap),hideSummary:!!(et&&et.timeline.hideSummary),linkToStandalone:getUrl$6(tt),nextResult:this.nextResult,onArchiveClicked:this.archiveTrace,onSlimViewClicked:this.toggleSlimView,onTraceViewChange:this.setTraceView,prevResult:this.prevResult,ref:this._searchBar,resultCount:ft,showArchiveButton:!ht&&$,showShortcutsHelp:!ht,showStandaloneLink:ht,showViewOptions:!0,toSearch:it&&it.fromSearch||null,trace:ut,updateNextViewRangeTime:this.updateNextViewRangeTime,updateViewRangeTime:this.updateViewRangeTime};let bt;return ETraceViewType.TraceTimelineViewer===st&<?bt=jsxRuntimeExports.jsx(TraceTimelineViewer,{registerAccessors:this._scrollManager.setAccessors,scrollToFirstVisibleSpan:this._scrollManager.scrollToFirstVisibleSpan,findMatchesIDs:vt,trace:ut,updateNextViewRangeTime:this.updateNextViewRangeTime,updateViewRangeTime:this.updateViewRangeTime,viewRange:ct}):ETraceViewType.TraceGraph===st&<?bt=jsxRuntimeExports.jsx(TraceGraph,{headerHeight:lt,ev:this.traceDagEV,uiFind:rt,uiFindVertexKeys:At,traceGraphConfig:nt}):ETraceViewType.TraceStatistics===st&<?bt=jsxRuntimeExports.jsx(TraceStatistics,{trace:ut,uiFindVertexKeys:vt,uiFind:rt}):ETraceViewType.TraceSpansView===st&<?bt=jsxRuntimeExports.jsx(TraceSpanView,{trace:ut,uiFindVertexKeys:vt,uiFind:rt}):ETraceViewType.TraceFlamegraph===st&<&&(bt=jsxRuntimeExports.jsx(TraceFlamegraph,{trace:at})),jsxRuntimeExports.jsxs("div",{children:[$&&jsxRuntimeExports.jsx(ArchiveNotifier,{acknowledge:this.acknowledgeArchive,archivedState:_e}),jsxRuntimeExports.jsx("div",{className:"Tracepage--headerSection",ref:this.setHeaderHeight,children:jsxRuntimeExports.jsx(TracePageHeader,{...mt})}),lt?jsxRuntimeExports.jsx("section",{style:{paddingTop:lt},children:bt}):null]})}}function mapStateToProps$1(o,$){const{id:_e}=$.match.params,{archive:et,config:tt,embedded:rt,router:at}=o,{traces:nt}=o.trace,it=_e?nt[_e]:null,ot=_e?et[_e]:null,st=!!tt.archiveEnabled,{state:lt}=at.location,ct=lt&<.fromSearch||null,{traceGraph:ut}=tt;return{...extractUiFindFromState(o),archiveEnabled:st,archiveTraceState:ot,embedded:rt,id:_e,searchUrl:ct,trace:it,traceGraphConfig:ut}}function mapDispatchToProps$1(o){const{fetchTrace:$}=bindActionCreators(jaegerApiActions,o),{archiveTrace:_e,acknowledge:et}=bindActionCreators(actions$2,o),{focusUiFindMatches:tt}=bindActionCreators(actions,o);return{acknowledgeArchive:et,archiveTrace:_e,fetchTrace:$,focusUiFindMatches:tt}}const TracePage=connect$3(mapStateToProps$1,mapDispatchToProps$1)(TracePageImpl),index$4="";function getDataOrAriaProps(o){return Object.keys(o).reduce(function($,_e){return(_e.substr(0,5)==="data-"||_e.substr(0,5)==="aria-"||_e==="role")&&_e.substr(0,7)!=="data-__"&&($[_e]=o[_e]),$},{})}function _typeof$1(o){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$1=function(_e){return typeof _e}:_typeof$1=function(_e){return _e&&typeof Symbol=="function"&&_e.constructor===Symbol&&_e!==Symbol.prototype?"symbol":typeof _e},_typeof$1(o)}function _extends$1(){return _extends$1=Object.assign||function(o){for(var $=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(o){return!1}}function _getPrototypeOf(o){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)},_getPrototypeOf(o)}function noop(){}var Alert=function(o){_inherits(_e,o);var $=_createSuper(_e);function _e(et){var tt;return _classCallCheck(this,_e),tt=$.call(this,et),tt.handleClose=function(rt){rt.preventDefault();var at=reactDomExports.findDOMNode(_assertThisInitialized(tt));at.style.height="".concat(at.offsetHeight,"px"),at.style.height="".concat(at.offsetHeight,"px"),tt.setState({closing:!0}),(tt.props.onClose||noop)(rt)},tt.animationEnd=function(){tt.setState({closing:!1,closed:!0}),(tt.props.afterClose||noop)()},tt.renderAlert=function(rt){var at,nt=rt.getPrefixCls,it=tt.props,ot=it.description,st=it.prefixCls,lt=it.message,ct=it.closeText,ut=it.banner,ft=it.className,At=ft===void 0?"":ft,vt=it.style,ht=it.icon,mt=tt.props,bt=mt.closable,dt=mt.type,xt=mt.showIcon,Ct=mt.iconType,gt=tt.state,wt=gt.closing,_t=gt.closed,Et=nt("alert",st);xt=ut&&xt===void 0?!0:xt,dt=ut&&dt===void 0?"warning":dt||"info";var It="filled";if(!Ct){switch(dt){case"success":Ct="check-circle";break;case"info":Ct="info-circle";break;case"error":Ct="close-circle";break;case"warning":Ct="exclamation-circle";break;default:Ct="default"}ot&&(It="outlined")}ct&&(bt=!0);var Tt=classNames(Et,"".concat(Et,"-").concat(dt),(at={},_defineProperty(at,"".concat(Et,"-closing"),wt),_defineProperty(at,"".concat(Et,"-with-description"),!!ot),_defineProperty(at,"".concat(Et,"-no-icon"),!xt),_defineProperty(at,"".concat(Et,"-banner"),!!ut),_defineProperty(at,"".concat(Et,"-closable"),bt),at),At),Rt=bt?reactExports.createElement("button",{type:"button",onClick:tt.handleClose,className:"".concat(Et,"-close-icon"),tabIndex:0},ct?reactExports.createElement("span",{className:"".concat(Et,"-close-text")},ct):reactExports.createElement(Icon$1,{type:"close"})):null,Ot=getDataOrAriaProps(tt.props),Mt=ht&&(reactExports.isValidElement(ht)?reactExports.cloneElement(ht,{className:classNames("".concat(Et,"-icon"),_defineProperty({},ht.props.className,ht.props.className))}):reactExports.createElement("span",{className:"".concat(Et,"-icon")},ht))||reactExports.createElement(Icon$1,{className:"".concat(Et,"-icon"),type:Ct,theme:It});return _t?null:reactExports.createElement(Animate$1,{component:"",showProp:"data-show",transitionName:"".concat(Et,"-slide-up"),onEnd:tt.animationEnd},reactExports.createElement("div",_extends$1({"data-show":!wt,className:Tt,style:vt},Ot),xt?Mt:null,reactExports.createElement("span",{className:"".concat(Et,"-message")},lt),reactExports.createElement("span",{className:"".concat(Et,"-description")},ot),Rt))},warning$4(!("iconType"in et),"Alert","`iconType` is deprecated. Please use `icon` instead."),tt.state={closing:!1,closed:!1},tt}return _createClass(_e,[{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderAlert)}}]),_e}(reactExports.Component);const serviceGraph="",tickFormat=o=>{const $=new Date(o),_e=$.getHours().toString(),et=$.getMinutes().toString();return`${_e.length===1?`0${_e}`:_e}:${et.length===1?`0${et}`:et}`};class ServiceGraphImpl extends reactExports.PureComponent{constructor(){super(...arguments),this.height=242,this.colors=["#DCA3D2","#EA9977","#869ADD"],this.state={crosshairValues:[]}}getData(){const{metricsData:$}=this.props;return $===null?[]:Array.isArray($)?$:[$]}renderLines(){const{metricsData:$,color:_e}=this.props;if($){const et=[];let tt=0;return this.getData().forEach((rt,at)=>{et.push(jsxRuntimeExports.jsx(AreaSeries,{data:rt.metricPoints?rt.metricPoints:[],getNull:nt=>nt.y!==null,onNearestX:(nt,{index:it})=>{this.setState({crosshairValues:this.getData().map(ot=>({...ot.metricPoints[it],label:ot.quantile}))})},opacity:.1,color:[_e||this.colors[at]]},tt++)),et.push(jsxRuntimeExports.jsx(LineSeries,{getNull:nt=>nt.y!==null,data:rt.metricPoints?rt.metricPoints:[],color:[_e||this.colors[at]]},tt++))}),et}return[]}generatePlaceholder($){const{width:_e}=this.props;return jsxRuntimeExports.jsx("div",{className:"center-placeholder",style:{width:_e,height:this.height-74},children:$})}render(){const{width:$,yDomain:_e,showHorizontalLines:et,showLegend:tt,loading:rt,metricsData:at,marginClassName:nt,name:it,error:ot,yAxisTickFormat:st,xDomain:lt}=this.props;let ct=this.generatePlaceholder(jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0}));const ut=this.generatePlaceholder("No Data"),ft=this.generatePlaceholder("Couldn’t fetch data"),At=jsxRuntimeExports.jsxs(XYPlot,{margin:{bottom:25},onMouseLeave:()=>this.setState({crosshairValues:[]}),width:$,height:this.height-74,xDomain:lt,yDomain:_e,children:[et?jsxRuntimeExports.jsx(HorizontalGridLines,{}):null,jsxRuntimeExports.jsx(XAxis,{tickFormat,tickTotal:Math.floor($/60)}),jsxRuntimeExports.jsx(YAxis,{tickFormat:st}),this.renderLines(),jsxRuntimeExports.jsx(Crosshair,{values:this.state.crosshairValues,children:jsxRuntimeExports.jsxs("div",{className:"crosshair-value",children:[this.state.crosshairValues[0]&&`${new Date(this.state.crosshairValues[0].x).toLocaleDateString()} ${new Date(this.state.crosshairValues[0].x).toLocaleTimeString()}`,this.state.crosshairValues.reverse().map(vt=>tt?jsxRuntimeExports.jsxs("div",{children:["P",vt.label*100,": ",vt.y]},vt.label):jsxRuntimeExports.jsx("div",{children:vt.y},vt.label))]})}),tt?jsxRuntimeExports.jsx(DiscreteColorLegend,{className:"legend-label",orientation:"horizontal",items:this.getData().map((vt,ht)=>({color:this.colors[ht],title:`${vt.quantile*100}th`})).reverse()}):null]});return!rt&<.length>0&&(ct=at===null?ut:At),ot&&(ct=ft),jsxRuntimeExports.jsxs("div",{className:`graph-container ${nt}`,style:{height:this.height},children:[jsxRuntimeExports.jsx("h3",{className:"graph-header",children:it}),ct]})}}const opsGraph="";class OperationsGraph extends reactExports.PureComponent{static generatePlaceholder($){return jsxRuntimeExports.jsx("div",{className:"ops-graph-placeholder",children:$})}render(){const{dataPoints:$,yDomain:_e,color:et,error:tt}=this.props;if(tt)return OperationsGraph.generatePlaceholder("Couldn’t fetch data");if($.length===0)return OperationsGraph.generatePlaceholder("No Data");const rt={};return _e&&(rt.yDomain=_e),jsxRuntimeExports.jsx("div",{className:"ops-container",children:jsxRuntimeExports.jsxs(XYPlot,{margin:{left:0,right:0,bottom:1,top:2},width:100,height:15,children:[jsxRuntimeExports.jsx(AreaSeries,{className:"area-series-example ops-graph-style",curve:"curveLinear",color:et,data:$,...rt}),jsxRuntimeExports.jsx(LineSeries,{className:"area-elevated-line-series",color:et,data:$,...rt})]})})}}const index$3="",SPM_CATEGORY_BASE$1="jaeger/ux/trace/spm",CATEGORY_VIEW_TRACES=`${SPM_CATEGORY_BASE$1}/view-traces`,CATEGORY_SORT_OPERATIONS=`${SPM_CATEGORY_BASE$1}/sort-operations`,trackViewTraces=o=>trackEvent(CATEGORY_VIEW_TRACES,o),trackSortOperations=o=>trackEvent(CATEGORY_SORT_OPERATIONS,o),tableTitles=new Map([["name","Name"],["latency","P95 Latency"],["requests","Request rate"],["errRates","Error rate"],["impact","Impact"]]);function formatValue(o){return o<.1?"< 0.1":`${o.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]}`}function formatTimeValue(o){const $=getSuitableTimeUnit(o);return`${formatValue(convertToTimeUnit(o,$))}${convertTimeUnitToShortTerm($)}`}class OperationTableDetails extends reactExports.PureComponent{constructor(){super(...arguments),this.state={hoveredRowKey:-1,tableSorting:{order:"descend",columnKey:"impact"}}}render(){const{loading:$,error:_e}=this.props;if($)return jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0});if(_e.opsCalls&&_e.opsErrors&&_e.opsLatencies)return jsxRuntimeExports.jsx("div",{className:"ops-table-error-placeholder",children:"Couldn’t fetch data"});const et=[{title:tableTitles.get("name"),className:"header-item",dataIndex:"name",key:"name",sorter:(tt,rt)=>tt.name.localeCompare(rt.name)},{title:tableTitles.get("latency"),className:"header-item",dataIndex:"latency",key:"latency",sorter:(tt,rt)=>tt.latency-rt.latency,render:(tt,rt)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:rt.dataPoints.service_operation_latencies,color:"#869ADD",error:_e.opsLatencies}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:typeof tt=="number"&&rt.dataPoints.service_operation_latencies.length>0?formatTimeValue(tt*1e3):""})]})},{title:tableTitles.get("requests"),className:"header-item",dataIndex:"requests",key:"requests",sorter:(tt,rt)=>tt.requests-rt.requests,render:(tt,rt)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:rt.dataPoints.service_operation_call_rate,color:"#4795BA",error:_e.opsCalls}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:typeof tt=="number"&&rt.dataPoints.service_operation_call_rate.length>0?`${formatValue(tt)} req/s`:""})]})},{title:tableTitles.get("errRates"),className:"header-item",dataIndex:"errRates",key:"errRates",sorter:(tt,rt)=>tt.errRates-rt.errRates,render:(tt,rt)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:rt.dataPoints.service_operation_error_rate,color:"#CD513A",yDomain:[0,1],error:_e.opsErrors}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:typeof tt=="number"&&rt.dataPoints.service_operation_error_rate.length>0?`${formatValue(tt*100)}%`:""})]})},{title:jsxRuntimeExports.jsx("div",{style:{paddingTop:1},children:jsxRuntimeExports.jsxs("span",{style:{float:"left",color:"#459798"},children:[tableTitles.get("impact"),"  ",jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"impact-tooltip",placement:"top",title:"The result of multiplying avg. duration and requests per minute, showing the most used and slowest endpoints",children:jsxRuntimeExports.jsx(Icon$1,{type:"info-circle"})})]})}),className:"header-item",dataIndex:"impact",key:"impact",defaultSortOrder:"descend",sorter:(tt,rt)=>tt.impact-rt.impact,render:(tt,rt)=>{let at=null;if(this.state.hoveredRowKey===rt.key){const{endTime:nt,lookback:it,serviceName:ot}=this.props;at=jsxRuntimeExports.jsx(Button$2,{href:prefixUrl(`/search?end=${nt}000&limit=20&lookback=${it/(3600*1e3)}h&maxDuration&minDuration&operation=${encodeURIComponent(rt.name)}&service=${ot}&start=${nt-it}000`),target:"blank",onClick:()=>trackViewTraces(rt.name),children:"View traces"})}return{children:jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(Progress,{className:"impact",percent:tt*100,strokeLinecap:"square",strokeColor:"#459798",showInfo:!1}),jsxRuntimeExports.jsx("div",{className:"view-trace-button",children:at})]})}}}];return jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsx(Table$1,{rowClassName:()=>"table-row",columns:et,dataSource:this.props.data,pagination:{defaultPageSize:20,showSizeChanger:!0,pageSizeOptions:["20","50","100"]},onRow:()=>({onMouseEnter:tt=>{this.setState({hoveredRowKey:parseInt(tt.currentTarget.getAttribute("data-row-key"),10)})},onMouseLeave:()=>{this.setState({hoveredRowKey:-1})}}),onChange:(tt,rt,{columnKey:at,order:nt})=>{if(!isEqual_1({columnKey:at,order:nt},this.state.tableSorting)){const it=tableTitles.get(at||this.state.tableSorting.columnKey);trackSortOperations(it),this.setState({tableSorting:{columnKey:at,order:nt}})}}})})}}const index$2="",monitorImg=""+new URL("monitor-9000dba4.png",import.meta.url).href,monitorImgUrl=getStaticAssetPath(monitorImg);class MonitorATMEmptyState extends reactExports.PureComponent{constructor($){super($),this.config=getConfigValue("monitor.emptyState")}render(){return jsxRuntimeExports.jsxs(Col,{children:[jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsx(Col,{span:8,offset:8,children:jsxRuntimeExports.jsx("img",{className:"monitor-preview-image-empty-state",alt:"jaeger-monitor-tab-preview",src:monitorImgUrl})})}),jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsxs(Col,{span:6,offset:9,className:"center-empty-state",children:[this.config.mainTitle&&jsxRuntimeExports.jsx("h2",{className:"main-title-empty-state",children:this.config.mainTitle}),this.config.subTitle&&jsxRuntimeExports.jsx("h3",{className:"sub-title-empty-state",children:this.config.subTitle}),this.config.description&&jsxRuntimeExports.jsx("h4",{className:"description-empty-state",children:this.config.description}),this.config.button&&this.config.button.text&&jsxRuntimeExports.jsx(Button$2,{className:"button-empty-state",onClick:()=>this.config.button&&this.config.button.onClick&&this.config.button.onClick(),children:this.config.button.text}),this.config.alert&&jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsx(Col,{span:20,offset:2,children:jsxRuntimeExports.jsx(Alert,{message:this.config.alert.message,type:this.config.alert.type,showIcon:!0})})})]})})]})}}const index$1="",SPM_CATEGORY_BASE="jaeger/ux/trace/spm",CATEGORY_VIEW_ALL_TRACES=`${SPM_CATEGORY_BASE}/view-all-traces`,CATEGORY_SELECT_SERVICE=`${SPM_CATEGORY_BASE}/select-service`,CATEGORY_SELECT_TIMEFRAME=`${SPM_CATEGORY_BASE}/select-timeframe`,CATEGORY_SEARCH_OPERATION=`${SPM_CATEGORY_BASE}/search-operation`,trackViewAllTraces=()=>trackEvent(CATEGORY_VIEW_ALL_TRACES,"click"),trackSelectService=o=>trackEvent(CATEGORY_SELECT_SERVICE,o),trackSelectTimeframe=o=>trackEvent(CATEGORY_SELECT_TIMEFRAME,o),trackSearchOperation=o=>trackEvent(CATEGORY_SEARCH_OPERATION,o),trackSearchOperationDebounced=debounce_1(o=>trackSearchOperation(o),1e3),Search=Input$1.Search,AdaptedVirtualSelect=reduxFormFieldAdapter({AntInputComponent:VirtSelect,onChangeAdapter:o=>o?o.value:null}),serviceFormSelector=formValueSelector("serviceForm"),oneHourInMilliSeconds=36e5,oneMinuteInMilliSeconds=6e4,timeFrameOptions=[{label:"Last 5 minutes",value:5*oneMinuteInMilliSeconds},{label:"Last 15 minutes",value:15*oneMinuteInMilliSeconds},{label:"Last 30 minutes",value:30*oneMinuteInMilliSeconds},{label:"Last Hour",value:oneHourInMilliSeconds},{label:"Last 2 hours",value:2*oneHourInMilliSeconds},{label:"Last 6 hours",value:6*oneHourInMilliSeconds},{label:"Last 12 hours",value:12*oneHourInMilliSeconds},{label:"Last 24 hours",value:24*oneHourInMilliSeconds},{label:"Last 2 days",value:48*oneHourInMilliSeconds}],getLoopbackInterval=o=>{if(o===void 0)return"";const $=timeFrameOptions.find(_e=>_e.value===o);return $===void 0?"":$.label.toLowerCase()},calcDisplayTimeUnit=o=>{let $=0;if(o&&Array.isArray(o)){const _e=o.map(et=>et.max);$=Math.max(..._e)}else o&&($=o.max);return getSuitableTimeUnit($*1e3)},yAxisTickFormat=(o,$)=>convertToTimeUnit(o*1e3,$),convertServiceErrorRateToPercentages=o=>{if(!o)return null;const $=o.metricPoints.map(_e=>({..._e,y:_e.y*100}));return{...o,metricPoints:$}};class MonitorATMServicesViewImpl extends reactExports.PureComponent{constructor($){super($),this.serviceSelectorValue="",this.endTime=Date.now(),this.state={graphWidth:300,serviceOpsMetrics:void 0,searchOps:"",graphXDomain:[]},this.graphDivWrapper=reactExports.createRef(),this.docsLink=getConfigValue("monitor.docsLink")}componentDidMount(){const{fetchServices:$,services:_e}=this.props;$(),_e.length!==0&&this.fetchMetrics(),window.addEventListener("resize",this.updateDimensions.bind(this)),this.updateDimensions.apply(this),this.calcGraphXDomain()}componentDidUpdate($){const{selectedService:_e,selectedTimeFrame:et,services:tt}=this.props;$.selectedService!==_e||$.selectedTimeFrame!==et?this.fetchMetrics():isEqual_1($.services,tt)||this.fetchMetrics(),$.selectedTimeFrame!==this.props.selectedTimeFrame&&this.calcGraphXDomain()}componentWillUnmount(){window.removeEventListener("resize",this.updateDimensions.bind(this))}calcGraphXDomain(){const $=Date.now();this.setState({graphXDomain:[$-this.props.selectedTimeFrame,$]})}updateDimensions(){this.graphDivWrapper.current&&this.setState({graphWidth:this.graphDivWrapper.current.offsetWidth-24})}fetchMetrics(){const{selectedService:$,selectedTimeFrame:_e,fetchAllServiceMetrics:et,fetchAggregatedServiceMetrics:tt,services:rt}=this.props,at=$||rt[0];if(at){this.endTime=Date.now(),store_legacy.set("lastAtmSearchTimeframe",_e),store_legacy.set("lastAtmSearchService",this.getSelectedService());const nt={quantile:.95,endTs:this.endTime,lookback:_e,step:60*1e3,ratePer:10*60*1e3};et(at,nt),tt(at,nt),this.setState({serviceOpsMetrics:void 0,searchOps:""})}}getSelectedService(){const{selectedService:$,services:_e}=this.props;return $||store_legacy.get("lastAtmSearchService")||_e[0]}render(){const{services:$,metrics:_e,selectedTimeFrame:et,servicesLoading:tt}=this.props,rt=_e.serviceMetrics?_e.serviceMetrics.service_latencies:null,at=calcDisplayTimeUnit(rt),nt=_e.serviceMetrics?_e.serviceMetrics.service_error_rate:null;return tt?jsxRuntimeExports.jsx(LoadingIndicator,{vcentered:!0,centered:!0}):_e.isATMActivated===!1?jsxRuntimeExports.jsx(MonitorATMEmptyState,{}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[isEmpty_1(_e&&_e.serviceMetrics&&_e.serviceMetrics.service_latencies)&&jsxRuntimeExports.jsx(Alert,{message:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["No data yet! Please see these",jsxRuntimeExports.jsx(Link$1,{to:{pathname:this.docsLink},target:"_blank",children:" instructions "}),"on how to set up your span metrics."]}),type:"warning",showIcon:!0}),jsxRuntimeExports.jsxs("div",{className:"service-view-container",children:[jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsxs(Col,{span:6,children:[jsxRuntimeExports.jsx("h2",{className:"service-selector-header",children:"Choose service"}),jsxRuntimeExports.jsx(Field,{onChange:(it,ot)=>trackSelectService(ot),name:"service",component:AdaptedVirtualSelect,placeholder:"Select A Service",props:{className:"select-a-service-input",value:this.getSelectedService(),disabled:_e.operationMetricsLoading,clearable:!1,options:$.map(it=>({label:it,value:it})),required:!0}})]})}),jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsx(Col,{span:16,children:jsxRuntimeExports.jsxs("p",{className:"operations-metrics-text",children:['Aggregation of all "',this.getSelectedService(),'" metrics in selected timeframe.'," ",jsxRuntimeExports.jsx("a",{href:prefixUrl(`/search?end=${Date.now()}000&limit=20&lookback=${et/(3600*1e3)}h&maxDuration&minDuration&service=${this.getSelectedService()}&start=${Date.now()-et}000`),target:"blank",onClick:trackViewAllTraces,children:"View all traces"})]})}),jsxRuntimeExports.jsx(Col,{span:8,className:"timeframe-selector",children:jsxRuntimeExports.jsx(Field,{name:"timeframe",component:AdaptedVirtualSelect,placeholder:"Select A Timeframe",onChange:(it,ot)=>{const{label:st}=timeFrameOptions.find(lt=>lt.value===ot);trackSelectTimeframe(st)},props:{className:"select-a-timeframe-input",defaultValue:timeFrameOptions[3],value:et,disabled:_e.operationMetricsLoading,clearable:!1,options:timeFrameOptions,required:!0}})})]}),jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:8,children:[jsxRuntimeExports.jsx("div",{ref:this.graphDivWrapper}),jsxRuntimeExports.jsx(ServiceGraphImpl,{error:_e.serviceError.service_latencies_50&&_e.serviceError.service_latencies_75&&_e.serviceError.service_latencies_95,loading:_e.loading,name:`Latency (${convertTimeUnitToShortTerm(at)})`,width:this.state.graphWidth,metricsData:rt,showLegend:!0,marginClassName:"latency-margins",showHorizontalLines:!0,yAxisTickFormat:it=>yAxisTickFormat(it,at),xDomain:this.state.graphXDomain},"latency")]}),jsxRuntimeExports.jsx(Col,{span:8,children:jsxRuntimeExports.jsx(ServiceGraphImpl,{error:_e.serviceError.service_error_rate,loading:_e.loading,name:"Error rate (%)",width:this.state.graphWidth,metricsData:convertServiceErrorRateToPercentages(nt),marginClassName:"error-rate-margins",color:"#CD513A",yDomain:[0,100],xDomain:this.state.graphXDomain},"errRate")}),jsxRuntimeExports.jsx(Col,{span:8,children:jsxRuntimeExports.jsx(ServiceGraphImpl,{loading:_e.loading,error:_e.serviceError.service_call_rate,name:"Request rate (req/s)",width:this.state.graphWidth,metricsData:_e.serviceMetrics?_e.serviceMetrics.service_call_rate:null,showHorizontalLines:!0,color:"#4795BA",marginClassName:"request-margins",xDomain:this.state.graphXDomain},"requests")})]}),jsxRuntimeExports.jsxs(Row,{className:"operation-table-block",children:[jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:16,children:[jsxRuntimeExports.jsxs("h2",{className:"table-header",children:["Operations metrics under ",this.getSelectedService()]})," ",jsxRuntimeExports.jsxs("span",{className:"over-the-last",children:["Over the ",getLoopbackInterval(et)]})]}),jsxRuntimeExports.jsx(Col,{span:8,className:"select-operation-column",children:jsxRuntimeExports.jsx(Search,{placeholder:"Search operation",className:"select-operation-input",value:this.state.searchOps,disabled:_e.operationMetricsLoading===!0||_e.serviceOpsMetrics===void 0,onChange:it=>{const ot=_e.serviceOpsMetrics.filter(({name:st})=>st.toLowerCase().includes(it.target.value.toLowerCase()));this.setState({searchOps:it.target.value,serviceOpsMetrics:ot}),trackSearchOperationDebounced(it.target.value)}})})]}),jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsx(OperationTableDetails,{loading:_e.operationMetricsLoading,error:_e.opsError,data:this.state.serviceOpsMetrics===void 0?_e.serviceOpsMetrics:this.state.serviceOpsMetrics,endTime:this.endTime,lookback:et,serviceName:this.getSelectedService()})})]})]})]})}}function mapStateToProps(o){const{services:$,metrics:_e}=o;return{services:$.services||[],servicesLoading:$.loading,metrics:_e,selectedService:serviceFormSelector(o,"service")||store_legacy.get("lastAtmSearchService"),selectedTimeFrame:serviceFormSelector(o,"timeframe")||store_legacy.get("lastAtmSearchTimeframe")||oneHourInMilliSeconds}}function mapDispatchToProps(o){const{fetchServices:$,fetchAllServiceMetrics:_e,fetchAggregatedServiceMetrics:et}=bindActionCreators(jaegerApiActions,o);return{fetchServices:$,fetchAllServiceMetrics:_e,fetchAggregatedServiceMetrics:et}}const MonitorATMServicesView=connect$3(mapStateToProps,mapDispatchToProps)(reduxForm({form:"serviceForm"})(MonitorATMServicesViewImpl)),MonitorATMPage=()=>jsxRuntimeExports.jsx(MonitorATMServicesView,{});function reduceConfig(o){return o===void 0?getConfig():o}const initialState$3={dependencies:[],loading:!1,error:null};function fetchStarted$2(o){return{...o,loading:!0}}function fetchDepsDone(o,{payload:$}){return{...o,dependencies:$.data,loading:!1}}function fetchDepsErred(o,{payload:$}){return{...o,error:$,dependencies:[],loading:!1}}const dependencies=handleActions({[`${fetchDependencies}_PENDING`]:fetchStarted$2,[`${fetchDependencies}_FULFILLED`]:fetchDepsDone,[`${fetchDependencies}_REJECTED`]:fetchDepsErred},initialState$3);function addViewModifier(o,$){const{visibilityIndices:_e,viewModifier:et}=$,tt=getStateEntryKey($),rt=o[tt];if(!rt||rt.state!==fetchedState.DONE)return console.warn("Cannot set view modifiers for unloaded Deep Dependency Graph"),o;const at=new Map(rt.viewModifiers);return _e.forEach(nt=>{at.set(nt,(at.get(nt)||0)|et)}),{...o,[tt]:{...rt,viewModifiers:at}}}function viewModifierRemoval(o,$){const{visibilityIndices:_e,viewModifier:et}=$,tt=getStateEntryKey($),rt=o[tt];if(!rt||rt.state!==fetchedState.DONE)return console.warn("Cannot change view modifiers for unloaded Deep Dependency Graph"),o;const at=new Map(rt.viewModifiers);return(_e||Array.from(at.keys())).forEach(it=>{const ot=et?(at.get(it)||0)&~et:EViewModifier.None;ot===EViewModifier.None?at.delete(it):at.set(it,ot)}),{...o,[tt]:{...rt,viewModifiers:at}}}function fetchDeepDependencyGraphStarted(o,{meta:$}){const{query:_e}=$,et=getStateEntryKey(_e);return{...o,[et]:{state:fetchedState.LOADING}}}function fetchDeepDependencyGraphDone(o,{meta:$,payload:_e}){const{query:et}=$,{service:tt,operation:rt}=et,at=getStateEntryKey(et);return{...o,[at]:{model:transformDdgData$1(_e,{service:tt,operation:rt}),state:fetchedState.DONE,viewModifiers:new Map}}}function fetchDeepDependencyGraphErred(o,{meta:$,payload:_e}){const{query:et}=$,tt=getStateEntryKey(et);return{...o,[tt]:{error:_e,state:fetchedState.ERROR}}}const ddg=handleActions({[`${fetchDeepDependencyGraph}_PENDING`]:fetchDeepDependencyGraphStarted,[`${fetchDeepDependencyGraph}_FULFILLED`]:guardReducerWithMeta(fetchDeepDependencyGraphDone),[`${fetchDeepDependencyGraph}_REJECTED`]:guardReducerWithMeta(fetchDeepDependencyGraphErred),[actionTypes$3.ADD_VIEW_MODIFIER]:guardReducer(addViewModifier),[actionTypes$3.CLEAR_VIEW_MODIFIERS_FROM_INDICES]:guardReducer(viewModifierRemoval),[actionTypes$3.REMOVE_VIEW_MODIFIER]:guardReducer(viewModifierRemoval),[actionTypes$3.REMOVE_VIEW_MODIFIER_FROM_INDICES]:guardReducer(viewModifierRemoval)},{});function getDecorationDone(o,$){return $?Object.keys($).reduce((_e,et)=>{const{withOp:tt,withoutOp:rt}=$[et],at=[];rt&&Object.keys(rt).forEach(st=>{const lt=rt[st];typeof lt=="number"&&at.push(lt)});const nt=[];if(tt&&Object.keys(tt).forEach(st=>{Object.keys(tt[st]).forEach(lt=>{const ct=tt[st][lt];typeof ct=="number"&&nt.push(ct)})}),_e[et]){const{withOpMax:st,withoutOpMax:lt}=_e[et];typeof st=="number"&&nt.push(st),typeof lt=="number"&&at.push(lt);const ct=Math.max(...nt),ut=Math.max(...at);return{..._e,[et]:{withOp:tt?Object.keys(tt).reduce((ft,At)=>({...ft,[At]:Object.assign({},ft[At],tt[At])}),_e[et].withOp||{}):_e[et].withOp,withOpMax:ct,withoutOp:rt?Object.assign({},_e[et].withoutOp,rt):_e[et].withoutOp,withoutOpMax:ut}}}const it=Math.max(...nt),ot=Math.max(...at);return{..._e,[et]:{withOp:tt,withOpMax:it,withoutOp:rt,withoutOpMax:ot}}},o):o}const pathAgnosticDecorations=handleActions({[`${actionTypes$4.GET_DECORATION}_FULFILLED`]:guardReducer(getDecorationDone)},{});function embeddedConfig(o){if(o===void 0){let $=get_1$1(window,"location.search");const _e=new URLSearchParams($);return typeof window.embeddedMode=="boolean"&&window.embeddedMode&&!_e.get("uiEmbed")&&(_e.set("uiEmbed",VERSION_0),$=_e.toString()),$?getEmbeddedState($):null}return o}function localeStringComparator(o,$){return o.localeCompare($)}const initialState$2={error:null,loading:!1,operationsForService:{},serverOpsForService:{},services:null};function fetchStarted$1(o){return{...o,loading:!0}}function fetchServicesDone(o,{payload:$}){const _e=$.data||[];return _e.sort(localeStringComparator),{...o,services:_e,error:null,loading:!1}}function fetchServicesErred(o,{payload:$}){return{...o,error:$,loading:!1,services:[]}}function fetchServerOpsStarted(o,{meta:{serviceName:$}}){const _e={...o.operationsForService,[$]:[]};return{...o,serverOpsForService:_e}}function fetchServerOpsDone(o,{meta:{serviceName:$},payload:{data:_e}}){if(!Array.isArray(_e))return o;const et={...o.operationsForService,[$]:_e.map(({name:tt})=>tt).sort(localeStringComparator)};return{...o,serverOpsForService:et}}function fetchOpsStarted(o,{meta:{serviceName:$}}){const _e={...o.operationsForService,[$]:[]};return{...o,operationsForService:_e}}function fetchOpsDone(o,{meta:$,payload:_e}){const{data:et}=_e;Array.isArray(et)&&et.sort(localeStringComparator);const tt={...o.operationsForService,[$.serviceName]:et||[]};return{...o,operationsForService:tt}}const services=handleActions({[`${fetchServices}_PENDING`]:fetchStarted$1,[`${fetchServices}_FULFILLED`]:fetchServicesDone,[`${fetchServices}_REJECTED`]:fetchServicesErred,[`${fetchServiceServerOps}_PENDING`]:fetchServerOpsStarted,[`${fetchServiceServerOps}_FULFILLED`]:fetchServerOpsDone,[`${fetchServiceOperations}_PENDING`]:fetchOpsStarted,[`${fetchServiceOperations}_FULFILLED`]:fetchOpsDone},initialState$2),initialState$1={serviceError:{service_latencies_50:null,service_latencies_75:null,service_latencies_95:null,service_call_rate:null,service_error_rate:null},opsError:{opsLatencies:null,opsCalls:null,opsErrors:null},isATMActivated:null,loading:!1,operationMetricsLoading:null,serviceMetrics:null,serviceOpsMetrics:void 0};function fetchStarted(o){return{...o,serviceError:initialState$1.serviceError,loading:!0}}function fetchServiceMetricsDone(o,{payload:$}){const _e={service_latencies:null,service_call_rate:null,service_error_rate:null},et={service_latencies_50:null,service_latencies_75:null,service_latencies_95:null,service_call_rate:null,service_error_rate:null};let tt=!0;return $&&$.forEach((rt,at)=>{if(rt.status==="fulfilled"){const nt=rt.value;if(nt.metrics[0]){let it=0;const ot={serviceName:nt.metrics[0].labels[0].value,quantile:nt.quantile,max:0,metricPoints:nt.metrics[0].metricPoints.map(st=>{let lt;try{lt=parseFloat(st.gaugeValue.doubleValue.toFixed(2)),it=lt>it?lt:it}catch(ct){lt=null}return{x:new Date(st.timestamp).getTime(),y:lt}})};ot.max=it,nt.name==="service_latencies"?(_e[nt.name]===null&&(_e[nt.name]=[]),_e[nt.name].push(ot)):_e[nt.name]=ot}}else switch(typeof rt.reason=="object"&&rt.reason.httpStatus===501&&(tt=!1),at){case 0:et.service_latencies_50=rt.reason;break;case 1:et.service_latencies_75=rt.reason;break;case 2:et.service_latencies_95=rt.reason;break;case 3:et.service_call_rate=rt.reason;break;case 4:et.service_error_rate=rt.reason;break}}),{...o,serviceMetrics:_e,serviceError:et,loading:!1,isATMActivated:tt}}function fetchOpsMetricsStarted(o){return{...o,opsError:initialState$1.opsError,operationMetricsLoading:!0}}function fetchOpsMetricsDone(o,{payload:$}){const _e={opsLatencies:null,opsCalls:null,opsErrors:null};let et=null,tt;if($){$.forEach((at,nt)=>{if(at.status==="fulfilled"){const it=at.value;it.metrics.forEach(ot=>{et===null&&(et={});let st=null;const lt={service_operation_latencies:0,service_operation_call_rate:0,service_operation_error_rate:0};ot.labels.forEach(ct=>{ct.name==="operation"&&(st=ct.value)}),st&&(et[st]===void 0&&(et[st]={name:st,metricPoints:{service_operation_latencies:[],service_operation_call_rate:[],service_operation_error_rate:[],avg:{service_operation_latencies:null,service_operation_call_rate:null,service_operation_error_rate:null}}}),et[st].metricPoints[it.name]=ot.metricPoints.map(ct=>{let ut;try{ut=parseFloat(ct.gaugeValue.doubleValue.toFixed(2)),lt[it.name]+=ut}catch(ft){ut=null}return{x:new Date(ct.timestamp).getTime(),y:ut}}),et[st].metricPoints.avg[it.name]=ot.metricPoints.length>0?parseFloat((lt[it.name]/ot.metricPoints.length).toFixed(2)):null)})}else switch(nt){case 0:_e.opsLatencies=at.reason;break;case 1:_e.opsCalls=at.reason;break;case 2:_e.opsErrors=at.reason;break}});const rt={min:0,max:0};et&&(tt=Object.keys(et).map((at,nt)=>{let it=0;return et[at].metricPoints.avg.service_operation_latencies!==null&&et[at].metricPoints.avg.service_operation_call_rate!==null&&(it=et[at].metricPoints.avg.service_operation_latencies*et[at].metricPoints.avg.service_operation_call_rate/100),nt===0?(rt.max=it,rt.min=it):(rt.max=rt.maxit?it:rt.min),{key:nt,name:et[at].name,latency:et[at].metricPoints.avg.service_operation_latencies||0,requests:et[at].metricPoints.avg.service_operation_call_rate||0,errRates:et[at].metricPoints.avg.service_operation_error_rate||0,impact:it,dataPoints:et[at].metricPoints}}),tt&&tt.length===1?tt.forEach((at,nt)=>{tt[nt].impact=1}):tt&&tt.length>1&&tt.forEach((at,nt)=>{rt.max-rt.min===0?tt[nt].impact=0:tt[nt].impact=(at.impact-rt.min)/(rt.max-rt.min)}))}return{...o,serviceOpsMetrics:tt,opsError:_e,operationMetricsLoading:!1}}const metrics=handleActions({[`${fetchAllServiceMetrics}_PENDING`]:fetchStarted,[`${fetchAllServiceMetrics}_FULFILLED`]:fetchServiceMetricsDone,[`${fetchAggregatedServiceMetrics}_PENDING`]:fetchOpsMetricsStarted,[`${fetchAggregatedServiceMetrics}_FULFILLED`]:fetchOpsMetricsDone},initialState$1);function deduplicateTags(o){const $=new Map,_e=o.reduce((tt,rt)=>(tt.some(at=>at.key===rt.key&&at.value===rt.value)?$.set(`${rt.key}:${rt.value}`,`Duplicate tag "${rt.key}:${rt.value}"`):tt.push(rt),tt),[]),et=Array.from($.values());return{tags:_e,warnings:et}}function orderTags(o,$){const _e=o.slice(),et=($||[]).map(tt=>tt.toLowerCase());return _e.sort((tt,rt)=>{const at=tt.key.toLowerCase(),nt=rt.key.toLowerCase();for(let it=0;itnt?1:at!!ct.startTime);const at=o.spans.length;for(let ct=0;ct_e&&(_e=ft+At);const mt=tt.get(ht);mt!=null?(console.warn(`Dupe spanID, ${mt+1} x ${ht}`,ut,rt.get(ht)),isEqual_1(ut,rt.get(ht))&&console.warn(" two spans with same ID have `isEqual(...) === true`"),tt.set(ht,mt+1),ht=`${ht}_${mt}`,ut.spanID=ht):tt.set(ht,1),ut.process=o.processes[vt],rt.set(ht,ut)}const nt=getTraceSpanIdsAsTree(o),it=[],ot={};nt.walk((ct,ut,ft=0)=>{if(ct==="__root__")return;const At=rt.get(ct);if(!At)return;const{serviceName:vt}=At.process;ot[vt]=(ot[vt]||0)+1,At.relativeStartTime=At.startTime-et,At.depth=ft-1,At.hasChildren=ut.children.length>0,At.warnings=At.warnings||[],At.tags=At.tags||[],At.references=At.references||[];const ht=deduplicateTags(At.tags);At.tags=orderTags(ht.tags,getConfigValue("topTagPrefixes")),At.warnings=At.warnings.concat(ht.warnings),At.references.forEach((mt,bt)=>{const dt=rt.get(mt.spanID);dt&&(mt.span=dt,bt>0&&(dt.subsidiarilyReferencedBy=dt.subsidiarilyReferencedBy||[],dt.subsidiarilyReferencedBy.push({spanID:ct,traceID:$,span:At,refType:mt.refType})))}),it.push(At)});const st=getTraceName(it);return{services:Object.keys(ot).map(ct=>({name:ct,numberOfSpans:ot[ct]})),spans:it,traceID:$,traceName:st,processes:o.processes,duration:_e-et,startTime:et,endTime:_e}}const initialState={traces:{},search:{query:null,results:[]}};function fetchTraceStarted(o,{meta:$}){const{id:_e}=$,et={...o.traces,[_e]:{id:_e,state:fetchedState.LOADING}};return{...o,traces:et}}function fetchTraceDone(o,{meta:$,payload:_e}){const{id:et}=$,tt=transformTraceData(_e.data[0]);let rt;tt?rt={data:tt,id:et,state:fetchedState.DONE}:rt={id:et,state:fetchedState.ERROR,error:new Error("Invalid trace data recieved.")};const at={...o.traces,[et]:rt};return{...o,traces:at}}function fetchTraceErred(o,{meta:$,payload:_e}){const{id:et}=$,tt={id:et,error:_e,state:fetchedState.ERROR},rt={...o.traces,[et]:tt};return{...o,traces:rt}}function fetchMultipleTracesStarted(o,{meta:$}){const{ids:_e}=$,et={...o.traces};return _e.forEach(tt=>{et[tt]={id:tt,state:fetchedState.LOADING}}),{...o,traces:et}}function fetchMultipleTracesDone(o,{payload:$}){const _e={...o.traces};return $.data.forEach(et=>{const tt=transformTraceData(et);_e[tt.traceID]={data:tt,id:tt.traceID,state:fetchedState.DONE}}),$.errors&&$.errors.forEach(et=>{const{msg:tt,traceID:rt}=et,at=new Error(`Error: ${tt} - ${rt}`);_e[rt]={error:at,id:rt,state:fetchedState.ERROR}}),{...o,traces:_e}}function fetchMultipleTracesErred(o,{meta:$,payload:_e}){const{ids:et}=$,tt={...o.traces},rt=_e;return et.forEach(at=>{tt[at]={error:rt,id:at,state:fetchedState.ERROR}}),{...o,traces:tt}}function fetchSearchStarted(o,{meta:$}){const{query:_e}=$,et={query:_e,results:[],state:fetchedState.LOADING};return{...o,search:et}}function searchDone(o,{meta:$,payload:_e}){if(!isEqual_1(o.search.query,$.query))return o;const et=_e.data,tt=et.map(transformTraceData),rt={},at=[];for(let ot=0;ot"u"?"undefined":_typeof(o))==="object"?o&&typeof o.then=="function":!1}var _slicedToArray=function(){function o($,_e){var et=[],tt=!0,rt=!1,at=void 0;try{for(var nt=$[Symbol.iterator](),it;!(tt=(it=nt.next()).done)&&(et.push(it.value),!(_e&&et.length===_e));tt=!0);}catch(ot){rt=!0,at=ot}finally{try{!tt&&nt.return&&nt.return()}finally{if(rt)throw at}}return et}return function($,_e){if(Array.isArray($))return $;if(Symbol.iterator in Object($))return o($,_e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_extends=Object.assign||function(o){for(var $=1;$0&&arguments[0]!==void 0?arguments[0]:{},$=o.promiseTypeSuffixes||defaultTypes,_e=o.promiseTypeDelimiter||"_";return function(et){var tt=et.dispatch;return function(rt){return function(at){var nt=void 0,it=void 0;if(at.payload){var ot=at.payload;if(isPromise(ot))nt=ot;else if(isPromise(ot.promise))nt=ot.promise,it=ot.data;else if(typeof ot=="function"||typeof ot.promise=="function"){if(nt=ot.promise?ot.promise():ot(),it=ot.promise?ot.data:void 0,!isPromise(nt))return rt(_extends({},at,{payload:nt}))}else return rt(at)}else return rt(at);var st=at.type,lt=at.meta,ct=_slicedToArray($,3),ut=ct[0],ft=ct[1],At=ct[2],vt=function(dt,xt){return _extends({type:[st,xt?At:ft].join(_e)},dt===null||typeof dt>"u"?{}:{payload:dt},lt!==void 0?{meta:lt}:{},xt?{error:!0}:{})},ht=function(dt){var xt=vt(dt,!0);throw tt(xt),dt},mt=function(){var dt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,xt=vt(dt,!1);return tt(xt),{value:dt,action:xt}};return rt(_extends({type:[st,ut].join(_e)},it!==void 0?{payload:it}:{},lt!==void 0?{meta:lt}:{})),nt.then(mt,ht)}}}}const ACTION_RESIZE="resize",ACTION_COLLAPSE_ALL="collapse-all",ACTION_COLLAPSE_ONE="collapse-one",ACTION_EXPAND_ALL="expand-all",ACTION_EXPAND_ONE="expand-one",CATEGORY_BASE="jaeger/ux/trace/timeline",CATEGORY_COLUMN=`${CATEGORY_BASE}/column`,CATEGORY_EXPAND_COLLAPSE=`${CATEGORY_BASE}/expand-collapse`,CATEGORY_LOGS=`${CATEGORY_BASE}/logs`,CATEGORY_LOGS_ITEM=`${CATEGORY_BASE}/logs/item`,CATEGORY_PARENT=`${CATEGORY_BASE}/parent`,CATEGORY_PROCESS=`${CATEGORY_BASE}/process`,CATEGORY_ROW=`${CATEGORY_BASE}/row`,CATEGORY_TAGS=`${CATEGORY_BASE}/tags`;function getDetail(o,{payload:$}){return $?o.getState().traceTimeline.detailStates.get($.spanID):void 0}function trackDetailState(o,$,_e){const et=getDetail(o,$);et&&_e(et)}function trackParent(o,{payload:$}){if(!$)return;const _e=o.getState(),et=_e.traceTimeline.traceID;if(!et)return;const{spanID:tt}=$,rt=_e.traceTimeline.childrenHiddenIDs.has(tt),at=_e.trace.traces[et]||_e.trace.traces[et.replace(/^0*/,"")];if(!at||!at.data)return;const nt=at.data.spans.find(it=>it.spanID===tt);nt&&trackEvent(CATEGORY_PARENT,getToggleValue(!rt),nt.depth)}function trackLogsItem(o,$){const _e=getDetail(o,$),{payload:et}=$;if(!_e||!et||!("logItem"in et))return;const{logItem:tt}=et,rt=!!_e.logs.openedItems.has(tt);trackEvent(CATEGORY_LOGS_ITEM,getToggleValue(rt))}const trackColumnWidth=(o,{payload:$})=>$&&trackEvent(CATEGORY_COLUMN,ACTION_RESIZE,Math.round($.width*1e3)),trackDetailRow=o=>trackEvent(CATEGORY_ROW,getToggleValue(o)),trackLogs=o=>trackEvent(CATEGORY_LOGS,getToggleValue(o.logs.isOpen)),trackProcess=o=>trackEvent(CATEGORY_PROCESS,getToggleValue(o.isProcessOpen)),trackTags=o=>trackEvent(CATEGORY_TAGS,getToggleValue(o.isTagsOpen)),hooks={[actionTypes.CHILDREN_TOGGLE]:trackParent,[actionTypes.DETAIL_TOGGLE]:(o,$)=>trackDetailRow(!!getDetail(o,$)),[actionTypes.DETAIL_TAGS_TOGGLE]:(o,$)=>trackDetailState(o,$,trackTags),[actionTypes.DETAIL_PROCESS_TOGGLE]:(o,$)=>trackDetailState(o,$,trackProcess),[actionTypes.DETAIL_LOGS_TOGGLE]:(o,$)=>trackDetailState(o,$,trackLogs)},middlewareHooks$1={...hooks,[actionTypes.COLLAPSE_ALL]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_COLLAPSE_ALL),[actionTypes.COLLAPSE_ONE]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_COLLAPSE_ONE),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:trackLogsItem,[actionTypes.EXPAND_ALL]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_EXPAND_ALL),[actionTypes.EXPAND_ONE]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_EXPAND_ONE),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:trackColumnWidth},middlewareHooks={...middlewareHooks$1,...middlewareHooks$2};function trackingMiddleware(o){return function(_e){return function(tt){const{type:rt}=tt;return typeof middlewareHooks[rt]=="function"&&middlewareHooks[rt](o,tt),_e(tt)}}}const track=isWaEnabled?trackingMiddleware:void 0,loadOperationsForServiceMiddleware=o=>$=>_e=>(_e.type==="@@redux-form/CHANGE"&&_e.meta.form==="searchSideBar"&&_e.meta.field==="service"&&_e.payload!=="-"&&(o.dispatch(fetchServiceOperations(_e.payload)),o.dispatch(change("searchSideBar","operation","all"))),$(_e)),historyUpdateMiddleware=o=>$=>_e=>{if(_e.type===String(searchTraces)){const et=getUrl$2(_e.meta.query);o.dispatch(replace(et))}return $(_e)},promise=promiseMiddleware(),jaegerMiddlewares=Object.freeze(Object.defineProperty({__proto__:null,historyUpdateMiddleware,loadOperationsForServiceMiddleware,promise,trackMiddleware:track},Symbol.toStringTag,{value:"Module"}));function configureStore(o){return createStore$2(combineReducers({...jaegerReducers,archive,traceDiff,traceTimeline,router:routerReducer}),compose$1(applyMiddleware(...Object.keys(jaegerMiddlewares).map($=>jaegerMiddlewares[$]).filter(Boolean),routerMiddleware(o)),$=>$))}function processScripts(){const o=getConfigValue("scripts");o&&o.forEach($=>{if($.type==="inline"){const _e=document.createTextNode($.text),et=document.createElement("script");et.append(_e),document.body.appendChild(et)}})}const MIN_ZOOM_LEVEL=.7,MAX_ZOOM_LEVEL=1.5,ZOOM_FACTOR=.1;class ZoomManager{constructor(){this.updateStyles=()=>{document.body.style.zoom=this.zoomLevel},this.zoomIn=()=>{this.zoomLevel=Math.min(this.zoomLevel+ZOOM_FACTOR,MAX_ZOOM_LEVEL),this.updateStyles()},this.zoomOut=()=>{this.zoomLevel=Math.max(this.zoomLevel-ZOOM_FACTOR,MIN_ZOOM_LEVEL),this.updateStyles()},this.zoomLevel=typeof document.body.style.zoom=="number"?document.body.style.zoom:1}}const vars="",utils="",index="",history=_default$bF();class JaegerUIApp extends reactExports.Component{constructor($){super($),this.store=configureStore(history),JaegerAPI.apiRoot=DEFAULT_API_ROOT,processScripts(),this.zoomManager=new ZoomManager,this._handleZoomKeyboardShortcuts=this._handleZoomKeyboardShortcuts.bind(this)}componentDidMount(){document.addEventListener("keydown",this._handleZoomKeyboardShortcuts)}componentWillUnmount(){document.removeEventListener("keydown",this._handleZoomKeyboardShortcuts)}_handleZoomKeyboardShortcuts($){if(window.enableZoomControls&&($.metaKey||$.ctrlKey))switch($.key){case"-":this.zoomManager.zoomOut();break;case"=":this.zoomManager.zoomIn();break}}render(){if(isString$6(window.initialRoutePath)&&window.initialRoutePath){const $=window.initialRoutePath;window.initialRoutePath="",history.push($)}return jsxRuntimeExports.jsx(Provider$3,{store:this.store,children:jsxRuntimeExports.jsx(ConnectedRouter,{history,children:jsxRuntimeExports.jsx(ZoomContext.Provider,{value:this.zoomManager,children:jsxRuntimeExports.jsx(Page,{children:jsxRuntimeExports.jsxs(Switch$1,{children:[jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$2,component:SearchTracePage}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$1,component:TraceDiff}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$6,component:TracePage}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$5,component:DependencyGraph}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$4,component:DeepDependencies}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$3,component:QualityMetrics}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH,component:MonitorATMPage}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:"/",to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:prefixUrl(),to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:prefixUrl("/"),to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Route$1,{component:NotFound})]})})})})})}}var LOG_LEVEL=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.NONE=4]="NONE",o))(LOG_LEVEL||{});class Logger{constructor($,_e=!0,et=!0){this.minLogLevel=$,this.showTimeStamp=_e,this.showLogLevel=et}getTimestampTag(){return hooks$1(new Date).format("HH:mm:ss")}getLogLevelTag(){return LOG_LEVEL[this.minLogLevel]}getFormattedMessage($,_e){return this.showLogLevel&&$.unshift(this.getLogLevelTag()),this.showTimeStamp&&$.unshift(this.getTimestampTag()),`${$.map(tt=>`[${tt}]`).join("")}: ${_e}`}setLogLevel($){this.minLogLevel=$}log($,_e,et,...tt){const rt=this.getFormattedMessage(_e,et);if(!(this.minLogLevel>$))switch($){case LOG_LEVEL.DEBUG:console.debug(rt,...tt);break;case LOG_LEVEL.INFO:console.info(rt,...tt);break;case LOG_LEVEL.WARN:console.warn(rt,...tt);break;case LOG_LEVEL.ERROR:console.error(rt,...tt);break}}debug($,..._e){this.log(LOG_LEVEL.DEBUG,[],$,..._e)}info($,..._e){this.log(LOG_LEVEL.INFO,[],$,..._e)}warn($,..._e){this.log(LOG_LEVEL.WARN,[],$,..._e)}error($,..._e){this.log(LOG_LEVEL.ERROR,[],$,..._e)}}const logger=new Logger(window.isLoggingEnabled===!0?LOG_LEVEL.DEBUG:LOG_LEVEL.NONE),isNull=o=>o===null,isObject=o=>typeof o=="object"&&!isNull(o),isDigmaMessageEvent=o=>isObject(o.data)&&o.data.type==="digma",OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: blue; font-weight: bold",FAILED_OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: red; font-weight: bold",INCOMING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: green; font-weight: bold",initializeDigmaMessageListener=o=>{const $=_e=>{isDigmaMessageEvent(_e)&&(logger.debug(`Message received: %c${_e.data.action} %cRaw message: %O`,INCOMING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,_e.data),updateState(_e.data.action,_e.data.payload),o.dispatch(_e.timeStamp,_e.data.action,_e.data.payload))};return window.addEventListener("message",$),()=>{window.removeEventListener("message",$)}},sendMessage=o=>{switch(logger.debug(`Message to send: ${o.action} Raw message: %O`,o),updateState(o.action,o.payload),window.platform){case"VS Code":window.sendMessageToVSCode&&(window.sendMessageToVSCode(o),logger.debug(`Message has been successfully sent to VS Code: %c${o.action} %cRaw message: %O`,OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,o));break;case"JetBrains":if(window.cefQuery)return window.cefQuery({request:JSON.stringify(o),onSuccess($){logger.debug(`Message has been successfully handled by JCEF: %c${o.action} diff --git a/src/main/resources/webview/jaegerui/static/index-legacy-1ca9c6f5.js b/src/main/resources/webview/jaegerui/static/index-legacy-7a251ba3.js similarity index 90% rename from src/main/resources/webview/jaegerui/static/index-legacy-1ca9c6f5.js rename to src/main/resources/webview/jaegerui/static/index-legacy-7a251ba3.js index 612e13dbb..45d7f0267 100644 --- a/src/main/resources/webview/jaegerui/static/index-legacy-1ca9c6f5.js +++ b/src/main/resources/webview/jaegerui/static/index-legacy-7a251ba3.js @@ -8,7 +8,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -var f$1=reactExports,k$3=Symbol.for("react.element"),l$1=Symbol.for("react.fragment"),m$2=Object.prototype.hasOwnProperty,n$1=f$1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p$3={key:!0,ref:!0,__self:!0,__source:!0};function q$1(e,t,r){var a,n={},i=null,o=null;for(a in void 0!==r&&(i=""+r),void 0!==t.key&&(i=""+t.key),void 0!==t.ref&&(o=t.ref),t)m$2.call(t,a)&&!p$3.hasOwnProperty(a)&&(n[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===n[a]&&(n[a]=t[a]);return{$$typeof:k$3,type:e,key:i,ref:o,props:n,_owner:n$1.current}}function getAppEnvironment(){return"production"}function getVersionInfo(){return'{"version":"0.0.1","remote":"github.aaakk.us.kg-digma/digma-ai/jaeger-ui","objName":"faf0e053","changed":{"hasChanged":true,"files":5,"insertions":13,"deletions":14,"untracked":2,"pretty":"5f +13 -14 2?"},"refName":"feature/navigation-refactor","pretty":"0.0.1 | github.aaakk.us.kg-digma/digma-ai/jaeger-ui | faf0e053 | 5f +13 -14 2? | feature/navigation-refactor"}'}function shouldDebugGoogleAnalytics(){return""}reactJsxRuntime_production_min.Fragment=l$1,reactJsxRuntime_production_min.jsx=q$1,reactJsxRuntime_production_min.jsxs=q$1,function(e){e.exports=reactJsxRuntime_production_min}(jsxRuntime);const baseNode=document.querySelector("base");if(!baseNode&&"test"!==getAppEnvironment())throw new Error(" element not found");const sitePrefix=baseNode?baseNode.href:`${global.location.origin}/`;window.__webpack_public_path__=sitePrefix;var warning$7=function(){},warning_1$3=warning$7,propTypesExports={},propTypes$d={get exports(){return propTypesExports},set exports(e){propTypesExports=e}},ReactPropTypesSecret$1="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ReactPropTypesSecret_1=ReactPropTypesSecret$1,ReactPropTypesSecret=ReactPropTypesSecret_1;function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction;var factoryWithThrowingShims=function(){function e(e,t,r,a,n,i){if(i!==ReactPropTypesSecret){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return r.PropTypes=r,r};propTypes$d.exports=factoryWithThrowingShims();var warning$6=function(){},browser$1=warning$6,invariant=function(e,t,r,a,n,i,o,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[r,a,n,i,o,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}},browser=invariant;function isAbsolute(e){return"/"===e.charAt(0)}function spliceOne(e,t){for(var r=t,a=r+1,n=e.length;a1&&void 0!==arguments[1]?arguments[1]:"",r=e&&e.split("/")||[],a=t&&t.split("/")||[],n=e&&isAbsolute(e),i=t&&isAbsolute(t),o=n||i;if(e&&isAbsolute(e)?a=r:r.length&&(a.pop(),a=a.concat(r)),!a.length)return"/";var l=void 0;if(a.length){var s=a[a.length-1];l="."===s||".."===s||""===s}else l=!1;for(var c=0,u=a.length;u>=0;u--){var f=a[u];"."===f?spliceOne(a,u):".."===f?(spliceOne(a,u),c++):c&&(spliceOne(a,u),c--)}if(!o)for(;c--;c)a.unshift("..");!o||""===a[0]||a[0]&&isAbsolute(a[0])||a.unshift("");var A=a.join("/");return l&&"/"!==A.substr(-1)&&(A+="/"),A}const resolvePathname$1=Object.freeze(Object.defineProperty({__proto__:null,default:resolvePathname},Symbol.toStringTag,{value:"Module"}));var _typeof$1p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function valueEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e))return Array.isArray(t)&&e.length===t.length&&e.every((function(e,r){return valueEqual(e,t[r])}));var r=void 0===e?"undefined":_typeof$1p(e);if(r!==(void 0===t?"undefined":_typeof$1p(t)))return!1;if("object"===r){var a=e.valueOf(),n=t.valueOf();if(a!==e||n!==t)return valueEqual(a,n);var i=Object.keys(e),o=Object.keys(t);return i.length===o.length&&i.every((function(r){return valueEqual(e[r],t[r])}))}return!1}const valueEqual$1=Object.freeze(Object.defineProperty({__proto__:null,default:valueEqual},Symbol.toStringTag,{value:"Module"}));var addLeadingSlash=function(e){return"/"===e.charAt(0)?e:"/"+e},hasBasename$1=function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)},stripBasename=function(e,t){return hasBasename$1(e,t)?e.substr(t.length):e},stripTrailingSlash=function(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e},parsePath=function(e){var t=e||"/",r="",a="",n=t.indexOf("#");-1!==n&&(a=t.substr(n),t=t.substr(0,n));var i=t.indexOf("?");return-1!==i&&(r=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===r?"":r,hash:"#"===a?"":a}},createPath=function(e){var t=e.pathname,r=e.search,a=e.hash,n=t||"/";return r&&"?"!==r&&(n+="?"===r.charAt(0)?r:"?"+r),a&&"#"!==a&&(n+="#"===a.charAt(0)?a:"#"+a),n},_extends$2r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};browser(canUseDOM$3,"Browser history needs a DOM");var t=window.history,r=supportsHistory(),a=!supportsPopStateOnHashChange(),n=e.forceRefresh,i=void 0!==n&&n,o=e.getUserConfirmation,l=void 0===o?getConfirmation:o,s=e.keyLength,c=void 0===s?6:s,u=e.basename?stripTrailingSlash(addLeadingSlash(e.basename)):"",f=function(e){var t=e||{},r=t.key,a=t.state,n=window.location,i=n.pathname+n.search+n.hash;return browser$1(!u||hasBasename$1(i,u)),u&&(i=stripBasename(i,u)),createLocation(i,a,r)},A=function(){return Math.random().toString(36).substr(2,c)},d=createTransitionManager$2(),p=function(e){_extends$2q($,e),$.length=t.length,d.notifyListeners($.location,$.action)},h=function(e){isExtraneousPopstateEvent(e)||m(f(e.state))},b=function(){m(f(getHistoryState$1()))},g=!1,m=function(e){if(g)g=!1,p();else{d.confirmTransitionTo(e,"POP",l,(function(t){t?p({action:"POP",location:e}):v(e)}))}},v=function(e){var t=$.location,r=w.indexOf(t.key);-1===r&&(r=0);var a=w.indexOf(e.key);-1===a&&(a=0);var n=r-a;n&&(g=!0,x(n))},y=f(getHistoryState$1()),w=[y.key],k=function(e){return u+createPath(e)},x=function(e){t.go(e)},E=0,_=function(e){1===(E+=e)?(addEventListener$2(window,PopStateEvent$1,h),a&&addEventListener$2(window,HashChangeEvent$1,b)):0===E&&(removeEventListener$1(window,PopStateEvent$1,h),a&&removeEventListener$1(window,HashChangeEvent$1,b))},C=!1,$={length:t.length,action:"POP",location:y,createHref:k,push:function(e,a){browser$1(!("object"===(void 0===e?"undefined":_typeof$1o(e))&&void 0!==e.state&&void 0!==a));var n="PUSH",o=createLocation(e,a,A(),$.location);d.confirmTransitionTo(o,n,l,(function(e){if(e){var a=k(o),l=o.key,s=o.state;if(r)if(t.pushState({key:l,state:s},null,a),i)window.location.href=a;else{var c=w.indexOf($.location.key),u=w.slice(0,-1===c?0:c+1);u.push(o.key),w=u,p({action:n,location:o})}else window.location.href=a}}))},replace:function(e,a){browser$1(!("object"===(void 0===e?"undefined":_typeof$1o(e))&&void 0!==e.state&&void 0!==a));var n="REPLACE",o=createLocation(e,a,A(),$.location);d.confirmTransitionTo(o,n,l,(function(e){if(e){var a=k(o),l=o.key,s=o.state;if(r)if(t.replaceState({key:l,state:s},null,a),i)window.location.replace(a);else{var c=w.indexOf($.location.key);-1!==c&&(w[c]=o.key),p({action:n,location:o})}else window.location.replace(a)}}))},go:x,goBack:function(){return x(-1)},goForward:function(){return x(1)},block:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=d.setPrompt(e);return C||(_(1),C=!0),function(){return C&&(C=!1,_(-1)),t()}},listen:function(e){var t=d.appendListener(e);return _(1),function(){_(-1),t()}}};return $},_extends$2p=Object.assign||function(e){for(var t=1;t may have only one child element"),this.unlisten=a.listen((function(){e.setState({match:e.computeMatch(a.location.pathname)})}))},t.prototype.componentWillReceiveProps=function(e){warning_1$3(this.props.history===e.history)},t.prototype.componentWillUnmount=function(){this.unlisten()},t.prototype.render=function(){var e=this.props.children;return e?React$k.Children.only(e):null},t}(React$k.Component);Router.propTypes={history:propTypesExports.object.isRequired,children:propTypesExports.node},Router.contextTypes={router:propTypesExports.object},Router.childContextTypes={router:propTypesExports.object.isRequired};const Router$1=Router;function _classCallCheck$29(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$27(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$27(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var BrowserRouter=function(e){function t(){var r,a;_classCallCheck$29(this,t);for(var n=arguments.length,i=Array(n),o=0;o=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}function _classCallCheck$28(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$26(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$26(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var isModifiedEvent=function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)},Link=function(e){function t(){var r,a;_classCallCheck$28(this,t);for(var n=arguments.length,i=Array(n),o=0;o outside a "),browser(void 0!==t,'You must specify the "to" property');var n=this.context.router.history,i="string"==typeof t?createLocation(t,null,null,n.location):t,o=n.createHref(i);return React$k.createElement("a",_extends$2o({},a,{onClick:this.handleClick,href:o,ref:r}))},t}(React$k.Component);Link.propTypes={onClick:propTypesExports.func,target:propTypesExports.string,replace:propTypesExports.bool,to:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]).isRequired,innerRef:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func])},Link.defaultProps={replace:!1},Link.contextTypes={router:propTypesExports.shape({history:propTypesExports.shape({push:propTypesExports.func.isRequired,replace:propTypesExports.func.isRequired,createHref:propTypesExports.func.isRequired}).isRequired}).isRequired};const Link$1=Link;var pathToRegexpExports={},pathToRegexp$1={get exports(){return pathToRegexpExports},set exports(e){pathToRegexpExports=e}},isarray$1=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)},isarray=isarray$1;pathToRegexp$1.exports=pathToRegexp,pathToRegexpExports.parse=parse$3,pathToRegexpExports.compile=compile,pathToRegexpExports.tokensToFunction=tokensToFunction,pathToRegexpExports.tokensToRegExp=tokensToRegExp;var PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$3(e,t){for(var r,a=[],n=0,i=0,o="",l=t&&t.delimiter||"/";null!=(r=PATH_REGEXP.exec(e));){var s=r[0],c=r[1],u=r.index;if(o+=e.slice(i,u),i=u+s.length,c)o+=c[1];else{var f=e[i],A=r[2],d=r[3],p=r[4],h=r[5],b=r[6],g=r[7];o&&(a.push(o),o="");var m=null!=A&&null!=f&&f!==A,v="+"===b||"*"===b,y="?"===b||"*"===b,w=r[2]||l,k=p||h;a.push({name:d||n++,prefix:A||"",delimiter:w,optional:y,repeat:v,partial:m,asterisk:!!g,pattern:k?escapeGroup(k):g?".*":"[^"+escapeString(w)+"]+?"})}}return i1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2];"string"==typeof t&&(t={path:t});var a=t,n=a.path,i=a.exact,o=void 0!==i&&i,l=a.strict,s=void 0!==l&&l,c=a.sensitive;if(null==n)return r;var u=compilePath(n,{end:o,strict:s,sensitive:void 0!==c&&c}),f=u.re,A=u.keys,d=f.exec(e);if(!d)return null;var p=d[0],h=d.slice(1),b=e===p;return o&&!b?null:{path:n,url:"/"===n&&""===p?"/":p,isExact:b,params:A.reduce((function(e,t,r){return e[t.name]=h[r],e}),{})}};const matchPath$1=matchPath;var _extends$2n=Object.assign||function(e){for(var t=1;t or withRouter() outside a ");var s=t.route,c=(a||s.location).pathname;return matchPath$1(c,{path:n,strict:i,exact:o,sensitive:l},s.match)},t.prototype.componentWillMount=function(){warning_1$3(!(this.props.component&&this.props.render)),warning_1$3(!(this.props.component&&this.props.children&&!isEmptyChildren(this.props.children))),warning_1$3(!(this.props.render&&this.props.children&&!isEmptyChildren(this.props.children)))},t.prototype.componentWillReceiveProps=function(e,t){warning_1$3(!(e.location&&!this.props.location)),warning_1$3(!(!e.location&&this.props.location)),this.setState({match:this.computeMatch(e,t.router)})},t.prototype.render=function(){var e=this.state.match,t=this.props,r=t.children,a=t.component,n=t.render,i=this.context.router,o=i.history,l=i.route,s=i.staticContext,c={match:e,location:this.props.location||l.location,history:o,staticContext:s};return a?e?React$k.createElement(a,c):null:n?e?n(c):null:"function"==typeof r?r(c):r&&!isEmptyChildren(r)?React$k.Children.only(r):null},t}(React$k.Component);Route.propTypes={computedMatch:propTypesExports.object,path:propTypesExports.string,exact:propTypesExports.bool,strict:propTypesExports.bool,sensitive:propTypesExports.bool,component:propTypesExports.func,render:propTypesExports.func,children:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),location:propTypesExports.object},Route.contextTypes={router:propTypesExports.shape({history:propTypesExports.object.isRequired,route:propTypesExports.object.isRequired,staticContext:propTypesExports.object})},Route.childContextTypes={router:propTypesExports.object.isRequired};const Route$1=Route;var patternCache={},cacheLimit=1e4,cacheCount=0,compileGenerator=function(e){var t=e,r=patternCache[t]||(patternCache[t]={});if(r[e])return r[e];var a=pathToRegexpExports.compile(e);return cacheCount0&&void 0!==arguments[0]?arguments[0]:"/",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"/"===e?e:compileGenerator(e)(t,{pretty:!0})};const generatePath$2=generatePath$1;var _extends$2m=Object.assign||function(e){for(var t=1;t outside a "),this.isStatic()&&this.perform()},t.prototype.componentDidMount=function(){this.isStatic()||this.perform()},t.prototype.componentDidUpdate=function(e){var t=createLocation(e.to),r=createLocation(this.props.to);locationsAreEqual(t,r)?warning_1$3(!1,"You tried to redirect to the same route you're currently on: \""+r.pathname+r.search+'"'):this.perform()},t.prototype.computeTo=function(e){var t=e.computedMatch,r=e.to;return t?"string"==typeof r?generatePath$2(r,t.params):_extends$2m({},r,{pathname:generatePath$2(r.pathname,t.params)}):r},t.prototype.perform=function(){var e=this.context.router.history,t=this.props.push,r=this.computeTo(this.props);t?e.push(r):e.replace(r)},t.prototype.render=function(){return null},t}(React$k.Component);Redirect.propTypes={computedMatch:propTypesExports.object,push:propTypesExports.bool,from:propTypesExports.string,to:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]).isRequired},Redirect.defaultProps={push:!1},Redirect.contextTypes={router:propTypesExports.shape({history:propTypesExports.shape({push:propTypesExports.func.isRequired,replace:propTypesExports.func.isRequired}).isRequired,staticContext:propTypesExports.object}).isRequired};const Redirect$1=Redirect;function _classCallCheck$25(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$23(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$23(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var Switch=function(e){function t(){return _classCallCheck$25(this,t),_possibleConstructorReturn$23(this,e.apply(this,arguments))}return _inherits$23(t,e),t.prototype.componentWillMount=function(){browser(this.context.router,"You should not use outside a ")},t.prototype.componentWillReceiveProps=function(e){warning_1$3(!(e.location&&!this.props.location)),warning_1$3(!(!e.location&&this.props.location))},t.prototype.render=function(){var e=this.context.router.route,t=this.props.children,r=this.props.location||e.location,a=void 0,n=void 0;return React$k.Children.forEach(t,(function(t){if(null==a&&React$k.isValidElement(t)){var i=t.props,o=i.path,l=i.exact,s=i.strict,c=i.sensitive,u=i.from,f=o||u;n=t,a=matchPath$1(r.pathname,{path:f,exact:l,strict:s,sensitive:c},e.match)}})),a?React$k.cloneElement(n,{location:r,computedMatch:a}):null},t}(React$k.Component);Switch.contextTypes={router:propTypesExports.shape({route:propTypesExports.object.isRequired}).isRequired},Switch.propTypes={children:propTypesExports.node,location:propTypesExports.object};const Switch$1=Switch;var REACT_STATICS$3={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS$3={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},defineProperty$a=Object.defineProperty,getOwnPropertyNames$3=Object.getOwnPropertyNames,getOwnPropertySymbols$4=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$5=Object.getOwnPropertyDescriptor,getPrototypeOf$6=Object.getPrototypeOf,objectPrototype$3=getPrototypeOf$6&&getPrototypeOf$6(Object);function hoistNonReactStatics$3(t,r,a){if("string"!=typeof r){if(objectPrototype$3){var n=getPrototypeOf$6(r);n&&n!==objectPrototype$3&&hoistNonReactStatics$3(t,n,a)}var i=getOwnPropertyNames$3(r);getOwnPropertySymbols$4&&(i=i.concat(getOwnPropertySymbols$4(r)));for(var o=0;o=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}var withRouter=function(e){var t=function(t){var r=t.wrappedComponentRef,a=_objectWithoutProperties$b(t,["wrappedComponentRef"]);return React$k.createElement(Route$1,{children:function(t){return React$k.createElement(e,_extends$2l({},a,t,{ref:r}))}})};return t.displayName="withRouter("+(e.displayName||e.name)+")",t.WrappedComponent=e,t.propTypes={wrappedComponentRef:propTypesExports.func},hoistNonReactStatics_cjs$3(t,e)};const withRouter$1=withRouter;var reactDomExports={},reactDom={get exports(){return reactDomExports},set exports(e){reactDomExports=e}},reactDom_production_min={},schedulerExports={},scheduler={get exports(){return schedulerExports},set exports(e){schedulerExports=e}},scheduler_production_min={}; +var f$1=reactExports,k$3=Symbol.for("react.element"),l$1=Symbol.for("react.fragment"),m$2=Object.prototype.hasOwnProperty,n$1=f$1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p$3={key:!0,ref:!0,__self:!0,__source:!0};function q$1(e,t,r){var a,n={},i=null,o=null;for(a in void 0!==r&&(i=""+r),void 0!==t.key&&(i=""+t.key),void 0!==t.ref&&(o=t.ref),t)m$2.call(t,a)&&!p$3.hasOwnProperty(a)&&(n[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===n[a]&&(n[a]=t[a]);return{$$typeof:k$3,type:e,key:i,ref:o,props:n,_owner:n$1.current}}function getAppEnvironment(){return"production"}function getVersionInfo(){return'{"version":"0.0.1","remote":"github.aaakk.us.kg-digma/digma-ai/jaeger-ui","objName":"23b04e96","changed":{"hasChanged":true,"files":5,"insertions":41,"deletions":33,"untracked":2,"pretty":"5f +41 -33 2?"},"refName":"digma","pretty":"0.0.1 | github.aaakk.us.kg-digma/digma-ai/jaeger-ui | 23b04e96 | 5f +41 -33 2? | digma"}'}function shouldDebugGoogleAnalytics(){return""}reactJsxRuntime_production_min.Fragment=l$1,reactJsxRuntime_production_min.jsx=q$1,reactJsxRuntime_production_min.jsxs=q$1,function(e){e.exports=reactJsxRuntime_production_min}(jsxRuntime);const baseNode=document.querySelector("base");if(!baseNode&&"test"!==getAppEnvironment())throw new Error(" element not found");const sitePrefix=baseNode?baseNode.href:`${global.location.origin}/`;window.__webpack_public_path__=sitePrefix;var warning$7=function(){},warning_1$3=warning$7,propTypesExports={},propTypes$d={get exports(){return propTypesExports},set exports(e){propTypesExports=e}},ReactPropTypesSecret$1="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ReactPropTypesSecret_1=ReactPropTypesSecret$1,ReactPropTypesSecret=ReactPropTypesSecret_1;function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction;var factoryWithThrowingShims=function(){function e(e,t,r,a,n,i){if(i!==ReactPropTypesSecret){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return r.PropTypes=r,r};propTypes$d.exports=factoryWithThrowingShims();var warning$6=function(){},browser$1=warning$6,invariant=function(e,t,r,a,n,i,o,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[r,a,n,i,o,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}},browser=invariant;function isAbsolute(e){return"/"===e.charAt(0)}function spliceOne(e,t){for(var r=t,a=r+1,n=e.length;a1&&void 0!==arguments[1]?arguments[1]:"",r=e&&e.split("/")||[],a=t&&t.split("/")||[],n=e&&isAbsolute(e),i=t&&isAbsolute(t),o=n||i;if(e&&isAbsolute(e)?a=r:r.length&&(a.pop(),a=a.concat(r)),!a.length)return"/";var l=void 0;if(a.length){var s=a[a.length-1];l="."===s||".."===s||""===s}else l=!1;for(var c=0,u=a.length;u>=0;u--){var f=a[u];"."===f?spliceOne(a,u):".."===f?(spliceOne(a,u),c++):c&&(spliceOne(a,u),c--)}if(!o)for(;c--;c)a.unshift("..");!o||""===a[0]||a[0]&&isAbsolute(a[0])||a.unshift("");var A=a.join("/");return l&&"/"!==A.substr(-1)&&(A+="/"),A}const resolvePathname$1=Object.freeze(Object.defineProperty({__proto__:null,default:resolvePathname},Symbol.toStringTag,{value:"Module"}));var _typeof$1p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function valueEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e))return Array.isArray(t)&&e.length===t.length&&e.every((function(e,r){return valueEqual(e,t[r])}));var r=void 0===e?"undefined":_typeof$1p(e);if(r!==(void 0===t?"undefined":_typeof$1p(t)))return!1;if("object"===r){var a=e.valueOf(),n=t.valueOf();if(a!==e||n!==t)return valueEqual(a,n);var i=Object.keys(e),o=Object.keys(t);return i.length===o.length&&i.every((function(r){return valueEqual(e[r],t[r])}))}return!1}const valueEqual$1=Object.freeze(Object.defineProperty({__proto__:null,default:valueEqual},Symbol.toStringTag,{value:"Module"}));var addLeadingSlash=function(e){return"/"===e.charAt(0)?e:"/"+e},hasBasename$1=function(e,t){return new RegExp("^"+t+"(\\/|\\?|#|$)","i").test(e)},stripBasename=function(e,t){return hasBasename$1(e,t)?e.substr(t.length):e},stripTrailingSlash=function(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e},parsePath=function(e){var t=e||"/",r="",a="",n=t.indexOf("#");-1!==n&&(a=t.substr(n),t=t.substr(0,n));var i=t.indexOf("?");return-1!==i&&(r=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===r?"":r,hash:"#"===a?"":a}},createPath=function(e){var t=e.pathname,r=e.search,a=e.hash,n=t||"/";return r&&"?"!==r&&(n+="?"===r.charAt(0)?r:"?"+r),a&&"#"!==a&&(n+="#"===a.charAt(0)?a:"#"+a),n},_extends$2r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};browser(canUseDOM$3,"Browser history needs a DOM");var t=window.history,r=supportsHistory(),a=!supportsPopStateOnHashChange(),n=e.forceRefresh,i=void 0!==n&&n,o=e.getUserConfirmation,l=void 0===o?getConfirmation:o,s=e.keyLength,c=void 0===s?6:s,u=e.basename?stripTrailingSlash(addLeadingSlash(e.basename)):"",f=function(e){var t=e||{},r=t.key,a=t.state,n=window.location,i=n.pathname+n.search+n.hash;return browser$1(!u||hasBasename$1(i,u)),u&&(i=stripBasename(i,u)),createLocation(i,a,r)},A=function(){return Math.random().toString(36).substr(2,c)},d=createTransitionManager$2(),p=function(e){_extends$2q($,e),$.length=t.length,d.notifyListeners($.location,$.action)},h=function(e){isExtraneousPopstateEvent(e)||m(f(e.state))},b=function(){m(f(getHistoryState$1()))},g=!1,m=function(e){if(g)g=!1,p();else{d.confirmTransitionTo(e,"POP",l,(function(t){t?p({action:"POP",location:e}):v(e)}))}},v=function(e){var t=$.location,r=w.indexOf(t.key);-1===r&&(r=0);var a=w.indexOf(e.key);-1===a&&(a=0);var n=r-a;n&&(g=!0,x(n))},y=f(getHistoryState$1()),w=[y.key],k=function(e){return u+createPath(e)},x=function(e){t.go(e)},E=0,_=function(e){1===(E+=e)?(addEventListener$2(window,PopStateEvent$1,h),a&&addEventListener$2(window,HashChangeEvent$1,b)):0===E&&(removeEventListener$1(window,PopStateEvent$1,h),a&&removeEventListener$1(window,HashChangeEvent$1,b))},C=!1,$={length:t.length,action:"POP",location:y,createHref:k,push:function(e,a){browser$1(!("object"===(void 0===e?"undefined":_typeof$1o(e))&&void 0!==e.state&&void 0!==a));var n="PUSH",o=createLocation(e,a,A(),$.location);d.confirmTransitionTo(o,n,l,(function(e){if(e){var a=k(o),l=o.key,s=o.state;if(r)if(t.pushState({key:l,state:s},null,a),i)window.location.href=a;else{var c=w.indexOf($.location.key),u=w.slice(0,-1===c?0:c+1);u.push(o.key),w=u,p({action:n,location:o})}else window.location.href=a}}))},replace:function(e,a){browser$1(!("object"===(void 0===e?"undefined":_typeof$1o(e))&&void 0!==e.state&&void 0!==a));var n="REPLACE",o=createLocation(e,a,A(),$.location);d.confirmTransitionTo(o,n,l,(function(e){if(e){var a=k(o),l=o.key,s=o.state;if(r)if(t.replaceState({key:l,state:s},null,a),i)window.location.replace(a);else{var c=w.indexOf($.location.key);-1!==c&&(w[c]=o.key),p({action:n,location:o})}else window.location.replace(a)}}))},go:x,goBack:function(){return x(-1)},goForward:function(){return x(1)},block:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=d.setPrompt(e);return C||(_(1),C=!0),function(){return C&&(C=!1,_(-1)),t()}},listen:function(e){var t=d.appendListener(e);return _(1),function(){_(-1),t()}}};return $},_extends$2p=Object.assign||function(e){for(var t=1;t may have only one child element"),this.unlisten=a.listen((function(){e.setState({match:e.computeMatch(a.location.pathname)})}))},t.prototype.componentWillReceiveProps=function(e){warning_1$3(this.props.history===e.history)},t.prototype.componentWillUnmount=function(){this.unlisten()},t.prototype.render=function(){var e=this.props.children;return e?React$k.Children.only(e):null},t}(React$k.Component);Router.propTypes={history:propTypesExports.object.isRequired,children:propTypesExports.node},Router.contextTypes={router:propTypesExports.object},Router.childContextTypes={router:propTypesExports.object.isRequired};const Router$1=Router;function _classCallCheck$29(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$27(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$27(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var BrowserRouter=function(e){function t(){var r,a;_classCallCheck$29(this,t);for(var n=arguments.length,i=Array(n),o=0;o=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}function _classCallCheck$28(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$26(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$26(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var isModifiedEvent=function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)},Link=function(e){function t(){var r,a;_classCallCheck$28(this,t);for(var n=arguments.length,i=Array(n),o=0;o outside a "),browser(void 0!==t,'You must specify the "to" property');var n=this.context.router.history,i="string"==typeof t?createLocation(t,null,null,n.location):t,o=n.createHref(i);return React$k.createElement("a",_extends$2o({},a,{onClick:this.handleClick,href:o,ref:r}))},t}(React$k.Component);Link.propTypes={onClick:propTypesExports.func,target:propTypesExports.string,replace:propTypesExports.bool,to:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]).isRequired,innerRef:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func])},Link.defaultProps={replace:!1},Link.contextTypes={router:propTypesExports.shape({history:propTypesExports.shape({push:propTypesExports.func.isRequired,replace:propTypesExports.func.isRequired,createHref:propTypesExports.func.isRequired}).isRequired}).isRequired};const Link$1=Link;var pathToRegexpExports={},pathToRegexp$1={get exports(){return pathToRegexpExports},set exports(e){pathToRegexpExports=e}},isarray$1=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)},isarray=isarray$1;pathToRegexp$1.exports=pathToRegexp,pathToRegexpExports.parse=parse$3,pathToRegexpExports.compile=compile,pathToRegexpExports.tokensToFunction=tokensToFunction,pathToRegexpExports.tokensToRegExp=tokensToRegExp;var PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse$3(e,t){for(var r,a=[],n=0,i=0,o="",l=t&&t.delimiter||"/";null!=(r=PATH_REGEXP.exec(e));){var s=r[0],c=r[1],u=r.index;if(o+=e.slice(i,u),i=u+s.length,c)o+=c[1];else{var f=e[i],A=r[2],d=r[3],p=r[4],h=r[5],b=r[6],g=r[7];o&&(a.push(o),o="");var m=null!=A&&null!=f&&f!==A,v="+"===b||"*"===b,y="?"===b||"*"===b,w=r[2]||l,k=p||h;a.push({name:d||n++,prefix:A||"",delimiter:w,optional:y,repeat:v,partial:m,asterisk:!!g,pattern:k?escapeGroup(k):g?".*":"[^"+escapeString(w)+"]+?"})}}return i1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2];"string"==typeof t&&(t={path:t});var a=t,n=a.path,i=a.exact,o=void 0!==i&&i,l=a.strict,s=void 0!==l&&l,c=a.sensitive;if(null==n)return r;var u=compilePath(n,{end:o,strict:s,sensitive:void 0!==c&&c}),f=u.re,A=u.keys,d=f.exec(e);if(!d)return null;var p=d[0],h=d.slice(1),b=e===p;return o&&!b?null:{path:n,url:"/"===n&&""===p?"/":p,isExact:b,params:A.reduce((function(e,t,r){return e[t.name]=h[r],e}),{})}};const matchPath$1=matchPath;var _extends$2n=Object.assign||function(e){for(var t=1;t or withRouter() outside a ");var s=t.route,c=(a||s.location).pathname;return matchPath$1(c,{path:n,strict:i,exact:o,sensitive:l},s.match)},t.prototype.componentWillMount=function(){warning_1$3(!(this.props.component&&this.props.render)),warning_1$3(!(this.props.component&&this.props.children&&!isEmptyChildren(this.props.children))),warning_1$3(!(this.props.render&&this.props.children&&!isEmptyChildren(this.props.children)))},t.prototype.componentWillReceiveProps=function(e,t){warning_1$3(!(e.location&&!this.props.location)),warning_1$3(!(!e.location&&this.props.location)),this.setState({match:this.computeMatch(e,t.router)})},t.prototype.render=function(){var e=this.state.match,t=this.props,r=t.children,a=t.component,n=t.render,i=this.context.router,o=i.history,l=i.route,s=i.staticContext,c={match:e,location:this.props.location||l.location,history:o,staticContext:s};return a?e?React$k.createElement(a,c):null:n?e?n(c):null:"function"==typeof r?r(c):r&&!isEmptyChildren(r)?React$k.Children.only(r):null},t}(React$k.Component);Route.propTypes={computedMatch:propTypesExports.object,path:propTypesExports.string,exact:propTypesExports.bool,strict:propTypesExports.bool,sensitive:propTypesExports.bool,component:propTypesExports.func,render:propTypesExports.func,children:propTypesExports.oneOfType([propTypesExports.func,propTypesExports.node]),location:propTypesExports.object},Route.contextTypes={router:propTypesExports.shape({history:propTypesExports.object.isRequired,route:propTypesExports.object.isRequired,staticContext:propTypesExports.object})},Route.childContextTypes={router:propTypesExports.object.isRequired};const Route$1=Route;var patternCache={},cacheLimit=1e4,cacheCount=0,compileGenerator=function(e){var t=e,r=patternCache[t]||(patternCache[t]={});if(r[e])return r[e];var a=pathToRegexpExports.compile(e);return cacheCount0&&void 0!==arguments[0]?arguments[0]:"/",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"/"===e?e:compileGenerator(e)(t,{pretty:!0})};const generatePath$2=generatePath$1;var _extends$2m=Object.assign||function(e){for(var t=1;t outside a "),this.isStatic()&&this.perform()},t.prototype.componentDidMount=function(){this.isStatic()||this.perform()},t.prototype.componentDidUpdate=function(e){var t=createLocation(e.to),r=createLocation(this.props.to);locationsAreEqual(t,r)?warning_1$3(!1,"You tried to redirect to the same route you're currently on: \""+r.pathname+r.search+'"'):this.perform()},t.prototype.computeTo=function(e){var t=e.computedMatch,r=e.to;return t?"string"==typeof r?generatePath$2(r,t.params):_extends$2m({},r,{pathname:generatePath$2(r.pathname,t.params)}):r},t.prototype.perform=function(){var e=this.context.router.history,t=this.props.push,r=this.computeTo(this.props);t?e.push(r):e.replace(r)},t.prototype.render=function(){return null},t}(React$k.Component);Redirect.propTypes={computedMatch:propTypesExports.object,push:propTypesExports.bool,from:propTypesExports.string,to:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]).isRequired},Redirect.defaultProps={push:!1},Redirect.contextTypes={router:propTypesExports.shape({history:propTypesExports.shape({push:propTypesExports.func.isRequired,replace:propTypesExports.func.isRequired}).isRequired,staticContext:propTypesExports.object}).isRequired};const Redirect$1=Redirect;function _classCallCheck$25(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$23(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$23(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var Switch=function(e){function t(){return _classCallCheck$25(this,t),_possibleConstructorReturn$23(this,e.apply(this,arguments))}return _inherits$23(t,e),t.prototype.componentWillMount=function(){browser(this.context.router,"You should not use outside a ")},t.prototype.componentWillReceiveProps=function(e){warning_1$3(!(e.location&&!this.props.location)),warning_1$3(!(!e.location&&this.props.location))},t.prototype.render=function(){var e=this.context.router.route,t=this.props.children,r=this.props.location||e.location,a=void 0,n=void 0;return React$k.Children.forEach(t,(function(t){if(null==a&&React$k.isValidElement(t)){var i=t.props,o=i.path,l=i.exact,s=i.strict,c=i.sensitive,u=i.from,f=o||u;n=t,a=matchPath$1(r.pathname,{path:f,exact:l,strict:s,sensitive:c},e.match)}})),a?React$k.cloneElement(n,{location:r,computedMatch:a}):null},t}(React$k.Component);Switch.contextTypes={router:propTypesExports.shape({route:propTypesExports.object.isRequired}).isRequired},Switch.propTypes={children:propTypesExports.node,location:propTypesExports.object};const Switch$1=Switch;var REACT_STATICS$3={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS$3={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},defineProperty$a=Object.defineProperty,getOwnPropertyNames$3=Object.getOwnPropertyNames,getOwnPropertySymbols$4=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$5=Object.getOwnPropertyDescriptor,getPrototypeOf$6=Object.getPrototypeOf,objectPrototype$3=getPrototypeOf$6&&getPrototypeOf$6(Object);function hoistNonReactStatics$3(t,r,a){if("string"!=typeof r){if(objectPrototype$3){var n=getPrototypeOf$6(r);n&&n!==objectPrototype$3&&hoistNonReactStatics$3(t,n,a)}var i=getOwnPropertyNames$3(r);getOwnPropertySymbols$4&&(i=i.concat(getOwnPropertySymbols$4(r)));for(var o=0;o=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}var withRouter=function(e){var t=function(t){var r=t.wrappedComponentRef,a=_objectWithoutProperties$b(t,["wrappedComponentRef"]);return React$k.createElement(Route$1,{children:function(t){return React$k.createElement(e,_extends$2l({},a,t,{ref:r}))}})};return t.displayName="withRouter("+(e.displayName||e.name)+")",t.WrappedComponent=e,t.propTypes={wrappedComponentRef:propTypesExports.func},hoistNonReactStatics_cjs$3(t,e)};const withRouter$1=withRouter;var reactDomExports={},reactDom={get exports(){return reactDomExports},set exports(e){reactDomExports=e}},reactDom_production_min={},schedulerExports={},scheduler={get exports(){return schedulerExports},set exports(e){schedulerExports=e}},scheduler_production_min={}; /** * @license React * scheduler.production.min.js @@ -28,7 +28,7 @@ var f$1=reactExports,k$3=Symbol.for("react.element"),l$1=Symbol.for("react.fragm * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -var aa=reactExports,ca=schedulerExports;function p$2(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;rt}return!1}function v$1(e,t,r,a,n,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=a,this.attributeNamespace=n,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var z$1={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){z$1[e]=new v$1(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];z$1[t]=new v$1(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){z$1[e]=new v$1(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){z$1[e]=new v$1(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){z$1[e]=new v$1(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){z$1[e]=new v$1(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){z$1[e]=new v$1(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){z$1[e]=new v$1(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){z$1[e]=new v$1(e,5,!1,e.toLowerCase(),null,!1,!1)}));var ra=/[\-:]([a-z])/g;function sa(e){return e[1].toUpperCase()}function ta(e,t,r,a){var n=z$1.hasOwnProperty(t)?z$1[t]:null;(null!==n?0!==n.type:a||!(2--s||n[o]!==i[s]){var c="\n"+n[o].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}}while(1<=o&&0<=s);break}}}finally{Na=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Ma(e):""}function Pa(e){switch(e.tag){case 5:return Ma(e.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return e=Oa(e.type,!1);case 11:return e=Oa(e.type.render,!1);case 1:return e=Oa(e.type,!0);default:return""}}function Qa(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case Ca:return(e.displayName||"Context")+".Consumer";case Ba:return(e._context.displayName||"Context")+".Provider";case Da:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case Ga:return null!==(t=e.displayName||null)?t:Qa(e.type)||"Memo";case Ha:t=e._payload,e=e._init;try{return Qa(e(t))}catch(c){}}return null}function Ra(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa(t);case 8:return t===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function Sa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function Ta(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Ua(e){var t=Ta(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==r&&"function"==typeof r.get&&"function"==typeof r.set){var n=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(e){a=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Va(e){e._valueTracker||(e._valueTracker=Ua(e))}function Wa(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),a="";return e&&(a=Ta(e)?e.checked?"true":"false":e.value),(e=a)!==r&&(t.setValue(e),!0)}function Xa(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(b){return e.body}}function Ya(e,t){var r=t.checked;return A$3({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:e._wrapperState.initialChecked})}function Za(e,t){var r=null==t.defaultValue?"":t.defaultValue,a=null!=t.checked?t.checked:t.defaultChecked;r=Sa(null!=t.value?t.value:r),e._wrapperState={initialChecked:a,initialValue:r,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function ab(e,t){null!=(t=t.checked)&&ta(e,"checked",t,!1)}function bb(e,t){ab(e,t);var r=Sa(t.value),a=t.type;if(null!=r)"number"===a?(0===r&&""===e.value||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if("submit"===a||"reset"===a)return void e.removeAttribute("value");t.hasOwnProperty("value")?cb(e,t.type,r):t.hasOwnProperty("defaultValue")&&cb(e,t.type,Sa(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function db(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!("submit"!==a&&"reset"!==a||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}""!==(r=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==r&&(e.name=r)}function cb(e,t,r){"number"===t&&Xa(e.ownerDocument)===e||(null==r?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var eb=Array.isArray;function fb(e,t,r,a){if(e=e.options,t){t={};for(var n=0;n"+t.valueOf().toString()+"",t=mb.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function ob(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];function rb(e,t,r){return null==t||"boolean"==typeof t||""===t?"":r||"number"!=typeof t||0===t||pb.hasOwnProperty(e)&&pb[e]?(""+t).trim():t+"px"}function sb(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var a=0===r.indexOf("--"),n=rb(r,t[r],a);"float"===r&&(r="cssFloat"),a?e.setProperty(r,n):e[r]=n}}Object.keys(pb).forEach((function(e){qb.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pb[t]=pb[e]}))}));var tb=A$3({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(e,t){if(t){if(tb[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(p$2(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(p$2(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(p$2(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(p$2(62))}}function vb(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var yb=null,zb=null,Ab=null;function Bb(e){if(e=Cb(e)){if("function"!=typeof yb)throw Error(p$2(280));var t=e.stateNode;t&&(t=Db(t),yb(e.stateNode,e.type,t))}}function Eb(e){zb?Ab?Ab.push(e):Ab=[e]:zb=e}function Fb(){if(zb){var e=zb,t=Ab;if(Ab=zb=null,Bb(e),t)for(e=0;e>>=0)?32:31-(pc(e)/qc|0)|0}var rc=64,sc=4194304;function tc(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function uc(e,t){var r=e.pendingLanes;if(0===r)return 0;var a=0,n=e.suspendedLanes,i=e.pingedLanes,o=268435455&r;if(0!==o){var l=o&~n;0!==l?a=tc(l):0!==(i&=o)&&(a=tc(i))}else 0!==(o=r&~n)?a=tc(o):0!==i&&(a=tc(i));if(0===a)return 0;if(0!==t&&t!==a&&0==(t&n)&&((n=a&-a)>=(i=t&-t)||16===n&&0!=(4194240&i)))return t;if(0!=(4&a)&&(a|=16&r),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=a;0r;r++)t.push(e);return t}function Ac(e,t,r){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-oc(t)]=r}function Bc(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;function ge(e,t){switch(e){case"keyup":return-1!==$d.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ie=!1;function je(e,t){switch(e){case"compositionend":return he(t);case"keypress":return 32!==t.which?null:(fe=!0,ee);case"textInput":return(e=t.data)===ee&&fe?null:e;default:return null}}function ke(e,t){if(ie)return"compositionend"===e||!ae&&ge(e,t)?(e=nd(),md=ld=kd=null,ie=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Je(a)}}function Le(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Le(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Me(){for(var e=window,t=Xa();t instanceof e.HTMLIFrameElement;){try{var r="string"==typeof t.contentWindow.location.href}catch(d){r=!1}if(!r)break;t=Xa((e=t.contentWindow).document)}return t}function Ne(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function Oe(e){var t=Me(),r=e.focusedElem,a=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&Le(r.ownerDocument.documentElement,r)){if(null!==a&&Ne(r))if(t=a.start,void 0===(e=a.end)&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if((e=(t=r.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var n=r.textContent.length,i=Math.min(a.start,n);a=void 0===a.end?i:Math.min(a.end,n),!e.extend&&i>a&&(n=a,a=i,i=n),n=Ke(r,i);var o=Ke(r,a);n&&o&&(1!==e.rangeCount||e.anchorNode!==n.node||e.anchorOffset!==n.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(n.node,n.offset),e.removeAllRanges(),i>a?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}for(t=[],e=r;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof r.focus&&r.focus(),r=0;r=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(e,t,r){var a=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;Te||null==Qe||Qe!==Xa(a)||("selectionStart"in(a=Qe)&&Ne(a)?a={start:a.selectionStart,end:a.selectionEnd}:a={anchorNode:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset},Se&&Ie(Se,a)||(Se=a,0<(a=oe(Re,"onSelect")).length&&(t=new td("onSelect","select",null,t,r),e.push({event:t,listeners:a}),t.target=Qe)))}function Ve(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var We={animationend:Ve("Animation","AnimationEnd"),animationiteration:Ve("Animation","AnimationIteration"),animationstart:Ve("Animation","AnimationStart"),transitionend:Ve("Transition","TransitionEnd")},Xe={},Ye={};function Ze(e){if(Xe[e])return Xe[e];if(!We[e])return e;var t,r=We[e];for(t in r)if(r.hasOwnProperty(t)&&t in Ye)return Xe[e]=r[t];return e}ia&&(Ye=document.createElement("div").style,"AnimationEvent"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),"TransitionEvent"in window||delete We.transitionend.transition);var $e=Ze("animationend"),af=Ze("animationiteration"),bf=Ze("animationstart"),cf=Ze("transitionend"),df=new Map,ef="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function ff(e,t){df.set(e,t),fa(t,[e])}for(var gf=0;gfTf||(e.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(e,t){Tf++,Sf[Tf]=e.current,e.current=t}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(e,t){var r=e.type.contextTypes;if(!r)return Vf;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var n,i={};for(n in r)i[n]=t[n];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Zf(e){return null!=(e=e.childContextTypes)}function $f(){E$1(Wf),E$1(H)}function ag(e,t,r){if(H.current!==Vf)throw Error(p$2(168));G(H,t),G(Wf,r)}function bg(e,t,r){var a=e.stateNode;if(t=t.childContextTypes,"function"!=typeof a.getChildContext)return r;for(var n in a=a.getChildContext())if(!(n in t))throw Error(p$2(108,Ra(e)||"Unknown",n));return A$3({},r,a)}function cg(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,e),G(Wf,Wf.current),!0}function dg(e,t,r){var a=e.stateNode;if(!a)throw Error(p$2(169));r?(e=bg(e,t,Xf),a.__reactInternalMemoizedMergedChildContext=e,E$1(Wf),E$1(H),G(H,e)):E$1(Wf),G(Wf,r)}var eg=null,fg=!1,gg=!1;function hg(e){null===eg?eg=[e]:eg.push(e)}function ig(e){fg=!0,hg(e)}function jg(){if(!gg&&null!==eg){gg=!0;var t=0,r=C$1;try{var a=eg;for(C$1=1;t>=o,n-=o,rg=1<<32-oc(t)+n|r<h?(b=p,p=null):b=p.sibling;var g=A(n,p,l[h],s);if(null===g){null===p&&(p=b);break}e&&p&&null===g.alternate&&t(n,p),o=i(g,o,h),null===u?c=g:u.sibling=g,u=g,p=b}if(h===l.length)return r(n,p),I&&tg(n,h),c;if(null===p){for(;hh?(b=p,p=null):b=p.sibling;var m=A(n,p,g.value,s);if(null===m){null===p&&(p=b);break}e&&p&&null===m.alternate&&t(n,p),o=i(m,o,h),null===u?c=m:u.sibling=m,u=m,p=b}if(g.done)return r(n,p),I&&tg(n,h),c;if(null===p){for(;!g.done;h++,g=l.next())null!==(g=f(n,g.value,s))&&(o=i(g,o,h),null===u?c=g:u.sibling=g,u=g);return I&&tg(n,h),c}for(p=a(n,p);!g.done;h++,g=l.next())null!==(g=d(p,n,h,g.value,s))&&(e&&null!==g.alternate&&p.delete(null===g.key?h:g.key),o=i(g,o,h),null===u?c=g:u.sibling=g,u=g);return e&&p.forEach((function(e){return t(n,e)})),I&&tg(n,h),c}return function e(a,i,l,s){if("object"==typeof l&&null!==l&&l.type===ya&&null===l.key&&(l=l.props.children),"object"==typeof l&&null!==l){switch(l.$$typeof){case va:e:{for(var c=l.key,u=i;null!==u;){if(u.key===c){if((c=l.type)===ya){if(7===u.tag){r(a,u.sibling),(i=n(u,l.props.children)).return=a,a=i;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===Ha&&uh(c)===u.type){r(a,u.sibling),(i=n(u,l.props)).ref=sh(a,u,l),i.return=a,a=i;break e}r(a,u);break}t(a,u),u=u.sibling}l.type===ya?((i=Ah(l.props.children,a.mode,s,l.key)).return=a,a=i):((s=yh(l.type,l.key,l.props,null,a.mode,s)).ref=sh(a,i,l),s.return=a,a=s)}return o(a);case wa:e:{for(u=l.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===l.containerInfo&&i.stateNode.implementation===l.implementation){r(a,i.sibling),(i=n(i,l.children||[])).return=a,a=i;break e}r(a,i);break}t(a,i),i=i.sibling}(i=zh(l,a.mode,s)).return=a,a=i}return o(a);case Ha:return e(a,i,(u=l._init)(l._payload),s)}if(eb(l))return p(a,i,l,s);if(Ka(l))return h(a,i,l,s);th(a,l)}return"string"==typeof l&&""!==l||"number"==typeof l?(l=""+l,null!==i&&6===i.tag?(r(a,i.sibling),(i=n(i,l)).return=a,a=i):(r(a,i),(i=xh(l,a.mode,s)).return=a,a=i),o(a)):r(a,i)}}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(e){if(e===Dh)throw Error(p$2(174));return e}function Ih(e,t){switch(G(Gh,t),G(Fh,e),G(Eh,Dh),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:lb(null,"");break;default:t=lb(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}E$1(Eh),G(Eh,t)}function Jh(){E$1(Eh),E$1(Fh),E$1(Gh)}function Kh(e){Hh(Gh.current);var t=Hh(Eh.current),r=lb(t,e.type);t!==r&&(G(Fh,e),G(Eh,r))}function Lh(e){Fh.current===e&&(E$1(Eh),E$1(Fh))}var M=Uf(0);function Mh(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||"$?"===r.data||"$!"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Nh=[];function Oh(){for(var e=0;er?r:4,e(!0);var a=Qh.transition;Qh.transition={};try{e(!1),t()}finally{C$1=r,Qh.transition=a}}function Fi(){return di().memoizedState}function Gi(e,t,r){var a=lh(e);if(r={lane:a,action:r,hasEagerState:!1,eagerState:null,next:null},Hi(e))Ii(t,r);else if(null!==(r=Yg(e,t,r,a))){mh(r,e,a,L()),Ji(r,t,a)}}function ri(e,t,r){var a=lh(e),n={lane:a,action:r,hasEagerState:!1,eagerState:null,next:null};if(Hi(e))Ii(t,n);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,s=i(o,r);if(n.hasEagerState=!0,n.eagerState=s,He(s,o)){var c=t.interleaved;return null===c?(n.next=n,Xg(t)):(n.next=c.next,c.next=n),void(t.interleaved=n)}}catch(l){}null!==(r=Yg(e,t,n,a))&&(mh(r,e,a,n=L()),Ji(r,t,a))}}function Hi(e){var t=e.alternate;return e===N||null!==t&&t===N}function Ii(e,t){Th=Sh=!0;var r=e.pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function Ji(e,t,r){if(0!=(4194240&r)){var a=t.lanes;r|=a&=e.pendingLanes,t.lanes=r,Cc(e,r)}}var ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(e,t){return ci().memoizedState=[e,void 0===t?null:t],e},useContext:Vg,useEffect:vi,useImperativeHandle:function(e,t,r){return r=null!=r?r.concat([e]):null,ti(4194308,4,yi.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ti(4194308,4,e,t)},useInsertionEffect:function(e,t){return ti(4,2,e,t)},useMemo:function(e,t){var r=ci();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var a=ci();return t=void 0!==r?r(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=Gi.bind(null,N,e),[a.memoizedState,e]},useRef:function(e){return e={current:e},ci().memoizedState=e},useState:qi,useDebugValue:Ai,useDeferredValue:function(e){return ci().memoizedState=e},useTransition:function(){var e=qi(!1),t=e[0];return e=Ei.bind(null,e[1]),ci().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var a=N,n=ci();if(I){if(void 0===r)throw Error(p$2(407));r=r()}else{if(r=t(),null===R)throw Error(p$2(349));0!=(30&Rh)||ni(a,t,r)}n.memoizedState=r;var i={value:r,getSnapshot:t};return n.queue=i,vi(ki.bind(null,a,i,e),[e]),a.flags|=2048,li(9,mi.bind(null,a,i,r,t),void 0,null),r},useId:function(){var e=ci(),t=R.identifierPrefix;if(I){var r=sg;t=":"+t+"R"+(r=(rg&~(1<<32-oc(rg)-1)).toString(32)+r),0<(r=Uh++)&&(t+="H"+r.toString(32)),t+=":"}else t=":"+t+"r"+(r=Vh++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},useDebugValue:Ai,useDeferredValue:function(e){return Di(di(),O.memoizedState,e)},useTransition:function(){return[fi(ei)[0],di().memoizedState]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(e){var t=di();return null===O?t.memoizedState=e:Di(t,O.memoizedState,e)},useTransition:function(){return[gi(ei)[0],di().memoizedState]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(e,t){try{var r="",a=t;do{r+=Pa(a),a=a.return}while(a);var n=r}catch(f){n="\nError generating stack: "+f.message+"\n"+f.stack}return{value:e,source:t,stack:n,digest:null}}function Li(e,t,r){return{value:e,source:null,stack:null!=r?r:null,digest:null!=t?t:null}}function Mi(e,t){try{console.error(t.value)}catch(c){setTimeout((function(){throw c}))}}var Ni="function"==typeof WeakMap?WeakMap:Map;function Oi(e,t,r){(r=ch(-1,r)).tag=3,r.payload={element:null};var a=t.value;return r.callback=function(){Pi||(Pi=!0,Qi=a),Mi(e,t)},r}function Ri(e,t,r){(r=ch(-1,r)).tag=3;var a=e.type.getDerivedStateFromError;if("function"==typeof a){var n=t.value;r.payload=function(){return a(n)},r.callback=function(){Mi(e,t)}}var i=e.stateNode;return null!==i&&"function"==typeof i.componentDidCatch&&(r.callback=function(){Mi(e,t),"function"!=typeof a&&(null===Si?Si=new Set([this]):Si.add(this));var r=t.stack;this.componentDidCatch(t.value,{componentStack:null!==r?r:""})}),r}function Ti(e,t,r){var a=e.pingCache;if(null===a){a=e.pingCache=new Ni;var n=new Set;a.set(t,n)}else void 0===(n=a.get(t))&&(n=new Set,a.set(t,n));n.has(r)||(n.add(r),e=Ui.bind(null,e,t,r),t.then(e,e))}function Vi(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function Wi(e,t,r,a,n){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,1===r.tag&&(null===r.alternate?r.tag=17:((t=ch(-1,1)).tag=2,dh(r,t,1))),r.lanes|=1),e):(e.flags|=65536,e.lanes=n,e)}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(e,t,r,a){t.child=null===e?Ch(t,null,r,a):Bh(t,e.child,r,a)}function Zi(e,t,r,a,n){r=r.render;var i=t.ref;return Tg(t,n),a=Xh(e,t,r,a,i,n),r=bi(),null===e||Ug?(I&&r&&vg(t),t.flags|=1,Yi(e,t,a,n),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,$i(e,t,n))}function aj(e,t,r,a,n){if(null===e){var i=r.type;return"function"!=typeof i||bj(i)||void 0!==i.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=yh(r.type,null,a,t,t.mode,n)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,cj(e,t,i,a,n))}if(i=e.child,0==(e.lanes&n)){var o=i.memoizedProps;if((r=null!==(r=r.compare)?r:Ie)(o,a)&&e.ref===t.ref)return $i(e,t,n)}return t.flags|=1,(e=wh(i,a)).ref=t.ref,e.return=t,t.child=e}function cj(e,t,r,a,n){if(null!==e){var i=e.memoizedProps;if(Ie(i,a)&&e.ref===t.ref){if(Ug=!1,t.pendingProps=a=i,0==(e.lanes&n))return t.lanes=e.lanes,$i(e,t,n);0!=(131072&e.flags)&&(Ug=!0)}}return dj(e,t,r,a,n)}function ej(e,t,r){var a=t.pendingProps,n=a.children,i=null!==e?e.memoizedState:null;if("hidden"===a.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=r;else{if(0==(1073741824&r))return e=null!==i?i.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,G(fj,gj),gj|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=null!==i?i.baseLanes:r,G(fj,gj),gj|=a}else null!==i?(a=i.baseLanes|r,t.memoizedState=null):a=r,G(fj,gj),gj|=a;return Yi(e,t,n,r),t.child}function hj(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}function dj(e,t,r,a,n){var i=Zf(r)?Xf:H.current;return i=Yf(t,i),Tg(t,n),r=Xh(e,t,r,a,i,n),a=bi(),null===e||Ug?(I&&a&&vg(t),t.flags|=1,Yi(e,t,r,n),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,$i(e,t,n))}function ij(e,t,r,a,n){if(Zf(r)){var i=!0;cg(t)}else i=!1;if(Tg(t,n),null===t.stateNode)jj(e,t),ph(t,r,a),rh(t,r,a,n),a=!0;else if(null===e){var o=t.stateNode,l=t.memoizedProps;o.props=l;var s=o.context,c=r.contextType;"object"==typeof c&&null!==c?c=Vg(c):c=Yf(t,c=Zf(r)?Xf:H.current);var u=r.getDerivedStateFromProps,f="function"==typeof u||"function"==typeof o.getSnapshotBeforeUpdate;f||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==a||s!==c)&&qh(t,o,a,c),$g=!1;var A=t.memoizedState;o.state=A,gh(t,a,o,n),s=t.memoizedState,l!==a||A!==s||Wf.current||$g?("function"==typeof u&&(kh(t,r,u,a),s=t.memoizedState),(l=$g||oh(t,r,l,a,A,s,c))?(f||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4194308)):("function"==typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=s),o.props=a,o.state=s,o.context=c,a=l):("function"==typeof o.componentDidMount&&(t.flags|=4194308),a=!1)}else{o=t.stateNode,bh(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:Lg(t.type,l),o.props=c,f=t.pendingProps,A=o.context,"object"==typeof(s=r.contextType)&&null!==s?s=Vg(s):s=Yf(t,s=Zf(r)?Xf:H.current);var d=r.getDerivedStateFromProps;(u="function"==typeof d||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==f||A!==s)&&qh(t,o,a,s),$g=!1,A=t.memoizedState,o.state=A,gh(t,a,o,n);var p=t.memoizedState;l!==f||A!==p||Wf.current||$g?("function"==typeof d&&(kh(t,r,d,a),p=t.memoizedState),(c=$g||oh(t,r,c,a,A,p,s)||!1)?(u||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(a,p,s),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(a,p,s)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&A===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&A===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=p),o.props=a,o.state=p,o.context=s,a=c):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&A===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&A===e.memoizedState||(t.flags|=1024),a=!1)}return kj(e,t,r,a,i,n)}function kj(e,t,r,a,n,i){hj(e,t);var o=0!=(128&t.flags);if(!a&&!o)return n&&dg(t,r,!1),$i(e,t,i);a=t.stateNode,Xi.current=t;var l=o&&"function"!=typeof r.getDerivedStateFromError?null:a.render();return t.flags|=1,null!==e&&o?(t.child=Bh(t,e.child,null,i),t.child=Bh(t,null,l,i)):Yi(e,t,l,i),t.memoizedState=a.state,n&&dg(t,r,!0),t.child}function lj(e){var t=e.stateNode;t.pendingContext?ag(e,t.pendingContext,t.pendingContext!==t.context):t.context&&ag(e,t.context,!1),Ih(e,t.containerInfo)}function mj(e,t,r,a,n){return Ig(),Jg(n),t.flags|=256,Yi(e,t,r,a),t.child}var nj={dehydrated:null,treeContext:null,retryLane:0},Aj,Bj,Cj,Dj;function oj(e){return{baseLanes:e,cachePool:null,transitions:null}}function pj(e,t,r){var a,n=t.pendingProps,i=M.current,o=!1,l=0!=(128&t.flags);if((a=l)||(a=(null===e||null!==e.memoizedState)&&0!=(2&i)),a?(o=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),G(M,1&i),null===e)return Eg(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=n.children,e=n.fallback,o?(n=t.mode,o=t.child,l={mode:"hidden",children:l},0==(1&n)&&null!==o?(o.childLanes=0,o.pendingProps=l):o=qj(l,n,0,null),e=Ah(e,n,r,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=oj(r),t.memoizedState=nj,e):rj(t,l));if(null!==(i=e.memoizedState)&&null!==(a=i.dehydrated))return sj(e,t,l,n,a,i,r);if(o){o=n.fallback,l=t.mode,a=(i=e.child).sibling;var s={mode:"hidden",children:n.children};return 0==(1&l)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=s,t.deletions=null):(n=wh(i,s)).subtreeFlags=14680064&i.subtreeFlags,null!==a?o=wh(a,o):(o=Ah(o,l,r,null)).flags|=2,o.return=t,n.return=t,n.sibling=o,t.child=n,n=o,o=t.child,l=null===(l=e.child.memoizedState)?oj(r):{baseLanes:l.baseLanes|r,cachePool:null,transitions:l.transitions},o.memoizedState=l,o.childLanes=e.childLanes&~r,t.memoizedState=nj,n}return e=(o=e.child).sibling,n=wh(o,{mode:"visible",children:n.children}),0==(1&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n}function rj(e,t){return(t=qj({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function tj(e,t,r,a){return null!==a&&Jg(a),Bh(t,e.child,null,r),(e=rj(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function sj(e,t,r,a,n,i,o){if(r)return 256&t.flags?(t.flags&=-257,tj(e,t,o,a=Li(Error(p$2(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=a.fallback,n=t.mode,a=qj({mode:"visible",children:a.children},n,0,null),(i=Ah(i,n,o,null)).flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,0!=(1&t.mode)&&Bh(t,e.child,null,o),t.child.memoizedState=oj(o),t.memoizedState=nj,i);if(0==(1&t.mode))return tj(e,t,o,null);if("$!"===n.data){if(a=n.nextSibling&&n.nextSibling.dataset)var l=a.dgst;return a=l,tj(e,t,o,a=Li(i=Error(p$2(419)),a,void 0))}if(l=0!=(o&e.childLanes),Ug||l){if(null!==(a=R)){switch(o&-o){case 4:n=2;break;case 16:n=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:n=32;break;case 536870912:n=268435456;break;default:n=0}0!==(n=0!=(n&(a.suspendedLanes|o))?0:n)&&n!==i.retryLane&&(i.retryLane=n,Zg(e,n),mh(a,e,n,-1))}return uj(),tj(e,t,o,a=Li(Error(p$2(421))))}return"$?"===n.data?(t.flags|=128,t.child=e.child,t=vj.bind(null,e),n._reactRetry=t,null):(e=i.treeContext,yg=Lf(n.nextSibling),xg=t,I=!0,zg=null,null!==e&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=e.id,sg=e.overflow,qg=t),(t=rj(t,a.children)).flags|=4096,t)}function wj(e,t,r){e.lanes|=t;var a=e.alternate;null!==a&&(a.lanes|=t),Sg(e.return,t,r)}function xj(e,t,r,a,n){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:r,tailMode:n}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=a,i.tail=r,i.tailMode=n)}function yj(e,t,r){var a=t.pendingProps,n=a.revealOrder,i=a.tail;if(Yi(e,t,a.children,r),0!=(2&(a=M.current)))a=1&a|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&wj(e,r,t);else if(19===e.tag)wj(e,r,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(G(M,a),0==(1&t.mode))t.memoizedState=null;else switch(n){case"forwards":for(r=t.child,n=null;null!==r;)null!==(e=r.alternate)&&null===Mh(e)&&(n=r),r=r.sibling;null===(r=n)?(n=t.child,t.child=null):(n=r.sibling,r.sibling=null),xj(t,!1,n,r,i);break;case"backwards":for(r=null,n=t.child,t.child=null;null!==n;){if(null!==(e=n.alternate)&&null===Mh(e)){t.child=n;break}e=n.sibling,n.sibling=r,r=n,n=e}xj(t,!0,r,null,i);break;case"together":xj(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function jj(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function $i(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),hh|=t.lanes,0==(r&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(p$2(153));if(null!==t.child){for(r=wh(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=wh(e,e.pendingProps)).return=t;r.sibling=null}return t.child}function zj(e,t,r){switch(t.tag){case 3:lj(t),Ig();break;case 5:Kh(t);break;case 1:Zf(t.type)&&cg(t);break;case 4:Ih(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,n=t.memoizedProps.value;G(Mg,a._currentValue),a._currentValue=n;break;case 13:if(null!==(a=t.memoizedState))return null!==a.dehydrated?(G(M,1&M.current),t.flags|=128,null):0!=(r&t.child.childLanes)?pj(e,t,r):(G(M,1&M.current),null!==(e=$i(e,t,r))?e.sibling:null);G(M,1&M.current);break;case 19:if(a=0!=(r&t.childLanes),0!=(128&e.flags)){if(a)return yj(e,t,r);t.flags|=128}if(null!==(n=t.memoizedState)&&(n.rendering=null,n.tail=null,n.lastEffect=null),G(M,M.current),a)break;return null;case 22:case 23:return t.lanes=0,ej(e,t,r)}return $i(e,t,r)}function Ej(e,t){if(!I)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var a=null;null!==r;)null!==r.alternate&&(a=r),r=r.sibling;null===a?t||null===e.tail?e.tail=null:e.tail.sibling=null:a.sibling=null}}function S(e){var t=null!==e.alternate&&e.alternate.child===e.child,r=0,a=0;if(t)for(var n=e.child;null!==n;)r|=n.lanes|n.childLanes,a|=14680064&n.subtreeFlags,a|=14680064&n.flags,n.return=e,n=n.sibling;else for(n=e.child;null!==n;)r|=n.lanes|n.childLanes,a|=n.subtreeFlags,a|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=a,e.childLanes=r,t}function Fj(e,t,r){var a=t.pendingProps;switch(wg(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(t),null;case 1:case 17:return Zf(t.type)&&$f(),S(t),null;case 3:return a=t.stateNode,Jh(),E$1(Wf),E$1(H),Oh(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==e&&null!==e.child||(Gg(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==zg&&(Gj(zg),zg=null))),Bj(e,t),S(t),null;case 5:Lh(t);var n=Hh(Gh.current);if(r=t.type,null!==e&&null!=t.stateNode)Cj(e,t,r,a,n),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(null===t.stateNode)throw Error(p$2(166));return S(t),null}if(e=Hh(Eh.current),Gg(t)){a=t.stateNode,r=t.type;var i=t.memoizedProps;switch(a[Of]=t,a[Pf]=i,e=0!=(1&t.mode),r){case"dialog":D$1("cancel",a),D$1("close",a);break;case"iframe":case"object":case"embed":D$1("load",a);break;case"video":case"audio":for(n=0;n<\/script>",e=e.removeChild(e.firstChild)):"string"==typeof a.is?e=o.createElement(r,{is:a.is}):(e=o.createElement(r),"select"===r&&(o=e,a.multiple?o.multiple=!0:a.size&&(o.size=a.size))):e=o.createElementNS(e,r),e[Of]=t,e[Pf]=a,Aj(e,t,!1,!1),t.stateNode=e;e:{switch(o=vb(r,a),r){case"dialog":D$1("cancel",e),D$1("close",e),n=a;break;case"iframe":case"object":case"embed":D$1("load",e),n=a;break;case"video":case"audio":for(n=0;nHj&&(t.flags|=128,a=!0,Ej(i,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=Mh(o))){if(t.flags|=128,a=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),Ej(i,!0),null===i.tail&&"hidden"===i.tailMode&&!o.alternate&&!I)return S(t),null}else 2*B$1()-i.renderingStartTime>Hj&&1073741824!==r&&(t.flags|=128,a=!0,Ej(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(null!==(r=i.last)?r.sibling=o:t.child=o,i.last=o)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=B$1(),t.sibling=null,r=M.current,G(M,a?1&r|2:1&r),t):(S(t),null);case 22:case 23:return Ij(),a=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==a&&(t.flags|=8192),a&&0!=(1&t.mode)?0!=(1073741824&gj)&&(S(t),6&t.subtreeFlags&&(t.flags|=8192)):S(t),null;case 24:case 25:return null}throw Error(p$2(156,t.tag))}function Jj(e,t){switch(wg(t),t.tag){case 1:return Zf(t.type)&&$f(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Jh(),E$1(Wf),E$1(H),Oh(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Lh(t),null;case 13:if(E$1(M),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(p$2(340));Ig()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return E$1(M),null;case 4:return Jh(),null;case 10:return Rg(t.type._context),null;case 22:case 23:return Ij(),null;default:return null}}Aj=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Bj=function(){},Cj=function(e,t,r,a){var n=e.memoizedProps;if(n!==a){e=t.stateNode,Hh(Eh.current);var i,o=null;switch(r){case"input":n=Ya(e,n),a=Ya(e,a),o=[];break;case"select":n=A$3({},n,{value:void 0}),a=A$3({},a,{value:void 0}),o=[];break;case"textarea":n=gb(e,n),a=gb(e,a),o=[];break;default:"function"!=typeof n.onClick&&"function"==typeof a.onClick&&(e.onclick=Bf)}for(c in ub(r,a),r=null,n)if(!a.hasOwnProperty(c)&&n.hasOwnProperty(c)&&null!=n[c])if("style"===c){var l=n[c];for(i in l)l.hasOwnProperty(i)&&(r||(r={}),r[i]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(ea.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in a){var s=a[c];if(l=null!=n?n[c]:void 0,a.hasOwnProperty(c)&&s!==l&&(null!=s||null!=l))if("style"===c)if(l){for(i in l)!l.hasOwnProperty(i)||s&&s.hasOwnProperty(i)||(r||(r={}),r[i]="");for(i in s)s.hasOwnProperty(i)&&l[i]!==s[i]&&(r||(r={}),r[i]=s[i])}else r||(o||(o=[]),o.push(c,r)),r=s;else"dangerouslySetInnerHTML"===c?(s=s?s.__html:void 0,l=l?l.__html:void 0,null!=s&&l!==s&&(o=o||[]).push(c,s)):"children"===c?"string"!=typeof s&&"number"!=typeof s||(o=o||[]).push(c,""+s):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(ea.hasOwnProperty(c)?(null!=s&&"onScroll"===c&&D$1("scroll",e),o||l===s||(o=[])):(o=o||[]).push(c,s))}r&&(o=o||[]).push("style",r);var c=o;(t.updateQueue=c)&&(t.flags|=4)}},Dj=function(e,t,r,a){r!==a&&(t.flags|=4)};var Kj=!1,U=!1,Lj="function"==typeof WeakSet?WeakSet:Set,V=null;function Mj(e,t){var r=e.ref;if(null!==r)if("function"==typeof r)try{r(null)}catch(d){W(e,t,d)}else r.current=null}function Nj(e,t,r){try{r()}catch(d){W(e,t,d)}}var Oj=!1;function Pj(e,t){if(Cf=dd,Ne(e=Me())){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(r=(r=e.ownerDocument)&&r.defaultView||window).getSelection&&r.getSelection();if(a&&0!==a.rangeCount){r=a.anchorNode;var n=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{r.nodeType,i.nodeType}catch(F){r=null;break e}var o=0,l=-1,s=-1,c=0,u=0,f=e,A=null;t:for(;;){for(var d;f!==r||0!==n&&3!==f.nodeType||(l=o+n),f!==i||0!==a&&3!==f.nodeType||(s=o+a),3===f.nodeType&&(o+=f.nodeValue.length),null!==(d=f.firstChild);)A=f,f=d;for(;;){if(f===e)break t;if(A===r&&++c===n&&(l=o),A===i&&++u===a&&(s=o),null!==(d=f.nextSibling))break;A=(f=A).parentNode}f=d}r=-1===l||-1===s?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(Df={focusedElem:e,selectionRange:r},dd=!1,V=t;null!==V;)if(e=(t=V).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,V=e;else for(;null!==V;){t=V;try{var p=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==p){var h=p.memoizedProps,b=p.memoizedState,g=t.stateNode,m=g.getSnapshotBeforeUpdate(t.elementType===t.type?h:Lg(t.type,h),b);g.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var v=t.stateNode.containerInfo;1===v.nodeType?v.textContent="":9===v.nodeType&&v.documentElement&&v.removeChild(v.documentElement);break;default:throw Error(p$2(163))}}catch(F){W(t,t.return,F)}if(null!==(e=t.sibling)){e.return=t.return,V=e;break}V=t.return}return p=Oj,Oj=!1,p}function Qj(e,t,r){var a=t.updateQueue;if(null!==(a=null!==a?a.lastEffect:null)){var n=a=a.next;do{if((n.tag&e)===e){var i=n.destroy;n.destroy=void 0,void 0!==i&&Nj(t,r,i)}n=n.next}while(n!==a)}}function Rj(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var r=t=t.next;do{if((r.tag&e)===e){var a=r.create;r.destroy=a()}r=r.next}while(r!==t)}}function Sj(e){var t=e.ref;if(null!==t){var r=e.stateNode;e.tag,e=r,"function"==typeof t?t(e):t.current=e}}function Tj(e){var t=e.alternate;null!==t&&(e.alternate=null,Tj(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[Of],delete t[Pf],delete t[of],delete t[Qf],delete t[Rf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Uj(e){return 5===e.tag||3===e.tag||4===e.tag}function Vj(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Uj(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function Wj(e,t,r){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!=(r=r._reactRootContainer)||null!==t.onclick||(t.onclick=Bf));else if(4!==a&&null!==(e=e.child))for(Wj(e,t,r),e=e.sibling;null!==e;)Wj(e,t,r),e=e.sibling}function Xj(e,t,r){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==a&&null!==(e=e.child))for(Xj(e,t,r),e=e.sibling;null!==e;)Xj(e,t,r),e=e.sibling}var X=null,Yj=!1;function Zj(e,t,r){for(r=r.child;null!==r;)ak(e,t,r),r=r.sibling}function ak(e,t,r){if(lc&&"function"==typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,r)}catch(h){}switch(r.tag){case 5:U||Mj(r,t);case 6:var a=X,n=Yj;X=null,Zj(e,t,r),Yj=n,null!==(X=a)&&(Yj?(e=X,r=r.stateNode,8===e.nodeType?e.parentNode.removeChild(r):e.removeChild(r)):X.removeChild(r.stateNode));break;case 18:null!==X&&(Yj?(e=X,r=r.stateNode,8===e.nodeType?Kf(e.parentNode,r):1===e.nodeType&&Kf(e,r),bd(e)):Kf(X,r.stateNode));break;case 4:a=X,n=Yj,X=r.stateNode.containerInfo,Yj=!0,Zj(e,t,r),X=a,Yj=n;break;case 0:case 11:case 14:case 15:if(!U&&(null!==(a=r.updateQueue)&&null!==(a=a.lastEffect))){n=a=a.next;do{var i=n,o=i.destroy;i=i.tag,void 0!==o&&(0!=(2&i)||0!=(4&i))&&Nj(r,t,o),n=n.next}while(n!==a)}Zj(e,t,r);break;case 1:if(!U&&(Mj(r,t),"function"==typeof(a=r.stateNode).componentWillUnmount))try{a.props=r.memoizedProps,a.state=r.memoizedState,a.componentWillUnmount()}catch(h){W(r,t,h)}Zj(e,t,r);break;case 21:Zj(e,t,r);break;case 22:1&r.mode?(U=(a=U)||null!==r.memoizedState,Zj(e,t,r),U=a):Zj(e,t,r);break;default:Zj(e,t,r)}}function bk$1(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new Lj),t.forEach((function(t){var a=ck.bind(null,e,t);r.has(t)||(r.add(t),t.then(a,a))}))}}function dk(e,t){var r=t.deletions;if(null!==r)for(var a=0;an&&(n=o),a&=~i}if(a=n,10<(a=(120>(a=B$1()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*mk(a/1960))-a)){e.timeoutHandle=Ff(Qk.bind(null,e,uk,vk),a);break}Qk(e,uk,vk);break;default:throw Error(p$2(329))}}}return Ek(e,B$1()),e.callbackNode===r?Hk.bind(null,e):null}function Ok(e,t){var r=tk;return e.current.memoizedState.isDehydrated&&(Lk(e,t).flags|=256),2!==(e=Jk(e,t))&&(t=uk,uk=r,null!==t&&Gj(t)),e}function Gj(e){null===uk?uk=e:uk.push.apply(uk,e)}function Pk(e){for(var t=e;;){if(16384&t.flags){var r=t.updateQueue;if(null!==r&&null!==(r=r.stores))for(var a=0;ae?16:e,null===xk)var a=!1;else{if(e=xk,xk=null,yk=0,0!=(6&K$2))throw Error(p$2(331));var n=K$2;for(K$2|=4,V=e.current;null!==V;){var i=V,o=i.child;if(0!=(16&V.flags)){var l=i.deletions;if(null!==l){for(var s=0;sB$1()-gk?Lk(e,0):sk|=r),Ek(e,t)}function Zk(e,t){0===t&&(0==(1&e.mode)?t=1:(t=sc,0==(130023424&(sc<<=1))&&(sc=4194304)));var r=L();null!==(e=Zg(e,t))&&(Ac(e,t,r),Ek(e,r))}function vj(e){var t=e.memoizedState,r=0;null!==t&&(r=t.retryLane),Zk(e,r)}function ck(e,t){var r=0;switch(e.tag){case 13:var a=e.stateNode,n=e.memoizedState;null!==n&&(r=n.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(p$2(314))}null!==a&&a.delete(t),Zk(e,r)}function Gk(e,t){return ac(e,t)}function al(e,t,r,a){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(e,t,r,a){return new al(e,t,r,a)}function bj(e){return!(!(e=e.prototype)||!e.isReactComponent)}function $k(e){if("function"==typeof e)return bj(e)?1:0;if(null!=e){if((e=e.$$typeof)===Da)return 11;if(e===Ga)return 14}return 2}function wh(e,t){var r=e.alternate;return null===r?((r=Bg(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=14680064&e.flags,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function yh(e,t,r,a,n,i){var o=2;if(a=e,"function"==typeof e)bj(e)&&(o=1);else if("string"==typeof e)o=5;else e:switch(e){case ya:return Ah(r.children,n,i,t);case za:o=8,n|=8;break;case Aa:return(e=Bg(12,r,t,2|n)).elementType=Aa,e.lanes=i,e;case Ea:return(e=Bg(13,r,t,n)).elementType=Ea,e.lanes=i,e;case Fa:return(e=Bg(19,r,t,n)).elementType=Fa,e.lanes=i,e;case Ia:return qj(r,n,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Ba:o=10;break e;case Ca:o=9;break e;case Da:o=11;break e;case Ga:o=14;break e;case Ha:o=16,a=null;break e}throw Error(p$2(130,null==e?e:typeof e,""))}return(t=Bg(o,r,t,n)).elementType=e,t.type=a,t.lanes=i,t}function Ah(e,t,r,a){return(e=Bg(7,e,a,t)).lanes=r,e}function qj(e,t,r,a){return(e=Bg(22,e,a,t)).elementType=Ia,e.lanes=r,e.stateNode={isHidden:!1},e}function xh(e,t,r){return(e=Bg(6,e,null,t)).lanes=r,e}function zh(e,t,r){return(t=Bg(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function bl(e,t,r,a,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=a,this.onRecoverableError=n,this.mutableSourceEagerHydrationData=null}function cl(e,t,r,a,n,i,o,l,s){return e=new bl(e,t,r,l,s),1===t?(t=1,!0===i&&(t|=8)):t=0,i=Bg(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:a,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},ah(i),e}function dl(e,t,r){var a=30&&void 0!==arguments[0]?arguments[0]:{};(0,_invariant2.default)(_DOMUtils.canUseDOM,"Browser history needs a DOM");var t=window.history,r=(0,_DOMUtils.supportsHistory)(),a=!(0,_DOMUtils.supportsPopStateOnHashChange)(),n=e.forceRefresh,i=void 0!==n&&n,o=e.getUserConfirmation,l=void 0===o?_DOMUtils.getConfirmation:o,s=e.keyLength,c=void 0===s?6:s,u=e.basename?(0,_PathUtils.stripTrailingSlash)((0,_PathUtils.addLeadingSlash)(e.basename)):"",f=function(e){var t=e||{},r=t.key,a=t.state,n=window.location,i=n.pathname+n.search+n.hash;return(0,_warning2.default)(!u||(0,_PathUtils.hasBasename)(i,u),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+i+'" to begin with "'+u+'".'),u&&(i=(0,_PathUtils.stripBasename)(i,u)),(0,_LocationUtils.createLocation)(i,a,r)},A=function(){return Math.random().toString(36).substr(2,c)},d=(0,_createTransitionManager2.default)(),p=function(e){_extends$2j($,e),$.length=t.length,d.notifyListeners($.location,$.action)},h=function(e){(0,_DOMUtils.isExtraneousPopstateEvent)(e)||m(f(e.state))},b=function(){m(f(getHistoryState()))},g=!1,m=function(e){if(g)g=!1,p();else{d.confirmTransitionTo(e,"POP",l,(function(t){t?p({action:"POP",location:e}):v(e)}))}},v=function(e){var t=$.location,r=w.indexOf(t.key);-1===r&&(r=0);var a=w.indexOf(e.key);-1===a&&(a=0);var n=r-a;n&&(g=!0,x(n))},y=f(getHistoryState()),w=[y.key],k=function(e){return u+(0,_PathUtils.createPath)(e)},x=function(e){t.go(e)},E=0,_=function(e){1===(E+=e)?((0,_DOMUtils.addEventListener)(window,PopStateEvent,h),a&&(0,_DOMUtils.addEventListener)(window,HashChangeEvent,b)):0===E&&((0,_DOMUtils.removeEventListener)(window,PopStateEvent,h),a&&(0,_DOMUtils.removeEventListener)(window,HashChangeEvent,b))},C=!1,$={length:t.length,action:"POP",location:y,createHref:k,push:function(e,a){(0,_warning2.default)(!("object"===(void 0===e?"undefined":_typeof$1n(e))&&void 0!==e.state&&void 0!==a),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");var n="PUSH",o=(0,_LocationUtils.createLocation)(e,a,A(),$.location);d.confirmTransitionTo(o,n,l,(function(e){if(e){var a=k(o),l=o.key,s=o.state;if(r)if(t.pushState({key:l,state:s},null,a),i)window.location.href=a;else{var c=w.indexOf($.location.key),u=w.slice(0,-1===c?0:c+1);u.push(o.key),w=u,p({action:n,location:o})}else(0,_warning2.default)(void 0===s,"Browser history cannot push state in browsers that do not support HTML5 history"),window.location.href=a}}))},replace:function(e,a){(0,_warning2.default)(!("object"===(void 0===e?"undefined":_typeof$1n(e))&&void 0!==e.state&&void 0!==a),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");var n="REPLACE",o=(0,_LocationUtils.createLocation)(e,a,A(),$.location);d.confirmTransitionTo(o,n,l,(function(e){if(e){var a=k(o),l=o.key,s=o.state;if(r)if(t.replaceState({key:l,state:s},null,a),i)window.location.replace(a);else{var c=w.indexOf($.location.key);-1!==c&&(w[c]=o.key),p({action:n,location:o})}else(0,_warning2.default)(void 0===s,"Browser history cannot replace state in browsers that do not support HTML5 history"),window.location.replace(a)}}))},go:x,goBack:function(){return x(-1)},goForward:function(){return x(1)},block:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=d.setPrompt(e);return C||(_(1),C=!0),function(){return C&&(C=!1,_(-1)),t()}},listen:function(e){var t=d.appendListener(e);return _(1),function(){_(-1),t()}}};return $},_default$bF=createBrowserHistory;function _setPrototypeOf$1i(e,t){return _setPrototypeOf$1i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_setPrototypeOf$1i(e,t)}function _inheritsLoose$1(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,_setPrototypeOf$1i(e,t)}var subscriptionShape=propTypesExports.shape({trySubscribe:propTypesExports.func.isRequired,tryUnsubscribe:propTypesExports.func.isRequired,notifyNestedSubs:propTypesExports.func.isRequired,isSubscribed:propTypesExports.func.isRequired}),storeShape=propTypesExports.shape({subscribe:propTypesExports.func.isRequired,dispatch:propTypesExports.func.isRequired,getState:propTypesExports.func.isRequired});function createProvider(e){var t;void 0===e&&(e="store");var r=e+"Subscription",a=function(t){_inheritsLoose$1(n,t);var a=n.prototype;function n(r,a){var n;return(n=t.call(this,r,a)||this)[e]=r.store,n}return a.getChildContext=function(){var t;return(t={})[e]=this[e],t[r]=null,t},a.render=function(){return reactExports.Children.only(this.props.children)},n}(reactExports.Component);return a.propTypes={store:storeShape.isRequired,children:propTypesExports.element.isRequired},a.childContextTypes=((t={})[e]=storeShape.isRequired,t[r]=subscriptionShape,t),a}const Provider$3=createProvider();function _assertThisInitialized$1h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _extends$2i(){return _extends$2i=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}var reactIsExports={},reactIs$3={get exports(){return reactIsExports},set exports(e){reactIsExports=e}},reactIs_production_min={},b="function"==typeof Symbol&&Symbol.for,c$1=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e$1=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k$2=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p$1=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"):60120,r$1=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x$2=b?Symbol.for("react.responder"):60118,y$2=b?Symbol.for("react.scope"):60119;function z(e){if("object"==typeof e&&null!==e){var r=e.$$typeof;switch(r){case c$1:switch(e=e.type){case l:case m:case e$1:case g:case f:case p$1:return e;default:switch(e=e&&e.$$typeof){case k$2:case n:case t:case r$1:case h:return e;default:return r}}case d:return r}}}function A$2(e){return z(e)===m}reactIs_production_min.AsyncMode=l,reactIs_production_min.ConcurrentMode=m,reactIs_production_min.ContextConsumer=k$2,reactIs_production_min.ContextProvider=h,reactIs_production_min.Element=c$1,reactIs_production_min.ForwardRef=n,reactIs_production_min.Fragment=e$1,reactIs_production_min.Lazy=t,reactIs_production_min.Memo=r$1,reactIs_production_min.Portal=d,reactIs_production_min.Profiler=g,reactIs_production_min.StrictMode=f,reactIs_production_min.Suspense=p$1,reactIs_production_min.isAsyncMode=function(e){return A$2(e)||z(e)===l},reactIs_production_min.isConcurrentMode=A$2,reactIs_production_min.isContextConsumer=function(e){return z(e)===k$2},reactIs_production_min.isContextProvider=function(e){return z(e)===h},reactIs_production_min.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===c$1},reactIs_production_min.isForwardRef=function(e){return z(e)===n},reactIs_production_min.isFragment=function(e){return z(e)===e$1},reactIs_production_min.isLazy=function(e){return z(e)===t},reactIs_production_min.isMemo=function(e){return z(e)===r$1},reactIs_production_min.isPortal=function(e){return z(e)===d},reactIs_production_min.isProfiler=function(e){return z(e)===g},reactIs_production_min.isStrictMode=function(e){return z(e)===f},reactIs_production_min.isSuspense=function(e){return z(e)===p$1},reactIs_production_min.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===e$1||e===m||e===g||e===f||e===p$1||e===q||"object"==typeof e&&null!==e&&(e.$$typeof===t||e.$$typeof===r$1||e.$$typeof===h||e.$$typeof===k$2||e.$$typeof===n||e.$$typeof===w||e.$$typeof===x$2||e.$$typeof===y$2||e.$$typeof===v)},reactIs_production_min.typeOf=z,function(e){e.exports=reactIs_production_min}(reactIs$3);var reactIs$2=reactIsExports,REACT_STATICS$2={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS$2={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS$2={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS$2={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS$2={};function getStatics$2(e){return reactIs$2.isMemo(e)?MEMO_STATICS$2:TYPE_STATICS$2[e.$$typeof]||REACT_STATICS$2}TYPE_STATICS$2[reactIs$2.ForwardRef]=FORWARD_REF_STATICS$2,TYPE_STATICS$2[reactIs$2.Memo]=MEMO_STATICS$2;var defineProperty$9=Object.defineProperty,getOwnPropertyNames$2=Object.getOwnPropertyNames,getOwnPropertySymbols$3=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$4=Object.getOwnPropertyDescriptor,getPrototypeOf$5=Object.getPrototypeOf,objectPrototype$2=Object.prototype;function hoistNonReactStatics$2(t,r,a){if("string"!=typeof r){if(objectPrototype$2){var n=getPrototypeOf$5(r);n&&n!==objectPrototype$2&&hoistNonReactStatics$2(t,n,a)}var i=getOwnPropertyNames$2(r);getOwnPropertySymbols$3&&(i=i.concat(getOwnPropertySymbols$3(r)));for(var o=getStatics$2(t),l=getStatics$2(r),s=0;s, or explicitly pass "'+p+'" as a prop to "'+a+'".'),n.initSelector(),n.initSubscription(),n}_inheritsLoose$1(i,r);var o=i.prototype;return o.getChildContext=function(){var e,t=this.propsMode?null:this.subscription;return(e={})[m]=t||this.context[m],e},o.componentDidMount=function(){A&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},o.componentWillReceiveProps=function(e){this.selector.run(e)},o.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},o.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=noop$h,this.store=null,this.selector.run=noop$h,this.selector.shouldComponentUpdate=!1},o.getWrappedInstance=function(){return browser(b,"To access the wrapped instance, you need to specify { withRef: true } in the options argument of the "+s+"() call."),this.wrappedInstance},o.setWrappedInstance=function(e){this.wrappedInstance=e},o.initSelector=function(){var t=e(this.store.dispatch,n);this.selector=makeSelectorStateful(t,this.store),this.selector.run(this.props)},o.initSubscription=function(){if(A){var e=(this.propsMode?this.props:this.context)[m];this.subscription=new Subscription(this.store,e,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},o.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(dummyState)):this.notifyNestedSubs()},o.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},o.isSubscribed=function(){return Boolean(this.subscription)&&this.subscription.isSubscribed()},o.addExtraProps=function(e){if(!(b||u||this.propsMode&&this.subscription))return e;var t=_extends$2i({},e);return b&&(t.ref=this.setWrappedInstance),u&&(t[u]=this.renderCount++),this.propsMode&&this.subscription&&(t[m]=this.subscription),t},o.render=function(){var e=this.selector;if(e.shouldComponentUpdate=!1,e.error)throw e.error;return reactExports.createElement(t,this.addExtraProps(e.props))},i}(reactExports.Component);return i.WrappedComponent=t,i.displayName=a,i.childContextTypes=w,i.contextTypes=y,i.propTypes=y,hoistNonReactStatics_cjs$2(i,t)}}var hasOwn$1=Object.prototype.hasOwnProperty;function is$1(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function shallowEqual$1(e,t){if(is$1(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(l)throw l;for(var r=!1,n={},i=0;i=0;a--){var n=t[a](e);if(n)return n}return function(t,a){throw new Error("Invalid value of type "+typeof e+" for "+r+" argument when connecting component "+a.wrappedComponentName+".")}}function strictEqual(e,t){return e===t}function createConnect(e){var t=void 0===e?{}:e,r=t.connectHOC,a=void 0===r?connectAdvanced:r,n=t.mapStateToPropsFactories,i=void 0===n?defaultMapStateToPropsFactories:n,o=t.mapDispatchToPropsFactories,l=void 0===o?defaultMapDispatchToPropsFactories:o,s=t.mergePropsFactories,c=void 0===s?defaultMergePropsFactories:s,u=t.selectorFactory,f=void 0===u?finalPropsSelectorFactory:u;return function(e,t,r,n){void 0===n&&(n={});var o=n,s=o.pure,u=void 0===s||s,A=o.areStatesEqual,d=void 0===A?strictEqual:A,p=o.areOwnPropsEqual,h=void 0===p?shallowEqual$1:p,b=o.areStatePropsEqual,g=void 0===b?shallowEqual$1:b,m=o.areMergedPropsEqual,v=void 0===m?shallowEqual$1:m,y=_objectWithoutPropertiesLoose$7(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),w=match$2(e,i,"mapStateToProps"),k=match$2(t,l,"mapDispatchToProps"),x=match$2(r,c,"mergeProps");return a(f,_extends$2i({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:w,initMapDispatchToProps:k,initMergeProps:x,pure:u,areStatesEqual:d,areOwnPropsEqual:h,areStatePropsEqual:g,areMergedPropsEqual:v},y))}}const connect$3=createConnect();var _extends$2g=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:initialState$5,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.type,a=t.payload;return r===LOCATION_CHANGE?_extends$2g({},e,{location:a}):e}function _classCallCheck$24(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$22(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$22(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var ConnectedRouter=function(e){function t(){var r,a;_classCallCheck$24(this,t);for(var n=arguments.length,i=Array(n),o=0;o({color:reactExports.useMemo((()=>e.color||DEFAULT_ICON_COLOR),[e.color]),size:reactExports.useMemo((()=>e.size||DEFAULT_ICON_SIZE),[e.size])}),CrossedCrosshairCircleIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 73 72",children:[jsxRuntimeExports.jsx("circle",{cx:"36.5",cy:"36",r:"36",fill:"#F5F5F5"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeWidth:"2",d:"m17 16 40 40"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"4",d:"M54.33 36c0 9.57-7.76 17.33-17.33 17.33M54.33 36c0-9.57-7.76-17.33-17.33-17.33M54.33 36h-9.2M37 53.33A17.33 17.33 0 0 1 19.67 36M37 53.33v-9.2M19.67 36c0-9.57 7.76-17.33 17.33-17.33M19.67 36h9.2M37 18.67v9.2"})]})},CrossedCrosshairCircleIcon=React$k.memo(CrossedCrosshairCircleIconComponent),SlackLogoIconComponent=e=>{const{size:t}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 12 12",children:[jsxRuntimeExports.jsxs("g",{clipPath:"url(#slack-clip-1)",children:[jsxRuntimeExports.jsx("path",{fill:"#E01E5A",d:"M2.5238 7.5619c0 .69525-.56189 1.25719-1.25714 1.25719-.69525 0-1.25714-.56194-1.25714-1.25719 0-.6952.5619-1.25709 1.25719-1.25709h1.25705v1.25714l.00004-.00005Zm.6286 0c0-.6952.56189-1.25709 1.25714-1.25709.69525 0 1.25714.56189 1.25714 1.25714v3.14285c0 .6952-.56189 1.2572-1.25719 1.2572-.69516 0-1.25709-.562-1.25709-1.2572V7.5619Z"}),jsxRuntimeExports.jsx("path",{fill:"#36C5F0",d:"M4.40953 2.51428c-.69525 0-1.25719-.56189-1.25719-1.25714C3.15234.56189 3.71433 0 4.40953 0s1.25714.5619 1.25714 1.25714v1.25719H4.40948l.00005-.00005Zm0 .63811c.69525 0 1.25714.56189 1.25714 1.25714 0 .69525-.56189 1.25714-1.25719 1.25714H1.25719C.56189 5.66667 0 5.10478 0 4.40948c0-.69515.5619-1.25709 1.25714-1.25709h3.15239Z"}),jsxRuntimeExports.jsx("path",{fill:"#2EB67D",d:"M9.44768 4.40953c0-.69525.56192-1.25719 1.25712-1.25719s1.2572.56194 1.2572 1.25719-.562 1.25714-1.2572 1.25714H9.44768V4.40953Zm-.62859 0c0 .69525-.56194 1.25714-1.25719 1.25714-.6952 0-1.25709-.56189-1.25709-1.25719V1.25719C6.30481.56189 6.8667 0 7.5619 0c.69521 0 1.25714.5619 1.25714 1.25714v3.15234l.00005.00005Z"}),jsxRuntimeExports.jsx("path",{fill:"#ECB22E",d:"M7.5619 9.44768c.69525 0 1.25719.56192 1.25719 1.25712S8.25715 11.962 7.5619 11.962c-.6952 0-1.25709-.562-1.25709-1.2572V9.44768H7.5619Zm0-.62859c-.6952 0-1.25709-.56194-1.25709-1.25719 0-.6952.56189-1.25709 1.25714-1.25709h3.15235c.6952 0 1.2572.56189 1.2572 1.25714 0 .6952-.562 1.25714-1.2572 1.25714H7.5619Z"})]}),jsxRuntimeExports.jsx("defs",{children:jsxRuntimeExports.jsx("clipPath",{id:"slack-clip-1",children:jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M0 0h12v12H0z"})})})]})},SlackLogoIcon=React$k.memo(SlackLogoIconComponent),BrokenLinkCircleIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{width:t,height:t,viewBox:"0 0 72 72",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntimeExports.jsx("circle",{cx:"36",cy:"36",r:"36",fill:"#F5F5F5"}),jsxRuntimeExports.jsx("path",{d:"M49.2217 23.2783C48.0049 22.0617 46.3553 21.3772 44.6346 21.375C42.9139 21.3727 41.2626 22.0527 40.0425 23.2661L37.6761 25.7462C37.3734 26.0291 36.9742 26.1857 36.5599 26.1841C36.1457 26.1824 35.7477 26.0226 35.4473 25.7372C35.147 25.4519 34.9669 25.0627 34.944 24.6491C34.921 24.2354 35.0569 23.8286 35.3239 23.5119L37.7045 21.0155C37.7128 21.0062 37.7216 20.9973 37.7309 20.9891C39.5644 19.1852 42.0365 18.1789 44.6086 18.1894C47.1806 18.1998 49.6444 19.2262 51.4631 21.045C53.2819 22.8637 54.3083 25.3275 54.3188 27.8996C54.3292 30.4717 53.3229 32.9437 51.5191 34.7772C51.5108 34.7865 51.502 34.7953 51.4927 34.8036L48.9963 37.1842C48.6795 37.4512 48.2727 37.5871 47.8591 37.5641C47.4454 37.5412 47.0562 37.3612 46.7709 37.0608C46.4856 36.7604 46.3257 36.3625 46.3241 35.9482C46.3224 35.5339 46.479 35.1347 46.7619 34.832L49.242 32.4656C50.4568 31.2442 51.137 29.5904 51.1332 27.8677C51.1294 26.1451 50.4419 24.4944 49.2217 23.2783ZM35.3239 46.2537L32.9575 48.7339C31.7326 49.9235 30.0889 50.5833 28.3815 50.5709C26.6741 50.5584 25.0401 49.8746 23.8328 48.6672C22.6254 47.4599 21.9416 45.8259 21.9291 44.1185C21.9167 42.4111 22.5765 40.7674 23.7661 39.5425L26.2462 37.1761C26.5291 36.8734 26.6857 36.4742 26.6841 36.0599C26.6824 35.6457 26.5226 35.2477 26.2372 34.9473C25.9519 34.647 25.5627 34.4669 25.1491 34.444C24.7354 34.421 24.3286 34.5569 24.0119 34.8239L21.5073 37.2045C21.498 37.2128 21.4892 37.2216 21.4809 37.2309C19.6771 39.0644 18.6708 41.5365 18.6812 44.1086C18.6917 46.6806 19.7181 49.1444 21.5369 50.9631C23.3556 52.7819 25.8194 53.8083 28.3914 53.8188C30.9635 53.8292 33.4356 52.8229 35.2691 51.0191C35.2784 51.0108 35.2872 51.002 35.2955 50.9927L37.6761 48.4963C37.8379 48.345 37.9671 48.1622 38.0558 47.9592C38.1444 47.7562 38.1906 47.5372 38.1915 47.3156C38.1924 47.0941 38.148 46.8747 38.061 46.671C37.974 46.4673 37.8463 46.2835 37.6857 46.1309C37.525 45.9783 37.3349 45.8602 37.127 45.7838C36.9191 45.7074 36.6977 45.6743 36.4765 45.6866C36.2553 45.6988 36.039 45.7562 35.8408 45.8551C35.6426 45.9541 35.4667 46.0925 35.3239 46.2619V46.2537ZM52.75 40.875H47.875C47.444 40.875 47.0307 41.0462 46.726 41.351C46.4212 41.6557 46.25 42.069 46.25 42.5C46.25 42.931 46.4212 43.3443 46.726 43.649C47.0307 43.9538 47.444 44.125 47.875 44.125H52.75C53.181 44.125 53.5943 43.9538 53.899 43.649C54.2038 43.3443 54.375 42.931 54.375 42.5C54.375 42.069 54.2038 41.6557 53.899 41.351C53.5943 41.0462 53.181 40.875 52.75 40.875ZM20.25 31.125H25.125C25.556 31.125 25.9693 30.9538 26.274 30.649C26.5788 30.3443 26.75 29.931 26.75 29.5C26.75 29.069 26.5788 28.6557 26.274 28.351C25.9693 28.0462 25.556 27.875 25.125 27.875H20.25C19.819 27.875 19.4057 28.0462 19.101 28.351C18.7962 28.6557 18.625 29.069 18.625 29.5C18.625 29.931 18.7962 30.3443 19.101 30.649C19.4057 30.9538 19.819 31.125 20.25 31.125ZM43 45.75C42.569 45.75 42.1557 45.9212 41.851 46.226C41.5462 46.5307 41.375 46.944 41.375 47.375V52.25C41.375 52.681 41.5462 53.0943 41.851 53.399C42.1557 53.7038 42.569 53.875 43 53.875C43.431 53.875 43.8443 53.7038 44.149 53.399C44.4538 53.0943 44.625 52.681 44.625 52.25V47.375C44.625 46.944 44.4538 46.5307 44.149 46.226C43.8443 45.9212 43.431 45.75 43 45.75ZM30 26.25C30.431 26.25 30.8443 26.0788 31.149 25.774C31.4538 25.4693 31.625 25.056 31.625 24.625V19.75C31.625 19.319 31.4538 18.9057 31.149 18.601C30.8443 18.2962 30.431 18.125 30 18.125C29.569 18.125 29.1557 18.2962 28.851 18.601C28.5462 18.9057 28.375 19.319 28.375 19.75V24.625C28.375 25.056 28.5462 25.4693 28.851 25.774C29.1557 26.0788 29.569 26.25 30 26.25Z",fill:r})]})},BrokenLinkCircleIcon=React$k.memo(BrokenLinkCircleIconComponent),isString$6=e=>"string"==typeof e,SLACK_CHANNEL_URL="https://join.slack.com/t/continuous-feedback/shared_invite/zt-2gsif7wdy-6Jf17HIJESc2tknT5gybtw";function ErrorAttr({name:e,value:t}){return jsxRuntimeExports.jsxs("tr",{className:"ErrorMessage--detailItem",children:[jsxRuntimeExports.jsx("td",{className:"ErrorMessage--attr",children:e}),jsxRuntimeExports.jsx("td",{className:"ErrorMessage--value",children:t})]})}function Message(e){const{className:t,error:r,wrap:a,wrapperClassName:n}=e,i=`ErrorMessage--msg ${t||""}`,o="string"==typeof r?jsxRuntimeExports.jsx("h3",{className:i,children:r}):jsxRuntimeExports.jsx("h3",{className:i,children:r.message});return a?jsxRuntimeExports.jsx("div",{className:`ErrorMessage ${n||""}`,children:o}):o}function Details(e){const{className:t,error:r,wrap:a,wrapperClassName:n}=e;if("string"==typeof r)return null;const{httpStatus:i,httpStatusText:o,httpUrl:l,httpQuery:s,httpBody:c}=r,u=c&&c.length>1024?`${c.slice(0,1021).trim()}...`:c,f=jsxRuntimeExports.jsx("div",{className:`ErrorMessage--details ${t||""} u-simple-scrollbars`,children:jsxRuntimeExports.jsx("table",{className:"ErrorMessage--detailsTable",children:jsxRuntimeExports.jsxs("tbody",{children:[i?jsxRuntimeExports.jsx(ErrorAttr,{name:"Status",value:i}):null,o?jsxRuntimeExports.jsx(ErrorAttr,{name:"Status text",value:o}):null,l?jsxRuntimeExports.jsx(ErrorAttr,{name:"URL",value:l}):null,s?jsxRuntimeExports.jsx(ErrorAttr,{name:"Query",value:s}):null,u?jsxRuntimeExports.jsx(ErrorAttr,{name:"Response body",value:u}):null]})})});return a?jsxRuntimeExports.jsx("div",{className:`ErrorMessage ${n||""}`,children:f}):f}Message.defaultProps={className:void 0,wrap:!1,wrapperClassName:void 0},Details.defaultProps={className:void 0,wrap:!1,wrapperClassName:void 0};const DigmaErrorMessage=e=>jsxRuntimeExports.jsxs("div",{className:"CustomErrorMessage",children:[e.icon,jsxRuntimeExports.jsxs("div",{className:"CustomErrorMessage--text",children:[jsxRuntimeExports.jsx("span",{className:"CustomErrorMessage--title",children:e.title}),jsxRuntimeExports.jsx("span",{className:"CustomErrorMessage--description",children:e.content})]}),jsxRuntimeExports.jsxs("a",{href:SLACK_CHANNEL_URL,target:"_blank",rel:"noopener noreferrer",className:"CustomErrorMessage--slackLink",children:[jsxRuntimeExports.jsx(SlackLogoIcon,{}),"Join our slack channel for support"]})]});function ErrorMessage({className:e,detailClassName:t,error:r,messageClassName:a}){if(!r)return null;if("string"==typeof r)return jsxRuntimeExports.jsx(Message,{className:a,error:r,wrapperClassName:e,wrap:!0});if(r.message.includes("trace not found"))return jsxRuntimeExports.jsx(DigmaErrorMessage,{icon:jsxRuntimeExports.jsx(CrossedCrosshairCircleIcon,{size:72,color:"#56b5bc"}),title:"We Cannot Find the Trace You're Looking For...",content:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["Our bad, the trace might be old or we may have simply missed it somehow.",jsxRuntimeExports.jsx("br",{}),"No need to worry! Please run some more actions and check again",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("br",{}),"If you're using your your own Jaeger instance, please check that Digma knows to send traces to it as well.",jsxRuntimeExports.jsx("br",{}),'Check the "Jaeger Query URL" parameter in the Digma plugin settings and make sure it matches your Jaeger address']})});if(r.message.includes("Failed to fetch")||502===r.httpStatus){const e=!0===window.isUserDefinedJaegerQueryURL;return jsxRuntimeExports.jsx(DigmaErrorMessage,{icon:jsxRuntimeExports.jsx(BrokenLinkCircleIcon,{size:72,color:"#56b5bc"}),title:"Jaeger Not Available",content:e?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["The Jaeger link",isString$6(window.apiBaseUrl)&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[" ",jsxRuntimeExports.jsx("a",{className:"CustomErrorMessage--link",href:window.apiBaseUrl,target:"_blank",rel:"noopener noreferrer",children:window.apiBaseUrl})]})," ","is not available.",jsxRuntimeExports.jsx("br",{}),"Please makes sure the link you specified in the",jsxRuntimeExports.jsx("br",{}),"Digma plugin settings is correct."]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["Something is wrong and we are unable to communicate",jsxRuntimeExports.jsx("br",{}),"with the Digma Jaeger instance.",jsxRuntimeExports.jsx("br",{}),"Please make sure Digma is fully up and running",jsxRuntimeExports.jsx("br",{}),"and try updating to the latest version."]})})}return jsxRuntimeExports.jsxs("div",{className:`ErrorMessage ${e||""}`,children:[jsxRuntimeExports.jsx(Message,{error:r,className:a}),jsxRuntimeExports.jsx(Details,{error:r,className:t})]})}ErrorMessage.defaultProps={className:void 0,detailClassName:void 0,messageClassName:void 0};const origin$1=window.location.origin;function getPathPrefix(e,t){const r=null==e?"":e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),a=null==t?"":t,n=new RegExp(`^${r}|/$`,"ig");return a.replace(n,"")}const pathPrefix=getPathPrefix(origin$1,sitePrefix);function prefixUrl(e){const t=null==e?"":String(e);return`${pathPrefix}${t}`}function NotFound({error:e}){return jsxRuntimeExports.jsxs("section",{className:"ub-m3",children:[jsxRuntimeExports.jsx("h1",{children:"Error"}),e&&jsxRuntimeExports.jsx(ErrorMessage,{error:e}),jsxRuntimeExports.jsx(Link$1,{to:prefixUrl("/"),children:"Back home"})]})}const index$U="",index$T="";var classnamesExports$1={},classnames$1={get exports(){return classnamesExports$1},set exports(e){classnamesExports$1=e}}; +var aa=reactExports,ca=schedulerExports;function p$2(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;rt}return!1}function v$1(e,t,r,a,n,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=a,this.attributeNamespace=n,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var z$1={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){z$1[e]=new v$1(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];z$1[t]=new v$1(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){z$1[e]=new v$1(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){z$1[e]=new v$1(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){z$1[e]=new v$1(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){z$1[e]=new v$1(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){z$1[e]=new v$1(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){z$1[e]=new v$1(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){z$1[e]=new v$1(e,5,!1,e.toLowerCase(),null,!1,!1)}));var ra=/[\-:]([a-z])/g;function sa(e){return e[1].toUpperCase()}function ta(e,t,r,a){var n=z$1.hasOwnProperty(t)?z$1[t]:null;(null!==n?0!==n.type:a||!(2--s||n[o]!==i[s]){var c="\n"+n[o].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}}while(1<=o&&0<=s);break}}}finally{Na=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Ma(e):""}function Pa(e){switch(e.tag){case 5:return Ma(e.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return e=Oa(e.type,!1);case 11:return e=Oa(e.type.render,!1);case 1:return e=Oa(e.type,!0);default:return""}}function Qa(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case Ca:return(e.displayName||"Context")+".Consumer";case Ba:return(e._context.displayName||"Context")+".Provider";case Da:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case Ga:return null!==(t=e.displayName||null)?t:Qa(e.type)||"Memo";case Ha:t=e._payload,e=e._init;try{return Qa(e(t))}catch(c){}}return null}function Ra(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa(t);case 8:return t===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function Sa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function Ta(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Ua(e){var t=Ta(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==r&&"function"==typeof r.get&&"function"==typeof r.set){var n=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return n.call(this)},set:function(e){a=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Va(e){e._valueTracker||(e._valueTracker=Ua(e))}function Wa(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),a="";return e&&(a=Ta(e)?e.checked?"true":"false":e.value),(e=a)!==r&&(t.setValue(e),!0)}function Xa(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(b){return e.body}}function Ya(e,t){var r=t.checked;return A$3({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:e._wrapperState.initialChecked})}function Za(e,t){var r=null==t.defaultValue?"":t.defaultValue,a=null!=t.checked?t.checked:t.defaultChecked;r=Sa(null!=t.value?t.value:r),e._wrapperState={initialChecked:a,initialValue:r,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function ab(e,t){null!=(t=t.checked)&&ta(e,"checked",t,!1)}function bb(e,t){ab(e,t);var r=Sa(t.value),a=t.type;if(null!=r)"number"===a?(0===r&&""===e.value||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if("submit"===a||"reset"===a)return void e.removeAttribute("value");t.hasOwnProperty("value")?cb(e,t.type,r):t.hasOwnProperty("defaultValue")&&cb(e,t.type,Sa(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function db(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!("submit"!==a&&"reset"!==a||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}""!==(r=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==r&&(e.name=r)}function cb(e,t,r){"number"===t&&Xa(e.ownerDocument)===e||(null==r?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var eb=Array.isArray;function fb(e,t,r,a){if(e=e.options,t){t={};for(var n=0;n"+t.valueOf().toString()+"",t=mb.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function ob(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];function rb(e,t,r){return null==t||"boolean"==typeof t||""===t?"":r||"number"!=typeof t||0===t||pb.hasOwnProperty(e)&&pb[e]?(""+t).trim():t+"px"}function sb(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var a=0===r.indexOf("--"),n=rb(r,t[r],a);"float"===r&&(r="cssFloat"),a?e.setProperty(r,n):e[r]=n}}Object.keys(pb).forEach((function(e){qb.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pb[t]=pb[e]}))}));var tb=A$3({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(e,t){if(t){if(tb[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(p$2(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(p$2(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(p$2(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(p$2(62))}}function vb(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var yb=null,zb=null,Ab=null;function Bb(e){if(e=Cb(e)){if("function"!=typeof yb)throw Error(p$2(280));var t=e.stateNode;t&&(t=Db(t),yb(e.stateNode,e.type,t))}}function Eb(e){zb?Ab?Ab.push(e):Ab=[e]:zb=e}function Fb(){if(zb){var e=zb,t=Ab;if(Ab=zb=null,Bb(e),t)for(e=0;e>>=0)?32:31-(pc(e)/qc|0)|0}var rc=64,sc=4194304;function tc(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function uc(e,t){var r=e.pendingLanes;if(0===r)return 0;var a=0,n=e.suspendedLanes,i=e.pingedLanes,o=268435455&r;if(0!==o){var l=o&~n;0!==l?a=tc(l):0!==(i&=o)&&(a=tc(i))}else 0!==(o=r&~n)?a=tc(o):0!==i&&(a=tc(i));if(0===a)return 0;if(0!==t&&t!==a&&0==(t&n)&&((n=a&-a)>=(i=t&-t)||16===n&&0!=(4194240&i)))return t;if(0!=(4&a)&&(a|=16&r),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=a;0r;r++)t.push(e);return t}function Ac(e,t,r){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-oc(t)]=r}function Bc(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;function ge(e,t){switch(e){case"keyup":return-1!==$d.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ie=!1;function je(e,t){switch(e){case"compositionend":return he(t);case"keypress":return 32!==t.which?null:(fe=!0,ee);case"textInput":return(e=t.data)===ee&&fe?null:e;default:return null}}function ke(e,t){if(ie)return"compositionend"===e||!ae&&ge(e,t)?(e=nd(),md=ld=kd=null,ie=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Je(a)}}function Le(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Le(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Me(){for(var e=window,t=Xa();t instanceof e.HTMLIFrameElement;){try{var r="string"==typeof t.contentWindow.location.href}catch(d){r=!1}if(!r)break;t=Xa((e=t.contentWindow).document)}return t}function Ne(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function Oe(e){var t=Me(),r=e.focusedElem,a=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&Le(r.ownerDocument.documentElement,r)){if(null!==a&&Ne(r))if(t=a.start,void 0===(e=a.end)&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if((e=(t=r.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var n=r.textContent.length,i=Math.min(a.start,n);a=void 0===a.end?i:Math.min(a.end,n),!e.extend&&i>a&&(n=a,a=i,i=n),n=Ke(r,i);var o=Ke(r,a);n&&o&&(1!==e.rangeCount||e.anchorNode!==n.node||e.anchorOffset!==n.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(n.node,n.offset),e.removeAllRanges(),i>a?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}for(t=[],e=r;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof r.focus&&r.focus(),r=0;r=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(e,t,r){var a=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;Te||null==Qe||Qe!==Xa(a)||("selectionStart"in(a=Qe)&&Ne(a)?a={start:a.selectionStart,end:a.selectionEnd}:a={anchorNode:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset},Se&&Ie(Se,a)||(Se=a,0<(a=oe(Re,"onSelect")).length&&(t=new td("onSelect","select",null,t,r),e.push({event:t,listeners:a}),t.target=Qe)))}function Ve(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var We={animationend:Ve("Animation","AnimationEnd"),animationiteration:Ve("Animation","AnimationIteration"),animationstart:Ve("Animation","AnimationStart"),transitionend:Ve("Transition","TransitionEnd")},Xe={},Ye={};function Ze(e){if(Xe[e])return Xe[e];if(!We[e])return e;var t,r=We[e];for(t in r)if(r.hasOwnProperty(t)&&t in Ye)return Xe[e]=r[t];return e}ia&&(Ye=document.createElement("div").style,"AnimationEvent"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),"TransitionEvent"in window||delete We.transitionend.transition);var $e=Ze("animationend"),af=Ze("animationiteration"),bf=Ze("animationstart"),cf=Ze("transitionend"),df=new Map,ef="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function ff(e,t){df.set(e,t),fa(t,[e])}for(var gf=0;gfTf||(e.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(e,t){Tf++,Sf[Tf]=e.current,e.current=t}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(e,t){var r=e.type.contextTypes;if(!r)return Vf;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var n,i={};for(n in r)i[n]=t[n];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Zf(e){return null!=(e=e.childContextTypes)}function $f(){E$1(Wf),E$1(H)}function ag(e,t,r){if(H.current!==Vf)throw Error(p$2(168));G(H,t),G(Wf,r)}function bg(e,t,r){var a=e.stateNode;if(t=t.childContextTypes,"function"!=typeof a.getChildContext)return r;for(var n in a=a.getChildContext())if(!(n in t))throw Error(p$2(108,Ra(e)||"Unknown",n));return A$3({},r,a)}function cg(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,e),G(Wf,Wf.current),!0}function dg(e,t,r){var a=e.stateNode;if(!a)throw Error(p$2(169));r?(e=bg(e,t,Xf),a.__reactInternalMemoizedMergedChildContext=e,E$1(Wf),E$1(H),G(H,e)):E$1(Wf),G(Wf,r)}var eg=null,fg=!1,gg=!1;function hg(e){null===eg?eg=[e]:eg.push(e)}function ig(e){fg=!0,hg(e)}function jg(){if(!gg&&null!==eg){gg=!0;var t=0,r=C$1;try{var a=eg;for(C$1=1;t>=o,n-=o,rg=1<<32-oc(t)+n|r<h?(b=p,p=null):b=p.sibling;var g=A(n,p,l[h],s);if(null===g){null===p&&(p=b);break}e&&p&&null===g.alternate&&t(n,p),o=i(g,o,h),null===u?c=g:u.sibling=g,u=g,p=b}if(h===l.length)return r(n,p),I&&tg(n,h),c;if(null===p){for(;hh?(b=p,p=null):b=p.sibling;var m=A(n,p,g.value,s);if(null===m){null===p&&(p=b);break}e&&p&&null===m.alternate&&t(n,p),o=i(m,o,h),null===u?c=m:u.sibling=m,u=m,p=b}if(g.done)return r(n,p),I&&tg(n,h),c;if(null===p){for(;!g.done;h++,g=l.next())null!==(g=f(n,g.value,s))&&(o=i(g,o,h),null===u?c=g:u.sibling=g,u=g);return I&&tg(n,h),c}for(p=a(n,p);!g.done;h++,g=l.next())null!==(g=d(p,n,h,g.value,s))&&(e&&null!==g.alternate&&p.delete(null===g.key?h:g.key),o=i(g,o,h),null===u?c=g:u.sibling=g,u=g);return e&&p.forEach((function(e){return t(n,e)})),I&&tg(n,h),c}return function e(a,i,l,s){if("object"==typeof l&&null!==l&&l.type===ya&&null===l.key&&(l=l.props.children),"object"==typeof l&&null!==l){switch(l.$$typeof){case va:e:{for(var c=l.key,u=i;null!==u;){if(u.key===c){if((c=l.type)===ya){if(7===u.tag){r(a,u.sibling),(i=n(u,l.props.children)).return=a,a=i;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===Ha&&uh(c)===u.type){r(a,u.sibling),(i=n(u,l.props)).ref=sh(a,u,l),i.return=a,a=i;break e}r(a,u);break}t(a,u),u=u.sibling}l.type===ya?((i=Ah(l.props.children,a.mode,s,l.key)).return=a,a=i):((s=yh(l.type,l.key,l.props,null,a.mode,s)).ref=sh(a,i,l),s.return=a,a=s)}return o(a);case wa:e:{for(u=l.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===l.containerInfo&&i.stateNode.implementation===l.implementation){r(a,i.sibling),(i=n(i,l.children||[])).return=a,a=i;break e}r(a,i);break}t(a,i),i=i.sibling}(i=zh(l,a.mode,s)).return=a,a=i}return o(a);case Ha:return e(a,i,(u=l._init)(l._payload),s)}if(eb(l))return p(a,i,l,s);if(Ka(l))return h(a,i,l,s);th(a,l)}return"string"==typeof l&&""!==l||"number"==typeof l?(l=""+l,null!==i&&6===i.tag?(r(a,i.sibling),(i=n(i,l)).return=a,a=i):(r(a,i),(i=xh(l,a.mode,s)).return=a,a=i),o(a)):r(a,i)}}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(e){if(e===Dh)throw Error(p$2(174));return e}function Ih(e,t){switch(G(Gh,t),G(Fh,e),G(Eh,Dh),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:lb(null,"");break;default:t=lb(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}E$1(Eh),G(Eh,t)}function Jh(){E$1(Eh),E$1(Fh),E$1(Gh)}function Kh(e){Hh(Gh.current);var t=Hh(Eh.current),r=lb(t,e.type);t!==r&&(G(Fh,e),G(Eh,r))}function Lh(e){Fh.current===e&&(E$1(Eh),E$1(Fh))}var M=Uf(0);function Mh(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||"$?"===r.data||"$!"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Nh=[];function Oh(){for(var e=0;er?r:4,e(!0);var a=Qh.transition;Qh.transition={};try{e(!1),t()}finally{C$1=r,Qh.transition=a}}function Fi(){return di().memoizedState}function Gi(e,t,r){var a=lh(e);if(r={lane:a,action:r,hasEagerState:!1,eagerState:null,next:null},Hi(e))Ii(t,r);else if(null!==(r=Yg(e,t,r,a))){mh(r,e,a,L()),Ji(r,t,a)}}function ri(e,t,r){var a=lh(e),n={lane:a,action:r,hasEagerState:!1,eagerState:null,next:null};if(Hi(e))Ii(t,n);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,s=i(o,r);if(n.hasEagerState=!0,n.eagerState=s,He(s,o)){var c=t.interleaved;return null===c?(n.next=n,Xg(t)):(n.next=c.next,c.next=n),void(t.interleaved=n)}}catch(l){}null!==(r=Yg(e,t,n,a))&&(mh(r,e,a,n=L()),Ji(r,t,a))}}function Hi(e){var t=e.alternate;return e===N||null!==t&&t===N}function Ii(e,t){Th=Sh=!0;var r=e.pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function Ji(e,t,r){if(0!=(4194240&r)){var a=t.lanes;r|=a&=e.pendingLanes,t.lanes=r,Cc(e,r)}}var ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(e,t){return ci().memoizedState=[e,void 0===t?null:t],e},useContext:Vg,useEffect:vi,useImperativeHandle:function(e,t,r){return r=null!=r?r.concat([e]):null,ti(4194308,4,yi.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ti(4194308,4,e,t)},useInsertionEffect:function(e,t){return ti(4,2,e,t)},useMemo:function(e,t){var r=ci();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var a=ci();return t=void 0!==r?r(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=Gi.bind(null,N,e),[a.memoizedState,e]},useRef:function(e){return e={current:e},ci().memoizedState=e},useState:qi,useDebugValue:Ai,useDeferredValue:function(e){return ci().memoizedState=e},useTransition:function(){var e=qi(!1),t=e[0];return e=Ei.bind(null,e[1]),ci().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var a=N,n=ci();if(I){if(void 0===r)throw Error(p$2(407));r=r()}else{if(r=t(),null===R)throw Error(p$2(349));0!=(30&Rh)||ni(a,t,r)}n.memoizedState=r;var i={value:r,getSnapshot:t};return n.queue=i,vi(ki.bind(null,a,i,e),[e]),a.flags|=2048,li(9,mi.bind(null,a,i,r,t),void 0,null),r},useId:function(){var e=ci(),t=R.identifierPrefix;if(I){var r=sg;t=":"+t+"R"+(r=(rg&~(1<<32-oc(rg)-1)).toString(32)+r),0<(r=Uh++)&&(t+="H"+r.toString(32)),t+=":"}else t=":"+t+"r"+(r=Vh++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},useDebugValue:Ai,useDeferredValue:function(e){return Di(di(),O.memoizedState,e)},useTransition:function(){return[fi(ei)[0],di().memoizedState]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(e){var t=di();return null===O?t.memoizedState=e:Di(t,O.memoizedState,e)},useTransition:function(){return[gi(ei)[0],di().memoizedState]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(e,t){try{var r="",a=t;do{r+=Pa(a),a=a.return}while(a);var n=r}catch(f){n="\nError generating stack: "+f.message+"\n"+f.stack}return{value:e,source:t,stack:n,digest:null}}function Li(e,t,r){return{value:e,source:null,stack:null!=r?r:null,digest:null!=t?t:null}}function Mi(e,t){try{console.error(t.value)}catch(c){setTimeout((function(){throw c}))}}var Ni="function"==typeof WeakMap?WeakMap:Map;function Oi(e,t,r){(r=ch(-1,r)).tag=3,r.payload={element:null};var a=t.value;return r.callback=function(){Pi||(Pi=!0,Qi=a),Mi(e,t)},r}function Ri(e,t,r){(r=ch(-1,r)).tag=3;var a=e.type.getDerivedStateFromError;if("function"==typeof a){var n=t.value;r.payload=function(){return a(n)},r.callback=function(){Mi(e,t)}}var i=e.stateNode;return null!==i&&"function"==typeof i.componentDidCatch&&(r.callback=function(){Mi(e,t),"function"!=typeof a&&(null===Si?Si=new Set([this]):Si.add(this));var r=t.stack;this.componentDidCatch(t.value,{componentStack:null!==r?r:""})}),r}function Ti(e,t,r){var a=e.pingCache;if(null===a){a=e.pingCache=new Ni;var n=new Set;a.set(t,n)}else void 0===(n=a.get(t))&&(n=new Set,a.set(t,n));n.has(r)||(n.add(r),e=Ui.bind(null,e,t,r),t.then(e,e))}function Vi(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function Wi(e,t,r,a,n){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,1===r.tag&&(null===r.alternate?r.tag=17:((t=ch(-1,1)).tag=2,dh(r,t,1))),r.lanes|=1),e):(e.flags|=65536,e.lanes=n,e)}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(e,t,r,a){t.child=null===e?Ch(t,null,r,a):Bh(t,e.child,r,a)}function Zi(e,t,r,a,n){r=r.render;var i=t.ref;return Tg(t,n),a=Xh(e,t,r,a,i,n),r=bi(),null===e||Ug?(I&&r&&vg(t),t.flags|=1,Yi(e,t,a,n),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,$i(e,t,n))}function aj(e,t,r,a,n){if(null===e){var i=r.type;return"function"!=typeof i||bj(i)||void 0!==i.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=yh(r.type,null,a,t,t.mode,n)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,cj(e,t,i,a,n))}if(i=e.child,0==(e.lanes&n)){var o=i.memoizedProps;if((r=null!==(r=r.compare)?r:Ie)(o,a)&&e.ref===t.ref)return $i(e,t,n)}return t.flags|=1,(e=wh(i,a)).ref=t.ref,e.return=t,t.child=e}function cj(e,t,r,a,n){if(null!==e){var i=e.memoizedProps;if(Ie(i,a)&&e.ref===t.ref){if(Ug=!1,t.pendingProps=a=i,0==(e.lanes&n))return t.lanes=e.lanes,$i(e,t,n);0!=(131072&e.flags)&&(Ug=!0)}}return dj(e,t,r,a,n)}function ej(e,t,r){var a=t.pendingProps,n=a.children,i=null!==e?e.memoizedState:null;if("hidden"===a.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=r;else{if(0==(1073741824&r))return e=null!==i?i.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,G(fj,gj),gj|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=null!==i?i.baseLanes:r,G(fj,gj),gj|=a}else null!==i?(a=i.baseLanes|r,t.memoizedState=null):a=r,G(fj,gj),gj|=a;return Yi(e,t,n,r),t.child}function hj(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}function dj(e,t,r,a,n){var i=Zf(r)?Xf:H.current;return i=Yf(t,i),Tg(t,n),r=Xh(e,t,r,a,i,n),a=bi(),null===e||Ug?(I&&a&&vg(t),t.flags|=1,Yi(e,t,r,n),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n,$i(e,t,n))}function ij(e,t,r,a,n){if(Zf(r)){var i=!0;cg(t)}else i=!1;if(Tg(t,n),null===t.stateNode)jj(e,t),ph(t,r,a),rh(t,r,a,n),a=!0;else if(null===e){var o=t.stateNode,l=t.memoizedProps;o.props=l;var s=o.context,c=r.contextType;"object"==typeof c&&null!==c?c=Vg(c):c=Yf(t,c=Zf(r)?Xf:H.current);var u=r.getDerivedStateFromProps,f="function"==typeof u||"function"==typeof o.getSnapshotBeforeUpdate;f||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==a||s!==c)&&qh(t,o,a,c),$g=!1;var A=t.memoizedState;o.state=A,gh(t,a,o,n),s=t.memoizedState,l!==a||A!==s||Wf.current||$g?("function"==typeof u&&(kh(t,r,u,a),s=t.memoizedState),(l=$g||oh(t,r,l,a,A,s,c))?(f||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4194308)):("function"==typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=s),o.props=a,o.state=s,o.context=c,a=l):("function"==typeof o.componentDidMount&&(t.flags|=4194308),a=!1)}else{o=t.stateNode,bh(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:Lg(t.type,l),o.props=c,f=t.pendingProps,A=o.context,"object"==typeof(s=r.contextType)&&null!==s?s=Vg(s):s=Yf(t,s=Zf(r)?Xf:H.current);var d=r.getDerivedStateFromProps;(u="function"==typeof d||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==f||A!==s)&&qh(t,o,a,s),$g=!1,A=t.memoizedState,o.state=A,gh(t,a,o,n);var p=t.memoizedState;l!==f||A!==p||Wf.current||$g?("function"==typeof d&&(kh(t,r,d,a),p=t.memoizedState),(c=$g||oh(t,r,c,a,A,p,s)||!1)?(u||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(a,p,s),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(a,p,s)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&A===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&A===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=p),o.props=a,o.state=p,o.context=s,a=c):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&A===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&A===e.memoizedState||(t.flags|=1024),a=!1)}return kj(e,t,r,a,i,n)}function kj(e,t,r,a,n,i){hj(e,t);var o=0!=(128&t.flags);if(!a&&!o)return n&&dg(t,r,!1),$i(e,t,i);a=t.stateNode,Xi.current=t;var l=o&&"function"!=typeof r.getDerivedStateFromError?null:a.render();return t.flags|=1,null!==e&&o?(t.child=Bh(t,e.child,null,i),t.child=Bh(t,null,l,i)):Yi(e,t,l,i),t.memoizedState=a.state,n&&dg(t,r,!0),t.child}function lj(e){var t=e.stateNode;t.pendingContext?ag(e,t.pendingContext,t.pendingContext!==t.context):t.context&&ag(e,t.context,!1),Ih(e,t.containerInfo)}function mj(e,t,r,a,n){return Ig(),Jg(n),t.flags|=256,Yi(e,t,r,a),t.child}var nj={dehydrated:null,treeContext:null,retryLane:0},Aj,Bj,Cj,Dj;function oj(e){return{baseLanes:e,cachePool:null,transitions:null}}function pj(e,t,r){var a,n=t.pendingProps,i=M.current,o=!1,l=0!=(128&t.flags);if((a=l)||(a=(null===e||null!==e.memoizedState)&&0!=(2&i)),a?(o=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),G(M,1&i),null===e)return Eg(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=n.children,e=n.fallback,o?(n=t.mode,o=t.child,l={mode:"hidden",children:l},0==(1&n)&&null!==o?(o.childLanes=0,o.pendingProps=l):o=qj(l,n,0,null),e=Ah(e,n,r,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=oj(r),t.memoizedState=nj,e):rj(t,l));if(null!==(i=e.memoizedState)&&null!==(a=i.dehydrated))return sj(e,t,l,n,a,i,r);if(o){o=n.fallback,l=t.mode,a=(i=e.child).sibling;var s={mode:"hidden",children:n.children};return 0==(1&l)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=s,t.deletions=null):(n=wh(i,s)).subtreeFlags=14680064&i.subtreeFlags,null!==a?o=wh(a,o):(o=Ah(o,l,r,null)).flags|=2,o.return=t,n.return=t,n.sibling=o,t.child=n,n=o,o=t.child,l=null===(l=e.child.memoizedState)?oj(r):{baseLanes:l.baseLanes|r,cachePool:null,transitions:l.transitions},o.memoizedState=l,o.childLanes=e.childLanes&~r,t.memoizedState=nj,n}return e=(o=e.child).sibling,n=wh(o,{mode:"visible",children:n.children}),0==(1&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n}function rj(e,t){return(t=qj({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function tj(e,t,r,a){return null!==a&&Jg(a),Bh(t,e.child,null,r),(e=rj(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function sj(e,t,r,a,n,i,o){if(r)return 256&t.flags?(t.flags&=-257,tj(e,t,o,a=Li(Error(p$2(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=a.fallback,n=t.mode,a=qj({mode:"visible",children:a.children},n,0,null),(i=Ah(i,n,o,null)).flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,0!=(1&t.mode)&&Bh(t,e.child,null,o),t.child.memoizedState=oj(o),t.memoizedState=nj,i);if(0==(1&t.mode))return tj(e,t,o,null);if("$!"===n.data){if(a=n.nextSibling&&n.nextSibling.dataset)var l=a.dgst;return a=l,tj(e,t,o,a=Li(i=Error(p$2(419)),a,void 0))}if(l=0!=(o&e.childLanes),Ug||l){if(null!==(a=R)){switch(o&-o){case 4:n=2;break;case 16:n=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:n=32;break;case 536870912:n=268435456;break;default:n=0}0!==(n=0!=(n&(a.suspendedLanes|o))?0:n)&&n!==i.retryLane&&(i.retryLane=n,Zg(e,n),mh(a,e,n,-1))}return uj(),tj(e,t,o,a=Li(Error(p$2(421))))}return"$?"===n.data?(t.flags|=128,t.child=e.child,t=vj.bind(null,e),n._reactRetry=t,null):(e=i.treeContext,yg=Lf(n.nextSibling),xg=t,I=!0,zg=null,null!==e&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=e.id,sg=e.overflow,qg=t),(t=rj(t,a.children)).flags|=4096,t)}function wj(e,t,r){e.lanes|=t;var a=e.alternate;null!==a&&(a.lanes|=t),Sg(e.return,t,r)}function xj(e,t,r,a,n){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:r,tailMode:n}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=a,i.tail=r,i.tailMode=n)}function yj(e,t,r){var a=t.pendingProps,n=a.revealOrder,i=a.tail;if(Yi(e,t,a.children,r),0!=(2&(a=M.current)))a=1&a|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&wj(e,r,t);else if(19===e.tag)wj(e,r,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(G(M,a),0==(1&t.mode))t.memoizedState=null;else switch(n){case"forwards":for(r=t.child,n=null;null!==r;)null!==(e=r.alternate)&&null===Mh(e)&&(n=r),r=r.sibling;null===(r=n)?(n=t.child,t.child=null):(n=r.sibling,r.sibling=null),xj(t,!1,n,r,i);break;case"backwards":for(r=null,n=t.child,t.child=null;null!==n;){if(null!==(e=n.alternate)&&null===Mh(e)){t.child=n;break}e=n.sibling,n.sibling=r,r=n,n=e}xj(t,!0,r,null,i);break;case"together":xj(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function jj(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function $i(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),hh|=t.lanes,0==(r&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(p$2(153));if(null!==t.child){for(r=wh(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=wh(e,e.pendingProps)).return=t;r.sibling=null}return t.child}function zj(e,t,r){switch(t.tag){case 3:lj(t),Ig();break;case 5:Kh(t);break;case 1:Zf(t.type)&&cg(t);break;case 4:Ih(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,n=t.memoizedProps.value;G(Mg,a._currentValue),a._currentValue=n;break;case 13:if(null!==(a=t.memoizedState))return null!==a.dehydrated?(G(M,1&M.current),t.flags|=128,null):0!=(r&t.child.childLanes)?pj(e,t,r):(G(M,1&M.current),null!==(e=$i(e,t,r))?e.sibling:null);G(M,1&M.current);break;case 19:if(a=0!=(r&t.childLanes),0!=(128&e.flags)){if(a)return yj(e,t,r);t.flags|=128}if(null!==(n=t.memoizedState)&&(n.rendering=null,n.tail=null,n.lastEffect=null),G(M,M.current),a)break;return null;case 22:case 23:return t.lanes=0,ej(e,t,r)}return $i(e,t,r)}function Ej(e,t){if(!I)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var a=null;null!==r;)null!==r.alternate&&(a=r),r=r.sibling;null===a?t||null===e.tail?e.tail=null:e.tail.sibling=null:a.sibling=null}}function S(e){var t=null!==e.alternate&&e.alternate.child===e.child,r=0,a=0;if(t)for(var n=e.child;null!==n;)r|=n.lanes|n.childLanes,a|=14680064&n.subtreeFlags,a|=14680064&n.flags,n.return=e,n=n.sibling;else for(n=e.child;null!==n;)r|=n.lanes|n.childLanes,a|=n.subtreeFlags,a|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=a,e.childLanes=r,t}function Fj(e,t,r){var a=t.pendingProps;switch(wg(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(t),null;case 1:case 17:return Zf(t.type)&&$f(),S(t),null;case 3:return a=t.stateNode,Jh(),E$1(Wf),E$1(H),Oh(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==e&&null!==e.child||(Gg(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==zg&&(Gj(zg),zg=null))),Bj(e,t),S(t),null;case 5:Lh(t);var n=Hh(Gh.current);if(r=t.type,null!==e&&null!=t.stateNode)Cj(e,t,r,a,n),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(null===t.stateNode)throw Error(p$2(166));return S(t),null}if(e=Hh(Eh.current),Gg(t)){a=t.stateNode,r=t.type;var i=t.memoizedProps;switch(a[Of]=t,a[Pf]=i,e=0!=(1&t.mode),r){case"dialog":D$1("cancel",a),D$1("close",a);break;case"iframe":case"object":case"embed":D$1("load",a);break;case"video":case"audio":for(n=0;n<\/script>",e=e.removeChild(e.firstChild)):"string"==typeof a.is?e=o.createElement(r,{is:a.is}):(e=o.createElement(r),"select"===r&&(o=e,a.multiple?o.multiple=!0:a.size&&(o.size=a.size))):e=o.createElementNS(e,r),e[Of]=t,e[Pf]=a,Aj(e,t,!1,!1),t.stateNode=e;e:{switch(o=vb(r,a),r){case"dialog":D$1("cancel",e),D$1("close",e),n=a;break;case"iframe":case"object":case"embed":D$1("load",e),n=a;break;case"video":case"audio":for(n=0;nHj&&(t.flags|=128,a=!0,Ej(i,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=Mh(o))){if(t.flags|=128,a=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),Ej(i,!0),null===i.tail&&"hidden"===i.tailMode&&!o.alternate&&!I)return S(t),null}else 2*B$1()-i.renderingStartTime>Hj&&1073741824!==r&&(t.flags|=128,a=!0,Ej(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(null!==(r=i.last)?r.sibling=o:t.child=o,i.last=o)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=B$1(),t.sibling=null,r=M.current,G(M,a?1&r|2:1&r),t):(S(t),null);case 22:case 23:return Ij(),a=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==a&&(t.flags|=8192),a&&0!=(1&t.mode)?0!=(1073741824&gj)&&(S(t),6&t.subtreeFlags&&(t.flags|=8192)):S(t),null;case 24:case 25:return null}throw Error(p$2(156,t.tag))}function Jj(e,t){switch(wg(t),t.tag){case 1:return Zf(t.type)&&$f(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Jh(),E$1(Wf),E$1(H),Oh(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Lh(t),null;case 13:if(E$1(M),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(p$2(340));Ig()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return E$1(M),null;case 4:return Jh(),null;case 10:return Rg(t.type._context),null;case 22:case 23:return Ij(),null;default:return null}}Aj=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Bj=function(){},Cj=function(e,t,r,a){var n=e.memoizedProps;if(n!==a){e=t.stateNode,Hh(Eh.current);var i,o=null;switch(r){case"input":n=Ya(e,n),a=Ya(e,a),o=[];break;case"select":n=A$3({},n,{value:void 0}),a=A$3({},a,{value:void 0}),o=[];break;case"textarea":n=gb(e,n),a=gb(e,a),o=[];break;default:"function"!=typeof n.onClick&&"function"==typeof a.onClick&&(e.onclick=Bf)}for(c in ub(r,a),r=null,n)if(!a.hasOwnProperty(c)&&n.hasOwnProperty(c)&&null!=n[c])if("style"===c){var l=n[c];for(i in l)l.hasOwnProperty(i)&&(r||(r={}),r[i]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(ea.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in a){var s=a[c];if(l=null!=n?n[c]:void 0,a.hasOwnProperty(c)&&s!==l&&(null!=s||null!=l))if("style"===c)if(l){for(i in l)!l.hasOwnProperty(i)||s&&s.hasOwnProperty(i)||(r||(r={}),r[i]="");for(i in s)s.hasOwnProperty(i)&&l[i]!==s[i]&&(r||(r={}),r[i]=s[i])}else r||(o||(o=[]),o.push(c,r)),r=s;else"dangerouslySetInnerHTML"===c?(s=s?s.__html:void 0,l=l?l.__html:void 0,null!=s&&l!==s&&(o=o||[]).push(c,s)):"children"===c?"string"!=typeof s&&"number"!=typeof s||(o=o||[]).push(c,""+s):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(ea.hasOwnProperty(c)?(null!=s&&"onScroll"===c&&D$1("scroll",e),o||l===s||(o=[])):(o=o||[]).push(c,s))}r&&(o=o||[]).push("style",r);var c=o;(t.updateQueue=c)&&(t.flags|=4)}},Dj=function(e,t,r,a){r!==a&&(t.flags|=4)};var Kj=!1,U=!1,Lj="function"==typeof WeakSet?WeakSet:Set,V=null;function Mj(e,t){var r=e.ref;if(null!==r)if("function"==typeof r)try{r(null)}catch(d){W(e,t,d)}else r.current=null}function Nj(e,t,r){try{r()}catch(d){W(e,t,d)}}var Oj=!1;function Pj(e,t){if(Cf=dd,Ne(e=Me())){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(r=(r=e.ownerDocument)&&r.defaultView||window).getSelection&&r.getSelection();if(a&&0!==a.rangeCount){r=a.anchorNode;var n=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{r.nodeType,i.nodeType}catch(F){r=null;break e}var o=0,l=-1,s=-1,c=0,u=0,f=e,A=null;t:for(;;){for(var d;f!==r||0!==n&&3!==f.nodeType||(l=o+n),f!==i||0!==a&&3!==f.nodeType||(s=o+a),3===f.nodeType&&(o+=f.nodeValue.length),null!==(d=f.firstChild);)A=f,f=d;for(;;){if(f===e)break t;if(A===r&&++c===n&&(l=o),A===i&&++u===a&&(s=o),null!==(d=f.nextSibling))break;A=(f=A).parentNode}f=d}r=-1===l||-1===s?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(Df={focusedElem:e,selectionRange:r},dd=!1,V=t;null!==V;)if(e=(t=V).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,V=e;else for(;null!==V;){t=V;try{var p=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==p){var h=p.memoizedProps,b=p.memoizedState,g=t.stateNode,m=g.getSnapshotBeforeUpdate(t.elementType===t.type?h:Lg(t.type,h),b);g.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var v=t.stateNode.containerInfo;1===v.nodeType?v.textContent="":9===v.nodeType&&v.documentElement&&v.removeChild(v.documentElement);break;default:throw Error(p$2(163))}}catch(F){W(t,t.return,F)}if(null!==(e=t.sibling)){e.return=t.return,V=e;break}V=t.return}return p=Oj,Oj=!1,p}function Qj(e,t,r){var a=t.updateQueue;if(null!==(a=null!==a?a.lastEffect:null)){var n=a=a.next;do{if((n.tag&e)===e){var i=n.destroy;n.destroy=void 0,void 0!==i&&Nj(t,r,i)}n=n.next}while(n!==a)}}function Rj(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var r=t=t.next;do{if((r.tag&e)===e){var a=r.create;r.destroy=a()}r=r.next}while(r!==t)}}function Sj(e){var t=e.ref;if(null!==t){var r=e.stateNode;e.tag,e=r,"function"==typeof t?t(e):t.current=e}}function Tj(e){var t=e.alternate;null!==t&&(e.alternate=null,Tj(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[Of],delete t[Pf],delete t[of],delete t[Qf],delete t[Rf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Uj(e){return 5===e.tag||3===e.tag||4===e.tag}function Vj(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Uj(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function Wj(e,t,r){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!=(r=r._reactRootContainer)||null!==t.onclick||(t.onclick=Bf));else if(4!==a&&null!==(e=e.child))for(Wj(e,t,r),e=e.sibling;null!==e;)Wj(e,t,r),e=e.sibling}function Xj(e,t,r){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==a&&null!==(e=e.child))for(Xj(e,t,r),e=e.sibling;null!==e;)Xj(e,t,r),e=e.sibling}var X=null,Yj=!1;function Zj(e,t,r){for(r=r.child;null!==r;)ak(e,t,r),r=r.sibling}function ak(e,t,r){if(lc&&"function"==typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,r)}catch(h){}switch(r.tag){case 5:U||Mj(r,t);case 6:var a=X,n=Yj;X=null,Zj(e,t,r),Yj=n,null!==(X=a)&&(Yj?(e=X,r=r.stateNode,8===e.nodeType?e.parentNode.removeChild(r):e.removeChild(r)):X.removeChild(r.stateNode));break;case 18:null!==X&&(Yj?(e=X,r=r.stateNode,8===e.nodeType?Kf(e.parentNode,r):1===e.nodeType&&Kf(e,r),bd(e)):Kf(X,r.stateNode));break;case 4:a=X,n=Yj,X=r.stateNode.containerInfo,Yj=!0,Zj(e,t,r),X=a,Yj=n;break;case 0:case 11:case 14:case 15:if(!U&&(null!==(a=r.updateQueue)&&null!==(a=a.lastEffect))){n=a=a.next;do{var i=n,o=i.destroy;i=i.tag,void 0!==o&&(0!=(2&i)||0!=(4&i))&&Nj(r,t,o),n=n.next}while(n!==a)}Zj(e,t,r);break;case 1:if(!U&&(Mj(r,t),"function"==typeof(a=r.stateNode).componentWillUnmount))try{a.props=r.memoizedProps,a.state=r.memoizedState,a.componentWillUnmount()}catch(h){W(r,t,h)}Zj(e,t,r);break;case 21:Zj(e,t,r);break;case 22:1&r.mode?(U=(a=U)||null!==r.memoizedState,Zj(e,t,r),U=a):Zj(e,t,r);break;default:Zj(e,t,r)}}function bk$1(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new Lj),t.forEach((function(t){var a=ck.bind(null,e,t);r.has(t)||(r.add(t),t.then(a,a))}))}}function dk(e,t){var r=t.deletions;if(null!==r)for(var a=0;an&&(n=o),a&=~i}if(a=n,10<(a=(120>(a=B$1()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*mk(a/1960))-a)){e.timeoutHandle=Ff(Qk.bind(null,e,uk,vk),a);break}Qk(e,uk,vk);break;default:throw Error(p$2(329))}}}return Ek(e,B$1()),e.callbackNode===r?Hk.bind(null,e):null}function Ok(e,t){var r=tk;return e.current.memoizedState.isDehydrated&&(Lk(e,t).flags|=256),2!==(e=Jk(e,t))&&(t=uk,uk=r,null!==t&&Gj(t)),e}function Gj(e){null===uk?uk=e:uk.push.apply(uk,e)}function Pk(e){for(var t=e;;){if(16384&t.flags){var r=t.updateQueue;if(null!==r&&null!==(r=r.stores))for(var a=0;ae?16:e,null===xk)var a=!1;else{if(e=xk,xk=null,yk=0,0!=(6&K$2))throw Error(p$2(331));var n=K$2;for(K$2|=4,V=e.current;null!==V;){var i=V,o=i.child;if(0!=(16&V.flags)){var l=i.deletions;if(null!==l){for(var s=0;sB$1()-gk?Lk(e,0):sk|=r),Ek(e,t)}function Zk(e,t){0===t&&(0==(1&e.mode)?t=1:(t=sc,0==(130023424&(sc<<=1))&&(sc=4194304)));var r=L();null!==(e=Zg(e,t))&&(Ac(e,t,r),Ek(e,r))}function vj(e){var t=e.memoizedState,r=0;null!==t&&(r=t.retryLane),Zk(e,r)}function ck(e,t){var r=0;switch(e.tag){case 13:var a=e.stateNode,n=e.memoizedState;null!==n&&(r=n.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(p$2(314))}null!==a&&a.delete(t),Zk(e,r)}function Gk(e,t){return ac(e,t)}function al(e,t,r,a){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(e,t,r,a){return new al(e,t,r,a)}function bj(e){return!(!(e=e.prototype)||!e.isReactComponent)}function $k(e){if("function"==typeof e)return bj(e)?1:0;if(null!=e){if((e=e.$$typeof)===Da)return 11;if(e===Ga)return 14}return 2}function wh(e,t){var r=e.alternate;return null===r?((r=Bg(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=14680064&e.flags,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function yh(e,t,r,a,n,i){var o=2;if(a=e,"function"==typeof e)bj(e)&&(o=1);else if("string"==typeof e)o=5;else e:switch(e){case ya:return Ah(r.children,n,i,t);case za:o=8,n|=8;break;case Aa:return(e=Bg(12,r,t,2|n)).elementType=Aa,e.lanes=i,e;case Ea:return(e=Bg(13,r,t,n)).elementType=Ea,e.lanes=i,e;case Fa:return(e=Bg(19,r,t,n)).elementType=Fa,e.lanes=i,e;case Ia:return qj(r,n,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Ba:o=10;break e;case Ca:o=9;break e;case Da:o=11;break e;case Ga:o=14;break e;case Ha:o=16,a=null;break e}throw Error(p$2(130,null==e?e:typeof e,""))}return(t=Bg(o,r,t,n)).elementType=e,t.type=a,t.lanes=i,t}function Ah(e,t,r,a){return(e=Bg(7,e,a,t)).lanes=r,e}function qj(e,t,r,a){return(e=Bg(22,e,a,t)).elementType=Ia,e.lanes=r,e.stateNode={isHidden:!1},e}function xh(e,t,r){return(e=Bg(6,e,null,t)).lanes=r,e}function zh(e,t,r){return(t=Bg(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function bl(e,t,r,a,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=a,this.onRecoverableError=n,this.mutableSourceEagerHydrationData=null}function cl(e,t,r,a,n,i,o,l,s){return e=new bl(e,t,r,l,s),1===t?(t=1,!0===i&&(t|=8)):t=0,i=Bg(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:a,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},ah(i),e}function dl(e,t,r){var a=30&&void 0!==arguments[0]?arguments[0]:{};(0,_invariant2.default)(_DOMUtils.canUseDOM,"Browser history needs a DOM");var t=window.history,r=(0,_DOMUtils.supportsHistory)(),a=!(0,_DOMUtils.supportsPopStateOnHashChange)(),n=e.forceRefresh,i=void 0!==n&&n,o=e.getUserConfirmation,l=void 0===o?_DOMUtils.getConfirmation:o,s=e.keyLength,c=void 0===s?6:s,u=e.basename?(0,_PathUtils.stripTrailingSlash)((0,_PathUtils.addLeadingSlash)(e.basename)):"",f=function(e){var t=e||{},r=t.key,a=t.state,n=window.location,i=n.pathname+n.search+n.hash;return(0,_warning2.default)(!u||(0,_PathUtils.hasBasename)(i,u),'You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "'+i+'" to begin with "'+u+'".'),u&&(i=(0,_PathUtils.stripBasename)(i,u)),(0,_LocationUtils.createLocation)(i,a,r)},A=function(){return Math.random().toString(36).substr(2,c)},d=(0,_createTransitionManager2.default)(),p=function(e){_extends$2j($,e),$.length=t.length,d.notifyListeners($.location,$.action)},h=function(e){(0,_DOMUtils.isExtraneousPopstateEvent)(e)||m(f(e.state))},b=function(){m(f(getHistoryState()))},g=!1,m=function(e){if(g)g=!1,p();else{d.confirmTransitionTo(e,"POP",l,(function(t){t?p({action:"POP",location:e}):v(e)}))}},v=function(e){var t=$.location,r=w.indexOf(t.key);-1===r&&(r=0);var a=w.indexOf(e.key);-1===a&&(a=0);var n=r-a;n&&(g=!0,x(n))},y=f(getHistoryState()),w=[y.key],k=function(e){return u+(0,_PathUtils.createPath)(e)},x=function(e){t.go(e)},E=0,_=function(e){1===(E+=e)?((0,_DOMUtils.addEventListener)(window,PopStateEvent,h),a&&(0,_DOMUtils.addEventListener)(window,HashChangeEvent,b)):0===E&&((0,_DOMUtils.removeEventListener)(window,PopStateEvent,h),a&&(0,_DOMUtils.removeEventListener)(window,HashChangeEvent,b))},C=!1,$={length:t.length,action:"POP",location:y,createHref:k,push:function(e,a){(0,_warning2.default)(!("object"===(void 0===e?"undefined":_typeof$1n(e))&&void 0!==e.state&&void 0!==a),"You should avoid providing a 2nd state argument to push when the 1st argument is a location-like object that already has state; it is ignored");var n="PUSH",o=(0,_LocationUtils.createLocation)(e,a,A(),$.location);d.confirmTransitionTo(o,n,l,(function(e){if(e){var a=k(o),l=o.key,s=o.state;if(r)if(t.pushState({key:l,state:s},null,a),i)window.location.href=a;else{var c=w.indexOf($.location.key),u=w.slice(0,-1===c?0:c+1);u.push(o.key),w=u,p({action:n,location:o})}else(0,_warning2.default)(void 0===s,"Browser history cannot push state in browsers that do not support HTML5 history"),window.location.href=a}}))},replace:function(e,a){(0,_warning2.default)(!("object"===(void 0===e?"undefined":_typeof$1n(e))&&void 0!==e.state&&void 0!==a),"You should avoid providing a 2nd state argument to replace when the 1st argument is a location-like object that already has state; it is ignored");var n="REPLACE",o=(0,_LocationUtils.createLocation)(e,a,A(),$.location);d.confirmTransitionTo(o,n,l,(function(e){if(e){var a=k(o),l=o.key,s=o.state;if(r)if(t.replaceState({key:l,state:s},null,a),i)window.location.replace(a);else{var c=w.indexOf($.location.key);-1!==c&&(w[c]=o.key),p({action:n,location:o})}else(0,_warning2.default)(void 0===s,"Browser history cannot replace state in browsers that do not support HTML5 history"),window.location.replace(a)}}))},go:x,goBack:function(){return x(-1)},goForward:function(){return x(1)},block:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=d.setPrompt(e);return C||(_(1),C=!0),function(){return C&&(C=!1,_(-1)),t()}},listen:function(e){var t=d.appendListener(e);return _(1),function(){_(-1),t()}}};return $},_default$bF=createBrowserHistory;function _setPrototypeOf$1i(e,t){return _setPrototypeOf$1i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_setPrototypeOf$1i(e,t)}function _inheritsLoose$1(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,_setPrototypeOf$1i(e,t)}var subscriptionShape=propTypesExports.shape({trySubscribe:propTypesExports.func.isRequired,tryUnsubscribe:propTypesExports.func.isRequired,notifyNestedSubs:propTypesExports.func.isRequired,isSubscribed:propTypesExports.func.isRequired}),storeShape=propTypesExports.shape({subscribe:propTypesExports.func.isRequired,dispatch:propTypesExports.func.isRequired,getState:propTypesExports.func.isRequired});function createProvider(e){var t;void 0===e&&(e="store");var r=e+"Subscription",a=function(t){_inheritsLoose$1(n,t);var a=n.prototype;function n(r,a){var n;return(n=t.call(this,r,a)||this)[e]=r.store,n}return a.getChildContext=function(){var t;return(t={})[e]=this[e],t[r]=null,t},a.render=function(){return reactExports.Children.only(this.props.children)},n}(reactExports.Component);return a.propTypes={store:storeShape.isRequired,children:propTypesExports.element.isRequired},a.childContextTypes=((t={})[e]=storeShape.isRequired,t[r]=subscriptionShape,t),a}const Provider$3=createProvider();function _assertThisInitialized$1h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _extends$2i(){return _extends$2i=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}var reactIsExports={},reactIs$3={get exports(){return reactIsExports},set exports(e){reactIsExports=e}},reactIs_production_min={},b="function"==typeof Symbol&&Symbol.for,c$1=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e$1=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k$2=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p$1=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"):60120,r$1=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x$2=b?Symbol.for("react.responder"):60118,y$2=b?Symbol.for("react.scope"):60119;function z(e){if("object"==typeof e&&null!==e){var r=e.$$typeof;switch(r){case c$1:switch(e=e.type){case l:case m:case e$1:case g:case f:case p$1:return e;default:switch(e=e&&e.$$typeof){case k$2:case n:case t:case r$1:case h:return e;default:return r}}case d:return r}}}function A$2(e){return z(e)===m}reactIs_production_min.AsyncMode=l,reactIs_production_min.ConcurrentMode=m,reactIs_production_min.ContextConsumer=k$2,reactIs_production_min.ContextProvider=h,reactIs_production_min.Element=c$1,reactIs_production_min.ForwardRef=n,reactIs_production_min.Fragment=e$1,reactIs_production_min.Lazy=t,reactIs_production_min.Memo=r$1,reactIs_production_min.Portal=d,reactIs_production_min.Profiler=g,reactIs_production_min.StrictMode=f,reactIs_production_min.Suspense=p$1,reactIs_production_min.isAsyncMode=function(e){return A$2(e)||z(e)===l},reactIs_production_min.isConcurrentMode=A$2,reactIs_production_min.isContextConsumer=function(e){return z(e)===k$2},reactIs_production_min.isContextProvider=function(e){return z(e)===h},reactIs_production_min.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===c$1},reactIs_production_min.isForwardRef=function(e){return z(e)===n},reactIs_production_min.isFragment=function(e){return z(e)===e$1},reactIs_production_min.isLazy=function(e){return z(e)===t},reactIs_production_min.isMemo=function(e){return z(e)===r$1},reactIs_production_min.isPortal=function(e){return z(e)===d},reactIs_production_min.isProfiler=function(e){return z(e)===g},reactIs_production_min.isStrictMode=function(e){return z(e)===f},reactIs_production_min.isSuspense=function(e){return z(e)===p$1},reactIs_production_min.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===e$1||e===m||e===g||e===f||e===p$1||e===q||"object"==typeof e&&null!==e&&(e.$$typeof===t||e.$$typeof===r$1||e.$$typeof===h||e.$$typeof===k$2||e.$$typeof===n||e.$$typeof===w||e.$$typeof===x$2||e.$$typeof===y$2||e.$$typeof===v)},reactIs_production_min.typeOf=z,function(e){e.exports=reactIs_production_min}(reactIs$3);var reactIs$2=reactIsExports,REACT_STATICS$2={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS$2={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},FORWARD_REF_STATICS$2={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},MEMO_STATICS$2={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},TYPE_STATICS$2={};function getStatics$2(e){return reactIs$2.isMemo(e)?MEMO_STATICS$2:TYPE_STATICS$2[e.$$typeof]||REACT_STATICS$2}TYPE_STATICS$2[reactIs$2.ForwardRef]=FORWARD_REF_STATICS$2,TYPE_STATICS$2[reactIs$2.Memo]=MEMO_STATICS$2;var defineProperty$9=Object.defineProperty,getOwnPropertyNames$2=Object.getOwnPropertyNames,getOwnPropertySymbols$3=Object.getOwnPropertySymbols,getOwnPropertyDescriptor$4=Object.getOwnPropertyDescriptor,getPrototypeOf$5=Object.getPrototypeOf,objectPrototype$2=Object.prototype;function hoistNonReactStatics$2(t,r,a){if("string"!=typeof r){if(objectPrototype$2){var n=getPrototypeOf$5(r);n&&n!==objectPrototype$2&&hoistNonReactStatics$2(t,n,a)}var i=getOwnPropertyNames$2(r);getOwnPropertySymbols$3&&(i=i.concat(getOwnPropertySymbols$3(r)));for(var o=getStatics$2(t),l=getStatics$2(r),s=0;s, or explicitly pass "'+p+'" as a prop to "'+a+'".'),n.initSelector(),n.initSubscription(),n}_inheritsLoose$1(i,r);var o=i.prototype;return o.getChildContext=function(){var e,t=this.propsMode?null:this.subscription;return(e={})[m]=t||this.context[m],e},o.componentDidMount=function(){A&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},o.componentWillReceiveProps=function(e){this.selector.run(e)},o.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},o.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=noop$h,this.store=null,this.selector.run=noop$h,this.selector.shouldComponentUpdate=!1},o.getWrappedInstance=function(){return browser(b,"To access the wrapped instance, you need to specify { withRef: true } in the options argument of the "+s+"() call."),this.wrappedInstance},o.setWrappedInstance=function(e){this.wrappedInstance=e},o.initSelector=function(){var t=e(this.store.dispatch,n);this.selector=makeSelectorStateful(t,this.store),this.selector.run(this.props)},o.initSubscription=function(){if(A){var e=(this.propsMode?this.props:this.context)[m];this.subscription=new Subscription(this.store,e,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},o.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(dummyState)):this.notifyNestedSubs()},o.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},o.isSubscribed=function(){return Boolean(this.subscription)&&this.subscription.isSubscribed()},o.addExtraProps=function(e){if(!(b||u||this.propsMode&&this.subscription))return e;var t=_extends$2i({},e);return b&&(t.ref=this.setWrappedInstance),u&&(t[u]=this.renderCount++),this.propsMode&&this.subscription&&(t[m]=this.subscription),t},o.render=function(){var e=this.selector;if(e.shouldComponentUpdate=!1,e.error)throw e.error;return reactExports.createElement(t,this.addExtraProps(e.props))},i}(reactExports.Component);return i.WrappedComponent=t,i.displayName=a,i.childContextTypes=w,i.contextTypes=y,i.propTypes=y,hoistNonReactStatics_cjs$2(i,t)}}var hasOwn$1=Object.prototype.hasOwnProperty;function is$1(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function shallowEqual$1(e,t){if(is$1(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(l)throw l;for(var r=!1,n={},i=0;i=0;a--){var n=t[a](e);if(n)return n}return function(t,a){throw new Error("Invalid value of type "+typeof e+" for "+r+" argument when connecting component "+a.wrappedComponentName+".")}}function strictEqual(e,t){return e===t}function createConnect(e){var t=void 0===e?{}:e,r=t.connectHOC,a=void 0===r?connectAdvanced:r,n=t.mapStateToPropsFactories,i=void 0===n?defaultMapStateToPropsFactories:n,o=t.mapDispatchToPropsFactories,l=void 0===o?defaultMapDispatchToPropsFactories:o,s=t.mergePropsFactories,c=void 0===s?defaultMergePropsFactories:s,u=t.selectorFactory,f=void 0===u?finalPropsSelectorFactory:u;return function(e,t,r,n){void 0===n&&(n={});var o=n,s=o.pure,u=void 0===s||s,A=o.areStatesEqual,d=void 0===A?strictEqual:A,p=o.areOwnPropsEqual,h=void 0===p?shallowEqual$1:p,b=o.areStatePropsEqual,g=void 0===b?shallowEqual$1:b,m=o.areMergedPropsEqual,v=void 0===m?shallowEqual$1:m,y=_objectWithoutPropertiesLoose$7(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),w=match$2(e,i,"mapStateToProps"),k=match$2(t,l,"mapDispatchToProps"),x=match$2(r,c,"mergeProps");return a(f,_extends$2i({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:w,initMapDispatchToProps:k,initMergeProps:x,pure:u,areStatesEqual:d,areOwnPropsEqual:h,areStatePropsEqual:g,areMergedPropsEqual:v},y))}}const connect$3=createConnect();var _extends$2g=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:initialState$5,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.type,a=t.payload;return r===LOCATION_CHANGE?_extends$2g({},e,{location:a}):e}function _classCallCheck$24(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$22(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$22(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var ConnectedRouter=function(e){function t(){var r,a;_classCallCheck$24(this,t);for(var n=arguments.length,i=Array(n),o=0;o({color:reactExports.useMemo((()=>e.color||DEFAULT_ICON_COLOR),[e.color]),size:reactExports.useMemo((()=>e.size||DEFAULT_ICON_SIZE),[e.size])}),CrossedCrosshairCircleIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 73 72",children:[jsxRuntimeExports.jsx("circle",{cx:"36.5",cy:"36",r:"36",fill:"#F5F5F5"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeWidth:"2",d:"m17 16 40 40"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"4",d:"M54.33 36c0 9.57-7.76 17.33-17.33 17.33M54.33 36c0-9.57-7.76-17.33-17.33-17.33M54.33 36h-9.2M37 53.33A17.33 17.33 0 0 1 19.67 36M37 53.33v-9.2M19.67 36c0-9.57 7.76-17.33 17.33-17.33M19.67 36h9.2M37 18.67v9.2"})]})},CrossedCrosshairCircleIcon=React$k.memo(CrossedCrosshairCircleIconComponent),SlackLogoIconComponent=e=>{const{size:t}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 12 12",children:[jsxRuntimeExports.jsxs("g",{clipPath:"url(#slack-clip-1)",children:[jsxRuntimeExports.jsx("path",{fill:"#E01E5A",d:"M2.5238 7.5619c0 .69525-.56189 1.25719-1.25714 1.25719-.69525 0-1.25714-.56194-1.25714-1.25719 0-.6952.5619-1.25709 1.25719-1.25709h1.25705v1.25714l.00004-.00005Zm.6286 0c0-.6952.56189-1.25709 1.25714-1.25709.69525 0 1.25714.56189 1.25714 1.25714v3.14285c0 .6952-.56189 1.2572-1.25719 1.2572-.69516 0-1.25709-.562-1.25709-1.2572V7.5619Z"}),jsxRuntimeExports.jsx("path",{fill:"#36C5F0",d:"M4.40953 2.51428c-.69525 0-1.25719-.56189-1.25719-1.25714C3.15234.56189 3.71433 0 4.40953 0s1.25714.5619 1.25714 1.25714v1.25719H4.40948l.00005-.00005Zm0 .63811c.69525 0 1.25714.56189 1.25714 1.25714 0 .69525-.56189 1.25714-1.25719 1.25714H1.25719C.56189 5.66667 0 5.10478 0 4.40948c0-.69515.5619-1.25709 1.25714-1.25709h3.15239Z"}),jsxRuntimeExports.jsx("path",{fill:"#2EB67D",d:"M9.44768 4.40953c0-.69525.56192-1.25719 1.25712-1.25719s1.2572.56194 1.2572 1.25719-.562 1.25714-1.2572 1.25714H9.44768V4.40953Zm-.62859 0c0 .69525-.56194 1.25714-1.25719 1.25714-.6952 0-1.25709-.56189-1.25709-1.25719V1.25719C6.30481.56189 6.8667 0 7.5619 0c.69521 0 1.25714.5619 1.25714 1.25714v3.15234l.00005.00005Z"}),jsxRuntimeExports.jsx("path",{fill:"#ECB22E",d:"M7.5619 9.44768c.69525 0 1.25719.56192 1.25719 1.25712S8.25715 11.962 7.5619 11.962c-.6952 0-1.25709-.562-1.25709-1.2572V9.44768H7.5619Zm0-.62859c-.6952 0-1.25709-.56194-1.25709-1.25719 0-.6952.56189-1.25709 1.25714-1.25709h3.15235c.6952 0 1.2572.56189 1.2572 1.25714 0 .6952-.562 1.25714-1.2572 1.25714H7.5619Z"})]}),jsxRuntimeExports.jsx("defs",{children:jsxRuntimeExports.jsx("clipPath",{id:"slack-clip-1",children:jsxRuntimeExports.jsx("path",{fill:"#fff",d:"M0 0h12v12H0z"})})})]})},SlackLogoIcon=React$k.memo(SlackLogoIconComponent),BrokenLinkCircleIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{width:t,height:t,viewBox:"0 0 72 72",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntimeExports.jsx("circle",{cx:"36",cy:"36",r:"36",fill:"#F5F5F5"}),jsxRuntimeExports.jsx("path",{d:"M49.2217 23.2783C48.0049 22.0617 46.3553 21.3772 44.6346 21.375C42.9139 21.3727 41.2626 22.0527 40.0425 23.2661L37.6761 25.7462C37.3734 26.0291 36.9742 26.1857 36.5599 26.1841C36.1457 26.1824 35.7477 26.0226 35.4473 25.7372C35.147 25.4519 34.9669 25.0627 34.944 24.6491C34.921 24.2354 35.0569 23.8286 35.3239 23.5119L37.7045 21.0155C37.7128 21.0062 37.7216 20.9973 37.7309 20.9891C39.5644 19.1852 42.0365 18.1789 44.6086 18.1894C47.1806 18.1998 49.6444 19.2262 51.4631 21.045C53.2819 22.8637 54.3083 25.3275 54.3188 27.8996C54.3292 30.4717 53.3229 32.9437 51.5191 34.7772C51.5108 34.7865 51.502 34.7953 51.4927 34.8036L48.9963 37.1842C48.6795 37.4512 48.2727 37.5871 47.8591 37.5641C47.4454 37.5412 47.0562 37.3612 46.7709 37.0608C46.4856 36.7604 46.3257 36.3625 46.3241 35.9482C46.3224 35.5339 46.479 35.1347 46.7619 34.832L49.242 32.4656C50.4568 31.2442 51.137 29.5904 51.1332 27.8677C51.1294 26.1451 50.4419 24.4944 49.2217 23.2783ZM35.3239 46.2537L32.9575 48.7339C31.7326 49.9235 30.0889 50.5833 28.3815 50.5709C26.6741 50.5584 25.0401 49.8746 23.8328 48.6672C22.6254 47.4599 21.9416 45.8259 21.9291 44.1185C21.9167 42.4111 22.5765 40.7674 23.7661 39.5425L26.2462 37.1761C26.5291 36.8734 26.6857 36.4742 26.6841 36.0599C26.6824 35.6457 26.5226 35.2477 26.2372 34.9473C25.9519 34.647 25.5627 34.4669 25.1491 34.444C24.7354 34.421 24.3286 34.5569 24.0119 34.8239L21.5073 37.2045C21.498 37.2128 21.4892 37.2216 21.4809 37.2309C19.6771 39.0644 18.6708 41.5365 18.6812 44.1086C18.6917 46.6806 19.7181 49.1444 21.5369 50.9631C23.3556 52.7819 25.8194 53.8083 28.3914 53.8188C30.9635 53.8292 33.4356 52.8229 35.2691 51.0191C35.2784 51.0108 35.2872 51.002 35.2955 50.9927L37.6761 48.4963C37.8379 48.345 37.9671 48.1622 38.0558 47.9592C38.1444 47.7562 38.1906 47.5372 38.1915 47.3156C38.1924 47.0941 38.148 46.8747 38.061 46.671C37.974 46.4673 37.8463 46.2835 37.6857 46.1309C37.525 45.9783 37.3349 45.8602 37.127 45.7838C36.9191 45.7074 36.6977 45.6743 36.4765 45.6866C36.2553 45.6988 36.039 45.7562 35.8408 45.8551C35.6426 45.9541 35.4667 46.0925 35.3239 46.2619V46.2537ZM52.75 40.875H47.875C47.444 40.875 47.0307 41.0462 46.726 41.351C46.4212 41.6557 46.25 42.069 46.25 42.5C46.25 42.931 46.4212 43.3443 46.726 43.649C47.0307 43.9538 47.444 44.125 47.875 44.125H52.75C53.181 44.125 53.5943 43.9538 53.899 43.649C54.2038 43.3443 54.375 42.931 54.375 42.5C54.375 42.069 54.2038 41.6557 53.899 41.351C53.5943 41.0462 53.181 40.875 52.75 40.875ZM20.25 31.125H25.125C25.556 31.125 25.9693 30.9538 26.274 30.649C26.5788 30.3443 26.75 29.931 26.75 29.5C26.75 29.069 26.5788 28.6557 26.274 28.351C25.9693 28.0462 25.556 27.875 25.125 27.875H20.25C19.819 27.875 19.4057 28.0462 19.101 28.351C18.7962 28.6557 18.625 29.069 18.625 29.5C18.625 29.931 18.7962 30.3443 19.101 30.649C19.4057 30.9538 19.819 31.125 20.25 31.125ZM43 45.75C42.569 45.75 42.1557 45.9212 41.851 46.226C41.5462 46.5307 41.375 46.944 41.375 47.375V52.25C41.375 52.681 41.5462 53.0943 41.851 53.399C42.1557 53.7038 42.569 53.875 43 53.875C43.431 53.875 43.8443 53.7038 44.149 53.399C44.4538 53.0943 44.625 52.681 44.625 52.25V47.375C44.625 46.944 44.4538 46.5307 44.149 46.226C43.8443 45.9212 43.431 45.75 43 45.75ZM30 26.25C30.431 26.25 30.8443 26.0788 31.149 25.774C31.4538 25.4693 31.625 25.056 31.625 24.625V19.75C31.625 19.319 31.4538 18.9057 31.149 18.601C30.8443 18.2962 30.431 18.125 30 18.125C29.569 18.125 29.1557 18.2962 28.851 18.601C28.5462 18.9057 28.375 19.319 28.375 19.75V24.625C28.375 25.056 28.5462 25.4693 28.851 25.774C29.1557 26.0788 29.569 26.25 30 26.25Z",fill:r})]})},BrokenLinkCircleIcon=React$k.memo(BrokenLinkCircleIconComponent),isString$6=e=>"string"==typeof e,SLACK_CHANNEL_URL="https://join.slack.com/t/continuous-feedback/shared_invite/zt-2gsif7wdy-6Jf17HIJESc2tknT5gybtw";function ErrorAttr({name:e,value:t}){return jsxRuntimeExports.jsxs("tr",{className:"ErrorMessage--detailItem",children:[jsxRuntimeExports.jsx("td",{className:"ErrorMessage--attr",children:e}),jsxRuntimeExports.jsx("td",{className:"ErrorMessage--value",children:t})]})}function Message(e){const{className:t,error:r,wrap:a,wrapperClassName:n}=e,i=`ErrorMessage--msg ${t||""}`,o="string"==typeof r?jsxRuntimeExports.jsx("h3",{className:i,children:r}):jsxRuntimeExports.jsx("h3",{className:i,children:r.message});return a?jsxRuntimeExports.jsx("div",{className:`ErrorMessage ${n||""}`,children:o}):o}function Details(e){const{className:t,error:r,wrap:a,wrapperClassName:n}=e;if("string"==typeof r)return null;const{httpStatus:i,httpStatusText:o,httpUrl:l,httpQuery:s,httpBody:c}=r,u=c&&c.length>1024?`${c.slice(0,1021).trim()}...`:c,f=jsxRuntimeExports.jsx("div",{className:`ErrorMessage--details ${t||""} u-simple-scrollbars`,children:jsxRuntimeExports.jsx("table",{className:"ErrorMessage--detailsTable",children:jsxRuntimeExports.jsxs("tbody",{children:[i?jsxRuntimeExports.jsx(ErrorAttr,{name:"Status",value:i}):null,o?jsxRuntimeExports.jsx(ErrorAttr,{name:"Status text",value:o}):null,l?jsxRuntimeExports.jsx(ErrorAttr,{name:"URL",value:l}):null,s?jsxRuntimeExports.jsx(ErrorAttr,{name:"Query",value:s}):null,u?jsxRuntimeExports.jsx(ErrorAttr,{name:"Response body",value:u}):null]})})});return a?jsxRuntimeExports.jsx("div",{className:`ErrorMessage ${n||""}`,children:f}):f}Message.defaultProps={className:void 0,wrap:!1,wrapperClassName:void 0},Details.defaultProps={className:void 0,wrap:!1,wrapperClassName:void 0};const DigmaErrorMessage=e=>jsxRuntimeExports.jsxs("div",{className:"CustomErrorMessage",children:[e.icon,jsxRuntimeExports.jsxs("div",{className:"CustomErrorMessage--text",children:[jsxRuntimeExports.jsx("span",{className:"CustomErrorMessage--title",children:e.title}),jsxRuntimeExports.jsx("span",{className:"CustomErrorMessage--description",children:e.content})]}),jsxRuntimeExports.jsxs("a",{href:SLACK_CHANNEL_URL,target:"_blank",rel:"noopener noreferrer",className:"CustomErrorMessage--slackLink",children:[jsxRuntimeExports.jsx(SlackLogoIcon,{}),"Join our slack channel for support"]})]});function ErrorMessage({className:e,detailClassName:t,error:r,messageClassName:a}){if(!r)return null;if("string"==typeof r)return jsxRuntimeExports.jsx(Message,{className:a,error:r,wrapperClassName:e,wrap:!0});if(r.message.includes("trace not found"))return jsxRuntimeExports.jsx(DigmaErrorMessage,{icon:jsxRuntimeExports.jsx(CrossedCrosshairCircleIcon,{size:72,color:"#56b5bc"}),title:"We Cannot Find the Trace You're Looking For...",content:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["Our bad, the trace might be old or we may have simply missed it somehow.",jsxRuntimeExports.jsx("br",{}),"No need to worry! Please run some more actions and check again",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("br",{}),"If you're using your your own Jaeger instance, please check that Digma knows to send traces to it as well.",jsxRuntimeExports.jsx("br",{}),'Check the "Jaeger Query URL" parameter in the Digma plugin settings and make sure it matches your Jaeger address']})});if(r.message.includes("Failed to fetch")||502===r.httpStatus){const e=window.baseUrl??window.apiBaseUrl,t=!0===window.isUserDefinedJaegerQueryURL;return jsxRuntimeExports.jsx(DigmaErrorMessage,{icon:jsxRuntimeExports.jsx(BrokenLinkCircleIcon,{size:72,color:"#56b5bc"}),title:"Jaeger Not Available",content:t?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["The Jaeger link",isString$6(e)&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[" ",jsxRuntimeExports.jsx("a",{className:"CustomErrorMessage--link",href:e,target:"_blank",rel:"noopener noreferrer",children:e})]})," ","is not available.",jsxRuntimeExports.jsx("br",{}),"Please makes sure the link you specified in the",jsxRuntimeExports.jsx("br",{}),"Digma plugin settings is correct."]}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["Something is wrong and we are unable to communicate",jsxRuntimeExports.jsx("br",{}),"with the Digma Jaeger instance.",jsxRuntimeExports.jsx("br",{}),"Please make sure Digma is fully up and running",jsxRuntimeExports.jsx("br",{}),"and try updating to the latest version."]})})}return jsxRuntimeExports.jsxs("div",{className:`ErrorMessage ${e||""}`,children:[jsxRuntimeExports.jsx(Message,{error:r,className:a}),jsxRuntimeExports.jsx(Details,{error:r,className:t})]})}ErrorMessage.defaultProps={className:void 0,detailClassName:void 0,messageClassName:void 0};const origin$1=window.location.origin;function getPathPrefix(e,t){const r=null==e?"":e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),a=null==t?"":t,n=new RegExp(`^${r}|/$`,"ig");return a.replace(n,"")}const pathPrefix=getPathPrefix(origin$1,sitePrefix);function prefixUrl(e){const t=null==e?"":String(e);return`${pathPrefix}${t}`}function NotFound({error:e}){return jsxRuntimeExports.jsxs("section",{className:"ub-m3",children:[jsxRuntimeExports.jsx("h1",{children:"Error"}),e&&jsxRuntimeExports.jsx(ErrorMessage,{error:e}),jsxRuntimeExports.jsx(Link$1,{to:prefixUrl("/"),children:"Back home"})]})}const index$U="",index$T="";var classnamesExports$1={},classnames$1={get exports(){return classnamesExports$1},set exports(e){classnamesExports$1=e}}; /*! Copyright (c) 2017 Jed Watson. Licensed under the MIT License (MIT), see @@ -51,12 +51,12 @@ hooks$1.version="2.29.4",setHookCallback(createLocal),hooks$1.fn=proto$2,hooks$1 object-assign (c) Sindre Sorhus @license MIT - */function toObject$3(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function shouldUseNative(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var a=Object.getOwnPropertyNames(t).map((function(e){return t[e]}));if("0123456789"!==a.join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(i){return!1}}var objectAssign=shouldUseNative()?Object.assign:function(e,t){for(var r,a,n=toObject$3(e),i=1;i=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r},possibleConstructorReturn$1=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},encodeSpecialCharacters=function(e){return!1===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])?String(e):String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},getTitleFromPropsList=function(e){var t=getInnermostProperty(e,TAG_NAMES.TITLE),r=getInnermostProperty(e,HELMET_PROPS.TITLE_TEMPLATE);if(r&&t)return r.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var a=getInnermostProperty(e,HELMET_PROPS.DEFAULT_TITLE);return t||a||void 0},getOnChangeClientState=function(e){return getInnermostProperty(e,HELMET_PROPS.ON_CHANGE_CLIENT_STATE)||function(){}},getAttributesFromPropsList=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return _extends$26({},e,t)}),{})},getBaseTagFromPropsList=function(e,t){return t.filter((function(e){return void 0!==e[TAG_NAMES.BASE]})).map((function(e){return e[TAG_NAMES.BASE]})).reverse().reduce((function(t,r){if(!t.length)for(var a=Object.keys(r),n=0;n=0;r--){var a=e[r];if(a.hasOwnProperty(t))return a[t]}return null},reducePropsToState=function(e){return{baseTag:getBaseTagFromPropsList([TAG_PROPERTIES.HREF,TAG_PROPERTIES.TARGET],e),bodyAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY,e),defer:getInnermostProperty(e,HELMET_PROPS.DEFER),encode:getInnermostProperty(e,HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML,e),linkTags:getTagsFromPropsList(TAG_NAMES.LINK,[TAG_PROPERTIES.REL,TAG_PROPERTIES.HREF],e),metaTags:getTagsFromPropsList(TAG_NAMES.META,[TAG_PROPERTIES.NAME,TAG_PROPERTIES.CHARSET,TAG_PROPERTIES.HTTPEQUIV,TAG_PROPERTIES.PROPERTY,TAG_PROPERTIES.ITEM_PROP],e),noscriptTags:getTagsFromPropsList(TAG_NAMES.NOSCRIPT,[TAG_PROPERTIES.INNER_HTML],e),onChangeClientState:getOnChangeClientState(e),scriptTags:getTagsFromPropsList(TAG_NAMES.SCRIPT,[TAG_PROPERTIES.SRC,TAG_PROPERTIES.INNER_HTML],e),styleTags:getTagsFromPropsList(TAG_NAMES.STYLE,[TAG_PROPERTIES.CSS_TEXT],e),title:getTitleFromPropsList(e),titleAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE,e)}},rafPolyfill=function(){var e=Date.now();return function(t){var r=Date.now();r-e>16?(e=r,t(r)):setTimeout((function(){rafPolyfill(t)}),0)}}(),cafPolyfill=function(e){return clearTimeout(e)},requestAnimationFrame$2="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||rafPolyfill:global.requestAnimationFrame||rafPolyfill,cancelAnimationFrame$1="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||cafPolyfill:global.cancelAnimationFrame||cafPolyfill,warn$3=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},_helmetCallback=null,handleClientStateChange=function(e){_helmetCallback&&cancelAnimationFrame$1(_helmetCallback),e.defer?_helmetCallback=requestAnimationFrame$2((function(){commitTagChanges(e,(function(){_helmetCallback=null}))})):(commitTagChanges(e),_helmetCallback=null)},commitTagChanges=function(e,t){var r=e.baseTag,a=e.bodyAttributes,n=e.htmlAttributes,i=e.linkTags,o=e.metaTags,l=e.noscriptTags,s=e.onChangeClientState,c=e.scriptTags,u=e.styleTags,f=e.title,A=e.titleAttributes;updateAttributes(TAG_NAMES.BODY,a),updateAttributes(TAG_NAMES.HTML,n),updateTitle(f,A);var d={baseTag:updateTags(TAG_NAMES.BASE,r),linkTags:updateTags(TAG_NAMES.LINK,i),metaTags:updateTags(TAG_NAMES.META,o),noscriptTags:updateTags(TAG_NAMES.NOSCRIPT,l),scriptTags:updateTags(TAG_NAMES.SCRIPT,c),styleTags:updateTags(TAG_NAMES.STYLE,u)},p={},h={};Object.keys(d).forEach((function(e){var t=d[e],r=t.newTags,a=t.oldTags;r.length&&(p[e]=r),a.length&&(h[e]=d[e].oldTags)})),t&&t(),s(e,p,h)},flattenArray$1=function(e){return Array.isArray(e)?e.join(""):e},updateTitle=function(e,t){void 0!==e&&document.title!==e&&(document.title=flattenArray$1(e)),updateAttributes(TAG_NAMES.TITLE,t)},updateAttributes=function(e,t){var r=document.getElementsByTagName(e)[0];if(r){for(var a=r.getAttribute(HELMET_ATTRIBUTE),n=a?a.split(","):[],i=[].concat(n),o=Object.keys(t),l=0;l=0;f--)r.removeAttribute(i[f]);n.length===i.length?r.removeAttribute(HELMET_ATTRIBUTE):r.getAttribute(HELMET_ATTRIBUTE)!==o.join(",")&&r.setAttribute(HELMET_ATTRIBUTE,o.join(","))}},updateTags=function(e,t){var r=document.head||document.querySelector(TAG_NAMES.HEAD),a=r.querySelectorAll(e+"["+HELMET_ATTRIBUTE+"]"),n=Array.prototype.slice.call(a),i=[],o=void 0;return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)if(t.hasOwnProperty(a))if(a===TAG_PROPERTIES.INNER_HTML)r.innerHTML=t.innerHTML;else if(a===TAG_PROPERTIES.CSS_TEXT)r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText));else{var l=void 0===t[a]?"":t[a];r.setAttribute(a,l)}r.setAttribute(HELMET_ATTRIBUTE,"true"),n.some((function(e,t){return o=t,r.isEqualNode(e)}))?n.splice(o,1):i.push(r)})),n.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:n,newTags:i}},generateElementAttributesAsString=function(e){return Object.keys(e).reduce((function(t,r){var a=void 0!==e[r]?r+'="'+e[r]+'"':""+r;return t?t+" "+a:a}),"")},generateTitleAsString=function(e,t,r,a){var n=generateElementAttributesAsString(r),i=flattenArray$1(t);return n?"<"+e+" "+HELMET_ATTRIBUTE+'="true" '+n+">"+encodeSpecialCharacters(i,a)+"":"<"+e+" "+HELMET_ATTRIBUTE+'="true">'+encodeSpecialCharacters(i,a)+""},generateTagsAsString=function(e,t,r){return t.reduce((function(t,a){var n=Object.keys(a).filter((function(e){return!(e===TAG_PROPERTIES.INNER_HTML||e===TAG_PROPERTIES.CSS_TEXT)})).reduce((function(e,t){var n=void 0===a[t]?t:t+'="'+encodeSpecialCharacters(a[t],r)+'"';return e?e+" "+n:n}),""),i=a.innerHTML||a.cssText||"",o=-1===SELF_CLOSING_TAGS.indexOf(e);return t+"<"+e+" "+HELMET_ATTRIBUTE+'="true" '+n+(o?"/>":">"+i+"")}),"")},convertElementAttributestoReactProps=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,r){return t[REACT_TAG_MAP[r]||r]=e[r],t}),t)},convertReactPropstoHtmlAttributes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,r){return t[HTML_TAG_MAP[r]||r]=e[r],t}),t)},generateTitleAsReactComponent=function(e,t,r){var a,n=((a={key:t})[HELMET_ATTRIBUTE]=!0,a),i=convertElementAttributestoReactProps(r,n);return[React$k.createElement(TAG_NAMES.TITLE,i,t)]},generateTagsAsReactComponent=function(e,t){return t.map((function(t,r){var a,n=((a={key:r})[HELMET_ATTRIBUTE]=!0,a);return Object.keys(t).forEach((function(e){var r=REACT_TAG_MAP[e]||e;if(r===TAG_PROPERTIES.INNER_HTML||r===TAG_PROPERTIES.CSS_TEXT){var a=t.innerHTML||t.cssText;n.dangerouslySetInnerHTML={__html:a}}else n[r]=t[e]})),React$k.createElement(e,n)}))},getMethodsForTag=function(e,t,r){switch(e){case TAG_NAMES.TITLE:return{toComponent:function(){return generateTitleAsReactComponent(e,t.title,t.titleAttributes)},toString:function(){return generateTitleAsString(e,t.title,t.titleAttributes,r)}};case ATTRIBUTE_NAMES.BODY:case ATTRIBUTE_NAMES.HTML:return{toComponent:function(){return convertElementAttributestoReactProps(t)},toString:function(){return generateElementAttributesAsString(t)}};default:return{toComponent:function(){return generateTagsAsReactComponent(e,t)},toString:function(){return generateTagsAsString(e,t,r)}}}},mapStateOnServer=function(e){var t=e.baseTag,r=e.bodyAttributes,a=e.encode,n=e.htmlAttributes,i=e.linkTags,o=e.metaTags,l=e.noscriptTags,s=e.scriptTags,c=e.styleTags,u=e.title,f=void 0===u?"":u,A=e.titleAttributes;return{base:getMethodsForTag(TAG_NAMES.BASE,t,a),bodyAttributes:getMethodsForTag(ATTRIBUTE_NAMES.BODY,r,a),htmlAttributes:getMethodsForTag(ATTRIBUTE_NAMES.HTML,n,a),link:getMethodsForTag(TAG_NAMES.LINK,i,a),meta:getMethodsForTag(TAG_NAMES.META,o,a),noscript:getMethodsForTag(TAG_NAMES.NOSCRIPT,l,a),script:getMethodsForTag(TAG_NAMES.SCRIPT,s,a),style:getMethodsForTag(TAG_NAMES.STYLE,c,a),title:getMethodsForTag(TAG_NAMES.TITLE,{title:f,titleAttributes:A},a)}},Helmet=function(e){var t,r;return r=t=function(t){function r(){return classCallCheck$1(this,r),possibleConstructorReturn$1(this,t.apply(this,arguments))}return inherits$1(r,t),r.prototype.shouldComponentUpdate=function(e){return!reactFastCompare(this.props,e)},r.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case TAG_NAMES.SCRIPT:case TAG_NAMES.NOSCRIPT:return{innerHTML:t};case TAG_NAMES.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},r.prototype.flattenArrayTypeChildren=function(e){var t,r=e.child,a=e.arrayTypeChildren,n=e.newChildProps,i=e.nestedChildren;return _extends$26({},a,((t={})[r.type]=[].concat(a[r.type]||[],[_extends$26({},n,this.mapNestedChildrenToProps(r,i))]),t))},r.prototype.mapObjectTypeChildren=function(e){var t,r,a=e.child,n=e.newProps,i=e.newChildProps,o=e.nestedChildren;switch(a.type){case TAG_NAMES.TITLE:return _extends$26({},n,((t={})[a.type]=o,t.titleAttributes=_extends$26({},i),t));case TAG_NAMES.BODY:return _extends$26({},n,{bodyAttributes:_extends$26({},i)});case TAG_NAMES.HTML:return _extends$26({},n,{htmlAttributes:_extends$26({},i)})}return _extends$26({},n,((r={})[a.type]=_extends$26({},i),r))},r.prototype.mapArrayTypeChildrenToProps=function(e,t){var r=_extends$26({},t);return Object.keys(e).forEach((function(t){var a;r=_extends$26({},r,((a={})[t]=e[t],a))})),r},r.prototype.warnOnInvalidChildren=function(e,t){return!0},r.prototype.mapChildrenToProps=function(e,t){var r=this,a={};return React$k.Children.forEach(e,(function(e){if(e&&e.props){var n=e.props,i=n.children,o=objectWithoutProperties$1(n,["children"]),l=convertReactPropstoHtmlAttributes(o);switch(r.warnOnInvalidChildren(e,i),e.type){case TAG_NAMES.LINK:case TAG_NAMES.META:case TAG_NAMES.NOSCRIPT:case TAG_NAMES.SCRIPT:case TAG_NAMES.STYLE:a=r.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:i});break;default:t=r.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:i})}}})),t=this.mapArrayTypeChildrenToProps(a,t)},r.prototype.render=function(){var t=this.props,r=t.children,a=objectWithoutProperties$1(t,["children"]),n=_extends$26({},a);return r&&(n=this.mapChildrenToProps(r,n)),React$k.createElement(e,n)},createClass$1(r,null,[{key:"canUseDOM",set:function(t){e.canUseDOM=t}}]),r}(React$k.Component),t.propTypes={base:propTypesExports.object,bodyAttributes:propTypesExports.object,children:propTypesExports.oneOfType([propTypesExports.arrayOf(propTypesExports.node),propTypesExports.node]),defaultTitle:propTypesExports.string,defer:propTypesExports.bool,encodeSpecialCharacters:propTypesExports.bool,htmlAttributes:propTypesExports.object,link:propTypesExports.arrayOf(propTypesExports.object),meta:propTypesExports.arrayOf(propTypesExports.object),noscript:propTypesExports.arrayOf(propTypesExports.object),onChangeClientState:propTypesExports.func,script:propTypesExports.arrayOf(propTypesExports.object),style:propTypesExports.arrayOf(propTypesExports.object),title:propTypesExports.string,titleAttributes:propTypesExports.object,titleTemplate:propTypesExports.string},t.defaultProps={defer:!0,encodeSpecialCharacters:!0},t.peek=e.peek,t.rewind=function(){var t=e.rewind();return t||(t=mapStateOnServer({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),t},r},NullComponent=function(){return null},HelmetSideEffects=lib$7(reducePropsToState,handleClientStateChange,mapStateOnServer)(NullComponent),HelmetExport=Helmet(HelmetSideEffects);HelmetExport.renderStatic=HelmetExport.rewind;const index$S="",index$R="",index$Q="",index$P="",index$O="";function contains$1(e,t){for(var r=t;r;){if(r===e)return!0;r=r.parentNode}return!1}var libExports$2={},lib$6={get exports(){return libExports$2},set exports(e){libExports$2=e}},EventObjectExports={},EventObject={get exports(){return EventObjectExports},set exports(e){EventObjectExports=e}},EventBaseObjectExports={},EventBaseObject={get exports(){return EventBaseObjectExports},set exports(e){EventBaseObjectExports=e}};!function(e,t){function r(){return!1}function a(){return!0}function n(){this.timeStamp=Date.now(),this.target=void 0,this.currentTarget=void 0}Object.defineProperty(t,"__esModule",{value:!0}),n.prototype={isEventObject:1,constructor:n,isDefaultPrevented:r,isPropagationStopped:r,isImmediatePropagationStopped:r,preventDefault:function(){this.isDefaultPrevented=a},stopPropagation:function(){this.isPropagationStopped=a},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=a,this.stopPropagation()},halt:function(e){e?this.stopImmediatePropagation():this.stopPropagation(),this.preventDefault()}},t.default=n,e.exports=t.default}(EventBaseObject,EventBaseObjectExports),function(e,t){function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(EventBaseObjectExports),n=r(objectAssign),i=!0,o=!1,l=["altKey","bubbles","cancelable","ctrlKey","currentTarget","eventPhase","metaKey","shiftKey","target","timeStamp","view","type"];function s(e){return null==e}var c=[{reg:/^key/,props:["char","charCode","key","keyCode","which"],fix:function(e,t){s(e.which)&&(e.which=s(t.charCode)?t.keyCode:t.charCode),void 0===e.metaKey&&(e.metaKey=e.ctrlKey)}},{reg:/^touch/,props:["touches","changedTouches","targetTouches"]},{reg:/^hashchange$/,props:["newURL","oldURL"]},{reg:/^gesturechange$/i,props:["rotation","scale"]},{reg:/^(mousewheel|DOMMouseScroll)$/,props:[],fix:function(e,t){var r=void 0,a=void 0,n=void 0,i=t.wheelDelta,o=t.axis,l=t.wheelDeltaY,s=t.wheelDeltaX,c=t.detail;i&&(n=i/120),c&&(n=0-(c%3==0?c/3:c)),void 0!==o&&(o===e.HORIZONTAL_AXIS?(a=0,r=0-n):o===e.VERTICAL_AXIS&&(r=0,a=n)),void 0!==l&&(a=l/120),void 0!==s&&(r=-1*s/120),r||a||(a=n),void 0!==r&&(e.deltaX=r),void 0!==a&&(e.deltaY=a),void 0!==n&&(e.delta=n)}},{reg:/^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,props:["buttons","clientX","clientY","button","offsetX","relatedTarget","which","fromElement","toElement","offsetY","pageX","pageY","screenX","screenY"],fix:function(e,t){var r=void 0,a=void 0,n=void 0,i=e.target,o=t.button;return i&&s(e.pageX)&&!s(t.clientX)&&(a=(r=i.ownerDocument||document).documentElement,n=r.body,e.pageX=t.clientX+(a&&a.scrollLeft||n&&n.scrollLeft||0)-(a&&a.clientLeft||n&&n.clientLeft||0),e.pageY=t.clientY+(a&&a.scrollTop||n&&n.scrollTop||0)-(a&&a.clientTop||n&&n.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),!e.relatedTarget&&e.fromElement&&(e.relatedTarget=e.fromElement===i?e.toElement:e.fromElement),e}}];function u(){return i}function f(){return o}function A(e){var t=e.type,r="function"==typeof e.stopPropagation||"boolean"==typeof e.cancelBubble;a.default.call(this),this.nativeEvent=e;var n=f;"defaultPrevented"in e?n=e.defaultPrevented?u:f:"getPreventDefault"in e?n=e.getPreventDefault()?u:f:"returnValue"in e&&(n=e.returnValue===o?u:f),this.isDefaultPrevented=n;var i=[],s=void 0,A=void 0,d=l.concat();for(c.forEach((function(e){t.match(e.reg)&&(d=d.concat(e.props),e.fix&&i.push(e.fix))})),s=d.length;s;)this[A=d[--s]]=e[A];for(!this.target&&r&&(this.target=e.srcElement||document),this.target&&3===this.target.nodeType&&(this.target=this.target.parentNode),s=i.length;s;)(0,i[--s])(this,e);this.timeStamp=e.timeStamp||Date.now()}var d=a.default.prototype;(0,n.default)(A.prototype,d,{constructor:A,preventDefault:function(){var e=this.nativeEvent;e.preventDefault?e.preventDefault():e.returnValue=o,d.preventDefault.call(this)},stopPropagation:function(){var e=this.nativeEvent;e.stopPropagation?e.stopPropagation():e.cancelBubble=i,d.stopPropagation.call(this)}}),t.default=A,e.exports=t.default}(EventObject,EventObjectExports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){function i(t){var n=new a.default(t);r.call(e,n)}if(e.addEventListener){var o=(l=!1,"object"==typeof n?l=n.capture||!1:"boolean"==typeof n&&(l=n),e.addEventListener(t,i,n||!1),{v:{remove:function(){e.removeEventListener(t,i,l)}}});if("object"==typeof o)return o.v}else if(e.attachEvent)return e.attachEvent("on"+t,i),{remove:function(){e.detachEvent("on"+t,i)}};var l};var r,a=(r=EventObjectExports)&&r.__esModule?r:{default:r};e.exports=t.default}(lib$6,libExports$2);const addDOMEventListener=getDefaultExportFromCjs(libExports$2);function addEventListenerWrap$1(e,t,r,a){var n=ReactDOM.unstable_batchedUpdates?function(e){ReactDOM.unstable_batchedUpdates(r,e)}:r;return addDOMEventListener(e,t,n,a)}function _typeof$1g(e){return _typeof$1g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1g(e)}function _classCallCheck$20(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1b(e,t){for(var r=0;r=0&&t.left>=0&&t.bottom>t.top&&t.right>t.left?t:null}function adjustForViewport(e,t,r,a){var n=utils$7.clone(e),i={width:t.width,height:t.height};return a.adjustX&&n.left=r.left&&n.left+i.width>r.right&&(i.width-=n.left+i.width-r.right),a.adjustX&&n.left+i.width>r.right&&(n.left=Math.max(r.right-i.width,r.left)),a.adjustY&&n.top=r.top&&n.top+i.height>r.bottom&&(i.height-=n.top+i.height-r.bottom),a.adjustY&&n.top+i.height>r.bottom&&(n.top=Math.max(r.bottom-i.height,r.top)),utils$7.mix(n,i)}function getRegion(e){var t=void 0,r=void 0,a=void 0;if(utils$7.isWindow(e)||9===e.nodeType){var n=utils$7.getWindow(e);t={left:utils$7.getWindowScrollLeft(n),top:utils$7.getWindowScrollTop(n)},r=utils$7.viewportWidth(n),a=utils$7.viewportHeight(n)}else t=utils$7.offset(e),r=utils$7.outerWidth(e),a=utils$7.outerHeight(e);return t.width=r,t.height=a,t}function getAlignOffset(e,t){var r=t.charAt(0),a=t.charAt(1),n=e.width,i=e.height,o=e.left,l=e.top;return"c"===r?l+=i/2:"b"===r&&(l+=i),"c"===a?o+=n/2:"r"===a&&(o+=n),{left:o,top:l}}function getElFuturePos(e,t,r,a,n){var i=getAlignOffset(t,r[1]),o=getAlignOffset(e,r[0]),l=[o.left-i.left,o.top-i.top];return{left:e.left-l[0]+a[0]-n[0],top:e.top-l[1]+a[1]-n[1]}}function isFailX(e,t,r){return e.leftr.right}function isFailY(e,t,r){return e.topr.bottom}function isCompleteFailX(e,t,r){return e.left>r.right||e.left+t.widthr.bottom||e.top+t.height=t.right||r.top>=t.bottom}function alignElement(e,t,r){var a=r.target||t;return doAlign(e,getRegion(a),r,!isOutOfVisibleRect(a))}mix(utils$7,domUtils$1),alignElement.__getOffsetParent=getOffsetParent,alignElement.__getVisibleRectForElement=getVisibleRectForElement;var _extends$25=Object.assign||function(e){for(var t=1;t=0&&a<=l+c&&n>=0&&n<=s+u,d=[r.points[0],"cc"];return doAlign(e,f,_extends$25({},r,{points:d}),A)}function buffer(e,t){var r=void 0;function a(){r&&(clearTimeout(r),r=null)}function n(){a(),r=setTimeout(e,t)}return n.clear=a,n}function isSamePoint(e,t){return e===t||!(!e||!t)&&("pageX"in t&&"pageY"in t?e.pageX===t.pageX&&e.pageY===t.pageY:"clientX"in t&&"clientY"in t&&(e.clientX===t.clientX&&e.clientY===t.clientY))}function isWindow$1(e){return e&&"object"==typeof e&&e.window===e}function isSimilarValue(e,t){var r=Math.floor(e),a=Math.floor(t);return Math.abs(r-a)<=1}function restoreFocus(e,t){e!==document.activeElement&&contains$1(t,e)&&e.focus()}function getElement(e){return"function"==typeof e&&e?e():null}function getPoint(e){return"object"==typeof e&&e?e:null}var Align=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o children");a=e}})),a}function isSameChildren(e,t,r){var a=e.length===t.length;return a&&e.forEach((function(e,n){var i=t[n];e&&i&&(e&&!i||!e&&i||e.key!==i.key||r&&e.props[r]!==i.props[r])&&(a=!1)})),a}function mergeChildren(e,t){var r=[],a={},n=[];return e.forEach((function(e){e&&findChildInChildrenByKey(t,e.key)?n.length&&(a[e.key]=n,n=[]):n.push(e)})),t.forEach((function(e){e&&Object.prototype.hasOwnProperty.call(a,e.key)&&(r=r.concat(a[e.key])),r.push(e)})),r=r.concat(n)}var START_EVENT_NAME_MAP={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},END_EVENT_NAME_MAP={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},startEvents=[],endEvents=[];function detectEvents(){var e=document.createElement("div").style;function t(t,r){for(var a in t)if(t.hasOwnProperty(a)){var n=t[a];for(var i in n)if(i in e){r.push(n[i]);break}}}"AnimationEvent"in window||(delete START_EVENT_NAME_MAP.animationstart.animation,delete END_EVENT_NAME_MAP.animationend.animation),"TransitionEvent"in window||(delete START_EVENT_NAME_MAP.transitionstart.transition,delete END_EVENT_NAME_MAP.transitionend.transition),t(START_EVENT_NAME_MAP,startEvents),t(END_EVENT_NAME_MAP,endEvents)}function addEventListener$1(e,t,r){e.addEventListener(t,r,!1)}function removeEventListener(e,t,r){e.removeEventListener(t,r,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&detectEvents();var TransitionEvents={startEvents:startEvents,addStartEventListener:function(e,t){0!==startEvents.length?startEvents.forEach((function(r){addEventListener$1(e,r,t)})):window.setTimeout(t,0)},removeStartEventListener:function(e,t){0!==startEvents.length&&startEvents.forEach((function(r){removeEventListener(e,r,t)}))},endEvents:endEvents,addEndEventListener:function(e,t){0!==endEvents.length?endEvents.forEach((function(r){addEventListener$1(e,r,t)})):window.setTimeout(t,0)},removeEndEventListener:function(e,t){0!==endEvents.length&&endEvents.forEach((function(r){removeEventListener(e,r,t)}))}},componentIndexof,hasRequiredComponentIndexof;function requireComponentIndexof(){return hasRequiredComponentIndexof||(hasRequiredComponentIndexof=1,componentIndexof=function(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0;r children");return React$k.createElement(AnimateChild,{key:r.key,ref:function(t){e.childrenRefs[r.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},r)})));var n=t.component;if(n){var i=t;return"string"==typeof n&&(i=_default$bE({className:t.className,style:t.style},t.componentProps)),React$k.createElement(n,i,a)}return a[0]||null}}]),t}(React$k.Component);Animate.isAnimate=!0,Animate.propTypes={className:propTypesExports.string,style:propTypesExports.object,component:propTypesExports.any,componentProps:propTypesExports.object,animation:propTypesExports.object,transitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),transitionEnter:propTypesExports.bool,transitionAppear:propTypesExports.bool,exclusive:propTypesExports.bool,transitionLeave:propTypesExports.bool,onEnd:propTypesExports.func,onEnter:propTypesExports.func,onLeave:propTypesExports.func,onAppear:propTypesExports.func,showProp:propTypesExports.string,children:propTypesExports.node},Animate.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:noop$g,onEnter:noop$g,onLeave:noop$g,onAppear:noop$g};var _initialiseProps$8=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,r){var a=e.props;if(delete e.currentlyAnimatingKeys[t],!a.exclusive||a===e.nextProps){var n=toArrayChildren(getChildrenFromProps(a));e.isValidChildByKey(n,t)?"appear"===r?util$d.allowAppearCallback(a)&&(a.onAppear(t),a.onEnd(t,!0)):util$d.allowEnterCallback(a)&&(a.onEnter(t),a.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var r=e.props;if(delete e.currentlyAnimatingKeys[t],!r.exclusive||r===e.nextProps){var a=toArrayChildren(getChildrenFromProps(r));if(e.isValidChildByKey(a,t))e.performEnter(t);else{var n=function(){util$d.allowLeaveCallback(r)&&(r.onLeave(t),r.onEnd(t,!1))};isSameChildren(e.state.children,a,r.showProp)?n():e.setState({children:a},n)}}}};const Animate$1=unsafeLifecyclesPolyfill(Animate),Animate$2=Object.freeze(Object.defineProperty({__proto__:null,default:Animate$1},Symbol.toStringTag,{value:"Module"}));var LazyRenderBox$1=function(e){function t(){return _default$c(this,t),_default$9(this,e.apply(this,arguments))}return _default$8(t,e),t.prototype.shouldComponentUpdate=function(e){return e.hiddenClassName||e.visible},t.prototype.render=function(){var e=this.props,t=e.hiddenClassName,r=e.visible,a=_default$d(e,["hiddenClassName","visible"]);return t||React$k.Children.count(a.children)>1?(!r&&t&&(a.className+=" "+t),React$k.createElement("div",a)):React$k.Children.only(a.children)},t}(reactExports.Component);LazyRenderBox$1.propTypes={children:propTypesExports.any,className:propTypesExports.string,visible:propTypesExports.bool,hiddenClassName:propTypesExports.string};var PopupInner=function(e){function t(){return _default$c(this,t),_default$9(this,e.apply(this,arguments))}return _default$8(t,e),t.prototype.render=function(){var e=this.props,t=e.className;return e.visible||(t+=" "+e.hiddenClassName),React$k.createElement("div",{className:t,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onMouseDown:e.onMouseDown,onTouchStart:e.onTouchStart,style:e.style},React$k.createElement(LazyRenderBox$1,{className:e.prefixCls+"-content",visible:e.visible},e.children))},t}(reactExports.Component);PopupInner.propTypes={hiddenClassName:propTypesExports.string,className:propTypesExports.string,prefixCls:propTypesExports.string,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseDown:propTypesExports.func,onTouchStart:propTypesExports.func,children:propTypesExports.any};var Popup=function(e){function t(r){_default$c(this,t);var a=_default$9(this,e.call(this,r));return _initialiseProps$7.call(a),a.state={stretchChecked:!1,targetWidth:void 0,targetHeight:void 0},a.savePopupRef=saveRef$2.bind(a,"popupInstance"),a.saveAlignRef=saveRef$2.bind(a,"alignInstance"),a}return _default$8(t,e),t.prototype.componentDidMount=function(){this.rootNode=this.getPopupDomNode(),this.setStretchSize()},t.prototype.componentDidUpdate=function(){this.setStretchSize()},t.prototype.getPopupDomNode=function(){return ReactDOM.findDOMNode(this.popupInstance)},t.prototype.getMaskTransitionName=function(){var e=this.props,t=e.maskTransitionName,r=e.maskAnimation;return!t&&r&&(t=e.prefixCls+"-"+r),t},t.prototype.getTransitionName=function(){var e=this.props,t=e.transitionName;return!t&&e.animation&&(t=e.prefixCls+"-"+e.animation),t},t.prototype.getClassName=function(e){return this.props.prefixCls+" "+this.props.className+" "+e},t.prototype.getPopupElement=function(){var e=this,t=this.savePopupRef,r=this.state,a=r.stretchChecked,n=r.targetHeight,i=r.targetWidth,o=this.props,l=o.align,s=o.visible,c=o.prefixCls,u=o.style,f=o.getClassNameFromAlign,A=o.destroyPopupOnHide,d=o.stretch,p=o.children,h=o.onMouseEnter,b=o.onMouseLeave,g=o.onMouseDown,m=o.onTouchStart,v=this.getClassName(this.currentAlignClassName||f(l)),y=c+"-hidden";s||(this.currentAlignClassName=null);var w={};d&&(-1!==d.indexOf("height")?w.height=n:-1!==d.indexOf("minHeight")&&(w.minHeight=n),-1!==d.indexOf("width")?w.width=i:-1!==d.indexOf("minWidth")&&(w.minWidth=i),a||(w.visibility="hidden",setTimeout((function(){e.alignInstance&&e.alignInstance.forceAlign()}),0)));var k={className:v,prefixCls:c,ref:t,onMouseEnter:h,onMouseLeave:b,onMouseDown:g,onTouchStart:m,style:_default$bE({},w,u,this.getZIndexStyle())};return A?React$k.createElement(Animate$1,{component:"",exclusive:!0,transitionAppear:!0,transitionName:this.getTransitionName()},s?React$k.createElement(Align,{target:this.getAlignTarget(),key:"popup",ref:this.saveAlignRef,monitorWindowResize:!0,align:l,onAlign:this.onAlign},React$k.createElement(PopupInner,_default$bE({visible:!0},k),p)):null):React$k.createElement(Animate$1,{component:"",exclusive:!0,transitionAppear:!0,transitionName:this.getTransitionName(),showProp:"xVisible"},React$k.createElement(Align,{target:this.getAlignTarget(),key:"popup",ref:this.saveAlignRef,monitorWindowResize:!0,xVisible:s,childrenProps:{visible:"xVisible"},disabled:!s,align:l,onAlign:this.onAlign},React$k.createElement(PopupInner,_default$bE({hiddenClassName:y},k),p)))},t.prototype.getZIndexStyle=function(){var e={},t=this.props;return void 0!==t.zIndex&&(e.zIndex=t.zIndex),e},t.prototype.getMaskElement=function(){var e=this.props,t=void 0;if(e.mask){var r=this.getMaskTransitionName();t=React$k.createElement(LazyRenderBox$1,{style:this.getZIndexStyle(),key:"mask",className:e.prefixCls+"-mask",hiddenClassName:e.prefixCls+"-mask-hidden",visible:e.visible}),r&&(t=React$k.createElement(Animate$1,{key:"mask",showProp:"visible",transitionAppear:!0,component:"",transitionName:r},t))}return t},t.prototype.render=function(){return React$k.createElement("div",null,this.getMaskElement(),this.getPopupElement())},t}(reactExports.Component);Popup.propTypes={visible:propTypesExports.bool,style:propTypesExports.object,getClassNameFromAlign:propTypesExports.func,onAlign:propTypesExports.func,getRootDomNode:propTypesExports.func,align:propTypesExports.any,destroyPopupOnHide:propTypesExports.bool,className:propTypesExports.string,prefixCls:propTypesExports.string,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseDown:propTypesExports.func,onTouchStart:propTypesExports.func,stretch:propTypesExports.string,children:propTypesExports.node,point:propTypesExports.shape({pageX:propTypesExports.number,pageY:propTypesExports.number})};var _initialiseProps$7=function(){var e=this;this.onAlign=function(t,r){var a=e.props,n=a.getClassNameFromAlign(r);e.currentAlignClassName!==n&&(e.currentAlignClassName=n,t.className=e.getClassName(n)),a.onAlign(t,r)},this.setStretchSize=function(){var t=e.props,r=t.stretch,a=t.getRootDomNode,n=t.visible,i=e.state,o=i.stretchChecked,l=i.targetHeight,s=i.targetWidth;if(r&&n){var c=a();if(c){var u=c.offsetHeight,f=c.offsetWidth;l===u&&s===f&&o||e.setState({stretchChecked:!0,targetHeight:u,targetWidth:f})}}else o&&e.setState({stretchChecked:!1})},this.getTargetElement=function(){return e.props.getRootDomNode()},this.getAlignTarget=function(){var t=e.props.point;return t||e.getTargetElement}};function noop$f(){}function returnEmptyString(){return""}function returnDocument(){return window.document}var ALL_HANDLERS=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"],IS_REACT_16$2=!!reactDomExports.createPortal,contextTypes={rcTrigger:propTypesExports.shape({onPopupMouseDown:propTypesExports.func})},Trigger=function(e){function t(r){_default$c(this,t);var a=_default$9(this,e.call(this,r));_initialiseProps$6.call(a);var n=void 0;return n="popupVisible"in r?!!r.popupVisible:!!r.defaultPopupVisible,a.state={prevPopupVisible:n,popupVisible:n},ALL_HANDLERS.forEach((function(e){a["fire"+e]=function(t){a.fireEvents(e,t)}})),a}return _default$8(t,e),t.prototype.getChildContext=function(){return{rcTrigger:{onPopupMouseDown:this.onPopupMouseDown}}},t.prototype.componentDidMount=function(){this.componentDidUpdate({},{popupVisible:this.state.popupVisible})},t.prototype.componentDidUpdate=function(e,t){var r=this.props,a=this.state;if(IS_REACT_16$2||this.renderComponent(null,(function(){t.popupVisible!==a.popupVisible&&r.afterPopupVisibleChange(a.popupVisible)})),a.popupVisible){var n=void 0;return this.clickOutsideHandler||!this.isClickToHide()&&!this.isContextMenuToShow()||(n=r.getDocument(),this.clickOutsideHandler=addEventListenerWrap$1(n,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(n=n||r.getDocument(),this.touchOutsideHandler=addEventListenerWrap$1(n,"touchstart",this.onDocumentClick)),!this.contextMenuOutsideHandler1&&this.isContextMenuToShow()&&(n=n||r.getDocument(),this.contextMenuOutsideHandler1=addEventListenerWrap$1(n,"scroll",this.onContextMenuClose)),void(!this.contextMenuOutsideHandler2&&this.isContextMenuToShow()&&(this.contextMenuOutsideHandler2=addEventListenerWrap$1(window,"blur",this.onContextMenuClose)))}this.clearOutsideHandler()},t.prototype.componentWillUnmount=function(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout)},t.getDerivedStateFromProps=function(e,t){var r=e.popupVisible,a={};return void 0!==r&&t.popupVisible!==r&&(a.popupVisible=r,a.prevPopupVisible=t.popupVisible),a},t.prototype.getPopupDomNode=function(){return this._component&&this._component.getPopupDomNode?this._component.getPopupDomNode():null},t.prototype.getPopupAlign=function(){var e=this.props,t=e.popupPlacement,r=e.popupAlign,a=e.builtinPlacements;return t&&a?getAlignFromPlacement(a,t,r):r},t.prototype.setPopupVisible=function(e,t){var r=this.props.alignPoint,a=this.state.popupVisible;this.clearDelayTimer(),a!==e&&("popupVisible"in this.props||this.setState({popupVisible:e,prevPopupVisible:a}),this.props.onPopupVisibleChange(e)),r&&t&&this.setPoint(t)},t.prototype.delaySetPopupVisible=function(e,t,r){var a=this,n=1e3*t;if(this.clearDelayTimer(),n){var i=r?{pageX:r.pageX,pageY:r.pageY}:null;this.delayTimer=setTimeout((function(){a.setPopupVisible(e,i),a.clearDelayTimer()}),n)}else this.setPopupVisible(e,r)},t.prototype.clearDelayTimer=function(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)},t.prototype.clearOutsideHandler=function(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextMenuOutsideHandler1&&(this.contextMenuOutsideHandler1.remove(),this.contextMenuOutsideHandler1=null),this.contextMenuOutsideHandler2&&(this.contextMenuOutsideHandler2.remove(),this.contextMenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)},t.prototype.createTwoChains=function(e){var t=this.props.children.props,r=this.props;return t[e]&&r[e]?this["fire"+e]:t[e]||r[e]},t.prototype.isClickToShow=function(){var e=this.props,t=e.action,r=e.showAction;return-1!==t.indexOf("click")||-1!==r.indexOf("click")},t.prototype.isContextMenuToShow=function(){var e=this.props,t=e.action,r=e.showAction;return-1!==t.indexOf("contextMenu")||-1!==r.indexOf("contextMenu")},t.prototype.isClickToHide=function(){var e=this.props,t=e.action,r=e.hideAction;return-1!==t.indexOf("click")||-1!==r.indexOf("click")},t.prototype.isMouseEnterToShow=function(){var e=this.props,t=e.action,r=e.showAction;return-1!==t.indexOf("hover")||-1!==r.indexOf("mouseEnter")},t.prototype.isMouseLeaveToHide=function(){var e=this.props,t=e.action,r=e.hideAction;return-1!==t.indexOf("hover")||-1!==r.indexOf("mouseLeave")},t.prototype.isFocusToShow=function(){var e=this.props,t=e.action,r=e.showAction;return-1!==t.indexOf("focus")||-1!==r.indexOf("focus")},t.prototype.isBlurToHide=function(){var e=this.props,t=e.action,r=e.hideAction;return-1!==t.indexOf("focus")||-1!==r.indexOf("blur")},t.prototype.forcePopupAlign=function(){this.state.popupVisible&&this._component&&this._component.alignInstance&&this._component.alignInstance.forceAlign()},t.prototype.fireEvents=function(e,t){var r=this.props.children.props[e];r&&r(t);var a=this.props[e];a&&a(t)},t.prototype.close=function(){this.setPopupVisible(!1)},t.prototype.render=function(){var e=this,t=this.state.popupVisible,r=this.props,a=r.children,n=r.forceRender,i=r.alignPoint,o=r.className,l=React$k.Children.only(a),s={key:"trigger"};this.isContextMenuToShow()?s.onContextMenu=this.onContextMenu:s.onContextMenu=this.createTwoChains("onContextMenu"),this.isClickToHide()||this.isClickToShow()?(s.onClick=this.onClick,s.onMouseDown=this.onMouseDown,s.onTouchStart=this.onTouchStart):(s.onClick=this.createTwoChains("onClick"),s.onMouseDown=this.createTwoChains("onMouseDown"),s.onTouchStart=this.createTwoChains("onTouchStart")),this.isMouseEnterToShow()?(s.onMouseEnter=this.onMouseEnter,i&&(s.onMouseMove=this.onMouseMove)):s.onMouseEnter=this.createTwoChains("onMouseEnter"),this.isMouseLeaveToHide()?s.onMouseLeave=this.onMouseLeave:s.onMouseLeave=this.createTwoChains("onMouseLeave"),this.isFocusToShow()||this.isBlurToHide()?(s.onFocus=this.onFocus,s.onBlur=this.onBlur):(s.onFocus=this.createTwoChains("onFocus"),s.onBlur=this.createTwoChains("onBlur"));var c=classnamesExports(l&&l.props&&l.props.className,o);c&&(s.className=c);var u=React$k.cloneElement(l,s);if(!IS_REACT_16$2)return React$k.createElement(ContainerRender,{parent:this,visible:t,autoMount:!1,forceRender:n,getComponent:this.getComponent,getContainer:this.getContainer},(function(t){var r=t.renderComponent;return e.renderComponent=r,u}));var f=void 0;return(t||this._component||n)&&(f=React$k.createElement(Portal$1,{key:"portal",getContainer:this.getContainer,didUpdate:this.handlePortalUpdate},this.getComponent())),[u,f]},t}(React$k.Component);Trigger.propTypes={children:propTypesExports.any,action:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.arrayOf(propTypesExports.string)]),showAction:propTypesExports.any,hideAction:propTypesExports.any,getPopupClassNameFromAlign:propTypesExports.any,onPopupVisibleChange:propTypesExports.func,afterPopupVisibleChange:propTypesExports.func,popup:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]).isRequired,popupStyle:propTypesExports.object,prefixCls:propTypesExports.string,popupClassName:propTypesExports.string,className:propTypesExports.string,popupPlacement:propTypesExports.string,builtinPlacements:propTypesExports.object,popupTransitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),popupAnimation:propTypesExports.any,mouseEnterDelay:propTypesExports.number,mouseLeaveDelay:propTypesExports.number,zIndex:propTypesExports.number,focusDelay:propTypesExports.number,blurDelay:propTypesExports.number,getPopupContainer:propTypesExports.func,getDocument:propTypesExports.func,forceRender:propTypesExports.bool,destroyPopupOnHide:propTypesExports.bool,mask:propTypesExports.bool,maskClosable:propTypesExports.bool,onPopupAlign:propTypesExports.func,popupAlign:propTypesExports.object,popupVisible:propTypesExports.bool,defaultPopupVisible:propTypesExports.bool,maskTransitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),maskAnimation:propTypesExports.string,stretch:propTypesExports.string,alignPoint:propTypesExports.bool},Trigger.contextTypes=contextTypes,Trigger.childContextTypes=contextTypes,Trigger.defaultProps={prefixCls:"rc-trigger-popup",getPopupClassNameFromAlign:returnEmptyString,getDocument:returnDocument,onPopupVisibleChange:noop$f,afterPopupVisibleChange:noop$f,onPopupAlign:noop$f,popupClassName:"",mouseEnterDelay:0,mouseLeaveDelay:.1,focusDelay:0,blurDelay:.15,popupStyle:{},destroyPopupOnHide:!1,popupAlign:{},defaultPopupVisible:!1,mask:!1,maskClosable:!0,action:[],showAction:[],hideAction:[]};var _initialiseProps$6=function(){var e=this;this.onMouseEnter=function(t){var r=e.props.mouseEnterDelay;e.fireEvents("onMouseEnter",t),e.delaySetPopupVisible(!0,r,r?null:t)},this.onMouseMove=function(t){e.fireEvents("onMouseMove",t),e.setPoint(t)},this.onMouseLeave=function(t){e.fireEvents("onMouseLeave",t),e.delaySetPopupVisible(!1,e.props.mouseLeaveDelay)},this.onPopupMouseEnter=function(){e.clearDelayTimer()},this.onPopupMouseLeave=function(t){t.relatedTarget&&!t.relatedTarget.setTimeout&&e._component&&e._component.getPopupDomNode&&contains$1(e._component.getPopupDomNode(),t.relatedTarget)||e.delaySetPopupVisible(!1,e.props.mouseLeaveDelay)},this.onFocus=function(t){e.fireEvents("onFocus",t),e.clearDelayTimer(),e.isFocusToShow()&&(e.focusTime=Date.now(),e.delaySetPopupVisible(!0,e.props.focusDelay))},this.onMouseDown=function(t){e.fireEvents("onMouseDown",t),e.preClickTime=Date.now()},this.onTouchStart=function(t){e.fireEvents("onTouchStart",t),e.preTouchTime=Date.now()},this.onBlur=function(t){e.fireEvents("onBlur",t),e.clearDelayTimer(),e.isBlurToHide()&&e.delaySetPopupVisible(!1,e.props.blurDelay)},this.onContextMenu=function(t){t.preventDefault(),e.fireEvents("onContextMenu",t),e.setPopupVisible(!0,t)},this.onContextMenuClose=function(){e.isContextMenuToShow()&&e.close()},this.onClick=function(t){if(e.fireEvents("onClick",t),e.focusTime){var r=void 0;if(e.preClickTime&&e.preTouchTime?r=Math.min(e.preClickTime,e.preTouchTime):e.preClickTime?r=e.preClickTime:e.preTouchTime&&(r=e.preTouchTime),Math.abs(r-e.focusTime)<20)return;e.focusTime=0}e.preClickTime=0,e.preTouchTime=0,e.isClickToShow()&&(e.isClickToHide()||e.isBlurToHide())&&t&&t.preventDefault&&t.preventDefault();var a=!e.state.popupVisible;(e.isClickToHide()&&!a||a&&e.isClickToShow())&&e.setPopupVisible(!e.state.popupVisible,t)},this.onPopupMouseDown=function(){var t=e.context.rcTrigger,r=void 0===t?{}:t;e.hasPopupMouseDown=!0,clearTimeout(e.mouseDownTimeout),e.mouseDownTimeout=setTimeout((function(){e.hasPopupMouseDown=!1}),0),r.onPopupMouseDown&&r.onPopupMouseDown.apply(r,arguments)},this.onDocumentClick=function(t){if(!e.props.mask||e.props.maskClosable){var r=t.target;contains$1(reactDomExports.findDOMNode(e),r)||e.hasPopupMouseDown||e.close()}},this.getRootDomNode=function(){return reactDomExports.findDOMNode(e)},this.getPopupClassNameFromAlign=function(t){var r=[],a=e.props,n=a.popupPlacement,i=a.builtinPlacements,o=a.prefixCls,l=a.alignPoint,s=a.getPopupClassNameFromAlign;return n&&i&&r.push(getAlignPopupClassName(i,o,t,l)),s&&r.push(s(t)),r.join(" ")},this.getComponent=function(){var t=e.props,r=t.prefixCls,a=t.destroyPopupOnHide,n=t.popupClassName,i=t.action,o=t.onPopupAlign,l=t.popupAnimation,s=t.popupTransitionName,c=t.popupStyle,u=t.mask,f=t.maskAnimation,A=t.maskTransitionName,d=t.zIndex,p=t.popup,h=t.stretch,b=t.alignPoint,g=e.state,m=g.popupVisible,v=g.point,y=e.getPopupAlign(),w={};return e.isMouseEnterToShow()&&(w.onMouseEnter=e.onPopupMouseEnter),e.isMouseLeaveToHide()&&(w.onMouseLeave=e.onPopupMouseLeave),w.onMouseDown=e.onPopupMouseDown,w.onTouchStart=e.onPopupMouseDown,React$k.createElement(Popup,_default$bE({prefixCls:r,destroyPopupOnHide:a,visible:m,point:b&&v,className:n,action:i,align:y,onAlign:o,animation:l,getClassNameFromAlign:e.getPopupClassNameFromAlign},w,{stretch:h,getRootDomNode:e.getRootDomNode,style:c,mask:u,zIndex:d,transitionName:s,maskAnimation:f,maskTransitionName:A,ref:e.savePopup}),"function"==typeof p?p():p)},this.getContainer=function(){var t=e.props,r=document.createElement("div");return r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.width="100%",(t.getPopupContainer?t.getPopupContainer(reactDomExports.findDOMNode(e)):t.getDocument().body).appendChild(r),r},this.setPoint=function(t){e.props.alignPoint&&t&&e.setState({point:{pageX:t.pageX,pageY:t.pageY}})},this.handlePortalUpdate=function(){e.state.prevPopupVisible!==e.state.popupVisible&&e.props.afterPopupVisibleChange(e.state.popupVisible)},this.savePopup=function(t){e._component=t}};polyfill(Trigger);var autoAdjustOverflow$2={adjustX:1,adjustY:1},targetOffset$2=[0,0],placements$2={topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},topCenter:{points:["bc","tc"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},topRight:{points:["br","tr"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2},bottomCenter:{points:["tc","bc"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2},bottomRight:{points:["tr","br"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2}},_extends$24=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}function _classCallCheck$1_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$1Y(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$1Y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var Dropdown$1=function(e){function t(r){_classCallCheck$1_(this,t);var a=_possibleConstructorReturn$1Y(this,e.call(this,r));return _initialiseProps$5.call(a),a.state="visible"in r?{visible:r.visible}:{visible:r.defaultVisible},a}return _inherits$1Y(t,e),t.getDerivedStateFromProps=function(e){return"visible"in e?{visible:e.visible}:null},t.prototype.getOverlayElement=function(){var e=this.props.overlay;return"function"==typeof e?e():e},t.prototype.getMenuElementOrLambda=function(){return"function"==typeof this.props.overlay?this.getMenuElement:this.getMenuElement()},t.prototype.getPopupDomNode=function(){return this.trigger.getPopupDomNode()},t.prototype.getOpenClassName=function(){var e=this.props,t=e.openClassName,r=e.prefixCls;return void 0!==t?t:r+"-open"},t.prototype.renderChildren=function(){var e=this.props.children,t=this.state.visible,r=e.props?e.props:{},a=classnamesExports(r.className,this.getOpenClassName());return t&&e?reactExports.cloneElement(e,{className:a}):e},t.prototype.render=function(){var e=this.props,t=e.prefixCls,r=e.transitionName,a=e.animation,n=e.align,i=e.placement,o=e.getPopupContainer,l=e.showAction,s=e.hideAction,c=e.overlayClassName,u=e.overlayStyle,f=e.trigger,A=_objectWithoutProperties$a(e,["prefixCls","transitionName","animation","align","placement","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","trigger"]),d=s;return d||-1===f.indexOf("contextMenu")||(d=["click"]),React$k.createElement(Trigger,_extends$24({},A,{prefixCls:t,ref:this.saveTrigger,popupClassName:c,popupStyle:u,builtinPlacements:placements$2,action:f,showAction:l,hideAction:d||[],popupPlacement:i,popupAlign:n,popupTransitionName:r,popupAnimation:a,popupVisible:this.state.visible,afterPopupVisibleChange:this.afterVisibleChange,popup:this.getMenuElementOrLambda(),onPopupVisibleChange:this.onVisibleChange,getPopupContainer:o}),this.renderChildren())},t}(reactExports.Component);Dropdown$1.propTypes={minOverlayWidthMatchTrigger:propTypesExports.bool,onVisibleChange:propTypesExports.func,onOverlayClick:propTypesExports.func,prefixCls:propTypesExports.string,children:propTypesExports.any,transitionName:propTypesExports.string,overlayClassName:propTypesExports.string,openClassName:propTypesExports.string,animation:propTypesExports.any,align:propTypesExports.object,overlayStyle:propTypesExports.object,placement:propTypesExports.string,overlay:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]),trigger:propTypesExports.array,alignPoint:propTypesExports.bool,showAction:propTypesExports.array,hideAction:propTypesExports.array,getPopupContainer:propTypesExports.func,visible:propTypesExports.bool,defaultVisible:propTypesExports.bool},Dropdown$1.defaultProps={prefixCls:"rc-dropdown",trigger:["hover"],showAction:[],overlayClassName:"",overlayStyle:{},defaultVisible:!1,onVisibleChange:function(){},placement:"bottomLeft"};var _initialiseProps$5=function(){var e=this;this.onClick=function(t){var r=e.props,a=e.getOverlayElement().props;"visible"in r||e.setState({visible:!1}),r.onOverlayClick&&r.onOverlayClick(t),a.onClick&&a.onClick(t)},this.onVisibleChange=function(t){var r=e.props;"visible"in r||e.setState({visible:t}),r.onVisibleChange(t)},this.getMinOverlayWidthMatchTrigger=function(){var t=e.props,r=t.minOverlayWidthMatchTrigger,a=t.alignPoint;return"minOverlayWidthMatchTrigger"in e.props?r:!a},this.getMenuElement=function(){var t=e.props.prefixCls,r=e.getOverlayElement(),a={prefixCls:t+"-menu",onClick:e.onClick};return"string"==typeof r.type&&delete a.prefixCls,React$k.cloneElement(r,a)},this.afterVisibleChange=function(t){if(t&&e.getMinOverlayWidthMatchTrigger()){var r=e.getPopupDomNode(),a=ReactDOM.findDOMNode(e);a&&r&&a.offsetWidth>r.offsetWidth&&(r.style.minWidth=a.offsetWidth+"px",e.trigger&&e.trigger._component&&e.trigger._component.alignInstance&&e.trigger._component.alignInstance.forceAlign())}},this.saveTrigger=function(t){e.trigger=t}};polyfill(Dropdown$1);var tuple$1=function(){for(var e=arguments.length,t=new Array(e),r=0;r=0?"slide-down":"slide-up"}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderDropDown)}}]),r}(reactExports.Component);Dropdown.defaultProps={mouseEnterDelay:.15,mouseLeaveDelay:.1,placement:"bottomLeft"};var rafExports={},raf$2={get exports(){return rafExports},set exports(e){rafExports=e}},performanceNowExports$1={},performanceNow$2={get exports(){return performanceNowExports$1},set exports(e){performanceNowExports$1=e}};(function(){var e,t,r,a,n,i;"undefined"!=typeof performance&&null!==performance&&performance.now?performanceNow$2.exports=function(){return performance.now()}:"undefined"!=typeof process&&null!==process&&process.hrtime?(performanceNow$2.exports=function(){return(e()-n)/1e6},t=process.hrtime,a=(e=function(){var e;return 1e9*(e=t())[0]+e[1]})(),i=1e9*process.uptime(),n=a-i):Date.now?(performanceNow$2.exports=function(){return Date.now()-r},r=Date.now()):(performanceNow$2.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(commonjsGlobal);for(var now$7=performanceNowExports$1,root$d="undefined"==typeof window?commonjsGlobal:window,vendors=["moz","webkit"],suffix="AnimationFrame",raf$1=root$d["request"+suffix],caf=root$d["cancel"+suffix]||root$d["cancelRequest"+suffix],i$2=0;!raf$1&&i$21&&void 0!==arguments[1]?arguments[1]:1;return ids[t]=rafExports((function a(){(r-=1)<=0?(e(),delete ids[t]):ids[t]=rafExports(a)})),t}function _typeof$1c(e){return _typeof$1c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1c(e)}function _classCallCheck$1Y(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$18(e,t){for(var r=0;r=0)){var a=e.props.insertExtraNode;e.extraNode=document.createElement("div");var n=_assertThisInitialized$1a(e).extraNode;n.className="ant-click-animating-node";var i=e.getAttributeName();t.setAttribute(i,"true"),styleForPesudo=styleForPesudo||document.createElement("style"),r&&"#ffffff"!==r&&"rgb(255, 255, 255)"!==r&&isNotGrey(r)&&!/rgba\(\d*, \d*, \d*, 0\)/.test(r)&&"transparent"!==r&&(e.csp&&e.csp.nonce&&(styleForPesudo.nonce=e.csp.nonce),n.style.borderColor=r,styleForPesudo.innerHTML="\n [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {\n --antd-wave-shadow-color: ".concat(r,";\n }"),document.body.contains(styleForPesudo)||document.body.appendChild(styleForPesudo)),a&&t.appendChild(n),TransitionEvents.addStartEventListener(t,e.onTransitionStart),TransitionEvents.addEndEventListener(t,e.onTransitionEnd)}},e.onTransitionStart=function(t){if(!e.destroy){var r=reactDomExports.findDOMNode(_assertThisInitialized$1a(e));t&&t.target===r&&(e.animationStart||e.resetEffect(r))}},e.onTransitionEnd=function(t){t&&"fadeEffect"===t.animationName&&e.resetEffect(t.target)},e.bindAnimationEvent=function(t){if(t&&t.getAttribute&&!t.getAttribute("disabled")&&!(t.className.indexOf("disabled")>=0)){var r=function(r){if("INPUT"!==r.target.tagName&&!isHidden$1(r.target)){e.resetEffect(t);var a=getComputedStyle(t).getPropertyValue("border-top-color")||getComputedStyle(t).getPropertyValue("border-color")||getComputedStyle(t).getPropertyValue("background-color");e.clickWaveTimeoutId=window.setTimeout((function(){return e.onClick(t,a)}),0),wrapperRaf.cancel(e.animationStartId),e.animationStart=!0,e.animationStartId=wrapperRaf((function(){e.animationStart=!1}),10)}};return t.addEventListener("click",r,!0),{cancel:function(){t.removeEventListener("click",r,!0)}}}},e.renderWave=function(t){var r=t.csp,a=e.props.children;return e.csp=r,a},e}return _createClass$1T(r,[{key:"componentDidMount",value:function(){var e=reactDomExports.findDOMNode(this);e&&1===e.nodeType&&(this.instance=this.bindAnimationEvent(e))}},{key:"componentWillUnmount",value:function(){this.instance&&this.instance.cancel(),this.clickWaveTimeoutId&&clearTimeout(this.clickWaveTimeoutId),this.destroy=!0}},{key:"getAttributeName",value:function(){return this.props.insertExtraNode?"ant-click-animating":"ant-click-animating-without-extra-node"}},{key:"resetEffect",value:function(e){if(e&&e!==this.extraNode&&e instanceof Element){var t=this.props.insertExtraNode,r=this.getAttributeName();e.setAttribute(r,"false"),styleForPesudo&&(styleForPesudo.innerHTML=""),t&&this.extraNode&&e.contains(this.extraNode)&&e.removeChild(this.extraNode),TransitionEvents.removeStartEventListener(e,this.onTransitionStart),TransitionEvents.removeEndEventListener(e,this.onTransitionEnd)}}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderWave)}}]),r}(reactExports.Component);function _extends$22(){return _extends$22=Object.assign||function(e){for(var t=1;t=KeyCode$1.F1&&t<=KeyCode$1.F12)return!1;switch(t){case KeyCode$1.ALT:case KeyCode$1.CAPS_LOCK:case KeyCode$1.CONTEXT_MENU:case KeyCode$1.CTRL:case KeyCode$1.DOWN:case KeyCode$1.END:case KeyCode$1.ESC:case KeyCode$1.HOME:case KeyCode$1.INSERT:case KeyCode$1.LEFT:case KeyCode$1.MAC_FF_META:case KeyCode$1.META:case KeyCode$1.NUMLOCK:case KeyCode$1.NUM_CENTER:case KeyCode$1.PAGE_DOWN:case KeyCode$1.PAGE_UP:case KeyCode$1.PAUSE:case KeyCode$1.PRINT_SCREEN:case KeyCode$1.RIGHT:case KeyCode$1.SHIFT:case KeyCode$1.UP:case KeyCode$1.WIN_KEY:case KeyCode$1.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=KeyCode$1.ZERO&&e<=KeyCode$1.NINE)return!0;if(e>=KeyCode$1.NUM_ZERO&&e<=KeyCode$1.NUM_MULTIPLY)return!0;if(e>=KeyCode$1.A&&e<=KeyCode$1.Z)return!0;if(-1!==window.navigator.userAgent.indexOf("WebKit")&&0===e)return!0;switch(e){case KeyCode$1.SPACE:case KeyCode$1.QUESTION_MARK:case KeyCode$1.NUM_PLUS:case KeyCode$1.NUM_MINUS:case KeyCode$1.NUM_PERIOD:case KeyCode$1.NUM_DIVISION:case KeyCode$1.SEMICOLON:case KeyCode$1.DASH:case KeyCode$1.EQUALS:case KeyCode$1.COMMA:case KeyCode$1.PERIOD:case KeyCode$1.SLASH:case KeyCode$1.APOSTROPHE:case KeyCode$1.SINGLE_QUOTE:case KeyCode$1.OPEN_SQUARE_BRACKET:case KeyCode$1.BACKSLASH:case KeyCode$1.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function createChainedFunction(){var e=[].slice.call(arguments,0);return 1===e.length?e[0]:function(){for(var t=0;t=d&&(t.push(r({type:"childList",target:a,addedNodes:[c],removedNodes:[c],nextSibling:c.nextSibling,previousSibling:c.previousSibling})),s--),l.b&&f.b&&n(t,c,f.b,l.f),l.a&&3===c.nodeType&&c.nodeValue!==f.a&&t.push(r({type:"characterData",target:c,oldValue:f.a})),l.g&&u(c,f)}function u(a,i){for(var A,d,p,h,b,g=a.childNodes,m=i.c,v=g.length,y=m?m.length:0,w=0,k=0,x=0;k0},e.prototype.connect_=function(){isBrowser$1&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),mutationObserverSupported?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){isBrowser$1&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,r=void 0===t?"":t,a=transitionKeys.some((function(e){return!!~r.indexOf(e)}));a&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),defineConfigurable=function(e,t){for(var r=0,a=Object.keys(t);r0},e}(),observers="undefined"!=typeof WeakMap?new WeakMap:new MapShim,ResizeObserver$1=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=ResizeObserverController.getInstance(),a=new ResizeObserverSPI(t,r,this);observers.set(this,a)};["observe","unobserve","disconnect"].forEach((function(e){ResizeObserver$1.prototype[e]=function(){var t;return(t=observers.get(this))[e].apply(t,arguments)}}));var index$M=void 0!==global$1$1.ResizeObserver?global$1$1.ResizeObserver:ResizeObserver$1;const ResizeObserver_es=Object.freeze(Object.defineProperty({__proto__:null,default:index$M},Symbol.toStringTag,{value:"Module"}));function findDOMNode$2(e){return e instanceof HTMLElement?e:ReactDOM.findDOMNode(e)}var canUseDOM$1=!("undefined"==typeof window||!window.document||!window.document.createElement);function makePrefixMap(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r["ms"+e]="MS"+t,r["O"+e]="o"+t.toLowerCase(),r}function getVendorPrefixes(e,t){var r={animationend:makePrefixMap("Animation","AnimationEnd"),transitionend:makePrefixMap("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete r.animationend.animation,"TransitionEvent"in t||delete r.transitionend.transition),r}var vendorPrefixes=getVendorPrefixes(canUseDOM$1,"undefined"!=typeof window?window:{}),style$1={};canUseDOM$1&&(style$1=document.createElement("div").style);var prefixedEventNames={};function getVendorPrefixedEventName(e){if(prefixedEventNames[e])return prefixedEventNames[e];var t=vendorPrefixes[e];if(t)for(var r=Object.keys(t),a=r.length,n=0;n0&&setTimeout((function(){t.onMotionEnd({deadline:!0})}),a)}}))},t.nextFrame=function(e){t.cancelNextFrame(),t.raf=rafExports(e)},t.cancelNextFrame=function(){t.raf&&(rafExports.cancel(t.raf),t.raf=null)},t.state={status:STATUS_NONE,statusActive:!1,newStatus:!1,statusStyle:null},t.$cacheEle=null,t.node=null,t.raf=null,t}return _default$8(r,t),_default$b(r,[{key:"componentDidMount",value:function(){this.onDomUpdate()}},{key:"componentDidUpdate",value:function(){this.onDomUpdate()}},{key:"componentWillUnmount",value:function(){this._destroyed=!0,this.removeEventListener(this.$cacheEle),this.cancelNextFrame()}},{key:"render",value:function(){var e,t=this.state,r=t.status,a=t.statusActive,i=t.statusStyle,o=this.props,l=o.children,s=o.motionName,c=o.visible,u=o.removeOnLeave,f=o.leavedClassName,A=o.eventProps;return l?r!==STATUS_NONE&&n(this.props)?l(_default$bE({},A,{className:classnamesExports((e={},_default$e(e,getTransitionName(s,r),r!==STATUS_NONE),_default$e(e,getTransitionName(s,r+"-active"),r!==STATUS_NONE&&a),_default$e(e,s,"string"==typeof s),e)),style:i}),this.setNodeRef):c?l(_default$bE({},A),this.setNodeRef):u?null:l(_default$bE({},A,{className:f}),this.setNodeRef):null}}],[{key:"getDerivedStateFromProps",value:function(e,t){var r=t.prevProps,a=t.status;if(!n(e))return{};var i=e.visible,o=e.motionAppear,l=e.motionEnter,s=e.motionLeave,c=e.motionLeaveImmediately,u={prevProps:e};return(a===STATUS_APPEAR&&!o||a===STATUS_ENTER&&!l||a===STATUS_LEAVE&&!s)&&(u.status=STATUS_NONE,u.statusActive=!1,u.newStatus=!1),!r&&i&&o&&(u.status=STATUS_APPEAR,u.statusActive=!1,u.newStatus=!0),r&&!r.visible&&i&&l&&(u.status=STATUS_ENTER,u.statusActive=!1,u.newStatus=!0),(r&&r.visible&&!i&&s||!r&&c&&!i&&s)&&(u.status=STATUS_LEAVE,u.statusActive=!1,u.newStatus=!0),u}}]),r}(React$k.Component);return i.propTypes=_default$bE({},MotionPropTypes,{internalRef:propTypesExports.oneOfType([propTypesExports.object,propTypesExports.func])}),i.defaultProps={visible:!0,motionEnter:!0,motionAppear:!0,motionLeave:!0,removeOnLeave:!0},polyfill(i),a?React$k.forwardRef((function(e,t){return React$k.createElement(i,_default$bE({internalRef:t},e))})):i}const CSSMotion=genCSSMotion(supportTransition);var autoAdjustOverflow$1={adjustX:1,adjustY:1},placements$1={topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow$1,offset:[0,-7]},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow$1,offset:[0,7]},leftTop:{points:["tr","tl"],overflow:autoAdjustOverflow$1,offset:[-4,0]},rightTop:{points:["tl","tr"],overflow:autoAdjustOverflow$1,offset:[4,0]}};function _typeof$18(e){return _typeof$18="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$18(e)}function _classCallCheck$1T(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$15(e,t){for(var r=0;r=r.subMenuTitle.offsetWidth||(e.style.minWidth="".concat(r.subMenuTitle.offsetWidth,"px"))}},r.saveSubMenuTitle=function(e){r.subMenuTitle=e};var a=e.store,n=e.eventKey,i=a.getState().defaultActiveFirst;r.isRootMenu=!1;var o=!1;return i&&(o=i[n]),updateDefaultActiveFirst(a,n,o),r}return _inherits$1R(t,e),_createClass$1O(t,[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e=this,t=this.props,r=t.mode,a=t.parentMenu,n=t.manualRef;n&&n(this),"horizontal"===r&&a.isRootMenu&&this.props.isOpen&&(this.minWidthTimeout=setTimeout((function(){return e.adjustWidth()}),0))}},{key:"componentWillUnmount",value:function(){var e=this.props,t=e.onDestroy,r=e.eventKey;t&&t(r),this.minWidthTimeout&&clearTimeout(this.minWidthTimeout),this.mouseenterTimeout&&clearTimeout(this.mouseenterTimeout)}},{key:"renderChildren",value:function(e){var t=this,r=this.props,a={mode:"horizontal"===r.mode?"vertical":r.mode,visible:this.props.isOpen,level:r.level+1,inlineIndent:r.inlineIndent,focusable:!1,onClick:this.onSubMenuClick,onSelect:this.onSelect,onDeselect:this.onDeselect,onDestroy:this.onDestroy,selectedKeys:r.selectedKeys,eventKey:"".concat(r.eventKey,"-menu-"),openKeys:r.openKeys,motion:r.motion,onOpenChange:this.onOpenChange,subMenuOpenDelay:r.subMenuOpenDelay,parentMenu:this,subMenuCloseDelay:r.subMenuCloseDelay,forceSubMenuRender:r.forceSubMenuRender,triggerSubMenuAction:r.triggerSubMenuAction,builtinPlacements:r.builtinPlacements,defaultActiveFirst:r.store.getState().defaultActiveFirst[getMenuIdFromSubMenuEventKey(r.eventKey)],multiple:r.multiple,prefixCls:r.rootPrefixCls,id:this.internalMenuId,manualRef:this.saveMenuInstance,itemIcon:r.itemIcon,expandIcon:r.expandIcon},n=this.haveRendered;if(this.haveRendered=!0,this.haveOpened=this.haveOpened||a.visible||a.forceSubMenuRender,!this.haveOpened)return reactExports.createElement("div",null);var i=_objectSpread$h({},r.motion,{leavedClassName:"".concat(r.rootPrefixCls,"-hidden"),removeOnLeave:!1,motionAppear:n||!a.visible||"inline"!==a.mode});return reactExports.createElement(CSSMotion,Object.assign({visible:a.visible},i),(function(r){var n=r.className,i=r.style,o=classnamesExports("".concat(a.prefixCls,"-sub"),n);return reactExports.createElement(connected$1,Object.assign({},a,{id:t.internalMenuId,className:o,style:i}),e)}))}},{key:"render",value:function(){var e,t=_objectSpread$h({},this.props),r=t.isOpen,a=this.getPrefixCls(),n="inline"===t.mode,i=classnamesExports(a,"".concat(a,"-").concat(t.mode),(_defineProperty$18(e={},t.className,!!t.className),_defineProperty$18(e,this.getOpenClassName(),r),_defineProperty$18(e,this.getActiveClassName(),t.active||r&&!n),_defineProperty$18(e,this.getDisabledClassName(),t.disabled),_defineProperty$18(e,this.getSelectedClassName(),this.isChildrenSelected()),e));this.internalMenuId||(t.eventKey?this.internalMenuId="".concat(t.eventKey,"$Menu"):(guid+=1,this.internalMenuId="$__$".concat(guid,"$Menu")));var o={},l={},s={};t.disabled||(o={onMouseLeave:this.onMouseLeave,onMouseEnter:this.onMouseEnter},l={onClick:this.onTitleClick},s={onMouseEnter:this.onTitleMouseEnter,onMouseLeave:this.onTitleMouseLeave});var c={};n&&(c.paddingLeft=t.inlineIndent*t.level);var u={};this.props.isOpen&&(u={"aria-owns":this.internalMenuId});var f=null;"horizontal"!==t.mode&&(f=this.props.expandIcon,"function"==typeof this.props.expandIcon&&(f=reactExports.createElement(this.props.expandIcon,_objectSpread$h({},this.props))));var A=reactExports.createElement("div",Object.assign({ref:this.saveSubMenuTitle,style:c,className:"".concat(a,"-title")},s,l,{"aria-expanded":r},u,{"aria-haspopup":"true",title:"string"==typeof t.title?t.title:void 0}),t.title,f||reactExports.createElement("i",{className:"".concat(a,"-arrow")})),d=this.renderChildren(t.children),p=t.parentMenu.isRootMenu?t.parentMenu.props.getPopupContainer:function(e){return e.parentNode},h=popupPlacementMap[t.mode],b=t.popupOffset?{offset:t.popupOffset}:{},g="inline"===t.mode?"":t.popupClassName,m=t.disabled,v=t.triggerSubMenuAction,y=t.subMenuOpenDelay,w=t.forceSubMenuRender,k=t.subMenuCloseDelay,x=t.builtinPlacements;return menuAllProps.forEach((function(e){return delete t[e]})),delete t.onClick,reactExports.createElement("li",Object.assign({},t,o,{className:i,role:"menuitem"}),n&&A,n&&d,!n&&reactExports.createElement(Trigger,{prefixCls:a,popupClassName:"".concat(a,"-popup ").concat(g),getPopupContainer:p,builtinPlacements:Object.assign({},placements$1,x),popupPlacement:h,popupVisible:r,popupAlign:b,popup:d,action:m?[]:[v],mouseEnterDelay:y,mouseLeaveDelay:k,onPopupVisibleChange:this.onPopupVisibleChange,forceRender:w},A))}}]),t}(reactExports.Component);SubMenu$2.defaultProps={onMouseEnter:noop$e,onMouseLeave:noop$e,onTitleMouseEnter:noop$e,onTitleMouseLeave:noop$e,onTitleClick:noop$e,manualRef:noop$e,mode:"vertical",title:""};var connected$2=connect((function(e,t){var r=e.openKeys,a=e.activeKey,n=e.selectedKeys,i=t.eventKey,o=t.subMenuKey;return{isOpen:r.indexOf(i)>-1,active:a[o]===i,selectedKeys:n}}))(SubMenu$2);function _typeof$17(e){return _typeof$17="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$17(e)}function _toConsumableArray$c(e){return _arrayWithoutHoles$8(e)||_iterableToArray$8(e)||_nonIterableSpread$8()}function _nonIterableSpread$8(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray$8(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles$8(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose$6(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function _classCallCheck$1S(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$14(e,t){for(var r=0;r=0}));i.forEach((function(e){setStyle$1(e,"display","inline-block")})),e.menuItemSizes=n.map((function(e){return getWidth(e)})),i.forEach((function(e){setStyle$1(e,"display","none")})),e.overflowedIndicatorWidth=getWidth(t.children[t.children.length-1]),e.originalTotalWidth=e.menuItemSizes.reduce((function(e,t){return e+t}),0),e.handleResize(),setStyle$1(a,"display","none")}}}},e.handleResize=function(){if("horizontal"===e.props.mode){var t=reactDomExports.findDOMNode(_assertThisInitialized$16(e));if(t){var r=getWidth(t);e.overflowedItems=[];var a,n=0;e.originalTotalWidth>r+FLOAT_PRECISION_ADJUST&&(a=-1,e.menuItemSizes.forEach((function(t){(n+=t)+e.overflowedIndicatorWidth<=r&&(a+=1)}))),e.setState({lastVisibleIndex:a})}}},e}return _inherits$1Q(t,e),_createClass$1N(t,[{key:"componentDidMount",value:function(){var e=this;if(this.setChildrenWidthAndResize(),1===this.props.level&&"horizontal"===this.props.mode){var t=reactDomExports.findDOMNode(this);if(!t)return;this.resizeObserver=new index$M((function(t){t.forEach(e.setChildrenWidthAndResize)})),[].slice.call(t.children).concat(t).forEach((function(t){e.resizeObserver.observe(t)})),"undefined"!=typeof MutationObserver&&(this.mutationObserver=new MutationObserver((function(){e.resizeObserver.disconnect(),[].slice.call(t.children).concat(t).forEach((function(t){e.resizeObserver.observe(t)})),e.setChildrenWidthAndResize()})),this.mutationObserver.observe(t,{attributes:!1,childList:!0,subTree:!1}))}}},{key:"componentWillUnmount",value:function(){this.resizeObserver&&this.resizeObserver.disconnect(),this.mutationObserver&&this.mutationObserver.disconnect()}},{key:"renderChildren",value:function(e){var t=this,r=this.state.lastVisibleIndex;return(e||[]).reduce((function(a,n,i){var o=n;if("horizontal"===t.props.mode){var l=t.getOverflowedSubMenuItem(n.props.eventKey,[]);void 0!==r&&-1!==t.props.className.indexOf("".concat(t.props.prefixCls,"-root"))&&(i>r&&(o=reactExports.cloneElement(n,{style:{display:"none"},eventKey:"".concat(n.props.eventKey,"-hidden"),className:"".concat(MENUITEM_OVERFLOWED_CLASSNAME)})),i===r+1&&(t.overflowedItems=e.slice(r+1).map((function(e){return reactExports.cloneElement(e,{key:e.props.eventKey,mode:"vertical-left"})})),l=t.getOverflowedSubMenuItem(n.props.eventKey,t.overflowedItems)));var s=[].concat(_toConsumableArray$c(a),[l,o]);return i===e.length-1&&s.push(t.getOverflowedSubMenuItem(n.props.eventKey,[],!0)),s}return[].concat(_toConsumableArray$c(a),[o])}),[])}},{key:"render",value:function(){var e=this.props;e.visible,e.prefixCls,e.overflowedIndicator,e.mode,e.level;var t=e.tag,r=e.children;e.theme;var a=_objectWithoutProperties$9(e,["visible","prefixCls","overflowedIndicator","mode","level","tag","children","theme"]),n=t;return reactExports.createElement(n,Object.assign({},a),this.renderChildren(r))}}]),t}(reactExports.Component);function _typeof$16(e){return _typeof$16="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$16(e)}function _extends$1Z(){return _extends$1Z=Object.assign||function(e){for(var t=1;t0?!0===i?util$b.scrollTop(t,m.top+v.top):!1===i?util$b.scrollTop(t,m.top+y.top):v.top<0?util$b.scrollTop(t,m.top+v.top):util$b.scrollTop(t,m.top+y.top):n||((i=void 0===i||!!i)?util$b.scrollTop(t,m.top+v.top):util$b.scrollTop(t,m.top+y.top)),a&&(v.left<0||y.left>0?!0===o?util$b.scrollLeft(t,m.left+v.left):!1===o?util$b.scrollLeft(t,m.left+y.left):v.left<0?util$b.scrollLeft(t,m.left+v.left):util$b.scrollLeft(t,m.left+y.left):n||((o=void 0===o||!!o)?util$b.scrollLeft(t,m.left+v.left):util$b.scrollLeft(t,m.left+y.left)))}var domScrollIntoView=scrollIntoView$1;!function(e){e.exports=domScrollIntoView}(lib$4);const scrollIntoView=getDefaultExportFromCjs(libExports$1);function _typeof$12(e){return _typeof$12="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$12(e)}function ownKeys$d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _objectSpread$d(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.arrowWidth,r=void 0===t?5:t,a=e.horizontalArrowShift,n=void 0===a?16:a,i=e.verticalArrowShift,o=void 0===i?12:i,l=e.autoAdjustOverflow,s=void 0===l||l,c={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(n+r),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(o+r)]},topRight:{points:["br","tc"],offset:[n+r,-4]},rightTop:{points:["tl","cr"],offset:[4,-(o+r)]},bottomRight:{points:["tr","bc"],offset:[n+r,4]},rightBottom:{points:["bl","cr"],offset:[4,o+r]},bottomLeft:{points:["tl","bc"],offset:[-(n+r),4]},leftBottom:{points:["br","cl"],offset:[-4,o+r]}};return Object.keys(c).forEach((function(t){c[t]=e.arrowPointAtCenter?_extends$1V(_extends$1V({},c[t]),{overflow:getOverflowOptions(s),targetOffset:targetOffset}):_extends$1V(_extends$1V({},placements[t]),{overflow:getOverflowOptions(s)}),c[t].ignoreShake=!0})),c}function _typeof$$(e){return _typeof$$="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$$(e)}function _defineProperty$13(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _classCallCheck$1M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$_(e,t){for(var r=0;r=0||n.indexOf("Bottom")>=0?o.top="".concat(i.height-t.offset[1],"px"):(n.indexOf("Top")>=0||n.indexOf("bottom")>=0)&&(o.top="".concat(-t.offset[1],"px")),n.indexOf("left")>=0||n.indexOf("Right")>=0?o.left="".concat(i.width-t.offset[0],"px"):(n.indexOf("right")>=0||n.indexOf("Left")>=0)&&(o.left="".concat(-t.offset[0],"px")),e.style.transformOrigin="".concat(o.left," ").concat(o.top)}},a.renderTooltip=function(e){var t=e.getPopupContainer,r=e.getPrefixCls,n=_assertThisInitialized$10(a),i=n.props,o=n.state,l=i.prefixCls,s=i.openClassName,c=i.getPopupContainer,u=i.getTooltipContainer,f=i.children,A=r("tooltip",l),d=o.visible;!("visible"in i)&&a.isNoTitle()&&(d=!1);var p=getDisabledCompatibleChildren(reactExports.isValidElement(f)?f:reactExports.createElement("span",null,f)),h=p.props,b=classNames(h.className,_defineProperty$13({},s||"".concat(A,"-open"),!0));return reactExports.createElement(Tooltip$2,_extends$1U({},a.props,{prefixCls:A,getTooltipContainer:c||u||t,ref:a.saveTooltip,builtinPlacements:a.getPlacements(),overlay:a.getOverlay(),visible:d,onVisibleChange:a.onVisibleChange,onPopupAlign:a.onPopupAlign}),d?reactExports.cloneElement(p,{className:b}):p)},a.state={visible:!!e.visible||!!e.defaultVisible},a}return _createClass$1H(r,[{key:"getPopupDomNode",value:function(){return this.tooltip.getPopupDomNode()}},{key:"getPlacements",value:function(){var e=this.props,t=e.builtinPlacements,r=e.arrowPointAtCenter,a=e.autoAdjustOverflow;return t||getPlacements({arrowPointAtCenter:r,verticalArrowShift:8,autoAdjustOverflow:a})}},{key:"isNoTitle",value:function(){var e=this.props,t=e.title,r=e.overlay;return!t&&!r&&0!==t}},{key:"getOverlay",value:function(){var e=this.props,t=e.title,r=e.overlay;return 0===t?t:r||t||""}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderTooltip)}}],[{key:"getDerivedStateFromProps",value:function(e){return"visible"in e?{visible:e.visible}:null}}]),r}(reactExports.Component);Tooltip.defaultProps={placement:"top",transitionName:"zoom-big-fast",mouseEnterDelay:.1,mouseLeaveDelay:.1,arrowPointAtCenter:!1,autoAdjustOverflow:!0},polyfill(Tooltip);const Tooltip$1=Tooltip;function _typeof$_(e){return _typeof$_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$_(e)}function _extends$1T(){return _extends$1T=Object.assign||function(e){for(var t=1;t=0;(t||i)&&a.restoreModeVerticalFromInline()},a.handleClick=function(e){a.handleOpenChange([]);var t=a.props.onClick;t&&t(e)},a.handleOpenChange=function(e){a.setOpenKeys(e);var t=a.props.onOpenChange;t&&t(e)},a.renderMenu=function(e){var t=e.getPopupContainer,r=e.getPrefixCls,n=a.props,i=n.prefixCls,o=n.className,l=n.theme,s=n.collapsedWidth,c=omit(a.props,["collapsedWidth","siderCollapsed"]),u=a.getRealMenuMode(),f=a.getOpenMotionProps(u),A=r("menu",i),d=classNames(o,"".concat(A,"-").concat(l),_defineProperty$12({},"".concat(A,"-inline-collapsed"),a.getInlineCollapsed())),p=_extends$1S({openKeys:a.state.openKeys,onOpenChange:a.handleOpenChange,className:d,mode:u},f);return"inline"!==u&&(p.onClick=a.handleClick),a.getInlineCollapsed()&&(0===s||"0"===s||"0px"===s)&&(p.openKeys=[]),reactExports.createElement(Menu$1,_extends$1S({getPopupContainer:t},c,p,{prefixCls:A,onTransitionEnd:a.handleTransitionEnd,onMouseEnter:a.handleMouseEnter}))},warning$4(!("onOpen"in e||"onClose"in e),"Menu","`onOpen` and `onClose` are removed, please use `onOpenChange` instead, see: https://u.ant.design/menu-on-open-change."),warning$4(!("inlineCollapsed"in e&&"inline"!==e.mode),"Menu","`inlineCollapsed` should only be used when `mode` is inline."),warning$4(!(void 0!==e.siderCollapsed&&"inlineCollapsed"in e),"Menu","`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead."),"openKeys"in e?n=e.openKeys:"defaultOpenKeys"in e&&(n=e.defaultOpenKeys),a.state={openKeys:n||[],switchingModeFromInline:!1,inlineOpenKeys:[],prevProps:e},a}return _createClass$1F(r,[{key:"componentWillUnmount",value:function(){wrapperRaf.cancel(this.mountRafId)}},{key:"setOpenKeys",value:function(e){"openKeys"in this.props||this.setState({openKeys:e})}},{key:"getRealMenuMode",value:function(){var e=this.getInlineCollapsed();if(this.state.switchingModeFromInline&&e)return"inline";var t=this.props.mode;return e?"vertical":t}},{key:"getInlineCollapsed",value:function(){var e=this.props.inlineCollapsed;return void 0!==this.props.siderCollapsed?this.props.siderCollapsed:e}},{key:"getOpenMotionProps",value:function(e){var t=this.props,r=t.openTransitionName,a=t.openAnimation,n=t.motion;return n?{motion:n}:a?(warning$4("string"==typeof a,"Menu","`openAnimation` do not support object. Please use `motion` instead."),{openAnimation:a}):r?{openTransitionName:r}:"horizontal"===e?{motion:{motionName:"slide-up"}}:"inline"===e?{motion:collapseMotion$1}:{motion:{motionName:this.state.switchingModeFromInline?"":"zoom-big"}}}},{key:"restoreModeVerticalFromInline",value:function(){this.state.switchingModeFromInline&&this.setState({switchingModeFromInline:!1})}},{key:"render",value:function(){return reactExports.createElement(MenuContext$1.Provider,{value:{inlineCollapsed:this.getInlineCollapsed()||!1,antdMenuTheme:this.props.theme}},reactExports.createElement(ConfigConsumer,null,this.renderMenu))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var r=t.prevProps,a={prevProps:e};return"inline"===r.mode&&"inline"!==e.mode&&(a.switchingModeFromInline=!0),"openKeys"in e?a.openKeys=e.openKeys:((e.inlineCollapsed&&!r.inlineCollapsed||e.siderCollapsed&&!r.siderCollapsed)&&(a.switchingModeFromInline=!0,a.inlineOpenKeys=t.openKeys,a.openKeys=[]),(!e.inlineCollapsed&&r.inlineCollapsed||!e.siderCollapsed&&r.siderCollapsed)&&(a.openKeys=t.inlineOpenKeys,a.inlineOpenKeys=[])),a}}]),r}(reactExports.Component);InternalMenu.defaultProps={className:"",theme:"light",focusable:!1},polyfill(InternalMenu);var Menu=function(e){_inherits$1I(r,e);var t=_createSuper$U(r);function r(){return _classCallCheck$1K(this,r),t.apply(this,arguments)}return _createClass$1F(r,[{key:"render",value:function(){var e=this;return reactExports.createElement(SiderContext.Consumer,null,(function(t){return reactExports.createElement(InternalMenu,_extends$1S({},e.props,t))}))}}]),r}(reactExports.Component);Menu.Divider=Divider$2,Menu.Item=MenuItem,Menu.SubMenu=SubMenu$1,Menu.ItemGroup=MenuItemGroup;var objectProto$h=Object.prototype,hasOwnProperty$f=objectProto$h.hasOwnProperty;function baseHas$1(e,t){return null!=e&&hasOwnProperty$f.call(e,t)}var _baseHas=baseHas$1,isArray$i=Array.isArray,isArray_1=isArray$i,freeGlobal$1="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,_freeGlobal=freeGlobal$1,freeGlobal=_freeGlobal,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root$c=freeGlobal||freeSelf||Function("return this")(),_root=root$c,root$b=_root,Symbol$6=root$b.Symbol,_Symbol=Symbol$6,Symbol$5=_Symbol,objectProto$g=Object.prototype,hasOwnProperty$e=objectProto$g.hasOwnProperty,nativeObjectToString$1=objectProto$g.toString,symToStringTag$1=Symbol$5?Symbol$5.toStringTag:void 0;function getRawTag$1(t){var r=hasOwnProperty$e.call(t,symToStringTag$1),a=t[symToStringTag$1];try{t[symToStringTag$1]=void 0;var n=!0}catch(e){}var i=nativeObjectToString$1.call(t);return n&&(r?t[symToStringTag$1]=a:delete t[symToStringTag$1]),i}var _getRawTag=getRawTag$1,objectProto$f=Object.prototype,nativeObjectToString=objectProto$f.toString;function objectToString$1(e){return nativeObjectToString.call(e)}var _objectToString=objectToString$1,Symbol$4=_Symbol,getRawTag=_getRawTag,objectToString=_objectToString,nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$4?Symbol$4.toStringTag:void 0;function baseGetTag$7(e){return null==e?void 0===e?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(e)?getRawTag(e):objectToString(e)}var _baseGetTag=baseGetTag$7;function isObjectLike$8(e){return null!=e&&"object"==typeof e}var isObjectLike_1=isObjectLike$8,baseGetTag$6=_baseGetTag,isObjectLike$7=isObjectLike_1,symbolTag$1="[object Symbol]";function isSymbol$6(e){return"symbol"==typeof e||isObjectLike$7(e)&&baseGetTag$6(e)==symbolTag$1}var isSymbol_1=isSymbol$6,isArray$h=isArray_1,isSymbol$5=isSymbol_1,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey$3(e,t){if(isArray$h(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!isSymbol$5(e))||(reIsPlainProp.test(e)||!reIsDeepProp.test(e)||null!=t&&e in Object(t))}var _isKey=isKey$3;function isObject$k(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var isObject_1=isObject$k,baseGetTag$5=_baseGetTag,isObject$j=isObject_1,asyncTag="[object AsyncFunction]",funcTag$1="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$9(e){if(!isObject$j(e))return!1;var t=baseGetTag$5(e);return t==funcTag$1||t==genTag||t==asyncTag||t==proxyTag}var isFunction_1=isFunction$9,root$a=_root,coreJsData$1=root$a["__core-js_shared__"],_coreJsData=coreJsData$1,coreJsData=_coreJsData,maskSrcKey=function(){var e=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function isMasked$1(e){return!!maskSrcKey&&maskSrcKey in e}var _isMasked=isMasked$1,funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource$2(t){if(null!=t){try{return funcToString$2.call(t)}catch(e){}try{return t+""}catch(e){}}return""}var _toSource=toSource$2,isFunction$8=isFunction_1,isMasked=_isMasked,isObject$i=isObject_1,toSource$1=_toSource,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$e=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$d=objectProto$e.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$d).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative$1(e){return!(!isObject$i(e)||isMasked(e))&&(isFunction$8(e)?reIsNative:reIsHostCtor).test(toSource$1(e))}var _baseIsNative=baseIsNative$1;function getValue$4(e,t){return null==e?void 0:e[t]}var _getValue=getValue$4,baseIsNative=_baseIsNative,getValue$3=_getValue;function getNative$7(e,t){var r=getValue$3(e,t);return baseIsNative(r)?r:void 0}var _getNative=getNative$7,getNative$6=_getNative,nativeCreate$4=getNative$6(Object,"create"),_nativeCreate=nativeCreate$4,nativeCreate$3=_nativeCreate;function hashClear$1(){this.__data__=nativeCreate$3?nativeCreate$3(null):{},this.size=0}var _hashClear=hashClear$1;function hashDelete$1(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _hashDelete=hashDelete$1,nativeCreate$2=_nativeCreate,HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$d=Object.prototype,hasOwnProperty$c=objectProto$d.hasOwnProperty;function hashGet$1(e){var t=this.__data__;if(nativeCreate$2){var r=t[e];return r===HASH_UNDEFINED$2?void 0:r}return hasOwnProperty$c.call(t,e)?t[e]:void 0}var _hashGet=hashGet$1,nativeCreate$1=_nativeCreate,objectProto$c=Object.prototype,hasOwnProperty$b=objectProto$c.hasOwnProperty;function hashHas$1(e){var t=this.__data__;return nativeCreate$1?void 0!==t[e]:hasOwnProperty$b.call(t,e)}var _hashHas=hashHas$1,nativeCreate=_nativeCreate,HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet$1(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=nativeCreate&&void 0===t?HASH_UNDEFINED$1:t,this}var _hashSet=hashSet$1,hashClear=_hashClear,hashDelete=_hashDelete,hashGet=_hashGet,hashHas=_hashHas,hashSet=_hashSet;function Hash$1(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1}var _listCacheHas=listCacheHas$1,assocIndexOf=_assocIndexOf;function listCacheSet$1(e,t){var r=this.__data__,a=assocIndexOf(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}var _listCacheSet=listCacheSet$1,listCacheClear=_listCacheClear,listCacheDelete=_listCacheDelete,listCacheGet=_listCacheGet,listCacheHas=_listCacheHas,listCacheSet=_listCacheSet;function ListCache$4(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}var isLength_1=isLength$3,isSymbol$3=isSymbol_1,INFINITY$2=1/0;function toKey$7(e){if("string"==typeof e||isSymbol$3(e))return e;var t=e+"";return"0"==t&&1/e==-INFINITY$2?"-0":t}var _toKey=toKey$7,castPath$3=_castPath,isArguments$5=isArguments_1,isArray$e=isArray_1,isIndex$3=_isIndex,isLength$2=isLength_1,toKey$6=_toKey;function hasPath$2(e,t,r){for(var a=-1,n=(t=castPath$3(t,e)).length,i=!1;++a1?arguments[1]:void 0,c=void 0!==s,u=0,f=getIterFn$1(i);if(c&&(s=ctx$3(s,l>2?arguments[2]:void 0,2)),null==f||o==Array&&isArrayIter$1(f))for(r=new o(t=toLength$1(i.length));t>u;u++)createProperty(r,u,c?s(i[u],u):i[u]);else for(n=f.call(i),r=new o;!(a=n.next()).done;u++)createProperty(r,u,c?call$2(n,s,[a.value,u],!0):a.value);return r.length=u,r}});var from=_coreExports.Array.from;!function(e){e.exports={default:from,__esModule:!0}}(from$1);var _from=fromExports,_from2=_interopRequireDefault$e(_from);function _interopRequireDefault$e(e){return e&&e.__esModule?e:{default:e}}var _default$7=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t=i)return e;switch(e){case"%s":return String(t[a++]);case"%d":return Number(t[a++]);case"%j":try{return JSON.stringify(t[a++])}catch(_){return"[Circular]"}break;default:return e}})),l=t[a];a()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},l={integer:function(e){return l.number(e)&&parseInt(e,10)===e},float:function(e){return l.number(e)&&!l.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"===(void 0===e?"undefined":a(e))&&!l.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&!!e.match(o.email)&&e.length<255},url:function(e){return"string"==typeof e&&!!e.match(o.url)},hex:function(e){return"string"==typeof e&&!!e.match(o.hex)}};t.default=function(e,t,r,o,s){if(e.required&&void 0===t)(0,i.default)(e,t,r,o,s);else{var c=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(c)>-1?l[c](t)||o.push(n.format(s.messages.types[c],e.fullField,e.type)):c&&(void 0===t?"undefined":a(t))!==e.type&&o.push(n.format(s.messages.types[c],e.fullField,e.type))}}}(type$3);var range$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(util$a);e.default=function(e,r,a,n,i){var o="number"==typeof e.len,l="number"==typeof e.min,s="number"==typeof e.max,c=r,u=null,f="number"==typeof r,A="string"==typeof r,d=Array.isArray(r);if(f?u="number":A?u="string":d&&(u="array"),!u)return!1;d&&(c=r.length),A&&(c=r.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),o?c!==e.len&&n.push(t.format(i.messages[u].len,e.fullField,e.len)):l&&!s&&ce.max?n.push(t.format(i.messages[u].max,e.fullField,e.max)):l&&s&&(ce.max)&&n.push(t.format(i.messages[u].range,e.fullField,e.min,e.max))}}(range$1);var _enum$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(util$a);var r="enum";e.default=function(e,a,n,i,o){e[r]=Array.isArray(e[r])?e[r]:[],-1===e[r].indexOf(a)&&i.push(t.format(o.messages[r],e.fullField,e[r].join(", ")))}}(_enum$1);var pattern$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(util$a);e.default=function(e,r,a,n,i){if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(r)||n.push(t.format(i.messages.pattern.mismatch,e.fullField,r,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(r)||n.push(t.format(i.messages.pattern.mismatch,e.fullField,r,e.pattern))}}}(pattern$1),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=l(required$2),r=l(whitespace),a=l(type$3),n=l(range$1),i=l(_enum$1),o=l(pattern$1);function l(e){return e&&e.__esModule?e:{default:e}}e.default={required:t.default,whitespace:r.default,type:a.default,range:n.default,enum:i.default,pattern:o.default}}(rule),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t,"string")&&!e.required)return n();r.default.required(e,t,i,l,o,"string"),(0,a.isEmptyValue)(t,"string")||(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o),r.default.pattern(e,t,i,l,o),!0===e.whitespace&&r.default.whitespace(e,t,i,l,o))}n(l)}}(string$2);var method={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&r.default.type(e,t,i,l,o)}n(l)}}(method);var number$3={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(""===t&&(t=void 0),(0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o))}n(l)}}(number$3);var boolean={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=util$a,a=(t=rule)&&t.__esModule?t:{default:t};e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,r.isEmptyValue)(t)&&!e.required)return n();a.default.required(e,t,i,l,o),void 0!==t&&a.default.type(e,t,i,l,o)}n(l)}}(boolean);var regexp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),(0,a.isEmptyValue)(t)||r.default.type(e,t,i,l,o)}n(l)}}(regexp);var integer$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o))}n(l)}}(integer$1);var float={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o))}n(l)}}(float);var array$5={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t,"array")&&!e.required)return n();r.default.required(e,t,i,l,o,"array"),(0,a.isEmptyValue)(t,"array")||(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o))}n(l)}}(array$5);var object$2={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&r.default.type(e,t,i,l,o)}n(l)}}(object$2);var _enum={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),t&&r.default.enum(e,t,i,l,o)}n(l)}}(_enum);var pattern={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t,"string")&&!e.required)return n();r.default.required(e,t,i,l,o),(0,a.isEmptyValue)(t,"string")||r.default.pattern(e,t,i,l,o)}n(l)}}(pattern);var date$2={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();if(r.default.required(e,t,i,l,o),!(0,a.isEmptyValue)(t)){var s=void 0;s="number"==typeof t?new Date(t):t,r.default.type(e,s,i,l,o),s&&r.default.range(e,s.getTime(),i,l,o)}}n(l)}}(date$2);var required$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=(t=rule)&&t.__esModule?t:{default:t};e.default=function(e,t,n,i,o){var l=[],s=Array.isArray(t)?"array":void 0===t?"undefined":r(t);a.default.required(e,t,i,l,o,s),n(l)}}(required$1);var type$2={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$a;e.default=function(e,t,n,i,o){var l=e.type,s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t,l)&&!e.required)return n();r.default.required(e,t,i,s,o,l),(0,a.isEmptyValue)(t,l)||r.default.type(e,t,i,s,o)}n(s)}}(type$2),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=h(string$2),r=h(method),a=h(number$3),n=h(boolean),i=h(regexp),o=h(integer$1),l=h(float),s=h(array$5),c=h(object$2),u=h(_enum),f=h(pattern),A=h(date$2),d=h(required$1),p=h(type$2);function h(e){return e&&e.__esModule?e:{default:e}}e.default={string:t.default,method:r.default,number:a.default,boolean:n.default,regexp:i.default,integer:o.default,float:l.default,array:s.default,object:c.default,enum:u.default,pattern:f.default,date:A.default,url:p.default,hex:p.default,email:p.default,required:d.default}}(validator);var messages={};function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}Object.defineProperty(messages,"__esModule",{value:!0}),messages.newMessages=newMessages,messages.messages=newMessages(),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};if("function"==typeof s&&(c=s,s={}),!this.rules||0===Object.keys(this.rules).length)return c&&c(),Promise.resolve();if(s.messages){var u=this.messages();u===o.messages&&(u=(0,o.newMessages)()),(0,n.deepMerge)(u,s.messages),s.messages=u}else s.messages=this.messages();var f=void 0,A=void 0,d={};(s.keys||Object.keys(this.rules)).forEach((function(a){f=t.rules[a],A=i[a],f.forEach((function(n){var o=n;"function"==typeof o.transform&&(i===e&&(i=r({},i)),A=i[a]=o.transform(A)),(o="function"==typeof o?{validator:o}:r({},o)).validator=t.getValidationMethod(o),o.field=a,o.fullField=o.fullField||a,o.type=t.getType(o),o.validator&&(d[a]=d[a]||[],d[a].push({rule:o,value:A,source:i,field:a}))}))}));var p={};return(0,n.asyncMap)(d,s,(function(e,t){var i=e.rule,o=!("object"!==i.type&&"array"!==i.type||"object"!==a(i.fields)&&"object"!==a(i.defaultField));function c(e,t){return r({},t,{fullField:i.fullField+"."+e})}function u(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(Array.isArray(a)||(a=[a]),!s.suppressWarning&&a.length&&l.warning("async-validator:",a),a.length&&i.message&&(a=[].concat(i.message)),a=a.map((0,n.complementError)(i)),s.first&&a.length)return p[i.field]=1,t(a);if(o){if(i.required&&!e.value)return a=i.message?[].concat(i.message).map((0,n.complementError)(i)):s.error?[s.error(i,(0,n.format)(s.messages.required,i.field))]:[],t(a);var u={};if(i.defaultField)for(var f in e.value)e.value.hasOwnProperty(f)&&(u[f]=i.defaultField);for(var A in u=r({},u,e.rule.fields))if(u.hasOwnProperty(A)){var d=Array.isArray(u[A])?u[A]:[u[A]];u[A]=d.map(c.bind(null,A))}var h=new l(u);h.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),h.validate(e.value,e.rule.options||s,(function(e){var r=[];a&&a.length&&r.push.apply(r,a),e&&e.length&&r.push.apply(r,e),t(r.length?r:null)}))}else t(a)}o=o&&(i.required||!i.required&&e.value),i.field=e.field;var f=void 0;i.asyncValidator?f=i.asyncValidator(i,e.value,u,e.source,s):i.validator&&(!0===(f=i.validator(i,e.value,u,e.source,s))?u():!1===f?u(i.message||i.field+" fails"):f instanceof Array?u(f):f instanceof Error&&u(f.message)),f&&f.then&&f.then((function(){return u()}),(function(e){return u(e)}))}),(function(e){!function(e){var t=void 0,r=[],a={};function i(e){var t;Array.isArray(e)?r=(t=r).concat.apply(t,e):r.push(e)}for(t=0;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1],r=arguments[2],a=arguments[3],n=arguments[4];if(r(e,t))n(e,t);else if(null==t);else if(Array.isArray(t))t.forEach((function(t,i){return treeTraverse(e+"["+i+"]",t,r,a,n)}));else{if("object"!=typeof t)return;Object.keys(t).forEach((function(i){var o=t[i];treeTraverse(e+(e?".":"")+i,o,r,a,n)}))}}function flattenFields(e,t,r){var a={};return treeTraverse(void 0,e,t,r,(function(e,t){a[e]=t})),a}function normalizeValidateRules(e,t,r){var a=e.map((function(e){var t=_default$bE({},e,{trigger:e.trigger||[]});return"string"==typeof t.trigger&&(t.trigger=[t.trigger]),t}));return t&&a.push({trigger:r?[].concat(r):[],rules:t}),a}function getValidateTriggers(e){return e.filter((function(e){return!!e.rules&&e.rules.length})).map((function(e){return e.trigger})).reduce((function(e,t){return e.concat(t)}),[])}function getValueFromEvent(e){if(!e||!e.target)return e;var t=e.target;return"checkbox"===t.type?t.checked:t.value}function getErrorStrs(e){return e?e.map((function(e){return e&&e.message?e.message:e})):e}function getParams(e,t,r){var a=e,n=t,i=r;return void 0===r&&("function"==typeof a?(i=a,n={},a=void 0):Array.isArray(a)?"function"==typeof n?(i=n,n={}):n=n||{}:(i=n,n=a||{},a=void 0)),{names:a,options:n,callback:i}}function isEmptyObject$2(e){return 0===Object.keys(e).length}function hasRules(e){return!!e&&e.some((function(e){return e.rules&&e.rules.length}))}function startsWith(e,t){return 0===e.lastIndexOf(t,0)}function supportRef$2(e){var t=reactIsExports.isMemo(e)?e.type.type:e.type;return!!("function"!=typeof t||t.prototype&&t.prototype.render)&&!!("function"!=typeof e||e.prototype&&e.prototype.render)}function partOf(e,t){return 0===t.indexOf(e)&&-1!==[".","["].indexOf(t[e.length])}function internalFlattenFields(e){return flattenFields(e,(function(e,t){return isFormField(t)}),"You must wrap field data with `createFormField`.")}var FieldsStore=function(){function e(t){_default$c(this,e),_initialiseProps$4.call(this),this.fields=internalFlattenFields(t),this.fieldsMeta={}}return _default$b(e,[{key:"updateFields",value:function(e){this.fields=internalFlattenFields(e)}},{key:"flattenRegisteredFields",value:function(e){var t=this.getAllFieldsName();return flattenFields(e,(function(e){return t.indexOf(e)>=0}),"You cannot set a form field before rendering a field associated with the value.")}},{key:"setFields",value:function(e){var t=this,r=this.fieldsMeta,a=_default$bE({},this.fields,e),n={};Object.keys(r).forEach((function(e){n[e]=t.getValueFromFields(e,a)})),Object.keys(n).forEach((function(e){var r=n[e],i=t.getFieldMeta(e);if(i&&i.normalize){var o=i.normalize(r,t.getValueFromFields(e,t.fields),n);o!==r&&(a[e]=_default$bE({},a[e],{value:o}))}})),this.fields=a}},{key:"resetFields",value:function(e){var t=this.fields;return(e?this.getValidFieldsFullName(e):this.getAllFieldsName()).reduce((function(e,r){var a=t[r];return a&&"value"in a&&(e[r]={}),e}),{})}},{key:"setFieldMeta",value:function(e,t){this.fieldsMeta[e]=t}},{key:"setFieldsAsDirty",value:function(){var e=this;Object.keys(this.fields).forEach((function(t){var r=e.fields[t],a=e.fieldsMeta[t];r&&a&&hasRules(a.validate)&&(e.fields[t]=_default$bE({},r,{dirty:!0}))}))}},{key:"getFieldMeta",value:function(e){return this.fieldsMeta[e]=this.fieldsMeta[e]||{},this.fieldsMeta[e]}},{key:"getValueFromFields",value:function(e,t){var r=t[e];if(r&&"value"in r)return r.value;var a=this.getFieldMeta(e);return a&&a.initialValue}},{key:"getValidFieldsName",value:function(){var e=this,t=this.fieldsMeta;return t?Object.keys(t).filter((function(t){return!e.getFieldMeta(t).hidden})):[]}},{key:"getAllFieldsName",value:function(){var e=this.fieldsMeta;return e?Object.keys(e):[]}},{key:"getValidFieldsFullName",value:function(e){var t=Array.isArray(e)?e:[e];return this.getValidFieldsName().filter((function(e){return t.some((function(t){return e===t||startsWith(e,t)&&[".","["].indexOf(e[t.length])>=0}))}))}},{key:"getFieldValuePropValue",value:function(e){var t=e.name,r=e.getValueProps,a=e.valuePropName,n=this.getField(t),i="value"in n?n.value:e.initialValue;return r?r(i):_default$e({},a,i)}},{key:"getField",value:function(e){return _default$bE({},this.fields[e],{name:e})}},{key:"getNotCollectedFields",value:function(){var e=this;return this.getValidFieldsName().filter((function(t){return!e.fields[t]})).map((function(t){return{name:t,dirty:!1,value:e.getFieldMeta(t).initialValue}})).reduce((function(e,t){return set_1(e,t.name,createFormField(t))}),{})}},{key:"getNestedAllFields",value:function(){var e=this;return Object.keys(this.fields).reduce((function(t,r){return set_1(t,r,createFormField(e.fields[r]))}),this.getNotCollectedFields())}},{key:"getFieldMember",value:function(e,t){return this.getField(e)[t]}},{key:"getNestedFields",value:function(e,t){return(e||this.getValidFieldsName()).reduce((function(e,r){return set_1(e,r,t(r))}),{})}},{key:"getNestedField",value:function(e,t){var r=this.getValidFieldsFullName(e);if(0===r.length||1===r.length&&r[0]===e)return t(e);var a="["===r[0][e.length],n=a?e.length:e.length+1;return r.reduce((function(e,r){return set_1(e,r.slice(n),t(r))}),a?[]:{})}},{key:"isValidNestedFieldName",value:function(e){return this.getAllFieldsName().every((function(t){return!partOf(t,e)&&!partOf(e,t)}))}},{key:"clearField",value:function(e){delete this.fields[e],delete this.fieldsMeta[e]}}]),e}(),_initialiseProps$4=function(){var e=this;this.setFieldsInitialValue=function(t){var r=e.flattenRegisteredFields(t),a=e.fieldsMeta;Object.keys(r).forEach((function(t){a[t]&&e.setFieldMeta(t,_default$bE({},e.getFieldMeta(t),{initialValue:r[t]}))}))},this.getAllValues=function(){var t=e.fieldsMeta,r=e.fields;return Object.keys(t).reduce((function(t,a){return set_1(t,a,e.getValueFromFields(a,r))}),{})},this.getFieldsValue=function(t){return e.getNestedFields(t,e.getFieldValue)},this.getFieldValue=function(t){var r=e.fields;return e.getNestedField(t,(function(t){return e.getValueFromFields(t,r)}))},this.getFieldsError=function(t){return e.getNestedFields(t,e.getFieldError)},this.getFieldError=function(t){return e.getNestedField(t,(function(t){return getErrorStrs(e.getFieldMember(t,"errors"))}))},this.isFieldValidating=function(t){return e.getFieldMember(t,"validating")},this.isFieldsValidating=function(t){return(t||e.getValidFieldsName()).some((function(t){return e.isFieldValidating(t)}))},this.isFieldTouched=function(t){return e.getFieldMember(t,"touched")},this.isFieldsTouched=function(t){return(t||e.getValidFieldsName()).some((function(t){return e.isFieldTouched(t)}))}};function createFieldsStore(e){return new FieldsStore(e)}var FieldElemWrapper=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.name,r=e.form;r.domFields[t]=!0,r.recoverClearedField(t)}},{key:"componentWillUnmount",value:function(){var e=this.props,t=e.name,r=e.form,a=r.fieldsStore.getFieldMeta(t);a.preserve||(r.clearedFieldMetaCache[t]={field:r.fieldsStore.getField(t),meta:a},r.clearField(t)),delete r.domFields[t]}},{key:"render",value:function(){return this.props.children}}]),t}(React$k.Component);FieldElemWrapper.propTypes={name:propTypesExports.string,form:propTypesExports.shape({domFields:propTypesExports.objectOf(propTypesExports.bool),recoverClearedField:propTypesExports.func,fieldsStore:propTypesExports.shape({getFieldMeta:propTypesExports.func,getField:propTypesExports.func}),clearedFieldMetaCache:propTypesExports.objectOf(propTypesExports.shape({field:propTypesExports.object,meta:propTypesExports.object})),clearField:propTypesExports.func}),children:propTypesExports.node};var DEFAULT_TRIGGER="onChange";function createBaseForm(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=e.validateMessages,a=e.onFieldsChange,n=e.onValuesChange,i=e.mapProps,o=void 0===i?identity$c:i,l=e.mapPropsToFields,s=e.fieldNameProp,c=e.fieldMetaProp,u=e.fieldDataProp,f=e.formPropName,A=void 0===f?"form":f,d=e.name,p=e.withRef;return function(e){var i=createReactClass({displayName:"Form",mixins:t,getInitialState:function(){var e=this,t=l&&l(this.props);return this.fieldsStore=createFieldsStore(t||{}),this.instances={},this.cachedBind={},this.clearedFieldMetaCache={},this.renderFields={},this.domFields={},["getFieldsValue","getFieldValue","setFieldsInitialValue","getFieldsError","getFieldError","isFieldValidating","isFieldsValidating","isFieldsTouched","isFieldTouched"].forEach((function(t){e[t]=function(){var r;return(r=e.fieldsStore)[t].apply(r,arguments)}})),{submitting:!1}},componentDidMount:function(){this.cleanUpUselessFields()},componentWillReceiveProps:function(e){l&&this.fieldsStore.updateFields(l(e))},componentDidUpdate:function(){this.cleanUpUselessFields()},onCollectCommon:function(e,t,r){var a=this.fieldsStore.getFieldMeta(e);if(a[t])a[t].apply(a,_default$7(r));else if(a.originalProps&&a.originalProps[t]){var i;(i=a.originalProps)[t].apply(i,_default$7(r))}var o=a.getValueFromEvent?a.getValueFromEvent.apply(a,_default$7(r)):getValueFromEvent.apply(void 0,_default$7(r));if(n&&o!==this.fieldsStore.getFieldValue(e)){var l=this.fieldsStore.getAllValues(),s={};l[e]=o,Object.keys(l).forEach((function(e){return set_1(s,e,l[e])})),n(_default$bE(_default$e({},A,this.getForm()),this.props),set_1({},e,o),s)}var c=this.fieldsStore.getField(e);return{name:e,field:_default$bE({},c,{value:o,touched:!0}),fieldMeta:a}},onCollect:function(e,t){for(var r=arguments.length,a=Array(r>2?r-2:0),n=2;n2?r-2:0),n=2;n1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new Error("Must call `getFieldProps` with valid name string!");delete this.clearedFieldMetaCache[e];var a=_default$bE({name:e,trigger:DEFAULT_TRIGGER,valuePropName:"value",validate:[]},r),n=a.rules,i=a.trigger,o=a.validateTrigger,l=void 0===o?i:o,f=a.validate,A=this.fieldsStore.getFieldMeta(e);"initialValue"in a&&(A.initialValue=a.initialValue);var p=_default$bE({},this.fieldsStore.getFieldValuePropValue(a),{ref:this.getCacheBind(e,e+"__ref",this.saveRef)});s&&(p[s]=d?d+"_"+e:e);var h=normalizeValidateRules(f,n,l),b=getValidateTriggers(h);b.forEach((function(r){p[r]||(p[r]=t.getCacheBind(e,r,t.onCollectValidate))})),i&&-1===b.indexOf(i)&&(p[i]=this.getCacheBind(e,i,this.onCollect));var g=_default$bE({},A,a,{validate:h});return this.fieldsStore.setFieldMeta(e,g),c&&(p[c]=g),u&&(p[u]=this.fieldsStore.getField(e)),this.renderFields[e]=!0,p},getFieldInstance:function(e){return this.instances[e]},getRules:function(e,t){return flattenArray(e.validate.filter((function(e){return!t||e.trigger.indexOf(t)>=0})).map((function(e){return e.rules})))},setFields:function(e,t){var r=this,n=this.fieldsStore.flattenRegisteredFields(e);if(this.fieldsStore.setFields(n),a){var i=Object.keys(n).reduce((function(e,t){return set_1(e,t,r.fieldsStore.getField(t))}),{});a(_default$bE(_default$e({},A,this.getForm()),this.props),i,this.fieldsStore.getNestedAllFields())}this.forceUpdate(t)},setFieldsValue:function(e,t){var r=this.fieldsStore.fieldsMeta,a=this.fieldsStore.flattenRegisteredFields(e),i=Object.keys(a).reduce((function(e,t){if(r[t]){var n=a[t];e[t]={value:n}}return e}),{});if(this.setFields(i,t),n){var o=this.fieldsStore.getAllValues();n(_default$bE(_default$e({},A,this.getForm()),this.props),e,o)}},saveRef:function(e,t,r){if(!r){var a=this.fieldsStore.getFieldMeta(e);return a.preserve||(this.clearedFieldMetaCache[e]={field:this.fieldsStore.getField(e),meta:a},this.clearField(e)),void delete this.domFields[e]}this.domFields[e]=!0,this.recoverClearedField(e);var n=this.fieldsStore.getFieldMeta(e);if(n){var i=n.ref;if(i){if("string"==typeof i)throw new Error("can not set ref string for "+e);"function"==typeof i?i(r):Object.prototype.hasOwnProperty.call(i,"current")&&(i.current=r)}}this.instances[e]=r},cleanUpUselessFields:function(){var e=this,t=this.fieldsStore.getAllFieldsName().filter((function(t){var r=e.fieldsStore.getFieldMeta(t);return!e.renderFields[t]&&!e.domFields[t]&&!r.preserve}));t.length&&t.forEach(this.clearField),this.renderFields={}},clearField:function(e){this.fieldsStore.clearField(e),delete this.instances[e],delete this.cachedBind[e]},resetFields:function(e){var t=this,r=this.fieldsStore.resetFields(e);(Object.keys(r).length>0&&this.setFields(r),e)?(Array.isArray(e)?e:[e]).forEach((function(e){return delete t.clearedFieldMetaCache[e]})):this.clearedFieldMetaCache={}},recoverClearedField:function(e){this.clearedFieldMetaCache[e]&&(this.fieldsStore.setFields(_default$e({},e,this.clearedFieldMetaCache[e].field)),this.fieldsStore.setFieldMeta(e,this.clearedFieldMetaCache[e].meta),delete this.clearedFieldMetaCache[e])},validateFieldsInternal:function(e,t,a){var n=this,i=t.fieldNames,o=t.action,l=t.options,s=void 0===l?{}:l,c={},u={},f={},A={};if(e.forEach((function(e){var t=e.name;if(!0===s.force||!1!==e.dirty){var r=n.fieldsStore.getFieldMeta(t),a=_default$bE({},e);a.errors=void 0,a.validating=!0,a.dirty=!0,c[t]=n.getRules(r,o),u[t]=a.value,f[t]=a}else e.errors&&set_1(A,t,{errors:e.errors})})),this.setFields(f),Object.keys(u).forEach((function(e){u[e]=n.fieldsStore.getFieldValue(e)})),a&&isEmptyObject$2(f))a(isEmptyObject$2(A)?null:A,this.fieldsStore.getFieldsValue(i));else{var d=new AsyncValidator(c);r&&d.messages(r),d.validate(u,s,(function(e){var t=_default$bE({},A);e&&e.length&&e.forEach((function(e){var r=e.field,a=r;Object.keys(c).some((function(e){var t=c[e]||[];if(e===r)return a=e,!0;if(t.every((function(e){return"array"!==e.type}))||0!==r.indexOf(e+"."))return!1;var n=r.slice(e.length+1);return!!/^\d+$/.test(n)&&(a=e,!0)}));var n=get_1$1(t,a);("object"!=typeof n||Array.isArray(n))&&set_1(t,a,{errors:[]}),get_1$1(t,a.concat(".errors")).push(e)}));var r=[],o={};Object.keys(c).forEach((function(e){var a=get_1$1(t,e),i=n.fieldsStore.getField(e);eq_1(i.value,u[e])?(i.errors=a&&a.errors,i.value=u[e],i.validating=!1,i.dirty=!1,o[e]=i):r.push({name:e})})),n.setFields(o),a&&(r.length&&r.forEach((function(e){var r=e.name;set_1(t,r,{expired:!0,errors:[{message:r+" need to revalidate",field:r}]})})),a(isEmptyObject$2(t)?null:t,n.fieldsStore.getFieldsValue(i)))}))}},validateFields:function(e,t,r){var a=this,n=new Promise((function(n,i){var o=getParams(e,t,r),l=o.names,s=o.options,c=getParams(e,t,r).callback;if(!c||"function"==typeof c){var u=c;c=function(e,t){u&&u(e,t),e?i({errors:e,values:t}):n(t)}}var f=l?a.fieldsStore.getValidFieldsFullName(l):a.fieldsStore.getValidFieldsName(),A=f.filter((function(e){return hasRules(a.fieldsStore.getFieldMeta(e).validate)})).map((function(e){var t=a.fieldsStore.getField(e);return t.value=a.fieldsStore.getFieldValue(e),t}));A.length?("firstFields"in s||(s.firstFields=f.filter((function(e){return!!a.fieldsStore.getFieldMeta(e).validateFirst}))),a.validateFieldsInternal(A,{fieldNames:f,options:s},c)):c(null,a.fieldsStore.getFieldsValue(f))}));return n.catch((function(e){return console.error,e})),n},isSubmitting:function(){return this.state.submitting},submit:function(e){var t=this;this.setState({submitting:!0}),e((function(){t.setState({submitting:!1})}))},render:function(){var t=this.props,r=t.wrappedComponentRef,a=_default$d(t,["wrappedComponentRef"]),n=_default$e({},A,this.getForm());p?n.ref="wrappedComponent":r&&(n.ref=r);var i=o.call(this,_default$bE({},n,a));return React$k.createElement(e,i)}});return argumentContainer(unsafeLifecyclesPolyfill(i),e)}}var mixin$1={getForm:function(){return{getFieldsValue:this.fieldsStore.getFieldsValue,getFieldValue:this.fieldsStore.getFieldValue,getFieldInstance:this.getFieldInstance,setFieldsValue:this.setFieldsValue,setFields:this.setFields,setFieldsInitialValue:this.fieldsStore.setFieldsInitialValue,getFieldDecorator:this.getFieldDecorator,getFieldProps:this.getFieldProps,getFieldsError:this.fieldsStore.getFieldsError,getFieldError:this.fieldsStore.getFieldError,isFieldValidating:this.fieldsStore.isFieldValidating,isFieldsValidating:this.fieldsStore.isFieldsValidating,isFieldsTouched:this.fieldsStore.isFieldsTouched,isFieldTouched:this.fieldsStore.isFieldTouched,isSubmitting:this.isSubmitting,submit:this.submit,validateFields:this.validateFields,resetFields:this.resetFields}}};function computedStyle(e,t){var r=window.getComputedStyle,a=r?r(e):e.currentStyle;if(a)return a[t.replace(/-(\w)/gi,(function(e,t){return t.toUpperCase()}))]}function getScrollableContainer(e){for(var t=e,r=void 0;"body"!==(r=t.nodeName.toLowerCase());){var a=computedStyle(t,"overflowY");if(t!==e&&("auto"===a||"scroll"===a)&&t.scrollHeight>t.clientHeight)return t;t=t.parentNode}return"body"===r?t.ownerDocument:t}var mixin={getForm:function(){return _default$bE({},mixin$1.getForm.call(this),{validateFieldsAndScroll:this.validateFieldsAndScroll})},validateFieldsAndScroll:function(e,t,r){var a=this,n=getParams(e,t,r),i=n.names,o=n.callback,l=n.options;return this.validateFields(i,l,(function(e,t){if(e){var r=a.fieldsStore.getValidFieldsName(),n=void 0,i=void 0;if(r.forEach((function(t){if(has_1(e,t)){var r=a.getFieldInstance(t);if(r){var o=ReactDOM.findDOMNode(r),l=o.getBoundingClientRect().top;"hidden"!==o.type&&(void 0===i||i>l)&&(i=l,n=o)}}})),n){var s=l.container||getScrollableContainer(n);scrollIntoView(n,s,_default$bE({onlyScrollIfNeeded:!0},l.scroll))}}"function"==typeof o&&o(e,t)}))}};function createDOMForm(e){return createBaseForm(_default$bE({},e),[mixin])}var RowContext$1=createReactContext({});const RowContext$2=RowContext$1;var QueryHandler_1,hasRequiredQueryHandler,Util,hasRequiredUtil$2,MediaQuery_1,hasRequiredMediaQuery,MediaQueryDispatch_1,hasRequiredMediaQueryDispatch,src,hasRequiredSrc,enquire;function requireQueryHandler(){if(hasRequiredQueryHandler)return QueryHandler_1;function e(e){this.options=e,!e.deferSetup&&this.setup()}return hasRequiredQueryHandler=1,e.prototype={constructor:e,setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(e){return this.options===e||this.options.match===e}},QueryHandler_1=e}function requireUtil$2(){if(hasRequiredUtil$2)return Util;return hasRequiredUtil$2=1,Util={isFunction:function(e){return"function"==typeof e},isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},each:function(e,t){for(var r=0,a=e.length;r0?{marginLeft:p[0]/-2,marginRight:p[0]/-2}:{}),p[1]>0?{marginTop:p[1]/-2,marginBottom:p[1]/-2}:{}),u),g=_extends$1P({},A);return delete g.gutter,reactExports.createElement(RowContext$2.Provider,{value:{gutter:p}},reactExports.createElement("div",_extends$1P({},g,{className:h,style:b}),f))},e}return _createClass$1E(r,[{key:"componentDidMount",value:function(){var e=this;this.token=ResponsiveObserve.subscribe((function(t){var r=e.props.gutter;("object"===_typeof$X(r)||Array.isArray(r)&&("object"===_typeof$X(r[0])||"object"===_typeof$X(r[1])))&&e.setState({screens:t})}))}},{key:"componentWillUnmount",value:function(){ResponsiveObserve.unsubscribe(this.token)}},{key:"getGutter",value:function(){var e=[0,0],t=this.props.gutter,r=this.state.screens;return(Array.isArray(t)?t:[t,0]).forEach((function(t,a){if("object"===_typeof$X(t))for(var n=0;n0?{paddingLeft:t[0]/2,paddingRight:t[0]/2}:{}),t[1]>0?{paddingTop:t[1]/2,paddingBottom:t[1]/2}:{}),r)),reactExports.createElement("div",_extends$1O({},d,{style:r,className:b}),A)}))},e}return _createClass$1D(r,[{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderCol)}}]),r}(reactExports.Component);Col.propTypes={span:propTypesExports.number,order:propTypesExports.number,offset:propTypesExports.number,push:propTypesExports.number,pull:propTypesExports.number,className:propTypesExports.string,children:propTypesExports.node,xs:objectOrNumber,sm:objectOrNumber,md:objectOrNumber,lg:objectOrNumber,xl:objectOrNumber,xxl:objectOrNumber};var FIELD_META_PROP$1="data-__meta",FIELD_DATA_PROP$1="data-__field",FormContext=createReactContext({labelAlign:"right",vertical:!1});const FormContext$1=FormContext;function _typeof$V(e){return _typeof$V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$V(e)}function _extends$1N(){return _extends$1N=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r0));i++){var o=n[i];(!o.type||o.type!==r&&"FormItem"!==o.type.displayName)&&o.props&&(FIELD_META_PROP$1 in o.props?a.push(o):o.props.children&&(a=a.concat(this.getControls(o.props.children,t))))}return a}},{key:"getOnlyControl",value:function(){var e=this.getControls(this.props.children,!1)[0];return void 0!==e?e:null}},{key:"getChildProp",value:function(e){var t=this.getOnlyControl();return t&&t.props&&t.props[e]}},{key:"getId",value:function(){return this.getChildProp("id")}},{key:"getMeta",value:function(){return this.getChildProp(FIELD_META_PROP$1)}},{key:"getField",value:function(){return this.getChildProp(FIELD_DATA_PROP$1)}},{key:"getValidateStatus",value:function(){if(!this.getOnlyControl())return"";var e=this.getField();if(e.validating)return"validating";if(e.errors)return"error";var t="value"in e?e.value:this.getMeta().initialValue;return null!=t&&""!==t?"success":""}},{key:"isRequired",value:function(){var e=this.props.required;return void 0!==e?e:!!this.getOnlyControl()&&((this.getMeta()||{}).validate||[]).filter((function(e){return!!e.rules})).some((function(e){return e.rules.some((function(e){return e.required}))}))}},{key:"renderHelp",value:function(e){var t=this.getHelpMessage(),r=t?reactExports.createElement("div",{className:"".concat(e,"-explain"),key:"help"},t):null;return r&&(this.helpShow=!!r),reactExports.createElement(Animate$1,{transitionName:"show-help",component:"",transitionAppear:!0,key:"help",onEnd:this.onHelpAnimEnd},r)}},{key:"renderExtra",value:function(e){var t=this.props.extra;return t?reactExports.createElement("div",{className:"".concat(e,"-extra")},t):null}},{key:"renderValidateWrapper",value:function(e,t,r,a){var n=this.props,i=this.getOnlyControl,o=void 0===n.validateStatus&&i?this.getValidateStatus():n.validateStatus,l="".concat(e,"-item-control");o&&(l=classNames("".concat(e,"-item-control"),{"has-feedback":o&&n.hasFeedback,"has-success":"success"===o,"has-warning":"warning"===o,"has-error":"error"===o,"is-validating":"validating"===o}));var s="";switch(o){case"success":s="check-circle";break;case"warning":s="exclamation-circle";break;case"error":s="close-circle";break;case"validating":s="loading";break;default:s=""}var c=n.hasFeedback&&s?reactExports.createElement("span",{className:"".concat(e,"-item-children-icon")},reactExports.createElement(Icon$1,{type:s,theme:"loading"===s?"outlined":"filled"})):null;return reactExports.createElement("div",{className:l},reactExports.createElement("span",{className:"".concat(e,"-item-children")},t,c),r,a)}},{key:"renderWrapper",value:function(e,t){var r=this;return reactExports.createElement(FormContext$1.Consumer,{key:"wrapper"},(function(a){var n=a.wrapperCol,i=a.vertical,o=r.props.wrapperCol,l=("wrapperCol"in r.props?o:n)||{},s=classNames("".concat(e,"-item-control-wrapper"),l.className);return reactExports.createElement(FormContext$1.Provider,{value:{vertical:i}},reactExports.createElement(Col,_extends$1N({},l,{className:s}),t))}))}},{key:"renderLabel",value:function(e){var t=this;return reactExports.createElement(FormContext$1.Consumer,{key:"label"},(function(r){var a,n=r.vertical,i=r.labelAlign,o=r.labelCol,l=r.colon,s=t.props,c=s.label,u=s.labelCol,f=s.labelAlign,A=s.colon,d=s.id,p=s.htmlFor,h=t.isRequired(),b=("labelCol"in t.props?u:o)||{},g="labelAlign"in t.props?f:i,m="".concat(e,"-item-label"),v=classNames(m,"left"===g&&"".concat(m,"-left"),b.className),y=c,w=!0===A||!1!==l&&!1!==A;w&&!n&&"string"==typeof c&&""!==c.trim()&&(y=c.replace(/[::]\s*$/,""));var k=classNames((_defineProperty$Z(a={},"".concat(e,"-item-required"),h),_defineProperty$Z(a,"".concat(e,"-item-no-colon"),!w),a));return c?reactExports.createElement(Col,_extends$1N({},b,{className:v}),reactExports.createElement("label",{htmlFor:p||d||t.getId(),className:k,title:"string"==typeof c?c:"",onClick:t.onLabelClick},y)):null}))}},{key:"renderChildren",value:function(e){var t=this.props.children;return[this.renderLabel(e),this.renderWrapper(e,this.renderValidateWrapper(e,t,this.renderHelp(e),this.renderExtra(e)))]}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderFormItem)}}]),r}(reactExports.Component);function _typeof$U(e){return _typeof$U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$U(e)}function _extends$1M(){return _extends$1M=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{}),{fieldMetaProp:FIELD_META_PROP$1,fieldDataProp:FIELD_DATA_PROP$1}))};var ClearableInputType=tuple$1("text","input");function hasPrefixSuffix(e){return!!(e.prefix||e.suffix||e.allowClear)}var ClearableLabeledInput=function(e){_inherits$1D(r,e);var t=_createSuper$P(r);function r(){return _classCallCheck$1F(this,r),t.apply(this,arguments)}return _createClass$1A(r,[{key:"renderClearIcon",value:function(e){var t=this.props,r=t.allowClear,a=t.value,n=t.disabled,i=t.readOnly,o=t.inputType,l=t.handleReset;if(!r||n||i||null==a||""===a)return null;var s=o===ClearableInputType[0]?"".concat(e,"-textarea-clear-icon"):"".concat(e,"-clear-icon");return reactExports.createElement(Icon$1,{type:"close-circle",theme:"filled",onClick:l,className:s,role:"button"})}},{key:"renderSuffix",value:function(e){var t=this.props,r=t.suffix,a=t.allowClear;return r||a?reactExports.createElement("span",{className:"".concat(e,"-suffix")},this.renderClearIcon(e),r):null}},{key:"renderLabeledIcon",value:function(e,t){var r,a=this.props,n=this.renderSuffix(e);if(!hasPrefixSuffix(a))return reactExports.cloneElement(t,{value:a.value});var i=a.prefix?reactExports.createElement("span",{className:"".concat(e,"-prefix")},a.prefix):null,o=classNames(a.className,"".concat(e,"-affix-wrapper"),(_defineProperty$X(r={},"".concat(e,"-affix-wrapper-sm"),"small"===a.size),_defineProperty$X(r,"".concat(e,"-affix-wrapper-lg"),"large"===a.size),_defineProperty$X(r,"".concat(e,"-affix-wrapper-input-with-clear-btn"),a.suffix&&a.allowClear&&this.props.value),r));return reactExports.createElement("span",{className:o,style:a.style},i,reactExports.cloneElement(t,{style:null,value:a.value,className:getInputClassName(e,a.size,a.disabled)}),n)}},{key:"renderInputWithLabel",value:function(e,t){var r,a=this.props,n=a.addonBefore,i=a.addonAfter,o=a.style,l=a.size,s=a.className;if(!n&&!i)return t;var c="".concat(e,"-group"),u="".concat(c,"-addon"),f=n?reactExports.createElement("span",{className:u},n):null,A=i?reactExports.createElement("span",{className:u},i):null,d=classNames("".concat(e,"-wrapper"),_defineProperty$X({},c,n||i)),p=classNames(s,"".concat(e,"-group-wrapper"),(_defineProperty$X(r={},"".concat(e,"-group-wrapper-sm"),"small"===l),_defineProperty$X(r,"".concat(e,"-group-wrapper-lg"),"large"===l),r));return reactExports.createElement("span",{className:p,style:o},reactExports.createElement("span",{className:d},f,reactExports.cloneElement(t,{style:null}),A))}},{key:"renderTextAreaWithClearIcon",value:function(e,t){var r=this.props,a=r.value,n=r.allowClear,i=r.className,o=r.style;if(!n)return reactExports.cloneElement(t,{value:a});var l=classNames(i,"".concat(e,"-affix-wrapper"),"".concat(e,"-affix-wrapper-textarea-with-clear-btn"));return reactExports.createElement("span",{className:l,style:o},reactExports.cloneElement(t,{style:null,value:a}),this.renderClearIcon(e))}},{key:"renderClearableLabeledInput",value:function(){var e=this.props,t=e.prefixCls,r=e.inputType,a=e.element;return r===ClearableInputType[0]?this.renderTextAreaWithClearIcon(t,a):this.renderInputWithLabel(t,this.renderLabeledIcon(t,a))}},{key:"render",value:function(){return this.renderClearableLabeledInput()}}]),r}(reactExports.Component);polyfill(ClearableLabeledInput);const ClearableLabeledInput$1=ClearableLabeledInput;function _typeof$S(e){return _typeof$S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$S(e)}function _extends$1L(){return _extends$1L=Object.assign||function(e){for(var t=1;t1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(r=!0),r}function _typeof$R(e){return _typeof$R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$R(e)}function _defineProperty$U(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _extends$1K(){return _extends$1K=Object.assign||function(e){for(var t=1;t1)warning_1$2.default(!1,"Find more than one child node with `children` in ResizeObserver. Will only observe first one.");else if(0===t.length)return warning_1$2.default(!1,"`children` of ResizeObserver is empty. Nothing is in observe."),null;var r=t[0];if(React$h.isValidElement(r)&&util_1.supportRef(r)){var a=r.ref;t[0]=React$h.cloneElement(r,{ref:ref_1.composeRef(a,this.setChildNode)})}return 1===t.length?t[0]:t.map((function(e,t){return!React$h.isValidElement(e)||"key"in e&&null!==e.key?e:React$h.cloneElement(e,{key:"".concat(INTERNAL_PREFIX_KEY,"-").concat(t)})}))}}]),t}(React$h.Component);ReactResizeObserver.displayName="ResizeObserver";var _default$5=es$1.default=ReactResizeObserver,HIDDEN_TEXTAREA_STYLE="\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n",SIZING_STYLE=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"],computedStyleCache={},hiddenTextarea;function calculateNodeStyling(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.getAttribute("id")||e.getAttribute("data-reactid")||e.getAttribute("name");if(t&&computedStyleCache[r])return computedStyleCache[r];var a=window.getComputedStyle(e),n=a.getPropertyValue("box-sizing")||a.getPropertyValue("-moz-box-sizing")||a.getPropertyValue("-webkit-box-sizing"),i=parseFloat(a.getPropertyValue("padding-bottom"))+parseFloat(a.getPropertyValue("padding-top")),o=parseFloat(a.getPropertyValue("border-bottom-width"))+parseFloat(a.getPropertyValue("border-top-width")),l={sizingStyle:SIZING_STYLE.map((function(e){return"".concat(e,":").concat(a.getPropertyValue(e))})).join(";"),paddingSize:i,borderSize:o,boxSizing:n};return t&&r&&(computedStyleCache[r]=l),l}function calculateNodeHeight(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;hiddenTextarea||(hiddenTextarea=document.createElement("textarea"),document.body.appendChild(hiddenTextarea)),e.getAttribute("wrap")?hiddenTextarea.setAttribute("wrap",e.getAttribute("wrap")):hiddenTextarea.removeAttribute("wrap");var n=calculateNodeStyling(e,t),i=n.paddingSize,o=n.borderSize,l=n.boxSizing,s=n.sizingStyle;hiddenTextarea.setAttribute("style","".concat(s,";").concat(HIDDEN_TEXTAREA_STYLE)),hiddenTextarea.value=e.value||e.placeholder||"";var c,u=Number.MIN_SAFE_INTEGER,f=Number.MAX_SAFE_INTEGER,A=hiddenTextarea.scrollHeight;if("border-box"===l?A+=o:"content-box"===l&&(A-=i),null!==r||null!==a){hiddenTextarea.value=" ";var d=hiddenTextarea.scrollHeight-i;null!==r&&(u=d*r,"border-box"===l&&(u=u+i+o),A=Math.max(u,A)),null!==a&&(f=d*a,"border-box"===l&&(f=f+i+o),c=A>f?"":"hidden",A=Math.min(f,A))}return{height:A,minHeight:u,maxHeight:f,overflowY:c}}function _typeof$O(e){return _typeof$O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$O(e)}function _extends$1J(){return _extends$1J=Object.assign||function(e){for(var t=1;tencodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)),token="%[a-f0-9]{2}",singleMatcher=new RegExp("("+token+")|([^%]+?)","gi"),multiMatcher=new RegExp("("+token+")+","gi");function decodeComponents(e,t){try{return[decodeURIComponent(e.join(""))]}catch(err){}if(1===e.length)return e;t=t||1;var r=e.slice(0,t),a=e.slice(t);return Array.prototype.concat.call([],decodeComponents(r),decodeComponents(a))}function decode$3(e){try{return decodeURIComponent(e)}catch(err){for(var t=e.match(singleMatcher)||[],r=1;rnull===r?[encode$1(t,e),"[",a,"]"].join(""):[encode$1(t,e),"[",encode$1(a,e),"]=",encode$1(r,e)].join("");case"bracket":return(t,r)=>null===r?[encode$1(t,e),"[]"].join(""):[encode$1(t,e),"[]=",encode$1(r,e)].join("");default:return(t,r)=>null===r?encode$1(t,e):[encode$1(t,e),"=",encode$1(r,e)].join("")}}function parserForArrayFormat(e){let t;switch(e.arrayFormat){case"index":return(e,r,a)=>{t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===a[e]&&(a[e]={}),a[e][t[1]]=r):a[e]=r};case"bracket":return(e,r,a)=>{t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==a[e]?a[e]=[].concat(a[e],r):a[e]=[r]:a[e]=r};default:return(e,t,r)=>{void 0!==r[e]?r[e]=[].concat(r[e],t):r[e]=t}}}function encode$1(e,t){return t.encode?t.strict?strictUriEncode(e):encodeURIComponent(e):e}function decode$2(e,t){return t.decode?decodeComponent(e):e}function keysSorter(e){return Array.isArray(e)?e.sort():"object"==typeof e?keysSorter(Object.keys(e)).sort(((e,t)=>Number(e)-Number(t))).map((t=>e[t])):e}function extract(e){const t=e.indexOf("?");return-1===t?"":e.slice(t+1)}function parse$2(e,t){const r=parserForArrayFormat(t=Object.assign({decode:!0,arrayFormat:"none"},t)),a=Object.create(null);if("string"!=typeof e)return a;if(!(e=e.trim().replace(/^[?#&]/,"")))return a;for(const n of e.split("&")){let[e,i]=n.replace(/\+/g," ").split("=");i=void 0===i?null:decode$2(i,t),r(decode$2(e,t),i,a)}return Object.keys(a).sort().reduce(((e,t)=>{const r=a[t];return Boolean(r)&&"object"==typeof r&&!Array.isArray(r)?e[t]=keysSorter(r):e[t]=r,e}),Object.create(null))}queryString.extract=extract,queryString.parse=parse$2,queryString.stringify=(e,t)=>{if(!e)return"";const r=encoderForArrayFormat(t=Object.assign({encode:!0,strict:!0,arrayFormat:"none"},t)),a=Object.keys(e);return!1!==t.sort&&a.sort(t.sort),a.map((a=>{const n=e[a];if(void 0===n)return"";if(null===n)return encode$1(a,t);if(Array.isArray(n)){const e=[];for(const t of n.slice())void 0!==t&&e.push(r(a,t,e.length));return e.join("&")}return encode$1(a,t)+"="+encode$1(n,t)})).filter((e=>e.length>0)).join("&")},queryString.parseUrl=(e,t)=>{const r=e.indexOf("#");return-1!==r&&(e=e.slice(0,r)),{url:e.split("?")[0]||"",query:parse$2(extract(e),t)}};const ROUTE_PATH$6=prefixUrl("/trace/:id");function getUrl$6(e,t){const r=prefixUrl(`/trace/${e}`);return t?`${r}?${queryString.stringify({uiFind:t})}`:r}function getLocation(e,t,r){return{state:t,pathname:getUrl$6(e),search:r&&queryString.stringify({uiFind:r})}}const TraceIDSearchInput$2="";class TraceIDSearchInput extends reactExports.PureComponent{constructor(){super(...arguments),this.goToTrace=e=>{e.preventDefault();const t=e.target.elements.idInput.value;t&&this.props.history.push(getUrl$6(t))}}render(){return jsxRuntimeExports.jsx(Form,{layout:"horizontal",onSubmit:this.goToTrace,className:"TraceIDSearchInput--form",children:jsxRuntimeExports.jsx(Input$1,{name:"idInput",placeholder:"Lookup by Trace ID...",prefix:jsxRuntimeExports.jsx(Icon$1,{type:"search"})})})}}const TraceIDSearchInput$1=withRouter$1(TraceIDSearchInput),ROUTE_PATH$5=prefixUrl("/dependencies"),ROUTE_MATCHER$5={path:ROUTE_PATH$5,strict:!0,exact:!0};function matches$8(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$5))}function getUrl$5(){return ROUTE_PATH$5}var objectProto$9=Object.prototype;function isPrototype$4(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||objectProto$9)}var _isPrototype=isPrototype$4;function overArg$2(e,t){return function(r){return e(t(r))}}var _overArg=overArg$2,overArg$1=_overArg,nativeKeys$1=overArg$1(Object.keys,Object),_nativeKeys=nativeKeys$1,isPrototype$3=_isPrototype,nativeKeys=_nativeKeys,objectProto$8=Object.prototype,hasOwnProperty$8=objectProto$8.hasOwnProperty;function baseKeys$2(e){if(!isPrototype$3(e))return nativeKeys(e);var t=[];for(var r in Object(e))hasOwnProperty$8.call(e,r)&&"constructor"!=r&&t.push(r);return t}var _baseKeys=baseKeys$2,getNative$3=_getNative,root$8=_root,DataView$2=getNative$3(root$8,"DataView"),_DataView=DataView$2,getNative$2=_getNative,root$7=_root,Promise$3=getNative$2(root$7,"Promise"),_Promise=Promise$3,getNative$1=_getNative,root$6=_root,Set$4=getNative$1(root$6,"Set"),_Set=Set$4,getNative=_getNative,root$5=_root,WeakMap$2=getNative(root$5,"WeakMap"),_WeakMap=WeakMap$2,DataView$1=_DataView,Map$3=_Map,Promise$2=_Promise,Set$3=_Set,WeakMap$1=_WeakMap,baseGetTag$3=_baseGetTag,toSource=_toSource,mapTag$3="[object Map]",objectTag$3="[object Object]",promiseTag="[object Promise]",setTag$3="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$2="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$3),promiseCtorString=toSource(Promise$2),setCtorString=toSource(Set$3),weakMapCtorString=toSource(WeakMap$1),getTag$2=baseGetTag$3;(DataView$1&&getTag$2(new DataView$1(new ArrayBuffer(1)))!=dataViewTag$2||Map$3&&getTag$2(new Map$3)!=mapTag$3||Promise$2&&getTag$2(Promise$2.resolve())!=promiseTag||Set$3&&getTag$2(new Set$3)!=setTag$3||WeakMap$1&&getTag$2(new WeakMap$1)!=weakMapTag$1)&&(getTag$2=function(e){var t=baseGetTag$3(e),r=t==objectTag$3?e.constructor:void 0,a=r?toSource(r):"";if(a)switch(a){case dataViewCtorString:return dataViewTag$2;case mapCtorString:return mapTag$3;case promiseCtorString:return promiseTag;case setCtorString:return setTag$3;case weakMapCtorString:return weakMapTag$1}return t});var _getTag=getTag$2,isFunction$7=isFunction_1,isLength$1=isLength_1;function isArrayLike$8(e){return null!=e&&isLength$1(e.length)&&!isFunction$7(e)}var isArrayLike_1=isArrayLike$8,isBufferExports={},isBuffer$5={get exports(){return isBufferExports},set exports(e){isBufferExports=e}};function stubFalse(){return!1}var stubFalse_1=stubFalse;!function(e,t){var r=_root,a=stubFalse_1,n=t&&!t.nodeType&&t,i=n&&e&&!e.nodeType&&e,o=i&&i.exports===n?r.Buffer:void 0,l=(o?o.isBuffer:void 0)||a;e.exports=l}(isBuffer$5,isBufferExports);var baseGetTag$2=_baseGetTag,isLength=isLength_1,isObjectLike$4=isObjectLike_1,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",mapTag$2="[object Map]",numberTag$1="[object Number]",objectTag$2="[object Object]",regexpTag$1="[object RegExp]",setTag$2="[object Set]",stringTag$2="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};function baseIsTypedArray$1(e){return isObjectLike$4(e)&&isLength(e.length)&&!!typedArrayTags[baseGetTag$2(e)]}typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag$1]=typedArrayTags[arrayTag$1]=typedArrayTags[arrayBufferTag$1]=typedArrayTags[boolTag$1]=typedArrayTags[dataViewTag$1]=typedArrayTags[dateTag$1]=typedArrayTags[errorTag$1]=typedArrayTags[funcTag]=typedArrayTags[mapTag$2]=typedArrayTags[numberTag$1]=typedArrayTags[objectTag$2]=typedArrayTags[regexpTag$1]=typedArrayTags[setTag$2]=typedArrayTags[stringTag$2]=typedArrayTags[weakMapTag]=!1;var _baseIsTypedArray=baseIsTypedArray$1;function baseUnary$1(e){return function(t){return e(t)}}var _baseUnary=baseUnary$1,_nodeUtilExports={},_nodeUtil={get exports(){return _nodeUtilExports},set exports(e){_nodeUtilExports=e}};!function(t,r){var a=_freeGlobal,n=r&&!r.nodeType&&r,i=n&&t&&!t.nodeType&&t,o=i&&i.exports===n&&a.process,l=function(){try{var t=i&&i.require&&i.require("util").types;return t||o&&o.binding&&o.binding("util")}catch(e){}}();t.exports=l}(_nodeUtil,_nodeUtilExports);var baseIsTypedArray=_baseIsTypedArray,baseUnary=_baseUnary,nodeUtil=_nodeUtilExports,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray$4=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,isTypedArray_1=isTypedArray$4,baseKeys$1=_baseKeys,getTag$1=_getTag,isArguments$4=isArguments_1,isArray$d=isArray_1,isArrayLike$7=isArrayLike_1,isBuffer$4=isBufferExports,isPrototype$2=_isPrototype,isTypedArray$3=isTypedArray_1,mapTag$1="[object Map]",setTag$1="[object Set]",objectProto$7=Object.prototype,hasOwnProperty$7=objectProto$7.hasOwnProperty;function isEmpty$2(e){if(null==e)return!0;if(isArrayLike$7(e)&&(isArray$d(e)||"string"==typeof e||"function"==typeof e.splice||isBuffer$4(e)||isTypedArray$3(e)||isArguments$4(e)))return!e.length;var t=getTag$1(e);if(t==mapTag$1||t==setTag$1)return!e.size;if(isPrototype$2(e))return!baseKeys$1(e).length;for(var r in e)if(hasOwnProperty$7.call(e,r))return!1;return!0}var isEmpty_1=isEmpty$2,safeIsNaN=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function isEqual$2(e,t){return e===t||!(!safeIsNaN(e)||!safeIsNaN(t))}function areInputsEqual$1(e,t){if(e.length!==t.length)return!1;for(var r=0;r({memberIdx:this.memberIdx,operation:this.operation.name,service:this.operation.service.name,visibilityIdx:this._visibilityIdx}),this.memberIdx=r,this.memberOf=e,this.operation=t}get distance(){return this.memberIdx-this.memberOf.focalIdx}get externalPath(){const e=[];let t=this;for(;t;)e.push(t),t=t.externalSideNeighbor;return this.distance<0&&e.reverse(),e}get externalSideNeighbor(){return this.distance?this.memberOf.members[this.memberIdx+Math.sign(this.distance)]:null}get focalPath(){const e=[];let t=this;for(;t;)e.push(t),t=t.focalSideNeighbor;return this.distance>0&&e.reverse(),e}get focalSideNeighbor(){return this.distance?this.memberOf.members[this.memberIdx-Math.sign(this.distance)]:null}get isExternal(){return Boolean(this.distance)&&(0===this.memberIdx||this.memberIdx===this.memberOf.members.length-1)}set visibilityIdx(e){if(null!=this._visibilityIdx)throw new Error("Visibility Index cannot be changed once set");this._visibilityIdx=e}get visibilityIdx(){if(null==this._visibilityIdx)throw new Error("Visibility Index was never set for this PathElem");return this._visibilityIdx}toJSON(){return{...this.toJSONHelper(),memberOf:{focalIdx:this.memberOf.focalIdx,members:this.memberOf.members.map((e=>e.toJSONHelper()))}}}toString(){return JSON.stringify(this.toJSON(),null,2)}get[Symbol.toStringTag](){return`PathElem ${this._visibilityIdx}`}}var EViewModifier=(e=>(e[e.None=0]="None",e[e.Hovered=1]="Hovered",e[e.Selected=2]="Selected",e[e.Emphasized=4]="Emphasized",e[e.PathHovered=8]="PathHovered",e))(EViewModifier||{}),EDdgDensity=(e=>(e.ExternalVsInternal="ext-vs-int",e.MostConcise="mc",e.OnePerLevel="per-level",e.PreventPathEntanglement="ppe",e.UpstreamVsDownstream="up-vs-down",e))(EDdgDensity||{}),ECheckedStatus=(e=>(e.Empty="Empty",e.Full="Full",e.Partial="Partial",e))(ECheckedStatus||{}),EDirection=(e=>(e[e.Upstream=-1]="Upstream",e[e.Downstream=1]="Downstream",e))(EDirection||{});const ROUTE_PATH$4=prefixUrl("/deep-dependencies"),ROUTE_MATCHER$4={path:ROUTE_PATH$4,strict:!0,exact:!0};function matches$7(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$4))}function getUrl$4(e,t=ROUTE_PATH$4){if(e&&!isEmpty_1(e)){const r=Reflect.has(e,"showOp")&&void 0!==e.showOp?{...e,showOp:e.showOp?1:0}:e;return`${t}?${queryString.stringify(r)}`}return t}function firstParam(e){if(Array.isArray(e)){const t=e[0];return console.warn(`Found multiple query parameters: "${e}", using "${t}"`),t}return e}const getUrlState$2=memoizeOne$1((function(e){const{density:t=EDdgDensity.PreventPathEntanglement,decoration:r,end:a,hash:n,operation:i,service:o,showOp:l,start:s,visEncoding:c}=queryString.parse(e),u={density:firstParam(t)};return r&&(u.decoration=firstParam(r)),a&&(u.end=Number.parseInt(firstParam(a),10)),n&&(u.hash=firstParam(n)),i&&(u.operation=firstParam(i)),o&&(u.service=firstParam(o)),l&&(u.showOp=Boolean(+firstParam(l))),s&&(u.start=Number.parseInt(firstParam(s),10)),c&&(u.visEncoding=firstParam(c)),u})),sanitizeUrlState=memoizeOne$1((function(e,t){if(t&&e.hash===t)return e;const{visEncoding:r,...a}=e;return a})),ROUTE_PATH$3=prefixUrl("/quality-metrics"),ROUTE_MATCHER$3={path:ROUTE_PATH$3,strict:!0,exact:!0};function matches$6(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$3))}function getUrl$3(e){return e?`${ROUTE_PATH$3}?${queryString.stringify(e)}`:ROUTE_PATH$3}const getUrlState$1=memoizeOne$1((function(e){const{lookback:t,service:r}=queryString.parse(e),a=Array.isArray(r)?r[0]:r,n=Array.isArray(t)?t[0]:t,i=n&&Number.parseInt(n,10),o={lookback:48};return a&&(o.service=a),i&&(o.lookback=i),o})),FONT_SIZE=14,FONT=`${FONT_SIZE}px Helvetica Nueue`,LINE_HEIGHT=1.5,OP_PADDING_TOP=5,PROGRESS_BAR_STROKE_WIDTH=15,RADIUS=75,WORD_RX$1=/\W*\w+\W*/g,MAX_LENGTH=7e3,MAX_LINKED_TRACES=35,MIN_LENGTH=getUrl$2().length,PARAM_NAME_LENGTH=9;function eqEq(e,t){return null==e&&null==t||String(e)===String(t)}const ROUTE_PATH$2=prefixUrl("/search"),ROUTE_MATCHER$2={path:ROUTE_PATH$2,strict:!0,exact:!0};function matches$5(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$2))}function getUrl$2(e){const t=prefixUrl("/search");if(!e)return t;const{traceID:r,spanLinks:a,...n}=e;let i=r;a&&r&&(i=(Array.isArray(r)?r:[r]).filter((e=>!a[e])));const o={...n,span:a&&Object.keys(a).reduce(((e,t)=>[...e,`${a[t]}@${t}`]),[]),traceID:i&&i.length?i:void 0},l=`${t}?${queryString.stringify(o)}`;if(l.length<=MAX_LENGTH)return l;const s=l.slice(0,MAX_LENGTH+1);return"&"===s[MAX_LENGTH]?s.slice(0,-1):s.slice(0,s.lastIndexOf("&"))}const getUrlState=memoizeOne$1((function(e){const{traceID:t,span:r,...a}=queryString.parse(e),n={...a},i=new Set(!t||Array.isArray(t)?t:[t]),o={};return r&&r.length&&((Array.isArray(r)?r:[r]).forEach((e=>{const[t,r]=e.split("@");i.add(r),t&&(o[r]?o[r]=o[r].concat(" ",t):o[r]=t)})),n.spanLinks=o),i.size&&(n.traceID=[...i]),n}));function isSameQuery(e,t){return Boolean(e)===Boolean(t)&&(eqEq(e.end,t.end)&&eqEq(e.limit,t.limit)&&eqEq(e.lookback,t.lookback)&&eqEq(e.maxDuration,t.maxDuration)&&eqEq(e.minDuration,t.minDuration)&&eqEq(e.operation,t.operation)&&eqEq(e.service,t.service)&&eqEq(e.start,t.start)&&eqEq(e.tags,t.tags))}function getValidState(e){const{a:t,b:r,cohort:a}=e,n=new Set([].concat(t,r,a).filter((e=>Boolean(e)))),i=Array.from(n);return{a:i[0],b:i[1],cohort:i}}const ROUTE_PATH$1=prefixUrl("/trace/:a?\\.\\.\\.:b?"),ROUTE_MATCHER$1={path:ROUTE_PATH$1,strict:!0,exact:!0};function matches$4(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$1))}function getUrl$1(e){const{a:t,b:r,cohort:a}=getValidState(e),n=queryString.stringify({cohort:a});return prefixUrl(`/trace/${t||""}...${r||""}${n?"?":""}${n}`)}const ROUTE_PATH=prefixUrl("/monitor"),ROUTE_MATCHER={path:ROUTE_PATH,strict:!0,exact:!0};function matches$3(e){return Boolean(matchPath$1(e,ROUTE_MATCHER))}function getUrl(){return ROUTE_PATH}var last_1,hasRequiredLast;function requireLast(){if(hasRequiredLast)return last_1;return hasRequiredLast=1,last_1=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0},last_1}function baseSlice$2(e,t,r){var a=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(r=r>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(n);++a",FETCH_DONE="FETCH_DONE",FETCH_ERROR="FETCH_ERROR",FETCH_LOADING="FETCH_LOADING",fetchedState={DONE:FETCH_DONE,ERROR:FETCH_ERROR,LOADING:FETCH_LOADING},defaultVersion=Object.freeze({gitCommit:"",gitVersion:"",buildDate:""});let haveWarnedFactoryFn$1=!1;function getVersion(){const e=window.getJaegerVersion;if("function"!=typeof e)return haveWarnedFactoryFn$1||(console.warn("Embedded version information not available"),haveWarnedFactoryFn$1=!0),{...defaultVersion};const t=e();return t?{...t}:{...defaultVersion}}const version$3="1.29.1",defaultConfig={archiveEnabled:!1,dependencies:{dagMaxNumServices:FALLBACK_DAG_MAX_NUM_SERVICES,menuEnabled:!0},menu:[{label:"About Jaeger",items:[{label:"Website/Docs",url:"https://www.jaegertracing.io/"},{label:"Blog",url:"https://medium.com/jaegertracing/"},{label:"Twitter",url:"https://twitter.com/JaegerTracing"},{label:"Discussion Group",url:"https://groups.google.com/forum/#!forum/jaeger-tracing"},{label:"Online Chat",url:"https://cloud-native.slack.com/archives/CGG7NFUJ3"},{label:"GitHub",url:"https://github.com/jaegertracing/"},{label:`Jaeger ${getVersion().gitVersion}`},{label:`Commit ${getVersion().gitCommit.substring(0,7)}`},{label:`Build ${getVersion().buildDate}`},{label:`Jaeger UI v${version$3}`}]}],search:{maxLookback:{label:"2 Days",value:"2d"},maxLimit:1500},tracking:{gaID:null,trackErrors:!0,customWebAnalytics:null},linkPatterns:[],monitor:{menuEnabled:!0,emptyState:{mainTitle:"Get started with Service Performance Monitoring",subTitle:"A high-level monitoring dashboard that helps you cut down the time to identify and resolve anomalies and issues.",description:"Service Performance Monitoring aggregates tracing data into RED metrics and visualizes them in service and operation level dashboards.",button:{text:"Read the Documentation",onClick:()=>window.open("https://www.jaegertracing.io/docs/latest/spm/")},alert:{message:"Service Performance Monitoring requires a Prometheus-compatible time series database.",type:"info"}},docsLink:"https://www.jaegertracing.io/docs/latest/spm/"},traceGraph:{layoutManagerMemory:void 0},deepDependencies:{menuEnabled:!1},qualityMetrics:{menuEnabled:!1,menuLabel:"Trace Quality"}},mergeFields=["dependencies","search","tracking"],defaultConfig$1=deepFreeze(defaultConfig),deprecations=[{formerKey:"dependenciesMenuEnabled",currentKey:"dependencies.menuEnabled"},{formerKey:"gaTrackingID",currentKey:"tracking.gaID"}];let haveWarnedFactoryFn=!1,haveWarnedDeprecations=!1;const getConfig=memoizeOne$1((function(){const e=window.getJaegerUiConfig;if("function"!=typeof e)return haveWarnedFactoryFn||(console.warn("Embedded config not available"),haveWarnedFactoryFn=!0),{...defaultConfig$1};const t=e();if(!t)return{...defaultConfig$1};Array.isArray(deprecations)&&(deprecations.forEach((e=>processDeprecation(t,e,!haveWarnedDeprecations))),haveWarnedDeprecations=!0);const r={...defaultConfig$1,...t},a=mergeFields;for(let n=0;ngetUrl$1(e.traceDiff),matches:matches$4,text:"Compare"}];function getItem$1(e){const{label:t,anchorTarget:r,url:a}=e,n=jsxRuntimeExports.jsx("a",{href:a,target:r||"_blank",rel:"noopener noreferrer",children:t});return jsxRuntimeExports.jsx(Menu.Item,{disabled:!a,children:a?n:t},t)}function CustomNavDropdown({label:e,items:t}){const r=jsxRuntimeExports.jsx(Menu,{children:t.map(getItem$1)});return jsxRuntimeExports.jsx(Dropdown,{overlay:r,placement:"bottomRight",children:jsxRuntimeExports.jsxs("a",{children:[e," ",jsxRuntimeExports.jsx(Icon$1,{type:"down"})]})})}function isItem(e){return!has_1(e,"items")}function TopNavImpl(e){const{config:t,router:r}=e,{pathname:a}=r.location,n=Array.isArray(t.menu)?t.menu:[];return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs(Menu,{theme:"dark",mode:"horizontal",selectable:!1,className:"ub-right",selectedKeys:[a],children:[jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(TraceIDSearchInput$1,{})}),n.map((e=>isItem(e)?getItem$1(e):jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(CustomNavDropdown,{...e},e.label)},e.label)))]}),jsxRuntimeExports.jsxs(Menu,{theme:"dark",mode:"horizontal",selectable:!1,selectedKeys:[a],children:[jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(Link$1,{to:prefixUrl("/"),style:{fontSize:"14px",fontWeight:500},children:"JAEGER UI"})}),NAV_LINKS.map((({matches:t,to:r,text:n})=>{const i="string"==typeof r?r:r(e),o=t(a)?a:i;return jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(Link$1,{to:i,children:n})},o)}))]})]})}function mapStateToProps$d(e){return e}getConfigValue("dependencies.menuEnabled")&&NAV_LINKS.push({to:getUrl$5(),matches:matches$8,text:"System Architecture"}),getConfigValue("deepDependencies.menuEnabled")&&NAV_LINKS.push({to:getUrl$4(),matches:matches$7,text:"Service Dependencies"}),getConfigValue("qualityMetrics.menuEnabled")&&NAV_LINKS.push({to:getUrl$3(),matches:matches$6,text:getConfigValue("qualityMetrics.menuLabel")}),getConfigValue("monitor.menuEnabled")&&NAV_LINKS.push({to:getUrl(),matches:matches$3,text:"Monitor"}),TopNavImpl.CustomNavDropdown=CustomNavDropdown;const TopNav=withRouter$1(connect$3(mapStateToProps$d)(TopNavImpl));function warn$2(e){console.warn("[react-ga]",e)}function _typeof$L(e){return _typeof$L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$L(e)}var _excluded$1=["to","target"];function ownKeys$c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _objectSpread$c(e){for(var t=1;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose$5(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function _classCallCheck$1y(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$M(e,t){for(var r=0;r0&&t+e.length!==r.length&&e.search(smallWords)>-1&&":"!==r.charAt(t-2)&&("-"!==r.charAt(t+e.length)||"-"===r.charAt(t-1))&&r.charAt(t-1).search(/[^\s-]/)<0?e.toLowerCase():e.substr(1).search(/[A-Z]|\../)>-1?e:e.charAt(0).toUpperCase()+e.substr(1)}))}function format$2(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e||"";return arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(r=toTitleCase$1(e)),t&&(r=redactEmail(r)),r}function removeLeadingSlash(e){return"/"===e.substring(0,1)?e.substring(1):e}var isLoaded=!1;function loadGA(e){if(!isLoaded){isLoaded=!0;var t="https://www.google-analytics.com/analytics.js";e&&e.gaAddress?t=e.gaAddress:e&&e.debug&&(t="https://www.google-analytics.com/analytics_debug.js");var r=e&&e.onerror;!function(e,t,a,n,i,o,l){e.GoogleAnalyticsObject=i,e[i]=e[i]||function(){(e[i].q=e[i].q||[]).push(arguments)},e[i].l=1*new Date,o=t.createElement(a),l=t.getElementsByTagName(a)[0],o.async=1,o.src=n,o.onerror=r,l.parentNode.insertBefore(o,l)}(window,document,"script",t,"ga")}}function log$1(e){console.info("[react-ga]",e)}var gaCalls=[];const TestModeAPI={calls:gaCalls,ga:function(){for(var e=arguments.length,t=new Array(e),r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose$4(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function ownKeys$b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _objectSpread$b(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r1?t-1:0),a=1;a0&&(internalGa.apply(void 0,t),_debug&&(log$1("called ga('arguments');"),log$1("with arguments: ".concat(JSON.stringify(t))))),window.ga}function set$4(e,t){e?"object"===_typeof$K(e)?(0===Object.keys(e).length&&warn$2("empty `fieldsObject` given to .set()"),_gaCommand(t,"set",e),_debug&&(log$1("called ga('set', fieldsObject);"),log$1("with fieldsObject: ".concat(JSON.stringify(e))))):warn$2("Expected `fieldsObject` arg to be an Object"):warn$2("`fieldsObject` is required in .set()")}function send(e,t){_gaCommand(t,"send",e),_debug&&(log$1("called ga('send', fieldObject);"),log$1("with fieldObject: ".concat(JSON.stringify(e))),log$1("with trackers: ".concat(JSON.stringify(t))))}function pageview(e,t,r){if(e){var a=trim$3(e);if(""!==a){var n={};if(r&&(n.title=r),"function"==typeof ga&&(_gaCommand(t,"send",_objectSpread$b({hitType:"pageview",page:a},n)),_debug)){log$1("called ga('send', 'pageview', path);");var i="";r&&(i=" and title: ".concat(r)),log$1("with path: ".concat(a).concat(i))}}else warn$2("path cannot be an empty string in .pageview()")}else warn$2("path is required in .pageview()")}function modalview(e,t){if(e){var r=removeLeadingSlash(trim$3(e));if(""!==r){if("function"==typeof ga){var a="/modal/".concat(r);_gaCommand(t,"send","pageview",a),_debug&&(log$1("called ga('send', 'pageview', path);"),log$1("with path: ".concat(a)))}}else warn$2("modalName cannot be an empty string or a single / in .modalview()")}else warn$2("modalName is required in .modalview(modalName)")}function timing(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,r=e.variable,a=e.value,n=e.label,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if("function"==typeof ga){if(!t||!r||"number"!=typeof a)return void warn$2("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number");var o={hitType:"timing",timingCategory:_format(t),timingVar:_format(r),timingValue:a};n&&(o.timingLabel=_format(n)),send(o,i)}}function event$1(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,r=e.action,a=e.label,n=e.value,i=e.nonInteraction,o=e.transport,l=_objectWithoutProperties$7(e,_excluded),s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if("function"==typeof ga){if(!t||!r)return void warn$2("args.category AND args.action are required in event()");var c={hitType:"event",eventCategory:_format(t),eventAction:_format(r)};a&&(c.eventLabel=_format(a)),void 0!==n&&("number"!=typeof n?warn$2("Expected `args.value` arg to be a Number."):c.eventValue=n),void 0!==i&&("boolean"!=typeof i?warn$2("`args.nonInteraction` must be a boolean."):c.nonInteraction=i),void 0!==o&&("string"!=typeof o?warn$2("`args.transport` must be a string."):(-1===["beacon","xhr","image"].indexOf(o)&&warn$2("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),c.transport=o)),Object.keys(l).filter((function(e){return"dimension"===e.substr(0,9)})).forEach((function(e){c[e]=l[e]})),Object.keys(l).filter((function(e){return"metric"===e.substr(0,6)})).forEach((function(e){c[e]=l[e]})),send(c,s)}}function exception(e,t){var r=e.description,a=e.fatal;if("function"==typeof ga){var n={hitType:"exception"};r&&(n.exDescription=_format(r)),void 0!==a&&("boolean"!=typeof a?warn$2("`args.fatal` must be a boolean."):n.exFatal=a),send(n,t)}}var plugin={require:function(e,t,r){if("function"==typeof ga){if(!e)return void warn$2("`name` is required in .require()");var a=trim$3(e);if(""===a)return void warn$2("`name` cannot be an empty string in .require()");var n=r?"".concat(r,".require"):"require";if(t){if("object"!==_typeof$K(t))return void warn$2("Expected `options` arg to be an Object");0===Object.keys(t).length&&warn$2("Empty `options` given to .require()"),ga(n,a,t),_debug&&log$1("called ga('require', '".concat(a,"', ").concat(JSON.stringify(t)))}else ga(n,a),_debug&&log$1("called ga('require', '".concat(a,"');"))}},execute:function(e,t){for(var r,a,n=arguments.length,i=new Array(n>2?n-2:0),o=2;o0){var l=r(a,this);~l?a.splice(l+1):a.push(this),~l?n.splice(l,1/0,i):n.push(i),~r(a,o)&&(o=t.call(this,i,o))}else a.push(o);return null==e?o instanceof Error?function(e){var t={stack:e.stack,message:e.message,name:e.name};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}(o):o:e.call(this,i,o)}}(e.exports=function(e,t,r,n){return JSON.stringify(e,a(t,n),r)}).getSerialize=a}(stringify$2);var stringify$1=stringifyExports,_window$3="undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{};function isObject$g(e){return"object"==typeof e&&null!==e}function isError$2(e){switch(Object.prototype.toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function isErrorEvent$1(e){return"[object ErrorEvent]"===Object.prototype.toString.call(e)}function isDOMError$1(e){return"[object DOMError]"===Object.prototype.toString.call(e)}function isDOMException$1(e){return"[object DOMException]"===Object.prototype.toString.call(e)}function isUndefined$2(e){return void 0===e}function isFunction$6(e){return"function"==typeof e}function isPlainObject$4(e){return"[object Object]"===Object.prototype.toString.call(e)}function isString$3(e){return"[object String]"===Object.prototype.toString.call(e)}function isArray$c(e){return"[object Array]"===Object.prototype.toString.call(e)}function isEmptyObject$1(e){if(!isPlainObject$4(e))return!1;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function supportsErrorEvent(){try{return new ErrorEvent(""),!0}catch(e){return!1}}function supportsDOMError(){try{return new DOMError(""),!0}catch(e){return!1}}function supportsDOMException(){try{return new DOMException(""),!0}catch(e){return!1}}function supportsFetch$1(){if(!("fetch"in _window$3))return!1;try{return new Headers,new Request(""),new Response,!0}catch(e){return!1}}function supportsReferrerPolicy$1(){if(!supportsFetch$1())return!1;try{return new Request("pickleRick",{referrerPolicy:"origin"}),!0}catch(e){return!1}}function supportsPromiseRejectionEvent(){return"function"==typeof PromiseRejectionEvent}function wrappedCallback(e){return function(t,r){var a=e(t)||t;return r&&r(a)||a}}function each$a(e,t){var r,a;if(isUndefined$2(e.length))for(r in e)hasKey$1(e,r)&&t.call(null,r,e[r]);else if(a=e.length)for(r=0;r1&&n+3*r.length+t.length>=80);)r.push(t),n+=t.length,e=e.parentNode;return r.reverse().join(" > ")}function htmlElementAsString(e){var t,r,a,n,i,o=[];if(!e||!e.tagName)return"";if(o.push(e.tagName.toLowerCase()),e.id&&o.push("#"+e.id),(t=e.className)&&isString$3(t))for(r=t.split(/\s+/),i=0;ir?serializeException$1(e,t-1):a}function serializeKeysForMessage$1(e,t){if("number"==typeof e||"string"==typeof e)return e.toString();if(!Array.isArray(e))return"";if(e=e.filter((function(e){return"string"==typeof e})),0===e.length)return"[object has no keys]";if(t="number"!=typeof t?MAX_SERIALIZE_KEYS_LENGTH:t,e[0].length>=t)return e[0];for(var r=e.length;r>0;r--){var a=e.slice(0,r).join(", ");if(!(a.length>t))return r===e.length?a:a+"…"}return""}function sanitize$1(e,t){if(!isArray$c(t)||isArray$c(t)&&0===t.length)return e;var r,a=joinRegExp$1(t);try{r=JSON.parse(stringify$1(e))}catch(n){return e}return function e(t){return isArray$c(t)?t.map((function(t){return e(t)})):isPlainObject$4(t)?Object.keys(t).reduce((function(r,n){return a.test(n)?r[n]="********":r[n]=e(t[n]),r}),{}):t}(r)}var utils$6={isObject:isObject$g,isError:isError$2,isErrorEvent:isErrorEvent$1,isDOMError:isDOMError$1,isDOMException:isDOMException$1,isUndefined:isUndefined$2,isFunction:isFunction$6,isPlainObject:isPlainObject$4,isString:isString$3,isArray:isArray$c,isEmptyObject:isEmptyObject$1,supportsErrorEvent:supportsErrorEvent,supportsDOMError:supportsDOMError,supportsDOMException:supportsDOMException,supportsFetch:supportsFetch$1,supportsReferrerPolicy:supportsReferrerPolicy$1,supportsPromiseRejectionEvent:supportsPromiseRejectionEvent,wrappedCallback:wrappedCallback,each:each$a,objectMerge:objectMerge$1,truncate:truncate$2,objectFrozen:objectFrozen$1,hasKey:hasKey$1,joinRegExp:joinRegExp$1,urlencode:urlencode$1,uuid4:uuid4$1,htmlTreeAsString:htmlTreeAsString$1,htmlElementAsString:htmlElementAsString,isSameException:isSameException$1,isSameStacktrace:isSameStacktrace$1,parseUrl:parseUrl$1,fill:fill$1,safeJoin:safeJoin,serializeException:serializeException$1,serializeKeysForMessage:serializeKeysForMessage$1,sanitize:sanitize$1},utils$5=utils$6,TraceKit$1={collectWindowErrors:!0,debug:!1},_window$2="undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{},_slice=[].slice,UNKNOWN_FUNCTION="?",ERROR_TYPES_RE=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function getLocationHref(){return"undefined"==typeof document||null==document.location?"":document.location.href}function getLocationOrigin(){return"undefined"==typeof document||null==document.location?"":document.location.origin?document.location.origin:document.location.protocol+"//"+document.location.hostname+(document.location.port?":"+document.location.port:"")}TraceKit$1.report=function(){var e,t,r=[],a=null,n=null,i=null;function o(e,t){var a=null;if(!t||TraceKit$1.collectWindowErrors){for(var n in r)if(r.hasOwnProperty(n))try{r[n].apply(null,[e].concat(_slice.call(arguments,2)))}catch(i){a=i}if(a)throw a}}function l(t,r,a,n,l){var c=utils$5.isErrorEvent(l)?l.error:l,u=utils$5.isErrorEvent(t)?t.message:t;if(i)TraceKit$1.computeStackTrace.augmentStackTraceWithInitialElement(i,r,a,u),s();else if(c&&utils$5.isError(c))o(TraceKit$1.computeStackTrace(c),!0);else{var f,A={url:r,line:a,column:n},d=void 0;if("[object String]"==={}.toString.call(u))(f=u.match(ERROR_TYPES_RE))&&(d=f[1],u=f[2]);A.func=UNKNOWN_FUNCTION,o({name:d,message:u,url:getLocationHref(),stack:[A]},!0)}return!!e&&e.apply(this,arguments)}function s(){var e=i,t=a;a=null,i=null,n=null,o.apply(null,[e,!1].concat(t))}function c(e,t){var r=_slice.call(arguments,1);if(i){if(n===e)return;s()}var o=TraceKit$1.computeStackTrace(e);if(i=o,n=e,a=r,setTimeout((function(){n===e&&s()}),o.incomplete?2e3:0),!1!==t)throw e}return c.subscribe=function(a){!function(){if(t)return;e=_window$2.onerror,_window$2.onerror=l,t=!0}(),r.push(a)},c.unsubscribe=function(e){for(var t=r.length-1;t>=0;--t)r[t]===e&&r.splice(t,1)},c.uninstall=function(){!function(){if(!t)return;_window$2.onerror=e,t=!1,e=void 0}(),r=[]},c}(),TraceKit$1.computeStackTrace=function(){function t(e){if(void 0!==e.stack&&e.stack){var t,r,a,n=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack||[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,i=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx(?:-web)|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,o=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,l=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,s=/\((\S*)(?::(\d+))(?::(\d+))\)/,c=e.stack.split("\n"),u=[];/^(.*) is undefined$/.exec(e.message);for(var f=0,A=c.length;f eval")>-1&&(t=l.exec(r[3]))?(r[3]=t[1],r[4]=t[2],r[5]=null):0!==f||r[5]||void 0===e.columnNumber||(u[0].column=e.columnNumber+1),a={url:r[3],func:r[1]||UNKNOWN_FUNCTION,args:r[2]?r[2].split(","):[],line:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}if(!a.func&&a.line&&(a.func=UNKNOWN_FUNCTION),a.url&&"blob:"===a.url.substr(0,5)){var p=new XMLHttpRequest;if(p.open("GET",a.url,!1),p.send(null),200===p.status){var h=p.responseText||"",b=(h=h.slice(-300)).match(/\/\/# sourceMappingURL=(.*)$/);if(b){var g=b[1];"~"===g.charAt(0)&&(g=getLocationOrigin()+g.slice(1)),a.url=g.slice(0,-4)}}}u.push(a)}return u.length?{name:e.name,message:e.message,url:getLocationHref(),stack:u}:null}}function r(e,t,r,a){var n={url:t,line:r};if(n.url&&n.line){if(e.incomplete=!1,n.func||(n.func=UNKNOWN_FUNCTION),e.stack.length>0&&e.stack[0].url===n.url){if(e.stack[0].line===n.line)return!1;if(!e.stack[0].line&&e.stack[0].func===n.func)return e.stack[0].line=n.line,!1}return e.stack.unshift(n),e.partial=!0,!0}return e.incomplete=!0,!1}function a(t,i){for(var o,l,s=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,c=[],u={},f=!1,A=a.caller;A&&!f;A=A.caller)if(A!==n&&A!==TraceKit$1.report){if(l={url:null,func:UNKNOWN_FUNCTION,line:null,column:null},A.name?l.func=A.name:(o=s.exec(A.toString()))&&(l.func=o[1]),void 0===l.func)try{l.func=o.input.substring(0,o.input.indexOf("{"))}catch(e){}u[""+A]?f=!0:u[""+A]=!0,c.push(l)}i&&c.splice(0,i);var d={name:t.name,message:t.message,url:getLocationHref(),stack:c};return r(d,t.sourceURL||t.fileName,t.line||t.lineNumber,t.message||t.description),d}function n(r,n){var i=null;n=null==n?0:+n;try{if(i=t(r))return i}catch(e){if(TraceKit$1.debug)throw e}try{if(i=a(r,n+1))return i}catch(e){if(TraceKit$1.debug)throw e}return{name:r.name,message:r.message,url:getLocationHref()}}return n.augmentStackTraceWithInitialElement=r,n.computeStackTraceFromStackProp=t,n}();var tracekit=TraceKit$1;function safeAdd(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function bitRotateLeft(e,t){return e<>>32-t}function md5cmn(e,t,r,a,n,i){return safeAdd(bitRotateLeft(safeAdd(safeAdd(t,e),safeAdd(a,i)),n),r)}function md5ff(e,t,r,a,n,i,o){return md5cmn(t&r|~t&a,e,t,n,i,o)}function md5gg(e,t,r,a,n,i,o){return md5cmn(t&a|r&~a,e,t,n,i,o)}function md5hh(e,t,r,a,n,i,o){return md5cmn(t^r^a,e,t,n,i,o)}function md5ii(e,t,r,a,n,i,o){return md5cmn(r^(t|~a),e,t,n,i,o)}function binlMD5(e,t){var r,a,n,i,o;e[t>>5]|=128<>>9<<4)]=t;var l=1732584193,s=-271733879,c=-1732584194,u=271733878;for(r=0;r>5]>>>t%32&255);return r}function rstr2binl(e){var t,r=[];for(r[(e.length>>2)-1]=void 0,t=0;t>5]|=(255&e.charCodeAt(t/8))<16&&(n=binlMD5(n,8*e.length)),r=0;r<16;r+=1)i[r]=909522486^n[r],o[r]=1549556828^n[r];return a=binlMD5(i.concat(rstr2binl(t)),512+8*t.length),binl2rstr(binlMD5(o.concat(a),640))}function rstr2hex(e){var t,r,a="0123456789abcdef",n="";for(r=0;r>>4&15)+a.charAt(15&t);return n}function str2rstrUTF8(e){return unescape(encodeURIComponent(e))}function rawMD5(e){return rstrMD5(str2rstrUTF8(e))}function hexMD5(e){return rstr2hex(rawMD5(e))}function rawHMACMD5(e,t){return rstrHMACMD5(str2rstrUTF8(e),str2rstrUTF8(t))}function hexHMACMD5(e,t){return rstr2hex(rawHMACMD5(e,t))}function md5$1(e,t,r){return t?r?rawHMACMD5(t,e):hexHMACMD5(t,e):r?rawMD5(e):hexMD5(e)}var md5_1=md5$1;function RavenConfigError$1(e){this.name="RavenConfigError",this.message=e}RavenConfigError$1.prototype=new Error,RavenConfigError$1.prototype.constructor=RavenConfigError$1;var configError=RavenConfigError$1,utils$4=utils$6,wrapMethod=function(e,t,r){var a=e[t],n=e;if(t in e){var i="warn"===t?"warning":t;e[t]=function(){var e=[].slice.call(arguments),o=utils$4.safeJoin(e," "),l={level:i,logger:"console",extra:{arguments:e}};"assert"===t?!1===e[0]&&(o="Assertion failed: "+(utils$4.safeJoin(e.slice(1)," ")||"console.assert"),l.extra.arguments=e.slice(1),r&&r(o,l)):r&&r(o,l),a&&Function.prototype.apply.call(a,n,e)}}},console$1={wrapMethod:wrapMethod},TraceKit=tracekit,stringify=stringifyExports,md5=md5_1,RavenConfigError=configError,utils$3=utils$6,isErrorEvent=utils$3.isErrorEvent,isDOMError=utils$3.isDOMError,isDOMException=utils$3.isDOMException,isError$1=utils$3.isError,isObject$f=utils$3.isObject,isPlainObject$3=utils$3.isPlainObject,isUndefined$1=utils$3.isUndefined,isFunction$5=utils$3.isFunction,isString$2=utils$3.isString,isArray$b=utils$3.isArray,isEmptyObject=utils$3.isEmptyObject,each$9=utils$3.each,objectMerge=utils$3.objectMerge,truncate$1=utils$3.truncate,objectFrozen=utils$3.objectFrozen,hasKey=utils$3.hasKey,joinRegExp=utils$3.joinRegExp,urlencode=utils$3.urlencode,uuid4=utils$3.uuid4,htmlTreeAsString=utils$3.htmlTreeAsString,isSameException=utils$3.isSameException,isSameStacktrace=utils$3.isSameStacktrace,parseUrl=utils$3.parseUrl,fill=utils$3.fill,supportsFetch=utils$3.supportsFetch,supportsReferrerPolicy=utils$3.supportsReferrerPolicy,serializeKeysForMessage=utils$3.serializeKeysForMessage,serializeException=utils$3.serializeException,sanitize=utils$3.sanitize,wrapConsoleMethod=console$1.wrapMethod,dsnKeys="source protocol user pass host port path".split(" "),dsnPattern=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;function now$6(){return+new Date}var _window$1="undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{},_document=_window$1.document,_navigator=_window$1.navigator;function keepOriginalCallback(e,t){return isFunction$5(t)?function(r){return t(r,e)}:t}function Raven$1(){for(var e in this._hasJSON=!("object"!=typeof JSON||!JSON.stringify),this._hasDocument=!isUndefined$1(_document),this._hasNavigator=!isUndefined$1(_navigator),this._lastCapturedException=null,this._lastData=null,this._lastEventId=null,this._globalServer=null,this._globalKey=null,this._globalProject=null,this._globalContext={},this._globalOptions={release:_window$1.SENTRY_RELEASE&&_window$1.SENTRY_RELEASE.id,logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],headers:null,collectWindowErrors:!0,captureUnhandledRejections:!0,maxMessageLength:0,maxUrlLength:250,stackTraceLimit:50,autoBreadcrumbs:!0,instrument:!0,sampleRate:1,sanitizeKeys:[]},this._fetchDefaults={method:"POST",referrerPolicy:supportsReferrerPolicy()?"origin":""},this._ignoreOnError=0,this._isRavenInstalled=!1,this._originalErrorStackTraceLimit=Error.stackTraceLimit,this._originalConsole=_window$1.console||{},this._originalConsoleMethods={},this._plugins=[],this._startTime=now$6(),this._wrappedBuiltIns=[],this._breadcrumbs=[],this._lastCapturedEvent=null,this._keypressTimeout,this._location=_window$1.location,this._lastHref=this._location&&this._location.href,this._resetBackoff(),this._originalConsole)this._originalConsoleMethods[e]=this._originalConsole[e]}Raven$1.prototype={VERSION:"3.27.2",debug:!1,TraceKit:TraceKit,config:function(e,t){var r=this;if(r._globalServer)return this._logDebug("error","Error: Raven has already been configured"),r;if(!e)return r;var a=r._globalOptions;t&&each$9(t,(function(e,t){"tags"===e||"extra"===e||"user"===e?r._globalContext[e]=t:a[e]=t})),r.setDSN(e),a.ignoreErrors.push(/^Script error\.?$/),a.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),a.ignoreErrors=joinRegExp(a.ignoreErrors),a.ignoreUrls=!!a.ignoreUrls.length&&joinRegExp(a.ignoreUrls),a.whitelistUrls=!!a.whitelistUrls.length&&joinRegExp(a.whitelistUrls),a.includePaths=joinRegExp(a.includePaths),a.maxBreadcrumbs=Math.max(0,Math.min(a.maxBreadcrumbs||100,100));var n={xhr:!0,console:!0,dom:!0,location:!0,sentry:!0},i=a.autoBreadcrumbs;"[object Object]"==={}.toString.call(i)?i=objectMerge(n,i):!1!==i&&(i=n),a.autoBreadcrumbs=i;var o={tryCatch:!0},l=a.instrument;return"[object Object]"==={}.toString.call(l)?l=objectMerge(o,l):!1!==l&&(l=o),a.instrument=l,TraceKit.collectWindowErrors=!!a.collectWindowErrors,r},install:function(){var e=this;return e.isSetup()&&!e._isRavenInstalled&&(TraceKit.report.subscribe((function(){e._handleOnErrorStackInfo.apply(e,arguments)})),e._globalOptions.captureUnhandledRejections&&e._attachPromiseRejectionHandler(),e._patchFunctionToString(),e._globalOptions.instrument&&e._globalOptions.instrument.tryCatch&&e._instrumentTryCatch(),e._globalOptions.autoBreadcrumbs&&e._instrumentBreadcrumbs(),e._drainPlugins(),e._isRavenInstalled=!0),Error.stackTraceLimit=e._globalOptions.stackTraceLimit,this},setDSN:function(e){var t=this,r=t._parseDSN(e),a=r.path.lastIndexOf("/"),n=r.path.substr(1,a);t._dsn=e,t._globalKey=r.user,t._globalSecret=r.pass&&r.pass.substr(1),t._globalProject=r.path.substr(a+1),t._globalServer=t._getGlobalServer(r),t._globalEndpoint=t._globalServer+"/"+n+"api/"+t._globalProject+"/store/",this._resetBackoff()},context:function(e,t,r){return isFunction$5(e)&&(r=t||[],t=e,e={}),this.wrap(e,t).apply(this,r)},wrap:function(t,r,a){var n=this;if(isUndefined$1(r)&&!isFunction$5(t))return t;if(isFunction$5(t)&&(r=t,t=void 0),!isFunction$5(r))return r;try{if(r.__raven__)return r;if(r.__raven_wrapper__)return r.__raven_wrapper__}catch(e){return r}function i(){var i=[],o=arguments.length,l=!t||t&&!1!==t.deep;for(a&&isFunction$5(a)&&a.apply(this,arguments);o--;)i[o]=l?n.wrap(t,arguments[o]):arguments[o];try{return r.apply(this,i)}catch(e){throw n._ignoreNextOnError(),n.captureException(e,t),e}}for(var o in r)hasKey(r,o)&&(i[o]=r[o]);return i.prototype=r.prototype,r.__raven_wrapper__=i,i.__raven__=!0,i.__orig__=r,i},uninstall:function(){return TraceKit.report.uninstall(),this._detachPromiseRejectionHandler(),this._unpatchFunctionToString(),this._restoreBuiltIns(),this._restoreConsole(),Error.stackTraceLimit=this._originalErrorStackTraceLimit,this._isRavenInstalled=!1,this},_promiseRejectionHandler:function(e){this._logDebug("debug","Raven caught unhandled promise rejection:",e),this.captureException(e.reason,{mechanism:{type:"onunhandledrejection",handled:!1}})},_attachPromiseRejectionHandler:function(){return this._promiseRejectionHandler=this._promiseRejectionHandler.bind(this),_window$1.addEventListener&&_window$1.addEventListener("unhandledrejection",this._promiseRejectionHandler),this},_detachPromiseRejectionHandler:function(){return _window$1.removeEventListener&&_window$1.removeEventListener("unhandledrejection",this._promiseRejectionHandler),this},captureException:function(e,t){if(t=objectMerge({trimHeadFrames:0},t||{}),isErrorEvent(e)&&e.error)e=e.error;else{if(isDOMError(e)||isDOMException(e)){var r=e.name||(isDOMError(e)?"DOMError":"DOMException"),a=e.message?r+": "+e.message:r;return this.captureMessage(a,objectMerge(t,{stacktrace:!0,trimHeadFrames:t.trimHeadFrames+1}))}if(isError$1(e));else{if(!isPlainObject$3(e))return this.captureMessage(e,objectMerge(t,{stacktrace:!0,trimHeadFrames:t.trimHeadFrames+1}));t=this._getCaptureExceptionOptionsFromPlainObject(t,e),e=new Error(t.message)}}this._lastCapturedException=e;try{var n=TraceKit.computeStackTrace(e);this._handleStackInfo(n,t)}catch(i){if(e!==i)throw i}return this},_getCaptureExceptionOptionsFromPlainObject:function(e,t){var r=Object.keys(t).sort(),a=objectMerge(e,{message:"Non-Error exception captured with keys: "+serializeKeysForMessage(r),fingerprint:[md5(r)],extra:e.extra||{}});return a.extra.__serialized__=serializeException(t),a},captureMessage:function(e,t){if(!this._globalOptions.ignoreErrors.test||!this._globalOptions.ignoreErrors.test(e)){var r,a=objectMerge({message:e+=""},t=t||{});try{throw new Error(e)}catch(s){r=s}r.name=null;var n=TraceKit.computeStackTrace(r),i=isArray$b(n.stack)&&n.stack[1];i&&"Raven.captureException"===i.func&&(i=n.stack[2]);var o=i&&i.url||"";if((!this._globalOptions.ignoreUrls.test||!this._globalOptions.ignoreUrls.test(o))&&(!this._globalOptions.whitelistUrls.test||this._globalOptions.whitelistUrls.test(o))){if(this._globalOptions.stacktrace||t.stacktrace||""===a.message){a.fingerprint=null==a.fingerprint?e:a.fingerprint,(t=objectMerge({trimHeadFrames:0},t)).trimHeadFrames+=1;var l=this._prepareFrames(n,t);a.stacktrace={frames:l.reverse()}}return a.fingerprint&&(a.fingerprint=isArray$b(a.fingerprint)?a.fingerprint:[a.fingerprint]),this._send(a),this}}},captureBreadcrumb:function(e){var t=objectMerge({timestamp:now$6()/1e3},e);if(isFunction$5(this._globalOptions.breadcrumbCallback)){var r=this._globalOptions.breadcrumbCallback(t);if(isObject$f(r)&&!isEmptyObject(r))t=r;else if(!1===r)return this}return this._breadcrumbs.push(t),this._breadcrumbs.length>this._globalOptions.maxBreadcrumbs&&this._breadcrumbs.shift(),this},addPlugin:function(e){var t=[].slice.call(arguments,1);return this._plugins.push([e,t]),this._isRavenInstalled&&this._drainPlugins(),this},setUserContext:function(e){return this._globalContext.user=e,this},setExtraContext:function(e){return this._mergeContext("extra",e),this},setTagsContext:function(e){return this._mergeContext("tags",e),this},clearContext:function(){return this._globalContext={},this},getContext:function(){return JSON.parse(stringify(this._globalContext))},setEnvironment:function(e){return this._globalOptions.environment=e,this},setRelease:function(e){return this._globalOptions.release=e,this},setDataCallback:function(e){var t=this._globalOptions.dataCallback;return this._globalOptions.dataCallback=keepOriginalCallback(t,e),this},setBreadcrumbCallback:function(e){var t=this._globalOptions.breadcrumbCallback;return this._globalOptions.breadcrumbCallback=keepOriginalCallback(t,e),this},setShouldSendCallback:function(e){var t=this._globalOptions.shouldSendCallback;return this._globalOptions.shouldSendCallback=keepOriginalCallback(t,e),this},setTransport:function(e){return this._globalOptions.transport=e,this},lastException:function(){return this._lastCapturedException},lastEventId:function(){return this._lastEventId},isSetup:function(){return!!this._hasJSON&&(!!this._globalServer||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this._logDebug("error","Error: Raven has not been configured.")),!1))},afterLoad:function(){var e=_window$1.RavenConfig;e&&this.config(e.dsn,e.config).install()},showReportDialog:function(e){if(_document){if(!(e=objectMerge({eventId:this.lastEventId(),dsn:this._dsn,user:this._globalContext.user||{}},e)).eventId)throw new RavenConfigError("Missing eventId");if(!e.dsn)throw new RavenConfigError("Missing DSN");var t=encodeURIComponent,r=[];for(var a in e)if("user"===a){var n=e.user;n.name&&r.push("name="+t(n.name)),n.email&&r.push("email="+t(n.email))}else r.push(t(a)+"="+t(e[a]));var i=this._getGlobalServer(this._parseDSN(e.dsn)),o=_document.createElement("script");o.async=!0,o.src=i+"/api/embed/error-page/?"+r.join("&"),(_document.head||_document.body).appendChild(o)}},_ignoreNextOnError:function(){var e=this;this._ignoreOnError+=1,setTimeout((function(){e._ignoreOnError-=1}))},_triggerEvent:function(t,r){var a,n;if(this._hasDocument){for(n in r=r||{},t="raven"+t.substr(0,1).toUpperCase()+t.substr(1),_document.createEvent?(a=_document.createEvent("HTMLEvents")).initEvent(t,!0,!0):(a=_document.createEventObject()).eventType=t,r)hasKey(r,n)&&(a[n]=r[n]);if(_document.createEvent)_document.dispatchEvent(a);else try{_document.fireEvent("on"+a.eventType.toLowerCase(),a)}catch(e){}}},_breadcrumbEventHandler:function(t){var r=this;return function(a){if(r._keypressTimeout=null,r._lastCapturedEvent!==a){var n;r._lastCapturedEvent=a;try{n=htmlTreeAsString(a.target)}catch(e){n=""}r.captureBreadcrumb({category:"ui."+t,message:n})}}},_keypressEventHandler:function(){var t=this;return function(r){var a;try{a=r.target}catch(e){return}var n=a&&a.tagName;if(n&&("INPUT"===n||"TEXTAREA"===n||a.isContentEditable)){var i=t._keypressTimeout;i||t._breadcrumbEventHandler("input")(r),clearTimeout(i),t._keypressTimeout=setTimeout((function(){t._keypressTimeout=null}),1e3)}}},_captureUrlChange:function(e,t){var r=parseUrl(this._location.href),a=parseUrl(t),n=parseUrl(e);this._lastHref=t,r.protocol===a.protocol&&r.host===a.host&&(t=a.relative),r.protocol===n.protocol&&r.host===n.host&&(e=n.relative),this.captureBreadcrumb({category:"navigation",data:{to:t,from:e}})},_patchFunctionToString:function(){var e=this;e._originalFunctionToString=Function.prototype.toString,Function.prototype.toString=function(){return"function"==typeof this&&this.__raven__?e._originalFunctionToString.apply(this.__orig__,arguments):e._originalFunctionToString.apply(this,arguments)}},_unpatchFunctionToString:function(){this._originalFunctionToString&&(Function.prototype.toString=this._originalFunctionToString)},_instrumentTryCatch:function(){var t=this,r=t._wrappedBuiltIns;function a(e){return function(r,a){for(var n=new Array(arguments.length),i=0;i"}}},o)),e.apply?e.apply(this,n):e(n[0],n[1])}}var n=this._globalOptions.autoBreadcrumbs;function i(a){var i=_window$1[a]&&_window$1[a].prototype;i&&i.hasOwnProperty&&i.hasOwnProperty("addEventListener")&&(fill(i,"addEventListener",(function(r){return function(i,o,l,s){try{o&&o.handleEvent&&(o.handleEvent=t.wrap({mechanism:{type:"instrument",data:{target:a,function:"handleEvent",handler:o&&o.name||""}}},o.handleEvent))}catch(err){}var c,u,f;return n&&n.dom&&("EventTarget"===a||"Node"===a)&&(u=t._breadcrumbEventHandler("click"),f=t._keypressEventHandler(),c=function(t){if(t){var r;try{r=t.type}catch(e){return}return"click"===r?u(t):"keypress"===r?f(t):void 0}}),r.call(this,i,t.wrap({mechanism:{type:"instrument",data:{target:a,function:"addEventListener",handler:o&&o.name||""}}},o,c),l,s)}}),r),fill(i,"removeEventListener",(function(t){return function(r,a,n,i){try{a=a&&(a.__raven_wrapper__?a.__raven_wrapper__:a)}catch(e){}return t.call(this,r,a,n,i)}}),r))}fill(_window$1,"setTimeout",a,r),fill(_window$1,"setInterval",a,r),_window$1.requestAnimationFrame&&fill(_window$1,"requestAnimationFrame",(function(e){return function(r){return e(t.wrap({mechanism:{type:"instrument",data:{function:"requestAnimationFrame",handler:e&&e.name||""}}},r))}}),r);for(var o=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],l=0;l"}}},r)}))}if(r.xhr&&"XMLHttpRequest"in _window$1){var i=_window$1.XMLHttpRequest&&_window$1.XMLHttpRequest.prototype;fill(i,"open",(function(e){return function(r,a){return isString$2(a)&&-1===a.indexOf(t._globalKey)&&(this.__raven_xhr={method:r,url:a,status_code:null}),e.apply(this,arguments)}}),a),fill(i,"send",(function(r){return function(){var a=this;function i(){if(a.__raven_xhr&&4===a.readyState){try{a.__raven_xhr.status_code=a.status}catch(e){}t.captureBreadcrumb({type:"http",category:"xhr",data:a.__raven_xhr})}}for(var o=["onload","onerror","onprogress"],l=0;l"}}},e,i)})):a.onreadystatechange=i,r.apply(this,arguments)}}),a)}r.xhr&&supportsFetch()&&fill(_window$1,"fetch",(function(e){return function(){for(var r=new Array(arguments.length),a=0;a2?arguments[2]:void 0;return r&&t._captureUrlChange(t._lastHref,r+""),e.apply(this,arguments)}};fill(_window$1.history,"pushState",c,a),fill(_window$1.history,"replaceState",c,a)}if(r.console&&"console"in _window$1&&console.log){var u=function(e,r){t.captureBreadcrumb({message:e,level:r.level,category:"console"})};each$9(["debug","info","warn","error","log"],(function(e,t){wrapConsoleMethod(console,t,u)}))}},_restoreBuiltIns:function(){for(var e;this._wrappedBuiltIns.length;){var t=(e=this._wrappedBuiltIns.shift())[0],r=e[1],a=e[2];t[r]=a}},_restoreConsole:function(){for(var e in this._originalConsoleMethods)this._originalConsole[e]=this._originalConsoleMethods[e]},_drainPlugins:function(){var e=this;each$9(this._plugins,(function(t,r){var a=r[0],n=r[1];a.apply(e,[e].concat(n))}))},_parseDSN:function(t){var r=dsnPattern.exec(t),a={},n=7;try{for(;n--;)a[dsnKeys[n]]=r[n]||""}catch(e){throw new RavenConfigError("Invalid DSN: "+t)}if(a.pass&&!this._globalOptions.allowSecretKey)throw new RavenConfigError("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return a},_getGlobalServer:function(e){var t="//"+e.host+(e.port?":"+e.port:"");return e.protocol&&(t=e.protocol+":"+t),t},_handleOnErrorStackInfo:function(e,t){(t=t||{}).mechanism=t.mechanism||{type:"onerror",handled:!1},this._ignoreOnError||this._handleStackInfo(e,t)},_handleStackInfo:function(e,t){var r=this._prepareFrames(e,t);this._triggerEvent("handle",{stackInfo:e,options:t}),this._processException(e.name,e.message,e.url,e.lineno,r,t)},_prepareFrames:function(e,t){var r=this,a=[];if(e.stack&&e.stack.length&&(each$9(e.stack,(function(t,n){var i=r._normalizeFrame(n,e.url);i&&a.push(i)})),t&&t.trimHeadFrames))for(var n=0;n0&&(e.breadcrumbs={values:[].slice.call(this._breadcrumbs,0)}),this._globalContext.user&&(e.user=this._globalContext.user),t.environment&&(e.environment=t.environment),t.release&&(e.release=t.release),t.serverName&&(e.server_name=t.serverName),e=this._sanitizeData(e),Object.keys(e).forEach((function(t){(null==e[t]||""===e[t]||isEmptyObject(e[t]))&&delete e[t]})),isFunction$5(t.dataCallback)&&(e=t.dataCallback(e)||e),e&&!isEmptyObject(e)&&(isFunction$5(t.shouldSendCallback)&&!t.shouldSendCallback(e)||(this._shouldBackoff()?this._logDebug("warn","Raven dropped error due to backoff: ",e):"number"==typeof t.sampleRate?Math.random()t?r?`~${e.slice(1-t)}`:`${e.slice(0,t-1)}~`:e}function collapseWhitespace(e){return e.trim().replace(/\n/g,"|").replace(/\s\s+/g," ").trim()}function getSym(e,t){for(let r=0;r-1){const e=r.slice(0,n).replace(/error/i,"").trim();e&&a.push(e,"! "),r=r.slice(n+1)}a.push(r.trim());const i=a.join("");return t?truncate(i,t):a.join("")}function convException(e){const t=convErrorMessage(`${e.type}: ${e.value}`,149),r=e.stacktrace.frames.map((e=>({filename:e.filename.replace(origin,"").replace(/^\/static\/js\//i,""),fn:collapseWhitespace(e.function||"??")}))),a=[];let n="";for(let i=r.length-1;i>=0;i--){const{filename:e,fn:t}=r[i];n!==e&&(a.push(`> ${e}`),n=e),a.push(t)}return{message:t,stack:a.join("\n")}}function convNav(e){return getSym(NAV_SYMBOLS,e).sym}function convFetch(e){const{url:t,status_code:r}=e,a=200===r?"":`|${r}`,n=getSym(FETCH_SYMBOLS,t);return"__IGNORE__"===n.sym?null:`[${n.sym}${a}]`}function compressCssSelector(e){return e.replace(/\.(?=\s|$)/g,"").replace(/\.ub-[^. [:]+/g,"").replace(/^(\w+ > )+/,"").replace(/(^| )\w+?(?=\.)/g,"$1").replace(/ > /g," >")}function convBreadcrumbs(e){if(!Array.isArray(e)||!e.length)return"";let t=-1;for(let l=e.length-1;l>=0;l--)if("ui"===e[l].category.slice(0,2)){t=l;break}let r=[],a=!0;for(let l=0;l(t===n||(n&&(r-i>1&&e.push(String(r-i)),n="",i=-1),e.push(t),1===t.length&&(n=t,i=r)),e)),[]);return n&&i!==r.length-1&&o.push(String(r.length-i)),o.join("").trim().replace(/\n\n\n/g,"\n")}function getLabel(e,t,r,a,n){const i=[e,t,r,a,""].filter((e=>null!=e)).join("\n");return`${i}\n${truncate(convBreadcrumbs(n),498-i.length,!0)}`}function convRavenToGa({data:e}){const{breadcrumbs:t,exception:r,extra:a,request:n,tags:i}=e,{message:o,stack:l}=convException(r.values[0]),s=truncate(n.url.replace(origin,""),50),{word:c}=getSym(NAV_SYMBOLS,s),u=Math.round(a["session:duration"]/1e3),f=`jaeger/${c}/error`;let A=[o,i&&i.git,s,"",l].filter((e=>null!=e)).join("\n");A=truncate(A,499);return{message:o,category:f,action:A,label:getLabel(o,c,u,i&&i.git,t&&t.values),value:u}}const logTrackingCalls=()=>{const e=ReactGA.testModeAPI.calls;for(let t=0;tBoolean(e)&&"0"!==e&&"false"!==e,GA=(e,t,r)=>{const a=getAppEnvironment(),n="production"===a,i="test"===a,o="development"===a&&isTruish(shouldDebugGoogleAnalytics())||isTruish(queryString.parse(get_1$1(window,"location.search"))["ga-debug"]),l=get_1$1(e,"tracking.gaID"),s=o||Boolean(get_1$1(e,"tracking.trackErrors")),c=get_1$1(e,"tracking.cookiesToDimensions"),u=499,f=149,A=()=>i||o||n&&Boolean(l),d=e=>{let t=e;/^jaeger/i.test(t)||(t=`jaeger/${t}`),t=t.slice(0,149),ReactGA.exception({description:t,fatal:!1}),o&&logTrackingCalls()},p=(e,t,r,a)=>{const n={category:/^jaeger/i.test(e)?e.slice(0,f):`jaeger/${e}`.slice(0,f),action:t.slice(0,u)};null!=r&&("string"==typeof r?n.label=r.slice(0,u):n.value=Math.round(r)),null!=a&&(n.value=Math.round(a)),ReactGA.event(n),o&&logTrackingCalls()},h=e=>{const{message:t,category:r,action:a,label:n,value:i}=convRavenToGa(e);d(t),p(r,a,n,i)};return{isEnabled:A,init:()=>{if(!A())return;const e={testMode:o,titleCase:!1,debug:!0};if(ReactGA.initialize(l||"debug-mode",e),ReactGA.set({appId:"github.com/jaegertracing/jaeger-ui",appName:"Jaeger UI",appVersion:r}),void 0!==c&&c.forEach((({cookie:e,dimension:t})=>{const r=` ${document.cookie}`.match(new RegExp(`[; ]${e}=([^\\s;]*)`));r?ReactGA.set({[t]:r[1]}):console.warn(`${e} not present in cookies, could not set dimension: ${t}`)})),s){const e={autoBreadcrumbs:{xhr:!0,console:!1,dom:!0,location:!0},environment:getAppEnvironment(),transport:h};t&&"unknown"!==t&&(e.tags={git:t}),singletonExports.config("https://fakedsn@omg.com/1",e).install(),window.onunhandledrejection=function(e){singletonExports.captureException(e.reason)}}o&&logTrackingCalls()},context:s?singletonExports:null,trackPageView:(e,t)=>{const r=t?`${e}${t}`:e;ReactGA.pageview(r),o&&logTrackingCalls()},trackError:d,trackEvent:p}},NoopWebAnalytics=()=>({init:()=>{},trackPageView:()=>{},trackError:()=>{},trackEvent:()=>{},context:null,isEnabled:()=>!1}),TrackingImplementation=()=>{const e=getConfig();let t,r;const a=getVersionInfo();try{const e=JSON.parse(a),n=[e.objName];e.changed.hasChanged&&n.push(e.changed.pretty),t=n.join(" "),r=e.pretty}catch(_){t=a,r=a}r=r.length>99?`${r.slice(0,96)}...`:r;let n=NoopWebAnalytics;e.tracking&&e.tracking.customWebAnalytics?n=e.tracking.customWebAnalytics:e.tracking&&e.tracking.gaID&&(n=GA);const i=n(e,t,r);return i.init(),i},tracker=TrackingImplementation();function trackPageView(e,t){return tracker.trackPageView(e,t)}function trackEvent(e,t,r,a){return tracker.trackEvent(e,t,r,a)}const context$2=tracker.context,isWaEnabled=tracker.isEnabled(),Page$1="",{Header:Header$3,Content:Content}=Layout$1;class PageImpl extends reactExports.Component{componentDidMount(){const{pathname:e,search:t}=this.props;trackPageView(e,t)}componentDidUpdate(e){const{pathname:t,search:r}=e,{pathname:a,search:n}=this.props;t===a&&r===n||trackPageView(a,n)}render(){const{embedded:e}=this.props,t=classnamesExports({"Page--content":!0,"Page--content--no-embedded":!e});return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(HelmetExport,{title:"Jaeger UI"}),jsxRuntimeExports.jsxs(Layout$1,{children:[!e&&jsxRuntimeExports.jsx(Header$3,{className:"Page--topNav",children:jsxRuntimeExports.jsx(TopNav,{})}),jsxRuntimeExports.jsx(Content,{className:t,children:this.props.children})]})]})}}function mapStateToProps$c(e){const{embedded:t}=e,{pathname:r,search:a}=e.router.location;return{embedded:t,pathname:r,search:a}}const Page=withRouter$1(connect$3(mapStateToProps$c)(PageImpl)),index$I="",KeyCode={LEFT:37,UP:38,RIGHT:39,DOWN:40};function toArray$4(e){var t=[];return React$k.Children.forEach(e,(function(e){e&&t.push(e)})),t}function getActiveIndex(e,t){for(var r=toArray$4(e),a=0;a2&&void 0!==arguments[2]?arguments[2]:"ltr",a=isVertical(t)?"translateY":"translateX";return isVertical(t)||"rtl"!==r?a+"("+100*-e+"%) translateZ(0)":a+"("+100*e+"%) translateZ(0)"}function getMarginStyle(e,t){var r=isVertical(t)?"marginTop":"marginLeft";return _default$e({},r,100*-e+"%")}function getStyle(e,t){return+window.getComputedStyle(e).getPropertyValue(t).replace("px","")}function getDataAttr(e){return Object.keys(e).reduce((function(t,r){return"aria-"!==r.substr(0,5)&&"data-"!==r.substr(0,5)&&"role"!==r||(t[r]=e[r]),t}),{})}function toNum(e,t){return+e.getPropertyValue(t).replace("px","")}function getTypeValue(e,t,r,a,n){var i=getStyle(n,"padding-"+e);if(!a||!a.parentNode)return i;var o=a.parentNode.childNodes;return Array.prototype.some.call(o,(function(n){var o=window.getComputedStyle(n);return n!==a?(i+=toNum(o,"margin-"+e),i+=n[t],i+=toNum(o,"margin-"+r),"content-box"===o.boxSizing&&(i+=toNum(o,"border-"+e+"-width")+toNum(o,"border-"+r+"-width")),!1):(i+=toNum(o,"margin-"+e),!0)})),i}function getLeft(e,t){return getTypeValue("left","offsetWidth","right",e,t)}function getTop(e,t){return getTypeValue("top","offsetHeight","bottom",e,t)}var SentinelContext=createReactContext({}),SentinelProvider=SentinelContext.Provider,SentinelConsumer=SentinelContext.Consumer,sentinelStyle={width:0,height:0,overflow:"hidden",position:"absolute"},Sentinel=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=0}TabPane$2.propTypes={className:propTypesExports.string,active:propTypesExports.bool,style:propTypesExports.any,destroyInactiveTabPane:propTypesExports.bool,forceRender:propTypesExports.bool,placeholder:propTypesExports.node,rootPrefixCls:propTypesExports.string,children:propTypesExports.node,id:propTypesExports.string},TabPane$2.defaultProps={placeholder:null};var Tabs$1=function(e){function t(e){_default$c(this,t);var r=_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));_initialiseProps$3.call(r);var a=void 0;return a="activeKey"in e?e.activeKey:"defaultActiveKey"in e?e.defaultActiveKey:getDefaultActiveKey(e),r.state={activeKey:a},r}return _default$8(t,e),_default$b(t,[{key:"componentWillUnmount",value:function(){this.destroy=!0,rafExports.cancel(this.sentinelId)}},{key:"updateSentinelContext",value:function(){var e=this;this.destroy||(rafExports.cancel(this.sentinelId),this.sentinelId=rafExports((function(){e.destroy||e.forceUpdate()})))}},{key:"render",value:function(){var e,t=this.props,r=t.prefixCls,a=t.navWrapper,n=t.tabBarPosition,i=t.className,o=t.renderTabContent,l=t.renderTabBar,s=t.destroyInactiveTabPane,c=t.direction,u=_default$d(t,["prefixCls","navWrapper","tabBarPosition","className","renderTabContent","renderTabBar","destroyInactiveTabPane","direction"]),f=classnamesExports((_default$e(e={},r,1),_default$e(e,r+"-"+n,1),_default$e(e,i,!!i),_default$e(e,r+"-rtl","rtl"===c),e));this.tabBar=l();var A=React$k.cloneElement(this.tabBar,{prefixCls:r,navWrapper:a,key:"tabBar",onKeyDown:this.onNavKeyDown,tabBarPosition:n,onTabClick:this.onTabClick,panels:t.children,activeKey:this.state.activeKey,direction:this.props.direction}),d=React$k.cloneElement(o(),{prefixCls:r,tabBarPosition:n,activeKey:this.state.activeKey,destroyInactiveTabPane:s,children:t.children,onChange:this.setActiveKey,key:"tabContent",direction:this.props.direction}),p=React$k.createElement(Sentinel,{key:"sentinelStart",setRef:this.setSentinelStart,nextElement:this.panelSentinelStart}),h=React$k.createElement(Sentinel,{key:"sentinelEnd",setRef:this.setSentinelEnd,prevElement:this.panelSentinelEnd}),b=[];return"bottom"===n?b.push(p,d,h,A):b.push(A,p,d,h),React$k.createElement(SentinelProvider,{value:{sentinelStart:this.sentinelStart,sentinelEnd:this.sentinelEnd,setPanelSentinelStart:this.setPanelSentinelStart,setPanelSentinelEnd:this.setPanelSentinelEnd}},React$k.createElement("div",_default$bE({className:f,style:t.style},getDataAttr(u),{onScroll:this.onScroll}),b))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var r={};return"activeKey"in e?r.activeKey=e.activeKey:activeKeyIsValid(e,t.activeKey)||(r.activeKey=getDefaultActiveKey(e)),Object.keys(r).length>0?r:null}}]),t}(React$k.Component),_initialiseProps$3=function(){var e=this;this.onTabClick=function(t,r){e.tabBar.props.onTabClick&&e.tabBar.props.onTabClick(t,r),e.setActiveKey(t)},this.onNavKeyDown=function(t){var r=t.keyCode;if(r===KeyCode.RIGHT||r===KeyCode.DOWN){t.preventDefault();var a=e.getNextActiveKey(!0);e.onTabClick(a)}else if(r===KeyCode.LEFT||r===KeyCode.UP){t.preventDefault();var n=e.getNextActiveKey(!1);e.onTabClick(n)}},this.onScroll=function(e){var t=e.target;t===e.currentTarget&&t.scrollLeft>0&&(t.scrollLeft=0)},this.setSentinelStart=function(t){e.sentinelStart=t},this.setSentinelEnd=function(t){e.sentinelEnd=t},this.setPanelSentinelStart=function(t){t!==e.panelSentinelStart&&e.updateSentinelContext(),e.panelSentinelStart=t},this.setPanelSentinelEnd=function(t){t!==e.panelSentinelEnd&&e.updateSentinelContext(),e.panelSentinelEnd=t},this.setActiveKey=function(t){e.state.activeKey!==t&&("activeKey"in e.props||e.setState({activeKey:t}),e.props.onChange(t))},this.getNextActiveKey=function(t){var r=e.state.activeKey,a=[];React$k.Children.forEach(e.props.children,(function(e){e&&!e.props.disabled&&(t?a.push(e):a.unshift(e))}));var n=a.length,i=n&&a[0].key;return a.forEach((function(e,t){e.key===r&&(i=t===n-1?a[0].key:a[t+1].key)})),i}};Tabs$1.propTypes={destroyInactiveTabPane:propTypesExports.bool,renderTabBar:propTypesExports.func.isRequired,renderTabContent:propTypesExports.func.isRequired,navWrapper:propTypesExports.func,onChange:propTypesExports.func,children:propTypesExports.node,prefixCls:propTypesExports.string,className:propTypesExports.string,tabBarPosition:propTypesExports.string,style:propTypesExports.object,activeKey:propTypesExports.string,defaultActiveKey:propTypesExports.string,direction:propTypesExports.string},Tabs$1.defaultProps={prefixCls:"rc-tabs",destroyInactiveTabPane:!1,onChange:noop$d,navWrapper:function(e){return e},tabBarPosition:"top",children:null,style:{},direction:"ltr"},Tabs$1.TabPane=TabPane$2,polyfill(Tabs$1);var TabContent=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"getTabPanes",value:function(){var e=this.props,t=e.activeKey,r=e.children,a=[];return React$k.Children.forEach(r,(function(r){if(r){var n=r.key,i=t===n;a.push(React$k.cloneElement(r,{active:i,destroyInactiveTabPane:e.destroyInactiveTabPane,rootPrefixCls:e.prefixCls}))}})),a}},{key:"render",value:function(){var e,t=this.props,r=t.prefixCls,a=t.children,n=t.activeKey,i=t.className,o=t.tabBarPosition,l=t.animated,s=t.animatedWithMargin,c=t.direction,u=t.style,f=classnamesExports((_default$e(e={},r+"-content",!0),_default$e(e,l?r+"-content-animated":r+"-content-no-animated",!0),e),i);if(l){var A=getActiveIndex(a,n);if(-1!==A){var d=s?getMarginStyle(A,o):getTransformPropValue(getTransformByIndex(A,o,c));u=_default$bE({},u,d)}else u=_default$bE({},u,{display:"none"})}return React$k.createElement("div",{className:f,style:u},this.getTabPanes())}}]),t}(React$k.Component);function _componentDidUpdate(e,t){var r=e.props,a=r.styles,n=r.panels,i=r.activeKey,o=r.direction,l=e.props.getRef("root"),s=e.props.getRef("nav")||l,c=e.props.getRef("inkBar"),u=e.props.getRef("activeTab"),f=c.style,A=e.props.tabBarPosition,d=getActiveIndex(n,i);if(t&&(f.display="none"),u){var p=u,h=isTransform3dSupported(f);if(setTransform(f,""),f.width="",f.height="",f.left="",f.top="",f.bottom="",f.right="","top"===A||"bottom"===A){var b=getLeft(p,s),g=p.offsetWidth;g===l.offsetWidth?g=0:a.inkBar&&void 0!==a.inkBar.width&&(g=parseFloat(a.inkBar.width,10))&&(b+=(p.offsetWidth-g)/2),"rtl"===o&&(b=getStyle(p,"margin-left")-b),h?setTransform(f,"translate3d("+b+"px,0,0)"):f.left=b+"px",f.width=g+"px"}else{var m=getTop(p,s),v=p.offsetHeight;a.inkBar&&void 0!==a.inkBar.height&&(v=parseFloat(a.inkBar.height,10))&&(m+=(p.offsetHeight-v)/2),h?(setTransform(f,"translate3d(0,"+m+"px,0)"),f.top="0"):f.top=m+"px",f.height=v+"px"}}f.display=-1!==d?"block":"none"}TabContent.propTypes={animated:propTypesExports.bool,animatedWithMargin:propTypesExports.bool,prefixCls:propTypesExports.string,children:propTypesExports.node,activeKey:propTypesExports.string,style:propTypesExports.any,tabBarPosition:propTypesExports.string,className:propTypesExports.string,destroyInactiveTabPane:propTypesExports.bool,direction:propTypesExports.string},TabContent.defaultProps={animated:!0};var InkTabBarNode=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"componentDidMount",value:function(){var e=this;this.timeout=setTimeout((function(){_componentDidUpdate(e,!0)}),0)}},{key:"componentDidUpdate",value:function(){_componentDidUpdate(this)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.timeout)}},{key:"render",value:function(){var e,t=this.props,r=t.prefixCls,a=t.styles,n=t.inkBarAnimated,i=r+"-ink-bar",o=classnamesExports((_default$e(e={},i,!0),_default$e(e,n?i+"-animated":i+"-no-animated",!0),e));return React$k.createElement("div",{style:a.inkBar,className:o,key:"inkBar",ref:this.props.saveRef("inkBar")})}}]),t}(React$k.Component);InkTabBarNode.propTypes={prefixCls:propTypesExports.string,styles:propTypesExports.object,inkBarAnimated:propTypesExports.bool,saveRef:propTypesExports.func,direction:propTypesExports.string},InkTabBarNode.defaultProps={prefixCls:"",inkBarAnimated:!0,styles:{},saveRef:function(){}};var TabBarTabsNode=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"render",value:function(){var e=this,t=this.props,r=t.panels,a=t.activeKey,n=t.prefixCls,i=t.tabBarGutter,o=t.saveRef,l=t.tabBarPosition,s=t.renderTabBarNode,c=t.direction,u=[];return React$k.Children.forEach(r,(function(t,f){if(t){var A=t.key,d=a===A?n+"-tab-active":"";d+=" "+n+"-tab";var p={};t.props.disabled?d+=" "+n+"-tab-disabled":p={onClick:e.props.onTabClick.bind(e,A)};var h={};a===A&&(h.ref=o("activeTab"));var b=i&&f===r.length-1?0:i,g="rtl"===c?"marginLeft":"marginRight",m=_default$e({},isVertical(l)?"marginBottom":g,b);warning_1$3("tab"in t.props);var v=React$k.createElement("div",_default$bE({role:"tab","aria-disabled":t.props.disabled?"true":"false","aria-selected":a===A?"true":"false"},p,{className:d,key:A,style:m},h),t.props.tab);s&&(v=s(v)),u.push(v)}})),React$k.createElement("div",{ref:o("navTabsContainer")},u)}}]),t}(React$k.Component);TabBarTabsNode.propTypes={activeKey:propTypesExports.string,panels:propTypesExports.node,prefixCls:propTypesExports.string,tabBarGutter:propTypesExports.number,onTabClick:propTypesExports.func,saveRef:propTypesExports.func,renderTabBarNode:propTypesExports.func,tabBarPosition:propTypesExports.string,direction:propTypesExports.string},TabBarTabsNode.defaultProps={panels:[],prefixCls:[],tabBarGutter:null,onTabClick:function(){},saveRef:function(){}};var TabBarRootNode=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"render",value:function(){var e=this.props,t=e.prefixCls,r=e.onKeyDown,a=e.className,n=e.extraContent,i=e.style,o=e.tabBarPosition,l=e.children,s=_default$d(e,["prefixCls","onKeyDown","className","extraContent","style","tabBarPosition","children"]),c=classnamesExports(t+"-bar",_default$e({},a,!!a)),u="top"===o||"bottom"===o,f=u?{float:"right"}:{},A=n&&n.props?n.props.style:{},d=l;return n&&(d=[reactExports.cloneElement(n,{key:"extra",style:_default$bE({},f,A)}),reactExports.cloneElement(l,{key:"content"})],d=u?d:d.reverse()),React$k.createElement("div",_default$bE({role:"tablist",className:c,tabIndex:"0",ref:this.props.saveRef("root"),onKeyDown:r,style:i},getDataAttr(s)),d)}}]),t}(React$k.Component);TabBarRootNode.propTypes={prefixCls:propTypesExports.string,className:propTypesExports.string,style:propTypesExports.object,tabBarPosition:propTypesExports.oneOf(["left","right","top","bottom"]),children:propTypesExports.node,extraContent:propTypesExports.node,onKeyDown:propTypesExports.func,saveRef:propTypesExports.func},TabBarRootNode.defaultProps={prefixCls:"",className:"",style:{},tabBarPosition:"top",extraContent:null,children:null,onKeyDown:function(){},saveRef:function(){}};var root$4=_root,now$5=function(){return root$4.Date.now()},now_1=now$5,reWhitespace=/\s/;function trimmedEndIndex$1(e){for(var t=e.length;t--&&reWhitespace.test(e.charAt(t)););return t}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(e){return e?e.slice(0,trimmedEndIndex(e)+1).replace(reTrimStart,""):e}var _baseTrim=baseTrim$1,baseTrim=_baseTrim,isObject$e=isObject_1,isSymbol$2=isSymbol_1,NAN=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$4(e){if("number"==typeof e)return e;if(isSymbol$2(e))return NAN;if(isObject$e(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject$e(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=baseTrim(e);var r=reIsBinary.test(e);return r||reIsOctal.test(e)?freeParseInt(e.slice(2),r?2:8):reIsBadHex.test(e)?NAN:+e}var toNumber_1=toNumber$4,isObject$d=isObject_1,now$4=now_1,toNumber$3=toNumber_1,FUNC_ERROR_TEXT$1="Expected a function",nativeMax$2=Math.max,nativeMin$1=Math.min;function debounce$3(e,t,r){var a,n,i,o,l,s,c=0,u=!1,f=!1,A=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$1);function d(t){var r=a,i=n;return a=n=void 0,c=t,o=e.apply(i,r)}function p(e){var r=e-s;return void 0===s||r>=t||r<0||f&&e-c>=i}function h(){var e=now$4();if(p(e))return b(e);l=setTimeout(h,function(e){var r=t-(e-s);return f?nativeMin$1(r,i-(e-c)):r}(e))}function b(e){return l=void 0,A&&a?d(e):(a=n=void 0,o)}function g(){var e=now$4(),r=p(e);if(a=arguments,n=this,s=e,r){if(void 0===l)return function(e){return c=e,l=setTimeout(h,t),u?d(e):o}(s);if(f)return clearTimeout(l),l=setTimeout(h,t),d(s)}return void 0===l&&(l=setTimeout(h,t)),o}return t=toNumber$3(t)||0,isObject$d(r)&&(u=!!r.leading,i=(f="maxWait"in r)?nativeMax$2(toNumber$3(r.maxWait)||0,t):i,A="trailing"in r?!!r.trailing:A),g.cancel=function(){void 0!==l&&clearTimeout(l),c=0,a=s=n=l=void 0},g.flush=function(){return void 0===l?o:b(now$4())},g}var debounce_1=debounce$3,ScrollableTabBarNode=function(e){function t(e){_default$c(this,t);var r=_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.prevTransitionEnd=function(e){if("opacity"===e.propertyName){var t=r.props.getRef("container");r.scrollToActiveTab({target:t,currentTarget:t})}},r.scrollToActiveTab=function(e){var t=r.props.getRef("activeTab"),a=r.props.getRef("navWrap");if((!e||e.target===e.currentTarget)&&t){var n=r.isNextPrevShown()&&r.lastNextPrevShown;if(r.lastNextPrevShown=r.isNextPrevShown(),n){var i=r.getScrollWH(t),o=r.getOffsetWH(a),l=r.offset,s=r.getOffsetLT(a),c=r.getOffsetLT(t);s>c?(l+=s-c,r.setOffset(l)):s+o=0)s=!1,this.setOffset(0,!1),i=0;else if(o1&&void 0!==arguments[1])||arguments[1],r=Math.min(0,e);if(this.offset!==r){this.offset=r;var a={},n=this.props.tabBarPosition,i=this.props.getRef("nav").style,o=isTransform3dSupported(i);"left"===n||"right"===n?a=o?{value:"translate3d(0,"+r+"px,0)"}:{name:"top",value:r+"px"}:o?("rtl"===this.props.direction&&(r=-r),a={value:"translate3d("+r+"px,0,0)"}):a={name:"left",value:r+"px"},o?setTransform(i,a.value):i[a.name]=a.value,t&&this.setNextPrev()}}},{key:"setPrev",value:function(e){this.state.prev!==e&&this.setState({prev:e})}},{key:"setNext",value:function(e){this.state.next!==e&&this.setState({next:e})}},{key:"isNextPrevShown",value:function(e){return e?e.next||e.prev:this.state.next||this.state.prev}},{key:"render",value:function(){var e,t,r,a,n=this.state,i=n.next,o=n.prev,l=this.props,s=l.prefixCls,c=l.scrollAnimated,u=l.navWrapper,f=l.prevIcon,A=l.nextIcon,d=o||i,p=React$k.createElement("span",{onClick:o?this.prev:null,unselectable:"unselectable",className:classnamesExports((e={},_default$e(e,s+"-tab-prev",1),_default$e(e,s+"-tab-btn-disabled",!o),_default$e(e,s+"-tab-arrow-show",d),e)),onTransitionEnd:this.prevTransitionEnd},f||React$k.createElement("span",{className:s+"-tab-prev-icon"})),h=React$k.createElement("span",{onClick:i?this.next:null,unselectable:"unselectable",className:classnamesExports((t={},_default$e(t,s+"-tab-next",1),_default$e(t,s+"-tab-btn-disabled",!i),_default$e(t,s+"-tab-arrow-show",d),t))},A||React$k.createElement("span",{className:s+"-tab-next-icon"})),b=s+"-nav",g=classnamesExports((_default$e(r={},b,!0),_default$e(r,c?b+"-animated":b+"-no-animated",!0),r));return React$k.createElement("div",{className:classnamesExports((a={},_default$e(a,s+"-nav-container",1),_default$e(a,s+"-nav-container-scrolling",d),a)),key:"container",ref:this.props.saveRef("container")},p,h,React$k.createElement("div",{className:s+"-nav-wrap",ref:this.props.saveRef("navWrap")},React$k.createElement("div",{className:s+"-nav-scroll"},React$k.createElement("div",{className:g,ref:this.props.saveRef("nav")},u(this.props.children)))))}}]),t}(React$k.Component);ScrollableTabBarNode.propTypes={activeKey:propTypesExports.string,getRef:propTypesExports.func.isRequired,saveRef:propTypesExports.func.isRequired,tabBarPosition:propTypesExports.oneOf(["left","right","top","bottom"]),prefixCls:propTypesExports.string,scrollAnimated:propTypesExports.bool,onPrevClick:propTypesExports.func,onNextClick:propTypesExports.func,navWrapper:propTypesExports.func,children:propTypesExports.node,prevIcon:propTypesExports.node,nextIcon:propTypesExports.node,direction:propTypesExports.node},ScrollableTabBarNode.defaultProps={tabBarPosition:"left",prefixCls:"",scrollAnimated:!0,onPrevClick:function(){},onNextClick:function(){},navWrapper:function(e){return e}};var SaveRef=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=0),e),c),v=_extends$1G(_extends$1G({},this.props),{children:null,inkBarAnimated:A,extraContent:o,style:a,prevIcon:b,nextIcon:g,className:m});return t=i?i(v,ScrollableInkTabBar):reactExports.createElement(ScrollableInkTabBar,v),reactExports.cloneElement(t)}}]),r}(reactExports.Component);TabBar.defaultProps={animated:!0,type:"line"};var isStyleSupport=function(e){if("undefined"!=typeof window&&window.document&&window.document.documentElement){var t=Array.isArray(e)?e:[e],r=window.document.documentElement;return t.some((function(e){return e in r.style}))}return!1},isFlexSupported=isStyleSupport(["flex","webkitFlex","Flex","msFlex"]);function _extends$1F(){return _extends$1F=Object.assign||function(e){for(var t=1;t=0&&("small"===s||"large"===s)),"Tabs","`type=card|editable-card` doesn't have small or large size, it's by design.");var m=a("tabs",i),v=classNames(l,(_defineProperty$N(r={},"".concat(m,"-vertical"),"left"===f||"right"===f),_defineProperty$N(r,"".concat(m,"-").concat(s),!!s),_defineProperty$N(r,"".concat(m,"-card"),u.indexOf("card")>=0),_defineProperty$N(r,"".concat(m,"-").concat(u),!0),_defineProperty$N(r,"".concat(m,"-no-animation"),!g),r)),y=[];"editable-card"===u&&(y=[],reactExports.Children.forEach(A,(function(t,r){if(!reactExports.isValidElement(t))return t;var a=t.props.closable,n=(a=void 0===a||a)?reactExports.createElement(Icon$1,{type:"close",className:"".concat(m,"-close-x"),onClick:function(r){return e.removeTab(t.key,r)}}):null;y.push(reactExports.cloneElement(t,{tab:reactExports.createElement("div",{className:a?void 0:"".concat(m,"-tab-unclosable")},t.props.tab,n),key:t.key||r}))})),h||(b=reactExports.createElement("span",null,reactExports.createElement(Icon$1,{type:"plus",className:"".concat(m,"-new-tab"),onClick:e.createNewTab}),b))),b=b?reactExports.createElement("div",{className:"".concat(m,"-extra-content")},b):null;var w=__rest$q(e.props,[]),k=classNames("".concat(m,"-").concat(f,"-content"),u.indexOf("card")>=0&&"".concat(m,"-card-content"));return reactExports.createElement(Tabs$1,_extends$1F({},e.props,{prefixCls:m,className:v,tabBarPosition:f,renderTabBar:function(){return reactExports.createElement(TabBar,_extends$1F({},omit(w,["className"]),{tabBarExtraContent:b}))},renderTabContent:function(){return reactExports.createElement(TabContent,{className:k,animated:g,animatedWithMargin:!0})},onChange:e.handleChange}),y.length>0?y:A)},e}return _createClass$1r(r,[{key:"componentDidMount",value:function(){var e=" no-flex",t=reactDomExports.findDOMNode(this);t&&!isFlexSupported&&-1===t.className.indexOf(e)&&(t.className+=e)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderTabs)}}]),r}(reactExports.Component);Tabs.TabPane=TabPane$2,Tabs.defaultProps={hideAdd:!1,tabPosition:"top"};var heapExports$1={},heap$1={get exports(){return heapExports$1},set exports(e){heapExports$1=e}},heapExports={},heap={get exports(){return heapExports},set exports(e){heapExports=e}};function copyArray$3(e,t){var r=-1,a=e.length;for(t||(t=Array(a));++rt?1:0},c=function(e,t,n,i,o){var l;if(null==n&&(n=0),null==o&&(o=r),n<0)throw new Error("lo must be non-negative");for(null==i&&(i=e.length);nr;0<=r?t++:t--)c.push(t);return c}.apply(this).reverse()).length;ih;0<=h?++A:--A)b.push(i(e,a));return b},p=function(e,t,a,n){var i,o,l;for(null==n&&(n=r),i=e[a];a>t&&n(i,o=e[l=a-1>>1])<0;)e[a]=o,a=l;return e[a]=i},h=function(e,t,a){var n,i,o,l,s;for(null==a&&(a=r),i=e.length,s=t,o=e[t],n=2*t+1;ne.length)&&(t=e.length);for(var r=0,a=new Array(t);rt?1:0},descending$2=function(e,t){return-1*ascending$4(e,t)},extend$3=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,r=1;r1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}var u=new RegExp("^"+hsla$3+"$").exec(e);if(u){if((r=parseInt(u[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(a=parseFloat(u[2]))<0||a>100)return;if(a/=100,(n=parseFloat(u[3]))<0||n>100)return;if(n/=100,void 0!==(i=u[4])&&((i=parseFloat(i))<0||i>1))return;if(0===a)o=l=s=Math.round(255*n);else{var f=n<.5?n*(1+a):n+a-n*a,A=2*n-f;o=Math.round(255*c(A,f,r+1/3)),l=Math.round(255*c(A,f,r)),s=Math.round(255*c(A,f,r-1/3))}t=[o,l,s,i]}return t},rgb2tuple=function(e){var t,r=new RegExp("^"+rgba$3+"$").exec(e);if(r){t=[];for(var a=[],n=1;n<=3;n++){var i=r[n];if("%"===i[i.length-1]&&(a[n]=!0),i=parseFloat(i),a[n]&&(i=i/100*255),i<0||i>255)return;t.push(Math.floor(i))}var o=a[1]||a[2]||a[3],l=a[1]&&a[2]&&a[3];if(o&&!l)return;var s=r[4];if(void 0!==s){if((s=parseFloat(s))<0||s>1)return;t.push(s)}}return t},colorname2tuple=function(e){return colors$1[e.toLowerCase()]},color2tuple=function(e){return(array$4(e)?e:null)||colorname2tuple(e)||hex2tuple(e)||rgb2tuple(e)||hsl2tuple(e)},colors$1={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},setMap=function(e){for(var t=e.map,r=e.keys,a=r.length,n=0;n1&&void 0!==arguments[1]?arguments[1]:DEFAULT_HASH_SEED;!(t=e.next()).done;)r=r*K$1+t.value|0;return r},hashInt=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:DEFAULT_HASH_SEED)*K$1+e|0},hashIntAlt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DEFAULT_HASH_SEED_ALT;return(t<<5)+t+e|0},combineHashes=function(e,t){return 2097152*e+t},combineHashesArray=function(e){return 2097152*e[0]+e[1]},hashArrays=function(e,t){return[hashInt(e[0],t[0]),hashIntAlt(e[1],t[1])]},hashIntsArray=function(e,t){var r={value:0,done:!1},a=0,n=e.length;return hashIterableInts({next:function(){return a=0&&(e[a]!==t||(e.splice(a,1),!r));a--);},clearArray=function(e){e.splice(0,e.length)},push=function(e,t){for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&core$2(e)){var a=t.group;if(null==a&&(a=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===a||"edges"===a){this.length=1,this[0]=this;var n=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:a,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===a:!!t.pannable,active:!1,classes:new Set$1$1,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==n.position.x&&(n.position.x=0),null==n.position.y&&(n.position.y=0),t.renderedPosition){var i=t.renderedPosition,o=e.pan(),l=e.zoom();n.position={x:(i.x-o.x)/l,y:(i.y-o.y)/l}}var s=[];array$4(t.classes)?s=t.classes:string$1(t.classes)&&(s=t.classes.split(/\s+/));for(var c=0,u=s.length;c0;){var w=g.pop(),k=h(w),x=w.id();if(f[x]=k,k!==1/0)for(var E=w.neighborhood().intersect(d),_=0;_0)for(r.unshift(t);u[n];){var i=u[n];r.unshift(i.edge),r.unshift(i.node),n=(a=i.node).id()}return o.spawn(r)}}}},elesfn$t={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),r=t.nodes,a=t.edges,n=r.length,i=new Array(n),o=r,l=function(e){for(var t=0;t0;){if(s=h.pop(),c=s.id(),b.delete(c),w++,c===f){for(var k=[],x=n,E=f,_=m[E];k.unshift(x),null!=_&&k.unshift(_),null!=(x=g[E]);)_=m[E=x.id()];return{found:!0,distance:A[c],path:this.spawn(k),steps:w}}p[c]=!0;for(var C=s._private.edges,$=0;$C&&(d[_]=C,g[_]=E,m[_]=y),!n){var $=E*c+x;!n&&d[$]>C&&(d[$]=C,g[$]=x,m[$]=y)}}}for(var T=0;T1&&void 0!==arguments[1]?arguments[1]:i,a=[],n=m(e);;){if(null==n)return t.spawn();var o=g(n),s=o.edge,c=o.pred;if(a.unshift(n[0]),n.same(r)&&a.length>0)break;null!=s&&a.unshift(s),n=c}return l.spawn(a)},hasNegativeWeightCycle:p,negativeWeightCycles:h}}},sqrt2=Math.sqrt(2),collapse=function(e,t,r){0===r.length&&error("Karger-Stein must be run on a connected (sub)graph");for(var a=r[e],n=a[1],i=a[2],o=t[n],l=t[i],s=r,c=s.length-1;c>=0;c--){var u=s[c],f=u[1],A=u[2];(t[f]===o&&t[A]===l||t[f]===l&&t[A]===o)&&s.splice(c,1)}for(var d=0;da;){var n=Math.floor(Math.random()*t.length);t=collapse(n,e,t),r--}return t},elesfn$p={kargerStein:function(){var e=this,t=this.byGroup(),r=t.nodes,a=t.edges;a.unmergeBy((function(e){return e.isLoop()}));var n=r.length,i=a.length,o=Math.ceil(Math.pow(Math.log(n)/Math.LN2,2)),l=Math.floor(n/sqrt2);if(!(n<2)){for(var s=[],c=0;c1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,a=1/0,n=t;n1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,a=-1/0,n=t;n1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,a=0,n=0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e=e.slice(t,r):(r0&&e.splice(0,t));for(var i=0,o=e.length-1;o>=0;o--){var l=e[o];n?isFinite(l)||(e[o]=-1/0,i++):e.splice(o,1)}a&&e.sort((function(e,t){return e-t}));var s=e.length,c=Math.floor(s/2);return s%2!=0?e[c+1+i]:(e[c-1+i]+e[c+i])/2},deg2rad$1=function(e){return Math.PI*e/180},getAngleFromDisp=function(e,t){return Math.atan2(t,e)-Math.PI/2},log2=Math.log2||function(e){return Math.log(e)/Math.log(2)},signum=function(e){return e>0?1:e<0?-1:0},dist$1=function(e,t){return Math.sqrt(sqdist(e,t))},sqdist=function(e,t){var r=t.x-e.x,a=t.y-e.y;return r*r+a*a},inPlaceSumNormalize=function(e){for(var t=e.length,r=0,a=0;a=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},copyBoundingBox=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},clearBoundingBox=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},updateBoundingBox=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},expandBoundingBoxByPoint=function(e,t,r){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r),e.y2=Math.max(e.y2,r),e.h=e.y2-e.y1},expandBoundingBox=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},expandBoundingBoxSides=function(e){var t,r,a,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===i.length)t=r=a=n=i[0];else if(2===i.length)t=a=i[0],n=r=i[1];else if(4===i.length){var o=_slicedToArray$4(i,4);t=o[0],r=o[1],a=o[2],n=o[3]}return e.x1-=n,e.x2+=r,e.y1-=t,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},assignBoundingBox=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},boundingBoxesIntersect=function(e,t){return!(e.x1>t.x2)&&(!(t.x1>e.x2)&&(!(e.x2t.y2)&&!(t.y1>e.y2)))))))},inBoundingBox=function(e,t,r){return e.x1<=t&&t<=e.x2&&e.y1<=r&&r<=e.y2},pointInBoundingBox=function(e,t){return inBoundingBox(e,t.x,t.y)},boundingBoxInBoundingBox=function(e,t){return inBoundingBox(e,t.x1,t.y1)&&inBoundingBox(e,t.x2,t.y2)},roundRectangleIntersectLine=function(e,t,r,a,n,i,o){var l,s=getRoundRectangleRadius(n,i),c=n/2,u=i/2,f=a-u-o;if((l=finiteLinesIntersect(e,t,r,a,r-c+s-o,f,r+c-s+o,f,!1)).length>0)return l;var A=r+c+o;if((l=finiteLinesIntersect(e,t,r,a,A,a-u+s-o,A,a+u-s+o,!1)).length>0)return l;var d=a+u+o;if((l=finiteLinesIntersect(e,t,r,a,r-c+s-o,d,r+c-s+o,d,!1)).length>0)return l;var p,h=r-c-o;if((l=finiteLinesIntersect(e,t,r,a,h,a-u+s-o,h,a+u-s+o,!1)).length>0)return l;var b=r-c+s,g=a-u+s;if((p=intersectLineCircle(e,t,r,a,b,g,s+o)).length>0&&p[0]<=b&&p[1]<=g)return[p[0],p[1]];var m=r+c-s,v=a-u+s;if((p=intersectLineCircle(e,t,r,a,m,v,s+o)).length>0&&p[0]>=m&&p[1]<=v)return[p[0],p[1]];var y=r+c-s,w=a+u-s;if((p=intersectLineCircle(e,t,r,a,y,w,s+o)).length>0&&p[0]>=y&&p[1]>=w)return[p[0],p[1]];var k=r-c+s,x=a+u-s;return(p=intersectLineCircle(e,t,r,a,k,x,s+o)).length>0&&p[0]<=k&&p[1]>=x?[p[0],p[1]]:[]},inLineVicinity=function(e,t,r,a,n,i,o){var l=o,s=Math.min(r,n),c=Math.max(r,n),u=Math.min(a,i),f=Math.max(a,i);return s-l<=e&&e<=c+l&&u-l<=t&&t<=f+l},inBezierVicinity=function(e,t,r,a,n,i,o,l,s){var c=Math.min(r,o,n)-s,u=Math.max(r,o,n)+s,f=Math.min(a,l,i)-s,A=Math.max(a,l,i)+s;return!(eu||tA)},solveQuadratic=function(e,t,r,a){var n=t*t-4*e*(r-=a);if(n<0)return[];var i=Math.sqrt(n),o=2*e;return[(-t+i)/o,(-t-i)/o]},solveCubic=function(e,t,r,a,n){var i,o,l,s,c,u,f,A;return 0===e&&(e=1e-5),l=-27*(a/=e)+(t/=e)*(9*(r/=e)-t*t*2),i=(o=(3*r-t*t)/9)*o*o+(l/=54)*l,n[1]=0,f=t/3,i>0?(c=(c=l+Math.sqrt(i))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),u=(u=l-Math.sqrt(i))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),n[0]=-f+c+u,f+=(c+u)/2,n[4]=n[2]=-f,f=Math.sqrt(3)*(-u+c)/2,n[3]=f,void(n[5]=-f)):(n[5]=n[3]=0,0===i?(A=l<0?-Math.pow(-l,1/3):Math.pow(l,1/3),n[0]=2*A-f,void(n[4]=n[2]=-(A+f))):(s=(o=-o)*o*o,s=Math.acos(l/Math.sqrt(s)),A=2*Math.sqrt(o),n[0]=-f+A*Math.cos(s/3),n[2]=-f+A*Math.cos((s+2*Math.PI)/3),void(n[4]=-f+A*Math.cos((s+4*Math.PI)/3))))},sqdistToQuadraticBezier=function(e,t,r,a,n,i,o,l){var s=[];solveCubic(1*r*r-4*r*n+2*r*o+4*n*n-4*n*o+o*o+a*a-4*a*i+2*a*l+4*i*i-4*i*l+l*l,9*r*n-3*r*r-3*r*o-6*n*n+3*n*o+9*a*i-3*a*a-3*a*l-6*i*i+3*i*l,3*r*r-6*r*n+r*o-r*e+2*n*n+2*n*e-o*e+3*a*a-6*a*i+a*l-a*t+2*i*i+2*i*t-l*t,1*r*n-r*r+r*e-n*e+a*i-a*a+a*t-i*t,s);for(var c=[],u=0;u<6;u+=2)Math.abs(s[u+1])<1e-7&&s[u]>=0&&s[u]<=1&&c.push(s[u]);c.push(1),c.push(0);for(var f,A,d,p=-1,h=0;h=0?ds?(e-n)*(e-n)+(t-i)*(t-i):c-f},pointInsidePolygonPoints=function(e,t,r){for(var a,n,i,o,l=0,s=0;s=e&&e>=i||a<=e&&e<=i))continue;(e-a)/(i-a)*(o-n)+n>t&&l++}return l%2!=0},pointInsidePolygon=function(e,t,r,a,n,i,o,l,s){var c,u=new Array(r.length);null!=l[0]?(c=Math.atan(l[1]/l[0]),l[0]<0?c+=Math.PI/2:c=-c-Math.PI/2):c=l;for(var f,A=Math.cos(-c),d=Math.sin(-c),p=0;p0){var h=expandPolygon(u,-s);f=joinLines(h)}else f=u;return pointInsidePolygonPoints(e,t,f)},pointInsideRoundPolygon=function(e,t,r,a,n,i,o){for(var l=new Array(r.length),s=i/2,c=o/2,u=getRoundPolygonRadius(i,o),f=u*u,A=0;A=0&&p<=1&&b.push(p),h>=0&&h<=1&&b.push(h),0===b.length)return[];var g=b[0]*l[0]+e,m=b[0]*l[1]+t;return b.length>1?b[0]==b[1]?[g,m]:[g,m,b[1]*l[0]+e,b[1]*l[1]+t]:[g,m]},midOfThree=function(e,t,r){return t<=e&&e<=r||r<=e&&e<=t?e:e<=t&&t<=r||r<=t&&t<=e?t:r},finiteLinesIntersect=function(e,t,r,a,n,i,o,l,s){var c=e-n,u=r-e,f=o-n,A=t-i,d=a-t,p=l-i,h=f*A-p*c,b=u*A-d*c,g=p*u-f*d;if(0!==g){var m=h/g,v=b/g,y=-.001;return y<=m&&m<=1.001&&y<=v&&v<=1.001||s?[e+m*u,t+m*d]:[]}return 0===h||0===b?midOfThree(e,r,o)===o?[o,l]:midOfThree(e,r,n)===n?[n,i]:midOfThree(n,o,r)===r?[r,a]:[]:[]},polygonIntersectLine=function(e,t,r,a,n,i,o,l){var s,c,u,f,A,d,p=[],h=new Array(r.length),b=!0;if(null==i&&(b=!1),b){for(var g=0;g0){var m=expandPolygon(h,-l);c=joinLines(m)}else c=h}else c=r;for(var v=0;v2){for(var T=[c[0],c[1]],O=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),S=1;Sc&&(c=t)},f=function(e){return s[e]},A=0;A0?v.edgesTo(m)[0]:m.edgesTo(v)[0];var w=a(y);m=m.id(),A[m]>A[b]+w&&(A[m]=A[b]+w,d.nodes.indexOf(m)<0?d.push(m):d.updateItem(m),c[m]=0,s[m]=[]),A[m]==A[b]+w&&(c[m]=c[m]+c[b],s[m].push(b))}else for(var k=0;k0;){for(var C=r.pop(),$=0;$0&&o.push(r[l]);0!==o.length&&n.push(a.collection(o))}return n},isDuplicate=function(e,t){for(var r=0;r5&&void 0!==arguments[5]?arguments[5]:identity$b,o=a,l=0;l=2?getDistance(e,t,r,0,addSquaredDiff,sqrt$2):getDistance(e,t,r,0,addAbsDiff)},squaredEuclidean:function(e,t,r){return getDistance(e,t,r,0,addSquaredDiff)},manhattan:function(e,t,r){return getDistance(e,t,r,0,addAbsDiff)},max:function(e,t,r){return getDistance(e,t,r,-1/0,maxAbsDiff)}};function clusteringDistance(e,t,r,a,n,i){var o;return o=fn$6(e)?e:distances[e]||distances.euclidean,0===t&&fn$6(e)?o(n,i):o(t,r,a,n,i)}distances["squared-euclidean"]=distances.squaredEuclidean,distances.squaredeuclidean=distances.squaredEuclidean;var defaults$b=defaults$g({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),setOptions$2=function(e){return defaults$b(e)},getDist=function(e,t,r,a,n){var i="kMedoids"!==n?function(e){return r[e]}:function(e){return a[e](r)},o=r,l=t;return clusteringDistance(e,a.length,i,(function(e){return a[e](t)}),o,l)},randomCentroids=function(e,t,r){for(var a=r.length,n=new Array(a),i=new Array(a),o=new Array(t),l=null,s=0;sr)return!1}return!0},seenBefore=function(e,t,r){for(var a=0;an&&(n=t[s][c],i=c);o[i].push(e[s])}for(var u=0;u=n.threshold||"dendrogram"===n.mode&&1===e.length)return!1;var d,p=t[o],h=t[a[o]];d="dendrogram"===n.mode?{left:p,right:h,key:p.key}:{value:p.value.concat(h.value),key:p.key},e[p.index]=d,e.splice(h.index,1),t[p.key]=d;for(var b=0;br[h.key][g.key]&&(i=r[h.key][g.key])):"max"===n.linkage?(i=r[p.key][g.key],r[p.key][g.key]0&&a.push(n);return a},assignClusters=function(e,t,r){for(var a=[],n=0;no&&(i=s,o=t[n*e+s])}i>0&&a.push(i)}for(var c=0;cs&&(l=c,s=u)}r[n]=i[l]}return a=assignClusters(e,t,r)},affinityPropagation=function(e){for(var t,r,a,n,i,o,l=this.cy(),s=this.nodes(),c=setOptions(e),u={},f=0;f=C?($=C,C=O,T=S):O>$&&($=O);for(var I=0;I0?1:0;x[k%c.minIterations*t+D]=z,L+=z}if(L>0&&(k>=c.minIterations-1||k==c.maxIterations-1)){for(var F=0,N=0;N1||o>1)&&(c=!0),u[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&u[t].push(e.id())}))}else f[t]=[void 0,e.target().id()]})):s.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(r?a?c=!0:a=t:r=t),u[t]=[],e.connectedEdges().forEach((function(e){return u[t].push(e.id())}))):f[t]=[e.source().id(),e.target().id()]}));var A={found:!1,trail:void 0};if(c)return A;if(a&&r)if(l){if(n&&a!=n)return A;n=a}else{if(n&&a!=n&&r!=n)return A;n||(n=a)}else n||(n=s[0].id());var d=function(e){for(var t,r,a,n=e,i=[e];u[n].length;)t=u[n].shift(),r=f[t][0],n!=(a=f[t][1])?(u[a]=u[a].filter((function(e){return e!=t})),n=a):l||n==r||(u[r]=u[r].filter((function(e){return e!=t})),n=r),i.unshift(t),i.unshift(n);return i},p=[],h=[];for(h=d(n);1!=h.length;)0==u[h[0]].length?(p.unshift(s.getElementById(h.shift())),p.unshift(s.getElementById(h.shift()))):h=d(h.shift()).concat(h);for(var b in p.unshift(s.getElementById(h.shift())),u)if(u[b].length)return A;return A.found=!0,A.trail=this.spawn(p,!0),A}},hopcroftTarjanBiconnected=function(){var e=this,t={},r=0,a=0,n=[],i=[],o={},l=function l(s,c,u){s===u&&(a+=1),t[c]={id:r,low:r++,cutVertex:!1};var f,A,d,p,h=e.getElementById(c).connectedEdges().intersection(e);0===h.size()?n.push(e.spawn(e.getElementById(c))):h.forEach((function(r){f=r.source().id(),A=r.target().id(),(d=f===c?A:f)!==u&&(p=r.id(),o[p]||(o[p]=!0,i.push({x:c,y:d,edge:r})),d in t?t[c].low=Math.min(t[c].low,t[d].id):(l(s,d,c),t[c].low=Math.min(t[c].low,t[d].low),t[c].id<=t[d].low&&(t[c].cutVertex=!0,function(r,a){for(var o=i.length-1,l=[],s=e.spawn();i[o].x!=r||i[o].y!=a;)l.push(i.pop().edge),o--;l.push(i.pop().edge),l.forEach((function(r){var a=r.connectedNodes().intersection(e);s.merge(r),a.forEach((function(r){var a=r.id(),n=r.connectedEdges().intersection(e);s.merge(r),t[a].cutVertex?s.merge(n.filter((function(e){return e.isLoop()}))):s.merge(n)}))})),n.push(s)}(c,d))))}))};e.forEach((function(e){if(e.isNode()){var r=e.id();r in t||(a=0,l(r,r),t[r].cutVertex=a>1)}}));var s=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(s),components:n}},hopcroftTarjanBiconnected$1={hopcroftTarjanBiconnected:hopcroftTarjanBiconnected,htbc:hopcroftTarjanBiconnected,htb:hopcroftTarjanBiconnected,hopcroftTarjanBiconnectedComponents:hopcroftTarjanBiconnected},tarjanStronglyConnected=function(){var e=this,t={},r=0,a=[],n=[],i=e.spawn(e),o=function o(l){if(n.push(l),t[l]={index:r,low:r++,explored:!1},e.getElementById(l).connectedEdges().intersection(e).forEach((function(e){var r=e.target().id();r!==l&&(r in t||o(r),t[r].explored||(t[l].low=Math.min(t[l].low,t[r].low)))})),t[l].index===t[l].low){for(var s=e.spawn();;){var c=n.pop();if(s.merge(e.getElementById(c)),t[c].low=t[l].index,t[c].explored=!0,c===l)break}var u=s.edgesWith(s),f=s.merge(u);a.push(f),i=i.difference(f)}};return e.forEach((function(e){if(e.isNode()){var r=e.id();r in t||o(r)}})),{cut:i,components:a}},tarjanStronglyConnected$1={tarjanStronglyConnected:tarjanStronglyConnected,tsc:tarjanStronglyConnected,tscc:tarjanStronglyConnected,tarjanStronglyConnectedComponents:tarjanStronglyConnected},elesfn$j={};[elesfn$v,elesfn$u,elesfn$t,elesfn$s,elesfn$r,elesfn$q,elesfn$p,elesfn$o,elesfn$n,elesfn$m,elesfn$l,markovClustering$1,kClustering,hierarchicalClustering$1,affinityPropagation$1,elesfn$k,hopcroftTarjanBiconnected$1,tarjanStronglyConnected$1].forEach((function(e){extend$3(elesfn$j,e)})); + */function toObject$3(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function shouldUseNative(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var a=Object.getOwnPropertyNames(t).map((function(e){return t[e]}));if("0123456789"!==a.join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(i){return!1}}var objectAssign=shouldUseNative()?Object.assign:function(e,t){for(var r,a,n=toObject$3(e),i=1;i=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r},possibleConstructorReturn$1=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},encodeSpecialCharacters=function(e){return!1===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])?String(e):String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},getTitleFromPropsList=function(e){var t=getInnermostProperty(e,TAG_NAMES.TITLE),r=getInnermostProperty(e,HELMET_PROPS.TITLE_TEMPLATE);if(r&&t)return r.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var a=getInnermostProperty(e,HELMET_PROPS.DEFAULT_TITLE);return t||a||void 0},getOnChangeClientState=function(e){return getInnermostProperty(e,HELMET_PROPS.ON_CHANGE_CLIENT_STATE)||function(){}},getAttributesFromPropsList=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return _extends$26({},e,t)}),{})},getBaseTagFromPropsList=function(e,t){return t.filter((function(e){return void 0!==e[TAG_NAMES.BASE]})).map((function(e){return e[TAG_NAMES.BASE]})).reverse().reduce((function(t,r){if(!t.length)for(var a=Object.keys(r),n=0;n=0;r--){var a=e[r];if(a.hasOwnProperty(t))return a[t]}return null},reducePropsToState=function(e){return{baseTag:getBaseTagFromPropsList([TAG_PROPERTIES.HREF,TAG_PROPERTIES.TARGET],e),bodyAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY,e),defer:getInnermostProperty(e,HELMET_PROPS.DEFER),encode:getInnermostProperty(e,HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML,e),linkTags:getTagsFromPropsList(TAG_NAMES.LINK,[TAG_PROPERTIES.REL,TAG_PROPERTIES.HREF],e),metaTags:getTagsFromPropsList(TAG_NAMES.META,[TAG_PROPERTIES.NAME,TAG_PROPERTIES.CHARSET,TAG_PROPERTIES.HTTPEQUIV,TAG_PROPERTIES.PROPERTY,TAG_PROPERTIES.ITEM_PROP],e),noscriptTags:getTagsFromPropsList(TAG_NAMES.NOSCRIPT,[TAG_PROPERTIES.INNER_HTML],e),onChangeClientState:getOnChangeClientState(e),scriptTags:getTagsFromPropsList(TAG_NAMES.SCRIPT,[TAG_PROPERTIES.SRC,TAG_PROPERTIES.INNER_HTML],e),styleTags:getTagsFromPropsList(TAG_NAMES.STYLE,[TAG_PROPERTIES.CSS_TEXT],e),title:getTitleFromPropsList(e),titleAttributes:getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE,e)}},rafPolyfill=function(){var e=Date.now();return function(t){var r=Date.now();r-e>16?(e=r,t(r)):setTimeout((function(){rafPolyfill(t)}),0)}}(),cafPolyfill=function(e){return clearTimeout(e)},requestAnimationFrame$2="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||rafPolyfill:global.requestAnimationFrame||rafPolyfill,cancelAnimationFrame$1="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||cafPolyfill:global.cancelAnimationFrame||cafPolyfill,warn$3=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},_helmetCallback=null,handleClientStateChange=function(e){_helmetCallback&&cancelAnimationFrame$1(_helmetCallback),e.defer?_helmetCallback=requestAnimationFrame$2((function(){commitTagChanges(e,(function(){_helmetCallback=null}))})):(commitTagChanges(e),_helmetCallback=null)},commitTagChanges=function(e,t){var r=e.baseTag,a=e.bodyAttributes,n=e.htmlAttributes,i=e.linkTags,o=e.metaTags,l=e.noscriptTags,s=e.onChangeClientState,c=e.scriptTags,u=e.styleTags,f=e.title,A=e.titleAttributes;updateAttributes(TAG_NAMES.BODY,a),updateAttributes(TAG_NAMES.HTML,n),updateTitle(f,A);var d={baseTag:updateTags(TAG_NAMES.BASE,r),linkTags:updateTags(TAG_NAMES.LINK,i),metaTags:updateTags(TAG_NAMES.META,o),noscriptTags:updateTags(TAG_NAMES.NOSCRIPT,l),scriptTags:updateTags(TAG_NAMES.SCRIPT,c),styleTags:updateTags(TAG_NAMES.STYLE,u)},p={},h={};Object.keys(d).forEach((function(e){var t=d[e],r=t.newTags,a=t.oldTags;r.length&&(p[e]=r),a.length&&(h[e]=d[e].oldTags)})),t&&t(),s(e,p,h)},flattenArray$1=function(e){return Array.isArray(e)?e.join(""):e},updateTitle=function(e,t){void 0!==e&&document.title!==e&&(document.title=flattenArray$1(e)),updateAttributes(TAG_NAMES.TITLE,t)},updateAttributes=function(e,t){var r=document.getElementsByTagName(e)[0];if(r){for(var a=r.getAttribute(HELMET_ATTRIBUTE),n=a?a.split(","):[],i=[].concat(n),o=Object.keys(t),l=0;l=0;f--)r.removeAttribute(i[f]);n.length===i.length?r.removeAttribute(HELMET_ATTRIBUTE):r.getAttribute(HELMET_ATTRIBUTE)!==o.join(",")&&r.setAttribute(HELMET_ATTRIBUTE,o.join(","))}},updateTags=function(e,t){var r=document.head||document.querySelector(TAG_NAMES.HEAD),a=r.querySelectorAll(e+"["+HELMET_ATTRIBUTE+"]"),n=Array.prototype.slice.call(a),i=[],o=void 0;return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)if(t.hasOwnProperty(a))if(a===TAG_PROPERTIES.INNER_HTML)r.innerHTML=t.innerHTML;else if(a===TAG_PROPERTIES.CSS_TEXT)r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText));else{var l=void 0===t[a]?"":t[a];r.setAttribute(a,l)}r.setAttribute(HELMET_ATTRIBUTE,"true"),n.some((function(e,t){return o=t,r.isEqualNode(e)}))?n.splice(o,1):i.push(r)})),n.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:n,newTags:i}},generateElementAttributesAsString=function(e){return Object.keys(e).reduce((function(t,r){var a=void 0!==e[r]?r+'="'+e[r]+'"':""+r;return t?t+" "+a:a}),"")},generateTitleAsString=function(e,t,r,a){var n=generateElementAttributesAsString(r),i=flattenArray$1(t);return n?"<"+e+" "+HELMET_ATTRIBUTE+'="true" '+n+">"+encodeSpecialCharacters(i,a)+"":"<"+e+" "+HELMET_ATTRIBUTE+'="true">'+encodeSpecialCharacters(i,a)+""},generateTagsAsString=function(e,t,r){return t.reduce((function(t,a){var n=Object.keys(a).filter((function(e){return!(e===TAG_PROPERTIES.INNER_HTML||e===TAG_PROPERTIES.CSS_TEXT)})).reduce((function(e,t){var n=void 0===a[t]?t:t+'="'+encodeSpecialCharacters(a[t],r)+'"';return e?e+" "+n:n}),""),i=a.innerHTML||a.cssText||"",o=-1===SELF_CLOSING_TAGS.indexOf(e);return t+"<"+e+" "+HELMET_ATTRIBUTE+'="true" '+n+(o?"/>":">"+i+"")}),"")},convertElementAttributestoReactProps=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,r){return t[REACT_TAG_MAP[r]||r]=e[r],t}),t)},convertReactPropstoHtmlAttributes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,r){return t[HTML_TAG_MAP[r]||r]=e[r],t}),t)},generateTitleAsReactComponent=function(e,t,r){var a,n=((a={key:t})[HELMET_ATTRIBUTE]=!0,a),i=convertElementAttributestoReactProps(r,n);return[React$k.createElement(TAG_NAMES.TITLE,i,t)]},generateTagsAsReactComponent=function(e,t){return t.map((function(t,r){var a,n=((a={key:r})[HELMET_ATTRIBUTE]=!0,a);return Object.keys(t).forEach((function(e){var r=REACT_TAG_MAP[e]||e;if(r===TAG_PROPERTIES.INNER_HTML||r===TAG_PROPERTIES.CSS_TEXT){var a=t.innerHTML||t.cssText;n.dangerouslySetInnerHTML={__html:a}}else n[r]=t[e]})),React$k.createElement(e,n)}))},getMethodsForTag=function(e,t,r){switch(e){case TAG_NAMES.TITLE:return{toComponent:function(){return generateTitleAsReactComponent(e,t.title,t.titleAttributes)},toString:function(){return generateTitleAsString(e,t.title,t.titleAttributes,r)}};case ATTRIBUTE_NAMES.BODY:case ATTRIBUTE_NAMES.HTML:return{toComponent:function(){return convertElementAttributestoReactProps(t)},toString:function(){return generateElementAttributesAsString(t)}};default:return{toComponent:function(){return generateTagsAsReactComponent(e,t)},toString:function(){return generateTagsAsString(e,t,r)}}}},mapStateOnServer=function(e){var t=e.baseTag,r=e.bodyAttributes,a=e.encode,n=e.htmlAttributes,i=e.linkTags,o=e.metaTags,l=e.noscriptTags,s=e.scriptTags,c=e.styleTags,u=e.title,f=void 0===u?"":u,A=e.titleAttributes;return{base:getMethodsForTag(TAG_NAMES.BASE,t,a),bodyAttributes:getMethodsForTag(ATTRIBUTE_NAMES.BODY,r,a),htmlAttributes:getMethodsForTag(ATTRIBUTE_NAMES.HTML,n,a),link:getMethodsForTag(TAG_NAMES.LINK,i,a),meta:getMethodsForTag(TAG_NAMES.META,o,a),noscript:getMethodsForTag(TAG_NAMES.NOSCRIPT,l,a),script:getMethodsForTag(TAG_NAMES.SCRIPT,s,a),style:getMethodsForTag(TAG_NAMES.STYLE,c,a),title:getMethodsForTag(TAG_NAMES.TITLE,{title:f,titleAttributes:A},a)}},Helmet=function(e){var t,r;return r=t=function(t){function r(){return classCallCheck$1(this,r),possibleConstructorReturn$1(this,t.apply(this,arguments))}return inherits$1(r,t),r.prototype.shouldComponentUpdate=function(e){return!reactFastCompare(this.props,e)},r.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case TAG_NAMES.SCRIPT:case TAG_NAMES.NOSCRIPT:return{innerHTML:t};case TAG_NAMES.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},r.prototype.flattenArrayTypeChildren=function(e){var t,r=e.child,a=e.arrayTypeChildren,n=e.newChildProps,i=e.nestedChildren;return _extends$26({},a,((t={})[r.type]=[].concat(a[r.type]||[],[_extends$26({},n,this.mapNestedChildrenToProps(r,i))]),t))},r.prototype.mapObjectTypeChildren=function(e){var t,r,a=e.child,n=e.newProps,i=e.newChildProps,o=e.nestedChildren;switch(a.type){case TAG_NAMES.TITLE:return _extends$26({},n,((t={})[a.type]=o,t.titleAttributes=_extends$26({},i),t));case TAG_NAMES.BODY:return _extends$26({},n,{bodyAttributes:_extends$26({},i)});case TAG_NAMES.HTML:return _extends$26({},n,{htmlAttributes:_extends$26({},i)})}return _extends$26({},n,((r={})[a.type]=_extends$26({},i),r))},r.prototype.mapArrayTypeChildrenToProps=function(e,t){var r=_extends$26({},t);return Object.keys(e).forEach((function(t){var a;r=_extends$26({},r,((a={})[t]=e[t],a))})),r},r.prototype.warnOnInvalidChildren=function(e,t){return!0},r.prototype.mapChildrenToProps=function(e,t){var r=this,a={};return React$k.Children.forEach(e,(function(e){if(e&&e.props){var n=e.props,i=n.children,o=objectWithoutProperties$1(n,["children"]),l=convertReactPropstoHtmlAttributes(o);switch(r.warnOnInvalidChildren(e,i),e.type){case TAG_NAMES.LINK:case TAG_NAMES.META:case TAG_NAMES.NOSCRIPT:case TAG_NAMES.SCRIPT:case TAG_NAMES.STYLE:a=r.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:i});break;default:t=r.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:i})}}})),t=this.mapArrayTypeChildrenToProps(a,t)},r.prototype.render=function(){var t=this.props,r=t.children,a=objectWithoutProperties$1(t,["children"]),n=_extends$26({},a);return r&&(n=this.mapChildrenToProps(r,n)),React$k.createElement(e,n)},createClass$1(r,null,[{key:"canUseDOM",set:function(t){e.canUseDOM=t}}]),r}(React$k.Component),t.propTypes={base:propTypesExports.object,bodyAttributes:propTypesExports.object,children:propTypesExports.oneOfType([propTypesExports.arrayOf(propTypesExports.node),propTypesExports.node]),defaultTitle:propTypesExports.string,defer:propTypesExports.bool,encodeSpecialCharacters:propTypesExports.bool,htmlAttributes:propTypesExports.object,link:propTypesExports.arrayOf(propTypesExports.object),meta:propTypesExports.arrayOf(propTypesExports.object),noscript:propTypesExports.arrayOf(propTypesExports.object),onChangeClientState:propTypesExports.func,script:propTypesExports.arrayOf(propTypesExports.object),style:propTypesExports.arrayOf(propTypesExports.object),title:propTypesExports.string,titleAttributes:propTypesExports.object,titleTemplate:propTypesExports.string},t.defaultProps={defer:!0,encodeSpecialCharacters:!0},t.peek=e.peek,t.rewind=function(){var t=e.rewind();return t||(t=mapStateOnServer({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),t},r},NullComponent=function(){return null},HelmetSideEffects=lib$7(reducePropsToState,handleClientStateChange,mapStateOnServer)(NullComponent),HelmetExport=Helmet(HelmetSideEffects);HelmetExport.renderStatic=HelmetExport.rewind;const index$S="",index$R="",index$Q="",index$P="",index$O="";function contains$1(e,t){for(var r=t;r;){if(r===e)return!0;r=r.parentNode}return!1}var libExports$2={},lib$6={get exports(){return libExports$2},set exports(e){libExports$2=e}},EventObjectExports={},EventObject={get exports(){return EventObjectExports},set exports(e){EventObjectExports=e}},EventBaseObjectExports={},EventBaseObject={get exports(){return EventBaseObjectExports},set exports(e){EventBaseObjectExports=e}};!function(e,t){function r(){return!1}function a(){return!0}function n(){this.timeStamp=Date.now(),this.target=void 0,this.currentTarget=void 0}Object.defineProperty(t,"__esModule",{value:!0}),n.prototype={isEventObject:1,constructor:n,isDefaultPrevented:r,isPropagationStopped:r,isImmediatePropagationStopped:r,preventDefault:function(){this.isDefaultPrevented=a},stopPropagation:function(){this.isPropagationStopped=a},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=a,this.stopPropagation()},halt:function(e){e?this.stopImmediatePropagation():this.stopPropagation(),this.preventDefault()}},t.default=n,e.exports=t.default}(EventBaseObject,EventBaseObjectExports),function(e,t){function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(EventBaseObjectExports),n=r(objectAssign),i=!0,o=!1,l=["altKey","bubbles","cancelable","ctrlKey","currentTarget","eventPhase","metaKey","shiftKey","target","timeStamp","view","type"];function s(e){return null==e}var c=[{reg:/^key/,props:["char","charCode","key","keyCode","which"],fix:function(e,t){s(e.which)&&(e.which=s(t.charCode)?t.keyCode:t.charCode),void 0===e.metaKey&&(e.metaKey=e.ctrlKey)}},{reg:/^touch/,props:["touches","changedTouches","targetTouches"]},{reg:/^hashchange$/,props:["newURL","oldURL"]},{reg:/^gesturechange$/i,props:["rotation","scale"]},{reg:/^(mousewheel|DOMMouseScroll)$/,props:[],fix:function(e,t){var r=void 0,a=void 0,n=void 0,i=t.wheelDelta,o=t.axis,l=t.wheelDeltaY,s=t.wheelDeltaX,c=t.detail;i&&(n=i/120),c&&(n=0-(c%3==0?c/3:c)),void 0!==o&&(o===e.HORIZONTAL_AXIS?(a=0,r=0-n):o===e.VERTICAL_AXIS&&(r=0,a=n)),void 0!==l&&(a=l/120),void 0!==s&&(r=-1*s/120),r||a||(a=n),void 0!==r&&(e.deltaX=r),void 0!==a&&(e.deltaY=a),void 0!==n&&(e.delta=n)}},{reg:/^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,props:["buttons","clientX","clientY","button","offsetX","relatedTarget","which","fromElement","toElement","offsetY","pageX","pageY","screenX","screenY"],fix:function(e,t){var r=void 0,a=void 0,n=void 0,i=e.target,o=t.button;return i&&s(e.pageX)&&!s(t.clientX)&&(a=(r=i.ownerDocument||document).documentElement,n=r.body,e.pageX=t.clientX+(a&&a.scrollLeft||n&&n.scrollLeft||0)-(a&&a.clientLeft||n&&n.clientLeft||0),e.pageY=t.clientY+(a&&a.scrollTop||n&&n.scrollTop||0)-(a&&a.clientTop||n&&n.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),!e.relatedTarget&&e.fromElement&&(e.relatedTarget=e.fromElement===i?e.toElement:e.fromElement),e}}];function u(){return i}function f(){return o}function A(e){var t=e.type,r="function"==typeof e.stopPropagation||"boolean"==typeof e.cancelBubble;a.default.call(this),this.nativeEvent=e;var n=f;"defaultPrevented"in e?n=e.defaultPrevented?u:f:"getPreventDefault"in e?n=e.getPreventDefault()?u:f:"returnValue"in e&&(n=e.returnValue===o?u:f),this.isDefaultPrevented=n;var i=[],s=void 0,A=void 0,d=l.concat();for(c.forEach((function(e){t.match(e.reg)&&(d=d.concat(e.props),e.fix&&i.push(e.fix))})),s=d.length;s;)this[A=d[--s]]=e[A];for(!this.target&&r&&(this.target=e.srcElement||document),this.target&&3===this.target.nodeType&&(this.target=this.target.parentNode),s=i.length;s;)(0,i[--s])(this,e);this.timeStamp=e.timeStamp||Date.now()}var d=a.default.prototype;(0,n.default)(A.prototype,d,{constructor:A,preventDefault:function(){var e=this.nativeEvent;e.preventDefault?e.preventDefault():e.returnValue=o,d.preventDefault.call(this)},stopPropagation:function(){var e=this.nativeEvent;e.stopPropagation?e.stopPropagation():e.cancelBubble=i,d.stopPropagation.call(this)}}),t.default=A,e.exports=t.default}(EventObject,EventObjectExports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){function i(t){var n=new a.default(t);r.call(e,n)}if(e.addEventListener){var o=(l=!1,"object"==typeof n?l=n.capture||!1:"boolean"==typeof n&&(l=n),e.addEventListener(t,i,n||!1),{v:{remove:function(){e.removeEventListener(t,i,l)}}});if("object"==typeof o)return o.v}else if(e.attachEvent)return e.attachEvent("on"+t,i),{remove:function(){e.detachEvent("on"+t,i)}};var l};var r,a=(r=EventObjectExports)&&r.__esModule?r:{default:r};e.exports=t.default}(lib$6,libExports$2);const addDOMEventListener=getDefaultExportFromCjs(libExports$2);function addEventListenerWrap$1(e,t,r,a){var n=ReactDOM.unstable_batchedUpdates?function(e){ReactDOM.unstable_batchedUpdates(r,e)}:r;return addDOMEventListener(e,t,n,a)}function _typeof$1g(e){return _typeof$1g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1g(e)}function _classCallCheck$20(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1b(e,t){for(var r=0;r=0&&t.left>=0&&t.bottom>t.top&&t.right>t.left?t:null}function adjustForViewport(e,t,r,a){var n=utils$7.clone(e),i={width:t.width,height:t.height};return a.adjustX&&n.left=r.left&&n.left+i.width>r.right&&(i.width-=n.left+i.width-r.right),a.adjustX&&n.left+i.width>r.right&&(n.left=Math.max(r.right-i.width,r.left)),a.adjustY&&n.top=r.top&&n.top+i.height>r.bottom&&(i.height-=n.top+i.height-r.bottom),a.adjustY&&n.top+i.height>r.bottom&&(n.top=Math.max(r.bottom-i.height,r.top)),utils$7.mix(n,i)}function getRegion(e){var t=void 0,r=void 0,a=void 0;if(utils$7.isWindow(e)||9===e.nodeType){var n=utils$7.getWindow(e);t={left:utils$7.getWindowScrollLeft(n),top:utils$7.getWindowScrollTop(n)},r=utils$7.viewportWidth(n),a=utils$7.viewportHeight(n)}else t=utils$7.offset(e),r=utils$7.outerWidth(e),a=utils$7.outerHeight(e);return t.width=r,t.height=a,t}function getAlignOffset(e,t){var r=t.charAt(0),a=t.charAt(1),n=e.width,i=e.height,o=e.left,l=e.top;return"c"===r?l+=i/2:"b"===r&&(l+=i),"c"===a?o+=n/2:"r"===a&&(o+=n),{left:o,top:l}}function getElFuturePos(e,t,r,a,n){var i=getAlignOffset(t,r[1]),o=getAlignOffset(e,r[0]),l=[o.left-i.left,o.top-i.top];return{left:e.left-l[0]+a[0]-n[0],top:e.top-l[1]+a[1]-n[1]}}function isFailX(e,t,r){return e.leftr.right}function isFailY(e,t,r){return e.topr.bottom}function isCompleteFailX(e,t,r){return e.left>r.right||e.left+t.widthr.bottom||e.top+t.height=t.right||r.top>=t.bottom}function alignElement(e,t,r){var a=r.target||t;return doAlign(e,getRegion(a),r,!isOutOfVisibleRect(a))}mix(utils$7,domUtils$1),alignElement.__getOffsetParent=getOffsetParent,alignElement.__getVisibleRectForElement=getVisibleRectForElement;var _extends$25=Object.assign||function(e){for(var t=1;t=0&&a<=l+c&&n>=0&&n<=s+u,d=[r.points[0],"cc"];return doAlign(e,f,_extends$25({},r,{points:d}),A)}function buffer(e,t){var r=void 0;function a(){r&&(clearTimeout(r),r=null)}function n(){a(),r=setTimeout(e,t)}return n.clear=a,n}function isSamePoint(e,t){return e===t||!(!e||!t)&&("pageX"in t&&"pageY"in t?e.pageX===t.pageX&&e.pageY===t.pageY:"clientX"in t&&"clientY"in t&&(e.clientX===t.clientX&&e.clientY===t.clientY))}function isWindow$1(e){return e&&"object"==typeof e&&e.window===e}function isSimilarValue(e,t){var r=Math.floor(e),a=Math.floor(t);return Math.abs(r-a)<=1}function restoreFocus(e,t){e!==document.activeElement&&contains$1(t,e)&&e.focus()}function getElement(e){return"function"==typeof e&&e?e():null}function getPoint(e){return"object"==typeof e&&e?e:null}var Align=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o children");a=e}})),a}function isSameChildren(e,t,r){var a=e.length===t.length;return a&&e.forEach((function(e,n){var i=t[n];e&&i&&(e&&!i||!e&&i||e.key!==i.key||r&&e.props[r]!==i.props[r])&&(a=!1)})),a}function mergeChildren(e,t){var r=[],a={},n=[];return e.forEach((function(e){e&&findChildInChildrenByKey(t,e.key)?n.length&&(a[e.key]=n,n=[]):n.push(e)})),t.forEach((function(e){e&&Object.prototype.hasOwnProperty.call(a,e.key)&&(r=r.concat(a[e.key])),r.push(e)})),r=r.concat(n)}var START_EVENT_NAME_MAP={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},END_EVENT_NAME_MAP={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},startEvents=[],endEvents=[];function detectEvents(){var e=document.createElement("div").style;function t(t,r){for(var a in t)if(t.hasOwnProperty(a)){var n=t[a];for(var i in n)if(i in e){r.push(n[i]);break}}}"AnimationEvent"in window||(delete START_EVENT_NAME_MAP.animationstart.animation,delete END_EVENT_NAME_MAP.animationend.animation),"TransitionEvent"in window||(delete START_EVENT_NAME_MAP.transitionstart.transition,delete END_EVENT_NAME_MAP.transitionend.transition),t(START_EVENT_NAME_MAP,startEvents),t(END_EVENT_NAME_MAP,endEvents)}function addEventListener$1(e,t,r){e.addEventListener(t,r,!1)}function removeEventListener(e,t,r){e.removeEventListener(t,r,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&detectEvents();var TransitionEvents={startEvents:startEvents,addStartEventListener:function(e,t){0!==startEvents.length?startEvents.forEach((function(r){addEventListener$1(e,r,t)})):window.setTimeout(t,0)},removeStartEventListener:function(e,t){0!==startEvents.length&&startEvents.forEach((function(r){removeEventListener(e,r,t)}))},endEvents:endEvents,addEndEventListener:function(e,t){0!==endEvents.length?endEvents.forEach((function(r){addEventListener$1(e,r,t)})):window.setTimeout(t,0)},removeEndEventListener:function(e,t){0!==endEvents.length&&endEvents.forEach((function(r){removeEventListener(e,r,t)}))}},componentIndexof,hasRequiredComponentIndexof;function requireComponentIndexof(){return hasRequiredComponentIndexof||(hasRequiredComponentIndexof=1,componentIndexof=function(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0;r children");return React$k.createElement(AnimateChild,{key:r.key,ref:function(t){e.childrenRefs[r.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},r)})));var n=t.component;if(n){var i=t;return"string"==typeof n&&(i=_default$bE({className:t.className,style:t.style},t.componentProps)),React$k.createElement(n,i,a)}return a[0]||null}}]),t}(React$k.Component);Animate.isAnimate=!0,Animate.propTypes={className:propTypesExports.string,style:propTypesExports.object,component:propTypesExports.any,componentProps:propTypesExports.object,animation:propTypesExports.object,transitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),transitionEnter:propTypesExports.bool,transitionAppear:propTypesExports.bool,exclusive:propTypesExports.bool,transitionLeave:propTypesExports.bool,onEnd:propTypesExports.func,onEnter:propTypesExports.func,onLeave:propTypesExports.func,onAppear:propTypesExports.func,showProp:propTypesExports.string,children:propTypesExports.node},Animate.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:noop$g,onEnter:noop$g,onLeave:noop$g,onAppear:noop$g};var _initialiseProps$8=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,r){var a=e.props;if(delete e.currentlyAnimatingKeys[t],!a.exclusive||a===e.nextProps){var n=toArrayChildren(getChildrenFromProps(a));e.isValidChildByKey(n,t)?"appear"===r?util$m.allowAppearCallback(a)&&(a.onAppear(t),a.onEnd(t,!0)):util$m.allowEnterCallback(a)&&(a.onEnter(t),a.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var r=e.props;if(delete e.currentlyAnimatingKeys[t],!r.exclusive||r===e.nextProps){var a=toArrayChildren(getChildrenFromProps(r));if(e.isValidChildByKey(a,t))e.performEnter(t);else{var n=function(){util$m.allowLeaveCallback(r)&&(r.onLeave(t),r.onEnd(t,!1))};isSameChildren(e.state.children,a,r.showProp)?n():e.setState({children:a},n)}}}};const Animate$1=unsafeLifecyclesPolyfill(Animate),Animate$2=Object.freeze(Object.defineProperty({__proto__:null,default:Animate$1},Symbol.toStringTag,{value:"Module"}));var LazyRenderBox$1=function(e){function t(){return _default$c(this,t),_default$9(this,e.apply(this,arguments))}return _default$8(t,e),t.prototype.shouldComponentUpdate=function(e){return e.hiddenClassName||e.visible},t.prototype.render=function(){var e=this.props,t=e.hiddenClassName,r=e.visible,a=_default$d(e,["hiddenClassName","visible"]);return t||React$k.Children.count(a.children)>1?(!r&&t&&(a.className+=" "+t),React$k.createElement("div",a)):React$k.Children.only(a.children)},t}(reactExports.Component);LazyRenderBox$1.propTypes={children:propTypesExports.any,className:propTypesExports.string,visible:propTypesExports.bool,hiddenClassName:propTypesExports.string};var PopupInner=function(e){function t(){return _default$c(this,t),_default$9(this,e.apply(this,arguments))}return _default$8(t,e),t.prototype.render=function(){var e=this.props,t=e.className;return e.visible||(t+=" "+e.hiddenClassName),React$k.createElement("div",{className:t,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onMouseDown:e.onMouseDown,onTouchStart:e.onTouchStart,style:e.style},React$k.createElement(LazyRenderBox$1,{className:e.prefixCls+"-content",visible:e.visible},e.children))},t}(reactExports.Component);PopupInner.propTypes={hiddenClassName:propTypesExports.string,className:propTypesExports.string,prefixCls:propTypesExports.string,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseDown:propTypesExports.func,onTouchStart:propTypesExports.func,children:propTypesExports.any};var Popup=function(e){function t(r){_default$c(this,t);var a=_default$9(this,e.call(this,r));return _initialiseProps$7.call(a),a.state={stretchChecked:!1,targetWidth:void 0,targetHeight:void 0},a.savePopupRef=saveRef$2.bind(a,"popupInstance"),a.saveAlignRef=saveRef$2.bind(a,"alignInstance"),a}return _default$8(t,e),t.prototype.componentDidMount=function(){this.rootNode=this.getPopupDomNode(),this.setStretchSize()},t.prototype.componentDidUpdate=function(){this.setStretchSize()},t.prototype.getPopupDomNode=function(){return ReactDOM.findDOMNode(this.popupInstance)},t.prototype.getMaskTransitionName=function(){var e=this.props,t=e.maskTransitionName,r=e.maskAnimation;return!t&&r&&(t=e.prefixCls+"-"+r),t},t.prototype.getTransitionName=function(){var e=this.props,t=e.transitionName;return!t&&e.animation&&(t=e.prefixCls+"-"+e.animation),t},t.prototype.getClassName=function(e){return this.props.prefixCls+" "+this.props.className+" "+e},t.prototype.getPopupElement=function(){var e=this,t=this.savePopupRef,r=this.state,a=r.stretchChecked,n=r.targetHeight,i=r.targetWidth,o=this.props,l=o.align,s=o.visible,c=o.prefixCls,u=o.style,f=o.getClassNameFromAlign,A=o.destroyPopupOnHide,d=o.stretch,p=o.children,h=o.onMouseEnter,b=o.onMouseLeave,g=o.onMouseDown,m=o.onTouchStart,v=this.getClassName(this.currentAlignClassName||f(l)),y=c+"-hidden";s||(this.currentAlignClassName=null);var w={};d&&(-1!==d.indexOf("height")?w.height=n:-1!==d.indexOf("minHeight")&&(w.minHeight=n),-1!==d.indexOf("width")?w.width=i:-1!==d.indexOf("minWidth")&&(w.minWidth=i),a||(w.visibility="hidden",setTimeout((function(){e.alignInstance&&e.alignInstance.forceAlign()}),0)));var k={className:v,prefixCls:c,ref:t,onMouseEnter:h,onMouseLeave:b,onMouseDown:g,onTouchStart:m,style:_default$bE({},w,u,this.getZIndexStyle())};return A?React$k.createElement(Animate$1,{component:"",exclusive:!0,transitionAppear:!0,transitionName:this.getTransitionName()},s?React$k.createElement(Align,{target:this.getAlignTarget(),key:"popup",ref:this.saveAlignRef,monitorWindowResize:!0,align:l,onAlign:this.onAlign},React$k.createElement(PopupInner,_default$bE({visible:!0},k),p)):null):React$k.createElement(Animate$1,{component:"",exclusive:!0,transitionAppear:!0,transitionName:this.getTransitionName(),showProp:"xVisible"},React$k.createElement(Align,{target:this.getAlignTarget(),key:"popup",ref:this.saveAlignRef,monitorWindowResize:!0,xVisible:s,childrenProps:{visible:"xVisible"},disabled:!s,align:l,onAlign:this.onAlign},React$k.createElement(PopupInner,_default$bE({hiddenClassName:y},k),p)))},t.prototype.getZIndexStyle=function(){var e={},t=this.props;return void 0!==t.zIndex&&(e.zIndex=t.zIndex),e},t.prototype.getMaskElement=function(){var e=this.props,t=void 0;if(e.mask){var r=this.getMaskTransitionName();t=React$k.createElement(LazyRenderBox$1,{style:this.getZIndexStyle(),key:"mask",className:e.prefixCls+"-mask",hiddenClassName:e.prefixCls+"-mask-hidden",visible:e.visible}),r&&(t=React$k.createElement(Animate$1,{key:"mask",showProp:"visible",transitionAppear:!0,component:"",transitionName:r},t))}return t},t.prototype.render=function(){return React$k.createElement("div",null,this.getMaskElement(),this.getPopupElement())},t}(reactExports.Component);Popup.propTypes={visible:propTypesExports.bool,style:propTypesExports.object,getClassNameFromAlign:propTypesExports.func,onAlign:propTypesExports.func,getRootDomNode:propTypesExports.func,align:propTypesExports.any,destroyPopupOnHide:propTypesExports.bool,className:propTypesExports.string,prefixCls:propTypesExports.string,onMouseEnter:propTypesExports.func,onMouseLeave:propTypesExports.func,onMouseDown:propTypesExports.func,onTouchStart:propTypesExports.func,stretch:propTypesExports.string,children:propTypesExports.node,point:propTypesExports.shape({pageX:propTypesExports.number,pageY:propTypesExports.number})};var _initialiseProps$7=function(){var e=this;this.onAlign=function(t,r){var a=e.props,n=a.getClassNameFromAlign(r);e.currentAlignClassName!==n&&(e.currentAlignClassName=n,t.className=e.getClassName(n)),a.onAlign(t,r)},this.setStretchSize=function(){var t=e.props,r=t.stretch,a=t.getRootDomNode,n=t.visible,i=e.state,o=i.stretchChecked,l=i.targetHeight,s=i.targetWidth;if(r&&n){var c=a();if(c){var u=c.offsetHeight,f=c.offsetWidth;l===u&&s===f&&o||e.setState({stretchChecked:!0,targetHeight:u,targetWidth:f})}}else o&&e.setState({stretchChecked:!1})},this.getTargetElement=function(){return e.props.getRootDomNode()},this.getAlignTarget=function(){var t=e.props.point;return t||e.getTargetElement}};function noop$f(){}function returnEmptyString(){return""}function returnDocument(){return window.document}var ALL_HANDLERS=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"],IS_REACT_16$2=!!reactDomExports.createPortal,contextTypes={rcTrigger:propTypesExports.shape({onPopupMouseDown:propTypesExports.func})},Trigger=function(e){function t(r){_default$c(this,t);var a=_default$9(this,e.call(this,r));_initialiseProps$6.call(a);var n=void 0;return n="popupVisible"in r?!!r.popupVisible:!!r.defaultPopupVisible,a.state={prevPopupVisible:n,popupVisible:n},ALL_HANDLERS.forEach((function(e){a["fire"+e]=function(t){a.fireEvents(e,t)}})),a}return _default$8(t,e),t.prototype.getChildContext=function(){return{rcTrigger:{onPopupMouseDown:this.onPopupMouseDown}}},t.prototype.componentDidMount=function(){this.componentDidUpdate({},{popupVisible:this.state.popupVisible})},t.prototype.componentDidUpdate=function(e,t){var r=this.props,a=this.state;if(IS_REACT_16$2||this.renderComponent(null,(function(){t.popupVisible!==a.popupVisible&&r.afterPopupVisibleChange(a.popupVisible)})),a.popupVisible){var n=void 0;return this.clickOutsideHandler||!this.isClickToHide()&&!this.isContextMenuToShow()||(n=r.getDocument(),this.clickOutsideHandler=addEventListenerWrap$1(n,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(n=n||r.getDocument(),this.touchOutsideHandler=addEventListenerWrap$1(n,"touchstart",this.onDocumentClick)),!this.contextMenuOutsideHandler1&&this.isContextMenuToShow()&&(n=n||r.getDocument(),this.contextMenuOutsideHandler1=addEventListenerWrap$1(n,"scroll",this.onContextMenuClose)),void(!this.contextMenuOutsideHandler2&&this.isContextMenuToShow()&&(this.contextMenuOutsideHandler2=addEventListenerWrap$1(window,"blur",this.onContextMenuClose)))}this.clearOutsideHandler()},t.prototype.componentWillUnmount=function(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout)},t.getDerivedStateFromProps=function(e,t){var r=e.popupVisible,a={};return void 0!==r&&t.popupVisible!==r&&(a.popupVisible=r,a.prevPopupVisible=t.popupVisible),a},t.prototype.getPopupDomNode=function(){return this._component&&this._component.getPopupDomNode?this._component.getPopupDomNode():null},t.prototype.getPopupAlign=function(){var e=this.props,t=e.popupPlacement,r=e.popupAlign,a=e.builtinPlacements;return t&&a?getAlignFromPlacement(a,t,r):r},t.prototype.setPopupVisible=function(e,t){var r=this.props.alignPoint,a=this.state.popupVisible;this.clearDelayTimer(),a!==e&&("popupVisible"in this.props||this.setState({popupVisible:e,prevPopupVisible:a}),this.props.onPopupVisibleChange(e)),r&&t&&this.setPoint(t)},t.prototype.delaySetPopupVisible=function(e,t,r){var a=this,n=1e3*t;if(this.clearDelayTimer(),n){var i=r?{pageX:r.pageX,pageY:r.pageY}:null;this.delayTimer=setTimeout((function(){a.setPopupVisible(e,i),a.clearDelayTimer()}),n)}else this.setPopupVisible(e,r)},t.prototype.clearDelayTimer=function(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)},t.prototype.clearOutsideHandler=function(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextMenuOutsideHandler1&&(this.contextMenuOutsideHandler1.remove(),this.contextMenuOutsideHandler1=null),this.contextMenuOutsideHandler2&&(this.contextMenuOutsideHandler2.remove(),this.contextMenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)},t.prototype.createTwoChains=function(e){var t=this.props.children.props,r=this.props;return t[e]&&r[e]?this["fire"+e]:t[e]||r[e]},t.prototype.isClickToShow=function(){var e=this.props,t=e.action,r=e.showAction;return-1!==t.indexOf("click")||-1!==r.indexOf("click")},t.prototype.isContextMenuToShow=function(){var e=this.props,t=e.action,r=e.showAction;return-1!==t.indexOf("contextMenu")||-1!==r.indexOf("contextMenu")},t.prototype.isClickToHide=function(){var e=this.props,t=e.action,r=e.hideAction;return-1!==t.indexOf("click")||-1!==r.indexOf("click")},t.prototype.isMouseEnterToShow=function(){var e=this.props,t=e.action,r=e.showAction;return-1!==t.indexOf("hover")||-1!==r.indexOf("mouseEnter")},t.prototype.isMouseLeaveToHide=function(){var e=this.props,t=e.action,r=e.hideAction;return-1!==t.indexOf("hover")||-1!==r.indexOf("mouseLeave")},t.prototype.isFocusToShow=function(){var e=this.props,t=e.action,r=e.showAction;return-1!==t.indexOf("focus")||-1!==r.indexOf("focus")},t.prototype.isBlurToHide=function(){var e=this.props,t=e.action,r=e.hideAction;return-1!==t.indexOf("focus")||-1!==r.indexOf("blur")},t.prototype.forcePopupAlign=function(){this.state.popupVisible&&this._component&&this._component.alignInstance&&this._component.alignInstance.forceAlign()},t.prototype.fireEvents=function(e,t){var r=this.props.children.props[e];r&&r(t);var a=this.props[e];a&&a(t)},t.prototype.close=function(){this.setPopupVisible(!1)},t.prototype.render=function(){var e=this,t=this.state.popupVisible,r=this.props,a=r.children,n=r.forceRender,i=r.alignPoint,o=r.className,l=React$k.Children.only(a),s={key:"trigger"};this.isContextMenuToShow()?s.onContextMenu=this.onContextMenu:s.onContextMenu=this.createTwoChains("onContextMenu"),this.isClickToHide()||this.isClickToShow()?(s.onClick=this.onClick,s.onMouseDown=this.onMouseDown,s.onTouchStart=this.onTouchStart):(s.onClick=this.createTwoChains("onClick"),s.onMouseDown=this.createTwoChains("onMouseDown"),s.onTouchStart=this.createTwoChains("onTouchStart")),this.isMouseEnterToShow()?(s.onMouseEnter=this.onMouseEnter,i&&(s.onMouseMove=this.onMouseMove)):s.onMouseEnter=this.createTwoChains("onMouseEnter"),this.isMouseLeaveToHide()?s.onMouseLeave=this.onMouseLeave:s.onMouseLeave=this.createTwoChains("onMouseLeave"),this.isFocusToShow()||this.isBlurToHide()?(s.onFocus=this.onFocus,s.onBlur=this.onBlur):(s.onFocus=this.createTwoChains("onFocus"),s.onBlur=this.createTwoChains("onBlur"));var c=classnamesExports(l&&l.props&&l.props.className,o);c&&(s.className=c);var u=React$k.cloneElement(l,s);if(!IS_REACT_16$2)return React$k.createElement(ContainerRender,{parent:this,visible:t,autoMount:!1,forceRender:n,getComponent:this.getComponent,getContainer:this.getContainer},(function(t){var r=t.renderComponent;return e.renderComponent=r,u}));var f=void 0;return(t||this._component||n)&&(f=React$k.createElement(Portal$1,{key:"portal",getContainer:this.getContainer,didUpdate:this.handlePortalUpdate},this.getComponent())),[u,f]},t}(React$k.Component);Trigger.propTypes={children:propTypesExports.any,action:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.arrayOf(propTypesExports.string)]),showAction:propTypesExports.any,hideAction:propTypesExports.any,getPopupClassNameFromAlign:propTypesExports.any,onPopupVisibleChange:propTypesExports.func,afterPopupVisibleChange:propTypesExports.func,popup:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]).isRequired,popupStyle:propTypesExports.object,prefixCls:propTypesExports.string,popupClassName:propTypesExports.string,className:propTypesExports.string,popupPlacement:propTypesExports.string,builtinPlacements:propTypesExports.object,popupTransitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),popupAnimation:propTypesExports.any,mouseEnterDelay:propTypesExports.number,mouseLeaveDelay:propTypesExports.number,zIndex:propTypesExports.number,focusDelay:propTypesExports.number,blurDelay:propTypesExports.number,getPopupContainer:propTypesExports.func,getDocument:propTypesExports.func,forceRender:propTypesExports.bool,destroyPopupOnHide:propTypesExports.bool,mask:propTypesExports.bool,maskClosable:propTypesExports.bool,onPopupAlign:propTypesExports.func,popupAlign:propTypesExports.object,popupVisible:propTypesExports.bool,defaultPopupVisible:propTypesExports.bool,maskTransitionName:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.object]),maskAnimation:propTypesExports.string,stretch:propTypesExports.string,alignPoint:propTypesExports.bool},Trigger.contextTypes=contextTypes,Trigger.childContextTypes=contextTypes,Trigger.defaultProps={prefixCls:"rc-trigger-popup",getPopupClassNameFromAlign:returnEmptyString,getDocument:returnDocument,onPopupVisibleChange:noop$f,afterPopupVisibleChange:noop$f,onPopupAlign:noop$f,popupClassName:"",mouseEnterDelay:0,mouseLeaveDelay:.1,focusDelay:0,blurDelay:.15,popupStyle:{},destroyPopupOnHide:!1,popupAlign:{},defaultPopupVisible:!1,mask:!1,maskClosable:!0,action:[],showAction:[],hideAction:[]};var _initialiseProps$6=function(){var e=this;this.onMouseEnter=function(t){var r=e.props.mouseEnterDelay;e.fireEvents("onMouseEnter",t),e.delaySetPopupVisible(!0,r,r?null:t)},this.onMouseMove=function(t){e.fireEvents("onMouseMove",t),e.setPoint(t)},this.onMouseLeave=function(t){e.fireEvents("onMouseLeave",t),e.delaySetPopupVisible(!1,e.props.mouseLeaveDelay)},this.onPopupMouseEnter=function(){e.clearDelayTimer()},this.onPopupMouseLeave=function(t){t.relatedTarget&&!t.relatedTarget.setTimeout&&e._component&&e._component.getPopupDomNode&&contains$1(e._component.getPopupDomNode(),t.relatedTarget)||e.delaySetPopupVisible(!1,e.props.mouseLeaveDelay)},this.onFocus=function(t){e.fireEvents("onFocus",t),e.clearDelayTimer(),e.isFocusToShow()&&(e.focusTime=Date.now(),e.delaySetPopupVisible(!0,e.props.focusDelay))},this.onMouseDown=function(t){e.fireEvents("onMouseDown",t),e.preClickTime=Date.now()},this.onTouchStart=function(t){e.fireEvents("onTouchStart",t),e.preTouchTime=Date.now()},this.onBlur=function(t){e.fireEvents("onBlur",t),e.clearDelayTimer(),e.isBlurToHide()&&e.delaySetPopupVisible(!1,e.props.blurDelay)},this.onContextMenu=function(t){t.preventDefault(),e.fireEvents("onContextMenu",t),e.setPopupVisible(!0,t)},this.onContextMenuClose=function(){e.isContextMenuToShow()&&e.close()},this.onClick=function(t){if(e.fireEvents("onClick",t),e.focusTime){var r=void 0;if(e.preClickTime&&e.preTouchTime?r=Math.min(e.preClickTime,e.preTouchTime):e.preClickTime?r=e.preClickTime:e.preTouchTime&&(r=e.preTouchTime),Math.abs(r-e.focusTime)<20)return;e.focusTime=0}e.preClickTime=0,e.preTouchTime=0,e.isClickToShow()&&(e.isClickToHide()||e.isBlurToHide())&&t&&t.preventDefault&&t.preventDefault();var a=!e.state.popupVisible;(e.isClickToHide()&&!a||a&&e.isClickToShow())&&e.setPopupVisible(!e.state.popupVisible,t)},this.onPopupMouseDown=function(){var t=e.context.rcTrigger,r=void 0===t?{}:t;e.hasPopupMouseDown=!0,clearTimeout(e.mouseDownTimeout),e.mouseDownTimeout=setTimeout((function(){e.hasPopupMouseDown=!1}),0),r.onPopupMouseDown&&r.onPopupMouseDown.apply(r,arguments)},this.onDocumentClick=function(t){if(!e.props.mask||e.props.maskClosable){var r=t.target;contains$1(reactDomExports.findDOMNode(e),r)||e.hasPopupMouseDown||e.close()}},this.getRootDomNode=function(){return reactDomExports.findDOMNode(e)},this.getPopupClassNameFromAlign=function(t){var r=[],a=e.props,n=a.popupPlacement,i=a.builtinPlacements,o=a.prefixCls,l=a.alignPoint,s=a.getPopupClassNameFromAlign;return n&&i&&r.push(getAlignPopupClassName(i,o,t,l)),s&&r.push(s(t)),r.join(" ")},this.getComponent=function(){var t=e.props,r=t.prefixCls,a=t.destroyPopupOnHide,n=t.popupClassName,i=t.action,o=t.onPopupAlign,l=t.popupAnimation,s=t.popupTransitionName,c=t.popupStyle,u=t.mask,f=t.maskAnimation,A=t.maskTransitionName,d=t.zIndex,p=t.popup,h=t.stretch,b=t.alignPoint,g=e.state,m=g.popupVisible,v=g.point,y=e.getPopupAlign(),w={};return e.isMouseEnterToShow()&&(w.onMouseEnter=e.onPopupMouseEnter),e.isMouseLeaveToHide()&&(w.onMouseLeave=e.onPopupMouseLeave),w.onMouseDown=e.onPopupMouseDown,w.onTouchStart=e.onPopupMouseDown,React$k.createElement(Popup,_default$bE({prefixCls:r,destroyPopupOnHide:a,visible:m,point:b&&v,className:n,action:i,align:y,onAlign:o,animation:l,getClassNameFromAlign:e.getPopupClassNameFromAlign},w,{stretch:h,getRootDomNode:e.getRootDomNode,style:c,mask:u,zIndex:d,transitionName:s,maskAnimation:f,maskTransitionName:A,ref:e.savePopup}),"function"==typeof p?p():p)},this.getContainer=function(){var t=e.props,r=document.createElement("div");return r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.width="100%",(t.getPopupContainer?t.getPopupContainer(reactDomExports.findDOMNode(e)):t.getDocument().body).appendChild(r),r},this.setPoint=function(t){e.props.alignPoint&&t&&e.setState({point:{pageX:t.pageX,pageY:t.pageY}})},this.handlePortalUpdate=function(){e.state.prevPopupVisible!==e.state.popupVisible&&e.props.afterPopupVisibleChange(e.state.popupVisible)},this.savePopup=function(t){e._component=t}};polyfill(Trigger);var autoAdjustOverflow$2={adjustX:1,adjustY:1},targetOffset$2=[0,0],placements$2={topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},topCenter:{points:["bc","tc"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},topRight:{points:["br","tr"],overflow:autoAdjustOverflow$2,offset:[0,-4],targetOffset:targetOffset$2},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2},bottomCenter:{points:["tc","bc"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2},bottomRight:{points:["tr","br"],overflow:autoAdjustOverflow$2,offset:[0,4],targetOffset:targetOffset$2}},_extends$24=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}function _classCallCheck$1_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$1Y(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$1Y(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var Dropdown$1=function(e){function t(r){_classCallCheck$1_(this,t);var a=_possibleConstructorReturn$1Y(this,e.call(this,r));return _initialiseProps$5.call(a),a.state="visible"in r?{visible:r.visible}:{visible:r.defaultVisible},a}return _inherits$1Y(t,e),t.getDerivedStateFromProps=function(e){return"visible"in e?{visible:e.visible}:null},t.prototype.getOverlayElement=function(){var e=this.props.overlay;return"function"==typeof e?e():e},t.prototype.getMenuElementOrLambda=function(){return"function"==typeof this.props.overlay?this.getMenuElement:this.getMenuElement()},t.prototype.getPopupDomNode=function(){return this.trigger.getPopupDomNode()},t.prototype.getOpenClassName=function(){var e=this.props,t=e.openClassName,r=e.prefixCls;return void 0!==t?t:r+"-open"},t.prototype.renderChildren=function(){var e=this.props.children,t=this.state.visible,r=e.props?e.props:{},a=classnamesExports(r.className,this.getOpenClassName());return t&&e?reactExports.cloneElement(e,{className:a}):e},t.prototype.render=function(){var e=this.props,t=e.prefixCls,r=e.transitionName,a=e.animation,n=e.align,i=e.placement,o=e.getPopupContainer,l=e.showAction,s=e.hideAction,c=e.overlayClassName,u=e.overlayStyle,f=e.trigger,A=_objectWithoutProperties$a(e,["prefixCls","transitionName","animation","align","placement","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","trigger"]),d=s;return d||-1===f.indexOf("contextMenu")||(d=["click"]),React$k.createElement(Trigger,_extends$24({},A,{prefixCls:t,ref:this.saveTrigger,popupClassName:c,popupStyle:u,builtinPlacements:placements$2,action:f,showAction:l,hideAction:d||[],popupPlacement:i,popupAlign:n,popupTransitionName:r,popupAnimation:a,popupVisible:this.state.visible,afterPopupVisibleChange:this.afterVisibleChange,popup:this.getMenuElementOrLambda(),onPopupVisibleChange:this.onVisibleChange,getPopupContainer:o}),this.renderChildren())},t}(reactExports.Component);Dropdown$1.propTypes={minOverlayWidthMatchTrigger:propTypesExports.bool,onVisibleChange:propTypesExports.func,onOverlayClick:propTypesExports.func,prefixCls:propTypesExports.string,children:propTypesExports.any,transitionName:propTypesExports.string,overlayClassName:propTypesExports.string,openClassName:propTypesExports.string,animation:propTypesExports.any,align:propTypesExports.object,overlayStyle:propTypesExports.object,placement:propTypesExports.string,overlay:propTypesExports.oneOfType([propTypesExports.node,propTypesExports.func]),trigger:propTypesExports.array,alignPoint:propTypesExports.bool,showAction:propTypesExports.array,hideAction:propTypesExports.array,getPopupContainer:propTypesExports.func,visible:propTypesExports.bool,defaultVisible:propTypesExports.bool},Dropdown$1.defaultProps={prefixCls:"rc-dropdown",trigger:["hover"],showAction:[],overlayClassName:"",overlayStyle:{},defaultVisible:!1,onVisibleChange:function(){},placement:"bottomLeft"};var _initialiseProps$5=function(){var e=this;this.onClick=function(t){var r=e.props,a=e.getOverlayElement().props;"visible"in r||e.setState({visible:!1}),r.onOverlayClick&&r.onOverlayClick(t),a.onClick&&a.onClick(t)},this.onVisibleChange=function(t){var r=e.props;"visible"in r||e.setState({visible:t}),r.onVisibleChange(t)},this.getMinOverlayWidthMatchTrigger=function(){var t=e.props,r=t.minOverlayWidthMatchTrigger,a=t.alignPoint;return"minOverlayWidthMatchTrigger"in e.props?r:!a},this.getMenuElement=function(){var t=e.props.prefixCls,r=e.getOverlayElement(),a={prefixCls:t+"-menu",onClick:e.onClick};return"string"==typeof r.type&&delete a.prefixCls,React$k.cloneElement(r,a)},this.afterVisibleChange=function(t){if(t&&e.getMinOverlayWidthMatchTrigger()){var r=e.getPopupDomNode(),a=ReactDOM.findDOMNode(e);a&&r&&a.offsetWidth>r.offsetWidth&&(r.style.minWidth=a.offsetWidth+"px",e.trigger&&e.trigger._component&&e.trigger._component.alignInstance&&e.trigger._component.alignInstance.forceAlign())}},this.saveTrigger=function(t){e.trigger=t}};polyfill(Dropdown$1);var tuple$1=function(){for(var e=arguments.length,t=new Array(e),r=0;r=0?"slide-down":"slide-up"}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderDropDown)}}]),r}(reactExports.Component);Dropdown.defaultProps={mouseEnterDelay:.15,mouseLeaveDelay:.1,placement:"bottomLeft"};var rafExports={},raf$2={get exports(){return rafExports},set exports(e){rafExports=e}},performanceNowExports$1={},performanceNow$2={get exports(){return performanceNowExports$1},set exports(e){performanceNowExports$1=e}};(function(){var e,t,r,a,n,i;"undefined"!=typeof performance&&null!==performance&&performance.now?performanceNow$2.exports=function(){return performance.now()}:"undefined"!=typeof process&&null!==process&&process.hrtime?(performanceNow$2.exports=function(){return(e()-n)/1e6},t=process.hrtime,a=(e=function(){var e;return 1e9*(e=t())[0]+e[1]})(),i=1e9*process.uptime(),n=a-i):Date.now?(performanceNow$2.exports=function(){return Date.now()-r},r=Date.now()):(performanceNow$2.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(commonjsGlobal);for(var now$7=performanceNowExports$1,root$d="undefined"==typeof window?commonjsGlobal:window,vendors=["moz","webkit"],suffix="AnimationFrame",raf$1=root$d["request"+suffix],caf=root$d["cancel"+suffix]||root$d["cancelRequest"+suffix],i$2=0;!raf$1&&i$21&&void 0!==arguments[1]?arguments[1]:1;return ids[t]=rafExports((function a(){(r-=1)<=0?(e(),delete ids[t]):ids[t]=rafExports(a)})),t}function _typeof$1c(e){return _typeof$1c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1c(e)}function _classCallCheck$1Y(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$18(e,t){for(var r=0;r=0)){var a=e.props.insertExtraNode;e.extraNode=document.createElement("div");var n=_assertThisInitialized$1a(e).extraNode;n.className="ant-click-animating-node";var i=e.getAttributeName();t.setAttribute(i,"true"),styleForPesudo=styleForPesudo||document.createElement("style"),r&&"#ffffff"!==r&&"rgb(255, 255, 255)"!==r&&isNotGrey(r)&&!/rgba\(\d*, \d*, \d*, 0\)/.test(r)&&"transparent"!==r&&(e.csp&&e.csp.nonce&&(styleForPesudo.nonce=e.csp.nonce),n.style.borderColor=r,styleForPesudo.innerHTML="\n [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {\n --antd-wave-shadow-color: ".concat(r,";\n }"),document.body.contains(styleForPesudo)||document.body.appendChild(styleForPesudo)),a&&t.appendChild(n),TransitionEvents.addStartEventListener(t,e.onTransitionStart),TransitionEvents.addEndEventListener(t,e.onTransitionEnd)}},e.onTransitionStart=function(t){if(!e.destroy){var r=reactDomExports.findDOMNode(_assertThisInitialized$1a(e));t&&t.target===r&&(e.animationStart||e.resetEffect(r))}},e.onTransitionEnd=function(t){t&&"fadeEffect"===t.animationName&&e.resetEffect(t.target)},e.bindAnimationEvent=function(t){if(t&&t.getAttribute&&!t.getAttribute("disabled")&&!(t.className.indexOf("disabled")>=0)){var r=function(r){if("INPUT"!==r.target.tagName&&!isHidden$1(r.target)){e.resetEffect(t);var a=getComputedStyle(t).getPropertyValue("border-top-color")||getComputedStyle(t).getPropertyValue("border-color")||getComputedStyle(t).getPropertyValue("background-color");e.clickWaveTimeoutId=window.setTimeout((function(){return e.onClick(t,a)}),0),wrapperRaf.cancel(e.animationStartId),e.animationStart=!0,e.animationStartId=wrapperRaf((function(){e.animationStart=!1}),10)}};return t.addEventListener("click",r,!0),{cancel:function(){t.removeEventListener("click",r,!0)}}}},e.renderWave=function(t){var r=t.csp,a=e.props.children;return e.csp=r,a},e}return _createClass$1T(r,[{key:"componentDidMount",value:function(){var e=reactDomExports.findDOMNode(this);e&&1===e.nodeType&&(this.instance=this.bindAnimationEvent(e))}},{key:"componentWillUnmount",value:function(){this.instance&&this.instance.cancel(),this.clickWaveTimeoutId&&clearTimeout(this.clickWaveTimeoutId),this.destroy=!0}},{key:"getAttributeName",value:function(){return this.props.insertExtraNode?"ant-click-animating":"ant-click-animating-without-extra-node"}},{key:"resetEffect",value:function(e){if(e&&e!==this.extraNode&&e instanceof Element){var t=this.props.insertExtraNode,r=this.getAttributeName();e.setAttribute(r,"false"),styleForPesudo&&(styleForPesudo.innerHTML=""),t&&this.extraNode&&e.contains(this.extraNode)&&e.removeChild(this.extraNode),TransitionEvents.removeStartEventListener(e,this.onTransitionStart),TransitionEvents.removeEndEventListener(e,this.onTransitionEnd)}}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderWave)}}]),r}(reactExports.Component);function _extends$22(){return _extends$22=Object.assign||function(e){for(var t=1;t=KeyCode$1.F1&&t<=KeyCode$1.F12)return!1;switch(t){case KeyCode$1.ALT:case KeyCode$1.CAPS_LOCK:case KeyCode$1.CONTEXT_MENU:case KeyCode$1.CTRL:case KeyCode$1.DOWN:case KeyCode$1.END:case KeyCode$1.ESC:case KeyCode$1.HOME:case KeyCode$1.INSERT:case KeyCode$1.LEFT:case KeyCode$1.MAC_FF_META:case KeyCode$1.META:case KeyCode$1.NUMLOCK:case KeyCode$1.NUM_CENTER:case KeyCode$1.PAGE_DOWN:case KeyCode$1.PAGE_UP:case KeyCode$1.PAUSE:case KeyCode$1.PRINT_SCREEN:case KeyCode$1.RIGHT:case KeyCode$1.SHIFT:case KeyCode$1.UP:case KeyCode$1.WIN_KEY:case KeyCode$1.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=KeyCode$1.ZERO&&e<=KeyCode$1.NINE)return!0;if(e>=KeyCode$1.NUM_ZERO&&e<=KeyCode$1.NUM_MULTIPLY)return!0;if(e>=KeyCode$1.A&&e<=KeyCode$1.Z)return!0;if(-1!==window.navigator.userAgent.indexOf("WebKit")&&0===e)return!0;switch(e){case KeyCode$1.SPACE:case KeyCode$1.QUESTION_MARK:case KeyCode$1.NUM_PLUS:case KeyCode$1.NUM_MINUS:case KeyCode$1.NUM_PERIOD:case KeyCode$1.NUM_DIVISION:case KeyCode$1.SEMICOLON:case KeyCode$1.DASH:case KeyCode$1.EQUALS:case KeyCode$1.COMMA:case KeyCode$1.PERIOD:case KeyCode$1.SLASH:case KeyCode$1.APOSTROPHE:case KeyCode$1.SINGLE_QUOTE:case KeyCode$1.OPEN_SQUARE_BRACKET:case KeyCode$1.BACKSLASH:case KeyCode$1.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};function createChainedFunction(){var e=[].slice.call(arguments,0);return 1===e.length?e[0]:function(){for(var t=0;t=d&&(t.push(r({type:"childList",target:a,addedNodes:[c],removedNodes:[c],nextSibling:c.nextSibling,previousSibling:c.previousSibling})),s--),l.b&&f.b&&n(t,c,f.b,l.f),l.a&&3===c.nodeType&&c.nodeValue!==f.a&&t.push(r({type:"characterData",target:c,oldValue:f.a})),l.g&&u(c,f)}function u(a,i){for(var A,d,p,h,b,g=a.childNodes,m=i.c,v=g.length,y=m?m.length:0,w=0,k=0,x=0;k0},e.prototype.connect_=function(){isBrowser$1&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),mutationObserverSupported?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){isBrowser$1&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,r=void 0===t?"":t,a=transitionKeys.some((function(e){return!!~r.indexOf(e)}));a&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),defineConfigurable=function(e,t){for(var r=0,a=Object.keys(t);r0},e}(),observers="undefined"!=typeof WeakMap?new WeakMap:new MapShim,ResizeObserver$1=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=ResizeObserverController.getInstance(),a=new ResizeObserverSPI(t,r,this);observers.set(this,a)};["observe","unobserve","disconnect"].forEach((function(e){ResizeObserver$1.prototype[e]=function(){var t;return(t=observers.get(this))[e].apply(t,arguments)}}));var index$M=void 0!==global$1$1.ResizeObserver?global$1$1.ResizeObserver:ResizeObserver$1;const ResizeObserver_es=Object.freeze(Object.defineProperty({__proto__:null,default:index$M},Symbol.toStringTag,{value:"Module"}));function findDOMNode$2(e){return e instanceof HTMLElement?e:ReactDOM.findDOMNode(e)}var canUseDOM$1=!("undefined"==typeof window||!window.document||!window.document.createElement);function makePrefixMap(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r["ms"+e]="MS"+t,r["O"+e]="o"+t.toLowerCase(),r}function getVendorPrefixes(e,t){var r={animationend:makePrefixMap("Animation","AnimationEnd"),transitionend:makePrefixMap("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete r.animationend.animation,"TransitionEvent"in t||delete r.transitionend.transition),r}var vendorPrefixes=getVendorPrefixes(canUseDOM$1,"undefined"!=typeof window?window:{}),style$1={};canUseDOM$1&&(style$1=document.createElement("div").style);var prefixedEventNames={};function getVendorPrefixedEventName(e){if(prefixedEventNames[e])return prefixedEventNames[e];var t=vendorPrefixes[e];if(t)for(var r=Object.keys(t),a=r.length,n=0;n0&&setTimeout((function(){t.onMotionEnd({deadline:!0})}),a)}}))},t.nextFrame=function(e){t.cancelNextFrame(),t.raf=rafExports(e)},t.cancelNextFrame=function(){t.raf&&(rafExports.cancel(t.raf),t.raf=null)},t.state={status:STATUS_NONE,statusActive:!1,newStatus:!1,statusStyle:null},t.$cacheEle=null,t.node=null,t.raf=null,t}return _default$8(r,t),_default$b(r,[{key:"componentDidMount",value:function(){this.onDomUpdate()}},{key:"componentDidUpdate",value:function(){this.onDomUpdate()}},{key:"componentWillUnmount",value:function(){this._destroyed=!0,this.removeEventListener(this.$cacheEle),this.cancelNextFrame()}},{key:"render",value:function(){var e,t=this.state,r=t.status,a=t.statusActive,i=t.statusStyle,o=this.props,l=o.children,s=o.motionName,c=o.visible,u=o.removeOnLeave,f=o.leavedClassName,A=o.eventProps;return l?r!==STATUS_NONE&&n(this.props)?l(_default$bE({},A,{className:classnamesExports((e={},_default$e(e,getTransitionName(s,r),r!==STATUS_NONE),_default$e(e,getTransitionName(s,r+"-active"),r!==STATUS_NONE&&a),_default$e(e,s,"string"==typeof s),e)),style:i}),this.setNodeRef):c?l(_default$bE({},A),this.setNodeRef):u?null:l(_default$bE({},A,{className:f}),this.setNodeRef):null}}],[{key:"getDerivedStateFromProps",value:function(e,t){var r=t.prevProps,a=t.status;if(!n(e))return{};var i=e.visible,o=e.motionAppear,l=e.motionEnter,s=e.motionLeave,c=e.motionLeaveImmediately,u={prevProps:e};return(a===STATUS_APPEAR&&!o||a===STATUS_ENTER&&!l||a===STATUS_LEAVE&&!s)&&(u.status=STATUS_NONE,u.statusActive=!1,u.newStatus=!1),!r&&i&&o&&(u.status=STATUS_APPEAR,u.statusActive=!1,u.newStatus=!0),r&&!r.visible&&i&&l&&(u.status=STATUS_ENTER,u.statusActive=!1,u.newStatus=!0),(r&&r.visible&&!i&&s||!r&&c&&!i&&s)&&(u.status=STATUS_LEAVE,u.statusActive=!1,u.newStatus=!0),u}}]),r}(React$k.Component);return i.propTypes=_default$bE({},MotionPropTypes,{internalRef:propTypesExports.oneOfType([propTypesExports.object,propTypesExports.func])}),i.defaultProps={visible:!0,motionEnter:!0,motionAppear:!0,motionLeave:!0,removeOnLeave:!0},polyfill(i),a?React$k.forwardRef((function(e,t){return React$k.createElement(i,_default$bE({internalRef:t},e))})):i}const CSSMotion=genCSSMotion(supportTransition);var autoAdjustOverflow$1={adjustX:1,adjustY:1},placements$1={topLeft:{points:["bl","tl"],overflow:autoAdjustOverflow$1,offset:[0,-7]},bottomLeft:{points:["tl","bl"],overflow:autoAdjustOverflow$1,offset:[0,7]},leftTop:{points:["tr","tl"],overflow:autoAdjustOverflow$1,offset:[-4,0]},rightTop:{points:["tl","tr"],overflow:autoAdjustOverflow$1,offset:[4,0]}};function _typeof$18(e){return _typeof$18="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$18(e)}function _classCallCheck$1T(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$15(e,t){for(var r=0;r=r.subMenuTitle.offsetWidth||(e.style.minWidth="".concat(r.subMenuTitle.offsetWidth,"px"))}},r.saveSubMenuTitle=function(e){r.subMenuTitle=e};var a=e.store,n=e.eventKey,i=a.getState().defaultActiveFirst;r.isRootMenu=!1;var o=!1;return i&&(o=i[n]),updateDefaultActiveFirst(a,n,o),r}return _inherits$1R(t,e),_createClass$1O(t,[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e=this,t=this.props,r=t.mode,a=t.parentMenu,n=t.manualRef;n&&n(this),"horizontal"===r&&a.isRootMenu&&this.props.isOpen&&(this.minWidthTimeout=setTimeout((function(){return e.adjustWidth()}),0))}},{key:"componentWillUnmount",value:function(){var e=this.props,t=e.onDestroy,r=e.eventKey;t&&t(r),this.minWidthTimeout&&clearTimeout(this.minWidthTimeout),this.mouseenterTimeout&&clearTimeout(this.mouseenterTimeout)}},{key:"renderChildren",value:function(e){var t=this,r=this.props,a={mode:"horizontal"===r.mode?"vertical":r.mode,visible:this.props.isOpen,level:r.level+1,inlineIndent:r.inlineIndent,focusable:!1,onClick:this.onSubMenuClick,onSelect:this.onSelect,onDeselect:this.onDeselect,onDestroy:this.onDestroy,selectedKeys:r.selectedKeys,eventKey:"".concat(r.eventKey,"-menu-"),openKeys:r.openKeys,motion:r.motion,onOpenChange:this.onOpenChange,subMenuOpenDelay:r.subMenuOpenDelay,parentMenu:this,subMenuCloseDelay:r.subMenuCloseDelay,forceSubMenuRender:r.forceSubMenuRender,triggerSubMenuAction:r.triggerSubMenuAction,builtinPlacements:r.builtinPlacements,defaultActiveFirst:r.store.getState().defaultActiveFirst[getMenuIdFromSubMenuEventKey(r.eventKey)],multiple:r.multiple,prefixCls:r.rootPrefixCls,id:this.internalMenuId,manualRef:this.saveMenuInstance,itemIcon:r.itemIcon,expandIcon:r.expandIcon},n=this.haveRendered;if(this.haveRendered=!0,this.haveOpened=this.haveOpened||a.visible||a.forceSubMenuRender,!this.haveOpened)return reactExports.createElement("div",null);var i=_objectSpread$h({},r.motion,{leavedClassName:"".concat(r.rootPrefixCls,"-hidden"),removeOnLeave:!1,motionAppear:n||!a.visible||"inline"!==a.mode});return reactExports.createElement(CSSMotion,Object.assign({visible:a.visible},i),(function(r){var n=r.className,i=r.style,o=classnamesExports("".concat(a.prefixCls,"-sub"),n);return reactExports.createElement(connected$1,Object.assign({},a,{id:t.internalMenuId,className:o,style:i}),e)}))}},{key:"render",value:function(){var e,t=_objectSpread$h({},this.props),r=t.isOpen,a=this.getPrefixCls(),n="inline"===t.mode,i=classnamesExports(a,"".concat(a,"-").concat(t.mode),(_defineProperty$18(e={},t.className,!!t.className),_defineProperty$18(e,this.getOpenClassName(),r),_defineProperty$18(e,this.getActiveClassName(),t.active||r&&!n),_defineProperty$18(e,this.getDisabledClassName(),t.disabled),_defineProperty$18(e,this.getSelectedClassName(),this.isChildrenSelected()),e));this.internalMenuId||(t.eventKey?this.internalMenuId="".concat(t.eventKey,"$Menu"):(guid+=1,this.internalMenuId="$__$".concat(guid,"$Menu")));var o={},l={},s={};t.disabled||(o={onMouseLeave:this.onMouseLeave,onMouseEnter:this.onMouseEnter},l={onClick:this.onTitleClick},s={onMouseEnter:this.onTitleMouseEnter,onMouseLeave:this.onTitleMouseLeave});var c={};n&&(c.paddingLeft=t.inlineIndent*t.level);var u={};this.props.isOpen&&(u={"aria-owns":this.internalMenuId});var f=null;"horizontal"!==t.mode&&(f=this.props.expandIcon,"function"==typeof this.props.expandIcon&&(f=reactExports.createElement(this.props.expandIcon,_objectSpread$h({},this.props))));var A=reactExports.createElement("div",Object.assign({ref:this.saveSubMenuTitle,style:c,className:"".concat(a,"-title")},s,l,{"aria-expanded":r},u,{"aria-haspopup":"true",title:"string"==typeof t.title?t.title:void 0}),t.title,f||reactExports.createElement("i",{className:"".concat(a,"-arrow")})),d=this.renderChildren(t.children),p=t.parentMenu.isRootMenu?t.parentMenu.props.getPopupContainer:function(e){return e.parentNode},h=popupPlacementMap[t.mode],b=t.popupOffset?{offset:t.popupOffset}:{},g="inline"===t.mode?"":t.popupClassName,m=t.disabled,v=t.triggerSubMenuAction,y=t.subMenuOpenDelay,w=t.forceSubMenuRender,k=t.subMenuCloseDelay,x=t.builtinPlacements;return menuAllProps.forEach((function(e){return delete t[e]})),delete t.onClick,reactExports.createElement("li",Object.assign({},t,o,{className:i,role:"menuitem"}),n&&A,n&&d,!n&&reactExports.createElement(Trigger,{prefixCls:a,popupClassName:"".concat(a,"-popup ").concat(g),getPopupContainer:p,builtinPlacements:Object.assign({},placements$1,x),popupPlacement:h,popupVisible:r,popupAlign:b,popup:d,action:m?[]:[v],mouseEnterDelay:y,mouseLeaveDelay:k,onPopupVisibleChange:this.onPopupVisibleChange,forceRender:w},A))}}]),t}(reactExports.Component);SubMenu$2.defaultProps={onMouseEnter:noop$e,onMouseLeave:noop$e,onTitleMouseEnter:noop$e,onTitleMouseLeave:noop$e,onTitleClick:noop$e,manualRef:noop$e,mode:"vertical",title:""};var connected$2=connect((function(e,t){var r=e.openKeys,a=e.activeKey,n=e.selectedKeys,i=t.eventKey,o=t.subMenuKey;return{isOpen:r.indexOf(i)>-1,active:a[o]===i,selectedKeys:n}}))(SubMenu$2);function _typeof$17(e){return _typeof$17="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$17(e)}function _toConsumableArray$c(e){return _arrayWithoutHoles$8(e)||_iterableToArray$8(e)||_nonIterableSpread$8()}function _nonIterableSpread$8(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray$8(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles$8(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose$6(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function _classCallCheck$1S(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$14(e,t){for(var r=0;r=0}));i.forEach((function(e){setStyle$1(e,"display","inline-block")})),e.menuItemSizes=n.map((function(e){return getWidth(e)})),i.forEach((function(e){setStyle$1(e,"display","none")})),e.overflowedIndicatorWidth=getWidth(t.children[t.children.length-1]),e.originalTotalWidth=e.menuItemSizes.reduce((function(e,t){return e+t}),0),e.handleResize(),setStyle$1(a,"display","none")}}}},e.handleResize=function(){if("horizontal"===e.props.mode){var t=reactDomExports.findDOMNode(_assertThisInitialized$16(e));if(t){var r=getWidth(t);e.overflowedItems=[];var a,n=0;e.originalTotalWidth>r+FLOAT_PRECISION_ADJUST&&(a=-1,e.menuItemSizes.forEach((function(t){(n+=t)+e.overflowedIndicatorWidth<=r&&(a+=1)}))),e.setState({lastVisibleIndex:a})}}},e}return _inherits$1Q(t,e),_createClass$1N(t,[{key:"componentDidMount",value:function(){var e=this;if(this.setChildrenWidthAndResize(),1===this.props.level&&"horizontal"===this.props.mode){var t=reactDomExports.findDOMNode(this);if(!t)return;this.resizeObserver=new index$M((function(t){t.forEach(e.setChildrenWidthAndResize)})),[].slice.call(t.children).concat(t).forEach((function(t){e.resizeObserver.observe(t)})),"undefined"!=typeof MutationObserver&&(this.mutationObserver=new MutationObserver((function(){e.resizeObserver.disconnect(),[].slice.call(t.children).concat(t).forEach((function(t){e.resizeObserver.observe(t)})),e.setChildrenWidthAndResize()})),this.mutationObserver.observe(t,{attributes:!1,childList:!0,subTree:!1}))}}},{key:"componentWillUnmount",value:function(){this.resizeObserver&&this.resizeObserver.disconnect(),this.mutationObserver&&this.mutationObserver.disconnect()}},{key:"renderChildren",value:function(e){var t=this,r=this.state.lastVisibleIndex;return(e||[]).reduce((function(a,n,i){var o=n;if("horizontal"===t.props.mode){var l=t.getOverflowedSubMenuItem(n.props.eventKey,[]);void 0!==r&&-1!==t.props.className.indexOf("".concat(t.props.prefixCls,"-root"))&&(i>r&&(o=reactExports.cloneElement(n,{style:{display:"none"},eventKey:"".concat(n.props.eventKey,"-hidden"),className:"".concat(MENUITEM_OVERFLOWED_CLASSNAME)})),i===r+1&&(t.overflowedItems=e.slice(r+1).map((function(e){return reactExports.cloneElement(e,{key:e.props.eventKey,mode:"vertical-left"})})),l=t.getOverflowedSubMenuItem(n.props.eventKey,t.overflowedItems)));var s=[].concat(_toConsumableArray$c(a),[l,o]);return i===e.length-1&&s.push(t.getOverflowedSubMenuItem(n.props.eventKey,[],!0)),s}return[].concat(_toConsumableArray$c(a),[o])}),[])}},{key:"render",value:function(){var e=this.props;e.visible,e.prefixCls,e.overflowedIndicator,e.mode,e.level;var t=e.tag,r=e.children;e.theme;var a=_objectWithoutProperties$9(e,["visible","prefixCls","overflowedIndicator","mode","level","tag","children","theme"]),n=t;return reactExports.createElement(n,Object.assign({},a),this.renderChildren(r))}}]),t}(reactExports.Component);function _typeof$16(e){return _typeof$16="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$16(e)}function _extends$1Z(){return _extends$1Z=Object.assign||function(e){for(var t=1;t0?!0===i?util$k.scrollTop(t,m.top+v.top):!1===i?util$k.scrollTop(t,m.top+y.top):v.top<0?util$k.scrollTop(t,m.top+v.top):util$k.scrollTop(t,m.top+y.top):n||((i=void 0===i||!!i)?util$k.scrollTop(t,m.top+v.top):util$k.scrollTop(t,m.top+y.top)),a&&(v.left<0||y.left>0?!0===o?util$k.scrollLeft(t,m.left+v.left):!1===o?util$k.scrollLeft(t,m.left+y.left):v.left<0?util$k.scrollLeft(t,m.left+v.left):util$k.scrollLeft(t,m.left+y.left):n||((o=void 0===o||!!o)?util$k.scrollLeft(t,m.left+v.left):util$k.scrollLeft(t,m.left+y.left)))}var domScrollIntoView=scrollIntoView$1;!function(e){e.exports=domScrollIntoView}(lib$4);const scrollIntoView=getDefaultExportFromCjs(libExports$1);function _typeof$12(e){return _typeof$12="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$12(e)}function ownKeys$d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _objectSpread$d(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.arrowWidth,r=void 0===t?5:t,a=e.horizontalArrowShift,n=void 0===a?16:a,i=e.verticalArrowShift,o=void 0===i?12:i,l=e.autoAdjustOverflow,s=void 0===l||l,c={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(n+r),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(o+r)]},topRight:{points:["br","tc"],offset:[n+r,-4]},rightTop:{points:["tl","cr"],offset:[4,-(o+r)]},bottomRight:{points:["tr","bc"],offset:[n+r,4]},rightBottom:{points:["bl","cr"],offset:[4,o+r]},bottomLeft:{points:["tl","bc"],offset:[-(n+r),4]},leftBottom:{points:["br","cl"],offset:[-4,o+r]}};return Object.keys(c).forEach((function(t){c[t]=e.arrowPointAtCenter?_extends$1V(_extends$1V({},c[t]),{overflow:getOverflowOptions(s),targetOffset:targetOffset}):_extends$1V(_extends$1V({},placements[t]),{overflow:getOverflowOptions(s)}),c[t].ignoreShake=!0})),c}function _typeof$$(e){return _typeof$$="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$$(e)}function _defineProperty$13(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _classCallCheck$1M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$_(e,t){for(var r=0;r=0||n.indexOf("Bottom")>=0?o.top="".concat(i.height-t.offset[1],"px"):(n.indexOf("Top")>=0||n.indexOf("bottom")>=0)&&(o.top="".concat(-t.offset[1],"px")),n.indexOf("left")>=0||n.indexOf("Right")>=0?o.left="".concat(i.width-t.offset[0],"px"):(n.indexOf("right")>=0||n.indexOf("Left")>=0)&&(o.left="".concat(-t.offset[0],"px")),e.style.transformOrigin="".concat(o.left," ").concat(o.top)}},a.renderTooltip=function(e){var t=e.getPopupContainer,r=e.getPrefixCls,n=_assertThisInitialized$10(a),i=n.props,o=n.state,l=i.prefixCls,s=i.openClassName,c=i.getPopupContainer,u=i.getTooltipContainer,f=i.children,A=r("tooltip",l),d=o.visible;!("visible"in i)&&a.isNoTitle()&&(d=!1);var p=getDisabledCompatibleChildren(reactExports.isValidElement(f)?f:reactExports.createElement("span",null,f)),h=p.props,b=classNames(h.className,_defineProperty$13({},s||"".concat(A,"-open"),!0));return reactExports.createElement(Tooltip$2,_extends$1U({},a.props,{prefixCls:A,getTooltipContainer:c||u||t,ref:a.saveTooltip,builtinPlacements:a.getPlacements(),overlay:a.getOverlay(),visible:d,onVisibleChange:a.onVisibleChange,onPopupAlign:a.onPopupAlign}),d?reactExports.cloneElement(p,{className:b}):p)},a.state={visible:!!e.visible||!!e.defaultVisible},a}return _createClass$1H(r,[{key:"getPopupDomNode",value:function(){return this.tooltip.getPopupDomNode()}},{key:"getPlacements",value:function(){var e=this.props,t=e.builtinPlacements,r=e.arrowPointAtCenter,a=e.autoAdjustOverflow;return t||getPlacements({arrowPointAtCenter:r,verticalArrowShift:8,autoAdjustOverflow:a})}},{key:"isNoTitle",value:function(){var e=this.props,t=e.title,r=e.overlay;return!t&&!r&&0!==t}},{key:"getOverlay",value:function(){var e=this.props,t=e.title,r=e.overlay;return 0===t?t:r||t||""}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderTooltip)}}],[{key:"getDerivedStateFromProps",value:function(e){return"visible"in e?{visible:e.visible}:null}}]),r}(reactExports.Component);Tooltip.defaultProps={placement:"top",transitionName:"zoom-big-fast",mouseEnterDelay:.1,mouseLeaveDelay:.1,arrowPointAtCenter:!1,autoAdjustOverflow:!0},polyfill(Tooltip);const Tooltip$1=Tooltip;function _typeof$_(e){return _typeof$_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$_(e)}function _extends$1T(){return _extends$1T=Object.assign||function(e){for(var t=1;t=0;(t||i)&&a.restoreModeVerticalFromInline()},a.handleClick=function(e){a.handleOpenChange([]);var t=a.props.onClick;t&&t(e)},a.handleOpenChange=function(e){a.setOpenKeys(e);var t=a.props.onOpenChange;t&&t(e)},a.renderMenu=function(e){var t=e.getPopupContainer,r=e.getPrefixCls,n=a.props,i=n.prefixCls,o=n.className,l=n.theme,s=n.collapsedWidth,c=omit(a.props,["collapsedWidth","siderCollapsed"]),u=a.getRealMenuMode(),f=a.getOpenMotionProps(u),A=r("menu",i),d=classNames(o,"".concat(A,"-").concat(l),_defineProperty$12({},"".concat(A,"-inline-collapsed"),a.getInlineCollapsed())),p=_extends$1S({openKeys:a.state.openKeys,onOpenChange:a.handleOpenChange,className:d,mode:u},f);return"inline"!==u&&(p.onClick=a.handleClick),a.getInlineCollapsed()&&(0===s||"0"===s||"0px"===s)&&(p.openKeys=[]),reactExports.createElement(Menu$1,_extends$1S({getPopupContainer:t},c,p,{prefixCls:A,onTransitionEnd:a.handleTransitionEnd,onMouseEnter:a.handleMouseEnter}))},warning$4(!("onOpen"in e||"onClose"in e),"Menu","`onOpen` and `onClose` are removed, please use `onOpenChange` instead, see: https://u.ant.design/menu-on-open-change."),warning$4(!("inlineCollapsed"in e&&"inline"!==e.mode),"Menu","`inlineCollapsed` should only be used when `mode` is inline."),warning$4(!(void 0!==e.siderCollapsed&&"inlineCollapsed"in e),"Menu","`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead."),"openKeys"in e?n=e.openKeys:"defaultOpenKeys"in e&&(n=e.defaultOpenKeys),a.state={openKeys:n||[],switchingModeFromInline:!1,inlineOpenKeys:[],prevProps:e},a}return _createClass$1F(r,[{key:"componentWillUnmount",value:function(){wrapperRaf.cancel(this.mountRafId)}},{key:"setOpenKeys",value:function(e){"openKeys"in this.props||this.setState({openKeys:e})}},{key:"getRealMenuMode",value:function(){var e=this.getInlineCollapsed();if(this.state.switchingModeFromInline&&e)return"inline";var t=this.props.mode;return e?"vertical":t}},{key:"getInlineCollapsed",value:function(){var e=this.props.inlineCollapsed;return void 0!==this.props.siderCollapsed?this.props.siderCollapsed:e}},{key:"getOpenMotionProps",value:function(e){var t=this.props,r=t.openTransitionName,a=t.openAnimation,n=t.motion;return n?{motion:n}:a?(warning$4("string"==typeof a,"Menu","`openAnimation` do not support object. Please use `motion` instead."),{openAnimation:a}):r?{openTransitionName:r}:"horizontal"===e?{motion:{motionName:"slide-up"}}:"inline"===e?{motion:collapseMotion$1}:{motion:{motionName:this.state.switchingModeFromInline?"":"zoom-big"}}}},{key:"restoreModeVerticalFromInline",value:function(){this.state.switchingModeFromInline&&this.setState({switchingModeFromInline:!1})}},{key:"render",value:function(){return reactExports.createElement(MenuContext$1.Provider,{value:{inlineCollapsed:this.getInlineCollapsed()||!1,antdMenuTheme:this.props.theme}},reactExports.createElement(ConfigConsumer,null,this.renderMenu))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var r=t.prevProps,a={prevProps:e};return"inline"===r.mode&&"inline"!==e.mode&&(a.switchingModeFromInline=!0),"openKeys"in e?a.openKeys=e.openKeys:((e.inlineCollapsed&&!r.inlineCollapsed||e.siderCollapsed&&!r.siderCollapsed)&&(a.switchingModeFromInline=!0,a.inlineOpenKeys=t.openKeys,a.openKeys=[]),(!e.inlineCollapsed&&r.inlineCollapsed||!e.siderCollapsed&&r.siderCollapsed)&&(a.openKeys=t.inlineOpenKeys,a.inlineOpenKeys=[])),a}}]),r}(reactExports.Component);InternalMenu.defaultProps={className:"",theme:"light",focusable:!1},polyfill(InternalMenu);var Menu=function(e){_inherits$1I(r,e);var t=_createSuper$U(r);function r(){return _classCallCheck$1K(this,r),t.apply(this,arguments)}return _createClass$1F(r,[{key:"render",value:function(){var e=this;return reactExports.createElement(SiderContext.Consumer,null,(function(t){return reactExports.createElement(InternalMenu,_extends$1S({},e.props,t))}))}}]),r}(reactExports.Component);Menu.Divider=Divider$2,Menu.Item=MenuItem,Menu.SubMenu=SubMenu$1,Menu.ItemGroup=MenuItemGroup;var objectProto$h=Object.prototype,hasOwnProperty$f=objectProto$h.hasOwnProperty;function baseHas$1(e,t){return null!=e&&hasOwnProperty$f.call(e,t)}var _baseHas=baseHas$1,isArray$i=Array.isArray,isArray_1=isArray$i,freeGlobal$1="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,_freeGlobal=freeGlobal$1,freeGlobal=_freeGlobal,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root$c=freeGlobal||freeSelf||Function("return this")(),_root=root$c,root$b=_root,Symbol$6=root$b.Symbol,_Symbol=Symbol$6,Symbol$5=_Symbol,objectProto$g=Object.prototype,hasOwnProperty$e=objectProto$g.hasOwnProperty,nativeObjectToString$1=objectProto$g.toString,symToStringTag$1=Symbol$5?Symbol$5.toStringTag:void 0;function getRawTag$1(t){var r=hasOwnProperty$e.call(t,symToStringTag$1),a=t[symToStringTag$1];try{t[symToStringTag$1]=void 0;var n=!0}catch(e){}var i=nativeObjectToString$1.call(t);return n&&(r?t[symToStringTag$1]=a:delete t[symToStringTag$1]),i}var _getRawTag=getRawTag$1,objectProto$f=Object.prototype,nativeObjectToString=objectProto$f.toString;function objectToString$1(e){return nativeObjectToString.call(e)}var _objectToString=objectToString$1,Symbol$4=_Symbol,getRawTag=_getRawTag,objectToString=_objectToString,nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$4?Symbol$4.toStringTag:void 0;function baseGetTag$7(e){return null==e?void 0===e?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(e)?getRawTag(e):objectToString(e)}var _baseGetTag=baseGetTag$7;function isObjectLike$8(e){return null!=e&&"object"==typeof e}var isObjectLike_1=isObjectLike$8,baseGetTag$6=_baseGetTag,isObjectLike$7=isObjectLike_1,symbolTag$1="[object Symbol]";function isSymbol$6(e){return"symbol"==typeof e||isObjectLike$7(e)&&baseGetTag$6(e)==symbolTag$1}var isSymbol_1=isSymbol$6,isArray$h=isArray_1,isSymbol$5=isSymbol_1,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey$3(e,t){if(isArray$h(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!isSymbol$5(e))||(reIsPlainProp.test(e)||!reIsDeepProp.test(e)||null!=t&&e in Object(t))}var _isKey=isKey$3;function isObject$k(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var isObject_1=isObject$k,baseGetTag$5=_baseGetTag,isObject$j=isObject_1,asyncTag="[object AsyncFunction]",funcTag$1="[object Function]",genTag="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$9(e){if(!isObject$j(e))return!1;var t=baseGetTag$5(e);return t==funcTag$1||t==genTag||t==asyncTag||t==proxyTag}var isFunction_1=isFunction$9,root$a=_root,coreJsData$1=root$a["__core-js_shared__"],_coreJsData=coreJsData$1,coreJsData=_coreJsData,maskSrcKey=function(){var e=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function isMasked$1(e){return!!maskSrcKey&&maskSrcKey in e}var _isMasked=isMasked$1,funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource$2(t){if(null!=t){try{return funcToString$2.call(t)}catch(e){}try{return t+""}catch(e){}}return""}var _toSource=toSource$2,isFunction$8=isFunction_1,isMasked=_isMasked,isObject$i=isObject_1,toSource$1=_toSource,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$e=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$d=objectProto$e.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$d).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative$1(e){return!(!isObject$i(e)||isMasked(e))&&(isFunction$8(e)?reIsNative:reIsHostCtor).test(toSource$1(e))}var _baseIsNative=baseIsNative$1;function getValue$4(e,t){return null==e?void 0:e[t]}var _getValue=getValue$4,baseIsNative=_baseIsNative,getValue$3=_getValue;function getNative$7(e,t){var r=getValue$3(e,t);return baseIsNative(r)?r:void 0}var _getNative=getNative$7,getNative$6=_getNative,nativeCreate$4=getNative$6(Object,"create"),_nativeCreate=nativeCreate$4,nativeCreate$3=_nativeCreate;function hashClear$1(){this.__data__=nativeCreate$3?nativeCreate$3(null):{},this.size=0}var _hashClear=hashClear$1;function hashDelete$1(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _hashDelete=hashDelete$1,nativeCreate$2=_nativeCreate,HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$d=Object.prototype,hasOwnProperty$c=objectProto$d.hasOwnProperty;function hashGet$1(e){var t=this.__data__;if(nativeCreate$2){var r=t[e];return r===HASH_UNDEFINED$2?void 0:r}return hasOwnProperty$c.call(t,e)?t[e]:void 0}var _hashGet=hashGet$1,nativeCreate$1=_nativeCreate,objectProto$c=Object.prototype,hasOwnProperty$b=objectProto$c.hasOwnProperty;function hashHas$1(e){var t=this.__data__;return nativeCreate$1?void 0!==t[e]:hasOwnProperty$b.call(t,e)}var _hashHas=hashHas$1,nativeCreate=_nativeCreate,HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet$1(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=nativeCreate&&void 0===t?HASH_UNDEFINED$1:t,this}var _hashSet=hashSet$1,hashClear=_hashClear,hashDelete=_hashDelete,hashGet=_hashGet,hashHas=_hashHas,hashSet=_hashSet;function Hash$1(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1}var _listCacheHas=listCacheHas$1,assocIndexOf=_assocIndexOf;function listCacheSet$1(e,t){var r=this.__data__,a=assocIndexOf(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}var _listCacheSet=listCacheSet$1,listCacheClear=_listCacheClear,listCacheDelete=_listCacheDelete,listCacheGet=_listCacheGet,listCacheHas=_listCacheHas,listCacheSet=_listCacheSet;function ListCache$4(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER$1}var isLength_1=isLength$3,isSymbol$3=isSymbol_1,INFINITY$2=1/0;function toKey$7(e){if("string"==typeof e||isSymbol$3(e))return e;var t=e+"";return"0"==t&&1/e==-INFINITY$2?"-0":t}var _toKey=toKey$7,castPath$3=_castPath,isArguments$5=isArguments_1,isArray$e=isArray_1,isIndex$3=_isIndex,isLength$2=isLength_1,toKey$6=_toKey;function hasPath$2(e,t,r){for(var a=-1,n=(t=castPath$3(t,e)).length,i=!1;++a1?arguments[1]:void 0,c=void 0!==s,u=0,f=getIterFn$1(i);if(c&&(s=ctx$3(s,l>2?arguments[2]:void 0,2)),null==f||o==Array&&isArrayIter$1(f))for(r=new o(t=toLength$1(i.length));t>u;u++)createProperty(r,u,c?s(i[u],u):i[u]);else for(n=f.call(i),r=new o;!(a=n.next()).done;u++)createProperty(r,u,c?call$2(n,s,[a.value,u],!0):a.value);return r.length=u,r}});var from=_coreExports.Array.from;!function(e){e.exports={default:from,__esModule:!0}}(from$1);var _from=fromExports,_from2=_interopRequireDefault$e(_from);function _interopRequireDefault$e(e){return e&&e.__esModule?e:{default:e}}var _default$7=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t=i)return e;switch(e){case"%s":return String(t[a++]);case"%d":return Number(t[a++]);case"%j":try{return JSON.stringify(t[a++])}catch(_){return"[Circular]"}break;default:return e}})),l=t[a];a()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},l={integer:function(e){return l.number(e)&&parseInt(e,10)===e},float:function(e){return l.number(e)&&!l.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"===(void 0===e?"undefined":a(e))&&!l.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&!!e.match(o.email)&&e.length<255},url:function(e){return"string"==typeof e&&!!e.match(o.url)},hex:function(e){return"string"==typeof e&&!!e.match(o.hex)}};t.default=function(e,t,r,o,s){if(e.required&&void 0===t)(0,i.default)(e,t,r,o,s);else{var c=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(c)>-1?l[c](t)||o.push(n.format(s.messages.types[c],e.fullField,e.type)):c&&(void 0===t?"undefined":a(t))!==e.type&&o.push(n.format(s.messages.types[c],e.fullField,e.type))}}}(type$3);var range$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(util$j);e.default=function(e,r,a,n,i){var o="number"==typeof e.len,l="number"==typeof e.min,s="number"==typeof e.max,c=r,u=null,f="number"==typeof r,A="string"==typeof r,d=Array.isArray(r);if(f?u="number":A?u="string":d&&(u="array"),!u)return!1;d&&(c=r.length),A&&(c=r.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),o?c!==e.len&&n.push(t.format(i.messages[u].len,e.fullField,e.len)):l&&!s&&ce.max?n.push(t.format(i.messages[u].max,e.fullField,e.max)):l&&s&&(ce.max)&&n.push(t.format(i.messages[u].range,e.fullField,e.min,e.max))}}(range$1);var _enum$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(util$j);var r="enum";e.default=function(e,a,n,i,o){e[r]=Array.isArray(e[r])?e[r]:[],-1===e[r].indexOf(a)&&i.push(t.format(o.messages[r],e.fullField,e[r].join(", ")))}}(_enum$1);var pattern$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(util$j);e.default=function(e,r,a,n,i){if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(r)||n.push(t.format(i.messages.pattern.mismatch,e.fullField,r,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(r)||n.push(t.format(i.messages.pattern.mismatch,e.fullField,r,e.pattern))}}}(pattern$1),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=l(required$2),r=l(whitespace),a=l(type$3),n=l(range$1),i=l(_enum$1),o=l(pattern$1);function l(e){return e&&e.__esModule?e:{default:e}}e.default={required:t.default,whitespace:r.default,type:a.default,range:n.default,enum:i.default,pattern:o.default}}(rule),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t,"string")&&!e.required)return n();r.default.required(e,t,i,l,o,"string"),(0,a.isEmptyValue)(t,"string")||(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o),r.default.pattern(e,t,i,l,o),!0===e.whitespace&&r.default.whitespace(e,t,i,l,o))}n(l)}}(string$2);var method={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&r.default.type(e,t,i,l,o)}n(l)}}(method);var number$3={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(""===t&&(t=void 0),(0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o))}n(l)}}(number$3);var boolean={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=util$j,a=(t=rule)&&t.__esModule?t:{default:t};e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,r.isEmptyValue)(t)&&!e.required)return n();a.default.required(e,t,i,l,o),void 0!==t&&a.default.type(e,t,i,l,o)}n(l)}}(boolean);var regexp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),(0,a.isEmptyValue)(t)||r.default.type(e,t,i,l,o)}n(l)}}(regexp);var integer$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o))}n(l)}}(integer$1);var float={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o))}n(l)}}(float);var array$5={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t,"array")&&!e.required)return n();r.default.required(e,t,i,l,o,"array"),(0,a.isEmptyValue)(t,"array")||(r.default.type(e,t,i,l,o),r.default.range(e,t,i,l,o))}n(l)}}(array$5);var object$2={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),void 0!==t&&r.default.type(e,t,i,l,o)}n(l)}}(object$2);var _enum={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();r.default.required(e,t,i,l,o),t&&r.default.enum(e,t,i,l,o)}n(l)}}(_enum);var pattern={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t,"string")&&!e.required)return n();r.default.required(e,t,i,l,o),(0,a.isEmptyValue)(t,"string")||r.default.pattern(e,t,i,l,o)}n(l)}}(pattern);var date$2={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t)&&!e.required)return n();if(r.default.required(e,t,i,l,o),!(0,a.isEmptyValue)(t)){var s=void 0;s="number"==typeof t?new Date(t):t,r.default.type(e,s,i,l,o),s&&r.default.range(e,s.getTime(),i,l,o)}}n(l)}}(date$2);var required$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=(t=rule)&&t.__esModule?t:{default:t};e.default=function(e,t,n,i,o){var l=[],s=Array.isArray(t)?"array":void 0===t?"undefined":r(t);a.default.required(e,t,i,l,o,s),n(l)}}(required$1);var type$2={};!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=(t=rule)&&t.__esModule?t:{default:t},a=util$j;e.default=function(e,t,n,i,o){var l=e.type,s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if((0,a.isEmptyValue)(t,l)&&!e.required)return n();r.default.required(e,t,i,s,o,l),(0,a.isEmptyValue)(t,l)||r.default.type(e,t,i,s,o)}n(s)}}(type$2),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=h(string$2),r=h(method),a=h(number$3),n=h(boolean),i=h(regexp),o=h(integer$1),l=h(float),s=h(array$5),c=h(object$2),u=h(_enum),f=h(pattern),A=h(date$2),d=h(required$1),p=h(type$2);function h(e){return e&&e.__esModule?e:{default:e}}e.default={string:t.default,method:r.default,number:a.default,boolean:n.default,regexp:i.default,integer:o.default,float:l.default,array:s.default,object:c.default,enum:u.default,pattern:f.default,date:A.default,url:p.default,hex:p.default,email:p.default,required:d.default}}(validator);var messages={};function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}Object.defineProperty(messages,"__esModule",{value:!0}),messages.newMessages=newMessages,messages.messages=newMessages(),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t,r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};if("function"==typeof s&&(c=s,s={}),!this.rules||0===Object.keys(this.rules).length)return c&&c(),Promise.resolve();if(s.messages){var u=this.messages();u===o.messages&&(u=(0,o.newMessages)()),(0,n.deepMerge)(u,s.messages),s.messages=u}else s.messages=this.messages();var f=void 0,A=void 0,d={};(s.keys||Object.keys(this.rules)).forEach((function(a){f=t.rules[a],A=i[a],f.forEach((function(n){var o=n;"function"==typeof o.transform&&(i===e&&(i=r({},i)),A=i[a]=o.transform(A)),(o="function"==typeof o?{validator:o}:r({},o)).validator=t.getValidationMethod(o),o.field=a,o.fullField=o.fullField||a,o.type=t.getType(o),o.validator&&(d[a]=d[a]||[],d[a].push({rule:o,value:A,source:i,field:a}))}))}));var p={};return(0,n.asyncMap)(d,s,(function(e,t){var i=e.rule,o=!("object"!==i.type&&"array"!==i.type||"object"!==a(i.fields)&&"object"!==a(i.defaultField));function c(e,t){return r({},t,{fullField:i.fullField+"."+e})}function u(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(Array.isArray(a)||(a=[a]),!s.suppressWarning&&a.length&&l.warning("async-validator:",a),a.length&&i.message&&(a=[].concat(i.message)),a=a.map((0,n.complementError)(i)),s.first&&a.length)return p[i.field]=1,t(a);if(o){if(i.required&&!e.value)return a=i.message?[].concat(i.message).map((0,n.complementError)(i)):s.error?[s.error(i,(0,n.format)(s.messages.required,i.field))]:[],t(a);var u={};if(i.defaultField)for(var f in e.value)e.value.hasOwnProperty(f)&&(u[f]=i.defaultField);for(var A in u=r({},u,e.rule.fields))if(u.hasOwnProperty(A)){var d=Array.isArray(u[A])?u[A]:[u[A]];u[A]=d.map(c.bind(null,A))}var h=new l(u);h.messages(s.messages),e.rule.options&&(e.rule.options.messages=s.messages,e.rule.options.error=s.error),h.validate(e.value,e.rule.options||s,(function(e){var r=[];a&&a.length&&r.push.apply(r,a),e&&e.length&&r.push.apply(r,e),t(r.length?r:null)}))}else t(a)}o=o&&(i.required||!i.required&&e.value),i.field=e.field;var f=void 0;i.asyncValidator?f=i.asyncValidator(i,e.value,u,e.source,s):i.validator&&(!0===(f=i.validator(i,e.value,u,e.source,s))?u():!1===f?u(i.message||i.field+" fails"):f instanceof Array?u(f):f instanceof Error&&u(f.message)),f&&f.then&&f.then((function(){return u()}),(function(e){return u(e)}))}),(function(e){!function(e){var t=void 0,r=[],a={};function i(e){var t;Array.isArray(e)?r=(t=r).concat.apply(t,e):r.push(e)}for(t=0;t0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1],r=arguments[2],a=arguments[3],n=arguments[4];if(r(e,t))n(e,t);else if(null==t);else if(Array.isArray(t))t.forEach((function(t,i){return treeTraverse(e+"["+i+"]",t,r,a,n)}));else{if("object"!=typeof t)return;Object.keys(t).forEach((function(i){var o=t[i];treeTraverse(e+(e?".":"")+i,o,r,a,n)}))}}function flattenFields(e,t,r){var a={};return treeTraverse(void 0,e,t,r,(function(e,t){a[e]=t})),a}function normalizeValidateRules(e,t,r){var a=e.map((function(e){var t=_default$bE({},e,{trigger:e.trigger||[]});return"string"==typeof t.trigger&&(t.trigger=[t.trigger]),t}));return t&&a.push({trigger:r?[].concat(r):[],rules:t}),a}function getValidateTriggers(e){return e.filter((function(e){return!!e.rules&&e.rules.length})).map((function(e){return e.trigger})).reduce((function(e,t){return e.concat(t)}),[])}function getValueFromEvent(e){if(!e||!e.target)return e;var t=e.target;return"checkbox"===t.type?t.checked:t.value}function getErrorStrs(e){return e?e.map((function(e){return e&&e.message?e.message:e})):e}function getParams(e,t,r){var a=e,n=t,i=r;return void 0===r&&("function"==typeof a?(i=a,n={},a=void 0):Array.isArray(a)?"function"==typeof n?(i=n,n={}):n=n||{}:(i=n,n=a||{},a=void 0)),{names:a,options:n,callback:i}}function isEmptyObject$2(e){return 0===Object.keys(e).length}function hasRules(e){return!!e&&e.some((function(e){return e.rules&&e.rules.length}))}function startsWith(e,t){return 0===e.lastIndexOf(t,0)}function supportRef$2(e){var t=reactIsExports.isMemo(e)?e.type.type:e.type;return!!("function"!=typeof t||t.prototype&&t.prototype.render)&&!!("function"!=typeof e||e.prototype&&e.prototype.render)}function partOf(e,t){return 0===t.indexOf(e)&&-1!==[".","["].indexOf(t[e.length])}function internalFlattenFields(e){return flattenFields(e,(function(e,t){return isFormField(t)}),"You must wrap field data with `createFormField`.")}var FieldsStore=function(){function e(t){_default$c(this,e),_initialiseProps$4.call(this),this.fields=internalFlattenFields(t),this.fieldsMeta={}}return _default$b(e,[{key:"updateFields",value:function(e){this.fields=internalFlattenFields(e)}},{key:"flattenRegisteredFields",value:function(e){var t=this.getAllFieldsName();return flattenFields(e,(function(e){return t.indexOf(e)>=0}),"You cannot set a form field before rendering a field associated with the value.")}},{key:"setFields",value:function(e){var t=this,r=this.fieldsMeta,a=_default$bE({},this.fields,e),n={};Object.keys(r).forEach((function(e){n[e]=t.getValueFromFields(e,a)})),Object.keys(n).forEach((function(e){var r=n[e],i=t.getFieldMeta(e);if(i&&i.normalize){var o=i.normalize(r,t.getValueFromFields(e,t.fields),n);o!==r&&(a[e]=_default$bE({},a[e],{value:o}))}})),this.fields=a}},{key:"resetFields",value:function(e){var t=this.fields;return(e?this.getValidFieldsFullName(e):this.getAllFieldsName()).reduce((function(e,r){var a=t[r];return a&&"value"in a&&(e[r]={}),e}),{})}},{key:"setFieldMeta",value:function(e,t){this.fieldsMeta[e]=t}},{key:"setFieldsAsDirty",value:function(){var e=this;Object.keys(this.fields).forEach((function(t){var r=e.fields[t],a=e.fieldsMeta[t];r&&a&&hasRules(a.validate)&&(e.fields[t]=_default$bE({},r,{dirty:!0}))}))}},{key:"getFieldMeta",value:function(e){return this.fieldsMeta[e]=this.fieldsMeta[e]||{},this.fieldsMeta[e]}},{key:"getValueFromFields",value:function(e,t){var r=t[e];if(r&&"value"in r)return r.value;var a=this.getFieldMeta(e);return a&&a.initialValue}},{key:"getValidFieldsName",value:function(){var e=this,t=this.fieldsMeta;return t?Object.keys(t).filter((function(t){return!e.getFieldMeta(t).hidden})):[]}},{key:"getAllFieldsName",value:function(){var e=this.fieldsMeta;return e?Object.keys(e):[]}},{key:"getValidFieldsFullName",value:function(e){var t=Array.isArray(e)?e:[e];return this.getValidFieldsName().filter((function(e){return t.some((function(t){return e===t||startsWith(e,t)&&[".","["].indexOf(e[t.length])>=0}))}))}},{key:"getFieldValuePropValue",value:function(e){var t=e.name,r=e.getValueProps,a=e.valuePropName,n=this.getField(t),i="value"in n?n.value:e.initialValue;return r?r(i):_default$e({},a,i)}},{key:"getField",value:function(e){return _default$bE({},this.fields[e],{name:e})}},{key:"getNotCollectedFields",value:function(){var e=this;return this.getValidFieldsName().filter((function(t){return!e.fields[t]})).map((function(t){return{name:t,dirty:!1,value:e.getFieldMeta(t).initialValue}})).reduce((function(e,t){return set_1(e,t.name,createFormField(t))}),{})}},{key:"getNestedAllFields",value:function(){var e=this;return Object.keys(this.fields).reduce((function(t,r){return set_1(t,r,createFormField(e.fields[r]))}),this.getNotCollectedFields())}},{key:"getFieldMember",value:function(e,t){return this.getField(e)[t]}},{key:"getNestedFields",value:function(e,t){return(e||this.getValidFieldsName()).reduce((function(e,r){return set_1(e,r,t(r))}),{})}},{key:"getNestedField",value:function(e,t){var r=this.getValidFieldsFullName(e);if(0===r.length||1===r.length&&r[0]===e)return t(e);var a="["===r[0][e.length],n=a?e.length:e.length+1;return r.reduce((function(e,r){return set_1(e,r.slice(n),t(r))}),a?[]:{})}},{key:"isValidNestedFieldName",value:function(e){return this.getAllFieldsName().every((function(t){return!partOf(t,e)&&!partOf(e,t)}))}},{key:"clearField",value:function(e){delete this.fields[e],delete this.fieldsMeta[e]}}]),e}(),_initialiseProps$4=function(){var e=this;this.setFieldsInitialValue=function(t){var r=e.flattenRegisteredFields(t),a=e.fieldsMeta;Object.keys(r).forEach((function(t){a[t]&&e.setFieldMeta(t,_default$bE({},e.getFieldMeta(t),{initialValue:r[t]}))}))},this.getAllValues=function(){var t=e.fieldsMeta,r=e.fields;return Object.keys(t).reduce((function(t,a){return set_1(t,a,e.getValueFromFields(a,r))}),{})},this.getFieldsValue=function(t){return e.getNestedFields(t,e.getFieldValue)},this.getFieldValue=function(t){var r=e.fields;return e.getNestedField(t,(function(t){return e.getValueFromFields(t,r)}))},this.getFieldsError=function(t){return e.getNestedFields(t,e.getFieldError)},this.getFieldError=function(t){return e.getNestedField(t,(function(t){return getErrorStrs(e.getFieldMember(t,"errors"))}))},this.isFieldValidating=function(t){return e.getFieldMember(t,"validating")},this.isFieldsValidating=function(t){return(t||e.getValidFieldsName()).some((function(t){return e.isFieldValidating(t)}))},this.isFieldTouched=function(t){return e.getFieldMember(t,"touched")},this.isFieldsTouched=function(t){return(t||e.getValidFieldsName()).some((function(t){return e.isFieldTouched(t)}))}};function createFieldsStore(e){return new FieldsStore(e)}var FieldElemWrapper=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.name,r=e.form;r.domFields[t]=!0,r.recoverClearedField(t)}},{key:"componentWillUnmount",value:function(){var e=this.props,t=e.name,r=e.form,a=r.fieldsStore.getFieldMeta(t);a.preserve||(r.clearedFieldMetaCache[t]={field:r.fieldsStore.getField(t),meta:a},r.clearField(t)),delete r.domFields[t]}},{key:"render",value:function(){return this.props.children}}]),t}(React$k.Component);FieldElemWrapper.propTypes={name:propTypesExports.string,form:propTypesExports.shape({domFields:propTypesExports.objectOf(propTypesExports.bool),recoverClearedField:propTypesExports.func,fieldsStore:propTypesExports.shape({getFieldMeta:propTypesExports.func,getField:propTypesExports.func}),clearedFieldMetaCache:propTypesExports.objectOf(propTypesExports.shape({field:propTypesExports.object,meta:propTypesExports.object})),clearField:propTypesExports.func}),children:propTypesExports.node};var DEFAULT_TRIGGER="onChange";function createBaseForm(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=e.validateMessages,a=e.onFieldsChange,n=e.onValuesChange,i=e.mapProps,o=void 0===i?identity$c:i,l=e.mapPropsToFields,s=e.fieldNameProp,c=e.fieldMetaProp,u=e.fieldDataProp,f=e.formPropName,A=void 0===f?"form":f,d=e.name,p=e.withRef;return function(e){var i=createReactClass({displayName:"Form",mixins:t,getInitialState:function(){var e=this,t=l&&l(this.props);return this.fieldsStore=createFieldsStore(t||{}),this.instances={},this.cachedBind={},this.clearedFieldMetaCache={},this.renderFields={},this.domFields={},["getFieldsValue","getFieldValue","setFieldsInitialValue","getFieldsError","getFieldError","isFieldValidating","isFieldsValidating","isFieldsTouched","isFieldTouched"].forEach((function(t){e[t]=function(){var r;return(r=e.fieldsStore)[t].apply(r,arguments)}})),{submitting:!1}},componentDidMount:function(){this.cleanUpUselessFields()},componentWillReceiveProps:function(e){l&&this.fieldsStore.updateFields(l(e))},componentDidUpdate:function(){this.cleanUpUselessFields()},onCollectCommon:function(e,t,r){var a=this.fieldsStore.getFieldMeta(e);if(a[t])a[t].apply(a,_default$7(r));else if(a.originalProps&&a.originalProps[t]){var i;(i=a.originalProps)[t].apply(i,_default$7(r))}var o=a.getValueFromEvent?a.getValueFromEvent.apply(a,_default$7(r)):getValueFromEvent.apply(void 0,_default$7(r));if(n&&o!==this.fieldsStore.getFieldValue(e)){var l=this.fieldsStore.getAllValues(),s={};l[e]=o,Object.keys(l).forEach((function(e){return set_1(s,e,l[e])})),n(_default$bE(_default$e({},A,this.getForm()),this.props),set_1({},e,o),s)}var c=this.fieldsStore.getField(e);return{name:e,field:_default$bE({},c,{value:o,touched:!0}),fieldMeta:a}},onCollect:function(e,t){for(var r=arguments.length,a=Array(r>2?r-2:0),n=2;n2?r-2:0),n=2;n1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new Error("Must call `getFieldProps` with valid name string!");delete this.clearedFieldMetaCache[e];var a=_default$bE({name:e,trigger:DEFAULT_TRIGGER,valuePropName:"value",validate:[]},r),n=a.rules,i=a.trigger,o=a.validateTrigger,l=void 0===o?i:o,f=a.validate,A=this.fieldsStore.getFieldMeta(e);"initialValue"in a&&(A.initialValue=a.initialValue);var p=_default$bE({},this.fieldsStore.getFieldValuePropValue(a),{ref:this.getCacheBind(e,e+"__ref",this.saveRef)});s&&(p[s]=d?d+"_"+e:e);var h=normalizeValidateRules(f,n,l),b=getValidateTriggers(h);b.forEach((function(r){p[r]||(p[r]=t.getCacheBind(e,r,t.onCollectValidate))})),i&&-1===b.indexOf(i)&&(p[i]=this.getCacheBind(e,i,this.onCollect));var g=_default$bE({},A,a,{validate:h});return this.fieldsStore.setFieldMeta(e,g),c&&(p[c]=g),u&&(p[u]=this.fieldsStore.getField(e)),this.renderFields[e]=!0,p},getFieldInstance:function(e){return this.instances[e]},getRules:function(e,t){return flattenArray(e.validate.filter((function(e){return!t||e.trigger.indexOf(t)>=0})).map((function(e){return e.rules})))},setFields:function(e,t){var r=this,n=this.fieldsStore.flattenRegisteredFields(e);if(this.fieldsStore.setFields(n),a){var i=Object.keys(n).reduce((function(e,t){return set_1(e,t,r.fieldsStore.getField(t))}),{});a(_default$bE(_default$e({},A,this.getForm()),this.props),i,this.fieldsStore.getNestedAllFields())}this.forceUpdate(t)},setFieldsValue:function(e,t){var r=this.fieldsStore.fieldsMeta,a=this.fieldsStore.flattenRegisteredFields(e),i=Object.keys(a).reduce((function(e,t){if(r[t]){var n=a[t];e[t]={value:n}}return e}),{});if(this.setFields(i,t),n){var o=this.fieldsStore.getAllValues();n(_default$bE(_default$e({},A,this.getForm()),this.props),e,o)}},saveRef:function(e,t,r){if(!r){var a=this.fieldsStore.getFieldMeta(e);return a.preserve||(this.clearedFieldMetaCache[e]={field:this.fieldsStore.getField(e),meta:a},this.clearField(e)),void delete this.domFields[e]}this.domFields[e]=!0,this.recoverClearedField(e);var n=this.fieldsStore.getFieldMeta(e);if(n){var i=n.ref;if(i){if("string"==typeof i)throw new Error("can not set ref string for "+e);"function"==typeof i?i(r):Object.prototype.hasOwnProperty.call(i,"current")&&(i.current=r)}}this.instances[e]=r},cleanUpUselessFields:function(){var e=this,t=this.fieldsStore.getAllFieldsName().filter((function(t){var r=e.fieldsStore.getFieldMeta(t);return!e.renderFields[t]&&!e.domFields[t]&&!r.preserve}));t.length&&t.forEach(this.clearField),this.renderFields={}},clearField:function(e){this.fieldsStore.clearField(e),delete this.instances[e],delete this.cachedBind[e]},resetFields:function(e){var t=this,r=this.fieldsStore.resetFields(e);(Object.keys(r).length>0&&this.setFields(r),e)?(Array.isArray(e)?e:[e]).forEach((function(e){return delete t.clearedFieldMetaCache[e]})):this.clearedFieldMetaCache={}},recoverClearedField:function(e){this.clearedFieldMetaCache[e]&&(this.fieldsStore.setFields(_default$e({},e,this.clearedFieldMetaCache[e].field)),this.fieldsStore.setFieldMeta(e,this.clearedFieldMetaCache[e].meta),delete this.clearedFieldMetaCache[e])},validateFieldsInternal:function(e,t,a){var n=this,i=t.fieldNames,o=t.action,l=t.options,s=void 0===l?{}:l,c={},u={},f={},A={};if(e.forEach((function(e){var t=e.name;if(!0===s.force||!1!==e.dirty){var r=n.fieldsStore.getFieldMeta(t),a=_default$bE({},e);a.errors=void 0,a.validating=!0,a.dirty=!0,c[t]=n.getRules(r,o),u[t]=a.value,f[t]=a}else e.errors&&set_1(A,t,{errors:e.errors})})),this.setFields(f),Object.keys(u).forEach((function(e){u[e]=n.fieldsStore.getFieldValue(e)})),a&&isEmptyObject$2(f))a(isEmptyObject$2(A)?null:A,this.fieldsStore.getFieldsValue(i));else{var d=new AsyncValidator(c);r&&d.messages(r),d.validate(u,s,(function(e){var t=_default$bE({},A);e&&e.length&&e.forEach((function(e){var r=e.field,a=r;Object.keys(c).some((function(e){var t=c[e]||[];if(e===r)return a=e,!0;if(t.every((function(e){return"array"!==e.type}))||0!==r.indexOf(e+"."))return!1;var n=r.slice(e.length+1);return!!/^\d+$/.test(n)&&(a=e,!0)}));var n=get_1$1(t,a);("object"!=typeof n||Array.isArray(n))&&set_1(t,a,{errors:[]}),get_1$1(t,a.concat(".errors")).push(e)}));var r=[],o={};Object.keys(c).forEach((function(e){var a=get_1$1(t,e),i=n.fieldsStore.getField(e);eq_1(i.value,u[e])?(i.errors=a&&a.errors,i.value=u[e],i.validating=!1,i.dirty=!1,o[e]=i):r.push({name:e})})),n.setFields(o),a&&(r.length&&r.forEach((function(e){var r=e.name;set_1(t,r,{expired:!0,errors:[{message:r+" need to revalidate",field:r}]})})),a(isEmptyObject$2(t)?null:t,n.fieldsStore.getFieldsValue(i)))}))}},validateFields:function(e,t,r){var a=this,n=new Promise((function(n,i){var o=getParams(e,t,r),l=o.names,s=o.options,c=getParams(e,t,r).callback;if(!c||"function"==typeof c){var u=c;c=function(e,t){u&&u(e,t),e?i({errors:e,values:t}):n(t)}}var f=l?a.fieldsStore.getValidFieldsFullName(l):a.fieldsStore.getValidFieldsName(),A=f.filter((function(e){return hasRules(a.fieldsStore.getFieldMeta(e).validate)})).map((function(e){var t=a.fieldsStore.getField(e);return t.value=a.fieldsStore.getFieldValue(e),t}));A.length?("firstFields"in s||(s.firstFields=f.filter((function(e){return!!a.fieldsStore.getFieldMeta(e).validateFirst}))),a.validateFieldsInternal(A,{fieldNames:f,options:s},c)):c(null,a.fieldsStore.getFieldsValue(f))}));return n.catch((function(e){return console.error,e})),n},isSubmitting:function(){return this.state.submitting},submit:function(e){var t=this;this.setState({submitting:!0}),e((function(){t.setState({submitting:!1})}))},render:function(){var t=this.props,r=t.wrappedComponentRef,a=_default$d(t,["wrappedComponentRef"]),n=_default$e({},A,this.getForm());p?n.ref="wrappedComponent":r&&(n.ref=r);var i=o.call(this,_default$bE({},n,a));return React$k.createElement(e,i)}});return argumentContainer(unsafeLifecyclesPolyfill(i),e)}}var mixin$1={getForm:function(){return{getFieldsValue:this.fieldsStore.getFieldsValue,getFieldValue:this.fieldsStore.getFieldValue,getFieldInstance:this.getFieldInstance,setFieldsValue:this.setFieldsValue,setFields:this.setFields,setFieldsInitialValue:this.fieldsStore.setFieldsInitialValue,getFieldDecorator:this.getFieldDecorator,getFieldProps:this.getFieldProps,getFieldsError:this.fieldsStore.getFieldsError,getFieldError:this.fieldsStore.getFieldError,isFieldValidating:this.fieldsStore.isFieldValidating,isFieldsValidating:this.fieldsStore.isFieldsValidating,isFieldsTouched:this.fieldsStore.isFieldsTouched,isFieldTouched:this.fieldsStore.isFieldTouched,isSubmitting:this.isSubmitting,submit:this.submit,validateFields:this.validateFields,resetFields:this.resetFields}}};function computedStyle(e,t){var r=window.getComputedStyle,a=r?r(e):e.currentStyle;if(a)return a[t.replace(/-(\w)/gi,(function(e,t){return t.toUpperCase()}))]}function getScrollableContainer(e){for(var t=e,r=void 0;"body"!==(r=t.nodeName.toLowerCase());){var a=computedStyle(t,"overflowY");if(t!==e&&("auto"===a||"scroll"===a)&&t.scrollHeight>t.clientHeight)return t;t=t.parentNode}return"body"===r?t.ownerDocument:t}var mixin={getForm:function(){return _default$bE({},mixin$1.getForm.call(this),{validateFieldsAndScroll:this.validateFieldsAndScroll})},validateFieldsAndScroll:function(e,t,r){var a=this,n=getParams(e,t,r),i=n.names,o=n.callback,l=n.options;return this.validateFields(i,l,(function(e,t){if(e){var r=a.fieldsStore.getValidFieldsName(),n=void 0,i=void 0;if(r.forEach((function(t){if(has_1(e,t)){var r=a.getFieldInstance(t);if(r){var o=ReactDOM.findDOMNode(r),l=o.getBoundingClientRect().top;"hidden"!==o.type&&(void 0===i||i>l)&&(i=l,n=o)}}})),n){var s=l.container||getScrollableContainer(n);scrollIntoView(n,s,_default$bE({onlyScrollIfNeeded:!0},l.scroll))}}"function"==typeof o&&o(e,t)}))}};function createDOMForm(e){return createBaseForm(_default$bE({},e),[mixin])}var RowContext$1=createReactContext({});const RowContext$2=RowContext$1;var QueryHandler_1,hasRequiredQueryHandler,Util,hasRequiredUtil,MediaQuery_1,hasRequiredMediaQuery,MediaQueryDispatch_1,hasRequiredMediaQueryDispatch,src,hasRequiredSrc,enquire;function requireQueryHandler(){if(hasRequiredQueryHandler)return QueryHandler_1;function e(e){this.options=e,!e.deferSetup&&this.setup()}return hasRequiredQueryHandler=1,e.prototype={constructor:e,setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(e){return this.options===e||this.options.match===e}},QueryHandler_1=e}function requireUtil(){if(hasRequiredUtil)return Util;return hasRequiredUtil=1,Util={isFunction:function(e){return"function"==typeof e},isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},each:function(e,t){for(var r=0,a=e.length;r0?{marginLeft:p[0]/-2,marginRight:p[0]/-2}:{}),p[1]>0?{marginTop:p[1]/-2,marginBottom:p[1]/-2}:{}),u),g=_extends$1P({},A);return delete g.gutter,reactExports.createElement(RowContext$2.Provider,{value:{gutter:p}},reactExports.createElement("div",_extends$1P({},g,{className:h,style:b}),f))},e}return _createClass$1E(r,[{key:"componentDidMount",value:function(){var e=this;this.token=ResponsiveObserve.subscribe((function(t){var r=e.props.gutter;("object"===_typeof$X(r)||Array.isArray(r)&&("object"===_typeof$X(r[0])||"object"===_typeof$X(r[1])))&&e.setState({screens:t})}))}},{key:"componentWillUnmount",value:function(){ResponsiveObserve.unsubscribe(this.token)}},{key:"getGutter",value:function(){var e=[0,0],t=this.props.gutter,r=this.state.screens;return(Array.isArray(t)?t:[t,0]).forEach((function(t,a){if("object"===_typeof$X(t))for(var n=0;n0?{paddingLeft:t[0]/2,paddingRight:t[0]/2}:{}),t[1]>0?{paddingTop:t[1]/2,paddingBottom:t[1]/2}:{}),r)),reactExports.createElement("div",_extends$1O({},d,{style:r,className:b}),A)}))},e}return _createClass$1D(r,[{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderCol)}}]),r}(reactExports.Component);Col.propTypes={span:propTypesExports.number,order:propTypesExports.number,offset:propTypesExports.number,push:propTypesExports.number,pull:propTypesExports.number,className:propTypesExports.string,children:propTypesExports.node,xs:objectOrNumber,sm:objectOrNumber,md:objectOrNumber,lg:objectOrNumber,xl:objectOrNumber,xxl:objectOrNumber};var FIELD_META_PROP$1="data-__meta",FIELD_DATA_PROP$1="data-__field",FormContext=createReactContext({labelAlign:"right",vertical:!1});const FormContext$1=FormContext;function _typeof$V(e){return _typeof$V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$V(e)}function _extends$1N(){return _extends$1N=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r0));i++){var o=n[i];(!o.type||o.type!==r&&"FormItem"!==o.type.displayName)&&o.props&&(FIELD_META_PROP$1 in o.props?a.push(o):o.props.children&&(a=a.concat(this.getControls(o.props.children,t))))}return a}},{key:"getOnlyControl",value:function(){var e=this.getControls(this.props.children,!1)[0];return void 0!==e?e:null}},{key:"getChildProp",value:function(e){var t=this.getOnlyControl();return t&&t.props&&t.props[e]}},{key:"getId",value:function(){return this.getChildProp("id")}},{key:"getMeta",value:function(){return this.getChildProp(FIELD_META_PROP$1)}},{key:"getField",value:function(){return this.getChildProp(FIELD_DATA_PROP$1)}},{key:"getValidateStatus",value:function(){if(!this.getOnlyControl())return"";var e=this.getField();if(e.validating)return"validating";if(e.errors)return"error";var t="value"in e?e.value:this.getMeta().initialValue;return null!=t&&""!==t?"success":""}},{key:"isRequired",value:function(){var e=this.props.required;return void 0!==e?e:!!this.getOnlyControl()&&((this.getMeta()||{}).validate||[]).filter((function(e){return!!e.rules})).some((function(e){return e.rules.some((function(e){return e.required}))}))}},{key:"renderHelp",value:function(e){var t=this.getHelpMessage(),r=t?reactExports.createElement("div",{className:"".concat(e,"-explain"),key:"help"},t):null;return r&&(this.helpShow=!!r),reactExports.createElement(Animate$1,{transitionName:"show-help",component:"",transitionAppear:!0,key:"help",onEnd:this.onHelpAnimEnd},r)}},{key:"renderExtra",value:function(e){var t=this.props.extra;return t?reactExports.createElement("div",{className:"".concat(e,"-extra")},t):null}},{key:"renderValidateWrapper",value:function(e,t,r,a){var n=this.props,i=this.getOnlyControl,o=void 0===n.validateStatus&&i?this.getValidateStatus():n.validateStatus,l="".concat(e,"-item-control");o&&(l=classNames("".concat(e,"-item-control"),{"has-feedback":o&&n.hasFeedback,"has-success":"success"===o,"has-warning":"warning"===o,"has-error":"error"===o,"is-validating":"validating"===o}));var s="";switch(o){case"success":s="check-circle";break;case"warning":s="exclamation-circle";break;case"error":s="close-circle";break;case"validating":s="loading";break;default:s=""}var c=n.hasFeedback&&s?reactExports.createElement("span",{className:"".concat(e,"-item-children-icon")},reactExports.createElement(Icon$1,{type:s,theme:"loading"===s?"outlined":"filled"})):null;return reactExports.createElement("div",{className:l},reactExports.createElement("span",{className:"".concat(e,"-item-children")},t,c),r,a)}},{key:"renderWrapper",value:function(e,t){var r=this;return reactExports.createElement(FormContext$1.Consumer,{key:"wrapper"},(function(a){var n=a.wrapperCol,i=a.vertical,o=r.props.wrapperCol,l=("wrapperCol"in r.props?o:n)||{},s=classNames("".concat(e,"-item-control-wrapper"),l.className);return reactExports.createElement(FormContext$1.Provider,{value:{vertical:i}},reactExports.createElement(Col,_extends$1N({},l,{className:s}),t))}))}},{key:"renderLabel",value:function(e){var t=this;return reactExports.createElement(FormContext$1.Consumer,{key:"label"},(function(r){var a,n=r.vertical,i=r.labelAlign,o=r.labelCol,l=r.colon,s=t.props,c=s.label,u=s.labelCol,f=s.labelAlign,A=s.colon,d=s.id,p=s.htmlFor,h=t.isRequired(),b=("labelCol"in t.props?u:o)||{},g="labelAlign"in t.props?f:i,m="".concat(e,"-item-label"),v=classNames(m,"left"===g&&"".concat(m,"-left"),b.className),y=c,w=!0===A||!1!==l&&!1!==A;w&&!n&&"string"==typeof c&&""!==c.trim()&&(y=c.replace(/[::]\s*$/,""));var k=classNames((_defineProperty$Z(a={},"".concat(e,"-item-required"),h),_defineProperty$Z(a,"".concat(e,"-item-no-colon"),!w),a));return c?reactExports.createElement(Col,_extends$1N({},b,{className:v}),reactExports.createElement("label",{htmlFor:p||d||t.getId(),className:k,title:"string"==typeof c?c:"",onClick:t.onLabelClick},y)):null}))}},{key:"renderChildren",value:function(e){var t=this.props.children;return[this.renderLabel(e),this.renderWrapper(e,this.renderValidateWrapper(e,t,this.renderHelp(e),this.renderExtra(e)))]}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderFormItem)}}]),r}(reactExports.Component);function _typeof$U(e){return _typeof$U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$U(e)}function _extends$1M(){return _extends$1M=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{}),{fieldMetaProp:FIELD_META_PROP$1,fieldDataProp:FIELD_DATA_PROP$1}))};var ClearableInputType=tuple$1("text","input");function hasPrefixSuffix(e){return!!(e.prefix||e.suffix||e.allowClear)}var ClearableLabeledInput=function(e){_inherits$1D(r,e);var t=_createSuper$P(r);function r(){return _classCallCheck$1F(this,r),t.apply(this,arguments)}return _createClass$1A(r,[{key:"renderClearIcon",value:function(e){var t=this.props,r=t.allowClear,a=t.value,n=t.disabled,i=t.readOnly,o=t.inputType,l=t.handleReset;if(!r||n||i||null==a||""===a)return null;var s=o===ClearableInputType[0]?"".concat(e,"-textarea-clear-icon"):"".concat(e,"-clear-icon");return reactExports.createElement(Icon$1,{type:"close-circle",theme:"filled",onClick:l,className:s,role:"button"})}},{key:"renderSuffix",value:function(e){var t=this.props,r=t.suffix,a=t.allowClear;return r||a?reactExports.createElement("span",{className:"".concat(e,"-suffix")},this.renderClearIcon(e),r):null}},{key:"renderLabeledIcon",value:function(e,t){var r,a=this.props,n=this.renderSuffix(e);if(!hasPrefixSuffix(a))return reactExports.cloneElement(t,{value:a.value});var i=a.prefix?reactExports.createElement("span",{className:"".concat(e,"-prefix")},a.prefix):null,o=classNames(a.className,"".concat(e,"-affix-wrapper"),(_defineProperty$X(r={},"".concat(e,"-affix-wrapper-sm"),"small"===a.size),_defineProperty$X(r,"".concat(e,"-affix-wrapper-lg"),"large"===a.size),_defineProperty$X(r,"".concat(e,"-affix-wrapper-input-with-clear-btn"),a.suffix&&a.allowClear&&this.props.value),r));return reactExports.createElement("span",{className:o,style:a.style},i,reactExports.cloneElement(t,{style:null,value:a.value,className:getInputClassName(e,a.size,a.disabled)}),n)}},{key:"renderInputWithLabel",value:function(e,t){var r,a=this.props,n=a.addonBefore,i=a.addonAfter,o=a.style,l=a.size,s=a.className;if(!n&&!i)return t;var c="".concat(e,"-group"),u="".concat(c,"-addon"),f=n?reactExports.createElement("span",{className:u},n):null,A=i?reactExports.createElement("span",{className:u},i):null,d=classNames("".concat(e,"-wrapper"),_defineProperty$X({},c,n||i)),p=classNames(s,"".concat(e,"-group-wrapper"),(_defineProperty$X(r={},"".concat(e,"-group-wrapper-sm"),"small"===l),_defineProperty$X(r,"".concat(e,"-group-wrapper-lg"),"large"===l),r));return reactExports.createElement("span",{className:p,style:o},reactExports.createElement("span",{className:d},f,reactExports.cloneElement(t,{style:null}),A))}},{key:"renderTextAreaWithClearIcon",value:function(e,t){var r=this.props,a=r.value,n=r.allowClear,i=r.className,o=r.style;if(!n)return reactExports.cloneElement(t,{value:a});var l=classNames(i,"".concat(e,"-affix-wrapper"),"".concat(e,"-affix-wrapper-textarea-with-clear-btn"));return reactExports.createElement("span",{className:l,style:o},reactExports.cloneElement(t,{style:null,value:a}),this.renderClearIcon(e))}},{key:"renderClearableLabeledInput",value:function(){var e=this.props,t=e.prefixCls,r=e.inputType,a=e.element;return r===ClearableInputType[0]?this.renderTextAreaWithClearIcon(t,a):this.renderInputWithLabel(t,this.renderLabeledIcon(t,a))}},{key:"render",value:function(){return this.renderClearableLabeledInput()}}]),r}(reactExports.Component);polyfill(ClearableLabeledInput);const ClearableLabeledInput$1=ClearableLabeledInput;function _typeof$S(e){return _typeof$S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$S(e)}function _extends$1L(){return _extends$1L=Object.assign||function(e){for(var t=1;t1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(r=!0),r}function _typeof$R(e){return _typeof$R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$R(e)}function _defineProperty$U(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _extends$1K(){return _extends$1K=Object.assign||function(e){for(var t=1;t1)warning_1$2.default(!1,"Find more than one child node with `children` in ResizeObserver. Will only observe first one.");else if(0===t.length)return warning_1$2.default(!1,"`children` of ResizeObserver is empty. Nothing is in observe."),null;var r=t[0];if(React$h.isValidElement(r)&&util_1.supportRef(r)){var a=r.ref;t[0]=React$h.cloneElement(r,{ref:ref_1.composeRef(a,this.setChildNode)})}return 1===t.length?t[0]:t.map((function(e,t){return!React$h.isValidElement(e)||"key"in e&&null!==e.key?e:React$h.cloneElement(e,{key:"".concat(INTERNAL_PREFIX_KEY,"-").concat(t)})}))}}]),t}(React$h.Component);ReactResizeObserver.displayName="ResizeObserver";var _default$5=es$1.default=ReactResizeObserver,HIDDEN_TEXTAREA_STYLE="\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n",SIZING_STYLE=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"],computedStyleCache={},hiddenTextarea;function calculateNodeStyling(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.getAttribute("id")||e.getAttribute("data-reactid")||e.getAttribute("name");if(t&&computedStyleCache[r])return computedStyleCache[r];var a=window.getComputedStyle(e),n=a.getPropertyValue("box-sizing")||a.getPropertyValue("-moz-box-sizing")||a.getPropertyValue("-webkit-box-sizing"),i=parseFloat(a.getPropertyValue("padding-bottom"))+parseFloat(a.getPropertyValue("padding-top")),o=parseFloat(a.getPropertyValue("border-bottom-width"))+parseFloat(a.getPropertyValue("border-top-width")),l={sizingStyle:SIZING_STYLE.map((function(e){return"".concat(e,":").concat(a.getPropertyValue(e))})).join(";"),paddingSize:i,borderSize:o,boxSizing:n};return t&&r&&(computedStyleCache[r]=l),l}function calculateNodeHeight(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;hiddenTextarea||(hiddenTextarea=document.createElement("textarea"),document.body.appendChild(hiddenTextarea)),e.getAttribute("wrap")?hiddenTextarea.setAttribute("wrap",e.getAttribute("wrap")):hiddenTextarea.removeAttribute("wrap");var n=calculateNodeStyling(e,t),i=n.paddingSize,o=n.borderSize,l=n.boxSizing,s=n.sizingStyle;hiddenTextarea.setAttribute("style","".concat(s,";").concat(HIDDEN_TEXTAREA_STYLE)),hiddenTextarea.value=e.value||e.placeholder||"";var c,u=Number.MIN_SAFE_INTEGER,f=Number.MAX_SAFE_INTEGER,A=hiddenTextarea.scrollHeight;if("border-box"===l?A+=o:"content-box"===l&&(A-=i),null!==r||null!==a){hiddenTextarea.value=" ";var d=hiddenTextarea.scrollHeight-i;null!==r&&(u=d*r,"border-box"===l&&(u=u+i+o),A=Math.max(u,A)),null!==a&&(f=d*a,"border-box"===l&&(f=f+i+o),c=A>f?"":"hidden",A=Math.min(f,A))}return{height:A,minHeight:u,maxHeight:f,overflowY:c}}function _typeof$O(e){return _typeof$O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$O(e)}function _extends$1J(){return _extends$1J=Object.assign||function(e){for(var t=1;tencodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)),token="%[a-f0-9]{2}",singleMatcher=new RegExp("("+token+")|([^%]+?)","gi"),multiMatcher=new RegExp("("+token+")+","gi");function decodeComponents(e,t){try{return[decodeURIComponent(e.join(""))]}catch(err){}if(1===e.length)return e;t=t||1;var r=e.slice(0,t),a=e.slice(t);return Array.prototype.concat.call([],decodeComponents(r),decodeComponents(a))}function decode$3(e){try{return decodeURIComponent(e)}catch(err){for(var t=e.match(singleMatcher)||[],r=1;rnull===r?[encode$1(t,e),"[",a,"]"].join(""):[encode$1(t,e),"[",encode$1(a,e),"]=",encode$1(r,e)].join("");case"bracket":return(t,r)=>null===r?[encode$1(t,e),"[]"].join(""):[encode$1(t,e),"[]=",encode$1(r,e)].join("");default:return(t,r)=>null===r?encode$1(t,e):[encode$1(t,e),"=",encode$1(r,e)].join("")}}function parserForArrayFormat(e){let t;switch(e.arrayFormat){case"index":return(e,r,a)=>{t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===a[e]&&(a[e]={}),a[e][t[1]]=r):a[e]=r};case"bracket":return(e,r,a)=>{t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==a[e]?a[e]=[].concat(a[e],r):a[e]=[r]:a[e]=r};default:return(e,t,r)=>{void 0!==r[e]?r[e]=[].concat(r[e],t):r[e]=t}}}function encode$1(e,t){return t.encode?t.strict?strictUriEncode(e):encodeURIComponent(e):e}function decode$2(e,t){return t.decode?decodeComponent(e):e}function keysSorter(e){return Array.isArray(e)?e.sort():"object"==typeof e?keysSorter(Object.keys(e)).sort(((e,t)=>Number(e)-Number(t))).map((t=>e[t])):e}function extract(e){const t=e.indexOf("?");return-1===t?"":e.slice(t+1)}function parse$2(e,t){const r=parserForArrayFormat(t=Object.assign({decode:!0,arrayFormat:"none"},t)),a=Object.create(null);if("string"!=typeof e)return a;if(!(e=e.trim().replace(/^[?#&]/,"")))return a;for(const n of e.split("&")){let[e,i]=n.replace(/\+/g," ").split("=");i=void 0===i?null:decode$2(i,t),r(decode$2(e,t),i,a)}return Object.keys(a).sort().reduce(((e,t)=>{const r=a[t];return Boolean(r)&&"object"==typeof r&&!Array.isArray(r)?e[t]=keysSorter(r):e[t]=r,e}),Object.create(null))}queryString.extract=extract,queryString.parse=parse$2,queryString.stringify=(e,t)=>{if(!e)return"";const r=encoderForArrayFormat(t=Object.assign({encode:!0,strict:!0,arrayFormat:"none"},t)),a=Object.keys(e);return!1!==t.sort&&a.sort(t.sort),a.map((a=>{const n=e[a];if(void 0===n)return"";if(null===n)return encode$1(a,t);if(Array.isArray(n)){const e=[];for(const t of n.slice())void 0!==t&&e.push(r(a,t,e.length));return e.join("&")}return encode$1(a,t)+"="+encode$1(n,t)})).filter((e=>e.length>0)).join("&")},queryString.parseUrl=(e,t)=>{const r=e.indexOf("#");return-1!==r&&(e=e.slice(0,r)),{url:e.split("?")[0]||"",query:parse$2(extract(e),t)}};const ROUTE_PATH$6=prefixUrl("/trace/:id");function getUrl$6(e,t){const r=prefixUrl(`/trace/${e}`);return t?`${r}?${queryString.stringify({uiFind:t})}`:r}function getLocation(e,t,r){return{state:t,pathname:getUrl$6(e),search:r&&queryString.stringify({uiFind:r})}}const TraceIDSearchInput$2="";class TraceIDSearchInput extends reactExports.PureComponent{constructor(){super(...arguments),this.goToTrace=e=>{e.preventDefault();const t=e.target.elements.idInput.value;t&&this.props.history.push(getUrl$6(t))}}render(){return jsxRuntimeExports.jsx(Form,{layout:"horizontal",onSubmit:this.goToTrace,className:"TraceIDSearchInput--form",children:jsxRuntimeExports.jsx(Input$1,{name:"idInput",placeholder:"Lookup by Trace ID...",prefix:jsxRuntimeExports.jsx(Icon$1,{type:"search"})})})}}const TraceIDSearchInput$1=withRouter$1(TraceIDSearchInput),ROUTE_PATH$5=prefixUrl("/dependencies"),ROUTE_MATCHER$5={path:ROUTE_PATH$5,strict:!0,exact:!0};function matches$8(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$5))}function getUrl$5(){return ROUTE_PATH$5}var objectProto$9=Object.prototype;function isPrototype$4(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||objectProto$9)}var _isPrototype=isPrototype$4;function overArg$2(e,t){return function(r){return e(t(r))}}var _overArg=overArg$2,overArg$1=_overArg,nativeKeys$1=overArg$1(Object.keys,Object),_nativeKeys=nativeKeys$1,isPrototype$3=_isPrototype,nativeKeys=_nativeKeys,objectProto$8=Object.prototype,hasOwnProperty$8=objectProto$8.hasOwnProperty;function baseKeys$2(e){if(!isPrototype$3(e))return nativeKeys(e);var t=[];for(var r in Object(e))hasOwnProperty$8.call(e,r)&&"constructor"!=r&&t.push(r);return t}var _baseKeys=baseKeys$2,getNative$3=_getNative,root$8=_root,DataView$2=getNative$3(root$8,"DataView"),_DataView=DataView$2,getNative$2=_getNative,root$7=_root,Promise$3=getNative$2(root$7,"Promise"),_Promise=Promise$3,getNative$1=_getNative,root$6=_root,Set$4=getNative$1(root$6,"Set"),_Set=Set$4,getNative=_getNative,root$5=_root,WeakMap$2=getNative(root$5,"WeakMap"),_WeakMap=WeakMap$2,DataView$1=_DataView,Map$3=_Map,Promise$2=_Promise,Set$3=_Set,WeakMap$1=_WeakMap,baseGetTag$3=_baseGetTag,toSource=_toSource,mapTag$3="[object Map]",objectTag$3="[object Object]",promiseTag="[object Promise]",setTag$3="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$2="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$3),promiseCtorString=toSource(Promise$2),setCtorString=toSource(Set$3),weakMapCtorString=toSource(WeakMap$1),getTag$2=baseGetTag$3;(DataView$1&&getTag$2(new DataView$1(new ArrayBuffer(1)))!=dataViewTag$2||Map$3&&getTag$2(new Map$3)!=mapTag$3||Promise$2&&getTag$2(Promise$2.resolve())!=promiseTag||Set$3&&getTag$2(new Set$3)!=setTag$3||WeakMap$1&&getTag$2(new WeakMap$1)!=weakMapTag$1)&&(getTag$2=function(e){var t=baseGetTag$3(e),r=t==objectTag$3?e.constructor:void 0,a=r?toSource(r):"";if(a)switch(a){case dataViewCtorString:return dataViewTag$2;case mapCtorString:return mapTag$3;case promiseCtorString:return promiseTag;case setCtorString:return setTag$3;case weakMapCtorString:return weakMapTag$1}return t});var _getTag=getTag$2,isFunction$7=isFunction_1,isLength$1=isLength_1;function isArrayLike$8(e){return null!=e&&isLength$1(e.length)&&!isFunction$7(e)}var isArrayLike_1=isArrayLike$8,isBufferExports={},isBuffer$5={get exports(){return isBufferExports},set exports(e){isBufferExports=e}};function stubFalse(){return!1}var stubFalse_1=stubFalse;!function(e,t){var r=_root,a=stubFalse_1,n=t&&!t.nodeType&&t,i=n&&e&&!e.nodeType&&e,o=i&&i.exports===n?r.Buffer:void 0,l=(o?o.isBuffer:void 0)||a;e.exports=l}(isBuffer$5,isBufferExports);var baseGetTag$2=_baseGetTag,isLength=isLength_1,isObjectLike$4=isObjectLike_1,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",mapTag$2="[object Map]",numberTag$1="[object Number]",objectTag$2="[object Object]",regexpTag$1="[object RegExp]",setTag$2="[object Set]",stringTag$2="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};function baseIsTypedArray$1(e){return isObjectLike$4(e)&&isLength(e.length)&&!!typedArrayTags[baseGetTag$2(e)]}typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag$1]=typedArrayTags[arrayTag$1]=typedArrayTags[arrayBufferTag$1]=typedArrayTags[boolTag$1]=typedArrayTags[dataViewTag$1]=typedArrayTags[dateTag$1]=typedArrayTags[errorTag$1]=typedArrayTags[funcTag]=typedArrayTags[mapTag$2]=typedArrayTags[numberTag$1]=typedArrayTags[objectTag$2]=typedArrayTags[regexpTag$1]=typedArrayTags[setTag$2]=typedArrayTags[stringTag$2]=typedArrayTags[weakMapTag]=!1;var _baseIsTypedArray=baseIsTypedArray$1;function baseUnary$1(e){return function(t){return e(t)}}var _baseUnary=baseUnary$1,_nodeUtilExports={},_nodeUtil={get exports(){return _nodeUtilExports},set exports(e){_nodeUtilExports=e}};!function(t,r){var a=_freeGlobal,n=r&&!r.nodeType&&r,i=n&&t&&!t.nodeType&&t,o=i&&i.exports===n&&a.process,l=function(){try{var t=i&&i.require&&i.require("util").types;return t||o&&o.binding&&o.binding("util")}catch(e){}}();t.exports=l}(_nodeUtil,_nodeUtilExports);var baseIsTypedArray=_baseIsTypedArray,baseUnary=_baseUnary,nodeUtil=_nodeUtilExports,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray$4=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,isTypedArray_1=isTypedArray$4,baseKeys$1=_baseKeys,getTag$1=_getTag,isArguments$4=isArguments_1,isArray$d=isArray_1,isArrayLike$7=isArrayLike_1,isBuffer$4=isBufferExports,isPrototype$2=_isPrototype,isTypedArray$3=isTypedArray_1,mapTag$1="[object Map]",setTag$1="[object Set]",objectProto$7=Object.prototype,hasOwnProperty$7=objectProto$7.hasOwnProperty;function isEmpty$2(e){if(null==e)return!0;if(isArrayLike$7(e)&&(isArray$d(e)||"string"==typeof e||"function"==typeof e.splice||isBuffer$4(e)||isTypedArray$3(e)||isArguments$4(e)))return!e.length;var t=getTag$1(e);if(t==mapTag$1||t==setTag$1)return!e.size;if(isPrototype$2(e))return!baseKeys$1(e).length;for(var r in e)if(hasOwnProperty$7.call(e,r))return!1;return!0}var isEmpty_1=isEmpty$2,safeIsNaN=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function isEqual$2(e,t){return e===t||!(!safeIsNaN(e)||!safeIsNaN(t))}function areInputsEqual$1(e,t){if(e.length!==t.length)return!1;for(var r=0;r({memberIdx:this.memberIdx,operation:this.operation.name,service:this.operation.service.name,visibilityIdx:this._visibilityIdx}),this.memberIdx=r,this.memberOf=e,this.operation=t}get distance(){return this.memberIdx-this.memberOf.focalIdx}get externalPath(){const e=[];let t=this;for(;t;)e.push(t),t=t.externalSideNeighbor;return this.distance<0&&e.reverse(),e}get externalSideNeighbor(){return this.distance?this.memberOf.members[this.memberIdx+Math.sign(this.distance)]:null}get focalPath(){const e=[];let t=this;for(;t;)e.push(t),t=t.focalSideNeighbor;return this.distance>0&&e.reverse(),e}get focalSideNeighbor(){return this.distance?this.memberOf.members[this.memberIdx-Math.sign(this.distance)]:null}get isExternal(){return Boolean(this.distance)&&(0===this.memberIdx||this.memberIdx===this.memberOf.members.length-1)}set visibilityIdx(e){if(null!=this._visibilityIdx)throw new Error("Visibility Index cannot be changed once set");this._visibilityIdx=e}get visibilityIdx(){if(null==this._visibilityIdx)throw new Error("Visibility Index was never set for this PathElem");return this._visibilityIdx}toJSON(){return{...this.toJSONHelper(),memberOf:{focalIdx:this.memberOf.focalIdx,members:this.memberOf.members.map((e=>e.toJSONHelper()))}}}toString(){return JSON.stringify(this.toJSON(),null,2)}get[Symbol.toStringTag](){return`PathElem ${this._visibilityIdx}`}}var EViewModifier=(e=>(e[e.None=0]="None",e[e.Hovered=1]="Hovered",e[e.Selected=2]="Selected",e[e.Emphasized=4]="Emphasized",e[e.PathHovered=8]="PathHovered",e))(EViewModifier||{}),EDdgDensity=(e=>(e.ExternalVsInternal="ext-vs-int",e.MostConcise="mc",e.OnePerLevel="per-level",e.PreventPathEntanglement="ppe",e.UpstreamVsDownstream="up-vs-down",e))(EDdgDensity||{}),ECheckedStatus=(e=>(e.Empty="Empty",e.Full="Full",e.Partial="Partial",e))(ECheckedStatus||{}),EDirection=(e=>(e[e.Upstream=-1]="Upstream",e[e.Downstream=1]="Downstream",e))(EDirection||{});const ROUTE_PATH$4=prefixUrl("/deep-dependencies"),ROUTE_MATCHER$4={path:ROUTE_PATH$4,strict:!0,exact:!0};function matches$7(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$4))}function getUrl$4(e,t=ROUTE_PATH$4){if(e&&!isEmpty_1(e)){const r=Reflect.has(e,"showOp")&&void 0!==e.showOp?{...e,showOp:e.showOp?1:0}:e;return`${t}?${queryString.stringify(r)}`}return t}function firstParam(e){if(Array.isArray(e)){const t=e[0];return console.warn(`Found multiple query parameters: "${e}", using "${t}"`),t}return e}const getUrlState$2=memoizeOne$1((function(e){const{density:t=EDdgDensity.PreventPathEntanglement,decoration:r,end:a,hash:n,operation:i,service:o,showOp:l,start:s,visEncoding:c}=queryString.parse(e),u={density:firstParam(t)};return r&&(u.decoration=firstParam(r)),a&&(u.end=Number.parseInt(firstParam(a),10)),n&&(u.hash=firstParam(n)),i&&(u.operation=firstParam(i)),o&&(u.service=firstParam(o)),l&&(u.showOp=Boolean(+firstParam(l))),s&&(u.start=Number.parseInt(firstParam(s),10)),c&&(u.visEncoding=firstParam(c)),u})),sanitizeUrlState=memoizeOne$1((function(e,t){if(t&&e.hash===t)return e;const{visEncoding:r,...a}=e;return a})),ROUTE_PATH$3=prefixUrl("/quality-metrics"),ROUTE_MATCHER$3={path:ROUTE_PATH$3,strict:!0,exact:!0};function matches$6(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$3))}function getUrl$3(e){return e?`${ROUTE_PATH$3}?${queryString.stringify(e)}`:ROUTE_PATH$3}const getUrlState$1=memoizeOne$1((function(e){const{lookback:t,service:r}=queryString.parse(e),a=Array.isArray(r)?r[0]:r,n=Array.isArray(t)?t[0]:t,i=n&&Number.parseInt(n,10),o={lookback:48};return a&&(o.service=a),i&&(o.lookback=i),o})),FONT_SIZE=14,FONT=`${FONT_SIZE}px Helvetica Nueue`,LINE_HEIGHT=1.5,OP_PADDING_TOP=5,PROGRESS_BAR_STROKE_WIDTH=15,RADIUS=75,WORD_RX$1=/\W*\w+\W*/g,MAX_LENGTH=7e3,MAX_LINKED_TRACES=35,MIN_LENGTH=getUrl$2().length,PARAM_NAME_LENGTH=9;function eqEq(e,t){return null==e&&null==t||String(e)===String(t)}const ROUTE_PATH$2=prefixUrl("/search"),ROUTE_MATCHER$2={path:ROUTE_PATH$2,strict:!0,exact:!0};function matches$5(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$2))}function getUrl$2(e){const t=prefixUrl("/search");if(!e)return t;const{traceID:r,spanLinks:a,...n}=e;let i=r;a&&r&&(i=(Array.isArray(r)?r:[r]).filter((e=>!a[e])));const o={...n,span:a&&Object.keys(a).reduce(((e,t)=>[...e,`${a[t]}@${t}`]),[]),traceID:i&&i.length?i:void 0},l=`${t}?${queryString.stringify(o)}`;if(l.length<=MAX_LENGTH)return l;const s=l.slice(0,MAX_LENGTH+1);return"&"===s[MAX_LENGTH]?s.slice(0,-1):s.slice(0,s.lastIndexOf("&"))}const getUrlState=memoizeOne$1((function(e){const{traceID:t,span:r,...a}=queryString.parse(e),n={...a},i=new Set(!t||Array.isArray(t)?t:[t]),o={};return r&&r.length&&((Array.isArray(r)?r:[r]).forEach((e=>{const[t,r]=e.split("@");i.add(r),t&&(o[r]?o[r]=o[r].concat(" ",t):o[r]=t)})),n.spanLinks=o),i.size&&(n.traceID=[...i]),n}));function isSameQuery(e,t){return Boolean(e)===Boolean(t)&&(eqEq(e.end,t.end)&&eqEq(e.limit,t.limit)&&eqEq(e.lookback,t.lookback)&&eqEq(e.maxDuration,t.maxDuration)&&eqEq(e.minDuration,t.minDuration)&&eqEq(e.operation,t.operation)&&eqEq(e.service,t.service)&&eqEq(e.start,t.start)&&eqEq(e.tags,t.tags))}function getValidState(e){const{a:t,b:r,cohort:a}=e,n=new Set([].concat(t,r,a).filter((e=>Boolean(e)))),i=Array.from(n);return{a:i[0],b:i[1],cohort:i}}const ROUTE_PATH$1=prefixUrl("/trace/:a?\\.\\.\\.:b?"),ROUTE_MATCHER$1={path:ROUTE_PATH$1,strict:!0,exact:!0};function matches$4(e){return Boolean(matchPath$1(e,ROUTE_MATCHER$1))}function getUrl$1(e){const{a:t,b:r,cohort:a}=getValidState(e),n=queryString.stringify({cohort:a});return prefixUrl(`/trace/${t||""}...${r||""}${n?"?":""}${n}`)}const ROUTE_PATH=prefixUrl("/monitor"),ROUTE_MATCHER={path:ROUTE_PATH,strict:!0,exact:!0};function matches$3(e){return Boolean(matchPath$1(e,ROUTE_MATCHER))}function getUrl(){return ROUTE_PATH}function last$1(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}var last_1=last$1;function baseSlice$2(e,t,r){var a=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(r=r>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(n);++a",FETCH_DONE="FETCH_DONE",FETCH_ERROR="FETCH_ERROR",FETCH_LOADING="FETCH_LOADING",fetchedState={DONE:FETCH_DONE,ERROR:FETCH_ERROR,LOADING:FETCH_LOADING},defaultVersion=Object.freeze({gitCommit:"",gitVersion:"",buildDate:""});let haveWarnedFactoryFn$1=!1;function getVersion(){const e=window.getJaegerVersion;if("function"!=typeof e)return haveWarnedFactoryFn$1||(console.warn("Embedded version information not available"),haveWarnedFactoryFn$1=!0),{...defaultVersion};const t=e();return t?{...t}:{...defaultVersion}}const version$3="1.29.1",defaultConfig={archiveEnabled:!1,dependencies:{dagMaxNumServices:FALLBACK_DAG_MAX_NUM_SERVICES,menuEnabled:!0},menu:[{label:"About Jaeger",items:[{label:"Website/Docs",url:"https://www.jaegertracing.io/"},{label:"Blog",url:"https://medium.com/jaegertracing/"},{label:"Twitter",url:"https://twitter.com/JaegerTracing"},{label:"Discussion Group",url:"https://groups.google.com/forum/#!forum/jaeger-tracing"},{label:"Online Chat",url:"https://cloud-native.slack.com/archives/CGG7NFUJ3"},{label:"GitHub",url:"https://github.com/jaegertracing/"},{label:`Jaeger ${getVersion().gitVersion}`},{label:`Commit ${getVersion().gitCommit.substring(0,7)}`},{label:`Build ${getVersion().buildDate}`},{label:`Jaeger UI v${version$3}`}]}],search:{maxLookback:{label:"2 Days",value:"2d"},maxLimit:1500},tracking:{gaID:null,trackErrors:!0,customWebAnalytics:null},linkPatterns:[],monitor:{menuEnabled:!0,emptyState:{mainTitle:"Get started with Service Performance Monitoring",subTitle:"A high-level monitoring dashboard that helps you cut down the time to identify and resolve anomalies and issues.",description:"Service Performance Monitoring aggregates tracing data into RED metrics and visualizes them in service and operation level dashboards.",button:{text:"Read the Documentation",onClick:()=>window.open("https://www.jaegertracing.io/docs/latest/spm/")},alert:{message:"Service Performance Monitoring requires a Prometheus-compatible time series database.",type:"info"}},docsLink:"https://www.jaegertracing.io/docs/latest/spm/"},traceGraph:{layoutManagerMemory:void 0},deepDependencies:{menuEnabled:!1},qualityMetrics:{menuEnabled:!1,menuLabel:"Trace Quality"}},mergeFields=["dependencies","search","tracking"],defaultConfig$1=deepFreeze(defaultConfig),deprecations=[{formerKey:"dependenciesMenuEnabled",currentKey:"dependencies.menuEnabled"},{formerKey:"gaTrackingID",currentKey:"tracking.gaID"}];let haveWarnedFactoryFn=!1,haveWarnedDeprecations=!1;const getConfig=memoizeOne$1((function(){const e=window.getJaegerUiConfig;if("function"!=typeof e)return haveWarnedFactoryFn||(console.warn("Embedded config not available"),haveWarnedFactoryFn=!0),{...defaultConfig$1};const t=e();if(!t)return{...defaultConfig$1};Array.isArray(deprecations)&&(deprecations.forEach((e=>processDeprecation(t,e,!haveWarnedDeprecations))),haveWarnedDeprecations=!0);const r={...defaultConfig$1,...t},a=mergeFields;for(let n=0;ngetUrl$1(e.traceDiff),matches:matches$4,text:"Compare"}];function getItem$1(e){const{label:t,anchorTarget:r,url:a}=e,n=jsxRuntimeExports.jsx("a",{href:a,target:r||"_blank",rel:"noopener noreferrer",children:t});return jsxRuntimeExports.jsx(Menu.Item,{disabled:!a,children:a?n:t},t)}function CustomNavDropdown({label:e,items:t}){const r=jsxRuntimeExports.jsx(Menu,{children:t.map(getItem$1)});return jsxRuntimeExports.jsx(Dropdown,{overlay:r,placement:"bottomRight",children:jsxRuntimeExports.jsxs("a",{children:[e," ",jsxRuntimeExports.jsx(Icon$1,{type:"down"})]})})}function isItem(e){return!has_1(e,"items")}function TopNavImpl(e){const{config:t,router:r}=e,{pathname:a}=r.location,n=Array.isArray(t.menu)?t.menu:[];return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs(Menu,{theme:"dark",mode:"horizontal",selectable:!1,className:"ub-right",selectedKeys:[a],children:[jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(TraceIDSearchInput$1,{})}),n.map((e=>isItem(e)?getItem$1(e):jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(CustomNavDropdown,{...e},e.label)},e.label)))]}),jsxRuntimeExports.jsxs(Menu,{theme:"dark",mode:"horizontal",selectable:!1,selectedKeys:[a],children:[jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(Link$1,{to:prefixUrl("/"),style:{fontSize:"14px",fontWeight:500},children:"JAEGER UI"})}),NAV_LINKS.map((({matches:t,to:r,text:n})=>{const i="string"==typeof r?r:r(e),o=t(a)?a:i;return jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(Link$1,{to:i,children:n})},o)}))]})]})}function mapStateToProps$d(e){return e}getConfigValue("dependencies.menuEnabled")&&NAV_LINKS.push({to:getUrl$5(),matches:matches$8,text:"System Architecture"}),getConfigValue("deepDependencies.menuEnabled")&&NAV_LINKS.push({to:getUrl$4(),matches:matches$7,text:"Service Dependencies"}),getConfigValue("qualityMetrics.menuEnabled")&&NAV_LINKS.push({to:getUrl$3(),matches:matches$6,text:getConfigValue("qualityMetrics.menuLabel")}),getConfigValue("monitor.menuEnabled")&&NAV_LINKS.push({to:getUrl(),matches:matches$3,text:"Monitor"}),TopNavImpl.CustomNavDropdown=CustomNavDropdown;const TopNav=withRouter$1(connect$3(mapStateToProps$d)(TopNavImpl));function warn$2(e){console.warn("[react-ga]",e)}function _typeof$L(e){return _typeof$L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$L(e)}var _excluded$1=["to","target"];function ownKeys$c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _objectSpread$c(e){for(var t=1;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose$5(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function _classCallCheck$1y(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$M(e,t){for(var r=0;r0&&t+e.length!==r.length&&e.search(smallWords)>-1&&":"!==r.charAt(t-2)&&("-"!==r.charAt(t+e.length)||"-"===r.charAt(t-1))&&r.charAt(t-1).search(/[^\s-]/)<0?e.toLowerCase():e.substr(1).search(/[A-Z]|\../)>-1?e:e.charAt(0).toUpperCase()+e.substr(1)}))}function format$2(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e||"";return arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(r=toTitleCase$1(e)),t&&(r=redactEmail(r)),r}function removeLeadingSlash(e){return"/"===e.substring(0,1)?e.substring(1):e}var isLoaded=!1;function loadGA(e){if(!isLoaded){isLoaded=!0;var t="https://www.google-analytics.com/analytics.js";e&&e.gaAddress?t=e.gaAddress:e&&e.debug&&(t="https://www.google-analytics.com/analytics_debug.js");var r=e&&e.onerror;!function(e,t,a,n,i,o,l){e.GoogleAnalyticsObject=i,e[i]=e[i]||function(){(e[i].q=e[i].q||[]).push(arguments)},e[i].l=1*new Date,o=t.createElement(a),l=t.getElementsByTagName(a)[0],o.async=1,o.src=n,o.onerror=r,l.parentNode.insertBefore(o,l)}(window,document,"script",t,"ga")}}function log$1(e){console.info("[react-ga]",e)}var gaCalls=[];const TestModeAPI={calls:gaCalls,ga:function(){for(var e=arguments.length,t=new Array(e),r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose$4(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function ownKeys$b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _objectSpread$b(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r1?t-1:0),a=1;a0&&(internalGa.apply(void 0,t),_debug&&(log$1("called ga('arguments');"),log$1("with arguments: ".concat(JSON.stringify(t))))),window.ga}function set$4(e,t){e?"object"===_typeof$K(e)?(0===Object.keys(e).length&&warn$2("empty `fieldsObject` given to .set()"),_gaCommand(t,"set",e),_debug&&(log$1("called ga('set', fieldsObject);"),log$1("with fieldsObject: ".concat(JSON.stringify(e))))):warn$2("Expected `fieldsObject` arg to be an Object"):warn$2("`fieldsObject` is required in .set()")}function send(e,t){_gaCommand(t,"send",e),_debug&&(log$1("called ga('send', fieldObject);"),log$1("with fieldObject: ".concat(JSON.stringify(e))),log$1("with trackers: ".concat(JSON.stringify(t))))}function pageview(e,t,r){if(e){var a=trim$3(e);if(""!==a){var n={};if(r&&(n.title=r),"function"==typeof ga&&(_gaCommand(t,"send",_objectSpread$b({hitType:"pageview",page:a},n)),_debug)){log$1("called ga('send', 'pageview', path);");var i="";r&&(i=" and title: ".concat(r)),log$1("with path: ".concat(a).concat(i))}}else warn$2("path cannot be an empty string in .pageview()")}else warn$2("path is required in .pageview()")}function modalview(e,t){if(e){var r=removeLeadingSlash(trim$3(e));if(""!==r){if("function"==typeof ga){var a="/modal/".concat(r);_gaCommand(t,"send","pageview",a),_debug&&(log$1("called ga('send', 'pageview', path);"),log$1("with path: ".concat(a)))}}else warn$2("modalName cannot be an empty string or a single / in .modalview()")}else warn$2("modalName is required in .modalview(modalName)")}function timing(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,r=e.variable,a=e.value,n=e.label,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if("function"==typeof ga){if(!t||!r||"number"!=typeof a)return void warn$2("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number");var o={hitType:"timing",timingCategory:_format(t),timingVar:_format(r),timingValue:a};n&&(o.timingLabel=_format(n)),send(o,i)}}function event$1(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,r=e.action,a=e.label,n=e.value,i=e.nonInteraction,o=e.transport,l=_objectWithoutProperties$7(e,_excluded),s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if("function"==typeof ga){if(!t||!r)return void warn$2("args.category AND args.action are required in event()");var c={hitType:"event",eventCategory:_format(t),eventAction:_format(r)};a&&(c.eventLabel=_format(a)),void 0!==n&&("number"!=typeof n?warn$2("Expected `args.value` arg to be a Number."):c.eventValue=n),void 0!==i&&("boolean"!=typeof i?warn$2("`args.nonInteraction` must be a boolean."):c.nonInteraction=i),void 0!==o&&("string"!=typeof o?warn$2("`args.transport` must be a string."):(-1===["beacon","xhr","image"].indexOf(o)&&warn$2("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),c.transport=o)),Object.keys(l).filter((function(e){return"dimension"===e.substr(0,9)})).forEach((function(e){c[e]=l[e]})),Object.keys(l).filter((function(e){return"metric"===e.substr(0,6)})).forEach((function(e){c[e]=l[e]})),send(c,s)}}function exception(e,t){var r=e.description,a=e.fatal;if("function"==typeof ga){var n={hitType:"exception"};r&&(n.exDescription=_format(r)),void 0!==a&&("boolean"!=typeof a?warn$2("`args.fatal` must be a boolean."):n.exFatal=a),send(n,t)}}var plugin={require:function(e,t,r){if("function"==typeof ga){if(!e)return void warn$2("`name` is required in .require()");var a=trim$3(e);if(""===a)return void warn$2("`name` cannot be an empty string in .require()");var n=r?"".concat(r,".require"):"require";if(t){if("object"!==_typeof$K(t))return void warn$2("Expected `options` arg to be an Object");0===Object.keys(t).length&&warn$2("Empty `options` given to .require()"),ga(n,a,t),_debug&&log$1("called ga('require', '".concat(a,"', ").concat(JSON.stringify(t)))}else ga(n,a),_debug&&log$1("called ga('require', '".concat(a,"');"))}},execute:function(e,t){for(var r,a,n=arguments.length,i=new Array(n>2?n-2:0),o=2;o0){var l=r(a,this);~l?a.splice(l+1):a.push(this),~l?n.splice(l,1/0,i):n.push(i),~r(a,o)&&(o=t.call(this,i,o))}else a.push(o);return null==e?o instanceof Error?function(e){var t={stack:e.stack,message:e.message,name:e.name};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}(o):o:e.call(this,i,o)}}(e.exports=function(e,t,r,n){return JSON.stringify(e,a(t,n),r)}).getSerialize=a}(stringify$2);var stringify$1=stringifyExports,_window$3="undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{};function isObject$g(e){return"object"==typeof e&&null!==e}function isError$2(e){switch(Object.prototype.toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function isErrorEvent$1(e){return"[object ErrorEvent]"===Object.prototype.toString.call(e)}function isDOMError$1(e){return"[object DOMError]"===Object.prototype.toString.call(e)}function isDOMException$1(e){return"[object DOMException]"===Object.prototype.toString.call(e)}function isUndefined$2(e){return void 0===e}function isFunction$6(e){return"function"==typeof e}function isPlainObject$4(e){return"[object Object]"===Object.prototype.toString.call(e)}function isString$3(e){return"[object String]"===Object.prototype.toString.call(e)}function isArray$c(e){return"[object Array]"===Object.prototype.toString.call(e)}function isEmptyObject$1(e){if(!isPlainObject$4(e))return!1;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function supportsErrorEvent(){try{return new ErrorEvent(""),!0}catch(e){return!1}}function supportsDOMError(){try{return new DOMError(""),!0}catch(e){return!1}}function supportsDOMException(){try{return new DOMException(""),!0}catch(e){return!1}}function supportsFetch$1(){if(!("fetch"in _window$3))return!1;try{return new Headers,new Request(""),new Response,!0}catch(e){return!1}}function supportsReferrerPolicy$1(){if(!supportsFetch$1())return!1;try{return new Request("pickleRick",{referrerPolicy:"origin"}),!0}catch(e){return!1}}function supportsPromiseRejectionEvent(){return"function"==typeof PromiseRejectionEvent}function wrappedCallback(e){return function(t,r){var a=e(t)||t;return r&&r(a)||a}}function each$a(e,t){var r,a;if(isUndefined$2(e.length))for(r in e)hasKey$1(e,r)&&t.call(null,r,e[r]);else if(a=e.length)for(r=0;r1&&n+3*r.length+t.length>=80);)r.push(t),n+=t.length,e=e.parentNode;return r.reverse().join(" > ")}function htmlElementAsString(e){var t,r,a,n,i,o=[];if(!e||!e.tagName)return"";if(o.push(e.tagName.toLowerCase()),e.id&&o.push("#"+e.id),(t=e.className)&&isString$3(t))for(r=t.split(/\s+/),i=0;ir?serializeException$1(e,t-1):a}function serializeKeysForMessage$1(e,t){if("number"==typeof e||"string"==typeof e)return e.toString();if(!Array.isArray(e))return"";if(e=e.filter((function(e){return"string"==typeof e})),0===e.length)return"[object has no keys]";if(t="number"!=typeof t?MAX_SERIALIZE_KEYS_LENGTH:t,e[0].length>=t)return e[0];for(var r=e.length;r>0;r--){var a=e.slice(0,r).join(", ");if(!(a.length>t))return r===e.length?a:a+"…"}return""}function sanitize$1(e,t){if(!isArray$c(t)||isArray$c(t)&&0===t.length)return e;var r,a=joinRegExp$1(t);try{r=JSON.parse(stringify$1(e))}catch(n){return e}return function e(t){return isArray$c(t)?t.map((function(t){return e(t)})):isPlainObject$4(t)?Object.keys(t).reduce((function(r,n){return a.test(n)?r[n]="********":r[n]=e(t[n]),r}),{}):t}(r)}var utils$6={isObject:isObject$g,isError:isError$2,isErrorEvent:isErrorEvent$1,isDOMError:isDOMError$1,isDOMException:isDOMException$1,isUndefined:isUndefined$2,isFunction:isFunction$6,isPlainObject:isPlainObject$4,isString:isString$3,isArray:isArray$c,isEmptyObject:isEmptyObject$1,supportsErrorEvent:supportsErrorEvent,supportsDOMError:supportsDOMError,supportsDOMException:supportsDOMException,supportsFetch:supportsFetch$1,supportsReferrerPolicy:supportsReferrerPolicy$1,supportsPromiseRejectionEvent:supportsPromiseRejectionEvent,wrappedCallback:wrappedCallback,each:each$a,objectMerge:objectMerge$1,truncate:truncate$2,objectFrozen:objectFrozen$1,hasKey:hasKey$1,joinRegExp:joinRegExp$1,urlencode:urlencode$1,uuid4:uuid4$1,htmlTreeAsString:htmlTreeAsString$1,htmlElementAsString:htmlElementAsString,isSameException:isSameException$1,isSameStacktrace:isSameStacktrace$1,parseUrl:parseUrl$1,fill:fill$1,safeJoin:safeJoin,serializeException:serializeException$1,serializeKeysForMessage:serializeKeysForMessage$1,sanitize:sanitize$1},utils$5=utils$6,TraceKit$1={collectWindowErrors:!0,debug:!1},_window$2="undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{},_slice=[].slice,UNKNOWN_FUNCTION="?",ERROR_TYPES_RE=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function getLocationHref(){return"undefined"==typeof document||null==document.location?"":document.location.href}function getLocationOrigin(){return"undefined"==typeof document||null==document.location?"":document.location.origin?document.location.origin:document.location.protocol+"//"+document.location.hostname+(document.location.port?":"+document.location.port:"")}TraceKit$1.report=function(){var e,t,r=[],a=null,n=null,i=null;function o(e,t){var a=null;if(!t||TraceKit$1.collectWindowErrors){for(var n in r)if(r.hasOwnProperty(n))try{r[n].apply(null,[e].concat(_slice.call(arguments,2)))}catch(i){a=i}if(a)throw a}}function l(t,r,a,n,l){var c=utils$5.isErrorEvent(l)?l.error:l,u=utils$5.isErrorEvent(t)?t.message:t;if(i)TraceKit$1.computeStackTrace.augmentStackTraceWithInitialElement(i,r,a,u),s();else if(c&&utils$5.isError(c))o(TraceKit$1.computeStackTrace(c),!0);else{var f,A={url:r,line:a,column:n},d=void 0;if("[object String]"==={}.toString.call(u))(f=u.match(ERROR_TYPES_RE))&&(d=f[1],u=f[2]);A.func=UNKNOWN_FUNCTION,o({name:d,message:u,url:getLocationHref(),stack:[A]},!0)}return!!e&&e.apply(this,arguments)}function s(){var e=i,t=a;a=null,i=null,n=null,o.apply(null,[e,!1].concat(t))}function c(e,t){var r=_slice.call(arguments,1);if(i){if(n===e)return;s()}var o=TraceKit$1.computeStackTrace(e);if(i=o,n=e,a=r,setTimeout((function(){n===e&&s()}),o.incomplete?2e3:0),!1!==t)throw e}return c.subscribe=function(a){!function(){if(t)return;e=_window$2.onerror,_window$2.onerror=l,t=!0}(),r.push(a)},c.unsubscribe=function(e){for(var t=r.length-1;t>=0;--t)r[t]===e&&r.splice(t,1)},c.uninstall=function(){!function(){if(!t)return;_window$2.onerror=e,t=!1,e=void 0}(),r=[]},c}(),TraceKit$1.computeStackTrace=function(){function t(e){if(void 0!==e.stack&&e.stack){var t,r,a,n=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack||[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,i=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx(?:-web)|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,o=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,l=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,s=/\((\S*)(?::(\d+))(?::(\d+))\)/,c=e.stack.split("\n"),u=[];/^(.*) is undefined$/.exec(e.message);for(var f=0,A=c.length;f eval")>-1&&(t=l.exec(r[3]))?(r[3]=t[1],r[4]=t[2],r[5]=null):0!==f||r[5]||void 0===e.columnNumber||(u[0].column=e.columnNumber+1),a={url:r[3],func:r[1]||UNKNOWN_FUNCTION,args:r[2]?r[2].split(","):[],line:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}if(!a.func&&a.line&&(a.func=UNKNOWN_FUNCTION),a.url&&"blob:"===a.url.substr(0,5)){var p=new XMLHttpRequest;if(p.open("GET",a.url,!1),p.send(null),200===p.status){var h=p.responseText||"",b=(h=h.slice(-300)).match(/\/\/# sourceMappingURL=(.*)$/);if(b){var g=b[1];"~"===g.charAt(0)&&(g=getLocationOrigin()+g.slice(1)),a.url=g.slice(0,-4)}}}u.push(a)}return u.length?{name:e.name,message:e.message,url:getLocationHref(),stack:u}:null}}function r(e,t,r,a){var n={url:t,line:r};if(n.url&&n.line){if(e.incomplete=!1,n.func||(n.func=UNKNOWN_FUNCTION),e.stack.length>0&&e.stack[0].url===n.url){if(e.stack[0].line===n.line)return!1;if(!e.stack[0].line&&e.stack[0].func===n.func)return e.stack[0].line=n.line,!1}return e.stack.unshift(n),e.partial=!0,!0}return e.incomplete=!0,!1}function a(t,i){for(var o,l,s=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,c=[],u={},f=!1,A=a.caller;A&&!f;A=A.caller)if(A!==n&&A!==TraceKit$1.report){if(l={url:null,func:UNKNOWN_FUNCTION,line:null,column:null},A.name?l.func=A.name:(o=s.exec(A.toString()))&&(l.func=o[1]),void 0===l.func)try{l.func=o.input.substring(0,o.input.indexOf("{"))}catch(e){}u[""+A]?f=!0:u[""+A]=!0,c.push(l)}i&&c.splice(0,i);var d={name:t.name,message:t.message,url:getLocationHref(),stack:c};return r(d,t.sourceURL||t.fileName,t.line||t.lineNumber,t.message||t.description),d}function n(r,n){var i=null;n=null==n?0:+n;try{if(i=t(r))return i}catch(e){if(TraceKit$1.debug)throw e}try{if(i=a(r,n+1))return i}catch(e){if(TraceKit$1.debug)throw e}return{name:r.name,message:r.message,url:getLocationHref()}}return n.augmentStackTraceWithInitialElement=r,n.computeStackTraceFromStackProp=t,n}();var tracekit=TraceKit$1;function safeAdd(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function bitRotateLeft(e,t){return e<>>32-t}function md5cmn(e,t,r,a,n,i){return safeAdd(bitRotateLeft(safeAdd(safeAdd(t,e),safeAdd(a,i)),n),r)}function md5ff(e,t,r,a,n,i,o){return md5cmn(t&r|~t&a,e,t,n,i,o)}function md5gg(e,t,r,a,n,i,o){return md5cmn(t&a|r&~a,e,t,n,i,o)}function md5hh(e,t,r,a,n,i,o){return md5cmn(t^r^a,e,t,n,i,o)}function md5ii(e,t,r,a,n,i,o){return md5cmn(r^(t|~a),e,t,n,i,o)}function binlMD5(e,t){var r,a,n,i,o;e[t>>5]|=128<>>9<<4)]=t;var l=1732584193,s=-271733879,c=-1732584194,u=271733878;for(r=0;r>5]>>>t%32&255);return r}function rstr2binl(e){var t,r=[];for(r[(e.length>>2)-1]=void 0,t=0;t>5]|=(255&e.charCodeAt(t/8))<16&&(n=binlMD5(n,8*e.length)),r=0;r<16;r+=1)i[r]=909522486^n[r],o[r]=1549556828^n[r];return a=binlMD5(i.concat(rstr2binl(t)),512+8*t.length),binl2rstr(binlMD5(o.concat(a),640))}function rstr2hex(e){var t,r,a="0123456789abcdef",n="";for(r=0;r>>4&15)+a.charAt(15&t);return n}function str2rstrUTF8(e){return unescape(encodeURIComponent(e))}function rawMD5(e){return rstrMD5(str2rstrUTF8(e))}function hexMD5(e){return rstr2hex(rawMD5(e))}function rawHMACMD5(e,t){return rstrHMACMD5(str2rstrUTF8(e),str2rstrUTF8(t))}function hexHMACMD5(e,t){return rstr2hex(rawHMACMD5(e,t))}function md5$1(e,t,r){return t?r?rawHMACMD5(t,e):hexHMACMD5(t,e):r?rawMD5(e):hexMD5(e)}var md5_1=md5$1;function RavenConfigError$1(e){this.name="RavenConfigError",this.message=e}RavenConfigError$1.prototype=new Error,RavenConfigError$1.prototype.constructor=RavenConfigError$1;var configError=RavenConfigError$1,utils$4=utils$6,wrapMethod=function(e,t,r){var a=e[t],n=e;if(t in e){var i="warn"===t?"warning":t;e[t]=function(){var e=[].slice.call(arguments),o=utils$4.safeJoin(e," "),l={level:i,logger:"console",extra:{arguments:e}};"assert"===t?!1===e[0]&&(o="Assertion failed: "+(utils$4.safeJoin(e.slice(1)," ")||"console.assert"),l.extra.arguments=e.slice(1),r&&r(o,l)):r&&r(o,l),a&&Function.prototype.apply.call(a,n,e)}}},console$1={wrapMethod:wrapMethod},TraceKit=tracekit,stringify=stringifyExports,md5=md5_1,RavenConfigError=configError,utils$3=utils$6,isErrorEvent=utils$3.isErrorEvent,isDOMError=utils$3.isDOMError,isDOMException=utils$3.isDOMException,isError$1=utils$3.isError,isObject$f=utils$3.isObject,isPlainObject$3=utils$3.isPlainObject,isUndefined$1=utils$3.isUndefined,isFunction$5=utils$3.isFunction,isString$2=utils$3.isString,isArray$b=utils$3.isArray,isEmptyObject=utils$3.isEmptyObject,each$9=utils$3.each,objectMerge=utils$3.objectMerge,truncate$1=utils$3.truncate,objectFrozen=utils$3.objectFrozen,hasKey=utils$3.hasKey,joinRegExp=utils$3.joinRegExp,urlencode=utils$3.urlencode,uuid4=utils$3.uuid4,htmlTreeAsString=utils$3.htmlTreeAsString,isSameException=utils$3.isSameException,isSameStacktrace=utils$3.isSameStacktrace,parseUrl=utils$3.parseUrl,fill=utils$3.fill,supportsFetch=utils$3.supportsFetch,supportsReferrerPolicy=utils$3.supportsReferrerPolicy,serializeKeysForMessage=utils$3.serializeKeysForMessage,serializeException=utils$3.serializeException,sanitize=utils$3.sanitize,wrapConsoleMethod=console$1.wrapMethod,dsnKeys="source protocol user pass host port path".split(" "),dsnPattern=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;function now$6(){return+new Date}var _window$1="undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{},_document=_window$1.document,_navigator=_window$1.navigator;function keepOriginalCallback(e,t){return isFunction$5(t)?function(r){return t(r,e)}:t}function Raven$1(){for(var e in this._hasJSON=!("object"!=typeof JSON||!JSON.stringify),this._hasDocument=!isUndefined$1(_document),this._hasNavigator=!isUndefined$1(_navigator),this._lastCapturedException=null,this._lastData=null,this._lastEventId=null,this._globalServer=null,this._globalKey=null,this._globalProject=null,this._globalContext={},this._globalOptions={release:_window$1.SENTRY_RELEASE&&_window$1.SENTRY_RELEASE.id,logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],headers:null,collectWindowErrors:!0,captureUnhandledRejections:!0,maxMessageLength:0,maxUrlLength:250,stackTraceLimit:50,autoBreadcrumbs:!0,instrument:!0,sampleRate:1,sanitizeKeys:[]},this._fetchDefaults={method:"POST",referrerPolicy:supportsReferrerPolicy()?"origin":""},this._ignoreOnError=0,this._isRavenInstalled=!1,this._originalErrorStackTraceLimit=Error.stackTraceLimit,this._originalConsole=_window$1.console||{},this._originalConsoleMethods={},this._plugins=[],this._startTime=now$6(),this._wrappedBuiltIns=[],this._breadcrumbs=[],this._lastCapturedEvent=null,this._keypressTimeout,this._location=_window$1.location,this._lastHref=this._location&&this._location.href,this._resetBackoff(),this._originalConsole)this._originalConsoleMethods[e]=this._originalConsole[e]}Raven$1.prototype={VERSION:"3.27.2",debug:!1,TraceKit:TraceKit,config:function(e,t){var r=this;if(r._globalServer)return this._logDebug("error","Error: Raven has already been configured"),r;if(!e)return r;var a=r._globalOptions;t&&each$9(t,(function(e,t){"tags"===e||"extra"===e||"user"===e?r._globalContext[e]=t:a[e]=t})),r.setDSN(e),a.ignoreErrors.push(/^Script error\.?$/),a.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),a.ignoreErrors=joinRegExp(a.ignoreErrors),a.ignoreUrls=!!a.ignoreUrls.length&&joinRegExp(a.ignoreUrls),a.whitelistUrls=!!a.whitelistUrls.length&&joinRegExp(a.whitelistUrls),a.includePaths=joinRegExp(a.includePaths),a.maxBreadcrumbs=Math.max(0,Math.min(a.maxBreadcrumbs||100,100));var n={xhr:!0,console:!0,dom:!0,location:!0,sentry:!0},i=a.autoBreadcrumbs;"[object Object]"==={}.toString.call(i)?i=objectMerge(n,i):!1!==i&&(i=n),a.autoBreadcrumbs=i;var o={tryCatch:!0},l=a.instrument;return"[object Object]"==={}.toString.call(l)?l=objectMerge(o,l):!1!==l&&(l=o),a.instrument=l,TraceKit.collectWindowErrors=!!a.collectWindowErrors,r},install:function(){var e=this;return e.isSetup()&&!e._isRavenInstalled&&(TraceKit.report.subscribe((function(){e._handleOnErrorStackInfo.apply(e,arguments)})),e._globalOptions.captureUnhandledRejections&&e._attachPromiseRejectionHandler(),e._patchFunctionToString(),e._globalOptions.instrument&&e._globalOptions.instrument.tryCatch&&e._instrumentTryCatch(),e._globalOptions.autoBreadcrumbs&&e._instrumentBreadcrumbs(),e._drainPlugins(),e._isRavenInstalled=!0),Error.stackTraceLimit=e._globalOptions.stackTraceLimit,this},setDSN:function(e){var t=this,r=t._parseDSN(e),a=r.path.lastIndexOf("/"),n=r.path.substr(1,a);t._dsn=e,t._globalKey=r.user,t._globalSecret=r.pass&&r.pass.substr(1),t._globalProject=r.path.substr(a+1),t._globalServer=t._getGlobalServer(r),t._globalEndpoint=t._globalServer+"/"+n+"api/"+t._globalProject+"/store/",this._resetBackoff()},context:function(e,t,r){return isFunction$5(e)&&(r=t||[],t=e,e={}),this.wrap(e,t).apply(this,r)},wrap:function(t,r,a){var n=this;if(isUndefined$1(r)&&!isFunction$5(t))return t;if(isFunction$5(t)&&(r=t,t=void 0),!isFunction$5(r))return r;try{if(r.__raven__)return r;if(r.__raven_wrapper__)return r.__raven_wrapper__}catch(e){return r}function i(){var i=[],o=arguments.length,l=!t||t&&!1!==t.deep;for(a&&isFunction$5(a)&&a.apply(this,arguments);o--;)i[o]=l?n.wrap(t,arguments[o]):arguments[o];try{return r.apply(this,i)}catch(e){throw n._ignoreNextOnError(),n.captureException(e,t),e}}for(var o in r)hasKey(r,o)&&(i[o]=r[o]);return i.prototype=r.prototype,r.__raven_wrapper__=i,i.__raven__=!0,i.__orig__=r,i},uninstall:function(){return TraceKit.report.uninstall(),this._detachPromiseRejectionHandler(),this._unpatchFunctionToString(),this._restoreBuiltIns(),this._restoreConsole(),Error.stackTraceLimit=this._originalErrorStackTraceLimit,this._isRavenInstalled=!1,this},_promiseRejectionHandler:function(e){this._logDebug("debug","Raven caught unhandled promise rejection:",e),this.captureException(e.reason,{mechanism:{type:"onunhandledrejection",handled:!1}})},_attachPromiseRejectionHandler:function(){return this._promiseRejectionHandler=this._promiseRejectionHandler.bind(this),_window$1.addEventListener&&_window$1.addEventListener("unhandledrejection",this._promiseRejectionHandler),this},_detachPromiseRejectionHandler:function(){return _window$1.removeEventListener&&_window$1.removeEventListener("unhandledrejection",this._promiseRejectionHandler),this},captureException:function(e,t){if(t=objectMerge({trimHeadFrames:0},t||{}),isErrorEvent(e)&&e.error)e=e.error;else{if(isDOMError(e)||isDOMException(e)){var r=e.name||(isDOMError(e)?"DOMError":"DOMException"),a=e.message?r+": "+e.message:r;return this.captureMessage(a,objectMerge(t,{stacktrace:!0,trimHeadFrames:t.trimHeadFrames+1}))}if(isError$1(e));else{if(!isPlainObject$3(e))return this.captureMessage(e,objectMerge(t,{stacktrace:!0,trimHeadFrames:t.trimHeadFrames+1}));t=this._getCaptureExceptionOptionsFromPlainObject(t,e),e=new Error(t.message)}}this._lastCapturedException=e;try{var n=TraceKit.computeStackTrace(e);this._handleStackInfo(n,t)}catch(i){if(e!==i)throw i}return this},_getCaptureExceptionOptionsFromPlainObject:function(e,t){var r=Object.keys(t).sort(),a=objectMerge(e,{message:"Non-Error exception captured with keys: "+serializeKeysForMessage(r),fingerprint:[md5(r)],extra:e.extra||{}});return a.extra.__serialized__=serializeException(t),a},captureMessage:function(e,t){if(!this._globalOptions.ignoreErrors.test||!this._globalOptions.ignoreErrors.test(e)){var r,a=objectMerge({message:e+=""},t=t||{});try{throw new Error(e)}catch(s){r=s}r.name=null;var n=TraceKit.computeStackTrace(r),i=isArray$b(n.stack)&&n.stack[1];i&&"Raven.captureException"===i.func&&(i=n.stack[2]);var o=i&&i.url||"";if((!this._globalOptions.ignoreUrls.test||!this._globalOptions.ignoreUrls.test(o))&&(!this._globalOptions.whitelistUrls.test||this._globalOptions.whitelistUrls.test(o))){if(this._globalOptions.stacktrace||t.stacktrace||""===a.message){a.fingerprint=null==a.fingerprint?e:a.fingerprint,(t=objectMerge({trimHeadFrames:0},t)).trimHeadFrames+=1;var l=this._prepareFrames(n,t);a.stacktrace={frames:l.reverse()}}return a.fingerprint&&(a.fingerprint=isArray$b(a.fingerprint)?a.fingerprint:[a.fingerprint]),this._send(a),this}}},captureBreadcrumb:function(e){var t=objectMerge({timestamp:now$6()/1e3},e);if(isFunction$5(this._globalOptions.breadcrumbCallback)){var r=this._globalOptions.breadcrumbCallback(t);if(isObject$f(r)&&!isEmptyObject(r))t=r;else if(!1===r)return this}return this._breadcrumbs.push(t),this._breadcrumbs.length>this._globalOptions.maxBreadcrumbs&&this._breadcrumbs.shift(),this},addPlugin:function(e){var t=[].slice.call(arguments,1);return this._plugins.push([e,t]),this._isRavenInstalled&&this._drainPlugins(),this},setUserContext:function(e){return this._globalContext.user=e,this},setExtraContext:function(e){return this._mergeContext("extra",e),this},setTagsContext:function(e){return this._mergeContext("tags",e),this},clearContext:function(){return this._globalContext={},this},getContext:function(){return JSON.parse(stringify(this._globalContext))},setEnvironment:function(e){return this._globalOptions.environment=e,this},setRelease:function(e){return this._globalOptions.release=e,this},setDataCallback:function(e){var t=this._globalOptions.dataCallback;return this._globalOptions.dataCallback=keepOriginalCallback(t,e),this},setBreadcrumbCallback:function(e){var t=this._globalOptions.breadcrumbCallback;return this._globalOptions.breadcrumbCallback=keepOriginalCallback(t,e),this},setShouldSendCallback:function(e){var t=this._globalOptions.shouldSendCallback;return this._globalOptions.shouldSendCallback=keepOriginalCallback(t,e),this},setTransport:function(e){return this._globalOptions.transport=e,this},lastException:function(){return this._lastCapturedException},lastEventId:function(){return this._lastEventId},isSetup:function(){return!!this._hasJSON&&(!!this._globalServer||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this._logDebug("error","Error: Raven has not been configured.")),!1))},afterLoad:function(){var e=_window$1.RavenConfig;e&&this.config(e.dsn,e.config).install()},showReportDialog:function(e){if(_document){if(!(e=objectMerge({eventId:this.lastEventId(),dsn:this._dsn,user:this._globalContext.user||{}},e)).eventId)throw new RavenConfigError("Missing eventId");if(!e.dsn)throw new RavenConfigError("Missing DSN");var t=encodeURIComponent,r=[];for(var a in e)if("user"===a){var n=e.user;n.name&&r.push("name="+t(n.name)),n.email&&r.push("email="+t(n.email))}else r.push(t(a)+"="+t(e[a]));var i=this._getGlobalServer(this._parseDSN(e.dsn)),o=_document.createElement("script");o.async=!0,o.src=i+"/api/embed/error-page/?"+r.join("&"),(_document.head||_document.body).appendChild(o)}},_ignoreNextOnError:function(){var e=this;this._ignoreOnError+=1,setTimeout((function(){e._ignoreOnError-=1}))},_triggerEvent:function(t,r){var a,n;if(this._hasDocument){for(n in r=r||{},t="raven"+t.substr(0,1).toUpperCase()+t.substr(1),_document.createEvent?(a=_document.createEvent("HTMLEvents")).initEvent(t,!0,!0):(a=_document.createEventObject()).eventType=t,r)hasKey(r,n)&&(a[n]=r[n]);if(_document.createEvent)_document.dispatchEvent(a);else try{_document.fireEvent("on"+a.eventType.toLowerCase(),a)}catch(e){}}},_breadcrumbEventHandler:function(t){var r=this;return function(a){if(r._keypressTimeout=null,r._lastCapturedEvent!==a){var n;r._lastCapturedEvent=a;try{n=htmlTreeAsString(a.target)}catch(e){n=""}r.captureBreadcrumb({category:"ui."+t,message:n})}}},_keypressEventHandler:function(){var t=this;return function(r){var a;try{a=r.target}catch(e){return}var n=a&&a.tagName;if(n&&("INPUT"===n||"TEXTAREA"===n||a.isContentEditable)){var i=t._keypressTimeout;i||t._breadcrumbEventHandler("input")(r),clearTimeout(i),t._keypressTimeout=setTimeout((function(){t._keypressTimeout=null}),1e3)}}},_captureUrlChange:function(e,t){var r=parseUrl(this._location.href),a=parseUrl(t),n=parseUrl(e);this._lastHref=t,r.protocol===a.protocol&&r.host===a.host&&(t=a.relative),r.protocol===n.protocol&&r.host===n.host&&(e=n.relative),this.captureBreadcrumb({category:"navigation",data:{to:t,from:e}})},_patchFunctionToString:function(){var e=this;e._originalFunctionToString=Function.prototype.toString,Function.prototype.toString=function(){return"function"==typeof this&&this.__raven__?e._originalFunctionToString.apply(this.__orig__,arguments):e._originalFunctionToString.apply(this,arguments)}},_unpatchFunctionToString:function(){this._originalFunctionToString&&(Function.prototype.toString=this._originalFunctionToString)},_instrumentTryCatch:function(){var t=this,r=t._wrappedBuiltIns;function a(e){return function(r,a){for(var n=new Array(arguments.length),i=0;i"}}},o)),e.apply?e.apply(this,n):e(n[0],n[1])}}var n=this._globalOptions.autoBreadcrumbs;function i(a){var i=_window$1[a]&&_window$1[a].prototype;i&&i.hasOwnProperty&&i.hasOwnProperty("addEventListener")&&(fill(i,"addEventListener",(function(r){return function(i,o,l,s){try{o&&o.handleEvent&&(o.handleEvent=t.wrap({mechanism:{type:"instrument",data:{target:a,function:"handleEvent",handler:o&&o.name||""}}},o.handleEvent))}catch(err){}var c,u,f;return n&&n.dom&&("EventTarget"===a||"Node"===a)&&(u=t._breadcrumbEventHandler("click"),f=t._keypressEventHandler(),c=function(t){if(t){var r;try{r=t.type}catch(e){return}return"click"===r?u(t):"keypress"===r?f(t):void 0}}),r.call(this,i,t.wrap({mechanism:{type:"instrument",data:{target:a,function:"addEventListener",handler:o&&o.name||""}}},o,c),l,s)}}),r),fill(i,"removeEventListener",(function(t){return function(r,a,n,i){try{a=a&&(a.__raven_wrapper__?a.__raven_wrapper__:a)}catch(e){}return t.call(this,r,a,n,i)}}),r))}fill(_window$1,"setTimeout",a,r),fill(_window$1,"setInterval",a,r),_window$1.requestAnimationFrame&&fill(_window$1,"requestAnimationFrame",(function(e){return function(r){return e(t.wrap({mechanism:{type:"instrument",data:{function:"requestAnimationFrame",handler:e&&e.name||""}}},r))}}),r);for(var o=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],l=0;l"}}},r)}))}if(r.xhr&&"XMLHttpRequest"in _window$1){var i=_window$1.XMLHttpRequest&&_window$1.XMLHttpRequest.prototype;fill(i,"open",(function(e){return function(r,a){return isString$2(a)&&-1===a.indexOf(t._globalKey)&&(this.__raven_xhr={method:r,url:a,status_code:null}),e.apply(this,arguments)}}),a),fill(i,"send",(function(r){return function(){var a=this;function i(){if(a.__raven_xhr&&4===a.readyState){try{a.__raven_xhr.status_code=a.status}catch(e){}t.captureBreadcrumb({type:"http",category:"xhr",data:a.__raven_xhr})}}for(var o=["onload","onerror","onprogress"],l=0;l"}}},e,i)})):a.onreadystatechange=i,r.apply(this,arguments)}}),a)}r.xhr&&supportsFetch()&&fill(_window$1,"fetch",(function(e){return function(){for(var r=new Array(arguments.length),a=0;a2?arguments[2]:void 0;return r&&t._captureUrlChange(t._lastHref,r+""),e.apply(this,arguments)}};fill(_window$1.history,"pushState",c,a),fill(_window$1.history,"replaceState",c,a)}if(r.console&&"console"in _window$1&&console.log){var u=function(e,r){t.captureBreadcrumb({message:e,level:r.level,category:"console"})};each$9(["debug","info","warn","error","log"],(function(e,t){wrapConsoleMethod(console,t,u)}))}},_restoreBuiltIns:function(){for(var e;this._wrappedBuiltIns.length;){var t=(e=this._wrappedBuiltIns.shift())[0],r=e[1],a=e[2];t[r]=a}},_restoreConsole:function(){for(var e in this._originalConsoleMethods)this._originalConsole[e]=this._originalConsoleMethods[e]},_drainPlugins:function(){var e=this;each$9(this._plugins,(function(t,r){var a=r[0],n=r[1];a.apply(e,[e].concat(n))}))},_parseDSN:function(t){var r=dsnPattern.exec(t),a={},n=7;try{for(;n--;)a[dsnKeys[n]]=r[n]||""}catch(e){throw new RavenConfigError("Invalid DSN: "+t)}if(a.pass&&!this._globalOptions.allowSecretKey)throw new RavenConfigError("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return a},_getGlobalServer:function(e){var t="//"+e.host+(e.port?":"+e.port:"");return e.protocol&&(t=e.protocol+":"+t),t},_handleOnErrorStackInfo:function(e,t){(t=t||{}).mechanism=t.mechanism||{type:"onerror",handled:!1},this._ignoreOnError||this._handleStackInfo(e,t)},_handleStackInfo:function(e,t){var r=this._prepareFrames(e,t);this._triggerEvent("handle",{stackInfo:e,options:t}),this._processException(e.name,e.message,e.url,e.lineno,r,t)},_prepareFrames:function(e,t){var r=this,a=[];if(e.stack&&e.stack.length&&(each$9(e.stack,(function(t,n){var i=r._normalizeFrame(n,e.url);i&&a.push(i)})),t&&t.trimHeadFrames))for(var n=0;n0&&(e.breadcrumbs={values:[].slice.call(this._breadcrumbs,0)}),this._globalContext.user&&(e.user=this._globalContext.user),t.environment&&(e.environment=t.environment),t.release&&(e.release=t.release),t.serverName&&(e.server_name=t.serverName),e=this._sanitizeData(e),Object.keys(e).forEach((function(t){(null==e[t]||""===e[t]||isEmptyObject(e[t]))&&delete e[t]})),isFunction$5(t.dataCallback)&&(e=t.dataCallback(e)||e),e&&!isEmptyObject(e)&&(isFunction$5(t.shouldSendCallback)&&!t.shouldSendCallback(e)||(this._shouldBackoff()?this._logDebug("warn","Raven dropped error due to backoff: ",e):"number"==typeof t.sampleRate?Math.random()t?r?`~${e.slice(1-t)}`:`${e.slice(0,t-1)}~`:e}function collapseWhitespace(e){return e.trim().replace(/\n/g,"|").replace(/\s\s+/g," ").trim()}function getSym(e,t){for(let r=0;r-1){const e=r.slice(0,n).replace(/error/i,"").trim();e&&a.push(e,"! "),r=r.slice(n+1)}a.push(r.trim());const i=a.join("");return t?truncate(i,t):a.join("")}function convException(e){const t=convErrorMessage(`${e.type}: ${e.value}`,149),r=e.stacktrace.frames.map((e=>({filename:e.filename.replace(origin,"").replace(/^\/static\/js\//i,""),fn:collapseWhitespace(e.function||"??")}))),a=[];let n="";for(let i=r.length-1;i>=0;i--){const{filename:e,fn:t}=r[i];n!==e&&(a.push(`> ${e}`),n=e),a.push(t)}return{message:t,stack:a.join("\n")}}function convNav(e){return getSym(NAV_SYMBOLS,e).sym}function convFetch(e){const{url:t,status_code:r}=e,a=200===r?"":`|${r}`,n=getSym(FETCH_SYMBOLS,t);return"__IGNORE__"===n.sym?null:`[${n.sym}${a}]`}function compressCssSelector(e){return e.replace(/\.(?=\s|$)/g,"").replace(/\.ub-[^. [:]+/g,"").replace(/^(\w+ > )+/,"").replace(/(^| )\w+?(?=\.)/g,"$1").replace(/ > /g," >")}function convBreadcrumbs(e){if(!Array.isArray(e)||!e.length)return"";let t=-1;for(let l=e.length-1;l>=0;l--)if("ui"===e[l].category.slice(0,2)){t=l;break}let r=[],a=!0;for(let l=0;l(t===n||(n&&(r-i>1&&e.push(String(r-i)),n="",i=-1),e.push(t),1===t.length&&(n=t,i=r)),e)),[]);return n&&i!==r.length-1&&o.push(String(r.length-i)),o.join("").trim().replace(/\n\n\n/g,"\n")}function getLabel(e,t,r,a,n){const i=[e,t,r,a,""].filter((e=>null!=e)).join("\n");return`${i}\n${truncate(convBreadcrumbs(n),498-i.length,!0)}`}function convRavenToGa({data:e}){const{breadcrumbs:t,exception:r,extra:a,request:n,tags:i}=e,{message:o,stack:l}=convException(r.values[0]),s=truncate(n.url.replace(origin,""),50),{word:c}=getSym(NAV_SYMBOLS,s),u=Math.round(a["session:duration"]/1e3),f=`jaeger/${c}/error`;let A=[o,i&&i.git,s,"",l].filter((e=>null!=e)).join("\n");A=truncate(A,499);return{message:o,category:f,action:A,label:getLabel(o,c,u,i&&i.git,t&&t.values),value:u}}const logTrackingCalls=()=>{const e=ReactGA.testModeAPI.calls;for(let t=0;tBoolean(e)&&"0"!==e&&"false"!==e,GA=(e,t,r)=>{const a=getAppEnvironment(),n="production"===a,i="test"===a,o="development"===a&&isTruish(shouldDebugGoogleAnalytics())||isTruish(queryString.parse(get_1$1(window,"location.search"))["ga-debug"]),l=get_1$1(e,"tracking.gaID"),s=o||Boolean(get_1$1(e,"tracking.trackErrors")),c=get_1$1(e,"tracking.cookiesToDimensions"),u=499,f=149,A=()=>i||o||n&&Boolean(l),d=e=>{let t=e;/^jaeger/i.test(t)||(t=`jaeger/${t}`),t=t.slice(0,149),ReactGA.exception({description:t,fatal:!1}),o&&logTrackingCalls()},p=(e,t,r,a)=>{const n={category:/^jaeger/i.test(e)?e.slice(0,f):`jaeger/${e}`.slice(0,f),action:t.slice(0,u)};null!=r&&("string"==typeof r?n.label=r.slice(0,u):n.value=Math.round(r)),null!=a&&(n.value=Math.round(a)),ReactGA.event(n),o&&logTrackingCalls()},h=e=>{const{message:t,category:r,action:a,label:n,value:i}=convRavenToGa(e);d(t),p(r,a,n,i)};return{isEnabled:A,init:()=>{if(!A())return;const e={testMode:o,titleCase:!1,debug:!0};if(ReactGA.initialize(l||"debug-mode",e),ReactGA.set({appId:"github.com/jaegertracing/jaeger-ui",appName:"Jaeger UI",appVersion:r}),void 0!==c&&c.forEach((({cookie:e,dimension:t})=>{const r=` ${document.cookie}`.match(new RegExp(`[; ]${e}=([^\\s;]*)`));r?ReactGA.set({[t]:r[1]}):console.warn(`${e} not present in cookies, could not set dimension: ${t}`)})),s){const e={autoBreadcrumbs:{xhr:!0,console:!1,dom:!0,location:!0},environment:getAppEnvironment(),transport:h};t&&"unknown"!==t&&(e.tags={git:t}),singletonExports.config("https://fakedsn@omg.com/1",e).install(),window.onunhandledrejection=function(e){singletonExports.captureException(e.reason)}}o&&logTrackingCalls()},context:s?singletonExports:null,trackPageView:(e,t)=>{const r=t?`${e}${t}`:e;ReactGA.pageview(r),o&&logTrackingCalls()},trackError:d,trackEvent:p}},NoopWebAnalytics=()=>({init:()=>{},trackPageView:()=>{},trackError:()=>{},trackEvent:()=>{},context:null,isEnabled:()=>!1}),TrackingImplementation=()=>{const e=getConfig();let t,r;const a=getVersionInfo();try{const e=JSON.parse(a),n=[e.objName];e.changed.hasChanged&&n.push(e.changed.pretty),t=n.join(" "),r=e.pretty}catch(_){t=a,r=a}r=r.length>99?`${r.slice(0,96)}...`:r;let n=NoopWebAnalytics;e.tracking&&e.tracking.customWebAnalytics?n=e.tracking.customWebAnalytics:e.tracking&&e.tracking.gaID&&(n=GA);const i=n(e,t,r);return i.init(),i},tracker=TrackingImplementation();function trackPageView(e,t){return tracker.trackPageView(e,t)}function trackEvent(e,t,r,a){return tracker.trackEvent(e,t,r,a)}const context$2=tracker.context,isWaEnabled=tracker.isEnabled(),Page$1="",{Header:Header$3,Content:Content}=Layout$1;class PageImpl extends reactExports.Component{componentDidMount(){const{pathname:e,search:t}=this.props;trackPageView(e,t)}componentDidUpdate(e){const{pathname:t,search:r}=e,{pathname:a,search:n}=this.props;t===a&&r===n||trackPageView(a,n)}render(){const{embedded:e}=this.props,t=classnamesExports({"Page--content":!0,"Page--content--no-embedded":!e});return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(HelmetExport,{title:"Jaeger UI"}),jsxRuntimeExports.jsxs(Layout$1,{children:[!e&&jsxRuntimeExports.jsx(Header$3,{className:"Page--topNav",children:jsxRuntimeExports.jsx(TopNav,{})}),jsxRuntimeExports.jsx(Content,{className:t,children:this.props.children})]})]})}}function mapStateToProps$c(e){const{embedded:t}=e,{pathname:r,search:a}=e.router.location;return{embedded:t,pathname:r,search:a}}const Page=withRouter$1(connect$3(mapStateToProps$c)(PageImpl)),index$I="",KeyCode={LEFT:37,UP:38,RIGHT:39,DOWN:40};function toArray$4(e){var t=[];return React$k.Children.forEach(e,(function(e){e&&t.push(e)})),t}function getActiveIndex(e,t){for(var r=toArray$4(e),a=0;a2&&void 0!==arguments[2]?arguments[2]:"ltr",a=isVertical(t)?"translateY":"translateX";return isVertical(t)||"rtl"!==r?a+"("+100*-e+"%) translateZ(0)":a+"("+100*e+"%) translateZ(0)"}function getMarginStyle(e,t){var r=isVertical(t)?"marginTop":"marginLeft";return _default$e({},r,100*-e+"%")}function getStyle(e,t){return+window.getComputedStyle(e).getPropertyValue(t).replace("px","")}function getDataAttr(e){return Object.keys(e).reduce((function(t,r){return"aria-"!==r.substr(0,5)&&"data-"!==r.substr(0,5)&&"role"!==r||(t[r]=e[r]),t}),{})}function toNum(e,t){return+e.getPropertyValue(t).replace("px","")}function getTypeValue(e,t,r,a,n){var i=getStyle(n,"padding-"+e);if(!a||!a.parentNode)return i;var o=a.parentNode.childNodes;return Array.prototype.some.call(o,(function(n){var o=window.getComputedStyle(n);return n!==a?(i+=toNum(o,"margin-"+e),i+=n[t],i+=toNum(o,"margin-"+r),"content-box"===o.boxSizing&&(i+=toNum(o,"border-"+e+"-width")+toNum(o,"border-"+r+"-width")),!1):(i+=toNum(o,"margin-"+e),!0)})),i}function getLeft(e,t){return getTypeValue("left","offsetWidth","right",e,t)}function getTop(e,t){return getTypeValue("top","offsetHeight","bottom",e,t)}var SentinelContext=createReactContext({}),SentinelProvider=SentinelContext.Provider,SentinelConsumer=SentinelContext.Consumer,sentinelStyle={width:0,height:0,overflow:"hidden",position:"absolute"},Sentinel=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=0}TabPane$2.propTypes={className:propTypesExports.string,active:propTypesExports.bool,style:propTypesExports.any,destroyInactiveTabPane:propTypesExports.bool,forceRender:propTypesExports.bool,placeholder:propTypesExports.node,rootPrefixCls:propTypesExports.string,children:propTypesExports.node,id:propTypesExports.string},TabPane$2.defaultProps={placeholder:null};var Tabs$1=function(e){function t(e){_default$c(this,t);var r=_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));_initialiseProps$3.call(r);var a=void 0;return a="activeKey"in e?e.activeKey:"defaultActiveKey"in e?e.defaultActiveKey:getDefaultActiveKey(e),r.state={activeKey:a},r}return _default$8(t,e),_default$b(t,[{key:"componentWillUnmount",value:function(){this.destroy=!0,rafExports.cancel(this.sentinelId)}},{key:"updateSentinelContext",value:function(){var e=this;this.destroy||(rafExports.cancel(this.sentinelId),this.sentinelId=rafExports((function(){e.destroy||e.forceUpdate()})))}},{key:"render",value:function(){var e,t=this.props,r=t.prefixCls,a=t.navWrapper,n=t.tabBarPosition,i=t.className,o=t.renderTabContent,l=t.renderTabBar,s=t.destroyInactiveTabPane,c=t.direction,u=_default$d(t,["prefixCls","navWrapper","tabBarPosition","className","renderTabContent","renderTabBar","destroyInactiveTabPane","direction"]),f=classnamesExports((_default$e(e={},r,1),_default$e(e,r+"-"+n,1),_default$e(e,i,!!i),_default$e(e,r+"-rtl","rtl"===c),e));this.tabBar=l();var A=React$k.cloneElement(this.tabBar,{prefixCls:r,navWrapper:a,key:"tabBar",onKeyDown:this.onNavKeyDown,tabBarPosition:n,onTabClick:this.onTabClick,panels:t.children,activeKey:this.state.activeKey,direction:this.props.direction}),d=React$k.cloneElement(o(),{prefixCls:r,tabBarPosition:n,activeKey:this.state.activeKey,destroyInactiveTabPane:s,children:t.children,onChange:this.setActiveKey,key:"tabContent",direction:this.props.direction}),p=React$k.createElement(Sentinel,{key:"sentinelStart",setRef:this.setSentinelStart,nextElement:this.panelSentinelStart}),h=React$k.createElement(Sentinel,{key:"sentinelEnd",setRef:this.setSentinelEnd,prevElement:this.panelSentinelEnd}),b=[];return"bottom"===n?b.push(p,d,h,A):b.push(A,p,d,h),React$k.createElement(SentinelProvider,{value:{sentinelStart:this.sentinelStart,sentinelEnd:this.sentinelEnd,setPanelSentinelStart:this.setPanelSentinelStart,setPanelSentinelEnd:this.setPanelSentinelEnd}},React$k.createElement("div",_default$bE({className:f,style:t.style},getDataAttr(u),{onScroll:this.onScroll}),b))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var r={};return"activeKey"in e?r.activeKey=e.activeKey:activeKeyIsValid(e,t.activeKey)||(r.activeKey=getDefaultActiveKey(e)),Object.keys(r).length>0?r:null}}]),t}(React$k.Component),_initialiseProps$3=function(){var e=this;this.onTabClick=function(t,r){e.tabBar.props.onTabClick&&e.tabBar.props.onTabClick(t,r),e.setActiveKey(t)},this.onNavKeyDown=function(t){var r=t.keyCode;if(r===KeyCode.RIGHT||r===KeyCode.DOWN){t.preventDefault();var a=e.getNextActiveKey(!0);e.onTabClick(a)}else if(r===KeyCode.LEFT||r===KeyCode.UP){t.preventDefault();var n=e.getNextActiveKey(!1);e.onTabClick(n)}},this.onScroll=function(e){var t=e.target;t===e.currentTarget&&t.scrollLeft>0&&(t.scrollLeft=0)},this.setSentinelStart=function(t){e.sentinelStart=t},this.setSentinelEnd=function(t){e.sentinelEnd=t},this.setPanelSentinelStart=function(t){t!==e.panelSentinelStart&&e.updateSentinelContext(),e.panelSentinelStart=t},this.setPanelSentinelEnd=function(t){t!==e.panelSentinelEnd&&e.updateSentinelContext(),e.panelSentinelEnd=t},this.setActiveKey=function(t){e.state.activeKey!==t&&("activeKey"in e.props||e.setState({activeKey:t}),e.props.onChange(t))},this.getNextActiveKey=function(t){var r=e.state.activeKey,a=[];React$k.Children.forEach(e.props.children,(function(e){e&&!e.props.disabled&&(t?a.push(e):a.unshift(e))}));var n=a.length,i=n&&a[0].key;return a.forEach((function(e,t){e.key===r&&(i=t===n-1?a[0].key:a[t+1].key)})),i}};Tabs$1.propTypes={destroyInactiveTabPane:propTypesExports.bool,renderTabBar:propTypesExports.func.isRequired,renderTabContent:propTypesExports.func.isRequired,navWrapper:propTypesExports.func,onChange:propTypesExports.func,children:propTypesExports.node,prefixCls:propTypesExports.string,className:propTypesExports.string,tabBarPosition:propTypesExports.string,style:propTypesExports.object,activeKey:propTypesExports.string,defaultActiveKey:propTypesExports.string,direction:propTypesExports.string},Tabs$1.defaultProps={prefixCls:"rc-tabs",destroyInactiveTabPane:!1,onChange:noop$d,navWrapper:function(e){return e},tabBarPosition:"top",children:null,style:{},direction:"ltr"},Tabs$1.TabPane=TabPane$2,polyfill(Tabs$1);var TabContent=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"getTabPanes",value:function(){var e=this.props,t=e.activeKey,r=e.children,a=[];return React$k.Children.forEach(r,(function(r){if(r){var n=r.key,i=t===n;a.push(React$k.cloneElement(r,{active:i,destroyInactiveTabPane:e.destroyInactiveTabPane,rootPrefixCls:e.prefixCls}))}})),a}},{key:"render",value:function(){var e,t=this.props,r=t.prefixCls,a=t.children,n=t.activeKey,i=t.className,o=t.tabBarPosition,l=t.animated,s=t.animatedWithMargin,c=t.direction,u=t.style,f=classnamesExports((_default$e(e={},r+"-content",!0),_default$e(e,l?r+"-content-animated":r+"-content-no-animated",!0),e),i);if(l){var A=getActiveIndex(a,n);if(-1!==A){var d=s?getMarginStyle(A,o):getTransformPropValue(getTransformByIndex(A,o,c));u=_default$bE({},u,d)}else u=_default$bE({},u,{display:"none"})}return React$k.createElement("div",{className:f,style:u},this.getTabPanes())}}]),t}(React$k.Component);function _componentDidUpdate(e,t){var r=e.props,a=r.styles,n=r.panels,i=r.activeKey,o=r.direction,l=e.props.getRef("root"),s=e.props.getRef("nav")||l,c=e.props.getRef("inkBar"),u=e.props.getRef("activeTab"),f=c.style,A=e.props.tabBarPosition,d=getActiveIndex(n,i);if(t&&(f.display="none"),u){var p=u,h=isTransform3dSupported(f);if(setTransform(f,""),f.width="",f.height="",f.left="",f.top="",f.bottom="",f.right="","top"===A||"bottom"===A){var b=getLeft(p,s),g=p.offsetWidth;g===l.offsetWidth?g=0:a.inkBar&&void 0!==a.inkBar.width&&(g=parseFloat(a.inkBar.width,10))&&(b+=(p.offsetWidth-g)/2),"rtl"===o&&(b=getStyle(p,"margin-left")-b),h?setTransform(f,"translate3d("+b+"px,0,0)"):f.left=b+"px",f.width=g+"px"}else{var m=getTop(p,s),v=p.offsetHeight;a.inkBar&&void 0!==a.inkBar.height&&(v=parseFloat(a.inkBar.height,10))&&(m+=(p.offsetHeight-v)/2),h?(setTransform(f,"translate3d(0,"+m+"px,0)"),f.top="0"):f.top=m+"px",f.height=v+"px"}}f.display=-1!==d?"block":"none"}TabContent.propTypes={animated:propTypesExports.bool,animatedWithMargin:propTypesExports.bool,prefixCls:propTypesExports.string,children:propTypesExports.node,activeKey:propTypesExports.string,style:propTypesExports.any,tabBarPosition:propTypesExports.string,className:propTypesExports.string,destroyInactiveTabPane:propTypesExports.bool,direction:propTypesExports.string},TabContent.defaultProps={animated:!0};var InkTabBarNode=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"componentDidMount",value:function(){var e=this;this.timeout=setTimeout((function(){_componentDidUpdate(e,!0)}),0)}},{key:"componentDidUpdate",value:function(){_componentDidUpdate(this)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.timeout)}},{key:"render",value:function(){var e,t=this.props,r=t.prefixCls,a=t.styles,n=t.inkBarAnimated,i=r+"-ink-bar",o=classnamesExports((_default$e(e={},i,!0),_default$e(e,n?i+"-animated":i+"-no-animated",!0),e));return React$k.createElement("div",{style:a.inkBar,className:o,key:"inkBar",ref:this.props.saveRef("inkBar")})}}]),t}(React$k.Component);InkTabBarNode.propTypes={prefixCls:propTypesExports.string,styles:propTypesExports.object,inkBarAnimated:propTypesExports.bool,saveRef:propTypesExports.func,direction:propTypesExports.string},InkTabBarNode.defaultProps={prefixCls:"",inkBarAnimated:!0,styles:{},saveRef:function(){}};var TabBarTabsNode=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"render",value:function(){var e=this,t=this.props,r=t.panels,a=t.activeKey,n=t.prefixCls,i=t.tabBarGutter,o=t.saveRef,l=t.tabBarPosition,s=t.renderTabBarNode,c=t.direction,u=[];return React$k.Children.forEach(r,(function(t,f){if(t){var A=t.key,d=a===A?n+"-tab-active":"";d+=" "+n+"-tab";var p={};t.props.disabled?d+=" "+n+"-tab-disabled":p={onClick:e.props.onTabClick.bind(e,A)};var h={};a===A&&(h.ref=o("activeTab"));var b=i&&f===r.length-1?0:i,g="rtl"===c?"marginLeft":"marginRight",m=_default$e({},isVertical(l)?"marginBottom":g,b);warning_1$3("tab"in t.props);var v=React$k.createElement("div",_default$bE({role:"tab","aria-disabled":t.props.disabled?"true":"false","aria-selected":a===A?"true":"false"},p,{className:d,key:A,style:m},h),t.props.tab);s&&(v=s(v)),u.push(v)}})),React$k.createElement("div",{ref:o("navTabsContainer")},u)}}]),t}(React$k.Component);TabBarTabsNode.propTypes={activeKey:propTypesExports.string,panels:propTypesExports.node,prefixCls:propTypesExports.string,tabBarGutter:propTypesExports.number,onTabClick:propTypesExports.func,saveRef:propTypesExports.func,renderTabBarNode:propTypesExports.func,tabBarPosition:propTypesExports.string,direction:propTypesExports.string},TabBarTabsNode.defaultProps={panels:[],prefixCls:[],tabBarGutter:null,onTabClick:function(){},saveRef:function(){}};var TabBarRootNode=function(e){function t(){return _default$c(this,t),_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _default$8(t,e),_default$b(t,[{key:"render",value:function(){var e=this.props,t=e.prefixCls,r=e.onKeyDown,a=e.className,n=e.extraContent,i=e.style,o=e.tabBarPosition,l=e.children,s=_default$d(e,["prefixCls","onKeyDown","className","extraContent","style","tabBarPosition","children"]),c=classnamesExports(t+"-bar",_default$e({},a,!!a)),u="top"===o||"bottom"===o,f=u?{float:"right"}:{},A=n&&n.props?n.props.style:{},d=l;return n&&(d=[reactExports.cloneElement(n,{key:"extra",style:_default$bE({},f,A)}),reactExports.cloneElement(l,{key:"content"})],d=u?d:d.reverse()),React$k.createElement("div",_default$bE({role:"tablist",className:c,tabIndex:"0",ref:this.props.saveRef("root"),onKeyDown:r,style:i},getDataAttr(s)),d)}}]),t}(React$k.Component);TabBarRootNode.propTypes={prefixCls:propTypesExports.string,className:propTypesExports.string,style:propTypesExports.object,tabBarPosition:propTypesExports.oneOf(["left","right","top","bottom"]),children:propTypesExports.node,extraContent:propTypesExports.node,onKeyDown:propTypesExports.func,saveRef:propTypesExports.func},TabBarRootNode.defaultProps={prefixCls:"",className:"",style:{},tabBarPosition:"top",extraContent:null,children:null,onKeyDown:function(){},saveRef:function(){}};var root$4=_root,now$5=function(){return root$4.Date.now()},now_1=now$5,reWhitespace=/\s/;function trimmedEndIndex$1(e){for(var t=e.length;t--&&reWhitespace.test(e.charAt(t)););return t}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(e){return e?e.slice(0,trimmedEndIndex(e)+1).replace(reTrimStart,""):e}var _baseTrim=baseTrim$1,baseTrim=_baseTrim,isObject$e=isObject_1,isSymbol$2=isSymbol_1,NAN=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$4(e){if("number"==typeof e)return e;if(isSymbol$2(e))return NAN;if(isObject$e(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject$e(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=baseTrim(e);var r=reIsBinary.test(e);return r||reIsOctal.test(e)?freeParseInt(e.slice(2),r?2:8):reIsBadHex.test(e)?NAN:+e}var toNumber_1=toNumber$4,isObject$d=isObject_1,now$4=now_1,toNumber$3=toNumber_1,FUNC_ERROR_TEXT$1="Expected a function",nativeMax$2=Math.max,nativeMin$1=Math.min;function debounce$3(e,t,r){var a,n,i,o,l,s,c=0,u=!1,f=!1,A=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$1);function d(t){var r=a,i=n;return a=n=void 0,c=t,o=e.apply(i,r)}function p(e){var r=e-s;return void 0===s||r>=t||r<0||f&&e-c>=i}function h(){var e=now$4();if(p(e))return b(e);l=setTimeout(h,function(e){var r=t-(e-s);return f?nativeMin$1(r,i-(e-c)):r}(e))}function b(e){return l=void 0,A&&a?d(e):(a=n=void 0,o)}function g(){var e=now$4(),r=p(e);if(a=arguments,n=this,s=e,r){if(void 0===l)return function(e){return c=e,l=setTimeout(h,t),u?d(e):o}(s);if(f)return clearTimeout(l),l=setTimeout(h,t),d(s)}return void 0===l&&(l=setTimeout(h,t)),o}return t=toNumber$3(t)||0,isObject$d(r)&&(u=!!r.leading,i=(f="maxWait"in r)?nativeMax$2(toNumber$3(r.maxWait)||0,t):i,A="trailing"in r?!!r.trailing:A),g.cancel=function(){void 0!==l&&clearTimeout(l),c=0,a=s=n=l=void 0},g.flush=function(){return void 0===l?o:b(now$4())},g}var debounce_1=debounce$3,ScrollableTabBarNode=function(e){function t(e){_default$c(this,t);var r=_default$9(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.prevTransitionEnd=function(e){if("opacity"===e.propertyName){var t=r.props.getRef("container");r.scrollToActiveTab({target:t,currentTarget:t})}},r.scrollToActiveTab=function(e){var t=r.props.getRef("activeTab"),a=r.props.getRef("navWrap");if((!e||e.target===e.currentTarget)&&t){var n=r.isNextPrevShown()&&r.lastNextPrevShown;if(r.lastNextPrevShown=r.isNextPrevShown(),n){var i=r.getScrollWH(t),o=r.getOffsetWH(a),l=r.offset,s=r.getOffsetLT(a),c=r.getOffsetLT(t);s>c?(l+=s-c,r.setOffset(l)):s+o=0)s=!1,this.setOffset(0,!1),i=0;else if(o1&&void 0!==arguments[1])||arguments[1],r=Math.min(0,e);if(this.offset!==r){this.offset=r;var a={},n=this.props.tabBarPosition,i=this.props.getRef("nav").style,o=isTransform3dSupported(i);"left"===n||"right"===n?a=o?{value:"translate3d(0,"+r+"px,0)"}:{name:"top",value:r+"px"}:o?("rtl"===this.props.direction&&(r=-r),a={value:"translate3d("+r+"px,0,0)"}):a={name:"left",value:r+"px"},o?setTransform(i,a.value):i[a.name]=a.value,t&&this.setNextPrev()}}},{key:"setPrev",value:function(e){this.state.prev!==e&&this.setState({prev:e})}},{key:"setNext",value:function(e){this.state.next!==e&&this.setState({next:e})}},{key:"isNextPrevShown",value:function(e){return e?e.next||e.prev:this.state.next||this.state.prev}},{key:"render",value:function(){var e,t,r,a,n=this.state,i=n.next,o=n.prev,l=this.props,s=l.prefixCls,c=l.scrollAnimated,u=l.navWrapper,f=l.prevIcon,A=l.nextIcon,d=o||i,p=React$k.createElement("span",{onClick:o?this.prev:null,unselectable:"unselectable",className:classnamesExports((e={},_default$e(e,s+"-tab-prev",1),_default$e(e,s+"-tab-btn-disabled",!o),_default$e(e,s+"-tab-arrow-show",d),e)),onTransitionEnd:this.prevTransitionEnd},f||React$k.createElement("span",{className:s+"-tab-prev-icon"})),h=React$k.createElement("span",{onClick:i?this.next:null,unselectable:"unselectable",className:classnamesExports((t={},_default$e(t,s+"-tab-next",1),_default$e(t,s+"-tab-btn-disabled",!i),_default$e(t,s+"-tab-arrow-show",d),t))},A||React$k.createElement("span",{className:s+"-tab-next-icon"})),b=s+"-nav",g=classnamesExports((_default$e(r={},b,!0),_default$e(r,c?b+"-animated":b+"-no-animated",!0),r));return React$k.createElement("div",{className:classnamesExports((a={},_default$e(a,s+"-nav-container",1),_default$e(a,s+"-nav-container-scrolling",d),a)),key:"container",ref:this.props.saveRef("container")},p,h,React$k.createElement("div",{className:s+"-nav-wrap",ref:this.props.saveRef("navWrap")},React$k.createElement("div",{className:s+"-nav-scroll"},React$k.createElement("div",{className:g,ref:this.props.saveRef("nav")},u(this.props.children)))))}}]),t}(React$k.Component);ScrollableTabBarNode.propTypes={activeKey:propTypesExports.string,getRef:propTypesExports.func.isRequired,saveRef:propTypesExports.func.isRequired,tabBarPosition:propTypesExports.oneOf(["left","right","top","bottom"]),prefixCls:propTypesExports.string,scrollAnimated:propTypesExports.bool,onPrevClick:propTypesExports.func,onNextClick:propTypesExports.func,navWrapper:propTypesExports.func,children:propTypesExports.node,prevIcon:propTypesExports.node,nextIcon:propTypesExports.node,direction:propTypesExports.node},ScrollableTabBarNode.defaultProps={tabBarPosition:"left",prefixCls:"",scrollAnimated:!0,onPrevClick:function(){},onNextClick:function(){},navWrapper:function(e){return e}};var SaveRef=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=0),e),c),v=_extends$1G(_extends$1G({},this.props),{children:null,inkBarAnimated:A,extraContent:o,style:a,prevIcon:b,nextIcon:g,className:m});return t=i?i(v,ScrollableInkTabBar):reactExports.createElement(ScrollableInkTabBar,v),reactExports.cloneElement(t)}}]),r}(reactExports.Component);TabBar.defaultProps={animated:!0,type:"line"};var isStyleSupport=function(e){if("undefined"!=typeof window&&window.document&&window.document.documentElement){var t=Array.isArray(e)?e:[e],r=window.document.documentElement;return t.some((function(e){return e in r.style}))}return!1},isFlexSupported=isStyleSupport(["flex","webkitFlex","Flex","msFlex"]);function _extends$1F(){return _extends$1F=Object.assign||function(e){for(var t=1;t=0&&("small"===s||"large"===s)),"Tabs","`type=card|editable-card` doesn't have small or large size, it's by design.");var m=a("tabs",i),v=classNames(l,(_defineProperty$N(r={},"".concat(m,"-vertical"),"left"===f||"right"===f),_defineProperty$N(r,"".concat(m,"-").concat(s),!!s),_defineProperty$N(r,"".concat(m,"-card"),u.indexOf("card")>=0),_defineProperty$N(r,"".concat(m,"-").concat(u),!0),_defineProperty$N(r,"".concat(m,"-no-animation"),!g),r)),y=[];"editable-card"===u&&(y=[],reactExports.Children.forEach(A,(function(t,r){if(!reactExports.isValidElement(t))return t;var a=t.props.closable,n=(a=void 0===a||a)?reactExports.createElement(Icon$1,{type:"close",className:"".concat(m,"-close-x"),onClick:function(r){return e.removeTab(t.key,r)}}):null;y.push(reactExports.cloneElement(t,{tab:reactExports.createElement("div",{className:a?void 0:"".concat(m,"-tab-unclosable")},t.props.tab,n),key:t.key||r}))})),h||(b=reactExports.createElement("span",null,reactExports.createElement(Icon$1,{type:"plus",className:"".concat(m,"-new-tab"),onClick:e.createNewTab}),b))),b=b?reactExports.createElement("div",{className:"".concat(m,"-extra-content")},b):null;var w=__rest$q(e.props,[]),k=classNames("".concat(m,"-").concat(f,"-content"),u.indexOf("card")>=0&&"".concat(m,"-card-content"));return reactExports.createElement(Tabs$1,_extends$1F({},e.props,{prefixCls:m,className:v,tabBarPosition:f,renderTabBar:function(){return reactExports.createElement(TabBar,_extends$1F({},omit(w,["className"]),{tabBarExtraContent:b}))},renderTabContent:function(){return reactExports.createElement(TabContent,{className:k,animated:g,animatedWithMargin:!0})},onChange:e.handleChange}),y.length>0?y:A)},e}return _createClass$1r(r,[{key:"componentDidMount",value:function(){var e=" no-flex",t=reactDomExports.findDOMNode(this);t&&!isFlexSupported&&-1===t.className.indexOf(e)&&(t.className+=e)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderTabs)}}]),r}(reactExports.Component);Tabs.TabPane=TabPane$2,Tabs.defaultProps={hideAdd:!1,tabPosition:"top"};var heapExports$1={},heap$1={get exports(){return heapExports$1},set exports(e){heapExports$1=e}},heapExports={},heap={get exports(){return heapExports},set exports(e){heapExports=e}};function copyArray$3(e,t){var r=-1,a=e.length;for(t||(t=Array(a));++rt?1:0},c=function(e,t,n,i,o){var l;if(null==n&&(n=0),null==o&&(o=r),n<0)throw new Error("lo must be non-negative");for(null==i&&(i=e.length);nr;0<=r?t++:t--)c.push(t);return c}.apply(this).reverse()).length;ih;0<=h?++A:--A)b.push(i(e,a));return b},p=function(e,t,a,n){var i,o,l;for(null==n&&(n=r),i=e[a];a>t&&n(i,o=e[l=a-1>>1])<0;)e[a]=o,a=l;return e[a]=i},h=function(e,t,a){var n,i,o,l,s;for(null==a&&(a=r),i=e.length,s=t,o=e[t],n=2*t+1;ne.length)&&(t=e.length);for(var r=0,a=new Array(t);rt?1:0},descending$2=function(e,t){return-1*ascending$4(e,t)},extend$3=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,r=1;r1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}var u=new RegExp("^"+hsla$3+"$").exec(e);if(u){if((r=parseInt(u[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(a=parseFloat(u[2]))<0||a>100)return;if(a/=100,(n=parseFloat(u[3]))<0||n>100)return;if(n/=100,void 0!==(i=u[4])&&((i=parseFloat(i))<0||i>1))return;if(0===a)o=l=s=Math.round(255*n);else{var f=n<.5?n*(1+a):n+a-n*a,A=2*n-f;o=Math.round(255*c(A,f,r+1/3)),l=Math.round(255*c(A,f,r)),s=Math.round(255*c(A,f,r-1/3))}t=[o,l,s,i]}return t},rgb2tuple=function(e){var t,r=new RegExp("^"+rgba$3+"$").exec(e);if(r){t=[];for(var a=[],n=1;n<=3;n++){var i=r[n];if("%"===i[i.length-1]&&(a[n]=!0),i=parseFloat(i),a[n]&&(i=i/100*255),i<0||i>255)return;t.push(Math.floor(i))}var o=a[1]||a[2]||a[3],l=a[1]&&a[2]&&a[3];if(o&&!l)return;var s=r[4];if(void 0!==s){if((s=parseFloat(s))<0||s>1)return;t.push(s)}}return t},colorname2tuple=function(e){return colors$1[e.toLowerCase()]},color2tuple=function(e){return(array$4(e)?e:null)||colorname2tuple(e)||hex2tuple(e)||rgb2tuple(e)||hsl2tuple(e)},colors$1={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},setMap=function(e){for(var t=e.map,r=e.keys,a=r.length,n=0;n1&&void 0!==arguments[1]?arguments[1]:DEFAULT_HASH_SEED;!(t=e.next()).done;)r=r*K$1+t.value|0;return r},hashInt=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:DEFAULT_HASH_SEED)*K$1+e|0},hashIntAlt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DEFAULT_HASH_SEED_ALT;return(t<<5)+t+e|0},combineHashes=function(e,t){return 2097152*e+t},combineHashesArray=function(e){return 2097152*e[0]+e[1]},hashArrays=function(e,t){return[hashInt(e[0],t[0]),hashIntAlt(e[1],t[1])]},hashIntsArray=function(e,t){var r={value:0,done:!1},a=0,n=e.length;return hashIterableInts({next:function(){return a=0&&(e[a]!==t||(e.splice(a,1),!r));a--);},clearArray=function(e){e.splice(0,e.length)},push=function(e,t){for(var r=0;r2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&core$2(e)){var a=t.group;if(null==a&&(a=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===a||"edges"===a){this.length=1,this[0]=this;var n=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:a,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===a:!!t.pannable,active:!1,classes:new Set$1$1,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==n.position.x&&(n.position.x=0),null==n.position.y&&(n.position.y=0),t.renderedPosition){var i=t.renderedPosition,o=e.pan(),l=e.zoom();n.position={x:(i.x-o.x)/l,y:(i.y-o.y)/l}}var s=[];array$4(t.classes)?s=t.classes:string$1(t.classes)&&(s=t.classes.split(/\s+/));for(var c=0,u=s.length;c0;){var w=g.pop(),k=h(w),x=w.id();if(f[x]=k,k!==1/0)for(var E=w.neighborhood().intersect(d),_=0;_0)for(r.unshift(t);u[n];){var i=u[n];r.unshift(i.edge),r.unshift(i.node),n=(a=i.node).id()}return o.spawn(r)}}}},elesfn$t={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),r=t.nodes,a=t.edges,n=r.length,i=new Array(n),o=r,l=function(e){for(var t=0;t0;){if(s=h.pop(),c=s.id(),b.delete(c),w++,c===f){for(var k=[],x=n,E=f,_=m[E];k.unshift(x),null!=_&&k.unshift(_),null!=(x=g[E]);)_=m[E=x.id()];return{found:!0,distance:A[c],path:this.spawn(k),steps:w}}p[c]=!0;for(var C=s._private.edges,$=0;$C&&(d[_]=C,g[_]=E,m[_]=y),!n){var $=E*c+x;!n&&d[$]>C&&(d[$]=C,g[$]=x,m[$]=y)}}}for(var T=0;T1&&void 0!==arguments[1]?arguments[1]:i,a=[],n=m(e);;){if(null==n)return t.spawn();var o=g(n),s=o.edge,c=o.pred;if(a.unshift(n[0]),n.same(r)&&a.length>0)break;null!=s&&a.unshift(s),n=c}return l.spawn(a)},hasNegativeWeightCycle:p,negativeWeightCycles:h}}},sqrt2=Math.sqrt(2),collapse=function(e,t,r){0===r.length&&error("Karger-Stein must be run on a connected (sub)graph");for(var a=r[e],n=a[1],i=a[2],o=t[n],l=t[i],s=r,c=s.length-1;c>=0;c--){var u=s[c],f=u[1],A=u[2];(t[f]===o&&t[A]===l||t[f]===l&&t[A]===o)&&s.splice(c,1)}for(var d=0;da;){var n=Math.floor(Math.random()*t.length);t=collapse(n,e,t),r--}return t},elesfn$p={kargerStein:function(){var e=this,t=this.byGroup(),r=t.nodes,a=t.edges;a.unmergeBy((function(e){return e.isLoop()}));var n=r.length,i=a.length,o=Math.ceil(Math.pow(Math.log(n)/Math.LN2,2)),l=Math.floor(n/sqrt2);if(!(n<2)){for(var s=[],c=0;c1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,a=1/0,n=t;n1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,a=-1/0,n=t;n1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,a=0,n=0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e=e.slice(t,r):(r0&&e.splice(0,t));for(var i=0,o=e.length-1;o>=0;o--){var l=e[o];n?isFinite(l)||(e[o]=-1/0,i++):e.splice(o,1)}a&&e.sort((function(e,t){return e-t}));var s=e.length,c=Math.floor(s/2);return s%2!=0?e[c+1+i]:(e[c-1+i]+e[c+i])/2},deg2rad$1=function(e){return Math.PI*e/180},getAngleFromDisp=function(e,t){return Math.atan2(t,e)-Math.PI/2},log2=Math.log2||function(e){return Math.log(e)/Math.log(2)},signum=function(e){return e>0?1:e<0?-1:0},dist$1=function(e,t){return Math.sqrt(sqdist(e,t))},sqdist=function(e,t){var r=t.x-e.x,a=t.y-e.y;return r*r+a*a},inPlaceSumNormalize=function(e){for(var t=e.length,r=0,a=0;a=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},copyBoundingBox=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},clearBoundingBox=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},updateBoundingBox=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},expandBoundingBoxByPoint=function(e,t,r){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r),e.y2=Math.max(e.y2,r),e.h=e.y2-e.y1},expandBoundingBox=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},expandBoundingBoxSides=function(e){var t,r,a,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===i.length)t=r=a=n=i[0];else if(2===i.length)t=a=i[0],n=r=i[1];else if(4===i.length){var o=_slicedToArray$4(i,4);t=o[0],r=o[1],a=o[2],n=o[3]}return e.x1-=n,e.x2+=r,e.y1-=t,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},assignBoundingBox=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},boundingBoxesIntersect=function(e,t){return!(e.x1>t.x2)&&(!(t.x1>e.x2)&&(!(e.x2t.y2)&&!(t.y1>e.y2)))))))},inBoundingBox=function(e,t,r){return e.x1<=t&&t<=e.x2&&e.y1<=r&&r<=e.y2},pointInBoundingBox=function(e,t){return inBoundingBox(e,t.x,t.y)},boundingBoxInBoundingBox=function(e,t){return inBoundingBox(e,t.x1,t.y1)&&inBoundingBox(e,t.x2,t.y2)},roundRectangleIntersectLine=function(e,t,r,a,n,i,o){var l,s=getRoundRectangleRadius(n,i),c=n/2,u=i/2,f=a-u-o;if((l=finiteLinesIntersect(e,t,r,a,r-c+s-o,f,r+c-s+o,f,!1)).length>0)return l;var A=r+c+o;if((l=finiteLinesIntersect(e,t,r,a,A,a-u+s-o,A,a+u-s+o,!1)).length>0)return l;var d=a+u+o;if((l=finiteLinesIntersect(e,t,r,a,r-c+s-o,d,r+c-s+o,d,!1)).length>0)return l;var p,h=r-c-o;if((l=finiteLinesIntersect(e,t,r,a,h,a-u+s-o,h,a+u-s+o,!1)).length>0)return l;var b=r-c+s,g=a-u+s;if((p=intersectLineCircle(e,t,r,a,b,g,s+o)).length>0&&p[0]<=b&&p[1]<=g)return[p[0],p[1]];var m=r+c-s,v=a-u+s;if((p=intersectLineCircle(e,t,r,a,m,v,s+o)).length>0&&p[0]>=m&&p[1]<=v)return[p[0],p[1]];var y=r+c-s,w=a+u-s;if((p=intersectLineCircle(e,t,r,a,y,w,s+o)).length>0&&p[0]>=y&&p[1]>=w)return[p[0],p[1]];var k=r-c+s,x=a+u-s;return(p=intersectLineCircle(e,t,r,a,k,x,s+o)).length>0&&p[0]<=k&&p[1]>=x?[p[0],p[1]]:[]},inLineVicinity=function(e,t,r,a,n,i,o){var l=o,s=Math.min(r,n),c=Math.max(r,n),u=Math.min(a,i),f=Math.max(a,i);return s-l<=e&&e<=c+l&&u-l<=t&&t<=f+l},inBezierVicinity=function(e,t,r,a,n,i,o,l,s){var c=Math.min(r,o,n)-s,u=Math.max(r,o,n)+s,f=Math.min(a,l,i)-s,A=Math.max(a,l,i)+s;return!(eu||tA)},solveQuadratic=function(e,t,r,a){var n=t*t-4*e*(r-=a);if(n<0)return[];var i=Math.sqrt(n),o=2*e;return[(-t+i)/o,(-t-i)/o]},solveCubic=function(e,t,r,a,n){var i,o,l,s,c,u,f,A;return 0===e&&(e=1e-5),l=-27*(a/=e)+(t/=e)*(9*(r/=e)-t*t*2),i=(o=(3*r-t*t)/9)*o*o+(l/=54)*l,n[1]=0,f=t/3,i>0?(c=(c=l+Math.sqrt(i))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),u=(u=l-Math.sqrt(i))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),n[0]=-f+c+u,f+=(c+u)/2,n[4]=n[2]=-f,f=Math.sqrt(3)*(-u+c)/2,n[3]=f,void(n[5]=-f)):(n[5]=n[3]=0,0===i?(A=l<0?-Math.pow(-l,1/3):Math.pow(l,1/3),n[0]=2*A-f,void(n[4]=n[2]=-(A+f))):(s=(o=-o)*o*o,s=Math.acos(l/Math.sqrt(s)),A=2*Math.sqrt(o),n[0]=-f+A*Math.cos(s/3),n[2]=-f+A*Math.cos((s+2*Math.PI)/3),void(n[4]=-f+A*Math.cos((s+4*Math.PI)/3))))},sqdistToQuadraticBezier=function(e,t,r,a,n,i,o,l){var s=[];solveCubic(1*r*r-4*r*n+2*r*o+4*n*n-4*n*o+o*o+a*a-4*a*i+2*a*l+4*i*i-4*i*l+l*l,9*r*n-3*r*r-3*r*o-6*n*n+3*n*o+9*a*i-3*a*a-3*a*l-6*i*i+3*i*l,3*r*r-6*r*n+r*o-r*e+2*n*n+2*n*e-o*e+3*a*a-6*a*i+a*l-a*t+2*i*i+2*i*t-l*t,1*r*n-r*r+r*e-n*e+a*i-a*a+a*t-i*t,s);for(var c=[],u=0;u<6;u+=2)Math.abs(s[u+1])<1e-7&&s[u]>=0&&s[u]<=1&&c.push(s[u]);c.push(1),c.push(0);for(var f,A,d,p=-1,h=0;h=0?ds?(e-n)*(e-n)+(t-i)*(t-i):c-f},pointInsidePolygonPoints=function(e,t,r){for(var a,n,i,o,l=0,s=0;s=e&&e>=i||a<=e&&e<=i))continue;(e-a)/(i-a)*(o-n)+n>t&&l++}return l%2!=0},pointInsidePolygon=function(e,t,r,a,n,i,o,l,s){var c,u=new Array(r.length);null!=l[0]?(c=Math.atan(l[1]/l[0]),l[0]<0?c+=Math.PI/2:c=-c-Math.PI/2):c=l;for(var f,A=Math.cos(-c),d=Math.sin(-c),p=0;p0){var h=expandPolygon(u,-s);f=joinLines(h)}else f=u;return pointInsidePolygonPoints(e,t,f)},pointInsideRoundPolygon=function(e,t,r,a,n,i,o){for(var l=new Array(r.length),s=i/2,c=o/2,u=getRoundPolygonRadius(i,o),f=u*u,A=0;A=0&&p<=1&&b.push(p),h>=0&&h<=1&&b.push(h),0===b.length)return[];var g=b[0]*l[0]+e,m=b[0]*l[1]+t;return b.length>1?b[0]==b[1]?[g,m]:[g,m,b[1]*l[0]+e,b[1]*l[1]+t]:[g,m]},midOfThree=function(e,t,r){return t<=e&&e<=r||r<=e&&e<=t?e:e<=t&&t<=r||r<=t&&t<=e?t:r},finiteLinesIntersect=function(e,t,r,a,n,i,o,l,s){var c=e-n,u=r-e,f=o-n,A=t-i,d=a-t,p=l-i,h=f*A-p*c,b=u*A-d*c,g=p*u-f*d;if(0!==g){var m=h/g,v=b/g,y=-.001;return y<=m&&m<=1.001&&y<=v&&v<=1.001||s?[e+m*u,t+m*d]:[]}return 0===h||0===b?midOfThree(e,r,o)===o?[o,l]:midOfThree(e,r,n)===n?[n,i]:midOfThree(n,o,r)===r?[r,a]:[]:[]},polygonIntersectLine=function(e,t,r,a,n,i,o,l){var s,c,u,f,A,d,p=[],h=new Array(r.length),b=!0;if(null==i&&(b=!1),b){for(var g=0;g0){var m=expandPolygon(h,-l);c=joinLines(m)}else c=h}else c=r;for(var v=0;v2){for(var T=[c[0],c[1]],O=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),S=1;Sc&&(c=t)},f=function(e){return s[e]},A=0;A0?v.edgesTo(m)[0]:m.edgesTo(v)[0];var w=a(y);m=m.id(),A[m]>A[b]+w&&(A[m]=A[b]+w,d.nodes.indexOf(m)<0?d.push(m):d.updateItem(m),c[m]=0,s[m]=[]),A[m]==A[b]+w&&(c[m]=c[m]+c[b],s[m].push(b))}else for(var k=0;k0;){for(var C=r.pop(),$=0;$0&&o.push(r[l]);0!==o.length&&n.push(a.collection(o))}return n},isDuplicate=function(e,t){for(var r=0;r5&&void 0!==arguments[5]?arguments[5]:identity$b,o=a,l=0;l=2?getDistance(e,t,r,0,addSquaredDiff,sqrt$2):getDistance(e,t,r,0,addAbsDiff)},squaredEuclidean:function(e,t,r){return getDistance(e,t,r,0,addSquaredDiff)},manhattan:function(e,t,r){return getDistance(e,t,r,0,addAbsDiff)},max:function(e,t,r){return getDistance(e,t,r,-1/0,maxAbsDiff)}};function clusteringDistance(e,t,r,a,n,i){var o;return o=fn$6(e)?e:distances[e]||distances.euclidean,0===t&&fn$6(e)?o(n,i):o(t,r,a,n,i)}distances["squared-euclidean"]=distances.squaredEuclidean,distances.squaredeuclidean=distances.squaredEuclidean;var defaults$b=defaults$g({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),setOptions$2=function(e){return defaults$b(e)},getDist=function(e,t,r,a,n){var i="kMedoids"!==n?function(e){return r[e]}:function(e){return a[e](r)},o=r,l=t;return clusteringDistance(e,a.length,i,(function(e){return a[e](t)}),o,l)},randomCentroids=function(e,t,r){for(var a=r.length,n=new Array(a),i=new Array(a),o=new Array(t),l=null,s=0;sr)return!1}return!0},seenBefore=function(e,t,r){for(var a=0;an&&(n=t[s][c],i=c);o[i].push(e[s])}for(var u=0;u=n.threshold||"dendrogram"===n.mode&&1===e.length)return!1;var d,p=t[o],h=t[a[o]];d="dendrogram"===n.mode?{left:p,right:h,key:p.key}:{value:p.value.concat(h.value),key:p.key},e[p.index]=d,e.splice(h.index,1),t[p.key]=d;for(var b=0;br[h.key][g.key]&&(i=r[h.key][g.key])):"max"===n.linkage?(i=r[p.key][g.key],r[p.key][g.key]0&&a.push(n);return a},assignClusters=function(e,t,r){for(var a=[],n=0;no&&(i=s,o=t[n*e+s])}i>0&&a.push(i)}for(var c=0;cs&&(l=c,s=u)}r[n]=i[l]}return a=assignClusters(e,t,r)},affinityPropagation=function(e){for(var t,r,a,n,i,o,l=this.cy(),s=this.nodes(),c=setOptions(e),u={},f=0;f=C?($=C,C=O,T=S):O>$&&($=O);for(var I=0;I0?1:0;x[k%c.minIterations*t+D]=z,L+=z}if(L>0&&(k>=c.minIterations-1||k==c.maxIterations-1)){for(var F=0,N=0;N1||o>1)&&(c=!0),u[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&u[t].push(e.id())}))}else f[t]=[void 0,e.target().id()]})):s.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(r?a?c=!0:a=t:r=t),u[t]=[],e.connectedEdges().forEach((function(e){return u[t].push(e.id())}))):f[t]=[e.source().id(),e.target().id()]}));var A={found:!1,trail:void 0};if(c)return A;if(a&&r)if(l){if(n&&a!=n)return A;n=a}else{if(n&&a!=n&&r!=n)return A;n||(n=a)}else n||(n=s[0].id());var d=function(e){for(var t,r,a,n=e,i=[e];u[n].length;)t=u[n].shift(),r=f[t][0],n!=(a=f[t][1])?(u[a]=u[a].filter((function(e){return e!=t})),n=a):l||n==r||(u[r]=u[r].filter((function(e){return e!=t})),n=r),i.unshift(t),i.unshift(n);return i},p=[],h=[];for(h=d(n);1!=h.length;)0==u[h[0]].length?(p.unshift(s.getElementById(h.shift())),p.unshift(s.getElementById(h.shift()))):h=d(h.shift()).concat(h);for(var b in p.unshift(s.getElementById(h.shift())),u)if(u[b].length)return A;return A.found=!0,A.trail=this.spawn(p,!0),A}},hopcroftTarjanBiconnected=function(){var e=this,t={},r=0,a=0,n=[],i=[],o={},l=function l(s,c,u){s===u&&(a+=1),t[c]={id:r,low:r++,cutVertex:!1};var f,A,d,p,h=e.getElementById(c).connectedEdges().intersection(e);0===h.size()?n.push(e.spawn(e.getElementById(c))):h.forEach((function(r){f=r.source().id(),A=r.target().id(),(d=f===c?A:f)!==u&&(p=r.id(),o[p]||(o[p]=!0,i.push({x:c,y:d,edge:r})),d in t?t[c].low=Math.min(t[c].low,t[d].id):(l(s,d,c),t[c].low=Math.min(t[c].low,t[d].low),t[c].id<=t[d].low&&(t[c].cutVertex=!0,function(r,a){for(var o=i.length-1,l=[],s=e.spawn();i[o].x!=r||i[o].y!=a;)l.push(i.pop().edge),o--;l.push(i.pop().edge),l.forEach((function(r){var a=r.connectedNodes().intersection(e);s.merge(r),a.forEach((function(r){var a=r.id(),n=r.connectedEdges().intersection(e);s.merge(r),t[a].cutVertex?s.merge(n.filter((function(e){return e.isLoop()}))):s.merge(n)}))})),n.push(s)}(c,d))))}))};e.forEach((function(e){if(e.isNode()){var r=e.id();r in t||(a=0,l(r,r),t[r].cutVertex=a>1)}}));var s=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(s),components:n}},hopcroftTarjanBiconnected$1={hopcroftTarjanBiconnected:hopcroftTarjanBiconnected,htbc:hopcroftTarjanBiconnected,htb:hopcroftTarjanBiconnected,hopcroftTarjanBiconnectedComponents:hopcroftTarjanBiconnected},tarjanStronglyConnected=function(){var e=this,t={},r=0,a=[],n=[],i=e.spawn(e),o=function o(l){if(n.push(l),t[l]={index:r,low:r++,explored:!1},e.getElementById(l).connectedEdges().intersection(e).forEach((function(e){var r=e.target().id();r!==l&&(r in t||o(r),t[r].explored||(t[l].low=Math.min(t[l].low,t[r].low)))})),t[l].index===t[l].low){for(var s=e.spawn();;){var c=n.pop();if(s.merge(e.getElementById(c)),t[c].low=t[l].index,t[c].explored=!0,c===l)break}var u=s.edgesWith(s),f=s.merge(u);a.push(f),i=i.difference(f)}};return e.forEach((function(e){if(e.isNode()){var r=e.id();r in t||o(r)}})),{cut:i,components:a}},tarjanStronglyConnected$1={tarjanStronglyConnected:tarjanStronglyConnected,tsc:tarjanStronglyConnected,tscc:tarjanStronglyConnected,tarjanStronglyConnectedComponents:tarjanStronglyConnected},elesfn$j={};[elesfn$v,elesfn$u,elesfn$t,elesfn$s,elesfn$r,elesfn$q,elesfn$p,elesfn$o,elesfn$n,elesfn$m,elesfn$l,markovClustering$1,kClustering,hierarchicalClustering$1,affinityPropagation$1,elesfn$k,hopcroftTarjanBiconnected$1,tarjanStronglyConnected$1].forEach((function(e){extend$3(elesfn$j,e)})); /*! Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) Licensed under The MIT License (http://opensource.org/licenses/MIT) - */var STATE_PENDING=0,STATE_FULFILLED=1,STATE_REJECTED=2,api$1=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=STATE_PENDING,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};api$1.prototype={fulfill:function(e){return deliver(this,STATE_FULFILLED,"fulfillValue",e)},reject:function(e){return deliver(this,STATE_REJECTED,"rejectReason",e)},then:function(e,t){var r=this,a=new api$1;return r.onFulfilled.push(resolver(e,a,"fulfill")),r.onRejected.push(resolver(t,a,"reject")),execute(r),a.proxy}};var deliver=function(e,t,r,a){return e.state===STATE_PENDING&&(e.state=t,e[r]=a,execute(e)),e},execute=function(e){e.state===STATE_FULFILLED?execute_handlers(e,"onFulfilled",e.fulfillValue):e.state===STATE_REJECTED&&execute_handlers(e,"onRejected",e.rejectReason)},execute_handlers=function(e,t,r){if(0!==e[t].length){var a=e[t];e[t]=[];var n=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var r=0;r0&&this.spawn(a).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){array$4(e)||(e=e.match(/\S+/g)||[]);for(var r=this,a=void 0===t,n=[],i=0,o=r.length;i0&&this.spawn(n).updateStyle().emit("class"),r},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var r=this;if(null==t)t=250;else if(0===t)return r;return r.addClass(e),setTimeout((function(){r.removeClass(e)}),t),r}};elesfn$h.className=elesfn$h.classNames=elesfn$h.classes;var tokens={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:number$2,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tokens.variable="(?:[\\w-.]|(?:\\\\"+tokens.metaChar+"))+",tokens.className="(?:[\\w-]|(?:\\\\"+tokens.metaChar+"))+",tokens.value=tokens.string+"|"+tokens.number,tokens.id=tokens.variable,function(){var e,t,r;for(e=tokens.comparatorOp.split("|"),r=0;r=0||"="!==t&&(tokens.comparatorOp+="|\\!"+t)}();var newQuery=function(){return{checks:[]}},Type={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},stateSelectors=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return descending$2(e.selector,t.selector)})),lookup=function(){for(var e,t={},r=0;r0&&c.edgeCount>0)return warn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(c.edgeCount>1)return warn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===c.edgeCount&&warn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString$2=function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return string$1(t)?'"'+t+'"':e(t)},r=function(e){return" "+e+" "},a=function(a,i){var o=a.type,l=a.value;switch(o){case Type.GROUP:var s=e(l);return s.substring(0,s.length-1);case Type.DATA_COMPARE:var c=a.field,u=a.operator;return"["+c+r(e(u))+t(l)+"]";case Type.DATA_BOOL:var f=a.operator,A=a.field;return"["+e(f)+A+"]";case Type.DATA_EXIST:return"["+a.field+"]";case Type.META_COMPARE:var d=a.operator;return"[["+a.field+r(e(d))+t(l)+"]]";case Type.STATE:return l;case Type.ID:return"#"+l;case Type.CLASS:return"."+l;case Type.PARENT:case Type.CHILD:return n(a.parent,i)+r(">")+n(a.child,i);case Type.ANCESTOR:case Type.DESCENDANT:return n(a.ancestor,i)+" "+n(a.descendant,i);case Type.COMPOUND_SPLIT:var p=n(a.left,i),h=n(a.subject,i),b=n(a.right,i);return p+(p.length>0?" ":"")+h+b;case Type.TRUE:return""}},n=function(e,t){return e.checks.reduce((function(r,n,i){return r+(t===e&&0===i?"$":"")+a(n,t)}),"")},i="",o=0;o1&&o=0&&(t=t.replace("!",""),u=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),c=!0),(o||s||c)&&(n=o||l?""+e:"",i=""+r),c&&(e=n=n.toLowerCase(),r=i=i.toLowerCase()),t){case"*=":a=n.indexOf(i)>=0;break;case"$=":a=n.indexOf(i,n.length-i.length)>=0;break;case"^=":a=0===n.indexOf(i);break;case"=":a=e===r;break;case">":f=!0,a=e>r;break;case">=":f=!0,a=e>=r;break;case"<":f=!0,a=e0;){var c=n.shift();t(c),i.add(c.id()),o&&a(n,i,c)}return e}function addChildren(e,t,r){if(r.isParent())for(var a=r._private.children,n=0;n1&&void 0!==arguments[1])||arguments[1],addChildren)},elesfn$f.forEachUp=function(e){return forEachCompound(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],addParent)},elesfn$f.forEachUpAndDown=function(e){return forEachCompound(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],addParentAndChildren)},elesfn$f.ancestors=elesfn$f.parents,fn$5=elesfn$e={data:define$4.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:define$4.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:define$4.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:define$4.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:define$4.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:define$4.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}},fn$5.attr=fn$5.data,fn$5.removeAttr=fn$5.removeData;var data=elesfn$e,elesfn$d={},fn$4,elesfn$c;function defineDegreeFunction(e){return function(t){var r=this;if(void 0===t&&(t=!0),0!==r.length&&r.isNode()&&!r.removed()){for(var a=0,n=r[0],i=n._private.edges,o=0;ot})),minIndegree:defineDegreeBoundsFunction("indegree",(function(e,t){return et})),minOutdegree:defineDegreeBoundsFunction("outdegree",(function(e,t){return et}))}),extend$3(elesfn$d,{totalDegree:function(e){for(var t=0,r=this.nodes(),a=0;a0,u=c;c&&(s=s[0]);var f=u?s.position():{x:0,y:0};return n={x:l.x-f.x,y:l.y-f.y},void 0===e?n:n[e]}for(var A=0;A0,b=h;h&&(p=p[0]);var g=b?p.position():{x:0,y:0};void 0!==t?d.position(e,t+g[e]):void 0!==n&&d.position({x:n.x+g.x,y:n.y+g.y})}}else if(!i)return;return this}},fn$4.modelPosition=fn$4.point=fn$4.position,fn$4.modelPositions=fn$4.points=fn$4.positions,fn$4.renderedPoint=fn$4.renderedPosition,fn$4.relativePoint=fn$4.relativePosition;var position$1=elesfn$c,fn$3,elesfn$b;fn$3=elesfn$b={},elesfn$b.renderedBoundingBox=function(e){var t=this.boundingBox(e),r=this.cy(),a=r.zoom(),n=r.pan(),i=t.x1*a+n.x,o=t.x2*a+n.x,l=t.y1*a+n.y,s=t.y2*a+n.y;return{x1:i,x2:o,y1:l,y2:s,w:o-i,h:s-l}},elesfn$b.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var r=t._private;r.compoundBoundsClean=!1,r.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},elesfn$b.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function r(e){if(e.isParent()){var t=e._private,r=e.children(),a="include"===e.pstyle("compound-sizing-wrt-labels").value,n={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},i=r.boundingBox({includeLabels:a,includeOverlays:!1,useCache:!1}),o=t.position;0!==i.w&&0!==i.h||((i={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-i.w/2,i.x2=o.x+i.w/2,i.y1=o.y-i.h/2,i.y2=o.y+i.h/2);var l=n.width.left.value;"px"===n.width.left.units&&n.width.val>0&&(l=100*l/n.width.val);var s=n.width.right.value;"px"===n.width.right.units&&n.width.val>0&&(s=100*s/n.width.val);var c=n.height.top.value;"px"===n.height.top.units&&n.height.val>0&&(c=100*c/n.height.val);var u=n.height.bottom.value;"px"===n.height.bottom.units&&n.height.val>0&&(u=100*u/n.height.val);var f=g(n.width.val-i.w,l,s),A=f.biasDiff,d=f.biasComplementDiff,p=g(n.height.val-i.h,c,u),h=p.biasDiff,b=p.biasComplementDiff;t.autoPadding=function(e,t,r,a){if("%"!==r.units)return"px"===r.units?r.pfValue:0;switch(a){case"width":return e>0?r.pfValue*e:0;case"height":return t>0?r.pfValue*t:0;case"average":return e>0&&t>0?r.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?r.pfValue*t:r.pfValue*e:0;case"max":return e>0&&t>0?e>t?r.pfValue*e:r.pfValue*t:0;default:return 0}}(i.w,i.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(i.w,n.width.val),o.x=(-A+i.x1+i.x2+d)/2,t.autoHeight=Math.max(i.h,n.height.val),o.y=(-h+i.y1+i.y2+b)/2}function g(e,t,r){var a=0,n=0,i=t+r;return e>0&&i>0&&(a=t/i*e,n=r/i*e),{biasDiff:a,biasComplementDiff:n}}}for(var a=0;ae.x2?a:e.x2,e.y1=re.y2?n:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},updateBoundsFromBox=function(e,t){return null==t?e:updateBounds(e,t.x1,t.y1,t.x2,t.y2)},prefixedProperty=function(e,t,r){return getPrefixedProperty(e,t,r)},updateBoundsFromArrow=function(e,t,r){if(!t.cy().headless()){var a,n,i=t._private,o=i.rstyle,l=o.arrowWidth/2;if("none"!==t.pstyle(r+"-arrow-shape").value){"source"===r?(a=o.srcX,n=o.srcY):"target"===r?(a=o.tgtX,n=o.tgtY):(a=o.midX,n=o.midY);var s=i.arrowBounds=i.arrowBounds||{},c=s[r]=s[r]||{};c.x1=a-l,c.y1=n-l,c.x2=a+l,c.y2=n+l,c.w=c.x2-c.x1,c.h=c.y2-c.y1,expandBoundingBox(c,1),updateBounds(e,c.x1,c.y1,c.x2,c.y2)}}},updateBoundsFromLabel=function(e,t,r){if(!t.cy().headless()){var a;a=r?r+"-":"";var n=t._private,i=n.rstyle;if(t.pstyle(a+"label").strValue){var o,l,s,c,u=t.pstyle("text-halign"),f=t.pstyle("text-valign"),A=prefixedProperty(i,"labelWidth",r),d=prefixedProperty(i,"labelHeight",r),p=prefixedProperty(i,"labelX",r),h=prefixedProperty(i,"labelY",r),b=t.pstyle(a+"text-margin-x").pfValue,g=t.pstyle(a+"text-margin-y").pfValue,m=t.isEdge(),v=t.pstyle(a+"text-rotation"),y=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,k=t.pstyle("text-background-padding").pfValue,x=d,E=A,_=E/2,C=x/2;if(m)o=p-_,l=p+_,s=h-C,c=h+C;else{switch(u.value){case"left":o=p-E,l=p;break;case"center":o=p-_,l=p+_;break;case"right":o=p,l=p+E}switch(f.value){case"top":s=h-x,c=h;break;case"center":s=h-C,c=h+C;break;case"bottom":s=h,c=h+x}}o+=b-Math.max(y,w)-k-2,l+=b+Math.max(y,w)+k+2,s+=g-Math.max(y,w)-k-2,c+=g+Math.max(y,w)+k+2;var $=r||"main",T=n.labelBounds,O=T[$]=T[$]||{};O.x1=o,O.y1=s,O.x2=l,O.y2=c,O.w=l-o,O.h=c-s;var S=m&&"autorotate"===v.strValue,I=null!=v.pfValue&&0!==v.pfValue;if(S||I){var M=S?prefixedProperty(n.rstyle,"labelAngle",r):v.pfValue,B=Math.cos(M),R=Math.sin(M),P=(o+l)/2,L=(s+c)/2;if(!m){switch(u.value){case"left":P=l;break;case"right":P=o}switch(f.value){case"top":L=c;break;case"bottom":L=s}}var D=function(e,t){return{x:(e-=P)*B-(t-=L)*R+P,y:e*R+t*B+L}},z=D(o,s),F=D(o,c),N=D(l,s),j=D(l,c);o=Math.min(z.x,F.x,N.x,j.x),l=Math.max(z.x,F.x,N.x,j.x),s=Math.min(z.y,F.y,N.y,j.y),c=Math.max(z.y,F.y,N.y,j.y)}var V=$+"Rot",G=T[V]=T[V]||{};G.x1=o,G.y1=s,G.x2=l,G.y2=c,G.w=l-o,G.h=c-s,updateBounds(e,o,s,l,c),updateBounds(n.labelBounds.all,o,s,l,c)}return e}},boundingBoxImpl=function(e,t){var r,a,n,i,o,l,s=e._private.cy,c=s.styleEnabled(),u=s.headless(),f=makeBoundingBox(),A=e._private,d=e.isNode(),p=e.isEdge(),h=A.rstyle,b=d&&c?e.pstyle("bounds-expansion").pfValue:[0],g=function(e){return"none"!==e.pstyle("display").value},m=!c||g(e)&&(!p||g(e.source())&&g(e.target()));if(m){var v=0;c&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(v=e.pstyle("overlay-padding").value);var y=0;c&&t.includeUnderlays&&0!==e.pstyle("underlay-opacity").value&&(y=e.pstyle("underlay-padding").value);var w=Math.max(v,y),k=0;if(c&&(k=e.pstyle("width").pfValue/2),d&&t.includeNodes){var x=e.position();o=x.x,l=x.y;var E=e.outerWidth()/2,_=e.outerHeight()/2;updateBounds(f,r=o-E,n=l-_,a=o+E,i=l+_)}else if(p&&t.includeEdges)if(c&&!u){var C=e.pstyle("curve-style").strValue;if(r=Math.min(h.srcX,h.midX,h.tgtX),a=Math.max(h.srcX,h.midX,h.tgtX),n=Math.min(h.srcY,h.midY,h.tgtY),i=Math.max(h.srcY,h.midY,h.tgtY),updateBounds(f,r-=k,n-=k,a+=k,i+=k),"haystack"===C){var $=h.haystackPts;if($&&2===$.length){if(r=$[0].x,n=$[0].y,r>(a=$[1].x)){var T=r;r=a,a=T}if(n>(i=$[1].y)){var O=n;n=i,i=O}updateBounds(f,r-k,n-k,a+k,i+k)}}else if("bezier"===C||"unbundled-bezier"===C||"segments"===C||"taxi"===C){var S;switch(C){case"bezier":case"unbundled-bezier":S=h.bezierPts;break;case"segments":case"taxi":S=h.linePts}if(null!=S)for(var I=0;I(a=R.x)){var P=r;r=a,a=P}if((n=B.y)>(i=R.y)){var L=n;n=i,i=L}updateBounds(f,r-=k,n-=k,a+=k,i+=k)}if(c&&t.includeEdges&&p&&(updateBoundsFromArrow(f,e,"mid-source"),updateBoundsFromArrow(f,e,"mid-target"),updateBoundsFromArrow(f,e,"source"),updateBoundsFromArrow(f,e,"target")),c)if("yes"===e.pstyle("ghost").value){var D=e.pstyle("ghost-offset-x").pfValue,z=e.pstyle("ghost-offset-y").pfValue;updateBounds(f,f.x1+D,f.y1+z,f.x2+D,f.y2+z)}var F=A.bodyBounds=A.bodyBounds||{};assignBoundingBox(F,f),expandBoundingBoxSides(F,b),expandBoundingBox(F,1),c&&(r=f.x1,a=f.x2,n=f.y1,i=f.y2,updateBounds(f,r-w,n-w,a+w,i+w));var N=A.overlayBounds=A.overlayBounds||{};assignBoundingBox(N,f),expandBoundingBoxSides(N,b),expandBoundingBox(N,1);var j=A.labelBounds=A.labelBounds||{};null!=j.all?clearBoundingBox(j.all):j.all=makeBoundingBox(),c&&t.includeLabels&&(t.includeMainLabels&&updateBoundsFromLabel(f,e,null),p&&(t.includeSourceLabels&&updateBoundsFromLabel(f,e,"source"),t.includeTargetLabels&&updateBoundsFromLabel(f,e,"target")))}return f.x1=noninf(f.x1),f.y1=noninf(f.y1),f.x2=noninf(f.x2),f.y2=noninf(f.y2),f.w=noninf(f.x2-f.x1),f.h=noninf(f.y2-f.y1),f.w>0&&f.h>0&&m&&(expandBoundingBoxSides(f,b),expandBoundingBox(f,1)),f},getKey=function(e){var t=0,r=function(e){return(e?1:0)<0&&void 0!==arguments[0]?arguments[0]:emptyOpts,t=arguments.length>1?arguments[1]:void 0,r=0;r=0;l--)o(l);return this},p.removeAllListeners=function(){return this.removeListener("*")},p.emit=p.trigger=function(e,t,r){var a=this.listeners,n=a.length;return this.emitting++,array$4(t)||(t=[t]),forEachEventObj(this,(function(e,i){null!=r&&(a=[{event:i.event,type:i.type,namespace:i.namespace,callback:r}],n=a.length);for(var o=function(r){var n=a[r];if(n.type===i.type&&(!n.namespace||n.namespace===i.namespace||n.namespace===universalNamespace)&&e.eventMatches(e.context,n,i)){var o=[i];null!=t&&push(o,t),e.beforeEmit(e.context,n,i),n.conf&&n.conf.one&&(e.listeners=e.listeners.filter((function(e){return e!==n})));var l=e.callbackContext(e.context,n,i),s=n.callback.apply(l,o);e.afterEmit(e.context,n,i),!1===s&&(i.stopPropagation(),i.preventDefault())}},l=0;l1&&!a){var n=this.length-1,i=this[n],o=i._private.data.id;this[n]=void 0,this[e]=i,r.set(o,{ele:i,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,r=e._private.data.id,a=t.map.get(r);if(!a)return this;var n=a.index;return this.unmergeAt(n),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&string$1(e)){var r=e;e=t.mutableElements().filter(r)}for(var a=0;a=0;t--){e(this[t])&&this.unmergeAt(t)}return this},map:function(e,t){for(var r=[],a=this,n=0;na&&(a=l,r=o)}return{value:a,ele:r}},min:function(e,t){for(var r,a=1/0,n=this,i=0;i=0&&n1&&void 0!==arguments[1])||arguments[1],r=this[0],a=r.cy();if(a.styleEnabled()&&r){this.cleanStyle();var n=r._private.style[e];return null!=n?n:t?a.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var r=t.pstyle(e);return void 0!==r.pfValue?r.pfValue:r.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var r=this[0];return r?t.style().getRenderedStyle(r,e):void 0},style:function(e,t){var r=this.cy();if(!r.styleEnabled())return this;var a=r.style();if(plainObject(e)){var n=e;a.applyBypass(this,n,false),this.emitAndNotify("style")}else if(string$1(e)){if(void 0===t){var i=this[0];return i?a.getStylePropertyValue(i,e):void 0}a.applyBypass(this,e,t,false),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?a.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var r=t.style(),a=this;if(void 0===e)for(var n=0;n0&&t.push(u[0]),t.push(l[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),elesfn$2.neighbourhood=elesfn$2.neighborhood,elesfn$2.closedNeighbourhood=elesfn$2.closedNeighborhood,elesfn$2.openNeighbourhood=elesfn$2.openNeighborhood,extend$3(elesfn$2,{source:cache$1((function(e){var t,r=this[0];return r&&(t=r._private.source||r.cy().collection()),t&&e?t.filter(e):t}),"source"),target:cache$1((function(e){var t,r=this[0];return r&&(t=r._private.target||r.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:defineSourceFunction({attr:"source"}),targets:defineSourceFunction({attr:"target"})}),extend$3(elesfn$2,{edgesWith:cache$1(defineEdgesWithFunction(),"edgesWith"),edgesTo:cache$1(defineEdgesWithFunction({thisIsSrc:!0}),"edgesTo")}),extend$3(elesfn$2,{connectedEdges:cache$1((function(e){for(var t=[],r=0;r0);return i},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),elesfn$2.componentsOf=elesfn$2.components;var Collection=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var n=new Map$1$1,i=!1;if(t){if(t.length>0&&plainObject(t[0])&&!element(t[0])){i=!0;for(var o=[],l=new Set$1$1,s=0,c=t.length;s0&&void 0!==arguments[0])||arguments[0],a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,i=n.cy(),o=i._private,l=[],s=[],c=0,u=n.length;c0){for(var R=e.length===n.length?n:new Collection(i,e),P=0;P0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this,a=[],n={},i=r._private.cy;function o(e){var r=n[e.id()];t&&e.removed()||r||(n[e.id()]=!0,e.isNode()?(a.push(e),function(e){for(var t=e._private.edges,r=0;r0&&(e?x.emitAndNotify("remove"):t&&x.emit("remove"));for(var E=0;E=.001?function(t,a){for(var i=0;i0?n=s:a=s}while(Math.abs(l)>i&&++cf&&Math.abs(l.v)>f;);return i?function(e){return c[e*(c.length-1)|0]}:u}}(),cubicBezier=function(e,t,r,a){var n=generateCubicBezier(e,t,r,a);return function(e,t,r){return e+(t-e)*n(r)}},easings={linear:function(e,t,r){return e+(t-e)*r},ease:cubicBezier(.25,.1,.25,1),"ease-in":cubicBezier(.42,0,1,1),"ease-out":cubicBezier(0,0,.58,1),"ease-in-out":cubicBezier(.42,0,.58,1),"ease-in-sine":cubicBezier(.47,0,.745,.715),"ease-out-sine":cubicBezier(.39,.575,.565,1),"ease-in-out-sine":cubicBezier(.445,.05,.55,.95),"ease-in-quad":cubicBezier(.55,.085,.68,.53),"ease-out-quad":cubicBezier(.25,.46,.45,.94),"ease-in-out-quad":cubicBezier(.455,.03,.515,.955),"ease-in-cubic":cubicBezier(.55,.055,.675,.19),"ease-out-cubic":cubicBezier(.215,.61,.355,1),"ease-in-out-cubic":cubicBezier(.645,.045,.355,1),"ease-in-quart":cubicBezier(.895,.03,.685,.22),"ease-out-quart":cubicBezier(.165,.84,.44,1),"ease-in-out-quart":cubicBezier(.77,0,.175,1),"ease-in-quint":cubicBezier(.755,.05,.855,.06),"ease-out-quint":cubicBezier(.23,1,.32,1),"ease-in-out-quint":cubicBezier(.86,0,.07,1),"ease-in-expo":cubicBezier(.95,.05,.795,.035),"ease-out-expo":cubicBezier(.19,1,.22,1),"ease-in-out-expo":cubicBezier(1,0,0,1),"ease-in-circ":cubicBezier(.6,.04,.98,.335),"ease-out-circ":cubicBezier(.075,.82,.165,1),"ease-in-out-circ":cubicBezier(.785,.135,.15,.86),spring:function(e,t,r){if(0===r)return easings.linear;var a=generateSpringRK4(e,t,r);return function(e,t,r){return e+(t-e)*a(r)}},"cubic-bezier":cubicBezier};function getEasedValue(e,t,r,a,n){if(1===a)return r;if(t===r)return r;var i=n(t,r,a);return null==e||((e.roundValue||e.color)&&(i=Math.round(i)),void 0!==e.min&&(i=Math.max(i,e.min)),void 0!==e.max&&(i=Math.min(i,e.max))),i}function getValue$2(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function ease(e,t,r,a,n){var i=null!=n?n.type:null;r<0?r=0:r>1&&(r=1);var o=getValue$2(e,n),l=getValue$2(t,n);if(number$1$1(o)&&number$1$1(l))return getEasedValue(i,o,l,r,a);if(array$4(o)&&array$4(l)){for(var s=[],c=0;c0?("spring"===f&&A.push(o.duration),o.easingImpl=easings[f].apply(null,A)):o.easingImpl=easings[f]}var d,p=o.easingImpl;if(d=0===o.duration?1:(r-s)/o.duration,o.applying&&(d=o.progress),d<0?d=0:d>1&&(d=1),null==o.delay){var h=o.startPosition,b=o.position;if(b&&n&&!e.locked()){var g={};valid(h.x,b.x)&&(g.x=ease(h.x,b.x,d,p)),valid(h.y,b.y)&&(g.y=ease(h.y,b.y,d,p)),e.position(g)}var m=o.startPan,v=o.pan,y=i.pan,w=null!=v&&a;w&&(valid(m.x,v.x)&&(y.x=ease(m.x,v.x,d,p)),valid(m.y,v.y)&&(y.y=ease(m.y,v.y,d,p)),e.emit("pan"));var k=o.startZoom,x=o.zoom,E=null!=x&&a;E&&(valid(k,x)&&(i.zoom=bound(i.minZoom,ease(k,x,d,p),i.maxZoom)),e.emit("zoom")),(w||E)&&e.emit("viewport");var _=o.style;if(_&&_.length>0&&n){for(var C=0;C<_.length;C++){var $=_[C],T=$.name,O=$,S=o.startStyle[T],I=ease(S,O,d,p,c.properties[S.name]);c.overrideBypass(e,T,I)}e.emit("style")}}return o.progress=d,d}function valid(e,t){return null!=e&&null!=t&&(!(!number$1$1(e)||!number$1$1(t))||!(!e||!t))}function startAnimation(e,t,r,a){var n=t._private;n.started=!0,n.startTime=r-n.progress*n.duration}function stepAll(e,t){var r=t._private.aniEles,a=[];function n(t,r){var n=t._private,i=n.animation.current,o=n.animation.queue,l=!1;if(0===i.length){var s=o.shift();s&&i.push(s)}for(var c=function(e){for(var t=e.length-1;t>=0;t--){(0,e[t])()}e.splice(0,e.length)},u=i.length-1;u>=0;u--){var f=i[u],A=f._private;A.stopped?(i.splice(u,1),A.hooked=!1,A.playing=!1,A.started=!1,c(A.frames)):(A.playing||A.applying)&&(A.playing&&A.applying&&(A.applying=!1),A.started||startAnimation(t,f,e),step$1(t,f,e,r),A.applying&&(A.applying=!1),c(A.frames),null!=A.step&&A.step(e),f.completed()&&(i.splice(u,1),A.hooked=!1,A.playing=!1,A.started=!1,c(A.completes)),l=!0)}return r||0!==i.length||0!==o.length||a.push(t),l}for(var i=!1,o=0;o0?t.notify("draw",r):t.notify("draw")),r.unmerge(a),t.emit("step")}var corefn$8={animate:define$4.animate(),animation:define$4.animation(),animated:define$4.animated(),clearQueue:define$4.clearQueue(),delay:define$4.delay(),delayAnimation:define$4.delayAnimation(),stop:define$4.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,r){stepAll(r,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&requestAnimationFrame$1((function(r){stepAll(r,e),t()}))}()}}},emitterOptions={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,r){var a=t.qualifier;return null==a||e!==r.target&&element(r.target)&&a.matches(r.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,r){return null!=t.qualifier?r.target:e}},argSelector=function(e){return string$1(e)?new Selector$2(e):e},elesfn={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Emitter(emitterOptions,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,r){return this.emitter().on(e,argSelector(t),r),this},removeListener:function(e,t,r){return this.emitter().removeListener(e,argSelector(t),r),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,r){return this.emitter().one(e,argSelector(t),r),this},once:function(e,t,r){return this.emitter().one(e,argSelector(t),r),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};define$4.eventAliasesOn(elesfn);var corefn$7={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};corefn$7.jpeg=corefn$7.jpg;var corefn$6={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var r=e.name,a=t.extension("layout",r);if(null!=a){var n;n=string$1(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$();var i=new a(extend$3({},e,{cy:t,eles:n}));return i}error("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else error("A `name` must be specified to make a layout");else error("Layout options must be specified to make a layout")}};corefn$6.createLayout=corefn$6.makeLayout=corefn$6.layout;var corefn$5={notify:function(e,t){var r=this._private;if(this.batching()){r.batchNotifications=r.batchNotifications||{};var a=r.batchNotifications[e]=r.batchNotifications[e]||this.collection();null!=t&&a.merge(t)}else if(r.notificationsEnabled){var n=this.renderer();!this.destroyed()&&n&&n.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(r){var a=e.batchNotifications[r];a.empty()?t.notify(r):t.notify(r,a)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var r=Object.keys(e),a=0;a0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};corefn$4.invalidateDimensions=corefn$4.resize;var corefn$3={collection:function(e,t){return string$1(e)?this.$(e):elementOrCollection(e)?e.collection():array$4(e)?(t||(t={}),new Collection(this,e,t.unique,t.removed)):new Collection(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};corefn$3.elements=corefn$3.filter=corefn$3.$;var styfn$8={},TRUE="t",FALSE="f";styfn$8.apply=function(e){for(var t=this,r=t._private.cy.collection(),a=0;a0;if(A||f&&d){var p=void 0;A&&d||A?p=c.properties:d&&(p=c.mappedProperties);for(var h=0;h1&&(b=1),l.color){var w=n.valueMin[0],k=n.valueMax[0],x=n.valueMin[1],E=n.valueMax[1],_=n.valueMin[2],C=n.valueMax[2],$=null==n.valueMin[3]?1:n.valueMin[3],T=null==n.valueMax[3]?1:n.valueMax[3],O=[Math.round(w+(k-w)*b),Math.round(x+(E-x)*b),Math.round(_+(C-_)*b),Math.round($+(T-$)*b)];r={bypass:n.bypass,name:n.name,value:O,strValue:"rgb("+O[0]+", "+O[1]+", "+O[2]+")"}}else{if(!l.number)return!1;var S=n.valueMin+(n.valueMax-n.valueMin)*b;r=this.parse(n.name,S,n.bypass,A)}if(!r)return h(),!1;r.mapping=n,n=r;break;case o.data:for(var I=n.field.split("."),M=f.data,B=0;B0&&i>0){for(var l={},s=!1,c=0;c0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:l,duration:i,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){r.removeBypasses(e,n),e.emitAndNotify("style"),a.transitioning=!1}))}else a.transitioning&&(this.removeBypasses(e,n),e.emitAndNotify("style"),a.transitioning=!1)},styfn$8.checkTrigger=function(e,t,r,a,n,i){var o=this.properties[t],l=n(o);null!=l&&l(r,a)&&i(o)},styfn$8.checkZOrderTrigger=function(e,t,r,a){var n=this;this.checkTrigger(e,t,r,a,(function(e){return e.triggersZOrder}),(function(){n._private.cy.notify("zorder",e)}))},styfn$8.checkBoundsTrigger=function(e,t,r,a){this.checkTrigger(e,t,r,a,(function(e){return e.triggersBounds}),(function(n){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!n.triggersBoundsOfParallelBeziers||("curve-style"!==t||"bezier"!==r&&"bezier"!==a)&&("display"!==t||"none"!==r&&"none"!==a)||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()}))}))},styfn$8.checkTriggers=function(e,t,r,a){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,r,a),this.checkBoundsTrigger(e,t,r,a)};var styfn$7={applyBypass:function(e,t,r,a){var n=[];if("*"===t||"**"===t){if(void 0!==r)for(var i=0;it.length?i.substr(t.length):""}function l(){r=r.length>a.length?r.substr(a.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");;){if(i.match(/^\s*$/))break;var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){warn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var c=s[1];if("core"!==c)if(new Selector$2(c).invalid){warn("Skipping parsing of block: Invalid selector found in string stylesheet: "+c),o();continue}var u=s[2],f=!1;r=u;for(var A=[];;){if(r.match(/^\s*$/))break;var d=r.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){warn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),f=!0;break}a=d[0];var p=d[1],h=d[2];if(this.properties[p])n.parse(p,h)?(A.push({name:p,val:h}),l()):(warn("Skipping property: Invalid property definition in: "+a),l());else warn("Skipping property: Invalid property name in: "+a),l()}if(f){o();break}n.selector(c);for(var b=0;b=7&&"d"===t[0]&&(c=new RegExp(l.data.regex).exec(t))){if(r)return!1;var A=l.data;return{name:e,value:c,strValue:""+t,mapped:A,field:c[1],bypass:r}}if(t.length>=10&&"m"===t[0]&&(u=new RegExp(l.mapData.regex).exec(t))){if(r)return!1;if(f.multiple)return!1;var d=l.mapData;if(!f.color&&!f.number)return!1;var p=this.parse(e,u[4]);if(!p||p.mapped)return!1;var h=this.parse(e,u[5]);if(!h||h.mapped)return!1;if(p.pfValue===h.pfValue||p.strValue===h.strValue)return warn("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(f.color){var b=p.value,g=h.value;if(!(b[0]!==g[0]||b[1]!==g[1]||b[2]!==g[2]||b[3]!==g[3]&&(null!=b[3]&&1!==b[3]||null!=g[3]&&1!==g[3])))return!1}return{name:e,value:u,strValue:""+t,mapped:d,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:p.value,valueMax:h.value,bypass:r}}}if(f.multiple&&"multiple"!==a){var m;if(m=s?t.split(/\s+/):array$4(t)?t:[t],f.evenMultiple&&m.length%2!=0)return null;for(var v=[],y=[],w=[],k="",x=!1,E=0;E0?" ":"")+_.strValue}return f.validate&&!f.validate(v,y)?null:f.singleEnum&&x?1===v.length&&string$1(v[0])?{name:e,value:v[0],strValue:v[0],bypass:r}:null:{name:e,value:v,pfValue:w,strValue:k,bypass:r,units:y}}var C=function(){for(var a=0;af.max||f.strictMax&&t===f.max))return null;var I={name:e,value:t,strValue:""+t+($||""),units:$,bypass:r};return f.unitless||"px"!==$&&"em"!==$?I.pfValue=t:I.pfValue="px"!==$&&$?this.getEmSizeInPixels()*t:t,"ms"!==$&&"s"!==$||(I.pfValue="ms"===$?t:1e3*t),"deg"!==$&&"rad"!==$||(I.pfValue="rad"===$?t:deg2rad$1(t)),"%"===$&&(I.pfValue=t/100),I}if(f.propList){var M=[],B=""+t;if("none"===B);else{for(var R=B.split(/\s*,\s*|\s+/),P=0;P0&&l>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0)return{zoom:i=(i=(i=Math.min((o-2*t)/r.w,(l-2*t)/r.h))>this._private.maxZoom?this._private.maxZoom:i)=r.minZoom&&(r.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,r,a=this._private,n=a.pan,i=a.zoom,o=!1;if(a.zoomingEnabled||(o=!0),number$1$1(e)?r=e:plainObject(e)&&(r=e.level,null!=e.position?t=modelToRenderedPosition(e.position,i,n):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||a.panningEnabled||(o=!0)),r=(r=r>a.maxZoom?a.maxZoom:r)t.maxZoom||!t.zoomingEnabled?i=!0:(t.zoom=l,n.push("zoom"))}if(a&&(!i||!e.cancelOnFailedZoom)&&t.panningEnabled){var s=e.pan;number$1$1(s.x)&&(t.pan.x=s.x,o=!1),number$1$1(s.y)&&(t.pan.y=s.y,o=!1),o||n.push("pan")}return n.length>0&&(n.push("viewport"),this.emit(n.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(string$1(e)){var r=e;e=this.mutableElements().filter(r)}else elementOrCollection(e)||(e=this.mutableElements());if(0!==e.length){var a=e.boundingBox(),n=this.width(),i=this.height();return{x:(n-(t=void 0===t?this._private.zoom:t)*(a.x1+a.x2))/2,y:(i-t*(a.y1+a.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,t=e.container;return e.sizeCache=e.sizeCache||(t?function(){var e=window$1.getComputedStyle(t),r=function(t){return parseFloat(e.getPropertyValue(t))};return{width:t.clientWidth-r("padding-left")-r("padding-right"),height:t.clientHeight-r("padding-top")-r("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,r=this.renderedExtent(),a={x1:(r.x1-e.x)/t,x2:(r.x2-e.x)/t,y1:(r.y1-e.y)/t,y2:(r.y2-e.y)/t};return a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};corefn$1.centre=corefn$1.center,corefn$1.autolockNodes=corefn$1.autolock,corefn$1.autoungrabifyNodes=corefn$1.autoungrabify;var fn={data:define$4.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:define$4.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:define$4.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:define$4.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};fn.attr=fn.data,fn.removeAttr=fn.removeData;var Core=function(e){var t=this,r=(e=extend$3({},e)).container;r&&!htmlElement(r)&&htmlElement(r[0])&&(r=r[0]);var a=r?r._cyreg:null;(a=a||{})&&a.cy&&(a.cy.destroy(),a={});var n=a.readies=a.readies||[];r&&(r._cyreg=a),a.cy=t;var i=void 0!==window$1&&void 0!==r&&!e.headless,o=e;o.layout=extend$3({name:i?"grid":"null"},o.layout),o.renderer=extend$3({name:i?"canvas":"null"},o.renderer);var l=function(e,t,r){return void 0!==t?t:void 0!==r?r:e},s=this._private={container:r,ready:!1,options:o,elements:new Collection(this),listeners:[],aniEles:new Collection(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?i:o.styleEnabled,zoom:number$1$1(o.zoom)?o.zoom:1,pan:{x:plainObject(o.pan)&&number$1$1(o.pan.x)?o.pan.x:0,y:plainObject(o.pan)&&number$1$1(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});s.styleEnabled&&t.setStyle([]);var c=extend$3({},o,o.renderer);t.initRenderer(c);!function(e,t){if(e.some(promise$3))return Promise$1$1.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var r=e[0],i=e[1];s.styleEnabled&&t.style().append(r),function(e,r,a){t.notifications(!1);var n=t.mutableElements();n.length>0&&n.remove(),null!=e&&(plainObject(e)||array$4(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",r),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",a),t.emit("done")}));var i=extend$3({},t._private.options.layout);i.eles=t.elements(),t.layout(i).run()}(i,(function(){t.startAnimationLoop(),s.ready=!0,fn$6(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,c=makeBoundingBox(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()});if(elementOrCollection(r.roots))e=r.roots;else if(array$4(r.roots)){for(var u=[],f=0;f0;){var O=C.shift(),S=_(O,$);if(S)O.outgoers().filter((function(e){return e.isNode()&&n.has(e)})).forEach(T);else if(null===S){warn("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}E();var I=0;if(r.avoidOverlap)for(var M=0;M0&&g[0].length<=3?s/2:0),f=2*Math.PI/g[a].length*n;return 0===a&&1===g[0].length&&(u=1),{x:H+u*Math.cos(f),y:W+u*Math.sin(f)}}return{x:H+(n+1-(i+1)/2)*o,y:(a+1)*l}})),this};var defaults$6={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function CircleLayout(e){this.options=extend$3({},defaults$6,e)}CircleLayout.prototype.run=function(){var e=this.options,t=e,r=e.cy,a=t.eles,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,i=a.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));for(var o,l=makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=l.x1+l.w/2,c=l.y1+l.h/2,u=(void 0===t.sweep?2*Math.PI-2*Math.PI/i.length:t.sweep)/Math.max(1,i.length-1),f=0,A=0;A1&&t.avoidOverlap){f*=1.75;var b=Math.cos(u)-Math.cos(0),g=Math.sin(u)-Math.sin(0),m=Math.sqrt(f*f/(b*b+g*g));o=Math.max(m,o)}return a.nodes().layoutPositions(this,t,(function(e,r){var a=t.startAngle+r*u*(n?1:-1),i=o*Math.cos(a),l=o*Math.sin(a);return{x:s+i,y:c+l}})),this};var defaults$5={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},DEBUG;function ConcentricLayout(e){this.options=extend$3({},defaults$5,e)}ConcentricLayout.prototype.run=function(){for(var e=this.options,t=e,r=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=e.cy,n=t.eles,i=n.nodes().not(":parent"),o=makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),l=o.x1+o.w/2,s=o.y1+o.h/2,c=[],u=0,f=0;f0)Math.abs(m[0].value-y.value)>=b&&(m=[],g.push(m));m.push(y)}var w=u+t.minNodeSpacing;if(!t.avoidOverlap){var k=g.length>0&&g[0].length>1,x=(Math.min(o.w,o.h)/2-w)/(g.length+k?1:0);w=Math.min(w,x)}for(var E=0,_=0;_1&&t.avoidOverlap){var O=Math.cos(T)-Math.cos(0),S=Math.sin(T)-Math.sin(0),I=Math.sqrt(w*w/(O*O+S*S));E=Math.max(I,E)}C.r=E,E+=w}if(t.equidistant){for(var M=0,B=0,R=0;R=e.numIter)&&(step$2(a,e),a.temperature=a.temperature*e.coolingFactor,!(a.temperature=e.animationThreshold&&i(),requestAnimationFrame$1(t)):(separateComponents(a,e),l())}()}else{for(;c;)c=o(s),s++;separateComponents(a,e),l()}return this},CoseLayout.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},CoseLayout.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var createLayoutInfo=function(e,t,r){for(var a=r.eles.edges(),n=r.eles.nodes(),i={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:n.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:a.size(),temperature:r.initialTemp,clientWidth:e.width(),clientHeight:e.width(),boundingBox:makeBoundingBox(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()})},o=r.eles.components(),l={},s=0;s0){i.graphSet.push(y);for(s=0;sa.count?0:a.graph},findLCA_aux=function e(t,r,a,n){var i=n.graphSet[a];if(-10)var l=(c=a.nodeOverlap*o)*n/(h=Math.sqrt(n*n+i*i)),s=c*i/h;else{var c,u=findClippingPoint(e,n,i),f=findClippingPoint(t,-1*n,-1*i),A=f.x-u.x,d=f.y-u.y,p=A*A+d*d,h=Math.sqrt(p);l=(c=(e.nodeRepulsion+t.nodeRepulsion)/p)*A/h,s=c*d/h}e.isLocked||(e.offsetX-=l,e.offsetY-=s),t.isLocked||(t.offsetX+=l,t.offsetY+=s)}},nodesOverlap=function(e,t,r,a){if(r>0)var n=e.maxX-t.minX;else n=t.maxX-e.minX;if(a>0)var i=e.maxY-t.minY;else i=t.maxY-e.minY;return n>=0&&i>=0?Math.sqrt(n*n+i*i):0},findClippingPoint=function(e,t,r){var a=e.positionX,n=e.positionY,i=e.height||1,o=e.width||1,l=r/t,s=i/o,c={};return 0===t&&0r?(c.x=a,c.y=n+i/2,c):0t&&-1*s<=l&&l<=s?(c.x=a-o/2,c.y=n-o*r/2/t,c):0=s)?(c.x=a+i*t/2/r,c.y=n+i/2,c):0>r&&(l<=-1*s||l>=s)?(c.x=a-i*t/2/r,c.y=n-i/2,c):c},calculateEdgeForces=function(e,t){for(var r=0;r1){var p=t.gravity*f/d,h=t.gravity*A/d;u.offsetX+=p,u.offsetY+=h}}}}},propagateForces=function(e,t){var r=[],a=0,n=-1;for(r.push.apply(r,e.graphSet[0]),n+=e.graphSet[0].length;a<=n;){var i=r[a++],o=e.idToIndex[i],l=e.layoutNodes[o],s=l.children;if(0r)var n={x:r*e/a,y:r*t/a};else n={x:e,y:t};return n},updateAncestryBoundaries=function e(t,r){var a=t.parentId;if(null!=a){var n=r.layoutNodes[r.idToIndex[a]],i=!1;return(null==n.maxX||t.maxX+n.padRight>n.maxX)&&(n.maxX=t.maxX+n.padRight,i=!0),(null==n.minX||t.minX-n.padLeftn.maxY)&&(n.maxY=t.maxY+n.padBottom,i=!0),(null==n.minY||t.minY-n.padTopp&&(f+=d+t.componentSpacing,u=0,A=0,d=0)}}},defaults$3={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function GridLayout(e){this.options=extend$3({},defaults$3,e)}GridLayout.prototype.run=function(){var e=this.options,t=e,r=e.cy,a=t.eles,n=a.nodes().not(":parent");t.sort&&(n=n.sort(t.sort));var i=makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(0===i.h||0===i.w)a.nodes().layoutPositions(this,t,(function(e){return{x:i.x1,y:i.y1}}));else{var o=n.size(),l=Math.sqrt(o*i.h/i.w),s=Math.round(l),c=Math.round(i.w/i.h*l),u=function(e){if(null==e)return Math.min(s,c);Math.min(s,c)==s?s=e:c=e},f=function(e){if(null==e)return Math.max(s,c);Math.max(s,c)==s?s=e:c=e},A=t.rows,d=null!=t.cols?t.cols:t.columns;if(null!=A&&null!=d)s=A,c=d;else if(null!=A&&null==d)s=A,c=Math.ceil(o/s);else if(null==A&&null!=d)c=d,s=Math.ceil(o/c);else if(c*s>o){var p=u(),h=f();(p-1)*h>=o?u(p-1):(h-1)*p>=o&&f(h-1)}else for(;c*s=o?f(g+1):u(b+1)}var m=i.w/c,v=i.h/s;if(t.condense&&(m=0,v=0),t.avoidOverlap)for(var y=0;y=c&&(I=0,S++)},B={},R=0;R(a=sqdistToFiniteLine(e,t,y[w],y[w+1],y[w+2],y[w+3])))return b(r,a),!0}else if("bezier"===i.edgeType||"multibezier"===i.edgeType||"self"===i.edgeType||"compound"===i.edgeType)for(y=i.allpts,w=0;w+5(a=sqdistToQuadraticBezier(e,t,y[w],y[w+1],y[w+2],y[w+3],y[w+4],y[w+5])))return b(r,a),!0;m=m||n.source,v=v||n.target;var k=o.getArrowWidth(s,u),x=[{name:"source",x:i.arrowStartX,y:i.arrowStartY,angle:i.srcArrowAngle},{name:"target",x:i.arrowEndX,y:i.arrowEndY,angle:i.tgtArrowAngle},{name:"mid-source",x:i.midX,y:i.midY,angle:i.midsrcArrowAngle},{name:"mid-target",x:i.midX,y:i.midY,angle:i.midtgtArrowAngle}];for(w=0;w0&&(g(m),g(v))}function v(e,t,r){return getPrefixedProperty(e,t,r)}function y(r,a){var n,i=r._private,o=p;n=a?a+"-":"",r.boundingBox();var l=i.labelBounds[a||"main"],s=r.pstyle(n+"label").value;if("yes"===r.pstyle("text-events").strValue&&s){var c=v(i.rscratch,"labelX",a),u=v(i.rscratch,"labelY",a),f=v(i.rscratch,"labelAngle",a),A=r.pstyle(n+"text-margin-x").pfValue,d=r.pstyle(n+"text-margin-y").pfValue,h=l.x1-o-A,g=l.x2+o-A,m=l.y1-o-d,y=l.y2+o-d;if(f){var w=Math.cos(f),k=Math.sin(f),x=function(e,t){return{x:(e-=c)*w-(t-=u)*k+c,y:e*k+t*w+u}},E=x(h,m),_=x(h,y),C=x(g,m),$=x(g,y),T=[E.x+A,E.y+d,C.x+A,C.y+d,$.x+A,$.y+d,_.x+A,_.y+d];if(pointInsidePolygonPoints(e,t,T))return b(r),!0}else if(inBoundingBox(l,e,t))return b(r),!0}}r&&(s=s.interactive);for(var w=s.length-1;w>=0;w--){var k=s[w];k.isNode()?g(k)||y(k):m(k)||y(k)||y(k,"source")||y(k,"target")}return c},getAllInBox:function(e,t,r,a){for(var n=this.getCachedZSortedEles().interactive,i=[],o=Math.min(e,r),l=Math.max(e,r),s=Math.min(t,a),c=Math.max(t,a),u=makeBoundingBox({x1:e=o,y1:t=s,x2:r=l,y2:a=c}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},$=C(E,k),T=C(_,x),O=!1;"auto"===b?h=Math.abs($)>Math.abs(T)?n:a:b===s||b===l?(h=a,O=!0):b!==i&&b!==o||(h=n,O=!0);var S,I=h===a,M=I?T:$,B=I?_:E,R=signum(B),P=!1;(O&&(m||y)||!(b===l&&B<0||b===s&&B>0||b===i&&B>0||b===o&&B<0)||(M=(R*=-1)*Math.abs(M),P=!0),m)?S=(v<0?1+v:v)*M:S=(v<0?M:0)+v*R;var L=function(e){return Math.abs(e)=Math.abs(M)},D=L(S),z=L(Math.abs(M)-Math.abs(S));if((D||z)&&!P)if(I){var F=Math.abs(B)<=f/2,N=Math.abs(E)<=A/2;if(F){var j=(c.x1+c.x2)/2,V=c.y1,G=c.y2;r.segpts=[j,V,j,G]}else if(N){var H=(c.y1+c.y2)/2,W=c.x1,Z=c.x2;r.segpts=[W,H,Z,H]}else r.segpts=[c.x1,c.y2]}else{var Y=Math.abs(B)<=u/2,Q=Math.abs(_)<=d/2;if(Y){var U=(c.y1+c.y2)/2,q=c.x1,J=c.x2;r.segpts=[q,U,J,U]}else if(Q){var X=(c.x1+c.x2)/2,K=c.y1,ee=c.y2;r.segpts=[X,K,X,ee]}else r.segpts=[c.x2,c.y1]}else if(I){var te=c.y1+S+(p?f/2*R:0),re=c.x1,ae=c.x2;r.segpts=[re,te,ae,te]}else{var ne=c.x1+S+(p?u/2*R:0),ie=c.y1,oe=c.y2;r.segpts=[ne,ie,ne,oe]}},BRp$c.tryToCorrectInvalidPoints=function(e,t){var r=e._private.rscratch;if("bezier"===r.edgeType){var a=t.srcPos,n=t.tgtPos,i=t.srcW,o=t.srcH,l=t.tgtW,s=t.tgtH,c=t.srcShape,u=t.tgtShape,f=!number$1$1(r.startX)||!number$1$1(r.startY),A=!number$1$1(r.arrowStartX)||!number$1$1(r.arrowStartY),d=!number$1$1(r.endX)||!number$1$1(r.endY),p=!number$1$1(r.arrowEndX)||!number$1$1(r.arrowEndY),h=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),b=dist$1({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),g=bA.poolIndex()){var d=f;f=A,A=d}var p=l.srcPos=f.position(),h=l.tgtPos=A.position(),b=l.srcW=f.outerWidth(),g=l.srcH=f.outerHeight(),m=l.tgtW=A.outerWidth(),v=l.tgtH=A.outerHeight(),y=l.srcShape=r.nodeShapes[t.getNodeShape(f)],w=l.tgtShape=r.nodeShapes[t.getNodeShape(A)];l.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var k=0;k0){var j=c,V=sqdist(j,array2point(t)),G=sqdist(j,array2point(N)),H=V;if(G2)sqdist(j,{x:N[2],y:N[3]})0){var ae=u,ne=sqdist(ae,array2point(t)),ie=sqdist(ae,array2point(re)),oe=ne;if(ie2)sqdist(ae,{x:re[2],y:re[3]})=c||m){u={cp:h,segment:g};break}}if(u)break}var v=u.cp,y=u.segment,w=(c-A)/y.length,k=y.t1-y.t0,x=l?y.t0+k*w:y.t1-k*w;x=bound(0,x,1),t=qbezierPtAt(v.p0,v.p1,v.p2,x),n=bezierAngle(v.p0,v.p1,v.p2,x);break;case"straight":case"segments":case"haystack":for(var E,_,C,$,T=0,O=a.allpts.length,S=0;S+3=c));S+=2);var I=(c-_)/E;I=bound(0,I,1),t=lineAt(C,$,I),n=lineAngle(C,$)}o("labelX",r,t.x),o("labelY",r,t.y),o("labelAutoAngle",r,n)}};c("source"),c("target"),this.applyLabelDimensions(e)}},BRp$9.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},BRp$9.applyPrefixedLabelDimensions=function(e,t){var r=e._private,a=this.getLabelText(e,t),n=this.calculateLabelDimensions(e,a),i=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,l=getPrefixedProperty(r.rscratch,"labelWrapCachedLines",t)||[],s="wrap"!==o?1:Math.max(l.length,1),c=n.height/s,u=c*i,f=n.width,A=n.height+(s-1)*(i-1)*c;setPrefixedProperty(r.rstyle,"labelWidth",t,f),setPrefixedProperty(r.rscratch,"labelWidth",t,f),setPrefixedProperty(r.rstyle,"labelHeight",t,A),setPrefixedProperty(r.rscratch,"labelHeight",t,A),setPrefixedProperty(r.rscratch,"labelLineHeight",t,u)},BRp$9.getLabelText=function(e,t){var r=e._private,a=t?t+"-":"",n=e.pstyle(a+"label").strValue,i=e.pstyle("text-transform").value,o=function(e,a){return a?(setPrefixedProperty(r.rscratch,e,t,a),a):getPrefixedProperty(r.rscratch,e,t)};if(!n)return"";"none"==i||("uppercase"==i?n=n.toUpperCase():"lowercase"==i&&(n=n.toLowerCase()));var l=e.pstyle("text-wrap").value;if("wrap"===l){var s=o("labelKey");if(null!=s&&o("labelWrapKey")===s)return o("labelWrapCachedText");for(var c=n.split("\n"),u=e.pstyle("text-max-width").pfValue,f="anywhere"===e.pstyle("text-overflow-wrap").value,A=[],d=/[\s\u200b]+/,p=f?"":" ",h=0;hu){for(var v=b.split(d),y="",w=0;wE)break;_+=n[$],$===n.length-1&&(C=!0)}return C||(_+="…"),_}return n},BRp$9.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,r=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(r){case"left":return"right";case"right":return"left";default:return"center"}},BRp$9.calculateLabelDimensions=function(e,t){var r=hashString(t,e._private.labelDimsKey),a=this.labelDimCache||(this.labelDimCache=[]),n=a[r];if(null!=n)return n;var i=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,l=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,c=this.labelCalcCanvas,u=this.labelCalcCanvasContext;if(!c){c=this.labelCalcCanvas=document.createElement("canvas"),u=this.labelCalcCanvasContext=c.getContext("2d");var f=c.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}u.font="".concat(i," ").concat(s," ").concat(o,"px ").concat(l);for(var A=0,d=0,p=t.split("\n"),h=0;h1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),r)for(var a=0;a=e.desktopTapThreshold2}var C=a(t);b&&(e.hoverData.tapholdCancelled=!0);i=!0,r(h,["mousemove","vmousemove","tapdrag"],t,{x:f[0],y:f[1]});var $=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:f[0],y:f[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(b){var T={originalEvent:t,type:"cxtdrag",position:{x:f[0],y:f[1]}};m?m.emit(T):o.emit(T),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&h===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:f[0],y:f[1]}}),e.hoverData.cxtOver=h,h&&h.emit({originalEvent:t,type:"cxtdragover",position:{x:f[0],y:f[1]}}))}}else if(e.hoverData.dragging){if(i=!0,o.panningEnabled()&&o.userPanningEnabled()){var O;if(e.hoverData.justStartedPan){var S=e.hoverData.mdownPos;O={x:(f[0]-S[0])*l,y:(f[1]-S[1])*l},e.hoverData.justStartedPan=!1}else O={x:v[0]*l,y:v[1]*l};o.panBy(O),o.emit("dragpan"),e.hoverData.dragged=!0}f=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||h==g||(g&&r(g,["mouseout","tapdragout"],t,{x:f[0],y:f[1]}),h&&r(h,["mouseover","tapdragover"],t,{x:f[0],y:f[1]}),e.hoverData.last=h),m)if(b){if(o.boxSelectionEnabled()&&C)m&&m.grabbed()&&(u(w),m.emit("freeon"),w.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),w.emit("dragfree"))),$();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var I=!e.dragData.didDrag;I&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||s(w,{inDragLayer:!0});var M={x:0,y:0};if(number$1$1(v[0])&&number$1$1(v[1])&&(M.x+=v[0],M.y+=v[1],I)){var B=e.hoverData.dragDelta;B&&number$1$1(B[0])&&number$1$1(B[1])&&(M.x+=B[0],M.y+=B[1])}e.hoverData.draggingEles=!0,w.silentShift(M).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(v[0]),t.push(v[1])):(t[0]+=v[0],t[1]+=v[1])}();i=!0}else if(b){if(e.hoverData.dragging||!o.boxSelectionEnabled()||!C&&o.panningEnabled()&&o.userPanningEnabled()){if(!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()){n(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=array2point(A),e.redrawHint("select",!0),e.redraw())}}else $();m&&m.pannable()&&m.active()&&m.unactivate()}return p[2]=f[0],p[3]=f[1],i?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(window,"mouseup",(function(n){if(e.hoverData.capture){e.hoverData.capture=!1;var i=e.cy,o=e.projectIntoViewport(n.clientX,n.clientY),l=e.selection,s=e.findNearestElement(o[0],o[1],!0,!1),c=e.dragData.possibleDragElements,f=e.hoverData.down,A=a(n);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,f&&f.unactivate(),3===e.hoverData.which){var d={originalEvent:n,type:"cxttapend",position:{x:o[0],y:o[1]}};if(f?f.emit(d):i.emit(d),!e.hoverData.cxtDragged){var p={originalEvent:n,type:"cxttap",position:{x:o[0],y:o[1]}};f?f.emit(p):i.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(s,["mouseup","tapend","vmouseup"],n,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(f,["click","tap","vclick"],n,{x:o[0],y:o[1]}),m=!1,n.timeStamp-v<=i.multiClickDebounceTime()?(g&&clearTimeout(g),m=!0,v=null,r(f,["dblclick","dbltap","vdblclick"],n,{x:o[0],y:o[1]})):(g=setTimeout((function(){m||r(f,["oneclick","onetap","voneclick"],n,{x:o[0],y:o[1]})}),i.multiClickDebounceTime()),v=n.timeStamp)),null!=f||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||a(n)||(i.$(t).unselect(["tapunselect"]),c.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=c=i.collection()),s!=f||e.dragData.didDrag||e.hoverData.selecting||null!=s&&s._private.selectable&&(e.hoverData.dragging||("additive"===i.selectionType()||A?s.selected()?s.unselect(["tapunselect"]):s.select(["tapselect"]):A||(i.$(t).unmerge(s).unselect(["tapunselect"]),s.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var h=i.collection(e.getAllInBox(l[0],l[1],l[2],l[3]));e.redrawHint("select",!0),h.length>0&&e.redrawHint("eles",!0),i.emit({type:"boxend",originalEvent:n,position:{x:o[0],y:o[1]}});var b=function(e){return e.selectable()&&!e.selected()};"additive"===i.selectionType()||A||i.$(t).unmerge(h).unselect(),h.emit("box").stdFilter(b).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!l[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var y=f&&f.grabbed();u(c),y&&(f.emit("freeon"),c.emit("free"),e.dragData.didDrag&&(f.emit("dragfreeon"),c.emit("dragfree")))}}l[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var w,k,x,E,_,C,$,T,O,S,I,M,B,R=function(t){if(!e.scrollingPage){var r=e.cy,a=r.zoom(),n=r.pan(),i=e.projectIntoViewport(t.clientX,t.clientY),o=[i[0]*a+n.x,i[1]*a+n.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()){var l;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),l=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,l*=e.wheelSensitivity,1===t.deltaMode&&(l*=33);var s=r.zoom()*Math.pow(10,l);"gesturechange"===t.type&&(s=e.gestureStartZoom*t.scale),r.zoom({level:s,renderedPosition:{x:o[0],y:o[1]}}),r.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",R,!0),e.registerBinding(window,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||R(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var r=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:r[0],y:r[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var r=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:r[0],y:r[1]}})}),!1);var P,L,D,z,F,N,j,V=function(e,t,r,a){return Math.sqrt((r-e)*(r-e)+(a-t)*(a-t))},G=function(e,t,r,a){return(r-e)*(r-e)+(a-t)*(a-t)};if(e.registerBinding(e.container,"touchstart",P=function(t){if(e.hasTouchStarted=!0,y(t)){A(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var a=e.cy,n=e.touchData.now,i=e.touchData.earlier;if(t.touches[0]){var l=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);n[0]=l[0],n[1]=l[1]}if(t.touches[1]){l=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);n[2]=l[0],n[3]=l[1]}if(t.touches[2]){l=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);n[4]=l[0],n[5]=l[1]}if(t.touches[1]){e.touchData.singleTouchMoved=!0,u(e.dragData.touchDragEles);var f=e.findContainerClientCoords();O=f[0],S=f[1],I=f[2],M=f[3],w=t.touches[0].clientX-O,k=t.touches[0].clientY-S,x=t.touches[1].clientX-O,E=t.touches[1].clientY-S,B=0<=w&&w<=I&&0<=x&&x<=I&&0<=k&&k<=M&&0<=E&&E<=M;var d=a.pan(),p=a.zoom();_=V(w,k,x,E),C=G(w,k,x,E),T=[(($=[(w+x)/2,(k+E)/2])[0]-d.x)/p,($[1]-d.y)/p];if(C<4e4&&!t.touches[2]){var h=e.findNearestElement(n[0],n[1],!0,!0),b=e.findNearestElement(n[2],n[3],!0,!0);return h&&h.isNode()?(h.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:n[0],y:n[1]}}),e.touchData.start=h):b&&b.isNode()?(b.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:n[0],y:n[1]}}),e.touchData.start=b):a.emit({originalEvent:t,type:"cxttapstart",position:{x:n[0],y:n[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])a.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var g=e.findNearestElements(n[0],n[1],!0,!0),m=g[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=g,e.nodeIsGrabbable(m))){var v=e.dragData.touchDragEles=a.collection(),R=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(R=a.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),s(R,{addToList:v})):c(m,{addToList:v}),o(m);var P=function(e){return{originalEvent:t,type:e,position:{x:n[0],y:n[1]}}};m.emit(P("grabon")),R?R.forEach((function(e){e.emit(P("grab"))})):m.emit(P("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:n[0],y:n[1]}),null==m&&(e.data.bgActivePosistion={x:l[0],y:l[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:n[0],y:n[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var L=e.touchData.startPosition=[],D=0;D=e.touchTapThreshold2}if(a&&e.touchData.cxt){t.preventDefault();var $=t.touches[0].clientX-O,I=t.touches[0].clientY-S,M=t.touches[1].clientX-O,R=t.touches[1].clientY-S,P=G($,I,M,R);if(P/C>=2.25||P>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var L={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(L),e.touchData.start=null):o.emit(L)}}if(a&&e.touchData.cxt){L={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(L):o.emit(L),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var D=e.findNearestElement(l[0],l[1],!0,!0);e.touchData.cxtOver&&D===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.touchData.cxtOver=D,D&&D.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}else if(a&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(l[0]+l[2]+l[4])/3,i[3]=(l[1]+l[3]+l[5])/3):(i[0]=(l[0]+l[2]+l[4])/3,i[1]=(l[1]+l[3]+l[5])/3,i[2]=(l[0]+l[2]+l[4])/3+1,i[3]=(l[1]+l[3]+l[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(a&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),K=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var z=0;z0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(window,"touchcancel",D=function(t){var r=e.touchData.start;e.touchData.capture=!1,r&&r.unactivate()}),e.registerBinding(window,"touchend",z=function(a){var n=e.touchData.start;if(e.touchData.capture){0===a.touches.length&&(e.touchData.capture=!1),a.preventDefault();var i=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,l=e.cy,s=l.zoom(),c=e.touchData.now,f=e.touchData.earlier;if(a.touches[0]){var A=e.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);c[0]=A[0],c[1]=A[1]}if(a.touches[1]){A=e.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);c[2]=A[0],c[3]=A[1]}if(a.touches[2]){A=e.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);c[4]=A[0],c[5]=A[1]}if(n&&n.unactivate(),e.touchData.cxt){if(o={originalEvent:a,type:"cxttapend",position:{x:c[0],y:c[1]}},n?n.emit(o):l.emit(o),!e.touchData.cxtDragged){var d={originalEvent:a,type:"cxttap",position:{x:c[0],y:c[1]}};n?n.emit(d):l.emit(d)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!a.touches[2]&&l.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=l.collection(e.getAllInBox(i[0],i[1],i[2],i[3]));i[0]=void 0,i[1]=void 0,i[2]=void 0,i[3]=void 0,i[4]=0,e.redrawHint("select",!0),l.emit({type:"boxend",originalEvent:a,position:{x:c[0],y:c[1]}});p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=n&&n.unactivate(),a.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(a.touches[1]);else if(a.touches[0]);else if(!a.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var h=e.dragData.touchDragEles;if(null!=n){var b=n._private.grabbed;u(h),e.redrawHint("drag",!0),e.redrawHint("eles",!0),b&&(n.emit("freeon"),h.emit("free"),e.dragData.didDrag&&(n.emit("dragfreeon"),h.emit("dragfree"))),r(n,["touchend","tapend","vmouseup","tapdragout"],a,{x:c[0],y:c[1]}),n.unactivate(),e.touchData.start=null}else{var g=e.findNearestElement(c[0],c[1],!0,!0);r(g,["touchend","tapend","vmouseup","tapdragout"],a,{x:c[0],y:c[1]})}var m=e.touchData.startPosition[0]-c[0],v=m*m,y=e.touchData.startPosition[1]-c[1],w=(v+y*y)*s*s;e.touchData.singleTouchMoved||(n||l.$(":selected").unselect(["tapunselect"]),r(n,["tap","vclick"],a,{x:c[0],y:c[1]}),F=!1,a.timeStamp-j<=l.multiClickDebounceTime()?(N&&clearTimeout(N),F=!0,j=null,r(n,["dbltap","vdblclick"],a,{x:c[0],y:c[1]})):(N=setTimeout((function(){F||r(n,["onetap","voneclick"],a,{x:c[0],y:c[1]})}),l.multiClickDebounceTime()),j=a.timeStamp)),null!=n&&!e.dragData.didDrag&&n._private.selectable&&w0)return d[0]}return null},A=Object.keys(u),d=0;d0?s:roundRectangleIntersectLine(n,i,e,t,r,a,o)},checkPoint:function(e,t,r,a,n,i,o){var l=getRoundRectangleRadius(a,n),s=2*l;if(pointInsidePolygon(e,t,this.points,i,o,a,n-s,[0,-1],r))return!0;if(pointInsidePolygon(e,t,this.points,i,o,a-s,n,[0,-1],r))return!0;var c=a/2+2*r,u=n/2+2*r;return!!pointInsidePolygonPoints(e,t,[i-c,o-u,i-c,o,i+c,o,i+c,o-u])||(!!checkInEllipse(e,t,s,s,i+a/2-l,o+n/2-l,r)||!!checkInEllipse(e,t,s,s,i-a/2+l,o+n/2-l,r))}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",generateUnitNgonPointsFitToSquare(3,0)),this.generateRoundPolygon("round-triangle",generateUnitNgonPointsFitToSquare(3,0)),this.generatePolygon("rectangle",generateUnitNgonPointsFitToSquare(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r),this.generatePolygon("pentagon",generateUnitNgonPointsFitToSquare(5,0)),this.generateRoundPolygon("round-pentagon",generateUnitNgonPointsFitToSquare(5,0)),this.generatePolygon("hexagon",generateUnitNgonPointsFitToSquare(6,0)),this.generateRoundPolygon("round-hexagon",generateUnitNgonPointsFitToSquare(6,0)),this.generatePolygon("heptagon",generateUnitNgonPointsFitToSquare(7,0)),this.generateRoundPolygon("round-heptagon",generateUnitNgonPointsFitToSquare(7,0)),this.generatePolygon("octagon",generateUnitNgonPointsFitToSquare(8,0)),this.generateRoundPolygon("round-octagon",generateUnitNgonPointsFitToSquare(8,0));var a=new Array(20),n=generateUnitNgonPoints(5,0),i=generateUnitNgonPoints(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var l=0;l=e.deqFastCost*h)break}else if(n){if(d>=e.deqCost*s||d>=e.deqAvgCost*l)break}else if(p>=e.deqNoDrawCost*fullFpsTime)break;var b=e.deq(t,f,u);if(!(b.length>0))break;for(var g=0;g0&&(e.onDeqd(t,c),!n&&e.shouldRedraw(t,c,f,u)&&a())}),n(t))}}}},ElementTextureCacheLookup=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:falsify;_classCallCheck$1v(this,e),this.idsByKey=new Map$1$1,this.keyForId=new Map$1$1,this.cachesByLvl=new Map$1$1,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=r}return _createClass$1q(e,[{key:"getIdsFor",value:function(e){null==e&&error("Can not get id list for null key");var t=this.idsByKey,r=this.idsByKey.get(e);return r||(r=new Set$1$1,t.set(e,r)),r}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),r=this.keyForId.get(t),a=this.getKey(e);this.deleteIdForKey(r,t),this.addIdForKey(a,t),this.keyForId.set(t,a)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),r=this.keyForId.get(t);this.deleteIdForKey(r,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,r=this.lvls,a=t.get(e);return a||(a=new Map$1$1,t.set(e,a),r.push(e)),a}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var r=this.getKey(e),a=this.getCache(r,t);return null!=a&&this.updateKeyMappingFor(e),a}},{key:"getForCachedKey",value:function(e,t){var r=this.keyForId.get(e.id());return this.getCache(r,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var r=this.getKey(e);return this.hasCache(r,t)}},{key:"setCache",value:function(e,t,r){r.key=e,this.getCachesAt(t).set(e,r)}},{key:"set",value:function(e,t,r){var a=this.getKey(e);this.setCache(a,t,r),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var r=this.getKey(e);this.deleteCache(r,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(r){return t.deleteCache(e,r)}))}},{key:"invalidate",value:function(e){var t=e.id(),r=this.keyForId.get(t);this.deleteKeyMappingFor(e);var a=this.doesEleInvalidateKey(e);return a&&this.invalidateKey(r),a||0===this.getNumberOfIdsForKey(r)}}]),e}(),minTxrH=25,txrStepH=50,minLvl$1=-4,maxLvl$1=3,maxZoom$1=7.99,eleTxrSpacing=8,defTxrWidth=1024,maxTxrW=1024,maxTxrH=1024,minUtility=.2,maxFullness=.8,maxFullnessChecks=10,deqCost$1=.15,deqAvgCost$1=.1,deqNoDrawCost$1=.9,deqFastCost$1=.9,deqRedrawThreshold$1=100,maxDeqSize$1=1,getTxrReasons={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},initDefaults=defaults$g({getKey:null,doesEleInvalidateKey:falsify,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:trueify,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ElementTextureCache=function(e,t){var r=this;r.renderer=e,r.onDequeues=[];var a=initDefaults(t);extend$3(r,a),r.lookup=new ElementTextureCacheLookup(a.getKey,a.doesEleInvalidateKey),r.setupDequeueing()},ETCp=ElementTextureCache.prototype;ETCp.reasons=getTxrReasons,ETCp.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},ETCp.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},ETCp.getElementQueue=function(){var e=this.eleCacheQueue=this.eleCacheQueue||new Heap__default.default((function(e,t){return t.reqs-e.reqs}));return e},ETCp.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},ETCp.getElement=function(e,t,r,a,n){var i=this,o=this.renderer,l=o.cy.zoom(),s=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!i.allowEdgeTxrCaching&&e.isEdge()||!i.allowParentTxrCaching&&e.isParent())return null;if(null==a&&(a=Math.ceil(log2(l*r))),a=maxZoom$1||a>maxLvl$1)return null;var c=Math.pow(2,a),u=t.h*c,f=t.w*c,A=o.eleTextBiggerThanMin(e,c);if(!this.isVisible(e,A))return null;var d,p=s.get(e,a);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=u<=minTxrH?minTxrH:u<=txrStepH?txrStepH:Math.ceil(u/txrStepH)*txrStepH,u>maxTxrH||f>maxTxrW)return null;var h=i.getTextureQueue(d),b=h[h.length-2],g=function(){return i.recycleTexture(d,f)||i.addTexture(d,f)};b||(b=h[h.length-1]),b||(b=g()),b.width-b.usedWidtha;$--)_=i.getElement(e,t,r,$,getTxrReasons.downscale);C()}else{var T;if(!y&&!w&&!k)for(var O=a-1;O>=minLvl$1;O--){var S=s.get(e,O);if(S){T=S;break}}if(v(T))return i.queueElement(e,a),T;b.context.translate(b.usedWidth,0),b.context.scale(c,c),this.drawElement(b.context,e,t,A,!1),b.context.scale(1/c,1/c),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:a,scale:c,width:f,height:u,scaledLabelShown:A},b.usedWidth+=Math.ceil(f+eleTxrSpacing),b.eleCaches.push(p),s.set(e,a,p),i.checkTextureFullness(b),p},ETCp.invalidateElements=function(e){for(var t=0;t=minUtility*e.width&&this.retireTexture(e)},ETCp.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>maxFullness&&e.fullnessChecks>=maxFullnessChecks?removeFromArray(t,e):e.fullnessChecks++},ETCp.retireTexture=function(e){var t=e.height,r=this.getTextureQueue(t),a=this.lookup;removeFromArray(r,e),e.retired=!0;for(var n=e.eleCaches,i=0;i=t)return i.retired=!1,i.usedWidth=0,i.invalidatedWidth=0,i.fullnessChecks=0,clearArray(i.eleCaches),i.context.setTransform(1,0,0,1,0,0),i.context.clearRect(0,0,i.width,i.height),removeFromArray(a,i),r.push(i),i}},ETCp.queueElement=function(e,t){var r=this.getElementQueue(),a=this.getElementKeyToQueue(),n=this.getKey(e),i=a[n];if(i)i.level=Math.max(i.level,t),i.eles.merge(e),i.reqs++,r.updateItem(i);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:n};r.push(o),a[n]=o}},ETCp.dequeue=function(e){for(var t=this,r=t.getElementQueue(),a=t.getElementKeyToQueue(),n=[],i=t.lookup,o=0;o0;o++){var l=r.pop(),s=l.key,c=l.eles[0],u=i.hasCache(c,l.level);if(a[s]=null,!u){n.push(l);var f=t.getBoundingBox(c);t.getElement(c,f,e,l.level,getTxrReasons.dequeue)}}return n},ETCp.removeFromQueue=function(e){var t=this.getElementQueue(),r=this.getElementKeyToQueue(),a=this.getKey(e),n=r[a];null!=n&&(1===n.eles.length?(n.reqs=MAX_INT$1,t.updateItem(n),t.pop(),r[a]=null):n.eles.unmerge(e))},ETCp.onDequeue=function(e){this.onDequeues.push(e)},ETCp.offDequeue=function(e){removeFromArray(this.onDequeues,e)},ETCp.setupDequeueing=defs.setupDequeueing({deqRedrawThreshold:deqRedrawThreshold$1,deqCost:deqCost$1,deqAvgCost:deqAvgCost$1,deqNoDrawCost:deqNoDrawCost$1,deqFastCost:deqFastCost$1,deq:function(e,t,r){return e.dequeue(t,r)},onDeqd:function(e,t){for(var r=0;r=maxZoom||r>maxLvl)return null;a.validateLayersElesOrdering(r,e);var o,l,s=a.layersByLevel,c=Math.pow(2,r),u=s[r]=s[r]||[];if(a.levelIsComplete(r,e))return u;!function(){var t=function(t){if(a.validateLayersElesOrdering(t,e),a.levelIsComplete(t,e))return l=s[t],!0},n=function(e){if(!l)for(var a=r+e;minLvl<=a&&a<=maxLvl&&!t(a);a+=e);};n(1),n(-1);for(var i=u.length-1;i>=0;i--){var o=u[i];o.invalid&&removeFromArray(u,o)}}();var f=function(t){var n=(t=t||{}).after;if(function(){if(!o){o=makeBoundingBox();for(var t=0;tmaxLayerArea)return null;var i=a.makeLayer(o,r);if(null!=n){var l=u.indexOf(n)+1;u.splice(l,0,i)}else(void 0===t.insert||t.insert)&&u.unshift(i);return i};if(a.skipping&&!i)return null;for(var A=null,d=e.length/defNumLayers,p=!i,h=0;h=d||!boundingBoxInBoundingBox(A.bb,b.boundingBox()))&&!(A=f({insert:!0,after:A})))return null;l||p?a.queueLayer(A,b):a.drawEleInLayer(A,b,r,t),A.eles.push(b),m[r]=A}}return l||(p?null:u)},LTCp.getEleLevelForLayerLevel=function(e,t){return e},LTCp.drawEleInLayer=function(e,t,r,a){var n=this.renderer,i=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(r=this.getEleLevelForLayerLevel(r,a),n.setImgSmoothing(i,!1),n.drawCachedElement(i,t,null,null,r,useHighQualityEleTxrReqs),n.setImgSmoothing(i,!0))},LTCp.levelIsComplete=function(e,t){var r=this.layersByLevel[e];if(!r||0===r.length)return!1;for(var a=0,n=0;n0)return!1;if(i.invalid)return!1;a+=i.eles.length}return a===t.length},LTCp.validateLayersElesOrdering=function(e,t){var r=this.layersByLevel[e];if(r)for(var a=0;a0){e=!0;break}}return e},LTCp.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=performanceNow$1(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,r,a){t.invalidateLayer(e)})))},LTCp.invalidateLayer=function(e){if(this.lastInvalidationTime=performanceNow$1(),!e.invalid){var t=e.level,r=e.eles,a=this.layersByLevel[t];removeFromArray(a,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var n=0;n3&&void 0!==arguments[3])||arguments[3],n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,l=t._private.rscratch;if((!i||t.visible())&&!l.badLine&&null!=l.allpts&&!isNaN(l.allpts[0])){var s;r&&(s=r,e.translate(-s.x1,-s.y1));var c=i?t.pstyle("opacity").value:1,u=i?t.pstyle("line-opacity").value:1,f=t.pstyle("curve-style").value,A=t.pstyle("line-style").value,d=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,h=c*u,b=c*u,g=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h;"straight-triangle"===f?(o.eleStrokeStyle(e,t,r),o.drawEdgeTrianglePath(t,e,l.allpts)):(e.lineWidth=d,e.lineCap=p,o.eleStrokeStyle(e,t,r),o.drawEdgePath(t,e,l.allpts,A),e.lineCap="butt")},m=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;o.drawArrowheads(e,t,r)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var v=t.pstyle("ghost-offset-x").pfValue,y=t.pstyle("ghost-offset-y").pfValue,w=t.pstyle("ghost-opacity").value,k=h*w;e.translate(v,y),g(k),m(k),e.translate(-v,-y)}n&&o.drawEdgeUnderlay(e,t),g(),m(),n&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,a),r&&e.translate(s.x1,s.y1)}}},drawEdgeOverlayUnderlay=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,r){if(r.visible()){var a=r.pstyle("".concat(e,"-opacity")).value;if(0!==a){var n=this,i=n.usePaths(),o=r._private.rscratch,l=2*r.pstyle("".concat(e,"-padding")).pfValue,s=r.pstyle("".concat(e,"-color")).value;t.lineWidth=l,"self"!==o.edgeType||i?t.lineCap="round":t.lineCap="butt",n.colorStrokeStyle(t,s[0],s[1],s[2],a),n.drawEdgePath(r,t,o.allpts,"solid")}}}};CRp$8.drawEdgeOverlay=drawEdgeOverlayUnderlay("overlay"),CRp$8.drawEdgeUnderlay=drawEdgeOverlayUnderlay("underlay"),CRp$8.drawEdgePath=function(e,t,r,a){var n,i=e._private.rscratch,o=t,l=!1,s=this.usePaths(),c=e.pstyle("line-dash-pattern").pfValue,u=e.pstyle("line-dash-offset").pfValue;if(s){var f=r.join("$");i.pathCacheKey&&i.pathCacheKey===f?(n=t=i.pathCache,l=!0):(n=t=new Path2D,i.pathCacheKey=f,i.pathCache=n)}if(o.setLineDash)switch(a){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(c),o.lineDashOffset=u;break;case"solid":o.setLineDash([])}if(!l&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var A=2;A+35&&void 0!==arguments[5]?arguments[5]:5;e.beginPath(),e.moveTo(t+i,r),e.lineTo(t+a-i,r),e.quadraticCurveTo(t+a,r,t+a,r+i),e.lineTo(t+a,r+n-i),e.quadraticCurveTo(t+a,r+n,t+a-i,r+n),e.lineTo(t+i,r+n),e.quadraticCurveTo(t,r+n,t,r+n-i),e.lineTo(t,r+i),e.quadraticCurveTo(t,r,t+i,r),e.closePath(),e.fill()}CRp$6.eleTextBiggerThanMin=function(e,t){if(!t){var r=e.cy().zoom(),a=this.getPixelRatio(),n=Math.ceil(log2(r*a));t=Math.pow(2,n)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==a){if(i&&!o.eleTextBiggerThanMin(t))return}else if(!1===a)return;if(t.isNode()){var l=t.pstyle("label");if(!l||!l.value)return;var s=o.getLabelJustification(t);e.textAlign=s,e.textBaseline="bottom"}else{var c=t.element()._private.rscratch.badLine,u=t.pstyle("label"),f=t.pstyle("source-label"),A=t.pstyle("target-label");if(c||(!u||!u.value)&&(!f||!f.value)&&(!A||!A.value))return;e.textAlign="center",e.textBaseline="bottom"}var d,p=!r;r&&(d=r,e.translate(-d.x1,-d.y1)),null==n?(o.drawText(e,t,null,p,i),t.isEdge()&&(o.drawText(e,t,"source",p,i),o.drawText(e,t,"target",p,i))):o.drawText(e,t,n,p,i),r&&e.translate(d.x1,d.y1)},CRp$6.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&void 0!==arguments[2])||arguments[2],a=t.pstyle("font-style").strValue,n=t.pstyle("font-size").pfValue+"px",i=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,l=r?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,s=t.pstyle("text-outline-opacity").value*l,c=t.pstyle("color").value,u=t.pstyle("text-outline-color").value;e.font=a+" "+o+" "+n+" "+i,e.lineJoin="round",this.colorFillStyle(e,c[0],c[1],c[2],l),this.colorStrokeStyle(e,u[0],u[1],u[2],s)},CRp$6.getTextAngle=function(e,t){var r=e._private.rscratch,a=t?t+"-":"",n=e.pstyle(a+"text-rotation"),i=getPrefixedProperty(r,"labelAngle",t);return"autorotate"===n.strValue?e.isEdge()?i:0:"none"===n.strValue?0:n.pfValue},CRp$6.drawText=function(e,t,r){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=t._private.rscratch,o=n?t.effectiveOpacity():1;if(!n||0!==o&&0!==t.pstyle("text-opacity").value){"main"===r&&(r=null);var l,s,c=getPrefixedProperty(i,"labelX",r),u=getPrefixedProperty(i,"labelY",r),f=this.getLabelText(t,r);if(null!=f&&""!==f&&!isNaN(c)&&!isNaN(u)){this.setupTextStyle(e,t,n);var A,d=r?r+"-":"",p=getPrefixedProperty(i,"labelWidth",r),h=getPrefixedProperty(i,"labelHeight",r),b=t.pstyle(d+"text-margin-x").pfValue,g=t.pstyle(d+"text-margin-y").pfValue,m=t.isEdge(),v=t.pstyle("text-halign").value,y=t.pstyle("text-valign").value;switch(m&&(v="center",y="center"),c+=b,u+=g,0!==(A=a?this.getTextAngle(t,r):0)&&(l=c,s=u,e.translate(l,s),e.rotate(A),c=0,u=0),y){case"top":break;case"center":u+=h/2;break;case"bottom":u+=h}var w=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,x=t.pstyle("text-border-width").pfValue,E=t.pstyle("text-background-padding").pfValue;if(w>0||x>0&&k>0){var _=c-E;switch(v){case"left":_-=p;break;case"center":_-=p/2}var C=u-h-E,$=p+2*E,T=h+2*E;if(w>0){var O=e.fillStyle,S=t.pstyle("text-background-color").value;e.fillStyle="rgba("+S[0]+","+S[1]+","+S[2]+","+w*o+")",0===t.pstyle("text-background-shape").strValue.indexOf("round")?roundRect(e,_,C,$,T,2):e.fillRect(_,C,$,T),e.fillStyle=O}if(x>0&&k>0){var I=e.strokeStyle,M=e.lineWidth,B=t.pstyle("text-border-color").value,R=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+k*o+")",e.lineWidth=x,e.setLineDash)switch(R){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=x/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(e.strokeRect(_,C,$,T),"double"===R){var P=x/2;e.strokeRect(_+P,C+P,$-2*P,T-2*P)}e.setLineDash&&e.setLineDash([]),e.lineWidth=M,e.strokeStyle=I}}var L=2*t.pstyle("text-outline-width").pfValue;if(L>0&&(e.lineWidth=L),"wrap"===t.pstyle("text-wrap").value){var D=getPrefixedProperty(i,"labelWrapCachedLines",r),z=getPrefixedProperty(i,"labelLineHeight",r),F=p/2,N=this.getLabelJustification(t);switch("auto"===N||("left"===v?"left"===N?c+=-p:"center"===N&&(c+=-F):"center"===v?"left"===N?c+=-F:"right"===N&&(c+=F):"right"===v&&("center"===N?c+=F:"right"===N&&(c+=p))),y){case"top":case"center":case"bottom":u-=(D.length-1)*z}for(var j=0;j0&&e.strokeText(D[j],c,u),e.fillText(D[j],c,u),u+=z}else L>0&&e.strokeText(f,c,u),e.fillText(f,c,u);0!==A&&(e.rotate(-A),e.translate(-l,-s))}}};var CRp$5={drawNode:function(e,t,r){var a,n,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],l=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],s=this,c=t._private,u=c.rscratch,f=t.position();if(number$1$1(f.x)&&number$1$1(f.y)&&(!l||t.visible())){var A,d,p=l?t.effectiveOpacity():1,h=s.usePaths(),b=!1,g=t.padding();a=t.width()+2*g,n=t.height()+2*g,r&&(d=r,e.translate(-d.x1,-d.y1));for(var m=t.pstyle("background-image").value,v=new Array(m.length),y=new Array(m.length),w=0,k=0;k0&&void 0!==arguments[0]?arguments[0]:$;s.eleFillStyle(e,t,r)},M=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:S;s.colorStrokeStyle(e,T[0],T[1],T[2],t)},B=t.pstyle("shape").strValue,R=t.pstyle("shape-polygon-points").pfValue;if(h){e.translate(f.x,f.y);var P=s.nodePathCache=s.nodePathCache||[],L=hashStrings("polygon"===B?B+","+R.join(","):B,""+n,""+a),D=P[L];null!=D?(A=D,b=!0,u.pathCache=A):(A=new Path2D,P[L]=u.pathCache=A)}var z=function(){if(!b){var r=f;h&&(r={x:0,y:0}),s.nodeShapes[s.getNodeShape(t)].draw(A||e,r.x,r.y,a,n)}h?e.fill(A):e.fill()},F=function(){for(var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=c.backgrounding,i=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;s.hasPie(t)&&(s.drawPie(e,t,i),r&&(h||s.nodeShapes[s.getNodeShape(t)].draw(e,f.x,f.y,a,n)))},j=function(){var t=(_>0?_:-_)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),r=_>0?0:255;0!==_&&(s.colorFillStyle(e,r,r,r,t),h?e.fill(A):e.fill())},V=function(){if(C>0){if(e.lineWidth=C,e.lineCap="butt",e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(h?e.stroke(A):e.stroke(),"double"===O){e.lineWidth=C/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",h?e.stroke(A):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,H=t.pstyle("ghost-offset-y").pfValue,W=t.pstyle("ghost-opacity").value,Z=W*p;e.translate(G,H),I(W*$),z(),F(Z,!0),M(W*S),V(),N(0!==_||0!==C),F(Z,!1),j(Z),e.translate(-G,-H)}h&&e.translate(-f.x,-f.y),o&&s.drawNodeUnderlay(e,t,f,a,n),h&&e.translate(f.x,f.y),I(),z(),F(p,!0),M(),V(),N(0!==_||0!==C),F(p,!1),j(),h&&e.translate(-f.x,-f.y),s.drawElementText(e,t,null,i),o&&s.drawNodeOverlay(e,t,f,a,n),r&&e.translate(d.x1,d.y1)}}},drawNodeOverlayUnderlay=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,r,a,n,i){if(r.visible()){var o=r.pstyle("".concat(e,"-padding")).pfValue,l=r.pstyle("".concat(e,"-opacity")).value,s=r.pstyle("".concat(e,"-color")).value,c=r.pstyle("".concat(e,"-shape")).value;if(l>0){if(a=a||r.position(),null==n||null==i){var u=r.padding();n=r.width()+2*u,i=r.height()+2*u}this.colorFillStyle(t,s[0],s[1],s[2],l),this.nodeShapes[c].draw(t,a.x,a.y,n+2*o,i+2*o),t.fill()}}}};CRp$5.drawNodeOverlay=drawNodeOverlayUnderlay("overlay"),CRp$5.drawNodeUnderlay=drawNodeOverlayUnderlay("underlay"),CRp$5.hasPie=function(e){return(e=e[0])._private.hasPie},CRp$5.drawPie=function(e,t,r,a){t=t[0],a=a||t.position();var n=t.cy().style(),i=t.pstyle("pie-size"),o=a.x,l=a.y,s=t.width(),c=t.height(),u=Math.min(s,c)/2,f=0;this.usePaths()&&(o=0,l=0),"%"===i.units?u*=i.pfValue:void 0!==i.pfValue&&(u=i.pfValue/2);for(var A=1;A<=n.pieBackgroundN;A++){var d=t.pstyle("pie-"+A+"-background-size").value,p=t.pstyle("pie-"+A+"-background-color").value,h=t.pstyle("pie-"+A+"-background-opacity").value*r,b=d/100;b+f>1&&(b=1-f);var g=1.5*Math.PI+2*Math.PI*f,m=g+2*Math.PI*b;0===d||f>=1||f+b>1||(e.beginPath(),e.moveTo(o,l),e.arc(o,l,u,g,m),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],h),e.fill(),f+=b)}};var CRp$4={},motionBlurDelay=100;CRp$4.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},CRp$4.paintCache=function(e){for(var t,r=this.paintCaches=this.paintCaches||[],a=!0,n=0;no.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!f&&(u[o.NODE]=!0,u[o.SELECT_BOX]=!0);var m=s.style(),v=s.zoom(),y=void 0!==n?n:v,w=s.pan(),k={x:w.x,y:w.y},x={zoom:v,pan:{x:w.x,y:w.y}},E=o.prevViewport;void 0===E||x.zoom!==E.zoom||x.pan.x!==E.pan.x||x.pan.y!==E.pan.y||h&&!p||(o.motionBlurPxRatio=1),i&&(k=i),y*=l,k.x*=l,k.y*=l;var _=o.getCachedZSortedEles();function C(e,t,r,a,n){var i=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,r,a,n),e.globalCompositeOperation=i}function $(e,a){var l,s,u,f;o.clearingMotionBlur||e!==c.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==c.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(l=k,s=y,u=o.canvasWidth,f=o.canvasHeight):(l={x:w.x*d,y:w.y*d},s=v*d,u=o.canvasWidth*d,f=o.canvasHeight*d),e.setTransform(1,0,0,1,0,0),"motionBlur"===a?C(e,0,0,u,f):t||void 0!==a&&!a||e.clearRect(0,0,u,f),r||(e.translate(l.x,l.y),e.scale(s,s)),i&&e.translate(i.x,i.y),n&&e.scale(n,n)}if(f||(o.textureDrawLastFrame=!1),f){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=s.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:l*o.textureMult}),(x=o.textureCache.viewport={zoom:s.zoom(),pan:s.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-x.pan.x)/x.zoom,y:(0-x.pan.y)/x.zoom}}u[o.DRAG]=!1,u[o.NODE]=!1;var O=c.contexts[o.NODE],S=o.textureCache.texture;x=o.textureCache.viewport;O.setTransform(1,0,0,1,0,0),A?C(O,0,0,x.width,x.height):O.clearRect(0,0,x.width,x.height);var I=m.core("outside-texture-bg-color").value,M=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(O,I[0],I[1],I[2],M),O.fillRect(0,0,x.width,x.height);v=s.zoom();$(O,!1),O.clearRect(x.mpan.x,x.mpan.y,x.width/x.zoom/l,x.height/x.zoom/l),O.drawImage(S,x.mpan.x,x.mpan.y,x.width/x.zoom/l,x.height/x.zoom/l)}else o.textureOnViewport&&!t&&(o.textureCache=null);var B=s.extent(),R=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),P=o.hideEdgesOnViewport&&R,L=[];if(L[o.NODE]=!u[o.NODE]&&A&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,L[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),L[o.DRAG]=!u[o.DRAG]&&A&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,L[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),u[o.NODE]||r||a||L[o.NODE]){var D=A&&!L[o.NODE]&&1!==d;$(O=t||(D?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:c.contexts[o.NODE]),A&&!D?"motionBlur":void 0),P?o.drawCachedNodes(O,_.nondrag,l,B):o.drawLayeredElements(O,_.nondrag,l,B),o.debug&&o.drawDebugPoints(O,_.nondrag),r||A||(u[o.NODE]=!1)}if(!a&&(u[o.DRAG]||r||L[o.DRAG])){D=A&&!L[o.DRAG]&&1!==d;$(O=t||(D?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:c.contexts[o.DRAG]),A&&!D?"motionBlur":void 0),P?o.drawCachedNodes(O,_.drag,l,B):o.drawCachedElements(O,_.drag,l,B),o.debug&&o.drawDebugPoints(O,_.drag),r||A||(u[o.DRAG]=!1)}if(o.showFps||!a&&u[o.SELECT_BOX]&&!r){if($(O=t||c.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){v=o.cy.zoom();var z=m.core("selection-box-border-width").value/v;O.lineWidth=z,O.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",O.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),z>0&&(O.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",O.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(c.bgActivePosistion&&!o.hoverData.selecting){v=o.cy.zoom();var F=c.bgActivePosistion;O.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",O.beginPath(),O.arc(F.x,F.y,m.core("active-bg-size").pfValue/v,0,2*Math.PI),O.fill()}var N=o.lastRedrawTime;if(o.showFps&&N){N=Math.round(N);var j=Math.round(1e3/N);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+N+" ms = "+j+" fps",0,20);O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min(j/60,1),20)}r||(u[o.SELECT_BOX]=!1)}if(A&&1!==d){var V=c.contexts[o.NODE],G=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],H=c.contexts[o.DRAG],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],Z=function(e,t,r){e.setTransform(1,0,0,1,0,0),r||!g?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):C(e,0,0,o.canvasWidth,o.canvasHeight);var a=d;e.drawImage(t,0,0,o.canvasWidth*a,o.canvasHeight*a,0,0,o.canvasWidth,o.canvasHeight)};(u[o.NODE]||L[o.NODE])&&(Z(V,G,L[o.NODE]),u[o.NODE]=!1),(u[o.DRAG]||L[o.DRAG])&&(Z(H,W,L[o.DRAG]),u[o.DRAG]=!1)}o.prevViewport=x,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),A&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!f,o.mbFrames=0,u[o.NODE]=!0,u[o.DRAG]=!0,o.redraw()}),motionBlurDelay)),t||s.emit("render")};for(var CRp$3={drawPolygonPath:function(e,t,r,a,n,i){var o=a/2,l=n/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*i[0],r+l*i[1]);for(var s=1;s0&&i>0){A.clearRect(0,0,n,i),A.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(e.full)A.translate(-r.x1*s,-r.y1*s),A.scale(s,s),this.drawElements(A,d),A.scale(1/s,1/s),A.translate(r.x1*s,r.y1*s);else{var p=t.pan(),h={x:p.x*s,y:p.y*s};s*=t.zoom(),A.translate(h.x,h.y),A.scale(s,s),this.drawElements(A,d),A.scale(1/s,1/s),A.translate(-h.x,-h.y)}e.bg&&(A.globalCompositeOperation="destination-over",A.fillStyle=e.bg,A.rect(0,0,n,i),A.fill())}return f},CRp$2.png=function(e){return output(e,this.bufferCanvasImage(e),"image/png")},CRp$2.jpg=function(e){return output(e,this.bufferCanvasImage(e),"image/jpeg")};var CRp$1={nodeShapeImpl:function(e,t,r,a,n,i,o){switch(e){case"ellipse":return this.drawEllipsePath(t,r,a,n,i);case"polygon":return this.drawPolygonPath(t,r,a,n,i,o);case"round-polygon":return this.drawRoundPolygonPath(t,r,a,n,i,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,r,a,n,i);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,r,a,n,i);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,r,a,n,i);case"barrel":return this.drawBarrelPath(t,r,a,n,i)}}},CR=CanvasRenderer,CRp=CanvasRenderer.prototype;function CanvasRenderer(e){var t=this;t.data={canvases:new Array(CRp.CANVAS_LAYERS),contexts:new Array(CRp.CANVAS_LAYERS),canvasNeedsRedraw:new Array(CRp.CANVAS_LAYERS),bufferCanvases:new Array(CRp.BUFFER_COUNT),bufferContexts:new Array(CRp.CANVAS_LAYERS)};var r="-webkit-tap-highlight-color",a="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var n=t.data.canvasContainer.style;t.data.canvasContainer.style[r]=a,n.position="relative",n.zIndex="0",n.overflow="hidden";var i=e.cy.container();i.appendChild(t.data.canvasContainer),i.style[r]=a;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};ms()&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var l=0;ll))return!1;var c=i.get(e),u=i.get(t);if(c&&u)return c==t&&u==e;var f=-1,A=!0,d=r&COMPARE_UNORDERED_FLAG$3?new SetCache$1:void 0;for(i.set(e,t),i.set(t,e);++f0&&r(l)?t>1?baseFlatten$1(l,t-1,r,a,n):arrayPush$2(n,l):a||(n[n.length]=l)}return n}var _baseFlatten=baseFlatten$1;function apply$1(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var _apply=apply$1,apply=_apply,nativeMax$1=Math.max;function overRest$1(e,t,r){return t=nativeMax$1(void 0===t?e.length-1:t,0),function(){for(var a=arguments,n=-1,i=nativeMax$1(a.length-t,0),o=Array(i);++n0){if(++t>=HOT_COUNT)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var _shortOut=shortOut$1,baseSetToString=_baseSetToString,shortOut=_shortOut,setToString$1=shortOut(baseSetToString),_setToString=setToString$1,identity$7=identity_1,overRest=_overRest,setToString=_setToString;function baseRest$1(e,t){return setToString(overRest(e,t,identity$7),e+"")}var _baseRest=baseRest$1;function baseFindIndex$2(e,t,r,a){for(var n=e.length,i=r+(a?1:-1);a?i--:++i-1}var _arrayIncludes=arrayIncludes$1;function arrayIncludesWith$1(e,t,r){for(var a=-1,n=null==e?0:e.length;++a=LARGE_ARRAY_SIZE){var c=t?null:createSet(e);if(c)return setToArray(c);o=!1,n=cacheHas,s=new SetCache}else s=t?[]:l;e:for(;++as){var c=l;l=s,s=c}return l+a+s+a+(e.isUndefined(o)?t:o)}function s(e,t){return l(e,t.v,t.w,t.name)}return n.prototype._nodeCount=0,n.prototype._edgeCount=0,n.prototype.isDirected=function(){return this._isDirected},n.prototype.isMultigraph=function(){return this._isMultigraph},n.prototype.isCompound=function(){return this._isCompound},n.prototype.setGraph=function(e){return this._label=e,this},n.prototype.graph=function(){return this._label},n.prototype.setDefaultNodeLabel=function(t){return e.isFunction(t)||(t=e.constant(t)),this._defaultNodeLabelFn=t,this},n.prototype.nodeCount=function(){return this._nodeCount},n.prototype.nodes=function(){return e.keys(this._nodes)},n.prototype.sources=function(){var t=this;return e.filter(this.nodes(),(function(r){return e.isEmpty(t._in[r])}))},n.prototype.sinks=function(){var t=this;return e.filter(this.nodes(),(function(r){return e.isEmpty(t._out[r])}))},n.prototype.setNodes=function(t,r){var a=arguments,n=this;return e.each(t,(function(e){a.length>1?n.setNode(e,r):n.setNode(e)})),this},n.prototype.setNode=function(t,a){return e.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=a),this):(this._nodes[t]=arguments.length>1?a:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=r,this._children[t]={},this._children[r][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},n.prototype.node=function(e){return this._nodes[e]},n.prototype.hasNode=function(t){return e.has(this._nodes,t)},n.prototype.removeNode=function(t){var r=this;if(e.has(this._nodes,t)){var a=function(e){r.removeEdge(r._edgeObjs[e])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],e.each(this.children(t),(function(e){r.setParent(e)})),delete this._children[t]),e.each(e.keys(this._in[t]),a),delete this._in[t],delete this._preds[t],e.each(e.keys(this._out[t]),a),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},n.prototype.setParent=function(t,a){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(a))a=r;else{for(var n=a+="";!e.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+a+" as parent of "+t+" would create a cycle");this.setNode(a)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=a,this._children[a][t]=!0,this},n.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},n.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==r)return t}},n.prototype.children=function(t){if(e.isUndefined(t)&&(t=r),this._isCompound){var a=this._children[t];if(a)return e.keys(a)}else{if(t===r)return this.nodes();if(this.hasNode(t))return[]}},n.prototype.predecessors=function(t){var r=this._preds[t];if(r)return e.keys(r)},n.prototype.successors=function(t){var r=this._sucs[t];if(r)return e.keys(r)},n.prototype.neighbors=function(t){var r=this.predecessors(t);if(r)return e.union(r,this.successors(t))},n.prototype.isLeaf=function(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length},n.prototype.filterNodes=function(t){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var a=this;e.each(this._nodes,(function(e,a){t(a)&&r.setNode(a,e)})),e.each(this._edgeObjs,(function(e){r.hasNode(e.v)&&r.hasNode(e.w)&&r.setEdge(e,a.edge(e))}));var n={};function i(e){var t=a.parent(e);return void 0===t||r.hasNode(t)?(n[e]=t,t):t in n?n[t]:i(t)}return this._isCompound&&e.each(r.nodes(),(function(e){r.setParent(e,i(e))})),r},n.prototype.setDefaultEdgeLabel=function(t){return e.isFunction(t)||(t=e.constant(t)),this._defaultEdgeLabelFn=t,this},n.prototype.edgeCount=function(){return this._edgeCount},n.prototype.edges=function(){return e.values(this._edgeObjs)},n.prototype.setPath=function(t,r){var a=this,n=arguments;return e.reduce(t,(function(e,t){return n.length>1?a.setEdge(e,t,r):a.setEdge(e,t),t})),this},n.prototype.setEdge=function(){var t,r,a,n,o=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(t=s.v,r=s.w,a=s.name,2===arguments.length&&(n=arguments[1],o=!0)):(t=s,r=arguments[1],a=arguments[3],arguments.length>2&&(n=arguments[2],o=!0)),t=""+t,r=""+r,e.isUndefined(a)||(a=""+a);var c=l(this._isDirected,t,r,a);if(e.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=n),this;if(!e.isUndefined(a)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(r),this._edgeLabels[c]=o?n:this._defaultEdgeLabelFn(t,r,a);var u=function(e,t,r,a){var n=""+t,i=""+r;if(!e&&n>i){var o=n;n=i,i=o}var l={v:n,w:i};a&&(l.name=a);return l}(this._isDirected,t,r,a);return t=u.v,r=u.w,Object.freeze(u),this._edgeObjs[c]=u,i(this._preds[r],t),i(this._sucs[t],r),this._in[r][c]=u,this._out[t][c]=u,this._edgeCount++,this},n.prototype.edge=function(e,t,r){var a=1===arguments.length?s(this._isDirected,arguments[0]):l(this._isDirected,e,t,r);return this._edgeLabels[a]},n.prototype.hasEdge=function(t,r,a){var n=1===arguments.length?s(this._isDirected,arguments[0]):l(this._isDirected,t,r,a);return e.has(this._edgeLabels,n)},n.prototype.removeEdge=function(e,t,r){var a=1===arguments.length?s(this._isDirected,arguments[0]):l(this._isDirected,e,t,r),n=this._edgeObjs[a];return n&&(e=n.v,t=n.w,delete this._edgeLabels[a],delete this._edgeObjs[a],o(this._preds[t],e),o(this._sucs[e],t),delete this._in[t][a],delete this._out[e][a],this._edgeCount--),this},n.prototype.inEdges=function(t,r){var a=this._in[t];if(a){var n=e.values(a);return r?e.filter(n,(function(e){return e.v===r})):n}},n.prototype.outEdges=function(t,r){var a=this._out[t];if(a){var n=e.values(a);return r?e.filter(n,(function(e){return e.w===r})):n}},n.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);if(r)return r.concat(this.outEdges(e,t))},graph}function requireVersion$1(){return hasRequiredVersion$1?version$1:(hasRequiredVersion$1=1,version$1="2.1.8")}function requireLib(){return hasRequiredLib?lib$3:(hasRequiredLib=1,lib$3={Graph:requireGraph(),version:requireVersion$1()})}function requireJson(){if(hasRequiredJson)return json;hasRequiredJson=1;var e=requireLodash$1(),t=requireGraph();function r(t){return e.map(t.nodes(),(function(r){var a=t.node(r),n=t.parent(r),i={v:r};return e.isUndefined(a)||(i.value=a),e.isUndefined(n)||(i.parent=n),i}))}function a(t){return e.map(t.edges(),(function(r){var a=t.edge(r),n={v:r.v,w:r.w};return e.isUndefined(r.name)||(n.name=r.name),e.isUndefined(a)||(n.value=a),n}))}return json={write:function(t){var n={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:r(t),edges:a(t)};e.isUndefined(t.graph())||(n.value=e.clone(t.graph()));return n},read:function(r){var a=new t(r.options).setGraph(r.value);return e.each(r.nodes,(function(e){a.setNode(e.v,e.value),e.parent&&a.setParent(e.v,e.parent)})),e.each(r.edges,(function(e){a.setEdge({v:e.v,w:e.w,name:e.name},e.value)})),a}},json}function requireComponents(){if(hasRequiredComponents)return components_1;hasRequiredComponents=1;var e=requireLodash$1();return components_1=function(t){var r,a={},n=[];function i(n){e.has(a,n)||(a[n]=!0,r.push(n),e.each(t.successors(n),i),e.each(t.predecessors(n),i))}return e.each(t.nodes(),(function(e){r=[],i(e),r.length&&n.push(r)})),n},components_1}function requirePriorityQueue(){if(hasRequiredPriorityQueue)return priorityQueue;hasRequiredPriorityQueue=1;var e=requireLodash$1();function t(){this._arr=[],this._keyIndices={}}return priorityQueue=t,t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map((function(e){return e.key}))},t.prototype.has=function(t){return e.has(this._keyIndices,t)},t.prototype.priority=function(e){var t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority},t.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(t,r){var a=this._keyIndices;if(t=String(t),!e.has(a,t)){var n=this._arr,i=n.length;return a[t]=i,n.push({key:t,priority:r}),this._decrease(i),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},t.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},t.prototype._heapify=function(e){var t=this._arr,r=2*e,a=r+1,n=e;r>1].priority0&&(i=s.removeMin(),(o=l[i]).distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return l}(e,String(a),n||r,i||function(t){return e.outEdges(t)})};var r=e.constant(1);return dijkstra_1}function requireDijkstraAll(){if(hasRequiredDijkstraAll)return dijkstraAll_1;hasRequiredDijkstraAll=1;var e=requireDijkstra(),t=requireLodash$1();return dijkstraAll_1=function(r,a,n){return t.transform(r.nodes(),(function(t,i){t[i]=e(r,i,a,n)}),{})},dijkstraAll_1}function requireTarjan(){if(hasRequiredTarjan)return tarjan_1;hasRequiredTarjan=1;var e=requireLodash$1();return tarjan_1=function(t){var r=0,a=[],n={},i=[];function o(l){var s=n[l]={onStack:!0,lowlink:r,index:r++};if(a.push(l),t.successors(l).forEach((function(t){e.has(n,t)?n[t].onStack&&(s.lowlink=Math.min(s.lowlink,n[t].index)):(o(t),s.lowlink=Math.min(s.lowlink,n[t].lowlink))})),s.lowlink===s.index){var c,u=[];do{c=a.pop(),n[c].onStack=!1,u.push(c)}while(l!==c);i.push(u)}}return t.nodes().forEach((function(t){e.has(n,t)||o(t)})),i},tarjan_1}function requireFindCycles(){if(hasRequiredFindCycles)return findCycles_1;hasRequiredFindCycles=1;var e=requireLodash$1(),t=requireTarjan();return findCycles_1=function(r){return e.filter(t(r),(function(e){return e.length>1||1===e.length&&r.hasEdge(e[0],e[0])}))},findCycles_1}function requireFloydWarshall(){if(hasRequiredFloydWarshall)return floydWarshall_1;hasRequiredFloydWarshall=1;var e=requireLodash$1();floydWarshall_1=function(e,r,a){return function(e,t,r){var a={},n=e.nodes();return n.forEach((function(e){a[e]={},a[e][e]={distance:0},n.forEach((function(t){e!==t&&(a[e][t]={distance:Number.POSITIVE_INFINITY})})),r(e).forEach((function(r){var n=r.v===e?r.w:r.v,i=t(r);a[e][n]={distance:i,predecessor:e}}))})),n.forEach((function(e){var t=a[e];n.forEach((function(r){var i=a[r];n.forEach((function(r){var a=i[e],n=t[r],o=i[r],l=a.distance+n.distance;l0;){if(i=s.removeMin(),e.has(l,i))o.setEdge(i,l[i]);else{if(u)throw new Error("Input graph is not connected: "+a);u=!0}a.nodeEdges(i).forEach(c)}return o},prim_1}function requireAlg(){return hasRequiredAlg?alg:(hasRequiredAlg=1,alg={components:requireComponents(),dijkstra:requireDijkstra(),dijkstraAll:requireDijkstraAll(),findCycles:requireFindCycles(),floydWarshall:requireFloydWarshall(),isAcyclic:requireIsAcyclic(),postorder:requirePostorder(),preorder:requirePreorder(),prim:requirePrim(),tarjan:requireTarjan(),topsort:requireTopsort()})}function requireGraphlib$1(){if(hasRequiredGraphlib$1)return graphlib;hasRequiredGraphlib$1=1;var e=requireLib();return graphlib={Graph:e.Graph,json:requireJson(),alg:requireAlg(),version:e.version}}function requireGraphlib(){if(hasRequiredGraphlib)return graphlib_1;var t;if(hasRequiredGraphlib=1,"function"==typeof commonjsRequire)try{t=requireGraphlib$1()}catch(e){}return t||(t=window.graphlib),graphlib_1=t}function requireCloneDeep(){if(hasRequiredCloneDeep)return cloneDeep_1;hasRequiredCloneDeep=1;var e=require_baseClone();return cloneDeep_1=function(t){return e(t,5)}}var eq$1=eq_1,isArrayLike$1=isArrayLike_1,isIndex=_isIndex,isObject$9=isObject_1;function isIterateeCall$1(e,t,r){if(!isObject$9(r))return!1;var a=typeof t;return!!("number"==a?isArrayLike$1(r)&&isIndex(t,r.length):"string"==a&&t in r)&&eq$1(r[t],e)}var _isIterateeCall=isIterateeCall$1,defaults_1,hasRequiredDefaults;function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var e=_baseRest,t=eq_1,r=_isIterateeCall,a=keysIn_1,n=Object.prototype,i=n.hasOwnProperty,o=e((function(e,o){e=Object(e);var l=-1,s=o.length,c=s>2?o[2]:void 0;for(c&&r(o[0],o[1],c)&&(s=1);++l-1?n[i?t[o]:o]:void 0}}var _createFind=createFind$1,toNumber$2=toNumber_1,INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite$1(e){return e?(e=toNumber$2(e))===INFINITY||e===-INFINITY?(e<0?-1:1)*MAX_INTEGER:e==e?e:0:0===e?e:0}var toFinite_1=toFinite$1,toFinite=toFinite_1;function toInteger$2(e){var t=toFinite(e),r=t%1;return t==t?r?t-r:t:0}var toInteger_1=toInteger$2,baseFindIndex=_baseFindIndex,baseIteratee$5=_baseIteratee,toInteger$1=toInteger_1,nativeMax=Math.max;function findIndex$2(e,t,r){var a=null==e?0:e.length;if(!a)return-1;var n=null==r?0:toInteger$1(r);return n<0&&(n=nativeMax(a+n,0)),baseFindIndex(e,baseIteratee$5(t),n)}var findIndex_1=findIndex$2,createFind=_createFind,findIndex$1=findIndex_1,find$1=createFind(findIndex$1),find_1=find$1,flatten_1,hasRequiredFlatten,forIn_1,hasRequiredForIn;function requireFlatten(){if(hasRequiredFlatten)return flatten_1;hasRequiredFlatten=1;var e=_baseFlatten;return flatten_1=function(t){return(null==t?0:t.length)?e(t,1):[]},flatten_1}function requireForIn(){if(hasRequiredForIn)return forIn_1;hasRequiredForIn=1;var e=_baseFor,t=require_castFunction(),r=keysIn_1;return forIn_1=function(a,n){return null==a?a:e(a,t(n),r)},forIn_1}var baseAssignValue$2=_baseAssignValue,baseForOwn=_baseForOwn,baseIteratee$4=_baseIteratee;function mapValues(e,t){var r={};return t=baseIteratee$4(t),baseForOwn(e,(function(e,a,n){baseAssignValue$2(r,a,t(e,a,n))})),r}var mapValues_1=mapValues,isSymbol=isSymbol_1;function baseExtremum$1(e,t,r){for(var a=-1,n=e.length;++at}var _baseGt=baseGt$1,max_1,hasRequiredMax;function requireMax(){if(hasRequiredMax)return max_1;hasRequiredMax=1;var e=_baseExtremum,t=_baseGt,r=identity_1;return max_1=function(a){return a&&a.length?e(a,r,t):void 0},max_1}var baseAssignValue$1=_baseAssignValue,eq=eq_1;function assignMergeValue$2(e,t,r){(void 0!==r&&!eq(e[t],r)||void 0===r&&!(t in e))&&baseAssignValue$1(e,t,r)}var _assignMergeValue=assignMergeValue$2,baseGetTag=_baseGetTag,getPrototype=_getPrototype,isObjectLike=isObjectLike_1,objectTag="[object Object]",funcProto=Function.prototype,objectProto$1=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$2=objectProto$1.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$2(e){if(!isObjectLike(e)||baseGetTag(e)!=objectTag)return!1;var t=getPrototype(e);if(null===t)return!0;var r=hasOwnProperty$2.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&funcToString.call(r)==objectCtorString}var isPlainObject_1=isPlainObject$2;function safeGet$2(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var _safeGet=safeGet$2,copyObject=_copyObject,keysIn$1=keysIn_1;function toPlainObject$1(e){return copyObject(e,keysIn$1(e))}var toPlainObject_1=toPlainObject$1,assignMergeValue$1=_assignMergeValue,cloneBuffer=_cloneBufferExports,cloneTypedArray=_cloneTypedArray,copyArray=_copyArray,initCloneObject=_initCloneObject,isArguments$1=isArguments_1,isArray$2=isArray_1,isArrayLikeObject=isArrayLikeObject_1,isBuffer$1=isBufferExports,isFunction$4=isFunction_1,isObject$8=isObject_1,isPlainObject$1=isPlainObject_1,isTypedArray=isTypedArray_1,safeGet$1=_safeGet,toPlainObject=toPlainObject_1;function baseMergeDeep$1(e,t,r,a,n,i,o){var l=safeGet$1(e,r),s=safeGet$1(t,r),c=o.get(s);if(c)assignMergeValue$1(e,r,c);else{var u=i?i(l,s,r+"",e,t,o):void 0,f=void 0===u;if(f){var A=isArray$2(s),d=!A&&isBuffer$1(s),p=!A&&!d&&isTypedArray(s);u=s,A||d||p?isArray$2(l)?u=l:isArrayLikeObject(l)?u=copyArray(l):d?(f=!1,u=cloneBuffer(s,!0)):p?(f=!1,u=cloneTypedArray(s,!0)):u=[]:isPlainObject$1(s)||isArguments$1(s)?(u=l,isArguments$1(l)?u=toPlainObject(l):isObject$8(l)&&!isFunction$4(l)||(u=initCloneObject(s))):f=!1}f&&(o.set(s,u),n(u,s,a,i,o),o.delete(s)),assignMergeValue$1(e,r,u)}}var _baseMergeDeep=baseMergeDeep$1,Stack=_Stack,assignMergeValue=_assignMergeValue,baseFor=_baseFor,baseMergeDeep=_baseMergeDeep,isObject$7=isObject_1,keysIn=keysIn_1,safeGet=_safeGet;function baseMerge$1(e,t,r,a,n){e!==t&&baseFor(t,(function(i,o){if(n||(n=new Stack),isObject$7(i))baseMergeDeep(e,t,o,r,baseMerge$1,a,n);else{var l=a?a(safeGet(e,o),i,o+"",e,t,n):void 0;void 0===l&&(l=i),assignMergeValue(e,o,l)}}),keysIn)}var _baseMerge=baseMerge$1,baseRest=_baseRest,isIterateeCall=_isIterateeCall;function createAssigner$1(e){return baseRest((function(t,r){var a=-1,n=r.length,i=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(n--,i):void 0,o&&isIterateeCall(r[0],r[1],o)&&(i=n<3?void 0:i,n=1),t=Object(t);++ar||o&&l&&c&&!s&&!u||n&&l&&c||!a&&c||!i)return 1;if(!n&&!o&&!u&&t=s?c:c*("desc"==a[n]?-1:1)}return t.index-r.index},_compareMultiple}function require_baseOrderBy(){if(hasRequired_baseOrderBy)return _baseOrderBy;hasRequired_baseOrderBy=1;var e=_arrayMap,t=_baseGet,r=_baseIteratee,a=_baseMap,n=require_baseSortBy(),i=_baseUnary,o=require_compareMultiple(),l=identity_1,s=isArray_1;return _baseOrderBy=function(c,u,f){u=u.length?e(u,(function(e){return s(e)?function(r){return t(r,1===e.length?e[0]:e)}:e})):[l];var A=-1;u=e(u,i(r));var d=a(c,(function(t,r,a){return{criteria:e(u,(function(e){return e(t)})),index:++A,value:t}}));return n(d,(function(e,t){return o(e,t,f)}))},_baseOrderBy}function requireSortBy(){if(hasRequiredSortBy)return sortBy_1;hasRequiredSortBy=1;var e=_baseFlatten,t=require_baseOrderBy(),r=_isIterateeCall,a=_baseRest((function(a,n){if(null==a)return[];var i=n.length;return i>1&&r(a,n[0],n[1])?n=[]:i>2&&r(n[0],n[1],n[2])&&(n=[n[0]]),t(a,e(n,1),[])}));return sortBy_1=a}function requireUniqueId(){if(hasRequiredUniqueId)return uniqueId_1;hasRequiredUniqueId=1;var e=toString_1,t=0;return uniqueId_1=function(r){var a=++t;return e(r)+a},uniqueId_1}function require_baseZipObject(){if(hasRequired_baseZipObject)return _baseZipObject;return hasRequired_baseZipObject=1,_baseZipObject=function(e,t,r){for(var a=-1,n=e.length,i=t.length,o={};++a0;--s)if(a=t[s].dequeue()){i=i.concat(n(e,t,r,a,!0));break}}return i}(s.graph,s.buckets,s.zeroIdx);return e.flatten(e.map(c,(function(e){return o.outEdges(e.v,e.w)})),!0)};var a=e.constant(1);function n(t,r,a,n,o){var l=o?[]:void 0;return e.forEach(t.inEdges(n.v),(function(e){var n=t.edge(e),s=t.node(e.v);o&&l.push({v:e.v,w:e.w}),s.out-=n,i(r,a,s)})),e.forEach(t.outEdges(n.v),(function(e){var n=t.edge(e),o=e.w,l=t.node(o);l.in-=n,i(r,a,l)})),t.removeNode(n.v),l}function i(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}return greedyFas}function requireAcyclic(){if(hasRequiredAcyclic)return acyclic;hasRequiredAcyclic=1;var e=requireLodash(),t=requireGreedyFas();return acyclic={run:function(r){var a="greedy"===r.graph().acyclicer?t(r,function(e){return function(t){return e.edge(t).weight}}(r)):function(t){var r=[],a={},n={};function i(o){e.has(n,o)||(n[o]=!0,a[o]=!0,e.forEach(t.outEdges(o),(function(t){e.has(a,t.w)?r.push(t):i(t.w)})),delete a[o])}return e.forEach(t.nodes(),i),r}(r);e.forEach(a,(function(t){var a=r.edge(t);r.removeEdge(t),a.forwardName=t.name,a.reversed=!0,r.setEdge(t.w,t.v,a,e.uniqueId("rev"))}))},undo:function(t){e.forEach(t.edges(),(function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var a=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,a)}}))}},acyclic}function requireUtil$1(){if(hasRequiredUtil$1)return util$8;hasRequiredUtil$1=1;var e=requireLodash(),t=requireGraphlib().Graph;function r(t,r,a,n){var i;do{i=e.uniqueId(n)}while(t.hasNode(i));return a.dummy=r,t.setNode(i,a),i}function a(t){return e.max(e.map(t.nodes(),(function(r){var a=t.node(r).rank;if(!e.isUndefined(a))return a})))}return util$8={addDummyNode:r,simplify:function(r){var a=(new t).setGraph(r.graph());return e.forEach(r.nodes(),(function(e){a.setNode(e,r.node(e))})),e.forEach(r.edges(),(function(e){var t=a.edge(e.v,e.w)||{weight:0,minlen:1},n=r.edge(e);a.setEdge(e.v,e.w,{weight:t.weight+n.weight,minlen:Math.max(t.minlen,n.minlen)})})),a},asNonCompoundGraph:function(r){var a=new t({multigraph:r.isMultigraph()}).setGraph(r.graph());return e.forEach(r.nodes(),(function(e){r.children(e).length||a.setNode(e,r.node(e))})),e.forEach(r.edges(),(function(e){a.setEdge(e,r.edge(e))})),a},successorWeights:function(t){var r=e.map(t.nodes(),(function(r){var a={};return e.forEach(t.outEdges(r),(function(e){a[e.w]=(a[e.w]||0)+t.edge(e).weight})),a}));return e.zipObject(t.nodes(),r)},predecessorWeights:function(t){var r=e.map(t.nodes(),(function(r){var a={};return e.forEach(t.inEdges(r),(function(e){a[e.v]=(a[e.v]||0)+t.edge(e).weight})),a}));return e.zipObject(t.nodes(),r)},intersectRect:function(e,t){var r,a,n=e.x,i=e.y,o=t.x-n,l=t.y-i,s=e.width/2,c=e.height/2;if(!o&&!l)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(l)*s>Math.abs(o)*c?(l<0&&(c=-c),r=c*o/l,a=c):(o<0&&(s=-s),r=s,a=s*l/o);return{x:n+r,y:i+a}},buildLayerMatrix:function(t){var r=e.map(e.range(a(t)+1),(function(){return[]}));return e.forEach(t.nodes(),(function(a){var n=t.node(a),i=n.rank;e.isUndefined(i)||(r[i][n.order]=a)})),r},normalizeRanks:function(t){var r=e.min(e.map(t.nodes(),(function(e){return t.node(e).rank})));e.forEach(t.nodes(),(function(a){var n=t.node(a);e.has(n,"rank")&&(n.rank-=r)}))},removeEmptyRanks:function(t){var r=e.min(e.map(t.nodes(),(function(e){return t.node(e).rank}))),a=[];e.forEach(t.nodes(),(function(e){var n=t.node(e).rank-r;a[n]||(a[n]=[]),a[n].push(e)}));var n=0,i=t.graph().nodeRankFactor;e.forEach(a,(function(r,a){e.isUndefined(r)&&a%i!=0?--n:n&&e.forEach(r,(function(e){t.node(e).rank+=n}))}))},addBorderNode:function(e,t,a,n){var i={width:0,height:0};arguments.length>=4&&(i.rank=a,i.order=n);return r(e,"border",i,t)},maxRank:a,partition:function(t,r){var a={lhs:[],rhs:[]};return e.forEach(t,(function(e){r(e)?a.lhs.push(e):a.rhs.push(e)})),a},time:function(t,r){var a=e.now();try{return r()}finally{console.log(t+" time: "+(e.now()-a)+"ms")}},notime:function(e,t){return t()}},util$8}function requireNormalize(){if(hasRequiredNormalize)return normalize;hasRequiredNormalize=1;var e=requireLodash(),t=requireUtil$1();return normalize={run:function(r){r.graph().dummyChains=[],e.forEach(r.edges(),(function(e){!function(e,r){var a,n,i,o=r.v,l=e.node(o).rank,s=r.w,c=e.node(s).rank,u=r.name,f=e.edge(r),A=f.labelRank;if(c===l+1)return;for(e.removeEdge(r),i=0,++l;ls.lim&&(c=s,u=!0);var f=e.filter(a.edges(),(function(e){return u===h(t,t.node(e.v),c)&&u!==h(t,t.node(e.w),c)}));return e.minBy(f,(function(e){return r(a,e)}))}function p(t,r,a,i){var o=a.v,l=a.w;t.removeEdge(o,l),t.setEdge(i.v,i.w,{}),u(t),s(t,r),function(t,r){var a=e.find(t.nodes(),(function(e){return!r.node(e).parent})),i=n(t,a);i=i.slice(1),e.forEach(i,(function(e){var a=t.node(e).parent,n=r.edge(e,a),i=!1;n||(n=r.edge(a,e),i=!0),r.node(e).rank=r.node(a).rank+(i?n.minlen:-n.minlen)}))}(t,r)}function h(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}return networkSimplex_1=l,l.initLowLimValues=u,l.initCutValues=s,l.calcCutValue=c,l.leaveEdge=A,l.enterEdge=d,l.exchangeEdges=p,networkSimplex_1}function requireRank(){if(hasRequiredRank)return rank_1;hasRequiredRank=1;var e=requireUtil().longestPath,t=requireFeasibleTree(),r=requireNetworkSimplex();rank_1=function(r){switch(r.graph().ranker){case"network-simplex":default:n(r);break;case"tight-tree":!function(r){e(r),t(r)}(r);break;case"longest-path":a(r)}};var a=e;function n(e){r(e)}return rank_1}function requireParentDummyChains(){if(hasRequiredParentDummyChains)return parentDummyChains_1;hasRequiredParentDummyChains=1;var e=requireLodash();return parentDummyChains_1=function(t){var r=function(t){var r={},a=0;function n(i){var o=a;e.forEach(t.children(i),n),r[i]={low:o,lim:a++}}return e.forEach(t.children(),n),r}(t);e.forEach(t.graph().dummyChains,(function(e){for(var a=t.node(e),n=a.edgeObj,i=function(e,t,r,a){var n,i,o=[],l=[],s=Math.min(t[r].low,t[a].low),c=Math.max(t[r].lim,t[a].lim);n=r;do{n=e.parent(n),o.push(n)}while(n&&(t[n].low>s||c>t[n].lim));i=n,n=a;for(;(n=e.parent(n))!==i;)l.push(n);return{path:o.concat(l.reverse()),lca:i}}(t,r,n.v,n.w),o=i.path,l=i.lca,s=0,c=o[s],u=!0;e!==n.w;){if(a=t.node(e),u){for(;(c=o[s])!==l&&t.node(c).maxRank0;)t%2&&(r+=s[t+1]),s[t=t-1>>1]+=e.weight;c+=e.weight*r}))),c}return crossCount_1=function(e,r){for(var a=0,n=1;n=t.barycenter)&&function(e,t){var r=0,a=0;e.weight&&(r+=e.barycenter*e.weight,a+=e.weight);t.weight&&(r+=t.barycenter*t.weight,a+=t.weight);e.vs=t.vs.concat(e.vs),e.barycenter=r/a,e.weight=a,e.i=Math.min(t.i,e.i),t.merged=!0}(t,r)}}function n(e){return function(r){r.in.push(e),0==--r.indegree&&t.push(r)}}for(;t.length;){var i=t.pop();r.push(i),e.forEach(i.in.reverse(),a(i)),e.forEach(i.out,n(i))}return e.map(e.filter(r,(function(e){return!e.merged})),(function(t){return e.pick(t,["vs","i","barycenter","weight"])}))}(e.filter(a,(function(e){return!e.indegree})))},resolveConflicts_1}function requireSort(){if(hasRequiredSort)return sort_1;hasRequiredSort=1;var e=requireLodash(),t=requireUtil$1();function r(t,r,a){for(var n;r.length&&(n=e.last(r)).i<=a;)r.pop(),t.push(n.vs),a++;return a}return sort_1=function(a,n){var i=t.partition(a,(function(t){return e.has(t,"barycenter")})),o=i.lhs,l=e.sortBy(i.rhs,(function(e){return-e.i})),s=[],c=0,u=0,f=0;o.sort((A=!!n,function(e,t){return e.barycentert.barycenter?1:A?t.i-e.i:e.i-t.i})),f=r(s,l,f),e.forEach(o,(function(e){f+=e.vs.length,s.push(e.vs),c+=e.barycenter*e.weight,u+=e.weight,f=r(s,l,f)}));var A;var d={vs:e.flatten(s,!0)};u&&(d.barycenter=c/u,d.weight=u);return d},sort_1}function requireSortSubgraph(){if(hasRequiredSortSubgraph)return sortSubgraph_1;hasRequiredSortSubgraph=1;var e=requireLodash(),t=requireBarycenter(),r=requireResolveConflicts(),a=requireSort();return sortSubgraph_1=function n(i,o,l,s){var c=i.children(o),u=i.node(o),f=u?u.borderLeft:void 0,A=u?u.borderRight:void 0,d={};f&&(c=e.filter(c,(function(e){return e!==f&&e!==A})));var p=t(i,c);e.forEach(p,(function(t){if(i.children(t.v).length){var r=n(i,t.v,l,s);d[t.v]=r,e.has(r,"barycenter")&&(a=t,o=r,e.isUndefined(a.barycenter)?(a.barycenter=o.barycenter,a.weight=o.weight):(a.barycenter=(a.barycenter*a.weight+o.barycenter*o.weight)/(a.weight+o.weight),a.weight+=o.weight))}var a,o}));var h=r(p,l);!function(t,r){e.forEach(t,(function(t){t.vs=e.flatten(t.vs.map((function(e){return r[e]?r[e].vs:e})),!0)}))}(h,d);var b=a(h,s);if(f&&(b.vs=e.flatten([f,b.vs,A],!0),i.predecessors(f).length)){var g=i.node(i.predecessors(f)[0]),m=i.node(i.predecessors(A)[0]);e.has(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+g.order+m.order)/(b.weight+2),b.weight+=2}return b},sortSubgraph_1}function requireBuildLayerGraph(){if(hasRequiredBuildLayerGraph)return buildLayerGraph_1;hasRequiredBuildLayerGraph=1;var e=requireLodash(),t=requireGraphlib().Graph;return buildLayerGraph_1=function(r,a,n){var i=function(t){var r;for(;t.hasNode(r=e.uniqueId("_root")););return r}(r),o=new t({compound:!0}).setGraph({root:i}).setDefaultNodeLabel((function(e){return r.node(e)}));return e.forEach(r.nodes(),(function(t){var l=r.node(t),s=r.parent(t);(l.rank===a||l.minRank<=a&&a<=l.maxRank)&&(o.setNode(t),o.setParent(t,s||i),e.forEach(r[n](t),(function(a){var n=a.v===t?a.w:a.v,i=o.edge(n,t),l=e.isUndefined(i)?0:i.weight;o.setEdge(n,t,{weight:r.edge(a).weight+l})})),e.has(l,"minRank")&&o.setNode(t,{borderLeft:l.borderLeft[a],borderRight:l.borderRight[a]}))})),o},buildLayerGraph_1}function requireAddSubgraphConstraints(){if(hasRequiredAddSubgraphConstraints)return addSubgraphConstraints_1;hasRequiredAddSubgraphConstraints=1;var e=requireLodash();return addSubgraphConstraints_1=function(t,r,a){var n,i={};e.forEach(a,(function(e){for(var a,o,l=t.parent(e);l;){if((a=t.parent(l))?(o=i[a],i[a]=l):(o=n,n=l),o&&o!==l)return void r.setEdge(o,l);l=a}}))},addSubgraphConstraints_1}function requireOrder(){if(hasRequiredOrder)return order_1;hasRequiredOrder=1;var e=requireLodash(),t=requireInitOrder(),r=requireCrossCount(),a=requireSortSubgraph(),n=requireBuildLayerGraph(),i=requireAddSubgraphConstraints(),o=requireGraphlib().Graph,l=requireUtil$1();function s(t,r,a){return e.map(r,(function(e){return n(t,e,a)}))}function c(t,r){var n=new o;e.forEach(t,(function(t){var o=t.graph().root,l=a(t,o,n,r);e.forEach(l.vs,(function(e,r){t.node(e).order=r})),i(t,n,l.vs)}))}function u(t,r){e.forEach(r,(function(r){e.forEach(r,(function(e,r){t.node(e).order=r}))}))}return order_1=function(a){var n=l.maxRank(a),i=s(a,e.range(1,n+1),"inEdges"),o=s(a,e.range(n-1,-1,-1),"outEdges"),f=t(a);u(a,f);for(var A,d=Number.POSITIVE_INFINITY,p=0,h=0;h<4;++p,++h){c(p%2?i:o,p%4>=2),f=l.buildLayerMatrix(a);var b=r(a,f);bs)&&i(a,e,c)}))}))}return e.reduce(r,(function(r,a){var i,o=-1,l=0;return e.forEach(a,(function(e,s){if("border"===t.node(e).dummy){var c=t.predecessors(e);c.length&&(i=t.node(c[0]).order,n(a,l,s,o,i),l=s,o=i)}n(a,l,a.length,i,r.length)})),a})),a}function i(e,t,r){if(t>r){var a=t;t=r,r=a}var n=e[t];n||(e[t]=n={}),n[r]=!0}function o(t,r,a){if(r>a){var n=r;r=a,a=n}return e.has(t[r],a)}function l(t,r,a,n){var i={},l={},s={};return e.forEach(r,(function(t){e.forEach(t,(function(e,t){i[e]=e,l[e]=e,s[e]=t}))})),e.forEach(r,(function(t){var r=-1;e.forEach(t,(function(t){var c=n(t);if(c.length){c=e.sortBy(c,(function(e){return s[e]}));for(var u=(c.length-1)/2,f=Math.floor(u),A=Math.ceil(u);f<=A;++f){var d=c[f];l[t]===t&&r1?t-1:0),a=1;a{0!==e.parent.trim().length&&0!==e.child.trim().length&&(t[e.parent]||(r.push({data:{id:e.parent}}),t[e.parent]=!0),t[e.child]||(r.push({data:{id:e.child}}),t[e.child]=!0),a.push({data:{source:e.parent,target:e.child,label:`${e.callCount}`}}))})),cytoscape_cjs({container:this.cytoscapeRef.current,boxSelectionEnabled:!1,autounselectify:!0,layout:{name:"dagre"},minZoom:.5,style:[{selector:"node",style:{content:"data(id)","text-opacity":.5,"text-valign":"center","text-halign":"right","background-color":"#11939A"}},{selector:"edge",style:{width:4,label:"data(label)","target-arrow-shape":"triangle","line-color":"gray","target-arrow-color":"gray","curve-style":"bezier"}}],elements:{nodes:r,edges:a}})}render(){return jsxRuntimeExports.jsx("div",{id:"cy",style:{width:"100%",height:"100%",position:"absolute",left:0,top:0},ref:this.cytoscapeRef})}}_defineProperty3(DAG,"propTypes",{serviceCalls:propTypesExports.arrayOf(propTypesExports.shape({parent:propTypesExports.string,child:propTypesExports.string,callCount:propTypesExports.number}))}),_defineProperty3(DAG,"defaultProps",{serviceCalls:[]});var reactVisForceExports={},reactVisForce={get exports(){return reactVisForceExports},set exports(e){reactVisForceExports=e}},win$1;!function(t,r){!function(e,r){t.exports=r(reactExports)}(0,(function(t){return function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={exports:{},id:a,loaded:!1};return e[a].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}return r.m=e,r.c=t,r.p="/react-vis-force/",r(0)}([function(e,t,r){r(9),e.exports=r(15)},function(e,t,r){e.exports=r(32)()},function(e,r){e.exports=t},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.asStrengthFn=f,t.nodeId=A,t.linkId=d,t.runSimulation=p,t.createSimulation=function(e){var t=(0,i.forceSimulation)();return t.strength={},h(t,e)},t.updateSimulation=h;var n,i=r(22),o=r(19),l=(n=o)&&n.__esModule?n:{default:n};function s(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t1?t-1:0),a=1;a"+(e.target.id||e.target)}function p(e){for(e.restart();e.alpha()>e.alphaMin();)e.tick();return e.stop(),e}function h(e,t){return function(e,t){c.forEach((function(r){({}).hasOwnProperty.call(t,r)&&e[r](t[r])}))}(e,t),function(e,t){var r=t.height,a=t.width;e.force("center")||e.force("center",(0,i.forceCenter)());var n=a?a/2:0;a>0&&e.force("center").x()!==n&&(e.shouldRun=!0,e.force("center").x(n));var o=r?r/2:0;r>0&&e.force("center").y()!==o&&(e.shouldRun=!0,e.force("center").y(o))}(e,t),function(e,t){var r=t.strength,a=void 0===r?{}:r;e.force("charge")||e.force("charge",(0,i.forceManyBody)()),a.charge!==e.strength.charge&&(e.strength.charge=a.charge,e.shouldRun=!0,e.force("charge").strength(f(a.charge)))}(e,t),function(e,t){var r=t.radiusMargin,a=void 0===r?3:r,n=t.strength,o=void 0===n?{}:n;e.force("collide")||e.force("collide",(0,i.forceCollide)()),e.radiusMargin!==a&&(e.radiusMargin=a,e.shouldRun=!0,e.force("collide").radius((function(e){return e.radius+a}))),o.collide!==e.strength.collide&&(e.strength.collide=o.collide,e.shouldRun=!0,e.force("collide").strength(f(o.collide)()))}(e,t),function(e,t){var r=t.data,a=r.nodes,n=r.links,o=t.linkAttrs,c=void 0===o?[]:o,f=t.nodeAttrs,p=void 0===f?[]:f;e.force("link")||e.force("link",(0,i.forceLink)().id(A));var h=new Set(e.nodes().map(A)),b=new Set(a.map(A));(0,l.default)(h,b)||(e.shouldRun=!0,e.nodes(u.apply(void 0,[a,"id","radius","fx","fy"].concat(s(p)))));var g=new Set(e.force("link").links().map(d)),m=new Set(n.map(d));(0,l.default)(g,m)||(e.shouldRun=!0,e.force("link").links(u.apply(void 0,[n,"source","target","value"].concat(s(c)))))}(e,t),function(e,t){var r=t.strength,a=void 0===r?{}:r;e.force("x")||e.force("x",(0,i.forceX)()),e.force("y")||e.force("y",(0,i.forceY)()),a.x!==e.strength.x&&(e.strength.x=a.x,e.shouldRun=!0,e.force("x").strength(f(a.x))),a.y!==e.strength.y&&(e.strength.y=a.y,e.shouldRun=!0,e.force("y").strength(f(a.y)))}(e,t),!t.animate&&e.shouldRun&&p(e),e.shouldRun=null,e}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t2?n-2:0),o=2;o0&&void 0!==arguments[0]?arguments[0]:this.props;if(!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])&&this.cachedData&&new Date>this.lastUpdated)return this.cachedData;var r=t.getDataFromChildren(e.children);return Object.assign(this,{cachedData:r,lastUpdated:new Date}),r}},{key:"bindSimulationTick",value:function(){this.simulation.on("tick",this.updateSimulation.bind(this))}},{key:"unbindSimulationTick",value:function(){this.simulation.on("tick",null),this.frame=this.frame&&u.cancelAnimationFrame(this.frame)}},{key:"updateSimulation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=this.simulation,r=e.updateSimulation,n=e.simulationOptions;this.simulation=r(t,a({},A.DEFAULT_SIMULATION_PROPS,n,{data:this.getDataFromChildren(e,!0)})),this.onSimulationTick()}},{key:"updatePositions",value:function(){this.setState({linkPositions:t.getLinkPositions(this.simulation),nodePositions:t.getNodePositions(this.simulation)})}},{key:"scale",value:function(e){return"number"==typeof e?e/this.state.scale:e}},{key:"render",value:function(){var e=this,t=this.props,r=t.children,n=t.className,l=t.labelAttr,u=t.labelOffset,d=t.showLabels,p=t.simulationOptions,h=t.zoomOptions,b=t.zoom,v=this.state,y=v.linkPositions,w=v.nodePositions,k=p.height,x=void 0===k?A.DEFAULT_SIMULATION_PROPS.height:k,E=p.width,_=void 0===E?A.DEFAULT_SIMULATION_PROPS.width:E,C=[],$=[],T=[],O=[],S=[],I=(0,s.default)(w,(function(e,t){var r=t.cx;return e>Math.abs(r)?e:Math.abs(r)}),0),M=(0,s.default)(w,(function(e,t){var r=t.cy;return e>Math.abs(r)?e:Math.abs(r)}),0);return i.Children.forEach(r,(function(t,r){if(g(t)){var n=t.props,s=n.node,f=n.showLabel,A=n.labelClass,p=n.labelStyle,h=void 0===p?{}:p,v=n.strokeWidth,k=w[c.nodeId(s)];if(C.push((0,i.cloneElement)(t,a({},k,{scale:e.state.scale,strokeWidth:e.scale(v)}))),(d||f)&&k){var x=h.fontSize,E=function(e,t){var r={};for(var a in e)t.indexOf(a)>=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(h,["fontSize"]);$.push(o.default.createElement("text",{className:"rv-force__label "+A,key:c.nodeId(s)+"-label",x:k.cx+u.x(s),y:k.cy+u.y(s),fontSize:e.scale(x),style:E},s[l]))}}else if(m(t)){var _=t.props.link,I=_.strokeWidth,M=y[c.linkId(_)];T.push((0,i.cloneElement)(t,a({},M,{strokeWidth:e.scale(I)})))}else{var B=t.props.zoomable;b&&B?O.push((0,i.cloneElement)(t,{key:t.key||"zoomable-"+r})):S.push((0,i.cloneElement)(t,{key:t.key||"static-"+r}))}})),o.default.createElement("svg",{className:"rv-force__svg "+n,width:_,height:x},o.default.createElement("g",{className:"rv-force__static-elements"},S),o.default.createElement(f.default,a({disabled:!b,height:M,width:I},h,{onZoom:function(){return e.onZoom.apply(e,arguments)},onPan:function(){return e.onPan.apply(e,arguments)}}),o.default.createElement("g",{className:"rv-force__zoomable-elements"},O),o.default.createElement("g",{className:"rv-force__links"},T),o.default.createElement("g",{className:"rv-force__nodes"},C),o.default.createElement("g",{className:"rv-force__labels"},$)))}}]),t}(i.PureComponent);t.default=y},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(e,["link","strokeWidth","className","edgeOffset"]);if("number"==typeof i){var s=l.x1,c=l.x2,u=l.y1,f=l.y2,A=s+c,d=u+f,p=i/Math.sqrt(Math.pow(A,2)+Math.pow(d,2)),h=p*A,b=p*d;s>c?(l.x1-=h,l.x2+=h):sf?(l.y1-=b,l.y2+=b):u1024){for(var t=0,r=n.length-i;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(e,["link","targetRadius"]),i="arrow-"+(0,c.linkId)(t);return o.default.createElement("g",null,o.default.createElement("defs",null,o.default.createElement("marker",{id:i,markerWidth:3*r+1,markerHeight:3*r+1,refX:3*r+1,refY:r,orient:"auto",markerUnits:"strokeWidth"},r>0&&o.default.createElement("path",{d:"M0,0 L0,"+2*r+" L"+3*r+","+r+" z",fill:n.stroke||n.color}))),o.default.createElement(u.default,a({},this.props,{edgeOffset:r,markerEnd:"url(#"+i+")"})))}}],[{key:"propTypes",get:function(){return{link:s.default.isRequired,targetRadius:l.default.number}}},{key:"defaultProps",get:function(){return{className:"",opacity:.6,stroke:"#999",targetRadius:2,strokeWidth:1}}}]),t}(i.PureComponent);t.default=A},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(e,["node","className","r","labelStyle","labelClass","showLabel"]),l=t.radius,s=void 0===l?5:l;return o.default.createElement("circle",a({className:"rv-force__node "+r,r:n||s},i))}}],[{key:"propTypes",get:function(){return{node:s.default.isRequired,cx:l.default.number,cy:l.default.number,r:l.default.number,className:l.default.string,labelStyle:l.default.object,labelClass:l.default.string,showLabel:l.default.bool}}},{key:"defaultProps",get:function(){return{className:"",fill:"#333",opacity:1,stroke:"#FFF",strokeWidth:1.5}}}]),t}(i.PureComponent);t.default=u},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(t,["highlightDependencies","opacityFactor","children","className","selectedNode"]),p=this.state,h=p.hoveredNode,b=p.selectedNode,g=u.default.getDataFromChildren(l).links,m=A||b,v=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1)/n},y=function(t,r,a){return function(n){e[t](n,r),a&&a(n)}},w=function(e,t){return e&&((0,f.nodeId)(e)===(0,f.nodeId)(t)||m&&(0,f.nodeId)(m)===(0,f.nodeId)(t)||r&&(n=m||e,(a=t)&&n&&g.findIndex((function(e){return e.value>0&&(e.source===(0,f.nodeId)(a)&&e.target===(0,f.nodeId)(n)||e.source===(0,f.nodeId)(n)&&e.target===(0,f.nodeId)(a))}))>-1));var a,n},k=function(e,t){return e&&r&&t.value>0&&((0,f.nodeId)(e)===t.source||(0,f.nodeId)(e)===t.target)};return o.default.createElement(u.default,a({className:"rv-force__interactive "+s},d),i.Children.map(l,(function(e){if((0,c.isNode)(e)){var t=e.props,n=t.node,o=t.labelStyle,l=t.fontSize,s=void 0===l?function(e){return m&&(0,f.nodeId)(e)===(0,f.nodeId)(m)?14:10}(n):l,u=t.fontWeight,A=void 0===u?function(e){return m&&(0,f.nodeId)(e)===(0,f.nodeId)(m)?700:null}(n):u,d=t.showLabel,p=void 0===d?function(e){return w(m,e)||w(h,e)}(n):d,b=t.onMouseEnter,g=t.onMouseLeave,x=t.onClick,E=e.props.opacity;return E=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return r&&m&&!w(m,e)&&!w(h,e)?v(t/4):m&&!w(m,e)&&!w(h,e)||h&&!w(h,e)?v(t):t}(n,E),(0,i.cloneElement)(e,{showLabel:p,opacity:E,labelStyle:a({fontSize:s,fontWeight:A,opacity:E},o),onMouseEnter:y("onHoverNode",n,b),onMouseLeave:y("onBlurNode",n,g),onClick:y("onClickNode",n,x)})}if((0,c.isLink)(e)){var _=e.props.link,C=e.props.opacity;return C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return(r?!m&&h&&!k(h,e)||m&&!k(m,e):h||m)?v(t/4):h&&!k(h,e)&&m&&!k(m,e)?v(t):t}(_,C),(0,i.cloneElement)(e,{opacity:C})}return e})))}}]),t}(i.PureComponent);t.default=h},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.ZOOMABLE_SVG_GROUP_EVENT_NAMES=void 0;var a=Object.assign||function(e){for(var t=1;t=2?{clientX:(e.touches[0].clientX+e.touches[1].clientX)/2,clientY:(e.touches[0].clientY+e.touches[1].clientY)/2}:e.touches[0]}},{key:"propTypes",get:function(){return a({width:l.default.number.isRequired,height:l.default.number.isRequired,disabled:l.default.bool,zoomSpeed:l.default.number,minScale:l.default.number,maxScale:l.default.number,panLimit:l.default.number,onZoom:l.default.func,onPan:l.default.func},u.reduce((function(e,t){return a({},e,c({},t,l.default.func))}),{}))}},{key:"defaultProps",get:function(){return a({disabled:!1,zoomSpeed:.065,panLimit:.75,minScale:0,maxScale:1/0,onZoom:function(){},onPan:function(){}},u.reduce((function(e,t){return a({},e,c({},t,(function(){})))}),{}))}}]),n(t,[{key:"componentDidMount",value:function(){this.setInitialMatrix()}},{key:"onMouseDown",value:function(e){return this.state.touching?(e.stopPropagation(),null):0!==e.button?null:this.setState({dragging:!0,dragX:e.clientX,dragY:e.clientY})}},{key:"onMouseMove",value:function(e){return this.state.touching?(e.stopPropagation(),null):this.state.dragging?this.panBy(e.clientX,e.clientY):e}},{key:"onMouseUp",value:function(e){return this.state.touching?(e.stopPropagation(),null):this.setState({dragging:!1,dragX:null,dragY:null})}},{key:"onTouchCancel",value:function(){this.setState({touching:!1,dragging:!1,pinchLength:null,dragX:null,dragY:null})}},{key:"onTouchEnd",value:function(){this.onTouchCancel()}},{key:"onTouchMove",value:function(e){if(e.preventDefault(),e.touches.length>=2){var r=e.touches[0],a=e.touches[1],n=t.getPinchZoomLength(r,a),i=this.state.pinchLength,o=0;ni&&(o=-1);var l=t.getTouchClientValues(e),s=l.clientX,c=l.clientY,u=this.getScaleMultiplier(o);this.zoomTo(s,c,u,e),this.setState({pinchLength:n})}else this.panBy(e.touches[0].clientX,e.touches[0].clientY)}},{key:"onTouchStart",value:function(e){var r=t.getTouchClientValues(e),a=r.clientX,n=r.clientY;this.setState({touching:!0,pinchLength:0,dragX:a,dragY:n})}},{key:"onWheel",value:function(e){var t=e.clientX,r=e.clientY,a=e.deltaY,n=this.getScaleMultiplier(a);1!==n&&(e.preventDefault(),this.zoomTo(t,r,n,e))}},{key:"setInitialMatrix",value:function(){var e=this.el.ownerSVGElement.createSVGTransform();this.setState({scale:1,matrix:[e.matrix.a,e.matrix.b,e.matrix.c,e.matrix.d,e.matrix.e,e.matrix.f]})}},{key:"getScaleMultiplier",value:function(e){var t=this.props.zoomSpeed;return e>0?1-t:e<0?1+t:1}},{key:"zoomTo",value:function(e,t,r,a){var n=this,i=this.state.matrix,o=this.state.scale*r,l=this.el.ownerSVGElement.getScreenCTM(),s=e*l.a-l.e,c=t*l.d-l.f;o>this.props.maxScale||oi*l||Math.abs(b/A)>o*l||this.setState({dragX:e,dragY:t,matrix:[c[0],c[1],c[2],c[3],h,b]},(function(){return a.props.onPan(r,h,b)}))}},{key:"render",value:function(){var e=this,r=this.props,n=r.width,i=r.height,l=r.children,s=r.disabled,f=r.style,A=void 0===f?{}:f,d=r.transform,p=void 0===d?"":d;r.canvasHeight,r.canvasWidth,r.minScale,r.maxScale,r.panLimit,r.onZoom,r.onPan,r.zoomSpeed;var h=function(e,t){var r={};for(var a in e)t.indexOf(a)>=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(r,["width","height","children","disabled","style","transform","canvasHeight","canvasWidth","minScale","maxScale","panLimit","onZoom","onPan","zoomSpeed"]),b=this.state,g=b.matrix,m=b.scale,v={transform:p};return!s&&t.isValidMatrix(g)&&Object.assign(v,a({},u.reduce((function(t,r){return a({},t,c({},r,function(t){return function(){var r;e[t].apply(e,arguments),(r=e.props)[t].apply(r,arguments)}}(r)))}),{}),{style:Object.assign({},A,{transformOrigin:"0 0 0",cursor:"default",pointerEvents:"all"}),transform:"matrix("+g.join(" ")+") "+p})),o.default.createElement("g",a({ref:function(t){e.el=t}},h,v),o.default.createElement("rect",{x:-1*g[4],y:-1*g[5],transform:"scale("+1/m+")",fillOpacity:0,height:i,width:n}),l)}}]),t}(i.PureComponent);t.default=f},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=r(3);Object.defineProperty(t,"createSimulation",{enumerable:!0,get:function(){return a.createSimulation}}),Object.defineProperty(t,"updateSimulation",{enumerable:!0,get:function(){return a.updateSimulation}});var n=r(4);Object.defineProperty(t,"ForceGraph",{enumerable:!0,get:function(){return c(n).default}});var i=r(5);Object.defineProperty(t,"ForceGraphLink",{enumerable:!0,get:function(){return c(i).default}});var o=r(11);Object.defineProperty(t,"ForceGraphArrowLink",{enumerable:!0,get:function(){return c(o).default}});var l=r(12);Object.defineProperty(t,"ForceGraphNode",{enumerable:!0,get:function(){return c(l).default}});var s=r(13);function c(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"InteractiveForceGraph",{enumerable:!0,get:function(){return c(s).default}})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a,n=r(1),i=(a=n)&&a.__esModule?a:{default:a};t.default=i.default.shape({id:i.default.string.isRequired,radius:i.default.number})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_SIMULATION_PROPS=void 0;var a,n=r(1),i=(a=n)&&a.__esModule?a:{default:a};t.DEFAULT_SIMULATION_PROPS={animate:!1,width:900,height:600,strength:{}},t.default=i.default.shape({data:i.default.object,animate:i.default.bool,alpha:i.default.number,alphaDecay:i.default.number,alphaMin:i.default.number,alphaTarget:i.default.number,velocityDecay:i.default.number,radiusMargin:i.default.number,linkAttrs:i.default.array,nodeAttrs:i.default.array,strength:i.default.objectOf(i.default.oneOfType([i.default.func,i.default.number]))})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.cancelAnimationFrame=t.requestAnimationFrame=void 0;var a=r(7);t.requestAnimationFrame=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n=n.length)return null!=t?t(r):null!=e?r.sort(e):r;for(var s,c,f,A=-1,d=r.length,p=n[i++],h=a(),b=o();++An.length)return e;var a,i=c[r-1];return null!=t&&r>=n.length?a=e.entries():(a=[],e.each((function(e,t){a.push({key:t,values:f(e,r)})}))),null!=i?a.sort((function(e,t){return i(e.key,t.key)})):a}return r={object:function(e){return u(e,0,i,o)},map:function(e){return u(e,0,l,s)},entries:function(e){return f(u(e,0,l,s),0)},key:function(e){return n.push(e),r},sortKeys:function(e){return c[n.length-1]=e,r},sortValues:function(t){return e=t,r},rollup:function(e){return t=e,r}}};function i(){return{}}function o(e,t,r){e[t]=r}function l(){return a()}function s(e,t,r){e.set(t,r)}function c(){}var u=a.prototype;function f(e,t){var r=new c;if(e instanceof c)e.each((function(e){r.add(e)}));else if(e){var a=-1,n=e.length;if(null==t)for(;++a=0&&(r=e.slice(a+1),e=e.slice(0,a)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}}))}function i(e,t){for(var r,a=0,n=e.length;a0)for(var r,a,n=new Array(r),i=0;iA+c||ad+c||iu.index){var f=A-o.x-o.vx,b=d-o.y-o.vy,g=f*f+b*b;ge.r&&(e.r=e[t].r)}function A(){if(r){var t,n,i=r.length;for(a=new Array(i),t=0;t1?(null==r?u.remove(e):u.set(e,m(r)),t):u.get(e)},find:function(t,r,a){var n,i,o,l,s,c=0,u=e.length;for(null==a?a=1/0:a*=a,c=0;c1?(A.on(e,r),t):A.on(e)}}},v=function(){var e,r,a,n,i=o(-30),s=1,c=1/0,u=.81;function f(n){var i,o=e.length,l=t.quadtree(e,p,h).visitAfter(d);for(a=n,i=0;i=c)){(e.data!==r||e.next)&&(0===f&&(p+=(f=l())*f),0===A&&(p+=(A=l())*A),p=(i=(h+g)/2))?h=i:g=i,(u=r>=(o=(b+m)/2))?b=o:m=o,n=d,!(d=d[f=u<<1|c]))return n[f]=p,e;if(l=+e._x.call(null,d.data),s=+e._y.call(null,d.data),t===l&&r===s)return p.next=d,n?n[f]=p:e._root=p,e;do{n=n?n[f]=new Array(4):e._root=new Array(4),(c=t>=(i=(h+g)/2))?h=i:g=i,(u=r>=(o=(b+m)/2))?b=o:m=o}while((f=u<<1|c)==(A=(s>=o)<<1|l>=i));return n[A]=d,n[f]=p,e}function a(e){var t,a,n,i,o=e.length,l=new Array(o),s=new Array(o),c=1/0,u=1/0,f=-1/0,A=-1/0;for(a=0;af&&(f=n),iA&&(A=i));for(fe||e>n||a>t||t>i))return this;var o,l,s=n-r,c=this._root;switch(l=(t<(a+i)/2)<<1|e<(r+n)/2){case 0:do{(o=new Array(4))[l]=c,c=o}while(i=a+(s*=2),e>(n=r+s)||t>i);break;case 1:do{(o=new Array(4))[l]=c,c=o}while(i=a+(s*=2),(r=n-s)>e||t>i);break;case 2:do{(o=new Array(4))[l]=c,c=o}while(a=i-(s*=2),e>(n=r+s)||a>t);break;case 3:do{(o=new Array(4))[l]=c,c=o}while(a=i-(s*=2),(r=n-s)>e||a>t)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=a,this._x1=n,this._y1=i,this},i=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},o=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l=function(e,t,r,a,n){this.node=e,this.x0=t,this.y0=r,this.x1=a,this.y1=n},s=function(e,t,r){var a,n,i,o,s,c,u,f=this._x0,A=this._y0,d=this._x1,p=this._y1,h=[],b=this._root;for(b&&h.push(new l(b,f,A,d,p)),null==r?r=1/0:(f=e-r,A=t-r,d=e+r,p=t+r,r*=r);c=h.pop();)if(!(!(b=c.node)||(n=c.x0)>d||(i=c.y0)>p||(o=c.x1)=m)<<1|e>=g)&&(c=h[h.length-1],h[h.length-1]=h[h.length-1-u],h[h.length-1-u]=c)}else{var v=e-+this._x.call(null,b.data),y=t-+this._y.call(null,b.data),w=v*v+y*y;if(w=(l=(p+b)/2))?p=l:b=l,(u=o>=(s=(h+g)/2))?h=s:g=s,t=d,!(d=d[f=u<<1|c]))return this;if(!d.length)break;(t[f+1&3]||t[f+2&3]||t[f+3&3])&&(r=t,A=f)}for(;d.data!==e;)if(a=d,!(d=d.next))return this;return(n=d.next)&&delete d.next,a?(n?a.next=n:delete a.next,this):t?(n?t[f]=n:delete t[f],(d=t[0]||t[1]||t[2]||t[3])&&d===(t[3]||t[2]||t[1]||t[0])&&!d.length&&(r?r[A]=d:this._root=d),this):(this._root=n,this)};function u(e){for(var t=0,r=e.length;t=0&&r._call.call(null,e),r=r._next;--a}function g(){s=(l=u.now())+c,a=n=0;try{b()}finally{a=0,v(),s=0}}function m(){var e=u.now(),t=e-l;t>o&&(c-=t,l=e)}function v(){for(var e,a,n=t,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(a=n._next,n._next=null,n=e?e._next=a:t=a);r=e,y(i)}function y(e){if(!a){n&&(n=clearTimeout(n));var t=e-s;t>24?(e<1/0&&(n=setTimeout(g,t)),i&&(i=clearInterval(i))):(i||(l=s,i=setInterval(m,o)),a=1,f(g))}}p.prototype=h.prototype={constructor:p,restart:function(e,a,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?A():+n)+(null==a?0:+a),this._next||r===this||(r?r._next=this:t=this,r=this),this._call=e,this._time=n,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}};var w=function(e,t,r){var a=new p;return t=null==t?0:+t,a.restart((function(r){a.stop(),e(r+t)}),t,r),a},k=function(e,t,r){var a=new p,n=t;return null==t?(a.restart(e,t,r),a):(t=+t,r=null==r?A():+r,a.restart((function i(o){o+=n,a.restart(i,n+=t,r),e(o)}),t,r),a)};e.now=A,e.timer=h,e.timerFlush=b,e.timeout=w,e.interval=k,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t){},function(e,t){function r(e){return function(){return e}}var a=function(){};a.thatReturns=r,a.thatReturnsFalse=r(!1),a.thatReturnsTrue=r(!0),a.thatReturnsNull=r(null),a.thatReturnsThis=function(){return this},a.thatReturnsArgument=function(e){return e},e.exports=a},function(e,t,r){e.exports=function(e,t,r,a,n,i,o,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[r,a,n,i,o,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},function(t,r,a){(function(t,a){var n="__lodash_hash_undefined__",i=1,o=2,l=1/0,s=9007199254740991,c="[object Arguments]",u="[object Array]",f="[object Boolean]",A="[object Date]",d="[object Error]",p="[object Function]",h="[object GeneratorFunction]",b="[object Map]",g="[object Number]",m="[object Object]",v="[object Promise]",y="[object RegExp]",w="[object Set]",k="[object String]",x="[object Symbol]",E="[object WeakMap]",_="[object ArrayBuffer]",C="[object DataView]",$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,O=/^\./,S=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,M=/^\[object .+?Constructor\]$/,B=/^(?:0|[1-9]\d*)$/,R={};R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R[c]=R[u]=R[_]=R[f]=R[C]=R[A]=R[d]=R[p]=R[b]=R[g]=R[m]=R[y]=R[w]=R[k]=R[E]=!1;var P="object"==typeof t&&t&&t.Object===Object&&t,L="object"==typeof self&&self&&self.Object===Object&&self,D=P||L||Function("return this")(),z="object"==typeof r&&r&&!r.nodeType&&r,F=z&&"object"==typeof a&&a&&!a.nodeType&&a,N=F&&F.exports===z&&P.process,j=function(){try{return N&&N.binding("util")}catch(e){}}(),V=j&&j.isTypedArray;function G(e,t,r,a){var n=-1,i=e?e.length:0;for(a&&i&&(r=e[++n]);++n-1},Ee.prototype.set=function(e,t){var r=this.__data__,a=Oe(r,e);return a<0?r.push([e,t]):r[a][1]=t,this},_e.prototype.clear=function(){this.__data__={hash:new xe,map:new(ue||Ee),string:new xe}},_e.prototype.delete=function(e){return Ve(this,e).delete(e)},_e.prototype.get=function(e){return Ve(this,e).get(e)},_e.prototype.has=function(e){return Ve(this,e).has(e)},_e.prototype.set=function(e,t){return Ve(this,e).set(e,t),this},Ce.prototype.add=Ce.prototype.push=function(e){return this.__data__.set(e,n),this},Ce.prototype.has=function(e){return this.__data__.has(e)},$e.prototype.clear=function(){this.__data__=new Ee},$e.prototype.delete=function(e){return this.__data__.delete(e)},$e.prototype.get=function(e){return this.__data__.get(e)},$e.prototype.has=function(e){return this.__data__.has(e)},$e.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Ee){var a=r.__data__;if(!ue||a.length<199)return a.push([e,t]),this;r=this.__data__=new _e(a)}return r.set(e,t),this};var Se,Ie,Me=(Se=function(e,t){return e&&Be(e,t,ut)},function(e,t){if(null==e)return e;if(!rt(e))return Se(e,t);for(var r=e.length,a=Ie?r:-1,n=Object(e);(Ie?a--:++ac))return!1;var f=l.get(e);if(f&&l.get(t))return f==t;var A=-1,d=!0,p=n&i?new Ce:void 0;for(l.set(e,t),l.set(t,e);++A-1&&e%1==0&&e-1&&e%1==0&&e<=s}function it(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ot(e){return!!e&&"object"==typeof e}function lt(e){return"symbol"==typeof e||ot(e)&&re.call(e)==x}var st,ct=V?(st=V,function(e){return st(e)}):function(e){return ot(e)&&nt(e.length)&&!!R[re.call(e)]};function ut(e){return rt(e)?Te(e):Fe(e)}function ft(e){return e}a.exports=function(e,t,r){var a=tt(e)?G:W,n=arguments.length<3;return a(e,ze(t),r,n,Me)}}).call(r,function(){return this}(),a(34)(t))},function(t,r){var a=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var r={},a=0;a<10;a++)r["_"+String.fromCharCode(a)]=a;var n=Object.getOwnPropertyNames(r).map((function(e){return r[e]}));if("0123456789"!==n.join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var r,i,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function p(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),a=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(a),decodeURIComponent(n))}})),t}function h(e){var t=new s;return(e.getAllResponseHeaders()||"").trim().split("\n").forEach((function(e){var r=e.trim().split(":"),a=r.shift().trim(),n=r.join(":").trim();t.append(a,n)})),t}function b(e,t){t||(t={}),this.type="default",this.status=t.status,this.ok=this.status>=200&&this.status<300,this.statusText=t.statusText,this.headers=t.headers instanceof s?t.headers:new s(t.headers),this.url=t.url||"",this._initBody(e)}}("undefined"!=typeof self?self:this)}])}))}(reactVisForce),win$1="undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{};var window_1=win$1,lodashExports={},lodash={get exports(){return lodashExports},set exports(e){lodashExports=e}}; + */var STATE_PENDING=0,STATE_FULFILLED=1,STATE_REJECTED=2,api$1=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=STATE_PENDING,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};api$1.prototype={fulfill:function(e){return deliver(this,STATE_FULFILLED,"fulfillValue",e)},reject:function(e){return deliver(this,STATE_REJECTED,"rejectReason",e)},then:function(e,t){var r=this,a=new api$1;return r.onFulfilled.push(resolver(e,a,"fulfill")),r.onRejected.push(resolver(t,a,"reject")),execute(r),a.proxy}};var deliver=function(e,t,r,a){return e.state===STATE_PENDING&&(e.state=t,e[r]=a,execute(e)),e},execute=function(e){e.state===STATE_FULFILLED?execute_handlers(e,"onFulfilled",e.fulfillValue):e.state===STATE_REJECTED&&execute_handlers(e,"onRejected",e.rejectReason)},execute_handlers=function(e,t,r){if(0!==e[t].length){var a=e[t];e[t]=[];var n=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var r=0;r0&&this.spawn(a).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){array$4(e)||(e=e.match(/\S+/g)||[]);for(var r=this,a=void 0===t,n=[],i=0,o=r.length;i0&&this.spawn(n).updateStyle().emit("class"),r},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var r=this;if(null==t)t=250;else if(0===t)return r;return r.addClass(e),setTimeout((function(){r.removeClass(e)}),t),r}};elesfn$h.className=elesfn$h.classNames=elesfn$h.classes;var tokens={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:number$2,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};tokens.variable="(?:[\\w-.]|(?:\\\\"+tokens.metaChar+"))+",tokens.className="(?:[\\w-]|(?:\\\\"+tokens.metaChar+"))+",tokens.value=tokens.string+"|"+tokens.number,tokens.id=tokens.variable,function(){var e,t,r;for(e=tokens.comparatorOp.split("|"),r=0;r=0||"="!==t&&(tokens.comparatorOp+="|\\!"+t)}();var newQuery=function(){return{checks:[]}},Type={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},stateSelectors=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return descending$2(e.selector,t.selector)})),lookup=function(){for(var e,t={},r=0;r0&&c.edgeCount>0)return warn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(c.edgeCount>1)return warn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===c.edgeCount&&warn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString$2=function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return string$1(t)?'"'+t+'"':e(t)},r=function(e){return" "+e+" "},a=function(a,i){var o=a.type,l=a.value;switch(o){case Type.GROUP:var s=e(l);return s.substring(0,s.length-1);case Type.DATA_COMPARE:var c=a.field,u=a.operator;return"["+c+r(e(u))+t(l)+"]";case Type.DATA_BOOL:var f=a.operator,A=a.field;return"["+e(f)+A+"]";case Type.DATA_EXIST:return"["+a.field+"]";case Type.META_COMPARE:var d=a.operator;return"[["+a.field+r(e(d))+t(l)+"]]";case Type.STATE:return l;case Type.ID:return"#"+l;case Type.CLASS:return"."+l;case Type.PARENT:case Type.CHILD:return n(a.parent,i)+r(">")+n(a.child,i);case Type.ANCESTOR:case Type.DESCENDANT:return n(a.ancestor,i)+" "+n(a.descendant,i);case Type.COMPOUND_SPLIT:var p=n(a.left,i),h=n(a.subject,i),b=n(a.right,i);return p+(p.length>0?" ":"")+h+b;case Type.TRUE:return""}},n=function(e,t){return e.checks.reduce((function(r,n,i){return r+(t===e&&0===i?"$":"")+a(n,t)}),"")},i="",o=0;o1&&o=0&&(t=t.replace("!",""),u=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),c=!0),(o||s||c)&&(n=o||l?""+e:"",i=""+r),c&&(e=n=n.toLowerCase(),r=i=i.toLowerCase()),t){case"*=":a=n.indexOf(i)>=0;break;case"$=":a=n.indexOf(i,n.length-i.length)>=0;break;case"^=":a=0===n.indexOf(i);break;case"=":a=e===r;break;case">":f=!0,a=e>r;break;case">=":f=!0,a=e>=r;break;case"<":f=!0,a=e0;){var c=n.shift();t(c),i.add(c.id()),o&&a(n,i,c)}return e}function addChildren(e,t,r){if(r.isParent())for(var a=r._private.children,n=0;n1&&void 0!==arguments[1])||arguments[1],addChildren)},elesfn$f.forEachUp=function(e){return forEachCompound(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],addParent)},elesfn$f.forEachUpAndDown=function(e){return forEachCompound(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],addParentAndChildren)},elesfn$f.ancestors=elesfn$f.parents,fn$5=elesfn$e={data:define$4.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:define$4.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:define$4.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:define$4.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:define$4.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:define$4.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}},fn$5.attr=fn$5.data,fn$5.removeAttr=fn$5.removeData;var data=elesfn$e,elesfn$d={},fn$4,elesfn$c;function defineDegreeFunction(e){return function(t){var r=this;if(void 0===t&&(t=!0),0!==r.length&&r.isNode()&&!r.removed()){for(var a=0,n=r[0],i=n._private.edges,o=0;ot})),minIndegree:defineDegreeBoundsFunction("indegree",(function(e,t){return et})),minOutdegree:defineDegreeBoundsFunction("outdegree",(function(e,t){return et}))}),extend$3(elesfn$d,{totalDegree:function(e){for(var t=0,r=this.nodes(),a=0;a0,u=c;c&&(s=s[0]);var f=u?s.position():{x:0,y:0};return n={x:l.x-f.x,y:l.y-f.y},void 0===e?n:n[e]}for(var A=0;A0,b=h;h&&(p=p[0]);var g=b?p.position():{x:0,y:0};void 0!==t?d.position(e,t+g[e]):void 0!==n&&d.position({x:n.x+g.x,y:n.y+g.y})}}else if(!i)return;return this}},fn$4.modelPosition=fn$4.point=fn$4.position,fn$4.modelPositions=fn$4.points=fn$4.positions,fn$4.renderedPoint=fn$4.renderedPosition,fn$4.relativePoint=fn$4.relativePosition;var position$3=elesfn$c,fn$3,elesfn$b;fn$3=elesfn$b={},elesfn$b.renderedBoundingBox=function(e){var t=this.boundingBox(e),r=this.cy(),a=r.zoom(),n=r.pan(),i=t.x1*a+n.x,o=t.x2*a+n.x,l=t.y1*a+n.y,s=t.y2*a+n.y;return{x1:i,x2:o,y1:l,y2:s,w:o-i,h:s-l}},elesfn$b.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var r=t._private;r.compoundBoundsClean=!1,r.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},elesfn$b.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function r(e){if(e.isParent()){var t=e._private,r=e.children(),a="include"===e.pstyle("compound-sizing-wrt-labels").value,n={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},i=r.boundingBox({includeLabels:a,includeOverlays:!1,useCache:!1}),o=t.position;0!==i.w&&0!==i.h||((i={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-i.w/2,i.x2=o.x+i.w/2,i.y1=o.y-i.h/2,i.y2=o.y+i.h/2);var l=n.width.left.value;"px"===n.width.left.units&&n.width.val>0&&(l=100*l/n.width.val);var s=n.width.right.value;"px"===n.width.right.units&&n.width.val>0&&(s=100*s/n.width.val);var c=n.height.top.value;"px"===n.height.top.units&&n.height.val>0&&(c=100*c/n.height.val);var u=n.height.bottom.value;"px"===n.height.bottom.units&&n.height.val>0&&(u=100*u/n.height.val);var f=g(n.width.val-i.w,l,s),A=f.biasDiff,d=f.biasComplementDiff,p=g(n.height.val-i.h,c,u),h=p.biasDiff,b=p.biasComplementDiff;t.autoPadding=function(e,t,r,a){if("%"!==r.units)return"px"===r.units?r.pfValue:0;switch(a){case"width":return e>0?r.pfValue*e:0;case"height":return t>0?r.pfValue*t:0;case"average":return e>0&&t>0?r.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?r.pfValue*t:r.pfValue*e:0;case"max":return e>0&&t>0?e>t?r.pfValue*e:r.pfValue*t:0;default:return 0}}(i.w,i.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(i.w,n.width.val),o.x=(-A+i.x1+i.x2+d)/2,t.autoHeight=Math.max(i.h,n.height.val),o.y=(-h+i.y1+i.y2+b)/2}function g(e,t,r){var a=0,n=0,i=t+r;return e>0&&i>0&&(a=t/i*e,n=r/i*e),{biasDiff:a,biasComplementDiff:n}}}for(var a=0;ae.x2?a:e.x2,e.y1=re.y2?n:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},updateBoundsFromBox=function(e,t){return null==t?e:updateBounds(e,t.x1,t.y1,t.x2,t.y2)},prefixedProperty=function(e,t,r){return getPrefixedProperty(e,t,r)},updateBoundsFromArrow=function(e,t,r){if(!t.cy().headless()){var a,n,i=t._private,o=i.rstyle,l=o.arrowWidth/2;if("none"!==t.pstyle(r+"-arrow-shape").value){"source"===r?(a=o.srcX,n=o.srcY):"target"===r?(a=o.tgtX,n=o.tgtY):(a=o.midX,n=o.midY);var s=i.arrowBounds=i.arrowBounds||{},c=s[r]=s[r]||{};c.x1=a-l,c.y1=n-l,c.x2=a+l,c.y2=n+l,c.w=c.x2-c.x1,c.h=c.y2-c.y1,expandBoundingBox(c,1),updateBounds(e,c.x1,c.y1,c.x2,c.y2)}}},updateBoundsFromLabel=function(e,t,r){if(!t.cy().headless()){var a;a=r?r+"-":"";var n=t._private,i=n.rstyle;if(t.pstyle(a+"label").strValue){var o,l,s,c,u=t.pstyle("text-halign"),f=t.pstyle("text-valign"),A=prefixedProperty(i,"labelWidth",r),d=prefixedProperty(i,"labelHeight",r),p=prefixedProperty(i,"labelX",r),h=prefixedProperty(i,"labelY",r),b=t.pstyle(a+"text-margin-x").pfValue,g=t.pstyle(a+"text-margin-y").pfValue,m=t.isEdge(),v=t.pstyle(a+"text-rotation"),y=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,k=t.pstyle("text-background-padding").pfValue,x=d,E=A,_=E/2,C=x/2;if(m)o=p-_,l=p+_,s=h-C,c=h+C;else{switch(u.value){case"left":o=p-E,l=p;break;case"center":o=p-_,l=p+_;break;case"right":o=p,l=p+E}switch(f.value){case"top":s=h-x,c=h;break;case"center":s=h-C,c=h+C;break;case"bottom":s=h,c=h+x}}o+=b-Math.max(y,w)-k-2,l+=b+Math.max(y,w)+k+2,s+=g-Math.max(y,w)-k-2,c+=g+Math.max(y,w)+k+2;var $=r||"main",T=n.labelBounds,O=T[$]=T[$]||{};O.x1=o,O.y1=s,O.x2=l,O.y2=c,O.w=l-o,O.h=c-s;var S=m&&"autorotate"===v.strValue,I=null!=v.pfValue&&0!==v.pfValue;if(S||I){var M=S?prefixedProperty(n.rstyle,"labelAngle",r):v.pfValue,B=Math.cos(M),R=Math.sin(M),P=(o+l)/2,L=(s+c)/2;if(!m){switch(u.value){case"left":P=l;break;case"right":P=o}switch(f.value){case"top":L=c;break;case"bottom":L=s}}var D=function(e,t){return{x:(e-=P)*B-(t-=L)*R+P,y:e*R+t*B+L}},z=D(o,s),F=D(o,c),N=D(l,s),j=D(l,c);o=Math.min(z.x,F.x,N.x,j.x),l=Math.max(z.x,F.x,N.x,j.x),s=Math.min(z.y,F.y,N.y,j.y),c=Math.max(z.y,F.y,N.y,j.y)}var V=$+"Rot",G=T[V]=T[V]||{};G.x1=o,G.y1=s,G.x2=l,G.y2=c,G.w=l-o,G.h=c-s,updateBounds(e,o,s,l,c),updateBounds(n.labelBounds.all,o,s,l,c)}return e}},boundingBoxImpl=function(e,t){var r,a,n,i,o,l,s=e._private.cy,c=s.styleEnabled(),u=s.headless(),f=makeBoundingBox(),A=e._private,d=e.isNode(),p=e.isEdge(),h=A.rstyle,b=d&&c?e.pstyle("bounds-expansion").pfValue:[0],g=function(e){return"none"!==e.pstyle("display").value},m=!c||g(e)&&(!p||g(e.source())&&g(e.target()));if(m){var v=0;c&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(v=e.pstyle("overlay-padding").value);var y=0;c&&t.includeUnderlays&&0!==e.pstyle("underlay-opacity").value&&(y=e.pstyle("underlay-padding").value);var w=Math.max(v,y),k=0;if(c&&(k=e.pstyle("width").pfValue/2),d&&t.includeNodes){var x=e.position();o=x.x,l=x.y;var E=e.outerWidth()/2,_=e.outerHeight()/2;updateBounds(f,r=o-E,n=l-_,a=o+E,i=l+_)}else if(p&&t.includeEdges)if(c&&!u){var C=e.pstyle("curve-style").strValue;if(r=Math.min(h.srcX,h.midX,h.tgtX),a=Math.max(h.srcX,h.midX,h.tgtX),n=Math.min(h.srcY,h.midY,h.tgtY),i=Math.max(h.srcY,h.midY,h.tgtY),updateBounds(f,r-=k,n-=k,a+=k,i+=k),"haystack"===C){var $=h.haystackPts;if($&&2===$.length){if(r=$[0].x,n=$[0].y,r>(a=$[1].x)){var T=r;r=a,a=T}if(n>(i=$[1].y)){var O=n;n=i,i=O}updateBounds(f,r-k,n-k,a+k,i+k)}}else if("bezier"===C||"unbundled-bezier"===C||"segments"===C||"taxi"===C){var S;switch(C){case"bezier":case"unbundled-bezier":S=h.bezierPts;break;case"segments":case"taxi":S=h.linePts}if(null!=S)for(var I=0;I(a=R.x)){var P=r;r=a,a=P}if((n=B.y)>(i=R.y)){var L=n;n=i,i=L}updateBounds(f,r-=k,n-=k,a+=k,i+=k)}if(c&&t.includeEdges&&p&&(updateBoundsFromArrow(f,e,"mid-source"),updateBoundsFromArrow(f,e,"mid-target"),updateBoundsFromArrow(f,e,"source"),updateBoundsFromArrow(f,e,"target")),c)if("yes"===e.pstyle("ghost").value){var D=e.pstyle("ghost-offset-x").pfValue,z=e.pstyle("ghost-offset-y").pfValue;updateBounds(f,f.x1+D,f.y1+z,f.x2+D,f.y2+z)}var F=A.bodyBounds=A.bodyBounds||{};assignBoundingBox(F,f),expandBoundingBoxSides(F,b),expandBoundingBox(F,1),c&&(r=f.x1,a=f.x2,n=f.y1,i=f.y2,updateBounds(f,r-w,n-w,a+w,i+w));var N=A.overlayBounds=A.overlayBounds||{};assignBoundingBox(N,f),expandBoundingBoxSides(N,b),expandBoundingBox(N,1);var j=A.labelBounds=A.labelBounds||{};null!=j.all?clearBoundingBox(j.all):j.all=makeBoundingBox(),c&&t.includeLabels&&(t.includeMainLabels&&updateBoundsFromLabel(f,e,null),p&&(t.includeSourceLabels&&updateBoundsFromLabel(f,e,"source"),t.includeTargetLabels&&updateBoundsFromLabel(f,e,"target")))}return f.x1=noninf(f.x1),f.y1=noninf(f.y1),f.x2=noninf(f.x2),f.y2=noninf(f.y2),f.w=noninf(f.x2-f.x1),f.h=noninf(f.y2-f.y1),f.w>0&&f.h>0&&m&&(expandBoundingBoxSides(f,b),expandBoundingBox(f,1)),f},getKey=function(e){var t=0,r=function(e){return(e?1:0)<0&&void 0!==arguments[0]?arguments[0]:emptyOpts,t=arguments.length>1?arguments[1]:void 0,r=0;r=0;l--)o(l);return this},p.removeAllListeners=function(){return this.removeListener("*")},p.emit=p.trigger=function(e,t,r){var a=this.listeners,n=a.length;return this.emitting++,array$4(t)||(t=[t]),forEachEventObj(this,(function(e,i){null!=r&&(a=[{event:i.event,type:i.type,namespace:i.namespace,callback:r}],n=a.length);for(var o=function(r){var n=a[r];if(n.type===i.type&&(!n.namespace||n.namespace===i.namespace||n.namespace===universalNamespace)&&e.eventMatches(e.context,n,i)){var o=[i];null!=t&&push(o,t),e.beforeEmit(e.context,n,i),n.conf&&n.conf.one&&(e.listeners=e.listeners.filter((function(e){return e!==n})));var l=e.callbackContext(e.context,n,i),s=n.callback.apply(l,o);e.afterEmit(e.context,n,i),!1===s&&(i.stopPropagation(),i.preventDefault())}},l=0;l1&&!a){var n=this.length-1,i=this[n],o=i._private.data.id;this[n]=void 0,this[e]=i,r.set(o,{ele:i,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,r=e._private.data.id,a=t.map.get(r);if(!a)return this;var n=a.index;return this.unmergeAt(n),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&string$1(e)){var r=e;e=t.mutableElements().filter(r)}for(var a=0;a=0;t--){e(this[t])&&this.unmergeAt(t)}return this},map:function(e,t){for(var r=[],a=this,n=0;na&&(a=l,r=o)}return{value:a,ele:r}},min:function(e,t){for(var r,a=1/0,n=this,i=0;i=0&&n1&&void 0!==arguments[1])||arguments[1],r=this[0],a=r.cy();if(a.styleEnabled()&&r){this.cleanStyle();var n=r._private.style[e];return null!=n?n:t?a.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var r=t.pstyle(e);return void 0!==r.pfValue?r.pfValue:r.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var r=this[0];return r?t.style().getRenderedStyle(r,e):void 0},style:function(e,t){var r=this.cy();if(!r.styleEnabled())return this;var a=r.style();if(plainObject(e)){var n=e;a.applyBypass(this,n,false),this.emitAndNotify("style")}else if(string$1(e)){if(void 0===t){var i=this[0];return i?a.getStylePropertyValue(i,e):void 0}a.applyBypass(this,e,t,false),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?a.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var r=t.style(),a=this;if(void 0===e)for(var n=0;n0&&t.push(u[0]),t.push(l[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),elesfn$2.neighbourhood=elesfn$2.neighborhood,elesfn$2.closedNeighbourhood=elesfn$2.closedNeighborhood,elesfn$2.openNeighbourhood=elesfn$2.openNeighborhood,extend$3(elesfn$2,{source:cache$1((function(e){var t,r=this[0];return r&&(t=r._private.source||r.cy().collection()),t&&e?t.filter(e):t}),"source"),target:cache$1((function(e){var t,r=this[0];return r&&(t=r._private.target||r.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:defineSourceFunction({attr:"source"}),targets:defineSourceFunction({attr:"target"})}),extend$3(elesfn$2,{edgesWith:cache$1(defineEdgesWithFunction(),"edgesWith"),edgesTo:cache$1(defineEdgesWithFunction({thisIsSrc:!0}),"edgesTo")}),extend$3(elesfn$2,{connectedEdges:cache$1((function(e){for(var t=[],r=0;r0);return i},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),elesfn$2.componentsOf=elesfn$2.components;var Collection=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var n=new Map$1$1,i=!1;if(t){if(t.length>0&&plainObject(t[0])&&!element(t[0])){i=!0;for(var o=[],l=new Set$1$1,s=0,c=t.length;s0&&void 0!==arguments[0])||arguments[0],a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,i=n.cy(),o=i._private,l=[],s=[],c=0,u=n.length;c0){for(var R=e.length===n.length?n:new Collection(i,e),P=0;P0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this,a=[],n={},i=r._private.cy;function o(e){var r=n[e.id()];t&&e.removed()||r||(n[e.id()]=!0,e.isNode()?(a.push(e),function(e){for(var t=e._private.edges,r=0;r0&&(e?x.emitAndNotify("remove"):t&&x.emit("remove"));for(var E=0;E=.001?function(t,a){for(var i=0;i0?n=s:a=s}while(Math.abs(l)>i&&++cf&&Math.abs(l.v)>f;);return i?function(e){return c[e*(c.length-1)|0]}:u}}(),cubicBezier=function(e,t,r,a){var n=generateCubicBezier(e,t,r,a);return function(e,t,r){return e+(t-e)*n(r)}},easings={linear:function(e,t,r){return e+(t-e)*r},ease:cubicBezier(.25,.1,.25,1),"ease-in":cubicBezier(.42,0,1,1),"ease-out":cubicBezier(0,0,.58,1),"ease-in-out":cubicBezier(.42,0,.58,1),"ease-in-sine":cubicBezier(.47,0,.745,.715),"ease-out-sine":cubicBezier(.39,.575,.565,1),"ease-in-out-sine":cubicBezier(.445,.05,.55,.95),"ease-in-quad":cubicBezier(.55,.085,.68,.53),"ease-out-quad":cubicBezier(.25,.46,.45,.94),"ease-in-out-quad":cubicBezier(.455,.03,.515,.955),"ease-in-cubic":cubicBezier(.55,.055,.675,.19),"ease-out-cubic":cubicBezier(.215,.61,.355,1),"ease-in-out-cubic":cubicBezier(.645,.045,.355,1),"ease-in-quart":cubicBezier(.895,.03,.685,.22),"ease-out-quart":cubicBezier(.165,.84,.44,1),"ease-in-out-quart":cubicBezier(.77,0,.175,1),"ease-in-quint":cubicBezier(.755,.05,.855,.06),"ease-out-quint":cubicBezier(.23,1,.32,1),"ease-in-out-quint":cubicBezier(.86,0,.07,1),"ease-in-expo":cubicBezier(.95,.05,.795,.035),"ease-out-expo":cubicBezier(.19,1,.22,1),"ease-in-out-expo":cubicBezier(1,0,0,1),"ease-in-circ":cubicBezier(.6,.04,.98,.335),"ease-out-circ":cubicBezier(.075,.82,.165,1),"ease-in-out-circ":cubicBezier(.785,.135,.15,.86),spring:function(e,t,r){if(0===r)return easings.linear;var a=generateSpringRK4(e,t,r);return function(e,t,r){return e+(t-e)*a(r)}},"cubic-bezier":cubicBezier};function getEasedValue(e,t,r,a,n){if(1===a)return r;if(t===r)return r;var i=n(t,r,a);return null==e||((e.roundValue||e.color)&&(i=Math.round(i)),void 0!==e.min&&(i=Math.max(i,e.min)),void 0!==e.max&&(i=Math.min(i,e.max))),i}function getValue$2(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function ease(e,t,r,a,n){var i=null!=n?n.type:null;r<0?r=0:r>1&&(r=1);var o=getValue$2(e,n),l=getValue$2(t,n);if(number$1$1(o)&&number$1$1(l))return getEasedValue(i,o,l,r,a);if(array$4(o)&&array$4(l)){for(var s=[],c=0;c0?("spring"===f&&A.push(o.duration),o.easingImpl=easings[f].apply(null,A)):o.easingImpl=easings[f]}var d,p=o.easingImpl;if(d=0===o.duration?1:(r-s)/o.duration,o.applying&&(d=o.progress),d<0?d=0:d>1&&(d=1),null==o.delay){var h=o.startPosition,b=o.position;if(b&&n&&!e.locked()){var g={};valid(h.x,b.x)&&(g.x=ease(h.x,b.x,d,p)),valid(h.y,b.y)&&(g.y=ease(h.y,b.y,d,p)),e.position(g)}var m=o.startPan,v=o.pan,y=i.pan,w=null!=v&&a;w&&(valid(m.x,v.x)&&(y.x=ease(m.x,v.x,d,p)),valid(m.y,v.y)&&(y.y=ease(m.y,v.y,d,p)),e.emit("pan"));var k=o.startZoom,x=o.zoom,E=null!=x&&a;E&&(valid(k,x)&&(i.zoom=bound(i.minZoom,ease(k,x,d,p),i.maxZoom)),e.emit("zoom")),(w||E)&&e.emit("viewport");var _=o.style;if(_&&_.length>0&&n){for(var C=0;C<_.length;C++){var $=_[C],T=$.name,O=$,S=o.startStyle[T],I=ease(S,O,d,p,c.properties[S.name]);c.overrideBypass(e,T,I)}e.emit("style")}}return o.progress=d,d}function valid(e,t){return null!=e&&null!=t&&(!(!number$1$1(e)||!number$1$1(t))||!(!e||!t))}function startAnimation(e,t,r,a){var n=t._private;n.started=!0,n.startTime=r-n.progress*n.duration}function stepAll(e,t){var r=t._private.aniEles,a=[];function n(t,r){var n=t._private,i=n.animation.current,o=n.animation.queue,l=!1;if(0===i.length){var s=o.shift();s&&i.push(s)}for(var c=function(e){for(var t=e.length-1;t>=0;t--){(0,e[t])()}e.splice(0,e.length)},u=i.length-1;u>=0;u--){var f=i[u],A=f._private;A.stopped?(i.splice(u,1),A.hooked=!1,A.playing=!1,A.started=!1,c(A.frames)):(A.playing||A.applying)&&(A.playing&&A.applying&&(A.applying=!1),A.started||startAnimation(t,f,e),step$1(t,f,e,r),A.applying&&(A.applying=!1),c(A.frames),null!=A.step&&A.step(e),f.completed()&&(i.splice(u,1),A.hooked=!1,A.playing=!1,A.started=!1,c(A.completes)),l=!0)}return r||0!==i.length||0!==o.length||a.push(t),l}for(var i=!1,o=0;o0?t.notify("draw",r):t.notify("draw")),r.unmerge(a),t.emit("step")}var corefn$8={animate:define$4.animate(),animation:define$4.animation(),animated:define$4.animated(),clearQueue:define$4.clearQueue(),delay:define$4.delay(),delayAnimation:define$4.delayAnimation(),stop:define$4.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,r){stepAll(r,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&requestAnimationFrame$1((function(r){stepAll(r,e),t()}))}()}}},emitterOptions={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,r){var a=t.qualifier;return null==a||e!==r.target&&element(r.target)&&a.matches(r.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,r){return null!=t.qualifier?r.target:e}},argSelector=function(e){return string$1(e)?new Selector$2(e):e},elesfn={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Emitter(emitterOptions,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,r){return this.emitter().on(e,argSelector(t),r),this},removeListener:function(e,t,r){return this.emitter().removeListener(e,argSelector(t),r),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,r){return this.emitter().one(e,argSelector(t),r),this},once:function(e,t,r){return this.emitter().one(e,argSelector(t),r),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};define$4.eventAliasesOn(elesfn);var corefn$7={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};corefn$7.jpeg=corefn$7.jpg;var corefn$6={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var r=e.name,a=t.extension("layout",r);if(null!=a){var n;n=string$1(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$();var i=new a(extend$3({},e,{cy:t,eles:n}));return i}error("No such layout `"+r+"` found. Did you forget to import it and `cytoscape.use()` it?")}else error("A `name` must be specified to make a layout");else error("Layout options must be specified to make a layout")}};corefn$6.createLayout=corefn$6.makeLayout=corefn$6.layout;var corefn$5={notify:function(e,t){var r=this._private;if(this.batching()){r.batchNotifications=r.batchNotifications||{};var a=r.batchNotifications[e]=r.batchNotifications[e]||this.collection();null!=t&&a.merge(t)}else if(r.notificationsEnabled){var n=this.renderer();!this.destroyed()&&n&&n.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(r){var a=e.batchNotifications[r];a.empty()?t.notify(r):t.notify(r,a)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var r=Object.keys(e),a=0;a0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};corefn$4.invalidateDimensions=corefn$4.resize;var corefn$3={collection:function(e,t){return string$1(e)?this.$(e):elementOrCollection(e)?e.collection():array$4(e)?(t||(t={}),new Collection(this,e,t.unique,t.removed)):new Collection(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};corefn$3.elements=corefn$3.filter=corefn$3.$;var styfn$8={},TRUE="t",FALSE="f";styfn$8.apply=function(e){for(var t=this,r=t._private.cy.collection(),a=0;a0;if(A||f&&d){var p=void 0;A&&d||A?p=c.properties:d&&(p=c.mappedProperties);for(var h=0;h1&&(b=1),l.color){var w=n.valueMin[0],k=n.valueMax[0],x=n.valueMin[1],E=n.valueMax[1],_=n.valueMin[2],C=n.valueMax[2],$=null==n.valueMin[3]?1:n.valueMin[3],T=null==n.valueMax[3]?1:n.valueMax[3],O=[Math.round(w+(k-w)*b),Math.round(x+(E-x)*b),Math.round(_+(C-_)*b),Math.round($+(T-$)*b)];r={bypass:n.bypass,name:n.name,value:O,strValue:"rgb("+O[0]+", "+O[1]+", "+O[2]+")"}}else{if(!l.number)return!1;var S=n.valueMin+(n.valueMax-n.valueMin)*b;r=this.parse(n.name,S,n.bypass,A)}if(!r)return h(),!1;r.mapping=n,n=r;break;case o.data:for(var I=n.field.split("."),M=f.data,B=0;B0&&i>0){for(var l={},s=!1,c=0;c0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:l,duration:i,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){r.removeBypasses(e,n),e.emitAndNotify("style"),a.transitioning=!1}))}else a.transitioning&&(this.removeBypasses(e,n),e.emitAndNotify("style"),a.transitioning=!1)},styfn$8.checkTrigger=function(e,t,r,a,n,i){var o=this.properties[t],l=n(o);null!=l&&l(r,a)&&i(o)},styfn$8.checkZOrderTrigger=function(e,t,r,a){var n=this;this.checkTrigger(e,t,r,a,(function(e){return e.triggersZOrder}),(function(){n._private.cy.notify("zorder",e)}))},styfn$8.checkBoundsTrigger=function(e,t,r,a){this.checkTrigger(e,t,r,a,(function(e){return e.triggersBounds}),(function(n){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!n.triggersBoundsOfParallelBeziers||("curve-style"!==t||"bezier"!==r&&"bezier"!==a)&&("display"!==t||"none"!==r&&"none"!==a)||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()}))}))},styfn$8.checkTriggers=function(e,t,r,a){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,r,a),this.checkBoundsTrigger(e,t,r,a)};var styfn$7={applyBypass:function(e,t,r,a){var n=[];if("*"===t||"**"===t){if(void 0!==r)for(var i=0;it.length?i.substr(t.length):""}function l(){r=r.length>a.length?r.substr(a.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");;){if(i.match(/^\s*$/))break;var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){warn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var c=s[1];if("core"!==c)if(new Selector$2(c).invalid){warn("Skipping parsing of block: Invalid selector found in string stylesheet: "+c),o();continue}var u=s[2],f=!1;r=u;for(var A=[];;){if(r.match(/^\s*$/))break;var d=r.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){warn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),f=!0;break}a=d[0];var p=d[1],h=d[2];if(this.properties[p])n.parse(p,h)?(A.push({name:p,val:h}),l()):(warn("Skipping property: Invalid property definition in: "+a),l());else warn("Skipping property: Invalid property name in: "+a),l()}if(f){o();break}n.selector(c);for(var b=0;b=7&&"d"===t[0]&&(c=new RegExp(l.data.regex).exec(t))){if(r)return!1;var A=l.data;return{name:e,value:c,strValue:""+t,mapped:A,field:c[1],bypass:r}}if(t.length>=10&&"m"===t[0]&&(u=new RegExp(l.mapData.regex).exec(t))){if(r)return!1;if(f.multiple)return!1;var d=l.mapData;if(!f.color&&!f.number)return!1;var p=this.parse(e,u[4]);if(!p||p.mapped)return!1;var h=this.parse(e,u[5]);if(!h||h.mapped)return!1;if(p.pfValue===h.pfValue||p.strValue===h.strValue)return warn("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(f.color){var b=p.value,g=h.value;if(!(b[0]!==g[0]||b[1]!==g[1]||b[2]!==g[2]||b[3]!==g[3]&&(null!=b[3]&&1!==b[3]||null!=g[3]&&1!==g[3])))return!1}return{name:e,value:u,strValue:""+t,mapped:d,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:p.value,valueMax:h.value,bypass:r}}}if(f.multiple&&"multiple"!==a){var m;if(m=s?t.split(/\s+/):array$4(t)?t:[t],f.evenMultiple&&m.length%2!=0)return null;for(var v=[],y=[],w=[],k="",x=!1,E=0;E0?" ":"")+_.strValue}return f.validate&&!f.validate(v,y)?null:f.singleEnum&&x?1===v.length&&string$1(v[0])?{name:e,value:v[0],strValue:v[0],bypass:r}:null:{name:e,value:v,pfValue:w,strValue:k,bypass:r,units:y}}var C=function(){for(var a=0;af.max||f.strictMax&&t===f.max))return null;var I={name:e,value:t,strValue:""+t+($||""),units:$,bypass:r};return f.unitless||"px"!==$&&"em"!==$?I.pfValue=t:I.pfValue="px"!==$&&$?this.getEmSizeInPixels()*t:t,"ms"!==$&&"s"!==$||(I.pfValue="ms"===$?t:1e3*t),"deg"!==$&&"rad"!==$||(I.pfValue="rad"===$?t:deg2rad$1(t)),"%"===$&&(I.pfValue=t/100),I}if(f.propList){var M=[],B=""+t;if("none"===B);else{for(var R=B.split(/\s*,\s*|\s+/),P=0;P0&&l>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0)return{zoom:i=(i=(i=Math.min((o-2*t)/r.w,(l-2*t)/r.h))>this._private.maxZoom?this._private.maxZoom:i)=r.minZoom&&(r.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,r,a=this._private,n=a.pan,i=a.zoom,o=!1;if(a.zoomingEnabled||(o=!0),number$1$1(e)?r=e:plainObject(e)&&(r=e.level,null!=e.position?t=modelToRenderedPosition(e.position,i,n):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||a.panningEnabled||(o=!0)),r=(r=r>a.maxZoom?a.maxZoom:r)t.maxZoom||!t.zoomingEnabled?i=!0:(t.zoom=l,n.push("zoom"))}if(a&&(!i||!e.cancelOnFailedZoom)&&t.panningEnabled){var s=e.pan;number$1$1(s.x)&&(t.pan.x=s.x,o=!1),number$1$1(s.y)&&(t.pan.y=s.y,o=!1),o||n.push("pan")}return n.length>0&&(n.push("viewport"),this.emit(n.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(string$1(e)){var r=e;e=this.mutableElements().filter(r)}else elementOrCollection(e)||(e=this.mutableElements());if(0!==e.length){var a=e.boundingBox(),n=this.width(),i=this.height();return{x:(n-(t=void 0===t?this._private.zoom:t)*(a.x1+a.x2))/2,y:(i-t*(a.y1+a.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,t=e.container;return e.sizeCache=e.sizeCache||(t?function(){var e=window$1.getComputedStyle(t),r=function(t){return parseFloat(e.getPropertyValue(t))};return{width:t.clientWidth-r("padding-left")-r("padding-right"),height:t.clientHeight-r("padding-top")-r("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,r=this.renderedExtent(),a={x1:(r.x1-e.x)/t,x2:(r.x2-e.x)/t,y1:(r.y1-e.y)/t,y2:(r.y2-e.y)/t};return a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};corefn$1.centre=corefn$1.center,corefn$1.autolockNodes=corefn$1.autolock,corefn$1.autoungrabifyNodes=corefn$1.autoungrabify;var fn={data:define$4.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:define$4.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:define$4.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:define$4.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};fn.attr=fn.data,fn.removeAttr=fn.removeData;var Core=function(e){var t=this,r=(e=extend$3({},e)).container;r&&!htmlElement(r)&&htmlElement(r[0])&&(r=r[0]);var a=r?r._cyreg:null;(a=a||{})&&a.cy&&(a.cy.destroy(),a={});var n=a.readies=a.readies||[];r&&(r._cyreg=a),a.cy=t;var i=void 0!==window$1&&void 0!==r&&!e.headless,o=e;o.layout=extend$3({name:i?"grid":"null"},o.layout),o.renderer=extend$3({name:i?"canvas":"null"},o.renderer);var l=function(e,t,r){return void 0!==t?t:void 0!==r?r:e},s=this._private={container:r,ready:!1,options:o,elements:new Collection(this),listeners:[],aniEles:new Collection(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?i:o.styleEnabled,zoom:number$1$1(o.zoom)?o.zoom:1,pan:{x:plainObject(o.pan)&&number$1$1(o.pan.x)?o.pan.x:0,y:plainObject(o.pan)&&number$1$1(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});s.styleEnabled&&t.setStyle([]);var c=extend$3({},o,o.renderer);t.initRenderer(c);!function(e,t){if(e.some(promise$3))return Promise$1$1.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var r=e[0],i=e[1];s.styleEnabled&&t.style().append(r),function(e,r,a){t.notifications(!1);var n=t.mutableElements();n.length>0&&n.remove(),null!=e&&(plainObject(e)||array$4(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",r),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",a),t.emit("done")}));var i=extend$3({},t._private.options.layout);i.eles=t.elements(),t.layout(i).run()}(i,(function(){t.startAnimationLoop(),s.ready=!0,fn$6(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,c=makeBoundingBox(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()});if(elementOrCollection(r.roots))e=r.roots;else if(array$4(r.roots)){for(var u=[],f=0;f0;){var O=C.shift(),S=_(O,$);if(S)O.outgoers().filter((function(e){return e.isNode()&&n.has(e)})).forEach(T);else if(null===S){warn("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}E();var I=0;if(r.avoidOverlap)for(var M=0;M0&&g[0].length<=3?s/2:0),f=2*Math.PI/g[a].length*n;return 0===a&&1===g[0].length&&(u=1),{x:H+u*Math.cos(f),y:W+u*Math.sin(f)}}return{x:H+(n+1-(i+1)/2)*o,y:(a+1)*l}})),this};var defaults$6={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function CircleLayout(e){this.options=extend$3({},defaults$6,e)}CircleLayout.prototype.run=function(){var e=this.options,t=e,r=e.cy,a=t.eles,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,i=a.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));for(var o,l=makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=l.x1+l.w/2,c=l.y1+l.h/2,u=(void 0===t.sweep?2*Math.PI-2*Math.PI/i.length:t.sweep)/Math.max(1,i.length-1),f=0,A=0;A1&&t.avoidOverlap){f*=1.75;var b=Math.cos(u)-Math.cos(0),g=Math.sin(u)-Math.sin(0),m=Math.sqrt(f*f/(b*b+g*g));o=Math.max(m,o)}return a.nodes().layoutPositions(this,t,(function(e,r){var a=t.startAngle+r*u*(n?1:-1),i=o*Math.cos(a),l=o*Math.sin(a);return{x:s+i,y:c+l}})),this};var defaults$5={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},DEBUG;function ConcentricLayout(e){this.options=extend$3({},defaults$5,e)}ConcentricLayout.prototype.run=function(){for(var e=this.options,t=e,r=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=e.cy,n=t.eles,i=n.nodes().not(":parent"),o=makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),l=o.x1+o.w/2,s=o.y1+o.h/2,c=[],u=0,f=0;f0)Math.abs(m[0].value-y.value)>=b&&(m=[],g.push(m));m.push(y)}var w=u+t.minNodeSpacing;if(!t.avoidOverlap){var k=g.length>0&&g[0].length>1,x=(Math.min(o.w,o.h)/2-w)/(g.length+k?1:0);w=Math.min(w,x)}for(var E=0,_=0;_1&&t.avoidOverlap){var O=Math.cos(T)-Math.cos(0),S=Math.sin(T)-Math.sin(0),I=Math.sqrt(w*w/(O*O+S*S));E=Math.max(I,E)}C.r=E,E+=w}if(t.equidistant){for(var M=0,B=0,R=0;R=e.numIter)&&(step$2(a,e),a.temperature=a.temperature*e.coolingFactor,!(a.temperature=e.animationThreshold&&i(),requestAnimationFrame$1(t)):(separateComponents(a,e),l())}()}else{for(;c;)c=o(s),s++;separateComponents(a,e),l()}return this},CoseLayout.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},CoseLayout.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var createLayoutInfo=function(e,t,r){for(var a=r.eles.edges(),n=r.eles.nodes(),i={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:n.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:a.size(),temperature:r.initialTemp,clientWidth:e.width(),clientHeight:e.width(),boundingBox:makeBoundingBox(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()})},o=r.eles.components(),l={},s=0;s0){i.graphSet.push(y);for(s=0;sa.count?0:a.graph},findLCA_aux=function e(t,r,a,n){var i=n.graphSet[a];if(-10)var l=(c=a.nodeOverlap*o)*n/(h=Math.sqrt(n*n+i*i)),s=c*i/h;else{var c,u=findClippingPoint(e,n,i),f=findClippingPoint(t,-1*n,-1*i),A=f.x-u.x,d=f.y-u.y,p=A*A+d*d,h=Math.sqrt(p);l=(c=(e.nodeRepulsion+t.nodeRepulsion)/p)*A/h,s=c*d/h}e.isLocked||(e.offsetX-=l,e.offsetY-=s),t.isLocked||(t.offsetX+=l,t.offsetY+=s)}},nodesOverlap=function(e,t,r,a){if(r>0)var n=e.maxX-t.minX;else n=t.maxX-e.minX;if(a>0)var i=e.maxY-t.minY;else i=t.maxY-e.minY;return n>=0&&i>=0?Math.sqrt(n*n+i*i):0},findClippingPoint=function(e,t,r){var a=e.positionX,n=e.positionY,i=e.height||1,o=e.width||1,l=r/t,s=i/o,c={};return 0===t&&0r?(c.x=a,c.y=n+i/2,c):0t&&-1*s<=l&&l<=s?(c.x=a-o/2,c.y=n-o*r/2/t,c):0=s)?(c.x=a+i*t/2/r,c.y=n+i/2,c):0>r&&(l<=-1*s||l>=s)?(c.x=a-i*t/2/r,c.y=n-i/2,c):c},calculateEdgeForces=function(e,t){for(var r=0;r1){var p=t.gravity*f/d,h=t.gravity*A/d;u.offsetX+=p,u.offsetY+=h}}}}},propagateForces=function(e,t){var r=[],a=0,n=-1;for(r.push.apply(r,e.graphSet[0]),n+=e.graphSet[0].length;a<=n;){var i=r[a++],o=e.idToIndex[i],l=e.layoutNodes[o],s=l.children;if(0r)var n={x:r*e/a,y:r*t/a};else n={x:e,y:t};return n},updateAncestryBoundaries=function e(t,r){var a=t.parentId;if(null!=a){var n=r.layoutNodes[r.idToIndex[a]],i=!1;return(null==n.maxX||t.maxX+n.padRight>n.maxX)&&(n.maxX=t.maxX+n.padRight,i=!0),(null==n.minX||t.minX-n.padLeftn.maxY)&&(n.maxY=t.maxY+n.padBottom,i=!0),(null==n.minY||t.minY-n.padTopp&&(f+=d+t.componentSpacing,u=0,A=0,d=0)}}},defaults$3={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function GridLayout(e){this.options=extend$3({},defaults$3,e)}GridLayout.prototype.run=function(){var e=this.options,t=e,r=e.cy,a=t.eles,n=a.nodes().not(":parent");t.sort&&(n=n.sort(t.sort));var i=makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(0===i.h||0===i.w)a.nodes().layoutPositions(this,t,(function(e){return{x:i.x1,y:i.y1}}));else{var o=n.size(),l=Math.sqrt(o*i.h/i.w),s=Math.round(l),c=Math.round(i.w/i.h*l),u=function(e){if(null==e)return Math.min(s,c);Math.min(s,c)==s?s=e:c=e},f=function(e){if(null==e)return Math.max(s,c);Math.max(s,c)==s?s=e:c=e},A=t.rows,d=null!=t.cols?t.cols:t.columns;if(null!=A&&null!=d)s=A,c=d;else if(null!=A&&null==d)s=A,c=Math.ceil(o/s);else if(null==A&&null!=d)c=d,s=Math.ceil(o/c);else if(c*s>o){var p=u(),h=f();(p-1)*h>=o?u(p-1):(h-1)*p>=o&&f(h-1)}else for(;c*s=o?f(g+1):u(b+1)}var m=i.w/c,v=i.h/s;if(t.condense&&(m=0,v=0),t.avoidOverlap)for(var y=0;y=c&&(I=0,S++)},B={},R=0;R(a=sqdistToFiniteLine(e,t,y[w],y[w+1],y[w+2],y[w+3])))return b(r,a),!0}else if("bezier"===i.edgeType||"multibezier"===i.edgeType||"self"===i.edgeType||"compound"===i.edgeType)for(y=i.allpts,w=0;w+5(a=sqdistToQuadraticBezier(e,t,y[w],y[w+1],y[w+2],y[w+3],y[w+4],y[w+5])))return b(r,a),!0;m=m||n.source,v=v||n.target;var k=o.getArrowWidth(s,u),x=[{name:"source",x:i.arrowStartX,y:i.arrowStartY,angle:i.srcArrowAngle},{name:"target",x:i.arrowEndX,y:i.arrowEndY,angle:i.tgtArrowAngle},{name:"mid-source",x:i.midX,y:i.midY,angle:i.midsrcArrowAngle},{name:"mid-target",x:i.midX,y:i.midY,angle:i.midtgtArrowAngle}];for(w=0;w0&&(g(m),g(v))}function v(e,t,r){return getPrefixedProperty(e,t,r)}function y(r,a){var n,i=r._private,o=p;n=a?a+"-":"",r.boundingBox();var l=i.labelBounds[a||"main"],s=r.pstyle(n+"label").value;if("yes"===r.pstyle("text-events").strValue&&s){var c=v(i.rscratch,"labelX",a),u=v(i.rscratch,"labelY",a),f=v(i.rscratch,"labelAngle",a),A=r.pstyle(n+"text-margin-x").pfValue,d=r.pstyle(n+"text-margin-y").pfValue,h=l.x1-o-A,g=l.x2+o-A,m=l.y1-o-d,y=l.y2+o-d;if(f){var w=Math.cos(f),k=Math.sin(f),x=function(e,t){return{x:(e-=c)*w-(t-=u)*k+c,y:e*k+t*w+u}},E=x(h,m),_=x(h,y),C=x(g,m),$=x(g,y),T=[E.x+A,E.y+d,C.x+A,C.y+d,$.x+A,$.y+d,_.x+A,_.y+d];if(pointInsidePolygonPoints(e,t,T))return b(r),!0}else if(inBoundingBox(l,e,t))return b(r),!0}}r&&(s=s.interactive);for(var w=s.length-1;w>=0;w--){var k=s[w];k.isNode()?g(k)||y(k):m(k)||y(k)||y(k,"source")||y(k,"target")}return c},getAllInBox:function(e,t,r,a){for(var n=this.getCachedZSortedEles().interactive,i=[],o=Math.min(e,r),l=Math.max(e,r),s=Math.min(t,a),c=Math.max(t,a),u=makeBoundingBox({x1:e=o,y1:t=s,x2:r=l,y2:a=c}),f=0;f0?Math.max(e-t,0):Math.min(e+t,0)},$=C(E,k),T=C(_,x),O=!1;"auto"===b?h=Math.abs($)>Math.abs(T)?n:a:b===s||b===l?(h=a,O=!0):b!==i&&b!==o||(h=n,O=!0);var S,I=h===a,M=I?T:$,B=I?_:E,R=signum(B),P=!1;(O&&(m||y)||!(b===l&&B<0||b===s&&B>0||b===i&&B>0||b===o&&B<0)||(M=(R*=-1)*Math.abs(M),P=!0),m)?S=(v<0?1+v:v)*M:S=(v<0?M:0)+v*R;var L=function(e){return Math.abs(e)=Math.abs(M)},D=L(S),z=L(Math.abs(M)-Math.abs(S));if((D||z)&&!P)if(I){var F=Math.abs(B)<=f/2,N=Math.abs(E)<=A/2;if(F){var j=(c.x1+c.x2)/2,V=c.y1,G=c.y2;r.segpts=[j,V,j,G]}else if(N){var H=(c.y1+c.y2)/2,W=c.x1,Z=c.x2;r.segpts=[W,H,Z,H]}else r.segpts=[c.x1,c.y2]}else{var Y=Math.abs(B)<=u/2,Q=Math.abs(_)<=d/2;if(Y){var U=(c.y1+c.y2)/2,q=c.x1,X=c.x2;r.segpts=[q,U,X,U]}else if(Q){var J=(c.x1+c.x2)/2,K=c.y1,ee=c.y2;r.segpts=[J,K,J,ee]}else r.segpts=[c.x2,c.y1]}else if(I){var te=c.y1+S+(p?f/2*R:0),re=c.x1,ae=c.x2;r.segpts=[re,te,ae,te]}else{var ne=c.x1+S+(p?u/2*R:0),ie=c.y1,oe=c.y2;r.segpts=[ne,ie,ne,oe]}},BRp$c.tryToCorrectInvalidPoints=function(e,t){var r=e._private.rscratch;if("bezier"===r.edgeType){var a=t.srcPos,n=t.tgtPos,i=t.srcW,o=t.srcH,l=t.tgtW,s=t.tgtH,c=t.srcShape,u=t.tgtShape,f=!number$1$1(r.startX)||!number$1$1(r.startY),A=!number$1$1(r.arrowStartX)||!number$1$1(r.arrowStartY),d=!number$1$1(r.endX)||!number$1$1(r.endY),p=!number$1$1(r.arrowEndX)||!number$1$1(r.arrowEndY),h=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),b=dist$1({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),g=bA.poolIndex()){var d=f;f=A,A=d}var p=l.srcPos=f.position(),h=l.tgtPos=A.position(),b=l.srcW=f.outerWidth(),g=l.srcH=f.outerHeight(),m=l.tgtW=A.outerWidth(),v=l.tgtH=A.outerHeight(),y=l.srcShape=r.nodeShapes[t.getNodeShape(f)],w=l.tgtShape=r.nodeShapes[t.getNodeShape(A)];l.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var k=0;k0){var j=c,V=sqdist(j,array2point(t)),G=sqdist(j,array2point(N)),H=V;if(G2)sqdist(j,{x:N[2],y:N[3]})0){var ae=u,ne=sqdist(ae,array2point(t)),ie=sqdist(ae,array2point(re)),oe=ne;if(ie2)sqdist(ae,{x:re[2],y:re[3]})=c||m){u={cp:h,segment:g};break}}if(u)break}var v=u.cp,y=u.segment,w=(c-A)/y.length,k=y.t1-y.t0,x=l?y.t0+k*w:y.t1-k*w;x=bound(0,x,1),t=qbezierPtAt(v.p0,v.p1,v.p2,x),n=bezierAngle(v.p0,v.p1,v.p2,x);break;case"straight":case"segments":case"haystack":for(var E,_,C,$,T=0,O=a.allpts.length,S=0;S+3=c));S+=2);var I=(c-_)/E;I=bound(0,I,1),t=lineAt(C,$,I),n=lineAngle(C,$)}o("labelX",r,t.x),o("labelY",r,t.y),o("labelAutoAngle",r,n)}};c("source"),c("target"),this.applyLabelDimensions(e)}},BRp$9.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},BRp$9.applyPrefixedLabelDimensions=function(e,t){var r=e._private,a=this.getLabelText(e,t),n=this.calculateLabelDimensions(e,a),i=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,l=getPrefixedProperty(r.rscratch,"labelWrapCachedLines",t)||[],s="wrap"!==o?1:Math.max(l.length,1),c=n.height/s,u=c*i,f=n.width,A=n.height+(s-1)*(i-1)*c;setPrefixedProperty(r.rstyle,"labelWidth",t,f),setPrefixedProperty(r.rscratch,"labelWidth",t,f),setPrefixedProperty(r.rstyle,"labelHeight",t,A),setPrefixedProperty(r.rscratch,"labelHeight",t,A),setPrefixedProperty(r.rscratch,"labelLineHeight",t,u)},BRp$9.getLabelText=function(e,t){var r=e._private,a=t?t+"-":"",n=e.pstyle(a+"label").strValue,i=e.pstyle("text-transform").value,o=function(e,a){return a?(setPrefixedProperty(r.rscratch,e,t,a),a):getPrefixedProperty(r.rscratch,e,t)};if(!n)return"";"none"==i||("uppercase"==i?n=n.toUpperCase():"lowercase"==i&&(n=n.toLowerCase()));var l=e.pstyle("text-wrap").value;if("wrap"===l){var s=o("labelKey");if(null!=s&&o("labelWrapKey")===s)return o("labelWrapCachedText");for(var c=n.split("\n"),u=e.pstyle("text-max-width").pfValue,f="anywhere"===e.pstyle("text-overflow-wrap").value,A=[],d=/[\s\u200b]+/,p=f?"":" ",h=0;hu){for(var v=b.split(d),y="",w=0;wE)break;_+=n[$],$===n.length-1&&(C=!0)}return C||(_+="…"),_}return n},BRp$9.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,r=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(r){case"left":return"right";case"right":return"left";default:return"center"}},BRp$9.calculateLabelDimensions=function(e,t){var r=hashString(t,e._private.labelDimsKey),a=this.labelDimCache||(this.labelDimCache=[]),n=a[r];if(null!=n)return n;var i=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,l=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,c=this.labelCalcCanvas,u=this.labelCalcCanvasContext;if(!c){c=this.labelCalcCanvas=document.createElement("canvas"),u=this.labelCalcCanvasContext=c.getContext("2d");var f=c.style;f.position="absolute",f.left="-9999px",f.top="-9999px",f.zIndex="-1",f.visibility="hidden",f.pointerEvents="none"}u.font="".concat(i," ").concat(s," ").concat(o,"px ").concat(l);for(var A=0,d=0,p=t.split("\n"),h=0;h1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),r)for(var a=0;a=e.desktopTapThreshold2}var C=a(t);b&&(e.hoverData.tapholdCancelled=!0);i=!0,r(h,["mousemove","vmousemove","tapdrag"],t,{x:f[0],y:f[1]});var $=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:f[0],y:f[1]}}),p[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(b){var T={originalEvent:t,type:"cxtdrag",position:{x:f[0],y:f[1]}};m?m.emit(T):o.emit(T),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&h===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:f[0],y:f[1]}}),e.hoverData.cxtOver=h,h&&h.emit({originalEvent:t,type:"cxtdragover",position:{x:f[0],y:f[1]}}))}}else if(e.hoverData.dragging){if(i=!0,o.panningEnabled()&&o.userPanningEnabled()){var O;if(e.hoverData.justStartedPan){var S=e.hoverData.mdownPos;O={x:(f[0]-S[0])*l,y:(f[1]-S[1])*l},e.hoverData.justStartedPan=!1}else O={x:v[0]*l,y:v[1]*l};o.panBy(O),o.emit("dragpan"),e.hoverData.dragged=!0}f=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=p[4]||null!=m&&!m.pannable()){if(m&&m.pannable()&&m.active()&&m.unactivate(),m&&m.grabbed()||h==g||(g&&r(g,["mouseout","tapdragout"],t,{x:f[0],y:f[1]}),h&&r(h,["mouseover","tapdragover"],t,{x:f[0],y:f[1]}),e.hoverData.last=h),m)if(b){if(o.boxSelectionEnabled()&&C)m&&m.grabbed()&&(u(w),m.emit("freeon"),w.emit("free"),e.dragData.didDrag&&(m.emit("dragfreeon"),w.emit("dragfree"))),$();else if(m&&m.grabbed()&&e.nodeIsDraggable(m)){var I=!e.dragData.didDrag;I&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||s(w,{inDragLayer:!0});var M={x:0,y:0};if(number$1$1(v[0])&&number$1$1(v[1])&&(M.x+=v[0],M.y+=v[1],I)){var B=e.hoverData.dragDelta;B&&number$1$1(B[0])&&number$1$1(B[1])&&(M.x+=B[0],M.y+=B[1])}e.hoverData.draggingEles=!0,w.silentShift(M).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(v[0]),t.push(v[1])):(t[0]+=v[0],t[1]+=v[1])}();i=!0}else if(b){if(e.hoverData.dragging||!o.boxSelectionEnabled()||!C&&o.panningEnabled()&&o.userPanningEnabled()){if(!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()){n(m,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,p[4]=0,e.data.bgActivePosistion=array2point(A),e.redrawHint("select",!0),e.redraw())}}else $();m&&m.pannable()&&m.active()&&m.unactivate()}return p[2]=f[0],p[3]=f[1],i?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(window,"mouseup",(function(n){if(e.hoverData.capture){e.hoverData.capture=!1;var i=e.cy,o=e.projectIntoViewport(n.clientX,n.clientY),l=e.selection,s=e.findNearestElement(o[0],o[1],!0,!1),c=e.dragData.possibleDragElements,f=e.hoverData.down,A=a(n);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,f&&f.unactivate(),3===e.hoverData.which){var d={originalEvent:n,type:"cxttapend",position:{x:o[0],y:o[1]}};if(f?f.emit(d):i.emit(d),!e.hoverData.cxtDragged){var p={originalEvent:n,type:"cxttap",position:{x:o[0],y:o[1]}};f?f.emit(p):i.emit(p)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(s,["mouseup","tapend","vmouseup"],n,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(f,["click","tap","vclick"],n,{x:o[0],y:o[1]}),m=!1,n.timeStamp-v<=i.multiClickDebounceTime()?(g&&clearTimeout(g),m=!0,v=null,r(f,["dblclick","dbltap","vdblclick"],n,{x:o[0],y:o[1]})):(g=setTimeout((function(){m||r(f,["oneclick","onetap","voneclick"],n,{x:o[0],y:o[1]})}),i.multiClickDebounceTime()),v=n.timeStamp)),null!=f||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||a(n)||(i.$(t).unselect(["tapunselect"]),c.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=c=i.collection()),s!=f||e.dragData.didDrag||e.hoverData.selecting||null!=s&&s._private.selectable&&(e.hoverData.dragging||("additive"===i.selectionType()||A?s.selected()?s.unselect(["tapunselect"]):s.select(["tapselect"]):A||(i.$(t).unmerge(s).unselect(["tapunselect"]),s.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var h=i.collection(e.getAllInBox(l[0],l[1],l[2],l[3]));e.redrawHint("select",!0),h.length>0&&e.redrawHint("eles",!0),i.emit({type:"boxend",originalEvent:n,position:{x:o[0],y:o[1]}});var b=function(e){return e.selectable()&&!e.selected()};"additive"===i.selectionType()||A||i.$(t).unmerge(h).unselect(),h.emit("box").stdFilter(b).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!l[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var y=f&&f.grabbed();u(c),y&&(f.emit("freeon"),c.emit("free"),e.dragData.didDrag&&(f.emit("dragfreeon"),c.emit("dragfree")))}}l[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var w,k,x,E,_,C,$,T,O,S,I,M,B,R=function(t){if(!e.scrollingPage){var r=e.cy,a=r.zoom(),n=r.pan(),i=e.projectIntoViewport(t.clientX,t.clientY),o=[i[0]*a+n.x,i[1]*a+n.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()){var l;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),l=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,l*=e.wheelSensitivity,1===t.deltaMode&&(l*=33);var s=r.zoom()*Math.pow(10,l);"gesturechange"===t.type&&(s=e.gestureStartZoom*t.scale),r.zoom({level:s,renderedPosition:{x:o[0],y:o[1]}}),r.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",R,!0),e.registerBinding(window,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||R(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var r=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:r[0],y:r[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var r=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:r[0],y:r[1]}})}),!1);var P,L,D,z,F,N,j,V=function(e,t,r,a){return Math.sqrt((r-e)*(r-e)+(a-t)*(a-t))},G=function(e,t,r,a){return(r-e)*(r-e)+(a-t)*(a-t)};if(e.registerBinding(e.container,"touchstart",P=function(t){if(e.hasTouchStarted=!0,y(t)){A(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var a=e.cy,n=e.touchData.now,i=e.touchData.earlier;if(t.touches[0]){var l=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);n[0]=l[0],n[1]=l[1]}if(t.touches[1]){l=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);n[2]=l[0],n[3]=l[1]}if(t.touches[2]){l=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);n[4]=l[0],n[5]=l[1]}if(t.touches[1]){e.touchData.singleTouchMoved=!0,u(e.dragData.touchDragEles);var f=e.findContainerClientCoords();O=f[0],S=f[1],I=f[2],M=f[3],w=t.touches[0].clientX-O,k=t.touches[0].clientY-S,x=t.touches[1].clientX-O,E=t.touches[1].clientY-S,B=0<=w&&w<=I&&0<=x&&x<=I&&0<=k&&k<=M&&0<=E&&E<=M;var d=a.pan(),p=a.zoom();_=V(w,k,x,E),C=G(w,k,x,E),T=[(($=[(w+x)/2,(k+E)/2])[0]-d.x)/p,($[1]-d.y)/p];if(C<4e4&&!t.touches[2]){var h=e.findNearestElement(n[0],n[1],!0,!0),b=e.findNearestElement(n[2],n[3],!0,!0);return h&&h.isNode()?(h.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:n[0],y:n[1]}}),e.touchData.start=h):b&&b.isNode()?(b.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:n[0],y:n[1]}}),e.touchData.start=b):a.emit({originalEvent:t,type:"cxttapstart",position:{x:n[0],y:n[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])a.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var g=e.findNearestElements(n[0],n[1],!0,!0),m=g[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=g,e.nodeIsGrabbable(m))){var v=e.dragData.touchDragEles=a.collection(),R=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(R=a.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),s(R,{addToList:v})):c(m,{addToList:v}),o(m);var P=function(e){return{originalEvent:t,type:e,position:{x:n[0],y:n[1]}}};m.emit(P("grabon")),R?R.forEach((function(e){e.emit(P("grab"))})):m.emit(P("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:n[0],y:n[1]}),null==m&&(e.data.bgActivePosistion={x:l[0],y:l[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:n[0],y:n[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var L=e.touchData.startPosition=[],D=0;D=e.touchTapThreshold2}if(a&&e.touchData.cxt){t.preventDefault();var $=t.touches[0].clientX-O,I=t.touches[0].clientY-S,M=t.touches[1].clientX-O,R=t.touches[1].clientY-S,P=G($,I,M,R);if(P/C>=2.25||P>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var L={originalEvent:t,type:"cxttapend",position:{x:l[0],y:l[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(L),e.touchData.start=null):o.emit(L)}}if(a&&e.touchData.cxt){L={originalEvent:t,type:"cxtdrag",position:{x:l[0],y:l[1]}};e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(L):o.emit(L),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var D=e.findNearestElement(l[0],l[1],!0,!0);e.touchData.cxtOver&&D===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:l[0],y:l[1]}}),e.touchData.cxtOver=D,D&&D.emit({originalEvent:t,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}else if(a&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:l[0],y:l[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(l[0]+l[2]+l[4])/3,i[3]=(l[1]+l[3]+l[5])/3):(i[0]=(l[0]+l[2]+l[4])/3,i[1]=(l[1]+l[3]+l[5])/3,i[2]=(l[0]+l[2]+l[4])/3+1,i[3]=(l[1]+l[3]+l[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(a&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),K=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var z=0;z0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(window,"touchcancel",D=function(t){var r=e.touchData.start;e.touchData.capture=!1,r&&r.unactivate()}),e.registerBinding(window,"touchend",z=function(a){var n=e.touchData.start;if(e.touchData.capture){0===a.touches.length&&(e.touchData.capture=!1),a.preventDefault();var i=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,l=e.cy,s=l.zoom(),c=e.touchData.now,f=e.touchData.earlier;if(a.touches[0]){var A=e.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);c[0]=A[0],c[1]=A[1]}if(a.touches[1]){A=e.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);c[2]=A[0],c[3]=A[1]}if(a.touches[2]){A=e.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);c[4]=A[0],c[5]=A[1]}if(n&&n.unactivate(),e.touchData.cxt){if(o={originalEvent:a,type:"cxttapend",position:{x:c[0],y:c[1]}},n?n.emit(o):l.emit(o),!e.touchData.cxtDragged){var d={originalEvent:a,type:"cxttap",position:{x:c[0],y:c[1]}};n?n.emit(d):l.emit(d)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!a.touches[2]&&l.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var p=l.collection(e.getAllInBox(i[0],i[1],i[2],i[3]));i[0]=void 0,i[1]=void 0,i[2]=void 0,i[3]=void 0,i[4]=0,e.redrawHint("select",!0),l.emit({type:"boxend",originalEvent:a,position:{x:c[0],y:c[1]}});p.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),p.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=n&&n.unactivate(),a.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(a.touches[1]);else if(a.touches[0]);else if(!a.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var h=e.dragData.touchDragEles;if(null!=n){var b=n._private.grabbed;u(h),e.redrawHint("drag",!0),e.redrawHint("eles",!0),b&&(n.emit("freeon"),h.emit("free"),e.dragData.didDrag&&(n.emit("dragfreeon"),h.emit("dragfree"))),r(n,["touchend","tapend","vmouseup","tapdragout"],a,{x:c[0],y:c[1]}),n.unactivate(),e.touchData.start=null}else{var g=e.findNearestElement(c[0],c[1],!0,!0);r(g,["touchend","tapend","vmouseup","tapdragout"],a,{x:c[0],y:c[1]})}var m=e.touchData.startPosition[0]-c[0],v=m*m,y=e.touchData.startPosition[1]-c[1],w=(v+y*y)*s*s;e.touchData.singleTouchMoved||(n||l.$(":selected").unselect(["tapunselect"]),r(n,["tap","vclick"],a,{x:c[0],y:c[1]}),F=!1,a.timeStamp-j<=l.multiClickDebounceTime()?(N&&clearTimeout(N),F=!0,j=null,r(n,["dbltap","vdblclick"],a,{x:c[0],y:c[1]})):(N=setTimeout((function(){F||r(n,["onetap","voneclick"],a,{x:c[0],y:c[1]})}),l.multiClickDebounceTime()),j=a.timeStamp)),null!=n&&!e.dragData.didDrag&&n._private.selectable&&w0)return d[0]}return null},A=Object.keys(u),d=0;d0?s:roundRectangleIntersectLine(n,i,e,t,r,a,o)},checkPoint:function(e,t,r,a,n,i,o){var l=getRoundRectangleRadius(a,n),s=2*l;if(pointInsidePolygon(e,t,this.points,i,o,a,n-s,[0,-1],r))return!0;if(pointInsidePolygon(e,t,this.points,i,o,a-s,n,[0,-1],r))return!0;var c=a/2+2*r,u=n/2+2*r;return!!pointInsidePolygonPoints(e,t,[i-c,o-u,i-c,o,i+c,o,i+c,o-u])||(!!checkInEllipse(e,t,s,s,i+a/2-l,o+n/2-l,r)||!!checkInEllipse(e,t,s,s,i-a/2+l,o+n/2-l,r))}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",generateUnitNgonPointsFitToSquare(3,0)),this.generateRoundPolygon("round-triangle",generateUnitNgonPointsFitToSquare(3,0)),this.generatePolygon("rectangle",generateUnitNgonPointsFitToSquare(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r),this.generatePolygon("pentagon",generateUnitNgonPointsFitToSquare(5,0)),this.generateRoundPolygon("round-pentagon",generateUnitNgonPointsFitToSquare(5,0)),this.generatePolygon("hexagon",generateUnitNgonPointsFitToSquare(6,0)),this.generateRoundPolygon("round-hexagon",generateUnitNgonPointsFitToSquare(6,0)),this.generatePolygon("heptagon",generateUnitNgonPointsFitToSquare(7,0)),this.generateRoundPolygon("round-heptagon",generateUnitNgonPointsFitToSquare(7,0)),this.generatePolygon("octagon",generateUnitNgonPointsFitToSquare(8,0)),this.generateRoundPolygon("round-octagon",generateUnitNgonPointsFitToSquare(8,0));var a=new Array(20),n=generateUnitNgonPoints(5,0),i=generateUnitNgonPoints(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var l=0;l=e.deqFastCost*h)break}else if(n){if(d>=e.deqCost*s||d>=e.deqAvgCost*l)break}else if(p>=e.deqNoDrawCost*fullFpsTime)break;var b=e.deq(t,f,u);if(!(b.length>0))break;for(var g=0;g0&&(e.onDeqd(t,c),!n&&e.shouldRedraw(t,c,f,u)&&a())}),n(t))}}}},ElementTextureCacheLookup=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:falsify;_classCallCheck$1v(this,e),this.idsByKey=new Map$1$1,this.keyForId=new Map$1$1,this.cachesByLvl=new Map$1$1,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=r}return _createClass$1q(e,[{key:"getIdsFor",value:function(e){null==e&&error("Can not get id list for null key");var t=this.idsByKey,r=this.idsByKey.get(e);return r||(r=new Set$1$1,t.set(e,r)),r}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),r=this.keyForId.get(t),a=this.getKey(e);this.deleteIdForKey(r,t),this.addIdForKey(a,t),this.keyForId.set(t,a)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),r=this.keyForId.get(t);this.deleteIdForKey(r,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,r=this.lvls,a=t.get(e);return a||(a=new Map$1$1,t.set(e,a),r.push(e)),a}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var r=this.getKey(e),a=this.getCache(r,t);return null!=a&&this.updateKeyMappingFor(e),a}},{key:"getForCachedKey",value:function(e,t){var r=this.keyForId.get(e.id());return this.getCache(r,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var r=this.getKey(e);return this.hasCache(r,t)}},{key:"setCache",value:function(e,t,r){r.key=e,this.getCachesAt(t).set(e,r)}},{key:"set",value:function(e,t,r){var a=this.getKey(e);this.setCache(a,t,r),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var r=this.getKey(e);this.deleteCache(r,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(r){return t.deleteCache(e,r)}))}},{key:"invalidate",value:function(e){var t=e.id(),r=this.keyForId.get(t);this.deleteKeyMappingFor(e);var a=this.doesEleInvalidateKey(e);return a&&this.invalidateKey(r),a||0===this.getNumberOfIdsForKey(r)}}]),e}(),minTxrH=25,txrStepH=50,minLvl$1=-4,maxLvl$1=3,maxZoom$1=7.99,eleTxrSpacing=8,defTxrWidth=1024,maxTxrW=1024,maxTxrH=1024,minUtility=.2,maxFullness=.8,maxFullnessChecks=10,deqCost$1=.15,deqAvgCost$1=.1,deqNoDrawCost$1=.9,deqFastCost$1=.9,deqRedrawThreshold$1=100,maxDeqSize$1=1,getTxrReasons={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},initDefaults=defaults$g({getKey:null,doesEleInvalidateKey:falsify,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:trueify,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ElementTextureCache=function(e,t){var r=this;r.renderer=e,r.onDequeues=[];var a=initDefaults(t);extend$3(r,a),r.lookup=new ElementTextureCacheLookup(a.getKey,a.doesEleInvalidateKey),r.setupDequeueing()},ETCp=ElementTextureCache.prototype;ETCp.reasons=getTxrReasons,ETCp.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},ETCp.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},ETCp.getElementQueue=function(){var e=this.eleCacheQueue=this.eleCacheQueue||new Heap__default.default((function(e,t){return t.reqs-e.reqs}));return e},ETCp.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},ETCp.getElement=function(e,t,r,a,n){var i=this,o=this.renderer,l=o.cy.zoom(),s=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!i.allowEdgeTxrCaching&&e.isEdge()||!i.allowParentTxrCaching&&e.isParent())return null;if(null==a&&(a=Math.ceil(log2(l*r))),a=maxZoom$1||a>maxLvl$1)return null;var c=Math.pow(2,a),u=t.h*c,f=t.w*c,A=o.eleTextBiggerThanMin(e,c);if(!this.isVisible(e,A))return null;var d,p=s.get(e,a);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;if(d=u<=minTxrH?minTxrH:u<=txrStepH?txrStepH:Math.ceil(u/txrStepH)*txrStepH,u>maxTxrH||f>maxTxrW)return null;var h=i.getTextureQueue(d),b=h[h.length-2],g=function(){return i.recycleTexture(d,f)||i.addTexture(d,f)};b||(b=h[h.length-1]),b||(b=g()),b.width-b.usedWidtha;$--)_=i.getElement(e,t,r,$,getTxrReasons.downscale);C()}else{var T;if(!y&&!w&&!k)for(var O=a-1;O>=minLvl$1;O--){var S=s.get(e,O);if(S){T=S;break}}if(v(T))return i.queueElement(e,a),T;b.context.translate(b.usedWidth,0),b.context.scale(c,c),this.drawElement(b.context,e,t,A,!1),b.context.scale(1/c,1/c),b.context.translate(-b.usedWidth,0)}return p={x:b.usedWidth,texture:b,level:a,scale:c,width:f,height:u,scaledLabelShown:A},b.usedWidth+=Math.ceil(f+eleTxrSpacing),b.eleCaches.push(p),s.set(e,a,p),i.checkTextureFullness(b),p},ETCp.invalidateElements=function(e){for(var t=0;t=minUtility*e.width&&this.retireTexture(e)},ETCp.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>maxFullness&&e.fullnessChecks>=maxFullnessChecks?removeFromArray(t,e):e.fullnessChecks++},ETCp.retireTexture=function(e){var t=e.height,r=this.getTextureQueue(t),a=this.lookup;removeFromArray(r,e),e.retired=!0;for(var n=e.eleCaches,i=0;i=t)return i.retired=!1,i.usedWidth=0,i.invalidatedWidth=0,i.fullnessChecks=0,clearArray(i.eleCaches),i.context.setTransform(1,0,0,1,0,0),i.context.clearRect(0,0,i.width,i.height),removeFromArray(a,i),r.push(i),i}},ETCp.queueElement=function(e,t){var r=this.getElementQueue(),a=this.getElementKeyToQueue(),n=this.getKey(e),i=a[n];if(i)i.level=Math.max(i.level,t),i.eles.merge(e),i.reqs++,r.updateItem(i);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:n};r.push(o),a[n]=o}},ETCp.dequeue=function(e){for(var t=this,r=t.getElementQueue(),a=t.getElementKeyToQueue(),n=[],i=t.lookup,o=0;o0;o++){var l=r.pop(),s=l.key,c=l.eles[0],u=i.hasCache(c,l.level);if(a[s]=null,!u){n.push(l);var f=t.getBoundingBox(c);t.getElement(c,f,e,l.level,getTxrReasons.dequeue)}}return n},ETCp.removeFromQueue=function(e){var t=this.getElementQueue(),r=this.getElementKeyToQueue(),a=this.getKey(e),n=r[a];null!=n&&(1===n.eles.length?(n.reqs=MAX_INT$1,t.updateItem(n),t.pop(),r[a]=null):n.eles.unmerge(e))},ETCp.onDequeue=function(e){this.onDequeues.push(e)},ETCp.offDequeue=function(e){removeFromArray(this.onDequeues,e)},ETCp.setupDequeueing=defs.setupDequeueing({deqRedrawThreshold:deqRedrawThreshold$1,deqCost:deqCost$1,deqAvgCost:deqAvgCost$1,deqNoDrawCost:deqNoDrawCost$1,deqFastCost:deqFastCost$1,deq:function(e,t,r){return e.dequeue(t,r)},onDeqd:function(e,t){for(var r=0;r=maxZoom||r>maxLvl)return null;a.validateLayersElesOrdering(r,e);var o,l,s=a.layersByLevel,c=Math.pow(2,r),u=s[r]=s[r]||[];if(a.levelIsComplete(r,e))return u;!function(){var t=function(t){if(a.validateLayersElesOrdering(t,e),a.levelIsComplete(t,e))return l=s[t],!0},n=function(e){if(!l)for(var a=r+e;minLvl<=a&&a<=maxLvl&&!t(a);a+=e);};n(1),n(-1);for(var i=u.length-1;i>=0;i--){var o=u[i];o.invalid&&removeFromArray(u,o)}}();var f=function(t){var n=(t=t||{}).after;if(function(){if(!o){o=makeBoundingBox();for(var t=0;tmaxLayerArea)return null;var i=a.makeLayer(o,r);if(null!=n){var l=u.indexOf(n)+1;u.splice(l,0,i)}else(void 0===t.insert||t.insert)&&u.unshift(i);return i};if(a.skipping&&!i)return null;for(var A=null,d=e.length/defNumLayers,p=!i,h=0;h=d||!boundingBoxInBoundingBox(A.bb,b.boundingBox()))&&!(A=f({insert:!0,after:A})))return null;l||p?a.queueLayer(A,b):a.drawEleInLayer(A,b,r,t),A.eles.push(b),m[r]=A}}return l||(p?null:u)},LTCp.getEleLevelForLayerLevel=function(e,t){return e},LTCp.drawEleInLayer=function(e,t,r,a){var n=this.renderer,i=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(r=this.getEleLevelForLayerLevel(r,a),n.setImgSmoothing(i,!1),n.drawCachedElement(i,t,null,null,r,useHighQualityEleTxrReqs),n.setImgSmoothing(i,!0))},LTCp.levelIsComplete=function(e,t){var r=this.layersByLevel[e];if(!r||0===r.length)return!1;for(var a=0,n=0;n0)return!1;if(i.invalid)return!1;a+=i.eles.length}return a===t.length},LTCp.validateLayersElesOrdering=function(e,t){var r=this.layersByLevel[e];if(r)for(var a=0;a0){e=!0;break}}return e},LTCp.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=performanceNow$1(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,r,a){t.invalidateLayer(e)})))},LTCp.invalidateLayer=function(e){if(this.lastInvalidationTime=performanceNow$1(),!e.invalid){var t=e.level,r=e.eles,a=this.layersByLevel[t];removeFromArray(a,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var n=0;n3&&void 0!==arguments[3])||arguments[3],n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,l=t._private.rscratch;if((!i||t.visible())&&!l.badLine&&null!=l.allpts&&!isNaN(l.allpts[0])){var s;r&&(s=r,e.translate(-s.x1,-s.y1));var c=i?t.pstyle("opacity").value:1,u=i?t.pstyle("line-opacity").value:1,f=t.pstyle("curve-style").value,A=t.pstyle("line-style").value,d=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,h=c*u,b=c*u,g=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h;"straight-triangle"===f?(o.eleStrokeStyle(e,t,r),o.drawEdgeTrianglePath(t,e,l.allpts)):(e.lineWidth=d,e.lineCap=p,o.eleStrokeStyle(e,t,r),o.drawEdgePath(t,e,l.allpts,A),e.lineCap="butt")},m=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;o.drawArrowheads(e,t,r)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var v=t.pstyle("ghost-offset-x").pfValue,y=t.pstyle("ghost-offset-y").pfValue,w=t.pstyle("ghost-opacity").value,k=h*w;e.translate(v,y),g(k),m(k),e.translate(-v,-y)}n&&o.drawEdgeUnderlay(e,t),g(),m(),n&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,a),r&&e.translate(s.x1,s.y1)}}},drawEdgeOverlayUnderlay=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,r){if(r.visible()){var a=r.pstyle("".concat(e,"-opacity")).value;if(0!==a){var n=this,i=n.usePaths(),o=r._private.rscratch,l=2*r.pstyle("".concat(e,"-padding")).pfValue,s=r.pstyle("".concat(e,"-color")).value;t.lineWidth=l,"self"!==o.edgeType||i?t.lineCap="round":t.lineCap="butt",n.colorStrokeStyle(t,s[0],s[1],s[2],a),n.drawEdgePath(r,t,o.allpts,"solid")}}}};CRp$8.drawEdgeOverlay=drawEdgeOverlayUnderlay("overlay"),CRp$8.drawEdgeUnderlay=drawEdgeOverlayUnderlay("underlay"),CRp$8.drawEdgePath=function(e,t,r,a){var n,i=e._private.rscratch,o=t,l=!1,s=this.usePaths(),c=e.pstyle("line-dash-pattern").pfValue,u=e.pstyle("line-dash-offset").pfValue;if(s){var f=r.join("$");i.pathCacheKey&&i.pathCacheKey===f?(n=t=i.pathCache,l=!0):(n=t=new Path2D,i.pathCacheKey=f,i.pathCache=n)}if(o.setLineDash)switch(a){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(c),o.lineDashOffset=u;break;case"solid":o.setLineDash([])}if(!l&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var A=2;A+35&&void 0!==arguments[5]?arguments[5]:5;e.beginPath(),e.moveTo(t+i,r),e.lineTo(t+a-i,r),e.quadraticCurveTo(t+a,r,t+a,r+i),e.lineTo(t+a,r+n-i),e.quadraticCurveTo(t+a,r+n,t+a-i,r+n),e.lineTo(t+i,r+n),e.quadraticCurveTo(t,r+n,t,r+n-i),e.lineTo(t,r+i),e.quadraticCurveTo(t,r,t+i,r),e.closePath(),e.fill()}CRp$6.eleTextBiggerThanMin=function(e,t){if(!t){var r=e.cy().zoom(),a=this.getPixelRatio(),n=Math.ceil(log2(r*a));t=Math.pow(2,n)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==a){if(i&&!o.eleTextBiggerThanMin(t))return}else if(!1===a)return;if(t.isNode()){var l=t.pstyle("label");if(!l||!l.value)return;var s=o.getLabelJustification(t);e.textAlign=s,e.textBaseline="bottom"}else{var c=t.element()._private.rscratch.badLine,u=t.pstyle("label"),f=t.pstyle("source-label"),A=t.pstyle("target-label");if(c||(!u||!u.value)&&(!f||!f.value)&&(!A||!A.value))return;e.textAlign="center",e.textBaseline="bottom"}var d,p=!r;r&&(d=r,e.translate(-d.x1,-d.y1)),null==n?(o.drawText(e,t,null,p,i),t.isEdge()&&(o.drawText(e,t,"source",p,i),o.drawText(e,t,"target",p,i))):o.drawText(e,t,n,p,i),r&&e.translate(d.x1,d.y1)},CRp$6.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&void 0!==arguments[2])||arguments[2],a=t.pstyle("font-style").strValue,n=t.pstyle("font-size").pfValue+"px",i=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,l=r?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,s=t.pstyle("text-outline-opacity").value*l,c=t.pstyle("color").value,u=t.pstyle("text-outline-color").value;e.font=a+" "+o+" "+n+" "+i,e.lineJoin="round",this.colorFillStyle(e,c[0],c[1],c[2],l),this.colorStrokeStyle(e,u[0],u[1],u[2],s)},CRp$6.getTextAngle=function(e,t){var r=e._private.rscratch,a=t?t+"-":"",n=e.pstyle(a+"text-rotation"),i=getPrefixedProperty(r,"labelAngle",t);return"autorotate"===n.strValue?e.isEdge()?i:0:"none"===n.strValue?0:n.pfValue},CRp$6.drawText=function(e,t,r){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=t._private.rscratch,o=n?t.effectiveOpacity():1;if(!n||0!==o&&0!==t.pstyle("text-opacity").value){"main"===r&&(r=null);var l,s,c=getPrefixedProperty(i,"labelX",r),u=getPrefixedProperty(i,"labelY",r),f=this.getLabelText(t,r);if(null!=f&&""!==f&&!isNaN(c)&&!isNaN(u)){this.setupTextStyle(e,t,n);var A,d=r?r+"-":"",p=getPrefixedProperty(i,"labelWidth",r),h=getPrefixedProperty(i,"labelHeight",r),b=t.pstyle(d+"text-margin-x").pfValue,g=t.pstyle(d+"text-margin-y").pfValue,m=t.isEdge(),v=t.pstyle("text-halign").value,y=t.pstyle("text-valign").value;switch(m&&(v="center",y="center"),c+=b,u+=g,0!==(A=a?this.getTextAngle(t,r):0)&&(l=c,s=u,e.translate(l,s),e.rotate(A),c=0,u=0),y){case"top":break;case"center":u+=h/2;break;case"bottom":u+=h}var w=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,x=t.pstyle("text-border-width").pfValue,E=t.pstyle("text-background-padding").pfValue;if(w>0||x>0&&k>0){var _=c-E;switch(v){case"left":_-=p;break;case"center":_-=p/2}var C=u-h-E,$=p+2*E,T=h+2*E;if(w>0){var O=e.fillStyle,S=t.pstyle("text-background-color").value;e.fillStyle="rgba("+S[0]+","+S[1]+","+S[2]+","+w*o+")",0===t.pstyle("text-background-shape").strValue.indexOf("round")?roundRect(e,_,C,$,T,2):e.fillRect(_,C,$,T),e.fillStyle=O}if(x>0&&k>0){var I=e.strokeStyle,M=e.lineWidth,B=t.pstyle("text-border-color").value,R=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+k*o+")",e.lineWidth=x,e.setLineDash)switch(R){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=x/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(e.strokeRect(_,C,$,T),"double"===R){var P=x/2;e.strokeRect(_+P,C+P,$-2*P,T-2*P)}e.setLineDash&&e.setLineDash([]),e.lineWidth=M,e.strokeStyle=I}}var L=2*t.pstyle("text-outline-width").pfValue;if(L>0&&(e.lineWidth=L),"wrap"===t.pstyle("text-wrap").value){var D=getPrefixedProperty(i,"labelWrapCachedLines",r),z=getPrefixedProperty(i,"labelLineHeight",r),F=p/2,N=this.getLabelJustification(t);switch("auto"===N||("left"===v?"left"===N?c+=-p:"center"===N&&(c+=-F):"center"===v?"left"===N?c+=-F:"right"===N&&(c+=F):"right"===v&&("center"===N?c+=F:"right"===N&&(c+=p))),y){case"top":case"center":case"bottom":u-=(D.length-1)*z}for(var j=0;j0&&e.strokeText(D[j],c,u),e.fillText(D[j],c,u),u+=z}else L>0&&e.strokeText(f,c,u),e.fillText(f,c,u);0!==A&&(e.rotate(-A),e.translate(-l,-s))}}};var CRp$5={drawNode:function(e,t,r){var a,n,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],l=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],s=this,c=t._private,u=c.rscratch,f=t.position();if(number$1$1(f.x)&&number$1$1(f.y)&&(!l||t.visible())){var A,d,p=l?t.effectiveOpacity():1,h=s.usePaths(),b=!1,g=t.padding();a=t.width()+2*g,n=t.height()+2*g,r&&(d=r,e.translate(-d.x1,-d.y1));for(var m=t.pstyle("background-image").value,v=new Array(m.length),y=new Array(m.length),w=0,k=0;k0&&void 0!==arguments[0]?arguments[0]:$;s.eleFillStyle(e,t,r)},M=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:S;s.colorStrokeStyle(e,T[0],T[1],T[2],t)},B=t.pstyle("shape").strValue,R=t.pstyle("shape-polygon-points").pfValue;if(h){e.translate(f.x,f.y);var P=s.nodePathCache=s.nodePathCache||[],L=hashStrings("polygon"===B?B+","+R.join(","):B,""+n,""+a),D=P[L];null!=D?(A=D,b=!0,u.pathCache=A):(A=new Path2D,P[L]=u.pathCache=A)}var z=function(){if(!b){var r=f;h&&(r={x:0,y:0}),s.nodeShapes[s.getNodeShape(t)].draw(A||e,r.x,r.y,a,n)}h?e.fill(A):e.fill()},F=function(){for(var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=c.backgrounding,i=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;s.hasPie(t)&&(s.drawPie(e,t,i),r&&(h||s.nodeShapes[s.getNodeShape(t)].draw(e,f.x,f.y,a,n)))},j=function(){var t=(_>0?_:-_)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p),r=_>0?0:255;0!==_&&(s.colorFillStyle(e,r,r,r,t),h?e.fill(A):e.fill())},V=function(){if(C>0){if(e.lineWidth=C,e.lineCap="butt",e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(h?e.stroke(A):e.stroke(),"double"===O){e.lineWidth=C/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",h?e.stroke(A):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var G=t.pstyle("ghost-offset-x").pfValue,H=t.pstyle("ghost-offset-y").pfValue,W=t.pstyle("ghost-opacity").value,Z=W*p;e.translate(G,H),I(W*$),z(),F(Z,!0),M(W*S),V(),N(0!==_||0!==C),F(Z,!1),j(Z),e.translate(-G,-H)}h&&e.translate(-f.x,-f.y),o&&s.drawNodeUnderlay(e,t,f,a,n),h&&e.translate(f.x,f.y),I(),z(),F(p,!0),M(),V(),N(0!==_||0!==C),F(p,!1),j(),h&&e.translate(-f.x,-f.y),s.drawElementText(e,t,null,i),o&&s.drawNodeOverlay(e,t,f,a,n),r&&e.translate(d.x1,d.y1)}}},drawNodeOverlayUnderlay=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,r,a,n,i){if(r.visible()){var o=r.pstyle("".concat(e,"-padding")).pfValue,l=r.pstyle("".concat(e,"-opacity")).value,s=r.pstyle("".concat(e,"-color")).value,c=r.pstyle("".concat(e,"-shape")).value;if(l>0){if(a=a||r.position(),null==n||null==i){var u=r.padding();n=r.width()+2*u,i=r.height()+2*u}this.colorFillStyle(t,s[0],s[1],s[2],l),this.nodeShapes[c].draw(t,a.x,a.y,n+2*o,i+2*o),t.fill()}}}};CRp$5.drawNodeOverlay=drawNodeOverlayUnderlay("overlay"),CRp$5.drawNodeUnderlay=drawNodeOverlayUnderlay("underlay"),CRp$5.hasPie=function(e){return(e=e[0])._private.hasPie},CRp$5.drawPie=function(e,t,r,a){t=t[0],a=a||t.position();var n=t.cy().style(),i=t.pstyle("pie-size"),o=a.x,l=a.y,s=t.width(),c=t.height(),u=Math.min(s,c)/2,f=0;this.usePaths()&&(o=0,l=0),"%"===i.units?u*=i.pfValue:void 0!==i.pfValue&&(u=i.pfValue/2);for(var A=1;A<=n.pieBackgroundN;A++){var d=t.pstyle("pie-"+A+"-background-size").value,p=t.pstyle("pie-"+A+"-background-color").value,h=t.pstyle("pie-"+A+"-background-opacity").value*r,b=d/100;b+f>1&&(b=1-f);var g=1.5*Math.PI+2*Math.PI*f,m=g+2*Math.PI*b;0===d||f>=1||f+b>1||(e.beginPath(),e.moveTo(o,l),e.arc(o,l,u,g,m),e.closePath(),this.colorFillStyle(e,p[0],p[1],p[2],h),e.fill(),f+=b)}};var CRp$4={},motionBlurDelay=100;CRp$4.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},CRp$4.paintCache=function(e){for(var t,r=this.paintCaches=this.paintCaches||[],a=!0,n=0;no.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!f&&(u[o.NODE]=!0,u[o.SELECT_BOX]=!0);var m=s.style(),v=s.zoom(),y=void 0!==n?n:v,w=s.pan(),k={x:w.x,y:w.y},x={zoom:v,pan:{x:w.x,y:w.y}},E=o.prevViewport;void 0===E||x.zoom!==E.zoom||x.pan.x!==E.pan.x||x.pan.y!==E.pan.y||h&&!p||(o.motionBlurPxRatio=1),i&&(k=i),y*=l,k.x*=l,k.y*=l;var _=o.getCachedZSortedEles();function C(e,t,r,a,n){var i=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,r,a,n),e.globalCompositeOperation=i}function $(e,a){var l,s,u,f;o.clearingMotionBlur||e!==c.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==c.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(l=k,s=y,u=o.canvasWidth,f=o.canvasHeight):(l={x:w.x*d,y:w.y*d},s=v*d,u=o.canvasWidth*d,f=o.canvasHeight*d),e.setTransform(1,0,0,1,0,0),"motionBlur"===a?C(e,0,0,u,f):t||void 0!==a&&!a||e.clearRect(0,0,u,f),r||(e.translate(l.x,l.y),e.scale(s,s)),i&&e.translate(i.x,i.y),n&&e.scale(n,n)}if(f||(o.textureDrawLastFrame=!1),f){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=s.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:l*o.textureMult}),(x=o.textureCache.viewport={zoom:s.zoom(),pan:s.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-x.pan.x)/x.zoom,y:(0-x.pan.y)/x.zoom}}u[o.DRAG]=!1,u[o.NODE]=!1;var O=c.contexts[o.NODE],S=o.textureCache.texture;x=o.textureCache.viewport;O.setTransform(1,0,0,1,0,0),A?C(O,0,0,x.width,x.height):O.clearRect(0,0,x.width,x.height);var I=m.core("outside-texture-bg-color").value,M=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(O,I[0],I[1],I[2],M),O.fillRect(0,0,x.width,x.height);v=s.zoom();$(O,!1),O.clearRect(x.mpan.x,x.mpan.y,x.width/x.zoom/l,x.height/x.zoom/l),O.drawImage(S,x.mpan.x,x.mpan.y,x.width/x.zoom/l,x.height/x.zoom/l)}else o.textureOnViewport&&!t&&(o.textureCache=null);var B=s.extent(),R=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),P=o.hideEdgesOnViewport&&R,L=[];if(L[o.NODE]=!u[o.NODE]&&A&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,L[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),L[o.DRAG]=!u[o.DRAG]&&A&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,L[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),u[o.NODE]||r||a||L[o.NODE]){var D=A&&!L[o.NODE]&&1!==d;$(O=t||(D?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:c.contexts[o.NODE]),A&&!D?"motionBlur":void 0),P?o.drawCachedNodes(O,_.nondrag,l,B):o.drawLayeredElements(O,_.nondrag,l,B),o.debug&&o.drawDebugPoints(O,_.nondrag),r||A||(u[o.NODE]=!1)}if(!a&&(u[o.DRAG]||r||L[o.DRAG])){D=A&&!L[o.DRAG]&&1!==d;$(O=t||(D?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:c.contexts[o.DRAG]),A&&!D?"motionBlur":void 0),P?o.drawCachedNodes(O,_.drag,l,B):o.drawCachedElements(O,_.drag,l,B),o.debug&&o.drawDebugPoints(O,_.drag),r||A||(u[o.DRAG]=!1)}if(o.showFps||!a&&u[o.SELECT_BOX]&&!r){if($(O=t||c.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){v=o.cy.zoom();var z=m.core("selection-box-border-width").value/v;O.lineWidth=z,O.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",O.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),z>0&&(O.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",O.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(c.bgActivePosistion&&!o.hoverData.selecting){v=o.cy.zoom();var F=c.bgActivePosistion;O.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",O.beginPath(),O.arc(F.x,F.y,m.core("active-bg-size").pfValue/v,0,2*Math.PI),O.fill()}var N=o.lastRedrawTime;if(o.showFps&&N){N=Math.round(N);var j=Math.round(1e3/N);O.setTransform(1,0,0,1,0,0),O.fillStyle="rgba(255, 0, 0, 0.75)",O.strokeStyle="rgba(255, 0, 0, 0.75)",O.lineWidth=1,O.fillText("1 frame = "+N+" ms = "+j+" fps",0,20);O.strokeRect(0,30,250,20),O.fillRect(0,30,250*Math.min(j/60,1),20)}r||(u[o.SELECT_BOX]=!1)}if(A&&1!==d){var V=c.contexts[o.NODE],G=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],H=c.contexts[o.DRAG],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],Z=function(e,t,r){e.setTransform(1,0,0,1,0,0),r||!g?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):C(e,0,0,o.canvasWidth,o.canvasHeight);var a=d;e.drawImage(t,0,0,o.canvasWidth*a,o.canvasHeight*a,0,0,o.canvasWidth,o.canvasHeight)};(u[o.NODE]||L[o.NODE])&&(Z(V,G,L[o.NODE]),u[o.NODE]=!1),(u[o.DRAG]||L[o.DRAG])&&(Z(H,W,L[o.DRAG]),u[o.DRAG]=!1)}o.prevViewport=x,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),A&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!f,o.mbFrames=0,u[o.NODE]=!0,u[o.DRAG]=!0,o.redraw()}),motionBlurDelay)),t||s.emit("render")};for(var CRp$3={drawPolygonPath:function(e,t,r,a,n,i){var o=a/2,l=n/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*i[0],r+l*i[1]);for(var s=1;s0&&i>0){A.clearRect(0,0,n,i),A.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(e.full)A.translate(-r.x1*s,-r.y1*s),A.scale(s,s),this.drawElements(A,d),A.scale(1/s,1/s),A.translate(r.x1*s,r.y1*s);else{var p=t.pan(),h={x:p.x*s,y:p.y*s};s*=t.zoom(),A.translate(h.x,h.y),A.scale(s,s),this.drawElements(A,d),A.scale(1/s,1/s),A.translate(-h.x,-h.y)}e.bg&&(A.globalCompositeOperation="destination-over",A.fillStyle=e.bg,A.rect(0,0,n,i),A.fill())}return f},CRp$2.png=function(e){return output(e,this.bufferCanvasImage(e),"image/png")},CRp$2.jpg=function(e){return output(e,this.bufferCanvasImage(e),"image/jpeg")};var CRp$1={nodeShapeImpl:function(e,t,r,a,n,i,o){switch(e){case"ellipse":return this.drawEllipsePath(t,r,a,n,i);case"polygon":return this.drawPolygonPath(t,r,a,n,i,o);case"round-polygon":return this.drawRoundPolygonPath(t,r,a,n,i,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,r,a,n,i);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,r,a,n,i);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,r,a,n,i);case"barrel":return this.drawBarrelPath(t,r,a,n,i)}}},CR=CanvasRenderer,CRp=CanvasRenderer.prototype;function CanvasRenderer(e){var t=this;t.data={canvases:new Array(CRp.CANVAS_LAYERS),contexts:new Array(CRp.CANVAS_LAYERS),canvasNeedsRedraw:new Array(CRp.CANVAS_LAYERS),bufferCanvases:new Array(CRp.BUFFER_COUNT),bufferContexts:new Array(CRp.CANVAS_LAYERS)};var r="-webkit-tap-highlight-color",a="rgba(0,0,0,0)";t.data.canvasContainer=document.createElement("div");var n=t.data.canvasContainer.style;t.data.canvasContainer.style[r]=a,n.position="relative",n.zIndex="0",n.overflow="hidden";var i=e.cy.container();i.appendChild(t.data.canvasContainer),i.style[r]=a;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};ms()&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var l=0;ll))return!1;var c=i.get(e),u=i.get(t);if(c&&u)return c==t&&u==e;var f=-1,A=!0,d=r&COMPARE_UNORDERED_FLAG$3?new SetCache$1:void 0;for(i.set(e,t),i.set(t,e);++f0&&r(l)?t>1?baseFlatten$1(l,t-1,r,a,n):arrayPush$2(n,l):a||(n[n.length]=l)}return n}var _baseFlatten=baseFlatten$1;function apply$1(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var _apply=apply$1,apply=_apply,nativeMax$1=Math.max;function overRest$1(e,t,r){return t=nativeMax$1(void 0===t?e.length-1:t,0),function(){for(var a=arguments,n=-1,i=nativeMax$1(a.length-t,0),o=Array(i);++n0){if(++t>=HOT_COUNT)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var _shortOut=shortOut$1,baseSetToString=_baseSetToString,shortOut=_shortOut,setToString$1=shortOut(baseSetToString),_setToString=setToString$1,identity$7=identity_1,overRest=_overRest,setToString=_setToString;function baseRest$1(e,t){return setToString(overRest(e,t,identity$7),e+"")}var _baseRest=baseRest$1;function baseFindIndex$2(e,t,r,a){for(var n=e.length,i=r+(a?1:-1);a?i--:++i-1}var _arrayIncludes=arrayIncludes$1;function arrayIncludesWith$1(e,t,r){for(var a=-1,n=null==e?0:e.length;++a=LARGE_ARRAY_SIZE){var c=t?null:createSet(e);if(c)return setToArray(c);o=!1,n=cacheHas,s=new SetCache}else s=t?[]:l;e:for(;++as){var c=l;l=s,s=c}return l+a+s+a+(e.isUndefined(o)?t:o)}function s(e,t){return l(e,t.v,t.w,t.name)}return n.prototype._nodeCount=0,n.prototype._edgeCount=0,n.prototype.isDirected=function(){return this._isDirected},n.prototype.isMultigraph=function(){return this._isMultigraph},n.prototype.isCompound=function(){return this._isCompound},n.prototype.setGraph=function(e){return this._label=e,this},n.prototype.graph=function(){return this._label},n.prototype.setDefaultNodeLabel=function(t){return e.isFunction(t)||(t=e.constant(t)),this._defaultNodeLabelFn=t,this},n.prototype.nodeCount=function(){return this._nodeCount},n.prototype.nodes=function(){return e.keys(this._nodes)},n.prototype.sources=function(){var t=this;return e.filter(this.nodes(),(function(r){return e.isEmpty(t._in[r])}))},n.prototype.sinks=function(){var t=this;return e.filter(this.nodes(),(function(r){return e.isEmpty(t._out[r])}))},n.prototype.setNodes=function(t,r){var a=arguments,n=this;return e.each(t,(function(e){a.length>1?n.setNode(e,r):n.setNode(e)})),this},n.prototype.setNode=function(t,a){return e.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=a),this):(this._nodes[t]=arguments.length>1?a:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=r,this._children[t]={},this._children[r][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},n.prototype.node=function(e){return this._nodes[e]},n.prototype.hasNode=function(t){return e.has(this._nodes,t)},n.prototype.removeNode=function(t){var r=this;if(e.has(this._nodes,t)){var a=function(e){r.removeEdge(r._edgeObjs[e])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],e.each(this.children(t),(function(e){r.setParent(e)})),delete this._children[t]),e.each(e.keys(this._in[t]),a),delete this._in[t],delete this._preds[t],e.each(e.keys(this._out[t]),a),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},n.prototype.setParent=function(t,a){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(a))a=r;else{for(var n=a+="";!e.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+a+" as parent of "+t+" would create a cycle");this.setNode(a)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=a,this._children[a][t]=!0,this},n.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},n.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if(t!==r)return t}},n.prototype.children=function(t){if(e.isUndefined(t)&&(t=r),this._isCompound){var a=this._children[t];if(a)return e.keys(a)}else{if(t===r)return this.nodes();if(this.hasNode(t))return[]}},n.prototype.predecessors=function(t){var r=this._preds[t];if(r)return e.keys(r)},n.prototype.successors=function(t){var r=this._sucs[t];if(r)return e.keys(r)},n.prototype.neighbors=function(t){var r=this.predecessors(t);if(r)return e.union(r,this.successors(t))},n.prototype.isLeaf=function(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length},n.prototype.filterNodes=function(t){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var a=this;e.each(this._nodes,(function(e,a){t(a)&&r.setNode(a,e)})),e.each(this._edgeObjs,(function(e){r.hasNode(e.v)&&r.hasNode(e.w)&&r.setEdge(e,a.edge(e))}));var n={};function i(e){var t=a.parent(e);return void 0===t||r.hasNode(t)?(n[e]=t,t):t in n?n[t]:i(t)}return this._isCompound&&e.each(r.nodes(),(function(e){r.setParent(e,i(e))})),r},n.prototype.setDefaultEdgeLabel=function(t){return e.isFunction(t)||(t=e.constant(t)),this._defaultEdgeLabelFn=t,this},n.prototype.edgeCount=function(){return this._edgeCount},n.prototype.edges=function(){return e.values(this._edgeObjs)},n.prototype.setPath=function(t,r){var a=this,n=arguments;return e.reduce(t,(function(e,t){return n.length>1?a.setEdge(e,t,r):a.setEdge(e,t),t})),this},n.prototype.setEdge=function(){var t,r,a,n,o=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(t=s.v,r=s.w,a=s.name,2===arguments.length&&(n=arguments[1],o=!0)):(t=s,r=arguments[1],a=arguments[3],arguments.length>2&&(n=arguments[2],o=!0)),t=""+t,r=""+r,e.isUndefined(a)||(a=""+a);var c=l(this._isDirected,t,r,a);if(e.has(this._edgeLabels,c))return o&&(this._edgeLabels[c]=n),this;if(!e.isUndefined(a)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(r),this._edgeLabels[c]=o?n:this._defaultEdgeLabelFn(t,r,a);var u=function(e,t,r,a){var n=""+t,i=""+r;if(!e&&n>i){var o=n;n=i,i=o}var l={v:n,w:i};a&&(l.name=a);return l}(this._isDirected,t,r,a);return t=u.v,r=u.w,Object.freeze(u),this._edgeObjs[c]=u,i(this._preds[r],t),i(this._sucs[t],r),this._in[r][c]=u,this._out[t][c]=u,this._edgeCount++,this},n.prototype.edge=function(e,t,r){var a=1===arguments.length?s(this._isDirected,arguments[0]):l(this._isDirected,e,t,r);return this._edgeLabels[a]},n.prototype.hasEdge=function(t,r,a){var n=1===arguments.length?s(this._isDirected,arguments[0]):l(this._isDirected,t,r,a);return e.has(this._edgeLabels,n)},n.prototype.removeEdge=function(e,t,r){var a=1===arguments.length?s(this._isDirected,arguments[0]):l(this._isDirected,e,t,r),n=this._edgeObjs[a];return n&&(e=n.v,t=n.w,delete this._edgeLabels[a],delete this._edgeObjs[a],o(this._preds[t],e),o(this._sucs[e],t),delete this._in[t][a],delete this._out[e][a],this._edgeCount--),this},n.prototype.inEdges=function(t,r){var a=this._in[t];if(a){var n=e.values(a);return r?e.filter(n,(function(e){return e.v===r})):n}},n.prototype.outEdges=function(t,r){var a=this._out[t];if(a){var n=e.values(a);return r?e.filter(n,(function(e){return e.w===r})):n}},n.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);if(r)return r.concat(this.outEdges(e,t))},graph}function requireVersion(){return hasRequiredVersion?version$1:(hasRequiredVersion=1,version$1="2.1.8")}function requireLib(){return hasRequiredLib?lib$3:(hasRequiredLib=1,lib$3={Graph:requireGraph(),version:requireVersion()})}function requireJson(){if(hasRequiredJson)return json;hasRequiredJson=1;var e=requireLodash(),t=requireGraph();function r(t){return e.map(t.nodes(),(function(r){var a=t.node(r),n=t.parent(r),i={v:r};return e.isUndefined(a)||(i.value=a),e.isUndefined(n)||(i.parent=n),i}))}function a(t){return e.map(t.edges(),(function(r){var a=t.edge(r),n={v:r.v,w:r.w};return e.isUndefined(r.name)||(n.name=r.name),e.isUndefined(a)||(n.value=a),n}))}return json={write:function(t){var n={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:r(t),edges:a(t)};e.isUndefined(t.graph())||(n.value=e.clone(t.graph()));return n},read:function(r){var a=new t(r.options).setGraph(r.value);return e.each(r.nodes,(function(e){a.setNode(e.v,e.value),e.parent&&a.setParent(e.v,e.parent)})),e.each(r.edges,(function(e){a.setEdge({v:e.v,w:e.w,name:e.name},e.value)})),a}},json}function requireComponents(){if(hasRequiredComponents)return components_1;hasRequiredComponents=1;var e=requireLodash();return components_1=function(t){var r,a={},n=[];function i(n){e.has(a,n)||(a[n]=!0,r.push(n),e.each(t.successors(n),i),e.each(t.predecessors(n),i))}return e.each(t.nodes(),(function(e){r=[],i(e),r.length&&n.push(r)})),n},components_1}function requirePriorityQueue(){if(hasRequiredPriorityQueue)return priorityQueue;hasRequiredPriorityQueue=1;var e=requireLodash();function t(){this._arr=[],this._keyIndices={}}return priorityQueue=t,t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map((function(e){return e.key}))},t.prototype.has=function(t){return e.has(this._keyIndices,t)},t.prototype.priority=function(e){var t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority},t.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(t,r){var a=this._keyIndices;if(t=String(t),!e.has(a,t)){var n=this._arr,i=n.length;return a[t]=i,n.push({key:t,priority:r}),this._decrease(i),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},t.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},t.prototype._heapify=function(e){var t=this._arr,r=2*e,a=r+1,n=e;r>1].priority0&&(i=s.removeMin(),(o=l[i]).distance!==Number.POSITIVE_INFINITY);)n(i).forEach(c);return l}(e,String(a),n||r,i||function(t){return e.outEdges(t)})};var r=e.constant(1);return dijkstra_1}function requireDijkstraAll(){if(hasRequiredDijkstraAll)return dijkstraAll_1;hasRequiredDijkstraAll=1;var e=requireDijkstra(),t=requireLodash();return dijkstraAll_1=function(r,a,n){return t.transform(r.nodes(),(function(t,i){t[i]=e(r,i,a,n)}),{})},dijkstraAll_1}function requireTarjan(){if(hasRequiredTarjan)return tarjan_1;hasRequiredTarjan=1;var e=requireLodash();return tarjan_1=function(t){var r=0,a=[],n={},i=[];function o(l){var s=n[l]={onStack:!0,lowlink:r,index:r++};if(a.push(l),t.successors(l).forEach((function(t){e.has(n,t)?n[t].onStack&&(s.lowlink=Math.min(s.lowlink,n[t].index)):(o(t),s.lowlink=Math.min(s.lowlink,n[t].lowlink))})),s.lowlink===s.index){var c,u=[];do{c=a.pop(),n[c].onStack=!1,u.push(c)}while(l!==c);i.push(u)}}return t.nodes().forEach((function(t){e.has(n,t)||o(t)})),i},tarjan_1}function requireFindCycles(){if(hasRequiredFindCycles)return findCycles_1;hasRequiredFindCycles=1;var e=requireLodash(),t=requireTarjan();return findCycles_1=function(r){return e.filter(t(r),(function(e){return e.length>1||1===e.length&&r.hasEdge(e[0],e[0])}))},findCycles_1}function requireFloydWarshall(){if(hasRequiredFloydWarshall)return floydWarshall_1;hasRequiredFloydWarshall=1;var e=requireLodash();floydWarshall_1=function(e,r,a){return function(e,t,r){var a={},n=e.nodes();return n.forEach((function(e){a[e]={},a[e][e]={distance:0},n.forEach((function(t){e!==t&&(a[e][t]={distance:Number.POSITIVE_INFINITY})})),r(e).forEach((function(r){var n=r.v===e?r.w:r.v,i=t(r);a[e][n]={distance:i,predecessor:e}}))})),n.forEach((function(e){var t=a[e];n.forEach((function(r){var i=a[r];n.forEach((function(r){var a=i[e],n=t[r],o=i[r],l=a.distance+n.distance;l0;){if(i=s.removeMin(),e.has(l,i))o.setEdge(i,l[i]);else{if(u)throw new Error("Input graph is not connected: "+a);u=!0}a.nodeEdges(i).forEach(c)}return o},prim_1}function requireAlg(){return hasRequiredAlg?alg:(hasRequiredAlg=1,alg={components:requireComponents(),dijkstra:requireDijkstra(),dijkstraAll:requireDijkstraAll(),findCycles:requireFindCycles(),floydWarshall:requireFloydWarshall(),isAcyclic:requireIsAcyclic(),postorder:requirePostorder(),preorder:requirePreorder(),prim:requirePrim(),tarjan:requireTarjan(),topsort:requireTopsort()})}function requireGraphlib(){if(hasRequiredGraphlib)return graphlib$1;hasRequiredGraphlib=1;var e=requireLib();return graphlib$1={Graph:e.Graph,json:requireJson(),alg:requireAlg(),version:e.version}}if("function"==typeof commonjsRequire)try{graphlib=requireGraphlib()}catch(e){}graphlib||(graphlib=window.graphlib);var graphlib_1=graphlib,cloneDeep_1,hasRequiredCloneDeep;function requireCloneDeep(){if(hasRequiredCloneDeep)return cloneDeep_1;hasRequiredCloneDeep=1;var e=require_baseClone();return cloneDeep_1=function(t){return e(t,5)}}var eq$1=eq_1,isArrayLike$1=isArrayLike_1,isIndex=_isIndex,isObject$9=isObject_1;function isIterateeCall$1(e,t,r){if(!isObject$9(r))return!1;var a=typeof t;return!!("number"==a?isArrayLike$1(r)&&isIndex(t,r.length):"string"==a&&t in r)&&eq$1(r[t],e)}var _isIterateeCall=isIterateeCall$1,defaults_1,hasRequiredDefaults;function requireDefaults(){if(hasRequiredDefaults)return defaults_1;hasRequiredDefaults=1;var e=_baseRest,t=eq_1,r=_isIterateeCall,a=keysIn_1,n=Object.prototype,i=n.hasOwnProperty,o=e((function(e,o){e=Object(e);var l=-1,s=o.length,c=s>2?o[2]:void 0;for(c&&r(o[0],o[1],c)&&(s=1);++l-1?n[i?t[o]:o]:void 0}}var _createFind=createFind$1,toNumber$2=toNumber_1,INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite$1(e){return e?(e=toNumber$2(e))===INFINITY||e===-INFINITY?(e<0?-1:1)*MAX_INTEGER:e==e?e:0:0===e?e:0}var toFinite_1=toFinite$1,toFinite=toFinite_1;function toInteger$2(e){var t=toFinite(e),r=t%1;return t==t?r?t-r:t:0}var toInteger_1=toInteger$2,baseFindIndex=_baseFindIndex,baseIteratee$5=_baseIteratee,toInteger$1=toInteger_1,nativeMax=Math.max;function findIndex$2(e,t,r){var a=null==e?0:e.length;if(!a)return-1;var n=null==r?0:toInteger$1(r);return n<0&&(n=nativeMax(a+n,0)),baseFindIndex(e,baseIteratee$5(t),n)}var findIndex_1=findIndex$2,createFind=_createFind,findIndex$1=findIndex_1,find$1=createFind(findIndex$1),find_1=find$1,flatten_1,hasRequiredFlatten,forIn_1,hasRequiredForIn;function requireFlatten(){if(hasRequiredFlatten)return flatten_1;hasRequiredFlatten=1;var e=_baseFlatten;return flatten_1=function(t){return(null==t?0:t.length)?e(t,1):[]},flatten_1}function requireForIn(){if(hasRequiredForIn)return forIn_1;hasRequiredForIn=1;var e=_baseFor,t=require_castFunction(),r=keysIn_1;return forIn_1=function(a,n){return null==a?a:e(a,t(n),r)},forIn_1}var baseAssignValue$2=_baseAssignValue,baseForOwn=_baseForOwn,baseIteratee$4=_baseIteratee;function mapValues(e,t){var r={};return t=baseIteratee$4(t),baseForOwn(e,(function(e,a,n){baseAssignValue$2(r,a,t(e,a,n))})),r}var mapValues_1=mapValues,isSymbol=isSymbol_1;function baseExtremum$1(e,t,r){for(var a=-1,n=e.length;++at}var _baseGt=baseGt$1,max_1,hasRequiredMax;function requireMax(){if(hasRequiredMax)return max_1;hasRequiredMax=1;var e=_baseExtremum,t=_baseGt,r=identity_1;return max_1=function(a){return a&&a.length?e(a,r,t):void 0},max_1}var baseAssignValue$1=_baseAssignValue,eq=eq_1;function assignMergeValue$2(e,t,r){(void 0!==r&&!eq(e[t],r)||void 0===r&&!(t in e))&&baseAssignValue$1(e,t,r)}var _assignMergeValue=assignMergeValue$2,baseGetTag=_baseGetTag,getPrototype=_getPrototype,isObjectLike=isObjectLike_1,objectTag="[object Object]",funcProto=Function.prototype,objectProto$1=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$2=objectProto$1.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$2(e){if(!isObjectLike(e)||baseGetTag(e)!=objectTag)return!1;var t=getPrototype(e);if(null===t)return!0;var r=hasOwnProperty$2.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&funcToString.call(r)==objectCtorString}var isPlainObject_1=isPlainObject$2;function safeGet$2(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var _safeGet=safeGet$2,copyObject=_copyObject,keysIn$1=keysIn_1;function toPlainObject$1(e){return copyObject(e,keysIn$1(e))}var toPlainObject_1=toPlainObject$1,assignMergeValue$1=_assignMergeValue,cloneBuffer=_cloneBufferExports,cloneTypedArray=_cloneTypedArray,copyArray=_copyArray,initCloneObject=_initCloneObject,isArguments$1=isArguments_1,isArray$2=isArray_1,isArrayLikeObject=isArrayLikeObject_1,isBuffer$1=isBufferExports,isFunction$4=isFunction_1,isObject$8=isObject_1,isPlainObject$1=isPlainObject_1,isTypedArray=isTypedArray_1,safeGet$1=_safeGet,toPlainObject=toPlainObject_1;function baseMergeDeep$1(e,t,r,a,n,i,o){var l=safeGet$1(e,r),s=safeGet$1(t,r),c=o.get(s);if(c)assignMergeValue$1(e,r,c);else{var u=i?i(l,s,r+"",e,t,o):void 0,f=void 0===u;if(f){var A=isArray$2(s),d=!A&&isBuffer$1(s),p=!A&&!d&&isTypedArray(s);u=s,A||d||p?isArray$2(l)?u=l:isArrayLikeObject(l)?u=copyArray(l):d?(f=!1,u=cloneBuffer(s,!0)):p?(f=!1,u=cloneTypedArray(s,!0)):u=[]:isPlainObject$1(s)||isArguments$1(s)?(u=l,isArguments$1(l)?u=toPlainObject(l):isObject$8(l)&&!isFunction$4(l)||(u=initCloneObject(s))):f=!1}f&&(o.set(s,u),n(u,s,a,i,o),o.delete(s)),assignMergeValue$1(e,r,u)}}var _baseMergeDeep=baseMergeDeep$1,Stack=_Stack,assignMergeValue=_assignMergeValue,baseFor=_baseFor,baseMergeDeep=_baseMergeDeep,isObject$7=isObject_1,keysIn=keysIn_1,safeGet=_safeGet;function baseMerge$1(e,t,r,a,n){e!==t&&baseFor(t,(function(i,o){if(n||(n=new Stack),isObject$7(i))baseMergeDeep(e,t,o,r,baseMerge$1,a,n);else{var l=a?a(safeGet(e,o),i,o+"",e,t,n):void 0;void 0===l&&(l=i),assignMergeValue(e,o,l)}}),keysIn)}var _baseMerge=baseMerge$1,baseRest=_baseRest,isIterateeCall=_isIterateeCall;function createAssigner$1(e){return baseRest((function(t,r){var a=-1,n=r.length,i=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(n--,i):void 0,o&&isIterateeCall(r[0],r[1],o)&&(i=n<3?void 0:i,n=1),t=Object(t);++ar||o&&l&&c&&!s&&!u||n&&l&&c||!a&&c||!i)return 1;if(!n&&!o&&!u&&t=s?c:c*("desc"==a[n]?-1:1)}return t.index-r.index},_compareMultiple}function require_baseOrderBy(){if(hasRequired_baseOrderBy)return _baseOrderBy;hasRequired_baseOrderBy=1;var e=_arrayMap,t=_baseGet,r=_baseIteratee,a=_baseMap,n=require_baseSortBy(),i=_baseUnary,o=require_compareMultiple(),l=identity_1,s=isArray_1;return _baseOrderBy=function(c,u,f){u=u.length?e(u,(function(e){return s(e)?function(r){return t(r,1===e.length?e[0]:e)}:e})):[l];var A=-1;u=e(u,i(r));var d=a(c,(function(t,r,a){return{criteria:e(u,(function(e){return e(t)})),index:++A,value:t}}));return n(d,(function(e,t){return o(e,t,f)}))},_baseOrderBy}function requireSortBy(){if(hasRequiredSortBy)return sortBy_1;hasRequiredSortBy=1;var e=_baseFlatten,t=require_baseOrderBy(),r=_isIterateeCall,a=_baseRest((function(a,n){if(null==a)return[];var i=n.length;return i>1&&r(a,n[0],n[1])?n=[]:i>2&&r(n[0],n[1],n[2])&&(n=[n[0]]),t(a,e(n,1),[])}));return sortBy_1=a}function requireUniqueId(){if(hasRequiredUniqueId)return uniqueId_1;hasRequiredUniqueId=1;var e=toString_1,t=0;return uniqueId_1=function(r){var a=++t;return e(r)+a},uniqueId_1}function require_baseZipObject(){if(hasRequired_baseZipObject)return _baseZipObject;return hasRequired_baseZipObject=1,_baseZipObject=function(e,t,r){for(var a=-1,n=e.length,i=t.length,o={};++a0;--l)if(a=t[l].dequeue()){n=n.concat(removeNode(e,t,r,a,!0));break}}return n}function removeNode(e,t,r,a,n){var i=n?[]:void 0;return _$o.forEach(e.inEdges(a.v),(function(a){var o=e.edge(a),l=e.node(a.v);n&&i.push({v:a.v,w:a.w}),l.out-=o,assignBucket(t,r,l)})),_$o.forEach(e.outEdges(a.v),(function(a){var n=e.edge(a),i=a.w,o=e.node(i);o.in-=n,assignBucket(t,r,o)})),e.removeNode(a.v),i}function buildState(e,t){var r=new Graph$8,a=0,n=0;_$o.forEach(e.nodes(),(function(e){r.setNode(e,{v:e,in:0,out:0})})),_$o.forEach(e.edges(),(function(e){var i=r.edge(e.v,e.w)||0,o=t(e),l=i+o;r.setEdge(e.v,e.w,l),n=Math.max(n,r.node(e.v).out+=o),a=Math.max(a,r.node(e.w).in+=o)}));var i=_$o.range(n+a+3).map((function(){return new List$5})),o=a+1;return _$o.forEach(r.nodes(),(function(e){assignBucket(i,o,r.node(e))})),{graph:r,buckets:i,zeroIdx:o}}function assignBucket(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var _$n=lodash_1,greedyFAS=greedyFas,acyclic$1={run:run$3,undo:undo$2};function run$3(e){var t="greedy"===e.graph().acyclicer?greedyFAS(e,function(e){return function(t){return e.edge(t).weight}}(e)):dfsFAS(e);_$n.forEach(t,(function(t){var r=e.edge(t);e.removeEdge(t),r.forwardName=t.name,r.reversed=!0,e.setEdge(t.w,t.v,r,_$n.uniqueId("rev"))}))}function dfsFAS(e){var t=[],r={},a={};return _$n.forEach(e.nodes(),(function n(i){_$n.has(a,i)||(a[i]=!0,r[i]=!0,_$n.forEach(e.outEdges(i),(function(e){_$n.has(r,e.w)?t.push(e):n(e.w)})),delete r[i])})),t}function undo$2(e){_$n.forEach(e.edges(),(function(t){var r=e.edge(t);if(r.reversed){e.removeEdge(t);var a=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,a)}}))}var _$m=lodash_1,Graph$7=graphlib_1.Graph,util$h={addDummyNode:addDummyNode,simplify:simplify$1,asNonCompoundGraph:asNonCompoundGraph,successorWeights:successorWeights,predecessorWeights:predecessorWeights,intersectRect:intersectRect,buildLayerMatrix:buildLayerMatrix,normalizeRanks:normalizeRanks$1,removeEmptyRanks:removeEmptyRanks$1,addBorderNode:addBorderNode$1,maxRank:maxRank,partition:partition$1,time:time,notime:notime};function addDummyNode(e,t,r,a){var n;do{n=_$m.uniqueId(a)}while(e.hasNode(n));return r.dummy=t,e.setNode(n,r),n}function simplify$1(e){var t=(new Graph$7).setGraph(e.graph());return _$m.forEach(e.nodes(),(function(r){t.setNode(r,e.node(r))})),_$m.forEach(e.edges(),(function(r){var a=t.edge(r.v,r.w)||{weight:0,minlen:1},n=e.edge(r);t.setEdge(r.v,r.w,{weight:a.weight+n.weight,minlen:Math.max(a.minlen,n.minlen)})})),t}function asNonCompoundGraph(e){var t=new Graph$7({multigraph:e.isMultigraph()}).setGraph(e.graph());return _$m.forEach(e.nodes(),(function(r){e.children(r).length||t.setNode(r,e.node(r))})),_$m.forEach(e.edges(),(function(r){t.setEdge(r,e.edge(r))})),t}function successorWeights(e){var t=_$m.map(e.nodes(),(function(t){var r={};return _$m.forEach(e.outEdges(t),(function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight})),r}));return _$m.zipObject(e.nodes(),t)}function predecessorWeights(e){var t=_$m.map(e.nodes(),(function(t){var r={};return _$m.forEach(e.inEdges(t),(function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight})),r}));return _$m.zipObject(e.nodes(),t)}function intersectRect(e,t){var r,a,n=e.x,i=e.y,o=t.x-n,l=t.y-i,s=e.width/2,c=e.height/2;if(!o&&!l)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(l)*s>Math.abs(o)*c?(l<0&&(c=-c),r=c*o/l,a=c):(o<0&&(s=-s),r=s,a=s*l/o),{x:n+r,y:i+a}}function buildLayerMatrix(e){var t=_$m.map(_$m.range(maxRank(e)+1),(function(){return[]}));return _$m.forEach(e.nodes(),(function(r){var a=e.node(r),n=a.rank;_$m.isUndefined(n)||(t[n][a.order]=r)})),t}function normalizeRanks$1(e){var t=_$m.min(_$m.map(e.nodes(),(function(t){return e.node(t).rank})));_$m.forEach(e.nodes(),(function(r){var a=e.node(r);_$m.has(a,"rank")&&(a.rank-=t)}))}function removeEmptyRanks$1(e){var t=_$m.min(_$m.map(e.nodes(),(function(t){return e.node(t).rank}))),r=[];_$m.forEach(e.nodes(),(function(a){var n=e.node(a).rank-t;r[n]||(r[n]=[]),r[n].push(a)}));var a=0,n=e.graph().nodeRankFactor;_$m.forEach(r,(function(t,r){_$m.isUndefined(t)&&r%n!=0?--a:a&&_$m.forEach(t,(function(t){e.node(t).rank+=a}))}))}function addBorderNode$1(e,t,r,a){var n={width:0,height:0};return arguments.length>=4&&(n.rank=r,n.order=a),addDummyNode(e,"border",n,t)}function maxRank(e){return _$m.max(_$m.map(e.nodes(),(function(t){var r=e.node(t).rank;if(!_$m.isUndefined(r))return r})))}function partition$1(e,t){var r={lhs:[],rhs:[]};return _$m.forEach(e,(function(e){t(e)?r.lhs.push(e):r.rhs.push(e)})),r}function time(e,t){var r=_$m.now();try{return t()}finally{console.log(e+" time: "+(_$m.now()-r)+"ms")}}function notime(e,t){return t()}var _$l=lodash_1,util$g=util$h,normalize$1={run:run$2,undo:undo$1};function run$2(e){e.graph().dummyChains=[],_$l.forEach(e.edges(),(function(t){normalizeEdge(e,t)}))}function normalizeEdge(e,t){var r=t.v,a=e.node(r).rank,n=t.w,i=e.node(n).rank,o=t.name,l=e.edge(t),s=l.labelRank;if(i!==a+1){var c,u,f;for(e.removeEdge(t),f=0,++a;ao.lim&&(l=o,s=!0);var c=_$i.filter(t.edges(),(function(t){return s===isDescendant(e,e.node(t.v),l)&&s!==isDescendant(e,e.node(t.w),l)}));return _$i.minBy(c,(function(e){return slack(t,e)}))}function exchangeEdges(e,t,r,a){var n=r.v,i=r.w;e.removeEdge(n,i),e.setEdge(a.v,a.w,{}),initLowLimValues(e),initCutValues(e,t),updateRanks(e,t)}function updateRanks(e,t){var r=_$i.find(e.nodes(),(function(e){return!t.node(e).parent})),a=preorder(e,r);a=a.slice(1),_$i.forEach(a,(function(r){var a=e.node(r).parent,n=t.edge(r,a),i=!1;n||(n=t.edge(a,r),i=!0),t.node(r).rank=t.node(a).rank+(i?n.minlen:-n.minlen)}))}function isTreeEdge(e,t,r){return e.hasEdge(t,r)}function isDescendant(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}networkSimplex$1.initLowLimValues=initLowLimValues,networkSimplex$1.initCutValues=initCutValues,networkSimplex$1.calcCutValue=calcCutValue,networkSimplex$1.leaveEdge=leaveEdge,networkSimplex$1.enterEdge=enterEdge,networkSimplex$1.exchangeEdges=exchangeEdges;var rankUtil=util$f,longestPath=rankUtil.longestPath,feasibleTree=feasibleTree_1,networkSimplex=networkSimplex_1,rank_1=rank$1;function rank$1(e){switch(e.graph().ranker){case"network-simplex":default:networkSimplexRanker(e);break;case"tight-tree":tightTreeRanker(e);break;case"longest-path":longestPathRanker(e)}}var longestPathRanker=longestPath;function tightTreeRanker(e){longestPath(e),feasibleTree(e)}function networkSimplexRanker(e){networkSimplex(e)}var _$h=lodash_1,parentDummyChains_1=parentDummyChains$1;function parentDummyChains$1(e){var t=postorder(e);_$h.forEach(e.graph().dummyChains,(function(r){for(var a=e.node(r),n=a.edgeObj,i=findPath(e,t,n.v,n.w),o=i.path,l=i.lca,s=0,c=o[s],u=!0;r!==n.w;){if(a=e.node(r),u){for(;(c=o[s])!==l&&e.node(c).maxRanks||c>t[n].lim));for(i=n,n=a;(n=e.parent(n))!==i;)l.push(n);return{path:o.concat(l.reverse()),lca:i}}function postorder(e){var t={},r=0;return _$h.forEach(e.children(),(function a(n){var i=r;_$h.forEach(e.children(n),a),t[n]={low:i,lim:r++}})),t}var _$g=lodash_1,util$e=util$h,nestingGraph$1={run:run$1,cleanup:cleanup};function run$1(e){var t=util$e.addDummyNode(e,"root",{},"_root"),r=treeDepths(e),a=_$g.max(_$g.values(r))-1,n=2*a+1;e.graph().nestingRoot=t,_$g.forEach(e.edges(),(function(t){e.edge(t).minlen*=n}));var i=sumWeights(e)+1;_$g.forEach(e.children(),(function(o){dfs(e,t,n,i,a,r,o)})),e.graph().nodeRankFactor=n}function dfs(e,t,r,a,n,i,o){var l=e.children(o);if(l.length){var s=util$e.addBorderNode(e,"_bt"),c=util$e.addBorderNode(e,"_bb"),u=e.node(o);e.setParent(s,o),u.borderTop=s,e.setParent(c,o),u.borderBottom=c,_$g.forEach(l,(function(l){dfs(e,t,r,a,n,i,l);var u=e.node(l),f=u.borderTop?u.borderTop:l,A=u.borderBottom?u.borderBottom:l,d=u.borderTop?a:2*a,p=f!==A?1:n-i[o]+1;e.setEdge(s,f,{weight:d,minlen:p,nestingEdge:!0}),e.setEdge(A,c,{weight:d,minlen:p,nestingEdge:!0})})),e.parent(o)||e.setEdge(t,s,{weight:0,minlen:n+i[o]})}else o!==t&&e.setEdge(t,o,{weight:0,minlen:r})}function treeDepths(e){var t={};function r(a,n){var i=e.children(a);i&&i.length&&_$g.forEach(i,(function(e){r(e,n+1)})),t[a]=n}return _$g.forEach(e.children(),(function(e){r(e,1)})),t}function sumWeights(e){return _$g.reduce(e.edges(),(function(t,r){return t+e.edge(r).weight}),0)}function cleanup(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,_$g.forEach(e.edges(),(function(t){e.edge(t).nestingEdge&&e.removeEdge(t)}))}var _$f=lodash_1,util$d=util$h,addBorderSegments_1=addBorderSegments$1;function addBorderSegments$1(e){_$f.forEach(e.children(),(function t(r){var a=e.children(r),n=e.node(r);if(a.length&&_$f.forEach(a,t),_$f.has(n,"minRank")){n.borderLeft=[],n.borderRight=[];for(var i=n.minRank,o=n.maxRank+1;i0;)t%2&&(r+=l[t+1]),l[t=t-1>>1]+=e.weight;s+=e.weight*r}))),s}var _$b=lodash_1,barycenter_1=barycenter$1;function barycenter$1(e,t){return _$b.map(t,(function(t){var r=e.inEdges(t);if(r.length){var a=_$b.reduce(r,(function(t,r){var a=e.edge(r),n=e.node(r.v);return{sum:t.sum+a.weight*n.order,weight:t.weight+a.weight}}),{sum:0,weight:0});return{v:t,barycenter:a.sum/a.weight,weight:a.weight}}return{v:t}}))}var _$a=lodash_1,resolveConflicts_1=resolveConflicts$1;function resolveConflicts$1(e,t){var r={};return _$a.forEach(e,(function(e,t){var a=r[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};_$a.isUndefined(e.barycenter)||(a.barycenter=e.barycenter,a.weight=e.weight)})),_$a.forEach(t.edges(),(function(e){var t=r[e.v],a=r[e.w];_$a.isUndefined(t)||_$a.isUndefined(a)||(a.indegree++,t.out.push(r[e.w]))})),doResolveConflicts(_$a.filter(r,(function(e){return!e.indegree})))}function doResolveConflicts(e){var t=[];function r(e){return function(t){t.merged||(_$a.isUndefined(t.barycenter)||_$a.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&mergeEntries(e,t)}}function a(t){return function(r){r.in.push(t),0==--r.indegree&&e.push(r)}}for(;e.length;){var n=e.pop();t.push(n),_$a.forEach(n.in.reverse(),r(n)),_$a.forEach(n.out,a(n))}return _$a.map(_$a.filter(t,(function(e){return!e.merged})),(function(e){return _$a.pick(e,["vs","i","barycenter","weight"])}))}function mergeEntries(e,t){var r=0,a=0;e.weight&&(r+=e.barycenter*e.weight,a+=e.weight),t.weight&&(r+=t.barycenter*t.weight,a+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/a,e.weight=a,e.i=Math.min(t.i,e.i),t.merged=!0}var _$9=lodash_1,util$c=util$h,sort_1=sort$1;function sort$1(e,t){var r=util$c.partition(e,(function(e){return _$9.has(e,"barycenter")})),a=r.lhs,n=_$9.sortBy(r.rhs,(function(e){return-e.i})),i=[],o=0,l=0,s=0;a.sort(compareWithBias(!!t)),s=consumeUnsortable(i,n,s),_$9.forEach(a,(function(e){s+=e.vs.length,i.push(e.vs),o+=e.barycenter*e.weight,l+=e.weight,s=consumeUnsortable(i,n,s)}));var c={vs:_$9.flatten(i,!0)};return l&&(c.barycenter=o/l,c.weight=l),c}function consumeUnsortable(e,t,r){for(var a;t.length&&(a=_$9.last(t)).i<=r;)t.pop(),e.push(a.vs),r++;return r}function compareWithBias(e){return function(t,r){return t.barycenterr.barycenter?1:e?r.i-t.i:t.i-r.i}}var _$8=lodash_1,barycenter=barycenter_1,resolveConflicts=resolveConflicts_1,sort=sort_1,sortSubgraph_1=sortSubgraph$1;function sortSubgraph$1(e,t,r,a){var n=e.children(t),i=e.node(t),o=i?i.borderLeft:void 0,l=i?i.borderRight:void 0,s={};o&&(n=_$8.filter(n,(function(e){return e!==o&&e!==l})));var c=barycenter(e,n);_$8.forEach(c,(function(t){if(e.children(t.v).length){var n=sortSubgraph$1(e,t.v,r,a);s[t.v]=n,_$8.has(n,"barycenter")&&mergeBarycenters(t,n)}}));var u=resolveConflicts(c,r);expandSubgraphs(u,s);var f=sort(u,a);if(o&&(f.vs=_$8.flatten([o,f.vs,l],!0),e.predecessors(o).length)){var A=e.node(e.predecessors(o)[0]),d=e.node(e.predecessors(l)[0]);_$8.has(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+A.order+d.order)/(f.weight+2),f.weight+=2}return f}function expandSubgraphs(e,t){_$8.forEach(e,(function(e){e.vs=_$8.flatten(e.vs.map((function(e){return t[e]?t[e].vs:e})),!0)}))}function mergeBarycenters(e,t){_$8.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var _$7=lodash_1,Graph$5=graphlib_1.Graph,buildLayerGraph_1=buildLayerGraph$1;function buildLayerGraph$1(e,t,r){var a=createRootNode(e),n=new Graph$5({compound:!0}).setGraph({root:a}).setDefaultNodeLabel((function(t){return e.node(t)}));return _$7.forEach(e.nodes(),(function(i){var o=e.node(i),l=e.parent(i);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(n.setNode(i),n.setParent(i,l||a),_$7.forEach(e[r](i),(function(t){var r=t.v===i?t.w:t.v,a=n.edge(r,i),o=_$7.isUndefined(a)?0:a.weight;n.setEdge(r,i,{weight:e.edge(t).weight+o})})),_$7.has(o,"minRank")&&n.setNode(i,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))})),n}function createRootNode(e){for(var t;e.hasNode(t=_$7.uniqueId("_root")););return t}var _$6=lodash_1,addSubgraphConstraints_1=addSubgraphConstraints$1;function addSubgraphConstraints$1(e,t,r){var a,n={};_$6.forEach(r,(function(r){for(var i,o,l=e.parent(r);l;){if((i=e.parent(l))?(o=n[i],n[i]=l):(o=a,a=l),o&&o!==l)return void t.setEdge(o,l);l=i}}))}var _$5=lodash_1,initOrder=initOrder_1,crossCount=crossCount_1,sortSubgraph=sortSubgraph_1,buildLayerGraph=buildLayerGraph_1,addSubgraphConstraints=addSubgraphConstraints_1,Graph$4=graphlib_1.Graph,util$b=util$h,order_1=order$1;function order$1(e){var t=util$b.maxRank(e),r=buildLayerGraphs(e,_$5.range(1,t+1),"inEdges"),a=buildLayerGraphs(e,_$5.range(t-1,-1,-1),"outEdges"),n=initOrder(e);assignOrder(e,n);for(var i,o=Number.POSITIVE_INFINITY,l=0,s=0;s<4;++l,++s){sweepLayerGraphs(l%2?r:a,l%4>=2),n=util$b.buildLayerMatrix(e);var c=crossCount(e,n);co)&&addConflict(r,t,l)}))}))}return _$4.reduce(t,(function(t,r){var n,i=-1,o=0;return _$4.forEach(r,(function(l,s){if("border"===e.node(l).dummy){var c=e.predecessors(l);c.length&&(n=e.node(c[0]).order,a(r,o,s,i,n),o=s,i=n)}a(r,o,r.length,n,t.length)})),r})),r}function findOtherInnerSegmentNode(e,t){if(e.node(t).dummy)return _$4.find(e.predecessors(t),(function(t){return e.node(t).dummy}))}function addConflict(e,t,r){if(t>r){var a=t;t=r,r=a}var n=e[t];n||(e[t]=n={}),n[r]=!0}function hasConflict(e,t,r){if(t>r){var a=t;t=r,r=a}return _$4.has(e[t],r)}function verticalAlignment(e,t,r,a){var n={},i={},o={};return _$4.forEach(t,(function(e){_$4.forEach(e,(function(e,t){n[e]=e,i[e]=e,o[e]=t}))})),_$4.forEach(t,(function(e){var t=-1;_$4.forEach(e,(function(e){var l=a(e);if(l.length){l=_$4.sortBy(l,(function(e){return o[e]}));for(var s=(l.length-1)/2,c=Math.floor(s),u=Math.ceil(s);c<=u;++c){var f=l[c];i[e]===e&&t1?t-1:0),a=1;a{0!==e.parent.trim().length&&0!==e.child.trim().length&&(t[e.parent]||(r.push({data:{id:e.parent}}),t[e.parent]=!0),t[e.child]||(r.push({data:{id:e.child}}),t[e.child]=!0),a.push({data:{source:e.parent,target:e.child,label:`${e.callCount}`}}))})),cytoscape_cjs({container:this.cytoscapeRef.current,boxSelectionEnabled:!1,autounselectify:!0,layout:{name:"dagre"},minZoom:.5,style:[{selector:"node",style:{content:"data(id)","text-opacity":.5,"text-valign":"center","text-halign":"right","background-color":"#11939A"}},{selector:"edge",style:{width:4,label:"data(label)","target-arrow-shape":"triangle","line-color":"gray","target-arrow-color":"gray","curve-style":"bezier"}}],elements:{nodes:r,edges:a}})}render(){return jsxRuntimeExports.jsx("div",{id:"cy",style:{width:"100%",height:"100%",position:"absolute",left:0,top:0},ref:this.cytoscapeRef})}}_defineProperty3(DAG,"propTypes",{serviceCalls:propTypesExports.arrayOf(propTypesExports.shape({parent:propTypesExports.string,child:propTypesExports.string,callCount:propTypesExports.number}))}),_defineProperty3(DAG,"defaultProps",{serviceCalls:[]});var reactVisForceExports={},reactVisForce={get exports(){return reactVisForceExports},set exports(e){reactVisForceExports=e}},win$1;!function(t,r){!function(e,r){t.exports=r(reactExports)}(0,(function(t){return function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={exports:{},id:a,loaded:!1};return e[a].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}return r.m=e,r.c=t,r.p="/react-vis-force/",r(0)}([function(e,t,r){r(9),e.exports=r(15)},function(e,t,r){e.exports=r(32)()},function(e,r){e.exports=t},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.asStrengthFn=f,t.nodeId=A,t.linkId=d,t.runSimulation=p,t.createSimulation=function(e){var t=(0,i.forceSimulation)();return t.strength={},h(t,e)},t.updateSimulation=h;var n,i=r(22),o=r(19),l=(n=o)&&n.__esModule?n:{default:n};function s(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t1?t-1:0),a=1;a"+(e.target.id||e.target)}function p(e){for(e.restart();e.alpha()>e.alphaMin();)e.tick();return e.stop(),e}function h(e,t){return function(e,t){c.forEach((function(r){({}).hasOwnProperty.call(t,r)&&e[r](t[r])}))}(e,t),function(e,t){var r=t.height,a=t.width;e.force("center")||e.force("center",(0,i.forceCenter)());var n=a?a/2:0;a>0&&e.force("center").x()!==n&&(e.shouldRun=!0,e.force("center").x(n));var o=r?r/2:0;r>0&&e.force("center").y()!==o&&(e.shouldRun=!0,e.force("center").y(o))}(e,t),function(e,t){var r=t.strength,a=void 0===r?{}:r;e.force("charge")||e.force("charge",(0,i.forceManyBody)()),a.charge!==e.strength.charge&&(e.strength.charge=a.charge,e.shouldRun=!0,e.force("charge").strength(f(a.charge)))}(e,t),function(e,t){var r=t.radiusMargin,a=void 0===r?3:r,n=t.strength,o=void 0===n?{}:n;e.force("collide")||e.force("collide",(0,i.forceCollide)()),e.radiusMargin!==a&&(e.radiusMargin=a,e.shouldRun=!0,e.force("collide").radius((function(e){return e.radius+a}))),o.collide!==e.strength.collide&&(e.strength.collide=o.collide,e.shouldRun=!0,e.force("collide").strength(f(o.collide)()))}(e,t),function(e,t){var r=t.data,a=r.nodes,n=r.links,o=t.linkAttrs,c=void 0===o?[]:o,f=t.nodeAttrs,p=void 0===f?[]:f;e.force("link")||e.force("link",(0,i.forceLink)().id(A));var h=new Set(e.nodes().map(A)),b=new Set(a.map(A));(0,l.default)(h,b)||(e.shouldRun=!0,e.nodes(u.apply(void 0,[a,"id","radius","fx","fy"].concat(s(p)))));var g=new Set(e.force("link").links().map(d)),m=new Set(n.map(d));(0,l.default)(g,m)||(e.shouldRun=!0,e.force("link").links(u.apply(void 0,[n,"source","target","value"].concat(s(c)))))}(e,t),function(e,t){var r=t.strength,a=void 0===r?{}:r;e.force("x")||e.force("x",(0,i.forceX)()),e.force("y")||e.force("y",(0,i.forceY)()),a.x!==e.strength.x&&(e.strength.x=a.x,e.shouldRun=!0,e.force("x").strength(f(a.x))),a.y!==e.strength.y&&(e.strength.y=a.y,e.shouldRun=!0,e.force("y").strength(f(a.y)))}(e,t),!t.animate&&e.shouldRun&&p(e),e.shouldRun=null,e}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t2?n-2:0),o=2;o0&&void 0!==arguments[0]?arguments[0]:this.props;if(!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])&&this.cachedData&&new Date>this.lastUpdated)return this.cachedData;var r=t.getDataFromChildren(e.children);return Object.assign(this,{cachedData:r,lastUpdated:new Date}),r}},{key:"bindSimulationTick",value:function(){this.simulation.on("tick",this.updateSimulation.bind(this))}},{key:"unbindSimulationTick",value:function(){this.simulation.on("tick",null),this.frame=this.frame&&u.cancelAnimationFrame(this.frame)}},{key:"updateSimulation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=this.simulation,r=e.updateSimulation,n=e.simulationOptions;this.simulation=r(t,a({},A.DEFAULT_SIMULATION_PROPS,n,{data:this.getDataFromChildren(e,!0)})),this.onSimulationTick()}},{key:"updatePositions",value:function(){this.setState({linkPositions:t.getLinkPositions(this.simulation),nodePositions:t.getNodePositions(this.simulation)})}},{key:"scale",value:function(e){return"number"==typeof e?e/this.state.scale:e}},{key:"render",value:function(){var e=this,t=this.props,r=t.children,n=t.className,l=t.labelAttr,u=t.labelOffset,d=t.showLabels,p=t.simulationOptions,h=t.zoomOptions,b=t.zoom,v=this.state,y=v.linkPositions,w=v.nodePositions,k=p.height,x=void 0===k?A.DEFAULT_SIMULATION_PROPS.height:k,E=p.width,_=void 0===E?A.DEFAULT_SIMULATION_PROPS.width:E,C=[],$=[],T=[],O=[],S=[],I=(0,s.default)(w,(function(e,t){var r=t.cx;return e>Math.abs(r)?e:Math.abs(r)}),0),M=(0,s.default)(w,(function(e,t){var r=t.cy;return e>Math.abs(r)?e:Math.abs(r)}),0);return i.Children.forEach(r,(function(t,r){if(g(t)){var n=t.props,s=n.node,f=n.showLabel,A=n.labelClass,p=n.labelStyle,h=void 0===p?{}:p,v=n.strokeWidth,k=w[c.nodeId(s)];if(C.push((0,i.cloneElement)(t,a({},k,{scale:e.state.scale,strokeWidth:e.scale(v)}))),(d||f)&&k){var x=h.fontSize,E=function(e,t){var r={};for(var a in e)t.indexOf(a)>=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(h,["fontSize"]);$.push(o.default.createElement("text",{className:"rv-force__label "+A,key:c.nodeId(s)+"-label",x:k.cx+u.x(s),y:k.cy+u.y(s),fontSize:e.scale(x),style:E},s[l]))}}else if(m(t)){var _=t.props.link,I=_.strokeWidth,M=y[c.linkId(_)];T.push((0,i.cloneElement)(t,a({},M,{strokeWidth:e.scale(I)})))}else{var B=t.props.zoomable;b&&B?O.push((0,i.cloneElement)(t,{key:t.key||"zoomable-"+r})):S.push((0,i.cloneElement)(t,{key:t.key||"static-"+r}))}})),o.default.createElement("svg",{className:"rv-force__svg "+n,width:_,height:x},o.default.createElement("g",{className:"rv-force__static-elements"},S),o.default.createElement(f.default,a({disabled:!b,height:M,width:I},h,{onZoom:function(){return e.onZoom.apply(e,arguments)},onPan:function(){return e.onPan.apply(e,arguments)}}),o.default.createElement("g",{className:"rv-force__zoomable-elements"},O),o.default.createElement("g",{className:"rv-force__links"},T),o.default.createElement("g",{className:"rv-force__nodes"},C),o.default.createElement("g",{className:"rv-force__labels"},$)))}}]),t}(i.PureComponent);t.default=y},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(e,["link","strokeWidth","className","edgeOffset"]);if("number"==typeof i){var s=l.x1,c=l.x2,u=l.y1,f=l.y2,A=s+c,d=u+f,p=i/Math.sqrt(Math.pow(A,2)+Math.pow(d,2)),h=p*A,b=p*d;s>c?(l.x1-=h,l.x2+=h):sf?(l.y1-=b,l.y2+=b):u1024){for(var t=0,r=n.length-i;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(e,["link","targetRadius"]),i="arrow-"+(0,c.linkId)(t);return o.default.createElement("g",null,o.default.createElement("defs",null,o.default.createElement("marker",{id:i,markerWidth:3*r+1,markerHeight:3*r+1,refX:3*r+1,refY:r,orient:"auto",markerUnits:"strokeWidth"},r>0&&o.default.createElement("path",{d:"M0,0 L0,"+2*r+" L"+3*r+","+r+" z",fill:n.stroke||n.color}))),o.default.createElement(u.default,a({},this.props,{edgeOffset:r,markerEnd:"url(#"+i+")"})))}}],[{key:"propTypes",get:function(){return{link:s.default.isRequired,targetRadius:l.default.number}}},{key:"defaultProps",get:function(){return{className:"",opacity:.6,stroke:"#999",targetRadius:2,strokeWidth:1}}}]),t}(i.PureComponent);t.default=A},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(e,["node","className","r","labelStyle","labelClass","showLabel"]),l=t.radius,s=void 0===l?5:l;return o.default.createElement("circle",a({className:"rv-force__node "+r,r:n||s},i))}}],[{key:"propTypes",get:function(){return{node:s.default.isRequired,cx:l.default.number,cy:l.default.number,r:l.default.number,className:l.default.string,labelStyle:l.default.object,labelClass:l.default.string,showLabel:l.default.bool}}},{key:"defaultProps",get:function(){return{className:"",fill:"#333",opacity:1,stroke:"#FFF",strokeWidth:1.5}}}]),t}(i.PureComponent);t.default=u},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(t,["highlightDependencies","opacityFactor","children","className","selectedNode"]),p=this.state,h=p.hoveredNode,b=p.selectedNode,g=u.default.getDataFromChildren(l).links,m=A||b,v=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1)/n},y=function(t,r,a){return function(n){e[t](n,r),a&&a(n)}},w=function(e,t){return e&&((0,f.nodeId)(e)===(0,f.nodeId)(t)||m&&(0,f.nodeId)(m)===(0,f.nodeId)(t)||r&&(n=m||e,(a=t)&&n&&g.findIndex((function(e){return e.value>0&&(e.source===(0,f.nodeId)(a)&&e.target===(0,f.nodeId)(n)||e.source===(0,f.nodeId)(n)&&e.target===(0,f.nodeId)(a))}))>-1));var a,n},k=function(e,t){return e&&r&&t.value>0&&((0,f.nodeId)(e)===t.source||(0,f.nodeId)(e)===t.target)};return o.default.createElement(u.default,a({className:"rv-force__interactive "+s},d),i.Children.map(l,(function(e){if((0,c.isNode)(e)){var t=e.props,n=t.node,o=t.labelStyle,l=t.fontSize,s=void 0===l?function(e){return m&&(0,f.nodeId)(e)===(0,f.nodeId)(m)?14:10}(n):l,u=t.fontWeight,A=void 0===u?function(e){return m&&(0,f.nodeId)(e)===(0,f.nodeId)(m)?700:null}(n):u,d=t.showLabel,p=void 0===d?function(e){return w(m,e)||w(h,e)}(n):d,b=t.onMouseEnter,g=t.onMouseLeave,x=t.onClick,E=e.props.opacity;return E=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return r&&m&&!w(m,e)&&!w(h,e)?v(t/4):m&&!w(m,e)&&!w(h,e)||h&&!w(h,e)?v(t):t}(n,E),(0,i.cloneElement)(e,{showLabel:p,opacity:E,labelStyle:a({fontSize:s,fontWeight:A,opacity:E},o),onMouseEnter:y("onHoverNode",n,b),onMouseLeave:y("onBlurNode",n,g),onClick:y("onClickNode",n,x)})}if((0,c.isLink)(e)){var _=e.props.link,C=e.props.opacity;return C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return(r?!m&&h&&!k(h,e)||m&&!k(m,e):h||m)?v(t/4):h&&!k(h,e)&&m&&!k(m,e)?v(t):t}(_,C),(0,i.cloneElement)(e,{opacity:C})}return e})))}}]),t}(i.PureComponent);t.default=h},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.ZOOMABLE_SVG_GROUP_EVENT_NAMES=void 0;var a=Object.assign||function(e){for(var t=1;t=2?{clientX:(e.touches[0].clientX+e.touches[1].clientX)/2,clientY:(e.touches[0].clientY+e.touches[1].clientY)/2}:e.touches[0]}},{key:"propTypes",get:function(){return a({width:l.default.number.isRequired,height:l.default.number.isRequired,disabled:l.default.bool,zoomSpeed:l.default.number,minScale:l.default.number,maxScale:l.default.number,panLimit:l.default.number,onZoom:l.default.func,onPan:l.default.func},u.reduce((function(e,t){return a({},e,c({},t,l.default.func))}),{}))}},{key:"defaultProps",get:function(){return a({disabled:!1,zoomSpeed:.065,panLimit:.75,minScale:0,maxScale:1/0,onZoom:function(){},onPan:function(){}},u.reduce((function(e,t){return a({},e,c({},t,(function(){})))}),{}))}}]),n(t,[{key:"componentDidMount",value:function(){this.setInitialMatrix()}},{key:"onMouseDown",value:function(e){return this.state.touching?(e.stopPropagation(),null):0!==e.button?null:this.setState({dragging:!0,dragX:e.clientX,dragY:e.clientY})}},{key:"onMouseMove",value:function(e){return this.state.touching?(e.stopPropagation(),null):this.state.dragging?this.panBy(e.clientX,e.clientY):e}},{key:"onMouseUp",value:function(e){return this.state.touching?(e.stopPropagation(),null):this.setState({dragging:!1,dragX:null,dragY:null})}},{key:"onTouchCancel",value:function(){this.setState({touching:!1,dragging:!1,pinchLength:null,dragX:null,dragY:null})}},{key:"onTouchEnd",value:function(){this.onTouchCancel()}},{key:"onTouchMove",value:function(e){if(e.preventDefault(),e.touches.length>=2){var r=e.touches[0],a=e.touches[1],n=t.getPinchZoomLength(r,a),i=this.state.pinchLength,o=0;ni&&(o=-1);var l=t.getTouchClientValues(e),s=l.clientX,c=l.clientY,u=this.getScaleMultiplier(o);this.zoomTo(s,c,u,e),this.setState({pinchLength:n})}else this.panBy(e.touches[0].clientX,e.touches[0].clientY)}},{key:"onTouchStart",value:function(e){var r=t.getTouchClientValues(e),a=r.clientX,n=r.clientY;this.setState({touching:!0,pinchLength:0,dragX:a,dragY:n})}},{key:"onWheel",value:function(e){var t=e.clientX,r=e.clientY,a=e.deltaY,n=this.getScaleMultiplier(a);1!==n&&(e.preventDefault(),this.zoomTo(t,r,n,e))}},{key:"setInitialMatrix",value:function(){var e=this.el.ownerSVGElement.createSVGTransform();this.setState({scale:1,matrix:[e.matrix.a,e.matrix.b,e.matrix.c,e.matrix.d,e.matrix.e,e.matrix.f]})}},{key:"getScaleMultiplier",value:function(e){var t=this.props.zoomSpeed;return e>0?1-t:e<0?1+t:1}},{key:"zoomTo",value:function(e,t,r,a){var n=this,i=this.state.matrix,o=this.state.scale*r,l=this.el.ownerSVGElement.getScreenCTM(),s=e*l.a-l.e,c=t*l.d-l.f;o>this.props.maxScale||oi*l||Math.abs(b/A)>o*l||this.setState({dragX:e,dragY:t,matrix:[c[0],c[1],c[2],c[3],h,b]},(function(){return a.props.onPan(r,h,b)}))}},{key:"render",value:function(){var e=this,r=this.props,n=r.width,i=r.height,l=r.children,s=r.disabled,f=r.style,A=void 0===f?{}:f,d=r.transform,p=void 0===d?"":d;r.canvasHeight,r.canvasWidth,r.minScale,r.maxScale,r.panLimit,r.onZoom,r.onPan,r.zoomSpeed;var h=function(e,t){var r={};for(var a in e)t.indexOf(a)>=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(r,["width","height","children","disabled","style","transform","canvasHeight","canvasWidth","minScale","maxScale","panLimit","onZoom","onPan","zoomSpeed"]),b=this.state,g=b.matrix,m=b.scale,v={transform:p};return!s&&t.isValidMatrix(g)&&Object.assign(v,a({},u.reduce((function(t,r){return a({},t,c({},r,function(t){return function(){var r;e[t].apply(e,arguments),(r=e.props)[t].apply(r,arguments)}}(r)))}),{}),{style:Object.assign({},A,{transformOrigin:"0 0 0",cursor:"default",pointerEvents:"all"}),transform:"matrix("+g.join(" ")+") "+p})),o.default.createElement("g",a({ref:function(t){e.el=t}},h,v),o.default.createElement("rect",{x:-1*g[4],y:-1*g[5],transform:"scale("+1/m+")",fillOpacity:0,height:i,width:n}),l)}}]),t}(i.PureComponent);t.default=f},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a=r(3);Object.defineProperty(t,"createSimulation",{enumerable:!0,get:function(){return a.createSimulation}}),Object.defineProperty(t,"updateSimulation",{enumerable:!0,get:function(){return a.updateSimulation}});var n=r(4);Object.defineProperty(t,"ForceGraph",{enumerable:!0,get:function(){return c(n).default}});var i=r(5);Object.defineProperty(t,"ForceGraphLink",{enumerable:!0,get:function(){return c(i).default}});var o=r(11);Object.defineProperty(t,"ForceGraphArrowLink",{enumerable:!0,get:function(){return c(o).default}});var l=r(12);Object.defineProperty(t,"ForceGraphNode",{enumerable:!0,get:function(){return c(l).default}});var s=r(13);function c(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"InteractiveForceGraph",{enumerable:!0,get:function(){return c(s).default}})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var a,n=r(1),i=(a=n)&&a.__esModule?a:{default:a};t.default=i.default.shape({id:i.default.string.isRequired,radius:i.default.number})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_SIMULATION_PROPS=void 0;var a,n=r(1),i=(a=n)&&a.__esModule?a:{default:a};t.DEFAULT_SIMULATION_PROPS={animate:!1,width:900,height:600,strength:{}},t.default=i.default.shape({data:i.default.object,animate:i.default.bool,alpha:i.default.number,alphaDecay:i.default.number,alphaMin:i.default.number,alphaTarget:i.default.number,velocityDecay:i.default.number,radiusMargin:i.default.number,linkAttrs:i.default.array,nodeAttrs:i.default.array,strength:i.default.objectOf(i.default.oneOfType([i.default.func,i.default.number]))})},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.cancelAnimationFrame=t.requestAnimationFrame=void 0;var a=r(7);t.requestAnimationFrame=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n=n.length)return null!=t?t(r):null!=e?r.sort(e):r;for(var s,c,f,A=-1,d=r.length,p=n[i++],h=a(),b=o();++An.length)return e;var a,i=c[r-1];return null!=t&&r>=n.length?a=e.entries():(a=[],e.each((function(e,t){a.push({key:t,values:f(e,r)})}))),null!=i?a.sort((function(e,t){return i(e.key,t.key)})):a}return r={object:function(e){return u(e,0,i,o)},map:function(e){return u(e,0,l,s)},entries:function(e){return f(u(e,0,l,s),0)},key:function(e){return n.push(e),r},sortKeys:function(e){return c[n.length-1]=e,r},sortValues:function(t){return e=t,r},rollup:function(e){return t=e,r}}};function i(){return{}}function o(e,t,r){e[t]=r}function l(){return a()}function s(e,t,r){e.set(t,r)}function c(){}var u=a.prototype;function f(e,t){var r=new c;if(e instanceof c)e.each((function(e){r.add(e)}));else if(e){var a=-1,n=e.length;if(null==t)for(;++a=0&&(r=e.slice(a+1),e=e.slice(0,a)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}}))}function i(e,t){for(var r,a=0,n=e.length;a0)for(var r,a,n=new Array(r),i=0;iA+c||ad+c||iu.index){var f=A-o.x-o.vx,b=d-o.y-o.vy,g=f*f+b*b;ge.r&&(e.r=e[t].r)}function A(){if(r){var t,n,i=r.length;for(a=new Array(i),t=0;t1?(null==r?u.remove(e):u.set(e,m(r)),t):u.get(e)},find:function(t,r,a){var n,i,o,l,s,c=0,u=e.length;for(null==a?a=1/0:a*=a,c=0;c1?(A.on(e,r),t):A.on(e)}}},v=function(){var e,r,a,n,i=o(-30),s=1,c=1/0,u=.81;function f(n){var i,o=e.length,l=t.quadtree(e,p,h).visitAfter(d);for(a=n,i=0;i=c)){(e.data!==r||e.next)&&(0===f&&(p+=(f=l())*f),0===A&&(p+=(A=l())*A),p=(i=(h+g)/2))?h=i:g=i,(u=r>=(o=(b+m)/2))?b=o:m=o,n=d,!(d=d[f=u<<1|c]))return n[f]=p,e;if(l=+e._x.call(null,d.data),s=+e._y.call(null,d.data),t===l&&r===s)return p.next=d,n?n[f]=p:e._root=p,e;do{n=n?n[f]=new Array(4):e._root=new Array(4),(c=t>=(i=(h+g)/2))?h=i:g=i,(u=r>=(o=(b+m)/2))?b=o:m=o}while((f=u<<1|c)==(A=(s>=o)<<1|l>=i));return n[A]=d,n[f]=p,e}function a(e){var t,a,n,i,o=e.length,l=new Array(o),s=new Array(o),c=1/0,u=1/0,f=-1/0,A=-1/0;for(a=0;af&&(f=n),iA&&(A=i));for(fe||e>n||a>t||t>i))return this;var o,l,s=n-r,c=this._root;switch(l=(t<(a+i)/2)<<1|e<(r+n)/2){case 0:do{(o=new Array(4))[l]=c,c=o}while(i=a+(s*=2),e>(n=r+s)||t>i);break;case 1:do{(o=new Array(4))[l]=c,c=o}while(i=a+(s*=2),(r=n-s)>e||t>i);break;case 2:do{(o=new Array(4))[l]=c,c=o}while(a=i-(s*=2),e>(n=r+s)||a>t);break;case 3:do{(o=new Array(4))[l]=c,c=o}while(a=i-(s*=2),(r=n-s)>e||a>t)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=a,this._x1=n,this._y1=i,this},i=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},o=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l=function(e,t,r,a,n){this.node=e,this.x0=t,this.y0=r,this.x1=a,this.y1=n},s=function(e,t,r){var a,n,i,o,s,c,u,f=this._x0,A=this._y0,d=this._x1,p=this._y1,h=[],b=this._root;for(b&&h.push(new l(b,f,A,d,p)),null==r?r=1/0:(f=e-r,A=t-r,d=e+r,p=t+r,r*=r);c=h.pop();)if(!(!(b=c.node)||(n=c.x0)>d||(i=c.y0)>p||(o=c.x1)=m)<<1|e>=g)&&(c=h[h.length-1],h[h.length-1]=h[h.length-1-u],h[h.length-1-u]=c)}else{var v=e-+this._x.call(null,b.data),y=t-+this._y.call(null,b.data),w=v*v+y*y;if(w=(l=(p+b)/2))?p=l:b=l,(u=o>=(s=(h+g)/2))?h=s:g=s,t=d,!(d=d[f=u<<1|c]))return this;if(!d.length)break;(t[f+1&3]||t[f+2&3]||t[f+3&3])&&(r=t,A=f)}for(;d.data!==e;)if(a=d,!(d=d.next))return this;return(n=d.next)&&delete d.next,a?(n?a.next=n:delete a.next,this):t?(n?t[f]=n:delete t[f],(d=t[0]||t[1]||t[2]||t[3])&&d===(t[3]||t[2]||t[1]||t[0])&&!d.length&&(r?r[A]=d:this._root=d),this):(this._root=n,this)};function u(e){for(var t=0,r=e.length;t=0&&r._call.call(null,e),r=r._next;--a}function g(){s=(l=u.now())+c,a=n=0;try{b()}finally{a=0,v(),s=0}}function m(){var e=u.now(),t=e-l;t>o&&(c-=t,l=e)}function v(){for(var e,a,n=t,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(a=n._next,n._next=null,n=e?e._next=a:t=a);r=e,y(i)}function y(e){if(!a){n&&(n=clearTimeout(n));var t=e-s;t>24?(e<1/0&&(n=setTimeout(g,t)),i&&(i=clearInterval(i))):(i||(l=s,i=setInterval(m,o)),a=1,f(g))}}p.prototype=h.prototype={constructor:p,restart:function(e,a,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?A():+n)+(null==a?0:+a),this._next||r===this||(r?r._next=this:t=this,r=this),this._call=e,this._time=n,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}};var w=function(e,t,r){var a=new p;return t=null==t?0:+t,a.restart((function(r){a.stop(),e(r+t)}),t,r),a},k=function(e,t,r){var a=new p,n=t;return null==t?(a.restart(e,t,r),a):(t=+t,r=null==r?A():+r,a.restart((function i(o){o+=n,a.restart(i,n+=t,r),e(o)}),t,r),a)};e.now=A,e.timer=h,e.timerFlush=b,e.timeout=w,e.interval=k,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t){},function(e,t){function r(e){return function(){return e}}var a=function(){};a.thatReturns=r,a.thatReturnsFalse=r(!1),a.thatReturnsTrue=r(!0),a.thatReturnsNull=r(null),a.thatReturnsThis=function(){return this},a.thatReturnsArgument=function(e){return e},e.exports=a},function(e,t,r){e.exports=function(e,t,r,a,n,i,o,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[r,a,n,i,o,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},function(t,r,a){(function(t,a){var n="__lodash_hash_undefined__",i=1,o=2,l=1/0,s=9007199254740991,c="[object Arguments]",u="[object Array]",f="[object Boolean]",A="[object Date]",d="[object Error]",p="[object Function]",h="[object GeneratorFunction]",b="[object Map]",g="[object Number]",m="[object Object]",v="[object Promise]",y="[object RegExp]",w="[object Set]",k="[object String]",x="[object Symbol]",E="[object WeakMap]",_="[object ArrayBuffer]",C="[object DataView]",$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,O=/^\./,S=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,M=/^\[object .+?Constructor\]$/,B=/^(?:0|[1-9]\d*)$/,R={};R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R[c]=R[u]=R[_]=R[f]=R[C]=R[A]=R[d]=R[p]=R[b]=R[g]=R[m]=R[y]=R[w]=R[k]=R[E]=!1;var P="object"==typeof t&&t&&t.Object===Object&&t,L="object"==typeof self&&self&&self.Object===Object&&self,D=P||L||Function("return this")(),z="object"==typeof r&&r&&!r.nodeType&&r,F=z&&"object"==typeof a&&a&&!a.nodeType&&a,N=F&&F.exports===z&&P.process,j=function(){try{return N&&N.binding("util")}catch(e){}}(),V=j&&j.isTypedArray;function G(e,t,r,a){var n=-1,i=e?e.length:0;for(a&&i&&(r=e[++n]);++n-1},Ee.prototype.set=function(e,t){var r=this.__data__,a=Oe(r,e);return a<0?r.push([e,t]):r[a][1]=t,this},_e.prototype.clear=function(){this.__data__={hash:new xe,map:new(ue||Ee),string:new xe}},_e.prototype.delete=function(e){return Ve(this,e).delete(e)},_e.prototype.get=function(e){return Ve(this,e).get(e)},_e.prototype.has=function(e){return Ve(this,e).has(e)},_e.prototype.set=function(e,t){return Ve(this,e).set(e,t),this},Ce.prototype.add=Ce.prototype.push=function(e){return this.__data__.set(e,n),this},Ce.prototype.has=function(e){return this.__data__.has(e)},$e.prototype.clear=function(){this.__data__=new Ee},$e.prototype.delete=function(e){return this.__data__.delete(e)},$e.prototype.get=function(e){return this.__data__.get(e)},$e.prototype.has=function(e){return this.__data__.has(e)},$e.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Ee){var a=r.__data__;if(!ue||a.length<199)return a.push([e,t]),this;r=this.__data__=new _e(a)}return r.set(e,t),this};var Se,Ie,Me=(Se=function(e,t){return e&&Be(e,t,ut)},function(e,t){if(null==e)return e;if(!rt(e))return Se(e,t);for(var r=e.length,a=Ie?r:-1,n=Object(e);(Ie?a--:++ac))return!1;var f=l.get(e);if(f&&l.get(t))return f==t;var A=-1,d=!0,p=n&i?new Ce:void 0;for(l.set(e,t),l.set(t,e);++A-1&&e%1==0&&e-1&&e%1==0&&e<=s}function it(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ot(e){return!!e&&"object"==typeof e}function lt(e){return"symbol"==typeof e||ot(e)&&re.call(e)==x}var st,ct=V?(st=V,function(e){return st(e)}):function(e){return ot(e)&&nt(e.length)&&!!R[re.call(e)]};function ut(e){return rt(e)?Te(e):Fe(e)}function ft(e){return e}a.exports=function(e,t,r){var a=tt(e)?G:W,n=arguments.length<3;return a(e,ze(t),r,n,Me)}}).call(r,function(){return this}(),a(34)(t))},function(t,r){var a=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var r={},a=0;a<10;a++)r["_"+String.fromCharCode(a)]=a;var n=Object.getOwnPropertyNames(r).map((function(e){return r[e]}));if("0123456789"!==n.join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var r,i,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l-1?t:e}(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function p(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),a=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(a),decodeURIComponent(n))}})),t}function h(e){var t=new s;return(e.getAllResponseHeaders()||"").trim().split("\n").forEach((function(e){var r=e.trim().split(":"),a=r.shift().trim(),n=r.join(":").trim();t.append(a,n)})),t}function b(e,t){t||(t={}),this.type="default",this.status=t.status,this.ok=this.status>=200&&this.status<300,this.statusText=t.statusText,this.headers=t.headers instanceof s?t.headers:new s(t.headers),this.url=t.url||"",this._initBody(e)}}("undefined"!=typeof self?self:this)}])}))}(reactVisForce),win$1="undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{};var window_1=win$1,lodashExports={},lodash={get exports(){return lodashExports},set exports(e){lodashExports=e}}; /** * @license * Lodash @@ -65,7 +65,7 @@ hooks$1.version="2.29.4",setHookCallback(createLocal),hooks$1.fn=proto$2,hooks$1 * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ -!function(t,r){(function(){var a,n="Expected a function",i="__lodash_hash_undefined__",o="__lodash_placeholder__",l=16,s=32,c=64,u=128,f=256,A=1/0,d=9007199254740991,p=NaN,h=4294967295,b=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",l],["flip",512],["partial",s],["partialRight",c],["rearg",f]],g="[object Arguments]",m="[object Array]",v="[object Boolean]",y="[object Date]",w="[object Error]",k="[object Function]",x="[object GeneratorFunction]",E="[object Map]",_="[object Number]",C="[object Object]",$="[object Promise]",T="[object RegExp]",O="[object Set]",S="[object String]",I="[object Symbol]",M="[object WeakMap]",B="[object ArrayBuffer]",R="[object DataView]",P="[object Float32Array]",L="[object Float64Array]",D="[object Int8Array]",z="[object Int16Array]",F="[object Int32Array]",N="[object Uint8Array]",j="[object Uint8ClampedArray]",V="[object Uint16Array]",G="[object Uint32Array]",H=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,Z=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Y=/&(?:amp|lt|gt|quot|#39);/g,Q=/[&<>"']/g,U=RegExp(Y.source),q=RegExp(Q.source),J=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,ee=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,te=/^\w*$/,re=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ae=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(ae.source),ie=/^\s+/,oe=/\s/,le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,se=/\{\n\/\* \[wrapped with (.+)\] \*/,ce=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,fe=/[()=,{}\[\]\/\s]/,Ae=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,pe=/\w*$/,he=/^[-+]0x[0-9a-f]+$/i,be=/^0b[01]+$/i,ge=/^\[object .+?Constructor\]$/,me=/^0o[0-7]+$/i,ve=/^(?:0|[1-9]\d*)$/,ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,we=/($^)/,ke=/['\n\r\u2028\u2029\\]/g,xe="\\ud800-\\udfff",Ee="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",_e="\\u2700-\\u27bf",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",$e="A-Z\\xc0-\\xd6\\xd8-\\xde",Te="\\ufe0e\\ufe0f",Oe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Se="['’]",Ie="["+xe+"]",Me="["+Oe+"]",Be="["+Ee+"]",Re="\\d+",Pe="["+_e+"]",Le="["+Ce+"]",De="[^"+xe+Oe+Re+_e+Ce+$e+"]",ze="\\ud83c[\\udffb-\\udfff]",Fe="[^"+xe+"]",Ne="(?:\\ud83c[\\udde6-\\uddff]){2}",je="[\\ud800-\\udbff][\\udc00-\\udfff]",Ve="["+$e+"]",Ge="\\u200d",He="(?:"+Le+"|"+De+")",We="(?:"+Ve+"|"+De+")",Ze="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Qe="(?:"+Be+"|"+ze+")"+"?",Ue="["+Te+"]?",qe=Ue+Qe+("(?:"+Ge+"(?:"+[Fe,Ne,je].join("|")+")"+Ue+Qe+")*"),Je="(?:"+[Pe,Ne,je].join("|")+")"+qe,Xe="(?:"+[Fe+Be+"?",Be,Ne,je,Ie].join("|")+")",Ke=RegExp(Se,"g"),et=RegExp(Be,"g"),tt=RegExp(ze+"(?="+ze+")|"+Xe+qe,"g"),rt=RegExp([Ve+"?"+Le+"+"+Ze+"(?="+[Me,Ve,"$"].join("|")+")",We+"+"+Ye+"(?="+[Me,Ve+He,"$"].join("|")+")",Ve+"?"+He+"+"+Ze,Ve+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Re,Je].join("|"),"g"),at=RegExp("["+Ge+xe+Ee+Te+"]"),nt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,it=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ot=-1,lt={};lt[P]=lt[L]=lt[D]=lt[z]=lt[F]=lt[N]=lt[j]=lt[V]=lt[G]=!0,lt[g]=lt[m]=lt[B]=lt[v]=lt[R]=lt[y]=lt[w]=lt[k]=lt[E]=lt[_]=lt[C]=lt[T]=lt[O]=lt[S]=lt[M]=!1;var st={};st[g]=st[m]=st[B]=st[R]=st[v]=st[y]=st[P]=st[L]=st[D]=st[z]=st[F]=st[E]=st[_]=st[C]=st[T]=st[O]=st[S]=st[I]=st[N]=st[j]=st[V]=st[G]=!0,st[w]=st[k]=st[M]=!1;var ct={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ut=parseFloat,ft=parseInt,At="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,dt="object"==typeof self&&self&&self.Object===Object&&self,pt=At||dt||Function("return this")(),ht=r&&!r.nodeType&&r,bt=ht&&t&&!t.nodeType&&t,gt=bt&&bt.exports===ht,mt=gt&&At.process,vt=function(){try{var t=bt&&bt.require&&bt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(e){}}(),yt=vt&&vt.isArrayBuffer,wt=vt&&vt.isDate,kt=vt&&vt.isMap,xt=vt&&vt.isRegExp,Et=vt&&vt.isSet,_t=vt&&vt.isTypedArray;function Ct(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function $t(e,t,r,a){for(var n=-1,i=null==e?0:e.length;++n-1}function Bt(e,t,r){for(var a=-1,n=null==e?0:e.length;++a-1;);return r}function rr(e,t){for(var r=e.length;r--&&Vt(t,e[r],0)>-1;);return r}var ar=Yt({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),nr=Yt({"&":"&","<":"<",">":">",'"':""","'":"'"});function ir(e){return"\\"+ct[e]}function or(e){return at.test(e)}function lr(e){var t=-1,r=Array(e.size);return e.forEach((function(e,a){r[++t]=[a,e]})),r}function sr(e,t){return function(r){return e(t(r))}}function cr(e,t){for(var r=-1,a=e.length,n=0,i=[];++r",""":'"',"'":"'"});var br=function t(r){var oe=(r=null==r?pt:br.defaults(pt.Object(),r,br.pick(pt,it))).Array,xe=r.Date,Ee=r.Error,_e=r.Function,Ce=r.Math,$e=r.Object,Te=r.RegExp,Oe=r.String,Se=r.TypeError,Ie=oe.prototype,Me=_e.prototype,Be=$e.prototype,Re=r["__core-js_shared__"],Pe=Me.toString,Le=Be.hasOwnProperty,De=0,ze=function(){var e=/[^.]+$/.exec(Re&&Re.keys&&Re.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Fe=Be.toString,Ne=Pe.call($e),je=pt._,Ve=Te("^"+Pe.call(Le).replace(ae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ge=gt?r.Buffer:a,He=r.Symbol,We=r.Uint8Array,Ze=Ge?Ge.allocUnsafe:a,Ye=sr($e.getPrototypeOf,$e),Qe=$e.create,Ue=Be.propertyIsEnumerable,qe=Ie.splice,Je=He?He.isConcatSpreadable:a,Xe=He?He.iterator:a,tt=He?He.toStringTag:a,at=function(){try{var t=Ai($e,"defineProperty");return t({},"",{}),t}catch(e){}}(),ct=r.clearTimeout!==pt.clearTimeout&&r.clearTimeout,At=xe&&xe.now!==pt.Date.now&&xe.now,dt=r.setTimeout!==pt.setTimeout&&r.setTimeout,ht=Ce.ceil,bt=Ce.floor,mt=$e.getOwnPropertySymbols,vt=Ge?Ge.isBuffer:a,Ft=r.isFinite,Yt=Ie.join,gr=sr($e.keys,$e),mr=Ce.max,vr=Ce.min,yr=xe.now,wr=r.parseInt,kr=Ce.random,xr=Ie.reverse,Er=Ai(r,"DataView"),_r=Ai(r,"Map"),Cr=Ai(r,"Promise"),$r=Ai(r,"Set"),Tr=Ai(r,"WeakMap"),Or=Ai($e,"create"),Sr=Tr&&new Tr,Ir={},Mr=zi(Er),Br=zi(_r),Rr=zi(Cr),Pr=zi($r),Lr=zi(Tr),Dr=He?He.prototype:a,zr=Dr?Dr.valueOf:a,Fr=Dr?Dr.toString:a;function Nr(e){if(rl(e)&&!Wo(e)&&!(e instanceof Hr)){if(e instanceof Gr)return e;if(Le.call(e,"__wrapped__"))return Fi(e)}return new Gr(e)}var jr=function(){function e(){}return function(t){if(!tl(t))return{};if(Qe)return Qe(t);e.prototype=t;var r=new e;return e.prototype=a,r}}();function Vr(){}function Gr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=a}function Hr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=h,this.__views__=[]}function Wr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function sa(e,t,r,n,i,o){var l,s=1&t,c=2&t,u=4&t;if(r&&(l=i?r(e,n,i,o):r(e)),l!==a)return l;if(!tl(e))return e;var f=Wo(e);if(f){if(l=function(e){var t=e.length,r=new e.constructor(t);t&&"string"==typeof e[0]&&Le.call(e,"index")&&(r.index=e.index,r.input=e.input);return r}(e),!s)return Sn(e,l)}else{var A=hi(e),d=A==k||A==x;if(Uo(e))return En(e,s);if(A==C||A==g||d&&!i){if(l=c||d?{}:gi(e),!s)return c?function(e,t){return In(e,pi(e),t)}(e,function(e,t){return e&&In(t,Bl(t),e)}(l,e)):function(e,t){return In(e,di(e),t)}(e,na(l,e))}else{if(!st[A])return i?e:{};l=function(e,t,r){var a=e.constructor;switch(t){case B:return _n(e);case v:case y:return new a(+e);case R:return function(e,t){var r=t?_n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case P:case L:case D:case z:case F:case N:case j:case V:case G:return Cn(e,r);case E:return new a;case _:case S:return new a(e);case T:return function(e){var t=new e.constructor(e.source,pe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case O:return new a;case I:return function(e){return zr?$e(zr.call(e)):{}}(e)}}(e,A,s)}}o||(o=new Ur);var p=o.get(e);if(p)return p;o.set(e,l),ll(e)?e.forEach((function(a){l.add(sa(a,t,r,a,e,o))})):al(e)&&e.forEach((function(a,n){l.set(n,sa(a,t,r,n,e,o))}));var h=f?a:(u?c?ii:ni:c?Bl:Ml)(e);return Tt(h||e,(function(a,n){h&&(a=e[n=a]),ta(l,n,sa(a,t,r,n,e,o))})),l}function ca(e,t,r){var n=r.length;if(null==e)return!n;for(e=$e(e);n--;){var i=r[n],o=t[i],l=e[i];if(l===a&&!(i in e)||!o(l))return!1}return!0}function ua(e,t,r){if("function"!=typeof e)throw new Se(n);return Ii((function(){e.apply(a,r)}),t)}function fa(e,t,r,a){var n=-1,i=Mt,o=!0,l=e.length,s=[],c=t.length;if(!l)return s;r&&(t=Rt(t,Xt(r))),a?(i=Bt,o=!1):t.length>=200&&(i=er,o=!1,t=new Qr(t));e:for(;++n-1},Zr.prototype.set=function(e,t){var r=this.__data__,a=ra(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this},Yr.prototype.clear=function(){this.size=0,this.__data__={hash:new Wr,map:new(_r||Zr),string:new Wr}},Yr.prototype.delete=function(e){var t=ui(this,e).delete(e);return this.size-=t?1:0,t},Yr.prototype.get=function(e){return ui(this,e).get(e)},Yr.prototype.has=function(e){return ui(this,e).has(e)},Yr.prototype.set=function(e,t){var r=ui(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this},Qr.prototype.add=Qr.prototype.push=function(e){return this.__data__.set(e,i),this},Qr.prototype.has=function(e){return this.__data__.has(e)},Ur.prototype.clear=function(){this.__data__=new Zr,this.size=0},Ur.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Ur.prototype.get=function(e){return this.__data__.get(e)},Ur.prototype.has=function(e){return this.__data__.has(e)},Ur.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Zr){var a=r.__data__;if(!_r||a.length<199)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new Yr(a)}return r.set(e,t),this.size=r.size,this};var Aa=Rn(ya),da=Rn(wa,!0);function pa(e,t){var r=!0;return Aa(e,(function(e,a,n){return r=!!t(e,a,n)})),r}function ha(e,t,r){for(var n=-1,i=e.length;++n0&&r(l)?t>1?ga(l,t-1,r,a,n):Pt(n,l):a||(n[n.length]=l)}return n}var ma=Pn(),va=Pn(!0);function ya(e,t){return e&&ma(e,t,Ml)}function wa(e,t){return e&&va(e,t,Ml)}function ka(e,t){return It(t,(function(t){return Xo(e[t])}))}function xa(e,t){for(var r=0,n=(t=yn(t,e)).length;null!=e&&rt}function $a(e,t){return null!=e&&Le.call(e,t)}function Ta(e,t){return null!=e&&t in $e(e)}function Oa(e,t,r){for(var n=r?Bt:Mt,i=e[0].length,o=e.length,l=o,s=oe(o),c=1/0,u=[];l--;){var f=e[l];l&&t&&(f=Rt(f,Xt(t))),c=vr(f.length,c),s[l]=!r&&(t||i>=120&&f.length>=120)?new Qr(l&&f):a}f=e[0];var A=-1,d=s[0];e:for(;++A=l?s:s*("desc"==r[a]?-1:1)}return e.index-t.index}(e,t,r)}))}function Wa(e,t,r){for(var a=-1,n=t.length,i={};++a-1;)l!==e&&qe.call(l,s,1),qe.call(e,s,1);return e}function Ya(e,t){for(var r=e?t.length:0,a=r-1;r--;){var n=t[r];if(r==a||n!==i){var i=n;vi(n)?qe.call(e,n,1):An(e,n)}}return e}function Qa(e,t){return e+bt(kr()*(t-e+1))}function Ua(e,t){var r="";if(!e||t<1||t>d)return r;do{t%2&&(r+=e),(t=bt(t/2))&&(e+=e)}while(t);return r}function qa(e,t){return Mi($i(e,t,ns),e+"")}function Ja(e){return Jr(jl(e))}function Xa(e,t){var r=jl(e);return Pi(r,la(t,0,r.length))}function Ka(e,t,r,n){if(!tl(e))return e;for(var i=-1,o=(t=yn(t,e)).length,l=o-1,s=e;null!=s&&++in?0:n+t),(r=r>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;for(var i=oe(n);++a>>1,o=e[i];null!==o&&!cl(o)&&(r?o<=t:o=200){var c=t?null:qn(e);if(c)return ur(c);o=!1,n=er,s=new Qr}else s=t?[]:l;e:for(;++a=n?e:an(e,t,r)}var xn=ct||function(e){return pt.clearTimeout(e)};function En(e,t){if(t)return e.slice();var r=e.length,a=Ze?Ze(r):new e.constructor(r);return e.copy(a),a}function _n(e){var t=new e.constructor(e.byteLength);return new We(t).set(new We(e)),t}function Cn(e,t){var r=t?_n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function $n(e,t){if(e!==t){var r=e!==a,n=null===e,i=e==e,o=cl(e),l=t!==a,s=null===t,c=t==t,u=cl(t);if(!s&&!u&&!o&&e>t||o&&l&&c&&!s&&!u||n&&l&&c||!r&&c||!i)return 1;if(!n&&!o&&!u&&e1?r[i-1]:a,l=i>2?r[2]:a;for(o=e.length>3&&"function"==typeof o?(i--,o):a,l&&yi(r[0],r[1],l)&&(o=i<3?a:o,i=1),t=$e(t);++n-1?i[o?t[l]:l]:a}}function Nn(e){return ai((function(t){var r=t.length,i=r,o=Gr.prototype.thru;for(e&&t.reverse();i--;){var l=t[i];if("function"!=typeof l)throw new Se(n);if(o&&!s&&"wrapper"==li(l))var s=new Gr([],!0)}for(i=s?i:r;++i1&&v.reverse(),A&&cs))return!1;var u=o.get(e),f=o.get(t);if(u&&f)return u==t&&f==e;var A=-1,d=!0,p=2&r?new Qr:a;for(o.set(e,t),o.set(t,e);++A-1&&e%1==0&&e1?"& ":"")+t[a],t=t.join(r>2?", ":" "),e.replace(le,"{\n/* [wrapped with "+t+"] */\n")}(a,function(e,t){return Tt(b,(function(r){var a="_."+r[0];t&r[1]&&!Mt(e,a)&&e.push(a)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ce):[]}(a),r)))}function Ri(e){var t=0,r=0;return function(){var n=yr(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(a,arguments)}}function Pi(e,t){var r=-1,n=e.length,i=n-1;for(t=t===a?n:t;++r1?e[t-1]:a;return r="function"==typeof r?(e.pop(),r):a,io(e,r)}));function Ao(e){var t=Nr(e);return t.__chain__=!0,t}function po(e,t){return t(e)}var ho=ai((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,i=function(t){return oa(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Hr&&vi(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:po,args:[i],thisArg:a}),new Gr(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(a),e}))):this.thru(i)}));var bo=Mn((function(e,t,r){Le.call(e,r)?++e[r]:ia(e,r,1)}));var go=Fn(Gi),mo=Fn(Hi);function vo(e,t){return(Wo(e)?Tt:Aa)(e,ci(t,3))}function yo(e,t){return(Wo(e)?Ot:da)(e,ci(t,3))}var wo=Mn((function(e,t,r){Le.call(e,r)?e[r].push(t):ia(e,r,[t])}));var ko=qa((function(e,t,r){var a=-1,n="function"==typeof t,i=Yo(e)?oe(e.length):[];return Aa(e,(function(e){i[++a]=n?Ct(t,e,r):Sa(e,t,r)})),i})),xo=Mn((function(e,t,r){ia(e,r,t)}));function Eo(e,t){return(Wo(e)?Rt:Fa)(e,ci(t,3))}var _o=Mn((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]}));var Co=qa((function(e,t){if(null==e)return[];var r=t.length;return r>1&&yi(e,t[0],t[1])?t=[]:r>2&&yi(t[0],t[1],t[2])&&(t=[t[0]]),Ha(e,ga(t,1),[])})),$o=At||function(){return pt.Date.now()};function To(e,t,r){return t=r?a:t,t=e&&null==t?e.length:t,Xn(e,u,a,a,a,a,t)}function Oo(e,t){var r;if("function"!=typeof t)throw new Se(n);return e=hl(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=a),r}}var So=qa((function(e,t,r){var a=1;if(r.length){var n=cr(r,si(So));a|=s}return Xn(e,a,t,r,n)})),Io=qa((function(e,t,r){var a=3;if(r.length){var n=cr(r,si(Io));a|=s}return Xn(t,a,e,r,n)}));function Mo(e,t,r){var i,o,l,s,c,u,f=0,A=!1,d=!1,p=!0;if("function"!=typeof e)throw new Se(n);function h(t){var r=i,n=o;return i=o=a,f=t,s=e.apply(n,r)}function b(e){var r=e-u;return u===a||r>=t||r<0||d&&e-f>=l}function g(){var e=$o();if(b(e))return m(e);c=Ii(g,function(e){var r=t-(e-u);return d?vr(r,l-(e-f)):r}(e))}function m(e){return c=a,p&&i?h(e):(i=o=a,s)}function v(){var e=$o(),r=b(e);if(i=arguments,o=this,u=e,r){if(c===a)return function(e){return f=e,c=Ii(g,t),A?h(e):s}(u);if(d)return xn(c),c=Ii(g,t),h(u)}return c===a&&(c=Ii(g,t)),s}return t=gl(t)||0,tl(r)&&(A=!!r.leading,l=(d="maxWait"in r)?mr(gl(r.maxWait)||0,t):l,p="trailing"in r?!!r.trailing:p),v.cancel=function(){c!==a&&xn(c),f=0,i=u=o=c=a},v.flush=function(){return c===a?s:m($o())},v}var Bo=qa((function(e,t){return ua(e,1,t)})),Ro=qa((function(e,t,r){return ua(e,gl(t)||0,r)}));function Po(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Se(n);var r=function(){var a=arguments,n=t?t.apply(this,a):a[0],i=r.cache;if(i.has(n))return i.get(n);var o=e.apply(this,a);return r.cache=i.set(n,o)||i,o};return r.cache=new(Po.Cache||Yr),r}function Lo(e){if("function"!=typeof e)throw new Se(n);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Po.Cache=Yr;var Do=wn((function(e,t){var r=(t=1==t.length&&Wo(t[0])?Rt(t[0],Xt(ci())):Rt(ga(t,1),Xt(ci()))).length;return qa((function(a){for(var n=-1,i=vr(a.length,r);++n=t})),Ho=Ia(function(){return arguments}())?Ia:function(e){return rl(e)&&Le.call(e,"callee")&&!Ue.call(e,"callee")},Wo=oe.isArray,Zo=yt?Xt(yt):function(e){return rl(e)&&_a(e)==B};function Yo(e){return null!=e&&el(e.length)&&!Xo(e)}function Qo(e){return rl(e)&&Yo(e)}var Uo=vt||gs,qo=wt?Xt(wt):function(e){return rl(e)&&_a(e)==y};function Jo(e){if(!rl(e))return!1;var t=_a(e);return t==w||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!il(e)}function Xo(e){if(!tl(e))return!1;var t=_a(e);return t==k||t==x||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ko(e){return"number"==typeof e&&e==hl(e)}function el(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function tl(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function rl(e){return null!=e&&"object"==typeof e}var al=kt?Xt(kt):function(e){return rl(e)&&hi(e)==E};function nl(e){return"number"==typeof e||rl(e)&&_a(e)==_}function il(e){if(!rl(e)||_a(e)!=C)return!1;var t=Ye(e);if(null===t)return!0;var r=Le.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Pe.call(r)==Ne}var ol=xt?Xt(xt):function(e){return rl(e)&&_a(e)==T};var ll=Et?Xt(Et):function(e){return rl(e)&&hi(e)==O};function sl(e){return"string"==typeof e||!Wo(e)&&rl(e)&&_a(e)==S}function cl(e){return"symbol"==typeof e||rl(e)&&_a(e)==I}var ul=_t?Xt(_t):function(e){return rl(e)&&el(e.length)&&!!lt[_a(e)]};var fl=Yn(za),Al=Yn((function(e,t){return e<=t}));function dl(e){if(!e)return[];if(Yo(e))return sl(e)?dr(e):Sn(e);if(Xe&&e[Xe])return function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[Xe]());var t=hi(e);return(t==E?lr:t==O?ur:jl)(e)}function pl(e){return e?(e=gl(e))===A||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function hl(e){var t=pl(e),r=t%1;return t==t?r?t-r:t:0}function bl(e){return e?la(hl(e),0,h):0}function gl(e){if("number"==typeof e)return e;if(cl(e))return p;if(tl(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=tl(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Jt(e);var r=be.test(e);return r||me.test(e)?ft(e.slice(2),r?2:8):he.test(e)?p:+e}function ml(e){return In(e,Bl(e))}function vl(e){return null==e?"":un(e)}var yl=Bn((function(e,t){if(Ei(t)||Yo(t))In(t,Ml(t),e);else for(var r in t)Le.call(t,r)&&ta(e,r,t[r])})),wl=Bn((function(e,t){In(t,Bl(t),e)})),kl=Bn((function(e,t,r,a){In(t,Bl(t),e,a)})),xl=Bn((function(e,t,r,a){In(t,Ml(t),e,a)})),El=ai(oa);var _l=qa((function(e,t){e=$e(e);var r=-1,n=t.length,i=n>2?t[2]:a;for(i&&yi(t[0],t[1],i)&&(n=1);++r1),t})),In(e,ii(e),r),a&&(r=sa(r,7,ti));for(var n=t.length;n--;)An(r,t[n]);return r}));var Dl=ai((function(e,t){return null==e?{}:function(e,t){return Wa(e,t,(function(t,r){return Tl(e,r)}))}(e,t)}));function zl(e,t){if(null==e)return{};var r=Rt(ii(e),(function(e){return[e]}));return t=ci(t),Wa(e,r,(function(e,r){return t(e,r[0])}))}var Fl=Jn(Ml),Nl=Jn(Bl);function jl(e){return null==e?[]:Kt(e,Ml(e))}var Vl=Dn((function(e,t,r){return t=t.toLowerCase(),e+(r?Gl(t):t)}));function Gl(e){return Jl(vl(e).toLowerCase())}function Hl(e){return(e=vl(e))&&e.replace(ye,ar).replace(et,"")}var Wl=Dn((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),Zl=Dn((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),Yl=Ln("toLowerCase");var Ql=Dn((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));var Ul=Dn((function(e,t,r){return e+(r?" ":"")+Jl(t)}));var ql=Dn((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Jl=Ln("toUpperCase");function Xl(e,t,r){return e=vl(e),(t=r?a:t)===a?function(e){return nt.test(e)}(e)?function(e){return e.match(rt)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var Kl=qa((function(t,r){try{return Ct(t,a,r)}catch(e){return Jo(e)?e:new Ee(e)}})),es=ai((function(e,t){return Tt(t,(function(t){t=Di(t),ia(e,t,So(e[t],e))})),e}));function ts(e){return function(){return e}}var rs=Nn(),as=Nn(!0);function ns(e){return e}function is(e){return Pa("function"==typeof e?e:sa(e,1))}var os=qa((function(e,t){return function(r){return Sa(r,e,t)}})),ls=qa((function(e,t){return function(r){return Sa(e,r,t)}}));function ss(e,t,r){var a=Ml(t),n=ka(t,a);null!=r||tl(t)&&(n.length||!a.length)||(r=t,t=e,e=this,n=ka(t,Ml(t)));var i=!(tl(r)&&"chain"in r&&!r.chain),o=Xo(e);return Tt(n,(function(r){var a=t[r];e[r]=a,o&&(e.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=e(this.__wrapped__);return(r.__actions__=Sn(this.__actions__)).push({func:a,args:arguments,thisArg:e}),r.__chain__=t,r}return a.apply(e,Pt([this.value()],arguments))})})),e}function cs(){}var us=Hn(Rt),fs=Hn(St),As=Hn(zt);function ds(e){return wi(e)?Zt(Di(e)):function(e){return function(t){return xa(t,e)}}(e)}var ps=Zn(),hs=Zn(!0);function bs(){return[]}function gs(){return!1}var ms=Gn((function(e,t){return e+t}),0),vs=Un("ceil"),ys=Gn((function(e,t){return e/t}),1),ws=Un("floor");var ks,xs=Gn((function(e,t){return e*t}),1),Es=Un("round"),_s=Gn((function(e,t){return e-t}),0);return Nr.after=function(e,t){if("function"!=typeof t)throw new Se(n);return e=hl(e),function(){if(--e<1)return t.apply(this,arguments)}},Nr.ary=To,Nr.assign=yl,Nr.assignIn=wl,Nr.assignInWith=kl,Nr.assignWith=xl,Nr.at=El,Nr.before=Oo,Nr.bind=So,Nr.bindAll=es,Nr.bindKey=Io,Nr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wo(e)?e:[e]},Nr.chain=Ao,Nr.chunk=function(e,t,r){t=(r?yi(e,t,r):t===a)?1:mr(hl(t),0);var n=null==e?0:e.length;if(!n||t<1)return[];for(var i=0,o=0,l=oe(ht(n/t));ii?0:i+r),(n=n===a||n>i?i:hl(n))<0&&(n+=i),n=r>n?0:bl(n);r>>0)?(e=vl(e))&&("string"==typeof t||null!=t&&!ol(t))&&!(t=un(t))&&or(e)?kn(dr(e),0,r):e.split(t,r):[]},Nr.spread=function(e,t){if("function"!=typeof e)throw new Se(n);return t=null==t?0:mr(hl(t),0),qa((function(r){var a=r[t],n=kn(r,0,t);return a&&Pt(n,a),Ct(e,this,n)}))},Nr.tail=function(e){var t=null==e?0:e.length;return t?an(e,1,t):[]},Nr.take=function(e,t,r){return e&&e.length?an(e,0,(t=r||t===a?1:hl(t))<0?0:t):[]},Nr.takeRight=function(e,t,r){var n=null==e?0:e.length;return n?an(e,(t=n-(t=r||t===a?1:hl(t)))<0?0:t,n):[]},Nr.takeRightWhile=function(e,t){return e&&e.length?pn(e,ci(t,3),!1,!0):[]},Nr.takeWhile=function(e,t){return e&&e.length?pn(e,ci(t,3)):[]},Nr.tap=function(e,t){return t(e),e},Nr.throttle=function(e,t,r){var a=!0,i=!0;if("function"!=typeof e)throw new Se(n);return tl(r)&&(a="leading"in r?!!r.leading:a,i="trailing"in r?!!r.trailing:i),Mo(e,t,{leading:a,maxWait:t,trailing:i})},Nr.thru=po,Nr.toArray=dl,Nr.toPairs=Fl,Nr.toPairsIn=Nl,Nr.toPath=function(e){return Wo(e)?Rt(e,Di):cl(e)?[e]:Sn(Li(vl(e)))},Nr.toPlainObject=ml,Nr.transform=function(e,t,r){var a=Wo(e),n=a||Uo(e)||ul(e);if(t=ci(t,4),null==r){var i=e&&e.constructor;r=n?a?new i:[]:tl(e)&&Xo(i)?jr(Ye(e)):{}}return(n?Tt:ya)(e,(function(e,a,n){return t(r,e,a,n)})),r},Nr.unary=function(e){return To(e,1)},Nr.union=to,Nr.unionBy=ro,Nr.unionWith=ao,Nr.uniq=function(e){return e&&e.length?fn(e):[]},Nr.uniqBy=function(e,t){return e&&e.length?fn(e,ci(t,2)):[]},Nr.uniqWith=function(e,t){return t="function"==typeof t?t:a,e&&e.length?fn(e,a,t):[]},Nr.unset=function(e,t){return null==e||An(e,t)},Nr.unzip=no,Nr.unzipWith=io,Nr.update=function(e,t,r){return null==e?e:dn(e,t,vn(r))},Nr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:a,null==e?e:dn(e,t,vn(r),n)},Nr.values=jl,Nr.valuesIn=function(e){return null==e?[]:Kt(e,Bl(e))},Nr.without=oo,Nr.words=Xl,Nr.wrap=function(e,t){return zo(vn(t),e)},Nr.xor=lo,Nr.xorBy=so,Nr.xorWith=co,Nr.zip=uo,Nr.zipObject=function(e,t){return gn(e||[],t||[],ta)},Nr.zipObjectDeep=function(e,t){return gn(e||[],t||[],Ka)},Nr.zipWith=fo,Nr.entries=Fl,Nr.entriesIn=Nl,Nr.extend=wl,Nr.extendWith=kl,ss(Nr,Nr),Nr.add=ms,Nr.attempt=Kl,Nr.camelCase=Vl,Nr.capitalize=Gl,Nr.ceil=vs,Nr.clamp=function(e,t,r){return r===a&&(r=t,t=a),r!==a&&(r=(r=gl(r))==r?r:0),t!==a&&(t=(t=gl(t))==t?t:0),la(gl(e),t,r)},Nr.clone=function(e){return sa(e,4)},Nr.cloneDeep=function(e){return sa(e,5)},Nr.cloneDeepWith=function(e,t){return sa(e,5,t="function"==typeof t?t:a)},Nr.cloneWith=function(e,t){return sa(e,4,t="function"==typeof t?t:a)},Nr.conformsTo=function(e,t){return null==t||ca(e,t,Ml(t))},Nr.deburr=Hl,Nr.defaultTo=function(e,t){return null==e||e!=e?t:e},Nr.divide=ys,Nr.endsWith=function(e,t,r){e=vl(e),t=un(t);var n=e.length,i=r=r===a?n:la(hl(r),0,n);return(r-=t.length)>=0&&e.slice(r,i)==t},Nr.eq=jo,Nr.escape=function(e){return(e=vl(e))&&q.test(e)?e.replace(Q,nr):e},Nr.escapeRegExp=function(e){return(e=vl(e))&&ne.test(e)?e.replace(ae,"\\$&"):e},Nr.every=function(e,t,r){var n=Wo(e)?St:pa;return r&&yi(e,t,r)&&(t=a),n(e,ci(t,3))},Nr.find=go,Nr.findIndex=Gi,Nr.findKey=function(e,t){return Nt(e,ci(t,3),ya)},Nr.findLast=mo,Nr.findLastIndex=Hi,Nr.findLastKey=function(e,t){return Nt(e,ci(t,3),wa)},Nr.floor=ws,Nr.forEach=vo,Nr.forEachRight=yo,Nr.forIn=function(e,t){return null==e?e:ma(e,ci(t,3),Bl)},Nr.forInRight=function(e,t){return null==e?e:va(e,ci(t,3),Bl)},Nr.forOwn=function(e,t){return e&&ya(e,ci(t,3))},Nr.forOwnRight=function(e,t){return e&&wa(e,ci(t,3))},Nr.get=$l,Nr.gt=Vo,Nr.gte=Go,Nr.has=function(e,t){return null!=e&&bi(e,t,$a)},Nr.hasIn=Tl,Nr.head=Zi,Nr.identity=ns,Nr.includes=function(e,t,r,a){e=Yo(e)?e:jl(e),r=r&&!a?hl(r):0;var n=e.length;return r<0&&(r=mr(n+r,0)),sl(e)?r<=n&&e.indexOf(t,r)>-1:!!n&&Vt(e,t,r)>-1},Nr.indexOf=function(e,t,r){var a=null==e?0:e.length;if(!a)return-1;var n=null==r?0:hl(r);return n<0&&(n=mr(a+n,0)),Vt(e,t,n)},Nr.inRange=function(e,t,r){return t=pl(t),r===a?(r=t,t=0):r=pl(r),function(e,t,r){return e>=vr(t,r)&&e=-9007199254740991&&e<=d},Nr.isSet=ll,Nr.isString=sl,Nr.isSymbol=cl,Nr.isTypedArray=ul,Nr.isUndefined=function(e){return e===a},Nr.isWeakMap=function(e){return rl(e)&&hi(e)==M},Nr.isWeakSet=function(e){return rl(e)&&"[object WeakSet]"==_a(e)},Nr.join=function(e,t){return null==e?"":Yt.call(e,t)},Nr.kebabCase=Wl,Nr.last=qi,Nr.lastIndexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=n;return r!==a&&(i=(i=hl(r))<0?mr(n+i,0):vr(i,n-1)),t==t?function(e,t,r){for(var a=r+1;a--;)if(e[a]===t)return a;return a}(e,t,i):jt(e,Ht,i,!0)},Nr.lowerCase=Zl,Nr.lowerFirst=Yl,Nr.lt=fl,Nr.lte=Al,Nr.max=function(e){return e&&e.length?ha(e,ns,Ca):a},Nr.maxBy=function(e,t){return e&&e.length?ha(e,ci(t,2),Ca):a},Nr.mean=function(e){return Wt(e,ns)},Nr.meanBy=function(e,t){return Wt(e,ci(t,2))},Nr.min=function(e){return e&&e.length?ha(e,ns,za):a},Nr.minBy=function(e,t){return e&&e.length?ha(e,ci(t,2),za):a},Nr.stubArray=bs,Nr.stubFalse=gs,Nr.stubObject=function(){return{}},Nr.stubString=function(){return""},Nr.stubTrue=function(){return!0},Nr.multiply=xs,Nr.nth=function(e,t){return e&&e.length?Ga(e,hl(t)):a},Nr.noConflict=function(){return pt._===this&&(pt._=je),this},Nr.noop=cs,Nr.now=$o,Nr.pad=function(e,t,r){e=vl(e);var a=(t=hl(t))?Ar(e):0;if(!t||a>=t)return e;var n=(t-a)/2;return Wn(bt(n),r)+e+Wn(ht(n),r)},Nr.padEnd=function(e,t,r){e=vl(e);var a=(t=hl(t))?Ar(e):0;return t&&at){var n=e;e=t,t=n}if(r||e%1||t%1){var i=kr();return vr(e+i*(t-e+ut("1e-"+((i+"").length-1))),t)}return Qa(e,t)},Nr.reduce=function(e,t,r){var a=Wo(e)?Lt:Qt,n=arguments.length<3;return a(e,ci(t,4),r,n,Aa)},Nr.reduceRight=function(e,t,r){var a=Wo(e)?Dt:Qt,n=arguments.length<3;return a(e,ci(t,4),r,n,da)},Nr.repeat=function(e,t,r){return t=(r?yi(e,t,r):t===a)?1:hl(t),Ua(vl(e),t)},Nr.replace=function(){var e=arguments,t=vl(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Nr.result=function(e,t,r){var n=-1,i=(t=yn(t,e)).length;for(i||(i=1,e=a);++nd)return[];var r=h,a=vr(e,h);t=ci(t),e-=h;for(var n=qt(a,t);++r=o)return e;var s=r-Ar(n);if(s<1)return n;var c=l?kn(l,0,s).join(""):e.slice(0,s);if(i===a)return c+n;if(l&&(s+=c.length-s),ol(i)){if(e.slice(s).search(i)){var u,f=c;for(i.global||(i=Te(i.source,vl(pe.exec(i))+"g")),i.lastIndex=0;u=i.exec(f);)var A=u.index;c=c.slice(0,A===a?s:A)}}else if(e.indexOf(un(i),s)!=s){var d=c.lastIndexOf(i);d>-1&&(c=c.slice(0,d))}return c+n},Nr.unescape=function(e){return(e=vl(e))&&U.test(e)?e.replace(Y,hr):e},Nr.uniqueId=function(e){var t=++De;return vl(e)+t},Nr.upperCase=ql,Nr.upperFirst=Jl,Nr.each=vo,Nr.eachRight=yo,Nr.first=Zi,ss(Nr,(ks={},ya(Nr,(function(e,t){Le.call(Nr.prototype,t)||(ks[t]=e)})),ks),{chain:!1}),Nr.VERSION="4.17.21",Tt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Nr[e].placeholder=Nr})),Tt(["drop","take"],(function(e,t){Hr.prototype[e]=function(r){r=r===a?1:mr(hl(r),0);var n=this.__filtered__&&!t?new Hr(this):this.clone();return n.__filtered__?n.__takeCount__=vr(r,n.__takeCount__):n.__views__.push({size:vr(r,h),type:e+(n.__dir__<0?"Right":"")}),n},Hr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Tt(["filter","map","takeWhile"],(function(e,t){var r=t+1,a=1==r||3==r;Hr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ci(e,3),type:r}),t.__filtered__=t.__filtered__||a,t}})),Tt(["head","last"],(function(e,t){var r="take"+(t?"Right":"");Hr.prototype[e]=function(){return this[r](1).value()[0]}})),Tt(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Hr.prototype[e]=function(){return this.__filtered__?new Hr(this):this[r](1)}})),Hr.prototype.compact=function(){return this.filter(ns)},Hr.prototype.find=function(e){return this.filter(e).head()},Hr.prototype.findLast=function(e){return this.reverse().find(e)},Hr.prototype.invokeMap=qa((function(e,t){return"function"==typeof e?new Hr(this):this.map((function(r){return Sa(r,e,t)}))})),Hr.prototype.reject=function(e){return this.filter(Lo(ci(e)))},Hr.prototype.slice=function(e,t){e=hl(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Hr(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==a&&(r=(t=hl(t))<0?r.dropRight(-t):r.take(t-e)),r)},Hr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Hr.prototype.toArray=function(){return this.take(h)},ya(Hr.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),i=Nr[n?"take"+("last"==t?"Right":""):t],o=n||/^find/.test(t);i&&(Nr.prototype[t]=function(){var t=this.__wrapped__,l=n?[1]:arguments,s=t instanceof Hr,c=l[0],u=s||Wo(t),f=function(e){var t=i.apply(Nr,Pt([e],l));return n&&A?t[0]:t};u&&r&&"function"==typeof c&&1!=c.length&&(s=u=!1);var A=this.__chain__,d=!!this.__actions__.length,p=o&&!A,h=s&&!d;if(!o&&u){t=h?t:new Hr(this);var b=e.apply(t,l);return b.__actions__.push({func:po,args:[f],thisArg:a}),new Gr(b,A)}return p&&h?e.apply(this,l):(b=this.thru(f),p?n?b.value()[0]:b.value():b)})})),Tt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ie[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",a=/^(?:pop|shift)$/.test(e);Nr.prototype[e]=function(){var e=arguments;if(a&&!this.__chain__){var n=this.value();return t.apply(Wo(n)?n:[],e)}return this[r]((function(r){return t.apply(Wo(r)?r:[],e)}))}})),ya(Hr.prototype,(function(e,t){var r=Nr[t];if(r){var a=r.name+"";Le.call(Ir,a)||(Ir[a]=[]),Ir[a].push({name:t,func:r})}})),Ir[jn(a,2).name]=[{name:"wrapper",func:a}],Hr.prototype.clone=function(){var e=new Hr(this.__wrapped__);return e.__actions__=Sn(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Sn(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Sn(this.__views__),e},Hr.prototype.reverse=function(){if(this.__filtered__){var e=new Hr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Hr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=Wo(e),a=t<0,n=r?e.length:0,i=function(e,t,r){var a=-1,n=r.length;for(;++a=this.__values__.length;return{done:e,value:e?a:this.__values__[this.__index__++]}},Nr.prototype.plant=function(e){for(var t,r=this;r instanceof Vr;){var n=Fi(r);n.__index__=0,n.__values__=a,t?i.__wrapped__=n:t=n;var i=n;r=r.__wrapped__}return i.__wrapped__=e,t},Nr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Hr){var t=e;return this.__actions__.length&&(t=new Hr(this)),(t=t.reverse()).__actions__.push({func:po,args:[eo],thisArg:a}),new Gr(t,this.__chain__)}return this.thru(eo)},Nr.prototype.toJSON=Nr.prototype.valueOf=Nr.prototype.value=function(){return hn(this.__wrapped__,this.__actions__)},Nr.prototype.first=Nr.prototype.head,Xe&&(Nr.prototype[Xe]=function(){return this}),Nr}();bt?((bt.exports=br)._=br,ht._=br):pt._=br}).call(commonjsGlobal)}(lodash,lodashExports);const _=lodashExports;function linkId(e){const{source:t,target:r}=e;return`${"string"==typeof t?t:t.id}=>${"string"==typeof r?r:r.id}`}class ForceGraphArrowLink extends reactExports.PureComponent{render(){const{link:e,targetRadius:t,edgeOffset:r,...a}=this.props,n=`arrow-${linkId(e)}`;return jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("defs",{children:jsxRuntimeExports.jsx("marker",{id:n,markerWidth:6,markerHeight:4,refX:5+(t||0),refY:2,orient:"auto",markerUnits:"strokeWidth",children:Number(t)>0&&jsxRuntimeExports.jsx("path",{d:"M0,0 L0,4 L6,2 z",fill:a.stroke||a.color})})}),jsxRuntimeExports.jsx(reactVisForceExports.ForceGraphLink,{...a,link:e,markerEnd:`url(#${n})`})]})}}ForceGraphArrowLink.defaultProps={className:"",edgeOffset:2,opacity:.6,stroke:"#999",strokeWidth:1,targetRadius:2};const nodesPropTypes=propTypesExports.arrayOf(propTypesExports.shape({id:propTypesExports.string.isRequired,radius:propTypesExports.number.isRequired})),linksPropTypes=propTypesExports.arrayOf(propTypesExports.shape({source:propTypesExports.string.isRequired,target:propTypesExports.string.isRequired,target_node_size:propTypesExports.number,value:propTypesExports.number.isRequired})),chargeStrength=({radius:e=5,orphan:t})=>t?-20*e:-12*e;class DependencyForceGraph extends reactExports.Component{constructor(e){super(e),this.state={width:window_1.window.innerWidth,height:window_1.window.innerHeight}}componentDidMount(){this.onResize(),this.debouncedResize=lodashExports.debounce(((...e)=>this.onResize(...e)),50),window_1.window.addEventListener("resize",this.debouncedResize)}componentWillUnmount(){window_1.window.removeEventListener("resize",this.debouncedResize)}onResize(){const e=window_1.window.innerWidth;let t=window_1.window.innerHeight;this.container&&(t-=this.container.offsetTop),this.setState({width:e,height:t})}render(){const{nodes:e,links:t}=this.props,{width:r,height:a}=this.state,n=new Map(e.map((e=>[e.id,e])));return jsxRuntimeExports.jsx("div",{ref:e=>{this.container=e},style:{position:"relative"},children:jsxRuntimeExports.jsxs(reactVisForceExports.InteractiveForceGraph,{zoom:!0,minScale:.5,maxScale:4,panLimit:2,simulationOptions:{width:r,height:a,strength:{charge:chargeStrength,x:r/a>1?.1:.12,y:r/a<1?.1:.12}},labelOffset:{x:({radius:e})=>e+2,y:({radius:e})=>e/2},nodeAttrs:["orphan"],highlightDependencies:!0,children:[e.map((({labelStyle:e,labelClass:t,showLabel:r,opacity:a,fill:n,...i})=>jsxRuntimeExports.jsx(reactVisForceExports.ForceGraphNode,{node:i,labelStyle:e,labelClass:t,showLabel:r,opacity:a,fill:n},i.id))),t.map((({opacity:e,...t})=>jsxRuntimeExports.jsx(ForceGraphArrowLink,{opacity:e,link:t,targetRadius:n.get(t.target).radius},`${t.source}=>${t.target}`)))]})})}}_defineProperty3(DependencyForceGraph,"propTypes",{nodes:nodesPropTypes.isRequired,links:linksPropTypes.isRequired});const LoadingIndicator$1="";function LoadingIndicator(e){const{centered:t,vcentered:r,className:a,small:n,...i}=e,o=`\n LoadingIndicator\n ${t?"is-centered":""}\n ${r?"is-vcentered":""}\n ${n?"is-small":""}\n ${a||""}\n `;return jsxRuntimeExports.jsx(Icon$1,{type:"loading",className:o,...i})}LoadingIndicator.defaultProps={centered:!1,className:void 0,small:!1};const isFunction$3=function(e){return"function"==typeof e},isEmpty$1=function(e){return 0===e.length},toString$1=function(e){return e.toString()},isString=function(e){return"string"==typeof e};var DEFAULT_NAMESPACE="/",ACTION_TYPE_DELIMITER="||";const identity$6=function(e){return e},isNull$1=function(e){return null===e};function createAction(e,t,r){void 0===t&&(t=identity$6),browser(isFunction$3(t)||isNull$1(t),"Expected payloadCreator to be a function, undefined or null");var a=isNull$1(t)||t===identity$6?identity$6:function(e){for(var r=arguments.length,a=new Array(r>1?r-1:0),n=1;n1?t-1:0),a=1;a2?r-2:0),o=2;o-1};function normalizeName(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function normalizeValue(e){return"string"!=typeof e&&(e=String(e)),e}function iteratorFor(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return support.iterable&&(t[Symbol.iterator]=function(){return t}),t}function Headers$1(e){this.map={},e instanceof Headers$1?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function consumed(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function fileReaderReady(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function readBlobAsArrayBuffer(e){var t=new FileReader,r=fileReaderReady(t);return t.readAsArrayBuffer(e),r}function readBlobAsText(e){var t=new FileReader,r=fileReaderReady(t);return t.readAsText(e),r}function readArrayBufferAsText(e){for(var t=new Uint8Array(e),r=new Array(t.length),a=0;a-1?t:e}function Request$1(e,t){if(!(this instanceof Request$1))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r=(t=t||{}).body;if(e instanceof Request$1){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new Headers$1(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,r||null==e._bodyInit||(r=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new Headers$1(t.headers)),this.method=normalizeMethod(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var a=/([?&])_=[^&]*/;if(a.test(this.url))this.url=this.url.replace(a,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function decode$1(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),a=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(a),decodeURIComponent(n))}})),t}function parseHeaders(e){var t=new Headers$1;return e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),a=r.shift().trim();if(a){var n=r.join(":").trim();t.append(a,n)}})),t}function Response$1(e,t){if(!(this instanceof Response$1))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new Headers$1(t.headers),this.url=t.url||"",this._initBody(e)}Request$1.prototype.clone=function(){return new Request$1(this,{body:this._bodyInit})},Body.call(Request$1.prototype),Body.call(Response$1.prototype),Response$1.prototype.clone=function(){return new Response$1(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers$1(this.headers),url:this.url})},Response$1.error=function(){var e=new Response$1(null,{status:0,statusText:""});return e.type="error",e};var redirectStatuses=[301,302,303,307,308];Response$1.redirect=function(e,t){if(-1===redirectStatuses.indexOf(t))throw new RangeError("Invalid status code");return new Response$1(null,{status:t,headers:{location:e}})};var DOMException$1=global$6.DOMException;try{new DOMException$1}catch(err){DOMException$1=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},DOMException$1.prototype=Object.create(Error.prototype),DOMException$1.prototype.constructor=DOMException$1}function fetch$1(t,r){return new Promise((function(a,n){var i=new Request$1(t,r);if(i.signal&&i.signal.aborted)return n(new DOMException$1("Aborted","AbortError"));var o=new XMLHttpRequest;function l(){o.abort()}o.onload=function(){var e={status:o.status,statusText:o.statusText,headers:parseHeaders(o.getAllResponseHeaders()||"")};e.url="responseURL"in o?o.responseURL:e.headers.get("X-Request-URL");var t="response"in o?o.response:o.responseText;setTimeout((function(){a(new Response$1(t,e))}),0)},o.onerror=function(){setTimeout((function(){n(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){n(new TypeError("Network request failed"))}),0)},o.onabort=function(){setTimeout((function(){n(new DOMException$1("Aborted","AbortError"))}),0)},o.open(i.method,function(t){try{return""===t&&global$6.location.href?global$6.location.href:t}catch(e){return t}}(i.url),!0),"include"===i.credentials?o.withCredentials=!0:"omit"===i.credentials&&(o.withCredentials=!1),"responseType"in o&&(support.blob?o.responseType="blob":support.arrayBuffer&&i.headers.get("Content-Type")&&-1!==i.headers.get("Content-Type").indexOf("application/octet-stream")&&(o.responseType="arraybuffer")),!r||"object"!=typeof r.headers||r.headers instanceof Headers$1?i.headers.forEach((function(e,t){o.setRequestHeader(t,e)})):Object.getOwnPropertyNames(r.headers).forEach((function(e){o.setRequestHeader(e,normalizeValue(r.headers[e]))})),i.signal&&(i.signal.addEventListener("abort",l),o.onreadystatechange=function(){4===o.readyState&&i.signal.removeEventListener("abort",l)}),o.send(void 0===i._bodyInit?null:i._bodyInit)}))}fetch$1.polyfill=!0,global$6.fetch||(global$6.fetch=fetch$1,global$6.Headers=Headers$1,global$6.Request=Request$1,global$6.Response=Response$1);var fetchNpmBrowserify=self.fetch.bind(self);function getMessageFromError(e,t){if(null!=e.code&&null!=e.msg)return e.code===t?e.msg:`${e.code} - ${e.msg}`;try{return JSON.stringify(e)}catch(_){return String(e)}}function getJSON(e,t={}){const{query:r=null,...a}=t;a.credentials="same-origin";let n="";return r&&(n=`?${"string"==typeof r?r:queryString.stringify(r)}`),fetchNpmBrowserify(`${e}${n}`,a).then((t=>t.status<400?t.json():t.text().then((a=>{let n,i,o;try{n=JSON.parse(a),i=JSON.stringify(n,null,2)}catch(_){n=null,i=null}o=n&&Array.isArray(n.errors)&&n.errors.length?n.errors.map((e=>getMessageFromError(e,t.status))).join("; "):a||`${t.status} - ${t.statusText}`,"string"==typeof o&&(o=o.trim());const l=new Error(`HTTP Error: ${o}`);throw l.httpStatus=t.status,l.httpStatusText=t.statusText,l.httpBody=i||a,l.httpUrl=e,l.httpQuery="string"==typeof r?r:queryString.stringify(r),l}))))}const DEFAULT_API_ROOT=isString$6(window.apiBaseUrl)?`${window.apiBaseUrl}/api/`:prefixUrl("/api/"),ANALYTICS_ROOT=prefixUrl("/analytics/"),DEFAULT_DEPENDENCY_LOOKBACK=hooks$1.duration(1,"weeks").asMilliseconds(),JaegerAPI={apiRoot:DEFAULT_API_ROOT,archiveTrace(e){return getJSON(`${this.apiRoot}archive/${e}`,{method:"POST"})},fetchDecoration:e=>getJSON(e),fetchDeepDependencyGraph:e=>getJSON(`${ANALYTICS_ROOT}v1/dependencies`,{query:e}),fetchDependencies(e=(new Date).getTime(),t=DEFAULT_DEPENDENCY_LOOKBACK){return getJSON(`${this.apiRoot}dependencies`,{query:{endTs:e,lookback:t}})},fetchQualityMetrics:(e,t)=>getJSON("/qualitymetrics-v2",{query:{hours:t,service:e}}),fetchServiceOperations(e){return getJSON(`${this.apiRoot}services/${encodeURIComponent(e)}/operations`)},fetchServiceServerOps(e){return getJSON(`${this.apiRoot}operations`,{query:{service:e,spanKind:"server"}})},fetchServices(){return getJSON(`${this.apiRoot}services`)},fetchTrace(e){return getJSON(`${this.apiRoot}traces/${e}`)},searchTraces(e){return getJSON(`${this.apiRoot}traces`,{query:e})},fetchMetrics(e,t,r){const a=t.map((e=>`service=${e}`)).join(",");return getJSON(`${this.apiRoot}metrics/${e}`,{query:`${a}&${queryString.stringify(r)}`}).then((e=>({...e,quantile:r.quantile})))}},metricType={latencies:"latencies",calls:"calls",errors:"errors"};function allSettled(e){const t=e.map((e=>Promise.resolve(e).then((e=>({status:"fulfilled",value:e})),(e=>({status:"rejected",reason:e})))));return Promise.all(t)}const fetchTrace=createAction("@JAEGER_API/FETCH_TRACE",(e=>JaegerAPI.fetchTrace(e)),(e=>({id:e}))),fetchMultipleTraces=createAction("@JAEGER_API/FETCH_MULTIPLE_TRACES",(e=>JaegerAPI.searchTraces({traceID:e})),(e=>({ids:e}))),archiveTrace=createAction("@JAEGER_API/ARCHIVE_TRACE",(e=>JaegerAPI.archiveTrace(e)),(e=>({id:e}))),searchTraces=createAction("@JAEGER_API/SEARCH_TRACES",(e=>JaegerAPI.searchTraces(e)),(e=>({query:e}))),fetchServices=createAction("@JAEGER_API/FETCH_SERVICES",(()=>JaegerAPI.fetchServices())),fetchServiceOperations=createAction("@JAEGER_API/FETCH_SERVICE_OPERATIONS",(e=>JaegerAPI.fetchServiceOperations(e)),(e=>({serviceName:e}))),fetchServiceServerOps=createAction("@JAEGER_API/FETCH_SERVICE_SERVER_OP",(e=>JaegerAPI.fetchServiceServerOps(e)),(e=>({serviceName:e}))),fetchDeepDependencyGraph=createAction("@JAEGER_API/FETCH_DEEP_DEPENDENCY_GRAPH",(e=>JaegerAPI.fetchDeepDependencyGraph(e)),(e=>({query:e}))),fetchDependencies=createAction("@JAEGER_API/FETCH_DEPENDENCIES",(()=>JaegerAPI.fetchDependencies())),fetchAllServiceMetrics=createAction("@JAEGER_API/FETCH_ALL_SERVICE_METRICS",((e,t)=>allSettled([JaegerAPI.fetchMetrics(metricType.latencies,[e],{...t,quantile:.5}),JaegerAPI.fetchMetrics(metricType.latencies,[e],{...t,quantile:.75}),JaegerAPI.fetchMetrics(metricType.latencies,[e],t),JaegerAPI.fetchMetrics(metricType.calls,[e],t),JaegerAPI.fetchMetrics(metricType.errors,[e],t)]))),fetchAggregatedServiceMetrics=createAction("@JAEGER_API/FETCH_AGGREGATED_SERVICE_METRICS",((e,t)=>{const r={...t,groupByOperation:!0};return allSettled([JaegerAPI.fetchMetrics(metricType.latencies,[e],r),JaegerAPI.fetchMetrics(metricType.calls,[e],r),JaegerAPI.fetchMetrics(metricType.errors,[e],r)])})),jaegerApiActions=Object.freeze(Object.defineProperty({__proto__:null,allSettled:allSettled,archiveTrace:archiveTrace,fetchAggregatedServiceMetrics:fetchAggregatedServiceMetrics,fetchAllServiceMetrics:fetchAllServiceMetrics,fetchDeepDependencyGraph:fetchDeepDependencyGraph,fetchDependencies:fetchDependencies,fetchMultipleTraces:fetchMultipleTraces,fetchServiceOperations:fetchServiceOperations,fetchServiceServerOps:fetchServiceServerOps,fetchServices:fetchServices,fetchTrace:fetchTrace,searchTraces:searchTraces},Symbol.toStringTag,{value:"Module"}));var NOT_FOUND="NOT_FOUND";function createSingletonCache(e){var t;return{get:function(r){return t&&e(t.key,r)?t.value:NOT_FOUND},put:function(e,r){t={key:e,value:r}},getEntries:function(){return t?[t]:[]},clear:function(){t=void 0}}}function createLruCache(e,t){var r=[];function a(e){var a=r.findIndex((function(r){return t(e,r.key)}));if(a>-1){var n=r[a];return a>0&&(r.splice(a,1),r.unshift(n)),n.value}return NOT_FOUND}return{get:a,put:function(t,n){a(t)===NOT_FOUND&&(r.unshift({key:t,value:n}),r.length>e&&r.pop())},getEntries:function(){return r},clear:function(){r=[]}}}var defaultEqualityCheck=function(e,t){return e===t};function createCacheKeyComparator(e){return function(t,r){if(null===t||null===r||t.length!==r.length)return!1;for(var a=t.length,n=0;n1?t-1:0),a=1;ae),(e=>{const t=e.reduce(((e,t)=>{const{nodeMap:r}=e;let{links:a}=e;return r[t.parent]=r[t.parent]?r[t.parent]+t.callCount:t.callCount,r[t.child]=r[t.child]?e.nodeMap[t.child]+t.callCount:t.callCount,t.parent!==t.child&&(a=a.concat([{source:t.parent,target:t.child,callCount:t.callCount,value:Math.max(Math.sqrt(t.callCount/1e4),1),target_node_size:Math.max(Math.log(r[t.child]/1e3),3)}])),{nodeMap:r,links:a}}),{nodeMap:{},links:[]});t.nodes=Object.keys(t.nodeMap).map((e=>({callCount:t.nodeMap[e],radius:Math.max(Math.log(t.nodeMap[e]/1e3),3),orphan:-1===t.links.findIndex((t=>e===t.source||e===t.target)),id:e})));const{nodes:r,links:a}=t;return{nodes:r,links:a}})),index$H="",TabPane$1=Tabs.TabPane,GRAPH_TYPES={FORCE_DIRECTED:{type:"FORCE_DIRECTED",name:"Force Directed Graph"},DAG:{type:"DAG",name:"DAG"}},dagMaxNumServices=getConfigValue("dependencies.dagMaxNumServices")||FALLBACK_DAG_MAX_NUM_SERVICES;class DependencyGraphPageImpl extends reactExports.Component{constructor(e){super(e),_defineProperty3(this,"handleGraphTypeChange",(e=>this.setState({graphType:e}))),this.state={graphType:"FORCE_DIRECTED"}}componentDidMount(){this.props.fetchDependencies()}render(){const{nodes:e,links:t,error:r,dependencies:a,loading:n}=this.props,{graphType:i}=this.state;if(n)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});if(r)return jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-m3",error:r});if(!e||!t)return jsxRuntimeExports.jsx("div",{className:"u-simple-card ub-m3",children:"No service dependencies found."});const o=[GRAPH_TYPES.FORCE_DIRECTED];return a.length<=dagMaxNumServices&&o.push(GRAPH_TYPES.DAG),jsxRuntimeExports.jsx(Tabs,{onChange:this.handleGraphTypeChange,activeKey:i,type:"card",tabBarStyle:{background:"#f5f5f5",padding:"1rem 1rem 0 1rem"},children:o.map((r=>jsxRuntimeExports.jsx(TabPane$1,{className:"ub-relelative",tab:r.name,children:jsxRuntimeExports.jsxs("div",{className:"DependencyGraph--graphWrapper",children:["FORCE_DIRECTED"===r.type&&jsxRuntimeExports.jsx(DependencyForceGraph,{nodes:e,links:t}),"DAG"===r.type&&jsxRuntimeExports.jsx(DAG,{serviceCalls:a})]})},r.type)))})}}function mapStateToProps$b(e){const{dependencies:t,error:r,loading:a}=e.dependencies;let n,i;if(t&&t.length>0){const e=formatDependenciesAsNodesAndLinks({dependencies:t});n=e.links,i=e.nodes}return{loading:a,error:r,nodes:i,links:n,dependencies:t}}function mapDispatchToProps$b(e){const{fetchDependencies:t}=bindActionCreators(jaegerApiActions,e);return{fetchDependencies:t}}_defineProperty3(DependencyGraphPageImpl,"propTypes",{dependencies:propTypesExports.any.isRequired,fetchDependencies:propTypesExports.func.isRequired,nodes:nodesPropTypes,links:linksPropTypes,loading:propTypesExports.bool.isRequired,error:propTypesExports.object}),_defineProperty3(DependencyGraphPageImpl,"defaultProps",{nodes:null,links:null,error:null});const DependencyGraph=connect$3(mapStateToProps$b,mapDispatchToProps$b)(DependencyGraphPageImpl);var debounce$1=debounce_1,isObject$6=isObject_1,FUNC_ERROR_TEXT="Expected a function";function throttle(e,t,r){var a=!0,n=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT);return isObject$6(r)&&(a="leading"in r?!!r.leading:a,n="trailing"in r?!!r.trailing:n),debounce$1(e,t,{leading:a,maxWait:t,trailing:n})}var throttle_1=throttle;const ACTION_FILTER_SET="set",ACTION_FILTER_CLEAR="clear",getTrackFilterSet=e=>throttle_1(trackEvent.bind(null,e,ACTION_FILTER_SET),750,{leading:!1}),getTrackFilterClear=e=>throttle_1(trackEvent.bind(null,e,ACTION_FILTER_CLEAR),750,{leading:!1});function getTrackFilter(e){const t=getTrackFilterSet(e),r=getTrackFilterClear(e);return e=>e?t():r()}const CATEGORY_DENSITY_CHANGE="jaeger/ux/ddg/density-change",CATEGORY_DENSITY_SELECTION="jaeger/ux/ddg/density-selection",CATEGORY_DOWNSTREAM_HOPS_CHANGE="jaeger/ux/ddg/downstream-hops-change",CATEGORY_DOWNSTREAM_HOPS_SELECTION="jaeger/ux/ddg/downstream-hops-selection",CATEGORY_FILTER$1="jaeger/ux/ddg/filter",CATEGORY_MATCH_INTERACTIONS$1="jaeger/ux/ddg/match-interactions",CATEGORY_SEARCH="jaeger/ux/ddg/search",CATEGORY_TOGGLE_SHOW_OP="jaeger/ux/ddg/toggle-show-op",CATEGORY_UPSTREAM_HOPS_CHANGE="jaeger/ux/ddg/upstream-hops-change",CATEGORY_UPSTREAM_HOPS_SELECTION="jaeger/ux/ddg/upstream-hops-selection",CATEGORY_VERTEX_INTERACTIONS="jaeger/ux/ddg/vertex-interactions",ACTION_CLEAR_OPERATION="clear-operation",ACTION_DECREASE="decrease",ACTION_FOCUS_PATHS="focus-paths",ACTION_HIDE="hide",ACTION_HIDE_CHILDREN="hide-children",ACTION_HIDE_PARENTS="hide-parents",ACTION_INCREASE="increase",ACTION_SET_FOCUS="set-focus",ACTION_SET_OPERATION="set-operation",ACTION_SET_SERVICE="set-service",ACTION_SHOW="show",ACTION_SHOW_CHILDREN="show-children",ACTION_SHOW_PARENTS="show-parents",ACTION_VIEW_TRACES="view-traces";function trackClearOperation(){trackEvent(CATEGORY_SEARCH,ACTION_CLEAR_OPERATION)}function trackDensityChange(e,t,r){if(e===t)return;let a,n;if(r.forEach((({option:r},i)=>{r===e&&(a=i),r===t&&(n=i)})),void 0===a&&console.warn(`Received unknown density ${e}`),void 0===n)return void console.warn(`Received unknown density ${t}`);if(void 0===a)return;trackEvent(CATEGORY_DENSITY_CHANGE,a>n?ACTION_INCREASE:ACTION_DECREASE),trackEvent(CATEGORY_DENSITY_SELECTION,t)}const trackFilter$1=getTrackFilter(CATEGORY_FILTER$1);function trackFocusPaths(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_FOCUS_PATHS)}function trackHeaderSetOperation(){trackEvent(CATEGORY_SEARCH,ACTION_SET_OPERATION)}function trackHide(e){e?e===EDirection.Upstream?trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE_PARENTS):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE_CHILDREN):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE)}function trackHopChange(e,t,r){if(e===t)return;const a=Math.abs(t)>Math.abs(e)?ACTION_INCREASE:ACTION_DECREASE,[n,i]=r===EDirection.Upstream?[CATEGORY_UPSTREAM_HOPS_SELECTION,CATEGORY_UPSTREAM_HOPS_CHANGE]:[CATEGORY_DOWNSTREAM_HOPS_SELECTION,CATEGORY_DOWNSTREAM_HOPS_CHANGE];trackEvent(n,`${t}`),trackEvent(i,a)}function trackShow(e){e===EDirection.Upstream?trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SHOW_PARENTS):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SHOW_CHILDREN)}function trackSetFocus(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SET_FOCUS)}function trackSetService(){trackEvent(CATEGORY_SEARCH,ACTION_SET_SERVICE)}function trackShowMatches(){trackEvent(CATEGORY_MATCH_INTERACTIONS$1,ACTION_SHOW)}function trackToggleShowOp(e){trackEvent(CATEGORY_TOGGLE_SHOW_OP,e?ACTION_SHOW:ACTION_HIDE)}function trackVertexSetOperation(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SET_OPERATION)}function trackViewTraces$1(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_VIEW_TRACES)}function makeCacheScope(){const e=new Map;return function(t,r){const a=e.get(t);return a||(e.set(t,r),r)}}const defaultScope=Object.assign(makeCacheScope(),{makeScope:makeCacheScope});function reduce$1(e,t){let{className:r,style:a,...n}=e;const{className:i,style:o,...l}=t;return i&&(r=r?`${r} ${i}`:i),o&&"object"==typeof o&&(a=a?{...a,...o}:o),{className:r,style:a,...n,...l}}function assignMergeCss$1(){for(var e=arguments.length,t=new Array(e),r=0;r1?t-1:0),a=1;a"function"==typeof e?e(...r)||{}:e)))}const getValueScaler=(()=>{const e={expAdjuster:.5,factorMax:1,factorMin:0,valueMax:1,valueMin:.3};return function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{expAdjuster:r,factorMax:a,factorMin:n,valueMax:i,valueMin:o}={...e,...t};return function(e){return e>=a?i:e<=n?o:o+((e-n)/(a-n))**r*(i-o)}}})();function isSamePropSetter(e,t){return Array.isArray(e)?!(!Array.isArray(t)||e.length!==t.length)&&!e.some(((e,r)=>e!==t[r])):e===t}var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(e){var t=e+="",r=t.indexOf(":");return r>=0&&"xmlns"!==(t=e.slice(0,r))&&(e=e.slice(r+1)),namespaces.hasOwnProperty(t)?{space:namespaces[t],local:e}:e}function creatorInherit(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===xhtml&&t.documentElement.namespaceURI===xhtml?t.createElement(e):t.createElementNS(r,e)}}function creatorFixed(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function creator(e){var t=namespace(e);return(t.local?creatorFixed:creatorInherit)(t)}function none$2(){}function selector(e){return null==e?none$2:function(){return this.querySelector(e)}}function selection_select(e){"function"!=typeof e&&(e=selector(e));for(var t=this._groups,r=t.length,a=new Array(r),n=0;n=y&&(y=v+1);!(m=b[y])&&++y=0;)(a=n[i])&&(o&&4^a.compareDocumentPosition(o)&&o.parentNode.insertBefore(a,o),o=a);return this}function selection_sort(e){function t(t,r){return t&&r?e(t.__data__,r.__data__):!t-!r}e||(e=ascending$3);for(var r=this._groups,a=r.length,n=new Array(a),i=0;it?1:e>=t?0:NaN}function selection_call(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){for(var e=this._groups,t=0,r=e.length;t1?this.each((null==t?styleRemove$1:"function"==typeof t?styleFunction$1:styleConstant$1)(e,t,null==r?"":r)):styleValue(this.node(),e)}function styleValue(e,t){return e.style.getPropertyValue(t)||defaultView(e).getComputedStyle(e,null).getPropertyValue(t)}function propertyRemove(e){return function(){delete this[e]}}function propertyConstant(e,t){return function(){this[e]=t}}function propertyFunction(e,t){return function(){var r=t.apply(this,arguments);null==r?delete this[e]:this[e]=r}}function selection_property(e,t){return arguments.length>1?this.each((null==t?propertyRemove:"function"==typeof t?propertyFunction:propertyConstant)(e,t)):this.node()[e]}function classArray(e){return e.trim().split(/^|\s+/)}function classList(e){return e.classList||new ClassList(e)}function ClassList(e){this._node=e,this._names=classArray(e.getAttribute("class")||"")}function classedAdd(e,t){for(var r=classList(e),a=-1,n=t.length;++a=0&&(t=e.slice(r+1),e=e.slice(0,r)),{type:e,name:t}}))}function onRemove(e){return function(){var t=this.__on;if(t){for(var r,a=0,n=-1,i=t.length;a=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var root$2=[null];function Selection$1(e,t){this._groups=e,this._parents=t}function selection(){return new Selection$1([[document.documentElement]],root$2)}function selection_selection(){return this}function select(e){return"string"==typeof e?new Selection$1([[document.querySelector(e)]],[document.documentElement]):new Selection$1([[e]],root$2)}function sourceEvent(e){let t;for(;t=e.sourceEvent;)e=t;return e}function pointer(e,t){if(e=sourceEvent(e),void 0===t&&(t=e.currentTarget),t){var r=t.ownerSVGElement||t;if(r.createSVGPoint){var a=r.createSVGPoint();return a.x=e.clientX,a.y=e.clientY,[(a=a.matrixTransform(t.getScreenCTM().inverse())).x,a.y]}if(t.getBoundingClientRect){var n=t.getBoundingClientRect();return[e.clientX-n.left-t.clientLeft,e.clientY-n.top-t.clientTop]}}return[e.pageX,e.pageY]}Selection$1.prototype=selection.prototype={constructor:Selection$1,select:selection_select,selectAll:selection_selectAll,selectChild:selection_selectChild,selectChildren:selection_selectChildren,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,selection:selection_selection,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch,[Symbol.iterator]:selection_iterator};var noop$9={value:()=>{}};function dispatch(){for(var e,t=0,r=arguments.length,a={};t=0&&(r=e.slice(a+1),e=e.slice(0,a)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}}))}function get$1(e,t){for(var r,a=0,n=e.length;a0)for(var r,a,n=new Array(r),i=0;i>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?rgba$2(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?rgba$2(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=reRgbInteger$2.exec(e))?new Rgb$2(t[1],t[2],t[3],1):(t=reRgbPercent$2.exec(e))?new Rgb$2(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger$2.exec(e))?rgba$2(t[1],t[2],t[3],t[4]):(t=reRgbaPercent$2.exec(e))?rgba$2(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent$2.exec(e))?hsla$2(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent$2.exec(e))?hsla$2(t[1],t[2]/100,t[3]/100,t[4]):named$2.hasOwnProperty(e)?rgbn$2(named$2[e]):"transparent"===e?new Rgb$2(NaN,NaN,NaN,0):null}function rgbn$2(e){return new Rgb$2(e>>16&255,e>>8&255,255&e,1)}function rgba$2(e,t,r,a){return a<=0&&(e=t=r=NaN),new Rgb$2(e,t,r,a)}function rgbConvert$2(e){return e instanceof Color$2||(e=color$2(e)),e?new Rgb$2((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb$2}function rgb$3(e,t,r,a){return 1===arguments.length?rgbConvert$2(e):new Rgb$2(e,t,r,null==a?1:a)}function Rgb$2(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function rgb_formatHex$1(){return`#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}`}function rgb_formatHex8$1(){return`#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}${hex$2(255*(isNaN(this.opacity)?1:this.opacity))}`}function rgb_formatRgb$1(){const e=clampa$1(this.opacity);return`${1===e?"rgb(":"rgba("}${clampi$1(this.r)}, ${clampi$1(this.g)}, ${clampi$1(this.b)}${1===e?")":`, ${e})`}`}function clampa$1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function clampi$1(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hex$2(e){return((e=clampi$1(e))<16?"0":"")+e.toString(16)}function hsla$2(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl$2(e,t,r,a)}function hslConvert$2(e){if(e instanceof Hsl$2)return new Hsl$2(e.h,e.s,e.l,e.opacity);if(e instanceof Color$2||(e=color$2(e)),!e)return new Hsl$2;if(e instanceof Hsl$2)return e;var t=(e=e.rgb()).r/255,r=e.g/255,a=e.b/255,n=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-n,s=(i+n)/2;return l?(o=t===i?(r-a)/l+6*(r0&&s<1?0:o,new Hsl$2(o,l,s,e.opacity)}function hsl$2(e,t,r,a){return 1===arguments.length?hslConvert$2(e):new Hsl$2(e,t,r,null==a?1:a)}function Hsl$2(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function clamph$1(e){return(e=(e||0)%360)<0?e+360:e}function clampt$1(e){return Math.max(0,Math.min(1,e||0))}function hsl2rgb$2(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}define$2(Color$2,color$2,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:color_formatHex$1,formatHex:color_formatHex$1,formatHex8:color_formatHex8$1,formatHsl:color_formatHsl$1,formatRgb:color_formatRgb$1,toString:color_formatRgb$1}),define$2(Rgb$2,rgb$3,extend$2(Color$2,{brighter(e){return e=null==e?brighter$2:Math.pow(brighter$2,e),new Rgb$2(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?darker$2:Math.pow(darker$2,e),new Rgb$2(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rgb$2(clampi$1(this.r),clampi$1(this.g),clampi$1(this.b),clampa$1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex$1,formatHex:rgb_formatHex$1,formatHex8:rgb_formatHex8$1,formatRgb:rgb_formatRgb$1,toString:rgb_formatRgb$1})),define$2(Hsl$2,hsl$2,extend$2(Color$2,{brighter(e){return e=null==e?brighter$2:Math.pow(brighter$2,e),new Hsl$2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?darker$2:Math.pow(darker$2,e),new Hsl$2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,n=2*r-a;return new Rgb$2(hsl2rgb$2(e>=240?e-240:e+120,n,a),hsl2rgb$2(e,n,a),hsl2rgb$2(e<120?e+240:e-120,n,a),this.opacity)},clamp(){return new Hsl$2(clamph$1(this.h),clampt$1(this.s),clampt$1(this.l),clampa$1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=clampa$1(this.opacity);return`${1===e?"hsl(":"hsla("}${clamph$1(this.h)}, ${100*clampt$1(this.s)}%, ${100*clampt$1(this.l)}%${1===e?")":`, ${e})`}`}}));const constant$7=e=>()=>e;function linear$2(e,t){return function(r){return e+r*t}}function exponential$1(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}function gamma$1(e){return 1==(e=+e)?nogamma$1:function(t,r){return r-t?exponential$1(t,r,e):constant$7(isNaN(t)?r:t)}}function nogamma$1(e,t){var r=t-e;return r?linear$2(e,r):constant$7(isNaN(e)?t:e)}const interpolateRgb=function e(t){var r=gamma$1(t);function a(e,t){var a=r((e=rgb$3(e)).r,(t=rgb$3(t)).r),n=r(e.g,t.g),i=r(e.b,t.b),o=nogamma$1(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=n(t),e.b=i(t),e.opacity=o(t),e+""}}return a.gamma=e,a}(1);function interpolateNumber(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var reA$1=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB$1=new RegExp(reA$1.source,"g");function zero$1(e){return function(){return e}}function one$1(e){return function(t){return e(t)+""}}function interpolateString(e,t){var r,a,n,i=reA$1.lastIndex=reB$1.lastIndex=0,o=-1,l=[],s=[];for(e+="",t+="";(r=reA$1.exec(e))&&(a=reB$1.exec(t));)(n=a.index)>i&&(n=t.slice(i,n),l[o]?l[o]+=n:l[++o]=n),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:interpolateNumber(r,a)})),i=reB$1.lastIndex;return i180?t+=360:t-e>180&&(e+=360),i.push({i:r.push(n(r)+"rotate(",null,a)-2,x:interpolateNumber(e,t)})):t&&r.push(n(r)+"rotate("+t+a)}(i.rotate,o.rotate,l,s),function(e,t,r,i){e!==t?i.push({i:r.push(n(r)+"skewX(",null,a)-2,x:interpolateNumber(e,t)}):t&&r.push(n(r)+"skewX("+t+a)}(i.skewX,o.skewX,l,s),function(e,t,r,a,i,o){if(e!==r||t!==a){var l=i.push(n(i)+"scale(",null,",",null,")");o.push({i:l-4,x:interpolateNumber(e,r)},{i:l-2,x:interpolateNumber(t,a)})}else 1===r&&1===a||i.push(n(i)+"scale("+r+","+a+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,l,s),i=o=null,function(e){for(var t,r=-1,a=s.length;++r=0&&t._call.call(void 0,e),t=t._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var e=clock.now(),t=e-clockLast;t>pokeDelay&&(clockSkew-=t,clockLast=e)}function nap(){for(var e,t,r=taskHead,a=1/0;r;)r._call?(a>r._time&&(a=r._time),e=r,r=r._next):(t=r._next,r._next=null,r=e?e._next=t:taskHead=t);taskTail=e,sleep(a)}function sleep(e){frame||(timeout$1&&(timeout$1=clearTimeout(timeout$1)),e-clockNow>24?(e<1/0&&(timeout$1=setTimeout(wake,e-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake)))}function timeout(e,t,r){var a=new Timer;return t=null==t?0:+t,a.restart((r=>{a.stop(),e(r+t)}),t,r),a}Timer.prototype=timer.prototype={constructor:Timer,restart:function(e,t,r){if("function"!=typeof e)throw new TypeError("callback is not a function");r=(null==r?now$3():+r)+(null==t?0:+t),this._next||taskTail===this||(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=e,this._time=r,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(e,t,r,a,n,i){var o=e.__transition;if(o){if(r in o)return}else e.__transition={};create$2(e,r,{name:t,index:a,group:n,on:emptyOn,tween:emptyTween,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:CREATED})}function init(e,t){var r=get(e,t);if(r.state>CREATED)throw new Error("too late; already scheduled");return r}function set$1(e,t){var r=get(e,t);if(r.state>STARTED)throw new Error("too late; already running");return r}function get(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function create$2(e,t,r){var a,n=e.__transition;function i(s){var c,u,f,A;if(r.state!==SCHEDULED)return l();for(c in n)if((A=n[c]).name===r.name){if(A.state===STARTED)return timeout(i);A.state===RUNNING?(A.state=ENDED,A.timer.stop(),A.on.call("interrupt",e,e.__data__,A.index,A.group),delete n[c]):+cSTARTING&&r.state>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?rgba$1(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?rgba$1(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=reRgbInteger$1.exec(e))?new Rgb$1(t[1],t[2],t[3],1):(t=reRgbPercent$1.exec(e))?new Rgb$1(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger$1.exec(e))?rgba$1(t[1],t[2],t[3],t[4]):(t=reRgbaPercent$1.exec(e))?rgba$1(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent$1.exec(e))?hsla$1(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent$1.exec(e))?hsla$1(t[1],t[2]/100,t[3]/100,t[4]):named$1.hasOwnProperty(e)?rgbn$1(named$1[e]):"transparent"===e?new Rgb$1(NaN,NaN,NaN,0):null}function rgbn$1(e){return new Rgb$1(e>>16&255,e>>8&255,255&e,1)}function rgba$1(e,t,r,a){return a<=0&&(e=t=r=NaN),new Rgb$1(e,t,r,a)}function rgbConvert$1(e){return e instanceof Color$1||(e=color$1(e)),e?new Rgb$1((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb$1}function rgb$2(e,t,r,a){return 1===arguments.length?rgbConvert$1(e):new Rgb$1(e,t,r,null==a?1:a)}function Rgb$1(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function rgb_formatHex(){return`#${hex$1(this.r)}${hex$1(this.g)}${hex$1(this.b)}`}function rgb_formatHex8(){return`#${hex$1(this.r)}${hex$1(this.g)}${hex$1(this.b)}${hex$1(255*(isNaN(this.opacity)?1:this.opacity))}`}function rgb_formatRgb(){const e=clampa(this.opacity);return`${1===e?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${1===e?")":`, ${e})`}`}function clampa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function clampi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hex$1(e){return((e=clampi(e))<16?"0":"")+e.toString(16)}function hsla$1(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl$1(e,t,r,a)}function hslConvert$1(e){if(e instanceof Hsl$1)return new Hsl$1(e.h,e.s,e.l,e.opacity);if(e instanceof Color$1||(e=color$1(e)),!e)return new Hsl$1;if(e instanceof Hsl$1)return e;var t=(e=e.rgb()).r/255,r=e.g/255,a=e.b/255,n=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-n,s=(i+n)/2;return l?(o=t===i?(r-a)/l+6*(r0&&s<1?0:o,new Hsl$1(o,l,s,e.opacity)}function hsl$1(e,t,r,a){return 1===arguments.length?hslConvert$1(e):new Hsl$1(e,t,r,null==a?1:a)}function Hsl$1(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function clamph(e){return(e=(e||0)%360)<0?e+360:e}function clampt(e){return Math.max(0,Math.min(1,e||0))}function hsl2rgb$1(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}function interpolate$1(e,t){var r;return("number"==typeof t?interpolateNumber:t instanceof color$1?interpolateRgb:(r=color$1(t))?(t=r,interpolateRgb):interpolateString)(e,t)}function attrRemove(e){return function(){this.removeAttribute(e)}}function attrRemoveNS(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant(e,t,r){var a,n,i=r+"";return function(){var o=this.getAttribute(e);return o===i?null:o===a?n:n=t(a=o,r)}}function attrConstantNS(e,t,r){var a,n,i=r+"";return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===a?n:n=t(a=o,r)}}function attrFunction(e,t,r){var a,n,i;return function(){var o,l,s=r(this);if(null!=s)return(o=this.getAttribute(e))===(l=s+"")?null:o===a&&l===n?i:(n=l,i=t(a=o,s));this.removeAttribute(e)}}function attrFunctionNS(e,t,r){var a,n,i;return function(){var o,l,s=r(this);if(null!=s)return(o=this.getAttributeNS(e.space,e.local))===(l=s+"")?null:o===a&&l===n?i:(n=l,i=t(a=o,s));this.removeAttributeNS(e.space,e.local)}}function transition_attr(e,t){var r=namespace(e),a="transform"===r?interpolateTransformSvg:interpolate$1;return this.attrTween(e,"function"==typeof t?(r.local?attrFunctionNS:attrFunction)(r,a,tweenValue(this,"attr."+e,t)):null==t?(r.local?attrRemoveNS:attrRemove)(r):(r.local?attrConstantNS:attrConstant)(r,a,t))}function attrInterpolate(e,t){return function(r){this.setAttribute(e,t.call(this,r))}}function attrInterpolateNS(e,t){return function(r){this.setAttributeNS(e.space,e.local,t.call(this,r))}}function attrTweenNS(e,t){var r,a;function n(){var n=t.apply(this,arguments);return n!==a&&(r=(a=n)&&attrInterpolateNS(e,n)),r}return n._value=t,n}function attrTween(e,t){var r,a;function n(){var n=t.apply(this,arguments);return n!==a&&(r=(a=n)&&attrInterpolate(e,n)),r}return n._value=t,n}function transition_attrTween(e,t){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw new Error;var a=namespace(e);return this.tween(r,(a.local?attrTweenNS:attrTween)(a,t))}function delayFunction(e,t){return function(){init(this,e).delay=+t.apply(this,arguments)}}function delayConstant(e,t){return t=+t,function(){init(this,e).delay=t}}function transition_delay(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?delayFunction:delayConstant)(t,e)):get(this.node(),t).delay}function durationFunction(e,t){return function(){set$1(this,e).duration=+t.apply(this,arguments)}}function durationConstant(e,t){return t=+t,function(){set$1(this,e).duration=t}}function transition_duration(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?durationFunction:durationConstant)(t,e)):get(this.node(),t).duration}function easeConstant(e,t){if("function"!=typeof t)throw new Error;return function(){set$1(this,e).ease=t}}function transition_ease(e){var t=this._id;return arguments.length?this.each(easeConstant(t,e)):get(this.node(),t).ease}function easeVarying(e,t){return function(){var r=t.apply(this,arguments);if("function"!=typeof r)throw new Error;set$1(this,e).ease=r}}function transition_easeVarying(e){if("function"!=typeof e)throw new Error;return this.each(easeVarying(this._id,e))}function transition_filter(e){"function"!=typeof e&&(e=matcher(e));for(var t=this._groups,r=t.length,a=new Array(r),n=0;n=0&&(e=e.slice(0,t)),!e||"start"===e}))}function onFunction(e,t,r){var a,n,i=start(t)?init:set$1;return function(){var o=i(this,e),l=o.on;l!==a&&(n=(a=l).copy()).on(t,r),o.on=n}}function transition_on(e,t){var r=this._id;return arguments.length<2?get(this.node(),r).on.on(e):this.each(onFunction(r,e,t))}function removeFunction(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(e){var t=this._name,r=this._id;"function"!=typeof e&&(e=selector(e));for(var a=this._groups,n=a.length,i=new Array(n),o=0;o=240?e-240:e+120,n,a),hsl2rgb$1(e,n,a),hsl2rgb$1(e<120?e+240:e-120,n,a),this.opacity)},clamp(){return new Hsl$1(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=clampa(this.opacity);return`${1===e?"hsl(":"hsla("}${clamph(this.h)}, ${100*clampt(this.s)}%, ${100*clampt(this.l)}%${1===e?")":`, ${e})`}`}}));var Selection=selection.prototype.constructor;function transition_selection(){return new Selection(this._groups,this._parents)}function styleNull(e,t){var r,a,n;return function(){var i=styleValue(this,e),o=(this.style.removeProperty(e),styleValue(this,e));return i===o?null:i===r&&o===a?n:n=t(r=i,a=o)}}function styleRemove(e){return function(){this.style.removeProperty(e)}}function styleConstant(e,t,r){var a,n,i=r+"";return function(){var o=styleValue(this,e);return o===i?null:o===a?n:n=t(a=o,r)}}function styleFunction(e,t,r){var a,n,i;return function(){var o=styleValue(this,e),l=r(this),s=l+"";return null==l&&(this.style.removeProperty(e),s=l=styleValue(this,e)),o===s?null:o===a&&s===n?i:(n=s,i=t(a=o,l))}}function styleMaybeRemove(e,t){var r,a,n,i,o="style."+t,l="end."+o;return function(){var s=set$1(this,e),c=s.on,u=null==s.value[o]?i||(i=styleRemove(t)):void 0;c===r&&n===u||(a=(r=c).copy()).on(l,n=u),s.on=a}}function transition_style(e,t,r){var a="transform"==(e+="")?interpolateTransformCss:interpolate$1;return null==t?this.styleTween(e,styleNull(e,a)).on("end.style."+e,styleRemove(e)):"function"==typeof t?this.styleTween(e,styleFunction(e,a,tweenValue(this,"style."+e,t))).each(styleMaybeRemove(this._id,e)):this.styleTween(e,styleConstant(e,a,t),r).on("end.style."+e,null)}function styleInterpolate(e,t,r){return function(a){this.style.setProperty(e,t.call(this,a),r)}}function styleTween(e,t,r){var a,n;function i(){var i=t.apply(this,arguments);return i!==n&&(a=(n=i)&&styleInterpolate(e,i,r)),a}return i._value=t,i}function transition_styleTween(e,t,r){var a="style."+(e+="");if(arguments.length<2)return(a=this.tween(a))&&a._value;if(null==t)return this.tween(a,null);if("function"!=typeof t)throw new Error;return this.tween(a,styleTween(e,t,null==r?"":r))}function textConstant(e){return function(){this.textContent=e}}function textFunction(e){return function(){var t=e(this);this.textContent=null==t?"":t}}function transition_text(e){return this.tween("text","function"==typeof e?textFunction(tweenValue(this,"text",e)):textConstant(null==e?"":e+""))}function textInterpolate(e){return function(t){this.textContent=e.call(this,t)}}function textTween(e){var t,r;function a(){var a=e.apply(this,arguments);return a!==r&&(t=(r=a)&&textInterpolate(a)),t}return a._value=e,a}function transition_textTween(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,textTween(e))}function transition_transition(){for(var e=this._name,t=this._id,r=newId(),a=this._groups,n=a.length,i=0;i()=>e;function ZoomEvent(e,{sourceEvent:t,target:r,transform:a,dispatch:n}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:a,enumerable:!0,configurable:!0},_:{value:n}})}function Transform(e,t,r){this.k=e,this.x=t,this.y=r}Transform.prototype={constructor:Transform,scale:function(e){return 1===e?this:new Transform(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Transform(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity$4=new Transform(1,0,0);function transform(e){for(;!e.__zoom;)if(!(e=e.parentNode))return identity$4;return e.__zoom}function nopropagation(e){e.stopImmediatePropagation()}function noevent(e){e.preventDefault(),e.stopImmediatePropagation()}function defaultFilter(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function defaultExtent(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function defaultTransform(){return this.__zoom||identity$4}function defaultWheelDelta(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(e,t,r){var a=e.invertX(t[0][0])-r[0][0],n=e.invertX(t[1][0])-r[1][0],i=e.invertY(t[0][1])-r[0][1],o=e.invertY(t[1][1])-r[1][1];return e.translate(n>a?(a+n)/2:Math.min(0,a)||Math.max(0,n),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function d3Zoom(){var e,t,r,a=defaultFilter,n=defaultExtent,i=defaultConstrain,o=defaultWheelDelta,l=defaultTouchable,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,f=interpolateZoom,A=dispatch("start","zoom","end"),d=500,p=150,h=0,b=10;function g(e){e.property("__zoom",defaultTransform).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",_).on("dblclick.zoom",C).filter(l).on("touchstart.zoom",$).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",O).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new Transform(t,e.x,e.y)}function v(e,t,r){var a=t[0]-r[0]*e.k,n=t[1]-r[1]*e.k;return a===e.x&&n===e.y?e:new Transform(e.k,a,n)}function y(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function w(e,t,r,a){e.on("start.zoom",(function(){k(this,arguments).event(a).start()})).on("interrupt.zoom end.zoom",(function(){k(this,arguments).event(a).end()})).tween("zoom",(function(){var e=this,i=arguments,o=k(e,i).event(a),l=n.apply(e,i),s=null==r?y(l):"function"==typeof r?r.apply(e,i):r,c=Math.max(l[1][0]-l[0][0],l[1][1]-l[0][1]),u=e.__zoom,A="function"==typeof t?t.apply(e,i):t,d=f(u.invert(s).concat(c/u.k),A.invert(s).concat(c/A.k));return function(e){if(1===e)e=A;else{var t=d(e),r=c/t[2];e=new Transform(r,s[0]-t[0]*r,s[1]-t[1]*r)}o.zoom(null,e)}}))}function k(e,t,r){return!r&&e.__zooming||new x(e,t)}function x(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=n.apply(e,t),this.taps=0}function E(e,...t){if(a.apply(this,arguments)){var r=k(this,t).event(e),n=this.__zoom,l=Math.max(s[0],Math.min(s[1],n.k*Math.pow(2,o.apply(this,arguments)))),u=pointer(e);if(r.wheel)r.mouse[0][0]===u[0]&&r.mouse[0][1]===u[1]||(r.mouse[1]=n.invert(r.mouse[0]=u)),clearTimeout(r.wheel);else{if(n.k===l)return;r.mouse=[u,n.invert(u)],interrupt(this),r.start()}noevent(e),r.wheel=setTimeout((function(){r.wheel=null,r.end()}),p),r.zoom("mouse",i(v(m(n,l),r.mouse[0],r.mouse[1]),r.extent,c))}}function _(e,...t){if(!r&&a.apply(this,arguments)){var n=e.currentTarget,o=k(this,t,!0).event(e),l=select(e.view).on("mousemove.zoom",(function(e){if(noevent(e),!o.moved){var t=e.clientX-u,r=e.clientY-f;o.moved=t*t+r*r>h}o.event(e).zoom("mouse",i(v(o.that.__zoom,o.mouse[0]=pointer(e,n),o.mouse[1]),o.extent,c))}),!0).on("mouseup.zoom",(function(e){l.on("mousemove.zoom mouseup.zoom",null),yesdrag(e.view,o.moved),noevent(e),o.event(e).end()}),!0),s=pointer(e,n),u=e.clientX,f=e.clientY;dragDisable(e.view),nopropagation(e),o.mouse=[s,this.__zoom.invert(s)],interrupt(this),o.start()}}function C(e,...t){if(a.apply(this,arguments)){var r=this.__zoom,o=pointer(e.changedTouches?e.changedTouches[0]:e,this),l=r.invert(o),s=r.k*(e.shiftKey?.5:2),f=i(v(m(r,s),o,l),n.apply(this,t),c);noevent(e),u>0?select(this).transition().duration(u).call(w,f,o,e):select(this).call(g.transform,f,o,e)}}function $(r,...n){if(a.apply(this,arguments)){var i,o,l,s,c=r.touches,u=c.length,f=k(this,n,r.changedTouches.length===u).event(r);for(nopropagation(r),o=0;ot?t:r}function getFittedScale(e,t,r,a){return Math.max(SCALE_MIN,Math.min((1-SCALE_MARGIN)*r/e,(1-SCALE_MARGIN)*a/t,SCALE_MAX))}function getScaleExtent(e,t,r,a){return[getFittedScale(e,t,r,a),SCALE_MAX]}function fitWithinContainer(e,t,r,a){const n=getFittedScale(e,t,r,a),i=(r-n*e)/2,o=(a-n*t)/2;return identity$4.translate(i,o).scale(n)}function constrainZoom(e,t,r,a,n){const{k:i,x:o,y:l}=e,s=getFittedScale(t,r,a,n),c=Math.max(i,s),u=boundValue(-t*c+.5*a,.5*a,o),f=boundValue(-r*c+.5*n,.5*n,l);return c!==i||u!==o||f!==l?identity$4.translate(u,f).scale(c):e}function getZoomStyle(e){if(null==e)return DEFAULT_ZOOM_STYLE;const{x:t,y:r,k:a}=e;return{transform:`translate(${t.toFixed()}px, ${r.toFixed()}px) scale(${a})`,transformOrigin:"0 0"}}function getZoomAttr(e){if(!e)return;const{x:t,y:r,k:a}=e;return`translate(${t.toFixed()},${r.toFixed()}) scale(${a})`}let ZoomManager$1=class{static getZoomAttr(e){return getZoomAttr(e)}static getZoomStyle(e){return getZoomStyle(e)}constructor(e){this.elem=null,this.contentSize=null,this.selection=null,this.updateCallback=void 0,this.zoom=void 0,this.currentTransform=identity$4,this.resetZoom=()=>{const e=this.elem,t=this.selection,r=this.contentSize;if(!e||!t||!r)return void this.updateCallback(identity$4);const{clientHeight:a,clientWidth:n}=e;this.currentTransform=fitWithinContainer(r.width,r.height,n,a),this.zoom.transform(t,this.currentTransform),this.updateCallback(this.currentTransform)},this.onZoomed=()=>{this.elem&&(this.currentTransform=transform(this.elem),this.updateCallback(this.currentTransform))},this.constrainZoom=(e,t)=>{if(!this.contentSize)return e;const{height:r,width:a}=this.contentSize,[,[n,i]]=t;return constrainZoom(e,a,r,n,i)},this.updateCallback=e,this.zoom=d3Zoom().scaleExtent(DEFAULT_SCALE_EXTENT).constrain(this.constrainZoom).on("zoom",this.onZoomed)}setElement(e){e!==this.elem&&(this.elem=e,this.selection=select(e),this.selection.call(this.zoom),this.setExtent(),this.resetZoom())}setContentSize(e){this.contentSize&&this.contentSize.height===e.height&&this.contentSize.width===e.width||(this.contentSize=e),this.setExtent(),this.resetZoom()}getProps(){const{x:e,y:t,k:r}=this.currentTransform,{height:a=1,width:n=1}=this.contentSize||{},{clientHeight:i=1,clientWidth:o=1}=this.elem||{};return{contentHeight:a,contentWidth:n,k:r,viewportHeight:i,viewportWidth:o,x:e,y:t,viewAll:this.resetZoom}}setExtent(){const e=this.elem,t=this.contentSize;if(!e||!t)return;const{clientHeight:r,clientWidth:a}=e,n=getScaleExtent(t.width,t.height,a,r);this.zoom.scaleExtent(n)}};const STYLE$1={left:0,position:"absolute",top:0};class HtmlLayer extends reactExports.PureComponent{render(){const{children:e,classNamePart:t,getClassName:r,graphState:a,setOnContainer:n,standalone:i,topLayer:o}=this.props,{zoomTransform:l}=a,s={style:o||i?ZoomManager$1.getZoomStyle(l):{}},c=assignMergeCss$1({className:r(t),style:STYLE$1},s,getProps(n,a));return reactExports.createElement("div",c,e)}}let ELayoutPhase=function(e){return e.NoData="NoData",e.CalcSizes="CalcSizes",e.CalcPositions="CalcPositions",e.CalcEdges="CalcEdges",e.Done="Done",e}({}),ELayerType=function(e){return e.Html="html",e.Svg="svg",e}({});const SVG_HIDDEN_STYLE={visibility:"hidden"};class MeasurableNode extends reactExports.PureComponent{constructor(){super(...arguments),this.htmlRef=reactExports.createRef(),this.svgRef=reactExports.createRef()}measureHtml(){const{current:e}=this.htmlRef;return e?{height:e.offsetHeight,width:e.offsetWidth}:{height:0,width:0}}measureSvg(){const{current:e}=this.svgRef;if(!e)return{height:0,width:0};const{height:t,width:r}=e.getBBox();return{height:t,width:r}}renderHtml(){const{getClassName:e,hidden:t,renderNode:r,renderUtils:a,setOnNode:n,vertex:i,layoutVertex:o}=this.props,{height:l=null,left:s=null,top:c=null,width:u=null}=o||{},f=assignMergeCss$1({className:e("MeasurableHtmlNode"),style:{height:l,width:u,boxSizing:"border-box",position:"absolute",transform:null==s||null==c?void 0:`translate(${s.toFixed()}px,${c.toFixed()}px)`,visibility:t?"hidden":void 0}},getProps(n,i,a,o));return reactExports.createElement("div",Object.assign({ref:this.htmlRef},f),r(i,a,o))}renderSvg(){const{getClassName:e,hidden:t,renderNode:r,renderUtils:a,setOnNode:n,vertex:i,layoutVertex:o}=this.props,{left:l=null,top:s=null}=o||{},c=assignMergeCss$1({className:e("MeasurableSvgNode"),transform:null==l||null==s?void 0:`translate(${l.toFixed()}, ${s.toFixed()})`,style:t?SVG_HIDDEN_STYLE:null},getProps(n,i,a,o));return reactExports.createElement("g",Object.assign({ref:this.svgRef},c),r(i,a,o))}getRef(){return this.props.layerType===ELayerType.Html?{htmlWrapper:this.htmlRef.current,svgWrapper:void 0}:{svgWrapper:this.svgRef.current,htmlWrapper:void 0}}measure(){return this.props.layerType===ELayerType.Html?this.measureHtml():this.measureSvg()}render(){const{layerType:e}=this.props;return e===ELayerType.Html?this.renderHtml():this.renderSvg()}}class MeasurableNodes extends reactExports.Component{shouldComponentUpdate(e){const t=this.props;return t.renderNode!==e.renderNode||t.getClassName!==e.getClassName||t.layerType!==e.layerType||t.layoutVertices!==e.layoutVertices||t.nodeRefs!==e.nodeRefs||t.renderUtils!==e.renderUtils||t.vertices!==e.vertices||!isSamePropSetter(t.setOnNode,e.setOnNode)}render(){const{getClassName:e,nodeRefs:t,layoutVertices:r,renderUtils:a,vertices:n,layerType:i,renderNode:o,setOnNode:l}=this.props;return n.map(((n,s)=>reactExports.createElement(MeasurableNode,{key:n.key,getClassName:e,ref:t[s],hidden:!r,layerType:i,renderNode:o,renderUtils:a,vertex:n,layoutVertex:r&&r[s],setOnNode:l})))}}const getMarkerScale=getValueScaler({factorMax:1,factorMin:.1,valueMax:2,valueMin:6});function renderDefaultMarker(e,t,r){const a=getMarkerScale(e.zoomTransform.k);return reactExports.createElement("marker",Object.assign({id:r,markerHeight:8*a,markerUnits:"userSpaceOnUse",markerWidth:8*a,orient:"auto",refX:8*a,refY:3*a},t),reactExports.createElement("path",{d:`M0,0 L0,${6*a} L${9*a},${3*a} z`}))}class SvgDefEntry extends reactExports.PureComponent{render(){const{getClassName:e,localId:t,graphState:r,renderEntry:a=renderDefaultMarker,setOnEntry:n}=this.props,i=r.renderUtils.getGlobalId(t);return a(r,assignMergeCss$1({className:e("DefEntry")},getProps(n,r)),i)}}const STYLE={left:0,minHeight:"100%",minWidth:"100%",position:"absolute",top:0};class SvgLayer extends reactExports.PureComponent{render(){const{children:e,classNamePart:t,getClassName:r,defs:a,extraWrapper:n,graphState:i,setOnContainer:o,standalone:l,topLayer:s}=this.props,c=assignMergeCss$1({className:r(t)},getProps(o,i));let u=reactExports.createElement("g",c,a&&reactExports.createElement("defs",null,a.map((e=>reactExports.createElement(SvgDefEntry,Object.assign({key:e.localId},e,{getClassName:r,graphState:i}))))),e);if(n&&(u=reactExports.createElement("g",n,u)),!l&&!s)return u;const{zoomTransform:f}=i;return reactExports.createElement("svg",{className:r("SvgLayer"),style:STYLE},reactExports.createElement("g",{className:r("SvgLayer--transformer"),transform:ZoomManager$1.getZoomAttr(f)},u))}}function createRefs(e){const t=[];for(let r=0;r{if(l)return l.getRef();throw new Error("Invalid scenario")},getWrapperSize:()=>{if(l)return l.measure();throw new Error("Invalid scenario")}},c=[];for(let u=0;ureactExports.createElement(Node$4,{key:t.vertex.key,getClassName:e,layerType:a,layoutVertex:t,renderNode:n,renderUtils:r,setOnNode:i})))}}class NodesLayer extends reactExports.PureComponent{render(){const{renderNode:e}=this.props,{layoutVertices:t,renderUtils:r}=this.props.graphState;if(!t||!e)return null;const{getClassName:a,layerType:n,setOnNode:i}=this.props,o=n===ELayerType.Html?HtmlLayer:SvgLayer;return reactExports.createElement(o,Object.assign({},this.props,{classNamePart:"NodesLayer"}),reactExports.createElement(Nodes,{getClassName:a,layerType:n,layoutVertices:t,renderNode:e,renderUtils:r,setOnNode:i}))}}class HtmlLayersGroup extends reactExports.PureComponent{renderLayers(){const{getClassName:e,layers:t,graphState:r,setSizeVertices:a}=this.props;return t.map((t=>{const{key:n,setOnContainer:i}=t;if(t.measurable){const{renderNode:o,setOnNode:l}=t;return reactExports.createElement(MeasurableNodesLayer,{key:n,getClassName:e,graphState:r,layerType:ELayerType.Html,renderNode:o,senderKey:n,setOnContainer:i,setOnNode:l,setSizeVertices:a})}if(t.renderNode){const{renderNode:a,setOnNode:o}=t;return reactExports.createElement(NodesLayer,{key:n,getClassName:e,graphState:r,layerType:ELayerType.Html,renderNode:a,setOnContainer:i,setOnNode:o})}throw new Error("Not implemented")}))}render(){return reactExports.createElement(HtmlLayer,Object.assign({topLayer:!0,classNamePart:"HtmlLayersGroup"},this.props),this.renderLayers())}}const classNameIsSmall$3=function(e){const{k:t=1}=e.zoomTransform||{};return t<=.29?{className:"is-small"}:null},scaleProperty=(()=>{const e=1,t=.3;function r(r){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;const n={style:{[r]:a}},i=`scale_${r}`,o=getValueScaler({valueMax:a,valueMin:arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,expAdjuster:arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5});return{[i](e){const{zoomTransform:t}=e;if(!t)return n;const a=o(t.k);return{style:{[r]:a}}}}[i]}return r.opacity=r("opacity"),r.strokeOpacity=r("strokeOpacity"),r.strokeOpacityStrong=r("strokeOpacity",t,e,.75),r.strokeOpacityStrongest=r("strokeOpacity",t,e,1),r})();function makeIriRef(e,t){return t?`url(#${e.getGlobalId(t)})`:t}const PATH_D_CMDS=["M","C"];function makePathD(e){const t=[],r=PATH_D_CMDS.length;for(let a=0;areactExports.createElement(SvgEdge,{key:`${t.edge.from}\v${t.edge.to}`,getClassName:e,layoutEdge:t,markerEndId:r,markerStartId:a,renderUtils:n,setOnEdge:i})))}}const INHERIT_STROKE={stroke:"#000"};class SvgEdgesLayer extends reactExports.PureComponent{render(){const{getClassName:e,graphState:t,markerEndId:r,markerStartId:a,setOnEdge:n}=this.props,{layoutEdges:i,renderUtils:o}=t;return i?reactExports.createElement(SvgLayer,Object.assign({},this.props,{classNamePart:"SvgEdgesLayer",extraWrapper:INHERIT_STROKE}),reactExports.createElement(SvgEdges,{getClassName:e,layoutEdges:i,markerEndId:r,markerStartId:a,renderUtils:o,setOnEdge:n})):null}}class SvgLayersGroup extends reactExports.PureComponent{renderLayers(){const{getClassName:e,layers:t,graphState:r}=this.props;return t.map((t=>{const{key:a,setOnContainer:n}=t;if(t.edges)return reactExports.createElement(SvgEdgesLayer,{key:a,getClassName:e,graphState:r,markerEndId:t.markerEndId,markerStartId:t.markerStartId,setOnContainer:n,setOnEdge:t.setOnEdge});if(t.measurable)throw new Error("Not implemented");return reactExports.createElement(NodesLayer,{key:a,getClassName:e,graphState:r,layerType:ELayerType.Svg,renderNode:t.renderNode,setOnContainer:n,setOnNode:t.setOnNode})}))}render(){return reactExports.createElement(SvgLayer,Object.assign({topLayer:!0},this.props,{classNamePart:"SvgLayersGroup"}),this.renderLayers())}}const resetZoomIcon=reactExports.createElement("svg",{fill:"currentColor",preserveAspectRatio:"xMidYMid meet",height:"1em",width:"1em",viewBox:"0 0 40 40"},reactExports.createElement("g",null,reactExports.createElement("path",{d:"m35 25v10h-10l3.8-3.8-4.8-4.8 2.4-2.4 4.8 4.8z m-20 10h-10v-10l3.8 3.8 4.8-4.8 2.4 2.4-4.8 4.8z m-10-20v-10h10l-3.8 3.8 4.8 4.8-2.4 2.4-4.8-4.8z m20-10h10v10l-3.8-3.8-4.8 4.8-2.4-2.4 4.8-4.8z"}))),LENGTH_TARGET_PX=80;function getMapSize(e){const{contentHeight:t,contentWidth:r}=e;return t>r?{height:LENGTH_TARGET_PX,width:LENGTH_TARGET_PX*r/t}:{height:LENGTH_TARGET_PX*t/r,width:LENGTH_TARGET_PX}}function getViewTransform(e,t){const{contentHeight:r,contentWidth:a,viewportHeight:n,viewportWidth:i,k:o=1,x:l=1,y:s=1}=e,{height:c,width:u}=t,f=r*o,A=a*o,d=Math.max(-l/A,0),p=Math.min((-l+i)/A,1),h=Math.max(-s/f,0),b=Math.min((-s+n)/f,1);return{transform:`\n translate(${(d*u).toFixed(2)}px, ${(h*c).toFixed(2)}px)\n scale(${p-d}, ${b-h})\n `,transformOrigin:"0 0"}}function getClassNames(e){const{className:t,classNamePrefix:r}=e,a=`${r||"plexus"}-MiniMap`;return{root:`${a} ${t||""}`,item:`${a}--item`,map:`${a}--map`,mapActive:`${a}--mapActive`,button:`${a}--button`}}function MiniMap(e){const t=getClassNames(e),r=getMapSize(e),a=getViewTransform(e,r);return reactExports.createElement("div",{className:t.root},reactExports.createElement("div",{className:`${t.item} ${t.map}`,style:r},reactExports.createElement("div",{className:t.mapActive,style:{...a,...r}})),reactExports.createElement("div",{className:`${t.item} ${t.button}`,onClick:e.viewAll,role:"button"},resetZoomIcon))}MiniMap.defaultProps={className:"",classNamePrefix:"plexus"};const MiniMap$1=reactExports.memo(MiniMap),WRAPPER_STYLE_ZOOM$1={height:"100%",overflow:"hidden",position:"relative",width:"100%"},WRAPPER_STYLE$1={position:"relative"};let idCounter$1=0;class Digraph extends reactExports.PureComponent{constructor(e){super(e),this.renderUtils=void 0,this.state={edges:[],layoutEdges:null,layoutGraph:null,layoutPhase:ELayoutPhase.NoData,layoutVertices:null,sizeVertices:null,vertices:[],zoomTransform:identity$4},this.baseId="plexus--Digraph--"+idCounter$1++,this.makeClassNameFactory=memoizeOne$1((e=>t=>`${e} ${e}-Digraph--${t}`)),this.rootRef=reactExports.createRef(),this.zoomManager=null,this.getGlobalId=e=>`${this.baseId}--${e}`,this.getZoomTransform=()=>this.state.zoomTransform,this.setSizeVertices=(e,t)=>{const{edges:r,layoutManager:a,measurableNodesKey:n}=this.props;if(e!==n){const t=`expected ${JSON.stringify(n)}, recieved ${JSON.stringify(e)}`;throw new Error(`Key mismatch for measuring nodes; ${t}`)}this.setState({sizeVertices:t});const{layout:i}=a.getLayout(r,t);i.then(this.onLayoutDone),this.setState({sizeVertices:t,layoutPhase:ELayoutPhase.CalcPositions})},this.onZoomUpdated=e=>{this.setState({zoomTransform:e})},this.onLayoutDone=e=>{if(e.isCancelled)return;const{edges:t,graph:r,vertices:a}=e;this.setState({layoutEdges:t,layoutGraph:r,layoutVertices:a,layoutPhase:ELayoutPhase.Done}),this.zoomManager&&this.zoomManager.setContentSize(r)};const{edges:t,vertices:r,zoom:a}=e;Array.isArray(t)&&t.length&&Array.isArray(r)&&r.length&&(this.state.layoutPhase=ELayoutPhase.CalcSizes,this.state.edges=t,this.state.vertices=r),a&&(this.zoomManager=new ZoomManager$1(this.onZoomUpdated)),this.renderUtils={getGlobalId:this.getGlobalId,getZoomTransform:this.getZoomTransform}}componentDidMount(){const{current:e}=this.rootRef;e&&this.zoomManager&&this.zoomManager.setElement(e)}renderLayers(){const{classNamePrefix:e,layers:t}=this.props,r=this.makeClassNameFactory(e||""),{sizeVertices:a,...n}=this.state,i={...n,renderUtils:this.renderUtils},{layoutPhase:o}=i;return t.map((e=>{const{layerType:t,key:a,setOnContainer:n}=e;if(e.layers){if(e.layerType===ELayerType.Html)return reactExports.createElement(HtmlLayersGroup,{key:a,graphState:i,layers:e.layers,getClassName:r,setOnContainer:n,setSizeVertices:this.setSizeVertices});if(e.layerType===ELayerType.Svg)return reactExports.createElement(SvgLayersGroup,{key:a,getClassName:r,defs:e.defs,graphState:i,layers:e.layers,setOnContainer:n})}if(e.edges){const{defs:t,markerEndId:l,markerStartId:s,setOnEdge:c}=e;return o===ELayoutPhase.Done?reactExports.createElement(SvgEdgesLayer,{key:a,standalone:!0,getClassName:r,defs:t,graphState:i,markerEndId:l,markerStartId:s,setOnContainer:n,setOnEdge:c}):null}if(e.measurable){const{measureNode:o,renderNode:l,setOnNode:s}=e;return reactExports.createElement(MeasurableNodesLayer,{key:a,standalone:!0,getClassName:r,graphState:i,layerType:t,measureNode:o,renderNode:l,senderKey:a,setOnContainer:n,setOnNode:s,setSizeVertices:this.setSizeVertices})}const{renderNode:l}=e;if(void 0!==l)return reactExports.createElement(NodesLayer,{key:a,standalone:!0,getClassName:r,graphState:i,layerType:e.layerType,renderNode:l,setOnContainer:n,setOnNode:e.setOnNode});throw new Error("Unrecognized layer")}))}render(){const{className:e,classNamePrefix:t,minimap:r,minimapClassName:a,setOnGraph:n,style:i}=this.props,o=this.zoomManager?WRAPPER_STYLE_ZOOM$1:WRAPPER_STYLE$1,l=assignMergeCss$1({style:o,className:`${t} ${t}-Digraph`},{className:e,style:i},getProps(n,{...this.state,renderUtils:this.renderUtils}));return reactExports.createElement("div",l,reactExports.createElement("div",{style:o,ref:this.rootRef},this.renderLayers()),r&&this.zoomManager&&reactExports.createElement(MiniMap$1,Object.assign({className:a,classNamePrefix:t},this.zoomManager.getProps())))}}Digraph.propsFactories={classNameIsSmall:classNameIsSmall$3,scaleOpacity:scaleProperty.opacity,scaleStrokeOpacity:scaleProperty.strokeOpacity,scaleStrokeOpacityStrong:scaleProperty.strokeOpacityStrong,scaleStrokeOpacityStrongest:scaleProperty.strokeOpacityStrongest},Digraph.scaleProperty=scaleProperty,Digraph.defaultProps={className:"",classNamePrefix:"plexus",minimap:!1,minimapClassName:"",zoom:!1};class EdgeArrowDef extends reactExports.PureComponent{static getId(e){return`${e}--edgeArrow`}static getIriRef(e){return`url(#${EdgeArrowDef.getId(e)})`}render(){const{id:e,scaleDampener:t,zoomScale:r=null}=this.props,a=null!=r?Math.max(t/r,1):1;return reactExports.createElement("defs",null,reactExports.createElement("marker",{id:e,markerHeight:8*a,markerUnits:"strokeWidth",markerWidth:8*a,orient:"auto",refX:8*a,refY:3*a},reactExports.createElement("path",{d:`M0,0 L0,${6*a} L${9*a},${3*a} z`,fill:"#000"})))}}function EdgesContainer(e){const{children:t,height:r,width:a,...n}=e;return reactExports.createElement("svg",Object.assign({height:r,width:a,xmlns:"http://www.w3.org/2000/svg"},n),t)}EdgeArrowDef.defaultProps={zoomScale:null,scaleDampener:.6};const D_CMDS=["M","C"];class EdgePath extends reactExports.PureComponent{render(){const{markerEnd:e,pathPoints:t,...r}=this.props,a=t.map(((e,t)=>`${D_CMDS[t]||""}${e.join(",")}`)).join(" ");return reactExports.createElement("path",Object.assign({d:a,fill:"none",stroke:"#000",vectorEffect:"non-scaling-stroke",markerEnd:e},r))}}class PureEdges extends reactExports.PureComponent{render(){const{arrowIriRef:e,layoutEdges:t,setOnEdgePath:r}=this.props;return t.map((t=>reactExports.createElement(EdgePath,Object.assign({key:`${t.edge.from}\v${t.edge.to}`,pathPoints:t.pathPoints,markerEnd:e},r&&r(t.edge)))))}}let Node$2=class extends reactExports.PureComponent{render(){const{classNamePrefix:e,hidden:t,labelFactory:r,vertex:a,left:n,top:i,forwardedRef:o,...l}=this.props,s=l;return s.style={...s.style,position:"absolute",transform:null==n||null==i?void 0:`translate(${n}px,${i}px)`,visibility:t?"hidden":void 0},s.className=`${e}-Node ${s.className||""}`,reactExports.createElement("div",Object.assign({ref:o},s),r(a))}};Node$2.defaultProps={hidden:!1,left:null,top:null};const Node$3=reactExports.forwardRef(((e,t)=>reactExports.createElement(Node$2,Object.assign({},e,{forwardedRef:t}))));class PureNodes extends reactExports.PureComponent{_renderVertices(){const{classNamePrefix:e,getNodeLabel:t,setOnNode:r,vertices:a,vertexRefs:n}=this.props;return a.map(((a,i)=>reactExports.createElement(Node$3,Object.assign({key:a.key,ref:n[i],hidden:!0,classNamePrefix:e,labelFactory:t,vertex:a},r&&r(a)))))}_renderLayoutVertices(){const{classNamePrefix:e,getNodeLabel:t,setOnNode:r,layoutVertices:a,vertexRefs:n}=this.props;return a?a.map(((a,i)=>reactExports.createElement(Node$3,Object.assign({key:a.vertex.key,ref:n[i],classNamePrefix:e,labelFactory:t,vertex:a.vertex,left:a.left,top:a.top},r&&r(a.vertex))))):null}render(){return this.props.layoutVertices?this._renderLayoutVertices():this._renderVertices()}}const SCALE_THRESHOLD_SMALL=.29;function classNameIsSmall$2(e){const{k:t=1}=e.zoomTransform||{};return t<=SCALE_THRESHOLD_SMALL?{className:"is-small"}:null}function reduce(e,t){let{className:r,style:a,...n}=e;const{className:i,style:o,...l}=t;return i&&(r=r?`${r} ${i}`:i),o&&"object"==typeof o&&(a=a?{...a,...o}:o),{className:r,style:a,...n,...l}}function assignMergeCss(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=[];for(let a=0;aTHRESHOLD_MIN)r=PROPS_MIN;else if(t{if(!e.isCancelled){const{graph:t,vertices:r}=e;this.setState({layoutGraph:t,layoutVertices:r,layoutPhase:PHASE_CALC_EDGES})}},this._onLayoutDone=e=>{const t=this.rootRef.current;if(e.isCancelled||!t)return;const{edges:r,graph:a,vertices:n}=e;this.setState({layoutEdges:r,layoutGraph:a,layoutVertices:n,layoutPhase:PHASE_DONE}),this.zoomManager&&this.zoomManager.setContentSize(a)},this._onZoomUpdated=e=>{this.setState({zoomTransform:e})};const{edges:t,vertices:r,zoom:a}=e;Array.isArray(t)&&t.length&&Array.isArray(r)&&r.length&&(this.state.layoutPhase=PHASE_CALC_SIZES,this.state.edges=t,this.state.vertices=r,this.state.vertexRefs=createHtmlRefs(r.length)),this.state.zoomEnabled=a;const n=`plexus--DirectedGraph--${idCounter}`;idCounter+=1,this.arrowId=EdgeArrowDef.getId(n),this.arrowIriRef=EdgeArrowDef.getIriRef(n),this.rootRef=reactExports.createRef(),this.zoomManager=a?new ZoomManager$1(this._onZoomUpdated):null}componentDidMount(){this._setSizeVertices();const{current:e}=this.rootRef;e&&this.zoomManager&&this.zoomManager.setElement(e)}componentDidUpdate(){const{layoutPhase:e}=this.state;e===PHASE_CALC_SIZES&&this._setSizeVertices()}_setSizeVertices(){const{edges:e,layoutManager:t,vertices:r}=this.props,a=[];this.state.vertexRefs.forEach(((e,t)=>{const{current:n}=e;n&&a.push({height:n.offsetHeight,vertex:r[t],width:n.offsetWidth})}));const{positions:n,layout:i}=t.getLayout(e,a);n.then(this._onPositionsDone),i.then(this._onLayoutDone),this.setState({sizeVertices:a,layoutPhase:PHASE_CALC_POSITIONS})}_renderVertices(){const{classNamePrefix:e,getNodeLabel:t,setOnNode:r,vertices:a}=this.props,{layoutVertices:n,vertexRefs:i}=this.state;return reactExports.createElement(PureNodes,{classNamePrefix:e,getNodeLabel:t||String,layoutVertices:n,setOnNode:r,vertexRefs:i,vertices:a})}_renderEdges(){const{setOnEdgePath:e}=this.props,{layoutEdges:t}=this.state;return t&&reactExports.createElement(PureEdges,{setOnEdgePath:e,layoutEdges:t,arrowIriRef:this.arrowIriRef})}render(){const{arrowScaleDampener:e,className:t,classNamePrefix:r,minimap:a,minimapClassName:n,setOnEdgesContainer:i,setOnNodesContainer:o,setOnRoot:l}=this.props,{layoutPhase:s,layoutGraph:c,zoomEnabled:u,zoomTransform:f}=this.state,{height:A=0,width:d=0}=c||{},p=s===PHASE_DONE,h=assignMergeCss(o&&o(this.state)||{},{style:{...u?ZoomManager$1.getZoomStyle(f):null,position:"absolute",top:0,left:0},className:`${r}-DirectedGraph--nodeContainer`}),b=assignMergeCss(i&&i(this.state)||{},{style:{minHeight:"100%",minWidth:"100%"},className:`${r}-DirectedGraph--nodeContainer`}),g=assignMergeCss(l&&l(this.state)||{},{style:u?WRAPPER_STYLE_ZOOM:WRAPPER_STYLE,className:`${r}-DirectedGraph ${t}`});return reactExports.createElement("div",Object.assign({},g,{ref:this.rootRef}),c&&p&&reactExports.createElement(EdgesContainer,Object.assign({},b,{height:A,width:d}),reactExports.createElement(EdgeArrowDef,{id:this.arrowId,scaleDampener:e,zoomScale:u&&f?f.k:null}),reactExports.createElement("g",{transform:u?ZoomManager$1.getZoomAttr(f):void 0},this._renderEdges())),reactExports.createElement("div",h,this._renderVertices()),u&&a&&this.zoomManager&&reactExports.createElement(MiniMap$1,Object.assign({className:n,classNamePrefix:r},this.zoomManager.getProps())))}}DirectedGraph.propsFactories={classNameIsSmall:classNameIsSmall$2,mergePropSetters:mergePropSetters,scaledStrokeWidth:scaledStrokeWidth},DirectedGraph.defaultProps={arrowScaleDampener:void 0,className:"",classNamePrefix:"plexus",minimap:!1,minimapClassName:"",zoom:!1};let EWorkerErrorType=function(e){return e.Error="Error",e.LayoutError="LayoutError",e}({}),ECoordinatorPhase=function(e){return e.Done="Done",e.DotOnly="DotOnly",e.Edges="Edges",e.NotStarted="NotStarted",e.Positions="Positions",e}({}),EWorkerPhase=function(e){return e.DotOnly="DotOnly",e.Edges="Edges",e.Positions="Positions",e}({});const round$1=Math.round,DPI=72;function vertexToDot(e){const{vertex:t,height:r,width:a}=e;return{vertex:t,height:r/DPI,width:a/DPI}}function edgeToPixels(e,t){const{height:r}=e,{edge:a,pathPoints:n}=t;return{edge:a,pathPoints:n&&n.map((e=>[round$1(e[0]*DPI),round$1((r-e[1])*DPI)]))}}function graphToPixels(e){const{height:t,scale:r,width:a}=e;return{scale:r,height:t*DPI,width:a*DPI}}function vertexToPixels(e,t){const{height:r}=e,{vertex:a,height:n,left:i,top:o,width:l}=t;return{vertex:a,height:round$1(n*DPI),left:null!=i?round$1((i-.5*l)*DPI):i,top:null!=o?round$1((r-o-.5*n)*DPI):o,width:round$1(l*DPI)}}const makeEdgeId=e=>`${e.from}\v${e.to}`;function unmapVertices(e,t){return t.map((t=>{const r=e.get(t.vertex.key);if(!r)throw new Error(`Unable to find Vertex for ${t.vertex.key}`);return{...t,vertex:r.vertex}}))}function unmapEdges(e,t){return t.map((t=>{const r=makeEdgeId(t.edge),a=e.get(r);if(!a)throw new Error(`Unable to find edge for ${r}`);return{...t,edge:a}}))}function convInputs(e,t){const r=new Map,a=new Map,n=new Map,i=t.map((e=>{const{vertex:{key:t},...n}=e;if(r.has(t))throw new Error(`Non-unique vertex key: ${t}`);const i=String(r.size);return r.set(t,i),a.set(i,e),{vertex:{key:i},...n}})),o=e.map((e=>{const{from:t,to:a,isBidirectional:i}=e,o=r.get(t),l=r.get(a);if(null==o)throw new Error(`Unrecognized key on edge, from: ${t}`);if(null==l)throw new Error(`Unrecognized key on edge, to: ${a}`);const s={isBidirectional:i,from:o,to:l};return n.set(makeEdgeId(s),e),s}));return{edges:o,vertices:i,unmapEdges:unmapEdges.bind(null,n),unmapVertices:unmapVertices.bind(null,a)}}var A$1={5:e=>{e.exports=function(e,t,r,a){var n=self||window;try{try{var i;try{i=new n.Blob([e])}catch(t){(i=new(n.BlobBuilder||n.WebKitBlobBuilder||n.MozBlobBuilder||n.MSBlobBuilder)).append(e),i=i.getBlob()}var o=n.URL||n.webkitURL,l=o.createObjectURL(i),s=new n[t](l,r);return o.revokeObjectURL(l),s}catch(a){return new n[t]("data:application/javascript,".concat(encodeURIComponent(e)),r)}}catch(e){if(!a)throw Error("Inline worker is not supported");return new n[t](a,r)}}}},e={};function a$1(t){var r=e[t];if(void 0!==r)return r.exports;var a=e[t]={exports:{}};return A$1[t](a,a.exports,a$1),a.exports}a$1.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a$1.d(t,{a:t}),t},a$1.d=(e,t)=>{for(var r in t)a$1.o(t,r)&&!a$1.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a$1.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};(()=>{a$1.d(i,{Z:()=>r});var e=a$1(5),t=a$1.n(e);function r(){return t()('var A={221:function(A,e,i){!function(e){var r=function(A){A=void 0!==(A=A||{})?A:{};var e,r={};for(e in A)A.hasOwnProperty(e)&&(r[e]=A[e]);A.arguments=[],A.thisProgram="./this.program",A.quit=function(A,e){throw e},A.preRun=[],A.postRun=[];var f,a,n=!1,l=!1,t=!1,c=!1;if(A.ENVIRONMENT)if("WEB"===A.ENVIRONMENT)n=!0;else if("WORKER"===A.ENVIRONMENT)l=!0;else if("NODE"===A.ENVIRONMENT)t=!0;else{if("SHELL"!==A.ENVIRONMENT)throw new Error("Module[\'ENVIRONMENT\'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");c=!0}else n="object"==typeof window,l="function"==typeof importScripts,t="object"==typeof process&&!n&&!l,c=!n&&!t&&!l;for(e in t?(A.read=function(A,e){var r;return(r=HA(A))||(f||(f=i(725)),a||(a=i(966)),A=a.normalize(A),r=f.readFileSync(A)),e?r:r.toString()},A.readBinary=function(e){var i=A.read(e,!0);return i.buffer||(i=new Uint8Array(i)),k(i.buffer),i},process.argv.length>1&&(A.thisProgram=process.argv[1].replace(/\\\\/g,"/")),A.arguments=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof ee))throw A})),process.on("unhandledRejection",(function(A,e){process.exit(1)})),A.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(A.read=function(A){var e=HA(A);return e?XA(e):read(A)}),A.readBinary=function(A){var e;return(e=HA(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(k("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?A.arguments=scriptArgs:void 0!==arguments&&(A.arguments=arguments),"function"==typeof quit&&(A.quit=function(A,e){quit(A)})):(n||l)&&(A.read=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var i=HA(A);if(i)return XA(i);throw e}},l&&(A.readBinary=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=HA(A);if(i)return i;throw e}}),A.readAsync=function(A,e,i){var r=new XMLHttpRequest;r.open("GET",A,!0),r.responseType="arraybuffer",r.onload=function(){if(200==r.status||0==r.status&&r.response)e(r.response);else{var f=HA(A);f?e(f.buffer):i()}},r.onerror=i,r.send(null)},void 0!==arguments&&(A.arguments=arguments),A.setWindowTitle=function(A){document.title=A}),A.print="undefined"!=typeof console?console.log:"undefined"!=typeof print?print:null,A.printErr="undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn||A.print,A.print=A.print,A.printErr=A.printErr,r)r.hasOwnProperty(e)&&(A[e]=r[e]);function b(A){k(!Z);var e=I;return I=I+A+15&-16,e}function s(A){k(W);var e=C[W>>2],i=e+A+15&-16;return C[W>>2]=i,i>=X&&!J()?(C[W>>2]=e,0):e}function w(A,e){return e||(e=16),Math.ceil(A/e)*e}r=void 0,new Array(0);var u=0;function k(A,e){A||re("Assertion failed: "+e)}var o={stackSave:function(){OA()},stackRestore:function(){PA()},arrayToC:function(A){var e=SA(A.length);return function(A,e){v.set(A,e)}(A,e),e},stringToC:function(A){var e=0;if(null!=A&&0!==A){var i=1+(A.length<<2);M(A,e=SA(i),i)}return e}},h={string:o.stringToC,array:o.arrayToC};function d(A,e){if(0===e||!A)return"";for(var i,r=0,f=0;r|=i=g[A+f>>0],(0!=i||e)&&(f++,!e||f!=e););e||(e=f);var a="";if(r<128){for(var n,l=1024;e>0;)n=String.fromCharCode.apply(String,g.subarray(A,A+Math.min(e,l))),a=a?a+n:n,A+=l,e-=l;return a}return Y(A)}var B,v,g,E,C,I,Z,G,Q,m,L,W,y="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(A,e){for(var i=e;A[i];)++i;if(i-e>16&&A.subarray&&y)return y.decode(A.subarray(e,i));for(var r,f,a,n,l,t="";;){if(!(r=A[e++]))return t;if(128&r)if(f=63&A[e++],192!=(224&r))if(a=63&A[e++],224==(240&r)?r=(15&r)<<12|f<<6|a:(n=63&A[e++],240==(248&r)?r=(7&r)<<18|f<<12|a<<6|n:(l=63&A[e++],r=248==(252&r)?(3&r)<<24|f<<18|a<<12|n<<6|l:(1&r)<<30|f<<24|a<<18|n<<12|l<<6|63&A[e++])),r<65536)t+=String.fromCharCode(r);else{var c=r-65536;t+=String.fromCharCode(55296|c>>10,56320|1023&c)}else t+=String.fromCharCode((31&r)<<6|f);else t+=String.fromCharCode(r)}}function Y(A){return z(g,A)}function D(A,e,i,r){if(!(r>0))return 0;for(var f=i,a=i+r-1,n=0;n=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&A.charCodeAt(++n)),l<=127){if(i>=a)break;e[i++]=l}else if(l<=2047){if(i+1>=a)break;e[i++]=192|l>>6,e[i++]=128|63&l}else if(l<=65535){if(i+2>=a)break;e[i++]=224|l>>12,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=2097151){if(i+3>=a)break;e[i++]=240|l>>18,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=67108863){if(i+4>=a)break;e[i++]=248|l>>24,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else{if(i+5>=a)break;e[i++]=252|l>>30,e[i++]=128|l>>24&63,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}}return e[i]=0,i-f}function M(A,e,i){return D(A,g,e,i)}function F(A){for(var e=0,i=0;i=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&A.charCodeAt(++i)),r<=127?++e:e+=r<=2047?2:r<=65535?3:r<=2097151?4:r<=67108863?5:6}return e}function V(){re("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+X+", (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 J(){V()}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),I=Q=W=0,Z=!1;var N=A.TOTAL_STACK||5242880,X=A.TOTAL_MEMORY||16777216;if(X0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?A.dynCall_v(r):A.dynCall_vi(r,i.arg):r(void 0===i.arg?null:i.arg)}else i()}}var H=[],p=[],U=[],x=[],T=[],j=!1;function S(A,e,i){for(var r=0;r>0]=A.charCodeAt(r);i||(v[e>>0]=0)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(A,e){var i=65535&A,r=65535&e;return i*r+((A>>>16)*r+i*(e>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(A){A>>>=0;for(var e=0;e<32;e++)if(A&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(A){return A<0?Math.ceil(A):Math.floor(A)}),Math.trunc=Math.trunc;var P=Math.abs,O=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt),K=Math.ceil,_=Math.floor,q=Math.pow,$=(Math.imul,Math.fround,Math.round,Math.min,Math.max,Math.clz32,Math.trunc,0),AA=null,eA=null;function iA(e){$++,A.monitorRunDependencies&&A.monitorRunDependencies($)}function rA(e){if($--,A.monitorRunDependencies&&A.monitorRunDependencies($),0==$&&(null!==AA&&(clearInterval(AA),AA=null),eA)){var i=eA;eA=null,i()}}A.preloadedImages={},A.preloadedAudios={};var fA=null,aA="data:application/octet-stream;base64,";function nA(A){return String.prototype.startsWith?A.startsWith(aA):0===A.indexOf(aA)}var lA=[function(A,e){var i=d(A),r=d(e);EA.createPath("/",oA.dirname(i)),EA.writeFile(oA.join("/",i),r)}];I=197240,p.push(),fA="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABr4VQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/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+AAAAAAAADD0AAAQAAAA4PwAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAEAAAADAAAAAAAAAAAAAAAI2QIAGNkCACjZAgA42QIASNkCAFjZAgBo2QIAeNkCABjZAgAY2QIAWNkCAFjZAgAfAAAAPwAAAH8AAAAAAAAAooUBAAEAAACoKwAAaAAAAAQAAADVCAEAAQAAACAsAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAUBAAEAAAAAAAAA4AAAAAAAAAB4BQEAAQAAAAAAAADgAAAAAQAAAH8FAQABAAAAAAAAAKgAAAACAAAAiQUBAAEAAAAAAAAA4AAAAAMAAACTBQEAAQAAAAAAAADgAAAABAAAAKEFAQABAAAAAAAAAOAAAAAFAAAAqwUBAAEAAAAAAAAA4AAAAAYAAAC4BQEAAQAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ggBAAEAAADELQAAGAEAAAEAAADfCAEAAQAAAMQtAAAYAQAAAgAAAOUIAQABAAAAxC0AABgBAAADAAAA7ggBAAEAAADELQAAGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgIAQABAAAAAAAAAHABAAABAAAAAgkBAAEAAAAAAAAAcAEAAAIAAAANCQEAAQAAAAAAAAA4AQAAAwAAABsJAQABAAAAAAAAADgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAwAAAANAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAYAAAACAAAAAgAAAAcAAAACAAAAAAAAAGIYAgBnAQIA+AICADgJAgAvEAIAbhQCAO4XAgD/FwIAAAAAAGIJAQABAAAAKC8AAKgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmCQEAAQAAAAAAAADIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAbgkBAAEAAAA4MAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAKYKAQABAAAAAAAAACACAAACAAAAsAoBAAEAAAAAAAAAWAIAAAAAAAC5CgEAAQAAAAAAAABYAgAAAwAAAMIKAQABAAAAAAAAAFgCAAAAAAAAzAoBAAEAAAAAAAAAIAIAAAMAAADYCgEAAQAAAAAAAAAgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAASAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAJAAAAAwAAAAMAAAAKAAAABAAAAAAAAABiGAIAZwECADgJAgD4AgIAbhQCAC8QAgD/FwIA7hcCAAAAAAAAAAAAlQwBAP////88MQAAkAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgMAQD/////AAAAALACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACojQEAAQAAAFAyAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGQAAABoAAAAAAAAABAAAAAAAAAAbAAAAHAAAAB0AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAgAAAAIQAAACIAAAACAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAMAAAABQAAAAQAAAANAAAABQAAAAMAAACVEAEAoxABALkQAQDz+QIAxxABANYQAQDbEAEA+RABAPP5AgALEQEAOxEBAPP5AgBZEQEAgREBAI8RAQC+EQEA8hEBAAMSAQAoEgEASxIBAFESAQBtEgEAihIBAKUSAQDGEgEA4BIBAAITAQAhEwEARxMBAF8TAQB/EwEAnBMBAMATAQDMEwEA8/kCANcTAQD9EwEAIRQBAEcUAQDz+QIAfRQBAJUUAQCiFAEA0RQBAMwTAQDz+QIA3hQBAOcUAQAIFQEAQxUBAI4VAQDiFQEABBYBABkWAQAwFgEARhYBAF4WAQDz+QIAdBYBAI8WAQCzFgEA1xYBAPwWAQDz+QIAHRcBADcXAQBJFwEAVhcBAGMXAQB3FwEAhhcBAI4XAQCjFwEAsRcBAO8XAQD6FwEAzBMBAPP5AgAAGAEADBgBABsYAQBLEgEA8/kCAC4YAQBXGAEAdRgBAIUYAQCWGAEAnRgBAKwYAQC8GAEAABkBAAcZAQBLEgEA8/kCABEZAQA9GQEASBkBAFEZAQBaGQEAaxkBAHwZAQCQGQEAzBMBAPP5AgCcGQEArBkBALoZAQDIGQEA1RkBAOIZAQD4GQEAARoBABAaAQAdGgEALhoBAMwTAQDz+QIAORoBAFgaAQDz+QIAahoBAHkaAQCpGgEAsxoBAMAaAQDNGgEA2hoBAOcaAQDqGgEA8/kCAO4aAQDz+QIAERsBAEIbAQBxGwEAiBsBAKMbAQC+GwEAzBMBAPP5AgDaGwEA8/kCAAIcAQAOHAEAIRwBADQcAQBJHAEAXhwBAGIcAQBLEgEA8/kCAG4cAQDz+QIAfhwBAIwcAQCYHAEApRwBAMUcAQDbHAEA8/kCAO8cAQA4HQEAfh0BAK4dAQDhHQEA6B0BAA8eAQA2HgEA8/kCADseAQAAAAAAAAAAAPBHAQABAAAAAAAAAAgDAAABAAAArx4BAAEAAAAAAAAACAMAAAIAAADpRwEAAQAAAAAAAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAlAAAABgAAACYAAAAnAAAAKAAAACkAAAAqAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAEAAAALwAAAAAAAAAAAAAADgAAAAAAAAAPAAAABwAAAAUAAAAQAAAABgAAAAAAAAB/AAIAiQACAHkxAQDOAAIACQECACsBAgAxAQIAYhgCAFgBAgBnAQIAhAECAI8BAgCxAQIA5wECAB0CAgBYAgIAjgICALACAgC/AgIA8AICAPgCAgA/JQEASCUBABUDAgBRJQEAXwMCAFolAQBpAwIAYyUBAHMDAgDCAwIA/QMCAG8lAQA4BAIAQwQCAIgEAgCWBAIA4AQCAO4EAgD8BAIABwUCADgFAgB4BQIAgAUCAIgFAgDDBQIA+QUCAAUGAgB+MQEAEQYCABsGAgAmBgIAQwYCAHkGAgA4CQIAWgkCAGYJAgAlDAIAVgwCAIIMAgC4DAIAxQwCAOcMAgAJDQIAEg0CAFwNAgBmDQIAqw0CAOENAgDsDQIAcQ4CAIYOAgB3JQEAkA4CAJoOAgDQDgIAEA8CAB4PAgByDwIAgQ8CAJAPAgDfDwIAhjEBAB8QAgApEAIALxACAFsQAgCCEAIAkxACAJ4QAgDjEAIAKBECADcRAgBHEQIAWRECAGkRAgB5EQIAhhECAJARAgDGEQIAzxECAA8SAgAiEgIAizEBACoSAgBgEgIAhxICAL0SAgDkEgIA8hICACgTAgByEwIAvBMCAMcTAgD9EwIAAhQCAB8UAgA8FAIARxQCAG4UAgCGFAIAvBQCAPIUAgD+FAIAJRUCADAVAgBhFQIAkhUCAHg8AQC5FQIA5RUCABsWAgBRFgIAWxYCAHgWAgC4FgIA7hYCAJExAQAGFwIAMhcCAFkXAgCPFwIAzBcCAO4XAgD0FwIA/xcCACYYAgAAAAAAq40BAAEAAADINQAAeAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMdIAQABAAAAAAAAAJgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAABIAAAAIAAAABgAAABMAAAAHAAAAAAAAAAAAAACtJgEAAQAAANw4AADQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsCYBAAEAAAAAAAAA8AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAA1AAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADcAAAAAAAAAAAAAABQAAAAAAAAAFQAAAAkAAAAHAAAAFgAAAAgAAAAAAAAAeTEBAGIYAgBnAQIAfjEBAHkGAgA4CQIAhjEBAFsQAgAPEgIAizEBAEcUAgBuFAIAeDwBAJExAQDuFwIA/xcCAAAAAACWMQEAAQAAAKQ5AAAoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmjEBAAEAAAAAAAAASAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAA5AAAAOgAAAAoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQQAAAEIAAABDAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAGAAAAAsAAAAIAAAAGQAAAAkAAAAAAAAAzgACAA47AQBiGAIAZwECAIQBAgAZOwEAHzsBACo7AQAxOwEAjwECAOcBAgA5OwEAPzsBAEo7AQCOAgIAsAICAPgCAgBROwEAXwMCAHMDAgD9AwIAWzsBAIgEAgCWBAIA4AQCAGY7AQDuBAIAbjsBAHc7AQCFOwEAjzsBAMMFAgCYOwEABQYCACYGAgBDBgIAnjsBAIoGAgC1BgIA3gYCAAEHAgAqBwIATQcCAHYHAgCZBwIAwgcCAOUHAgAOCAIAMQgCAFoIAgB9CAIApggCAMkIAgDyCAIAFQkCADgJAgClOwEAWgkCALE7AQCCDAIA5wwCAKsNAgC+OwEAkA8CAMs7AQAfEAIALxACANU7AQBbEAIAghACAJMQAgDkOwEA9jsBAJ4QAgAoEQIANxECAEcRAgBZEQIAaRECAAY8AQARPAEAHDwBAHkRAgAPEgIAFBICACE8AQAqPAEAMzwBAEM8AQBKPAEAYBICAIcSAgC9EgIA8hICAAIUAgAfFAIAUjwBAG4UAgBZPAEA/hQCAGI8AQAwFQIAajwBAJIVAgB4PAEAuRUCAOUVAgB/PAEAeBYCALgWAgCJPAEA7hYCAAYXAgBZFwIAkzwBAKE8AQCPFwIAlhcCAMwXAgDuFwIA/xcCACYYAgAAAAAAszwBAAEAAACsOgAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALc8AQABAAAAAAAAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEUAAAAAAAAAAAAAAEYAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAABsAAAAMAAAACQAAABwAAAAKAAAAAAAAAEFCAACwoQEAQUkAAIqhAQBBUgAAXaEBAEFYAADFoQEAQiAAAAGkAQBCSQAAEqQBAENCAABKogEAQ08AADiiAQBDWAAAV6IBAEggAAB7ogEASEIAAIWiAQBISQAAEaMBAEhYAACUogEASGIAAMWiAQBIaQAA+KIBAEhyAACqogEASHgAANuiAQBJIAAAI6QBAEtCAADcoQEAS0kAACSiAQBLUgAAEKIBAEtYAAD9oQEATkIAACOjAQBOSQAAaqMBAE5SAACCowEATlgAAE6jAQBQQQAA46MBAFBCAACfowEAUEkAANOjAQBQWAAAv6MBAFIgAADapQEAUyAAAPKjAQBaRAAAYKQBAAAAAAAAAAAAAQAAAAAAAABdRwEA/////1w9AADYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYUcBAP////8AAAAA+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAGlHAQABAAAAIEMAAAAAAAAQAAAAcUcBAAEAAAAgQwAAAAAAABEAAAB5RwEAAQAAACBDAAAAAAAAEQAAAIJHAQABAAAAIEMAAAAAAAARAAAAikcBAAEAAAAgQwAAAAAAABMAAACSRwEAAQAAACRDAAAAAAAAFAAAAJpHAQABAAAAJEMAAAAAAAAVAAAAokcBAAEAAAAkQwAAAAAAABUAAACrRwEAAQAAACRDAAAAAAAAFQAAALNHAQABAAAAJEMAAAAAAAAWAAAAu0cBAAEAAAAoQwAAAAAAABcAAADERwEAAQAAAChDAAAAAAAAGAAAAM1HAQABAAAAKEMAAAAAAAAYAAAA10cBAAEAAAAoQwAAAAAAABgAAADgRwEAAQAAAChDAAAAAAAAGQAAAOlHAQABAAAALEMAAAAAAAAZAAAA8EcBAAEAAAAsQwAAAAAAABoAAAD2RwEAAQAAADBDAAAAAAAACgAAAP9HAQABAAAANEMAAAAAAAALAAAAB0gBAAEAAAA0QwAAAAAAAAwAAAAPSAEAAQAAADRDAAAAAAAADAAAABhIAQABAAAANEMAAAAAAAAMAAAAIEgBAAEAAAA0QwAAAAAAAA4AAAAoSAEAAQAAADRDAAAAAAAADgAAAC9IAQABAAAANEMAAAAAAAANAAAAN0gBAAEAAAA0QwAAAAAAAAUAAAA/SAEAAQAAADRDAAAAAAAABgAAAEdIAQABAAAANEMAAAAAAAAHAAAAT0gBAAEAAAA0QwAAAAAAAAcAAABYSAEAAQAAADRDAAAAAAAABwAAAGBIAQABAAAANEMAAAAAAAAJAAAAaEgBAAEAAAA0QwAAAAAAAAkAAABvSAEAAQAAADRDAAAAAAAACAAAAHdIAQABAAAANEMAAAAAAAAAAAAAf0gBAAEAAAA4QwAAAAAAAAEAAACISAEAAQAAADhDAAAAAAAAAgAAAJFIAQABAAAAOEMAAAAAAAACAAAAm0gBAAEAAAA4QwAAAAAAAAIAAACkSAEAAQAAADhDAAAAAAAABAAAAK1IAQABAAAAOEMAAAAAAAAEAAAAtUgBAAEAAAA4QwAAAAAAAAMAAAC+SAEAAQAAADhDAAAAAAAAEgAAAMdIAQABAAAAIEMAAAAAAAAbAAAAz0gBAAEAAAA8QwAAAAAAABwAAADXSAEAAQAAADxDAAAAAAAAHQAAAN9IAQABAAAAPEMAAAAAAAAdAAAA6EgBAAEAAAA8QwAAAAAAAB0AAADwSAEAAQAAADxDAAAAAAAAHgAAAPhIAQABAAAAQEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAAGNMAQBMQwAAAQAAAGhDAAAAAAAAAAAAAEgAAABJAAAAAQAAAAAAAACihQEAAAAAAFxDAABkQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAQAAAAYAQAAMAEAALAAAACIVAEAjVQBAJFUAQCYVAEAnFQBAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAdAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAfAAAAAAAAAAAAAACRWQEAKEQAAAEAAACARAAAAAAAAAAAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAEsAAABVAAAASwAAAFYAAABXAAAAWAAAAFkAAAAAAAAAnlkBAAAAAAA4RAAAKNsCAAEAAACkWQEAAAAAAEBEAAAo2wIAAgAAAKhZAQAAAAAASEQAACjbAgADAAAArVkBAAAAAABQRAAAKNsCAAQAAACzWQEAAAAAAFhEAAAo2wIABQAAALlZAQAAAAAAcEQAACjbAgAGAAAAw1kBAAAAAAB4RAAAKNsCAAcAAADJWQEAAAAAAGBEAAAo2wIABwAAAM1ZAQAAAAAAYEQAACjbAgAHAAAA0lkBAAAAAABoRAAAKNsCAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAADAAAAAAAAAAAQAAACAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAAAAAAPGcBAFRnAQBzZwEAkGcBAK9nAQC2ZwEAv2cBADxnAQBBZwEASGcBAE1nAQDeZgEA8GYBAP5mAQAMZwEAGmcBACFnAQAwZwEAPGcBAAAAAADz+QIAAAAAAB0SAgABAAAA+GkBAAcAAAC8aQEAAwAAAMYlAgAFAAAAAGoBAA8AAACQjQEACAAAAJCNAQAQAAAACGoBAAQAAAAIagEAEQAAAA1qAQAFAAAADWoBAAIAAAATagEABgAAABpqAQAEAAAAJmoBAAcAAAAuagEABwAAAD5qAQAFAAAARGoBAAgAAABbagEACAAAAERqAQAJAAAAZGoBAAcAAABsagEACgAAAIZqAQAHAAAAjmoBAAsAAACoagEABgAAAK9qAQAMAAAAzWoBAAkAAACvagEADQAAANdqAQAIAAAA4GoBAA4AAAABawEACAAAAAprAQASAAAAK2sBAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAMAAAAhAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAiAAAABQAAAAAAAAAAAAAAAAAAAAUAAABAAAAAiEcAAJhHAAAGAAAABAAAAKRHAAAGAAAACAAAAAYAAAAEAAAArEcAAAAEAAAIAAAA/////wAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAJAAAAAAAAAAcAAAAAAAAACQAAAAsAAAAIAAAACgAAADBJAAC0SAAAGEkAAAEAAAABAAAACgAAABYAAAALAAAAWgAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA0AAAAAAAAABwAAAAAAAAAHAAAAAgAAAAUAAAAIAAAAAAAAAAAAAAAGAAAAAwAAAA4AAAALAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAADwAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAEAAAAAAAAAAHAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAmAAAAAAAAAAAAAAAAAAAAAAAAABAAAAD/////AAAAAAAAAAAnAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAwAAAAEAAAABAAAAAgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAABAAAAAUAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAGAAAAAQAAAAEAAAAHAAAACAAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAAQAAAAEAAAALAAAAAQAAAAwAAAABAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABMAAAATAAAAEwAAABMAAAAXAAAAGAAAABkAAAATAAAAGgAAABsAAAAcAAAAHQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAB4AAAABAAAAAQAAABMAAAABAAAAHwAAACAAAAAhAAAAIgAAACMAAAATAAAAJAAAACUAAAAmAAAAEwAAABMAAAATAAAAEwAAACcAAAAoAAAAKQAAABMAAAAqAAAAKwAAACwAAAAtAAAAEwAAABMAAAATAAAAEwAAABMAAAABAAAAAQAAAAEAAAABAAAAAQAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAALgAAABMAAAATAAAAEwAAAC8AAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAADAAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAAAAAAAEAAAABAAAAAgAAAAMAAAABAAAABAAAAAEAAAAFAAAAAQAAAAYAAAAHAAAABwAAAAEAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAwAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAIAAAAB5swEAWrMBACB8AQCGswEAfrMBAIyzAQAAAAAAJoABAC+AAQA2gAEARIABAHqyAQCiswEAS4ABAFKAAQABAAAACAAAAP////8AAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAA8IEBAAgAAAADAAAA+YEBAP2BAQALAAAABgAAAKiNAQAJggEAAgAAAAEAAAAMggEAEIIBAAQAAAACAAAAFYIBABmCAQAEAAAABAAAAB6CAQAjggEABQAAAAUAAAApggEALYIBAAQAAAAHAAAAMoIBADaCAQAFAAAACQAAADyCAQBAggEABAAAAAoAAABFggEASoIBAAQAAAAMAAAAT4IBAOKGAQAAAAAAAQAAAOqGAQABAAAAAAAAAHWyAQABAAAAAQAAAB0SAgAAAAAAAAAAAAAAAAAAAAAAAAAAAMuFAQAxAAAAAAAAAAAAAACjrQEAEAAAAEUeAgCAAAAAxIUBAEAAAAAOoAEAEAAAAMaFAQBAAAAAAAAAAAAAAACShQEAAQAAAJmFAQACAAAAnoUBAAMAAADMpgEABAAAADCdAQAFAAAAooUBAAYAAAAdEgIACAAAAKaFAQAhAAAAqoUBACIAAACuhQEAIgAAALKFAQABAAAAt4UBAAcAAAC9hQEAJwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAApAAAAAAAAAAAAAAAAAAAAAAAAAP2KAQAEiwEAAAAAAKWNAQCojQEAq40BAAAAAAAAAAAAAQAAAAIAAAD/////aI0BAG6NAQAdEgIAAAAAAGQAAABlAAAAZgAAAGQAAAAIAAAACAAAAAAAAAAAAAAAKgAAABEAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAJAAAAKwAAABEAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAADMpgEAYFUAAIAGAAAAAAAA+ZwBAGBVAACwBgAAAAAAANKlAQBgVQAA4AYAAAAAAAABnQEAYFUAAOAGAAAAAAAABp0BAGBVAAAQBwAAAAAAAA2dAQB4VQAAEAcAAAAAAAATnQEAYFUAAEAHAAAAAAAAF50BAGBVAABwBwAAAAAAAB0SAgBgVQAAoAcAAAAAAAAgnQEAYFUAAKAHAAAAAAAAKp0BAGBVAABQBgAAAAAAADCdAQBgVQAA0AcAAAAAAAA4nQEAYFUAAAAIAAAAAAAAQp0BAGBVAAAwCAAAAAAAAFCdAQBgVQAAYAgAAAAAAABWnQEAYFUAAJAIAAAAAAAAX50BAGBVAADACAAAAAAAAGedAQBgVQAA8AgAAAAAAABwnQEAYFUAACAJAAAAAAAAeJ0BAGBVAABQCQAAAAAAAH2dAQBgVQAAgAkAAAAAAACBnQEAYFUAALAJAAAAAAAAiJ0BAGBVAADgCQAAAAAAAI6dAQBgVQAAEAoAAAAAAACYnQEAkFUAAEAKAAAAAAAAoZ0BAGBVAACABgAAAAAAAKadAQBgVQAAgAYAAAAAAACwnQEAYFUAAHAKAAAAAAAAt50BAGBVAACgCgAAAAAAAMSdAQBgVQAA0AoAAAAAAADSnQEAYFUAAAALAAAAAAAA4J0BAGBVAAAwCwAAAAAAAOydAQBgVQAAYAsAAAAAAAD5nQEAYFUAAJALAAAAAAAAAp4BAGBVAADACwAAAAAAAAyeAQBgVQAA8AsAAAAAAAAVngEAYFUAACAMAAAAAAAAHZ4BAGBVAABQDAAAAAAAACWeAQBgVQAAgAwAAAAAAAAungEAYFUAALAMAAAAAAAAMp4BAGBVAADgDAAAAAAAAD2eAQBgVQAAEA0AAAAAAABBngEAYFUAAEANAAAAAAAAS54BAGBVAABwDQAAAAAAAFSeAQBgVQAAoA0AAAAAAABcngEAYFUAANANAAAAAAAAaZ4BAGBVAAAADgAAAAAAAHWeAQBgVQAAMA4AAAAAAACAngEAYFUAAGAOAAAAAAAAkJ4BAGBVAACQDgAAAAAAAJ6eAQBgVQAAwA4AAAAAAACtngEAYFUAAPAOAAAAAAAAt54BAGBVAAAgDwAAAAAAAMCeAQBgVQAAUA8AAAAAAADKngEAYFUAAIAPAAAAAAAA1J4BAGBVAACwDwAAAAAAANueAQBgVQAA4A8AAAAAAADingEAYFUAABAQAAAAAAAA7J4BAKhVAAAAAAAAAAAAAPOeAQCoVQAAAAAAAAAAAADVnAEAwFUAAAAAAAAAAAAA+54BANhVAABAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbAAAAXAAAABcAAAAEAAAAAgAAAAwAAABdAAAAXAAAABcAAAAFAAAAAAAAAA0AAABbAAAAXAAAABcAAAAEAAAAAgAAAAwAAABeAAAAXwAAABgAAAAGAAAAAwAAAA4AAABgAAAAYQAAABcAAAAHAAAAAAAAAA8AAABbAAAAXAAAABcAAAAIAAAAAgAAAAwAAAAQAAAAEQAAABIAAAATAAAA/Z8BAASgAQAAAAAADKABAA6gAQB/HgIAEKABAAwAAAAEAAAABgAAAAIAAAADAAAAAQAAAAkAAAAIAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAF2hAQBtoQEAeqEBAAAAAAAAAAAABAAAAH+hAQAAAAAAAAAAAIqhAQBtoQEAeqEBAAAAAAChoQEABQAAAH+hAQAAAAAAqaEBALChAQBtoQEAwKEBAAAAAAAAAAAABgAAAH+hAQDrsQEAAAAAAMWhAQBtoQEAwKEBAAAAAAChoQEABwAAAH+hAQDrsQEAqaEBANyhAQDpoQEAwKEBAAAAAAAAAAAACgAAAPehAQDrsQEAAAAAAP2hAQDpoQEAwKEBAAAAAACpoQEACwAAAPehAQDrsQEAqaEBABCiAQDpoQEAHqIBAAAAAAAAAAAACAAAAPehAQAAAAAAAAAAACSiAQDpoQEAHqIBAAAAAACpoQEACQAAAPehAQAAAAAAqaEBADiiAQA4ogEAAAAAAAAAAAAAAAAADAAAAECiAQAAAAAAAAAAAEqiAQA4ogEA67EBAAAAAAAAAAAADgAAAECiAQDrsQEAAAAAAFeiAQA4ogEA67EBAAAAAAChoQEADwAAAECiAQDrsQEAqaEBAGuiAQA4ogEAAAAAAAAAAAChoQEADQAAAECiAQAAAAAAqaEBAHuiAQB7ogEAAAAAAAAAAAAAAAAAEAAAAH+hAQAAAAAAAAAAAIWiAQB7ogEA67EBAAAAAAAAAAAAEgAAAH+hAQDrsQEAAAAAAJSiAQB7ogEA67EBAAAAAAChoQEAEwAAAH+hAQDrsQEAqaEBAKqiAQB7ogEAAAAAALuiAQAAAAAAFAAAAH+hAQAAAAAAAAAAAMWiAQB7ogEA67EBALuiAQAAAAAAFgAAAH+hAQDrsQEAAAAAANuiAQB7ogEA67EBALuiAQChoQEAFwAAAH+hAQDrsQEAqaEBAPiiAQB7ogEAAAAAALuiAQChoQEAFQAAAH+hAQAAAAAAqaEBABGjAQB7ogEAAAAAAAAAAAChoQEAEQAAAH+hAQAAAAAAqaEBACOjAQA5owEA67EBAAAAAAAAAAAAGgAAAPehAQDrsQEAAAAAAE6jAQA5owEA67EBAAAAAACpoQEAGwAAAPehAQDrsQEAqaEBAGqjAQA5owEAAAAAAAAAAACpoQEAGQAAAPehAQAAAAAAqaEBAIKjAQA5owEAmaMBAAAAAAAAAAAAGAAAAPehAQAAAAAAAAAAAJ+jAQCtowEA67EBAAAAAAAAAAAAHgAAAPehAQDrsQEAAAAAAL+jAQCtowEA67EBAAAAAACpoQEAHwAAAPehAQDrsQEAqaEBANOjAQCtowEAAAAAAAAAAACpoQEAHQAAAPehAQAAAAAAqaEBAOOjAQCtowEAmaMBAAAAAAAAAAAAHAAAAPehAQAAAAAAAAAAAPKjAQDyowEAAAAAAAAAAAAAAAAAIAAAAPmjAQAAAAAAAAAAAAGkAQAMpAEA67EBAAAAAAAAAAAAAgAAAPehAQDrsQEAAAAAABKkAQAMpAEA67EBAAAAAACpoQEAAwAAAPehAQDrsQEAqaEBACOkAQAMpAEAAAAAAAAAAACpoQEAAQAAAPehAQAAAAAAqaEBANqlAQAMpAEAAAAAAAAAAAAAAAAAAAAAAPehAQAAAAAAAAAAADCkAQBKpAEAWaQBAAAAAACpoQEAIQAAAPehAQAAAAAAqaEBAGCkAQBtpAEAAAAAAAAAAAAAAAAAIgAAAPmjAQAAAAAAAAAAAAgAAAAEAAAAAAAAAAoAAAAtAAAAEgAAAAAAAAAAAAAAAAAAAAgAAAD/////AAAAAAAAAAAuAAAAAAAAAAAAAAAAAAAAAAAAAAmnAQDGAAAAD6cBAMEAAAAWpwEAwgAAABynAQDAAAAAI6cBAJEDAAAppwEAxQAAAC+nAQDDAAAANqcBAMQAAAA7pwEAkgMAAECnAQDHAAAAR6cBAKcDAABLpwEAISAAAFKnAQCUAwAAWKcBANAAAABcpwEAyQAAAGOnAQDKAAAAaacBAMgAAABwpwEAlQMAAHinAQCXAwAAfKcBAMsAAACBpwEAkwMAAIenAQDNAAAAjqcBAM4AAACUpwEAzAAAAJunAQCZAwAAoKcBAM8AAAClpwEAmgMAAKunAQCbAwAAsqcBAJwDAAC1pwEA0QAAALynAQCdAwAAv6cBAFIBAADFpwEA0wAAAMynAQDUAAAA0qcBANIAAADZpwEAqQMAAN+nAQCfAwAA56cBANgAAADupwEA1QAAAPWnAQDWAAAA+qcBAKYDAAD+pwEAoAMAAAGoAQAzIAAAB6gBAKgDAAALqAEAoQMAAA+oAQBgAQAAFqgBAKMDAAAcqAEA3gAAACKoAQCkAwAAJqgBAJgDAAAsqAEA2gAAADOoAQDbAAAAOagBANkAAABAqAEApQMAAEioAQDcAAAATagBAJ4DAABQqAEA3QAAAFeoAQB4AQAAXKgBAJYDAABhqAEA4QAAAGioAQDiAAAAbqgBALQAAAB0qAEA5gAAAHqoAQDgAAAAgagBADUhAACJqAEAsQMAAI+oAQAmAAAAk6gBACciAACXqAEAICIAAJuoAQDlAAAAoagBAEgiAACnqAEA4wAAAK6oAQDkAAAAs6gBAB4gAAC5qAEAsgMAAL6oAQCmAAAAxagBACIgAADKqAEAKSIAAM6oAQDnAAAA1agBALgAAADbqAEAogAAAOCoAQDHAwAA5KgBAMYCAADpqAEAYyYAAO+oAQBFIgAA9KgBAKkAAAD5qAEAtSEAAP+oAQAqIgAAA6kBAKQAAAAKqQEA0yEAAA+pAQAgIAAAFqkBAJMhAAAbqQEAsAAAAB+pAQC0AwAAJakBAGYmAAArqQEA9wAAADKpAQDpAAAAOakBAOoAAAA/qQEA6AAAAEapAQAFIgAATKkBAAMgAABRqQEAAiAAAFapAQC1AwAAXqkBAGEiAABkqQEAtwMAAGipAQDwAAAAbKkBAOsAAABxqQEArCAAAHapAQADIgAAfKkBAJIBAACBqQEAACIAAIipAQC9AAAAj6kBALwAAACWqQEAvgAAAJ2pAQBEIAAAo6kBALMDAACpqQEAZSIAAKypAQA+AAAAr6kBANQhAAC0qQEAlCEAALmpAQBlJgAAwKkBACYgAADHqQEA7QAAAM6pAQDuAAAA1KkBAKEAAADaqQEA7AAAAOGpAQARIQAA56kBAB4iAADtqQEAKyIAAPGpAQC5AwAA9qkBAL8AAAD9qQEACCIAAAKqAQDvAAAAB6oBALoDAAANqgEA0CEAABKqAQC7AwAAGaoBACkjAAAeqgEAqwAAACSqAQCQIQAAKaoBAAgjAAAvqgEAHCAAADWqAQBkIgAAOKoBAAojAAA/qgEAFyIAAEaqAQDKJQAASqoBAA4gAABOqgEAOSAAAFWqAQAYIAAAW6oBADwAAABeqgEArwAAAGOqAQAUIAAAaaoBALUAAABvqgEAtwAAAEazAQASIgAAdqoBALwDAAB5qgEAByIAAH+qAQCgAAAAhKoBABMgAACKqgEAYCIAAI2qAQALIgAAkKoBAKwAAACUqgEACSIAAJqqAQCEIgAAn6oBAPEAAACmqgEAvQMAAKmqAQDzAAAAsKoBAPQAAAC2qgEAUwEAALyqAQDyAAAAw6oBAD4gAADJqgEAyQMAAM+qAQC/AwAA16oBAJUiAADdqgEAKCIAAOCqAQCqAAAA5aoBALoAAADqqgEA+AAAAPGqAQD1AAAA+KoBAJciAAD/qgEA9gAAAASrAQC2AAAACasBAAIiAAAOqwEAMCAAABWrAQClIgAAGqsBAMYDAAAeqwEAwAMAACGrAQDWAwAAJasBALEAAAAsqwEAowAAADKrAQAyIAAAOKsBAA8iAAA9qwEAHSIAAEKrAQDIAwAARqsBACIAAABLqwEA0iEAAFCrAQAaIgAAVqsBACojAABbqwEAuwAAAGGrAQCSIQAAZqsBAAkjAABsqwEAHSAAAHKrAQAcIQAAd6sBAK4AAAB7qwEACyMAAIKrAQDBAwAAhqsBAA8gAACKqwEAOiAAAJGrAQAZIAAAl6sBABogAACdqwEAYQEAAKSrAQDFIgAAqasBAKcAAACuqwEArQAAALKrAQDDAwAAuKsBAMIDAAC/qwEAPCIAAMOrAQBgJgAAyqsBAIIiAADOqwEAhiIAANOrAQARIgAA16sBAIMiAADbqwEAuQAAAOCrAQCyAAAA5asBALMAAADqqwEAhyIAAO+rAQDfAAAA9asBAMQDAAD5qwEANCIAAACsAQC4AwAABqwBANEDAAAPrAEACSAAABasAQD+AAAAHKwBANwCAAAirAEA1wAAACisAQAiIQAALqwBANEhAAAzrAEA+gAAADqsAQCRIQAAP6wBAPsAAABFrAEA+QAAAEysAQCoAAAAUKwBANIDAABWrAEAxQMAAF6sAQD8AAAAY6wBABghAABqrAEAvgMAAG2sAQD9AAAAdKwBAKUAAAB4rAEA/wAAAH2sAQC2AwAAgqwBAA0gAACGrAEADCAAAAcAAAAIAAAAAQEAAAgAAAAIAAAAAAAAAAAAAAAvAAAAEwAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAwAAAAFAAAAAAAAAAAAAAAAAAAAAazAQAJAAAACLMBAAoAAAANswEACgAAABWzAQALAAAAG7MBAAsAAAAkswEADAAAACezAQAMAAAALbMBAA0AAAAyswEADQAAADqzAQAOAAAAP7MBAA4AAABGswEADwAAAEyzAQAPAAAAWLMBABAAAABiAAAAMQAAADIAAAAUAAAAMwAAAGMAAAA0AAAAFQAAADUAAAAIAAAABAAAAP////8AAAAAAAAAABUAAAAAAAAAAAAAAAAAAACjtAEAVV3Jf8l//wCutAEAuy3Uvq7U/wC5tAEAFHf9/cCG/wDEtAEAVV3Jf8l//wDPtAEAuy3Uvq7U/wDatAEAFHf9/cCG/wDltAEAKmb///+Z/wDwtAEAVV3Jf8l//wD7tAEAuy3Uvq7U/wAGtQEAFHf9/cCG/wARtQEAKmb///+Z/wActQEAl62wOGyw/wAntQEAVV3Jf8l//wAytQEAuy3Uvq7U/wA9tQEAFHf9/cCG/wBItQEAKmb///+Z/wBTtQEAl62wOGyw/wBetQEA6Pzw8AJ//wBptQEAVV3Jf8l//wB0tQEAuy3Uvq7U/wB/tQEAFHf9/cCG/wCKtQEAKmb///+Z/wCVtQEAl62wOGyw/wCgtQEA6Pzw8AJ//wCrtQEAEeC/v1sX/wC2tQEAVV3Jf8l//wDBtQEAuy3Uvq7U/wDMtQEAFHf9/cCG/wDXtQEAKmb///+Z/wDitQEAl62wOGyw/wDttQEA6Pzw8AJ//wD4tQEAEeC/v1sX/wADtgEAAABmZmZm/wAOtgEAkxn33uv3/wAYtgEAjkvhnsrh/wAitgEAkby9MYK9/wAstgEAnxD/7/P//wA2tgEAjy7nvdfn/wBAtgEAj3/Wa67W/wBKtgEAk9C1IXG1/wBUtgEAnxD/7/P//wBetgEAjy7nvdfn/wBotgEAj3/Wa67W/wBytgEAkby9MYK9/wB8tgEAlfGcCFGc/wCGtgEAnxD/7/P//wCQtgEAlCvvxtvv/wCatgEAjkvhnsrh/wCktgEAj3/Wa67W/wCutgEAkby9MYK9/wC4tgEAlfGcCFGc/wDCtgEAnxD/7/P//wDMtgEAlCvvxtvv/wDWtgEAjkvhnsrh/wDgtgEAj3/Wa67W/wDqtgEAkKnGQpLG/wD0tgEAk9C1IXG1/wD+tgEAl/GUCEWU/wAItwEAlAj/9/v//wAStwEAkxn33uv3/wActwEAlCvvxtvv/wAmtwEAjkvhnsrh/wAwtwEAj3/Wa67W/wA6twEAkKnGQpLG/wBEtwEAk9C1IXG1/wBOtwEAl/GUCEWU/wBYtwEAlAj/9/v//wBitwEAkxn33uv3/wBstwEAlCvvxtvv/wB2twEAjkvhnsrh/wCAtwEAj3/Wa67W/wCKtwEAkKnGQpLG/wCUtwEAk9C1IXG1/wCetwEAlfGcCFGc/wCotwEAmOtrCDBr/wCytwEAF+9UVDAF/wC8twEAd/88ADww/wDHtwEAF+yMjFEK/wDRtwEAGMK/v4Et/wDbtwEAHXDf38J9/wDltwEAHjT29ujD/wDvtwEAeSbqx+rl/wD5twEAeF/NgM3B/wADuAEAfKWXNZeP/wANuAEAfPxmAWZe/wAXuAEAF+9UVDAF/wAhuAEAfPxmAWZe/wAsuAEAd/88ADww/wA3uAEAF+yMjFEK/wBBuAEAGMK/v4Et/wBLuAEAHXDf38J9/wBVuAEAHjT29ujD/wBfuAEAAAD19fX1/wBpuAEAeSbqx+rl/wBzuAEAeF/NgM3B/wB9uAEAfKWXNZeP/wCHuAEAHIfY2LNl/wCQuAEAAAD19fX1/wCZuAEAe3+0WrSs/wCiuAEAFdempmEa/wCruAEAHXDf38J9/wC0uAEAeF/NgM3B/wC9uAEAef2FAYVx/wDGuAEAFdempmEa/wDPuAEAHXDf38J9/wDYuAEAAAD19fX1/wDhuAEAeF/NgM3B/wDquAEAef2FAYVx/wDzuAEAF+yMjFEK/wD8uAEAHIfY2LNl/wAFuQEAHjT29ujD/wAOuQEAeSbqx+rl/wAXuQEAe3+0WrSs/wAguQEAfPxmAWZe/wApuQEAF+yMjFEK/wAyuQEAHIfY2LNl/wA7uQEAHjT29ujD/wBEuQEAAAD19fX1/wBNuQEAeSbqx+rl/wBWuQEAe3+0WrSs/wBfuQEAfPxmAWZe/wBouQEAF+yMjFEK/wBxuQEAGMK/v4Et/wB6uQEAHXDf38J9/wCDuQEAHjT29ujD/wCMuQEAeSbqx+rl/wCVuQEAeF/NgM3B/wCeuQEAfKWXNZeP/wCnuQEAfPxmAWZe/wCwuQEAF+yMjFEK/wC5uQEAGMK/v4Et/wDCuQEAHXDf38J9/wDLuQEAHjT29ujD/wDUuQEAAAD19fX1/wDduQEAeSbqx+rl/wDmuQEAeF/NgM3B/wDvuQEAfKWXNZeP/wD4uQEAfPxmAWZe/wABugEAhxT55fX5/wAKugEAdUrYmdjJ/wATugEAZ7miLKJf/wAcugEAiA777fj7/wAlugEAfzbisuLi/wAuugEAcXjCZsKk/wA3ugEAYr6LI4tF/wBAugEAiA777fj7/wBJugEAfzbisuLi/wBSugEAcXjCZsKk/wBbugEAZ7miLKJf/wBkugEAZv9tAG0s/wBtugEAiA777fj7/wB2ugEAdyLszOzm/wB/ugEAdUrYmdjJ/wCIugEAcXjCZsKk/wCRugEAZ7miLKJf/wCaugEAZv9tAG0s/wCjugEAiA777fj7/wCsugEAdyLszOzm/wC1ugEAdUrYmdjJ/wC+ugEAcXjCZsKk/wDHugEAaZ+uQa52/wDQugEAYr6LI4tF/wDZugEAZv9YAFgk/wDiugEAhgb99/z9/wDrugEAhxT55fX5/wD0ugEAdyLszOzm/wD9ugEAdUrYmdjJ/wAGuwEAcXjCZsKk/wAPuwEAaZ+uQa52/wAYuwEAYr6LI4tF/wAhuwEAZv9YAFgk/wAquwEAhgb99/z9/wAzuwEAhxT55fX5/wA8uwEAdyLszOzm/wBFuwEAdUrYmdjJ/wBOuwEAcXjCZsKk/wBXuwEAaZ+uQa52/wBguwEAYr6LI4tF/wBpuwEAZv9tAG0s/wByuwEAZf9EAEQb/wB7uwEAkBT04Oz0/wCEuwEAlEbanrza/wCNuwEAxHuniFan/wCWuwEAiA777fj7/wCfuwEAkjXjs83j/wCouwEAokrGjJbG/wCxuwEAypWdiEGd/wC6uwEAiA777fj7/wDDuwEAkjXjs83j/wDMuwEAokrGjJbG/wDVuwEAxHuniFan/wDeuwEA1uGBgQ98/wDnuwEAiA777fj7/wDwuwEAlCvmv9Pm/wD5uwEAlEbanrza/wACvAEAokrGjJbG/wALvAEAxHuniFan/wAUvAEA1uGBgQ98/wAdvAEAiA777fj7/wAmvAEAlCvmv9Pm/wAvvAEAlEbanrza/wA4vAEAokrGjJbG/wBBvAEAvmSxjGux/wBKvAEAypWdiEGd/wBTvAEA1fxubgFr/wBcvAEAhgb99/z9/wBlvAEAkBT04Oz0/wBuvAEAlCvmv9Pm/wB3vAEAlEbanrza/wCAvAEAokrGjJbG/wCJvAEAvmSxjGux/wCSvAEAypWdiEGd/wCbvAEA1fxubgFr/wCkvAEAhgb99/z9/wCtvAEAkBT04Oz0/wC2vAEAlCvmv9Pm/wC/vAEAlEbanrza/wDIvAEAokrGjJbG/wDRvAEAvmSxjGux/wDavAEAypWdiEGd/wDjvAEA1uGBgQ98/wDsvAEA1f9NTQBL/wD1vAEActOeG553/wD/vAEAEvzZ2V8C/wAJvQEArV+zdXCz/wATvQEActOeG553/wAdvQEAEvzZ2V8C/wAnvQEArV+zdXCz/wAxvQEA6dHn5ymK/wA7vQEActOeG553/wBFvQEAEvzZ2V8C/wBPvQEArV+zdXCz/wBZvQEA6dHn5ymK/wBjvQEAPtCmZqYe/wBtvQEActOeG553/wB3vQEAEvzZ2V8C/wCBvQEArV+zdXCz/wCLvQEA6dHn5ymK/wCVvQEAPtCmZqYe/wCfvQEAH/zm5qsC/wCpvQEActOeG553/wCzvQEAEvzZ2V8C/wC9vQEArV+zdXCz/wDHvQEA6dHn5ymK/wDRvQEAPtCmZqYe/wDbvQEAH/zm5qsC/wDlvQEAG9KmpnYd/wDvvQEActOeG553/wD5vQEAEvzZ2V8C/wADvgEArV+zdXCz/wANvgEA6dHn5ymK/wAXvgEAPtCmZqYe/wAhvgEAH/zm5qsC/wArvgEAG9KmpnYd/wA1vgEAAABmZmZm/wA/vgEATBnz4PPb/wBIvgEAXz3dqN21/wBRvgEAjKrKQ6LK/wBavgEAQRH58Pno/wBjvgEAVy7kuuS8/wBsvgEAe2XMe8zE/wB1vgEAjcW+K4y+/wB+vgEAQRH58Pno/wCHvgEAVy7kuuS8/wCQvgEAe2XMe8zE/wCZvgEAjKrKQ6LK/wCivgEAkfOsCGis/wCrvgEAQRH58Pno/wC0vgEATSnrzOvF/wC9vgEAXz3dqN21/wDGvgEAe2XMe8zE/wDPvgEAjKrKQ6LK/wDYvgEAkfOsCGis/wDhvgEAQRH58Pno/wDqvgEATSnrzOvF/wDzvgEAXz3dqN21/wD8vgEAe2XMe8zE/wAFvwEAiaDTTrPT/wAOvwEAjcW+K4y+/wAXvwEAk/KeCFie/wAgvwEAPAz89/zw/wApvwEATBnz4PPb/wAyvwEATSnrzOvF/wA7vwEAXz3dqN21/wBEvwEAe2XMe8zE/wBNvwEAiaDTTrPT/wBWvwEAjcW+K4y+/wBfvwEAk/KeCFie/wBovwEAPAz89/zw/wBxvwEATBnz4PPb/wB6vwEATSnrzOvF/wCDvwEAXz3dqN21/wCMvwEAe2XMe8zE/wCVvwEAiaDTTrPT/wCevwEAjcW+K4y+/wCnvwEAkfOsCGis/wCwvwEAlu+BCECB/wC5vwEAShX15fXg/wDEvwEAUEjZodmb/wDPvwEAYrKjMaNU/wDavwEASQ/47fjp/wDlvwEATjbkuuSz/wDwvwEAVmjEdMR2/wD7vwEAYr6LI4tF/wAGwAEASQ/47fjp/wARwAEATjbkuuSz/wAcwAEAVmjEdMR2/wAnwAEAYrKjMaNU/wAywAEAZv9tAG0s/wA9wAEASQ/47fjp/wBIwAEATSzpx+nA/wBTwAEAUEjZodmb/wBewAEAVmjEdMR2/wBpwAEAYrKjMaNU/wB0wAEAZv9tAG0s/wB/wAEASQ/47fjp/wCKwAEATSzpx+nA/wCVwAEAUEjZodmb/wCgwAEAVmjEdMR2/wCrwAEAYJ6rQatd/wC2wAEAYr6LI4tF/wDBwAEAbP9aAFoy/wDMwAEASAf89/z1/wDXwAEAShX15fXg/wDiwAEATSzpx+nA/wDtwAEAUEjZodmb/wD4wAEAVmjEdMR2/wADwQEAYJ6rQatd/wAOwQEAYr6LI4tF/wAZwQEAbP9aAFoy/wAkwQEASAf89/z1/wAvwQEAShX15fXg/wA6wQEATSzpx+nA/wBFwQEAUEjZodmb/wBQwQEAVmjEdMR2/wBbwQEAYJ6rQatd/wBmwQEAYr6LI4tF/wBxwQEAZv9tAG0s/wB8wQEAZf9EAEQb/wCHwQEAAADw8PDw/wCRwQEAAAC9vb29/wCbwQEAAABjY2Nj/wClwQEAAAD39/f3/wCvwQEAAADMzMzM/wC5wQEAAACWlpaW/wDDwQEAAABSUlJS/wDNwQEAAAD39/f3/wDXwQEAAADMzMzM/wDhwQEAAACWlpaW/wDrwQEAAABjY2Nj/wD1wQEAAAAlJSUl/wD/wQEAAAD39/f3/wAJwgEAAADZ2dnZ/wATwgEAAAC9vb29/wAdwgEAAACWlpaW/wAnwgEAAABjY2Nj/wAxwgEAAAAlJSUl/wA7wgEAAAD39/f3/wBFwgEAAADZ2dnZ/wBPwgEAAAC9vb29/wBZwgEAAACWlpaW/wBjwgEAAABzc3Nz/wBtwgEAAABSUlJS/wB3wgEAAAAlJSUl/wCBwgEAAAD//////wCLwgEAAADw8PDw/wCVwgEAAADZ2dnZ/wCfwgEAAAC9vb29/wCpwgEAAACWlpaW/wCzwgEAAABzc3Nz/wC9wgEAAABSUlJS/wDHwgEAAAAlJSUl/wDRwgEAAAD//////wDbwgEAAADw8PDw/wDlwgEAAADZ2dnZ/wDvwgEAAAC9vb29/wD5wgEAAACWlpaW/wADwwEAAABzc3Nz/wANwwEAAABSUlJS/wAXwwEAAAAlJSUl/wAhwwEAAAAAAAAA/wArwwEAFTD+/ubO/wA3wwEAE5P9/a5r/wBDwwEADvDm5lUN/wBPwwEAEyD+/u3e/wBbwwEAFHj9/b6F/wBnwwEAEcL9/Y08/wBzwwEADf3Z2UcB/wB/wwEAEyD+/u3e/wCLwwEAFHj9/b6F/wCXwwEAEcL9/Y08/wCjwwEADvDm5lUN/wCvwwEADfqmpjYD/wC7wwEAEyD+/u3e/wDHwwEAFVv9/dCi/wDTwwEAE5P9/a5r/wDfwwEAEcL9/Y08/wDrwwEADvDm5lUN/wD3wwEADfqmpjYD/wADxAEAEyD+/u3e/wAPxAEAFVv9/dCi/wAbxAEAE5P9/a5r/wAnxAEAEcL9/Y08/wAzxAEAEOrx8WkT/wA/xAEADf3Z2UgB/wBLxAEADPeMjC0E/wBXxAEAFRT///Xr/wBjxAEAFTD+/ubO/wBvxAEAFVv9/dCi/wB7xAEAE5P9/a5r/wCHxAEAEcL9/Y08/wCTxAEAEOrx8WkT/wCfxAEADf3Z2UgB/wCrxAEADPeMjC0E/wC3xAEAFRT///Xr/wDDxAEAFTD+/ubO/wDPxAEAFVv9/dCi/wDbxAEAE5P9/a5r/wDnxAEAEcL9/Y08/wDzxAEAEOrx8WkT/wD/xAEADf3Z2UgB/wALxQEADfqmpjYD/wAXxQEADPZ/fycE/wAjxQEAGTb+/ujI/wAsxQEAE3n9/buE/wA1xQEABcXj40oz/wA+xQEAGiX+/vDZ/wBHxQEAGHP9/cyK/wBQxQEADaT8/I1Z/wBZxQEAA9rX1zAf/wBixQEAGiX+/vDZ/wBrxQEAGHP9/cyK/wB0xQEADaT8/I1Z/wB9xQEABcXj40oz/wCGxQEAAP+zswAA/wCPxQEAGiX+/vDZ/wCYxQEAGF/9/dSe/wChxQEAE3n9/buE/wCqxQEADaT8/I1Z/wCzxQEABcXj40oz/wC8xQEAAP+zswAA/wDFxQEAGiX+/vDZ/wDOxQEAGF/9/dSe/wDXxQEAE3n9/buE/wDgxQEADaT8/I1Z/wDpxQEAB7Lv72VI/wDyxQEAA9rX1zAf/wD7xQEAAP+ZmQAA/wAExgEAGBL///fs/wANxgEAGTb+/ujI/wAWxgEAGF/9/dSe/wAfxgEAE3n9/buE/wAoxgEADaT8/I1Z/wAxxgEAB7Lv72VI/wA6xgEAA9rX1zAf/wBDxgEAAP+ZmQAA/wBMxgEAGBL///fs/wBVxgEAGTb+/ujI/wBexgEAGF/9/dSe/wBnxgEAE3n9/buE/wBwxgEADaT8/I1Z/wB5xgEAB7Lv72VI/wCCxgEAA9rX1zAf/wCLxgEAAP+zswAA/wCUxgEAAP9/fwAA/wCdxgEAjkTjps7j/wCpxgEAvpmaaj2a/wC2xgEAkNO0H3i0/wDCxgEAQWHfst+K/wDOxgEAUrigM6As/wDaxgEAAGP7+5qZ/wDmxgEA/uHj4xoc/wDyxgEAF4/9/b9v/wD+xgEAFf///38A/wAKxwEAxirWyrLW/wAWxwEAjkTjps7j/wAixwEAvpmaaj2a/wAvxwEAKmb///+Z/wA8xwEAkNO0H3i0/wBIxwEAQWHfst+K/wBUxwEAUrigM6As/wBgxwEAAGP7+5qZ/wBsxwEA/uHj4xoc/wB4xwEAF4/9/b9v/wCExwEAFf///38A/wCQxwEAxirWyrLW/wCcxwEAjkTjps7j/wCoxwEAvpmaaj2a/wC1xwEAKmb///+Z/wDCxwEAD8WxsVko/wDPxwEAkNO0H3i0/wDbxwEAQWHfst+K/wDnxwEAUrigM6As/wDzxwEAAGP7+5qZ/wD/xwEA/uHj4xoc/wALyAEAF4/9/b9v/wAXyAEAFf///38A/wAjyAEAxirWyrLW/wAvyAEAjkTjps7j/wA6yAEAkNO0H3i0/wBFyAEAQWHfst+K/wBQyAEAjkTjps7j/wBbyAEAkNO0H3i0/wBmyAEAQWHfst+K/wBxyAEAUrigM6As/wB8yAEAjkTjps7j/wCHyAEAkNO0H3i0/wCSyAEAQWHfst+K/wCdyAEAUrigM6As/wCoyAEAAGP7+5qZ/wCzyAEAjkTjps7j/wC+yAEAkNO0H3i0/wDJyAEAQWHfst+K/wDUyAEAUrigM6As/wDfyAEAAGP7+5qZ/wDqyAEA/uHj4xoc/wD1yAEAjkTjps7j/wAAyQEAkNO0H3i0/wALyQEAQWHfst+K/wAWyQEAUrigM6As/wAhyQEAAGP7+5qZ/wAsyQEA/uHj4xoc/wA3yQEAF4/9/b9v/wBCyQEAjkTjps7j/wBNyQEAkNO0H3i0/wBYyQEAQWHfst+K/wBjyQEAUrigM6As/wBuyQEAAGP7+5qZ/wB5yQEA/uHj4xoc/wCEyQEAF4/9/b9v/wCPyQEAFf///38A/wCayQEAjkTjps7j/wClyQEAkNO0H3i0/wCwyQEAQWHfst+K/wC7yQEAUrigM6As/wDGyQEAAGP7+5qZ/wDRyQEA/uHj4xoc/wDcyQEAF4/9/b9v/wDnyQEAFf///38A/wDyyQEAxirWyrLW/wD9yQEAA077+7Su/wAJygEAkjXjs83j/wAVygEATSnrzOvF/wAhygEAA077+7Su/wAtygEAkjXjs83j/wA5ygEATSnrzOvF/wBFygEAyhvk3svk/wBRygEAA077+7Su/wBdygEAkjXjs83j/wBpygEATSnrzOvF/wB1ygEAyhvk3svk/wCBygEAGFj+/tmm/wCNygEAA077+7Su/wCZygEAkjXjs83j/wClygEATSnrzOvF/wCxygEAyhvk3svk/wC9ygEAGFj+/tmm/wDJygEAKjL////M/wDVygEAA077+7Su/wDhygEAkjXjs83j/wDtygEATSnrzOvF/wD5ygEAyhvk3svk/wAFywEAGFj+/tmm/wARywEAKjL////M/wAdywEAHCzl5di9/wApywEAA077+7Su/wA1ywEAkjXjs83j/wBBywEATSnrzOvF/wBNywEAyhvk3svk/wBZywEAGFj+/tmm/wBlywEAKjL////M/wBxywEAHCzl5di9/wB9ywEA6SP9/drs/wCJywEAA077+7Su/wCVywEAkjXjs83j/wChywEATSnrzOvF/wCtywEAyhvk3svk/wC5ywEAGFj+/tmm/wDFywEAKjL////M/wDRywEAHCzl5di9/wDdywEA6SP9/drs/wDpywEAAADy8vLy/wD1ywEAbDXis+LN/wABzAEAEVH9/c2s/wANzAEAmx/oy9Xo/wAZzAEAbDXis+LN/wAlzAEAEVH9/c2s/wAxzAEAmx/oy9Xo/wA9zAEA5Cv09Mrk/wBJzAEAbDXis+LN/wBVzAEAEVH9/c2s/wBhzAEAmx/oy9Xo/wBtzAEA5Cv09Mrk/wB5zAEAOC315vXJ/wCFzAEAbDXis+LN/wCRzAEAEVH9/c2s/wCdzAEAmx/oy9Xo/wCpzAEA5Cv09Mrk/wC1zAEAOC315vXJ/wDBzAEAI1H///Ku/wDNzAEAbDXis+LN/wDZzAEAEVH9/c2s/wDlzAEAmx/oy9Xo/wDxzAEA5Cv09Mrk/wD9zAEAOC315vXJ/wAJzQEAI1H///Ku/wAVzQEAGSfx8eLM/wAhzQEAbDXis+LN/wAtzQEAEVH9/c2s/wA5zQEAmx/oy9Xo/wBFzQEA5Cv09Mrk/wBRzQEAOC315vXJ/wBdzQEAI1H///Ku/wBpzQEAGSfx8eLM/wB1zQEAAADMzMzM/wCBzQEA5v2OjgFS/wCLzQEATb9kJ2QZ/wCWzQEA5tzFxRt9/wCgzQEA6Hbe3neu/wCqzQEA5T7x8bba/wC0zQEA6R39/eDv/wC+zQEAOyb15vXQ/wDIzQEAPWfhuOGG/wDSzQEAP6a8f7xB/wDczQEARMWSTZIh/wDmzQEA5v2OjgFS/wDwzQEARMWSTZIh/wD7zQEATb9kJ2QZ/wAGzgEA5tzFxRt9/wAQzgEA6Hbe3neu/wAazgEA5T7x8bba/wAkzgEA6R39/eDv/wAuzgEAAAD39/f3/wA4zgEAOyb15vXQ/wBCzgEAPWfhuOGG/wBMzgEAP6a8f7xB/wBWzgEA50zp6aPJ/wBfzgEAAAD39/f3/wBozgEAP4HXoddq/wBxzgEA5NzQ0ByL/wB6zgEA5T7x8bba/wCDzgEAPWfhuOGG/wCMzgEASMasTawm/wCVzgEA5NzQ0ByL/wCezgEA5T7x8bba/wCnzgEAAAD39/f3/wCwzgEAPWfhuOGG/wC5zgEASMasTawm/wDCzgEA5tzFxRt9/wDLzgEA50zp6aPJ/wDUzgEA6R39/eDv/wDdzgEAOyb15vXQ/wDmzgEAP4HXoddq/wDvzgEARMWSTZIh/wD4zgEA5tzFxRt9/wABzwEA50zp6aPJ/wAKzwEA6R39/eDv/wATzwEAAAD39/f3/wAczwEAOyb15vXQ/wAlzwEAP4HXoddq/wAuzwEARMWSTZIh/wA3zwEA5tzFxRt9/wBAzwEA6Hbe3neu/wBJzwEA5T7x8bba/wBSzwEA6R39/eDv/wBbzwEAOyb15vXQ/wBkzwEAPWfhuOGG/wBtzwEAP6a8f7xB/wB2zwEARMWSTZIh/wB/zwEA5tzFxRt9/wCIzwEA6Hbe3neu/wCRzwEA5T7x8bba/wCazwEA6R39/eDv/wCjzwEAAAD39/f3/wCszwEAOyb15vXQ/wC1zwEAPWfhuOGG/wC+zwEAP6a8f7xB/wDHzwEARMWSTZIh/wDQzwEAzv9LQABL/wDazwEAZf9EAEQb/wDlzwEAzq2DdiqD/wDvzwEAx1ermXCr/wD5zwEAxzPPwqXP/wAD0AEA0hXo59To/wAN0AEATB7w2fDT/wAX0AEAUETbptug/wAh0AEAWHuuWq5h/wAr0AEAYcV4G3g3/wA10AEAzv9LQABL/wA/0AEAYcV4G3g3/wBK0AEAZf9EAEQb/wBV0AEAzq2DdiqD/wBf0AEAx1ermXCr/wBp0AEAxzPPwqXP/wBz0AEA0hXo59To/wB90AEAAAD39/f3/wCH0AEATB7w2fDT/wCR0AEAUETbptug/wCb0AEAWHuuWq5h/wCl0AEAxEbDr43D/wCu0AEAAAD39/f3/wC30AEAUlq/f797/wDA0AEAyaiUezKU/wDJ0AEAxzPPwqXP/wDS0AEAUETbptug/wDb0AEAZv+IAIg3/wDk0AEAyaiUezKU/wDt0AEAxzPPwqXP/wD20AEAAAD39/f3/wD/0AEAUETbptug/wAI0QEAZv+IAIg3/wAR0QEAzq2DdiqD/wAa0QEAxEbDr43D/wAj0QEA0hXo59To/wAs0QEATB7w2fDT/wA10QEAUlq/f797/wA+0QEAYcV4G3g3/wBH0QEAzq2DdiqD/wBQ0QEAxEbDr43D/wBZ0QEA0hXo59To/wBi0QEAAAD39/f3/wBr0QEATB7w2fDT/wB00QEAUlq/f797/wB90QEAYcV4G3g3/wCG0QEAzq2DdiqD/wCP0QEAx1ermXCr/wCY0QEAxzPPwqXP/wCh0QEA0hXo59To/wCq0QEATB7w2fDT/wCz0QEAUETbptug/wC80QEAWHuuWq5h/wDF0QEAYcV4G3g3/wDO0QEAzq2DdiqD/wDX0QEAx1ermXCr/wDg0QEAxzPPwqXP/wDp0QEA0hXo59To/wDy0QEAAAD39/f3/wD70QEATB7w2fDT/wAE0gEAUETbptug/wAN0gEAWHuuWq5h/wAW0gEAYcV4G3g3/wAf0gEAvQvy7Ofy/wAo0gEAlz3bpr3b/wAx0gEAjcW+K4y+/wA60gEAuQj28e72/wBD0gEAmyjhvcnh/wBM0gEAkXDPdKnP/wBV0gEAj/ewBXCw/wBe0gEAuQj28e72/wBn0gEAmyjhvcnh/wBw0gEAkXDPdKnP/wB50gEAjcW+K4y+/wCC0gEAj/eNBFqN/wCL0gEAuQj28e72/wCU0gEAqBjm0NHm/wCd0gEAlz3bpr3b/wCm0gEAkXDPdKnP/wCv0gEAjcW+K4y+/wC40gEAj/eNBFqN/wDB0gEAuQj28e72/wDK0gEAqBjm0NHm/wDT0gEAlz3bpr3b/wDc0gEAkXDPdKnP/wDl0gEAjrfANpDA/wDu0gEAj/ewBXCw/wD30gEAj/h7A057/wAA0wEA6Qj///f7/wAJ0wEAvQvy7Ofy/wAS0wEAqBjm0NHm/wAb0wEAlz3bpr3b/wAk0wEAkXDPdKnP/wAt0wEAjrfANpDA/wA20wEAj/ewBXCw/wA/0wEAj/h7A057/wBI0wEA6Qj///f7/wBR0wEAvQvy7Ofy/wBa0wEAqBjm0NHm/wBj0wEAlz3bpr3b/wBs0wEAkXDPdKnP/wB10wEAjrfANpDA/wB+0wEAj/ewBXCw/wCH0wEAj/eNBFqN/wCQ0wEAj/lYAjhY/wCZ0wEAyA7w7OLw/wCk0wEAlz3bpr3b/wCv0wEAgtCZHJCZ/wC60wEAzwj39u/3/wDF0wEAmyjhvcnh/wDQ0wEAj4DPZ6nP/wDb0wEAgvuKAoGK/wDm0wEAzwj39u/3/wDx0wEAmyjhvcnh/wD80wEAj4DPZ6nP/wAH1AEAgtCZHJCZ/wAS1AEAd/xsAWxZ/wAd1AEAzwj39u/3/wAo1AEAqBjm0NHm/wAz1AEAlz3bpr3b/wA+1AEAj4DPZ6nP/wBJ1AEAgtCZHJCZ/wBU1AEAd/xsAWxZ/wBf1AEAzwj39u/3/wBq1AEAqBjm0NHm/wB11AEAlz3bpr3b/wCA1AEAj4DPZ6nP/wCL1AEAjrfANpDA/wCW1AEAgvuKAoGK/wCh1AEAdvxkAWRQ/wCs1AEA6Qj///f7/wC31AEAyA7w7OLw/wDC1AEAqBjm0NHm/wDN1AEAlz3bpr3b/wDY1AEAj4DPZ6nP/wDj1AEAjrfANpDA/wDu1AEAgvuKAoGK/wD51AEAdvxkAWRQ/wAE1QEA6Qj///f7/wAP1QEAyA7w7OLw/wAa1QEAqBjm0NHm/wAl1QEAlz3bpr3b/wAw1QEAj4DPZ6nP/wA71QEAjrfANpDA/wBG1QEAgvuKAoGK/wBR1QEAd/xsAWxZ/wBc1QEAdftGAUY2/wBn1QEAEu5/fzsI/wBx1QEAw/9LLQBL/wB81QEAFPazs1gG/wCG1QEAFujg4IIU/wCQ1QEAF5v9/bhj/wCa1QEAGEj+/uC2/wCk1QEApRTr2Nrr/wCu1QEAsS/SsqvS/wC41QEAs1SsgHOs/wDC1QEAvbWIVCeI/wDM1QEAEu5/fzsI/wDW1QEAvbWIVCeI/wDh1QEAw/9LLQBL/wDs1QEAFPazs1gG/wD21QEAFujg4IIU/wAA1gEAF5v9/bhj/wAK1gEAGEj+/uC2/wAU1gEAAAD39/f3/wAe1gEApRTr2Nrr/wAo1gEAsS/SsqvS/wAy1gEAs1SsgHOs/wA81gEAF7vx8aNA/wBF1gEAAAD39/f3/wBO1gEAskXDmY7D/wBX1gEAEf3m5mEB/wBg1gEAF5v9/bhj/wBp1gEAsS/SsqvS/wBy1gEAuZuZXjyZ/wB71gEAEf3m5mEB/wCE1gEAF5v9/bhj/wCN1gEAAAD39/f3/wCW1gEAsS/SsqvS/wCf1gEAuZuZXjyZ/wCo1gEAFPazs1gG/wCx1gEAF7vx8aNA/wC61gEAGEj+/uC2/wDD1gEApRTr2Nrr/wDM1gEAskXDmY7D/wDV1gEAvbWIVCeI/wDe1gEAFPazs1gG/wDn1gEAF7vx8aNA/wDw1gEAGEj+/uC2/wD51gEAAAD39/f3/wAC1wEApRTr2Nrr/wAL1wEAskXDmY7D/wAU1wEAvbWIVCeI/wAd1wEAFPazs1gG/wAm1wEAFujg4IIU/wAv1wEAF5v9/bhj/wA41wEAGEj+/uC2/wBB1wEApRTr2Nrr/wBK1wEAsS/SsqvS/wBT1wEAs1SsgHOs/wBc1wEAvbWIVCeI/wBl1wEAFPazs1gG/wBu1wEAFujg4IIU/wB31wEAF5v9/bhj/wCA1wEAGEj+/uC2/wCJ1wEAAAD39/f3/wCS1wEApRTr2Nrr/wCb1wEAsS/SsqvS/wCk1wEAs1SsgHOs/wCt1wEAvbWIVCeI/wC21wEAvA7v5+Hv/wC/1wEA1kPJyZTH/wDI1wEA6t7d3Rx3/wDR1wEAuQj28e72/wDa1wEA0ynY17XY/wDj1wEA5Ivf32Ww/wDs1wEA7+jOzhJW/wD11wEAuQj28e72/wD+1wEA0ynY17XY/wAH2AEA5Ivf32Ww/wAQ2AEA6t7d3Rx3/wAZ2AEA7P+YmABD/wAi2AEAuQj28e72/wAr2AEAzCba1Lna/wA02AEA1kPJyZTH/wA92AEA5Ivf32Ww/wBG2AEA6t7d3Rx3/wBP2AEA7P+YmABD/wBY2AEAuQj28e72/wBh2AEAzCba1Lna/wBq2AEA1kPJyZTH/wBz2AEA5Ivf32Ww/wB82AEA6dHn5ymK/wCF2AEA7+jOzhJW/wCO2AEA7P+RkQA//wCX2AEAwwX59/T5/wCg2AEAvA7v5+Hv/wCp2AEAzCba1Lna/wCy2AEA1kPJyZTH/wC72AEA5Ivf32Ww/wDE2AEA6dHn5ymK/wDN2AEA7+jOzhJW/wDW2AEA7P+RkQA//wDf2AEAwwX59/T5/wDo2AEAvA7v5+Hv/wDx2AEAzCba1Lna/wD62AEA1kPJyZTH/wAD2QEA5Ivf32Ww/wAM2QEA6dHn5ymK/wAV2QEA7+jOzhJW/wAe2QEA7P+YmABD/wAn2QEA8v9nZwAf/wAw2QEAtAj17+31/wA82QEAqCXcvL3c/wBI2QEAsGSxdWux/wBU2QEAtgf38vD3/wBg2QEArRziy8ni/wBs2QEArTrInprI/wB42QEAtoCjalGj/wCE2QEAtgf38vD3/wCQ2QEArRziy8ni/wCc2QEArTrInprI/wCo2QEAsGSxdWux/wC02QEAvLmPVCeP/wDA2QEAtgf38vD3/wDM2QEAqhLr2trr/wDY2QEAqCXcvL3c/wDk2QEArTrInprI/wDw2QEAsGSxdWux/wD82QEAvLmPVCeP/wAI2gEAtgf38vD3/wAU2gEAqhLr2trr/wAg2gEAqCXcvL3c/wAs2gEArTrInprI/wA42gEArFO6gH26/wBE2gEAtoCjalGj/wBQ2gEAvtiGShSG/wBc2gEAvwL9/Pv9/wBo2gEAtAj17+31/wB02gEAqhLr2trr/wCA2gEAqCXcvL3c/wCM2gEArTrInprI/wCY2gEArFO6gH26/wCk2gEAtoCjalGj/wCw2gEAvtiGShSG/wC82gEAvwL9/Pv9/wDI2gEAtAj17+31/wDU2gEAqhLr2trr/wDg2gEAqCXcvL3c/wDs2gEArTrInprI/wD42gEArFO6gH26/wAE2wEAtoCjalGj/wAQ2wEAvLmPVCeP/wAc2wEAv/99PwB9/wAo2wEA8v9nZwAf/wAy2wEAlvFhBTBh/wA92wEA+dyyshgr/wBH2wEABaPW1mBN/wBR2wEADXf09KWC/wBb2wEADzb9/dvH/wBl2wEAjiDw0eXw/wBv2wEAjVfeksXe/wB52wEAj6fDQ5PD/wCD2wEAlM6sIWas/wCN2wEA8v9nZwAf/wCX2wEAlM6sIWas/wCi2wEAlvFhBTBh/wCt2wEA+dyyshgr/wC32wEABaPW1mBN/wDB2wEADXf09KWC/wDL2wEADzb9/dvH/wDV2wEAAAD39/f3/wDf2wEAjiDw0eXw/wDp2wEAjVfeksXe/wDz2wEAj6fDQ5PD/wD92wEADJbv74pi/wAG3AEAAAD39/f3/wAP3AEAj4DPZ6nP/wAY3AEA+P/KygAg/wAh3AEADXf09KWC/wAq3AEAjVfeksXe/wAz3AEAj/ewBXGw/wA83AEA+P/KygAg/wBF3AEADXf09KWC/wBO3AEAAAD39/f3/wBX3AEAjVfeksXe/wBg3AEAj/ewBXGw/wBp3AEA+dyyshgr/wBy3AEADJbv74pi/wB73AEADzb9/dvH/wCE3AEAjiDw0eXw/wCN3AEAj4DPZ6nP/wCW3AEAlM6sIWas/wCf3AEA+dyyshgr/wCo3AEADJbv74pi/wCx3AEADzb9/dvH/wC63AEAAAD39/f3/wDD3AEAjiDw0eXw/wDM3AEAj4DPZ6nP/wDV3AEAlM6sIWas/wDe3AEA+dyyshgr/wDn3AEABaPW1mBN/wDw3AEADXf09KWC/wD53AEADzb9/dvH/wAC3QEAjiDw0eXw/wAL3QEAjVfeksXe/wAU3QEAj6fDQ5PD/wAd3QEAlM6sIWas/wAm3QEA+dyyshgr/wAv3QEABaPW1mBN/wA43QEADXf09KWC/wBB3QEADzb9/dvH/wBK3QEAAAD39/f3/wBT3QEAjiDw0eXw/wBc3QEAjVfeksXe/wBl3QEAj6fDQ5PD/wBu3QEAlM6sIWas/wB33QEA8v9nZwAf/wCB3QEAAAAaGhoa/wCM3QEA+dyyshgr/wCW3QEABaPW1mBN/wCg3QEADXf09KWC/wCq3QEADzb9/dvH/wC03QEAAADg4ODg/wC+3QEAAAC6urq6/wDI3QEAAACHh4eH/wDS3QEAAABNTU1N/wDc3QEA8v9nZwAf/wDm3QEAAABNTU1N/wDx3QEAAAAaGhoa/wD83QEA+dyyshgr/wAG3gEABaPW1mBN/wAQ3gEADXf09KWC/wAa3gEADzb9/dvH/wAk3gEAAAD//////wAu3gEAAADg4ODg/wA43gEAAAC6urq6/wBC3gEAAACHh4eH/wBM3gEADJbv74pi/wBV3gEAAAD//////wBe3gEAAACZmZmZ/wBn3gEA+P/KygAg/wBw3gEADXf09KWC/wB53gEAAAC6urq6/wCC3gEAAABAQEBA/wCL3gEA+P/KygAg/wCU3gEADXf09KWC/wCd3gEAAAD//////wCm3gEAAAC6urq6/wCv3gEAAABAQEBA/wC43gEA+dyyshgr/wDB3gEADJbv74pi/wDK3gEADzb9/dvH/wDT3gEAAADg4ODg/wDc3gEAAACZmZmZ/wDl3gEAAABNTU1N/wDu3gEA+dyyshgr/wD33gEADJbv74pi/wAA3wEADzb9/dvH/wAJ3wEAAAD//////wAS3wEAAADg4ODg/wAb3wEAAACZmZmZ/wAk3wEAAABNTU1N/wAt3wEA+dyyshgr/wA23wEABaPW1mBN/wA/3wEADXf09KWC/wBI3wEADzb9/dvH/wBR3wEAAADg4ODg/wBa3wEAAAC6urq6/wBj3wEAAACHh4eH/wBs3wEAAABNTU1N/wB13wEA+dyyshgr/wB+3wEABaPW1mBN/wCH3wEADXf09KWC/wCQ3wEADzb9/dvH/wCZ3wEAAAD//////wCi3wEAAADg4ODg/wCr3wEAAAC6urq6/wC03wEAAACHh4eH/wC93wEAAABNTU1N/wDG3wEAAyD9/eDd/wDP3wEA9Fz6+p+1/wDY3wEA49zFxRuK/wDh3wEADRz+/uvi/wDq3wEA/Ej7+7S5/wDz3wEA7pP392ih/wD83wEA4P2urgF+/wAF4AEADRz+/uvi/wAO4AEA/Ej7+7S5/wAX4AEA7pP392ih/wAg4AEA49zFxRuK/wAp4AEA1fx6egF3/wAy4AEADRz+/uvi/wA74AEAAzz8/MXA/wBE4AEA9Fz6+p+1/wBN4AEA7pP392ih/wBW4AEA49zFxRuK/wBf4AEA1fx6egF3/wBo4AEADRz+/uvi/wBx4AEAAzz8/MXA/wB64AEA9Fz6+p+1/wCD4AEA7pP392ih/wCM4AEA5sPd3TSX/wCV4AEA4P2urgF+/wCe4AEA1fx6egF3/wCn4AEADgz///fz/wCw4AEAAyD9/eDd/wC54AEAAzz8/MXA/wDC4AEA9Fz6+p+1/wDL4AEA7pP392ih/wDU4AEA5sPd3TSX/wDd4AEA4P2urgF+/wDm4AEA1fx6egF3/wDv4AEADgz///fz/wD44AEAAyD9/eDd/wAB4QEAAzz8/MXA/wAK4QEA9Fz6+p+1/wAT4QEA7pP392ih/wAc4QEA5sPd3TSX/wAl4QEA4P2urgF+/wAu4QEA1fx6egF3/wA34QEAx/9qSQBq/wBA4QEA9f+lpQAm/wBM4QEAp6uVMTaV/wBZ4QEAAtDX1zAn/wBl4QEACrj09G1D/wBx4QEAFJ39/a5h/wB94QEAHm7+/uCQ/wCJ4QEAiBj44PP4/wCV4QEAikPpq9np/wCh4QEAj3HRdK3R/wCt4QEAl520RXW0/wC54QEA9f+lpQAm/wDF4QEAl520RXW0/wDS4QEAp6uVMTaV/wDf4QEAAtDX1zAn/wDr4QEACrj09G1D/wD34QEAFJ39/a5h/wAD4gEAHm7+/uCQ/wAP4gEAKkD///+//wAb4gEAiBj44PP4/wAn4gEAikPpq9np/wAz4gEAj3HRdK3R/wA/4gEADaT8/I1Z/wBK4gEAKkD///+//wBV4gEAj1bbkb/b/wBg4gEA/uHX1xkc/wBr4gEAFJ39/a5h/wB24gEAikPpq9np/wCB4gEAkcG2LHu2/wCM4gEA/uHX1xkc/wCX4gEAFJ39/a5h/wCi4gEAKkD///+//wCt4gEAikPpq9np/wC44gEAkcG2LHu2/wDD4gEAAtDX1zAn/wDO4gEADaT8/I1Z/wDZ4gEAHm7+/uCQ/wDk4gEAiBj44PP4/wDv4gEAj1bbkb/b/wD64gEAl520RXW0/wAF4wEAAtDX1zAn/wAQ4wEADaT8/I1Z/wAb4wEAHm7+/uCQ/wAm4wEAKkD///+//wAx4wEAiBj44PP4/wA84wEAj1bbkb/b/wBH4wEAl520RXW0/wBS4wEAAtDX1zAn/wBd4wEACrj09G1D/wBo4wEAFJ39/a5h/wBz4wEAHm7+/uCQ/wB+4wEAiBj44PP4/wCJ4wEAikPpq9np/wCU4wEAj3HRdK3R/wCf4wEAl520RXW0/wCq4wEAAtDX1zAn/wC14wEACrj09G1D/wDA4wEAFJ39/a5h/wDL4wEAHm7+/uCQ/wDW4wEAKkD///+//wDh4wEAiBj44PP4/wDs4wEAikPpq9np/wD34wEAj3HRdK3R/wAC5AEAl520RXW0/wAN5AEA9f+lpQAm/wAZ5AEAa/9oAGg3/wAm5AEAAtDX1zAn/wAy5AEACrj09G1D/wA+5AEAFJ39/a5h/wBK5AEAH3P+/uCL/wBW5AEAM2rv2e+L/wBi5AEAPoLZptlq/wBu5AEAU3m9Zr1j/wB65AEAZ9OYGphQ/wCG5AEA9f+lpQAm/wCS5AEAZ9OYGphQ/wCf5AEAa/9oAGg3/wCs5AEAAtDX1zAn/wC45AEACrj09G1D/wDE5AEAFJ39/a5h/wDQ5AEAH3P+/uCL/wDc5AEAKkD///+//wDo5AEAM2rv2e+L/wD05AEAPoLZptlq/wAA5QEAU3m9Zr1j/wAM5QEADaT8/I1Z/wAX5QEAKkD///+//wAi5QEAQojPkc9g/wAt5QEA/uHX1xkc/wA45QEAFJ39/a5h/wBD5QEAPoLZptlq/wBO5QEAYtKWGpZB/wBZ5QEA/uHX1xkc/wBk5QEAFJ39/a5h/wBv5QEAKkD///+//wB65QEAPoLZptlq/wCF5QEAYtKWGpZB/wCQ5QEAAtDX1zAn/wCb5QEADaT8/I1Z/wCm5QEAH3P+/uCL/wCx5QEAM2rv2e+L/wC85QEAQojPkc9g/wDH5QEAZ9OYGphQ/wDS5QEAAtDX1zAn/wDd5QEADaT8/I1Z/wDo5QEAH3P+/uCL/wDz5QEAKkD///+//wD+5QEAM2rv2e+L/wAJ5gEAQojPkc9g/wAU5gEAZ9OYGphQ/wAf5gEAAtDX1zAn/wAq5gEACrj09G1D/wA15gEAFJ39/a5h/wBA5gEAH3P+/uCL/wBL5gEAM2rv2e+L/wBW5gEAPoLZptlq/wBh5gEAU3m9Zr1j/wBs5gEAZ9OYGphQ/wB35gEAAtDX1zAn/wCC5gEACrj09G1D/wCN5gEAFJ39/a5h/wCY5gEAH3P+/uCL/wCj5gEAKkD///+//wCu5gEAM2rv2e+L/wC55gEAPoLZptlq/wDE5gEAU3m9Zr1j/wDP5gEAZ9OYGphQ/wDa5gEADSz+/uDS/wDj5gEACYv8/JJy/wDs5gEAAdPe3i0m/wD15gEADSX+/uXZ/wD+5gEAC2z8/K6R/wAH5wEAB7P7+2pK/wAQ5wEA/eDLyxgd/wAZ5wEADSX+/uXZ/wAi5wEAC2z8/K6R/wAr5wEAB7P7+2pK/wA05wEAAdPe3i0m/wA95wEA/eelpQ8V/wBG5wEADSX+/uXZ/wBP5wEADFz8/Luh/wBY5wEACYv8/JJy/wBh5wEAB7P7+2pK/wBq5wEAAdPe3i0m/wBz5wEA/eelpQ8V/wB85wEADSX+/uXZ/wCF5wEADFz8/Luh/wCO5wEACYv8/JJy/wCX5wEAB7P7+2pK/wCg5wEAA9Dv7zss/wCp5wEA/eDLyxgd/wCy5wEA+/+ZmQAN/wC75wEADg////Xw/wDE5wEADSz+/uDS/wDN5wEADFz8/Luh/wDW5wEACYv8/JJy/wDf5wEAB7P7+2pK/wDo5wEAA9Dv7zss/wDx5wEA/eDLyxgd/wD65wEA+/+ZmQAN/wAD6AEADg////Xw/wAM6AEADSz+/uDS/wAV6AEADFz8/Luh/wAe6AEACYv8/JJy/wAn6AEAB7P7+2pK/wAw6AEAA9Dv7zss/wA56AEA/eDLyxgd/wBC6AEA/eelpQ8V/wBL6AEA+f9nZwAN/wBU6AEA/uHk5Boc/wBd6AEAkrK4N364/wBm6AEAU5OvTa9K/wBv6AEA/uHk5Boc/wB46AEAkrK4N364/wCB6AEAU5OvTa9K/wCK6AEAz4SjmE6j/wCT6AEA/uHk5Boc/wCc6AEAkrK4N364/wCl6AEAU5OvTa9K/wCu6AEAz4SjmE6j/wC36AEAFf///38A/wDA6AEA/uHk5Boc/wDJ6AEAkrK4N364/wDS6AEAU5OvTa9K/wDb6AEAz4SjmE6j/wDk6AEAFf///38A/wDt6AEAKsz///8z/wD26AEA/uHk5Boc/wD/6AEAkrK4N364/wAI6QEAU5OvTa9K/wAR6QEAz4SjmE6j/wAa6QEAFf///38A/wAj6QEAKsz///8z/wAs6QEAD8GmplYo/wA16QEA/uHk5Boc/wA+6QEAkrK4N364/wBH6QEAU5OvTa9K/wBQ6QEAz4SjmE6j/wBZ6QEAFf///38A/wBi6QEAKsz///8z/wBr6QEAD8GmplYo/wB06QEA6Hn394G//wB96QEA/uHk5Boc/wCG6QEAkrK4N364/wCP6QEAU5OvTa9K/wCY6QEAz4SjmE6j/wCh6QEAFf///38A/wCq6QEAKsz///8z/wCz6QEAD8GmplYo/wC86QEA6Hn394G//wDF6QEAAACZmZmZ/wDO6QEAcnjCZsKl/wDX6QEAC5v8/I1i/wDg6QEAnE3LjaDL/wDp6QEAcnjCZsKl/wDy6QEAC5v8/I1i/wD76QEAnE3LjaDL/wAE6gEA5Gbn54rD/wAN6gEAcnjCZsKl/wAW6gEAC5v8/I1i/wAf6gEAnE3LjaDL/wAo6gEA5Gbn54rD/wAx6gEAOpvYpthU/wA66gEAcnjCZsKl/wBD6gEAC5v8/I1i/wBM6gEAnE3LjaDL/wBV6gEA5Gbn54rD/wBe6gEAOpvYpthU/wBn6gEAItD//9kv/wBw6gEAcnjCZsKl/wB56gEAC5v8/I1i/wCC6gEAnE3LjaDL/wCL6gEA5Gbn54rD/wCU6gEAOpvYpthU/wCd6gEAItD//9kv/wCm6gEAGVrl5cSU/wCv6gEAcnjCZsKl/wC46gEAC5v8/I1i/wDB6gEAnE3LjaDL/wDK6gEA5Gbn54rD/wDT6gEAOpvYpthU/wDc6gEAItD//9kv/wDl6gEAGVrl5cSU/wDu6gEAAACzs7Oz/wD36gEAeFTTjdPH/wAB6wEA01K9vIC9/wAM6wEAKkz///+z/wAW6wEAryXavrra/wAg6wEABIv7+4By/wAq6wEAkGTTgLHT/wA06wEAFpz9/bRi/wA+6wEAOobes95p/wBI6wEA6S/8/M3l/wBS6wEAAADZ2dnZ/wBc6wEAeFTTjdPH/wBm6wEA01K9vIC9/wBx6wEATSnrzOvF/wB86wEAKkz///+z/wCG6wEAryXavrra/wCQ6wEABIv7+4By/wCa6wEAkGTTgLHT/wCk6wEAFpz9/bRi/wCu6wEAOobes95p/wC46wEA6S/8/M3l/wDC6wEAAADZ2dnZ/wDM6wEAeFTTjdPH/wDW6wEA01K9vIC9/wDh6wEATSnrzOvF/wDs6wEAJZD//+1v/wD36wEAKkz///+z/wAB7AEAryXavrra/wAL7AEABIv7+4By/wAV7AEAkGTTgLHT/wAf7AEAFpz9/bRi/wAp7AEAOobes95p/wAz7AEA6S/8/M3l/wA97AEAAADZ2dnZ/wBH7AEAeFTTjdPH/wBQ7AEAKkz///+z/wBZ7AEAryXavrra/wBi7AEAeFTTjdPH/wBr7AEAKkz///+z/wB07AEAryXavrra/wB97AEABIv7+4By/wCG7AEAeFTTjdPH/wCP7AEAKkz///+z/wCY7AEAryXavrra/wCh7AEABIv7+4By/wCq7AEAkGTTgLHT/wCz7AEAeFTTjdPH/wC87AEAKkz///+z/wDF7AEAryXavrra/wDO7AEABIv7+4By/wDX7AEAkGTTgLHT/wDg7AEAFpz9/bRi/wDp7AEAeFTTjdPH/wDy7AEAKkz///+z/wD77AEAryXavrra/wAE7QEABIv7+4By/wAN7QEAkGTTgLHT/wAW7QEAFpz9/bRi/wAf7QEAOobes95p/wAo7QEAeFTTjdPH/wAx7QEAKkz///+z/wA67QEAryXavrra/wBD7QEABIv7+4By/wBM7QEAkGTTgLHT/wBV7QEAFpz9/bRi/wBe7QEAOobes95p/wBn7QEA6S/8/M3l/wBw7QEAeFTTjdPH/wB57QEAKkz///+z/wCC7QEAryXavrra/wCL7QEABIv7+4By/wCU7QEAkGTTgLHT/wCd7QEAFpz9/bRi/wCm7QEAOobes95p/wCv7QEA6S/8/M3l/wC47QEAAADZ2dnZ/wDB7QEA7f2engFC/wDP7QEAsYKiXk+i/wDe7QEA+rTV1T5P/wDs7QEACrj09G1D/wD67QEAFJ39/a5h/wAI7gEAH3P+/uCL/wAW7gEAMWD15vWY/wAk7gEAT0Hdq92k/wAy7gEAcnjCZsKl/wBA7gEAj7u9Moi9/wBO7gEA7f2engFC/wBc7gEAj7u9Moi9/wBr7gEAsYKiXk+i/wB67gEA+rTV1T5P/wCI7gEACrj09G1D/wCW7gEAFJ39/a5h/wCk7gEAH3P+/uCL/wCy7gEAKkD///+//wDA7gEAMWD15vWY/wDO7gEAT0Hdq92k/wDc7gEAcnjCZsKl/wDq7gEADaT8/I1Z/wD37gEAKkD///+//wAE7wEAUU3VmdWU/wAR7wEA/uHX1xkc/wAe7wEAFJ39/a5h/wAr7wEAT0Hdq92k/wA47wEAj8S6K4O6/wBF7wEA/uHX1xkc/wBS7wEAFJ39/a5h/wBf7wEAKkD///+//wBs7wEAT0Hdq92k/wB57wEAj8S6K4O6/wCG7wEA+rTV1T5P/wCT7wEADaT8/I1Z/wCg7wEAH3P+/uCL/wCt7wEAMWD15vWY/wC67wEAUU3VmdWU/wDH7wEAj7u9Moi9/wDU7wEA+rTV1T5P/wDh7wEADaT8/I1Z/wDu7wEAH3P+/uCL/wD77wEAKkD///+//wAI8AEAMWD15vWY/wAV8AEAUU3VmdWU/wAi8AEAj7u9Moi9/wAv8AEA+rTV1T5P/wA88AEACrj09G1D/wBJ8AEAFJ39/a5h/wBW8AEAH3P+/uCL/wBj8AEAMWD15vWY/wBw8AEAT0Hdq92k/wB98AEAcnjCZsKl/wCK8AEAj7u9Moi9/wCX8AEA+rTV1T5P/wCk8AEACrj09G1D/wCx8AEAFJ39/a5h/wC+8AEAH3P+/uCL/wDL8AEAKkD///+//wDY8AEAMWD15vWY/wDl8AEAT0Hdq92k/wDy8AEAcnjCZsKl/wD/8AEAj7u9Moi9/wAM8QEAkw//8Pj//wAb8QEAGCP6+uvX/wAt8QEAf///AP///wA38QEAcYD/f//U/wBH8QEAfw//8P///wBS8QEAKhr19fXc/wBd8QEAFzr//+TE/wBp8QEAAAAAAAAA/wB08QEAGTH//+vN/wCI8QEAqv//AAD//wCS8QEAwM7iiivi/wCi8QEAAL6lpSoq/wCt8QEAF2Pe3riH/wC88QEAgGegX56g/wDL8QEAP///f/8A/wDb8QEAEdrS0mke/wDq8QEAC6///39Q/wD18QEAmpPtZJXt/wAJ8gEAISL///jc/wAX8gEA9ufc3BQ8/wAk8gEAf///AP///wAu8gEAqv+LAACL/wA88gEAf/+LAIuL/wBK8gEAHu+4uIYL/wBd8gEAAACpqamp/wBr8gEAVf9kAGQA/wB68gEAAACpqamp/wCI8gEAJ269vbdr/wCX8gEA1P+LiwCL/wCo8gEAOo5rVWsv/wC88gEAF////4wA/wDM8gEAxsDMmTLM/wDc8gEAAP+LiwAA/wDp8gEACnnp6ZZ6/wD58gEAVT28j7yP/wAL8wEAr4+LSD2L/wAe8wEAf2dPL09P/wAx8wEAf2dPL09P/wBE8wEAgP/RAM7R/wBX8wEAx//TlADT/wBn8wEA6Ov//xST/wB18wEAiv//AL///wCG8wEAAABpaWlp/wCT8wEAAABpaWlp/wCg8wEAlOH/HpD//wCw8wEAAM6ysiIi/wC/8wEAHA////rw/wDQ8wEAVcCLIosi/wDh8wEA1P///wD//wDu8wEAAADc3Nzc/wD98wEAqgf/+Pj//wAN9AEAI////9cA/wAX9AEAHtna2qUg/wAm9AEAAACAgICA/wAw9AEAVf+AAIAA/wA79AEAO9D/rf8v/wBM9AEAAACAgICA/wBW9AEAVQ//8P/w/wBk9AEA6Zb//2m0/wBx9AEAAIzNzVxc/wCA9AEAwv+CSwCC/wCM9AEAKg/////w/wCX9AEAJmrw8OaM/wCi9AEAqhT65ub6/wCw9AEA8A////D1/wDD9AEAQP/8fPwA/wDS9AEAJjH///rN/wDk9AEAiT/mrdjm/wDz9AEAAHfw8ICA/wAD9QEAfx//4P///wAS9QEAKij6+vrS/wAs9QEAAADT09PT/wA79QEAVWTukO6Q/wBL9QEAAADT09PT/wBa9QEA+En//7bB/wBp9QEADIT//6B6/wB69QEAfdGyILKq/wCN9QEAj3X6h876/wCf9QEAlDiZd4iZ/wCz9QEAlDiZd4iZ/wDH9QEAlzTesMTe/wDb9QEAKh/////g/wDs9QEAVf//AP8A/wD29QEAVcDNMs0y/wAF9gEAFRT6+vDm/wAQ9gEA1P///wD//wAd9gEAAP+AgAAA/wAp9gEAcYDNZs2q/wA/9gEAqv/NAADN/wBP9gEAzJjTulXT/wBh9gEAt3zbk3Db/wBz9gEAZ6mzPLNx/wCH9gEAsI/ue2ju/wCc9gEAb//6APqa/wCz9gEAfafRSNHM/wDI9gEA5OTHxxWF/wDd9gEAqsZwGRlw/wDv9gEAagn/9f/6/wD+9gEABB7//+Th/wAN9wEAGkn//+S1/wAb9wEAGVH//96t/wAs9wEAqv+AAACA/wA29wEAGxf9/fXm/wBD9wEAKv+AgIAA/wBO9wEAOMCOa44j/wBd9wEAG////6UA/wBp9wEAC////0UA/wB49wEA1nva2nDW/wCE9wEAJkju7uiq/wCX9wEAVWT7mPuY/wCm9wEAf0Pur+7u/wC59wEA8Xzb23CT/wDM9wEAGin//+/V/wDc9wEAFEb//9q5/wDr9wEAFLDNzYU//wD19wEA9z///8DL/wD/9wEA1Ebd3aDd/wAJ+AEAhDvmsODm/wAZ+AEA1P+AgACA/wAl+AEAAP///wAA/wAu+AEAAD28vI+P/wA9+AEAn7XhQWnh/wBM+AEAEdyLi0UT/wBd+AEABIr6+oBy/wBp+AEAE5r09KRg/wB5+AEAZ6qLLotX/wCH+AEAERD///Xu/wCV+AEADbegoFIt/wCh+AEAAADAwMDA/wCt+AEAi2zrh87r/wC6+AEAr4/NalrN/wDJ+AEAlDiQcICQ/wDY+AEAlDiQcICQ/wDn+AEAAAX///r6/wDx+AEAav//AP9//wAC+QEAkpu0RoK0/wAR+QEAGFTS0rSM/wAa+QEAf/+AAICA/wAk+QEA1B3Y2L/Y/wAx+QEABrj//2NH/wA9+QEAe7bgQODQ/wBM+QEA1HPu7oLu/wBY+QEAG0T19d6z/wBj+QEAAAD//////wBu+QEAAAD19fX1/wB++QEAKv////8A/wCK+QEAOMDNms0y/wCb+QEALUP89/y5/wCk+QEARFvdrd2O/wCt+QEAYrKjMaNU/wC2+QEAKjL////M/wC/+QEAPlXmwuaZ/wDI+QEAVWTGeMZ5/wDR+QEAY7uEI4RD/wDa+QEAKjL////M/wDj+QEAPlXmwuaZ/wDs+QEAVWTGeMZ5/wD1+QEAYrKjMaNU/wD++QEAa/9oAGg3/wAH+gEAKjL////M/wAQ+gEAN1Hw2fCj/wAZ+gEARFvdrd2O/wAi+gEAVWTGeMZ5/wAr+gEAYrKjMaNU/wA0+gEAa/9oAGg3/wA9+gEAKjL////M/wBG+gEAN1Hw2fCj/wBP+gEARFvdrd2O/wBY+gEAVWTGeMZ5/wBh+gEAYJ6rQatd/wBq+gEAY7uEI4RD/wBz+gEAbP9aAFoy/wB8+gEAKhn////l/wCF+gEALUP89/y5/wCO+gEAN1Hw2fCj/wCX+gEARFvdrd2O/wCg+gEAVWTGeMZ5/wCp+gEAYJ6rQatd/wCy+gEAY7uEI4RD/wC7+gEAbP9aAFoy/wDE+gEAKhn////l/wDN+gEALUP89/y5/wDW+gEAN1Hw2fCj/wDf+gEARFvdrd2O/wDo+gEAVWTGeMZ5/wDx+gEAYJ6rQatd/wD6+gEAY7uEI4RD/wAD+wEAa/9oAGg3/wAM+wEAbv9FAEUp/wAV+wEAMUn47fix/wAg+wEAdWHNf827/wAr+wEAkMK4LH+4/wA2+wEAKjL////M/wBB+wEAY0Laodq0/wBM+wEAhKrEQbbE/wBX+wEAlsuoIl6o/wBi+wEAKjL////M/wBt+wEAY0Laodq0/wB4+wEAhKrEQbbE/wCD+wEAkMK4LH+4/wCO+wEApL+UJTSU/wCZ+wEAKjL////M/wCk+wEARTrpx+m0/wCv+wEAdWHNf827/wC6+wEAhKrEQbbE/wDF+wEAkMK4LH+4/wDQ+wEApL+UJTSU/wDb+wEAKjL////M/wDm+wEARTrpx+m0/wDx+wEAdWHNf827/wD8+wEAhKrEQbbE/wAH/AEAi9jAHZHA/wAS/AEAlsuoIl6o/wAd/AEAnueEDCyE/wAo/AEAKib////Z/wAz/AEAMUn47fix/wA+/AEARTrpx+m0/wBJ/AEAdWHNf827/wBU/AEAhKrEQbbE/wBf/AEAi9jAHZHA/wBq/AEAlsuoIl6o/wB1/AEAnueEDCyE/wCA/AEAKib////Z/wCL/AEAMUn47fix/wCW/AEARTrpx+m0/wCh/AEAdWHNf827/wCs/AEAhKrEQbbE/wC3/AEAi9jAHZHA/wDC/AEAlsuoIl6o/wDN/AEApL+UJTSU/wDY/AEAnudYCB1Y/wDj/AEAJUL///e8/wDu/AEAHK/+/sRP/wD5/AEAEO7Z2V8O/wAE/QEAKir////U/wAP/QEAHHD+/tmO/wAa/QEAFtX+/pkp/wAl/QEAD/zMzEwC/wAw/QEAKir////U/wA7/QEAHHD+/tmO/wBG/QEAFtX+/pkp/wBR/QEAEO7Z2V8O/wBc/QEADfiZmTQE/wBn/QEAKir////U/wBy/QEAH23+/uOR/wB9/QEAHK/+/sRP/wCI/QEAFtX+/pkp/wCT/QEAEO7Z2V8O/wCe/QEADfiZmTQE/wCp/QEAKir////U/wC0/QEAH23+/uOR/wC//QEAHK/+/sRP/wDK/QEAFtX+/pkp/wDV/QEAEuns7HAU/wDg/QEAD/zMzEwC/wDr/QEADPeMjC0E/wD2/QEAKhn////l/wAB/gEAJUL///e8/wAM/gEAH23+/uOR/wAX/gEAHK/+/sRP/wAi/gEAFtX+/pkp/wAt/gEAEuns7HAU/wA4/gEAD/zMzEwC/wBD/gEADPeMjC0E/wBO/gEAKhn////l/wBZ/gEAJUL///e8/wBk/gEAH23+/uOR/wBv/gEAHK/+/sRP/wB6/gEAFtX+/pkp/wCF/gEAEuns7HAU/wCQ/gEAD/zMzEwC/wCb/gEADfiZmTQE/wCm/gEADfBmZiUG/wCx/gEAIl///+2g/wC8/gEAGLL+/rJM/wDH/gEABd3w8Dsg/wDS/gEAKk3///+y/wDd/gEAHaL+/sxc/wDo/gEAEcL9/Y08/wDz/gEA/uHj4xoc/wD+/gEAKk3///+y/wAJ/wEAHaL+/sxc/wAU/wEAEcL9/Y08/wAf/wEABd3w8Dsg/wAq/wEA9v+9vQAm/wA1/wEAKk3///+y/wBA/wEAHoj+/tl2/wBL/wEAGLL+/rJM/wBW/wEAEcL9/Y08/wBh/wEABd3w8Dsg/wBs/wEA9v+9vQAm/wB3/wEAKk3///+y/wCC/wEAHoj+/tl2/wCN/wEAGLL+/rJM/wCY/wEAEcL9/Y08/wCj/wEAB9T8/E4q/wCu/wEA/uHj4xoc/wC5/wEA9f+xsQAm/wDE/wEAKjL////M/wDP/wEAIl///+2g/wDa/wEAHoj+/tl2/wDl/wEAGLL+/rJM/wDw/wEAEcL9/Y08/wD7/wEAB9T8/E4q/wAGAAIA/uHj4xoc/wARAAIA9f+xsQAm/wAcAAIAKjL////M/wAnAAIAIl///+2g/wAyAAIAHoj+/tl2/wA9AAIAGLL+/rJM/wBIAAIAEcL9/Y08/wBTAAIAB9T8/E4q/wBeAAIA/uHj4xoc/wBpAAIA9v+9vQAm/wB0AAIA8v+AgAAm/wB/AAIAkw//8Pj//wCJAAIAGCP6+uvX/wCWAAIAFyT//+/b/wCkAAIAFyTu7t/M/wCyAAIAFyTNzcCw/wDAAAIAGCKLi4N4/wDOAAIAcYD/f//U/wDZAAIAcYD/f//U/wDlAAIAcYDudu7G/wDxAAIAcYDNZs2q/wD9AAIAcYCLRYt0/wAJAQIAfw//8P///wAPAQIAfw//8P///wAWAQIAfw/u4O7u/wAdAQIAfw7Nwc3N/wAkAQIAfw6Lg4uL/wArAQIAKhr19fXc/wAxAQIAFzr//+TE/wA4AQIAFzr//+TE/wBAAQIAFzru7tW3/wBIAQIAFjrNzbee/wBQAQIAFzqLi31r/wBiGAIAAAAAAAAA/wBYAQIAGTH//+vN/wBnAQIAqv//AAD//wBsAQIAqv//AAD//wByAQIAqv/uAADu/wB4AQIAqv/NAADN/wB+AQIAqv+LAACL/wCEAQIAwM7iiivi/wCPAQIAAL6lpSoq/wCVAQIAAL///0BA/wCcAQIAAL/u7js7/wCjAQIAAL/NzTMz/wCqAQIAAL6LiyMj/wCxAQIAF2Pe3riH/wC7AQIAF2T//9Ob/wDGAQIAF2Pu7sWR/wDRAQIAF2PNzap9/wDcAQIAF2OLi3NV/wDnAQIAgGegX56g/wDxAQIAg2f/mPX//wD8AQIAg2bujuXu/wAHAgIAg2fNesXN/wASAgIAg2aLU4aL/wAdAgIAP///f/8A/wAoAgIAP///f/8A/wA0AgIAP//udu4A/wBAAgIAP//NZs0A/wBMAgIAP/+LRYsA/wBYAgIAEdrS0mke/wBiAgIAEdv//38k/wBtAgIAEdvu7nYh/wB4AgIAEdrNzWYd/wCDAgIAEdyLi0UT/wCOAgIAC6///39Q/wCUAgIAB6n//3JW/wCbAgIABqnu7mpQ/wCiAgIABqnNzVtF/wCpAgIABqiLiz4v/wCwAgIAmpPtZJXt/wC/AgIAISL///jc/wDIAgIAISL///jc/wDSAgIAIiPu7ujN/wDcAgIAIiLNzcix/wDmAgIAIyKLi4h4/wDwAgIA9ufc3BQ8/wD4AgIAf///AP///wD9AgIAf///AP///wADAwIAf//uAO7u/wAJAwIAf//NAM3N/wAPAwIAf/+LAIuL/wAVAwIAHu+4uIYL/wAjAwIAHvD//7kP/wAyAwIAHvDu7q0O/wBBAwIAHvDNzZUM/wBQAwIAHvCLi2UI/wBfAwIAVf9kAGQA/wBpAwIAJ269vbdr/wBzAwIAOo5rVWsv/wCCAwIAOo//yv9w/wCSAwIAOo/uvO5o/wCiAwIAOo/Nos1a/wCyAwIAOo+Lbos9/wDCAwIAF////4wA/wDNAwIAFf///38A/wDZAwIAFf/u7nYA/wDlAwIAFf/NzWYA/wDxAwIAFf+Li0UA/wD9AwIAxsDMmTLM/wAIBAIAxsH/vz7//wAUBAIAxsDusjru/wAgBAIAxsDNmjLN/wAsBAIAxsCLaCKL/wA4BAIACnnp6ZZ6/wBDBAIAVT28j7yP/wBQBAIAVT7/wf/B/wBeBAIAVT7utO60/wBsBAIAVT7Nm82b/wB6BAIAVT6LaYtp/wCIBAIAr4+LSD2L/wCWBAIAf2dPL09P/wCkBAIAf2j/l////wCzBAIAf2fuje7u/wDCBAIAf2jNec3N/wDRBAIAf2iLUouL/wDgBAIAf2dPL09P/wDuBAIAgP/RAM7R/wD8BAIAx//TlADT/wAHBQIA6Ov//xST/wAQBQIA6Ov//xST/wAaBQIA6Ovu7hKJ/wAkBQIA6OvNzRB2/wAuBQIA5+yLiwpQ/wA4BQIAiv//AL///wBEBQIAiv//AL///wBRBQIAiv/uALLu/wBeBQIAiv/NAJrN/wBrBQIAiv+LAGiL/wB4BQIAAABpaWlp/wCABQIAAABpaWlp/wCIBQIAlOH/HpD//wCTBQIAlOH/HpD//wCfBQIAlOHuHIbu/wCrBQIAlOHNGHTN/wC3BQIAlOGLEE6L/wDDBQIAAM6ysiIi/wDNBQIAAM///zAw/wDYBQIAAM/u7iws/wDjBQIAAM/NzSYm/wDuBQIAAM+Lixoa/wD5BQIAHA////rw/wAFBgIAVcCLIosi/wARBgIAAADc3Nzc/wAbBgIAqgf/+Pj//wAmBgIAI////9cA/wArBgIAI////9cA/wAxBgIAI//u7skA/wA3BgIAI//Nza0A/wA9BgIAI/+Li3UA/wBDBgIAHtna2qUg/wBNBgIAHtr//8El/wBYBgIAHtru7rQi/wBjBgIAHtrNzZsd/wBuBgIAHtqLi2kU/wB5BgIAAADAwMDA/wB+BgIAAAAAAAAA/wCEBgIAAAADAwMD/wCKBgIAAAAaGhoa/wCRBgIAAAD//////wCZBgIAAAAcHBwc/wCgBgIAAAAfHx8f/wCnBgIAAAAhISEh/wCuBgIAAAAkJCQk/wC1BgIAAAAmJiYm/wC8BgIAAAApKSkp/wDDBgIAAAArKysr/wDKBgIAAAAuLi4u/wDRBgIAAAAwMDAw/wDYBgIAAAAFBQUF/wDeBgIAAAAzMzMz/wDlBgIAAAA2NjY2/wDsBgIAAAA4ODg4/wDzBgIAAAA7Ozs7/wD6BgIAAAA9PT09/wABBwIAAABAQEBA/wAIBwIAAABCQkJC/wAPBwIAAABFRUVF/wAWBwIAAABHR0dH/wAdBwIAAABKSkpK/wAkBwIAAAAICAgI/wAqBwIAAABNTU1N/wAxBwIAAABPT09P/wA4BwIAAABSUlJS/wA/BwIAAABUVFRU/wBGBwIAAABXV1dX/wBNBwIAAABZWVlZ/wBUBwIAAABcXFxc/wBbBwIAAABeXl5e/wBiBwIAAABhYWFh/wBpBwIAAABjY2Nj/wBwBwIAAAAKCgoK/wB2BwIAAABmZmZm/wB9BwIAAABpaWlp/wCEBwIAAABra2tr/wCLBwIAAABubm5u/wCSBwIAAABwcHBw/wCZBwIAAABzc3Nz/wCgBwIAAAB1dXV1/wCnBwIAAAB4eHh4/wCuBwIAAAB6enp6/wC1BwIAAAB9fX19/wC8BwIAAAANDQ0N/wDCBwIAAAB/f39//wDJBwIAAACCgoKC/wDQBwIAAACFhYWF/wDXBwIAAACHh4eH/wDeBwIAAACKioqK/wDlBwIAAACMjIyM/wDsBwIAAACPj4+P/wDzBwIAAACRkZGR/wD6BwIAAACUlJSU/wABCAIAAACWlpaW/wAICAIAAAAPDw8P/wAOCAIAAACZmZmZ/wAVCAIAAACcnJyc/wAcCAIAAACenp6e/wAjCAIAAAChoaGh/wAqCAIAAACjo6Oj/wAxCAIAAACmpqam/wA4CAIAAACoqKio/wA/CAIAAACrq6ur/wBGCAIAAACtra2t/wBNCAIAAACwsLCw/wBUCAIAAAASEhIS/wBaCAIAAACzs7Oz/wBhCAIAAAC1tbW1/wBoCAIAAAC4uLi4/wBvCAIAAAC6urq6/wB2CAIAAAC9vb29/wB9CAIAAAC/v7+//wCECAIAAADCwsLC/wCLCAIAAADExMTE/wCSCAIAAADHx8fH/wCZCAIAAADJycnJ/wCgCAIAAAAUFBQU/wCmCAIAAADMzMzM/wCtCAIAAADPz8/P/wC0CAIAAADR0dHR/wC7CAIAAADU1NTU/wDCCAIAAADW1tbW/wDJCAIAAADZ2dnZ/wDQCAIAAADb29vb/wDXCAIAAADe3t7e/wDeCAIAAADg4ODg/wDlCAIAAADj4+Pj/wDsCAIAAAAXFxcX/wDyCAIAAADl5eXl/wD5CAIAAADo6Ojo/wAACQIAAADr6+vr/wAHCQIAAADt7e3t/wAOCQIAAADw8PDw/wAVCQIAAADy8vLy/wAcCQIAAAD19fX1/wAjCQIAAAD39/f3/wAqCQIAAAD6+vr6/wAxCQIAAAD8/Pz8/wA4CQIAVf//AP8A/wA+CQIAVf//AP8A/wBFCQIAVf/uAO4A/wBMCQIAVf/NAM0A/wBTCQIAVf+LAIsA/wBaCQIAO9D/rf8v/wBmCQIAAADAwMDA/wBrCQIAAAAAAAAA/wBxCQIAAAADAwMD/wB3CQIAAAAaGhoa/wB+CQIAAAD//////wCGCQIAAAAcHBwc/wCNCQIAAAAfHx8f/wCUCQIAAAAhISEh/wCbCQIAAAAkJCQk/wCiCQIAAAAmJiYm/wCpCQIAAAApKSkp/wCwCQIAAAArKysr/wC3CQIAAAAuLi4u/wC+CQIAAAAwMDAw/wDFCQIAAAAFBQUF/wDLCQIAAAAzMzMz/wDSCQIAAAA2NjY2/wDZCQIAAAA4ODg4/wDgCQIAAAA7Ozs7/wDnCQIAAAA9PT09/wDuCQIAAABAQEBA/wD1CQIAAABCQkJC/wD8CQIAAABFRUVF/wADCgIAAABHR0dH/wAKCgIAAABKSkpK/wARCgIAAAAICAgI/wAXCgIAAABNTU1N/wAeCgIAAABPT09P/wAlCgIAAABSUlJS/wAsCgIAAABUVFRU/wAzCgIAAABXV1dX/wA6CgIAAABZWVlZ/wBBCgIAAABcXFxc/wBICgIAAABeXl5e/wBPCgIAAABhYWFh/wBWCgIAAABjY2Nj/wBdCgIAAAAKCgoK/wBjCgIAAABmZmZm/wBqCgIAAABpaWlp/wBxCgIAAABra2tr/wB4CgIAAABubm5u/wB/CgIAAABwcHBw/wCGCgIAAABzc3Nz/wCNCgIAAAB1dXV1/wCUCgIAAAB4eHh4/wCbCgIAAAB6enp6/wCiCgIAAAB9fX19/wCpCgIAAAANDQ0N/wCvCgIAAAB/f39//wC2CgIAAACCgoKC/wC9CgIAAACFhYWF/wDECgIAAACHh4eH/wDLCgIAAACKioqK/wDSCgIAAACMjIyM/wDZCgIAAACPj4+P/wDgCgIAAACRkZGR/wDnCgIAAACUlJSU/wDuCgIAAACWlpaW/wD1CgIAAAAPDw8P/wD7CgIAAACZmZmZ/wACCwIAAACcnJyc/wAJCwIAAACenp6e/wAQCwIAAAChoaGh/wAXCwIAAACjo6Oj/wAeCwIAAACmpqam/wAlCwIAAACoqKio/wAsCwIAAACrq6ur/wAzCwIAAACtra2t/wA6CwIAAACwsLCw/wBBCwIAAAASEhIS/wBHCwIAAACzs7Oz/wBOCwIAAAC1tbW1/wBVCwIAAAC4uLi4/wBcCwIAAAC6urq6/wBjCwIAAAC9vb29/wBqCwIAAAC/v7+//wBxCwIAAADCwsLC/wB4CwIAAADExMTE/wB/CwIAAADHx8fH/wCGCwIAAADJycnJ/wCNCwIAAAAUFBQU/wCTCwIAAADMzMzM/wCaCwIAAADPz8/P/wChCwIAAADR0dHR/wCoCwIAAADU1NTU/wCvCwIAAADW1tbW/wC2CwIAAADZ2dnZ/wC9CwIAAADb29vb/wDECwIAAADe3t7e/wDLCwIAAADg4ODg/wDSCwIAAADj4+Pj/wDZCwIAAAAXFxcX/wDfCwIAAADl5eXl/wDmCwIAAADo6Ojo/wDtCwIAAADr6+vr/wD0CwIAAADt7e3t/wD7CwIAAADw8PDw/wACDAIAAADy8vLy/wAJDAIAAAD19fX1/wAQDAIAAAD39/f3/wAXDAIAAAD6+vr6/wAeDAIAAAD8/Pz8/wAlDAIAVQ//8P/w/wAuDAIAVQ//8P/w/wA4DAIAVQ/u4O7g/wBCDAIAVQ7Nwc3B/wBMDAIAVQ6Lg4uD/wBWDAIA6Zb//2m0/wBeDAIA6pH//260/wBnDAIA643u7mqn/wBwDAIA7IfNzWCQ/wB5DAIA6pSLizpi/wCCDAIAAIzNzVxc/wCMDAIAAJT//2pq/wCXDAIAAJTu7mNj/wCiDAIAAJXNzVVV/wCtDAIAAJSLizo6/wC4DAIAwv+CSwCC/wC/DAIAKgD////+AADFDAIAKg/////w/wDLDAIAKg/////w/wDSDAIAKg/u7u7g/wDZDAIAKg7Nzc3B/wDgDAIAKg6Li4uD/wDnDAIAJmrw8OaM/wDtDAIAJ3D///aP/wD0DAIAJ3Du7uaF/wD7DAIAJ2/NzcZz/wACDQIAJ2+Li4ZO/wAJDQIAqhT65ub6/wASDQIA8A////D1/wAgDQIA8A////D1/wAvDQIA7w/u7uDl/wA+DQIA8A7NzcHF/wBNDQIA7w6Li4OG/wBcDQIAQP/8fPwA/wBmDQIAJjH///rN/wBzDQIAJjH///rN/wCBDQIAJTLu7um//wCPDQIAJjHNzcml/wCdDQIAJzGLi4lw/wCrDQIAiT/mrdjm/wC1DQIAikD/v+///wDADQIAikDust/u/wDLDQIAij/NmsDN/wDWDQIAiUCLaIOL/wDhDQIAAHfw8ICA/wDsDQIAfx//4P///wD2DQIAfx//4P///wABDgIAfx/u0e7u/wAMDgIAfx/NtM3N/wAXDgIAfx+LeouL/wAiDgIAI3Pu7t2C/wAxDgIAI3T//+yL/wBBDgIAI3Pu7tyC/wBRDgIAI3PNzb5w/wBhDgIAI3OLi4FM/wBxDgIAKij6+vrS/wCGDgIAAADT09PT/wCQDgIAAADT09PT/wCaDgIA+En//7bB/wCkDgIA+VH//665/wCvDgIA+FHu7qKt/wC6DgIA+VDNzYyV/wDFDgIA+VCLi19l/wDQDgIADIT//6B6/wDcDgIADIT//6B6/wDpDgIAC4Tu7pVy/wD2DgIADIXNzYFi/wADDwIADIWLi1dC/wAQDwIAfdGyILKq/wAeDwIAj3X6h876/wArDwIAj0//sOL//wA5DwIAj0/upNPu/wBHDwIAjk/NjbbN/wBVDwIAj06LYHuL/wBjDwIAr4//hHD//wByDwIAlDiZd4iZ/wCBDwIAlDiZd4iZ/wCQDwIAlzTesMTe/wCfDwIAlzX/yuH//wCvDwIAlzXuvNLu/wC/DwIAlzXNorXN/wDPDwIAljWLbnuL/wDfDwIAKh/////g/wDrDwIAKh/////g/wD4DwIAKh/u7u7R/wAFEAIAKh/Nzc20/wASEAIAKh+Li4t6/wAfEAIAVcDNMs0y/wApEAIAFRT6+vDm/wAvEAIA1P///wD//wA3EAIA1P///wD//wBAEAIA1P/u7gDu/wBJEAIA1P/NzQDN/wBSEAIA1P+LiwCL/wBbEAIA77mwsDBg/wBiEAIA5Mv//zSz/wBqEAIA5Mvu7jCn/wByEAIA5MzNzSmQ/wB6EAIA5MuLixxi/wCCEAIAcYDNZs2q/wCTEAIAqv/NAADN/wCeEAIAzJjTulXT/wCrEAIAy5n/4Gb//wC5EAIAy5nu0V/u/wDHEAIAy5nNtFLN/wDVEAIAy5qLejeL/wDjEAIAt3zbk3Db/wDwEAIAt33/q4L//wD+EAIAt33un3nu/wAMEQIAt33NiWjN/wAaEQIAt3yLXUeL/wAoEQIAZ6mzPLNx/wA3EQIAsI/ue2ju/wBHEQIAb//6APqa/wBZEQIAfafRSNHM/wBpEQIA5OTHxxWF/wB5EQIAqsZwGRlw/wCGEQIAagn/9f/6/wCQEQIABB7//+Th/wCaEQIABB7//+Th/wClEQIABB7u7tXS/wCwEQIAAx3Nzbe1/wC7EQIABR2Li317/wDGEQIAGkn//+S1/wDPEQIAGVH//96t/wDbEQIAGVH//96t/wDoEQIAGVLu7s+h/wD1EQIAGVLNzbOL/wACEgIAGVKLi3le/wAPEgIAqv+AAACA/wAUEgIAqv+AAACA/wAdEgIAKgD////+AAAiEgIAGxf9/fXm/wAqEgIAOMCOa44j/wA0EgIAOMH/wP8+/wA/EgIAOMDus+46/wBKEgIAOMDNms0y/wBVEgIAOMCLaYsi/wBgEgIAG////6UA/wBnEgIAG////6UA/wBvEgIAG//u7poA/wB3EgIAG//NzYUA/wB/EgIAG/+Li1oA/wCHEgIAC////0UA/wCREgIAC////0UA/wCcEgIAC//u7kAA/wCnEgIAC//NzTcA/wCyEgIAC/+LiyUA/wC9EgIA1nva2nDW/wDEEgIA1nz//4P6/wDMEgIA1nzu7nrp/wDUEgIA1nzNzWnJ/wDcEgIA1XyLi0eJ/wDkEgIAJkju7uiq/wDyEgIAVWT7mPuY/wD8EgIAVWX/mv+a/wAHEwIAVWTukO6Q/wASEwIAVWTNfM18/wAdEwIAVWSLVItU/wAoEwIAf0Pur+7u/wA2EwIAf0T/u////wBFEwIAf0Turu7u/wBUEwIAf0TNls3N/wBjEwIAf0OLZouL/wByEwIA8Xzb23CT/wCAEwIA8X3//4Kr/wCPEwIA8X3u7nmf/wCeEwIA8X3NzWiJ/wCtEwIA8XyLi0dd/wC8EwIAGin//+/V/wDHEwIAFEb//9q5/wDREwIAFEb//9q5/wDcEwIAE0Xu7sut/wDnEwIAE0XNza+V/wDyEwIAFEWLi3dl/wD9EwIAFLDNzYU//wACFAIA9z///8DL/wAHFAIA9Un//7XF/wANFAIA9Unu7qm4/wATFAIA9UrNzZGe/wAZFAIA9UmLi2Ns/wAfFAIA1Ebd3aDd/wAkFAIA1ET//7v//wAqFAIA1ETu7q7u/wAwFAIA1ETNzZbN/wA2FAIA1EOLi2aL/wA8FAIAhDvmsODm/wBHFAIAxN3woCDw/wBOFAIAv8//mzD//wBWFAIAwM/ukSzu/wBeFAIAwM/NfSbN/wBmFAIAwM+LVRqL/wBuFAIAAP///wAA/wByFAIAAP///wAA/wB3FAIAAP/u7gAA/wB8FAIAAP/NzQAA/wCBFAIAAP+LiwAA/wCGFAIAAD28vI+P/wCQFAIAAD7//8HB/wCbFAIAAD7u7rS0/wCmFAIAAD7NzZub/wCxFAIAAD6Li2lp/wC8FAIAn7XhQWnh/wDGFAIAn7f/SHb//wDRFAIAn7fuQ27u/wDcFAIAn7bNOl/N/wDnFAIAn7eLJ0CL/wDyFAIAEdyLi0UT/wD+FAIABIr6+oBy/wAFFQIACZb//4xp/wANFQIACZbu7oJi/wAVFQIACZbNzXBU/wAdFQIACZaLi0w5/wAlFQIAE5r09KRg/wAwFQIAZ6qLLotX/wA5FQIAZ6v/VP+f/wBDFQIAZ6vuTu6U/wBNFQIAZ6vNQ82A/wBXFQIAZ6qLLotX/wBhFQIAERD///Xu/wBqFQIAERD///Xu/wB0FQIAEhHu7uXe/wB+FQIAEhHNzcW//wCIFQIAEhCLi4aC/wCSFQIADbegoFIt/wCZFQIADbj//4JH/wChFQIADbju7nlC/wCpFQIADbjNzWg5/wCxFQIADbmLi0cm/wC5FQIAi2zrh87r/wDBFQIAkHj/h87//wDKFQIAkHjufsDu/wDTFQIAkHjNbKbN/wDcFQIAkXeLSnCL/wDlFQIAr4/NalrN/wDvFQIAr5D/g2///wD6FQIAr5Duemfu/wAFFgIAr5DNaVnN/wAQFgIAr5CLRzyL/wAbFgIAlDiQcICQ/wAlFgIAlTj/xuL//wAwFgIAlTjuudPu/wA7FgIAlDnNn7bN/wBGFgIAlTiLbHuL/wBRFgIAlDiQcICQ/wBbFgIAAAX///r6/wBgFgIAAAX///r6/wBmFgIAAAXu7unp/wBsFgIAAATNzcnJ/wByFgIAAAOLi4mJ/wB4FgIAav//AP9//wCEFgIAav//AP9//wCRFgIAav/uAO52/wCeFgIAav/NAM1m/wCrFgIAav+LAItF/wC4FgIAkpu0RoK0/wDCFgIAkpz/Y7j//wDNFgIAkpzuXKzu/wDYFgIAkpzNT5TN/wDjFgIAk5uLNmSL/wDuFgIAGFTS0rSM/wDyFgIAFLD//6VP/wD3FgIAFLDu7ppJ/wD8FgIAFLDNzYU//wABFwIAFLCLi1or/wAGFwIA1B3Y2L/Y/wAOFwIA1B7//+H//wAXFwIA1B7u7tLu/wAgFwIA1B3NzbXN/wApFwIA1B2Li3uL/wAyFwIABrj//2NH/wA5FwIABrj//2NH/wBBFwIABrju7lxC/wBJFwIABrjNzU85/wBRFwIABrmLizYm/wCjGAIAKgD////+AABZFwIAe7bgQODQ/wBjFwIAgf//APX//wBuFwIAgf/uAOXu/wB5FwIAgf/NAMXN/wCEFwIAgf+LAIaL/wCPFwIA1HPu7oLu/wCWFwIA49fQ0CCQ/wCgFwIA68H//z6W/wCrFwIA68Du7jqM/wC2FwIA68DNzTJ4/wDBFwIA68CLiyJS/wDMFwIAG0T19d6z/wDSFwIAG0X//+e6/wDZFwIAG0Tu7tiu/wDgFwIAG0TNzbqW/wDnFwIAG0OLi35m/wDuFwIAAAD//////wD0FwIAAAD19fX1/wD/FwIAKv////8A/wAGGAIAKv////8A/wAOGAIAKv/u7u4A/wAWGAIAKv/Nzc0A/wAeGAIAKv+Li4sA/wAmGAIAOMDNms0y/wCaHAIAfywCALYYAgC4GAIAuhgCALwYAgC+GAIAwBgCAMIYAgDEGAIAxhgCAMkYAgDMGAIAzxgCANIYAgDVGAIA2BgCANsYAgDeGAIA4RgCAOQYAgAAAAAABAAAAAQAAAALAAAANgAAABYAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAADGJQIACQAAAMwlAgAKAAAA1SUCAAsAAAAXJgIADAAAAB0mAgANAAAAIiYCAA4AAADVJQIADwAAAKomAgAQAAAAsSYCABEAAAC5JgIAEgAAAMAmAgATAAAAzCYCABQAAAAXJgIAFQAAANgmAgAWAAAA4CYCABcAAADqJgIAGAAAAPgmAgAZAAAA/yYCABoAAAAEJwIAGwAAAAcnAgAcAAAADCcCAB0AAAAUJwIAHgAAABonAgAfAAAAICcCACAAAAAnJwIAIQAAAC0nAgAhAAAANScCACIAAAA8JwIAIwAAANUlAgAkAAAAsSYCABEAAAC5JgIAEgAAADMpAgAlAAAAwCYCABMAAADMJgIAFAAAABcmAgAVAAAAPikCACYAAADgJgIAFwAAAOomAgAYAAAA+CYCABkAAAD/JgIAGgAAAAQnAgAbAAAABycCABwAAABGKQIAJwAAABQnAgAeAAAAGicCAB8AAAAgJwIAIAAAACcnAgAhAAAALScCACEAAAA1JwIAIgAAADwnAgAjAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAABP7//4f+//8HAAAAAAAAAAD//3////9///////////N//v3//////3///////////w/g/////zH8////AAAAAAAAAP//////////////AQD4AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNf///v/////f39U/f8PAP7f///////////+3/////8DAP///////58Z////zz8DAAAAAAAA/v///38C/v///38AAAAAAAAAAAD///8HBwAAAAAA/v//B/4HAAAAAP7//////////3z/fy8AYAAAAOD///////8jAAAA/wMAAADgn/n///3FAwAAALADAAMA4If5///9bQMAAABeAAAcAOCv+////e0jAAAAAAEAAADgn/n///3NIwAAALADAAAA4Mc91hjHvwMAAAAAAAAAAODf/f///e8DAAAAAAMAAADg3/3///3vAwAAAEADAAAA4N/9///9/wMAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAD+/////38NAD8AAAAAAAAAliXw/q5sDSAfAAAAAAAAAAAAAAAAAAAA//7///8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////PwD/////fwDt2gcAAAAAUAFQMYKrYiwAAAAAQADJgPUHAAAAAAgBAv////////////////////////8P//////////////8D//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAQEwAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAIAAAAD+AwAA/v///////////x8A/v////////////8H4P////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////z8AAAAAAAAAAAAAAP//////////////////////////DwAAAAAAAAAAAAAAAAAAAABg/wf+//+H/v//BwAAAAAAAIAA//9/////f/////8AAAAAAAAA//////////////8BAPgDAAMAAAAAAP//////////PwAAAAMAAADA1///+/////9/f1T9/w8A/t////////////7f/////3sA////////nxn////PPwMAAAAAAAD+////fwL+////fwD+//v//7sWAP///wcHAAAAAAD+//8H//8HAP8D////////////fP9/7///Pf8D7v////////P/Px7/z/8AAO6f+f///cXTnzmAsM//AwDkh/n///1t04c5AF7A/x8A7q/7///97fO/OwAAwf8AAO6f+f///c3zjznAsMP/AADsxz3WGMe/w8c9gACA/wAA7t/9///978PfPWAAw/8AAOzf/f///e/D3z1gQMP/AADs3/3///3/w889gADD/wAAAAAAAAAAAAAAAAAAAAAAAP7/////f/8H/3//AwAAAACWJfD+rmz/O18//wMAAAAAAAAAA/8DoML//v///wP+/98Pv/7/P/4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8fAgAAAKAAAAD+/z4A/v///////////x9m/v////////////93GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcAAAAAAAAAAAABASsAAAAsAAAALQAAAC4AAAAvAAAALQAAADAAAAAxAAAAMgAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAA3QAAYOYAANjkAADM5wAAzOcAADjpAADY5AAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAIAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAAzAAAANAAAACkAAAA1AAAADQAAABoAAAAqAAAACQAAAAoAAAACAAAAAAAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAANgAAADcAAAAyAAAAOAAAAA4AAAAbAAAAMwAAAAsAAAAMAAAAAgAAAAABAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz40BALIzAgBTjgEAuzMCAMIzAgDLMwIAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcAAAAAAAAAAAABASsAAAAsAAAALQAAAC4AAAAvAAAALQAAADAAAAAxAAAAMgAAAETsAACw7QAAHO8AAIjwAACI8AAA9PEAABzvAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAIAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAMwAAADQAAAApAAAANQAAAA0AAAAaAAAAKgAAAAkAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADYAAAA3AAAAMgAAADgAAAAOAAAAGwAAADMAAAALAAAADAAAAAIAAAAAAQAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF00AgBjNAIAZjQCAGw0AgAGNAIAczQCAHw0AgCENAIAnPMAABQAAABDLlVURi04AAAAAAAAAAAAAAAAAN4SBJUAAAAA////////////////AgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTgPQAAAkAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAQAAAA/PkCAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QAABQAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAABAAAAAE/gIAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1AACE9QAABQAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABAAAAAMAgMAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmOgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAIAAAAAkAAAAKAAAADQAAAAsAAAAMAAAAhQAAAAAgAAABIAAAAiAAAAMgAAAEIAAABSAAAAYgAAAIIAAACSAAAAogAAAoIAAAKSAAAF8gAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BV9wiQD/CS8PdAAAAP1XAgBuAAAA/1cCAHIAAAABWAIAZgAAAANYAgBhAAAABVgCAGUAAAAHWAIAdwAAAAlYAgBXAAAAFlgCAHMAAAAkWAIAUwAAADBYAgBkAAAAPVgCAEQAAABJWAIAAAAAAAAAAAAAAAAAAAAEAAQAGwAbACAAIAAjACEACgACABYACQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/FwCu/3cArv8HAC4Arv8mAK7/FwARACMArv8NAK7/rv+u/67/OgCu/67/NQCu/67/rv8oAK7/BwCu/zsARQCu/0gArv+u/67/rv+u/67/rv/8/+gA9v///xoAAAAnAAEAMgCu/67/AgAkAAMALwCu/67/rv+u/67//v+UAK7/CQAbAK7/vP+u/67/r/+u/67/rv+u/67/rv+u/wAAAAAAAG3m7N4FAAsASQAxAVMAfwEwAWkAeAH/AIEBUwKCAYMBhAGFAYYBVAKHAYgBiQFWAooBVwKLAYwBjgHdAY8BWQKQAVsCkQGSAZMBYAKUAWMClgFpApcBaAKYAZkBnAFvAp0BcgKfAXUCpgGAAqcBqAGpAYMCrAGtAa4BiAKvAbABsQGKArIBiwK3AZICuAG5AbwBvQHEAcYBxAHFAcUBxgHHAckBxwHIAcgByQHKAcwBygHLAcsBzAHxAfMB8QHyAfIB8wH0AfUB9gGVAfcBvwEgAp4BhgOsA4gDrQOJA64DigOvA4wDzAOOA80DjwPOA5kDRQOZA74fowPCA/cD+AP6A/sDYB6bHp4e3wBZH1EfWx9TH10fVR9fH1cfvB+zH8wfwx/sH+Uf/B/zHzoCZSw7AjwCPQKaAT4CZixBAkICQwKAAUQCiQJFAowC9AO4A/kD8gP9A3sD/gN8A/8DfQPABM8EJiHJAyohawArIeUAMiFOIYMhhCFgLGEsYixrAmMsfR1kLH0CbSxRAm4scQJvLFACcCxSAnIscyx1LHYsfiw/An8sQALyLPMsfad5HYunjKeNp2UCqqdmAscQJy3NEC0tdgN3A5wDtQCSA9ADmAPRA6YD1QOgA9YDmgPwA6ED8QOVA/UDzwPXAwAAAABBACAawAAgHwABAS8yAQEFOQEBD0oBAS15AQEFcAMBA5EDIBGjAyAJAARQEBAEICBgBAEhigQBNcEEAQ3QBAE/FAUBEzEFMCagAQEFswEBA80BAQ/eAQER+AEBJyICARHYAwEXAB4BlaAeAV8IH/gIGB/4Bigf+Ag4H/gISB/4Bmgf+AiIH/gImB/4CKgf+Ai4H/gCuh+2AsgfqgTYH/gC2h+cAugf+ALqH5AC+B+AAvofggJGAgEJEAUBA2AhEBAALDAvZywBBYAsAWPrLAEDQKYBLYCmARcipwENMqcBPXmnAQN+pwEJkKcBA6CnAQkh/yAaAAAAAHsgdmFyIHBhdGggPSBQb2ludGVyX3N0cmluZ2lmeSgkMCk7IHZhciBkYXRhID0gUG9pbnRlcl9zdHJpbmdpZnkoJDEpOyBGUy5jcmVhdGVQYXRoKCIvIiwgUEFUSC5kaXJuYW1lKHBhdGgpKTsgRlMud3JpdGVGaWxlKFBBVEguam9pbigiLyIsIHBhdGgpLCBkYXRhKTsgfQBjb3JlAHhkb3R2ZXJzaW9uADEuNwAxLjQAMS4yAF9sZHJhd18AX2hkcmF3XwBfdGRyYXdfAF9obGRyYXdfAF90bGRyYXdfAHhkb3QgdmVyc2lvbiAiJXMiIHRvbyBsb25nACAlZCAAJS4wMmYAJXMlZCAtACMlMDJ4JTAyeCUwMnglMDJ4AHNldGxpbmV3aWR0aCgAJS4zZgBTIABDIAAyIABFIABlIABGIAB0ICV1IABUIABkb3Q6ZG90AGd2OmRvdABjYW5vbjpkb3QAcGxhaW46ZG90AHBsYWluLWV4dDpkb3QAeGRvdDp4ZG90AHhkb3QxLjI6eGRvdAB4ZG90MS40Onhkb3QASSAAIl9zdWJncmFwaF9jbnQiOiAlZAAiX2d2aWQiOiAlZAAiZWRnZXMiOiBbCgAiX2d2aWQiOiAlZCwKACJ0YWlsIjogJWQsCgAiaGVhZCI6ICVkACJvYmplY3RzIjogWwoAIm5vZGVzIjogWwoAIm5hbWUiOiAiJXMiAFwiAFwvAFxiAFxmAFxuAFxyAFx0ACJzdWJncmFwaHMiOiBbCgAiJXMiOiAAIiVzIgBDb3VsZCBub3QgcGFyc2UgeGRvdCAiJXMiCgBbCgAib3AiOiAiJWMiLAoAInJlY3QiOiBbJS4wM2YsJS4wM2YsJS4wM2YsJS4wM2ZdCgAib3AiOiAiTCIsCgAib3AiOiAiVCIsCgAicHQiOiBbJS4wM2YsJS4wM2ZdLAoAImFsaWduIjogIiVjIiwKACJ3aWR0aCI6ICUuMDNmLAoAInRleHQiOiAiJXMiCgAiZ3JhZCI6ICJub25lIiwKACJjb2xvciI6ICIlcyIKACJncmFkIjogImxpbmVhciIsCgAiZ3JhZCI6ICJyYWRpYWwiLAoAIm9wIjogIkYiLAoAInNpemUiOiAlLjAzZiwKACJmYWNlIjogIiVzIgoAIm9wIjogIlMiLAoAInN0eWxlIjogIiVzIgoAIm9wIjogInQiLAoAImZvbnRjaGFyIjogJWQKACJwMCI6IFslLjAzZiwlLjAzZiwlLjAzZl0sCgAicDEiOiBbJS4wM2YsJS4wM2YsJS4wM2ZdLAoAInN0b3BzIjogWwB7ImZyYWMiOiAlLjAzZiwgImNvbG9yIjogIiVzIn0AXQoAInAwIjogWyUuMDNmLCUuMDNmXSwKACJwMSI6IFslLjAzZiwlLjAzZl0sCgAicG9pbnRzIjogWwBbJS4wM2YsJS4wM2ZdAGRyYXdfAGxkcmF3XwBoZHJhd18AdGRyYXdfAGhsZHJhd18AdGxkcmF3XwAiZGlyZWN0ZWQiOiAlcywKACJzdHJpY3QiOiAlcwBEdXBsaWNhdGUgY2x1c3RlciBuYW1lICIlcyIKAHhkb3QAanNvbgBqc29uMABkb3RfanNvbgB4ZG90X2pzb24AanNvbjpqc29uAGpzb24wOmpzb24AZG90X2pzb246anNvbgB4ZG90X2pzb246anNvbgBuID49IDQAZ3ZyZW5kZXJfY29yZV9maWcuYwBmaWdfYmV6aWVyAGZpZ19yZXNvbHZlX2NvbG9yAGZpZwBmaWc6ZmlnAG1hcAByZWN0ICVzICVkLCVkICVkLCVkCgBjaXJjbGUgJXMgJWQsJWQsJWQKAHBvbHkgJXMAICVkLCVkAGd2cmVuZGVyX2NvcmVfbWFwLmMAbWFwX291dHB1dF9zaGFwZQByZWN0YW5nbGUgKCVkLCVkKSAoJWQsJWQpICVzICVzCgA8YXJlYSBzaGFwZT0iY2lyY2xlIgA8YXJlYSBzaGFwZT0icmVjdCIAPGFyZWEgc2hhcGU9InBvbHkiACBocmVmPSIAIHRpdGxlPSIAIGFsdD0iIgAgY29vcmRzPSIAJWQsJWQsJWQAJWQsJWQsJWQsJWQAJWQsJWQALCVkLCVkACI+CgA8L21hcD4KAGJhc2UgcmVmZXJlcgoAZGVmYXVsdCAAPG1hcCBpZD0iACIgbmFtZT0iAGlzbWFwOm1hcABjbWFwOm1hcABpbWFwOm1hcABjbWFweDptYXAAaW1hcF9ucDptYXAAY21hcHhfbnA6bWFwACMgJXMKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuM2YgJWQgJS40ZiAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAJWQgJWQgIyUwMnglMDJ4JTAyeAoAZ3ZyZW5kZXJfY29yZV9tcC5jAG1wX3Jlc29sdmVfY29sb3IAJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlLjRmICVkICUuMWYgJS4xZiAlZCAlZCAlc1wwMDEKACMgZW5kIG9mIEZJRyBmaWxlCgAjRklHIDMuMgoAIyBHZW5lcmF0ZWQgYnkgJXMgdmVyc2lvbiAlcyAoJXMpCgAjIFRpdGxlOiAlcwoAIyBQYWdlczogJWQKAFBvcnRyYWl0CgBDZW50ZXIKAEluY2hlcwoATGV0dGVyCgAxMDAuMDAKAFNpbmdsZQoALTIKADEyMDAAIDIKAG1wAG1wOm1wACBdICAlZCB0cnVlICVzCgAgXSAgJWQgZmFsc2UgJXMKACBzZXRsaW5ld2lkdGgKACVzIABzZXRoc2IAJS41ZyAlLjVnICUuNWcgJXNjb2xvcgoAJSAAbmV3cGF0aCAAIG1vdmV0bwoAIGxpbmV0bwoAc3Ryb2tlCgAgY3VydmV0bwoAY2xvc2VwYXRoIGZpbGwKAGNsb3NlcGF0aCBzdHJva2UKACBlbGxpcHNlX3BhdGggZmlsbAoAIGVsbGlwc2VfcGF0aCBzdHJva2UKACAvJXMgc2V0X2ZvbnQKACBtb3ZldG8gACAlcyBhbGlnbmVkdGV4dAoAWyAvUmVjdCBbIAAgXQoAICAvQm9yZGVyIFsgMCAwIDAgXQogIC9BY3Rpb24gPDwgL1N1YnR5cGUgL1VSSSAvVVJJICVzID4+CiAgL1N1YnR5cGUgL0xpbmsKL0FOTiBwZGZtYXJrCgBnc2F2ZQoAJSUgJXMKADAgMCAwIGVkZ2Vjb2xvcgoAZW5kcGFnZQpzaG93cGFnZQpncmVzdG9yZQoAJSVQYWdlVHJhaWxlcgoAJSUlJUVuZFBhZ2U6ICVkCgAlJSUlUGFnZTogJWQgJWQKACUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBMYW5kc2NhcGUAUG9ydHJhaXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRleE9mICgnLicsIG1zaWUgKSkpCgAgICAgICB9CgAgICAgICBpZiAoaWV2ZXJzPj01KXsKACAgICAgICBmb3IgKHggaW4gVk1MeWVzKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUx5ZXNbeF0pOwoAICAgICAgICAgaWYgKGl0ZW0pIHsKACAgICAgICAgICAgaXRlbS5zdHlsZS52aXNpYmlsaXR5PSd2aXNpYmxlJzsKACAgICAgICAgIH0KACAgICAgICB9CgAgICAgICAgZm9yICh4IGluIFZNTG5vKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUxub1t4XSk7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJzsKACAgICAgfWVsc2V7CgAgICAgIH0KACAgIH0KACAgIDwvU0NSSVBUPgoAPC9IRUFEPgA8Qk9EWSBvbmxvYWQ9J2Jyb3dzZXJjaGVjaygpOyc+CgA8RElWIGlkPSdfVk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTppbmxpbmU7IHZpc2liaWxpdHk6aGlkZGVuACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0Ij4KADxTVFlMRT4KAHZcOiogeyBiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7ZGlzcGxheTppbmxpbmUtYmxvY2t9CgA8L1NUWUxFPgoAPHhtbDpuYW1lc3BhY2UgbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiBwcmVmaXg9InYiIC8+CgAgPHY6Z3JvdXAgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyAAIHdpZHRoOiAlZHB0OyBoZWlnaHQ6ICVkcHQiACBjb29yZG9yaWdpbj0iMCwwIiBjb29yZHNpemU9IiVkLCVkIiA+ADxIVE1MPgoACjwhLS0gR2VuZXJhdGVkIGJ5IAAgdmVyc2lvbiAAICgAKQotLT4KAGFxdWEAZnVjaHNpYQBsaW1lAG9saXZlAHRlYWwAdm1sAHZtbDp2bWwALy8qKiogY29tbWVudDogJXMKAC8vKioqIHBvbHlsaW5lCgBzY2FsZSAgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHJvdGF0ZSAgIDwlOS4zZiwgJTkuM2YsICU5LjNmPgoAdHJhbnNsYXRlPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgBzcGhlcmVfc3dlZXAgewogICAgJXMKICAgICVkLAoAbGluZWFyX3NwbGluZQA8JTkuM2YsICU5LjNmLCAlOS4zZj4sICUuM2YKACVzICAgICVzACAgICB0b2xlcmFuY2UgMC4wMQogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAlcyVzACVzIHRyYW5zbWl0ICUuM2YAUmVkAEdyZWVuAEJsdWUAcmdiPCU5LjNmLCAlOS4zZiwgJTkuM2Y+IHRyYW5zbWl0ICUuM2YAb29wcywgaW50ZXJuYWwgZXJyb3I6IHVuaGFuZGxlZCBjb2xvciB0eXBlPSVkICVzCgBndnJlbmRlcl9jb3JlX3Bvdi5jAHBvdl9jb2xvcl9hc19zdHIAcGlnbWVudCB7IGNvbG9yICVzIH0KAHBvdiByZW5kZXJlcjplbCAtICVzCgAvLyoqKiBiZXppZXIKAGJfc3BsaW5lACAgICAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogcG9seWdvbgoAICAgIHRvbGVyYW5jZSAwLjEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAcG9seWdvbiB7ICVkLAoAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+ACVzCiAgICAlcwAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogZWxsaXBzZQoAdG9ydXMgeyAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHNwaGVyZSB7PCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAxLjAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogdGV4dHNwYW46ICVzLCBmb250c2l6ZSA9ICUuM2YsIGZvbnRuYW1lID0gJXMKAHNjYWxlICUuM2YKAHRleHQgewogICAgdHRmICIlcyIsCiAgICAiJXMiLCAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlcyAgICAlc30KACAgICBub19zaGFkb3cKAC8vKioqIGVuZF9lZGdlCgAvLyoqKiBiZWdpbl9lZGdlCgAvLyoqKiBlbmRfbm9kZQoALy8qKiogYmVnaW5fbm9kZTogJXMKAC8vKioqIGVuZF9jbHVzdGVyCgAvLyoqKiBiZWdpbl9jbHVzdGVyCgAvLyoqKiBlbmRfcGFnZQoALy8qKiogYmVnaW5fcGFnZQoALy8qKiogZW5kX2xheWVyCgAvLyoqKiBiZWdpbl9sYXllcjogJXMsICVkLyVkCgAvLyoqKiBlbmRfZ3JhcGgKAC8vKioqIGJlZ2luX2dyYXBoICVzCgBjYW1lcmEgeyBsb2NhdGlvbiA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICBsb29rX2F0ICA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICByaWdodCB4ICogaW1hZ2Vfd2lkdGggLyBpbWFnZV9oZWlnaHQKICAgICAgICAgYW5nbGUgJS4zZgp9CgAvL3NreQpwbGFuZSB7IDwwLCAxLCAwPiwgMSBob2xsb3cKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnQgeyBib3pvIHR1cmJ1bGVuY2UgMC45NQogICAgICAgICAgICBjb2xvcl9tYXAgewogICAgICAgICAgICAgICAgWzAuMDAgcmdiIDwwLjA1LCAwLjIwLCAwLjUwPl0KICAgICAgICAgICAgICAgIFswLjUwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC43NSByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwwLjI1LCAwLjI1LCAwLjI1Pl0KICAgICAgICAgICAgICAgIFsxLjAwIHJnYiA8MC41MCwgMC41MCwgMC41MD5dCiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2NhbGUgPDEuMDAsIDEuMDAsIDEuNTA+ICogMi41MAogICAgICAgICAgICB0cmFuc2xhdGUgPDAuMDAsIDAuMDAsIDAuMDA+CiAgICAgICAgfQogICAgICAgIGZpbmlzaCB7IGFtYmllbnQgMSBkaWZmdXNlIDAgfQogICAgfQogICAgc2NhbGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAY29tcABjbnQgPT0gc3oAbWluY3Jvc3MuYwBmaXhMYWJlbE9yZGVyAHJlbWluY3Jvc3MAbWluY3Jvc3MgJXM6ICVkIGNyb3NzaW5ncywgJS4yZiBzZWNzLgoAdgBuZWlnaGJvcgAocnYgPT0gMCkgfHwgKE5EX29yZGVyKHJ2KS1ORF9vcmRlcih2KSkqZGlyID4gMABjb25zdHJhaW5pbmdfZmxhdF9lZGdlKGcsdixlKSA9PSBGQUxTRQBmbGF0X3Jlb3JkZXIATkRfcmFuayh2KSA9PSByAHBvc3RvcmRlcgBmbGF0aW5kZXgoYWdoZWFkKGUpKSA8IE0tPm5yb3dzAGZsYXRfc2VhcmNoAGZsYXRpbmRleChhZ3RhaWwoZSkpIDwgTS0+bmNvbHMAb3V0AG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQuCgBvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkIGZvciBub2RlICclcycuCgBtZXJnZTI6IGdyYXBoICVzLCByYW5rICVkIGhhcyBvbmx5ICVkIDwgJWQgbm9kZXMKAG1pbmNyb3NzOiBwYXNzICVkIGl0ZXIgJWQgdHJ5aW5nICVkIGN1cl9jcm9zcyAlZCBiZXN0X2Nyb3NzICVkCgBORF9vcmRlcih2KSA8IE5EX29yZGVyKHcpAGJhbGFuY2UAdHJhbnNwb3NlX3N0ZXAAc3VycHJpc2UKAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogJXMgJXMgcmFuayAlZCBpID0gJWQgYW4gPSAwCgBHRF9yYW5rKGcpW3JdLm4gPD0gR0RfcmFuayhnKVtyXS5hbgBpbnN0YWxsX2luX3JhbmsAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogcmFuayAlZCBub3QgaW4gcmFuayByYW5nZSBbJWQsJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IEdEX3JhbmsoZylbJWRdLnYgKyBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoZylbJWRdLmF2ICsgR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAX25ld19yYW5rAG1jbGltaXQAcmFuayhnLCAyLCBuc2l0ZXIyKGcpKSA9PSAwAHBvc2l0aW9uLmMAZG90X3Bvc2l0aW9uAEFSPSUwLjRsZgkgQXJlYT0gJTAuNGxmCQBEdW1teT0lZAoAR29pbmcgdG8gYXBwbHkgYW5vdGhlciBleHBhbnNpb24uCgBuZXh0I2l0ZXI9JWQKAGhwAGNvbm5lY3RHcmFwaABFZGdlIGxlbmd0aCAlZiBsYXJnZXIgdGhhbiBtYXhpbXVtICV1IGFsbG93ZWQuCkNoZWNrIGZvciBvdmVyd2lkZSBub2RlKHMpLgoAbnNsaW1pdABjb250YWluX25vZGVzIGNsdXN0ICVzIHJhbmsgJWQgbWlzc2luZyBub2RlCgBuc2xpbWl0MQBuZXdyYW5rAE1heHJhbmsgPSAlZCwgbWlucmFuayA9ICVkCgBsZWFkZXIgIT0gTlVMTAByYW5rLmMAY2x1c3Rlcl9sZWFkZXIAKE5EX1VGX3NpemUobikgPD0gMSkgfHwgKG4gPT0gbGVhZGVyKQBhZ2hlYWQoZSkgPT0gVUZfZmluZChhZ2hlYWQoZSkpAG1pbm1heF9lZGdlcwBhZ3RhaWwoZSkgPT0gVUZfZmluZChhZ3RhaWwoZSkpAHJhbmsAc2FtZQBtaW4Ac291cmNlAG1heABzaW5rAGxldmVsIGFzc2lnbm1lbnQgY29uc3RyYWludHMAbGV2ZWwgZ3JhcGggcmVjAH9yb290AH90b3AAf2JvdABjb21wYWN0AF93ZWFrXyVkAHJhbmtpbmc6IGZhaWx1cmUgdG8gY3JlYXRlIHN0cm9uZyBjb25zdHJhaW50IGVkZ2UgYmV0d2VlbiBub2RlcyAlcyBhbmQgJXMKACVzIGhhcyB1bnJlY29nbml6ZWQgcmFuaz0lcwBsZXZlbCBlZGdlIHJlYwBsZXZlbCBub2RlIHJlYwBzYW1laGVhZABzYW1ldGFpbAB0b28gbWFueSAoPiAlZCkgc2FtZXtoZWFkLHRhaWx9IGdyb3VwcyBmb3Igbm9kZSAlcwoAY29tYmlBUiA9ICVsZgoAJWxmLCVkAHRoZSBhc3BlY3QgYXR0cmlidXRlIGhhcyBiZWVuIGRpc2FibGVkIGR1ZSB0byBpbXBsZW1lbnRhdGlvbiBmbGF3cyAtIGF0dHJpYnV0ZSBpZ25vcmVkLgoARURfdG9fdmlydChlKSA9PSBOVUxMAGNsYXNzMi5jAG1lcmdlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgPT0gTlVMTABtYWtlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgIT0gTlVMTABORF9yYW5rKGZyb20pIDwgTkRfcmFuayh0bykAY2x1c3Rlci5jAG1hcF9wYXRoACVzIHdhcyBhbHJlYWR5IGluIGEgcmFua3NldCwgZGVsZXRlZCBmcm9tIGNsdXN0ZXIgJXMKAGxoZWFkAGx0YWlsACVzIC0+ICVzOiBzcGxpbmUgc2l6ZSA+IDEgbm90IHN1cHBvcnRlZAoAJXMgLT4gJXM6IGhlYWQgbm90IGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiB0YWlsIGlzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGJlei0+c2ZsYWcAY29tcG91bmQuYwBtYWtlQ29tcG91bmRFZGdlAGJlei0+ZWZsYWcAJXMgLT4gJXM6IHRhaWwgbm90IGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiBoZWFkIGlzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHNlZ21lbnQgWyVzLCVzXSBkb2VzIG5vdCBpbnRlcnNlY3QgYm94IGxsPSVzLHVyPSVzCgBib3hJbnRlcnNlY3RmACglLjVnLCUuNWcpAGNsdXN0ZXIgbmFtZWQgJXMgbm90IGZvdW5kCgBjb25jZW50cmF0ZT10cnVlIG1heSBub3Qgd29yayBjb3JyZWN0bHkuCgByZWJ1aWx0ZF92bGlzdHM6IHJhbmsgbGVhZCAlcyBub3QgaW4gb3JkZXIgJWQgb2YgcmFuayAlZAoAZGVnZW5lcmF0ZSBjb25jZW50cmF0ZWQgcmFuayAlcywlZAoATkRfaW4ocmlnaHQpLnNpemUgKyBORF9vdXQocmlnaHQpLnNpemUgPT0gMABjb25jLmMAbWVyZ2V2aXJ0dWFsAGRvdDogT3V0IG9mIG1lbW9yeQoATkRfb3V0KHYpLnNpemUgPT0gMgBmbGF0LmMAc2V0Ym91bmRzAEdEX21pbnJhbmsoZykgPT0gMABhYm9taW5hdGlvbgBuZWF0b19sYXlvdXQAbmVhdG8AZmRwAHNmZHAAdHdvcGkAY2lyY28AcGF0Y2h3b3JrAG9zYWdlAG5vcABub3AxAG5vcDIAJWxmLCVsZiwlbGYlYwBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGRvdWJsZXMKAG5vdHJhbnNsYXRlAG5vZGUgJXMgaW4gZ3JhcGggJXMgaGFzIG5vIHBvc2l0aW9uCgBzLCVsZiwlbGYlbgAgZSwlbGYsJWxmJW4AcG9zIGF0dHJpYnV0ZSBmb3IgZWRnZSAoJXMsJXMpIGRvZXNuJ3QgaGF2ZSAzbisxIHBvaW50cwoAJWxmLCVsZiVuAHN5bnRheCBlcnJvciBpbiBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykKACVsZiwlbGYsJWxmLCVsZgBzdGFydABzZWxmAHJhbmRvbQBub2RlIHBvc2l0aW9ucyBhcmUgaWdub3JlZCB1bmxlc3Mgc3RhcnQ9cmFuZG9tCgBhcyByZXF1aXJlZCBieSB0aGUgLW4gZmxhZwoAX25lYXRvX2NjAGdyYXBoICVzIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBBbHRlcm5hdGl2ZWx5LCBjb25zaWRlciBydW5uaW5nIG5lYXRvIHVzaW5nIC1HcGFjaz10cnVlIG9yIGRlY29tcG9zaW5nCgB0aGUgZ3JhcGggaW50byBjb25uZWN0ZWQgY29tcG9uZW50cy4KAFNvbHZpbmcgbW9kZWwgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAE5EX2lkKG5wKSA9PSBpAG5lYXRvaW5pdC5jAG1ha2VHcmFwaERhdGEAZiA8IGdyYXBoW2pdLm5lZGdlcwBkZnNDeWNsZQBtb2RlbCAlZCBzbWFydF9pbml0ICVkIHN0cmVzc3d0ICVkIGl0ZXJhdGlvbnMgJWQgdG9sICVmCgBjb252ZXJ0IGdyYXBoOiAAbWFqb3JpemF0aW9uCgAlZCBub2RlcyAlLjJmIHNlYwoAbGV2ZWxzZ2FwAGxheW91dCBhYm9ydGVkCgBzdHJlc3N3dAAlcyBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSAxIG9yIDIgLSBpZ25vcmluZwoAbW9kZWwAY2lyY3VpdABzdWJzZXQAc2hvcnRwYXRoAG1kcwBlZGdlcyBpbiBncmFwaCAlcyBoYXZlIG5vIGxlbiBhdHRyaWJ1dGUuIEhlbmNlLCB0aGUgbWRzIG1vZGVsCgBpcyBpbmFwcHJvcHJpYXRlLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBVbmtub3duIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGVsIiBpbiBncmFwaCAlcyAtIGlnbm9yZWQKAG1vZGUAS0sAbWFqb3IAaGllcgBJbGxlZ2FsIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGUiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbWFrZVNwbGluZTogZmFpbGVkIHRvIG1ha2Ugc3BsaW5lIGVkZ2UgKCVzLCVzKQoAc3BsaW5lICVzICVzCgBiID09IG4AbmVhdG9zcGxpbmVzLmMAbWFrZV9iYXJyaWVycwB0aGUgYm91bmRpbmcgYm94ZXMgb2Ygc29tZSBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBzb21lIG5vZGVzIHdpdGggbWFyZ2luICglLjAyZiwlLjAyZikgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcG9seWxpbmVzAGxpbmUgc2VnbWVudHMAb3J0aG9nb25hbCBsaW5lcwBDcmVhdGluZyBlZGdlcyB1c2luZyAlcwoAcG9seWxpbmUgJXMgJXMKAG1kc01vZGVsOiBkZWx0YSA9ICVmCgBTZXR0aW5nIHVwIHN0cmVzcyBmdW5jdGlvbgBTb2x2aW5nIG1vZGVsOiAACmZpbmFsIGUgPSAlZiAlZCBpdGVyYXRpb25zICUuMmYgc2VjCgBEYW1waW5nAGRlZmF1bHRkaXN0ACBpbiAlcyAtIHNldHRpbmcgdG8gJS4wMmYKAGJhZCBlZGdlIGxlbiAiJXMiAFNldHRpbmcgaW5pdGlhbCBwb3NpdGlvbnMKAHN0YXJ0PSVzIG5vdCBzdXBwb3J0ZWQgd2l0aCBtb2RlPXNlbGYgLSBpZ25vcmVkCgBTZXR0aW5nIHVwIHNwcmluZyBtb2RlbDogACUuMmYgc2VjCgAKZmluYWwgZSA9ICVmACEAICVkJXMgaXRlcmF0aW9ucyAlLjJmIHNlYwoATWF4LiBpdGVyYXRpb25zICglZCkgcmVhY2hlZCBvbiBncmFwaCAlcwoAJXMgJS4zZgoAJS4zZiAATkRfaGVhcGluZGV4KHYpIDwgMABzdHVmZi5jAG5lYXRvX2VucXVldWUAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHM6IABzcGVjaWZpZWQgcm9vdCBub2RlICIlcyIgd2FzIG5vdCBmb3VuZC4AVXNpbmcgZGVmYXVsdCBjYWxjdWxhdGlvbiBmb3Igcm9vdCBub2RlCgByZXBvc2l0aW9uICVzCgAlcyA6ICVmICVmCgAlcyA6ICVmICVmICVmICVmCgAgIABHcmFwaCAlcyBoYXMgYXJyYXkgcGFja2luZyB3aXRoIHVzZXIgdmFsdWVzIGJ1dCBubyAic29ydHYiIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGxheW91dCAlcwoAZW5kICVzCgBpZHggPT0gc3oAbGF5b3V0LmMAZXhwYW5kQ2x1c3RlcgBpID09IGRlZwBnZXRFZGdlTGlzdABfZGdfJWQAZGVyaXZlIGdyYXBoICVzIG9mICVzCgBub2RlICIlcyIgaXMgY29udGFpbmVkIGluIHR3byBub24tY29tcGFyYWJsZSBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBfcG9ydF8lc18lc18lc18lbGQAX3BvcnRfJXNfKCVkKV8oJWQpXyVsZAAlbGYsJWxmLCVsZiwlbGYlYwBncmFwaCAlcywgY29vcmQgJXMsIGV4cGVjdGVkIGZvdXIgZG91YmxlcwoAc3BsaW5lcyBhbmQgY2x1c3RlciBlZGdlcyBub3Qgc3VwcG9ydGVkIC0gdXNpbmcgbGluZSBzZWdtZW50cwoAbWF4aXRlcgBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Ac2ZkcCBvbmx5IHN1cHBvcnRzIHN0YXJ0PXJhbmRvbQoASwByZXB1bHNpdmVmb3JjZQBsZXZlbHMAc21vb3RoaW5nAHF1YWR0cmVlAGJlYXV0aWZ5AG92ZXJsYXBfc2hyaW5rAHJvdGF0aW9uAGxhYmVsX3NjaGVtZQBsYWJlbF9zY2hlbWUgPSAlZCA+IDQgOiBpZ25vcmluZwoAZmFzdABhdmdfZGlzdABncmFwaF9kaXN0AHBvd2VyX2Rpc3QAc3ByaW5nAGRpbWVuAGRpbQBzcHJpbmdfZWxlY3RyaWNhbF9jb250cm9sOgoAICByZXB1bHNpdmUgYW5kIGF0dHJhY3RpdmUgZXhwb25lbnRzOiAlLjAzZiAlLjAzZgoAICByYW5kb20gc3RhcnQgJWQgc2VlZCAlZAoAICBLIDogJS4wM2YgQyA6ICUuMDNmCgAgIG1heCBsZXZlbHMgJWQgY29hcnNlbl9zY2hlbWUgJWQgY29hcnNlbl9ub2RlICVkCgAgIHF1YWR0cmVlIHNpemUgJWQgbWF4X2xldmVsICVkCgAgIEJhcm5lcy1IdXR0IGNvbnN0YW50ICUuMDNmIHRvbGVyYW5jZSAgJS4wM2YgbWF4aXRlciAlZAoAICBjb29saW5nICUuMDNmIHN0ZXAgc2l6ZSAgJS4wM2YgYWRhcHRpdmUgJWQKACAgYmVhdXRpZnlfbGVhdmVzICVkIG5vZGUgd2VpZ2h0cyAlZCByb3RhdGlvbiAlLjAzZgoAICBzbW9vdGhpbmcgJXMgb3ZlcmxhcCAlZCBpbml0aWFsX3NjYWxpbmcgJS4wM2YgZG9fc2hyaW5raW5nICVkCgAgIG9jdHJlZSBzY2hlbWUgJXMgbWV0aG9kICVzCgAgIGVkZ2VfbGFiZWxpbmdfc2NoZW1lICVkCgBTUFJJTkdfRUxFQ1RSSUNBTABTUFJJTkdfTUFYRU5UAFNUUkVTU19NQVhFTlQAU1RSRVNTX0FQUFJPWABTVFJFU1MAVU5JRk9STV9TVFJFU1MARlVMTF9TVFJFU1MATk9ORQBOT1JNQUwARkFTVABIWUJSSUQAU1RSRVNTX01BSk9SSVpBVElPTl9HUkFQSF9ESVNUAFNUUkVTU19NQUpPUklaQVRJT05fQVZHX0RJU1QAU1RSRVNTX01BSk9SSVpBVElPTl9QT1dFUl9ESVNUAFNQUklORwBUUklBTkdMRQBSTkcADSAgICAgICAgICAgICAgICBpdGVyID0gJWQsIHN0ZXAgPSAlZiBGbm9ybSA9ICVmIG56ID0gJWQgIEsgPSAlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAc3ByaW5nX2VsZWN0cmljYWxfZW1iZWRkaW5nX3Nsb3cAZG1lYW4gPSAlZiwgcmhvID0gJWYKAHNlbmQgcmFuZG9tIGNvb3JkaW5hdGVzCgBzY2FsaW5nIGZhY3RvciA9ICVmCgBRVUFEX1RSRUVfSFlCUklELCBzaXplIGxhcmdlciB0aGFuICVkLCBzd2l0Y2ggdG8gZmFzdCBxdWFkdHJlZQBjdHJsLT5vdmVybGFwPSVkCgAlZCAlZAoAdW5pZm9ybV9zdHJlc3MuYwBVbmlmb3JtU3RyZXNzU21vb3RoZXJfbmV3AFNwYXJzZU1hdHJpeF9pc19zeW1tZXRyaWMoQiwgRkFMU0UpAHVuaWZvcm1fc3RyZXNzAHxlZGdlbGFiZWx8AGxlbgBub3JtYWxpemUAb3ZlcmxhcABPdmVybGFwIHZhbHVlICIlcyIgdW5zdXBwb3J0ZWQgLSBpZ25vcmVkCgBVbnJlY29nbml6ZWQgb3ZlcmxhcCB2YWx1ZSAiJXMiIC0gdXNpbmcgZmFsc2UKAFZvcm9ub2kAb3ZlcmxhcDogJXMgdmFsdWUgJWQgc2NhbGluZyAlLjA0ZgoAb3ZlcmxhcF9zY2FsaW5nAHZvcm9ub2kAc2NhbGluZwB2cHNjAGlwc2VwAG9zY2FsZQBvbGQgc2NhbGluZwBzY2FsZXh5AHggYW5kIHkgc2NhbGluZwBvcnRobwBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAG9ydGhvX3l4AG9ydGhveHkAeHkgb3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob3l4AHl4IG9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhvAHBzZXVkby1vcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRob195eABwb3J0aG94eQB4eSBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG95eAB5eCBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwcmlzbQBBZGp1c3RpbmcgJXMgdXNpbmcgJXMKAFVuaGFuZGxlZCBhZGp1c3Qgb3B0aW9uICVzCgBOdW1iZXIgb2YgaXRlcmF0aW9ucyA9ICVkCgBOdW1iZXIgb2YgaW5jcmVhc2VzID0gJWQKAG92ZXJsYXAgWyVkXSA6ICVkCgB2b3JvX21hcmdpbgBzZXAAZXNlcABOb2RlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgAlZiwlZgBzY2FsZSA9ICglLjAzZiwlLjAzZikKAEVkZ2Ugc2VwYXJhdGlvbjogYWRkPSVkICglZiwlZikKAENhbGN1bGF0aW5nIGNpcmN1aXQgbW9kZWwAY29uanVnYXRlX2dyYWRpZW50OiB1bmV4cGVjdGVkIGxlbmd0aCAwIHZlY3RvcgoAQ2FsY3VsYXRpbmcgc3Vic2V0IG1vZGVsAGdyYXBoIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBpcyB1bmRlZmluZWQuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAENhbGN1bGF0aW5nIE1EUyBtb2RlbABDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRocwA6ICUuMmYgc2VjCgBTZXR0aW5nIGluaXRpYWwgcG9zaXRpb25zADogJS4yZiBzZWMAY2cAZGVsdGEgPD0gMHhGRkZGAGNvbnN0cmFpbnQuYwBta05Db25zdHJhaW50RwB2ZwBjb21wcmVzcyAlZyAKAHNjYWxlIGJ5ICVnLCVnIAoAYmVzdGNvc3QgPCBIVUdFX1ZBTABjb21wdXRlU2NhbGVYWQBHcmFwaHZpeiBidWlsdCB3aXRob3V0IGFueSB0cmlhbmd1bGF0aW9uIGxpYnJhcnkKAGRlbGF1bmF5X3RyaWFuZ3VsYXRpb246ICVzCgBkZWxhdW5heV90cmk6ICVzCgB0cnlpbmcgdG8gZGVsZXRlIGEgbm9uLWxpbmUKAAppbnRlcnNlY3Rpb24gYXQgJS4zZiAlLjNmCgBzZWcjJWQgOiAoJS4zZiwgJS4zZikgKCUuM2YsICUuM2YpCgByZW1vdmVfb3ZlcmxhcDogR3JhcGh2aXogbm90IGJ1aWx0IHdpdGggdHJpYW5ndWxhdGlvbiBsaWJyYXJ5CgBtYWtlQWRkUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgBtYWtlUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgB4IT1OVUxMAHNtYXJ0X2luaV94LmMASU1EU19naXZlbl9kaW0AaWxsLWNvbmRpdGlvbmVkAHJvb3QgPSAlcyBtYXggc3RlcHMgdG8gcm9vdCA9ICVkCgB0d29waTogdXNlIG9mIHdlaWdodD0wIGNyZWF0ZXMgZGlzY29ubmVjdGVkIGNvbXBvbmVudC4KAFJhbmsgc2VwYXJhdGlvbiA9IAAlLjAzbGYgAGFyZWEAaW5zZXQAJXMgY29vcmQgJS41ZyAlLjVnIGh0ICVmIHdpZHRoICVmCgAlLjAzZgByZWMgJWYgJWYgJWYgJWYKACVmIC0gJWYgJWYgJWYgJWYgPSAlZiAoJWYgJWYgJWYgJWYpCgB0cnlpbmcgdG8gYWRkIHRvIHJlY3QgeyVmICsvLSAlZiwgJWYgKy8tICVmfQoAdG90YWwgYWRkZWQgc28gZmFyID0gJWQKAGFkZGluZyAlZCBpdGVtcywgdG90YWwgYXJlYSA9ICVmLCB3ID0gJWYsIGFyZWEvdz0lZgoAY29tcG91bmRFZGdlczogY291bGQgbm90IGNvbnN0cnVjdCBvYnN0YWNsZXMgLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAY29tcG91bmRFZGdlczogbm9kZXMgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcGFjayB2YWx1ZSAlZCBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBzZXAgdmFsdWUgKCUuMDNmLCUuMDNmKSBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBjYyVzXyVkAGNjJXMrJWQAY19jbnQgPT0gMABjb21wLmMAZmluZENDb21wAGdyaWQoJWQsJWQpOiAlcwoAd2d0ID4gMABRdWFkVHJlZS5jAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9hY2N1bXVsYXRlAHF0Mi0+biA+IDAAcXQxLT5uID4gMCAmJiBxdDItPm4gPiAwAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9pbnRlcmFjdABkaXN0ID4gMAAhKHEtPmwpAFF1YWRUcmVlX2FkZF9pbnRlcm5hbABpaSA8IDE8PGRpbSAmJiBpaSA+PSAwAHEtPnF0c1tpaV0AcS0+biA9PSAxACEocS0+cXRzKQBxLT5sAHdpZHRoID4gMABRdWFkVHJlZV9uZXcAQS0+Zm9ybWF0ID09IEZPUk1BVF9DU1IAU3BhcnNlTWF0cml4LmMAU3BhcnNlTWF0cml4X3RyYW5zcG9zZQBBICYmIEIAU3BhcnNlTWF0cml4X2FkZABBLT5mb3JtYXQgPT0gQi0+Zm9ybWF0ICYmIEEtPmZvcm1hdCA9PSBGT1JNQVRfQ1NSAEEtPnR5cGUgPT0gQi0+dHlwZQBTcGFyc2VNYXRyaXhfaXNfc3ltbWV0cmljAEEtPmZvcm1hdCA9PSBGT1JNQVRfQ09PUkQAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9mb3JtYXQAbSA+IDAgJiYgbiA+IDAgJiYgbnogPj0gMABTcGFyc2VNYXRyaXhfZnJvbV9jb29yZGluYXRlX2FycmF5c19pbnRlcm5hbABBAGphW21hc2tbamFbal1dXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfc3VtX3JlcGVhdF9lbnRyaWVzAGlkIDwgbiooeW1heC15bWluKzEpAGphW21hc2tbaWRdXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfbXVsdGlwbHlfZGVuc2UyAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTABTcGFyc2VNYXRyaXhfbXVsdGlwbHlfdmVjdG9yAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTCB8fCBBLT50eXBlID09IE1BVFJJWF9UWVBFX0lOVEVHRVIAU3BhcnNlTWF0cml4X211bHRpcGx5X2RlbnNlMQBTcGFyc2VNYXRyaXhfbXVsdGlwbHkAamNbbWFza1tqYltrXV1dID09IGpiW2tdAFNwYXJzZU1hdHJpeF9tdWx0aXBseTMAamRbbWFza1tqY1trXV1dID09IGpjW2tdAFNwYXJzZU1hdHJpeF9jb29yZGluYXRlX2Zvcm1fYWRkX2VudHJpZXMAU3BhcnNlTWF0cml4X2RpdmlkZV9yb3dfYnlfZGVncmVlAG4gPiAxAGdlbmVyYWwuYwBpcmFuZABvbmVibG9jawBtaW5kaXN0AGFydGljdWxhdGlvbl9wb3MAcm9vdABQcmlvcml0eVF1ZXVlLmMAUHJpb3JpdHlRdWV1ZV9wdXNoAGdhaW4gPD0gcS0+bmdhaW4AU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkAcG9zdF9wcm9jZXNzLmMAaWRlYWxfZGlzdGFuY2VfbWF0cml4AGxlbiA+IDAAU3RyZXNzTWFqb3JpemF0aW9uU21vb3RoZXIyX25ldwBueiA+IDAAaWRlYWxfZGlzdF9zY2hlbWUgdmFsdWUgd3JvbmcAU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkgJiYgQS0+dHlwZSA9PSBNQVRSSVhfVFlQRV9SRUFMAFNwYXJzZVN0cmVzc01ham9yaXphdGlvblNtb290aGVyX25ldwBpZGlhZyA+PSAwAFN0cmVzc01ham9yaXphdGlvblNtb290aGVyX3Ntb290aAAoIWpjbikgJiYgKCF2YWwpAGdldF9lZGdlX2xhYmVsX21hdHJpeABUcmlhbmdsZVNtb290aGVyX25ldwBqZGlhZyA+PSAwAFNwcmluZ1Ntb290aGVyX25ldwAhZmxhZwBTcHJpbmdTbW9vdGhlcl9zbW9vdGgAbmVpZ2hiPSVkCgByb290ID0gJXMKAF9ibG9ja18lZABzLT5zeiA+IDAAYmxvY2t0cmVlLmMAcG9wAGFjdHVhbABub2RlbGlzdC5jAGluc2VydE5vZGVsaXN0AF9zcGFuXyVkAF9jbG9uZV8lZABpcABkZWdsaXN0LmMAcmVtb3ZlRGVnbGlzdABFcnJvcgBXYXJuaW5nACVzOiAAdXNlcm91dDogY291bGQgbm90IGFsbG9jYXRlIG1lbW9yeQoAX0FHX3N0cmRhdGEAX0FHX2RhdGFkaWN0AGFnZGljdG9mOiB1bmtub3duIGtpbmQgJWQKACVjJWxkAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUAYWdkZWxldGUgb24gd3JvbmcgZ3JhcGgAX0FHX3BlbmRpbmcAYWdyZWNvcmRfY2FsbGJhY2sgb2YgYSBiYWQgb2JqZWN0AHBlbmQgZGljdG9mIGEgYmFkIG9iamVjdABtb3ZlIHRvIGZyb250IGxvY2sgaW5jb25zaXN0ZW5jeQBcXABmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLW5vIGFjdGlvbiBmb3VuZAAlcwoAZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1lbmQgb2YgYnVmZmVyIG1pc3NlZABmYXRhbCBlcnJvciAtIHNjYW5uZXIgaW5wdXQgYnVmZmVyIG92ZXJmbG93AG91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiBhYWdfZ2V0X25leHRfYnVmZmVyKCkAaW5wdXQAc3ludGF4IGFtYmlndWl0eSAtIGJhZGx5IGRlbGltaXRlZCBudW1iZXIgJwAnIGluIGxpbmUgJWQgb2YgACBzcGxpdHMgaW50byB0d28gdG9rZW5zCgAlcwBsaW5lACVkICUxWyJdJW4Ab3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19jcmVhdGVfYnVmZmVyKCkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ2Vuc3VyZV9idWZmZXJfc3RhY2soKQA6IAAgaW4gbGluZSAlZAAgbmVhciAnACBzY2FubmluZyBhIHF1b3RlZCBzdHJpbmcgKG1pc3NpbmcgZW5kcXVvdGU/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzoiACBzY2FubmluZyBhIEhUTUwgc3RyaW5nIChtaXNzaW5nICc+Jz8gYmFkIG5lc3Rpbmc/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzo8ACBzY2FubmluZyBhIC8qLi4uKi8gY29tbWVudCAobWlzc2luZyAnKi8/IGxvbmdlciB0aGFuICVkPykAZmxleCBzY2FubmVyIHB1c2gtYmFjayBvdmVyZmxvdwAiIgBzdHJpY3QAbGluZWxlbmd0aAA7CgAgW2tleT0AXQAgWwAsCgA9AF8lbGRfU1VTUEVDVABkaQBzdHJpY3QgAHsKAF07CgAS7u4UCQPu/u7u7gHu7u4B7u4K/u4TGRXuEwHu7u7uCxHu7u7u7u7u7u4B7u4WCQEBHQ8X7u4aFxvu7hzu7u7uARn77u7uAe4Q7u4e7u7u7gACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXEQICAgICAgICAgICAgISEAITAgIWAgICAgICAgICAgICAgICAgICAgICAgICAgIUAhUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4CDwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNCwMEBQ8HAwwNBgwNDgwNGhUWAAEAAwcOBg8IDA0SEyoQEQkQLzARMhcTDRQSLhIUQRMyEyxAKkIZLEJGIgwNDiMPCRARChARyRARLUVG/AEG9g8H9iQCEBEvMDZNTigmOzwqNjE5PT8vOkDYRDA+JTdDNUsrOElMAAMJAAAAAQ4CCwwIIyQlNjs9AA0QEhsWHBInMiIXMx48Bgc1BQ8RFBgpABMpAAAAAAA3FSgdHgAhJjQfMD4ZLAAbACAaKgArOi4vADE4OS0AAgIBAAMDAQABAAEBAQACAQEAAgIDAQEAAAUAAQMBAwUDAQEBAQIAAQAEAgACAQEDAgEAAwIBAAEBAAEBAQMAGBkZGRobHBwdHR4eHx8gICEhIiIjJCQmJyUlKCgpKSkqKisrKywsLS0uLy8wMTEyMzQ2NTc3Nzg4ODk5Ojru7v/u7u7u7u4fIO4A7+7u7gzu7u4IDe7u7vju7u7u7u717v8DCAQhBQsSEycUFRYpMkEXGBkaLDM0QkdIG0ocHS4eTx8ga2V5AGF0dHJpYnV0ZSBtYWNyb3Mgbm90IGltcGxlbWVudGVkACVzOiVzAENvdWxkIG5vdCBvcGVuICIlcyIgZm9yIHdyaXRpbmcgOiAlcwoATm8gbGlieiBzdXBwb3J0LgoALiVkAG5vbmFtZS5ndgBndndyaXRlX25vX3ogcHJvYmxlbSAlZAoAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQoATm8gbGlieiBzdXBwb3J0CgBndnByaW50ZjogJXMKAC05OTk5OTk5OTk5OTk5OTkuOTkAZ3JhcGh2aXoAMi40MC4xADIwMTYxMjI1LjAzMDQAcmVuZGVyAGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwAlZCAlZCAlZCAlZABMYXlvdXQgd2FzIG5vdCBkb25lCgBmYWlsdXJlIG1hbGxvYydpbmcgZm9yIHJlc3VsdCBzdHJpbmcAZ2M6IE91dCBvZiBtZW1vcnkKAF9jY18Ab3JpZwBvcABjY29tcHMuYwBtYXBDbHVzdABjY2dyYXBoaW5mbwBjY2dub2RlaW5mbwAoJTRsZCkgJTdsZCBub2RlcyAlN2xkIGVkZ2VzCgAgICAgICAgJTdkIG5vZGVzICU3ZCBlZGdlcyAlN2xkIGNvbXBvbmVudHMgJXMKAGRnAEVycm9yOiBub2RlICIlcyIgYmVsb25ncyB0byB0d28gbm9uLW5lc3RlZCBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBzb3J0dgByb3cgbWFqb3IAY29sdW1uIG1ham9yAGFycmF5IHBhY2tpbmc6ICVzICVkIHJvd3MgJWQgY29sdW1ucwoAYmJbJXNdICUuNWcgJS41ZyAlLjVnICUuNWcKAHN0ZXAgc2l6ZSA9ICVkCgBwb3NbJWRdICVkICVkCgBjYyAoJWQgY2VsbHMpIGF0ICglZCwlZCkgKCVkLCVkKQoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpCgAlcyBuby4gY2VsbHMgJWQgVyAlZCBIICVkCgAgICVkICVkIGNlbGwKAGxpYnBhY2s6IGRpc2MgPSAlZiAoIDwgMCkKAFBhY2tpbmc6IGNvbXB1dGUgZ3JpZCBzaXplCgBhICVmIGIgJWYgYyAlZiBkICVmIHIgJWYKAHJvb3QgJWQgKCVmKSAlZCAoJWYpCgAgcjEgJWYgcjIgJWYKAHBpbmZvAHBhY2suYwBnZXRQYWNrSW5mbwAgIG1hcmdpbiAlZAoAcGFja21vZGUAcGFyc2VQYWNrTW9kZUluZm8AYXJyYXkAYXNwZWN0ACVmAHBhY2sgaW5mbzoKACAgbW9kZSAgICVzCgAgIGFzcGVjdCAlZgoAICBzaXplICAgJWQKACAgZmxhZ3MgICVkCgB1bmRlZmluZWQAcGFjawBBcnJvdyB0eXBlICIlcyIgdW5rbm93biAtIGlnbm9yaW5nCgBub3JtYWwAY3JvdwB0ZWUAZG90AGludgB2ZWUAcGVuAG1wdHkAY3VydmUAaWN1cnZlAGwAaGFsZgBpbnZlbXB0eQBfYmFja2dyb3VuZABfZHJhd18AQ291bGQgbm90IHBhcnNlICJfYmFja2dyb3VuZCIgYXR0cmlidXRlIGluIGdyYXBoICVzCgAgICIlcyIKAG5vIG1lbW9yeSBmcm9tIHptYWxsb2MoKQoAb2JqAGVtaXQuYwBwb3Bfb2JqX3N0YXRlAGNsdXN0ACVsZABwYWdlJWQsJWRfAFRvdGFsIHNpemUgPiAxIGluICIlcyIgY29sb3Igc3BlYyAASWxsZWdhbCBsZW5ndGggdmFsdWUgaW4gIiVzIiBjb2xvciBhdHRyaWJ1dGUgAGxucmNvbG9yc2NoZW1lAGVtaXRfZWRnZV9sYWJlbAAlcy0lcwBmb3J3YXJkAGJhY2sAIC0+IAAgLS0gAGluIGVkZ2UgJXMlcyVzCgBsYWJlbGFsaWduZWQAZWRnZWhyZWYAZWRnZVVSTABsYWJlbGhyZWYAbGFiZWxVUkwAdGFpbGhyZWYAdGFpbFVSTABoZWFkaHJlZgBoZWFkVVJMAGVkZ2V0YXJnZXQAbGFiZWx0YXJnZXQAdGFpbHRhcmdldABoZWFkdGFyZ2V0AGVkZ2V0b29sdGlwAGxhYmVsdG9vbHRpcAB0YWlsdG9vbHRpcABoZWFkdG9vbHRpcAABbmVzdGluZyBub3QgYWxsb3dlZCBpbiBzdHlsZTogJXMKAHVubWF0Y2hlZCAnKScgaW4gc3R5bGU6ICVzCgB0cnVuY2F0aW5nIHN0eWxlICclcycKAHVubWF0Y2hlZCAnKCcgaW4gc3R5bGU6ICVzCgBhbGwAaW4gY2x1c3RlciAlcwoATW9yZSB0aGFuIDIgY29sb3JzIHNwZWNpZmllZCBmb3IgYSBncmFkaWVudCAtIGlnbm9yaW5nIHJlbWFpbmluZwoAZ3JhZGllbnQgcGVuIGNvbG9ycyBub3QgeWV0IHN1cHBvcnRlZC4KAEltYWdlcyB1bnN1cHBvcnRlZCBpbiAiYmFja2dyb3VuZCIgYXR0cmlidXRlCgBsYXllcnMgbm90IHN1cHBvcnRlZCBpbiAlcyBvdXRwdXQKAExheW91dCB3YXMgbm90IGRvbmUuICBNaXNzaW5nIGxheW91dCBwbHVnaW5zPyAKAGd2UmVuZGVySm9icyAlczogJS4yZiBzZWNzLgoAbGF5b3V0IHdhcyBub3QgZG9uZQoAcmVuZGVyZXIgZm9yICVzIGlzIHVuYXZhaWxhYmxlCgBwYWdlZGlyPSVzIGlnbm9yZWQKAHZpZXdwb3J0ACVsZiwlbGYsJWxmLCclW14nXScAJWxmLCVsZiwlbGYsJVteLF0lcwAlbGYsJWxmLCVsZiwlbGYsJWxmAG91dHB1dG9yZGVyAG9kZXNmaXJzdABkZ2VzZmlyc3QAbGF5ZXJzAGxheWVyc2VsZWN0AFRoZSBsYXllcnNlbGVjdCBhdHRyaWJ1dGUgIiVzIiBkb2VzIG5vdCBtYXRjaCBhbnkgbGF5ZXIgc3BlY2lmZWQgYnkgdGhlIGxheWVycyBhdHRyaWJ1dGUgLSBpZ25vcmVkLgoAbGF5ZXJzZXAAOgkgAGxheWVybGlzdHNlcAAsAFRoZSBjaGFyYWN0ZXIgJyVjJyBhcHBlYXJzIGluIGJvdGggdGhlIGxheWVyc2VwIGFuZCBsYXllcmxpc3RzZXAgYXR0cmlidXRlcyAtIGxheWVybGlzdHNlcCBpZ25vcmVkLgoAcGFkAEJMAHBhZ2VkaXIAc29saWQAAHNldGxpbmV3aWR0aAAxAABzcGwtPnNpemUgPiAwAGluaXRfc3BsaW5lc19iYgBiei5zaXplID4gMABiZXppZXJfYmIAYnouc2l6ZSAlIDMgPT0gMQAlbGYAZm9udHBhdGgARE9URk9OVFBBVEgAR0RGT05UUEFUSABpbWFnZXBhdGgAcXVhbnR1bQByYW5rZGlyAExSAEJUAFJMAG5vZGVzZXAAcmFua3NlcABlcXVhbGx5AHNob3dib3hlcwBmb250bmFtZXMAc2l6ZQBwYWdlAGNlbnRlcgByb3RhdGUAb3JpZW50YXRpb24AbGFuZHNjYXBlAGNsdXN0ZXJyYW5rAGNvbmNlbnRyYXRlAGRwaQByZXNvbHV0aW9uAG9yZGVyaW5nAGZpbGxjb2xvcgBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBub2p1c3RpZnkAbGF5ZXIAZ3JvdXAAY29tbWVudAB2ZXJ0aWNlcwB6AHdlaWdodABsYWJlbGZsb2F0AGRpcgBhcnJvd2hlYWQAYXJyb3d0YWlsAGhlYWRsYWJlbAB0YWlsbGFiZWwAbGFiZWxmb250c2l6ZQBsYWJlbGZvbnRuYW1lAGxhYmVsZm9udGNvbG9yAGxhYmVsZGlzdGFuY2UAbGFiZWxhbmdsZQBtaW5sZW4AZGVjb3JhdGUAYXJyb3dzaXplAGNvbnN0cmFpbnQAdGFpbGNsaXAAaGVhZGNsaXAAbGFiZWxqdXN0AGxvY2FsAGdsb2JhbAAlbGYsJWxmJWMAJWxmJWMAcmF0aW8AYXV0bwBjb21wcmVzcwBleHBhbmQAZmlsbABnZABwcwBzdmcAY2hhcnNldAB1dGYtOABsYXRpbi0xAGxhdGluMQBsMQBJU08tODg1OS0xAElTT184ODU5LTEASVNPODg1OS0xAElTTy1JUi0xMDAAYmlnLTUAYmlnNQB1dGY4AFVuc3VwcG9ydGVkIGNoYXJzZXQgIiVzIiAtIGFzc3VtaW5nIHV0Zi04CgBVbnN1cHBvcnRlZCBjaGFyc2V0IHZhbHVlICVkCgBVVEYtOABCSUctNQBpbiBsYWJlbCBvZiBncmFwaCAlcwoAaW4gbGFiZWwgb2Ygbm9kZSAlcwoAaW4gbGFiZWwgb2YgZWRnZSAlcyAlcyAlcwoAa2luZCA9PSBMVF9OT05FAGxhYmVscy5jAG1ha2VfbGFiZWwAXEwAXEcAXEUAXEgAXFQAJiMxMzsAJiMxMDsAJnF1b3Q7ACYjMTYwOwAmYW1wOwAmZ3Q7ACYjMzk7ACYjNDU7ACZsdDsAJXMgJWQgbm9kZXMgJWQgZWRnZXMgbWF4aXRlcj0lZCBiYWxhbmNlPSVkCgBuZXR3b3JrIHNpbXBsZXg6IAAlZCAAJXMlZCBub2RlcyAlZCBlZGdlcyAlZCBpdGVyICUuMmYgc2VjCgB1cGRhdGU6IG1pc21hdGNoZWQgbGNhIGluIHRyZWV1cGRhdGVzCgBUcmVlX2VkZ2Uuc2l6ZSA9PSBOX25vZGVzIC0gMQBucy5jAGZlYXNpYmxlX3RyZWUAIVRSRUVfRURHRShlKQBtZXJnZV90cmVlcwAocjAtPmhlYXBfaW5kZXggPiAtMSkgfHwgKHIxLT5oZWFwX2luZGV4ID4gLTEpAFNUc2V0VW5pb24Aci0+aGVhcF9pbmRleCA+PSAwAGFkZF90cmVlX2VkZ2U6IG1pc3NpbmcgdHJlZSBlZGdlCgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBvdXRlZGdlIGxpc3QKAGFkZF90cmVlX2VkZ2U6IGVtcHR5IGluZWRnZSBsaXN0CgB0cm91YmxlIGluIGluaXRfcmFuawoACSVzICVkCgBzZWFyY2hzaXplAGdyYXBoIAAgAG5vZGUgAHN0b3AKACUuNWcAcG9zAHJlY3RzAHhscABscABoZWFkX2xwAHRhaWxfbHAAbHdpZHRoAGxoZWlnaHQAYmIAJS41ZywlLjVnLCUuNWcALCUuNWcAJS41ZywlLjVnAHNhbXBsZXBvaW50cwAlLjVnICUuNWcAcywlLjVnLCUuNWcgAGUsJS41ZywlLjVnIAAlLjVnLCUuNWcsJS41ZywlLjVnACUuMmYAJS41ZywlLjVnLCUuNWcsJS41ZyAAL3BhdGhib3ggewogICAgL1ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgAvcGF0aGJveCB7CiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL1ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIC95IGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveCBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCiB9IGRlZgovZGJnc3RhcnQgeyBnc2F2ZSAlLjVnICUuNWcgdHJhbnNsYXRlIH0gZGVmCi9hcnJvd2xlbmd0aCAxMCBkZWYKL2Fycm93d2lkdGggYXJyb3dsZW5ndGggMiBkaXYgZGVmCi9hcnJvd2hlYWQgewogICAgZ3NhdmUKICAgIHJvdGF0ZQogICAgY3VycmVudHBvaW50CiAgICBuZXdwYXRoCiAgICBtb3ZldG8KICAgIGFycm93bGVuZ3RoIGFycm93d2lkdGggMiBkaXYgcmxpbmV0bwogICAgMCBhcnJvd3dpZHRoIG5lZyBybGluZXRvCiAgICBjbG9zZXBhdGggZmlsbAogICAgZ3Jlc3RvcmUKfSBiaW5kIGRlZgovbWFrZWFycm93IHsKICAgIGN1cnJlbnRwb2ludCBleGNoIHBvcCBzdWIgZXhjaCBjdXJyZW50cG9pbnQgcG9wIHN1YiBhdGFuCiAgICBhcnJvd2hlYWQKfSBiaW5kIGRlZgovcG9pbnQgeyAgICBuZXdwYXRoICAgIDIgMCAzNjAgYXJjIGZpbGx9IGRlZi9tYWtldmVjIHsKICAgIC9ZIGV4Y2ggZGVmCiAgICAvWCBleGNoIGRlZgogICAgL3kgZXhjaCBkZWYKICAgIC94IGV4Y2ggZGVmCiAgICBuZXdwYXRoIHggeSBtb3ZldG8KICAgIFggWSBsaW5ldG8gc3Ryb2tlCiAgICBYIFkgbW92ZXRvCiAgICB4IHkgbWFrZWFycm93Cn0gZGVmCgBsb3N0ICVzICVzIGVkZ2UKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB0YWlsIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggaGVhZCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIHhsYWJlbCAlcwBmb3JjZWxhYmVscwAlZCBvdXQgb2YgJWQgbGFiZWxzIHBvc2l0aW9uZWQuCgAlZCBvdXQgb2YgJWQgZXh0ZXJpb3IgbGFiZWxzIHBvc2l0aW9uZWQuCgAlZCBvYmpzICVkIHhsYWJlbHMgZm9yY2U9JWQgYmI9KCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpCgBvYmplY3RzCgAgWyVkXSAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXAgIiVzIgoAeGxhYmVscwoAIFslZF0gJXAgc2V0ICVkICglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKSAlcwoAc2hhcGVmaWxlIG5vdCBzZXQgb3Igbm90IGZvdW5kIGZvciBlcHNmIG5vZGUgJXMKAGNvdWxkbid0IG9wZW4gZXBzZiBmaWxlICVzCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkAHJlYWQAQm91bmRpbmdCb3ggbm90IGZvdW5kIGluIGVwc2YgZmlsZSAlcwoAY2FuJ3QgZmluZCBsaWJyYXJ5IGZpbGUgJXMKAGNhbid0IG9wZW4gbGlicmFyeSBmaWxlICVzCgBFT0YAQkVHSU4ARU5EAFRSQUlMRVIAL3VzZXJfc2hhcGVfJWQgewoAJSVCZWdpbkRvY3VtZW50OgoAJSVFbmREb2N1bWVudAoAfSBiaW5kIGRlZgoAVVRGLTggaW5wdXQgdXNlcyBub24tTGF0aW4xIGNoYXJhY3RlcnMgd2hpY2ggY2Fubm90IGJlIGhhbmRsZWQgYnkgdGhpcyBQb3N0U2NyaXB0IGRyaXZlcgoAY2Fubm90IHJlLWFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXNpbml0OiBjYW5ub3QgYWxsb2NhdGUgcHMKAHJvdXRlc3BsaW5lczogJWQgZWRnZXMsICVkIGJveGVzICUuMmYgc2VjCgBpbiByb3V0ZXNwbGluZXMsIGNhbm5vdCBmaW5kIE5PUk1BTCBlZGdlCgBpbiByb3V0ZXNwbGluZXMsIGlsbGVnYWwgdmFsdWVzIG9mIHByZXYgJWQgYW5kIG5leHQgJWQsIGxpbmUgJWQKAGluIHJvdXRlc3BsaW5lcywgZWRnZSBpcyBhIGxvb3AgYXQgJXMKAGluIHJvdXRlc3BsaW5lcywgUHNob3J0ZXN0cGF0aCBmYWlsZWQKAGluIHJvdXRlc3BsaW5lcywgUHJvdXRlc3BsaW5lIGZhaWxlZAoAVW5hYmxlIHRvIHJlY2xhaW0gYm94IHNwYWNlIGluIHNwbGluZSByb3V0aW5nIGZvciBlZGdlICIlcyIgLT4gIiVzIi4gU29tZXRoaW5nIGlzIHByb2JhYmx5IHNlcmlvdXNseSB3cm9uZy4KAGluIGNoZWNrcGF0aCwgYm94IDAgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGluIGNoZWNrcGF0aCwgYm94ICVkIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveGVzICVkIGFuZCAlZCBkb24ndCB0b3VjaAoAaW4gY2hlY2twYXRoLCBzdGFydCBwb3J0IG5vdCBpbiBmaXJzdCBib3gKAGluIGNoZWNrcGF0aCwgZW5kIHBvcnQgbm90IGluIGxhc3QgYm94CgAlZCBib3hlczoKACVkICglLjVnLCAlLjVnKSwgKCUuNWcsICUuNWcpCgBjb25zdHJhaW5lZABub3QgY29uc3RyYWluZWQAc3RhcnQgcG9ydDogKCUuNWcsICUuNWcpLCB0YW5nZW50IGFuZ2xlOiAlLjVnLCAlcwoAZW5kIHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAHNpZGVzID09IDQAc2hhcGVzLmMAcm91bmRfY29ybmVycwBiYWQgbGFiZWwgZm9ybWF0ICVzCgBcTgBtYXJnaW4AJWxmLCVsZgByZWd1bGFyAGN1c3RvbQBzaGFwZWZpbGUAPG5pbD4ATm8gb3IgaW1wcm9wZXIgc2hhcGVmaWxlPSIlcyIgZm9yIG5vZGUgIiVzIgoATm8gb3IgaW1wcm9wZXIgaW1hZ2U9IiVzIiBmb3Igbm9kZSAiJXMiCgBsYWJlbGxvYwBub2RlICclcycsIGdyYXBoICclcycgc2l6ZSB0b28gc21hbGwgZm9yIGxhYmVsCgBlcHNmAHVzaW5nICVzIGZvciB1bmtub3duIHNoYXBlICVzCgBwb2x5Z29uAG92YWwAY2lyY2xlAHBvaW50AGVnZwB0cmlhbmdsZQBwbGFpbnRleHQAcGxhaW4AZGlhbW9uZAB0cmFwZXppdW0AcGFyYWxsZWxvZ3JhbQBob3VzZQBwZW50YWdvbgBoZXhhZ29uAHNlcHRhZ29uAG9jdGFnb24Abm90ZQB0YWIAZm9sZGVyAGJveDNkAGNvbXBvbmVudABjeWxpbmRlcgByZWN0AHJlY3RhbmdsZQBzcXVhcmUAZG91YmxlY2lyY2xlAGRvdWJsZW9jdGFnb24AdHJpcGxlb2N0YWdvbgBpbnZ0cmlhbmdsZQBpbnZ0cmFwZXppdW0AaW52aG91c2UAdW5kZXJsaW5lAE1kaWFtb25kAE1zcXVhcmUATWNpcmNsZQBwcm9tb3RlcgBjZHMAdGVybWluYXRvcgB1dHIAaW5zdWxhdG9yAHJpYm9zaXRlAHJuYXN0YWIAcHJvdGVhc2VzaXRlAHByb3RlaW5zdGFiAHByaW1lcnNpdGUAcmVzdHJpY3Rpb25zaXRlAGZpdmVwb3ZlcmhhbmcAdGhyZWVwb3ZlcmhhbmcAbm92ZXJoYW5nAGFzc2VtYmx5AHNpZ25hdHVyZQBycHJvbW90ZXIAbGFycm93AHJhcnJvdwBscHJvbW90ZXIAcmVjb3JkAE1yZWNvcmQAc3RhcgAjODA4MDgwACNmY2ZjZmMAIzMwMzAzMAAjZThlOGU4ACNlMGUwZTAAI2YwZjBmMAAjMTAxMDEwACNmOGY4ZjgAaW4gbm9kZSAlcwoAcm91bmRlZABkaWFnb25hbHMAcmFkaWFsAHN0cmlwZWQAd2VkZ2VkAF8Abm9kZSAlcywgcG9ydCAlcywgdW5yZWNvZ25pemVkIGNvbXBhc3MgcG9pbnQgJyVzJyAtIGlnbm9yZWQKAG5vZGUgJXMsIHBvcnQgJXMgdW5yZWNvZ25pemVkCgAlLjVnICUuNWcgdHJhbnNsYXRlIG5ld3BhdGggdXNlcl9zaGFwZV8lZAoAaW52aXMAAGZpbGxlZAAAcwBlAHcAc3BsaW5lcy5jAGJlZ2lucGF0aABQLT5lbmQudGhldGEgPCAyICogTV9QSQBlbmRwYXRoAG1ha2VTZWxmRWRnZQBnZXRzcGxpbmVwb2ludHM6IG5vIHNwbGluZSBwb2ludHMgYXZhaWxhYmxlIGZvciBlZGdlICglcywlcykKAHBvbHlsaW5lTWlkcG9pbnQAc3Bhbi0+Zm9udAB0ZXh0c3Bhbi5jAHRleHRzcGFuX3NpemUAZm9udC0+bmFtZQBmb250bmFtZTogIiVzIiByZXNvbHZlZCB0bzogJXMKAGZvbnRuYW1lOiB1bmFibGUgdG8gcmVzb2x2ZSAiJXMiCgBjb3VyAGFyaWFsAGhlbHZldGljYQBbaW50ZXJuYWwgdGltZXNdAFtpbnRlcm5hbCBjb3VyaWVyXQBbaW50ZXJuYWwgYXJpYWxdAEF2YW50R2FyZGUtQm9vawBVUlcgR290aGljIEwAYm9vawBzYW5zLVNlcmlmAEF2YW50R2FyZGUtQm9va09ibGlxdWUAb2JsaXF1ZQBpdGFsaWMAQXZhbnRHYXJkZS1EZW1pAGRlbWkAQXZhbnRHYXJkZS1EZW1pT2JsaXF1ZQBCb29rbWFuLURlbWkAVVJXIEJvb2ttYW4gTABzZXJpZgBCb29rbWFuLURlbWlJdGFsaWMAQm9va21hbi1MaWdodABsaWdodABCb29rbWFuLUxpZ2h0SXRhbGljAENvdXJpZXIAbW9ub3NwYWNlAENvdXJpZXItQm9sZABDb3VyaWVyLUJvbGRPYmxpcXVlAENvdXJpZXItT2JsaXF1ZQBIZWx2ZXRpY2EASGVsdmV0aWNhLUJvbGQASGVsdmV0aWNhLUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3cAY29uZGVuc2VkAEhlbHZldGljYS1OYXJyb3ctQm9sZABIZWx2ZXRpY2EtTmFycm93LUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3ctT2JsaXF1ZQBIZWx2ZXRpY2EtT2JsaXF1ZQBOZXdDZW50dXJ5U2NobGJrLUJvbGQAQ2VudHVyeSBTY2hvb2xib29rIEwATmV3Q2VudHVyeVNjaGxiay1Cb2xkSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstUm9tYW4Acm9tYW4AUGFsYXRpbm8tQm9sZABQYWxhdGlubyBMaW5vdHlwZQBQYWxhdGluby1Cb2xkSXRhbGljAFBhbGF0aW5vLUl0YWxpYwBQYWxhdGluby1Sb21hbgBTeW1ib2wAZmFudGFzeQBUaW1lcy1Cb2xkAFRpbWVzAFRpbWVzLUJvbGRJdGFsaWMAVGltZXMtSXRhbGljAFphcGZDaGFuY2VyeS1NZWRpdW1JdGFsaWMAVVJXIENoYW5jZXJ5IEwAbWVkaXVtAFphcGZEaW5nYmF0cwBEaW5nYmF0cwBpbnB1dHNjYWxlAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAY2x1c3RlciBjeWNsZSAlcyAtLSAlcyBub3Qgc3VwcG9ydGVkCgB0YWlsIGNsdXN0ZXIgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBjbHVzdGVyICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHRhaWwgbm9kZSAlcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBoZWFkIG5vZGUgJXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAX18AbGFiZWwAc2hhcGUAYm94AFR3byBjbHVzdGVycyBuYW1lZCAlcyAtIHRoZSBzZWNvbmQgd2lsbCBiZSBpZ25vcmVkCgBtYXBOAEFFbGlnAEFhY3V0ZQBBY2lyYwBBZ3JhdmUAQWxwaGEAQXJpbmcAQXRpbGRlAEF1bWwAQmV0YQBDY2VkaWwAQ2hpAERhZ2dlcgBEZWx0YQBFVEgARWFjdXRlAEVjaXJjAEVncmF2ZQBFcHNpbG9uAEV0YQBFdW1sAEdhbW1hAElhY3V0ZQBJY2lyYwBJZ3JhdmUASW90YQBJdW1sAEthcHBhAExhbWJkYQBNdQBOdGlsZGUATnUAT0VsaWcAT2FjdXRlAE9jaXJjAE9ncmF2ZQBPbWVnYQBPbWljcm9uAE9zbGFzaABPdGlsZGUAT3VtbABQaGkAUGkAUHJpbWUAUHNpAFJobwBTY2Fyb24AU2lnbWEAVEhPUk4AVGF1AFRoZXRhAFVhY3V0ZQBVY2lyYwBVZ3JhdmUAVXBzaWxvbgBVdW1sAFhpAFlhY3V0ZQBZdW1sAFpldGEAYWFjdXRlAGFjaXJjAGFjdXRlAGFlbGlnAGFncmF2ZQBhbGVmc3ltAGFscGhhAGFtcABhbmQAYW5nAGFyaW5nAGFzeW1wAGF0aWxkZQBhdW1sAGJkcXVvAGJldGEAYnJ2YmFyAGJ1bGwAY2FwAGNjZWRpbABjZWRpbABjZW50AGNoaQBjaXJjAGNsdWJzAGNvbmcAY29weQBjcmFycgBjdXAAY3VycmVuAGRBcnIAZGFnZ2VyAGRhcnIAZGVnAGRlbHRhAGRpYW1zAGRpdmlkZQBlYWN1dGUAZWNpcmMAZWdyYXZlAGVtcHR5AGVtc3AAZW5zcABlcHNpbG9uAGVxdWl2AGV0YQBldGgAZXVtbABldXJvAGV4aXN0AGZub2YAZm9yYWxsAGZyYWMxMgBmcmFjMTQAZnJhYzM0AGZyYXNsAGdhbW1hAGdlAGd0AGhBcnIAaGFycgBoZWFydHMAaGVsbGlwAGlhY3V0ZQBpY2lyYwBpZXhjbABpZ3JhdmUAaW1hZ2UAaW5maW4AaW50AGlvdGEAaXF1ZXN0AGlzaW4AaXVtbABrYXBwYQBsQXJyAGxhbWJkYQBsYW5nAGxhcXVvAGxhcnIAbGNlaWwAbGRxdW8AbGUAbGZsb29yAGxvd2FzdABsb3oAbHJtAGxzYXF1bwBsc3F1bwBsdABtYWNyAG1kYXNoAG1pY3JvAG1pZGRvdABtdQBuYWJsYQBuYnNwAG5kYXNoAG5lAG5pAG5vdABub3RpbgBuc3ViAG50aWxkZQBudQBvYWN1dGUAb2NpcmMAb2VsaWcAb2dyYXZlAG9saW5lAG9tZWdhAG9taWNyb24Ab3BsdXMAb3IAb3JkZgBvcmRtAG9zbGFzaABvdGlsZGUAb3RpbWVzAG91bWwAcGFyYQBwYXJ0AHBlcm1pbABwZXJwAHBoaQBwaQBwaXYAcGx1c21uAHBvdW5kAHByaW1lAHByb2QAcHJvcABwc2kAcXVvdAByQXJyAHJhZGljAHJhbmcAcmFxdW8AcmFycgByY2VpbAByZHF1bwByZWFsAHJlZwByZmxvb3IAcmhvAHJsbQByc2FxdW8AcnNxdW8Ac2JxdW8Ac2Nhcm9uAHNkb3QAc2VjdABzaHkAc2lnbWEAc2lnbWFmAHNpbQBzcGFkZXMAc3ViAHN1YmUAc3VtAHN1cABzdXAxAHN1cDIAc3VwMwBzdXBlAHN6bGlnAHRhdQB0aGVyZTQAdGhldGEAdGhldGFzeW0AdGhpbnNwAHRob3JuAHRpbGRlAHRpbWVzAHRyYWRlAHVBcnIAdWFjdXRlAHVhcnIAdWNpcmMAdWdyYXZlAHVtbAB1cHNpaAB1cHNpbG9uAHV1bWwAd2VpZXJwAHhpAHlhY3V0ZQB5ZW4AeXVtbAB6ZXRhAHp3agB6d25qAFVURjggY29kZXMgPiA0IGJ5dGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCAoZ3JhcGggJXMpIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBJbnZhbGlkICVkLWJ5dGUgVVRGOCBmb3VuZCBpbiBpbnB1dCBvZiBncmFwaCAlcyAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoAYnouc2l6ZQBvdmVybGFwX2JlemllcgB1cnZlZABvbXBvdW5kAGFsc2UAaW5lAG9uZQBvAHJ0aG8Ab2x5bGluZQBwbGluZQBydWUAZXMAVW5rbm93biAic3BsaW5lcyIgdmFsdWU6ICIlcyIgLSBpZ25vcmVkCgBzcGxpbmVzAG9kYgBPcnRob2dvbmFsIGVkZ2VzIGRvIG5vdCBjdXJyZW50bHkgaGFuZGxlIGVkZ2UgbGFiZWxzLiBUcnkgdXNpbmcgeGxhYmVscy4KAG9ydGhvICVzICVzCgBjaGFuaQBvcnRoby5jAGNoYW5TZWFyY2gAY3AAJSUhUFMtQWRvYmUtMi4wCiUlJSVCb3VuZGluZ0JveDogKGF0ZW5kKQovcG9pbnQgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICBuZXdwYXRoCiAgWCBZIDMgMCAzNjAgYXJjIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCi9ub2RlIHsKIC91IGV4Y2ggZGVmCiAvciBleGNoIGRlZgogL2QgZXhjaCBkZWYKIC9sIGV4Y2ggZGVmCiBuZXdwYXRoIGwgZCBtb3ZldG8KIHIgZCBsaW5ldG8gciB1IGxpbmV0byBsIHUgbGluZXRvCiBjbG9zZXBhdGggZmlsbAp9IGRlZgoKACVkICVkIHRyYW5zbGF0ZQoAMC44IDAuOCAwLjggc2V0cmdiY29sb3IKAHNob3dwYWdlCiUlJSVUcmFpbGVyCiUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKAG5ld3BhdGggJWQgJWQgbW92ZXRvCgAlZCAlZCBsaW5ldG8KACVkICVkIGxpbmV0byBzdHJva2UKAGNoYW5uZWwgJWQgKCVmLCVmKQoAIC0+CgAgICAgIAAoKCVmLCVmKSwoJWYsJWYpKSAlcyAlcwBCX1JJR0hUAEJfRE9XTgBCX0xFRlQAQl9VUABCX05PREUAc2VnAG5leHRfc2VnAGRlY2lkZV9wb2ludABpbmNvbXBhcmFibGUgc2VnbWVudHMgISEgLS0gQWJvcnRpbmcKAHMxLT5jb21tX2Nvb3JkPT1zMi0+Y29tbV9jb29yZABpc19wYXJhbGxlbABncmFwaCBHIHsKACBub2RlW3NoYXBlPXBvaW50XQoAICAlZCBbcG9zPSIlZCwlZCJdCgAgICVkIC0tICVkW2xlbj0iJWYiXQoAfQoAY29sb3IgJXMAJXMgaXMgbm90IGEga25vd24gY29sb3IuCgBlcnJvciBpbiBjb2x4bGF0ZSgpCgBzb2xpZABpbnZpc2libGUAYm9sZABzZXRsaW5ld2lkdGgAZmlsbGVkAHVuZmlsbGVkAHRhcGVyZWQAZ3ZyZW5kZXJfc2V0X3N0eWxlOiB1bnN1cHBvcnRlZCBzdHlsZSAlcyAtIGlnbm9yaW5nCgBndnJlbmRlci5jAGd2cmVuZGVyX3VzZXJzaGFwZQBuYW1lAG5hbWVbMF0AYm90aABsYXlvdXQATGF5b3V0IHR5cGU6ICIlcyIgbm90IHJlY29nbml6ZWQuIFVzZSBvbmUgb2Y6JXMKAGpvYgBndmxvYWRpbWFnZS5jAGd2bG9hZGltYWdlAHVzAHVzLT5uYW1lAHVzLT5uYW1lWzBdAE5vIGxvYWRpbWFnZSBwbHVnaW4gZm9yICIlcyIKAFEATGVmdABLUF9MZWZ0AFJpZ2h0AEtQX1JpZ2h0AFVwAEtQX1VwAERvd24AS1BfRG93bgBwbHVzAEtQX0FkZABtaW51cwBLUF9TdWJ0cmFjdABGAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AFVSTABub2RlAGRpZ3JhcGgAZ3JhcGgAc3ViZ3JhcGgAX0xUWF9saWJyYXJ5AHRleHRsYXlvdXQAb2JqcC0+bGJsAHhsYWJlbHMuYwB4bGFkanVzdAB4bGludGVyc2VjdGlvbnMAbHAgIT0gY2xwAGdldGludHJzeGkAb2JqcDEtPnN6LnggPT0gMCAmJiBvYmpwMS0+c3oueSA9PSAwAGxibGVuY2xvc2luZwB2cAB4bGhkeHVubG9hZABzaXplPT1mcmVlZAByZWN0LmJvdW5kYXJ5WzJdIDwgSU5UX01BWABvYmpwbHBta3MAcmVjdC5ib3VuZGFyeVszXSA8IElOVF9NQVgAb3V0IG9mIG1lbW9yeQoAIyUyeCUyeCUyeCUyeAAlbGYlbGYlbGYAL2FjY2VudDMvMQAvYWNjZW50My8yAC9hY2NlbnQzLzMAL2FjY2VudDQvMQAvYWNjZW50NC8yAC9hY2NlbnQ0LzMAL2FjY2VudDQvNAAvYWNjZW50NS8xAC9hY2NlbnQ1LzIAL2FjY2VudDUvMwAvYWNjZW50NS80AC9hY2NlbnQ1LzUAL2FjY2VudDYvMQAvYWNjZW50Ni8yAC9hY2NlbnQ2LzMAL2FjY2VudDYvNAAvYWNjZW50Ni81AC9hY2NlbnQ2LzYAL2FjY2VudDcvMQAvYWNjZW50Ny8yAC9hY2NlbnQ3LzMAL2FjY2VudDcvNAAvYWNjZW50Ny81AC9hY2NlbnQ3LzYAL2FjY2VudDcvNwAvYWNjZW50OC8xAC9hY2NlbnQ4LzIAL2FjY2VudDgvMwAvYWNjZW50OC80AC9hY2NlbnQ4LzUAL2FjY2VudDgvNgAvYWNjZW50OC83AC9hY2NlbnQ4LzgAL2JsdWVzMy8xAC9ibHVlczMvMgAvYmx1ZXMzLzMAL2JsdWVzNC8xAC9ibHVlczQvMgAvYmx1ZXM0LzMAL2JsdWVzNC80AC9ibHVlczUvMQAvYmx1ZXM1LzIAL2JsdWVzNS8zAC9ibHVlczUvNAAvYmx1ZXM1LzUAL2JsdWVzNi8xAC9ibHVlczYvMgAvYmx1ZXM2LzMAL2JsdWVzNi80AC9ibHVlczYvNQAvYmx1ZXM2LzYAL2JsdWVzNy8xAC9ibHVlczcvMgAvYmx1ZXM3LzMAL2JsdWVzNy80AC9ibHVlczcvNQAvYmx1ZXM3LzYAL2JsdWVzNy83AC9ibHVlczgvMQAvYmx1ZXM4LzIAL2JsdWVzOC8zAC9ibHVlczgvNAAvYmx1ZXM4LzUAL2JsdWVzOC82AC9ibHVlczgvNwAvYmx1ZXM4LzgAL2JsdWVzOS8xAC9ibHVlczkvMgAvYmx1ZXM5LzMAL2JsdWVzOS80AC9ibHVlczkvNQAvYmx1ZXM5LzYAL2JsdWVzOS83AC9ibHVlczkvOAAvYmx1ZXM5LzkAL2JyYmcxMC8xAC9icmJnMTAvMTAAL2JyYmcxMC8yAC9icmJnMTAvMwAvYnJiZzEwLzQAL2JyYmcxMC81AC9icmJnMTAvNgAvYnJiZzEwLzcAL2JyYmcxMC84AC9icmJnMTAvOQAvYnJiZzExLzEAL2JyYmcxMS8xMAAvYnJiZzExLzExAC9icmJnMTEvMgAvYnJiZzExLzMAL2JyYmcxMS80AC9icmJnMTEvNQAvYnJiZzExLzYAL2JyYmcxMS83AC9icmJnMTEvOAAvYnJiZzExLzkAL2JyYmczLzEAL2JyYmczLzIAL2JyYmczLzMAL2JyYmc0LzEAL2JyYmc0LzIAL2JyYmc0LzMAL2JyYmc0LzQAL2JyYmc1LzEAL2JyYmc1LzIAL2JyYmc1LzMAL2JyYmc1LzQAL2JyYmc1LzUAL2JyYmc2LzEAL2JyYmc2LzIAL2JyYmc2LzMAL2JyYmc2LzQAL2JyYmc2LzUAL2JyYmc2LzYAL2JyYmc3LzEAL2JyYmc3LzIAL2JyYmc3LzMAL2JyYmc3LzQAL2JyYmc3LzUAL2JyYmc3LzYAL2JyYmc3LzcAL2JyYmc4LzEAL2JyYmc4LzIAL2JyYmc4LzMAL2JyYmc4LzQAL2JyYmc4LzUAL2JyYmc4LzYAL2JyYmc4LzcAL2JyYmc4LzgAL2JyYmc5LzEAL2JyYmc5LzIAL2JyYmc5LzMAL2JyYmc5LzQAL2JyYmc5LzUAL2JyYmc5LzYAL2JyYmc5LzcAL2JyYmc5LzgAL2JyYmc5LzkAL2J1Z24zLzEAL2J1Z24zLzIAL2J1Z24zLzMAL2J1Z240LzEAL2J1Z240LzIAL2J1Z240LzMAL2J1Z240LzQAL2J1Z241LzEAL2J1Z241LzIAL2J1Z241LzMAL2J1Z241LzQAL2J1Z241LzUAL2J1Z242LzEAL2J1Z242LzIAL2J1Z242LzMAL2J1Z242LzQAL2J1Z242LzUAL2J1Z242LzYAL2J1Z243LzEAL2J1Z243LzIAL2J1Z243LzMAL2J1Z243LzQAL2J1Z243LzUAL2J1Z243LzYAL2J1Z243LzcAL2J1Z244LzEAL2J1Z244LzIAL2J1Z244LzMAL2J1Z244LzQAL2J1Z244LzUAL2J1Z244LzYAL2J1Z244LzcAL2J1Z244LzgAL2J1Z245LzEAL2J1Z245LzIAL2J1Z245LzMAL2J1Z245LzQAL2J1Z245LzUAL2J1Z245LzYAL2J1Z245LzcAL2J1Z245LzgAL2J1Z245LzkAL2J1cHUzLzEAL2J1cHUzLzIAL2J1cHUzLzMAL2J1cHU0LzEAL2J1cHU0LzIAL2J1cHU0LzMAL2J1cHU0LzQAL2J1cHU1LzEAL2J1cHU1LzIAL2J1cHU1LzMAL2J1cHU1LzQAL2J1cHU1LzUAL2J1cHU2LzEAL2J1cHU2LzIAL2J1cHU2LzMAL2J1cHU2LzQAL2J1cHU2LzUAL2J1cHU2LzYAL2J1cHU3LzEAL2J1cHU3LzIAL2J1cHU3LzMAL2J1cHU3LzQAL2J1cHU3LzUAL2J1cHU3LzYAL2J1cHU3LzcAL2J1cHU4LzEAL2J1cHU4LzIAL2J1cHU4LzMAL2J1cHU4LzQAL2J1cHU4LzUAL2J1cHU4LzYAL2J1cHU4LzcAL2J1cHU4LzgAL2J1cHU5LzEAL2J1cHU5LzIAL2J1cHU5LzMAL2J1cHU5LzQAL2J1cHU5LzUAL2J1cHU5LzYAL2J1cHU5LzcAL2J1cHU5LzgAL2J1cHU5LzkAL2RhcmsyMy8xAC9kYXJrMjMvMgAvZGFyazIzLzMAL2RhcmsyNC8xAC9kYXJrMjQvMgAvZGFyazI0LzMAL2RhcmsyNC80AC9kYXJrMjUvMQAvZGFyazI1LzIAL2RhcmsyNS8zAC9kYXJrMjUvNAAvZGFyazI1LzUAL2RhcmsyNi8xAC9kYXJrMjYvMgAvZGFyazI2LzMAL2RhcmsyNi80AC9kYXJrMjYvNQAvZGFyazI2LzYAL2RhcmsyNy8xAC9kYXJrMjcvMgAvZGFyazI3LzMAL2RhcmsyNy80AC9kYXJrMjcvNQAvZGFyazI3LzYAL2RhcmsyNy83AC9kYXJrMjgvMQAvZGFyazI4LzIAL2RhcmsyOC8zAC9kYXJrMjgvNAAvZGFyazI4LzUAL2RhcmsyOC82AC9kYXJrMjgvNwAvZGFyazI4LzgAL2duYnUzLzEAL2duYnUzLzIAL2duYnUzLzMAL2duYnU0LzEAL2duYnU0LzIAL2duYnU0LzMAL2duYnU0LzQAL2duYnU1LzEAL2duYnU1LzIAL2duYnU1LzMAL2duYnU1LzQAL2duYnU1LzUAL2duYnU2LzEAL2duYnU2LzIAL2duYnU2LzMAL2duYnU2LzQAL2duYnU2LzUAL2duYnU2LzYAL2duYnU3LzEAL2duYnU3LzIAL2duYnU3LzMAL2duYnU3LzQAL2duYnU3LzUAL2duYnU3LzYAL2duYnU3LzcAL2duYnU4LzEAL2duYnU4LzIAL2duYnU4LzMAL2duYnU4LzQAL2duYnU4LzUAL2duYnU4LzYAL2duYnU4LzcAL2duYnU4LzgAL2duYnU5LzEAL2duYnU5LzIAL2duYnU5LzMAL2duYnU5LzQAL2duYnU5LzUAL2duYnU5LzYAL2duYnU5LzcAL2duYnU5LzgAL2duYnU5LzkAL2dyZWVuczMvMQAvZ3JlZW5zMy8yAC9ncmVlbnMzLzMAL2dyZWVuczQvMQAvZ3JlZW5zNC8yAC9ncmVlbnM0LzMAL2dyZWVuczQvNAAvZ3JlZW5zNS8xAC9ncmVlbnM1LzIAL2dyZWVuczUvMwAvZ3JlZW5zNS80AC9ncmVlbnM1LzUAL2dyZWVuczYvMQAvZ3JlZW5zNi8yAC9ncmVlbnM2LzMAL2dyZWVuczYvNAAvZ3JlZW5zNi81AC9ncmVlbnM2LzYAL2dyZWVuczcvMQAvZ3JlZW5zNy8yAC9ncmVlbnM3LzMAL2dyZWVuczcvNAAvZ3JlZW5zNy81AC9ncmVlbnM3LzYAL2dyZWVuczcvNwAvZ3JlZW5zOC8xAC9ncmVlbnM4LzIAL2dyZWVuczgvMwAvZ3JlZW5zOC80AC9ncmVlbnM4LzUAL2dyZWVuczgvNgAvZ3JlZW5zOC83AC9ncmVlbnM4LzgAL2dyZWVuczkvMQAvZ3JlZW5zOS8yAC9ncmVlbnM5LzMAL2dyZWVuczkvNAAvZ3JlZW5zOS81AC9ncmVlbnM5LzYAL2dyZWVuczkvNwAvZ3JlZW5zOS84AC9ncmVlbnM5LzkAL2dyZXlzMy8xAC9ncmV5czMvMgAvZ3JleXMzLzMAL2dyZXlzNC8xAC9ncmV5czQvMgAvZ3JleXM0LzMAL2dyZXlzNC80AC9ncmV5czUvMQAvZ3JleXM1LzIAL2dyZXlzNS8zAC9ncmV5czUvNAAvZ3JleXM1LzUAL2dyZXlzNi8xAC9ncmV5czYvMgAvZ3JleXM2LzMAL2dyZXlzNi80AC9ncmV5czYvNQAvZ3JleXM2LzYAL2dyZXlzNy8xAC9ncmV5czcvMgAvZ3JleXM3LzMAL2dyZXlzNy80AC9ncmV5czcvNQAvZ3JleXM3LzYAL2dyZXlzNy83AC9ncmV5czgvMQAvZ3JleXM4LzIAL2dyZXlzOC8zAC9ncmV5czgvNAAvZ3JleXM4LzUAL2dyZXlzOC82AC9ncmV5czgvNwAvZ3JleXM4LzgAL2dyZXlzOS8xAC9ncmV5czkvMgAvZ3JleXM5LzMAL2dyZXlzOS80AC9ncmV5czkvNQAvZ3JleXM5LzYAL2dyZXlzOS83AC9ncmV5czkvOAAvZ3JleXM5LzkAL29yYW5nZXMzLzEAL29yYW5nZXMzLzIAL29yYW5nZXMzLzMAL29yYW5nZXM0LzEAL29yYW5nZXM0LzIAL29yYW5nZXM0LzMAL29yYW5nZXM0LzQAL29yYW5nZXM1LzEAL29yYW5nZXM1LzIAL29yYW5nZXM1LzMAL29yYW5nZXM1LzQAL29yYW5nZXM1LzUAL29yYW5nZXM2LzEAL29yYW5nZXM2LzIAL29yYW5nZXM2LzMAL29yYW5nZXM2LzQAL29yYW5nZXM2LzUAL29yYW5nZXM2LzYAL29yYW5nZXM3LzEAL29yYW5nZXM3LzIAL29yYW5nZXM3LzMAL29yYW5nZXM3LzQAL29yYW5nZXM3LzUAL29yYW5nZXM3LzYAL29yYW5nZXM3LzcAL29yYW5nZXM4LzEAL29yYW5nZXM4LzIAL29yYW5nZXM4LzMAL29yYW5nZXM4LzQAL29yYW5nZXM4LzUAL29yYW5nZXM4LzYAL29yYW5nZXM4LzcAL29yYW5nZXM4LzgAL29yYW5nZXM5LzEAL29yYW5nZXM5LzIAL29yYW5nZXM5LzMAL29yYW5nZXM5LzQAL29yYW5nZXM5LzUAL29yYW5nZXM5LzYAL29yYW5nZXM5LzcAL29yYW5nZXM5LzgAL29yYW5nZXM5LzkAL29ycmQzLzEAL29ycmQzLzIAL29ycmQzLzMAL29ycmQ0LzEAL29ycmQ0LzIAL29ycmQ0LzMAL29ycmQ0LzQAL29ycmQ1LzEAL29ycmQ1LzIAL29ycmQ1LzMAL29ycmQ1LzQAL29ycmQ1LzUAL29ycmQ2LzEAL29ycmQ2LzIAL29ycmQ2LzMAL29ycmQ2LzQAL29ycmQ2LzUAL29ycmQ2LzYAL29ycmQ3LzEAL29ycmQ3LzIAL29ycmQ3LzMAL29ycmQ3LzQAL29ycmQ3LzUAL29ycmQ3LzYAL29ycmQ3LzcAL29ycmQ4LzEAL29ycmQ4LzIAL29ycmQ4LzMAL29ycmQ4LzQAL29ycmQ4LzUAL29ycmQ4LzYAL29ycmQ4LzcAL29ycmQ4LzgAL29ycmQ5LzEAL29ycmQ5LzIAL29ycmQ5LzMAL29ycmQ5LzQAL29ycmQ5LzUAL29ycmQ5LzYAL29ycmQ5LzcAL29ycmQ5LzgAL29ycmQ5LzkAL3BhaXJlZDEwLzEAL3BhaXJlZDEwLzEwAC9wYWlyZWQxMC8yAC9wYWlyZWQxMC8zAC9wYWlyZWQxMC80AC9wYWlyZWQxMC81AC9wYWlyZWQxMC82AC9wYWlyZWQxMC83AC9wYWlyZWQxMC84AC9wYWlyZWQxMC85AC9wYWlyZWQxMS8xAC9wYWlyZWQxMS8xMAAvcGFpcmVkMTEvMTEAL3BhaXJlZDExLzIAL3BhaXJlZDExLzMAL3BhaXJlZDExLzQAL3BhaXJlZDExLzUAL3BhaXJlZDExLzYAL3BhaXJlZDExLzcAL3BhaXJlZDExLzgAL3BhaXJlZDExLzkAL3BhaXJlZDEyLzEAL3BhaXJlZDEyLzEwAC9wYWlyZWQxMi8xMQAvcGFpcmVkMTIvMTIAL3BhaXJlZDEyLzIAL3BhaXJlZDEyLzMAL3BhaXJlZDEyLzQAL3BhaXJlZDEyLzUAL3BhaXJlZDEyLzYAL3BhaXJlZDEyLzcAL3BhaXJlZDEyLzgAL3BhaXJlZDEyLzkAL3BhaXJlZDMvMQAvcGFpcmVkMy8yAC9wYWlyZWQzLzMAL3BhaXJlZDQvMQAvcGFpcmVkNC8yAC9wYWlyZWQ0LzMAL3BhaXJlZDQvNAAvcGFpcmVkNS8xAC9wYWlyZWQ1LzIAL3BhaXJlZDUvMwAvcGFpcmVkNS80AC9wYWlyZWQ1LzUAL3BhaXJlZDYvMQAvcGFpcmVkNi8yAC9wYWlyZWQ2LzMAL3BhaXJlZDYvNAAvcGFpcmVkNi81AC9wYWlyZWQ2LzYAL3BhaXJlZDcvMQAvcGFpcmVkNy8yAC9wYWlyZWQ3LzMAL3BhaXJlZDcvNAAvcGFpcmVkNy81AC9wYWlyZWQ3LzYAL3BhaXJlZDcvNwAvcGFpcmVkOC8xAC9wYWlyZWQ4LzIAL3BhaXJlZDgvMwAvcGFpcmVkOC80AC9wYWlyZWQ4LzUAL3BhaXJlZDgvNgAvcGFpcmVkOC83AC9wYWlyZWQ4LzgAL3BhaXJlZDkvMQAvcGFpcmVkOS8yAC9wYWlyZWQ5LzMAL3BhaXJlZDkvNAAvcGFpcmVkOS81AC9wYWlyZWQ5LzYAL3BhaXJlZDkvNwAvcGFpcmVkOS84AC9wYWlyZWQ5LzkAL3Bhc3RlbDEzLzEAL3Bhc3RlbDEzLzIAL3Bhc3RlbDEzLzMAL3Bhc3RlbDE0LzEAL3Bhc3RlbDE0LzIAL3Bhc3RlbDE0LzMAL3Bhc3RlbDE0LzQAL3Bhc3RlbDE1LzEAL3Bhc3RlbDE1LzIAL3Bhc3RlbDE1LzMAL3Bhc3RlbDE1LzQAL3Bhc3RlbDE1LzUAL3Bhc3RlbDE2LzEAL3Bhc3RlbDE2LzIAL3Bhc3RlbDE2LzMAL3Bhc3RlbDE2LzQAL3Bhc3RlbDE2LzUAL3Bhc3RlbDE2LzYAL3Bhc3RlbDE3LzEAL3Bhc3RlbDE3LzIAL3Bhc3RlbDE3LzMAL3Bhc3RlbDE3LzQAL3Bhc3RlbDE3LzUAL3Bhc3RlbDE3LzYAL3Bhc3RlbDE3LzcAL3Bhc3RlbDE4LzEAL3Bhc3RlbDE4LzIAL3Bhc3RlbDE4LzMAL3Bhc3RlbDE4LzQAL3Bhc3RlbDE4LzUAL3Bhc3RlbDE4LzYAL3Bhc3RlbDE4LzcAL3Bhc3RlbDE4LzgAL3Bhc3RlbDE5LzEAL3Bhc3RlbDE5LzIAL3Bhc3RlbDE5LzMAL3Bhc3RlbDE5LzQAL3Bhc3RlbDE5LzUAL3Bhc3RlbDE5LzYAL3Bhc3RlbDE5LzcAL3Bhc3RlbDE5LzgAL3Bhc3RlbDE5LzkAL3Bhc3RlbDIzLzEAL3Bhc3RlbDIzLzIAL3Bhc3RlbDIzLzMAL3Bhc3RlbDI0LzEAL3Bhc3RlbDI0LzIAL3Bhc3RlbDI0LzMAL3Bhc3RlbDI0LzQAL3Bhc3RlbDI1LzEAL3Bhc3RlbDI1LzIAL3Bhc3RlbDI1LzMAL3Bhc3RlbDI1LzQAL3Bhc3RlbDI1LzUAL3Bhc3RlbDI2LzEAL3Bhc3RlbDI2LzIAL3Bhc3RlbDI2LzMAL3Bhc3RlbDI2LzQAL3Bhc3RlbDI2LzUAL3Bhc3RlbDI2LzYAL3Bhc3RlbDI3LzEAL3Bhc3RlbDI3LzIAL3Bhc3RlbDI3LzMAL3Bhc3RlbDI3LzQAL3Bhc3RlbDI3LzUAL3Bhc3RlbDI3LzYAL3Bhc3RlbDI3LzcAL3Bhc3RlbDI4LzEAL3Bhc3RlbDI4LzIAL3Bhc3RlbDI4LzMAL3Bhc3RlbDI4LzQAL3Bhc3RlbDI4LzUAL3Bhc3RlbDI4LzYAL3Bhc3RlbDI4LzcAL3Bhc3RlbDI4LzgAL3BpeWcxMC8xAC9waXlnMTAvMTAAL3BpeWcxMC8yAC9waXlnMTAvMwAvcGl5ZzEwLzQAL3BpeWcxMC81AC9waXlnMTAvNgAvcGl5ZzEwLzcAL3BpeWcxMC84AC9waXlnMTAvOQAvcGl5ZzExLzEAL3BpeWcxMS8xMAAvcGl5ZzExLzExAC9waXlnMTEvMgAvcGl5ZzExLzMAL3BpeWcxMS80AC9waXlnMTEvNQAvcGl5ZzExLzYAL3BpeWcxMS83AC9waXlnMTEvOAAvcGl5ZzExLzkAL3BpeWczLzEAL3BpeWczLzIAL3BpeWczLzMAL3BpeWc0LzEAL3BpeWc0LzIAL3BpeWc0LzMAL3BpeWc0LzQAL3BpeWc1LzEAL3BpeWc1LzIAL3BpeWc1LzMAL3BpeWc1LzQAL3BpeWc1LzUAL3BpeWc2LzEAL3BpeWc2LzIAL3BpeWc2LzMAL3BpeWc2LzQAL3BpeWc2LzUAL3BpeWc2LzYAL3BpeWc3LzEAL3BpeWc3LzIAL3BpeWc3LzMAL3BpeWc3LzQAL3BpeWc3LzUAL3BpeWc3LzYAL3BpeWc3LzcAL3BpeWc4LzEAL3BpeWc4LzIAL3BpeWc4LzMAL3BpeWc4LzQAL3BpeWc4LzUAL3BpeWc4LzYAL3BpeWc4LzcAL3BpeWc4LzgAL3BpeWc5LzEAL3BpeWc5LzIAL3BpeWc5LzMAL3BpeWc5LzQAL3BpeWc5LzUAL3BpeWc5LzYAL3BpeWc5LzcAL3BpeWc5LzgAL3BpeWc5LzkAL3ByZ24xMC8xAC9wcmduMTAvMTAAL3ByZ24xMC8yAC9wcmduMTAvMwAvcHJnbjEwLzQAL3ByZ24xMC81AC9wcmduMTAvNgAvcHJnbjEwLzcAL3ByZ24xMC84AC9wcmduMTAvOQAvcHJnbjExLzEAL3ByZ24xMS8xMAAvcHJnbjExLzExAC9wcmduMTEvMgAvcHJnbjExLzMAL3ByZ24xMS80AC9wcmduMTEvNQAvcHJnbjExLzYAL3ByZ24xMS83AC9wcmduMTEvOAAvcHJnbjExLzkAL3ByZ24zLzEAL3ByZ24zLzIAL3ByZ24zLzMAL3ByZ240LzEAL3ByZ240LzIAL3ByZ240LzMAL3ByZ240LzQAL3ByZ241LzEAL3ByZ241LzIAL3ByZ241LzMAL3ByZ241LzQAL3ByZ241LzUAL3ByZ242LzEAL3ByZ242LzIAL3ByZ242LzMAL3ByZ242LzQAL3ByZ242LzUAL3ByZ242LzYAL3ByZ243LzEAL3ByZ243LzIAL3ByZ243LzMAL3ByZ243LzQAL3ByZ243LzUAL3ByZ243LzYAL3ByZ243LzcAL3ByZ244LzEAL3ByZ244LzIAL3ByZ244LzMAL3ByZ244LzQAL3ByZ244LzUAL3ByZ244LzYAL3ByZ244LzcAL3ByZ244LzgAL3ByZ245LzEAL3ByZ245LzIAL3ByZ245LzMAL3ByZ245LzQAL3ByZ245LzUAL3ByZ245LzYAL3ByZ245LzcAL3ByZ245LzgAL3ByZ245LzkAL3B1YnUzLzEAL3B1YnUzLzIAL3B1YnUzLzMAL3B1YnU0LzEAL3B1YnU0LzIAL3B1YnU0LzMAL3B1YnU0LzQAL3B1YnU1LzEAL3B1YnU1LzIAL3B1YnU1LzMAL3B1YnU1LzQAL3B1YnU1LzUAL3B1YnU2LzEAL3B1YnU2LzIAL3B1YnU2LzMAL3B1YnU2LzQAL3B1YnU2LzUAL3B1YnU2LzYAL3B1YnU3LzEAL3B1YnU3LzIAL3B1YnU3LzMAL3B1YnU3LzQAL3B1YnU3LzUAL3B1YnU3LzYAL3B1YnU3LzcAL3B1YnU4LzEAL3B1YnU4LzIAL3B1YnU4LzMAL3B1YnU4LzQAL3B1YnU4LzUAL3B1YnU4LzYAL3B1YnU4LzcAL3B1YnU4LzgAL3B1YnU5LzEAL3B1YnU5LzIAL3B1YnU5LzMAL3B1YnU5LzQAL3B1YnU5LzUAL3B1YnU5LzYAL3B1YnU5LzcAL3B1YnU5LzgAL3B1YnU5LzkAL3B1YnVnbjMvMQAvcHVidWduMy8yAC9wdWJ1Z24zLzMAL3B1YnVnbjQvMQAvcHVidWduNC8yAC9wdWJ1Z240LzMAL3B1YnVnbjQvNAAvcHVidWduNS8xAC9wdWJ1Z241LzIAL3B1YnVnbjUvMwAvcHVidWduNS80AC9wdWJ1Z241LzUAL3B1YnVnbjYvMQAvcHVidWduNi8yAC9wdWJ1Z242LzMAL3B1YnVnbjYvNAAvcHVidWduNi81AC9wdWJ1Z242LzYAL3B1YnVnbjcvMQAvcHVidWduNy8yAC9wdWJ1Z243LzMAL3B1YnVnbjcvNAAvcHVidWduNy81AC9wdWJ1Z243LzYAL3B1YnVnbjcvNwAvcHVidWduOC8xAC9wdWJ1Z244LzIAL3B1YnVnbjgvMwAvcHVidWduOC80AC9wdWJ1Z244LzUAL3B1YnVnbjgvNgAvcHVidWduOC83AC9wdWJ1Z244LzgAL3B1YnVnbjkvMQAvcHVidWduOS8yAC9wdWJ1Z245LzMAL3B1YnVnbjkvNAAvcHVidWduOS81AC9wdWJ1Z245LzYAL3B1YnVnbjkvNwAvcHVidWduOS84AC9wdWJ1Z245LzkAL3B1b3IxMC8xAC9wdW9yMTAvMTAAL3B1b3IxMC8yAC9wdW9yMTAvMwAvcHVvcjEwLzQAL3B1b3IxMC81AC9wdW9yMTAvNgAvcHVvcjEwLzcAL3B1b3IxMC84AC9wdW9yMTAvOQAvcHVvcjExLzEAL3B1b3IxMS8xMAAvcHVvcjExLzExAC9wdW9yMTEvMgAvcHVvcjExLzMAL3B1b3IxMS80AC9wdW9yMTEvNQAvcHVvcjExLzYAL3B1b3IxMS83AC9wdW9yMTEvOAAvcHVvcjExLzkAL3B1b3IzLzEAL3B1b3IzLzIAL3B1b3IzLzMAL3B1b3I0LzEAL3B1b3I0LzIAL3B1b3I0LzMAL3B1b3I0LzQAL3B1b3I1LzEAL3B1b3I1LzIAL3B1b3I1LzMAL3B1b3I1LzQAL3B1b3I1LzUAL3B1b3I2LzEAL3B1b3I2LzIAL3B1b3I2LzMAL3B1b3I2LzQAL3B1b3I2LzUAL3B1b3I2LzYAL3B1b3I3LzEAL3B1b3I3LzIAL3B1b3I3LzMAL3B1b3I3LzQAL3B1b3I3LzUAL3B1b3I3LzYAL3B1b3I3LzcAL3B1b3I4LzEAL3B1b3I4LzIAL3B1b3I4LzMAL3B1b3I4LzQAL3B1b3I4LzUAL3B1b3I4LzYAL3B1b3I4LzcAL3B1b3I4LzgAL3B1b3I5LzEAL3B1b3I5LzIAL3B1b3I5LzMAL3B1b3I5LzQAL3B1b3I5LzUAL3B1b3I5LzYAL3B1b3I5LzcAL3B1b3I5LzgAL3B1b3I5LzkAL3B1cmQzLzEAL3B1cmQzLzIAL3B1cmQzLzMAL3B1cmQ0LzEAL3B1cmQ0LzIAL3B1cmQ0LzMAL3B1cmQ0LzQAL3B1cmQ1LzEAL3B1cmQ1LzIAL3B1cmQ1LzMAL3B1cmQ1LzQAL3B1cmQ1LzUAL3B1cmQ2LzEAL3B1cmQ2LzIAL3B1cmQ2LzMAL3B1cmQ2LzQAL3B1cmQ2LzUAL3B1cmQ2LzYAL3B1cmQ3LzEAL3B1cmQ3LzIAL3B1cmQ3LzMAL3B1cmQ3LzQAL3B1cmQ3LzUAL3B1cmQ3LzYAL3B1cmQ3LzcAL3B1cmQ4LzEAL3B1cmQ4LzIAL3B1cmQ4LzMAL3B1cmQ4LzQAL3B1cmQ4LzUAL3B1cmQ4LzYAL3B1cmQ4LzcAL3B1cmQ4LzgAL3B1cmQ5LzEAL3B1cmQ5LzIAL3B1cmQ5LzMAL3B1cmQ5LzQAL3B1cmQ5LzUAL3B1cmQ5LzYAL3B1cmQ5LzcAL3B1cmQ5LzgAL3B1cmQ5LzkAL3B1cnBsZXMzLzEAL3B1cnBsZXMzLzIAL3B1cnBsZXMzLzMAL3B1cnBsZXM0LzEAL3B1cnBsZXM0LzIAL3B1cnBsZXM0LzMAL3B1cnBsZXM0LzQAL3B1cnBsZXM1LzEAL3B1cnBsZXM1LzIAL3B1cnBsZXM1LzMAL3B1cnBsZXM1LzQAL3B1cnBsZXM1LzUAL3B1cnBsZXM2LzEAL3B1cnBsZXM2LzIAL3B1cnBsZXM2LzMAL3B1cnBsZXM2LzQAL3B1cnBsZXM2LzUAL3B1cnBsZXM2LzYAL3B1cnBsZXM3LzEAL3B1cnBsZXM3LzIAL3B1cnBsZXM3LzMAL3B1cnBsZXM3LzQAL3B1cnBsZXM3LzUAL3B1cnBsZXM3LzYAL3B1cnBsZXM3LzcAL3B1cnBsZXM4LzEAL3B1cnBsZXM4LzIAL3B1cnBsZXM4LzMAL3B1cnBsZXM4LzQAL3B1cnBsZXM4LzUAL3B1cnBsZXM4LzYAL3B1cnBsZXM4LzcAL3B1cnBsZXM4LzgAL3B1cnBsZXM5LzEAL3B1cnBsZXM5LzIAL3B1cnBsZXM5LzMAL3B1cnBsZXM5LzQAL3B1cnBsZXM5LzUAL3B1cnBsZXM5LzYAL3B1cnBsZXM5LzcAL3B1cnBsZXM5LzgAL3B1cnBsZXM5LzkAL3JkYnUxMC8xAC9yZGJ1MTAvMTAAL3JkYnUxMC8yAC9yZGJ1MTAvMwAvcmRidTEwLzQAL3JkYnUxMC81AC9yZGJ1MTAvNgAvcmRidTEwLzcAL3JkYnUxMC84AC9yZGJ1MTAvOQAvcmRidTExLzEAL3JkYnUxMS8xMAAvcmRidTExLzExAC9yZGJ1MTEvMgAvcmRidTExLzMAL3JkYnUxMS80AC9yZGJ1MTEvNQAvcmRidTExLzYAL3JkYnUxMS83AC9yZGJ1MTEvOAAvcmRidTExLzkAL3JkYnUzLzEAL3JkYnUzLzIAL3JkYnUzLzMAL3JkYnU0LzEAL3JkYnU0LzIAL3JkYnU0LzMAL3JkYnU0LzQAL3JkYnU1LzEAL3JkYnU1LzIAL3JkYnU1LzMAL3JkYnU1LzQAL3JkYnU1LzUAL3JkYnU2LzEAL3JkYnU2LzIAL3JkYnU2LzMAL3JkYnU2LzQAL3JkYnU2LzUAL3JkYnU2LzYAL3JkYnU3LzEAL3JkYnU3LzIAL3JkYnU3LzMAL3JkYnU3LzQAL3JkYnU3LzUAL3JkYnU3LzYAL3JkYnU3LzcAL3JkYnU4LzEAL3JkYnU4LzIAL3JkYnU4LzMAL3JkYnU4LzQAL3JkYnU4LzUAL3JkYnU4LzYAL3JkYnU4LzcAL3JkYnU4LzgAL3JkYnU5LzEAL3JkYnU5LzIAL3JkYnU5LzMAL3JkYnU5LzQAL3JkYnU5LzUAL3JkYnU5LzYAL3JkYnU5LzcAL3JkYnU5LzgAL3JkYnU5LzkAL3JkZ3kxMC8xAC9yZGd5MTAvMTAAL3JkZ3kxMC8yAC9yZGd5MTAvMwAvcmRneTEwLzQAL3JkZ3kxMC81AC9yZGd5MTAvNgAvcmRneTEwLzcAL3JkZ3kxMC84AC9yZGd5MTAvOQAvcmRneTExLzEAL3JkZ3kxMS8xMAAvcmRneTExLzExAC9yZGd5MTEvMgAvcmRneTExLzMAL3JkZ3kxMS80AC9yZGd5MTEvNQAvcmRneTExLzYAL3JkZ3kxMS83AC9yZGd5MTEvOAAvcmRneTExLzkAL3JkZ3kzLzEAL3JkZ3kzLzIAL3JkZ3kzLzMAL3JkZ3k0LzEAL3JkZ3k0LzIAL3JkZ3k0LzMAL3JkZ3k0LzQAL3JkZ3k1LzEAL3JkZ3k1LzIAL3JkZ3k1LzMAL3JkZ3k1LzQAL3JkZ3k1LzUAL3JkZ3k2LzEAL3JkZ3k2LzIAL3JkZ3k2LzMAL3JkZ3k2LzQAL3JkZ3k2LzUAL3JkZ3k2LzYAL3JkZ3k3LzEAL3JkZ3k3LzIAL3JkZ3k3LzMAL3JkZ3k3LzQAL3JkZ3k3LzUAL3JkZ3k3LzYAL3JkZ3k3LzcAL3JkZ3k4LzEAL3JkZ3k4LzIAL3JkZ3k4LzMAL3JkZ3k4LzQAL3JkZ3k4LzUAL3JkZ3k4LzYAL3JkZ3k4LzcAL3JkZ3k4LzgAL3JkZ3k5LzEAL3JkZ3k5LzIAL3JkZ3k5LzMAL3JkZ3k5LzQAL3JkZ3k5LzUAL3JkZ3k5LzYAL3JkZ3k5LzcAL3JkZ3k5LzgAL3JkZ3k5LzkAL3JkcHUzLzEAL3JkcHUzLzIAL3JkcHUzLzMAL3JkcHU0LzEAL3JkcHU0LzIAL3JkcHU0LzMAL3JkcHU0LzQAL3JkcHU1LzEAL3JkcHU1LzIAL3JkcHU1LzMAL3JkcHU1LzQAL3JkcHU1LzUAL3JkcHU2LzEAL3JkcHU2LzIAL3JkcHU2LzMAL3JkcHU2LzQAL3JkcHU2LzUAL3JkcHU2LzYAL3JkcHU3LzEAL3JkcHU3LzIAL3JkcHU3LzMAL3JkcHU3LzQAL3JkcHU3LzUAL3JkcHU3LzYAL3JkcHU3LzcAL3JkcHU4LzEAL3JkcHU4LzIAL3JkcHU4LzMAL3JkcHU4LzQAL3JkcHU4LzUAL3JkcHU4LzYAL3JkcHU4LzcAL3JkcHU4LzgAL3JkcHU5LzEAL3JkcHU5LzIAL3JkcHU5LzMAL3JkcHU5LzQAL3JkcHU5LzUAL3JkcHU5LzYAL3JkcHU5LzcAL3JkcHU5LzgAL3JkcHU5LzkAL3JkeWxidTEwLzEAL3JkeWxidTEwLzEwAC9yZHlsYnUxMC8yAC9yZHlsYnUxMC8zAC9yZHlsYnUxMC80AC9yZHlsYnUxMC81AC9yZHlsYnUxMC82AC9yZHlsYnUxMC83AC9yZHlsYnUxMC84AC9yZHlsYnUxMC85AC9yZHlsYnUxMS8xAC9yZHlsYnUxMS8xMAAvcmR5bGJ1MTEvMTEAL3JkeWxidTExLzIAL3JkeWxidTExLzMAL3JkeWxidTExLzQAL3JkeWxidTExLzUAL3JkeWxidTExLzYAL3JkeWxidTExLzcAL3JkeWxidTExLzgAL3JkeWxidTExLzkAL3JkeWxidTMvMQAvcmR5bGJ1My8yAC9yZHlsYnUzLzMAL3JkeWxidTQvMQAvcmR5bGJ1NC8yAC9yZHlsYnU0LzMAL3JkeWxidTQvNAAvcmR5bGJ1NS8xAC9yZHlsYnU1LzIAL3JkeWxidTUvMwAvcmR5bGJ1NS80AC9yZHlsYnU1LzUAL3JkeWxidTYvMQAvcmR5bGJ1Ni8yAC9yZHlsYnU2LzMAL3JkeWxidTYvNAAvcmR5bGJ1Ni81AC9yZHlsYnU2LzYAL3JkeWxidTcvMQAvcmR5bGJ1Ny8yAC9yZHlsYnU3LzMAL3JkeWxidTcvNAAvcmR5bGJ1Ny81AC9yZHlsYnU3LzYAL3JkeWxidTcvNwAvcmR5bGJ1OC8xAC9yZHlsYnU4LzIAL3JkeWxidTgvMwAvcmR5bGJ1OC80AC9yZHlsYnU4LzUAL3JkeWxidTgvNgAvcmR5bGJ1OC83AC9yZHlsYnU4LzgAL3JkeWxidTkvMQAvcmR5bGJ1OS8yAC9yZHlsYnU5LzMAL3JkeWxidTkvNAAvcmR5bGJ1OS81AC9yZHlsYnU5LzYAL3JkeWxidTkvNwAvcmR5bGJ1OS84AC9yZHlsYnU5LzkAL3JkeWxnbjEwLzEAL3JkeWxnbjEwLzEwAC9yZHlsZ24xMC8yAC9yZHlsZ24xMC8zAC9yZHlsZ24xMC80AC9yZHlsZ24xMC81AC9yZHlsZ24xMC82AC9yZHlsZ24xMC83AC9yZHlsZ24xMC84AC9yZHlsZ24xMC85AC9yZHlsZ24xMS8xAC9yZHlsZ24xMS8xMAAvcmR5bGduMTEvMTEAL3JkeWxnbjExLzIAL3JkeWxnbjExLzMAL3JkeWxnbjExLzQAL3JkeWxnbjExLzUAL3JkeWxnbjExLzYAL3JkeWxnbjExLzcAL3JkeWxnbjExLzgAL3JkeWxnbjExLzkAL3JkeWxnbjMvMQAvcmR5bGduMy8yAC9yZHlsZ24zLzMAL3JkeWxnbjQvMQAvcmR5bGduNC8yAC9yZHlsZ240LzMAL3JkeWxnbjQvNAAvcmR5bGduNS8xAC9yZHlsZ241LzIAL3JkeWxnbjUvMwAvcmR5bGduNS80AC9yZHlsZ241LzUAL3JkeWxnbjYvMQAvcmR5bGduNi8yAC9yZHlsZ242LzMAL3JkeWxnbjYvNAAvcmR5bGduNi81AC9yZHlsZ242LzYAL3JkeWxnbjcvMQAvcmR5bGduNy8yAC9yZHlsZ243LzMAL3JkeWxnbjcvNAAvcmR5bGduNy81AC9yZHlsZ243LzYAL3JkeWxnbjcvNwAvcmR5bGduOC8xAC9yZHlsZ244LzIAL3JkeWxnbjgvMwAvcmR5bGduOC80AC9yZHlsZ244LzUAL3JkeWxnbjgvNgAvcmR5bGduOC83AC9yZHlsZ244LzgAL3JkeWxnbjkvMQAvcmR5bGduOS8yAC9yZHlsZ245LzMAL3JkeWxnbjkvNAAvcmR5bGduOS81AC9yZHlsZ245LzYAL3JkeWxnbjkvNwAvcmR5bGduOS84AC9yZHlsZ245LzkAL3JlZHMzLzEAL3JlZHMzLzIAL3JlZHMzLzMAL3JlZHM0LzEAL3JlZHM0LzIAL3JlZHM0LzMAL3JlZHM0LzQAL3JlZHM1LzEAL3JlZHM1LzIAL3JlZHM1LzMAL3JlZHM1LzQAL3JlZHM1LzUAL3JlZHM2LzEAL3JlZHM2LzIAL3JlZHM2LzMAL3JlZHM2LzQAL3JlZHM2LzUAL3JlZHM2LzYAL3JlZHM3LzEAL3JlZHM3LzIAL3JlZHM3LzMAL3JlZHM3LzQAL3JlZHM3LzUAL3JlZHM3LzYAL3JlZHM3LzcAL3JlZHM4LzEAL3JlZHM4LzIAL3JlZHM4LzMAL3JlZHM4LzQAL3JlZHM4LzUAL3JlZHM4LzYAL3JlZHM4LzcAL3JlZHM4LzgAL3JlZHM5LzEAL3JlZHM5LzIAL3JlZHM5LzMAL3JlZHM5LzQAL3JlZHM5LzUAL3JlZHM5LzYAL3JlZHM5LzcAL3JlZHM5LzgAL3JlZHM5LzkAL3NldDEzLzEAL3NldDEzLzIAL3NldDEzLzMAL3NldDE0LzEAL3NldDE0LzIAL3NldDE0LzMAL3NldDE0LzQAL3NldDE1LzEAL3NldDE1LzIAL3NldDE1LzMAL3NldDE1LzQAL3NldDE1LzUAL3NldDE2LzEAL3NldDE2LzIAL3NldDE2LzMAL3NldDE2LzQAL3NldDE2LzUAL3NldDE2LzYAL3NldDE3LzEAL3NldDE3LzIAL3NldDE3LzMAL3NldDE3LzQAL3NldDE3LzUAL3NldDE3LzYAL3NldDE3LzcAL3NldDE4LzEAL3NldDE4LzIAL3NldDE4LzMAL3NldDE4LzQAL3NldDE4LzUAL3NldDE4LzYAL3NldDE4LzcAL3NldDE4LzgAL3NldDE5LzEAL3NldDE5LzIAL3NldDE5LzMAL3NldDE5LzQAL3NldDE5LzUAL3NldDE5LzYAL3NldDE5LzcAL3NldDE5LzgAL3NldDE5LzkAL3NldDIzLzEAL3NldDIzLzIAL3NldDIzLzMAL3NldDI0LzEAL3NldDI0LzIAL3NldDI0LzMAL3NldDI0LzQAL3NldDI1LzEAL3NldDI1LzIAL3NldDI1LzMAL3NldDI1LzQAL3NldDI1LzUAL3NldDI2LzEAL3NldDI2LzIAL3NldDI2LzMAL3NldDI2LzQAL3NldDI2LzUAL3NldDI2LzYAL3NldDI3LzEAL3NldDI3LzIAL3NldDI3LzMAL3NldDI3LzQAL3NldDI3LzUAL3NldDI3LzYAL3NldDI3LzcAL3NldDI4LzEAL3NldDI4LzIAL3NldDI4LzMAL3NldDI4LzQAL3NldDI4LzUAL3NldDI4LzYAL3NldDI4LzcAL3NldDI4LzgAL3NldDMxMC8xAC9zZXQzMTAvMTAAL3NldDMxMC8yAC9zZXQzMTAvMwAvc2V0MzEwLzQAL3NldDMxMC81AC9zZXQzMTAvNgAvc2V0MzEwLzcAL3NldDMxMC84AC9zZXQzMTAvOQAvc2V0MzExLzEAL3NldDMxMS8xMAAvc2V0MzExLzExAC9zZXQzMTEvMgAvc2V0MzExLzMAL3NldDMxMS80AC9zZXQzMTEvNQAvc2V0MzExLzYAL3NldDMxMS83AC9zZXQzMTEvOAAvc2V0MzExLzkAL3NldDMxMi8xAC9zZXQzMTIvMTAAL3NldDMxMi8xMQAvc2V0MzEyLzEyAC9zZXQzMTIvMgAvc2V0MzEyLzMAL3NldDMxMi80AC9zZXQzMTIvNQAvc2V0MzEyLzYAL3NldDMxMi83AC9zZXQzMTIvOAAvc2V0MzEyLzkAL3NldDMzLzEAL3NldDMzLzIAL3NldDMzLzMAL3NldDM0LzEAL3NldDM0LzIAL3NldDM0LzMAL3NldDM0LzQAL3NldDM1LzEAL3NldDM1LzIAL3NldDM1LzMAL3NldDM1LzQAL3NldDM1LzUAL3NldDM2LzEAL3NldDM2LzIAL3NldDM2LzMAL3NldDM2LzQAL3NldDM2LzUAL3NldDM2LzYAL3NldDM3LzEAL3NldDM3LzIAL3NldDM3LzMAL3NldDM3LzQAL3NldDM3LzUAL3NldDM3LzYAL3NldDM3LzcAL3NldDM4LzEAL3NldDM4LzIAL3NldDM4LzMAL3NldDM4LzQAL3NldDM4LzUAL3NldDM4LzYAL3NldDM4LzcAL3NldDM4LzgAL3NldDM5LzEAL3NldDM5LzIAL3NldDM5LzMAL3NldDM5LzQAL3NldDM5LzUAL3NldDM5LzYAL3NldDM5LzcAL3NldDM5LzgAL3NldDM5LzkAL3NwZWN0cmFsMTAvMQAvc3BlY3RyYWwxMC8xMAAvc3BlY3RyYWwxMC8yAC9zcGVjdHJhbDEwLzMAL3NwZWN0cmFsMTAvNAAvc3BlY3RyYWwxMC81AC9zcGVjdHJhbDEwLzYAL3NwZWN0cmFsMTAvNwAvc3BlY3RyYWwxMC84AC9zcGVjdHJhbDEwLzkAL3NwZWN0cmFsMTEvMQAvc3BlY3RyYWwxMS8xMAAvc3BlY3RyYWwxMS8xMQAvc3BlY3RyYWwxMS8yAC9zcGVjdHJhbDExLzMAL3NwZWN0cmFsMTEvNAAvc3BlY3RyYWwxMS81AC9zcGVjdHJhbDExLzYAL3NwZWN0cmFsMTEvNwAvc3BlY3RyYWwxMS84AC9zcGVjdHJhbDExLzkAL3NwZWN0cmFsMy8xAC9zcGVjdHJhbDMvMgAvc3BlY3RyYWwzLzMAL3NwZWN0cmFsNC8xAC9zcGVjdHJhbDQvMgAvc3BlY3RyYWw0LzMAL3NwZWN0cmFsNC80AC9zcGVjdHJhbDUvMQAvc3BlY3RyYWw1LzIAL3NwZWN0cmFsNS8zAC9zcGVjdHJhbDUvNAAvc3BlY3RyYWw1LzUAL3NwZWN0cmFsNi8xAC9zcGVjdHJhbDYvMgAvc3BlY3RyYWw2LzMAL3NwZWN0cmFsNi80AC9zcGVjdHJhbDYvNQAvc3BlY3RyYWw2LzYAL3NwZWN0cmFsNy8xAC9zcGVjdHJhbDcvMgAvc3BlY3RyYWw3LzMAL3NwZWN0cmFsNy80AC9zcGVjdHJhbDcvNQAvc3BlY3RyYWw3LzYAL3NwZWN0cmFsNy83AC9zcGVjdHJhbDgvMQAvc3BlY3RyYWw4LzIAL3NwZWN0cmFsOC8zAC9zcGVjdHJhbDgvNAAvc3BlY3RyYWw4LzUAL3NwZWN0cmFsOC82AC9zcGVjdHJhbDgvNwAvc3BlY3RyYWw4LzgAL3NwZWN0cmFsOS8xAC9zcGVjdHJhbDkvMgAvc3BlY3RyYWw5LzMAL3NwZWN0cmFsOS80AC9zcGVjdHJhbDkvNQAvc3BlY3RyYWw5LzYAL3NwZWN0cmFsOS83AC9zcGVjdHJhbDkvOAAvc3BlY3RyYWw5LzkAL3N2Zy9hbGljZWJsdWUAL3N2Zy9hbnRpcXVld2hpdGUAL3N2Zy9hcXVhAC9zdmcvYXF1YW1hcmluZQAvc3ZnL2F6dXJlAC9zdmcvYmVpZ2UAL3N2Zy9iaXNxdWUAL3N2Zy9ibGFjawAvc3ZnL2JsYW5jaGVkYWxtb25kAC9zdmcvYmx1ZQAvc3ZnL2JsdWV2aW9sZXQAL3N2Zy9icm93bgAvc3ZnL2J1cmx5d29vZAAvc3ZnL2NhZGV0Ymx1ZQAvc3ZnL2NoYXJ0cmV1c2UAL3N2Zy9jaG9jb2xhdGUAL3N2Zy9jb3JhbAAvc3ZnL2Nvcm5mbG93ZXJibHVlAC9zdmcvY29ybnNpbGsAL3N2Zy9jcmltc29uAC9zdmcvY3lhbgAvc3ZnL2RhcmtibHVlAC9zdmcvZGFya2N5YW4AL3N2Zy9kYXJrZ29sZGVucm9kAC9zdmcvZGFya2dyYXkAL3N2Zy9kYXJrZ3JlZW4AL3N2Zy9kYXJrZ3JleQAvc3ZnL2RhcmtraGFraQAvc3ZnL2RhcmttYWdlbnRhAC9zdmcvZGFya29saXZlZ3JlZW4AL3N2Zy9kYXJrb3JhbmdlAC9zdmcvZGFya29yY2hpZAAvc3ZnL2RhcmtyZWQAL3N2Zy9kYXJrc2FsbW9uAC9zdmcvZGFya3NlYWdyZWVuAC9zdmcvZGFya3NsYXRlYmx1ZQAvc3ZnL2RhcmtzbGF0ZWdyYXkAL3N2Zy9kYXJrc2xhdGVncmV5AC9zdmcvZGFya3R1cnF1b2lzZQAvc3ZnL2Rhcmt2aW9sZXQAL3N2Zy9kZWVwcGluawAvc3ZnL2RlZXBza3libHVlAC9zdmcvZGltZ3JheQAvc3ZnL2RpbWdyZXkAL3N2Zy9kb2RnZXJibHVlAC9zdmcvZmlyZWJyaWNrAC9zdmcvZmxvcmFsd2hpdGUAL3N2Zy9mb3Jlc3RncmVlbgAvc3ZnL2Z1Y2hzaWEAL3N2Zy9nYWluc2Jvcm8AL3N2Zy9naG9zdHdoaXRlAC9zdmcvZ29sZAAvc3ZnL2dvbGRlbnJvZAAvc3ZnL2dyYXkAL3N2Zy9ncmVlbgAvc3ZnL2dyZWVueWVsbG93AC9zdmcvZ3JleQAvc3ZnL2hvbmV5ZGV3AC9zdmcvaG90cGluawAvc3ZnL2luZGlhbnJlZAAvc3ZnL2luZGlnbwAvc3ZnL2l2b3J5AC9zdmcva2hha2kAL3N2Zy9sYXZlbmRlcgAvc3ZnL2xhdmVuZGVyYmx1c2gAL3N2Zy9sYXduZ3JlZW4AL3N2Zy9sZW1vbmNoaWZmb24AL3N2Zy9saWdodGJsdWUAL3N2Zy9saWdodGNvcmFsAC9zdmcvbGlnaHRjeWFuAC9zdmcvbGlnaHRnb2xkZW5yb2R5ZWxsb3cAL3N2Zy9saWdodGdyYXkAL3N2Zy9saWdodGdyZWVuAC9zdmcvbGlnaHRncmV5AC9zdmcvbGlnaHRwaW5rAC9zdmcvbGlnaHRzYWxtb24AL3N2Zy9saWdodHNlYWdyZWVuAC9zdmcvbGlnaHRza3libHVlAC9zdmcvbGlnaHRzbGF0ZWdyYXkAL3N2Zy9saWdodHNsYXRlZ3JleQAvc3ZnL2xpZ2h0c3RlZWxibHVlAC9zdmcvbGlnaHR5ZWxsb3cAL3N2Zy9saW1lAC9zdmcvbGltZWdyZWVuAC9zdmcvbGluZW4AL3N2Zy9tYWdlbnRhAC9zdmcvbWFyb29uAC9zdmcvbWVkaXVtYXF1YW1hcmluZQAvc3ZnL21lZGl1bWJsdWUAL3N2Zy9tZWRpdW1vcmNoaWQAL3N2Zy9tZWRpdW1wdXJwbGUAL3N2Zy9tZWRpdW1zZWFncmVlbgAvc3ZnL21lZGl1bXNsYXRlYmx1ZQAvc3ZnL21lZGl1bXNwcmluZ2dyZWVuAC9zdmcvbWVkaXVtdHVycXVvaXNlAC9zdmcvbWVkaXVtdmlvbGV0cmVkAC9zdmcvbWlkbmlnaHRibHVlAC9zdmcvbWludGNyZWFtAC9zdmcvbWlzdHlyb3NlAC9zdmcvbW9jY2FzaW4AL3N2Zy9uYXZham93aGl0ZQAvc3ZnL25hdnkAL3N2Zy9vbGRsYWNlAC9zdmcvb2xpdmUAL3N2Zy9vbGl2ZWRyYWIAL3N2Zy9vcmFuZ2UAL3N2Zy9vcmFuZ2VyZWQAL3N2Zy9vcmNoaWQAL3N2Zy9wYWxlZ29sZGVucm9kAC9zdmcvcGFsZWdyZWVuAC9zdmcvcGFsZXR1cnF1b2lzZQAvc3ZnL3BhbGV2aW9sZXRyZWQAL3N2Zy9wYXBheWF3aGlwAC9zdmcvcGVhY2hwdWZmAC9zdmcvcGVydQAvc3ZnL3BpbmsAL3N2Zy9wbHVtAC9zdmcvcG93ZGVyYmx1ZQAvc3ZnL3B1cnBsZQAvc3ZnL3JlZAAvc3ZnL3Jvc3licm93bgAvc3ZnL3JveWFsYmx1ZQAvc3ZnL3NhZGRsZWJyb3duAC9zdmcvc2FsbW9uAC9zdmcvc2FuZHlicm93bgAvc3ZnL3NlYWdyZWVuAC9zdmcvc2Vhc2hlbGwAL3N2Zy9zaWVubmEAL3N2Zy9zaWx2ZXIAL3N2Zy9za3libHVlAC9zdmcvc2xhdGVibHVlAC9zdmcvc2xhdGVncmF5AC9zdmcvc2xhdGVncmV5AC9zdmcvc25vdwAvc3ZnL3NwcmluZ2dyZWVuAC9zdmcvc3RlZWxibHVlAC9zdmcvdGFuAC9zdmcvdGVhbAAvc3ZnL3RoaXN0bGUAL3N2Zy90b21hdG8AL3N2Zy90dXJxdW9pc2UAL3N2Zy92aW9sZXQAL3N2Zy93aGVhdAAvc3ZnL3doaXRlAC9zdmcvd2hpdGVzbW9rZQAvc3ZnL3llbGxvdwAvc3ZnL3llbGxvd2dyZWVuAC95bGduMy8xAC95bGduMy8yAC95bGduMy8zAC95bGduNC8xAC95bGduNC8yAC95bGduNC8zAC95bGduNC80AC95bGduNS8xAC95bGduNS8yAC95bGduNS8zAC95bGduNS80AC95bGduNS81AC95bGduNi8xAC95bGduNi8yAC95bGduNi8zAC95bGduNi80AC95bGduNi81AC95bGduNi82AC95bGduNy8xAC95bGduNy8yAC95bGduNy8zAC95bGduNy80AC95bGduNy81AC95bGduNy82AC95bGduNy83AC95bGduOC8xAC95bGduOC8yAC95bGduOC8zAC95bGduOC80AC95bGduOC81AC95bGduOC82AC95bGduOC83AC95bGduOC84AC95bGduOS8xAC95bGduOS8yAC95bGduOS8zAC95bGduOS80AC95bGduOS81AC95bGduOS82AC95bGduOS83AC95bGduOS84AC95bGduOS85AC95bGduYnUzLzEAL3lsZ25idTMvMgAveWxnbmJ1My8zAC95bGduYnU0LzEAL3lsZ25idTQvMgAveWxnbmJ1NC8zAC95bGduYnU0LzQAL3lsZ25idTUvMQAveWxnbmJ1NS8yAC95bGduYnU1LzMAL3lsZ25idTUvNAAveWxnbmJ1NS81AC95bGduYnU2LzEAL3lsZ25idTYvMgAveWxnbmJ1Ni8zAC95bGduYnU2LzQAL3lsZ25idTYvNQAveWxnbmJ1Ni82AC95bGduYnU3LzEAL3lsZ25idTcvMgAveWxnbmJ1Ny8zAC95bGduYnU3LzQAL3lsZ25idTcvNQAveWxnbmJ1Ny82AC95bGduYnU3LzcAL3lsZ25idTgvMQAveWxnbmJ1OC8yAC95bGduYnU4LzMAL3lsZ25idTgvNAAveWxnbmJ1OC81AC95bGduYnU4LzYAL3lsZ25idTgvNwAveWxnbmJ1OC84AC95bGduYnU5LzEAL3lsZ25idTkvMgAveWxnbmJ1OS8zAC95bGduYnU5LzQAL3lsZ25idTkvNQAveWxnbmJ1OS82AC95bGduYnU5LzcAL3lsZ25idTkvOAAveWxnbmJ1OS85AC95bG9yYnIzLzEAL3lsb3JicjMvMgAveWxvcmJyMy8zAC95bG9yYnI0LzEAL3lsb3JicjQvMgAveWxvcmJyNC8zAC95bG9yYnI0LzQAL3lsb3JicjUvMQAveWxvcmJyNS8yAC95bG9yYnI1LzMAL3lsb3JicjUvNAAveWxvcmJyNS81AC95bG9yYnI2LzEAL3lsb3JicjYvMgAveWxvcmJyNi8zAC95bG9yYnI2LzQAL3lsb3JicjYvNQAveWxvcmJyNi82AC95bG9yYnI3LzEAL3lsb3JicjcvMgAveWxvcmJyNy8zAC95bG9yYnI3LzQAL3lsb3JicjcvNQAveWxvcmJyNy82AC95bG9yYnI3LzcAL3lsb3JicjgvMQAveWxvcmJyOC8yAC95bG9yYnI4LzMAL3lsb3JicjgvNAAveWxvcmJyOC81AC95bG9yYnI4LzYAL3lsb3JicjgvNwAveWxvcmJyOC84AC95bG9yYnI5LzEAL3lsb3JicjkvMgAveWxvcmJyOS8zAC95bG9yYnI5LzQAL3lsb3JicjkvNQAveWxvcmJyOS82AC95bG9yYnI5LzcAL3lsb3JicjkvOAAveWxvcmJyOS85AC95bG9ycmQzLzEAL3lsb3JyZDMvMgAveWxvcnJkMy8zAC95bG9ycmQ0LzEAL3lsb3JyZDQvMgAveWxvcnJkNC8zAC95bG9ycmQ0LzQAL3lsb3JyZDUvMQAveWxvcnJkNS8yAC95bG9ycmQ1LzMAL3lsb3JyZDUvNAAveWxvcnJkNS81AC95bG9ycmQ2LzEAL3lsb3JyZDYvMgAveWxvcnJkNi8zAC95bG9ycmQ2LzQAL3lsb3JyZDYvNQAveWxvcnJkNi82AC95bG9ycmQ3LzEAL3lsb3JyZDcvMgAveWxvcnJkNy8zAC95bG9ycmQ3LzQAL3lsb3JyZDcvNQAveWxvcnJkNy82AC95bG9ycmQ3LzcAL3lsb3JyZDgvMQAveWxvcnJkOC8yAC95bG9ycmQ4LzMAL3lsb3JyZDgvNAAveWxvcnJkOC81AC95bG9ycmQ4LzYAL3lsb3JyZDgvNwAveWxvcnJkOC84AC95bG9ycmQ5LzEAL3lsb3JyZDkvMgAveWxvcnJkOS8zAC95bG9ycmQ5LzQAL3lsb3JyZDkvNQAveWxvcnJkOS82AC95bG9ycmQ5LzcAL3lsb3JyZDkvOAAveWxvcnJkOS85AGFsaWNlYmx1ZQBhbnRpcXVld2hpdGUAYW50aXF1ZXdoaXRlMQBhbnRpcXVld2hpdGUyAGFudGlxdWV3aGl0ZTMAYW50aXF1ZXdoaXRlNABhcXVhbWFyaW5lAGFxdWFtYXJpbmUxAGFxdWFtYXJpbmUyAGFxdWFtYXJpbmUzAGFxdWFtYXJpbmU0AGF6dXJlAGF6dXJlMQBhenVyZTIAYXp1cmUzAGF6dXJlNABiZWlnZQBiaXNxdWUAYmlzcXVlMQBiaXNxdWUyAGJpc3F1ZTMAYmlzcXVlNABibGFuY2hlZGFsbW9uZABibHVlAGJsdWUxAGJsdWUyAGJsdWUzAGJsdWU0AGJsdWV2aW9sZXQAYnJvd24AYnJvd24xAGJyb3duMgBicm93bjMAYnJvd240AGJ1cmx5d29vZABidXJseXdvb2QxAGJ1cmx5d29vZDIAYnVybHl3b29kMwBidXJseXdvb2Q0AGNhZGV0Ymx1ZQBjYWRldGJsdWUxAGNhZGV0Ymx1ZTIAY2FkZXRibHVlMwBjYWRldGJsdWU0AGNoYXJ0cmV1c2UAY2hhcnRyZXVzZTEAY2hhcnRyZXVzZTIAY2hhcnRyZXVzZTMAY2hhcnRyZXVzZTQAY2hvY29sYXRlAGNob2NvbGF0ZTEAY2hvY29sYXRlMgBjaG9jb2xhdGUzAGNob2NvbGF0ZTQAY29yYWwAY29yYWwxAGNvcmFsMgBjb3JhbDMAY29yYWw0AGNvcm5mbG93ZXJibHVlAGNvcm5zaWxrAGNvcm5zaWxrMQBjb3Juc2lsazIAY29ybnNpbGszAGNvcm5zaWxrNABjcmltc29uAGN5YW4AY3lhbjEAY3lhbjIAY3lhbjMAY3lhbjQAZGFya2dvbGRlbnJvZABkYXJrZ29sZGVucm9kMQBkYXJrZ29sZGVucm9kMgBkYXJrZ29sZGVucm9kMwBkYXJrZ29sZGVucm9kNABkYXJrZ3JlZW4AZGFya2toYWtpAGRhcmtvbGl2ZWdyZWVuAGRhcmtvbGl2ZWdyZWVuMQBkYXJrb2xpdmVncmVlbjIAZGFya29saXZlZ3JlZW4zAGRhcmtvbGl2ZWdyZWVuNABkYXJrb3JhbmdlAGRhcmtvcmFuZ2UxAGRhcmtvcmFuZ2UyAGRhcmtvcmFuZ2UzAGRhcmtvcmFuZ2U0AGRhcmtvcmNoaWQAZGFya29yY2hpZDEAZGFya29yY2hpZDIAZGFya29yY2hpZDMAZGFya29yY2hpZDQAZGFya3NhbG1vbgBkYXJrc2VhZ3JlZW4AZGFya3NlYWdyZWVuMQBkYXJrc2VhZ3JlZW4yAGRhcmtzZWFncmVlbjMAZGFya3NlYWdyZWVuNABkYXJrc2xhdGVibHVlAGRhcmtzbGF0ZWdyYXkAZGFya3NsYXRlZ3JheTEAZGFya3NsYXRlZ3JheTIAZGFya3NsYXRlZ3JheTMAZGFya3NsYXRlZ3JheTQAZGFya3NsYXRlZ3JleQBkYXJrdHVycXVvaXNlAGRhcmt2aW9sZXQAZGVlcHBpbmsAZGVlcHBpbmsxAGRlZXBwaW5rMgBkZWVwcGluazMAZGVlcHBpbms0AGRlZXBza3libHVlAGRlZXBza3libHVlMQBkZWVwc2t5Ymx1ZTIAZGVlcHNreWJsdWUzAGRlZXBza3libHVlNABkaW1ncmF5AGRpbWdyZXkAZG9kZ2VyYmx1ZQBkb2RnZXJibHVlMQBkb2RnZXJibHVlMgBkb2RnZXJibHVlMwBkb2RnZXJibHVlNABmaXJlYnJpY2sAZmlyZWJyaWNrMQBmaXJlYnJpY2syAGZpcmVicmljazMAZmlyZWJyaWNrNABmbG9yYWx3aGl0ZQBmb3Jlc3RncmVlbgBnYWluc2Jvcm8AZ2hvc3R3aGl0ZQBnb2xkAGdvbGQxAGdvbGQyAGdvbGQzAGdvbGQ0AGdvbGRlbnJvZABnb2xkZW5yb2QxAGdvbGRlbnJvZDIAZ29sZGVucm9kMwBnb2xkZW5yb2Q0AGdyYXkAZ3JheTAAZ3JheTEAZ3JheTEwAGdyYXkxMDAAZ3JheTExAGdyYXkxMgBncmF5MTMAZ3JheTE0AGdyYXkxNQBncmF5MTYAZ3JheTE3AGdyYXkxOABncmF5MTkAZ3JheTIAZ3JheTIwAGdyYXkyMQBncmF5MjIAZ3JheTIzAGdyYXkyNABncmF5MjUAZ3JheTI2AGdyYXkyNwBncmF5MjgAZ3JheTI5AGdyYXkzAGdyYXkzMABncmF5MzEAZ3JheTMyAGdyYXkzMwBncmF5MzQAZ3JheTM1AGdyYXkzNgBncmF5MzcAZ3JheTM4AGdyYXkzOQBncmF5NABncmF5NDAAZ3JheTQxAGdyYXk0MgBncmF5NDMAZ3JheTQ0AGdyYXk0NQBncmF5NDYAZ3JheTQ3AGdyYXk0OABncmF5NDkAZ3JheTUAZ3JheTUwAGdyYXk1MQBncmF5NTIAZ3JheTUzAGdyYXk1NABncmF5NTUAZ3JheTU2AGdyYXk1NwBncmF5NTgAZ3JheTU5AGdyYXk2AGdyYXk2MABncmF5NjEAZ3JheTYyAGdyYXk2MwBncmF5NjQAZ3JheTY1AGdyYXk2NgBncmF5NjcAZ3JheTY4AGdyYXk2OQBncmF5NwBncmF5NzAAZ3JheTcxAGdyYXk3MgBncmF5NzMAZ3JheTc0AGdyYXk3NQBncmF5NzYAZ3JheTc3AGdyYXk3OABncmF5NzkAZ3JheTgAZ3JheTgwAGdyYXk4MQBncmF5ODIAZ3JheTgzAGdyYXk4NABncmF5ODUAZ3JheTg2AGdyYXk4NwBncmF5ODgAZ3JheTg5AGdyYXk5AGdyYXk5MABncmF5OTEAZ3JheTkyAGdyYXk5MwBncmF5OTQAZ3JheTk1AGdyYXk5NgBncmF5OTcAZ3JheTk4AGdyYXk5OQBncmVlbgBncmVlbjEAZ3JlZW4yAGdyZWVuMwBncmVlbjQAZ3JlZW55ZWxsb3cAZ3JleQBncmV5MABncmV5MQBncmV5MTAAZ3JleTEwMABncmV5MTEAZ3JleTEyAGdyZXkxMwBncmV5MTQAZ3JleTE1AGdyZXkxNgBncmV5MTcAZ3JleTE4AGdyZXkxOQBncmV5MgBncmV5MjAAZ3JleTIxAGdyZXkyMgBncmV5MjMAZ3JleTI0AGdyZXkyNQBncmV5MjYAZ3JleTI3AGdyZXkyOABncmV5MjkAZ3JleTMAZ3JleTMwAGdyZXkzMQBncmV5MzIAZ3JleTMzAGdyZXkzNABncmV5MzUAZ3JleTM2AGdyZXkzNwBncmV5MzgAZ3JleTM5AGdyZXk0AGdyZXk0MABncmV5NDEAZ3JleTQyAGdyZXk0MwBncmV5NDQAZ3JleTQ1AGdyZXk0NgBncmV5NDcAZ3JleTQ4AGdyZXk0OQBncmV5NQBncmV5NTAAZ3JleTUxAGdyZXk1MgBncmV5NTMAZ3JleTU0AGdyZXk1NQBncmV5NTYAZ3JleTU3AGdyZXk1OABncmV5NTkAZ3JleTYAZ3JleTYwAGdyZXk2MQBncmV5NjIAZ3JleTYzAGdyZXk2NABncmV5NjUAZ3JleTY2AGdyZXk2NwBncmV5NjgAZ3JleTY5AGdyZXk3AGdyZXk3MABncmV5NzEAZ3JleTcyAGdyZXk3MwBncmV5NzQAZ3JleTc1AGdyZXk3NgBncmV5NzcAZ3JleTc4AGdyZXk3OQBncmV5OABncmV5ODAAZ3JleTgxAGdyZXk4MgBncmV5ODMAZ3JleTg0AGdyZXk4NQBncmV5ODYAZ3JleTg3AGdyZXk4OABncmV5ODkAZ3JleTkAZ3JleTkwAGdyZXk5MQBncmV5OTIAZ3JleTkzAGdyZXk5NABncmV5OTUAZ3JleTk2AGdyZXk5NwBncmV5OTgAZ3JleTk5AGhvbmV5ZGV3AGhvbmV5ZGV3MQBob25leWRldzIAaG9uZXlkZXczAGhvbmV5ZGV3NABob3RwaW5rAGhvdHBpbmsxAGhvdHBpbmsyAGhvdHBpbmszAGhvdHBpbms0AGluZGlhbnJlZABpbmRpYW5yZWQxAGluZGlhbnJlZDIAaW5kaWFucmVkMwBpbmRpYW5yZWQ0AGluZGlnbwBpbnZpcwBpdm9yeQBpdm9yeTEAaXZvcnkyAGl2b3J5MwBpdm9yeTQAa2hha2kAa2hha2kxAGtoYWtpMgBraGFraTMAa2hha2k0AGxhdmVuZGVyAGxhdmVuZGVyYmx1c2gAbGF2ZW5kZXJibHVzaDEAbGF2ZW5kZXJibHVzaDIAbGF2ZW5kZXJibHVzaDMAbGF2ZW5kZXJibHVzaDQAbGF3bmdyZWVuAGxlbW9uY2hpZmZvbgBsZW1vbmNoaWZmb24xAGxlbW9uY2hpZmZvbjIAbGVtb25jaGlmZm9uMwBsZW1vbmNoaWZmb240AGxpZ2h0Ymx1ZQBsaWdodGJsdWUxAGxpZ2h0Ymx1ZTIAbGlnaHRibHVlMwBsaWdodGJsdWU0AGxpZ2h0Y29yYWwAbGlnaHRjeWFuAGxpZ2h0Y3lhbjEAbGlnaHRjeWFuMgBsaWdodGN5YW4zAGxpZ2h0Y3lhbjQAbGlnaHRnb2xkZW5yb2QAbGlnaHRnb2xkZW5yb2QxAGxpZ2h0Z29sZGVucm9kMgBsaWdodGdvbGRlbnJvZDMAbGlnaHRnb2xkZW5yb2Q0AGxpZ2h0Z29sZGVucm9keWVsbG93AGxpZ2h0Z3JheQBsaWdodGdyZXkAbGlnaHRwaW5rAGxpZ2h0cGluazEAbGlnaHRwaW5rMgBsaWdodHBpbmszAGxpZ2h0cGluazQAbGlnaHRzYWxtb24AbGlnaHRzYWxtb24xAGxpZ2h0c2FsbW9uMgBsaWdodHNhbG1vbjMAbGlnaHRzYWxtb240AGxpZ2h0c2VhZ3JlZW4AbGlnaHRza3libHVlAGxpZ2h0c2t5Ymx1ZTEAbGlnaHRza3libHVlMgBsaWdodHNreWJsdWUzAGxpZ2h0c2t5Ymx1ZTQAbGlnaHRzbGF0ZWJsdWUAbGlnaHRzbGF0ZWdyYXkAbGlnaHRzbGF0ZWdyZXkAbGlnaHRzdGVlbGJsdWUAbGlnaHRzdGVlbGJsdWUxAGxpZ2h0c3RlZWxibHVlMgBsaWdodHN0ZWVsYmx1ZTMAbGlnaHRzdGVlbGJsdWU0AGxpZ2h0eWVsbG93AGxpZ2h0eWVsbG93MQBsaWdodHllbGxvdzIAbGlnaHR5ZWxsb3czAGxpZ2h0eWVsbG93NABsaW1lZ3JlZW4AbGluZW4AbWFnZW50YQBtYWdlbnRhMQBtYWdlbnRhMgBtYWdlbnRhMwBtYWdlbnRhNABtYXJvb24AbWFyb29uMQBtYXJvb24yAG1hcm9vbjMAbWFyb29uNABtZWRpdW1hcXVhbWFyaW5lAG1lZGl1bWJsdWUAbWVkaXVtb3JjaGlkAG1lZGl1bW9yY2hpZDEAbWVkaXVtb3JjaGlkMgBtZWRpdW1vcmNoaWQzAG1lZGl1bW9yY2hpZDQAbWVkaXVtcHVycGxlAG1lZGl1bXB1cnBsZTEAbWVkaXVtcHVycGxlMgBtZWRpdW1wdXJwbGUzAG1lZGl1bXB1cnBsZTQAbWVkaXVtc2VhZ3JlZW4AbWVkaXVtc2xhdGVibHVlAG1lZGl1bXNwcmluZ2dyZWVuAG1lZGl1bXR1cnF1b2lzZQBtZWRpdW12aW9sZXRyZWQAbWlkbmlnaHRibHVlAG1pbnRjcmVhbQBtaXN0eXJvc2UAbWlzdHlyb3NlMQBtaXN0eXJvc2UyAG1pc3R5cm9zZTMAbWlzdHlyb3NlNABtb2NjYXNpbgBuYXZham93aGl0ZQBuYXZham93aGl0ZTEAbmF2YWpvd2hpdGUyAG5hdmFqb3doaXRlMwBuYXZham93aGl0ZTQAbmF2eQBuYXZ5Ymx1ZQBub25lAG9sZGxhY2UAb2xpdmVkcmFiAG9saXZlZHJhYjEAb2xpdmVkcmFiMgBvbGl2ZWRyYWIzAG9saXZlZHJhYjQAb3JhbmdlAG9yYW5nZTEAb3JhbmdlMgBvcmFuZ2UzAG9yYW5nZTQAb3JhbmdlcmVkAG9yYW5nZXJlZDEAb3JhbmdlcmVkMgBvcmFuZ2VyZWQzAG9yYW5nZXJlZDQAb3JjaGlkAG9yY2hpZDEAb3JjaGlkMgBvcmNoaWQzAG9yY2hpZDQAcGFsZWdvbGRlbnJvZABwYWxlZ3JlZW4AcGFsZWdyZWVuMQBwYWxlZ3JlZW4yAHBhbGVncmVlbjMAcGFsZWdyZWVuNABwYWxldHVycXVvaXNlAHBhbGV0dXJxdW9pc2UxAHBhbGV0dXJxdW9pc2UyAHBhbGV0dXJxdW9pc2UzAHBhbGV0dXJxdW9pc2U0AHBhbGV2aW9sZXRyZWQAcGFsZXZpb2xldHJlZDEAcGFsZXZpb2xldHJlZDIAcGFsZXZpb2xldHJlZDMAcGFsZXZpb2xldHJlZDQAcGFwYXlhd2hpcABwZWFjaHB1ZmYAcGVhY2hwdWZmMQBwZWFjaHB1ZmYyAHBlYWNocHVmZjMAcGVhY2hwdWZmNABwZXJ1AHBpbmsAcGluazEAcGluazIAcGluazMAcGluazQAcGx1bQBwbHVtMQBwbHVtMgBwbHVtMwBwbHVtNABwb3dkZXJibHVlAHB1cnBsZQBwdXJwbGUxAHB1cnBsZTIAcHVycGxlMwBwdXJwbGU0AHJlZAByZWQxAHJlZDIAcmVkMwByZWQ0AHJvc3licm93bgByb3N5YnJvd24xAHJvc3licm93bjIAcm9zeWJyb3duMwByb3N5YnJvd240AHJveWFsYmx1ZQByb3lhbGJsdWUxAHJveWFsYmx1ZTIAcm95YWxibHVlMwByb3lhbGJsdWU0AHNhZGRsZWJyb3duAHNhbG1vbgBzYWxtb24xAHNhbG1vbjIAc2FsbW9uMwBzYWxtb240AHNhbmR5YnJvd24Ac2VhZ3JlZW4Ac2VhZ3JlZW4xAHNlYWdyZWVuMgBzZWFncmVlbjMAc2VhZ3JlZW40AHNlYXNoZWxsAHNlYXNoZWxsMQBzZWFzaGVsbDIAc2Vhc2hlbGwzAHNlYXNoZWxsNABzaWVubmEAc2llbm5hMQBzaWVubmEyAHNpZW5uYTMAc2llbm5hNABza3libHVlAHNreWJsdWUxAHNreWJsdWUyAHNreWJsdWUzAHNreWJsdWU0AHNsYXRlYmx1ZQBzbGF0ZWJsdWUxAHNsYXRlYmx1ZTIAc2xhdGVibHVlMwBzbGF0ZWJsdWU0AHNsYXRlZ3JheQBzbGF0ZWdyYXkxAHNsYXRlZ3JheTIAc2xhdGVncmF5MwBzbGF0ZWdyYXk0AHNsYXRlZ3JleQBzbm93AHNub3cxAHNub3cyAHNub3czAHNub3c0AHNwcmluZ2dyZWVuAHNwcmluZ2dyZWVuMQBzcHJpbmdncmVlbjIAc3ByaW5nZ3JlZW4zAHNwcmluZ2dyZWVuNABzdGVlbGJsdWUAc3RlZWxibHVlMQBzdGVlbGJsdWUyAHN0ZWVsYmx1ZTMAc3RlZWxibHVlNAB0YW4AdGFuMQB0YW4yAHRhbjMAdGFuNAB0aGlzdGxlAHRoaXN0bGUxAHRoaXN0bGUyAHRoaXN0bGUzAHRoaXN0bGU0AHRvbWF0bwB0b21hdG8xAHRvbWF0bzIAdG9tYXRvMwB0b21hdG80AHR1cnF1b2lzZQB0dXJxdW9pc2UxAHR1cnF1b2lzZTIAdHVycXVvaXNlMwB0dXJxdW9pc2U0AHZpb2xldAB2aW9sZXRyZWQAdmlvbGV0cmVkMQB2aW9sZXRyZWQyAHZpb2xldHJlZDMAdmlvbGV0cmVkNAB3aGVhdAB3aGVhdDEAd2hlYXQyAHdoZWF0MwB3aGVhdDQAd2hpdGUAd2hpdGVzbW9rZQB5ZWxsb3cAeWVsbG93MQB5ZWxsb3cyAHllbGxvdzMAeWVsbG93NAB5ZWxsb3dncmVlbgBsYWNrAGhpdGUAaWdodGdyZXkAWDExLwAvJXMvJXMAaW1hZ2VzY2FsZQBmYWxzZQBibGFjawBkb3R0ZWQAZGFzaGVkAGNwLT5zcmMAaHRtbHRhYmxlLmMAZW1pdF9odG1sX2ltZwBjcC0+c3JjWzBdAHRyYW5zcGFyZW50AF8lZAAlZAAyADMANAA1ADYANwA4ADkAMTAAMTEAMTIAMTMAMTQAMTUAMTYAMTcAMTgAMTkAMjAAQWdub2RlaW5mb190AEFnZWRnZWluZm9fdAByb3dnAGNvbGcAQWdyYXBoaW5mb190AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IALT4AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpbWVtb3J5IGV4aGF1c3RlZAAlcyBpbiBsaW5lICVkIAoALi4uICVzIC4uLgoAVEFCTEUAVFIAVEgAVEQASFRNTABGT05UAEIAVQBPAEkAU1VQAFNVQgBTAEJSAEhSAFZSAElNRwBVbmtub3duIEhUTUwgZWxlbWVudCA8JXM+IG9uIGxpbmUgJWQgCgA8SU1HPgBJbGxlZ2FsIGF0dHJpYnV0ZSAlcyBpbiAlcyAtIGlnbm9yZWQKAHNjYWxlAHNyYwA8QlI+AGFsaWduAElHSFQARUZUAEVOVEVSAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIC0gaWdub3JlZAoAPEZPTlQ+AGNvbG9yAGZhY2UAcG9pbnQtc2l6ZQBQT0lOVC1TSVpFAEltcHJvcGVyICVzIHZhbHVlICVzIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA+ICVkIC0gdG9vIGxhcmdlIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA8ICVkIC0gdG9vIHNtYWxsIC0gaWdub3JlZAA8VEQ+AGJhbGlnbgBiZ2NvbG9yAGJvcmRlcgBjZWxscGFkZGluZwBjZWxsc3BhY2luZwBjb2xzcGFuAGZpeGVkc2l6ZQBncmFkaWVudGFuZ2xlAGhlaWdodABocmVmAGlkAHBvcnQAcm93c3BhbgBzaWRlcwBzdHlsZQB0YXJnZXQAdGl0bGUAdG9vbHRpcAB2YWxpZ24Ad2lkdGgAV0lEVEgAT1RUT00AT1AASURETEUASWxsZWdhbCB2YWx1ZSAlcyBmb3IgVkFMSUdOIC0gaWdub3JlZAoAICwAT1VOREVEAEFESUFMAElsbGVnYWwgdmFsdWUgJXMgZm9yIFNUWUxFIC0gaWdub3JlZAoAU09MSUQASU5WSVNJQkxFAElOVklTAERPVFRFRABEQVNIRUQAVW5yZWNvZ25pemVkIGNoYXJhY3RlciAnJWMnICglZCkgaW4gc2lkZXMgYXR0cmlidXRlCgBST1dTUEFOAFJPV1NQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBIRUlHSFQAR1JBRElFTlRBTkdMRQBSVUUAQUxTRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBGSVhFRFNJWkUgLSBpZ25vcmVkCgBDT0xTUEFOAENPTFNQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBDRUxMU1BBQ0lORwBDRUxMUEFERElORwBCT1JERVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQkFMSUdOIGluIFREIC0gaWdub3JlZAoARVhUAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIGluIFREIC0gaWdub3JlZAoAPFRBQkxFPgBjZWxsYm9yZGVyAGNvbHVtbnMAcm93cwBVbmtub3duIHZhbHVlICVzIGZvciBST1dTIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgQ09MVU1OUyAtIGlnbm9yZWQKAENFTExTQk9SREVSADxIVE1MPgA8L0hUTUw+AC0tAExhYmVsIGNsb3NlZCBiZWZvcmUgZW5kIG9mIEhUTUwgZWxlbWVudAoAVW5jbG9zZWQgY29tbWVudAoAaiA9PSAwAGN2dC5jAFBvYnNwYXRoAHJvdXRlLmMAbGlicGF0aC8lczolZDogJXMKAHNob3J0ZXN0LmMAc291cmNlIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAZGVzdGluYXRpb24gcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBjYW5ub3QgZmluZCB0cmlhbmdsZSBwYXRoAGNhbm5vdCBtYWxsb2Mgb3BzAGNhbm5vdCByZWFsbG9jIG9wcwB0cmlhbmd1bGF0aW9uIGZhaWxlZABjYW5ub3QgbWFsbG9jIHRyaXMAY2Fubm90IHJlYWxsb2MgdHJpcwBjYW5ub3QgbWFsbG9jIGRxLnBubHMAY2Fubm90IHJlYWxsb2MgZHEucG5scwBjYW5ub3QgbWFsbG9jIHBubHMAY2Fubm90IG1hbGxvYyBwbmxwcwBjYW5ub3QgcmVhbGxvYyBwbmxzAGNhbm5vdCByZWFsbG9jIHBubHBzAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVFkARU5USVRJRVMATk1UT0tFTgBOTVRPS0VOUwBOT1RBVElPTigAKAB8AGh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZQBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLwB4bWw9aHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAC9kZXYvdXJhbmRvbQBmYWxsYmFjayg0KQBnZXR0aW1lb2ZkYXlfcmVzID09IDAAeG1scGFyc2UuYwBnYXRoZXJfdGltZV9lbnRyb3B5AEVYUEFUX0VOVFJPUFlfREVCVUcAMQBFbnRyb3B5OiAlcyAtLT4gMHglMCpseCAoJWx1IGJ5dGVzKQoAaW52YWxpZCBhcmd1bWVudABwcmVmaXggbXVzdCBub3QgYmUgYm91bmQgdG8gb25lIG9mIHRoZSByZXNlcnZlZCBuYW1lc3BhY2UgbmFtZXMAcmVzZXJ2ZWQgcHJlZml4ICh4bWxucykgbXVzdCBub3QgYmUgZGVjbGFyZWQgb3IgdW5kZWNsYXJlZAByZXNlcnZlZCBwcmVmaXggKHhtbCkgbXVzdCBub3QgYmUgdW5kZWNsYXJlZCBvciBib3VuZCB0byBhbm90aGVyIG5hbWVzcGFjZSBuYW1lAGNhbm5vdCBzdXNwZW5kIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHkAcGFyc2luZyBmaW5pc2hlZABwYXJzaW5nIGFib3J0ZWQAcGFyc2VyIG5vdCBzdXNwZW5kZWQAcGFyc2VyIHN1c3BlbmRlZABpbGxlZ2FsIGNoYXJhY3RlcihzKSBpbiBwdWJsaWMgaWQAdGV4dCBkZWNsYXJhdGlvbiBub3Qgd2VsbC1mb3JtZWQAWE1MIGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABpbmNvbXBsZXRlIG1hcmt1cCBpbiBwYXJhbWV0ZXIgZW50aXR5AG11c3Qgbm90IHVuZGVjbGFyZSBwcmVmaXgAdW5ib3VuZCBwcmVmaXgAY2Fubm90IGNoYW5nZSBzZXR0aW5nIG9uY2UgcGFyc2luZyBoYXMgYmVndW4AcmVxdWVzdGVkIGZlYXR1cmUgcmVxdWlyZXMgWE1MX0RURCBzdXBwb3J0IGluIEV4cGF0AGVudGl0eSBkZWNsYXJlZCBpbiBwYXJhbWV0ZXIgZW50aXR5AHVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlIC0gcGxlYXNlIHNlbmQgYSBidWcgcmVwb3J0AGRvY3VtZW50IGlzIG5vdCBzdGFuZGFsb25lAGVycm9yIGluIHByb2Nlc3NpbmcgZXh0ZXJuYWwgZW50aXR5IHJlZmVyZW5jZQB1bmNsb3NlZCBDREFUQSBzZWN0aW9uAGVuY29kaW5nIHNwZWNpZmllZCBpbiBYTUwgZGVjbGFyYXRpb24gaXMgaW5jb3JyZWN0AHVua25vd24gZW5jb2RpbmcAWE1MIG9yIHRleHQgZGVjbGFyYXRpb24gbm90IGF0IHN0YXJ0IG9mIGVudGl0eQByZWZlcmVuY2UgdG8gZXh0ZXJuYWwgZW50aXR5IGluIGF0dHJpYnV0ZQByZWZlcmVuY2UgdG8gYmluYXJ5IGVudGl0eQByZWZlcmVuY2UgdG8gaW52YWxpZCBjaGFyYWN0ZXIgbnVtYmVyAGFzeW5jaHJvbm91cyBlbnRpdHkAcmVjdXJzaXZlIGVudGl0eSByZWZlcmVuY2UAdW5kZWZpbmVkIGVudGl0eQBpbGxlZ2FsIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlAGp1bmsgYWZ0ZXIgZG9jdW1lbnQgZWxlbWVudABkdXBsaWNhdGUgYXR0cmlidXRlAG1pc21hdGNoZWQgdGFnAHBhcnRpYWwgY2hhcmFjdGVyAHVuY2xvc2VkIHRva2VuAG5vdCB3ZWxsLWZvcm1lZCAoaW52YWxpZCB0b2tlbikAbm8gZWxlbWVudCBmb3VuZABzeW50YXggZXJyb3IAb3V0IG9mIG1lbW9yeQACAwQFBgcIAAAJCgsMDQ4PEBEAAAAAAAAAAAAAAAASEwAUAAAAAAAAAAAAAAAAAAAVFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQMaGxwdHgAAHyAhIiMkJRARAAAAAAAAAAAAAAAAEhMmFAAAAAAAAAAAAAAAAAAAJxYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFwAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENEQVRBW1VTLUFTQ0lJAFVURi0xNgBVVEYtMTZCRQBVVEYtMTZMRQB2ZXJzaW9uAGVuY29kaW5nAHN0YW5kYWxvbmUARE9DVFlQRQBTWVNURU0AUFVCTElDAEVOVElUWQBBVFRMSVNUAEVMRU1FTlQATk9UQVRJT04ASU5DTFVERQBJR05PUkUARU1QVFkAQU5ZAFBDREFUQQBJTVBMSUVEAFJFUVVJUkVEAEZJWEVEAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5EQVRBAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAEhATFBUWFxgZGhscHR4fICEQECIjECQlJicoKSorECwtLhEvMBERMRERETIzNDU2Nzg5ERAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA6EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA7EDw9Pj9AQRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBCEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBDEBBEEEVGRxBIEEkQEBAQSktMTRAQThBPUBAQEBBREBAQEBAQEBAQEBAQEFIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBUVVZXEBBYWRAQEBAQEBAQEBAQEBAQEBAQEBAQEBBaEFtcXV5fYGFiEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAP7/APwBAAD4AQAAeAAAAAD/+9/7AACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8APz/4K//////////////3///////IECwAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAIb+////AEBJAAAAAAAYAN//AMgAAAAAAAAAAQA8AAAAAAAAAAAAAAAAEOABHgBg/78AAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAD4zwMAAAADACD/fwAAAE4AAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAQACAeADAAAQAAAAAAAAAAEAAgAAAAAPwPAAAAAAAAABAAIAAAAAAAAAAAAAAAAAAQACAAAAAAAwAAAAAAAAAAEAAgAAAAAP0AAAAAAAAAAAAAIAAAAAD/BwAAAAAAAAAAACAAAAAAAP8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAAAAAIAAAAAA/AgAAAAAAAAAAAAQAAAAAEAAAAAAAAIAAgMDfAAwAAAAAAAAAAAAAAAAAHwAAAAAAAP7///8A/P//AAAAAAAAAAD8AAAAAAAAwP/f/wcAAAAAAAAAAAAAgAYA/AAAGD4AAIC/AMwAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAGD///8fAAD/AwAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAEAABgAAAAAAAAAAAA4AAAAABAAAABwAAAAAAAAAAAAAAAAAAAAMAAA/n8vAAD/A/9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4xAAAAAAAAAAAAAAAAAAAAAAAAxP////8AAADAAAAAAAAAAAABAOCfAAAAAH8/AAAAAAAAAAAAAAAAAAAAABAAEAAA/P///x8AAAAAAAwAAAAAAABAAAzwAAAAAAAAwPgAAAAAAAAAwAAAAAAAAAAA/wD///8hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////fwAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAPgAOAA4ABggPj////8//////9/H/zxf/9/AAD///8DAAD/////AQB7A9DBr0IADB+8//8AAAAAAAL//////////////////////////////////////////////////////////w8A/////38AAAD/BwAA/////////////z8AAAAAAAD8///+/////////////////////////////////////////////////////x//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCHA/4AAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAP//////f/8PAAAAAAAAAAD////7/////////////w8A//////////////////////////////////8/AAAA/w8e////AfzB4AAAAAAAAAAAAAAAHgEAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAP////8PAAAA////f////////////////////////////////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAP///////38AAAAAAADAAOAAAAAAAAAAAAAAAIAPcAAAAAAAAAAAAAAAAAAA/wD//38AAwAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAEQIAAAAD/8DAAAAAAAA8AAAAAAAAAAAABDAAAD//wMHAAAAAAD4AAAAAAiAAAAAAAAAAAAAAAgA/z8AwAAAAAAAAAAAAAAAAAAAAPAAAIALAAAAAAAAAIACAADAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAD8/wMAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD///8DfwD/////9/9/DwAAAAAAAAAAAAAAAAAAAAAAgP7/APwBAAD4AQAA+D8AAAAAAAAAAAAAAAAAAAB/fwAwh///////j/8AAAAAAADg//8H/w8AAAAAAAD//////z8AAAAADwAAAAAAAAAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAAAAACA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAADAjwAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/8A/wEAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//P8/AAAAAwAAAAAAAP4DAAAAAAAAAAAAAAAAABgADwAAAAAAAAAAAAAAAAAAAOEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAA////////////////////////////////////////PwD/////f/7///////////////////////////8/AAAAAP//////////PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////38A//8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAAAACAAAIAAAACAAAIAAAACAAAAAAgAAAAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD//////w////////////////8PAP9//n/+//7/AAAAAP8H////f/////////8P//////8HAAAAAAAAAADA////BwD//////wf/AQMAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQC///////////8f//8PAP/////fBwAA//8BAP////////9//f////////////////////////////8e/////////z8PAP///wAAAAAAAAAAAAAAAAAAAAAAAPj//////////+H/AAAAAAAA//////////8/AAAAAAAAAP//////////////////DwAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIEBwMGBQASERMUFRYXGBkaGxwdHh8gIREiIyQRJSYnKCkqKywRLS4vEBAwEBAQEBAQEDEyMxA0NRAQERERERERERERERERERERERERERERERERETYRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE3ERERETgROTo7PD0+ERERERERERERERERERERERERERERERERERERERERERERERERERERERERET8QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARQEERQkNERUZHSEkQEBBKS0xNThAQEE9QEBAQEFEQEBAQEBAQEBARERFSUxAQEBAQEBAQEBAQEREREVQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAREVUQEBAQVhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBXEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBYWVpbEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFwQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9//////////////////////////////////8P/AwAfUAAAAAAAAAAAAAAgAAAAAADfPEDX///7////////////v///////////////////////A/z/////////////////////////AP7///9/Av7/////AAAAAAD/v7YA////BwcAAAD/B//////////+/8P////////////////vH/7h/58AAP///////wDg////////////////AwD//////wcwBP////z/HwAA////AQAAAAAAAAAA/R8AAAAAAADwA/9//////////+//3+H/z//+/u6f+f///cXjn1mAsM//AwDuh/n///1tw4cZAl7A/z8A7r/7///97eO/GwEAz/8AAO6f+f///e3jnxnAsM//AgDsxz3WGMf/w8cdgQDA/wAA7t/9///97+PfHWADz/8AAOzf/f///e/j3x1gQM//BgDs3/3/////599dgADP/wD87P9//P//+y9/gF//AAAMAP7/////f/8HPyD/AwAAAACWJfD+ruz/O18g//MAAAAAAQAAAP8DAAD//v///x/+/wP///7///8fAAAAAAAAAAD///////9/+f8D///nwf//f0D/M/////+/IP//////9////////////z1/Pf//////Pf////89fz3/f/////////89//////////+HAAAAAP//AAD/////////////HwD+//////////////////////////////////////////////////////////+f///+//8H////////////xwEA/98PAP//DwD//w8A/98NAP///////8///wGAEP8DAAAAAP8D//////////////8A//////8H//////////8/AP///x//D/8BwP////8/HwD//////w////8D/wMAAAAA////D/////////9//v8fAP8D/wOAAAAAAAAAAAAAAAD////////v/+8P/wMAAAAA///////z////////v/8DAP///////z8A/+P//////z8AAAAAAAAAAAAAAAAA3m8A////////////////////////////////AAAAAAAAAAD//z8//////z8//6r///8/////////31/cH88P/x/cHwAAAAAAAAAAAAAAAAAAAoAAAP8fAAAAAAAAAAAAAAAAhPwvPlC9//PgQwAA//////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///////wMAAP//////f///////f/////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/f/////8AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAD+Az4f/v///////////3/g/v/////////////34P////8//v////////////9/AAD///8HAAAAAAAA////////////////////////////////PwAAAAAAAAAAAP////////////////////////////////8fAAAAAAAA//////////////////////8fAAAAAAAAAAD//////z//H////w8AAP//////f/CP////gP////////////8AAAAAgP/8////////////////eQ8A/wcAAAAAAAAAAAD/u/f///8AAAD///////8PAP//////////DwD/AwAA/Aj//////wf/////BwD///8f////////9/8AgP8DAAAAAP///////38A/z//A///fwT/////////fwUAADj//zwAfn5+AH9/AAAAAAAAAAAAAAAAAAAAAAAA//////8H/wP//////////////////////////w8A//9/+P//////D/////////////////8//////////////////wMAAAAAfwD44P/9f1/b/////////////////wMAAAD4////////////////PwAA///////////8////////AAAAAAD/DwAAAAAAAAAAAAAAAAAA3/////////////////////8fAAD/A/7//wf+//8HwP////////////9//Pz8HAAAAAD/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///x////////8BAAAAAAD///9/AAD///8HAAAAAAAA////P/////8P/z4AAAAAAP////////////////////////8//wMAAAAAAAAAAAAAP/3/////v5H//z8AAAAAAAAAAAAAAAAAAAAAAAAAAAD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//w8AAAAAAP///x8AAAAAAAAAAAAAAAAAAAAA////////PwD//z8A//8HAAAAAAAAAAAAAAAAAAAAAAD///////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/8AAAAAAAAAAP//////////HgD/AwAAAAAAAAAAAAAAAAAAAAAAAAAA////////PwD/AwAAAAAAAP////////////////9/AAAAAAAAAAAAAAAAAAAAAAAA////////////////BwAAAAAAAAAAAAAAAAAAAAAAAAD//////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8fAP//////fwAA+P8AAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////7////5b+9wqE6paqlvf3Xv/7/w/u+/8PAAAAAAAAAABMQ19BTEwATENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOADAxMjM0NTY3ODlBQkNERUYuAGFsbnVtAGFscGhhAGJsYW5rAGNudHJsAGRpZ2l0AGdyYXBoAGxvd2VyAHByaW50AHB1bmN0AHNwYWNlAHVwcGVyAHhkaWdpdABDLlVURi04AAAAAAAAAAAAQwAvcHJvYy9zZWxmL2ZkLwByd2EAaW5maW5pdHkAbmFuAAkACgANAAwABwAbAFtbOmFsbnVtOl1fXQBbXls6YWxudW06XV9dAFtbOnNwYWNlOl1dAFteWzpzcGFjZTpdXQBbWzpkaWdpdDpdXQBbXls6ZGlnaXQ6XV0AL3RtcC90bXBmaWxlX1hYWFhYWAB3Kw==";var tA=I;function cA(){re()}function bA(){return t||"undefined"!=typeof dateNow||(n||l)&&self.performance&&self.performance.now}I+=16;var sA={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 wA(e){return A.___errno_location&&(C[A.___errno_location()>>2]=e),e}function uA(A,e){var i;if(0===A)i=Date.now();else{if(1!==A||!bA())return wA(sA.EINVAL),-1;i=cA()}return C[e>>2]=i/1e3|0,C[e+4>>2]=i%1e3*1e3*1e3|0,0}var kA={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"},oA={splitPath:function(A){return/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,e){for(var i=0,r=A.length-1;r>=0;r--){var f=A[r];"."===f?A.splice(r,1):".."===f?(A.splice(r,1),i++):i&&(A.splice(r,1),i--)}if(e)for(;i;i--)A.unshift("..");return A},normalize:function(A){var e="/"===A.charAt(0),i="/"===A.substr(-1);return(A=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||e||(A="."),A&&i&&(A+="/"),(e?"/":"")+A},dirname:function(A){var e=oA.splitPath(A),i=e[0],r=e[1];return i||r?(r&&(r=r.substr(0,r.length-1)),i+r):"."},basename:function(A){if("/"===A)return"/";var e=A.lastIndexOf("/");return-1===e?A:A.substr(e+1)},extname:function(A){return oA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return oA.normalize(A.join("/"))},join2:function(A,e){return oA.normalize(A+"/"+e)},resolve:function(){for(var A="",e=!1,i=arguments.length-1;i>=-1&&!e;i--){var r=i>=0?arguments[i]:EA.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";A=r+"/"+A,e="/"===r.charAt(0)}return(e?"/":"")+(A=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||"."},relative:function(A,e){function i(A){for(var e=0;e=0&&""===A[i];i--);return e>i?[]:A.slice(e,i-e+1)}A=oA.resolve(A).substr(1),e=oA.resolve(e).substr(1);for(var r=i(A.split("/")),f=i(e.split("/")),a=Math.min(r.length,f.length),n=a,l=0;l0?i.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n");if(!e)return null;A.input=NA(e,!0)}return A.input.shift()},put_char:function(e,i){null===i||10===i?(A.print(z(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.print(z(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,i){null===i||10===i?(A.printErr(z(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.printErr(z(e.output,0)),e.output=[])}}},dA={ops_table:null,mount:function(A){return dA.createNode(null,"/",16895,0)},createNode:function(A,e,i,r){if(EA.isBlkdev(i)||EA.isFIFO(i))throw new EA.ErrnoError(sA.EPERM);dA.ops_table||(dA.ops_table={dir:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr,lookup:dA.node_ops.lookup,mknod:dA.node_ops.mknod,rename:dA.node_ops.rename,unlink:dA.node_ops.unlink,rmdir:dA.node_ops.rmdir,readdir:dA.node_ops.readdir,symlink:dA.node_ops.symlink},stream:{llseek:dA.stream_ops.llseek}},file:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr},stream:{llseek:dA.stream_ops.llseek,read:dA.stream_ops.read,write:dA.stream_ops.write,allocate:dA.stream_ops.allocate,mmap:dA.stream_ops.mmap,msync:dA.stream_ops.msync}},link:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr,readlink:dA.node_ops.readlink},stream:{}},chrdev:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr},stream:EA.chrdev_stream_ops}});var f=EA.createNode(A,e,i,r);return EA.isDir(f.mode)?(f.node_ops=dA.ops_table.dir.node,f.stream_ops=dA.ops_table.dir.stream,f.contents={}):EA.isFile(f.mode)?(f.node_ops=dA.ops_table.file.node,f.stream_ops=dA.ops_table.file.stream,f.usedBytes=0,f.contents=null):EA.isLink(f.mode)?(f.node_ops=dA.ops_table.link.node,f.stream_ops=dA.ops_table.link.stream):EA.isChrdev(f.mode)&&(f.node_ops=dA.ops_table.chrdev.node,f.stream_ops=dA.ops_table.chrdev.stream),f.timestamp=Date.now(),A&&(A.contents[e]=f),f},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var e=[],i=0;iA.contents.length&&(A.contents=dA.getFileDataAsRegularArray(A),A.usedBytes=A.contents.length),!A.contents||A.contents.subarray){var i=A.contents?A.contents.length:0;if(i>=e)return;e=Math.max(e,i*(i<1048576?2:1.125)|0),0!=i&&(e=Math.max(e,256));var r=A.contents;return A.contents=new Uint8Array(e),void(A.usedBytes>0&&A.contents.set(r.subarray(0,A.usedBytes),0))}for(!A.contents&&e>0&&(A.contents=[]);A.contents.lengthe)A.contents.length=e;else for(;A.contents.length=A.node.usedBytes)return 0;var n=Math.min(A.node.usedBytes-f,r);if(k(n>=0),n>8&&a.subarray)e.set(a.subarray(f,f+n),i);else for(var l=0;l0||f+rn.timestamp)&&(f.push(i),r++)}));var a=[];if(Object.keys(e.entries).forEach((function(i){e.entries[i],A.entries[i]||(a.push(i),r++)})),!r)return i(null);var n=0,l=("remote"===A.type?A.db:e.db).transaction([BA.DB_STORE_NAME],"readwrite"),t=l.objectStore(BA.DB_STORE_NAME);function c(A){return A?c.errored?void 0:(c.errored=!0,i(A)):++n>=r?i(null):void 0}l.onerror=function(A){c(this.error),A.preventDefault()},f.sort().forEach((function(A){"local"===e.type?BA.loadRemoteEntry(t,A,(function(e,i){if(e)return c(e);BA.storeLocalEntry(A,i,c)})):BA.loadLocalEntry(A,(function(e,i){if(e)return c(e);BA.storeRemoteEntry(t,A,i,c)}))})),a.sort().reverse().forEach((function(A){"local"===e.type?BA.removeLocalEntry(A,c):BA.removeRemoteEntry(t,A,c)}))}},vA={isWindows:!1,staticInit:function(){vA.isWindows=!!process.platform.match(/^win/);var A=process.binding("constants");A.fs&&(A=A.fs),vA.flagsForNodeMap={1024:A.O_APPEND,64:A.O_CREAT,128:A.O_EXCL,0:A.O_RDONLY,2:A.O_RDWR,4096:A.O_SYNC,512:A.O_TRUNC,1:A.O_WRONLY}},bufferFrom:function(A){return Buffer.alloc?Buffer.from(A):new Buffer(A)},mount:function(A){return k(t),vA.createNode(null,"/",vA.getMode(A.opts.root),0)},createNode:function(A,e,i,r){if(!EA.isDir(i)&&!EA.isFile(i)&&!EA.isLink(i))throw new EA.ErrnoError(sA.EINVAL);var f=EA.createNode(A,e,i);return f.node_ops=vA.node_ops,f.stream_ops=vA.stream_ops,f},getMode:function(A){var e;try{e=FA.lstatSync(A),vA.isWindows&&(e.mode=e.mode|(292&e.mode)>>2)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return e.mode},realPath:function(A){for(var e=[];A.parent!==A;)e.push(A.name),A=A.parent;return e.push(A.mount.opts.root),e.reverse(),oA.join.apply(null,e)},flagsForNode:function(A){A&=-2097153,A&=-2049,A&=-32769,A&=-524289;var e=0;for(var i in vA.flagsForNodeMap)A&i&&(e|=vA.flagsForNodeMap[i],A^=i);if(A)throw new EA.ErrnoError(sA.EINVAL);return e},node_ops:{getattr:function(A){var e,i=vA.realPath(A);try{e=FA.lstatSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return vA.isWindows&&!e.blksize&&(e.blksize=4096),vA.isWindows&&!e.blocks&&(e.blocks=(e.size+e.blksize-1)/e.blksize|0),{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(A,e){var i=vA.realPath(A);try{if(void 0!==e.mode&&(FA.chmodSync(i,e.mode),A.mode=e.mode),void 0!==e.timestamp){var r=new Date(e.timestamp);FA.utimesSync(i,r,r)}void 0!==e.size&&FA.truncateSync(i,e.size)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},lookup:function(A,e){var i=oA.join2(vA.realPath(A),e),r=vA.getMode(i);return vA.createNode(A,e,r)},mknod:function(A,e,i,r){var f=vA.createNode(A,e,i,r),a=vA.realPath(f);try{EA.isDir(f.mode)?FA.mkdirSync(a,f.mode):FA.writeFileSync(a,"",{mode:f.mode})}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return f},rename:function(A,e,i){var r=vA.realPath(A),f=oA.join2(vA.realPath(e),i);try{FA.renameSync(r,f)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},unlink:function(A,e){var i=oA.join2(vA.realPath(A),e);try{FA.unlinkSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},rmdir:function(A,e){var i=oA.join2(vA.realPath(A),e);try{FA.rmdirSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},readdir:function(A){var e=vA.realPath(A);try{return FA.readdirSync(e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},symlink:function(A,e,i){var r=oA.join2(vA.realPath(A),e);try{FA.symlinkSync(i,r)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},readlink:function(A){var e=vA.realPath(A);try{return e=FA.readlinkSync(e),e=VA.relative(VA.resolve(A.mount.opts.root),e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}}},stream_ops:{open:function(A){var e=vA.realPath(A.node);try{EA.isFile(A.node.mode)&&(A.nfd=FA.openSync(e,vA.flagsForNode(A.flags)))}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},close:function(A){try{EA.isFile(A.node.mode)&&A.nfd&&FA.closeSync(A.nfd)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},read:function(A,e,i,r,f){if(0===r)return 0;try{return FA.readSync(A.nfd,vA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new EA.ErrnoError(sA[A.code])}},write:function(A,e,i,r,f){try{return FA.writeSync(A.nfd,vA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new EA.ErrnoError(sA[A.code])}},llseek:function(A,e,i){var r=e;if(1===i)r+=A.position;else if(2===i&&EA.isFile(A.node.mode))try{r+=FA.fstatSync(A.nfd).size}catch(A){throw new EA.ErrnoError(sA[A.code])}if(r<0)throw new EA.ErrnoError(sA.EINVAL);return r}}},gA={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(A){k(l),gA.reader||(gA.reader=new FileReaderSync);var e=gA.createNode(null,"/",gA.DIR_MODE,0),i={};function r(A){for(var r=A.split("/"),f=e,a=0;a=A.node.size)return 0;var a=A.node.contents.slice(f,f+r),n=gA.reader.readAsArrayBuffer(a);return e.set(new Uint8Array(n),i),a.size},write:function(A,e,i,r,f){throw new EA.ErrnoError(sA.EIO)},llseek:function(A,e,i){var r=e;if(1===i?r+=A.position:2===i&&EA.isFile(A.node.mode)&&(r+=A.node.size),r<0)throw new EA.ErrnoError(sA.EINVAL);return r}}};I+=16,I+=16,I+=16;var EA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof EA.ErrnoError))throw e+" : "+(i=function(){var A=new Error;if(!A.stack){try{throw new Error(0)}catch(e){A=e}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}(),A.extraStackTrace&&(i+="\\n"+A.extraStackTrace()),i.replace(/__Z[\\w\\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"})));var i;return wA(e.errno)},lookupPath:function(A,e){if(e=e||{},!(A=oA.resolve(EA.cwd(),A)))return{path:"",node:null};var i={follow_mount:!0,recurse_count:0};for(var r in i)void 0===e[r]&&(e[r]=i[r]);if(e.recurse_count>8)throw new EA.ErrnoError(sA.ELOOP);for(var f=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),a=EA.root,n="/",l=0;l40)throw new EA.ErrnoError(sA.ELOOP)}}return{path:n,node:a}},getPath:function(A){for(var e;;){if(EA.isRoot(A)){var i=A.mount.mountpoint;return e?"/"!==i[i.length-1]?i+"/"+e:i+e:i}e=e?A.name+"/"+e:A.name,A=A.parent}},hashName:function(A,e){for(var i=0,r=0;r>>0)%EA.nameTable.length},hashAddNode:function(A){var e=EA.hashName(A.parent.id,A.name);A.name_next=EA.nameTable[e],EA.nameTable[e]=A},hashRemoveNode:function(A){var e=EA.hashName(A.parent.id,A.name);if(EA.nameTable[e]===A)EA.nameTable[e]=A.name_next;else for(var i=EA.nameTable[e];i;){if(i.name_next===A){i.name_next=A.name_next;break}i=i.name_next}},lookupNode:function(A,e){var i=EA.mayLookup(A);if(i)throw new EA.ErrnoError(i,A);for(var r=EA.hashName(A.id,e),f=EA.nameTable[r];f;f=f.name_next){var a=f.name;if(f.parent.id===A.id&&a===e)return f}return EA.lookup(A,e)},createNode:function(A,e,i,r){if(!EA.FSNode){EA.FSNode=function(A,e,i,r){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=EA.nextInode++,this.name=e,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=r},EA.FSNode.prototype={};Object.defineProperties(EA.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return EA.isDir(this.mode)}},isDevice:{get:function(){return EA.isChrdev(this.mode)}}})}var f=new EA.FSNode(A,e,i,r);return EA.hashAddNode(f),f},destroyNode:function(A){EA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},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(A){var e=EA.flagModes[A];if(void 0===e)throw new Error("Unknown file open mode: "+A);return e},flagsToPermissionString:function(A){var e=["r","w","rw"][3&A];return 512&A&&(e+="w"),e},nodePermissions:function(A,e){return EA.ignorePermissions||(-1===e.indexOf("r")||292&A.mode)&&(-1===e.indexOf("w")||146&A.mode)&&(-1===e.indexOf("x")||73&A.mode)?0:sA.EACCES},mayLookup:function(A){return EA.nodePermissions(A,"x")||(A.node_ops.lookup?0:sA.EACCES)},mayCreate:function(A,e){try{return EA.lookupNode(A,e),sA.EEXIST}catch(A){}return EA.nodePermissions(A,"wx")},mayDelete:function(A,e,i){var r;try{r=EA.lookupNode(A,e)}catch(A){return A.errno}var f=EA.nodePermissions(A,"wx");if(f)return f;if(i){if(!EA.isDir(r.mode))return sA.ENOTDIR;if(EA.isRoot(r)||EA.getPath(r)===EA.cwd())return sA.EBUSY}else if(EA.isDir(r.mode))return sA.EISDIR;return 0},mayOpen:function(A,e){return A?EA.isLink(A.mode)?sA.ELOOP:EA.isDir(A.mode)&&("r"!==EA.flagsToPermissionString(e)||512&e)?sA.EISDIR:EA.nodePermissions(A,EA.flagsToPermissionString(e)):sA.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(A,e){A=A||0,e=e||EA.MAX_OPEN_FDS;for(var i=A;i<=e;i++)if(!EA.streams[i])return i;throw new EA.ErrnoError(sA.EMFILE)},getStream:function(A){return EA.streams[A]},createStream:function(A,e,i){EA.FSStream||(EA.FSStream=function(){},EA.FSStream.prototype={},Object.defineProperties(EA.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var r=new EA.FSStream;for(var f in A)r[f]=A[f];A=r;var a=EA.nextfd(e,i);return A.fd=a,EA.streams[a]=A,A},closeStream:function(A){EA.streams[A]=null},chrdev_stream_ops:{open:function(A){var e=EA.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new EA.ErrnoError(sA.ESPIPE)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,e){return A<<8|e},registerDevice:function(A,e){EA.devices[A]={stream_ops:e}},getDevice:function(A){return EA.devices[A]},getMounts:function(A){for(var e=[],i=[A];i.length;){var r=i.pop();e.push(r),i.push.apply(i,r.mounts)}return e},syncfs:function(A,e){"function"==typeof A&&(e=A,A=!1),EA.syncFSRequests++,EA.syncFSRequests>1&&console.log("warning: "+EA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var i=EA.getMounts(EA.root.mount),r=0;function f(A){return k(EA.syncFSRequests>0),EA.syncFSRequests--,e(A)}function a(A){if(A)return a.errored?void 0:(a.errored=!0,f(A));++r>=i.length&&f(null)}i.forEach((function(e){if(!e.type.syncfs)return a(null);e.type.syncfs(e,A,a)}))},mount:function(A,e,i){var r,f="/"===i,a=!i;if(f&&EA.root)throw new EA.ErrnoError(sA.EBUSY);if(!f&&!a){var n=EA.lookupPath(i,{follow_mount:!1});if(i=n.path,r=n.node,EA.isMountpoint(r))throw new EA.ErrnoError(sA.EBUSY);if(!EA.isDir(r.mode))throw new EA.ErrnoError(sA.ENOTDIR)}var l={type:A,opts:e,mountpoint:i,mounts:[]},t=A.mount(l);return t.mount=l,l.root=t,f?EA.root=t:r&&(r.mounted=l,r.mount&&r.mount.mounts.push(l)),t},unmount:function(A){var e=EA.lookupPath(A,{follow_mount:!1});if(!EA.isMountpoint(e.node))throw new EA.ErrnoError(sA.EINVAL);var i=e.node,r=i.mounted,f=EA.getMounts(r);Object.keys(EA.nameTable).forEach((function(A){for(var e=EA.nameTable[A];e;){var i=e.name_next;-1!==f.indexOf(e.mount)&&EA.destroyNode(e),e=i}})),i.mounted=null;var a=i.mount.mounts.indexOf(r);k(-1!==a),i.mount.mounts.splice(a,1)},lookup:function(A,e){return A.node_ops.lookup(A,e)},mknod:function(A,e,i){var r=EA.lookupPath(A,{parent:!0}).node,f=oA.basename(A);if(!f||"."===f||".."===f)throw new EA.ErrnoError(sA.EINVAL);var a=EA.mayCreate(r,f);if(a)throw new EA.ErrnoError(a);if(!r.node_ops.mknod)throw new EA.ErrnoError(sA.EPERM);return r.node_ops.mknod(r,f,e,i)},create:function(A,e){return e=void 0!==e?e:438,e&=4095,e|=32768,EA.mknod(A,e,0)},mkdir:function(A,e){return e=void 0!==e?e:511,e&=1023,e|=16384,EA.mknod(A,e,0)},mkdirTree:function(A,e){for(var i=A.split("/"),r="",f=0;fthis.length-1||A<0)){var e=A%this.chunkSize,i=A/this.chunkSize|0;return this.getter(i)[e]}},a.prototype.setDataGetter=function(A){this.getter=A},a.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",i,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn\'t load "+i+". Status: "+A.status);var e,r=Number(A.getResponseHeader("Content-length")),f=(e=A.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=A.getResponseHeader("Content-Encoding"))&&"gzip"===e,n=1048576;f||(n=r);var l=this;l.setDataGetter((function(A){var e=A*n,f=(A+1)*n-1;if(f=Math.min(f,r-1),void 0===l.chunks[A]&&(l.chunks[A]=function(A,e){if(A>e)throw new Error("invalid range ("+A+", "+e+") or no bytes requested!");if(e>r-1)throw new Error("only "+r+" bytes available! programmer error!");var f=new XMLHttpRequest;if(f.open("GET",i,!1),r!==n&&f.setRequestHeader("Range","bytes="+A+"-"+e),"undefined"!=typeof Uint8Array&&(f.responseType="arraybuffer"),f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined"),f.send(null),!(f.status>=200&&f.status<300||304===f.status))throw new Error("Couldn\'t load "+i+". Status: "+f.status);return void 0!==f.response?new Uint8Array(f.response||[]):NA(f.responseText||"",!0)}(e,f)),void 0===l.chunks[A])throw new Error("doXHR failed!");return l.chunks[A]})),!a&&r||(n=r=1,r=this.getter(0).length,n=r,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var n=new a;Object.defineProperties(n,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var t={isDevice:!1,contents:n}}else t={isDevice:!1,url:i};var c=EA.createFile(A,e,t,r,f);t.contents?c.contents=t.contents:t.url&&(c.contents=null,c.url=t.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var b={};return Object.keys(c.stream_ops).forEach((function(A){var e=c.stream_ops[A];b[A]=function(){if(!EA.forceLoadFile(c))throw new EA.ErrnoError(sA.EIO);return e.apply(null,arguments)}})),b.read=function(A,e,i,r,f){if(!EA.forceLoadFile(c))throw new EA.ErrnoError(sA.EIO);var a=A.node.contents;if(f>=a.length)return 0;var n=Math.min(a.length-f,r);if(k(n>=0),a.slice)for(var l=0;l>2]=r.dev,C[i+4>>2]=0,C[i+8>>2]=r.ino,C[i+12>>2]=r.mode,C[i+16>>2]=r.nlink,C[i+20>>2]=r.uid,C[i+24>>2]=r.gid,C[i+28>>2]=r.rdev,C[i+32>>2]=0,C[i+36>>2]=r.size,C[i+40>>2]=4096,C[i+44>>2]=r.blocks,C[i+48>>2]=r.atime.getTime()/1e3|0,C[i+52>>2]=0,C[i+56>>2]=r.mtime.getTime()/1e3|0,C[i+60>>2]=0,C[i+64>>2]=r.ctime.getTime()/1e3|0,C[i+68>>2]=0,C[i+72>>2]=r.ino,0},doMsync:function(A,e,i,r){var f=new Uint8Array(g.subarray(A,A+i));EA.msync(e,f,0,i,r)},doMkdir:function(A,e){return"/"===(A=oA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),EA.mkdir(A,e,0),0},doMknod:function(A,e,i){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-sA.EINVAL}return EA.mknod(A,e,i),0},doReadlink:function(A,e,i){if(i<=0)return-sA.EINVAL;var r=EA.readlink(A),f=Math.min(i,F(r)),a=v[e+f];return M(r,e,i+1),v[e+f]=a,f},doAccess:function(A,e){if(-8&e)return-sA.EINVAL;var i;i=EA.lookupPath(A,{follow:!0}).node;var r="";return 4&e&&(r+="r"),2&e&&(r+="w"),1&e&&(r+="x"),r&&EA.nodePermissions(i,r)?-sA.EACCES:0},doDup:function(A,e,i){var r=EA.getStream(i);return r&&EA.close(r),EA.open(A,e,0,i,i).fd},doReadv:function(A,e,i,r){for(var f=0,a=0;a>2],l=C[e+(8*a+4)>>2],t=EA.read(A,v,n,l,r);if(t<0)return-1;if(f+=t,t>2],l=C[e+(8*a+4)>>2],t=EA.write(A,v,n,l,r);if(t<0)return-1;f+=t}return f},varargs:0,get:function(A){return CA.varargs+=4,C[CA.varargs-4>>2]},getStr:function(){return d(CA.get())},getStreamFromFD:function(){var A=EA.getStream(CA.get());if(!A)throw new EA.ErrnoError(sA.EBADF);return A},getSocketFromFD:function(){var A=SOCKFS.getSocket(CA.get());if(!A)throw new EA.ErrnoError(sA.EBADF);return A},getSocketAddress:function(A){var e=CA.get(),i=CA.get();if(A&&0===e)return null;var r=__read_sockaddr(e,i);if(r.errno)throw new EA.ErrnoError(r.errno);return r.addr=DNS.lookup_addr(r.addr)||r.addr,r},get64:function(){var A=CA.get(),e=CA.get();return k(A>=0?0===e:-1===e),A},getZero:function(){k(0===CA.get())}},IA=function(A,e,i,r){var f,a;"number"==typeof A?(f=!0,a=A):(f=!1,a=A.length);var n,l=e;if(n=["function"==typeof xA?xA:b,SA,b,s][2](Math.max(a,l?1:2)),f){var t;for(r=n,k(0==(3&n)),t=n+(-4&a);r>2]=0;for(t=n+a;r>0]=0;return n}return A.subarray||A.slice?g.set(A,n):g.set(new Uint8Array(A),n),n}([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");function ZA(e){A.exit(e)}var GA=I;function QA(e){var i,r;QA.called?(r=C[GA>>2],i=C[r>>2]):(QA.called=!0,mA.USER=mA.LOGNAME="web_user",mA.PATH="/",mA.PWD="/",mA.HOME="/home/web_user",mA.LANG="C.UTF-8",mA._=A.thisProgram,i=b(1024),r=b(256),C[r>>2]=i,C[GA>>2]=r);var f=[],a=0;for(var n in e)if("string"==typeof e[n]){var l=n+"="+e[n];f.push(l),a+=l.length}if(a>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var t=0;t>2]=i,i+=l.length+1;C[r+4*f.length>>2]=0}I+=16;var mA={},LA=K,WA=P,yA=P,zA=_,YA=q,DA=O,MA=O;if(cA=t?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:"object"==typeof self&&self.performance&&"function"==typeof self.performance.now?function(){return self.performance.now()}:"object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,EA.staticInit(),p.unshift((function(){A.noFSInit||EA.init.initialized||EA.init()})),U.push((function(){EA.ignorePermissions=!1})),x.push((function(){EA.quit()})),p.unshift((function(){hA.init()})),x.push((function(){hA.shutdown()})),t){var FA=i(725),VA=i(966);vA.staticInit()}QA(mA),W=b(4),G=Q=w(I),L=w(m=G+N),C[W>>2]=L,Z=!0;var JA=!1;function NA(A,e,i){var r=i>0?i:F(A)+1,f=new Array(r),a=D(A,f,0,f.length);return e&&(f.length=a),f}function XA(A){for(var e=[],i=0;i255&&(JA&&k(!1,"Character code "+r+" ("+String.fromCharCode(r)+") at offset "+i+" not in 0x00-0xFF."),r&=255),e.push(String.fromCharCode(r))}return e.join("")}var RA="function"==typeof atob?atob:function(A){var e,i,r,f,a,n,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="",c=0;A=A.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do{e=l.indexOf(A.charAt(c++))<<2|(f=l.indexOf(A.charAt(c++)))>>4,i=(15&f)<<4|(a=l.indexOf(A.charAt(c++)))>>2,r=(3&a)<<6|(n=l.indexOf(A.charAt(c++))),t+=String.fromCharCode(e),64!==a&&(t+=String.fromCharCode(i)),64!==n&&(t+=String.fromCharCode(r))}while(c>2]=i.position,i.getdents&&0===n&&0===a&&(i.getdents=null),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall145:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return CA.doReadv(i,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall146:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return CA.doWritev(i,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall192:function(A,e){CA.varargs=e;try{var i,r=CA.get(),f=CA.get(),a=CA.get(),n=CA.get(),l=CA.get(),t=CA.get();t<<=12;var c=!1;if(-1===l){if(!(i=TA(16384,f)))return-sA.ENOMEM;jA(i,0,f),c=!0}else{var b=EA.getStream(l);if(!b)return-sA.EBADF;var s=EA.mmap(b,g,r,f,t,a,n);i=s.ptr,c=s.allocated}return CA.mappings[i]={malloc:i,len:f,allocated:c,fd:l,flags:n},i}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall195:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get();return CA.doStat(EA.stat,i,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall197:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get();return CA.doStat(EA.stat,i.path,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall20:function(A,e){CA.varargs=e;try{return 42}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall221:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD();switch(CA.get()){case 0:return(r=CA.get())<0?-sA.EINVAL:EA.open(i.path,i.flags,0,r).fd;case 1:case 2:case 13:case 14:case 13:case 14:return 0;case 3:return i.flags;case 4:var r=CA.get();return i.flags|=r,0;case 12:case 12:return r=CA.get(),E[r+0>>1]=2,0;case 16:case 8:default:return-sA.EINVAL;case 9:return wA(sA.EINVAL),-1}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall3:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return EA.read(i,v,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall33:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get();return CA.doAccess(i,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall5:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get(),f=CA.get();return EA.open(i,r,f).fd}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall54:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get();switch(r){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:return i.tty?0:-sA.ENOTTY;case 21519:if(!i.tty)return-sA.ENOTTY;var f=CA.get();return C[f>>2]=0,0;case 21520:return i.tty?-sA.EINVAL:-sA.ENOTTY;case 21531:return f=CA.get(),EA.ioctl(i,r,f);default:re("bad ioctl syscall "+r)}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall6:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD();return EA.close(i),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall91:function(A,e){CA.varargs=e;try{var i=CA.get(),r=CA.get(),f=CA.mappings[i];if(!f)return 0;if(r===f.len){var a=EA.getStream(f.fd);CA.doMsync(i,a,r,f.flags),EA.munmap(a),CA.mappings[i]=null,f.allocated&&UA(f.malloc)}return 0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___unlock:function(){},__exit:ZA,_clock_gettime:uA,_emscripten_asm_const_iii:function(A,e,i){return lA[A](e,i)},_emscripten_get_now:cA,_emscripten_get_now_is_monotonic:bA,_emscripten_memcpy_big:function(A,e,i){return g.set(g.subarray(e,e+i),A),A},_exit:function(A){ZA(A)},_getenv:function A(e){return 0===e?0:(e=d(e),mA.hasOwnProperty(e)?(A.ret&&UA(A.ret),A.ret=(r=F(i=mA[e])+1,(f=xA(r))&&D(i,v,f,r),f)):0);var i,r,f},_gettimeofday:function(A){var e=Date.now();return C[A>>2]=e/1e3|0,C[A+4>>2]=e%1e3*1e3|0,0},_llvm_ceil_f64:LA,_llvm_fabs_f32:WA,_llvm_fabs_f64:yA,_llvm_floor_f64:zA,_llvm_pow_f64:YA,_llvm_sqrt_f32:DA,_llvm_sqrt_f64:MA,_llvm_trap:function(){re("trap!")},_longjmp:function(e,i){throw A.setThrew(e,i||1),"longjmp"},_setenv:function(A,e,i){if(0===A)return wA(sA.EINVAL),-1;var r=d(A),f=d(e);return""===r||-1!==r.indexOf("=")?(wA(sA.EINVAL),-1):(mA.hasOwnProperty(r)&&!i||(mA[r]=f,QA(mA)),0)},_time:function(A){var e=Date.now()/1e3|0;return A&&(C[A>>2]=e),e},_times:function(A){return 0!==A&&jA(A,0,16),0},DYNAMICTOP_PTR:W,tempDoublePtr:tA,ABORT:u,STACKTOP:Q,STACK_MAX:m,cttz_i8:IA};var pA=function(A,e,i){"use asm";var r=new A.Int8Array(i);var f=new A.Int16Array(i);var a=new A.Int32Array(i);var n=new A.Uint8Array(i);var l=new A.Uint16Array(i);var t=new A.Uint32Array(i);var c=new A.Float32Array(i);var b=new A.Float64Array(i);var s=e.DYNAMICTOP_PTR|0;var w=e.tempDoublePtr|0;var u=e.ABORT|0;var k=e.STACKTOP|0;var o=e.STACK_MAX|0;var h=e.cttz_i8|0;var d=0;var B=0;var v=0;var g=0;var E=A.NaN,C=A.Infinity;var I=0,Z=0,G=0,Q=0,m=0.0;var L=0;var W=A.Math.floor;var y=A.Math.abs;var z=A.Math.sqrt;var Y=A.Math.pow;var D=A.Math.cos;var M=A.Math.sin;var F=A.Math.tan;var V=A.Math.acos;var J=A.Math.asin;var N=A.Math.atan;var X=A.Math.atan2;var R=A.Math.exp;var H=A.Math.log;var p=A.Math.ceil;var U=A.Math.imul;var x=A.Math.min;var T=A.Math.max;var j=A.Math.clz32;var S=e.abort;var P=e.assert;var O=e.enlargeMemory;var K=e.getTotalMemory;var _=e.abortOnCannotGrowMemory;var q=e.invoke_d;var $=e.invoke_dddd;var AA=e.invoke_di;var eA=e.invoke_i;var iA=e.invoke_ii;var rA=e.invoke_iii;var fA=e.invoke_iiidd;var aA=e.invoke_iiii;var nA=e.invoke_iiiii;var lA=e.invoke_iiiiii;var tA=e.invoke_iiiiiii;var cA=e.invoke_iiiiiiiiiii;var bA=e.invoke_v;var sA=e.invoke_vi;var wA=e.invoke_vii;var uA=e.invoke_viii;var kA=e.invoke_viiiddi;var oA=e.invoke_viiii;var hA=e.invoke_viiiii;var dA=e.invoke_viiiiii;var BA=e.invoke_viiiiiiiii;var vA=e.___assert_fail;var gA=e.___buildEnvironment;var EA=e.___clock_gettime;var CA=e.___lock;var IA=e.___map_file;var ZA=e.___setErrNo;var GA=e.___syscall10;var QA=e.___syscall140;var mA=e.___syscall145;var LA=e.___syscall146;var WA=e.___syscall192;var yA=e.___syscall195;var zA=e.___syscall197;var YA=e.___syscall20;var DA=e.___syscall221;var MA=e.___syscall3;var FA=e.___syscall33;var VA=e.___syscall5;var JA=e.___syscall54;var NA=e.___syscall6;var XA=e.___syscall91;var RA=e.___unlock;var HA=e.__exit;var pA=e._clock_gettime;var UA=e._emscripten_asm_const_iii;var xA=e._emscripten_get_now;var TA=e._emscripten_get_now_is_monotonic;var jA=e._emscripten_memcpy_big;var SA=e._exit;var PA=e._getenv;var OA=e._gettimeofday;var KA=e._llvm_ceil_f64;var _A=e._llvm_fabs_f32;var qA=e._llvm_fabs_f64;var $A=e._llvm_floor_f64;var Ae=e._llvm_pow_f64;var ee=e._llvm_sqrt_f32;var ie=e._llvm_sqrt_f64;var re=e._llvm_trap;var fe=e._longjmp;var ae=e._setenv;var ne=e._time;var le=e._times;var te=0.0;function ce(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0;Z=k;k=k+16|0;c=Z+8|0;I=4;C=m2(40)|0;a[C>>2]=0;h=Z;d=0;i=iA(29,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;A:do{if((n|0)!=1){d=0;E=iA(23,i<<3|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){i=W6(a[f>>2]|0,C|0,I|0)|0;if(!i)fe(f|0,B|0);L=B}else i=-1;if((i|0)!=1){if(!(r[194954]|0))v=0;else{d=0;i=eA(3)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=0;b=0;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74;break}v=i}d=0;i=rA(97,A|0,110064)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[47323]=0;e:do{if(i|0?(t=r[i>>0]|0,t<<24>>24):0){l=i;f=t;n=0;while(1){t=l+1|0;if(!(f<<24>>24))break e;switch(f<<24>>24|0){case 99:{i=8;g=16;break}case 105:{i=18;g=16;break}case 109:{i=1;g=16;break}case 114:{i=4;g=16;break}case 115:{i=2;g=16;break}default:i=n}if((g|0)==16){g=0;i=n|i;a[47323]=i}l=t;f=r[t>>0]|0;n=i}}}while(0);if(e|0){d=0;aA(20,0,110068,c|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=0;b=v;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74;break}}d=0;o=rA(98,A|0,0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){s=a[o+16>>2]|0;if(a[47323]&2|0){d=0;wA(26,a[15712]|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break}}d=0;n=iA(25,A|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){w=0;while(1){if(!n)break;d=0;i=rA(99,A|0,n|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}t=w;while(1){if(!i)break;if(!((a[47134]|0)==2?(a[(a[i+16>>2]|0)+8>>2]|0)!=0:0))g=32;e:do{if((g|0)==32){g=0;do{if(r[194954]|0){b=a[i>>2]&3;c=(a[a[((b|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;b=(a[a[((b|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if(c>>>0>b>>>0){d=0;f=aA(34,v|0,b|0,c|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){e=W6(a[l>>2]|0,C|0,I|0)|0;if(!e)fe(l|0,B|0);L=B}else e=-1;if((e|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}if(f|0)break e;d=0;uA(64,v|0,b|0,c|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}break}else{d=0;f=aA(34,v|0,c|0,b|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){e=W6(a[l>>2]|0,C|0,I|0)|0;if(!e)fe(l|0,B|0);L=B}else e=-1;if((e|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}if(f|0)break e;d=0;uA(64,v|0,c|0,b|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}break}}}while(0);a[E+(t<<3)+4>>2]=i;d=0;e=iA(30,i|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}a[E+(t<<3)>>2]=e;t=t+1|0}}while(0);d=0;i=rA(100,A|0,i|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}}d=0;n=rA(86,A|0,n|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}w=t}d=0;c=iA(31,w<<3|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){d=0;oA(28,E|0,w|0,8,101);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){n=a[s>>2]|0;d=0;sA(110,n+2|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){t=a[s+16>>2]|0;e=t+(n*40|0)|0;t=t+((n+1|0)*40|0)|0;u=a[15712]|0;l=0;while(1){if((l|0)>=(w|0))break;if((l|0)>0?a[47323]&16|0:0){d=0;wA(26,u|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}i=a[E+(l<<3)+4>>2]|0;b=a[i>>2]&3;n=a[(a[(a[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;i=a[(a[(a[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((n|0)==(i|0)){d=0;oA(29,s|0,n|0,t|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}else{d=0;uA(65,s|0,i|0,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}d=0;uA(65,s|0,n|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}d=0;i=aA(35,s|0,t|0,e|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}if(i|0){b=v;s=c;t=o;e=E;l=E;break A}i=c+(l<<3)|0;d=0;oA(30,h|0,s|0,e|0,t|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}n=h;b=a[n+4>>2]|0;a[i>>2]=a[n>>2];a[i+4>>2]=b;d=0;sA(111,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}l=l+1|0}d=0;bA(8);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){d=0;i=iA(32,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[o+20>>2]=i;d=0;i=iA(33,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[o+24>>2]=i;d=0;uA(66,w|0,c|0,o|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){C=L6(189296,1,C|0,I|0)|0;I=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){b=v;s=c;t=o;e=E;l=E;i=0;n=u;g=74}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=0;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=0;g=74}}else{b=v;s=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=0;s=0;c=0;t=0;e=0;l=E;i=L;n=0;g=74}}else{w=0;b=0;s=0;c=0;t=0;e=0;l=0;i=L;n=0;g=74}}while(0);A:while(1){if((g|0)==74){g=0;if(i|0){u=n;continue}d=0;sA(112,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){G=n;f=l;u=e;o=t;h=c;v=s;E=b;g=w;i=L;n=G;l=f;e=u;t=o;c=h;s=v;b=E;w=g;g=74;continue}if(a[47323]&4|0){d=0;hA(8,n|0,t|0,w|0,s|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){f=n;u=l;o=e;h=t;v=c;E=s;G=b;g=w;i=L;n=f;l=u;e=o;t=h;c=v;s=E;b=G;w=g;g=74;continue}}d=0;dA(10,A|0,t|0,w|0,s|0,e|0,0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){f=n;u=l;o=e;h=t;v=c;E=s;G=b;g=w;i=L;n=f;l=u;e=o;t=h;c=v;s=E;b=G;w=g;g=74;continue}u=n}if(!(r[194954]|0))i=0;else{d=0;sA(113,b|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}i=0}while(1){if((i|0)>=(w|0))break;d=0;sA(105,a[s+(i<<3)+4>>2]|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;n=u;g=74;continue A}i=i+1|0}d=0;sA(105,c|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}d=0;sA(114,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}d=0;sA(105,l|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74}else break}L2(C|0);k=Z;return}function be(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+64|0;o=h+32|0;u=h+16|0;t=h;c=h+48|0;m3(110935,A)|0;m3(110946,A)|0;s=e+16|0;w=t+8|0;l=c+4|0;n=0;while(1){if((n|0)>=(a[e>>2]|0))break;i=a[s>>2]|0;r=a[i+(n*40|0)+20>>2]|0;f=a[i+(n*40|0)+24>>2]|0;if((r|0)==(f|0)){ri(t,r);i=~~+b[t>>3];r=~~+b[w>>3]}else{ai(c,(a[r>>2]&1|0)==0?r:f,i+(n*40|0)|0);i=a[c>>2]|0;r=a[l>>2]|0}a[u>>2]=n;a[u+4>>2]=i;a[u+8>>2]=r;f3(A,110966,u)|0;n=n+1|0}f=e+4|0;r=e+20|0;i=0;while(1){if((i|0)>=(a[f>>2]|0))break;u=a[r>>2]|0;e=a[u+(i*24|0)+16>>2]|0;d=+b[u+(i*24|0)>>3];a[o>>2]=a[u+(i*24|0)+12>>2];a[o+4>>2]=e;b[o+8>>3]=d;f3(A,110986,o)|0;i=i+1|0}m3(111008,A)|0;k=h;return}function se(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;f=a[A>>2]&3;r=a[(a[((f|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;A=a[(a[((f|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;e=+b[r+16>>3]-+b[A+16>>3];i=+b[r+24>>3]-+b[A+24>>3];return~~(i*i+e*e)|0}function we(A,e){A=A|0;e=e|0;return(a[A>>2]|0)-(a[e>>2]|0)|0}function ue(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+32|0;c=w;ri(w+16|0,e);b=e+32|0;s=e+36|0;n=0;while(1){if((n|0)>=(a[b>>2]|0))break;l=a[(a[s>>2]|0)+(n<<2)>>2]|0;do{if(!(r[l+36>>0]|0)){t=a[l+20>>2]|0;if((t|0)==(e|0)){ei(c,l,a[l+24>>2]|0);Ci(A,f,l,0.0)|0;break}else{ei(c,l,t);Ci(A,i,l,0.0)|0;break}}}while(0);n=n+1|0}a[A>>2]=(a[A>>2]|0)+2;k=w;return}function ke(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;l=b;ri(b+16|0,e);t=e+32|0;c=e+36|0;f=0;while(1){if((f|0)>=(a[t>>2]|0))break;n=a[(a[c>>2]|0)+(f<<2)>>2]|0;r=a[n+20>>2]|0;if((r|0)==(e|0))r=a[n+24>>2]|0;ei(l,n,r);Ci(A,i,n,0.0)|0;f=f+1|0}a[A>>2]=(a[A>>2]|0)+1;a[i+24>>2]=e;a[i+20>>2]=e;k=b;return}function oe(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+128|0;L=D+64|0;w=D+48|0;W=D+32|0;y=D+16|0;z=D;n=0;l=i;while(1){if(!l)break;n=n+1|0;l=a[l+8>>2]|0}m=qF((n*56|0)+-112|0)|0;a[L+52>>2]=0;a[L+48>>2]=0;Q=i+8|0;i=a[Q>>2]|0;l=a[i+8>>2]|0;n=a[i+20>>2]|0;if(a[n>>2]&1)n=a[i+24>>2]|0;ei(w,i,n);t=i;h=i;o=0.0;u=+b[w>>3];G=0;s=0.0;I=+b[w+8>>3];while(1){Z=l+8|0;if(!(a[Z>>2]|0))break;E=ii(t,l)|0;Oa(e,E,a[h+12>>2]|0);v=h+36|0;g=l+36|0;if((r[v>>0]|0)==(r[g>>0]|0))if((a[Z>>2]|0)==(f|0)){ei(y,l,E);i=y;Y=12}else{t=h;i=G;c=I}else{ri(W,E);i=W;Y=12}if((Y|0)==12){Y=0;C=+b[i>>3];c=+b[i+8>>3];i=r[v>>0]|0;B=i<<24>>24==0;d=(h|0)==(a[Q>>2]|0);if(B){if(!(r[g>>0]|0))i=0;else i=(a[l+20>>2]|0)==(E|0)?4:2;w=E+48|0;h=n+48|0;t=n+40|0;n=d?0:o>u?4:2}else{if(i<<24>>24==(r[g>>0]|0))i=0;else i=(a[l+20>>2]|0)==(E|0)?1:3;w=E+40|0;h=n+40|0;t=n+48|0;n=d?0:s>I?1:3}fi(L,B&1,+b[t>>3],+b[h>>3],+b[w>>3],n,i);h=G+1|0;n=m+(G*56|0)|0;i=L;t=n+56|0;do{a[n>>2]=a[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(t|0));if((r[v>>0]|0)!=(r[g>>0]|0)?(a[Z>>2]|0)==(f|0):0){ei(z,l,E);w=(r[g>>0]|0)==0;i=E+40|0;n=E+48|0;o=+b[(w?n:i)>>3];fi(L,w&1,+b[(w?i:n)>>3],o,o,w?u>C?4:2:I>c?1:3,0);w=G+2|0;n=m+(h*56|0)|0;i=L;t=n+56|0;do{a[n>>2]=a[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(t|0));n=E;t=l;o=u;u=C;i=w;s=I}else{n=E;t=l;o=u;u=C;i=h;s=I}}E=l;l=a[Z>>2]|0;h=t;G=i;I=c;t=E}l=y2(m,G*56|0)|0;i=G+-1|0;n=0;while(1){if((n|0)>=(G|0))break;if((n|0)>0)a[l+(n*56|0)+48>>2]=l+((n+-1|0)*56|0);if((n|0)<(i|0)){Y=n+1|0;a[l+(n*56|0)+52>>2]=l+(Y*56|0);n=Y;continue}else{n=n+1|0;continue}}a[A>>2]=G;a[A+4>>2]=l;k=D;return}function he(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=jk(25692,a[4581]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(a[A>>2]|0))break;e=(a[c>>2]|0)+(l*72|0)|0;if(!(a[e>>2]&4)){while(1){i=a[(a[e+36>>2]|0)+8>>2]|0;if(!i)break;i=a[i+20>>2]|0;if(!i)break;if(!(a[i>>2]&1))e=i;else break}n=qF(40)|0;a[n+36>>2]=e;b[n+8>>3]=+b[e+40>>3];f=e;i=a[e>>2]|0;while(1){a[f>>2]=i|4;i=a[a[f+36>>2]>>2]|0;if(!i)break;r=a[i+24>>2]|0;if(!r)break;i=a[r>>2]|0;if(i&1|0)break;else f=r}b[n+16>>3]=+b[f+56>>3];Ke(t,n,+b[e+48>>3])}l=l+1|0}return t|0}function de(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=jk(25692,a[4581]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(a[A>>2]|0))break;e=(a[c>>2]|0)+(l*72|0)|0;if(!(a[e>>2]&2)){while(1){i=a[(a[e+36>>2]|0)+12>>2]|0;if(!i)break;i=a[i+20>>2]|0;if(!i)break;if(!(a[i>>2]&1))e=i;else break}n=qF(40)|0;a[n+36>>2]=e;b[n+8>>3]=+b[e+48>>3];f=e;i=a[e>>2]|0;while(1){a[f>>2]=i|2;i=a[(a[f+36>>2]|0)+4>>2]|0;if(!i)break;r=a[i+24>>2]|0;if(!r)break;i=a[r>>2]|0;if(i&1|0)break;else f=r}b[n+16>>3]=+b[f+64>>3];Ke(t,n,+b[e+40>>3])}l=l+1|0}return t|0}function Be(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=i+20|0;t=i+24|0;i=0;while(1){if((i|0)>=(A|0))break;n=a[e+(i<<3)>>2]|0;l=a[e+(i<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(n|0))break;b=l+(f*56|0)|0;Oe(me(a[((r[b>>0]|0)==0?c:t)>>2]|0,b)|0,b);f=f+1|0}i=i+1|0}return}function ve(A){A=A|0;var e=0,i=0;i=A+20|0;We(a[i>>2]|0);e=A+24|0;We(a[e>>2]|0);ye(a[i>>2]|0);ye(a[e>>2]|0);ze(a[i>>2]|0,A);ze(a[e>>2]|0,A);Ye(a[i>>2]|0);Ye(a[e>>2]|0);return}function ge(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0.0,W=0,y=0.0;G=k;k=k+224|0;w=G+176|0;s=G+208|0;I=G+160|0;Z=G+128|0;c=G+96|0;v=G+64|0;g=G;u=G+32|0;E=g+8|0;b[E>>3]=1797693134862315708145274.0e284;b[g>>3]=1797693134862315708145274.0e284;C=g+24|0;b[C>>3]=-1797693134862315708145274.0e284;o=g+16|0;b[o>>3]=-1797693134862315708145274.0e284;m3(110183,A)|0;a[w>>2]=10;a[w+4>>2]=10;f3(A,110589,w)|0;m3(138265,A)|0;l=e+4|0;t=e+12|0;h=v+8|0;d=v+16|0;B=v+24|0;n=0;while(1){if((n|0)>=(a[l>>2]|0))break;W=(a[t>>2]|0)+(n*72|0)+40|0;a[v>>2]=a[W>>2];a[v+4>>2]=a[W+4>>2];a[v+8>>2]=a[W+8>>2];a[v+12>>2]=a[W+12>>2];a[v+16>>2]=a[W+16>>2];a[v+20>>2]=a[W+20>>2];a[v+24>>2]=a[W+24>>2];a[v+28>>2]=a[W+28>>2];L=+b[h>>3];m=+b[d>>3];Q=+b[B>>3];b[c>>3]=+b[v>>3];b[c+8>>3]=L;b[c+16>>3]=m;b[c+24>>3]=Q;f3(A,138284,c)|0;n=n+1|0}n=0;while(1){if((n|0)>=(i|0))break;W=a[f+(n<<3)+4>>2]|0;c=r+(n<<3)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[w>>2]=a[g>>2];a[w+4>>2]=a[g+4>>2];a[w+8>>2]=a[g+8>>2];a[w+12>>2]=a[g+12>>2];a[w+16>>2]=a[g+16>>2];a[w+20>>2]=a[g+20>>2];a[w+24>>2]=a[g+24>>2];a[w+28>>2]=a[g+28>>2];Le(u,A,W,s,e,w);a[g>>2]=a[u>>2];a[g+4>>2]=a[u+4>>2];a[g+8>>2]=a[u+8>>2];a[g+12>>2]=a[u+12>>2];a[g+16>>2]=a[u+16>>2];a[g+20>>2]=a[u+20>>2];a[g+24>>2]=a[u+24>>2];a[g+28>>2]=a[u+28>>2];n=n+1|0}m3(110606,A)|0;l=e+8|0;n=0;while(1){if((n|0)>=(a[e>>2]|0))break;W=(a[l>>2]|0)+(n*72|0)+40|0;a[v>>2]=a[W>>2];a[v+4>>2]=a[W+4>>2];a[v+8>>2]=a[W+8>>2];a[v+12>>2]=a[W+12>>2];a[v+16>>2]=a[W+16>>2];a[v+20>>2]=a[W+20>>2];a[v+24>>2]=a[W+24>>2];a[v+28>>2]=a[W+28>>2];y=+b[v>>3];Q=+b[h>>3];m=+b[d>>3];L=+b[B>>3];b[Z>>3]=y;b[Z+8>>3]=Q;b[Z+16>>3]=m;b[Z+24>>3]=L;f3(A,138321,Z)|0;b[g>>3]=+b[(+b[g>>3]>3];b[E>>3]=+b[(+b[E>>3]>3];b[o>>3]=+b[(+b[o>>3]>m?g:v)+16>>3];b[C>>3]=+b[(+b[C>>3]>L?g:v)+24>>3];n=n+1|0}E=~~(+b[E>>3]+10.0);Z=~~(+b[o>>3]+10.0);W=~~(+b[C>>3]+10.0);a[I>>2]=~~(+b[g>>3]+10.0);a[I+4>>2]=E;a[I+8>>2]=Z;a[I+12>>2]=W;f3(A,110631,I)|0;k=G;return}function Ee(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;X=k;k=k+112|0;z=X+88|0;y=X+72|0;N=X+32|0;M=X+16|0;F=X;V=X+56|0;J=X+40|0;Y=a[15712]|0;C=(l|0)==0;I=F+8|0;Z=M+8|0;E=0;s=0;w=0;u=0;o=0;l=0;while(1){if((E|0)>=(i|0))break;G=a[n+(E<<3)+4>>2]|0;Q=G+48|0;g=(a[(a[((a[G>>2]&3|0)==3?G:Q)+40>>2]|0)+16>>2]|0)+16|0;m=G+16|0;L=(a[m>>2]|0)+16|0;a[y>>2]=a[g>>2];a[y+4>>2]=a[g+4>>2];a[y+8>>2]=a[g+8>>2];a[y+12>>2]=a[g+12>>2];a[z>>2]=a[L>>2];a[z+4>>2]=a[L+4>>2];a[z+8>>2]=a[L+8>>2];a[z+12>>2]=a[L+12>>2];Ce(V,y,z);a[M>>2]=a[V>>2];a[M+4>>2]=a[V+4>>2];a[M+8>>2]=a[V+8>>2];a[M+12>>2]=a[V+12>>2];L=G+-48|0;g=(a[(a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0)+16>>2]|0)+16|0;v=(a[m>>2]|0)+56|0;a[y>>2]=a[g>>2];a[y+4>>2]=a[g+4>>2];a[y+8>>2]=a[g+8>>2];a[y+12>>2]=a[g+12>>2];a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];Ce(J,y,z);a[F>>2]=a[J>>2];a[F+4>>2]=a[J+4>>2];a[F+8>>2]=a[J+8>>2];a[F+12>>2]=a[J+12>>2];v=a[f+(E<<3)>>2]|0;g=a[f+(E<<3)+4>>2]|0;B=v*3|0;W=B+1|0;if((B|0)>=(w|0)){if(s|0)L2(l);o=$F(W<<4)|0;s=o;w=W;u=o;l=o}if(!(r[g>>0]|0)){c=+(Ze(g,e)|0);t=+b[M>>3]}else{t=+Ie(g,e);c=+b[Z>>3]}d=s+16|0;b[s+16>>3]=t;b[s+24>>3]=c;a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];d=1;h=g;B=2;while(1){if((d|0)>=(v|0))break;h=g+(d*56|0)|0;if(!(r[h>>0]|0))c=+(Ze(h,e)|0);else t=+Ie(h,e);R=s+(B+2<<4)|0;p=s+(B+1<<4)|0;H=s+(B<<4)|0;b[H>>3]=t;b[s+(B<<4)+8>>3]=c;a[p>>2]=a[H>>2];a[p+4>>2]=a[H+4>>2];a[p+8>>2]=a[H+8>>2];a[p+12>>2]=a[H+12>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];d=d+1|0;B=B+3|0}if(!(r[h>>0]|0)){c=+(Ze(h,e)|0);t=+b[F>>3]}else{t=+Ie(h,e);c=+b[I>>3]}p=s+(B<<4)|0;R=B+1|0;H=s+(R<<4)|0;b[H>>3]=t;b[s+(R<<4)+8>>3]=c;a[p>>2]=a[H>>2];a[p+4>>2]=a[H+4>>2];a[p+8>>2]=a[H+8>>2];a[p+12>>2]=a[H+12>>2];if(0>1){H=Vh(a[((a[G>>2]&3|0)==3?G:Q)+40>>2]|0)|0;p=Vh(a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0)|0;a[N>>2]=H;a[N+4>>2]=p;f3(Y,110142,N)|0}gX(G,a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0,s,W,25680);if((!C?(D=a[(a[m>>2]|0)+96>>2]|0,D|0):0)?(r[D+81>>0]|0)==0:0){a[y>>2]=a[M>>2];a[y+4>>2]=a[M+4>>2];a[y+8>>2]=a[M+8>>2];a[y+12>>2]=a[M+12>>2];a[z>>2]=a[F>>2];a[z+4>>2]=a[F+4>>2];a[z+8>>2]=a[F+8>>2];a[z+12>>2]=a[F+12>>2];HX(A,G,y,z)}E=E+1|0}L2(u);k=X;return}function Ce(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]+ +b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]+ +b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Ie(A,e){A=A|0;e=e|0;var i=0.0,r=0;e=me(a[e+24>>2]|0,A)|0;r=a[e+36>>2]|0;i=+b[r+40>>3];return+((+b[r+56>>3]-i)*(+(a[A+44>>2]|0)/+((a[e+24>>2]|0)+1|0))+i)}function Ze(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=me(a[e+20>>2]|0,A)|0;e=a[r+36>>2]|0;i=+b[e+48>>3];return~~((1.0-+(a[A+44>>2]|0)/+((a[r+24>>2]|0)+1|0))*(+b[e+64>>3]-i)+i)|0}function Ge(A){A=A|0;return 0}function Qe(A){A=A|0;return 0}function me(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e+8|0,512)|0;if(!A)vA(110155,110161,423,110169);A=a[A+16>>2]|0;A=W5[a[A>>2]&63](A,e+16|0,512)|0;if(!A)vA(110180,110161,425,110169);else return A|0;return 0}function Le(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0.0,s=0,w=0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0.0;G=k;k=k+32|0;Z=G+16|0;g=G+8|0;s=G;t=a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;v=a[f+4>>2]|0;if(!(r[v>>0]|0)){c=+b[t+56>>3];B=+b[t+40>>3];t=Ze(v,n)|0;c=(B+c)*.5}else{c=+b[t+64>>3];B=+b[t+48>>3];t=~~((B+c)*.5);c=+Ie(v,n)}Q=~~c;o=+b[l>>3];d=+(Q|0);o=o>3]=o;E=l+8|0;h=+b[E>>3];B=+(t|0);h=h>3]=h;C=l+16|0;c=+b[C>>3];d=c>d?c:d;b[C>>3]=d;I=l+24|0;c=+b[I>>3];B=c>B?c:B;b[I>>3]=B;a[s>>2]=Q;a[s+4>>2]=t;f3(e,110682,s)|0;u=a[f>>2]|0;s=v;w=1;f=Q;while(1){if((w|0)>=(u|0))break;s=v+(w*56|0)|0;if(!(r[s>>0]|0))t=Ze(s,n)|0;else f=~~+Ie(s,n);m=+(f|0);W=o>3]=W;c=+(t|0);L=h>3]=L;m=d>m?d:m;b[C>>3]=m;c=B>c?B:c;b[I>>3]=c;a[g>>2]=f;a[g+4>>2]=t;f3(e,110704,g)|0;w=w+1|0;o=W;h=L;d=m;B=c}t=a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(r[s>>0]|0)){c=+b[t+56>>3];W=+b[t+40>>3];t=Ze(s,n)|0;c=(W+c)*.5}else{c=+b[t+64>>3];W=+b[t+48>>3];t=~~((W+c)*.5);c=+Ie(s,n)}Q=~~c;L=+(Q|0);b[l>>3]=o>3]=h>3]=d>L?d:L;b[I>>3]=B>W?B:W;a[Z>>2]=Q;a[Z+4>>2]=t;f3(e,110718,Z)|0;a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];a[A+12>>2]=a[l+12>>2];a[A+16>>2]=a[l+16>>2];a[A+20>>2]=a[l+20>>2];a[A+24>>2]=a[l+24>>2];a[A+28>>2]=a[l+28>>2];k=G;return}function We(A){A=A|0;var e=0;A=xk(A)|0;while(1){if(!A)break;e=xk(a[A+16>>2]|0)|0;while(1){if(!e)break;a[e+32>>2]=ni(a[e+24>>2]|0)|0;e=a[e>>2]|0}A=a[A>>2]|0}return}function ye(A){A=A|0;var e=0;A=xk(A)|0;while(1){if(!A)break;e=xk(a[A+16>>2]|0)|0;while(1){if(!e)break;if(a[e+24>>2]|0)Pe(e);e=a[e>>2]|0}A=a[A>>2]|0}return}function ze(A,e){A=A|0;e=e|0;var i=0;i=xk(A)|0;while(1){if(!i)break;A=xk(a[i+16>>2]|0)|0;while(1){if(!A)break;Ve(A,e);A=a[A>>2]|0}i=a[i>>2]|0}return}function Ye(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=xk(A)|0;while(1){if(!r)break;l=r+8|0;f=xk(a[r+16>>2]|0)|0;while(1){if(!f)break;A=f+24|0;A:do{if(a[A>>2]|0){if(a[47323]&8|0)De(f,~~+b[l>>3]);n=f+32|0;si(a[n>>2]|0);e=a[A>>2]|0;i=f+28|0;A=0;while(1){if((A|0)>=(e|0))break A;a[(a[(a[i>>2]|0)+(A<<2)>>2]|0)+44>>2]=(a[(a[(a[n>>2]|0)+4>>2]|0)+(A*12|0)+4>>2]|0)+1;A=A+1|0}}}while(0);f=a[f>>2]|0}r=a[r>>2]|0}return}function De(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+32|0;i=t;n=A+24|0;A:do{if((a[n>>2]|0)>=2){l=a[15712]|0;s=+b[A+8>>3];c=+b[A+16>>3];a[i>>2]=e;b[i+8>>3]=s;b[i+16>>3]=c;f3(l,110739,i)|0;f=A+32|0;A=A+28|0;e=0;while(1){if((e|0)>=(a[n>>2]|0))break A;r=a[(a[(a[f>>2]|0)+4>>2]|0)+(e*12|0)+8>>2]|0;e:do{if(Pk(r)|0){Me(l,a[(a[A>>2]|0)+(e<<2)>>2]|0);m3(110759,l)|0;i=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!i)break e;m3(110764,l)|0;Me(l,a[(a[A>>2]|0)+(a[i>>2]<<2)>>2]|0);m3(153599,l)|0;i=W5[a[r>>2]&63](r,i,8)|0}}}while(0);e=e+1|0}}}while(0);k=t;return}function Me(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0;n=k;k=k+80|0;f=n+40|0;i=n;if(!(r[e>>0]|0)){s=+b[e+16>>3];t=+b[e+8>>3];c=+b[e+24>>3];l=Fe(a[e+32>>2]|0)|0;i=Fe(a[e+36>>2]|0)|0;b[f>>3]=s;b[f+8>>3]=t;b[f+16>>3]=c;b[f+24>>3]=t;a[f+32>>2]=l;a[f+36>>2]=i;f3(A,110770,f)|0}else{c=+b[e+8>>3];t=+b[e+16>>3];s=+b[e+24>>3];f=Fe(a[e+32>>2]|0)|0;l=Fe(a[e+36>>2]|0)|0;b[i>>3]=c;b[i+8>>3]=t;b[i+16>>3]=c;b[i+24>>3]=s;a[i+32>>2]=f;a[i+36>>2]=l;f3(A,110770,i)|0}k=n;return}function Fe(A){A=A|0;switch(A|0){case 0:{A=110821;break}case 1:{A=110816;break}case 2:{A=110809;break}case 3:{A=110802;break}case 4:{A=110794;break}default:A=0}return A|0}function Ve(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+16|0;d=C+8|0;v=C;g=a[A+32>>2]|0;E=a[A+28>>2]|0;o=A+24|0;s=d+4|0;w=v+4|0;t=0;A=a[o>>2]|0;A:while(1){h=t+1|0;if((h|0)>=(A|0))break;u=E+(t<<2)|0;c=h;while(1){if((c|0)>=(A|0)){t=h;continue A}e:do{if(((bi(g,t,c)|0)==0?(bi(g,c,t)|0)==0:0)?(B=E+(c<<2)|0,Je(a[u>>2]|0,a[B>>2]|0)|0):0){f=a[u>>2]|0;A=a[f+48>>2]|0;l=a[B>>2]|0;i=a[l+48>>2]|0;r=(i|0)==0;if(A)if(r)A=1;else A=+b[A+8>>3]!=+b[i+8>>3];else A=r^1;n=A&1;Ne(d,f,l,0,n);A=a[d>>2]|0;l=a[s>>2]|0;f=n^1;Ne(v,a[u>>2]|0,a[B>>2]|0,1,f);i=a[v>>2]|0;r=a[w>>2]|0;switch(l|0){case-1:{Xe(a[B>>2]|0,a[u>>2]|0,n,0,A,e);Xe(a[B>>2]|0,a[u>>2]|0,f,1,i,e);if((r|0)!=1)break e;Re(a[u>>2]|0,a[B>>2]|0,f,e);break e}case 0:switch(r|0){case-1:{Xe(a[B>>2]|0,a[u>>2]|0,n,0,A,e);Xe(a[B>>2]|0,a[u>>2]|0,f,1,i,e);break e}case 0:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);break e}case 1:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);break e}default:break e}case 1:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);if((r|0)!=-1)break e;Re(a[u>>2]|0,a[B>>2]|0,f,e);break e}default:break e}}}while(0);c=c+1|0;A=a[o>>2]|0}}k=C;return}function Je(A,e){A=A|0;e=e|0;if(!(+b[A+8>>3]==+b[e+8>>3]))vA(110892,110161,843,110923);if((+b[A+16>>3]==+b[e+16>>3]?+b[A+24>>3]==+b[e+24>>3]:0)?(a[A+32>>2]|0)==(a[e+32>>2]|0):0)A=(a[A+36>>2]|0)==(a[e+36>>2]|0)&1;else A=0;return A|0}function Ne(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;n=0;while(1){e=He(e,r)|0;if(!e){l=0;break}i=He(i,f)|0;if(!i){t=6;break}if(!(Je(e,i)|0)){t=7;break}n=n+1|0}if((t|0)==6)vA(138394,110161,871,110841);else if((t|0)==7)l=Ue(e,pe(e,i)|0,n+1|0,1-r|0)|0;a[A>>2]=n;a[A+4>>2]=l;return}function Xe(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,k=0,o=0;k=l+20|0;u=l+24|0;l=me(a[((r[A>>0]|0)==0?k:u)>>2]|0,A)|0;ti(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0);c=1;while(1){if((c|0)>(n|0))break;s=He(A,i)|0;w=He(e,f)|0;do{if(!(r[A>>0]|0)){t=me(a[u>>2]|0,s)|0;if(+b[s+8>>3]==+b[A+16>>3]){o=(a[A+32>>2]|0)==1;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}}else{o=(a[A+36>>2]|0)==1;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}}}else{t=me(a[k>>2]|0,s)|0;if(+b[s+8>>3]==+b[A+16>>3]){o=(a[A+32>>2]|0)==2;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}}else{o=(a[A+36>>2]|0)==2;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}}}}while(0);A=s;e=w;c=c+1|0}return}function Re(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0;while(1){if(!(Je(A,e)|0))break;n=He(A,1)|0;e=He(e,i)|0;A=n}n=a[(me(a[((r[A>>0]|0)==0?f+20|0:f+24|0)>>2]|0,A)|0)+32>>2]|0;ci(n,a[A+40>>2]|0,a[e+40>>2]|0);return}function He(A,e){A=A|0;e=e|0;if(!A)vA(110828,110161,798,110832);else return a[((e|0)==0?A+48|0:A+52|0)>>2]|0;return 0}function pe(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=k;k=k+16|0;f=a;i=r[A>>0]|0;if(i<<24>>24==(r[e>>0]|0)?!(+b[A+8>>3]!=+b[e+8>>3]):0){if(!(i<<24>>24))A=xe(A,e,3,1)|0;else A=xe(A,e,4,2)|0;k=a;return A|0}ao(1,110854,f)|0;fe(189296,1);return 0}function Ue(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;t=1;while(1){if((t|0)>(i|0))break;l=He(A,f)|0;n=+b[l+8>>3]==+b[A+16>>3];do{if(!(r[A>>0]|0))if(n){n=(a[A+32>>2]|0)==1;break}else{n=(a[A+36>>2]|0)==3;break}else if(n){n=(a[A+32>>2]|0)==4;break}else{n=(a[A+36>>2]|0)==2;break}}while(0);A=l;t=t+1|0;e=n?0-e|0:e}return e|0}function xe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,k=0;t=+b[A+24>>3];c=+b[e+16>>3];do{if(!(t>3],l=+b[e+24>>3],!(n>l)):0){if(c>2]|0;return((i|0)==(a[e+32>>2]|0)?0:(i|0)==(r|0)?1:-1)|0}else{i=a[A+32>>2]|0;e=(i|0)==(a[e+36>>2]|0)?0:(i|0)==(r|0)?1:-1;break}if(!(t==l))if(t>2]|0)==(i|0);i=Se(a[e+32>>2]|0,a[A+32>>2]|0,i,r)|0;return(k?i:0-i|0)|0}else{k=(a[e+36>>2]|0)==(r|0);e=Se(a[A+32>>2]|0,a[e+32>>2]|0,i,r)|0;e=k?e:0-e|0;break}k=a[A+32>>2]|0;u=a[e+32>>2]|0;if((k|0)==(u|0)){e=a[e+36>>2]|0;if((a[A+36>>2]|0)==(e|0)){e=0;break}}else e=a[e+36>>2]|0;w=(u|0)==(i|0);if((u|0)==(e|0)){if(w){e=1;break}if((u|0)==(r|0)){e=-1;break}if((k|0)!=(i|0)?(a[A+36>>2]|0)!=(i|0):0){e=1;break}if((k|0)!=(r|0)?(a[A+36>>2]|0)!=(r|0):0){e=-1;break}e=0;break}f=(e|0)==(r|0);if(w&f){e=(a[A+36>>2]|0)==(r|0);if((k|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}s=(e|0)==(i|0);if((u|0)==(r|0)&s){e=(k|0)==(r|0);if((a[A+36>>2]|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}if(!u){if(s){e=je(k,a[A+36>>2]|0,i)|0;break}if(f){e=0-(je(k,a[A+36>>2]|0,r)|0)|0;break}}f=a[A+36>>2]|0;if(w&(e|0)==0){e=je(f,k,i)|0;break}else{e=0-(je(f,k,r)|0)|0;break}}else e=0}while(0);return e|0}function Te(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0;l=+b[A+24>>3];t=+b[e+24>>3];do{if(l>2]|0;if((A|0)==(i|0)?(a[e+32>>2]|0)==(r|0):0){A=-1;break}if((A|0)==(r|0)?(a[e+32>>2]|0)==(i|0):0){A=1;break}A=0}else{f=a[e+32>>2]|0;n=(f|0)==(r|0);if(l==t)if(n){A=Se(a[A+36>>2]|0,a[e+36>>2]|0,i,r)|0;break}else{A=0-(Se(a[e+36>>2]|0,a[A+36>>2]|0,i,r)|0)|0;break}if(n?(a[e+36>>2]|0)==(r|0):0){A=-1;break}if((f|0)==(i|0)?(a[e+36>>2]|0)==(i|0):0){A=1;break}A=0}}while(0);return A|0}function je(A,e,i){A=A|0;e=e|0;i=i|0;return((A|0)==(i|0)?((e|0)==(i|0))<<31>>31:1)|0}function Se(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((A|0)==(r|0)){e=(A|0)==0;if(e)return 0;else e=e&1}return((A|0)!=0|(e|0)!=(i|0))<<31>>31|0}function Pe(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;n=a[A+28>>2]|0;l=a[A+24>>2]|0;i=a[A+32>>2]|0;A=0;A:while(1){r=A+1|0;if((r|0)>=(l|0))break;f=n+(A<<2)|0;e=r;while(1){if((e|0)==(l|0)){A=r;continue A}switch(pe(a[f>>2]|0,a[n+(e<<2)>>2]|0)|0){case 1:{ti(i,A,e);break}case-1:{ti(i,e,A);break}default:{}}e=e+1|0}}return}function Oe(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+24|0;r=a[f>>2]|0;i=r+1|0;a[f>>2]=i;a[e+40>>2]=r;r=A+28|0;A=a[r>>2]|0;if(!A)A=$F(i<<2)|0;else A=eV(A,i<<2)|0;a[r>>2]=A;a[A+((a[f>>2]|0)+-1<<2)>>2]=e;return}function Ke(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;b[f>>3]=i;r=W5[a[A>>2]&63](A,f,512)|0;if(!r){r=qF(24)|0;b[r+8>>3]=+b[f>>3];a[r+16>>2]=jk(25728,a[4581]|0)|0;W5[a[A>>2]&63](A,r,1)|0}f=a[r+16>>2]|0;W5[a[f>>2]&63](f,e,1)|0;k=n;return}function _e(A,e,i){A=A|0;e=e|0;i=i|0;li(a[e+32>>2]|0);L2(a[e+28>>2]|0);L2(e);return}function qe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e>>3];a=+b[i>>3];if(!(f>a))if(f>3]>=+b[i+8>>3])<<31>>31;else A=0;else A=!(+b[e+8>>3]<=+b[i+8>>3])&1;return A|0}function $e(A,e,i){A=A|0;e=e|0;i=i|0;pk(a[e+16>>2]|0)|0;L2(e);return}function Ai(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;a=+b[e>>3];f=+b[i>>3];return(a>f?1:(a>31)|0}function ei(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0,t=0;l=(r[e+36>>0]|0)!=0;t=i+40|0;do{if((a[e+24>>2]|0)==(i|0)){f=+b[t>>3];if(l){n=(+b[i+64>>3]+ +b[i+48>>3])*.5;break}else{n=+b[i+48>>3];f=(+b[i+56>>3]+f)*.5;break}}else if(l){n=(+b[i+64>>3]+ +b[i+48>>3])*.5;f=+b[i+56>>3];break}else{n=+b[i+64>>3];f=(+b[i+56>>3]+ +b[t>>3])*.5;break}}while(0);b[A>>3]=f;b[A+8>>3]=n;return}function ii(A,e){A=A|0;e=e|0;var i=0;i=a[A+20>>2]|0;if((i|0)!=(a[e+20>>2]|0)?(i|0)!=(a[e+24>>2]|0):0)i=a[A+24>>2]|0;return i|0}function ri(A,e){A=A|0;e=e|0;var i=0.0;i=(+b[e+64>>3]+ +b[e+48>>3])*.5;b[A>>3]=(+b[e+56>>3]+ +b[e+40>>3])*.5;b[A+8>>3]=i;return}function fi(A,e,i,f,n,l,t){A=A|0;e=e|0;i=+i;f=+f;n=+n;l=l|0;t=t|0;var c=0,s=0;r[A>>0]=e;b[A+8>>3]=i;if(f>3]=f;b[A+16>>3]=i;a[A+36>>2]=e;a[A+32>>2]=s;r[A+1>>0]=c;return}function ai(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=a[e+36>>2]|0;do{if((a[r+4>>2]|0)!=(i|0)){if((a[r+12>>2]|0)==(i|0)){r=~~((+b[e+56>>3]+ +b[e+40>>3])*.5);i=~~+b[e+48>>3];break}if((a[r+8>>2]|0)==(i|0)){r=~~+b[e+40>>3];i=~~((+b[e+64>>3]+ +b[e+48>>3])*.5);break}if((a[r>>2]|0)==(i|0)){r=~~+b[e+56>>3];i=~~((+b[e+64>>3]+ +b[e+48>>3])*.5)}else{r=0;i=0}}else{r=~~((+b[e+56>>3]+ +b[e+40>>3])*.5);i=~~+b[e+64>>3]}}while(0);a[A>>2]=r;a[A+4>>2]=i;return}function ni(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=qF(8)|0;a[i>>2]=A;r=i+4|0;a[r>>2]=qF(A*12|0)|0;e=0;while(1){if((e|0)>=(A|0))break;n=Ma()|0;f=a[r>>2]|0;a[f+(e*12|0)+8>>2]=n;a[f+(e*12|0)>>2]=0;e=e+1|0}return i|0}function li(A){A=A|0;var e=0,i=0,r=0;i=A+4|0;e=0;while(1){r=a[i>>2]|0;if((e|0)>=(a[A>>2]|0))break;pk(a[r+(e*12|0)+8>>2]|0)|0;e=e+1|0}L2(r);L2(A);return}function ti(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=a[(a[A+4>>2]|0)+(e*12|0)+8>>2]|0;W5[a[i>>2]&63](i,f,1)|0;k=r;return}function ci(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r;a[f>>2]=i;A=A+4|0;n=a[(a[A>>2]|0)+(e*12|0)+8>>2]|0;W5[a[n>>2]&63](n,f,2)|0;a[f>>2]=e;i=a[(a[A>>2]|0)+(i*12|0)+8>>2]|0;W5[a[i>>2]&63](i,f,2)|0;k=r;return}function bi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=a[(a[A+4>>2]|0)+(e*12|0)+8>>2]|0;i=(W5[a[i>>2]&63](i,f,512)|0)!=0&1;k=r;return i|0}function si(A){A=A|0;var e=0,i=0,r=0,f=0;e=a[A>>2]|0;switch(e|0){case 0:break;case 1:{a[(a[A+4>>2]|0)+4>>2]=0;break}default:{r=wi(e)|0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(a[A>>2]|0)){e=0;break}if(!(a[(a[f>>2]|0)+(i*12|0)>>2]|0))e=ui(A,i,e,r)|0;i=i+1|0}while(1){i=ki(r)|0;if((i|0)<=-1)break;a[(a[f>>2]|0)+(i*12|0)+4>>2]=e;e=e+1|0}oi(r)}}return}function wi(A){A=A|0;var e=0;e=qF(8)|0;a[e+4>>2]=qF(A<<2)|0;a[e>>2]=-1;return e|0}function ui(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;t=A+4|0;n=a[t>>2]|0;c=n+(e*12|0)|0;a[c>>2]=1;n=a[n+(e*12|0)+8>>2]|0;l=n+4|0;i=i+1|0;n=xk(n)|0;while(1){if(!n)break;f=a[(a[l>>2]|0)+8>>2]|0;if((f|0)<0)f=a[n+8>>2]|0;else f=n+(0-f)|0;f=a[f>>2]|0;if(!(a[(a[t>>2]|0)+(f*12|0)>>2]|0))i=ui(A,f,i,r)|0;n=a[n>>2]|0}a[c>>2]=2;hi(r,e);return i+1|0}function ki(A){A=A|0;var e=0,i=0;e=a[A>>2]|0;if((e|0)==-1)A=-1;else{i=a[(a[A+4>>2]|0)+(e<<2)>>2]|0;a[A>>2]=e+-1;A=i}return A|0}function oi(A){A=A|0;L2(a[A+4>>2]|0);L2(A);return}function hi(A,e){A=A|0;e=e|0;var i=0;i=(a[A>>2]|0)+1|0;a[A>>2]=i;a[(a[A+4>>2]|0)+(i<<2)>>2]=e;return}function di(A){A=A|0;var e=0,i=0,r=0;i=a[A>>2]|0;a[A+8>>2]=i;a[A+12>>2]=a[A+4>>2];e=A+16|0;A=0;while(1){if((A|0)>=(i|0))break;r=a[e>>2]|0;f[r+(A*40|0)+18>>1]=f[r+(A*40|0)+16>>1]|0;A=A+1|0}return}function Bi(A){A=A|0;var e=0,i=0,r=0;e=a[A+8>>2]|0;a[A>>2]=e;a[A+4>>2]=a[A+12>>2];i=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;r=a[i>>2]|0;f[r+(A*40|0)+16>>1]=f[r+(A*40|0)+18>>1]|0;A=A+1|0}e=e+2|0;while(1){if((A|0)>=(e|0))break;f[(a[i>>2]|0)+(A*40|0)+16>>1]=0;A=A+1|0}return}function vi(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=qF(((a[A>>2]|0)*6|0)+(e<<1)<<2)|0;a[A+20>>2]=qF((((a[A>>2]|0)*3|0)+e|0)*24|0)|0;r=a[A>>2]|0;f=A+16|0;A=0;while(1){if((A|0)>=(r|0))break;a[(a[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+24|0;A=A+1|0}r=r+2|0;while(1){if((A|0)>=(r|0))break;a[(a[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+(e<<2)|0;A=A+1|0}return}function gi(A){A=A|0;var e=0;e=qF(24)|0;a[e>>2]=0;a[e+16>>2]=qF(A*40|0)|0;return e|0}function Ei(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=a[A>>2]|0;a[i+(e*40|0)+32>>2]=e;a[A>>2]=e+1;return i+(e*40|0)|0}function Ci(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0;n=A+4|0;f=a[n>>2]|0;a[n>>2]=f+1;n=a[A+20>>2]|0;A=n+(f*24|0)|0;a[n+(f*24|0)+12>>2]=a[e+32>>2];a[n+(f*24|0)+16>>2]=a[i+32>>2];b[A>>3]=r;a[n+(f*24|0)+8>>2]=0;Ii(e,f);Ii(i,f);return A|0}function Ii(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;r=f[i>>1]|0;a[(a[A+28>>2]|0)+(r<<16>>16<<2)>>2]=e;f[i>>1]=r+1<<16>>16;return}function Zi(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+28>>2]|0);L2(a[e>>2]|0);L2(a[A+20>>2]|0);L2(A);return}function Gi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;n=a[A>>2]|0;l=A+16|0;r=0;while(1){if((r|0)>=(n|0))break;a[(a[l>>2]|0)+(r*40|0)>>2]=-2147483648;r=r+1|0}pa();A:do{if(!(Ta(e)|0)){a[e+8>>2]=0;a[e>>2]=0;e=A+20|0;e:while(1){n=Sa()|0;if(!n){r=0;break A}a[n>>2]=0-(a[n>>2]|0);if((n|0)==(i|0)){r=0;break A}l=n+16|0;t=n+28|0;r=0;while(1){if((r|0)>=(f[l>>1]|0))continue e;c=(a[e>>2]|0)+((a[(a[t>>2]|0)+(r<<2)>>2]|0)*24|0)|0;s=Qi(A,c,n)|0;w=a[s>>2]|0;do{if((w|0)<0){u=~~-(+b[c>>3]+ +(a[n>>2]|0));if((w|0)==-2147483648){a[s>>2]=u;if(Ta(s)|0){r=1;break A}a[s+8>>2]=n;a[s+12>>2]=c;break}else{if((w|0)>=(u|0))break;Pa(s,u);a[s+8>>2]=n;a[s+12>>2]=c;break}}}while(0);r=r+1|0}}}else r=1}while(0);return r|0}function Qi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=a[e+12>>2]|0;if((r|0)==(a[i+32>>2]|0))r=a[e+16>>2]|0;return(a[A+16>>2]|0)+(r*40|0)|0}function mi(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=a[A>>2]|0;Jg(n,3,e)|0;e=a[n+92>>2]|0;do{if(e){i=a[e+16>>2]|0;l=a[i+12>>2]|0;a[A+76>>2]=l;r=a[i+16>>2]|0;a[A+84>>2]=r;f=A+80|0;a[f>>2]=a[i>>2];a[A+88>>2]=a[e+4>>2];i=A+152|0;r=a[i>>2]|a[r>>2];a[i>>2]=r;e=a[n+80>>2]|0;if(!e){a[A+60>>2]=0;e=999;break}else{n=a[e+16>>2]|0;a[A+60>>2]=a[n+12>>2];t=a[n+16>>2]|0;a[A+68>>2]=t;a[A+72>>2]=a[e+4>>2];a[i>>2]=r|a[t>>2];a[A+64>>2]=a[((l|0)==0?f:n)>>2];e=300;break}}else e=999}while(0);return e|0}function Li(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(!(bg(A)|0))if((e|0)!=0?(i=a[e>>2]|0,(i|0)!=0):0){F5[i&127](A);A=0}else A=0;else A=1;return A|0}function Wi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+4>>2]|0,i|0):0)F5[i&127](A);a[(a[A>>2]|0)+24>>2]=0;Bg(A);return}function yi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0;r=+b[e+504>>3];f=+b[e+512>>3];l=+b[e+352>>3];if(!(a[e+360>>2]|0)){n=+b[i>>3]+r;i=i+8|0;r=f}else n=-(f+ +b[i+8>>3]);f=+b[e+528>>3]*l*(+b[i>>3]+r);b[A>>3]=+b[e+520>>3]*l*n;b[A+8>>3]=f;return}function zi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0.0;f=+b[A+504>>3];n=+b[A+512>>3];l=+b[A+352>>3];t=+b[A+520>>3]*l;l=+b[A+528>>3]*l;A:do{if(!(a[A+360>>2]|0)){A=0;while(1){if((A|0)>=(r|0))break A;b[i+(A<<4)>>3]=(+b[e+(A<<4)>>3]+f)*t;b[i+(A<<4)+8>>3]=(+b[e+(A<<4)+8>>3]+n)*l;A=A+1|0}}else{A=0;while(1){if((A|0)>=(r|0))break A;c=-(t*(+b[e+(A<<4)+8>>3]+n));b[i+(A<<4)+8>>3]=(+b[e+(A<<4)>>3]+f)*l;b[i+(A<<4)>>3]=c;A=A+1|0}}}while(0);return i|0}function Yi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+8>>2]|0,i|0):0)F5[i&127](A);return}function Di(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+12>>2]|0,i|0):0)F5[i&127](A);dg(A);return}function Mi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+24>>2]|0,i|0):0)F5[i&127](A);return}function Fi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+28>>2]|0,i|0):0)F5[i&127](A);return}function Vi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+16>>2]|0,i|0):0){e=a[A+160>>2]|0;X5[i&31](A,a[(a[(a[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0,e,a[A+156>>2]|0)}return}function Ji(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+20>>2]|0,i|0):0)F5[i&127](A);return}function Ni(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+32>>2]|0,i|0):0)F5[i&127](A);return}function Xi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+36>>2]|0,i|0):0)F5[i&127](A);return}function Ri(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+40>>2]|0,i|0):0)F5[i&127](A);return}function Hi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+44>>2]|0,i|0):0)F5[i&127](A);return}function pi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+48>>2]|0,i|0):0)F5[i&127](A);return}function Ui(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+52>>2]|0,i|0):0)F5[i&127](A);return}function xi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+56>>2]|0,i|0):0)F5[i&127](A);return}function Ti(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+60>>2]|0,i|0):0)F5[i&127](A);return}function ji(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+64>>2]|0,i|0):0)F5[i&127](A);return}function Si(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+68>>2]|0,i|0):0)F5[i&127](A);return}function Pi(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=a[A+60>>2]|0;if(n|0?(l=a[n+72>>2]|0,l|0):0)R5[l&15](A,e,i,r,f);return}function Oi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+76>>2]|0,i|0):0)F5[i&127](A);return}function Ki(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[A+60>>2]|0;if(i|0?(r=a[i+80>>2]|0,r|0):0)V5[r&63](A,e);return}function _i(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+84>>2]|0,i|0):0)F5[i&127](A);return}function qi(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+48|0;f=b+32|0;l=b;t=b+16|0;c=a[A+60>>2]|0;s=a[i>>2]|0;do{if(s|0?r[s>>0]|0:0){s=a[A+16>>2]|0;if(s|0?(a[s+144>>2]|0)==0:0)break;if(!(a[A+152>>2]&8192)){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];yi(t,A,f);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2]}else{a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2]}if(c|0?(n=a[c+88>>2]|0,n|0):0){a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];J5[n&127](A,f,i)}}}while(0);k=b;return}function $i(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=a[A+60>>2]|0;n=(a[A+16>>2]|0)+16|0;t=G1(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(Ar(a[A+68>>2]|0,e,n),i=a[f+92>>2]|0,i|0):0)V5[i&63](A,n);if(l)r[t>>0]=58;return}function Ar(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;n=b+16|0;c=b+8|0;t=b;a[i>>2]=e;a[i+32>>2]=5;r=Bf(e)|0;f=a[A+16>>2]|0;if(!((f|0)!=0?(i8(r,f,a[A+20>>2]|0,4,102)|0)!=0:0))l=3;A:do{if((l|0)==3){switch(vf(e,i,a[A+24>>2]|0)|0){case 0:break A;case 1:break;default:{ao(1,111046,n)|0;break A}}A=$F((S2(e)|0)+16|0)|0;a[t>>2]=e;P4(A,111011,t)|0;if(fF(A)|0){a[c>>2]=e;ao(0,111020,c)|0}L2(A)}}while(0);k=b;return}function er(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=a[A+60>>2]|0;n=(a[A+16>>2]|0)+56|0;t=G1(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(Ar(a[A+68>>2]|0,e,n),i=a[f+92>>2]|0,i|0):0)V5[i&63](A,n);if(l)r[t>>0]=58;return}function ir(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0,l=0,t=0;n=a[A+60>>2]|0;l=A+16|0;t=(a[l>>2]|0)+96|0;if(n|0?(Ar(a[A+68>>2]|0,e,t),f=a[n+92>>2]|0,f|0):0)V5[f&63](A,t);t=a[l>>2]|0;a[t+136>>2]=i;c[t+140>>2]=r;return}function rr(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;c=s;t=a[A+60>>2]|0;A=a[A+16>>2]|0;a[A+160>>2]=e;A:do{if((e|0)!=0&(t|0)!=0){t=A+144|0;l=A+152|0;n=A+148|0;A=e;e:while(1){f=A+4|0;A=a[A>>2]|0;if(!A)break A;i:do{switch(r[A>>0]|0){case 115:{if(!(A1(A,111067)|0)){a[t>>2]=3;A=f;continue e}if(!(A1(A,111088)|0)){i=115;while(1){e=A+1|0;if(!(i<<24>>24))break;A=e;i=r[e>>0]|0}b[l>>3]=+$3(e);A=f;continue e}break}case 100:{if(!(A1(A,137327)|0)){a[t>>2]=1;A=f;continue e}if(!(A1(A,137320)|0)){a[t>>2]=2;A=f;continue e}break}case 105:{if(A1(A,134335)|0?A1(A,111073)|0:0)break i;a[t>>2]=0;A=f;continue e}case 98:{if(!(A1(A,111083)|0)){b[l>>3]=2.0;A=f;continue e}break}case 102:{if(!(A1(A,111101)|0)){a[n>>2]=1;A=f;continue e}break}case 117:{if(!(A1(A,111108)|0)){a[n>>2]=0;A=f;continue e}break}case 116:{if(!(A1(A,111117)|0)){A=f;continue e}break}default:{}}}while(0);a[c>>2]=A;ao(0,111125,c)|0;A=f}}}while(0);k=s;return}function fr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t;i=a[A+60>>2]|0;if((i|0?(l=i+96|0,f=a[l>>2]|0,f|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){i=e+16|0;b[n>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[n+8>>3]=(+b[e+24>>3]+ +b[e+8>>3])*.5;e=n+16|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];if(!(a[A+152>>2]&8192)){zi(A,n,n,2)|0;f=a[l>>2]|0}J5[f&127](A,n,r)}k=t;return}function ar(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+48|0;s=u;f=a[A+60>>2]|0;if((f|0?(w=f+100|0,a[w>>2]|0):0)?(b=A+16|0,c=a[b>>2]|0,a[c+144>>2]|0):0){if(!(r&4)){f=r;n=0}else{f=r&-5;r=c+16|0;n=s;l=r;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));n=r;l=c+56|0;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));n=1}if(!(a[A+152>>2]&8192)){r=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=r;r=eV(a[47364]|0,r<<4)|0;a[47364]=r}else r=a[47364]|0;zi(A,e,r,i)|0;X5[a[w>>2]&31](A,r,i,f)}else X5[a[w>>2]&31](A,e,i,f);if(n|0){n=(a[b>>2]|0)+16|0;l=s;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0))}}k=u;return}function nr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+64|0;f=r;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];n=f+32|0;e=e+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];b[f+16>>3]=+b[f>>3];b[f+24>>3]=+b[f+40>>3];b[f+48>>3]=+b[n>>3];b[f+56>>3]=+b[f+8>>3];ar(A,f,4,i);k=r;return}function lr(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0;t=a[A+60>>2]|0;do{if((t|0?(c=t+104|0,l=a[c>>2]|0,l|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){if(a[A+152>>2]&8192|0){H5[l&15](A,e,i,r,f,n&255);break}l=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=l;l=eV(a[47364]|0,l<<4)|0;a[47364]=l}else l=a[47364]|0;zi(A,e,l,i)|0;H5[a[c>>2]&15](A,l,i,r,f,n&255)}}while(0);return}function tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=a[A+60>>2]|0;do{if((r|0?(n=r+108|0,f=a[n>>2]|0,f|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){if(a[A+152>>2]&8192|0){J5[f&127](A,e,i);break}r=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=r;r=eV(a[47364]|0,r<<4)|0;a[47364]=r}else r=a[47364]|0;zi(A,e,r,i)|0;J5[a[n>>2]&127](A,r,i)}}while(0);return}function cr(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A+60>>2]|0;if((e|0?!((i|0)==0|(r[e>>0]|0)==0):0)?(f=a[i+112>>2]|0,f|0):0)V5[f&63](A,e);return}function br(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0.0,g=0.0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0;z=k;k=k+112|0;m=z+64|0;y=z;w=z+96|0;I=z+48|0;Z=z+32|0;L=a[A+60>>2]|0;if(!A)vA(111282,111178,691,111189);if(!e)vA(111208,111178,692,111189);if(!(r[e>>0]|0))vA(111213,111178,693,111189);W=Xg(e)|0;if(!W){if((L|0)!=0&(GN(e)|0)!=0?(s=a[L+116>>2]|0,s|0):0)R5[s&15](A,e,i,f,n&255)}else{B=A+432|0;a[m>>2]=a[B>>2];a[m+4>>2]=a[B+4>>2];a[m+8>>2]=a[B+8>>2];a[m+12>>2]=a[B+12>>2];pg(w,W,m);B=a[w>>2]|0;s=a[w+4>>2]|0;if(!((B|0)<1&(s|0)<1)){w=y+16|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[y>>2]=a[i>>2];a[y+4>>2]=a[i+4>>2];a[y+8>>2]=a[i+8>>2];a[y+12>>2]=a[i+12>>2];G=y+8|0;Q=y+24|0;e=1;while(1){if((e|0)>=(f|0))break;Y=i+(e<<4)|0;E=+b[Y>>3];b[y>>3]=+b[(+b[y>>3]>3];C=+b[i+(e<<4)+8>>3];b[G>>3]=+b[(+b[G>>3]>3];b[w>>3]=+b[(+b[w>>3]>E?w:Y)>>3];b[Q>>3]=+b[(+b[Q>>3]>C?w:Y)+8>>3];e=e+1|0}c=+b[w>>3];t=+b[y>>3];v=c-t;g=+b[Q>>3];E=+b[G>>3];C=g-E;u=+(s|0);o=+(B|0);h=v/o;d=C/u;A:do{switch(sr(l)|0){case 1:if(h>3]=t;c=c-v;b[w>>3]=c}if(u>3]=E+C;b[Q>>3]=g-C}if(!(a[A+152>>2]&8192)){a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];yi(I,A,m);a[y>>2]=a[I>>2];a[y+4>>2]=a[I+4>>2];a[y+8>>2]=a[I+8>>2];a[y+12>>2]=a[I+12>>2];a[m>>2]=a[w>>2];a[m+4>>2]=a[w+4>>2];a[m+8>>2]=a[w+8>>2];a[m+12>>2]=a[w+12>>2];yi(Z,A,m);a[w>>2]=a[Z>>2];a[w+4>>2]=a[Z+4>>2];a[w+8>>2]=a[Z+8>>2];a[w+12>>2]=a[Z+12>>2];c=+b[w>>3];t=+b[y>>3]}if(t>c){b[y>>3]=c;b[w>>3]=t}t=+b[G>>3];c=+b[Q>>3];if(t>c){b[G>>3]=c;b[Q>>3]=t}if(L|0){Y=a[A+72>>2]|0;a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];a[m+16>>2]=a[y+16>>2];a[m+20>>2]=a[y+20>>2];a[m+24>>2]=a[y+24>>2];a[m+28>>2]=a[y+28>>2];or(A,W,m,n,Y)}}}k=z;return}function sr(A){A=A|0;if(r[A>>0]|0)if(N1(A,141116)|0)if(N1(A,141048)|0)if(!(N1(A,111221)|0))A=4;else A=(gR(A)|0)<<24>>24!=0&1;else A=3;else A=2;else A=0;return A|0}function wr(A,e){A=A|0;e=+e;if(a[A+60>>2]|0)b[(a[A+16>>2]|0)+152>>3]=e;return}function ur(A,e){A=A|0;e=e|0;e=Jg(A,1,e)|0;if(!e)e=999;else{e=a[e+16>>2]|0;a[A+184>>2]=a[e+4>>2];a[A+172>>2]=a[e+12>>2];a[A+176>>2]=a[e>>2];a[A+180>>2]=a[e+16>>2];e=300}return e|0}function kr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t;Td(e,137483,280,1)|0;n=e+16|0;a[(a[n>>2]|0)+144>>2]=A;if((Zd(e)|0)!=(e|0))a[(a[(Zd(e)|0)+16>>2]|0)+144>>2]=A;r=po(e,111226)|0;i=A+172|0;if((r|0)!=0?(a[i>>2]=0,(ur(A,r)|0)==999):0){i=Ng(A,1,r)|0;a[f>>2]=r;a[f+4>>2]=i;ao(1,111233,f)|0;i=-1}else{r=a[i>>2]|0;if(!r)i=-1;else{nF(1);DF(e,a[a[A+180>>2]>>2]&1);i=a[(a[n>>2]|0)+8>>2]|0;a[(a[(Zd(e)|0)+16>>2]|0)+8>>2]=i;oX();i=a[r>>2]|0;if(i|0?(F5[i&127](e),l=a[r+4>>2]|0,l|0):0)a[(a[n>>2]|0)+148>>2]=l;nF(0);i=0}}k=t;return i|0}function or(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+176|0;b=w+8|0;c=w;l=w+40|0;if(!A)vA(111282,111286,52,111300);if(!e)vA(111312,111286,53,111300);t=a[e+8>>2]|0;if(!t)vA(111315,111286,54,111300);if(!(r[t>>0]|0))vA(111324,111286,55,111300);$1(l,a[e+28>>2]|0)|0;t=l+(S2(l)|0)|0;r[t>>0]=58;r[t+1>>0]=0;u3(l,n)|0;if((hr(A,l)|0)==999){a[c>>2]=l;ao(0,111336,c)|0}n=a[A+92>>2]|0;if(n|0?(s=a[n>>2]|0,s|0):0){a[b>>2]=a[i>>2];a[b+4>>2]=a[i+4>>2];a[b+8>>2]=a[i+8>>2];a[b+12>>2]=a[i+12>>2];a[b+16>>2]=a[i+16>>2];a[b+20>>2]=a[i+20>>2];a[b+24>>2]=a[i+24>>2];a[b+28>>2]=a[i+28>>2];X5[s&31](A,e,b,f)}k=w;return}function hr(A,e){A=A|0;e=e|0;e=Jg(a[A>>2]|0,4,e)|0;if(!e)e=999;else{e=a[e+16>>2]|0;a[A+92>>2]=a[e+12>>2];a[A+96>>2]=a[e>>2];e=300}return e|0}function dr(A){A=A|0;return 1}function Br(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;b[e>>3]=+b[e>>3]+10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function vr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;b[e>>3]=+b[e>>3]-10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function gr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;b[e>>3]=+b[e>>3]-10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function Er(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;b[e>>3]=+b[e>>3]+10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function Cr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;b[e>>3]=+b[e>>3]*1.1;r[A+537>>0]=1;return 0}function Ir(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;b[e>>3]=+b[e>>3]*.9090909090909091;r[A+537>>0]=1;return 0}function Zr(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0;i=A+536|0;e=(r[i>>0]|0)==0;r[i>>0]=e&1;if(e){e=a[A+448>>2]|0;i=a[A+452>>2]|0;l=+(e>>>0);n=+(i>>>0);f=l/+(e|0)>3]=(f?l:n)/+((f?e:i)|0);i=A+336|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;r[A+537>>0]=1}return 0}function Gr(A){A=A|0;var e=0,i=0;e=a[(a[A>>2]|0)+168>>2]|0;i=A+580|0;if(!(a[i>>2]|0)){a[i>>2]=e;i=(a[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]|2;Hr(A,e)}BI(A,e);r[A+540>>0]=1;return}function Qr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;f=c;switch(e|0){case 1:{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];Mr(A,f);Rr(A);r[A+538>>0]=1;r[A+541>>0]=1;t=13;break}case 2:{r[A+538>>0]=1;r[A+541>>0]=2;t=13;break}case 3:{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];Mr(A,f);r[A+538>>0]=1;r[A+541>>0]=3;t=13;break}case 4:{r[A+536>>0]=0;if(!(a[A+360>>2]|0)){f=A+352|0;l=+b[f>>3];e=A+336|0;b[e>>3]=(+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+520>>3]*l)+ +b[e>>3];n=+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5;e=A+528|0}else{f=A+352|0;l=+b[f>>3];e=A+336|0;b[e>>3]=+b[e>>3]-(+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+528>>3]*l);n=+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5;e=A+520|0}t=A+344|0;b[t>>3]=n*.10000000000000009/(+b[e>>3]*l)+ +b[t>>3];b[f>>3]=l*1.1;t=13;break}case 5:{r[A+536>>0]=0;t=A+352|0;l=+b[t>>3]*.9090909090909091;b[t>>3]=l;if(!(a[A+360>>2]|0)){f=A+336|0;b[f>>3]=+b[f>>3]-(+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+520>>3]*l);n=+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5;f=A+528|0}else{f=A+336|0;b[f>>3]=(+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+528>>3]*l)+ +b[f>>3];n=+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5;f=A+520|0}t=A+344|0;b[t>>3]=+b[t>>3]-n*.10000000000000009/(+b[f>>3]*l);t=13;break}default:{}}if((t|0)==13)r[A+537>>0]=1;A=A+560|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=c;return}function mr(A,e,i){A=A|0;e=e|0;i=i|0;r[A+538>>0]=0;r[A+541>>0]=0;return}function Lr(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0;c=k;k=k+16|0;i=c;l=A+560|0;t=(+b[e>>3]-+b[l>>3])/+b[A+520>>3];n=(+b[e+8>>3]-+b[A+568>>3])/+b[A+528>>3];if(!(+y(+t)<.0001&+y(+n)<.0001)){switch(r[A+541>>0]|0){case 0:{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];Mr(A,i);break}case 2:{f=+b[A+352>>3];if(!(a[A+360>>2]|0)){i=A+336|0;b[i>>3]=+b[i>>3]-t/f;i=A+344|0;b[i>>3]=+b[i>>3]-n/f}else{i=A+336|0;b[i>>3]=+b[i>>3]-n/f;i=A+344|0;b[i>>3]=+b[i>>3]+t/f}r[A+537>>0]=1;break}default:{}}a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2]}k=c;return}function Wr(A,e,i){A=A|0;e=e|0;i=i|0;return}function yr(A){A=A|0;return}function zr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=a[A>>2]|0;if(e){e=F3(e,138821)|0;if(e|0){t=cg(e,0)|0;h3(e)|0;f=5}}else{t=cg(a[15647]|0,0)|0;f=5}if((f|0)==5?t|0:0){n=c+168|0;e=a[n>>2]|0;if(e|0){f=a[c+172>>2]|0;if((f|0)!=0?(l=a[f+4>>2]|0,(l|0)!=0):0){F5[l&127](e);e=a[n>>2]|0}NF(e);Bh(a[n>>2]|0)|0}Kd(t,0,137483,280,1);Kd(t,1,137447,304,1);Kd(t,2,137460,176,1);a[n>>2]=t;a[(a[t+16>>2]|0)+144>>2]=c;if((uE(c,t,i)|0)!=-1){a[A+580>>2]=0;a[A+576>>2]=0;r[A+537>>0]=1}}return}function Yr(A,e){A=A|0;e=e|0;A=a[A>>2]|0;uE(A,a[A+168>>2]|0,e)|0;return}function Dr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=a[A>>2]|0;f=n+160|0;r=a[f>>2]|0;if((r|0)!=0?(a[n+164>>2]|0)==0:0){t=n+192|0;l=a[t>>2]|0;a[f>>2]=0;a[t>>2]=0;f=l}else{f=0;r=0}oE(n,a[n+168>>2]|0,e,i)|0;if(r|0){t=a[A>>2]|0;a[t+160>>2]=r;a[t+192>>2]=f}return}function Mr(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0.0,t=0.0,c=0.0,s=0;f=k;k=k+80|0;i=f+48|0;n=f;s=f+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];Fr(s,A,i);c=+b[s>>3];t=+b[s+8>>3];l=1.0/+b[A+352>>3];b[n+16>>3]=l+c;b[n+24>>3]=l+t;b[n>>3]=c-l;b[n+8>>3]=t-l;e=a[(a[A>>2]|0)+168>>2]|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[i+16>>2]=a[n+16>>2];a[i+20>>2]=a[n+20>>2];a[i+24>>2]=a[n+24>>2];a[i+28>>2]=a[n+28>>2];e=Vr(e,i)|0;i=A+576|0;if((e|0)!=(a[i>>2]|0)){Jr(A);a[i>>2]=e;Nr(A);r[A+537>>0]=1}k=f;return}function Fr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0;if(!(a[e+360>>2]|0)){r=+b[e+352>>3];f=+b[i+8>>3];n=r;l=e+528|0;r=+b[i>>3]/(+b[e+520>>3]*r)-+b[e+504>>3]}else{r=+b[e+352>>3];f=-+b[i>>3];n=r;l=e+520|0;r=+b[i+8>>3]/(+b[e+528>>3]*r)-+b[e+504>>3]}n=f/(+b[l>>3]*n)-+b[e+512>>3];b[A>>3]=r;b[A+8>>3]=n;return}function Vr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n;r=cd(A)|0;A:while(1){if(!r){r=9;break}i=Oo(A,r)|0;while(1){if(!i)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];if((QH(i,f)|0)<<24>>24){r=6;break A}i=_o(A,i)|0}r=bd(A,r)|0}do{if((r|0)!=6)if((r|0)==9){i=sd(A)|0;while(1){if(!i)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];if((IH(i,f)|0)<<24>>24){r=12;break}i=wd(A,i)|0}if((r|0)==12)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];i=Xr(A,f)|0;if(!i){i=A;break}else break}}while(0);k=n;return i|0}function Jr(A){A=A|0;var e=0;e=a[A+576>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{e=(a[e+16>>2]|0)+112|0;r[e>>0]=r[e>>0]&-2;break A}case 1:{e=(a[e+16>>2]|0)+117|0;r[e>>0]=r[e>>0]&-2;break A}case 2:{e=(a[e+16>>2]|0)+115|0;r[e>>0]=r[e>>0]&-2;break A}default:break A}}while(0);a[A+584>>2]=0;return}function Nr(A){A=A|0;var e=0,i=0;i=A+584|0;e=a[i>>2]|0;if(e|0){L2(e);a[i>>2]=0}e=a[A+576>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{A=(a[e+16>>2]|0)+112|0;r[A>>0]=r[A>>0]|1;A=Yo(e,0,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}case 1:{A=(a[e+16>>2]|0)+117|0;r[A>>0]=r[A>>0]|1;A=Yo(Id(e)|0,1,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}case 2:{A=(a[e+16>>2]|0)+115|0;r[A>>0]=r[A>>0]|1;A=Yo(Id(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0,2,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}default:break A}}while(0);return}function Xr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;s=k;k=k+32|0;r=s;n=a[A+16>>2]|0;l=a[n+180>>2]|0;t=n+184|0;i=1;while(1){if((i|0)>(l|0)){c=4;break}f=a[(a[t>>2]|0)+(i<<2)>>2]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];a[r+16>>2]=a[e+16>>2];a[r+20>>2]=a[e+20>>2];a[r+24>>2]=a[e+24>>2];a[r+28>>2]=a[e+28>>2];f=Xr(f,r)|0;if(!f)i=i+1|0;else{A=f;break}}do{if((c|0)==4){u=+b[n+24>>3];w=+b[n+40>>3];if(((+b[e+16>>3]>=+b[n+16>>3]?+b[n+32>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=u:0)?w>=+b[e+8>>3]:0)break;A=0}}while(0);k=s;return A|0}function Rr(A){A=A|0;var e=0,i=0,f=0;f=A+580|0;e=a[f>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{i=(a[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]&-7|4;break A}case 1:{i=(a[e+16>>2]|0)+117|0;r[i>>0]=r[i>>0]&-7|4;break A}case 2:{i=(a[e+16>>2]|0)+115|0;r[i>>0]=r[i>>0]&-7|4;break A}default:break A}}while(0);e=A+588|0;i=a[e>>2]|0;if(i|0){L2(i);a[e>>2]=0}e=a[A+576>>2]|0;a[f>>2]=e;A:do{if(e|0)switch(Md(e)|0){case 0:{f=(a[e+16>>2]|0)+112|0;r[f>>0]=r[f>>0]|2;Hr(A,e);break A}case 1:{f=(a[e+16>>2]|0)+117|0;r[f>>0]=r[f>>0]|2;pr(A,e);break A}case 2:{f=(a[e+16>>2]|0)+115|0;r[f>>0]=r[f>>0]|2;Ur(A,e);break A}default:break A}}while(0);return}function Hr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+592|0;do{if((Zd(e)|0)==(e|0))if(!(Ih(e)|0)){Yg(i,0,111494);break}else{Yg(i,0,111486);break}else Yg(i,0,111500)}while(0);Yg(i,1,Vh(e)|0);a[A+596>>2]=2;f=A+604|0;i=0;r=2;while(1){i=Jo(e,0,i)|0;if(!i)break;Yg(f,r,a[i+8>>2]|0);Yg(f,r+1|0,Uo(e,i)|0);Yg(f,r+2|0,0);r=r+3|0}a[A+608>>2]=r;i=Yo(e,0,141055,0)|0;if(!i){i=Yo(e,0,111477,0)|0;if(i|0)n=11}else n=11;if((n|0)==11)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function pr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;f=A+592|0;Yg(f,0,111481);Yg(f,1,Vh(e)|0);a[A+596>>2]=2;f=A+604|0;n=Zd(Id(e)|0)|0;r=2;i=0;while(1){i=Jo(n,1,i)|0;if(!i)break;Yg(f,r,a[i+8>>2]|0);Yg(f,r|1,Uo(e,i)|0);r=r+2|0}a[A+608>>2]=r;i=Yo(Id(e)|0,1,141055,0)|0;if(!i){i=Yo(Id(e)|0,1,111477,0)|0;if(i|0)l=6}else l=6;if((l|0)==6)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function Ur(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;l=A+592|0;Yg(l,0,111450);b=e+48|0;Yg(l,1,Vh(a[((a[e>>2]&3|0)==3?e:b)+40>>2]|0)|0);b=(Ih(Id(a[((a[e>>2]&3|0)==3?e:b)+40>>2]|0)|0)|0)!=0;Yg(l,3,b?137738:141747);b=e+-48|0;Yg(l,4,Vh(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0);a[A+596>>2]=7;t=A+604|0;c=Zd(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0)|0;n=7;i=0;A:while(1){while(1){i=Jo(c,2,i)|0;if(!i)break A;r=i+8|0;f=a[r>>2]|0;if(!(A1(f,111455)|0)){s=5;break}if(!(A1(f,111464)|0)){s=7;break}if(A1(f,111473)|0)break;Yg(l,6,Uo(e,i)|0)}if((s|0)==5){s=0;Yg(l,2,Uo(e,i)|0)}else if((s|0)==7){s=0;Yg(l,5,Uo(e,i)|0)}Yg(t,n,a[r>>2]|0);Yg(t,n+1|0,Uo(e,i)|0);n=n+2|0}a[A+608>>2]=n;i=Yo(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0,2,141055,0)|0;if(!i){i=Yo(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0,2,111477,0)|0;if(i|0)s=13}else s=13;if((s|0)==13)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function xr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=Tr(A,e,a[i>>2]|0)|0;i=a[i+4>>2]|0;while(1){f=a[i+4>>2]|0;if(!f)break;e=0;while(1){r=a[f+(e*20|0)+4>>2]|0;if(!r)break;Fg(A,a[i>>2]|0,r,a[f+(e*20|0)+8>>2]|0,n,f+(e*20|0)|0)|0;e=e+1|0}i=i+8|0}return}function Tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=$F(12)|0;if(!e)e=0;else e=s3(e)|0;a[r+4>>2]=e;a[r+8>>2]=s3(i)|0;i=A+100|0;a[r>>2]=a[i>>2];a[i>>2]=r;return r|0}function jr(A,e){A=A|0;e=e|0;Sr(A);r[A+44>>0]=0;Pr(A)|0;fR(A)|0;return}function Sr(A){A=A|0;var e=0,i=0;e=a[A+32>>2]|0;A:do{if(e|0)while(1){i=a[e>>2]|0;if(!i)break A;if((r[i>>0]|0)==103?X4(i,111509)|0:0)xr(A,0,a[e+4>>2]|0);e=e+8|0}}while(0);return}function Pr(A){A=A|0;var e=0;e=Jg(A,2,111522)|0;if(!e)A=999;else{a[A+148>>2]=a[(a[e+16>>2]|0)+12>>2];A=300}return A|0}function Or(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=a[A+148>>2]|0;if((A|0)!=0?(r=a[A>>2]|0,(r|0)!=0):0)A=m5[r&127](e,i)|0;else A=0;return A|0}function Kr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(a[e>>2]|0)-(a[i>>2]|0)|0}function _r(A){A=A|0;var e=0.0,i=0.0;A=a[A+16>>2]|0;i=+b[A+16>>3];e=+b[A+24>>3];return(qr(~~(i>e?i:e)>>>0)|0)+1|0}function qr(A){A=A|0;var e=0,i=0;if(!A)A=-1;else{i=A>>>0>65535;A=i?A>>>16:A;i=i?16:0;e=A>>>0>255;A=e?A>>>8:A;i=e?i|8:i;e=A>>>0>15;A=e?A>>>4:A;i=e?i|4:i;e=A>>>0>3;A=(e?i|2:i)+((e?A>>>2:A)>>>0>1&1)|0}return A|0}function $r(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+32|0;h=d;o=Af(A,e,i,f,n)|0;i=ef(o)|0;if((i|0)>=0){w=h+16|0;u=h+24|0;s=h+8|0;c=n+32|0;i=0;n=0;while(1){if((n|0)>=(e|0))break;f=A+(n*40|0)+32|0;do{if(a[f>>2]|0){rf(h,o,A+(n*40|0)|0);l=+b[w>>3];t=+b[u>>3];if(!(a[h>>2]|0)){r[(a[f>>2]|0)+36>>0]=1;break}if(+b[s>>3]==0.0){f=a[f>>2]|0;b[f+16>>3]=l;b[f+24>>3]=t;r[f+36>>0]=1;break}if((r[c>>0]|0)==1){f=a[f>>2]|0;b[f+16>>3]=l;b[f+24>>3]=t;r[f+36>>0]=1}else i=1}}while(0);n=n+1|0}ff(o)}k=d;return i|0}function Af(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;n=qF(28)|0;c=jk(25912,a[4584]|0)|0;l=n+20|0;a[l>>2]=c;do{if(c){c=Xn()|0;a[n+24>>2]=c;if(!c){L3(111740,14,1,a[15712]|0)|0;t=6;break}else{a[n>>2]=A;a[n+4>>2]=e;a[n+8>>2]=i;a[n+12>>2]=r;a[n+16>>2]=f;break}}else{L3(111740,14,1,a[15712]|0)|0;t=6}}while(0);if((t|0)==6){A=a[l>>2]|0;if(A|0)pk(A)|0;A=a[n+24>>2]|0;if(A|0)Hn(A)|0;L2(n);n=0}return n|0}function ef(A){A=A|0;var e=0;e=uf(A)|0;if((e|0)>=0){kf(A);of(A);e=pk(a[A+20>>2]|0)|0}return e|0}function rf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0.0,J=0,N=0;N=k;k=k+464|0;F=N+416|0;J=N+400|0;Y=N+384|0;s=N+352|0;w=N+320|0;u=N+288|0;o=N+256|0;d=N+224|0;B=N+192|0;v=N+160|0;g=N+128|0;E=N+96|0;I=N+64|0;Z=N+32|0;D=N;G=a[i+32>>2]|0;r=+b[G>>3];L=i+16|0;Q=(r*2.0+ +b[L>>3])*.125;W=G+8|0;M=i+24|0;l=+b[M>>3];V=(+b[W>>3]*2.0+l)*.5;if(!G)vA(111533,111543,445,111553);f=F;n=f+36|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));m=G+16|0;b[m>>3]=+b[i>>3]-r;y=i+8|0;z=G+24|0;b[z>>3]=l+ +b[y>>3];af(s,e,i,F);t=a[s>>2]|0;f=a[s+4>>2]|0;r=+b[s+8>>3];s=s+16|0;a[J>>2]=a[s>>2];a[J+4>>2]=a[s+4>>2];a[J+8>>2]=a[s+8>>2];a[J+12>>2]=a[s+12>>2];A:do{if(!t){a[A>>2]=0;a[A+4>>2]=f;b[A+8>>3]=r;A=A+16|0;a[A>>2]=a[J>>2];a[A+4>>2]=a[J+4>>2];a[A+8>>2]=a[J+8>>2];a[A+12>>2]=a[J+12>>2]}else{b[z>>3]=+b[y>>3];af(w,e,i,F);n=a[w>>2]|0;s=a[w+4>>2]|0;l=+b[w+8>>3];w=w+16|0;a[Y>>2]=a[w>>2];a[Y+4>>2]=a[w+4>>2];a[Y+8>>2]=a[w+8>>2];a[Y+12>>2]=a[w+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=s;r=l}else n=t;b[z>>3]=+b[y>>3]-+b[W>>3];af(u,e,i,F);s=a[u>>2]|0;t=a[u+4>>2]|0;l=+b[u+8>>3];u=u+16|0;a[Y>>2]=a[u>>2];a[Y+4>>2]=a[u+4>>2];a[Y+8>>2]=a[u+8>>2];a[Y+12>>2]=a[u+12>>2];if(!s){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=t;r=l}else s=n;b[m>>3]=+b[i>>3];b[z>>3]=+b[M>>3]+ +b[y>>3];af(o,e,i,F);n=a[o>>2]|0;t=a[o+4>>2]|0;l=+b[o+8>>3];o=o+16|0;a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3]-+b[W>>3];af(d,e,i,F);n=a[d>>2]|0;t=a[d+4>>2]|0;l=+b[d+8>>3];d=d+16|0;a[Y>>2]=a[d>>2];a[Y+4>>2]=a[d+4>>2];a[Y+8>>2]=a[d+8>>2];a[Y+12>>2]=a[d+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[m>>3]=+b[L>>3]+ +b[i>>3];b[z>>3]=+b[M>>3]+ +b[y>>3];af(B,e,i,F);n=a[B>>2]|0;t=a[B+4>>2]|0;l=+b[B+8>>3];B=B+16|0;a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3];af(v,e,i,F);n=a[v>>2]|0;t=a[v+4>>2]|0;l=+b[v+8>>3];v=v+16|0;a[Y>>2]=a[v>>2];a[Y+4>>2]=a[v+4>>2];a[Y+8>>2]=a[v+8>>2];a[Y+12>>2]=a[v+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3]-+b[W>>3];af(g,e,i,F);n=a[g>>2]|0;t=a[g+4>>2]|0;l=+b[g+8>>3];g=g+16|0;a[Y>>2]=a[g>>2];a[Y+4>>2]=a[g+4>>2];a[Y+8>>2]=a[g+8>>2];a[Y+12>>2]=a[g+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=t;r=l}else n=s;t=(a[F+28>>2]|0)==0;do{if(!(a[F+24>>2]|0))if(t){if(a[F+32>>2]|0){C=38;break}if(!((a[F+12>>2]|0)==0&(a[F>>2]|0)==0))C=38}else C=46;else if(t)C=38;else C=46}while(0);e:do{if((C|0)==38)if(!(a[F+32>>2]|0)){b[m>>3]=+b[i>>3]-+b[G>>3];o=E+4|0;d=E+8|0;B=E+16|0;s=z;t=y;l=+b[M>>3];i:while(1){while(1){b[s>>3]=+b[t>>3]+l;if(!(+b[m>>3]<=+b[L>>3]+ +b[i>>3])){C=46;break e}af(E,e,i,F);w=a[E>>2]|0;u=a[o>>2]|0;c=+b[d>>3];a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!w)break i;if(c>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=m;t=m;l=Q;n=w;f=u;r=c}a[A>>2]=0;a[A+4>>2]=u;b[A+8>>3]=c;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}else C=46}while(0);e:do{if((C|0)==46)if((a[F+12>>2]|0)==0&(a[F>>2]|0)==0){b[m>>3]=+b[i>>3]-+b[G>>3];c=+b[y>>3];w=I+4|0;u=I+8|0;o=I+16|0;l=c;c=+b[M>>3]+c;while(1){b[z>>3]=c;if(!(c>=l-+b[W>>3]))break e;af(I,e,i,F);t=a[I>>2]|0;s=a[w>>2]|0;l=+b[u>>3];a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!t)break;if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];n=t;f=s;r=l}l=+b[y>>3];c=+b[z>>3]-V}a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);l=+b[i>>3];c=+b[L>>3]+l;b[m>>3]=c;h=+b[W>>3];b[z>>3]=+b[y>>3]-h;t=a[F+4>>2]|0;do{if(!(a[F+8>>2]|0)){s=a[F>>2]|0;if(!((t|0)==0&(s|0)==0)){C=59;break}if(a[F+20>>2]|0){t=0;s=0;C=59;break}if(a[F+32>>2]|0){t=0;s=0;C=59}}else{s=a[F>>2]|0;C=59}}while(0);e:do{if((C|0)==59){i:do{if((t|0)==0&(s|0)==0){b[m>>3]=c;o=Z+4|0;d=Z+8|0;B=Z+16|0;s=z;t=y;l=h;r:while(1){while(1){b[s>>3]=+b[t>>3]-l;l=+b[i>>3];if(!(+b[m>>3]>=l-+b[G>>3]))break i;af(Z,e,i,F);w=a[Z>>2]|0;u=a[o>>2]|0;c=+b[d>>3];a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!w)break r;if(c>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=m;t=m;l=Q;n=w;f=u;r=c}a[A>>2]=0;a[A+4>>2]=u;b[A+8>>3]=c;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);if(a[F+20>>2]|0)break;if(a[F+32>>2]|0)break;b[m>>3]=+b[L>>3]+l;l=+b[y>>3];w=D+4|0;u=D+8|0;o=D+16|0;c=l;l=l-+b[W>>3];while(1){b[z>>3]=l;if(!(l<=+b[M>>3]+c))break e;af(D,e,i,F);t=a[D>>2]|0;s=a[w>>2]|0;l=+b[u>>3];a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!t)break;if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];n=t;f=s;r=l}c=+b[y>>3];l=+b[z>>3]+V}a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);a[A>>2]=n;a[A+4>>2]=f;b[A+8>>3]=r;A=A+16|0;a[A>>2]=a[J>>2];a[A+4>>2]=a[J+4>>2];a[A+8>>2]=a[J+8>>2];a[A+12>>2]=a[J+12>>2]}}while(0);k=N;return}function ff(A){A=A|0;Hn(a[A+24>>2]|0)|0;L2(A);return}function af(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0.0,t=0,c=0,s=0,w=0.0,u=0,o=0,h=0,d=0.0,B=0,v=0;v=k;k=k+48|0;h=v+32|0;B=v+16|0;o=v;n=a[i+32>>2]|0;if(!n)vA(111533,111543,382,111562);u=n+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];u=e+4|0;s=0;n=0;while(1){if((s|0)>=(a[u>>2]|0))break;t=a[e>>2]|0;c=t+(s*40|0)|0;do{if((c|0)!=(i|0)){if(+b[t+(s*40|0)+16>>3]>0.0?+b[t+(s*40|0)+24>>3]>0.0:0)break;n=n+((nf(i,c)|0)!=0&1)|0}}while(0);s=s+1|0}lf(i,h);s=a[e+24>>2]|0;s=Un(s,a[s>>2]|0,h)|0;if(!s){a[A>>2]=n;b[A+8>>3]=0.0;B=A+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2]}else{c=s;l=0.0;while(1){if(!c)break;t=a[(a[c+4>>2]|0)+16>>2]|0;if((t|0)!=(i|0)){tf(t,B);w=+cf(h,B);if(w>0.0){n=n+1|0;l=+bf(i,t,h,w,f)+l}e=a[t+32>>2]|0;if(((e|0)!=0?(r[e+36>>0]|0)!=0:0)?(lf(t,B),d=+cf(h,B),d>0.0):0){n=n+1|0;l=+sf(i,t,h,d,f)+l}}c=a[c>>2]|0}Nn(s);a[A>>2]=n;b[A+8>>3]=l;B=A+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2]}k=v;return}function nf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0;A=a[A+32>>2]|0;if(+b[e+16>>3]==0.0?+b[e+24>>3]==0.0:0){if((((A|0)!=0?(i=+b[e>>3],r=+b[A+16>>3],i>r):0)?i<+b[A>>3]+r:0)?(f=+b[e+8>>3],n=+b[A+24>>3],f>n):0)A=f<+b[A+8>>3]+n&1;else A=0;return A|0}vA(111599,111543,219,111636);return 0}function lf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A+32>>2]|0;r=+b[A+16>>3];a[e>>2]=~~r;i=+b[A+24>>3];a[e+4>>2]=~~i;a[e+8>>2]=~~(+b[A>>3]+r);a[e+12>>2]=~~(+b[A+8>>3]+i);return}function tf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];a[e>>2]=~~r;i=+b[A+8>>3];a[e+4>>2]=~~i;a[e+8>>2]=~~(+b[A+16>>3]+r);a[e+12>>2]=~~(+b[A+24>>3]+i);return}function cf(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;t=a[A+8>>2]|0;c=a[e>>2]|0;if((((t|0)>=(c|0)?(b=a[A>>2]|0,s=a[e+8>>2]|0,(b|0)<=(s|0)):0)?(r=a[A+12>>2]|0,f=a[e+4>>2]|0,(r|0)>=(f|0)):0)?(n=a[A+4>>2]|0,l=a[e+12>>2]|0,(n|0)<=(l|0)):0)i=(+(a[((r|0)<(l|0)?A:e)+12>>2]|0)-+(a[((n|0)>(f|0)?A:e)+4>>2]|0))*(+(a[((t|0)<(s|0)?A:e)+8>>2]|0)-+(a[((b|0)>(c|0)?A:e)>>2]|0));else i=0.0;return+i}function bf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;t=c;A=wf(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=a[f>>2]|0;if(!A){a[f>>2]=e;n=r}else{tf(A,t);n=+cf(i,t);n=n>r?n:0.0;A=a[f>>2]|0;if((a[A+32>>2]|0)!=0?(lf(A,t),l=+cf(i,t),l>r):0)n=l>n?l:n;if(!(n>0.0)){a[f>>2]=e;n=r}}k=c;return+n}function sf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;t=c;A=wf(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=a[f>>2]|0;if(!A){a[f>>2]=e;n=r}else{tf(A,t);n=+cf(i,t);n=n>r?n:0.0;A=a[f>>2]|0;if((a[A+32>>2]|0)!=0?(lf(A,t),l=+cf(i,t),l>r):0)n=l>n?l:n;if(!(n>0.0)){a[f>>2]=e;n=r}}k=c;return+n}function wf(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0;i=a[A+32>>2]|0;f=a[e+32>>2]|0;if((i|0)==(f|0))vA(111578,111543,276,111588);do{if((r[i+36>>0]|0)!=0?(r[f+36>>0]|0)!=0:0){t=+b[A>>3];if(t==0.0?+b[A+8>>3]==0.0:0){i=-1;break}c=+b[e>>3];l=+b[e+8>>3];if(!(c==0.0&l==0.0)){n=+b[A+8>>3];if(lt?2:1;break}i=cn){if(i){i=6;break}i=c>t?8:7;break}if(!i)if(c>t)i=5;else i=-1;else i=3}else i=-1}else i=-1}while(0);return i|0}function uf(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;b=k;k=k+32|0;i=b+24|0;r=b+16|0;f=b;n=_r(A)|0;l=A+4|0;t=r+4|0;c=A+20|0;e=0;while(1){if((e|0)>=(a[l>>2]|0)){e=0;break}s=qF(32)|0;u=(a[A>>2]|0)+(e*40|0)|0;w=s+12|0;a[s+28>>2]=u;hf(f,u);a[w>>2]=a[f>>2];a[w+4>>2]=a[f+4>>2];a[w+8>>2]=a[f+8>>2];a[w+12>>2]=a[f+12>>2];w=a[w>>2]|0;a[r>>2]=(((a[s+20>>2]|0)-w|0)/2|0)+w;w=a[s+16>>2]|0;a[t>>2]=(((a[s+24>>2]|0)-w|0)/2|0)+w;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[s+8>>2]=df(i,n)|0;w=a[c>>2]|0;if(!(W5[a[w>>2]&63](w,s,1)|0)){e=-1;break}else e=e+1|0}k=b;return e|0}function kf(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;r=a[i>>2]|0;e=A+24|0;A=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!A)break;r=a[e>>2]|0;xn(r,A+12|0,a[A+28>>2]|0,r,0)|0;r=a[i>>2]|0;A=W5[a[r>>2]&63](r,A,8)|0}return}function of(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=A+20|0;f=Pk(a[r>>2]|0)|0;i=0;while(1){if(!(Pk(a[r>>2]|0)|0))break;n=a[r>>2]|0;A=a[(a[n+8>>2]|0)+4>>2]|0;if(!A){l=8;break}e=a[(a[n+4>>2]|0)+8>>2]|0;if((e|0)<0)A=a[A+8>>2]|0;else A=A+(0-e)|0;if(!A){l=8;break}W5[a[n>>2]&63](n,A,4096)|0;L2(A);i=i+1|0}if((l|0)==8)vA(111649,111543,616,111652);if((f|0)==(i|0))return;else vA(111664,111543,623,111652)}function hf(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0,t=0,c=0,s=0.0;i=a[e+32>>2]|0;if(!i){r=0.0;f=0.0}else{r=+b[i>>3];f=+b[i+8>>3]}s=+b[e>>3];c=~~+W(+(s-r));n=+b[e+8>>3];t=~~+W(+(n-f));l=~~+p(+(s+r+ +b[e+16>>3]));if((l|0)==2147483647)vA(111676,111543,264,111703);i=~~+p(+(n+f+ +b[e+24>>3]));if((i|0)==2147483647)vA(111713,111543,266,111703);else{a[A>>2]=c;a[A+4>>2]=t;a[A+8>>2]=l;a[A+12>>2]=i;return}}function df(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;f=0;r=a[A>>2]|0;i=a[A+4>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;t=r>>>A&1;e=i>>>A&1;n=e+-1|0;l=n&(r^i);n=n&0-t;f=t<<1|f<<2|t^e;e=A;r=l^r^n;i=l^i^n}return f|0}function Bf(A){A=A|0;var e=0,i=0,f=0,n=0;e=S2(A)|0;if(e>>>0>=(a[47365]|0)>>>0){e=e+11|0;a[47365]=e;e=eV(a[47366]|0,e)|0;a[47366]=e;if(!e)e=0;else i=4}else{e=a[47366]|0;i=4}if((i|0)==4){n=e;while(1){i=r[A>>0]|0;if(!(i<<24>>24))break;f=i&255;if(R1(f)|0)i=(X1(f)|0)&255;r[n>>0]=i;n=n+1|0;A=A+1|0}r[n>>0]=0}return e|0}function vf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0;z=k;k=k+144|0;B=z+96|0;o=z+80|0;E=z+124|0;v=z+72|0;C=z+64|0;I=z+56|0;L=z+48|0;W=z+40|0;y=z+32|0;Z=z+24|0;G=z+16|0;Q=z+8|0;m=z;l=z+120|0;s=z+116|0;w=z+112|0;u=z+108|0;a[e+32>>2]=i;d=A;while(1)if((r[d>>0]|0)==32)d=d+1|0;else break;a[u>>2]=255;A=r[d>>0]|0;A:do{if(A<<24>>24==35){a[o>>2]=l;a[o+4>>2]=s;a[o+8>>2]=w;a[o+12>>2]=u;if((J3(d,111755,o)|0)<=2){A=r[d>>0]|0;h=12;break}switch(i|0){case 0:{Y=+((a[l>>2]|0)>>>0)*.00392156862745098;b[L>>3]=Y;f=+((a[s>>2]|0)>>>0)*.00392156862745098;b[W>>3]=f;t=+((a[w>>2]|0)>>>0)*.00392156862745098;b[y>>3]=t;c=+((a[u>>2]|0)>>>0)*.00392156862745098;gf(Y,f,t,v,C,I);b[e>>3]=+b[v>>3];b[e+8>>3]=+b[C>>3];b[e+16>>3]=+b[I>>3];b[e+24>>3]=c;A=0;break A}case 1:{r[e>>0]=a[l>>2];r[e+1>>0]=a[s>>2];r[e+2>>0]=a[w>>2];r[e+3>>0]=a[u>>2];A=0;break A}case 3:{t=+((a[l>>2]|0)>>>0)*.00392156862745098;b[L>>3]=t;c=+((a[s>>2]|0)>>>0)*.00392156862745098;b[W>>3]=c;Y=+((a[w>>2]|0)>>>0)*.00392156862745098;b[y>>3]=Y;Ef(t,c,Y,Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{a[e>>2]=(((a[l>>2]|0)*65535|0)>>>0)/255|0;a[e+4>>2]=(((a[s>>2]|0)*65535|0)>>>0)/255|0;a[e+8>>2]=(((a[w>>2]|0)*65535|0)>>>0)/255|0;a[e+12>>2]=(((a[u>>2]|0)*65535|0)>>>0)/255|0;A=0;break A}case 4:{b[e>>3]=+((a[l>>2]|0)>>>0)*.00392156862745098;b[e+8>>3]=+((a[s>>2]|0)>>>0)*.00392156862745098;b[e+16>>3]=+((a[w>>2]|0)>>>0)*.00392156862745098;b[e+24>>3]=+((a[u>>2]|0)>>>0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}else h=12}while(0);A:do{if((h|0)==12){if(!(A<<24>>24!=46?((A&255)+-48|0)>>>0>=10:0)){A=S2(d)|0;if(A>>>0>=(a[47367]|0)>>>0){A=A+11|0;a[47367]=A;A=eV(a[47368]|0,A)|0;a[47368]=A;if(!A){A=-1;break}}else A=a[47368]|0;s=A;l=d;e:while(1){w=l+1|0;l=r[l>>0]|0;switch(l<<24>>24){case 0:break e;case 44:{l=32;break}default:{}}r[s>>0]=l;s=s+1|0;l=w}r[s>>0]=0;a[B>>2]=v;a[B+4>>2]=C;a[B+8>>2]=I;if((J3(A,111769,B)|0)==3){c=+b[v>>3];c=c<1.0?c:1.0;c=c>0.0?c:0.0;b[v>>3]=c;t=+b[C>>3];t=t<1.0?t:1.0;t=t>0.0?t:0.0;b[C>>3]=t;f=+b[I>>3];f=f<1.0?f:1.0;f=f>0.0?f:0.0;b[I>>3]=f;switch(i|0){case 0:{b[e>>3]=c;b[e+8>>3]=t;b[e+16>>3]=f;b[e+24>>3]=1.0;A=0;break A}case 1:{Cf(c,t,f,L,W,y);r[e>>0]=~~(+b[L>>3]*255.0);r[e+1>>0]=~~(+b[W>>3]*255.0);r[e+2>>0]=~~(+b[y>>3]*255.0);r[e+3>>0]=-1;A=0;break A}case 3:{Cf(c,t,f,L,W,y);Ef(+b[L>>3],+b[W>>3],+b[y>>3],Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{Cf(c,t,f,L,W,y);a[e>>2]=~~(+b[L>>3]*65535.0);a[e+4>>2]=~~(+b[W>>3]*65535.0);a[e+8>>2]=~~(+b[y>>3]*65535.0);a[e+12>>2]=65535;A=0;break A}case 4:{Cf(c,t,f,L,W,y);b[e>>3]=+b[L>>3];b[e+8>>3]=+b[W>>3];b[e+16>>3]=+b[y>>3];b[e+24>>3]=1.0;A=0;break A}default:{A=0;break A}}}}l=If(d)|0;a[E>>2]=l;if(!l)A=-1;else{A=a[47369]|0;if(!(((A|0)!=0?(g=a[A>>2]|0,(r[g>>0]|0)==(r[l>>0]|0)):0)?(A1(g,l)|0)==0:0)){A=i8(E,25948,2491,12,103)|0;a[47369]=A;if(!A)switch(i|0){case 0:{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0;b[e+24>>3]=1.0;A=1;break A}case 1:{r[e+2>>0]=0;r[e+1>>0]=0;r[e>>0]=0;r[e+3>>0]=-1;A=1;break A}case 3:{a[e>>2]=0;A=1;break A}case 2:{a[e+8>>2]=0;a[e+4>>2]=0;a[e>>2]=0;a[e+12>>2]=65535;A=1;break A}case 4:{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0;b[e+24>>3]=1.0;A=1;break A}default:{A=1;break A}}}switch(i|0){case 0:{b[e>>3]=+(n[A+4>>0]|0)*.00392156862745098;b[e+8>>3]=+(n[A+5>>0]|0)*.00392156862745098;b[e+16>>3]=+(n[A+6>>0]|0)*.00392156862745098;b[e+24>>3]=+(n[A+10>>0]|0)*.00392156862745098;A=0;break A}case 1:{r[e>>0]=r[A+7>>0]|0;r[e+1>>0]=r[A+8>>0]|0;r[e+2>>0]=r[A+9>>0]|0;r[e+3>>0]=r[A+10>>0]|0;A=0;break A}case 3:{t=+(n[A+7>>0]|0)*.00392156862745098;b[L>>3]=t;c=+(n[A+8>>0]|0)*.00392156862745098;b[W>>3]=c;Y=+(n[A+9>>0]|0)*.00392156862745098;b[y>>3]=Y;Ef(t,c,Y,Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{a[e>>2]=(n[A+7>>0]|0)*257;a[e+4>>2]=(n[A+8>>0]|0)*257;a[e+8>>2]=(n[A+9>>0]|0)*257;a[e+12>>2]=(n[A+10>>0]|0)*257;A=0;break A}case 4:{b[e>>3]=+(n[A+7>>0]|0)*.00392156862745098;b[e+8>>3]=+(n[A+8>>0]|0)*.00392156862745098;b[e+16>>3]=+(n[A+9>>0]|0)*.00392156862745098;b[e+24>>3]=+(n[A+10>>0]|0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}}}while(0);k=z;return A|0}function gf(A,e,i,r,f,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;var n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0;l=ei?e:i;w=wA?A:l);n=l/w;if(w>0.0)if(n>0.0){t=(w-A)/l;c=(w-e)/l;s=(w-i)/l;do{if(!(w==A)){if(w==e){A=t+2.0-s;break}if(w==i)A=c+4.0-t;else A=0.0}else A=(e-i)/l}while(0);A=A*60.0;if(A<0.0)A=A+360.0}else A=0.0;else{n=0.0;A=0.0}b[r>>3]=A*.002777777777777778;b[a>>3]=w;b[f>>3]=n;return}function Ef(A,e,i,r,f,a,n){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;n=n|0;b[r>>3]=1.0-A;b[f>>3]=1.0-e;b[a>>3]=1.0-i;e=+b[r>>3];i=+b[f>>3];i=e>3]=i;e=+b[a>>3];i=e>3]=i;b[r>>3]=+b[r>>3]-i;b[f>>3]=+b[f>>3]-+b[n>>3];b[a>>3]=+b[a>>3]-+b[n>>3];return}function Cf(A,e,i,r,f,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;var n=0.0,l=0.0,t=0.0,c=0,s=0;A:do{if(!(e<=0.0)){l=!(A>=1.0)?A*6.0:0.0;s=~~l;l=l-+(s|0);A=(1.0-e)*i;t=(1.0-l*e)*i;e=(1.0-(1.0-l)*e)*i;switch(s|0){case 0:{n=A;l=e;A=i;c=8;break A}case 1:{n=A;l=i;A=t;c=8;break A}case 2:{n=e;l=i;c=8;break A}case 3:{n=i;l=t;c=8;break A}case 4:{n=i;l=A;A=e;c=8;break A}case 5:{n=t;l=A;A=i;c=8;break A}default:break A}}else{n=i;l=i;A=i;c=8}}while(0);if((c|0)==8){b[r>>3]=A;b[f>>3]=l;b[a>>3]=n}return}function If(A){A=A|0;var e=0,i=0;e=r[A>>0]|0;if(((e<<24>>24!=98?(i=A+1|0,!(e<<24>>24==119|(Z1(i,137266,4)|0)==0)):0)?!(e<<24>>24==108|(Z1(i,137271,4)|0)==0):0)?(Z1(i,137276,8)|0)!=0:0){do{if(e<<24>>24==47){e=G1(i,47)|0;if(!e)A=i;else{if((r[i>>0]|0)!=47){i=(T1(137285,i,4)|0)==0;A=i?e+1|0:A;break}e=a[47370]|0;if((e|0?r[e>>0]|0:0)?T1(137285,e,3)|0:0){A=Gf(e,A+2|0)|0;break}A=A+2|0}}else{e=a[47370]|0;if(((e|0)!=0?(r[e>>0]|0)!=0:0)?(T1(137285,e,3)|0)!=0:0)A=Gf(e,A)|0}}while(0);A=Bf(A)|0}return A|0}function Zf(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function Gf(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;f=k;k=k+16|0;r=f;n=S2(A)|0;n=(S2(e)|0)+n|0;i=n+13|0;if((n+3|0)>>>0<(a[47371]|0)>>>0)i=a[47372]|0;else{a[47371]=i;i=eV(a[47372]|0,i)|0;a[47372]=i}a[r>>2]=A;a[r+4>>2]=e;P4(i,137290,r)|0;k=f;return a[47372]|0}function Qf(A){A=A|0;a[47370]=A;return}function mf(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var a=0,n=0;a=k;k=k+208|0;n=a;Lf(n,+b[A>>3],+b[A+8>>3],e,i,r,f);A=Wf(n)|0;k=a;return A|0}function Lf(A,e,i,r,f,a,n){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;n=+n;var l=0,t=0;b[A>>3]=e;b[A+8>>3]=i;t=A+16|0;b[t>>3]=r;l=A+24|0;b[l>>3]=f;b[A+32>>3]=0.0;i=+X(+(+M(+a)/f),+(+D(+a)/r));b[A+56>>3]=i;f=+X(+(+M(+n)/f),+(+D(+n)/r));b[A+40>>3]=1.0;b[A+48>>3]=0.0;f=f-+W(+((f-i)*.15915494309189535))*6.283185307179586;b[A+64>>3]=n-a>3.141592653589793&f-i<3.141592653589793?f+6.283185307179586:f;Ff(A);Vf(A);Jf(A);n=+b[t>>3];n=(n-+b[l>>3])/n;b[A+168>>3]=n;b[A+176>>3]=(2.0-n)*n;n=1.0-n;b[A+184>>3]=n;b[A+192>>3]=n*n;return}function Wf(A){A=A|0;var e=0,i=0.0,r=0,f=0.0,a=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0;h=qF(8)|0;a=+b[A+56>>3];f=+b[A+64>>3]-a;o=1;e=0;while(1){k=f/+(o|0);if(!(e<<24>>24==0&(o|0)<1024))break;A:do{if(!(k<=1.5707963267948966))e=0;else{i=a;r=0;e=1;while(1){if(!(e<<24>>24!=0&(r|0)<(o|0)))break A;u=i+k;e=+yf(A,i,u)<=1.0e-05&1;i=u;r=r+1|0}}}while(0);o=o<<1}l=+D(+a);g=+M(+a);r=A+16|0;B=+b[r>>3];E=B*l;t=A+24|0;i=+b[t>>3];n=i*g;l=i*l;i=+b[A>>3];c=A+40|0;v=+b[c>>3];s=A+48|0;d=+b[s>>3];f=v*E+i-d*n;w=A+8|0;u=+b[w>>3];n=d*E+v*n+u;B=-(g*B);zf(h,i,u);Yf(h,f,n);u=+F(+(k*.5));u=+M(+k)*.3333333333333333*(+z(+(u*u*3.0+4.0))+-1.0);i=a;a=n;n=d*B+v*l;l=v*B-d*l;e=0;while(1){if((e|0)>=(o|0))break;d=i+k;g=+D(+d);E=+M(+d);I=+b[r>>3];G=I*g;C=+b[t>>3];v=C*E;g=C*g;C=+b[c>>3];Z=+b[s>>3];B=C*G+ +b[A>>3]-Z*v;v=Z*G+C*v+ +b[w>>3];I=-(E*I);E=C*I-Z*g;g=Z*I+C*g;Df(h,f+l*u,a+n*u,B-E*u,v-g*u,B,v);i=d;f=B;a=v;n=g;l=E;e=e+1|0}Mf(h);return h|0}function yf(A,e,i){A=A|0;e=+e;i=+i;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;r=i+e;l=+b[A+16>>3];f=+b[A+24>>3]/l;n=+D(+r);a=+D(+(r*2.0));r=+D(+(r*3.0));A=f<.25?10392:10648;return+(((f*.001+4.98)*f+.207)/(f+.0067)*l*+R(+(((+b[A+32>>3]*f+ +b[A+40>>3])*f+ +b[A+48>>3])/(+b[A+56>>3]+f)*n+((+b[A>>3]*f+ +b[A+8>>3])*f+ +b[A+16>>3])/(+b[A+24>>3]+f)+((+b[A+64>>3]*f+ +b[A+72>>3])*f+ +b[A+80>>3])/(+b[A+88>>3]+f)*a+((+b[A+96>>3]*f+ +b[A+104>>3])*f+ +b[A+112>>3])/(+b[A+120>>3]+f)*r+(((+b[A+160>>3]*f+ +b[A+168>>3])*f+ +b[A+176>>3])/(+b[A+184>>3]+f)*n+((+b[A+128>>3]*f+ +b[A+136>>3])*f+ +b[A+144>>3])/(+b[A+152>>3]+f)+((+b[A+192>>3]*f+ +b[A+200>>3])*f+ +b[A+208>>3])/(+b[A+216>>3]+f)*a+((+b[A+224>>3]*f+ +b[A+232>>3])*f+ +b[A+240>>3])/(+b[A+248>>3]+f)*r)*(i-e))))}function zf(A,e,i){A=A|0;e=+e;i=+i;var r=0;a[47373]=100;r=qF(1600)|0;a[A>>2]=r;b[r>>3]=e;b[r+8>>3]=i;a[A+4>>2]=1;return}function Yf(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;f=a[A>>2]|0;r=(a[A+4>>2]|0)+-1|0;Df(A,+b[f+(r<<4)>>3],+b[f+(r<<4)+8>>3],e,i,e,i);return}function Df(A,e,i,r,f,n,l){A=A|0;e=+e;i=+i;r=+r;f=+f;n=+n;l=+l;var t=0,c=0,s=0,w=0;s=A+4|0;t=a[s>>2]|0;c=a[47373]|0;if((t+3|0)<(c|0))A=a[A>>2]|0;else{a[47373]=c<<1;t=y2(a[A>>2]|0,c<<5)|0;a[A>>2]=t;A=t;t=a[s>>2]|0}b[A+(t<<4)>>3]=e;w=t+1|0;b[A+(t<<4)+8>>3]=i;b[A+(w<<4)>>3]=r;c=t+2|0;b[A+(w<<4)+8>>3]=f;b[A+(c<<4)>>3]=n;a[s>>2]=t+3;b[A+(c<<4)+8>>3]=l;return}function Mf(A){A=A|0;var e=0;e=a[A>>2]|0;Yf(A,+b[e>>3],+b[e+8>>3]);a[A>>2]=y2(a[A>>2]|0,a[A+4>>2]<<4)|0;a[47373]=0;return}function Ff(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0;r=+b[A+16>>3];e=+b[A+24>>3];e=+z(+(r*r-e*e));r=e*+b[A+40>>3];e=e*+b[A+48>>3];f=+b[A>>3];b[A+104>>3]=f-r;i=+b[A+8>>3];b[A+112>>3]=i-e;b[A+120>>3]=f+r;b[A+128>>3]=i+e;return}function Vf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0;r=+b[A+16>>3];l=+b[A+56>>3];t=+D(+l)*r;e=+b[A+24>>3];l=+M(+l)*e;n=+b[A+64>>3];r=+D(+n)*r;e=+M(+n)*e;n=+b[A>>3];i=+b[A+40>>3];f=+b[A+48>>3];b[A+72>>3]=i*t+n-f*l;a=+b[A+8>>3];b[A+80>>3]=f*t+a+i*l;b[A+88>>3]=n+i*r-f*e;b[A+96>>3]=a+f*r+i*e;return}function Jf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0;c=+b[A+24>>3];s=+b[A+16>>3];f=c/s;w=+b[A+48>>3];u=+y(+w)<.1;t=+b[A+40>>3];do{if(u){e=w/t;i=+N(+(e*f));r=-i;if(t<0.0){e=+N(+(e/f));f=r;r=3.141592653589793-i;i=4.71238898038469-e;e=1.5707963267948966-e;break}else{e=+N(+(e/f));f=-3.141592653589793-i;i=1.5707963267948966-e;e=-1.5707963267948966-e;break}}else{e=t/w;i=+N(+(e/f));r=i+1.5707963267948966;if(w<0.0){e=+N(+(e*f));f=i+-1.5707963267948966;i=e+3.141592653589793;break}else{e=+N(+(e*f));f=r;r=i+4.71238898038469;i=e;e=e+-3.141592653589793;break}}}while(0);n=+b[A+56>>3];f=f-+W(+((f-n)*.15915494309189535))*6.283185307179586;e=e-+W(+((e-n)*.15915494309189535))*6.283185307179586;a=r-+W(+((r-n)*.15915494309189535))*6.283185307179586;n=i-+W(+((i-n)*.15915494309189535))*6.283185307179586;l=+b[A+64>>3];if(!(f<=l)){f=+b[A+72>>3];i=+b[A+88>>3];i=f>3]-c*+M(+f)*w;b[A+136>>3]=i;if(!(e<=l)){f=+b[A+80>>3];r=+b[A+96>>3];r=f>3]+ +M(+e)*c*t;b[A+144>>3]=r;if(!(a<=l)){a=+b[A+72>>3];e=+b[A+88>>3];e=a>e?a:e}else e=+D(+a)*s*t+ +b[A>>3]-c*+M(+a)*w;b[A+152>>3]=e-i;if(!(n<=l)){w=+b[A+80>>3];e=+b[A+96>>3];e=w>e?w:e}else e=+D(+n)*s*w+ +b[A+8>>3]+ +M(+n)*c*t;b[A+160>>3]=e-r;return}function Nf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+80|0;s=w;Xf(A);c=+b[i+56>>3];n=+b[i+64>>3];switch(r[i+80>>0]|0){case 116:{n=(+b[i+48>>3]-+Rf(e))*.5+n;f=4;break}case 98:{n=n-(+b[i+48>>3]-+Rf(e))*.5;f=4;break}default:{}}if((f|0)==4)n=n+-1.0;b[s>>3]=c;b[s+8>>3]=n;a[s+20>>2]=a[i+8>>2];a[s+16>>2]=a[i+4>>2];b[s+32>>3]=+b[i+16>>3];t=A+16|0;f=po(a[(a[t>>2]|0)+8>>2]|0,137297)|0;i=s+56|0;a[i>>2]=f;l=s+60|0;a[l>>2]=a[(a[t>>2]|0)+212>>2];t=s+64|0;r[t>>0]=0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))a[i>>2]=137308;if((r[e+4>>0]|0)==1){i=a[e>>2]|0;rr(A,a[(a[A>>2]|0)+336>>2]|0);f=a[i+24>>2]|0;if(!f)$i(A,137314);else $i(A,f);pf(A,i,s);if(r[t>>0]|0)L2(a[l>>2]|0)}else Hf(A,a[e>>2]|0,s);Uf(A);k=w;return}function Xf(A){A=A|0;var e=0,i=0,r=0;e=AI(A)|0;i=a[e>>2]|0;A=a[i+4>>2]|0;a[e+4>>2]=A;a[e+12>>2]=a[i+12>>2];switch(A|0){case 2:{A=i+8|0;r=6;break}case 0:{A=i+8|0;r=6;break}case 1:{A=i+8|0;r=6;break}case 3:{A=i+8|0;r=6;break}default:{}}if((r|0)==6)a[e+8>>2]=a[A>>2];a[e+208>>2]=a[i+208>>2];a[e+228>>2]=a[i+228>>2];a[e+244>>2]=a[i+244>>2];r=e+260|0;f[r>>1]=f[r>>1]&-2|f[i+260>>1]&1;return}function Rf(A){A=A|0;var e=0.0,i=0,f=0;switch(r[A+4>>0]|0){case 1:{i=a[A>>2]|0;A=i+72|0;i=i+56|0;f=5;break}case 3:{i=a[A>>2]|0;A=i+24|0;i=i+8|0;f=5;break}case 2:{i=a[A>>2]|0;A=i+32|0;i=i+16|0;f=5;break}default:e=0.0}if((f|0)==5)e=+b[A>>3]-+b[i>>3];return+e}function Hf(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;w=k;k=k+96|0;t=w+64|0;l=w+32|0;n=w+16|0;c=w;s=f[e+4>>1]|0;if(s<<16>>16>=1){d=e+8|0;o=+b[e+24>>3];u=+b[d>>3];b[c>>3]=(u+o)*.5+ +b[i>>3];b[c+8>>3]=(+b[e+16>>3]+ +b[e+32>>3])*.5+ +b[i+8>>3];h=a[e>>2]|0;B=i+16|0;i=r[e+6>>0]|0;a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[l+16>>2]=a[B+16>>2];a[l+20>>2]=a[B+20>>2];a[l+24>>2]=a[B+24>>2];a[l+28>>2]=a[B+28>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];a[t+16>>2]=a[d+16>>2];a[t+20>>2]=a[d+20>>2];a[t+24>>2]=a[d+24>>2];a[t+28>>2]=a[d+28>>2];ea(A,s<<16>>16,h,n,(o-u)*.5,l,t,i)}k=w;return}function pf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+176|0;v=Z+96|0;E=Z+64|0;C=Z+136|0;o=Z;h=Z+128|0;d=e+48|0;a[E>>2]=a[d>>2];a[E+4>>2]=a[d+4>>2];a[E+8>>2]=a[d+8>>2];a[E+12>>2]=a[d+12>>2];a[E+16>>2]=a[d+16>>2];a[E+20>>2]=a[d+20>>2];a[E+24>>2]=a[d+24>>2];a[E+28>>2]=a[d+28>>2];s=+b[i>>3];w=+b[i+8>>3];d=e+84|0;l=a[d>>2]|0;if(!(a[e>>2]|0))I=(a[e+8>>2]|0)!=0;else I=1;g=e+108|0;t=a[g>>2]|0;if(t|0)xf(i,t,186544);b[E>>3]=+b[E>>3]+s;B=E+16|0;b[B>>3]=+b[B>>3]+s;B=E+8|0;b[B>>3]=+b[B>>3]+w;B=E+24|0;b[B>>3]=+b[B>>3]+w;if(I?(a[A+152>>2]&4|0)==0:0){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];B=Tf(A,i,e,v,C)|0}else B=0;u=e+42|0;t=f[u>>1]|0;if(!(t&32)){c=a[e+20>>2]|0;if(c){t=jf(A,c,a[e+28>>2]|0,t&65535,h)|0;if(!(f[u>>1]&4)){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];nr(A,v,t)}else{u=n[e+33>>0]|0;a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];tN(A,Sf(o,v,u)|0,4,4,t)}L2(a[h>>2]|0)}while(1){t=a[l>>2]|0;if(!t)break;Pf(A,t,i);l=l+4|0}l=a[d>>2]|0;wr(A,1.0);t=e+24|0;while(1){c=l+4|0;l=a[l>>2]|0;if(!l)break;if(!(r[l+100>>0]|0)){l=c;continue}Of(A,l,i,a[t>>2]|0,a[c>>2]|0);l=c}if(r[e+33>>0]|0){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];Kf(A,e,v)}}if(B|0)_f(A,C);if((I?a[A+152>>2]&4|0:0)?(a[v>>2]=a[E>>2],a[v+4>>2]=a[E+4>>2],a[v+8>>2]=a[E+8>>2],a[v+12>>2]=a[E+12>>2],a[v+16>>2]=a[E+16>>2],a[v+20>>2]=a[E+20>>2],a[v+24>>2]=a[E+24>>2],a[v+28>>2]=a[E+28>>2],Tf(A,i,e,v,C)|0):0)_f(A,C);if(a[g>>2]|0)qf(i,186544);k=Z;return}function Uf(A){A=A|0;var e=0;e=a[A+16>>2]|0;a[e+208>>2]=0;a[e+228>>2]=0;a[e+244>>2]=0;a[e+212>>2]=0;eI(A);return}function xf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0;l=A+16|0;f=a[l>>2]|0;if(f|0){if(!(a[e>>2]|0)){f=0;n=i}else{a[i>>2]=f;f=a[e>>2]|0;n=l}a[n>>2]=f}f=a[A+20>>2]|0;if(f|0){n=e+4|0;if(!(a[n>>2]|0)){f=0;n=i}else{a[i+4>>2]=f;f=a[n>>2]|0;n=l}a[n+4>>2]=f}r=+b[A+32>>3];if(r>=0.0){f=e+16|0;if(!(+b[f>>3]>=0.0))r=-1.0;else{b[i+16>>3]=r;r=+b[f>>3];i=l}b[i+16>>3]=r}return}function Tf(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+224|0;w=g+8|0;b=g;v=g+40|0;c=g+184|0;t=g+56|0;s=a[A+16>>2]|0;u=s+208|0;a[l>>2]=a[u>>2];o=s+228|0;a[l+4>>2]=a[o>>2];h=s+244|0;a[l+8>>2]=a[h>>2];d=s+212|0;a[l+12>>2]=a[d>>2];B=s+260|0;r[l+16>>0]=(f[B>>1]<<15&65535)<<16>>16>>15;l=a[i+16>>2]|0;if((l|0)!=0?(r[l>>0]|0)!=0:0)t=0;else{co(v,128,t);t=e+60|0;l=a[t>>2]|0;if(!l){l=s3(rI(A,a[s+8>>2]|0,v)|0)|0;a[t>>2]=l;r[e+64>>0]=1}wo(v,l)|0;t=a[47374]|0;a[47374]=t+1;a[b>>2]=t;P4(c,137391,b)|0;wo(v,c)|0;t=v+4|0;l=a[t>>2]|0;if(l>>>0>=(a[v+8>>2]|0)>>>0){bo(v,1)|0;l=a[t>>2]|0}r[l>>0]=0;l=a[v>>2]|0;a[t>>2]=l;t=1}l=iI(A,0,a[i>>2]|0,a[i+12>>2]|0,a[i+8>>2]|0,l,a[s+8>>2]|0)|0;if(t)uo(v);do{if(l|0){if((a[u>>2]|0)==0?(f[B>>1]&1)==0:0)break;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];a[w+16>>2]=a[n+16>>2];a[w+20>>2]=a[n+20>>2];a[w+24>>2]=a[n+24>>2];a[w+28>>2]=a[n+28>>2];bI(A,w);Pi(A,a[u>>2]|0,a[o>>2]|0,a[h>>2]|0,a[d>>2]|0)}}while(0);k=g;return l|0}function jf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0;t=k;k=k+16|0;l=t;if(!((qM(e,f,l)|0)<<24>>24)){er(A,e);e=1}else{er(A,a[f>>2]|0);e=a[f+4>>2]|0;n=+c[l>>2];if(!e)ir(A,137314,i,n);else ir(A,e,i,n);e=r>>>1&1|2}$i(A,137379);k=t;return e|0}function Sf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];r=A+32|0;e=e+16|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];if((i|0)>1){t=+(i|0)*.5;l=+b[A>>3]+t;b[A>>3]=l;i=A+8|0;n=+b[i>>3]+t;b[i>>3]=n;f=+b[r>>3]-t;b[r>>3]=f;r=A+40|0;t=+b[r>>3]-t;b[r>>3]=t}else{f=+b[r>>3];n=+b[A+8>>3];l=+b[A>>3];t=+b[A+40>>3]}b[A+16>>3]=f;b[A+24>>3]=n;b[A+48>>3]=l;b[A+56>>3]=t;return A|0}function Pf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+176|0;d=E+96|0;B=E+136|0;v=E+64|0;o=E;h=E+128|0;g=e+48|0;a[v>>2]=a[g>>2];a[v+4>>2]=a[g+4>>2];a[v+8>>2]=a[g+8>>2];a[v+12>>2]=a[g+12>>2];a[v+16>>2]=a[g+16>>2];a[v+20>>2]=a[g+20>>2];a[v+24>>2]=a[g+24>>2];a[v+28>>2]=a[g+28>>2];t=+b[i>>3];c=+b[i+8>>3];if(!(a[e>>2]|0))g=(a[e+8>>2]|0)!=0;else g=1;b[v>>3]=+b[v>>3]+t;u=v+16|0;b[u>>3]=+b[u>>3]+t;u=v+8|0;b[u>>3]=+b[u>>3]+c;u=v+24|0;b[u>>3]=+b[u>>3]+c;if(g?(a[A+152>>2]&4|0)==0:0){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];u=Tf(A,i,e,d,B)|0}else u=0;w=e+42|0;l=f[w>>1]|0;A:do{if(!(l&32)){s=a[e+20>>2]|0;if(s|0){l=jf(A,s,a[e+28>>2]|0,l&65535,h)|0;if(!(f[w>>1]&4)){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];nr(A,d,l)}else{w=n[e+33>>0]|0;a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];tN(A,Sf(o,d,w)|0,4,4,l)}L2(a[h>>2]|0)}if(r[e+33>>0]|0){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];Kf(A,e,d)}l=e+88|0;switch(r[e+92>>0]|0){case 1:{pf(A,a[l>>2]|0,i);break A}case 3:{Aa(A,a[l>>2]|0,i);break A}default:{Hf(A,a[l>>2]|0,i);break A}}}}while(0);if(u|0)_f(A,B);if((g?a[A+152>>2]&4|0:0)?(a[d>>2]=a[v>>2],a[d+4>>2]=a[v+4>>2],a[d+8>>2]=a[v+8>>2],a[d+12>>2]=a[v+12>>2],a[d+16>>2]=a[v+16>>2],a[d+20>>2]=a[v+20>>2],a[d+24>>2]=a[v+24>>2],a[d+28>>2]=a[v+28>>2],Tf(A,i,e,d,B)|0):0)_f(A,B);k=E;return}function Of(A,e,i,t,c){A=A|0;e=e|0;i=i|0;t=t|0;c=c|0;var s=0.0,w=0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0;Q=k;k=k+32|0;Z=Q+16|0;G=Q;d=+b[i>>3];I=+b[i+8>>3];h=(t|0)==0?137314:t;er(A,h);$i(A,h);v=+b[e+48>>3];u=+b[e+56>>3];g=+b[e+64>>3];o=+b[e+72>>3];B=v+d;d=g+d;I=u+I;h=e+100|0;i=r[h>>0]|0;if((i&1)!=0?(w=a[e+96>>2]|0,((l[e+80>>1]|0)+(l[e+84>>1]|0)|0)<(a[w+104>>2]|0)):0){i=f[e+86>>1]|0;do{if(i<<16>>16)if(((l[e+82>>1]|0)+(i&65535)|0)==(a[w+100>>2]|0)){m=r[w+32>>0]|0;L=(m<<24>>24)/2|0;t=(L<<24>>24)+(n[w+33>>0]|0)|0;i=t;t=t&255;s=I-+(L<<24>>24);w=m;break}else{w=r[w+32>>0]|0;i=0;t=((w<<24>>24)/2|0)<<24>>24;s=I;break}else{L=r[w+32>>0]|0;t=((L<<24>>24)/2|0)<<24>>24;i=t+(n[w+33>>0]|0)|0;s=I;w=L}}while(0);b[G+8>>3]=s-+(t|0);b[G>>3]=d+ +(((w<<24>>24)/2|0)<<24>>24);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];$f(A,Z,0.0,o-u+ +(i&255|0)+ +(w<<24>>24));i=r[h>>0]|0}if(i&2?(E=f[e+86>>1]|0,C=a[e+96>>2]|0,((l[e+82>>1]|0)+(E&65535)|0)<(a[C+100>>2]|0)):0){i=f[e+84>>1]|0;do{if(!(i<<16>>16)){i=r[C+32>>0]|0;L=(i<<24>>24)/2|0;w=(L<<24>>24)+(n[C+33>>0]|0)|0;t=w&255;w=w&255;s=+(L<<24>>24);b[G>>3]=B-s-+(w|0);if((a[C+104>>2]|0)==(l[e+80>>1]|0)){t=w<<1&255;break}if((c|0)!=0?(f[c+86>>1]|0)!=E<<16>>16:0)t=~~(+(t&255)-g+ +b[C+64>>3]-s)&255}else{if(((l[e+80>>1]|0)+(i&65535)|0)==(a[C+104>>2]|0)){i=r[C+32>>0]|0;L=(i<<24>>24)/2|0;t=(L&255)+(n[C+33>>0]|0)&255;b[G>>3]=B-+(L<<24>>24);break}i=r[C+32>>0]|0;s=+(((i<<24>>24)/2|0)<<24>>24);b[G>>3]=B-s;if((c|0)!=0?(f[c+86>>1]|0)!=E<<16>>16:0)t=~~(+b[C+64>>3]-g-s)&255;else t=0}}while(0);b[G+8>>3]=I-+(((i<<24>>24)/2|0)<<24>>24);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];$f(A,Z,g-v+ +(t&255)+ +(i<<24>>24),0.0)}k=Q;return}function Kf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0;o=k;k=k+160|0;u=o+112|0;w=o;t=o+144|0;s=a[e+24>>2]|0;$i(A,(s|0)==0?137314:s);s=e+42|0;l=f[s>>1]|0;if(!(l&384))rr(A,a[(a[A>>2]|0)+336>>2]|0);else{a[t+4>>2]=0;a[t>>2]=0;l=l&65535;if(!(l&256)){if(l&128|0){l=137320;c=4}}else{l=137327;c=4}if((c|0)==4)a[t>>2]=l;rr(A,t)}c=e+33|0;wr(A,+(n[c>>0]|0));A:do{if(!(f[s>>1]&4)){l=f[e+36>>1]&15360;if(!(l<<16>>16)){l=r[c>>0]|0;if((l&255)>1){h=+(l&255)*.5;b[i>>3]=+b[i>>3]+h;w=i+8|0;b[w>>3]=+b[w>>3]+h;w=i+16|0;b[w>>3]=+b[w>>3]-h;w=i+24|0;b[w>>3]=+b[w>>3]-h}a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];nr(A,u,0);break}t=w+16|0;s=n[c>>0]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];Sf(t,u,s)|0;do{switch(((l&65535)+-1024|0)>>>10&4194303|0){case 7:{tr(A,t,2);break A}case 3:{tr(A,w+32|0,2);break A}case 1:{tr(A,w+48|0,2);break A}case 0:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,2);break A}case 11:{tr(A,t,3);break A}case 5:{tr(A,w+32|0,3);break A}case 2:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];tr(A,w+48|0,3);break A}case 8:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,3);break A}case 13:{tr(A,t,4);break A}case 6:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];tr(A,w+32|0,4);break A}case 10:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];i=w+96|0;u=w+32|0;a[i>>2]=a[u>>2];a[i+4>>2]=a[u+4>>2];a[i+8>>2]=a[u+8>>2];a[i+12>>2]=a[u+12>>2];tr(A,w+48|0,4);break A}case 12:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,4);break A}case 9:{tr(A,t,2);tr(A,w+48|0,2);break A}case 4:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,2);tr(A,w+32|0,2);break A}default:break A}}while(0)}else{s=n[c>>0]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];tN(A,Sf(w,u,s)|0,4,4,0)}}while(0);k=o;return}function _f(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=a[A+16>>2]|0;i=l+208|0;if((a[i>>2]|0)==0?(f[l+260>>1]&1)==0:0)A=0;else{Oi(A);A=a[i>>2]|0}if((A|0)!=(a[e>>2]|0)){L2(A);a[i>>2]=a[e>>2]}A=l+228|0;i=a[A>>2]|0;n=e+4|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}A=l+244|0;i=a[A>>2]|0;n=e+8|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}A=l+212|0;i=a[A>>2]|0;n=e+12|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}l=l+260|0;f[l>>1]=f[l>>1]&-2|r[e+16>>0]&1;return}function qf(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=a[e>>2]|0;if(r|0)a[A+16>>2]=r;r=a[e+4>>2]|0;if(r|0)a[A+20>>2]=r;i=+b[e+16>>3];if(i>=0.0)b[A+32>>3]=i;return}function $f(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0,l=0;f=k;k=k+64|0;n=f+32|0;l=f;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];b[l+16>>3]=+b[e>>3]+i;b[l+24>>3]=+b[e+8>>3]+r;a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];a[n+16>>2]=a[l+16>>2];a[n+20>>2]=a[l+20>>2];a[n+24>>2]=a[l+24>>2];a[n+28>>2]=a[l+28>>2];nr(A,n,1);k=f;return}function Aa(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0.0;l=k;k=k+64|0;n=l;c=+b[i>>3];w=c+ +b[e>>3];s=+b[i+8>>3];t=s+ +b[e+8>>3];c=c+ +b[e+16>>3];s=s+ +b[e+24>>3];b[n>>3]=c;b[n+8>>3]=s;b[n+32>>3]=w;b[n+40>>3]=t;b[n+16>>3]=w;b[n+24>>3]=s;b[n+48>>3]=c;b[n+56>>3]=t;f=a[e+36>>2]|0;if(!f)f=a[i+56>>2]|0;i=a[e+32>>2]|0;if(!i)vA(137334,137342,623,137354);if(!(r[i>>0]|0))vA(137368,137342,624,137354);else{br(A,i,n,4,1,f);k=l;return}}function ea(A,e,i,n,l,t,c,s){A=A|0;e=e|0;i=i|0;n=n|0;l=+l;t=t|0;c=c|0;s=s|0;var w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0.0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,U=0;U=k;k=k+128|0;V=U+104|0;R=U+48|0;H=U+16|0;J=U;F=J;a[F>>2]=0;a[F+4>>2]=0;N=+b[n>>3];X=N-l;M=N+l;F=J+8|0;b[F>>3]=(+b[c+24>>3]-+b[c+8>>3])*.5+ +b[n+8>>3];Ki(A,1);W=H+16|0;y=H+4|0;z=H+24|0;Y=R+4|0;D=R+16|0;B=(s|0)==0;v=R+24|0;g=R+8|0;E=R+32|0;C=R+40|0;I=R+48|0;Z=t+16|0;G=t+4|0;Q=H+8|0;h=0;while(1){if((h|0)>=(e|0))break;switch(r[i+(h*24|0)+6>>0]|0){case 108:{l=X;break}case 114:{l=M-+b[i+(h*24|0)+8>>3];break}default:l=N-+b[i+(h*24|0)+8>>3]*.5}b[n>>3]=l;m=i+(h*24|0)+16|0;b[F>>3]=+b[F>>3]-+b[m>>3];L=i+(h*24|0)+4|0;o=a[i+(h*24|0)>>2]|0;d=0;while(1){if((d|0)>=(f[L>>1]|0))break;u=o+4|0;s=a[u>>2]|0;if(s){b[W>>3]=+b[(+b[s+16>>3]>0.0?s:t)+16>>3];a[H>>2]=a[((a[s>>2]|0)==0?t:s)>>2];c=a[((a[s+4>>2]|0)==0?t:s)+4>>2]|0;a[y>>2]=c;s=a[s+24>>2]&127;if(!s)p=12;else s=a[z>>2]&-128|s}else{b[W>>3]=+b[Z>>3];a[H>>2]=a[t>>2];c=a[G>>2]|0;a[y>>2]=c;p=12}if((p|0)==12){p=0;s=a[z>>2]&-128}a[z>>2]=s;$i(A,c);a[R>>2]=a[o>>2];a[Y>>2]=H;b[D>>3]=+b[o+16>>3];if(B)w=1.0;else w=+b[o+24>>3];b[v>>3]=w;a[Q>>2]=a[(a[u>>2]|0)+8>>2];a[g>>2]=a[o+8>>2];u=o+32|0;b[E>>3]=+b[u>>3];b[C>>3]=+b[m>>3];r[I>>0]=108;b[J>>3]=l;a[V>>2]=a[J>>2];a[V+4>>2]=a[J+4>>2];a[V+8>>2]=a[J+8>>2];a[V+12>>2]=a[J+12>>2];qi(A,V,R);w=+b[u>>3]+l;b[n>>3]=w;o=o+56|0;d=d+1|0;l=w}h=h+1|0}_i(A);k=U;return}function ia(A){A=A|0;L2(a[A>>2]|0);L2(a[A+4>>2]|0);L2(a[A+8>>2]|0);L2(a[A+16>>2]|0);L2(a[A+12>>2]|0);L2(a[A+20>>2]|0);L2(a[A+24>>2]|0);return}function ra(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;if(A|0){c=A+4|0;i=0;n=a[A>>2]|0;while(1){if((i|0)>=(f[c>>1]|0))break;b=n+4|0;e=0;r=a[n>>2]|0;while(1){if((e|0)>=(f[b>>1]|0))break;L2(a[r>>2]|0);l=a[r+8>>2]|0;if(l|0?(t=a[r+12>>2]|0,t|0):0)F5[t&127](l);e=e+1|0;r=r+56|0}i=i+1|0;n=n+24|0}e=a[A>>2]|0;if(e|0)L2(e);L2(A)}return}function fa(A){A=A|0;L2(a[A+32>>2]|0);L2(A);return}function aa(A,e){A=A|0;e=e|0;switch(r[A+4>>0]|0){case 1:{na(a[A>>2]|0);break}case 3:{fa(a[A>>2]|0);break}default:ra(a[A>>2]|0)}if(e|0)L2(A);return}function na(A){A=A|0;var e=0,i=0,r=0;r=A+84|0;if((a[A+100>>2]|0)==-1)pk(a[r>>2]|0)|0;else{e=a[r>>2]|0;L2(a[A+92>>2]|0);L2(a[A+96>>2]|0);while(1){i=a[e>>2]|0;if(!i)break;la(i);e=e+4|0}L2(a[r>>2]|0)}ia(A);L2(A);return}function la(A){A=A|0;aa(A+88|0,0);ia(A);L2(A);return}function ta(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A=a[(a[(a[A+16>>2]|0)+104>>2]|0)+72>>2]|0;if((r[A+4>>0]|0)!=2?(f=ca(a[A>>2]|0,e)|0,(f|0)!=0):0){a[i>>2]=n[f+35>>0];A=f+48|0}else A=0;return A|0}function ca(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[A+4>>2]|0;if(!((i|0)!=0?(N1(i,e)|0)==0:0))r=3;A:do{if((r|0)==3){i=a[A+84>>2]|0;while(1){A=a[i>>2]|0;if(!A){A=0;break A}A=ba(A,e)|0;if(!A)i=i+4|0;else break}}}while(0);return A|0}function ba(A,e){A=A|0;e=e|0;var i=0;i=a[A+4>>2]|0;if(!((i|0)!=0?(N1(i,e)|0)==0:0))if((r[A+92>>0]|0)==1)A=ca(a[A+88>>2]|0,e)|0;else A=0;return A|0}function sa(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function wa(A){A=A|0;var e=0.0,i=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=A+92|0;a[o>>2]=qF((a[A+100>>2]<<2)+4|0)|0;u=qF((a[A+104>>2]<<2)+4|0)|0;a[A+96>>2]=u;k=A+32|0;w=a[A+84>>2]|0;while(1){s=a[w>>2]|0;if(!s)break;A=f[s+82>>1]|0;e=+b[s+72>>3];if(A<<16>>16==1)n=~~e;else{n=~~((e-+(U((r[k>>0]|0)+-1|0,(A&65535)+-1|0)|0))/+(A&65535));n=(n|0)>1?n:1}t=f[s+80>>1]|0;e=+b[s+64>>3];if(t<<16>>16==1)c=~~e;else{c=~~((e-+(U((r[k>>0]|0)+-1|0,(t&65535)+-1|0)|0))/+(t&65535));c=(c|0)>1?c:1}h=l[s+86>>1]|0;i=(A&65535)+h|0;A=h;while(1){if((A|0)>=(i|0))break;h=(a[o>>2]|0)+(A<<2)|0;d=a[h>>2]|0;a[h>>2]=(d|0)>(n|0)?d:n;A=A+1|0}A=l[s+84>>1]|0;i=(t&65535)+A|0;while(1){if((A|0)>=(i|0))break;d=u+(A<<2)|0;h=a[d>>2]|0;a[d>>2]=(h|0)>(c|0)?h:c;A=A+1|0}w=w+4|0}return}function ua(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;if(A>>>0<21)A=a[55840+(A<<2)>>2]|0;else{a[e>>2]=A;P4(194959,137395,e)|0;A=194959}k=i;return A|0}function ka(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0;c=A+104|0;s=A+100|0;t=i+16|0;r=0;f=0;while(1){if((r|0)>(a[c>>2]|0))break;n=vd(i,ua(r)|0,1)|0;Td(n,137447,304,1)|0;w=n+16|0;a[(a[w>>2]|0)+176>>2]=0;k=qF((a[s>>2]<<2)+4|0)|0;u=a[w>>2]|0;a[u+172>>2]=k;a[u+184>>2]=0;u=qF((a[s>>2]<<2)+4|0)|0;a[(a[w>>2]|0)+180>>2]=u;if(!f)a[(a[t>>2]|0)+192>>2]=n;else a[(a[f+16>>2]|0)+164>>2]=n;r=r+1|0;f=n}t=e+16|0;r=0;f=0;while(1){if((r|0)>(a[s>>2]|0))break;n=vd(e,ua(r)|0,1)|0;Td(n,137447,304,1)|0;k=n+16|0;a[(a[k>>2]|0)+176>>2]=0;w=qF((a[c>>2]<<2)+4|0)|0;u=a[k>>2]|0;a[u+172>>2]=w;a[u+184>>2]=0;u=qF((a[c>>2]<<2)+4|0)|0;a[(a[k>>2]|0)+180>>2]=u;if(!f)a[(a[t>>2]|0)+192>>2]=n;else a[(a[f+16>>2]|0)+164>>2]=n;r=r+1|0;f=n}r=a[A+84>>2]|0;while(1){f=a[r>>2]|0;if(!f)break;k=f+84|0;u=vd(i,ua(l[k>>1]|0)|0,0)|0;k=vd(i,ua((l[f+80>>1]|0)+(l[k>>1]|0)|0)|0,0)|0;oa(i,u,k,~~+b[f+64>>3]);k=f+86|0;u=vd(e,ua(l[k>>1]|0)|0,0)|0;k=vd(e,ua((l[f+82>>1]|0)+(l[k>>1]|0)|0)|0,0)|0;oa(e,u,k,~~+b[f+72>>3]);r=r+4|0}ha(i);ha(e);return}function oa(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0;n=th(A,e,i,0,0)|0;if(!n){t=th(A,e,i,0,1)|0;Td(t,137460,176,1)|0;f[(a[t+16>>2]|0)+170>>1]=r;e=e+16|0;A=a[e>>2]|0;n=a[A+180>>2]|0;if(!n)A=$F((a[A+184>>2]<<2)+8|0)|0;else A=eV(n,(a[A+184>>2]<<2)+8|0)|0;r=a[e>>2]|0;a[r+180>>2]=A;r=r+184|0;n=a[r>>2]|0;a[r>>2]=n+1;a[A+(n<<2)>>2]=t;e=a[e>>2]|0;a[(a[e+180>>2]|0)+(a[e+184>>2]<<2)>>2]=0;e=i+16|0;A=a[e>>2]|0;n=a[A+172>>2]|0;if(!n)A=$F((a[A+176>>2]<<2)+8|0)|0;else A=eV(n,(a[A+176>>2]<<2)+8|0)|0;r=a[e>>2]|0;a[r+172>>2]=A;r=r+176|0;i=a[r>>2]|0;a[r>>2]=i+1;a[A+(i<<2)>>2]=t;t=a[e>>2]|0;a[(a[t+172>>2]|0)+(a[t+176>>2]<<2)>>2]=0}else{t=(a[n+16>>2]|0)+170|0;i=l[t>>1]|0;f[t>>1]=(i|0)>(r|0)?i:r}return}function ha(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;e=a[(a[A+16>>2]|0)+192>>2]|0;while(1){r=e+16|0;l=a[(a[r>>2]|0)+164>>2]|0;if(!l)break;if(th(A,e,l,0,0)|0){e=l;continue}n=th(A,e,l,0,1)|0;Td(n,137460,176,1)|0;f[(a[n+16>>2]|0)+170>>1]=0;e=a[r>>2]|0;i=a[e+180>>2]|0;if(!i)e=$F((a[e+184>>2]<<2)+8|0)|0;else e=eV(i,(a[e+184>>2]<<2)+8|0)|0;t=a[r>>2]|0;a[t+180>>2]=e;t=t+184|0;i=a[t>>2]|0;a[t>>2]=i+1;a[e+(i<<2)>>2]=n;r=a[r>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=l+16|0;e=a[r>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;i=a[r>>2]|0;a[i+172>>2]=e;i=i+176|0;t=a[i>>2]|0;a[i>>2]=t+1;a[e+(t<<2)>>2]=n;e=a[r>>2]|0;a[(a[e+172>>2]|0)+(a[e+176>>2]<<2)>>2]=0;e=l}return}function da(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=A+92|0;r=0;f=0;e=a[(a[(a[e+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=a[e+164>>2]|0;if(!e)break;e=a[e+16>>2]|0;l=e+232|0;a[(a[n>>2]|0)+(f<<2)>>2]=(a[l>>2]|0)-r;r=a[l>>2]|0;f=f+1|0}A=A+96|0;r=0;f=0;e=a[(a[(a[i+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=a[e+164>>2]|0;if(!e)break;e=a[e+16>>2]|0;l=e+232|0;a[(a[A>>2]|0)+(f<<2)>>2]=(a[l>>2]|0)-r;r=a[l>>2]|0;f=f+1|0}return}function Ba(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l+4|0;e=l;a[e>>2]=a[4647];i=a[A+100>>2]|0;if((i|0)!=1?(f=A+104|0,(a[f>>2]|0)!=1):0){a[A+92>>2]=qF((i<<2)+4|0)|0;a[A+96>>2]=qF((a[f>>2]<<2)+4|0)|0;r[n>>0]=r[e>>0]|0;r[n+1>>0]=r[e+1>>0]|0;r[n+2>>0]=r[e+2>>0]|0;r[n+3>>0]=r[e+3>>0]|0;f=kh(137473,n,0)|0;r[n>>0]=r[e>>0]|0;r[n+1>>0]=r[e+1>>0]|0;r[n+2>>0]=r[e+2>>0]|0;r[n+3>>0]=r[e+3>>0]|0;n=kh(137478,n,0)|0;Td(f,137483,280,1)|0;Td(n,137483,280,1)|0;ka(A,f,n);JV(f,2,2147483647)|0;JV(n,2,2147483647)|0;da(A,f,n);va(f,n)}else wa(A);k=l;return}function va(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=(a[e+16>>2]|0)+192|0;while(1){i=a[i>>2]|0;if(!i)break;f=i+16|0;i=a[f>>2]|0;r=a[i+172>>2]|0;if(r){L2(r);i=a[f>>2]|0}r=a[i+180>>2]|0;if(r){L2(r);i=a[f>>2]|0}i=i+164|0}Bh(A)|0;Bh(e)|0;return}function ga(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0;o=k;k=k+272|0;w=o+104|0;u=o+136|0;t=o+72|0;c=o;n=o+144|0;a[c+48>>2]=A;switch(Md(A)|0){case 0:{i=a[A+60>>2]|0;break}case 1:{i=Id(A)|0;break}case 2:{i=Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;break}default:{}}l=c+52|0;a[l>>2]=i;s=a[i+60>>2]|0;b[c+32>>3]=+b[e+16>>3];a[c+16>>2]=a[e+4>>2];a[c+20>>2]=a[e+8>>2];a[c+40>>2]=0;f=zl(a[e>>2]|0,u,c)|0;if(!f){co(w,128,n);r[e+82>>0]=0;i=s3(Ea(A,w)|0)|0;a[e>>2]=i;if((a[e+12>>2]|0)==1)i=EH(i)|0;else i=BH(i,a[l>>2]|0)|0;L2(a[e>>2]|0);a[e>>2]=i;RF(a[(a[s+16>>2]|0)+144>>2]|0,e);uo(w);i=a[u>>2]|0}else{i=f+4|0;if((r[i>>0]|0)==1){if((a[(a[f>>2]|0)+24>>2]|0)==0?Ca(A)|0:0){l=s3(Ca(A)|0)|0;a[(a[f>>2]|0)+24>>2]=l}s=Ia(s,a[f>>2]|0,0,c)|0;a[u>>2]=a[u>>2]|s;s=a[f>>2]|0;d=+b[s+64>>3]*.5;h=+b[s+72>>3]*.5;Za(t,-d,-h,d,h);s=a[f>>2]|0;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[w+16>>2]=a[t+16>>2];a[w+20>>2]=a[t+20>>2];a[w+24>>2]=a[t+24>>2];a[w+28>>2]=a[t+28>>2];Ga(s,w,15)}else{Qa(a[(a[s+16>>2]|0)+144>>2]|0,a[f>>2]|0,c);w=a[f>>2]|0;h=+b[w+24>>3]*.5;d=+b[w+32>>3]*.5;Za(t,-h,-d,h,d);w=(a[f>>2]|0)+8|0;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[w+16>>2]=a[t+16>>2];a[w+20>>2]=a[t+20>>2];a[w+24>>2]=a[t+24>>2];a[w+28>>2]=a[t+28>>2]}b[e+24>>3]=+b[t+16>>3]-+b[t>>3];b[e+32>>3]=+b[t+24>>3]-+b[t+8>>3];a[e+72>>2]=f;if((r[i>>0]|0)==1){L2(a[e>>2]|0);a[e>>2]=s3(141611)|0}i=a[u>>2]|0}k=o;return i|0}function Ea(A,e){A=A|0;e=e|0;var i=0;A:do{switch(Md(A)|0){case 0:{wo(e,Vh(A)|0)|0;break}case 1:{wo(e,Vh(A)|0)|0;break}case 2:{wo(e,Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)|0;i=A+-48|0;wo(e,Vh(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0;if(!(Ih(Id(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0)){wo(e,141747)|0;break A}else{wo(e,137738)|0;break A}}default:{}}}while(0);i=e+4|0;A=a[i>>2]|0;if(A>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;A=a[i>>2]|0}r[A>>0]=0;e=a[e>>2]|0;a[i>>2]=e;return e|0}function Ca(A){A=A|0;var e=0,i=0;e=po(A,137729)|0;if(!((e|0)!=0?(r[e>>0]|0)!=0:0))i=3;do{if((i|0)==3){e=po(A,140823)|0;if(e|0?r[e>>0]|0:0)break;e=0}}while(0);return e|0}function Ia(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+16|0;g=C+8|0;v=C;E=e+108|0;c=a[E>>2]|0;if(c|0)xf(t,c,186576);a[e+80>>2]=i;c=ya(A,e,t)|0;d=e+36|0;A=f[d>>1]|0;if(!(A&128))r[e+32>>0]=2;i=e+33|0;if(!(A&32))r[i>>0]=1;Ba(e);w=a[e+104>>2]|0;o=r[e+32>>0]|0;A=U(w+1|0,o)|0;u=n[i>>0]<<1;h=a[e+100>>2]|0;o=U(h+1|0,o)|0;s=e+96|0;A=u+A|0;i=0;while(1){if((i|0)>=(w|0))break;A=(a[(a[s>>2]|0)+(i<<2)>>2]|0)+A|0;i=i+1|0}w=e+92|0;i=o+u|0;s=0;while(1){if((s|0)>=(h|0))break;i=(a[(a[w>>2]|0)+(s<<2)>>2]|0)+i|0;s=s+1|0}w=e+38|0;do{if(f[d>>1]&1){d=f[w>>1]|0;s=d&65535;if(d<<16>>16?(B=f[e+40>>1]|0,B<<16>>16):0){if(!((A|0)>(s|0)|(i|0)>(B&65535|0))){i=0;A=0;break}ao(0,137529,v)|0;c=1;i=0;A=0;break}ao(0,137563,g)|0;c=1}}while(0);g=l[w>>1]|0;b[e+64>>3]=+(((A|0)>(g|0)?A:g)|0);g=l[e+40>>1]|0;b[e+72>>3]=+(((i|0)>(g|0)?i:g)|0);if(a[E>>2]|0)qf(t,186576);k=C;return c|0}function Za(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function Ga(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0.0,V=0;M=k;k=k+64|0;Y=M+32|0;D=M;y=a[A+84>>2]|0;c=a[A+80>>2]|0;if((c|0?(l=a[c+24>>2]|0,l|0):0)?(t=A+24|0,(a[t>>2]|0)==0):0)a[t>>2]=s3(l)|0;z=A+48|0;l=e+16|0;w=+b[l>>3];s=+b[e>>3];c=~~(w-s-+(~~+b[A+64>>3]|0));if((c|0)<=-1)vA(137496,137342,1761,137506);u=e+24|0;Z=+b[u>>3];o=e+8|0;h=+b[o>>3];d=+(~~+b[A+72>>3]|0);B=~~(Z-h-d);if((B|0)<=-1)vA(137519,137342,1764,137506);v=f[A+36>>1]|0;t=v&65535;A:do{if(t&1){e:do{if((c|0)>0)switch(t&6){case 4:{b[l>>3]=s+d;break e}case 2:{F=+(c|0);b[l>>3]=w+F;s=s+F;b[e>>3]=s;break e}default:{F=+(c>>>1|0);s=s+F;b[e>>3]=s;b[l>>3]=w-F;break e}}}while(0);if((B|0)>0)switch(v&24){case 16:{Z=h+d;b[u>>3]=Z;B=0;l=0;break A}case 8:{F=+(B|0);Z=Z+F;b[u>>3]=Z;b[o>>3]=h+F;B=0;l=0;break A}default:{F=+(B>>>1|0);b[o>>3]=h+F;Z=Z-F;b[u>>3]=Z;B=0;l=0;break A}}else{B=0;l=0}}else l=c}while(0);w=+(n[A+33>>0]|0);L=A+32|0;g=r[L>>0]|0;h=+(g<<24>>24);W=A+104|0;c=a[W>>2]|0;v=(l|0)/(c|0)|0;u=l-(U(v,c)|0)|0;u=~~(((u|0)>-1?.5:-.5)+ +(u|0));m=A+96|0;o=g<<24>>24;l=~~(s+w+h);t=0;while(1){if((t|0)>(c|0))break;Q=(a[m>>2]|0)+(t<<2)|0;c=a[Q>>2]|0;a[Q>>2]=l;l=l+v+((t|0)<(u|0)&1)+c+o|0;t=t+1|0;c=a[W>>2]|0}Q=A+100|0;c=a[Q>>2]|0;v=(B|0)/(c|0)|0;o=B-(U(v,c)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));G=A+92|0;u=g<<24>>24;l=~~(Z-w-h);t=0;while(1){if((t|0)>(c|0))break;I=(a[G>>2]|0)+(t<<2)|0;c=a[I>>2]|0;a[I>>2]=l;l=l-v+(((t|0)<(o|0))<<31>>31)-c-u|0;t=t+1|0;c=a[Q>>2]|0}g=(i|0)==0;E=D+16|0;C=D+24|0;I=D+8|0;l=y;while(1){u=a[l>>2]|0;if(!u)break;c=f[u+84>>1]|0;if(g){t=0;o=f[u+80>>1]|0;B=f[u+86>>1]|0;v=f[u+82>>1]|0}else{t=c<<16>>16==0?8:0;B=f[u+86>>1]|0;t=B<<16>>16==0?t|4:t;o=f[u+80>>1]|0;v=f[u+82>>1]|0;t=(((o&65535)+(c&65535)|0)==(a[W>>2]|0)?t|2:t)|((v&65535)+(B&65535)|0)==(a[Q>>2]|0)}V=a[m>>2]|0;c=c&65535;b[D>>3]=+(a[V+(c<<2)>>2]|0);y=r[L>>0]|0;b[E>>3]=+((a[V+((o&65535)+c<<2)>>2]|0)-y|0);o=a[G>>2]|0;b[C>>3]=+(a[o+((B&65535)<<2)>>2]|0);b[I>>3]=+((a[o+((v&65535)+(B&65535)<<2)>>2]|0)+y|0);a[Y>>2]=a[D>>2];a[Y+4>>2]=a[D+4>>2];a[Y+8>>2]=a[D+8>>2];a[Y+12>>2]=a[D+12>>2];a[Y+16>>2]=a[D+16>>2];a[Y+20>>2]=a[D+20>>2];a[Y+24>>2]=a[D+24>>2];a[Y+28>>2]=a[D+28>>2];ma(u,Y,t&i);l=l+4|0}r[A+35>>0]=i;a[z>>2]=a[e>>2];a[z+4>>2]=a[e+4>>2];a[z+8>>2]=a[e+8>>2];a[z+12>>2]=a[e+12>>2];a[z+16>>2]=a[e+16>>2];a[z+20>>2]=a[e+20>>2];a[z+24>>2]=a[e+24>>2];a[z+28>>2]=a[e+28>>2];k=M;return}function Qa(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0.0,p=0.0,U=0.0;R=k;k=k+112|0;D=R+48|0;M=R+16|0;F=R;a[M>>2]=0;a[M+4>>2]=0;a[M+8>>2]=0;a[M+12>>2]=0;a[M+16>>2]=0;a[M+20>>2]=0;a[M+24>>2]=0;a[M+28>>2]=0;V=e+4|0;J=i+16|0;N=i+32|0;X=M+16|0;d=f[V>>1]|0;w=d<<16>>16;n=0;t=-1.0;s=0;while(1){if((s|0)>=(w|0)){n=1;break}l=a[e>>2]|0;if((f[l+(s*24|0)+4>>1]|0)>1){n=0;break}l=a[(a[l+(s*24|0)>>2]|0)+4>>2]|0;if(!l){c=+b[N>>3];b[X>>3]=c;l=J}else{if(a[l+24>>2]&127|0){n=0;break}c=+b[(+b[l+16>>3]>0.0?l:J)+16>>3];b[X>>3]=c;l=(a[l>>2]|0)==0?J:l}l=a[l>>2]|0;a[M>>2]=l;if(!(t==-1.0)){if(c!=t){n=0;break}}else t=c;if(n){if(A1(l,n)|0){n=0;break}}else n=l;s=s+1|0}r[e+6>>0]=n;y=i+48|0;z=i+20|0;Y=M+4|0;C=i+40|0;I=M+24|0;Z=A+144|0;G=D+4|0;E=F+8|0;Q=D+16|0;m=D+24|0;L=D+8|0;W=D+12|0;i=(n|0)==0;t=0.0;B=0.0;v=0.0;g=0.0;w=0;n=d;while(1){if((w|0)>=(n<<16>>16|0))break;c=0.0;h=0.0;s=0;o=0.0;t=0.0;l=a[e>>2]|0;while(1){if((s|0)>=(f[l+(w*24|0)+4>>1]|0))break;a[D>>2]=SF(a[(a[l+(w*24|0)>>2]|0)+(s*56|0)>>2]|0,a[y>>2]|0)|0;l=(a[e>>2]|0)+(w*24|0)|0;n=a[(a[l>>2]|0)+(s*56|0)+4>>2]|0;if(!n){b[X>>3]=+b[N>>3];a[M>>2]=a[J>>2];a[Y>>2]=a[z>>2];a[I>>2]=a[I>>2]&-128|a[C>>2]&127}else{n=a[n+24>>2]&127;if(!n)n=a[C>>2]&127;a[I>>2]=a[I>>2]&-128|n;d=a[(a[l>>2]|0)+(s*56|0)+4>>2]|0;b[X>>3]=+b[(+b[d+16>>3]>0.0?d:J)+16>>3];a[M>>2]=a[((a[d>>2]|0)==0?J:d)>>2];a[Y>>2]=a[((a[d+4>>2]|0)==0?J:d)+4>>2]}l=a[Z>>2]|0;a[G>>2]=W5[a[l>>2]&63](l,M,1)|0;AR(F,A,D);p=+b[F>>3];u=+b[E>>3];L2(a[(a[(a[e>>2]|0)+(w*24|0)>>2]|0)+(s*56|0)>>2]|0);l=a[e>>2]|0;d=a[l+(w*24|0)>>2]|0;a[d+(s*56|0)>>2]=a[D>>2];b[d+(s*56|0)+32>>3]=p;b[d+(s*56|0)+16>>3]=+b[Q>>3];b[d+(s*56|0)+24>>3]=+b[m>>3];a[d+(s*56|0)+4>>2]=a[G>>2];a[d+(s*56|0)+8>>2]=a[L>>2];a[d+(s*56|0)+12>>2]=a[W>>2];H=+b[X>>3];U=+b[m>>3];c=U>c?U:c;h=p+h;s=s+1|0;o=H>o?H:o;t=u>t?u:t}b[l+(w*24|0)+8>>3]=h;n=(w|0)==0;do{if(i)if(n){u=o;c=o-c;n=l;break}else{u=o;c=v-g+o-c;n=l+(w*24|0)|0;break}else{u=t;c=n?o:t;n=l+(w*24|0)|0}}while(0);b[n+16>>3]=c;B=h>B?h:B;v=u+v;g=+b[l+(w*24|0)+16>>3]+g;w=w+1|0;n=f[V>>1]|0}b[e+24>>3]=B;b[e+32>>3]=n<<16>>16==1?t:v;k=R;return}function ma(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0;Z=k;k=k+64|0;E=Z+32|0;I=Z;t=A+24|0;if((a[t>>2]|0)==0?(l=a[(a[A+96>>2]|0)+24>>2]|0,l|0):0)a[t>>2]=s3(l)|0;v=A+36|0;C=f[v>>1]|0;l=C&65535;A:do{if(l&1){c=+b[A+64>>3];h=+b[A+72>>3];t=e+16|0;s=+b[t>>3];u=+b[e>>3];w=s-u-c;e:do{if(w>0.0)switch(l&6){case 4:{s=u+c;b[t>>3]=s;c=u;break e}case 2:{s=w+s;b[t>>3]=s;c=u+w;b[e>>3]=c;break e}default:{o=w*.5;c=o+u;b[e>>3]=c;s=s-o;b[t>>3]=s;break e}}else c=u}while(0);l=e+24|0;o=+b[l>>3];t=e+8|0;w=+b[t>>3];u=o-w-h;if(u>0.0)switch(C&24){case 16:{u=w+h;b[l>>3]=u;break A}case 8:{h=u+o;b[l>>3]=h;w=w+u;b[t>>3]=w;u=h;break A}default:{u=u*.5;w=u+w;b[t>>3]=w;u=o-u;b[l>>3]=u;break A}}else u=o}else{c=+b[e>>3];w=+b[e+8>>3];s=+b[e+16>>3];u=+b[e+24>>3]}}while(0);B=A+48|0;a[B>>2]=a[e>>2];a[B+4>>2]=a[e+4>>2];a[B+8>>2]=a[e+8>>2];a[B+12>>2]=a[e+12>>2];a[B+16>>2]=a[e+16>>2];a[B+20>>2]=a[e+20>>2];a[B+24>>2]=a[e+24>>2];a[B+28>>2]=a[e+28>>2];r[A+35>>0]=i;Q=+(n[A+33>>0]|0);G=+(n[A+34>>0]|0);o=c+Q+G;b[I>>3]=o;h=w+Q+G;B=I+8|0;b[B>>3]=h;w=s-Q-G;e=I+16|0;b[e>>3]=w;u=u-Q-G;d=I+24|0;b[d>>3]=u;t=A+88|0;switch(r[A+92>>0]|0){case 1:{C=a[t>>2]|0;a[E>>2]=a[I>>2];a[E+4>>2]=a[I+4>>2];a[E+8>>2]=a[I+8>>2];a[E+12>>2]=a[I+12>>2];a[E+16>>2]=a[I+16>>2];a[E+20>>2]=a[I+20>>2];a[E+24>>2]=a[I+24>>2];a[E+28>>2]=a[I+28>>2];Ga(C,E,i);break}case 3:{l=a[t>>2]|0;c=+b[l+24>>3];s=w-o-+b[l+16>>3];A:do{if(s>0.0)switch(C&6){case 4:{b[e>>3]=w-s;break A}case 2:{b[I>>3]=s+o;break A}default:break A}}while(0);c=u-h-c;A:do{if(c>0.0)switch(C&24){case 16:{b[d>>3]=u-c;break A}case 8:{b[B>>3]=c+h;break A}default:break A}}while(0);a[E>>2]=a[I>>2];a[E+4>>2]=a[I+4>>2];a[E+8>>2]=a[I+8>>2];a[E+12>>2]=a[I+12>>2];a[E+16>>2]=a[I+16>>2];a[E+20>>2]=a[I+20>>2];a[E+24>>2]=a[I+24>>2];a[E+28>>2]=a[I+28>>2];La(l,E);break}default:{l=a[t>>2]|0;c=+b[l+32>>3];s=w-o-+b[l+24>>3];A:do{if(s>0.0?(g=C&6,g<<16>>16!=6):0)switch(g&7){case 4:{b[e>>3]=w-s;break A}case 2:{b[I>>3]=s+o;break A}default:{Q=s*.5;b[I>>3]=Q+o;b[e>>3]=w-Q;break A}}}while(0);c=u-h-c;A:do{if(c>0.0)switch(C&24){case 16:{b[d>>3]=u-c;break A}case 8:{b[B>>3]=c+h;break A}default:{Q=c*.5;b[B>>3]=Q+h;b[d>>3]=u-Q;break A}}}while(0);C=l+8|0;a[C>>2]=a[I>>2];a[C+4>>2]=a[I+4>>2];a[C+8>>2]=a[I+8>>2];a[C+12>>2]=a[I+12>>2];a[C+16>>2]=a[I+16>>2];a[C+20>>2]=a[I+20>>2];a[C+24>>2]=a[I+24>>2];a[C+28>>2]=a[I+28>>2];I=f[v>>1]&768;Wa(a[t>>2]|0,(I&1023)==512?108:(I&1023)==256?114:110)}}k=Z;return}function La(A,e){A=A|0;e=e|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];return}function Wa(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;n=f[A+4>>1]|0;i=0;while(1){if((i|0)>=(n|0))break;l=(a[A>>2]|0)+(i*24|0)+6|0;if(!(r[l>>0]|0))r[l>>0]=e;i=i+1|0}return}function ya(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;s=e+84|0;v=a[s>>2]|0;g=$V()|0;E=Ma()|0;t=0;n=0;b=xk(v)|0;while(1){if(!b)break;c=xk(a[b+8>>2]|0)|0;while(1){if(!c)break;c=a[c>>2]|0;t=t+1|0}n=n+1|0;if(r[b+12>>0]|0)Na(E,n);b=a[b>>2]|0}n=qF((t<<2)+4|0)|0;a[s>>2]=n;t=0;c=0;b=0;h=0;d=xk(v)|0;while(1){if(!d)break;B=h&65535;o=0;k=xk(a[d+8>>2]|0)|0;while(1){if(!k)break;u=a[k+8>>2]|0;a[n>>2]=u;b=za(A,u,e,i)|0|b;s=Ya(g,h,o,u)|0;f[u+86>>1]=B;f[u+84>>1]=s;s=s+(l[u+80>>1]|0)|0;w=h+(l[u+82>>1]|0)|0;if(Xa(E,w)|0){o=u+100|0;r[o>>0]=r[o>>0]|2}o=s;n=n+4|0;k=a[k>>2]|0;t=(s|0)>(t|0)?s:t;c=(w|0)>(c|0)?w:c}h=h+1|0;d=a[d>>2]|0}a[e+100>>2]=c;a[e+104>>2]=t;pk(v)|0;pk(E)|0;iJ(g);return b|0}function za(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+16|0;v=g+8|0;B=g;a[e+96>>2]=i;h=e+36|0;u=f[h>>1]|0;if(!(u&64)){if(!(f[i+36>>1]&64))w=2;else w=r[i+34>>0]|0;r[e+34>>0]=w}if(!(u&32)){w=r[i+88>>0]|0;if(w<<24>>24<=-1)if(!(f[i+36>>1]&32))w=1;else w=r[i+33>>0]|0;r[e+33>>0]=w}w=e+88|0;o=e+92|0;switch(r[o>>0]|0){case 1:{u=Ia(A,a[w>>2]|0,e,t)|0;i=a[w>>2]|0;w=u;u=i+64|0;i=i+72|0;break}case 3:{u=Da(a[w>>2]|0,t)|0;i=a[w>>2]|0;w=u;u=i+16|0;i=i+24|0;break}default:{Qa(a[(a[A+16>>2]|0)+144>>2]|0,a[w>>2]|0,t);i=a[w>>2]|0;w=0;u=i+24|0;i=i+32|0}}c=+((n[e+33>>0]|0)+(n[e+34>>0]|0)<<1|0);s=+b[u>>3]+c;c=+b[i>>3]+c;i=e+38|0;do{if(f[h>>1]&1){u=f[i>>1]|0;if(u<<16>>16?(d=f[e+40>>1]|0,d<<16>>16):0){if(!(s>+(u&65535)|c>+(d&65535))){s=0.0;c=0.0;break}if((r[o>>0]|0)==3){s=0.0;c=0.0;break}ao(0,137614,B)|0;w=1;s=0.0;c=0.0;break}ao(0,137647,v)|0;w=1}}while(0);E=+(l[i>>1]|0);b[e+64>>3]=s>E?s:E;s=+(l[e+40>>1]|0);b[e+72>>3]=c>s?c:s;k=g;return w|0}function Ya(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,t=0,c=0;c=r+80|0;t=(l[c>>1]|0)+-1|0;n=0;A:while(1){f=i;while(1){if(n)break A;a=t+f|0;while(1){if((a|0)<(f|0)){i=f;n=1;continue A}if(lJ(A,a,e)|0)break;a=a+-1|0}f=a+1|0}}n=r+82|0;f=i;while(1){if((f|0)<(i+(l[c>>1]|0)|0))a=e;else break;while(1){if((a|0)>=((l[n>>1]|0)+e|0))break;aJ(A,f,a);a=a+1|0}f=f+1|0}return i|0}function Da(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;t=s;l=s+8|0;e=e+52|0;n=A+32|0;Ug(l,a[e>>2]|0,a[n>>2]|0);c=a[l>>2]|0;l=a[l+4>>2]|0;if((l&c|0)==-1){a[t>>2]=a[n>>2];ao(1,137697,t)|0;e=1;f=0.0;i=0.0}else{r[(a[(a[e>>2]|0)+16>>2]|0)+114>>0]=1;e=0;f=+(l|0);i=+(c|0)}a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;b[A+16>>3]=i;b[A+24>>3]=f;k=s;return e|0}function Ma(){return jk(55924,a[4581]|0)|0}function Fa(A,e,i){A=A|0;e=e|0;i=i|0;i=qF(12)|0;a[i>>2]=a[e>>2];return i|0}function Va(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Ja(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return((e|0)>(r|0)?1:((e|0)<(r|0))<<31>>31)|0}function Na(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;W5[a[A>>2]&63](A,r,1)|0;k=i;return}function Xa(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;e=(W5[a[A>>2]&63](A,r,512)|0)!=0&1;k=i;return e|0}function Ra(A){A=A|0;var e=0;if(!(a[47375]|0)){e=qF((A<<2)+4|0)|0;a[47375]=e;a[e>>2]=189504;a[47386]=A}a[47387]=0;return}function Ha(){L2(a[47375]|0);a[47375]=0;a[47387]=0;return}function pa(){a[47387]=0;return}function Ua(){var A=0,e=0,i=0;e=a[47387]|0;i=a[47375]|0;A=1;while(1){if((A|0)>(e|0)){A=5;break}if((a[(a[i+(A<<2)>>2]|0)+4>>2]|0)==(A|0))A=A+1|0;else{A=4;break}}if((A|0)==4)vA(138394,137741,59,137747);else if((A|0)==5)return}function xa(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;f=a[47375]|0;n=a[f+(A<<2)>>2]|0;l=a[n>>2]|0;while(1){e=(A|0)/2|0;i=a[f+(e<<2)>>2]|0;r=f+(A<<2)|0;if((a[i>>2]|0)>=(l|0))break;a[r>>2]=i;a[i+4>>2]=A;A=e}a[r>>2]=n;a[n+4>>2]=A;return}function Ta(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=a[47387]|0;if((e|0)==(a[47386]|0)){ao(1,137755,i)|0;A=1}else{e=e+1|0;a[47387]=e;a[(a[47375]|0)+(e<<2)>>2]=A;xa(e);Ua();A=0}k=i;return A|0}function ja(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;r=a[47375]|0;f=a[r+(A<<2)>>2]|0;n=a[f>>2]|0;l=a[47387]|0;t=(l|0)/2|0;while(1){if((A|0)>(t|0))break;i=A<<1;e=a[r+(i<<2)>>2]|0;if((i|0)<(l|0)){s=i|1;c=a[r+(s<<2)>>2]|0;b=(a[e>>2]|0)<(a[c>>2]|0);i=b?s:i;e=b?c:e}if((n|0)>=(a[e>>2]|0))break;a[r+(A<<2)>>2]=e;a[e+4>>2]=A;A=i}a[r+(A<<2)>>2]=f;a[f+4>>2]=A;return}function Sa(){var A=0,e=0,i=0,r=0;e=a[47387]|0;if(!e)A=0;else{r=a[47375]|0;i=r+4|0;A=a[i>>2]|0;a[i>>2]=a[r+(e<<2)>>2];e=e+-1|0;a[47387]=e;if(e|0)ja(1);Ua()}return A|0}function Pa(A,e){A=A|0;e=e|0;a[A>>2]=e;xa(a[A+4>>2]|0);Ua();return}function Oa(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;w=A+16|0;t=a[w>>2]|0;t=(r[t+((a[i+12>>2]|0)*40|0)+36>>0]|0)!=(r[t+((a[i+16>>2]|0)*40|0)+36>>0]|0);c=~~((+b[e+64>>3]+-3.0-+b[e+48>>3])*.5);s=~~((+b[e+56>>3]+-3.0-+b[e+40>>3])*.5);n=(c|0)<(s|0)?c:s;u=e+4|0;f=0;while(1){A=a[u>>2]|0;if((f|0)>=(A|0)){n=f;break}l=a[e+8+(f<<2)>>2]|0;k=a[w>>2]|0;if((r[k+((a[l+12>>2]|0)*40|0)+36>>0]|0)==(r[k+((a[l+16>>2]|0)*40|0)+36>>0]|0)){n=f;break}Ka(l,n);f=f+1|0}while(1){if((n|0)>=(A|0))break;f=a[e+8+(n<<2)>>2]|0;if(t|(f|0)==(i|0)){Ka(f,r[(a[w>>2]|0)+((a[f+12>>2]|0)*40|0)+36>>0]|0?c:s);A=a[u>>2]|0}n=n+1|0}return}function Ka(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=a[i>>2]|0;a[i>>2]=r+1;if((r|0)>=(e|0)){a[i>>2]=0;b[A>>3]=+b[A>>3]+16384.0}return}function _a(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0,Q=0.0,m=0.0,L=0,W=0,y=0.0;I=k;k=k+112|0;g=I+64|0;v=I+96|0;s=I+32|0;E=I;C=qF(28)|0;e=vh(A)|0;B=C+4|0;a[B>>2]=e;e=qF(e*72|0)|0;d=C+12|0;a[d>>2]=e;r=E+8|0;b[r>>3]=1797693134862315708145274.0e284;b[E>>3]=1797693134862315708145274.0e284;f=E+24|0;b[f>>3]=-1797693134862315708145274.0e284;n=E+16|0;b[n>>3]=-1797693134862315708145274.0e284;l=s+16|0;t=s+8|0;c=s+24|0;i=cd(A)|0;w=1797693134862315708145274.0e284;u=1797693134862315708145274.0e284;o=-1797693134862315708145274.0e284;h=-1797693134862315708145274.0e284;while(1){if(!i)break;L=i+16|0;W=a[L>>2]|0;G=(+b[W+96>>3]+ +b[W+88>>3])*.5;G=G<1.0?1.0:G;Z=+b[W+80>>3]*.5;Z=Z<1.0?1.0:Z;y=+b[W+16>>3];m=y-G;b[s>>3]=m;G=y+G;b[l>>3]=G;y=+b[W+24>>3];Q=y-Z;b[t>>3]=Q;Z=y+Z;b[c>>3]=Z;m=+b[(w>3];b[E>>3]=m;Q=+b[(u>3];b[r>>3]=Q;G=+b[(o>G?E:s)+16>>3];b[n>>3]=G;Z=+b[(h>Z?E:s)+24>>3];b[f>>3]=Z;W=e+40|0;a[W>>2]=a[s>>2];a[W+4>>2]=a[s+4>>2];a[W+8>>2]=a[s+8>>2];a[W+12>>2]=a[s+12>>2];a[W+16>>2]=a[s+16>>2];a[W+20>>2]=a[s+20>>2];a[W+24>>2]=a[s+24>>2];a[W+28>>2]=a[s+28>>2];a[e>>2]=a[e>>2]|1;a[(a[L>>2]|0)+112>>2]=e;e=e+72|0;i=bd(A,i)|0;w=m;u=Q;o=G;h=Z}b[E>>3]=w+-36.0;b[r>>3]=u+-36.0;b[n>>3]=o+36.0;b[f>>3]=h+36.0;W=a[d>>2]|0;f=a[B>>2]|0;a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];f=tn(W,f,v,g)|0;if(a[47323]&1|0){d=a[d>>2]|0;L=a[B>>2]|0;W=a[v>>2]|0;a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];qa(d,L,g,f,W)}r=C+8|0;a[r>>2]=qF((a[v>>2]|0)*72|0)|0;a[C>>2]=a[v>>2];i=a[v>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;W=(a[r>>2]|0)+(e*72|0)+40|0;L=f+(e<<5)|0;a[W>>2]=a[L>>2];a[W+4>>2]=a[L+4>>2];a[W+8>>2]=a[L+8>>2];a[W+12>>2]=a[L+12>>2];a[W+16>>2]=a[L+16>>2];a[W+20>>2]=a[L+20>>2];a[W+24>>2]=a[L+24>>2];a[W+28>>2]=a[L+28>>2];e=e+1|0}L2(f);a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];a[C+16>>2]=$a(C,g)|0;k=I;return C|0}function qa(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0,E=0.0;h=k;k=k+128|0;o=h+96|0;u=h+64|0;t=h+32|0;d=h+16|0;B=h;s=+b[i+16>>3];w=+b[i>>3];c=+b[i+24>>3];n=+b[i+8>>3];l=a[15712]|0;m3(137770,l)|0;a[B>>2]=10;a[B+4>>2]=10;a[B+8>>2]=~~(s+10.0-w);a[B+12>>2]=~~(c+10.0-n);f3(l,138200,B)|0;b[d>>3]=10.0-w;b[d+8>>3]=10.0-n;f3(l,138248,d)|0;m3(138265,l)|0;i=0;while(1){if((i|0)>=(e|0))break;E=+b[A+(i*72|0)+48>>3];g=+b[A+(i*72|0)+56>>3];v=+b[A+(i*72|0)+64>>3];b[t>>3]=+b[A+(i*72|0)+40>>3];b[t+8>>3]=E;b[t+16>>3]=g;b[t+24>>3]=v;f3(l,138284,t)|0;i=i+1|0}m3(138302,l)|0;i=0;while(1){if((i|0)>=(f|0))break;v=+b[r+(i<<5)+8>>3];g=+b[r+(i<<5)+16>>3];E=+b[r+(i<<5)+24>>3];b[u>>3]=+b[r+(i<<5)>>3];b[u+8>>3]=v;b[u+16>>3]=g;b[u+24>>3]=E;f3(l,138321,u)|0;i=i+1|0}m3(138339,l)|0;b[o>>3]=w;b[o+8>>3]=n;b[o+16>>3]=s;b[o+24>>3]=c;f3(l,138321,o)|0;m3(138086,l)|0;k=h;return}function $a(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;Q=k;k=k+32|0;v=Q+16|0;c=Q;C=a[A>>2]|0;Z=gi(C<<2|2)|0;G=jk(55960,a[4581]|0)|0;E=jk(55996,a[4581]|0)|0;C=qF(C<<7)|0;f=qF(a[A>>2]<<4)|0;I=A+8|0;n=e+16|0;l=c+8|0;t=e+24|0;s=e+8|0;i=0;while(1){if((i|0)>=(a[A>>2]|0))break;w=a[I>>2]|0;u=w+(i*72|0)|0;a[w+(i*72|0)+32>>2]=4;o=w+(i*72|0)+36|0;a[o>>2]=f+(i<<2<<2);h=w+(i*72|0)+40|0;r=+b[w+(i*72|0)+56>>3];if(r<+b[n>>3]){b[c>>3]=r;b[l>>3]=+b[w+(i*72|0)+48>>3];a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];B=An(Z,G,v,C,1)|0;a[B+20>>2]=u;a[a[o>>2]>>2]=B}r=+b[w+(i*72|0)+64>>3];if(r<+b[t>>3]){b[c>>3]=+b[h>>3];b[l>>3]=r;a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];B=An(Z,E,v,C,0)|0;a[B+20>>2]=u;a[(a[o>>2]|0)+4>>2]=B}if(+b[h>>3]>+b[e>>3]){a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];B=An(Z,G,v,C,1)|0;a[B+24>>2]=u;a[(a[o>>2]|0)+8>>2]=B}if(+b[w+(i*72|0)+48>>3]>+b[s>>3]){a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];B=An(Z,E,v,C,0)|0;a[B+24>>2]=u;a[(a[o>>2]|0)+12>>2]=B}i=i+1|0}u=qF(a[Z>>2]<<2)|0;d=A+4|0;B=A+12|0;o=v+8|0;s=0;h=0;w=0;while(1){i=a[d>>2]|0;if((w|0)>=(i|0)){e=0;break}n=a[B>>2]|0;l=n+(w*72|0)|0;t=n+(w*72|0)+36|0;a[t>>2]=u+(s<<2);e=n+(w*72|0)+40|0;a[v>>2]=a[e>>2];a[v+4>>2]=a[e+4>>2];a[v+8>>2]=a[e+8>>2];a[v+12>>2]=a[e+12>>2];e=n+(w*72|0)+56|0;c=n+(w*72|0)+32|0;i=W5[a[E>>2]&63](E,v,512)|0;while(1){if(!i)break;if(!(+b[i+8>>3]<+b[e>>3]))break;L=a[i>>2]|0;m=a[t>>2]|0;f=a[c>>2]|0;a[c>>2]=f+1;a[m+(f<<2)>>2]=L;a[(a[i>>2]|0)+24>>2]=l;i=W5[a[E>>2]&63](E,i,8)|0}f=n+(w*72|0)+64|0;i=W5[a[G>>2]&63](G,v,512)|0;while(1){if(!i){g=20;break}r=+b[f>>3];if(!(+b[i+16>>3]>2]|0;m=a[t>>2]|0;L=a[c>>2]|0;a[c>>2]=L+1;a[m+(L<<2)>>2]=e;a[(a[i>>2]|0)+24>>2]=l;i=W5[a[G>>2]&63](G,i,8)|0}if((g|0)==20){g=0;r=+b[f>>3]}b[o>>3]=r;e=n+(w*72|0)+56|0;i=W5[a[E>>2]&63](E,v,512)|0;while(1){if(!i){g=25;break}r=+b[e>>3];if(!(+b[i+8>>3]>2]|0;m=a[t>>2]|0;L=a[c>>2]|0;a[c>>2]=L+1;a[m+(L<<2)>>2]=W;a[(a[i>>2]|0)+20>>2]=l;i=W5[a[E>>2]&63](E,i,8)|0}if((g|0)==25){g=0;r=+b[e>>3]}b[v>>3]=r;b[o>>3]=+b[n+(w*72|0)+48>>3];i=W5[a[G>>2]&63](G,v,512)|0;while(1){if(!i)break;if(!(+b[i+16>>3]<+b[f>>3]))break;m=a[i>>2]|0;L=a[t>>2]|0;W=a[c>>2]|0;a[c>>2]=W+1;a[L+(W<<2)>>2]=m;a[(a[i>>2]|0)+20>>2]=l;i=W5[a[G>>2]&63](G,i,8)|0}W=a[c>>2]|0;s=W+s|0;h=(W|0)>(h|0)?W:h;w=w+1|0}while(1){if((e|0)>=(i|0))break;en((a[B>>2]|0)+(e*72|0)|0);e=e+1|0;i=a[d>>2]|0}i=a[Z>>2]|0;W=a[Z+16>>2]|0;a[W+(i*40|0)+32>>2]=i;i=i+1|0;a[W+(i*40|0)+32>>2]=i;vi(Z,h);i=0;while(1){if((i|0)>=(a[A>>2]|0))break;rn((a[I>>2]|0)+(i*72|0)|0,Z);i=i+1|0}pk(G)|0;pk(E)|0;L2(C);fn(Z);di(Z);k=Q;return Z|0}function An(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;l=W5[a[e>>2]&63](e,i,512)|0;do{if(!l){A=Ei(A)|0;if(!f)vA(138183,138131,291,138190);else{l=a[A+32>>2]|0;t=f+(l<<5)|0;f=f+(l<<5)+8|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[t>>2]=A;r[A+36>>0]=n;W5[a[e>>2]&63](e,t,1)|0;break}}else t=l}while(0);return a[t>>2]|0}function en(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;A:do{if((+b[A+64>>3]+-3.0-+b[A+48>>3])*.5<2.0){l=a[A+32>>2]|0;t=A+36|0;n=0;while(1){if((n|0)>=(l|0))break A;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;e:do{if(r[e+36>>0]|0){f=a[e+20>>2]|0;if((f|0)==(A|0)){i=a[e+24>>2]|0;e=i;i=a[i>>2]|0;do{a[e>>2]=i|8;e=a[a[e+36>>2]>>2]|0;if(!e)break e;e=a[e+24>>2]|0;i=a[e>>2]|0}while(!(i&1|0))}else{i=f;e=a[f>>2]|0;do{a[i>>2]=e|8;e=a[(a[i+36>>2]|0)+8>>2]|0;if(!e)break e;i=a[e+20>>2]|0;e=a[i>>2]|0}while(!(e&1|0))}}}while(0);n=n+1|0}}}while(0);A:do{if((+b[A+56>>3]+-3.0-+b[A+40>>3])*.5<2.0){l=a[A+32>>2]|0;t=A+36|0;n=0;while(1){if((n|0)>=(l|0))break A;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;e:do{if(!(r[e+36>>0]|0)){f=a[e+20>>2]|0;if((f|0)==(A|0)){i=a[e+24>>2]|0;e=i;i=a[i>>2]|0;do{a[e>>2]=i|16;e=a[(a[e+36>>2]|0)+4>>2]|0;if(!e)break e;e=a[e+24>>2]|0;i=a[e>>2]|0}while(!(i&1|0))}else{i=f;e=a[f>>2]|0;do{a[i>>2]=e|16;e=a[(a[i+36>>2]|0)+12>>2]|0;if(!e)break e;i=a[e+20>>2]|0;e=a[i>>2]|0}while(!(e&1|0))}}}while(0);n=n+1|0}}}while(0);return}function rn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;n=+b[A+56>>3]-+b[A+40>>3];l=+b[A+64>>3]-+b[A+48>>3];f=(l+n)*.5+500.0;if((l+-3.0)*.5<2.0){s=(a[A>>2]&8|0)==0;f=s?16384.0:f;o=s?16384.0:n}else o=n;if((n+-3.0)*.5<2.0){s=(a[A>>2]&16|0)==0;l=s?16384.0:l;f=s?16384.0:f}s=A+36|0;i=a[s>>2]|0;r=a[i+8>>2]|0;if((r|0)!=0?(t=a[i+4>>2]|0,(t|0)!=0):0){t=Ci(e,r,t,f)|0;r=A+4|0;i=a[r>>2]|0;a[r>>2]=i+1;a[A+8+(i<<2)>>2]=t;i=a[s>>2]|0}r=a[i+4>>2]|0;if((r|0)!=0?(c=a[i>>2]|0,(c|0)!=0):0){c=Ci(e,r,c,f)|0;t=A+4|0;i=a[t>>2]|0;a[t>>2]=i+1;a[A+8+(i<<2)>>2]=c;i=a[s>>2]|0}r=a[i+8>>2]|0;if((r|0)!=0?(w=a[i+12>>2]|0,(w|0)!=0):0){w=Ci(e,r,w,f)|0;c=A+4|0;i=a[c>>2]|0;a[c>>2]=i+1;a[A+8+(i<<2)>>2]=w;i=a[s>>2]|0}r=a[i+12>>2]|0;if((r|0)!=0?(u=a[i>>2]|0,(u|0)!=0):0){u=Ci(e,r,u,f)|0;w=A+4|0;i=a[w>>2]|0;a[w>>2]=i+1;a[A+8+(i<<2)>>2]=u;i=a[s>>2]|0}r=a[i+4>>2]|0;if((r|0)!=0?(k=a[i+12>>2]|0,(k|0)!=0):0){k=Ci(e,r,k,l)|0;u=A+4|0;i=a[u>>2]|0;a[u>>2]=i+1;a[A+8+(i<<2)>>2]=k;i=a[s>>2]|0}r=a[i+8>>2]|0;if(r|0?(h=a[i>>2]|0,h|0):0){e=Ci(e,r,h,o)|0;k=A+4|0;h=a[k>>2]|0;a[k>>2]=h+1;a[A+8+(h<<2)>>2]=e}return}function fn(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;f=A+16|0;n=a[15712]|0;r=0;while(1){if((r|0)>=(a[A>>2]|0)){e=10;break}e=a[f>>2]|0;i=e+(r*40|0)+20|0;if((a[i>>2]|0)==0?(a[l>>2]=r,f3(n,138096,l)|0,(a[i>>2]|0)==0):0){e=5;break}e=e+(r*40|0)+24|0;if((a[e>>2]|0)==0?(a[t>>2]=r,f3(n,138148,t)|0,(a[e>>2]|0)==0):0){e=8;break}r=r+1|0}if((e|0)==5)vA(138118,138131,311,138138);else if((e|0)==8)vA(138170,138131,313,138138);else if((e|0)==10){k=c;return}}function an(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e+8>>3];a=+b[i+8>>3];if(!(f>a))if(!(f>3];f=+b[i>>3];if(a>f)A=1;else A=(a>31}else A=-1;else A=1;return A|0}function nn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e>>3];a=+b[i>>3];if(!(f>a))if(!(f>3];f=+b[i+8>>3];if(a>f)A=1;else A=(a>31}else A=-1;else A=1;return A|0}function ln(A){A=A|0;var e=0,i=0;i=A+8|0;L2(a[(a[i>>2]|0)+36>>2]|0);e=A+12|0;L2(a[(a[e>>2]|0)+36>>2]|0);L2(a[i>>2]|0);L2(a[e>>2]|0);Zi(a[A+16>>2]|0);pk(a[A+20>>2]|0)|0;pk(a[A+24>>2]|0)|0;L2(A);return}function tn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+32|0;l=o;t=e<<2;f=t+4|0;t=t+5|0;u=$F(t*56|0)|0;t=qF(t<<2)|0;n=f*5|1;c=$F(n*72|0)|0;s=n<<5;b=qF(s)|0;s=qF(s)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[l+16>>2]=a[r+16>>2];a[l+20>>2]=a[r+20>>2];a[l+24>>2]=a[r+24>>2];a[l+28>>2]=a[r+28>>2];cn(A,e,l,u,0);l8(173);bn(f,t);gn(f,u,t,n,c)|0;w=sn(f,u,c,0,b)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[l+16>>2]=a[r+16>>2];a[l+20>>2]=a[r+20>>2];a[l+24>>2]=a[r+24>>2];a[l+28>>2]=a[r+28>>2];cn(A,e,l,u,1);bn(f,t);gn(f,u,t,n,c)|0;f=sn(f,u,c,1,s)|0;n=qF(U(w<<5,f)|0)|0;e=0;A=0;while(1){if((e|0)>=(f|0))break;l=s+(e<<5)|0;r=0;while(1){if((r|0)>=(w|0))break;h=A+((wn(n+(A<<5)|0,l,b+(r<<5)|0)|0)!=0&1)|0;r=r+1|0;A=h}e=e+1|0}h=eV(n,A<<5)|0;L2(u);L2(t);L2(c);L2(b);L2(s);a[i>>2]=A;k=o;return h|0}function cn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;c=k;k=k+96|0;l=c+64|0;t=c;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[l+16>>2]=a[i+16>>2];a[l+20>>2]=a[i+20>>2];a[l+24>>2]=a[i+24>>2];a[l+28>>2]=a[i+28>>2];Bn(l,f,1,t);i=vn(r,1,t)|0;n=0;while(1){if((n|0)>=(e|0))break;b=A+(n*72|0)+40|0;a[l>>2]=a[b>>2];a[l+4>>2]=a[b+4>>2];a[l+8>>2]=a[b+8>>2];a[l+12>>2]=a[b+12>>2];a[l+16>>2]=a[b+16>>2];a[l+20>>2]=a[b+20>>2];a[l+24>>2]=a[b+24>>2];a[l+28>>2]=a[b+28>>2];Bn(l,f,0,t);i=vn(r,i,t)|0;n=n+1|0}k=c;return}function bn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=0;while(1){if((i|0)>(A|0))break;a[e+(i<<2)>>2]=i;i=i+1|0}n=A+1|0;i=1;while(1){if((i|0)>(A|0))break;l=~~(+c8()*+(n-i|0)+ +(i|0));r=e+(i<<2)|0;f=e+(l<<2)|0;if((i|0)!=(l|0)){l=a[r>>2]|0;a[r>>2]=a[f>>2];a[f>>2]=l}i=i+1|0}return}function sn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;n=A*5|0;c=n+1|0;s=qF(c<<2)|0;a[47388]=qF(c<<4)|0;a[47389]=qF((A*56|0)+56|0)|0;c=qF(A<<2)|0;a[47390]=c;b=0;while(1){if((b|0)>(n|0))break;if(un(i+(b*72|0)|0,e)|0)break;b=b+1|0}l=a[47388]|0;t=a[47389]|0;n=1;while(1){if((n|0)>(A|0))break;a[l+(n<<4)+8>>2]=a[e+(n*56|0)+48>>2];w=e+(n*56|0)+44|0;a[l+(n<<4)+4>>2]=a[w>>2];a[l+(n<<4)>>2]=n;u=t+(n*56|0)|0;k=e+(n*56|0)|0;a[u>>2]=a[k>>2];a[u+4>>2]=a[k+4>>2];a[u+8>>2]=a[k+8>>2];a[u+12>>2]=a[k+12>>2];a[t+(n*56|0)+16>>2]=a[w>>2];a[t+(n*56|0)+32>>2]=n;a[t+(n*56|0)+48>>2]=1;n=n+1|0}a[47391]=A;a[47392]=0;a[c>>2]=1;n=a[i+(b*72|0)+40>>2]|0;if((n|0)<=0){n=a[i+(b*72|0)+48>>2]|0;if((n|0)>0)n=kn(s,f,0,e,i,0,b,n,r,2)|0;else n=0}else n=kn(s,f,0,e,i,0,b,n,r,1)|0;L2(s);L2(a[47388]|0);L2(a[47389]|0);L2(a[47390]|0);return n|0}function wn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;n=+b[(+b[e>>3]>+b[i>>3]?e:i)>>3];a=+b[(+b[e+16>>3]<+b[i+16>>3]?e:i)+16>>3];b[A+16>>3]=a;b[A>>3]=n;f=+b[(+b[e+8>>3]>+b[i+8>>3]?e:i)+8>>3];r=+b[(+b[e+24>>3]<+b[i+24>>3]?e:i)+24>>3];b[A+24>>3]=r;b[A+8>>3]=f;return!(n>=a)&!(f>=r)&1|0}function un(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[A+4>>2]|0;do{if((a[A+68>>2]|0)!=2?!((f|0)<1|(a[A>>2]|0)<1):0){if(!((a[A+40>>2]|0)<1?(a[A+44>>2]|0)<1:0)){if((a[A+48>>2]|0)>=1){A=0;break}if((a[A+52>>2]|0)>=1){A=0;break}}i=+b[e+(f*56|0)+24>>3];r=+b[e+(f*56|0)+8>>3];if(!(i>r+1.0e-07))if(i>3]>+b[e+(f*56|0)>>3]&1;else A=1}else A=0}while(0);return A|0}function kn(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,k=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0.0,F=0,V=0.0,J=0,N=0,X=0,R=0,H=0;L=(c|0)==0;m=l;A:while(1){Z=f+(m*72|0)|0;if((m|0)<1)break;l=A+(m<<2)|0;if(a[l>>2]|0)break;a[l>>2]=1;E=f+(m*72|0)+8|0;v=f+(m*72|0)+16|0;o=+b[v>>3];C=f+(m*72|0)+24|0;I=f+(m*72|0)+32|0;k=+b[I>>3];if((o>k?(Q=a[Z>>2]|0,M=+b[r+(Q*56|0)>>3],M==+b[r+(Q*56|0)+16>>3]):0)?(Q=a[f+(m*72|0)+4>>2]|0,V=+b[r+(Q*56|0)>>3],V==+b[r+(Q*56|0)+16>>3]):0){l=e+(i<<5)|0;if(L){b[l>>3]=M;h=o;o=V}else{b[l>>3]=k;h=-M;k=-V}b[e+(i<<5)+8>>3]=k;b[e+(i<<5)+16>>3]=o;b[e+(i<<5)+24>>3]=h;i=i+1|0}l=f+(m*72|0)+40|0;G=a[l>>2]|0;do{if((G|0)<1?(J=f+(m*72|0)+44|0,(a[J>>2]|0)<1):0){l=f+(m*72|0)+48|0;u=f+(m*72|0)+52|0;if((a[l>>2]|0)>0?(N=a[u>>2]|0,(N|0)>0):0){w=a[f+(N*72|0)>>2]|0;s=a[Z>>2]|0;if((N|0)==(t|0)){s=on(n,s,w)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,1)|0;n=s;s=1;break}else{s=on(n,w,s)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,1)|0;n=s;l=u;s=1;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[J>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,1)|0;l=u;s=1}else H=19}while(0);do{if((H|0)==19){H=0;Q=f+(m*72|0)+48|0;d=a[Q>>2]|0;if((d|0)<1?(X=f+(m*72|0)+52|0,(a[X>>2]|0)<1):0){u=f+(m*72|0)+44|0;if((G|0)>0?(R=a[u>>2]|0,(R|0)>0):0){w=a[f+(m*72|0)+4>>2]|0;s=a[f+(G*72|0)+4>>2]|0;if((R|0)==(t|0)){s=on(n,s,w)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,2)|0;n=s;s=2;break}else{s=on(n,w,s)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;n=s;l=u;s=2;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;l=X;s=1;break}g=f+(m*72|0)+44|0;B=a[g>>2]|0;w=(B|0)>0;if((G|0)>0){if(w){if((d|0)>0?(W=f+(m*72|0)+52|0,z=a[W>>2]|0,(z|0)>0):0){u=a[f+(z*72|0)>>2]|0;w=a[f+(G*72|0)+4>>2]|0;if(!((s|0)==2&(z|0)==(t|0))?!((s|0)==1&(B|0)==(t|0)):0){s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[g>>2]|0,m,c,2)|0;n=s;l=W;s=1;break}s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[W>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}w=a[Z>>2]|0;if(+y(+(+b[I>>3]-+b[r+(w*56|0)+24>>3]))<=1.0e-07?+y(+(+b[C>>3]-+b[r+(w*56|0)+16>>3]))<=1.0e-07:0){u=a[f+(G*72|0)+4>>2]|0;w=a[r+(w*56|0)+44>>2]|0;if((s|0)==1&(G|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[g>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+52|0;s=1;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;s=2;break}}u=a[f+(m*72|0)+4>>2]|0;w=a[f+(G*72|0)+4>>2]|0;if((s|0)==1&(B|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[Q>>2]|0,m,c,1)|0;n=s;s=2;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=g;s=2;break}}}else if(!w)break A;if((d|0)>0?(Y=f+(m*72|0)+52|0,D=a[Y>>2]|0,(D|0)>0):0){u=a[Z>>2]|0;if(+y(+(+b[v>>3]-+b[r+(u*56|0)+8>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(u*56|0)>>3]))<=1.0e-07:0){w=a[f+(D*72|0)>>2]|0;if((s|0)==2&(d|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;n=s;l=Y;s=1;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Y>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}}w=a[f+(D*72|0)>>2]|0;u=a[r+((a[f+(m*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((s|0)==2&(D|0)==(t|0)){s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[Y>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}else{s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;n=s;l=Y;s=1;break}}k=+b[v>>3];u=a[Z>>2]|0;if(((+y(+(k-+b[r+(u*56|0)+8>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(u*56|0)>>3]))<=1.0e-07:0)?(F=a[f+(m*72|0)+4>>2]|0,+y(+(+b[I>>3]-+b[r+(F*56|0)+8>>3]))<=1.0e-07):0)?+y(+(+b[C>>3]-+b[r+(F*56|0)>>3]))<=1.0e-07:0)if((s|0)==1){s=on(n,u,F)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=Q;s=1;break}else{s=on(n,F,u)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+44|0;s=2;break}t=a[f+(m*72|0)+4>>2]|0;if(((+y(+(k-+b[r+(t*56|0)+24>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(t*56|0)+16>>3]))<=1.0e-07:0)?+y(+(+b[I>>3]-+b[r+(u*56|0)+24>>3]))<=1.0e-07:0)?+y(+(+b[C>>3]-+b[r+(u*56|0)+16>>3]))<=1.0e-07:0){w=a[r+(t*56|0)+44>>2]|0;t=a[r+(u*56|0)+44>>2]|0;if((s|0)==1){s=on(n,t,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=Q;s=1;break}else{s=on(n,w,t)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+44|0;s=2;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;l=f+(m*72|0)+52|0;s=1}}while(0);t=m;m=a[l>>2]|0}return i|0}function on(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;f=k;k=k+16|0;d=f+4|0;t=f;r=(a[47392]|0)+1|0;a[47392]=r;s=a[47389]|0;hn(e,i,d,t);d=a[d>>2]|0;l=a[s+(e*56|0)+32+(d<<2)>>2]|0;t=a[s+(i*56|0)+32+(a[t>>2]<<2)>>2]|0;w=a[47391]|0;n=w+1|0;w=w+2|0;a[47391]=w;h=a[47388]|0;a[h+(n<<4)>>2]=e;a[h+(w<<4)>>2]=i;u=h+(l<<4)+4|0;o=h+(n<<4)+4|0;a[o>>2]=a[u>>2];a[h+(a[u>>2]<<4)+8>>2]=n;a[h+(n<<4)+8>>2]=w;a[h+(w<<4)+4>>2]=n;c=h+(t<<4)+8|0;a[h+(w<<4)+8>>2]=a[c>>2];a[h+(a[c>>2]<<4)+4>>2]=w;a[u>>2]=t;a[c>>2]=l;c=s+(e*56|0)+48|0;u=a[c>>2]|0;t=s+(i*56|0)+48|0;b=a[t>>2]|0;a[s+(e*56|0)+16+(d<<2)>>2]=i;a[s+(e*56|0)+32+(u<<2)>>2]=n;a[s+(e*56|0)+16+(u<<2)>>2]=a[h+(a[o>>2]<<4)>>2];a[s+(i*56|0)+32+(b<<2)>>2]=w;a[s+(i*56|0)+16+(b<<2)>>2]=e;a[c>>2]=(a[c>>2]|0)+1;a[t>>2]=(a[t>>2]|0)+1;i=a[47390]|0;a[i+(A<<2)>>2]=l;a[i+(r<<2)>>2]=n;k=f;return r|0}function hn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0.0,b=0.0,s=0,w=0,u=0;s=a[47389]|0;w=s+(A*56|0)|0;u=s+(e*56|0)|0;f=0;n=-4.0;t=0;while(1){if((t|0)==4)break;l=a[s+(A*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(c=+dn(w,s+(l*56|0)|0,u),c>n):0){f=t;n=c}t=t+1|0}a[i>>2]=f;f=0;t=0;n=-4.0;while(1){if((t|0)==4)break;l=a[s+(e*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(b=+dn(u,s+(l*56|0)|0,w),b>n):0){f=t;n=b}t=t+1|0}a[r>>2]=f;return}function dn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;n=+b[A>>3];l=+b[e>>3]-n;r=+b[A+8>>3];a=+b[e+8>>3]-r;n=+b[i>>3]-n;r=+b[i+8>>3]-r;f=r*a+n*l;if(!(r*l-n*a>=0.0))r=-f/(+z(+(r*r+n*n))*+z(+(a*a+l*l)))+-2.0;else r=f/(+z(+(r*r+n*n))*+z(+(a*a+l*l)));return+r}function Bn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;a[r>>2]=a[A>>2];a[r+4>>2]=a[A+4>>2];a[r+8>>2]=a[A+8>>2];a[r+12>>2]=a[A+12>>2];l=r+32|0;t=A+16|0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];if(!i){f=A+8|0;n=t;l=A+24|0;i=A}else{f=A+24|0;n=A;l=A+8|0;i=t}c=+b[n>>3];s=+b[l>>3];b[r+16>>3]=+b[i>>3];b[r+24>>3]=s;b[r+48>>3]=c;b[r+56>>3]=+b[f>>3];A:do{if(e|0){i=0;while(1){if((i|0)==4)break A;t=r+(i<<4)+8|0;s=+b[t>>3];e=r+(i<<4)|0;b[t>>3]=+b[e>>3];b[e>>3]=-s;i=i+1|0}}}while(0);return}function vn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;l=e+3|0;t=e+1|0;c=e+2|0;b=A+(e*56|0)+44|0;s=A+(l*56|0)+44|0;r=0;f=e;while(1){if((f|0)>(l|0))break;do{if((f|0)!=(e|0))if((f|0)==(l|0)){a[s>>2]=e;n=c;break}else{a[A+(f*56|0)+44>>2]=f+1;n=f+-1|0;break}else{a[b>>2]=t;n=l}}while(0);a[A+(f*56|0)+48>>2]=n;a[A+(f*56|0)+32>>2]=0;u=A+(f*56|0)|0;w=i+(r<<4)|0;a[u>>2]=a[w>>2];a[u+4>>2]=a[w+4>>2];a[u+8>>2]=a[w+8>>2];a[u+12>>2]=a[w+12>>2];z6(A+(n*56|0)+16|0,w|0,16)|0;r=r+1|0;f=f+1|0}return e+4|0}function gn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;a[47393]=r<<1;a[47394]=r;b=qF(r*80|0)|0;a[47395]=1;a[47396]=1;Y6(f|0,0,r*72|0)|0;n=En(a[i+4>>2]|0,e,f,b)|0;r=1;while(1){if((r|0)>(A|0))break;a[e+(r*56|0)+40>>2]=n;a[e+(r*56|0)+36>>2]=n;r=r+1|0}c=Cn(A)|0;n=2;t=1;while(1){if((t|0)>(c|0))break;r=In(A,t+-1|0)|0;l=In(A,t)|0;while(1){if((r|0)>=(l|0)){r=1;break}Zn(a[i+(n<<2)>>2]|0,e,f,b);r=r+1|0;n=n+1|0}while(1){if((r|0)>(A|0))break;Gn(r,e,f,b);r=r+1|0}t=t+1|0}r=In(A,c)|0;while(1){if((r|0)>=(A|0))break;Zn(a[i+(n<<2)>>2]|0,e,f,b);n=n+1|0;r=r+1|0}L2(b);return a[47395]|0}function En(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;f=yn()|0;a[r+(f*40|0)>>2]=2;B=r+(f*40|0)+8|0;c=e+(A*56|0)|0;s=e+(A*56|0)+16|0;Mn(B,c,s);u=yn()|0;a[r+(f*40|0)+36>>2]=u;a[r+(u*40|0)>>2]=3;a[r+(u*40|0)+28>>2]=f;t=yn()|0;a[r+(f*40|0)+32>>2]=t;a[r+(t*40|0)>>2]=2;d=r+(t*40|0)+8|0;Fn(d,c,s);a[r+(t*40|0)+28>>2]=f;s=yn()|0;a[r+(t*40|0)+32>>2]=s;a[r+(s*40|0)>>2]=3;a[r+(s*40|0)+28>>2]=t;c=yn()|0;a[r+(t*40|0)+36>>2]=c;a[r+(c*40|0)>>2]=1;a[r+(c*40|0)+4>>2]=A;a[r+(c*40|0)+28>>2]=t;t=yn()|0;a[r+(c*40|0)+32>>2]=t;a[r+(t*40|0)>>2]=3;a[r+(t*40|0)+28>>2]=c;n=yn()|0;a[r+(c*40|0)+36>>2]=n;a[r+(n*40|0)>>2]=3;a[r+(n*40|0)+28>>2]=c;c=Wn(i)|0;l=Wn(i)|0;w=Wn(i)|0;k=Wn(i)|0;o=i+(c*72|0)+8|0;h=i+(l*72|0)+8|0;v=i+(k*72|0)+24|0;a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];z6(h|0,B|0,16)|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];o=i+(c*72|0)+24|0;h=i+(l*72|0)+24|0;B=i+(w*72|0)+8|0;a[B>>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];z6(h|0,d|0,16)|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];b[i+(k*72|0)+16>>3]=1073741824.0;b[i+(k*72|0)+8>>3]=1073741824.0;b[i+(w*72|0)+32>>3]=-1073741824.0;b[i+(w*72|0)+24>>3]=-1073741824.0;a[i+(l*72|0)>>2]=A;a[i+(c*72|0)+4>>2]=A;a[i+(l*72|0)+40>>2]=k;a[i+(c*72|0)+40>>2]=k;a[i+(l*72|0)+48>>2]=w;a[i+(c*72|0)+48>>2]=w;a[i+(w*72|0)+40>>2]=c;a[i+(k*72|0)+48>>2]=c;a[i+(w*72|0)+44>>2]=l;a[i+(k*72|0)+52>>2]=l;a[i+(c*72|0)+56>>2]=t;a[i+(l*72|0)+56>>2]=n;a[i+(w*72|0)+56>>2]=s;a[i+(k*72|0)+56>>2]=u;a[i+(l*72|0)+68>>2]=1;a[i+(c*72|0)+68>>2]=1;a[i+(k*72|0)+68>>2]=1;a[i+(w*72|0)+68>>2]=1;a[r+(u*40|0)+24>>2]=k;a[r+(s*40|0)+24>>2]=w;a[r+(t*40|0)+24>>2]=c;a[r+(n*40|0)+24>>2]=l;a[e+(A*56|0)+32>>2]=1;return f|0}function Cn(A){A=A|0;var e=0.0;e=+(A|0);A=0;while(1){if(!(e>=1.0))break;e=+a1(e);A=A+1|0}return A+-1|0}function In(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+(A|0);i=r;A=0;while(1){if((A|0)>=(e|0))break;i=+a1(i);A=A+1|0}return~~+p(+(r/i))|0}function Zn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0;P=k;k=k+96|0;x=P+32|0;f=P+16|0;T=P;B=x;c=e+(A*56|0)|0;d=B+56|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));j=x+16|0;S=x+24|0;l=+b[S>>3];D=x+8|0;t=+b[D>>3];do{if(!(l>t+1.0e-07)){if(!(l>3]>+b[x>>3]:0){Y=4;break}Y=(Ln(A,e,1)|0)==0;f=a[x+36>>2]|0;if(Y){w=0;Y=7}else{f=Qn(x,j,f,e,r)|0;Y=20}}else Y=4}while(0);if((Y|0)==4){a[f>>2]=a[x>>2];a[f+4>>2]=a[x+4>>2];a[f+8>>2]=a[x+8>>2];a[f+12>>2]=a[x+12>>2];a[x>>2]=a[j>>2];a[x+4>>2]=a[j+4>>2];a[x+8>>2]=a[j+8>>2];a[x+12>>2]=a[j+12>>2];a[j>>2]=a[f>>2];a[j+4>>2]=a[f+4>>2];a[j+8>>2]=a[f+8>>2];a[j+12>>2]=a[f+12>>2];W=x+36|0;z=a[W>>2]|0;Y=x+40|0;f=a[Y>>2]|0;a[W>>2]=f;a[Y>>2]=z;if(!(Ln(A,e,2)|0)){w=1;Y=7}else{f=Qn(x,j,f,e,r)|0;Y=19}}if((Y|0)==7){s=Qn(x,j,f,e,r)|0;f=Wn(i)|0;a[i+(f*72|0)+68>>2]=1;B=i+(f*72|0)|0;c=i+(s*72|0)|0;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));h=+b[D>>3];b[i+(f*72|0)+16>>3]=h;b[i+(s*72|0)+32>>3]=h;h=+b[x>>3];b[i+(f*72|0)+8>>3]=h;b[i+(s*72|0)+24>>3]=h;a[i+(s*72|0)+48>>2]=f;a[i+(s*72|0)+52>>2]=0;a[i+(f*72|0)+40>>2]=s;a[i+(f*72|0)+44>>2]=0;n=a[i+(f*72|0)+48>>2]|0;if((n|0)>0){c=i+(n*72|0)+40|0;if((a[c>>2]|0)==(s|0))a[c>>2]=f;n=i+(n*72|0)+44|0;if((a[n>>2]|0)==(s|0))a[n>>2]=f}n=a[i+(f*72|0)+52>>2]|0;if((n|0)>0){c=i+(n*72|0)+40|0;if((a[c>>2]|0)==(s|0))a[c>>2]=f;n=i+(n*72|0)+44|0;if((a[n>>2]|0)==(s|0))a[n>>2]=f}W=yn()|0;Y=yn()|0;z=i+(s*72|0)+56|0;L=a[z>>2]|0;a[r+(L*40|0)>>2]=2;m=r+(L*40|0)+8|0;a[m>>2]=a[x>>2];a[m+4>>2]=a[x+4>>2];a[m+8>>2]=a[x+8>>2];a[m+12>>2]=a[x+12>>2];a[r+(L*40|0)+4>>2]=A;a[r+(L*40|0)+32>>2]=Y;a[r+(L*40|0)+36>>2]=W;a[r+(W*40|0)>>2]=3;a[r+(W*40|0)+24>>2]=s;a[r+(W*40|0)+28>>2]=L;a[r+(Y*40|0)>>2]=3;a[r+(Y*40|0)+24>>2]=f;a[r+(Y*40|0)+28>>2]=L;a[z>>2]=W;a[i+(f*72|0)+56>>2]=Y;if(w)Y=19;else Y=20}if((Y|0)==19)if(!(Ln(A,e,1)|0)){n=1;Y=21}else{n=1;Y=32}else if((Y|0)==20)if(!(Ln(A,e,2)|0)){n=0;Y=21}else{n=0;Y=32}if((Y|0)==21){u=Qn(j,x,a[x+40>>2]|0,e,r)|0;w=Wn(i)|0;a[i+(w*72|0)+68>>2]=1;B=i+(w*72|0)|0;c=i+(u*72|0)|0;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));h=+b[S>>3];b[i+(w*72|0)+16>>3]=h;b[i+(u*72|0)+32>>3]=h;h=+b[j>>3];b[i+(w*72|0)+8>>3]=h;b[i+(u*72|0)+24>>3]=h;a[i+(u*72|0)+48>>2]=w;a[i+(u*72|0)+52>>2]=0;a[i+(w*72|0)+40>>2]=u;a[i+(w*72|0)+44>>2]=0;c=a[i+(w*72|0)+48>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((a[s>>2]|0)==(u|0))a[s>>2]=w;c=i+(c*72|0)+44|0;if((a[c>>2]|0)==(u|0))a[c>>2]=w}c=a[i+(w*72|0)+52>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((a[s>>2]|0)==(u|0))a[s>>2]=w;c=i+(c*72|0)+44|0;if((a[c>>2]|0)==(u|0))a[c>>2]=w}L=yn()|0;z=yn()|0;W=i+(u*72|0)+56|0;m=a[W>>2]|0;a[r+(m*40|0)>>2]=2;Q=r+(m*40|0)+8|0;a[Q>>2]=a[j>>2];a[Q+4>>2]=a[j+4>>2];a[Q+8>>2]=a[j+8>>2];a[Q+12>>2]=a[j+12>>2];a[r+(m*40|0)+4>>2]=A;a[r+(m*40|0)+32>>2]=z;a[r+(m*40|0)+36>>2]=L;a[r+(L*40|0)>>2]=3;a[r+(L*40|0)+24>>2]=u;a[r+(L*40|0)+28>>2]=m;a[r+(z*40|0)>>2]=3;a[r+(z*40|0)+24>>2]=w;a[r+(z*40|0)+28>>2]=m;a[W>>2]=L;a[i+(w*72|0)+56>>2]=z;z=f;f=0}else if((Y|0)==32){z=f;u=Qn(j,x,a[x+40>>2]|0,e,r)|0;f=1}A:do{if((z|0)>0){L=i+(u*72|0)+24|0;W=i+(u*72|0)+32|0;m=(f|0)!=0;Z=n?e+(A*56|0)+48|0:e+(A*56|0)+44|0;G=T+8|0;n=0;f=0;I=z;e:while(1){c=i+(I*72|0)|0;E=i+(I*72|0)+24|0;if(!(zn(E,L)|0))break A;s=i+(I*72|0)+56|0;g=a[s>>2]|0;w=yn()|0;o=yn()|0;a[r+(g*40|0)>>2]=1;a[r+(g*40|0)+4>>2]=A;a[r+(g*40|0)+32>>2]=w;a[r+(g*40|0)+36>>2]=o;a[r+(w*40|0)>>2]=3;a[r+(w*40|0)+24>>2]=I;a[r+(w*40|0)+28>>2]=g;a[r+(o*40|0)>>2]=3;C=Wn(i)|0;a[r+(o*40|0)+24>>2]=C;Q=i+(C*72|0)|0;a[i+(C*72|0)+68>>2]=1;a[r+(o*40|0)+28>>2]=g;n=(I|0)==(z|0)?C:n;g=i+(I*72|0)+32|0;if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0)f=C;B=Q;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));a[s>>2]=w;a[i+(C*72|0)+56>>2]=o;v=i+(I*72|0)+48|0;s=i+(I*72|0)+52|0;c=(a[s>>2]|0)<1;do{if((a[v>>2]|0)<1){if(c)break e;B=i+(I*72|0)+40|0;c=a[B>>2]|0;do{if((c|0)>0?(N=i+(I*72|0)+44|0,X=a[N>>2]|0,(X|0)>0):0){d=i+(I*72|0)+60|0;c=a[d>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=X;a[i+(C*72|0)+44>>2]=-1;a[N>>2]=-1;a[i+(X*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=X;a[N>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;o=C;w=X}else{a[i+(C*72|0)+44>>2]=-1;v=i+(C*72|0)+40|0;a[v>>2]=a[N>>2];w=a[B>>2]|0;a[N>>2]=w;a[B>>2]=c;a[i+(c*72|0)+48>>2]=I;o=I;c=a[v>>2]|0}a[i+(w*72|0)+48>>2]=o;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[d>>2]=0}else Y=77}while(0);do{if((Y|0)==77){Y=0;w=i+(c*72|0)+48|0;o=a[w>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(a[c>>2]|0)>0:0){c=a[i+(o*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[B>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;break}a[w>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[Z>>2]|0;if((c|0)>0?(mn(c,e,x)|0)!=0:0){a[i+((a[s>>2]|0)*72|0)+40>>2]=I;w=i+(C*72|0)+52|0;c=C}else{a[i+((a[i+(C*72|0)+52>>2]|0)*72|0)+44>>2]=C;w=s;c=I}a[w>>2]=-1;a[i+(c*72|0)+48>>2]=-1;c=a[s>>2]|0;break}c=a[s>>2]|0;s=i+(c*72|0)+40|0;w=a[s>>2]|0;o=i+(c*72|0)+44|0;if((w|0)>0?(R=a[o>>2]|0,H=(w|0)==(I|0),(R|0)>0):0){a[i+(c*72|0)+60>>2]=H?R:w;a[i+(c*72|0)+64>>2]=H?1:2}a[s>>2]=I;a[o>>2]=C}else{if(!c){l=+b[g>>3];t=+b[D>>3];h=l-t;if(!(+y(+h)<=1.0e-07)){b[G>>3]=l;l=+b[x>>3];b[T>>3]=(+b[j>>3]-l)*(h/(+b[S>>3]-t))+l;B=(Yn(T,E)|0)!=0}else B=+b[E>>3]>+b[x>>3];d=i+(I*72|0)+40|0;c=a[d>>2]|0;do{if((c|0)>0?(p=i+(I*72|0)+44|0,U=a[p>>2]|0,(U|0)>0):0){o=i+(I*72|0)+60|0;c=a[o>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=U;a[i+(C*72|0)+44>>2]=-1;a[p>>2]=-1;a[i+(U*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=U;a[p>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[d>>2]|0)*72|0)+48>>2]=I;w=C;s=U}else{a[i+(C*72|0)+44>>2]=-1;O=i+(C*72|0)+40|0;a[O>>2]=a[p>>2];s=a[d>>2]|0;a[p>>2]=s;a[d>>2]=c;a[i+(c*72|0)+48>>2]=I;w=I;c=a[O>>2]|0}a[i+(s*72|0)+48>>2]=w;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[o>>2]=0}else Y=106}while(0);do{if((Y|0)==106){Y=0;s=i+(c*72|0)+48|0;w=a[s>>2]|0;c=i+(c*72|0)+52|0;if((w|0)>0?(a[c>>2]|0)>0:0){c=a[i+(w*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[d>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[d>>2]|0)*72|0)+48>>2]=I;break}a[s>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[v>>2]|0;a[i+(c*72|0)+40>>2]=I;a[i+(c*72|0)+44>>2]=-1;c=i+(I*72|0)+52|0;O=a[c>>2]|0;a[i+(O*72|0)+40>>2]=C;a[i+(O*72|0)+44>>2]=-1;a[i+(C*72|0)+48>>2]=O;a[i+(C*72|0)+52>>2]=-1;a[c>>2]=-1;c=-1}else Y=116;do{if((Y|0)==116){Y=0;c=a[v>>2]|0;a[i+(c*72|0)+40>>2]=I;s=i+(c*72|0)+44|0;if(B){a[s>>2]=C;O=i+(I*72|0)+52|0;E=a[O>>2]|0;a[i+(E*72|0)+40>>2]=C;a[i+(E*72|0)+44>>2]=-1;a[O>>2]=-1;break}else{a[s>>2]=-1;c=i+(I*72|0)+52|0;O=a[c>>2]|0;a[i+(O*72|0)+40>>2]=I;a[i+(O*72|0)+44>>2]=C;a[i+(C*72|0)+48>>2]=O;a[i+(C*72|0)+52>>2]=-1;c=a[c>>2]|0;break}}}while(0);break}B=i+(I*72|0)+40|0;c=a[B>>2]|0;do{if((c|0)>0?(M=i+(I*72|0)+44|0,F=a[M>>2]|0,(F|0)>0):0){d=i+(I*72|0)+60|0;c=a[d>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=F;a[i+(C*72|0)+44>>2]=-1;a[M>>2]=-1;a[i+(F*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=F;a[M>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;o=C;w=F}else{a[i+(C*72|0)+44>>2]=-1;O=i+(C*72|0)+40|0;a[O>>2]=a[M>>2];w=a[B>>2]|0;a[M>>2]=w;a[B>>2]=c;a[i+(c*72|0)+48>>2]=I;o=I;c=a[O>>2]|0}a[i+(w*72|0)+48>>2]=o;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[d>>2]=0}else Y=51}while(0);do{if((Y|0)==51){Y=0;w=i+(c*72|0)+48|0;o=a[w>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(a[c>>2]|0)>0:0){c=a[i+(o*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[B>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;break}a[w>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[Z>>2]|0;if((c|0)>0?(mn(c,e,x)|0)!=0:0){a[i+((a[v>>2]|0)*72|0)+40>>2]=I;s=i+(C*72|0)+52|0;c=C}else{a[i+((a[i+(C*72|0)+48>>2]|0)*72|0)+44>>2]=C;c=I}a[s>>2]=-1;a[i+(c*72|0)+48>>2]=-1;c=a[v>>2]|0;break}c=a[v>>2]|0;s=i+(c*72|0)+40|0;w=a[s>>2]|0;o=i+(c*72|0)+44|0;if((w|0)>0?(V=a[o>>2]|0,J=(w|0)==(I|0),(V|0)>0):0){a[i+(c*72|0)+60>>2]=J?V:w;a[i+(c*72|0)+64>>2]=J?1:2}a[s>>2]=I;a[o>>2]=C}}while(0);a[Q>>2]=A;a[i+(I*72|0)+4>>2]=A;if((c|0)>0)I=c;else break A}L3(138424,19,1,a[15712]|0)|0}else{n=0;f=0}}while(0);Dn(A,z,u,1,i,r);Dn(A,n,f,2,i,r);a[e+(A*56|0)+32>>2]=1;k=P;return}function Gn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;if(!(a[e+(A*56|0)+32>>2]|0)){f=e+(A*56|0)|0;n=e+(A*56|0)+16|0;l=e+(A*56|0)+36|0;a[l>>2]=a[i+((Qn(f,n,a[l>>2]|0,e,r)|0)*72|0)+56>>2];A=e+(A*56|0)+40|0;a[A>>2]=a[i+((Qn(n,f,a[A>>2]|0,e,r)|0)*72|0)+56>>2]}return}function Qn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0,o=0.0,h=0,d=0;k=A+8|0;h=e+8|0;A:while(1){e:do{switch(a[f+(i*40|0)>>2]|0){case 3:{d=3;break A}case 2:{n=+b[k>>3];l=f+(i*40|0)+8|0;t=+b[f+(i*40|0)+16>>3];c=t+1.0e-07;do{if(!(n>c)){s=t+-1.0e-07;if(!(n>3]>+b[l>>3]:0)break;if(+y(+(n-t))<=1.0e-07?(w=+b[l>>3],+y(+(+b[A>>3]-w))<=1.0e-07):0){n=+b[h>>3];do{if(!(n>c)){if(!(n>3]>w:0)break;i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break e}i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break}case 1:{n=+b[k>>3];l=a[f+(i*40|0)+4>>2]|0;if(+y(+(n-+b[r+(l*56|0)+8>>3]))<=1.0e-07?(u=+b[A>>3],+y(+(u-+b[r+(l*56|0)>>3]))<=1.0e-07):0)t=u;else d=19;do{if((d|0)==19){d=0;if(+y(+(n-+b[r+(l*56|0)+24>>3]))<=1.0e-07?(o=+b[A>>3],+y(+(o-+b[r+(l*56|0)+16>>3]))<=1.0e-07):0){t=o;break}if(!(mn(l,r,A)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}}}while(0);if(!(+y(+(n-+b[h>>3]))<=1.0e-07))if(!(mn(l,r,e)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}else if(+b[e>>3]>2]|0}if((d|0)==3)return a[f+(i*40|0)+24>>2]|0;else if((d|0)==31){L3(138358,35,1,a[15712]|0)|0;vA(138394,138396,349,138408)}return 0}function mn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0,n=0.0,l=0,t=0,c=0.0;a=e+(A*56|0)+16|0;n=+b[e+(A*56|0)+24>>3];l=e+(A*56|0)|0;f=+b[e+(A*56|0)+8>>3];do{if(!(n>f+1.0e-07)){if(!(n>3]>+b[l>>3]:0){t=4;break}r=+b[i+8>>3];if(+y(+(n-r))<=1.0e-07){r=+b[i>>3]<+b[a>>3]?1.0:-1.0;break}if(!(+y(+(f-r))<=1.0e-07)){c=+b[a>>3];r=(+b[l>>3]-c)*(r-n)-(+b[i>>3]-c)*(f-n);break}else{r=+b[i>>3]<+b[l>>3]?1.0:-1.0;break}}else t=4}while(0);do{if((t|0)==4){r=+b[i+8>>3];if(+y(+(n-r))<=1.0e-07){r=+b[i>>3]<+b[a>>3]?1.0:-1.0;break}if(!(+y(+(f-r))<=1.0e-07)){c=+b[l>>3];r=(+b[a>>3]-c)*(r-f)-(+b[i>>3]-c)*(n-f);break}else{r=+b[i>>3]<+b[l>>3]?1.0:-1.0;break}}}while(0);return r>0.0|0}function Ln(A,e,i){A=A|0;e=e|0;i=i|0;return a[e+((a[((i|0)==1?e+(A*56|0)+48|0:e+(A*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function Wn(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=a[47395]|0;if((e|0)<(a[47394]|0)){a[A+(e*72|0)>>2]=-1;a[A+(e*72|0)+4>>2]=-1;a[A+(e*72|0)+68>>2]=1;a[47395]=e+1;k=r;return e|0}else{r=a[15712]|0;a[i>>2]=e;f3(r,138483,i)|0;vA(138394,138396,88,138521)}return 0}function yn(){var A=0;A=a[47396]|0;if((A|0)<(a[47393]|0)){a[47396]=A+1;return A|0}else{L3(138444,30,1,a[15712]|0)|0;vA(138394,138396,72,138475)}return 0}function zn(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(i>r+1.0e-07))if(i>3]>=+b[e>>3]&1;else A=1;return A|0}function Yn(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(ir+1.0e-07)A=0;else A=+b[A>>3]<+b[e>>3]&1;else A=1;return A|0}function Dn(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;h=f+(i*72|0)+24|0;o=(r|0)==1;A:while(1){k=f+(e*72|0)+24|0;c=f+(e*72|0)+48|0;b=f+(e*72|0)+52|0;s=f+(e*72|0)|0;w=f+(e*72|0)+4|0;u=f+(e*72|0)+56|0;if((e|0)<=0)break;while(1){if(!(zn(k,h)|0))break A;i=a[c>>2]|0;r=(i|0)>0;do{if(o){if(r?(a[f+(i*72|0)+4>>2]|0)==(A|0):0)break;i=a[b>>2]|0;if((i|0)<=0){e=i;continue A}if((a[f+(i*72|0)+4>>2]|0)!=(A|0)){e=i;continue A}}else{if(r?(a[f+(i*72|0)>>2]|0)==(A|0):0)break;i=a[b>>2]|0;if((i|0)<=0){e=i;continue A}if((a[f+(i*72|0)>>2]|0)!=(A|0)){e=i;continue A}}}while(0);if((a[s>>2]|0)!=(a[f+(i*72|0)>>2]|0)){e=i;continue A}if((a[w>>2]|0)!=(a[f+(i*72|0)+4>>2]|0)){e=i;continue A}d=a[f+(i*72|0)+56>>2]|0;r=a[n+(d*40|0)+28>>2]|0;l=n+(r*40|0)+32|0;t=a[u>>2]|0;if((a[l>>2]|0)==(d|0))a[l>>2]=t;else a[n+(r*40|0)+36>>2]=t;r=a[f+(i*72|0)+48>>2]|0;a[c>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((a[l>>2]|0)==(i|0)){a[l>>2]=e;break}r=f+(r*72|0)+44|0;if((a[r>>2]|0)==(i|0))a[r>>2]=e}}while(0);r=a[f+(i*72|0)+52>>2]|0;a[b>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((a[l>>2]|0)==(i|0)){a[l>>2]=e;break}r=f+(r*72|0)+44|0;if((a[r>>2]|0)==(i|0))a[r>>2]=e}}while(0);d=f+(i*72|0)+24|0;a[k>>2]=a[d>>2];a[k+4>>2]=a[d+4>>2];a[k+8>>2]=a[d+8>>2];a[k+12>>2]=a[d+12>>2];a[f+(i*72|0)+68>>2]=2}}return}function Mn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[i+8>>3];do{if(!(r>f+1.0e-07)){if(!(+y(+(r-f))<=1.0e-07)){a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}if(+b[e>>3]>+b[i>>3]+1.0e-07){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function Fn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[i+8>>3];do{if(!(r>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}if(+b[e>>3]<+b[i>>3]){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function Vn(A){A=A|0;var e=0;e=qF(8)|0;if(e|0){a[e+4>>2]=A;a[e>>2]=0}return e|0}function Jn(A,e){A=A|0;e=e|0;if(e){e=Vn(e)|0;a[e>>2]=A;A=e}return A|0}function Nn(A){A=A|0;var e=0;do{e=A;A=a[A>>2]|0;L2(e)}while((A|0)!=0);return}function Xn(){var A=0;A=qF(1992)|0;if(A|0)a[A>>2]=Rn(A)|0;return A|0}function Rn(A){A=A|0;var e=0;e=jn(A)|0;a[e+4>>2]=0;A=A+1972|0;a[A>>2]=(a[A>>2]|0)+1;return e|0}function Hn(A){A=A|0;pn(A,a[A>>2]|0);L2(a[A>>2]|0);L2(A);return 0}function pn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=A+1980|0;l=A+1912|0;t=A+1936|0;A:do{if((a[e+4>>2]|0)>0){i=0;while(1){if((i|0)==64)break A;r=e+8+(i*20|0)+16|0;f=a[r>>2]|0;if(f|0?(pn(A,f),L2(a[r>>2]|0),qn(e,i),a[n>>2]=(a[n>>2]|0)+-1,a[l>>2]|0):0)a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}else{i=0;while(1){if((i|0)==64)break A;if(a[e+8+(i*20|0)+16>>2]|0?(qn(e,i),a[n>>2]=(a[n>>2]|0)+-1,a[l>>2]|0):0)a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}}while(0);return}function Un(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;if(!e)vA(138879,138529,194,138537);r=a[e+4>>2]|0;if((r|0)<=-1)vA(138549,138529,195,138537);if(!i)vA(138821,138529,196,138537);t=A+1952|0;a[t>>2]=(a[t>>2]|0)+1;A:do{if((r|0)>0){t=0;r=0;while(1){if((t|0)==64)break A;f=e+8+(t*20|0)+16|0;if((a[f>>2]|0)!=0?(rl(i,e+8+(t*20|0)|0)|0)!=0:0){n=Un(A,a[f>>2]|0,i)|0;if(!r)r=n;else{f=r;while(1){l=a[f>>2]|0;if(!l)break;else f=l}a[f>>2]=n}}t=t+1|0}}else{n=0;r=0;while(1){if((n|0)==64)break A;f=e+8+(n*20|0)|0;if((a[e+8+(n*20|0)+16>>2]|0)!=0?(rl(i,f)|0)!=0:0)r=Jn(r,f)|0;n=n+1|0}}}while(0);return r|0}function xn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+64|0;b=o+52|0;s=o+32|0;w=o+16|0;u=o;a[b>>2]=0;if(!((e|0)!=0&(r|0)!=0))vA(138735,138529,247,138563);if((f|0)>-1?(c=a[r>>2]|0,(a[c+4>>2]|0)>=(f|0)):0){n=0;while(1){if((n|0)>=2)break;if((a[e+(n<<2)>>2]|0)>(a[e+(n+2<<2)>>2]|0)){l=8;break}else n=n+1|0}if((l|0)==8)vA(138610,138529,250,138563);t=A+1912|0;n=A+1908|0;l=a[n>>2]|0;if(a[t>>2]|0){h=l|0?A+1924|0:A+1916|0;a[h>>2]=(a[h>>2]|0)+1}if(!l){h=A+1964|0;a[h>>2]=(a[h>>2]|0)+1}if(!(Tn(A,e,i,c,b,f)|0))n=0;else{if(a[t>>2]|0){h=a[n>>2]|0?A+1948|0:A+1944|0;a[h>>2]=(a[h>>2]|0)+1}n=jn(A)|0;h=A+1976|0;a[h>>2]=(a[h>>2]|0)+1;h=a[r>>2]|0;a[n+4>>2]=(a[h+4>>2]|0)+1;On(w,h);a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];h=s+16|0;a[h>>2]=a[r>>2];_n(A,s,n,0)|0;On(u,a[b>>2]|0);a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[h>>2]=a[b>>2];_n(A,s,n,0)|0;a[r>>2]=n;n=A+1980|0;a[n>>2]=(a[n>>2]|0)+2;n=1}k=o;return n|0}vA(138575,138529,248,138563);return 0}function Tn(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+80|0;s=h+52|0;w=h+48|0;u=h+32|0;o=h+16|0;b=h;a[w>>2]=0;if(!((e|0)!=0&(r|0)!=0&(f|0)!=0))vA(138653,138529,311,138667);if((n|0)>-1?(t=r+4|0,l=a[t>>2]|0,(l|0)>=(n|0)):0){if(a[A+1912>>2]|0){l=a[A+1908>>2]|0?A+1948|0:A+1944|0;a[l>>2]=(a[l>>2]|0)+1;l=a[t>>2]|0}do{if((l|0)>(n|0)){t=Kn(e,r)|0;l=r+8+(t*20|0)+16|0;t=r+8+(t*20|0)|0;if(!(Tn(A,e,i,a[l>>2]|0,w,n)|0)){il(u,e,t);a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];c=0;break}else{On(o,a[l>>2]|0);a[t>>2]=a[o>>2];a[t+4>>2]=a[o+4>>2];a[t+8>>2]=a[o+8>>2];a[t+12>>2]=a[o+12>>2];c=a[w>>2]|0;a[s+16>>2]=c;On(b,c);a[s>>2]=a[b>>2];a[s+4>>2]=a[b+4>>2];a[s+8>>2]=a[b+8>>2];a[s+12>>2]=a[b+12>>2];c=A+1980|0;a[c>>2]=(a[c>>2]|0)+1;c=_n(A,s,r,f)|0;break}}else if((l|0)==(n|0)){a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];a[s+16>>2]=i;c=A+1980|0;a[c>>2]=(a[c>>2]|0)+1;c=_n(A,s,r,f)|0;break}else vA(138712,138529,341,138667)}while(0);k=h;return c|0}vA(138680,138529,312,138667);return 0}function jn(A){A=A|0;A=A+1968|0;a[A>>2]=(a[A>>2]|0)+1;A=m2(1288)|0;Sn(A);return A|0}function Sn(A){A=A|0;var e=0;a[A>>2]=0;a[A+4>>2]=-1;e=0;while(1){if((e|0)==64)break;Pn(A+8+(e*20|0)|0);e=e+1|0}return}function Pn(A){A=A|0;$n(A);a[A+16>>2]=0;return}function On(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t+16|0;l=t;if(!e)vA(138879,138718,99,138725);$n(n);i=1;f=0;while(1){if((f|0)==64)break;do{if(a[e+8+(f*20|0)+16>>2]|0){r=e+8+(f*20|0)|0;if(!i){il(l,n,r);a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];i=0;break}else{a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];i=0;break}}}while(0);f=f+1|0}a[A>>2]=a[n>>2];a[A+4>>2]=a[n+4>>2];a[A+8>>2]=a[n+8>>2];a[A+12>>2]=a[n+12>>2];k=t;return}function Kn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;b=k;k=k+32|0;t=b+16|0;c=b;if(!((A|0)!=0&(e|0)!=0))vA(138735,138718,125,138742);i=0;r=0;f=0;n=1;l=0;while(1){if((l|0)==64)break;if(a[e+8+(l*20|0)+16>>2]|0){w=e+8+(l*20|0)|0;o=el(w)|0;il(c,A,w);a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];w=(el(t)|0)-o|0;s=(n|0)!=0|(w|0)<(f|0);u=s|(o|0)<(r|0)&(w|0)==(f|0);i=u?l:i;r=u?o:r;f=u?w:f;n=s?0:n}l=l+1|0}k=b;return i|0}function _n(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;if(!e)vA(138901,138718,167,138753);if(!i)vA(138879,138718,168,138753);do{if((a[i>>2]|0)<64){A=0;while(1){if((A|0)>=64){r=10;break}if(!(a[i+8+(A*20|0)+16>>2]|0)){r=8;break}A=A+1|0}if((r|0)==8){f=i+8+(A*20|0)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];f=0;n=i;break}else if((r|0)==10)vA(138763,138718,178,138753)}else{if(a[A+1912>>2]|0){l=a[A+1908>>2]|0?A+1948|0:A+1944|0;a[l>>2]=(a[l>>2]|0)+1}if(!r)vA(138776,138718,187,138753);else{fl(A,i,e,r);f=1;n=(a[i+4>>2]|0)==0?A+1972|0:A+1976|0;break}}}while(0);a[n>>2]=(a[n>>2]|0)+1;return f|0}function qn(A,e){A=A|0;e=e|0;if(!((A|0)!=0&e>>>0<64))vA(138780,138718,201,138808);if(!(a[A+8+(e*20|0)+16>>2]|0))vA(139302,138718,202,138808);else{Pn(A+8+(e*20|0)|0);a[A>>2]=(a[A>>2]|0)+-1;return}}function $n(A){A=A|0;var e=0;e=0;while(1){if((e|0)==4)break;a[A+(e<<2)>>2]=0;e=e+1|0}return}function Al(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;a[i>>2]=1;a[i+8>>2]=-1;e=1;while(1){if((e|0)==2)break;a[i+(e+2<<2)>>2]=0;a[i+(e<<2)>>2]=0;e=e+1|0}a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=r;return}function el(A){A=A|0;var e=0,i=0,r=0;if(!A)vA(138821,138823,128,138835);A:do{if((a[A>>2]|0)>(a[A+8>>2]|0))e=0;else{e=1;i=0;while(1){if((i|0)==2)break A;r=U(a[A+(i+2<<2)>>2]|0,e)|0;e=r-(a[A+(i<<2)>>2]|0)|0;i=i+1|0}}}while(0);return e|0}function il(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;n=k;k=k+16|0;f=n;if(!((e|0)!=0&(i|0)!=0))vA(138844,138823,195,138852);do{if((a[e>>2]|0)>(a[e+8>>2]|0)){a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2]}else{if((a[i>>2]|0)>(a[i+8>>2]|0)){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else r=0;while(1){if((r|0)==2)break;c=a[e+(r<<2)>>2]|0;l=a[i+(r<<2)>>2]|0;a[f+(r<<2)>>2]=(c|0)<(l|0)?c:l;l=r+2|0;c=a[e+(l<<2)>>2]|0;t=a[i+(l<<2)>>2]|0;a[f+(l<<2)>>2]=(c|0)>(t|0)?c:t;r=r+1|0}a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2]}}while(0);k=n;return}function rl(A,e){A=A|0;e=e|0;var i=0,r=0;if((A|0)!=0&(e|0)!=0)i=0;else vA(138864,138823,216,138871);while(1){if((i|0)>=2){i=1;break}r=i+2|0;if((a[A+(i<<2)>>2]|0)>(a[e+(r<<2)>>2]|0)){i=0;break}if((a[e+(i<<2)>>2]|0)>(a[A+(r<<2)>>2]|0)){i=0;break}else i=i+1|0}return i|0}function fl(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;if(!e)vA(138879,138881,40,138891);if(!i)vA(138901,138881,41,138891);t=A+1912|0;if(a[t>>2]|0){l=a[A+1908>>2]|0?A+1932|0:A+1928|0;a[l>>2]=(a[l>>2]|0)+1}n=e+4|0;l=a[n>>2]|0;al(A,e,i);i=A+1324|0;nl(A);f=el(A+1852|0)|0;f=(el(A+1868|0)|0)+f|0;if(a[t>>2]|0?(f|0)!=0&(a[A+1908>>2]|0)==0:0){t=A+1960|0;c[t>>2]=+((a[A+1320>>2]|0)>>>0)/+(f|0)+ +c[t>>2]}t=jn(A)|0;a[r>>2]=t;a[n>>2]=l;a[t+4>>2]=l;ll(A,e,t,i);if(((a[a[r>>2]>>2]|0)+(a[e>>2]|0)|0)==65)return;else vA(138903,138881,86,138891)}function al(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+16|0;n=l;if(!e)vA(138879,138881,106,139290);if(!i)vA(138901,138881,107,139290);else r=0;while(1){if((r|0)>=64)break;if(!(a[e+8+(r*20|0)+16>>2]|0)){f=7;break}c=e+8+(r*20|0)|0;t=A+4+(r*20|0)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];r=r+1|0}if((f|0)==7)vA(139302,138881,111,139290);r=A+4|0;c=A+1284|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[c+16>>2]=a[i+16>>2];i=A+1304|0;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];r=1;while(1){if((r|0)==65)break;il(n,i,A+4+(r*20|0)|0);a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];r=r+1|0}a[A+1320>>2]=el(i)|0;Sn(e);k=l;return}function nl(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;g=k;k=k+48|0;t=g+32|0;b=g+16|0;s=g;tl(A);cl(A);h=A+1844|0;B=A+1848|0;v=A+1892|0;w=A+1852|0;u=A+1884|0;o=A+1868|0;c=A+1888|0;f=0;r=0;while(1){i=a[h>>2]|0;e=a[B>>2]|0;if((e+i|0)>=65)break;l=65-(a[v>>2]|0)|0;if((i|0)<(l|0)&(e|0)<(l|0)){n=-1;l=0}else{d=12;break}while(1){if((l|0)==65)break;if(!(a[A+1584+(l<<2)>>2]|0)){E=A+4+(l*20|0)|0;il(b,E,w);a[t>>2]=a[b>>2];a[t+4>>2]=a[b+4>>2];a[t+8>>2]=a[b+8>>2];a[t+12>>2]=a[b+12>>2];e=el(t)|0;i=a[u>>2]|0;il(s,E,o);a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];E=el(t)|0;e=E-(a[c>>2]|0)+(i-e)|0;i=(e|0)>-1;e=i?e:0-e|0;i=(i^1)&1;if((e|0)<=(n|0))if((e|0)==(n|0)){E=(a[A+1844+(i<<2)>>2]|0)<(a[A+1844+(f<<2)>>2]|0);e=n;i=E?i:f;r=E?l:r}else{e=n;i=f}else r=l}else{e=n;i=f}n=e;l=l+1|0;f=i}bl(A,r,f)}if((d|0)==12){e=(i|0)>=(65-(a[v>>2]|0)|0)&1;i=0;while(1){if((i|0)==65)break;if(!(a[A+1584+(i<<2)>>2]|0))bl(A,i,e);i=i+1|0}i=a[h>>2]|0;e=a[B>>2]|0}if((e+i|0)!=65)vA(139046,138881,210,139132);E=a[v>>2]|0;if((i|0)<(E|0)|(e|0)<(E|0))vA(139143,138881,212,139132);else{k=g;return}}function ll(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if(!e)vA(138879,138881,297,138943);if(!i)vA(138953,138881,298,138943);if(!r)vA(138955,138881,299,138943);else f=0;while(1){if((f|0)>=65){r=14;break}r=a[A+1324+(f<<2)>>2]|0;if(r>>>0>=2){r=9;break}switch(r|0){case 0:{_n(A,A+4+(f*20|0)|0,e,0)|0;break}case 1:{_n(A,A+4+(f*20|0)|0,i,0)|0;break}default:{}}f=f+1|0}if((r|0)==9)vA(138957,138881,303,138943);else if((r|0)==14)return}function tl(A){A=A|0;var e=0,i=0,r=0,f=0;i=k;k=k+16|0;r=i;a[A+1848>>2]=0;a[A+1844>>2]=0;e=A+1852|0;f=A+1868|0;Al(r);a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];a[A+1888>>2]=0;a[A+1884>>2]=0;e=0;while(1){if((e|0)==65)break;a[A+1584+(e<<2)>>2]=0;a[A+1324+(e<<2)>>2]=-1;e=e+1|0}k=i;return}function cl(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;u=k;k=k+304|0;b=u+32|0;s=u+16|0;w=u;e=0;while(1){if((e|0)==65)break;a[b+(e<<2)>>2]=el(A+4+(e*20|0)|0)|0;e=e+1|0}e=0;i=0;r=0;n=0;A:while(1){if((n|0)==64)break;t=n+1|0;c=A+4+(n*20|0)|0;l=b+(n<<2)|0;f=t;while(1){if((f|0)==65){n=t;continue A}il(w,c,A+4+(f*20|0)|0);a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];o=el(s)|0;o=o-(a[l>>2]|0)-(a[b+(f<<2)>>2]|0)|0;h=o>>>0>r>>>0;d=h?f:e;f=f+1|0;e=d;i=h?n:i;r=h?o:r}}bl(A,i,0);bl(A,e,1);k=u;return}function bl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;r=A+1584+(e<<2)|0;if(a[r>>2]|0)vA(139246,138881,257,139281);a[A+1324+(e<<2)>>2]=i;a[r>>2]=1;n=A+1844+(i<<2)|0;f=A+1852+(i<<4)|0;r=A+4+(e*20|0)|0;if(!(a[n>>2]|0)){a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2]}else{il(l,r,f);a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2]}a[A+1884+(i<<2)>>2]=el(f)|0;a[n>>2]=(a[n>>2]|0)+1;k=t;return}function sl(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1200|0;d=v+800|0;i=v;a[47397]=0;a[47398]=-2;e=d;t=200;w=i;o=0;h=0;u=d;A:while(1){f[u>>1]=o;if((e+(t<<1)+-2|0)>>>0>u>>>0)b=t;else{s=u-e>>1;A=s+1|0;if(t>>>0>9999){B=95;break}b=t<<1;b=b>>>0<1e4?b:1e4;l=m2(b*6|3)|0;if(l){y6(l|0,e|0,A<<1|0)|0;t=l+(b>>>1<<2)|0;y6(t|0,w|0,A<<2|0)|0;if((e|0)==(d|0)){A=0;e=l}else{L2(e);A=0;e=l}}else{A=4;t=w}c=(A|0)==0;l=e+(s<<1)|0;switch((c?(e+(b<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;B=96;break A}case 4:{B=95;break A}case 0:{i=c?t+(s<<2)|0:i;w=t;u=c?l:u;break}default:{A=0;break A}}}if((o|0)==31){A=0;B=96;break}A=f[65534+(o<<1)>>1]|0;c=A<<16>>16;do{if(A<<16>>16!=-82){l=a[47398]|0;if((l|0)==-2){l=Qt()|0;a[47398]=l}if((l|0)>=1)if(l>>>0<296)t=n[139321+l>>0]|0;else t=2;else{a[47398]=0;t=0}l=t+c|0;if(l>>>0<=271?(t|0)==(r[139617+l>>0]|0):0){o=r[139889+l>>0]|0;A=o<<24>>24;if(o<<24>>24<1){l=0-A|0;B=23;break}else{a[47398]=-2;i=i+4|0;a[i>>2]=a[47399];c=(h|0)==0?0:h+-1|0;l=u;break}}else B=22}else B=22}while(0);if((B|0)==22){B=0;o=r[140161+o>>0]|0;l=o&255;if(!(o<<24>>24)){l=a[47398]|0;e:do{switch(h|0){case 0:{a[47397]=(a[47397]|0)+1;Yl(143761);l=u;break}case 3:if((l|0)<1)if(!l){A=1;B=96;break A}else{l=u;break e}else{a[47398]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<16>>16==8)break;if((l|0)==(e|0)){A=1;B=96;break A}A=l+-2|0;i=i+-4|0;l=A;A=f[65534+(f[A>>1]<<1)>>1]|0}i=i+4|0;a[i>>2]=a[47399];A=1;c=3}else B=23}do{if((B|0)==23){B=0;c=n[140277+l>>0]|0;A=a[i+(1-c<<2)>>2]|0;do{switch(l|0){case 4:{B=26;break A}case 2:{a[47400]=wl(a[i+-4>>2]|0,2)|0;break}case 3:{a[47400]=wl(a[i+-4>>2]|0,1)|0;break}case 5:{A=kl()|0;break}case 8:{ol(a[47401]|0);break}case 9:{hl(a[i>>2]|0);break}case 18:{dl(a[i>>2]|0);break}case 19:{Bl();break}case 20:{dl(a[i>>2]|0);break}case 21:{Bl();break}case 22:{dl(a[i>>2]|0);break}case 23:{Bl();break}case 24:{dl(a[i>>2]|0);break}case 25:{Bl();break}case 26:{dl(a[i>>2]|0);break}case 27:{Bl();break}case 28:{dl(a[i>>2]|0);break}case 29:{Bl();break}case 30:{dl(a[i>>2]|0);break}case 31:{Bl();break}case 32:{dl(a[i>>2]|0);break}case 33:{Bl();break}case 34:{A=a[i+-4>>2]|0;break}case 35:{A=a[i>>2]|0;break}case 38:{A=a[47401]|0;t=a[A+4>>2]|0;if(t>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;t=a[47401]|0;A=t;t=a[t+4>>2]|0}r[t>>0]=0;o=a[A>>2]|0;a[A+4>>2]=o;if(vl(o)|0){B=51;break A}a[(a[i>>2]|0)+80>>2]=a[47402];A=jk(56032,a[4580]|0)|0;a[(a[i>>2]|0)+84>>2]=A;a[47402]=a[i>>2];a[(a[i>>2]|0)+108>>2]=a[a[47403]>>2];A=a[i>>2]|0;break}case 39:{A=a[47401]|0;t=a[A+4>>2]|0;if(t>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;t=a[47401]|0;A=t;t=a[t+4>>2]|0}r[t>>0]=0;o=a[A>>2]|0;a[A+4>>2]=o;if(vl(o)|0){B=56;break A}A=a[47402]|0;a[47402]=a[A+80>>2];break}case 40:{A=a[i>>2]|0;break}case 41:{A=a[i+-4>>2]|0;break}case 42:{A=a[i+-4>>2]|0;break}case 43:{A=a[i+-4>>2]|0;break}case 44:{A=a[i+-4>>2]|0;break}case 45:{A=a[i+-4>>2]|0;break}case 48:{A=a[i>>2]|0;break}case 49:{A=a[i>>2]|0;break}case 50:{r[(a[i+-8>>2]|0)+12>>0]=1;A=a[i>>2]|0;break}case 51:{gl();break}case 52:{A=El()|0;break}case 53:{A=a[i>>2]|0;break}case 54:{A=a[i>>2]|0;break}case 55:{A=(a[i+-8>>2]|0)+100|0;r[A>>0]=r[A>>0]|1;A=a[i>>2]|0;break}case 56:{Cl(a[i+-4>>2]|0,a[i>>2]|0,1);break}case 57:{A=a[i+-12>>2]|0;break}case 58:{Cl(a[i+-4>>2]|0,a[i>>2]|0,2);break}case 59:{A=a[i+-12>>2]|0;break}case 60:{Cl(a[i+-4>>2]|0,a[i>>2]|0,3);break}case 61:{A=a[i+-12>>2]|0;break}case 62:{Cl(a[i>>2]|0,kl()|0,2);break}case 63:{A=a[i+-8>>2]|0;break}case 64:{A=a[i+-4>>2]|0;break}case 65:{A=a[i>>2]|0;break}default:{}}}while(0);t=0-c|0;o=i+(t<<2)|0;t=u+(t<<1)|0;i=o+4|0;a[o+4>>2]=A;A=(n[140449+l>>0]|0)+-41|0;o=f[t>>1]|0;l=o+(f[65766+(A<<1)>>1]|0)|0;if(l>>>0<272?(r[139617+l>>0]|0)==(o|0):0){A=r[139889+l>>0]|0;c=h;l=t;break}A=r[140519+A>>0]|0;c=h;l=t}}while(0);t=b;o=A;h=c;u=l+2|0}if((B|0)==26){ul();A=1;B=96}else if((B|0)==51){Yl(140347);ul();A=1;B=96}else if((B|0)==56){Yl(140398);ul();A=1;B=96}else if((B|0)==95){Yl(140558);A=2;B=96}if((B|0)==96)if((e|0)!=(d|0))L2(e);k=v;return A|0}function wl(A,e){A=A|0;e=e|0;var i=0;i=qF(8)|0;r[i+4>>0]=e;a[i>>2]=A;return i|0}function ul(){var A=0,e=0;A=a[47402]|0;e=a[47400]|0;if(e|0){aa(e,1);a[47400]=0}a[14021]=67;while(1){if(!A)break;e=a[A+80>>2]|0;Ql(A);A=e}a[14021]=56;a[14030]=68;e=a[47405]|0;W5[a[e>>2]&63](e,0,64)|0;a[14030]=56;a[14039]=69;e=a[47406]|0;W5[a[e>>2]&63](e,0,64)|0;a[14039]=56;Wl();return}function kl(){var A=0,e=0,i=0,r=0,n=0,l=0;i=a[47406]|0;r=qF(40)|0;if(Pk(a[47405]|0)|0)hl(0);A=Pk(i)|0;f[r+4>>1]=A;A:do{if(!A)A=i;else{a[r>>2]=qF(A*24|0)|0;A=0;e=W5[a[i>>2]&63](i,0,128)|0;while(1){if(!e){A=i;break A}n=(a[r>>2]|0)+(A*24|0)|0;l=e+8|0;a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];a[n+16>>2]=a[l+16>>2];a[n+20>>2]=a[l+20>>2];A=A+1|0;e=W5[a[i>>2]&63](i,e,8)|0}}}while(0);W5[a[A>>2]&63](i,0,64)|0;return r|0}function ol(A){A=A|0;var e=0,i=0,f=0;i=qF(64)|0;f=A+4|0;e=a[f>>2]|0;if(e>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;e=a[f>>2]|0}r[e>>0]=0;A=a[A>>2]|0;a[f>>2]=A;a[i+8>>2]=s3(A)|0;a[i+12>>2]=a[a[47403]>>2];f=a[47405]|0;W5[a[f>>2]&63](f,i,1)|0;return}function hl(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;t=qF(32)|0;c=a[47405]|0;e=Pk(c)|0;b=t+8|0;r[t+14>>0]=A;A:do{if(!e){a[b>>2]=qF(56)|0;f[t+12>>1]=1;l=s3(195059)|0;b=a[b>>2]|0;a[b>>2]=l;a[b+4>>2]=a[a[47403]>>2]}else{f[t+12>>1]=e;a[b>>2]=qF(e*56|0)|0;A=0;e=xk(c)|0;while(1){if(!e)break A;i=(a[b>>2]|0)+(A*56|0)|0;n=e+8|0;l=i+56|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));A=A+1|0;e=a[e>>2]|0}}}while(0);W5[a[c>>2]&63](c,0,64)|0;b=a[47406]|0;W5[a[b>>2]&63](b,t,1)|0;return}function dl(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t;l=qF(8)|0;f=a[a[47403]>>2]|0;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[n+16>>2]=a[A+16>>2];a[n+20>>2]=a[A+20>>2];a[n+24>>2]=a[A+24>>2];a[n+28>>2]=a[A+28>>2];if(f|0){A=n+4|0;if((a[A>>2]|0)==0?(e=a[f+4>>2]|0,e|0):0)a[A>>2]=e;A=n+16|0;if(+b[A>>3]<0.0?(i=+b[f+16>>3],i>=0.0):0)b[A>>3]=i;if((a[n>>2]|0)==0?(r=a[f>>2]|0,r|0):0)a[n>>2]=r;A=a[f+24>>2]&127;if(A|0){f=n+24|0;r=a[f>>2]|0;a[f>>2]=r&127|A|r&-128}}f=a[(a[47404]|0)+144>>2]|0;a[l>>2]=W5[a[f>>2]&63](f,n,1)|0;a[l+4>>2]=a[47403];a[47403]=l;k=t;return}function Bl(){var A=0,e=0;e=a[47403]|0;A=a[e+4>>2]|0;L2(e);a[47403]=A;return}function vl(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=0;break}if(e<<24>>24==32)A=A+1|0;else{A=1;break}}return A|0}function gl(){var A=0,e=0,i=0;i=jk(56068,a[4580]|0)|0;A=a[47402]|0;e=qF(16)|0;a[e+8>>2]=i;if(r[A+112>>0]&2)r[e+12>>0]=1;i=a[A+84>>2]|0;W5[a[i>>2]&63](i,e,1)|0;return}function El(){var A=0;A=a[(a[47402]|0)+84>>2]|0;return W5[a[A>>2]&63](A,0,256)|0}function Cl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=qF(16)|0;f=a[47402]|0;l=a[f+84>>2]|0;l=a[(W5[a[l>>2]&63](l,0,256)|0)+8>>2]|0;a[n+8>>2]=A;W5[a[l>>2]&63](l,n,1)|0;r[A+92>>0]=i;if(r[f+112>>0]&1)r[A+100>>0]=1;a[A+88>>2]=e;return}function Il(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Zl(A,e,i){A=A|0;e=e|0;i=i|0;pk(a[e+8>>2]|0)|0;L2(e);return}function Gl(A,e,i){A=A|0;e=e|0;i=i|0;yl(a[e+8>>2]|0);L2(e);return}function Ql(A){A=A|0;pk(a[A+84>>2]|0)|0;ia(A);L2(A);return}function ml(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+8>>2]|0);L2(e);return}function Ll(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0;n=e+12|0;A=f[n>>1]|0;if(A<<16>>16){l=e+8|0;i=0;r=a[l>>2]|0;while(1){if((i|0)>=(A<<16>>16|0))break;L2(a[r>>2]|0);i=i+1|0;r=r+56|0;A=f[n>>1]|0}L2(a[l>>2]|0)}L2(e);return}function Wl(){var A=0,e=0;A=a[47403]|0;while(1){e=a[A+4>>2]|0;if(!e)break;L2(A);A=e}return}function yl(A){A=A|0;var e=0;e=A+88|0;switch(r[A+92>>0]|0){case 1:{Ql(a[e>>2]|0);break}case 2:{ra(a[e>>2]|0);break}default:{}}ia(A);L2(A);return}function zl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=k;k=k+160|0;r=f+8|0;n=f;a[n>>2]=0;a[n+4>>2]=0;a[47403]=n;a[47402]=0;a[47400]=0;a[47404]=a[(a[(a[i+52>>2]|0)+16>>2]|0)+144>>2];a[47405]=jk(56104,a[4580]|0)|0;a[47406]=jk(56140,a[4580]|0)|0;co(r,128,f+24|0);a[47401]=r;if(!(Fl(A,r,i)|0)){sl()|0;a[e>>2]=Gt()|0;A=a[47400]|0}else{a[e>>2]=2;A=0}pk(a[47405]|0)|0;pk(a[47406]|0)|0;a[47405]=0;a[47406]=0;a[47403]=0;uo(r);k=f;return A|0}function Yl(A){A=A|0;var e=0,i=0,f=0;i=k;k=k+16|0;e=i;if(!(r[189661]|0)){r[189661]=1;f=Dl()|0;a[e>>2]=A;a[e+4>>2]=f;ao(1,140575,e)|0;Ml()}k=i;return}function Dl(){return ks(a[47407]|0)|0}function Ml(){var A=0,e=0,i=0,f=0;f=k;k=k+16|0;i=f;A=a[47410]|0;a[A+4>>2]=a[A>>2];e=a[47419]|0;if((e|0)>0){so(A,a[47417]|0,e)|0;A=a[47410]|0}so(A,a[47416]|0,a[47418]|0)|0;e=a[47410]|0;A=a[e+4>>2]|0;if(A>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;A=a[47410]|0;e=A;A=a[A+4>>2]|0}a[e+4>>2]=A+1;r[A>>0]=0;A=a[47410]|0;e=a[A>>2]|0;a[A+4>>2]=e;a[i>>2]=e;ao(3,140591,i)|0;k=f;return}function Fl(A,e,i){A=A|0;e=e|0;i=i|0;a[47410]=e;co(189644,128,0);a[47408]=A;r[189663]=0;r[189660]=0;r[189661]=0;a[47418]=0;a[47419]=0;r[189662]=1;i=i+52|0;e=Rc(XF(n[(a[(a[i>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;a[47407]=e;es(e,a[(a[(a[i>>2]|0)+16>>2]|0)+144>>2]|0);is(a[47407]|0,70,27);rs(a[47407]|0,71);return 0}function Vl(A,e,i){A=A|0;e=e|0;i=i|0;do{if(!(N1(e,140603)|0)){a[47399]=Rl(i)|0;r[189662]=0;a[47409]=286}else{if(N1(e,140609)|0?N1(e,140612)|0:0){if(!(N1(e,140615)|0)){r[189662]=1;a[47399]=Hl(i)|0;a[47409]=287;break}if(!(N1(e,140623)|0)){a[47399]=pl(A,i,0)|0;a[47409]=288;break}if(!(N1(e,140628)|0)){a[47399]=pl(A,0,1)|0;a[47409]=290;break}if(!(N1(e,140644)|0)){a[47399]=pl(A,0,32)|0;a[47409]=295;break}if(!(N1(e,140630)|0)){a[47399]=pl(A,0,4)|0;a[47409]=291;break}if(!(N1(e,140632)|0)){a[47399]=pl(A,0,64)|0;a[47409]=292;break}if(!(N1(e,140634)|0)){a[47399]=pl(A,0,2)|0;a[47409]=289;break}if(!(N1(e,140636)|0)){a[47399]=pl(A,0,8)|0;a[47409]=293;break}if(!(N1(e,140640)|0)){a[47399]=pl(A,0,16)|0;a[47409]=294;break}if(!(N1(e,140646)|0)){Ul(i);a[47409]=283;break}if(!(N1(e,140649)|0)){a[47409]=277;break}if(!(N1(e,140652)|0)){a[47409]=280;break}if(!(N1(e,140655)|0)){a[47399]=xl(i)|0;a[47409]=285;break}if(!(N1(e,140618)|0)){a[47409]=262;break}else{Xl(e);break}}r[189662]=0;a[47409]=260}}while(0);return}function Jl(A,e){A=A|0;e=e|0;do{if(!(N1(e,140603)|0)){a[47409]=264;r[189662]=1}else{if(N1(e,140609)|0?N1(e,140612)|0:0){if(!(N1(e,140615)|0)){a[47409]=265;r[189662]=0;break}if(!(N1(e,140618)|0)){a[47409]=263;break}if(!(N1(e,140623)|0)){a[47409]=266;break}if(!(N1(e,140628)|0)){a[47409]=270;break}if(!(N1(e,140630)|0)){a[47409]=271;break}if(!(N1(e,140632)|0)){a[47409]=272;break}if(!(N1(e,140634)|0)){a[47409]=269;break}if(!(N1(e,140636)|0)){a[47409]=273;break}if(!(N1(e,140640)|0)){a[47409]=274;break}if(!(N1(e,140644)|0)){a[47409]=275;break}if(!(N1(e,140646)|0)){a[47409]=(a[47409]|0)==283?282:258;break}if(!(N1(e,140649)|0)){a[47409]=(a[47409]|0)==277?276:278;break}if(!(N1(e,140652)|0)){a[47409]=(a[47409]|0)==280?279:281;break}if(!(N1(e,140655)|0)){a[47409]=(a[47409]|0)==285?284:259;break}else{Xl(e);break}}a[47409]=261}}while(0);return}function Nl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if(r[189662]|0){A=0;while(1){if(!i)break;l=e+1|0;n=r[e>>0]|0;if((n&255)>31){e=a[47410]|0;f=a[e+4>>2]|0;if(f>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;f=a[47410]|0;e=f;f=a[f+4>>2]|0}a[e+4>>2]=f+1;r[f>>0]=n;A=A+1|0}e=l;i=i+-1|0}if(A|0)a[47409]=267}return}function Xl(A){A=A|0;var e=0,i=0,f=0;e=k;k=k+16|0;i=e;a[47409]=268;r[189661]=1;f=Dl()|0;a[i>>2]=A;a[i+4>>2]=f;ao(1,140659,i)|0;k=e;return}function Rl(A){A=A|0;var e=0;e=qF(120)|0;a[e+100>>2]=-1;r[e+88>>0]=-1;Tl(e,56400,22,A,141611);return e|0}function Hl(A){A=A|0;var e=0;e=qF(104)|0;f[e+80>>1]=1;f[e+82>>1]=1;Tl(e,56224,22,A,140965);return e|0}function pl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+32|0;r=f;a[r>>2]=0;a[r+4>>2]=0;a[r+8>>2]=0;a[r+12>>2]=0;a[r+16>>2]=0;a[r+20>>2]=0;a[r+24>>2]=0;a[r+28>>2]=0;b[r+16>>3]=-1.0;a[r+24>>2]=i&127;if(e|0)Tl(r,56200,3,e,140816);i=a[A+144>>2]|0;r=W5[a[i>>2]&63](i,r,1)|0;k=f;return r|0}function Ul(A){A=A|0;a[47399]=0;Tl(189596,56192,1,A,140752);return}function xl(A){A=A|0;var e=0;e=qF(40)|0;Tl(e,56176,2,A,140698);return e|0}function Tl(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;s=u+8|0;while(1){b=a[f>>2]|0;if(!b)break;t=a[f+4>>2]|0;a[s>>2]=b;c=i8(s,e,i,8,104)|0;if(!c){a[w>>2]=b;a[w+4>>2]=l;ao(0,140704,w)|0;t=1}else{t=m5[a[c+4>>2]&127](A,t)|0;t=(t|(n[189660]|0))&255}r[189660]=t;f=f+8|0}k=u;return}function jl(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function Sl(A,e){A=A|0;e=e|0;a[A+36>>2]=s3(e)|0;return 0}function Pl(A,e){A=A|0;e=e|0;a[A+32>>2]=s3(e)|0;return 0}function Ol(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=(Y4(r[e>>0]|0)|0)<<24>>24;switch(f|0){case 82:{i=e+1|0;if(!(N1(i,140763)|0)){a[A>>2]=114;i=0}else l=5;break}case 76:{l=6;break}default:{i=e+1|0;l=5}}do{if((l|0)==5)if(!(N1(i,140768)|0))l=6;else{if((f|0)!=67?(N1(i,140772)|0)==0:0){a[n>>2]=e;ao(0,140778,n)|0;i=1;break}a[A>>2]=110;i=0}}while(0);if((l|0)==6){a[A>>2]=108;i=0}k=t;return i|0}function Kl(A,e){A=A|0;e=e|0;a[A+4>>2]=e;return 0}function _l(A,e){A=A|0;e=e|0;a[A>>2]=e;return 0}function ql(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,140845,0,255,i)|0)){b[A+16>>3]=+(a[i>>2]|0);A=0}else A=1;k=r;return A|0}function $l(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+48|0;c=b+24|0;t=b+8|0;l=b;s=b+36|0;n=n3(A,s,10)|0;do{if((a[s>>2]|0)!=(A|0)){if((n|0)>(r|0)){a[t>>2]=e;a[t+4>>2]=A;a[t+8>>2]=r;ao(0,140887,t)|0;A=1;break}if((n|0)<(i|0)){a[c>>2]=e;a[c+4>>2]=A;a[c+8>>2]=i;ao(0,140926,c)|0;A=1;break}else{a[f>>2]=n;A=0;break}}else{a[l>>2]=e;a[l+4>>2]=A;ao(0,140856,l)|0;A=1}}while(0);k=b;return A|0}function At(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|4;A=0}else n=9;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|2;A=0}else n=9;break}case 84:{if(!(N1(e+1|0,141563)|0)){A=A+36|0;f[A>>1]=f[A>>1]|6;A=0}else n=9;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=9;break}default:n=9}if((n|0)==9){a[i>>2]=e;ao(0,141567,i)|0;A=1}k=l;return A|0}function et(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|512;A=0}else n=7;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|256;A=0}else n=7;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,141518,i)|0;A=1}k=l;return A|0}function it(A,e){A=A|0;e=e|0;a[A+20>>2]=s3(e)|0;return 0}function rt(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141511,0,255,i)|0)){r[A+33>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|32;A=0}else A=1;k=n;return A|0}function ft(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141499,0,255,i)|0)){r[A+34>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|64;A=0}else A=1;k=n;return A|0}function at(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141487,-128,127,i)|0)){r[A+32>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|128;A=0}else A=1;k=n;return A|0}function nt(A,e){A=A|0;e=e|0;a[A+24>>2]=s3(e)|0;return 0}function lt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=k;k=k+16|0;r=n;i=n+4|0;do{if(!($l(e,141442,0,65535,i)|0)){e=a[i>>2]|0;if(!e){ao(0,141450,r)|0;e=1;break}else{f[A+80>>1]=e;e=0;break}}else e=1}while(0);k=n;return e|0}function tt(A,e){A=A|0;e=e|0;var i=0,r=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(n[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(N1(e+1|0,141391)|0)){A=A+36|0;f[A>>1]=f[A>>1]|1;A=0}else r=5;break}case 70:{if(!(N1(e+1|0,141395)|0))A=0;else r=5;break}default:r=5}if((r|0)==5){a[i>>2]=e;ao(0,141400,i)|0;A=1}k=l;return A|0}function ct(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141377,0,360,i)|0)){a[A+28>>2]=a[i>>2]&65535;A=0}else A=1;k=r;return A|0}function bt(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141370,0,65535,i)|0)){f[A+40>>1]=a[i>>2];A=0}else A=1;k=r;return A|0}function st(A,e){A=A|0;e=e|0;a[A>>2]=s3(e)|0;return 0}function wt(A,e){A=A|0;e=e|0;a[A+16>>2]=s3(e)|0;return 0}function ut(A,e){A=A|0;e=e|0;a[A+4>>2]=s3(e)|0;return 0}function kt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=k;k=k+16|0;r=n;i=n+4|0;do{if(!($l(e,141325,0,65535,i)|0)){e=a[i>>2]|0;if(!e){ao(0,141333,r)|0;e=1;break}else{f[A+82>>1]=e;e=0;break}}else e=1}while(0);k=n;return e|0}function ot(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;t=b;l=0;A:while(1){e:while(1){n=e+1|0;e=r[e>>0]|0;if(!(e<<24>>24))break A;e=e<<24>>24;i=(X1(e)|0)+-98|0;switch(i>>>1|i<<31|0){case 5:{c=5;break e}case 9:{i=2048;break e}case 8:{c=6;break e}case 0:{c=7;break e}default:{}}a[t>>2]=e;a[t+4>>2]=e;ao(0,141272,t)|0;e=n}if((c|0)==5){c=0;i=1024}else if((c|0)==6){c=0;i=4096}else if((c|0)==7){c=0;i=8192}e=n;l=l|i}if(l<<16>>16!=15360){c=A+36|0;f[c>>1]=f[c>>1]|l}k=b;return 0}function ht(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;l=s3(e)|0;n=A+42|0;i=0;e=l;while(1){A=t3(e,141182)|0;if(!A)break;if(((Y4(r[A>>0]|0)|0)&255|0)==82){e=A+1|0;if(!(N1(e,141185)|0)){f[n>>1]=f[n>>1]|4;A=i;e=0;i=A;continue}if(!(N1(e,141192)|0)){f[n>>1]=f[n>>1]|2;A=i;e=0;i=A;continue}else{a[t>>2]=A;ao(0,141198,t)|0;i=1;e=0;continue}}if(!(N1(A,141236)|0)){f[n>>1]=f[n>>1]&-385;A=i;e=0;i=A;continue}if(N1(A,141242)|0?N1(A,141252)|0:0){if(!(N1(A,141258)|0)){f[n>>1]=f[n>>1]|128;A=i;e=0;i=A;continue}if(!(N1(A,141265)|0)){f[n>>1]=f[n>>1]|256;A=i;e=0;i=A;continue}else{a[c>>2]=A;ao(0,141198,c)|0;i=1;e=0;continue}}f[n>>1]=f[n>>1]|32;A=i;e=0;i=A}L2(l);k=b;return i|0}function dt(A,e){A=A|0;e=e|0;a[A+8>>2]=s3(e)|0;return 0}function Bt(A,e){A=A|0;e=e|0;a[A+12>>2]=s3(e)|0;return 0}function vt(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(N1(e+1|0,141128)|0)){A=A+36|0;f[A>>1]=f[A>>1]|16;A=0}else n=7;break}case 84:{if(!(N1(e+1|0,141134)|0)){A=A+36|0;f[A>>1]=f[A>>1]|8;A=0}else n=7;break}case 77:{if(!(N1(e+1|0,141137)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,141143,i)|0;A=1}k=l;return A|0}function gt(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141122,0,65535,i)|0)){f[A+38>>1]=a[i>>2];A=0}else A=1;k=r;return A|0}function Et(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|4;A=0}else n=7;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|2;A=0}else n=7;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,140778,i)|0;A=1}k=l;return A|0}function Ct(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if(!($l(e,141720,0,127,i)|0)){r[A+88>>0]=a[i>>2];A=0}else A=1;k=f;return A|0}function It(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((r[e>>0]|0)==42){A=A+112|0;r[A>>0]=r[A>>0]|1;A=0}else{a[i>>2]=e;ao(0,141680,i)|0;A=1}k=f;return A|0}function Zt(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((r[e>>0]|0)==42){A=A+112|0;r[A>>0]=r[A>>0]|2;A=0}else{a[i>>2]=e;ao(0,141643,i)|0;A=1}k=f;return A|0}function Gt(){var A=0;A=(r[189661]|r[189660])<<24>>24;jc(a[47407]|0);uo(189644);return A|0}function Qt(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;a[47409]=0;e=0;A:do{e:do{switch(r[189663]|0){case 2:{A=-1;break A}case 0:{r[189663]=1;l=6;A=141732;e=0;break}default:{A=a[47408]|0;if(!(r[A>>0]|0)){r[189663]=2;l=7;A=141739;break e}else{e=mt(A)|0;l=e-A|0;break e}}}}while(0);a[47417]=a[47416];a[47419]=a[47418];a[47416]=A;a[47418]=l;i=a[47412]|0;f=i-(a[47411]|0)|0;n=a[47407]|0;if(!f)A=fs(n,A,l,(l|0)==0&1)|0;else{if(i>>>0<(a[47413]|0)>>>0)A=i;else{bo(189644,1)|0;A=a[47412]|0}r[A>>0]=0;A=a[47411]|0;a[47412]=A;A=fs(n,A,f,0)|0}if(!((A|0)!=0|(r[189661]|0)!=0)){n=os(us(a[47407]|0)|0)|0;l=Dl()|0;a[t>>2]=n;a[t+4>>2]=l;ao(1,140575,t)|0;Ml();r[189661]=1;a[47409]=268}if(e|0)a[47408]=e;A=a[47409]|0}while((A|0)==0);k=c;return A|0}function mt(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;e=A+1|0;i=r[A>>0]|0;A:do{if(i<<24>>24==60){i=r[e>>0]|0;if(i<<24>>24==33)if(!(Z1(A+2|0,141747,2)|0)){i=Lt(A+4|0)|0;e=i;i=r[i>>0]|0;n=8}else{i=e;n=5}else n=6;e:while(1)if((n|0)==5){e=i;i=r[i>>0]|0;n=6;continue}else if((n|0)==6){switch(i<<24>>24){case 62:case 0:{n=8;continue e}default:{}}i=e+1|0;n=5;continue}else if((n|0)==8)if(i<<24>>24==62){n=10;break}else{n=9;break}if((n|0)==9){ao(0,141750,f)|0;r[189660]=1;break}else if((n|0)==10){e=e+1|0;break}}else{e=A;A=i;while(1){switch(A<<24>>24){case 60:case 0:break A;case 38:{i=e+1|0;if((r[i>>0]|0)==35)n=15;else i=hH(i,189644)|0;break}default:n=15}if((n|0)==15){n=0;i=a[47412]|0;if(i>>>0>=(a[47413]|0)>>>0){bo(189644,1)|0;i=a[47412]|0}a[47412]=i+1;r[i>>0]=A;i=e+1|0}e=i;A=r[i>>0]|0}}}while(0);k=l;return e|0}function Lt(A){A=A|0;var e=0,i=0,f=0,a=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;a=1;e=A;A:while(1){f=(a|0)==0;i=e;e:while(1){if(f)break A;n=i+1|0;switch(r[i>>0]|0){case 0:{e=n;break A}case 60:{l=5;break e}case 62:{e=-1;break e}default:i=n}}if((l|0)==5){l=0;e=1}a=a+e|0;e=n}i=e+-1|0;do{if(r[i>>0]|0){e=e+-3|0;if(e>>>0>=A>>>0?(Z1(e,141747,2)|0)==0:0)break;ao(0,141791,t)|0;r[189660]=1}}while(0);k=c;return i|0}function Wt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;i=m2(28)|0;if(!i)i=0;else{r=0;f=0;while(1){if((r|0)>=(e|0))break;d=(a[(a[A+(r<<2)>>2]|0)+4>>2]|0)+f|0;r=r+1|0;f=d}k=i+8|0;a[k>>2]=yt(f<<4)|0;o=i+12|0;a[o>>2]=yt((e<<2)+4|0)|0;r=f<<2;h=i+16|0;a[h>>2]=yt(r)|0;r=yt(r)|0;d=i+20|0;a[d>>2]=r;a[i+4>>2]=f;a[i>>2]=e;f=0;l=0;while(1){a[(a[o>>2]|0)+(l<<2)>>2]=f;if((l|0)>=(e|0))break;c=A+(l<<2)|0;u=a[c>>2]|0;b=a[u+4>>2]|0;s=f+-1|0;n=0;t=f;w=b;while(1){if((n|0)>=(w|0))break;w=(a[k>>2]|0)+(t<<4)|0;r=(a[u>>2]|0)+(n<<4)|0;a[w>>2]=a[r>>2];a[w+4>>2]=a[r+4>>2];a[w+8>>2]=a[r+8>>2];a[w+12>>2]=a[r+12>>2];w=t+1|0;a[(a[h>>2]|0)+(t<<2)>>2]=w;r=a[d>>2]|0;a[r+(t<<2)>>2]=t+-1;B=a[c>>2]|0;n=n+1|0;t=w;w=a[B+4>>2]|0;u=B}B=s+b|0;a[(a[h>>2]|0)+(B<<2)>>2]=f;a[r+(f<<2)>>2]=B;f=t;l=l+1|0}yc(i)}return i|0}function yt(A){A=A|0;if(!A)A=0;else A=m2(A)|0;return A|0}function zt(A){A=A|0;var e=0,i=0;L2(a[A+8>>2]|0);L2(a[A+12>>2]|0);L2(a[A+16>>2]|0);L2(a[A+20>>2]|0);i=A+24|0;e=a[i>>2]|0;if(e|0){L2(a[e>>2]|0);L2(a[i>>2]|0)}L2(A);return}function Yt(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+32|0;s=o+16|0;c=o;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];w=Jc(A,i,s)|0;a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];u=Jc(A,f,s)|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];s=gc(c,i,w,s,f,u,A)|0;i=a[A+4>>2]|0;c=i+1|0;f=1;l=i;while(1){l=a[s+(l<<2)>>2]|0;b=f+1|0;if((l|0)==(c|0))break;else f=b}t=m2(b<<4)|0;l=t+(f<<4)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];A=A+8|0;while(1){i=a[s+(i<<2)>>2]|0;f=f+-1|0;l=t+(f<<4)|0;if((i|0)==(c|0))break;r=(a[A>>2]|0)+(i<<4)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2]}a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];if(f|0)vA(141809,141816,148,141822);if(w|0)L2(w);if(u|0)L2(u);a[n+4>>2]=b;a[n>>2]=t;L2(s);k=o;return 1}function Dt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;c=k;k=k+48|0;l=c+32|0;n=c+16|0;f=c;t=a[A>>2]|0;i=a[A+4>>2]|0;r=i+-1|0;A=0;while(1){if((A|0)>=(i|0)){A=1;break}s=t+(((r+A|0)%(i|0)|0)<<4)|0;b=t+(A<<4)|0;a[f>>2]=a[s>>2];a[f+4>>2]=a[s+4>>2];a[f+8>>2]=a[s+8>>2];a[f+12>>2]=a[s+12>>2];a[n>>2]=a[b>>2];a[n+4>>2]=a[b+4>>2];a[n+8>>2]=a[b+8>>2];a[n+12>>2]=a[b+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];if((Qc(f,n,l)|0)==1){A=0;break}else A=A+1|0}k=c;return A|0}function Mt(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0;g=k;k=k+64|0;s=g+48|0;b=g+32|0;h=4;c=m2(40)|0;a[c>>2]=0;w=g+16|0;u=g;o=a[i>>2]|0;t=a[i+4>>2]|0;h=L6(189680,1,c|0,h|0)|0;c=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1)i=L;else i=0;while(1){if(i|0){i=-1;break}d=0;a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];wA(28,w|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}a[r>>2]=a[w>>2];a[r+4>>2]=a[w+4>>2];a[r+8>>2]=a[w+8>>2];a[r+12>>2]=a[w+12>>2];l=r+16|0;d=0;a[s>>2]=a[l>>2];a[s+4>>2]=a[l+4>>2];a[s+8>>2]=a[l+8>>2];a[s+12>>2]=a[l+12>>2];wA(28,u|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}a[l>>2]=a[u>>2];a[l+4>>2]=a[u+4>>2];a[l+8>>2]=a[u+8>>2];a[l+12>>2]=a[u+12>>2];a[47459]=0;d=0;sA(115,4);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}n=a[47460]|0;i=a[47459]|0;a[47459]=i+1;i=n+(i<<4)|0;a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];d=0;a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];a[b+12>>2]=a[r+12>>2];a[s>>2]=a[l>>2];a[s+4>>2]=a[l+4>>2];a[s+8>>2]=a[l+8>>2];a[s+12>>2]=a[l+12>>2];i=tA(1,A|0,e|0,o|0,t|0,b|0,s|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,h|0,c|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1)i=L;else{v=8;break}}if((v|0)==8)if((i|0)==-1)i=-1;else{a[f+4>>2]=a[47459];a[f>>2]=a[47460];i=0}L2(h|0);k=g;return i|0}function Ft(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,l=0.0;i=+b[e>>3];r=e+8|0;f=+b[r>>3];l=f*f+i*i;n=+z(+l);if(l>1.0e-06){b[e>>3]=i/n;b[r>>3]=f/n}a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Vt(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47463]|0)<(A|0)){e=a[47460]|0;if(!e){r=m2(A<<4)|0;a[47460]=r;if(!r){r=a[15712]|0;a[i>>2]=141831;a[i+4>>2]=531;a[i+8>>2]=141966;f3(r,141839,i)|0;fe(189680,1)}}else{i=y2(e,A<<4)|0;a[47460]=i;if(!i){i=a[15712]|0;a[r>>2]=141831;a[r+4>>2]=537;a[r+8>>2]=141984;f3(i,141839,r)|0;fe(189680,1)}}a[47463]=A}k=f;return}function Jt(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0.0,j=0.0,S=0.0,P=0.0;U=k;k=k+336|0;F=U+320|0;M=U+304|0;C=U+144|0;h=U+128|0;Y=U+112|0;D=U+96|0;p=U+80|0;Q=U+64|0;L=U+48|0;V=U+32|0;J=U+16|0;N=U;I=U+288|0;Z=U+272|0;G=U+256|0;m=U+240|0;W=U+224|0;y=U+208|0;X=U+192|0;R=U+176|0;H=U+160|0;l=a[47462]|0;do{if((a[47461]|0)<(r|0)){if(!l){l=m2(r*40|0)|0;a[47462]=l;if(!l){l=-1;break}}else{l=y2(l,r*40|0)|0;a[47462]=l;if(!l){l=-1;break}}a[47461]=r;c=6}else c=6}while(0);if((c|0)==6){b[l>>3]=0.0;c=1;t=0.0;while(1){if((c|0)>=(r|0))break;w=i+(c<<4)|0;z=i+(c+-1<<4)|0;a[M>>2]=a[w>>2];a[M+4>>2]=a[w+4>>2];a[M+8>>2]=a[w+8>>2];a[M+12>>2]=a[w+12>>2];a[F>>2]=a[z>>2];a[F+4>>2]=a[z+4>>2];a[F+8>>2]=a[z+8>>2];a[F+12>>2]=a[z+12>>2];E=+Nt(M,F)+t;b[l+(c*40|0)>>3]=E;c=c+1|0;t=E}z=r+-1|0;w=l+(z*40|0)|0;c=1;while(1){if((c|0)>=(r|0))break;x=l+(c*40|0)|0;b[x>>3]=+b[x>>3]/+b[w>>3];c=c+1|0}c=0;while(1){if((c|0)>=(r|0))break;x=l+(c*40|0)+8|0;w=l+(c*40|0)|0;E=+Xt(+b[w>>3]);a[F>>2]=a[f>>2];a[F+4>>2]=a[f+4>>2];a[F+8>>2]=a[f+8>>2];a[F+12>>2]=a[f+12>>2];Rt(I,F,E);a[x>>2]=a[I>>2];a[x+4>>2]=a[I+4>>2];a[x+8>>2]=a[I+8>>2];a[x+12>>2]=a[I+12>>2];x=l+(c*40|0)+24|0;E=+Ht(+b[w>>3]);a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];Rt(Z,F,E);a[x>>2]=a[Z>>2];a[x+4>>2]=a[Z+4>>2];a[x+8>>2]=a[Z+8>>2];a[x+12>>2]=a[Z+12>>2];c=c+1|0}a[M>>2]=a[f>>2];a[M+4>>2]=a[f+4>>2];a[M+8>>2]=a[f+8>>2];a[M+12>>2]=a[f+12>>2];a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];pt(i,r,l,M,F,Y,Q,D,L);a[h>>2]=a[Y>>2];a[h+4>>2]=a[Y+4>>2];a[h+8>>2]=a[Y+8>>2];a[h+12>>2]=a[Y+12>>2];a[C>>2]=a[Q>>2];a[C+4>>2]=a[Q+4>>2];a[C+8>>2]=a[Q+8>>2];a[C+12>>2]=a[Q+12>>2];a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];if(!(Ut(A,e,h,C,M,F,i,r)|0)){a[F>>2]=a[Q>>2];a[F+4>>2]=a[Q+4>>2];a[F+8>>2]=a[Q+8>>2];a[F+12>>2]=a[Q+12>>2];Rt(G,F,.3333333333333333);a[M>>2]=a[Y>>2];a[M+4>>2]=a[Y+4>>2];a[M+8>>2]=a[Y+8>>2];a[M+12>>2]=a[Y+12>>2];a[F>>2]=a[G>>2];a[F+4>>2]=a[G+4>>2];a[F+8>>2]=a[G+8>>2];a[F+12>>2]=a[G+12>>2];xt(m,M,F);E=+b[m>>3];g=+b[m+8>>3];a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];Rt(W,F,.3333333333333333);a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];a[F>>2]=a[W>>2];a[F+4>>2]=a[W+4>>2];a[F+8>>2]=a[W+8>>2];a[F+12>>2]=a[W+12>>2];Tt(y,M,F);v=+b[y>>3];o=+b[y+8>>3];h=a[47462]|0;d=+b[Y>>3];B=+b[D>>3];u=+b[Y+8>>3];s=+b[D+8>>3];w=p+8|0;l=-1;t=-1.0;c=1;while(1){if((c|0)>=(z|0))break;T=+b[h+(c*40|0)>>3];j=+jt(T);S=+Xt(T);P=+Ht(T);T=+St(T);b[p>>3]=S*E+d*j+P*v+B*T;b[w>>3]=P*o+S*g+u*j+s*T;x=i+(c<<4)|0;a[M>>2]=a[p>>2];a[M+4>>2]=a[p+4>>2];a[M+8>>2]=a[p+8>>2];a[M+12>>2]=a[p+12>>2];a[F>>2]=a[x>>2];a[F+4>>2]=a[x+4>>2];a[F+8>>2]=a[x+8>>2];a[F+12>>2]=a[x+12>>2];T=+Nt(M,F);x=T>t;l=x?c:l;t=x?T:t;c=c+1|0}x=i+(l<<4)|0;p=i+(l+-1<<4)|0;a[M>>2]=a[x>>2];a[M+4>>2]=a[x+4>>2];a[M+8>>2]=a[x+8>>2];a[M+12>>2]=a[x+12>>2];a[F>>2]=a[p>>2];a[F+4>>2]=a[p+4>>2];a[F+8>>2]=a[p+8>>2];a[F+12>>2]=a[p+12>>2];Tt(X,M,F);a[F>>2]=a[X>>2];a[F+4>>2]=a[X+4>>2];a[F+8>>2]=a[X+8>>2];a[F+12>>2]=a[X+12>>2];Ft(J,F);p=l+1|0;X=i+(p<<4)|0;a[M>>2]=a[X>>2];a[M+4>>2]=a[X+4>>2];a[M+8>>2]=a[X+8>>2];a[M+12>>2]=a[X+12>>2];a[F>>2]=a[x>>2];a[F+4>>2]=a[x+4>>2];a[F+8>>2]=a[x+8>>2];a[F+12>>2]=a[x+12>>2];Tt(R,M,F);a[F>>2]=a[R>>2];a[F+4>>2]=a[R+4>>2];a[F+8>>2]=a[R+8>>2];a[F+12>>2]=a[R+12>>2];Ft(N,F);a[M>>2]=a[J>>2];a[M+4>>2]=a[J+4>>2];a[M+8>>2]=a[J+8>>2];a[M+12>>2]=a[J+12>>2];a[F>>2]=a[N>>2];a[F+4>>2]=a[N+4>>2];a[F+8>>2]=a[N+8>>2];a[F+12>>2]=a[N+12>>2];xt(H,M,F);a[F>>2]=a[H>>2];a[F+4>>2]=a[H+4>>2];a[F+8>>2]=a[H+8>>2];a[F+12>>2]=a[H+12>>2];Ft(V,F);a[M>>2]=a[f>>2];a[M+4>>2]=a[f+4>>2];a[M+8>>2]=a[f+8>>2];a[M+12>>2]=a[f+12>>2];a[F>>2]=a[V>>2];a[F+4>>2]=a[V+4>>2];a[F+8>>2]=a[V+8>>2];a[F+12>>2]=a[V+12>>2];Jt(A,e,i,p,M,F)|0;a[M>>2]=a[V>>2];a[M+4>>2]=a[V+4>>2];a[M+8>>2]=a[V+8>>2];a[M+12>>2]=a[V+12>>2];a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];Jt(A,e,x,r-l|0,M,F)|0;l=0}else l=0}k=U;return l|0}function Nt(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[e>>3]-+b[A>>3];r=+b[e+8>>3]-+b[A+8>>3];return+ +z(+(r*r+i*i))}function Xt(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(A*3.0))}function Rt(A,e,i){A=A|0;e=e|0;i=+i;var r=0;b[e>>3]=+b[e>>3]*i;r=e+8|0;b[r>>3]=+b[r>>3]*i;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Ht(A){A=+A;return+(A*A*3.0*(1.0-A))}function pt(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0.0,G=0.0,Q=0.0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0.0,F=0,V=0,J=0,N=0;Y=k;k=k+128|0;m=Y+112|0;E=Y+80|0;g=Y;d=Y+96|0;B=Y+64|0;v=Y+48|0;L=Y+32|0;W=Y+16|0;y=A+(e+-1<<4)|0;h=0;C=0.0;I=0.0;Z=0.0;G=0.0;Q=0.0;while(1){if((h|0)>=(e|0))break;V=i+(h*40|0)+8|0;a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];D=+$t(E,m)+I;F=i+(h*40|0)+24|0;a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[F>>2];a[m+4>>2]=a[F+4>>2];a[m+8>>2]=a[F+8>>2];a[m+12>>2]=a[F+12>>2];o=+$t(E,m)+Q;a[E>>2]=a[F>>2];a[E+4>>2]=a[F+4>>2];a[E+8>>2]=a[F+8>>2];a[E+12>>2]=a[F+12>>2];a[m>>2]=a[F>>2];a[m+4>>2]=a[F+4>>2];a[m+8>>2]=a[F+8>>2];a[m+12>>2]=a[F+12>>2];u=+$t(E,m)+Z;J=A+(h<<4)|0;N=i+(h*40|0)|0;M=+Ac(+b[N>>3]);a[m>>2]=a[A>>2];a[m+4>>2]=a[A+4>>2];a[m+8>>2]=a[A+8>>2];a[m+12>>2]=a[A+12>>2];Rt(B,m,M);M=+ec(+b[N>>3]);a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];Rt(v,m,M);a[E>>2]=a[B>>2];a[E+4>>2]=a[B+4>>2];a[E+8>>2]=a[B+8>>2];a[E+12>>2]=a[B+12>>2];a[m>>2]=a[v>>2];a[m+4>>2]=a[v+4>>2];a[m+8>>2]=a[v+8>>2];a[m+12>>2]=a[v+12>>2];xt(d,E,m);a[E>>2]=a[J>>2];a[E+4>>2]=a[J+4>>2];a[E+8>>2]=a[J+8>>2];a[E+12>>2]=a[J+12>>2];a[m>>2]=a[d>>2];a[m+4>>2]=a[d+4>>2];a[m+8>>2]=a[d+8>>2];a[m+12>>2]=a[d+12>>2];Tt(g,E,m);a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];M=+$t(E,m)+C;a[E>>2]=a[F>>2];a[E+4>>2]=a[F+4>>2];a[E+8>>2]=a[F+8>>2];a[E+12>>2]=a[F+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];h=h+1|0;C=M;I=D;Z=u;G=+$t(E,m)+G;Q=o}u=Z*I-Q*Q;o=u>=0.0?u:-u;if(!(o>=1.0e-06?(s=(Z*C-Q*G)/u,w=(I*G-Q*C)/u,!(o<1.0e-06|s<=0.0|w<=0.0)):0))z=6;if((z|0)==6){a[E>>2]=a[A>>2];a[E+4>>2]=a[A+4>>2];a[E+8>>2]=a[A+8>>2];a[E+12>>2]=a[A+12>>2];a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];s=+Nt(E,m)*.3333333333333333;w=s}a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[m>>2]=a[r>>2];a[m+4>>2]=a[r+4>>2];a[m+8>>2]=a[r+8>>2];a[m+12>>2]=a[r+12>>2];Rt(L,m,s);a[l>>2]=a[L>>2];a[l+4>>2]=a[L+4>>2];a[l+8>>2]=a[L+8>>2];a[l+12>>2]=a[L+12>>2];a[t>>2]=a[y>>2];a[t+4>>2]=a[y+4>>2];a[t+8>>2]=a[y+8>>2];a[t+12>>2]=a[y+12>>2];a[m>>2]=a[f>>2];a[m+4>>2]=a[f+4>>2];a[m+8>>2]=a[f+8>>2];a[m+12>>2]=a[f+12>>2];Rt(W,m,w);a[c>>2]=a[W>>2];a[c+4>>2]=a[W+4>>2];a[c+8>>2]=a[W+8>>2];a[c+12>>2]=a[W+12>>2];k=Y;return}function Ut(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0,g=0.0,E=0,C=0.0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0.0,y=0;L=k;k=k+64|0;m=L;G=(t|0)==2;Z=+b[i>>3];g=+b[i+8>>3];E=m+8|0;C=+b[r>>3];I=m+16|0;o=+b[r+8>>3];h=m+24|0;d=+b[f>>3];B=+b[n>>3];v=m+32|0;u=+b[f+8>>3];w=+b[n+8>>3];r=m+40|0;f=m+48|0;n=m+56|0;i=1;c=4.0;s=4.0;while(1){b[m>>3]=Z;b[E>>3]=g;W=s*.3333333333333333;b[I>>3]=W*C+Z;b[h>>3]=W*o+g;W=c*.3333333333333333;b[v>>3]=d-W*B;b[r>>3]=u-W*w;b[f>>3]=d;b[n>>3]=u;if(i?(W=+Pt(m,4),W<+Pt(l,t)+-.001):0){i=0;break}if(Ot(A,e,m)|0){Q=5;break}if(s==0.0&c==0.0){Q=9;break}y=s>.01;i=0;c=y?c*.5:0.0;s=y?s*.5:0.0}A:do{if((Q|0)==5){Vt((a[47459]|0)+4|0);r=a[47460]|0;i=1;while(1){if((i|0)==4){i=1;break A}y=a[47459]|0;b[r+(y<<4)>>3]=+b[m+(i<<4)>>3];W=+b[m+(i<<4)+8>>3];a[47459]=y+1;b[r+(y<<4)+8>>3]=W;i=i+1|0}}else if((Q|0)==9)if(G){Vt((a[47459]|0)+4|0);r=a[47460]|0;i=1;while(1){if((i|0)==4){i=1;break A}y=a[47459]|0;b[r+(y<<4)>>3]=+b[m+(i<<4)>>3];W=+b[m+(i<<4)+8>>3];a[47459]=y+1;b[r+(y<<4)+8>>3]=W;i=i+1|0}}else i=0}while(0);k=L;return i|0}function xt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]+ +b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]+ +b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Tt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]-+b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]-+b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function jt(A){A=+A;A=1.0-A;return+(A*A*A)}function St(A){A=+A;return+(A*A*A)}function Pt(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,n=0;i=0.0;r=1;while(1){if((r|0)>=(e|0))break;n=r+-1|0;f=+b[A+(r<<4)>>3]-+b[A+(n<<4)>>3];a=+b[A+(r<<4)+8>>3]-+b[A+(n<<4)+8>>3];i=+z(+(a*a+f*f))+i;r=r+1|0}return+i}function Ot(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0;L=k;k=k+64|0;v=L+32|0;g=L;C=g+16|0;Z=i+16|0;G=i+32|0;Q=i+48|0;m=i+8|0;n=i+24|0;l=i+40|0;t=i+56|0;c=g+8|0;s=g+24|0;f=0;A:while(1){if((f|0)>=(e|0)){r=1;break}w=A+(f<<5)|0;a[g>>2]=a[w>>2];a[g+4>>2]=a[w+4>>2];a[g+8>>2]=a[w+8>>2];a[g+12>>2]=a[w+12>>2];w=A+(f<<5)+16|0;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];w=Kt(i,g,v)|0;e:do{if((w|0)!=4){u=+b[g>>3];o=+b[c>>3];h=+b[C>>3];d=+b[s>>3];r=0;while(1){if((r|0)>=(w|0))break e;B=+b[v+(r<<3)>>3];if((!(B<1.0e-06|B>.999999)?(I=B*B*B,y=B*3.0,W=1.0-B,B=y*B*W,E=W*W,y=E*y,W=E*W,E=+b[Z>>3]*y+ +b[i>>3]*W+ +b[G>>3]*B+ +b[Q>>3]*I,I=+b[n>>3]*y+ +b[m>>3]*W+ +b[l>>3]*B+ +b[t>>3]*I,B=E-u,W=I-o,!(W*W+B*B<.001)):0)?(y=E-h,W=I-d,!(W*W+y*y<.001)):0){r=0;break A}r=r+1|0}}}while(0);f=f+1|0}k=L;return r|0}function Kt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+96|0;B=E+48|0;v=E+24|0;c=E;g=E+80|0;o=+b[e>>3];n=+b[e+16>>3]-o;h=+b[e+8>>3];t=+b[e+24>>3]-h;a[g>>2]=0;A:do{if(!(n==0.0)){t=t/n;s=A+16|0;w=A+32|0;u=A+48|0;_t(+b[A+8>>3]-+b[A>>3]*t,+b[A+24>>3]-+b[s>>3]*t,+b[A+40>>3]-+b[w>>3]*t,+b[A+56>>3]-+b[u>>3]*t,B);b[B>>3]=t*o-h+ +b[B>>3];r=Ec(B,v)|0;if((r|0)==4)e=4;else{f=B+8|0;l=B+16|0;c=B+24|0;n=1.0/n;e=0;while(1){if((e|0)>=(r|0))break;t=+b[v+(e<<3)>>3];if(t>=0.0&t<=1.0?(_t(+b[A>>3],+b[s>>3],+b[w>>3],+b[u>>3],B),h=(+b[B>>3]-o+((+b[c>>3]*t+ +b[l>>3])*t+ +b[f>>3])*t)*n,h>=0.0&h<=1.0):0)qt(t,i,g);e=e+1|0}e=a[g>>2]|0}}else{_t(+b[A>>3],+b[A+16>>3],+b[A+32>>3],+b[A+48>>3],B);b[B>>3]=+b[B>>3]-o;d=Ec(B,v)|0;if(!(t==0.0)){if((d|0)==4){e=4;break}s=A+8|0;w=A+24|0;u=A+40|0;r=A+56|0;f=B+8|0;l=B+16|0;c=B+24|0;n=1.0/t;e=0;while(1){if((e|0)>=(d|0))break;t=+b[v+(e<<3)>>3];if(t>=0.0&t<=1.0?(_t(+b[s>>3],+b[w>>3],+b[u>>3],+b[r>>3],B),o=(+b[B>>3]-h+((+b[c>>3]*t+ +b[l>>3])*t+ +b[f>>3])*t)*n,o>=0.0&o<=1.0):0)qt(t,i,g);e=e+1|0}e=a[g>>2]|0;break}_t(+b[A+8>>3],+b[A+24>>3],+b[A+40>>3],+b[A+56>>3],B);b[B>>3]=+b[B>>3]-h;l=Ec(B,c)|0;e=(l|0)==4;e:do{if((d|0)==4){if(e){e=4;break A}else e=0;while(1){if((e|0)>=(l|0))break e;qt(+b[c+(e<<3)>>3],i,g);e=e+1|0}}else{if(e){e=0;while(1){if((e|0)>=(d|0))break e;qt(+b[v+(e<<3)>>3],i,g);e=e+1|0}}else r=0;while(1){if((r|0)>=(d|0))break e;f=v+(r<<3)|0;e=0;while(1){if((e|0)>=(l|0))break;n=+b[f>>3];if(n==+b[c+(e<<3)>>3])qt(n,i,g);e=e+1|0}r=r+1|0}}}while(0);e=a[g>>2]|0}}while(0);k=E;return e|0}function _t(A,e,i,r,f){A=+A;e=+e;i=+i;r=+r;f=f|0;b[f+24>>3]=r-A+(e-i)*3.0;b[f+16>>3]=(i+A)*3.0-e*6.0;b[f+8>>3]=(e-A)*3.0;b[f>>3]=A;return}function qt(A,e,i){A=+A;e=e|0;i=i|0;var r=0;if(A>=0.0&A<=1.0){r=a[i>>2]|0;b[e+(r<<3)>>3]=A;a[i>>2]=r+1}return}function $t(A,e){A=A|0;e=e|0;return+(+b[e+8>>3]*+b[A+8>>3]+ +b[e>>3]*+b[A>>3])}function Ac(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(e+A*3.0))}function ec(A){A=+A;return+(A*A*((1.0-A)*3.0+A))}function ic(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0,M=0.0;D=k;k=k+112|0;y=D+80|0;W=D+64|0;m=D+48|0;Y=4;z=m2(40)|0;a[z>>2]=0;E=D+32|0;I=D+16|0;Z=D;G=D+96|0;Y=L6(189856,1,z|0,Y|0)|0;z=L;d=0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1)r=L;else r=0;A:while(1){if(r|0){r=-2;break}n=A+4|0;d=0;sA(116,a[n>>2]|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}a[47503]=0;a[47504]=0;d=0;sA(117,a[n>>2]<<1|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}s=(a[47506]|0)/2|0;a[47507]=s;a[47508]=s+-1;s=a[n>>2]|0;n=a[A>>2]|0;r=0;f=-1;l=C;while(1){if((r|0)>=(s|0))break;M=+b[n+(r<<4)>>3];g=l>M;v=g?r:f;r=r+1|0;f=v;l=g?M:l}g=n+(f<<4)|0;a[I>>2]=a[g>>2];a[I+4>>2]=a[g+4>>2];a[I+8>>2]=a[g+8>>2];a[I+12>>2]=a[g+12>>2];g=n+(((f|0)==0?s:f)+-1<<4)|0;a[E>>2]=a[g>>2];a[E+4>>2]=a[g+4>>2];a[E+8>>2]=a[g+8>>2];a[E+12>>2]=a[g+12>>2];g=n+(((f|0)==(s+-1|0)?0:f+1|0)<<4)|0;a[Z>>2]=a[g>>2];a[Z+4>>2]=a[g+4>>2];a[Z+8>>2]=a[g+8>>2];a[Z+12>>2]=a[g+12>>2];M=+b[I>>3];if((+b[E>>3]==M?M==+b[Z>>3]:0)?+b[Z+8>>3]>+b[I+8>>3]:0)g=15;else g=12;e:do{if((g|0)==12){g=0;d=0;r=aA(36,E|0,I|0,Z|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,Y|0,z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((r|0)==1){n=a[47510]|0;r=a[47511]|0;f=0;while(1){if((f|0)>=(s|0))break e;t=a[A>>2]|0;if(!(((f|0)>0?(Q=f+-1|0,+b[t+(f<<4)>>3]==+b[t+(Q<<4)>>3]):0)?+b[t+(f<<4)+8>>3]==+b[t+(Q<<4)+8>>3]:0)){v=a[47503]|0;a[n+(v<<3)>>2]=t+(f<<4);a[n+(v<<3)+4>>2]=n+(((v|0)%(s|0)|0)<<3);a[r+(v<<2)>>2]=n+(v<<3);a[47503]=v+1}f=f+1|0}}else g=15}}while(0);e:do{if((g|0)==15){g=0;t=a[47510]|0;r=a[47511]|0;n=s;while(1){f=n+-1|0;if((n|0)<=0)break e;c=a[A>>2]|0;if(((n|0)<(s|0)?+b[c+(f<<4)>>3]==+b[c+(n<<4)>>3]:0)?+b[c+(f<<4)+8>>3]==+b[c+(n<<4)+8>>3]:0){n=f;continue}n=a[47503]|0;a[t+(n<<3)>>2]=c+(f<<4);a[t+(n<<3)+4>>2]=t+(((n|0)%(s|0)|0)<<3);a[r+(n<<2)>>2]=t+(n<<3);a[47503]=n+1;n=f}}}while(0);d=0;wA(29,r|0,a[47503]|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}t=0;r=a[47504]|0;e:while(1){if((t|0)>=(r|0)){h=0;break}c=t+1|0;n=c;while(1){if((n|0)>=(r|0)){t=c;continue e}d=0;wA(30,t|0,n|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue A}n=n+1|0;r=a[47504]|0}}while(1){if((h|0)>=(r|0))break;d=0;f=rA(105,h|0,e|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}if(f|0)break;h=h+1|0}if((h|0)==(r|0)){r=a[15712]|0;d=0;a[m>>2]=141858;a[m+4>>2]=192;a[m+8>>2]=141869;aA(32,r|0,141839,m|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=41;break}}v=e+16|0;c=0;while(1){if((c|0)>=(r|0))break;d=0;f=rA(105,c|0,v|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}if(f|0)break;c=c+1|0}if((c|0)==(r|0)){r=a[15712]|0;d=0;a[W>>2]=141858;a[W+4>>2]=200;a[W+8>>2]=141902;aA(32,r|0,141839,W|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=48;break}}d=0;r=rA(106,h|0,c|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,Y|0,z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue}if(!r){r=a[15712]|0;d=0;a[y>>2]=141858;a[y+4>>2]=207;a[y+8>>2]=141940;aA(32,r|0,141839,y|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}d=0;sA(118,2);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=53;break}}if((h|0)==(c|0)){d=0;sA(118,2);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=56;break}}a[G>>2]=e;a[G+4>>2]=0;f=G+8|0;a[f>>2]=v;a[G+12>>2]=0;d=0;wA(31,1,G|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue}a[47509]=a[47507];u=h;e:while(1){if((u|0)==-1){n=f;r=0;break}o=a[47513]|0;a[o+(u*52|0)>>2]=2;r=0;while(1){if((r|0)>=3){g=65;break}g=a[o+(u*52|0)+4+(r<<4)+12>>2]|0;if(g|0?(a[g>>2]|0)==1:0){g=68;break}r=r+1|0}if((g|0)==65){g=0;if((r|0)==3){r=a[47505]|0;c=a[r+(a[47508]<<2)>>2]|0;d=0;r=aA(36,v|0,a[a[r+(a[47507]<<2)>>2]>>2]|0,a[c>>2]|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}t=(r|0)==1;w=t?f:c;t=t?c:f}else g=68}if((g|0)==68){g=0;c=a[o+(u*52|0)+4+(r<<4)>>2]|0;s=a[o+(u*52|0)+4+(r<<4)+4>>2]|0;d=0;r=aA(36,a[c>>2]|0,a[a[o+(u*52|0)+4+(((r+1|0)%3|0)<<4)+4>>2]>>2]|0,a[s>>2]|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}t=(r|0)==1;w=t?c:s;t=t?s:c}do{if((u|0)==(h|0)){d=0;wA(31,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,1,w|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}r=0}else{s=a[47505]|0;if((a[s+(a[47507]<<2)>>2]|0)!=(w|0)?(a[s+(a[47508]<<2)>>2]|0)!=(w|0):0){d=0;t=iA(34,w|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(32,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,1,w|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((t|0)<=(a[47509]|0)){r=0;break}a[47509]=t;r=0;break}d=0;c=iA(34,t|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(32,1,c|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((c|0)>=(a[47509]|0)){r=0;break}a[47509]=c;r=0}}while(0);while(1){if((r|0)>=3){u=-1;continue e}n=a[o+(u*52|0)+4+(r<<4)+12>>2]|0;if(n|0?(a[n>>2]|0)==1:0)break;r=r+1|0}u=(n-(a[47513]|0)|0)/52|0}while(1){if(!n)break;n=a[n+4>>2]|0;r=r+1|0}d=0;sA(118,r|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1)r=L;else{g=94;break}}if((g|0)==41)r=-1;else if((g|0)==48)r=-1;else if((g|0)==53){a[i+4>>2]=2;r=a[47512]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];z=r+16|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];a[i>>2]=r;r=0}else if((g|0)==56){a[i+4>>2]=2;r=a[47512]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];z=r+16|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];a[i>>2]=r;r=0}else if((g|0)==94){a[i+4>>2]=r;n=a[47512]|0;while(1){r=r+-1|0;if(!f)break;z=n+(r<<4)|0;y=a[f>>2]|0;a[z>>2]=a[y>>2];a[z+4>>2]=a[y+4>>2];a[z+8>>2]=a[y+8>>2];a[z+12>>2]=a[y+12>>2];f=a[f+4>>2]|0}a[i>>2]=n;r=0}L2(Y|0);k=D;return r|0}function rc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+64|0;r=l+48|0;n=l+32|0;f=l+16|0;i=l;if((a[47516]|0)<(A|0)){e=a[47510]|0;if(!e){n=m2(A<<3)|0;a[47510]=n;if(!n){n=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=523;a[i+8>>2]=142108;f3(n,141839,i)|0;fe(189856,1)}n=m2(A<<2)|0;a[47511]=n;if(!n){n=a[15712]|0;a[f>>2]=141858;a[f+4>>2]=527;a[f+8>>2]=142127;f3(n,141839,f)|0;fe(189856,1)}}else{f=y2(e,A<<3)|0;a[47510]=f;if(!f){f=a[15712]|0;a[n>>2]=141858;a[n+4>>2]=533;a[n+8>>2]=142147;f3(f,141839,n)|0;fe(189856,1)}n=y2(a[47511]|0,A<<2)|0;a[47511]=n;if(!n){n=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=539;a[r+8>>2]=142167;f3(n,141839,r)|0;fe(189856,1)}}a[47516]=A}k=l;return}function fc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47506]|0)<(A|0)){e=a[47505]|0;if(!e){r=m2(A<<2)|0;a[47505]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=573;a[i+8>>2]=142063;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A<<2)|0;a[47505]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=580;a[r+8>>2]=142085;f3(i,141839,r)|0;fe(189856,1)}}a[47506]=A}k=f;return}function ac(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];r=(+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r);return(r>0.0?1:r<0.0?2:3)|0}function nc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;A:while(1){if((e|0)>3)r=0;else{e=9;break}while(1){if((r|0)>=(e|0)){e=8;break A}f=r+1|0;i=(f|0)%(e|0)|0;n=(r+2|0)%(e|0)|0;if(!(kc(r,n,A,e)|0))r=f;else break}oc(a[A+(r<<2)>>2]|0,a[A+(i<<2)>>2]|0,a[A+(n<<2)>>2]|0);e=e+-1|0;while(1){if((i|0)>=(e|0))continue A;n=i+1|0;a[A+(i<<2)>>2]=a[A+(n<<2)>>2];i=n}}if((e|0)==8){A=a[15712]|0;a[l>>2]=141858;a[l+4>>2]=324;a[l+8>>2]=142003;f3(A,141839,l)|0}else if((e|0)==9)oc(a[A>>2]|0,a[A+4>>2]|0,a[A+8>>2]|0);k=t;return}function lc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;t=a[47513]|0;c=t+(A*52|0)|0;b=t+(e*52|0)|0;n=0;while(1){if((n|0)==3)break;s=t+(A*52|0)+4+(n<<4)|0;w=t+(A*52|0)+4+(n<<4)+4|0;u=t+(A*52|0)+4+(n<<4)+12|0;f=0;while(1){if((f|0)==3)break;k=a[a[s>>2]>>2]|0;l=a[a[t+(e*52|0)+4+(f<<4)>>2]>>2]|0;if((k|0)==(l|0)){i=a[a[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;if((a[a[w>>2]>>2]|0)==(i|0))r=10;else r=8}else{i=a[a[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;r=8}if(((r|0)==8?(r=0,(k|0)==(i|0)):0)?(a[a[w>>2]>>2]|0)==(l|0):0)r=10;if((r|0)==10){a[u>>2]=b;a[t+(e*52|0)+4+(f<<4)+12>>2]=c}f=f+1|0}n=n+1|0}return}function tc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=a[47513]|0;i=0;r=0;while(1){if((r|0)==3)break;i=i+((ac(a[a[f+(A*52|0)+4+(r<<4)>>2]>>2]|0,a[a[f+(A*52|0)+4+(r<<4)+4>>2]>>2]|0,e)|0)!=2&1)|0;r=r+1|0}return((i|0)==3|(i|0)==0)&1|0}function cc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[47513]|0;r=i+(A*52|0)|0;A:do{if(!(a[r>>2]|0)){a[r>>2]=1;if((A|0)==(e|0))i=1;else{f=0;while(1){if((f|0)>=3)break;r=a[i+(A*52|0)+4+(f<<4)+12>>2]|0;if(r){if(cc((r-i|0)/52|0,e)|0){i=1;break A}i=a[47513]|0}f=f+1|0}a[i+(A*52|0)>>2]=0;i=0}}else i=0}while(0);return i|0}function bc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47514]|0)<(A|0)){e=a[47512]|0;if(!e){r=m2(A<<4)|0;a[47512]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=593;a[i+8>>2]=141966;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A<<4)|0;a[47512]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=599;a[r+8>>2]=141984;f3(i,141839,r)|0;fe(189856,1)}}a[47514]=A}k=f;return}function sc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[47508]|0;r=a[47507]|0;f=(i|0)>=(r|0);if((A|0)==1)if(f){a[e+4>>2]=a[(a[47505]|0)+(r<<2)>>2];A=190028;i=-1}else{A=190028;i=-1}else if(f){a[e+4>>2]=a[(a[47505]|0)+(i<<2)>>2];A=190032;i=1}else{A=190032;i=1}f=(a[A>>2]|0)+i|0;a[A>>2]=f;a[(a[47505]|0)+(f<<2)>>2]=e;return}function wc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[47509]|0;n=a[47505]|0;e=a[47507]|0;while(1){if((e|0)>=(f|0)){r=4;break}i=e+1|0;if((ac(a[a[n+(i<<2)>>2]>>2]|0,a[a[n+(e<<2)>>2]>>2]|0,a[A>>2]|0)|0)==1)break;else e=i}A:do{if((r|0)==4){e=a[47508]|0;while(1){if((e|0)<=(f|0)){e=f;break A}i=e+-1|0;if((ac(a[a[n+(i<<2)>>2]>>2]|0,a[a[n+(e<<2)>>2]>>2]|0,a[A>>2]|0)|0)==2)break;else e=i}}}while(0);return e|0}function uc(A,e){A=A|0;e=e|0;a[((A|0)==1?190032:190028)>>2]=e;return}function kc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;f=a[a[i+(((A+-1+r|0)%(r|0)|0)<<2)>>2]>>2]|0;t=a[a[i+(A<<2)>>2]>>2]|0;n=a[a[i+(((A+1|0)%(r|0)|0)<<2)>>2]>>2]|0;b=(ac(f,t,n)|0)==1;c=a[a[i+(e<<2)>>2]>>2]|0;if(b)if((ac(t,c,f)|0)==1){f=ac(c,t,n)|0;n=1;l=5}else f=0;else{f=ac(t,c,n)|0;n=2;l=5}A:do{if((l|0)==5)if((f|0)==(n|0)){f=0;while(1){if((f|0)>=(r|0)){f=1;break A}n=f;f=f+1|0;l=(f|0)%(r|0)|0;if((l|0)==(e|0)|((n|0)==(e|0)|((n|0)==(A|0)|(l|0)==(A|0))))continue;if(dc(t,c,a[a[i+(n<<2)>>2]>>2]|0,a[a[i+(l<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0}while(0);return f|0}function oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=a[47504]|0;f=a[47515]|0;if((r|0)<(f|0))l=r;else{hc(f+20|0);l=a[47504]|0}n=a[47513]|0;a[47504]=l+1;f=n+(l*52|0)|0;a[f>>2]=0;a[n+(l*52|0)+4>>2]=A;a[n+(l*52|0)+8>>2]=e;a[n+(l*52|0)+16>>2]=0;a[n+(l*52|0)+20>>2]=e;a[n+(l*52|0)+24>>2]=i;a[n+(l*52|0)+32>>2]=0;a[n+(l*52|0)+36>>2]=i;a[n+(l*52|0)+40>>2]=A;a[n+(l*52|0)+48>>2]=0;r=0;while(1){if((r|0)==3)break;a[n+(l*52|0)+4+(r<<4)+8>>2]=f;r=r+1|0}return}function hc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47515]|0)<(A|0)){e=a[47513]|0;if(!e){r=m2(A*52|0)|0;a[47513]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=552;a[i+8>>2]=142024;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A*52|0)|0;a[47513]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=558;a[r+8>>2]=142043;f3(i,141839,r)|0;fe(189856,1)}}a[47515]=A}k=f;return}function dc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,l=0;a=ac(A,e,i)|0;if((((a|0)!=3?(n=ac(A,e,r)|0,(n|0)!=3):0)?(l=ac(i,r,A)|0,(l|0)!=3):0)?(f=ac(i,r,e)|0,(f|0)!=3):0)return((a|0)==1^(n|0)==1)&((l|0)==1^(f|0)==1)&1|0;if(((Bc(A,e,i)|0)==0?(Bc(A,e,r)|0)==0:0)?(Bc(i,r,A)|0)==0:0)return(Bc(i,r,e)|0)!=0|0;return 1}function Bc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;f=+b[A>>3];n=+b[e>>3]-f;a=+b[A+8>>3];r=+b[e+8>>3]-a;f=+b[i>>3]-f;a=+b[i+8>>3]-a;if((ac(A,e,i)|0)==3?a*r+f*n>=0.0:0)A=a*a+f*f<=r*r+n*n&1;else A=0;return A|0}function vc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;w=m2(i<<2)|0;u=m2((i<<3)+8|0)|0;k=u+8|0;f=0;while(1){if((f|0)>=(i|0))break;a[w+(f<<2)>>2]=-1;b[k+(f<<3)>>3]=-2147483647.0;f=f+1|0}b[u>>3]=-2147483648.0;A:while(1){if((A|0)==(e|0))break;s=k+(A<<3)|0;t=+b[s>>3];b[s>>3]=t==-2147483647.0?0.0:-t;c=0;f=-1;while(1){if((c|0)>=(i|0)){A=f;continue A}l=k+(c<<3)|0;n=+b[l>>3];if(n<0.0){h=(A|0)<(c|0);o=+b[(a[r+((h?c:A)<<2)>>2]|0)+((h?A:c)<<3)>>3];t=-(o+ +b[s>>3]);if(o!=0.0&n>3]=t;a[w+(c<<2)>>2]=A;n=t}f=n>+b[k+(f<<3)>>3]?c:f}c=c+1|0}}L2(u);return w|0}function gc(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0;c=k;k=k+32|0;b=c+16|0;s=c;t=a[l+4>>2]|0;a[s>>2]=a[A>>2];a[s+4>>2]=a[A+4>>2];a[s+8>>2]=a[A+8>>2];a[s+12>>2]=a[A+12>>2];a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];a[b+12>>2]=a[r+12>>2];if(!(Xc(s,e,b,f,l)|0)){A=a[l+24>>2]|0;a[A+(t<<2)>>2]=n;s=t+1|0;a[A+(s<<2)>>2]=i;A=vc(s,t,t+2|0,A)|0}else{A=m2((t<<2)+8|0)|0;s=t+1|0;a[A+(t<<2)>>2]=s;a[A+(s<<2)>>2]=-1}k=c;return A|0}function Ec(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0;r=+b[A+24>>3];A:do{if(r<1.0e-07&r>-1.0e-07)A=Cc(A,e)|0;else{n=+b[A+16>>3]/(r*3.0);a=+b[A+8>>3]/r;f=n*n;r=n*2.0*f-n*a+ +b[A>>3]/r;f=a*.3333333333333333-f;f=f*f*4.0*f;a=r*r+f;if(!(a<0.0)){l=(+z(+a)-r)*.5;f=+w1(l);r=+w1(-r-l)+f;b[e>>3]=r;if(a>0.0)A=1;else{r=r*-.5;b[e+16>>3]=r;A=1;i=7}}else{l=+X(+ +z(+-a),+-r);r=+w1(+z(+-f)*.5)*2.0;b[e>>3]=r*+D(+(l*.3333333333333333));b[e+8>>3]=+D(+((l+6.283185307179586)*.3333333333333333))*r;r=+D(+((l+-6.283185307179586)*.3333333333333333))*r;A=2;i=7}if((i|0)==7){b[e+(A<<3)>>3]=r;A=3}i=0;while(1){if((i|0)>=(A|0))break A;t=e+(i<<3)|0;b[t>>3]=+b[t>>3]-n;i=i+1|0}}}while(0);return A|0}function Cc(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+16>>3];do{if(!(i<1.0e-07&i>-1.0e-07)){r=+b[A+8>>3]/(i*2.0);i=r*r-+b[A>>3]/i;if(!(i<0.0))if(i==0.0){b[e>>3]=-r;A=1;break}else{i=+z(+i)-r;b[e>>3]=i;b[e+8>>3]=r*-2.0-i;A=2;break}else A=0}else A=Ic(A,e)|0}while(0);return A|0}function Ic(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A+8>>3];i=+b[A>>3];if(r<1.0e-07&r>-1.0e-07)A=i<1.0e-07&i>-1.0e-07?4:0;else{b[e>>3]=-i/r;A=1}return A|0}function Zc(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function Gc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;r=a[A+4>>2]|0;t=(r*3|0)+-2|0;i=a[47518]|0;if((t|0)>(a[47517]|0)){if(!i)i=m2(t<<4)|0;else i=y2(i,t<<4)|0;a[47518]=i;a[47517]=t;l=i;n=i}else{l=i;n=i}f=a[A>>2]|0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];z6(l+16|0,f|0,16)|0;r=r+-1|0;i=1;A=2;while(1){if((i|0)>=(r|0))break;c=l+(A+2<<4)|0;b=l+(A+1<<4)|0;w=l+(A<<4)|0;s=f+(i<<4)|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];a[w+8>>2]=a[s+8>>2];a[w+12>>2]=a[s+12>>2];z6(b|0,s|0,16)|0;a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];i=i+1|0;A=A+3|0}s=l+(A<<4)|0;w=f+(i<<4)|0;a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];z6(l+(A+1<<4)|0,w|0,16)|0;a[e+4>>2]=t;a[e>>2]=n;return}function Qc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];r=(+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r);return(r>.0001?1:(r<-.0001)<<31>>31)|0}function mc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;f=+b[A>>3];a=+b[e>>3];if(f!=a){r=+b[i>>3];if(!(f>3];f=+b[i+8>>3];r=+b[e+8>>3];if(!(a>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];c=Qc(n,l,t)|0;if((c|0)==0?(a[n>>2]=a[A>>2],a[n+4>>2]=a[A+4>>2],a[n+8>>2]=a[A+8>>2],a[n+12>>2]=a[A+12>>2],a[l>>2]=a[e>>2],a[l+4>>2]=a[e+4>>2],a[l+8>>2]=a[e+8>>2],a[l+12>>2]=a[e+12>>2],a[t>>2]=a[i>>2],a[t+4>>2]=a[i+4>>2],a[t+8>>2]=a[i+8>>2],a[t+12>>2]=a[i+12>>2],(mc(n,l,t)|0)!=0):0)f=1;else b=3;do{if((b|0)==3){a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];a[t>>2]=a[r>>2];a[t+4>>2]=a[r+4>>2];a[t+8>>2]=a[r+8>>2];a[t+12>>2]=a[r+12>>2];f=Qc(n,l,t)|0;if((f|0)==0?(a[n>>2]=a[A>>2],a[n+4>>2]=a[A+4>>2],a[n+8>>2]=a[A+8>>2],a[n+12>>2]=a[A+12>>2],a[l>>2]=a[e>>2],a[l+4>>2]=a[e+4>>2],a[l+8>>2]=a[e+8>>2],a[l+12>>2]=a[e+12>>2],a[t>>2]=a[r>>2],a[t+4>>2]=a[r+4>>2],a[t+8>>2]=a[r+8>>2],a[t+12>>2]=a[r+12>>2],mc(n,l,t)|0):0){f=1;break}a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[t>>2]=a[A>>2];a[t+4>>2]=a[A+4>>2];a[t+8>>2]=a[A+8>>2];a[t+12>>2]=a[A+12>>2];A=Qc(n,l,t)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];b=(U(f,c)|0)<0;f=(U(Qc(n,l,t)|0,A)|0)>>>31;f=b?f:0}}while(0);k=s;return f|0}function Wc(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+(r*r+i*i)}function yc(A){A=A|0;a[A+24>>2]=zc(a[A+4>>2]|0)|0;Yc(A);return}function zc(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+2|0;f=m2(r<<2)|0;e=W2(U(A,A)|0,8)|0;i=0;while(1){if((i|0)>=(A|0))break;a[f+(i<<2)>>2]=e;e=e+(A<<3)|0;i=i+1|0}while(1){if((A|0)>=(r|0))break;a[f+(A<<2)>>2]=0;A=A+1|0}return f|0}function Yc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;o=k;k=k+32|0;l=o+16|0;n=o;t=a[A+4>>2]|0;s=a[A+8>>2]|0;w=a[A+16>>2]|0;u=a[A+20>>2]|0;i=a[A+24>>2]|0;e=0;while(1){if((e|0)>=(t|0))break;h=a[u+(e<<2)>>2]|0;r=s+(e<<4)|0;f=s+(h<<4)|0;a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];d=+Dc(n,l);f=a[i+(e<<2)>>2]|0;b[f+(h<<3)>>3]=d;b[(a[i+(h<<2)>>2]|0)+(e<<3)>>3]=d;A=e+-1|0;A=(h|0)==(A|0)?e+-2|0:A;while(1){if((A|0)<=-1)break;if((Mc(e,A,s,w,u)|0?Mc(A,e,s,w,u)|0:0)?(c=s+(A<<4)|0,a[n>>2]=a[r>>2],a[n+4>>2]=a[r+4>>2],a[n+8>>2]=a[r+8>>2],a[n+12>>2]=a[r+12>>2],a[l>>2]=a[c>>2],a[l+4>>2]=a[c+4>>2],a[l+8>>2]=a[c+8>>2],a[l+12>>2]=a[c+12>>2],Fc(n,l,t,t,t,s,w)|0):0){a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];d=+Dc(n,l);b[f+(A<<3)>>3]=d;b[(a[i+(A<<2)>>2]|0)+(e<<3)>>3]=d}A=A+-1|0}e=e+1|0}k=o;return}function Dc(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0;r=k;k=k+32|0;f=r+16|0;n=r;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];i=+z(+ +Wc(n,f));k=r;return+i}function Mc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;n=k;k=k+64|0;l=n+48|0;t=n+32|0;c=n+16|0;b=n;w=i+(a[f+(A<<2)>>2]<<4)|0;s=i+(A<<4)|0;r=i+(a[r+(A<<2)>>2]<<4)|0;f=i+(e<<4)|0;a[b>>2]=a[w>>2];a[b+4>>2]=a[w+4>>2];a[b+8>>2]=a[w+8>>2];a[b+12>>2]=a[w+12>>2];a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[t>>2]=a[r>>2];a[t+4>>2]=a[r+4>>2];a[t+8>>2]=a[r+8>>2];a[t+12>>2]=a[r+12>>2];a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];f=Vc(b,c,t,l)|0;k=n;return f|0}function Fc(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+64|0;w=o+48|0;s=o+32|0;b=o+16|0;c=o;t=0;while(1){if((t|0)>=(i|0)){u=4;break}d=n+(t<<4)|0;h=n+(a[l+(t<<2)>>2]<<4)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[s>>2]=a[d>>2];a[s+4>>2]=a[d+4>>2];a[s+8>>2]=a[d+8>>2];a[s+12>>2]=a[d+12>>2];a[w>>2]=a[h>>2];a[w+4>>2]=a[h+4>>2];a[w+8>>2]=a[h+8>>2];a[w+12>>2]=a[h+12>>2];if(!(Lc(c,b,s,w)|0))t=t+1|0;else{r=0;break}}A:do{if((u|0)==4)while(1){if((r|0)>=(f|0)){r=1;break A}h=n+(r<<4)|0;d=n+(a[l+(r<<2)>>2]<<4)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[s>>2]=a[h>>2];a[s+4>>2]=a[h+4>>2];a[s+8>>2]=a[h+8>>2];a[s+12>>2]=a[h+12>>2];a[w>>2]=a[d>>2];a[w+4>>2]=a[d+4>>2];a[w+8>>2]=a[d+8>>2];a[w+12>>2]=a[d+12>>2];if(!(Lc(c,b,s,w)|0)){r=r+1|0;u=4}else{r=0;break}}}while(0);k=o;return r|0}function Vc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;n=k;k=k+48|0;l=n+32|0;t=n+16|0;c=n;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[t>>2]=a[A>>2];a[t+4>>2]=a[A+4>>2];a[t+8>>2]=a[A+8>>2];a[t+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];f=Qc(c,t,l)|0;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];r=Qc(c,t,l)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];i=(Qc(c,t,l)|0)>0;k=n;return(i?r|f:r&f)>>>31^1|0}function Jc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;B=k;k=k+80|0;t=B+64|0;l=B+48|0;n=B+32|0;c=B+16|0;u=B;o=a[A+4>>2]|0;h=a[A+8>>2]|0;d=a[A+16>>2]|0;s=a[A+20>>2]|0;w=m2((o<<3)+16|0)|0;if((e|0)==-2222){a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];e=Nc(A,t)|0}if((e|0)>-1){A=a[A+12>>2]|0;f=a[A+(e+1<<2)>>2]|0;A=a[A+(e<<2)>>2]|0}else{f=o;A=o}e=0;while(1){if((e|0)>=(A|0)){e=A;break}g=h+(e<<4)|0;a[u>>2]=a[g>>2];a[u+4>>2]=a[g+4>>2];a[u+8>>2]=a[g+8>>2];a[u+12>>2]=a[g+12>>2];g=h+(a[s+(e<<2)>>2]<<4)|0;v=h+(a[d+(e<<2)>>2]<<4)|0;a[c>>2]=a[g>>2];a[c+4>>2]=a[g+4>>2];a[c+8>>2]=a[g+8>>2];a[c+12>>2]=a[g+12>>2];a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[v>>2];a[l+4>>2]=a[v+4>>2];a[l+8>>2]=a[v+8>>2];a[l+12>>2]=a[v+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];if((Vc(c,n,l,t)|0)!=0?(a[l>>2]=a[i>>2],a[l+4>>2]=a[i+4>>2],a[l+8>>2]=a[i+8>>2],a[l+12>>2]=a[i+12>>2],a[t>>2]=a[u>>2],a[t+4>>2]=a[u+4>>2],a[t+8>>2]=a[u+8>>2],a[t+12>>2]=a[u+12>>2],(Fc(l,t,A,f,o,h,d)|0)!=0):0){a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];r=+Dc(l,t)}else r=0.0;b[w+(e<<3)>>3]=r;e=e+1|0}while(1){if((e|0)>=(f|0)){e=f;break}b[w+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((e|0)>=(o|0))break;v=h+(e<<4)|0;a[u>>2]=a[v>>2];a[u+4>>2]=a[v+4>>2];a[u+8>>2]=a[v+8>>2];a[u+12>>2]=a[v+12>>2];v=h+(a[s+(e<<2)>>2]<<4)|0;g=h+(a[d+(e<<2)>>2]<<4)|0;a[c>>2]=a[v>>2];a[c+4>>2]=a[v+4>>2];a[c+8>>2]=a[v+8>>2];a[c+12>>2]=a[v+12>>2];a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];if((Vc(c,n,l,t)|0)!=0?(a[l>>2]=a[i>>2],a[l+4>>2]=a[i+4>>2],a[l+8>>2]=a[i+8>>2],a[l+12>>2]=a[i+12>>2],a[t>>2]=a[u>>2],a[t+4>>2]=a[u+4>>2],a[t+8>>2]=a[u+8>>2],a[t+12>>2]=a[u+12>>2],(Fc(l,t,A,f,o,h,d)|0)!=0):0){a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];r=+Dc(l,t)}else r=0.0;b[w+(e<<3)>>3]=r;e=e+1|0}b[w+(o<<3)>>3]=0.0;b[w+(o+1<<3)>>3]=0.0;k=B;return w|0}function Nc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;s=k;k=k+32|0;f=s+8|0;r=s;l=s+24|0;t=A+8|0;c=A+12|0;b=l+4|0;i=0;while(1){if((i|0)>=(a[A>>2]|0)){i=-1111;break}u=a[c>>2]|0;w=a[u+(i<<2)>>2]|0;a[l>>2]=(a[t>>2]|0)+(w<<4);n=i+1|0;a[b>>2]=(a[u+(n<<2)>>2]|0)-w;a[r>>2]=a[l>>2];a[r+4>>2]=a[l+4>>2];a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];if(!(Dt(r,f)|0))i=n;else break}k=s;return i|0}function Xc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+64|0;w=v+48|0;s=v+32|0;o=v+16|0;u=v;d=a[f+4>>2]|0;B=a[f+8>>2]|0;h=a[f+16>>2]|0;n=(r|0)<0;do{if((e|0)<0)if(n){n=0;t=0;f=0;l=0}else{e=a[f+12>>2]|0;f=0;l=0;t=r;c=e;e=e+(r<<2)|0;b=9}else{if(n){b=a[f+12>>2]|0;f=0;l=0;t=e;c=b;e=b+(e<<2)|0;b=9;break}n=a[f+12>>2]|0;if((e|0)>(r|0)){f=a[n+(r+1<<2)>>2]|0;l=a[n+(r<<2)>>2]|0;t=e;c=n;e=n+(e<<2)|0;b=9;break}else{f=a[n+(e+1<<2)>>2]|0;l=a[n+(e<<2)>>2]|0;t=r;c=n;e=n+(r<<2)|0;b=9;break}}}while(0);if((b|0)==9){n=a[c+(t+1<<2)>>2]|0;t=a[e>>2]|0}e=0;while(1){if((e|0)>=(l|0)){b=13;break}c=B+(e<<4)|0;r=B+(a[h+(e<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];a[w>>2]=a[r>>2];a[w+4>>2]=a[r+4>>2];a[w+8>>2]=a[r+8>>2];a[w+12>>2]=a[r+12>>2];if(!(Lc(u,o,s,w)|0))e=e+1|0;else{n=0;break}}A:do{if((b|0)==13){while(1){if((f|0)>=(t|0))break;r=B+(f<<4)|0;b=B+(a[h+(f<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];if(!(Lc(u,o,s,w)|0)){f=f+1|0;b=13}else{n=0;break A}}while(1){if((n|0)>=(d|0)){n=1;break A}r=B+(n<<4)|0;b=B+(a[h+(n<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];if(!(Lc(u,o,s,w)|0))n=n+1|0;else{n=0;break}}}}while(0);k=v;return n|0}function Rc(A){A=A|0;return Hc(A,0,0)|0}function Hc(A,e,i){A=A|0;e=e|0;i=i|0;return pc(A,e,i,0)|0}function pc(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;if(!e){n=m2(496)|0;if(!n)n=0;else{a[n+12>>2]=35;a[n+16>>2]=107;a[n+20>>2]=105;e=35;l=6}}else{n=Q5[a[e>>2]&63](496)|0;if(!n)n=0;else{l=a[e>>2]|0;a[n+12>>2]=l;a[n+16>>2]=a[e+4>>2];a[n+20>>2]=a[e+8>>2];e=l;l=6}}do{if((l|0)==6){a[n+8>>2]=0;a[n+32>>2]=0;a[n+376>>2]=16;c=n+12|0;t=Q5[e&63](256)|0;e=n+388|0;a[e>>2]=t;if(!t){F5[a[n+20>>2]&127](n);n=0;break}l=Q5[a[c>>2]&63](1024)|0;t=n+44|0;a[t>>2]=l;if(!l){i=n+20|0;F5[a[i>>2]&127](a[e>>2]|0);F5[a[i>>2]&127](n);n=0;break}a[n+48>>2]=l+1024;if(!f){f=Uc(c)|0;a[n+352>>2]=f;if(!f){i=n+20|0;F5[a[i>>2]&127](a[t>>2]|0);F5[a[i>>2]&127](a[e>>2]|0);F5[a[i>>2]&127](n);n=0;break}}else a[n+352>>2]=f;a[n+372>>2]=0;a[n+364>>2]=0;a[n+300>>2]=0;a[n+464>>2]=0;a[n+460>>2]=0;a[n+124>>2]=0;a[n+244>>2]=0;e=n+468|0;r[e>>0]=33;l=n+232|0;r[l>>0]=0;r[n+233>>0]=0;a[n+392>>2]=0;a[n+396>>2]=0;r[n+400>>0]=0;f=n+228|0;a[f>>2]=0;xc(n+412|0,c);xc(n+436|0,c);Tc(n,A);if(A|0?(a[f>>2]|0)==0:0){jc(n);n=0;break}if(!i){a[n+224>>2]=xq()|0;break}else{r[l>>0]=1;a[n+224>>2]=C0()|0;r[e>>0]=r[i>>0]|0;break}}}while(0);return n|0}function Uc(A){A=A|0;var e=0;e=Q5[a[A>>2]&63](188)|0;if(e|0){xc(e+80|0,A);xc(e+104|0,A);$b(e,A);$b(e+20|0,A);$b(e+40|0,A);$b(e+60|0,A);r[e+131>>0]=0;$b(e+132|0,A);a[e+152>>2]=0;a[e+156>>2]=0;r[e+160>>0]=0;A=e+164|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A+16>>2]=0;a[A+20>>2]=0;r[e+128>>0]=1;r[e+129>>0]=0;r[e+130>>0]=0}return e|0}function xc(A,e){A=A|0;e=e|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A+16>>2]=0;a[A+20>>2]=e;return}function Tc(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;a[A+276>>2]=56;W0(A+252|0);if(e|0)a[A+228>>2]=Ab(e,A+12|0)|0;a[A+356>>2]=0;Y$(A+148|0,A+144|0,0)|0;a[A>>2]=0;a[A+4>>2]=0;e=A+116|0;n=A+52|0;l=n+64|0;do{a[n>>2]=0;n=n+4|0}while((n|0)<(l|0));a[e>>2]=A;a[A+120>>2]=0;e=A+128|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;e=a[A+8>>2]|0;a[A+24>>2]=e;a[A+28>>2]=e;a[A+36>>2]=0;a[A+40>>2]=0;e=A+312|0;n=A+404|0;a[n>>2]=0;a[n+4>>2]=0;n=A+280|0;i=A+304|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=0;n=e;l=n+36|0;do{a[n>>2]=0;n=n+4|0}while((n|0)<(l|0));f[e+36>>1]=0;r[i>>0]=1;a[A+308>>2]=0;a[A+360>>2]=0;a[A+368>>2]=0;a[A+380>>2]=0;a[A+236>>2]=0;a[A+248>>2]=0;a[A+240>>2]=0;a[A+472>>2]=0;a[A+476>>2]=0;r[A+484>>0]=0;r[A+485>>0]=0;a[A+488>>2]=0;a[A+492>>2]=0;return}function jc(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;if(A|0){i=A+364|0;n=A+20|0;e=a[A+360>>2]|0;while(1){if(!e){e=a[i>>2]|0;if(!e)break;a[i>>2]=0}l=a[e>>2]|0;F5[a[n>>2]&127](a[e+36>>2]|0);Sc(a[e+44>>2]|0,A);F5[a[n>>2]&127](e);e=l}i=A+300|0;e=a[A+296>>2]|0;while(1){if(!e){e=a[i>>2]|0;if(!e)break;a[i>>2]=0}l=a[e+8>>2]|0;F5[a[n>>2]&127](e);e=l}Sc(a[A+372>>2]|0,A);Sc(a[A+368>>2]|0,A);Pc(A+412|0);Pc(A+436|0);e=A+12|0;F5[a[n>>2]&127](a[A+228>>2]|0);if((r[A+484>>0]|0)==0?(f=a[A+352>>2]|0,f|0):0)Oc(f,(a[A+472>>2]|0)==0&1,e);F5[a[n>>2]&127](a[A+388>>2]|0);F5[a[n>>2]&127](a[A+460>>2]|0);F5[a[n>>2]&127](a[A+8>>2]|0);F5[a[n>>2]&127](a[A+44>>2]|0);F5[a[n>>2]&127](a[A+392>>2]|0);F5[a[n>>2]&127](a[A+236>>2]|0);e=a[A+248>>2]|0;if(e|0)F5[e&127](a[A+240>>2]|0);F5[a[n>>2]&127](A)}return}function Sc(A,e){A=A|0;e=e|0;var i=0;e=e+20|0;while(1){if(!A)break;i=a[A+4>>2]|0;F5[a[e>>2]&127](a[A+16>>2]|0);F5[a[e>>2]&127](A);A=i}return}function Pc(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;e=a[A>>2]|0;while(1){if(!e)break;r=a[e>>2]|0;F5[a[(a[i>>2]|0)+8>>2]&127](e);e=r}e=a[A+4>>2]|0;while(1){if(!e)break;r=a[e>>2]|0;F5[a[(a[i>>2]|0)+8>>2]&127](e);e=r}return}function Oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;n=A+20|0;Kc(f,n);i=i+8|0;while(1){r=_c(f)|0;if(!r)break;if(!(a[r+16>>2]|0))continue;F5[a[i>>2]&127](a[r+20>>2]|0)}qc(A);qc(A+132|0);qc(n);qc(A+40|0);qc(A+60|0);Pc(A+80|0);Pc(A+104|0);if(e<<24>>24){F5[a[i>>2]&127](a[A+184>>2]|0);F5[a[i>>2]&127](a[A+164>>2]|0)}F5[a[i>>2]&127](A);k=l;return}function Kc(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;a[A>>2]=i;a[A+4>>2]=i+(a[e+8>>2]<<2);return}function _c(A){A=A|0;var e=0,i=0,r=0;i=a[A+4>>2]|0;r=a[A>>2]|0;do{if((r|0)==(i|0)){e=0;break}e=r;r=r+4|0;a[A>>2]=r;e=a[e>>2]|0}while(!(e|0));return e|0}function qc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=A+8|0;r=A+16|0;e=0;while(1){f=a[(a[r>>2]|0)+8>>2]|0;n=a[A>>2]|0;if(e>>>0>=(a[i>>2]|0)>>>0)break;F5[f&127](a[n+(e<<2)>>2]|0);e=e+1|0}F5[f&127](n);return}function $c(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=eb(A)|0;if(!f){a[A+276>>2]=57;f=ib(A,e,i,r)|0}return f|0}function Ab(A,e){A=A|0;e=e|0;var i=0,f=0;i=0;do{f=i;i=i+1|0}while((r[A+f>>0]|0)!=0);e=Q5[a[e>>2]&63](i)|0;if(!e)e=0;else y6(e|0,A|0,i|0)|0;return e|0}function eb(A){A=A|0;var e=0;e=A+228|0;if(!(W5[(r[A+232>>0]<<24>>24?38:37)&63](A+148|0,A+144|0,a[e>>2]|0)|0))A=qb(A,a[e>>2]|0)|0;else A=0;return A|0}function ib(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;n=k;k=k+16|0;l=n;a[l>>2]=e;c=A+144|0;t=a[c>>2]|0;t=y5[a[t>>2]&127](t,e,i,l)|0;f=rb(A,a[c>>2]|0,e,i,t,a[l>>2]|0,f,(r[A+480>>0]|0)==0&1)|0;k=n;return f|0}function rb(A,e,i,f,l,t,c,b){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;t=t|0;c=c|0;b=b|0;var s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0,tA=0,cA=0,bA=0,sA=0,wA=0,uA=0,kA=0,oA=0,hA=0,dA=0,BA=0,vA=0,gA=0,EA=0,CA=0,IA=0,ZA=0,GA=0,QA=0,mA=0,LA=0,WA=0,yA=0,zA=0,YA=0;YA=k;k=k+16|0;WA=YA;a[WA>>2]=t;d=a[A+352>>2]|0;B=A+144|0;if((a[B>>2]|0)==(e|0)){o=A+284|0;h=A+288|0;uA=A+296|0}else{uA=A+296|0;h=a[uA>>2]|0;o=h;h=h+4|0}v=b<<24>>24!=0;oA=A+252|0;g=A+80|0;E=A+476|0;C=A+84|0;I=A+320|0;Z=A+412|0;G=A+316|0;Q=A+424|0;m=A+428|0;L=A+324|0;dA=A+4|0;W=A+485|0;y=d+132|0;z=A+312|0;vA=d+129|0;Y=d+128|0;D=d+80|0;M=d+92|0;F=d+96|0;V=A+136|0;J=A+88|0;N=A+488|0;EA=A+112|0;CA=d+131|0;IA=A+116|0;ZA=d+130|0;GA=A+108|0;QA=A+356|0;X=A+340|0;R=A+132|0;H=A+344|0;p=A+348|0;U=A+328|0;x=A+349|0;T=A+420|0;j=d+120|0;S=d+116|0;P=A+92|0;O=A+472|0;K=A+336|0;_=A+332|0;q=A+96|0;$=A+256|0;AA=A+464|0;eA=A+460|0;iA=d+160|0;rA=d+184|0;fA=d+180|0;aA=d+164|0;nA=A+128|0;lA=A+12|0;tA=A+16|0;cA=A+268|0;bA=A+120|0;sA=d+176|0;wA=d+168|0;u=e;w=i;e=l;A:while(1){a[o>>2]=w;i=a[WA>>2]|0;a[h>>2]=i;t=i;e:do{if((e|0)<1){if(v&(e|0)!=0){s=7;break A}switch(e|0){case-1:{t=5;s=280;break A}case 0:{s=9;break A}case-2:{t=6;break A}case-4:{s=10;break A}case-15:{e=15;break e}default:{}}a[WA>>2]=f;e=0-e|0;t=f}}while(0);l=z5[a[oA>>2]&127](oA,e,w,t,u)|0;e:do{switch(l|0){case 2:{s=58;break A}case-1:{s=184;break A}case 1:{t=fb(A,0,w,a[WA>>2]|0)|0;if(t|0){s=280;break A}t=a[B>>2]|0;break}case 4:{if(!(a[C>>2]|0))t=1;else{s=ab(Z,u,w,a[WA>>2]|0)|0;a[G>>2]=s;if(!s){t=1;s=280;break A}a[m>>2]=a[Q>>2];a[L>>2]=0;t=0}a[I>>2]=0;s=274;break}case 7:{t=a[C>>2]|0;if(!t)s=275;else{R5[t&15](a[dA>>2]|0,a[G>>2]|0,a[I>>2]|0,a[L>>2]|0,1);a[G>>2]=0;nb(Z);t=u}break}case 57:{t=fb(A,1,w,a[WA>>2]|0)|0;if(t|0){s=280;break A}t=a[B>>2]|0;break}case 6:{r[W>>0]=0;s=lb(A,y,75395,36)|0;a[z>>2]=s;if(!s){t=1;s=280;break A}r[vA>>0]=1;if(!(a[C>>2]|0))s=33;else{if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break A}t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}tb(t);a[m>>2]=a[Q>>2];a[L>>2]=t;t=0;s=34}break}case 14:{s=33;break}case 8:{t=a[G>>2]|0;if(!t)t=1;else{R5[a[C>>2]&15](a[dA>>2]|0,t,a[I>>2]|0,a[L>>2]|0,0);nb(Z);t=0}if(!((a[I>>2]|0)==0?!(r[W>>0]|0):0)){i=r[vA>>0]|0;r[vA>>0]=1;do{if(a[N>>2]|0?a[EA>>2]|0:0){l=lb(A,y,75395,36)|0;if(!l){t=1;s=280;break A}if(!(r[W>>0]|0))e=l+20|0;else{e=l+20|0;a[e>>2]=a[QA>>2]}r[CA>>0]=0;if(!(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[e>>2]|0,a[l+16>>2]|0,a[l+24>>2]|0)|0)){t=21;s=280;break A}if(!(r[CA>>0]|0)){if(a[I>>2]|0)break;r[vA>>0]=i;break}if(((r[ZA>>0]|0)==0?(kA=a[GA>>2]|0,kA|0):0)?(Q5[kA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}}}while(0);r[W>>0]=0}e=a[J>>2]|0;if(!e)s=274;else{F5[e&127](a[dA>>2]|0);t=u}break}case 34:{s=bb(A,u,w,a[WA>>2]|0)|0;a[X>>2]=s;if(!s){t=1;s=280;break A}else s=80;break}case 22:{s=sb(A,u,w,a[WA>>2]|0)|0;a[H>>2]=s;if(!s){t=1;s=280;break A}r[p>>0]=0;a[U>>2]=0;r[x>>0]=0;s=80;break}case 23:{r[p>>0]=1;a[U>>2]=142188;s=80;break}case 24:{r[x>>0]=1;a[U>>2]=142194;s=80;break}case 25:{a[U>>2]=142197;s=80;break}case 26:{a[U>>2]=142203;s=80;break}case 27:{a[U>>2]=142210;s=80;break}case 28:{a[U>>2]=142217;s=80;break}case 29:{a[U>>2]=142226;s=80;break}case 30:{a[U>>2]=142234;s=80;break}case 32:case 31:{if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0){if(!(wb(Z,(a[U>>2]|0)==0?(l|0)==32?142243:142253:142255)|0)){t=1;s=280;break A}if(!(ub(Z,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}a[U>>2]=a[m>>2];t=u}else s=275;break}case 36:case 35:{if(r[Y>>0]|0){if(!(kb(a[X>>2]|0,a[H>>2]|0,r[p>>0]|0,r[x>>0]|0,0,A)|0)){t=1;s=280;break A}if((a[R>>2]|0)!=0?(hA=a[U>>2]|0,(hA|0)!=0):0){switch(r[hA>>0]|0){case 40:{s=93;break}case 78:{if((r[hA+1>>0]|0)==79)s=93;break}default:{}}if((s|0)==93){s=0;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=41;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=0;a[U>>2]=a[m>>2];a[m>>2]=a[Q>>2]}a[h>>2]=w;H5[a[R>>2]&15](a[dA>>2]|0,a[a[X>>2]>>2]|0,a[a[H>>2]>>2]|0,a[U>>2]|0,0,(l|0)==36&1);nb(Z);t=u}else s=275}else s=275;break}case 38:case 37:{if(r[Y>>0]|0){t=a[u+64>>2]|0;t=hb(A,u,r[p>>0]|0,w+t|0,(a[WA>>2]|0)+(0-t)|0,D)|0;if(t|0){s=280;break A}e=a[F>>2]|0;a[F>>2]=a[M>>2];if(!(kb(a[X>>2]|0,a[H>>2]|0,r[p>>0]|0,0,e,A)|0)){t=1;s=280;break A}if((a[R>>2]|0)!=0?(BA=a[U>>2]|0,(BA|0)!=0):0){switch(r[BA>>0]|0){case 40:{s=108;break}case 78:{if((r[BA+1>>0]|0)==79)s=108;break}default:{}}if((s|0)==108){s=0;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=41;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=0;a[U>>2]=a[m>>2];a[m>>2]=a[Q>>2]}a[h>>2]=w;H5[a[R>>2]&15](a[dA>>2]|0,a[a[X>>2]>>2]|0,a[a[H>>2]>>2]|0,a[U>>2]|0,e,(l|0)==38&1);nb(Z);t=u}else s=275}else s=275;break}case 12:{if(r[Y>>0]|0){t=a[u+64>>2]|0;t=db(A,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;e=a[z>>2]|0;i=a[j>>2]|0;if(e){a[e+4>>2]=i;a[(a[z>>2]|0)+8>>2]=(a[S>>2]|0)-(a[j>>2]|0);a[j>>2]=a[S>>2];if(!(a[V>>2]|0))e=1;else{a[h>>2]=w;e=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[e>>2]|0,n[e+33>>0]|0,a[e+4>>2]|0,a[e+8>>2]|0,a[QA>>2]|0,0,0,0);e=0}}else{a[S>>2]=i;e=1}if(!t){t=e;s=274}else{s=280;break A}}else s=275;break}case 5:{r[W>>0]=0;r[vA>>0]=1;if(!(a[C>>2]|0)){a[I>>2]=75395;t=1}else{s=a[u+64>>2]|0;s=ab(Z,u,w+s|0,(a[WA>>2]|0)+(0-s)|0)|0;a[I>>2]=s;if(!s){t=1;s=280;break A}a[m>>2]=a[Q>>2];t=0}if((((r[ZA>>0]|0)==0?(a[N>>2]|0)==0:0)?(gA=a[GA>>2]|0,gA|0):0)?(Q5[gA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}if(!(a[z>>2]|0)){e=lb(A,y,75395,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}a[e+24>>2]=0;s=133}else s=133;break}case 13:{t=1;s=133;break}case 15:{if(((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0)?(a[V>>2]|0)!=0:0){a[h>>2]=w;t=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[t>>2]|0,n[t+33>>0]|0,0,0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,0);t=u}else s=275;break}case 16:{if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){l=ab(D,u,w,a[WA>>2]|0)|0;a[(a[z>>2]|0)+28>>2]=l;if(!(a[(a[z>>2]|0)+28>>2]|0)){t=1;s=280;break A}a[F>>2]=a[M>>2];if(a[P>>2]|0){a[h>>2]=w;t=a[z>>2]|0;H5[a[P>>2]&15](a[dA>>2]|0,a[t>>2]|0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,a[t+28>>2]|0);t=u;break e}if(a[V>>2]|0){a[h>>2]=w;t=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[t>>2]|0,0,0,0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,a[t+28>>2]|0);t=u}else s=275}else s=275;break}case 9:{if(W5[a[u+44>>2]&63](u,w,a[WA>>2]|0)|0){a[z>>2]=0;s=275;break e}if(!(r[Y>>0]|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}t=ab(D,u,w,a[WA>>2]|0)|0;if(!t){t=1;s=280;break A}e=lb(A,d,t,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}if((a[e>>2]|0)!=(t|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}a[F>>2]=a[M>>2];a[(a[z>>2]|0)+24>>2]=0;r[(a[z>>2]|0)+33>>0]=0;if(!(a[O>>2]|0))t=(a[uA>>2]|0)!=0;else t=1;r[(a[z>>2]|0)+34>>0]=(t^1)&1;if(!(a[V>>2]|0))s=275;else t=u;break}case 10:{if(!(r[Y>>0]|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}t=ab(D,u,w,a[WA>>2]|0)|0;if(!t){t=1;s=280;break A}e=lb(A,y,t,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}if((a[e>>2]|0)!=(t|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}a[F>>2]=a[M>>2];a[(a[z>>2]|0)+24>>2]=0;r[(a[z>>2]|0)+33>>0]=1;if(!(a[O>>2]|0))t=(a[uA>>2]|0)!=0;else t=1;r[(a[z>>2]|0)+34>>0]=(t^1)&1;if(!(a[V>>2]|0))s=275;else t=u;break}case 18:{a[K>>2]=0;a[_>>2]=0;if(!(a[q>>2]|0))s=275;else{w=ab(Z,u,w,a[WA>>2]|0)|0;a[_>>2]=w;if(!w){t=1;s=280;break A}a[m>>2]=a[Q>>2];t=u}break}case 21:{if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break A}if(!(a[_>>2]|0))s=275;else{t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}tb(t);a[K>>2]=t;a[m>>2]=a[Q>>2];t=u}break}case 19:{if((a[_>>2]|0)!=0?(a[q>>2]|0)!=0:0){t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}a[h>>2]=w;R5[a[q>>2]&15](a[dA>>2]|0,a[_>>2]|0,a[QA>>2]|0,t,a[K>>2]|0);t=0}else t=1;nb(Z);s=274;break}case 20:{if((a[K>>2]|0)!=0?(a[q>>2]|0)!=0:0){a[h>>2]=w;R5[a[q>>2]&15](a[dA>>2]|0,a[_>>2]|0,a[QA>>2]|0,0,a[K>>2]|0);t=0}else t=1;nb(Z);s=274;break}case 58:{if(a[g>>2]|0)Bb(A,u,w,a[WA>>2]|0);t=vb(A,u,WA,f,c,b)|0;if(t|0){s=280;break A}if(!(a[WA>>2]|0)){s=189;break A}else t=u;break}case 44:{t=a[AA>>2]|0;do{if((a[$>>2]|0)>>>0>=t>>>0){if(!t){l=a[lA>>2]|0;a[AA>>2]=32;l=Q5[l&63](32)|0;a[eA>>2]=l;if(!l){s=198;break A}else break}i=a[tA>>2]|0;l=a[eA>>2]|0;t=t<<1;a[AA>>2]=t;t=m5[i&127](l,t)|0;if(!t){s=193;break A}a[eA>>2]=t;t=a[rA>>2]|0;if(t|0){t=m5[a[tA>>2]&127](t,a[AA>>2]<<2)|0;if(!t){t=1;s=280;break A}a[rA>>2]=t}}}while(0);r[(a[eA>>2]|0)+(a[$>>2]|0)>>0]=0;if(r[iA>>0]|0){t=Eb(A)|0;if((t|0)<0){t=1;s=280;break A}a[(a[rA>>2]|0)+(a[fA>>2]<<2)>>2]=t;a[fA>>2]=(a[fA>>2]|0)+1;a[(a[aA>>2]|0)+(t*28|0)>>2]=6;if(a[nA>>2]|0)t=u;else s=275}else s=275;break}case 50:{t=(a[eA>>2]|0)+(a[$>>2]|0)|0;if((r[t>>0]|0)==124){t=2;s=280;break A}r[t>>0]=44;if((r[iA>>0]|0)!=0?(a[nA>>2]|0)!=0:0)t=u;else s=275;break}case 49:{i=a[eA>>2]|0;e=a[$>>2]|0;t=r[i+e>>0]|0;if(t<<24>>24==44){t=2;s=280;break A}if(t<<24>>24==0&(r[iA>>0]|0)!=0?(mA=(a[aA>>2]|0)+((a[(a[rA>>2]|0)+((a[fA>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(a[mA>>2]|0)!=3):0){a[mA>>2]=5;t=(a[nA>>2]|0)==0&1;i=a[eA>>2]|0;e=a[$>>2]|0}else t=1;r[i+e>>0]=124;s=274;break}case 59:case 60:{r[vA>>0]=1;if(a[N>>2]|0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;if(!e){t=1;s=280;break A}i=lb(A,y,e,0)|0;a[M>>2]=a[F>>2];do{if(a[cA>>2]|0){if(!(r[ZA>>0]|0)){if(r[vA>>0]|0){s=219;break}}else if(a[uA>>2]|0){s=219;break}if(!i){t=11;s=280;break A}if(!(r[i+34>>0]|0)){t=24;s=280;break A}}else s=219}while(0);if((s|0)==219?(s=0,(i|0)==0):0){r[Y>>0]=r[ZA>>0]|0;if((l|0)!=60){s=275;break e}t=a[bA>>2]|0;if(!t){s=275;break e}J5[t&127](a[dA>>2]|0,e,1);t=u;break e}t=i+32|0;if(r[t>>0]|0){t=12;s=280;break A}if(a[i+4>>2]|0){t=Cb(A,i,(l|0)==60&1)|0;e=(t|0)==0;if(e){t=(e^1)&1;s=274;break e}else{s=280;break A}}if(!(a[EA>>2]|0)){r[Y>>0]=r[ZA>>0]|0;s=275;break e}r[CA>>0]=0;r[t>>0]=1;l=(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[i+20>>2]|0,a[i+16>>2]|0,a[i+24>>2]|0)|0)==0;r[t>>0]=0;if(l){t=21;s=280;break A}e=r[ZA>>0]|0;if(!(r[CA>>0]|0)){r[Y>>0]=e;t=u;break e}else t=0}else{e=r[ZA>>0]|0;r[Y>>0]=e;t=1}if((e<<24>>24==0?(LA=a[GA>>2]|0,(LA|0)!=0):0)?(Q5[LA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}else s=274;break}case 40:{if(!(a[nA>>2]|0))s=275;else{w=bb(A,u,w,a[WA>>2]|0)|0;a[X>>2]=w;if(!w){t=1;s=280;break A}a[fA>>2]=0;a[sA>>2]=0;r[iA>>0]=1;t=u}break}case 42:case 41:{if(!(r[iA>>0]|0))s=275;else{if(!(a[nA>>2]|0))t=1;else{t=Q5[a[lA>>2]&63](20)|0;if(!t){t=1;s=280;break A}s=t+4|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;a[t>>2]=(l|0)==41?2:1;a[h>>2]=w;J5[a[nA>>2]&127](a[dA>>2]|0,a[a[X>>2]>>2]|0,t);t=0}r[iA>>0]=0;s=274}break}case 43:{if((r[iA>>0]|0)!=0?(a[(a[aA>>2]|0)+((a[(a[rA>>2]|0)+((a[fA>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(a[nA>>2]|0)!=0):0)t=u;else s=275;break}case 51:{e=0;s=247;break}case 53:{e=1;s=247;break}case 52:{e=2;s=247;break}case 54:{e=3;s=247;break}case 45:{i=0;s=258;break}case 47:{i=1;s=258;break}case 46:{i=2;s=258;break}case 48:{i=3;s=258;break}case 55:{if(!(Zb(A,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}else t=u;break}case 56:{if(!(Gb(A,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}else t=u;break}case 0:{if((e|0)==14)t=u;else s=275;break}case 3:{if(!(a[C>>2]|0))s=275;else t=u;break}case 11:{if((r[Y>>0]|0)!=0?(a[V>>2]|0)!=0:0)t=u;else s=275;break}case 17:{if(!(a[q>>2]|0))s=275;else t=u;break}case 33:{if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0)t=u;else s=275;break}case 39:{if(!(a[nA>>2]|0))s=275;else t=u;break}default:s=275}}while(0);if((s|0)==33)if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break}else{t=1;s=34}else if((s|0)==80){s=0;if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0)t=u;else s=275}else if((s|0)==133){s=0;if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;a[(a[z>>2]|0)+16>>2]=e;e=a[z>>2]|0;if(!(a[e+16>>2]|0)){t=1;s=280;break}a[e+20>>2]=a[QA>>2];a[F>>2]=a[M>>2];if((l|0)==13&(a[V>>2]|0)!=0)t=u;else s=274}else s=274}else if((s|0)==247){s=0;if(r[iA>>0]|0){t=a[WA>>2]|0;if(e)t=t+(0-(a[u+64>>2]|0))|0;i=Eb(A)|0;if((i|0)<0){t=1;s=280;break}a[(a[aA>>2]|0)+(i*28|0)>>2]=4;a[(a[aA>>2]|0)+(i*28|0)+4>>2]=e;t=bb(A,u,w,t)|0;if(!t){t=1;s=280;break}e=a[t>>2]|0;a[(a[aA>>2]|0)+(i*28|0)+8>>2]=e;t=0;do{l=t;t=t+1|0}while((r[e+l>>0]|0)!=0);a[wA>>2]=(a[wA>>2]|0)+t;if(a[nA>>2]|0)t=u;else s=275}else s=275}else if((s|0)==258)if(r[iA>>0]|0){e=(a[nA>>2]|0)==0;t=e&1;s=(a[fA>>2]|0)+-1|0;a[fA>>2]=s;a[(a[aA>>2]|0)+((a[(a[rA>>2]|0)+(s<<2)>>2]|0)*28|0)+4>>2]=i;if(!(a[fA>>2]|0)){if(!e){e=Ib(A)|0;if(!e){t=1;s=280;break}a[h>>2]=w;J5[a[nA>>2]&127](a[dA>>2]|0,a[a[X>>2]>>2]|0,e)}r[iA>>0]=0;a[wA>>2]=0;s=274}else s=274}else s=275;if((s|0)==34){s=0;if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;if(!e){t=1;s=280;break}tb(e);a[(a[z>>2]|0)+24>>2]=e;a[F>>2]=a[M>>2];if((l|0)==14&(a[V>>2]|0)!=0)t=u;else s=274}else s=274}if((s|0)==274){s=0;if(!(t<<24>>24))t=u;else s=275}if((s|0)==275){s=0;if(!(a[g>>2]|0))t=u;else{Bb(A,u,w,a[WA>>2]|0);t=u}}switch(a[E>>2]|0){case 3:{s=278;break A}case 2:{t=35;s=280;break A}default:{}}e=a[WA>>2]|0;u=t;w=e;e=y5[a[t>>2]&127](t,e,f,WA)|0}A:switch(s|0){case 7:{a[c>>2]=w;t=0;break}case 9:{a[o>>2]=i;t=4;break}case 10:{t=(u|0)==(a[B>>2]|0);if(!t?(r[(a[uA>>2]|0)+20>>0]|0)==0:0){a[c>>2]=w;t=0;break}if((r[A+484>>0]|0)!=0|t^1)if((z5[a[oA>>2]&127](oA,-4,f,f,u)|0)==-1)t=29;else{a[c>>2]=w;t=0}else t=3;break}case 58:{do{if((r[W>>0]|0?(yA=r[vA>>0]|0,r[vA>>0]=1,a[N>>2]|0):0)?a[EA>>2]|0:0){t=lb(A,y,75395,36)|0;if(!t){t=1;break A}WA=t+20|0;a[WA>>2]=a[QA>>2];r[CA>>0]=0;if(!(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[WA>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0)|0)){t=21;break A}if(!(r[CA>>0]|0)){r[vA>>0]=yA;break}if(((r[ZA>>0]|0)==0?(zA=a[GA>>2]|0,zA|0):0)?(Q5[zA&63](a[dA>>2]|0)|0)==0:0){t=22;break A}}}while(0);a[A+276>>2]=58;t=cb(A,w,f,c)|0;break}case 184:{t=(e|0)==28?10:(e|0)==12?17:2;break}case 189:{a[A+276>>2]=59;t=0;break}case 193:{a[AA>>2]=(a[AA>>2]|0)>>>1;t=1;break}case 198:{a[AA>>2]=0;t=1;break}case 278:{a[c>>2]=a[WA>>2];t=0;break}case 280:break}k=YA;return t|0}function fb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+32|0;o=h+16|0;s=h+12|0;t=h+8|0;c=h+4|0;b=h;a[o>>2]=0;a[s>>2]=0;a[t>>2]=0;a[b>>2]=-1;w=A+144|0;u=A+284|0;n=(e|0)!=0;A:do{if(D5[(r[A+232>>0]<<24>>24?2:1)&3](e,a[w>>2]|0,i,f,u,t,c,o,s,b)|0){if((a[b>>2]|0)==1&(n^1)?(r[(a[A+352>>2]|0)+130>>0]=1,l=A+488|0,(a[l>>2]|0)==1):0)a[l>>2]=0;l=A+140|0;if(!(a[l>>2]|0))if(!(a[A+80>>2]|0)){i=0;e=0}else{Bb(A,a[w>>2]|0,i,f);i=0;e=0}else{e=a[o>>2]|0;if(!e)e=0;else{f=a[w>>2]|0;e=ab(A+436|0,f,e,e+(m5[a[f+28>>2]&127](f,e)|0)|0)|0;if(!e){e=1;break}a[A+452>>2]=a[A+448>>2]}n=a[t>>2]|0;if(n){t=a[w>>2]|0;n=ab(A+436|0,t,n,(a[c>>2]|0)+(0-(a[t+64>>2]|0))|0)|0;if(!n){e=1;break}}else n=0;X5[a[l>>2]&31](a[A+4>>2]|0,n,e,a[b>>2]|0);i=n}do{if(!(a[A+228>>2]|0)){n=a[s>>2]|0;l=n;if(n|0){b=a[n+64>>2]|0;s=a[w>>2]|0;if((b|0)==(a[s+64>>2]|0)?(b|0)!=2|(n|0)==(s|0):0){a[w>>2]=l;break}a[u>>2]=a[o>>2];e=19;break A}n=a[o>>2]|0;if(n|0){l=A+436|0;if(!e){e=a[w>>2]|0;e=ab(l,e,n,n+(m5[a[e+28>>2]&127](e,n)|0)|0)|0;if(!e){e=1;break A}}e=qb(A,e)|0;nb(l);if((e|0)!=18)break A;a[u>>2]=a[o>>2];e=18;break A}}}while(0);if((e|0)!=0|(i|0)!=0){nb(A+436|0);e=0}else e=0}else e=n?31:30}while(0);k=h;return e|0}function ab(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;do{if(!(ub(A,e,i,f)|0))e=0;else{i=A+12|0;e=a[i>>2]|0;if((e|0)==(a[A+8>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=0;e=a[A+16>>2]|0}}while(0);return e|0}function nb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=A+4|0;e=a[r>>2]|0;A:do{if(!e){a[r>>2]=a[A>>2];e=A}else{i=a[A>>2]|0;while(1){if(!i){e=A;break A}n=a[i>>2]|0;a[i>>2]=e;a[r>>2]=i;f=i;i=n;e=f}}}while(0);a[e>>2]=0;a[A+16>>2]=0;a[A+12>>2]=0;a[A+8>>2]=0;return}function lb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;C=e+8|0;A:do{if(!(a[C>>2]|0))if(f){r[e+4>>0]=6;a[C>>2]=64;l=e+16|0;t=Q5[a[a[l>>2]>>2]&63](256)|0;a[e>>2]=t;if(!t){a[C>>2]=0;l=0;break}else{Y6(t|0,0,256)|0;c=Kb(A,i)|0;c=(a[C>>2]|0)+-1&c;t=e;k=27;break}}else l=0;else{E=Kb(A,i)|0;b=a[C>>2]|0;c=b+-1|0;s=a[e>>2]|0;w=E&0-b;g=e+4|0;u=c>>>2;t=0;c=c&E;while(1){l=a[s+(c<<2)>>2]|0;if(!l)break;if((_b(i,a[l>>2]|0)|0)<<24>>24)break A;if(!(t<<24>>24))l=(w>>>((n[g>>0]|0)+-1|0)&u|1)&255;else l=t;v=l&255;t=l;c=c-v+(c>>>0>>0?b:0)|0}if(f){t=r[g>>0]|0;l=t&255;if(!((a[e+12>>2]|0)>>>(l+-1|0))){l=e+16|0;t=e;k=27;break}h=l+1&255;c=t+1&255;B=1<>2]>>2]&63](t)|0;if(v){Y6(v|0,0,t|0)|0;o=0-B|0;u=c+-1|0;k=d>>>2;w=0;while(1){if(w>>>0>=(a[C>>2]|0)>>>0)break;t=a[(a[e>>2]|0)+(w<<2)>>2]|0;if(t|0){t=Kb(A,a[t>>2]|0)|0;b=((t&o)>>>u&k|1)&255;t=t&d;c=0;while(1){s=v+(t<<2)|0;if(!(a[s>>2]|0))break;s=c<<24>>24==0?b:c;I=s&255;t=t+(t>>>0>>0?B:0)-I|0;c=s}a[s>>2]=a[(a[e>>2]|0)+(w<<2)>>2]}w=w+1|0}F5[a[(a[l>>2]|0)+8>>2]&127](a[e>>2]|0);a[e>>2]=v;r[g>>0]=h;a[C>>2]=B;b=((E&o)>>>u&k|1)&255;t=d&E;c=0;while(1){if(!(a[v+(t<<2)>>2]|0)){c=t;t=e;k=27;break A}I=c<<24>>24==0?b:c;C=I&255;t=t+(t>>>0>>0?B:0)-C|0;c=I}}else l=0}else l=0}}while(0);if((k|0)==27){l=Q5[a[a[l>>2]>>2]&63](f)|0;a[(a[t>>2]|0)+(c<<2)>>2]=l;l=a[(a[t>>2]|0)+(c<<2)>>2]|0;if(!l)l=0;else{Y6(l|0,0,f|0)|0;a[a[(a[t>>2]|0)+(c<<2)>>2]>>2]=i;l=e+12|0;a[l>>2]=(a[l>>2]|0)+1;l=a[(a[t>>2]|0)+(c<<2)>>2]|0}}return l|0}function tb(A){A=A|0;var e=0,i=0,f=0;f=A;e=A;while(1){i=r[f>>0]|0;if(!(i<<24>>24))break;switch(i<<24>>24|0){case 10:case 13:case 32:{if((e|0)!=(A|0)){if((r[e+-1>>0]|0)!=32){r[e>>0]=32;e=e+1|0}}else e=A;break}default:{r[e>>0]=i;e=e+1|0}}f=f+1|0}if((e|0)!=(A|0)){A=e+-1|0;A=(r[A>>0]|0)==32?A:e}r[A>>0]=0;return}function cb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;e=Lb(A,0,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;if((e|0)==0?(Jb(A)|0)<<24>>24==0:0)e=1;return e|0}function bb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=a[A+352>>2]|0;e=ab(n+80|0,e,i,r)|0;do{if((e|0)!=0?(f=lb(A,n+20|0,e,24)|0,(f|0)!=0):0)if((a[f>>2]|0)==(e|0)){a[n+96>>2]=a[n+92>>2];if(!(Xb(A,f)|0)){f=0;break}}else a[n+92>>2]=a[n+96>>2];else f=0}while(0);return f|0}function sb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=a[A+352>>2]|0;b=w+80|0;u=w+92|0;l=a[u>>2]|0;s=w+88|0;if((l|0)==(a[s>>2]|0))if(!((ob(b)|0)<<24>>24))n=0;else{l=a[u>>2]|0;t=4}else t=4;A:do{if((t|0)==4){a[u>>2]=l+1;r[l>>0]=0;e=ab(b,e,i,f)|0;if((e|0)!=0?(c=e+1|0,n=lb(A,w+40|0,c,12)|0,(n|0)!=0):0){if((a[n>>2]|0)!=(c|0)){a[u>>2]=a[w+96>>2];break}l=a[u>>2]|0;t=w+96|0;a[t>>2]=l;if(r[A+232>>0]|0){i=r[c>>0]|0;e:do{if(i<<24>>24==120)if((((r[e+2>>0]|0)==109?(r[e+3>>0]|0)==108:0)?(r[e+4>>0]|0)==110:0)?(r[e+5>>0]|0)==115:0){switch(r[e+6>>0]|0){case 0:{l=w+152|0;break}case 58:{l=lb(A,w+60|0,e+7|0,8)|0;break}default:{f=0;e=120;break e}}a[n+4>>2]=l;r[n+9>>0]=1;break A}else{f=0;e=120}else{f=0;e=i}}while(0);e:while(1){switch(e<<24>>24){case 0:break A;case 58:{i=0;break e}default:{}}e=f+1|0;f=e;e=r[c+e>>0]|0}while(1){e=(l|0)==(a[s>>2]|0);if((i|0)>=(f|0))break;if(e){if(!((ob(b)|0)<<24>>24)){n=0;break A}l=a[u>>2]|0}e=r[c+i>>0]|0;a[u>>2]=l+1;r[l>>0]=e;i=i+1|0;l=a[u>>2]|0}if(e){if(!((ob(b)|0)<<24>>24)){n=0;break}l=a[u>>2]|0}a[u>>2]=l+1;r[l>>0]=0;l=lb(A,w+60|0,a[t>>2]|0,8)|0;a[n+4>>2]=l;if(l){e=a[t>>2]|0;if((a[l>>2]|0)==(e|0)){a[t>>2]=a[u>>2];break}else{a[u>>2]=e;break}}else n=0}}else n=0}}while(0);return n|0}function wb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;n=A+12|0;l=A+8|0;while(1){i=r[e>>0]|0;if(!(i<<24>>24)){t=7;break}f=a[n>>2]|0;if((f|0)==(a[l>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}f=a[n>>2]|0;i=r[e>>0]|0}a[n>>2]=f+1;r[f>>0]=i;e=e+1|0}if((t|0)==7)e=a[A+16>>2]|0;return e|0}function ub(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;a[l>>2]=i;n=A+12|0;if((a[n>>2]|0)==0?(ob(A)|0)<<24>>24==0:0)i=0;else f=3;A:do{if((f|0)==3){i=e+56|0;f=A+8|0;while(1){if((z5[a[i>>2]&127](e,l,r,n,a[f>>2]|0)|0)>>>0<2)break;if(!((ob(A)|0)<<24>>24)){i=0;break A}}i=a[A+16>>2]|0}}while(0);k=t;return i|0}function kb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0;t=f<<24>>24==0;u=A+12|0;w=a[u>>2]|0;A:do{if(!(t&(n|0)==0)){c=A+20|0;f=0;while(1){if((f|0)>=(w|0))break;if((a[(a[c>>2]|0)+(f*12|0)>>2]|0)==(e|0)){f=1;break A}else f=f+1|0}if((!t?(b=A+8|0,(a[b>>2]|0)==0):0)?(r[e+9>>0]|0)==0:0){a[b>>2]=e;s=9}else s=9}else s=9}while(0);A:do{if((s|0)==9){c=A+16|0;do{if((w|0)==(a[c>>2]|0))if(!w){a[c>>2]=8;f=Q5[a[l+12>>2]&63](96)|0;a[A+20>>2]=f;if(f|0)break;a[c>>2]=0;f=0;break A}else{t=A+20|0;f=m5[a[l+16>>2]&127](a[t>>2]|0,w*24|0)|0;if(!f){f=0;break A}a[c>>2]=w<<1;a[t>>2]=f;break}else f=a[A+20>>2]|0}while(0);l=a[u>>2]|0;a[f+(l*12|0)>>2]=e;a[f+(l*12|0)+8>>2]=n;r[f+(l*12|0)+4>>0]=i;if(!(i<<24>>24))r[e+8>>0]=1;a[u>>2]=(a[u>>2]|0)+1;f=1}}while(0);return f|0}function ob(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;e=A+4|0;r=a[e>>2]|0;do{if(r){f=A+16|0;n=a[f>>2]|0;if(!n){a[A>>2]=r;a[e>>2]=a[r>>2];a[r>>2]=0;s=a[A>>2]|0;e=s+8|0;a[f>>2]=e;a[A+8>>2]=(a[s+4>>2]|0)+(s+8);a[A+12>>2]=e;e=1;break}i=A+8|0;if(((a[i>>2]|0)-n|0)<(a[r+4>>2]|0)){b=a[r>>2]|0;a[r>>2]=a[A>>2];s=a[e>>2]|0;a[A>>2]=s;a[e>>2]=b;e=a[f>>2]|0;y6(s+8|0,e|0,(a[i>>2]|0)-e|0)|0;e=a[A>>2]|0;s=A+12|0;a[s>>2]=(a[s>>2]|0)-(a[f>>2]|0)+(e+8);a[f>>2]=e+8;a[i>>2]=(a[e+4>>2]|0)+(e+8);e=1}else l=6}else l=6}while(0);A:do{if((l|0)==6){r=a[A>>2]|0;b=A+16|0;do{if(!r){t=b;e=a[b>>2]|0}else{c=a[b>>2]|0;e=c;if((c|0)!=(r+8|0)){t=b;break}f=A+8|0;n=(a[f>>2]|0)-e<<1;l=A+12|0;i=(a[l>>2]|0)-e|0;if((n|0)<0){e=0;break A}e=Ob(n)|0;if(!e){e=0;break A}e=m5[a[(a[A+20>>2]|0)+4>>2]&127](r,e)|0;if(!e){e=0;break A}a[A>>2]=e;a[e+4>>2]=n;e=a[A>>2]|0;a[l>>2]=e+8+i;a[b>>2]=e+8;a[f>>2]=e+8+n;e=1;break A}}while(0);c=A+8|0;e=(a[c>>2]|0)-e|0;if((e|0)>=0){if((e|0)>=1024){e=e<<1;if((e|0)<0){e=0;break}}else e=1024;i=Ob(e)|0;if((i|0)!=0?(s=Q5[a[a[A+20>>2]>>2]&63](i)|0,(s|0)!=0):0){a[s+4>>2]=e;a[s>>2]=a[A>>2];a[A>>2]=s;l=A+12|0;A=a[l>>2]|0;r=a[b>>2]|0;i=A;f=r;if((A|0)==(r|0)){n=s+8|0;r=f}else{n=s+8|0;y6(n|0,r|0,i-f|0)|0;r=a[t>>2]|0;i=a[l>>2]|0}a[l>>2]=s+8+(i-r);a[b>>2]=n;a[c>>2]=s+8+e;e=1}else e=0}else e=0}}while(0);return e|0}function hb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0;A=Pb(A,e,i,f,n,l)|0;do{if(!A){e=l+12|0;A=a[e>>2]|0;if((i<<24>>24==0?(a[l+16>>2]|0)!=(A|0):0)?(t=A+-1|0,(r[t>>0]|0)==32):0){a[e>>2]=t;A=t}if((A|0)==(a[l+8>>2]|0)){if(!((ob(l)|0)<<24>>24)){A=1;break}A=a[e>>2]|0}a[e>>2]=A+1;r[A>>0]=0;A=0}}while(0);return A|0}function db(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+16|0;m=D;L=D+4|0;n=a[A+352>>2]|0;W=n+104|0;z=A+272|0;y=a[z>>2]|0;a[z>>2]=1;if((a[W>>2]|0)==0?(ob(W)|0)<<24>>24==0:0)n=1;else{w=e+20|0;u=A+484|0;o=A+144|0;h=A+412|0;d=e+64|0;B=n+132|0;v=A+428|0;g=A+424|0;E=A+224|0;C=A+112|0;s=n+130|0;I=n+128|0;Z=n+131|0;G=A+116|0;Q=n+112|0;c=n+116|0;b=e+40|0;A:while(1){e:do{switch(y5[a[w>>2]&127](e,i,f,m)|0){case-4:{n=0;break A}case-1:{Y=37;break A}case 0:{Y=39;break A}case 28:{if((r[u>>0]|0)==0?(a[o>>2]|0)==(e|0):0){Y=19;break A}n=a[d>>2]|0;n=ab(h,e,i+n|0,(a[m>>2]|0)+(0-n)|0)|0;if(!n){n=1;break A}l=lb(A,B,n,0)|0;a[g>>2]=a[v>>2];if(!l){Y=9;break A}t=l+32|0;if(r[t>>0]|0){Y=11;break A}n=l+16|0;if(!(a[n>>2]|0)){r[t>>0]=1;n=a[l+4>>2]|0;n=db(A,a[E>>2]|0,n,n+(a[l+8>>2]|0)|0)|0;r[t>>0]=0;if(!n)break e;else break A}if(a[C>>2]|0){r[Z>>0]=0;r[t>>0]=1;l=(z5[a[C>>2]&127](a[G>>2]|0,0,a[l+20>>2]|0,a[n>>2]|0,a[l+24>>2]|0)|0)==0;r[t>>0]=0;if(l){n=21;break A}if(r[Z>>0]|0)break e}r[I>>0]=r[s>>0]|0;break}case 6:case 9:{if(!(ub(W,e,i,a[m>>2]|0)|0)){n=1;break A}break}case-3:{a[m>>2]=i+(a[d>>2]|0);Y=22;break}case 7:{Y=22;break}case 10:{n=m5[a[b>>2]&127](e,i)|0;if((n|0)<0){Y=27;break A}l=ds(n,L)|0;i=0;while(1){if((i|0)>=(l|0))break;n=a[c>>2]|0;if((a[Q>>2]|0)==(n|0)){if(!((ob(W)|0)<<24>>24)){n=1;Y=35;break A}n=a[c>>2]|0}t=r[L+i>>0]|0;a[c>>2]=n+1;r[n>>0]=t;i=i+1|0}break}default:{Y=41;break A}}}while(0);if((Y|0)==22){Y=0;n=a[c>>2]|0;if((a[Q>>2]|0)==(n|0)){if(!((ob(W)|0)<<24>>24)){n=1;break}n=a[c>>2]|0}a[c>>2]=n+1;r[n>>0]=10}i=a[m>>2]|0}if((Y|0)==9){r[I>>0]=r[s>>0]|0;n=0}else if((Y|0)==11)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=12}else n=12;else if((Y|0)==19){a[A+284>>2]=i;n=10}else if((Y|0)==27)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=14;Y=35}else{n=14;Y=35}else if((Y|0)==37)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=4}else n=4;else if((Y|0)==39)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=a[m>>2];n=4}else n=4;else if((Y|0)==41)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=23}else n=23;a[z>>2]=y}k=D;return n|0}function Bb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+16|0;w=o;u=o+4|0;a[w>>2]=i;if(!(r[e+68>>0]|0)){if((a[A+144>>2]|0)==(e|0)){n=A+288|0;l=A+284|0}else{l=a[A+296>>2]|0;n=l+4|0}t=A+44|0;c=e+56|0;b=A+48|0;s=A+80|0;i=A+4|0;do{a[u>>2]=a[t>>2];A=z5[a[c>>2]&127](e,w,f,u,a[b>>2]|0)|0;a[n>>2]=a[w>>2];h=a[t>>2]|0;J5[a[s>>2]&127](a[i>>2]|0,h,(a[u>>2]|0)-h|0);a[l>>2]=a[w>>2]}while(A>>>0>1)}else J5[a[A+80>>2]&127](a[A+4>>2]|0,i,f-i|0);k=o;return}function vb(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;c=s;b=a[i>>2]|0;if((a[A+144>>2]|0)==(e|0)){t=A+284|0;a[t>>2]=b;l=A+288|0}else{t=a[A+296>>2]|0;l=t+4|0}a[t>>2]=b;a[i>>2]=0;w=y5[a[e+12>>2]&127](e,b,r,c)|0;r=a[c>>2]|0;a[l>>2]=r;switch(w|0){case 42:{if(a[A+80>>2]|0){Bb(A,e,b,r);r=a[c>>2]|0}a[i>>2]=r;a[f>>2]=r;r=(a[A+476>>2]|0)==2?35:0;break}case 0:{a[t>>2]=r;r=4;break}case-2:{if(!(n<<24>>24))r=6;else{a[f>>2]=b;r=0}break}case-4:case-1:{if(!(n<<24>>24))r=2;else{a[f>>2]=b;r=0}break}default:{a[t>>2]=r;r=23}}k=s;return r|0}function gb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;a[n>>2]=e;e=vb(A,a[A+144>>2]|0,n,i,f,(r[A+480>>0]|0)==0&1)|0;n=a[n>>2]|0;if(!((e|0)!=0|(n|0)==0)){a[A+276>>2]=57;e=ib(A,n,i,f)|0}k=l;return e|0}function Eb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=a[A+352>>2]|0;c=t+184|0;if(!(a[c>>2]|0)){e=Q5[a[A+12>>2]&63](a[A+464>>2]<<2)|0;a[c>>2]=e;if(!e)e=-1;else{a[e>>2]=0;i=4}}else i=4;do{if((i|0)==4){l=t+176|0;e=a[l>>2]|0;n=t+172|0;i=a[n>>2]|0;f=t+164|0;r=a[f>>2]|0;if(e>>>0>>0)n=r;else{if(!r){e=Q5[a[A+12>>2]&63](896)|0;if(!e){e=-1;break}else{i=e;e=32}}else{e=m5[a[A+16>>2]&127](r,i*56|0)|0;if(!e){e=-1;break}i=e;e=a[n>>2]<<1}a[n>>2]=e;a[f>>2]=i;e=a[l>>2]|0;n=i}a[l>>2]=e+1;i=a[t+180>>2]|0;if(i|0){A=a[(a[c>>2]|0)+(i+-1<<2)>>2]|0;f=n+(A*28|0)+16|0;i=a[f>>2]|0;if(i|0)a[n+(i*28|0)+24>>2]=e;i=n+(A*28|0)+20|0;r=a[i>>2]|0;if(!r)a[n+(A*28|0)+12>>2]=e;a[f>>2]=e;a[i>>2]=r+1}c=n+(e*28|0)+12|0;a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0}}while(0);return e|0}function Cb(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;u=A+300|0;f=a[u>>2]|0;if(!f){f=Q5[a[A+12>>2]&63](24)|0;if(!f)f=1;else{s=f;n=4}}else{a[u>>2]=a[f+8>>2];s=f;n=4}do{if((n|0)==4){l=e+32|0;r[l>>0]=1;t=e+12|0;a[t>>2]=0;c=A+296|0;b=s+8|0;a[b>>2]=a[c>>2];a[c>>2]=s;a[s+12>>2]=e;f=A+308|0;a[s+16>>2]=a[f>>2];r[s+20>>0]=i;a[s>>2]=0;a[s+4>>2]=0;n=a[e+4>>2]|0;i=n+(a[e+8>>2]|0)|0;a[w>>2]=n;if(!(r[e+33>>0]|0))f=Lb(A,a[f>>2]|0,a[A+224>>2]|0,n,i,w,0)|0;else{e=A+224|0;f=a[e>>2]|0;f=y5[a[f>>2]&127](f,n,i,w)|0;f=rb(A,a[e>>2]|0,n,i,f,a[w>>2]|0,w,0)|0}if(!f){f=a[w>>2]|0;if((i|0)!=(f|0)?(a[A+476>>2]|0)==3:0){a[t>>2]=f-n;a[A+276>>2]=60;f=0;break}r[l>>0]=0;a[c>>2]=a[b>>2];a[b>>2]=a[u>>2];a[u>>2]=s;f=0}}}while(0);k=o;return f|0}function Ib(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+16|0;i=n+4|0;r=n;e=a[A+352>>2]|0;f=e+176|0;e=Q5[a[A+12>>2]&63](((a[f>>2]|0)*20|0)+(a[e+168>>2]|0)|0)|0;if(!e)e=0;else{a[r>>2]=e+((a[f>>2]|0)*20|0);a[i>>2]=e+20;mb(A,0,e,i,r)}k=n;return e|0}function Zb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=A+64|0;if(!(a[c>>2]|0))if(!(a[A+80>>2]|0))i=1;else{Bb(A,e,i,r);i=1}else{l=e+64|0;n=i+(a[l>>2]<<1)|0;i=n+(m5[a[e+28>>2]&127](e,n)|0)|0;f=A+412|0;n=ab(f,e,n,i)|0;if((n|0)!=0?(a[A+428>>2]=a[A+424>>2],t=m5[a[e+32>>2]&127](e,i)|0,t=ab(f,e,t,r+(0-(a[l>>2]<<1))|0)|0,(t|0)!=0):0){Qb(t);J5[a[c>>2]&127](a[A+4>>2]|0,n,t);nb(f);i=1}else i=0}return i|0}function Gb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;n=A+68|0;if(!(a[n>>2]|0))if(!(a[A+80>>2]|0))e=1;else{Bb(A,e,i,r);e=1}else{f=A+412|0;l=a[e+64>>2]|0;e=ab(f,e,i+(l<<2)|0,r+(U(l,-3)|0)|0)|0;if(!e)e=0;else{Qb(e);V5[a[n>>2]&63](a[A+4>>2]|0,e);nb(f);e=1}}return e|0}function Qb(A){A=A|0;var e=0,i=0,f=0;A:while(1){switch(r[A>>0]|0){case 0:break A;case 13:{i=A;e=13;f=4;break A}default:{}}A=A+1|0}if((f|0)==4){while(1){if(e<<24>>24==13){r[i>>0]=10;f=A+1|0;A=(r[f>>0]|0)==10?A+2|0:f}else{r[i>>0]=e;A=A+1|0}i=i+1|0;e=r[A>>0]|0;if(!(e<<24>>24))break;else f=4}r[i>>0]=0}return}function mb(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=(a[A+352>>2]|0)+164|0;c=a[(a[b>>2]|0)+(e*28|0)>>2]|0;a[i>>2]=c;a[i+4>>2]=a[(a[b>>2]|0)+(e*28|0)+4>>2];if((c|0)==4){a[i+8>>2]=a[n>>2];e=a[(a[b>>2]|0)+(e*28|0)+8>>2]|0;while(1){c=r[e>>0]|0;b=a[n>>2]|0;a[n>>2]=b+1;r[b>>0]=c;if(!(r[e>>0]|0))break;else e=e+1|0}a[i+12>>2]=0;a[i+16>>2]=0}else{l=a[(a[b>>2]|0)+(e*28|0)+20>>2]|0;t=i+12|0;a[t>>2]=l;c=i+16|0;a[c>>2]=a[f>>2];a[f>>2]=(a[f>>2]|0)+(l*20|0);e=(a[b>>2]|0)+(e*28|0)+12|0;l=0;while(1){e=a[e>>2]|0;if(l>>>0>=(a[t>>2]|0)>>>0)break;mb(A,e,(a[c>>2]|0)+(l*20|0)|0,f,n);e=(a[b>>2]|0)+(e*28|0)+24|0;l=l+1|0}a[i+8>>2]=0}return}function Lb(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0,tA=0,cA=0,bA=0,sA=0,wA=0,uA=0;wA=k;k=k+48|0;cA=wA+28|0;fA=wA+32|0;bA=wA+24|0;_=wA;a[cA>>2]=f;q=a[A+352>>2]|0;if((a[A+144>>2]|0)==(i|0)){aA=A+284|0;K=A+288|0}else{K=a[A+296>>2]|0;aA=K;K=K+4|0}a[aA>>2]=f;v=i+4|0;nA=A+80|0;g=A+476|0;E=i+44|0;C=i+64|0;I=q+80|0;Z=q+96|0;G=q+92|0;Q=q+129|0;m=A+112|0;L=A+116|0;W=A+428|0;y=A+424|0;z=A+304|0;Y=A+120|0;lA=A+4|0;D=q+130|0;$=A+60|0;M=A+364|0;F=A+12|0;V=A+360|0;J=i+28|0;tA=A+308|0;AA=i+56|0;N=A+16|0;X=A+52|0;R=A+412|0;H=A+388|0;p=A+56|0;U=A+232|0;x=A+233|0;T=A+468|0;j=A+104|0;S=A+372|0;P=i+40|0;O=A+72|0;eA=i+68|0;iA=A+44|0;rA=A+48|0;A:while(1){B=a[cA>>2]|0;a[fA>>2]=B;B=y5[a[v>>2]&127](i,B,n,fA)|0;f=a[fA>>2]|0;a[K>>2]=f;b=f;e:do{switch(B|0){case-3:{sA=6;break A}case-4:{sA=15;break A}case 0:{sA=20;break A}case-1:{sA=21;break A}case-2:{sA=23;break A}case 12:{f=17;break A}case-5:{sA=134;break A}case 9:{B=a[C>>2]|0;B=(W5[a[E>>2]&63](i,(a[cA>>2]|0)+B|0,b+(0-B)|0)|0)&255;r[bA>>0]=B;do{if(B<<24>>24){f=a[$>>2]|0;if(f|0){J5[f&127](a[lA>>2]|0,bA,1);break}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{c=a[C>>2]|0;c=ab(I,i,(a[cA>>2]|0)+c|0,(a[fA>>2]|0)+(0-c)|0)|0;if(!c){f=1;sA=56;break A}b=lb(A,q,c,0)|0;a[G>>2]=a[Z>>2];if((r[Q>>0]|0)!=0?(r[D>>0]|0)==0:0){if(!b){f=a[Y>>2]|0;if(f|0){J5[f&127](a[lA>>2]|0,c,0);break}if(!(a[nA>>2]|0))break;Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}}else{if(!b){f=11;sA=56;break A}if(!(r[b+34>>0]|0)){f=24;sA=56;break A}}f=b+32|0;if(r[f>>0]|0){f=12;sA=56;break A}if(a[b+28>>2]|0){f=15;sA=56;break A}if(!(a[b+4>>2]|0)){if(!(a[m>>2]|0)){if(!(a[nA>>2]|0))break;Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}r[f>>0]=1;c=yb(A)|0;r[f>>0]=0;if(!c){f=1;sA=56;break A}if(!(z5[a[m>>2]&127](a[L>>2]|0,c,a[b+20>>2]|0,a[b+16>>2]|0,a[b+24>>2]|0)|0)){f=21;sA=56;break A}a[y>>2]=a[W>>2];break}if(r[z>>0]|0){f=Cb(A,b,0)|0;if(!f)break;else{sA=58;break A}}f=a[Y>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else J5[f&127](a[lA>>2]|0,a[b>>2]|0,0);break e}}while(0);break}case 1:case 2:{f=a[M>>2]|0;if(!f){f=Q5[a[F>>2]&63](48)|0;if(!f){f=1;sA=75;break A}c=Q5[a[F>>2]&63](32)|0;a[f+36>>2]=c;if(!c){sA=63;break A}a[f+40>>2]=c+32}else a[M>>2]=a[f>>2];u=f+44|0;a[u>>2]=0;a[f>>2]=a[V>>2];a[V>>2]=f;B=f+12|0;a[f+16>>2]=0;a[f+20>>2]=0;d=(a[cA>>2]|0)+(a[C>>2]|0)|0;h=f+4|0;a[h>>2]=d;o=f+8|0;a[o>>2]=m5[a[J>>2]&127](i,d)|0;a[tA>>2]=(a[tA>>2]|0)+1;h=a[h>>2]|0;o=h+(a[o>>2]|0)|0;a[_>>2]=h;h=f+36|0;a[bA>>2]=a[h>>2];d=f+40|0;c=a[d>>2]|0;while(1){uA=z5[a[AA>>2]&127](i,_,o,bA,c+-1|0)|0;c=a[bA>>2]|0;s=a[h>>2]|0;b=s;w=c-b|0;if((uA|0)==1?1:(a[_>>2]|0)>>>0>=o>>>0)break;b=(a[d>>2]|0)-b<<1;c=m5[a[N>>2]&127](s,b)|0;if(!c){sA=69;break A}a[h>>2]=c;uA=c+b|0;a[d>>2]=uA;a[bA>>2]=c+w;c=uA}a[f+24>>2]=w;a[B>>2]=b;r[c>>0]=0;f=zb(A,i,a[cA>>2]|0,B,u)|0;if(f|0){sA=75;break A}f=a[X>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else J5[f&127](a[lA>>2]|0,a[B>>2]|0,a[H>>2]|0);nb(R);break}case 3:case 4:{uA=(a[cA>>2]|0)+(a[C>>2]|0)|0;a[bA>>2]=0;uA=ab(R,i,uA,uA+(m5[a[J>>2]&127](i,uA)|0)|0)|0;a[_>>2]=uA;if(!uA){f=1;sA=89;break A}a[W>>2]=a[y>>2];f=zb(A,i,a[cA>>2]|0,_,bA)|0;if(f|0){sA=79;break A}a[W>>2]=a[y>>2];f=a[X>>2]|0;if(!f)c=1;else{J5[f&127](a[lA>>2]|0,a[_>>2]|0,a[H>>2]|0);c=0}f=a[p>>2]|0;if(!f){if(c|0?a[nA>>2]|0:0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{if(a[X>>2]|0){a[aA>>2]=a[K>>2];f=a[p>>2]|0}V5[f&63](a[lA>>2]|0,a[_>>2]|0)}nb(R);Yb(A,a[bA>>2]|0);if((a[tA>>2]|0)==0?(a[g>>2]&-2|0)!=2:0){sA=92;break A}break}case 5:{if((a[tA>>2]|0)==(e|0)){f=13;break A}w=a[V>>2]|0;a[V>>2]=a[w>>2];a[w>>2]=a[M>>2];a[M>>2]=w;f=(a[cA>>2]|0)+(a[C>>2]<<1)|0;c=m5[a[J>>2]&127](i,f)|0;if((c|0)!=(a[w+8>>2]|0)){sA=96;break A}if(F4(a[w+4>>2]|0,f,c)|0){sA=96;break A}a[tA>>2]=(a[tA>>2]|0)+-1;f=a[p>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{c=a[w+16>>2]|0;s=w+12|0;if((c|0)!=0&(r[U>>0]|0)!=0){f=(a[s>>2]|0)+(a[w+28>>2]|0)|0;while(1){b=r[c>>0]|0;if(!(b<<24>>24))break;r[f>>0]=b;f=f+1|0;c=c+1|0}c=a[w+20>>2]|0;i:do{if((c|0)!=0&(r[x>>0]|0)!=0){r[f>>0]=r[T>>0]|0;while(1){f=f+1|0;b=r[c>>0]|0;if(!(b<<24>>24))break i;r[f>>0]=b;c=c+1|0}}}while(0);r[f>>0]=0;f=a[p>>2]|0}V5[f&63](a[lA>>2]|0,a[s>>2]|0)}b=w+44|0;while(1){s=a[b>>2]|0;if(!s)break;f=a[j>>2]|0;if(!f){f=s;c=s}else{V5[f&63](a[lA>>2]|0,a[a[s>>2]>>2]|0);f=s;c=a[b>>2]|0}a[b>>2]=a[c+4>>2];a[s+4>>2]=a[S>>2];a[S>>2]=s;a[(a[f>>2]|0)+4>>2]=a[s+8>>2]}if(!(a[tA>>2]|0)){sA=117;break A}break}case 10:{f=m5[a[P>>2]&127](i,a[cA>>2]|0)|0;if((f|0)<0){f=14;break A}c=a[$>>2]|0;if(c|0){B=a[lA>>2]|0;uA=ds(f,bA)|0;J5[c&127](B,bA,uA);break e}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}case 7:{f=a[$>>2]|0;if(f|0){r[bA>>0]=10;J5[f&127](a[lA>>2]|0,bA,1);break e}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b);break}case 8:{f=a[O>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b)}else F5[f&127](a[lA>>2]|0);f=Mb(A,i,fA,n,l,t)|0;if(f|0)break A;if(!(a[fA>>2]|0)){sA=133;break A}break}case 6:{c=a[$>>2]|0;if(!c){if(!(a[nA>>2]|0))break e;Bb(A,i,a[cA>>2]|0,b);break e}if(!(r[eA>>0]|0))f=b;else{uA=a[cA>>2]|0;J5[c&127](a[lA>>2]|0,uA,f-uA|0);break e}while(1){a[bA>>2]=a[iA>>2];uA=z5[a[AA>>2]&127](i,cA,f,bA,a[rA>>2]|0)|0;a[K>>2]=a[cA>>2];B=a[iA>>2]|0;J5[c&127](a[lA>>2]|0,B,(a[bA>>2]|0)-B|0);if(uA>>>0<2)break;a[aA>>2]=a[cA>>2];f=a[fA>>2]|0}break}case 11:{if(!(Zb(A,i,a[cA>>2]|0,b)|0)){f=1;break A}break}case 13:{if(!(Gb(A,i,a[cA>>2]|0,b)|0)){f=1;break A}break}default:if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b)}}while(0);uA=a[fA>>2]|0;a[cA>>2]=uA;a[aA>>2]=uA;switch(a[g>>2]|0){case 2:{f=35;break A}case 3:{sA=160;break A}default:{}}}switch(sA|0){case 6:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}a[K>>2]=n;f=a[$>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,n)}else{r[bA>>0]=10;J5[f&127](a[lA>>2]|0,bA,1)}if(e)if((a[tA>>2]|0)==(e|0)){a[l>>2]=n;f=0}else f=13;else f=3;break}case 15:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}if((e|0)>0)if((a[tA>>2]|0)==(e|0)){a[l>>2]=a[cA>>2];f=0}else f=13;else f=3;break}case 20:{a[aA>>2]=f;f=4;break}case 21:{if(!(t<<24>>24))f=5;else{a[l>>2]=a[cA>>2];f=0}break}case 23:{if(!(t<<24>>24))f=6;else{a[l>>2]=a[cA>>2];f=0}break}case 56:break;case 58:break;case 63:{F5[a[A+20>>2]&127](f);f=1;sA=75;break}case 69:{f=1;sA=75;break}case 79:{Yb(A,a[bA>>2]|0);sA=89;break}case 92:{f=Db(A,a[fA>>2]|0,n,l)|0;break}case 96:{a[aA>>2]=f;f=7;break}case 117:{f=Db(A,a[fA>>2]|0,n,l)|0;break}case 133:{a[A+276>>2]=61;f=0;break}case 134:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}f=a[$>>2]|0;do{if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,n)}else if(!(r[eA>>0]|0)){a[bA>>2]=a[iA>>2];z5[a[AA>>2]&127](i,cA,n,bA,a[rA>>2]|0)|0;uA=a[iA>>2]|0;J5[a[$>>2]&127](a[lA>>2]|0,uA,(a[bA>>2]|0)-uA|0);break}else{uA=a[cA>>2]|0;J5[f&127](a[lA>>2]|0,uA,n-uA|0);break}}while(0);if(!e){a[aA>>2]=n;f=3;break}if((a[tA>>2]|0)==(e|0)){a[l>>2]=n;f=0;break}else{a[aA>>2]=n;f=13;break}}case 160:{a[l>>2]=a[fA>>2];f=0;break}}k=wA;return f|0}function Wb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;h=k;k=k+16|0;o=h;b=A+296|0;s=a[b>>2]|0;do{if(s){w=a[s+12>>2]|0;l=w+4|0;c=a[l>>2]|0;t=w+12|0;n=c+(a[t>>2]|0)|0;c=c+(a[w+8>>2]|0)|0;a[o>>2]=n;u=w+33|0;if(!(r[u>>0]|0))n=Lb(A,a[s+16>>2]|0,a[A+224>>2]|0,n,c,o,0)|0;else{B=A+224|0;d=a[B>>2]|0;d=y5[a[d>>2]&127](d,n,c,o)|0;n=rb(A,a[B>>2]|0,n,c,d,a[o>>2]|0,o,0)|0}if(!n){n=a[o>>2]|0;if((c|0)!=(n|0)?(a[A+476>>2]|0)==3:0){a[t>>2]=n-(a[l>>2]|0);n=0;break}r[w+32>>0]=0;B=s+8|0;a[b>>2]=a[B>>2];n=A+300|0;a[B>>2]=a[n>>2];a[n>>2]=s;n=A+276|0;if(!(r[u>>0]|0)){a[n>>2]=58;n=Lb(A,(a[A+472>>2]|0)!=0&1,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;break}else{a[n>>2]=57;B=A+144|0;n=a[B>>2]|0;n=y5[a[n>>2]&127](n,e,i,o)|0;n=rb(A,a[B>>2]|0,e,i,n,a[o>>2]|0,f,(r[A+480>>0]|0)==0&1)|0;break}}}else n=23}while(0);k=h;return n|0}function yb(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;w=h;s=a[A+352>>2]|0;l=s+156|0;u=A+412|0;o=A+424|0;A:do{if(!(a[l>>2]|0)){e=0;t=A+420|0;b=A+468|0;c=12}else{e=a[o>>2]|0;t=A+420|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=61;n=A+468|0;i=(a[(a[l>>2]|0)+20>>2]|0)+(((r[n>>0]|0)!=0)<<31>>31)|0;f=0;while(1){if((f|0)>=(i|0)){e=1;b=n;c=12;break A}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}b=r[(a[(a[l>>2]|0)+16>>2]|0)+f>>0]|0;a[o>>2]=e+1;r[e>>0]=b;f=f+1|0}}}while(0);A:do{if((c|0)==12){Kc(w,s+60|0);e:while(1){do{i=_c(w)|0;if(!i)break e;l=i+4|0}while(!(a[l>>2]|0));if(e<<24>>24){e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=12}n=a[i>>2]|0;while(1){i=r[n>>0]|0;e=a[o>>2]|0;f=(e|0)==(a[t>>2]|0);if(!(i<<24>>24))break;if(f){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0;i=r[n>>0]|0}a[o>>2]=e+1;r[e>>0]=i;n=n+1|0}if(f){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=61;f=(a[(a[l>>2]|0)+20>>2]|0)+(((r[b>>0]|0)!=0)<<31>>31)|0;i=0;while(1){if((i|0)>=(f|0)){e=1;continue e}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}c=r[(a[(a[l>>2]|0)+16>>2]|0)+i>>0]|0;a[o>>2]=e+1;r[e>>0]=c;i=i+1|0}}Kc(w,s);e:while(1){do{i=_c(w)|0;if(!i)break e}while(!(r[i+32>>0]|0));if(e<<24>>24){e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=12}f=a[i>>2]|0;while(1){i=r[f>>0]|0;if(!(i<<24>>24)){e=1;continue e}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0;i=r[f>>0]|0}a[o>>2]=e+1;r[e>>0]=i;f=f+1|0}}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=0;e=a[A+428>>2]|0}}while(0);k=h;return e|0}function zb(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0;R=k;k=k+80|0;V=R+16|0;J=R;N=a[A+352>>2]|0;b=N+20|0;t=lb(A,b,a[f>>2]|0,0)|0;if(!t){t=Nb(N+80|0,a[f>>2]|0)|0;if((t|0)!=0?(c=lb(A,b,t,24)|0,(c|0)!=0):0)if((r[A+232>>0]|0)!=0?(Xb(A,c)|0)==0:0)t=1;else Q=6;else t=1}else{c=t;Q=6}A:do{if((Q|0)==6){I=a[c+12>>2]|0;b=e+36|0;s=A+376|0;v=A+388|0;g=y5[a[b>>2]&127](e,i,a[s>>2]|0,a[v>>2]|0)|0;t=g+I|0;w=a[s>>2]|0;if((t|0)>(w|0)){t=t+16|0;a[s>>2]=t;t=m5[a[A+16>>2]&127](a[v>>2]|0,t<<4)|0;if(!t){a[s>>2]=w;t=1;break}a[v>>2]=t;if((g|0)>(w|0))y5[a[b>>2]&127](e,i,g,t)|0}F=a[v>>2]|0;d=e+28|0;D=A+412|0;M=A+428|0;C=c+20|0;h=A+424|0;B=0;o=0;b=0;while(1){if((o|0)>=(g|0))break;u=a[(a[v>>2]|0)+(o<<4)>>2]|0;u=sb(A,e,u,u+(m5[a[d>>2]&127](e,u)|0)|0)|0;if(!u){t=1;break A}t=(a[u>>2]|0)+-1|0;if(r[t>>0]|0){Q=15;break}r[t>>0]=1;i=B+1|0;a[F+(B<<2)>>2]=a[u>>2];w=a[v>>2]|0;if(r[w+(o<<4)+12>>0]|0){Y=ab(D,e,a[w+(o<<4)+4>>2]|0,a[w+(o<<4)+8>>2]|0)|0;a[F+(i<<2)>>2]=Y;if(!Y){t=1;break A}}else{e:do{if(!(r[u+8>>0]|0))t=1;else{t=0;while(1){if((t|0)>=(I|0)){t=1;break e}s=a[C>>2]|0;if((u|0)==(a[s+(t*12|0)>>2]|0))break;t=t+1|0}t=r[s+(t*12|0)+4>>0]|0}}while(0);t=hb(A,e,t,a[w+(o<<4)+4>>2]|0,a[w+(o<<4)+8>>2]|0,D)|0;if(t|0)break A;a[F+(i<<2)>>2]=a[M>>2]}a[M>>2]=a[h>>2];t=a[u+4>>2]|0;do{if(t)if(r[u+9>>0]|0){t=Rb(A,t,u,a[F+(i<<2)>>2]|0,l)|0;if(!t){t=B;break}else break A}else{r[(a[u>>2]|0)+-1>>0]=2;b=b+1|0;t=B+2|0;break}else t=B+2|0}while(0);B=t;o=o+1|0}if((Q|0)==15){if((a[A+144>>2]|0)!=(e|0)){t=8;break}a[A+284>>2]=a[(a[v>>2]|0)+(o<<4)>>2];t=8;break}a[A+380>>2]=B;t=a[c+8>>2]|0;e:do{if((t|0)!=0?(E=a[t>>2]|0,(r[E+-1>>0]|0)!=0):0){t=0;while(1){if((t|0)>=(B|0)){i=0;o=b;Y=B;break e}if((a[F+(t<<2)>>2]|0)==(E|0)){Q=37;break e}t=t+2|0}}else{t=-1;Q=37}}while(0);if((Q|0)==37){a[A+384>>2]=t;i=0;o=b;Y=B}while(1){if((i|0)>=(I|0))break;t=a[C>>2]|0;w=t+(i*12|0)|0;b=a[w>>2]|0;s=(a[b>>2]|0)+-1|0;e:do{if((r[s>>0]|0)==0?(Z=t+(i*12|0)+8|0,G=a[Z>>2]|0,(G|0)!=0):0){t=a[b+4>>2]|0;do{if(t)if(r[b+9>>0]|0){t=Rb(A,t,b,G,l)|0;if(!t){t=o;b=Y;break e}else break A}else{r[s>>0]=2;t=o+1|0;break}else{r[s>>0]=1;t=o}}while(0);a[F+(Y<<2)>>2]=a[a[w>>2]>>2];a[F+(Y+1<<2)>>2]=a[Z>>2];b=Y+2|0}else{t=o;b=Y}}while(0);i=i+1|0;o=t;Y=b}a[F+(Y<<2)>>2]=0;e:do{if(!o)t=0;else{u=A+396|0;w=a[u>>2]|0;z=A+400|0;i=r[z>>0]|0;t=i&255;do{if(!(o<<1>>t)){t=1<>24}while((o>>(y&255)|0)!=0);t=(t&255)>3?t:3;r[z>>0]=t;t=t&255;s=A+392|0;b=m5[a[A+16>>2]&127](a[s>>2]|0,12<>0]=i;t=1;break A}else{a[s>>2]=b;b=1<>2]|0)+(y*12|0)>>2]=-1;t=y}}}while(0);y=t+-1|0;a[u>>2]=y;C=N+40|0;I=A+424|0;Z=A+420|0;G=b+-1|0;Q=0-b|0;m=G>>>2;L=A+233|0;W=A+468|0;t=0;E=o;i:while(1){while(1){if((t|0)>=(Y|0))break e;e=F+(t<<2)|0;w=a[e>>2]|0;i=w+-1|0;if((r[i>>0]|0)==2)break;r[i>>0]=0;t=t+2|0}Hb(A,J);pb(V,J);r[i>>0]=0;i=lb(A,C,w,0)|0;if(!i){t=1;break}i=a[i+4>>2]|0;if(!i){t=1;break}g=a[i+4>>2]|0;if(!g){t=27;break}h=g+20|0;d=g+16|0;o=0;while(1){i=a[h>>2]|0;u=a[d>>2]|0;if((o|0)>=(i|0))break;u=r[u+o>>0]|0;i=a[I>>2]|0;if((i|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}i=a[I>>2]|0}a[I>>2]=i+1;r[i>>0]=u;o=o+1|0}Ub(V,u,i);do{v=w;w=w+1|0}while((r[v>>0]|0)!=58);Ub(V,w,xb(w)|0);while(1){i=a[I>>2]|0;if((i|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}i=a[I>>2]|0}v=r[w>>0]|0;a[I>>2]=i+1;r[i>>0]=v;if(!(r[w>>0]|0))break;else w=w+1|0}v=Tb(V)|0;h=a[s>>2]|0;d=v&Q;w=0;B=G&v;while(1){if((a[h+(B*12|0)>>2]|0)!=(y|0))break;if((a[h+(B*12|0)+4>>2]|0)==(v|0)){i=a[h+(B*12|0)+8>>2]|0;u=a[M>>2]|0;while(1){H=r[u>>0]|0;o=H<<24>>24==0;if(o|H<<24>>24!=(r[i>>0]|0))break;i=i+1|0;u=u+1|0}if(o){t=8;break i}}if(!(w<<24>>24))w=(d>>>((n[z>>0]|0)+-1|0)&m|1)&255;H=w&255;B=B+((B|0)<(H|0)?b:0)-H|0}if(r[L>>0]|0){r[(a[I>>2]|0)+-1>>0]=r[W>>0]|0;i=a[a[g>>2]>>2]|0;while(1){w=a[I>>2]|0;if((w|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}w=a[I>>2]|0}H=r[i>>0]|0;a[I>>2]=w+1;r[w>>0]=H;if(!(r[i>>0]|0))break;else i=i+1|0}}H=a[M>>2]|0;a[M>>2]=a[I>>2];a[e>>2]=H;a[(a[s>>2]|0)+(B*12|0)>>2]=y;a[(a[s>>2]|0)+(B*12|0)+4>>2]=v;a[(a[s>>2]|0)+(B*12|0)+8>>2]=H;E=E+-1|0;t=t+2|0;if(!E)break e}break A}}while(0);while(1){if((t|0)>=(Y|0)){t=l;break}r[(a[F+(t<<2)>>2]|0)+-1>>0]=0;t=t+2|0}while(1){t=a[t>>2]|0;if(!t)break;r[(a[a[t+12>>2]>>2]|0)+-1>>0]=0;t=t+4|0}if(!(r[A+232>>0]|0))t=0;else{t=a[c+4>>2]|0;if(!t){t=a[N+156>>2]|0;if(!t){t=0;break}b=a[f>>2]|0}else{t=a[t+4>>2]|0;if(!t){t=27;break}c=a[f>>2]|0;while(1){b=c+1|0;if((r[c>>0]|0)==58)break;else c=b}}if((r[A+233>>0]|0)!=0?(X=a[a[t>>2]>>2]|0,(X|0)!=0):0){c=0;while(1){s=c+1|0;if(!(r[X+c>>0]|0))break;else c=s}}else s=0;a[f+4>>2]=b;o=t+20|0;a[f+16>>2]=a[o>>2];a[f+8>>2]=a[a[t>>2]>>2];a[f+20>>2]=s;h=0;while(1){d=h+1|0;if(!(r[b+h>>0]|0))break;else h=d}c=a[o>>2]|0;w=d+s+c|0;i=t+24|0;if((w|0)>(a[i>>2]|0)){c=w+24|0;u=Q5[a[A+12>>2]&63](c)|0;if(!u){t=1;break}a[i>>2]=c;i=t+16|0;y6(u|0,a[i>>2]|0,a[o>>2]|0)|0;c=A+360|0;while(1){c=a[c>>2]|0;if(!c)break;w=c+12|0;if((a[w>>2]|0)==(a[i>>2]|0))a[w>>2]=u}F5[a[A+20>>2]&127](a[i>>2]|0);a[i>>2]=u;w=u;c=a[o>>2]|0}else{w=t+16|0;i=w;w=a[w>>2]|0}c=w+c|0;y6(c|0,b|0,d|0)|0;if(s|0){H=c+h|0;r[H>>0]=r[A+468>>0]|0;y6(H+1|0,a[a[t>>2]>>2]|0,s|0)|0}a[f>>2]=a[i>>2];t=0}}}while(0);k=R;return t|0}function Yb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;r=A+104|0;f=A+372|0;i=A+4|0;while(1){if(!e)break;A=a[r>>2]|0;if(!A)A=e;else{V5[A&63](a[i>>2]|0,a[a[e>>2]>>2]|0);A=e}l=e+4|0;n=a[l>>2]|0;a[l>>2]=a[f>>2];a[f>>2]=e;a[(a[A>>2]|0)+4>>2]=a[e+8>>2];e=n}return}function Db(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;h=k;k=k+16|0;c=h;a[A+276>>2]=62;b=A+284|0;a[b>>2]=e;s=A+144|0;w=A+288|0;u=A+80|0;t=A+476|0;n=e;A:while(1){a[c>>2]=0;d=a[s>>2]|0;d=y5[a[d>>2]&127](d,n,i,c)|0;e=a[c>>2]|0;a[w>>2]=e;l=e;switch(d|0){case-15:{o=3;break A}case-4:{o=7;break A}case 0:{o=12;break A}case-1:{o=13;break A}case-2:{o=15;break A}case 15:{if(a[u>>2]|0)Bb(A,a[s>>2]|0,n,l);break}case 11:{if(!(Zb(A,a[s>>2]|0,n,l)|0)){e=1;break A}break}case 13:{if(!(Gb(A,a[s>>2]|0,n,l)|0)){e=1;break A}break}default:{e=9;break A}}e=a[c>>2]|0;a[b>>2]=e;switch(a[t>>2]|0){case 2:{e=35;break A}case 3:{o=18;break A}default:{}}n=e}do{if((o|0)==3){if(a[u>>2]|0){Bb(A,a[s>>2]|0,n,l);if((a[t>>2]|0)==2){e=35;break}e=a[c>>2]|0}a[f>>2]=e;e=0}else if((o|0)==7){a[f>>2]=n;e=0}else if((o|0)==12){a[b>>2]=e;e=4}else if((o|0)==13)if(!(r[A+480>>0]|0)){a[f>>2]=n;e=0}else e=5;else if((o|0)==15)if(!(r[A+480>>0]|0)){a[f>>2]=n;e=0}else e=6;else if((o|0)==18){a[f>>2]=e;e=0}}while(0);k=h;return e|0}function Mb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;m=k;k=k+16|0;Z=m+8|0;G=m+4|0;I=m;t=a[i>>2]|0;a[Z>>2]=t;if((a[A+144>>2]|0)==(e|0)){B=A+284|0;a[B>>2]=t;v=A+288|0}else{v=a[A+296>>2]|0;B=v;v=v+4|0}a[B>>2]=t;a[i>>2]=0;b=e+8|0;s=A+60|0;g=A+80|0;E=A+4|0;C=A+476|0;w=e+68|0;u=A+44|0;o=e+56|0;h=A+48|0;A:while(1){c=y5[a[b>>2]&127](e,a[Z>>2]|0,f,G)|0;t=a[G>>2]|0;a[v>>2]=t;d=t;e:do{switch(c|0){case 40:{Q=6;break A}case 0:{Q=23;break A}case-2:{Q=24;break A}case-4:case-1:{Q=26;break A}case 7:{t=a[s>>2]|0;if(t|0){r[I>>0]=10;J5[t&127](a[E>>2]|0,I,1);break e}if(a[g>>2]|0)Bb(A,e,a[Z>>2]|0,d);break}case 6:{c=a[s>>2]|0;if(!c){if(!(a[g>>2]|0))break e;Bb(A,e,a[Z>>2]|0,d);break e}if(!(r[w>>0]|0))t=d;else{d=a[Z>>2]|0;J5[c&127](a[E>>2]|0,d,t-d|0);break e}while(1){a[I>>2]=a[u>>2];d=z5[a[o>>2]&127](e,Z,t,I,a[h>>2]|0)|0;a[v>>2]=a[G>>2];t=a[u>>2]|0;J5[c&127](a[E>>2]|0,t,(a[I>>2]|0)-t|0);if(d>>>0<2)break;a[B>>2]=a[Z>>2];t=a[G>>2]|0}break}default:{Q=28;break A}}}while(0);d=a[G>>2]|0;a[Z>>2]=d;a[B>>2]=d;switch(a[C>>2]|0){case 3:{Q=30;break A}case 2:{t=35;break A}default:{}}}if((Q|0)==6){t=a[A+76>>2]|0;if(!t){if(a[g>>2]|0)Bb(A,e,a[Z>>2]|0,d)}else F5[t&127](a[E>>2]|0);t=a[G>>2]|0;a[i>>2]=t;a[n>>2]=t;t=(a[C>>2]|0)==2?35:0}else if((Q|0)==23){a[B>>2]=t;t=4}else if((Q|0)==24)if(!(l<<24>>24))t=6;else{a[n>>2]=a[Z>>2];t=0}else if((Q|0)==26)if(!(l<<24>>24))t=20;else{a[n>>2]=a[Z>>2];t=0}else if((Q|0)==28){a[B>>2]=t;t=23}else if((Q|0)==30){a[n>>2]=a[G>>2];t=0}k=m;return t|0}function Fb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;a[n>>2]=e;e=Mb(A,a[A+144>>2]|0,n,i,f,(r[A+480>>0]|0)==0&1)|0;n=a[n>>2]|0;do{if(!((e|0)!=0|(n|0)==0)){e=A+276|0;if(!(a[A+472>>2]|0)){a[e>>2]=58;e=cb(A,n,i,f)|0;break}else{a[e>>2]=63;e=Vb(A,n,i,f)|0;break}}}while(0);k=l;return e|0}function Vb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;e=Lb(A,1,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;if((e|0)==0?(Jb(A)|0)<<24>>24==0:0)e=1;return e|0}function Jb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=A+16|0;A=A+360|0;while(1){A=a[A>>2]|0;if(!A){A=1;break}t=(a[A+24>>2]|0)+1|0;c=A+36|0;f=a[c>>2]|0;r=f+t|0;s=A+4|0;i=a[s>>2]|0;if((i|0)==(r|0)){A=1;break}b=A+8|0;e=a[b>>2]|0;n=e+t|0;l=A+40|0;if((n|0)>((a[l>>2]|0)-f|0)){r=m5[a[w>>2]&127](f,n)|0;if(!r){A=0;break}e=A+12|0;f=a[c>>2]|0;if((a[e>>2]|0)==(f|0))a[e>>2]=r;e=A+16|0;i=a[e>>2]|0;if(i|0)a[e>>2]=r+(i-f);a[c>>2]=r;a[l>>2]=r+n;r=r+t|0;i=a[s>>2]|0;e=a[b>>2]|0}y6(r|0,i|0,e|0)|0;a[s>>2]=r}return A|0}function Nb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=A+12|0;n=A+8|0;while(1){i=a[f>>2]|0;if((i|0)==(a[n>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}i=a[f>>2]|0}t=r[e>>0]|0;a[f>>2]=i+1;r[i>>0]=t;if(!(r[e>>0]|0)){l=6;break}else e=e+1|0}if((l|0)==6){t=A+16|0;e=a[t>>2]|0;a[t>>2]=a[f>>2]}return e|0}function Xb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=a[A+352>>2]|0;c=u+80|0;b=u+92|0;s=u+88|0;w=u+60|0;u=u+96|0;t=e+4|0;l=a[e>>2]|0;A:while(1){switch(r[l>>0]|0){case 0:{i=1;break A}case 58:{n=a[e>>2]|0;while(1){i=a[b>>2]|0;f=(i|0)==(a[s>>2]|0);if((n|0)==(l|0))break;if(f){if(!((ob(c)|0)<<24>>24)){i=0;break A}i=a[b>>2]|0}f=r[n>>0]|0;a[b>>2]=i+1;r[i>>0]=f;n=n+1|0}if(f){if(!((ob(c)|0)<<24>>24)){i=0;break A}i=a[b>>2]|0}a[b>>2]=i+1;r[i>>0]=0;i=lb(A,w,a[u>>2]|0,8)|0;if(!i){i=0;break A}f=a[u>>2]|0;if((a[i>>2]|0)==(f|0))a[u>>2]=a[b>>2];else a[b>>2]=f;a[t>>2]=i;break}default:{}}l=l+1|0}return i|0}function Rb(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;b=r[f>>0]|0;t=a[e>>2]|0;l=(t|0)==0;do{if(!(b<<24>>24))if(l){w=0;c=11}else l=28;else if(((!l?(r[t>>0]|0)==120:0)?(r[t+1>>0]|0)==109:0)?(r[t+2>>0]|0)==108:0){l=r[t+3>>0]|0;if((l<<24>>24==110?(r[t+4>>0]|0)==115:0)?(r[t+5>>0]|0)==0:0){l=39;break}w=l<<24>>24==0&1;c=11}else{w=0;c=11}}while(0);A:do{if((c|0)==11){s=w<<24>>24!=0;l=1;t=1;u=0;while(1){c=t<<24>>24!=0;if(!(b<<24>>24))break;do{if(c){if((u|0)<=36?b<<24>>24==(r[142257+u>>0]|0):0)break;t=0}else t=0}while(0);do{if(!(s|l<<24>>24==0)){if((u|0)<=29?b<<24>>24==(r[142294+u>>0]|0):0)break;l=0}}while(0);b=u+1|0;u=b;b=r[f+b>>0]|0}if((w&255|0)!=(c&(u|0)==36&1|0)){l=s?38:40;break}if(!(l<<24>>24!=0&(u|0)==29)){k=A+468|0;u=u+((r[k>>0]|0)!=0&1)|0;l=A+372|0;c=a[l>>2]|0;do{if(!c){l=A+12|0;t=Q5[a[l>>2]&63](28)|0;if(!t){l=1;break A}c=u+24|0;w=Q5[a[l>>2]&63](c)|0;a[t+16>>2]=w;if(!w){F5[a[A+20>>2]&127](t);l=1;break A}else{a[t+24>>2]=c;c=t;break}}else{t=c+24|0;if((u|0)>(a[t>>2]|0)){b=c+16|0;s=u+24|0;w=m5[a[A+16>>2]&127](a[b>>2]|0,s)|0;if(!w){l=1;break A}a[b>>2]=w;a[t>>2]=s}a[l>>2]=a[c+4>>2]}}while(0);a[c+20>>2]=u;t=c+16|0;y6(a[t>>2]|0,f|0,u|0)|0;l=r[k>>0]|0;if(l<<24>>24)r[(a[t>>2]|0)+(u+-1)>>0]=l;a[c>>2]=e;a[c+12>>2]=i;t=e+4|0;a[c+8>>2]=a[t>>2];if((r[f>>0]|0)==0?((a[A+352>>2]|0)+152|0)==(e|0):0)l=0;else l=c;a[t>>2]=l;a[c+4>>2]=a[n>>2];a[n>>2]=c;if((i|0)!=0?(o=a[A+100>>2]|0,(o|0)!=0):0){J5[o&127](a[A+4>>2]|0,a[e>>2]|0,a[t>>2]|0?f:0);l=0}else l=0}else l=40}}while(0);return l|0}function Hb(A,e){A=A|0;e=e|0;var i=0;i=e;a[i>>2]=0;a[i+4>>2]=0;e=e+8|0;a[e>>2]=Sb(A)|0;a[e+4>>2]=0;return}function pb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=e;n=a[i+4>>2]^1936682341;r=A;a[r>>2]=a[i>>2]^1886610805;a[r+4>>2]=n;r=e+8|0;n=r;i=a[n+4>>2]^1685025377;f=A+8|0;a[f>>2]=a[n>>2]^1852075885;a[f+4>>2]=i;f=e;e=a[f+4>>2]^1819895653;i=A+16|0;a[i>>2]=a[f>>2]^1852142177;a[i+4>>2]=e;i=a[r+4>>2]^1952801890;e=A+24|0;a[e>>2]=a[r>>2]^2037671283;a[e+4>>2]=i;a[A+40>>2]=A+32;e=A+48|0;a[e>>2]=0;a[e+4>>2]=0;return}function Ub(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;u=e+i|0;k=A+40|0;o=A+40|0;h=A+32|0;d=A+33|0;B=A+34|0;v=A+35|0;l=A+36|0;t=A+37|0;c=A+38|0;b=A+39|0;s=A+24|0;w=A+48|0;i=e;do{while(1){f=a[k>>2]|0;if(i>>>0>=u>>>0){e=0;break}if(f>>>0>=o>>>0){e=1;break}e=r[i>>0]|0;a[k>>2]=f+1;r[f>>0]=e;i=i+1|0}if(f>>>0>>0)break;G=n[h>>0]|0;Q=G6(n[d>>0]|0|0,0,8)|0;f=L;Z=G6(n[B>>0]|0|0,0,16)|0;f=f|L;C=G6(n[v>>0]|0|0,0,24)|0;f=f|L|(n[l>>0]|0);g=G6(n[t>>0]|0|0,0,40)|0;f=f|L;I=G6(n[c>>0]|0|0,0,48)|0;f=f|L;E=G6(n[b>>0]|0|0,0,56)|0;E=Q|G|Z|C|g|I|E;f=f|L;I=s;g=f^a[I+4>>2];C=s;a[C>>2]=E^a[I>>2];a[C+4>>2]=g;jb(A,2);C=A;f=a[C+4>>2]^f;g=A;a[g>>2]=a[C>>2]^E;a[g+4>>2]=f;a[k>>2]=h;g=w;g=d6(a[g>>2]|0,a[g+4>>2]|0,8,0)|0;f=w;a[f>>2]=g;a[f+4>>2]=L}while(e);return}function xb(A){A=A|0;var e=0;e=0;while(1){if(!(r[A>>0]|0))break;e=e+1|0;A=A+1|0}return e|0}function Tb(A){A=A|0;var e=0,i=0,r=0,f=0,l=0,t=0;r=A+32|0;l=(a[A+40>>2]|0)-r|0;i=A+48|0;i=d6(a[i>>2]|0,a[i+4>>2]|0,l|0,0)|0;i=G6(i|0,L|0,56)|0;e=L;switch(l<<24>>24|0){case 7:{i=G6(n[A+38>>0]|0|0,0,48)|0|i;e=L|e;f=3;break}case 6:{f=3;break}case 5:{f=4;break}case 4:{f=5;break}case 3:{f=6;break}case 2:{f=7;break}case 1:{f=8;break}default:{}}if((f|0)==3){l=G6(n[A+37>>0]|0|0,0,40)|0;i=l|i;e=L|e;f=4}if((f|0)==4){e=n[A+36>>0]|0|e;f=5}if((f|0)==5){l=G6(n[A+35>>0]|0|0,0,24)|0;i=l|i;e=L|e;f=6}if((f|0)==6){l=G6(n[A+34>>0]|0|0,0,16)|0;i=l|i;e=L|e;f=7}if((f|0)==7){l=G6(n[A+33>>0]|0|0,0,8)|0;e=L|e;i=l|i;f=8}if((f|0)==8)i=i|(n[r>>0]|0);l=A+24|0;t=l;f=a[t+4>>2]^e;r=l;a[r>>2]=a[t>>2]^i;a[r+4>>2]=f;jb(A,2);r=A;e=a[r+4>>2]^e;f=A;a[f>>2]=a[r>>2]^i;a[f+4>>2]=e;f=A+16|0;e=f;i=a[e+4>>2]|0;r=f;a[r>>2]=a[e>>2]^255;a[r+4>>2]=i;jb(A,4);r=A;A=A+8|0;L=a[A+4>>2]^a[r+4>>2]^a[f+4>>2]^a[l+4>>2];return a[A>>2]^a[r>>2]^a[f>>2]^a[l>>2]|0}function jb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;r=A+8|0;f=A+24|0;n=A+16|0;i=0;while(1){if((i|0)>=(e|0))break;l=r;u=a[l>>2]|0;l=a[l+4>>2]|0;k=A;k=d6(a[k>>2]|0,a[k+4>>2]|0,u|0,l|0)|0;b=L;w=G6(u|0,l|0,13)|0;s=L;l=Z6(u|0,l|0,51)|0;l=(w|l)^k;s=(s|L)^b;w=f;u=a[w>>2]|0;w=a[w+4>>2]|0;c=n;c=d6(a[c>>2]|0,a[c+4>>2]|0,u|0,w|0)|0;t=L;h=G6(u|0,w|0,16)|0;o=L;w=Z6(u|0,w|0,48)|0;w=(h|w)^c;o=(o|L)^t;k=d6(b|0,k|0,w|0,o|0)|0;b=L;h=A;a[h>>2]=k;a[h+4>>2]=b;h=G6(w|0,o|0,21)|0;u=L;o=Z6(w|0,o|0,43)|0;w=f;a[w>>2]=(h|o)^k;a[w+4>>2]=(u|L)^b;t=d6(c|0,t|0,l|0,s|0)|0;c=L;w=G6(l|0,s|0,17)|0;b=L;s=Z6(l|0,s|0,47)|0;l=r;a[l>>2]=(w|s)^t;a[l+4>>2]=(b|L)^c;l=n;a[l>>2]=c;a[l+4>>2]=t;i=i+1|0}return}function Sb(A){A=A|0;var e=0;while(1){e=a[A+472>>2]|0;if(!e)break;else A=e}return a[A+492>>2]|0}function Pb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;J=k;k=k+16|0;M=J;F=J+4|0;V=a[A+352>>2]|0;u=e+16|0;o=e+40|0;h=A+144|0;d=A+284|0;B=i<<24>>24==0;v=l+12|0;E=l+16|0;C=l+8|0;I=e+44|0;Z=e+64|0;G=A+436|0;Q=A+452|0;m=A+448|0;L=(V+80|0)==(l|0);W=A+268|0;y=V+130|0;z=V+129|0;Y=A+296|0;D=A+224|0;t=0;A:while(1){e:while(1){switch(y5[a[u>>2]&127](e,f,n,M)|0){case-4:{t=0;w=61;break A}case 0:{w=4;break A}case-1:{w=6;break A}case 6:{w=21;break e}case-3:{w=22;break e}case 7:case 39:{w=23;break e}case 10:{c=m5[a[o>>2]&127](e,f)|0;i:do{if((c|0)<0)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;c=1;t=14}else{c=1;t=14}else{if(B&(c|0)==32){b=a[v>>2]|0;if((a[E>>2]|0)==(b|0)){c=4;break}if((r[b+-1>>0]|0)==32){c=4;break}}s=ds(c,F)|0;b=0;while(1){if((b|0)>=(s|0)){c=0;break i}c=a[v>>2]|0;if((c|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){c=1;t=1;break i}c=a[v>>2]|0}N=r[F+b>>0]|0;a[v>>2]=c+1;r[c>>0]=N;b=b+1|0}}}while(0);switch(c&7){case 4:case 0:break e;default:{}}break}case 9:{c=a[Z>>2]|0;c=(W5[a[I>>2]&63](e,f+c|0,(a[M>>2]|0)+(0-c)|0)|0)&255;if(c<<24>>24){w=31;break e}c=a[Z>>2]|0;c=ab(G,e,f+c|0,(a[M>>2]|0)+(0-c)|0)|0;if(!c){t=1;w=61;break A}s=lb(A,V,c,0)|0;a[m>>2]=a[Q>>2];do{if(L){if(!(a[W>>2]|0))if(!s)break e;else break;if(!(r[y>>0]|0)){c=(s|0)!=0;if(!(r[z>>0]|0)){w=45;break}else{g=c;w=47;break}}else{c=(s|0)!=0;if(!(a[Y>>2]|0)){w=45;break}else{g=c;w=47;break}}}else if(!(r[z>>0]|0))if(!s){t=11;w=61;break A}else{w=46;break}else{c=(s|0)!=0;if(!(r[y>>0]|0)){g=c;w=47;break}else{w=45;break}}}while(0);if((w|0)==45)if(c)w=46;else{t=11;w=61;break A}else if((w|0)==47?(w=0,!g):0)break e;if((w|0)==46?(w=0,(r[s+34>>0]|0)==0):0){t=24;w=61;break A}b=s+32|0;if(r[b>>0]|0){w=49;break A}if(a[s+28>>2]|0){w=52;break A}c=a[s+4>>2]|0;if(!c){w=55;break A}s=c+(a[s+8>>2]|0)|0;r[b>>0]=1;s=Pb(A,a[D>>2]|0,i,c,s,l)|0;r[b>>0]=0;c=(s|0)==0;if(c)break e;else{c=(c^1)&1;t=s}break}default:{w=58;break A}}if(c)break A}if((w|0)==21){w=0;if(!(ub(l,e,f,a[M>>2]|0)|0)){t=1;w=61;break}}else if((w|0)==22){a[M>>2]=f+(a[Z>>2]|0);w=23}else if((w|0)==31){w=0;f=a[v>>2]|0;if((f|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){t=1;w=61;break}f=a[v>>2]|0}a[v>>2]=f+1;r[f>>0]=c}do{if((w|0)==23){w=0;f=a[v>>2]|0;if(B){if((a[E>>2]|0)==(f|0))break;if((r[f+-1>>0]|0)==32)break}if((f|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){t=1;w=61;break A}f=a[v>>2]|0}a[v>>2]=f+1;r[f>>0]=32}}while(0);f=a[M>>2]|0}if((w|0)==4)if((a[h>>2]|0)==(e|0)){a[d>>2]=a[M>>2];t=4;w=61}else{t=4;w=61}else if((w|0)==6)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=4;w=61}else{t=4;w=61}else if((w|0)==49)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=12;w=61}else{t=12;w=61}else if((w|0)==52)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=15;w=61}else{t=15;w=61}else if((w|0)==55)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=16;w=61}else{t=16;w=61}else if((w|0)==58)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=23;w=61}else{t=23;w=61}k=J;return t|0}function Ob(A){A=A|0;var e=0;e=A+8|0;return((A|0)<1?0:(e|0)>0?e:0)|0}function Kb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+80|0;r=i+16|0;f=i;Hb(A,f);pb(r,f);Ub(r,e,xb(e)|0);e=Tb(r)|0;k=i;return e|0}function _b(A,e){A=A|0;e=e|0;var i=0;while(1){i=r[A>>0]|0;if(i<<24>>24!=(r[e>>0]|0)){e=0;break}if(!(i<<24>>24)){e=1;break}e=e+1|0;A=A+1|0}return e|0}function qb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+1040|0;t=b;f=a[A+124>>2]|0;A:do{if(!f)i=18;else{i=0;while(1){if((i|0)==256)break;a[t+(i<<2)>>2]=-1;i=i+1|0}n=t+1028|0;a[n>>2]=0;c=t+1024|0;a[c>>2]=0;l=t+1032|0;a[l>>2]=0;do{if(W5[f&63](a[A+244>>2]|0,e,t)|0){f=a[A+12>>2]|0;i=Bs()|0;i=Q5[f&63](i)|0;a[A+236>>2]=i;if(!i){i=a[l>>2]|0;if(!i)i=1;else{F5[i&127](a[c>>2]|0);i=1}}else{i=y5[(r[A+232>>0]<<24>>24?65:64)&127](i,t,a[n>>2]|0,a[c>>2]|0)|0;if(!i)break;a[A+240>>2]=a[c>>2];a[A+248>>2]=a[l>>2];a[A+144>>2]=i;i=0}break A}}while(0);i=a[l>>2]|0;if(i|0)F5[i&127](a[c>>2]|0);i=18}}while(0);k=b;return i|0}function $b(A,e){A=A|0;e=e|0;r[A+4>>0]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A>>2]=0;a[A+16>>2]=e;return}function As(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;s=a[A+352>>2]|0;w=A+424|0;u=A+420|0;k=A+412|0;o=A+428|0;h=s+152|0;d=A+368|0;c=s+60|0;b=s+80|0;A:while(1){l=e;e:while(1){if(!(r[e>>0]|0)){e=1;break A}f=r[l>>0]|0;switch(f<<24>>24){case 0:case 12:{B=5;break e}case 61:break e;default:{}}i=a[w>>2]|0;if((i|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break A}i=a[w>>2]|0;f=r[l>>0]|0}a[w>>2]=i+1;r[i>>0]=f;l=l+1|0}if((B|0)==5){B=0;e=a[w>>2]|0;if((e|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;e=lb(A,s,a[o>>2]|0,0)|0;if(e|0)r[e+32>>0]=1;e=(r[l>>0]|0)==0?l:l+1|0;a[w>>2]=a[o>>2];continue}e=a[w>>2]|0;if((a[o>>2]|0)==(e|0))f=h;else{if((e|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;f=lb(A,c,a[o>>2]|0,8)|0;if(!f){e=0;break}i=a[f>>2]|0;t=a[o>>2]|0;e=t;if((i|0)==(t|0)){t=Nb(b,i)|0;a[f>>2]=t;if(!t){e=0;break}e=a[o>>2]|0}a[w>>2]=e}e:while(1){t=l+1|0;i=r[t>>0]|0;n=(e|0)==(a[u>>2]|0);switch(i<<24>>24){case 0:case 12:break e;default:{}}if(n){if(!((ob(k)|0)<<24>>24)){e=0;break A}e=a[w>>2]|0;i=r[t>>0]|0}a[w>>2]=e+1;r[e>>0]=i;l=t;e=a[w>>2]|0}if(n){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;if(Rb(A,f,0,a[o>>2]|0,d)|0){e=0;break}a[w>>2]=a[o>>2];e=(r[t>>0]|0)==0?t:l+2|0}return e|0}function es(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0?(i=A+4|0,r=(a[i>>2]|0)==(a[A>>2]|0),a[A>>2]=e,r):0)a[i>>2]=e;return}function is(A,e,i){A=A|0;e=e|0;i=i|0;if(A|0){a[A+52>>2]=e;a[A+56>>2]=i}return}function rs(A,e){A=A|0;e=e|0;if(A|0)a[A+60>>2]=e;return}function fs(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;n=(A|0)==0;A:do{if(!(n|(i|0)<0)?!((e|0)==0&(i|0)!=0):0){l=A+476|0;switch(a[l>>2]|0){case 3:{a[A+280>>2]=33;n=0;break A}case 2:{a[A+280>>2]=36;n=0;break A}case 0:{if((a[A+472>>2]|0)==0?(as(A)|0)<<24>>24==0:0){a[A+280>>2]=1;n=0;break A}break}default:{}}a[l>>2]=1;if(i|0){n=ls(A,i)|0;if(!n){n=0;break}y6(n|0,e|0,i|0)|0;n=ts(A,i,f)|0;break}r[A+480>>0]=f;if(!f)n=1;else{n=A+24|0;c=a[n>>2]|0;e=A+292|0;a[e>>2]=c;f=a[A+28>>2]|0;a[A+40>>2]=f;i=A+276|0;f=y5[a[i>>2]&127](A,c,f,n)|0;a[A+280>>2]=f;if(f|0){a[A+288>>2]=a[A+284>>2];a[i>>2]=66;n=0;break}switch(a[l>>2]|0){case 3:{c=a[A+144>>2]|0;X5[a[c+48>>2]&31](c,a[e>>2]|0,a[n>>2]|0,A+404|0);a[e>>2]=a[n>>2];n=2;break A}case 1:case 0:{a[l>>2]=2;n=1;break A}default:{n=1;break A}}}}else t=3}while(0);if((t|0)==3)if(n)n=0;else{a[A+280>>2]=41;n=0}return n|0}function as(A){A=A|0;var e=0;e=A+492|0;if(!(a[e>>2]|0))a[e>>2]=cs()|0;if(!(r[A+232>>0]|0))A=1;else A=As(A,142324)|0;return A|0}function ns(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return a[A+280>>2]|0}function ls(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;A:do{if(!A)i=0;else{if((e|0)<0){a[A+280>>2]=1;i=0;break}switch(a[A+476>>2]|0){case 3:{a[A+280>>2]=33;i=0;break A}case 2:{a[A+280>>2]=36;i=0;break A}default:{w=A+32|0;c=a[w>>2]|0;u=A+28|0;r=a[u>>2]|0;i=r;if((c-r|0)>=(e|0))break A;o=A+24|0;b=a[o>>2]|0;t=r-b|0;r=t+e|0;if((r|0)<0){a[A+280>>2]=1;i=0;break A}s=A+8|0;f=a[s>>2]|0;h=f;n=b-h|0;l=(n|0)>1024;e=l?1024:n;r=e+r|0;do{if((r|0)>(c-h|0)){i=c-b|0;i=(i|0)==0?1024:i;do{i=i<<1}while((i|0)<(r|0)&(i|0)>0);if((i|0)<1){a[A+280>>2]=1;i=0;break A}r=Q5[a[A+12>>2]&63](i)|0;if(!r){a[A+280>>2]=1;i=0;break A}a[w>>2]=r+i;i=a[o>>2]|0;if(!i){i=r+(a[u>>2]|0)|0;a[u>>2]=i;a[s>>2]=r;k=22;break}else{h=i;k=h-(a[s>>2]|0)|0;k=(k|0)<1024?k:1024;y6(r|0,i+(0-k)|0,(a[u>>2]|0)-h+k|0)|0;F5[a[A+20>>2]&127](a[s>>2]|0);a[s>>2]=r;i=r+((a[u>>2]|0)-(a[o>>2]|0))+k|0;a[u>>2]=i;r=r+k|0;k=22;break}}else if(l){r=n-e|0;z6(f|0,f+r|0,e+t|0)|0;r=0-r|0;i=(a[u>>2]|0)+r|0;a[u>>2]=i;r=(a[o>>2]|0)+r|0;k=22}}while(0);if((k|0)==22)a[o>>2]=r;a[A+288>>2]=0;a[A+284>>2]=0;a[A+292>>2]=0;break A}}}}while(0);return i|0}function ts(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;A:do{if(!A)e=0;else{f=A+476|0;switch(a[f>>2]|0){case 3:{a[A+280>>2]=33;e=0;break A}case 2:{a[A+280>>2]=36;e=0;break A}case 0:{if((a[A+472>>2]|0)==0?(as(A)|0)<<24>>24==0:0){a[A+280>>2]=1;e=0;break A}break}default:{}}a[f>>2]=1;n=A+24|0;c=a[n>>2]|0;l=A+292|0;a[l>>2]=c;b=A+28|0;t=(a[b>>2]|0)+e|0;a[b>>2]=t;a[A+40>>2]=t;b=A+36|0;a[b>>2]=(a[b>>2]|0)+e;r[A+480>>0]=i;e=A+276|0;t=y5[a[e>>2]&127](A,c,t,n)|0;a[A+280>>2]=t;if(t|0){a[A+288>>2]=a[A+284>>2];a[e>>2]=66;e=0;break}switch(a[f>>2]|0){case 3:{e=2;break}case 1:case 0:{if(!i)e=1;else{a[f>>2]=2;e=1;break A}break}default:e=1}b=a[A+144>>2]|0;X5[a[b+48>>2]&31](b,a[l>>2]|0,a[n>>2]|0,A+404|0);a[l>>2]=a[n>>2]}}while(0);return e|0}function cs(){var A=0,e=0,i=0;e=k;k=k+16|0;A=e;if(!(bs(A)|0)){i=ws()|0;i=(z3()|0)^i;a[A>>2]=i;A=ss(142378,U(i,2147483647)|0)|0}else A=ss(142365,a[A>>2]|0)|0;k=e;return A|0}function bs(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=k;k=k+16|0;r=P2(142365,0,f)|0;if((r|0)<0)e=0;else{e=0;while(1){n=y3(r,A+e|0,4-e|0)|0;i=n+e|0;if((n|0)>0)if(i>>>0<4)e=i;else{e=1;break}if((a[(X2()|0)>>2]|0)!=4){e=0;break}}S4(r)|0}k=f;return e|0}function ss(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;r=f;i=PA(142443)|0;if(i|0?(A1(i,142463)|0)==0:0){i=a[15712]|0;a[r>>2]=A;a[r+4>>2]=8;a[r+8>>2]=e;a[r+12>>2]=4;f3(i,142465,r)|0}k=f;return e|0}function ws(){var A=0,e=0;e=k;k=k+16|0;A=e;if(!(OA(A|0,0)|0)){k=e;return a[A+4>>2]|0}else vA(142390,142412,819,142423);return 0}function us(A){A=A|0;if(!A)A=41;else A=a[A+280>>2]|0;return A|0}function ks(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(!A)A=0;else{e=A+284|0;i=a[e>>2]|0;if(i|0?(r=A+292|0,f=a[r>>2]|0,i>>>0>=f>>>0):0){n=a[A+144>>2]|0;X5[a[n+48>>2]&31](n,f,i,A+404|0);a[r>>2]=a[e>>2]}A=(a[A+404>>2]|0)+1|0}return A|0}function os(A){A=A|0;do{switch(A|0){case 41:{A=142502;break}case 1:{A=143774;break}case 2:{A=143761;break}case 3:{A=143744;break}case 4:{A=143712;break}case 5:{A=143697;break}case 6:{A=143679;break}case 7:{A=143664;break}case 8:{A=143644;break}case 9:{A=143616;break}case 10:{A=143581;break}case 11:{A=143564;break}case 12:{A=143537;break}case 13:{A=143517;break}case 14:{A=143479;break}case 15:{A=143452;break}case 16:{A=143410;break}case 17:{A=143363;break}case 18:{A=143346;break}case 19:{A=143295;break}case 20:{A=143272;break}case 21:{A=143226;break}case 22:{A=143199;break}case 23:{A=143148;break}case 24:{A=143112;break}case 25:{A=143060;break}case 26:{A=143015;break}case 27:{A=143e3;break}case 28:{A=142974;break}case 29:{A=142936;break}case 30:{A=142904;break}case 31:{A=142871;break}case 32:{A=142837;break}case 33:{A=142820;break}case 34:{A=142799;break}case 35:{A=142783;break}case 36:{A=142766;break}case 37:{A=142722;break}case 38:{A=142642;break}case 39:{A=142583;break}case 40:{A=142519;break}default:A=0}}while(0);return A|0}function hs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;i=a[e>>2]|0;r=0;A:while(1){if(i>>>0<=A>>>0)break;l=i+-1|0;f=n[l>>0]|0;do{if((f&248|0)==240)if((r+1|0)>>>0>3){t=5;break A}else r=0;else{if((f&240|0)==224)if((r+1|0)>>>0>2){t=8;break A}else{r=0;break}if((f&224|0)==192)if((r+1|0)>>>0>1){t=11;break A}else{r=0;break}else if(!(f&128))break A;else break}}while(0);i=l;r=r+1|0}if((t|0)==5)i=i+3|0;else if((t|0)==8)i=i+2|0;else if((t|0)==11)i=i+1|0;a[e>>2]=i;return}function ds(A,e){A=A|0;e=e|0;do{if((A|0)>=0){if((A|0)<128){r[e>>0]=A;A=1;break}if((A|0)<2048){r[e>>0]=A>>>6|192;r[e+1>>0]=A&63|128;A=2;break}if((A|0)<65536){r[e>>0]=A>>>12|224;r[e+1>>0]=A>>>6&63|128;r[e+2>>0]=A&63|128;A=3;break}if((A|0)<1114112){r[e>>0]=A>>>18|240;r[e+1>>0]=A>>>12&63|128;r[e+2>>0]=A>>>6&63|128;r[e+3>>0]=A&63|128;A=4}else A=0}else A=0}while(0);return A|0}function Bs(){return 1908}function vs(A,e,i,l){A=A|0;e=e|0;i=i|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;t=0;while(1){if((t|0)==364){t=0;break}r[A+t>>0]=r[56576+t>>0]|0;t=t+1|0}A:while(1){if((t|0)>=128){c=5;break}switch(r[56648+t>>0]|0){case 0:case 28:break;default:if((a[e+(t<<2)>>2]|0)!=(t|0)){A=0;break A}}t=t+1|0}A:do{if((c|0)==5){h=A+72|0;w=A+372|0;u=A+884|0;k=(i|0)==0;s=0;while(1){if((s|0)>=256)break;o=a[e+(s<<2)>>2]|0;do{if((o|0)==-1){r[h+s>>0]=1;f[w+(s<<1)>>1]=-1;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=0}else{if((o|0)<0){if(k|(o|0)<-4){A=0;break A}r[h+s>>0]=3-o;r[u+(s<<2)>>0]=0;f[w+(s<<1)>>1]=0;break}if((o|0)<128){t=r[56648+o>>0]|0;switch(t<<24>>24){case 0:case 28:break;default:if((o|0)!=(s|0)){A=0;break A}}r[h+s>>0]=t;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=o;f[w+(s<<1)>>1]=(o|0)==0?-1:o&65535;break}if((gs(o)|0)<0){r[h+s>>0]=0;f[w+(s<<1)>>1]=-1;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=0;break}if((o|0)>65535){A=0;break A}t=o>>>8;c=o>>>5&7;b=1<<(o&31);if(!(a[56940+((n[143788+t>>0]<<3|c)<<2)>>2]&b))r[h+s>>0]=a[56940+((n[144044+t>>0]<<3|c)<<2)>>2]&b|0?26:28;else r[h+s>>0]=22;r[u+(s<<2)>>0]=ds(o,u+(s<<2)+1|0)|0;f[w+(s<<1)>>1]=o}}while(0);s=s+1|0}a[A+368>>2]=l;a[A+364>>2]=i;if(!k){a[A+328>>2]=108;a[A+332>>2]=108;a[A+336>>2]=108;a[A+340>>2]=109;a[A+344>>2]=109;a[A+348>>2]=109;a[A+352>>2]=110;a[A+356>>2]=110;a[A+360>>2]=110}a[A+56>>2]=13;a[A+60>>2]=14}}while(0);return A|0}function gs(A){A=A|0;var e=0;switch(A>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{A=-1;break}case 0:{if(!(r[56648+A>>0]|0))A=-1;else e=4;break}case 255:{if((A|1|0)==65535)A=-1;else e=4;break}default:e=4}return A|0}function Es(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=0;else A=a[56940+(((n[144044+(A>>>8)>>0]|0)<<3|A>>>5&7)<<2)>>2]&1<<(A&31);return A|0}function Cs(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=0;else A=a[56940+(((n[143788+(A>>>8)>>0]|0)<<3|A>>>5&7)<<2)>>2]&1<<(A&31);return A|0}function Is(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=1;else A=(gs(A)|0)>>>31;return A|0}function Zs(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;h=k;k=k+16|0;s=h;w=A+364|0;u=A+884|0;o=A+368|0;b=A+72|0;while(1){t=a[e>>2]|0;if((t|0)==(i|0)){l=0;break}d=n[t>>0]|0;c=u+(d<<2)+1|0;d=r[u+(d<<2)>>0]|0;A=d<<24>>24;if(!(d<<24>>24)){A=ds(m5[a[w>>2]&127](a[o>>2]|0,t)|0,s)|0;if((A|0)>(l-(a[f>>2]|0)|0)){l=2;break}t=a[e>>2]|0;c=s;t=t+((n[b+(n[t>>0]|0)>>0]|0)+-3)|0}else{if((l-(a[f>>2]|0)|0)<(A|0)){l=2;break}t=t+1|0}a[e>>2]=t;y6(a[f>>2]|0,c|0,A|0)|0;a[f>>2]=(a[f>>2]|0)+A}k=h;return l|0}function Gs(A,e,i,r,l){A=A|0;e=e|0;i=i|0;r=r|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;w=A+372|0;u=A+364|0;k=A+368|0;s=A+72|0;while(1){b=a[e>>2]|0;A=b>>>0>>0;t=a[r>>2]|0;if(!(A&t>>>0>>0))break;A=f[w+((n[b>>0]|0)<<1)>>1]|0;if(!(A<<16>>16)){A=(m5[a[u>>2]&127](a[k>>2]|0,b)|0)&65535;t=a[e>>2]|0;c=(n[s+(n[t>>0]|0)>>0]|0)+-3|0}else{c=1;t=b}a[e>>2]=t+c;b=a[r>>2]|0;a[r>>2]=b+2;f[b>>1]=A}return((t|0)!=(l|0)|A^1?0:2)|0}function Qs(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0;A:do{if(e>>>0>>0){u=A+72|0;do{switch(r[u+(n[e>>0]|0)>>0]|0){case 12:{l=Hq(12,A,e+1|0,i,f)|0;break A}case 13:{l=Hq(13,A,e+1|0,i,f)|0;break A}case 2:{l=e+1|0;if((i-l|0)<=0){l=-1;break A}switch(r[u+(n[l>>0]|0)>>0]|0){case 16:{l=pq(A,e+2|0,i,f)|0;break A}case 15:{l=Jq(A,e+2|0,i,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;l=29;break A}default:{a[f>>2]=l;l=0;break A}}}case 9:{if((e+1|0)==(i|0)){a[f>>2]=i;l=-15;break A}else b=3;break}case 10:case 21:{b=3;break}case 30:{l=zq(A,e+1|0,i,f)|0;break A}case 35:{a[f>>2]=e+1;l=38;break A}case 20:{a[f>>2]=e+1;l=25;break A}case 4:{t=e+1|0;l=i-t|0;if((l|0)<=0){l=-26;break A}if((r[t>>0]|0)==93){if((l|0)<=1){l=-1;break A}if((r[e+2>>0]|0)==62){a[f>>2]=e+3;l=34;break A}}a[f>>2]=t;l=26;break A}case 31:{a[f>>2]=e+1;l=23;break A}case 32:{l=e+1|0;if((i-l|0)<=0){l=-24;break A}switch(r[u+(n[l>>0]|0)>>0]|0){case 33:{a[f>>2]=e+2;l=36;break A}case 15:{a[f>>2]=e+2;l=35;break A}case 34:{a[f>>2]=e+2;l=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;l=24;break A}default:{a[f>>2]=l;l=0;break A}}}case 36:{a[f>>2]=e+1;l=21;break A}case 11:{a[f>>2]=e+1;l=17;break A}case 19:{l=Uq(A,e+1|0,i,f)|0;break A}case 5:{if((i-e|0)<2){l=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0))if(!(m5[a[A+328>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=2}else{l=18;t=2}break}case 6:{if((i-e|0)<3){l=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0))if(!(m5[a[A+332>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=3}else{l=18;t=3}break}case 7:{if((i-e|0)<4){l=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0))if(!(m5[a[A+336>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=4}else{l=18;t=4}break}case 24:case 22:{l=18;t=1;break}case 23:case 27:case 26:case 25:{l=19;t=1;break}default:{a[f>>2]=e;l=0;break A}}}while(0);if((b|0)==3){c=i;t=e;e:while(1){l=t;t=t+1|0;if((c-t|0)<=0){b=18;break}switch(r[u+(n[t>>0]|0)>>0]|0){case 10:case 21:continue e;case 9:break;default:{b=17;break e}}if((l+2|0)==(i|0)){b=17;break}}if((b|0)==17){a[f>>2]=t;l=15;break}else if((b|0)==18){a[f>>2]=t;l=15;break}}b=A+328|0;s=A+332|0;w=A+336|0;c=e+t|0;e:while(1){t=i-c|0;if((t|0)<=0){b=99;break}switch(r[u+(n[c>>0]|0)>>0]|0){case 29:{b=56;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{b=70;break e}case 34:{b=89;break e}case 33:{b=92;break e}case 15:{b=95;break e}case 27:case 26:case 25:case 24:case 22:{e=l;c=c+1|0;l=e;continue e}case 5:{if((t|0)<2){l=-2;break A}if(!(m5[a[b>>2]&127](A,c)|0)){b=60;break e}e=l;c=c+2|0;l=e;continue e}case 6:{if((t|0)<3){l=-2;break A}if(!(m5[a[s>>2]&127](A,c)|0)){b=64;break e}e=l;c=c+3|0;l=e;continue e}case 7:{if((t|0)<4){l=-2;break A}if(!(m5[a[w>>2]&127](A,c)|0)){b=68;break e}e=l;c=c+4|0;l=e;continue e}case 23:{t=c+1|0;switch(l&63){case 18:break;case 41:{l=19;c=t;continue e}default:{e=l;c=t;l=e;continue e}}l=i-t|0;if((l|0)<=0){l=-1;break A}switch(r[u+(n[t>>0]|0)>>0]|0){case 29:{b=74;break e}case 27:case 26:case 25:case 24:case 22:{l=41;c=c+2|0;continue e}case 5:{if((l|0)<2){l=-2;break A}if(!(m5[a[b>>2]&127](A,t)|0)){b=78;break e}l=41;c=c+3|0;continue e}case 6:{if((l|0)<3){l=-2;break A}if(!(m5[a[s>>2]&127](A,t)|0)){b=82;break e}l=41;c=c+4|0;continue e}case 7:{if((l|0)<4){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){b=86;break e}l=41;c=c+5|0;continue e}default:{l=19;c=t;continue e}}}default:{b=98;break e}}}switch(b|0){case 56:{a[f>>2]=c;l=0;break A}case 60:{a[f>>2]=c;l=0;break A}case 64:{a[f>>2]=c;l=0;break A}case 68:{a[f>>2]=c;l=0;break A}case 70:{a[f>>2]=c;break A}case 74:{a[f>>2]=t;l=0;break A}case 78:{a[f>>2]=t;l=0;break A}case 82:{a[f>>2]=t;l=0;break A}case 86:{a[f>>2]=t;l=0;break A}case 89:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=32;break A}case 92:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=31;break A}case 95:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=30;break A}case 98:{a[f>>2]=c;l=0;break A}case 99:{l=0-l|0;break A}}}else l=-4}while(0);return l|0}function ms(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){w=A+72|0;e:do{switch(r[w+(n[e>>0]|0)>>0]|0){case 2:{l=Mq(A,e+1|0,i,f)|0;break A}case 3:{l=yq(A,e+1|0,i,f)|0;break A}case 9:{l=e+1|0;if((i-l|0)<=0){l=-3;break A}a[f>>2]=(r[w+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break A}case 10:{a[f>>2]=e+1;l=7;break A}case 4:{t=e+1|0;if((i-t|0)<=0){l=-5;break A}if((r[t>>0]|0)==93){l=e+2|0;if((i-l|0)<=0){l=-5;break A}if((r[l>>0]|0)==62){a[f>>2]=l;l=0;break A}else l=i}else l=i;break}case 5:{l=i;if((l-e|0)<2){l=-2;break A}if(!(m5[a[A+352>>2]&127](A,e)|0)){t=e+2|0;break e}else{a[f>>2]=e;l=0;break A}}case 6:{l=i;if((l-e|0)<3){l=-2;break A}if(!(m5[a[A+356>>2]&127](A,e)|0)){t=e+3|0;break e}else{a[f>>2]=e;l=0;break A}}case 7:{l=i;if((l-e|0)<4){l=-2;break A}if(!(m5[a[A+360>>2]&127](A,e)|0)){t=e+4|0;break e}else{a[f>>2]=e;l=0;break A}}case 8:case 1:case 0:{a[f>>2]=e;l=0;break A}default:{t=e+1|0;l=i}}}while(0);c=A+352|0;b=A+356|0;s=A+360|0;e:while(1){i=l-t|0;if((i|0)<=0){i=49;break}switch(r[w+(n[t>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{i=47;break e}case 5:{if((i|0)<2){i=32;break e}if(m5[a[c>>2]&127](A,t)|0){i=32;break e}t=t+2|0;continue e}case 6:{if((i|0)<3){i=36;break e}if(m5[a[b>>2]&127](A,t)|0){i=36;break e}t=t+3|0;continue e}case 7:{if((i|0)<4){i=40;break e}if(m5[a[s>>2]&127](A,t)|0){i=40;break e}t=t+4|0;continue e}case 4:{if((i|0)<=1){i=47;break e}e=t+1|0;if((r[e>>0]|0)!=93){t=e;continue e}if((i|0)<=2){i=47;break e}t=t+2|0;if((r[t>>0]|0)==62){i=46;break e}else{t=e;continue e}}default:{t=t+1|0;continue e}}}if((i|0)==32){a[f>>2]=t;l=6;break}else if((i|0)==36){a[f>>2]=t;l=6;break}else if((i|0)==40){a[f>>2]=t;l=6;break}else if((i|0)==46){a[f>>2]=t;l=0;break}else if((i|0)==47){a[f>>2]=t;l=6;break}else if((i|0)==49){a[f>>2]=t;l=6;break}}else l=-4}while(0);return l|0}function Ls(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;A:do{if(e>>>0>>0){s=A+72|0;e:do{switch(r[s+(n[e>>0]|0)>>0]|0){case 4:{t=e+1|0;l=i;if((l-t|0)<=0){l=-1;break A}if((r[t>>0]|0)==93){i=e+2|0;if((l-i|0)<=0){l=-1;break A}if((r[i>>0]|0)==62){a[f>>2]=e+3;l=40;break A}}break}case 9:{l=e+1|0;if((i-l|0)<=0){l=-1;break A}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break A}case 10:{a[f>>2]=e+1;l=7;break A}case 5:{l=i;if((l-e|0)<2){l=-2;break A}if(!(m5[a[A+352>>2]&127](A,e)|0)){t=e+2|0;break e}else{a[f>>2]=e;l=0;break A}}case 6:{l=i;if((l-e|0)<3){l=-2;break A}if(!(m5[a[A+356>>2]&127](A,e)|0)){t=e+3|0;break e}else{a[f>>2]=e;l=0;break A}}case 7:{l=i;if((l-e|0)<4){l=-2;break A}if(!(m5[a[A+360>>2]&127](A,e)|0)){t=e+4|0;break e}else{a[f>>2]=e;l=0;break A}}case 8:case 1:case 0:{a[f>>2]=e;l=0;break A}default:{t=e+1|0;l=i}}}while(0);e=A+352|0;c=A+356|0;b=A+360|0;e:while(1){i=l-t|0;if((i|0)<=0){i=39;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{i=37;break e}case 5:{if((i|0)<2){i=30;break e}if(!(m5[a[e>>2]&127](A,t)|0))i=2;else{i=30;break e}break}case 6:{if((i|0)<3){i=33;break e}if(!(m5[a[c>>2]&127](A,t)|0))i=3;else{i=33;break e}break}case 7:{if((i|0)<4){i=36;break e}if(!(m5[a[b>>2]&127](A,t)|0))i=4;else{i=36;break e}break}default:i=1}t=t+i|0}if((i|0)==30){a[f>>2]=t;l=6;break}else if((i|0)==33){a[f>>2]=t;l=6;break}else if((i|0)==36){a[f>>2]=t;l=6;break}else if((i|0)==37){a[f>>2]=t;l=6;break}else if((i|0)==39){a[f>>2]=t;l=6;break}}else l=-4}while(0);return l|0}function Ws(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0;if(!((A|0)>-1&((e|0)>0&(i|0)>0)))vA(95162,94943,843,95188);t=wq(e,i,A,l,t,1)|0;if(!t)vA(95233,94943,847,95188);g=a[t+20>>2]|0;v=a[t+24>>2]|0;w=e+1|0;s=0;while(1){if((s|0)==(w|0))break;a[g+(s<<2)>>2]=0;s=s+1|0}A:do{switch(l|0){case 1:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){h=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=13;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=13;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==13)vA(138394,94943,862,95188);while(1){if((h|0)==(e|0)){s=0;break}B=h+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(h<<2)>>2]|0);h=B}while(1){if((s|0)==(A|0))break;d=g+(a[r+(s<<2)>>2]<<2)|0;B=a[d>>2]|0;b[l+(B<<3)>>3]=+b[n+(s<<3)>>3];i=a[f+(s<<2)>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 2:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){d=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=25;break}h=a[f+(s<<2)>>2]|0;if(!((h|0)>-1&(h|0)<(i|0))){B=25;break}h=g+(w+1<<2)|0;a[h>>2]=(a[h>>2]|0)+1;s=s+1|0}if((B|0)==25)vA(138394,94943,880,95188);while(1){if((d|0)==(e|0)){s=0;break}B=d+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(d<<2)>>2]|0);d=B}while(1){if((s|0)==(A|0))break;d=g+(a[r+(s<<2)>>2]<<2)|0;B=a[d>>2]|0;i=B<<1;b[l+(i<<3)>>3]=+b[n>>3];b[l+((i|1)<<3)>>3]=+b[n+8>>3];i=a[f+(s<<2)>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+16|0;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 4:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){o=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=37;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=37;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==37)vA(138394,94943,899,95188);while(1){if((o|0)==(e|0)){s=0;break}B=o+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(o<<2)>>2]|0);o=B}while(1){if((s|0)==(A|0))break;d=r+(s<<2)|0;a[l+(a[g+(a[d>>2]<<2)>>2]<<2)>>2]=a[n+(s<<2)>>2];i=a[f+(s<<2)>>2]|0;d=g+(a[d>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 8:{n=0;while(1){if((n|0)>=(A|0)){u=0;break}s=a[r+(n<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(e|0))){B=48;break}d=a[f+(n<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=48;break}d=g+(s+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;n=n+1|0}if((B|0)==48)vA(138394,94943,915,95188);while(1){if((u|0)==(e|0)){n=0;break}B=u+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(u<<2)>>2]|0);u=B}while(1){if((n|0)==(A|0))break;i=a[f+(n<<2)>>2]|0;d=g+(a[r+(n<<2)>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 16:{s=0;while(1){if((s|0)>=(A|0)){k=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=59;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=59;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==59)vA(138394,94943,930,95188);while(1){if((k|0)==(e|0))break;B=k+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(k<<2)>>2]|0);k=B}y6(a[t+28>>2]|0,n|0,U(a[t+40>>2]|0,A)|0)|0;n=0;while(1){if((n|0)==(A|0))break;i=a[f+(n<<2)>>2]|0;d=g+(a[r+(n<<2)>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}default:vA(138394,94943,944,95188)}}while(0);a[g>>2]=0;a[t+8>>2]=A;if(c)t=ys(t,c)|0;return t|0}function ys(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;v=a[A+20>>2]|0;g=a[A+24>>2]|0;r=a[A+16>>2]|0;d=a[A+4>>2]|0;A:do{if(e){w=d<<2;u=$F(w)|0;i=0;while(1){if((i|0)>=(d|0))break;a[u+(i<<2)>>2]=-1;i=i+1|0}e:do{switch(r|0){case 1:{c=a[A+28>>2]|0;f=0;r=a[v>>2]|0;i=0;i:while(1){if((i|0)>=(a[A>>2]|0)){E=f;C=u;break e}s=i+1|0;w=v+(s<<2)|0;l=v+(i<<2)|0;i=f;while(1){e=a[w>>2]|0;if((r|0)>=(e|0))break;e=g+(r<<2)|0;f=a[e>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;b[c+(i<<3)>>3]=+b[c+(r<<3)>>3];a[u+(a[e>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;B=c+(n<<3)|0;b[B>>3]=+b[B>>3]+ +b[c+(r<<3)>>3]}r=r+1|0}a[w>>2]=i;f=i;r=e;i=s}vA(95235,94943,1792,95260);break}case 2:{B=a[A+28>>2]|0;switch(e|0){case 1:{e=a[v>>2]|0;r=0;i=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}c=r+1|0;s=v+(c<<2)|0;l=v+(r<<2)|0;while(1){r=a[s>>2]|0;if((e|0)>=(r|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;h=e<<1;d=i<<1;b[B+(d<<3)>>3]=+b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;h=e<<1;d=n<<1;o=B+(d<<3)|0;b[o>>3]=+b[o>>3]+ +b[B+(h<<3)>>3];d=B+((d|1)<<3)|0;b[d>>3]=+b[d>>3]+ +b[B+((h|1)<<3)>>3]}e=e+1|0}a[s>>2]=i;e=r;r=c}vA(95235,94943,1815,95260);break}case 4:{e=a[v>>2]|0;r=0;i=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}s=r+1|0;c=v+(s<<2)|0;l=v+(r<<2)|0;while(1){r=a[c>>2]|0;if((e|0)>=(r|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;h=e<<1;d=i<<1;b[B+(d<<3)>>3]=+b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;h=e<<1;d=n<<1;o=B+(d<<3)|0;b[o>>3]=+b[o>>3]+ +b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3]}e=e+1|0}a[c>>2]=i;e=r;r=s}vA(95235,94943,1835,95260);break}case 2:{h=~~+b[B+8>>3];l=a[A>>2]|0;r=h;n=0;i=0;i:while(1){if((n|0)>=(l|0))break;c=n+1|0;s=a[v+(c<<2)>>2]|0;f=i;e=h;i=a[v+(n<<2)>>2]|0;while(1){if((i|0)>=(s|0)){h=e;n=c;i=f;continue i}h=~~+b[B+((f<<1|1)<<3)>>3];f=f+1|0;r=(r|0)>(h|0)?r:h;e=(e|0)<(h|0)?e:h;i=i+1|0}}L2(u);o=r-h+1|0;k=$F(U(o,w)|0)|0;o=U(o,d)|0;i=0;while(1){if((i|0)>=(o|0))break;a[k+(i<<2)>>2]=-1;i=i+1|0}i=0;e=a[v>>2]|0;r=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=k;break e}w=r+1|0;u=v+(w<<2)|0;s=v+(r<<2)|0;while(1){r=a[u>>2]|0;if((e|0)>=(r|0))break;r=a[g+(e<<2)>>2]|0;f=e<<1;t=+b[B+((f|1)<<3)>>3];n=(U(~~t-h|0,d)|0)+r|0;l=k+(n<<2)|0;c=a[l>>2]|0;if((c|0)<(a[s>>2]|0)){a[g+(i<<2)>>2]=r;c=i<<1;b[B+(c<<3)>>3]=+b[B+(f<<3)>>3];b[B+((c|1)<<3)>>3]=t;a[l>>2]=i;i=i+1|0}else{if((n|0)>=(o|0)){i=55;break i}if((a[g+(c<<2)>>2]|0)!=(r|0)){i=57;break i}c=c<<1;l=B+(c<<3)|0;b[l>>3]=+b[l>>3]+ +b[B+(f<<3)>>3];b[B+((c|1)<<3)>>3]=t}e=e+1|0}a[u>>2]=i;e=r;r=w}if((i|0)==55)vA(95292,94943,1869,95260);else if((i|0)==57)vA(95313,94943,1870,95260);break}case 3:{f=~~+b[B+8>>3];l=a[A>>2]|0;i=f;r=0;n=0;i:while(1){if((n|0)>=(l|0))break;c=n+1|0;s=a[v+(c<<2)>>2]|0;e=i;i=a[v+(n<<2)>>2]|0;while(1){if((i|0)>=(s|0)){i=e;n=c;continue i}h=~~+b[B+(r<<1<<3)>>3];e=(e|0)>(h|0)?e:h;f=(f|0)>(h|0)?f:h;r=r+1|0;i=i+1|0}}L2(u);r=i-f+1|0;k=$F(U(r,w)|0)|0;r=U(r,d)|0;i=0;while(1){if((i|0)>=(r|0))break;a[k+(i<<2)>>2]=-1;i=i+1|0}i=0;e=a[v>>2]|0;r=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=k;break e}w=r+1|0;u=v+(w<<2)|0;s=v+(r<<2)|0;while(1){r=a[u>>2]|0;if((e|0)>=(r|0))break;r=a[g+(e<<2)>>2]|0;n=e<<1;t=+b[B+(n<<3)>>3];l=k+((U(~~t-f|0,d)|0)+r<<2)|0;c=a[l>>2]|0;if((c|0)<(a[s>>2]|0)){a[g+(i<<2)>>2]=r;h=i<<1;b[B+(h<<3)>>3]=t;b[B+((h|1)<<3)>>3]=+b[B+((n|1)<<3)>>3];a[l>>2]=i;i=i+1|0}else{if((a[g+(c<<2)>>2]|0)!=(r|0))break i;h=c<<1;b[B+(h<<3)>>3]=t;h=B+((h|1)<<3)|0;b[h>>3]=+b[h>>3]+ +b[B+((n|1)<<3)>>3]}e=e+1|0}a[u>>2]=i;e=r;r=w}vA(95313,94943,1905,95260);break}default:{E=0;C=u;break e}}break}case 4:{c=a[A+28>>2]|0;r=0;i=0;e=a[v>>2]|0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}s=r+1|0;w=v+(s<<2)|0;l=v+(r<<2)|0;while(1){f=a[w>>2]|0;if((e|0)>=(f|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;a[c+(i<<2)>>2]=a[c+(e<<2)>>2];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;B=c+(n<<2)|0;a[B>>2]=(a[B>>2]|0)+(a[c+(e<<2)>>2]|0)}e=e+1|0}a[w>>2]=i;r=s;e=f}vA(95235,94943,1929,95260);break}case 8:{r=0;i=0;e=a[v>>2]|0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}c=r+1|0;s=v+(c<<2)|0;l=v+(r<<2)|0;while(1){f=a[s>>2]|0;if((e|0)>=(f|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)>=(a[l>>2]|0)){if((a[g+(n<<2)>>2]|0)!=(f|0))break i}else{a[g+(i<<2)>>2]=f;a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}e=e+1|0}a[s>>2]=i;r=c;e=f}vA(95235,94943,1948,95260);break}default:{A=0;break A}}}while(0);a[A+8>>2]=E;L2(C)}}while(0);return A|0}function zs(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;if(!r)Ys(A,i,f,n,e,a);else Ds(A,i,f,n,e,a);return}function Ys(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0;if((a[A+32>>2]|0)!=1)vA(94919,94943,1121,95483);if((a[A+16>>2]|0)!=1)vA(95364,94943,1122,95483);o=a[A+28>>2]|0;h=a[A+20>>2]|0;d=a[A+24>>2]|0;B=a[A>>2]|0;k=a[A+4>>2]|0;A=a[i>>2]|0;l=(A|0)!=0;if(!f){if(!l)A=$F(U(r<<3,B)|0)|0;f=0;A:while(1){if((f|0)>=(B|0))break;u=U(f,r)|0;l=0;while(1){if((l|0)>=(r|0))break;b[A+(l+u<<3)>>3]=0.0;l=l+1|0}s=f+1|0;w=a[h+(s<<2)>>2]|0;l=a[h+(f<<2)>>2]|0;while(1){if((l|0)>=(w|0)){f=s;continue A}t=o+(l<<3)|0;c=d+(l<<2)|0;f=0;while(1){if((f|0)>=(r|0))break;v=+b[e+((U(a[c>>2]|0,r)|0)+f<<3)>>3]*+b[t>>3];k=A+(f+u<<3)|0;b[k>>3]=+b[k>>3]+v;f=f+1|0}l=l+1|0}}if(n)Fs(A,B,r)}else{if(!l)A=$F(U(r<<3,k)|0)|0;f=U(k,r)|0;l=0;while(1){if((l|0)>=(f|0)){l=0;break}b[A+(l<<3)>>3]=0.0;l=l+1|0}A:while(1){if((l|0)>=(B|0))break;s=l+1|0;w=a[h+(s<<2)>>2]|0;u=U(l,r)|0;l=a[h+(l<<2)>>2]|0;while(1){if((l|0)>=(w|0)){l=s;continue A}t=o+(l<<3)|0;c=d+(l<<2)|0;f=0;while(1){if((f|0)>=(r|0))break;g=A+((U(a[c>>2]|0,r)|0)+f<<3)|0;b[g>>3]=+b[g>>3]+ +b[e+(f+u<<3)>>3]*+b[t>>3];f=f+1|0}l=l+1|0}}if(n)Fs(A,k,r)}a[i>>2]=A;return}function Ds(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w;if((a[A+32>>2]|0)!=1)vA(94919,94943,1163,95335);if((a[A+16>>2]|0)!=1)vA(95364,94943,1164,95335);l=a[i>>2]|0;c=a[A>>2]|0;b=a[A+4>>2]|0;t=(l|0)!=0;if(!f){if(!t)l=$F(U(r<<3,c)|0)|0;t=0;while(1){if((t|0)>=(r|0))break;a[s>>2]=l+((U(t,c)|0)<<3);Ms(A,e+((U(t,b)|0)<<3)|0,s,0);t=t+1|0}if(!n)Fs(l,r,c)}else{if(!t)l=$F(U(r<<3,b)|0)|0;t=0;while(1){if((t|0)>=(r|0))break;a[s>>2]=l+((U(t,b)|0)<<3);Ms(A,e+((U(t,c)|0)<<3)|0,s,f);t=t+1|0}if(!n)Fs(l,r,b)}a[i>>2]=l;k=w;return}function Ms(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0;if((a[A+32>>2]|0)!=1)vA(94919,94943,1222,95392);l=a[A+16>>2]|0;switch(l|0){case 4:case 1:break;default:vA(95421,94943,1223,95392)}u=a[A+20>>2]|0;w=a[A+24>>2]|0;k=a[A>>2]|0;c=a[A+4>>2]|0;t=a[i>>2]|0;A:do{switch(l|0){case 1:{s=a[A+28>>2]|0;A=(r|0)!=0;f=(t|0)!=0;if(!e){if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[s+(A<<3)>>3];b[l>>3]=o;A=A+1|0;n=o}}}if(!f)t=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[t+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0)){f=t;break A}f=A+1|0;l=a[u+(f<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(l|0)){A=f;continue e}e=t+(a[w+(A<<2)>>2]<<3)|0;b[e>>3]=+b[e>>3]+ +b[s+(A<<3)>>3];A=A+1|0}}}else{if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[e+(a[w+(A<<2)>>2]<<3)>>3]*+b[s+(A<<3)>>3];b[l>>3]=o;A=A+1|0;n=o}}}if(f)f=t;else f=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[f+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0))break A;l=A+1|0;t=a[u+(l<<2)>>2]|0;r=e+(A<<3)|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(t|0)){A=l;continue e}c=f+(a[w+(A<<2)>>2]<<3)|0;b[c>>3]=+b[c>>3]+ +b[r>>3]*+b[s+(A<<3)>>3];A=A+1|0}}}}case 4:{s=a[A+28>>2]|0;A=(r|0)!=0;f=(t|0)!=0;if(!e){if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +(a[s+(A<<2)>>2]|0);b[l>>3]=o;A=A+1|0;n=o}}}if(!f)t=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[t+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0)){f=t;break A}f=A+1|0;l=a[u+(f<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(l|0)){A=f;continue e}e=t+(a[w+(A<<2)>>2]<<3)|0;b[e>>3]=+b[e>>3]+ +(a[s+(A<<2)>>2]|0);A=A+1|0}}}else{if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[e+(a[w+(A<<2)>>2]<<3)>>3]*+(a[s+(A<<2)>>2]|0);b[l>>3]=o;A=A+1|0;n=o}}}if(f)f=t;else f=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[f+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0))break A;l=A+1|0;t=a[u+(l<<2)>>2]|0;r=e+(A<<3)|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(t|0)){A=l;continue e}c=f+(a[w+(A<<2)>>2]<<3)|0;b[c>>3]=+b[c>>3]+ +b[r>>3]*+(a[s+(A<<2)>>2]|0);A=A+1|0}}}}default:vA(138394,94943,1315,95392)}}while(0);a[i>>2]=f;return}function Fs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,n=0;r=U(e<<3,i)|0;a=$F(r)|0;y6(a|0,A|0,r|0)|0;r=0;while(1){if((r|0)>=(e|0))break;n=U(r,i)|0;f=0;while(1){if((f|0)>=(i|0))break;b[A+((U(f,e)|0)+r<<3)>>3]=+b[a+(f+n<<3)>>3];f=f+1|0}r=r+1|0}L2(a);return}function Vs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;I=a[A+20>>2]|0;Z=a[A+24>>2]|0;G=a[e+20>>2]|0;Q=a[e+24>>2]|0;C=a[A+32>>2]|0;if(!((C|0)==1?(C|0)==(a[e+32>>2]|0):0))vA(95005,94943,1408,95512);C=a[A>>2]|0;if(((a[A+4>>2]|0)==(a[e>>2]|0)?(u=a[A+16>>2]|0,(u|0)==(a[e+16>>2]|0)):0)?(w=e+4|0,m=$F(a[w>>2]<<2)|0,(m|0)!=0):0){i=0;while(1){if((i|0)>=(a[w>>2]|0)){r=0;i=0;break}a[m+(i<<2)>>2]=-1;i=i+1|0}A:while(1){if((i|0)>=(C|0))break;t=i+1|0;c=I+(t<<2)|0;s=-2-i|0;l=a[I+(i<<2)>>2]|0;while(1){if((l|0)>=(a[c>>2]|0)){i=t;continue A}f=a[Z+(l<<2)>>2]|0;n=G+(f+1<<2)|0;f=a[G+(f<<2)>>2]|0;while(1){if((f|0)>=(a[n>>2]|0))break;i=m+(a[Q+(f<<2)>>2]<<2)|0;if((a[i>>2]|0)!=(s|0)){a[i>>2]=s;r=r+1|0}f=f+1|0}l=l+1|0}}i=fq(C,a[w>>2]|0,r,u,1)|0;A:do{if(!i)i=0;else{v=a[i+20>>2]|0;g=a[i+24>>2]|0;e:do{switch(u|0){case 1:{d=a[A+28>>2]|0;u=a[e+28>>2]|0;e=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((r|0)>=(C|0)){E=f;break e}k=r+1|0;o=I+(k<<2)|0;h=v+(r<<2)|0;A=a[I+(r<<2)>>2]|0;while(1){if((A|0)>=(a[o>>2]|0))break;c=a[Z+(A<<2)>>2]|0;s=G+(c+1<<2)|0;w=d+(A<<3)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;r=Q+(c<<2)|0;n=a[r>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[h>>2]|0)){a[l>>2]=f;a[g+(f<<2)>>2]=a[r>>2];b[e+(f<<3)>>3]=+b[u+(c<<3)>>3]*+b[w>>3];f=f+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;B=e+(t<<3)|0;b[B>>3]=+b[B>>3]+ +b[u+(c<<3)>>3]*+b[w>>3]}c=c+1|0}A=A+1|0}a[v+(k<<2)>>2]=f;r=k}vA(95534,94943,1468,95512);break}case 2:{B=a[A+28>>2]|0;e=a[e+28>>2]|0;k=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((r|0)>=(C|0)){E=f;break e}o=r+1|0;h=I+(o<<2)|0;d=v+(r<<2)|0;u=a[I+(r<<2)>>2]|0;while(1){if((u|0)>=(a[h>>2]|0))break;c=a[Z+(u<<2)>>2]|0;s=G+(c+1<<2)|0;A=u<<1;w=B+(A<<3)|0;A=B+((A|1)<<3)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;r=Q+(c<<2)|0;n=a[r>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[d>>2]|0)){a[l>>2]=f;a[g+(f<<2)>>2]=a[r>>2];l=c<<1;n=e+(l<<3)|0;l=e+((l|1)<<3)|0;t=f<<1;b[k+(t<<3)>>3]=+b[n>>3]*+b[w>>3]-+b[l>>3]*+b[A>>3];b[k+((t|1)<<3)>>3]=+b[n>>3]*+b[A>>3]+ +b[l>>3]*+b[w>>3];f=f+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;l=c<<1;n=e+(l<<3)|0;l=e+((l|1)<<3)|0;t=t<<1;r=k+(t<<3)|0;b[r>>3]=+b[r>>3]+ +b[n>>3]*+b[w>>3]-+b[l>>3]*+b[A>>3];t=k+((t|1)<<3)|0;b[t>>3]=+b[n>>3]*+b[A>>3]+ +b[l>>3]*+b[w>>3]+ +b[t>>3]}c=c+1|0}u=u+1|0}a[v+(o<<2)>>2]=f;r=o}vA(95534,94943,1497,95512);break}case 4:{d=a[A+28>>2]|0;u=a[e+28>>2]|0;e=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((f|0)>=(C|0)){E=r;break e}k=f+1|0;o=I+(k<<2)|0;h=v+(f<<2)|0;s=a[I+(f<<2)>>2]|0;while(1){if((s|0)>=(a[o>>2]|0))break;c=a[Z+(s<<2)>>2]|0;w=G+(c+1<<2)|0;A=d+(s<<2)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[w>>2]|0))break;f=Q+(c<<2)|0;n=a[f>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[h>>2]|0)){a[l>>2]=r;a[g+(r<<2)>>2]=a[f>>2];a[e+(r<<2)>>2]=U(a[u+(c<<2)>>2]|0,a[A>>2]|0)|0;r=r+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;l=U(a[u+(c<<2)>>2]|0,a[A>>2]|0)|0;B=e+(t<<2)|0;a[B>>2]=(a[B>>2]|0)+l}c=c+1|0}s=s+1|0}a[v+(k<<2)>>2]=r;f=k}vA(95534,94943,1523,95512);break}case 8:{a[v>>2]=0;r=0;f=0;i:while(1){if((f|0)>=(C|0)){E=r;break e}A=f+1|0;u=I+(A<<2)|0;e=v+(f<<2)|0;s=a[I+(f<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;c=a[Z+(s<<2)>>2]|0;w=G+(c+1<<2)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[w>>2]|0))break;f=Q+(c<<2)|0;n=a[f>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)>=(a[e>>2]|0)){if((a[g+(t<<2)>>2]|0)!=(n|0))break i}else{a[l>>2]=r;a[g+(r<<2)>>2]=a[f>>2];r=r+1|0}c=c+1|0}s=s+1|0}a[v+(A<<2)>>2]=r;f=A}vA(95534,94943,1543,95512);break}default:{rq(i);i=0;break A}}}while(0);a[i+8>>2]=E}}while(0);L2(m)}else i=0;return i|0}function Js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0.0,V=0.0,J=0.0,N=0.0;z=a[A+20>>2]|0;Y=a[A+24>>2]|0;D=a[e+20>>2]|0;m=a[e+24>>2]|0;L=a[i+20>>2]|0;W=a[i+24>>2]|0;y=a[A+32>>2]|0;if(!((y|0)==1?(y|0)==(a[e+32>>2]|0):0))vA(95005,94943,1574,95559);y=a[A>>2]|0;if(((((a[A+4>>2]|0)==(a[e>>2]|0)?(a[e+4>>2]|0)==(a[i>>2]|0):0)?(h=a[A+16>>2]|0,(h|0)==(a[e+16>>2]|0)):0)?(h|0)==(a[i+16>>2]|0):0)?(o=i+4|0,M=$F(a[o>>2]<<2)|0,(M|0)!=0):0){r=0;while(1){if((r|0)>=(a[o>>2]|0)){f=0;r=0;break}a[M+(r<<2)>>2]=-1;r=r+1|0}A:while(1){if((r|0)>=(y|0))break;w=r+1|0;u=z+(w<<2)|0;k=-2-r|0;s=a[z+(r<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0)){r=w;continue A}t=a[Y+(s<<2)>>2]|0;c=D+(t+1<<2)|0;t=a[D+(t<<2)>>2]|0;while(1){if((t|0)>=(a[c>>2]|0))break;n=a[m+(t<<2)>>2]|0;l=L+(n+1<<2)|0;n=a[L+(n<<2)>>2]|0;while(1){if((n|0)>=(a[l>>2]|0))break;r=M+(a[W+(n<<2)>>2]<<2)|0;if((a[r>>2]|0)!=(k|0)){a[r>>2]=k;f=f+1|0}n=n+1|0}t=t+1|0}s=s+1|0}}r=fq(y,a[o>>2]|0,f,h,1)|0;A:do{if(!r)r=0;else{Z=a[r+20>>2]|0;G=a[r+24>>2]|0;e:do{switch(h|0){case 1:{E=a[A+28>>2]|0;g=a[e+28>>2]|0;i=a[i+28>>2]|0;d=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((f|0)>=(y|0)){Q=n;break e}B=f+1|0;v=z+(B<<2)|0;e=Z+(f<<2)|0;h=a[z+(f<<2)>>2]|0;while(1){if((h|0)>=(a[v>>2]|0))break;k=a[Y+(h<<2)>>2]|0;o=D+(k+1<<2)|0;A=E+(h<<3)|0;k=a[D+(k<<2)>>2]|0;while(1){if((k|0)>=(a[o>>2]|0))break;s=a[m+(k<<2)>>2]|0;w=L+(s+1<<2)|0;u=g+(k<<3)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[w>>2]|0))break;f=W+(s<<2)|0;l=a[f>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[e>>2]|0)){a[t>>2]=n;a[G+(n<<2)>>2]=a[f>>2];b[d+(n<<3)>>3]=+b[u>>3]*+b[A>>3]*+b[i+(s<<3)>>3];n=n+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;I=d+(c<<3)|0;b[I>>3]=+b[I>>3]+ +b[u>>3]*+b[A>>3]*+b[i+(s<<3)>>3]}s=s+1|0}k=k+1|0}h=h+1|0}a[Z+(B<<2)>>2]=n;f=B}vA(95582,94943,1642,95559);break}case 2:{I=a[A+28>>2]|0;C=a[e+28>>2]|0;d=a[i+28>>2]|0;B=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}v=n+1|0;g=z+(v<<2)|0;E=Z+(n<<2)|0;A=a[z+(n<<2)>>2]|0;while(1){if((A|0)>=(a[g>>2]|0))break;w=a[Y+(A<<2)>>2]|0;h=D+(w+1<<2)|0;i=A<<1;e=I+(i<<3)|0;i=I+((i|1)<<3)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[h>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;o=w<<1;k=C+(o<<3)|0;o=C+((o|1)<<3)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[E>>2]|0)){a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];V=+b[e>>3];J=+b[k>>3];F=+b[i>>3];N=+b[o>>3];t=s<<1;l=d+(t<<3)|0;t=d+((t|1)<<3)|0;c=f<<1;b[B+(c<<3)>>3]=(J*V-N*F)*+b[l>>3]-(N*V+F*J)*+b[t>>3];J=+b[e>>3];F=+b[o>>3];V=+b[i>>3];N=+b[k>>3];b[B+((c|1)<<3)>>3]=(N*V+F*J)*+b[l>>3]+(N*J-V*F)*+b[t>>3];f=f+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;J=+b[e>>3];V=+b[k>>3];N=+b[i>>3];F=+b[o>>3];t=s<<1;l=d+(t<<3)|0;t=d+((t|1)<<3)|0;c=c<<1;n=B+(c<<3)|0;b[n>>3]=+b[n>>3]+(V*J-F*N)*+b[l>>3]-(F*J+N*V)*+b[t>>3];V=+b[e>>3];N=+b[o>>3];J=+b[i>>3];F=+b[k>>3];c=B+((c|1)<<3)|0;b[c>>3]=(F*J+N*V)*+b[l>>3]+(F*V-J*N)*+b[t>>3]+ +b[c>>3]}s=s+1|0}w=w+1|0}A=A+1|0}a[Z+(v<<2)>>2]=f;n=v}vA(95582,94943,1674,95559);break}case 4:{E=a[A+28>>2]|0;g=a[e+28>>2]|0;e=a[i+28>>2]|0;i=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}d=n+1|0;B=z+(d<<2)|0;v=Z+(n<<2)|0;o=a[z+(n<<2)>>2]|0;while(1){if((o|0)>=(a[B>>2]|0))break;w=a[Y+(o<<2)>>2]|0;A=D+(w+1<<2)|0;h=E+(o<<2)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[A>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;k=g+(w<<2)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[v>>2]|0)){a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];C=U(a[k>>2]|0,a[h>>2]|0)|0;C=U(C,a[e+(s<<2)>>2]|0)|0;I=i+(f<<2)|0;a[I>>2]=(a[I>>2]|0)+C;f=f+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;C=U(a[k>>2]|0,a[h>>2]|0)|0;C=U(C,a[e+(s<<2)>>2]|0)|0;I=i+(c<<2)|0;a[I>>2]=(a[I>>2]|0)+C}s=s+1|0}w=w+1|0}o=o+1|0}a[Z+(d<<2)>>2]=f;n=d}vA(95582,94943,1706,95559);break}case 8:{a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}A=n+1|0;h=z+(A<<2)|0;e=Z+(n<<2)|0;k=a[z+(n<<2)>>2]|0;while(1){if((k|0)>=(a[h>>2]|0))break;w=a[Y+(k<<2)>>2]|0;o=D+(w+1<<2)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[o>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)>=(a[e>>2]|0)){if((a[G+(c<<2)>>2]|0)!=(l|0))break i}else{a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];f=f+1|0}s=s+1|0}w=w+1|0}k=k+1|0}a[Z+(A<<2)>>2]=f;n=A}vA(95582,94943,1729,95559);break}default:{rq(r);r=0;break A}}}while(0);a[r+8>>2]=Q}}while(0);L2(M)}else r=0;return r|0}function Ns(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;if((a[A+32>>2]|0)!=2)vA(95100,94943,1971,95607);if((e|0)>=1){l=a[A+8>>2]|0;n=l+e|0;if((n|0)>=(a[A+12>>2]|0))Xs(A,n+10|0)|0;t=l<<2;n=e<<2;y6((a[A+20>>2]|0)+t|0,i|0,n|0)|0;y6((a[A+24>>2]|0)+t|0,r|0,n|0)|0;n=a[A+40>>2]|0;if(n|0){t=U(n,e)|0;l=U(n,l)|0;y6((a[A+28>>2]|0)+l|0,f|0,t|0)|0}f=A+4|0;l=0;while(1){if((l|0)>=(e|0))break;n=a[i+(l<<2)>>2]|0;if((n|0)>=(a[A>>2]|0))a[A>>2]=n+1;n=a[r+(l<<2)>>2]|0;if((n|0)>=(a[f>>2]|0))a[f>>2]=n+1;l=l+1|0}t=A+8|0;a[t>>2]=(a[t>>2]|0)+e}return A|0}function Xs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((a[A+32>>2]|0)==2){i=A+20|0;f=e<<2;a[i>>2]=eV(a[i>>2]|0,f)|0;i=A+24|0;a[i>>2]=eV(a[i>>2]|0,f)|0;i=a[A+40>>2]|0;if((i|0)>0){f=A+28|0;r=a[f>>2]|0;i=U(i,e)|0;if(!r)i=$F(i)|0;else i=eV(r,i)|0;a[f>>2]=i}}else{i=A+24|0;a[i>>2]=eV(a[i>>2]|0,e<<2)|0;i=a[A+40>>2]|0;if((i|0)>0){f=A+28|0;r=a[f>>2]|0;i=U(i,e)|0;if(!r)i=$F(i)|0;else i=eV(r,i)|0;a[f>>2]=i}}a[A+12>>2]=e;return A|0}function Rs(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;A:do{if(!A)A=0;else{s=a[A+20>>2]|0;c=a[A+24>>2]|0;e:do{switch(a[A+16>>2]|0){case 1:{l=a[A+28>>2]|0;r=a[A>>2]|0;e=0;i:while(1){if((e|0)>=(r|0))break e;f=e+1|0;n=a[s+(f<<2)>>2]|0;e=a[s+(e<<2)>>2]|0;i=1.0/+(n-e|0);while(1){if((e|0)>=(n|0)){e=f;continue i}c=l+(e<<3)|0;b[c>>3]=+b[c>>3]*i;e=e+1|0}}}case 2:{f=a[A+28>>2]|0;n=a[A>>2]|0;e=0;i:while(1){if((e|0)>=(n|0))break e;l=e+1|0;t=a[s+(l<<2)>>2]|0;r=a[s+(e<<2)>>2]|0;i=1.0/+(t-r|0);while(1){if((r|0)>=(t|0)){e=l;continue i}if((a[c+(r<<2)>>2]|0)!=(e|0)){w=r<<1;u=f+(w<<3)|0;b[u>>3]=+b[u>>3]*i;w=f+((w|1)<<3)|0;b[w>>3]=+b[w>>3]*i}r=r+1|0}}}case 4:{vA(138394,94943,2192,95648);break}case 8:break;default:{A=0;break A}}}while(0)}}while(0);return A|0}function Hs(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((A|0)!=0?(e=A+8|0,i=a[e>>2]|0,r=a[A+4>>2]|0,(r|0)==(a[A>>2]|0)):0){n=a[A+24>>2]|0;A=a[A+20>>2]|0;f=fq(r,r,i,8,1)|0;y6(a[f+20>>2]|0,A|0,(r<<2)+4|0)|0;y6(a[f+24>>2]|0,n|0,i<<2|0)|0;a[f+8>>2]=a[e>>2];A=tq(f,1)|0;rq(f);A=kq(A)|0;r=A+8|0;i=$F(a[r>>2]<<3)|0;a[A+28>>2]=i;r=a[r>>2]|0;e=0;while(1){if((e|0)>=(r|0))break;b[i+(e<<3)>>3]=1.0;e=e+1|0}a[A+16>>2]=1;a[A+40>>2]=8}else A=0;return A|0}function ps(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;E=a[A+4>>2]|0;u=a[A>>2]|0;d=E<<2;B=$F(d)|0;v=$F(d+4|0)|0;g=$F(d)|0;d=$F(d)|0;k=v+4|0;A=0;while(1){if((A|0)>=(E|0))break;a[B+(A<<2)>>2]=0;A=A+1|0}a[k>>2]=E;A=0;while(1){if((A|0)>=(E|0)){l=1;b=0;break}a[g+(A<<2)>>2]=-1;A=A+1|0}A:while(1){if((b|0)>=(u|0))break;n=o+(b<<2)|0;s=b+1|0;w=o+(s<<2)|0;A=a[n>>2]|0;while(1){f=a[w>>2]|0;if((A|0)>=(f|0))break;c=k+(a[B+(a[h+(A<<2)>>2]<<2)>>2]<<2)|0;a[c>>2]=(a[c>>2]|0)+-1;A=A+1|0}A=l;c=a[n>>2]|0;while(1){if((c|0)>=(f|0)){l=A;b=s;continue A}l=h+(c<<2)|0;f=B+(a[l>>2]<<2)|0;t=a[f>>2]|0;n=g+(t<<2)|0;if((a[n>>2]|0)<(b|0)){a[n>>2]=b;f=k+(t<<2)|0;if(!(a[f>>2]|0)){a[f>>2]=1;n=A;A=t;f=d+(t<<2)|0}else{a[d+(t<<2)>>2]=A;a[k+(A<<2)>>2]=1;n=A+1|0;f=B+(a[l>>2]<<2)|0}a[f>>2]=A;A=n}else{t=d+(t<<2)|0;a[f>>2]=a[t>>2];t=k+(a[t>>2]<<2)|0;a[t>>2]=(a[t>>2]|0)+1}c=c+1|0;f=a[w>>2]|0}}a[v>>2]=0;A=0;f=0;while(1){if((A|0)>=(l|0))break;o=A+1|0;k=v+(o<<2)|0;h=(a[k>>2]|0)+f|0;a[k>>2]=h;A=o;f=h}a[i>>2]=d;A=0;while(1){if((A|0)>=(E|0)){A=l;break}h=v+(a[B+(A<<2)>>2]<<2)|0;i=a[h>>2]|0;a[h>>2]=i+1;a[d+(i<<2)>>2]=A;A=A+1|0}while(1){if((A|0)<=0)break;E=A+-1|0;a[v+(A<<2)>>2]=a[v+(E<<2)>>2];A=E}a[v>>2]=0;a[r>>2]=v;a[e>>2]=l;L2(g);L2(B);return}function Us(){return+(+(a8()|0)*4.656612875245797e-10)}function xs(A){A=A|0;if((A|0)>1)return(a8()|0)%(A|0)|0|0;else vA(95682,95688,58,95698);return 0}function Ts(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;A:do{if((A|0)<1)e=0;else{e=$F(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break;a[e+(i<<2)>>2]=i;i=i+1|0}while(1){if((A|0)<=1)break A;r=xs(A)|0;i=A+-1|0;n=e+(i<<2)|0;f=a[n>>2]|0;r=e+(r<<2)|0;a[n>>2]=a[r>>2];a[r>>2]=f;A=i}}}while(0);return e|0}function js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=0;while(1){if((r|0)>=(A|0))break;f=i+(r<<3)|0;b[f>>3]=+b[e+(r<<3)>>3]-+b[f>>3];r=r+1|0}return i|0}function Ss(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0;r=0;f=0.0;while(1){if((r|0)>=(A|0))break;a=+b[i+(r<<3)>>3]*+b[e+(r<<3)>>3]+f;r=r+1|0;f=a}return+f}function Ps(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=i+(f<<3)|0;b[a>>3]=+b[a>>3]*r+ +b[e+(f<<3)>>3];f=f+1|0}return i|0}function Os(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=e+(f<<3)|0;b[a>>3]=+b[i+(f<<3)>>3]*r+ +b[a>>3];f=f+1|0}return e|0}function Ks(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,n=0.0;a=U(i,e)|0;r=U(r,e)|0;f=0.0;i=0;while(1){if((i|0)>=(e|0))break;n=+b[A+(i+a<<3)>>3]-+b[A+(i+r<<3)>>3];f=n*n+f;i=i+1|0}n=+z(+f);return+(n>1.0e-15?n:1.0e-15)}function _s(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,n=0.0;a=U(i,e)|0;r=U(r,e)|0;f=0.0;i=0;while(1){if((i|0)>=(e|0))break;n=+b[A+(i+a<<3)>>3]-+b[A+(i+r<<3)>>3];f=n*n+f;i=i+1|0}return+ +z(+f)}function qs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0.0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;a=+b[A+(f<<3)>>3]-+b[e+(f<<3)>>3];r=a*a+r;f=f+1|0}return+ +z(+r)}function $s(A,e,i,r,f,a,n){A=+A;e=+e;i=+i;r=+r;f=f|0;a=a|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0.0;o=k;k=k+80|0;w=o+48|0;s=o+24|0;u=o;l=0;while(1){if((l|0)>=(a|0)){t=0;break}h=+b[n+(l<<3)>>3];b[w+(l<<3)>>3]=h;b[s+(l<<3)>>3]=h;l=l+1|0}while(1){if((t|0)>=(f|0))break;c=U(t,a)|0;l=0;while(1){if((l|0)>=(a|0))break;B=+b[n+(l+c<<3)>>3];d=w+(l<<3)|0;h=+b[d>>3];b[d>>3]=B>3];b[d>>3]=B>h?B:h;l=l+1|0}t=t+1|0}h=+b[s>>3]-+b[w>>3];i=h!=0.0?(i-A)/h:1.0;h=+b[s+8>>3]-+b[w+8>>3];B=(r-e)/h;i=h!=0.0?i>3]=A;b[u+8>>3]=e;b[u+16>>3]=0.0;t=0;while(1){if((t|0)>=(f|0))break;c=U(t,a)|0;l=0;while(1){if((l|0)>=(a|0))break;d=n+(l+c<<3)|0;b[d>>3]=(+b[d>>3]-+b[w+(l<<3)>>3])*i+ +b[u+(l<<3)>>3];l=l+1|0}t=t+1|0}k=o;return}function Aw(A,e){A=A|0;e=e|0;if((vh(A)|0)==1){A=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}else{ew(A);if(!((gR(po(e,95704)|0)|0)<<24>>24))e=Ju(A,186208)|0;else e=iw(A)|0;ju(A,e,186208);rw(e)}return}function ew(A){A=A|0;var e=0;e=Id(a[a[(a[(cd(A)|0)+16>>2]|0)+112>>2]>>2]|0)|0;A=a[46925]|0;if((e|0)!=(A|0)){a[46555]=0;a[46925]=e;a[46926]=Yo(e,0,95713,0)|0;a[46927]=Yo(a[46925]|0,1,95721,0)|0;a[46928]=Yo(a[46925]|0,1,95738,0)|0;A=a[46925]|0}a[46929]=po(A,95738)|0;zu(186208);a[46554]=1;b[23280]=+oR(a[46925]|0,a[46926]|0,1.0,0.0);a[46556]=a[46927];a[46557]=a[46928];a[46558]=a[46929];return}function iw(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+144|0;r=f;i=f+8|0;e=a[46555]|0;a[46555]=e+1;a[r>>2]=e;P4(i,96234,r)|0;i=Yu(XB(A,i,1)|0)|0;r=i+8|0;e=cd(A)|0;while(1){if(!e)break;kd(a[r>>2]|0,e,1)|0;a[(a[(a[e+16>>2]|0)+112>>2]|0)+12>>2]=i;e=bd(A,e)|0}k=f;return i|0}function rw(A){A=A|0;Tu(A);return}function fw(A,e){A=A|0;e=e|0;var i=0;i=$F(32)|0;a[i>>2]=4;b[i+8>>3]=.75;a[i+16>>2]=1073741824;a[i+20>>2]=1;a[i+24>>2]=A;a[i+28>>2]=e;return i|0}function aw(A){A=A|0;L2(A);return}function nw(A){A=A|0;var e=0,i=0;if(!A)return;i=a[A+8>>2]|0;do{if(i|0){if(a[A>>2]|0){rq(i);e=a[A+12>>2]|0;if(!e)break;rq(e);break}if(a[A+36>>2]|0?(rq(i),e=a[A+12>>2]|0,e|0):0)rq(e)}}while(0);rq(a[A+16>>2]|0);rq(a[A+20>>2]|0);e=a[A+24>>2]|0;if(e|0?(a[A>>2]|0)>0:0)L2(e);nw(a[A+28>>2]|0);L2(A);return}function lw(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0;E=k;k=k+32|0;w=E+16|0;u=E+12|0;o=E+8|0;h=E+4|0;d=E;a[w>>2]=A;a[u>>2]=0;a[o>>2]=0;a[h>>2]=0;a[d>>2]=0;a[l>>2]=0;a[t>>2]=0;a[e>>2]=0;a[n>>2]=0;a[r>>2]=0;B=c+28|0;v=c+8|0;g=+(a[A+4>>2]|0);f=i;do{tw(A,w,f,u,0,d,o,h,c,s);f=a[w>>2]|0;if(!f)break;i=a[f+4>>2]|0;f=a[l>>2]|0;if(!f){a[l>>2]=a[o>>2];a[t>>2]=a[h>>2]}else{A=Vs(f,a[o>>2]|0)|0;rq(a[l>>2]|0);rq(a[o>>2]|0);a[l>>2]=A;A=Vs(a[h>>2]|0,a[t>>2]|0)|0;rq(a[t>>2]|0);rq(a[h>>2]|0);a[t>>2]=A}f=a[e>>2]|0;if(f|0)rq(f);a[e>>2]=a[w>>2];f=a[r>>2]|0;if(f|0)rq(f);f=a[u>>2]|0;a[r>>2]=f;A=a[n>>2]|0;if(A){L2(A);f=a[u>>2]|0}a[n>>2]=a[d>>2];A=a[w>>2]|0;a[d>>2]=0;if(!(+b[v>>3]*g<+(i|0)))break}while((a[B>>2]|0)==1);k=E;return}function tw(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+32|0;W=D+28|0;h=D+24|0;m=D+20|0;y=D+16|0;u=D+12|0;z=D+8|0;Y=D+4|0;E=D;a[W>>2]=0;a[h>>2]=0;a[y>>2]=0;a[z>>2]=0;a[Y>>2]=0;a[e>>2]=0;a[r>>2]=0;a[l>>2]=0;a[t>>2]=0;L=a[A>>2]|0;o=c+24|0;a[s>>2]=a[o>>2];w=a[o>>2]|0;A:do{switch(w|0){case 12:{a[o>>2]=3;a[s>>2]=3;tw(A,e,i,r,f,n,l,t,c,s);if((((a[e>>2]|0)==0?(a[o>>2]=4,a[s>>2]=4,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0)?(a[o>>2]=6,a[s>>2]=6,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0)?(a[o>>2]=9,a[s>>2]=9,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0){a[o>>2]=2;a[s>>2]=2;tw(A,e,i,r,f,n,l,t,c,s)}a[o>>2]=12;o=0;h=0;c=0;u=0;w=0;s=0;break}case 9:case 10:{i=a[c+20>>2]|0;if((w|0)==9)ow(A,i,y,u,m);else hw(A,i,y,u,m);g=a[A+20>>2]|0;E=a[A+24>>2]|0;v=a[u>>2]|0;if(!(a[c+28>>2]|0)){if((v|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(v|0)){o=0;h=0;c=0;u=0;w=0;s=0;break A}}else if((v|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break A}if((v|0)>=(a[c>>2]|0)){G=a[m>>2]|0;Z=G<<2;I=$F(Z)|0;Z=$F(Z)|0;G=$F(G<<3)|0;a[m>>2]=0;B=a[y>>2]|0;d=0;u=0;e:while(1){if((d|0)>=(L|0))break;i=B+(d<<2)|0;if((a[i>>2]|0)!=-1){a[I+(u<<2)>>2]=d;a[Z+(a[m>>2]<<2)>>2]=a[i>>2];h=a[m>>2]|0;c=h+1|0;a[m>>2]=c;b[G+(h<<3)>>3]=1.0;d=d+1|0;u=c;continue}w=a[g+(d<<2)>>2]|0;h=d+1|0;c=g+(h<<2)|0;o=a[c>>2]|0;i=0;s=w;while(1){if((s|0)>=(o|0))break;i=((a[B+(a[E+(s<<2)>>2]<<2)>>2]|0)>>>31^1)+i|0;s=s+1|0}C=1.0/+(i|0);i=o;while(1){if((w|0)>=(i|0)){d=h;continue e}s=E+(w<<2)|0;if((a[B+(a[s>>2]<<2)>>2]|0)>-1){a[I+(u<<2)>>2]=d;a[Z+(a[m>>2]<<2)>>2]=a[B+(a[s>>2]<<2)>>2];i=a[m>>2]|0;s=i+1|0;a[m>>2]=s;b[G+(i<<3)>>3]=C;i=a[c>>2]|0}else s=u;w=w+1|0;u=s}}L=hq(u,L,v,I,Z,G,1,8)|0;a[l>>2]=L;L=iq(L)|0;a[t>>2]=L;l=Js(L,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=G;h=Z;c=I;u=I;w=Z;s=G}else{Ms(a[t>>2]|0,f,n,0);o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;a[r>>2]=0;o=G;h=Z;c=I;u=I;w=Z;s=G}}else{o=0;h=0;c=0;u=0;w=0;s=0}break}case 5:{Q=26;break}case 1:{s=c+20|0;ww(A,a[s>>2]|0,W,h);i=a[o>>2]|0;if((i|0)==2){i=s;Q=24}else Q=25;break}case 2:{i=c+20|0;Q=24;break}case 3:{cw(A,a[c+20>>2]|0,z,Y,E);Q=12;break}case 4:{bw(A,a[c+20>>2]|0,z,Y,E);Q=12;break}case 6:{sw(A,z,Y,E);Q=12;break}default:{o=0;h=0;c=0;u=0;w=0;s=0}}}while(0);do{if((Q|0)==12){d=a[E>>2]|0;if(!(a[c+28>>2]|0)){if((d|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(d|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}}else if((d|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}if((d|0)>=(a[c>>2]|0)){v=L<<2;B=$F(v)|0;v=$F(v)|0;g=$F(L<<3)|0;a[m>>2]=0;u=a[Y>>2]|0;o=a[z>>2]|0;w=0;i=0;A:while(1){if((w|0)>=(a[E>>2]|0))break;h=w+1|0;c=u+(h<<2)|0;s=a[u+(w<<2)>>2]|0;while(1){if((s|0)>=(a[c>>2]|0)){w=h;continue A}a[B+(i<<2)>>2]=a[o+(s<<2)>>2];a[v+(a[m>>2]<<2)>>2]=w;Z=a[m>>2]|0;G=Z+1|0;a[m>>2]=G;b[g+(Z<<3)>>3]=1.0;s=s+1|0;i=G}}L=hq(i,L,d,B,v,g,1,8)|0;a[l>>2]=L;a[t>>2]=iq(L)|0;a[r>>2]=0;l=Js(a[t>>2]|0,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=g;h=v;c=B;u=B;w=v;s=g}else{Ms(a[t>>2]|0,f,n,0);a[t>>2]=Rs(a[t>>2]|0)|0;o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;o=g;h=v;c=B;u=B;w=v;s=g}}else{o=0;h=0;c=0;u=0;w=0;s=0}}else if((Q|0)==24){uw(A,a[i>>2]|0,W,h);i=a[o>>2]|0;Q=25}}while(0);if((Q|0)==25)if((i|0)==5)Q=26;else Q=27;if((Q|0)==26){kw(A,a[c+20>>2]|0,W,h);Q=27}do{if((Q|0)==27){i=a[h>>2]|0;if(!(a[c+28>>2]|0)){if((i|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(i|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}}else if((i|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}if((i|0)>=(a[c>>2]|0)){B=L<<2;d=$F(B)|0;B=$F(B)|0;v=$F(L<<3)|0;a[m>>2]=0;h=a[W>>2]|0;i=0;o=0;while(1){if((o|0)>=(L|0))break;s=h+(o<<2)|0;w=a[s>>2]|0;if((w|0)>-1){a[d+(a[m>>2]<<2)>>2]=o;a[B+(a[m>>2]<<2)>>2]=i;Q=a[m>>2]|0;u=Q+1|0;a[m>>2]=u;b[v+(Q<<3)>>3]=1.0;if((w|0)!=(o|0)){a[d+(u<<2)>>2]=a[s>>2];a[B+(a[m>>2]<<2)>>2]=i;Q=a[m>>2]|0;a[m>>2]=Q+1;b[v+(Q<<3)>>3]=1.0;a[h+(a[s>>2]<<2)>>2]=-1}a[s>>2]=-1;i=i+1|0}o=o+1|0}L=hq(a[m>>2]|0,L,i,d,B,v,1,8)|0;a[l>>2]=L;L=iq(L)|0;a[t>>2]=L;l=Js(L,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=v;h=B;c=d;u=d;w=B;s=v}else{Ms(a[t>>2]|0,f,n,0);a[t>>2]=Rs(a[t>>2]|0)|0;o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;a[r>>2]=0;o=v;h=B;c=d;u=d;w=B;s=v}}else{o=0;h=0;c=0;u=0;w=0;s=0}}}while(0);i=a[W>>2]|0;if(i|0)L2(i);i=a[y>>2]|0;if(i|0)L2(i);if(c|0)L2(u);if(h|0)L2(w);if(o|0)L2(s);i=a[z>>2]|0;if(i|0)L2(i);i=a[Y>>2]|0;if(i|0)L2(i);k=D;return}function cw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;v=a[A+20>>2]|0;g=a[A+24>>2]|0;C=a[A>>2]|0;E=C<<2;a[i>>2]=$F(E)|0;a[r>>2]=$F(E+4|0)|0;E=$F(E)|0;n=0;while(1){if((n|0)>=(C|0))break;a[E+(n<<2)>>2]=n;n=n+1|0}a[f>>2]=0;d=a[r>>2]|0;a[d>>2]=0;B=a[A+28>>2]|0;A:do{if(!e){n=0;A=0;e:while(1){while(1){if((A|0)>=(C|0)){A=0;t=0.0;e=0;break e}e=A;A=A+1|0;if((a[E+(e<<2)>>2]|0)==-1)continue;e=a[v+(e<<2)>>2]|0;if(((a[v+(A<<2)>>2]|0)-e|0)==1)break}s=a[g+(e<<2)>>2]|0;a[E+(s<<2)>>2]=-1;w=a[i>>2]|0;a[w+(n<<2)>>2]=s;u=v+(s+1<<2)|0;c=a[v+(s<<2)>>2]|0;n=n+1|0;while(1){if((c|0)>=(a[u>>2]|0))break;e=g+(c<<2)|0;l=a[e>>2]|0;if((s|0)!=(l|0)?((a[v+(l+1<<2)>>2]|0)-(a[v+(l<<2)>>2]|0)|0)==1:0){a[E+(l<<2)>>2]=-1;a[w+(n<<2)>>2]=a[e>>2];n=n+1|0}c=c+1|0}e=a[f>>2]|0;l=a[d+(e<<2)>>2]|0;if((n-l|0)<5){r=e+1|0;a[f>>2]=r;a[d+(r<<2)>>2]=n;continue}l=l+1|0;e=e+1|0;a[f>>2]=e;a[d+(e<<2)>>2]=l;e=l;while(1){if(!((l|0)<(n|0)&(e|0)<(n|0)))continue e;r=l+3|0;r=(n|0)<(r|0)?n:r;h=(a[f>>2]|0)+1|0;a[f>>2]=h;a[d+(h<<2)>>2]=r;e=e+1|0;l=r}}e:while(1){do{u=e;while(1){if((u|0)>=(C|0)){A=0;break e}o=E+(u<<2)|0;l=a[o>>2]|0;if((l|0)!=-1)break;u=u+1|0}e=u+1|0;h=a[v+(e<<2)>>2]|0;s=1;w=a[v+(u<<2)>>2]|0;while(1){if((w|0)>=(h|0))break;c=a[g+(w<<2)>>2]|0;if((u|0)!=(c|0)?(a[E+(c<<2)>>2]|0)!=-1:0)if((l|0)!=-1){k=+b[B+(w<<3)>>3];if((s|0)==0?!(k>t):0)s=0;else{s=0;A=c;t=k}}else l=-1;w=w+1|0}}while((s|0)!=0);a[E+(A<<2)>>2]=-1;a[o>>2]=-1;h=a[i>>2]|0;a[h+(n<<2)>>2]=u;r=n+2|0;a[h+(n+1<<2)>>2]=A;h=(a[f>>2]|0)+1|0;a[f>>2]=h;a[d+(h<<2)>>2]=r;n=r}while(1){if((A|0)>=(C|0))break A;if((a[E+(A<<2)>>2]|0)==(A|0)){g=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[d+(n<<2)>>2]=g;n=g}A=A+1|0}}else{d=Ts(C)|0;u=0;n=0;while(1){if((u|0)>=(C|0)){h=0;A=0;t=0.0;break}A=a[d+(u<<2)>>2]|0;e:do{if((a[E+(A<<2)>>2]|0)!=-1?(o=a[v+(A<<2)>>2]|0,((a[v+(A+1<<2)>>2]|0)-o|0)==1):0){c=a[g+(o<<2)>>2]|0;a[E+(c<<2)>>2]=-1;s=a[i>>2]|0;a[s+(n<<2)>>2]=c;w=v+(c+1<<2)|0;l=a[v+(c<<2)>>2]|0;n=n+1|0;while(1){if((l|0)>=(a[w>>2]|0))break;A=g+(l<<2)|0;e=a[A>>2]|0;if((c|0)!=(e|0)?((a[v+(e+1<<2)>>2]|0)-(a[v+(e<<2)>>2]|0)|0)==1:0){a[E+(e<<2)>>2]=-1;a[s+(n<<2)>>2]=a[A>>2];n=n+1|0}l=l+1|0}l=a[r>>2]|0;A=a[f>>2]|0;e=a[l+(A<<2)>>2]|0;if((n-e|0)<5){h=A+1|0;a[f>>2]=h;a[l+(h<<2)>>2]=n;break}e=e+1|0;A=A+1|0;a[f>>2]=A;a[l+(A<<2)>>2]=e;A=e;while(1){if(!((e|0)<(n|0)&(A|0)<(n|0)))break e;h=e+3|0;h=(n|0)<(h|0)?n:h;w=(a[f>>2]|0)+1|0;a[f>>2]=w;a[l+(w<<2)>>2]=h;A=A+1|0;e=h}}}while(0);u=u+1|0}while(1){if((h|0)>=(C|0)){A=0;break}w=a[d+(h<<2)>>2]|0;u=E+(w<<2)|0;e=a[u>>2]|0;if((e|0)!=-1){o=a[v+(w+1<<2)>>2]|0;c=1;s=a[v+(w<<2)>>2]|0;while(1){if((s|0)>=(o|0))break;l=a[g+(s<<2)>>2]|0;if((w|0)!=(l|0)?(a[E+(l<<2)>>2]|0)!=-1:0)if((e|0)!=-1){k=+b[B+(s<<3)>>3];if((c|0)==0?!(k>t):0)c=0;else{c=0;A=l;t=k}}else e=-1;s=s+1|0}if(!c){a[E+(A<<2)>>2]=-1;a[u>>2]=-1;u=a[i>>2]|0;a[u+(n<<2)>>2]=w;o=n+2|0;a[u+(n+1<<2)>>2]=A;u=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[u+(n<<2)>>2]=o;n=o}}h=h+1|0}while(1){if((A|0)>=(C|0))break;if((a[E+(A<<2)>>2]|0)==(A|0)){g=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;v=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[v+(n<<2)>>2]=g;n=g}A=A+1|0}L2(d)}}while(0);L2(E);return}function bw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+16|0;h=Q+8|0;Z=Q+4|0;G=Q;a[Z>>2]=0;a[G>>2]=0;E=a[A+20>>2]|0;g=a[A+24>>2]|0;C=a[A>>2]|0;I=C<<2;a[i>>2]=$F(I)|0;a[r>>2]=$F(I+4|0)|0;I=$F(I)|0;n=0;while(1){if((n|0)>=(C|0))break;a[I+(n<<2)>>2]=n;n=n+1|0}ps(A,h,Z,G);a[f>>2]=0;B=a[r>>2]|0;a[B>>2]=0;v=a[A+28>>2]|0;n=0;A=0;A:while(1){c=a[h>>2]|0;s=a[G>>2]|0;do{if((A|0)>=(c|0))break A;w=A;A=A+1|0;o=s+(A<<2)|0;t=a[o>>2]|0;w=a[s+(w<<2)>>2]|0}while((t-w|0)<2);s=a[Z>>2]|0;c=a[B+(a[f>>2]<<2)>>2]|0;while(1){if((w|0)>=(t|0))break;d=s+(w<<2)|0;a[I+(a[d>>2]<<2)>>2]=-1;t=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=a[d>>2];if((t-c|0)>3){n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[B+(n<<2)>>2]=t;n=t}else n=c;c=n;w=w+1|0;n=t;t=a[o>>2]|0}if((n|0)<=(c|0))continue;d=(a[f>>2]|0)+1|0;a[f>>2]=d;a[B+(d<<2)>>2]=n}A:do{if(!e){A=0;l=0.0;t=0;e:while(1){do{e=t;while(1){if((e|0)>=(C|0)){A=0;break e}h=I+(e<<2)|0;c=a[h>>2]|0;if((c|0)!=-1)break;e=e+1|0}t=e+1|0;d=a[E+(t<<2)>>2]|0;w=1;o=a[E+(e<<2)>>2]|0;while(1){if((o|0)>=(d|0))break;s=a[g+(o<<2)>>2]|0;if((e|0)!=(s|0)?(a[I+(s<<2)>>2]|0)!=-1:0)if((c|0)!=-1){u=+b[v+(o<<3)>>3];if((w|0)==0?!(u>l):0)w=0;else{w=0;A=s;l=u}}else c=-1;o=o+1|0}}while((w|0)!=0);a[I+(A<<2)>>2]=-1;a[h>>2]=-1;d=a[i>>2]|0;a[d+(n<<2)>>2]=e;r=n+2|0;a[d+(n+1<<2)>>2]=A;d=(a[f>>2]|0)+1|0;a[f>>2]=d;a[B+(d<<2)>>2]=r;n=r}while(1){if((A|0)>=(C|0))break A;if((a[I+(A<<2)>>2]|0)==(A|0)){E=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[B+(n<<2)>>2]=E;n=E}A=A+1|0}}else{B=Ts(C)|0;d=0;A=0;l=0.0;while(1){if((d|0)>=(C|0)){A=0;break}o=a[B+(d<<2)>>2]|0;e=I+(o<<2)|0;t=a[e>>2]|0;if((t|0)!=-1){h=a[E+(o+1<<2)>>2]|0;s=1;w=a[E+(o<<2)>>2]|0;while(1){if((w|0)>=(h|0))break;c=a[g+(w<<2)>>2]|0;if((o|0)!=(c|0)?(a[I+(c<<2)>>2]|0)!=-1:0)if((t|0)!=-1){u=+b[v+(w<<3)>>3];if((s|0)==0?!(u>l):0)s=0;else{s=0;A=c;l=u}}else t=-1;w=w+1|0}if(!s){a[I+(A<<2)>>2]=-1;a[e>>2]=-1;e=a[i>>2]|0;a[e+(n<<2)>>2]=o;h=n+2|0;a[e+(n+1<<2)>>2]=A;e=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[e+(n<<2)>>2]=h;n=h}}d=d+1|0}while(1){if((A|0)>=(C|0))break;if((a[I+(A<<2)>>2]|0)==(A|0)){E=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;g=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[g+(n<<2)>>2]=E;n=E}A=A+1|0}L2(B)}}while(0);L2(a[Z>>2]|0);L2(a[G>>2]|0);L2(I);k=Q;return}function sw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;d=a[A+20>>2]|0;B=a[A+24>>2]|0;E=a[A>>2]|0;g=E<<2;a[e>>2]=$F(g)|0;a[i>>2]=$F(g+4|0)|0;g=$F(g)|0;h=$F(E<<4)|0;f=0;while(1){if((f|0)>=(E|0))break;a[g+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=0;a[a[i>>2]>>2]=0;o=a[A+28>>2]|0;v=Ts(E)|0;f=0;w=0;while(1){if((w|0)>=(E|0)){k=0;break}A=a[v+(w<<2)>>2]|0;A:do{if((a[g+(A<<2)>>2]|0)!=-1?(u=a[d+(A<<2)>>2]|0,((a[d+(A+1<<2)>>2]|0)-u|0)==1):0){t=a[B+(u<<2)>>2]|0;a[g+(t<<2)>>2]=-1;c=a[e>>2]|0;a[c+(f<<2)>>2]=t;s=d+(t+1<<2)|0;l=a[d+(t<<2)>>2]|0;f=f+1|0;while(1){if((l|0)>=(a[s>>2]|0))break;A=B+(l<<2)|0;n=a[A>>2]|0;if((t|0)!=(n|0)?((a[d+(n+1<<2)>>2]|0)-(a[d+(n<<2)>>2]|0)|0)==1:0){a[g+(n<<2)>>2]=-1;a[c+(f<<2)>>2]=a[A>>2];f=f+1|0}l=l+1|0}l=a[i>>2]|0;A=a[r>>2]|0;n=a[l+(A<<2)>>2]|0;if((f-n|0)<5){k=A+1|0;a[r>>2]=k;a[l+(k<<2)>>2]=f;break}n=n+1|0;A=A+1|0;a[r>>2]=A;a[l+(A<<2)>>2]=n;A=n;while(1){if(!((n|0)<(f|0)&(A|0)<(f|0)))break A;k=n+3|0;k=(f|0)<(k|0)?f:k;s=(a[r>>2]|0)+1|0;a[r>>2]=s;a[l+(s<<2)>>2]=k;A=A+1|0;n=k}}}while(0);w=w+1|0}while(1){if((k|0)>=(E|0)){A=0;break}w=a[v+(k<<2)>>2]|0;u=g+(w<<2)|0;A=a[u>>2]|0;if((A|0)!=-1){s=a[d+(w+1<<2)>>2]|0;n=0;c=a[d+(w<<2)>>2]|0;while(1){if((c|0)>=(s|0))break;t=a[B+(c<<2)>>2]|0;if((w|0)!=(t|0)?(a[g+(t<<2)>>2]|0)!=-1:0){l=n<<1;if((A|0)==-1)A=-1;else{b[h+(l<<3)>>3]=+(t|0);b[h+((l|1)<<3)>>3]=+b[o+(c<<3)>>3];n=n+1|0}}c=c+1|0}if((n|0)>0){K4(h,n,16,81);n=(n|0)<3?n:3;A=0;while(1){if((A|0)>=(n|0))break;s=~~+b[h+(A<<1<<3)>>3];a[g+(s<<2)>>2]=-1;a[(a[e>>2]|0)+(f<<2)>>2]=s;A=A+1|0;f=f+1|0}a[u>>2]=-1;u=f+1|0;a[(a[e>>2]|0)+(f<<2)>>2]=w;w=a[i>>2]|0;f=(a[r>>2]|0)+1|0;a[r>>2]=f;a[w+(f<<2)>>2]=u;f=u}}k=k+1|0}while(1){if((A|0)>=(E|0))break;if((a[g+(A<<2)>>2]|0)==(A|0)){B=f+1|0;a[(a[e>>2]|0)+(f<<2)>>2]=A;d=a[i>>2]|0;f=(a[r>>2]|0)+1|0;a[r>>2]=f;a[d+(f<<2)>>2]=B;f=B}A=A+1|0}L2(v);L2(g);return}function ww(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;d=a[A>>2]|0;f=a[A+4>>2]|0;b=$F(d<<2)|0;a[i>>2]=b;A=0;while(1){if((A|0)>=(d|0))break;a[b+(A<<2)>>2]=A;A=A+1|0}a[r>>2]=f;A:do{if(!e){f=0;e:while(1){if((f|0)>=(d|0))break A;e=f+1|0;n=o+(e<<2)|0;l=b+(f<<2)|0;t=b+(f<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[n>>2]|0)){f=e;continue e}c=h+(A<<2)|0;i=a[c>>2]|0;if(((f|0)!=(i|0)?(k=b+(i<<2)|0,(a[k>>2]|0)==(i|0)):0)?(a[l>>2]|0)==(f|0):0){a[k>>2]=f;a[t>>2]=a[c>>2];a[r>>2]=(a[r>>2]|0)+-1}A=A+1|0}}}else{e=Ts(d)|0;A=0;while(1){if((A|0)>=(d|0))break;n=a[e+(A<<2)>>2]|0;l=o+(n+1<<2)|0;f=a[o+(n<<2)>>2]|0;while(1){if((f|0)>=(a[l>>2]|0))break;t=h+(f<<2)|0;c=a[t>>2]|0;if(((n|0)!=(c|0)?(s=a[i>>2]|0,w=s+(c<<2)|0,(a[w>>2]|0)==(c|0)):0)?(u=s+(n<<2)|0,(a[u>>2]|0)==(n|0)):0){a[w>>2]=n;a[u>>2]=a[t>>2];a[r>>2]=(a[r>>2]|0)+-1}f=f+1|0}A=A+1|0}L2(e)}}while(0);return}function uw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;d=a[A+20>>2]|0;B=a[A+24>>2]|0;v=a[A>>2]|0;n=a[A+4>>2]|0;k=$F(v<<2)|0;a[i>>2]=k;f=0;while(1){if((f|0)>=(v|0))break;a[k+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=n;h=a[A+28>>2]|0;A:do{if(!e){f=0;l=0.0;c=0;while(1){if((c|0)>=(v|0))break A;s=c+1|0;w=a[d+(s<<2)>>2]|0;u=k+(c<<2)|0;n=1;e=a[d+(c<<2)>>2]|0;while(1){if((e|0)>=(w|0))break;A=a[B+(e<<2)>>2]|0;if(((c|0)!=(A|0)?(a[k+(A<<2)>>2]|0)==(A|0):0)?(a[u>>2]|0)==(c|0):0){t=+b[h+(e<<3)>>3];if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(n|0){c=s;continue}a[k+(f<<2)>>2]=c;a[k+(c<<2)>>2]=f;a[r>>2]=(a[r>>2]|0)+-1;c=s}}else{o=Ts(v)|0;k=0;f=0;l=0.0;while(1){if((k|0)>=(v|0))break;c=a[o+(k<<2)>>2]|0;s=a[i>>2]|0;w=s+(c<<2)|0;if((a[w>>2]|0)==(c|0)){u=a[d+(c+1<<2)>>2]|0;e=a[d+(c<<2)>>2]|0;n=1;while(1){if((e|0)>=(u|0))break;A=a[B+(e<<2)>>2]|0;if((c|0)!=(A|0)?(a[s+(A<<2)>>2]|0)==(A|0):0){t=+b[h+(e<<3)>>3];if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(!n){a[s+(f<<2)>>2]=c;a[w>>2]=f;a[r>>2]=(a[r>>2]|0)+-1}}k=k+1|0}L2(o)}}while(0);return}function kw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0;B=a[A+20>>2]|0;v=a[A+24>>2]|0;g=a[A>>2]|0;n=a[A+4>>2]|0;o=$F(g<<2)|0;a[i>>2]=o;f=0;while(1){if((f|0)>=(g|0))break;a[o+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=n;d=a[A+28>>2]|0;A:do{if(!e){f=0;l=0.0;c=0;while(1){if((c|0)>=(g|0))break A;e=a[B+(c<<2)>>2]|0;s=c+1|0;w=a[B+(s<<2)>>2]|0;u=o+(c<<2)|0;k=+(w-e|0);n=1;while(1){if((e|0)>=(w|0))break;A=a[v+(e<<2)>>2]|0;if(((c|0)!=(A|0)?(a[o+(A<<2)>>2]|0)==(A|0):0)?(a[u>>2]|0)==(c|0):0){t=+b[d+(e<<3)>>3]/(+((a[B+(A+1<<2)>>2]|0)-(a[B+(A<<2)>>2]|0)|0)*k);if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(n|0){c=s;continue}a[o+(f<<2)>>2]=c;a[o+(c<<2)>>2]=f;a[r>>2]=(a[r>>2]|0)+-1;c=s}}else{h=Ts(g)|0;o=0;f=0;l=0.0;while(1){if((o|0)>=(g|0))break;c=a[h+(o<<2)>>2]|0;s=a[i>>2]|0;w=s+(c<<2)|0;if((a[w>>2]|0)==(c|0)){e=a[B+(c<<2)>>2]|0;u=a[B+(c+1<<2)>>2]|0;k=+(u-e|0);n=1;while(1){if((e|0)>=(u|0))break;A=a[v+(e<<2)>>2]|0;if((c|0)!=(A|0)?(a[s+(A<<2)>>2]|0)==(A|0):0){t=+b[d+(e<<3)>>3]/(+((a[B+(A+1<<2)>>2]|0)-(a[B+(A<<2)>>2]|0)|0)*k);if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(!n){a[s+(f<<2)>>2]=c;a[w>>2]=f;a[r>>2]=(a[r>>2]|0)+-1}}o=o+1|0}L2(h)}}while(0);return}function ow(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=a[A+20>>2]|0;u=a[A+24>>2]|0;s=a[A>>2]|0;c=$F(s<<2)|0;a[i>>2]=c;A=0;while(1){if((A|0)>=(s|0))break;a[c+(A<<2)>>2]=-100;A=A+1|0}a[r>>2]=0;a[f>>2]=0;A:do{if(!e){e=0;e:while(1){if((e|0)>=(s|0))break A;if((a[c+(e<<2)>>2]|0)!=-100){e=e+1|0;continue}n=a[r>>2]|0;a[r>>2]=n+1;a[c+(e<<2)>>2]=n;n=e+1|0;l=w+(n<<2)|0;A=a[w+(e<<2)>>2]|0;while(1){if((A|0)>=(a[l>>2]|0)){e=n;continue e}t=a[u+(A<<2)>>2]|0;if((e|0)!=(t|0)){a[c+(t<<2)>>2]=-1;a[f>>2]=(a[f>>2]|0)+1}A=A+1|0}}}else{t=Ts(s)|0;l=0;while(1){if((l|0)>=(s|0))break;c=a[t+(l<<2)>>2]|0;b=a[i>>2]|0;A=b+(c<<2)|0;e:do{if((a[A>>2]|0)==-100){e=a[r>>2]|0;a[r>>2]=e+1;a[A>>2]=e;e=w+(c+1<<2)|0;A=a[w+(c<<2)>>2]|0;while(1){if((A|0)>=(a[e>>2]|0))break e;n=a[u+(A<<2)>>2]|0;if((c|0)!=(n|0)){a[b+(n<<2)>>2]=-1;a[f>>2]=(a[f>>2]|0)+1}A=A+1|0}}}while(0);l=l+1|0}L2(t)}}while(0);a[f>>2]=(a[f>>2]|0)+(a[r>>2]|0);return}function hw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;w=h+4|0;u=h;o=a[A+20>>2]|0;s=a[A+24>>2]|0;l=a[A>>2]|0;A=$F(l<<2)|0;a[i>>2]=A;n=0;while(1){a[w>>2]=n;if((n|0)>=(l|0))break;a[A+(n<<2)>>2]=-100;n=(a[w>>2]|0)+1|0}a[r>>2]=0;a[f>>2]=0;b=Cw(l,(l<<1)+-2|0)|0;A:do{if(!e){A=0;while(1){a[w>>2]=A;if((A|0)>=(l|0))break A;c=A+1|0;Zw(b,A,(a[o+(c<<2)>>2]|0)-(a[o+(A<<2)>>2]|0)|0)|0;A=c}}else{n=Ts(l)|0;A=0;while(1){if((A|0)>=(l|0))break;c=a[n+(A<<2)>>2]|0;a[w>>2]=c;Zw(b,c,(a[o+(c+1<<2)>>2]|0)-(a[o+(c<<2)>>2]|0)|0)|0;A=A+1|0}L2(n)}}while(0);A:while(1){c=(Gw(b,w,u)|0)==0;A=a[r>>2]|0;if(c)break;a[r>>2]=A+1;a[(a[i>>2]|0)+(a[w>>2]<<2)>>2]=A;A=a[w>>2]|0;c=a[o+(A<<2)>>2]|0;while(1){if((c|0)>=(a[o+(A+1<<2)>>2]|0))continue A;t=a[s+(c<<2)>>2]|0;if((A|0)!=(t|0)){e:do{if((a[(a[i>>2]|0)+(t<<2)>>2]|0)==-100){mw(b,t)|0;a[(a[i>>2]|0)+(t<<2)>>2]=-1;n=o+(t+1<<2)|0;A=a[o+(t<<2)>>2]|0;while(1){if((A|0)>=(a[n>>2]|0))break e;e=s+(A<<2)|0;l=a[e>>2]|0;if((t|0)!=(l|0)?(a[(a[i>>2]|0)+(l<<2)>>2]|0)==-100:0){l=Qw(b,l)|0;a[u>>2]=l;Zw(b,a[e>>2]|0,l+1|0)|0}A=A+1|0}}}while(0);a[f>>2]=(a[f>>2]|0)+1;A=a[w>>2]|0}c=c+1|0}}a[f>>2]=(a[f>>2]|0)+A;Iw(b);k=h;return}function dw(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A+8>>3];i=+b[e+8>>3];return(r>i?-1:r>2]|0)==1:0)f=A;else f=Hs(A)|0;do{if(!e)e=0;else{if(cq(e,0)|0?(a[e+16>>2]|0)==1:0)break;e=uq(e,0)|0}}while(0);i=vw(f,e,i)|0;e=gw(i,r)|0;if((f|0)!=(A|0))a[i+36>>2]=1;return e|0}function vw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(!A)A=0;else{r=$F(44)|0;a[r>>2]=0;a[r+4>>2]=a[A+4>>2];a[r+8>>2]=A;a[r+12>>2]=e;a[r+16>>2]=0;a[r+20>>2]=0;a[r+24>>2]=i;a[r+28>>2]=0;a[r+32>>2]=0;a[r+36>>2]=0;A=r}return A|0}function gw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;r=b+20|0;f=b+16|0;n=b+12|0;l=b+8|0;t=b+4|0;c=b;a[f>>2]=0;if((a[A>>2]|0)<((a[e+16>>2]|0)+-1|0)?(lw(a[A+8>>2]|0,t,a[A+12>>2]|0,c,0,f,n,l,e,r),i=a[t>>2]|0,i|0):0){t=a[c>>2]|0;c=vw(i,t,a[f>>2]|0)|0;a[A+28>>2]=c;a[c+40>>2]=a[r>>2];a[c>>2]=(a[A>>2]|0)+1;a[c+4>>2]=a[i>>2];a[c+8>>2]=i;a[c+12>>2]=t;a[c+16>>2]=a[n>>2];a[A+20>>2]=a[l>>2];a[c+32>>2]=A;gw(c,e)|0}k=b;return A|0}function Ew(A){A=A|0;var e=0;while(1){e=a[A+28>>2]|0;if(!e)break;else A=e}return A|0}function Cw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=$F(28)|0;a[f>>2]=0;a[f+4>>2]=A;a[f+8>>2]=e;a[f+12>>2]=-1;r=f+16|0;a[r>>2]=$F((e<<2)+4|0)|0;i=0;while(1){if((i|0)>(e|0))break;a[(a[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}e=(A<<2)+4|0;r=f+20|0;a[r>>2]=$F(e)|0;i=0;while(1){if((i|0)>(A|0))break;a[(a[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}e=$F(e)|0;a[f+24>>2]=e;i=0;while(1){if((i|0)>(A|0))break;a[e+(i<<2)>>2]=-999;i=i+1|0}return f|0}function Iw(A){A=A|0;var e=0,i=0,r=0,f=0;if(A|0){r=A+16|0;e=a[r>>2]|0;if(e|0){f=A+8|0;i=0;while(1){if((i|0)>(a[f>>2]|0))break;mu(a[e+(i<<2)>>2]|0,105);i=i+1|0;e=a[r>>2]|0}L2(e)}e=a[A+20>>2]|0;if(e|0)L2(e);L2(a[A+24>>2]|0);L2(A)}return}function Zw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;n=A+8|0;c=A+20|0;t=A+24|0;b=A+16|0;if(!A)vA(138953,95743,69,95759);while(1){if((a[n>>2]|0)<(i|0)){l=4;break}r=(a[c>>2]|0)+(e<<2)|0;f=a[r>>2]|0;if(!f)break;s=a[(a[t>>2]|0)+(e<<2)>>2]|0;a[r>>2]=0;a[A>>2]=(a[A>>2]|0)+-1;yu(f,105,(a[b>>2]|0)+(s<<2)|0)}if((l|0)==4)vA(95778,95743,70,95759);a[A>>2]=(a[A>>2]|0)+1;r=A+12|0;if((a[r>>2]|0)<(i|0))a[r>>2]=i;a[(a[t>>2]|0)+(e<<2)>>2]=i;r=$F(4)|0;a[r>>2]=e;f=a[(a[b>>2]|0)+(i<<2)>>2]|0;if(!f)r=Qu(r)|0;else r=Lu(f,r)|0;a[(a[c>>2]|0)+(e<<2)>>2]=r;a[(a[b>>2]|0)+(i<<2)>>2]=r;return A|0}function Gw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if((A|0)!=0?(a[A>>2]|0)>=1:0){f=A+12|0;r=a[f>>2]|0;a[i>>2]=r;a[A>>2]=(a[A>>2]|0)+-1;i=A+16|0;n=a[(a[i>>2]|0)+(r<<2)>>2]|0;a[e>>2]=a[(Wu(n)|0)>>2];yu(n,105,(a[i>>2]|0)+(r<<2)|0);i=a[i>>2]|0;if(!(a[i+(r<<2)>>2]|0)){while(1){if((r|0)<=-1)break;if(a[i+(r<<2)>>2]|0)break;r=r+-1|0}a[f>>2]=r}r=a[e>>2]|0;a[(a[A+20>>2]|0)+(r<<2)>>2]=0;a[(a[A+24>>2]|0)+(r<<2)>>2]=-999;r=1}else r=0;return r|0}function Qw(A,e){A=A|0;e=e|0;return a[(a[A+24>>2]|0)+(e<<2)>>2]|0}function mw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;if((A|0)!=0?(r=a[A>>2]|0,(r|0)>=1):0){l=A+24|0;i=a[(a[l>>2]|0)+(e<<2)>>2]|0;a[A>>2]=r+-1;f=A+20|0;r=A+16|0;yu(a[(a[f>>2]|0)+(e<<2)>>2]|0,105,(a[r>>2]|0)+(i<<2)|0);A=A+12|0;if((i|0)==(a[A>>2]|0)?(n=a[r>>2]|0,(a[n+(i<<2)>>2]|0)==0):0){while(1){if((i|0)<=-1)break;if(a[n+(i<<2)>>2]|0)break;i=i+-1|0}a[A>>2]=i}a[(a[f>>2]|0)+(e<<2)>>2]=0;a[(a[l>>2]|0)+(e<<2)>>2]=-999;i=1}else i=0;return i|0}function Lw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0.0,s=0.0,w=0,u=0.0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;if(!(cq(A,0)|0))vA(95795,95831,260,95846);C=bq(A)|0;I=a[C+20>>2]|0;Z=a[C+24>>2]|0;r=C+16|0;A=C+28|0;if((a[r>>2]|0)==1)E=a[A>>2]|0;else{L2(a[A>>2]|0);a[r>>2]=1;E=$F(a[C+8>>2]<<3)|0;a[A>>2]=E}d=$F(a[C>>2]<<2)|0;A=0;while(1){r=a[C>>2]|0;if((A|0)>=(r|0)){h=0;A=r;break}a[d+(A<<2)>>2]=-1;A=A+1|0}A:while(1){if((h|0)>=(A|0)){n=0.0;c=0.0;f=0;g=0;v=A;break}o=h+1|0;l=I+(o<<2)|0;w=I+(h<<2)|0;t=(a[l>>2]|0)-(a[w>>2]|0)|0;a[d+(h<<2)>>2]=h;r=a[w>>2]|0;while(1){k=a[l>>2]|0;if((r|0)>=(k|0))break;A=a[Z+(r<<2)>>2]|0;if((h|0)!=(A|0))a[d+(A<<2)>>2]=h;r=r+1|0}u=+(t|0);r=a[w>>2]|0;while(1){if((r|0)>=(k|0))break;A=a[Z+(r<<2)>>2]|0;if((h|0)!=(A|0)){l=a[I+(A+1<<2)>>2]|0;A=a[I+(A<<2)>>2]|0;s=+(l-A|0)+u;while(1){if((A|0)>=(l|0))break;s=(a[d+(a[Z+(A<<2)>>2]<<2)>>2]|0)==(h|0)?s+-1.0:s;A=A+1|0}b[E+(r<<3)>>3]=s;if(!(s>0.0)){B=23;break A}}r=r+1|0}h=o;A=a[C>>2]|0}if((B|0)==23)vA(95868,95831,290,95846);while(1){if((g|0)>=(v|0))break;l=g+1|0;t=I+(l<<2)|0;r=a[I+(g<<2)>>2]|0;while(1){if((r|0)>=(a[t>>2]|0))break;A=a[Z+(r<<2)>>2]|0;if((g|0)==(A|0))A=f;else{c=+_s(i,e,g,A)+c;n=+b[E+(r<<3)>>3]+n;A=f+1|0}f=A;r=r+1|0}g=l;v=a[C>>2]|0}u=+(f|0);n=c/(n/u*u);A=0;A:while(1){if((A|0)>=(v|0))break;l=A+1|0;t=a[I+(l<<2)>>2]|0;r=a[I+(A<<2)>>2]|0;while(1){if((r|0)>=(t|0)){A=l;continue A}f=E+(r<<3)|0;if((A|0)!=(a[Z+(r<<2)>>2]|0))b[f>>3]=+b[f>>3]*n;r=r+1|0}}return C|0}function Ww(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0.0,x=0.0;J=a[A>>2]|0;N=a[A+20>>2]|0;X=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,333,95876);R=Lw(A,e,r)|0;H=$F(56)|0;p=H+32|0;b[p>>3]=1.0;a[H+20>>2]=0;a[H+24>>2]=0;b[H+40>>3]=.01;a[H+48>>2]=~~+z(+ +(a[A>>2]|0));n=J<<3;M=$F(n)|0;a[H+12>>2]=M;A=0;while(1){if((A|0)>=(J|0))break;b[M+(A<<3)>>3]=i;A=A+1|0}F=$F(J<<2)|0;D=$F(n)|0;t=0;while(1){if((t|0)>=(J|0)){u=0;break}c=D+(t<<3)|0;b[c>>3]=0.0;s=t+1|0;w=N+(s<<2)|0;l=a[N+(t<<2)>>2]|0;A=0;i=0.0;while(1){if((l|0)>=(a[w>>2]|0))break;n=a[X+(l<<2)>>2]|0;if((t|0)!=(n|0)){i=+_s(r,e,t,n);i=+b[c>>3]+i;b[c>>3]=i;A=A+1|0}l=l+1|0}if((A|0)<=0){o=14;break}b[c>>3]=i/+(A|0);t=s}if((o|0)==14)vA(95908,95831,358,95876);while(1){if((u|0)>=(J|0)){A=0;s=0;break}a[F+(u<<2)>>2]=-1;u=u+1|0}A:while(1){if((s|0)>=(J|0))break;a[F+(s<<2)>>2]=s;t=N+(s<<2)|0;w=s+1|0;u=N+(w<<2)|0;l=a[t>>2]|0;while(1){n=a[u>>2]|0;if((l|0)>=(n|0))break;n=F+(a[X+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(s|0)){a[n>>2]=s;A=A+1|0}l=l+1|0}c=a[t>>2]|0;while(1){if((c|0)>=(n|0)){s=w;continue A}l=a[X+(c<<2)>>2]|0;t=N+(l+1<<2)|0;l=a[N+(l<<2)>>2]|0;while(1){if((l|0)>=(a[t>>2]|0))break;n=F+(a[X+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(s|0)){a[n>>2]=s;A=A+1|0}l=l+1|0}c=c+1|0;n=a[u>>2]|0}}n=A+J|0;W=H+4|0;a[W>>2]=fq(J,J,n,1,1)|0;n=fq(J,J,n,1,1)|0;y=H+8|0;a[y>>2]=n;A=a[W>>2]|0;do{if(!((n|0)==0|(A|0)==0)){m=a[A+20>>2]|0;Q=a[A+24>>2]|0;Z=a[A+28>>2]|0;L=a[n+28>>2]|0;G=a[n+20>>2]|0;v=a[n+24>>2]|0;a[G>>2]=0;a[m>>2]=0;i=0.0;k=0.0;o=0;l=0;A:while(1){if((o|0)>=(J|0)){o=58;break}g=o+J|0;a[F+(o<<2)>>2]=g;c=N+(o<<2)|0;E=o+1|0;C=N+(E<<2)|0;I=D+(o<<3)|0;h=0.0;d=0.0;t=a[c>>2]|0;while(1){A=a[C>>2]|0;if((t|0)>=(A|0))break;n=a[X+(t<<2)>>2]|0;A=F+(n<<2)|0;if((a[A>>2]|0)!=(g|0)){a[A>>2]=g;a[Q+(l<<2)>>2]=n;switch(f|0){case 0:{B=1.0;break}case 1:{B=(+b[D+(n<<3)>>3]+ +b[I>>3])*.5;break}case 2:{B=+Y(+ +Ks(r,e,o,n),.4);break}default:{o=42;break A}}x=-1.0/(B*B);b[Z+(l<<3)>>3]=x;a[v+(l<<2)>>2]=n;U=x*B;u=L+(l<<3)|0;b[u>>3]=U;k=+_s(r,e,o,n)*U+k;U=+b[u>>3];l=l+1|0;h=x+h;d=U+d;i=U*B+i}t=t+1|0}u=a[c>>2]|0;while(1){if((u|0)>=(A|0))break;c=a[X+(u<<2)>>2]|0;s=N+(c+1<<2)|0;w=D+(c<<3)|0;t=a[N+(c<<2)>>2]|0;while(1){if((t|0)>=(a[s>>2]|0))break;n=X+(t<<2)|0;A=F+(a[n>>2]<<2)|0;if((a[A>>2]|0)!=(g|0)){a[A>>2]=g;switch(f|0){case 0:{B=2.0;break}case 1:{B=(+b[w>>3]*2.0+ +b[I>>3]+ +b[D+(a[n>>2]<<3)>>3])*.5;break}case 2:{B=+Y(+ +Ks(r,e,o,a[n>>2]|0),.4);break}default:{o=53;break A}}a[Q+(l<<2)>>2]=a[n>>2];U=-1.0/(B*B);b[Z+(l<<3)>>3]=U;a[v+(l<<2)>>2]=a[n>>2];x=U*B;A=L+(l<<3)|0;b[A>>3]=x;k=+_s(r,e,a[n>>2]|0,c)*x+k;x=+b[A>>3];l=l+1|0;h=U+h;d=x+d;i=x*B+i}t=t+1|0}u=u+1|0;A=a[C>>2]|0}a[Q+(l<<2)>>2]=o;I=M+(o<<3)|0;x=-(h*+b[I>>3]);b[I>>3]=x;b[Z+(l<<3)>>3]=x-h;a[v+(l<<2)>>2]=o;b[L+(l<<3)>>3]=-d;l=l+1|0;a[m+(E<<2)>>2]=l;a[G+(E<<2)>>2]=l;o=E}if((o|0)==42){L3(95915,29,1,a[15712]|0)|0;vA(138394,95831,418,95876)}else if((o|0)==53){L3(95915,29,1,a[15712]|0)|0;vA(138394,95831,460,95876)}else if((o|0)==58){i=k/i;A=0;while(1){if((A|0)>=(l|0))break;X=L+(A<<3)|0;b[X>>3]=+b[X>>3]*i;A=A+1|0}b[p>>3]=i;a[(a[W>>2]|0)+8>>2]=l;a[(a[y>>2]|0)+8>>2]=l;L2(F);L2(D);rq(R);V=H;break}}else{yw(H);V=0}}while(0);return V|0}function yw(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)rq(e);e=a[A+8>>2]|0;if(e|0)rq(e);e=a[A+12>>2]|0;if(e|0)L2(e);e=a[A+20>>2]|0;if(e|0)F5[a[A+16>>2]&127](e);L2(A)}return}function zw(A,e,i,r,f,n){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0;V=a[A>>2]|0;if(cq(A,0)|0?(a[A+16>>2]|0)==1:0){c=U(V,e)|0;t=0.0;l=0;while(1){if((l|0)>=(c|0))break;h=+b[r+(l<<3)>>3];t=h*h+t;l=l+1|0}A:do{if(t==0.0){l=0;while(1){if((l|0)>=(c|0))break A;b[r+(l<<3)>>3]=+Us()*72.0;l=l+1|0}}}while(0);y=a[A+20>>2]|0;Y=a[A+24>>2]|0;D=a[A+28>>2]|0;l=$F(56)|0;F=l+32|0;b[F>>3]=1.0;a[l+20>>2]=0;a[l+24>>2]=0;a[l>>2]=A;b[l+40>>3]=.01;a[l+48>>2]=~~+z(+ +(a[A>>2]|0));M=$F(V<<3)|0;a[l+12>>2]=M;c=0;while(1){if((c|0)>=(V|0))break;b[M+(c<<3)>>3]=i;c=c+1|0}A=(a[A+8>>2]|0)+V|0;L=l+4|0;a[L>>2]=fq(V,V,A,1,1)|0;A=fq(V,V,A,1,1)|0;W=l+8|0;a[W>>2]=A;c=a[L>>2]|0;if(!((A|0)==0|(c|0)==0)){I=a[c+20>>2]|0;Z=a[c+24>>2]|0;G=a[A+20>>2]|0;Q=a[A+24>>2]|0;E=a[c+28>>2]|0;m=a[A+28>>2]|0;a[G>>2]=0;a[I>>2]=0;o=0.0;h=0.0;C=0;B=0;A:while(1){if((B|0)>=(V|0))break;v=B+1|0;g=y+(v<<2)|0;s=0.0;w=0.0;d=a[y+(B<<2)>>2]|0;k=o;i=h;A=C;while(1){if((d|0)>=(a[g>>2]|0))break;c=a[Y+(d<<2)>>2]|0;if((c|0)==(B|0)){t=k;c=A}else{a[Z+(A<<2)>>2]=c;u=+b[D+(d<<3)>>3];switch(f|0){case 2:{t=u*u;t=t==0.0?-1.0e5:-1.0/t;break}case 1:{t=u*u==0.0?-1.0e5:-1.0/u;break}case 0:{t=-1.0;break}default:{J=23;break A}}b[E+(A<<3)>>3]=t;a[Q+(A<<2)>>2]=c;N=t*u;X=m+(A<<3)|0;b[X>>3]=N;i=+_s(r,e,B,c)*N+i;N=+b[X>>3];s=t+s;w=N+w;t=N*u+k;c=A+1|0}d=d+1|0;k=t;A=c}a[Z+(A<<2)>>2]=B;C=M+(B<<3)|0;o=-(s*+b[C>>3]);b[C>>3]=o;b[E+(A<<3)>>3]=o-s;a[Q+(A<<2)>>2]=B;b[m+(A<<3)>>3]=-w;C=A+1|0;a[I+(v<<2)>>2]=C;a[G+(v<<2)>>2]=C;o=k;h=i;B=v}if((J|0)==23)vA(138394,95831,591,96012);t=(n|0)==0?1.0:h/o;if(t==0.0)l=0;else{c=0;while(1){if((c|0)>=(C|0))break;X=m+(c<<3)|0;b[X>>3]=+b[X>>3]*t;c=c+1|0}b[F>>3]=t;a[(a[L>>2]|0)+8>>2]=C;a[(a[W>>2]|0)+8>>2]=C}}else{yw(l);l=0}return l|0}vA(95945,95831,525,96012);return 0}function Yw(A){A=A|0;yw(A);return}function Dw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;return+ +Mw(A,e,i,r,f)}function Mw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0;T=k;k=k+16|0;H=T+12|0;x=T+8|0;w=T+4|0;c=T;s=a[A+4>>2]|0;l=a[A+8>>2]|0;a[H>>2]=0;a[x>>2]=0;a[w>>2]=0;V=a[A+12>>2]|0;a[c>>2]=0;J=bq(l)|0;N=a[s>>2]|0;X=U(N,e)|0;n=X<<3;p=$F(n)|0;if((p|0)!=0?(R=U(e<<3,N)|0,y6(p|0,i|0,R|0)|0,F=$F(n)|0,a[x>>2]=F,(F|0)!=0):0){M=a[l+20>>2]|0;F=a[l+24>>2]|0;W=a[l+28>>2]|0;y=a[J+28>>2]|0;Y=a[s+28>>2]|0;D=A+24|0;switch(a[D>>2]|0){case 1:{Fw(a[A+20>>2]|0,N,e,i,c,w);n=a[c>>2]|0;if(!n){Q=0.0;m=0.0;n=0}else{s=sq(s,n)|0;Q=0.0;m=0.0}break}case 2:{n=a[A+20>>2]|0;Q=+b[n+8>>3];m=+b[n>>3];n=0;break}default:{Q=0.0;m=0.0;n=0}}Z=(V|0)==0;G=A+40|0;I=A+48|0;l=a[w>>2]|0;t=1.0;c=0;A:while(1){C=c+1|0;if(!((c|0)<(r|0)&t>f))break;e:do{if((a[D>>2]|0)==4){w=a[x>>2]|0;c=0;while(1){if((c|0)>=(N|0))break e;u=U(c,e)|0;A=0;while(1){if((A|0)>=(e|0))break;b[w+(A+u<<3)>>3]=0.0;A=A+1|0}c=c+1|0}}else{h=0;while(1){if((h|0)>=(N|0))break;g=h+1|0;E=M+(g<<2)|0;o=0.0;v=a[M+(h<<2)>>2]|0;c=-1;while(1){if((v|0)>=(a[E>>2]|0))break;w=F+(v<<2)|0;A=a[w>>2]|0;if((h|0)==(A|0))c=v;else{B=+_s(i,e,h,A);u=W+(v<<3)|0;d=+b[u>>3];if(d==0.0)d=0.0;else{if(B==0.0){d=d/+b[Y+(v<<3)>>3]*.0001;A=0;while(1){if((A|0)>=(e|0))break;B=d*(+Us()+.0001);j=i+((U(a[w>>2]|0,e)|0)+A<<3)|0;b[j>>3]=B+ +b[j>>3];A=A+1|0}B=+_s(i,e,h,a[w>>2]|0);d=+b[u>>3]}d=d/B}b[y+(v<<3)>>3]=d;o=d+o}v=v+1|0}if((c|0)<=-1){L=25;break A}b[y+(c<<3)>>3]=-o;h=g}zs(J,0,i,0,x,0,e)}}while(0);e:do{if(!Z){w=a[x>>2]|0;c=0;while(1){if((c|0)>=(N|0))break e;u=V+(c<<3)|0;h=U(c,e)|0;A=0;while(1){if((A|0)>=(e|0))break;E=A+h|0;j=w+(E<<3)|0;b[j>>3]=+b[j>>3]+ +b[p+(E<<3)>>3]*+b[u>>3];A=A+1|0}c=c+1|0}}}while(0);e:do{switch(a[D>>2]|0){case 1:{c=a[x>>2]|0;A=0;while(1){if((A|0)>=(N|0)){L=50;break e}u=U(A,e)|0;w=0;while(1){if((w|0)>=(e|0))break;L=w+u|0;j=c+(L<<3)|0;b[j>>3]=+b[j>>3]+ +b[l+(L<<3)>>3];w=w+1|0}A=A+1|0}}case 2:{Vw(N,e,i,a[x>>2]|0,m,Q);c=a[x>>2]|0;o=+b[G>>3];A=a[I>>2]|0;if((a[D>>2]|0)==2)Jw(s,m,e,i,c,o,A,H);else L=51;break}default:{c=a[x>>2]|0;L=50}}}while(0);if((L|0)==50){o=+b[G>>3];A=a[I>>2]|0;L=51}if((L|0)==51){L=0;+fu(s,e,i,c,o,A,0,H)}if(a[H>>2]|0)break;t=+Nw(N,e,i,a[x>>2]|0);t=t/+z(+ +Ss(X,i,i));y6(i|0,a[x>>2]|0,R|0)|0;c=C}if((L|0)==25)vA(96049,95831,895,96060);rq(J);if(n){rq(n);rq(s)}}else{rq(J);t=1.0;l=0}L2(p);n=a[x>>2]|0;if(n|0)L2(n);if(l|0)L2(l);k=T;return+t}function Fw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0,C=0.0,I=0,Z=0,G=0,Q=0,m=0.0;o=a[A+8>>2]|0;Q=a[A+12>>2]|0;I=a[A+16>>2]|0;G=a[A+32>>2]|0;Z=a[G+20>>2]|0;G=a[G+24>>2]|0;s=A+20|0;d=a[s>>2]|0;w=A+24|0;h=a[w>>2]|0;u=A+28|0;k=a[u>>2]|0;C=+b[A>>3];A:do{if((o|2|0)==3){if(!d){if((h|0)!=0|(k|0)!=0)vA(96094,95831,692,96111);else{l=0;t=0}while(1){if((l|0)>=(Q|0))break;E=a[I+(l<<2)>>2]|0;B=+((a[Z+(E+1<<2)>>2]|0)-(a[Z+(E<<2)>>2]|0)|0)+1.0;l=l+1|0;t=t+~~(B*B)|0}h=t<<2;d=$F(h)|0;a[s>>2]=d;h=$F(h)|0;a[w>>2]=h;k=$F(t<<3)|0;a[u>>2]=k}g=0;A=0;while(1){if((g|0)>=(Q|0))break;o=a[I+(g<<2)>>2]|0;v=Z+(o<<2)|0;t=a[v>>2]|0;l=a[G+(t<<2)>>2]|0;t=a[G+(t+1<<2)>>2]|0;e:do{if((l|0)!=(t|0)){m=+Ks(r,i,l,t);m=m*m;u=Z+(o+1<<2)|0;B=+((a[u>>2]|0)-(a[v>>2]|0)|0);a[d+(A<<2)>>2]=o;a[h+(A<<2)>>2]=o;b[k+(A<<3)>>3]=C/m;c=B*B*m;B=-(C/(m*B));t=a[v>>2]|0;while(1){A=A+1|0;l=a[u>>2]|0;if((t|0)>=(l|0))break;a[d+(A<<2)>>2]=o;a[h+(A<<2)>>2]=a[G+(t<<2)>>2];b[k+(A<<3)>>3]=B;t=t+1|0}c=C/c;w=a[v>>2]|0;while(1){if((w|0)>=(l|0))break e;s=a[G+(w<<2)>>2]|0;a[d+(A<<2)>>2]=s;a[h+(A<<2)>>2]=o;b[k+(A<<3)>>3]=B;t=a[v>>2]|0;while(1){A=A+1|0;l=a[u>>2]|0;if((t|0)>=(l|0))break;E=a[G+(t<<2)>>2]|0;a[d+(A<<2)>>2]=s;a[h+(A<<2)>>2]=E;b[k+(A<<3)>>3]=c;t=t+1|0}w=w+1|0}}}while(0);g=g+1|0}l=hq(A,e,e,d,h,k,1,8)|0;A=0}else{switch(o|0){case 2:case 4:break;default:{l=0;A=0;break A}}do{if(!d)if((h|0)!=0|(k|0)!=0)vA(96094,95831,734,96111);else{g=Q<<2;E=$F(g)|0;a[s>>2]=E;g=$F(g)|0;a[w>>2]=g;v=$F(Q<<3)|0;a[u>>2]=v;break}else{v=k;g=h;E=d}}while(0);A=$F(U(e<<3,i)|0)|0;t=U(i,e)|0;l=0;while(1){if((l|0)>=(t|0)){k=0;break}b[A+(l<<3)>>3]=0.0;l=l+1|0}while(1){if((k|0)>=(Q|0))break;o=a[I+(k<<2)>>2]|0;s=Z+(o<<2)|0;w=a[s>>2]|0;c=+Ks(r,i,a[G+(w<<2)>>2]|0,a[G+(w+1<<2)>>2]|0);a[E+(k<<2)>>2]=o;a[g+(k<<2)>>2]=o;c=C/c;b[v+(k<<3)>>3]=c;s=a[s>>2]|0;w=a[Z+(o+1<<2)>>2]|0;o=U(o,i)|0;t=s;while(1){if((t|0)>=(w|0))break;u=U(a[G+(t<<2)>>2]|0,i)|0;l=0;while(1){if((l|0)>=(i|0))break;d=A+(l+o<<3)|0;b[d>>3]=+b[d>>3]+ +b[r+(l+u<<3)>>3];l=l+1|0}t=t+1|0}c=c*(1.0/+(w-s|0));l=0;while(1){if((l|0)>=(i|0))break;d=A+(l+o<<3)|0;b[d>>3]=c*+b[d>>3];l=l+1|0}k=k+1|0}l=hq(k,e,e,E,g,v,1,8)|0}}while(0);a[f>>2]=l;a[n>>2]=A;return}function Vw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0;a=a*f;n=0;A:while(1){if((n|0)>=(A|0))break;s=n+1|0;w=U(n,e)|0;l=s;while(1){if((l|0)==(A|0)){n=s;continue A}c=U(l,e)|0;f=1.0/+Ks(i,e,n,l);t=0;while(1){if((t|0)>=(e|0))break;o=t+w|0;u=t+c|0;k=a*((+b[i+(o<<3)>>3]-+b[i+(u<<3)>>3])*f);o=r+(o<<3)|0;b[o>>3]=k+ +b[o>>3];u=r+(u<<3)|0;b[u>>3]=+b[u>>3]-k;t=t+1|0}l=l+1|0}}return}function Jw(A,e,i,r,f,n,l,t){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;t=t|0;var c=0,b=0;b=Sw(A,e)|0;c=qw(A,e)|0;+eu(b,c,a[A>>2]|0,i,r,f,n,l,t);return}function Nw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0.0,l=0.0,t=0,c=0.0,s=0;a=0;l=0.0;while(1){if((a|0)>=(A|0))break;t=U(a,e)|0;f=0;n=0.0;while(1){if((f|0)>=(e|0))break;s=f+t|0;c=+b[r+(s<<3)>>3]-+b[i+(s<<3)>>3];f=f+1|0;n=c*c+n}a=a+1|0;l=+z(+n)+l}return+l}function Xw(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0;Q=a[A>>2]|0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,1034,96133);d=Q<<3;m=$F(d)|0;t=0;while(1){if((t|0)>=(Q|0))break;w=m+(t<<3)|0;b[w>>3]=0.0;u=t+1|0;k=o+(u<<2)|0;s=a[o+(t<<2)>>2]|0;n=0;c=0.0;while(1){if((s|0)>=(a[k>>2]|0))break;l=a[h+(s<<2)>>2]|0;if((t|0)!=(l|0)){c=+_s(r,e,t,l);c=+b[w>>3]+c;b[w>>3]=c;n=n+1|0}s=s+1|0}if((n|0)<=0){G=11;break}b[w>>3]=c/+(n|0);t=u}if((G|0)==11)vA(95908,95831,1046,96133);n=$F(56)|0;Z=n+32|0;b[Z>>3]=1.0;a[n+20>>2]=0;a[n+24>>2]=0;b[n+40>>3]=.01;a[n+48>>2]=~~+z(+ +(a[A>>2]|0));I=$F(d)|0;a[n+12>>2]=I;l=0;while(1){if((l|0)>=(Q|0))break;b[I+(l<<3)>>3]=i;l=l+1|0}do{if((Q|0)>2)if(!f){l=nu(Q,e,r)|0;break}else{l=au(Q,e,r)|0;break}else l=bq(A)|0}while(0);f=n+4|0;a[f>>2]=sq(A,l)|0;rq(l);t=bq(a[f>>2]|0)|0;a[n+8>>2]=t;l=a[f>>2]|0;if((t|0)==0|(l|0)==0){Rw(n);n=0}else{d=a[l+20>>2]|0;h=a[l+24>>2]|0;o=a[l+28>>2]|0;f=a[t+28>>2]|0;E=0.0;C=0.0;w=0;while(1){if((w|0)>=(Q|0))break;k=w+1|0;u=d+(k<<2)|0;g=0.0;i=0.0;t=-1;B=E;v=C;s=a[d+(w<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;l=a[h+(s<<2)>>2]|0;if((l|0)==(w|0)){c=g;l=s}else{L=+Y(+ +Ks(r,e,w,l),.6);c=1.0/(L*L);b[o+(s<<3)>>3]=c;W=c*L;A=f+(s<<3)|0;b[A>>3]=W;v=W*+_s(r,e,w,l)+v;W=+b[A>>3];c=c+g;i=W+i;l=t;B=W*L+B}g=c;t=l;s=s+1|0}A=I+(w<<3)|0;c=-(g*+b[A>>3]);b[A>>3]=c;if((t|0)<=-1){G=31;break}b[o+(t<<3)>>3]=c-g;b[f+(t<<3)>>3]=-i;E=B;C=v;w=k}if((G|0)==31)vA(96154,95831,1112,96133);c=C/E;t=a[d+(Q<<2)>>2]|0;l=0;while(1){if((l|0)>=(t|0))break;Q=f+(l<<3)|0;b[Q>>3]=+b[Q>>3]*c;l=l+1|0}b[Z>>3]=c;L2(m)}return n|0}function Rw(A){A=A|0;yw(A);return}function Hw(A,e,i){A=A|0;e=e|0;i=i|0;+Mw(A,e,i,50,.001);return}function pw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;G=a[A>>2]|0;Q=a[A+20>>2]|0;m=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,1149,96165);E=Lw(A,e,r)|0;C=a[E+28>>2]|0;A=$F(8)|0;I=$F(G<<2)|0;Z=$F(G<<3)|0;l=0;while(1){if((l|0)>=(G|0)){k=0;break}s=Z+(l<<3)|0;b[s>>3]=0.0;w=l+1|0;u=Q+(w<<2)|0;t=a[Q+(l<<2)>>2]|0;f=0;c=0.0;while(1){if((t|0)>=(a[u>>2]|0))break;n=a[m+(t<<2)>>2]|0;if((l|0)!=(n|0)){c=+_s(r,e,l,n);c=+b[s>>3]+c;b[s>>3]=c;f=f+1|0}t=t+1|0}if((f|0)<=0){o=11;break}b[s>>3]=c/+(f|0);l=w}if((o|0)==11)vA(95908,95831,1167,96165);while(1){if((k|0)>=(G|0)){w=0;f=0;break}a[I+(k<<2)>>2]=-1;k=k+1|0}A:while(1){if((w|0)>=(G|0))break;a[I+(w<<2)>>2]=w;t=Q+(w<<2)|0;u=w+1|0;k=Q+(u<<2)|0;l=a[t>>2]|0;while(1){n=a[k>>2]|0;if((l|0)>=(n|0))break;n=I+(a[m+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(w|0)){a[n>>2]=w;f=f+1|0}l=l+1|0}s=a[t>>2]|0;while(1){if((s|0)>=(n|0)){w=u;continue A}l=a[m+(s<<2)>>2]|0;t=Q+(l+1<<2)|0;l=a[Q+(l<<2)>>2]|0;while(1){if((l|0)>=(a[t>>2]|0))break;n=I+(a[m+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(w|0)){a[n>>2]=w;f=f+1|0}l=l+1|0}s=s+1|0;n=a[k>>2]|0}}r=fq(G,G,f,1,1)|0;a[A>>2]=r;if(!r){Uw(A);A=0}else{o=a[r+20>>2]|0;h=a[r+24>>2]|0;d=a[r+28>>2]|0;a[o>>2]=0;n=0;f=0;while(1){if((n|0)>=(G|0))break;B=n+G|0;a[I+(n<<2)>>2]=B;s=Q+(n<<2)|0;v=n+1|0;g=Q+(v<<2)|0;e=Z+(n<<3)|0;t=a[s>>2]|0;while(1){n=a[g>>2]|0;if((t|0)>=(n|0))break;n=a[m+(t<<2)>>2]|0;l=I+(n<<2)|0;if((a[l>>2]|0)!=(B|0)){a[l>>2]=B;a[h+(f<<2)>>2]=n;k=d+(f<<3)|0;b[k>>3]=(+b[Z+(n<<3)>>3]+ +b[e>>3])*.5;b[k>>3]=+b[C+(t<<3)>>3];f=f+1|0}t=t+1|0}k=a[s>>2]|0;while(1){if((k|0)>=(n|0))break;t=a[m+(k<<2)>>2]|0;s=Q+(t+1<<2)|0;w=Z+(t<<3)|0;u=C+(k<<3)|0;t=a[Q+(t<<2)>>2]|0;while(1){if((t|0)>=(a[s>>2]|0))break;n=m+(t<<2)|0;l=I+(a[n>>2]<<2)|0;if((a[l>>2]|0)!=(B|0)){a[l>>2]=B;a[h+(f<<2)>>2]=a[n>>2];l=d+(f<<3)|0;b[l>>3]=(+b[w>>3]*2.0+ +b[e>>3]+ +b[Z+(a[n>>2]<<3)>>3])*.5;b[l>>3]=+b[C+(t<<3)>>3]+ +b[u>>3];f=f+1|0}t=t+1|0}k=k+1|0;n=a[g>>2]|0}a[o+(v<<2)>>2]=f;n=v}a[r+8>>2]=f;Q=JT()|0;m=A+4|0;a[m>>2]=Q;y6(Q|0,i|0,168)|0;m=a[m>>2]|0;a[m+16>>2]=0;a[m+40>>2]=1;Q=m+96|0;b[Q>>3]=+b[Q>>3]*.5;a[m+80>>2]=20;L2(I);L2(Z);rq(E)}return A|0}function Uw(A){A=A|0;var e=0;if(A|0){e=a[A>>2]|0;if(e|0)rq(e);A=a[A+4>>2]|0;if(A|0)NT(A)}return}function xw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=k;k=k+16|0;l=n;a[l>>2]=0;aj(r,e,a[A>>2]|0,a[A+4>>2]|0,i,f,l);if(!(a[l>>2]|0)){k=n;return}else vA(96184,95831,1262,96190)}function Tw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;a[n>>2]=0;n=a[i+120>>2]|0;A:do{switch(n|0){case 5:case 6:{if((a[e>>2]|0)>2){e=Xw(e,A,0.0,f,(n|0)!=6&1)|0;Hw(e,A,f);Rw(e)}break}case 4:{n=0;while(1){if((n|0)==1)break A;t=pw(e,A,i,f)|0;xw(t,e,r,A,f);Uw(t);n=n+1|0}}case 1:{i=0;l=6;break}case 2:{i=1;l=6;break}case 3:{i=2;l=6;break}default:{}}}while(0);A:do{if((l|0)==6){n=0;while(1){if((n|0)==1)break A;t=Ww(e,A,.05,f,i)|0;+Mw(t,A,f,50,.001);yw(t);n=n+1|0}}}while(0);return}function jw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0.0,t=0,c=0;c=k;k=k+16|0;n=c;a[n>>2]=i;t=a[A>>2]|0;A=a[t+8>>2]|0;l=+b[t>>3];t=a[A>>2]|0;Ms(A,e,n,0);A=0;f=0.0;while(1){if((A|0)>=(t|0))break;r=+b[e+(A<<3)>>3]+f;A=A+1|0;f=r}r=+(t|0);i=a[n>>2]|0;A=0;while(1){if((A|0)>=(t|0))break;n=i+(A<<3)|0;b[n>>3]=(+b[e+(A<<3)>>3]*r-f)*l+ +b[n>>3];A=A+1|0}k=c;return i|0}function Sw(A,e){A=A|0;e=+e;var i=0,r=0;i=$F(8)|0;r=$F(16)|0;a[i>>2]=r;b[r>>3]=e;a[r+8>>2]=A;a[i+4>>2]=25;return i|0}function Pw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+16|0;r=f;a[r>>2]=i;Ms(a[A>>2]|0,e,r,0);k=f;return a[r>>2]|0}function Ow(A){A=A|0;var e=0;e=$F(8)|0;a[e>>2]=A;a[e+4>>2]=26;return e|0}function Kw(A){A=A|0;if(A|0)L2(A);return}function _w(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=a[A>>2]|0;r=~~+b[f>>3];f=f+8|0;A=0;while(1){if((A|0)>=(r|0))break;b[i+(A<<3)>>3]=+b[f+(A<<3)>>3]*+b[e+(A<<3)>>3];A=A+1|0}return i|0}function qw(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0.0,k=0,o=0,h=0.0;w=a[A>>2]|0;k=a[A+20>>2]|0;o=a[A+24>>2]|0;c=a[A+28>>2]|0;s=$F(8)|0;l=$F((w<<3)+8|0)|0;a[s>>2]=l;b[l>>3]=+(w|0);l=l+8|0;h=+(w+-1|0);t=1.0/h;e=h*e;A=0;A:while(1){if((A|0)>=(w|0))break;r=l+(A<<3)|0;b[r>>3]=t;f=A+1|0;n=a[k+(f<<2)>>2]|0;i=a[k+(A<<2)>>2]|0;while(1){if((i|0)>=(n|0)){A=f;continue A}if((A|0)==(a[o+(i<<2)>>2]|0)?(u=+b[c+(i<<3)>>3],(u>=0.0?u:-u)>0.0):0)b[r>>3]=1.0/(u+e);i=i+1|0}}a[s+4>>2]=27;return s|0}function $w(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0;l=a[A>>2]|0;c=a[A+20>>2]|0;s=a[A+24>>2]|0;w=a[A+28>>2]|0;u=$F(8)|0;i=$F((a[A>>2]<<3)+8|0)|0;a[u>>2]=i;b[i>>3]=+(l|0);i=i+8|0;A=0;A:while(1){if((A|0)>=(l|0))break;r=i+(A<<3)|0;b[r>>3]=1.0;f=A+1|0;n=a[c+(f<<2)>>2]|0;e=a[c+(A<<2)>>2]|0;while(1){if((e|0)>=(n|0)){A=f;continue A}if((A|0)==(a[s+(e<<2)>>2]|0)?(t=+b[w+(e<<3)>>3],(t>=0.0?t:-t)>0.0):0)b[r>>3]=1.0/t;e=e+1|0}}a[u+4>>2]=27;return u|0}function Au(A){A=A|0;L2(a[A>>2]|0);if(A|0)L2(A);return}function eu(A,e,i,r,f,a,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=+n;l=l|0;t=t|0;var c=0.0,s=0,w=0.0,u=0,k=0,o=0;k=i<<3;u=$F(k)|0;k=$F(k)|0;s=0;w=0.0;while(1){if((s|0)<(r|0))t=0;else break;while(1){if((t|0)>=(i|0))break;o=(U(t,r)|0)+s|0;b[u+(t<<3)>>3]=+b[f+(o<<3)>>3];b[k+(t<<3)>>3]=+b[a+(o<<3)>>3];t=t+1|0}c=+iu(A,e,i,u,k,n,l);t=0;while(1){if((t|0)>=(i|0))break;b[a+((U(t,r)|0)+s<<3)>>3]=+b[u+(t<<3)>>3];t=t+1|0}s=s+1|0;w=c+w}L2(u);L2(k);return+w}function iu(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;var t=0,c=0.0,b=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0,B=0.0,v=0,g=0;d=a[A+4>>2]|0;o=a[e+4>>2]|0;h=i<<3;t=$F(h)|0;b=$F(h)|0;v=$F(h)|0;s=$F(h)|0;b=W5[d&63](A,r,b)|0;w=js(i,f,b)|0;k=+(i|0);B=+z(+ +Ss(i,w,w))/k;u=B*n;k=1.0/k;w=0;f=v;c=1.0;n=B;while(1){if(!(n>u&(w|0)<(l|0)))break;t=W5[o&63](e,b,t)|0;n=+Ss(i,b,t);if((w|0)>0)Ps(i,t,f,n/c)|0;else y6(f|0,t|0,h|0)|0;g=W5[d&63](A,f,s)|0;c=n/+Ss(i,f,g);Os(i,r,f,c)|0;v=Os(i,b,g,-c)|0;w=w+1|0;c=n;s=g;n=+z(+ +Ss(i,v,v))*k}L2(t);L2(b);L2(f);L2(s);return+n}function ru(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;L=k;k=k+16|0;m=L;Z=a[A+4>>2]|0;G=Z<<3;Q=$F(G)|0;g=$F(G)|0;E=$F(G)|0;C=a[A+20>>2]|0;I=a[A+24>>2]|0;B=a[A+28>>2]|0;v=a[15712]|0;d=0;while(1){if((d|0)<(e|0))n=0;else break;while(1){if((n|0)>=(Z|0)){A=0;break}h=(U(n,e)|0)+d|0;b[Q+(n<<3)>>3]=+b[i+(h<<3)>>3];b[E+(n<<3)>>3]=+b[r+(h<<3)>>3];n=n+1|0}while(1){if((A|0)<(f|0))w=0;else{n=0;break}while(1){if((w|0)>=(Z|0))break;u=a[C+(w<<2)>>2]|0;o=w+1|0;h=a[C+(o<<2)>>2]|0;s=u;t=0.0;l=0.0;while(1){if((s|0)>=(h|0))break;n=a[I+(s<<2)>>2]|0;c=+b[B+(s<<3)>>3];if((n|0)==(w|0))l=c;else t=+b[Q+(n<<3)>>3]*c+t;s=s+1|0}if(t==0.0){a[m>>2]=h-u;f3(v,96212,m)|0}b[g+(w<<3)>>3]=(+b[E+(w<<3)>>3]-t)/l;w=o}y6(Q|0,g|0,G|0)|0;A=A+1|0}while(1){if((n|0)>=(Z|0))break;b[r+((U(n,e)|0)+d<<3)>>3]=+b[Q+(n<<3)>>3];n=n+1|0}d=d+1|0}L2(Q);L2(g);L2(E);k=L;return r|0}function fu(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=n|0;l=l|0;t=t|0;var c=0;c=a[A>>2]|0;a[t>>2]=0;switch(l|0){case 0:{l=Ow(A)|0;t=$w(A)|0;f=+eu(l,t,c,e,i,r,f,n,0);Kw(l);Au(t);break}case 1:{ru(A,e,i,r,n,0)|0;f=0.0;break}default:f=0.0}return+f}function au(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+32|0;c=u;s=u+20|0;f=u+16|0;n=u+12|0;l=u+8|0;b[c>>3]=1.0;t=A<<3;w=$F(t)|0;t=$F(t)|0;e=0;while(1){if((e|0)>=(A|0))break;r=e<<1;b[w+(e<<3)>>3]=+b[i+(r<<3)>>3];b[t+(e<<3)>>3]=+b[i+((r|1)<<3)>>3];e=e+1|0}a[s>>2]=e;if((A|0)>2)i=NS(w,t,A,l)|0;else{a[l>>2]=0;i=0}r=fq(A,A,1,1,2)|0;e=0;while(1){a[s>>2]=e;if((e|0)>=(a[l>>2]|0))break;o=e<<1;a[f>>2]=a[i+(o<<2)>>2];a[n>>2]=a[i+((o|1)<<2)>>2];Ns(r,1,f,n,c)|0;e=(a[s>>2]|0)+1|0}if((A|0)==2){a[f>>2]=0;a[n>>2]=1;Ns(r,1,f,n,c)|0;e=0}else e=0;while(1){a[s>>2]=e;if((e|0)>=(A|0))break;Ns(r,1,s,s,c)|0;e=(a[s>>2]|0)+1|0}A=oq(r)|0;rq(r);o=tq(A,0)|0;rq(A);L2(i);L2(w);L2(t);k=u;return o|0}function nu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;n=s+8|0;l=s;b[l>>3]=1.0;c=A<<3;t=$F(c)|0;c=$F(c)|0;r=0;while(1){if((r|0)>=(A|0))break;f=U(r,e)|0;b[t+(r<<3)>>3]=+b[i+(f<<3)>>3];b[c+(r<<3)>>3]=+b[i+(f+1<<3)>>3];r=r+1|0}a[n>>2]=r;r=XS(t,c,A,0)|0;f=fq(A,A,1,1,2)|0;e=0;while(1){a[n>>2]=e;if((e|0)<(A|0))i=1;else{e=0;break}while(1){if((i|0)>=(a[r+(e*12|0)>>2]|0))break;Ns(f,1,n,(a[r+(e*12|0)+4>>2]|0)+(i<<2)|0,l)|0;i=i+1|0;e=a[n>>2]|0}e=e+1|0}while(1){a[n>>2]=e;if((e|0)>=(A|0))break;Ns(f,1,n,n,l)|0;e=(a[n>>2]|0)+1|0}l=tq(oq(f)|0,0)|0;rq(f);L2(t);L2(c);RS(r);k=s;return l|0}function lu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=k;k=k+16|0;a=f;tu(a,i);cu(A,e,i,a);bu(e,a,r);su(a);k=f;return}function tu(A,e){A=A|0;e=e|0;a[A>>2]=$F(e<<4)|0;a[A+4>>2]=e;a[A+8>>2]=0;return}function cu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;W=k;k=k+64|0;d=W+32|0;g=W+48|0;E=W+16|0;C=W;v=e<<2;Q=$F(v)|0;L=$F(v)|0;a[E>>2]=0;a[E+4>>2]=0;a[E+8>>2]=0;a[E+12>>2]=0;B=$F(v)|0;v=$F(v)|0;f=0;while(1){if((f|0)>=(e|0))break;a[B+(f<<2)>>2]=f;f=f+1|0}h=e+-1|0;OP(A,B,0,h);f=0;while(1){if((f|0)>=(e|0))break;a[v+(a[B+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}uu(g,A,B,e);f=1;while(1){if((f|0)>=(e|0)){f=0;break}a[Q+(a[B+(f<<2)>>2]<<2)>>2]=a[B+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(h|0))break;o=f+1|0;a[L+(a[B+(f<<2)>>2]<<2)>>2]=a[B+(o<<2)>>2];f=o}c=r+8|0;s=r+4|0;w=E+4|0;u=C+4|0;o=C+8|0;t=0;while(1){if((t|0)>=(i|0))break;if(!((ku(g,E)|0)<<24>>24))break;f=a[c>>2]|0;e=a[s>>2]|0;if((f|0)<(e|0))e=a[r>>2]|0;else{a[s>>2]=e<<1;e=y2(a[r>>2]|0,e<<5)|0;a[r>>2]=e;f=a[c>>2]|0}a[c>>2]=f+1;f=e+(f<<4)|0;a[f>>2]=a[E>>2];a[f+4>>2]=a[E+4>>2];a[f+8>>2]=a[E+8>>2];a[f+12>>2]=a[E+12>>2];f=a[E>>2]|0;e=a[v+(f<<2)>>2]|0;n=a[w>>2]|0;l=a[v+(n<<2)>>2]|0;if((e|0)>0?(I=a[B+(e+-1<<2)>>2]|0,Z=L+(I<<2)|0,(a[v+(a[Z>>2]<<2)>>2]|0)<(l|0)):0){a[C>>2]=I;a[u>>2]=n;b[o>>3]=+b[A+(n<<3)>>3]-+b[A+(I<<3)>>3];a[d>>2]=a[C>>2];a[d+4>>2]=a[C+4>>2];a[d+8>>2]=a[C+8>>2];a[d+12>>2]=a[C+12>>2];ou(g,d);a[Z>>2]=n;a[Q+(n<<2)>>2]=I}if((l|0)<(h|0)?(G=a[B+(l+1<<2)>>2]|0,m=Q+(G<<2)|0,(a[v+(a[m>>2]<<2)>>2]|0)>(e|0)):0){a[C>>2]=f;a[u>>2]=G;b[o>>3]=+b[A+(G<<3)>>3]-+b[A+(f<<3)>>3];a[d>>2]=a[C>>2];a[d+4>>2]=a[C+4>>2];a[d+8>>2]=a[C+8>>2];a[d+12>>2]=a[C+12>>2];ou(g,d);a[m>>2]=f;a[L+(f<<2)>>2]=G}t=t+1|0}L2(Q);L2(L);L2(B);L2(v);hu(g);k=W;return}function bu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;b=$F(A<<2)|0;s=e+8|0;l=a[s>>2]|0;t=(l<<1)+A|0;n=t<<2;r=$F(n)|0;n=$F(n)|0;f=0;while(1){if((f|0)>=(A|0))break;a[b+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(l|0)){f=0;break}u=a[e>>2]|0;w=a[u+(f<<4)+4>>2]|0;u=b+(a[u+(f<<4)>>2]<<2)|0;a[u>>2]=(a[u>>2]|0)+1;w=b+(w<<2)|0;a[w>>2]=(a[w>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(t|0))break;c[n+(f<<2)>>2]=1.0;f=f+1|0}l=$F(A*20|0)|0;a[i>>2]=l;f=0;while(1){if((f|0)>=(A|0))break;a[l+(f*20|0)>>2]=1;a[l+(f*20|0)+8>>2]=n;a[l+(f*20|0)+4>>2]=r;a[r>>2]=f;c[n>>2]=0.0;u=a[b+(f<<2)>>2]|0;n=n+(u<<2)|0;r=r+(u<<2)|0;f=f+1|0}L2(b);while(1){r=a[s>>2]|0;if(!r)break;u=r+-1|0;a[s>>2]=u;w=a[e>>2]|0;wu(l,a[w+(u<<4)>>2]|0,a[w+(u<<4)+4>>2]|0)}return}function su(A){A=A|0;L2(a[A>>2]|0);return}function wu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;f=A+(e*20|0)|0;n=a[f>>2]|0;l=a[A+(e*20|0)+4>>2]|0;r=0;while(1){if((r|0)>=(n|0)){t=4;break}if((a[l+(r<<2)>>2]|0)==(i|0))break;else r=r+1|0}if((t|0)==4?(a[f>>2]=n+1,a[l+(n<<2)>>2]=i,l=a[A+(i*20|0)+4>>2]|0,n=A+(i*20|0)|0,t=a[n>>2]|0,a[n>>2]=t+1,a[l+(t<<2)>>2]=e,a[A+8>>2]|0):0){t=a[A+(e*20|0)+8>>2]|0;c[t>>2]=+c[t>>2]+-1.0;t=a[A+(i*20|0)+8>>2]|0;c[t>>2]=+c[t>>2]+-1.0}return}function uu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0,c=0,s=0;f=r+-1|0;a[A+4>>2]=f;a[A+8>>2]=f;a[A>>2]=$F(f<<4)|0;r=0;while(1){if((r|0)>=(f|0))break;s=a[i+(r<<2)>>2]|0;n=r+1|0;c=a[i+(n<<2)>>2]|0;t=+b[e+(c<<3)>>3]-+b[e+(s<<3)>>3];l=a[A>>2]|0;a[l+(r<<4)>>2]=s;a[l+(r<<4)+4>>2]=c;b[l+(r<<4)+8>>3]=t;r=n}r=(f|0)/2|0;while(1){if((r|0)<=-1)break;du(A,r);r=r+-1|0}return}function ku(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;if(!(a[i>>2]|0))A=0;else{r=a[A>>2]|0;a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];e=a[A>>2]|0;r=e+((a[i>>2]|0)+-1<<4)|0;a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];a[i>>2]=(a[i>>2]|0)+-1;du(A,0);A=1}return A|0}function ou(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;s=w;t=A+4|0;n=a[t>>2]|0;i=A+8|0;if((n|0)==(a[i>>2]|0)){a[i>>2]=n<<1;i=y2(a[A>>2]|0,n<<5)|0;a[A>>2]=i;c=A;l=a[t>>2]|0}else{c=A;l=n;i=a[A>>2]|0}a[t>>2]=l+1;t=i+(n<<4)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];while(1){if((n|0)<=0)break;i=a[c>>2]|0;r=+b[i+(n<<4)+8>>3];A=n>>>1;f=+b[i+(A<<4)+8>>3];if(!(r>2]|0}t=i+(n<<4)|0;a[s>>2]=a[t>>2];a[s+4>>2]=a[t+4>>2];a[s+8>>2]=a[t+8>>2];a[s+12>>2]=a[t+12>>2];e=i+(A<<4)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];t=(a[c>>2]|0)+(A<<4)|0;a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];n=A}k=w;return}function hu(A){A=A|0;L2(a[A>>2]|0);return}function du(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+16|0;l=s;t=A+4|0;while(1){i=e<<1;n=i|1;if((i|0)<(a[t>>2]|0)){w=a[A>>2]|0;r=+b[w+(i<<4)+8>>3];f=+b[w+(e<<4)+8>>3];if(!(r>2]|0)){w=a[A>>2]|0;r=+b[w+(n<<4)+8>>3];f=+b[w+(i<<4)+8>>3];if(!(r>2]|0;w=n+(i<<4)|0;a[l>>2]=a[w>>2];a[l+4>>2]=a[w+4>>2];a[l+8>>2]=a[w+8>>2];a[l+12>>2]=a[w+12>>2];n=n+(e<<4)|0;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];w=(a[A>>2]|0)+(e<<4)|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];e=i}k=s;return}function Bu(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=+i;r=+r;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0,w=0,u=0.0;s=(f|0)!=0;if(!s){f=$F(e<<3)|0;if(!(KO(A,e,f,e)|0))w=3;else{A=1;w=17}}else w=3;if((w|0)==3){c=qF(e<<2)|0;a[n>>2]=c;A=0;while(1){if((A|0)>=(e|0))break;a[c+(A<<2)>>2]=A;A=A+1|0}A=e+-1|0;OP(f,c,0,A);u=+b[f+(a[c>>2]<<3)>>3];r=(+b[f+(a[c+(A<<2)>>2]<<3)>>3]-u)*r/+(A|0);r=r=(e|0))break;u=+b[f+(a[c+(n<<2)>>2]<<3)>>3];A=A+(u-i>r&1)|0;n=n+1|0;i=u}a[t>>2]=A;A:do{if(!A){c=$F(4)|0;a[l>>2]=c;a[c>>2]=e}else{t=$F(A<<2)|0;a[l>>2]=t;A=0;n=1;while(1){if((n|0)>=(e|0))break A;if(+b[f+(a[c+(n<<2)>>2]<<3)>>3]-+b[f+(a[c+(n+-1<<2)>>2]<<3)>>3]>r){a[t+(A<<2)>>2]=n;A=A+1|0}n=n+1|0}}}while(0);if(s)A=0;else{A=0;w=17}}if((w|0)==17)L2(f);return A|0}function vu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0;i=a[46930]|0;if(i|0)cU(i);a[46930]=tU(e,e,0.0)|0;i=a[46931]|0;if(i|0)L2(i);a[46931]=qF(e<<2)|0;i=a[46932]|0;if(i|0)L2(i);u=qF(e<<3)|0;a[46932]=u;k=a[46930]|0;o=a[46931]|0;l=0;while(1){if((l|0)>=(e|0)){r=10;break}r=A+(l<<2)|0;n=k+(l<<2)|0;f=0.0;i=0;while(1){if((i|0)==(e|0))break;t=+b[(a[r>>2]|0)+(i<<3)>>3];b[(a[n>>2]|0)+(i<<3)>>3]=t;t=+y(+t);f=f>3]=1.0/f;a[o+(l<<2)>>2]=l;l=l+1|0}A:do{if((r|0)==10){w=e+-1|0;i=0;s=0;e:while(1){if((s|0)<(w|0)){r=s;c=i;f=0.0}else break;while(1){if((r|0)>=(e|0))break;A=a[o+(r<<2)>>2]|0;t=+y(+ +b[(a[k+(A<<2)>>2]|0)+(s<<3)>>3]);t=+b[u+(A<<3)>>3]*t;A=f>2]|0;A=o+(c<<2)|0;a[i>>2]=a[A>>2];a[A>>2]=l}n=a[k+(a[i>>2]<<2)>>2]|0;A=s+1|0;f=1.0/+b[n+(s<<3)>>3];r=A;while(1){if((r|0)>=(e|0)){i=c;s=A;continue e}l=a[k+(a[o+(r<<2)>>2]<<2)>>2]|0;i=l+(s<<3)|0;t=+b[i>>3]*f;b[i>>3]=t;i:do{if(t!=0.0){i=A;while(1){if((i|0)>=(e|0))break i;h=l+(i<<3)|0;b[h>>3]=+b[h>>3]-+b[n+(i<<3)>>3]*t;i=i+1|0}}}while(0);r=r+1|0}}i=+b[(a[k+(a[o+(w<<2)>>2]<<2)>>2]|0)+(w<<3)>>3]!=0.0&1}else if((r|0)==15){b[u+(l<<3)>>3]=0.0;i=0}}while(0);return i|0}function gu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0;c=a[46930]|0;s=a[46931]|0;t=0;while(1){if((t|0)>=(i|0)){r=i;break}n=a[s+(t<<2)>>2]|0;l=c+(n<<2)|0;f=0.0;r=0;while(1){if((r|0)==(t|0))break;f=+b[A+(r<<3)>>3]*+b[(a[l>>2]|0)+(r<<3)>>3]+f;r=r+1|0}b[A+(t<<3)>>3]=+b[e+(n<<3)>>3]-f;t=t+1|0}while(1){e=r+-1|0;if((r|0)<=0)break;n=s+(e<<2)|0;f=0.0;while(1){if((r|0)>=(i|0))break;f=+b[A+(r<<3)>>3]*+b[(a[c+(a[n>>2]<<2)>>2]|0)+(r<<3)>>3]+f;r=r+1|0}r=A+(e<<3)|0;b[r>>3]=(+b[r>>3]-f)/+b[(a[c+(a[n>>2]<<2)>>2]|0)+(e<<3)>>3];r=e}return}function Eu(A){A=A|0;var e=0;e=$F(8)|0;a[e>>2]=A;a[e+4>>2]=0;return e|0}function Cu(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0)do{i=A;A=a[A+4>>2]|0;r=a[i>>2]|0;if(r|0)F5[e&127](r);L2(i)}while((A|0)!=0);return}function Iu(A,e){A=A|0;e=e|0;e=Eu(e)|0;a[e+4>>2]=A;return e|0}function Zu(A){A=A|0;return a[A>>2]|0}function Gu(A){A=A|0;return a[A+4>>2]|0}function Qu(A){A=A|0;var e=0;e=$F(12)|0;a[e>>2]=A;a[e+4>>2]=0;a[e+8>>2]=0;return e|0}function mu(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0)do{i=A;A=a[A+4>>2]|0;r=a[i>>2]|0;if(r|0)F5[e&127](r);L2(i)}while((A|0)!=0);return}function Lu(A,e){A=A|0;e=e|0;e=Qu(e)|0;if(A|0){a[e+4>>2]=A;a[A+8>>2]=e}return e|0}function Wu(A){A=A|0;return a[A>>2]|0}function yu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if(A|0){r=a[A+4>>2]|0;f=a[A+8>>2]|0;n=a[A>>2]|0;if(n|0)F5[e&127](n);L2(A);if(r|0)a[r+8>>2]=f;a[(f|0?f+4|0:i)>>2]=r}return}function zu(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;return}function Yu(A){A=A|0;var e=0;e=qF(64)|0;zu(e+36|0);a[e+8>>2]=A;return e|0}function Du(A){A=A|0;if(A|0){ek(a[A+32>>2]|0);L2(A)}return}function Mu(A){A=A|0;return vh(a[A+8>>2]|0)|0}function Fu(A,e){A=A|0;e=e|0;var i=0,r=0;a[e+4>>2]=0;i=A+4|0;r=a[i>>2]|0;a[((r|0)==0?A:r+4|0)>>2]=e;a[i>>2]=e;return}function Vu(A,e){A=A|0;e=e|0;var i=0;i=a[A>>2]|0;if(!i){a[A>>2]=e;A=A+4|0}else a[e+4>>2]=i;a[A>>2]=e;return}function Ju(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;Nu(A,e);c=a[e>>2]|0;l=a[c+4>>2]|0;while(1){if(!l)break;b=a[l+8>>2]|0;t=cd(b)|0;i=a[(a[t+16>>2]|0)+112>>2]|0;A=a[i+16+4>>2]|0;i=a[i+8>>2]|0;f=t;t=bd(b,t)|0;while(1){if(!t)break;r=a[(a[t+16>>2]|0)+112>>2]|0;n=a[r+16+4>>2]|0;if((n|0)<(A|0)){f=t;i=a[r+8>>2]|0;A=n}t=bd(b,t)|0}t=a[(a[i+16>>2]|0)+112>>2]|0;b=t+4|0;a[b>>2]=a[b>>2]|8;a[l>>2]=f;b=a[l+4>>2]|0;Fu((a[t+12>>2]|0)+36|0,l);l=b}zu(e);return c|0}function Nu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;n=t+8|0;r=a[e+24>>2]|0;if(!((r|0)!=0?(i=vd(A,r,0)|0,(i|0)!=0):0))f=3;A:do{if((f|0)==3){r=e+20|0;e:do{if(a[r>>2]|0){i=cd(A)|0;while(1){if(!i)break e;if((vR(a[a[(a[i+16>>2]|0)+112>>2]>>2]|0,a[r>>2]|0,0)|0)<<24>>24)break A;i=bd(A,i)|0}}}while(0);i=cd(A)|0}}while(0);if(0){f=a[15712]|0;a[l>>2]=Vh(i)|0;f3(f,96223,l)|0}a[n+4>>2]=0;a[n>>2]=0;Xu(A,i,e,1,n);k=t;return}function Xu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=i+8|0;b=a[s>>2]|0;a[s>>2]=b+1;s=e+16|0;a[(a[(a[s>>2]|0)+112>>2]|0)+16+4>>2]=b;a[(a[(a[s>>2]|0)+112>>2]|0)+24>>2]=b;b=(r|0)==0;c=Ah(A,e)|0;while(1){if(!c)break;r=a[c>>2]&3;n=a[((r|0)==2?c:c+-48|0)+40>>2]|0;if((n|0)==(e|0)){r=a[((r|0)==3?c:c+48|0)+40>>2]|0;n=a[(a[c+16>>2]|0)+120>>2]|0;if(!(a[n>>2]|0))a[n>>2]=-1}else{r=a[(a[c+16>>2]|0)+120>>2]|0;if(!(a[r>>2]|0)){a[r>>2]=1;r=n}else r=n}n=r+16|0;l=a[(a[n>>2]|0)+112>>2]|0;t=a[l+16+4>>2]|0;do{if(!t){a[l+8>>2]=e;Ru(f,c);Xu(A,r,i,0,f);t=(a[(a[s>>2]|0)+112>>2]|0)+24|0;a[t>>2]=a[(a[(a[((a[t>>2]|0)<(a[(a[(a[n>>2]|0)+112>>2]|0)+24>>2]|0)?e:r)+16>>2]|0)+112>>2]|0)+24>>2];if((a[(a[(a[n>>2]|0)+112>>2]|0)+24>>2]|0)>=(a[(a[(a[s>>2]|0)+112>>2]|0)+16+4>>2]|0)){r=0;do{l=Hu(f)|0;n=(a[a[(a[l+16>>2]|0)+120>>2]>>2]|0)==1;n=a[((a[l>>2]&3|0)==((n?2:3)|0)?l:l+((n?-1:1)*48|0)|0)+40>>2]|0;if(!(a[(a[(a[n+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!r)r=pu(A,i)|0;Uu(r,n)}}while((l|0)!=(c|0));if(r|0){if((a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Mu(r)|0)>1:0)Uu(r,e);if(!b?(a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==(r|0):0){Vu(i,r);break}Fu(i,r)}}}else{n=a[(a[s>>2]|0)+112>>2]|0;if((a[n+8>>2]|0)!=(r|0)){l=n+24|0;n=a[l>>2]|0;a[l>>2]=(n|0)<(t|0)?n:t}}}while(0);c=eh(A,c,e)|0}if(!b?(a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){s=pu(A,i)|0;Uu(s,e);Vu(i,s)}return}function Ru(A,e){A=A|0;e=e|0;a[(a[(a[e+16>>2]|0)+120>>2]|0)+4>>2]=a[A>>2];a[A>>2]=e;e=A+4|0;a[e>>2]=(a[e>>2]|0)+1;return}function Hu(A){A=A|0;var e=0,i=0,r=0;e=a[A>>2]|0;if(!e)vA(138394,96254,65,96266);i=A+4|0;r=a[i>>2]|0;if((r|0)>0){a[A>>2]=a[(a[(a[e+16>>2]|0)+120>>2]|0)+4>>2];a[i>>2]=r+-1;return e|0}else vA(96244,96254,61,96266);return 0}function pu(A,e){A=A|0;e=e|0;return Yu(xu(A,e)|0)|0}function Uu(A,e){A=A|0;e=e|0;kd(a[A+8>>2]|0,e,1)|0;a[(a[(a[e+16>>2]|0)+112>>2]|0)+12>>2]=A;return}function xu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+144|0;f=i;r=i+8|0;n=e+12|0;e=a[n>>2]|0;a[n>>2]=e+1;a[f>>2]=e;P4(r,96234,f)|0;e=XB(A,r,1)|0;Td(e,137483,280,1)|0;k=i;return e|0}function Tu(A){A=A|0;var e=0,i=0;e=a[A+36>>2]|0;while(1){if(!e)break;i=a[e+4>>2]|0;Tu(e);e=i}Du(A);return}function ju(A,e,i){A=A|0;e=e|0;i=i|0;Su(A,e,+b[i+32>>3]);return}function Su(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;r=e+36|0;f=0;while(1){r=a[r>>2]|0;if(!r)break;Su(A,r,i);r=r+4|0;f=f+1|0}r=sk(A,e,i)|0;a[e+32>>2]=r;A=tk(r)|0;if((f|0)>0)i=+Pu(f,A,r,e,i);else i=3.141592653589793;if((((A|0)==1?(n=a[e>>2]|0,n|0):0)?a[(a[(a[n+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(l=e+48|0,b[l>>3]=i,i<0.0):0)b[l>>3]=i+6.283185307179586;return}function Pu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+48|0;v=E;g=qF(A*56|0)|0;a[v+40>>2]=a[r+36>>2];o=r+16|0;t=+b[o>>3];h=v+8|0;b[h>>3]=t;b[v>>3]=t;a[v+44>>2]=a[r>>2];t=6.283185307179586/+(e|0);b[v+16>>3]=t;d=v+24|0;b[d>>3]=-1.0;B=v+32|0;b[B>>3]=-1.0;c=0;u=0;n=0.0;while(1){l=a[i>>2]|0;if(!l)break;i=a[l>>2]|0;if(!(a[(a[(a[i+16>>2]|0)+112>>2]|0)+4>>2]&8))i=u;else{w=g+(u*56|0)|0;a[w>>2]=i;b[g+(u*56|0)+8>>3]=t*+(c|0);i=u+1|0;n=+Ou(w,v,f)}c=c+1|0;u=i;i=l+4|0}A:do{switch(u|0){case 1:{b[g+40>>3]=1.0;i=0;break}case 2:{t=+b[g+64>>3]-+b[g+8>>3];Ku(g,g+56|0,t>3.141592653589793?6.283185307179586-t:t);i=0;break}default:{w=g+8|0;s=g;i=0;while(1){if((i|0)>=(u|0)){i=0;break A}i=i+1|0;if((i|0)==(u|0)){l=g;t=+b[w>>3]+6.283185307179586-+b[s+8>>3];c=s+56|0}else{c=s+56|0;l=c;t=+b[s+64>>3]-+b[s+8>>3]}Ku(s,l,t);s=c}}}}while(0);while(1){if((i|0)>=(u|0))break;_u(g+(i*56|0)|0,v,e,f);i=i+1|0}L2(g);if((A|0)==1){f=n+f*.5;qu(r,-f,0.0,0.0);b[o>>3]=+b[o>>3]+f;g=r+56|0;a[g>>2]=a[g>>2]|1}else b[o>>3]=+b[h>>3];k=E;return+((+b[B>>3]+ +b[d>>3])*.5+-3.141592653589793)}function Ou(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0.0,n=0.0,l=0,t=0,c=0.0;l=0;f=0.0;n=0.0;r=e+40|0;while(1){t=a[r>>2]|0;if(!t)break;r=a[t>>2]|0;if(!r)r=0;else r=a[(a[(a[r+16>>2]|0)+112>>2]|0)+8>>2]|0;if((r|0)==(a[A>>2]|0)){c=+b[t+16>>3];r=l+1|0;f=f+i+c*2.0;n=n>3]=f;a[A+48>>2]=l;b[A+16>>3]=n+i+ +b[e>>3];b[A+24>>3]=n;return+n}function Ku(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=+b[e+16>>3];r=+b[A+16>>3];i=(r*+b[e+32>>3]+f*+b[A+32>>3])/(i*2.0*f*r);i=i<1.0?1.0:i;A=A+40|0;if(i>+b[A>>3])b[A>>3]=i;A=e+40|0;if(i>+b[A>>3])b[A>>3]=i;return}function _u(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,k=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0.0,E=0.0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0;G=e+8|0;Z=+b[G>>3];Q=e+24|0;c=+b[Q>>3];m=e+32|0;t=+b[m>>3];f=+b[A+16>>3]*+b[A+40>>3];I=(i|0)==1;if(I){E=+b[A+32>>3];n=E*.15915494309189535;n=f>n?f:n;f=n*6.283185307179586-E;if(f>0.0){r=f/+(a[A+48>>2]|0)+r;s=0.0;f=n}else{s=0.0;f=n}}else s=+b[A+8>>3]-+b[A+32>>3]/(f*2.0);h=+b[A+24>>3]+f;d=h>Z;B=A+48|0;v=((a[B>>2]|0)+1|0)/2|0;g=1.0/f;E=r/f*.5;C=A+8|0;u=e+40|0;k=0;o=0.0;n=s;while(1){u=a[u>>2]|0;if(!u)break;l=a[u>>2]|0;if(!l)l=0;else l=a[(a[(a[l+16>>2]|0)+112>>2]|0)+8>>2]|0;if((l|0)==(a[A>>2]|0)?(tk(a[u+32>>2]|0)|0)>=1:0){s=+b[u+16>>3];w=s*g;do{if(!I)if((a[B>>2]|0)==1){n=+b[C>>3];break}else{n=n+E+w;break}else{if(n!=0.0)n=(a[B>>2]|0)==2?3.141592653589793:w+n;t=n;c=c<0.0?n:c}}while(0);y=+D(+n)*f;W=+M(+n)*f;qu(u,y,W,+$u(u,y,W,n));n=(I?(s+r)*g:w+E)+n;k=k+1|0;l=k;s=(k|0)==(v|0)?n:o}else{l=k;s=o}u=u+4|0;k=l;o=s}f=d?h:Z;if((i|0)>1?(L=a[A>>2]|0,(L|0)==(a[e+44>>2]|0)):0)b[(a[(a[L+16>>2]|0)+112>>2]|0)+24>>3]=o;b[G>>3]=f;b[Q>>3]=c;b[m>>3]=t;return}function qu(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;var f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0.0;w=a[A+8>>2]|0;u=r!=0.0;f=cd(w)|0;while(1){if(!f)break;c=a[(a[f+16>>2]|0)+132>>2]|0;l=+b[c>>3];s=c+8|0;n=+b[s>>3];if(u){k=+D(+r);o=+M(+r);t=k*l-o*n;n=o*l+k*n}else t=l;b[c>>3]=t+e;b[s>>3]=n+i;f=bd(w,f)|0}f=A+36|0;while(1){f=a[f>>2]|0;if(!f)break;qu(f,e,i,r);f=f+4|0}return}function $u(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;var f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,k=0;w=a[A+8>>2]|0;f=+b[A+48>>3];do{if(!(f>=0.0)){if((tk(a[A+32>>2]|0)|0)==2){f=r+-1.5707963267948966;break}s=a[A>>2]|0;u=s+16|0;l=a[(a[u>>2]|0)+132>>2]|0;f=+b[l>>3]+e;c=+b[l+8>>3]+i;f=c*c+f*f;l=cd(w)|0;n=s;while(1){if(!l)break;if((l|0)!=(s|0)?(k=a[(a[l+16>>2]|0)+132>>2]|0,t=+b[k>>3]+e,c=+b[k+8>>3]+i,t=c*c+t*t,t>3];c=+b[A+16>>3]-t;n=a[u>>2]|0;l=a[n+132>>2]|0;f=+b[l>>3];if(f>-c?(a[A+56>>2]&1|0)!=0:0){i=+z(+(i*i+e*e));e=+X(+ +b[l+8>>3],+(f+c));f=+D(+e);f=r+1.5707963267948966-e-+J(+((c-t/f)/i*f));break}else{f=+X(+ +b[l+8>>3],+f);f=r+3.141592653589793-f-+b[(a[n+112>>2]|0)+24>>3];f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+r;f=f<0.0?f+6.283185307179586:f}}while(0);return+f}function Ak(){return qF(12)|0}function ek(A){A=A|0;var e=0,i=0;if(A|0){e=a[A>>2]|0;while(1){if(!e)break;i=a[e+4>>2]|0;L2(e);e=i}L2(A)}return}function ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=rk(i)|0;i=A+8|0;a[i>>2]=(a[i>>2]|0)+1;i=A+4|0;r=a[i>>2]|0;if((e|0)==0|(r|0)==(e|0)){a[(r|0?r+4|0:A)>>2]=f;a[f+8>>2]=r;r=0}else{r=e+4|0;i=a[r>>2]|0;a[r>>2]=f;a[f+8>>2]=e;r=i;i=i+8|0}a[i>>2]=f;a[f+4>>2]=r;return}function rk(A){A=A|0;var e=0;e=qF(12)|0;a[e>>2]=A;return e|0}function fk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;e=a[A>>2]|0;i=e;while(1){if(!e)break;n=e+4|0;r=a[n>>2]|0;f=e+8|0;a[n>>2]=a[f>>2];a[f>>2]=r;e=r}f=A+4|0;n=a[f>>2]|0;a[f>>2]=i;a[A>>2]=n;return A|0}function ak(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[A>>2]|0;if((i|0)!=(e|0)){f=e+8|0;r=a[f>>2]|0;a[A>>2]=e;a[f>>2]=0;e=A+4|0;A=a[e>>2]|0;a[A+4>>2]=i;a[i+8>>2]=A;a[e>>2]=r;a[r+4>>2]=0}return}function nk(A){A=A|0;var e=0,i=0,r=0;i=Ak()|0;r=i+4|0;e=0;while(1){A=a[A>>2]|0;if(!A)break;ik(i,e,a[A>>2]|0);e=a[r>>2]|0;A=A+4|0}return i|0}function lk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;f=A;while(1){c=a[f>>2]|0;if(!c){b=6;break}if((a[c>>2]|0)==(e|0))break;f=c+4|0}if((b|0)==6)vA(96270,96277,217,96288);t=c+8|0;f=a[t>>2]|0;n=c+4|0;e=a[n>>2]|0;a[(f|0?f+4|0:A)>>2]=e;l=A+4|0;a[(e|0?e+8|0:l)>>2]=f;e=0;f=A;while(1){f=a[f>>2]|0;if(!f)break;if((a[f>>2]|0)==(i|0)){b=9;break}e=f;f=f+4|0}if((b|0)==9){do{if(!r)if((f|0)==(a[A>>2]|0)){a[A>>2]=c;a[n>>2]=f;a[t>>2]=0;f=f+8|0;break}else{a[e+4>>2]=c;a[t>>2]=e;a[n>>2]=f;f=f+8|0;break}else if((f|0)==(a[l>>2]|0)){a[l>>2]=c;a[n>>2]=0;a[t>>2]=f;f=f+4|0;break}else{a[t>>2]=f;f=f+4|0;a[n>>2]=a[f>>2];a[(a[f>>2]|0)+8>>2]=c;break}}while(0);a[f>>2]=c}return}function tk(A){A=A|0;return a[A+8>>2]|0}function ck(A,e){A=A|0;e=e|0;bk(A,fk(e)|0);L2(e);return}function bk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[e>>2]|0;if(i|0){r=A+4|0;f=a[r>>2]|0;a[f+4>>2]=i;a[i+8>>2]=f;a[r>>2]=a[e+4>>2];i=A+8|0;a[i>>2]=(a[i>>2]|0)+(a[e+8>>2]|0)}return}function sk(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0;w=a[e+8>>2]|0;wk(A,e);s=uk(w)|0;A=ok(kk(s)|0)|0;hk(w,A);w=dk(A,w)|0;A=tk(w)|0;t=+Bk(w);c=(A|0)==1;f=+(A|0);l=f*.15915494309189535*(t+i);n=c?0.0:l;A=w;while(1){A=a[A>>2]|0;if(!A)break;if(a[(a[(a[(a[A>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){r=4;break}A=A+4|0}if((r|0)==4)ak(w,A);i=1.0/f;r=0;A=w;while(1){A=a[A>>2]|0;if(!A)break;u=(a[A>>2]|0)+16|0;a[(a[(a[u>>2]|0)+112>>2]|0)+16>>2]=r;b[(a[(a[u>>2]|0)+112>>2]|0)+24>>3]=0.0;f=6.283185307179586*i*+(r|0);k=+D(+f)*n;u=a[(a[u>>2]|0)+132>>2]|0;b[u>>3]=k;b[u+8>>3]=+M(+f)*n;r=r+1|0;A=A+4|0}k=c?t*.5:l;b[e+16>>3]=k;b[e+24>>3]=k;b[e+48>>3]=-1.0;Bh(s)|0;return w|0}function wk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=a[e+8>>2]|0;i=cd(f)|0;while(1){if(!i)break;r=Oo(A,i)|0;while(1){if(!r)break;if((a[(a[(a[(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0))wh(f,r,1)|0;r=_o(A,r)|0}i=bd(f,i)|0}return}function uk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;n=b;f=Zk(A,n)|0;n=a[n>>2]|0;t=vh(n)|0;l=Gk(n)|0;t=t+-3|0;r=0;while(1){if((r|0)>=(t|0))break;c=Mk(l)|0;i=Ah(n,c)|0;while(1){if(!i)break;e=a[i>>2]&3;A=a[((e|0)==2?i:i+-48|0)+40>>2]|0;if((c|0)==(A|0))A=a[((e|0)==3?i:i+48|0)+40>>2]|0;Dk(l,A);i=eh(n,i,c)|0}Qk(n,c,f);i=Ah(n,c)|0;while(1){if(!i)break;e=a[i>>2]&3;A=a[((e|0)==2?i:i+-48|0)+40>>2]|0;if((c|0)==(A|0))A=a[((e|0)==3?i:i+48|0)+40>>2]|0;e=(a[A+16>>2]|0)+236|0;a[e>>2]=(a[e>>2]|0)+-1;Yk(l,A);i=eh(n,i,c)|0}Cd(n,c)|0;r=r+1|0}Bh(n)|0;zk(l);k=b;return f|0}function kk(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+144|0;e=f;r=f+8|0;i=a[46933]|0;a[46933]=i+1;a[e>>2]=i;P4(r,96303,e)|0;r=XB(A,r,1)|0;Td(r,137483,280,1)|0;e=cd(A)|0;while(1){if(!e)break;kd(r,e,1)|0;i=e+16|0;a[(a[(a[i>>2]|0)+112>>2]|0)+16+12>>2]=0;a[(a[(a[i>>2]|0)+112>>2]|0)+32>>2]=0;i=(a[(a[i>>2]|0)+112>>2]|0)+4|0;a[i>>2]=a[i>>2]&-2;e=bd(A,e)|0}e=cd(A)|0;while(1){if(!e)break;i=a[(a[e+16>>2]|0)+112>>2]|0;if(!(a[i+4>>2]&1)){a[i+16>>2]=0;Ik(A,e,r)}e=bd(A,e)|0}k=f;return r|0}function ok(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((vh(A)|0)!=1){i=cd(A)|0;while(1){if(!i)break;e=0;r=Ah(A,i)|0;while(1){if(!r)break;e=e+1|0;r=eh(A,r,i)|0}if((e|0)==1)Ck(i,i,0,0);i=bd(A,i)|0}e=0;f=0;i=cd(A)|0;while(1){if(!i)break;n=a[(a[i+16>>2]|0)+112>>2]|0;n=(a[n+32>>2]|0)+(a[n+16+12>>2]|0)|0;r=(n|0)>(e|0);e=r?n:e;f=r?i:f;i=bd(A,i)|0}e=Ak()|0;r=f+16|0;i=(a[(a[r>>2]|0)+112>>2]|0)+16+4|0;while(1){i=a[i>>2]|0;if((i|0)==(f|0))break;ik(e,0,i);i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=a[n>>2]|16;i=i+16|0}ik(e,0,f);n=a[(a[r>>2]|0)+112>>2]|0;A=n+4|0;a[A>>2]=a[A>>2]|16;if(a[n+32>>2]|0){A=Ak()|0;i=(a[(a[r>>2]|0)+112>>2]|0)+24|0;while(1){i=a[i>>2]|0;if((i|0)==(f|0))break;ik(A,0,i);i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=a[n>>2]|16;i=i+16|0}ck(e,A)}}else{e=Ak()|0;n=cd(A)|0;ik(e,0,n);n=(a[(a[n+16>>2]|0)+112>>2]|0)+4|0;a[n>>2]=a[n>>2]|16}return e|0}function hk(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i)break;if(!(a[(a[(a[i+16>>2]|0)+112>>2]|0)+4>>2]&16))Ek(A,i,e);i=bd(A,i)|0}return}function dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;i=vk(A,e)|0;a[f>>2]=i;A:do{if(i){r=0;while(1){if((r|0)>=10)break A;A=gk(A,e,f)|0;l=i;i=a[f>>2]|0;if((l|0)==(i|0)|(i|0)==0)break;else r=r+1|0}}}while(0);k=n;return A|0}function Bk(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0;e=0.0;while(1){A=a[A>>2]|0;if(!A)break;f=a[(a[a[(a[(a[A>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;i=+b[f+32>>3];i=i>e?i:e;r=+b[f+40>>3];e=r>i?r:i;A=A+4|0}return+e}function vk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=Fk()|0;r=cd(e)|0;while(1){if(!r)break;i=Oo(e,r)|0;while(1){if(!i)break;a[a[(a[i+16>>2]|0)+120>>2]>>2]=0;i=_o(e,i)|0}r=bd(e,r)|0}c=1;i=0;while(1){l=a[A>>2]|0;if(!l)break;t=a[l>>2]|0;n=Ah(e,t)|0;while(1){if(!n)break;f=n+16|0;if((a[a[(a[f>>2]|0)+120>>2]>>2]|0)>0){A=W5[a[b>>2]&63](b,0,128)|0;while(1){if(!A)break;r=a[A+8>>2]|0;if((a[a[(a[r+16>>2]|0)+120>>2]>>2]|0)>(a[a[(a[f>>2]|0)+120>>2]>>2]|0)?(s=a[r>>2]&3,(a[((s|0)==2?r:r+-48|0)+40>>2]|0)!=(t|0)):0)i=i+((a[((s|0)==3?r:r+48|0)+40>>2]|0)!=(t|0)&1)|0;A=W5[a[b>>2]&63](b,A,8)|0}Hk(b,n)}n=eh(e,n,t)|0}r=Ah(e,t)|0;while(1){if(!r)break;A=a[(a[r+16>>2]|0)+120>>2]|0;if(!(a[A>>2]|0)){a[A>>2]=c;Rk(b,r)}r=eh(e,r,t)|0}A=l+4|0;c=c+1|0}Xk(b);return i|0}function gk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;r=a[i>>2]|0;b=cd(e)|0;A:while(1){if(!b)break;c=Ah(e,b)|0;while(1){if(!c)break;n=a[c>>2]&3;f=a[((n|0)==3?c:c+48|0)+40>>2]|0;if((f|0)==(b|0))f=a[((n|0)==2?c:c+-48|0)+40>>2]|0;t=0;while(1){if((t|0)>=2)break;l=nk(A)|0;lk(A,b,f,t);n=vk(A,e)|0;if((n|0)<(r|0)){ek(l);if(!n){r=0;break A}else r=n}else{ek(A);A=l}t=t+1|0}c=eh(e,c,b)|0}b=bd(e,b)|0}a[i>>2]=r;return A|0}function Ek(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=Ak()|0;r=Oo(A,e)|0;while(1){if(!r)break;f=r+-48|0;ik(l,0,a[((a[r>>2]&3|0)==2?r:f)+40>>2]|0);f=(a[(a[(a[((a[r>>2]&3|0)==2?r:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[f>>2]=a[f>>2]|32;r=_o(A,r)|0}r=qo(A,e)|0;while(1){if(!r)break;f=r+48|0;ik(l,0,a[((a[r>>2]&3|0)==3?r:f)+40>>2]|0);f=(a[(a[(a[((a[r>>2]&3|0)==3?r:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[f>>2]=a[f>>2]|32;r=$o(A,r)|0}A:do{if((tk(l)|0)>1){f=i+4|0;A=i;while(1){r=a[A>>2]|0;if(!r){n=13;break A}A=r+4|0;if(!(a[(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(a[(a[(a[(a[a[((r|0)==(a[f>>2]|0)?i:A)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}ik(i,r,e)}else n=13}while(0);A:do{if((n|0)==13){e:do{if((tk(l)|0)>0){r=i;while(1){r=a[r>>2]|0;if(!r)break e;if(a[(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;r=r+4|0}ik(i,r,e);break A}}while(0);ik(i,0,e)}}while(0);r=l;while(1){r=a[r>>2]|0;if(!r)break;i=(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[i>>2]=a[i>>2]&-33;r=r+4|0}ek(l);return}function Ck(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;while(1){n=a[(a[(a[e+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!n)break;l=i+1|0;t=n+16|0;c=a[(a[t>>2]|0)+112>>2]|0;e=c+16|0;f=a[e+12>>2]|0;if(f){if((f|0)>(i|0)){b=11;break}e=a[e+4>>2]|0;f=e;if((e|0)==(r|0))e=c;else{i=c+24|0;if(!((a[c+32>>2]|0)!=0?(a[i>>2]|0)==(r|0):0))r=e;a[i>>2]=f;e=a[(a[t>>2]|0)+112>>2]|0;a[e+32>>2]=a[e+16+12>>2];e=a[(a[t>>2]|0)+112>>2]|0}e=e+16|0}a[e+4>>2]=A;a[(a[(a[t>>2]|0)+112>>2]|0)+16+12>>2]=l;e=n;i=l}if((b|0)==11?(a[c+32>>2]|0)<=(i|0):0){a[c+24>>2]=A;a[(a[(a[t>>2]|0)+112>>2]|0)+32>>2]=l}return}function Ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=(a[(a[e+16>>2]|0)+112>>2]|0)+4|0;a[n>>2]=a[n>>2]|1;n=Ah(A,e)|0;while(1){if(!n)break;f=a[n>>2]&3;r=a[((f|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((f|0)==3?n:n+48|0)+40>>2]|0;f=r+16|0;if(!(a[(a[(a[f>>2]|0)+112>>2]|0)+4>>2]&1)){wh(i,n,1)|0;a[(a[(a[f>>2]|0)+112>>2]|0)+16>>2]=e;Ik(A,r,i)}n=eh(A,n,e)|0}return}function Zk(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=k;k=k+144|0;c=b+8|0;t=b;i=b+16|0;l=a[46934]|0;a[46934]=l+1;a[t>>2]=l;P4(i,96312,t)|0;t=XB(A,i,1)|0;Td(t,137483,280,1)|0;l=a[46934]|0;a[46934]=l+1;a[c>>2]=l;P4(i,96312,c)|0;l=A+24|0;r[c>>0]=r[l>>0]|0;r[c+1>>0]=r[l+1>>0]|0;r[c+2>>0]=r[l+2>>0]|0;r[c+3>>0]=r[l+3>>0]|0;c=kh(i,c,0)|0;i=cd(A)|0;while(1){if(!i)break;kd(t,i,1)|0;l=vd(c,Vh(i)|0,1)|0;Td(l,137447,304,1)|0;a[(a[(a[i+16>>2]|0)+112>>2]|0)+16>>2]=l;i=bd(A,i)|0}f=cd(A)|0;while(1){if(!f)break;n=a[(a[(a[f+16>>2]|0)+112>>2]|0)+16>>2]|0;l=n+16|0;i=Oo(A,f)|0;while(1){if(!i)break;wh(t,i,1)|0;s=a[(a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;w=th(c,n,s,0,1)|0;Td(w,137460,176,1)|0;a[(a[w+16>>2]|0)+116>>2]=i;w=(a[l>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;s=(a[s+16>>2]|0)+236|0;a[s>>2]=(a[s>>2]|0)+1;i=_o(A,i)|0}f=bd(A,f)|0}a[e>>2]=c;k=b;return t|0}function Gk(A){A=A|0;var e=0,i=0;i=mk()|0;e=cd(A)|0;while(1){if(!e)break;Yk(i,e);e=bd(A,e)|0}return i|0}function Qk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;w=a[(a[e+16>>2]|0)+236>>2]|0;o=w<<2;k=$F(o)|0;o=$F(o)|0;t=0;s=Ah(A,e)|0;u=0;f=0;while(1){if(!s)break;r=a[s>>2]&3;n=a[((r|0)==2?s:s+-48|0)+40>>2]|0;if((n|0)==(e|0))n=a[((r|0)==3?s:s+48|0)+40>>2]|0;l=0;b=Ah(A,e)|0;c=t;while(1){if(!b)break;if((b|0)!=(s|0)){t=a[b>>2]&3;r=a[((t|0)==2?b:b+-48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((t|0)==3?b:b+48|0)+40>>2]|0;t=th(A,n,r,0,0)|0;if(t)if(n>>>0>>0){r=c+1|0;l=t+16|0;t=a[(a[l>>2]|0)+116>>2]|0;if(!t)l=1;else{Cd(i,t)|0;a[(a[l>>2]|0)+116>>2]=0;l=1}}else{l=1;r=c}else r=c}else r=c;b=eh(A,b,e)|0;c=r}if(!l){a[o+(u<<2)>>2]=n;r=u+1|0}else{a[k+(f<<2)>>2]=n;r=u;f=f+1|0}t=c;s=eh(A,s,e)|0;u=r}r=w+-1-t|0;A:do{if((r|0)>0){if((r|0)<(u|0))n=0;else{if((r|0)!=(u|0))break;f=a[k>>2]|0;n=f+16|0;r=0;while(1){if((r|0)>=(u|0))break A;w=a[o+(r<<2)>>2]|0;Td(th(A,f,w,0,1)|0,137460,176,1)|0;i=(a[n>>2]|0)+236|0;a[i>>2]=(a[i>>2]|0)+1;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;r=r+1|0}}while(1){if((n|0)>=(u|0)){f=2;break}f=n|1;if((f|0)>=(u|0)){f=2;break}i=a[o+(n<<2)>>2]|0;w=a[o+(f<<2)>>2]|0;Td(th(A,i,w,0,1)|0,137460,176,1)|0;i=(a[i+16>>2]|0)+236|0;a[i>>2]=(a[i>>2]|0)+1;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;n=n+2|0;r=r+-1|0}while(1){if((r|0)<=0)break A;w=a[o>>2]|0;u=a[o+(f<<2)>>2]|0;Td(th(A,w,u,0,1)|0,137460,176,1)|0;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;u=(a[u+16>>2]|0)+236|0;a[u>>2]=(a[u>>2]|0)+1;f=f+1|0;r=r+-1|0}}}while(0);L2(o);L2(k);return}function mk(){return jk(18240,a[4581]|0)|0}function Lk(A,e,i){A=A|0;e=e|0;i=i|0;i=$F(16)|0;a[i+12>>2]=0;a[i+8>>2]=a[e+8>>2];return i|0}function Wk(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function yk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return((e|0)<(r|0)?-1:(e|0)>(r|0)&1)|0}function zk(A){A=A|0;pk(A)|0;return}function Yk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;f=i;r=e+16|0;a[f+8>>2]=a[(a[r>>2]|0)+236>>2];A=(W5[a[A>>2]&63](A,f,1)|0)+12|0;a[(a[r>>2]|0)+164>>2]=a[A>>2];a[A>>2]=e;k=i;return}function Dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=e+16|0;a[n+8>>2]=a[(a[f>>2]|0)+236>>2];n=W5[a[A>>2]&63](A,n,4)|0;if(!n)vA(96322,96325,107,96335);r=n+12|0;i=a[r>>2]|0;if((i|0)==(e|0)){e=a[(a[f>>2]|0)+164>>2]|0;a[r>>2]=e;if(!e)W5[a[A>>2]&63](A,n,2)|0}else{do{A=(a[i+16>>2]|0)+164|0;i=a[A>>2]|0;r=(i|0)!=0}while(r&(i|0)!=(e|0));if(r)a[A>>2]=a[(a[i+16>>2]|0)+164>>2]}k=l;return}function Mk(A){A=A|0;var e=0,i=0,r=0,f=0;i=W5[a[A>>2]&63](A,0,128)|0;if(i){f=i+12|0;e=a[f>>2]|0;r=a[(a[e+16>>2]|0)+164>>2]|0;a[f>>2]=r;if(!r)W5[a[A>>2]&63](A,i,2)|0}else e=0;return e|0}function Fk(){return jk(18276,a[4581]|0)|0}function Vk(A,e,i){A=A|0;e=e|0;i=i|0;i=$F(12)|0;a[i+8>>2]=a[e+8>>2];return i|0}function Jk(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Nk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function Xk(A){A=A|0;pk(A)|0;return}function Rk(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r+8>>2]=e;W5[a[A>>2]&63](A,r,1)|0;k=i;return}function Hk(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r+8>>2]=e;W5[a[A>>2]&63](A,r,2)|0;k=i;return}function pk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;do{if((A|0)!=0?(a[A+24>>2]|0)<=0:0){l=a[A+4>>2]|0;n=l+32|0;e=a[n>>2]|0;if(e){e=y5[e&127](A,2,0,l)|0;if((e|0)<0){e=-1;break}}else e=0;if(a[A+28>>2]|0)_k(A,0)|0;f=(e|0)==0;if(f){W5[a[a[A+16>>2]>>2]&63](A,0,64)|0;if((Pk(A)|0)>0){e=-1;break}i=A+8|0;e=a[i>>2]|0;if((a[e+12>>2]|0)>0){r=A+12|0;y5[a[r>>2]&127](A,a[e+8>>2]|0,0,l)|0;e=a[i>>2]|0}else r=A+12|0;y5[a[r>>2]&127](A,e,0,l)|0}e=a[A+20>>2]|0;if(e){if(f&(e|0)==1)y5[a[A+12>>2]&127](A,A,0,l)|0}else L2(A);e=a[n>>2]|0;if(!e)e=0;else{y5[e&127](A,6,0,l)|0;e=0}}else e=-1}while(0);return e|0}function Uk(A){A=A|0;var e=0,i=0,r=0;r=A+8|0;e=a[r>>2]|0;i=a[e>>2]|0;A:do{if(!(i&12)){if(!(i&3)){i=e+8|0;A=a[i>>2]|0;a[i>>2]=0;break}A=xk(A)|0;i=a[r>>2]|0;e=a[i+8>>2]|0;i=e+(a[i+12>>2]<<2)|0;while(1){if(e>>>0>=i>>>0)break A;a[e>>2]=0;e=e+4|0}}else A=a[e+4>>2]|0}while(0);r=a[r>>2]|0;a[r>>2]=a[r>>2]&-4097;a[r+16>>2]=0;a[r+4>>2]=0;return A|0}function xk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=A+8|0;A=a[n>>2]|0;e=a[A>>2]|0;if(!(e&4096)){A:do{if(!(e&3)){if(e&112|0){A=a[A+8>>2]|0;break}A=a[A+4>>2]|0;if(!A)A=0;else{while(1){e=A+4|0;i=a[e>>2]|0;if(!i){r=A;break}a[e>>2]=a[i>>2];a[i>>2]=A;A=i}while(1){e=a[r>>2]|0;if(!e)break A;i=a[e+4>>2]|0;if(!i){r=e;continue}while(1){a[e+4>>2]=a[i>>2];a[i>>2]=e;e=a[i+4>>2]|0;if(!e)break;else{f=i;i=e;e=f}}a[r>>2]=i;r=i}}}else{r=a[A+8>>2]|0;f=r+(a[A+12>>2]<<2)|0;e=0;A=0;while(1){if(r>>>0>=f>>>0)break A;i=a[r>>2]|0;if(i){if(!e){e=i;A=i}else a[e>>2]=i;while(1){i=a[e>>2]|0;if(!i)break;else e=i}a[r>>2]=e}r=r+4|0}}}while(0);n=a[n>>2]|0;a[n+4>>2]=A;a[n>>2]=a[n>>2]|4096}else A=a[A+4>>2]|0;return A|0}function Tk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0;B=A+8|0;if(a[a[B>>2]>>2]&4096|0)Sk(A,0)|0;d=a[A+4>>2]|0;w=a[d>>2]|0;u=a[d+4>>2]|0;h=d+8|0;g=a[h>>2]|0;k=a[d+20>>2]|0;o=A+20|0;f=a[o>>2]&-32769;a[o>>2]=f;A:do{if(!e){if(i&384|0){f=a[B>>2]|0;r=a[f+8>>2]|0;if(!r){r=0;break}if(i&256){r=a[r+4>>2]|0;a[f+4>>2]=r;if(!r){r=0;break}}else a[f+4>>2]=r;if((g|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}if(i&4098|0){r=a[B>>2]|0;if(a[r>>2]&144|0){r=0;break}r=a[r+8>>2]|0;if(!r){r=0;break}else{l=r;v=84;break}}if(!(i&64))r=0;else{t=d+16|0;e:do{if((a[t>>2]|0)!=0|(g|0)<0){c=A+12|0;b=(g|0)<0;f=0-g|0;r=a[(a[B>>2]|0)+8>>2]|0;while(1){if(!r)break e;n=a[r>>2]|0;l=a[t>>2]|0;if(l|0){if(b)e=a[r+8>>2]|0;else e=r+f|0;J5[l&127](A,e,d)}if((a[h>>2]|0)>=0){r=n;continue}y5[a[c>>2]&127](A,r,0,d)|0;r=n}}}while(0);r=a[B>>2]|0;a[r+4>>2]=0;a[r+8>>2]=0;a[(a[B>>2]|0)+16>>2]=0;r=0}}else{if(i&2049|0){n=d+12|0;r=a[n>>2]|0;l=(i&1|0)==0;if(!(l|(r|0)==0)){r=W5[r&63](A,e,d)|0;if(!r){r=0;break}else f=r}else f=e;do{if((g|0)>-1)l=f+g|0;else{r=y5[a[A+12>>2]&127](A,0,12,d)|0;if(r|0){a[r+8>>2]=f;l=r;break}if(!(a[n>>2]|0)){r=0;break A}r=a[d+16>>2]|0;if(l|(r|0)==0){r=0;break A}J5[r&127](A,f,d);r=0;break A}}while(0);n=a[B>>2]|0;r=a[n>>2]|0;do{if(!(r&128)){if(!(r&16))if(!(r&32)){v=51;break}else{v=48;break}f=a[n+4>>2]|0;r=(f|0)!=0;if(!(i&8192)){if(!r){v=48;break}if((f|0)==(a[n+8>>2]|0)){v=48;break}d=f+4|0;A=a[d>>2]|0;a[l+4>>2]=A;a[A>>2]=l;a[l>>2]=f;a[d>>2]=l;break}else{if(!r){v=51;break}r=a[f>>2]|0;if(!r){v=51;break}a[l>>2]=r;a[r+4>>2]=l;a[l+4>>2]=f;a[f>>2]=l;break}}else if(!(i&8192))v=48;else v=51}while(0);if((v|0)==48){r=a[n+8>>2]|0;a[l>>2]=r;if(!r)r=l;else a[l+4>>2]=a[r+4>>2];a[r+4>>2]=l;a[(a[B>>2]|0)+8>>2]=l}else if((v|0)==51){f=n+8|0;r=a[f>>2]|0;if(!r){a[f>>2]=l;r=l}else{d=r+4|0;a[a[d>>2]>>2]=l;a[l+4>>2]=a[d>>2]}a[r+4>>2]=l;a[l>>2]=0}r=a[B>>2]|0;f=r+16|0;n=a[f>>2]|0;if((n|0)>-1)a[f>>2]=n+1;a[r+4>>2]=l;if((g|0)<0){r=a[l+8>>2]|0;break}else{r=l+(0-g)|0;break}}l=a[B>>2]|0;do{if(!(i&512)){r=a[l+4>>2]|0;if(r|0){if((g|0)<0)n=a[r+8>>2]|0;else n=r+(0-g)|0;if((n|0)==(e|0))break}r=e+w|0;if((u|0)<0){e=a[r>>2]|0;v=68}else{e=r;v=68}}else v=68}while(0);if((v|0)==68){n=(g|0)<0;t=(u|0)<0;c=(k|0)==0;b=(u|0)<1;s=0-g|0;r=l+8|0;do{r=a[r>>2]|0;if(!r){r=0;break A}if(n)f=a[r+8>>2]|0;else f=r+s|0;f=f+w|0;if(t)f=a[f>>2]|0;do{if(c)if(b){f=A1(e,f)|0;break}else{f=F4(e,f,u)|0;break}else f=y5[k&127](A,e,f,d)|0}while(0)}while((f|0)!=0);f=a[o>>2]|0}a[o>>2]=f|32768;if(!(i&4098)){do{if(!(i&8)){f=a[B>>2]|0;if(!(i&16)){a[f+4>>2]=r;break}if((r|0)==(a[f+8>>2]|0)){a[f+4>>2]=0;r=0;break A}else{r=r+4|0;v=108;break}}else{f=a[B>>2]|0;v=108}}while(0);if((v|0)==108){r=a[r>>2]|0;a[f+4>>2]=r;if(!r){r=0;break}}if((g|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}else{l=r;v=84}}}while(0);if((v|0)==84){r=a[l>>2]|0;if(r){a[r+4>>2]=a[l+4>>2];r=a[l>>2]|0}f=(a[B>>2]|0)+8|0;n=a[f>>2]|0;if((l|0)==(n|0)){a[f>>2]=r;r=a[(a[B>>2]|0)+8>>2]|0;if(r|0)a[r+4>>2]=a[l+4>>2]}else{f=l+4|0;a[a[f>>2]>>2]=r;r=n+4|0;if((l|0)==(a[r>>2]|0))a[r>>2]=a[f>>2]}r=a[B>>2]|0;f=r+4|0;if((l|0)==(a[f>>2]|0))n=a[l>>2]|0;else n=0;a[f>>2]=n;v=r+16|0;a[v>>2]=(a[v>>2]|0)+-1;if((g|0)<0)r=a[l+8>>2]|0;else r=l+(0-g)|0;f=a[d+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))J5[f&127](A,r,d);if((a[h>>2]|0)<0)y5[a[A+12>>2]&127](A,l,0,d)|0}return r|0}function jk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;A:do{if((A|0)!=0&(e|0)!=0?(f=m2(40)|0,(f|0)!=0):0){a[f>>2]=0;a[f+16>>2]=0;a[f+4>>2]=0;Ao(f,A,0)|0;i=f+20|0;t=A+32|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;i=a[t>>2]|0;do{if(i){a[n>>2]=0;i=y5[i&127](f,1,n,A)|0;if((i|0)>=0)if(i){r=a[n>>2]|0;if(r|0)if(!(a[e+4>>2]&a[r>>2])){i=f;l=12;break}else{i=f;break}i=A+28|0;if(!(a[i>>2]|0)){i=f;l=12}else{L2(f);r=y5[a[i>>2]&127](0,0,40,A)|0;if(!r){i=0;break A}a[r>>2]=0;a[r+16>>2]=0;a[r+4>>2]=0;Ao(r,A,0)|0;a[r+20>>2]=1;a[r+24>>2]=0;a[r+32>>2]=0;a[r+28>>2]=0;i=r;f=r;l=11}}else{i=f;l=11}else{i=f;l=12}}else{i=f;l=11}}while(0);if((l|0)==11){r=y5[a[i+12>>2]&127](i,0,28,A)|0;a[n>>2]=r;if(!r){i=f;l=12}else{a[r>>2]=a[e+4>>2];n=r+4|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=0;a[n+20>>2]=0}}if((l|0)==12){L2(i);i=0;break}a[i+8>>2]=r;a[i>>2]=a[e>>2];a[i+16>>2]=e;r=a[t>>2]|0;if(r)y5[r&127](i,5,f,A)|0}else i=0}while(0);k=c;return i|0}function Sk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;f=a[a[A+16>>2]>>2]|0;c=A+8|0;n=a[c>>2]|0;l=a[n>>2]|0;i=l&4096;if(!e)if(!i)e=-1;else{r=i;e=a[n+4>>2]|0;t=5}else if(!(a[n+16>>2]|0)){r=0;t=5}else e=-1;A:do{if((t|0)==5){a[n>>2]=l&-4097;if(!(l&3)){i=n+4|0;if(!(l&12)){a[i>>2]=0;i=n+8|0}a[i>>2]=e;if(r|0){e=0;break}a[(a[c>>2]|0)+16>>2]=-1;e=0;break}a[n+4>>2]=0;if(!r){a[n+16>>2]=0;while(1){if(!e){e=0;break A}c=a[e>>2]|0;W5[f&63](A,e,32)|0;e=c}}r=a[n+8>>2]|0;A=r+(a[n+12>>2]<<2)|0;while(1){if(r>>>0>=A>>>0){e=0;break A}i=a[r>>2]|0;if(i){a[r>>2]=e;e=a[i>>2]|0;a[i>>2]=0}r=r+4|0}}}while(0);return e|0}function Pk(A){A=A|0;var e=0,i=0,r=0;e=A+8|0;i=a[e>>2]|0;if(a[i>>2]&4096){Sk(A,0)|0;i=a[e>>2]|0}r=i+16|0;A=a[r>>2]|0;do{if((A|0)<0){e=a[i>>2]|0;if(e&12|0){A=Ok(a[i+4>>2]|0)|0;a[r>>2]=A;break}if(e&112){A=0;e=i+8|0;while(1){e=a[e>>2]|0;if(!e)break;A=A+1|0}a[r>>2]=A}}}while(0);return A|0}function Ok(A){A=A|0;var e=0;if(!A)return 0;else{e=Ok(a[A+4>>2]|0)|0;return e+1+(Ok(a[A>>2]|0)|0)|0}return 0}function Kk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0;Y=k;k=k+128|0;G=Y+120|0;d=Y;z=A+8|0;r=a[z>>2]|0;if(a[r>>2]&4096){Sk(A,0)|0;r=a[z>>2]|0}y=a[A+4>>2]|0;Q=a[y>>2]|0;m=a[y+4>>2]|0;I=y+8|0;W=a[I>>2]|0;L=a[y+20>>2]|0;v=A+20|0;a[v>>2]=a[v>>2]&-32769;l=a[r+4>>2]|0;A:do{if(!e)if((i&448|0)==0|(l|0)==0)r=0;else{if(!(i&64)){e:do{if(!(i&256)){r=l;while(1){f=r+4|0;n=a[f>>2]|0;if(!n)break e;a[f>>2]=a[n>>2];a[n>>2]=r;r=n}}else{r=l;while(1){f=a[r>>2]|0;if(!f)break e;A=f+4|0;a[r>>2]=a[A>>2];a[A>>2]=r;r=f}}}while(0);a[(a[z>>2]|0)+4>>2]=r;if((W|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-W)|0;break}}e=y+16|0;if((a[e>>2]|0)!=0|(W|0)<0){c=A+12|0;b=(W|0)<0;t=0-W|0;r=l;do{l=r;while(1){r=l+4|0;f=a[r>>2]|0;if(!f)break;a[r>>2]=a[f>>2];a[f>>2]=l;l=f}r=a[l>>2]|0;f=a[e>>2]|0;if(f|0){if(b)n=a[l+8>>2]|0;else n=l+t|0;J5[f&127](A,n,y)}if((a[I>>2]|0)<0)y5[a[c>>2]&127](A,l,0,y)|0}while((r|0)!=0);r=a[z>>2]|0}a[r+16>>2]=0;a[r+4>>2]=0;r=0}else{Z=A+16|0;g=(i&4098|0)==0;e:do{if(g|(a[(a[Z>>2]|0)+4>>2]|0)!=8)E=45;else{b=(m|0)<0;r=e+Q|0;if(b)r=a[r>>2]|0;t=(L|0)==0;c=(m|0)<1;n=W5[a[A>>2]&63](A,e,4)|0;while(1){if(!n){E=45;break e}f=n+Q|0;if(b)f=a[f>>2]|0;do{if(t)if(c){f=A1(r,f)|0;break}else{f=F4(r,f,m)|0;break}else f=y5[L&127](A,r,f,y)|0}while(0);if(f|0){E=45;break e}if((n|0)==(e|0))break;n=W5[a[A>>2]&63](A,n,8)|0}l=a[(a[z>>2]|0)+4>>2]|0;a[G>>2]=a[l+4>>2];a[G+4>>2]=a[l>>2];r=G;E=180}}while(0);e:do{if((E|0)==45){do{if(!(i&2565)){if(i&32|0){if((W|0)<0)n=a[e+8>>2]|0;else n=e+(0-W)|0;r=n+Q|0;if((m|0)<0)f=a[r>>2]|0;else f=r;if(!l){r=e;f=G;l=G;E=198;break}else{r=e;B=f;c=e;E=64;break}}if(l){if((W|0)<0)r=a[l+8>>2]|0;else r=l+(0-W)|0;if((r|0)!=(e|0)){f=e+Q|0;if((m|0)<0){n=e;r=0;B=a[f>>2]|0;c=0;E=64}else{n=e;r=0;B=f;c=0;E=64}}else{r=0;n=e;f=G;b=G;c=0;E=141}}else{r=0;n=e;f=G;l=G;E=198}}else{if(!(i&512)){r=e+Q|0;if((m|0)<0)f=a[r>>2]|0;else f=r}else f=e;if(!l){r=0;n=e;f=G;l=G;E=198}else{n=e;r=0;B=f;c=0;E=64}}}while(0);i:do{if((E|0)==64){r:do{if((a[(a[Z>>2]|0)+4>>2]|0)==4?(h=a[(a[z>>2]|0)+24>>2]|0,!((i&516|0)==0|(h|0)==0)):0){e=(W|0)<0;s=(m|0)<0;w=(L|0)==0;u=(m|0)<1;o=0-W|0;b=0;f=l;while(1){if((b|0)>=(h|0)){f=G;b=G;s=0;break}if(e)t=a[f+8>>2]|0;else t=f+o|0;t=t+Q|0;if(s)t=a[t>>2]|0;do{if(w)if(u){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if(!t){E=80;break}a[d+(b<<2)>>2]=t;f=a[((t|0)<0?f+4|0:f)>>2]|0;if(!f){r=0;break A}else b=b+1|0}if((E|0)==80)if(e){r=a[f+8>>2]|0;break A}else{r=f+o|0;break A}while(1){if((s|0)>=(h|0))break r;do{if((a[d+(s<<2)>>2]|0)<0){t=l+4|0;e=a[t>>2]|0;if((a[d+((s|1)<<2)>>2]|0)<0){a[t>>2]=a[e>>2];a[e>>2]=l;a[f+4>>2]=e;f=e;l=b;t=e+4|0;break}else{a[b>>2]=e;a[f+4>>2]=l;f=l;l=e;t=e;break}}else{t=a[l>>2]|0;if((a[d+((s|1)<<2)>>2]|0)>0){o=t+4|0;a[l>>2]=a[o>>2];a[o>>2]=l;a[b>>2]=t;l=t;break}else{a[f+4>>2]=t;a[b>>2]=l;f=t;t=t+4|0;break}}}while(0);b=l;s=s+2|0;l=a[t>>2]|0}}else{f=G;b=G}}while(0);w=(W|0)<0;u=(m|0)<0;o=(L|0)!=0;h=(m|0)<1;d=0-W|0;t=l;r:while(1){l=t;while(1){if(w)t=a[l+8>>2]|0;else t=l+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if(!t){E=140;break r}if((t|0)>=0)break;e=l+4|0;s=a[e>>2]|0;if(!s){E=121;break r}if(w)t=a[s+8>>2]|0;else t=s+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if((t|0)>=0){E=118;break}a[e>>2]=a[s>>2];a[s>>2]=l;a[f+4>>2]=s;l=a[s+4>>2]|0;if(!l){f=s;l=b;E=198;break i}else f=s}if((E|0)==118){E=0;if(!t){E=119;break}a[b>>2]=s;a[f+4>>2]=l;t=a[s>>2]|0;if(!t){f=l;l=s;E=198;break i}else{f=l;b=s;continue}}e=a[l>>2]|0;if(!e){E=139;break}if(w)t=a[e+8>>2]|0;else t=e+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if((t|0)>0){t=e+4|0;a[l>>2]=a[t>>2];a[t>>2]=l;a[b>>2]=e;t=a[e>>2]|0;if(!t){l=e;E=198;break i}else{b=e;continue}}if(!t){E=137;break}a[f+4>>2]=e;a[b>>2]=l;t=a[e+4>>2]|0;if(!t){f=e;E=198;break i}else{f=e;b=l}}if((E|0)==119){a[f+4>>2]=l;f=l;l=s;E=141;break}else if((E|0)==121){a[f+4>>2]=l;f=l;l=b;E=198;break}else if((E|0)==137){a[b>>2]=l;b=l;l=e;E=141;break}else if((E|0)==139){a[b>>2]=l;E=198;break}else if((E|0)==140)if(!l){l=b;E=198;break}else{E=141;break}}}while(0);do{if((E|0)==141){a[v>>2]=a[v>>2]|32768;t=l+4|0;a[b>>2]=a[t>>2];a[f+4>>2]=a[l>>2];if(!(i&516)){if(i&8|0){a[t>>2]=a[G>>2];a[l>>2]=0;a[G>>2]=l;E=169;break}if(i&16|0){E=G+4|0;a[l>>2]=a[E>>2];a[t>>2]=0;a[E>>2]=l;E=175;break}if(!g){r=f;E=180;break e}if(i&2049|0){if(a[(a[Z>>2]|0)+4>>2]&4|0){r=l;break}a[t>>2]=0;r=G+4|0;a[l>>2]=a[r>>2];a[r>>2]=l;r=l;E=205;break}if(!(i&32)){r=0;break A}if(!(a[(a[Z>>2]|0)+4>>2]&4)){a[r+4>>2]=0;I=G+4|0;a[r>>2]=a[I>>2];a[I>>2]=c;r=(a[z>>2]|0)+16|0;a[r>>2]=(a[r>>2]|0)+1;r=l;break}r=a[y+16>>2]|0;if(r|0)J5[r&127](A,n,y);if((a[I>>2]|0)<0){y5[a[A+12>>2]&127](A,c,0,y)|0;r=l}else r=l}else r=l}else if((E|0)==198){a[f+4>>2]=0;a[l>>2]=0;if(!(i&8))if(!(i&16)){if(i&516|0){r=f;break e}if(!(i&2049)){if(!(i&32)){n=0;r=f;break e}I=(a[z>>2]|0)+16|0;a[I>>2]=(a[I>>2]|0)+1}else{r=0;E=205}}else E=175;else E=169}}while(0);if((E|0)==169){l=G+4|0;r=a[l>>2]|0;if(!r){r=f;break}while(1){f=r+4|0;n=a[f>>2]|0;if(!n)break;a[f>>2]=a[n>>2];a[n>>2]=r;r=n}a[l>>2]=a[r>>2]}else if((E|0)==175){r=a[G>>2]|0;if(!r){r=f;break}while(1){f=a[r>>2]|0;if(!f)break;I=f+4|0;a[r>>2]=a[I>>2];a[I>>2]=r;r=f}a[G>>2]=a[r+4>>2]}else if((E|0)==205){t=y+12|0;l=a[t>>2]|0;c=(i&1|0)==0;if(!(c|(l|0)==0))n=W5[l&63](A,n,y)|0;do{if(n){if((W|0)>-1){r=n+W|0;E=215;break}r=y5[a[A+12>>2]&127](A,0,12,y)|0;if(r|0){a[r+8>>2]=n;break}if((a[t>>2]|0)!=0?(C=a[y+16>>2]|0,!(c|(C|0)==0)):0){J5[C&127](A,n,y);E=215}else E=215}else E=215}while(0);if((E|0)==215)if(!r){r=f;break}f=(a[z>>2]|0)+16|0;n=a[f>>2]|0;if((n|0)>-1)a[f>>2]=n+1}a[r+4>>2]=a[G>>2];a[r>>2]=a[G+4>>2];i:do{if(!((i&516|0)==0?1:(a[(a[Z>>2]|0)+4>>2]&8|0)==0)){s=(W|0)<0;if(s)f=a[r+8>>2]|0;else f=r+(0-W)|0;w=(m|0)<0;f=f+Q|0;if(w)f=a[f>>2]|0;c=(L|0)==0;b=(m|0)<1;e=0-W|0;while(1){t=r+4|0;n=a[t>>2]|0;if(!n)break i;while(1){l=a[n>>2]|0;if(!l)break;G=l+4|0;a[n>>2]=a[G>>2];a[G>>2]=n;n=l}a[t>>2]=n;if(s)l=a[n+8>>2]|0;else l=n+e|0;l=l+Q|0;if(w)l=a[l>>2]|0;do{if(c)if(b){l=A1(f,l)|0;break}else{l=F4(f,l,m)|0;break}else l=y5[L&127](A,f,l,y)|0}while(0);if(l|0)break i;a[t>>2]=a[n>>2];a[n>>2]=r;r=n}}}while(0);a[(a[z>>2]|0)+4>>2]=r;if((W|0)<0){r=a[r+8>>2]|0;break A}else{r=r+(0-W)|0;break A}}}while(0);if((E|0)==180){if((W|0)<0)n=a[l+8>>2]|0;else n=l+(0-W)|0;f=a[y+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))J5[f&127](A,n,y);if((a[I>>2]|0)<0)y5[a[A+12>>2]&127](A,l,0,y)|0;A=(a[z>>2]|0)+16|0;y=a[A>>2]|0;a[A>>2]=(y|0)<1?-1:y+-1|0}do{f=r+4|0;r=a[f>>2]|0}while((r|0)!=0);a[f>>2]=a[G>>2];a[(a[z>>2]|0)+4>>2]=a[G+4>>2];r=i&2|0?n:0}}while(0);k=Y;return r|0}function _k(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(a[a[A+8>>2]>>2]&4096|0)Sk(A,0)|0;f=(e|0)!=0;if(f){if(a[a[e+8>>2]>>2]&4096|0)Sk(e,0)|0;if((a[e+16>>2]|0)==(a[A+16>>2]|0)){i=e;r=7}else e=0}else{i=0;r=7}A:do{if((r|0)==7){while(1){if(!i)break;if((i|0)==(A|0)){e=0;break A}i=a[i+28>>2]|0;r=7}i=A+28|0;r=a[i>>2]|0;if(r|0){n=r+24|0;a[n>>2]=(a[n>>2]|0)+-1}a[A+32>>2]=0;a[i>>2]=0;if(f){a[i>>2]=e;a[A>>2]=28;n=e+24|0;a[n>>2]=(a[n>>2]|0)+1;break}else{a[A>>2]=a[a[A+16>>2]>>2];e=r;break}}}while(0);return e|0}function qk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;A:do{if(!(i&99)){if((i&516|0)==0?(r=a[(a[A+16>>2]|0)+4>>2]|0,!((i&384|0)!=0&(r&12|0)==0)):0){if(r&12|0){if(!(i&408)){r=0;break}k=(i&136|0)!=0;o=(i&272|0)!=0;s=0;f=0;r=0;u=A;while(1){if(!u)break;w=W5[a[a[u+16>>2]>>2]&63](u,e,i)|0;do{if(!w)n=s;else{l=a[u+4>>2]|0;t=a[l+4>>2]|0;c=a[l+20>>2]|0;n=w+(a[l>>2]|0)|0;if((t|0)<0)b=a[n>>2]|0;else b=n;if(r|0){do{if(!c)if((t|0)<1){n=A1(b,f)|0;break}else{n=F4(b,f,t)|0;break}else n=y5[c&127](u,b,f,l)|0}while(0);if(!(k&(n|0)<0|o&(n|0)>0)){n=s;break}}n=u;f=b;r=w}}while(0);s=n;u=a[u+28>>2]|0}a[A+32>>2]=s;break}if(!(i&24)){r=0;break}c=A+32|0;f=a[c>>2]|0;if(f){r=a[(a[f+4>>2]|0)+8>>2]|0;n=a[(a[f+8>>2]|0)+4>>2]|0;if((r|0)<0)r=a[n+8>>2]|0;else r=n+(0-r)|0;if((r|0)==(e|0))r=e;else{f=A;l=32}}else{f=A;l=32}do{if((l|0)==32){while(1){if(!f){l=33;break}r=W5[a[a[f+16>>2]>>2]&63](f,e,4)|0;if(r|0){l=36;break}f=a[f+28>>2]|0;l=32}if((l|0)==33){a[c>>2]=0;r=0;break A}else if((l|0)==36){a[c>>2]=f;break}}}while(0);t=(i<<4&128^128)+128|0;r=W5[a[a[f+16>>2]>>2]&63](f,r,i)|0;while(1){l=f+16|0;while(1){if(!r)break;else n=A;while(1){if((n|0)==(f|0))break A;if(W5[a[a[n+16>>2]>>2]&63](n,r,4)|0)break;n=a[n+28>>2]|0}r=W5[a[a[l>>2]>>2]&63](f,r,i)|0}f=a[f+28>>2]|0;a[c>>2]=f;if(!f){r=0;break A}r=W5[a[a[f+16>>2]>>2]&63](f,0,t)|0}}else f=A;while(1){if(!f){f=0;r=0;break}r=W5[a[a[f+16>>2]>>2]&63](f,e,i)|0;if(r|0)break;f=a[f+28>>2]|0}a[A+32>>2]=f}else r=W5[a[a[A+16>>2]>>2]&63](A,e,i)|0}while(0);return r|0}function $k(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=A+32|0;f=W5[a[A>>2]&63](A,0,128)|0;do{if(!f){r=0;break}l=a[n>>2]|0;r=f;f=W5[a[A>>2]&63](A,f,8)|0;r=W5[e&63]((l|0)==0?A:l,r,i)|0}while((r|0)>=0);return r|0}function Ao(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;f=A+4|0;u=a[f>>2]|0;A:do{if(u)if(e){w=a[a[A+16>>2]>>2]|0;n=A+8|0;if(a[a[n>>2]>>2]&4096|0)Sk(A,0)|0;r=a[u+32>>2]|0;if(r|0?(y5[r&127](A,3,e,u)|0)<0:0){e=0;break}a[f>>2]=e;r=a[e+28>>2]|0;a[A+12>>2]=(r|0)==0?52:r;r=a[a[n>>2]>>2]|0;if(!(r&112)){do{if(!(r&2))if(!(r&3))if(!(i&1))break;else{e=u;break A}else if((i&3|0)==3){e=u;break A}else break;else if(i&2|0){e=u;break A}}while(0);l=xk(A)|0;r=a[n>>2]|0;s=a[r>>2]|0;a[r>>2]=s&-4097;a[r+4>>2]=0;a[r+16>>2]=0;e:do{if(s&3|0){s=a[r+8>>2]|0;f=s+(a[r+12>>2]<<2)|0;r=s;while(1){if(r>>>0>=f>>>0)break e;a[r>>2]=0;r=r+4|0}}}while(0);t=(i&2|0)==0;c=e+8|0;b=e+4|0;s=e+24|0;while(1){if(!l){e=u;break A}i=a[l>>2]|0;if(t){r=a[c>>2]|0;if((r|0)<0)r=a[l+8>>2]|0;else r=l+(0-r)|0;n=a[b>>2]|0;r=r+(a[e>>2]|0)|0;if((n|0)<0)r=a[r>>2]|0;f=a[s>>2]|0;if(!f)r=io(0,r,n)|0;else r=W5[f&63](A,r,e)|0;a[l+4>>2]=r}W5[w&63](A,l,32)|0;l=i}}else e=u}else e=u;else{a[f>>2]=e;u=a[e+28>>2]|0;a[A+12>>2]=(u|0)==0?52:u}}while(0);return e|0}function eo(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(i|0)==0;do{if(!e)if(A)A=0;else A=m2(i)|0;else if(A){L2(e);A=0;break}else{A=y2(e,i)|0;break}}while(0);return A|0}function io(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;a=e;if((i|0)>=1){l=e+i+-1|0;a=(l>>>0>>0?e:l)+(1-a)&-2;f=e;while(1){if(f>>>0>=l>>>0)break;A=U(((n[f>>0]|0)<<8)+A+(n[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=e+a|0;if(f>>>0>l>>>0)e=i;else{e=i;A=U(((n[f>>0]|0)<<8)+A|0,17109811)|0}}else{while(1){f=r[e>>0]|0;if(!(f<<24>>24))break;l=r[e+1>>0]|0;i=U(((f&255)<<8)+A+(l&255)|0,17109811)|0;A=i;e=e+(l<<24>>24?2:1)|0}e=e-a|0}return U(A+e|0,17109811)|0}function ro(A){A=A|0;var e=0;e=a[46935]|0;a[46935]=A;return e|0}function fo(A){A=A|0;var e=0;e=a[46936]|0;a[46936]=A;return e|0}function ao(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=no(A,e,f)|0;k=r;return i|0}function no(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=k;k=k+16|0;r=n;f=(A|0)==3;l=f?a[46938]|0:(A|0)==2?1:A;a[46938]=l;t=a[46939]|0;a[46939]=t>>>0>l>>>0?t:l;do{if(l>>>0<(a[46936]|0)>>>0){A=a[46937]|0;if(!A){A=b6()|0;a[46937]=A;if(!A){A=1;break}}if(!f){u6(A)|0;A=a[46937]|0}o4(A,e,i)|0;A=0}else{if(a[46935]|0){lo(A,e,i);A=0;break}if(f)A=a[15712]|0;else{t=a[15712]|0;a[r>>2]=(A|0)==1?96349:96355;f3(t,96363,r)|0;A=t}o4(A,e,i)|0;A=0}}while(0);k=n;return A|0}function lo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((a[46940]|0)==0?(f=m2(a[4590]|0)|0,a[46940]=f,(f|0)==0):0)m3(96368,a[15712]|0)|0;else r=4;do{if((r|0)==4){if((A|0)!=3){Q5[a[46935]&63]((A|0)==1?96349:96355)|0;Q5[a[46935]&63](97027)|0}while(1){A=k4(a[46940]|0,a[4590]|0,e,i)|0;r=a[4590]|0;if((A|0)>-1&(A|0)<(r|0)){r=7;break}r=r<<1;f=A+1|0;f=(r|0)>(f|0)?r:f;a[4590]=f;if(!(y2(a[46940]|0,f)|0)){r=9;break}}if((r|0)==7){Q5[a[46935]&63](a[46940]|0)|0;break}else if((r|0)==9){m3(96368,a[15712]|0)|0;break}}}while(0);return}function to(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;no(1,A,r)|0;k=i;return}function co(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!i){i=(e|0)==0?1024:e;e=i;i=m2(i)|0;f=1}else f=0;a[A+12>>2]=f;a[A>>2]=i;a[A+8>>2]=i+e;a[A+4>>2]=i;r[i>>0]=0;return}function bo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=A+8|0;f=a[A>>2]|0;n=(a[l>>2]|0)-f|0;r=n<<1;n=n+e|0;r=n>>>0>r>>>0?n:r;n=A+4|0;e=f;f=(a[n>>2]|0)-f|0;i=A+12|0;if(!(a[i>>2]|0)){t=m2(r)|0;y6(t|0,e|0,f|0)|0;a[i>>2]=1;e=t}else e=y2(e,r)|0;a[A>>2]=e;a[n>>2]=e+f;a[l>>2]=e+r;return 0}function so(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=A+4|0;r=a[f>>2]|0;if((r+i|0)>>>0>(a[A+8>>2]|0)>>>0){bo(A,i)|0;r=a[f>>2]|0}y6(r|0,e|0,i|0)|0;a[f>>2]=(a[f>>2]|0)+i;return i|0}function wo(A,e){A=A|0;e=e|0;return so(A,e,S2(e)|0)|0}function uo(A){A=A|0;if(a[A+12>>2]|0)L2(a[A>>2]|0);return}function ko(A){A=A|0;var e=0,i=0;e=A+4|0;i=a[e>>2]|0;if(i>>>0>(a[A>>2]|0)>>>0){a[e>>2]=i+-1;A=n[i>>0]|0}else A=-1;return A|0}function oo(A,e,i){A=A|0;e=e|0;i=i|0;lB(a[46942]|0,a[e+8>>2]|0)|0;lB(a[46942]|0,a[e+12>>2]|0)|0;fd(a[46942]|0,e);return}function ho(A,e){A=A|0;e=e|0;var i=0;i=Ud(A,96416,0)|0;if((e|0)!=0&(i|0)==0){Bo(A);i=Ud(A,96416,0)|0}return i|0}function Bo(A){A=A|0;var e=0,i=0,r=0;r=Zd(A)|0;mv(r,r,107,0,1)|0;i=cd(r)|0;while(1){if(!i)break;go(A,i);e=Oo(r,i)|0;while(1){if(!e)break;Eo(A,e);e=_o(r,e)|0}i=bd(r,i)|0}return}function vo(A){A=A|0;var e=0;e=A+24|0;r[e>>0]=r[e>>0]|64;Qo(A);e=pB(A)|0;Io((e|0)==0?A:e,A);return}function go(A,e){A=A|0;e=e|0;var i=0;i=Co(e)|0;if(!((i|0)!=0?(a[i+8>>2]|0)!=0:0))Io(A,e);return}function Eo(A,e){A=A|0;e=e|0;var i=0;i=Co(e)|0;if(!((i|0)!=0?(a[i+8>>2]|0)!=0:0))Io(A,e);return}function Co(A){A=A|0;return Ud(A,96404,0)|0}function Io(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=Td(e,96404,16,0)|0;f=Zo(A,a[e>>2]&3)|0;r=i+8|0;A:do{if(!(a[r>>2]|0)){A=Zd(A)|0;a[r>>2]=Zo(A,a[e>>2]&3)|0;A=Go(e)|0;i=i+12|0;a[i>>2]=rd(Id(e)|0,((A|0)>4?A:4)<<2)|0;A=W5[a[f>>2]&63](f,0,128)|0;while(1){if(!A)break A;r=Id(e)|0;r=aB(r,a[A+12>>2]|0)|0;a[(a[i>>2]|0)+(a[A+16>>2]<<2)>>2]=r;A=W5[a[f>>2]&63](f,A,8)|0}}}while(0);return}function Zo(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;A=ho(A,0)|0;A:do{if(!A)A=0;else switch(e|0){case 0:{A=a[A+16>>2]|0;break A}case 1:{A=a[A+8>>2]|0;break A}case 2:case 3:{A=a[A+12>>2]|0;break A}default:{a[i>>2]=e;ao(1,96429,i)|0;A=0;break A}}}while(0);k=r;return A|0}function Go(A){A=A|0;var e=0;e=Zd(Id(A)|0)|0;A=Zo(e,a[A>>2]&3)|0;if(!A)A=0;else A=Pk(A)|0;return A|0}function Qo(A){A=A|0;var e=0,i=0,r=0,f=0;i=Td(A,96416,20,0)|0;r=i+8|0;a[r>>2]=jB(A,18364,a[4589]|0)|0;f=i+12|0;a[f>>2]=jB(A,18364,a[4589]|0)|0;i=i+16|0;a[i>>2]=jB(A,18364,a[4589]|0)|0;e=pB(A)|0;if(!e){e=a[46941]|0;if(!((e|0)==0|(e|0)==(A|0))){e=ho(e,0)|0;mo(a[e+8>>2]|0,a[r>>2]|0,A,1);mo(a[e+12>>2]|0,a[f>>2]|0,A,2);mo(a[e+16>>2]|0,a[i>>2]|0,A,0)}}else{A=ho(e,0)|0;_k(a[r>>2]|0,a[A+8>>2]|0)|0;_k(a[f>>2]|0,a[A+12>>2]|0)|0;_k(a[i>>2]|0,a[A+16>>2]|0)|0}return}function mo(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=W5[a[A>>2]&63](A,0,128)|0;while(1){if(!n)break;l=Lo(i,a[n+8>>2]|0,a[n+12>>2]|0,a[n+16>>2]|0,f)|0;r[l+22>>0]=r[n+22>>0]|0;r[l+21>>0]=r[n+21>>0]|0;W5[a[e>>2]&63](e,l,1)|0;n=W5[a[A>>2]&63](A,n,8)|0}return}function Lo(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0;l=rd(A,24)|0;r[l+20>>0]=n;a[l+8>>2]=aB(A,e)|0;a[l+12>>2]=aB(A,i)|0;a[l+16>>2]=f;return l|0}function Wo(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+32|0;r=i;a[r+8>>2]=e;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function yo(A,e){A=A|0;e=e|0;var i=0;i=_k(A,0)|0;e=Wo(A,e)|0;_k(A,i)|0;return e|0}function zo(A,e){A=A|0;e=e|0;A=Co(A)|0;if(!A)A=0;else A=Wo(a[A+8>>2]|0,e)|0;return A|0}function Yo(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;if(!A){A=a[46941]|0;if(!A){r[n>>0]=r[18400]|0;r[n+1>>0]=r[18401]|0;r[n+2>>0]=r[18402]|0;r[n+3>>0]=r[18403]|0;A=kh(0,n,0)|0;a[46941]=A}}if(!f)A=Mo(A,e,i)|0;else A=Do(A,e,i,f)|0;k=l;return A|0}function Do(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=Zd(A)|0;ho(A,1)|0;n=Zo(A,e)|0;f=yo(n,i)|0;A:do{if(!f){f=Wo(n,i)|0;if(f|0){f=Lo(A,i,r,a[f+16>>2]|0,e)|0;W5[a[n>>2]&63](n,f,1)|0;l=16;break}n=Zo(t,e)|0;f=Lo(A,i,r,Pk(n)|0,e)|0;W5[a[n>>2]&63](n,f,1)|0;switch(e|0){case 0:{mv(t,t,57,f,1)|0;l=16;break A}case 1:{i=cd(t)|0;while(1){if(!i){l=16;break A}Fo(A,i,f);i=bd(t,i)|0}}case 2:case 3:{n=cd(t)|0;while(1){if(!n){l=16;break A}i=Oo(t,n)|0;while(1){if(!i)break;Fo(A,i,f);i=_o(t,i)|0}n=bd(t,n)|0}}default:break A}}else{l=f+12|0;lB(A,a[l>>2]|0)|0;a[l>>2]=aB(A,r)|0;l=16}}while(0);if((l|0)==16)if((e|0)==0&(f|0)!=0)Vo(A,f,r)|0;md(A,A,f);return f|0}function Mo(A,e,i){A=A|0;e=e|0;i=i|0;A=Zo(A,e)|0;if(!A)A=0;else A=Wo(A,i)|0;return A|0}function Fo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;e=Co(e)|0;f=i+16|0;r=a[f>>2]|0;if((r|0)>3){n=a[A+64>>2]|0;e=e+12|0;r=r<<2;a[e>>2]=y5[a[(a[n>>2]|0)+8>>2]&127](a[n+12>>2]|0,a[e>>2]|0,r,r+4|0)|0}else e=e+12|0;n=aB(A,a[i+12>>2]|0)|0;a[(a[e>>2]|0)+(a[f>>2]<<2)>>2]=n;return}function Vo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=Id(A)|0;n=(Co(A)|0)+12|0;t=e+16|0;lB(l,a[(a[n>>2]|0)+(a[t>>2]<<2)>>2]|0)|0;f=aB(l,i)|0;a[(a[n>>2]|0)+(a[t>>2]<<2)>>2]=f;do{if(!(a[A>>2]&3)){r=a[(ho(l,0)|0)+16>>2]|0;f=e+8|0;n=yo(r,a[f>>2]|0)|0;if(!n){t=Lo(l,a[f>>2]|0,i,a[t>>2]|0,a[A>>2]&3)|0;W5[a[r>>2]&63](r,t,1)|0;break}else{t=n+12|0;lB(l,a[t>>2]|0)|0;a[t>>2]=aB(l,i)|0;break}}}while(0);md(l,A,e);return 0}function Jo(A,e,i){A=A|0;e=e|0;i=i|0;A=Zo(A,e)|0;do{if(A){e=a[A>>2]|0;if(!i){A=W5[e&63](A,0,128)|0;break}else{A=W5[e&63](A,i,8)|0;break}}else A=0}while(0);return A|0}function No(A){A=A|0;var e=0;a[46942]=A;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,a[e>>2]|0)|0}e=ho(A,0)|0;if(e)if(((PB(A,a[e+8>>2]|0)|0)==0?(PB(A,a[e+12>>2]|0)|0)==0:0)?(PB(A,a[e+16>>2]|0)|0)==0:0){Sd(A,a[e>>2]|0)|0;e=0}else e=1;else e=0;return e|0}function Xo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=Id(A)|0;r=Go(A)|0;e=e+12|0;A=0;while(1){i=a[e>>2]|0;if((A|0)>=(r|0))break;lB(f,a[i+(A<<2)>>2]|0)|0;A=A+1|0}fd(f,i);return}function Ro(A){A=A|0;var e=0;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,96404)|0}return}function Ho(A){A=A|0;var e=0;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,96404)|0}return}function po(A,e){A=A|0;e=e|0;e=zo(A,e)|0;if(!e)e=0;else{A=a[(Co(A)|0)+12>>2]|0;e=a[A+(a[e+16>>2]<<2)>>2]|0}return e|0}function Uo(A,e){A=A|0;e=e|0;A=a[(Co(A)|0)+12>>2]|0;return a[A+(a[e+16>>2]<<2)>>2]|0}function xo(A,e,i){A=A|0;e=e|0;i=i|0;e=zo(A,e)|0;if(!e)e=-1;else{Vo(A,e,i)|0;e=0}return e|0}function To(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Id(A)|0;f=Yo(f,a[A>>2]&3,e,0)|0;if(!f){f=Id(A)|0;f=Yo(f,a[A>>2]&3,e,r)|0}Vo(A,f,i)|0;return 0}function jo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=Id(A)|0;f=a[A>>2]|0;A:do{if(!((a[e>>2]^f)&3)){i=1;r=0;while(1){r=Jo(n,f&3,r)|0;if(!r)break A;i=zo(e,a[r+8>>2]|0)|0;if(!i){i=1;break A}f=Uo(A,r)|0;Vo(e,i,f)|0;if(tB(f)|0)cB(Uo(e,i)|0);i=0;f=a[A>>2]|0}}else i=1}while(0);return i|0}function So(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;A=a[e+40>>2]|0;f=a[i+40>>2]|0;if((A|0)==(f|0)){r=(a[e>>2]|0)>>>4;A=(a[i>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else n=6;else A=-1}else{r=(a[A>>2]|0)>>>4;A=(a[f>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else n=6;else A=-1}if((n|0)==6)A=0;return A|0}function Po(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;A=(a[e+40>>2]|0)+8|0;n=a[A>>2]|0;A=a[A+4>>2]|0;f=(a[i+40>>2]|0)+8|0;r=a[f>>2]|0;f=a[f+4>>2]|0;do{if(!(A>>>0>>0|(A|0)==(f|0)&n>>>0>>0))if(A>>>0>f>>>0|(A|0)==(f|0)&n>>>0>r>>>0)A=1;else{r=e+8|0;A=a[r>>2]|0;r=a[r+4>>2]|0;if(!((A|0)==0&(r|0)==0)?(t=i+8|0,l=a[t>>2]|0,t=a[t+4>>2]|0,!((l|0)==0&(t|0)==0)):0){if(r>>>0>>0|(r|0)==(t|0)&A>>>0>>0){A=-1;break}if(r>>>0>t>>>0|(r|0)==(t|0)&A>>>0>l>>>0){A=1;break}}A=0}else A=-1}while(0);return A|0}function Oo(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+32|0;Sk(a[i>>2]|0,a[A>>2]|0)|0;e=a[i>>2]|0;e=W5[a[e>>2]&63](e,0,128)|0;a[A>>2]=Uk(a[i>>2]|0)|0}return e|0}function Ko(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+48|0;i=r;if((a[e+24>>2]|0)==(A|0))A=e+28|0;else{a[i+16>>2]=e;A=a[A+40>>2]|0;A=W5[a[A>>2]&63](A,i,4)|0}k=r;return A|0}function _o(A,e){A=A|0;e=e|0;var i=0,r=0;i=Ko(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+32|0;Sk(a[r>>2]|0,a[i>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,e,8)|0;a[i>>2]=Uk(a[r>>2]|0)|0}return A|0}function qo(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+28|0;Sk(a[i>>2]|0,a[A>>2]|0)|0;e=a[i>>2]|0;e=W5[a[e>>2]&63](e,0,128)|0;a[A>>2]=Uk(a[i>>2]|0)|0}return e|0}function $o(A,e){A=A|0;e=e|0;var i=0,r=0;i=Ko(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+28|0;Sk(a[r>>2]|0,a[i>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,e,8)|0;a[i>>2]=Uk(a[r>>2]|0)|0}return A|0}function Ah(A,e){A=A|0;e=e|0;var i=0;i=Oo(A,e)|0;if(!i)i=qo(A,e)|0;return i|0}function eh(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((a[e>>2]&3|0)==2){e=_o(A,e)|0;if(!e){e=0;do{if(!e)e=qo(A,i)|0;else e=$o(A,e)|0;if(!e){e=0;break A}}while((a[e+40>>2]|0)==(i|0))}}else do{e=$o(A,e)|0;if(!e){e=0;break A}}while((a[e+40>>2]|0)==(i|0))}while(0);return e|0}function ih(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,l=0;l=k;k=k+32|0;r=l+16|0;f=l;if((Gh(A)|0)!=0?(a[f>>2]=0,a[f+4>>2]=0,a[f+8>>2]=0,a[f+12>>2]=0,a[r>>2]=a[f>>2],a[r+4>>2]=a[f+4>>2],a[r+8>>2]=a[f+8>>2],a[r+12>>2]=a[f+12>>2],(nh(A,e,i,r)|0)!=0):0)r=0;else r=((n[A+24>>0]|0)>>>2&1^1)&255|(e|0)!=(i|0);k=l;return r|0}function rh(A,e){A=A|0;e=e|0;ah(A,e);return}function fh(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;kd(A,e,1)|0;kd(A,i,1)|0;l=rd(A,96)|0;t=l+48|0;s=dh(A,2)|0;c=a[t>>2]|0;b=a[l>>2]|0;w=l+8|0;a[w>>2]=f;a[w+4>>2]=n;w=l+56|0;a[w>>2]=f;a[w+4>>2]=n;n=s<<4;a[l>>2]=b&12|n|2;a[t>>2]=c&12|n|3;a[l+88>>2]=e;a[l+40>>2]=i;ah(A,l);if(r[A+24>>0]&64){Td(l,96404,16,0)|0;Eo(A,l)}Gd(A,l);return l|0}function ah(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;t=k;k=k+16|0;i=t;l=a[e>>2]&3;n=(l|0)==2?e:e+-48|0;l=(l|0)==3?e:e+48|0;r=a[l+40>>2]|0;f=a[n+40>>2]|0;while(1){if(!A)break;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];if(nh(A,r,f,i)|0)break;c=Ko(A,r)|0;s=A+44|0;lh(a[s>>2]|0,c+32|0,n);b=A+48|0;lh(a[b>>2]|0,c+24|0,n);c=Ko(A,f)|0;lh(a[s>>2]|0,c+28|0,l);lh(a[b>>2]|0,c+20|0,l);A=pB(A)|0}k=t;return}function nh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=k;k=k+48|0;f=l;if(!((e|0)==0|(i|0)==0)?(a[f>>2]=a[r>>2],a[f+4>>2]=a[r+4>>2],a[f+8>>2]=a[r+8>>2],a[f+12>>2]=a[r+12>>2],a[f+40>>2]=e,n=Ko(A,i)|0,(n|0)!=0):0){r=A+48|0;n=n+20|0;Sk(a[r>>2]|0,a[n>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,f,4)|0;a[n>>2]=Uk(a[r>>2]|0)|0}else A=0;k=l;return A|0}function lh(A,e,i){A=A|0;e=e|0;i=i|0;Sk(A,a[e>>2]|0)|0;W5[a[A>>2]&63](A,i,1)|0;a[e>>2]=Uk(A)|0;return}function th(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+48|0;t=w+24|0;b=w+16|0;c=w;do{if(!(Dh(A,2,r,b,0)|0))if(!r){if(f|0?(Gh(A)|0)==0:0){s=18;break}a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0;s=7}else s=17;else{u=c;a[u>>2]=0;a[u+4>>2]=0;u=b;n=a[u+4>>2]|0;s=c+8|0;a[s>>2]=a[u>>2];a[s+4>>2]=n;a[c>>2]=2;s=7}}while(0);A:do{if((s|0)==7){a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(A,e,i,t)|0;e:do{if(!n){if(Zh(A)|0?(a[t>>2]=a[c>>2],a[t+4>>2]=a[c+4>>2],a[t+8>>2]=a[c+8>>2],a[t+12>>2]=a[c+12>>2],l=nh(A,i,e,t)|0,l|0):0){n=l;break}do{if(f|0){n=Zd(A)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(n,e,i,t)|0;if(!n){if(!(Zh(A)|0))break;n=Zd(A)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(n,i,e,t)|0;if(!n)break}rh(A,n);break e}}while(0);s=17;break A}}while(0)}}while(0);if((s|0)==17)if(!f)n=0;else s=18;if((s|0)==18)if((ih(A,e,i)|0)!=0?(Dh(A,2,r,b,1)|0)!=0:0){n=b;n=fh(A,e,i,a[n>>2]|0,a[n+4>>2]|0)|0;Jh(A,2,n)}else n=0;k=w;return n|0}function ch(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;i=(a[e>>2]&3|0)==3;n=i?e+-48|0:e;i=i?e:e+48|0;e=a[n+40>>2]|0;l=Ko(A,a[i+40>>2]|0)|0;f=A+44|0;bh(a[f>>2]|0,l+32|0,n);r=A+48|0;bh(a[r>>2]|0,l+24|0,n);e=Ko(A,e)|0;bh(a[f>>2]|0,e+28|0,i);bh(a[r>>2]|0,e+20|0,i);return}function bh(A,e,i){A=A|0;e=e|0;i=i|0;Sk(A,a[e>>2]|0)|0;W5[a[A>>2]&63](A,i,2)|0;a[e>>2]=Uk(A)|0;return}function sh(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;i=k;k=k+16|0;f=i;e=(a[e>>2]&3|0)==2?e:e+-48|0;n=a[e>>2]&3;l=a[((n|0)==3?e:e+48|0)+40>>2]|0;n=a[((n|0)==2?e:e+-48|0)+40>>2]|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];if(nh(A,l,n,f)|0){if((Zd(A)|0)==(A|0)){if(r[A+24>>0]&64)Ho(e);Wd(A,e);$d(e);l=e+8|0;Fh(A,2,a[l>>2]|0,a[l+4>>2]|0)}if(!(mv(A,e,58,0,0)|0))if((Zd(A)|0)==(A|0)){fd(A,e);e=0}else e=0;else e=-1}else e=-1;k=i;return e|0}function wh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;f=kd(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,i)|0;n=kd(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,i)|0;do{if((f|0)!=0&(n|0)!=0){a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];r=nh(A,f,n,r)|0;f=(r|0)==0;if(!((i|0)!=0&f)){if(f)break}else{ah(A,e);r=e}i=a[r>>2]&3;k=l;return((i|0)==(a[e>>2]&3|0)?r:r+(((i|0)==3?-1:1)*48|0)|0)|0}}while(0);k=l;return 0}function uh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=e+8|0;r=i+8|0;r=B6(a[e>>2]|0,a[e+4>>2]|0,a[r>>2]|0,a[r+4>>2]|0)|0;return((r|0)==0?0:r>>31|1)|0}function kh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+16|0;n=l;c=oh(i)|0;f=m5[a[(a[c>>2]|0)+4>>2]&127](a[c+12>>2]|0,72)|0;a[f>>2]=a[f>>2]&-4;t=f+64|0;a[t>>2]=c;b=f+24|0;e=a[e>>2]|0;a[b>>2]=e;r[b>>0]=e&255|8;a[f+60>>2]=f;i=m5[a[a[c+4>>2]>>2]&127](f,i)|0;a[(a[t>>2]|0)+16>>2]=i;if(Dh(f,0,A,n,1)|0){t=n;c=a[t+4>>2]|0;b=f+8|0;a[b>>2]=a[t>>2];a[b+4>>2]=c}b=hh(f)|0;Jh(b,0,f);k=l;return b|0}function oh(A){A=A|0;var e=0,i=0,f=0,n=0;e=(A|0)!=0;if(e){i=a[A>>2]|0;i=(i|0)==0?18736:i}else i=18736;n=Q5[a[i>>2]&63](A)|0;f=m5[a[i+4>>2]&127](n,80)|0;a[f>>2]=i;a[f+12>>2]=n;if(e){n=a[A+4>>2]|0;a[f+4>>2]=(n|0)==0?18612:n;A=a[A+8>>2]|0;A=(A|0)==0?18712:A}else{a[f+4>>2]=18612;A=18712}a[f+8>>2]=A;r[f+52>>0]=1;return f|0}function hh(A){A=A|0;var e=0,i=0;a[A+36>>2]=jB(A,18792,a[4589]|0)|0;a[A+40>>2]=jB(A,18756,a[4589]|0)|0;e=(Zd(A)|0)==(A|0);a[A+44>>2]=jB(A,e?18404:18440,a[4589]|0)|0;e=(Zd(A)|0)==(A|0);a[A+48>>2]=jB(A,e?18476:18512,a[4589]|0)|0;a[A+52>>2]=jB(A,18548,a[4589]|0)|0;e=pB(A)|0;if(!((e|0)!=0?(i=dh(e,0)|0,a[A>>2]=a[A>>2]&15|i<<4,i=a[e+52>>2]|0,W5[a[i>>2]&63](i,A,1)|0,!(r[e+24>>0]&64)):0))vo(A);Gd(A,A);return A|0}function dh(A,e){A=A|0;e=e|0;var i=0;i=(a[A+64>>2]|0)+24+(e<<3)|0;e=i;e=d6(a[e>>2]|0,a[e+4>>2]|0,1,0)|0;A=L;a[i>>2]=e;a[i+4>>2]=A;L=A;return e|0}function Bh(A){A=A|0;var e=0,i=0,f=0,n=0;f=pB(A)|0;n=(f|0)==0;if(n?(e=A+64|0,(a[(a[a[e>>2]>>2]|0)+16>>2]|0)!=0):0){Wd(A,A);n=A+8|0;Fh(A,0,a[n>>2]|0,a[n+4>>2]|0);e=a[e>>2]|0;F5[a[(a[e>>2]|0)+16>>2]&127](a[e+12>>2]|0);e=0}else i=4;do{if((i|0)==4){e=RB(A)|0;while(1){if(!e)break;i=HB(e)|0;Bh(e)|0;e=i}e=cd(A)|0;while(1){if(!e)break;i=bd(A,e)|0;Ed(A,e)|0;e=i}jh(A);Wd(A,A);if(((((PB(A,a[A+40>>2]|0)|0)==0?(PB(A,a[A+36>>2]|0)|0)==0:0)?(PB(A,a[A+48>>2]|0)|0)==0:0)?(PB(A,a[A+44>>2]|0)|0)==0:0)?(PB(A,a[A+52>>2]|0)|0)==0:0){if(r[A+24>>0]&64?No(A)|0:0){e=-1;break}$d(A);i=A+8|0;Fh(A,0,a[i>>2]|0,a[i+4>>2]|0);if(!n){UB(f,A)|0;fd(f,A);e=0;break}e=A+64|0;while(1){i=a[e>>2]|0;f=a[i+48>>2]|0;if(!f)break;Yd(A,a[f>>2]|0)|0}F5[a[(a[i+4>>2]|0)+20>>2]&127](a[i+16>>2]|0);if(!(AB(A)|0)){e=a[e>>2]|0;n=a[e+12>>2]|0;f=(a[e>>2]|0)+12|0;V5[a[f>>2]&63](n,A);V5[a[f>>2]&63](n,e);e=0}else e=-1}else e=-1}}while(0);return e|0}function vh(A){A=A|0;return Pk(a[A+40>>2]|0)|0}function gh(A){A=A|0;var e=0,i=0,r=0;e=0;i=cd(A)|0;while(1){if(!i)break;r=(Eh(A,i,0,1)|0)+e|0;e=r;i=bd(A,i)|0}return e|0}function Eh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Ko(A,e)|0;if(f){if(!r)e=0;else e=Ch(a[A+44>>2]|0,f+32|0)|0;if(i)e=(Ch(a[A+44>>2]|0,f+28|0)|0)+e|0}else e=0;return e|0}function Ch(A,e){A=A|0;e=e|0;var i=0;Sk(A,a[e>>2]|0)|0;i=Pk(A)|0;a[e>>2]=Uk(A)|0;return i|0}function Ih(A){A=A|0;return r[A+24>>0]&1|0}function Zh(A){A=A|0;return(Ih(A)|0)==0|0}function Gh(A){A=A|0;return(n[A+24>>0]|0)>>>1&1|0}function Qh(A,e){A=A|0;e=e|0;return A|0}function mh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;if(!i){f=1392;i=a[f>>2]|0;f=a[f+4>>2]|0;a[r>>2]=i;a[r+4>>2]=f;f=d6(i|0,f|0,2,0)|0;r=1392;a[r>>2]=f;a[r+4>>2]=L}else{if(!f)A=iB(A,i)|0;else A=aB(A,i)|0;a[r>>2]=A;a[r+4>>2]=0}return 1}function Lh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return 0}function Wh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((i&1|0)==0&0==0)lB(A,i)|0;return}function yh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return((i&1|0)==0&0==0?i:0)|0}function zh(A){A=A|0;return}function Yh(A,e,i){A=A|0;e=e|0;i=i|0;return}function Dh(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;t=(i|0)!=0;do{if(t){if((r[i>>0]|0)!=37?(l=a[A+64>>2]|0,l=z5[a[(a[l+4>>2]|0)+4>>2]&127](a[l+16>>2]|0,e,i,f,n)|0,l|0):0)break;l=Nh(A,e,i,f)|0;if(!l)c=5}else c=5}while(0);if((c|0)==5)if(n){l=a[A+64>>2]|0;l=z5[a[(a[l+4>>2]|0)+4>>2]&127](a[l+16>>2]|0,e,0,f,n)|0;if(t&(l|0)!=0){c=f;Xh(A,e,i,a[c>>2]|0,a[c+4>>2]|0)}}else l=0;return l|0}function Mh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[A+64>>2]|0;return y5[a[(a[A+4>>2]|0)+8>>2]&127](a[A+16>>2]|0,e,i,r)|0}function Fh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;xh(A,e,i,r)|0;A=a[A+64>>2]|0;X5[a[(a[A+4>>2]|0)+12>>2]&31](a[A+16>>2]|0,e,i,r);return}function Vh(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;i=Id(A)|0;f=A+8|0;e=f;e=ph(i,a[A>>2]&3,a[e>>2]|0,a[e+4>>2]|0)|0;do{if(!e){e=a[i+64>>2]|0;i=a[(a[e+4>>2]|0)+16>>2]|0;if(i|0?(r=f,r=y5[i&127](a[e+16>>2]|0,a[A>>2]&3,a[r>>2]|0,a[r+4>>2]|0)|0,r|0):0){e=r;break}if((a[A>>2]&3|0)==2)e=0;else{r=a[f>>2]|0;f=a[f+4>>2]|0;a[n>>2]=37;e=n+8|0;a[e>>2]=r;a[e+4>>2]=f;P4(194773,96456,n)|0;e=194773}}}while(0);k=l;return e|0}function Jh(A,e,i){A=A|0;e=e|0;i=i|0;A=a[A+64>>2]|0;J5[a[(a[A+4>>2]|0)+24>>2]&127](a[A+16>>2]|0,e,i);return}function Nh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;e=a[(a[A+64>>2]|0)+56+(((e|0)==3?2:e)<<2)>>2]|0;if(((e|0)!=0?(f=iB(A,i)|0,(f|0)!=0):0)?(a[l+24>>2]=f,n=W5[a[e>>2]&63](e,l,4)|0,(n|0)!=0):0){i=n+16|0;l=a[i+4>>2]|0;e=r;a[e>>2]=a[i>>2];a[e+4>>2]=l;e=1}else e=0;k=t;return e|0}function Xh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;l=rd(A,32)|0;n=l+16|0;a[n>>2]=r;a[n+4>>2]=f;a[l+24>>2]=aB(A,i)|0;r=(e|0)==3?2:e;n=A+64|0;i=a[n>>2]|0;e=a[i+56+(r<<2)>>2]|0;if(!e){f=jB(A,18640,a[4589]|0)|0;a[(a[n>>2]|0)+56+(r<<2)>>2]=f;e=a[n>>2]|0}else{f=e;e=i}e=a[e+68+(r<<2)>>2]|0;if(!e){e=jB(A,18676,a[4589]|0)|0;a[(a[n>>2]|0)+68+(r<<2)>>2]=e}W5[a[f>>2]&63](f,l,1)|0;W5[a[e>>2]&63](e,l,1)|0;return}function Rh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=e+16|0;e=a[A>>2]|0;A=a[A+4>>2]|0;i=i+16|0;r=a[i>>2]|0;i=a[i+4>>2]|0;return(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0?1:(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0)<<31>>31)|0}function Hh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e+24>>2]|0;r=a[i+24>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function ph(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=Uh(A,e,i,r)|0;if(!A)A=0;else A=a[A+24>>2]|0;return A|0}function Uh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+32|0;f=n;A=a[(a[A+64>>2]|0)+68+(((e|0)==3?2:e)<<2)>>2]|0;if(!A)A=0;else{e=f+16|0;a[e>>2]=i;a[e+4>>2]=r;A=W5[a[A>>2]&63](A,f,4)|0}k=n;return A|0}function xh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=(e|0)==3?2:e;e=Uh(A,f,i,r)|0;if(!e)e=0;else{r=A+64|0;i=a[(a[r>>2]|0)+56+(f<<2)>>2]|0;W5[a[i>>2]&63](i,e,2)|0;r=a[(a[r>>2]|0)+68+(f<<2)>>2]|0;W5[a[r>>2]&63](r,e,2)|0;lB(A,a[e+24>>2]|0)|0;fd(A,e);e=1}return e|0}function Th(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;a[46942]=A;n=a[A+64>>2]|0;f=0;while(1){if((f|0)==3)break;l=n+56+(f<<2)|0;e=a[l>>2]|0;A:do{if(e|0){e=W5[a[e>>2]&63](e,0,128)|0;while(1){if(!e)break A;i=a[l>>2]|0;i=W5[a[i>>2]&63](i,e,8)|0;if((r[a[e+24>>2]>>0]|0)!=37){e=i;continue}t=e+16|0;xh(A,f,a[t>>2]|0,a[t+4>>2]|0)|0;e=i}}}while(0);f=f+1|0}return}function jh(A){A=A|0;a[46942]=A;A=A+64|0;Sh((a[A>>2]|0)+56|0);Sh((a[A>>2]|0)+68|0);return}function Sh(A){A=A|0;var e=0,i=0,r=0;e=0;while(1){if((e|0)==3)break;i=A+(e<<2)|0;r=a[i>>2]|0;if(r|0){pk(r)|0;a[i>>2]=0}e=e+1|0}return}function Ph(A,e,i){A=A|0;e=e|0;i=i|0;if(!(N4(e,i,A)|0))A=0;else A=S2(e)|0;return A|0}function Oh(A,e){A=A|0;e=e|0;return m3(e,A)|0}function Kh(A){A=A|0;return g3(A)|0}function _h(A){A=A|0;var e=0,i=0,r=0;e=k;k=k+32|0;r=e+12|0;i=e;a[4682]=a[4679];a[4683]=a[4680];a[r>>2]=A;a[r+4>>2]=S2(A)|0;a[r+8>>2]=0;a[i>>2]=18736;a[i+4>>2]=18612;a[i+8>>2]=18724;A=cg(r,i)|0;bB(0);k=e;return A|0}function qh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;if((i|0)!=0?(l=A+8|0,f=a[l>>2]|0,(f|0)<(a[A+4>>2]|0)):0){t=(a[A>>2]|0)+f|0;A=0;n=r[t>>0]|0;f=e;e=t;while(1){e=e+1|0;r[f>>0]=n;A=A+1|0;if(!(n<<24>>24!=10&(A|0)<(i|0)))break;n=r[e>>0]|0;if(!(n<<24>>24))break;else f=f+1|0}a[l>>2]=(a[l>>2]|0)+A}else A=0;return A|0}function $h(A){A=A|0;return 0}function Ad(A,e){A=A|0;e=e|0;A=m2(e)|0;Y6(A|0,0,e|0)|0;return A|0}function ed(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=y2(e,r)|0;if(r>>>0>i>>>0)Y6(A+i|0,0,r-i|0)|0;return A|0}function id(A,e){A=A|0;e=e|0;L2(e);return}function rd(A,e){A=A|0;e=e|0;var i=0;i=k;k=k+16|0;A=a[A+64>>2]|0;A=m5[a[(a[A>>2]|0)+4>>2]&127](a[A+12>>2]|0,e)|0;if(!A)ao(1,96462,i)|0;k=i;return A|0}function fd(A,e){A=A|0;e=e|0;if(e|0){A=a[A+64>>2]|0;V5[a[(a[A>>2]|0)+12>>2]&63](a[A+12>>2]|0,e)}return}function ad(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(a[e+16>>2]|0)+8|0;e=a[A>>2]|0;A=a[A+4>>2]|0;i=(a[i+16>>2]|0)+8|0;r=a[i>>2]|0;i=a[i+4>>2]|0;return(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0?-1:(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0)&1)|0}function nd(A,e,i){A=A|0;e=e|0;i=i|0;A=a[e+16>>2]|0;if((A+28|0)!=(e|0))fd(a[A+24>>2]|0,e);return}function ld(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=(a[a[e+16>>2]>>2]|0)>>>4;r=(a[a[i+16>>2]>>2]|0)>>>4;return(e>>>0>>0?-1:e>>>0>r>>>0&1)|0}function td(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=186256;a[r>>2]=e;a[r+4>>2]=i;a[46947]=186248;A=a[A+40>>2]|0;A=W5[a[A>>2]&63](A,187772,4)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function cd(A){A=A|0;A=a[A+36>>2]|0;A=W5[a[A>>2]&63](A,0,128)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function bd(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if((e|0)!=0?(i=a[A+36>>2]|0,i=W5[a[i>>2]&63](i,e,8)|0,(i|0)!=0):0)e=a[i+16>>2]|0;else e=0;return e|0}function sd(A){A=A|0;A=a[A+36>>2]|0;A=W5[a[A>>2]&63](A,0,256)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function wd(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if((e|0)!=0?(i=a[A+36>>2]|0,i=W5[a[i>>2]&63](i,e,16)|0,(i|0)!=0):0)e=a[i+16>>2]|0;else e=0;return e|0}function ud(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=td(A,e,i)|0;do{if((r|0)!=0&(f|0)==0){f=Zd(A)|0;if((f|0)!=(A|0)?(a=td(f,e,i)|0,a|0):0){kd(A,a,1)|0;f=a;break}if(!(Mh(A,1,e,i)|0))f=0;else{f=dh(A,1)|0;f=od(A,e,i,f,L)|0;hd(A,f);dd(A,f)}}}while(0);return f|0}function kd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Zd(A)|0;if((r|0)==(a[e+24>>2]|0)){r=e+8|0;r=td(A,a[r>>2]|0,a[r+4>>2]|0)|0;if((i|0)!=0&(r|0)==0){r=pB(A)|0;if(!r)r=0;else{i=kd(r,e,i)|0;Bd(A,i);return i|0}}}else r=0;return r|0}function od(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;n=rd(A,64)|0;l=a[n>>2]|0;t=n+8|0;a[t>>2]=e;a[t+4>>2]=i;a[n>>2]=l&12|f<<4|1;a[n+24>>2]=Zd(A)|0;if(r[(Zd(A)|0)+24>>0]&64)Td(n,96404,16,0)|0;return n|0}function hd(A,e){A=A|0;e=e|0;do{Bd(A,e);A=pB(A)|0}while((A|0)!=0);return}function dd(A,e){A=A|0;e=e|0;if(r[(Zd(A)|0)+24>>0]&64)go(A,e);Gd(A,e);return}function Bd(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+40|0;Pk(a[r>>2]|0)|0;if((Zd(A)|0)==(A|0))i=e+28|0;else i=rd(A,36)|0;a[i+16>>2]=e;r=a[r>>2]|0;W5[a[r>>2]&63](r,i,1)|0;r=a[A+36>>2]|0;W5[a[r>>2]&63](r,i,1)|0;return}function vd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;l=Zd(A)|0;if(Dh(A,1,e,n,0)|0){r=n;r=td(A,a[r>>2]|0,a[r+4>>2]|0)|0;if(!r)if(!((i|0)==0|(l|0)==(A|0))?(f=n,f=td(l,a[f>>2]|0,a[f+4>>2]|0)|0,(f|0)!=0):0)r=kd(A,f,1)|0;else t=6}else t=6;if((t|0)==6)if((i|0)!=0?(Dh(A,1,e,n,1)|0)!=0:0){t=n;l=a[t>>2]|0;t=a[t+4>>2]|0;r=dh(A,1)|0;r=od(A,l,t,r,L)|0;hd(A,r);dd(A,r);Jh(A,1,r)}else r=0;k=c;return r|0}function gd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;a[46956]=e;i=Ah(A,e)|0;while(1){if(!i)break;r=eh(A,i,e)|0;ch(A,i,0);i=r}r=a[A+40>>2]|0;W5[a[r>>2]&63](r,187808,2)|0;r=a[A+36>>2]|0;W5[a[r>>2]&63](r,187808,2)|0;return}function Ed(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=e+8|0;i=f;if(td(A,a[i>>2]|0,a[i+4>>2]|0)|0){if((Zd(A)|0)==(A|0)){i=Ah(A,e)|0;while(1){if(!i)break;n=eh(A,i,e)|0;sh(A,i)|0;i=n}if(r[A+24>>0]&64)Ro(e);Wd(A,e);$d(e);n=f;Fh(A,1,a[n>>2]|0,a[n+4>>2]|0)}if(!(mv(A,e,59,0,0)|0))if((Zd(A)|0)==(A|0)){fd(A,e);i=0}else i=0;else i=-1}else i=-1;return i|0}function Cd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;i=a[e>>2]|0;do{if(!(i&3))if((pB(e)|0)==(A|0)){i=a[e>>2]|0;n=5;break}else{ao(1,96488,r)|0;f=-1;break}else n=5}while(0);A:do{if((n|0)==5)switch(i&3){case 1:{f=Ed(A,e)|0;break A}case 2:case 3:{f=sh(A,e)|0;break A}case 0:{f=Bh(e)|0;break A}default:{}}}while(0);k=l;return f|0}function Id(A){A=A|0;var e=0;switch(a[A>>2]&3){case 2:case 3:{e=a[(a[A+40>>2]|0)+24>>2]|0;break}case 1:{e=a[A+24>>2]|0;break}case 0:{e=A;break}default:{}}return e|0}function Zd(A){A=A|0;var e=0;switch(a[A>>2]&3){case 2:case 3:{e=(a[A+40>>2]|0)+24|0;break}case 1:{e=A+24|0;break}case 0:{e=A+60|0;break}default:{}}return a[e>>2]|0}function Gd(A,e){A=A|0;e=e|0;var i=0;i=a[A+64>>2]|0;if(!(r[i+52>>0]|0))Fd(A,e,100,0);else Qd(A,e,a[i+48>>2]|0);return}function Qd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){Qd(A,e,a[i+8>>2]|0);switch(a[e>>2]&3){case 0:{r=a[i>>2]|0;break}case 1:{r=(a[i>>2]|0)+12|0;break}case 2:{r=(a[i>>2]|0)+24|0;break}default:break A}r=a[r>>2]|0;if(r|0)J5[r&127](A,e,a[i+4>>2]|0)}}while(0);return}function md(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=a[A+64>>2]|0;if(!(r[f+52>>0]|0))Fd(A,e,101,i);else Ld(A,e,i,a[f+48>>2]|0);return}function Ld(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{if(r|0){Ld(A,e,i,a[r+8>>2]|0);switch(a[e>>2]&3){case 0:{f=(a[r>>2]|0)+4|0;break}case 1:{f=(a[r>>2]|0)+16|0;break}case 2:{f=(a[r>>2]|0)+28|0;break}default:break A}f=a[f>>2]|0;if(f|0)X5[f&31](A,e,a[r+4>>2]|0,i)}}while(0);return}function Wd(A,e){A=A|0;e=e|0;var i=0;i=a[A+64>>2]|0;if(!(r[i+52>>0]|0))Fd(A,e,102,0);else yd(A,e,a[i+48>>2]|0);return}function yd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){yd(A,e,a[i+8>>2]|0);switch(a[e>>2]&3){case 0:{r=(a[i>>2]|0)+8|0;break}case 1:{r=(a[i>>2]|0)+20|0;break}case 2:{r=(a[i>>2]|0)+32|0;break}default:break A}r=a[r>>2]|0;if(r|0)J5[r&127](A,e,a[i+4>>2]|0)}}while(0);return}function zd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=rd(A,12)|0;a[r>>2]=e;a[r+4>>2]=i;i=(a[A+64>>2]|0)+48|0;a[r+8>>2]=a[i>>2];a[i>>2]=r;return}function Yd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=(a[A+64>>2]|0)+48|0;i=a[r>>2]|0;A:do{if(!i)i=-1;else{if((a[i>>2]|0)!=(e|0)){while(1){if(!i){i=-1;break A}r=i+8|0;f=a[r>>2]|0;if((a[f>>2]|0)==(e|0))break;else i=f}if(f)a[r>>2]=a[f+8>>2]}else a[r>>2]=a[i+8>>2];fd(A,i);i=0}}while(0);return i|0}function Dd(A,e){A=A|0;e=e|0;var i=0;i=Zd(A)|0;A:do{if((i|0)==(Zd(e)|0))switch(a[e>>2]&3){case 0:{while(1){if((e|0)==(A|0)){e=1;break A}e=pB(e)|0;if(!e){e=0;break}}break}case 1:{e=e+8|0;e=(ud(A,a[e>>2]|0,a[e+4>>2]|0,0)|0)!=0;break A}default:{e=(wh(A,e,0)|0)!=0;break A}}else e=0}while(0);return e&1|0}function Md(A){A=A|0;return a[A>>2]&3|0}function Fd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,l=0;l=k;k=k+16|0;n=l;a=Td(A,96512,44,0)|0;switch(i|0){case 100:{f=Vd(a,e,100)|0;if(!(Jd(f,e)|0))Nd(f,A,e,r)|0;break}case 101:{if(((Jd(Vd(a,e,100)|0,e)|0)==0?(Jd(Vd(a,e,102)|0,e)|0)==0:0)?(f=Vd(a,e,101)|0,(Jd(f,e)|0)==0):0)Nd(f,A,e,r)|0;break}case 102:{Xd(Vd(a,e,100)|0,e);Xd(Vd(a,e,101)|0,e);f=Vd(a,e,102)|0;if(!(Jd(f,e)|0))Nd(f,A,e,r)|0;break}default:ao(1,96524,n)|0}k=l;return}function Vd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;r=n;A:do{switch(a[e>>2]&3){case 0:switch(i|0){case 100:{i=A+8|0;break A}case 101:{i=A+20|0;break A}case 102:{i=A+32|0;break A}default:{f=14;break A}}case 1:switch(i|0){case 100:{i=A+12|0;break A}case 101:{i=A+24|0;break A}case 102:{i=A+36|0;break A}default:{f=14;break A}}case 2:switch(i|0){case 100:{i=A+16|0;break A}case 101:{i=A+28|0;break A}case 102:{i=A+40|0;break A}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14){ao(1,96558,r)|0;i=0}A=a[i>>2]|0;if(!A){A=Id(e)|0;A=jB(A,18828,a[4589]|0)|0;a[i>>2]=A}k=n;return A|0}function Jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+32|0;r=i;f=Rd(e)|0;e=r+8|0;a[e>>2]=f;a[e+4>>2]=L;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function Nd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=rd(Id(i)|0,32)|0;a[f+20>>2]=i;n=Rd(i)|0;i=f+8|0;a[i>>2]=n;a[i+4>>2]=L;a[f+16>>2]=e;if(r|0){n=rd(e,8)|0;a[f+24>>2]=n;a[n>>2]=r}W5[a[A>>2]&63](A,f,1)|0;return f|0}function Xd(A,e){A=A|0;e=e|0;e=Jd(A,e)|0;if(e|0)W5[a[A>>2]&63](A,e,2)|0;return}function Rd(A){A=A|0;A=A+8|0;L=a[A+4>>2]|0;return a[A>>2]|0}function Hd(A,e,i){A=A|0;e=e|0;i=i|0;pd(e);fd(a[e+16>>2]|0,e);return}function pd(A){A=A|0;var e=0,i=0;e=A+16|0;A=a[A+24>>2]|0;while(1){if(!A)break;i=a[A+4>>2]|0;fd(a[e>>2]|0,A);A=i}return}function Ud(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;t=b;l=a[A+16>>2]|0;f=l;while(1){if(!f){f=0;break}n=a[f>>2]|0;if((n|0)==(e|0)){c=7;break}if((r[e>>0]|0)==(r[n>>0]|0)?(A1(e,n)|0)==0:0){c=7;break}f=a[f+4>>2]|0;if((f|0)==(l|0)){f=0;break}}do{if((c|0)==7){if(!(a[A>>2]&4)){if((f|0)==(l|0)&(i|0)==0){f=l;break}xd(A,f,i);break}if(i)if((l|0)==(f|0))f=l;else ao(1,96583,t)|0}}while(0);k=b;return f|0}function xd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;a[A+16>>2]=e;r=a[A>>2]|0;i=i<<2&4;a[A>>2]=r&-5|i;if(r&2|0){r=(r&3|0)==3?-1:1;a[A+(r*48|0)+16>>2]=e;r=A+(r*48|0)|0;a[r>>2]=a[r>>2]&-5|i}return}function Td(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=Id(A)|0;f=Ud(A,e,0)|0;A:do{if((i|0)!=0&(f|0)==0){i=rd(l,i)|0;a[i>>2]=aB(l,e)|0;switch(a[A>>2]&3){case 0:{jd(A,i);n=i;break A}case 1:{jd(A,i);n=i;break A}case 2:case 3:{jd(A,i);n=i;break A}default:{}}}else n=f}while(0);if(r|0)Ud(A,e,1)|0;return n|0}function jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[A+16>>2]|0;do{if(i){r=i+4|0;f=a[r>>2]|0;if((f|0)==(i|0)){a[r>>2]=e;r=i;i=e;break}else{a[e+4>>2]=f;r=e;break}}else{r=e;i=e}}while(0);a[i+4>>2]=r;if(!(a[A>>2]&4))xd(A,e,0);return}function Sd(A,e){A=A|0;e=e|0;var i=0,r=0;r=Id(A)|0;i=Ud(A,e,0)|0;if(!i)e=-1;else{Pd(A,i);if(!(a[A>>2]&3)){Od(r,A,i);e=i}else{mv(Zd(r)|0,A,60,i,0)|0;e=i}lB(r,a[i>>2]|0)|0;fd(r,e);e=0}return e|0}function Pd(A,e){A=A|0;e=e|0;var i=0;A=a[A+16>>2]|0;do{i=A+4|0;A=a[i>>2]|0}while((A|0)!=(e|0));a[i>>2]=a[e+4>>2];return}function Od(A,e,i){A=A|0;e=e|0;i=i|0;if((a[e+16>>2]|0)==(i|0)){A=a[i+4>>2]|0;xd(e,(A|0)==(i|0)?0:A,0)}return}function Kd(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0;a=(r|0)>-1;n=a?r:0-r|0;A:do{switch(e|0){case 0:{Td(A,i,n,f)|0;if(!a){e=RB(A)|0;while(1){if(!e)break A;Kd(e,0,i,r,f);e=HB(e)|0}}break}case 3:case 2:case 1:{r=(e|0)==1;e=cd(A)|0;while(1){if(!e)break A;e:do{if(r)Td(e,i,n,f)|0;else{a=Oo(A,e)|0;while(1){if(!a)break e;Td(a,i,n,f)|0;a=_o(A,a)|0}}}while(0);e=bd(A,e)|0}}default:{}}}while(0);return}function _d(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;A:do{switch(e|0){case 0:{mv(A,A,61,i,1)|0;break}case 3:case 2:case 1:{f=(e|0)==1;r=cd(A)|0;while(1){if(!r)break A;e:do{if(f)Sd(r,i)|0;else{e=Oo(A,r)|0;while(1){if(!e)break e;Sd(e,i)|0;e=_o(A,e)|0}}}while(0);r=bd(A,r)|0}}default:{}}}while(0);return}function qd(A,e,i){A=A|0;e=e|0;i=i|0;Sd(e,i)|0;return}function $d(A){A=A|0;var e=0,i=0,r=0;i=Id(A)|0;e=A+16|0;A=a[e>>2]|0;if(A|0)do{r=A;A=a[A+4>>2]|0;lB(i,a[r>>2]|0)|0;fd(i,r)}while((A|0)!=(a[e>>2]|0));a[e>>2]=0;return}function AB(A){A=A|0;return PB(A,eB(A)|0)|0}function eB(A){A=A|0;var e=0,i=0;if(!A)i=187844;else i=(a[A+64>>2]|0)+20|0;e=a[i>>2]|0;if(!e){e=jB(A,18864,a[4589]|0)|0;a[i>>2]=e;A=186312;a[A>>2]=-2147483648;a[A+4>>2]=0;A=186320;a[A>>2]=2147483647;a[A+4>>2]=-1}return e|0}function iB(A,e){A=A|0;e=e|0;return rB(eB(A)|0,e)|0}function rB(A,e){A=A|0;e=e|0;A=fB(A,e)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function fB(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+32|0;r=i;a[r+16>>2]=e;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function aB(A,e){A=A|0;e=e|0;var i=0,r=0;if(!e)i=0;else{r=eB(A)|0;i=fB(r,e)|0;if(!i){i=(S2(e)|0)+24|0;if(!A)i=m2(i)|0;else i=rd(A,i)|0;A=i+8|0;a[A>>2]=1;a[A+4>>2]=0;A=i+20|0;$1(A,e)|0;a[i+16>>2]=A;W5[a[r>>2]&63](r,i,1)|0}else{r=i+8|0;e=r;e=d6(a[e>>2]|0,a[e+4>>2]|0,1,0)|0;a[r>>2]=e;a[r+4>>2]=L}i=a[i+16>>2]|0}return i|0}function nB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(!e)i=0;else{r=eB(A)|0;i=fB(r,e)|0;if(!i){i=(S2(e)|0)+24|0;if(!A)i=m2(i)|0;else i=rd(A,i)|0;n=186312;f=a[n+4>>2]|0;A=i+8|0;a[A>>2]=a[n>>2]|1;a[A+4>>2]=f;A=i+20|0;$1(A,e)|0;a[i+16>>2]=A;W5[a[r>>2]&63](r,i,1)|0}else{n=i+8|0;f=n;f=d6(a[f>>2]|0,a[f+4>>2]|0,1,0)|0;a[n>>2]=f;a[n+4>>2]=L}i=a[i+16>>2]|0}return i|0}function lB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if((e|0)!=0?(i=eB(A)|0,r=fB(i,e)|0,(r|0)!=0):0)if((a[r+16>>2]|0)==(e|0)?(e=r+8|0,n=e,n=d6(a[n>>2]|0,a[n+4>>2]|0,-1,-1)|0,f=L,e,a[e>>2]=n,a[e+4>>2]=f,e=186320,(n|0)==0&(f|0)==0|(a[e>>2]|0)==0&(a[e+4>>2]|0)==0):0){SB(A,i,r)|0;A=0}else A=0;else A=-1;return A|0}function tB(A){A=A|0;var e=0;if(!A)A=0;else{A=A+-12|0;e=186312;A=a[e>>2]&a[A>>2]}return A|0}function cB(A){A=A|0;var e=0,i=0,r=0;if(A|0){i=186312;A=A+-12|0;r=A;e=a[r+4>>2]|a[i+4>>2];a[A>>2]=a[r>>2]|a[i>>2];a[A+4>>2]=e}return}function bB(A){A=A|0;a[46966]=A;a[4725]=1;return}function sB(A,e){A=A|0;e=e|0;a[46967]=A;a[46968]=e;a[46969]=0;return}function wB(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;if(!(a[46970]|0)){a[46970]=1;if(!(a[46971]|0))a[46971]=1;if(!(a[46962]|0))a[46962]=a[15647];if(!(a[46963]|0))a[46963]=a[15679];b=a[46972]|0;if(!((b|0)!=0?(a[b>>2]|0)!=0:0)){uB();b=kB(a[46962]|0,16384)|0;a[a[46972]>>2]=b}oB()}A:while(1){c=a[46973]|0;r[c>>0]=r[194805]|0;A=(a[(a[a[46972]>>2]|0)+28>>2]|0)+(a[46971]|0)|0;e=c;e:while(1){l=e;while(1){e=a[18904+(n[l>>0]<<2)>>2]|0;if(f[63856+(A<<1)>>1]|0){a[46974]=A;a[46975]=l}i:while(1){i=e&255;do{e=i+(f[64042+(A<<1)>>1]|0)|0;if((A|0)==(f[64252+(e<<1)>>1]|0))break i;b=f[64788+(A<<1)>>1]|0;A=b<<16>>16}while(b<<16>>16<=92);e=a[19928+(i<<2)>>2]|0}A=f[64998+(e<<1)>>1]|0;e=l+1|0;if((f[64042+(A<<1)>>1]|0)==219)break;else l=e}i:while(1){b=c;r:while(1){A=f[63856+(A<<1)>>1]|0;if(!(A<<16>>16)){A=f[63856+(a[46974]<<1)>>1]|0;e=a[46975]|0}else A=A<<16>>16;a[46964]=c;t=e;a[46965]=t-b;r[194805]=r[e>>0]|0;r[e>>0]=0;a[46973]=e;f:while(1){switch(A|0){case 1:{w=27;break A}case 12:{w=53;break A}case 13:{w=55;break A}case 14:{w=57;break A}case 15:{w=61;break A}case 16:{w=65;break A}case 17:{w=67;break A}case 18:{w=69;break A}case 19:{w=72;break A}case 20:{w=75;break A}case 21:{w=78;break A}case 23:{w=86;break A}case 33:{w=118;break A}case 39:case 38:case 37:case 36:{s=0;break A}case 2:{w=29;break e}case 3:{w=32;break e}case 4:{w=35;break e}case 5:{w=37;break e}case 6:{w=39;break e}case 7:{w=42;break e}case 8:{w=44;break e}case 9:{w=47;break e}case 10:{w=49;break e}case 11:{w=51;break e}case 22:{w=83;break e}case 24:{w=89;break e}case 25:{w=92;break e}case 26:{w=95;break e}case 27:{w=98;break e}case 28:{w=101;break e}case 29:{w=104;break e}case 30:{w=109;break e}case 31:{w=112;break e}case 32:{w=115;break e}case 34:{w=121;break e}case 0:break f;case 35:break;default:{w=134;break A}}l=a[46964]|0;r[e>>0]=r[194805]|0;A=a[46972]|0;i=a[A>>2]|0;if(!(a[i+44>>2]|0)){u=a[i+16>>2]|0;a[46977]=u;a[i>>2]=a[46962];i=a[A>>2]|0;a[i+44>>2]=1;A=u}else A=a[46977]|0;if((a[46973]|0)>>>0<=((a[i+4>>2]|0)+A|0)>>>0){w=128;break r}switch(ZB()|0){case 0:{w=132;break i}case 2:{w=133;break r}case 1:break;default:continue A}a[46973]=a[46964];A=(((a[46971]|0)+-1|0)/2|0)+36|0}r[e>>0]=r[194805]|0;e=a[46975]|0;A=a[46974]|0}if((w|0)==128){w=0;i=t-l|0;l=a[46964]|0;e=l+(i+-1)|0;a[46973]=e;A=CB()|0;t=IB(A)|0;c=a[46964]|0;if(!t)continue;else{w=129;break}}else if((w|0)==133){w=0;e=(a[(a[a[46972]>>2]|0)+4>>2]|0)+(a[46977]|0)|0;a[46973]=e;A=CB()|0;c=a[46964]|0;continue}}if((w|0)==129){w=0;e=l+i|0;a[46973]=e;A=t;continue}else if((w|0)==132){w=0;e=(a[46964]|0)+(t-l+-1)|0;a[46973]=e;A=CB()|0;c=a[46964]|0;continue}}switch(w|0){case 29:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[4725]=(a[4725]|0)+1;continue A}case 32:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=3;continue A}case 35:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 37:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 39:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=1;continue A}case 42:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 44:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;hB();continue A}case 47:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 49:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 51:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 83:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=5;BB();continue A}case 89:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;gB(98744);continue A}case 92:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;gB(96616);continue A}case 95:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[4725]=(a[4725]|0)+1;continue A}case 98:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);continue A}case 101:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=7;a[46976]=1;BB();continue A}case 104:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;u=(a[46976]|0)+-1|0;a[46976]=u;if(!u){w=108;break A}gB(a[46964]|0);continue A}case 109:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;a[46976]=(a[46976]|0)+1;gB(A);continue A}case 112:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);a[4725]=(a[4725]|0)+1;continue A}case 115:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);continue A}case 121:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;L3(A,e,1,a[46963]|0)|0;continue A}}}switch(w|0){case 27:{A=a[46965]|0;if(!A)s=-1;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=-1}break}case 53:{A=a[46965]|0;if(!A)s=259;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=259}break}case 55:{A=a[46965]|0;if(!A)s=260;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=260}break}case 57:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(!(a[46969]|0)){a[46969]=258;s=258}else s=258;break}case 61:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(!(a[46969]|0)){a[46969]=261;s=261}else s=261;break}case 65:{A=a[46965]|0;if(!A)s=263;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=263}break}case 67:{A=a[46965]|0;if(!A)s=262;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=262}break}case 69:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=(a[46969]|0)==261?264:45;break}case 72:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=(a[46969]|0)==258?264:45;break}case 75:{e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;a[46992]=aB(a[46942]|0,A)|0;s=267;break}case 78:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(dB()|0){w=(a[46965]|0)+-1|0;r[e>>0]=r[194805]|0;u=c+w|0;a[46973]=u;a[46964]=c;a[46965]=w;r[194805]=r[u>>0]|0;r[u>>0]=0;a[46973]=u}a[46992]=aB(a[46942]|0,a[46964]|0)|0;s=267;break}case 86:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=1;vB();s=268;break}case 108:{a[46971]=1;EB();s=268;break}case 118:{e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;s=r[A>>0]|0;break}case 134:{GB(96619);break}}return s|0}function uB(){var A=0,e=0,i=0;e=a[46972]|0;do{if(!e){A=YB(4)|0;a[46972]=A;if(!A)GB(96977);else{a[A>>2]=0;A=1;i=9;break}}else{A=a[46983]|0;if(0>=(A+-1|0)>>>0){A=A+8|0;e=QB(e,A<<2)|0;a[46972]=e;if(!e)GB(96977);else{i=e+(a[46983]<<2)|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;a[i+20>>2]=0;a[i+24>>2]=0;a[i+28>>2]=0;i=9;break}}}}while(0);if((i|0)==9)a[46983]=A;return}function kB(A,e){A=A|0;e=e|0;var i=0;i=YB(48)|0;if(!i)GB(96932);a[i+12>>2]=e;e=YB(e+2|0)|0;a[i+4>>2]=e;if(!e)GB(96932);else{a[i+20>>2]=1;LB(i,A);return i|0}return 0}function oB(){var A=0,e=0;e=a[46972]|0;A=a[e>>2]|0;a[46977]=a[A+16>>2];A=a[A+8>>2]|0;a[46973]=A;a[46964]=A;a[46962]=a[a[e>>2]>>2];r[194805]=r[A>>0]|0;return}function hB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n;e=n+16|0;i=n+12|0;l=a[46964]|0;A=l+1|0;t=(Z1(A,96916,4)|0)==0;A=t?l+5|0:A;a[f>>2]=i;a[f+4>>2]=n+20;a[f+8>>2]=e;f=J3(A,96921,f)|0;if((f|0)>0?(a[4725]=(a[i>>2]|0)+-1,(f|0)!=1):0){e=A+(a[e>>2]|0)|0;A=e;A:while(1){i=r[A>>0]|0;switch(i<<24>>24){case 0:case 34:break A;default:{}}A=A+1|0}if((A|0)!=(e|0)&i<<24>>24==34){r[A>>0]=0;zB(e,A-e|0)}}k=n;return}function dB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+2080|0;t=c+8|0;f=c;A=c+1056|0;e=c+32|0;l=c+16|0;b=r[(a[46964]|0)+((a[46965]|0)+-1)>>0]|0;i=b<<24>>24==46;if(i|((b&255)+-48|0)>>>0<10)if(i?(yB()|0)!=0:0)n=4;else A=0;else n=4;if((n|0)==4){b=a[46966]|0;co(l,1024,A);wo(l,96827)|0;wo(l,a[46964]|0)|0;a[f>>2]=a[4725];P4(e,96871,f)|0;wo(l,e)|0;wo(l,(b|0)==0?96821:b)|0;wo(l,96888)|0;e=l+4|0;A=a[e>>2]|0;if(A>>>0>=(a[l+8>>2]|0)>>>0){bo(l,1)|0;A=a[e>>2]|0}r[A>>0]=0;A=a[l>>2]|0;a[e>>2]=A;a[t>>2]=A;ao(0,96913,t)|0;uo(l);A=1}k=c;return A|0}function BB(){var A=0;A=a[46978]|0;if(!A){A=m2(1024)|0;a[46978]=A;a[46980]=A+1024}a[46979]=A;r[A>>0]=0;return}function vB(){a[46992]=aB(a[46942]|0,a[46978]|0)|0;r[a[46978]>>0]=0;return}function gB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;i=a[46979]|0;e=a[46978]|0;if(i>>>0>e>>>0){i=i+-1|0;f=3}A:while(1){if((f|0)==3)a[46979]=i;f=a[46980]|0;n=f;do{l=A;A=A+1|0;l=r[l>>0]|0;t=i;i=i+1|0;r[t>>0]=l;if(!(l<<24>>24))break A}while(i>>>0>>0);a[46979]=i;f=e;t=n-f<<1;e=y2(e,t)|0;a[46978]=e;a[46980]=e+t;i=e+(i-f)|0;f=3}a[46979]=i;return}function EB(){a[46992]=nB(a[46942]|0,a[46978]|0)|0;r[a[46978]>>0]=0;return}function CB(){var A=0,e=0,i=0,n=0,l=0;l=a[46973]|0;n=a[46964]|0;e=(a[(a[a[46972]>>2]|0)+28>>2]|0)+(a[46971]|0)|0;while(1){if(n>>>0>=l>>>0)break;A=r[n>>0]|0;if(!(A<<24>>24))A=1;else A=a[18904+((A&255)<<2)>>2]|0;if(f[63856+(e<<1)>>1]|0){a[46974]=e;a[46975]=n}A:while(1){i=A&255;do{A=i+(f[64042+(e<<1)>>1]|0)|0;if((e|0)==(f[64252+(A<<1)>>1]|0))break A;A=f[64788+(e<<1)>>1]|0;e=A<<16>>16}while(A<<16>>16<=92);A=a[19928+(i<<2)>>2]|0}n=n+1|0;e=f[64998+(A<<1)>>1]|0}return e|0}function IB(A){A=A|0;var e=0;if(f[63856+(A<<1)>>1]|0){e=a[46973]|0;a[46974]=A;a[46975]=e}while(1){e=(f[64042+(A<<1)>>1]|0)+1|0;if((A|0)==(f[64252+(e<<1)>>1]|0))break;A=f[64788+(A<<1)>>1]|0}e=f[64998+(e<<1)>>1]|0;return(e<<16>>16==92?0:e<<16>>16)|0}function ZB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[46972]|0;n=a[c>>2]|0;t=a[n+4>>2]|0;f=a[46964]|0;s=a[46973]|0;b=s;if(s>>>0>(t+((a[46977]|0)+1)|0)>>>0)GB(96674);l=b-f|0;if(!(a[n+40>>2]|0))A=(l|0)==1?1:2;else{s=l+-1|0;l=t;n=0;while(1){if((n|0)>=(s|0))break;r[l>>0]=r[f>>0]|0;l=l+1|0;f=f+1|0;n=n+1|0}f=a[c>>2]|0;do{if((a[f+44>>2]|0)==2){a[46977]=0;a[f+16>>2]=0;i=f;w=17}else{while(1){t=f+12|0;l=a[t>>2]|0;n=l-s+-1|0;if(n|0){w=16;break}n=f+4|0;c=a[n>>2]|0;if(!(a[f+20>>2]|0)){w=12;break}f=l<<1;f=(f|0)==0?(l>>>3)+l|0:f;a[t>>2]=f;f=QB(c,f+2|0)|0;a[n>>2]=f;if(!f)break;c=f+(b-c)|0;a[46973]=c;f=a[a[46972]>>2]|0;b=c}if((w|0)==12)a[n>>2]=0;else if((w|0)==16){e=W5[a[a[(a[46967]|0)+8>>2]>>2]&63](a[46968]|0,(a[f+4>>2]|0)+s|0,n>>>0<8192?n:8192)|0;i=a[a[46972]>>2]|0;a[46977]=e;a[i+16>>2]=e;if(!e){w=17;break}else{A=0;break}}GB(96730)}}while(0);do{if((w|0)==17)if(!s){mB(a[46962]|0);A=1;e=a[46977]|0;i=a[a[46972]>>2]|0;break}else{a[i+44>>2]=2;A=2;e=0;break}}while(0);f=e+s|0;do{if(f>>>0>(a[i+12>>2]|0)>>>0){w=QB(a[i+4>>2]|0,f+(e>>>1)|0)|0;e=a[46972]|0;a[(a[e>>2]|0)+4>>2]=w;e=a[(a[e>>2]|0)+4>>2]|0;if(!e)GB(96774);else{u=a[46977]|0;k=e;break}}else{u=e;k=a[i+4>>2]|0}}while(0);u=u+s|0;a[46977]=u;r[k+u>>0]=0;k=a[46972]|0;r[(a[(a[k>>2]|0)+4>>2]|0)+((a[46977]|0)+1)>>0]=0;a[46964]=a[(a[k>>2]|0)+4>>2]}return A|0}function GB(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=a[15712]|0;a[e>>2]=A;f3(i,96670,e)|0;SA(2)}function QB(A,e){A=A|0;e=e|0;return y2(A,e)|0}function mB(A){A=A|0;var e=0,i=0,r=0;i=a[46972]|0;if((i|0)!=0?(e=a[i>>2]|0,(e|0)!=0):0)r=4;else{uB();e=kB(a[46962]|0,16384)|0;i=a[46972]|0;a[i>>2]=e;if(!i)e=0;else r=4}LB(e,A);oB();return}function LB(A,e){A=A|0;e=e|0;var i=0;i=a[(X2()|0)>>2]|0;WB(A);a[A>>2]=e;a[A+40>>2]=1;e=a[46972]|0;if(!e)e=0;else e=a[e>>2]|0;if((e|0)!=(A|0)){a[A+32>>2]=1;a[A+36>>2]=0}a[A+24>>2]=0;a[(X2()|0)>>2]=i;return}function WB(A){A=A|0;var e=0;if(A|0){a[A+16>>2]=0;e=A+4|0;r[a[e>>2]>>0]=0;r[(a[e>>2]|0)+1>>0]=0;a[A+8>>2]=a[e>>2];a[A+28>>2]=1;a[A+44>>2]=0;e=a[46972]|0;if(!e)e=0;else e=a[e>>2]|0;if((e|0)==(A|0))oB()}return}function yB(){var A=0,e=0;e=a[46964]|0;A=(a[46965]|0)+-2|0;while(1){if((A|0)<=-1){A=0;break}if((r[e+A>>0]|0)==46){A=1;break}else A=A+-1|0}return A|0}function zB(A,e){A=A|0;e=e|0;var i=0;i=a[46981]|0;if((i|0)<(e|0)){if(!i)i=m2(e+1|0)|0;else i=y2(a[46982]|0,e+1|0)|0;a[46982]=i;a[46981]=e}else i=a[46982]|0;$1(i,A)|0;a[46966]=a[46982];return}function YB(A){A=A|0;return m2(A)|0}function DB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+2112|0;b=s+32|0;t=s+24|0;l=s+16|0;n=s+8|0;f=s;e=s+56|0;c=s+40|0;co(c,1024,s+1080|0);i=a[46966]|0;if(i|0){wo(c,i)|0;wo(c,97027)|0}wo(c,A)|0;a[f>>2]=a[4725];P4(e,97030,f)|0;wo(c,e)|0;A:do{if(!(r[a[46964]>>0]|0))switch(((a[46971]|0)+-1|0)/2|0|0){case 2:{a[n>>2]=16384;P4(e,97050,n)|0;wo(c,e)|0;A=a[46978]|0;if(!(r[A>>0]|0))break A;t=S2(A)|0;wo(c,97112)|0;A=a[46978]|0;if((t|0)>80)r[A+80>>0]=0;wo(c,A)|0;break A}case 3:{a[l>>2]=16384;P4(e,97131,l)|0;wo(c,e)|0;A=a[46978]|0;if(!(r[A>>0]|0))break A;t=S2(A)|0;wo(c,97199)|0;A=a[46978]|0;if((t|0)>80)r[A+80>>0]=0;wo(c,A)|0;break A}case 1:{a[t>>2]=16384;P4(e,97218,t)|0;wo(c,e)|0;break A}default:break A}else{wo(c,97042)|0;wo(c,a[46964]|0)|0;e=c+4|0;A=a[e>>2]|0;if(A>>>0>=(a[c+8>>2]|0)>>>0){bo(c,1)|0;A=a[e>>2]|0}a[e>>2]=A+1;r[A>>0]=39}}while(0);i=c+4|0;A=a[i>>2]|0;e=c+8|0;if(A>>>0>=(a[e>>2]|0)>>>0){bo(c,1)|0;A=a[i>>2]|0}a[i>>2]=A+1;r[A>>0]=10;A=a[i>>2]|0;if(A>>>0>=(a[e>>2]|0)>>>0){bo(c,1)|0;A=a[i>>2]|0}r[A>>0]=0;t=a[c>>2]|0;a[i>>2]=t;a[b>>2]=t;ao(1,96913,b)|0;uo(c);k=s;return}function MB(){FB(a[46964]|0);return}function FB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=a[46973]|0;r[c>>0]=r[194805]|0;t=a[46972]|0;i=a[t>>2]|0;e=a[i+4>>2]|0;if(c>>>0<(e+2|0)>>>0){f=e+((a[46977]|0)+2)|0;n=e+((a[i+12>>2]|0)+2)|0;b=e;l=i;while(1){if(f>>>0<=b>>>0)break;i=f+-1|0;b=n+-1|0;r[b>>0]=r[i>>0]|0;l=a[t>>2]|0;f=i;n=b;b=a[l+4>>2]|0}i=n-f|0;e=c+i|0;c=a[l+12>>2]|0;a[46977]=c;a[l+16>>2]=c;if(e>>>0<(b+2|0)>>>0)GB(97277);else{s=A+i|0;w=e}}else{s=A;w=c}A=w+-1|0;r[A>>0]=64;a[46964]=s;r[194805]=r[A>>0]|0;a[46973]=A;return}function VB(){var A=0;A=a[46972]|0;if(!A)A=0;else A=a[A>>2]|0;WB(A);return}function JB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+80|0;f=r;n=A+52|0;OB(A,a[n>>2]|0,18548);A=f+8|0;a[A>>2]=e;a[A+4>>2]=i;i=a[n>>2]|0;i=W5[a[i>>2]&63](i,f,4)|0;k=r;return i|0}function NB(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;f=JB(A,e,i)|0;if(!f){f=rd(A,72)|0;a[f+64>>2]=a[A+64>>2];n=f+24|0;l=a[A+24>>2]|0;a[n>>2]=l;r[n>>0]=l&255&-9;a[f+56>>2]=A;a[f+60>>2]=a[A+60>>2];A=f+8|0;a[A>>2]=e;a[A+4>>2]=i;hh(f)|0}return f|0}function XB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;if(!(((e|0)!=0?(Dh(A,0,e,f,0)|0)!=0:0)?(r=f,r=JB(A,a[r>>2]|0,a[r+4>>2]|0)|0,(r|0)!=0):0))if((i|0)!=0?(Dh(A,0,e,f,1)|0)!=0:0){r=f;r=NB(A,a[r>>2]|0,a[r+4>>2]|0)|0;Jh(A,0,r)}else r=0;k=n;return r|0}function RB(A){A=A|0;A=a[A+52>>2]|0;return W5[a[A>>2]&63](A,0,128)|0}function HB(A){A=A|0;var e=0;e=pB(A)|0;if(!e)A=0;else{e=a[e+52>>2]|0;A=W5[a[e>>2]&63](e,A,8)|0}return A|0}function pB(A){A=A|0;return a[A+56>>2]|0}function UB(A,e){A=A|0;e=e|0;A=a[A+52>>2]|0;return W5[a[A>>2]&63](A,e,2)|0}function xB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[46984]|0;r=(e|0)!=0;do{if(!A)if(r){L2(e);A=0;break}else{A=m2(i)|0;break}else if(r){fd(A,e);A=0;break}else{A=rd(A,i)|0;break}}while(0);return A|0}function TB(A,e,i){A=A|0;e=e|0;i=i|0;A=a[46984]|0;if(!A)L2(e);else fd(A,e);return}function jB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e+28|0;f=a[r>>2]|0;a[r>>2]=7;a[46984]=A;i=jk(e,i)|0;a[r>>2]=f;a[46984]=0;return i|0}function SB(A,e,i){A=A|0;e=e|0;i=i|0;a[46984]=A;return W5[a[e>>2]&63](e,i,2)|0}function PB(A,e){A=A|0;e=e|0;var i=0,r=0;i=(Ao(e,0,0)|0)+28|0;r=a[i>>2]|0;a[i>>2]=7;a[46984]=A;if(!(pk(e)|0)){a[i>>2]=r;a[46984]=0;A=0}else A=1;return A|0}function OB(A,e,i){A=A|0;e=e|0;i=i|0;if(i|0?(Ao(e,0,0)|0)!=(i|0):0)Ao(e,i,0)|0;return}function KB(A,e){A=A|0;e=e|0;if(!(tB(A)|0))e=qB(A,e)|0;else _B(A,e)|0;return e|0}function _B(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;r[e>>0]=60;f=e;while(1){i=f+1|0;a=r[A>>0]|0;if(!(a<<24>>24))break;r[i>>0]=a;A=A+1|0;f=i}r[i>>0]=62;r[f+2>>0]=0;return e|0}function qB(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){r[e>>0]=34;s=r[A>>0]|0;h=0;n=((s+-45&255)<2|((s&255)+-48|0)>>>0<10)&1;l=0;t=0;c=0;i=e+1|0;f=A+1|0;e:while(1){b=i;while(1){if(!(s<<24>>24))break e;i=s&255;i:do{if(s<<24>>24==34){r[b>>0]=92;w=n;u=1;b=b+1|0}else{if(!n){u=s<<24>>24>-1&(s<<24>>24!=95&(V1(i)|0)==0);w=0;u=u?1:l;break}switch(s<<24>>24){case 45:{u=(c|0)==0;w=u?n:0;u=u?l:1;break i}case 46:{u=(t|0)==0;w=u?n:0;u=u?l:1;t=t+1|0;break i}default:{u=(i+-48|0)>>>0<10;w=u?n:0;u=u?l:1;break i}}}}while(0);i=b+1|0;r[b>>0]=s;o=f+1|0;k=r[f>>0]|0;c=c+1|0;f=a[5031]|0;if(!f){n=w;l=u;b=i;f=o;s=k;continue}n=k&255;l=k<<24>>24!=0;if((h&l?!(s<<24>>24==92|s<<24>>24>-1&((s+-45&255)>1&(V1(s<<24>>24)|0)==0)^1):0)?!(k<<24>>24>-1&((k+-45&255)>1&(V1(n)|0)==0)):0)break;if((c|0)<(f|0)|l^1){n=w;l=u;b=i;f=o;s=k;continue}if(s<<24>>24==92|s<<24>>24>-1&((V1(s<<24>>24)|0)==0&(s+-45&255)>1)^1){h=1;n=w;l=u;s=k;f=o;continue e}if(k<<24>>24>-1&((k+-45&255)>1&(V1(n)|0)==0)){h=1;n=w;l=u;s=k;f=o;continue e}r[i>>0]=92;r[b+2>>0]=10;n=w;l=1;c=0;b=b+3|0;f=o;s=k}r[i>>0]=92;r[b+2>>0]=10;h=0;n=w;l=1;c=0;s=k;i=b+3|0;f=o}r[b>>0]=34;r[b+1>>0]=0;if(!l){if((c|0)==1?((r[A>>0]|0)+-45&255)<2:0){A=e;break}else i=20128;while(1){f=a[i>>2]|0;if(!f)break A;if(!(N1(f,A)|0)){A=e;break}else i=i+4|0}}else A=e}else A=97309}while(0);return A|0}function $B(A){A=A|0;return KB(A,Av(A)|0)|0}function Av(A){A=A|0;var e=0;e=((S2(A)|0)<<1)+2|0;e=e>>>0>1024?e:1024;A=a[46986]|0;if(e>>>0>(a[46985]|0)>>>0){if(!A)A=m2(e)|0;else A=y2(A,e)|0;a[46986]=A;a[46985]=e}return A|0}function ev(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=0;break}if((iv(A)|0)==0?kd(A,e,0)|0:0){A=1;break}A=HB(A)|0}return A|0}function iv(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=Vh(A)|0;if((l|0)!=0?(r[l>>0]|0)!=37:0)e=0;else i=3;A:do{if((i|0)==3){e=Co(A)|0;e:do{if(e|0?(f=Co(pB(A)|0)|0,f|0):0){l=Pk(a[(Co(Zd(A)|0)|0)+8>>2]|0)|0;n=e+12|0;i=f+12|0;e=0;while(1){if((e|0)>=(l|0))break e;f=a[(a[n>>2]|0)+(e<<2)>>2]|0;if((f|0?(t=a[(a[i>>2]|0)+(e<<2)>>2]|0,t|0):0)?A1(f,t)|0:0){e=0;break A}e=e+1|0}}}while(0);e=ho(A,0)|0;if(e)if((Pk(a[e+8>>2]|0)|0)>0)e=0;else return(Pk(a[e+12>>2]|0)|0)<1|0;else e=1}}while(0);return e|0}function rv(A,e){A=A|0;e=e|0;var i=0,f=0;a[46987]=0;i=po(A,97319)|0;if((i|0?((r[i>>0]|0)+-48|0)>>>0<10:0)?(f=n3(i,0,10)|0,(f|0)==0|(f|0)>59):0)a[5031]=f;fv(A,1);if(((av(A,e,1)|0)!=-1?(nv(A,e)|0)!=-1:0)?(lv(A,e)|0)!=-1:0){a[5031]=128;A=Q5[a[(a[(a[A+64>>2]|0)+8>>2]|0)+8>>2]&63](e)|0}else A=-1;return A|0}function fv(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=a[A>>2]&-9;i=RB(A)|0;while(1){if(!i)break;fv(i,0);i=HB(i)|0}A:do{if(e|0){e=cd(A)|0;while(1){if(!e)break A;a[e>>2]=a[e>>2]&-9;i=Oo(A,e)|0;while(1){if(!i)break;a[i>>2]=a[i>>2]&-9;i=_o(A,i)|0}e=bd(A,e)|0}}}while(0);return}function av(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;if((i|0)==0?(pB(A)|0)!=0:0){t=0;n=195059;b=109514}else{b=(r[A+24>>0]&1)==0?195059:97363;n=(Gh(A)|0)==0;a[46988]=Yo(A,2,111455,0)|0;a[46989]=Yo(A,2,111464,0)|0;t=1;n=n?195059:97366}f=Vh(A)|0;if((f|0)!=0?(r[f>>0]|0)!=37:0){l=1;c=102604}else{l=0;c=195059;f=195059}do{if((tv(A,e)|0)!=-1?(cv(A,e,n)|0)!=-1:0){n=(l|0)==0;if(l|t|0){if((cv(A,e,b)|0)==-1){f=-1;break}if((cv(A,e,102597)|0)==-1){f=-1;break}}if(!n?(gv(A,e,f)|0)==-1:0){f=-1;break}if(((cv(A,e,c)|0)!=-1?(cv(A,e,97374)|0)!=-1:0)?(a[46987]=(a[46987]|0)+1,(Gv(A,e,i)|0)!=-1):0){a[A>>2]=a[A>>2]|8;f=0}else f=-1}else f=-1}while(0);return f|0}function nv(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;A:do{if((bv(A,e)|0)==-1)i=-1;else{b=ho(Zd(A)|0,0)|0;t=(b|0)==0;c=b+12|0;b=b+8|0;l=cd(A)|0;while(1){if(!l){i=0;break A}if(sv(A,l,(a[l>>2]|0)>>>4,0)|0){if(t)i=0;else i=a[b>>2]|0;if((wv(l,e,i)|0)==-1){i=-1;break A}}n=Oo(A,l)|0;i=l;while(1){if(!n)break;f=n+-48|0;r=a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0;if((i|0)!=(r|0)?(sv(A,r,(a[l>>2]|0)>>>4,0)|0)!=0:0){if(t)i=0;else i=a[b>>2]|0;if((wv(a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0,e,i)|0)==-1){i=-1;break A}i=a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0}if(uv(A,n)|0){if(t)r=0;else r=a[c>>2]|0;if((kv(n,e,r)|0)==-1){i=-1;break A}}n=_o(A,n)|0}l=bd(A,l)|0}}}while(0);return i|0}function lv(A,e){A=A|0;e=e|0;a[46987]=(a[46987]|0)+-1;if((tv(A,e)|0)==-1)A=-1;else A=((cv(A,e,111008)|0)==-1)<<31>>31;return A|0}function tv(A,e){A=A|0;e=e|0;var i=0;i=a[46987]|0;while(1){if((i|0)<=0){i=0;break}if((cv(A,e,153597)|0)==-1){i=-1;break}else i=i+-1|0}return i|0}function cv(A,e,i){A=A|0;e=e|0;i=i|0;return m5[a[(a[(a[A+64>>2]|0)+8>>2]|0)+4>>2]&127](e,i)|0}function bv(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=0;break}if(!(iv(A)|0)){if((av(A,e,0)|0)==-1){A=-1;break}if((nv(A,e)|0)==-1){A=-1;break}if((lv(A,e)|0)==-1){A=-1;break}}else bv(A,e)|0;A=HB(A)|0}return A|0}function sv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if((ev(A,e)|0)==0?(Cv(A,e,i,r)|0)!=0:0)if((Iv(A,e)|0)==0?(Zv(e)|0)==0:0)f=5;else A=1;else f=5;if((f|0)==5)A=0;return A|0}function wv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Id(A)|0;do{if((tv(r,e)|0)!=-1?(ov(A,e)|0)!=-1:0){if((dv(A)|0)==0?(Bv(A,e,i)|0)==-1:0){A=-1;break}A=cv(r,e,97330)|0}else A=-1}while(0);return A|0}function uv(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=1;break}if((iv(A)|0)==0?wh(A,e,0)|0:0){A=0;break}A=HB(A)|0}return A|0}function kv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=a[A>>2]&3;n=a[((r|0)==3?A:A+48|0)+40>>2]|0;r=a[((r|0)==2?A:A+-48|0)+40>>2]|0;f=Id(n)|0;do{if((((((tv(f,e)|0)!=-1?(ov(n,e)|0)!=-1:0)?(hv(A,e,a[46988]|0)|0)!=-1:0)?(n=(Ih(Id(n)|0)|0)!=0,(cv(f,e,n?100079:100084)|0)!=-1):0)?(ov(r,e)|0)!=-1:0)?(hv(A,e,a[46989]|0)|0)!=-1:0){if(!(dv(A)|0)){if((Bv(A,e,i)|0)==-1){A=-1;break}}else if((vv(A,e,1)|0)==-1){A=-1;break}A=cv(f,e,97330)|0}else A=-1}while(0);return A|0}function ov(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+32|0;n=t;i=t+8|0;r=Vh(A)|0;f=Id(A)|0;if(!r){c=A+8|0;A=a[c+4>>2]|0;r=n;a[r>>2]=a[c>>2];a[r+4>>2]=A;P4(i,97350,n)|0;if((cv(f,e,i)|0)==-1)A=-1;else l=4}else if((gv(f,e,r)|0)==-1)A=-1;else l=4;if((l|0)==4)A=0;k=t;return A|0}function hv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if((i|0)!=0?(f=Id(A)|0,a=Uo(A,i)|0,(r[a>>0]|0)!=0):0)if((cv(f,e,107984)|0)==-1)A=-1;else{do{if(tB(a)|0){if((gv(f,e,a)|0)==-1){A=-1;break A}}else{A=G1(a,58)|0;if(!A)if((Ev(f,e,a,0)|0)==-1){A=-1;break A}else break;r[A>>0]=0;if((Ev(f,e,a,0)|0)==-1){A=-1;break A}if((cv(f,e,107984)|0)==-1){A=-1;break A}if((Ev(f,e,A+1|0,0)|0)==-1){A=-1;break A}r[A>>0]=58}}while(0);A=0}else A=0}while(0);return A|0}function dv(A){A=A|0;return(a[A>>2]|0)>>>3&1|0}function Bv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;A:do{if(!(a[A>>2]&2)){r=0;b=4}else{switch(vv(A,e,0)|0){case-1:{r=-1;break A}case 0:{r=0;b=4;break A}default:{}}r=1;b=4}}while(0);A:do{if((b|0)==4){f=Co(A)|0;c=Id(A)|0;e:do{if(f){t=f+12|0;l=W5[a[i>>2]&63](i,0,128)|0;while(1){if(!l)break e;do{if(a[A>>2]&2){n=a[46988]|0;if(n|0?(a[l+16>>2]|0)==(a[n+16>>2]|0):0)break;n=a[46989]|0;if(!((n|0)!=0?(a[l+16>>2]|0)==(a[n+16>>2]|0):0))b=12}else b=12}while(0);if((b|0)==12){b=0;f=l+16|0;if((a[(a[t>>2]|0)+(a[f>>2]<<2)>>2]|0)!=(a[l+12>>2]|0)){n=r+1|0;if(r){if((cv(c,e,97345)|0)==-1){r=-1;break A}if((tv(c,e)|0)==-1){r=-1;break A}}else{if((tv(c,e)|0)==-1){r=-1;break A}if((cv(c,e,97342)|0)==-1){r=-1;break A}a[46987]=(a[46987]|0)+1}if((gv(c,e,a[l+8>>2]|0)|0)==-1){r=-1;break A}if((cv(c,e,97348)|0)==-1){r=-1;break A}if((gv(c,e,a[(a[t>>2]|0)+(a[f>>2]<<2)>>2]|0)|0)==-1){r=-1;break A}else r=n}}l=W5[a[i>>2]&63](i,l,8)|0}}}while(0);if((r|0)>0){if((cv(c,e,97340)|0)==-1){r=-1;break}a[46987]=(a[46987]|0)+-1}a[A>>2]=a[A>>2]|8;r=0}}while(0);return r|0}function vv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;f=Vh(A)|0;A=Id(A)|0;if((f|0)!=0?(r[f>>0]|0)!=0:0)if((cv(A,e,97333)|0)!=-1?(gv(A,e,f)|0)!=-1:0)if((i|0)!=0?(cv(A,e,97340)|0)==-1:0)A=-1;else{A=1;a=7}else A=-1;else{A=0;a=7}return A|0}function gv(A,e,i){A=A|0;e=e|0;i=i|0;return Ev(A,e,i,1)|0}function Ev(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if(!r)i=qB(i,Av(i)|0)|0;else i=$B(i)|0;return cv(A,e,i)|0}function Cv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A:do{if(0>>0|(0==(r|0)?(a[e>>2]|0)>>>4>>>0>>0:0))e=0;else{e=qo(A,e)|0;while(1){if(!e){e=1;break A}if(0>>0|(0==(r|0)?(a[a[e+40>>2]>>2]|0)>>>4>>>0>>0:0)){e=0;break A}e=$o(A,e)|0}}}while(0);return e|0}function Iv(A,e){A=A|0;e=e|0;if(!(qo(A,e)|0))A=(Oo(A,e)|0)==0&1;else A=0;return A|0}function Zv(A){A=A|0;var e=0,i=0,r=0;A=Co(A)|0;A:do{if(!A)A=0;else{i=A+8|0;r=a[i>>2]|0;e=A+12|0;A=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!A){A=0;break A}if((a[(a[e>>2]|0)+(a[A+16>>2]<<2)>>2]|0)!=(a[A+12>>2]|0)){A=1;break A}r=a[i>>2]|0;A=W5[a[r>>2]&63](r,A,8)|0}}}while(0);return A|0}function Gv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=ho(A,0)|0;if(r)if(((Qv(A,e,111494,a[r+16>>2]|0,i)|0)!=-1?(Qv(A,e,111481,a[r+8>>2]|0,i)|0)!=-1:0)?(Qv(A,e,111450,a[r+12>>2]|0,i)|0)!=-1:0)f=5;else A=-1;else f=5;if((f|0)==5)A=0;return A|0}function Qv(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;w=(n|0)!=0;if(w)s=0;else s=_k(f,0)|0;b=(s|0)==0;c=W5[a[f>>2]&63](f,0,128)|0;n=0;while(1){if(!c){u=23;break}t=c+12|0;u=a[t>>2]|0;if((u|0)!=0?(r[u>>0]|0)!=0:0)u=12;else u=7;do{if((u|0)==7){u=0;if(!(r[c+22>>0]|0)){if(!b){l=W5[a[s>>2]&63](s,c,4)|0;k=a[l+12>>2]|0;if(k|0?r[k>>0]|0:0){u=12;break}if(!(r[l+22>>0]|0))u=12}}else u=12}}while(0);if((u|0)==12){u=0;l=n+1|0;if(n){if((cv(A,e,97345)|0)==-1){n=-1;break}if((tv(A,e)|0)==-1){n=-1;break}}else{if((tv(A,e)|0)==-1){n=-1;break}if((cv(A,e,i)|0)==-1){n=-1;break}if((cv(A,e,97342)|0)==-1){n=-1;break}a[46987]=(a[46987]|0)+1}if((gv(A,e,a[c+8>>2]|0)|0)==-1){n=-1;break}if((cv(A,e,97348)|0)==-1){n=-1;break}if((gv(A,e,a[t>>2]|0)|0)==-1){n=-1;break}else n=l}c=W5[a[f>>2]&63](f,c,8)|0}do{if((u|0)==23){if((n|0)>0){a[46987]=(a[46987]|0)+-1;if((n|0)!=1){if((cv(A,e,153599)|0)==-1){n=-1;break}if((tv(A,e)|0)==-1){n=-1;break}}n=(cv(A,e,97377)|0)==-1;if(w|n){n=n<<31>>31;break}}else if(w){n=0;break}_k(f,s)|0;n=0}}while(0);return n|0}function mv(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(a[e>>2]&3){case 0:{n=82;break}case 1:{n=83;break}case 3:case 2:{n=84;break}default:{}}e=m5[n&127](A,e)|0;if(!e)e=-1;else{zv(A,e,i,r,n,f);e=0}return e|0}function Lv(A,e){A=A|0;e=e|0;if((Id(e)|0)!=(A|0))e=wh(A,e,0)|0;return e|0}function Wv(A,e){A=A|0;e=e|0;if((Id(e)|0)!=(A|0))e=kd(A,e,0)|0;return e|0}function yv(A,e){A=A|0;e=e|0;return A|0}function zv(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var n=0,l=0,t=0;l=(a|0)!=0;if(l)J5[i&127](A,e,r);n=RB(A)|0;while(1){if(!n)break;t=m5[f&127](n,e)|0;if(t|0)zv(n,t,i,r,f,a);n=HB(n)|0}if(!l)J5[i&127](A,e,r);return}function Yv(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1200|0;d=v+800|0;i=v;a[46990]=0;a[46991]=-2;e=d;t=200;w=i;o=0;h=0;u=d;A:while(1){f[u>>1]=o;if((e+(t<<1)+-2|0)>>>0>u>>>0)b=t;else{s=u-e>>1;A=s+1|0;if(t>>>0>9999){B=75;break}b=t<<1;b=b>>>0<1e4?b:1e4;l=m2(b*6|3)|0;if(l){y6(l|0,e|0,A<<1|0)|0;t=l+(b>>>1<<2)|0;y6(t|0,w|0,A<<2|0)|0;if((e|0)==(d|0)){A=0;e=l}else{L2(e);A=0;e=l}}else{A=4;t=w}c=(A|0)==0;l=e+(s<<1)|0;switch((c?(e+(b<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;B=76;break A}case 4:{B=75;break A}case 0:{i=c?t+(s<<2)|0:i;w=t;u=c?l:u;break}default:{A=0;break A}}}if((o|0)==6){A=0;B=76;break}A=r[97381+o>>0]|0;c=A<<24>>24;do{if(A<<24>>24!=-18){l=a[46991]|0;if((l|0)==-2){l=wB()|0;a[46991]=l}if((l|0)>=1)if(l>>>0<269)t=n[97461+l>>0]|0;else t=2;else{a[46991]=0;t=0}l=t+c|0;if(l>>>0<=59?(t|0)==(n[97730+l>>0]|0):0){o=r[97790+l>>0]|0;A=o<<24>>24;if(o<<24>>24<1){l=0-A|0;B=23;break}else{a[46991]=-2;i=i+4|0;a[i>>2]=a[46992];c=(h|0)==0?0:h+-1|0;l=u;break}}else B=22}else B=22}while(0);if((B|0)==22){B=0;o=r[97850+o>>0]|0;l=o&255;if(!(o<<24>>24)){l=a[46991]|0;e:do{switch(h|0){case 0:{a[46990]=(a[46990]|0)+1;DB(143761);l=u;break}case 3:if((l|0)<1)if(!l){A=1;B=76;break A}else{l=u;break e}else{a[46991]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<24>>24==18)break;if((l|0)==(e|0)){A=1;B=76;break A}A=l+-2|0;i=i+-4|0;l=A;A=r[97381+(f[A>>1]|0)>>0]|0}i=i+4|0;a[i>>2]=a[46992];A=1;c=3}else B=23}do{if((B|0)==23){B=0;t=n[97930+l>>0]|0;A=a[i+(1-t<<2)>>2]|0;e:do{switch(l|0){case 2:{Dv();Mv();break}case 3:{if(a[46993]|0){Dv();Mv();Bh(a[46993]|0)|0;a[46942]=0;a[46993]=0}break}case 6:{Fv(a[i>>2]|0,a[i+-4>>2]|0,a[i+-8>>2]|0);break}case 7:{A=a[i>>2]|0;break}case 8:{A=0;break}case 9:{A=1;break}case 10:{A=0;break}case 11:{A=0;break}case 12:{A=1;break}case 21:if(!(a[i+-4>>2]|0)){Jv();break e}else{Vv();break e}case 24:{Nv();break}case 25:{Nv();break}case 26:{A=1;break}case 27:{A=0;break}case 30:{Xv(a[i>>2]|0,0,0);break}case 31:{Xv(a[i+-8>>2]|0,a[i>>2]|0,0);break}case 32:{Xv(a[i+-16>>2]|0,a[i+-8>>2]|0,a[i>>2]|0);break}case 33:{Rv(a[i+-8>>2]|0,a[i+-4>>2]|0);break}case 34:{Rv(258,0);break}case 35:{A=258;break}case 36:{A=259;break}case 37:{A=260;break}case 38:{A=a[i+-4>>2]|0;break}case 39:{A=0;break}case 48:{Hv(a[i+-8>>2]|0,a[i>>2]|0);break}case 49:{Hv(a[i>>2]|0,0);break}case 51:{pv(a[i>>2]|0);break}case 52:{Uv();break}case 53:{A=a[i>>2]|0;break}case 54:{A=0;break}case 55:{A=0;break}case 59:{A=a[i>>2]|0;break}case 60:{A=a[i>>2]|0;break}case 61:{A=a[i>>2]|0;break}case 62:{A=xv(a[i+-8>>2]|0,a[i>>2]|0)|0;break}default:{}}}while(0);t=0-t|0;o=i+(t<<2)|0;t=u+(t<<1)|0;i=o+4|0;a[o+4>>2]=A;A=(n[97993+l>>0]|0)+-24|0;o=f[t>>1]|0;l=o+(r[98056+A>>0]|0)|0;if(l>>>0<60?(n[97730+l>>0]|0)==(o|0):0){A=r[97790+l>>0]|0;c=h;l=t;break}A=r[98091+A>>0]|0;c=h;l=t}}while(0);t=b;o=A;h=c;u=l+2|0}if((B|0)==75){DB(140558);A=2;B=76}if((B|0)==76)if((e|0)!=(d|0))L2(e);k=v;return A|0}function Dv(){var A=0,e=0;A=a[46994]|0;while(1){if(!A)break;qv(A+8|0);qv((a[46994]|0)+24|0);qv((a[46994]|0)+16|0);e=Tv(a[46994]|0)|0;a[46994]=e;A=e}return}function Mv(){MB();Th(a[46993]|0);return}function Fv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=a[46993]|0;if(!f){r[187980]=e&1|(i&255)<<1&2|r[187980]&-12|8;f=a[46996]|0;r[n>>0]=r[187980]|0;r[n+1>>0]=r[187981]|0;r[n+2>>0]=r[187982]|0;r[n+3>>0]=r[187983]|0;f=kh(A,n,f)|0;a[46993]=f}a[46942]=f;a[46994]=jv(a[46994]|0,f)|0;lB(0,A)|0;k=l;return}function Vv(){var A=0,e=0,i=0,f=0,n=0,l=0;_v(2);i=a[46994]|0;f=r[98126]|0;l=0;A=i+24|0;while(1){e=a[A>>2]|0;if(!e)break;if(((a[e>>2]|0)==267?(n=a[e+4>>2]|0,(r[n>>0]|0)==f<<24>>24):0)?(A1(n,98126)|0)==0:0)A=a[e+8>>2]|0;else A=l;l=A;A=e+12|0}A=i+16|0;A:while(1){i=a[A>>2]|0;A=i+12|0;if(!(a[A>>2]|0))break;e=i+4|0;if((a[i>>2]|0)==262){i=a[e>>2]|0;e=cd(i)|0;while(1){if(!e)continue A;n=kd(a[a[46994]>>2]|0,e,0)|0;ag(n,0,a[A>>2]|0,l);e=bd(i,e)|0}}else while(1){e=a[e>>2]|0;if(!e)continue A;ag(a[e+4>>2]|0,a[e+8>>2]|0,a[A>>2]|0,l);e=e+12|0}}qv((a[46994]|0)+8|0);qv((a[46994]|0)+16|0);qv((a[46994]|0)+24|0);a[(a[46994]|0)+4>>2]=0;return}function Jv(){var A=0;_v(1);A=(a[46994]|0)+8|0;while(1){A=a[A>>2]|0;if(!A)break;fg(a[A+4>>2]|0);A=A+12|0}qv((a[46994]|0)+8|0);qv((a[46994]|0)+24|0);qv((a[46994]|0)+16|0);a[(a[46994]|0)+4>>2]=0;return}function Nv(){var A=0,e=0;A=a[46994]|0;e=a[A+8>>2]|0;if(!e){e=a[A+4>>2]|0;if(!e)e=0;else{e=rg(e)|0;A=a[46994]|0}a[A+4>>2]=0}else{e=ig(e)|0;A=a[46994]|0;a[A+12>>2]=0;a[A+8>>2]=0}if(e|0)Pv(A+16|0,e);return}function Xv(A,e,i){A=A|0;e=e|0;i=i|0;if(i)e=Ag(e,i)|0;i=eg(vd(a[a[46994]>>2]|0,A,1)|0,e)|0;Pv((a[46994]|0)+8|0,i);lB(a[46993]|0,A)|0;return}function Rv(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;if(e|0)Kv();e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;if(!(a[e+8>>2]|0))Kv();e=e+12|0}n=(A|0)==260?2:(A|0)==259&1;_v(n);A=a[46994]|0;e=A+24|0;while(1){f=a[e>>2]|0;if(!f)break;do{if((a[f>>2]|0)!=267){e=a[f+4>>2]|0;i=a[A>>2]|0;if(!((r[e+21>>0]|0)!=0&(i|0)==(a[46993]|0))){e=Yo(i,n,a[e+8>>2]|0,a[f+8>>2]|0)|0;A=a[46994]|0;if((a[A>>2]|0)!=(a[46993]|0))break}r[e+22>>0]=1}}while(0);e=f+12|0}qv(A+24|0);return}function Hv(A,e){A=A|0;e=e|0;e=Sv(A,e)|0;Pv((a[46994]|0)+24|0,e);return}function pv(A){A=A|0;var e=0;e=a[46994]|0;a[46994]=jv(e,XB(a[e>>2]|0,A,1)|0)|0;lB(a[46993]|0,A)|0;return}function Uv(){var A=0,e=0;A=a[46994]|0;e=a[A>>2]|0;A=Tv(A)|0;a[46994]=A;a[A+4>>2]=e;return}function xv(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+1024|0;f=n;i=S2(A)|0;i=i+1+(S2(e)|0)|0;if(i>>>0<1025)i=f;else i=m2(i)|0;$1(i,A)|0;u3(i,e)|0;r=aB(a[46993]|0,i)|0;lB(a[46993]|0,A)|0;lB(a[46993]|0,e)|0;if((i|0)!=(f|0))L2(i);k=n;return r|0}function Tv(A){A=A|0;var e=0;e=a[(a[46994]|0)+32>>2]|0;fd(a[46993]|0,A);return e|0}function jv(A,e){A=A|0;e=e|0;var i=0;i=rd(a[46993]|0,36)|0;a[i+32>>2]=A;a[i>>2]=e;return i|0}function Sv(A,e){A=A|0;e=e|0;return Ov(267,A,e)|0}function Pv(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;r=a[i>>2]|0;if(r|0)a[r+12>>2]=e;a[i>>2]=e;if(!(a[A>>2]|0))a[A>>2]=e;return}function Ov(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=rd(a[46993]|0,16)|0;a[r>>2]=A;a[r+4>>2]=e;a[r+8>>2]=i;return r|0}function Kv(){var A=0;A=k;k=k+16|0;ao(0,98130,A)|0;k=A;return}function _v(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=(A|0)==2;e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;i=e+4|0;f=a[i>>2]|0;if(!((n?(r[f>>0]|0)==(r[98126]|0):0)?!(A1(f,98126)|0):0)){l=Yo(a[a[46994]>>2]|0,A,f,0)|0;a[i>>2]=l;if(!l)a[i>>2]=Yo(a[a[46994]>>2]|0,A,f,195059)|0;a[e>>2]=266;lB(a[46993]|0,f)|0}e=e+12|0}return}function qv(A){A=A|0;$v(a[A>>2]|0);a[A+4>>2]=0;a[A>>2]=0;return}function $v(A){A=A|0;var e=0;while(1){if(!A)break;e=a[A+12>>2]|0;switch(a[A>>2]|0){case 265:{$v(a[A+4>>2]|0);break}case 266:case 267:{lB(a[46993]|0,a[A+8>>2]|0)|0;break}default:{}}fd(a[46993]|0,A);A=e}return}function Ag(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+1040|0;f=l;n=l+8|0;i=S2(A)|0;i=i+2+(S2(e)|0)|0;if(i>>>0<1025)r=n;else r=m2(i)|0;a[f>>2]=A;a[f+4>>2]=e;P4(r,98163,f)|0;i=aB(a[46993]|0,r)|0;lB(a[46993]|0,A)|0;lB(a[46993]|0,e)|0;if((r|0)!=(n|0))L2(r);k=l;return i|0}function eg(A,e){A=A|0;e=e|0;return Ov(259,A,e)|0}function ig(A){A=A|0;return Ov(265,A,0)|0}function rg(A){A=A|0;return Ov(262,A,0)|0}function fg(A){A=A|0;var e=0,i=0;e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;if((a[e>>2]|0)==266?(i=a[e+4>>2]|0,i|0):0)Vo(A,i,a[e+8>>2]|0)|0;e=e+12|0}return}function ag(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=i+4|0;A:do{if((a[i>>2]|0)==262){i=a[f>>2]|0;f=cd(i)|0;while(1){if(!f)break A;ng(A,e,kd(a[a[46994]>>2]|0,f,0)|0,0,r);f=bd(i,f)|0}}else while(1){f=a[f>>2]|0;if(!f)break A;i=kd(a[a[46994]>>2]|0,a[f+4>>2]|0,0)|0;ng(A,e,i,a[f+8>>2]|0,r);f=f+12|0}}while(0);return}function ng(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;i=th(a[a[46994]>>2]|0,A,i,f,1)|0;if(i|0){n=a[i>>2]&3;f=a[((n|0)==2?i:i+-48|0)+40>>2]|0;A=(f|0)==(A|0)?(a[((n|0)==3?i:i+48|0)+40>>2]|0)!=(f|0):0;lg(i,111455,A?r:e);lg(i,111464,A?e:r);fg(i)}return}function lg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(i|0){r=Yo(a[a[46994]>>2]|0,2,e,0)|0;if(!r)r=Yo(a[a[46994]>>2]|0,2,e,195059)|0;Vo(A,r,i)|0}return}function tg(A,e,i){A=A|0;e=e|0;i=i|0;a[46962]=e;a[46993]=A;a[46942]=0;A=i|0?i:18600;a[46996]=A;sB(A,e);Yv()|0;A=a[46942]|0;if(!A){VB();A=a[46942]|0}return A|0}function cg(A,e){A=A|0;e=e|0;return tg(0,A,e)|0}function bg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;e=a[A+76>>2]|0;f=a[A>>2]|0;if((e|0)!=0?(i=a[e>>2]|0,(i|0)!=0):0){F5[i&127](A);n=12}else n=4;do{if((n|0)==4)if((a[A+40>>2]|0)==0?(l=A+36|0,(a[l>>2]|0)==0):0){if(r[f+13>>0]|0)sg(A);e=A+32|0;i=a[e>>2]|0;if(!i){a[l>>2]=a[15679];n=12;break}f=F3(i,106512)|0;a[l>>2]=f;if(!f){c=a[(a[A+12>>2]|0)+16>>2]|0;l=a[e>>2]|0;e=e1(a[(X2()|0)>>2]|0)|0;a[t>>2]=l;a[t+4>>2]=e;V5[c&63](98169,t);e=1}else n=12}else n=12}while(0);if((n|0)==12)if(!(a[A+152>>2]&1024))e=0;else{V5[a[(a[A+12>>2]|0)+16>>2]&63](98207,c);e=1}k=b;return e|0}function sg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=k;k=k+112|0;i=l;n=l+4|0;e=a[A+24>>2]|0;if(!e)r[n>>0]=0;else{a[i>>2]=e+1;P4(n,98225,i)|0}i=a[A+20>>2]|0;i=i|0?i:98229;e=S2(i)|0;t=S2(n)|0;f=A+52|0;t=e+1+t+(S2(a[f>>2]|0)|0)|0;e=t+11|0;if((a[46997]|0)>>>0<(t+1|0)>>>0){a[46997]=e;e=y2(a[46998]|0,e)|0;a[46998]=e}else e=a[46998]|0;$1(e,i)|0;u3(a[46998]|0,n)|0;e=a[46998]|0;e=e+(S2(e)|0)|0;r[e>>0]=46;r[e+1>>0]=0;e=s3(a[f>>2]|0)|0;f=a[46998]|0;while(1){i=w3(e,58)|0;if(!i)break;u3(f,i+1|0)|0;t=a[46998]|0;n=t+(S2(t)|0)|0;r[n>>0]=46;r[n+1>>0]=0;r[i>>0]=0;f=t}u3(f,e)|0;L2(e);a[A+32>>2]=a[46998];k=l;return}function wg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l+8|0;f=l;if((e|0)!=0&(i|0)!=0){if(a[A+152>>2]&1024|0){V5[a[(a[A+12>>2]|0)+16>>2]&63](98207,f);SA(1)}if((ug(A,e,i)|0)==(i|0))r=i;else{f=a[(a[A+12>>2]|0)+16>>2]|0;a[n>>2]=i;V5[f&63](98239,n);SA(1)}}else r=0;k=l;return r|0}function ug(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=a[(a[A>>2]|0)+104>>2]|0;do{if(!f){c=A+40|0;l=a[c>>2]|0;if(!l){i=L3(e,1,i,a[A+36>>2]|0)|0;break}f=A+44|0;t=A+48|0;n=a[t>>2]|0;do{if(((a[f>>2]|0)+-1-n|0)>>>0>>0){n=i+4096+n&-4096;a[f>>2]=n;f=y2(l,n)|0;a[c>>2]=f;if(!f){V5[a[(a[A+12>>2]|0)+16>>2]&63](98264,w);SA(1)}else{b=f;s=a[t>>2]|0;break}}else{b=l;s=n}}while(0);y6(b+s|0,e|0,i|0)|0;w=(a[t>>2]|0)+i|0;a[t>>2]=w;r[(a[c>>2]|0)+w>>0]=0}else i=W5[f&63](A,e,i)|0}while(0);k=u;return i|0}function kg(A,e){A=A|0;e=e|0;var i=0;i=S2(e)|0;e=(wg(A,e,i)|0)==(i|0);return(e?1:-1)|0}function og(A,e){A=A|0;e=e|0;var i=0,f=0;i=k;k=k+16|0;f=i;r[f>>0]=e;A=(wg(A,f,1)|0)==1;k=i;return(A?e:-1)|0}function hg(A){A=A|0;var e=0;e=a[A+36>>2]|0;if(((e|0)!=0?(r[A+144>>0]|0)==0:0)?(a[(a[A>>2]|0)+104>>2]|0)==0:0)A=g3(e)|0;else A=0;return A|0}function dg(A){A=A|0;var e=0,i=0;e=a[A+76>>2]|0;if(e|0?(i=a[e+4>>2]|0,i|0):0)F5[i&127](A);hg(A)|0;return}function Bg(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=a[A+76>>2]|0;if(a[A+152>>2]&1024|0){V5[a[(a[A+12>>2]|0)+16>>2]&63](98291,r);SA(1)}if((i|0)!=0?(e=a[i+8>>2]|0,(e|0)!=0):0)F5[e&127](A);else{hg(A)|0;vg(A)}k=r;return}function vg(A){A=A|0;var e=0,i=0,f=0;e=A+32|0;if((a[e>>2]|0?(i=A+36|0,f=a[i>>2]|0,(f|0)!=(a[15679]|0)):0)?(r[A+144>>0]|0)==0:0){if(f|0){h3(f)|0;a[i>>2]=0}a[e>>2]=0}return}function gg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+1056|0;f=t;l=t+24|0;n=t+8|0;a[n>>2]=i;r=k4(l,1024,e,n)|0;if((r|0)>=0){if((r|0)>1023){r=$F(r+1|0)|0;a[n>>2]=i;f=r;r=O4(r,e,n)|0}else f=l;wg(A,f,r)|0;if((f|0)!=(l|0))L2(f)}else{a[f>>2]=e1(a[(X2()|0)>>2]|0)|0;ao(1,98308,f)|0}k=t;return}function Eg(A,e){A=A|0;e=+e;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=Cg(r,e)|0;wg(A,f,a[r>>2]|0)|0;k=i;return}function Cg(A,e){A=A|0;e=+e;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;if(!(e<-1.0e15))if(!(e>1.0e15)){e=e*1.0e4;f=~~((e<0.0?-.5:.5)+e);if(!f){f=138394;i=1}else{s=(f|0)<0;b=4;t=0;i=194826;f=s?0-f|0:f;while(1){if(!((f|0)!=0|(b|0)>0))break;n=(f|0)%10|0;c=(f|0)/10|0;l=i+-1|0;if((n|0)==0&t<<24>>24==0)f=0;else{r[l>>0]=n|48;f=1;i=l}if((b|0)==1)if(!(f<<24>>24))f=1;else{i=i+-1|0;r[i>>0]=46;f=1}b=b+-1|0;t=f;f=c}if(s){i=i+-1|0;r[i>>0]=45}f=i;i=194826-i|0}}else{f=98323;i=18}else{f=98322;i=19}a[A>>2]=i;return f|0}function Ig(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=Cg(r,+b[e>>3])|0;wg(A,f,a[r>>2]|0)|0;wg(A,102604,1)|0;e=Cg(r,+b[e+8>>3])|0;wg(A,e,a[r>>2]|0)|0;k=i;return}function Zg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;r=0;while(1){l=e+(r<<4)|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];Ig(A,f);r=r+1|0;if((r|0)>=(i|0))break;wg(A,102604,1)|0}k=n;return}function Gg(A,e){A=A|0;e=e|0;var i=0;i=qF(392)|0;if(i|0){a[i>>2]=20156;a[i+16>>2]=23;a[i+32>>2]=A;a[i+36>>2]=e}return i|0}function Qg(A){A=A|0;var e=0,i=0,r=0,f=0;e=qF(392)|0;i=e;r=A;f=i+40|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));f=e+60|0;r=A+60|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[f+16>>2]=a[r+16>>2];f=e+80|0;r=A+80|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[f+16>>2]=a[r+16>>2];return e|0}function mg(A){A=A|0;Mg(A);L2(A);return}function Lg(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=a[r>>2]|0;if(i){r=a[46999]|0;if(r){i=a[r+4>>2]|0;if(!i){i=qF(632)|0;a[(a[46999]|0)+4>>2]=i}}}else{i=qF(632)|0;a[r>>2]=i;a[A+164>>2]=i}a[46999]=i;a[i+32>>2]=e;a[i>>2]=A;return}function Wg(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=a[r>>2]|0;if(i){r=a[47e3]|0;if(r){i=a[r+4>>2]|0;if(!i){i=qF(632)|0;a[(a[47e3]|0)+4>>2]=i}}}else{i=qF(632)|0;a[r>>2]=i;a[A+164>>2]=i}a[47e3]=i;a[i+52>>2]=e;a[i>>2]=A;return(Jg(A,3,e)|0)!=0|0}function yg(A){A=A|0;var e=0;e=a[A+160>>2]|0;a[A+164>>2]=e;return e|0}function zg(A){A=A|0;var e=0,i=0,r=0;A=A+164|0;e=a[A>>2]|0;i=a[e+4>>2]|0;if(i|0?(r=i+52|0,(a[r>>2]|0)==0):0)a[r>>2]=a[e+52>>2];a[A>>2]=i;return i|0}function Yg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;f=e+10|0;if((a[r>>2]|0)>(e|0))A=a[A>>2]|0;else{a[r>>2]=f;f=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=f;A=f}a[A+(e<<2)>>2]=i;return}function Dg(A){A=A|0;var e=0;e=a[A>>2]|0;if(e|0)L2(e);a[A>>2]=0;a[A+8>>2]=0;a[A+4>>2]=0;return}function Mg(A){A=A|0;var e=0,i=0,r=0;i=A+160|0;e=a[i>>2]|0;while(1){if(!e)break;r=a[e+4>>2]|0;Dg(e+604|0);Dg(e+592|0);L2(a[e+584>>2]|0);L2(a[e+588>>2]|0);L2(e);e=r}a[47e3]=0;a[46999]=0;a[A+192>>2]=0;a[A+164>>2]=0;a[i>>2]=0;a[A+28>>2]=0;return}function Fg(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0;w=k;k=k+128|0;b=w+64|0;s=w;x4(b,i,63)|0;t=G1(b,58)|0;if(t|0)r[t>>0]=0;A=A+60+(e<<2)|0;while(1){e=a[A>>2]|0;if(!e){e=A;A=0;break}x4(s,a[e+4>>2]|0,63)|0;e=G1(s,58)|0;if(e|0)r[e>>0]=0;if((A1(b,s)|0)<1){c=9;break}A=a[A>>2]|0}while(1){if((c|0)==9){e=A;A=a[A>>2]|0}if(!A)break;x4(s,a[A+4>>2]|0,63)|0;A=G1(s,58)|0;if(A|0)r[A>>0]=0;if(A1(b,s)|0)break;A=a[e>>2]|0;if((a[A+8>>2]|0)<=(f|0))break;c=9}s=$F(20)|0;a[s>>2]=a[e>>2];a[e>>2]=s;a[s+4>>2]=i;a[s+8>>2]=f;a[s+12>>2]=n;a[s+16>>2]=l;k=w;return 1}function Vg(A,e){A=A|0;e=e|0;e=k;k=k+16|0;ao(1,98396,e)|0;k=e;return 0}function Jg(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+144|0;d=B;u=B+80|0;o=B+16|0;w=(e+-3|0)>>>0<2?0:e;x4(u,i,63)|0;i=G1(u,58)|0;if(i){f=i+1|0;r[i>>0]=0;i=G1(f,58)|0;if(!i)s=0;else{r[i>>0]=0;s=i+1|0}}else{s=0;f=0}t=(f|0)!=0;c=(s|0)==0;b=(w|0)==(e|0);l=A+60+(e<<2)|0;A:while(1){i=a[l>>2]|0;if(!i){i=0;break}x4(o,a[i+4>>2]|0,63)|0;i=G1(o,58)|0;if(!i)i=0;else{r[i>>0]=0;i=i+1|0}do{if(!(A1(o,u)|0)){n=(i|0)!=0;if(t&n?A1(i,f)|0:0)break;if(!c?A1(s,a[(a[(a[l>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(b|n^1){h=16;break A}if(Jg(A,w,i)|0){h=16;break A}}}while(0);l=a[l>>2]|0}do{if((h|0)==16){i=a[l>>2]|0;if(i){f=i+16|0;if((a[f>>2]|0)==0?(Vg(0,0)|0,(a[f>>2]|0)==0):0){i=0;break}if((a[A+8>>2]|0)>0){h=a[15712]|0;u=a[i+4>>2]|0;o=a[(a[i+12>>2]|0)+8>>2]|0;a[d>>2]=a[20168+(e<<2)>>2];a[d+4>>2]=u;a[d+8>>2]=o;f3(h,98427,d)|0}}else i=0}}while(0);a[A+80+(e<<2)>>2]=i;k=B;return i|0}function Ng(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;do{if(!i)i=0;else{if(a[5047]|0){co(188004,0,0);a[5047]=0}l=s3(i)|0;i=G1(l,58)|0;if(i){r[i>>0]=0;f=A+60+(e<<2)|0;i=1;n=f;while(1){A=a[n>>2]|0;if(!A)break;e=s3(a[A+4>>2]|0)|0;A=G1(e,58)|0;if(A|0)r[A>>0]=0;if(!((r[l>>0]|0)!=0?(N1(l,e)|0)!=0:0)){i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=32;wo(188004,a[(a[n>>2]|0)+4>>2]|0)|0;i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=58;wo(188004,a[(a[(a[n>>2]|0)+12>>2]|0)+8>>2]|0)|0;i=0}L2(e);n=a[n>>2]|0}L2(l);if(i<<24>>24){n=0;t=19}}else{L2(l);n=0;f=A+60+(e<<2)|0;i=1;t=19}if((t|0)==19){while(1){A=a[f>>2]|0;if(!A)break;e=s3(a[A+4>>2]|0)|0;A=G1(e,58)|0;if(A|0)r[A>>0]=0;if(!((n|0)!=0?(N1(n,e)|0)==0:0)){i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=32;wo(188004,e)|0;i=0}n=e;f=a[f>>2]|0;t=19}if(i<<24>>24){i=195059;break}}i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}r[i>>0]=0;i=a[47001]|0;a[47002]=i}}while(0);return i|0}function Xg(A){A=A|0;var e=0;if(!A)vA(111208,98444,573,98458);if(!(r[A>>0]|0))vA(111213,98444,574,98458);e=a[47005]|0;if(!e)A=0;else A=W5[a[e>>2]&63](e,A,512)|0;return A|0}function Rg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;if(!A)vA(111312,98444,589,98475);n=A+8|0;i=a[n>>2]|0;if(!i)vA(111315,98444,590,98475);if(!(r[i>>0]|0))vA(111324,98444,591,98475);l=A+20|0;f=a[l>>2]|0;do{if(!f){e=WR(i)|0;if(!e){a[t>>2]=a[n>>2];ao(0,98499,t)|0;e=0;break}t=F3(e,138821)|0;a[l>>2]=t;if(!t){a[c>>2]=e1(a[(X2()|0)>>2]|0)|0;a[c+4>>2]=e;ao(0,98524,c)|0;e=0;break}e=a[47006]|0;if((e|0)>49){r[A+17>>0]=1;e=1;break}else{a[47006]=e+1;e=1;break}}else{O3(f,0,0)|0;if(!(a[l>>2]|0))vA(98545,98444,614,98475);else e=1}}while(0);k=b;return e|0}function Hg(A){A=A|0;var e=0,i=0;if(r[A+17>>0]|0?(e=A+20|0,i=a[e>>2]|0,i|0):0){h3(i)|0;a[e>>2]=0}return}function pg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0;if(!e){r=-1;i=-1}else{r=a[e+48>>2]|0;f=+(r|0);if(!r){n=+b[i>>3];f=+b[i+8>>3]}else{b[i+8>>3]=f;b[i>>3]=f;n=f}r=~~(+((a[e+40>>2]|0)*72|0)/n);i=~~(+((a[e+44>>2]|0)*72|0)/f)}a[A>>2]=r;a[A+4>>2]=i;return}function Ug(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=k;k=k+48|0;f=s+16|0;t=s;c=s+32|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){if((0==0?(n=a[47133]|0,(a[47007]|0)!=(n|0)):0)?(a[47007]=n,l=a[47005]|0,l|0):0){pk(l)|0;a[47005]=0}w=+b[(a[(a[e+16>>2]|0)+8>>2]|0)+24>>3];w=!(w>=1.0)?96.0:w;b[t+8>>3]=w;b[t>>3]=w;e=xg(i)|0;a[f>>2]=a[t>>2];a[f+4>>2]=a[t+4>>2];a[f+8>>2]=a[t+8>>2];a[f+12>>2]=a[t+12>>2];pg(c,e,f);e=a[c>>2]|0;f=a[c+4>>2]|0}else{e=-1;f=-1}a[A>>2]=e;a[A+4>>2]=f;k=s;return}function xg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;r=f;if(!A)vA(111208,98444,638,98551);if(!(a[47005]|0))a[47005]=jk(20192,a[4589]|0)|0;e=Xg(A)|0;A:do{if(!e){e=qF(64)|0;if(!e)e=0;else{i=e+8|0;a[i>>2]=aB(0,A)|0;if(!((Rg(e)|0)<<24>>24)){Tg(e);e=0;break}if(!(a[e+20>>2]|0))vA(98545,98444,653,98551);do{switch(jg(e)|0){case 0:{A=GN(a[i>>2]|0)|0;a[e+52>>2]=A;if(!A){a[r>>2]=a[i>>2];ao(0,98568,r)|0;Tg(e);e=0;break A}break}case 2:{Sg(e);break}case 3:{Pg(e);break}case 1:{Og(e);break}case 4:{Kg(e);break}case 6:{_g(e);break}case 11:{qg(e);break}case 8:{$g(e);break}case 5:{AE(e);break}case 12:{eE(e);break}default:{}}}while(0);Hg(e);r=a[47005]|0;W5[a[r>>2]&63](r,e,1)|0}}else Hg(e)}while(0);k=f;return e|0}function Tg(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(e|0)lB(0,e)|0;L2(A);return}function jg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+224|0;f=c+200|0;n=c;l=A+20|0;e=a[l>>2]|0;A:do{if((e|0)!=0?(a6(f,1,20,e)|0)==20:0){i=0;while(1){if(i>>>0>=10){t=13;break A}if(!(F4(f,a[20228+(i<<4)>>2]|0,a[20228+(i<<4)+4>>2]|0)|0))break;i=i+1|0}r=A+28|0;a[r>>2]=a[20228+(i<<4)+12>>2];e=a[20228+(i<<4)+8>>2]|0;A=A+24|0;a[A>>2]=e;switch(i|0){case 7:break;case 8:{if(F4(f+8|0,98784,4)|0)break A;a[r>>2]=98789;a[A>>2]=11;e=11;break A}default:break A}while(1){if(!(N4(n,200,a[l>>2]|0)|0)){t=11;break}if(!(F4(n,98779,4)|0)){t=8;break}}if((t|0)==8){a[r>>2]=101803;a[A>>2]=8;e=8;break}else if((t|0)==11){e=a[A>>2]|0;break}}else t=13}while(0);if((t|0)==13){a[A+28>>2]=98794;a[A+24>>2]=0;e=0}k=c;return e|0}function Sg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,6,0)|0;if((bE(a[r>>2]|0,2,e)|0)<<24>>24?(bE(a[r>>2]|0,2,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function Pg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,16,0)|0;if((iE(a[r>>2]|0,4,e)|0)<<24>>24?(iE(a[r>>2]|0,4,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function Og(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;e=l+12|0;i=l+8|0;r=l+4|0;f=l;a[A+48>>2]=0;n=A+20|0;O3(a[n>>2]|0,16,0)|0;if((((bE(a[n>>2]|0,2,e)|0)<<24>>24?(bE(a[n>>2]|0,2,i)|0)<<24>>24:0)?(bE(a[n>>2]|0,2,r)|0)<<24>>24:0)?(bE(a[n>>2]|0,2,f)|0)<<24>>24:0){a[A+40>>2]=a[e>>2]<<16|a[i>>2];a[A+44>>2]=a[r>>2]<<16|a[f>>2]}k=l;return}function Kg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+32|0;e=s+16|0;r=s+12|0;f=s+8|0;l=s+4|0;t=s;a[A+48>>2]=0;c=A+20|0;while(1){if(!((iE(a[c>>2]|0,1,e)|0)<<24>>24))break;i=a[e>>2]|0;if((i|0)==255)continue;if(G1(98767,i)|0)continue;if((i|0)==192){b=6;break}n=a[c>>2]|0;if((i|0)==194){b=11;break}if(!((iE(n,2,r)|0)<<24>>24))break;O3(a[c>>2]|0,(a[r>>2]|0)+-2|0,1)|0}if((b|0)==6){if(((iE(a[c>>2]|0,3,t)|0)<<24>>24?(iE(a[c>>2]|0,2,f)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,l)|0)<<24>>24:0){a[A+44>>2]=a[f>>2];a[A+40>>2]=a[l>>2]}}else if((((b|0)==11?(iE(n,3,t)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,f)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,l)|0)<<24>>24:0){a[A+44>>2]=a[f>>2];a[A+40>>2]=a[l>>2]}k=s;return}function _g(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+1056|0;c=s;e=s+32|0;r=s+28|0;f=s+24|0;n=s+20|0;l=s+16|0;a[A+48>>2]=72;t=A+20|0;O3(a[t>>2]|0,0,0)|0;while(1){if(!(N4(e,1024,a[t>>2]|0)|0))break;i=X4(e,98752)|0;if(!i)continue;a[c>>2]=r;a[c+4>>2]=f;a[c+8>>2]=n;a[c+12>>2]=l;if((J3(i,104311,c)|0)==4){b=5;break}}if((b|0)==5){c=a[r>>2]|0;a[A+32>>2]=c;b=a[f>>2]|0;a[A+36>>2]=b;a[A+40>>2]=(a[n>>2]|0)-c;a[A+44>>2]=(a[l>>2]|0)-b}k=s;return}function qg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;e=n+4|0;i=n;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,15,0)|0;l=(s6(a[r>>2]|0)|0)==88;f=a[r>>2]|0;if(l){O3(f,24,0)|0;if((bE(a[r>>2]|0,4,e)|0)<<24>>24?(bE(a[r>>2]|0,4,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}}else{O3(f,26,0)|0;if((bE(a[r>>2]|0,2,e)|0)<<24>>24?(bE(a[r>>2]|0,2,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}}k=n;return}function $g(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0;z=k;k=k+352|0;L=z+80|0;m=z+72|0;y=z+64|0;W=z+56|0;Q=z+48|0;e=z+40|0;B=z+32|0;v=z+24|0;g=z+16|0;E=z+8|0;C=z;I=z+328|0;Z=z+128|0;G=z+96|0;if(!(a[47008]|0)){if(u8(188036,98637,1)|0){a[e>>2]=98637;ao(1,98664,e)|0}a[47008]=188036}s=A+20|0;O3(a[s>>2]|0,0,0)|0;w=G+12|0;u=G+20|0;o=G+8|0;h=G+16|0;d=G+4|0;e=0;n=0;f=0;i=0;A:while(1){if(!(N4(Z,200,a[s>>2]|0)|0))break;if(n<<24>>24==0|e<<24>>24==0){l=Z;c=i}else break;e:while(1){t=f;i:while(1){while(1){if($8(188036,l,4,G,0)|0){f=t;i=c;continue A}r[l+(a[w>>2]|0)>>0]=0;r[l+(a[u>>2]|0)>>0]=0;i=l+(a[o>>2]|0)|0;f=l+(a[h>>2]|0)|0;l=l+((a[d>>2]|0)+1)|0;if(!(A1(i,141116)|0))break;if(!(A1(i,141048)|0))break i;if(A1(i,98711)|0)continue;a[L>>2]=v;a[L+4>>2]=g;a[L+8>>2]=E;a[L+12>>2]=C;if((J3(f,98719,L)|0)==4)break e}a[Q>>2]=B;a[Q+4>>2]=I;if((J3(f,98701,Q)|0)!=2){a[W>>2]=B;if((J3(f,101209,W)|0)==1){i=1;f=cE(+b[B>>3],98708)|0}else{i=n;f=t}}else{i=1;f=cE(+b[B>>3],I)|0}if(!(e<<24>>24)){e=0;n=i;t=f}else{n=i;i=c;continue A}}a[y>>2]=B;a[y+4>>2]=I;if((J3(f,98701,y)|0)!=2){a[m>>2]=B;if((J3(f,101209,m)|0)==1){e=1;i=cE(+b[B>>3],98708)|0}else i=c}else{e=1;i=cE(+b[B>>3],I)|0}if(!(n<<24>>24)){n=0;f=t;c=i}else{f=t;continue A}}e=1;n=1;f=~~(+b[E>>3]+1.0-+b[v>>3])>>>0;i=~~(+b[C>>3]+1.0-+b[g>>3])>>>0}a[A+48>>2]=0;a[A+40>>2]=f;a[A+44>>2]=i;k=z;return}function AE(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0;i=k;k=k+32|0;e=i;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,0,0)|0;if(!(rE(a[r>>2]|0,e)|0)){n=+b[e>>3];a[A+32>>2]=~~n;f=+b[e+8>>3];a[A+36>>2]=~~f;a[A+40>>2]=~~(+b[e+16>>3]-n);a[A+44>>2]=~~(+b[e+24>>3]-f)}k=i;return}function eE(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,6,0)|0;if((iE(a[r>>2]|0,1,e)|0)<<24>>24?(iE(a[r>>2]|0,1,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function iE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;a[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=s6(A)|0;if(o3(A)|0){r=0;break}a[i>>2]=a[i>>2]<<8|f;r=r+1|0}return r|0}function rE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+1040|0;i=l;r=l+16|0;while(1){if(!(N4(r,1024,A)|0)){A=1;break}f=X4(r,98627)|0;if(f|0){n=4;break}}if((n|0)==4){a[i+4>>2]=r;a[i>>2]=f+9;a[i+8>>2]=A;A=fE(i,e)|0}k=l;return A|0}function fE(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=k;k=k+1024|0;f=n;aE(A);i=r[a[A>>2]>>0]|0;if(!(i<<24>>24))i=(nE(A)|0)&255;else i=i<<24>>24;if((((i|0)==91?(a[A>>2]=(a[A>>2]|0)+1,lE(A,f),(tE(f,e)|0)==0):0)?(lE(A,f),(tE(f,e+8|0)|0)==0):0)?(lE(A,f),(tE(f,e+16|0)|0)==0):0){lE(A,f);i=(tE(f,e+24|0)|0)!=0&1}else i=1;k=n;return i|0}function aE(A){A=A|0;var e=0;e=a[A>>2]|0;while(1){e=r[e>>0]|0;if(!(e<<24>>24))e=(nE(A)|0)&255;else e=e<<24>>24;if(!((e&255)<<24>>24))break;if(!(Q1(e&255)|0))break;e=(a[A>>2]|0)+1|0;a[A>>2]=e}return}function nE(A){A=A|0;var e=0;e=A+4|0;if(!(N4(a[e>>2]|0,1024,a[A+8>>2]|0)|0))A=0;else{e=a[e>>2]|0;a[A>>2]=e;A=r[e>>0]|0}return A|0}function lE(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;aE(A);i=0;f=a[A>>2]|0;while(1){f=r[f>>0]|0;if(!(f<<24>>24))n=(nE(A)|0)&255;else n=f<<24>>24;f=n<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;r[e+i>>0]=n;i=i+1|0;f=(a[A>>2]|0)+1|0;a[A>>2]=f;if((i|0)==1023){i=1023;break}}r[e+i>>0]=0;return}function tE(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=k;k=k+16|0;f=r;i=+A8(A,f);if((a[f>>2]|0)==(A|0))A=1;else{b[e>>3]=i;A=0}k=r;return A|0}function cE(A,e){A=+A;e=e|0;var i=0.0;do{if(!(A1(e,98735)|0)){A=A*72.0;i=A;A=A>=0.0?.5:-.5}else{if(!(A1(e,98738)|0)){A=A*.75;i=A;A=A>=0.0?.5:-.5;break}if(!(A1(e,98741)|0)){A=A*12.0;i=A;A=A>=0.0?.5:-.5;break}if(A1(e,98708)|0?A1(e,98744)|0:0)if(!(A1(e,98746)|0)){A=A*28.346456664;i=A;A=A>=0.0?.5:-.5;break}else{e=(A1(e,98749)|0)==0;i=A*2.8346456663999997;return(e?~~(i+(i>=0.0?.5:-.5)):0)|0}i=A>=0.0?.5:-.5}}while(0);return~~(A+i)|0}function bE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;a[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=s6(A)|0;if(o3(A)|0){r=0;break}a[i>>2]=a[i>>2]|f<<(r<<3);r=r+1|0}return r|0}function sE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=a[e+20>>2]|0;if(A|0)h3(A)|0;if(a[e+52>>2]|0?(r=a[e+60>>2]|0,r|0):0)F5[r&127](e);L2(e);return}function wE(){var A=0;Yo(0,1,108224,105493)|0;A=Gg(0,1)|0;jr(A,0);return A|0}function uE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0;c=k;k=k+304|0;t=c+24|0;l=c+8|0;f=c;n=c+40|0;if((ur(A,i)|0)!=999)if((kr(A,e)|0)==-1)A=-1;else{A=a[e+16>>2]|0;i=A+16|0;if(!(r[(a[A+8>>2]|0)+81>>0]|0)){o=+b[i>>3];u=+b[A+24>>3];w=+b[A+32>>3];s=+b[A+40>>3];a[t>>2]=~~(o+(o>=0.0?.5:-.5));a[t+4>>2]=~~(u+(u>=0.0?.5:-.5));a[t+8>>2]=~~(w+(w>=0.0?.5:-.5));a[t+12>>2]=~~(s+(s>=0.0?.5:-.5));P4(n,98899,t)|0}else{s=+b[A+24>>3];w=+b[i>>3];u=+b[A+40>>3];o=+b[A+32>>3];a[l>>2]=~~(s+(s>=0.0?.5:-.5));a[l+4>>2]=~~(w+(w>=0.0?.5:-.5));a[l+8>>2]=~~(u+(u>=0.0?.5:-.5));a[l+12>>2]=~~(o+(o>=0.0?.5:-.5));P4(n,98899,l)|0}To(e,102671,n,195059)|0;A=0}else{A=Ng(A,1,i)|0;a[f>>2]=i;a[f+4>>2]=A;ao(1,111233,f)|0;A=-1}k=c;return A|0}function kE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=a[e+60>>2]|0;Wg(A,i)|0;e=a[A+164>>2]|0;a[e+56>>2]=mi(e,a[e+52>>2]|0)|0;if((Td(f,137483,0,1)|0)!=0?(a[(a[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(a[e+152>>2]&67108864)){to(98911,n);e=-1}else l=5;if((l|0)==5){a[e+36>>2]=r;if(!r){l=e+152|0;a[l>>2]=a[l>>2]|134217728}l=lF(A,f)|0;Wi(e);Mg(A);e=l}k=t;return e|0}function oE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=a[e+60>>2]|0;Wg(A,i)|0;e=a[A+164>>2]|0;a[e+56>>2]=mi(e,a[e+52>>2]|0)|0;if((Td(f,137483,0,1)|0)!=0?(a[(a[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(a[e+152>>2]&67108864)){to(98911,n);e=-1}else l=5;if((l|0)==5){Lg(A,r);l=lF(A,f)|0;Wi(e);Bg(e);Mg(A);e=l}k=t;return e|0}function hE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;l=s+8|0;n=s;e=a[e+60>>2]|0;Wg(A,i)|0;c=a[A+164>>2]|0;a[c+56>>2]=mi(c,a[c+52>>2]|0)|0;if((Td(e,137483,0,1)|0)!=0?(a[(a[e+16>>2]|0)+8>>2]|0)!=0:0)b=5;else if(!(a[c+152>>2]&67108864)){to(98911,n);e=-1}else b=5;do{if((b|0)==5){if(r|0?(t=m2(4096)|0,a[r>>2]=t,t|0):0){n=c+40|0;a[n>>2]=t;a[c+44>>2]=4096;i=c+48|0;a[i>>2]=0;e=lF(A,e)|0;Wi(c);if(!e){a[r>>2]=a[n>>2];a[f>>2]=a[i>>2]}Mg(A);break}ao(1,98932,l)|0;e=-1}}while(0);k=s;return e|0}function dE(A,e){A=A|0;e=e|0;xr(A,0,e);return}function BE(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+4288|0;y=D+8|0;W=D;z=4;Y=m2(40)|0;a[Y>>2]=0;G=D+4152|0;Q=D+4148|0;m=D+4128|0;c=D+4112|0;b=D+16|0;d=0;t=iA(24,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;A:do{if((l|0)!=1){if(!t){a[e>>2]=0;n=0;break}d=0;w=aA(29,i|0,Q|0,G|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;s=iA(23,40)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;hA(7,m|0,c|0,b|0,24,85);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){c=m+16|0;t=a[c>>2]|0;n=i;while(1){if(!n)break;d=0;rA(t|0,n|0,0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){Z=0;I=c;C=s;E=w;n=L;s=15;break A}d=0;n=rA(86,A|0,n|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){Z=0;I=c;C=s;E=w;n=L;s=15;break A}}Y=L6(188068,1,Y|0,z|0)|0;z=L;d=0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){Z=s;I=c;C=s;E=w;n=L;s=15}else{Z=s;I=c;C=s;E=w;n=0;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=0;E=w;n=L;s=15}}else{Z=0;I=0;C=0;E=0;n=L;s=15}}while(0);do{if((s|0)==15){A:while(1){e:do{if(!n){d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}g=E+(a[Q>>2]|0)|0;b=0;s=0;c=0;while(1){if(!i)break;d=0;n=rA(a[I>>2]|0,i|0,-1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,Y|0,z|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if((n|0)==0?(r[(a[i+16>>2]|0)+119>>0]|0)==3:0){if(!s){d=0;a[W>>2]=c;aA(30,g|0,137395,W|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;t=aA(31,A|0,E|0,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(53,t|0,137483,280,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}a[Z+(c<<2)>>2]=t;b=1;c=c+1|0}else t=s;d=0;nA(54,A|0,i|0,t|0,m|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}}else t=s;d=0;i=rA(86,A|0,i|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}s=t}d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}t=10;w=Z;u=C;o=C;v=C;while(1){if(!i){s=0;t=o;i=v;break e}d=0;n=rA(a[I>>2]|0,i|0,-1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){s=W6(a[l>>2]|0,Y|0,z|0)|0;if(!s)fe(l|0,B|0);L=B}else s=-1;if((s|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if(!n){d=0;a[y>>2]=c;aA(30,g|0,137395,y|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;h=aA(31,A|0,E|0,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(53,h|0,137483,280,1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){n=W6(a[l>>2]|0,Y|0,z|0)|0;if(!n)fe(l|0,B|0);L=B}else n=-1;if((n|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(54,A|0,i|0,h|0,m|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if((c|0)==(t|0)){t=c<<1;d=0;s=rA(87,u|0,c<<3|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}n=s;u=s;o=s;l=s}else{n=w;l=v}a[n+(c<<2)>>2]=h;w=n;c=c+1|0;s=l}else s=v;d=0;i=rA(86,A|0,i|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}v=s}}else{s=1;b=0;w=Z;c=0;t=C;i=C}}while(0);d=0;sA(108,m|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}if((E|0)!=(G|0)){d=0;sA(105,E|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}}if(!s){d=0;n=rA(87,i|0,c<<2|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}else{s=58;break}}a[e>>2]=0;n=0;while(1){if((n|0)>=(c|0))break;d=0;iA(26,a[w+(n<<2)>>2]|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}n=n+1|0}d=0;sA(105,t|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15}else{s=56;break}}if((s|0)==56){n=0;break}else if((s|0)==58){a[e>>2]=c;r[f>>0]=b;break}}}while(0);L2(Y|0);k=D;return n|0}function vE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if(!((A|0)!=0?(LE(A)|0)!=0:0))A=98988;r=S2(A)|0;if((r|0)>=104){i=$F(r+25|0)|0;if(!i)i=0;else f=6}else f=6;if((f|0)==6){$1(i,A)|0;a[e>>2]=r}return i|0}function gE(A,e){A=A|0;e=e|0;kd(e,A,1)|0;return}function EE(A,e){A=A|0;e=e|0;var i=0;A=(a[A+16>>2]|0)+157|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function CE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a[e>>2]=i;a[e+4>>2]=i+4096;a[e+12>>2]=0;a[e+8>>2]=0;a[A>>2]=e;a[A+4>>2]=e;a[A+8>>2]=i;a[A+12>>2]=r;a[A+16>>2]=f;return}function IE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;QE(r,e);t=r+12|0;c=r+16|0;e=0;A:while(1){b=mE(r)|0;if(!b)break;e=e+1|0;f=a[t>>2]|0;if(f|0)V5[f&63](b,i);l=Ah(A,b)|0;while(1){if(!l)continue A;n=a[l>>2]&3;f=a[((n|0)==3?l:l+48|0)+40>>2]|0;if((f|0)==(b|0))f=a[((n|0)==2?l:l+-48|0)+40>>2]|0;if(!(m5[a[c>>2]&127](f,-1)|0))QE(r,f);l=eh(A,l,b)|0}}return e|0}function ZE(A){A=A|0;var e=0;A=a[(a[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=a[A+12>>2]|0;GE(A);A=e}return}function GE(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function QE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;f=b;n=A+8|0;t=A+4|0;i=a[t>>2]|0;if((a[n>>2]|0)==(a[i+4>>2]|0)){i=a[i+12>>2]|0;do{if(!i){r=$F(16)|0;if(!r){ao(1,98969,f)|0;fe(188068,1)}a[r+8>>2]=a[t>>2];a[r+12>>2]=0;i=$F(4e6)|0;a[r>>2]=i;if(!i){ao(1,98969,c)|0;fe(188068,1)}else{a[r+4>>2]=i+4e6;a[(a[t>>2]|0)+12>>2]=r;l=r;break}}else l=i}while(0);a[t>>2]=l;a[n>>2]=a[l>>2]}m5[a[A+16>>2]&127](e,1)|0;c=a[n>>2]|0;a[n>>2]=c+4;a[c>>2]=e;k=b;return}function mE(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+8|0;e=a[f>>2]|0;i=A+4|0;r=a[i>>2]|0;if((e|0)==(a[r>>2]|0))if((r|0)==(a[A>>2]|0))e=0;else{e=a[r+8>>2]|0;a[i>>2]=e;e=a[e+4>>2]|0;a[f>>2]=e;n=4}else n=4;if((n|0)==4){e=e+-4|0;a[f>>2]=e;e=a[e>>2]|0}return e|0}function LE(A){A=A|0;var e=0;A:while(1){e=A;A=A+1|0;e=r[e>>0]|0;switch(e<<24>>24){case 95:continue A;case 0:{A=1;break A}default:{}}if(!(V1(e&255)|0)){A=0;break}}return A|0}function WE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+4272|0;I=Q;Z=4;G=m2(40)|0;a[G>>2]=0;g=Q+4144|0;E=Q+4140|0;C=Q+4120|0;l=Q+4104|0;t=Q+8|0;d=0;f=iA(24,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){r=W6(a[n>>2]|0,G|0,Z|0)|0;if(!r)fe(n|0,B|0);L=B}else r=-1;A:do{if((r|0)!=1)if(f){d=0;b=aA(29,i|0,E|0,g|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;c=iA(23,40)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;hA(7,C|0,l|0,t|0,24,85);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;f=iA(25,A|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){l=C+16|0;n=a[l>>2]|0;r=f;while(1){if(!r)break;d=0;rA(n|0,r|0,0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){v=l;h=c;o=b;r=L;c=14;break A}d=0;r=rA(86,A|0,r|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){v=l;h=c;o=b;r=L;c=14;break A}}G=L6(188068,1,G|0,Z|0)|0;Z=L;d=0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){v=l;h=c;o=b;r=L;c=14}else{v=l;h=c;o=b;r=0;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=0;o=b;r=L;c=14}}else{i=0;r=0}else{v=0;h=0;o=0;r=L;c=14}}while(0);A:do{if((c|0)==14){e:while(1){if(r|0){d=0;sA(108,C|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}d=0;sA(105,h|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}if((o|0)==(g|0)){i=0;r=0;break A}d=0;sA(105,o|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}else{c=19;break}}d=0;f=iA(25,A|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}u=o+(a[E>>2]|0)|0;l=10;b=h;r=0;c=h;w=h;while(1){if(!f)break;d=0;i=rA(a[v>>2]|0,f|0,-1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,G|0,Z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}if(!i){d=0;a[I>>2]=r;aA(30,u|0,137395,I|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;s=aA(31,A|0,o|0,1)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;nA(53,s|0,137483,280,1)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;nA(54,A|0,f|0,s|0,C|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}if((r|0)==(l|0)){l=r<<1;d=0;t=rA(87,c|0,r<<3|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}n=t;c=t;i=t}else{n=b;i=w}a[n+(r<<2)>>2]=s;r=r+1|0;b=n;t=i}else t=w;d=0;f=rA(86,A|0,f|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}w=t}d=0;sA(108,C|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}d=0;i=rA(87,w|0,r<<2|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,G|0,Z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}if((o|0)==(g|0))break A;d=0;sA(105,o|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,G|0,Z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14}else{c=39;break}}if((c|0)==19){i=0;r=0;break}else if((c|0)==39)break}}while(0);a[e>>2]=r;L2(G|0);k=Q;return i|0}function yE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=0;f=cd(A)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;if(kd(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,0)|0){wh(A,r,1)|0;i=i+1|0}r=_o(e,r)|0}f=bd(A,f)|0}return i|0}function zE(A){A=A|0;A=Ud(A,98993,0)|0;if(!A)vA(98998,99001,529,99010);else return a[A+8>>2]|0;return 0}function YE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;g=k;k=k+4320|0;B=g+24|0;d=g+8|0;h=g;v=g+4184|0;o=g+4160|0;f=g+40|0;if(vh(A)|0){Kd(A,0,99019,-12,0);Kd(A,1,99031,16,0);u=vE(i,f,v)|0;b=DE(A)|0;s=$F((vh(b)|0)<<2)|0;CE(o,g+4144|0,g+48|0,24,88);l=cd(b)|0;w=o+16|0;t=u+(a[f>>2]|0)|0;c=a[15712]|0;i=0;while(1){if(!l)break;if(!(m5[a[w>>2]&127](l,-1)|0)){a[h>>2]=i;P4(t,99933,h)|0;E=XB(b,u,1)|0;C=XB(A,u,1)|0;Td(C,99019,12,0)|0;r[(Ud(C,99019,0)|0)+8>>0]=1;f=IE(b,l,E,o)|0;FE(E,C);n=VE(C)|0;JE(A,C);a[s+(i<<2)>>2]=C;Cd(b,E)|0;if(0){a[d>>2]=i;a[d+4>>2]=f;a[d+8>>2]=n;f3(c,99043,d)|0}i=i+1|0}l=bd(b,l)|0}if(0){d=vh(A)|0;E=gh(A)|0;C=Vh(A)|0;a[B>>2]=d;a[B+4>>2]=E;a[B+8>>2]=i;a[B+12>>2]=C;f3(c,99073,B)|0}Bh(b)|0;_d(A,0,99019);_d(A,1,99031);ZE(o);f=eV(s,i<<2)|0;if((u|0)!=(v|0))L2(u)}else{f=0;i=0}a[e>>2]=i;k=g;return f|0}function DE(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;r[l>>0]=r[18596]|0;r[l+1>>0]=r[18597]|0;r[l+2>>0]=r[18598]|0;r[l+3>>0]=r[18599]|0;l=kh(99120,l,0)|0;RE(l,A);e=cd(A)|0;while(1){if(!e)break;if(!(a[(Ud(e,99031,0)|0)+12>>2]|0)){n=vd(l,Vh(e)|0,1)|0;Td(n,99031,16,1)|0;a[(a[n+16>>2]|0)+12>>2]=e;a[(Ud(e,99031,0)|0)+12>>2]=n}e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;f=a[(Ud(i,99031,0)|0)+12>>2]|0;e=Oo(A,i)|0;while(1){if(!e)break;n=a[(Ud(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,99031,0)|0)+12>>2]|0;do{if((n|0)!=(f|0))if(n>>>0>f>>>0){th(l,f,n,0,1)|0;break}else{th(l,n,f,0,1)|0;break}}while(0);e=_o(A,e)|0}i=bd(A,i)|0}k=t;return l|0}function ME(A,e){A=A|0;e=e|0;var i=0;A=(a[A+16>>2]|0)+8|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function FE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=cd(A)|0;while(1){if(!r)break;f=a[(a[r+16>>2]|0)+12>>2]|0;A:do{if((a[f>>2]&3|0)==1)kd(e,f,1)|0;else{i=cd(f)|0;while(1){if(!i)break A;kd(e,i,1)|0;i=bd(f,i)|0}}}while(0);r=bd(A,r)|0}return}function VE(A){A=A|0;return yE(A,a[A+60>>2]|0)|0}function JE(A,e){A=A|0;e=e|0;NE(A,e,0);return}function NE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,n=0;n=(i|0)==0;A=RB(A)|0;while(1){if(!A)break;if((r[(Ud(A,99019,0)|0)+8>>0]|0)==0?(a=XE(A,e,i)|0,a|0):0){if(n)f=(Z1(Vh(A)|0,108006,7)|0)==0;else f=1;NE(A,a,f&1)}A=HB(A)|0}return}function XE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=0;n=cd(A)|0;while(1){if(!n)break;f=vd(e,Vh(n)|0,0)|0;if(f){if(!r)r=XB(e,Vh(A)|0,1)|0;kd(r,f,1)|0}n=bd(A,n)|0}if((i|0)!=0&(r|0)==0)r=XB(e,Vh(A)|0,1)|0;if(r|0?(yE(r,A)|0,jo(A,r)|0,(Z1(Vh(r)|0,108006,7)|0)==0):0)a[(Td(r,98993,12,0)|0)+8>>2]=A;return r|0}function RE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+16|0;n=l;i=RB(e)|0;r=a[15712]|0;while(1){if(!i)break;A:do{if(!(Z1(Vh(i)|0,108006,7)|0)){f=vd(A,Vh(i)|0,1)|0;Td(f,99031,16,1)|0;a[(a[f+16>>2]|0)+12>>2]=i;e=cd(i)|0;while(1){if(!e)break A;if(a[(Ud(e,99031,0)|0)+12>>2]|0){b=Vh(e)|0;c=Vh(i)|0;t=Vh(a[(Ud(e,99031,0)|0)+12>>2]|0)|0;a[n>>2]=b;a[n+4>>2]=c;a[n+8>>2]=t;f3(r,99123,n)|0}a[(Ud(e,99031,0)|0)+12>>2]=f;e=bd(i,e)|0}}else RE(A,i)}while(0);i=HB(i)|0}k=l;return}function HE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;u=+b[A>>3];t=~~(u+(u>=0.0?.5:-.5));u=+b[A+8>>3];A=~~(u+(u>=0.0?.5:-.5));u=+b[e>>3];n=~~(u+(u>=0.0?.5:-.5));u=+b[e+8>>3];a=~~(u+(u>=0.0?.5:-.5));s=n-t|0;l=((s|0)>-1?s:0-s|0)<<1;s=s>>31|1;w=a-A|0;c=((w|0)>-1?w:0-w|0)<<1;w=w>>31|1;A:do{if((l|0)>(c|0)){f=0-l|0;r=c-(l>>1)|0;e=t;while(1){aJ(i,e,A);if((e|0)==(n|0))break A;t=(r|0)>-1;r=r+c+(t?f:0)|0;e=e+s|0;A=(t?w:0)+A|0}}else{f=0-c|0;r=t;e=l-(c>>1)|0;while(1){aJ(i,r,A);if((A|0)==(a|0))break A;c=(e|0)>-1;r=(c?s:0)+r|0;e=e+l+(c?f:0)|0;A=A+w|0}}}while(0);return}function pE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;b=w;c=w+4|0;do{if((A|0)<1)i=0;else{f=r+16|0;if((a[f>>2]|0)>>>0<4){i=UE(A,e,i,r)|0;break}s=$F(A<<5)|0;i=0;while(1){if((i|0)==(A|0))break;n=a[e+(i<<2)>>2]|0;xR(n);l=s+(i<<5)|0;n=(a[n+16>>2]|0)+16|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];a[l+16>>2]=a[n+16>>2];a[l+20>>2]=a[n+20>>2];a[l+24>>2]=a[n+24>>2];a[l+28>>2]=a[n+28>>2];i=i+1|0}if((a[f>>2]|0)==4){l=r+28|0;A:do{if(a[l>>2]&2|0){f=r+24|0;a[f>>2]=qF(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break A;n=po(a[e+(i<<2)>>2]|0,99190)|0;if(n|0?(a[b>>2]=c,n=(J3(n,137395,b)|0)>0,t=a[c>>2]|0,n&(t|0)>-1):0)a[(a[f>>2]|0)+(i<<2)>>2]=t;i=i+1|0}}}while(0);i=xE(A,s,r)|0;if(a[l>>2]&2)L2(a[r+24>>2]|0)}else i=0;L2(s)}}while(0);k=w;return i|0}function UE(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0.0,F=0.0,V=0.0;Y=k;k=k+144|0;m=Y+136|0;Q=Y+64|0;z=Y+48|0;E=Y+40|0;g=Y;v=Y+120|0;I=Y+104|0;L=Y+96|0;W=a[f+20>>2]|0;a[I>>2]=0;a[I+4>>2]=0;a[I+8>>2]=0;a[I+12>>2]=0;A:do{if((A|0)>=1){u=(W|0)==0;y=a[15712]|0;o=v+4|0;h=v+8|0;d=v+12|0;Z=I+4|0;C=I+8|0;G=I+12|0;w=0;n=0;while(1){if((w|0)==(A|0))break;B=a[e+(w<<2)>>2]|0;xR(B);if(!u?(r[W+w>>0]|0)!=0:0){s=a[B+16>>2]|0;D=+b[s+16>>3];l=~~(D+(D>=0.0?.5:-.5));a[v>>2]=l;D=+b[s+24>>3];t=~~(D+(D>=0.0?.5:-.5));a[o>>2]=t;D=+b[s+32>>3];c=~~(D+(D>=0.0?.5:-.5));a[h>>2]=c;D=+b[s+40>>3];s=~~(D+(D>=0.0?.5:-.5));a[d>>2]=s;if(!n){a[I>>2]=a[v>>2];a[I+4>>2]=a[v+4>>2];a[I+8>>2]=a[v+8>>2];a[I+12>>2]=a[v+12>>2]}else{a[I>>2]=a[((a[I>>2]|0)>(l|0)?v:I)>>2];a[Z>>2]=a[((a[Z>>2]|0)>(t|0)?v:I)+4>>2];a[C>>2]=a[((a[C>>2]|0)<(c|0)?v:I)+8>>2];a[G>>2]=a[((a[G>>2]|0)<(s|0)?v:I)+12>>2]}n=n+1|0}if(0>2){s=Vh(B)|0;B=a[B+16>>2]|0;V=+b[B+16>>3];F=+b[B+24>>3];M=+b[B+32>>3];D=+b[B+40>>3];a[g>>2]=s;b[g+8>>3]=V;b[g+16>>3]=F;b[g+24>>3]=M;b[g+32>>3]=D;f3(y,99257,g)|0}w=w+1|0}h=$F(A<<5)|0;n=0;while(1){if((n|0)==(A|0))break;g=h+(n<<5)|0;v=(a[(a[e+(n<<2)>>2]|0)+16>>2]|0)+16|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[g+16>>2]=a[v+16>>2];a[g+20>>2]=a[v+20>>2];a[g+24>>2]=a[v+24>>2];a[g+28>>2]=a[v+28>>2];n=n+1|0}u=f+8|0;o=SE(A,h,a[u>>2]|0)|0;if(0){a[E>>2]=o;f3(y,99285,E)|0}if((o|0)>=1){w=(W|0)!=0;if(w){l=((a[C>>2]|0)+(a[I>>2]|0)|0)/2|0;n=((a[G>>2]|0)+(a[Z>>2]|0)|0)/2|0}else{l=0;n=0}a[L+4>>2]=n;a[L>>2]=l;s=qF(A<<4)|0;c=f+16|0;n=0;while(1){if((n|0)>=(A|0))break;l=a[e+(n<<2)>>2]|0;t=s+(n<<4)|0;a[s+(n<<4)+12>>2]=n;if((a[c>>2]|0)==3){I=(a[l+16>>2]|0)+16|0;Z=a[u>>2]|0;G=Vh(l)|0;a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];a[Q+16>>2]=a[I+16>>2];a[Q+20>>2]=a[I+20>>2];a[Q+24>>2]=a[I+24>>2];a[Q+28>>2]=a[I+28>>2];a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];PE(Q,t,o,Z,m,G)}else{a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];OE(i,l,t,o,f,m)}n=n+1|0}t=qF(A<<2)|0;n=0;while(1){if((n|0)>=(A|0))break;a[t+(n<<2)>>2]=s+(n<<4);n=n+1|0}K4(t,A,4,89);c=$V()|0;n=qF(A<<3)|0;e:do{if(w){l=0;while(1){if((l|0)>=(A|0)){l=0;break}if(r[W+l>>0]|0){i=a[t+(l<<2)>>2]|0;f=n+(a[i+12>>2]<<3)|0;a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];_E(i,c,f,m)}l=l+1|0}while(1){if((l|0)>=(A|0))break e;if(!(r[W+l>>0]|0)){L=a[t+(l<<2)>>2]|0;qE(l,L,c,n+(a[L+12>>2]<<3)|0,o,a[u>>2]|0,h)}l=l+1|0}}else{l=0;while(1){if((l|0)>=(A|0))break e;W=a[t+(l<<2)>>2]|0;qE(l,W,c,n+(a[W+12>>2]<<3)|0,o,a[u>>2]|0,h);l=l+1|0}}}while(0);L2(t);l=0;while(1){if((l|0)>=(A|0))break;L2(a[s+(l<<4)+4>>2]|0);l=l+1|0}L2(s);iJ(c);L2(h);if(0>1){l=0;while(1){if((l|0)>=(A|0))break A;L=a[n+(l<<3)>>2]|0;W=a[n+(l<<3)+4>>2]|0;a[z>>2]=l;a[z+4>>2]=L;a[z+8>>2]=W;f3(y,99301,z)|0;l=l+1|0}}}else n=0}else n=0}while(0);k=Y;return n|0}function xE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0;G=k;k=k+16|0;n=G;I=qF(A<<3)|0;f=a[i+4>>2]|0;Z=i+28|0;r=(f|0)>0;do{if(!(a[Z>>2]&1))if(r){c=1;C=(A+-1+f|0)/(f|0)|0;break}else{f=~~+p(+ +z(+ +(A|0)));c=1;C=(A+-1+f|0)/(f|0)|0;break}else if(r){c=0;C=f;f=(A+-1+f|0)/(f|0)|0;break}else{f=~~+p(+ +z(+ +(A|0)));c=0;C=f;f=(A+-1+f|0)/(f|0)|0;break}}while(0);if(0){E=a[15712]|0;a[n>>2]=c|0?99196:99206;a[n+4>>2]=C;a[n+8>>2]=f;f3(E,99219,n)|0}v=qF((f<<3)+8|0)|0;g=qF((C<<3)+8|0)|0;E=qF(A*24|0)|0;t=i+8|0;r=0;n=E;while(1){if((r|0)>=(A|0))break;o=+b[e+(r<<5)+8>>3];u=+b[e+(r<<5)+24>>3];h=+((a[t>>2]|0)>>>0);b[n>>3]=+b[e+(r<<5)+16>>3]-+b[e+(r<<5)>>3]+h;b[n+8>>3]=u-o+h;a[n+16>>2]=r;r=r+1|0;n=n+24|0}B=qF(A<<2)|0;r=0;while(1){if((r|0)>=(A|0))break;a[B+(r<<2)>>2]=E+(r*24|0);r=r+1|0}r=a[i+24>>2]|0;if(!r){if(!(a[Z>>2]&64))K4(B,A,4,91)}else{a[47056]=r;K4(B,A,4,90)}d=(c|0)==0;r=0;n=0;t=0;while(1){if((t|0)>=(A|0)){l=0.0;r=0;break}c=a[B+(t<<2)>>2]|0;i=v+(n<<3)|0;h=+b[i>>3];o=+b[c>>3];b[i>>3]=h>o?h:o;i=g+(r<<3)|0;o=+b[i>>3];h=+b[c+8>>3];b[i>>3]=o>h?o:h;if(d){r=r+1|0;i=(r|0)==(C|0);r=i?0:r;n=n+(i&1)|0}else{n=n+1|0;i=(n|0)==(f|0);r=r+(i&1)|0;n=i?0:n}t=t+1|0}while(1){if((r|0)>(f|0)){l=0.0;r=C;break}i=v+(r<<3)|0;h=+b[i>>3];b[i>>3]=l;l=h+l;r=r+1|0}while(1){if((r|0)<=0)break;i=r+-1|0;h=+b[g+(i<<3)>>3];b[g+(r<<3)>>3]=l;l=h+l;r=i}b[g>>3]=l;r=0;n=0;i=0;while(1){if((i|0)>=(A|0))break;c=a[(a[B+(i<<2)>>2]|0)+16>>2]|0;l=+b[e+(c<<5)>>3];s=-l;o=+b[e+(c<<5)+8>>3];h=-o;w=+b[e+(c<<5)+16>>3];u=+b[e+(c<<5)+24>>3];t=a[Z>>2]|0;do{if(!(t&4))if(!(t&8)){l=(s-w+ +b[v+(n<<3)>>3]+ +b[v+(n+1<<3)>>3])*.5;break}else{l=l-w+ +b[v+(n+1<<3)>>3];break}else l=+b[v+(n<<3)>>3]}while(0);a[I+(c<<3)>>2]=~~l;do{if(!(t&16))if(!(t&32)){l=(h-u+ +b[g+(r<<3)>>3]+ +b[g+(r+1<<3)>>3])*.5;break}else{l=+b[g+(r+1<<3)>>3];break}else l=o-u+ +b[g+(r<<3)>>3]}while(0);a[I+(c<<3)+4>>2]=~~l;if(d){r=r+1|0;c=(r|0)==(C|0);r=c?0:r;n=n+(c&1)|0}else{n=n+1|0;c=(n|0)==(f|0);r=r+(c&1)|0;n=c?0:n}i=i+1|0}L2(E);L2(B);L2(v);L2(g);k=G;return I|0}function TE(A,e){A=A|0;e=e|0;var i=0;i=a[47056]|0;A=a[i+(a[(a[A>>2]|0)+16>>2]<<2)>>2]|0;e=a[i+(a[(a[e>>2]|0)+16>>2]<<2)>>2]|0;return((A|0)>(e|0)?1:((A|0)<(e|0))<<31>>31)|0}function jE(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A>>2]|0;e=a[e>>2]|0;r=+b[A>>3]+ +b[A+8>>3];i=+b[e>>3]+ +b[e+8>>3];return(ri)<<31>>31)|0}function SE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0,u=0.0,o=0,h=0,d=0,B=0;B=k;k=k+96|0;h=B+80|0;d=B+48|0;o=B+8|0;s=B;c=(A*100|0)+-1|0;r=+(i<<1|0);w=0.0;u=0.0;i=0;while(1){if((i|0)>=(A|0))break;t=+b[e+(i<<5)+16>>3]-+b[e+(i<<5)>>3]+r;l=+b[e+(i<<5)+24>>3]-+b[e+(i<<5)+8>>3]+r;w=w-t-l;u=u-l*t;i=i+1|0}l=+(c|0);t=w*w-l*4.0*u;if(!(t<0.0)){r=+z(+t);n=l*2.0;f=(r-w)/n;n=(-w-r)/n;i=~~f;i=(i|0)==0?1:i;if(0>2){s=a[15712]|0;L3(99444,27,1,s)|0;b[o>>3]=l;b[o+8>>3]=w;b[o+16>>3]=u;b[o+24>>3]=t;b[o+32>>3]=r;f3(s,99472,o)|0;a[d>>2]=i;b[d+8>>3]=f;a[d+16>>2]=~~n;b[d+24>>3]=n;f3(s,99498,d)|0;b[h>>3]=(f*l+w)*f+u;b[h+8>>3]=(n*l+w)*n+u;f3(s,99520,h)|0}}else{b[s>>3]=t;ao(1,99417,s)|0;i=-1}k=B;return i|0}function PE(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0.0;g=k;k=k+32|0;v=g+16|0;B=g;o=+b[A>>3];h=+b[A+8>>3];w=+b[A+16>>3];u=+b[A+24>>3];d=$V()|0;t=a[f>>2]|0;A=t-r|0;c=a[f+4>>2]|0;l=c-r|0;t=r-~~(o+(o>=0.0?.5:-.5))+t+~~(w+(w>=0.0?.5:-.5))|0;c=r-~~(h+(h>=0.0?.5:-.5))+c+~~(u+(u>=0.0?.5:-.5))|0;if((A|0)>-1)f=(A|0)/(i|0)|0;else f=((A+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)s=(l|0)/(i|0)|0;else s=((l+1|0)/(i|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(i|0)|0;else t=((t+1|0)/(i|0)|0)+-1|0;if((c|0)>-1)l=(c|0)/(i|0)|0;else l=((c+1|0)/(i|0)|0)+-1|0;while(1){if((f|0)>(t|0))break;else A=s;while(1){if((A|0)>(l|0))break;aJ(d,f,A);A=A+1|0}f=f+1|0}c=e+4|0;a[c>>2]=cJ(d)|0;t=tJ(d)|0;s=e+8|0;a[s>>2]=t;C=+(r<<1|0);E=+(i|0);l=~~+p(+((w+C-o)/E));A=~~+p(+((u+C-h)/E));a[e>>2]=A+l;A:do{if(0>2){f=a[15712]|0;a[B>>2]=n;a[B+4>>2]=t;a[B+8>>2]=l;a[B+12>>2]=A;f3(f,99376,B)|0;A=0;while(1){if((A|0)>=(a[s>>2]|0))break A;n=a[c>>2]|0;B=a[n+(A<<3)+4>>2]|0;a[v>>2]=a[n+(A<<3)>>2];a[v+4>>2]=B;f3(f,99403,v)|0;A=A+1|0}}}while(0);iJ(d);k=g;return}function OE(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0.0,U=0.0;R=k;k=k+128|0;z=R+112|0;y=R+104|0;X=R+16|0;N=R;D=R+64|0;M=R+56|0;G=R+40|0;Q=R+96|0;Z=R+88|0;E=R+24|0;C=R+80|0;I=R+72|0;V=a[f+8>>2]|0;Y=a[f+12>>2]|0;L=(A|0)==0?e:A;J=$V()|0;F=e+16|0;m=a[F>>2]|0;v=+b[m+16>>3];W=(a[n>>2]|0)-~~(v+(v>=0.0?.5:-.5))|0;v=+b[m+24>>3];m=(a[n+4>>2]|0)-~~(v+(v>=0.0?.5:-.5))|0;A:do{if((a[f+16>>2]|0)==1){E=$F((vh(e)|0)<<2)|0;A=0;n=cd(e)|0;while(1){if(!n)break;I=n+16|0;a[E+(A<<2)>>2]=a[(a[I>>2]|0)+112>>2];a[(a[I>>2]|0)+112>>2]=0;A=A+1|0;n=bd(e,n)|0}u=W-V|0;o=m-V|0;h=W+V|0;d=m+V|0;w=1;while(1){A=a[F>>2]|0;if((w|0)>(a[A+180>>2]|0))break;s=a[(a[A+184>>2]|0)+(w<<2)>>2]|0;l=a[s+16>>2]|0;v=+b[l+16>>3];A=~~(v+(v>=0.0?.5:-.5));v=+b[l+24>>3];n=~~(v+(v>=0.0?.5:-.5));v=+b[l+32>>3];f=~~(v+(v>=0.0?.5:-.5));v=+b[l+40>>3];l=~~(v+(v>=0.0?.5:-.5));e:do{if((f|0)>(A|0)&(l|0)>(n|0)){A=u+A|0;t=o+n|0;f=h+f|0;c=d+l|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(r|0)|0;else t=((t+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)l=(f|0)/(r|0)|0;else l=((f+1|0)/(r|0)|0)+-1|0;if((c|0)>-1)f=(c|0)/(r|0)|0;else f=((c+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=t;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}A=cd(s)|0;while(1){if(!A)break e;a[(a[A+16>>2]|0)+212>>2]=s;A=bd(s,A)|0}}}while(0);w=w+1|0}d=G+8|0;B=D+4|0;v=+(V|0);g=M+4|0;h=Q+4|0;o=Z+4|0;u=cd(e)|0;while(1){if(!u)break;QR(G,u);U=+b[G>>3];H=+b[d>>3];s=W+~~(U+(U>=0.0?.5:-.5))|0;a[D>>2]=s;w=m+~~(H+(H>=0.0?.5:-.5))|0;a[B>>2]=w;n=u+16|0;A=a[n>>2]|0;e:do{if(!(a[A+212>>2]|0)){a[M>>2]=~~((+b[A+96>>3]+ +b[A+88>>3])*.5+v);a[g>>2]=~~(+b[A+80>>3]*.5+v);a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];AC(Q,y,z);A=a[Q>>2]|0;f=a[h>>2]|0;a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];eC(Z,y,z);l=a[Z>>2]|0;t=a[o>>2]|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break e;a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y);A=_o(L,A)|0}}else{if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break e;if((a[(a[n>>2]|0)+212>>2]|0)!=(a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y)}A=_o(L,A)|0}}}while(0);u=bd(e,u)|0}A=0;n=cd(e)|0;while(1){if(!n)break;a[(a[n+16>>2]|0)+112>>2]=a[E+(A<<2)>>2];A=A+1|0;n=bd(e,n)|0}L2(E)}else{d=E+8|0;B=D+4|0;v=+(V|0);g=M+4|0;h=C+4|0;o=I+4|0;u=cd(e)|0;while(1){if(!u)break A;QR(E,u);H=+b[E>>3];U=+b[d>>3];s=W+~~(H+(H>=0.0?.5:-.5))|0;a[D>>2]=s;w=m+~~(U+(U>=0.0?.5:-.5))|0;a[B>>2]=w;A=a[u+16>>2]|0;a[M>>2]=~~((+b[A+96>>3]+ +b[A+88>>3])*.5+v);a[g>>2]=~~(+b[A+80>>3]*.5+v);a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];AC(C,y,z);A=a[C>>2]|0;f=a[h>>2]|0;a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];eC(I,y,z);l=a[I>>2]|0;t=a[o>>2]|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break;a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y);A=_o(L,A)|0}u=bd(e,u)|0}}}while(0);l=i+4|0;a[l>>2]=cJ(J)|0;t=i+8|0;a[t>>2]=tJ(J)|0;n=a[F>>2]|0;H=+(V<<1|0);U=+(r|0);A=~~+p(+((+b[n+32>>3]+H-+b[n+16>>3])/U));n=~~+p(+((+b[n+40>>3]+H-+b[n+24>>3])/U));a[i>>2]=n+A;A:do{if(0>2){f=a[15712]|0;i=Vh(e)|0;e=a[t>>2]|0;a[N>>2]=i;a[N+4>>2]=e;a[N+8>>2]=A;a[N+12>>2]=n;f3(f,99376,N)|0;A=0;while(1){if((A|0)>=(a[t>>2]|0))break A;e=a[l>>2]|0;N=a[e+(A<<3)+4>>2]|0;a[X>>2]=a[e+(A<<3)>>2];a[X+4>>2]=N;f3(f,99403,X)|0;A=A+1|0}}}while(0);iJ(J);k=R;return}function KE(A,e){A=A|0;e=e|0;return(a[a[e>>2]>>2]|0)-(a[a[A>>2]>>2]|0)|0}function _E(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+32|0;l=c+16|0;t=c;b=a[A+4>>2]|0;n=a[A+8>>2]|0;a[i>>2]=0-(a[r>>2]|0);f=i+4|0;a[f>>2]=0-(a[r+4>>2]|0);A=0;r=b;while(1){if((A|0)>=(n|0))break;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];rJ(e,l);A=A+1|0;r=r+8|0}if(0>1){b=a[15712]|0;e=a[i>>2]|0;i=a[f>>2]|0;a[t>>2]=n;a[t+4>>2]=e;a[t+8>>2]=i;f3(b,99350,t)|0}k=c;return}function qE(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0;c=a[e+12>>2]|0;s=+b[l+(c<<5)>>3];w=+b[l+(c<<5)+8>>3];u=+b[l+(c<<5)+16>>3];k=+b[l+(c<<5)+24>>3];if(!((A|0)==0?(h=+(n<<1|0),o=+(f|0),($E((~~+p(+((h-s+u)/o))|0)/-2|0,(~~+p(+((h-w+k)/o))|0)/-2|0,e,i,r,f,l)|0)!=0):0))t=3;A:do{if((t|0)==3?($E(0,0,e,i,r,f,l)|0)==0:0)if((~~+p(+(u-s))|0)<(~~+p(+(k-w))|0)){c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)<=(t|0)){n=t;break}if($E(t,A,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((n|0)>=(c|0))break;if($E(n,A,e,i,r,f,l)|0)break A;n=n+1|0}while(1){if((A|0)>=(c|0))break;if($E(n,A,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((n|0)<=(t|0))break;if($E(n,A,e,i,r,f,l)|0)break A;n=n+-1|0}while(1){if((A|0)<=0)break;if(!($E(n,A,e,i,r,f,l)|0))A=A+-1|0;else break A}c=c+1|0}}else{c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)>=(c|0)){n=t;break}if($E(A,t,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((n|0)>=(c|0))break;if($E(A,n,e,i,r,f,l)|0)break A;n=n+1|0}while(1){if((A|0)<=(t|0))break;if($E(A,n,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((n|0)<=(t|0))break;if($E(A,n,e,i,r,f,l)|0)break A;n=n+-1|0}while(1){if((A|0)>=0)break;if(!($E(A,n,e,i,r,f,l)|0))A=A+1|0;else break A}c=c+1|0}}}while(0);return}function $E(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0;v=k;k=k+48|0;d=v+32|0;B=v+8|0;h=v;s=i+4|0;u=a[i+8>>2]|0;o=h+4|0;t=a[s>>2]|0;c=0;while(1){if((c|0)>=(u|0)){w=5;break}E=t;g=a[E+4>>2]|0;a[h>>2]=(a[E>>2]|0)+A;a[o>>2]=g+e;a[d>>2]=a[h>>2];a[d+4>>2]=a[h+4>>2];if(nJ(r,d)|0){t=0;break}t=t+8|0;c=c+1|0}if((w|0)==5){i=a[i+12>>2]|0;I=+b[l+(i<<5)>>3];C=+b[l+(i<<5)+8>>3];a[f>>2]=(U(n,A)|0)-~~(I+(I>=0.0?.5:-.5));i=f+4|0;a[i>>2]=(U(n,e)|0)-~~(C+(C>=0.0?.5:-.5));t=a[s>>2]|0;c=0;while(1){if((c|0)>=(u|0))break;g=t;E=a[g+4>>2]|0;a[h>>2]=(a[g>>2]|0)+A;a[o>>2]=E+e;a[d>>2]=a[h>>2];a[d+4>>2]=a[h+4>>2];rJ(r,d);t=t+8|0;c=c+1|0}if(0>1){t=a[15712]|0;g=a[f>>2]|0;E=a[i>>2]|0;a[B>>2]=u;a[B+4>>2]=A;a[B+8>>2]=e;a[B+12>>2]=g;a[B+16>>2]=E;f3(t,99316,B)|0;t=1}else t=1}k=v;return t|0}function AC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[e+4>>2]|0)-(a[i+4>>2]|0)|0;a[A>>2]=(a[e>>2]|0)-(a[i>>2]|0);a[A+4>>2]=r;return}function eC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[i+4>>2]|0)+(a[e+4>>2]|0)|0;a[A>>2]=(a[i>>2]|0)+(a[e>>2]|0);a[A+4>>2]=r;return}function iC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+112|0;I=Q+96|0;C=Q+80|0;d=Q+48|0;B=Q+32|0;Z=Q+16|0;G=Q;w=Q+64|0;b[Z>>3]=+(a[e>>2]|0);v=Z+8|0;b[v>>3]=+(a[e+4>>2]|0);A:do{if((l|0)!=0?(g=A+16|0,s=a[(a[g>>2]|0)+8>>2]|0,(s|0)!=0):0){h=+(r|0);o=+(f|0);u=1.0/+(n|0);w=G+8|0;l=0;while(1){if((l|0)>=(a[s+4>>2]|0))break A;f=a[s>>2]|0;A=a[f+(l*48|0)>>2]|0;e=a[f+(l*48|0)+4>>2]|0;n=a[f+(l*48|0)+8>>2]|0;r=a[f+(l*48|0)+12>>2]|0;s=f+(l*48|0)+16|0;a[d>>2]=a[s>>2];a[d+4>>2]=a[s+4>>2];a[d+8>>2]=a[s+8>>2];a[d+12>>2]=a[s+12>>2];f=f+(l*48|0)+32|0;a[B>>2]=a[f>>2];a[B+4>>2]=a[f+4>>2];a[B+8>>2]=a[f+8>>2];a[B+12>>2]=a[f+12>>2];if(!n){a[Z>>2]=a[A>>2];a[Z+4>>2]=a[A+4>>2];a[Z+8>>2]=a[A+8>>2];a[Z+12>>2]=a[A+12>>2];s=A+16|0;a[G>>2]=a[s>>2];a[G+4>>2]=a[s+4>>2];a[G+8>>2]=a[s+8>>2];a[G+12>>2]=a[s+12>>2];s=2}else{a[Z>>2]=a[d>>2];a[Z+4>>2]=a[d+4>>2];a[Z+8>>2]=a[d+8>>2];a[Z+12>>2]=a[d+12>>2];a[G>>2]=a[A>>2];a[G+4>>2]=a[A+4>>2];a[G+8>>2]=a[A+8>>2];a[G+12>>2]=a[A+12>>2];s=1}t=+b[Z>>3]+h;b[Z>>3]=t;c=+b[v>>3]+o;b[v>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[Z>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[v>>3]=t;t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i);while(1){if((s|0)>=(e|0))break;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];n=A+(s<<4)|0;a[G>>2]=a[n>>2];a[G+4>>2]=a[n+4>>2];a[G+8>>2]=a[n+8>>2];a[G+12>>2]=a[n+12>>2];t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i);s=s+1|0}if(r|0){a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[G>>2]=a[B>>2];a[G+4>>2]=a[B+4>>2];a[G+8>>2]=a[B+8>>2];a[G+12>>2]=a[B+12>>2];t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i)}l=l+1|0;s=a[(a[g>>2]|0)+8>>2]|0}}else E=4}while(0);if((E|0)==4){QR(w,a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0);a[G>>2]=a[w>>2];a[G+4>>2]=a[w+4>>2];a[G+8>>2]=a[w+8>>2];a[G+12>>2]=a[w+12>>2];t=+b[G>>3]+ +(r|0);b[G>>3]=t;s=G+8|0;c=+b[s>>3]+ +(f|0);b[s>>3]=c;if(!(t>=0.0))t=(t+1.0)/+(n|0)+-1.0;else t=t/+(n|0);b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)/+(n|0)+-1.0;else t=c/+(n|0);b[s>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i)}k=Q;return}function rC(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((A|0)<1)A=0;else switch(a[i+16>>2]|0){case 4:{A=xE(A,e,i)|0;break A}case 3:{A=fC(A,e,i)|0;break A}default:{A=0;break A}}}while(0);return A|0}function fC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+80|0;n=w+64|0;f=w+24|0;s=w+8|0;r=w;l=w+56|0;c=i+8|0;b=SE(A,e,a[c>>2]|0)|0;if(0){t=a[15712]|0;a[r>>2]=b;f3(t,99285,r)|0}A:do{if((b|0)>=1){a[l+4>>2]=0;a[l>>2]=0;t=qF(A<<4)|0;i=0;while(1){if((i|0)>=(A|0))break;a[t+(i<<4)+12>>2]=i;u=e+(i<<5)|0;r=a[c>>2]|0;a[f>>2]=a[u>>2];a[f+4>>2]=a[u+4>>2];a[f+8>>2]=a[u+8>>2];a[f+12>>2]=a[u+12>>2];a[f+16>>2]=a[u+16>>2];a[f+20>>2]=a[u+20>>2];a[f+24>>2]=a[u+24>>2];a[f+28>>2]=a[u+28>>2];a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];PE(f,t+(i<<4)|0,b,r,n,195059);i=i+1|0}f=qF(A<<2)|0;i=0;while(1){if((i|0)>=(A|0))break;a[f+(i<<2)>>2]=t+(i<<4);i=i+1|0}K4(f,A,4,89);n=$V()|0;i=qF(A<<3)|0;r=0;while(1){if((r|0)>=(A|0))break;u=a[f+(r<<2)>>2]|0;qE(r,u,n,i+(a[u+12>>2]<<3)|0,b,a[c>>2]|0,e);r=r+1|0}L2(f);r=0;while(1){if((r|0)>=(A|0))break;L2(a[t+(r<<4)+4>>2]|0);r=r+1|0}L2(t);iJ(n);if(0>1){f=a[15712]|0;r=0;while(1){if((r|0)>=(A|0))break A;e=a[i+(r<<3)>>2]|0;u=a[i+(r<<3)+4>>2]|0;a[s>>2]=r;a[s+4>>2]=e;a[s+8>>2]=u;f3(f,99301,s)|0;r=r+1|0}}}else i=0}while(0);k=w;return i|0}function aC(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0,d=0,B=0,v=0;A:do{if((A|0)<1)f=0-A|0;else{B=(r|0)==0;h=(f|0)==0;t=0;while(1){if((t|0)==(A|0)){f=0;break A}d=a[e+(t<<2)>>2]|0;n=B?d:r;c=a[i+(t<<3)>>2]|0;s=a[i+(t<<3)+4>>2]|0;w=+(c|0);u=w*.013888888888888888;k=+(s|0);o=k*.013888888888888888;l=cd(d)|0;while(1){if(!l)break;f=a[l+16>>2]|0;v=a[f+132>>2]|0;b[v>>3]=+b[v>>3]+u;v=v+8|0;b[v>>3]=+b[v>>3]+o;v=f+16|0;b[v>>3]=+b[v>>3]+w;v=f+24|0;b[v>>3]=+b[v>>3]+k;f=a[f+108>>2]|0;if(f|0){v=f+56|0;b[v>>3]=+b[v>>3]+w;v=f+64|0;b[v>>3]=+b[v>>3]+k}e:do{if(!h){f=Oo(n,l)|0;while(1){if(!f)break e;nC(f,c,s);f=_o(n,f)|0}}}while(0);l=bd(d,l)|0}lC(d,c,s);t=t+1|0}}}while(0);return f|0}function nC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0.0,c=0,s=0.0,w=0,u=0;r=a[A+16>>2]|0;A=a[r+96>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+108>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+100>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+104>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}w=a[r+8>>2]|0;A:do{if(w|0){s=+(e|0);t=+(i|0);e=a[w+4>>2]|0;A=0;while(1){if((A|0)>=(e|0))break A;c=a[w>>2]|0;i=a[c+(A*48|0)>>2]|0;f=a[c+(A*48|0)+4>>2]|0;n=a[c+(A*48|0)+8>>2]|0;l=a[c+(A*48|0)+12>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;u=i+(r<<4)|0;b[u>>3]=+b[u>>3]+s;u=i+(r<<4)+8|0;b[u>>3]=+b[u>>3]+t;r=r+1|0}if(n|0){u=c+(A*48|0)+16|0;b[u>>3]=+b[u>>3]+s;u=c+(A*48|0)+24|0;b[u>>3]=+b[u>>3]+t}if(l|0){u=c+(A*48|0)+32|0;b[u>>3]=+b[u>>3]+s;u=c+(A*48|0)+40|0;b[u>>3]=+b[u>>3]+t}A=A+1|0}}}while(0);return}function lC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0,u=0.0,k=0;t=A+16|0;A=a[t>>2]|0;k=A+16|0;w=A+24|0;f=A+32|0;A=A+40|0;n=+(e|0);s=+b[f>>3]+n;l=+(i|0);u=+b[w>>3]+l;c=+b[A>>3]+l;b[k>>3]=+b[k>>3]+n;b[w>>3]=u;b[f>>3]=s;b[A>>3]=c;A=a[t>>2]|0;f=a[A+12>>2]|0;if((f|0)!=0?(r[f+81>>0]|0)!=0:0){k=f+56|0;b[k>>3]=+b[k>>3]+n;f=f+64|0;b[f>>3]=+b[f>>3]+l;f=1}else f=1;while(1){if((f|0)>(a[A+180>>2]|0))break;lC(a[(a[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=a[t>>2]|0}return}function tC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=pE(A,e,i,r)|0;if(!f)A=1;else{A=aC(A,e,f,i,a[r+12>>2]|0)|0;L2(f)}return A|0}function cC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+32|0;u=o;w=tC(A,e,i,r)|0;if(!w){xR(i);s=(a[i+16>>2]|0)+16|0;a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];a[u+16>>2]=a[s+16>>2];a[u+20>>2]=a[s+20>>2];a[u+24>>2]=a[s+24>>2];a[u+28>>2]=a[s+28>>2];f=u+8|0;n=u+16|0;l=u+24|0;r=0;while(1){if((r|0)>=(A|0))break;c=a[(a[e+(r<<2)>>2]|0)+16>>2]|0;t=a[c+180>>2]|0;c=c+184|0;i=1;while(1){if((i|0)>(t|0))break;d=(a[(a[(a[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16|0;b[u>>3]=+b[(+b[u>>3]<+b[d>>3]?u:d)>>3];d=a[(a[(a[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;h=d+16|0;b[f>>3]=+b[(+b[f>>3]<+b[d+24>>3]?u:h)+8>>3];b[n>>3]=+b[(+b[n>>3]>+b[d+32>>3]?u:h)+16>>3];b[l>>3]=+b[(+b[l>>3]>+b[d+40>>3]?u:h)+24>>3];i=i+1|0}r=r+1|0}a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[s+16>>2]=a[u+16>>2];a[s+20>>2]=a[u+20>>2];a[s+24>>2]=a[u+24>>2];a[s+28>>2]=a[u+28>>2]}k=o;return w|0}function bC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;n=k;k=k+16|0;f=n;if(!r)vA(99534,99540,1400,99547);i=sC(A,i,i)|0;a[r+8>>2]=i;if(0){l=a[15712]|0;a[f>>2]=i;f3(l,99559,f)|0}a[r+12>>2]=0;a[r+20>>2]=0;wC(A,e,r)|0;k=n;return a[r+16>>2]|0}function sC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;f=t+4|0;n=po(A,99689)|0;A:do{if(n){a[l>>2]=f;l=(J3(n,137395,l)|0)==1;A=a[f>>2]|0;if(l&(A|0)>-1)e=A;else{switch(r[n>>0]|0){case 84:case 116:break;default:break A}e=i}}}while(0);k=t;return e|0}function wC(A,e,i){A=A|0;e=e|0;i=i|0;return uC(po(A,99572)|0,e,i)|0}function uC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+64|0;d=g+40|0;h=g+32|0;v=g+24|0;B=g+16|0;s=g+8|0;t=g;n=g+48|0;l=g+44|0;if(!i)vA(99534,99540,1292,99581);u=i+28|0;a[u>>2]=0;o=i+16|0;a[o>>2]=e;w=i+4|0;a[w>>2]=0;a[i+24>>2]=0;A:do{if(A|0?(f=r[A>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(Z1(A,99599,5)|0)){a[o>>2]=4;s=kC(A+5|0,i)|0;a[t>>2]=l;s=(J3(s,137395,t)|0)>0;e=a[l>>2]|0;if(!(s&(e|0)>0))break A;a[w>>2]=e;break A}else{if(Z1(A,99605,6)|0)break A;a[o>>2]=5;a[s>>2]=n;s=(J3(A+5|0,99612,s)|0)>0;E=+c[n>>2];c[i>>2]=s&E>0.0?E:1.0;break A}case 99:{if(f<<24>>24!=99)break A;if(A1(A,108006)|0)break A;a[o>>2]=1;break A}case 103:{if(f<<24>>24!=103)break A;if(A1(A,111494)|0)break A;a[o>>2]=3;break A}case 110:{if(f<<24>>24!=110)break A;if(A1(A,111481)|0)break A;a[o>>2]=2;break A}default:break A}}while(0);if(0){e=a[15712]|0;L3(99615,11,1,e)|0;a[B>>2]=oC(a[o>>2]|0)|0;f3(e,99627,B)|0;if((a[o>>2]|0)==5){b[v>>3]=+c[i>>2];f3(e,99640,v)|0}a[h>>2]=a[w>>2];f3(e,99653,h)|0;a[d>>2]=a[u>>2];f3(e,99666,d)|0}k=g;return a[o>>2]|0}function kC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;A:do{if((r[A>>0]|0)==95){f=e+28|0;i=1;while(1){A=A+1|0;e:while(1){if(!i)break A;e=r[A>>0]|0;if(!(e<<24>>24))break A;switch(e<<24>>24|0){case 99:{n=10;break e}case 105:{n=9;break e}case 117:{n=11;break e}case 116:{n=12;break e}case 98:{e=32;break e}case 108:{n=7;break e}case 114:{n=8;break e}default:i=0}}if((n|0)==7){n=0;e=4}else if((n|0)==8){n=0;e=8}else if((n|0)==9){n=0;e=64}else if((n|0)==10){n=0;e=1}else if((n|0)==11){n=0;e=2}else if((n|0)==12){n=0;e=16}a[f>>2]=a[f>>2]|e}}}while(0);return A|0}function oC(A){A=A|0;switch(A|0){case 1:{A=108006;break}case 2:{A=111481;break}case 3:{A=111494;break}case 4:{A=99599;break}case 5:{A=99605;break}default:A=99679}return A|0}function hC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+96|0;b=w;s=w+80|0;do{if(A){if(!r){r=W2(1,20)|0;a[r+4>>2]=i>>>0>80?i:80}i=a[r>>2]|0;c=a[r+4>>2]|0;if(!i){l=100;i=A;t=W2(100,c)|0}else{l=i+100|0;t=y2(a[r+8>>2]|0,U(l,c)|0)|0;Y6(t+(U(c,i)|0)|0,0,c*100|0)|0;i=A}while(1){i=dC(b,i,e,s)|0;if(!i)break;A=a[r>>2]|0;f=l<<1;n=U(l,c)|0;if((A|0)==(l|0)){t=y2(t,U(f,c)|0)|0;Y6(t+n|0,0,n|0)|0;A=a[r>>2]|0}else f=l;A=t+(U(A,c)|0)|0;n=b;l=A+80|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0));a[r>>2]=(a[r>>2]|0)+1;l=f}if(a[s>>2]|0){s=r+16|0;a[s>>2]=a[s>>2]|1}i=a[r>>2]|0;if(!i){L2(t);L2(r);r=0;break}else{a[r+8>>2]=y2(t,U(i,c)|0)|0;break}}}while(0);k=w;return r|0}function dC(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+80|0;l=c+64|0;t=c;a[f>>2]=0;do{n=r[e>>0]|0;e=e+1|0}while((Q1(n)|0)!=0);A:do{switch(n|0){case 69:{a[A>>2]=0;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i>>2];break}case 101:{a[A>>2]=1;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i>>2];break}case 80:{a[A>>2]=2;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+4>>2];break}case 112:{a[A>>2]=3;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+4>>2];break}case 98:{a[A>>2]=4;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+8>>2];break}case 66:{a[A>>2]=5;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+8>>2];break}case 99:{e=gC(e,l)|0;if(!e){a[f>>2]=1;e=0;break A}n=EC(a[l>>2]|0,t)|0;a[l>>2]=n;if(!n){a[f>>2]=1;e=0;break A}if(!(a[t>>2]|0)){a[A>>2]=9;a[A+8>>2]=a[t+8>>2];if(!i)break A;a[A+72>>2]=a[i+24>>2];break A}else{a[A>>2]=14;f=A+8|0;n=t;l=f+64|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));if(!i)break A;a[A+72>>2]=a[i+40>>2];break A}}case 67:{e=gC(e,l)|0;if(!e){a[f>>2]=1;e=0;break A}n=EC(a[l>>2]|0,t)|0;a[l>>2]=n;if(!n){a[f>>2]=1;e=0;break A}if(!(a[t>>2]|0)){a[A>>2]=8;a[A+8>>2]=a[t+8>>2];if(!i)break A;a[A+72>>2]=a[i+20>>2];break A}else{a[A>>2]=13;f=A+8|0;n=t;l=f+64|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));if(!i)break A;a[A+72>>2]=a[i+40>>2];break A}}case 76:{a[A>>2]=6;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+12>>2];break}case 84:{a[A>>2]=7;e=CC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=CC(e,A+16|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=IC(e,A+24|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=CC(e,A+32|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+40|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+16>>2];break}case 70:{a[A>>2]=10;e=CC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+16|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+28>>2];break}case 83:{a[A>>2]=11;e=gC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+32>>2];break}case 73:{a[A>>2]=12;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+40|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+36>>2];break}case 116:{a[A>>2]=15;e=ZC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+44>>2];break}case 0:{e=0;break}default:{a[f>>2]=1;e=0}}}while(0);k=c;return e|0}function BC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;b[e>>3]=+A8(A,r);f=a[r>>2]|0;if(((f|0)!=(A|0)?(b[e+8>>3]=+A8(f,r),n=a[r>>2]|0,(f|0)!=(n|0)):0)?(b[e+16>>3]=+A8(n,r),i=a[r>>2]|0,(n|0)!=(i|0)):0){b[e+24>>3]=+A8(i,r);A=a[r>>2]|0;A=(i|0)==(A|0)?0:A}else A=0;k=l;return A|0}function vC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+4|0;n=c;A=GC(A,t)|0;do{if(A){i=a[t>>2]|0;l=W2(i,24)|0;a[e>>2]=i;r=l;f=0;while(1){if((f|0)>=(i|0)){i=9;break}b[r>>3]=+A8(A,n);i=a[n>>2]|0;if((A|0)==(i|0)){i=5;break}b[r+8>>3]=+A8(i,n);A=a[n>>2]|0;if((i|0)==(A|0)){i=7;break}b[r+16>>3]=0.0;r=r+24|0;i=a[e>>2]|0;f=f+1|0}if((i|0)==5){a[t>>2]=f;L2(l);A=0;break}else if((i|0)==7){a[t>>2]=f;L2(l);A=0;break}else if((i|0)==9){a[t>>2]=f;a[e+4>>2]=l;break}}else A=0}while(0);k=c;return A|0}function gC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;A=GC(A,t)|0;f=a[t>>2]|0;do{if(!((A|0)==0|(f|0)<1)){while(1){l=r[A>>0]|0;i=l<<24>>24==0;if(i^l<<24>>24!=45)A=A+1|0;else break}if(!i){l=W2(f+1|0,1)|0;n=l;i=f;while(1){A=A+1|0;if((i|0)<=0){i=9;break}i=r[A>>0]|0;if(!(i<<24>>24)){i=8;break}r[n>>0]=i;i=(a[t>>2]|0)+-1|0;a[t>>2]=i;n=n+1|0}if((i|0)==8){L2(l);A=0;break}else if((i|0)==9){r[n>>0]=0;a[e>>2]=l;break}}else A=0}else A=0}while(0);k=c;return A|0}function EC(A,e){A=A|0;e=e|0;var i=0;i=r[A>>0]|0;switch(i|0){case 91:{A=QC(A+1|0,e)|0;break}case 40:{A=mC(A+1|0,e)|0;break}case 47:case 35:{a[e>>2]=0;a[e+8>>2]=A;break}default:if(!(V1(i)|0))A=0;else{a[e>>2]=0;a[e+8>>2]=A}}return A|0}function CC(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0;f=k;k=k+16|0;i=f;r=+A8(A,i);i=a[i>>2]|0;if((i|0)==(A|0))i=0;else b[e>>3]=r;k=f;return i|0}function IC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;A=GC(A,r)|0;r=a[r>>2]|0;a[e>>2]=(r|0)<0?0:r|0?2:1;k=i;return A|0}function ZC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[e>>2]=m1(A,r,10)|0;e=a[r>>2]|0;k=i;return((e|0)==(A|0)?0:e)|0}function GC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[e>>2]=n3(A,r,10)|0;e=a[r>>2]|0;k=i;return((e|0)==(A|0)?0:e)|0}function QC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0;u=k;k=k+16|0;s=u;a[e>>2]=1;w=e+8|0;n=CC(A,w)|0;do{if(((((n|0)!=0?(l=CC(n,e+16|0)|0,(l|0)!=0):0)?(r=CC(l,e+24|0)|0,(r|0)!=0):0)?(f=CC(r,e+32|0)|0,(f|0)!=0):0)?(t=e+40|0,i=GC(f,t)|0,(i|0)!=0):0){e=a[t>>2]|0;f=W2(e,8)|0;r=0;while(1){if((r|0)>=(e|0)){i=13;break}i=CC(i,s)|0;if(!i){i=9;break}c[f+(r<<3)>>2]=+b[s>>3];i=gC(i,f+(r<<3)+4|0)|0;if(!i){i=12;break}r=r+1|0;e=a[t>>2]|0}if((i|0)==9){L2(f);A=0;break}else if((i|0)==12){L2(f);A=0;break}else if((i|0)==13){a[w+36>>2]=f;break}}else A=0}while(0);k=u;return A|0}function mC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;a[e>>2]=2;t=CC(A,e+8|0)|0;do{if(((((((t|0)!=0?(s=CC(t,e+16|0)|0,(s|0)!=0):0)?(r=CC(s,e+24|0)|0,(r|0)!=0):0)?(f=CC(r,e+32|0)|0,(f|0)!=0):0)?(n=CC(f,e+40|0)|0,(n|0)!=0):0)?(l=CC(n,e+48|0)|0,(l|0)!=0):0)?(u=e+56|0,i=GC(l,u)|0,(i|0)!=0):0){r=a[u>>2]|0;n=W2(r,8)|0;f=0;while(1){if((f|0)>=(r|0)){i=15;break}i=CC(i,w)|0;if(!i){i=11;break}c[n+(f<<3)>>2]=+b[w>>3];i=gC(i,n+(f<<3)+4|0)|0;if(!i){i=14;break}f=f+1|0;r=a[u>>2]|0}if((i|0)==11){L2(n);A=0;break}else if((i|0)==14){L2(n);A=0;break}else if((i|0)==15){a[e+60>>2]=n;break}}else A=0}while(0);k=o;return A|0}function LC(A,e,i){A=A|0;e=e|0;i=i|0;return hC(A,e,i,0)|0}function WC(A){A=A|0;return LC(A,0,0)|0}function yC(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=a[A+12>>2]|0;if(A|0){f=a[A+8>>2]|0;n=A+4|0;l=(r|0)==0;e=0;while(1){if((e|0)>=(a[A>>2]|0))break;i=f+(U(a[n>>2]|0,e)|0)|0;if(!l)F5[r&127](i);zC(i);e=e+1|0}L2(f);L2(A)}return}function zC(A){A=A|0;switch(a[A>>2]|0){case 3:case 2:{L2(a[A+8+4>>2]|0);break}case 5:case 4:{L2(a[A+8+4>>2]|0);break}case 6:{L2(a[A+8+4>>2]|0);break}case 7:{L2(a[A+40>>2]|0);break}case 9:case 8:{L2(a[A+8>>2]|0);break}case 14:case 13:{YC(A+8|0);break}case 10:{L2(a[A+16>>2]|0);break}case 11:{L2(a[A+8>>2]|0);break}case 12:{L2(a[A+40>>2]|0);break}default:{}}return}function YC(A){A=A|0;var e=0,i=0,r=0;switch(a[A>>2]|0){case 1:{r=A+40|0;e=A+8+36|0;A=0;while(1){i=a[e>>2]|0;if((A|0)>=(a[r>>2]|0))break;L2(a[i+(A<<3)+4>>2]|0);A=A+1|0}L2(i);break}case 2:{r=A+56|0;i=A+60|0;A=0;while(1){e=a[i>>2]|0;if((A|0)>=(a[r>>2]|0))break;L2(a[e+(A<<3)+4>>2]|0);A=A+1|0}L2(e);break}default:{}}return}function DC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;b=u+4|0;w=u;a[e>>2]=0;a[i>>2]=(Ih(Id(A)|0)|0)!=0&1;f=a[47184]|0;A:do{if(f|0?(l=Uo(A,f)|0,t=r[l>>0]|0,t<<24>>24):0){f=20388;while(1){n=a[f>>2]|0;if(!n)break A;if(t<<24>>24==(r[n>>0]|0)?(A1(l,n)|0)==0:0)break;f=f+12|0}a[e>>2]=a[f+4>>2];a[i>>2]=a[f+8>>2]}}while(0);f=a[47195]|0;if((f|0?(a[i>>2]|0)==1:0)?(c=Uo(A,f)|0,r[c>>0]|0):0)MC(c,i);f=a[47196]|0;if((f|0?(a[e>>2]|0)==1:0)?(s=Uo(A,f)|0,r[s>>0]|0):0)MC(s,e);if(r[(a[A+16>>2]|0)+153>>0]|0){c=A+-48|0;t=Id(a[((a[A>>2]&3|0)==2?A:c)+40>>2]|0)|0;s=a[A>>2]&3;DC(th(t,a[((s|0)==2?A:c)+40>>2]|0,a[((s|0)==3?A:A+48|0)+40>>2]|0,0,0)|0,b,w);a[i>>2]=a[b>>2]|a[i>>2];a[e>>2]=a[w>>2]|a[e>>2]}k=u;return}function MC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;s=u;b=u+4|0;c=0;i=0;A:while(1){a[e>>2]=i;n=(c|0)<4;l=(c|0)==3;t=(c|0)==0;while(1){if(!(n&(r[A>>0]|0)!=0))break A;a[b>>2]=0;f=FC(A,b)|0;i=a[b>>2]|0;if(!i){w=5;break A}A=(i|0)==8;if(!(l&A)){if(!(t&A))break;if(r[f>>0]|0)break}a[b>>2]=0;A=f}i=a[e>>2]|i<<(c<<3);c=c+1|0;A=f}if((w|0)==5){a[s>>2]=A;ao(0,99694,s)|0}k=u;return}function FC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;r=f;a[r>>2]=0;i=VC(A,20448,r)|0;if((i|0)==(A|0)){while(1){i=VC(A,20464,r)|0;if((A|0)==(i|0))break;else A=i}i=VC(A,20512,r)|0}A=a[r>>2]|0;if((A|0)!=0&(A&15|0)==0){A=A|1;a[r>>2]=A}a[e>>2]=a[e>>2]|A;k=f;return i|0}function VC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;while(1){r=a[e>>2]|0;if(!r)break;f=S2(r)|0;if(!(Z1(A,r,f)|0)){n=4;break}e=e+8|0}if((n|0)==4){a[i>>2]=a[i>>2]|a[e+4>>2];A=A+f|0}return A|0}function JC(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0;n=0;i=0.0;while(1){if((n|0)==4)break;f=e>>(n<<3)&15;r=1400;while(1){if(!(a[r+16>>2]|0))break;if((f|0)==(a[r>>2]|0)){l=6;break}r=r+24|0}if((l|0)==6){l=0;i=+b[r+8>>3]+i}n=n+1|0}return+(i*10.0*+oR(A,a[47188]|0,1.0,0.0))}function NC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0,w=0.0,u=0,o=0;o=k;k=k+96|0;s=o+80|0;u=o;c=f>4.0?f*.0875:.35;l=+b[i+8>>3];w=l*c;t=+b[i>>3];c=t*c;r=+b[e>>3];t=r+t;b[s>>3]=t;f=+b[e+8>>3];l=l+f;b[s+8>>3]=l;i=u+64|0;if(!(n&32)){a[i>>2]=a[s>>2];a[i+4>>2]=a[s+4>>2];a[i+8>>2]=a[s+8>>2];a[i+12>>2]=a[s+12>>2];a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];s=u+32|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];f=l;r=t}else{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];e=u+32|0;a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2]}b[u+16>>3]=r+w;b[u+24>>3]=f-c;b[u+48>>3]=r-w;b[u+56>>3]=f+c;do{if(!(n&64))if(!(n&128)){ar(A,u+16|0,3,n>>>4&1^1);break}else{ar(A,u+32|0,3,n>>>4&1^1);break}else ar(A,u,3,n>>>4&1^1)}while(0);k=o;return}function XC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0;I=k;k=k+160|0;w=I+144|0;C=I;h=r*4.0;Z=(n&32|0)==0;h=!(h1.0)|Z?0.0:(f+-1.0)*.05/r;g=+b[i+8>>3];d=-g;E=h*d;v=+b[i>>3];h=v*h;d=B*d;B=v*B;o=+b[e>>3];r=o+v;b[w>>3]=r;u=+b[e+8>>3];f=g+u;b[w+8>>3]=f;v=v*.5+o;g=g*.5+u;i=C+128|0;if(Z){a[i>>2]=a[w>>2];a[i+4>>2]=a[w+4>>2];a[i+8>>2]=a[w+8>>2];a[i+12>>2]=a[w+12>>2];a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];Z=C+64|0;a[Z>>2]=a[e>>2];a[Z+4>>2]=a[e+4>>2];a[Z+8>>2]=a[e+8>>2];a[Z+12>>2]=a[e+12>>2];l=u;t=o;c=u;s=o;f=u;r=o}else{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[C>>2]=a[e>>2];a[C+4>>2]=a[e+4>>2];a[C+8>>2]=a[e+8>>2];a[C+12>>2]=a[e+12>>2];Z=C+64|0;a[Z>>2]=a[w>>2];a[Z+4>>2]=a[w+4>>2];a[Z+8>>2]=a[w+8>>2];a[Z+12>>2]=a[w+12>>2];l=f+B;t=r+d;c=f-B;s=r-d}b[C+16>>3]=r-E;b[C+24>>3]=f-h;b[C+32>>3]=v-d;b[C+40>>3]=g-B;b[C+48>>3]=s;b[C+56>>3]=c;b[C+80>>3]=t;b[C+88>>3]=l;b[C+96>>3]=v+d;b[C+104>>3]=g+B;b[C+112>>3]=r+E;b[C+120>>3]=f+h;do{if(!(n&64))if(!(n&128)){ar(A,C,9,1);break}else{ar(A,C+48|0,6,1);break}else ar(A,C,6,1)}while(0);k=I;return}function RC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0;h=k;k=k+64|0;o=h;v=+b[i+8>>3];B=+b[i>>3];c=+b[e>>3];r=c+B;s=+b[e+8>>3];f=s+v;l=c+B*.2;t=s+v*.2;c=c+B*.6;s=s+v*.6;b[o>>3]=l-v;b[o+8>>3]=t+B;w=o+16|0;b[w>>3]=l+v;u=o+24|0;b[u>>3]=t-B;b[o+32>>3]=c+v;b[o+40>>3]=s-B;b[o+48>>3]=c-v;b[o+56>>3]=s+B;if(!(n&64)){if(n&128|0){i=2;n=1;d=3}}else{i=3;n=0;d=3}if((d|0)==3){b[o+(n<<4)>>3]=l;b[o+(n<<4)+8>>3]=t;b[o+(i<<4)>>3]=c;b[o+(i<<4)+8>>3]=s}ar(A,o,4,1);a[o>>2]=a[e>>2];a[o+4>>2]=a[e+4>>2];a[o+8>>2]=a[e+8>>2];a[o+12>>2]=a[e+12>>2];b[w>>3]=r;b[u>>3]=f;tr(A,o,2);k=h;return}function HC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0;u=k;k=k+64|0;w=u;t=+b[i+8>>3];d=t*-.4;l=+b[i>>3];h=l*.4;v=+b[e>>3];r=v+l*.8;B=+b[e+8>>3];f=B+t*.8;l=v+l;t=B+t;b[w>>3]=v+d;c=w+8|0;b[c>>3]=B+h;i=w+16|0;b[i>>3]=v-d;s=w+24|0;b[s>>3]=B-h;b[w+32>>3]=r-d;b[w+40>>3]=f-h;b[w+48>>3]=r+d;b[w+56>>3]=f+h;if(!(n&64)){if(n&128|0){a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];i=2;o=5}}else{a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];i=3;o=5}if((o|0)==5){b[w+(i<<4)>>3]=r;b[w+(i<<4)+8>>3]=f}ar(A,w,4,n>>>4&1^1);b[w>>3]=r;b[c>>3]=f;b[w+16>>3]=l;b[s>>3]=t;tr(A,w,2);k=u;return}function pC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0;t=k;k=k+80|0;l=t;w=+b[i+8>>3];c=w*-.3333333333333333;o=+b[i>>3];f=o*.3333333333333333;h=+b[e>>3];s=h+o*.5;u=+b[e+8>>3];r=u+w*.5;i=l+64|0;b[l+64>>3]=h+o;b[l+72>>3]=u+w;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];b[l+16>>3]=s+c;b[l+24>>3]=r+f;i=l+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[l+48>>3]=s-c;b[l+56>>3]=r-f;do{if(!(n&64)){i=n>>>4&1^1;if(!(n&128)){ar(A,l,4,i);break}else{ar(A,l,3,i);break}}else ar(A,i,3,n>>>4&1^1)}while(0);k=t;return}function UC(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var n=0,l=0,t=0.0,c=0.0,s=0.0;n=k;k=k+32|0;l=n;c=+b[i>>3];f=+b[i+8>>3];r=+z(+(f*f+c*c))*.5;s=+b[e>>3];c=c*.5;b[l>>3]=s+c-r;t=+b[e+8>>3];f=f*.5;b[l+8>>3]=t-r+f;b[l+16>>3]=s+r+c;b[l+24>>3]=t+r+f;fr(A,l,2,a>>>4&1^1);k=n;return}function xC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0;v=k;k=k+112|0;h=v+48|0;d=v+16|0;B=v;w=f>4.0?f*.125:.5;o=+b[e>>3];u=+b[i>>3];l=+b[e+8>>3];s=+b[i+8>>3];r=s*w;f=u*w;a[d>>2]=a[e>>2];a[d+4>>2]=a[e+4>>2];a[d+8>>2]=a[e+8>>2];a[d+12>>2]=a[e+12>>2];b[d+16>>3]=u+o;b[d+24>>3]=s+l;b[h>>3]=w*(u-s)+o;t=w*(s+u);c=t+l;b[h+8>>3]=c;b[h+48>>3]=t+o;l=w*(s-u)+l;b[h+56>>3]=l;u=r*-.95;s=u+f+o;w=f*1.3333333333333333;if(!(n&32)){r=r*1.3333333333333333;t=f*-.33333333333333326;l=l-r;f=c-r;r=s-w}else{r=r*1.3333333333333333;t=f*2.333333333333333;l=l+r;f=c+r;r=s+w}b[h+16>>3]=r;b[h+24>>3]=f;b[h+32>>3]=t-u+o;b[h+40>>3]=l;tr(A,d,2);if(!(n&64)){if(n&128|0)mR(B,h,3,.5,h,0)}else mR(B,h,3,.5,0,h);lr(A,h,4,0,0,0);k=v;return}function TC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0;n=k;k=k+32|0;l=n;r=+b[i>>3]+ +b[e>>3];f=+b[i+8>>3]+ +b[e+8>>3];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];b[l+16>>3]=r;b[l+24>>3]=f;tr(A,l,2);k=n;return}function jC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;w=k;k=k+80|0;t=w+72|0;c=w+8|0;s=w;l=+JC(A,n);l=l*l;b[s>>3]=l;a[f+12>>2]=n;n=f+32|0;A=r+3|0;f=e+(A<<4)|0;a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];if((r|0)>(i|0)?(u=+b[e+(r<<4)>>3]-+b[f>>3],o=+b[e+(r<<4)+8>>3]-+b[e+(A<<4)+8>>3],o*o+u*u>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];h=c+32|0;A=e+(r+1<<4)|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];f=c+16|0;i=e+(r+2<<4)|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[c>>2]=a[n>>2];a[c+4>>2]=a[n+4>>2];a[c+8>>2]=a[n+8>>2];a[c+12>>2]=a[n+12>>2];a[t>>2]=c;a[t+4>>2]=s;hX(t,92,c,1);a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];a[A>>2]=a[h>>2];a[A+4>>2]=a[h+4>>2];a[A+8>>2]=a[h+8>>2];a[A+12>>2]=a[h+12>>2];a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2];s=e+(r+3<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];k=w;return r|0}function SC(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[A>>2]|0;i=+b[e>>3]-+b[f>>3];r=+b[e+8>>3]-+b[f+8>>3];return r*r+i*i<=+b[a[A+4>>2]>>3]|0}function PC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0;u=k;k=k+80|0;c=u+72|0;s=u+8|0;w=u;t=+JC(A,n);t=t*t;b[w>>3]=t;a[f+8>>2]=n;f=f+16|0;A=e+(i<<4)|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];if(!((r|0)>(i|0)?(l=i+3|0,o=+b[A>>3]-+b[e+(l<<4)>>3],h=+b[e+(i<<4)+8>>3]-+b[e+(l<<4)+8>>3],h*h+o*o>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];n=s+16|0;i=e+(l+2<<4)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];d=s+32|0;A=e+(l+1<<4)|0;a[d>>2]=a[A>>2];a[d+4>>2]=a[A+4>>2];a[d+8>>2]=a[A+8>>2];a[d+12>>2]=a[A+12>>2];B=s+48|0;a[B>>2]=a[f>>2];a[B+4>>2]=a[f+4>>2];a[B+8>>2]=a[f+8>>2];a[B+12>>2]=a[f+12>>2];a[c>>2]=B;a[c+4>>2]=w;hX(c,92,s,0);w=e+(l<<4)|0;a[w>>2]=a[B>>2];a[w+4>>2]=a[B+4>>2];a[w+8>>2]=a[B+8>>2];a[w+12>>2]=a[B+12>>2];a[A>>2]=a[d>>2];a[A+4>>2]=a[d+4>>2];a[A+8>>2]=a[d+8>>2];a[A+12>>2]=a[d+12>>2];a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[r>>2]=a[s>>2];a[r+4>>2]=a[s+4>>2];a[r+8>>2]=a[s+8>>2];a[r+12>>2]=a[s+12>>2];k=u;return l|0}function OC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0.0,g=0,E=0,C=0;g=(n|0)!=0;s=(l|0)!=0;if(!((r|0)==(i|0)&(g&s))){if(s){t=+JC(A,l);c=+b[e+(r<<4)>>3];o=+b[e+(r<<4)+8>>3];s=r+3|0;d=e+(s<<4)|0;u=+b[d>>3];s=e+(s<<4)+8|0;k=+b[s>>3];v=c-u;B=o-k;v=+z(+(B*B+v*v))*.9;t=t>=v?v:t;if(o==k){w=(c>3]=c;b[e+(C<<4)+8>>3]=o;r=e+(r+2<<4)|0;b[d>>3]=w;b[s>>3]=t;a[r>>2]=a[d>>2];a[r+4>>2]=a[d+4>>2];a[r+8>>2]=a[d+8>>2];a[r+12>>2]=a[d+12>>2];a[f+12>>2]=l;b[f+32>>3]=u;b[f+40>>3]=k}if(g){w=+JC(A,n);s=e+(i<<4)|0;c=+b[s>>3];t=+b[e+(i<<4)+8>>3];C=i+3|0;k=+b[e+(C<<4)>>3];o=+b[e+(C<<4)+8>>3];v=c-k;B=t-o;v=+z(+(B*B+v*v))*.9;w=w>=v?v:w;if(t==o){u=(c>3]=u;b[e+(C<<4)+8>>3]=w;a[s>>2]=a[E>>2];a[s+4>>2]=a[E+4>>2];a[s+8>>2]=a[E+8>>2];a[s+12>>2]=a[E+12>>2];E=i+2|0;b[e+(E<<4)>>3]=k;b[e+(E<<4)+8>>3]=o;E=16}}else{d=e+(r<<4)|0;B=+b[d>>3];v=+b[e+(r<<4)+8>>3];s=r+3|0;g=e+(s<<4)|0;c=+b[g>>3];s=e+(s<<4)+8|0;t=+b[s>>3];w=+JC(A,n);h=+JC(A,l);u=B-c;o=v-t;u=+z(+(o*o+u*u));C=!(h+w>=u);u=u*.3333333333333333;w=C?w:u;u=C?h:u;if(v==t){C=B>3]=h;b[e+(C<<4)+8>>3]=k;a[d>>2]=a[E>>2];a[d+4>>2]=a[E+4>>2];a[d+8>>2]=a[E+8>>2];a[d+12>>2]=a[E+12>>2];E=e+(r+2<<4)|0;b[g>>3]=o;b[s>>3]=w;a[E>>2]=a[g>>2];a[E+4>>2]=a[g+4>>2];a[E+8>>2]=a[g+8>>2];a[E+12>>2]=a[g+12>>2];a[f+12>>2]=l;b[f+32>>3]=B;b[f+40>>3]=v;E=16}if((E|0)==16){a[f+8>>2]=n;b[f+16>>3]=c;b[f+24>>3]=t}return}function KC(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0;u=+b[e>>3];c=+b[i>>3]-u;k=+b[e+8>>3];s=+b[i+8>>3]-k;t=r*10.0/(+z(+(c*c+s*s))+.0001);c=t*((c>=0.0?.0001:-.0001)+c);t=((s>=0.0?.0001:-.0001)+s)*t;s=c*.5;w=t*.5;l=u-w;a=k-s;u=w+u;s=k+s;k=l+c;w=a+t;c=u+c;t=s+t;n=k>c?k:c;n=u>n?u:n;r=w>t?w:t;r=s>r?s:r;c=k>3]=l>3]=a>3]=l>n?l:n;b[A+24>>3]=a>r?a:r;return}function _C(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0;h=k;k=k+48|0;s=h+32|0;c=h+16|0;o=h;w=(a[A+16>>2]|0)+12|0;u=a[w>>2]|0;a[w>>2]=e;rr(A,a[(a[A>>2]|0)+336>>2]|0);wr(A,n);v=+b[r>>3]-+b[i>>3];e=r+8|0;B=+b[e>>3]-+b[i+8>>3];d=10.0/(+z(+(v*v+B*B))+.0001);b[r>>3]=d*((v>=0.0?.0001:-.0001)+v);b[e>>3]=((B>=0.0?.0001:-.0001)+B)*d;e=0;while(1){if((e|0)>=4)break;t=l>>(e<<3)&255;if(!t)break;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];qC(o,A,c,s,f,n,t);a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];e=e+1|0}a[w>>2]=u;k=h;return}function qC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+32|0;s=h+16|0;c=h;w=l&15;t=1400;while(1){u=a[t>>2]|0;if(!u)break;if((w|0)==(u|0)){o=4;break}t=t+24|0}if((o|0)==4){d=+b[t+8>>3]*f;b[r>>3]=d*+b[r>>3];u=r+8|0;b[u>>3]=d*+b[u>>3];o=a[t+16>>2]|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];N5[o&15](e,c,s,f,n,l);b[i>>3]=+b[r>>3]+ +b[i>>3];o=i+8|0;b[o>>3]=+b[u>>3]+ +b[o>>3]}a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=h;return}function $C(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t+8|0;f=t;e=po(A,99796)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else{e=po(A,99808)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else e=0}if((l|0)==5){e=LC(i,0,120)|0;if(!e){a[f>>2]=Vh(A)|0;ao(0,99815,f)|0;a[n>>2]=i;ao(3,99868,n)|0}}k=t;return e|0}function AI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+16|0;f=qF(304)|0;if(!f)ao(1,99876,n)|0;r=A+16|0;A=a[r>>2]|0;a[f>>2]=A;a[r>>2]=f;if(!A){a[f+144>>2]=3;a[f+148>>2]=0;b[f+152>>3]=1.0}else{e=f+16|0;i=A+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));e=f+56|0;i=A+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));a[f+144>>2]=a[A+144>>2];a[f+148>>2]=a[A+148>>2];b[f+152>>3]=+b[A+152>>3];a[f+136>>2]=a[A+136>>2];e=f+96|0;i=A+96|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0))}k=n;return f|0}function eI(A){A=A|0;var e=0;A=A+16|0;e=a[A>>2]|0;if(!e)vA(99902,99906,117,99913);else{L2(a[e+212>>2]|0);L2(a[e+208>>2]|0);L2(a[e+216>>2]|0);L2(a[e+220>>2]|0);L2(a[e+224>>2]|0);L2(a[e+228>>2]|0);L2(a[e+232>>2]|0);L2(a[e+236>>2]|0);L2(a[e+240>>2]|0);L2(a[e+244>>2]|0);L2(a[e+248>>2]|0);L2(a[e+252>>2]|0);L2(a[e+256>>2]|0);L2(a[e+272>>2]|0);L2(a[e+284>>2]|0);L2(a[e+280>>2]|0);a[A>>2]=a[e>>2];L2(e);return}}function iI(A,e,i,n,l,t,c){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;t=t|0;c=c|0;var b=0,s=0;s=a[A+16>>2]|0;b=a[A+152>>2]|0;if((e|0)!=0&(b&32768|0)!=0)a[s+192>>2]=e;if(((b&65536|0)!=0?(a[s+212>>2]=SF(t,c)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){a[s+208>>2]=SF(i,c)|0;A=1}else A=0;do{if(b&4194304){if(n|0?r[n>>0]|0:0){a[s+228>>2]=SF(n,c)|0;A=s+260|0;f[A>>1]=f[A>>1]|1;A=1;break}e=a[s+192>>2]|0;if(e){a[s+228>>2]=s3(e)|0;A=1}}}while(0);if((l|0)!=0&(b&8388608|0)!=0?(r[l>>0]|0)!=0:0){a[s+244>>2]=SF(l,c)|0;A=1}return A|0}function rI(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+80|0;t=c;l=c+8|0;n=a[(a[A>>2]|0)+168>>2]|0;f=a[(a[(a[n+16>>2]|0)+8>>2]|0)+92>>2]|0;fI(A,i);A=po(e,141060)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0){wo(i,A)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}r[A>>0]=0;A=a[i>>2]|0;a[f>>2]=A}else{if((n|0)!=(e|0)&(f|0)!=0){wo(i,f)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}a[f>>2]=A+1;r[A>>0]=95}switch(Md(e)|0){case 0:{f=(n|0)==(e|0)?111494:99927;A=(a[e>>2]|0)>>>4;break}case 1:{f=111481;A=(a[e>>2]|0)>>>4;break}case 2:{f=111450;A=(a[e>>2]|0)>>>4;break}default:{f=0;A=0}}wo(i,f)|0;a[t>>2]=A;P4(l,99933,t)|0;wo(i,l)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}r[A>>0]=0;A=a[i>>2]|0;a[f>>2]=A}k=c;return A|0}function fI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+144|0;l=t;n=t+8|0;i=a[A+160>>2]|0;if((i|0)>1?a[A+152>>2]&64|0:0){wo(e,a[(a[(a[A>>2]|0)+308>>2]|0)+(i<<2)>>2]|0)|0;f=e+4|0;i=a[f>>2]|0;if(i>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;i=a[f>>2]|0}a[f>>2]=i+1;r[i>>0]=95}f=a[A+196>>2]|0;i=a[A+200>>2]|0;if((f|0)>0|(i|0)>0){a[l>>2]=f;a[l+4>>2]=i;P4(n,99937,l)|0;wo(e,n)|0}k=t;return}function aI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0.0,B=0;B=k;k=k+48|0;o=B+16|0;f=B+32|0;h=B;d=+b[(a[A+16>>2]|0)+152>>3];u=nI(i,0,f)|0;if((u+-1|0)>>>0>=2){r=+b[e+16>>3];t=(r+ +b[e>>3])*.5;b[h>>3]=t;n=+b[e+24>>3];s=(n+ +b[e+8>>3])*.5;b[h+8>>3]=s;t=r-t;s=n-s;w=d>.5;if(w)wr(A,.5);l=a[f>>2]|0;n=0.0;f=a[l+8>>2]|0;while(1){i=a[f>>2]|0;if(!i)break;e=f+4|0;if(+c[e>>2]==0.0)r=n;else{er(A,i);if(!(a[f+12>>2]|0))r=6.283185307179586;else r=+c[e>>2]*6.283185307179586+n;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];e=mf(o,t,s,n,r)|0;lr(A,a[e>>2]|0,a[e+4>>2]|0,0,0,1);Zc(e)}n=r;f=f+12|0}if(w)wr(A,d);lI(l)}k=B;return u|0}function nI(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,b=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;u=d+8|0;w=d;h=qF(12)|0;l=s3(A)|0;A:do{if(!e){e=1;f=l;while(1){switch(r[f>>0]|0){case 0:break A;case 58:{e=e+1|0;break}default:{}}f=f+1|0}}}while(0);a[h+4>>2]=l;o=qF((e*12|0)+12|0)|0;a[h+8>>2]=o;s=1.0;n=0;e=0;f=l;while(1){f=t3(f,107984)|0;if(!f){f=20;break}t=+tI(f);if(!(t>=0.0)){f=17;break}b=t-s;if(b>0.0)if((a[5156]|0)!=0?!(b<1.0e-05&b>-1.0e-05):0){a[w>>2]=A;ao(0,99948,w)|0;a[5156]=0;t=s;e=3}else t=s;b=s-t;if(t>0.0)r[o+(n*12|0)+8>>0]=1;if(r[f>>0]|0)a[o+(n*12|0)>>2]=f;f=n+1|0;c[o+(n*12|0)+4>>2]=t;if(b<1.0e-05&b>-1.0e-05){n=f;f=30;break}else{s=b;n=f;f=0}}A:do{if((f|0)==17){if(!(a[5156]|0))e=1;else{a[u>>2]=A;ao(1,99983,u)|0;a[5156]=0;e=2}lI(h)}else if((f|0)==20)if(s>0.0){f=0;l=0;while(1){if((f|0)>=(n|0))break;u=l+(+c[o+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;l=u}if((l|0)<=0){f=o+((n+-1|0)*12|0)+4|0;c[f>>2]=s+ +c[f>>2];f=30;break}t=s/+(l|0);f=0;while(1){if((f|0)>=(n|0)){f=30;break A}l=o+(f*12|0)+4|0;if(+c[l>>2]==0.0)c[l>>2]=t;f=f+1|0}}else f=30}while(0);if((f|0)==30){while(1){f=n+-1|0;if((n|0)<=0)break;if(+c[o+(f*12|0)+4>>2]>0.0)break;else n=f}a[o+(n*12|0)>>2]=0;a[h>>2]=n;a[i>>2]=h}k=d;return e|0}function lI(A){A=A|0;L2(a[A+4>>2]|0);L2(a[A+8>>2]|0);L2(A);return}function tI(A){A=A|0;var e=0.0,i=0,f=0,n=0;f=k;k=k+16|0;i=f;A=G1(A,59)|0;if(!A)e=0.0;else{n=A+1|0;r[A>>0]=0;e=+A8(n,i);e=(e>=0.0?(a[i>>2]|0)!=(n|0):0)?e:-1.0}k=f;return+e}function cI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0.0,v=0;v=k;k=k+80|0;n=v+64|0;d=v;B=+b[(a[A+16>>2]|0)+152>>3];h=nI(i,0,n)|0;if((h+-1|0)>>>0>=2){if(!r){a[d>>2]=a[e>>2];a[d+4>>2]=a[e+4>>2];a[d+8>>2]=a[e+8>>2];a[d+12>>2]=a[e+12>>2];o=d+16|0;u=e+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+32|0;u=e+32|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+48|0;u=e+48|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2]}else{o=e+32|0;a[d>>2]=a[o>>2];a[d+4>>2]=a[o+4>>2];a[d+8>>2]=a[o+8>>2];a[d+12>>2]=a[o+12>>2];o=d+16|0;u=e+48|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+32|0;a[o>>2]=a[e>>2];a[o+4>>2]=a[e+4>>2];a[o+8>>2]=a[e+8>>2];a[o+12>>2]=a[e+12>>2];o=d+48|0;u=e+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2]}t=d+16|0;s=+b[t>>3];f=+b[d>>3];w=s-f;u=d+32|0;b[u>>3]=f;b[t>>3]=f;o=B>.5;if(o)wr(A,.5);n=a[n>>2]|0;l=d+48|0;r=a[n+8>>2]|0;while(1){i=a[r>>2]|0;if(!i)break;e=r+4|0;if(!(+c[e>>2]==0.0)){er(A,i);if(!(a[r+12>>2]|0))f=s;else f=w*+c[e>>2]+ +b[d>>3];b[u>>3]=f;b[t>>3]=f;ar(A,d,4,1);f=+b[t>>3];b[l>>3]=f;b[d>>3]=f}r=r+12|0}if(o)wr(A,B);lI(n)}k=v;return h|0}function bI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;n=f>>>16^2;a[i+264>>2]=n;l=i+268|0;a[l>>2]=n+2;n=i+272|0;L2(a[n>>2]|0);i=qF(a[l>>2]<<4)|0;a[n>>2]=i;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];n=i+16|0;e=e+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function sI(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,a=0,n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0;h=k;k=k+144|0;i=h+80|0;f=h+16|0;a=h;c=+b[e>>3];u=A+16|0;s=+b[u>>3];if(!(((((((((!(c>s)?(w=+b[A>>3],!(c>3],l=+b[A+24>>3],!(r>l)):0)?(t=+b[A+8>>3],!(r>3],!(c>s|c>3],!(c>l|c>3],!(c>s|c>3],!(c>l|c>3],!(c>s|c>3],!(w>l|w>3];if(!(r>+b[u>>3])){if(r<+b[A>>3]){i=A;o=16}}else{i=u;o=16}if((o|0)==16){o=0;b[i>>3]=r}r=+b[e+(f<<4)+8>>3];if(!(r>+b[a>>3])){if(r<+b[n>>3]){i=A;o=19}}else{i=u;o=19}if((o|0)==19){o=0;b[i+8>>3]=r}f=f+1|0}}}while(0);k=h;return}function wI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0,t=0;e=k;k=k+48|0;i=e+32|0;r=e+16|0;f=e;t=A+48|0;l=A+16|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];a[i>>2]=a[l>>2];a[i+4>>2]=a[l+4>>2];a[i+8>>2]=a[l+8>>2];a[i+12>>2]=a[l+12>>2];n=+zF(f,r,i);l=A+32|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];a[i>>2]=a[l>>2];a[i+4>>2]=a[l+4>>2];a[i+8>>2]=a[l+8>>2];a[i+12>>2]=a[l+12>>2];A=n<4.0&+zF(f,r,i)<4.0&1;k=e;return A|0}function uI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0;W=k;k=k+272|0;g=W+256|0;E=W+224|0;C=W+192|0;I=W+128|0;Z=W+64|0;G=W;Q=W+160|0;m=W+96|0;L=W+32|0;v=a[e+16>>2]|0;B=a[v+144>>2]|0;d=v+16|0;a[I>>2]=a[d>>2];a[I+4>>2]=a[d+4>>2];a[I+8>>2]=a[d+8>>2];a[I+12>>2]=a[d+12>>2];a[I+16>>2]=a[d+16>>2];a[I+20>>2]=a[d+20>>2];a[I+24>>2]=a[d+24>>2];a[I+28>>2]=a[d+28>>2];v=a[(a[v+8>>2]|0)+88>>2]|0;a[G>>2]=0;a[G+4>>2]=0;a[G+8>>2]=0;a[G+12>>2]=0;a[G+16>>2]=0;a[G+20>>2]=0;a[G+24>>2]=0;a[G+28>>2]=0;if(!v){a[A>>2]=a[I>>2];a[A+4>>2]=a[I+4>>2];a[A+8>>2]=a[I+8>>2];a[A+12>>2]=a[I+12>>2];a[A+16>>2]=a[I+16>>2];a[A+20>>2]=a[I+20>>2];a[A+24>>2]=a[I+24>>2];a[A+28>>2]=a[I+28>>2]}else{e=I+16|0;if(+b[I>>3]==+b[e>>3]?(i=I+8|0,f=I+24|0,+b[i>>3]==+b[f>>3]):0){b[i>>3]=1797693134862315708145274.0e284;b[I>>3]=1797693134862315708145274.0e284;b[f>>3]=-1797693134862315708145274.0e284;b[e>>3]=-1797693134862315708145274.0e284}t=E+8|0;c=E+16|0;s=E+24|0;w=Z+16|0;u=Z+24|0;o=B+144|0;h=C+16|0;d=v+12|0;e=0;f=a[v+8>>2]|0;i=0;n=0.0;l=0;while(1){if((l|0)>=(a[v>>2]|0))break;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[Z+16>>2]=a[G+16>>2];a[Z+20>>2]=a[G+20>>2];a[Z+24>>2]=a[G+24>>2];a[Z+28>>2]=a[G+28>>2];switch(a[f>>2]|0){case 1:case 0:{D=+b[f+8>>3];M=+b[f+24>>3];b[E>>3]=D-M;z=+b[f+16>>3];Y=+b[f+32>>3];b[t>>3]=z-Y;b[c>>3]=M+D;b[s>>3]=Y+z;y=f+80|0;a[y>>2]=a[E>>2];a[y+4>>2]=a[E+4>>2];a[y+8>>2]=a[E+8>>2];a[y+12>>2]=a[E+12>>2];y=f+96|0;a[y>>2]=a[c>>2];a[y+4>>2]=a[c+4>>2];a[y+8>>2]=a[c+8>>2];a[y+12>>2]=a[c+12>>2];a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];kI(I,g);a[g>>2]=a[c>>2];a[g+4>>2]=a[c+4>>2];a[g+8>>2]=a[c+8>>2];a[g+12>>2]=a[c+12>>2];kI(I,g);break}case 3:case 2:{y=f+80|0;F=f+8|0;oI(Q,a[F+4>>2]|0,a[F>>2]|0,I);a[y>>2]=a[Q>>2];a[y+4>>2]=a[Q+4>>2];a[y+8>>2]=a[Q+8>>2];a[y+12>>2]=a[Q+12>>2];a[y+16>>2]=a[Q+16>>2];a[y+20>>2]=a[Q+20>>2];a[y+24>>2]=a[Q+24>>2];a[y+28>>2]=a[Q+28>>2];break}case 5:case 4:{F=f+80|0;y=f+8|0;oI(m,a[y+4>>2]|0,a[y>>2]|0,I);a[F>>2]=a[m>>2];a[F+4>>2]=a[m+4>>2];a[F+8>>2]=a[m+8>>2];a[F+12>>2]=a[m+12>>2];a[F+16>>2]=a[m+16>>2];a[F+20>>2]=a[m+20>>2];a[F+24>>2]=a[m+24>>2];a[F+28>>2]=a[m+28>>2];break}case 6:{F=f+80|0;y=f+8|0;oI(L,a[y+4>>2]|0,a[y>>2]|0,I);a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];a[F+16>>2]=a[L+16>>2];a[F+20>>2]=a[L+20>>2];a[F+24>>2]=a[L+24>>2];a[F+28>>2]=a[L+28>>2];break}case 7:{F=f+112|0;a[F>>2]=qF(56)|0;y=s3(a[f+40>>2]|0)|0;V=a[F>>2]|0;a[V>>2]=y;r[V+48>>0]=r[100029+(a[f+24>>2]|0)>>0]|0;a[Z>>2]=i;b[w>>3]=n;a[u>>2]=a[u>>2]&-128|e&127;V=a[o>>2]|0;V=W5[a[V>>2]&63](V,Z,1)|0;y=a[F>>2]|0;a[y+4>>2]=V;AR(g,B,y);hI(C,+b[f+8>>3],+b[f+16>>3],a[F>>2]|0);F=f+80|0;a[F>>2]=a[C>>2];a[F+4>>2]=a[C+4>>2];a[F+8>>2]=a[C+8>>2];a[F+12>>2]=a[C+12>>2];a[F+16>>2]=a[C+16>>2];a[F+20>>2]=a[C+20>>2];a[F+24>>2]=a[C+24>>2];a[F+28>>2]=a[C+28>>2];a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];kI(I,g);a[g>>2]=a[h>>2];a[g+4>>2]=a[h+4>>2];a[g+8>>2]=a[h+8>>2];a[g+12>>2]=a[h+12>>2];kI(I,g);if(!(a[d>>2]|0))a[d>>2]=109;break}case 10:{i=a[f+16>>2]|0;n=+b[f+8>>3];break}case 15:{e=a[f+8>>2]|0;break}default:{}}f=f+120|0;l=l+1|0}a[A>>2]=a[I>>2];a[A+4>>2]=a[I+4>>2];a[A+8>>2]=a[I+8>>2];a[A+12>>2]=a[I+12>>2];a[A+16>>2]=a[I+16>>2];a[A+20>>2]=a[I+20>>2];a[A+24>>2]=a[I+24>>2];a[A+28>>2]=a[I+28>>2]}k=W;return}function kI(A,e){A=A|0;e=e|0;var i=0.0,r=0;i=+b[e>>3];r=A+16|0;if(i>+b[r>>3])b[r>>3]=i;if(i<+b[A>>3])b[A>>3]=i;i=+b[e+8>>3];e=A+24|0;if(i>+b[e>>3])b[e>>3]=i;e=A+8|0;if(i<+b[e>>3])b[e>>3]=i;return}function oI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+48|0;c=d+32|0;w=d;f=+b[e>>3];u=w+16|0;b[u>>3]=f;b[w>>3]=f;f=+b[e+8>>3];o=w+24|0;b[o>>3]=f;s=w+8|0;b[s>>3]=f;t=1;while(1){if((t|0)>=(i|0))break;l=e+24|0;f=+b[l>>3];if(!(f<+b[w>>3])){if(f>+b[u>>3]){n=u;h=5}}else{n=w;h=5}if((h|0)==5){h=0;b[n>>3]=f}f=+b[e+32>>3];if(!(f<+b[s>>3])){if(f>+b[o>>3]){e=u;h=8}}else{e=w;h=8}if((h|0)==8){h=0;b[e+8>>3]=f}t=t+1|0;e=l}a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];kI(r,c);a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];kI(r,c);a[A>>2]=a[w>>2];a[A+4>>2]=a[w+4>>2];a[A+8>>2]=a[w+8>>2];a[A+12>>2]=a[w+12>>2];a[A+16>>2]=a[w+16>>2];a[A+20>>2]=a[w+20>>2];a[A+24>>2]=a[w+24>>2];a[A+28>>2]=a[w+28>>2];k=d;return}function hI(A,e,i,f){A=A|0;e=+e;i=+i;f=f|0;var a=0.0,n=0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+16|0;l=w+8|0;t=w;a=+b[f+32>>3];c=+b[f+40>>3];switch(r[f+48>>0]|0){case 108:{b[l>>3]=e;a=a+e;n=t;s=5;break}case 110:{a=a*.5;b[l>>3]=e-a;a=a+e;n=t;s=5;break}case 114:{b[t>>3]=e;a=e-a;n=l;s=5;break}default:{e=0.0;a=0.0}}if((s|0)==5){b[n>>3]=a;e=+b[l>>3];a=+b[t>>3]}i=+b[f+16>>3]+i;b[A>>3]=e;b[A+8>>3]=i-c;b[A+16>>3]=a;b[A+24>>3]=i;k=w;return}function dI(A){A=A|0;if((a[A>>2]|0)==7)xF(a[A+112>>2]|0,1);return}function BI(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0.0;s=k;k=k+16|0;c=s;t=a[A+152>>2]|0;w=+b[A+432>>3];l=+b[A+352>>3]*.013888888888888888;f=l*w;b[A+488>>3]=f;n=+b[A+440>>3];l=l*n;b[A+496>>3]=l;b[A+520>>3]=w*.013888888888888888;i=A+528|0;b[i>>3]=n*.013888888888888888;if(t&4096|0)b[i>>3]=n*-.013888888888888888;i=(a[A+360>>2]|0)==0;w=+((a[A+448>>2]|0)>>>0);n=+((a[A+452>>2]|0)>>>0);b[A+368>>3]=(i?w:n)/f;b[A+376>>3]=(i?n:w)/l;cr(A,dR(e,Yo(e,0,101522,0)|0,195059)|0);a[A+160>>2]=0;vI(A,e);if(t&2|0)gI(A,e);i=cd(e)|0;while(1){if(!i)break;r[(a[i+16>>2]|0)+116>>0]=0;i=bd(e,i)|0}EI(A,c);while(1){if(!((CI(A)|0)<<24>>24))break;if((II(A)|0)>1)Vi(A);ZI(A);while(1){if(!((GI(A)|0)<<24>>24))break;QI(A,e);mI(A)}if((II(A)|0)>1)Ji(A);LI(A,c)}WI(A);k=s;return}function vI(A,e){A=A|0;e=e|0;var i=0;i=AI(A)|0;a[i+4>>2]=0;a[i+8>>2]=e;a[i+12>>2]=0;TM(A,a[(a[e+16>>2]|0)+12>>2]|0,e);Yi(A,e);return}function gI(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,n=0;er(A,134800);i=po(e,140977)|0;if(i|0?r[i>>0]|0:0)er(A,i);i=po(e,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);rF(A,e);n=cd(e)|0;while(1){if(!n)break;i=po(n,140823)|0;if(i|0?r[i>>0]|0:0)$i(A,i);i=po(n,137729)|0;if(i|0?r[i>>0]|0:0)er(A,i);i=po(n,101418)|0;do{if(i|0?r[i>>0]|0:0){if(!(G1(i,58)|0)){$i(A,i);break}f=s3(i)|0;i=f;while(1){i=t3(i,107984)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}$i(A,i);i=0}L2(f)}}while(0);i=po(n,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);a=Oo(e,n)|0;while(1){if(!a)break;i=po(a,140823)|0;do{if(i|0?r[i>>0]|0:0){if(!(G1(i,58)|0)){$i(A,i);break}f=s3(i)|0;i=f;while(1){i=t3(i,107984)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}$i(A,i);i=0}L2(f)}}while(0);i=po(a,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);a=_o(e,a)|0}n=bd(e,n)|0}return}function EI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;r=t+8|0;n=t;l=a[A>>2]|0;i=a[l+312>>2]|0;f=A+156|0;a[f>>2]=i;l=a[l+316>>2]|0;if(!l)if((i|0)>1?(a[A+152>>2]&64|0)==0:0){a[r>>2]=a[A+52>>2];ao(0,100567,r)|0;a[f>>2]=1;r=1;i=0}else{r=1;i=0}else{i=l+4|0;if((a[l>>2]|0)>1?(a[A+152>>2]&64|0)==0:0){a[n>>2]=a[A+52>>2];ao(0,100567,n)|0;a[l+8>>2]=(a[f>>2]|0)+1}r=a[i>>2]|0;i=l+8|0}a[A+160>>2]=r;a[e>>2]=i;k=t;return}function CI(A){A=A|0;return(a[A+160>>2]|0)<=(a[A+156>>2]|0)|0}function II(A){A=A|0;var e=0;e=a[(a[A>>2]|0)+316>>2]|0;return a[((e|0)==0?A+156|0:e)>>2]|0}function ZI(A){A=A|0;var e=0,i=0;i=A+172|0;e=a[i+4>>2]|0;A=A+196|0;a[A>>2]=a[i>>2];a[A+4>>2]=e;return}function GI(A){A=A|0;var e=0,i=0;i=a[A+196>>2]|0;if(((i|0)>-1?(i|0)<(a[A+164>>2]|0):0)?(e=a[A+200>>2]|0,(e|0)>-1):0)A=(e|0)<(a[A+168>>2]|0)&1;else A=0;return A|0}function QI(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+176|0;b=o;i=o+48|0;s=o+32|0;w=a[A+16>>2]|0;u=a[A+152>>2]|0;if((a[A+160>>2]|0)<=1?(a[A+196>>2]|0)<=0:0)l=0;else{co(s,128,i);n=w+212|0;l=a[n>>2]|0;fI(A,s);wo(s,l)|0;t=s+4|0;i=a[t>>2]|0;if(i>>>0>=(a[s+8>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}r[i>>0]=0;i=a[s>>2]|0;a[t>>2]=i;a[n>>2]=i}Qf(po(e,100032)|0);zI(A);Mi(A);$i(A,137314);er(A,134800);do{if(u&4259840|0){if((a[w+208>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;if(u&655360){t=u&131072;a[w+264>>2]=t>>>16^2;i=qF((t>>>12^32)+32|0)|0;n=A+288|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];n=i+16|0;h=A+304|0;a[n>>2]=a[h>>2];a[n+4>>2]=a[h+4>>2];a[n+8>>2]=a[h+8>>2];a[n+12>>2]=a[h+12>>2];if(!t){QF(i);n=4}else n=2}else{i=0;n=0}if(!(u&8192))zi(A,i,i,n)|0;a[w+272>>2]=i;a[w+268>>2]=n}}while(0);if(u&32768|0?(c=a[(a[e+16>>2]|0)+12>>2]|0,c|0):0)a[w+192>>2]=a[c>>2];n=(u&4|0)!=0;do{if(!n){i=w+208|0;if((a[i>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;h=A+256|0;a[b>>2]=a[h>>2];a[b+4>>2]=a[h+4>>2];a[b+8>>2]=a[h+8>>2];a[b+12>>2]=a[h+12>>2];a[b+16>>2]=a[h+16>>2];a[b+20>>2]=a[h+20>>2];a[b+24>>2]=a[h+24>>2];a[b+28>>2]=a[h+28>>2];bI(A,b);Pi(A,a[i>>2]|0,a[w+228>>2]|0,a[w+244>>2]|0,a[w+212>>2]|0)}}while(0);YI(A,e);i=a[(a[e+16>>2]|0)+12>>2]|0;if(i|0)jF(A,4,i);do{if(!n){if((a[w+208>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;Oi(A)}}while(0);DI(A,e,u);Fi(A);if(l|0){uo(s);a[w+212>>2]=l}k=o;return}function mI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+32|0;i=l+24|0;e=l+16|0;c=l+8|0;f=l;n=A+196|0;t=A+188|0;a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];yI(c,e,i);t=a[c+4>>2]|0;r=n;a[r>>2]=a[c>>2];a[r+4>>2]=t;if(!((GI(A)|0)<<24>>24)){r=A+180|0;if(!(a[A+184>>2]|0))a[A+200>>2]=a[A+176>>2];else a[n>>2]=a[A+172>>2];a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];yI(f,e,i);t=a[f+4>>2]|0;c=n;a[c>>2]=a[f>>2];a[c+4>>2]=t}k=l;return}function LI(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;if(!i){i=A+160|0;a[i>>2]=(a[i>>2]|0)+1}else{a[A+160>>2]=a[i>>2];a[e>>2]=i+4}return}function WI(A){A=A|0;Di(A);eI(A);return}function yI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[i+4>>2]|0)+(a[e+4>>2]|0)|0;a[A>>2]=(a[i>>2]|0)+(a[e>>2]|0);a[A+4>>2]=r;return}function zI(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0.0;v=k;k=k+48|0;w=v+32|0;f=v+24|0;t=v+8|0;c=v+16|0;s=v;d=A+196|0;h=a[d>>2]|0;d=a[d+4>>2]|0;o=f;a[o>>2]=h;a[o+4>>2]=d;o=A+164|0;l=a[o>>2]|0;o=a[o+4>>2]|0;B=t;a[B>>2]=l;a[B+4>>2]=o;B=A+360|0;if(!(a[B>>2]|0)){c=h;t=d}else{a[w>>2]=a[f>>2];a[w+4>>2]=a[f+4>>2];iF(c,w);d=c;c=a[d>>2]|0;d=a[d+4>>2]|0;o=f;a[o>>2]=c;a[o+4>>2]=d;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];iF(s,w);o=s;l=a[o>>2]|0;o=a[o+4>>2]|0;a[t>>2]=l;a[t+4>>2]=o;t=d}i=+b[A+320>>3];n=i*+(c|0)-+b[A+240>>3];b[A+288>>3]=n;r=+b[A+328>>3];u=r*+(t|0)-+b[A+248>>3];b[A+296>>3]=u;b[A+304>>3]=i+n;b[A+312>>3]=r+u;f=A+472|0;if(!(a[(a[A+12>>2]|0)+28>>2]|0)){d=A+456|0;a[f>>2]=a[d>>2];a[f+4>>2]=a[d+4>>2];a[f+8>>2]=a[d+8>>2];a[f+12>>2]=a[d+12>>2]}else{h=A+456|0;a[f>>2]=a[((a[f>>2]|0)<(a[h>>2]|0)?f:h)>>2];d=A+476|0;a[d>>2]=a[((a[d>>2]|0)<(a[A+460>>2]|0)?f:h)+4>>2];d=A+480|0;a[d>>2]=a[((a[d>>2]|0)>(a[A+464>>2]|0)?f:h)+8>>2];d=A+484|0;a[d>>2]=a[((a[d>>2]|0)>(a[A+468>>2]|0)?f:h)+12>>2]}s=a[A+152>>2]|0;e=+b[A+336>>3];if(!(s&128)){e=(+(c|0)-+(l|0)*.5)*i+e;b[A+256>>3]=e;n=(+(t|0)-+(o|0)*.5)*r+ +b[A+344>>3];u=n;i=i+e;n=n+r}else{i=+b[A+368>>3]*.5;r=e-i;b[A+256>>3]=r;n=+b[A+344>>3];g=+b[A+376>>3]*.5;u=n-g;i=i+e;n=g+n;e=r}b[A+264>>3]=u;b[A+272>>3]=i;b[A+280>>3]=n;if(!(a[B>>2]|0)){r=+b[A+352>>3];b[A+504>>3]=+b[A+384>>3]/r-e;if(!(s&4096)){i=+b[A+392>>3]/r;e=u}else{i=-n;e=+b[A+392>>3]/r}b[A+512>>3]=i-e}else{f=A+384|0;r=+b[A+352>>3];b[A+512>>3]=-n-+b[A+392>>3]/r;if(!(s&4096))i=+b[f>>3]/r;else{i=-i;e=+b[f>>3]/r}b[A+504>>3]=i-e}k=v;return}function YI(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+48|0;h=B;u=B+40|0;o=B+36|0;d=B+32|0;i=po(e,140977)|0;if(!i){t=1;i=137198}else{l=(r[i>>0]|0)==0;t=l&1;i=l?137198:i}n=a[A+152>>2]|0;l=(r[i>>0]|0)==116;if(!(n&256))if(l){s=(A1(i,137379)|0)==0;b=s?137198:i;s=s?1:t;w=8}else{b=i;s=t;w=8}else if(!(l?!(A1(i,137379)|0):0)){b=i;s=t;w=8}if((w|0)==8?!((s|0)!=0&(n&33554432|0)!=0):0)if(!((qM(b,u,o)|0)<<24>>24)){er(A,b);$i(A,137379);d=A+256|0;a[h>>2]=a[d>>2];a[h+4>>2]=a[d+4>>2];a[h+8>>2]=a[d+8>>2];a[h+12>>2]=a[d+12>>2];a[h+16>>2]=a[d+16>>2];a[h+20>>2]=a[d+20>>2];a[h+24>>2]=a[d+24>>2];a[h+28>>2]=a[d+28>>2];nr(A,h,1)}else{a[d>>2]=0;l=a[u>>2]|0;er(A,l);$i(A,137379);_M(e,d)|0;i=a[u+4>>2]|0;n=kR(e,a[47143]|0,0,0)|0;f=+c[o>>2];if(!i)ir(A,137314,n,f);else ir(A,i,n,f);d=(a[d>>2]|0)>>>1&1|2;o=A+256|0;a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];a[h+16>>2]=a[o+16>>2];a[h+20>>2]=a[o+20>>2];a[h+24>>2]=a[o+24>>2];a[h+28>>2]=a[o+28>>2];nr(A,h,d);L2(l)}i=a[(a[(a[e+16>>2]|0)+8>>2]|0)+88>>2]|0;if(i|0)AF(A,i);k=B;return}function DI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=(a[A>>2]|0)+28|0;a[n>>2]=(a[n>>2]|0)+1;n=(i&4|0)!=0;if(!n)MI(A,e,i);A:do{if(!(i&1)){if(i&16|0){pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A);Ri(A);r=cd(e)|0;while(1){if(!r)break;FI(A,r);r=bd(e,r)|0}Hi(A);break}if(!(i&8)){f=cd(e)|0;while(1){if(!f)break A;FI(A,f);r=Oo(e,f)|0;while(1){if(!r)break;FI(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0);VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}}Ri(A);r=cd(e)|0;while(1){if(!r)break;if((JI(e,r)|0)<<24>>24)FI(A,r);r=bd(e,r)|0}Hi(A);pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;if((NI(e,r)|0)<<24>>24)VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A)}else{Ri(A);r=cd(e)|0;while(1){if(!r)break;FI(A,r);r=bd(e,r)|0}Hi(A);pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A)}}while(0);if(n)MI(A,e,i);return}function MI(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;H=k;k=k+128|0;C=H+72|0;X=H+64|0;D=H+112|0;M=H;F=H+104|0;V=e+16|0;J=(i&4|0)!=0;N=A+16|0;I=M+32|0;Z=M+16|0;Q=M+8|0;m=M+24|0;L=M+48|0;W=M+40|0;y=M+56|0;z=(i&8|0)==0;Y=F+4|0;E=1;while(1){l=a[V>>2]|0;if((E|0)>(a[l+180>>2]|0))break;g=a[(a[l+184>>2]|0)+(E<<2)>>2]|0;if((OM(A,g)|0)<<24>>24){if(J)MI(A,g,i);KM(A,g);d=a[N>>2]|0;B=d+208|0;if(!(a[B>>2]|0))v=(f[d+260>>1]&1)!=0;else v=1;Qf(po(g,100032)|0);if(!(J|v^1)){h=(a[g+16>>2]|0)+16|0;a[C>>2]=a[h>>2];a[C+4>>2]=a[h+4>>2];a[C+8>>2]=a[h+8>>2];a[C+12>>2]=a[h+12>>2];a[C+16>>2]=a[h+16>>2];a[C+20>>2]=a[h+20>>2];a[C+24>>2]=a[h+24>>2];a[C+28>>2]=a[h+28>>2];bI(A,C);Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0)}a[D>>2]=0;l=_M(g,D)|0;if(!l)o=0;else{rr(A,l);o=a[D>>2]&1}h=g+16|0;l=n[(a[h>>2]|0)+112>>0]|0;do{if(!(l&1)){if(l&2|0){l=BR(g,0,106256)|0;t=BR(g,0,106264)|0;R=29;break}if(l&8|0){l=BR(g,0,106272)|0;t=BR(g,0,106280)|0;R=29;break}if(l&4|0){l=BR(g,0,106288)|0;t=BR(g,0,106296)|0;R=29;break}l=po(g,140823)|0;if(!l)t=0;else t=(r[l>>0]|0)==0?0:l;l=po(g,137729)|0;if(!l)l=t;else l=(r[l>>0]|0)==0?t:l;s=po(g,101418)|0;if(s)t=(r[s>>0]|0)==0?t:s;if(!((o|0)!=0&(t|0)!=0)){s=po(g,140977)|0;if(s|0?r[s>>0]|0:0){t=s;R=29;break}l=(l|0)==0?137314:l;w=(t|0)==0?134800:t;a[F>>2]=0;if(!o)t=0;else R=31}else R=29}else{l=BR(g,0,106240)|0;t=BR(g,0,106248)|0;R=29}}while(0);if((R|0)==29){a[F>>2]=0;l=(l|0)==0?137314:l;w=(t|0)==0?134800:t;R=31}if((R|0)==31){R=0;if(!((qM(w,F,C)|0)<<24>>24)){er(A,w);t=1}else{er(A,a[F>>2]|0);t=a[Y>>2]|0;s=kR(g,a[47143]|0,0,0)|0;u=+c[C>>2];if(!t)ir(A,137314,s,u);else ir(A,t,s,u);t=(a[D>>2]|0)>>>1&1|2}}s=a[47142]|0;if((s|0?(G=Uo(g,s)|0,G|0):0)?r[G>>0]|0:0)wr(A,+oR(g,a[47142]|0,1.0,0.0));o=a[D>>2]|0;do{if(o&4){s=kR(g,a[47141]|0,1,0)|0;if(s|t|0){w=a[h>>2]|0;p=w+16|0;a[M>>2]=a[p>>2];a[M+4>>2]=a[p+4>>2];a[M+8>>2]=a[p+8>>2];a[M+12>>2]=a[p+12>>2];w=w+32|0;a[I>>2]=a[w>>2];a[I+4>>2]=a[w+4>>2];a[I+8>>2]=a[w+8>>2];a[I+12>>2]=a[w+12>>2];b[Z>>3]=+b[I>>3];b[m>>3]=+b[Q>>3];b[L>>3]=+b[M>>3];b[y>>3]=+b[W>>3];if(!s)$i(A,137379);else $i(A,l);tN(A,M,4,o,t)}}else{if(!(o&64)){if(kR(g,a[47141]|0,1,0)|0){$i(A,l);p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,t);break}if(!t)break;$i(A,137379);p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,t);break}p=a[h>>2]|0;o=p+16|0;a[M>>2]=a[o>>2];a[M+4>>2]=a[o+4>>2];a[M+8>>2]=a[o+8>>2];a[M+12>>2]=a[o+12>>2];p=p+32|0;a[I>>2]=a[p>>2];a[I+4>>2]=a[p+4>>2];a[I+8>>2]=a[p+8>>2];a[I+12>>2]=a[p+12>>2];b[Z>>3]=+b[I>>3];b[m>>3]=+b[Q>>3];b[L>>3]=+b[M>>3];b[y>>3]=+b[W>>3];if(!(kR(g,a[47141]|0,1,0)|0))$i(A,137379);else $i(A,l);if((cI(A,M,w,0)|0)>1){a[X>>2]=Vh(g)|0;ao(3,100400,X)|0}p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,0)}}while(0);L2(a[F>>2]|0);l=a[(a[h>>2]|0)+12>>2]|0;if(l|0)jF(A,5,l);if(v){if(J){p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];bI(A,C);Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0)}Oi(A)}A:do{if(!z){t=cd(g)|0;while(1){if(!t)break A;FI(A,t);l=Oo(g,t)|0;while(1){if(!l)break;VI(A,l);l=_o(g,l)|0}t=bd(g,t)|0}}}while(0);$M(A,e);if(!J)MI(A,g,i)}E=E+1|0}k=H;return}function FI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+32|0;i=c;l=a[A>>2]|0;t=e+16|0;A:do{if(((a[(a[t>>2]|0)+8>>2]|0?(HM(A,Id(e)|0,e)|0)<<24>>24:0)?(b=A+256|0,a[i>>2]=a[b>>2],a[i+4>>2]=a[b+4>>2],a[i+8>>2]=a[b+8>>2],a[i+12>>2]=a[b+12>>2],a[i+16>>2]=a[b+16>>2],a[i+20>>2]=a[b+20>>2],a[i+24>>2]=a[b+24>>2],a[i+28>>2]=a[b+28>>2],(pM(e,i)|0)<<24>>24):0)?(f=(a[t>>2]|0)+116|0,n=a[l+28>>2]|0,(n|0)!=(r[f>>0]|0)):0){r[f>>0]=n;cr(A,Vh(e)|0);i=dR(e,a[47169]|0,195059)|0;if(r[i>>0]|0)cr(A,i);i=dR(e,a[47157]|0,195059)|0;e:do{if(r[i>>0]|0){HI(i)|0;i=188228;while(1){f=i;i=i+4|0;f=a[f>>2]|0;if(!f)break e;if((r[f>>0]|0)!=105)continue;if(!(A1(f,134335)|0))break A}}}while(0);UM(A,e);V5[a[(a[(a[(a[t>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](A,e);i=a[(a[t>>2]|0)+108>>2]|0;if(i|0?r[i+81>>0]|0:0)jF(A,10,i);xM(A)}}while(0);k=c;return}function VI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;n=l;i=A+256|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[n+16>>2]=a[i+16>>2];a[n+20>>2]=a[i+20>>2];a[n+24>>2]=a[i+24>>2];a[n+28>>2]=a[i+28>>2];A:do{if((XI(e,n)|0)<<24>>24?(f=e+-48|0,(RI(A,e)|0)<<24>>24):0){t=e+48|0;i=S2(Vh(a[((a[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;i=m2(i+3+(S2(Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)|0)|0;$1(i,Vh(a[((a[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;t=(Ih(Id(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)==0;n=i+(S2(i)|0)|0;if(t){r[n>>0]=r[141747]|0;r[n+1>>0]=r[141748]|0;r[n+2>>0]=r[141749]|0}else{r[n>>0]=r[137738]|0;r[n+1>>0]=r[137739]|0;r[n+2>>0]=r[137740]|0}u3(i,Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0;cr(A,i);L2(i);i=dR(e,a[47191]|0,195059)|0;if(r[i>>0]|0)cr(A,i);i=dR(e,a[47185]|0,195059)|0;e:do{if(!(r[i>>0]|0))i=0;else{HI(i)|0;i=188228;while(1){f=i;i=i+4|0;f=a[f>>2]|0;if(!f){i=188228;break e}if((r[f>>0]|0)!=105)continue;if(!(A1(f,134335)|0))break A}}}while(0);aM(A,e,i);nM(A,e,i);lM(A)}}while(0);k=l;return}function JI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0)){A=1;break}if(!(Dd(a[(a[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function NI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0)){A=1;break}if(!(Dd(a[(a[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function XI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+64|0;t=c+32|0;f=c;n=A+16|0;A=a[n>>2]|0;i=a[A+8>>2]|0;if((i|0)!=0?(i=i+8|0,a[f>>2]=a[i>>2],a[f+4>>2]=a[i+4>>2],a[f+8>>2]=a[i+8>>2],a[f+12>>2]=a[i+12>>2],a[f+16>>2]=a[i+16>>2],a[f+20>>2]=a[i+20>>2],a[f+24>>2]=a[i+24>>2],a[f+28>>2]=a[i+28>>2],a[t>>2]=a[e>>2],a[t+4>>2]=a[e+4>>2],a[t+8>>2]=a[e+8>>2],a[t+12>>2]=a[e+12>>2],a[t+16>>2]=a[e+16>>2],a[t+20>>2]=a[e+20>>2],a[t+24>>2]=a[e+24>>2],a[t+28>>2]=a[e+28>>2],(RM(f,t)|0)!=0):0)A=1;else l=3;do{if((l|0)==3){i=a[A+96>>2]|0;if(i){a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[t+16>>2]=a[e+16>>2];a[t+20>>2]=a[e+20>>2];a[t+24>>2]=a[e+24>>2];a[t+28>>2]=a[e+28>>2];if((GH(i,t)|0)<<24>>24){A=1;break}A=a[n>>2]|0}A=a[A+108>>2]|0;if((A|0?r[A+81>>0]|0:0)?(a[t>>2]=a[e>>2],a[t+4>>2]=a[e+4>>2],a[t+8>>2]=a[e+8>>2],a[t+12>>2]=a[e+12>>2],a[t+16>>2]=a[e+16>>2],a[t+20>>2]=a[e+20>>2],a[t+24>>2]=a[e+24>>2],a[t+28>>2]=a[e+28>>2],(GH(A,t)|0)<<24>>24):0){A=1;break}A=0}}while(0);k=c;return A|0}function RI(A,e){A=A|0;e=e|0;var i=0,f=0;A:do{if((a[A+156>>2]|0)>=2?(i=dR(e,a[47190]|0,195059)|0,(VM(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=0;while(1){if((i|0)>=2){i=0;break A}f=(i|0)==1;f=dR(a[((a[e>>2]&3|0)==((f?2:3)|0)?e:e+((f?-1:1)*48|0)|0)+40>>2]|0,a[47167]|0,195059)|0;if(!(r[f>>0]|0)){i=1;break A}if(!((VM(A,f)|0)<<24>>24))i=i+1|0;else{i=1;break}}}else i=0;else i=1}while(0);return i|0}function HI(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+192|0;u=o+24|0;w=o+16|0;s=o+8|0;b=o;n=o+48|0;c=o+32|0;if(r[100282]|0){co(188492,128,194826);r[100282]=0}co(c,128,o+56|0);a[n>>2]=A;l=c+4|0;t=c+8|0;e=0;i=0;A:while(1){f=e;e:while(1)switch(MM(n,c)|0){case 0:{e=21;break A}case 40:if(!(f<<24>>24)){f=1;continue e}else{e=7;break A}case 41:if(!(f<<24>>24)){e=9;break A}else{f=0;continue e}default:break e}if(!(f<<24>>24)){if((i|0)==63){e=12;break}e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}a[47124]=e+1;r[e>>0]=0;a[188228+(i<<2)>>2]=a[47124];i=i+1|0}e=a[l>>2]|0;if(e>>>0>=(a[t>>2]|0)>>>0){bo(c,1)|0;e=a[l>>2]|0}r[e>>0]=0;e=a[c>>2]|0;a[l>>2]=e;wo(188492,e)|0;e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}a[47124]=e+1;r[e>>0]=0;e=f}do{if((e|0)==7){a[b>>2]=A;ao(1,100283,b)|0;a[47057]=0;uo(c)}else if((e|0)==9){a[s>>2]=A;ao(1,100317,s)|0;a[47057]=0;uo(c)}else if((e|0)==12){a[w>>2]=A;ao(0,100345,w)|0;a[47120]=0;uo(c)}else if((e|0)==21){if(f<<24>>24){a[u>>2]=A;ao(1,100368,u)|0;a[47057]=0;uo(c);break}a[188228+(i<<2)>>2]=0;uo(c);e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}r[e>>0]=0;a[47124]=a[47123]}}while(0);k=o;return 188228}function pI(A){A=A|0;var e=0;e=k;k=k+A|0;k=k+15&-16;return e|0}function UI(){return k|0}function xI(A){A=A|0;k=A}function TI(A,e){A=A|0;e=e|0;k=A;o=e}function jI(A,e){A=A|0;e=e|0;if(!d){d=A;B=e}}function SI(A){A=A|0;L=A}function PI(){return L|0}function OI(A){A=A|0;a[46654]=A;return 0}function KI(){return a[46654]|0}function _I(A,e){A=A|0;e=e|0;UA(0,A|0,e|0)|0;return}function qI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t+4|0;n=t;a[f>>2]=0;l=wE()|0;dE(l,10976);dE(l,17220);dE(l,17440);fo(1)|0;ro(18)|0;while(1){A=_h(A)|0;r=a[f>>2]|0;if(!A)break;if(r|0){A=195059;continue}uE(l,A,i)|0;hE(l,A,e,f,n)|0;A=195059}k=t;return r|0}function $I(A){A=A|0;var e=0,i=0,r=0,n=0;n=k;k=k+16|0;e=n+4|0;i=n;r=a[(a[A+16>>2]|0)+8>>2]|0;A=A+64|0;switch(a[A>>2]|0){case 0:{qV(r);break}case 1:{if(f[(a[r+16>>2]|0)+136>>1]&1)cH(r);break}case 4:case 5:case 6:{OV(r,i,e);iZ(r,a[i>>2]|0,a[e>>2]|0,a[A>>2]|0);break}default:{}}k=n;return}function AZ(A){A=A|0;var e=0,i=0,r=0,f=0;i=a[(a[A+16>>2]|0)+8>>2]|0;if(!(a[46655]|0)){a[46655]=a[4678];a[46656]=57;a[46657]=19}r=i+64|0;f=(a[r>>2]|0)+8|0;e=a[f>>2]|0;a[f>>2]=186620;switch(a[A+64>>2]|0){case 2:{XV(A,i,A,0);break}case 3:{XV(A,i,A,1);break}case 1:case 0:{if(!(a[A+152>>2]&134217728))rv(i,A)|0;break}case 6:case 5:case 4:{eZ(i);if(!(a[A+152>>2]&134217728))rv(i,A)|0;break}default:{}}a[(a[r>>2]|0)+8>>2]=e;return}function eZ(A){A=A|0;var e=0,i=0;e=a[46659]|0;if((e|0)!=(a[46658]|0)){i=a[a[46690]>>2]|0;if(!i){i=oH(A,0,99808,195059)|0;a[a[46690]>>2]=i;e=a[46659]|0}if(e>>>0>=(a[46660]|0)>>>0){bo(186632,1)|0;e=a[46659]|0}r[e>>0]=0;e=a[46658]|0;a[46659]=e;Vo(A,i,e)|0}if(a[(a[A+16>>2]|0)+12>>2]|0){i=a[(a[46690]|0)+4>>2]|0;e=a[46675]|0;if(e>>>0>=(a[46676]|0)>>>0){bo(186696,1)|0;e=a[46675]|0}r[e>>0]=0;e=a[46674]|0;a[46675]=e;Vo(A,i,e)|0}To(A,66753,a[(a[46690]|0)+8236>>2]|0,195059)|0;e=0;while(1){if((e|0)==8)break;uo(186632+(e<<4)|0);e=e+1|0}L2(a[46690]|0);b[1]=1.0;b[5]=1.0;a[46691]=0;a[46695]=0;return}function iZ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0;t=m2(8240)|0;a[46690]=t;A:do{switch(n|0){case 6:{f[t+8232>>1]=14;n=66769;break}case 5:{f[t+8232>>1]=12;n=66773;break}default:{n=po(A,66753)|0;if((n|0?r[n>>0]|0:0)?(l=rZ(n)|0,(l&65535)>10):0){t=a[46690]|0;f[t+8232>>1]=l;break A}n=rZ(66765)|0;t=a[46690]|0;f[t+8232>>1]=n;n=66765}}}while(0);a[t+8236>>2]=n;c=A+16|0;n=a[c>>2]|0;if(!(a[n+180>>2]|0))l=0;else{l=oH(A,0,99808,195059)|0;t=a[46690]|0;n=a[c>>2]|0}a[t>>2]=l;if(!(r[n+113>>0]&8))n=0;else n=oH(A,0,66777,195059)|0;a[(a[46690]|0)+4>>2]=n;t=oH(A,1,99808,195059)|0;a[(a[46690]|0)+8>>2]=t;t=oH(A,1,66777,195059)|0;a[(a[46690]|0)+12>>2]=t;t=oH(A,2,99808,195059)|0;n=a[46690]|0;a[n+16>>2]=t;if(!i)l=0;else{l=oH(A,2,66785,195059)|0;n=a[46690]|0}a[n+20>>2]=l;if(!e)l=0;else{l=oH(A,2,66793,195059)|0;n=a[46690]|0}a[n+24>>2]=l;l=r[(a[c>>2]|0)+113>>0]|0;if(!(l&33))t=0;else{t=oH(A,2,66777,195059)|0;n=a[46690]|0;l=r[(a[c>>2]|0)+113>>0]|0}a[n+28>>2]=t;if(!(l&2))t=0;else{t=oH(A,2,66801,195059)|0;n=a[46690]|0;l=r[(a[c>>2]|0)+113>>0]|0}a[n+32>>2]=t;if(!(l&4))l=0;else{l=oH(A,2,66810,195059)|0;n=a[46690]|0}a[n+36>>2]=l;n=0;while(1){if((n|0)==8)break;co(186632+(n<<4)|0,1024,(a[46690]|0)+40+(n<<10)|0);n=n+1|0}return}function rZ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+1040|0;l=c;n=c+8|0;f=0;e=A;A:while(1){do{i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A}while(((i<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){t=7;break}r[n+f>>0]=i;f=f+1|0}if((t|0)==7){a[l>>2]=A;ao(0,66819,l)|0}r[n+f>>0]=0;t=(q3(n)|0)&65535;k=c;return t|0}function fZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;e=a[a[46690]>>2]|0;A=a[46663]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0;if(a[(a[i+16>>2]|0)+12>>2]|0){e=a[(a[46690]|0)+4>>2]|0;A=a[46679]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}b[2]=1.0;b[6]=1.0;a[46692]=0;a[46696]=0;return}function aZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;A=a[46663]|0;if((a[46662]|0)!=(A|0)){e=a[(a[46690]|0)+8>>2]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0}A=a[46679]|0;if((a[46678]|0)!=(A|0)){e=a[(a[46690]|0)+12>>2]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}b[9]=1.0;b[11]=1.0;a[46699]=0;a[46701]=0;return}function nZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;A=a[46663]|0;if((a[46662]|0)!=(A|0)){e=a[(a[46690]|0)+16>>2]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0}A=a[46667]|0;if((a[46666]|0)!=(A|0)){e=a[(a[46690]|0)+24>>2]|0;if(A>>>0>=(a[46668]|0)>>>0){bo(186664,1)|0;A=a[46667]|0}r[A>>0]=0;A=a[46666]|0;a[46667]=A;Vo(i,e,A)|0}A=a[46671]|0;if((a[46670]|0)!=(A|0)){e=a[(a[46690]|0)+20>>2]|0;if(A>>>0>=(a[46672]|0)>>>0){bo(186680,1)|0;A=a[46671]|0}r[A>>0]=0;A=a[46670]|0;a[46671]=A;Vo(i,e,A)|0}A=a[46679]|0;if((a[46678]|0)!=(A|0)){e=a[(a[46690]|0)+28>>2]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}A=a[46683]|0;if((a[46682]|0)!=(A|0)){e=a[(a[46690]|0)+36>>2]|0;if(A>>>0>=(a[46684]|0)>>>0){bo(186728,1)|0;A=a[46683]|0}r[A>>0]=0;A=a[46682]|0;a[46683]=A;Vo(i,e,A)|0}A=a[46687]|0;if((a[46686]|0)!=(A|0)){e=a[(a[46690]|0)+32>>2]|0;if(A>>>0>=(a[46688]|0)>>>0){bo(186744,1)|0;A=a[46687]|0}r[A>>0]=0;A=a[46686]|0;a[46687]=A;Vo(i,e,A)|0}b[10]=1.0;b[12]=1.0;b[3]=1.0;b[4]=1.0;b[7]=1.0;b[8]=1.0;a[46700]=0;a[46702]=0;a[46693]=0;a[46694]=0;a[46697]=0;a[46698]=0;return}function lZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1056|0;t=v+16|0;B=v+8|0;d=v;c=v+32|0;u=a[(a[A+16>>2]|0)+12>>2]|0;o=a[11416+(u<<2)>>2]|0;wo(o,66916)|0;n=i+4|0;hZ(c,+b[(a[n>>2]|0)+16>>3]);wo(o,c)|0;vZ(A,195059,a[a[n>>2]>>2]|0);uZ(A);h=r[i+48>>0]|0;h=h<<24>>24==108?-1:h<<24>>24==114&1;n=a[n>>2]|0;if(!n)n=0;else n=a[n+24>>2]&127;l=f[(a[46690]|0)+8232>>1]|0;if((l&65535)>14?(s=a[11464+((l&65535)+-15<<2)>>2]&n,w=186764+(u<<2)|0,(a[w>>2]|0)!=(s|0)):0){a[d>>2]=s;P4(c,66919,d)|0;wo(o,c)|0;a[w>>2]=s}d=e+8|0;b[d>>3]=+b[d>>3]+ +b[i+24>>3];wo(o,66925)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];oZ(o,t);a[B>>2]=h;P4(c,102220,B)|0;wo(o,c)|0;hZ(c,+b[i+32>>3]);wo(o,c)|0;vZ(A,195059,a[i>>2]|0);k=v;return}function tZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+1040|0;f=l;n=l+16|0;r=a[(a[A+16>>2]|0)+12>>2]|0;wZ(A);uZ(A);if(!i){A=a[11416+(r<<2)>>2]|0;wo(A,66913)|0}else{if((i|1|0)==3)EZ(A,i,e,2);else CZ(A);A=a[11416+(r<<2)>>2]|0;wo(A,66910)|0}a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];oZ(A,f);hZ(n,+b[e+16>>3]-+b[e>>3]);wo(A,n)|0;hZ(n,+b[e+24>>3]-+b[e+8>>3]);wo(A,n)|0;k=l;return}function cZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;wZ(A);uZ(A);if(!r)kZ(A,112,e,i);else{if((r|1|0)==3)EZ(A,r,e,i);else CZ(A);kZ(A,80,e,i)}return}function bZ(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;wZ(A);uZ(A);if(!a)kZ(A,66,e,i);else{if((a|1|0)==3)EZ(A,a,e,i);else CZ(A);kZ(A,98,e,i)}return}function sZ(A,e,i){A=A|0;e=e|0;i=i|0;wZ(A);uZ(A);kZ(A,76,e,i);return}function wZ(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+1184|0;l=w;f=w+24|0;s=w+8|0;co(s,1024,w+152|0);t=A+16|0;e=a[t>>2]|0;n=+b[e+152>>3];i=8+(a[e+12>>2]<<3)|0;if(n!=+b[i>>3]){b[i>>3]=n;wo(s,66882)|0;b[l>>3]=+b[(a[t>>2]|0)+152>>3];P4(f,66896,l)|0;dZ(f,0);wo(s,f)|0;f=s+4|0;e=a[f>>2]|0;i=s+8|0;if(e>>>0>=(a[i>>2]|0)>>>0){bo(s,1)|0;e=a[f>>2]|0}a[f>>2]=e+1;r[e>>0]=41;e=a[f>>2]|0;if(e>>>0>=(a[i>>2]|0)>>>0){bo(s,1)|0;e=a[f>>2]|0}r[e>>0]=0;e=a[s>>2]|0;a[f>>2]=e;vZ(A,66901,e);e=a[t>>2]|0}e=a[e+160>>2]|0;if(e|0){t=s+4|0;c=s+8|0;A:while(1){l=e+4|0;e=a[e>>2]|0;if(!e)break;switch(r[e>>0]|0){case 102:{if(!(A1(e,111101)|0)){e=l;continue A}break}case 98:{if(!(A1(e,111083)|0)){e=l;continue A}break}case 115:{if(!(A1(e,111088)|0)){e=l;continue A}break}default:{}}wo(s,e)|0;do{f=e;e=e+1|0}while((r[f>>0]|0)!=0);if(r[e>>0]|0){i=a[t>>2]|0;if(i>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}a[t>>2]=i+1;r[i>>0]=40;f=0;while(1){if(!(r[e>>0]|0))break;if(f|0){i=a[t>>2]|0;if(i>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}a[t>>2]=i+1;r[i>>0]=44}wo(s,e)|0;do{i=e;e=e+1|0}while((r[i>>0]|0)!=0);f=f+1|0}e=a[t>>2]|0;if(e>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=41}e=a[t>>2]|0;if(e>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;e=a[t>>2]|0}r[e>>0]=0;e=a[s>>2]|0;a[t>>2]=e;vZ(A,66901,e);e=l}uo(s)}k=w;return}function uZ(A){A=A|0;BZ((a[A+16>>2]|0)+16|0);vZ(A,75834,193758);return}function kZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;b=k;k=k+1040|0;c=b;t=b+16|0;l=a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0;n=l+4|0;A=a[n>>2]|0;if(A>>>0>=(a[l+8>>2]|0)>>>0){bo(l,1)|0;A=a[n>>2]|0}a[n>>2]=A+1;r[A>>0]=e;a[c>>2]=f;P4(t,66846,c)|0;wo(l,t)|0;A=0;while(1){if((A|0)>=(f|0))break;t=i+(A<<4)|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];oZ(l,c);A=A+1|0}k=b;return}function oZ(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+1024|0;r=i;hZ(r,+b[e>>3]);wo(A,r)|0;hZ(r,+NV(+b[e+8>>3]));wo(A,r)|0;k=i;return}function hZ(A,e){A=A|0;e=+e;var i=0,r=0;i=k;k=k+16|0;r=i;b[r>>3]=e>-1.0e-08&e<1.0e-08?0.0:e;P4(A,66851,r)|0;dZ(A,1);k=i;return}function dZ(A,e){A=A|0;e=e|0;var i=0,f=0;i=G1(A,46)|0;if(!i){if(e|0){i=A+(S2(A)|0)|0;f=10}}else{while(1){A=i+1|0;if(!(r[A>>0]|0))break;else i=A}A:while(1){switch(r[i>>0]|0){case 46:{f=5;break A}case 48:break;default:{f=6;break A}}r[i>>0]=0;i=i+-1|0}if((f|0)==5)r[i>>0]=0;else if((f|0)==6)i=i+1|0;if(e|0)f=10}if((f|0)==10){r[i>>0]=32;r[i+1>>0]=0}return}function BZ(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;c=k;k=k+32|0;t=c+16|0;l=c;e=r[A+3>>0]|0;i=n[A>>0]|0;f=n[A+1>>0]|0;A=n[A+2>>0]|0;if(e<<24>>24==-1){a[l>>2]=i;a[l+4>>2]=f;a[l+8>>2]=A;P4(193758,75714,l)|0}else{a[t>>2]=i;a[t+4>>2]=f;a[t+8>>2]=A;a[t+12>>2]=e&255;P4(193758,66864,t)|0}k=c;return}function vZ(A,e,i){A=A|0;e=e|0;i=i|0;gZ(a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0,e,i);return}function gZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;f=k;k=k+1040|0;l=f;n=f+8|0;t=S2(i)|0;a[l>>2]=e;a[l+4>>2]=t;P4(n,66857,l)|0;wo(A,n)|0;wo(A,i)|0;i=A+4|0;e=a[i>>2]|0;if(e>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=32;k=f;return}function EZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0.0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0;I=k;k=k+1120|0;v=I+64|0;C=I+80|0;t=I+32|0;d=I+16|0;B=I;g=a[A+16>>2]|0;n=+(a[g+136>>2]|0)*.017453292519943295;if((l[(a[46690]|0)+8232>>1]|0)<14)CZ(A);else{co(C,1024,I+96|0);E=(e|0)==2;if(E){YH(i,t,f,n,2);i=C+4|0;e=a[i>>2]|0;if(e>>>0>=(a[C+8>>2]|0)>>>0){bo(C,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=91;a[v>>2]=a[t>>2];a[v+4>>2]=a[t+4>>2];a[v+8>>2]=a[t+8>>2];a[v+12>>2]=a[t+12>>2];oZ(C,v);B=t+16|0;a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];oZ(C,v)}else{YH(i,t,f,0.0,3);h=+b[t+24>>3];u=+b[t>>3];if(n==0.0){w=+b[t+8>>3];o=h*.25;n=w;s=u}else{o=h*.25;Z=o;s=+D(+n)*Z+u;w=+b[t+8>>3];n=+M(+n)*Z+w}b[d>>3]=s;b[d+8>>3]=n;b[B>>3]=u;b[B+8>>3]=w;i=C+4|0;e=a[i>>2]|0;if(e>>>0>=(a[C+8>>2]|0)>>>0){bo(C,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=40;a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];oZ(C,v);IZ(C,o);a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];oZ(C,v);IZ(C,h)}wo(C,66907)|0;e=g+140|0;n=+c[e>>2];i=g+56|0;if(n>0.0){ZZ(C,n,i);ZZ(C,+c[e>>2],g+96|0)}else{ZZ(C,0.0,i);ZZ(C,1.0,g+96|0)}ko(C)|0;t=C+4|0;e=a[t>>2]|0;f=C+8|0;i=e>>>0>=(a[f>>2]|0)>>>0;if(E){if(i){bo(C,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=93}else{if(i){bo(C,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=41}e=a[t>>2]|0;if(e>>>0>=(a[f>>2]|0)>>>0){bo(C,1)|0;e=a[t>>2]|0}r[e>>0]=0;E=a[C>>2]|0;a[t>>2]=E;vZ(A,66904,E);uo(C)}k=I;return}function CZ(A){A=A|0;BZ((a[A+16>>2]|0)+56|0);vZ(A,66904,193758);return}function IZ(A,e){A=A|0;e=+e;var i=0,r=0;i=k;k=k+1024|0;r=i;hZ(r,e);wo(A,r)|0;k=i;return}function ZZ(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,a=0;r=k;k=k+1040|0;a=r;f=r+8|0;b[a>>3]=e;P4(f,94168,a)|0;dZ(f,1);BZ(i);gZ(A,f,193758);k=r;return}function GZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;r=k;k=k+1040|0;l=r;f=r+16|0;n=a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0;wo(n,67013)|0;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];oZ(n,l);hZ(f,+b[i+16>>3]-+b[i>>3]);wo(n,f)|0;hZ(f,+b[i+24>>3]-+b[i+8>>3]);wo(n,f)|0;vZ(A,195059,a[e+8>>2]|0);k=r;return}function QZ(A){A=A|0;var e=0;switch(a[A+64>>2]|0){case 0:{e=Qg(a[A>>2]|0)|0;kE(e,a[(a[A+16>>2]|0)+8>>2]|0,67797,0)|0;mg(e);break}case 1:{qV(a[(a[A>>2]|0)+168>>2]|0);break}default:{}}return}function mZ(A){A=A|0;var e=0,i=0,f=0,n=0;f=k;k=k+16|0;e=f;i=a[(a[A+16>>2]|0)+8>>2]|0;if(!(a[46703]|0)){a[46703]=a[4678];a[46704]=57;a[46705]=19}a[(a[i+64>>2]|0)+8>>2]=186812;LZ(i,1);a[e>>2]=0;r[e+4>>0]=(r[(a[i+16>>2]|0)+115>>0]|0)==1&1;n=a[A+64>>2]|0;r[e+5>>0]=((n|0)==0|(n|0)==3)&1;r[e+6>>0]=0;WZ(i,A,1,e);k=f;return}function LZ(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=a[A>>2]&-9;i=RB(A)|0;while(1){if(!i)break;LZ(i,0);i=HB(i)|0}A:do{if(e|0){e=cd(A)|0;while(1){if(!e)break A;a[e>>2]=a[e>>2]&-9;i=Oo(A,e)|0;while(1){if(!i)break;a[i>>2]=a[i>>2]&-9;i=_o(A,i)|0}e=bd(A,e)|0}}}while(0);return}function WZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h+8|0;u=h;w=(i|0)!=0;if(w){s=jk(11836,a[4581]|0)|0;Kd(A,1,141060,12,0);Kd(A,2,141060,12,0);Kd(A,0,141060,-12,0);f=yZ(A,0,s)|0;c=cd(A)|0;t=0;n=0;while(1){if(!c)break;if(!(Z1(Vh(c)|0,108006,7)|0)){b=n;n=zZ(s,Vh(c)|0)|0}else{b=n+1|0;n=n+f|0}a[(Ud(c,141060,0)|0)+8>>2]=n;l=Oo(A,c)|0;n=t;while(1){if(!l)break;a[(Ud(l,141060,0)|0)+8>>2]=n;l=_o(A,l)|0;n=n+1|0}c=bd(A,c)|0;t=n;n=b}pk(s)|0}else f=0;s=a[r>>2]|0;a[r>>2]=s+1;YZ(e,s);kg(e,97374)|0;DZ(A,e,i,r);MZ(A,e,r);kg(e,97345)|0;YZ(e,a[r>>2]|0);if(w){a[u>>2]=f;gg(e,67016,u)}else{a[o>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67036,o)}VZ(A,e,i,FZ(A,e,i,r)|0,r);JZ(A,e,i,r);kg(e,153599)|0;o=(a[r>>2]|0)+-1|0;a[r>>2]=o;YZ(e,o);if(w)kg(e,111008)|0;else kg(e,75357)|0;k=h;return}function yZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((Zd(A)|0)!=(A|0)){r=e+1|0;a[(Ud(A,141060,0)|0)+8>>2]=e;if(!(Z1(Vh(A)|0,108006,7)|0)){e=Vh(A)|0;OZ(i,e,a[(Ud(A,141060,0)|0)+8>>2]|0);e=r}else e=r}r=RB(A)|0;while(1){if(!r)break;A=yZ(r,e,i)|0;r=HB(r)|0;e=A}return e|0}function zZ(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e,512)|0;if(!A)A=-1;else A=a[A+12>>2]|0;return A|0}function YZ(A,e){A=A|0;e=e|0;while(1){if((e|0)<=0)break;kg(A,90574)|0;e=e+-1|0}return}function DZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=k;k=k+32|0;n=l+16|0;f=l+8|0;t=l;c=Vh(A)|0;YZ(e,a[r>>2]|0);a[t>>2]=RZ(c,r)|0;gg(e,67124,t);if(i|0){kg(e,97345)|0;YZ(e,a[r>>2]|0);c=(Ih(A)|0)!=0;a[f>>2]=c?107652:137308;gg(e,67738,f);YZ(e,a[r>>2]|0);c=(Gh(A)|0)!=0;a[n>>2]=c?107652:137308;gg(e,67755,n)}k=l;return}function MZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;s=u;t=Zd(A)|0;c=a[A>>2]&3;f=Jo(t,c,0)|0;A:do{if(f|0){b=i+5|0;while(1){if(!f)break A;n=Uo(A,f)|0;do{if(n|0){l=f+8|0;if(!(r[n>>0]|0)){n=a[l>>2]|0;if((r[n>>0]|0)!=108)break;if(A1(n,108224)|0)break}kg(e,97345)|0;YZ(e,a[i>>2]|0);a[s>>2]=RZ(a[l>>2]|0,i)|0;gg(e,67174,s);if(r[b>>0]|0?pZ(a[l>>2]|0)|0:0){UZ(Uo(A,f)|0,e,i);break}a[w>>2]=RZ(Uo(A,f)|0,i)|0;gg(e,67181,w)}}while(0);f=Jo(t,c,f)|0}}}while(0);k=u;return}function FZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;f=RB(A)|0;if(f){kg(e,97345)|0;n=a[r>>2]|0;a[r>>2]=n+1;YZ(e,n);n=(i|0)!=0;if(n){kg(e,67098)|0;A=0;i=f}else{kg(e,67158)|0;YZ(e,a[r>>2]|0);A=0;i=f}while(1){if(!i)break;if(!A)A=1;else kg(e,97345)|0;if(n)HZ(i,e,r);else{a[l>>2]=a[(Ud(i,141060,0)|0)+8>>2];gg(e,137395,l)}i=HB(i)|0}if(n)A=1;else{a[r>>2]=(a[r>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[r>>2]|0);kg(e,97340)|0;A=1}}else A=0;k=t;return A|0}function VZ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=cd(A)|0;if(!n){if((i|0)!=0&(r|0)!=0){a[f>>2]=(a[f>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[f>>2]|0);kg(e,97340)|0}}else{kg(e,97345)|0;l=(i|0)!=0;if(l)if(!r){r=a[f>>2]|0;a[f>>2]=r+1;YZ(e,r);kg(e,67098)|0;r=0}else r=0;else{r=a[f>>2]|0;a[f>>2]=r+1;YZ(e,r);kg(e,67112)|0;YZ(e,a[f>>2]|0);r=0}while(1){if(!n)break;if(Z1(Vh(n)|0,108006,7)|0){do{if(r)if(l){kg(e,97345)|0;break}else{kg(e,100999)|0;break}else r=1}while(0);XZ(n,e,i,f)}n=bd(A,n)|0}a[f>>2]=(a[f>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[f>>2]|0);kg(e,97340)|0}return}function JZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;f=cd(A)|0;A:do{if(f|0){while(1){if(!f)break A;if(Oo(A,f)|0)break;f=bd(A,f)|0}kg(e,97345)|0;t=a[r>>2]|0;a[r>>2]=t+1;YZ(e,t);kg(e,67048)|0;t=(i|0)!=0;if(t)n=0;else{YZ(e,a[r>>2]|0);n=0}while(1){if(!f)break;l=Oo(A,f)|0;while(1){if(!l)break;do{if(n)if(t){kg(e,97345)|0;break}else{kg(e,100999)|0;break}else n=1}while(0);NZ(l,e,i,r);l=_o(A,l)|0}f=bd(A,f)|0}a[r>>2]=(a[r>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[r>>2]|0);kg(e,97340)|0}}while(0);return}function NZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+32|0;t=c+24|0;l=c+16|0;n=c+8|0;f=c;if(!i){a[t>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,137395,t)}else{t=a[r>>2]|0;a[r>>2]=t+1;YZ(e,t);kg(e,97374)|0;YZ(e,a[r>>2]|0);a[f>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67060,f);YZ(e,a[r>>2]|0);a[n>>2]=a[(Ud(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,141060,0)|0)+8>>2];gg(e,67074,n);YZ(e,a[r>>2]|0);a[l>>2]=a[(Ud(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,141060,0)|0)+8>>2];gg(e,67087,l);MZ(A,e,r);kg(e,153599)|0;t=(a[r>>2]|0)+-1|0;a[r>>2]=t;YZ(e,t);kg(e,75357)|0}k=c;return}function XZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t+16|0;n=t+8|0;f=t;if(!i){a[l>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,137395,l)}else{l=a[r>>2]|0;a[r>>2]=l+1;YZ(e,l);kg(e,97374)|0;YZ(e,a[r>>2]|0);a[f>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67060,f);YZ(e,a[r>>2]|0);a[n>>2]=RZ(Vh(A)|0,r)|0;gg(e,67124,n);MZ(A,e,r);kg(e,153599)|0;l=(a[r>>2]|0)+-1|0;a[r>>2]=l;YZ(e,l);kg(e,75357)|0}k=t;return}function RZ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=e+4|0;if(r[n>>0]|0)A=EH(A)|0;if(!(a[46706]|0)){co(186824,1024,0);i=A}else i=A;A:while(1){f=r[i>>0]|0;switch(f<<24>>24){case 0:break A;case 34:{wo(186824,67137)|0;break}case 92:{wo(186824,96616)|0;break}case 47:{wo(186824,67140)|0;break}case 8:{wo(186824,67143)|0;break}case 12:{wo(186824,67146)|0;break}case 10:{wo(186824,67149)|0;break}case 13:{wo(186824,67152)|0;break}case 9:{wo(186824,67155)|0;break}default:{e=a[46707]|0;if(e>>>0>=(a[46708]|0)>>>0){bo(186824,1)|0;e=a[46707]|0}a[46707]=e+1;r[e>>0]=f}}i=i+1|0}e=a[46707]|0;if(e>>>0>=(a[46708]|0)>>>0){bo(186824,1)|0;e=a[46707]|0}r[e>>0]=0;e=a[46706]|0;a[46707]=e;if(r[n>>0]|0)L2(A);return e|0}function HZ(A,e,i){A=A|0;e=e|0;i=i|0;WZ(A,e,0,i);A=RB(A)|0;while(1){if(!A)break;kg(e,97345)|0;HZ(A,e,i);A=HB(A)|0}return}function pZ(A){A=A|0;var e=0;e=A+1|0;A:do{if((r[A>>0]|0)==95){A=(r[e>>0]|0)+-100<<24>>24;switch(((A&255)>>>2|A<<6&255)<<24>>24){case 0:{if(!(A1(e,67695)|0)){A=1;break A}break}case 2:{if(!(A1(e,67701)|0)){A=1;break A}break}case 1:{if(!(A1(e,67708)|0)){A=1;break A}return(A1(e,67722)|0)==0|0}case 4:{if(!(A1(e,67715)|0)){A=1;break A}A=(A1(e,67730)|0)==0&1;break A}default:{A=0;break A}}A=0}else A=0}while(0);return A|0}function UZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t;do{if(A|0?r[A>>0]|0:0){l=WC(A)|0;if(!l){a[f>>2]=A;ao(0,67186,f)|0;break}kg(e,153599)|0;n=a[i>>2]|0;a[i>>2]=n+1;YZ(e,n);kg(e,67213)|0;n=l+8|0;A=0;f=0;while(1){if((f|0)>=(a[l>>2]|0))break;if(!A)A=1;else kg(e,97345)|0;xZ((a[n>>2]|0)+(f*80|0)|0,e,i);f=f+1|0}a[i>>2]=(a[i>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[i>>2]|0);kg(e,97340)|0;yC(l)}}while(0);k=t;return}function xZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0.0;Q=k;k=k+240|0;Z=Q+224|0;I=Q+216|0;C=Q+208|0;E=Q+200|0;g=Q+192|0;v=Q+184|0;B=Q+176|0;d=Q+152|0;h=Q+136|0;o=Q+128|0;u=Q+112|0;w=Q+104|0;s=Q+96|0;c=Q+88|0;t=Q+72|0;l=Q+48|0;G=Q+40|0;n=Q+8|0;f=Q;r=a[i>>2]|0;a[i>>2]=r+1;YZ(e,r);kg(e,97374)|0;YZ(e,a[i>>2]|0);r=a[A>>2]|0;A:do{switch(r|0){case 1:case 0:{a[f>>2]=(r|0)==0?69:101;gg(e,67216,f);YZ(e,a[i>>2]|0);W=+b[A+16>>3];L=+b[A+24>>3];m=+b[A+32>>3];b[n>>3]=+b[A+8>>3];b[n+8>>3]=W;b[n+16>>3]=L;b[n+24>>3]=m;gg(e,67229,n);break}case 3:case 2:{a[G>>2]=(r|0)==2?80:112;gg(e,67216,G);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 5:case 4:{a[l>>2]=(r|0)==4?66:98;gg(e,67216,l);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 6:{gg(e,67264,Q+56|0);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 7:{gg(e,67276,Q+64|0);YZ(e,a[i>>2]|0);W=+b[A+16>>3];b[t>>3]=+b[A+8>>3];b[t+8>>3]=W;gg(e,67288,t);YZ(e,a[i>>2]|0);G=a[A+24>>2]|0;a[c>>2]=(G|0)==0?108:(G|0)==1?99:114;gg(e,67310,c);YZ(e,a[i>>2]|0);b[s>>3]=+b[A+32>>3];gg(e,67326,s);YZ(e,a[i>>2]|0);a[w>>2]=RZ(a[A+40>>2]|0,i)|0;gg(e,67343,w);break}case 9:case 8:{a[u>>2]=(r|0)==8?67:99;gg(e,67216,u);YZ(e,a[i>>2]|0);gg(e,67357,Q+120|0);YZ(e,a[i>>2]|0);a[o>>2]=RZ(a[A+8>>2]|0,i)|0;gg(e,67374,o);break}case 13:case 14:{a[h>>2]=(r|0)==13?67:99;gg(e,67216,h);YZ(e,a[i>>2]|0);switch(a[A+8>>2]|0){case 0:{gg(e,67357,Q+144|0);YZ(e,a[i>>2]|0);a[d>>2]=RZ(a[A+16>>2]|0,i)|0;gg(e,67374,d);break A}case 1:{gg(e,67389,Q+160|0);YZ(e,a[i>>2]|0);jZ(e,A+16|0,i);break A}default:{gg(e,67408,Q+168|0);YZ(e,a[i>>2]|0);SZ(e,A+16|0,i);break A}}}case 10:{gg(e,67427,B);YZ(e,a[i>>2]|0);b[v>>3]=+b[A+8>>3];gg(e,67439,v);YZ(e,a[i>>2]|0);a[g>>2]=RZ(a[A+16>>2]|0,i)|0;gg(e,67455,g);break}case 11:{gg(e,67469,E);YZ(e,a[i>>2]|0);a[C>>2]=RZ(a[A+8>>2]|0,i)|0;gg(e,67481,C);break}case 15:{gg(e,67496,I);YZ(e,a[i>>2]|0);a[Z>>2]=a[A+8>>2];gg(e,67508,Z);break}default:{}}}while(0);G=(a[i>>2]|0)+-1|0;a[i>>2]=G;YZ(e,G);kg(e,75357)|0;k=Q;return}function TZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0.0;t=k;k=k+48|0;l=t+32|0;n=t+16|0;f=t+8|0;r=a[e>>2]|0;i=a[e+4>>2]|0;gg(A,67669,t);e=0;while(1){if((e|0)>=(r|0))break;if((e|0)>0)gg(A,100999,f);c=+b[i+(e*24|0)+8>>3];b[n>>3]=+b[i+(e*24|0)>>3];b[n+8>>3]=c;gg(A,67681,n);e=e+1|0}gg(A,67622,l);k=t;return}function jZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0;r=k;k=k+32|0;f=r+16|0;l=r;YZ(A,a[i>>2]|0);n=+b[e+8>>3];b[l>>3]=+b[e>>3];b[l+8>>3]=n;gg(A,67625,l);YZ(A,a[i>>2]|0);n=+b[e+24>>3];b[f>>3]=+b[e+16>>3];b[f+8>>3]=n;gg(A,67647,f);YZ(A,a[i>>2]|0);PZ(A,a[e+32>>2]|0,a[e+36>>2]|0,i);k=r;return}function SZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0;r=k;k=k+48|0;f=r+24|0;t=r;YZ(A,a[i>>2]|0);n=+b[e+8>>3];l=+b[e+16>>3];b[t>>3]=+b[e>>3];b[t+8>>3]=n;b[t+16>>3]=l;gg(A,67524,t);YZ(A,a[i>>2]|0);l=+b[e+32>>3];n=+b[e+40>>3];b[f>>3]=+b[e+24>>3];b[f+8>>3]=l;b[f+16>>3]=n;gg(A,67552,f);YZ(A,a[i>>2]|0);PZ(A,a[e+48>>2]|0,a[e+52>>2]|0,i);k=r;return}function PZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0.0;s=k;k=k+48|0;t=s+32|0;l=s+16|0;n=s+8|0;gg(A,67580,s);f=0;while(1){if((f|0)>=(e|0))break;if((f|0)>0)gg(A,100999,n);u=+c[i+(f<<3)>>2];w=RZ(a[i+(f<<3)+4>>2]|0,r)|0;b[l>>3]=u;a[l+8>>2]=w;gg(A,67591,l);f=f+1|0}gg(A,67622,t);k=s;return}function OZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;r=W5[a[A>>2]&63](A,e,512)|0;if(r){if((a[r+12>>2]|0)!=(i|0)){a[f>>2]=e;ao(0,67768,f)|0}}else{f=W2(1,16)|0;a[f+8>>2]=s3(e)|0;a[f+12>>2]=i;W5[a[A>>2]&63](A,f,1)|0}k=n;return}function KZ(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+8>>2]|0);L2(e);return}function _Z(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;kg(A,68623)|0;c=a[a[A+12>>2]>>2]|0;t=a[c+4>>2]|0;l=a[c+8>>2]|0;a[n>>2]=a[c>>2];a[n+4>>2]=t;a[n+8>>2]=l;gg(A,68633,n);a[r>>2]=Vh(a[f+8>>2]|0)|0;gg(A,68668,r);a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,68681,i);kg(A,68694)|0;kg(A,68704)|0;kg(A,68712)|0;kg(A,68720)|0;kg(A,68728)|0;kg(A,68736)|0;kg(A,68744)|0;kg(A,68748)|0;kg(A,68753)|0;k=e;return}function qZ(A){A=A|0;kg(A,68604)|0;return}function $Z(A){A=A|0;a[46710]=2;return}function AG(A){A=A|0;a[46710]=1;return}function eG(A){A=A|0;a[46710]=2;return}function iG(A){A=A|0;a[46710]=0;return}function rG(A){A=A|0;a[46710]=2;return}function fG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0;o=k;k=k+80|0;u=o;s=a[(a[A+16>>2]|0)+16>>2]|0;w=a[46710]|0;f=a[i+4>>2]|0;n=+b[A+352>>3]*+b[f+16>>3];l=a[A+360>>2]|0?1.5707963267948966:0.0;t=a[i>>2]|0;c=n*.3333333333333333*+((S2(t)|0)>>>0);f=a[f+8>>2]|0;if(!f)f=-1;else f=a[f+20>>2]|0;B=r[i+48>>0]|0;d=+b[e>>3];h=+b[e+8>>3];i=kG(t)|0;a[u>>2]=4;a[u+4>>2]=B<<24>>24==108?0:B<<24>>24==114?2:1;a[u+8>>2]=s;a[u+12>>2]=w;a[u+16>>2]=0;a[u+20>>2]=f;b[u+24>>3]=n;b[u+32>>3]=l;a[u+40>>2]=6;b[u+48>>3]=n;b[u+56>>3]=c;a[u+64>>2]=~~(d+(d>=0.0?.5:-.5));a[u+68>>2]=~~(h+(h+-72.0>=0.0?-71.5:-72.5));a[u+72>>2]=i;gg(A,68549,u);k=o;return}function aG(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w;t=w+20|0;s=e+32|0;A:do{switch(a[s>>2]|0){case 5:{i=0;while(1){f=a[12724+(i<<2)>>2]|0;if((i|0)==8)break A;l=a[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(A1(f,l)|0)==0:0){b=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(uG(t,n[e>>0]|0,n[f>>0]|0,n[l>>0]|0)|0)+32|0;if(!(a[t>>2]|0))b=10;else{u=n[e>>0]|0;t=n[f>>0]|0;b=n[l>>0]|0;a[c>>2]=0;a[c+4>>2]=i;a[c+8>>2]=u;a[c+12>>2]=t;a[c+16>>2]=b;gg(A,68492,c);b=10}break}default:vA(138394,67889,163,67920)}}while(0);if((b|0)==10)a[e>>2]=i;a[s>>2]=6;k=w;return}function nG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0;r=k;k=k+112|0;f=r+8|0;g=r+104|0;v=r;c=a[A+16>>2]|0;B=~~+b[c+152>>3];d=a[c+16>>2]|0;h=a[c+56>>2]|0;o=a[46710]|0;sG(c,g,v);w=+b[e>>3];c=~~(w+(w>=0.0?.5:-.5));s=+b[e+8>>3];t=~~(s+(s>=0.0?.5:-.5));l=+b[e+16>>3];w=l-w;n=+b[e+24>>3];s=n-s;e=a[g>>2]|0;u=+b[v>>3];a[f>>2]=1;a[f+4>>2]=1;a[f+8>>2]=e;a[f+12>>2]=B;a[f+16>>2]=d;a[f+20>>2]=h;a[f+24>>2]=o;a[f+28>>2]=0;a[f+32>>2]=i|0?20:-1;b[f+40>>3]=u;a[f+48>>2]=0;b[f+56>>3]=0.0;a[f+64>>2]=c;a[f+68>>2]=t;a[f+72>>2]=~~(w+(w>=0.0?.5:-.5));a[f+76>>2]=~~(s+(s>=0.0?.5:-.5));a[f+80>>2]=c;a[f+84>>2]=t;a[f+88>>2]=~~(l+(l>=0.0?.5:-.5));a[f+92>>2]=~~(n+(n>=0.0?.5:-.5));gg(A,68427,f);k=r;return}function lG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;f=k;k=k+96|0;n=f+8|0;u=f+80|0;o=f;h=a[A+16>>2]|0;w=~~+b[h+152>>3];s=a[h+16>>2]|0;c=a[h+56>>2]|0;t=a[46710]|0;sG(h,u,o);u=a[u>>2]|0;l=+b[o>>3];a[n>>2]=2;a[n+4>>2]=3;a[n+8>>2]=u;a[n+12>>2]=w;a[n+16>>2]=s;a[n+20>>2]=c;a[n+24>>2]=t;a[n+28>>2]=0;a[n+32>>2]=r|0?20:-1;b[n+40>>3]=l;a[n+48>>2]=0;a[n+52>>2]=0;a[n+56>>2]=0;a[n+60>>2]=0;a[n+64>>2]=0;a[n+68>>2]=i+1;gg(A,68331,n);wG(A,e,i,1);k=f;return}function tG(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0,z=0;L=k;k=k+192|0;m=L+176|0;G=L+168|0;Q=L+104|0;Z=L+96|0;l=L+88|0;g=L+180|0;E=L+80|0;C=L+16|0;I=L;f=A+16|0;r=a[f>>2]|0;h=~~+b[r+152>>3];d=a[r+16>>2]|0;B=a[46710]|0;if((i|0)<=3)vA(67882,67889,360,67909);v=m2((i*140|0)+140|0)|0;sG(r,g,E);if(!n){u=4;t=0;c=-1}else{u=5;t=a[(a[f>>2]|0)+56>>2]|0;c=20}y=+b[e>>3];w=C+48|0;b[w>>3]=y;W=+b[e+8>>3];b[C+56>>3]=W;a[l>>2]=~~(y+(y>=0.0?.5:-.5));a[l+4>>2]=~~(W+(W>=0.0?.5:-.5));s=I+8|0;r=v+(P4(v,81099,l)|0)|0;o=1;n=0;while(1){l=n+3|0;if((l|0)>=(i|0))break;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];f=1;while(1){if((f|0)==4){f=1;break}z=f+n|0;b[C+(f<<4)>>3]=+b[e+(z<<4)>>3];b[C+(f<<4)+8>>3]=+b[e+(z<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(I,C,3,+(f|0)*.16666666666666666,0,0);W=+b[I>>3];y=+b[s>>3];a[Z>>2]=~~(W+(W>=0.0?.5:-.5));a[Z+4>>2]=~~(y+(y>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,Z)|0)|0}o=o+6|0;n=l}f=a[g>>2]|0;y=+b[E>>3];a[Q>>2]=3;a[Q+4>>2]=u;a[Q+8>>2]=f;a[Q+12>>2]=h;a[Q+16>>2]=d;a[Q+20>>2]=t;a[Q+24>>2]=B;a[Q+28>>2]=0;a[Q+32>>2]=c;b[Q+40>>3]=y;a[Q+48>>2]=0;a[Q+52>>2]=0;a[Q+56>>2]=0;a[Q+60>>2]=o;gg(A,68382,Q);a[G>>2]=v;gg(A,81106,G);L2(v);f=o+-1|0;r=0;while(1){if((r|0)>=(o|0))break;a[m>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,m);r=r+1|0}kg(A,153599)|0;k=L;return}function cG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;r=k;k=k+96|0;f=r+8|0;s=r+80|0;w=r;u=a[A+16>>2]|0;c=~~+b[u+152>>3];t=a[u+16>>2]|0;l=a[46710]|0;sG(u,s,w);s=a[s>>2]|0;n=+b[w>>3];a[f>>2]=2;a[f+4>>2]=1;a[f+8>>2]=s;a[f+12>>2]=c;a[f+16>>2]=t;a[f+20>>2]=0;a[f+24>>2]=l;a[f+28>>2]=0;a[f+32>>2]=0;b[f+40>>3]=n;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=i;gg(A,68331,f);wG(A,e,i,0);k=r;return}function bG(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,68325,r);k=i;return}function sG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function wG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function uG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;a[A>>2]=0;b=a[46711]|0;l=195075;n=0;t=-1;while(1){if((n|0)>=(b|0)){s=6;break}w=(f[190680+(n<<1)>>1]|0)-e|0;u=(f[191192+(n<<1)>>1]|0)-i|0;c=(f[191704+(n<<1)>>1]|0)-r|0;c=(U(u,u)|0)+(U(w,w)|0)+(U(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=n}n=n+1|0}if((s|0)==6){a[46711]=b+1;if((b|0)==256)n=t;else{f[190680+(n<<1)>>1]=e;f[191192+(n<<1)>>1]=i;f[191704+(n<<1)>>1]=r;a[A>>2]=1}}return n|0}function kG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46712]|0;if(!e){a[46713]=64;e=m2(64)|0;a[46712]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46713]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46713]=e;e=y2(a[46712]|0,e)|0;a[46712]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46712]|0}function oG(A){A=A|0;var e=0,i=0,f=0;i=a[A+16>>2]|0;switch(a[A+64>>2]|0){case 0:{kg(A,68220)|0;e=i+208|0;i=a[e>>2]|0;if(i|0?r[i>>0]|0:0){kg(A,68234)|0;kg(A,PF(a[e>>2]|0)|0)|0;kg(A,153599)|0}break}case 1:{e=i+208|0;f=a[e>>2]|0;if(f|0?r[f>>0]|0:0){kg(A,68234)|0;kg(A,PF(a[e>>2]|0)|0)|0;kg(A,102604)|0;kg(A,PF(Vh(a[i+8>>2]|0)|0)|0)|0;kg(A,153599)|0}break}case 3:{f=PF(Vh(a[i+8>>2]|0)|0)|0;kg(A,68243)|0;kg(A,f)|0;kg(A,68253)|0;kg(A,f)|0;kg(A,68208)|0;break}default:{}}return}function hG(A){A=A|0;var e=0;e=a[A+16>>2]|0;switch(a[A+64>>2]|0){case 2:{BG(A,a[e+264>>2]|0,a[e+272>>2]|0,a[e+268>>2]|0,a[e+208>>2]|0,a[e+228>>2]|0,a[e+244>>2]|0,a[e+212>>2]|0);break}case 3:{BG(A,a[e+264>>2]|0,a[e+272>>2]|0,a[e+268>>2]|0,a[e+208>>2]|0,a[e+228>>2]|0,a[e+244>>2]|0,a[e+212>>2]|0);kg(A,68212)|0;break}default:{}}return}function dG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=a[A+16>>2]|0;BG(A,a[n+264>>2]|0,a[n+272>>2]|0,a[n+268>>2]|0,e,i,r,f);return}function BG(A,e,i,f,n,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0;Z=k;k=k+128|0;I=Z+120|0;g=Z+112|0;v=Z+96|0;B=Z+80|0;d=Z+56|0;C=Z+48|0;h=Z+40|0;E=Z+24|0;o=Z;A:do{if((i|0)!=0&(f|0)!=0){s=f+10|0;if((a[46714]|0)<(f|0)){a[46714]=s;u=y2(a[46715]|0,s<<3)|0;a[46715]=u}else u=a[46715]|0;s=0;while(1){if((s|0)>=(f|0))break;G=+b[i+(s<<4)>>3];a[u+(s<<3)>>2]=~~(G+(G>=0.0?.5:-.5));G=+b[i+(s<<4)+8>>3];a[u+(s<<3)+4>>2]=~~(G+(G>=0.0?.5:-.5));s=s+1|0}w=A+64|0;s=a[w>>2]|0;i=(n|0)!=0;if(i&(s|0)==0){if(!(r[n>>0]|0))break;switch(e|0){case 0:{E=a[u>>2]|0;C=a[u+12>>2]|0;I=a[u+8>>2]|0;f=a[u+4>>2]|0;a[o>>2]=n;a[o+4>>2]=E;a[o+8>>2]=C;a[o+12>>2]=I;a[o+16>>2]=f;gg(A,67954,o);break A}case 1:{C=a[u>>2]|0;I=a[u+4>>2]|0;f=(a[u+8>>2]|0)-C|0;a[E>>2]=n;a[E+4>>2]=C;a[E+8>>2]=I;a[E+12>>2]=f;gg(A,67975,E);break A}case 2:{a[h>>2]=n;gg(A,67995,h);s=0;while(1){if((s|0)>=(f|0))break;E=a[46715]|0;I=a[E+(s<<3)+4>>2]|0;a[C>>2]=a[E+(s<<3)>>2];a[C+4>>2]=I;gg(A,68003,C);s=s+1|0}kg(A,153599)|0;break A}default:vA(138394,68010,63,68030)}}if(i&(s|0)==1){if(!(r[n>>0]|0))break;if(!e){C=a[u+12>>2]|0;I=a[u+8>>2]|0;f=a[u+4>>2]|0;a[d>>2]=a[u>>2];a[d+4>>2]=C;a[d+8>>2]=I;a[d+12>>2]=f;a[d+16>>2]=n;a[d+20>>2]=l;gg(A,68047,d);break}else vA(138394,68010,75,68030)}if((s&-2|0)==2){switch(e|0){case 1:{kg(A,68080)|0;break}case 0:{kg(A,68101)|0;break}case 2:{kg(A,68120)|0;break}default:vA(138394,68010,91,68030)}if(c|0?r[c>>0]|0:0){kg(A,73600)|0;kg(A,_F(c)|0)|0;kg(A,98744)|0}if(i?r[n>>0]|0:0){kg(A,68139)|0;kg(A,_F(n)|0)|0;kg(A,98744)|0}if(t|0?r[t>>0]|0:0){kg(A,74559)|0;kg(A,PF(t)|0)|0;kg(A,98744)|0}if(l|0?r[l>>0]|0:0){kg(A,68147)|0;kg(A,PF(l)|0)|0;kg(A,98744)|0}kg(A,68156)|0;kg(A,68164)|0;e:do{switch(e|0){case 1:{f=a[46715]|0;C=a[f>>2]|0;I=a[f+4>>2]|0;f=(a[f+8>>2]|0)-C|0;a[B>>2]=C;a[B+4>>2]=I;a[B+8>>2]=f;gg(A,68174,B);break}case 0:{E=a[46715]|0;C=a[E+12>>2]|0;I=a[E+8>>2]|0;f=a[E+4>>2]|0;a[v>>2]=a[E>>2];a[v+4>>2]=C;a[v+8>>2]=I;a[v+12>>2]=f;gg(A,68183,v);break}case 2:{C=a[46715]|0;s=a[C+4>>2]|0;a[g>>2]=a[C>>2];a[g+4>>2]=s;gg(A,68195,g);s=1;while(1){if((s|0)>=(f|0))break e;E=a[46715]|0;C=a[E+(s<<3)+4>>2]|0;a[I>>2]=a[E+(s<<3)>>2];a[I+4>>2]=C;gg(A,68201,I);s=s+1|0}}default:{}}}while(0);if((a[w>>2]|0)==3){kg(A,73424)|0;break}else{kg(A,68208)|0;break}}}}while(0);k=Z;return}function vG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;kg(A,68623)|0;c=a[a[A+12>>2]>>2]|0;t=a[c+4>>2]|0;l=a[c+8>>2]|0;a[n>>2]=a[c>>2];a[n+4>>2]=t;a[n+8>>2]=l;gg(A,68633,n);a[r>>2]=Vh(a[f+8>>2]|0)|0;gg(A,68668,r);a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,68681,i);kg(A,68694)|0;kg(A,68704)|0;kg(A,68712)|0;kg(A,68720)|0;kg(A,68728)|0;kg(A,68736)|0;kg(A,68744)|0;kg(A,68748)|0;kg(A,68753)|0;k=e;return}function gG(A){A=A|0;kg(A,68604)|0;return}function EG(A){A=A|0;a[46716]=2;return}function CG(A){A=A|0;a[46716]=1;return}function IG(A){A=A|0;a[46716]=2;return}function ZG(A){A=A|0;a[46716]=0;return}function GG(A){A=A|0;a[46716]=2;return}function QG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0;w=k;k=k+80|0;s=w;t=a[(a[A+16>>2]|0)+16>>2]|0;c=a[46716]|0;f=a[i+4>>2]|0;n=+b[A+352>>3]*+b[f+16>>3];l=a[A+360>>2]|0?1.5707963267948966:0.0;f=a[f+8>>2]|0;if(!f)f=-1;else f=a[f+20>>2]|0;h=r[i+48>>0]|0;o=+b[e>>3];u=+b[e+8>>3];i=VG(a[i>>2]|0)|0;a[s>>2]=4;a[s+4>>2]=h<<24>>24==108?0:h<<24>>24==114?2:1;a[s+8>>2]=t;a[s+12>>2]=c;a[s+16>>2]=0;a[s+20>>2]=f;b[s+24>>3]=n;b[s+32>>3]=l;a[s+40>>2]=4;b[s+48>>3]=0.0;b[s+56>>3]=0.0;a[s+64>>2]=~~(o+(o>=0.0?.5:-.5));a[s+68>>2]=~~(u+(u>=0.0?.5:-.5));a[s+72>>2]=i;gg(A,68549,s);k=w;return}function mG(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w;t=w+20|0;s=e+32|0;A:do{switch(a[s>>2]|0){case 5:{i=0;while(1){f=a[12724+(i<<2)>>2]|0;if((i|0)==8)break A;l=a[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(A1(f,l)|0)==0:0){b=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(FG(t,n[e>>0]|0,n[f>>0]|0,n[l>>0]|0)|0)+32|0;if(!(a[t>>2]|0))b=10;else{u=n[e>>0]|0;t=n[f>>0]|0;b=n[l>>0]|0;a[c>>2]=0;a[c+4>>2]=i;a[c+8>>2]=u;a[c+12>>2]=t;a[c+16>>2]=b;gg(A,68492,c);b=10}break}case 0:{i=0;b=10;break}default:vA(138394,68513,168,68532)}}while(0);if((b|0)==10)a[e>>2]=i;a[s>>2]=6;k=w;return}function LG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0;r=k;k=k+112|0;f=r+8|0;g=r+104|0;v=r;c=a[A+16>>2]|0;B=~~+b[c+152>>3];d=a[c+16>>2]|0;h=a[c+56>>2]|0;o=a[46716]|0;DG(c,g,v);w=+b[e>>3];c=~~(w+(w>=0.0?.5:-.5));s=+b[e+8>>3];t=~~(s+(s>=0.0?.5:-.5));l=+b[e+16>>3];w=l-w;n=+b[e+24>>3];s=n-s;e=a[g>>2]|0;u=+b[v>>3];a[f>>2]=1;a[f+4>>2]=1;a[f+8>>2]=e;a[f+12>>2]=B;a[f+16>>2]=d;a[f+20>>2]=h;a[f+24>>2]=o;a[f+28>>2]=0;a[f+32>>2]=i|0?20:-1;b[f+40>>3]=u;a[f+48>>2]=0;b[f+56>>3]=0.0;a[f+64>>2]=c;a[f+68>>2]=t;a[f+72>>2]=~~(w+(w>=0.0?.5:-.5));a[f+76>>2]=~~(s+(s>=0.0?.5:-.5));a[f+80>>2]=c;a[f+84>>2]=t;a[f+88>>2]=~~(l+(l>=0.0?.5:-.5));a[f+92>>2]=~~(n+(n>=0.0?.5:-.5));gg(A,68427,f);k=r;return}function WG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;f=k;k=k+96|0;n=f+8|0;u=f+80|0;o=f;h=a[A+16>>2]|0;w=~~+b[h+152>>3];s=a[h+16>>2]|0;c=a[h+56>>2]|0;t=a[46716]|0;DG(h,u,o);u=a[u>>2]|0;l=+b[o>>3];a[n>>2]=2;a[n+4>>2]=3;a[n+8>>2]=u;a[n+12>>2]=w;a[n+16>>2]=s;a[n+20>>2]=c;a[n+24>>2]=t;a[n+28>>2]=0;a[n+32>>2]=r|0?20:-1;b[n+40>>3]=l;a[n+48>>2]=0;a[n+52>>2]=0;a[n+56>>2]=0;a[n+60>>2]=0;a[n+64>>2]=0;a[n+68>>2]=i+1;gg(A,68331,n);MG(A,e,i,1);k=f;return}function yG(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0,z=0;L=k;k=k+192|0;m=L+176|0;G=L+168|0;Q=L+104|0;Z=L+96|0;f=L+88|0;g=L+180|0;E=L+80|0;C=L+16|0;I=L;r=A+16|0;o=a[r>>2]|0;h=~~+b[o+152>>3];d=a[o+16>>2]|0;B=a[46716]|0;v=m2((i*140|0)+140|0)|0;DG(o,g,E);if(!n){u=4;t=0;c=-1}else{u=5;t=a[(a[r>>2]|0)+56>>2]|0;c=20}y=+b[e>>3];w=C+48|0;b[w>>3]=y;W=+b[e+8>>3];b[C+56>>3]=W;a[f>>2]=~~(y+(y>=0.0?.5:-.5));a[f+4>>2]=~~(W+(W>=0.0?.5:-.5));s=I+8|0;r=v+(P4(v,81099,f)|0)|0;o=1;n=0;while(1){l=n+3|0;if((l|0)>=(i|0))break;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];f=1;while(1){if((f|0)==4){f=1;break}z=f+n|0;b[C+(f<<4)>>3]=+b[e+(z<<4)>>3];b[C+(f<<4)+8>>3]=+b[e+(z<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(I,C,3,+(f|0)*.16666666666666666,0,0);W=+b[I>>3];y=+b[s>>3];a[Z>>2]=~~(W+(W>=0.0?.5:-.5));a[Z+4>>2]=~~(y+(y>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,Z)|0)|0}o=o+6|0;n=l}f=a[g>>2]|0;y=+b[E>>3];a[Q>>2]=3;a[Q+4>>2]=u;a[Q+8>>2]=f;a[Q+12>>2]=h;a[Q+16>>2]=d;a[Q+20>>2]=t;a[Q+24>>2]=B;a[Q+28>>2]=0;a[Q+32>>2]=c;b[Q+40>>3]=y;a[Q+48>>2]=0;a[Q+52>>2]=0;a[Q+56>>2]=0;a[Q+60>>2]=o;gg(A,68382,Q);a[G>>2]=v;gg(A,81106,G);L2(v);f=o+-1|0;r=0;while(1){if((r|0)>=(o|0))break;a[m>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,m);r=r+1|0}kg(A,153599)|0;k=L;return}function zG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;r=k;k=k+96|0;f=r+8|0;s=r+80|0;w=r;u=a[A+16>>2]|0;c=~~+b[u+152>>3];t=a[u+16>>2]|0;l=a[46716]|0;DG(u,s,w);s=a[s>>2]|0;n=+b[w>>3];a[f>>2]=2;a[f+4>>2]=1;a[f+8>>2]=s;a[f+12>>2]=c;a[f+16>>2]=t;a[f+20>>2]=0;a[f+24>>2]=l;a[f+28>>2]=0;a[f+32>>2]=0;b[f+40>>3]=n;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=i;gg(A,68331,f);MG(A,e,i,0);k=r;return}function YG(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,68325,r);k=i;return}function DG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function MG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function FG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;a[A>>2]=0;b=a[46717]|0;l=195075;n=0;t=-1;while(1){if((n|0)>=(b|0)){s=6;break}w=(f[192216+(n<<1)>>1]|0)-e|0;u=(f[192728+(n<<1)>>1]|0)-i|0;c=(f[193240+(n<<1)>>1]|0)-r|0;c=(U(u,u)|0)+(U(w,w)|0)+(U(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=n}n=n+1|0}if((s|0)==6){a[46717]=b+1;if((b|0)==256)n=t;else{f[192216+(n<<1)>>1]=e;f[192728+(n<<1)>>1]=i;f[193240+(n<<1)>>1]=r;a[A>>2]=1}}return n|0}function VG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46718]|0;if(!e){a[46719]=64;e=m2(64)|0;a[46718]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46719]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46719]=e;e=y2(a[46718]|0,e)|0;a[46718]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46718]|0}function JG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=k;k=k+16|0;e=i;kg(A,73332)|0;if((a[A+64>>2]|0)==2)kg(A,73347)|0;else kg(A,153599)|0;n=a[a[A+12>>2]>>2]|0;f=a[n+4>>2]|0;r=a[n+8>>2]|0;a[e>>2]=a[n>>2];a[e+4>>2]=f;a[e+8>>2]=r;gg(A,73358,e);k=i;return}function NG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n+8|0;r=n;kg(A,73286)|0;i=A+64|0;e=A+12|0;if((a[i>>2]|0)!=2){a[r>>2]=a[(a[e>>2]|0)+28>>2];gg(A,73297,r)}if((a[(a[e>>2]|0)+20>>2]|0)==0?(a[i>>2]|0)!=2:0){e=a[A+476>>2]|0;i=a[A+480>>2]|0;r=a[A+484>>2]|0;a[f>>2]=a[A+472>>2];a[f+4>>2]=e;a[f+8>>2]=i;a[f+12>>2]=r;gg(A,69666,f)}kg(A,73312)|0;kg(A,73325)|0;k=n;return}function XG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=k;k=k+32|0;c=b+24|0;f=b+8|0;t=b;n=a[A+16>>2]|0;r[193768]=0;i=A+12|0;l=n+8|0;if(!(a[(a[i>>2]|0)+28>>2]|0)){a[t>>2]=Vh(a[l>>2]|0)|0;gg(A,69597,t);e=A+64|0;if((a[e>>2]|0)==2)kg(A,69630)|0;else kg(A,69612)|0;do{if(!(a[(a[i>>2]|0)+20>>2]|0))if((a[e>>2]|0)==2){w=a[A+460>>2]|0;s=a[A+464>>2]|0;e=a[A+468>>2]|0;a[f>>2]=a[A+456>>2];a[f+4>>2]=w;a[f+8>>2]=s;a[f+12>>2]=e;gg(A,69666,f);break}else{kg(A,69642)|0;break}}while(0);kg(A,69696)|0;HJ(A,a[(a[i>>2]|0)+24>>2]|0,13e3);UJ(A);e=a[(a[i>>2]|0)+20>>2]|0;if(e|0){a[t>>2]=a[e>>2];a[t+4>>2]=0;HJ(A,0,t)}}a[46720]=(r[(a[(a[l>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(r[193768]|0)){kg(A,69716)|0;r[193768]=1}e=a[n+208>>2]|0;if(e|0){a[c>>2]=xJ(e,a[46720]|0)|0;gg(A,69729,c)}k=b;return}function RG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;e=k;k=k+16|0;f=e;a[f>>2]=i;a[f+4>>2]=r;gg(A,69581,f);k=e;return}function HG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0.0,C=0.0;B=k;k=k+144|0;d=B+128|0;h=B+112|0;o=B+72|0;u=B+56|0;w=B+40|0;s=B+32|0;r=B+24|0;e=B+8|0;i=B;f=a[A+456>>2]|0;t=a[A+460>>2]|0;n=a[A+464>>2]|0;l=a[A+468>>2]|0;c=A+12|0;v=(a[(a[c>>2]|0)+28>>2]|0)+1|0;a[i>>2]=v;a[i+4>>2]=v;gg(A,69208,i);if(!(a[(a[c>>2]|0)+20>>2]|0)){a[e>>2]=f;a[e+4>>2]=t;a[e+8>>2]=n;a[e+12>>2]=l;gg(A,69225,e)}i=A+360|0;a[r>>2]=a[i>>2]|0?69259:69269;gg(A,69278,r);e=A+64|0;if((a[e>>2]|0)==1){a[s>>2]=n;a[s+4>>2]=l;gg(A,69303,s)}s=a[A+200>>2]|0;v=a[A+204>>2]|0;a[w>>2]=a[A+196>>2];a[w+4>>2]=s;a[w+8>>2]=v;gg(A,69342,w);if(!(a[(a[c>>2]|0)+20>>2]|0)){a[u>>2]=f;a[u+4>>2]=t;a[u+8>>2]=n-f;a[u+12>>2]=l-t;gg(A,69362,u)}C=+b[A+496>>3];v=a[i>>2]|0;E=+b[A+504>>3];g=+b[A+512>>3];b[o>>3]=+b[A+488>>3];b[o+8>>3]=C;a[o+16>>2]=v;b[o+24>>3]=E;b[o+32>>3]=g;gg(A,69402,o);if((a[e>>2]|0)==1){if((n|0)>14399|(l|0)>14399){v=a[(a[c>>2]|0)+16>>2]|0;a[h>>2]=n;a[h+4>>2]=l;a[h+8>>2]=14400;V5[v&63](69445,h)}a[d>>2]=f;a[d+4>>2]=t;a[d+8>>2]=n;a[d+12>>2]=l;gg(A,69540,d)}k=B;return}function pG(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=A+12|0;if(a[(a[e>>2]|0)+20>>2]|0){kg(A,69132)|0;HJ(A,0,(a[(a[e>>2]|0)+20>>2]|0)+4|0)}kg(A,69149)|0;kg(A,69176)|0;a[i>>2]=a[(a[e>>2]|0)+28>>2];gg(A,69191,i);k=r;return}function UG(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,69125,i);kg(A,69118)|0;k=e;return}function xG(A){A=A|0;kg(A,84552)|0;return}function TG(A){A=A|0;kg(A,69118)|0;return}function jG(A){A=A|0;kg(A,84552)|0;return}function SG(A){A=A|0;kg(A,69118)|0;return}function PG(A){A=A|0;kg(A,84552)|0;return}function OG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;r=k;k=k+16|0;i=r;if(e|0?(n=(a[A+16>>2]|0)+272|0,a[n>>2]|0):0){kg(A,69014)|0;Zg(A,a[n>>2]|0,2);kg(A,69025)|0;a[i>>2]=xJ(e,a[46720]|0)|0;gg(A,69029,i)}k=r;return}function KG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+32|0;t=s+8|0;c=s;f=a[A+16>>2]|0;if(!(+b[f+40>>3]<.5)){rQ(A,f+16|0);l=i+4|0;Eg(A,+b[(a[l>>2]|0)+16>>3]);a[t>>2]=a[a[l>>2]>>2];gg(A,68973,t);l=xJ(a[i>>2]|0,a[46720]|0)|0;switch(r[i+48>>0]|0){case 114:{w=i+32|0;f=w;n=+b[w>>3];break}case 108:{f=i+32|0;n=0.0;break}default:{w=i+32|0;f=w;n=+b[w>>3]*.5}}b[e>>3]=+b[e>>3]-n;w=e+8|0;b[w>>3]=+b[w>>3]+ +b[i+24>>3];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];Ig(A,t);kg(A,68988)|0;Eg(A,+b[f>>3]);a[c>>2]=l;gg(A,68997,c)}k=s;return}function _G(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+32|0;f=n;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];b[f+16>>3]=+b[e+16>>3]-+b[e>>3];b[f+24>>3]=+b[e+24>>3]-+b[e+8>>3];e=A+16|0;if(i|0?(r=a[e>>2]|0,+b[r+80>>3]>.5):0){rQ(A,r+56|0);Zg(A,f,2);kg(A,68931)|0}if(+b[(a[e>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[e>>2]|0)+16|0);Zg(A,f,2);kg(A,68951)|0}k=n;return}function qG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;n=A+16|0;if(r|0?(f=a[n>>2]|0,+b[f+80>>3]>.5):0){rQ(A,f+56|0);kg(A,68852)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;f=e+(r<<4)|0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];Ig(A,l);kg(A,68870)|0;r=r+1|0}kg(A,68897)|0}if(+b[(a[n>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[n>>2]|0)+16|0);kg(A,68852)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;n=e+(r<<4)|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];Ig(A,l);kg(A,68870)|0;r=r+1|0}kg(A,68913)|0}k=t;return}function $G(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;f=c;l=A+16|0;if(n|0?(t=a[l>>2]|0,+b[t+80>>3]>.5):0){rQ(A,t+56|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;Zg(A,e+(r<<4)|0,3);kg(A,68887)|0;r=r+3|0}kg(A,68897)|0}if(+b[(a[l>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[l>>2]|0)+16|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;Zg(A,e+(r<<4)|0,3);kg(A,68887)|0;r=r+3|0}kg(A,68879)|0}k=c;return}function AQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;r=A+16|0;if(+b[(a[r>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[r>>2]|0)+16|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;l=e+(r<<4)|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];Ig(A,f);kg(A,68870)|0;r=r+1|0}kg(A,68879)|0}k=n;return}function eQ(A,e){A=A|0;e=e|0;kg(A,68849)|0;kg(A,e)|0;kg(A,153599)|0;return}function iQ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+32|0;n=w+16|0;s=w+8|0;c=w;l=A+16|0;if(f|0?(t=a[l>>2]|0,+b[t+80>>3]>.5):0){rQ(A,t+56|0);kg(A,84447)|0;Zg(A,i,r);kg(A,102604)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];Ig(A,n);a[c>>2]=r;a[c+4>>2]=e;gg(A,68766,c)}if(+b[(a[l>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[l>>2]|0)+16|0);kg(A,84447)|0;Zg(A,i,r);kg(A,102604)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];Ig(A,n);a[s>>2]=r;a[s+4>>2]=e;gg(A,68782,s)}k=w;return}function rQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0;f=k;k=k+32|0;r=f;if(e|0){switch(a[(a[A+16>>2]|0)+4>>2]|0){case 1:case 0:{i=111494;break}case 2:{i=111481;break}case 3:{i=111450;break}default:i=68818}l=+b[e+8>>3];n=+b[e+16>>3];b[r>>3]=+b[e>>3];b[r+8>>3]=l;b[r+16>>3]=n;a[r+24>>2]=i;gg(A,68825,r)}k=f;return}function fQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;c=s+8|0;t=s;n=A+16|0;l=a[n>>2]|0;e=a[l+160>>2]|0;Eg(A,+b[l+152>>3]);kg(A,68799)|0;while(1){if(!e)break;l=e+4|0;f=a[e>>2]|0;if(!f)break;if(!(A1(f,111088)|0)){e=l;continue}else i=f;while(1){e=i+1|0;if(!(r[i>>0]|0))break;else i=e}A:while(1){if(!(r[e>>0]|0))break;a[t>>2]=e;gg(A,68814,t);while(1){i=e+1|0;if(!(r[e>>0]|0)){e=i;continue A}else e=i}}if(!(A1(f,134335)|0))b[(a[n>>2]|0)+152>>3]=0.0;a[c>>2]=f;gg(A,96670,c);e=l}k=s;return}function aQ(A){A=A|0;var e=0;kg(A,74838)|0;e=po(a[(a[A>>2]|0)+168>>2]|0,74894)|0;if(e|0?r[e>>0]|0:0){kg(A,74905)|0;kg(A,e)|0;kg(A,74929)|0}kg(A,74950)|0;kg(A,74998)|0;kg(A,75052)|0;e=A+12|0;kg(A,PF(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,PF(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,PF(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,75434)|0;kg(A,75458)|0;return}function nQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0;l=k;k=k+48|0;n=l+16|0;f=l+8|0;i=l;e=a[A+16>>2]|0;kg(A,74673)|0;e=e+8|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,75397)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,74678,i);i=a[A+452>>2]|0;a[f>>2]=a[A+448>>2];a[f+4>>2]=i;gg(A,74694,f);s=+b[A+392>>3];c=+b[A+400>>3];t=+b[A+408>>3];b[n>>3]=+b[A+384>>3];b[n+8>>3]=s;b[n+16>>3]=c;b[n+24>>3]=t;gg(A,74727,n);kg(A,74758)|0;kg(A,74794)|0;kg(A,76388)|0;k=l;return}function lQ(A){A=A|0;kg(A,74665)|0;return}function tQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;zQ(A,e,0,101510,a[(a[A+16>>2]|0)+8>>2]|0);kg(A,76388)|0;return}function cQ(A){A=A|0;kg(A,74513)|0;return}function bQ(A){A=A|0;var e=0,i=0,f=0,n=0;i=k;k=k+16|0;f=i;n=a[A+16>>2]|0;e=n+8|0;zQ(A,a[n+212>>2]|0,0,111494,a[e>>2]|0);kg(A,74617)|0;Eg(A,+b[A+488>>3]);kg(A,102604)|0;Eg(A,+b[A+496>>3]);a[f>>2]=0-(a[A+360>>2]|0);gg(A,74636,f);Eg(A,+b[A+504>>3]);kg(A,102604)|0;Eg(A,-+b[A+512>>3]);kg(A,74660)|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,74569)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0;kg(A,74577)|0}k=i;return}function sQ(A){A=A|0;kg(A,74513)|0;return}function wQ(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=i+8|0;zQ(A,a[i+212>>2]|0,0,108006,a[e>>2]|0);kg(A,76388)|0;kg(A,74569)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0;kg(A,74577)|0;return}function uQ(A){A=A|0;kg(A,74513)|0;return}function kQ(A){A=A|0;var e=0,i=0,r=0;i=a[A+16>>2]|0;e=a[A+160>>2]|0;if((e|0)>1)e=a[(a[(a[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0;else e=0;r=i+8|0;zQ(A,a[i+212>>2]|0,e,111481,a[r>>2]|0);kg(A,76388)|0;kg(A,74569)|0;kg(A,PF(Vh(a[r>>2]|0)|0)|0)|0;kg(A,74577)|0;return}function oQ(A){A=A|0;kg(A,74513)|0;return}function hQ(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=i+8|0;zQ(A,a[i+212>>2]|0,0,111450,a[e>>2]|0);kg(A,76388)|0;kg(A,74569)|0;e=SF(102095,a[e>>2]|0)|0;kg(A,PF(e)|0)|0;L2(e);kg(A,74577)|0;return}function dQ(A){A=A|0;kg(A,74513)|0;return}function BQ(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;kg(A,74519)|0;if(a|0){kg(A,74522)|0;kg(A,PF(a)|0)|0;kg(A,98744)|0}kg(A,74412)|0;kg(A,76349)|0;if(e|0?r[e>>0]|0:0){kg(A,74530)|0;kg(A,e)|0;kg(A,98744)|0}if(i|0?r[i>>0]|0:0){kg(A,74544)|0;kg(A,OF(i,1)|0)|0;kg(A,98744)|0}if(f|0?r[f>>0]|0:0){kg(A,74559)|0;kg(A,PF(f)|0)|0;kg(A,98744)|0}kg(A,76388)|0;return}function vQ(A){A=A|0;kg(A,76343)|0;kg(A,74513)|0;return}function gQ(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+176|0;J=N+160|0;V=N+152|0;z=N+136|0;F=N+128|0;y=N+120|0;W=N+112|0;L=N+104|0;m=N+96|0;Q=N+88|0;Z=N+80|0;C=N+72|0;E=N+64|0;g=N+56|0;v=N+48|0;l=N+40|0;h=N+32|0;B=N+24|0;d=N+16|0;o=N+8|0;u=N;M=a[A+16>>2]|0;kg(A,74044)|0;switch(r[i+48>>0]|0){case 108:{kg(A,74050)|0;break}case 114:{kg(A,74071)|0;break}default:kg(A,74090)|0}D=e+8|0;Y=+b[D>>3]+ +b[i+24>>3];b[D>>3]=Y;D=M+260|0;if(!(f[D>>1]&512)){kg(A,74112)|0;Eg(A,+b[e>>3]);kg(A,74117)|0;Eg(A,-Y);kg(A,98744)|0}I=i+4|0;e=a[I>>2]|0;w=a[e+8>>2]|0;if(w){switch(a[(a[(a[(a[A>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{s=w;e=w+16|0;l=w+8|0;break}case 2:{s=w+24|0;e=w+32|0;l=w+28|0;break}default:{s=w+4|0;e=w+16|0;l=w+8|0}}t=a[e>>2]|0;e=a[l>>2]|0;c=a[w+12>>2]|0;a[u>>2]=a[s>>2];gg(A,74123,u);l=a[w+24>>2]|0;if(l|0){a[o>>2]=l;gg(A,74140,o)}kg(A,98744)|0;if(e|0){a[d>>2]=e;gg(A,74144,d)}if(c|0){a[B>>2]=c;gg(A,74162,B)}if(!t)t=0;else{a[h>>2]=t;gg(A,74181,h)}}else{a[l>>2]=a[e>>2];gg(A,74198,l);t=0;e=0}l=a[I>>2]|0;if(l|0?(G=a[l+24>>2]|0,G&127|0):0){if(!((e|0)!=0|(G&1|0)==0))gg(A,74216,v);if(!((t|0)!=0|(G&2|0)==0))gg(A,74236,g);if(G&100|0){gg(A,74257,E);if(!(G&4))e=0;else{gg(A,105986,C);e=1}if(G&64){a[Z>>2]=e|0?100999:195059;gg(A,74276,Z);e=1}if(G&32|0){a[Q>>2]=e|0?100999:195059;gg(A,74287,Q)}gg(A,98744,m)}if(G&8|0)gg(A,74302,L);if(G&16|0)gg(A,74326,W)}b[y>>3]=+b[(a[I>>2]|0)+16>>3];gg(A,74348,y);e=M+16|0;switch(a[M+48>>2]|0){case 5:{e=a[e>>2]|0;if(N1(e,137314)|0){a[F>>2]=e;gg(A,74366,F)}break}case 1:{y=n[e+1>>0]|0;F=n[e+2>>0]|0;a[z>>2]=n[e>>0];a[z+4>>2]=y;a[z+8>>2]=F;gg(A,74377,z);break}default:vA(138394,73558,486,74399)}kg(A,74412)|0;if(f[D>>1]&512){a[V>>2]=PF(a[M+212>>2]|0)|0;gg(A,74414,V);kg(A,74463)|0;Eg(A,-Y);kg(A,74481)|0}kg(A,OF(a[i>>2]|0,1)|0)|0;if(f[D>>1]&512)gg(A,74484,J);kg(A,74504)|0;k=N;return}function EQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;switch(i|0){case 2:{r=LQ(A,e,2)|0;break}case 3:{r=WQ(A)|0;break}default:r=0}kg(A,74008)|0;QQ(A,i,r);kg(A,74017)|0;Eg(A,+b[e>>3]);kg(A,74023)|0;i=e+8|0;Eg(A,-+b[i>>3]);kg(A,74030)|0;Eg(A,+b[e+16>>3]-+b[e>>3]);kg(A,74037)|0;Eg(A,+b[e+24>>3]-+b[i>>3]);kg(A,73424)|0;return}function CQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;switch(r|0){case 2:{f=LQ(A,e,i)|0;break}case 3:{f=WQ(A)|0;break}default:f=0}kg(A,73999)|0;QQ(A,r,f);kg(A,73414)|0;f=0;while(1){if((f|0)>=(i|0))break;Eg(A,+b[e+(f<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(f<<4)+8>>3]);kg(A,102604)|0;f=f+1|0}Eg(A,+b[e>>3]);kg(A,100999)|0;Eg(A,-+b[e+8>>3]);kg(A,73424)|0;return}function IQ(A,e,i,r,n,l){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;l=l|0;n=a[A+16>>2]|0;switch(l|0){case 2:{r=LQ(A,e,i)|0;break}case 3:{r=WQ(A)|0;break}default:r=0}kg(A,73594)|0;if(f[n+260>>1]&512){kg(A,73600)|0;kg(A,PF(a[n+212>>2]|0)|0)|0;kg(A,73606)|0}QQ(A,l,r);kg(A,73611)|0;yQ(A,e,i);kg(A,73424)|0;return}function ZQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;kg(A,73404)|0;QQ(A,0,0);kg(A,73414)|0;r=0;while(1){if((r|0)>=(i|0))break;Eg(A,+b[e+(r<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(r<<4)+8>>3]);kg(A,102604)|0;r=r+1|0}kg(A,73424)|0;return}function GQ(A,e){A=A|0;e=e|0;kg(A,73398)|0;kg(A,PF(e)|0)|0;kg(A,75458)|0;return}function QQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+96|0;c=h+48|0;o=h+40|0;w=h+32|0;u=h+24|0;t=h+16|0;n=h+8|0;f=h;s=a[A+16>>2]|0;kg(A,73429)|0;A:do{switch(e|0){case 2:{a[f>>2]=i;gg(A,73437,f);break}case 3:{a[n>>2]=i;gg(A,73448,n);break}case 0:{kg(A,135709)|0;break}default:{e=s+56|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);if((a[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}b[t>>3]=+(e&255)*.00392156862745098;gg(A,73459,t)}}}}while(0);kg(A,73478)|0;i=s+16|0;f=c;n=i;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);e=s+152|0;if(+b[e>>3]!=1.0){kg(A,73489)|0;Eg(A,+b[e>>3])}switch(a[s+144>>2]|0){case 1:{a[u>>2]=73529;gg(A,73506,u);break}case 2:{a[w>>2]=73533;gg(A,73506,w);break}default:{}}A:do{if((a[s+48>>2]|0)==1){e=r[i+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}b[o>>3]=+(e&255)*.00392156862745098;gg(A,73537,o)}}while(0);kg(A,98744)|0;k=h;return}function mQ(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,137379)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,73558,117,73578)}}while(0);k=f;return}function LQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+112|0;u=v+64|0;d=v+56|0;w=v+48|0;s=v+40|0;n=v+32|0;t=v;h=a[46722]|0;a[46722]=h+1;o=a[A+16>>2]|0;f=+(a[o+136>>2]|0)*.017453292519943295;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;a[t+16>>2]=0;a[t+20>>2]=0;a[t+24>>2]=0;a[t+28>>2]=0;YH(e,t,i,f,0);a[u>>2]=h;gg(A,73831,u);kg(A,73896)|0;Eg(A,+b[t>>3]);kg(A,73901)|0;Eg(A,+b[t+8>>3]);kg(A,73908)|0;Eg(A,+b[t+16>>3]);kg(A,73915)|0;Eg(A,+b[t+24>>3]);kg(A,73922)|0;t=o+140|0;f=+c[t>>2];if(f>0.0){b[n>>3]=f+-.001;gg(A,73927,n)}else kg(A,73703)|0;e=o+56|0;i=u;n=e;l=i+40|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));mQ(A,u);kg(A,73739)|0;A:do{if((a[o+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=7;break A}default:{}}b[s>>3]=+(e&255)*.00392156862745098;gg(A,99612,s)}else B=7}while(0);if((B|0)==7)kg(A,73754)|0;kg(A,73757)|0;f=+c[t>>2];if(f>0.0){b[w>>3]=f;gg(A,73927,w)}else kg(A,73763)|0;e=o+96|0;i=u;n=e;l=i+40|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));mQ(A,u);kg(A,73739)|0;A:do{if((a[o+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=14;break A}default:{}}b[d>>3]=+(e&255)*.00392156862745098;gg(A,99612,d)}else B=14}while(0);if((B|0)==14)kg(A,73754)|0;kg(A,73967)|0;k=v;return h|0}function WQ(A){A=A|0;var e=0,i=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+64|0;c=h+16|0;u=h+8|0;t=h;w=a[46721]|0;a[46721]=w+1;s=a[A+16>>2]|0;d=+(a[s+136>>2]|0)*.017453292519943295;i=d;if(d==0.0){f=50;e=50}else{f=~~((+D(+i)+1.0)*50.0);e=~~((1.0-+M(+i))*50.0)}a[c>>2]=w;a[c+4>>2]=f;a[c+8>>2]=e;gg(A,73619,c);kg(A,73703)|0;e=s+56|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);kg(A,73739)|0;A:do{if((a[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{o=6;break A}default:{}}b[t>>3]=+(e&255)*.00392156862745098;gg(A,99612,t)}else o=6}while(0);if((o|0)==6)kg(A,73754)|0;kg(A,73757)|0;kg(A,73763)|0;e=s+96|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);kg(A,73739)|0;A:do{if((a[s+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{o=10;break A}default:{}}b[u>>3]=+(e&255)*.00392156862745098;gg(A,99612,u)}else o=10}while(0);if((o|0)==10)kg(A,73754)|0;kg(A,73799)|0;k=h;return w|0}function yQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;r=77;f=0;while(1){if((f|0)>=(i|0))break;a[n>>2]=r;gg(A,73616,n);Eg(A,+b[e+(f<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(f<<4)+8>>3]);r=(f|0)==0?67:32;f=f+1|0}k=l;return}function zQ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;kg(A,74587)|0;kg(A,PF(e)|0)|0;if(i|0){a[l>>2]=PF(i)|0;gg(A,74595,l)}a[t>>2]=f;gg(A,74599,t);e=po(n,74611)|0;if(e|0?r[e>>0]|0:0){kg(A,102604)|0;kg(A,PF(e)|0)|0}kg(A,98744)|0;k=c;return}function YQ(A){A=A|0;var e=0;kg(A,75418)|0;e=A+12|0;kg(A,pQ(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,pQ(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,pQ(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,75434)|0;return}function DQ(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=a[A+16>>2]|0;kg(A,75395)|0;e=e+8|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,75397)|0;kg(A,pQ(Vh(a[e>>2]|0)|0)|0)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,75406,i);a[46723]=0;k=f;return}function MQ(A){A=A|0;a[46723]=1;return}function FQ(A){A=A|0;a[46723]=-1;return}function VQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+48|0;l=w+8|0;s=w;f=a[A+16>>2]|0;if(a[f+144>>2]|0?(c=i+4|0,t=~~(+b[A+352>>3]*+b[(a[c>>2]|0)+16>>3]),t|0):0){UQ(A);kg(A,75334)|0;n=e+8|0;b[n>>3]=+b[n>>3]-+(t|0)*.55;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,75348)|0;kg(A,a[i>>2]|0)|0;kg(A,75357)|0;kg(A,75155)|0;n=l;e=f+16|0;f=n+40|0;do{a[n>>2]=a[e>>2];n=n+4|0;e=e+4|0}while((n|0)<(f|0));xQ(A,l);kg(A,75359)|0;l=a[c>>2]|0;c=a[l+8>>2]|0;c=a[((c|0)==0?l:c+4|0)>>2]|0;kg(A,98744)|0;kg(A,c)|0;kg(A,98744)|0;a[s>>2]=t;gg(A,75368,s);switch(r[i+48>>0]|0){case 108:{kg(A,75373)|0;break}case 114:{kg(A,75384)|0;break}default:{}}TQ(A);kg(A,153599)|0}k=w;return}function JQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0.0,s=0.0,w=0.0;t=k;k=k+48|0;f=t;n=a[A+16>>2]|0;l=n+144|0;if(a[l>>2]|0){w=+b[e>>3];s=+b[e+24>>3];r=e+8|0;c=+b[r>>3];b[e>>3]=w-+b[e+16>>3]+w;b[r>>3]=c-s+c;UQ(A);kg(A,75320)|0;Zg(A,e,2);kg(A,75155)|0;do{if(!i)if(!(a[46723]|0)){kg(A,97309)|0;break}else{kg(A,137198)|0;break}else{e=f;i=n+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f)}}while(0);if((a[46723]|0)==1)a[46723]=0;kg(A,75266)|0;Eg(A,+b[n+152>>3]);kg(A,75309)|0;e=f;i=n+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function NQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+48|0;f=t;n=a[A+16>>2]|0;l=n+144|0;if(a[l>>2]|0){UQ(A);kg(A,75292)|0;Zg(A,e,i);kg(A,75155)|0;do{if(!r)if(!(a[46723]|0)){kg(A,97309)|0;break}else{kg(A,137198)|0;break}else{e=f;i=n+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f)}}while(0);if((a[46723]|0)==1)a[46723]=0;kg(A,75266)|0;Eg(A,+b[n+152>>3]);kg(A,75309)|0;e=f;i=n+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function XQ(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0;s=k;k=k+48|0;l=s;t=a[A+16>>2]|0;c=t+144|0;if(a[c>>2]|0){UQ(A);kg(A,75141)|0;Zg(A,e,i);kg(A,75155)|0;r=l;f=t+16|0;n=r+40|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));xQ(A,l);kg(A,75266)|0;Eg(A,+b[t+152>>3]);r=a[c>>2]|0;if((r|0)==1){kg(A,75163)|0;r=a[c>>2]|0}if((r|0)==2)kg(A,75172)|0;kg(A,75275)|0;TQ(A);kg(A,153599)|0}k=s;return}function RQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+48|0;n=t;r=a[A+16>>2]|0;l=r+144|0;if(a[l>>2]|0){UQ(A);kg(A,75141)|0;Zg(A,e,i);kg(A,75155)|0;f=n;e=r+16|0;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));xQ(A,n);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function HQ(A,e){A=A|0;e=e|0;kg(A,75138)|0;kg(A,pQ(e)|0)|0;kg(A,153599)|0;return}function pQ(A){A=A|0;return A|0}function UQ(A){A=A|0;if(!(r[A+144>>0]|0))kg(A,75263)|0;else kg(A,a[A+148>>2]|0)|0;return}function xQ(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,97309)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,75181,49,75245)}}while(0);k=f;return}function TQ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=a[A+16>>2]|0;switch(a[f+12>>2]|0){case 8:{e=1;i=111481;r=f+8|0;break}case 10:{e=0;i=111481;r=f+8|0;break}case 3:case 2:case 9:{e=1;i=111450;r=f+8|0;break}case 7:case 6:case 11:{e=0;i=111450;r=f+8|0;break}case 0:{e=1;i=111494;r=f+8|0;break}case 4:{e=0;i=75217;r=f+8|0;break}case 1:{e=1;i=111494;r=f+8|0;break}case 5:{e=0;i=111494;r=f+8|0;break}default:vA(138394,75181,106,75200)}f=a[(a[r>>2]|0)+8>>2]|0;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=f;gg(A,75229,n);k=l;return}function jQ(A){A=A|0;var e=0;kg(A,78153)|0;kg(A,78161)|0;e=A+12|0;kg(A,rm(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,rm(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,rm(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,78194)|0;return}function SQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t+24|0;n=t+16|0;f=t+8|0;i=t;e=a[A+16>>2]|0;a[46727]=~~(+b[A+232>>3]-+b[A+216>>3]);a[46726]=~~(+b[A+224>>3]-+b[A+208>>3]);kg(A,76840)|0;kg(A,76847)|0;e=Vh(a[e+8>>2]|0)|0;if(r[e>>0]|0){kg(A,76916)|0;kg(A,rm(e)|0)|0;kg(A,76924)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,76933,i);kg(A,76953)|0;kg(A,76988)|0;kg(A,77016)|0;kg(A,77022)|0;kg(A,77065)|0;kg(A,77106)|0;kg(A,77125)|0;kg(A,77142)|0;kg(A,77190)|0;kg(A,77243)|0;kg(A,77319)|0;kg(A,77395)|0;kg(A,77404)|0;kg(A,77427)|0;kg(A,77454)|0;kg(A,77507)|0;kg(A,77529)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77596)|0;kg(A,77622)|0;kg(A,77507)|0;kg(A,77674)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77718)|0;kg(A,77427)|0;kg(A,77454)|0;kg(A,77507)|0;kg(A,77674)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77596)|0;kg(A,77622)|0;kg(A,77507)|0;kg(A,77529)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77731)|0;kg(A,77739)|0;kg(A,77745)|0;kg(A,77759)|0;kg(A,77767)|0;kg(A,77800)|0;i=(a[46727]|0)+10|0;a[f>>2]=a[46726];a[f+4>>2]=i;gg(A,77877,f);kg(A,77907)|0;kg(A,77916)|0;kg(A,77974)|0;kg(A,77984)|0;kg(A,78049)|0;f=a[46727]|0;a[n>>2]=a[46726];a[n+4>>2]=f;gg(A,78086,n);n=a[46727]|0;a[l>>2]=a[46726];a[l+4>>2]=n;gg(A,78114,l);k=t;return}function PQ(A){A=A|0;kg(A,76391)|0;kg(A,76403)|0;kg(A,76411)|0;kg(A,76474)|0;kg(A,76403)|0;kg(A,76519)|0;kg(A,76568)|0;kg(A,76622)|0;kg(A,76403)|0;kg(A,76722)|0;kg(A,76771)|0;kg(A,76403)|0;kg(A,76823)|0;return}function OQ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+32|0;t=c+16|0;l=c+8|0;n=c;kg(A,76349)|0;if(e|0?r[e>>0]|0:0){a[n>>2]=rm(e)|0;gg(A,76352,n)}if(i|0?r[i>>0]|0:0){a[l>>2]=rm(i)|0;gg(A,76363,l)}if(f|0?r[f>>0]|0:0){a[t>>2]=rm(f)|0;gg(A,76375,t)}kg(A,76388)|0;k=c;return}function KQ(A){A=A|0;kg(A,76343)|0;return}function _Q(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0;Q=k;k=k+112|0;Z=Q+96|0;G=Q+88|0;C=Q+80|0;h=Q+72|0;E=Q+64|0;v=Q+56|0;B=Q+48|0;d=Q+40|0;o=Q+24|0;u=Q+8|0;w=Q;I=a[A+16>>2]|0;switch(r[i+48>>0]|0){case 108:{t=+b[e>>3];s=+b[i+32>>3];break}case 114:{s=+b[i+32>>3];t=+b[e>>3]-s;break}default:{s=+b[i+32>>3];t=+b[e>>3]-s*.5}}f=i+40|0;l=+b[f>>3];g=i+4|0;c=+b[(a[g>>2]|0)+16>>3];if(l>3]=l}m=t+-8.0;c=+((a[46727]|0)>>>0)-+b[e+8>>3]-l+c*.2+(c<12.0?1.4:2.0);gg(A,76005,w);b[u>>3]=m;b[u+8>>3]=c;gg(A,75942,u);b[o>>3]=t+8.0+s-m;b[o+8>>3]=l;gg(A,75966,o);kg(A,76040)|0;kg(A,76074)|0;f=a[g>>2]|0;e=a[f+8>>2]|0;if(e){a[d>>2]=a[e+4>>2];gg(A,76164,d);f=a[e+8>>2]|0;if(f|0){a[B>>2]=f;gg(A,76183,B)}f=a[e+12>>2]|0;if(f|0){a[v>>2]=f;gg(A,76200,v)}f=a[e+16>>2]|0;if(f|0){a[E>>2]=f;gg(A,76218,E)}}else{a[h>>2]=a[f>>2];gg(A,76164,h)}b[C>>3]=+b[(a[g>>2]|0)+16>>3];gg(A,76234,C);f=I+16|0;switch(a[I+48>>2]|0){case 5:{f=a[f>>2]|0;if(N1(f,137314)|0){a[G>>2]=f;gg(A,76254,G)}break}case 1:{I=n[f+1>>0]|0;G=n[f+2>>0]|0;a[Z>>2]=n[f>>0];a[Z+4>>2]=I;a[Z+8>>2]=G;gg(A,76264,Z);break}default:vA(138394,75728,438,76285)}kg(A,76298)|0;kg(A,rm(a[i>>2]|0)|0)|0;kg(A,76309)|0;kg(A,76332)|0;k=Q;return}function qQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0;r=k;k=k+32|0;f=r+16|0;t=r;kg(A,75906)|0;s=+b[e>>3];l=+b[e+16>>3]-s;c=+b[e+24>>3];n=c-+b[e+8>>3];c=+((a[46727]|0)>>>0)-c;b[t>>3]=s-l;b[t+8>>3]=c;gg(A,75942,t);b[f>>3]=l*2.0;b[f+8>>3]=n*2.0;gg(A,75966,f);lm(A,i);kg(A,75788)|0;am(A);kg(A,75994)|0;k=r;return}function $Q(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;s=k;k=k+48|0;c=s+24|0;t=s+8|0;n=s;kg(A,75511)|0;w=a[46727]|0;a[n>>2]=a[46726];a[n+4>>2]=w;gg(A,75764,n);lm(A,r);kg(A,75788)|0;am(A);kg(A,75791)|0;n=i+-1|0;r=0;while(1){if((r|0)>=(i|0))break;l=+b[e+(r<<4)>>3];f=+((a[46727]|0)>>>0)-+b[e+(r<<4)+8>>3];if(!r){kg(A,75818)|0;b[t>>3]=l;b[t+8>>3]=f;gg(A,75884,t);kg(A,75895)|0}else{b[c>>3]=l;b[c+8>>3]=f;gg(A,75884,c)}if((r|0)==(n|0))kg(A,75898)|0;r=r+1|0}kg(A,75627)|0;k=s;return}function Am(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0;f=k;k=k+16|0;r=f;kg(A,75511)|0;l=a[46727]|0;a[r>>2]=a[46726];a[r+4>>2]=l;gg(A,75764,r);lm(A,n);kg(A,75788)|0;am(A);kg(A,75791)|0;tm(A,e,i);kg(A,75804)|0;k=f;return}function em(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0.0;c=k;k=k+48|0;t=c+24|0;l=c+8|0;f=c;kg(A,75511)|0;n=a[46727]|0;a[f>>2]=a[46726];a[f+4>>2]=n;gg(A,75548,f);kg(A,75588)|0;f=i+-1|0;n=e+8|0;r=0;while(1){if((r|0)>=(i|0))break;if(!r){kg(A,75600)|0;s=+((a[46727]|0)>>>0)-+b[n>>3];b[l>>3]=+b[e>>3];b[l+8>>3]=s;gg(A,75604,l);kg(A,75615)|0}else{s=+((a[46727]|0)>>>0)-+b[e+(r<<4)+8>>3];b[t>>3]=+b[e+(r<<4)>>3];b[t+8>>3]=s;gg(A,75604,t)}if((r|0)==(f|0))kg(A,75619)|0;r=r+1|0}kg(A,75623)|0;am(A);kg(A,75627)|0;k=c;return}function im(A,e){A=A|0;e=e|0;kg(A,75446)|0;kg(A,rm(e)|0)|0;kg(A,75458)|0;return}function rm(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+16|0;i=g;e=a[46724]|0;if(!e){a[46725]=64;e=$F(64)|0;a[46724]=e}B=i+15|0;d=i+14|0;n=0;h=0;u=0;i=0;f=0;A:while(1){w=(u|0)!=0;b=n;o=A;c=i;e:while(1){if(!o){v=32;break A}i=r[o>>0]|0;if(!(i<<24>>24)){v=32;break A}A=a[46725]|0;if((h|0)>(A+-8|0)){e=A<<1;a[46725]=e;e=eV(a[46724]|0,e)|0;a[46724]=e;e=e+h|0;i=r[o>>0]|0}switch(i<<24>>24){case 60:{i=4;A=102153;v=26;break e}case 62:{i=4;A=102136;v=27;break e}case 38:{v=10;break e}case 45:{i=5;A=102147;t=c;break e}default:{}}if(w&i<<24>>24==32){v=12;break}switch(i<<24>>24){case 34:{i=6;A=102116;v=26;break e}case 39:{i=5;A=102141;v=27;break e}default:{}}if(i<<24>>24<0){t=127;A=0}else{i=1;A=o;v=26;break}while(1){n=t&255;l=i&255;if(n>>>0>=l>>>0)break;i=t&l&255;t=n>>>1;A=A+1|0}if((A|0)<=1){n=G6(c|0,f|0,6)|0;n=d6(n|0,L|0,i&255|0,0)|0;f=L;s=b+-1|0;if((b|0)>1){A=s;i=n}else{v=21;break}}else{A=A+-1|0;i=i&255;f=0}b=A;o=o+1|0;c=i}if((v|0)==10){v=0;A=(fm(o)|0)==0;i=A?5:1;A=A?102130:o;t=c}else if((v|0)==12){v=0;A=(r[u>>0]|0)==32;i=A?6:1;A=A?102123:o;t=c}else if((v|0)==21){v=0;r[B>>0]=59;i=3;l=d;t=n;c=f;while(1){A=C6(t|0,c|0,10,0)|0;n=l+-1|0;r[l>>0]=A|48;A=t;t=E6(t|0,c|0,10,0)|0;f=c;c=L;u=i;i=i+1|0;if((u|0)>11){v=23;break A}if(!(f>>>0>0|(f|0)==0&A>>>0>9))break;else l=n}A=l+-2|0;r[n>>0]=35;r[A>>0]=38;b=s;f=c}else if((v|0)==26){v=0;t=c}else if((v|0)==27){v=0;t=c}l=e+i|0;n=i;while(1){if(!n)break;r[e>>0]=r[A>>0]|0;n=n+-1|0;A=A+1|0;e=e+1|0}n=b;A=o+1|0;h=i+h|0;u=o;e=l;i=t}if((v|0)==23){L3(75464,46,1,a[15712]|0)|0;SA(1)}else if((v|0)==32){r[e>>0]=0;k=g;return a[46724]|0}return 0}function fm(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function am(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+48|0;i=c+8|0;t=c;l=a[A+16>>2]|0;kg(A,75639)|0;r=i;f=l+16|0;n=r+40|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));nm(A,i);e=+b[l+152>>3];if(e!=1.0){b[t>>3]=e;gg(A,75657,t)}switch(a[l+144>>2]|0){case 1:{kg(A,75674)|0;break}case 2:{kg(A,75692)|0;break}default:{}}kg(A,75709)|0;k=c;return}function nm(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,135709)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,75728,94,75748)}}while(0);k=f;return}function lm(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+48|0;f=n;if(!e)kg(A,75867)|0;else{i=a[A+16>>2]|0;kg(A,75837)|0;e=f;i=i+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));nm(A,f);kg(A,75864)|0}k=n;return}function tm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0.0,c=0.0;l=k;k=k+32|0;n=l;r=75818;f=0;while(1){if((f|0)>=(i|0))break;c=+b[e+(f<<4)>>3];t=+((a[46727]|0)>>>0)-+b[e+(f<<4)+8>>3];a[n>>2]=r;b[n+8>>3]=c;b[n+16>>3]=t;gg(A,75821,n);r=(f|0)==0?75834:195059;f=f+1|0}kg(A,98744)|0;k=l;return}function cm(A){A=A|0;var e=0,i=0,r=0;e=k;k=k+16|0;i=e+8|0;r=e;kg(A,80451)|0;kg(A,80466)|0;kg(A,80505)|0;kg(A,80554)|0;a[r>>2]=137314;a[r+4>>2]=80642;gg(A,80623,r);a[i>>2]=137198;a[i+4>>2]=80648;gg(A,80623,i);k=e;return}function bm(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0;e=k;k=k+64|0;i=e+8|0;t=e;a[t>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,79404,t);l=+b[A+368>>3]*.5*+b[A+488>>3];n=+b[A+376>>3]*.5*+b[A+496>>3];f=+N(+(l*2.0000000949949026e-03))*180.0*.6366197723675814;r=+N(+(n*2.0000000949949026e-03))*180.0*.6366197723675814;b[i>>3]=l;b[i+8>>3]=n;b[i+16>>3]=-500.0;b[i+24>>3]=l;b[i+32>>3]=n;b[i+40>>3]=0.0;b[i+48>>3]=(f>r?f:r)*1.2;gg(A,79426,i);kg(A,79573)|0;kg(A,80403)|0;k=e;return}function sm(A){A=A|0;kg(A,79387)|0;return}function wm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=k;k=k+16|0;n=f;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=r;gg(A,79357,n);c[46728]=+(U(i,-10)|0);k=f;return}function um(A){A=A|0;kg(A,79340)|0;return}function km(A){A=A|0;kg(A,79322)|0;return}function om(A){A=A|0;kg(A,79306)|0;return}function hm(A){A=A|0;kg(A,79285)|0;c[46728]=+c[46728]+-2.0;return}function dm(A){A=A|0;kg(A,79266)|0;return}function Bm(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,79244,i);k=e;return}function vm(A){A=A|0;kg(A,79228)|0;return}function gm(A){A=A|0;kg(A,79210)|0;c[46728]=+c[46728]+-5.0;return}function Em(A){A=A|0;kg(A,79194)|0;c[46728]=+c[46728]+5.0;return}function Cm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0;d=k;k=k+144|0;u=d+104|0;h=d+56|0;s=d+32|0;l=d+24|0;w=d;o=i+4|0;n=a[o>>2]|0;f=+b[n+16>>3];n=a[n>>2]|0;a[w>>2]=a[i>>2];b[w+8>>3]=f;a[w+16>>2]=n;gg(A,79040,w);c[46729]=+c[46728]+-9.0;switch(r[i+48>>0]|0){case 108:{f=+b[e>>3];break}case 114:{n=e;f=+b[e>>3]-+b[i+32>>3];t=5;break}default:{n=e;f=+b[e>>3]-+b[i+32>>3]*.5;t=5}}if((t|0)==5)b[n>>3]=f;g=+b[A+488>>3];v=(+b[A+504>>3]+f)*g;B=(+b[A+512>>3]+ +b[e+8>>3])*+b[A+496>>3];b[l>>3]=+b[(a[o>>2]|0)+16>>3]*g;w=Lm(A,79092,l)|0;f=+(a[A+360>>2]|0);b[s>>3]=0.0;b[s+8>>3]=0.0;b[s+16>>3]=f;n=Lm(A,78309,s)|0;f=+c[46729];b[u>>3]=v;b[u+8>>3]=B;b[u+16>>3]=f;e=Lm(A,78341,u)|0;l=u;t=(a[A+16>>2]|0)+16|0;s=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(s|0));u=Wm(A,u,0.0)|0;i=a[i>>2]|0;a[h>>2]=a[a[o>>2]>>2];b[h+8>>3]=.25;b[h+16>>3]=0.0;a[h+24>>2]=i;a[h+28>>2]=79179;a[h+32>>2]=w;a[h+36>>2]=n;a[h+40>>2]=e;a[h+44>>2]=u;h=Lm(A,79104,h)|0;kg(A,h)|0;L2(h);L2(n);L2(u);L2(e);L2(w);k=d;return}function Im(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0;G=k;k=k+240|0;I=G+192|0;Z=G+152|0;v=G+128|0;d=G+104|0;u=G+80|0;w=G+48|0;r=G+24|0;s=G;kg(A,78917)|0;c[46729]=+c[46728]+-6.0;n=+b[e>>3];l=+b[A+488>>3];o=(+b[A+504>>3]+n)*l;Q=+b[e+8>>3];t=+b[A+496>>3];h=(+b[A+512>>3]+Q)*t;l=(+b[e+16>>3]-n)*l;t=(+b[e+24>>3]-Q)*t;B=A+16|0;Q=t+l;n=+b[(a[B>>2]|0)+152>>3]/Q*2.5;b[s>>3]=l;b[s+8>>3]=Q*.25;b[s+16>>3]=t;e=Lm(A,78277,s)|0;s=A+360|0;Q=+(a[s>>2]|0);b[r>>3]=90.0;b[r+8>>3]=0.0;b[r+16>>3]=Q;r=Lm(A,78309,r)|0;Q=+c[46729];b[I>>3]=o;b[I+8>>3]=h;b[I+16>>3]=Q;f=Lm(A,78341,I)|0;g=I;E=(a[B>>2]|0)+16|0;C=g+40|0;do{a[g>>2]=a[E>>2];g=g+4|0;E=E+4|0}while((g|0)<(C|0));E=Wm(A,I,0.0)|0;b[w>>3]=1.0;b[w+8>>3]=n;a[w+16>>2]=e;a[w+20>>2]=r;a[w+24>>2]=f;a[w+28>>2]=E;C=Lm(A,78932,w)|0;kg(A,C)|0;L2(e);L2(r);L2(f);L2(E);L2(C);if(i|0){b[u>>3]=l;b[u+8>>3]=t;b[u+16>>3]=1.0;f=Lm(A,78277,u)|0;Q=+(a[s>>2]|0);b[d>>3]=0.0;b[d+8>>3]=0.0;b[d+16>>3]=Q;r=Lm(A,78309,d)|0;Q=+c[46729];b[v>>3]=o;b[v+8>>3]=h;b[v+16>>3]=Q;e=Lm(A,78341,v)|0;g=I;E=(a[B>>2]|0)+56|0;C=g+40|0;do{a[g>>2]=a[E>>2];g=g+4|0;E=E+4|0}while((g|0)<(C|0));I=Wm(A,I,0.0)|0;b[Z>>3]=0.0;b[Z+8>>3]=0.0;b[Z+16>>3]=0.0;a[Z+24>>2]=f;a[Z+28>>2]=r;a[Z+32>>2]=e;a[Z+36>>2]=I;Z=Lm(A,78978,Z)|0;kg(A,Z)|0;L2(f);L2(r);L2(e);L2(I);L2(Z)}k=G;return}function Zm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0.0,N=0,X=0.0;V=k;k=k+336|0;m=V+296|0;F=V+288|0;M=V+272|0;D=V+264|0;Y=V+240|0;W=V+232|0;Q=V+208|0;G=V+184|0;C=V+160|0;E=V+152|0;g=V+136|0;v=V+128|0;B=V+96|0;d=V+88|0;h=V+56|0;f=V+48|0;s=V+24|0;t=V;kg(A,78782)|0;c[46729]=+c[46728]+-2.0;u=A+488|0;o=A+496|0;J=+b[o>>3];b[t>>3]=+b[u>>3];b[t+8>>3]=J;b[t+16>>3]=1.0;t=Lm(A,78277,t)|0;Z=A+360|0;J=+(a[Z>>2]|0);b[s>>3]=0.0;b[s+8>>3]=0.0;b[s+16>>3]=J;s=Lm(A,78309,s)|0;J=+c[46729]+-2.0;b[m>>3]=0.0;b[m+8>>3]=0.0;b[m+16>>3]=J;w=Lm(A,78341,m)|0;L=A+16|0;n=m;l=(a[L>>2]|0)+16|0;I=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(I|0));l=Wm(A,m,0.0)|0;a[f>>2]=78404;a[f+4>>2]=i+1;y=A+504|0;z=A+512|0;n=0;f=Lm(A,78373,f)|0;while(1){if((n|0)>=(i|0))break;X=+b[z>>3]+ +b[e+(n<<4)+8>>3];J=+b[(a[L>>2]|0)+152>>3];b[h>>3]=+b[y>>3]+ +b[e+(n<<4)>>3];b[h+8>>3]=X;b[h+16>>3]=0.0;b[h+24>>3]=J;N=Lm(A,78418,h)|0;a[d>>2]=f;a[d+4>>2]=N;I=Lm(A,78447,d)|0;L2(N);L2(f);n=n+1|0;f=I}J=+b[z>>3]+ +b[e+8>>3];X=+b[(a[L>>2]|0)+152>>3];b[B>>3]=+b[y>>3]+ +b[e>>3];b[B+8>>3]=J;b[B+16>>3]=0.0;b[B+24>>3]=X;I=Lm(A,78418,B)|0;a[v>>2]=f;a[v+4>>2]=I;N=Lm(A,78447,v)|0;L2(I);L2(f);a[g>>2]=t;a[g+4>>2]=s;a[g+8>>2]=w;a[g+12>>2]=l;I=Lm(A,78797,g)|0;a[E>>2]=N;a[E+4>>2]=I;N=Lm(A,78502,E)|0;L2(I);kg(A,N)|0;L2(t);L2(s);L2(w);L2(l);L2(N);if(r|0){X=+b[o>>3];b[C>>3]=+b[u>>3];b[C+8>>3]=X;b[C+16>>3]=1.0;w=Lm(A,78277,C)|0;X=+(a[Z>>2]|0);b[G>>3]=0.0;b[G+8>>3]=0.0;b[G+16>>3]=X;s=Lm(A,78309,G)|0;X=+c[46729]+-2.0;b[Q>>3]=0.0;b[Q+8>>3]=0.0;b[Q+16>>3]=X;t=Lm(A,78341,Q)|0;n=m;l=(a[L>>2]|0)+56|0;I=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(I|0));l=Wm(A,m,.25)|0;a[W>>2]=i;n=0;f=Lm(A,78842,W)|0;while(1){if((n|0)>=(i|0))break;X=+b[z>>3]+ +b[e+(n<<4)+8>>3];b[Y>>3]=+b[y>>3]+ +b[e+(n<<4)>>3];b[Y+8>>3]=X;b[Y+16>>3]=0.0;W=Lm(A,78857,Y)|0;a[D>>2]=f;a[D+4>>2]=W;N=Lm(A,78879,D)|0;L2(W);L2(f);n=n+1|0;f=N}a[M>>2]=w;a[M+4>>2]=s;a[M+8>>2]=t;a[M+12>>2]=l;M=Lm(A,78889,M)|0;a[F>>2]=f;a[F+4>>2]=M;N=Lm(A,78502,F)|0;L2(M);kg(A,N)|0;L2(w);L2(s);L2(t);L2(l);L2(N)}k=V;return}function Gm(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0;m=k;k=k+208|0;r=m+160|0;Q=m+152|0;G=m+136|0;Z=m+128|0;I=m+96|0;C=m+88|0;E=m+56|0;t=m+48|0;B=m+24|0;d=m;kg(A,78709)|0;c[46729]=+c[46728]+-4.0;L=+b[A+496>>3];b[d>>3]=+b[A+488>>3];b[d+8>>3]=L;b[d+16>>3]=1.0;d=Lm(A,78277,d)|0;L=+(a[A+360>>2]|0);b[B>>3]=0.0;b[B+8>>3]=0.0;b[B+16>>3]=L;B=Lm(A,78309,B)|0;L=+c[46729]+-2.0;b[r>>3]=0.0;b[r+8>>3]=0.0;b[r+16>>3]=L;v=Lm(A,78341,r)|0;g=A+16|0;f=r;n=(a[g>>2]|0)+56|0;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));w=Wm(A,r,0.0)|0;a[t>>2]=78723;a[t+4>>2]=i+2;u=A+504|0;o=A+512|0;h=i+-1|0;s=0;r=Lm(A,78373,t)|0;while(1){if((s|0)>=(i|0))break;f=e+(s<<4)|0;n=e+(s<<4)+8|0;W=+b[o>>3]+ +b[n>>3];L=+b[(a[g>>2]|0)+152>>3];b[E>>3]=+b[u>>3]+ +b[f>>3];b[E+8>>3]=W;b[E+16>>3]=0.0;b[E+24>>3]=L;t=Lm(A,78418,E)|0;a[C>>2]=r;a[C+4>>2]=t;l=Lm(A,78447,C)|0;L2(t);L2(r);if((s|0)==0|(s|0)==(h|0)){L=+b[o>>3]+ +b[n>>3];W=+b[(a[g>>2]|0)+152>>3];b[I>>3]=+b[u>>3]+ +b[f>>3];b[I+8>>3]=L;b[I+16>>3]=0.0;b[I+24>>3]=W;t=Lm(A,78418,I)|0;a[Z>>2]=l;a[Z+4>>2]=t;r=Lm(A,78447,Z)|0;L2(t);L2(l)}else r=l;s=s+1|0}a[G>>2]=d;a[G+4>>2]=B;a[G+8>>2]=v;a[G+12>>2]=w;e=Lm(A,78732,G)|0;a[Q>>2]=r;a[Q+4>>2]=e;i=Lm(A,78502,Q)|0;L2(e);kg(A,i)|0;L2(d);L2(B);L2(v);L2(w);L2(i);k=m;return}function Qm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0,Z=0.0;E=k;k=k+160|0;r=E+120|0;g=E+112|0;v=E+96|0;B=E+88|0;d=E+56|0;s=E+48|0;w=E+24|0;h=E;kg(A,78261)|0;c[46729]=+c[46728]+-6.0;C=+b[A+496>>3];b[h>>3]=+b[A+488>>3];b[h+8>>3]=C;b[h+16>>3]=1.0;h=Lm(A,78277,h)|0;C=+(a[A+360>>2]|0);b[w>>3]=0.0;b[w+8>>3]=0.0;b[w+16>>3]=C;w=Lm(A,78309,w)|0;C=+c[46729];b[r>>3]=0.0;b[r+8>>3]=0.0;b[r+16>>3]=C;u=Lm(A,78341,r)|0;o=A+16|0;f=r;n=(a[o>>2]|0)+16|0;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));n=Wm(A,r,0.0)|0;a[s>>2]=78404;a[s+4>>2]=i;l=A+504|0;t=A+512|0;f=0;r=Lm(A,78373,s)|0;while(1){if((f|0)>=(i|0))break;Z=+b[t>>3]+ +b[e+(f<<4)+8>>3];C=+b[(a[o>>2]|0)+152>>3];b[d>>3]=+b[l>>3]+ +b[e+(f<<4)>>3];b[d+8>>3]=Z;b[d+16>>3]=0.0;b[d+24>>3]=C;I=Lm(A,78418,d)|0;a[B>>2]=r;a[B+4>>2]=I;s=Lm(A,78447,B)|0;L2(I);L2(r);f=f+1|0;r=s}a[v>>2]=h;a[v+4>>2]=w;a[v+8>>2]=u;a[v+12>>2]=n;v=Lm(A,78456,v)|0;a[g>>2]=r;a[g+4>>2]=v;I=Lm(A,78502,g)|0;L2(v);kg(A,I)|0;L2(h);L2(w);L2(u);L2(n);L2(I);k=E;return}function mm(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,78242,r);k=i;return}function Lm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+1056|0;l=t;r=t+24|0;f=t+8|0;a[f>>2]=i;n=k4(r,1024,e,f)|0;do{if((n|0)>=0)if((n|0)>1023){A=m2(n+1|0)|0;a[f>>2]=i;O4(A,e,f)|0;break}else{A=s3(r)|0;break}else{A=a[(a[A+12>>2]|0)+16>>2]|0;a[l>>2]=e1(a[(X2()|0)>>2]|0)|0;V5[A&63](78687,l);A=s3(195059)|0}}while(0);k=t;return A|0}function Wm(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0;h=k;k=k+112|0;u=h+104|0;t=h+96|0;l=h+64|0;w=h+48|0;o=h+32|0;s=h+16|0;c=h;f=a[e+32>>2]|0;A:do{switch(f|0){case 5:{r=a[e>>2]|0;if(!(A1(r,136302)|0)){a[c>>2]=78524;b[c+8>>3]=i;r=Lm(A,78507,c)|0;break A}if(!(A1(r,133432)|0)){a[s>>2]=78528;b[s+8>>3]=i;r=Lm(A,78507,s)|0;break A}if(!(A1(r,131431)|0)){a[o>>2]=78534;b[o+8>>3]=i;r=Lm(A,78507,o)|0;break A}else{a[w>>2]=r;b[w+8>>3]=i;r=Lm(A,78507,w)|0;break A}}case 1:{B=+(n[e+1>>0]|0)*.00390625;d=+(n[e+2>>0]|0)*.00390625;b[l>>3]=+(n[e>>0]|0)*.00390625;b[l+8>>3]=B;b[l+16>>3]=d;b[l+24>>3]=i;r=Lm(A,78539,l)|0;break}default:{o=a[15712]|0;w=a[e>>2]|0;a[t>>2]=f;a[t+4>>2]=w;f3(o,78578,t)|0;vA(138394,78628,436,78648)}}}while(0);a[u>>2]=r;o=Lm(A,78665,u)|0;L2(r);k=h;return o|0}function ym(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;l=a[a[A+12>>2]>>2]|0;c=a[l>>2]|0;t=a[l+4>>2]|0;l=a[l+8>>2]|0;a[n>>2]=81094;a[n+4>>2]=c;a[n+8>>2]=t;a[n+12>>2]=l;gg(A,83704,n);f=Vh(a[f+8>>2]|0)|0;a[r>>2]=81094;a[r+4>>2]=f;gg(A,83736,r);a[i>>2]=81094;gg(A,83750,i);k=e;return}function zm(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=81094;gg(A,83652,i);k=e;return}function Ym(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0;P=k;k=k+304|0;S=P+296|0;j=P+288|0;T=P+272|0;U=P+264|0;p=P+256|0;H=P+248|0;R=P+240|0;X=P+232|0;N=P+224|0;J=P+216|0;V=P+208|0;F=P+200|0;M=P+192|0;D=P+184|0;z=P+176|0;y=P+168|0;W=P+160|0;L=P+152|0;Q=P+144|0;G=P+136|0;Z=P+128|0;I=P+120|0;C=P+112|0;E=P+104|0;g=P+96|0;v=P+88|0;B=P+80|0;d=P+72|0;h=P+64|0;o=P+56|0;u=P+48|0;x=P+40|0;m=P+24|0;w=P+16|0;s=P;n=a[A+456>>2]|0;l=a[A+460>>2]|0;t=a[A+464>>2]|0;c=a[A+468>>2]|0;f=A+360|0;A:do{if(a[4025]|0){switch(a[f>>2]|0){case 90:case 0:break A;default:{}}xm();a[4025]=0}}while(0);r=(+(c|0)-+(l|0))*.013888888888888888;e=(+(t|0)-+(n|0))*.013888888888888888;c=(a[f>>2]|0)==90;i=c?r:e;r=c?e:r;b[s>>3]=i;b[s+8>>3]=r;gg(A,81281,s);a[w>>2]=81094;gg(A,81296,w);if(i>0.0){e=+t1(i);b[19214]=e;e=e+3.0-+(~~e|0)}else e=3.0;e=+Y(10.0,+e);b[19214]=e;b[m>>3]=e;b[m+8>>3]=e;gg(A,81465,m);a[x>>2]=81094;gg(A,81500,x);a[u>>2]=81094;gg(A,81558,u);a[o>>2]=81094;gg(A,81618,o);a[h>>2]=81094;gg(A,81667,h);a[d>>2]=81094;gg(A,81706,d);a[B>>2]=81094;gg(A,81757,B);a[v>>2]=81094;gg(A,81819,v);a[g>>2]=81094;gg(A,81929,g);a[E>>2]=81094;gg(A,82020,E);a[C>>2]=81094;gg(A,82074,C);a[I>>2]=81094;gg(A,82143,I);gg(A,82179,Z);a[G>>2]=81094;gg(A,82304,G);a[Q>>2]=81094;gg(A,82333,Q);gg(A,82373,L);a[W>>2]=81094;gg(A,82466,W);a[y>>2]=81094;gg(A,82525,y);a[z>>2]=81094;gg(A,82606,z);gg(A,82676,D);a[M>>2]=81094;gg(A,82765,M);a[F>>2]=81094;gg(A,82870,F);a[V>>2]=81094;gg(A,82946,V);a[J>>2]=81094;gg(A,82985,J);a[N>>2]=81094;gg(A,83084,N);a[X>>2]=81094;gg(A,83130,X);gg(A,83219,R);a[H>>2]=81094;gg(A,83260,H);a[p>>2]=81094;gg(A,83343,p);a[U>>2]=81094;gg(A,83444,U);b[T>>3]=r;b[T+8>>3]=i;gg(A,83508,T);gg(A,83536,j);gg(A,83544,S);k=P;return}function Dm(A){A=A|0;var e=0;e=k;k=k+16|0;gg(A,81274,e);k=e;return}function Mm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0,u=0,o=0,h=0,d=0;d=k;k=k+48|0;h=d+24|0;o=d+8|0;u=d;switch(r[i+48>>0]|0){case 108:{c=e;l=+b[i+32>>3];t=+b[e>>3];break}case 114:{l=+b[i+32>>3];n=l;f=5;break}default:{l=+b[i+32>>3];n=l*.5;f=5}}if((f|0)==5){t=+b[e>>3]-n;b[e>>3]=t;c=e}s=i+4|0;f=a[s>>2]|0;n=+b[f+16>>3];e=e+8|0;w=+b[e>>3]+n*.004629629629629629;b[e>>3]=w;l=t+l*.006944444444444444;b[c>>3]=l;f=a[f>>2]|0;do{if(f){e=a[46730]|0;if(e|0?(A1(e,f)|0)==0:0)break;a[u>>2]=pm(f)|0;gg(A,81173,u);u=a[s>>2]|0;a[46730]=a[u>>2];n=+b[u+16>>3]}}while(0);f=~~n;f=(f|0)>1?f:1;if((f|0)!=(a[46731]|0)){t=+b[19214];a[o>>2]=f;b[o+8>>3]=t;gg(A,81181,o);a[46731]=f}a[h>>2]=Um(a[i>>2]|0)|0;b[h+8>>3]=l;b[h+16>>3]=w;gg(A,81202,h);k=d;return}function Fm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0;r=k;k=k+48|0;f=r;l=+b[e>>3];c=(+b[e+16>>3]-l)*.027777777777777776;n=+b[e+8>>3];t=(+b[e+24>>3]-n)*.027777777777777776;a[f>>2]=1;a[f+4>>2]=i|0?81115:195059;b[f+8>>3]=c;b[f+16>>3]=t;b[f+24>>3]=l*.013888888888888888;b[f+32>>3]=n*.013888888888888888;gg(A,81121,f);k=r;return}function Vm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=k;k=k+16|0;Rm(a[A+16>>2]|0,r+8|0,r);Hm(A,e,i,1);k=r;return}function Jm(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0.0,C=0;v=k;k=k+128|0;B=v+112|0;h=v+104|0;o=v+96|0;r=v+88|0;w=v+16|0;u=v;c=a[A+16>>2]|0;t=m2((i*140|0)+140|0)|0;Rm(c,v+116|0,v+80|0);E=+b[e>>3];c=w+48|0;b[c>>3]=E;g=+b[e+8>>3];b[w+56>>3]=g;a[r>>2]=~~(E+(E>=0.0?.5:-.5));a[r+4>>2]=~~(g+(g>=0.0?.5:-.5));l=u+8|0;r=t+(P4(t,81099,r)|0)|0;d=1;n=0;while(1){s=n+3|0;if((s|0)>=(i|0))break;a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];f=1;while(1){if((f|0)==4){f=1;break}C=f+n|0;b[w+(f<<4)>>3]=+b[e+(C<<4)>>3];b[w+(f<<4)+8>>3]=+b[e+(C<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(u,w,3,+(f|0)*.16666666666666666,0,0);g=+b[u>>3];E=+b[l>>3];a[o>>2]=~~(g+(g>=0.0?.5:-.5));a[o+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,o)|0)|0}d=d+6|0;n=s}a[h>>2]=t;gg(A,81106,h);L2(t);f=d+-1|0;r=0;while(1){if((r|0)>=(d|0))break;a[B>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,B);r=r+1|0}kg(A,153599)|0;k=v;return}function Nm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=k;k=k+16|0;Rm(a[A+16>>2]|0,r+8|0,r);Hm(A,e,i,0);k=r;return}function Xm(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=81094;a[r+4>>2]=e;gg(A,81087,r);k=i;return}function Rm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function Hm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function pm(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;A:while(1){e=15828;while(1){i=a[e+4>>2]|0;if(!i)break;if(!(A1(i,A)|0)){n=6;break A}e=e+8|0}a[f>>2]=81255;a[f+4>>2]=A;ao(1,81229,f)|0;e=w3(A,45)|0;if(!e){e=81272;break}r[e>>0]=0}k=l;return e|0}function Um(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46732]|0;if(!e){a[46733]=64;e=m2(64)|0;a[46732]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46733]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46733]=e;e=y2(a[46732]|0,e)|0;a[46732]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46732]|0}function xm(){var A=0,e=0;A=k;k=k+16|0;e=A;a[e>>2]=81255;a[e+4>>2]=91269;ao(0,83634,e)|0;k=A;return}function Tm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0,c=0;r=k;k=k+32|0;f=r+8|0;t=r;e=e+8|0;c=a[e>>2]|0;a[t>>2]=c;a[t+4>>2]=c;gg(A,84223,t);l=(+b[i>>3]+ +b[i+16>>3])*.5;n=(+b[i+8>>3]+ +b[i+24>>3])*.5;a[f>>2]=a[e>>2];b[f+8>>3]=l;b[f+16>>3]=n;gg(A,84265,f);k=r;return}function jm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0.0,c=0.0;r=k;k=k+48|0;f=r;l=+b[i>>3];c=+b[i+16>>3]-l;n=+b[i+24>>3];t=n-+b[i+8>>3];n=+(~~(+b[A+232>>3]-+b[A+216>>3])>>>0)-n;a[f>>2]=a[e+8>>2];b[f+8>>3]=c;b[f+16>>3]=t;b[f+24>>3]=l;b[f+32>>3]=n;gg(A,84310,f);kg(A,84402)|0;k=r;return}function Sm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return}function Pm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0;v=k;k=k+160|0;B=v+152|0;d=v+136|0;h=v+120|0;c=v+112|0;w=v+104|0;s=v+88|0;t=v+72|0;l=v+64|0;u=v;if(!A)vA(111282,84407,212,84426);if(!e)vA(111312,84407,213,84426);o=e+8|0;if(!(a[o>>2]|0))vA(111315,84407,214,84426);if(a[e+52>>2]|0){a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];e=u+32|0;i=i+16|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];f=+b[u>>3];b[u+16>>3]=f;b[u+24>>3]=+b[u+40>>3];b[u+48>>3]=+b[e>>3];n=+b[u+8>>3];b[u+56>>3]=n;if(r<<24>>24){gg(A,84447,l);e=0;while(1){if((e|0)==4)break;g=+b[u+(e<<4)+8>>3];b[t>>3]=+b[u+(e<<4)>>3];b[t+8>>3]=g;gg(A,84450,t);e=e+1|0}b[s>>3]=f;b[s+8>>3]=n;gg(A,84450,s);s=a[o>>2]|0;a[w>>2]=4;a[w+4>>2]=s;gg(A,84457,w)}gg(A,84447,c);e=0;while(1){if((e|0)==4)break;g=+b[u+(e<<4)+8>>3];b[h>>3]=+b[u+(e<<4)>>3];b[h+8>>3]=g;gg(A,84450,h);e=e+1|0}b[d>>3]=f;b[d+8>>3]=n;gg(A,84450,d);d=a[o>>2]|0;a[B>>2]=4;a[B+4>>2]=d;gg(A,84472,B)}k=v;return}function Om(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+112|0;w=u+24|0;s=u+16|0;c=u;l=u+28|0;if(!A)vA(111282,84407,153,84488);if(!e)vA(111312,84407,154,84488);if(!(a[e+8>>2]|0))vA(111315,84407,155,84488);t=e+52|0;if(a[t>>2]|0){f=e+60|0;n=a[f>>2]|0;if((n|0)==100)n=18;else{F5[n&127](e);a[t>>2]=0;a[f>>2]=0;a[e+56>>2]=0;n=10}}else n=10;do{if((n|0)==10){if(!((Rg(e)|0)<<24>>24))break;f=t6(a[e+20>>2]|0)|0;if((a[e+24>>2]&-2|0)==6){D3(f,l)|0;l=a[l+36>>2]|0;a[e+56>>2]=l;f=T2(0,l,1,1,f,0)|0;a[t>>2]=f;r[e+16>>0]=1}else f=a[t>>2]|0;if(f|0)a[e+60>>2]=100;Hg(e);if(a[t>>2]|0)n=18}}while(0);if((n|0)==18){o=+b[i+8>>3]-+(a[e+36>>2]|0);b[c>>3]=+b[i>>3]-+(a[e+32>>2]|0);b[c+8>>3]=o;gg(A,84506,c);if(!(r[e+16>>0]|0)){a[s>>2]=a[e+12>>2];gg(A,84537,s)}else pJ(A,e);gg(A,84552,w)}k=u;return}function Km(A){A=A|0;U2(a[A+52>>2]|0,a[A+56>>2]|0)|0;return}function _m(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+80|0;f=n+48|0;if(!A)vA(111282,84407,121,84562);r=a[A+16>>2]|0;if(!r)vA(99902,84407,123,84562);if(!e)vA(111312,84407,124,84562);i=e+8|0;if(!(a[i>>2]|0))vA(111315,84407,125,84562);if(!(a[r+8>>2]|0))vA(138879,84407,128,84562);else{gg(A,84582,n);gg(A,84591,n+8|0);gg(A,84618,n+16|0);gg(A,84643,n+24|0);gg(A,84672,n+32|0);gg(A,84700,n+40|0);a[f>>2]=a[i>>2];gg(A,84707,f);gg(A,84746,n+56|0);gg(A,111008,n+64|0);k=n;return}}function qm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0.0;l=k;k=k+128|0;n=l+80|0;f=l;if(!A)vA(111282,84407,97,84751);if(!e)vA(111312,84407,98,84751);r=a[e+8>>2]|0;if(!r)vA(111315,84407,99,84751);else{s=+b[i>>3];t=~~(s+(s>=0.0?.5:-.5));s=+b[i+8>>3];e=~~(s+(s>=0.0?.5:-.5));s=+b[i+16>>3];c=~~(s+(s>=0.0?.5:-.5));s=+b[i+24>>3];i=~~(s+(s>=0.0?.5:-.5));a[f>>2]=2;a[f+4>>2]=5;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=-1;a[f+24>>2]=1;a[f+28>>2]=-1;a[f+32>>2]=0;b[f+40>>3]=0.0;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=5;a[f+72>>2]=0;a[f+76>>2]=r;gg(A,84770,f);a[n>>2]=t;a[n+4>>2]=e;a[n+8>>2]=t;a[n+12>>2]=i;a[n+16>>2]=c;a[n+20>>2]=i;a[n+24>>2]=c;a[n+28>>2]=e;a[n+32>>2]=t;a[n+36>>2]=e;gg(A,84828,n);k=l;return}}function $m(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0;u=k;k=k+96|0;w=u+56|0;s=u+32|0;c=u;l=+b[i>>3];t=+b[i+16>>3]-l;f=+b[i+24>>3];n=f-+b[i+8>>3];if(!A)vA(111282,84407,53,84860);if(!e)vA(111312,84407,54,84860);r=e+8|0;if(!(a[r>>2]|0))vA(111315,84407,55,84860);kg(A,84879)|0;kg(A,a[r>>2]|0)|0;r=A+360|0;f=-f;if(!(a[r>>2]|0)){b[w>>3]=t;b[w+8>>3]=n;b[w+16>>3]=l;b[w+24>>3]=f;gg(A,85008,w)}else{b[c>>3]=n;b[c+8>>3]=t;b[c+16>>3]=l;b[c+24>>3]=f;gg(A,84899,c);a[s>>2]=a[r>>2];b[s+8>>3]=l;b[s+16>>3]=f;gg(A,84978,s)}kg(A,85087)|0;k=u;return}function AL(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;eL(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;iL(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function eL(A){A=A|0;var e=0,i=0;Td(A,137447,304,1)|0;FR(A);DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);A=A+16|0;a[(a[A>>2]|0)+176>>2]=0;e=qF(20)|0;i=a[A>>2]|0;a[i+172>>2]=e;a[i+184>>2]=0;i=qF(20)|0;e=a[A>>2]|0;a[e+180>>2]=i;a[e+200>>2]=0;e=qF(12)|0;i=a[A>>2]|0;a[i+196>>2]=e;a[i+192>>2]=0;i=qF(12)|0;e=a[A>>2]|0;a[e+188>>2]=i;a[e+208>>2]=0;e=qF(12)|0;A=a[A>>2]|0;a[A+204>>2]=e;a[A+216>>2]=1;return}function iL(A){A=A|0;var e=0,i=0,n=0,l=0,t=0;Td(A,137460,176,1)|0;VR(A)|0;l=kR(A,a[47174]|0,1,0)|0;n=A+16|0;a[(a[n>>2]|0)+156>>2]=l;l=dR(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,a[47168]|0,195059)|0;t=dR(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,a[47168]|0,195059)|0;e=a[n>>2]|0;i=e+154|0;f[i>>1]=1;f[e+168>>1]=1;if((l|0)==(t|0)&(r[l>>0]|0)!=0){f[i>>1]=1e3;t=e+156|0;a[t>>2]=(a[t>>2]|0)*100}if(qY(A)|0){t=a[n>>2]|0;f[t+154>>1]=0;a[t+156>>2]=0}t=(kR(A,a[47187]|0,0,0)|0)&255;r[(a[n>>2]|0)+152>>0]=t;t=(kR(A,a[47175]|0,1,0)|0)&65535;f[(a[n>>2]|0)+170>>1]=t;return}function rL(A){A=A|0;var e=0,i=0;fL(a[(a[A+16>>2]|0)+192>>2]|0);i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}aL(i);i=bd(A,i)|0}nL(A);return}function fL(A){A=A|0;var e=0,i=0,f=0,n=0;while(1){if(!A)break;f=A+16|0;n=a[(a[f>>2]|0)+164>>2]|0;lL(A);e=a[f>>2]|0;if((r[e+156>>0]|0)!=1){A=n;continue}i=a[e+180>>2]|0;if(i){L2(i);e=a[f>>2]|0}i=a[e+172>>2]|0;if(i){L2(i);e=a[f>>2]|0}L2(e);L2(A);A=n}return}function aL(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=a[r>>2]|0;i=a[e+172>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+180>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+188>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+196>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+204>>2]|0;if(i){L2(i);e=a[r>>2]|0}TF(a[e+104>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);e=a[(a[r>>2]|0)+8>>2]|0;if(e|0)F5[a[(a[e+4>>2]|0)+4>>2]&127](A);Sd(A,137447)|0;return}function nL(A){A=A|0;var e=0,i=0,r=0;e=RB(A)|0;while(1){if(!e)break;nL(e);e=HB(e)|0}if(Td(A,137483,0,1)|0){r=A+16|0;e=a[r>>2]|0;i=a[e+184>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+268>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+216>>2]|0;if(i){L2(i);e=a[r>>2]|0}do{if(a[e+196>>2]|0){i=f[e+236>>1]|0;while(1){if((i|0)>(f[e+238>>1]|0))break;L2(a[(a[e+196>>2]|0)+(i<<6)+12>>2]|0);i=i+1|0;e=a[r>>2]|0}i=a[e+196>>2]|0;if((f[e+236>>1]|0)==-1){L2(i+-64|0);break}else{L2(i);break}}}while(0);if((Zd(A)|0)!=(A|0)){TF(a[(a[r>>2]|0)+12>>2]|0);Sd(A,137483)|0}}return}function lL(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=a[r>>2]|0;e=a[i+176>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=a[(a[i+172>>2]|0)+(A<<2)>>2]|0;CW(e);L2(a[e+16>>2]|0);L2(e);e=A;i=a[r>>2]|0}e=a[i+184>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=a[(a[(a[r>>2]|0)+180>>2]|0)+(A<<2)>>2]|0;CW(e);L2(a[e+16>>2]|0);L2(e);e=A}return}function tL(A){A=A|0;if(vh(A)|0)cL(A);VJ(A);return}function cL(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+48|0;n=l+32|0;f=l;e=sC(A,-1,8)|0;i=wC(A,0,f)|0;bC(A,2,8,f)|0;i=(i|0)==0;r=(e|0)<0;if(r&i)bL(A);else{if(i)a[f+16>>2]=3;else e=r?8:e;a[f+8>>2]=e;a[f+20>>2]=0;r=YE(A,n,0)|0;e=a[n>>2]|0;do{if((e|0)==1){bL(A);e=0}else{if(a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]|0){bL(A);e=0;break}a[f+12>>2]=1;i=0;while(1){if((i|0)>=(e|0))break;e=a[r+(i<<2)>>2]|0;sL(e,A);bL(e);i=i+1|0;e=a[n>>2]|0}wL(A);cC(a[n>>2]|0,r,A,f)|0;uL(A);kL(a[n>>2]|0,r,A);e=0}}while(0);while(1){if((e|0)>=(a[n>>2]|0))break;f=r+(e<<2)|0;L2(a[(a[(a[f>>2]|0)+16>>2]|0)+8>>2]|0);nL(a[f>>2]|0);Cd(A,a[f>>2]|0)|0;e=e+1|0}L2(r)}k=l;return}function bL(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+48|0;b=s+40|0;i=s;t=kR(A,Yo(A,0,85102,0)|0,-1,1)|0;zH(A,10);e=_Y(A,i)|0;hL(A,A);AL(A);r=(t|0)==1;n=i+32|0;l=(t|0)==2;t=(t|0)==3;c=i+28|0;i=i+24|0;while(1){Jz(A,e);if(r){e=3;break}if(a[n>>2]|0){ao(0,85108,b)|0;a[i>>2]=0;e=0}SW(A,(e|0)!=0&1);if(l){e=7;break}Ky(A,e);if(t){e=9;break}w=(a[c>>2]|0)+-1|0;a[c>>2]=w;if(!((w|0)!=0&(a[i>>2]|0)!=0)){e=11;break}}if((e|0)==3)dL(A,1);else if((e|0)==7)dL(A,2);else if((e|0)==9)dL(A,2);else if((e|0)==11){if(f[(a[A+16>>2]|0)+136>>1]&16)BL(A);zY(A);CL(A);if((gR(po(A,85199)|0)|0)<<24>>24)GD(A)}k=s;return}function sL(A,e){A=A|0;e=e|0;var i=0,f=0;Td(A,137483,280,1)|0;i=qF(96)|0;A=a[A+16>>2]|0;a[A+8>>2]=i;e=a[e+16>>2]|0;f=a[e+8>>2]|0;b[i>>3]=+b[f>>3];b[i+24>>3]=+b[f+24>>3];a[A+144>>2]=a[e+144>>2];r[A+115>>0]=r[e+115>>0]|0;a[A+116>>2]=a[e+116>>2];a[A+248>>2]=a[e+248>>2];a[A+252>>2]=a[e+252>>2];a[A+244>>2]=a[e+244>>2];return}function wL(A){A=A|0;var e=0,i=0,r=0;e=qF((vh(A)|0)<<4)|0;i=cd(A)|0;while(1){if(!i)break;r=a[i+16>>2]|0;a[r+132>>2]=e;b[e>>3]=+b[r+16>>3]*.013888888888888888;b[e+8>>3]=+b[r+24>>3]*.013888888888888888;e=e+16|0;i=bd(A,i)|0}return}function uL(A){A=A|0;var e=0,i=0,r=0,f=0;r=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;e=r;i=cd(A)|0;while(1){if(!i)break;f=a[i+16>>2]|0;a[f+132>>2]=0;b[f+16>>3]=+b[e>>3]*72.0;b[f+24>>3]=+b[e+8>>3]*72.0;e=e+16|0;i=bd(A,i)|0}L2(r);return}function kL(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;r=0;f=0;while(1){if((r|0)>=(A|0))break;t=(a[(a[(a[e+(r<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;r=r+1|0;f=t}t=i+16|0;a[(a[t>>2]|0)+180>>2]=f;n=qF((f<<2)+4|0)|0;a[(a[t>>2]|0)+184>>2]=n;n=0;r=1;while(1){if((n|0)>=(A|0))break;l=(a[e+(n<<2)>>2]|0)+16|0;f=1;while(1){i=a[l>>2]|0;if((f|0)>(a[i+180>>2]|0))break;i=zE(a[(a[i+184>>2]|0)+(f<<2)>>2]|0)|0;a[(a[(a[t>>2]|0)+184>>2]|0)+(r<<2)>>2]=i;oL(a[(a[(a[l>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,i);f=f+1|0;r=r+1|0}n=n+1|0}return}function oL(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;Td(e,137483,280,1)|0;n=e+16|0;e=(a[n>>2]|0)+16|0;f=A+16|0;A=(a[f>>2]|0)+16|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];a[e+16>>2]=a[A+16>>2];a[e+20>>2]=a[A+20>>2];a[e+24>>2]=a[A+24>>2];a[e+28>>2]=a[A+28>>2];A=a[f>>2]|0;e=a[n>>2]|0;r[e+275>>0]=r[A+275>>0]|0;e=e+48|0;A=A+48|0;i=e+64|0;do{a[e>>2]=a[A>>2];e=e+4|0;A=A+4|0}while((e|0)<(i|0));A=a[(a[f>>2]|0)+180>>2]|0;a[(a[n>>2]|0)+180>>2]=A;e=qF((A<<2)+4|0)|0;a[(a[n>>2]|0)+184>>2]=e;e=1;while(1){i=a[f>>2]|0;if((e|0)>(A|0))break;i=zE(a[(a[i+184>>2]|0)+(e<<2)>>2]|0)|0;a[(a[(a[n>>2]|0)+184>>2]|0)+(e<<2)>>2]=i;oL(a[(a[(a[f>>2]|0)+184>>2]|0)+(e<<2)>>2]|0,i);e=e+1|0}f=i+12|0;a[(a[n>>2]|0)+12>>2]=a[f>>2];a[f>>2]=0;return}function hL(A,e){A=A|0;e=e|0;if((Zd(A)|0)!=(A|0))Td(A,137483,280,1)|0;if((A|0)==(e|0))a[(a[(Zd(A)|0)+16>>2]|0)+188>>2]=A;A=RB(A)|0;while(1){if(!A)break;hL(A,e);A=HB(A)|0}return}function dL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+1040|0;b=s+8|0;c=s;r=s+16|0;f=Yo(A,1,87171,195059)|0;n=Yo(A,1,85242,195059)|0;l=(e|0)>0;i=(e|0)==1;e=cd(A)|0;while(1){if(!e)break;if(l?(t=e+16|0,a[c>>2]=a[(a[t>>2]|0)+232>>2],P4(r,137395,c)|0,Vo(e,f,r)|0,!i):0){a[b>>2]=a[(a[t>>2]|0)+236>>2];P4(r,137395,b)|0;Vo(e,n,r)|0}e=bd(A,e)|0}k=s;return}function BL(A){A=A|0;var e=0,i=0,r=0;i=XB(A,86675,0)|0;if(i|0){e=cd(i)|0;while(1){if(!e)break;r=bd(i,e)|0;yW(A,e);vL(A,e);aL(e);Ed(A,e)|0;e=r}UB(A,i)|0}return}function vL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=a[(a[e+16>>2]|0)+232>>2]|0;t=A+16|0;A=a[(a[t>>2]|0)+196>>2]|0;i=a[A+(c<<6)>>2]|0;l=A+(c<<6)+4|0;n=0;r=0;while(1){if((r|0)>=(i|0)){f=7;break}f=a[(a[l>>2]|0)+(r<<2)>>2]|0;r=r+1|0;if((f|0)==(e|0)){f=4;break}else n=f}if((f|0)==4){while(1){if((r|0)>=(i|0))break;f=a[A+(c<<6)+4>>2]|0;a[f+(r+-1<<2)>>2]=a[f+(r<<2)>>2];f=a[(a[t>>2]|0)+196>>2]|0;r=r+1|0;i=a[f+(c<<6)>>2]|0;A=f;f=4}a[A+(c<<6)>>2]=i+-1}else if((f|0)==7?(n|0)!=(e|0):0)vA(85208,85215,248,85225);return}function gL(A){A=A|0;return a[(a[(Zd(A)|0)+16>>2]|0)+188>>2]|0}function EL(A,e){A=A|0;e=e|0;var i=0;i=r[A+28>>0]|0;if(r[e+28>>0]|0)if(i<<24>>24){i=~~(+b[A>>3]-+b[e>>3]);if(!i)i=~~(+b[A+8>>3]-+b[e+8>>3])}else i=-1;else i=i<<24>>24!=0&1;return i|0}function CL(A){A=A|0;IL(A,1);return}function IL(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0.0;_=k;k=k+656|0;R=_+592|0;X=_+552|0;i=_+544|0;T=_+96|0;j=_;K=_+632|0;S=A+16|0;O=f[(a[S>>2]|0)+136>>1]&14;H=O&65535;p=T+16|0;a[p>>2]=_+368;U=j+16|0;a[U>>2]=_+192;do{if(O<<16>>16){x=O<<16>>16==4;do{if(x){ZL(A);if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1))Q=9;else{ao(0,85248,i)|0;Q=9}}else if(O<<16>>16==8){ZL(A);if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)){ce(A,0);w=0;s=0;c=0;break}else{GL(A);ce(A,1);w=0;s=0;c=0;break}}else Q=9}while(0);if((Q|0)==9){ID(A);if(PJ()|0)break;P=qF(96)|0;V=a[(a[S>>2]|0)+248>>2]|0;a[K+8>>2]=(V|0)/4|0;a[K+12>>2]=V;c=qF(512)|0;z=K+4|0;a[z>>2]=0;a[K>>2]=0;t=a[S>>2]|0;L=f[t+236>>1]|0;W=0;J=0;N=c;y=c;s=c;w=c;u=c;D=0;M=0;A:while(1){if((L|0)>(f[t+238>>1]|0))break;o=a[t+196>>2]|0;l=a[o+(L<<6)>>2]|0;Y=l+W|0;n=a[o+(L<<6)+4>>2]|0;i=a[n>>2]|0;if(!i)i=D;else{q=+(D|0);i=a[i+16>>2]|0;Z=+b[i+16>>3]-+b[i+88>>3];i=~~(Z>q?q:Z)}if((l|0)!=0?(F=a[n+(l+-1<<2)>>2]|0,(F|0)!=0):0){Z=+(M|0);n=a[F+16>>2]|0;q=+b[n+96>>3]+ +b[n+16>>3];n=~~(q=(l|0))break;c=a[(a[i+(L<<6)+4>>2]|0)+(I<<2)>>2]|0;C=c+16|0;i=a[C>>2]|0;l=a[i+112>>2]|0;if(l){l=l+16|0;t=a[(a[l>>2]|0)+96>>2]|0;if(!t){Q=21;break A}B=t+56|0;i=i+16|0;a[B>>2]=a[i>>2];a[B+4>>2]=a[i+4>>2];a[B+8>>2]=a[i+8>>2];a[B+12>>2]=a[i+12>>2];r[(a[(a[l>>2]|0)+96>>2]|0)+81>>0]=1;i=a[C>>2]|0}if((r[i+156>>0]|0)!=0?(Q5[a[17300>>2]&63](c)|0)<<24>>24==0:0){h=v;i=d;t=g;c=E;l=u}else{B=0;h=v;t=g;c=E;Q=25}e:do{if((Q|0)==25){while(1){Q=0;o=a[C>>2]|0;l=a[(a[o+180>>2]|0)+(B<<2)>>2]|0;if(!l)break;switch(r[(a[l+16>>2]|0)+112>>0]|0){case 6:case 4:{i=h;l=d;break}default:{QL(l,1,16,64);i=h+1|0;a[d+(h<<2)>>2]=l;if(!(i&127)){n=eV(n,(h<<2)+516|0)|0;l=n;t=n;c=n;w=n;u=n}else l=d}}B=B+1|0;h=i;d=l;Q=25}i=a[o+188>>2]|0;i:do{if(!i)l=u;else{B=0;l=u;while(1){i=a[i+(B<<2)>>2]|0;if(!i)break i;QL(i,2,0,128);u=h+1|0;a[d+(h<<2)>>2]=i;if(!(u&127)){n=eV(l,(h<<2)+516|0)|0;i=n;t=n;c=n;w=n;l=n}else i=d;o=a[C>>2]|0;B=B+1|0;h=u;d=i;i=a[o+188>>2]|0}}}while(0);i=a[o+204>>2]|0;if(!i)i=d;else{if(!(r[o+156>>0]|0)){E=o+96|0;q=+b[E>>3];B=o+240|0;b[E>>3]=+b[B>>3];b[B>>3]=q;B=0;o=d}else{B=0;o=d}while(1){i=a[i+(B<<2)>>2]|0;if(!i){i=o;break e}QL(i,0,0,128);u=h+1|0;a[o+(h<<2)>>2]=i;if(!(u&127)){n=eV(w,(h<<2)+516|0)|0;i=n;t=n;c=n;w=n;l=n}else i=o;B=B+1|0;h=u;o=i;i=a[(a[C>>2]|0)+204>>2]|0}}}}while(0);g=a[S>>2]|0;C=a[g+196>>2]|0;I=I+1|0;v=h;d=i;h=g;g=t;E=c;u=l;l=a[C+(L<<6)>>2]|0;i=C}L=L+1|0;W=Y;J=v;N=d;y=g;t=h;s=E;c=n;D=m;M=G}if((Q|0)==21)vA(85316,85329,313,85342);a[K>>2]=D;a[z>>2]=M;K4(y,J,4,58);a[P+84>>2]=qF((W<<5)+11520|0)|0;a[K+16>>2]=qF(L<<5)|0;A:do{if(O<<16>>16==2){i=(a[S>>2]|0)+192|0;while(1){n=a[i>>2]|0;if(!n)break A;l=n+16|0;i=a[l>>2]|0;if((r[i+156>>0]|0)==1?(a[i+104>>2]|0)!=0:0){LL(n);i=a[l>>2]|0}i=i+164|0}}}while(0);G=j+48|0;Q=j+-48|0;m=T+48|0;L=T+-48|0;Z=+(V|0);I=0;A:while(1){if((I|0)>=(J|0))break;E=N+(I<<2)|0;d=a[E>>2]|0;B=WL(d)|0;v=d+16|0;n=a[v>>2]|0;if(!(r[n+44>>0]|0)){n=(r[n+84>>0]|0)==0?B:d;i=n;n=a[n+16>>2]|0}else i=d;l=i+16|0;if(a[n+164>>2]&32){n=a[p>>2]|0;y6(n|0,a[l>>2]|0,176)|0;w=T;u=i;o=w+48|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));a[p>>2]=n;u=a[i>>2]&3;w=a[T>>2]&3;a[((w|0)==3?T:m)+40>>2]=a[((u|0)==2?i:i+-48|0)+40>>2];a[((w|0)==2?T:L)+40>>2]=a[((u|0)==3?i:i+48|0)+40>>2];w=n+16|0;u=(a[l>>2]|0)+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=n+56|0;u=(a[l>>2]|0)+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));r[n+112>>0]=1;a[n+116>>2]=i;i=T}h=i+16|0;C=1;i=I;while(1){g=i+1|0;if((g|0)>=(J|0))break;t=N+(g<<2)|0;i=a[t>>2]|0;if((B|0)!=(WL(i)|0))break;if(!(r[(a[v>>2]|0)+113>>0]|0)){c=i+16|0;n=a[c>>2]|0;if(!(r[n+44>>0]|0)){n=(r[n+84>>0]|0)==0?B:i;i=n;n=a[n+16>>2]|0}l=i+16|0;if(a[n+164>>2]&32){n=a[U>>2]|0;y6(n|0,a[l>>2]|0,176)|0;w=j;u=i;o=w+48|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));a[U>>2]=n;u=a[i>>2]&3;w=a[j>>2]&3;a[((w|0)==3?j:G)+40>>2]=a[((u|0)==2?i:i+-48|0)+40>>2];a[((w|0)==2?j:Q)+40>>2]=a[((u|0)==3?i:i+48|0)+40>>2];w=n+16|0;u=(a[l>>2]|0)+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=n+56|0;u=(a[l>>2]|0)+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));r[n+112>>0]=1;a[n+116>>2]=i}l=a[h>>2]|0;i=n+16|0;w=X;u=l+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=R;u=i;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));if(EL(X,R)|0)break;i=n+56|0;w=X;u=l+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=R;u=i;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));if(EL(X,R)|0)break;V=a[v>>2]|0;if((a[V+164>>2]&15|0)==2?(a[V+96>>2]|0)!=(a[(a[c>>2]|0)+96>>2]|0):0)break;if(a[(a[(a[t>>2]|0)+16>>2]|0)+164>>2]&64|0)break}C=C+1|0;i=g}if(x){if((C|0)==1)i=R;else i=qF(C<<2)|0;a[i>>2]=WL(a[E>>2]|0)|0;n=1;while(1){if((n|0)>=(C|0))break;a[i+(n<<2)>>2]=a[E+(n<<2)>>2];n=n+1|0}fN(A,i,C,H,17296);if((C|0)>1)L2(i);I=g;continue}i=a[d>>2]&3;V=a[((i|0)==3?d:d+48|0)+40>>2]|0;i=a[((i|0)==2?d:d+-48|0)+40>>2]|0;n=a[V+16>>2]|0;l=a[n+232>>2]|0;if((V|0)!=(i|0))if((l|0)==(a[(a[i+16>>2]|0)+232>>2]|0)){yL(A,K,P,N,I,C,H);I=g;continue}else{zL(A,K,P,N,I,C,H);I=g;continue}i=a[S>>2]|0;do{if((l|0)==(f[i+238>>1]|0))if((l|0)>0){i=~~(+b[(a[(a[a[(a[i+196>>2]|0)+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[n+24>>3]);break}else{i=~~+b[n+80>>3];break}else if((l|0)==(f[i+236>>1]|0)){i=~~(+b[n+24>>3]-+b[(a[(a[a[(a[i+196>>2]|0)+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{i=a[i+196>>2]|0;q=+b[n+24>>3];V=~~(+b[(a[(a[a[i+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-q);i=~~(q-+b[(a[(a[a[i+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);i=(V|0)<(i|0)?V:i;break}}while(0);LX(P,N,I,C,Z,+((i|0)/2|0|0),17296);i=0;while(1){if((i|0)>=(C|0)){I=g;continue A}n=a[(a[(a[N+(i+I<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(n|0)pR(A,n);i=i+1|0}}i=(a[S>>2]|0)+192|0;while(1){n=a[i>>2]|0;if(!n)break;l=n+16|0;i=a[l>>2]|0;if((r[i+156>>0]|0)==1?(a[i+104>>2]|0)!=0:0){LL(n);pR(A,a[(a[l>>2]|0)+104>>2]|0);i=a[l>>2]|0}i=i+164|0}if(!e){w=P;c=P}else{YL(A);w=P;c=P}}A:do{if((a[47197]|0)!=0|(a[47198]|0)!=0?(a[47203]|0)!=0|(a[47202]|0)!=0:0){t=cd(A)|0;while(1){if(!t)break A;e:do{if(a[47197]|0){i=qo(A,t)|0;while(1){if(!i)break e;n=i+-48|0;l=(a[i>>2]&3|0)==2?i:n;if(a[(a[l+16>>2]|0)+100>>2]|0){VX(l,1)|0;pR(A,a[(a[((a[i>>2]&3|0)==2?i:n)+16>>2]|0)+100>>2]|0)}i=$o(A,i)|0}}}while(0);e:do{if(a[47198]|0){i=Oo(A,t)|0;while(1){if(!i)break e;n=i+16|0;if(a[(a[n>>2]|0)+104>>2]|0?VX(i,0)|0:0)pR(A,a[(a[n>>2]|0)+104>>2]|0);i=_o(A,i)|0}}}while(0);t=bd(A,t)|0}}}while(0);switch(O&15){case 4:case 8:break;default:{L2(s);L2(a[w+84>>2]|0);L2(c);L2(a[K+16>>2]|0);OJ()}}a[47138]=1;a[47139]=1}}while(0);k=_;return}function ZL(A){A=A|0;var e=0,i=0,r=0.0,f=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;if(a[i+204>>2]|0){f=i+96|0;r=+b[f>>3];i=i+240|0;b[f>>3]=+b[i>>3];b[i>>3]=r}e=bd(A,e)|0}return}function GL(A){A=A|0;var e=0,i=0,f=0,n=0;e=(a[A+16>>2]|0)+192|0;A:while(1){f=a[e>>2]|0;if(!f){e=12;break}n=f+16|0;e=a[n>>2]|0;do{if((r[e+156>>0]|0)==1){i=a[e+112>>2]|0;if(!i){i=a[e+104>>2]|0;if(!i)break;LL(f);e=i}else{i=a[(a[i+16>>2]|0)+96>>2]|0;if(!i){e=6;break A}f=i+56|0;e=e+16|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];r[i+81>>0]=1;e=i}pR(A,e);e=a[n>>2]|0}}while(0);e=e+164|0}if((e|0)==6)vA(85516,85329,234,85535);else if((e|0)==12)return}function QL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0;do{if(!e){n=a[A>>2]&3;e=a[((n|0)==3?A:A+48|0)+40>>2]|0;n=a[((n|0)==2?A:A+-48|0)+40>>2]|0;if((e|0)!=(n|0)){e=(a[(a[e+16>>2]|0)+232>>2]|0)==(a[(a[n+16>>2]|0)+232>>2]|0)?2:1;break}e=a[A+16>>2]|0;if(!(r[e+44>>0]|0))e=(r[e+84>>0]|0)==0?8:4;else e=4}}while(0);A:do{if(!i)switch(e|0){case 1:{i=a[A>>2]&3;i=(a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break A}case 2:{i=a[A>>2]&3;i=(a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break A}default:{i=16;break A}}}while(0);a[(a[A+16>>2]|0)+164>>2]=e|f|i;return}function mL(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;W=k;k=k+624|0;G=W+584|0;Z=W+544|0;B=W+368|0;i=W+192|0;v=W+96|0;E=W;g=v+16|0;a[g>>2]=B;C=E+16|0;a[C>>2]=i;L=a[A>>2]|0;m=a[e>>2]|0;I=L+16|0;h=a[I>>2]|0;e=a[h+164>>2]|0;f=e&15;Q=m+16|0;A=a[Q>>2]|0;n=a[A+164>>2]&15;do{if((n|0)==(f|0)){o=WL(L)|0;d=WL(m)|0;w=a[o>>2]|0;n=w&3;f=a[(a[((n|0)==3?o:o+48|0)+40>>2]|0)+16>>2]|0;n=a[(a[((n|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0;l=(a[f+232>>2]|0)-(a[n+232>>2]|0)|0;u=a[d>>2]|0;s=u&3;c=a[(a[((s|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;s=a[(a[((s|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;t=(a[c+232>>2]|0)-(a[s+232>>2]|0)|0;l=(l|0)>-1?l:0-l|0;t=(t|0)>-1?t:0-t|0;if((l|0)!=(t|0)){A=l-t|0;break}n=~~(+b[f+16>>3]-+b[n+16>>3]);n=(n|0)>-1?n:0-n|0;f=~~(+b[c+16>>3]-+b[s+16>>3]);f=(f|0)>-1?f:0-f|0;if((n|0)!=(f|0)){A=n-f|0;break}n=w>>>4;f=u>>>4;if((n|0)!=(f|0)){A=n-f|0;break}if(!(r[h+44>>0]|0)){e=(r[h+84>>0]|0)==0?o:L;n=e;e=a[(a[e+16>>2]|0)+164>>2]|0}else n=L;f=n+16|0;if(e&32){y6(B|0,a[f>>2]|0,176)|0;l=v;t=n;c=l+48|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));a[g>>2]=B;t=a[n>>2]&3;l=a[v>>2]&3;a[((l|0)==3?v:v+48|0)+40>>2]=a[((t|0)==2?n:n+-48|0)+40>>2];a[((l|0)==2?v:v+-48|0)+40>>2]=a[((t|0)==3?n:n+48|0)+40>>2];l=B+16|0;t=(a[f>>2]|0)+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=B+56|0;t=(a[f>>2]|0)+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[B+112>>0]=1;a[B+116>>2]=n;n=v;A=a[Q>>2]|0}if(!(r[A+44>>0]|0)){A=(r[A+84>>0]|0)==0?d:m;f=A;A=a[A+16>>2]|0}else f=m;e=f+16|0;if(!(a[A+164>>2]&32))i=A;else{y6(i|0,a[e>>2]|0,176)|0;l=E;t=f;c=l+48|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));a[C>>2]=i;t=a[f>>2]&3;l=a[E>>2]&3;a[((l|0)==3?E:E+48|0)+40>>2]=a[((t|0)==2?f:f+-48|0)+40>>2];a[((l|0)==2?E:E+-48|0)+40>>2]=a[((t|0)==3?f:f+48|0)+40>>2];l=i+16|0;t=(a[e>>2]|0)+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=i+56|0;t=(a[e>>2]|0)+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[i+112>>0]=1;a[i+116>>2]=f}e=a[n+16>>2]|0;A=i+16|0;l=Z;t=e+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=G;t=A;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=EL(Z,G)|0;if(!A){A=i+56|0;l=Z;t=e+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=G;t=A;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=EL(Z,G)|0;if(!A){e=a[(a[I>>2]|0)+164>>2]&192;A=a[(a[Q>>2]|0)+164>>2]&192;if((e|0)==(A|0)){A=((a[L>>2]|0)>>>4)-((a[m>>2]|0)>>>4)|0;break}else{A=e-A|0;break}}}}else A=n-f|0}while(0);k=W;return A|0}function LL(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0;f=A+16|0;e=a[f>>2]|0;if(a[e+176>>2]|0){e=a[e+180>>2]|0;while(1){e=(a[e>>2]|0)+16|0;i=a[e>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}i=a[i+96>>2]|0;n=+b[i+24>>3];l=+b[i+32>>3];i=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=a[f>>2]|0;f=a[(a[e>>2]|0)+96>>2]|0;b[f+56>>3]=(i?l:n)*.5+ +b[A+16>>3];b[f+64>>3]=+b[A+24>>3];r[f+81>>0]=1}return}function WL(A){A=A|0;var e=0,i=0;while(1){e=a[A+16>>2]|0;i=a[e+172>>2]|0;if(!i)break;else A=i}while(1){e=a[e+116>>2]|0;if(!e)break;A=e;e=a[e+16>>2]|0}return A|0}function yL(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0,y=0.0,z=0.0,Y=0.0;m=k;k=k+1712|0;I=m+1664|0;B=m+1488|0;v=m+1392|0;Q=m+1696|0;Z=m+696|0;G=m;o=v+16|0;a[o>>2]=B;h=a[f+(n<<2)>>2]|0;d=h+16|0;c=a[d>>2]|0;g=r[c+113>>0]|0;if(a[c+164>>2]&32){y6(B|0,c|0,176)|0;c=v;w=h;u=c+48|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));a[o>>2]=B;c=a[v>>2]&3;a[((c|0)==3?v:v+48|0)+40>>2]=a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2];a[((c|0)==2?v:v+-48|0)+40>>2]=a[((a[h>>2]&3|0)==3?h:h+48|0)+40>>2];c=B+16|0;w=(a[d>>2]|0)+56|0;u=c+40|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));c=B+56|0;w=(a[d>>2]|0)+16|0;u=c+40|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));r[B+112>>0]=1;a[B+116>>2]=h;h=v}c=1;while(1){if((c|0)>=(l|0)){C=6;break}if(!(r[(a[(a[f+(c+n<<2)>>2]|0)+16>>2]|0)+113>>0]|0))c=c+1|0;else{C=7;break}}A:do{if((C|0)==6)if(!(g<<24>>24)){c=a[h+16>>2]|0;if(a[c+96>>2]|0){iW(A,e,i,h,t);break}if((t|0)==2){Q=a[h>>2]&3;rW(a[((Q|0)==3?h:h+48|0)+40>>2]|0,a[((Q|0)==2?h:h+-48|0)+40>>2]|0,f,n,l,2);break}v=r[c+49>>0]|0;g=r[c+89>>0]|0;if(!(v<<24>>24==1&g<<24>>24!=4)?!(v<<24>>24!=4&g<<24>>24==1):0){o=a[h>>2]&3;u=a[((o|0)==3?h:h+48|0)+40>>2]|0;o=a[((o|0)==2?h:h+-48|0)+40>>2]|0;c=a[u+16>>2]|0;w=a[c+232>>2]|0;if((w|0)>0){g=a[(a[A+16>>2]|0)+196>>2]|0;v=w+~(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;s=+b[(a[(a[a[g+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[g+(v<<6)+16>>3]-+b[c+24>>3]-+b[g+(w<<6)+24>>3]}else s=+(a[(a[A+16>>2]|0)+252>>2]|0);L=+(l+1|0);E=+(a[e+12>>2]|0)/L;s=s/L;aW(A,e,i,u,h,Z,1);aW(A,e,i,o,h,G,0);B=Z+52|0;v=G+52|0;o=(t|0)==10;h=i+80|0;c=0;while(1){if((c|0)>=(l|0))break A;d=a[f+(c+n<<2)>>2]|0;u=a[B>>2]|0;w=u+-1|0;Y=+b[Z+56+(w<<5)>>3];z=+b[Z+56+(w<<5)+16>>3];y=+b[Z+56+(w<<5)+24>>3];b[19215]=Y;b[19216]=y;c=c+1|0;L=+(c|0);W=E*L;b[19217]=z+W;L=y+s*L;b[19218]=L;b[19219]=Y;b[19220]=L;w=(a[v>>2]|0)+-1|0;Y=+b[G+56+(w<<5)+16>>3];b[19221]=Y;b[19222]=L+s;y=+b[G+56+(w<<5)>>3];z=+b[G+56+(w<<5)+24>>3];b[19225]=Y;b[19224]=z;b[19223]=y-W;b[19226]=L;w=0;while(1){if((w|0)>=(u|0)){w=0;break}u=Z+56+(w<<5)|0;a[I>>2]=a[u>>2];a[I+4>>2]=a[u+4>>2];a[I+8>>2]=a[u+8>>2];a[I+12>>2]=a[u+12>>2];a[I+16>>2]=a[u+16>>2];a[I+20>>2]=a[u+20>>2];a[I+24>>2]=a[u+24>>2];a[I+28>>2]=a[u+28>>2];CX(i,I);w=w+1|0;u=a[B>>2]|0}while(1){if((w|0)==3)break;t=153720+(w<<5)|0;a[I>>2]=a[t>>2];a[I+4>>2]=a[t+4>>2];a[I+8>>2]=a[t+8>>2];a[I+12>>2]=a[t+12>>2];a[I+16>>2]=a[t+16>>2];a[I+20>>2]=a[t+20>>2];a[I+24>>2]=a[t+24>>2];a[I+28>>2]=a[t+28>>2];CX(i,I);w=w+1|0}u=a[v>>2]|0;while(1){w=u+-1|0;if((u|0)<=0)break;u=G+56+(w<<5)|0;a[I>>2]=a[u>>2];a[I+4>>2]=a[u+4>>2];a[I+8>>2]=a[u+8>>2];a[I+12>>2]=a[u+12>>2];a[I+16>>2]=a[u+16>>2];a[I+20>>2]=a[u+20>>2];a[I+24>>2]=a[u+24>>2];a[I+28>>2]=a[u+28>>2];CX(i,I);u=w}if(o)w=KJ(i,Q)|0;else w=iN(i,Q)|0;u=a[Q>>2]|0;if(!u)break A;gX(d,a[((a[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,w,u,17296);a[h>>2]=0}}fW(A,e,i,f,n,l,h,(t|0)==10&1)}else C=7}while(0);if((C|0)==7)eW(A,f,n,l,h,t);k=m;return}function zL(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0;eA=k;k=k+2576|0;x=eA+2528|0;q=eA+2568|0;c=eA+2352|0;w=eA+2176|0;v=eA+1904|0;K=eA+1808|0;$=eA+1712|0;T=eA+1016|0;j=eA+320|0;S=eA+256|0;O=eA+2564|0;_=eA+2560|0;G=eA+288|0;Q=eA+224|0;J=eA+192|0;N=eA+160|0;X=eA+128|0;R=eA+96|0;H=eA+64|0;p=eA+32|0;P=eA;B=v+16|0;a[B>>2]=c;u=K+16|0;a[u>>2]=w;AA=$+16|0;a[AA>>2]=eA+2e3;if(!(a[46734]|0)){a[46734]=$F(32e3)|0;a[46735]=$F(32e3)|0;a[46736]=2e3;a[46737]=2e3}g=a[f+(n<<2)>>2]|0;V=a[g>>2]&3;o=g+48|0;h=g+-48|0;V=(a[(a[(a[((V|0)==3?g:o)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((V|0)==2?g:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;d=g+16|0;if((((V|0)>-1?V:0-V|0)|0)<=1){c=a[d>>2]|0;if(!(a[c+164>>2]&32)){V=g;w=0}else{w=a[B>>2]|0;y6(w|0,c|0,176)|0;C=v;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[B>>2]=w;C=a[v>>2]&3;a[((C|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];a[((C|0)==2?v:v+-48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=w+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[B>>2]|0;C=c+56|0;I=(a[d>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;w=0;F=12}}else{y6(c|0,a[d>>2]|0,176)|0;C=v;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));C=v+48|0;I=o;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[B>>2]=c;c=a[d>>2]|0;if(!(a[c+164>>2]&32)){y6(w|0,c|0,176)|0;C=K;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[u>>2]=w;u=a[v>>2]|0;a[((u&3|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=K+48|0;I=o;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0))}else{w=a[u>>2]|0;y6(w|0,c|0,176)|0;C=K;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[u>>2]=w;C=a[K>>2]&3;a[((C|0)==3?K:K+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];a[((C|0)==2?K:K+-48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=w+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[u>>2]|0;C=c+56|0;I=(a[d>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;a[c+116>>2]=g;u=a[v>>2]|0;a[((u&3|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];C=(a[B>>2]|0)+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0))}c=WL(g)|0;while(1){w=a[(a[c+16>>2]|0)+172>>2]|0;if(!w)break;else c=w}a[((u&3|0)==2?v:v+-48|0)+40>>2]=a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2];c=a[B>>2]|0;r[c+84>>0]=0;r[c+112>>0]=1;w=c+56|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;w=1;F=12}if((F|0)==12){a[c+116>>2]=g;V=v}D=(t|0)==2;if(D?(E=FL(A,V,a[46734]|0,q)|0,a[_>>2]=E,(E|0)!=0):0)F=63;else F=15;A:do{if((F|0)==15){Y=(t|0)==10;a[_>>2]=0;u=a[V>>2]&3;c=a[((u|0)==3?V:V+48|0)+40>>2]|0;u=a[((u|0)==2?V:V+-48|0)+40>>2]|0;a[q>>2]=u;VL(G,A,e,c,0,V);a[T>>2]=a[G>>2];a[T+4>>2]=a[G+4>>2];a[T+8>>2]=a[G+8>>2];a[T+12>>2]=a[G+12>>2];a[T+16>>2]=a[G+16>>2];a[T+20>>2]=a[G+20>>2];a[T+24>>2]=a[G+24>>2];a[T+28>>2]=a[G+28>>2];a[S>>2]=a[G>>2];a[S+4>>2]=a[G+4>>2];a[S+8>>2]=a[G+8>>2];a[S+12>>2]=a[G+12>>2];a[S+16>>2]=a[G+16>>2];a[S+20>>2]=a[G+20>>2];IX(i,V,1,T,JL(c)|0);m=T+52|0;M=(a[m>>2]|0)+-1|0;W=S+24|0;b[W>>3]=+b[T+56+(M<<5)+24>>3];y=S+8|0;b[y>>3]=+b[T+56+(M<<5)+8>>3];M=a[c+16>>2]|0;z=A+16|0;s=+b[M+24>>3]-+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[M+232>>2]<<6)+16>>3];a[x>>2]=a[S>>2];a[x+4>>2]=a[S+4>>2];a[x+8>>2]=a[S+8>>2];a[x+12>>2]=a[S+12>>2];a[x+16>>2]=a[S+16>>2];a[x+20>>2]=a[S+20>>2];a[x+24>>2]=a[S+24>>2];a[x+28>>2]=a[S+28>>2];NL(Q,x,1,s);a[S>>2]=a[Q>>2];a[S+4>>2]=a[Q+4>>2];a[S+8>>2]=a[Q+8>>2];a[S+12>>2]=a[Q+12>>2];a[S+16>>2]=a[Q+16>>2];a[S+20>>2]=a[Q+20>>2];a[S+24>>2]=a[Q+24>>2];a[S+28>>2]=a[Q+28>>2];Q=S+16|0;if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){M=a[m>>2]|0;a[m>>2]=M+1;M=T+56+(M<<5)|0;a[M>>2]=a[S>>2];a[M+4>>2]=a[S+4>>2];a[M+8>>2]=a[S+8>>2];a[M+12>>2]=a[S+12>>2];a[M+16>>2]=a[S+16>>2];a[M+20>>2]=a[S+20>>2];a[M+24>>2]=a[S+24>>2];a[M+28>>2]=a[S+28>>2]}C=A+60|0;L=j+52|0;I=i+56|0;Z=i+69|0;t=i+16|0;G=i+29|0;M=V;h=0;d=-1;e:while(1){B=c;v=0;c=0;g=M;while(1){o=u;E=u;if((r[(a[o+16>>2]|0)+156>>0]|0)!=1)break e;if((Q5[a[17300>>2]&63](o)|0)<<24>>24)break e;u=v|1;iA=153720+(v<<5)|0;XL(J,e,A,a[(a[B+16>>2]|0)+232>>2]|0);a[iA>>2]=a[J>>2];a[iA+4>>2]=a[J+4>>2];a[iA+8>>2]=a[J+8>>2];a[iA+12>>2]=a[J+12>>2];a[iA+16>>2]=a[J+16>>2];a[iA+20>>2]=a[J+20>>2];a[iA+24>>2]=a[J+24>>2];a[iA+28>>2]=a[J+28>>2];if(!c){h=RL(o)|0;c=(h|0)<((r[(a[(a[C>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);h=c?h:h+-2|0;d=c?d:1;c=(c^1)&1}if(!((c|0)==0|(d|0)>0))break;iA=153720+(u<<5)|0;VL(N,A,e,o,g,a[a[(a[o+16>>2]|0)+180>>2]>>2]|0);a[iA>>2]=a[N>>2];a[iA+4>>2]=a[N+4>>2];a[iA+8>>2]=a[N+8>>2];a[iA+12>>2]=a[N+12>>2];a[iA+16>>2]=a[N+16>>2];a[iA+20>>2]=a[N+20>>2];a[iA+24>>2]=a[N+24>>2];a[iA+28>>2]=a[N+28>>2];iA=a[a[(a[E+16>>2]|0)+180>>2]>>2]|0;u=a[iA>>2]&3;B=a[((u|0)==3?iA:iA+48|0)+40>>2]|0;u=a[((u|0)==2?iA:iA+-48|0)+40>>2]|0;a[q>>2]=u;v=v+2|0;d=d+-1|0;g=iA}VL(X,A,e,o,g,a[a[(a[o+16>>2]|0)+180>>2]>>2]|0);a[j>>2]=a[X>>2];a[j+4>>2]=a[X+4>>2];a[j+8>>2]=a[X+8>>2];a[j+12>>2]=a[X+12>>2];a[j+16>>2]=a[X+16>>2];a[j+20>>2]=a[X+20>>2];a[j+24>>2]=a[X+24>>2];a[j+28>>2]=a[X+28>>2];QX(i,g,1,j,JL(a[((a[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)|0);iA=j+56+((a[L>>2]|0)+-1<<5)|0;v=a[E+16>>2]|0;s=+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[v+232>>2]<<6)+24>>3]+ +b[v+24>>3];a[x>>2]=a[iA>>2];a[x+4>>2]=a[iA+4>>2];a[x+8>>2]=a[iA+8>>2];a[x+12>>2]=a[iA+12>>2];a[x+16>>2]=a[iA+16>>2];a[x+20>>2]=a[iA+20>>2];a[x+24>>2]=a[iA+24>>2];a[x+28>>2]=a[iA+28>>2];NL(S,x,4,s);if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[L>>2]|0;a[L>>2]=iA+1;iA=j+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}b[I>>3]=1.5707963267948966;r[Z>>0]=1;HL(i,M,g,T,j,u);if(!Y){c=iN(i,O)|0;u=a[O>>2]|0;if(D&(u|0)>4){iA=c+16|0;a[iA>>2]=a[c>>2];a[iA+4>>2]=a[c+4>>2];a[iA+8>>2]=a[c+8>>2];a[iA+12>>2]=a[c+12>>2];iA=c+32|0;u=c+(u+-1<<4)|0;a[iA>>2]=a[u>>2];a[iA+4>>2]=a[u+4>>2];a[iA+8>>2]=a[u+8>>2];a[iA+12>>2]=a[u+12>>2];z6(c+48|0,u|0,16)|0;a[O>>2]=4;u=4}else F=33}else{c=KJ(i,O)|0;u=a[O>>2]|0;F=33}if((F|0)==33){F=0;if(!u)break A}g=a[_>>2]|0;o=g+u|0;if((o|0)>(a[46736]|0)){a[46736]=o<<1;v=eV(a[46734]|0,o<<5)|0;a[46734]=v;u=a[O>>2]|0}else v=a[46734]|0;B=0;o=g;while(1){if((B|0)>=(u|0))break;iA=v+(o<<4)|0;g=c+(B<<4)|0;a[iA>>2]=a[g>>2];a[iA+4>>2]=a[g+4>>2];a[iA+8>>2]=a[g+8>>2];a[iA+12>>2]=a[g+12>>2];B=B+1|0;o=o+1|0}a[_>>2]=o;u=pL(a[a[(a[E+16>>2]|0)+180>>2]>>2]|0,h,v,_)|0;UL(M,i);o=a[u>>2]&3;c=a[((o|0)==3?u:u+48|0)+40>>2]|0;o=a[((o|0)==2?u:u+-48|0)+40>>2]|0;a[q>>2]=o;M=c+16|0;VL(R,A,e,c,a[a[(a[M>>2]|0)+172>>2]>>2]|0,u);a[T>>2]=a[R>>2];a[T+4>>2]=a[R+4>>2];a[T+8>>2]=a[R+8>>2];a[T+12>>2]=a[R+12>>2];a[T+16>>2]=a[R+16>>2];a[T+20>>2]=a[R+20>>2];a[T+24>>2]=a[R+24>>2];a[T+28>>2]=a[R+28>>2];IX(i,u,1,T,JL(c)|0);iA=T+56+((a[m>>2]|0)+-1<<5)|0;M=a[M>>2]|0;s=+b[M+24>>3]-+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[M+232>>2]<<6)+16>>3];a[x>>2]=a[iA>>2];a[x+4>>2]=a[iA+4>>2];a[x+8>>2]=a[iA+8>>2];a[x+12>>2]=a[iA+12>>2];a[x+16>>2]=a[iA+16>>2];a[x+20>>2]=a[iA+20>>2];a[x+24>>2]=a[iA+24>>2];a[x+28>>2]=a[iA+28>>2];NL(S,x,1,s);if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[m>>2]|0;a[m>>2]=iA+1;iA=T+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}b[t>>3]=-1.5707963267948966;r[G>>0]=1;M=u;u=o}c=v|1;d=153720+(v<<5)|0;XL(H,e,A,a[(a[B+16>>2]|0)+232>>2]|0);a[d>>2]=a[H>>2];a[d+4>>2]=a[H+4>>2];a[d+8>>2]=a[H+8>>2];a[d+12>>2]=a[H+12>>2];a[d+16>>2]=a[H+16>>2];a[d+20>>2]=a[H+20>>2];a[d+24>>2]=a[H+24>>2];a[d+28>>2]=a[H+28>>2];VL(p,A,e,o,g,0);a[j>>2]=a[p>>2];a[j+4>>2]=a[p+4>>2];a[j+8>>2]=a[p+8>>2];a[j+12>>2]=a[p+12>>2];a[j+16>>2]=a[p+16>>2];a[j+20>>2]=a[p+20>>2];a[j+24>>2]=a[p+24>>2];a[j+28>>2]=a[p+28>>2];a[S>>2]=a[p>>2];a[S+4>>2]=a[p+4>>2];a[S+8>>2]=a[p+8>>2];a[S+12>>2]=a[p+12>>2];a[S+16>>2]=a[p+16>>2];a[S+20>>2]=a[p+20>>2];a[S+24>>2]=a[p+24>>2];a[S+28>>2]=a[p+28>>2];d=(w|0)!=0;B=g+-48|0;QX(i,d?K:g,1,j,JL(a[((a[g>>2]&3|0)==2?g:B)+40>>2]|0)|0);iA=(a[L>>2]|0)+-1|0;b[W>>3]=+b[j+56+(iA<<5)+24>>3];b[y>>3]=+b[j+56+(iA<<5)+8>>3];iA=a[E+16>>2]|0;s=+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[iA+232>>2]<<6)+24>>3]+ +b[iA+24>>3];a[x>>2]=a[S>>2];a[x+4>>2]=a[S+4>>2];a[x+8>>2]=a[S+8>>2];a[x+12>>2]=a[S+12>>2];a[x+16>>2]=a[S+16>>2];a[x+20>>2]=a[S+20>>2];a[x+24>>2]=a[S+24>>2];a[x+28>>2]=a[S+28>>2];NL(P,x,4,s);a[S>>2]=a[P>>2];a[S+4>>2]=a[P+4>>2];a[S+8>>2]=a[P+8>>2];a[S+12>>2]=a[P+12>>2];a[S+16>>2]=a[P+16>>2];a[S+20>>2]=a[P+20>>2];a[S+24>>2]=a[P+24>>2];a[S+28>>2]=a[P+28>>2];if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[L>>2]|0;a[L>>2]=iA+1;iA=j+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}HL(i,M,g,T,j,c);if(Y)h=KJ(i,O)|0;else h=iN(i,O)|0;c=a[O>>2]|0;if(!(D&(c|0)>4)){if(!c)break}else{iA=h+16|0;a[iA>>2]=a[h>>2];a[iA+4>>2]=a[h+4>>2];a[iA+8>>2]=a[h+8>>2];a[iA+12>>2]=a[h+12>>2];iA=h+32|0;c=h+(c+-1<<4)|0;a[iA>>2]=a[c>>2];a[iA+4>>2]=a[c+4>>2];a[iA+8>>2]=a[c+8>>2];a[iA+12>>2]=a[c+12>>2];z6(h+48|0,c|0,16)|0;a[O>>2]=4;c=4}u=a[_>>2]|0;w=u+c|0;if((w|0)>(a[46736]|0)){a[46736]=w<<1;o=eV(a[46734]|0,w<<5)|0;a[46734]=o;c=a[O>>2]|0}else o=a[46734]|0;w=0;while(1){if((w|0)>=(c|0))break;iA=o+(u<<4)|0;O=h+(w<<4)|0;a[iA>>2]=a[O>>2];a[iA+4>>2]=a[O+4>>2];a[iA+8>>2]=a[O+8>>2];a[iA+12>>2]=a[O+12>>2];w=w+1|0;u=u+1|0}a[_>>2]=u;UL(M,i);if(d)c=(a[K>>2]&3|0)==2?K:K+-48|0;else c=(a[g>>2]&3|0)==2?g:B;a[q>>2]=a[c+40>>2];E=u;F=63}}while(0);A:do{if((F|0)==63){if((l|0)==1){gX(V,a[q>>2]|0,a[46734]|0,E,17296);break}v=e+12|0;g=E+-1|0;s=+((U(a[v>>2]|0,l+-1|0)|0)/2|0|0);w=a[46734]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=w+(c<<4)|0;b[iA>>3]=+b[iA>>3]-s;c=c+1|0}c=a[46736]|0;if((c|0)>(a[46737]|0)){a[46737]=c;u=eV(a[46735]|0,c<<4)|0;a[46735]=u;w=a[46734]|0}else u=a[46735]|0;c=0;while(1){if((c|0)>=(E|0))break;iA=u+(c<<4)|0;e=w+(c<<4)|0;a[iA>>2]=a[e>>2];a[iA+4>>2]=a[e+4>>2];a[iA+8>>2]=a[e+8>>2];a[iA+12>>2]=a[e+12>>2];c=c+1|0}gX(V,a[q>>2]|0,u,E,17296);d=$+48|0;B=$+-48|0;h=1;while(1){if((h|0)>=(l|0))break A;u=a[f+(h+n<<2)>>2]|0;o=u+16|0;c=a[o>>2]|0;if(a[c+164>>2]&32){w=a[AA>>2]|0;y6(w|0,c|0,176)|0;C=$;I=u;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[AA>>2]=w;C=a[$>>2]&3;a[((C|0)==3?$:d)+40>>2]=a[((a[u>>2]&3|0)==2?u:u+-48|0)+40>>2];a[((C|0)==2?$:B)+40>>2]=a[((a[u>>2]&3|0)==3?u:u+48|0)+40>>2];C=w+16|0;I=(a[o>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[AA>>2]|0;C=c+56|0;I=(a[o>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;a[c+116>>2]=u;u=$}o=a[46734]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=o+(c<<4)|0;b[iA>>3]=+b[iA>>3]+ +(a[v>>2]|0);c=c+1|0}w=a[46735]|0;c=0;while(1){if((c|0)>=(E|0))break;iA=w+(c<<4)|0;q=o+(c<<4)|0;a[iA>>2]=a[q>>2];a[iA+4>>2]=a[q+4>>2];a[iA+8>>2]=a[q+8>>2];a[iA+12>>2]=a[q+12>>2];c=c+1|0}gX(u,a[((a[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0,w,E,17296);h=h+1|0}}}while(0);k=eA;return}function YL(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;if((Q5[a[4324]&63](i)|0)<<24>>24?(r=a[(a[i+16>>2]|0)+8>>2]|0,r|0):0)DL(r);i=_o(A,i)|0}e=bd(A,e)|0}return}function DL(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[A+4>>2]|0;n=$F(f*48|0)|0;e=n;i=0;r=(a[A>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((i|0)>=(f|0)){e=0;break}ML(r,e);e=e+48|0;i=i+1|0;r=r+-48|0}while(1){i=a[A>>2]|0;if((e|0)>=(f|0))break;L2(a[i+(e*48|0)>>2]|0);e=e+1|0}L2(i);a[A>>2]=n;return}function ML(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=a[A+4>>2]|0;l=$F(n<<4)|0;i=l;r=0;f=(a[A>>2]|0)+(n+-1<<4)|0;while(1){if((r|0)>=(n|0))break;a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2];i=i+16|0;r=r+1|0;f=f+-16|0}a[e>>2]=l;a[e+4>>2]=n;a[e+8>>2]=a[A+12>>2];a[e+12>>2]=a[A+8>>2];l=e+16|0;n=A+32|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];l=e+32|0;n=A+16|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];return}function FL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+96|0;h=I+80|0;B=I+64|0;d=I+48|0;g=I+32|0;E=I+16|0;C=I;s=e;while(1){v=s+16|0;n=a[v>>2]|0;if(!(r[n+112>>0]|0))break;s=a[n+116>>2]|0}n=a[s>>2]&3;u=a[((n|0)==2?s:s+-48|0)+40>>2]|0;n=a[((n|0)==3?s:s+48|0)+40>>2]|0;s=u+16|0;w=n+16|0;Z=(a[(a[s>>2]|0)+232>>2]|0)-(a[(a[w>>2]|0)+232>>2]|0)|0;switch(((Z|0)>-1?Z:0-Z|0)|0){case 1:{n=0;break}case 2:{if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1))o=6;else n=0;break}default:o=6}do{if((o|0)==6){if((a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(n|0)){a[f>>2]=u;Z=(a[w>>2]|0)+16|0;o=(a[v>>2]|0)+16|0;a[B>>2]=a[Z>>2];a[B+4>>2]=a[Z+4>>2];a[B+8>>2]=a[Z+8>>2];a[B+12>>2]=a[Z+12>>2];a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];$L(g,B,h);o=(a[s>>2]|0)+16|0;Z=(a[v>>2]|0)+56|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];$L(E,B,h)}else{a[f>>2]=n;Z=(a[s>>2]|0)+16|0;o=(a[v>>2]|0)+56|0;a[B>>2]=a[Z>>2];a[B+4>>2]=a[Z+4>>2];a[B+8>>2]=a[Z+8>>2];a[B+12>>2]=a[Z+12>>2];a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];$L(g,B,h);o=(a[w>>2]|0)+16|0;Z=(a[v>>2]|0)+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];$L(E,B,h)}n=a[(a[v>>2]|0)+96>>2]|0;if(!n){n=i+16|0;a[i>>2]=a[g>>2];a[i+4>>2]=a[g+4>>2];a[i+8>>2]=a[g+8>>2];a[i+12>>2]=a[g+12>>2];a[n>>2]=a[g>>2];a[n+4>>2]=a[g+4>>2];a[n+8>>2]=a[g+8>>2];a[n+12>>2]=a[g+12>>2];n=i+48|0;Z=i+32|0;a[Z>>2]=a[E>>2];a[Z+4>>2]=a[E+4>>2];a[Z+8>>2]=a[E+8>>2];a[Z+12>>2]=a[E+12>>2];a[n>>2]=a[E>>2];a[n+4>>2]=a[E+4>>2];a[n+8>>2]=a[E+8>>2];a[n+12>>2]=a[E+12>>2];n=4;break}t=+b[n+24>>3];l=+b[n+32>>3];o=(a[(a[(Id(u)|0)+16>>2]|0)+116>>2]&1|0)==0;c=o?l:t;Z=(a[(a[v>>2]|0)+96>>2]|0)+56|0;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[d>>2]=a[E>>2];a[d+4>>2]=a[E+4>>2];a[d+8>>2]=a[E+8>>2];a[d+12>>2]=a[E+12>>2];a[B>>2]=a[g>>2];a[B+4>>2]=a[g+4>>2];a[B+8>>2]=a[g+8>>2];a[B+12>>2]=a[g+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];Z=(AW(d,B,h)|0)==0;l=(o?t:l)*.5;t=+b[C>>3];if(Z){b[C>>3]=t-l;Z=C+8|0;b[Z>>3]=+b[Z>>3]+c*.5}else{b[C>>3]=t+l;Z=C+8|0;b[Z>>3]=+b[Z>>3]-c*.5}n=i+16|0;a[i>>2]=a[g>>2];a[i+4>>2]=a[g+4>>2];a[i+8>>2]=a[g+8>>2];a[i+12>>2]=a[g+12>>2];a[n>>2]=a[g>>2];a[n+4>>2]=a[g+4>>2];a[n+8>>2]=a[g+8>>2];a[n+12>>2]=a[g+12>>2];n=i+32|0;Z=i+48|0;g=i+64|0;a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];a[n>>2]=a[C>>2];a[n+4>>2]=a[C+4>>2];a[n+8>>2]=a[C+8>>2];a[n+12>>2]=a[C+12>>2];n=i+80|0;Z=i+96|0;a[Z>>2]=a[E>>2];a[Z+4>>2]=a[E+4>>2];a[Z+8>>2]=a[E+8>>2];a[Z+12>>2]=a[E+12>>2];a[n>>2]=a[E>>2];a[n+4>>2]=a[E+4>>2];a[n+8>>2]=a[E+8>>2];a[n+12>>2]=a[E+12>>2];n=7}}while(0);k=I;return n|0}function VL(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0,s=0,w=0.0,u=0,k=0.0,o=0.0,h=0;h=a[f+16>>2]|0;o=+b[h+16>>3];t=o-+b[h+88>>3];w=t+-4.0;s=OL(e,f,n,l,-1)|0;if(!s){u=~~(t+(w>=0.0?-3.5:-4.5));c=a[i>>2]|0;c=(c|0)>(u|0)?u:c}else{c=KL(e,f,s)|0;do{if(!c){u=a[s+16>>2]|0;t=+b[u+240>>3]+ +b[u+16>>3];if(!(r[u+156>>0]|0)){t=+(a[(a[e+16>>2]|0)+248>>2]|0)*.5+t;break}else{t=t+ +(a[i+8>>2]|0);break}}else t=+b[(a[c+16>>2]|0)+32>>3]+ +(a[i+8>>2]|0)}while(0);k=t=0.0?.5:-.5))}k=+(c|0);u=(r[h+156>>0]|0)==1;if(u?(a[h+104>>2]|0)!=0:0)w=o+10.0;else w=o+4.0+ +b[h+96>>3];s=OL(e,f,n,l,1)|0;if(!s){f=~~(w+(w>=0.0?.5:-.5));c=a[i+4>>2]|0;c=(c|0)<(f|0)?f:c}else{c=KL(e,f,s)|0;do{if(!c){f=a[s+16>>2]|0;t=+b[f+16>>3]-+b[f+88>>3];if(!(r[f+156>>0]|0)){t=t-+(a[(a[e+16>>2]|0)+248>>2]|0)*.5;break}else{t=t-+(a[i+8>>2]|0);break}}else t=+b[(a[c+16>>2]|0)+16>>3]-+(a[i+8>>2]|0)}while(0);w=t>w?t:w;c=~~(w+(w>=0.0?.5:-.5))}t=+(c|0);if(u?(a[h+104>>2]|0)!=0:0){t=t-+b[h+96>>3];if(t>3];e=a[(a[e+16>>2]|0)+196>>2]|0;h=a[h+232>>2]|0;w=o-+b[e+(h<<6)+16>>3];o=+b[e+(h<<6)+24>>3]+o;b[A>>3]=k;b[A+8>>3]=w;b[A+16>>3]=t;b[A+24>>3]=o;return}function JL(A){A=A|0;A=a[A+16>>2]|0;if((r[A+156>>0]|0)==1)if((a[A+176>>2]|0)>1)A=1;else A=(a[A+184>>2]|0)>1&1;else A=0;return A|0}function NL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0;n=k;k=k+32|0;f=n;switch(i|0){case 1:{PL(f,+b[e>>3],r,+b[e+16>>3],+b[e+8>>3]);break}case 4:{PL(f,+b[e>>3],+b[e+24>>3],+b[e+16>>3],r);break}default:{}}a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];a[A+16>>2]=a[f+16>>2];a[A+20>>2]=a[f+20>>2];a[A+24>>2]=a[f+24>>2];a[A+28>>2]=a[f+28>>2];k=n;return}function XL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0;s=a[e+16>>2]|0;c=s+(r<<5)|0;t=+b[c>>3];w=s+(r<<5)+8|0;n=+b[w>>3];u=s+(r<<5)+16|0;f=+b[u>>3];s=s+(r<<5)+24|0;l=+b[s>>3];if(t==f){i=a[(a[i+16>>2]|0)+196>>2]|0;k=r+1|0;t=+(a[e>>2]|0);n=+b[i+(k<<6)+24>>3]+ +b[(a[(a[a[i+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(a[e+4>>2]|0);l=+b[(a[(a[a[i+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[i+(r<<6)+16>>3];b[c>>3]=t;b[w>>3]=n;b[u>>3]=f;b[s>>3]=l}b[A>>3]=t;b[A+8>>3]=n;b[A+16>>3]=f;b[A+24>>3]=l;return}function RL(A){A=A|0;var e=0,i=0;A=a[A+16>>2]|0;i=A+16|0;e=0;while(1){A=a[a[A+180>>2]>>2]|0;A=a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;if((r[A+156>>0]|0)!=1)break;if((a[A+184>>2]|0)!=1)break;if((a[A+176>>2]|0)!=1)break;if(+b[A+16>>3]!=+b[i>>3])break;e=e+1|0}return e|0}function HL(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=k;k=k+32|0;c=b;l=TL(e,-1)|0;e=TL(e,1)|0;if(!((l|0)!=0?!(JX(l)|0):0))t=3;do{if((t|0)==3){if(e|0?(JX(e)|0)==0:0)break;l=jL(i,-1)|0;e=jL(i,1)|0;if(l|0?(JX(l)|0)==0:0)break;if(e|0?(JX(e)|0)==0:0)break;l=r+52|0;e=0;while(1){if((e|0)>=(a[l>>2]|0))break;i=r+56+(e<<5)|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[c+16>>2]=a[i+16>>2];a[c+20>>2]=a[i+20>>2];a[c+24>>2]=a[i+24>>2];a[c+28>>2]=a[i+28>>2];CX(A,c);e=e+1|0}l=a[A+80>>2]|0;t=n+-3|0;e=0;while(1){if((e|0)>=(n|0))break;r=153720+(e<<5)|0;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[c+16>>2]=a[r+16>>2];a[c+20>>2]=a[r+20>>2];a[c+24>>2]=a[r+24>>2];a[c+28>>2]=a[r+28>>2];CX(A,c);e=e+1|0}i=l+1|0;t=t+i|0;l=a[f+52>>2]|0;while(1){e=l+-1|0;if((l|0)<=0)break;l=f+56+(e<<5)|0;a[c>>2]=a[l>>2];a[c+4>>2]=a[l+4>>2];a[c+8>>2]=a[l+8>>2];a[c+12>>2]=a[l+12>>2];a[c+16>>2]=a[l+16>>2];a[c+20>>2]=a[l+20>>2];a[c+24>>2]=a[l+24>>2];a[c+28>>2]=a[l+28>>2];CX(A,c);l=e}SL(A,i,t)}}while(0);k=b;return}function pL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=a[r>>2]|0;while(1){if(!e)break;A=a[a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;e=e+-1|0}a[r>>2]=f+1;n=i+(f<<4)|0;e=i+(f+-1<<4)|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];f=a[r>>2]|0;a[r>>2]=f+1;f=i+(f<<4)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];f=i+(a[r>>2]<<4)|0;r=(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];return A|0}function UL(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0;w=e+84|0;s=e+80|0;i=0;e=A;A:while(1){t=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;c=t+16|0;if((r[(a[c>>2]|0)+156>>0]|0)!=1)break;if((Q5[a[17300>>2]&63](t)|0)<<24>>24)break;e=a[s>>2]|0;while(1){if((i|0)>=(e|0))break A;if(!(+b[(a[w>>2]|0)+(i<<5)+8>>3]>+b[(a[c>>2]|0)+24>>3]))break;i=i+1|0}e=a[w>>2]|0;A=a[c>>2]|0;do{if(!(+b[e+(i<<5)+24>>3]<+b[A+24>>3])){n=+b[e+(i<<5)>>3];l=~~n;f=+b[e+(i<<5)+16>>3];if(!(a[A+104>>2]|0)){xL(t,l,~~((f+n)*.5),~~f);break}else{xL(t,l,~~f,~~(+b[A+96>>3]+f));break}}}while(0);e=a[a[(a[c>>2]|0)+180>>2]>>2]|0}return}function xL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[A+16>>2]|0;b[A+16>>3]=+(i|0);b[A+88>>3]=+(i-e|0);b[A+96>>3]=+(r-i|0);return}function TL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=a[(a[(a[((l|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;l=((l|0)==2?A:A+-48|0)+40|0;n=0;A=0;while(1){r=a[t+(n<<2)>>2]|0;if(!r)break;f=a[(a[(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((U(f-(a[(a[(a[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=a[r+16>>2]|0;if(!(a[i+8>>2]|0)){i=a[i+116>>2]|0;if(!i)break;if(!(a[(a[i+16>>2]|0)+8>>2]|0))break}if(A|0?(U((a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);n=n+1|0}return A|0}function jL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=a[(a[(a[((l|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;l=((l|0)==3?A:A+48|0)+40|0;n=0;A=0;while(1){r=a[t+(n<<2)>>2]|0;if(!r)break;f=a[(a[(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((U(f-(a[(a[(a[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=a[r+16>>2]|0;if(!(a[i+8>>2]|0)){i=a[i+116>>2]|0;if(!i)break;if(!(a[(a[i+16>>2]|0)+8>>2]|0))break}if(A|0?(U((a[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);n=n+1|0}return A|0}function SL(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=A+84|0;l=e+-1|0;while(1){if((l|0)>(i|0))break;f=a[s>>2]|0;t=f+(l<<5)|0;r=+b[t>>3];if(!(l-e&1)){f=f+(l<<5)+16|0;w=+b[f>>3];n=~~((w+r)*.5);if(r>=w){b[t>>3]=+(n+-8|0);b[f>>3]=+(n+8|0)}}else{f=f+(l<<5)+16|0;w=+b[f>>3];n=~~((w+r)*.5);if(r+16.0>w){b[t>>3]=+(n+-8|0);b[f>>3]=+(n+8|0)}}l=l+1|0}c=(a[A+80>>2]|0)+-1|0;n=0;while(1){if((n|0)>=(c|0))break;l=a[s>>2]|0;f=l+(n<<5)|0;t=n+1|0;A=l+(t<<5)|0;if(!((n|0)<(e|0)|(n|0)>(i|0))?(n-e&1|0)==0:0){r=+b[f>>3]+16.0;f=l+(t<<5)+16|0;if(r>+b[f>>3])b[f>>3]=r;r=+b[l+(n<<5)+16>>3]+-16.0;if(!(r<+b[A>>3])){n=t;continue}b[A>>3]=r;n=t;continue}if(!((n|0)<(i|0)&(t|0)>=(e|0))){n=t;continue}if(t-e&1|0){n=t;continue}r=+b[l+(t<<5)+16>>3];if(+b[f>>3]+16.0>r)b[f>>3]=r+-16.0;f=l+(n<<5)+16|0;r=+b[A>>3];if(!(+b[f>>3]+-16.0>3]=r+16.0;n=t}return}function PL(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function OL(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=a[(a[A+16>>2]|0)+196>>2]|0;l=a[e+16>>2]|0;c=a[l+232>>2]|0;t=b+(c<<6)|0;c=b+(c<<6)+4|0;l=a[l+236>>2]|0;A:do{l=l+n|0;if((l|0)<=-1){A=0;break}if((l|0)>=(a[t>>2]|0)){A=0;break}A=a[(a[c>>2]|0)+(l<<2)>>2]|0;b=a[A+16>>2]|0;switch(r[b+156>>0]|0){case 0:break A;case 1:{if(a[b+104>>2]|0)break A;break}default:{}}}while((qL(A,e,i,f)|0)<<24>>24!=0);return A|0}function KL(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;e=a[e+16>>2]|0;if(!(r[e+156>>0]|0)){t=a[e+212>>2]|0;l=t}else{t=a[(a[(a[a[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=a[t>>2]&3;l=a[(a[(a[((n|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;t=a[(a[(a[((n|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}e=a[i+16>>2]|0;if(!(r[e+156>>0]|0)){i=a[e+212>>2]|0;i=(i|0)==(A|0)?0:i;return((i|0)==(l|0)|((i|0)==0|(i|0)==(t|0))?0:i)|0}f=a[(a[(a[a[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=a[f>>2]&3;e=a[(a[(a[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if(!(!((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))?(_L(e,i)|0)!=0:0)){e=a[(a[(a[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))e=0;else{i=(_L(e,i)|0)==0;return(i?0:e)|0}}return e|0}function _L(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=a[A+16>>2]|0;A=a[e+16>>2]|0;f=+b[A+16>>3];if((+b[i+16>>3]<=f?f<=+b[i+32>>3]:0)?(r=+b[A+24>>3],+b[i+24>>3]<=r):0)A=r<=+b[i+40>>3]&1;else A=0;return A|0}function qL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;t=a[A+16>>2]|0;c=(a[t+236>>2]|0)>(a[(a[e+16>>2]|0)+236>>2]|0);A:do{if((a[t+184>>2]|0)==1){e:do{if(f|0){l=0;A=a[a[t+180>>2]>>2]|0;while(1){if((l|0)>=2)break e;A=a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;e=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((A|0)==(e|0))break e;n=a[A+16>>2]|0;A=a[e+16>>2]|0;if(c^(a[n+236>>2]|0)>(a[A+236>>2]|0)){A=1;break A}if((a[n+184>>2]|0)!=1)break e;if(!(r[n+156>>0]|0))break e;if((a[A+184>>2]|0)!=1)break e;if(!(r[A+156>>0]|0))break e;l=l+1|0;f=a[a[A+180>>2]>>2]|0;A=a[a[n+180>>2]>>2]|0}}}while(0);if(i|0?(a[t+176>>2]|0)==1:0){n=0;e=i;A=a[a[t+172>>2]>>2]|0;while(1){if((n|0)>=2){A=0;break A}A=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;e=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((A|0)==(e|0)){A=0;break A}f=a[A+16>>2]|0;A=a[e+16>>2]|0;if(c^(a[f+236>>2]|0)>(a[A+236>>2]|0)){A=1;break A}if((a[f+176>>2]|0)!=1){A=0;break A}if(!(r[f+156>>0]|0)){A=0;break A}if((a[A+176>>2]|0)!=1){A=0;break A}if(!(r[A+156>>0]|0)){A=0;break A}n=n+1|0;e=a[a[A+172>>2]>>2]|0;A=a[a[f+172>>2]>>2]|0}}else A=0}else A=0}while(0);return A|0}function $L(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function AW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];return(~~((+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r))|0)>0|0}function eW(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0;U=k;k=k+256|0;W=U+232|0;L=U+216|0;H=U+88|0;R=U+80|0;V=U+64|0;J=U+200|0;N=U+184|0;X=U;y=U+168|0;z=U+152|0;Y=U+136|0;D=U+120|0;M=U+104|0;m=a[n>>2]&3;F=a[((m|0)==3?n:n+48|0)+40>>2]|0;m=a[((m|0)==2?n:n+-48|0)+40>>2]|0;do{if((sN(F)|0)!=2?(sN(m)|0)!=2:0){n=0;t=0;c=0;while(1){if((c|0)>=(f|0))break;Q=a[(a[e+(c+i<<2)>>2]|0)+16>>2]|0;n=n+((a[Q+96>>2]|0)!=0&1)|0;if(!((r[Q+44>>0]|0)==0?(r[Q+84>>0]|0)==0:0))t=1;c=c+1|0}if(!t)if(!n){rW(F,m,e,i,f,l);break}else{tW(F,m,e,i,f,l,n);break}Z=qF(156)|0;G=cW(A,Z)|0;v=XB(G,85478,1)|0;Td(v,137483,280,1)|0;xo(v,87171,87185)|0;s=+b[(a[m+16>>2]|0)+16>>3];B=+b[(a[F+16>>2]|0)+16>>3];Q=A+16|0;h=(a[(a[Q>>2]|0)+116>>2]&1|0)==0;d=h?m:F;h=h?F:m;v=bW(v,h)|0;g=bW(G,d)|0;n=0;o=0;while(1){if((o|0)>=(f|0))break;t=e+(o+i<<2)|0;while(1){u=a[t>>2]|0;w=u+16|0;t=a[w>>2]|0;if(!(r[t+112>>0]|0))break;else t=t+116|0}if((a[((a[u>>2]&3|0)==3?u:u+48|0)+40>>2]|0)==(h|0))c=sW(G,v,g,u)|0;else c=sW(G,g,v,u)|0;t=a[w>>2]|0;a[t+120>>2]=c;if(!n)if((r[t+44>>0]|0)==0?(r[t+84>>0]|0)==0:0){a[(a[c+16>>2]|0)+120>>2]=u;n=c}else n=0;o=o+1|0}if(!n)I=th(G,v,g,0,1)|0;else I=n;Vo(I,a[47174]|0,85482)|0;n=G+16|0;w=a[n>>2]|0;a[w+144>>2]=a[(a[Q>>2]|0)+144>>2];a[w+188>>2]=G;zH(G,l);AL(G);Jz(G,0);SW(G,0);Ky(G,0);h=h+16|0;l=a[h>>2]|0;w=a[d+16>>2]|0;d=v+16|0;u=a[d>>2]|0;o=u+16|0;E=+(~~s|0);C=+(~~((+b[(a[g+16>>2]|0)+16>>3]+ +b[o>>3])*.5)|0);s=+(~~B|0);B=+(~~((+b[l+16>>3]-+b[l+96>>3]+ +b[w+16>>3]+ +b[w+88>>3])*.5)|0);w=u+24|0;n=(a[n>>2]|0)+192|0;while(1){t=a[n>>2]|0;if(!t)break;do{if((t|0)!=(v|0)){n=a[t+16>>2]|0;c=n+24|0;if((t|0)==(g|0)){b[c>>3]=s;b[n+16>>3]=C;break}else{b[c>>3]=B;break}}else{b[w>>3]=E;b[o>>3]=C;n=u}}while(0);n=n+164|0}zY(G);IL(G,0);VJ(G);c=a[h>>2]|0;n=a[d>>2]|0;if(!(a[(a[Q>>2]|0)+116>>2]&1)){t=n+16|0;s=+b[c+24>>3]-+b[n+24>>3]}else{t=n+24|0;s=+b[n+16>>3]+ +b[c+24>>3]}b[V>>3]=+b[c+16>>3]-+b[t>>3];b[V+8>>3]=s;l=X+16|0;v=X+32|0;g=X+48|0;d=0;while(1){if((d|0)>=(f|0))break;n=e+(d+i<<2)|0;while(1){t=a[n>>2]|0;h=t+16|0;n=a[h>>2]|0;if(!(r[n+112>>0]|0))break;else n=n+116|0}u=a[n+120>>2]|0;o=u+16|0;n=a[o>>2]|0;if(!((u|0)==(I|0)&(a[n+120>>2]|0)==0)){w=a[a[n+8>>2]>>2]|0;u=w+4|0;t=vX(t,a[u>>2]|0)|0;a[t+8>>2]=a[w+8>>2];n=t+16|0;c=w+16|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(J,L,W,x);a[n>>2]=a[J>>2];a[n+4>>2]=a[J+4>>2];a[n+8>>2]=a[J+8>>2];a[n+12>>2]=a[J+12>>2];a[t+12>>2]=a[w+12>>2];n=t+32|0;x=w+32|0;c=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[x>>2];a[L+4>>2]=a[x+4>>2];a[L+8>>2]=a[x+8>>2];a[L+12>>2]=a[x+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(N,L,W,c);a[n>>2]=a[N>>2];a[n+4>>2]=a[N+4>>2];a[n+8>>2]=a[N+8>>2];a[n+12>>2]=a[N+12>>2];n=0;while(1){if((n|0)>=(a[u>>2]|0))break;c=(a[t>>2]|0)+(n<<4)|0;T=(a[w>>2]|0)+(n<<4)|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[T>>2];a[L+4>>2]=a[T+4>>2];a[L+8>>2]=a[T+8>>2];a[L+12>>2]=a[T+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(y,L,W,x);a[c>>2]=a[y>>2];a[c+4>>2]=a[y+4>>2];a[c+8>>2]=a[y+8>>2];a[c+12>>2]=a[y+12>>2];a[X>>2]=a[y>>2];a[X+4>>2]=a[y+4>>2];a[X+8>>2]=a[y+8>>2];a[X+12>>2]=a[y+12>>2];c=n+1|0;if((c|0)>=(a[u>>2]|0)){p=48;break}x=(a[t>>2]|0)+(c<<4)|0;c=(a[w>>2]|0)+(c<<4)|0;T=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(z,L,W,T);a[x>>2]=a[z>>2];a[x+4>>2]=a[z+4>>2];a[x+8>>2]=a[z+8>>2];a[x+12>>2]=a[z+12>>2];a[l>>2]=a[z>>2];a[l+4>>2]=a[z+4>>2];a[l+8>>2]=a[z+8>>2];a[l+12>>2]=a[z+12>>2];x=n+2|0;T=(a[t>>2]|0)+(x<<4)|0;x=(a[w>>2]|0)+(x<<4)|0;c=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[x>>2];a[L+4>>2]=a[x+4>>2];a[L+8>>2]=a[x+8>>2];a[L+12>>2]=a[x+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(Y,L,W,c);a[T>>2]=a[Y>>2];a[T+4>>2]=a[Y+4>>2];a[T+8>>2]=a[Y+8>>2];a[T+12>>2]=a[Y+12>>2];a[v>>2]=a[Y>>2];a[v+4>>2]=a[Y+4>>2];a[v+8>>2]=a[Y+8>>2];a[v+12>>2]=a[Y+12>>2];T=n+3|0;c=(a[w>>2]|0)+(T<<4)|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(D,L,W,x);a[g>>2]=a[D>>2];a[g+4>>2]=a[D+4>>2];a[g+8>>2]=a[D+8>>2];a[g+12>>2]=a[D+12>>2];sI((a[Q>>2]|0)+16|0,X);n=T}if((p|0)==48)p=0;n=a[(a[h>>2]|0)+96>>2]|0;if(n|0){T=n+56|0;o=(a[(a[o>>2]|0)+96>>2]|0)+56|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[o>>2];a[L+4>>2]=a[o+4>>2];a[L+8>>2]=a[o+8>>2];a[L+12>>2]=a[o+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(M,L,W,x);a[T>>2]=a[M>>2];a[T+4>>2]=a[M+4>>2];a[T+8>>2]=a[M+8>>2];a[T+12>>2]=a[M+12>>2];T=a[(a[h>>2]|0)+96>>2]|0;r[T+81>>0]=1;pR(A,T)}}d=d+1|0}uW(G,Z)}else p=3}while(0);if((p|0)==3?(a[46738]|0)==0:0){a[46738]=1;ao(0,85355,R)|0;p=Vh(F)|0;x=(Ih(A)|0)!=0;T=Vh(m)|0;a[H>>2]=p;a[H+4>>2]=x?137738:141747;a[H+8>>2]=T;ao(3,85461,H)|0}k=U;return}function iW(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0.0,W=0.0,y=0.0;G=k;k=k+1600|0;g=G+1552|0;w=G+1536|0;v=G+840|0;E=G+144|0;C=G+1584|0;t=G+32|0;B=G+16|0;u=G;h=a[f>>2]&3;o=a[((h|0)==3?f:f+48|0)+40>>2]|0;I=f+-48|0;h=a[((h|0)==2?f:I)+40>>2]|0;d=f+16|0;c=a[d>>2]|0;l=a[c+172>>2]|0;while(1){s=a[(a[l+16>>2]|0)+172>>2]|0;if(!s)break;else l=s}c=(a[c+96>>2]|0)+56|0;l=(a[((a[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)+16|0;s=(a[l>>2]|0)+16|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];c=a[d>>2]|0;r[(a[c+96>>2]|0)+81>>0]=1;if((n|0)!=2){c=a[l>>2]|0;L=+b[c+16>>3];y=L-+b[c+88>>3];L=+b[c+96>>3]+L;m=+b[c+24>>3];W=+b[c+80>>3]*.5+m;c=a[(a[A+16>>2]|0)+196>>2]|0;s=a[o+16>>2]|0;t=a[s+232>>2]|0;m=+(~~(+(~~(m-+b[c+(t<<6)+16>>3]-+b[s+24>>3]+ +b[c+(t<<6)+24>>3])|0)*.16666666666666666)|0);m=W-(m<5.0?5.0:m);aW(A,e,i,o,f,v,1);aW(A,e,i,h,f,E,0);t=v+52|0;c=a[t>>2]|0;s=c+-1|0;Q=+b[v+56+(s<<5)>>3];b[19215]=Q;b[19216]=+b[v+56+(s<<5)+24>>3];b[19217]=y;b[19218]=m;b[19219]=Q;b[19220]=m;s=E+52|0;l=(a[s>>2]|0)+-1|0;Q=+b[E+56+(l<<5)+16>>3];b[19221]=Q;b[19222]=W;b[19223]=L;b[19226]=m;b[19224]=+b[E+56+(l<<5)+24>>3];b[19225]=Q;l=0;while(1){if((l|0)>=(c|0)){l=0;break}c=v+56+(l<<5)|0;a[g>>2]=a[c>>2];a[g+4>>2]=a[c+4>>2];a[g+8>>2]=a[c+8>>2];a[g+12>>2]=a[c+12>>2];a[g+16>>2]=a[c+16>>2];a[g+20>>2]=a[c+20>>2];a[g+24>>2]=a[c+24>>2];a[g+28>>2]=a[c+28>>2];CX(i,g);l=l+1|0;c=a[t>>2]|0}while(1){if((l|0)==3)break;v=153720+(l<<5)|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[g+16>>2]=a[v+16>>2];a[g+20>>2]=a[v+20>>2];a[g+24>>2]=a[v+24>>2];a[g+28>>2]=a[v+28>>2];CX(i,g);l=l+1|0}t=a[s>>2]|0;while(1){l=t+-1|0;if((t|0)<=0)break;t=E+56+(l<<5)|0;a[g>>2]=a[t>>2];a[g+4>>2]=a[t+4>>2];a[g+8>>2]=a[t+8>>2];a[g+12>>2]=a[t+12>>2];a[g+16>>2]=a[t+16>>2];a[g+20>>2]=a[t+20>>2];a[g+24>>2]=a[t+24>>2];a[g+28>>2]=a[t+28>>2];CX(i,g);t=l}if((n|0)==10)t=KJ(i,C)|0;else t=iN(i,C)|0;l=a[C>>2]|0;if(l|0)Z=17}else{l=(a[o+16>>2]|0)+16|0;E=c+16|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];$L(B,w,g);E=(a[h+16>>2]|0)+16|0;l=(a[d>>2]|0)+56|0;a[w>>2]=a[E>>2];a[w+4>>2]=a[E+4>>2];a[w+8>>2]=a[E+8>>2];a[w+12>>2]=a[E+12>>2];a[g>>2]=a[l>>2];a[g+4>>2]=a[l+4>>2];a[g+8>>2]=a[l+8>>2];a[g+12>>2]=a[l+12>>2];$L(u,w,g);l=a[(a[d>>2]|0)+96>>2]|0;W=+b[l+56>>3];y=+b[l+64>>3]-+b[l+32>>3]*.5;l=t+16|0;a[t>>2]=a[B>>2];a[t+4>>2]=a[B+4>>2];a[t+8>>2]=a[B+8>>2];a[t+12>>2]=a[B+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];l=t+32|0;E=t+48|0;Z=t+64|0;b[t+64>>3]=W;b[t+72>>3]=y;a[E>>2]=a[Z>>2];a[E+4>>2]=a[Z+4>>2];a[E+8>>2]=a[Z+8>>2];a[E+12>>2]=a[Z+12>>2];a[l>>2]=a[Z>>2];a[l+4>>2]=a[Z+4>>2];a[l+8>>2]=a[Z+8>>2];a[l+12>>2]=a[Z+12>>2];l=t+80|0;Z=t+96|0;a[Z>>2]=a[u>>2];a[Z+4>>2]=a[u+4>>2];a[Z+8>>2]=a[u+8>>2];a[Z+12>>2]=a[u+12>>2];a[l>>2]=a[u>>2];a[l+4>>2]=a[u+4>>2];a[l+8>>2]=a[u+8>>2];a[l+12>>2]=a[u+12>>2];a[C>>2]=7;l=7;Z=17}if((Z|0)==17)gX(f,a[((a[f>>2]&3|0)==2?f:I)+40>>2]|0,t,l,17296);k=G;return}function rW(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0.0,L=0.0,W=0.0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0;X=k;k=k+352|0;I=X+336|0;C=X+320|0;J=X+128|0;g=X+304|0;Z=X+288|0;N=X+112|0;y=X+96|0;z=X+80|0;Y=X+64|0;D=X+48|0;M=X+32|0;F=X+16|0;V=X;A=A+16|0;h=(a[A>>2]|0)+16|0;E=(a[i+(r<<2)>>2]|0)+16|0;B=(a[E>>2]|0)+16|0;a[C>>2]=a[h>>2];a[C+4>>2]=a[h+4>>2];a[C+8>>2]=a[h+8>>2];a[C+12>>2]=a[h+12>>2];a[I>>2]=a[B>>2];a[I+4>>2]=a[B+4>>2];a[I+8>>2]=a[B+8>>2];a[I+12>>2]=a[B+12>>2];$L(g,C,I);L=+b[g>>3];W=+b[g+8>>3];g=(a[e+16>>2]|0)+16|0;E=(a[E>>2]|0)+56|0;a[C>>2]=a[g>>2];a[C+4>>2]=a[g+4>>2];a[C+8>>2]=a[g+8>>2];a[C+12>>2]=a[g+12>>2];a[I>>2]=a[E>>2];a[I+4>>2]=a[E+4>>2];a[I+8>>2]=a[E+8>>2];a[I+12>>2]=a[E+12>>2];$L(Z,C,I);Q=+b[Z>>3];m=+b[Z+8>>3];if((f|0)>1){G=+b[(a[A>>2]|0)+80>>3];l=G*.5;G=G/+(f+-1|0)}else{l=0.0;G=0.0}o=(n|8|0)==10;s=J+8|0;h=J+16|0;d=(Q+L*2.0)*.3333333333333333;B=J+32|0;v=(Q*2.0+L)*.3333333333333333;w=J+24|0;g=J+48|0;E=J+64|0;C=J+80|0;I=J+96|0;Z=J+112|0;c=J+128|0;u=J+136|0;l=W-l;e=0;while(1){if((e|0)>=(f|0))break;t=a[i+(e+r<<2)>>2]|0;b[J>>3]=L;b[s>>3]=W;if(o){lW(N,d,l);a[h>>2]=a[N>>2];a[h+4>>2]=a[N+4>>2];a[h+8>>2]=a[N+8>>2];a[h+12>>2]=a[N+12>>2];lW(y,v,l);a[B>>2]=a[y>>2];a[B+4>>2]=a[y+4>>2];a[B+8>>2]=a[y+8>>2];a[B+12>>2]=a[y+12>>2];A=4;n=3}else{b[h>>3]=L;b[w>>3]=W;lW(z,d,l);a[B>>2]=a[z>>2];a[B+4>>2]=a[z+4>>2];a[B+8>>2]=a[z+8>>2];a[B+12>>2]=a[z+12>>2];lW(Y,d,l);a[g>>2]=a[Y>>2];a[g+4>>2]=a[Y+4>>2];a[g+8>>2]=a[Y+8>>2];a[g+12>>2]=a[Y+12>>2];lW(D,d,l);a[E>>2]=a[D>>2];a[E+4>>2]=a[D+4>>2];a[E+8>>2]=a[D+8>>2];a[E+12>>2]=a[D+12>>2];lW(M,v,l);a[C>>2]=a[M>>2];a[C+4>>2]=a[M+4>>2];a[C+8>>2]=a[M+8>>2];a[C+12>>2]=a[M+12>>2];lW(F,v,l);a[I>>2]=a[F>>2];a[I+4>>2]=a[F+4>>2];a[I+8>>2]=a[F+8>>2];a[I+12>>2]=a[F+12>>2];lW(V,v,l);a[Z>>2]=a[V>>2];a[Z+4>>2]=a[V+4>>2];a[Z+8>>2]=a[V+8>>2];a[Z+12>>2]=a[V+12>>2];b[c>>3]=Q;b[u>>3]=m;A=10;n=9}b[J+(n<<4)>>3]=Q;b[J+(n<<4)+8>>3]=m;gX(t,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,J,A,17296);l=l+G;e=e+1|0}k=X;return}function fW(A,e,i,r,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0.0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0.0,L=0.0,W=0.0;I=k;k=k+1440|0;v=I+1392|0;E=I+1424|0;C=I+696|0;g=I;d=a[t>>2]&3;h=a[((d|0)==3?t:t+48|0)+40>>2]|0;d=a[((d|0)==2?t:t+-48|0)+40>>2]|0;s=a[h+16>>2]|0;u=a[s+232>>2]|0;o=a[A+16>>2]|0;if((u|0)<(f[o+238>>1]|0)){Z=a[o+196>>2]|0;o=u+1|0;w=+b[s+24>>3]-+b[Z+(u<<6)+32>>3]-+b[(a[(a[a[Z+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[Z+(o<<6)+40>>3]}else w=+(a[o+252>>2]|0);G=+(l+1|0);B=+(a[e+12>>2]|0)/G;w=w/G;nW(A,e,i,h,t,C,1);nW(A,e,i,d,t,g,0);d=C+52|0;t=g+52|0;A=(c|0)==0;e=i+80|0;s=0;while(1){if((s|0)>=(l|0))break;h=a[r+(s+n<<2)>>2]|0;o=a[d>>2]|0;u=o+-1|0;W=+b[C+56+(u<<5)>>3];m=+b[C+56+(u<<5)+8>>3];L=+b[C+56+(u<<5)+16>>3];b[19215]=W;b[19218]=m;s=s+1|0;G=+(s|0);Q=B*G;b[19217]=L+Q;G=m-w*G;b[19216]=G;b[19219]=W;b[19222]=G;u=(a[t>>2]|0)+-1|0;W=+b[g+56+(u<<5)+16>>3];b[19221]=W;b[19220]=G-w;m=+b[g+56+(u<<5)>>3];L=+b[g+56+(u<<5)+8>>3];b[19225]=W;b[19226]=L;b[19223]=m-Q;b[19224]=G;u=0;while(1){if((u|0)>=(o|0)){u=0;break}o=C+56+(u<<5)|0;a[v>>2]=a[o>>2];a[v+4>>2]=a[o+4>>2];a[v+8>>2]=a[o+8>>2];a[v+12>>2]=a[o+12>>2];a[v+16>>2]=a[o+16>>2];a[v+20>>2]=a[o+20>>2];a[v+24>>2]=a[o+24>>2];a[v+28>>2]=a[o+28>>2];CX(i,v);u=u+1|0;o=a[d>>2]|0}while(1){if((u|0)==3)break;Z=153720+(u<<5)|0;a[v>>2]=a[Z>>2];a[v+4>>2]=a[Z+4>>2];a[v+8>>2]=a[Z+8>>2];a[v+12>>2]=a[Z+12>>2];a[v+16>>2]=a[Z+16>>2];a[v+20>>2]=a[Z+20>>2];a[v+24>>2]=a[Z+24>>2];a[v+28>>2]=a[Z+28>>2];CX(i,v);u=u+1|0}o=a[t>>2]|0;while(1){u=o+-1|0;if((o|0)<=0)break;o=g+56+(u<<5)|0;a[v>>2]=a[o>>2];a[v+4>>2]=a[o+4>>2];a[v+8>>2]=a[o+8>>2];a[v+12>>2]=a[o+12>>2];a[v+16>>2]=a[o+16>>2];a[v+20>>2]=a[o+20>>2];a[v+24>>2]=a[o+24>>2];a[v+28>>2]=a[o+28>>2];CX(i,v);o=u}if(A)u=iN(i,E)|0;else u=KJ(i,E)|0;o=a[E>>2]|0;if(!o)break;gX(h,a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0,u,o,17296);a[e>>2]=0}k=I;return}function aW(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+128|0;t=w+96|0;c=w+64|0;u=w+32|0;s=w;VL(u,A,e,r,0,f);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[n+16>>2]=a[u+16>>2];a[n+20>>2]=a[u+20>>2];a[n+24>>2]=a[u+24>>2];a[n+28>>2]=a[u+28>>2];a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];a[c+16>>2]=a[u+16>>2];a[c+20>>2]=a[u+20>>2];a[c+24>>2]=a[u+24>>2];a[c+28>>2]=a[u+28>>2];a[n+48>>2]=4;if(!(l<<24>>24))QX(i,f,2,n,0);else IX(i,f,2,n,0);e=n+52|0;f=(a[e>>2]|0)+-1|0;u=c+24|0;b[u>>3]=+b[n+56+(f<<5)+24>>3];l=c+8|0;b[l>>3]=+b[n+56+(f<<5)+8>>3];r=a[r+16>>2]|0;o=+b[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[r+232>>2]<<6)+24>>3]+ +b[r+24>>3];a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];a[t+20>>2]=a[c+20>>2];a[t+24>>2]=a[c+24>>2];a[t+28>>2]=a[c+28>>2];NL(s,t,4,o);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[c+16>>2]=a[s+16>>2];a[c+20>>2]=a[s+20>>2];a[c+24>>2]=a[s+24>>2];a[c+28>>2]=a[s+28>>2];if(+b[c>>3]<+b[c+16>>3]?+b[l>>3]<+b[u>>3]:0){u=a[e>>2]|0;a[e>>2]=u+1;u=n+56+(u<<5)|0;a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];a[u+16>>2]=a[c+16>>2];a[u+20>>2]=a[c+20>>2];a[u+24>>2]=a[c+24>>2];a[u+28>>2]=a[c+28>>2]}k=w;return}function nW(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+128|0;t=w+96|0;c=w+64|0;u=w+32|0;s=w;VL(u,A,e,r,0,f);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[n+16>>2]=a[u+16>>2];a[n+20>>2]=a[u+20>>2];a[n+24>>2]=a[u+24>>2];a[n+28>>2]=a[u+28>>2];a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];a[c+16>>2]=a[u+16>>2];a[c+20>>2]=a[u+20>>2];a[c+24>>2]=a[u+24>>2];a[c+28>>2]=a[u+28>>2];a[n+48>>2]=1;if(!(l<<24>>24))QX(i,f,2,n,0);else IX(i,f,2,n,0);e=n+52|0;f=(a[e>>2]|0)+-1|0;u=c+24|0;b[u>>3]=+b[n+56+(f<<5)+24>>3];l=c+8|0;b[l>>3]=+b[n+56+(f<<5)+8>>3];r=a[r+16>>2]|0;o=+b[r+24>>3]-+b[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[r+232>>2]<<6)+24>>3];a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];a[t+20>>2]=a[c+20>>2];a[t+24>>2]=a[c+24>>2];a[t+28>>2]=a[c+28>>2];NL(s,t,1,o);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[c+16>>2]=a[s+16>>2];a[c+20>>2]=a[s+20>>2];a[c+24>>2]=a[s+24>>2];a[c+28>>2]=a[s+28>>2];if(+b[c>>3]<+b[c+16>>3]?+b[l>>3]<+b[u>>3]:0){u=a[e>>2]|0;a[e>>2]=u+1;u=n+56+(u<<5)|0;a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];a[u+16>>2]=a[c+16>>2];a[u+20>>2]=a[c+20>>2];a[u+24>>2]=a[c+24>>2];a[u+28>>2]=a[c+28>>2]}k=w;return}function lW(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function tW(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0,G=0,Q=0.0,m=0.0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0.0;K=k;k=k+288|0;U=K+256|0;p=K+240|0;H=K+224|0;S=K+280|0;P=K+272|0;O=K+32|0;x=K+16|0;T=K;s=K+208|0;w=K+192|0;u=a[i+(f<<2)>>2]|0;j=qF(n<<2)|0;c=0;while(1){if((c|0)>=(n|0))break;a[j+(c<<2)>>2]=a[i+(c+f<<2)>>2];c=c+1|0}K4(j,n,4,59);i=A+16|0;f=(a[i>>2]|0)+16|0;u=u+16|0;L=(a[u>>2]|0)+16|0;a[p>>2]=a[f>>2];a[p+4>>2]=a[f+4>>2];a[p+8>>2]=a[f+8>>2];a[p+12>>2]=a[f+12>>2];a[U>>2]=a[L>>2];a[U+4>>2]=a[L+4>>2];a[U+8>>2]=a[L+8>>2];a[U+12>>2]=a[L+12>>2];$L(s,p,U);a[x>>2]=a[s>>2];a[x+4>>2]=a[s+4>>2];a[x+8>>2]=a[s+8>>2];a[x+12>>2]=a[s+12>>2];L=e+16|0;f=(a[L>>2]|0)+16|0;u=(a[u>>2]|0)+56|0;a[p>>2]=a[f>>2];a[p+4>>2]=a[f+4>>2];a[p+8>>2]=a[f+8>>2];a[p+12>>2]=a[f+12>>2];a[U>>2]=a[u>>2];a[U+4>>2]=a[u+4>>2];a[U+8>>2]=a[u+8>>2];a[U+12>>2]=a[u+12>>2];$L(w,p,U);a[T>>2]=a[w>>2];a[T+4>>2]=a[w+4>>2];a[T+8>>2]=a[w+8>>2];a[T+12>>2]=a[w+12>>2];C=+b[(a[i>>2]|0)+96>>3]+ +b[x>>3];I=+b[T>>3]-+b[(a[L>>2]|0)+88>>3];g=I+C;E=g*.5;L=a[j>>2]|0;a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];u=O+16|0;a[u>>2]=a[x>>2];a[u+4>>2]=a[x+4>>2];a[u+8>>2]=a[x+8>>2];a[u+12>>2]=a[x+12>>2];i=O+32|0;a[i>>2]=a[T>>2];a[i+4>>2]=a[T+4>>2];a[i+8>>2]=a[T+8>>2];a[i+12>>2]=a[T+12>>2];f=O+48|0;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];gX(L,a[((a[L>>2]&3|0)==2?L:L+-48|0)+40>>2]|0,O,4,17296);L=a[(a[L+16>>2]|0)+96>>2]|0;b[L+56>>3]=E;G=x+8|0;d=+b[G>>3];B=+b[L+32>>3];b[L+64>>3]=(B+6.0)*.5+d;r[L+81>>0]=1;d=d+3.0;m=+b[L+24>>3];Q=(g-m)*.5;m=(m+g)*.5;L=O+24|0;W=O+40|0;y=O+56|0;z=O+64|0;Y=T+8|0;D=O+72|0;M=O+80|0;F=O+88|0;V=O+96|0;J=O+104|0;N=O+112|0;X=O+120|0;R=S+4|0;w=(l|0)==6&1;h=0.0;o=0.0;B=B+d;s=1;while(1){if((s|0)>=(t|0)){Z=6;break}e=a[j+(s<<2)>>2]|0;if(!(s&1)){a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=Q;b[L>>3]=+b[G>>3];b[i>>3]=Q;b[W>>3]=B;b[f>>3]=m;b[y>>3]=B;b[z>>3]=m;v=+b[Y>>3];b[D>>3]=v;_=+b[T>>3];b[M>>3]=_;b[F>>3]=v;b[V>>3]=_;_=B+6.0;b[J>>3]=_;b[N>>3]=+b[x>>3];b[X>>3]=_;B=+b[(a[(a[e+16>>2]|0)+96>>2]|0)+32>>3];v=_+B*.5;B=_+B}else{c=e+16|0;A=a[(a[c>>2]|0)+96>>2]|0;if((s|0)==1){o=+b[A+24>>3];h=(o+g)*.5;o=(g-o)*.5}d=d+-6.0-+b[A+32>>3];a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=+b[x>>3];v=d+-6.0;b[L>>3]=v;b[i>>3]=+b[T>>3];b[W>>3]=v;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];b[z>>3]=h;b[D>>3]=+b[Y>>3];b[M>>3]=h;b[F>>3]=d;b[V>>3]=o;b[J>>3]=d;b[N>>3]=o;b[X>>3]=+b[G>>3];v=+b[(a[(a[c>>2]|0)+96>>2]|0)+32>>3]*.5+d}a[R>>2]=8;a[S>>2]=O;a[H>>2]=a[x>>2];a[H+4>>2]=a[x+4>>2];a[H+8>>2]=a[x+8>>2];a[H+12>>2]=a[x+12>>2];a[p>>2]=a[T>>2];a[p+4>>2]=a[T+4>>2];a[p+8>>2]=a[T+8>>2];a[p+12>>2]=a[T+12>>2];a[U>>2]=a[S>>2];a[U+4>>2]=a[S+4>>2];c=jJ(H,p,U,P,w)|0;A=a[P>>2]|0;if(!A)break;l=a[(a[e+16>>2]|0)+96>>2]|0;b[l+56>>3]=E;b[l+64>>3]=v;r[l+81>>0]=1;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17296);s=s+1|0}A:do{if((Z|0)==6){E=(I+C*2.0)*.3333333333333333;g=(I*2.0+C)*.3333333333333333;while(1){if((s|0)>=(n|0))break;e=a[j+(s<<2)>>2]|0;if(!(s&1)){a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=Q;b[L>>3]=+b[G>>3];b[i>>3]=Q;b[W>>3]=B;b[f>>3]=m;b[y>>3]=B;b[z>>3]=m;v=+b[Y>>3];b[D>>3]=v;_=+b[T>>3];b[M>>3]=_;b[F>>3]=v;b[V>>3]=_;_=B+6.0;b[J>>3]=_;b[N>>3]=+b[x>>3];B=_;v=o;o=_}else{Z=(s|0)==1;v=Z?E:o;h=Z?g:h;o=d+-6.0;a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=+b[x>>3];d=d+-12.0;b[L>>3]=d;b[i>>3]=+b[T>>3];b[W>>3]=d;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];b[z>>3]=h;b[D>>3]=+b[Y>>3];b[M>>3]=h;b[F>>3]=o;b[V>>3]=v;b[J>>3]=o;b[N>>3]=v;d=o;o=+b[G>>3]}b[X>>3]=o;a[R>>2]=8;a[S>>2]=O;a[H>>2]=a[x>>2];a[H+4>>2]=a[x+4>>2];a[H+8>>2]=a[x+8>>2];a[H+12>>2]=a[x+12>>2];a[p>>2]=a[T>>2];a[p+4>>2]=a[T+4>>2];a[p+8>>2]=a[T+8>>2];a[p+12>>2]=a[T+12>>2];a[U>>2]=a[S>>2];a[U+4>>2]=a[S+4>>2];c=jJ(H,p,U,P,w)|0;A=a[P>>2]|0;if(!A)break A;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17296);s=s+1|0;o=v}L2(j)}}while(0);k=K;return}function cW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;n=k;k=k+16|0;f=n;t=(Ih(A)|0)==0;t=t?18592:18584;r[f>>0]=r[t>>0]|0;r[f+1>>0]=r[t+1>>0]|0;r[f+2>>0]=r[t+2>>0]|0;r[f+3>>0]=r[t+3>>0]|0;f=kh(85493,f,0)|0;Td(f,137483,280,1)|0;Yo(f,0,87171,195059)|0;t=qF(96)|0;i=a[f+16>>2]|0;a[i+8>>2]=t;l=a[A+16>>2]|0;c=a[l+8>>2]|0;b[t>>3]=+b[c>>3];b[t+24>>3]=+b[c+24>>3];r[i+115>>0]=r[l+115>>0]|0;a[i+116>>2]=a[l+116>>2]&1^1;a[i+248>>2]=a[l+248>>2];a[i+252>>2]=a[l+252>>2];i=Jo(Zd(A)|0,1,0)|0;while(1){if(!i)break;Yo(f,1,a[i+8>>2]|0,a[i+12>>2]|0)|0;i=Jo(Zd(A)|0,1,i)|0}i=Jo(Zd(A)|0,2,0)|0;while(1){if(!i)break;Yo(f,2,a[i+8>>2]|0,a[i+12>>2]|0)|0;i=Jo(Zd(A)|0,2,i)|0}if(!(Yo(f,2,111464,0)|0))Yo(f,2,111464,195059)|0;if(!(Yo(f,2,111455,0)|0))Yo(f,2,111455,195059)|0;kW(f,e);k=n;return f|0}function bW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=k;k=k+16|0;i=r;A=vd(A,Vh(e)|0,1)|0;Td(A,137447,304,1)|0;jo(e,A)|0;if((sN(e)|0)==2){f=e+16|0;e=$F((S2(a[a[(a[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;a[i>>2]=a[a[(a[f>>2]|0)+104>>2]>>2];P4(e,85488,i)|0;xo(A,108224,e)|0}k=r;return A|0}function sW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=th(A,e,i,0,1)|0;Td(i,137460,176,1)|0;jo(r,i)|0;return i|0}function wW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0;l=k;k=k+32|0;n=l+16|0;f=l;if(r|0){t=+b[e>>3];r=e+8|0;b[e>>3]=+b[r>>3];b[r>>3]=-t}a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];$L(A,f,n);k=l;return}function uW(A,e){A=A|0;e=e|0;a[47189]=a[e>>2];a[47193]=a[e+4>>2];a[47194]=a[e+8>>2];a[47174]=a[e+12>>2];a[47175]=a[e+16>>2];a[47181]=a[e+20>>2];a[47180]=a[e+24>>2];a[47179]=a[e+28>>2];a[47205]=a[e+32>>2];a[47197]=a[e+36>>2];a[47182]=a[e+40>>2];a[47192]=a[e+44>>2];a[47201]=a[e+48>>2];a[47200]=a[e+52>>2];a[47199]=a[e+56>>2];a[47204]=a[e+60>>2];a[47198]=a[e+64>>2];a[47183]=a[e+68>>2];a[47145]=a[e+72>>2];a[47146]=a[e+76>>2];a[47147]=a[e+80>>2];a[47157]=a[e+84>>2];a[47150]=a[e+88>>2];a[47151]=a[e+92>>2];a[47152]=a[e+96>>2];a[47154]=a[e+100>>2];a[47155]=a[e+104>>2];a[47158]=a[e+108>>2];a[47161]=a[e+112>>2];a[47159]=a[e+116>>2];a[47160]=a[e+120>>2];a[47163]=a[e+124>>2];a[47162]=a[e+128>>2];a[47164]=a[e+132>>2];a[47165]=a[e+136>>2];a[47156]=a[e+140>>2];a[47168]=a[e+144>>2];a[47140]=a[e+148>>2];a[47138]=a[e+152>>2];L2(e);rL(A);Bh(A)|0;return}function kW(A,e){A=A|0;e=e|0;a[e>>2]=a[47189];a[e+4>>2]=a[47193];a[e+8>>2]=a[47194];a[e+12>>2]=a[47174];a[e+16>>2]=a[47175];a[e+20>>2]=a[47181];a[e+24>>2]=a[47180];a[e+28>>2]=a[47179];a[e+32>>2]=a[47205];a[e+36>>2]=a[47197];a[e+40>>2]=a[47182];a[e+44>>2]=a[47192];a[e+48>>2]=a[47201];a[e+52>>2]=a[47200];a[e+56>>2]=a[47199];a[e+60>>2]=a[47204];a[e+64>>2]=a[47198];a[e+68>>2]=a[47183];a[e+72>>2]=a[47145];a[e+76>>2]=a[47146];a[e+80>>2]=a[47147];a[e+84>>2]=a[47157];a[e+88>>2]=a[47150];a[e+92>>2]=a[47151];a[e+96>>2]=a[47152];a[e+100>>2]=a[47154];a[e+104>>2]=a[47155];a[e+108>>2]=a[47158];a[e+112>>2]=a[47161];a[e+116>>2]=a[47159];a[e+120>>2]=a[47160];a[e+124>>2]=a[47163];a[e+128>>2]=a[47162];a[e+132>>2]=a[47164];a[e+136>>2]=a[47165];a[e+140>>2]=a[47156];a[e+144>>2]=a[47168];a[e+152>>2]=a[47138];a[e+148>>2]=a[47140];a[47189]=0;a[47193]=Yo(A,2,87412,0)|0;a[47194]=Yo(A,2,87421,0)|0;e=Yo(A,2,101541,0)|0;a[47174]=e;if(!e)a[47174]=Yo(A,2,101541,195059)|0;a[47175]=0;a[47181]=0;a[47180]=Yo(A,2,101437,0)|0;a[47179]=Yo(A,2,101428,0)|0;a[47205]=Yo(A,2,101717,0)|0;a[47197]=0;a[47182]=Yo(A,2,108224,0)|0;a[47192]=Yo(A,2,85498,0)|0;a[47201]=0;a[47200]=Yo(A,2,101617,0)|0;a[47199]=Yo(A,2,101603,0)|0;a[47204]=Yo(A,2,101708,0)|0;a[47198]=0;a[47183]=0;a[47145]=Yo(A,1,141048,0)|0;a[47146]=Yo(A,1,141116,0)|0;a[47147]=Yo(A,1,108230,0)|0;a[47157]=0;a[47150]=Yo(A,1,101428,0)|0;a[47151]=Yo(A,1,101437,0)|0;a[47152]=0;a[47154]=Yo(A,1,108224,0)|0;a[47155]=0;a[47158]=0;a[47161]=Yo(A,1,101409,0)|0;a[47159]=Yo(A,1,141076,0)|0;a[47160]=Yo(A,1,101472,0)|0;a[47163]=Yo(A,1,101484,0)|0;a[47162]=Yo(A,1,101348,0)|0;a[47164]=Yo(A,1,101489,0)|0;a[47165]=Yo(A,1,85510,0)|0;a[47156]=0;a[47168]=0;a[47140]=Yo(A,0,101409,0)|0;return}function oW(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0;i=a[(a[(a[A>>2]|0)+16>>2]|0)+96>>2]|0;A=a[(a[(a[e>>2]|0)+16>>2]|0)+96>>2]|0;e=(A|0)!=0;if(i)if(e?(f=+b[i+24>>3],l=+b[i+32>>3],r=+b[A+24>>3],n=+b[A+32>>3],!(f>r)):0)if(!(fn)A=-1;else A=l>2]|0)+116>>2]|0;if(!e)break;else A=e}e=a[A>>2]&3;i=a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;r=a[i+232>>2]|0;A=a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;e=a[A+232>>2]|0;if((r|0)<=(e|0))if((r|0)<(e|0))A=1;else A=(a[i+236>>2]|0)<(a[A+236>>2]|0)&1;else A=0;return A|0}function dW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=k;k=k+16|0;r=i+8|0;f=i;l=(a[A+16>>2]|0)+180|0;n=(a[e+16>>2]|0)+172|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];e=BW(A,f,e,r)|0;k=i;return e|0}function BW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=a[e+4>>2]|0;A:do{if((f|0)>0?(n=a[r+4>>2]|0,(n|0)>0):0)if((f|0)<(n|0)){f=a[e>>2]|0;r=0;while(1){e=a[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(i|0))break;else r=r+1|0}}else{f=a[r>>2]|0;r=0;while(1){e=a[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(A|0))break;else r=r+1|0}}else e=0}while(0);return e|0}function vW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=k;k=k+16|0;r=i+8|0;f=i;l=(a[A+16>>2]|0)+188|0;n=(a[e+16>>2]|0)+196|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];e=BW(A,f,e,r)|0;k=i;return e|0}function gW(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[i+180>>2]|0;if(!e)e=$F((a[i+184>>2]<<2)+8|0)|0;else e=eV(e,(a[i+184>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;i=a[f+180>>2]|0;f=f+184|0;e=a[f>>2]|0;a[f>>2]=e+1;a[i+(e<<2)>>2]=A;r=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=A+-48|0;e=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;e=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;e=e+176|0;f=a[e>>2]|0;a[e>>2]=f+1;a[i+(f<<2)>>2]=A;f=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;a[(a[f+172>>2]|0)+(a[f+176>>2]<<2)>>2]=0;return A|0}function EW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;r=A+4|0;f=a[r>>2]|0;i=0;while(1){if((i|0)>=(f|0))break;n=a[A>>2]|0;l=n+(i<<2)|0;if((a[l>>2]|0)==(e|0)){t=4;break}else i=i+1|0}if((t|0)==4){t=f+-1|0;a[r>>2]=t;a[l>>2]=a[n+(t<<2)>>2];a[(a[A>>2]|0)+(t<<2)>>2]=0}return}function CW(A){A=A|0;if(!A)vA(85551,85561,117,85570);else{EW((a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180|0,A);EW((a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172|0,A);return}}function IW(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[i+204>>2]|0;if(!e)e=$F((a[i+208>>2]<<2)+8|0)|0;else e=eV(e,(a[i+208>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+204>>2]=e;f=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[f+204>>2]|0;f=f+208|0;i=a[f>>2]|0;a[f>>2]=i+1;a[e+(i<<2)>>2]=A;r=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;a[(a[r+204>>2]|0)+(a[r+208>>2]<<2)>>2]=0;return}function ZW(A){A=A|0;GW(A,(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function GW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=e+4|0;r=a[l>>2]|0;f=a[e>>2]|0;i=0;while(1){if((i|0)>=(r|0)){n=4;break}if((a[f+(i<<2)>>2]|0)==(A|0))break;else i=i+1|0}if((n|0)==4){if(!f)i=$F((r<<2)+8|0)|0;else i=eV(f,(r<<2)+8|0)|0;a[e>>2]=i;f=a[l>>2]|0;n=f+1|0;a[l>>2]=n;a[i+(f<<2)>>2]=A;a[(a[e>>2]|0)+(n<<2)>>2]=0}return}function QW(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=qF(96)|0;n=u+48|0;a[n>>2]=a[n>>2]|3;a[u>>2]=a[u>>2]&-4|2;l=qF(176)|0;w=u+16|0;a[w>>2]=l;a[((a[u>>2]&3|0)==3?u:n)+40>>2]=A;c=u+-48|0;a[((a[u>>2]&3|0)==2?u:c)+40>>2]=e;r[l+112>>0]=1;if(!i){a[l+156>>2]=1;f[l+154>>1]=1;f[l+168>>1]=1;f[l+170>>1]=1}else{a[u>>2]=a[u>>2]&15|a[i>>2]&-16;a[n>>2]=a[n>>2]&15|a[i>>2]&-16;s=i+16|0;t=a[s>>2]|0;f[l+168>>1]=f[t+168>>1]|0;f[l+154>>1]=f[t+154>>1]|0;a[l+156>>2]=a[t+156>>2];f[l+170>>1]=f[t+170>>1]|0;A=a[((a[u>>2]&3|0)==3?u:n)+40>>2]|0;e=a[i>>2]&3;b=i+48|0;if((A|0)!=(a[((e|0)==3?i:b)+40>>2]|0)){n=i+-48|0;if((A|0)==(a[((e|0)==2?i:n)+40>>2]|0)){l=l+16|0;A=t+56|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=l+16|0;A=t+16|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0));n=i+-48|0}A=a[((a[u>>2]&3|0)==2?u:c)+40>>2]|0;e=a[i>>2]&3;if((A|0)!=(a[((e|0)==2?i:n)+40>>2]|0)){if((A|0)==(a[((e|0)==3?i:b)+40>>2]|0)){l=(a[w>>2]|0)+56|0;A=(a[s>>2]|0)+16|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=(a[w>>2]|0)+56|0;A=(a[s>>2]|0)+56|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}A=(a[s>>2]|0)+172|0;if(!(a[A>>2]|0))a[A>>2]=u;a[(a[w>>2]|0)+116>>2]=i}return u|0}function mW(A,e,i){A=A|0;e=e|0;i=i|0;return gW(QW(A,e,i)|0)|0}function LW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A=(a[A+16>>2]|0)+192|0;f=a[A>>2]|0;i=a[e+16>>2]|0;a[i+164>>2]=f;r=f;if(f|0)a[(a[r+16>>2]|0)+168>>2]=e;a[A>>2]=e;a[i+168>>2]=0;if((r|0)==(e|0))vA(85587,85561,215,85603);else return}function WW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((A|0)==(e|0))vA(85613,85561,220,85620);f=a[e+16>>2]|0;i=f+164|0;if(a[i>>2]|0)vA(85633,85561,221,85620);r=(a[A+16>>2]|0)+164|0;a[i>>2]=a[r>>2];i=a[r>>2]|0;if(i|0)a[(a[i+16>>2]|0)+168>>2]=e;a[f+168>>2]=A;a[r>>2]=e;return}function yW(A,e){A=A|0;e=e|0;var i=0,r=0;if(!(zW(A,e)|0))vA(85652,85561,231,85673);e=a[e+16>>2]|0;i=a[e+164>>2]|0;r=i;e=e+168|0;if(i|0)a[(a[i+16>>2]|0)+168>>2]=a[e>>2];e=a[e>>2]|0;if(!e)a[(a[A+16>>2]|0)+192>>2]=r;else a[(a[e+16>>2]|0)+164>>2]=r;return}function zW(A,e){A=A|0;e=e|0;A=(a[A+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if((A|0)==0|(A|0)==(e|0))break;A=(a[A+16>>2]|0)+164|0}return A|0}function YW(A){A=A|0;var e=0,i=0,f=0,n=0;e=qF(64)|0;a[e>>2]=a[e>>2]&-4|1;i=e+16|0;a[i>>2]=qF(304)|0;a[e+24>>2]=Zd(A)|0;n=a[i>>2]|0;r[n+156>>0]=1;b[n+96>>3]=1.0;b[n+88>>3]=1.0;b[n+80>>3]=1.0;a[n+216>>2]=1;a[n+176>>2]=0;n=qF(20)|0;f=a[i>>2]|0;a[f+172>>2]=n;a[f+184>>2]=0;f=qF(20)|0;a[(a[i>>2]|0)+180>>2]=f;LW(A,e);A=(a[A+16>>2]|0)+232|0;a[A>>2]=(a[A>>2]|0)+1;return e|0}function DW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=e+48|0;i=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;f=a[i+188>>2]|0;if(!f)i=$F((a[i+192>>2]<<2)+8|0)|0;else i=eV(f,(a[i+192>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0)+188>>2]=i;l=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;f=a[l+188>>2]|0;l=l+192|0;i=a[l>>2]|0;a[l>>2]=i+1;a[f+(i<<2)>>2]=e;n=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;a[(a[n+188>>2]|0)+(a[n+192>>2]<<2)>>2]=0;n=e+-48|0;i=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;f=a[i+196>>2]|0;if(!f)i=$F((a[i+200>>2]<<2)+8|0)|0;else i=eV(f,(a[i+200>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+196>>2]=i;i=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;f=a[i+196>>2]|0;i=i+200|0;l=a[i>>2]|0;a[i>>2]=l+1;a[f+(l<<2)>>2]=e;l=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;a[(a[l+196>>2]|0)+(a[l+200>>2]<<2)>>2]=0;r[(a[A+16>>2]|0)+240>>0]=1;r[(a[(gL(A)|0)+16>>2]|0)+240>>0]=1;return}function MW(A){A=A|0;var e=0,i=0;if(!A)vA(85551,85561,269,85690);e=a[(a[A+16>>2]|0)+116>>2]|0;if(e|0?(i=(a[e+16>>2]|0)+172|0,(a[i>>2]|0)==(A|0)):0)a[i>>2]=0;EW((a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+188|0,A);EW((a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+196|0,A);return}function FW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;i=(a[A+16>>2]|0)+172|0;r=a[i>>2]|0;do{if((r|0)!=(e|0))if(!r){a[i>>2]=e;VW(A,e);break}else vA(87593,85561,340,85728);else ao(0,85707,f)|0}while(0);k=f;return}function VW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,t=0;i=(a[e+16>>2]|0)+170|0;t=a[A+16>>2]|0;A=f[t+170>>1]|0;if((l[i>>1]|0)<(A&65535))f[i>>1]=A;r=t+168|0;n=t+154|0;i=t+156|0;A=e;while(1){if(!A)break;e=a[A+16>>2]|0;t=e+168|0;f[t>>1]=(l[t>>1]|0)+(l[r>>1]|0);t=e+154|0;f[t>>1]=(l[t>>1]|0)+(l[n>>1]|0);t=e+156|0;a[t>>2]=(a[t>>2]|0)+(a[i>>2]|0);A=a[e+172>>2]|0}return}function JW(A){A=A|0;var e=0,i=0,n=0,l=0;i=A+16|0;e=a[(a[i>>2]|0)+172>>2]|0;A:while(1){if(!e)break;NW(e,A);l=a[e+16>>2]|0;n=a[l+172>>2]|0;if(!(f[l+168>>1]|0))XW(e);while(1){if((r[(a[e+16>>2]|0)+112>>0]|0)!=1){e=n;continue A}e=a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((r[e+156>>0]|0)!=1){e=n;continue A}if((a[e+184>>2]|0)!=1){e=n;continue A}e=a[a[e+180>>2]>>2]|0;NW(e,A)}}a[(a[i>>2]|0)+172>>2]=0;return}function NW(A,e){A=A|0;e=e|0;var i=0;i=a[e+16>>2]|0;e=a[A+16>>2]|0;A=e+168|0;f[A>>1]=(l[A>>1]|0)-(l[i+168>>1]|0);A=e+154|0;f[A>>1]=(l[A>>1]|0)-(l[i+154>>1]|0);e=e+156|0;a[e>>2]=(a[e>>2]|0)-(a[i+156>>2]|0);return}function XW(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(!A)vA(85551,85561,128,85741);n=A+48|0;i=0;while(1){e=a[A>>2]|0;r=(a[(a[((e&3|0)==3?A:n)+40>>2]|0)+16>>2]|0)+180|0;f=a[(a[r>>2]|0)+(i<<2)>>2]|0;if(!f)break;if((f|0)==(A|0))EW(r,A);i=i+1|0}n=A+-48|0;f=0;while(1){i=(a[(a[((e&3|0)==2?A:n)+40>>2]|0)+16>>2]|0)+172|0;r=a[(a[i>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)==(A|0)){EW(i,A);e=a[A>>2]|0}f=f+1|0}return}function RW(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;o=k;k=k+1040|0;w=o+1032|0;u=o;s=o+8|0;b=A+16|0;A=a[b>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;t=a[A+196>>2]|0;l=t+(c<<6)|0;t=t+(c<<6)+4|0;n=0;A=0;while(1){if((n|0)>=(a[l>>2]|0))break;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;i=e+16|0;if(a[(a[i>>2]|0)+112>>2]|0){if(!A){r[w>>0]=r[18588]|0;r[w+1>>0]=r[18589]|0;r[w+2>>0]=r[18590]|0;r[w+3>>0]=r[18591]|0;A=kh(85763,w,0)|0}a[u>>2]=n;P4(s,137395,u)|0;v=vd(A,s,1)|0;Td(v,91164,24,1)|0;h=a[(a[i>>2]|0)+180>>2]|0;d=a[h>>2]|0;d=a[(a[(a[((a[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=a[h+4>>2]|0;h=a[(a[(a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;B=(d|0)>(h|0);i=a[v+16>>2]|0;a[i+12>>2]=B?h:d;a[i+16>>2]=B?d:h;a[i+20>>2]=e}n=n+1|0}if(A|0){if((vh(A)|0)>1)HW(A,l);Bh(A)|0}c=c+1|0;A=a[b>>2]|0}k=o;return}function HW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;i=0;l=cd(A)|0;A:while(1){if(!l)break;t=bd(A,l)|0;c=l+16|0;n=t;while(1){if(!n){l=t;continue A}f=a[n+16>>2]|0;r=a[c>>2]|0;if((a[f+16>>2]|0)>(a[r+12>>2]|0)){if((a[r+16>>2]|0)<=(a[f+12>>2]|0))th(A,l,n,0,1)|0}else{th(A,n,l,0,1)|0;i=1}n=bd(A,n)|0}}do{if(i|0){l=XB(A,85766,1)|0;c=qF((vh(A)|0)<<2)|0;t=qF((vh(A)|0)<<2)|0;f=e+4|0;r=cd(A)|0;A:while(1){if(!r){i=23;break}if((a[(a[r+16>>2]|0)+8>>2]|0)==0?Eh(A,r,1,1)|0:0){e:do{if(pW(A,r,l,t)|0){n=vh(l)|0;if((UW(A,l,c)|0)!=(n|0)){i=17;break A}K4(t,n,4,60);i=0;while(1){if((i|0)>=(n|0))break e;e=t+(i<<2)|0;b=a[c+(i<<2)>>2]|0;a[(a[b+16>>2]|0)+236>>2]=a[e>>2];a[(a[f>>2]|0)+(a[e>>2]<<2)>>2]=b;i=i+1|0}}}while(0);TW(l)}r=bd(A,r)|0}if((i|0)==17)vA(85771,85781,265,85792);else if((i|0)==23){L2(c);break}}}while(0);return}function pW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=a[e+16>>2]|0;a[l+8>>2]=1;l=a[(a[(a[l+20>>2]|0)+16>>2]|0)+236>>2]|0;a[r+((vh(i)|0)<<2)>>2]=l;kd(i,e,1)|0;l=Oo(A,e)|0;f=0;while(1){if(!l)break;c=a[l>>2]&3;n=a[((c|0)==2?l:l+-48|0)+40>>2]|0;t=a[n+16>>2]|0;f=f+((a[(a[(a[t+20>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[(a[(a[((c|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(a[t+8>>2]|0))f=(pW(A,n,i,r)|0)+f|0;l=_o(A,l)|0}l=qo(A,e)|0;while(1){if(!l)break;t=a[l>>2]&3;n=a[((t|0)==3?l:l+48|0)+40>>2]|0;c=a[n+16>>2]|0;f=f+((a[(a[(a[(a[(a[((t|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[c+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(a[c+8>>2]|0))f=(pW(A,n,i,r)|0)+f|0;l=$o(A,l)|0}return f|0}function UW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=0;while(1){r=jW(A,e)|0;if(!r)break;a[i+(f<<2)>>2]=a[(a[r+16>>2]|0)+20>>2];Ed(e,r)|0;r=Oo(A,r)|0;while(1){if(!r)break;n=_o(A,r)|0;sh(A,r)|0;r=n}f=f+1|0}return f|0}function xW(A,e){A=A|0;e=e|0;return(a[A>>2]|0)-(a[e>>2]|0)|0}function TW(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;i=bd(A,e)|0;Ed(A,e)|0;e=i}return}function jW(A,e){A=A|0;e=e|0;var i=0;i=cd(e)|0;while(1){if(!i){i=0;break}if(!(Eh(A,i,1,0)|0))break;i=bd(e,i)|0}return i|0}function SW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;PW(A);t=A+16|0;f=0;i=0;while(1){if((f|0)>=(a[(a[t>>2]|0)+220>>2]|0))break;OW(A,f);f=f+1|0;i=(KW(A,0,e)|0)+i|0}_W(A);l=1;while(1){f=a[t>>2]|0;n=a[f+180>>2]|0;if((l|0)>(n|0))break;n=(qW(a[(a[f+184>>2]|0)+(l<<2)>>2]|0,e)|0)+i|0;l=l+1|0;i=n}do{if((n|0)>0){f=po(A,85806)|0;if(f|0?(gR(f)|0)<<24>>24==0:0)break;ID(A);r[193769]=1;i=KW(A,2,e)|0}}while(0);$W(A,i);return}function PW(A){A=A|0;var e=0;if(0)tR();r[193769]=0;a[46741]=A;e=((gh(gL(A)|0)|0)<<2)+4|0;a[46740]=qF(e)|0;a[46739]=qF(e)|0;Uy(A);e=A+16|0;if(f[(a[e>>2]|0)+136>>1]&16)xy(A);fD(A);jD(A,1);Ty(A);ny(A);e=a[e>>2]|0;a[46742]=f[e+236>>1];a[46743]=f[e+238>>1];return}function OW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;A=a[A+16>>2]|0;a[A+192>>2]=a[(a[A+216>>2]|0)+(e<<2)>>2];A:do{if((e|0)>0){e=f[A+238>>1]|0;i=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(e|0))break A;r=a[i>>2]|0;n=r+(A<<6)+4|0;r=r+(A<<6)|0;a[n>>2]=(a[n>>2]|0)+(a[r>>2]<<2);a[r>>2]=0;A=A+1|0}}}while(0);return}function KW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+32|0;w=u;if((e|0)>1){r=Cy(0)|0;Iy(A)}else r=2147483647;s=a[15712]|0;c=e;f=0;e=r;while(1){if((c|0)>=3)break;f=a[47136]|0;if((c|0)==2)if((r|0)>(e|0)){Gy(A);r=e}else r=e;else{r=(f|0)<4?f:4;if((gL(A)|0)==(A|0))Zy(A,c);if(!c)ly(A);ty(A);n=Cy(0)|0;if((n|0)>(e|0)){f=r;r=n}else{Iy(A);f=r;r=n;e=n}}n=0;t=0;while(1){if((t|0)>=(f|0))break;if(0){a[w>>2]=c;a[w+4>>2]=t;a[w+8>>2]=n;a[w+12>>2]=r;a[w+16>>2]=e;f3(s,86199,w)|0}l=n+1|0;if((r|0)==0|(n|0)>=(a[46744]|0))break;Qy(A,t);r=Cy(0)|0;if((r|0)>(e|0))n=l;else{Iy(A);n=+b[23215]*+(e|0)>+(r|0)?0:l;e=r}t=t+1|0}if(!r){r=0;break}else c=c+1|0}if((r|0)>(e|0))Gy(A);if((e|0)>0){my(A,0);r=Cy(0)|0}else r=e;A:do{if(i|0){e=0;while(1){if((e|0)>=(f|0))break A;Ly(A);e=e+1|0}}}while(0);k=u;return r|0}function _W(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;Ey(A);b=A+16|0;e=a[b>>2]|0;s=a[15712]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;i=a[e+196>>2]|0;r=a[i+(c<<6)+8>>2]|0;a[i+(c<<6)>>2]=r;n=a[i+(c<<6)+12>>2]|0;a[i+(c<<6)+4>>2]=n;t=0;while(1){if((t|0)>=(r|0))break;l=a[n+(t<<2)>>2]|0;if(!l){u=6;break}a[(a[l+16>>2]|0)+236>>2]=t;t=t+1|0}if((u|0)==6){u=0;if(0){i=Vh(A)|0;e=a[(a[(a[b>>2]|0)+196>>2]|0)+(c<<6)>>2]|0;a[w>>2]=i;a[w+4>>2]=c;a[w+8>>2]=t;a[w+12>>2]=e;f3(s,86149,w)|0;e=a[b>>2]|0;i=a[e+196>>2]|0}a[i+(c<<6)>>2]=t}c=c+1|0}k=o;return}function qW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;dD(A);ny(A);ly(A);ty(A);f=A+16|0;i=KW(A,2,e)|0;r=1;while(1){n=a[f>>2]|0;if((r|0)>(a[n+180>>2]|0))break;i=(qW(a[(a[n+184>>2]|0)+(r<<2)>>2]|0,e)|0)+i|0;r=r+1|0}cy(A);return i|0}function $W(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+16|0;o=h;i=a[46739]|0;if(i|0){L2(i);a[46739]=0}i=a[46740]|0;if(i|0){L2(i);a[46740]=0}u=A+16|0;i=1;while(1){n=a[u>>2]|0;if((i|0)>(a[n+180>>2]|0))break;Ay(a[(a[n+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0}w=f[n+236>>1]|0;i=n;while(1){if((w|0)>(f[i+238>>1]|0))break;else s=0;while(1){i=a[i+196>>2]|0;if((s|0)>=(a[i+(w<<6)>>2]|0))break;c=(a[(a[i+(w<<6)+4>>2]|0)+(s<<2)>>2]|0)+16|0;i=a[c>>2]|0;a[i+236>>2]=s;i=a[i+188>>2]|0;A:do{if(i|0){n=0;while(1){l=a[i+(n<<2)>>2]|0;if(!l)break A;t=l+16|0;if((r[(a[t>>2]|0)+112>>0]|0)==4){MW(l);L2(a[t>>2]|0);L2(l);n=n+-1|0;i=a[(a[c>>2]|0)+188>>2]|0}n=n+1|0}}}while(0);s=s+1|0;i=a[u>>2]|0}ey(a[i+(w<<6)+56>>2]|0);w=w+1|0;i=a[u>>2]|0}if(0){u=a[15712]|0;A=Vh(A)|0;d=+cR();a[o>>2]=A;a[o+4>>2]=e;b[o+8>>3]=d;f3(u,85817,o)|0}k=h;return}function Ay(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;n=A+16|0;e=1;while(1){r=a[n>>2]|0;if((e|0)>(a[r+180>>2]|0))break;Ay(a[(a[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}A:do{if(a[r+268>>2]|0){i=f[r+236>>1]|0;e=r;while(1){if((i|0)>(f[e+238>>1]|0))break A;c=a[(a[e+268>>2]|0)+(i<<2)>>2]|0;t=iy(A,c,-1)|0;c=iy(A,c,1)|0;a[(a[(a[n>>2]|0)+268>>2]|0)+(i<<2)>>2]=t;b=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;t=a[(a[t+16>>2]|0)+236>>2]|0;r=a[n>>2]|0;l=a[r+196>>2]|0;a[l+(i<<6)+4>>2]=b+(t<<2);a[l+(i<<6)>>2]=(a[(a[c+16>>2]|0)+236>>2]|0)+1-t;i=i+1|0;e=r}}}while(0);return}function ey(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function iy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e;while(1){e=ry(e,i)|0;if(!e)break;if(fy(A,e)|0){r=e;continue}f=(ay(A,e)|0)==0;r=f?r:e}return r|0}function ry(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(!A)vA(85856,85781,1023,85858);if((e|0)<0){A=a[A+16>>2]|0;r=a[A+236>>2]|0;if((r|0)>0){A=(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(a[A+232>>2]<<6)+4|0;i=r+-1|0;f=7}else n=0}else{A=a[A+16>>2]|0;r=a[A+236>>2]|0;A=(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(a[A+232>>2]<<6)+4|0;i=r+1|0;f=7}if((f|0)==7){A=a[(a[A>>2]|0)+(i<<2)>>2]|0;if(A)if((U((a[(a[A+16>>2]|0)+236>>2]|0)-r|0,e)|0)>0)n=A;else vA(85867,85781,1029,85858);else n=0}return n|0}function fy(A,e){A=A|0;e=e|0;if(!(r[(a[e+16>>2]|0)+156>>0]|0))A=(Dd(A,e)|0)!=0&1;else A=0;return A|0}function ay(A,e){A=A|0;e=e|0;var i=0,f=0;e=a[e+16>>2]|0;if(((r[e+156>>0]|0)==1?(a[e+176>>2]|0)==1:0)?(a[e+184>>2]|0)==1:0){e=a[e+180>>2]|0;while(1){e=a[e>>2]|0;i=a[e+16>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}if(Dd(A,e)|0)e=1;else f=7}else f=7;if((f|0)==7)e=0;return e|0}function ny(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=a[47140]|0;A:do{if((e|0)!=0|(a[47161]|0)!=0){e=dR(A,e,0)|0;if(e|0){switch(r[e>>0]|0){case 0:break A;case 111:{if(!(A1(e,86069)|0)){hy(A,1);break A}break}case 105:{if(!(A1(e,98735)|0)){hy(A,0);break A}break}default:{}}a[i>>2]=e;ao(1,86073,i)|0;break}e=RB(A)|0;while(1){if(!e)break;if(!(eY(e)|0))ny(e);e=HB(e)|0}if(a[47161]|0)dy(A)}}while(0);k=f;return}function ly(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;e=a[b>>2]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;else{i=0;t=0}while(1){n=a[e+196>>2]|0;l=a[n+(c<<6)>>2]|0;if((t|0)>=(l|0))break;n=a[(a[(a[n+(c<<6)+4>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;r[n+158>>0]=0;r[n+157>>0]=0;a[n+284>>2]=t;if((i|0)==0&(a[n+192>>2]|0)>0){i=ky(l,l)|0;e=a[b>>2]|0;a[(a[e+196>>2]|0)+(c<<6)+56>>2]=i;i=1}t=t+1|0}A:do{if(i){t=0;i=l;while(1){if((t|0)>=(i|0))break A;l=a[(a[n+(c<<6)+4>>2]|0)+(t<<2)>>2]|0;if(!(r[(a[l+16>>2]|0)+157>>0]|0)){oy(A,l);e=a[b>>2]|0;i=a[e+196>>2]|0;n=i;i=a[i+(c<<6)>>2]|0}t=t+1|0}}}while(0);c=c+1|0}return}function ty(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;B=A+16|0;e=a[B>>2]|0;if(r[e+240>>0]|0){l=0;d=f[e+236>>1]|0;h=0;t=0;A:while(1){if((d|0)>(f[e+238>>1]|0))break;i=a[e+196>>2]|0;n=a[i+(d<<6)>>2]|0;if(!n){n=h;i=t}else{i=a[i+(d<<6)+4>>2]|0;k=a[(a[(a[i>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;r[(a[(a[i+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!l)o=$F(e)|0;else o=eV(t,e)|0;w=0;u=0;while(1){e=a[B>>2]|0;i=a[e+196>>2]|0;n=a[i+(d<<6)>>2]|0;if((n|0)<=(u|0))break;c=a[(a[i+(d<<6)+4>>2]|0)+(((a[e+116>>2]&1|0)==0?n+~u|0:u)<<2)>>2]|0;s=c+16|0;e=0;b=0;while(1){t=a[s>>2]|0;if((e|0)>=(a[t+200>>2]|0)){i=0;n=0;e=t;break}t=b+((by(A,a[(a[t+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;b=t}while(1){if((n|0)>=(a[e+192>>2]|0))break;t=i+((by(A,a[(a[e+188>>2]|0)+(n<<2)>>2]|0)|0)!=0&1)|0;i=t;n=n+1|0;e=a[s>>2]|0}if(i|b)if((b|0)==0&(r[e+157>>0]|0)==0)e=(sy(A,c,o+(w<<2)|0,d)|0)+w|0;else e=w;else{a[o+(w<<2)>>2]=c;e=w+1|0}w=e;u=u+1|0}e:do{if(w){i:do{if(!(a[e+116>>2]&1)){i=o;e=o+(w<<2)|0;while(1){e=e+-4|0;if(i>>>0>=e>>>0){n=0;break i}u=a[i>>2]|0;a[i>>2]=a[e>>2];a[e>>2]=u;i=i+4|0}}else n=0}while(0);while(1){e=a[B>>2]|0;t=a[e+196>>2]|0;i=a[t+(d<<6)>>2]|0;if((n|0)>=(i|0)){w=0;n=t;break}u=a[o+(n<<2)>>2]|0;a[(a[t+(d<<6)+4>>2]|0)+(n<<2)>>2]=u;a[(a[u+16>>2]|0)+236>>2]=n+k;n=n+1|0}while(1){if((w|0)>=(i|0))break e;s=(a[(a[n+(d<<6)+4>>2]|0)+(w<<2)>>2]|0)+16|0;t=a[(a[s>>2]|0)+188>>2]|0;if(t){b=0;i=t;while(1){n=a[i+(b<<2)>>2]|0;e=a[B>>2]|0;if(!n)break;c=a[n>>2]&3;t=a[(a[(a[((c|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=a[(a[(a[((c|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(a[e+116>>2]&1))if((t|0)<(c|0))v=36;else e=b;else if((t|0)>(c|0))v=36;else e=b;if((v|0)==36){v=0;if(by(A,n)|0){v=37;break A}MW(n);wy(A,n);e=b+-1|0;i=a[(a[s>>2]|0)+188>>2]|0}b=e+1|0}i=a[e+196>>2]|0;n=i;i=a[i+(d<<6)>>2]|0}w=w+1|0}}}while(0);r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(d<<6)+49>>0]=0;l=o;n=o;i=o}d=d+1|0;h=n;t=i}if((v|0)==37)vA(85915,85781,1561,85954);if(l|0)L2(h)}return}function cy(A){A=A|0;var e=0,i=0;i=A+16|0;A=a[i>>2]|0;A:do{if(a[A+268>>2]|0){e=f[A+236>>1]|0;while(1){if((e|0)>(f[A+238>>1]|0))break A;a[(a[A+268>>2]|0)+(e<<2)>>2]=a[a[(a[A+196>>2]|0)+(e<<6)+4>>2]>>2];e=e+1|0;A=a[i>>2]|0}}}while(0);return}function by(A,e){A=A|0;e=e|0;if((a[(a[e+16>>2]|0)+156>>2]|0)!=0?(uy(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)!=0:0)A=(uy(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)!=0&1;else A=0;return A|0}function sy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=e+16|0;n=a[s>>2]|0;r[n+157>>0]=1;A:do{if((a[n+192>>2]|0)>0){l=0;c=0;while(1){t=a[(a[n+188>>2]|0)+(c<<2)>>2]|0;if(!t)break A;if((by(A,t)|0)!=0?(b=a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,(r[(a[b+16>>2]|0)+157>>0]|0)==0):0)l=(sy(A,b,i+(l<<2)|0,f)|0)+l|0;c=c+1|0;n=a[s>>2]|0}}else l=0}while(0);if((a[n+232>>2]|0)==(f|0)){a[i+(l<<2)>>2]=e;return l+1|0}else vA(85967,85781,1490,85983);return 0}function wy(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;t=a[e>>2]&3;c=a[((t|0)==2?e:e+-48|0)+40>>2]|0;f=a[(a[c+16>>2]|0)+188>>2]|0;A:do{if(!f){i=e+48|0;w=15}else{s=e+48|0;n=((t|0)==3?e:s)+40|0;i=0;while(1){l=a[f+(i<<2)>>2]|0;if(!l){i=s;w=15;break A}if((a[((a[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)==(a[n>>2]|0))break;else i=i+1|0}FW(e,l);i=(a[e+16>>2]|0)+172|0;if(!(a[i>>2]|0))a[i>>2]=l;i=a[l+16>>2]|0;if((r[i+112>>0]|0)==4?(b=i+116|0,(a[b>>2]|0)==0):0)a[b>>2]=e;i=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;f=a[i+204>>2]|0;if(!f)i=$F((a[i+208>>2]<<2)+8|0)|0;else i=eV(f,(a[i+208>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0)+204>>2]=i;t=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;c=a[t+204>>2]|0;t=t+208|0;b=a[t>>2]|0;a[t>>2]=b+1;a[c+(b<<2)>>2]=e;e=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;a[(a[e+204>>2]|0)+(a[e+208>>2]<<2)>>2]=0}}while(0);if((w|0)==15){w=QW(c,a[((t|0)==3?e:i)+40>>2]|0,e)|0;s=a[e+16>>2]|0;e=a[w+16>>2]|0;r[e+112>>0]=(r[s+112>>0]|0)==4?4:3;a[e+96>>2]=a[s+96>>2];DW(A,w)}return}function uy(A,e){A=A|0;e=e|0;var i=0;i=fy(A,e)|0;return ay(A,e)|0|i|0}function ky(A,e){A=A|0;e=e|0;var i=0;i=qF(12)|0;a[i>>2]=A;a[i+4>>2]=e;a[i+8>>2]=qF(U(e,A)|0)|0;return i|0}function oy(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;k=e+16|0;s=a[k>>2]|0;b=a[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[s+232>>2]<<6)+56>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=(a[(a[(gL(A)|0)+16>>2]|0)+180>>2]|0)>0;i=a[k>>2]|0;f=a[i+188>>2]|0;A:do{if(f){w=b+4|0;u=b+8|0;e=0;e:while(1){c=a[f+(e<<2)>>2]|0;if(!c){o=i;break A}if(s){if((Dd(A,a[((a[c>>2]&3|0)==3?c:c+48|0)+40>>2]|0)|0)!=0?(Dd(A,a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)|0)!=0:0)h=7}else h=7;do{if((h|0)==7){h=0;l=c+16|0;if(a[(a[l>>2]|0)+156>>2]|0){i=a[c>>2]&3;n=c+-48|0;d=a[(a[((i|0)==2?c:n)+40>>2]|0)+16>>2]|0;t=a[d+284>>2]|0;f=(t|0)<(a[b>>2]|0);if((r[d+158>>0]|0)==1){if(!f){h=10;break e}i=a[(a[(a[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=a[w>>2]|0;if((i|0)>=(f|0)){h=12;break e}r[(a[u>>2]|0)+((U(f,t)|0)+i)>>0]=1;MW(c);e=e+-1|0;if((r[(a[l>>2]|0)+112>>0]|0)==4)break;wy(A,c);break}else{if(!f){h=16;break e}i=a[(a[(a[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=a[w>>2]|0;if((i|0)>=(f|0)){h=18;break e}r[(a[u>>2]|0)+((U(f,i)|0)+t)>>0]=1;i=a[((a[c>>2]&3|0)==2?c:n)+40>>2]|0;if(r[(a[i+16>>2]|0)+157>>0]|0)break;oy(A,i);break}}}}while(0);f=a[k>>2]|0;e=e+1|0;i=f;f=a[f+188>>2]|0}if((h|0)==10)vA(85993,85781,1251,86025);else if((h|0)==12)vA(86037,85781,1252,86025);else if((h|0)==16)vA(85993,85781,1260,86025);else if((h|0)==18)vA(86037,85781,1261,86025)}else o=i}while(0);r[o+158>>0]=0;return}function hy(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i)break;By(A,i,e);i=bd(A,i)|0}return}function dy(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;e=cd(A)|0;while(1){if(!e)break;i=dR(e,a[47161]|0,0)|0;A:do{if(i|0){switch(r[i>>0]|0){case 0:break A;case 111:{if(!(A1(i,86069)|0)){By(A,e,1);break A}break}case 105:{if(!(A1(i,98735)|0)){By(A,e,0);break A}break}default:{}}l=Vh(e)|0;a[f>>2]=i;a[f+4>>2]=l;ao(1,86104,f)|0}}while(0);e=bd(A,e)|0}k=n;return}function By(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=a[46740]|0;l=e+16|0;f=a[l>>2]|0;A:do{if(!(a[f+212>>2]|0)){t=(i|0)!=0;e:do{if(t){n=0;e=0;i=f;while(1){f=a[(a[i+180>>2]|0)+(n<<2)>>2]|0;if(!f)break e;if(!(vy(f)|0)){a[c+(e<<2)>>2]=f;e=e+1|0;i=a[l>>2]|0}n=n+1|0}}else{n=0;e=0;i=f;while(1){f=a[(a[i+172>>2]|0)+(n<<2)>>2]|0;if(!f)break e;if(!(vy(f)|0)){a[c+(e<<2)>>2]=f;e=e+1|0;i=a[l>>2]|0}n=n+1|0}}}while(0);if((e|0)>=2){a[c+(e<<2)>>2]=0;K4(c,e,4,61);l=t?2:3;n=t?-1:1;f=1;while(1){e=a[c+(f<<2)>>2]|0;if(!e)break A;i=a[c+(f+-1<<2)>>2]|0;i=a[((a[i>>2]&3|0)==(l|0)?i:i+(n*48|0)|0)+40>>2]|0;e=a[((a[e>>2]&3|0)==(l|0)?e:e+(n*48|0)|0)+40>>2]|0;if(vW(i,e)|0)break A;t=QW(i,e,0)|0;r[(a[t+16>>2]|0)+112>>0]=4;DW(A,t);f=f+1|0}}}}while(0);return}function vy(A){A=A|0;var e=0;while(1){e=a[(a[A+16>>2]|0)+116>>2]|0;if(!e)break;else A=e}e=a[A>>2]&3;return(a[(a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(a[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function gy(A,e){A=A|0;e=e|0;return((a[a[A>>2]>>2]|0)>>>4)-((a[a[e>>2]>>2]|0)>>>4)|0}function Ey(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0;r=a[A+16>>2]|0;n=r+220|0;l=a[n>>2]|0;if((l|0)>=2){t=r+216|0;A=0;i=0;while(1){if((i|0)>=(l|0))break;e=a[(a[t>>2]|0)+(i<<2)>>2]|0;if(A|0)a[(a[A+16>>2]|0)+164>>2]=e;c=a[e+16>>2]|0;a[c+168>>2]=A;A=e;e=c;while(1){e=a[e+164>>2]|0;if(!e)break;A=e;e=a[e+16>>2]|0}i=i+1|0}a[n>>2]=1;a[r+192>>2]=a[a[r+216>>2]>>2];f[r+236>>1]=a[46742];f[r+238>>1]=a[46743]}return}function Cy(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0;t=a[46741]|0;c=t+16|0;i=a[c>>2]|0;n=0;l=f[i+236>>1]|0;while(1){if((l|0)>=(f[i+238>>1]|0))break;A=a[i+196>>2]|0;if(!(r[A+(l<<6)+49>>0]|0)){e=Hy(t,l)|0;A=a[c>>2]|0;i=a[A+196>>2]|0;a[i+(l<<6)+52>>2]=e;r[i+(l<<6)+49>>0]=1}else{e=a[A+(l<<6)+52>>2]|0;A=i}n=e+n|0;l=l+1|0;i=A}return n|0}function Iy(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;A=a[A+16>>2]|0;n=f[A+238>>1]|0;l=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(n|0))break;r=a[l>>2]|0;i=a[r+(A<<6)>>2]|0;r=r+(A<<6)+4|0;e=0;while(1){if((e|0)>=(i|0))break;t=a[(a[(a[r>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;b[t+16>>3]=+(a[t+236>>2]|0);e=e+1|0}A=A+1|0}return}function Zy(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;s=d;w=A+16|0;u=bR(a[(a[w>>2]|0)+232>>2]|0)|0;c=a[w>>2]|0;i=c+192|0;n=i;while(1){n=a[n>>2]|0;if(!n)break;n=a[n+16>>2]|0;r[n+157>>0]=0;n=n+164|0}l=f[c+238>>1]|0;t=c+196|0;n=f[c+236>>1]|0;while(1){if((n|0)>(l|0))break;a[(a[t>>2]|0)+(n<<6)>>2]=0;n=n+1|0}t=(e|0)==0;while(1){n=a[i>>2]|0;if(!n)break;l=n+16|0;i=a[l>>2]|0;if((a[a[(t?i+172|0:i+180|0)>>2]>>2]|0)==0?(b=i+157|0,(r[b>>0]|0)==0):0){r[b>>0]=1;wR(u,n);while(1){i=uR(u)|0;if(!i)break;if((r[(a[i+16>>2]|0)+159>>0]|0)==7){CD(A,i,e,u);continue}else{Xy(A,i);Ry(u,i,e);continue}}i=a[l>>2]|0}i=i+164|0}if(uR(u)|0)ao(1,86312,s)|0;i=a[w>>2]|0;c=f[i+236>>1]|0;while(1){if((c|0)>(f[i+238>>1]|0))break;r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+49>>0]=0;if((a[i+116>>2]&1|0)!=0?(o=a[i+196>>2]|0,h=a[o+(c<<6)>>2]|0,(h|0)>0):0){n=a[o+(c<<6)+4>>2]|0;l=h+-1|0;t=(l|0)/2|0;i=0;while(1){if((i|0)>(t|0))break;Dy(a[n+(i<<2)>>2]|0,a[n+(l-i<<2)>>2]|0);i=i+1|0}i=a[w>>2]|0}c=c+1|0}if((gL(A)|0)==(A|0)?(Cy(0)|0)>0:0)my(A,0);sR(u);k=d;return}function Gy(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;u=A+16|0;A=a[u>>2]|0;i=f[A+236>>1]|0;e=f[A+238>>1]|0;s=e<<16>>16;w=A+196|0;n=i;while(1){if((n|0)>(s|0))break;c=a[w>>2]|0;t=a[c+(n<<6)>>2]|0;c=c+(n<<6)+4|0;l=0;while(1){if((l|0)>=(t|0))break;k=a[(a[(a[c>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;a[k+236>>2]=~~+b[k+16>>3];l=l+1|0}n=n+1|0}while(1){if((i|0)>(e<<16>>16|0))break;r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(i<<6)+49>>0]=0;k=a[A+196>>2]|0;K4(a[k+(i<<6)+4>>2]|0,a[k+(i<<6)>>2]|0,4,62);k=a[u>>2]|0;i=i+1|0;e=f[k+238>>1]|0;A=k}return}function Qy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=((e|0)%4|0|0)<2&1;i=a[A+16>>2]|0;if(!(e&1)){e=f[i+236>>1]|0;r=1;i=f[i+238>>1]|0;e=(e<<16>>16<=(f[(a[(a[46741]|0)+16>>2]|0)+236>>1]|0)&1)+(e<<16>>16)|0}else{e=f[i+238>>1]|0;r=-1;i=f[i+236>>1]|0;e=((e<<16>>16>=(f[(a[(a[46741]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(e<<16>>16)|0}i=r+i|0;while(1){if((e|0)==(i|0))break;Vy(A,e,n,(Fy(A,e,e-r|0)|0)&255);e=e+r|0}my(A,n^1);return}function my(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;n=a[b>>2]|0;t=f[n+236>>1]|0;c=f[n+238>>1]|0;l=n+196|0;i=t<<16>>16;while(1){if((i|0)>(c|0)){l=t;break}r[(a[l>>2]|0)+(i<<6)+48>>0]=1;i=i+1|0}while(1){i=0;l=l<<16>>16;while(1){if((l|0)>(f[n+238>>1]|0))break;if(r[(a[n+196>>2]|0)+(l<<6)+48>>0]|0){i=(My(A,l,e)|0)+i|0;n=a[b>>2]|0}l=l+1|0}if((i|0)<=0)break;l=f[n+236>>1]|0}return}function Ly(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;k=A+16|0;e=a[k>>2]|0;u=f[e+238>>1]|0;A:while(1){if((u|0)<(f[e+236>>1]|0)){e=16;break}i=a[e+196>>2]|0;r[i+(u<<6)+48>>0]=0;o=(u|0)>0;h=u+1|0;n=0;e:while(1){s=(a[i+(u<<6)>>2]|0)+-1|0;w=i+(u<<6)+4|0;b=i+(h<<6)|0;while(1){if((n|0)>=(s|0))break e;c=a[w>>2]|0;t=a[c+(n<<2)>>2]|0;n=n+1|0;c=a[c+(n<<2)>>2]|0;if((a[(a[t+16>>2]|0)+236>>2]|0)>=(a[(a[c+16>>2]|0)+236>>2]|0)){e=7;break A}if(Wy(A,t,c)|0)continue;if(o){i=yy(t,c)|0;l=yy(c,t)|0}else{i=0;l=0}if((a[b>>2]|0)>0){i=(zy(t,c)|0)+i|0;l=(zy(c,t)|0)+l|0}if((l|0)<=(i|0))break}Yy(A,u,t,c);e=a[k>>2]|0;i=a[e+196>>2]|0}u=u+-1|0}if((e|0)==7)vA(86263,85781,721,86289);else if((e|0)==16)return}function Wy(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=a[e+16>>2]|0;t=a[c+212>>2]|0;f=a[i+16>>2]|0;n=a[f+212>>2]|0;l=(t|0)!=(n|0);do{if(!(r[193769]|0))if((n|0)==0|((t|0)==0|l^1))b=9;else{if((r[c+159>>0]|0)==7?(r[c+156>>0]|0)==1:0){A=0;break}if((r[f+159>>0]|0)==7?(r[f+156>>0]|0)==1:0){A=0;break}A=1}else if(l)A=1;else b=9}while(0);if((b|0)==9){f=a[A+16>>2]|0;A=a[(a[f+196>>2]|0)+(a[c+232>>2]<<6)+56>>2]|0;if(!A)A=0;else{c=(a[f+116>>2]&1|0)==0;b=U(a[A+4>>2]|0,a[(a[(c?e:i)+16>>2]|0)+284>>2]|0)|0;A=r[(a[A+8>>2]|0)+((a[(a[(c?i:e)+16>>2]|0)+284>>2]|0)+b)>>0]|0}}return A|0}function yy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;s=A+16|0;t=a[(a[e+16>>2]|0)+172>>2]|0;e=0;while(1){A=a[t>>2]|0;if(!A)break;l=a[A+16>>2]|0;c=f[l+154>>1]|0;n=a[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+16|0;r=a[(a[s>>2]|0)+172>>2]|0;A=e;while(1){e=a[r>>2]|0;if(!e)break;i=(a[(a[(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((i|0)<=0){if((i|0)==0?(w=a[e+16>>2]|0,+b[w+16>>3]>+b[l>>3]):0){e=w;u=9}}else{e=a[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(U(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function zy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;s=A+16|0;t=a[(a[e+16>>2]|0)+180>>2]|0;e=0;while(1){A=a[t>>2]|0;if(!A)break;l=a[A+16>>2]|0;c=f[l+154>>1]|0;n=a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+56|0;r=a[(a[s>>2]|0)+180>>2]|0;A=e;while(1){e=a[r>>2]|0;if(!e)break;i=(a[(a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((i|0)<=0){if((i|0)==0?(w=a[e+16>>2]|0,+b[w+56>>3]>+b[l>>3]):0){e=w;u=9}}else{e=a[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(U(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function Yy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;t=r[(a[i+16>>2]|0)+156>>0]|0;if(t<<24>>24!=(r[(a[f+16>>2]|0)+156>>0]|0)){c=A+16|0;s=a[(a[c>>2]|0)+196>>2]|0;b=a[s+(e<<6)>>2]|0;s=s+(e<<6)+4|0;A=0;n=0;l=0;while(1){if((A|0)>=(b|0))break;k=(r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;A=A+1|0;n=n+(k&1)|0;l=l+((k^1)&1)|0}t=t<<24>>24==0;l=(n|0)<(l|0)?t?i:f:t?f:i;t=0;A=0;while(1){if((A|0)>=(b|0))break;t=(a[(a[s>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}k=(r[(a[l+16>>2]|0)+156>>0]|0)==0&1;u=0;n=t;while(1){A=n+-1|0;if((n|0)<=0){w=0;A=t;break}if((r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0)){w=0;A=t;break}u=u+1|0;n=A}while(1){A=A+1|0;if((A|0)>=(b|0))break;if((r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0))break;w=w+1|0}Dy(i,f);c=a[(a[c>>2]|0)+196>>2]|0;b=a[c+(e<<6)>>2]|0;c=c+(e<<6)+4|0;A=0;while(1){if((A|0)>=(b|0)){l=0;n=t;break}t=(a[(a[c>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}while(1){A=n+-1|0;if((n|0)<=0){n=0;A=t;break}if((r[(a[(a[(a[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0)){n=0;A=t;break}l=l+1|0;n=A}while(1){A=A+1|0;if((A|0)>=(b|0))break;if((r[(a[(a[(a[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0))break;n=n+1|0}e=l-n|0;k=u-w|0;if((((e|0)>-1?e:0-e|0)|0)>(((k|0)>-1?k:0-k|0)|0))Dy(i,f)}return}function Dy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;f=a[A+16>>2]|0;r=a[f+232>>2]|0;f=f+236|0;i=a[f>>2]|0;n=e+16|0;l=a[(a[n>>2]|0)+236>>2]|0;a[f>>2]=l;f=(a[46741]|0)+16|0;a[(a[(a[(a[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(l<<2)>>2]=A;a[(a[n>>2]|0)+236>>2]=i;a[(a[(a[(a[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return}function My(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;h=A+16|0;u=a[(a[h>>2]|0)+196>>2]|0;r[u+(e<<6)+48>>0]=0;d=(e|0)>0;B=e+1|0;k=(i|0)!=0;o=e+-1|0;n=0;t=0;i=u;A:while(1){s=(a[i+(e<<6)>>2]|0)+-1|0;w=i+(e<<6)+4|0;l=i+(B<<6)|0;u=n;while(1){if((u|0)>=(s|0)){i=17;break A}b=a[w>>2]|0;c=a[b+(u<<2)>>2]|0;u=u+1|0;b=a[b+(u<<2)>>2]|0;if((a[(a[c+16>>2]|0)+236>>2]|0)>=(a[(a[b+16>>2]|0)+236>>2]|0)){i=5;break A}if(Wy(A,c,b)|0)continue;if(d){i=yy(c,b)|0;n=yy(b,c)|0}else{i=0;n=0}if((a[l>>2]|0)>0){i=(zy(c,b)|0)+i|0;n=(zy(b,c)|0)+n|0}if((i|0)>(n|0))break;if((i|0)==(n|0)&(k&(i|0)>0)){i=n;break}}Dy(c,b);t=i-n+t|0;n=a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0;r[n+(e<<6)+49>>0]=0;l=a[h>>2]|0;i=a[l+196>>2]|0;r[i+(e<<6)+48>>0]=1;if((f[l+236>>1]|0)<(e|0)){r[n+(o<<6)+49>>0]=0;r[i+(o<<6)+48>>0]=1}if((f[l+238>>1]|0)<=(e|0)){n=u;continue}r[n+(B<<6)+49>>0]=0;r[i+(B<<6)+48>>0]=1;n=u}if((i|0)==5)vA(86263,85781,770,86297);else if((i|0)==17)return t|0;return 0}function Fy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=a[46739]|0;h=A+16|0;A=a[(a[h>>2]|0)+196>>2]|0;d=a[A+(e<<6)+4>>2]|0;u=(i|0)>(e|0);k=o+4|0;w=0;while(1){i=a[A+(e<<6)>>2]|0;if((w|0)>=(i|0)){A=0;t=0;break}s=(a[d+(w<<2)>>2]|0)+16|0;A=a[s>>2]|0;A:do{if(u){c=a[A+180>>2]|0;A=0;t=0;while(1){i=a[c+(t<<2)>>2]|0;if(!i)break A;r=a[i+16>>2]|0;if((f[r+154>>1]|0)>0){a[o+(A<<2)>>2]=a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[r+88>>0];A=A+1|0}t=t+1|0}}else{c=a[A+172>>2]|0;t=0;A=0;while(1){i=a[c+(t<<2)>>2]|0;if(!i)break A;r=a[i+16>>2]|0;if((f[r+154>>1]|0)>0){a[o+(A<<2)>>2]=a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[r+48>>0];A=A+1|0}t=t+1|0}}}while(0);A:do{switch(A|0){case 0:{l=-1.0;break}case 1:{l=+(a[o>>2]|0);break}case 2:{l=+(((a[k>>2]|0)+(a[o>>2]|0)|0)/2|0|0);break}default:{K4(o,A,4,60);i=(A|0)/2|0;if(A&1|0){l=+(a[o+(i<<2)>>2]|0);break A}t=a[o+(i<<2)>>2]|0;r=(a[o+(A+-1<<2)>>2]|0)-t|0;A=a[o+(i+-1<<2)>>2]|0;i=A-(a[o>>2]|0)|0;if((i|0)==(r|0)){l=+((A+t|0)/2|0|0);break A}else{l=+(((U(i,t)|0)+(U(A,r)|0)|0)/(i+r|0)|0|0);break A}}}}while(0);b[(a[s>>2]|0)+240>>3]=l;w=w+1|0;A=a[(a[h>>2]|0)+196>>2]|0}while(1){if((t|0)>=(i|0))break;r=a[d+(t<<2)>>2]|0;o=a[r+16>>2]|0;if((a[o+184>>2]|0)==0?(a[o+176>>2]|0)==0:0){A=(Jy(r)|0|A&255)&255;i=a[(a[(a[h>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}t=t+1|0}return A|0}function Vy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0,B=0;k=a[(a[A+16>>2]|0)+196>>2]|0;B=a[k+(e<<6)+4>>2]|0;k=a[k+(e<<6)>>2]|0;h=(i|0)!=0;o=(f|i|0)==0;f=0;i=k;k=B+(k<<2)|0;while(1){u=i+-1|0;if((i|0)>0)i=B;else break;A:while(1){e:while(1){if(i>>>0>=k>>>0)break A;while(1){if(i>>>0>=k>>>0)break A;s=a[i>>2]|0;w=+b[(a[s+16>>2]|0)+240>>3];if(!(w<0.0))break;i=i+4|0}c=0;while(1){n=c<<24>>24==0;while(1){i=i+4|0;if(i>>>0>=k>>>0)break A;if(n){n=11;break}l=a[i>>2]|0;if(!(a[(a[l+16>>2]|0)+212>>2]|0)){n=13;break}}if((n|0)==11){l=a[i>>2]|0;t=l}else if((n|0)==13)t=l;if(Wy(A,s,t)|0)continue e;n=a[l+16>>2]|0;if(+b[n+240>>3]>=0.0)break;c=(a[n+212>>2]|0)==0?c:1}n=~~w;c=~~+b[(a[l+16>>2]|0)+240>>3];if((n|0)>(c|0)|h&(n|0)==(c|0))break}Dy(s,t);f=f+1|0}i=u;k=o?k+-4|0:k}if(f|0?(d=a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0,r[d+(e<<6)+49>>0]=0,(e|0)>0):0)r[d+(e+-1<<6)+49>>0]=0;return}function Jy(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0;n=a[A+16>>2]|0;if((a[n+200>>2]|0)>0){f=a[n+196>>2]|0;A=a[f>>2]|0;A=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;i=1;while(1){r=a[f+(i<<2)>>2]|0;if(!r)break;r=a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0;A=(a[(a[r+16>>2]|0)+236>>2]|0)>(a[(a[A+16>>2]|0)+236>>2]|0)?r:A;i=i+1|0}e=+b[(a[A+16>>2]|0)+240>>3];if(!(e>=0.0))A=1;else{b[n+240>>3]=e+1.0;A=0}}else if((a[n+192>>2]|0)>0){r=a[n+188>>2]|0;i=a[r>>2]|0;A=1;i=a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;while(1){f=a[r+(A<<2)>>2]|0;if(!f)break;f=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;A=A+1|0;i=(a[(a[f+16>>2]|0)+236>>2]|0)<(a[(a[i+16>>2]|0)+236>>2]|0)?f:i}e=+b[(a[i+16>>2]|0)+240>>3];if(e>0.0){b[n+240>>3]=e+-1.0;A=0}else A=1}else A=1;return A|0}function Ny(A,e){A=A|0;e=e|0;return(a[(a[(a[A>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[e>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Xy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+96|0;u=o+64|0;w=o+48|0;l=o+24|0;r=o;c=e+16|0;b=a[(a[c>>2]|0)+232>>2]|0;s=A+16|0;i=a[(a[s>>2]|0)+196>>2]|0;t=a[i+(b<<6)>>2]|0;do{if((a[i+(b<<6)+8>>2]|0)>=1){a[(a[i+(b<<6)+4>>2]|0)+(t<<2)>>2]=e;a[(a[c>>2]|0)+236>>2]=t;A=a[s>>2]|0;r=a[A+196>>2]|0;i=r+(b<<6)|0;n=a[i>>2]|0;a[i>>2]=n+1;if((n|0)>=(a[r+(b<<6)+8>>2]|0))vA(86377,85781,1346,86413);n=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]|0;if((t|0)>(n|0)){s=Vh(e)|0;w=a[(a[c>>2]|0)+236>>2]|0;u=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]|0;a[l>>2]=1359;a[l+4>>2]=s;a[l+8>>2]=w;a[l+12>>2]=b;a[l+16>>2]=u;ao(1,86429,l)|0;break}i=f[A+236>>1]|0;A=f[A+238>>1]|0;if((b|0)<(i|0)|(b|0)>(A<<16>>16|0)){a[w>>2]=1364;a[w+4>>2]=b;a[w+8>>2]=i;a[w+12>>2]=A<<16>>16;ao(1,86502,w)|0;break}if(((a[r+(b<<6)+4>>2]|0)+(t<<2)|0)>>>0>((a[r+(b<<6)+12>>2]|0)+(n<<2)|0)>>>0){t=Vh(e)|0;w=a[(a[s>>2]|0)+196>>2]|0;s=(a[w+(b<<6)+4>>2]|0)+(a[(a[c>>2]|0)+236>>2]<<2)|0;w=(a[w+(b<<6)+12>>2]|0)+(a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]<<2)|0;a[u>>2]=1370;a[u+4>>2]=b;a[u+8>>2]=t;a[u+12>>2]=s;a[u+16>>2]=b;a[u+20>>2]=b;a[u+24>>2]=w;ao(1,86563,u)|0}}else{w=Vh(A)|0;u=Vh(e)|0;a[r>>2]=1339;a[r+4>>2]=w;a[r+8>>2]=u;a[r+12>>2]=b;a[r+16>>2]=t;ao(1,86322,r)|0}}while(0);k=o;return}function Ry(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=e+16|0;A:do{if(!i){n=0;while(1){e=a[l>>2]|0;if((n|0)>=(a[e+184>>2]|0))break A;e=a[(a[e+180>>2]|0)+(n<<2)>>2]|0;i=e+-48|0;f=(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;wR(A,a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)}n=n+1|0}}else{n=0;while(1){e=a[l>>2]|0;if((n|0)>=(a[e+176>>2]|0))break A;e=a[(a[e+172>>2]|0)+(n<<2)>>2]|0;i=e+48|0;f=(a[(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;wR(A,a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)}n=n+1|0}}}while(0);return}function Hy(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;g=E;n=A+16|0;i=a[(a[n>>2]|0)+196>>2]|0;B=a[i+(e<<6)+4>>2]|0;v=e+1|0;A=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(v<<6)>>2]|0;if((a[46745]|0)>(A|0))h=a[46746]|0;else{A=A+1|0;a[46745]=A;i=a[46746]|0;if(!i)A=$F(A<<2)|0;else A=eV(i,A<<2)|0;a[46746]=A;i=a[(a[n>>2]|0)+196>>2]|0;h=A}d=i+(v<<6)|0;A=0;while(1){if((A|0)>=(a[d>>2]|0))break;a[h+(A<<2)>>2]=0;A=A+1|0}o=i+(e<<6)|0;u=0;l=0;A=0;c=h;while(1){b=a[o>>2]|0;if((u|0)>=(b|0))break;w=a[(a[(a[B+(u<<2)>>2]|0)+16>>2]|0)+180>>2]|0;A:do{if((l|0)>0){s=0;while(1){n=a[w+(s<<2)>>2]|0;if(!n)break A;b=n+16|0;t=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){n=t+1|0;if((t|0)>=(l|0))break;t=n;A=(U(a[c+(n<<2)>>2]|0,f[(a[b>>2]|0)+154>>1]|0)|0)+A|0}s=s+1|0}}}while(0);t=0;while(1){n=a[w+(t<<2)>>2]|0;if(!n)break;c=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=h+(c<<2)|0;a[s>>2]=(a[s>>2]|0)+(f[(a[n+16>>2]|0)+154>>1]|0);l=(c|0)>(l|0)?c:l;t=t+1|0;c=h}u=u+1|0}t=i+(e<<6)+4|0;l=0;while(1){if((l|0)>=(b|0))break;n=a[(a[(a[t>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;if(r[n+145>>0]|0){e=n+180|0;a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];A=(py(g,1)|0)+A|0}l=l+1|0}t=a[d>>2]|0;l=i+(v<<6)+4|0;n=0;while(1){if((n|0)>=(t|0))break;i=a[(a[(a[l>>2]|0)+(n<<2)>>2]|0)+16>>2]|0;if(r[i+145>>0]|0){v=i+172|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];A=(py(g,-1)|0)+A|0}n=n+1|0}k=E;return A|0}function py(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=(e|0)<1;s=a[A>>2]|0;e=0;A=0;A:while(1){w=a[s+(e<<2)>>2]|0;if(!w)break;e=e+1|0;if(u){t=w+48|0;c=w+16|0;l=e;while(1){i=a[s+(l<<2)>>2]|0;if(!i)continue A;r=a[i+16>>2]|0;n=a[c>>2]|0;if((+b[r+56>>3]-+b[n+56>>3])*+((a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[((a[w>>2]&3|0)==3?w:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(U(f[r+154>>1]|0,f[n+154>>1]|0)|0)+A|0;l=l+1|0}}else{t=w+-48|0;c=w+16|0;l=e;while(1){i=a[s+(l<<2)>>2]|0;if(!i)continue A;r=a[i+16>>2]|0;n=a[c>>2]|0;if((+b[r+16>>3]-+b[n+16>>3])*+((a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[((a[w>>2]&3|0)==2?w:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(U(f[r+154>>1]|0,f[n+154>>1]|0)|0)+A|0;l=l+1|0}}}return A|0}function Uy(A){A=A|0;var e=0.0,i=0.0;a[46744]=8;a[47136]=24;b[23215]=.995;A=po(A,86685)|0;if(A|0?(e=+$3(A),e>0.0):0){i=e*+(a[46744]|0);a[46744]=~~(i>1.0?i:1.0);e=e*+(a[47136]|0);a[47136]=~~(e>1.0?e:1.0)}return}function xy(A){A=A|0;var e=0,i=0;i=(f[(a[A+16>>2]|0)+238>>1]|0)+2|0;e=qF(i<<2)|0;jy(A,e,i,0)|0;L2(e);return}function Ty(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;l=A+16|0;t=qF((f[(a[l>>2]|0)+238>>1]<<2)+8|0)|0;n=cd(A)|0;while(1){if(!n)break;r=t+(a[(a[n+16>>2]|0)+232>>2]<<2)|0;a[r>>2]=(a[r>>2]|0)+1;r=Oo(A,n)|0;while(1){if(!r)break;c=a[r>>2]&3;e=a[(a[(a[((c|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;c=a[(a[(a[((c|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;b=(e|0)>(c|0);i=b?e:c;e=b?c:e;while(1){e=e+1|0;if((e|0)>=(i|0))break;b=t+(e<<2)|0;a[b>>2]=(a[b>>2]|0)+1}r=_o(A,r)|0}n=bd(A,n)|0}r=qF((f[(a[l>>2]|0)+238>>1]<<6)+128|0)|0;i=a[l>>2]|0;a[i+196>>2]=r;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;c=t+(e<<2)|0;i=a[c>>2]|0;a[r+(e<<6)>>2]=i;a[r+(e<<6)+8>>2]=i;c=qF((a[c>>2]<<2)+4|0)|0;i=a[l>>2]|0;b=a[i+196>>2]|0;a[b+(e<<6)+4>>2]=c;a[b+(e<<6)+12>>2]=c;e=e+1|0;r=b}L2(t);return}function jy(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,s=0,w=0;w=A+16|0;l=1;while(1){n=a[w>>2]|0;if((l|0)>(a[n+180>>2]|0))break;s=jy(a[(a[n+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;l=l+1|0;r=s}A:do{if((gL(A)|0)!=(A|0)){Y6(e|0,0,i<<2|0)|0;n=cd(A)|0;while(1){if(!n)break;c=n+16|0;a[e+(a[(a[c>>2]|0)+232>>2]<<2)>>2]=1;l=Oo(A,n)|0;while(1){if(!l)break;s=l+-48|0;t=a[(a[c>>2]|0)+232>>2]|0;while(1){i=t+1|0;if((t|0)>=(a[(a[(a[((a[l>>2]&3|0)==2?l:s)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;a[e+(i<<2)>>2]=1;t=i}l=_o(A,l)|0}n=bd(A,n)|0}n=a[w>>2]|0;l=f[n+236>>1]|0;while(1){if((l|0)>(f[n+238>>1]|0))break A;if(!(a[e+(l<<2)>>2]|0)){if(!r)r=XB(gL(A)|0,86675,1)|0;n=vd(r,0,1)|0;Td(n,137447,304,1)|0;s=n+16|0;t=a[s>>2]|0;a[t+232>>2]=l;b[t+96>>3]=.5;b[t+88>>3]=.5;b[t+80>>3]=1.0;a[t+216>>2]=1;a[t+176>>2]=0;t=qF(20)|0;c=a[s>>2]|0;a[c+172>>2]=t;a[c+184>>2]=0;c=qF(20)|0;a[(a[s>>2]|0)+180>>2]=c;kd(A,n,1)|0;n=a[w>>2]|0}l=l+1|0}}}while(0);return r|0}function Sy(A){A=A|0;var e=0,i=0;cy(A);e=A+16|0;A=1;while(1){i=a[e>>2]|0;if((A|0)>(a[i+180>>2]|0))break;Sy(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function Py(A){A=A|0;var e=0,i=0;e=a[A>>2]&3;i=Oy(a[((e|0)==3?A:A+48|0)+40>>2]|0)|0;e=a[17308+(i*12|0)+((Oy(a[((e|0)==2?A:A+-48|0)+40>>2]|0)|0)<<2)>>2]|0;A=(a[A+16>>2]|0)+156|0;a[A>>2]=U(a[A>>2]|0,e)|0;return}function Oy(A){A=A|0;A=a[A+16>>2]|0;if((r[A+156>>0]|0)==1)A=2;else A=(r[A+160>>0]|0)<2&1;return A|0}function Ky(A,e){A=A|0;e=e|0;if(a[(a[A+16>>2]|0)+192>>2]|0){ID(A);_y(A);if(r[194954]|0)JD(A);qy(A);if(eM(A)|0)_y(A);$y(A);if(JV(A,2,Az(A)|0)|0?(ez(A),JV(A,2,Az(A)|0)|0):0)vA(86693,86721,134,86732);iz(A);rz(A,e);fz(A)}return}function _y(A){A=A|0;var e=0,i=0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;E=A+16|0;e=a[E>>2]|0;C=a[e+196>>2]|0;v=f[e+236>>1]|0;while(1){if((v|0)>(f[e+238>>1]|0))break;u=C+(v<<6)|0;k=C+(v<<6)+4|0;o=C+(v<<6)+40|0;h=C+(v<<6)+24|0;d=C+(v<<6)+32|0;B=C+(v<<6)+16|0;w=0;while(1){if((w|0)>=(a[u>>2]|0))break;s=(a[(a[k>>2]|0)+(w<<2)>>2]|0)+16|0;e=a[s>>2]|0;t=+b[e+80>>3]*.5;l=a[e+204>>2]|0;A:do{if(l){n=0;while(1){i=a[l+(n<<2)>>2]|0;if(!i)break A;I=a[i>>2]&3;if((a[((I|0)==3?i:i+48|0)+40>>2]|0)==(a[((I|0)==2?i:i+-48|0)+40>>2]|0)?(g=a[(a[i+16>>2]|0)+96>>2]|0,(g|0)!=0):0){c=+b[g+32>>3]*.5;t=t>c?t:c}n=n+1|0}}}while(0);if(+b[o>>3]>3]=t;b[o>>3]=t}if(+b[d>>3]>3]=t;b[d>>3]=t}i=a[e+212>>2]|0;if(i|0){if((i|0)==(A|0))n=0;else{n=kR(i,a[47144]|0,8,0)|0;e=a[s>>2]|0}l=a[e+232>>2]|0;i=a[i+16>>2]|0;e=i+128|0;t=t+ +(n|0);if((l|0)==(f[i+236>>1]|0)){c=+b[e>>3];b[e>>3]=c>t?c:t}e=i+120|0;if((l|0)==(f[i+238>>1]|0)){c=+b[e>>3];b[e>>3]=c>t?c:t}}w=w+1|0}v=v+1|0;e=a[E>>2]|0}w=zz(A)|0;n=a[E>>2]|0;e=f[n+238>>1]|0;b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[C+(e<<6)+16>>3];i=f[n+236>>1]|0;l=n+252|0;c=0.0;while(1){s=e+-1|0;if((e|0)<=(i|0))break;Z=+b[C+(s<<6)+32>>3]+ +b[C+(e<<6)+40>>3]+ +(a[l>>2]|0);t=+b[C+(e<<6)+24>>3]+8.0+ +b[C+(s<<6)+16>>3];t=Z>t?Z:t;if((a[C+(s<<6)>>2]|0)>0)b[(a[(a[a[C+(s<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+t;c=c>t?c:t;e=s}A:do{if((w|0)!=0?(a[n+116>>2]&1|0)!=0:0){Yz(A,0);n=a[E>>2]|0;if(r[n+276>>0]|0){e=f[n+238>>1]|0;i=f[n+236>>1]|0;t=+b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];c=0.0;while(1){l=e+-1|0;if((e|0)<=(i|0))break A;G=+b[(a[(a[a[C+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];Z=G-t;t=G;c=c>Z?c:Z;e=l}}}}while(0);A:do{if(r[n+276>>0]|0){l=f[n+236>>1]|0;i=f[n+238>>1]|0;while(1){e=i+-1|0;if((i|0)<=(l|0))break A;if((a[C+(e<<6)>>2]|0)<=0){i=e;continue}b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[(a[(a[a[C+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+c;i=e}}}while(0);e=n+192|0;while(1){e=a[e>>2]|0;if(!e)break;e=a[e+16>>2]|0;b[e+24>>3]=+b[(a[(a[a[C+(a[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function qy(A){A=A|0;var e=0,i=0,r=0;mz(A);e=(a[A+16>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;r=e+16|0;e=a[r>>2]|0;i=a[e+224>>2]|0;if(i){Lz(A,i);e=a[r>>2]|0}i=a[e+228>>2]|0;if(!i)i=e;else{Lz(A,i);i=a[r>>2]|0}r=a[i+204>>2]|0;if(r|0){e=0;while(1)if(!(a[r+(e<<2)>>2]|0))break;else e=e+1|0}e=i+164|0}return}function $y(A){A=A|0;uz(A);kz(A);oz(A);hz(A);dz(A);return}function Az(A){A=A|0;var e=0,i=0.0;e=po(A,86921)|0;if(!e)A=2147483647;else{i=+$3(e);A=~~(i*+(vh(A)|0))}return A|0}function ez(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;d=A+16|0;e=a[d>>2]|0;h=f[e+236>>1]|0;while(1){o=f[e+238>>1]|0;if((h|0)>(o|0)){B=19;break}u=a[e+196>>2]|0;k=u+(h<<6)|0;w=a[k>>2]|0;u=u+(h<<6)+4|0;s=0;i=0;A:while(1){if((s|0)>=(w|0)){B=14;break}i=a[(a[u>>2]|0)+(s<<2)>>2]|0;l=a[i+16>>2]|0;t=a[l+256>>2]|0;e:do{if(t|0){n=0;while(1){c=a[t+(n<<2)>>2]|0;if(!c)break e;b=a[c>>2]&3;if((a[(a[(a[((b|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;if((a[(a[(a[((b|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;else n=n+1|0}}}while(0);l=a[l+248>>2]|0;e:do{if(l|0){n=0;while(1){t=a[l+(n<<2)>>2]|0;if(!t)break e;c=a[t>>2]&3;if((a[(a[(a[((c|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;if((a[(a[(a[((c|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;else n=n+1|0}}}while(0);s=s+1|0}if((B|0)==14){B=0;if(i){i=a[a[u>>2]>>2]|0;e=a[a[k+(((h|0)<(o|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){B=16;break}k=YW(A)|0;o=k+16|0;r[(a[o>>2]|0)+156>>0]=2;sz(k,i,0.0,0)|0;sz(k,e,0.0,0)|0;a[(a[o>>2]|0)+232>>2]=a[(a[((a[(a[i+16>>2]|0)+232>>2]|0)<(a[(a[e+16>>2]|0)+232>>2]|0)?i:e)+16>>2]|0)+232>>2];e=a[d>>2]|0}}h=h+1|0}if((B|0)==16)vA(86829,86721,111,86832);else if((B|0)==19)return}function iz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0;A=a[A+16>>2]|0;l=a[A+196>>2]|0;i=f[A+238>>1]|0;A=f[A+236>>1]|0;while(1){if((A|0)>(i|0))break;r=a[l+(A<<6)>>2]|0;n=l+(A<<6)+4|0;e=0;while(1){if((e|0)>=(r|0))break;c=a[(a[(a[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;t=c+232|0;b[c+16>>3]=+(a[t>>2]|0);a[t>>2]=A;e=e+1|0}A=A+1|0}return}function rz(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0,l=0.0,t=0,c=0,s=0.0,w=0,u=0,k=0,o=0;az(A,A);n=A+16|0;c=a[n>>2]|0;A:do{if((f[c+238>>1]|0)>0?(t=a[c+8>>2]|0,i=a[t+84>>2]|0,i|0):0){k=~~(+b[c+32>>3]-+b[c+16>>3]);w=~~(+b[c+40>>3]-+b[c+24>>3]);o=(a[c+116>>2]&1|0)==0;u=o?w:k;w=o?k:w;if((i|0)==4){i=nz(A)|0;c=a[n>>2]|0;t=a[c+8>>2]|0}else i=(i|0)==2&1;e:do{if(!(i<<24>>24)){switch(a[t+84>>2]|0){case 5:{r=+b[t+64>>3];if(r<=0.0)break A;l=r/+b[c+32>>3];s=+b[t+72>>3]/+b[c+40>>3];r=l1.0&s>1.0){s=r;break e}else break A}case 1:break;default:break A}l=+b[t+16>>3];r=+(u|0)/+(w|0);if(r>3];if(r<=0.0)break A;l=r/+(w|0);r=+b[t+72>>3]/+(u|0);if(l<1.0|r<1.0)if(l>2]&1|0)==0;l=i?r:s;r=i?s:r;i=c+192|0;while(1){i=a[i>>2]|0;if(!i)break;i=a[i+16>>2]|0;o=i+16|0;s=+b[o>>3]*r;b[o>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);o=i+24|0;s=+b[o>>3]*l;b[o>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);i=i+164|0}lz(A,r,l)}}while(0);if(e|0)tz(A,e);return}function fz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=A+16|0;A=(a[l>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;n=A+16|0;e=0;while(1){A=a[n>>2]|0;f=a[A+180>>2]|0;i=a[f+(e<<2)>>2]|0;if(!i)break;L2(a[i+16>>2]|0);L2(i);e=e+1|0}if(f){L2(f);A=a[n>>2]|0}e=a[A+172>>2]|0;if(e){L2(e);A=a[n>>2]|0}f=A+256|0;i=a[f+4>>2]|0;A=A+180|0;a[A>>2]=a[f>>2];a[A+4>>2]=i;A=a[n>>2]|0;i=A+248|0;f=a[i+4>>2]|0;A=A+172|0;a[A>>2]=a[i>>2];a[A+4>>2]=f;A=(a[n>>2]|0)+164|0}A=0;e=a[(a[l>>2]|0)+192>>2]|0;A:while(1){n=(A|0)==0;f=A+16|0;A=e;while(1){if(!A)break A;i=a[A+16>>2]|0;e=a[i+164>>2]|0;if((r[i+156>>0]|0)!=2)continue A;if(n)a[(a[l>>2]|0)+192>>2]=e;else a[(a[f>>2]|0)+164>>2]=e;L2(i);L2(A);A=e}}a[(a[(a[(a[l>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function az(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=A+16|0;i=1;while(1){f=a[r>>2]|0;if((i|0)>(a[f+180>>2]|0))break;az(a[(a[f+184>>2]|0)+(i<<2)>>2]|0,e);i=i+1|0}bz(A,e);return}function nz(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0;B=k;k=k+80|0;r=B+64|0;i=B+48|0;f=B+16|0;s=B;d=B+32|0;A=A+16|0;e=a[(a[A>>2]|0)+8>>2]|0;v=e+48|0;a[f>>2]=a[v>>2];a[f+4>>2]=a[v+4>>2];a[f+8>>2]=a[v+8>>2];a[f+12>>2]=a[v+12>>2];if((!(+b[f>>3]<.001)?(n=f+8|0,!(+b[n>>3]<.001)):0)?(l=e+32|0,a[s>>2]=a[l>>2],a[s+4>>2]=a[l+4>>2],a[s+8>>2]=a[l+8>>2],a[s+12>>2]=a[l+12>>2],a[i>>2]=a[f>>2],a[i+4>>2]=a[f+4>>2],a[i+8>>2]=a[f+8>>2],a[i+12>>2]=a[f+12>>2],a[r>>2]=a[l>>2],a[r+4>>2]=a[l+4>>2],a[r+8>>2]=a[l+8>>2],a[r+12>>2]=a[l+12>>2],cz(d,i,r),a[f>>2]=a[d>>2],a[f+4>>2]=a[d+4>>2],a[f+8>>2]=a[d+8>>2],a[f+12>>2]=a[d+12>>2],a[i>>2]=a[d>>2],a[i+4>>2]=a[d+4>>2],a[i+8>>2]=a[d+8>>2],a[i+12>>2]=a[d+12>>2],a[r>>2]=a[s>>2],a[r+4>>2]=a[s+4>>2],a[r+8>>2]=a[s+8>>2],a[r+12>>2]=a[s+12>>2],cz(f,i,r),l=a[A>>2]|0,t=+b[l+32>>3],c=+b[l+40>>3],w=+b[f>>3],u=w/t,o=+b[n>>3],h=o/c,!(u>=1.0&h>=1.0)):0){u=u.5?u:.5;h=+p(+(u*c/o))*o/c;o=+p(+(u*t/w))*w/t*t;A=a[l+8>>2]|0;b[A+64>>3]=o;b[A+72>>3]=h*c;A=1}else A=0;k=B;return A|0}function lz(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=A+16|0;A=1;while(1){f=a[r>>2]|0;if((A|0)>(a[f+180>>2]|0))break;lz(a[(a[f+184>>2]|0)+(A<<2)>>2]|0,e,i);A=A+1|0}r=f+16|0;b[r>>3]=+b[r>>3]*e;r=f+24|0;b[r>>3]=+b[r>>3]*i;r=f+32|0;b[r>>3]=+b[r>>3]*e;f=f+40|0;b[f>>3]=+b[f>>3]*i;return}function tz(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0;s=k;k=k+32|0;t=s+24|0;n=s+16|0;f=s;w=a[A+16>>2]|0;r=+b[w+32>>3]-+b[w+16>>3];i=+b[w+40>>3]-+b[w+24>>3];l=r/i;if(0){w=a[15712]|0;b[f>>3]=l;b[f+8>>3]=r*.0001*i;f3(w,86745,f)|0;a[n>>2]=JY(A)|0;f3(w,86770,n)|0}i=+b[e>>3];do{if(!(l>i*1.1)){A=e+24|0;if(!(l<=i*.8)){a[A>>2]=0;c=9;break}a[A>>2]=-1;if(0){L3(86780,34,1,a[15712]|0)|0;c=9}}else{a[e+24>>2]=~~(i*+((a[e+20>>2]|0)-(a[e+16>>2]|0)|0)/l);c=9}}while(0);if((c|0)==9?0:0){w=a[15712]|0;a[t>>2]=a[e+24>>2];f3(w,86815,t)|0}k=s;return}function cz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function bz(A,e){A=A|0;e=e|0;var i=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;B=(gL(A)|0)==(A|0);E=A+16|0;C=a[E>>2]|0;A:do{if(B){i=f[C+236>>1]|0;A=f[C+238>>1]|0;h=A<<16>>16;d=C+196|0;B=C+196|0;o=i<<16>>16;l=-2147483647.0;n=2147483647.0;while(1){if((o|0)>(h|0))break;t=a[d>>2]|0;k=a[t+(o<<6)>>2]|0;if((k|0)!=0?(v=a[t+(o<<6)+4>>2]|0,g=a[v>>2]|0,(g|0)!=0):0){s=1;t=g;while(1){t=a[t+16>>2]|0;c=r[t+156>>0]|0;if(!((s|0)<(k|0)&c<<24>>24!=0))break;t=a[v+(s<<2)>>2]|0;s=s+1|0}if(!(c<<24>>24)){w=+b[t+16>>3]-+b[t+88>>3];u=n>2]|0)+(o<<6)+4>>2]|0;c=k+-2|0;t=k+-1|0;while(1){t=a[(a[s+(t<<2)>>2]|0)+16>>2]|0;if(!(r[t+156>>0]|0))break;else{t=c;c=c+-1|0}}I=+b[t+96>>3]+ +b[t+16>>3];l=l>I?l:I;n=u?n:w}}o=o+1|0}c=a[C+180>>2]|0;s=C+184|0;t=1;while(1){if((t|0)>(c|0))break A;g=a[(a[(a[s>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;I=+b[g+16>>3]+-8.0;w=+b[g+32>>3]+8.0;t=t+1|0;l=l>w?l:w;n=n>2]|0)+16>>2]|0)+232>>2]|0);n=+(a[(a[(a[C+256>>2]|0)+16>>2]|0)+232>>2]|0);i=f[C+236>>1]|0;A=f[C+238>>1]|0}}while(0);e=a[(a[e+16>>2]|0)+196>>2]|0;w=+b[(a[(a[a[e+(A<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[C+120>>3];I=+b[C+128>>3]+ +b[(a[(a[a[e+(i<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];b[C+16>>3]=n;b[C+24>>3]=w;e=a[E>>2]|0;b[e+32>>3]=l;b[e+40>>3]=I;return}function sz(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var n=0,l=0,t=0,c=0;t=qF(96)|0;c=t+48|0;a[c>>2]=a[c>>2]|3;a[t>>2]=a[t>>2]&-4|2;n=qF(176)|0;l=t+16|0;a[l>>2]=n;a[((a[t>>2]&3|0)==3?t:c)+40>>2]=A;a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]=e;if(i>65535.0){wz(i);i=65535.0;n=a[l>>2]|0}f[n+170>>1]=~~(i+(i>=0.0?.5:-.5));a[n+156>>2]=r;gW(t)|0;return t|0}function wz(A){A=+A;var e=0,i=0;e=k;k=k+16|0;i=e;b[i>>3]=A;a[i+8>>2]=65535;ao(1,86845,i)|0;k=e;return}function uz(A){A=A|0;var e=0,i=0,r=0,f=0;A=(a[A+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;f=A+16|0;r=a[f>>2]|0;A=r+172|0;i=a[A+4>>2]|0;r=r+248|0;a[r>>2]=a[A>>2];a[r+4>>2]=i;r=a[f>>2]|0;i=r+180|0;A=a[i+4>>2]|0;r=r+256|0;a[r>>2]=a[i>>2];a[r+4>>2]=A;r=a[f>>2]|0;A=a[r+180>>2]|0;i=0;while(1)if(!(a[A+(i<<2)>>2]|0))break;else i=i+1|0;e=a[r+172>>2]|0;A=0;while(1)if(!(a[e+(A<<2)>>2]|0))break;else A=A+1|0;a[r+176>>2]=0;A=qF((A+i<<2)+16|0)|0;r=a[f>>2]|0;a[r+172>>2]=A;a[r+184>>2]=0;r=qF(16)|0;A=a[f>>2]|0;a[A+180>>2]=r;A=A+164|0}return}function kz(A){A=A|0;var e=0,i=0,n=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0;G=k;k=k+16|0;C=G;I=A+16|0;g=a[I>>2]|0;Z=a[g+196>>2]|0;A=(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;E=a[g+248>>2]|0;a[C>>2]=E;a[C+4>>2]=A?5:E;E=f[g+236>>1]|0;A=g;while(1){if((E|0)>(f[A+238>>1]|0))break;d=Z+(E<<6)+4|0;a[(a[(a[a[d>>2]>>2]|0)+16>>2]|0)+232>>2]=0;B=Z+(E<<6)|0;v=+(a[C+((E&1)<<2)>>2]|0);o=0.0;c=0;A:while(1){if((c|0)>=(a[B>>2]|0))break;e=a[d>>2]|0;s=a[e+(c<<2)>>2]|0;g=s+16|0;A=a[g>>2]|0;n=+b[A+96>>3];b[A+240>>3]=n;if((a[A+208>>2]|0)>0){t=0;e=0;while(1){i=a[(a[A+204>>2]|0)+(t<<2)>>2]|0;if(!i)break;h=a[i>>2]&3;if((a[((h|0)==3?i:i+48|0)+40>>2]|0)==(a[((h|0)==2?i:i+-48|0)+40>>2]|0)){e=(mX(i)|0)+e|0;A=a[g>>2]|0}t=t+1|0}h=A+96|0;n=+b[h>>3]+ +(e|0);b[h>>3]=n;e=a[d>>2]|0}h=c+1|0;e=a[e+(h<<2)>>2]|0;if(e){u=e+16|0;n=n+v+ +b[(a[u>>2]|0)+88>>3];sz(s,e,n,0)|0;A=~~(n+o);a[(a[u>>2]|0)+232>>2]=A;o=+(A|0);A=a[g>>2]|0}e=a[A+112>>2]|0;if(e){t=a[A+256>>2]|0;c=a[t>>2]|0;t=a[t+4>>2]|0;A=(a[(a[(a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);i=A?t:c;t=A?c:t;c=e+16|0;A=a[c>>2]|0;n=+((U(a[(a[I>>2]|0)+248>>2]|0,l[A+170>>1]|0)|0)/2|0|0);u=a[i>>2]&3;e=a[((u|0)==2?i:i+-48|0)+40>>2]|0;i=a[((u|0)==3?i:i+48|0)+40>>2]|0;if(!(Gz(i,e)|0))sz(e,i,+(~~(+b[(a[e+16>>2]|0)+96>>3]+n+ +b[(a[i+16>>2]|0)+88>>3])|0),a[A+156>>2]|0)|0;A=a[t>>2]&3;e=a[((A|0)==3?t:t+48|0)+40>>2]|0;A=a[((A|0)==2?t:t+-48|0)+40>>2]|0;if(!(Gz(A,e)|0)){sz(e,A,+(~~(+b[(a[e+16>>2]|0)+96>>3]+n+ +b[(a[A+16>>2]|0)+88>>3])|0),a[(a[c>>2]|0)+156>>2]|0)|0;u=0}else u=0}else u=0;while(1){A=a[g>>2]|0;if((u|0)>=(a[A+192>>2]|0)){c=h;continue A}s=a[(a[A+188>>2]|0)+(u<<2)>>2]|0;c=a[s>>2]&3;i=a[((c|0)==3?s:s+48|0)+40>>2]|0;c=a[((c|0)==2?s:s+-48|0)+40>>2]|0;t=(a[(a[i+16>>2]|0)+236>>2]|0)<(a[(a[c+16>>2]|0)+236>>2]|0);e=t?i:c;i=t?c:i;n=+b[(a[i+16>>2]|0)+88>>3]+ +b[(a[e+16>>2]|0)+96>>3];c=s+16|0;t=~~(n+ +(U(a[(a[I>>2]|0)+248>>2]|0,l[(a[c>>2]|0)+170>>1]|0)|0));w=dW(e,i)|0;if(!w){A=a[c>>2]|0;if(!(a[A+96>>2]|0))sz(e,i,+(t|0),a[A+156>>2]|0)|0}else{Q=+(t|0);A=a[c>>2]|0;m=+b[A+136>>3];n=n+ +(a[(a[I>>2]|0)+248>>2]|0)+ +(~~(m+(m>=0.0?.5:-.5))|0);e=~~(n65535){wz(+(e|0));e=65535;A=a[c>>2]|0}c=a[w+16>>2]|0;t=c+170|0;i=l[t>>1]|0;f[t>>1]=(e|0)<(i|0)?i:e;c=c+156|0;a[c>>2]=a[(a[((a[c>>2]|0)>(a[A+156>>2]|0)?w:s)+16>>2]|0)+156>>2]}u=u+1|0}}E=E+1|0;A=a[I>>2]|0}k=G;return}function oz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;e=(a[A+16>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;n=e+16|0;e=a[n>>2]|0;i=a[e+256>>2]|0;A:do{if(i){f=0;while(1){i=a[i+(f<<2)>>2]|0;if(!i)break A;u=YW(A)|0;e=u+16|0;r[(a[e>>2]|0)+156>>0]=2;s=i+16|0;c=a[s>>2]|0;l=~~(+b[c+56>>3]-+b[c+16>>3]);w=(l|0)>0;t=w?0:0-l|0;l=w?l:0;w=i+48|0;sz(u,a[((a[i>>2]&3|0)==3?i:w)+40>>2]|0,+(l+1|0),a[c+156>>2]|0)|0;c=i+-48|0;sz(u,a[((a[i>>2]&3|0)==2?i:c)+40>>2]|0,+(t+1|0),a[(a[s>>2]|0)+156>>2]|0)|0;s=a[i>>2]&3;l=(a[(a[(a[((s|0)==3?i:w)+40>>2]|0)+16>>2]|0)+232>>2]|0)-l|0;i=(a[(a[(a[((s|0)==2?i:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-t|0;a[(a[e>>2]|0)+232>>2]=((l|0)<(i|0)?l:i)+-1;e=a[n>>2]|0;f=f+1|0;i=a[e+256>>2]|0}}}while(0);e=e+164|0}return}function hz(A){A=A|0;if((a[(a[A+16>>2]|0)+180>>2]|0)>0){gz(A);Ez(A);Cz(A);Iz(A)}return}function dz(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;r=A+16|0;f=a[(a[r>>2]|0)+8>>2]|0;if((a[f+84>>2]|0)==3?(e=+b[f+64>>3],i=+b[f+72>>3],!(i*e<=1.0)):0){Bz(A);f=a[r>>2]|0;i=(a[f+116>>2]&1|0)==0?e:i;sz(a[f+256>>2]|0,a[f+260>>2]|0,i<65535.0?i:65535.0,1e3)|0}return}function Bz(A){A=A|0;var e=0,i=0,r=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;s=w;i=kR(A,a[47144]|0,8,0)|0;vz(A);l=A+16|0;n=a[l>>2]|0;t=a[n+256>>2]|0;c=a[n+260>>2]|0;r=+(i|0);i=f[n+236>>1]|0;while(1){if((i|0)>(f[n+238>>1]|0))break;e=a[n+196>>2]|0;do{if(a[e+(i<<6)>>2]|0){e=a[a[e+(i<<6)+4>>2]>>2]|0;if(!e){a[s>>2]=Vh(A)|0;a[s+4>>2]=i;ao(1,86929,s)|0;break}else{sz(t,e,+b[(a[e+16>>2]|0)+88>>3]+r+ +b[n+96>>3],0)|0;n=a[l>>2]|0;e=a[n+196>>2]|0;e=a[(a[e+(i<<6)+4>>2]|0)+((a[e+(i<<6)>>2]|0)+-1<<2)>>2]|0;sz(e,c,+b[(a[e+16>>2]|0)+96>>3]+r+ +b[n+64>>3],0)|0;break}}}while(0);i=i+1|0;n=a[l>>2]|0}k=w;return}function vz(A){A=A|0;var e=0,i=0,f=0;e=A+16|0;if(!(a[(a[e>>2]|0)+256>>2]|0)){f=YW(gL(A)|0)|0;r[(a[f+16>>2]|0)+156>>0]=2;i=YW(gL(A)|0)|0;r[(a[i+16>>2]|0)+156>>0]=2;if((a[(a[e>>2]|0)+12>>2]|0?(gL(A)|0)!=(A|0):0)?(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0:0){A=a[e>>2]|0;sz(f,i,+(~~+b[A+48+((+b[A+48>>3]>+b[A+80>>3]?0:2)<<4)>>3]|0),0)|0}e=a[e>>2]|0;a[e+256>>2]=f;a[e+260>>2]=i}return}function gz(A){A=A|0;var e=0,i=0;do{if((gL(A)|0)!=(A|0)){Bz(A);A=A+16|0;e=a[A>>2]|0;e=dW(a[e+256>>2]|0,a[e+260>>2]|0)|0;if(!e){i=a[A>>2]|0;sz(a[i+256>>2]|0,a[i+260>>2]|0,1.0,128)|0;break}else{i=(a[e+16>>2]|0)+156|0;a[i>>2]=(a[i>>2]|0)+128;break}}else A=A+16|0}while(0);e=1;while(1){i=a[A>>2]|0;if((e|0)>(a[i+180>>2]|0))break;gz(a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function Ez(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0;c=kR(A,a[47144]|0,8,0)|0;k=A+16|0;e=a[k>>2]|0;w=+(c|0);c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0)){i=1;break}e=a[e+196>>2]|0;A:do{if(a[e+(c<<6)>>2]|0?(s=a[a[e+(c<<6)+4>>2]>>2]|0,s|0):0){l=s+16|0;i=a[(a[l>>2]|0)+236>>2]|0;while(1){if((i|0)<=0)break;i=i+-1|0;t=a[(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;n=t+16|0;e=a[n>>2]|0;if(!(r[e+156>>0]|0)){u=10;break}if(Zz(A,t)|0){u=9;break}}if((u|0)==9){e=a[n>>2]|0;u=10}if((u|0)==10){u=0;sz(t,a[(a[k>>2]|0)+256>>2]|0,+b[e+96>>3]+w,0)|0}i=(a[(a[(a[k>>2]|0)+196>>2]|0)+(c<<6)>>2]|0)+(a[(a[l>>2]|0)+236>>2]|0)|0;while(1){if((i|0)>=(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)>>2]|0))break A;l=a[(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;n=l+16|0;e=a[n>>2]|0;if(!(r[e+156>>0]|0))break;if(!(Zz(A,l)|0))i=i+1|0;else{u=15;break}}if((u|0)==15){u=0;e=a[n>>2]|0}sz(a[(a[k>>2]|0)+260>>2]|0,l,+b[e+88>>3]+w,0)|0}}while(0);c=c+1|0;e=a[k>>2]|0}while(1){if((i|0)>(a[e+180>>2]|0))break;Ez(a[(a[e+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=a[k>>2]|0}return}function Cz(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0;r=kR(A,a[47144]|0,8,0)|0;vz(A);e=A+16|0;i=+(r|0);A=1;while(1){r=a[e>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[(a[r+184>>2]|0)+(A<<2)>>2]|0;vz(r);f=a[e>>2]|0;n=r+16|0;sz(a[f+256>>2]|0,a[(a[n>>2]|0)+256>>2]|0,+b[f+96>>3]+i,0)|0;f=a[e>>2]|0;sz(a[(a[n>>2]|0)+260>>2]|0,a[f+260>>2]|0,+b[f+64>>3]+i,0)|0;Cz(r);A=A+1|0}return}function Iz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0.0,u=0,k=0;e=kR(A,a[47144]|0,8,0)|0;u=A+16|0;A=1;while(1){r=a[u>>2]|0;i=a[r+180>>2]|0;if((A|0)>(i|0))break;vz(a[(a[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}w=+(e|0);s=1;A=i;e=r;while(1){if((s|0)>(A|0))break;b=s+1|0;c=b;while(1){i=a[e+184>>2]|0;r=a[i+(s<<2)>>2]|0;if((c|0)>(A|0))break;i=a[i+(c<<2)>>2]|0;n=(f[(a[r+16>>2]|0)+236>>1]|0)>(f[(a[i+16>>2]|0)+236>>1]|0);t=n?i:r;i=n?r:i;r=a[t+16>>2]|0;n=a[i+16>>2]|0;k=f[n+236>>1]|0;l=k<<16>>16;if((f[r+238>>1]|0)>=k<<16>>16){A=(a[(a[(a[a[(a[r+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(a[(a[(a[a[(a[n+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);sz(a[(a[(A?t:i)+16>>2]|0)+260>>2]|0,a[(a[(A?i:t)+16>>2]|0)+256>>2]|0,w,0)|0;A=a[u>>2]|0;e=A;A=a[A+180>>2]|0}c=c+1|0}Iz(r);e=a[u>>2]|0;s=b;A=a[e+180>>2]|0}return}function Zz(A,e){A=A|0;e=e|0;var i=0;e=a[e+16>>2]|0;if((r[e+156>>0]|0)==1){e=a[a[e+256>>2]>>2]|0;while(1){i=a[(a[e+16>>2]|0)+116>>2]|0;if(!i)break;else e=i}if(!(Dd(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0))e=(Dd(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)==0&1;else e=0}else e=0;return e|0}function Gz(A,e){A=A|0;e=e|0;return Qz(A,e)|0}function Qz(A,e){A=A|0;e=e|0;var i=0,r=0;A:do{if((A|0)==(e|0))A=1;else{i=a[(a[A+16>>2]|0)+180>>2]|0;A=0;while(1){r=a[i+(A<<2)>>2]|0;if(!r){A=0;break A}if(!(Qz(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,e)|0))A=A+1|0;else{A=1;break}}}}while(0);return A|0}function mz(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;A=a[b>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;l=a[A+196>>2]|0;n=a[l+(c<<6)>>2]|0;l=l+(c<<6)+4|0;t=0;i=0;while(1){if((i|0)>=(n|0))break;e=a[(a[(a[l>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[e+236>>2]=t;if((r[e+159>>0]|0)==6)e=a[e+216>>2]|0;else e=1;t=e+t|0;i=i+1|0}if((t|0)>(n|0)){A=a[l>>2]|0;if(!A)A=$F((t<<2)+4|0)|0;else A=eV(A,(t<<2)+4|0)|0;i=a[(a[b>>2]|0)+196>>2]|0;a[i+(c<<6)+4>>2]=A;e=a[i+(c<<6)>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;l=a[i+(c<<6)+4>>2]|0;e=a[l+(A<<2)>>2]|0;a[l+(a[(a[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=A;i=a[(a[b>>2]|0)+196>>2]|0}a[i+(c<<6)>>2]=t;a[(a[i+(c<<6)+4>>2]|0)+(t<<2)>>2]=0;A=a[b>>2]|0}c=c+1|0}return}function Lz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+48|0;w=u+32|0;s=u+8|0;i=u+24|0;c=u+16|0;t=u;r=e+16|0;f=a[r>>2]|0;A:do{if((a[f+216>>2]|0)>=2){a[s>>2]=~~(+b[f+16>>3]-+b[f+88>>3]);a[s+4>>2]=~~+b[f+24>>3];a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];Wz(i,e,w);n=i;l=a[n+4>>2]|0;i=s;a[i>>2]=a[n>>2];a[i+4>>2]=l;i=a[r>>2]|0;if((a[i+184>>2]|0)>0){t=a[a[i+180>>2]>>2]|0;i=(a[i+236>>2]|0)+1|0;t=qo(A,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)|0;while(1){if(!t)break A;l=(a[t>>2]&3|0)==2?t:t+-48|0;r=l+48|0;f=a[((a[l>>2]&3|0)==3?l:r)+40>>2]|0;if((f|0)!=(e|0)?(CR(f)|0)==(e|0):0){f=a[((a[l>>2]&3|0)==3?l:r)+40>>2]|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];yz(c,A,f,w,i);f=c;r=a[f+4>>2]|0;n=s;a[n>>2]=a[f>>2];a[n+4>>2]=r;JW(l);n=l+-48|0;r=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;f=a[r+172>>2]|0;if(!f)r=$F((a[r+176>>2]<<2)+8|0)|0;else r=eV(f,(a[r+176>>2]<<2)+8|0)|0;a[(a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0)+172>>2]=r;o=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;r=a[o+172>>2]|0;o=o+176|0;f=a[o>>2]|0;a[o>>2]=f+1;a[r+(f<<2)>>2]=l;l=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;a[(a[l+172>>2]|0)+(a[l+176>>2]<<2)>>2]=0;i=i+1|0}t=$o(A,t)|0}}else{l=a[a[i+172>>2]>>2]|0;i=(a[i+236>>2]|0)+1|0;l=Oo(A,a[((a[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)|0;while(1){if(!l)break A;r=l+-48|0;f=a[((a[l>>2]&3|0)==2?l:r)+40>>2]|0;if((f|0)!=(e|0)?(CR(f)|0)==(e|0):0){f=a[((a[l>>2]&3|0)==2?l:r)+40>>2]|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];yz(t,A,f,w,i);f=t;r=a[f+4>>2]|0;n=s;a[n>>2]=a[f>>2];a[n+4>>2]=r;JW(l);n=l+48|0;r=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;f=a[r+180>>2]|0;if(!f)r=$F((a[r+184>>2]<<2)+8|0)|0;else r=eV(f,(a[r+184>>2]<<2)+8|0)|0;a[(a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0)+180>>2]=r;f=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;c=a[f+180>>2]|0;f=f+184|0;o=a[f>>2]|0;a[f>>2]=o+1;a[c+(o<<2)>>2]=l;o=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;a[(a[o+180>>2]|0)+(a[o+184>>2]<<2)>>2]=0;i=i+1|0}l=_o(A,l)|0}}}}while(0);k=u;return}function Wz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;DH(e,a[(a[(Id(e)|0)+16>>2]|0)+116>>2]&1);r=a[e+16>>2]|0;b[r+24>>3]=+(a[i+4>>2]|0);f=+b[r+88>>3]+ +(a[i>>2]|0);b[r+16>>3]=f;f=f+ +b[r+96>>3];a[i>>2]=~~(f+ +(a[(a[(Id(e)|0)+16>>2]|0)+248>>2]|0));r=i;e=a[r+4>>2]|0;i=A;a[i>>2]=a[r>>2];a[i+4>>2]=e;return}function yz(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;t=k;k=k+16|0;l=t;e=gL(e)|0;n=CR(i)|0;if((n|0)!=(i|0))WW(n,i);c=a[i+16>>2]|0;a[c+236>>2]=f;n=a[(a[n+16>>2]|0)+232>>2]|0;a[c+232>>2]=n;a[(a[(a[(a[e+16>>2]|0)+196>>2]|0)+(n<<6)+4>>2]|0)+(f<<2)>>2]=i;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];Wz(A,i,l);k=t;return}function zz(A){A=A|0;var e=0.0,i=0.0,r=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0.0;w=a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0;if((gL(A)|0)==(A|0))t=8.0;else t=+(kR(A,a[47144]|0,8,0)|0);s=A+16|0;n=a[s>>2]|0;r=0;c=1;i=+b[n+120>>3];e=+b[n+128>>3];while(1){if((c|0)>(a[n+180>>2]|0))break;l=a[(a[n+184>>2]|0)+(c<<2)>>2]|0;r=zz(l)|0|r;l=a[l+16>>2]|0;n=a[s>>2]|0;if((f[l+238>>1]|0)==(f[n+238>>1]|0)){u=+b[l+120>>3]+t;i=i>u?i:u}if((f[l+236>>1]|0)==(f[n+236>>1]|0)){u=+b[l+128>>3]+t;e=e>u?e:u}c=c+1|0}if((gL(A)|0)!=(A|0)?(a[(a[s>>2]|0)+12>>2]|0)!=0:0)if(!(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1)){c=a[s>>2]|0;r=1;i=+b[c+56>>3]+i;e=+b[c+88>>3]+e}else r=1;c=a[s>>2]|0;b[c+120>>3]=i;b[c+128>>3]=e;if((gL(A)|0)!=(A|0)){s=a[s>>2]|0;A=w+(f[s+236>>1]<<6)+24|0;u=+b[A>>3];b[A>>3]=u>e?u:e;w=w+(f[s+238>>1]<<6)+16|0;u=+b[w>>3];b[w>>3]=u>i?u:i}return r|0}function Yz(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0.0,h=0.0;k=a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0;if((gL(A)|0)==(A|0))i=0;else i=kR(A,a[47144]|0,8,0)|0;s=A+16|0;l=a[s>>2]|0;w=i+e|0;c=+(i|0);t=1;r=+b[l+128>>3];n=+b[l+120>>3];i=l;while(1){if((t|0)>(a[i+180>>2]|0))break;l=a[(a[i+184>>2]|0)+(t<<2)>>2]|0;Yz(l,w);l=a[l+16>>2]|0;i=a[s>>2]|0;if((f[l+238>>1]|0)==(f[i+238>>1]|0)){h=+b[l+120>>3]+c;n=n>h?n:h}if((f[l+236>>1]|0)==(f[i+236>>1]|0)){h=+b[l+128>>3]+c;r=r>h?r:h}t=t+1|0}b[i+120>>3]=n;b[i+128>>3]=r;if(((gL(A)|0)!=(A|0)?(u=a[s>>2]|0,a[u+12>>2]|0):0)?(o=-n-r+ +b[u+48+((+b[u+104>>3]>+b[u+72>>3]?3:1)<<4)+8>>3]-+b[(a[(a[a[k+(f[u+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +b[(a[(a[a[k+(f[u+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],o>0.0):0)Dz(A,~~o,e);if((gL(A)|0)!=(A|0)){u=a[s>>2]|0;w=k+(f[u+236>>1]<<6)+24|0;h=+b[w>>3];o=+b[u+128>>3];b[w>>3]=h>o?h:o;k=k+(f[u+238>>1]<<6)+16|0;o=+b[k>>3];h=+b[u+120>>3];b[k>>3]=o>h?o:h}return}function Dz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0;c=a[(gL(A)|0)+16>>2]|0;h=a[c+196>>2]|0;o=a[A+16>>2]|0;A=f[o+238>>1]|0;r=f[o+236>>1]|0;s=(e+1|0)/2|0;w=o+120|0;u=+b[w>>3];k=+(s|0);l=+(i|0);i=~~(k+l+u-+b[h+(A<<6)+16>>3]);if((i|0)>0){n=+(i|0);while(1){if((A|0)<(r|0))break;if((a[h+(A<<6)>>2]|0)>0){d=(a[(a[a[h+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;b[d>>3]=+b[d>>3]+n}A=A+-1|0}t=+b[o+128>>3];A=i;n=t+ +(e-s|0)}else{t=+b[o+128>>3];A=e-s|0;n=t}A=~~(+(A|0)+l+n-+b[h+(r<<6)+24>>3]);A:do{if((A|0)>0){i=f[c+236>>1]|0;n=+(A|0);while(1){A=r+-1|0;if((r|0)<=(i|0))break A;if((a[h+(A<<6)>>2]|0)<=0){r=A;continue}r=(a[(a[a[h+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;b[r>>3]=+b[r>>3]+n;r=A}}}while(0);b[o+128>>3]=t+ +(e-s|0);b[w>>3]=u+k;return}function Mz(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A+16>>2]|0;f=r[i+84>>0]|0;A=a[e+16>>2]|0;do{if(f<<24>>24==(r[A+84>>0]|0)){if(+b[i+56>>3]==+b[A+56>>3]){if(!(f<<24>>24==0?1:+b[i+64>>3]==+b[A+64>>3])){A=0;break}}else if(f<<24>>24){A=0;break}if(+b[i+16>>3]==+b[A+16>>3]?+b[i+24>>3]==+b[A+24>>3]:0){A=1;break}A=(r[i+44>>0]|0)==0&1}else A=0}while(0);return A|0}function Fz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=A+16|0;e=a[t>>2]|0;f[e+236>>1]=32767;f[e+238>>1]=-1;e=0;l=cd(A)|0;while(1){i=a[t>>2]|0;if(!l)break;r=i+238|0;n=a[(a[l+16>>2]|0)+232>>2]|0;if((n|0)>(f[r>>1]|0))f[r>>1]=n;i=i+236|0;if((n|0)<(f[i>>1]|0))f[i>>1]=n;if(!e)e=l;else e=(n|0)<(a[(a[e+16>>2]|0)+232>>2]|0)?l:e;l=bd(A,l)|0}a[i+264>>2]=e;return}function Vz(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0;e=po(A,86974)|0;if(!e)e=2147483647;else{n=+$3(e);e=~~(n*+(vh(A)|0))}r=A+16|0;i=0;while(1){f=a[r>>2]|0;if((i|0)>=(a[f+220>>2]|0))break;a[f+192>>2]=a[(a[f+216>>2]|0)+(i<<2)>>2];JV(A,(a[f+180>>2]|0)==0&1,e)|0;i=i+1|0}return}function Jz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=k;k=k+16|0;i=r;if(!(po(A,86983)|0))Xz(A,e);else{n=(a[A+16>>2]|0)+136|0;f[n>>1]=f[n>>1]|16;Nz(A,e)}if(0){n=a[15712]|0;A=a[A+16>>2]|0;e=f[A+236>>1]|0;a[i>>2]=f[A+238>>1];a[i+4>>2]=e;f3(n,86991,i)|0}k=r;return}function Nz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0.0;t=k;k=k+16|0;l=t;a[46747]=0;r[l>>0]=r[18588]|0;r[l+1>>0]=r[18589]|0;r[l+2>>0]=r[18590]|0;r[l+3>>0]=r[18591]|0;l=kh(87201,l,0)|0;Td(l,87230,280,1)|0;zd(l,17404,17344);Rz(A);i=po(A,86974)|0;if(!i)f=2147483647;else{c=+$3(i);f=~~(c*+(vh(A)|0))}iY(A,0);rY(A,l);fY(A,l);aY(A,l,0,0);nY(l);n=lY(l)|0;tY(l);if(e|0){KY(l);NY(l)}i=po(A,102586)|0;if(!i)i=-1;else i=q3(i)|0;iV(l,1,f,i)|0;cY(A,l,n);Bh(l)|0;k=t;return}function Xz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n+16|0;r=n+8|0;i=n;Rz(A);do{if(!e){Hz(A,A);$Y(A);pz(i,A);l=i;i=a[l+4>>2]|0;e=r;a[e>>2]=a[l>>2];a[e+4>>2]=i;jD(A,0);e=0}else{KY(A);NY(A);Hz(A,A);$Y(A);pz(i,A);t=i;i=a[t+4>>2]|0;l=r;a[l>>2]=a[t>>2];a[l+4>>2]=i;jD(A,0);l=a[A+16>>2]|0;if((a[l+220>>2]|0)<=1?(a[l+180>>2]|0)<=0:0)break;a[e+32>>2]=1;e=0}}while(0);FY(A);a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];if(Uz(A,f)|0)jD(A,0);if(!e)Vz(A);else XY(A,e);xz(A,e);Tz(A);k=n;return}function Rz(A){A=A|0;var e=0,i=0,n=0;if(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1){i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;n=(a[e+16>>2]|0)+170|0;f[n>>1]=(l[n>>1]|0)<<1;e=_o(A,e)|0}i=bd(A,i)|0}n=(a[A+16>>2]|0)+252|0;a[n>>2]=((a[n>>2]|0)+1|0)/2|0}return}function Hz(A,e){A=A|0;e=e|0;var i=0;e=RB(e)|0;while(1){if(!e)break;i=$z(e)|0;do{if(i)if((i|0)==7&(a[47135]|0)==100){Oz(A,e);break}else{AY(A,e,i);break}else Hz(A,e)}while(0);e=HB(e)|0}return}function pz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;t=e+16|0;i=a[t>>2]|0;e=a[i+228>>2]|0;i=a[i+224>>2]|0;f=(i|0)==0;if(!e)if(f){c=0;b=0}else n=4;else if(f)n=5;else n=4;if((n|0)==4){e=CR(i)|0;i=a[t>>2]|0;a[i+224>>2]=e;e=a[i+228>>2]|0;if(!e){l=0;e=i;n=12}else n=5}do{if((n|0)==5){e=CR(e)|0;i=a[t>>2]|0;a[i+228>>2]=e;if(e){i=e+16|0;e=a[i>>2]|0;f=(r[e+159>>0]|0)==5&1;while(1){e=a[a[e+180>>2]>>2]|0;if(!e){n=11;break}l=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((l|0)!=(CR(l)|0)){n=9;break}MY(e);e=a[i>>2]|0}if((n|0)==9)vA(87094,87034,346,87126);else if((n|0)==11){l=f;e=a[t>>2]|0;n=12;break}}else{l=0;e=i;n=12}}}while(0);A:do{if((n|0)==12){e=a[e+224>>2]|0;if(!e){c=0;b=l}else{i=e+16|0;e=a[i>>2]|0;f=(r[e+159>>0]|0)==3&1;while(1){e=a[a[e+172>>2]>>2]|0;if(!e){c=f;b=l;break A}t=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((t|0)!=(CR(t)|0))break;MY(e);e=a[i>>2]|0}vA(87139,87034,353,87126)}}}while(0);a[A>>2]=c;a[A+4>>2]=b;return}function Uz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0;c=A+16|0;t=a[c>>2]|0;if((a[t+228>>2]|0)==0?(a[t+224>>2]|0)==0:0)e=0;else i=3;A:do{if((i|0)==3){n=cd(A)|0;t=e+4|0;l=a[e>>2]&65535;e=0;while(1){if(!n)break A;if((n|0)==(CR(n)|0)){r=n+16|0;i=a[r>>2]|0;if((a[i+184>>2]|0)==0?(b=a[(a[c>>2]|0)+228>>2]|0,!((b|0)==0|(n|0)==(b|0))):0){e=mW(n,b,0)|0;i=a[e+16>>2]|0;f[i+170>>1]=a[t>>2];a[i+156>>2]=0;i=a[r>>2]|0}if((a[i+176>>2]|0)==0?(s=a[(a[c>>2]|0)+224>>2]|0,!((s|0)==0|(n|0)==(s|0))):0){e=mW(s,n,0)|0;r=a[e+16>>2]|0;f[r+170>>1]=l;a[r+156>>2]=0}}n=bd(A,n)|0}}}while(0);return(e|0)!=0|0}function xz(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;n=cd(A)|0;b=A+16|0;i=a[b>>2]|0;A:do{if(n){f[i+236>>1]=32767;f[i+238>>1]=-1;c=(e|0)==0;while(1){if(!n)break;i=CR(n)|0;t=a[n+16>>2]|0;e=a[t+232>>2]|0;do{if((i|0)!=(n|0)){if(!c)if(!e)e=0;else break;e=e+(a[(a[i+16>>2]|0)+232>>2]|0)|0;a[t+232>>2]=e}}while(0);i=a[b>>2]|0;l=i+238|0;if((e|0)>(f[l>>1]|0))f[l>>1]=e;i=i+236|0;if((e|0)<(f[i>>1]|0))f[i>>1]=e;switch(r[t+159>>0]|0){case 6:case 0:break;default:ZR(n)}n=bd(A,n)|0}if((gL(A)|0)==(A|0)){if((a[47135]|0)==100)e=1;else{Pz(A);break}while(1){i=a[b>>2]|0;if((e|0)>(a[i+180>>2]|0))break A;Sz(a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{f[i+238>>1]=0;f[i+236>>1]=0}}while(0);return}function Tz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=A+16|0;i=0;while(1){e=a[c>>2]|0;if((i|0)>=(a[e+220>>2]|0))break;t=a[(a[e+216>>2]|0)+(i<<2)>>2]|0;a[e+192>>2]=t;e=t;while(1){if(!e)break;t=e+16|0;jz((a[t>>2]|0)+172|0);jz((a[t>>2]|0)+180|0);t=a[t>>2]|0;r[t+157>>0]=0;e=a[t+164>>2]|0}i=i+1|0}t=cd(A)|0;while(1){if(!t)break;l=Oo(A,t)|0;while(1){if(!l)break;f=l+16|0;e=a[f>>2]|0;n=a[e+172>>2]|0;if((n|0)!=0?(b=n+16|0,(l|0)==(a[(a[b>>2]|0)+116>>2]|0)):0){e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;if((l|0)!=(i|0)?(s=(a[i+16>>2]|0)+172|0,w=a[s>>2]|0,(w|0)!=0&(n|0)==(w|0)):0)a[s>>2]=0;i=_o(A,i)|0}e=bd(A,e)|0}L2(a[b>>2]|0);L2(n);e=a[f>>2]|0}a[e+172>>2]=0;l=_o(A,l)|0}t=bd(A,t)|0}L2(a[(a[c>>2]|0)+216>>2]|0);w=a[c>>2]|0;a[w+216>>2]=0;a[w+220>>2]=0;return}function jz(A){A=A|0;var e=0,i=0;i=A+4|0;e=a[i>>2]|0;while(1){if((e|0)<=-1)break;a[(a[A>>2]|0)+(e<<2)>>2]=0;e=e+-1|0}a[i>>2]=0;return}function Sz(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=a[e>>2]|0;r=a[(a[(a[i+264>>2]|0)+16>>2]|0)+232>>2]|0;A=i+236|0;f[A>>1]=r+(l[A>>1]|0);A=i+238|0;f[A>>1]=r+(l[A>>1]|0);A=1;while(1){if((A|0)>(a[i+180>>2]|0))break;Sz(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0;i=a[e>>2]|0}return}function Pz(A){A=A|0;var e=0;e=RB(gL(A)|0)|0;while(1){if(!e)break;if((r[(a[e+16>>2]|0)+274>>0]|0)==7)Oz(A,e);e=HB(e)|0}return}function Oz(A,e){A=A|0;e=e|0;var i=0;i=(a[e+16>>2]|0)+200|0;do{if((a[i>>2]|0)==0?(a[i>>2]=A,Kz(A,e),cd(e)|0):0){_z(A,e);if((a[47135]|0)==100){Xz(e,0);qz(e);break}else{Fz(e);break}}}while(0);return}function Kz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;l=A+16|0;n=cd(e)|0;while(1){if(!n)break;t=bd(e,n)|0;c=n+16|0;if(!(r[(a[c>>2]|0)+159>>0]|0))f=1;else{Cd(e,n)|0;n=t;continue}while(1){i=a[l>>2]|0;A=a[i+180>>2]|0;if((f|0)>=(A|0))break;if(Dd(a[(a[i+184>>2]|0)+(f<<2)>>2]|0,n)|0){b=7;break}f=f+1|0}if((b|0)==7){b=0;A=a[(a[l>>2]|0)+180>>2]|0}if((f|0)<(A|0))Cd(e,n)|0;a[(a[c>>2]|0)+212>>2]=0;n=t}i=cd(e)|0;while(1){if(!i)break;A=Oo(gL(e)|0,i)|0;while(1){if(!A)break;if(Dd(e,a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)wh(e,A,1)|0;A=_o(gL(e)|0,A)|0}i=bd(e,i)|0}return}function _z(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+16|0;i=a[r>>2]|0;n=i+180|0;A=a[n>>2]|0;f=A+1|0;a[n>>2]=f;i=a[i+184>>2]|0;if(!i)A=qF((A<<2)+8|0)|0;else A=AV(i,A+2|0,4,f)|0;a[(a[r>>2]|0)+184>>2]=A;a[A+(f<<2)>>2]=e;JF(e);return}function qz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=a[A+16>>2]|0;e=n+192|0;l=0;while(1){e=a[e>>2]|0;if(!e)break;f=a[e+16>>2]|0;if(!(a[f+232>>2]|0))i=(r[f+156>>0]|0)==0?e:l;else i=l;e=f+164|0;l=i}if(!l)vA(87019,87034,238,87041);a[n+264>>2]=l;e=cd(A)|0;while(1){if(!e){e=13;break}i=e+16|0;if(!((e|0)==(l|0)?1:(a[(a[i>>2]|0)+216>>2]|0)<2)){e=11;break}IR(e,l)|0;r[(a[i>>2]|0)+159>>0]=7;e=bd(A,e)|0}if((e|0)==11)vA(87056,87034,242,87041);else if((e|0)==13)return}function $z(A){A=A|0;var e=0;if(!(eY(A)|0)){e=YR(po(A,87171)|0,17356,17380)|0;r[(a[A+16>>2]|0)+274>>0]=e;A=e}else A=7;return A|0}function AY(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;n=cd(e)|0;A:do{if(n|0){c=i&255;t=n+16|0;f=n;l=c;while(1){r[(a[f+16>>2]|0)+159>>0]=l;f=bd(e,f)|0;if(!f)break;IR(n,f)|0;l=r[(a[t>>2]|0)+159>>0]|0}switch(i|0){case 3:case 2:{A=A+16|0;f=a[A>>2]|0;l=a[f+224>>2]|0;if(l){n=IR(l,n)|0;f=a[A>>2]|0}a[f+224>>2]=n;break}case 5:case 4:{A=A+16|0;f=a[A>>2]|0;l=a[f+228>>2]|0;if(l){n=IR(l,n)|0;f=a[A>>2]|0}a[f+228>>2]=n;break}default:break A}switch(i|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break A}r[(a[(a[f>>2]|0)+16>>2]|0)+159>>0]=c}}while(0);return}function eY(A){A=A|0;return(Z1(Vh(A)|0,108006,7)|0)==0|0}function iY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;n=s;if(!(IY(A)|0)){do{if(PR(A)|0)if(!e){a[(a[A+16>>2]|0)+204>>2]=0;e=A;break}else{a[(a[A+16>>2]|0)+204>>2]=(a[(a[e+16>>2]|0)+204>>2]|0)+1;ZY(A,e);e=A;break}}while(0);i=RB(A)|0;while(1){if(!i)break;iY(i,e);i=HB(i)|0}A:do{if(PR(A)|0){i=cd(A)|0;while(1){if(!i)break A;f=(a[i+16>>2]|0)+212|0;if(!(a[f>>2]|0))a[f>>2]=A;i=bd(A,i)|0}}}while(0);switch(GY(A)|0){case 3:{e=e+16|0;r[(a[e>>2]|0)+241>>0]=1;b=19;break}case 2:{e=e+16|0;b=19;break}case 5:{e=e+16|0;r[(a[e>>2]|0)+242>>0]=1;b=21;break}case 4:{e=e+16|0;b=21;break}case 1:{QY(A)|0;break}case 6:break;default:{i=Vh(A)|0;f=po(A,87171)|0;a[n>>2]=i;a[n+4>>2]=f;ao(0,87354,n)|0}}if((b|0)==19){b=QY(A)|0;b=mY(b,a[(a[e>>2]|0)+208>>2]|0)|0;a[(a[e>>2]|0)+208>>2]=b}else if((b|0)==21){b=QY(A)|0;b=mY(b,a[(a[e>>2]|0)+212>>2]|0)|0;a[(a[e>>2]|0)+212>>2]=b}if((PR(A)|0?(l=A+16|0,t=a[l>>2]|0,c=a[t+208>>2]|0,c|0):0)?(c|0)==(a[t+212>>2]|0):0){c=QY(A)|0;b=a[l>>2]|0;a[b+208>>2]=c;a[b+212>>2]=c}}k=s;return}function rY(A,e){A=A|0;e=e|0;var i=0,r=0;a[46747]=0;i=cd(A)|0;while(1){if(!i)break;if((bY(i)|0)==(i|0)){r=uY(e,Vh(i)|0)|0;a[(a[i+16>>2]|0)+148>>2]=r}i=bd(A,i)|0}i=cd(A)|0;while(1){if(!i)break;e=i+16|0;if(!(a[(a[e>>2]|0)+148>>2]|0)){r=a[(a[(bY(i)|0)+16>>2]|0)+148>>2]|0;a[(a[e>>2]|0)+148>>2]=r}i=bd(A,i)|0}return}function fY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=cd(A)|0;while(1){if(!l)break;i=a[(a[l+16>>2]|0)+148>>2]|0;t=Oo(A,l)|0;while(1){if(!t)break;do{if((BY(t)|0)==0?(c=t+-48|0,b=a[(a[(bY(a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(i|0)!=(b|0)):0){f=a[t>>2]&3;n=t+48|0;r=((f|0)==3?t:n)+40|0;f=a[(a[(a[((f|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(vY(t)|0)){if((dY(a[(a[(a[r>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(dY(f)|0)==0:0){gY(e,i,b,t);break}EY(e,i,b,t);break}else{f=bY(a[r>>2]|0)|0;r=a[t>>2]&3;if((f|0)!=(a[(a[(a[(a[(a[((r|0)==3?t:n)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(n=bY(a[((r|0)==2?t:c)+40>>2]|0)|0,(n|0)!=(a[(a[(a[(a[(a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)r=b;else{r=i;i=b}gY(e,i,r,t);break}}}while(0);t=_o(A,t)|0}l=bd(A,l)|0}return}function aY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;if((PR(A)|0)!=0?(dY(A)|0)!=0:0){n=cd(A)|0;while(1){if(!n)break;if(!(qo(A,n)|0)){f=a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0;if(!i)i=uY(e,87252)|0;th(e,i,f,0,1)|0}if(!(Oo(A,n)|0)){f=a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0;if(!r)r=uY(e,87257)|0;th(e,f,r,0,1)|0}n=bd(A,n)|0}if((r|0)!=0&(i|0)!=0){hY(th(e,i,r,0,1)|0,0,1e3);f=i}else f=i}else f=i;i=RB(A)|0;while(1){if(!i)break;aY(i,e,f,r);i=HB(i)|0}return}function nY(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;r[i+158>>0]=0;r[i+157>>0]=0;e=bd(A,e)|0}e=cd(A)|0;while(1){if(!e)break;kY(A,e);e=bd(A,e)|0}return}function lY(A){A=A|0;var e=0,i=0,r=0,f=0;e=cd(A)|0;while(1){if(!e)break;a[(a[e+16>>2]|0)+128>>2]=0;e=bd(A,e)|0}e=0;r=cd(A)|0;while(1){if(!r)break;i=e+1|0;if(!(a[(a[r+16>>2]|0)+128>>2]|0)){wY(A,r,i);e=i}r=bd(A,r)|0}A:do{if((e|0)>1){f=uY(A,87246)|0;i=1;r=cd(A)|0;while(1){if(!r)break A;if((a[(a[r+16>>2]|0)+128>>2]|0)==(i|0)){th(A,f,r,0,1)|0;i=i+1|0}r=bd(A,r)|0}}}while(0);return e|0}function tY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;n=cd(A)|0;while(1){if(!n)break;l=n+16|0;f=Oo(A,n)|0;while(1){if(!f)break;e=a[l>>2]|0;i=a[e+180>>2]|0;if(!i)e=$F((a[e+184>>2]<<2)+8|0)|0;else e=eV(i,(a[e+184>>2]<<2)+8|0)|0;i=a[l>>2]|0;a[i+180>>2]=e;i=i+184|0;r=a[i>>2]|0;a[i>>2]=r+1;a[e+(r<<2)>>2]=f;r=a[l>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=f+-48|0;e=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;a[(a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;t=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;e=a[t+172>>2]|0;t=t+176|0;i=a[t>>2]|0;a[t>>2]=i+1;a[e+(i<<2)>>2]=f;r=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;a[(a[r+172>>2]|0)+(a[r+176>>2]<<2)>>2]=0;f=_o(A,f)|0}n=bd(A,n)|0}return}function cY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;u=A+16|0;k=a[u>>2]|0;f[k+236>>1]=32767;f[k+238>>1]=-1;A:do{if((i|0)>1){n=qF((i<<2)+4|0)|0;r=i+1|0;i=1;while(1){if((i|0)==(r|0)){w=n;k=n;break A}a[n+(i<<2)>>2]=32767;i=i+1|0}}else{w=0;k=0}}while(0);t=(w|0)==0;n=cd(A)|0;while(1){if(!n)break;c=a[(a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;b=a[c+232>>2]|0;s=a[n+16>>2]|0;a[s+232>>2]=b;i=a[u>>2]|0;r=i+238|0;if((b|0)>(f[r>>1]|0))f[r>>1]=b;i=i+236|0;if((b|0)<(f[i>>1]|0))f[i>>1]=b;if(!t){c=a[c+128>>2]|0;a[s+128>>2]=c;s=w+(c<<2)|0;c=a[s>>2]|0;a[s>>2]=(c|0)<(b|0)?c:b}n=bd(A,n)|0}c=(w|0)!=0;A:do{if(!c){w=f[(a[u>>2]|0)+236>>1]|0;r=w<<16>>16;if(w<<16>>16>0){i=cd(A)|0;while(1){if(!i)break;w=(a[i+16>>2]|0)+232|0;a[w>>2]=(a[w>>2]|0)-r;i=bd(A,i)|0}i=a[u>>2]|0;u=i+236|0;f[u>>1]=(l[u>>1]|0)-r;i=i+238|0;f[i>>1]=(l[i>>1]|0)-r;i=0}else i=0}else{i=cd(A)|0;while(1){if(!i){i=1;break A}s=a[i+16>>2]|0;u=s+232|0;a[u>>2]=(a[u>>2]|0)-(a[w+(a[s+128>>2]<<2)>>2]|0);i=bd(A,i)|0}}}while(0);sY(A,i);t=cd(e)|0;while(1){if(!t)break;r=t+16|0;i=a[r>>2]|0;n=a[i+172>>2]|0;if(n){L2(n);i=a[r>>2]|0}i=a[i+180>>2]|0;if(i|0)L2(i);t=bd(e,t)|0}L2(a[(a[(cd(A)|0)+16>>2]|0)+112>>2]|0);i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+112>>2]=0;i=bd(A,i)|0}if(c)L2(k);return}function bY(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=(a[e>>2]|0)+152|0;r=a[i>>2]|0;if(r){if((r|0)!=(A|0)){r=bY(r)|0;a[(a[e>>2]|0)+152>>2]=r;return r|0}}else a[i>>2]=A;return A|0}function sY(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0;t=A+16|0;i=1;while(1){r=a[t>>2]|0;if((i|0)>(a[r+180>>2]|0))break;sY(a[(a[r+184>>2]|0)+(i<<2)>>2]|0,0);i=i+1|0}if((e|0)!=0|(a[r+200>>2]|0)!=0){f[r+236>>1]=32767;f[r+238>>1]=-1;i=0;l=cd(A)|0;while(1){if(!l)break;n=a[(a[l+16>>2]|0)+232>>2]|0;e=a[t>>2]|0;r=e+238|0;if((n|0)>(f[r>>1]|0))f[r>>1]=n;e=e+236|0;if((n|0)<(f[e>>1]|0)){f[e>>1]=n;i=l}l=bd(A,l)|0}a[(a[t>>2]|0)+264>>2]=i}return}function wY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[e+16>>2]|0)+128|0;A:do{if(!(a[r>>2]|0)){a[r>>2]=i;r=Oo(A,e)|0;while(1){if(!r)break;wY(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,i);r=_o(A,r)|0}r=qo(A,e)|0;while(1){if(!r)break A;wY(A,a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,i);r=$o(A,r)|0}}}while(0);return}function uY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=vd(A,e,1)|0;e=f+16|0;a[(a[e>>2]|0)+176>>2]=0;r=qF(20)|0;i=a[e>>2]|0;a[i+172>>2]=r;a[i+184>>2]=0;i=qF(20)|0;e=a[e>>2]|0;a[e+180>>2]=i;i=a[46747]|0;r=e+168|0;if(!i){a[r>>2]=0;a[(a[A+16>>2]|0)+192>>2]=f}else{a[r>>2]=i;a[(a[i+16>>2]|0)+164>>2]=f}a[46747]=f;a[e+164>>2]=0;return f|0}function kY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=e+16|0;i=a[l>>2]|0;f=i+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;r[i+158>>0]=1;e=Oo(A,e)|0;while(1){if(!e)break;i=_o(A,e)|0;f=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;n=a[f+16>>2]|0;if(r[n+158>>0]|0){oY(A,e);e=i;continue}if(r[n+157>>0]|0){e=i;continue}kY(A,f);e=i}r[(a[l>>2]|0)+158>>0]=0}return}function oY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[e>>2]&3;f=e+-48|0;r=e+48|0;i=th(A,a[((i|0)==2?e:f)+40>>2]|0,a[((i|0)==3?e:r)+40>>2]|0,0,0)|0;if(!i){i=a[e>>2]&3;i=th(A,a[((i|0)==2?e:f)+40>>2]|0,a[((i|0)==3?e:r)+40>>2]|0,0,1)|0}f=a[e+16>>2]|0;hY(i,l[f+170>>1]|0,a[f+156>>2]|0);Cd(A,e)|0;return}function hY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A=a[A+16>>2]|0;r=A+170|0;n=l[r>>1]|0;f[r>>1]=(n|0)>(e|0)?n:e;e=A+156|0;a[e>>2]=(a[e>>2]|0)+i;return}function dY(A){A=A|0;return(ER(po(A,87262)|0,0)|0)&255|0}function BY(A){A=A|0;var e=0,i=0;e=a[47189]|0;if((((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(gR(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function vY(A){A=A|0;var e=0,i=0;i=a[A>>2]&3;e=a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;A=a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((e|0)==(A|0))return 1;else{i=CY(e,A)|0;return((i|0)==(e|0)|(i|0)==(A|0))&1|0}return 0}function gY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,t=0,c=0;c=k;k=k+16|0;n=c;f=th(A,e,i,0,0)|0;if(!f){f=th(A,i,e,0,0)|0;if(!f){f=th(A,e,i,0,1)|0;if(!f){e=Vh(e)|0;r=Vh(i)|0;a[n>>2]=e;a[n+4>>2]=r;ao(1,87279,n)|0}else t=4}else t=4}else t=4;if((t|0)==4){t=a[r+16>>2]|0;hY(f,l[t+170>>1]|0,a[t+156>>2]|0)}k=c;return}function EY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+112|0;c=s;t=s+4|0;n=qo(A,e)|0;while(1){if(!n){b=6;break}w=Oo(A,a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;if(w|0?(a[((a[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0)==(i|0):0)break;n=$o(A,n)|0}if((b|0)==6){w=a[46748]|0;a[46748]=w+1;a[c>>2]=w;P4(t,87270,c)|0;t=uY(A,t)|0;w=th(A,t,e,0,1)|0;t=th(A,t,i,0,1)|0;i=a[r+16>>2]|0;b=i+156|0;w=(a[w+16>>2]|0)+156|0;a[w>>2]=(a[w>>2]|0)+((a[b>>2]|0)*1e3|0);w=a[t+16>>2]|0;c=w+170|0;f[c>>1]=f[(a[((l[c>>1]|0)>(l[i+170>>1]|0)?t:r)+16>>2]|0)+170>>1]|0;w=w+156|0;a[w>>2]=(a[w>>2]|0)+(a[b>>2]|0)}k=s;return}function CY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A:while(1){r=A+16|0;while(1){if((A|0)==(e|0))break A;f=a[r>>2]|0;i=a[e+16>>2]|0;if((a[f+204>>2]|0)>=(a[i+204>>2]|0))break;e=a[i+200>>2]|0}A=a[f+200>>2]|0}return A|0}function IY(A){A=A|0;return(cd(A)|0)==0|0}function ZY(A,e){A=A|0;e=e|0;a[(a[A+16>>2]|0)+200>>2]=e;_z(e,A);Kz(e,A);return}function GY(A){A=A|0;var e=0;A=po(A,87171)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)if(A1(A,87181)|0)if(A1(A,87185)|0)if(A1(A,87192)|0)if(A1(A,87196)|0)if(!(A1(A,87176)|0))A=1;else e=8;else A=5;else A=4;else A=3;else A=2;else e=8;if((e|0)==8)A=6;return A|0}function QY(A){A=A|0;var e=0,i=0;i=cd(A)|0;A:do{if(!i)e=0;else{e=bY(i)|0;while(1){i=bd(A,i)|0;if(!i)break A;mY(e,i)|0}}}while(0);return e|0}function mY(A,e){A=A|0;e=e|0;if(e){A=bY(A)|0;a[(a[(bY(e)|0)+16>>2]|0)+152>>2]=A}return A|0}function LY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87230,a[i>>2]|0,1)|0;return}function WY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87397,a[i+4>>2]|0,1)|0;return}function yY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87382,a[i+8>>2]|0,1)|0;return}function zY(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+240|0;s=o+120|0;w=o;a[47193]=Yo(A,2,87412,0)|0;b=Yo(A,2,87421,0)|0;a[47194]=b;A:do{if((b|0)!=0|(a[47193]|0)!=0){b=cd(A)|0;while(1){if(!b)break A;c=0;e=0;t=Ah(A,b)|0;while(1){if(!t){f=0;break}i=a[t>>2]|0;n=i&3;f=a[((n|0)==2?t:t+-48|0)+40>>2]|0;l=t+48|0;e:do{if((f|0)!=(a[((n|0)==3?t:l)+40>>2]|0)){n=a[47193]|0;do{if((f|0)==(b|0)&(n|0)!=0){f=Uo(t,n)|0;if(!(r[f>>0]|0)){i=a[t>>2]|0;break}else{i=c;e=YY(s,e,b,t,f)|0;break e}}}while(0);f=a[47194]|0;if((f|0?(a[((i&3|0)==3?t:l)+40>>2]|0)==(b|0):0)?(u=Uo(t,f)|0,(r[u>>0]|0)!=0):0)i=YY(w,c,b,t,u)|0;else i=c}else i=c}while(0);c=i;t=eh(A,t,b)|0}while(1){if((f|0)>=(e|0)){i=0;break}i=s+(f*24|0)+4|0;if((a[s+(f*24|0)+8>>2]|0)>1)DY(b,i);i=a[i>>2]|0;if(i|0)L2(i);f=f+1|0}while(1){if((i|0)>=(c|0))break;e=w+(i*24|0)+4|0;if((a[w+(i*24|0)+8>>2]|0)>1)DY(b,e);e=a[e>>2]|0;if(e|0)L2(e);i=i+1|0}b=bd(A,b)|0}}}while(0);k=o;return}function YY(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;o=k;k=k+16|0;c=o;s=o+12|0;w=o+8|0;u=0;while(1){if((u|0)>=(e|0)){t=10;break}t=a[A+(u*24|0)>>2]|0;if((r[t>>0]|0)==(r[n>>0]|0)?(A1(t,n)|0)==0:0){t=5;break}u=u+1|0}do{if((t|0)==5){c=A+(u*24|0)+4|0;t=a[c>>2]|0;if(!t){t=A+(u*24|0)+8|0;n=t;t=$F((a[t>>2]<<2)+8|0)|0}else{h=A+(u*24|0)+8|0;n=h;t=eV(t,(a[h>>2]<<2)+8|0)|0}a[c>>2]=t;d=a[n>>2]|0;h=d+1|0;a[n>>2]=h;a[t+(d<<2)>>2]=f;a[(a[c>>2]|0)+(h<<2)>>2]=0;t=13}else if((t|0)==10)if((e|0)>4){d=Vh(i)|0;a[c>>2]=5;a[c+4>>2]=d;ao(1,87430,c)|0;break}else{B=A+(u*24|0)+8|0;a[B>>2]=0;c=qF(8)|0;d=A+(u*24|0)+4|0;a[d>>2]=c;h=a[B>>2]|0;t=h+1|0;a[B>>2]=t;a[c+(h<<2)>>2]=f;a[(a[d>>2]|0)+(t<<2)>>2]=0;a[A+(u*24|0)>>2]=n;a[A+(u*24|0)+12>>2]=0;b[A+(u*24|0)+16>>3]=0.0;e=e+1|0;t=13;break}}while(0);if((t|0)==13){DC(f,s,w);t=(a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(i|0)?a[w>>2]|0:a[s>>2]|0;if(t){d=A+(u*24|0)+12|0;B=a[d>>2]|0;a[d>>2]=B+1;if(!B)l=+JC(f,t);else l=0.0;b[A+(u*24|0)+16>>3]=l}}k=o;return e|0}function DY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0;I=k;k=k+80|0;v=I+68|0;g=I+64|0;d=I;E=e+4|0;w=a[E>>2]|0;C=A+16|0;l=0;o=0.0;h=0.0;while(1){if((l|0)>=(w|0))break;f=a[(a[e>>2]|0)+(l<<2)>>2]|0;n=a[f>>2]&3;i=a[((n|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(A|0))i=a[((n|0)==3?f:f+48|0)+40>>2]|0;n=a[i+16>>2]|0;B=a[C>>2]|0;c=+b[n+16>>3]-+b[B+16>>3];s=+b[n+24>>3]-+b[B+24>>3];u=+v1(c,s);l=l+1|0;o=c/u+o;h=s/u+h}t=+v1(o,h);B=a[C>>2]|0;c=+b[B+16>>3];s=+b[B+24>>3];Z=+b[B+96>>3]+ +b[B+88>>3];u=+b[B+80>>3];B=Z>u+ +(a[(a[(Id(A)|0)+16>>2]|0)+252>>2]|0);i=a[C>>2]|0;if(B)u=+b[i+96>>3]+ +b[i+88>>3];else{u=+b[i+80>>3];u=u+ +(a[(a[(Id(A)|0)+16>>2]|0)+252>>2]|0);i=a[C>>2]|0}Z=+b[i+16>>3]+u*(o/t);t=+b[i+24>>3]+u*(h/t);b[d>>3]=c;w=d+8|0;b[w>>3]=s;b[d+16>>3]=(Z+c*2.0)*.3333333333333333;b[d+24>>3]=(t+s*2.0)*.3333333333333333;b[d+32>>3]=(Z*2.0+c)*.3333333333333333;b[d+40>>3]=(t*2.0+s)*.3333333333333333;b[d+48>>3]=Z;b[d+56>>3]=t;dX(A,d);B=a[C>>2]|0;t=+b[d>>3]-+b[B+16>>3];c=+b[w>>3]-+b[B+24>>3];t=+(~~(t+(t>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);Z=+b[B+88>>3];B=~~((Z+t)*256.0/(+b[B+96>>3]+Z))&255;d=0;while(1){if((d|0)>=(a[E>>2]|0))break;w=a[(a[e>>2]|0)+(d<<2)>>2]|0;DC(w,v,g);while(1){if(!w)break;else n=w;while(1){if(!n){l=w;break}i=a[n>>2]|0;l=n+-48|0;if((a[((i&3|0)==2?n:l)+40>>2]|0)==(A|0)){i=a[n+16>>2]|0;b[i+56>>3]=t;b[i+64>>3]=c;b[i+72>>3]=0.0;a[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=B;r[i+89>>0]=0;a[i+92>>2]=0;i=a[n>>2]|0}f=n+16|0;if((a[((i&3|0)==3?n:n+48|0)+40>>2]|0)==(A|0)){i=a[f>>2]|0;b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=0.0;a[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=B;r[i+49>>0]=0;a[i+52>>2]=0}if((r[(a[f>>2]|0)+112>>0]|0)!=1){n=0;continue}i=a[(a[((a[n>>2]&3|0)==2?n:l)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){n=0;continue}if((a[i+184>>2]|0)!=1){n=0;continue}n=a[a[i+180>>2]>>2]|0}while(1){if(!l)break;i=a[l>>2]|0;if((a[((i&3|0)==2?l:l+-48|0)+40>>2]|0)==(A|0)){i=a[l+16>>2]|0;b[i+56>>3]=t;b[i+64>>3]=c;b[i+72>>3]=0.0;a[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=B;r[i+89>>0]=0;a[i+92>>2]=0;i=a[l>>2]|0}f=l+48|0;n=l+16|0;if((a[((i&3|0)==3?l:f)+40>>2]|0)==(A|0)){i=a[n>>2]|0;b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=0.0;a[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=B;r[i+49>>0]=0;a[i+52>>2]=0}if((r[(a[n>>2]|0)+112>>0]|0)!=1){l=0;continue}i=a[(a[((a[l>>2]&3|0)==3?l:f)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){l=0;continue}if((a[i+176>>2]|0)!=1){l=0;continue}l=a[a[i+172>>2]>>2]|0}w=a[(a[w+16>>2]|0)+172>>2]|0}d=d+1|0}r[(a[C>>2]|0)+145>>0]=1;k=I;return}function MY(A){A=A|0;var e=0,i=0,r=0;CW(A);e=a[A>>2]&3;i=A+-48|0;r=A+48|0;e=dW(a[((e|0)==2?A:i)+40>>2]|0,a[((e|0)==3?A:r)+40>>2]|0)|0;if(!e){e=a[A>>2]&3;mW(a[((e|0)==2?A:i)+40>>2]|0,a[((e|0)==3?A:r)+40>>2]|0,A)|0}else FW(A,e);return}function FY(A){A=A|0;var e=0,i=0,f=0,n=0;f=A+16|0;i=0;while(1){A=a[f>>2]|0;if((i|0)>=(a[A+220>>2]|0))break;e=a[(a[A+216>>2]|0)+(i<<2)>>2]|0;a[A+192>>2]=e;A=e;e=A;while(1){if(!e)break;n=a[e+16>>2]|0;r[n+157>>0]=0;e=a[n+164>>2]|0}while(1){if(!A)break;VY(A);A=a[(a[A+16>>2]|0)+164>>2]|0}i=i+1|0}return}function VY(A){A=A|0;var e=0,i=0,f=0,n=0;n=A+16|0;e=a[n>>2]|0;A=e+157|0;if(!(r[A>>0]|0)){r[A>>0]=1;r[e+158>>0]=1;A=0;while(1){f=a[(a[e+180>>2]|0)+(A<<2)>>2]|0;if(!f)break;e=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;i=a[e+16>>2]|0;if(!(r[i+158>>0]|0)){if(!(r[i+157>>0]|0))VY(e)}else{MY(f);A=A+-1|0}A=A+1|0;e=a[n>>2]|0}r[e+158>>0]=0}return}function JY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=cd(A)|0;e=0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;n=a[i>>2]&3;l=a[(a[(a[((n|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;n=a[(a[(a[((n|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=l-n|0;i=_o(A,i)|0;e=((l|0)==(n|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+e|0}r=bd(A,r)|0}return e|0}function NY(A){A=A|0;var e=0,i=0,f=0,n=0;i=cd(A)|0;while(1){if(!i)break;n=a[i+16>>2]|0;f=a[n+176>>2]|0;n=n+172|0;e=0;while(1){if((e|0)>=(f|0))break;r[(a[(a[(a[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+112>>0]=0;e=e+1|0}i=bd(A,i)|0}return}function XY(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;u=h;t=a[e+24>>2]|0;RY(A);c=(t|0)==-1;s=e+8|0;l=c^1;w=a[15712]|0;f=1797693134862315708145274.0e284;n=0;while(1){if(!(c|(n|0)<(t|0)))break;i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+232>>2]=0;i=bd(A,i)|0}Vz(A);r=+HY(A);b[s>>3]=r;if(0){b[u>>3]=r;f3(w,87482,u)|0;r=+b[s>>3]}if(!(!(r<=+b[e>>3])&(!(f<=r)|l))){o=9;break}pY(A);f=r;n=n+1|0}if((o|0)==9){o=e+20|0;a[e+16>>2]=a[o>>2];a[o>>2]=n}Vz(A);UY(A);xY();b[s>>3]=+HY(A);k=h;return}function RY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0.0,w=0.0,u=0;a[46752]=$F((vh(A)|0)*24|0)|0;a[46751]=0;e=cd(A)|0;while(1){if(!e)break;a[(a[e+16>>2]|0)+120>>2]=-1;e=bd(A,e)|0}l=cd(A)|0;while(1){if(!l)break;t=l+16|0;do{if(!(a[(a[t>>2]|0)+216>>2]|0)){f=qF(4)|0;n=a[46752]|0;c=a[46751]|0;a[n+(c*24|0)>>2]=f;a[f>>2]=l;a[n+(c*24|0)+4>>2]=1;t=a[t>>2]|0;b[n+(c*24|0)+8>>3]=+b[t+32>>3];b[n+(c*24|0)+16>>3]=+b[t+40>>3];a[t+120>>2]=c;a[46751]=c+1}else{n=CR(l)|0;c=n+16|0;e=a[c>>2]|0;i=a[e+120>>2]|0;if((i|0)>-1){n=a[46752]|0;f=a[n+(i*24|0)>>2]|0;r=n+(i*24|0)+4|0;c=a[r>>2]|0;a[r>>2]=c+1;a[f+(c<<2)>>2]=l;c=a[t>>2]|0;t=n+(i*24|0)+8|0;b[t>>3]=+b[t>>3]+ +b[c+32>>3];t=n+(i*24|0)+16|0;s=+b[t>>3];w=+b[c+40>>3];b[t>>3]=s>2]=i;break}i=qF(a[e+216>>2]<<2)|0;r=a[46752]|0;f=a[46751]|0;e=r+(f*24|0)|0;a[e>>2]=i;a[i>>2]=n;if((n|0)==(l|0)){b[r+(f*24|0)+8>>3]=+b[(a[c>>2]|0)+32>>3];i=1;e=l}else{a[(a[e>>2]|0)+4>>2]=l;u=a[c>>2]|0;e=a[t>>2]|0;b[r+(f*24|0)+8>>3]=+b[e+32>>3]+ +b[u+32>>3];i=2;e=+b[u+40>>3]<+b[e+40>>3]?l:n}a[r+(f*24|0)+4>>2]=i;b[r+(f*24|0)+16>>3]=+b[(a[e+16>>2]|0)+40>>3];a[(a[c>>2]|0)+120>>2]=f;a[(a[t>>2]|0)+120>>2]=f;a[46751]=f+1}}while(0);l=bd(A,l)|0}return}function HY(A){A=A|0;var e=0.0,i=0.0,r=0,f=0,n=0,l=0.0,t=0.0;UY(A);n=a[46749]|0;r=a[A+16>>2]|0;e=+(U(a[r+252>>2]|0,n+-1|0)|0);f=a[46750]|0;r=r+248|0;A=0;i=0.0;while(1){if((A|0)>=(n|0))break;l=+b[f+(A*40|0)+24>>3]+ +(U(a[r>>2]|0,a[f+(A*40|0)+16>>2]|0)|0);t=+b[f+(A*40|0)+32>>3]+e;A=A+1|0;e=t;i=i=(vh(A)|0))break;a[(a[46753]|0)+(e<<2)>>2]=e;e=e+1|0}UY(A);TY(A);jY(A);return}function UY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0;a[46749]=0;e=a[46750]|0;if(e|0){r=0;while(1){if((r|0)>=(a[46751]|0))break;i=a[e+(r*40|0)+4>>2]|0;if(i){L2(i);e=a[46750]|0}i=a[e+(r*40|0)+8>>2]|0;if(i){L2(i);e=a[46750]|0}r=r+1|0}L2(e)}a[46750]=qF((a[46751]|0)*40|0)|0;e=0;while(1){i=a[46751]|0;if((e|0)>=(i|0))break;c=qF(i<<2)|0;a[(a[46750]|0)+(e*40|0)+4>>2]=c;c=qF(a[46751]<<2)|0;s=a[46750]|0;a[s+(e*40|0)+8>>2]=c;a[s+(e*40|0)>>2]=e;a[s+(e*40|0)+12>>2]=0;a[s+(e*40|0)+16>>2]=0;s=s+(e*40|0)+24|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;e=e+1|0}r=cd(A)|0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;l=a[i>>2]|0;f=i+-48|0;n=a[46750]|0;e=a[(a[(a[((l&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){e=e+1|0;if((e|0)>=(a[(a[(a[((l&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;l=n+(e*40|0)+16|0;a[l>>2]=(a[l>>2]|0)+1;l=a[i>>2]|0}i=_o(A,i)|0}r=bd(A,r)|0}l=a[46751]|0;c=a[46752]|0;s=a[46750]|0;i=A+16|0;e=0;while(1){if((e|0)>=(l|0))break;r=(a[a[c+(e*24|0)>>2]>>2]|0)+16|0;f=a[(a[r>>2]|0)+232>>2]|0;if((f|0)>=(a[46749]|0))a[46749]=f+1;n=s+(f*40|0)+24|0;t=+b[n>>3];b[n>>3]=t+ +b[c+(e*24|0)+8>>3]*72.0+(t>0.0?+(a[(a[i>>2]|0)+248>>2]|0):0.0);n=s+(f*40|0)+32|0;t=+b[c+(e*24|0)+16>>3]*72.0;if(+b[n>>3]>3]=t;a[(a[s+(f*40|0)+4>>2]|0)+(a[s+(f*40|0)+12>>2]<<2)>>2]=c+(e*24|0);A=s+((a[(a[r>>2]|0)+232>>2]|0)*40|0)+12|0;a[A>>2]=(a[A>>2]|0)+1;e=e+1|0}return}function xY(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=a[46749]|0;s=a[46750]|0;c=0;e=0;A=0;while(1){if((c|0)>=(b|0))break;i=s+(c*40|0)|0;t=a[s+(c*40|0)+12>>2]|0;r=(e|0)==0;A:do{if(t)if(!r){if((a[i>>2]|0)>(A|0)){f=s+(c*40|0)+4|0;i=0;while(1){if((i|0)>=(t|0))break A;n=a[(a[f>>2]|0)+(i<<2)>>2]|0;l=a[n+4>>2]|0;r=0;while(1){if((r|0)>=(l|0))break;w=(a[(a[(a[n>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+232|0;a[w>>2]=(a[w>>2]|0)-e;r=r+1|0}i=i+1|0}}}else e=0;else{if(r)A=a[i>>2]|0;e=e+1|0}}while(0);c=c+1|0}return}function TY(A){A=A|0;var e=0;e=a[46753]|0;K4(e,vh(A)|0,4,63);return}function jY(A){A=A|0;var e=0.0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0.0,B=0;t=a[46749]|0;c=a[46750]|0;n=a[46753]|0;l=0;while(1){if((l|0)>=(t|0)){i=0;e=0.0;break}i=a[n+(l<<2)>>2]|0;f=l+1|0;if((a[c+(i*40|0)+12>>2]|0)<2)l=f;else{s=4;break}}if((s|0)==4)if((t|0)>(f|0))e=+b[c+((a[n+(f<<2)>>2]|0)*40|0)+24>>3];else e=0.0;A:do{if((l|0)!=(t|0)){K4(a[c+(i*40|0)+4>>2]|0,a[c+(i*40|0)+12>>2]|0,4,64);n=a[46750]|0;d=+b[n+(i*40|0)+24>>3];d=!(e<=d*.25)&!(e>=d*.75)?e:d*.5;B=a[n+(i*40|0)+12>>2]|0;h=A+16|0;u=0;k=0;e=0.0;f=0;o=0;while(1){if((o|0)>=(f+B|0))break A;do{if(!(a[(a[n+(i*40|0)+8>>2]|0)+(o<<2)>>2]|0)){s=a[(a[n+(i*40|0)+4>>2]|0)+(o<<2)>>2]|0;A=s+8|0;w=+b[A>>3]*72.0+e+(e>0.0?+(a[(a[h>>2]|0)+248>>2]|0):0.0);l=(k|0)!=0;if(!(l&!(w<=d))){t=l?u:s;l=l?k:1;e=w;break}t=u+4|0;c=s+4|0;l=0;while(1){if((l|0)<(a[t>>2]|0))n=0;else break;while(1){if((n|0)>=(a[c>>2]|0))break;r[(a[(mW(a[(a[u>>2]|0)+(l<<2)>>2]|0,a[(a[s>>2]|0)+(n<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;n=n+1|0}l=l+1|0}n=a[46750]|0;a[(a[n+(i*40|0)+8>>2]|0)+(o<<2)>>2]=1;t=n+(i*40|0)+12|0;a[t>>2]=(a[t>>2]|0)+-1;t=n+(i*40|0)+16|0;a[t>>2]=(a[t>>2]|0)+1;t=n+(i*40|0)+24|0;b[t>>3]=+b[A>>3]*-72.0-+(a[(a[h>>2]|0)+248>>2]|0)+ +b[t>>3];t=u;l=k}else{t=u;l=k;f=f+1|0}}while(0);u=t;k=l;o=o+1|0}}}while(0);return}function SY(A,e){A=A|0;e=e|0;A=PY(a[A>>2]|0)|0;e=PY(a[e>>2]|0)|0;return((e|0)<(A|0)&1)-((e|0)>(A|0)&1)|0}function PY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(a[f>>2]|0))break;r=a[(a[A>>2]|0)+(i<<2)>>2]|0;n=Id(r)|0;r=Oo(n,r)|0;while(1){if(!r)break;r=_o(n,r)|0;e=e+1|0}i=i+1|0}return e|0}function OY(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[46750]|0;r=+b[f+((a[e>>2]|0)*40|0)+24>>3];i=+b[f+((a[A>>2]|0)*40|0)+24>>3];return(r>i&1)-(r>2]|0)+216>>2]=0;e=bd(A,e)|0}return}function _Y(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n+16|0;r=n+8|0;i=n+20|0;a[i>>2]=5;A=po(A,99605)|0;if(A|0?(a[r>>2]=n,a[r+4>>2]=i,(J3(A,87497,r)|0)>=1):0)ao(0,87504,f)|0;a[e+24>>2]=0;a[e+32>>2]=0;k=n;return 0}function qY(A){A=A|0;var e=0,i=0;e=a[47189]|0;if((((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(gR(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function $Y(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;gD(A);e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;do{if(((a[(a[i+16>>2]|0)+172>>2]|0)==0?(qY(i)|0)==0:0)?(r=i+48|0,f=CR(a[((a[i>>2]&3|0)==3?i:r)+40>>2]|0)|0,n=i+-48|0,l=CR(a[((a[i>>2]&3|0)==2?i:n)+40>>2]|0)|0,(f|0)!=(l|0)):0){if((a[(a[f+16>>2]|0)+212>>2]|0)==0?(a[(a[l+16>>2]|0)+212>>2]|0)==0:0){t=dW(f,l)|0;if(!t){mW(f,l,i)|0;break}else{FW(i,t);break}}t=a[i>>2]&3;AD(A,a[((t|0)==3?i:r)+40>>2]|0,a[((t|0)==2?i:n)+40>>2]|0,i)}}while(0);i=_o(A,i)|0}e=bd(A,e)|0}return}function AD(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,t=0,c=0,b=0;c=a[f>>2]&3;n=a[(a[((c|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0;t=a[n+212>>2]|0;if(!t)b=0;else b=(a[n+232>>2]|0)-(a[(a[(a[(a[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;n=a[(a[((c|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0;t=a[n+212>>2]|0;if(!t)n=0;else n=(a[(a[(a[(a[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(a[n+232>>2]|0)|0;c=f+16|0;b=n+b+(l[(a[c>>2]|0)+170>>1]|0)|0;A=YW(A)|0;r[(a[A+16>>2]|0)+156>>0]=2;t=CR(e)|0;e=CR(i)|0;i=sz(A,t,(b|0)>0?0.0:+(0-b|0),(a[(a[c>>2]|0)+156>>2]|0)*10|0)|0;a[(a[(sz(A,e,+(((b|0)>0?b:0)|0),a[(a[c>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=f;a[(a[i+16>>2]|0)+116>>2]=f;return}function eD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0,c=0,b=0;c=a[e>>2]&3;t=(c|0)==3?e:e+48|0;c=(c|0)==2?e:e+-48|0;c=a[(a[(a[((a[(a[(a[t+40>>2]|0)+16>>2]|0)+232>>2]|0)>(a[(a[(a[c+40>>2]|0)+16>>2]|0)+232>>2]|0)?t:c)+40>>2]|0)+16>>2]|0)+232>>2]|0;t=e+16|0;e=(a[t>>2]|0)+172|0;if(a[e>>2]|0)vA(87593,87615,148,87624);a[e>>2]=i;n=(r|0)==0;do{e=a[t>>2]|0;if(n)r=a[i+16>>2]|0;else{r=a[i+16>>2]|0;b=r+168|0;f[b>>1]=(l[b>>1]|0)+(l[e+168>>1]|0)}b=r+154|0;f[b>>1]=(l[b>>1]|0)+(l[e+154>>1]|0);r=r+156|0;a[r>>2]=(a[r>>2]|0)+(a[e+156>>2]|0);e=i+-48|0;r=a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0;if((a[(a[r+16>>2]|0)+232>>2]|0)==(c|0))break;iD(A,r);i=a[a[(a[(a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((i|0)!=0);return}function iD(A,e){A=A|0;e=e|0;var i=0.0;i=+((a[(a[A+16>>2]|0)+248>>2]|0)/2|0|0);e=a[e+16>>2]|0;A=e+88|0;b[A>>3]=+b[A>>3]+i;e=e+96|0;b[e>>3]=+b[e>>3]+i;return}function rD(A,e){A=A|0;e=e|0;var i=0,r=0;if(((((A|0)!=0&(e|0)!=0?(r=a[A>>2]&3,i=a[e>>2]&3,(a[((r|0)==3?A:A+48|0)+40>>2]|0)==(a[((i|0)==3?e:e+48|0)+40>>2]|0)):0)?(a[((r|0)==2?A:A+-48|0)+40>>2]|0)==(a[((i|0)==2?e:e+-48|0)+40>>2]|0):0)?(a[(a[A+16>>2]|0)+96>>2]|0)==(a[(a[e+16>>2]|0)+96>>2]|0):0)?(Mz(A,e)|0)!=0:0)A=1;else A=0;return A|0}function fD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;d=A+16|0;e=a[d>>2]|0;a[e+192>>2]=0;a[e+232>>2]=0;gD(A);e=1;while(1){i=a[d>>2]|0;if((e|0)>(a[i+180>>2]|0))break;ED(A,a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}l=cd(A)|0;while(1){if(!l)break;n=Oo(A,l)|0;while(1){if(!n)break;e=a[n>>2]|0;i=(a[(a[((e&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=r[i>>0]|0;if(f<<24>>24<3){r[i>>0]=f+1<<24>>24;e=a[n>>2]|0}e=(a[(a[((e&3|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+160|0;i=r[e>>0]|0;if(i<<24>>24<3)r[e>>0]=i+1<<24>>24;n=_o(A,n)|0}l=bd(A,l)|0}w=cd(A)|0;while(1){if(!w)break;if((a[(a[w+16>>2]|0)+212>>2]|0)==0?(w|0)==(CR(w)|0):0){LW(A,w);s=(a[d>>2]|0)+232|0;a[s>>2]=(a[s>>2]|0)+1}e=0;s=Oo(A,w)|0;while(1){if(!s)break;b=s+16|0;l=a[b>>2]|0;A:do{if(!(a[l+172>>2]|0)){if(aD(s)|0){if(!(rD(e,s)|0)){nD(A,s);e=s;break}i=a[(a[e+16>>2]|0)+172>>2]|0;if(i|0){eD(A,s,i,0);IW(s);break}b=a[s>>2]&3;if((a[(a[(a[((b|0)==3?s:s+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(a[(a[(a[((b|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;FW(s,e);IW(s);break}if(e){t=a[s>>2]&3;i=s+48|0;f=a[((t|0)==3?s:i)+40>>2]|0;n=a[e>>2]&3;if((f|0)==(a[((n|0)==3?e:e+48|0)+40>>2]|0)?(u=a[((t|0)==2?s:s+-48|0)+40>>2]|0,(u|0)==(a[((n|0)==2?e:e+-48|0)+40>>2]|0)):0){if((a[(a[f+16>>2]|0)+232>>2]|0)==(a[(a[u+16>>2]|0)+232>>2]|0)){FW(s,e);IW(s);break}if(((a[l+96>>2]|0)==0?(k=e+16|0,(a[(a[k>>2]|0)+96>>2]|0)==0):0)?(Mz(s,e)|0)!=0:0)if(!(r[194954]|0)){eD(A,s,a[(a[k>>2]|0)+172>>2]|0,1);IW(s);break}else{r[(a[b>>2]|0)+112>>0]=6;break}else t=i}else t=i}else t=s+48|0;l=a[s>>2]&3;i=a[((l|0)==3?s:t)+40>>2]|0;c=s+-48|0;if((i|0)==(a[((l|0)==2?s:c)+40>>2]|0)){IW(s);e=s;break}i=CR(i)|0;f=CR(a[((a[s>>2]&3|0)==2?s:c)+40>>2]|0)|0;l=a[s>>2]&3;if((a[((l|0)==3?s:t)+40>>2]|0)==(i|0)?(a[((l|0)==2?s:c)+40>>2]|0)==(f|0):0){n=a[(a[i+16>>2]|0)+232>>2]|0;l=a[(a[f+16>>2]|0)+232>>2]|0;if((n|0)==(l|0)){DW(A,s);e=s;break}if((l|0)>(n|0)){lD(A,i,f,s);e=s;break}i=th(A,f,i,0,0)|0;do{if(i|0?(o=a[i>>2]&3,h=a[((o|0)==2?i:i+-48|0)+40>>2]|0,(h|0)!=(a[((a[s>>2]&3|0)==2?s:c)+40>>2]|0)):0){f=i+16|0;if(!(a[(a[f>>2]|0)+172>>2]|0))lD(A,a[((o|0)==3?i:i+48|0)+40>>2]|0,h,i);if((a[(a[b>>2]|0)+96>>2]|0)==0?(a[(a[f>>2]|0)+96>>2]|0)==0:0){if(!(Mz(s,i)|0))break;if(!(r[194954]|0)){IW(s);eD(A,s,a[(a[f>>2]|0)+172>>2]|0,1);break A}else{r[(a[b>>2]|0)+112>>0]=6;r[(a[f>>2]|0)+153>>0]=1;break A}}}}while(0);e=a[s>>2]&3;lD(A,a[((e|0)==2?s:c)+40>>2]|0,a[((e|0)==3?s:t)+40>>2]|0,s);e=s}}else e=s}while(0);s=_o(A,s)|0}w=bd(A,w)|0}if((gL(A)|0)!=(A|0)){e=a[(a[d>>2]|0)+216>>2]|0;if(!e)e=$F(4)|0;else e=eV(e,4)|0;d=a[d>>2]|0;a[d+216>>2]=e;a[e>>2]=a[d+192>>2]}return}function aD(A){A=A|0;var e=0;e=a[A>>2]&3;if((r[(a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)A=1;else A=(r[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return A|0}function nD(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=bD(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;n=bD(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;t=(a[(a[f+16>>2]|0)+232>>2]|0)>(a[(a[n+16>>2]|0)+232>>2]|0);i=t?f:n;f=t?n:f;n=f+16|0;t=i+16|0;A:do{if((a[(a[n>>2]|0)+212>>2]|0)!=(a[(a[t>>2]|0)+212>>2]|0)){l=dW(f,i)|0;if(l|0){eD(A,e,l,1);break}if((a[(a[n>>2]|0)+232>>2]|0)!=(a[(a[t>>2]|0)+232>>2]|0)){lD(A,f,i,e);i=(a[e+16>>2]|0)+172|0;while(1){i=a[i>>2]|0;if(!i)break A;f=i+-48|0;if((a[(a[(a[((a[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(a[(a[t>>2]|0)+232>>2]|0))break A;r[(a[i+16>>2]|0)+112>>0]=5;i=a[(a[(a[((a[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}}while(0);return}function lD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;b=r+16|0;f=a[b>>2]|0;if(!(a[f+96>>2]|0))c=-1;else c=((a[(a[i+16>>2]|0)+232>>2]|0)+(a[(a[e+16>>2]|0)+232>>2]|0)|0)/2|0;if(a[f+172>>2]|0)vA(87636,87615,89,87661);t=i+16|0;l=a[(a[e+16>>2]|0)+232>>2]|0;while(1){n=l+1|0;f=a[(a[t>>2]|0)+232>>2]|0;if((l|0)>=(f|0))break;if((n|0)<(f|0)){if((n|0)==(c|0))f=tD(A,r)|0;else f=cD(A)|0;a[(a[f+16>>2]|0)+232>>2]=n}else f=i;Py(mW(e,f,r)|0);l=n;e=f}if(!(a[(a[b>>2]|0)+172>>2]|0))vA(87672,87615,103,87661);else return}function tD(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0.0;l=e+16|0;n=a[(a[l>>2]|0)+96>>2]|0;i=+b[n+24>>3];f=+b[n+32>>3];n=YW(A)|0;e=n+16|0;a[(a[e>>2]|0)+104>>2]=a[(a[l>>2]|0)+96>>2];t=+(a[(a[(Zd(n)|0)+16>>2]|0)+248>>2]|0);b[(a[e>>2]|0)+88>>3]=t;if(!(r[(a[l>>2]|0)+114>>0]|0)){A=(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0;l=a[e>>2]|0;b[l+80>>3]=A?f:i;b[l+96>>3]=A?i:f}return n|0}function cD(A){A=A|0;var e=0;e=YW(A)|0;iD(A,e);return e|0}function bD(A){A=A|0;var e=0;e=a[A+16>>2]|0;if((r[e+159>>0]|0)==7)A=a[(a[(a[(a[e+212>>2]|0)+16>>2]|0)+268>>2]|0)+(a[e+232>>2]<<2)>>2]|0;else A=CR(A)|0;return A|0}function sD(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=gL(A)|0;l=cd(A)|0;while(1){if(!l)break;e=Ah(c,l)|0;t=0;while(1){if(!e)break;s=eh(c,e,l)|0;if(Dd(A,e)|0){b=t;e=s;t=b;continue}b=(a[e>>2]&3|0)==2?e:e+-48|0;w=(rD(t,b)|0)==0;r=a[b>>2]&3;e=a[((r|0)==3?b:b+48|0)+40>>2]|0;i=a[(a[e+16>>2]|0)+232>>2]|0;r=a[((r|0)==2?b:b+-48|0)+40>>2]|0;f=a[(a[r+16>>2]|0)+232>>2]|0;n=(i|0)==(f|0);if(!w){a[(a[b+16>>2]|0)+172>>2]=n?t:0;e=a[(a[t+16>>2]|0)+172>>2]|0;if(!e){w=t;e=s;t=w;continue}eD(A,b,e,0);ZW(b);w=t;e=s;t=w;continue}if(!n)if((f|0)>(i|0)){wD(e,r,b);e=s;t=b;continue}else{wD(r,e,b);e=s;t=b;continue}e=vW(e,r)|0;if(!e){DW(c,b);e=s;t=b;continue}if((b|0)==(e|0)){w=t;e=s;t=w;continue}ZW(b);if(a[(a[b+16>>2]|0)+172>>2]|0){w=t;e=s;t=w;continue}FW(b,e);w=t;e=s;t=w}l=bd(A,l)|0}return}function wD(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=uD(A)|0;r=uD(e)|0;kD(f,r,i,a[(a[i+16>>2]|0)+172>>2]|0,(f|0)==(A|0)&(r|0)==(e|0)?1:5);return}function uD(A){A=A|0;var e=0,i=0,f=0;e=a[A+16>>2]|0;i=a[e+212>>2]|0;if((i|0)!=0?(f=a[i+16>>2]|0,(r[f+272>>0]|0)==0):0)A=a[(a[f+268>>2]|0)+(a[e+232>>2]<<2)>>2]|0;return A|0}function kD(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;u=A+16|0;b=a[(a[u>>2]|0)+232>>2]|0;k=e+16|0;t=a[(a[k>>2]|0)+232>>2]|0;if((t|0)<=(b|0))vA(87697,87725,81,87735);w=a[n>>2]&3;if(!((a[((w|0)==3?n:n+48|0)+40>>2]|0)==(A|0)?(a[((w|0)==2?n:n+-48|0)+40>>2]|0)==(e|0):0))s=5;A:do{if((s|0)==5){if((f[(a[n+16>>2]|0)+168>>1]|0)>1){a[(a[i+16>>2]|0)+172>>2]=0;if(((t-b|0)==1?(c=dW(A,e)|0,c|0):0)?Mz(i,c)|0:0){FW(i,c);if(r[(a[u>>2]|0)+156>>0]|0)break;if(r[(a[k>>2]|0)+156>>0]|0)break;IW(i);break}w=l&255;l=A;s=a[(a[u>>2]|0)+232>>2]|0;while(1){t=a[(a[k>>2]|0)+232>>2]|0;if((s|0)>=(t|0))break A;if((s|0)<(t+-1|0)){t=gL(A)|0;c=n+-48|0;t=oD(t,a[((a[n>>2]&3|0)==2?n:c)+40>>2]|0)|0;b=n}else{t=e;c=n+-48|0;b=n}r[(a[(mW(l,t,i)|0)+16>>2]|0)+112>>0]=w;u=(a[n+16>>2]|0)+168|0;f[u>>1]=(f[u>>1]|0)+-1<<16>>16;l=t;s=s+1|0;n=a[a[(a[(a[((a[b>>2]&3|0)==2?n:c)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do{if((t-b|0)==1){n=dW(A,e)|0;if(n|0?Mz(i,n)|0:0){a[(a[i+16>>2]|0)+172>>2]=n;w=a[n+16>>2]|0;r[w+112>>0]=l;w=w+168|0;f[w>>1]=(f[w>>1]|0)+1<<16>>16;if(r[(a[u>>2]|0)+156>>0]|0)break;if(r[(a[k>>2]|0)+156>>0]|0)break;IW(i);break}a[(a[i+16>>2]|0)+172>>2]=0;n=mW(A,e,i)|0;r[(a[n+16>>2]|0)+112>>0]=l}}while(0);t=a[(a[k>>2]|0)+232>>2]|0;if((t-(a[(a[u>>2]|0)+232>>2]|0)|0)>1){if((a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)==(A|0))s=t;else{u=i+16|0;a[(a[u>>2]|0)+172>>2]=0;s=mW(A,a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,i)|0;a[(a[u>>2]|0)+172>>2]=s;CW(n);n=s;s=a[(a[k>>2]|0)+232>>2]|0}while(1){t=a[n>>2]&3;c=a[((t|0)==2?n:n+-48|0)+40>>2]|0;b=a[c+16>>2]|0;if((a[b+232>>2]|0)==(s|0))break;n=a[a[b+180>>2]>>2]|0}if((c|0)!=(e|0)){r[(a[(mW(a[((t|0)==3?n:n+48|0)+40>>2]|0,e,i)|0)+16>>2]|0)+112>>0]=l;CW(n)}}}}while(0);return}function oD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=e+16|0;e=a[i>>2]|0;r=a[e+232>>2]|0;hD(A,r,a[e+236>>2]|0,2);e=YW(A)|0;i=a[i>>2]|0;f=a[e+16>>2]|0;b[f+88>>3]=+b[i+88>>3];b[f+96>>3]=+b[i+96>>3];a[f+232>>2]=a[i+232>>2];i=(a[i+236>>2]|0)+1|0;a[f+236>>2]=i;a[(a[(a[(a[A+16>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return e|0}function hD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=A+16|0;f=a[(a[l>>2]|0)+196>>2]|0;t=a[f+(e<<6)+4>>2]|0;A:do{if((r|0)<1){i=i-r|0;while(1){n=i+1|0;A=a[f+(e<<6)>>2]|0;if((n|0)>=(A|0))break;A=a[t+(n<<2)>>2]|0;f=i+r|0;a[(a[A+16>>2]|0)+236>>2]=f;a[t+(f<<2)>>2]=A;i=n;f=a[(a[l>>2]|0)+196>>2]|0}n=r+-1|0;i=n+A|0;while(1){if((i|0)>=(A|0))break A;a[t+(i<<2)>>2]=0;f=a[(a[l>>2]|0)+196>>2]|0;i=i+1|0;A=a[f+(e<<6)>>2]|0}}else{n=r+-1|0;A=a[f+(e<<6)>>2]|0;while(1){A=A+-1|0;if((A|0)<=(i|0))break;c=a[t+(A<<2)>>2]|0;f=n+A|0;a[(a[c+16>>2]|0)+236>>2]=f;a[t+(f<<2)>>2]=c}f=r+i|0;A=i;while(1){A=A+1|0;if((A|0)>=(f|0))break;a[t+(A<<2)>>2]=0}A=a[(a[l>>2]|0)+196>>2]|0;f=A;A=a[A+(e<<6)>>2]|0}}while(0);a[f+(e<<6)>>2]=n+A;return}function dD(A){A=A|0;var e=0;fD(A);e=a[A+16>>2]|0;a[e+220>>2]=1;a[a[e+216>>2]>>2]=a[e+192>>2];Ty(A);Zy(A,0);BD(A);sD(A);vD(A);return}function BD(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=gL(A)|0;s=A+16|0;i=a[s>>2]|0;c=f[i+236>>1]|0;e=c<<16>>16;w=b+16|0;if(c<<16>>16>0)r[(a[(a[w>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;c=e;while(1){if((c|0)>(f[i+238>>1]|0))break;t=a[(a[(a[(a[i+268>>2]|0)+(c<<2)>>2]|0)+16>>2]|0)+236>>2]|0;hD(b,c,t,a[(a[i+196>>2]|0)+(c<<6)>>2]|0);n=0;l=t;while(1){i=a[s>>2]|0;e=a[i+196>>2]|0;if((n|0)>=(a[e+(c<<6)>>2]|0))break;e=a[(a[e+(c<<6)+4>>2]|0)+(n<<2)>>2]|0;a[(a[(a[(a[w>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(l<<2)>>2]=e;i=a[e+16>>2]|0;a[i+236>>2]=l;if((r[i+156>>0]|0)==1)a[e+24>>2]=Zd(b)|0;yW(A,e);LW(b,e);i=(a[w>>2]|0)+232|0;a[i>>2]=(a[i>>2]|0)+1;n=n+1|0;l=l+1|0}l=a[(a[w>>2]|0)+196>>2]|0;a[e+(c<<6)+4>>2]=(a[l+(c<<6)+4>>2]|0)+(t<<2);r[l+(c<<6)+49>>0]=0;c=c+1|0}e=a[w>>2]|0;if((c|0)<(f[e+238>>1]|0))r[(a[e+196>>2]|0)+(c<<6)+49>>0]=0;r[i+272>>0]=1;return}function vD(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=A+16|0;e=a[t>>2]|0;l=f[e+236>>1]|0;while(1){if((l|0)>(f[e+238>>1]|0))break;r=a[(a[e+268>>2]|0)+(l<<2)>>2]|0;n=r+16|0;while(1){e=a[n>>2]|0;i=a[a[e+180>>2]>>2]|0;if(!i)break;CW(i)}while(1){e=a[a[e+172>>2]>>2]|0;if(!e)break;CW(e);e=a[n>>2]|0}yW(gL(A)|0,r);a[(a[(a[t>>2]|0)+268>>2]|0)+(l<<2)>>2]=0;l=l+1|0;e=a[t>>2]|0}return}function gD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=cd(A)|0;while(1){if(!f)break;i=f+16|0;e=a[i>>2]|0;if((r[e+159>>0]|0)==7){ZR(f);e=a[i>>2]|0}a[e+212>>2]=0;f=bd(A,f)|0}s=A+16|0;b=1;while(1){e=a[s>>2]|0;if((b|0)>(a[e+180>>2]|0))break;l=a[(a[e+184>>2]|0)+(b<<2)>>2]|0;t=l+16|0;e=cd(l)|0;A:while(1){if(!e)break;c=bd(l,e)|0;i=e+16|0;if(r[(a[i>>2]|0)+159>>0]|0){f=Vh(e)|0;n=Vh(A)|0;a[w>>2]=f;a[w+4>>2]=n;ao(0,87744,w)|0;Cd(l,e)|0;e=c;continue}GR(e,a[(a[t>>2]|0)+264>>2]|0);n=a[i>>2]|0;a[n+212>>2]=l;r[n+159>>0]=7;n=Oo(l,e)|0;while(1){if(!n){e=c;continue A}e=a[(a[n+16>>2]|0)+172>>2]|0;e:do{if(e|0)do{i=e+-48|0;f=a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break e;a[f+212>>2]=l;e=a[a[(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);n=_o(l,n)|0}}b=b+1|0}k=u;return}function ED(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=e+16|0;n=qF((f[(a[b>>2]|0)+238>>1]<<2)+8|0)|0;i=a[b>>2]|0;a[i+268>>2]=n;n=0;l=f[i+236>>1]|0;while(1){if((l|0)>(f[i+238>>1]|0))break;i=YW(A)|0;a[(a[(a[b>>2]|0)+268>>2]|0)+(l<<2)>>2]=i;c=a[i+16>>2]|0;a[c+232>>2]=l;r[c+159>>0]=7;a[c+212>>2]=e;if(n|0){c=(a[(mW(n,i,0)|0)+16>>2]|0)+154|0;f[c>>1]=(f[c>>1]|0)*1e3}n=i;l=l+1|0;i=a[b>>2]|0}c=cd(e)|0;while(1){i=a[b>>2]|0;if(!c)break;l=(a[(a[i+268>>2]|0)+(a[(a[c+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;i=(a[l>>2]|0)+216|0;a[i>>2]=(a[i>>2]|0)+1;i=Oo(e,c)|0;while(1){if(!i)break;t=a[i>>2]|0;A=i+-48|0;n=a[(a[(a[((t&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((n|0)>=(a[(a[(a[((t&3|0)==2?i:A)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;t=(a[(a[a[(a[l>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;f[t>>1]=(f[t>>1]|0)+1<<16>>16;n=n+1|0;t=a[i>>2]|0}i=_o(e,i)|0}c=bd(e,c)|0}A=f[i+238>>1]|0;t=i+268|0;i=f[i+236>>1]|0;while(1){if((i|0)>(A|0))break;n=(a[(a[(a[t>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+216|0;l=a[n>>2]|0;if((l|0)>1)a[n>>2]=l+-1;i=i+1|0}return}function CD(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0,b=0;b=(a[(a[e+16>>2]|0)+212>>2]|0)+16|0;e=a[b>>2]|0;c=i+1|0;if((c|0)!=(r[e+273>>0]|0)){t=f[e+236>>1]|0;while(1){l=f[e+238>>1]|0;if((t|0)>(l<<16>>16|0))break;Xy(A,a[(a[e+268>>2]|0)+(t<<2)>>2]|0);t=t+1|0;e=a[b>>2]|0}t=f[e+236>>1]|0;while(1){if((t|0)>(l<<16>>16|0))break;Ry(n,a[(a[e+268>>2]|0)+(t<<2)>>2]|0,i);A=a[b>>2]|0;t=t+1|0;l=f[A+238>>1]|0;e=A}r[e+273>>0]=c}return}function ID(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=cd(A)|0;while(1){if(!l)break;a[(a[l+16>>2]|0)+212>>2]=0;n=Oo(A,l)|0;while(1){if(!n)break;e=a[(a[n+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=e+-48|0;f=a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;a[f+212>>2]=0;e=a[a[(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);n=_o(A,n)|0}l=bd(A,l)|0}ZD(A);return}function ZD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;i=A+16|0;e=1;while(1){f=a[i>>2]|0;if((e|0)>(a[f+180>>2]|0))break;ZD(a[(a[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}t=cd(A)|0;while(1){if(!t)break;e=(a[t+16>>2]|0)+212|0;if(!(a[e>>2]|0))a[e>>2]=A;l=Oo(A,t)|0;while(1){if(!l)break;e=a[(a[l+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=a[e>>2]|0;n=e+-48|0;f=a[(a[((i&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;f=f+212|0;if(!(a[f>>2]|0)){a[f>>2]=A;i=a[e>>2]|0}e=a[a[(a[(a[((i&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);l=_o(A,l)|0}t=bd(A,t)|0}return}function GD(A){A=A|0;var e=0,i=0,r=0;r=_R(A)|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;QD(e,r);e=_o(A,e)|0}i=bd(A,i)|0}pk(r)|0;return}function QD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+320|0;D=N+296|0;Y=N+280|0;I=N+136|0;C=N+120|0;w=N+104|0;t=N+88|0;f=N+80|0;y=N+16|0;G=N;c=N+264|0;b=N+248|0;s=N+232|0;u=N+216|0;Q=N+200|0;m=N+184|0;Z=N+168|0;W=N+152|0;n=mD(po(A,87798)|0,e)|0;h=mD(po(A,87804)|0,e)|0;d=(h|0)!=0;e=(n|0)!=0;do{if(e|d?(J=A+16|0,r=a[(a[J>>2]|0)+8>>2]|0,r|0):0){if((a[r+4>>2]|0)>1){V=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;J=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[f>>2]=V;a[f+4>>2]=J;ao(0,87810,f)|0;break}M=a[r>>2]|0;r=a[M+4>>2]|0;o=a[A>>2]&3;B=A+-48|0;v=a[((o|0)==2?A:B)+40>>2]|0;g=A+48|0;o=a[((o|0)==3?A:g)+40>>2]|0;F=$F(48)|0;E=M+12|0;a[F+12>>2]=a[E>>2];L=M+8|0;a[F+8>>2]=a[L>>2];do{if(e){l=(a[n+16>>2]|0)+16|0;n=(a[v+16>>2]|0)+16|0;a[D>>2]=a[n>>2];a[D+4>>2]=a[n+4>>2];a[D+8>>2]=a[n+8>>2];a[D+12>>2]=a[n+12>>2];if(!(LD(D,l)|0)){u=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;z=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87798)|0;a[t>>2]=u;a[t+4>>2]=z;a[t+8>>2]=V;ao(0,87851,t)|0;V=26;break}e=a[M>>2]|0;a[D>>2]=a[e>>2];a[D+4>>2]=a[e+4>>2];a[D+8>>2]=a[e+8>>2];a[D+12>>2]=a[e+12>>2];if(LD(D,l)|0){z=(a[o+16>>2]|0)+16|0;a[D>>2]=a[z>>2];a[D+4>>2]=a[z+4>>2];a[D+8>>2]=a[z+8>>2];a[D+12>>2]=a[z+12>>2];if(LD(D,l)|0){u=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;z=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87798)|0;a[w>>2]=u;a[w+4>>2]=z;a[w+8>>2]=V;ao(0,87894,w)|0;V=26;break}if(!(a[L>>2]|0))vA(87936,87947,369,87958);u=M+16|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];WD(G,Y,D,l);z=(a[M>>2]|0)+48|0;a[z>>2]=a[G>>2];a[z+4>>2]=a[G+4>>2];a[z+8>>2]=a[G+8>>2];a[z+12>>2]=a[G+12>>2];z=(a[M>>2]|0)+16|0;a[Y>>2]=a[G>>2];a[Y+4>>2]=a[G+4>>2];a[Y+8>>2]=a[G+8>>2];a[Y+12>>2]=a[G+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];yD(c,Y,D);a[z>>2]=a[c>>2];a[z+4>>2]=a[c+4>>2];a[z+8>>2]=a[c+8>>2];a[z+12>>2]=a[c+12>>2];z=a[M>>2]|0;e=z+16|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];yD(b,Y,D);a[z>>2]=a[b>>2];a[z+4>>2]=a[b+4>>2];a[z+8>>2]=a[b+8>>2];a[z+12>>2]=a[b+12>>2];z=a[M>>2]|0;e=z+32|0;z=z+16|0;a[Y>>2]=a[z>>2];a[Y+4>>2]=a[z+4>>2];a[Y+8>>2]=a[z+8>>2];a[Y+12>>2]=a[z+12>>2];a[D>>2]=a[G>>2];a[D+4>>2]=a[G+4>>2];a[D+8>>2]=a[G+8>>2];a[D+12>>2]=a[G+12>>2];yD(s,Y,D);a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2];e=a[E>>2]|0;if(!e){z=3;break}z=(jC(A,a[M>>2]|0,0,0,F,e)|0)+3|0;break}n=r+-1|0;e=0;while(1){if((e|0)>=(n|0))break;if(zD((a[M>>2]|0)+(e<<4)|0,l)|0)break;e=e+3|0}r=a[E>>2]|0;f=(r|0)!=0;if((e|0)==(n|0))if(f){z=F+32|0;s=M+32|0;w=(a[M>>2]|0)+(n<<4)|0;a[Y>>2]=a[s>>2];a[Y+4>>2]=a[s+4>>2];a[Y+8>>2]=a[s+8>>2];a[Y+12>>2]=a[s+12>>2];a[D>>2]=a[w>>2];a[D+4>>2]=a[w+4>>2];a[D+8>>2]=a[w+8>>2];a[D+12>>2]=a[w+12>>2];WD(u,Y,D,l);a[z>>2]=a[u>>2];a[z+4>>2]=a[u+4>>2];a[z+8>>2]=a[u+8>>2];a[z+12>>2]=a[u+12>>2];z=n;break}else vA(87975,87947,387,87958);else{if(f)e=jC(A,a[M>>2]|0,0,e,F,r)|0;z=e+3|0;break}}else V=26}while(0);if((V|0)==26){e=r+-1|0;if(!(a[E>>2]|0))z=e;else{z=F+32|0;u=M+32|0;a[z>>2]=a[u>>2];a[z+4>>2]=a[u+4>>2];a[z+8>>2]=a[u+8>>2];a[z+12>>2]=a[u+12>>2];z=e}}do{if(d){f=(a[h+16>>2]|0)+16|0;d=(a[o+16>>2]|0)+16|0;a[D>>2]=a[d>>2];a[D+4>>2]=a[d+4>>2];a[D+8>>2]=a[d+8>>2];a[D+12>>2]=a[d+12>>2];if(!(LD(D,f)|0)){Y=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;D=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87804)|0;a[C>>2]=Y;a[C+4>>2]=D;a[C+8>>2]=V;ao(0,87986,C)|0;V=52;break}e=(a[M>>2]|0)+(z<<4)|0;a[D>>2]=a[e>>2];a[D+4>>2]=a[e+4>>2];a[D+8>>2]=a[e+8>>2];a[D+12>>2]=a[e+12>>2];if(LD(D,f)|0){y=(a[v+16>>2]|0)+16|0;a[D>>2]=a[y>>2];a[D+4>>2]=a[y+4>>2];a[D+8>>2]=a[y+8>>2];a[D+12>>2]=a[y+12>>2];if(LD(D,f)|0){Y=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;D=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87804)|0;a[I>>2]=Y;a[I+4>>2]=D;a[I+8>>2]=V;ao(0,88029,I)|0;V=52;break}if(!(a[E>>2]|0))vA(87975,87947,429,87958);I=F+32|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];WD(G,Y,D,f);i=z+-3|0;y=(a[M>>2]|0)+(i<<4)|0;a[y>>2]=a[G>>2];a[y+4>>2]=a[G+4>>2];a[y+8>>2]=a[G+8>>2];a[y+12>>2]=a[G+12>>2];y=z+-1|0;e=(a[M>>2]|0)+(y<<4)|0;a[Y>>2]=a[G>>2];a[Y+4>>2]=a[G+4>>2];a[Y+8>>2]=a[G+8>>2];a[Y+12>>2]=a[G+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];yD(Q,Y,D);a[e>>2]=a[Q>>2];a[e+4>>2]=a[Q+4>>2];a[e+8>>2]=a[Q+8>>2];a[e+12>>2]=a[Q+12>>2];e=a[M>>2]|0;W=e+(z<<4)|0;e=e+(y<<4)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];yD(m,Y,D);a[W>>2]=a[m>>2];a[W+4>>2]=a[m+4>>2];a[W+8>>2]=a[m+8>>2];a[W+12>>2]=a[m+12>>2];W=a[M>>2]|0;e=W+(z+-2<<4)|0;y=W+(y<<4)|0;a[Y>>2]=a[y>>2];a[Y+4>>2]=a[y+4>>2];a[Y+8>>2]=a[y+8>>2];a[Y+12>>2]=a[y+12>>2];a[D>>2]=a[G>>2];a[D+4>>2]=a[G+4>>2];a[D+8>>2]=a[G+8>>2];a[D+12>>2]=a[G+12>>2];yD(Z,Y,D);a[e>>2]=a[Z>>2];a[e+4>>2]=a[Z+4>>2];a[e+8>>2]=a[Z+8>>2];a[e+12>>2]=a[Z+12>>2];e=a[L>>2]|0;if(!e)break;i=PC(A,a[M>>2]|0,i,i,F,e)|0;break}r=z;while(1){if((r|0)>0)e=0;else break;while(1){if((e|0)==4)break;m=y+(e<<4)|0;Q=(a[M>>2]|0)+(r-e<<4)|0;a[m>>2]=a[Q>>2];a[m+4>>2]=a[Q+4>>2];a[m+8>>2]=a[Q+8>>2];a[m+12>>2]=a[Q+12>>2];e=e+1|0}if(zD(y,f)|0){e=0;V=43;break}r=r+-3|0}A:do{if((V|0)==43)while(1){V=0;if((e|0)==4)break A;V=(a[M>>2]|0)+(r-e<<4)|0;m=y+(e<<4)|0;a[V>>2]=a[m>>2];a[V+4>>2]=a[m+4>>2];a[V+8>>2]=a[m+8>>2];a[V+12>>2]=a[m+12>>2];e=e+1|0;V=43}}while(0);if(r|0){i=r+-3|0;e=a[L>>2]|0;if(!e)break;i=PC(A,a[M>>2]|0,i,z+-3|0,F,e)|0;break}if(!(a[L>>2]|0))vA(87936,87947,452,87958);else{i=F+16|0;y=M+16|0;A=a[M>>2]|0;a[Y>>2]=a[y>>2];a[Y+4>>2]=a[y+4>>2];a[Y+8>>2]=a[y+8>>2];a[Y+12>>2]=a[y+12>>2];a[D>>2]=a[A>>2];a[D+4>>2]=a[A+4>>2];a[D+8>>2]=a[A+8>>2];a[D+12>>2]=a[A+12>>2];WD(W,Y,D,f);a[i>>2]=a[W>>2];a[i+4>>2]=a[W+4>>2];a[i+8>>2]=a[W+8>>2];a[i+12>>2]=a[W+12>>2];i=0;break}}else V=52}while(0);if((V|0)==52)if(!(a[L>>2]|0))i=0;else{i=F+16|0;V=M+16|0;a[i>>2]=a[V>>2];a[i+4>>2]=a[V+4>>2];a[i+8>>2]=a[V+8>>2];a[i+12>>2]=a[V+12>>2];i=0}e=z-i+1|0;r=F+4|0;a[r>>2]=e;a[F>>2]=$F(e<<4)|0;e=0;while(1){if((e|0)>=(a[r>>2]|0))break;V=(a[F>>2]|0)+(e<<4)|0;A=(a[M>>2]|0)+(i<<4)|0;a[V>>2]=a[A>>2];a[V+4>>2]=a[A+4>>2];a[V+8>>2]=a[A+8>>2];a[V+12>>2]=a[A+12>>2];i=i+1|0;e=e+1|0}L2(a[M>>2]|0);L2(M);a[a[(a[J>>2]|0)+8>>2]>>2]=F}}while(0);k=N;return}function mD(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((A|0)!=0?(r[A>>0]|0)!=0:0){e=$R(e,A)|0;if(!e){a[i>>2]=A;ao(0,88149,i)|0;e=0}}else e=0;k=f;return e|0}function LD(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];if((+b[e>>3]<=r?r<=+b[e+16>>3]:0)?(i=+b[A+8>>3],+b[e+8>>3]<=i):0)A=i<=+b[e+24>>3]&1;else A=0;return A|0}function WD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0;L=k;k=k+464|0;w=L+48|0;m=L+32|0;g=L+16|0;E=L;C=L+364|0;I=L+264|0;G=L+164|0;Q=L+64|0;h=+b[e>>3];d=+b[e+8>>3];B=+b[i>>3];v=+b[i+8>>3];a[g>>2]=a[r>>2];a[g+4>>2]=a[r+4>>2];a[g+8>>2]=a[r+8>>2];a[g+12>>2]=a[r+12>>2];r=r+16|0;a[E>>2]=a[r>>2];a[E+4>>2]=a[r+4>>2];a[E+8>>2]=a[r+8>>2];a[E+12>>2]=a[r+12>>2];c=+b[g>>3];if((B=+b[g+8>>3]):0)?f<=+b[E+8>>3]:0){u=f;o=c}else l=4;do{if((l|0)==4){t=+b[E>>3];if(B>t){n=d+ +(~~((t-h)*(d-v)/(h-B))|0);f=+b[g+8>>3];if(n>=f?n<=+b[E+8>>3]:0){u=n;o=t;break}}else f=+b[g+8>>3];if(v=c)|!(s<=t))):0){u=f;o=s;break}f=+b[E+8>>3];if(v>f?(Z=h+ +(~~((f-d)*(h-B)/(d-v))|0),!(!(Z>=c)|!(Z<=t))):0){u=f;o=Z;break}a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];C=VD(w,C)|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];I=VD(w,I)|0;a[w>>2]=a[g>>2];a[w+4>>2]=a[g+4>>2];a[w+8>>2]=a[g+8>>2];a[w+12>>2]=a[g+12>>2];G=VD(w,G)|0;a[w>>2]=a[E>>2];a[w+4>>2]=a[E+4>>2];a[w+8>>2]=a[E+8>>2];a[w+12>>2]=a[E+12>>2];Q=VD(w,Q)|0;a[m>>2]=C;a[m+4>>2]=I;a[m+8>>2]=G;a[m+12>>2]=Q;ao(1,88071,m)|0;vA(138394,87947,78,88123)}}while(0);b[A>>3]=o;b[A+8>>3]=u;k=L;return}function yD(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function zD(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+80|0;t=s+16|0;c=s;r=0;while(1){if((r|0)==4)break;l=t+(r<<4)|0;n=A+(r<<4)|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];r=r+1|0}r=e+8|0;l=e+24|0;i=+YD(A,0.0,1.0,+b[e>>3],+b[r>>3],+b[l>>3]);if(i>=0.0&i<2.0)mR(c,t,3,i,A,0);else i=2.0;n=e+16|0;f=+YD(A,0.0,i>1.0?1.0:i,+b[n>>3],+b[r>>3],+b[l>>3]);if(f>=0.0&f1.0?1.0:i,+b[r>>3],+b[e>>3],+b[n>>3]);if(f>=0.0&f1.0?1.0:i,+b[l>>3],+b[e>>3],+b[n>>3]);if(f>=0.0&f>3]-r))<=.005){e=+b[A+56>>3];e=!(e>=f)|!(e<=a)?-1.0:i;break A}break}default:{}}mR(l,A,3,.5,t,c);n=(i+e)*.5;e=+YD(t,e,n,r,f,a);if(!(e>=0.0))e=+YD(c,n,i,r,f,a)}}while(0);k=s;return+e}function DD(A,e,i,r,f,a){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;var n=0.0,l=0,t=0,c=0,s=0;s=k;k=k+144|0;t=s+80|0;c=s+16|0;l=s;A:do{if(!(e==i)){switch(MD(A,r)|0){case 0:{e=-1.0;break A}case 1:{if(+y(+(+b[A+56>>3]-r))<=.005){e=+b[A+48>>3];e=!(e>=f)|!(e<=a)?-1.0:i;break A}break}default:{}}mR(l,A,3,.5,t,c);n=(i+e)*.5;e=+DD(t,e,n,r,f,a);if(!(e>=0.0))e=+DD(c,n,i,r,f,a)}}while(0);k=s;return+e}function MD(A,e){A=A|0;e=+e;var i=0,r=0,f=0,a=0.0,n=0,l=0;a=+b[A+8>>3];f=ae&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;a=+b[A+(i<<4)+8>>3];l=ae&1;n=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=n}return f|0}function FD(A,e){A=A|0;e=+e;var i=0,r=0,f=0,a=0.0,n=0,l=0;a=+b[A>>3];f=ae&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;a=+b[A+(i<<4)>>3];l=ae&1;n=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=n}return f|0}function VD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=k;k=k+16|0;r=i;f=+b[A+8>>3];b[r>>3]=+b[A>>3];b[r+8>>3]=f;P4(e,88137,r)|0;k=i;return e|0}function JD(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0;E=k;k=k+16|0;h=E;g=4;v=m2(40)|0;a[v>>2]=0;o=A+16|0;i=a[o>>2]|0;A:do{if(((f[i+238>>1]|0)-(f[i+236>>1]|0)|0)>=2){s=1;e=i;i=a[i+196>>2]|0;e:while(1){w=s+1|0;if(!(a[i+(w<<6)>>2]|0)){u=15;break}else b=0;while(1){l=a[i+(s<<6)>>2]|0;if((b|0)>=(l|0)){s=w;continue e}c=a[(a[i+(s<<6)+4>>2]|0)+(b<<2)>>2]|0;d=0;e=iA(20,c|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,v|0,g|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){e=L;break e}if(e<<24>>24){t=b;e=l;while(1){n=t+1|0;if((n|0)>=(e|0))break;d=0;e=rA(65,c|0,a[(a[i+(s<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,v|0,g|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){e=L;break e}if(!(e<<24>>24))break;e=a[(a[o>>2]|0)+196>>2]|0;t=n;i=e;e=a[e+(s<<6)>>2]|0}if((n-b|0)>1){d=0;hA(6,A|0,s|0,b|0,t|0,1);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;break e}}}i=a[o>>2]|0;b=b+1|0;e=i;i=a[i+196>>2]|0}}e:do{if((u|0)==15){while(1){if((s|0)>0)b=0;else break;while(1){i=a[e+196>>2]|0;l=a[i+(s<<6)>>2]|0;if((b|0)>=(l|0))break;c=a[(a[i+(s<<6)+4>>2]|0)+(b<<2)>>2]|0;d=0;e=iA(21,c|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,v|0,g|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){e=L;break e}if(e<<24>>24){t=b;e=l;while(1){n=t+1|0;if((n|0)>=(e|0))break;d=0;e=rA(66,c|0,a[(a[i+(s<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,v|0,g|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){e=L;break e}if(!(e<<24>>24))break;e=a[(a[o>>2]|0)+196>>2]|0;t=n;i=e;e=a[e+(s<<6)>>2]|0}if((n-b|0)>1){d=0;hA(6,A|0,s|0,b|0,t|0,0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;break e}}}b=b+1|0;e=a[o>>2]|0}s=s+-1|0;u=15}v=L6(187016,1,v|0,g|0)|0;g=L;d=0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1)e=L;else e=0}}while(0);e:while(1){if(e){d=0;aA(20,3,88177,h|0)|0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}else break}else r=1;while(1){e=a[o>>2]|0;if((r|0)>(a[e+180>>2]|0))break A;d=0;sA(101,a[(a[e+184>>2]|0)+(r<<2)>>2]|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue e}r=r+1|0}}}}while(0);L2(v|0);k=E;return}function ND(A){A=A|0;A=a[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(a[A+176>>2]|0)==1:0)?(a[A+184>>2]|0)==1:0)A=(a[A+104>>2]|0)==0&1;else A=0;return A|0}function XD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;l=t+40|0;n=t;r=a[a[(a[A+16>>2]|0)+172>>2]>>2]|0;A=a[a[(a[e+16>>2]|0)+172>>2]>>2]|0;if(((ND(e)|0)<<24>>24!=0?(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0):0)?(TD(r,A)|0)<<24>>24!=0:0){i=(a[A+16>>2]|0)+16|0;f=n;A=(a[r+16>>2]|0)+16|0;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(EL(n,l)|0)==0&1}else A=0;k=t;return A|0}function RD(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;v=A+16|0;h=a[(a[(a[(a[v>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(i<<2)>>2]|0;o=i+1|0;w=(f|0)==1;u=h+16|0;s=o;while(1){if((s|0)>(r|0)){n=r;B=o;break}k=a[(a[(a[(a[v>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(s<<2)>>2]|0;b=k+16|0;A:do{if(w)while(1){i=a[b>>2]|0;c=a[a[i+180>>2]>>2]|0;if(!c)break A;l=a[(a[u>>2]|0)+180>>2]|0;t=c+-48|0;f=0;while(1){i=a[l+(f<<2)>>2]|0;if(!i){d=8;break}if((a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)==(a[((a[c>>2]&3|0)==2?c:t)+40>>2]|0))break;else f=f+1|0}if((d|0)==8){d=0;i=mW(h,a[((a[c>>2]&3|0)==2?c:t)+40>>2]|0,c)|0}while(1){f=a[a[(a[b>>2]|0)+172>>2]>>2]|0;if(!f)break;FW(f,i);CW(f)}CW(c)}else while(1){i=a[b>>2]|0;c=a[a[i+172>>2]>>2]|0;if(!c)break A;l=a[(a[u>>2]|0)+172>>2]|0;t=c+48|0;f=0;while(1){i=a[l+(f<<2)>>2]|0;if(!i){d=17;break}if((a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)==(a[((a[c>>2]&3|0)==3?c:t)+40>>2]|0))break;else f=f+1|0}if((d|0)==17){d=0;i=mW(a[((a[c>>2]&3|0)==3?c:t)+40>>2]|0,h,c)|0}while(1){f=a[a[(a[b>>2]|0)+180>>2]>>2]|0;if(!f)break;FW(f,i);CW(f)}CW(c)}}while(0);if((a[i+176>>2]|0)!=(0-(a[i+184>>2]|0)|0)){d=23;break}yW(A,k);s=s+1|0}if((d|0)==23)vA(88313,88357,115,88364);while(1){n=n+1|0;i=a[(a[v>>2]|0)+196>>2]|0;f=i+(e<<6)|0;if((n|0)>=(a[f>>2]|0))break;r=a[i+(e<<6)+4>>2]|0;d=a[r+(n<<2)>>2]|0;a[r+(B<<2)>>2]=d;a[(a[d+16>>2]|0)+236>>2]=B;B=B+1|0}a[f>>2]=B;a[(a[i+(e<<6)+4>>2]|0)+(B<<2)>>2]=0;return}function HD(A){A=A|0;A=a[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(a[A+184>>2]|0)==1:0)?(a[A+176>>2]|0)==1:0)A=(a[A+104>>2]|0)==0&1;else A=0;return A|0}function pD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;l=t+40|0;n=t;r=a[a[(a[A+16>>2]|0)+180>>2]>>2]|0;A=a[a[(a[e+16>>2]|0)+180>>2]>>2]|0;if(((HD(e)|0)<<24>>24!=0?(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)==(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0):0)?(TD(r,A)|0)<<24>>24!=0:0){i=(a[A+16>>2]|0)+56|0;f=n;A=(a[r+16>>2]|0)+56|0;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(EL(n,l)|0)==0&1}else A=0;k=t;return A|0}function UD(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+32|0;o=d+16|0;u=d;s=A+16|0;i=a[s>>2]|0;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;a[(a[i+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;i=a[s>>2]|0}Fz(A);c=cd(A)|0;while(1){if(!c)break;xD(A,c);t=Oo(A,c)|0;while(1){if(!t)break;else i=t;while(1){e=a[(a[i+16>>2]|0)+172>>2]|0;if(!e)break;else i=e}l=t+-48|0;while(1){e=i+-48|0;n=a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0;if((a[(a[n+16>>2]|0)+232>>2]|0)>=(a[(a[(a[((a[t>>2]&3|0)==2?t:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;xD(A,n);i=a[a[(a[(a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}t=_o(A,t)|0}c=bd(A,c)|0}e=a[s>>2]|0;t=f[e+236>>1]|0;while(1){if((t|0)>(f[e+238>>1]|0)){b=1;w=e;break}e=a[(a[e+268>>2]|0)+(t<<2)>>2]|0;c=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;i=e+16|0;if((a[c+(a[(a[i>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){h=17;break}l=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;e=a[s>>2]|0;i=a[e+196>>2]|0;a[i+(t<<6)+4>>2]=l+(a[(a[(a[(a[e+268>>2]|0)+(t<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;l=0;A:while(1){if((l|0)>=(a[i+(t<<6)>>2]|0))break;i=a[(a[i+(t<<6)+4>>2]|0)+(l<<2)>>2]|0;if(!i)break;n=a[i+16>>2]|0;e:do{if(!(r[n+156>>0]|0))if(!(Dd(A,i)|0))break A;else e=l;else{i=a[a[n+172>>2]>>2]|0;while(1){if(!i)break e;n=a[(a[i+16>>2]|0)+116>>2]|0;if(!n)break;else i=n}if(Dd(A,a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0){c=(Dd(A,a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)|0)==0;e=c?e:l}}}while(0);l=l+1|0;i=a[(a[s>>2]|0)+196>>2]|0}if((e|0)==-1){a[o>>2]=Vh(A)|0;a[o+4>>2]=t;ao(0,88277,o)|0}c=a[s>>2]|0;a[(a[c+196>>2]|0)+(t<<6)>>2]=e+1;t=t+1|0;e=c}if((h|0)==17){o=Vh(e)|0;h=a[(a[i>>2]|0)+236>>2]|0;a[u>>2]=o;a[u+4>>2]=h;a[u+8>>2]=t;ao(1,88219,u)|0;fe(187016,1)}while(1){if((b|0)>(a[w+180>>2]|0))break;UD(a[(a[w+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0;w=a[s>>2]|0}k=d;return}function xD(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[e+16>>2]|0;A=(a[(a[A+16>>2]|0)+268>>2]|0)+(a[i+232>>2]<<2)|0;r=a[A>>2]|0;if(!((r|0)!=0?(a[(a[r+16>>2]|0)+236>>2]|0)<=(a[i+236>>2]|0):0))a[A>>2]=e;return}function TD(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=a[A+16>>2]|0;if(!(r[f+112>>0]|0))break;A=a[f+116>>2]|0}while(1){i=a[e+16>>2]|0;if(!(r[i+112>>0]|0))break;e=a[i+116>>2]|0}if((r[f+153>>0]|0)==0?(r[i+153>>0]|0)==0:0){f=a[e>>2]&3;i=a[A>>2]&3;A=(U((a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(a[(a[(a[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else A=0;return A|0}function jD(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+544|0;c=b+528|0;SD(c,b+512|0,b);i=(r[193770]|0)+1<<24>>24;r[193770]=i<<24>>24==0?1:i;i=a[A+16>>2]|0;a[i+220>>2]=0;a[i+232>>2]=0;i=(e|0)>0;e=cd(A)|0;while(1){if(!e)break;if(i?(l=a[e+16>>2]|0,t=a[l+212>>2]|0,(t|0)!=0):0){n=a[(a[(a[t+16>>2]|0)+268>>2]|0)+(a[l+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(e|0)==(CR(e)|0)):0){n=e;f=7}if((f|0)==7?(0,(r[(a[n+16>>2]|0)+157>>0]|0)!=(r[193770]|0)):0){PD(A);OD(c,A,n);KD(A)}e=bd(A,e)|0}_D(c);k=b;return}function SD(A,e,i){A=A|0;e=e|0;i=i|0;a[e>>2]=i;a[e+4>>2]=i+512;a[e+12>>2]=0;a[e+8>>2]=0;a[A>>2]=e;a[A+4>>2]=e;a[A+8>>2]=i;return}function PD(A){A=A|0;a[(a[A+16>>2]|0)+192>>2]=0;a[46793]=0;return}function OD(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+32|0;o=h;qD(A,i);b=o+8|0;s=o+16|0;w=o+24|0;A:while(1){u=$D(A)|0;if(!u)break;i=u+16|0;if((r[(a[i>>2]|0)+157>>0]|0)==(r[193770]|0))continue;AM(e,u);l=a[i>>2]|0;n=l+180|0;c=a[n+4>>2]|0;t=o;a[t>>2]=a[n>>2];a[t+4>>2]=c;t=l+172|0;c=a[t+4>>2]|0;n=b;a[n>>2]=a[t>>2];a[n+4>>2]=c;n=l+188|0;c=a[n+4>>2]|0;t=s;a[t>>2]=a[n>>2];a[t+4>>2]=c;l=l+196|0;t=a[l+4>>2]|0;c=w;a[c>>2]=a[l>>2];a[c+4>>2]=t;c=3;while(1){if((c|0)<=-1)continue A;i=a[o+(c<<3)>>2]|0;e:do{if(i|0){t=(a[o+(c<<3)+4>>2]|0)+-1|0;l=i+(t<<2)|0;while(1){if((t|0)<=-1)break e;f=a[l>>2]|0;n=a[f>>2]&3;i=a[((n|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(u|0))i=a[((n|0)==3?f:f+48|0)+40>>2]|0;if((r[(a[i+16>>2]|0)+157>>0]|0)!=(r[193770]|0)?(i|0)==(CR(i)|0):0)qD(A,i);l=l+-4|0;t=t+-1|0}}}while(0);c=c+-1|0}}k=h;return}function KD(A){A=A|0;var e=0,i=0,r=0,f=0;i=A+16|0;e=a[i>>2]|0;f=e+220|0;r=a[f>>2]|0;A=r+1|0;a[f>>2]=A;e=a[e+216>>2]|0;if(!e)A=$F(A<<2)|0;else A=eV(e,A<<2)|0;f=a[i>>2]|0;a[f+216>>2]=A;a[A+(r<<2)>>2]=a[f+192>>2];return}function _D(A){A=A|0;var e=0;A=a[(a[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=a[A+12>>2]|0;L2(a[A>>2]|0);L2(A);A=e}return}function qD(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;l=b+8|0;f=b;c=A+8|0;i=a[c>>2]|0;t=A+4|0;A=a[t>>2]|0;if((i|0)==(a[A+4>>2]|0)){i=a[A+12>>2]|0;if(!i){i=qF(16)|0;if(!i)ao(1,98969,f)|0;a[i+8>>2]=a[t>>2];a[i+12>>2]=0;A=qF(4e6)|0;a[i>>2]=A;if(!A){ao(1,88377,l)|0;A=a[i>>2]|0}a[i+4>>2]=A+4e6;a[(a[t>>2]|0)+12>>2]=i}a[t>>2]=i;i=a[i>>2]|0;a[c>>2]=i}r[(a[e+16>>2]|0)+157>>0]=(n[193770]|0)+1;a[c>>2]=i+4;a[i>>2]=e;k=b;return}function $D(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+8|0;e=a[f>>2]|0;i=A+4|0;r=a[i>>2]|0;if((e|0)==(a[r>>2]|0))if((r|0)==(a[A>>2]|0))e=0;else{e=a[r+8>>2]|0;a[i>>2]=e;e=a[e+4>>2]|0;a[f>>2]=e;n=4}else n=4;if((n|0)==4){e=e+-4|0;a[f>>2]=e;e=a[e>>2]|0}return e|0}function AM(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=a[A+16>>2]|0;n=f+232|0;a[n>>2]=(a[n>>2]|0)+1;n=a[e+16>>2]|0;r[n+157>>0]=r[193770]|0;A=a[46793]|0;i=n+168|0;if(!A){a[i>>2]=0;a[f+192>>2]=e}else{a[i>>2]=A;a[(a[A+16>>2]|0)+164>>2]=e}a[46793]=e;a[n+164>>2]=0;return}function eM(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,k=0.0;w=A+16|0;e=(a[w>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;n=e+16|0;e=a[n>>2]|0;i=a[e+188>>2]|0;A:do{if(!i)f=0;else{f=0;while(1){i=a[i+(f<<2)>>2]|0;if(!i){f=0;break A}iM(i);e=a[n>>2]|0;f=f+1|0;i=a[e+188>>2]|0}}}while(0);while(1){if((f|0)>=(a[e+208>>2]|0))break;i=a[(a[e+204>>2]|0)+(f<<2)>>2]|0;s=a[i>>2]&3;if((a[(a[(a[((s|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(a[(a[(a[((s|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){iM(i);e=a[n>>2]|0}f=f+1|0}e=e+164|0}s=a[w>>2]|0;e=a[s+196>>2]|0;if(!((a[e+56>>2]|0)==0?(a[s+180>>2]|0)<=0:0))l=13;A:do{if((l|0)==13){l=a[e+4>>2]|0;n=0;e:while(1){e=a[l+(n<<2)>>2]|0;if(!e)break A;i=a[(a[e+16>>2]|0)+196>>2]|0;e=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f)break;s=a[f+16>>2]|0;if(a[s+96>>2]|0?(r[s+113>>0]|0)==0:0)break e;e=e+1|0}n=n+1|0}rM(A)}}while(0);Sy(A);i=0;e=(a[w>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;s=e+16|0;e=a[s>>2]|0;f=a[e+188>>2]|0;A:do{if(f){c=0;while(1){n=a[f+(c<<2)>>2]|0;if(!n){c=0;break}l=a[n+16>>2]|0;t=a[l+96>>2]|0;do{if(t)if(!(r[l+113>>0]|0)){fM(n);f=a[s>>2]|0;i=1;e=f;f=a[f+188>>2]|0;break}else{b[l+136>>3]=+b[((a[(a[w>>2]|0)+116>>2]&1|0)==0?t+24|0:t+32|0)>>3];break}}while(0);c=c+1|0}while(1){if((c|0)>=(a[e+208>>2]|0))break A;l=a[(a[e+204>>2]|0)+(c<<2)>>2]|0;t=a[l>>2]&3;n=a[((t|0)==3?l:l+48|0)+40>>2]|0;t=a[((t|0)==2?l:l+-48|0)+40>>2]|0;do{if(!((n|0)==(t|0)?1:(a[(a[n+16>>2]|0)+232>>2]|0)!=(a[(a[t+16>>2]|0)+232>>2]|0))){f=l;do{t=a[f+16>>2]|0;f=a[t+172>>2]|0}while((f|0)!=0);f=r[t+113>>0]|0;n=a[l+16>>2]|0;r[n+113>>0]=f;n=a[n+96>>2]|0;if(n)if(!(f<<24>>24)){fM(l);i=1;e=a[s>>2]|0;break}else{k=+b[((a[(a[w>>2]|0)+116>>2]&1|0)==0?n+24|0:n+32|0)>>3];t=t+136|0;u=+b[t>>3];b[t>>3]=k>u?k:u;break}}}while(0);c=c+1|0}}}while(0);e=e+164|0}if(i|0){RW(A);Ay(A)}return i|0}function iM(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;e=a[A>>2]&3;t=a[((e|0)==3?A:A+48|0)+40>>2]|0;f=t+16|0;n=a[(a[f>>2]|0)+236>>2]|0;e=a[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=(n|0)<(e|0);i=l?e:n;t=a[(a[(gL(t)|0)+16>>2]|0)+196>>2]|0;f=t+(a[(a[f>>2]|0)+232>>2]<<6)+4|0;e=l?n:e;A:while(1){e=e+1|0;if((e|0)>=(i|0))break;n=a[(a[(a[f>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;switch(r[n+156>>0]|0){case 0:break A;case 1:break;default:continue A}if(a[n+104>>2]|0)break}if((e|0)==(i|0))do{t=a[A+16>>2]|0;r[t+113>>0]=1;A=a[t+172>>2]|0}while((A|0)!=0);return}function rM(A){A=A|0;var e=0,i=0,r=0,n=0;n=A+16|0;A=a[n>>2]|0;if(f[A+236>>1]|0)vA(88434,88417,190,88453);e=(f[A+238>>1]|0)+3|0;A=a[A+196>>2]|0;if(!A)A=$F(e<<6)|0;else A=eV(A,e<<6)|0;e=A+64|0;A=a[n>>2]|0;a[A+196>>2]=e;A=f[A+238>>1]|0;while(1){if((A|0)<=-1)break;r=A+-1|0;i=e+(A<<6)|0;A=e+(r<<6)|0;e=i+64|0;do{a[i>>2]=a[A>>2];i=i+4|0;A=A+4|0}while((i|0)<(e|0));A=r;e=a[(a[n>>2]|0)+196>>2]|0}a[e+(A<<6)+8>>2]=0;a[e+(A<<6)>>2]=0;i=qF(8)|0;n=a[n>>2]|0;r=a[n+196>>2]|0;a[r+(A<<6)+12>>2]=i;a[r+(A<<6)+4>>2]=i;a[r+(A<<6)+56>>2]=0;b[r+(A<<6)+24>>3]=1.0;b[r+(A<<6)+16>>3]=1.0;b[r+(A<<6)+40>>3]=1.0;b[r+(A<<6)+32>>3]=1.0;n=n+236|0;f[n>>1]=(f[n>>1]|0)+-1<<16>>16;return}function fM(A){A=A|0;var e=0,i=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0.0,d=0.0;t=A+16|0;if(a[(a[t>>2]|0)+96>>2]|0){w=A+48|0;c=gL(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)|0;e=a[(a[(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+232>>2]|0;s=MH(c,A)|0;u=c+16|0;i=a[u>>2]|0;n=a[i+196>>2]|0;k=e+-1|0;l=a[a[n+(k<<6)+4>>2]>>2]|0;if(!l)f=+b[n+(e<<6)+24>>3]+ +b[(a[(a[a[n+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(a[i+252>>2]|0);else f=+b[(a[l+16>>2]|0)+24>>3]-+b[n+(k<<6)+16>>3];e=FH(c,k,s)|0;c=a[(a[t>>2]|0)+96>>2]|0;h=+b[c+24>>3];o=+b[c+32>>3];t=(a[(a[u>>2]|0)+116>>2]&1|0)==0;d=t?o:h;n=e+16|0;i=a[n>>2]|0;b[i+80>>3]=d;s=~~(d*.5);o=(t?h:o)*.5;b[i+96>>3]=o;b[i+88>>3]=o;a[i+104>>2]=c;b[i+24>>3]=+(s+~~f|0);i=mW(e,a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0,A)|0;i=a[i+16>>2]|0;b[i+16>>3]=-+b[(a[n>>2]|0)+88>>3];b[i+56>>3]=+b[(a[(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+96>>3];r[i+112>>0]=4;i=A+-48|0;e=mW(e,a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0,A)|0;n=a[n>>2]|0;e=a[e+16>>2]|0;b[e+16>>3]=+b[n+96>>3];b[e+56>>3]=+b[(a[(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+88>>3];r[e+112>>0]=4;e=a[(a[u>>2]|0)+196>>2]|0;i=e+(k<<6)+16|0;f=+(s|0);if(+b[i>>3]>3]=f;e=e+(k<<6)+24|0;if(+b[e>>3]>3]=f;a[n+112>>2]=A}return}function aM(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+160|0;Z=Q+24|0;C=Q+20|0;E=Q+16|0;u=Q;o=Q+32|0;I=a[A+152>>2]|0;a[Z>>2]=0;a[C>>2]=0;a[E>>2]=0;G=AI(A)|0;a[G+4>>2]=3;a[G+8>>2]=e;a[G+12>>2]=9;v=e+16|0;w=a[(a[v>>2]|0)+96>>2]|0;if((w|0?(r[w+82>>0]|0)==0:0)?(ER(po(e,100105)|0,0)|0)<<24>>24:0){w=G+260|0;f[w>>1]=f[w>>1]|512}if(i|0?a[(a[v>>2]|0)+8>>2]|0:0)rr(A,i);i=a[47206]|0;if((i|0?(n=Uo(e,i)|0,n|0):0)?r[n>>0]|0:0)wr(A,+oR(e,a[47206]|0,1.0,0.0));do{if(I&16777216|0){i=e+48|0;if((l[(a[(Id(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){s=+b[(a[(a[(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;b[G+176>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);s=+b[(a[(a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;b[G+184>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);break}else{w=G+176|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;break}}}while(0);if(I&32768|0){w=a[v>>2]|0;i=a[w+96>>2]|0;if(!i)i=a[G+192>>2]|0;else{i=a[i>>2]|0;a[G+192>>2]=i}n=G+196|0;a[n>>2]=i;c=G+204|0;a[c>>2]=i;t=G+200|0;a[t>>2]=i;i=a[w+108>>2]|0;if(i|0)a[n>>2]=a[i>>2];i=a[w+104>>2]|0;if(i|0)a[t>>2]=a[i>>2];i=a[w+100>>2]|0;if(i|0)a[c>>2]=a[i>>2]}if(!(I&65536))t=0;else{co(u,128,o);a[G+212>>2]=SF(rI(A,e,u)|0,e)|0;uo(u);i=po(e,141055)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=31;else{i=po(e,111477)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=31;else n=0}if((h|0)==31)n=SF(i,e)|0;i=po(e,100118)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=36;else h=34;do{if((h|0)==34){i=po(e,100127)|0;if(i|0?r[i>>0]|0:0){h=36;break}if(n|0){i=s3(n)|0;h=39}}}while(0);if((h|0)==36){i=SF(i,e)|0;h=39}if((h|0)==39)a[G+208>>2]=i;i=po(e,100135)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=44;else h=42;do{if((h|0)==42){i=po(e,100145)|0;if(i|0?r[i>>0]|0:0){h=44;break}if(n|0){i=s3(n)|0;h=47}}}while(0);if((h|0)==44){i=SF(i,e)|0;h=47}if((h|0)==47)a[G+216>>2]=i;i=po(e,100154)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=52;else h=50;do{if((h|0)==50){i=po(e,100163)|0;if(i|0?r[i>>0]|0:0){h=52;break}if(n|0)a[G+220>>2]=s3(n)|0}}while(0);if((h|0)==52){a[G+220>>2]=SF(i,e)|0;h=G+260|0;f[h>>1]=f[h>>1]|128}i=po(e,100171)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=59;else h=57;do{if((h|0)==57){i=po(e,100180)|0;if(i|0?r[i>>0]|0:0){h=59;break}if(n|0)a[G+224>>2]=s3(n)|0}}while(0);if((h|0)==59){a[G+224>>2]=SF(i,e)|0;h=G+260|0;f[h>>1]=f[h>>1]|256}t=n}do{if(I&8388608){i=po(e,141088)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)n=SF(i,e)|0;else n=0;i=po(e,100188)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){h=G+260|0;f[h>>1]=f[h>>1]|64;i=SF(i,e)|0;h=72}else h=70;if((h|0)==70?n|0:0){i=s3(n)|0;h=72}if((h|0)==72)a[G+244>>2]=i;i=po(e,100199)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){i=SF(i,e)|0;h=78}else h=76;if((h|0)==76?n|0:0){i=s3(n)|0;h=78}if((h|0)==78)a[G+248>>2]=i;i=po(e,100211)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){a[G+252>>2]=SF(i,e)|0;o=G+260|0;f[o>>1]=f[o>>1]|16}else h=82;if((h|0)==82?n|0:0)a[G+252>>2]=s3(n)|0;i=po(e,100222)|0;if(i|0?r[i>>0]|0:0){h=G+260|0;f[h>>1]=f[h>>1]|32;a[G+256>>2]=SF(i,e)|0;break}if(n)a[G+256>>2]=s3(n)|0;else n=0}else n=0}while(0);do{if(I&4194304|0){i=po(e,141101)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=94;else h=92;do{if((h|0)==92){i=po(e,100233)|0;if(i|0?r[i>>0]|0:0){h=94;break}i=a[G+192>>2]|0;if(i|0)a[G+228>>2]=s3(i)|0}}while(0);if((h|0)==94){o=QM(i,e)|0;a[G+228>>2]=SF(o,e)|0;L2(o);o=G+260|0;f[o>>1]=f[o>>1]|1}i=po(e,100245)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){o=QM(i,e)|0;a[G+232>>2]=SF(o,e)|0;L2(o);o=G+260|0;f[o>>1]=f[o>>1]|8}else h=100;if((h|0)==100?(d=a[G+192>>2]|0,d|0):0)a[G+232>>2]=s3(d)|0;i=po(e,100258)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){d=QM(i,e)|0;a[G+236>>2]=SF(d,e)|0;L2(d);d=G+260|0;f[d>>1]=f[d>>1]|2}else h=105;if((h|0)==105?(B=a[G+200>>2]|0,B|0):0)a[G+236>>2]=s3(B)|0;i=po(e,100270)|0;if(i|0?r[i>>0]|0:0){B=QM(i,e)|0;a[G+240>>2]=SF(B,e)|0;L2(B);B=G+260|0;f[B>>1]=f[B>>1]|4;break}i=a[G+204>>2]|0;if(i|0)a[G+240>>2]=s3(i)|0}}while(0);L2(t);L2(n);do{if(I&4259840|0?(g=a[(a[v>>2]|0)+8>>2]|0,g|0):0){if(!(a[G+208>>2]|0)){if((I&524288|0)==0|(a[G+228>>2]|0)==0)break}else if(!(I&524288))break;s=+b[(a[A+16>>2]|0)+152>>3]*.5;s=s>2.0?s:2.0;n=a[g+4>>2]|0;i=0;while(1){if((i|0)>=(n|0))break;mM(Z,C,E,(a[g>>2]|0)+(i*48|0)|0,s);i=i+1|0}t=a[E>>2]|0;a[G+276>>2]=t;c=a[C>>2]|0;a[G+280>>2]=c;if(!(I&8192)){i=0;n=0;while(1){if((n|0)>=(t|0))break;i=(a[c+(n<<2)>>2]|0)+i|0;n=n+1|0}Z=a[Z>>2]|0;zi(A,Z,Z,i)|0;i=Z}else i=a[Z>>2]|0;a[G+284>>2]=i;a[G+264>>2]=2;a[G+272>>2]=i;a[G+268>>2]=a[c>>2]}}while(0);ji(A,e);i=a[G+208>>2]|0;if(!((i|0)==0?!(f[G+260>>1]&1):0))Pi(A,i,a[G+228>>2]|0,a[G+244>>2]|0,a[G+212>>2]|0);k=Q;return}function nM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,U=0,x=0;H=k;k=k+240|0;J=H+224|0;V=H+208|0;I=H+128|0;C=H+112|0;R=H+64|0;L=H+48|0;W=H+32|0;y=H+16|0;z=H;Y=H+192|0;D=H+176|0;Z=H+160|0;m=H+144|0;a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;N=+b[(a[A+16>>2]|0)+152>>3];Qf(po(e,100032)|0);F=e+16|0;A:do{if(a[(a[F>>2]|0)+8>>2]|0){X=+oR(e,a[47188]|0,1.0,0.0);c=dR(e,a[47176]|0,195059)|0;E=(i|0)!=0;e:do{if(E){f=i;while(1){l=f;f=f+4|0;l=a[l>>2]|0;if(!l){u=0;break e}if((r[l>>0]|0)!=116)continue;if(!(A1(l,111117)|0)){u=1;break}}}else u=0}while(0);t=c;h=0;l=0;e:while(1){switch(r[t>>0]|0){case 0:break e;case 58:{f=h+1|0;break}case 59:{f=h;l=l+1|0;break}default:f=h}t=t+1|0;h=f}w=(h|0)!=0;if((l|0)!=0&w)if(!(kM(A,e,i,c,h+1|0,X,N)|0))break;else s=137314;else s=c;f=n[(a[F>>2]|0)+115>>0]|0;if(!(f&1))if(!(f&2))if(!(f&8))if(!(f&4)){l=s;t=BR(e,a[47177]|0,s)|0}else{t=106296;f=106288;c=188712;l=188712;o=18}else{t=106280;f=106272;c=188712;l=188712;o=18}else{t=106264;f=106256;c=188712;l=188712;o=18}else{t=106248;f=106240;c=188712;l=188712;o=18}if((o|0)==18){l=a[l>>2]|0;l=BR(e,l,oM(s,f)|0)|0;f=BR(e,a[c>>2]|0,t)|0;if((l|0)==(s|0)){l=s;t=f}else{$i(A,l);t=f}}if((t|0)!=(s|0))er(A,t);if(u<<24>>24){l=(r[l>>0]|0)==0?137314:l;f=(r[t>>0]|0)==0?137314:t;$i(A,137379);er(A,l);g=R;d=a[a[(a[F>>2]|0)+8>>2]>>2]|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));F=pX(R,hM(e)|0,N,0,0)|0;ar(A,a[F+8>>2]|0,a[F>>2]|0,1);dM(F);$i(A,l);if((f|0)!=(l|0))er(A,f);f=a[R+8>>2]|0;if(f|0){M=R+16|0;F=a[R>>2]|0;a[V>>2]=a[M>>2];a[V+4>>2]=a[M+4>>2];a[V+8>>2]=a[M+8>>2];a[V+12>>2]=a[M+12>>2];a[J>>2]=a[F>>2];a[J+4>>2]=a[F+4>>2];a[J+8>>2]=a[F+8>>2];a[J+12>>2]=a[F+12>>2];_C(A,2,V,J,X,N,f)}f=a[R+12>>2]|0;if(!f)break;F=R+32|0;R=(a[R>>2]|0)+((a[R+4>>2]|0)+-1<<4)|0;a[V>>2]=a[F>>2];a[V+4>>2]=a[F+4>>2];a[V+8>>2]=a[F+8>>2];a[V+12>>2]=a[F+12>>2];a[J>>2]=a[R>>2];a[J+4>>2]=a[R+4>>2];a[J+8>>2]=a[R+8>>2];a[J+12>>2]=a[R+12>>2];_C(A,3,V,J,X,N,f);break}f=a[F>>2]|0;if(!w){do{if(!(r[f+115>>0]&3)){if(r[l>>0]|0){$i(A,l);er(A,t);break}$i(A,137314);if(!(r[t>>0]|0)){er(A,137314);break}else{er(A,t);break}}}while(0);c=A+152|0;s=R+4|0;w=R+8|0;u=R+12|0;o=R+32|0;h=R+16|0;t=0;while(1){f=a[(a[F>>2]|0)+8>>2]|0;if((t|0)>=(a[f+4>>2]|0))break A;g=R;d=(a[f>>2]|0)+(t*48|0)|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));f=a[R>>2]|0;l=a[s>>2]|0;do{if(!(a[c>>2]&16384)){lr(A,f,l,0,0,0);f=a[w>>2]|0;if(f|0){M=a[R>>2]|0;a[V>>2]=a[h>>2];a[V+4>>2]=a[h+4>>2];a[V+8>>2]=a[h+8>>2];a[V+12>>2]=a[h+12>>2];a[J>>2]=a[M>>2];a[J+4>>2]=a[M+4>>2];a[J+8>>2]=a[M+8>>2];a[J+12>>2]=a[M+12>>2];_C(A,2,V,J,X,N,f)}f=a[u>>2]|0;if(f|0){M=(a[R>>2]|0)+((a[s>>2]|0)+-1<<4)|0;a[V>>2]=a[o>>2];a[V+4>>2]=a[o+4>>2];a[V+8>>2]=a[o+8>>2];a[V+12>>2]=a[o+12>>2];a[J>>2]=a[M>>2];a[J+4>>2]=a[M+4>>2];a[J+8>>2]=a[M+8>>2];a[J+12>>2]=a[M+12>>2];_C(A,3,V,J,X,N,f)}if((a[(a[(a[F>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(a[w>>2]|0)){if(!(E&(a[u>>2]|0)!=0))break}else if(!E)break;rr(A,i)}}else lr(A,f,l,a[w>>2]|0,a[u>>2]|0,0)}while(0);t=t+1|0}}M=a[(a[f+8>>2]|0)+4>>2]|0;Q=M*48|0;G=m2(Q)|0;Q=m2(Q)|0;v=+(h+2|0)*.5;E=R+4|0;o=L+8|0;h=W+8|0;e=y+8|0;i=z+8|0;u=0;while(1){if((u|0)>=(M|0))break;g=R;d=(a[a[(a[F>>2]|0)+8>>2]>>2]|0)+(u*48|0)|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));f=a[E>>2]|0;a[G+(u*48|0)+4>>2]=f;a[Q+(u*48|0)+4>>2]=f;w=f<<4;s=m2(w)|0;a[G+(u*48|0)>>2]=s;w=m2(w)|0;a[Q+(u*48|0)>>2]=w;c=a[R>>2]|0;a[z>>2]=a[c>>2];a[z+4>>2]=a[c+4>>2];a[z+8>>2]=a[c+8>>2];a[z+12>>2]=a[c+12>>2];c=0;while(1){if((c|0)>=(f+-1|0))break;a[L>>2]=a[z>>2];a[L+4>>2]=a[z+4>>2];a[L+8>>2]=a[z+8>>2];a[L+12>>2]=a[z+12>>2];f=c+1|0;t=(a[R>>2]|0)+(f<<4)|0;a[W>>2]=a[t>>2];a[W+4>>2]=a[t+4>>2];a[W+8>>2]=a[t+8>>2];a[W+12>>2]=a[t+12>>2];t=s+(c<<4)|0;if(!c){a[V>>2]=a[L>>2];a[V+4>>2]=a[L+4>>2];a[V+8>>2]=a[L+8>>2];a[V+12>>2]=a[L+12>>2];a[J>>2]=a[W>>2];a[J+4>>2]=a[W+4>>2];a[J+8>>2]=a[W+8>>2];a[J+12>>2]=a[W+12>>2];BM(Y,V,J);a[t>>2]=a[Y>>2];a[t+4>>2]=a[Y+4>>2];a[t+8>>2]=a[Y+8>>2];a[t+12>>2]=a[Y+12>>2]}else{a[V>>2]=a[y>>2];a[V+4>>2]=a[y+4>>2];a[V+8>>2]=a[y+8>>2];a[V+12>>2]=a[y+12>>2];a[J>>2]=a[W>>2];a[J+4>>2]=a[W+4>>2];a[J+8>>2]=a[W+8>>2];a[J+12>>2]=a[W+12>>2];BM(D,V,J);a[t>>2]=a[D>>2];a[t+4>>2]=a[D+4>>2];a[t+8>>2]=a[D+8>>2];a[t+12>>2]=a[D+12>>2]}U=a[R>>2]|0;B=c+2|0;x=U+(B<<4)|0;a[y>>2]=a[x>>2];a[y+4>>2]=a[x+4>>2];a[y+8>>2]=a[x+8>>2];a[y+12>>2]=a[x+12>>2];g=c+3|0;U=U+(g<<4)|0;a[z>>2]=a[U>>2];a[z+4>>2]=a[U+4>>2];a[z+8>>2]=a[U+8>>2];a[z+12>>2]=a[U+12>>2];p=s+(f<<4)|0;d=s+(B<<4)|0;a[C>>2]=a[L>>2];a[C+4>>2]=a[L+4>>2];a[C+8>>2]=a[L+8>>2];a[C+12>>2]=a[L+12>>2];a[I>>2]=a[W>>2];a[I+4>>2]=a[W+4>>2];a[I+8>>2]=a[W+8>>2];a[I+12>>2]=a[W+12>>2];a[V>>2]=a[x>>2];a[V+4>>2]=a[x+4>>2];a[V+8>>2]=a[x+8>>2];a[V+12>>2]=a[x+12>>2];a[J>>2]=a[U>>2];a[J+4>>2]=a[U+4>>2];a[J+8>>2]=a[U+8>>2];a[J+12>>2]=a[U+12>>2];vM(Z,C,I,V,J);a[d>>2]=a[Z>>2];a[d+4>>2]=a[Z+4>>2];a[d+8>>2]=a[Z+8>>2];a[d+12>>2]=a[Z+12>>2];a[p>>2]=a[Z>>2];a[p+4>>2]=a[Z+4>>2];a[p+8>>2]=a[Z+8>>2];a[p+12>>2]=a[Z+12>>2];b[w+(c<<4)>>3]=+b[L>>3]-+b[t>>3]*v;b[w+(c<<4)+8>>3]=+b[o>>3]-+b[s+(c<<4)+8>>3]*v;b[w+(f<<4)>>3]=+b[W>>3]-+b[p>>3]*v;b[w+(f<<4)+8>>3]=+b[h>>3]-+b[s+(f<<4)+8>>3]*v;b[w+(B<<4)>>3]=+b[y>>3]-+b[d>>3]*v;b[w+(B<<4)+8>>3]=+b[e>>3]-+b[s+(B<<4)+8>>3]*v;c=g;f=a[E>>2]|0}x=s+(c<<4)|0;a[V>>2]=a[y>>2];a[V+4>>2]=a[y+4>>2];a[V+8>>2]=a[y+8>>2];a[V+12>>2]=a[y+12>>2];a[J>>2]=a[z>>2];a[J+4>>2]=a[z+4>>2];a[J+8>>2]=a[z+8>>2];a[J+12>>2]=a[z+12>>2];BM(m,V,J);a[x>>2]=a[m>>2];a[x+4>>2]=a[m+4>>2];a[x+8>>2]=a[m+8>>2];a[x+12>>2]=a[m+12>>2];b[w+(c<<4)>>3]=+b[z>>3]-+b[x>>3]*v;b[w+(c<<4)+8>>3]=+b[i>>3]-+b[s+(c<<4)+8>>3]*v;u=u+1|0}B=s3(l)|0;i=0;d=l;f=l;t=l;l=B;while(1){l=t3(l,107984)|0;if(!l)break;e=(r[l>>0]|0)==0?137314:l;if((e|0)!=(t|0))if(!(r[(a[F>>2]|0)+115>>0]&3)){$i(A,e);er(A,e);t=e}else t=e;s=(i|0)==0;w=i>>>0<2;l=0;while(1){if((l|0)>=(M|0))break;u=a[Q+(l*48|0)>>2]|0;o=a[G+(l*48|0)>>2]|0;h=a[Q+(l*48|0)+4>>2]|0;c=0;while(1){if((c|0)>=(h|0))break;x=u+(c<<4)|0;b[x>>3]=+b[x>>3]+ +b[o+(c<<4)>>3];x=u+(c<<4)+8|0;b[x>>3]=+b[x>>3]+ +b[o+(c<<4)+8>>3];c=c+1|0}lr(A,u,h,0,0,0);l=l+1|0}i=i+1|0;d=s?e:d;f=w?e:f;l=0}l=a[R+8>>2]|0;if(!l)l=0;else{if(f){if(!(r[(a[F>>2]|0)+115>>0]&3)){$i(A,f);er(A,f)}}else f=0;U=R+16|0;x=a[R>>2]|0;a[V>>2]=a[U>>2];a[V+4>>2]=a[U+4>>2];a[V+8>>2]=a[U+8>>2];a[V+12>>2]=a[U+12>>2];a[J>>2]=a[x>>2];a[J+4>>2]=a[x+4>>2];a[J+8>>2]=a[x+8>>2];a[J+12>>2]=a[x+12>>2];_C(A,2,V,J,X,N,l);l=f}t=R+12|0;f=a[t>>2]|0;if(f|0){if((l|0)!=(d|0)?(r[(a[F>>2]|0)+115>>0]&3)==0:0){$i(A,d);er(A,d);f=a[t>>2]|0}U=R+32|0;x=(a[R>>2]|0)+((a[E>>2]|0)+-1<<4)|0;a[V>>2]=a[U>>2];a[V+4>>2]=a[U+4>>2];a[V+8>>2]=a[U+8>>2];a[V+12>>2]=a[U+12>>2];a[J>>2]=a[x>>2];a[J+4>>2]=a[x+4>>2];a[J+8>>2]=a[x+8>>2];a[J+12>>2]=a[x+12>>2];_C(A,3,V,J,X,N,f)}L2(B);f=0;while(1){if((f|0)>=(M|0))break;L2(a[G+(f*48|0)>>2]|0);L2(a[Q+(f*48|0)>>2]|0);f=f+1|0}L2(G);L2(Q)}}while(0);k=H;return}function lM(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+64|0;d=I+48|0;g=I+32|0;v=I+16|0;B=I;C=a[A+16>>2]|0;E=a[C+8>>2]|0;h=C+208|0;if(!((a[h>>2]|0)==0?!(f[C+260>>1]&1):0))e=3;A:do{if((e|0)==3?(Oi(A),o=C+276|0,i=a[o>>2]|0,i|0):0){l=C+280|0;e=a[l>>2]|0;t=C+268|0;c=C+284|0;b=C+272|0;s=C+228|0;w=C+244|0;u=C+212|0;r=a[e>>2]|0;n=1;while(1){if((n|0)>=(i|0))break A;a[t>>2]=a[e+(n<<2)>>2];a[b>>2]=(a[c>>2]|0)+(r<<4);Pi(A,a[h>>2]|0,a[s>>2]|0,a[w>>2]|0,a[u>>2]|0);Oi(A);Z=a[l>>2]|0;r=(a[Z+(n<<2)>>2]|0)+r|0;n=n+1|0;i=a[o>>2]|0;e=Z}}}while(0);a[C+268>>2]=0;a[C+272>>2]=0;h=E+16|0;e=a[h>>2]|0;i=a[e+8>>2]|0;if(!i)r=C+260|0;else{o=a[i>>2]|0;e=a[o>>2]|0;Z=a[o+8>>2]|0;u=o+16|0;a[v>>2]=a[u>>2];a[v+4>>2]=a[u+4>>2];a[v+8>>2]=a[u+8>>2];a[v+12>>2]=a[u+12>>2];o=o+32|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];if(!Z){a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];a[g+8>>2]=a[e+8>>2];a[g+12>>2]=a[e+12>>2]}else{a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2]}r=C+260|0;o=f[r>>1]|0;u=a[C+220>>2]|0;a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];tM(A,d,(o<<8&65535)<<16>>16>>15&255,u,(o<<14&65535)<<16>>16>>15&255);o=a[(a[h>>2]|0)+8>>2]|0;u=a[o>>2]|0;o=(a[o+4>>2]|0)+-1|0;e=a[u+(o*48|0)>>2]|0;i=a[u+(o*48|0)+4>>2]|0;Z=a[u+(o*48|0)+12>>2]|0;w=u+(o*48|0)+16|0;a[v>>2]=a[w>>2];a[v+4>>2]=a[w+4>>2];a[v+8>>2]=a[w+8>>2];a[v+12>>2]=a[w+12>>2];v=u+(o*48|0)+32|0;a[B>>2]=a[v>>2];a[B+4>>2]=a[v+4>>2];a[B+8>>2]=a[v+8>>2];a[B+12>>2]=a[v+12>>2];if(!Z){Z=e+(i+-1<<4)|0;a[g>>2]=a[Z>>2];a[g+4>>2]=a[Z+4>>2];a[g+8>>2]=a[Z+8>>2];a[g+12>>2]=a[Z+12>>2]}else{a[g>>2]=a[B>>2];a[g+4>>2]=a[B+4>>2];a[g+8>>2]=a[B+8>>2];a[g+12>>2]=a[B+12>>2]}e=f[r>>1]|0;Z=a[C+224>>2]|0;a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];tM(A,d,(e<<7&65535)<<16>>16>>15&255,Z,(e<<13&65535)<<16>>16>>15&255);e=a[h>>2]|0}i=a[e+96>>2]|0;n=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;s=C+216|0;l=a[s>>2]|0;w=C+232|0;t=a[w>>2]|0;u=C+248|0;c=a[u>>2]|0;o=C+212|0;b=a[o>>2]|0;if(!((gR(dR(E,a[47186]|0,137308)|0)|0)<<24>>24))e=0;else e=a[(a[h>>2]|0)+8>>2]|0;cM(A,i,11,n,l,t,c,b,e);c=a[(a[h>>2]|0)+108>>2]|0;b=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;t=a[s>>2]|0;l=a[w>>2]|0;i=a[u>>2]|0;n=a[o>>2]|0;if(!((gR(dR(E,a[47186]|0,137308)|0)|0)<<24>>24))e=0;else e=a[(a[h>>2]|0)+8>>2]|0;cM(A,c,11,b,t,l,i,n,e);cM(A,a[(a[h>>2]|0)+100>>2]|0,7,(f[r>>1]<<13&65535)<<16>>16>>15<<16>>16,a[C+224>>2]|0,a[C+240>>2]|0,a[C+256>>2]|0,a[o>>2]|0,0);cM(A,a[(a[h>>2]|0)+104>>2]|0,6,(f[r>>1]<<14&65535)<<16>>16>>15<<16>>16,a[C+220>>2]|0,a[C+236>>2]|0,a[C+252>>2]|0,a[o>>2]|0,0);Si(A);eI(A);k=I;return}function tM(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;l=c;t=a[A+16>>2]|0;if(!(i<<24>>24))r=a[t+208>>2]|0;if(!(n<<24>>24==0?(r|0)==0?(f[t+260>>1]&1)==0:0:0)){a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];uM(A,l)}k=c;return}function cM(A,e,i,f,n,l,t,c,b){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;var s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;u=d;h=a[A+152>>2]|0;if(e|0?r[e+81>>0]|0:0){if(!c)w=0;else{w=qF((S2(c)|0)+11|0)|0;switch(i|0){case 11:{s=108224;break}case 7:{s=101583;break}case 6:{s=101593;break}default:vA(138394,99906,2730,100044)}a[u>>2]=c;a[u+4>>2]=s;P4(w,100060,u)|0}u=A+16|0;c=(a[u>>2]|0)+12|0;o=a[c>>2]|0;a[c>>2]=i;c=(f|0)!=0|(n|0)!=0;s=(h&4|0)==0;if(c&s){bM(A,e);Pi(A,n,l,t,w)}jF(A,i,e);if(b|0)sM(A,e,b);if(c){if(!s){bM(A,e);Pi(A,n,l,t,w)}Oi(A)}L2(w);a[(a[u>>2]|0)+12>>2]=o}k=d;return}function bM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;l=f>>>16^2;a[i+264>>2]=l;t=i+268|0;a[t>>2]=l+2;l=i+272|0;L2(a[l>>2]|0);i=qF(a[t>>2]<<4)|0;a[l>>2]=i;l=e+56|0;t=e+24|0;b[i>>3]=+b[l>>3]-+b[t>>3]*.5;n=e+64|0;e=e+32|0;b[i+8>>3]=+b[n>>3]-+b[e>>3]*.5;b[i+16>>3]=+b[t>>3]*.5+ +b[l>>3];b[i+24>>3]=+b[e>>3]*.5+ +b[n>>3];if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function sM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+96|0;n=u+80|0;l=u+32|0;t=u+16|0;c=u;f=a[e>>2]|0;while(1){s=r[f>>0]|0;if(!(s<<24>>24))break;if(!(Q1(s&255)|0)){w=4;break}else f=f+1|0}if((w|0)==4){o=+b[e+24>>3];s=e+56|0;wM(l,+b[s>>3]+o*.5,+b[e+64>>3]-+b[e+32>>3]*.5);w=l+16|0;wM(t,+b[l>>3]-o,+b[l+8>>3]);a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];w=l+32|0;a[n>>2]=a[s>>2];a[n+4>>2]=a[s+4>>2];a[n+8>>2]=a[s+8>>2];a[n+12>>2]=a[s+12>>2];DR(c,i,n);a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];rr(A,a[(a[A>>2]|0)+336>>2]|0);$i(A,a[e+8>>2]|0);tr(A,l,3)}k=u;return}function wM(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function uM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;t=f>>>16^2;a[i+264>>2]=t;c=i+268|0;a[c>>2]=t+2;t=i+272|0;L2(a[t>>2]|0);i=qF(a[c>>2]<<4)|0;a[t>>2]=i;l=+b[e>>3];b[i>>3]=l+-3.0;n=+b[e+8>>3];b[i+8>>3]=n+-3.0;b[i+16>>3]=l+3.0;b[i+24>>3]=n+3.0;if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function kM(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=+l;var t=0,b=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0;F=k;k=k+256|0;W=F+224|0;L=F+208|0;t=F+192|0;z=F+144|0;Y=F+96|0;D=F+48|0;y=F;b=F+240|0;r=nI(r,f,b)|0;if((r|0)>1){G=e+48|0;Q=Id(a[((a[e>>2]&3|0)==3?e:G)+40>>2]|0)|0;G=Vh(a[((a[e>>2]&3|0)==3?e:G)+40>>2]|0)|0;Q=(Ih(Q)|0)!=0;m=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[t>>2]=G;a[t+4>>2]=Q?100079:100084;a[t+8>>2]=m;ao(3,100089,t)|0;if((r|0)==2)r=1;else M=4}else if((r|0)==1)r=1;else M=4;if((M|0)==4){m=e+16|0;d=a[b>>2]|0;B=d+8|0;v=D+4|0;g=z+8|0;E=z+12|0;C=(i|0)!=0;h=(i|0)==0;I=z+32|0;Z=z+4|0;G=z+16|0;Q=y+4|0;r=0;o=0;while(1){f=a[(a[m>>2]|0)+8>>2]|0;if((o|0)>=(a[f+4>>2]|0))break;t=z;f=(a[f>>2]|0)+(o*48|0)|0;e=t+48|0;do{a[t>>2]=a[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));e=1;s=1.0;u=a[B>>2]|0;A:while(1){f=a[u>>2]|0;if(!f)break;b=u+4|0;w=+c[b>>2];do{if(w<1.0e-05&w>-1.0e-05)f=e;else{$i(A,f);w=+c[b>>2];s=s-w;r=a[u>>2]|0;if(e|0){ZM(z,w,D,y);b=a[D>>2]|0;lr(A,b,a[v>>2]|0,0,0,0);L2(b);if(s<1.0e-05&s>-1.0e-05){M=11;break A}else{f=0;break}}if(s<1.0e-05&s>-1.0e-05){M=13;break A}t=Y;f=y;e=t+48|0;do{a[t>>2]=a[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));w=+c[b>>2];ZM(Y,w/(s+w),D,y);L2(a[Y>>2]|0);f=a[D>>2]|0;lr(A,f,a[v>>2]|0,0,0,0);L2(f);f=0}}while(0);e=f;u=u+12|0}if((M|0)==11){M=0;L2(a[y>>2]|0)}else if((M|0)==13){M=0;u=a[y>>2]|0;lr(A,u,a[Q>>2]|0,0,0,0);L2(u)}if(a[g>>2]|0){$i(A,a[a[B>>2]>>2]|0);er(A,a[a[B>>2]>>2]|0);b=a[z>>2]|0;u=a[g>>2]|0;a[L>>2]=a[G>>2];a[L+4>>2]=a[G+4>>2];a[L+8>>2]=a[G+8>>2];a[L+12>>2]=a[G+12>>2];a[W>>2]=a[b>>2];a[W+4>>2]=a[b+4>>2];a[W+8>>2]=a[b+8>>2];a[W+12>>2]=a[b+12>>2];_C(A,2,L,W,n,l,u)}if(a[E>>2]|0){$i(A,r);er(A,r);b=(a[z>>2]|0)+((a[Z>>2]|0)+-1<<4)|0;u=a[E>>2]|0;a[L>>2]=a[I>>2];a[L+4>>2]=a[I+4>>2];a[L+8>>2]=a[I+8>>2];a[L+12>>2]=a[I+12>>2];a[W>>2]=a[b>>2];a[W+4>>2]=a[b+4>>2];a[W+8>>2]=a[b+8>>2];a[W+12>>2]=a[b+12>>2];_C(A,3,L,W,n,l,u)}do{if((a[(a[(a[m>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(a[g>>2]|0)){if(!(C&(a[E>>2]|0)!=0))break}else if(h)break;rr(A,i)}}while(0);o=o+1|0}lI(d);r=0}k=F;return r|0}function oM(A,e){A=A|0;e=e|0;var i=0,f=0;i=1;A:while(1){switch(r[A>>0]|0){case 0:break A;case 58:{i=i+1|0;break}default:{}}A=A+1|0}f=U((S2(e)|0)+1|0,i)|0;A=f+10|0;if((a[47121]|0)<(f|0)){a[47121]=A;A=y2(a[47122]|0,A)|0;a[47122]=A}else A=a[47122]|0;$1(A,e)|0;while(1){i=i+-1|0;A=a[47122]|0;if(!i)break;f=A+(S2(A)|0)|0;r[f>>0]=58;r[f+1>>0]=0;u3(A,e)|0}return A|0}function hM(A){A=A|0;var e=0,i=0;e=a[47184]|0;A:do{if(!e)i=7;else{e=Uo(A,e)|0;switch(r[e>>0]|0){case 110:if(!(A1(e,135709)|0)){e=1;break A}else{i=7;break A}case 102:if(!(A1(e,100066)|0)){e=2;break A}else{i=7;break A}case 98:{if(!(A1(e,100074)|0)){e=3;break A}if(!(A1(e,111221)|0)){e=4;break A}else{i=7;break A}}default:{i=7;break A}}}}while(0);if((i|0)==7){e=(Ih(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0)!=0;e=e?2:1}return e|0}function dM(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function BM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;f=+b[e>>3]-+b[i>>3];a=+b[e+8>>3]-+b[i+8>>3];r=2.0/+z(+(f*f+.0001+a*a));b[A>>3]=r*a;b[A+8>>3]=-(f*r);return}function vM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0;n=+b[i>>3]-+b[r>>3];l=+b[i+8>>3]-+b[r+8>>3];a=+z(+(l*l+n*n));if(a<.0001){t=+b[e>>3]-+b[f>>3];a=+b[e+8>>3]-+b[f+8>>3];l=a;n=t;a=+z(+(t*t+.0001+a*a))}t=2.0/a;b[A>>3]=l*t;b[A+8>>3]=-(t*n);return}function gM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(1.0-A/e))}function EM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5)}function CM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(A/e))}function IM(A,e,i){A=+A;e=+e;i=+i;e=A/e;return+((!(e<=.5)?1.0-e:e)*i)}function ZM(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0;o=k;k=k+16|0;u=o;w=a[A+4>>2]|0;t=(w+-1|0)/3|0;if((w+-4|0)>>>0<3){a[i+4>>2]=4;a[i>>2]=qF(64)|0;a[r+4>>2]=4;w=qF(64)|0;a[r>>2]=w;mR(u,a[A>>2]|0,3,e,a[i>>2]|0,w)}else{w=qF(t<<3)|0;n=0;l=a[A>>2]|0;f=0.0;while(1){if((n|0)>=(t|0))break;h=+GM(l);b[w+(n<<3)>>3]=h;n=n+1|0;l=l+48|0;f=h+f}e=f*e;s=0;f=0.0;while(1){if((t|0)<=(s|0))break;f=+b[w+(s<<3)>>3]+f;if(f>=e)break;s=s+1|0}c=s*3|0;n=c+4|0;l=i+4|0;a[l>>2]=n;a[i>>2]=qF(n<<4)|0;n=((t-s|0)*3|0)+1|0;t=r+4|0;a[t>>2]=n;a[r>>2]=qF(n<<4)|0;n=0;while(1){if((n|0)>=(a[l>>2]|0))break;d=(a[i>>2]|0)+(n<<4)|0;B=(a[A>>2]|0)+(n<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];n=n+1|0}n=n+-4|0;l=0;while(1){if((l|0)>=(a[t>>2]|0))break;B=(a[r>>2]|0)+(l<<4)|0;d=(a[A>>2]|0)+(n<<4)|0;a[B>>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];n=n+1|0;l=l+1|0}h=+b[w+(s<<3)>>3];mR(u,(a[A>>2]|0)+(c<<4)|0,3,(e-f+h)/h,(a[i>>2]|0)+(c<<4)|0,a[r>>2]|0);L2(w)}k=o;return}function GM(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0;f=+b[A+16>>3];r=+b[A>>3]-f;a=+b[A+24>>3];e=+b[A+8>>3]-a;r=+z(+(e*e+r*r));e=+b[A+32>>3];f=f-e;i=+b[A+40>>3];a=a-i;r=+z(+(a*a+f*f))+r;e=e-+b[A+48>>3];i=i-+b[A+56>>3];return+(r+ +z(+(i*i+e*e)))}function QM(A,e){A=A|0;e=e|0;e=Zd(e)|0;if((r[(a[e+16>>2]|0)+115>>0]|0)==1)e=EH(A)|0;else e=BH(A,e)|0;return DM(e)|0}function mM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;h=k;k=k+1664|0;s=h+1600|0;w=h+800|0;u=h;o=$F(24)|0;a[o+16>>2]=1;c=((a[r+4>>2]|0)+-1|0)/3|0;l=0;t=o;while(1){if((l|0)>=(c|0))break;b=l*3|0;n=0;while(1){if((n|0)==4)break;d=s+(n<<4)|0;B=(a[r>>2]|0)+(n+b<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];n=n+1|0}l=l+1|0;t=LM(s,t)|0}n=0;l=0;t=o;while(1){if(!t){l=o;n=o;break}c=a[t+16>>2]|0;b=w+(n<<4)|0;r=u+(n<<4)|0;WM(l,t,c,b,r,f);n=n+1|0;if(!((n|0)==50|(c|0)==0)){l=t;t=c;continue}yM(A,e,i,n,w,u);a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];l=t;n=1;t=c}while(1){if(!l)break;B=a[l+16>>2]|0;L2(n);l=B;n=B}k=h;return}function LM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+144|0;f=n+128|0;i=n+64|0;r=n;if(!(wI(A)|0)){mR(f,A,3,.5,i,r);i=LM(r,LM(i,e)|0)|0}else{i=e+16|0;if((a[i>>2]|0)==1){a[i>>2]=0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2]}i=A+48|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];i=YM(f,e)|0}k=n;return i|0}function WM(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0;d=k;k=k+96|0;w=d+80|0;s=d+64|0;c=d+48|0;u=d+32|0;o=d+16|0;h=d;a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];do{if(A){a[o>>2]=a[A>>2];a[o+4>>2]=a[A+4>>2];a[o+8>>2]=a[A+8>>2];a[o+12>>2]=a[A+12>>2];if(!i){l=+b[u>>3];b[h>>3]=l*2.0-+b[o>>3];t=+b[u+8>>3];b[h+8>>3]=t*2.0-+b[o+8>>3];break}else{a[h>>2]=a[i>>2];a[h+4>>2]=a[i+4>>2];a[h+8>>2]=a[i+8>>2];a[h+12>>2]=a[i+12>>2];l=+b[u>>3];t=+b[u+8>>3];break}}else{a[h>>2]=a[i>>2];a[h+4>>2]=a[i+4>>2];a[h+8>>2]=a[i+8>>2];a[h+12>>2]=a[i+12>>2];l=+b[u>>3];b[o>>3]=l*2.0-+b[h>>3];t=+b[u+8>>3];b[o+8>>3]=t*2.0-+b[h+8>>3]}}while(0);a[c>>2]=a[o>>2];a[c+4>>2]=a[o+4>>2];a[c+8>>2]=a[o+8>>2];a[c+12>>2]=a[o+12>>2];a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[w>>2]=a[h>>2];a[w+4>>2]=a[h+4>>2];a[w+8>>2]=a[h+8>>2];a[w+12>>2]=a[h+12>>2];v=+zM(c,s,w);B=+D(+v)*n;n=+M(+v)*n;b[r>>3]=l+B;b[r+8>>3]=t+n;b[f>>3]=l-B;b[f+8>>3]=t-n;k=d;return}function yM(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0;t=r<<1;c=a[i>>2]|0;l=0;b=0;while(1){if((l|0)>=(c|0))break;s=(a[(a[e>>2]|0)+(l<<2)>>2]|0)+b|0;l=l+1|0;b=s}s=c+1|0;a[i>>2]=s;s=eV(a[e>>2]|0,s<<2)|0;a[e>>2]=s;a[s+(l<<2)>>2]=t;a[A>>2]=eV(a[A>>2]|0,b+t<<4)|0;e=t+-1+b|0;l=0;while(1){if((l|0)>=(r|0))break;s=(a[A>>2]|0)+(l+b<<4)|0;c=f+(l<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];s=(a[A>>2]|0)+(e-l<<4)|0;c=n+(l<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];l=l+1|0}return}function zM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;a=+b[e+8>>3];r=+b[e>>3];f=+X(+(+b[i+8>>3]-a),+(+b[i>>3]-r));r=+X(+(+b[A+8>>3]-a),+(+b[A>>3]-r));f=f-r;return+((f>0.0?f+-6.283185307179586:f)*.5+r)}function YM(A,e){A=A|0;e=e|0;var i=0;i=$F(24)|0;a[i+16>>2]=0;a[i>>2]=a[A>>2];a[i+4>>2]=a[A+4>>2];a[i+8>>2]=a[A+8>>2];a[i+12>>2]=a[A+12>>2];a[e+16>>2]=i;return i|0}function DM(A){A=A|0;var e=0,i=0,f=0,a=0,n=0;e=A;a=A;A:while(1){f=0;while(1){i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A;if(f<<24>>24){n=5;break}if(i<<24>>24!=92)break;else f=1}e:do{if((n|0)==5){n=0;switch(i<<24>>24|0){case 114:{i=13;break e}case 108:case 110:{i=10;break e}default:break e}}}while(0);r[a>>0]=i;a=a+1|0}r[a>>0]=0;return A|0}function MM(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;i=a[A>>2]|0;while(1){n=r[i>>0]|0;if(!(n<<24>>24)){f=0;break}f=n<<24>>24;if(!(n<<24>>24==44|(Q1(f)|0)!=0)){l=5;break}i=i+1|0}A:do{if((l|0)==5){switch(f|0){case 0:{f=0;break A}case 41:case 40:{i=i+1|0;break A}default:{}}l=e+4|0;t=e+8|0;while(1){if((FM(n<<24>>24)|0)<<24>>24){f=1;break A}f=a[l>>2]|0;if(f>>>0>=(a[t>>2]|0)>>>0){bo(e,1)|0;f=a[l>>2]|0}a[l>>2]=f+1;r[f>>0]=n;f=i+1|0;i=f;n=r[f>>0]|0}}}while(0);a[A>>2]=i;return f|0}function FM(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 VM(A,e){A=A|0;e=e|0;return JM(a[A>>2]|0,a[A+160>>2]|0,a[A+156>>2]|0,e)|0}function JM(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+160|0;b=u+20|0;s=u+16|0;w=u;a[b>>2]=0;a[s>>2]=0;co(w,128,u+24|0);wo(w,f)|0;n=w+4|0;f=a[n>>2]|0;if(f>>>0>=(a[w+8>>2]|0)>>>0){bo(w,1)|0;f=a[n>>2]|0}r[f>>0]=0;l=a[w>>2]|0;a[n>>2]=l;t=A+300|0;c=A+296|0;f=0;n=l;A:while(1){if(f){f=1;break}f=b3(n,a[t>>2]|0,b)|0;if(!f){f=0;break}n=b3(f,a[c>>2]|0,s)|0;l=(n|0)!=0;if(l)f=b3(0,a[c>>2]|0,s)|0;else f=0;switch(((f|0)!=0&1)+(l&1)&3){case 2:{n=NM(A,n,0)|0;f=NM(A,f,i)|0;l=(n|0)>(f|0);f=(f&n|0)>-1&(((l?n:f)|0)>=(e|0)&((l?f:n)|0)<=(e|0));n=0;continue A}case 1:{f=(NM(A,n,e)|0)==(e|0);n=0;continue A}default:{f=0;n=0;continue A}}}uo(w);k=u;return f|0}function NM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=r[e>>0]|0;if(!(l<<24>>24==97?(A1(e,100396)|0)==0:0))f=3;A:do{if((f|0)==3){if((XM(e)|0)<<24>>24){i=q3(e)|0;break}n=a[A+308>>2]|0;if(!n)i=-1;else{A=a[A+312>>2]|0;i=1;while(1){if((i|0)>(A|0)){i=-1;break A}f=a[n+(i<<2)>>2]|0;if(l<<24>>24==(r[f>>0]|0)?(A1(e,f)|0)==0:0)break A;i=i+1|0}}}}while(0);return i|0}function XM(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=1;break}if(((e&255)+-48|0)>>>0<10)A=A+1|0;else{A=0;break}}return A|0}function RM(A,e){A=A|0;e=e|0;if((+b[A+16>>3]>=+b[e>>3]?+b[e+16>>3]>=+b[A>>3]:0)?+b[A+24>>3]>=+b[e+8>>3]:0)A=+b[e+24>>3]>=+b[A+8>>3]&1;else A=0;return A|0}function HM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;A:do{if((a[A+156>>2]|0)>=2?(f=dR(i,a[47167]|0,195059)|0,(VM(A,f)|0)<<24>>24==0):0)if(!(r[f>>0]|0))if(!(Ah(e,i)|0))f=1;else{f=Ah(e,i)|0;while(1){if(!f){f=0;break A}n=dR(f,a[47190]|0,195059)|0;if(!(r[n>>0]|0)){f=1;break A}if((VM(A,n)|0)<<24>>24){f=1;break A}f=eh(e,f,i)|0}}else f=0;else f=1}while(0);return f|0}function pM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+64|0;r=i+32|0;f=i;A=(a[A+16>>2]|0)+48|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[f+16>>2]=a[A+16>>2];a[f+20>>2]=a[A+20>>2];a[f+24>>2]=a[A+24>>2];a[f+28>>2]=a[A+28>>2];a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];a[r+16>>2]=a[e+16>>2];a[r+20>>2]=a[e+20>>2];a[r+24>>2]=a[e+24>>2];a[r+28>>2]=a[e+28>>2];e=(RM(f,r)|0)&255;k=i;return e|0}function UM(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0,d=0,B=0,v=0,g=0.0,E=0.0;d=a[A+152>>2]|0;B=AI(A)|0;a[B+4>>2]=2;a[B+8>>2]=e;a[B+12>>2]=8;if(d&16777216|0){if((l[(a[(Id(e)|0)+16>>2]|0)+178>>1]|0)>2){i=+b[(a[(a[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0)}else i=0.0;b[B+168>>3]=i}c=e+16|0;TM(A,a[(a[c>>2]|0)+104>>2]|0,e);do{if(d&4259840|0){if((a[B+208>>2]|0)==0?(f[B+260>>1]&1)==0:0)break;o=sN(e)|0;s=a[c>>2]|0;i=+b[s+16>>3];h=+b[s+24>>3];s=jM(e)|0;A:do{if((o|2|0)==3){u=a[(a[c>>2]|0)+12>>2]|0;if(!((SM(u)|0)<<24>>24))r=0;else r=(a[u+4>>2]|s|0)!=0;if(!((d&524288|0)==0|((u|0)==0|r))){n=u+8|0;k=a[n>>2]|0;k=(k|0)<3?1:k;t=u+4|0;w=a[t>>2]|0;w=(w|0)>1?w:1;o=a[u+44>>2]|0;r=po(e,102705)|0;if(!r)r=0;else r=q3(r)|0;r=(r+-4|0)>>>0>56?20:r;if(!(a[t>>2]|s)){a[B+264>>2]=0;n=qF(32)|0;r=a[c>>2]|0;E=+b[r+88>>3];b[n>>3]=i-E;g=+b[r+80>>3]*.5;b[n+8>>3]=h-g;b[n+16>>3]=E+i;b[n+24>>3]=g+h;r=2;break}n=a[n>>2]|0;if(((n|0)<3?+b[u+32>>3]==0.0:0)?+b[u+24>>3]==0.0:0){n=B+264|0;if(a[u>>2]|0){a[n>>2]=1;n=qF(32)|0;b[n>>3]=i;b[n+8>>3]=h;r=(w<<1)+-1|0;b[n+16>>3]=+b[o+(r<<4)>>3]+i;b[n+24>>3]=+b[o+(r<<4)+8>>3]+h;r=2;break}a[n>>2]=2;n=(w<<1)+-1|0;n=PM(+b[o+(n<<4)>>3],+b[o+(n<<4)+8>>3],r)|0;t=0;while(1){if((t|0)>=(r|0))break A;o=n+(t<<4)|0;b[o>>3]=+b[o>>3]+i;o=n+(t<<4)+8|0;b[o>>3]=+b[o>>3]+h;t=t+1|0}}w=U(n,w+-1|0)|0;a[B+264>>2]=2;if((n|0)<(r|0)){n=qF(k<<4)|0;r=0;while(1){if((r|0)>=(k|0)){r=k;break A}u=r+w|0;b[n+(r<<4)>>3]=+b[o+(u<<4)>>3]+i;b[n+(r<<4)+8>>3]=+b[o+(u<<4)+8>>3]+h;r=r+1|0}}else{s=(n|0)/(r|0)|0;n=qF(r<<4)|0;t=0;c=0;while(1){if((t|0)>=(r|0))break A;k=c+w|0;b[n+(t<<4)>>3]=+b[o+(k<<4)>>3]+i;b[n+(t<<4)+8>>3]=+b[o+(k<<4)+8>>3]+h;t=t+1|0;c=c+s|0}}}else v=31}else v=31}while(0);if((v|0)==31){a[B+264>>2]=0;n=qF(32)|0;r=a[c>>2]|0;b[n>>3]=i-+b[r+88>>3];E=+b[r+80>>3]*.5;b[n+8>>3]=h-E;b[n+16>>3]=+b[r+96>>3]+i;b[n+24>>3]=E+h;r=2}if(!(d&8192))zi(A,n,n,r)|0;a[B+272>>2]=n;a[B+268>>2]=r}}while(0);Qf(po(e,100032)|0);xi(A,e);return}function xM(A){A=A|0;Ti(A);eI(A);return}function TM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+144|0;c=s;f=po(i,141055)|0;t=po(i,141101)|0;b=po(i,141088)|0;co(c,128,s+16|0);if(!e)l=0;else l=a[e>>2]|0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))f=po(i,111477)|0;n=rI(A,i,c)|0;if(!t)e=0;else e=QM(t,i)|0;iI(A,l,f,e,b,n,i)|0;L2(e);uo(c);k=s;return}function jM(A){A=A|0;var e=0,i=0;A=BR(A,a[47157]|0,195059)|0;A:do{if(!(r[A>>0]|0))A=0;else{HI(A)|0;A=0;e=188228;while(1){i=a[e>>2]|0;if(!i)break A;i=(A1(i,111101)|0)==0;A=i?1:A;e=e+4|0}}}while(0);return A|0}function SM(A){A=A|0;var e=0.0;if(((a[A+8>>2]|0)==4?(e=+b[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+b[A+24>>3]==0.0:0)A=+b[A+32>>3]==0.0&1;else A=0;return A|0}function PM(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0,a=0.0,n=0;a=6.283185307179586/+(i|0);n=qF(i<<4)|0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;b[n+(f<<4)>>3]=+D(+r)*A;b[n+(f<<4)+8>>3]=+M(+r)*e;r=r+a;f=f+1|0}return n|0}function OM(A,e){A=A|0;e=e|0;var i=0;A:do{if((a[A+156>>2]|0)>=2?(i=dR(e,Yo(e,0,101510,0)|0,195059)|0,(VM(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=cd(e)|0;while(1){if(!i){i=0;break A}if((HM(A,e,i)|0)<<24>>24){i=1;break A}i=bd(e,i)|0}}else i=0;else i=1}while(0);return i|0}function KM(A,e){A=A|0;e=e|0;var i=0;i=AI(A)|0;a[i+4>>2]=1;a[i+8>>2]=e;a[i+12>>2]=1;TM(A,a[(a[e+16>>2]|0)+12>>2]|0,e);Ni(A,e);return}function _M(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;A=po(A,141082)|0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){HI(A)|0;i=188228;A=0;while(1){while(1){f=a[i>>2]|0;if(!f){i=188228;break A}if(!(A1(f,111101)|0)){n=10;break}if(!(A1(f,106334)|0)){f=i;n=12;break}if(!(A1(f,106341)|0)){f=i;n=14;break}if(!(A1(f,106316)|0)){f=i;n=16;break}i=i+4|0}if((n|0)==10){i=i+4|0;A=A|1;continue}else if((n|0)==12){while(1){l=f;f=f+4|0;n=a[f>>2]|0;a[l>>2]=n;if(!n)break;else n=12}A=A|3;continue}else if((n|0)==14){while(1){n=f;f=f+4|0;l=a[f>>2]|0;a[n>>2]=l;if(!l)break;else n=14}A=A|64;continue}else if((n|0)==16){while(1){n=f;f=f+4|0;l=a[f>>2]|0;a[n>>2]=l;if(!l)break;else n=16}A=A|4;continue}}}else{i=0;A=0}}while(0);a[e>>2]=A;return i|0}function qM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,b=0,s=0;b=k;k=k+16|0;l=b;t=b+4|0;a[t>>2]=0;s=(nI(A,0,t)|0)==0;t=a[t>>2]|0;if((s?(f=a[t>>2]|0,(f|0)>=2):0)?(n=t+8|0,(a[a[n>>2]>>2]|0)!=0):0){if((f|0)>2)ao(0,100415,l)|0;s=$F((S2(A)|0)+1|0)|0;a[e>>2]=s;$1(s,a[a[n>>2]>>2]|0)|0;if(!(a[(a[n>>2]|0)+12>>2]|0))a[e+4>>2]=0;else{s=a[e>>2]|0;s=s+((S2(s)|0)+1)|0;a[e+4>>2]=s;$1(s,a[(a[n>>2]|0)+12>>2]|0)|0}A=a[n>>2]|0;do{if(!(r[A+8>>0]|0))if(!(r[A+20>>0]|0)){c[i>>2]=0.0;break}else{c[i>>2]=1.0-+c[A+16>>2];break}else a[i>>2]=a[A+4>>2]}while(0);lI(t);A=1}else{a[e>>2]=0;lI(t);A=0}k=b;return A|0}function $M(A,e){A=A|0;e=e|0;Xi(A,e);eI(A);return}function AF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,s=0.0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;I=k;k=k+96|0;o=I+48|0;B=I+16|0;C=I+8|0;E=I;v=I+80|0;a[v>>2]=1e3;f=$F(16e3)|0;g=A+256|0;r=1;l=1;n=0;h=0;d=a[e+8>>2]|0;while(1){if((h|0)>=(a[e>>2]|0))break;i=a[d>>2]|0;A:do{switch(i|0){case 1:case 0:{w=d+80|0;a[B>>2]=a[w>>2];a[B+4>>2]=a[w+4>>2];a[B+8>>2]=a[w+8>>2];a[B+12>>2]=a[w+12>>2];a[B+16>>2]=a[w+16>>2];a[B+20>>2]=a[w+20>>2];a[B+24>>2]=a[w+24>>2];a[B+28>>2]=a[w+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{G=d+8|0;Q=d+24|0;b[f>>3]=+b[G>>3]-+b[Q>>3];w=d+16|0;Z=d+32|0;b[f+8>>3]=+b[w>>3]-+b[Z>>3];b[f+16>>3]=+b[Q>>3]+ +b[G>>3];b[f+24>>3]=+b[Z>>3]+ +b[w>>3];fr(A,f,2,(i|0)==0?l:0);i=l}break}case 3:case 2:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;ar(A,f,a[i>>2]|0,(a[d>>2]|0)==2?l:0);i=l}break}case 5:case 4:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;lr(A,f,a[i>>2]|0,0,0,(a[d>>2]|0)==4?l&255:0);i=l}break}case 6:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;tr(A,f,a[i>>2]|0);i=l}break}case 7:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{b[f>>3]=+b[d+8>>3];b[f+8>>3]=+b[d+16>>3];i=a[d+112>>2]|0;a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];qi(A,o,i);i=l}break}case 8:{er(A,a[d+8>>2]|0);i=1;break}case 9:{$i(A,a[d+8>>2]|0);i=1;break}case 13:{if((a[d+8>>2]|0)!=2){i=d+16|0;G=a[i+36>>2]|0;Q=a[G+12>>2]|0;u=+c[G+8>>2];i=~~(+X(+(+b[d+40>>3]-+b[d+24>>3]),+(+b[d+32>>3]-+b[i>>3]))*57.29577951308232);er(A,a[G+4>>2]|0);ir(A,Q,i,u);i=2;break A}Q=a[d+68>>2]|0;l=a[Q+4>>2]|0;w=a[Q+12>>2]|0;u=+c[Q+8>>2];t=+b[d+40>>3];s=+b[d+16>>3];if(t==s?+b[d+48>>3]==+b[d+24>>3]:0)i=0;else i=~~(+V(+((s-t)/+b[d+32>>3]))*57.29577951308232);er(A,l);ir(A,w,i,u);i=3;break}case 14:{ao(0,100481,E)|0;i=l;break}case 12:{if(!r){r=0;i=l}else{ao(0,100521,C)|0;r=0;i=l}break}case 11:{HI(a[d+8>>2]|0)|0;rr(A,188228);n=188228;i=l;break}default:i=l}}while(0);l=i;h=h+1|0;d=d+120|0}if(n|0)rr(A,a[(a[A>>2]|0)+336>>2]|0);L2(f);k=I;return}function eF(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=a[e>>2]|0;f=n<<1;f=(f|0)>(r|0)?f:r;if((n|0)<(r|0)){A=eV(A,f<<4)|0;a[e>>2]=f}e=0;while(1){if((e|0)>=(r|0))break;b[A+(e<<4)>>3]=+b[i+(e*24|0)>>3];b[A+(e<<4)+8>>3]=+b[i+(e*24|0)+8>>3];e=e+1|0}return A|0}function iF(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;a[A>>2]=a[e+4>>2];a[A+4>>2]=i;return}function rF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=e+16|0;f=1;while(1){e=a[n>>2]|0;if((f|0)>(a[e+180>>2]|0))break;i=a[(a[e+184>>2]|0)+(f<<2)>>2]|0;rF(A,i);e=po(i,140823)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,137729)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,140977)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,101418)|0;if(e|0?r[e>>0]|0:0)er(A,e);e=po(i,101446)|0;if(e|0?r[e>>0]|0:0)$i(A,e);f=f+1|0}return}function fF(A){A=A|0;var e=0,i=0,r=0;e=a[47127]|0;if(!e){e=jk(20628,a[4581]|0)|0;a[47127]=e}if(!(W5[a[e>>2]&63](e,A,4)|0)){i=a[47127]|0;r=a[i>>2]|0;e=s3(A)|0;W5[r&63](i,e,1)|0;e=1}else e=0;return e|0}function aF(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function nF(A){A=A|0;var e=0;e=a[47128]|0;if(!A){if((e|0)>0?(e=e+-1|0,a[47128]=e,(e|0)==0):0){D4(1,a[47129]|0)|0;L2(a[47129]|0)}}else{a[47128]=e+1;if(!e){a[47129]=s3(D4(1,0)|0)|0;D4(1,153563)|0}}return}function lF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+96|0;d=g+72|0;h=g+56|0;o=g+48|0;v=g+32|0;B=g+24|0;r=g+8|0;i=g;if(0)tR();do{if((Td(e,137483,0,1)|0)!=0?(u=e+16|0,(a[(a[u>>2]|0)+8>>2]|0)!=0):0){tF(e);cF(A,e);bF(A,e);nF(1);t=A+56|0;c=A+184|0;s=A+192|0;w=A+28|0;l=yg(A)|0;A:while(1){if(!l){n=33;break}i=a[t>>2]|0;if(!i){a[l+20>>2]=0;i=0}else{a[l+20>>2]=a[i+8>>2];i=a[i+12>>2]|0}a[l+24>>2]=i;a[l+12>>2]=A;a[l+28>>2]=a[c>>2];a[l+620>>2]=25764;a[l+624>>2]=14;if(!(a[(a[u>>2]|0)+8>>2]|0)){n=13;break}r=l+52|0;n=mi(l,a[r>>2]|0)|0;a[l+56>>2]=n;switch(n|0){case 999:{n=16;break A}case 21:{i=1;break}case 24:{i=520;break}default:i=sF(e)|0}f=l+152|0;a[f>>2]=a[f>>2]|i;i=a[s>>2]|0;do{if(!i)n=24;else{if(a[i+152>>2]&32|0?(A1(a[r>>2]|0,a[i+52>>2]|0)|0)==0:0){i=a[47130]|0;if(!i){n=27;break}a[i+8>>2]=l;a[l+36>>2]=a[i+36>>2];n=29;break}Wi(i);a[s>>2]=0;a[w>>2]=0;n=24}}while(0);if((n|0)==24){a[47130]=0;n=27}if((n|0)==27?(n=0,(Li(l)|0)==0):0){a[s>>2]=l;n=29}if((n|0)==29){a[l+8>>2]=0;a[l+104>>2]=25876;wF(l);uF(l);kF(l,e);oF(l,e);hF(l,e);if(!(a[f>>2]&128))BI(l,e);a[47130]=l}l=zg(A)|0}if((n|0)==13){ao(1,100679,B)|0;nF(0);if(!0){i=-1;break}i=a[15712]|0;B=Vh(e)|0;E=+cR();a[v>>2]=B;b[v+8>>3]=E;f3(i,100650,v)|0;i=-1;break}else if((n|0)==16){a[o>>2]=a[r>>2];ao(1,100700,o)|0;nF(0);if(!0){i=-1;break}i=a[15712]|0;v=Vh(e)|0;E=+cR();a[h>>2]=v;b[h+8>>3]=E;f3(i,100650,h)|0;i=-1;break}else if((n|0)==33){nF(0);if(!0){i=0;break}i=a[15712]|0;v=Vh(e)|0;E=+cR();a[d>>2]=v;b[d+8>>3]=E;f3(i,100650,d)|0;i=0;break}}else n=5}while(0);if((n|0)==5){ao(1,100602,i)|0;if(!0)i=-1;else{i=a[15712]|0;v=Vh(e)|0;E=+cR();a[r>>2]=v;b[r+8>>3]=E;f3(i,100650,r)|0;i=-1}}k=g;return i|0}function tF(A){A=A|0;var e=0;e=cd(A)|0;while(1){if(!e)break;EF(A,e);e=bd(A,e)|0}return}function cF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+32|0;c=u+24|0;f=u+16|0;t=u+8|0;w=u;a[A+168>>2]=e;n=A+293|0;r[n>>0]=0;i=po(e,105496)|0;if(i|0?(a[f>>2]=t,a[f+4>>2]=w,l=J3(i,105503,f)|0,(l|0)>0):0){o=+b[t>>3]*72.0;i=A+208|0;b[i>>3]=o;b[A+200>>3]=o;if((l|0)!=1)b[i>>3]=+b[w>>3]*72.0;r[n>>0]=1}f=A+292|0;r[f>>0]=0;i=po(e,101102)|0;if(i|0?(a[c>>2]=t,a[c+4>>2]=w,s=J3(i,105503,c)|0,(s|0)>0):0){o=+b[t>>3]*72.0;i=A+224|0;b[i>>3]=o;b[A+216>>3]=o;if((s|0)!=1)b[i>>3]=+b[w>>3]*72.0;r[f>>0]=1}i=A+294|0;r[i>>0]=0;f=A+232|0;n=e+16|0;w=(a[(a[n>>2]|0)+8>>2]|0)+48|0;a[f>>2]=a[w>>2];a[f+4>>2]=a[w+4>>2];a[f+8>>2]=a[w+8>>2];a[f+12>>2]=a[w+12>>2];f=a[(a[n>>2]|0)+8>>2]|0;if(+b[f+48>>3]>.001?+b[f+56>>3]>.001:0)r[i>>0]=1;a[A+288>>2]=r[f+81>>0]|0?90:0;i=A+196|0;a[i>>2]=101106;f=po(e,101109)|0;if(f|0?r[f>>0]|0:0)a[i>>2]=f;w=A+256|0;s=(a[n>>2]|0)+16|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];a[w+8>>2]=a[s+8>>2];a[w+12>>2]=a[s+12>>2];a[w+16>>2]=a[s+16>>2];a[w+20>>2]=a[s+20>>2];a[w+24>>2]=a[s+24>>2];a[w+28>>2]=a[s+28>>2];a[47141]=Yo(e,0,101472,0)|0;a[47142]=Yo(e,0,101463,0)|0;a[A+320>>2]=BR(0,a[47151]|0,107994)|0;b[A+328>>3]=+oR(0,a[47150]|0,14.0,1.0);a[A+336>>2]=20664;a[A+188>>2]=Vh(e)|0;k=u;return}function bF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=A+304|0;f=a[i>>2]|0;if(f|0){L2(f);a[i>>2]=0}f=A+308|0;i=a[f>>2]|0;if(i|0){L2(i);a[f>>2]=0}n=A+316|0;i=a[n>>2]|0;if(i|0){L2(i);a[n>>2]=0}i=po(e,100853)|0;if(i){a[A+312>>2]=vF(A,e,i)|0;i=po(e,100860)|0;if(i|0?r[i>>0]|0:0)a[n>>2]=gF(A,i)|0}else{a[f>>2]=0;a[A+312>>2]=1}return}function sF(A){A=A|0;A=po(A,100821)|0;A:do{if(!A)A=0;else switch(r[A>>0]|0){case 110:{if(!(A1(A+1|0,100833)|0))A=1;else{A=0;break A}break}case 101:{if(!(A1(A+1|0,100843)|0))A=16;else{A=0;break A}break}default:{A=0;break A}}}while(0);return A|0}function wF(A){A=A|0;var e=0.0,i=0;i=a[A>>2]|0;if(!(r[i+292>>0]|0)){if((a[A+56>>2]|0)==300)e=+b[(a[A+68>>2]|0)+8>>3];else e=4.0;b[A+248>>3]=e;b[A+240>>3]=e}else{A=A+240|0;i=i+216|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2]}return}function uF(A){A=A|0;var e=0;e=a[A>>2]|0;A:do{if(!(r[e+293>>0]|0))switch(a[A+56>>2]|0){case 300:{e=A+416|0;A=(a[A+84>>2]|0)+8|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];break A}case 30:case 21:case 22:case 4:case 3:case 2:{b[A+424>>3]=36.0;b[A+416>>3]=36.0;break A}default:{e=A+416|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;break A}}else{A=A+416|0;e=e+200|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function kF(A,e){A=A|0;e=e|0;var i=0.0,f=0;f=a[(a[A>>2]|0)+192>>2]|0;i=+b[(a[(a[e+16>>2]|0)+8>>2]|0)+24>>3];do{if(!(i!=0.0)){if(f|0?r[f+128>>0]|0:0){A=A+432|0;f=f+112|0;a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];break}e=A+432|0;if((a[A+56>>2]|0)==300){A=(a[A+84>>2]|0)+40|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];break}else{b[A+440>>3]=96.0;b[e>>3]=96.0;break}}else{b[A+440>>3]=i;b[A+432>>3]=i}}while(0);return}function oF(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+112|0;v=Q+80|0;g=Q+56|0;B=Q+40|0;E=Q+32|0;C=Q+24|0;I=Q+16|0;Z=Q+8|0;G=Q;s=a[A>>2]|0;u=+b[s+272>>3];h=+b[s+280>>3];o=+b[s+256>>3];d=+b[s+264>>3];f=+b[A+240>>3];i=o-f;b[A+208>>3]=i;l=+b[A+248>>3];t=d-l;b[A+216>>3]=t;f=f+u;b[A+224>>3]=f;l=l+h;b[A+232>>3]=l;i=f-i;t=l-t;b[I>>3]=1.0;n=a[(a[e+16>>2]|0)+8>>2]|0;l=+b[n+64>>3];do{if(l>.001?(c=+b[n+72>>3],c>.001):0){i=i==0.0?l:i;f=t==0.0?c:t;if(!(lf&(l>i&(r[n+80>>0]|0)!=0)):0){c=i;t=f;l=1.0;break}w=l/i>3]=l;c=i;t=f}else{c=i;l=1.0}}while(0);f=(o+u)*.5;b[Z>>3]=f;i=(d+h)*.5;b[G>>3]=i;a[A+360>>2]=a[s+288>>2];c=l*c;b[E>>3]=c;t=l*t;b[C>>3]=t;n=po(e,100752)|0;if(n){s=m2((S2(n)|0)+1|0)|0;w=m2((S2(n)|0)+1|0)|0;a[B>>2]=E;a[B+4>>2]=C;a[B+8>>2]=I;a[B+12>>2]=s;do{if((J3(n,100761,B)|0)==4){n=vd(a[e+60>>2]|0,s,0)|0;if(n|0){g=a[n+16>>2]|0;b[Z>>3]=+b[g+16>>3];b[G>>3]=+b[g+24>>3]}}else{a[g>>2]=E;a[g+4>>2]=C;a[g+8>>2]=I;a[g+12>>2]=s;a[g+16>>2]=w;if((J3(n,100781,g)|0)!=4){a[v>>2]=E;a[v+4>>2]=C;a[v+8>>2]=I;a[v+12>>2]=Z;a[v+16>>2]=G;J3(n,100801,v)|0;break}n=vd(a[e+60>>2]|0,s,0)|0;if(n|0){g=a[n+16>>2]|0;b[Z>>3]=+b[g+16>>3];b[G>>3]=+b[g+24>>3]}}}while(0);L2(s);L2(w);c=+b[E>>3];t=+b[C>>3];l=+b[I>>3];f=+b[Z>>3];i=+b[G>>3]}b[A+368>>3]=c;b[A+376>>3]=t;b[A+352>>3]=l;b[A+336>>3]=f;b[A+344>>3]=i;k=Q;return}function hF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0,R=0.0,H=0.0;N=k;k=k+224|0;F=N+200|0;G=N+168|0;y=N+144|0;M=N+120|0;z=N+96|0;Y=N+64|0;i=N+184|0;E=N+176|0;C=N+160|0;Z=N+136|0;I=N+112|0;Q=N+80|0;m=N+48|0;L=N+32|0;W=N+16|0;V=N+8|0;J=N;g=a[A>>2]|0;a[Y>>2]=0;a[Y+4>>2]=0;a[Y+8>>2]=0;a[Y+12>>2]=0;D=A+368|0;a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];D=A+360|0;if(a[D>>2]|0){a[F>>2]=a[M>>2];a[F+4>>2]=a[M+4>>2];a[F+8>>2]=a[M+8>>2];a[F+12>>2]=a[M+12>>2];dF(i,F);a[M>>2]=a[i>>2];a[M+4>>2]=a[i+4>>2];a[M+8>>2]=a[i+8>>2];a[M+12>>2]=a[i+12>>2]}v=A+416|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];if((r[g+294>>0]|0)!=0?(a[A+152>>2]&32|0)!=0:0){l=+b[g+232>>3]-+b[z>>3]*2.0;b[y>>3]=l;c=+b[g+240>>3]-+b[z+8>>3]*2.0;o=y+8|0;b[o>>3]=c;if(!(l<.0001)){u=+b[M>>3];i=~~(u/l);f=A+164|0;a[f>>2]=i;if(u-l*+(i|0)>.0001){i=i+1|0;a[f>>2]=i}}else{a[A+164>>2]=1;i=1}if(!(c<.0001)){n=+b[M+8>>3];f=~~(n/c);t=A+168|0;a[t>>2]=f;if(n-c*+(f|0)>.0001){f=f+1|0;a[t>>2]=f}}else{a[A+168>>2]=1;f=1;n=+b[M+8>>3]}a[A+204>>2]=U(f,i)|0;u=+b[(+b[M>>3]>3];b[M>>3]=u;i=o;f=M;s=+b[(n>3];n=u;t=21}else{if(a[A+68>>2]|0){i=a[A+84>>2]|0;l=+b[i+24>>3]-+b[z>>3]*2.0;l=l<0.0?0.0:l;b[y>>3]=l;u=+b[i+32>>3]-+b[z+8>>3]*2.0;i=y+8|0;b[i>>3]=u;if(u<0.0){f=y;t=17}else i=y}else{b[y+8>>3]=0.0;f=y;i=y;t=17}if((t|0)==17){b[i>>3]=0.0;i=f;l=+b[f>>3]}a[A+204>>2]=1;a[A+168>>2]=1;a[A+164>>2]=1;n=+b[M>>3];if(l>3]=n;l=n}i=y+8|0;c=+b[i>>3];s=+b[M+8>>3];if(c>3]=s;d=i;s=+b[i>>3]}w=+b[z>>3];B=A+432|0;c=+b[B>>3]*.013888888888888888*(w*2.0+l);a[A+448>>2]=~~(c+(c>=0.0?.5:-.5));h=z+8|0;c=+b[h>>3];v=A+440|0;u=+b[v>>3]*.013888888888888888*(c*2.0+s);a[A+452>>2]=~~(u+(u>=0.0?.5:-.5));t=A+188|0;o=A+180|0;i=A+172|0;f=g+196|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;a[i+20>>2]=0;BF(E,A,r[a[f>>2]>>0]|0);g=E;E=a[g+4>>2]|0;i=o;a[i>>2]=a[g>>2];a[i+4>>2]=E;BF(C,A,r[(a[f>>2]|0)+1>>0]|0);i=C;C=a[i>>2]|0;i=a[i+4>>2]|0;E=t;a[E>>2]=C;a[E+4>>2]=i;C=(a[o>>2]|0)+C|0;if(!((((C|0)>-1?C:0-C|0)|0)==1?(C=(a[A+184>>2]|0)+i|0,(((C|0)>-1?C:0-C|0)|0)==1):0)){BF(Z,A,66);E=Z;Z=a[E+4>>2]|0;C=o;a[C>>2]=a[E>>2];a[C+4>>2]=Z;BF(I,A,76);C=I;I=a[C+4>>2]|0;Z=t;a[Z>>2]=a[C>>2];a[Z+4>>2]=I;a[G>>2]=a[f>>2];ao(0,100732,G)|0}if(r[(a[(a[e+16>>2]|0)+8>>2]|0)+82>>0]|0){if(l>n){s=(l-n)*.5;b[Y>>3]=s}else s=0.0;l=+b[d>>3];u=+b[M+8>>3];if(l>u){l=(l-u)*.5;b[Y+8>>3]=l}else l=0.0}else{l=0.0;s=0.0}if(!(a[D>>2]|0))t=1;else{a[F>>2]=a[M>>2];a[F+4>>2]=a[M+4>>2];a[F+8>>2]=a[M+8>>2];a[F+12>>2]=a[M+12>>2];dF(Q,F);a[M>>2]=a[Q>>2];a[M+4>>2]=a[Q+4>>2];a[M+8>>2]=a[Q+8>>2];a[M+12>>2]=a[Q+12>>2];a[F>>2]=a[y>>2];a[F+4>>2]=a[y+4>>2];a[F+8>>2]=a[y+8>>2];a[F+12>>2]=a[y+12>>2];dF(m,F);a[y>>2]=a[m>>2];a[y+4>>2]=a[m+4>>2];a[y+8>>2]=a[m+8>>2];a[y+12>>2]=a[m+12>>2];a[F>>2]=a[z>>2];a[F+4>>2]=a[z+4>>2];a[F+8>>2]=a[z+8>>2];a[F+12>>2]=a[z+12>>2];dF(L,F);a[z>>2]=a[L>>2];a[z+4>>2]=a[L+4>>2];a[z+8>>2]=a[L+8>>2];a[z+12>>2]=a[L+12>>2];a[F>>2]=a[Y>>2];a[F+4>>2]=a[Y+4>>2];a[F+8>>2]=a[Y+8>>2];a[F+12>>2]=a[Y+12>>2];dF(W,F);a[Y>>2]=a[W>>2];a[Y+4>>2]=a[W+4>>2];a[Y+8>>2]=a[W+8>>2];a[Y+12>>2]=a[W+12>>2];w=+b[z>>3];s=+b[Y>>3];c=+b[h>>3];l=+b[Y+8>>3];n=+b[M>>3];t=(a[D>>2]|0)==0}u=s+w;b[A+384>>3]=u;R=l+c;b[A+392>>3]=R;X=s+w+n;b[A+400>>3]=X;H=+b[M+8>>3];w=l+c+H;b[A+408>>3]=w;s=+b[A+352>>3];b[A+320>>3]=n/s;b[A+328>>3]=H/s;s=+b[B>>3];u=u*.013888888888888888*s;f=A+456|0;a[f>>2]=~~(u+(u>=0.0?.5:-.5));u=+b[v>>3];c=R*.013888888888888888*u;a[A+460>>2]=~~(c+(c>=0.0?.5:-.5));s=X*.013888888888888888*s;i=A+464|0;a[i>>2]=~~(s+(s>=0.0?.5:-.5));u=w*.013888888888888888*u;a[A+468>>2]=~~(u+(u>=0.0?.5:-.5));if(!t){a[F>>2]=a[f>>2];a[F+4>>2]=a[f+4>>2];iF(V,F);M=V;V=a[M+4>>2]|0;A=f;a[A>>2]=a[M>>2];a[A+4>>2]=V;a[F>>2]=a[i>>2];a[F+4>>2]=a[i+4>>2];iF(J,F);A=J;V=a[A+4>>2]|0;J=i;a[J>>2]=a[A>>2];a[J+4>>2]=V}k=N;return}function dF(A,e){A=A|0;e=e|0;var i=0.0;i=+b[e>>3];b[A>>3]=+b[e+8>>3];b[A+8>>3]=i;return}function BF(A,e,i){A=A|0;e=e|0;i=i|0;i=(i<<24>>24)+-66|0;switch(i>>>1|i<<31|0){case 9:{a[e+176>>2]=(a[e+168>>2]|0)+-1;e=0;i=-1;break}case 0:{e=0;i=1;break}case 5:{e=1;i=0;break}case 8:{a[e+172>>2]=(a[e+164>>2]|0)+-1;e=-1;i=0;break}default:{e=0;i=0}}a[A>>2]=e;a[A+4>>2]=i;return}function vF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;f=po(e,100973)|0;t=A+296|0;a[t>>2]=(f|0)==0?100982:f;e=po(e,100986)|0;f=A+300|0;e=(e|0)==0?100999:e;a[f>>2]=e;e=k3(a[t>>2]|0,e)|0;if(e|0){a[n>>2]=r[e>>0];ao(0,101001,n)|0;a[f>>2]=195059}e=s3(i)|0;a[A+304>>2]=e;l=A+308|0;f=0;A=0;while(1){i=t3(e,a[t>>2]|0)|0;if(!i)break;n=A+1|0;if((A|0)<(f|0))e=a[l>>2]|0;else{f=f+128|0;e=a[l>>2]|0;if(!e)e=$F(f<<2)|0;else e=eV(e,f<<2)|0;a[l>>2]=e}a[e+(n<<2)>>2]=i;A=n;e=0}if(A|0){t=eV(a[l>>2]|0,(A<<2)+8|0)|0;a[l>>2]=t;a[t>>2]=0;a[(a[l>>2]|0)+(A+1<<2)>>2]=0}k=c;return A|0}function gF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b;t=A+312|0;i=$F((a[t>>2]<<2)+8|0)|0;r=0;l=1;while(1){n=a[t>>2]|0;if((l|0)>(n|0))break;f=r+1|0;if((JM(A,l,n,e)|0)<<24>>24){a[i+(f<<2)>>2]=l;r=f}l=l+1|0}if(!r){a[c>>2]=e;ao(0,100872,c)|0;L2(i);i=0}else{a[i>>2]=r;a[i+(r+1<<2)>>2]=(a[t>>2]|0)+1}k=b;return i|0}function EF(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0;i=a[e+16>>2]|0;n=+b[i+16>>3];b[i+48>>3]=n-+b[i+88>>3];r=+b[i+24>>3];f=+b[i+80>>3]*.5;b[i+56>>3]=r-f;b[i+64>>3]=+b[i+96>>3]+n;b[i+72>>3]=f+r;e=Oo(A,e)|0;while(1){if(!e)break;CF(e);e=_o(A,e)|0}return}function CF(A){A=A|0;A=a[(a[A+16>>2]|0)+8>>2]|0;if(A|0)IF(A);return}function IF(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;L=k;k=k+240|0;E=L+192|0;g=L+176|0;C=L+64|0;I=L+32|0;Z=L;G=L+144|0;Q=L+112|0;m=A+4|0;if((a[m>>2]|0)<=0)vA(101140,99906,3994,101154);e=a[A>>2]|0;i=C;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=E;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));ZF(I,E);l=I+8|0;t=Z+8|0;c=I+16|0;s=Z+16|0;w=I+24|0;u=Z+24|0;o=C+8|0;h=C+12|0;d=C+32|0;B=C+4|0;v=C+16|0;n=0;while(1){if((n|0)>=(a[m>>2]|0))break;if((n|0)>0){e=(a[A>>2]|0)+(n*48|0)|0;i=C;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=E;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));ZF(Z,E);b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}e=a[o>>2]|0;if(e|0){f=a[C>>2]|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[E>>2]=a[f>>2];a[E+4>>2]=a[f+4>>2];a[E+8>>2]=a[f+8>>2];a[E+12>>2]=a[f+12>>2];KC(G,g,E,1.0,e);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[Z+16>>2]=a[G+16>>2];a[Z+20>>2]=a[G+20>>2];a[Z+24>>2]=a[G+24>>2];a[Z+28>>2]=a[G+28>>2];b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}e=a[h>>2]|0;if(e|0){f=(a[C>>2]|0)+((a[B>>2]|0)+-1<<4)|0;a[g>>2]=a[d>>2];a[g+4>>2]=a[d+4>>2];a[g+8>>2]=a[d+8>>2];a[g+12>>2]=a[d+12>>2];a[E>>2]=a[f>>2];a[E+4>>2]=a[f+4>>2];a[E+8>>2]=a[f+8>>2];a[E+12>>2]=a[f+12>>2];KC(Q,g,E,1.0,e);a[Z>>2]=a[Q>>2];a[Z+4>>2]=a[Q+4>>2];a[Z+8>>2]=a[Q+8>>2];a[Z+12>>2]=a[Q+12>>2];a[Z+16>>2]=a[Q+16>>2];a[Z+20>>2]=a[Q+20>>2];a[Z+24>>2]=a[Q+24>>2];a[Z+28>>2]=a[Q+28>>2];b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}n=n+1|0}m=A+8|0;a[m>>2]=a[I>>2];a[m+4>>2]=a[I+4>>2];a[m+8>>2]=a[I+8>>2];a[m+12>>2]=a[I+12>>2];a[m+16>>2]=a[I+16>>2];a[m+20>>2]=a[I+20>>2];a[m+24>>2]=a[I+24>>2];a[m+28>>2]=a[I+28>>2];k=L;return}function ZF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0;w=k;k=k+48|0;l=w+32|0;t=w;c=a[e+4>>2]|0;if((c|0)<=0)vA(101170,99906,3968,101182);if(((c>>>0)%3|0|0)!=1)vA(101192,99906,3969,101182);s=t+16|0;i=a[e>>2]|0;a[s>>2]=a[i>>2];a[s+4>>2]=a[i+4>>2];a[s+8>>2]=a[i+8>>2];a[s+12>>2]=a[i+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];r=l+8|0;f=t+8|0;n=t+24|0;e=1;while(1){if((e|0)>=(c|0))break;o=+b[i+(e<<4)+8>>3];v=e+1|0;u=+b[i+(v<<4)+8>>3];d=(+b[i+(v<<4)>>3]+ +b[i+(e<<4)>>3])*.5;b[l>>3]=d;o=(u+o)*.5;b[r>>3]=o;u=+b[(+b[t>>3]>3];b[t>>3]=u;B=+b[(+b[f>>3]>3];b[f>>3]=B;d=+b[(+b[s>>3]>d?s:l)>>3];b[s>>3]=d;o=+b[(+b[n>>3]>o?s:l)+8>>3];b[n>>3]=o;v=i+(e+2<<4)|0;a[l>>2]=a[v>>2];a[l+4>>2]=a[v+4>>2];a[l+8>>2]=a[v+8>>2];a[l+12>>2]=a[v+12>>2];h=+b[l>>3];b[t>>3]=+b[(u>3];u=+b[r>>3];b[f>>3]=+b[(B>3];b[s>>3]=+b[(d>h?s:l)>>3];b[n>>3]=+b[(o>u?s:l)+8>>3];e=e+3|0}a[A>>2]=a[t>>2];a[A+4>>2]=a[t+4>>2];a[A+8>>2]=a[t+8>>2];a[A+12>>2]=a[t+12>>2];a[A+16>>2]=a[t+16>>2];a[A+20>>2]=a[t+20>>2];a[A+24>>2]=a[t+24>>2];a[A+28>>2]=a[t+28>>2];k=w;return}function GF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0.0;h=+b[A>>3];d=+b[i>>3];c=!(h>=d);if((!c?h<=+b[i+16>>3]:0)?(f=+b[A+8>>3],f>=+b[i+8>>3]):0)l=f<=+b[i+24>>3];else l=0;f=+b[e>>3];if((f>=d?f<=+b[i+16>>3]:0)?(a=+b[e+8>>3],a>=+b[i+8>>3]):0){r=a<=+b[i+24>>3];if(!(l^r))if(l&r)r=1;else s=11;else r=0}else if(l)r=0;else s=11;A:do{if((s|0)==11){o=+b[A+8>>3];do{if(h==f){d=+b[i+8>>3];if(!(c|o>=d^+b[e+8>>3]>=d^1)?h<=+b[i+16>>3]:0){r=0;break A}}else{t=+b[e+8>>3];if(o==t){if(!(h>=d^f>=d))break;if(!(o>=+b[i+8>>3]))break;if(!(o<=+b[i+24>>3]))break;else{r=0;break A}}k=(t-o)/(f-h);s=h>3];if(!(!(d>=n)|!(d<=f)|!(a>=w))?a<=+b[i+24>>3]:0){r=0;break A}u=+b[i+16>>3];a=(u-d)*k+a;if(a>=w?!(!(u<=f)|(u>=n?!(a<=+b[i+24>>3]):1)):0){r=0;break A}s=o=d?!(!(w<=a)|(!(w>=n)|!(f<=u))):0){r=0;break A}o=+b[i+24>>3];h=(o-w)/k+f;if(h>=d?!(!(o<=a)|(!(o>=n)|!(h<=u))):0){r=0;break A}}}while(0);r=-1}}while(0);return r|0}function QF(A){A=A|0;var e=0,i=0.0;e=A+16|0;i=+b[e>>3];b[A+32>>3]=i;b[A+48>>3]=i;b[A+40>>3]=+b[A+24>>3];b[A+56>>3]=+b[A+8>>3];b[e>>3]=+b[A>>3];return}function mF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0;if((a[47131]|0)!=(i|0)){E1(+(i|0)*.15915494309189535,186328,186336);a[47131]=i}n=+b[e>>3];r=+b[23292];f=+b[e+8>>3];l=+b[23291];b[A>>3]=r*n-l*f;b[A+8>>3]=l*n+f*r;return}function LF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;r=+b[e>>3];l=e+8|0;n=+b[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{b[e>>3]=n;r=-r;t=10;break}case 180:{r=-n;t=10;break}case 270:{b[e>>3]=n;t=10;break}default:{if((i|0)<0){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(A,f,0-i|0);break A}if((i|0)>360){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];LF(A,f,(i>>>0)%360|0);break A}else{a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];mF(A,f,i);break A}}}}while(0);if((t|0)==10){b[l>>3]=r;t=11}if((t|0)==11){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}k=c;return}function WF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;r=+b[e>>3];l=e+8|0;n=+b[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{b[e>>3]=-n;t=10;break}case 180:{r=-n;t=10;break}case 270:{b[e>>3]=n;t=10;break}default:{if((i|0)<0){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];LF(A,f,0-i|0);break A}if((i|0)>360){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(A,f,(i>>>0)%360|0);break A}else{a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];mF(A,f,360-i|0);break A}}}}while(0);if((t|0)==10){b[l>>3]=r;t=11}if((t|0)==11){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}k=c;return}function yF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;n=+b[i>>3];r=+b[i+8>>3];a=r+ +b[e>>3];f=n+ +b[e+24>>3];r=r+ +b[e+16>>3];b[A>>3]=n+ +b[e+8>>3];b[A+8>>3]=a;b[A+16>>3]=f;b[A+24>>3]=r;return}function zF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;a=+b[A>>3];r=+b[e>>3]-a;n=+b[A+8>>3];f=+b[e+8>>3]-n;a=(+b[i+8>>3]-n)*r-(+b[i>>3]-a)*f;a=a*a;return+(a<1.0e-10?0.0:a/(f*f+r*r))}function YF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n+8|0;r=n;A=po(A,e)|0;if(A|0?(a[f>>2]=r,(J3(A,101209,f)|0)>0):0)b[i>>3]=+b[r>>3];k=n;return}function DF(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;n=w+8|0;l=w;i=qF(96)|0;s=A+16|0;a[(a[s>>2]|0)+8>>2]=i;i=po(A,101213)|0;if(!i){i=PA(101222)|0;if(i|0)c=3}else c=3;if((c|0)==3)ae(101234,i|0,1)|0;i=(MF(A)|0)&255;r[(a[s>>2]|0)+115>>0]=i;if(0==0?(i=po(A,101245)|0,a[47133]=i,(i|0)==0):0)a[47133]=a[47132];f=+oR(A,Yo(A,0,101255,0)|0,0.0,0.0);b[a[(a[s>>2]|0)+8>>2]>>3]=f;i=po(A,101263)|0;A:do{if(!i)i=0;else{switch(r[i>>0]|0){case 76:{if(!(A1(i,101271)|0)){i=1;break A}break}case 66:{if(!(A1(i,101274)|0)){i=2;break A}break}case 82:{i=(A1(i,101277)|0)==0;i=i?3:0;break A}default:{i=0;break A}}i=0}}while(0);a[(a[s>>2]|0)+116>>2]=i<<2|(e<<24>>24==0?0:i);f=+oR(A,Yo(A,0,101280,0)|0,.25,.02);b[l>>3]=f;f=f*72.0;a[(a[s>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));i=dR(A,Yo(A,0,101288,0)|0,0)|0;if(i){a[n>>2]=l;if(J3(i,101209,n)|0){f=+b[l>>3];if(f<.02){b[l>>3]=.02;f=.02}}else{b[l>>3]=.5;f=.5}if(X4(i,101296)|0)r[(a[s>>2]|0)+276>>0]=1}else{b[l>>3]=.5;f=.5}f=f*72.0;a[(a[s>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));l=(kR(A,Yo(A,0,101304,0)|0,0,0)|0)&255;r[(a[s>>2]|0)+243>>0]=l;l=YR(dR(A,Yo(A,0,101314,0)|0,0)|0,20676,20692)|0;a[(a[s>>2]|0)+244>>2]=l;FF(A);l=VF(A,101324,(a[(a[s>>2]|0)+8>>2]|0)+64|0)|0;i=a[(a[s>>2]|0)+8>>2]|0;r[i+80>>0]=l;VF(A,101329,i+48|0)|0;i=gR(po(A,101334)|0)|0;r[(a[(a[s>>2]|0)+8>>2]|0)+82>>0]=i;i=po(A,101341)|0;do{if(!i){i=po(A,101348)|0;if(i|0){i=(r[i>>0]|32)<<24>>24==108&1;c=27;break}i=po(A,101360)|0;if(i|0){i=gR(i)|0;c=27}}else{i=(q3(i)|0)==90&1;c=27}}while(0);if((c|0)==27)r[(a[(a[s>>2]|0)+8>>2]|0)+81>>0]=i;a[47135]=YR(po(A,101370)|0,20708,20724)|0;r[194954]=gR(po(A,101382)|0)|0;a[47138]=0;a[47139]=0;b[(a[(a[s>>2]|0)+8>>2]|0)+24>>3]=0.0;i=po(A,101394)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)c=32;else c=30;if(((c|0)==30?(t=po(A,101398)|0,t|0):0)?r[t>>0]|0:0){i=t;c=32}if((c|0)==32){f=+$3(i);b[(a[(a[s>>2]|0)+8>>2]|0)+24>>3]=f}JF(A);b[23295]=1.e+37;a[47140]=Yo(A,0,101409,0)|0;a[47143]=Yo(A,0,141034,0)|0;a[47144]=Yo(A,0,105496,0)|0;a[47145]=Yo(A,1,141048,0)|0;a[47146]=Yo(A,1,141116,0)|0;a[47147]=Yo(A,1,108230,0)|0;a[47148]=Yo(A,1,140823,0)|0;a[47149]=Yo(A,1,101418,0)|0;a[47157]=Yo(A,1,141082,0)|0;a[47150]=Yo(A,1,101428,0)|0;a[47151]=Yo(A,1,101437,0)|0;a[47152]=Yo(A,1,101446,0)|0;c=Yo(A,1,108224,0)|0;a[47154]=c;if(!c)a[47154]=Yo(A,1,108224,105493)|0;a[47155]=Yo(A,1,101456,0)|0;a[47158]=Yo(A,1,101304,0)|0;a[47172]=Yo(A,1,101463,0)|0;a[47161]=Yo(A,1,101409,0)|0;a[47153]=Yo(A,1,105496,0)|0;a[47159]=Yo(A,1,141076,0)|0;a[47160]=Yo(A,1,101472,0)|0;a[47163]=Yo(A,1,101484,0)|0;a[47162]=Yo(A,1,101348,0)|0;a[47164]=Yo(A,1,101489,0)|0;a[47165]=Yo(A,1,141024,0)|0;a[47166]=Yo(A,1,137297,0)|0;a[47156]=Yo(A,1,101500,0)|0;a[47167]=Yo(A,1,101510,0)|0;a[47168]=Yo(A,1,101516,0)|0;a[47169]=Yo(A,1,101522,0)|0;a[47170]=Yo(A,1,101530,0)|0;a[47171]=Yo(A,1,101539,0)|0;a[47173]=Yo(A,1,141034,0)|0;a[47174]=Yo(A,2,101541,0)|0;a[47176]=Yo(A,2,140823,0)|0;a[47177]=Yo(A,2,101418,0)|0;a[47179]=Yo(A,2,101428,0)|0;a[47180]=Yo(A,2,101437,0)|0;a[47181]=Yo(A,2,101446,0)|0;a[47182]=Yo(A,2,108224,0)|0;a[47183]=Yo(A,2,101456,0)|0;a[47192]=Yo(A,2,101548,0)|0;a[47184]=Yo(A,2,101559,0)|0;a[47195]=Yo(A,2,101563,0)|0;a[47196]=Yo(A,2,101573,0)|0;a[47197]=Yo(A,2,101583,0)|0;a[47198]=Yo(A,2,101593,0)|0;a[47199]=Yo(A,2,101603,0)|0;a[47200]=Yo(A,2,101617,0)|0;a[47201]=Yo(A,2,101631,0)|0;a[47202]=Yo(A,2,101646,0)|0;a[47203]=Yo(A,2,101660,0)|0;a[47175]=Yo(A,2,101671,0)|0;a[47187]=Yo(A,2,101304,0)|0;a[47185]=Yo(A,2,141082,0)|0;a[47186]=Yo(A,2,101678,0)|0;a[47188]=Yo(A,2,101687,0)|0;a[47189]=Yo(A,2,101697,0)|0;a[47190]=Yo(A,2,101510,0)|0;a[47191]=Yo(A,2,101522,0)|0;a[47204]=Yo(A,2,101708,0)|0;a[47205]=Yo(A,2,101717,0)|0;a[47206]=Yo(A,2,101463,0)|0;i=$C(A)|0;a[(a[(a[s>>2]|0)+8>>2]|0)+88>>2]=i;i=po(A,141060)|0;if(i|0?r[i>>0]|0:0){A=SF(i,A)|0;a[(a[(a[s>>2]|0)+8>>2]|0)+92>>2]=A}k=w;return}function MF(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;A=BR(A,Yo(A,0,101807,0)|0,101815)|0;if(((((((N1(A,101821)|0)!=0?(N1(A,101829)|0)!=0:0)?(N1(A,101836)|0)!=0:0)?(N1(A,101839)|0)!=0:0)?(N1(A,101850)|0)!=0:0)?(N1(A,101861)|0)!=0:0)?(N1(A,101871)|0)!=0:0)if((N1(A,101882)|0)!=0?(N1(A,101888)|0)!=0:0)if((N1(A,101815)|0)!=0?(N1(A,101893)|0)!=0:0){a[e>>2]=A;ao(0,101898,e)|0;A=0}else A=0;else A=2;else A=1;k=i;return A|0}function FF(A){A=A|0;var e=0.0,i=0,f=0;i=po(A,101765)|0;A:do{if(i|0?(f=r[i>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break A;if(A1(i,101771)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=4;break A}case 99:{if(f<<24>>24!=99)break A;if(A1(i,101776)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=3;break A}case 101:{if(f<<24>>24!=101)break A;if(A1(i,101785)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=5;break A}case 102:{if(f<<24>>24!=102)break A;if(A1(i,101792)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=2;break A}default:{e=+$3(i);if(!(e>0.0))break A;A=a[(a[A+16>>2]|0)+8>>2]|0;a[A+84>>2]=1;b[A+16>>3]=e;break A}}}while(0);return}function VF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+48|0;s=u+32|0;l=u+16|0;c=u+8|0;t=u;w=u+40|0;r[w>>0]=0;A=po(A,e)|0;do{if(A){a[l>>2]=c;a[l+4>>2]=t;a[l+8>>2]=w;l=(J3(A,101749,l)|0)>1;n=+b[c>>3];f=+b[t>>3];if(l&n>0.0&f>0.0){n=n*72.0;b[i>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);n=f*72.0;b[i+8>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);A=(r[w>>0]|0)==33;break}r[w>>0]=0;a[s>>2]=c;a[s+4>>2]=w;s=(J3(A,101759,s)|0)>0;f=+b[c>>3];if(s&f>0.0){n=f*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);b[i>>3]=n;b[i+8>>3]=n;A=(r[w>>0]|0)==33}else A=0}else A=0}while(0);k=u;return A&1|0}function JF(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0;e=po(A,108224)|0;do{if(e|0?r[e>>0]|0:0){i=(a[(a[A+60>>2]|0)+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|8;i=(tB(e)|0)!=0;n=+oR(A,Yo(A,0,101428,0)|0,14.0,1.0);l=BR(A,Yo(A,0,101437,0)|0,107994)|0;e=pF(A,e,i?2:0,n,l,BR(A,Yo(A,0,101446,0)|0,137314)|0)|0;l=A+16|0;a[(a[l>>2]|0)+12>>2]=e;e=po(A,105628)|0;i=(e|0)!=0;do{if((Zd(A)|0)==(A|0)){if(i?(r[e>>0]|0)==116:0){e=1;break}e=0}else{if(i?(r[e>>0]|0)==98:0){e=0;break}e=1}}while(0);i=po(A,101726)|0;A:do{if(i)switch(r[i>>0]|0){case 108:{e=e|2;break A}case 114:{e=e|4;break A}default:break A}}while(0);r[(a[l>>2]|0)+275>>0]=e;if((Zd(A)|0)!=(A|0)){e=a[(a[l>>2]|0)+12>>2]|0;f=+b[e+24>>3]+16.0;n=+b[e+32>>3]+8.0;A=(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0;e=a[l>>2]|0;i=r[e+275>>0]<<1&2;if(A){A=i&255;b[e+48+(A<<4)>>3]=f;b[e+48+(A<<4)+8>>3]=n;break}else{A=(i^3)&255;b[e+48+(A<<4)>>3]=n;b[e+48+(A<<4)+8>>3]=f;break}}}}while(0);return}function NF(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=a[r>>2]|0;e=a[i+8>>2]|0;do{if(!e)e=i;else{i=a[e+88>>2]|0;if(i){yC(i);i=a[r>>2]|0;e=a[i+8>>2]|0;if(!e){e=i;break}}L2(a[e+92>>2]|0);e=a[r>>2]|0}}while(0);L2(a[e+8>>2]|0);r=a[r>>2]|0;a[r+8>>2]=0;TF(a[r+12>>2]|0);_d(A,0,137483);return}function XF(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;switch(A|0){case 0:{A=101971;break}case 1:{A=101839;break}case 2:{A=101977;break}default:{a[e>>2]=A;ao(1,101941,e)|0;A=101971}}k=i;return A|0}function RF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;f=a[e>>2]|0;s=e+24|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;if(r[f>>0]|0){t=$F((S2(f)|0)+1|0)|0;r[t>>0]=0;c=e+12|0;i=t;A:while(1){e:while(1){l=f+1|0;n=r[f>>0]|0;if(!(n<<24>>24))break A;if(!(n<<24>>24==-1|((n&255)<161|(a[c>>2]|0)!=2))){r[i>>0]=n;l=r[l>>0]|0;n=i+2|0;r[i+1>>0]=l;if(!(l<<24>>24)){i=n;break A}else{i=n;f=f+2|0;continue}}switch(n<<24>>24){case 92:break e;case 10:{b=12;break e}default:{}}r[i>>0]=n;i=i+1|0;f=l}if((b|0)==12){b=0;f=i+1|0;r[i>>0]=0;HF(A,e,t,110);i=f;t=f;f=l;continue}n=r[l>>0]|0;switch(n<<24>>24|0){case 114:case 108:case 110:{n=i+1|0;r[i>>0]=0;HF(A,e,t,r[l>>0]|0);i=n;break}default:{r[i>>0]=n;i=i+1|0;n=t}}t=n;f=(r[l>>0]|0)==0?l:f+2|0}if((t|0)!=(i|0)){r[i>>0]=0;HF(A,e,t,110)}e=e+40|0;a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2]}return}function HF(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+32|0;h=B+16|0;o=B;d=e+76|0;c=f[d>>1]|0;u=e+72|0;s=a[u>>2]|0;if(!s)w=qF((c*56|0)+112|0)|0;else w=AV(s,c+2|0,56,c+1|0)|0;a[u>>2]=w;c=f[d>>1]|0;s=w+(c*56|0)|0;a[s>>2]=i;r[w+(c*56|0)+48>>0]=n;if((i|0)!=0?(r[i>>0]|0)!=0:0){a[46594]=a[e+4>>2];b[23299]=+b[e+16>>3];n=a[A+144>>2]|0;a[w+(c*56|0)+4>>2]=W5[a[n>>2]&63](n,186376,1)|0;AR(o,A,s);t=+b[o>>3];b[h>>3]=t;l=+b[o+8>>3]}else{b[h>>3]=0.0;l=+(~~(+b[e+16>>3]*1.2)|0);b[w+(c*56|0)+40>>3]=l;t=0.0}f[d>>1]=(f[d>>1]|0)+1<<16>>16;d=e+24|0;b[d>>3]=+b[(+b[d>>3]>t?d:h)>>3];d=e+32|0;b[d>>3]=+b[d>>3]+l;k=B;return}function pF(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=l|0;t=t|0;var c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+32|0;d=g+16|0;h=g+8|0;o=g;v=qF(88)|0;switch(Md(A)|0){case 0:{s=0;B=a[A+60>>2]|0;w=A;u=0;break}case 1:{s=0;B=Zd(Id(A)|0)|0;w=0;u=A;break}case 2:{s=A;B=Zd(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0;w=0;u=0;break}default:{s=0;B=0;w=0;u=0}}a[v+4>>2]=l;a[v+8>>2]=t;b[v+16>>3]=f;c=B+16|0;t=v+12|0;a[t>>2]=n[(a[c>>2]|0)+115>>0];A:do{if(i&4){a[v>>2]=s3(e)|0;if(i&2|0)r[v+82>>0]=1}else switch(i|0){case 2:{a[v>>2]=s3(e)|0;r[v+82>>0]=1;if(!(ga(A,v)|0))break A;switch(Md(A)|0){case 0:{a[o>>2]=Vh(w)|0;ao(3,101983,o)|0;break A}case 1:{a[h>>2]=Vh(u)|0;ao(3,102005,h)|0;break A}case 2:{o=Vh(a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;h=(Ih(B)|0)!=0;B=Vh(a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)|0;a[d>>2]=o;a[d+4>>2]=h?137738:141747;a[d+8>>2]=B;ao(3,102026,d)|0;break A}default:break A}}case 0:{l=UF(e,A,0)|0;a[v>>2]=l;if((a[t>>2]|0)==1)l=EH(l)|0;else l=BH(l,B)|0;L2(a[v>>2]|0);a[v>>2]=l;RF(a[(a[c>>2]|0)+144>>2]|0,v);break A}default:vA(102053,102069,166,102078)}}while(0);k=g;return v|0}function UF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;switch(Md(e)|0){case 0:{t=Vh(e)|0;n=S2(t)|0;f=a[(a[e+16>>2]|0)+12>>2]|0;if(f){f=a[f>>2]|0;if(!A){E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=2;C=f;I=102095}else{E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=S2(f)|0;C=f;I=102095}}else{E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}break}case 1:{t=Vh(Id(e)|0)|0;n=S2(t)|0;c=Vh(e)|0;l=S2(c)|0;f=a[(a[e+16>>2]|0)+104>>2]|0;if(f){f=a[f>>2]|0;if(!A){E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=2;C=f;I=102095}else{E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=S2(f)|0;C=f;I=102095}}else{E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}break}case 2:{l=e+48|0;t=Vh(Zd(Id(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0;n=S2(t)|0;s=Vh(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0;b=S2(s)|0;f=e+16|0;h=a[(a[f>>2]|0)+52>>2]|0;if(!h)d=0;else d=S2(h)|0;w=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;f=a[f>>2]|0;k=a[f+92>>2]|0;if(!k)o=0;else o=S2(k)|0;c=S2(w)|0;f=a[f+96>>2]|0;if(f){f=a[f>>2]|0;if(!A)u=2;else u=S2(f)|0}else{u=2;f=102089}I=(Ih(Zd(Id(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0)==0;E=1;v=b;g=c;B=b+2+(d|0?d+1|0:0)+c+(o|0?o+1|0:0)|0;l=2;Z=s;c=105493;C=f;I=I?141747:137738;break}default:{E=0;v=2;g=2;B=2;l=2;n=2;Z=102101;w=102098;c=105493;t=102092;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}}i=(i|0)==0;s=0;f=A;A:while(1){e=f+1|0;e:do{switch(r[f>>0]|0){case 0:break A;case 92:{f=f+2|0;switch(r[e>>0]|0){case 78:{b=l;break e}case 71:{b=n;break e}case 69:{b=B;break e}case 72:{b=g;break e}case 84:{b=v;break e}case 76:{b=u;break e}case 92:{if(!i){b=1;break e}break}default:{}}b=2;break}default:{b=1;f=e}}}while(0);s=s+b|0}B=$F(s+1|0)|0;u=(E|0)==0;s=(d|0)==0;e=(o|0)==0;f=B;n=A;A:while(1){b=n+1|0;l=r[n>>0]|0;switch(l<<24>>24){case 0:break A;case 92:break;default:{r[f>>0]=l;f=f+1|0;n=b;continue A}}l=n+2|0;n=r[b>>0]|0;switch(n<<24>>24|0){case 71:{n=t;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 78:{n=c;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 69:{if(u){n=l;continue A}else n=Z;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;n=n+1|0;f=f+1|0}if(s)n=I;else{r[f>>0]=58;n=h;while(1){f=f+1|0;A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=I;break}else n=n+1|0}}while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=w;break}n=n+1|0;f=f+1|0}while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;n=n+1|0;f=f+1|0}if(e){n=l;continue A}r[f>>0]=58;n=k;while(1){f=f+1|0;A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}else n=n+1|0}}case 84:{n=Z;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 72:{n=w;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}f=f+1|0;n=n+1|0}}case 76:{n=C;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}f=f+1|0;n=n+1|0}}case 92:{if(!i){r[f>>0]=92;f=f+1|0;n=l;continue A}break}default:{}}r[f>>0]=92;r[f+1>>0]=n;f=f+2|0;n=l}r[f>>0]=0;return B|0}function xF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(A|0){i=A;r=0;while(1){if((r|0)>=(e|0))break;if(!r)L2(a[i>>2]|0);n=a[i+8>>2]|0;if(n|0?(f=a[i+12>>2]|0,f|0):0)F5[f&127](n);i=i+56|0;r=r+1|0}L2(A)}return}function TF(A){A=A|0;var e=0;if(A|0){L2(a[A>>2]|0);e=A+72|0;if(r[A+82>>0]|0){e=a[e>>2]|0;if(e|0)aa(e,1)}else xF(a[e>>2]|0,f[A+76>>1]|0);L2(A)}return}function jF(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+32|0;h=g+16|0;d=g;c=a[A+16>>2]|0;B=c+12|0;v=a[B>>2]|0;a[B>>2]=e;if(!(r[i+82>>0]|0)){o=i+76|0;if((f[o>>1]|0)>=1){Ki(A,0);$i(A,a[i+8>>2]|0);switch(r[i+80>>0]|0){case 116:{t=+b[i+64>>3];n=+b[i+48>>3]*.5+t;break}case 98:{t=+b[i+64>>3];n=+b[i+48>>3]*-.5+t+ +b[i+32>>3];break}default:{t=+b[i+64>>3];n=+b[i+32>>3]*.5+t}}n=n-+b[i+16>>3];u=d+8|0;b[u>>3]=n;if(f[c+260>>1]&512)b[u>>3]=n-t;s=i+72|0;w=i+56|0;l=i+40|0;e=0;while(1){if((e|0)>=(f[o>>1]|0))break;c=a[s>>2]|0;switch(r[c+(e*56|0)+48>>0]|0){case 108:{n=+b[w>>3]-+b[l>>3]*.5;break}case 114:{n=+b[l>>3]*.5+ +b[w>>3];break}default:n=+b[w>>3]}b[d>>3]=n;a[h>>2]=a[d>>2];a[h+4>>2]=a[d+4>>2];a[h+8>>2]=a[d+8>>2];a[h+12>>2]=a[d+12>>2];qi(A,h,c+(e*56|0)|0);b[u>>3]=+b[u>>3]-+b[(a[s>>2]|0)+(e*56|0)+40>>3];e=e+1|0}_i(A);l=18}}else{Nf(A,a[i+72>>2]|0,i);l=18}if((l|0)==18)a[B>>2]=v;k=g;return}function SF(A,e){A=A|0;e=e|0;return UF(A,e,1)|0}function PF(A){A=A|0;return OF(A,0)|0}function OF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;i=a[47207]|0;if(!i){a[47208]=64;i=$F(64)|0;a[47207]=i}c=e<<24>>24==0;t=0;f=0;l=A;while(1){if(!l)break;e=r[l>>0]|0;if(!(e<<24>>24))break;A=a[47208]|0;if((t|0)>(A+-8|0)){i=A<<1;a[47208]=i;i=eV(a[47207]|0,i)|0;a[47207]=i;i=i+t|0;e=r[l>>0]|0}A:do{switch(e<<24>>24){case 38:{if(c?(KF(l)|0)!=0:0)b=18;else{f=5;e=102130}break}case 60:{f=4;e=102153;break}case 62:{f=4;e=102136;break}case 45:{f=5;e=102147;break}default:{if((f|0)!=0&e<<24>>24==32)if((r[f>>0]|0)==32){f=6;e=102123;break A}else{b=18;break A}switch(e<<24>>24){case 34:{f=6;e=102116;break A}case 39:{f=5;e=102141;break A}case 10:if(c){b=18;break A}else{f=5;e=102110;break A}default:{b=18;break A}}}}}while(0);if((b|0)==18){b=0;e=c|e<<24>>24!=13;f=e?1:5;e=e?l:102104}n=i+f|0;A=f;while(1){if(!A)break;r[i>>0]=r[e>>0]|0;A=A+-1|0;e=e+1|0;i=i+1|0}A=l;t=f+t|0;i=n;l=l+1|0;f=A}r[i>>0]=0;return a[47207]|0}function KF(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function _F(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0;e=a[47209]|0;if(!e){a[47210]=64;e=$F(64)|0;a[47209]=e;t=0}else t=0;while(1){if(!A)break;i=r[A>>0]|0;if(!(i<<24>>24))break;f=a[47210]|0;if((t|0)>(f+-8|0)){e=f<<1;a[47210]=e;e=eV(a[47209]|0,e)|0;a[47209]=e;e=e+t|0;i=r[A>>0]|0}switch(i<<24>>24){case 38:{if(!(KF(A)|0)){n=5;i=102130}else c=12;break}case 60:{n=4;i=102153;break}case 62:{n=4;i=102136;break}case 34:{n=6;i=102116;break}case 39:{n=5;i=102141;break}default:c=12}if((c|0)==12){c=0;n=1;i=A}l=e+n|0;f=n;while(1){if(!f)break;r[e>>0]=r[i>>0]|0;f=f+-1|0;i=i+1|0;e=e+1|0}t=n+t|0;e=l;A=A+1|0}r[e>>0]=0;return a[47209]|0}function qF(A){A=A|0;var e=0;if(!A)A=0;else{e=$F(A)|0;Y6(e|0,0,A|0)|0;A=e}return A|0}function $F(A){A=A|0;if(A){A=m2(A)|0;if(!A){L3(111740,14,1,a[15712]|0)|0;A=0}}else A=0;return A|0}function AV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=y2(A,U(i,e)|0)|0;if(!((e|0)!=0&(A|0)==0)){if(e>>>0>r>>>0)Y6(A+(U(r,i)|0)|0,0,U(e-r|0,i)|0)|0}else L3(111740,14,1,a[15712]|0)|0;return A|0}function eV(A,e){A=A|0;e=e|0;A=y2(A,e)|0;if((e|0)!=0&(A|0)==0)L3(111740,14,1,a[15712]|0)|0;return A|0}function iV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0,v=0,g=0;g=k;k=k+80|0;o=g+40|0;u=g+32|0;w=g+24|0;s=g;h=4;v=m2(40)|0;a[v>>2]=0;f=g+68|0;n=g+64|0;if(0){d=0;uA(62,A|0,f|0,n|0);l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,v|0,h|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)!=1){t=a[15712]|0;l=a[f>>2]|0;f=a[n>>2]|0;d=0;a[s>>2]=102202;a[s+4>>2]=l;a[s+8>>2]=f;a[s+12>>2]=i;a[s+16>>2]=e;aA(32,t|0,102158,s|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){d=0;bA(1);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1)t=6;else{f=L;t=15}}else{f=L;t=15}}else{f=L;t=15}}else t=6;do{if((t|0)==6){d=0;f=iA(27,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){if(!f){d=0;bA(2);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}}if((i|0)<1){d=0;bA(3);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}f=0;break}else{a[47211]=(r|0)>-1?r:30;v=L6(188848,1,v|0,h|0)|0;h=L;d=0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}f=0;t=15;break}}else{f=L;t=15}}}while(0);A:do{if((t|0)==15){e:while(1){if(f|0){f=2;break A}d=0;bA(4);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue}A=a[15712]|0;s=0;while(1){d=0;t=eA(2)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}if(!t)break;d=0;f=iA(28,t|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){f=L;t=15;continue e}d=0;wA(25,t|0,f|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}s=s+1|0;do{if(((s|0)%100|0|0)==0&0!=0){f=(s|0)%1e3|0;if((f|0)==100){d=0;rA(93,102202,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}d=0;a[w>>2]=s;aA(32,A|0,102220,w|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}d=0;a[u>>2]=s;aA(32,A|0,102220,u|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){f=L;t=15;continue e}if(!f){d=0;rA(94,10,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}}}}while(0);if((s|0)>=(i|0))break}switch(e|0){case 1:{d=0;bA(5);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}case 2:{d=0;bA(6);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}default:{d=0;bA(7);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}d=0;bA(3);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}}}if(!0){f=0;break A}if((s|0)>99){d=0;rA(94,10,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue}}f=a[47251]|0;n=a[47252]|0;d=0;c=+q(1);l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,v|0,h|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)==1){f=L;t=15;continue}d=0;a[o>>2]=102202;a[o+4>>2]=f;a[o+8>>2]=n;a[o+12>>2]=s;b[o+16>>3]=c;aA(32,A|0,102224,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15}else break}f=0}}while(0);L2(v|0);k=g;return f|0}function rV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;A=(a[A+16>>2]|0)+192|0;r=0;l=0;while(1){A=a[A>>2]|0;if(!A)break;n=a[A+16>>2]|0;f=a[n+180>>2]|0;A=0;while(1){if(!(a[f+(A<<2)>>2]|0))break;A=A+1|0;r=r+1|0}A=n+164|0;l=l+1|0}a[e>>2]=l;a[i>>2]=r;return}function fV(A){A=A|0;var e=0,i=0,f=0,n=0,t=0,c=0,b=0,s=0;a[47254]=A;a[47261]=0;a[47252]=0;a[47251]=0;t=A+16|0;A=(a[t>>2]|0)+192|0;n=0;i=0;while(1){A=a[A>>2]|0;if(!A)break;f=a[A+16>>2]|0;r[f+157>>0]=0;n=n+1|0;a[47251]=n;e=a[f+180>>2]|0;A=0;while(1){if(!(a[e+(A<<2)>>2]|0))break;b=i+1|0;a[47252]=b;A=A+1|0;i=b}A=f+164|0}A=a[47262]|0;if(!A)A=$F(n<<2)|0;else A=eV(A,n<<2)|0;a[47262]=A;a[47263]=0;A=a[47256]|0;if(!A)A=$F(a[47251]<<2)|0;else A=eV(A,a[47251]<<2)|0;a[47256]=A;a[47255]=0;e=1;A=(a[t>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;b=A+16|0;t=a[b>>2]|0;c=t+292|0;a[c>>2]=0;t=a[t+172>>2]|0;n=e;f=0;A=0;while(1){e=a[t+(f<<2)>>2]|0;if(!e)break;i=A+1|0;a[c>>2]=i;A=a[e+16>>2]|0;a[A+160>>2]=0;a[A+164>>2]=-1;if(!n)A=0;else{s=a[e>>2]&3;A=((a[(a[(a[((s|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((s|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(l[A+170>>1]|0|0)?0:n}n=A;f=f+1|0;A=i}A=qF((f<<2)+4|0)|0;e=a[b>>2]|0;a[e+264>>2]=A;a[e+268>>2]=0;e=a[e+180>>2]|0;A=0;do{s=A;A=A+1|0}while((a[e+(s<<2)>>2]|0)!=0);e=qF(A<<2)|0;A=a[b>>2]|0;a[A+272>>2]=e;a[A+276>>2]=0;e=n;A=A+164|0}return e|0}function aV(){var A=0,e=0,i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;b=u;s=bR(a[47251]|0)|0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e){c=0;break}i=e+16|0;A=a[i>>2]|0;if(!(a[A+292>>2]|0)){wR(s,e);A=a[i>>2]|0}A=A+164|0}while(1){A=uR(s)|0;if(!A)break;t=A+16|0;A=a[t>>2]|0;r=A+232|0;a[r>>2]=0;i=a[A+172>>2]|0;e=0;n=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f){r=0;break}f=(a[(a[(a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[(a[f+16>>2]|0)+170>>1]|0)|0;f=(n|0)>(f|0)?n:f;a[r>>2]=f;e=e+1|0;n=f}while(1){e=a[(a[A+180>>2]|0)+(r<<2)>>2]|0;if(!e)break;i=e+-48|0;f=(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+292|0;n=a[f>>2]|0;a[f>>2]=n+-1;if((n|0)<2){wR(s,a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0);A=a[t>>2]|0}r=r+1|0}c=c+1|0}A:do{if((c|0)!=(a[47251]|0)){ao(1,102556,b)|0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e)break A;i=e+16|0;A=a[i>>2]|0;if(a[A+292>>2]|0){b=Vh(e)|0;A=a[(a[i>>2]|0)+292>>2]|0;a[w>>2]=b;a[w+4>>2]=A;ao(3,102578,w)|0;A=a[i>>2]|0}A=A+164|0}}}while(0);sR(s);k=u;return}function nV(){var A=0,e=0,i=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;i=A+16|0;A=a[i>>2]|0;e=a[A+264>>2]|0;if(e){L2(e);A=a[i>>2]|0}e=a[A+272>>2]|0;if(e){L2(e);A=a[i>>2]|0}r[A+157>>0]=0;A=A+164|0}return}function lV(){var A=0,e=0,i=0,r=0,f=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;A=a[A+16>>2]|0;a[A+280>>2]=0;A=A+164|0}f=qF(a[47251]<<2)|0;r=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e)break;i=e+16|0;A=a[i>>2]|0;if(!(a[A+280>>2]|0)){a[f+(r<<2)>>2]=gV(e)|0;e=r+1|0;A=a[i>>2]|0}else e=r;r=e;A=A+164|0}A=EV(f,r)|0;while(1){if((CV(A)|0)<=1)break;QV(A,a[(GV(ZV(IV(A)|0)|0)|0)+8>>2]|0)}L2(A);A=0;while(1){if((A|0)>=(r|0))break;L2(a[f+(A<<2)>>2]|0);A=A+1|0}L2(f);if((a[47255]|0)==((a[47251]|0)+-1|0)){mV();return}else vA(102301,102331,523,102336)}function tV(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;t=a[47261]|0;f=a[47255]|0;c=a[47256]|0;b=a[47211]|0;e=0;A=0;n=t;while(1){if((n|0)>=(f|0)){l=8;break}r=a[c+(n<<2)>>2]|0;i=a[(a[r+16>>2]|0)+160>>2]|0;if((i|0)<0){if(!A)A=r;else A=(a[(a[A+16>>2]|0)+160>>2]|0)>(i|0)?r:A;e=e+1|0;if((e|0)>=(b|0))break}r=n+1|0;a[47261]=r;n=r}if((l|0)==8)if((t|0)>0){f=0;while(1){if((f|0)>=(t|0))break;i=a[c+(f<<2)>>2]|0;r=a[(a[i+16>>2]|0)+160>>2]|0;if((r|0)<0){if(!A)A=i;else A=(a[(a[A+16>>2]|0)+160>>2]|0)>(r|0)?i:A;e=e+1|0;if((e|0)>=(b|0))break}f=f+1|0}a[47261]=f}return A|0}function cV(A){A=A|0;var e=0,i=0;e=a[A>>2]&3;i=a[((e|0)==3?A:A+48|0)+40>>2]|0;A=a[((e|0)==2?A:A+-48|0)+40>>2]|0;e=(a[(a[i+16>>2]|0)+288>>2]|0)<(a[(a[A+16>>2]|0)+288>>2]|0);A=e?i:A;a[47257]=0;a[47258]=2147483647;i=a[A+16>>2]|0;a[47259]=a[i+284>>2];a[47260]=a[i+288>>2];if(e)vV(A);else BV(A);return a[47257]|0}function bV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=a[e>>2]&3;s=e+-48|0;c=e+48|0;b=e+16|0;f=(a[(a[(a[((f|0)==2?e:s)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((f|0)==3?e:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[b>>2]|0)+170>>1]|0)|0;do{if((f|0)>0){i=a[A>>2]&3;n=a[((i|0)==3?A:A+48|0)+40>>2]|0;t=a[n+16>>2]|0;if(((a[t+276>>2]|0)+(a[t+268>>2]|0)|0)==1){kV(n,f);break}i=a[((i|0)==2?A:A+-48|0)+40>>2]|0;r=a[i+16>>2]|0;if(((a[r+276>>2]|0)+(a[r+268>>2]|0)|0)==1){kV(i,0-f|0);break}if((a[t+288>>2]|0)<(a[r+288>>2]|0)){kV(n,f);break}else{kV(i,0-f|0);break}}}while(0);i=A+16|0;r=a[(a[i>>2]|0)+160>>2]|0;f=a[e>>2]&3;f=oV(a[((f|0)==3?e:c)+40>>2]|0,a[((f|0)==2?e:s)+40>>2]|0,r,1)|0;t=a[e>>2]&3;if((oV(a[((t|0)==2?e:s)+40>>2]|0,a[((t|0)==3?e:c)+40>>2]|0,r,0)|0)==(f|0)){a[(a[b>>2]|0)+160>>2]=0-r;a[(a[i>>2]|0)+160>>2]=0;hV(A,e);w=a[f+16>>2]|0;dV(f,a[w+280>>2]|0,a[w+284>>2]|0)|0;k=u;return}else{ao(1,102262,w)|0;fe(188848,1)}}function sV(){var A=0,e=0,i=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;uV();w=qF((a[47253]<<2)+4|0)|0;e=a[47253]|0;A=0;while(1){if((A|0)>(e|0))break;a[w+(A<<2)>>2]=0;A=A+1|0}A=(a[(a[47254]|0)+16>>2]|0)+192|0;e=A;while(1){e=a[e>>2]|0;if(!e)break;e=a[e+16>>2]|0;if(!(r[e+156>>0]|0)){s=w+(a[e+232>>2]<<2)|0;a[s>>2]=(a[s>>2]|0)+1}e=e+164|0}while(1){A=a[A>>2]|0;if(!A)break;s=A+16|0;A=a[s>>2]|0;if(!(r[A+156>>0]|0)){n=a[47253]|0;i=a[A+172>>2]|0;b=0;c=0;e=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f)break;u=a[f+16>>2]|0;t=(a[(a[(a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[u+170>>1]|0)|0;b=(a[u+156>>2]|0)+b|0;c=(c|0)>(t|0)?c:t;e=e+1|0}f=a[A+180>>2]|0;t=0;e=0;while(1){i=a[f+(e<<2)>>2]|0;if(!i)break;k=a[i+16>>2]|0;u=(a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[k+170>>1]|0)|0;t=(a[k+156>>2]|0)+t|0;n=(n|0)<(u|0)?n:u;e=e+1|0}e=(c|0)>0?c:0;if((b|0)==(t|0)){f=e;i=e;while(1){e=i+1|0;if((i|0)>=(n|0))break;f=(a[w+(e<<2)>>2]|0)<(a[w+(f<<2)>>2]|0)?e:f;i=e}k=A+232|0;u=w+(a[k>>2]<<2)|0;a[u>>2]=(a[u>>2]|0)+-1;u=w+(f<<2)|0;a[u>>2]=(a[u>>2]|0)+1;a[k>>2]=f}e=a[A+264>>2]|0;if(e){L2(e);A=a[s>>2]|0}e=a[A+272>>2]|0;if(e){L2(e);A=a[s>>2]|0}r[A+157>>0]=0}A=A+164|0}L2(w);return}function wV(){var A=0,e=0,i=0,r=0,f=0,n=0;e=0;while(1){if((e|0)>=(a[47255]|0))break;A=a[(a[47256]|0)+(e<<2)>>2]|0;do{if(((a[(a[A+16>>2]|0)+160>>2]|0)==0?(i=cV(A)|0,i|0):0)?(r=a[i>>2]&3,r=(a[(a[(a[((r|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((r|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0,(r|0)>=2):0){n=a[A>>2]&3;f=a[((n|0)==3?A:A+48|0)+40>>2]|0;A=a[((n|0)==2?A:A+-48|0)+40>>2]|0;if((a[(a[f+16>>2]|0)+288>>2]|0)<(a[(a[A+16>>2]|0)+288>>2]|0)){kV(f,r>>>1);break}else{kV(A,(r|0)/-2|0);break}}}while(0);e=e+1|0}nV();return}function uV(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+16|0;l=t;a[l>>2]=0;a[l>>2]=2147483647;a[47253]=-2147483647;A=(a[(a[47254]|0)+16>>2]|0)+192|0;i=A;n=2147483647;f=-2147483647;while(1){e=a[i>>2]|0;if(!e)break;i=a[e+16>>2]|0;if(!(r[i+156>>0]|0)){c=a[i+232>>2]|0;e=(n|0)<(c|0)?n:c;a[l>>2]=e;f=(f|0)>(c|0)?f:c;a[47253]=f}else e=n;i=i+164|0;n=e}if(n|0){while(1){A=a[A>>2]|0;if(!A)break;A=a[A+16>>2]|0;c=A+232|0;a[c>>2]=(a[c>>2]|0)-n;A=A+164|0}a[47253]=f-n;a[l>>2]=0}k=t;return}function kV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;A=a[f>>2]|0;r=A+232|0;a[r>>2]=(a[r>>2]|0)-e;r=0;while(1){i=a[(a[A+272>>2]|0)+(r<<2)>>2]|0;if(!i){r=0;break}if((i|0)!=(a[A+280>>2]|0)){kV(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,e);A=a[f>>2]|0}r=r+1|0}while(1){i=a[(a[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(a[A+280>>2]|0)){kV(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,e);A=a[f>>2]|0}r=r+1|0}return}function oV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;n=(r|0)==0&1;l=0-i|0;f=a[(a[e+16>>2]|0)+288>>2]|0;e=A;while(1){A=a[e+16>>2]|0;if((a[A+284>>2]|0)<=(f|0)?(f|0)<=(a[A+288>>2]|0):0)break;A=a[A+280>>2]|0;t=A+48|0;c=(a[A+16>>2]|0)+160|0;a[c>>2]=(((e|0)==(a[((a[A>>2]&3|0)==3?A:t)+40>>2]|0)?r:n)|0?i:l)+(a[c>>2]|0);c=a[A>>2]&3;t=a[((c|0)==3?A:t)+40>>2]|0;A=a[((c|0)==2?A:A+-48|0)+40>>2]|0;e=(a[(a[t+16>>2]|0)+288>>2]|0)>(a[(a[A+16>>2]|0)+288>>2]|0)?t:A}return e|0}function hV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;t=A+16|0;r=(a[t>>2]|0)+164|0;a[(a[e+16>>2]|0)+164>>2]=a[r>>2];a[(a[47256]|0)+(a[r>>2]<<2)>>2]=e;a[(a[t>>2]|0)+164>>2]=-1;t=(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;r=a[t>>2]|0;n=r+276|0;f=a[n>>2]|0;c=f+-1|0;a[n>>2]=c;n=r+272|0;l=0;while(1){if((l|0)>=(f|0)){b=3;break}i=a[n>>2]|0;if((a[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((b|0)==3)i=a[r+272>>2]|0;a[i+(l<<2)>>2]=a[i+(c<<2)>>2];a[(a[(a[t>>2]|0)+272>>2]|0)+(c<<2)>>2]=0;t=(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16|0;r=a[t>>2]|0;n=r+268|0;f=a[n>>2]|0;c=f+-1|0;a[n>>2]=c;n=r+264|0;l=0;while(1){if((l|0)>=(f|0)){b=8;break}i=a[n>>2]|0;if((a[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((b|0)==8)i=a[r+264>>2]|0;a[i+(l<<2)>>2]=a[i+(c<<2)>>2];a[(a[(a[t>>2]|0)+264>>2]|0)+(c<<2)>>2]=0;b=(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16|0;A=a[b>>2]|0;c=a[A+272>>2]|0;A=A+276|0;t=a[A>>2]|0;a[A>>2]=t+1;a[c+(t<<2)>>2]=e;b=a[b>>2]|0;a[(a[b+272>>2]|0)+(a[b+276>>2]<<2)>>2]=0;b=(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16|0;t=a[b>>2]|0;c=a[t+264>>2]|0;t=t+268|0;A=a[t>>2]|0;a[t>>2]=A+1;a[c+(A<<2)>>2]=e;b=a[b>>2]|0;a[(a[b+264>>2]|0)+(a[b+268>>2]<<2)>>2]=0;return}function dV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=A+16|0;A=a[n>>2]|0;a[A+280>>2]=e;a[A+284>>2]=i;f=0;while(1){r=a[(a[A+272>>2]|0)+(f<<2)>>2]|0;if(!r){f=0;break}if((r|0)!=(e|0)){i=dV(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r,i)|0;A=a[n>>2]|0}f=f+1|0}while(1){r=a[(a[A+264>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)!=(e|0)){i=dV(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,r,i)|0;A=a[n>>2]|0}f=f+1|0}a[A+288>>2]=i;return i+1|0}function BV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0,c=0;t=A+16|0;f=0;while(1){A=a[t>>2]|0;i=a[(a[A+180>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=a[i+16>>2]|0;if((a[r+164>>2]|0)<0){A=a[i>>2]&3;e=a[(a[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0;c=a[e+288>>2]|0;if((a[47259]|0)>(c|0)|(c|0)>(a[47260]|0)?(n=(a[e+232>>2]|0)-(a[(a[(a[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[r+170>>1]|0)|0,(n|0)<(a[47258]|0)|(a[47257]|0)==0):0){a[47257]=i;a[47258]=n}}else{e=a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0))BV(e)}f=f+1|0}while(1){e=a[(a[A+264>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(a[47258]|0)>0))break;e=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0)){BV(e);A=a[t>>2]|0}i=i+1|0}return}function vV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0,c=0;t=A+16|0;f=0;while(1){A=a[t>>2]|0;i=a[(a[A+172>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=a[i+16>>2]|0;if((a[r+164>>2]|0)<0){A=a[i>>2]&3;e=a[(a[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0;c=a[e+288>>2]|0;if((a[47259]|0)>(c|0)|(c|0)>(a[47260]|0)?(n=(a[(a[(a[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[e+232>>2]|0)-(l[r+170>>1]|0)|0,(n|0)<(a[47258]|0)|(a[47257]|0)==0):0){a[47257]=i;a[47258]=n}}else{e=a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0))vV(e)}f=f+1|0}while(1){e=a[(a[A+272>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(a[47258]|0)>0))break;e=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0)){vV(e);A=a[t>>2]|0}i=i+1|0}return}function gV(A){A=A|0;var e=0;e=qF(16)|0;a[e>>2]=A;a[e+4>>2]=VV(A,e)|0;a[e+12>>2]=e;return e|0}function EV(A,e){A=A|0;e=e|0;var i=0,r=0;r=qF(8)|0;a[r>>2]=A;a[r+4>>2]=e;i=0;while(1){if((i|0)>=(e|0))break;a[(a[A+(i<<2)>>2]|0)+8>>2]=i;i=i+1|0}i=(e|0)/2|0;while(1){if((i|0)<=-1)break;QV(r,i);i=i+-1|0}return r|0}function CV(A){A=A|0;return a[A+4>>2]|0}function IV(A){A=A|0;var e=0,i=0,r=0,f=0;f=a[A>>2]|0;e=a[f>>2]|0;a[e+8>>2]=-1;i=A+4|0;r=(a[i>>2]|0)+-1|0;a[f>>2]=a[f+(r<<2)>>2];f=a[A>>2]|0;a[(a[f>>2]|0)+8>>2]=0;a[f+(r<<2)>>2]=e;a[i>>2]=r;QV(A,0);return e|0}function ZV(A){A=A|0;return FV(a[A>>2]|0,0,0)|0}function GV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0;e=A+16|0;if((a[(a[e>>2]|0)+164>>2]|0)>-1)vA(102350,102331,463,102364);f=A+48|0;i=zV(a[((a[A>>2]&3|0)==3?A:f)+40>>2]|0)|0;t=A+-48|0;r=zV(a[((a[A>>2]&3|0)==2?A:t)+40>>2]|0)|0;n=a[A>>2]&3;e=(a[(a[(a[((n|0)==2?A:t)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((n|0)==3?A:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[e>>2]|0)+170>>1]|0)|0;if((a[i+8>>2]|0)==-1)YV(a[i>>2]|0,0,e);else YV(a[r>>2]|0,0,0-e|0);DV(A);return MV(i,r)|0}function QV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]|0;n=a[A+4>>2]|0;while(1){A=e<<1;f=A+2|0;A=A|1;if(!((A|0)<(n|0)?(a[(a[l+(A<<2)>>2]|0)+4>>2]|0)<(a[(a[l+(e<<2)>>2]|0)+4>>2]|0):0))A=e;if((f|0)>=(n|0))break;i=l+(f<<2)|0;r=a[i>>2]|0;if((f|0)==(e|0)?1:(a[r+4>>2]|0)>=(a[(a[l+(A<<2)>>2]|0)+4>>2]|0))break;t=l+(e<<2)|0;A=a[t>>2]|0;a[t>>2]=r;a[i>>2]=A;a[(a[t>>2]|0)+8>>2]=e;a[A+8>>2]=f;e=f}return}function mV(){dV(a[(a[(a[47254]|0)+16>>2]|0)+192>>2]|0,0,1)|0;LV(a[(a[(a[47254]|0)+16>>2]|0)+192>>2]|0,0);return}function LV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;i=0;while(1){A=a[f>>2]|0;r=a[(a[A+272>>2]|0)+(i<<2)>>2]|0;if(!r){r=0;break}if((r|0)!=(e|0))LV(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r);i=i+1|0}while(1){i=a[(a[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(e|0)){LV(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,i);A=a[f>>2]|0}r=r+1|0}if(e|0)WV(e);return}function WV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;e=a[A>>2]&3;i=a[((e|0)==3?A:A+48|0)+40>>2]|0;r=a[i+16>>2]|0;if((a[r+280>>2]|0)==(A|0))t=1;else{r=a[((e|0)==2?A:A+-48|0)+40>>2]|0;t=-1;i=r;r=a[r+16>>2]|0}n=a[r+180>>2]|0;e=0;f=0;while(1){l=a[n+(f<<2)>>2]|0;if(!l)break;e=(yV(l,i,t)|0)+e|0;f=f+1|0}n=a[r+172>>2]|0;r=0;while(1){f=a[n+(r<<2)>>2]|0;if(!f)break;e=(yV(f,i,t)|0)+e|0;r=r+1|0}a[(a[A+16>>2]|0)+160>>2]=e;return}function yV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=(l|0)==3?A:A+48|0;r=a[t+40>>2]|0;if((r|0)==(e|0))r=a[((l|0)==2?A:A+-48|0)+40>>2]|0;n=a[e+16>>2]|0;f=a[(a[r+16>>2]|0)+288>>2]|0;if((a[n+284>>2]|0)<=(f|0)?(f|0)<=(a[n+288>>2]|0):0){f=a[A+16>>2]|0;if((a[f+164>>2]|0)>-1)r=a[f+160>>2]|0;else r=0;n=1;r=r-(a[f+156>>2]|0)|0}else{n=0;r=a[(a[A+16>>2]|0)+156>>2]|0}t=(a[((i|0)>0?(l|0)==2?A:A+-48|0:t)+40>>2]|0)==(e|0)?1:-1;return(((n?t:0-t|0)|0)<0?0-r|0:r)|0}function zV(A){A=A|0;var e=0,i=0;A=a[(a[A+16>>2]|0)+280>>2]|0;while(1){e=A+12|0;i=a[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=a[i+12>>2]|0;if(!A){A=i;continue}a[e>>2]=A}return A|0}function YV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=A+16|0;r=a[l>>2]|0;n=r+232|0;a[n>>2]=(a[n>>2]|0)+i;n=0;while(1){f=a[(a[r+264>>2]|0)+(n<<2)>>2]|0;if(!f){n=0;break}f=a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(e|0)){YV(f,A,i);r=a[l>>2]|0}n=n+1|0}while(1){f=a[(a[r+272>>2]|0)+(n<<2)>>2]|0;if(!f)break;f=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(e|0)){YV(f,A,i);r=a[l>>2]|0}n=n+1|0}return}function DV(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;e=(a[A+16>>2]|0)+164|0;if((a[e>>2]|0)>-1){ao(1,102453,l)|0;fe(188848,1)}n=a[47255]|0;a[e>>2]=n;e=a[47256]|0;a[47255]=n+1;a[e+(n<<2)>>2]=A;e=a[A>>2]|0;n=A+48|0;i=a[((e&3|0)==3?A:n)+40>>2]|0;if(!(r[(a[i+16>>2]|0)+157>>0]|0)){f=a[47262]|0;e=a[47263]|0;a[47263]=e+1;a[f+(e<<2)>>2]=i;e=a[A>>2]|0}f=A+-48|0;i=a[((e&3|0)==2?A:f)+40>>2]|0;if(!(r[(a[i+16>>2]|0)+157>>0]|0)){t=a[47262]|0;e=a[47263]|0;a[47263]=e+1;a[t+(e<<2)>>2]=i;e=a[A>>2]|0}t=(a[((e&3|0)==3?A:n)+40>>2]|0)+16|0;e=a[t>>2]|0;r[e+157>>0]=1;i=a[e+272>>2]|0;e=e+276|0;n=a[e>>2]|0;a[e>>2]=n+1;a[i+(n<<2)>>2]=A;n=a[t>>2]|0;a[(a[n+272>>2]|0)+(a[n+276>>2]<<2)>>2]=0;t=a[t>>2]|0;if(!(a[(a[t+180>>2]|0)+((a[t+276>>2]|0)+-1<<2)>>2]|0)){ao(1,102487,l+8|0)|0;fe(188848,1)}t=(a[((a[A>>2]&3|0)==2?A:f)+40>>2]|0)+16|0;i=a[t>>2]|0;r[i+157>>0]=1;f=a[i+264>>2]|0;i=i+268|0;n=a[i>>2]|0;a[i>>2]=n+1;a[f+(n<<2)>>2]=A;A=a[t>>2]|0;a[(a[A+264>>2]|0)+(a[A+268>>2]<<2)>>2]=0;t=a[t>>2]|0;if(!(a[(a[t+172>>2]|0)+((a[t+268>>2]|0)+-1<<2)>>2]|0)){ao(1,102522,l+16|0)|0;fe(188848,1)}else{k=l;return}}function MV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;while(1){n=A+12|0;i=a[n>>2]|0;if((i|0)==0|(i|0)==(A|0))break;else A=i}while(1){f=e+12|0;i=a[f>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else e=i}if((A|0)!=(e|0)){r=a[A+8>>2]|0;i=a[e+8>>2]|0;do{if((r|0)>-1)if((i|0)==-1)l=A;else c=10;else if((i|0)>-1)if((r|0)==-1){l=e;break}else{c=10;break}else vA(102376,102331,327,102423)}while(0);if((c|0)==10)l=(a[e+4>>2]|0)<(a[A+4>>2]|0)?A:e;a[f>>2]=l;a[n>>2]=l;a[l+4>>2]=(a[e+4>>2]|0)+(a[A+4>>2]|0);if((a[l+8>>2]|0)>-1)t=l;else vA(102434,102331,335,102423)}else t=A;return t|0}function FV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0;s=zV(A)|0;if(i){b=a[i>>2]&3;if(((a[(a[(a[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(l[(a[i+16>>2]|0)+170>>1]|0|0))r=3}else{i=0;r=3}A:do{if((r|0)==3){b=A+16|0;c=0;while(1){r=a[b>>2]|0;t=a[(a[r+180>>2]|0)+(c<<2)>>2]|0;if(!t){c=0;break}r=t+16|0;f=t+-48|0;n=a[((a[t>>2]&3|0)==2?t:f)+40>>2]|0;do{if((a[(a[r>>2]|0)+164>>2]|0)>-1){if((n|0)!=(e|0))i=FV(n,A,i)|0}else if((zV(n)|0)!=(s|0)){if(i|0?(w=a[t>>2]&3,n=a[i>>2]&3,((a[(a[(a[((w|0)==2?t:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((w|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[r>>2]|0)+170>>1]|0)|0)>=((a[(a[(a[((n|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((n|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=t}}while(0);c=c+1|0}while(1){r=a[(a[r+172>>2]|0)+(c<<2)>>2]|0;if(!r)break A;f=r+16|0;n=r+48|0;t=a[((a[r>>2]&3|0)==3?r:n)+40>>2]|0;do{if((a[(a[f>>2]|0)+164>>2]|0)>-1){if((t|0)!=(e|0))i=FV(t,A,i)|0}else if((zV(t)|0)!=(s|0)){if(i|0?(t=a[r>>2]&3,w=a[i>>2]&3,((a[(a[(a[((t|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((t|0)==3?r:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[f>>2]|0)+170>>1]|0)|0)>=((a[(a[(a[((w|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((w|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=r}}while(0);c=c+1|0;r=a[b>>2]|0}}}while(0);return i|0}function VV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;s=A+16|0;i=a[s>>2]|0;a[i+280>>2]=e;A=1;n=0;while(1){f=a[(a[i+172>>2]|0)+(n<<2)>>2]|0;if(!f){n=0;break}r=a[f+16>>2]|0;if(((a[r+164>>2]|0)<=-1?(t=a[f>>2]&3,c=f+48|0,b=a[(a[((t|0)==3?f:c)+40>>2]|0)+16>>2]|0,(a[b+280>>2]|0)==0):0)?((a[(a[(a[((t|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[b+232>>2]|0)|0)==(l[r+170>>1]|0|0):0){DV(f);A=(VV(a[((a[f>>2]&3|0)==3?f:c)+40>>2]|0,e)|0)+A|0;i=a[s>>2]|0}n=n+1|0}while(1){r=a[(a[i+180>>2]|0)+(n<<2)>>2]|0;if(!r)break;f=a[r+16>>2]|0;if(((a[f+164>>2]|0)<=-1?(w=a[r>>2]&3,u=r+-48|0,k=a[(a[((w|0)==2?r:u)+40>>2]|0)+16>>2]|0,(a[k+280>>2]|0)==0):0)?((a[k+232>>2]|0)-(a[(a[(a[((w|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(l[f+170>>1]|0|0):0){DV(r);A=(VV(a[((a[r>>2]&3|0)==2?r:u)+40>>2]|0,e)|0)+A|0;i=a[s>>2]|0}n=n+1|0}return A|0}function JV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,102586)|0;if(!r)r=30;else r=q3(r)|0;return iV(A,e,i,r)|0}function NV(A){A=+A;return+(0==0?A:+b[23301]-A)}function XV(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0;d=k;k=k+16|0;h=d;a[47264]=a[(a[(a[e+64>>2]|0)+8>>2]|0)+4>>2];RV(e);l=a[e+16>>2]|0;v=+b[l+32>>3];B=+b[l+40>>3];HV(i,102597,+b[A+352>>3]);HV(i,102604,v*.013888888888888888);HV(i,102604,B*.013888888888888888);pV(i);l=cd(e)|0;while(1){if(!l)break;n=l+16|0;if(!(r[(a[n>>2]|0)+118>>0]|0)){UV(i,102606,$B(Vh(l)|0)|0);o=(a[n>>2]|0)+16|0;a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];xV(i,h);if(!(r[(a[(a[n>>2]|0)+104>>2]|0)+82>>0]|0)){A=Id(l)|0;A=TV(A,a[a[(a[n>>2]|0)+104>>2]>>2]|0)|0}else A=$B(Uo(l,a[47154]|0)|0)|0;HV(i,102604,+b[(a[n>>2]|0)+32>>3]);HV(i,102604,+b[(a[n>>2]|0)+40>>3]);UV(i,102604,A);UV(i,102604,BR(l,a[47157]|0,111067)|0);UV(i,102604,a[a[(a[n>>2]|0)+8>>2]>>2]|0);UV(i,102604,BR(l,a[47148]|0,137314)|0);A=BR(l,a[47149]|0,195059)|0;if(!(r[A>>0]|0))A=BR(l,a[47148]|0,134800)|0;UV(i,102604,A);pV(i)}l=bd(e,l)|0}u=f<<24>>24==0;w=cd(e)|0;while(1){if(!w)break;s=Oo(e,w)|0;while(1){if(!s)break;if(u){f=195059;t=195059}else{t=po(s,111455)|0;f=po(s,111464)|0;f=f|0?f:195059;t=t|0?t:195059}o=s+16|0;A=a[o>>2]|0;c=a[A+8>>2]|0;A:do{if(c){l=a[c+4>>2]|0;A=0;n=0;while(1){if((A|0)>=(l|0))break;g=(a[(a[c>>2]|0)+(A*48|0)+4>>2]|0)+n|0;A=A+1|0;n=g}UV(i,0,111450);jV(i,a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0,t);jV(i,a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0,f);SV(i,n);f=0;while(1){A=a[o>>2]|0;n=a[A+8>>2]|0;if((f|0)>=(a[n+4>>2]|0))break A;l=a[n>>2]|0;n=a[l+(f*48|0)>>2]|0;l=a[l+(f*48|0)+4>>2]|0;A=0;while(1){if((A|0)>=(l|0))break;g=n+(A<<4)|0;a[h>>2]=a[g>>2];a[h+4>>2]=a[g+4>>2];a[h+8>>2]=a[g+8>>2];a[h+12>>2]=a[g+12>>2];xV(i,h);A=A+1|0}f=f+1|0}}}while(0);if(a[A+96>>2]|0){g=Id(a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;UV(i,102604,TV(g,a[a[(a[o>>2]|0)+96>>2]>>2]|0)|0);g=(a[(a[o>>2]|0)+96>>2]|0)+56|0;a[h>>2]=a[g>>2];a[h+4>>2]=a[g+4>>2];a[h+8>>2]=a[g+8>>2];a[h+12>>2]=a[g+12>>2];xV(i,h)}UV(i,102604,BR(s,a[47185]|0,111067)|0);UV(i,102604,BR(s,a[47176]|0,137314)|0);pV(i);s=_o(e,s)|0}w=bd(e,w)|0}PV(102612,i);k=d;return}function RV(A){A=A|0;var e=0.0;if(0){A=a[A+16>>2]|0;e=+b[A+24>>3]+ +b[A+40>>3];b[23301]=e;b[23302]=e*.013888888888888888}return}function HV(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,a=0;a=k;k=k+1040|0;f=a;r=a+8|0;if(e|0)PV(e,A);b[f>>3]=i;P4(r,102618,f)|0;PV(r,A);k=a;return}function pV(A){A=A|0;r[194955]=10;m5[a[47264]&127](A,194955)|0;return}function UV(A,e,i){A=A|0;e=e|0;i=i|0;if(e|0)PV(e,A);PV(i,A);return}function xV(A,e){A=A|0;e=e|0;var i=0.0;HV(A,102604,+b[e>>3]*.013888888888888888);if(!0)i=+b[e+8>>3];else i=+b[23301]-+b[e+8>>3];HV(A,102604,i*.013888888888888888);return}function TV(A,e){A=A|0;e=e|0;var i=0;i=aB(A,e)|0;e=$B(i)|0;lB(A,i)|0;return e|0}function jV(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!(r[(a[e+16>>2]|0)+118>>0]|0))e=$B(Vh(e)|0)|0;else{f=Id(e)|0;e=TV(f,(G1(Vh(e)|0,58)|0)+1|0)|0}UV(A,102604,e);if(i|0?r[i>>0]|0:0)UV(A,107984,$B(i)|0);return}function SV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+1040|0;f=i;r=i+8|0;PV(102604,A);a[f>>2]=e;P4(r,137395,f)|0;PV(r,A);k=i;return}function PV(A,e){A=A|0;e=e|0;m5[a[47264]&127](e,A)|0;return}function OV(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,s=0.0,w=0,u=0.0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0;K=k;k=k+2288|0;P=K+208|0;S=K+192|0;j=K+176|0;T=K+160|0;x=K+144|0;U=K+128|0;H=K+112|0;R=K+96|0;X=K+80|0;N=K+64|0;J=K+56|0;V=K+48|0;O=K+32|0;p=K+24|0;F=K;y=K+1264|0;z=K+224|0;Y=A+16|0;L=(l[(a[Y>>2]|0)+178>>1]|0)>2;nF(1);RV(A);co(z,1024,K+240|0);oH(A,1,102623,195059)|0;oH(A,1,102627,195059)|0;a[47146]=oH(A,1,141116,195059)|0;a[47145]=oH(A,1,141048,195059)|0;oH(A,2,102623,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0;if(n&16){oH(A,1,102633,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&1){oH(A,2,102637,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&32){oH(A,2,102633,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&2){oH(A,2,102640,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&4){oH(A,2,102648,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(!(n&8)){E=0;C=0;I=0}else{I=oH(A,0,102637,195059)|0;C=oH(A,0,102656,195059)|0;E=oH(A,0,102663,195059)|0}G=oH(A,0,102671,195059)|0;Q=z+4|0;m=z+8|0;g=0;n=0;Z=cd(A)|0;while(1){if(!Z)break;v=Z+16|0;c=a[v>>2]|0;u=+b[c+16>>3];t=0==0;if(L){if(t)s=+b[c+24>>3];else s=+b[23301]-+b[c+24>>3];h=+b[(a[c+132>>2]|0)+16>>3]*72.0;b[F>>3]=u;b[F+8>>3]=s;b[F+16>>3]=h;P4(y,102674,F)|0;wo(z,y)|0;t=3;while(1){if((t|0)>=(l[(a[Y>>2]|0)+178>>1]|0))break;b[p>>3]=+b[(a[(a[v>>2]|0)+132>>2]|0)+(t<<3)>>3]*72.0;P4(y,102689,p)|0;wo(z,y)|0;t=t+1|0}t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;B=a[z>>2]|0;a[Q>>2]=B;xo(Z,102623,B)|0;B=Z}else{if(t)s=+b[c+24>>3];else s=+b[23301]-+b[c+24>>3];b[O>>3]=u;b[O+8>>3]=s;P4(y,102695,O)|0;xo(Z,102623,y)|0;B=Z}b[V>>3]=+b[(a[v>>2]|0)+80>>3]*.013888888888888888;P4(y,102618,V)|0;Vo(B,a[47145]|0,y)|0;t=a[v>>2]|0;b[J>>3]=(+b[t+96>>3]+ +b[t+88>>3])*.013888888888888888;P4(y,102618,J)|0;Vo(B,a[47146]|0,y)|0;t=a[v>>2]|0;c=a[t+108>>2]|0;if((c|0)!=0?(r[c+81>>0]|0)!=0:0){h=+b[c+64>>3];h=0==0?h:+b[23301]-h;b[N>>3]=+b[c+56>>3];b[N+8>>3]=h;P4(y,102695,N)|0;xo(B,102633,y)|0;t=a[v>>2]|0}if(A1(a[a[t+8>>2]>>2]|0,106220)|0){if(a[47170]|0?(ZN(Z)|0)<<24>>24:0){c=a[(a[v>>2]|0)+12>>2]|0;d=c+8|0;t=a[d>>2]|0;if((t|0)<3){t=po(B,102705)|0;if(!t)t=8;else t=q3(t)|0;t=(t|0)<3?8:t}o=c+44|0;h=1.0/+(t|0);w=0;while(1){if((w|0)>=(t|0))break;if((w|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=32}if((a[d>>2]|0)>2){c=a[o>>2]|0;if(!0)s=+b[c+(w<<4)+8>>3]*.013888888888888888;else s=+b[23302]-+b[c+(w<<4)+8>>3]*.013888888888888888;b[X>>3]=+b[c+(w<<4)>>3]*.013888888888888888;b[X+8>>3]=s;P4(y,102718,X)|0}else{c=a[v>>2]|0;s=h*+(w|0)*6.283185307179586;u=+b[c+32>>3]*.5*+D(+s);if(!0)s=+b[c+40>>3]*.5*+M(+s);else s=+b[23302]-+b[c+40>>3]*.5*+M(+s);b[R>>3]=u;b[R+8>>3]=s;P4(y,102718,R)|0}wo(z,y)|0;w=w+1|0}c=a[47170]|0;t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;v=a[z>>2]|0;a[Q>>2]=v;Vo(B,c,v)|0}}else{KV(Z,a[t+12>>2]|0,z);ko(z)|0;t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;v=a[z>>2]|0;a[Q>>2]=v;xo(B,102627,v)|0}A:do{if((a[47138]|0)>0){v=Oo(A,Z)|0;t=g;while(1){if(!v)break A;B=v+16|0;c=a[B>>2]|0;do{if((r[c+112>>0]|0)!=6?(W=a[c+8>>2]|0,(W|0)!=0):0){d=0;c=W;while(1){if((d|0)>=(a[c+4>>2]|0))break;if((d|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=59;c=a[(a[B>>2]|0)+8>>2]|0}c=a[c>>2]|0;if(a[c+(d*48|0)+8>>2]|0){if(!0)s=+b[c+(d*48|0)+24>>3];else s=+b[23301]-+b[c+(d*48|0)+24>>3];b[H>>3]=+b[c+(d*48|0)+16>>3];b[H+8>>3]=s;P4(y,102728,H)|0;wo(z,y)|0;n=1;c=a[a[(a[B>>2]|0)+8>>2]>>2]|0}if(a[c+(d*48|0)+12>>2]|0){if(!0)s=+b[c+(d*48|0)+40>>3];else s=+b[23301]-+b[c+(d*48|0)+40>>3];b[U>>3]=+b[c+(d*48|0)+32>>3];b[U+8>>3]=s;P4(y,102741,U)|0;wo(z,y)|0;t=1}o=0;while(1){c=a[(a[B>>2]|0)+8>>2]|0;w=a[c>>2]|0;if((o|0)>=(a[w+(d*48|0)+4>>2]|0))break;if((o|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=32;c=a[a[(a[B>>2]|0)+8>>2]>>2]|0}else c=w;g=a[c+(d*48|0)>>2]|0;h=+b[g+(o<<4)+8>>3];h=0==0?h:+b[23301]-h;b[x>>3]=+b[g+(o<<4)>>3];b[x+8>>3]=h;P4(y,102695,x)|0;wo(z,y)|0;o=o+1|0}d=d+1|0}c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}r[c>>0]=0;c=a[z>>2]|0;a[Q>>2]=c;xo(v,102623,c)|0;c=a[B>>2]|0;w=a[c+96>>2]|0;if(w){h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[T>>3]=+b[w+56>>3];b[T+8>>3]=h;P4(y,102695,T)|0;xo(v,102637,y)|0;c=a[B>>2]|0}w=a[c+108>>2]|0;do{if(w){if(!(r[w+81>>0]|0))break;h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[j>>3]=+b[w+56>>3];b[j+8>>3]=h;P4(y,102695,j)|0;xo(v,102633,y)|0;c=a[B>>2]|0}}while(0);w=a[c+100>>2]|0;if(w){h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[S>>3]=+b[w+56>>3];b[S+8>>3]=h;P4(y,102695,S)|0;xo(v,102640,y)|0;c=a[B>>2]|0}c=a[c+104>>2]|0;if(!c)break;h=+b[c+64>>3];h=0==0?h:+b[23301]-h;b[P>>3]=+b[c+56>>3];b[P+8>>3]=h;P4(y,102695,P)|0;xo(v,102648,y)|0}}while(0);v=_o(A,v)|0}}else t=g}while(0);g=t;Z=bd(A,Z)|0}_V(A,G,I,C,E);uo(z);if(f[(a[Y>>2]|0)+136>>1]&1)cH(A);a[e>>2]=n;a[i>>2]=g;nF(0);k=K;return}function KV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0;w=k;k=k+1056|0;c=w;t=w+32|0;s=e+48|0;if(!(a[s>>2]|0)){r=a[A+16>>2]|0;l=+b[r+16>>3];if(!0){n=+b[r+24>>3];f=n+ +b[e+24>>3];n=n+ +b[e+40>>3]}else{n=+b[r+24>>3];f=+b[23301]-+b[e+24>>3]-n;n=+b[23301]-+b[e+40>>3]-n}u=l+ +b[e+32>>3];b[c>>3]=l+ +b[e+16>>3];b[c+8>>3]=f;b[c+16>>3]=u;b[c+24>>3]=n;P4(t,102779,c)|0;wo(i,t)|0}e=e+56|0;r=0;while(1){if((r|0)>=(a[s>>2]|0))break;KV(A,a[(a[e>>2]|0)+(r<<2)>>2]|0,i);r=r+1|0}k=w;return}function _V(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0;B=k;k=k+1088|0;u=B+56|0;h=B+48|0;o=B+32|0;t=B;w=B+64|0;d=A+16|0;l=a[d>>2]|0;if(!0){c=+b[l+24>>3];s=+b[l+40>>3]}else{s=+b[23301];c=s-+b[l+24>>3];s=s-+b[l+40>>3]}v=+b[l+32>>3];b[t>>3]=+b[l+16>>3];b[t+8>>3]=c;b[t+16>>3]=v;b[t+24>>3]=s;P4(w,102754,t)|0;Vo(A,e,w)|0;l=a[(a[d>>2]|0)+12>>2]|0;if((l|0)!=0?(r[a[l>>2]>>0]|0)!=0:0){v=+b[l+64>>3];v=0==0?v:+b[23301]-v;b[o>>3]=+b[l+56>>3];b[o+8>>3]=v;P4(w,102695,o)|0;Vo(A,i,w)|0;l=a[(a[d>>2]|0)+12>>2]|0;v=+b[l+32>>3];b[h>>3]=+b[l+24>>3]*.013888888888888888;P4(w,102774,h)|0;Vo(A,f,w)|0;b[u>>3]=v*.013888888888888888;P4(w,102774,u)|0;Vo(A,n,w)|0;l=1}else l=1;while(1){t=a[d>>2]|0;if((l|0)>(a[t+180>>2]|0))break;_V(a[(a[t+184>>2]|0)+(l<<2)>>2]|0,e,i,f,n);l=l+1|0}k=B;return}function qV(A){A=A|0;var e=0;e=k;k=k+16|0;OV(A,e,e+4|0);k=e;return}function $V(){return jk(20740,a[4581]|0)|0}function AJ(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function eJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if((A|0)<=(r|0))if((A|0)<(r|0))A=-1;else{e=a[e+4>>2]|0;i=a[i+4>>2]|0;return((e|0)>(i|0)?1:((e|0)<(i|0))<<31>>31)|0}else A=1;return A|0}function iJ(A){A=A|0;pk(A)|0;return}function rJ(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];e=fJ(r)|0;if((W5[a[A>>2]&63](A,e,1)|0)!=(e|0))L2(e);k=i;return}function fJ(A){A=A|0;var e=0,i=0,r=0;e=qF(16)|0;r=A;i=a[r+4>>2]|0;A=e+8|0;a[A>>2]=a[r>>2];a[A+4>>2]=i;return e|0}function aJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r+8|0;n=r;a[n>>2]=e;a[n+4>>2]=i;a[f>>2]=a[n>>2];a[f+4>>2]=a[n+4>>2];e=fJ(f)|0;if((W5[a[A>>2]&63](A,e,1)|0)!=(e|0))L2(e);k=r;return}function nJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+16|0;r=i;n=e;f=a[n+4>>2]|0;e=r+8|0;a[e>>2]=a[n>>2];a[e+4>>2]=f;e=(W5[a[A>>2]&63](A,r,4)|0)!=0&1;k=i;return e|0}function lJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f+8>>2]=e;a[f+12>>2]=i;i=(W5[a[A>>2]&63](A,f,4)|0)!=0&1;k=r;return i|0}function tJ(A){A=A|0;return Pk(A)|0}function cJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=qF((Pk(A)|0)<<3)|0;e=i;A=xk(A)|0;while(1){if(!A)break;n=A+8|0;f=a[n+4>>2]|0;r=e;a[r>>2]=a[n>>2];a[r+4>>2]=f;e=e+8|0;A=a[A>>2]|0}return i|0}function bJ(){var A=0,e=0,i=0,r=0;A=$F(40)|0;e=A;i=20776;r=e+36|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));a[A+36>>2]=0;return jk(A,a[4581]|0)|0}function sJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;i=i+36|0;A=a[i>>2]|0;if(!A)A=$F(20)|0;else a[i>>2]=a[A>>2];f=e+8|0;r=a[f+4>>2]|0;i=A+8|0;a[i>>2]=a[f>>2];a[i+4>>2]=r;a[A+16>>2]=a[e+16>>2];return A|0}function wJ(A,e,i){A=A|0;e=e|0;i=i|0;i=i+36|0;a[e>>2]=a[i>>2];a[i>>2]=e;return}function uJ(A){A=A|0;W5[a[A>>2]&63](A,0,64)|0;return}function kJ(A){A=A|0;var e=0,i=0;e=a[A+4>>2]|0;pk(A)|0;A=a[e+36>>2]|0;while(1){if(!A)break;i=a[A>>2]|0;L2(A);A=i}L2(e);return}function oJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=k;k=k+32|0;n=f;a[n+8>>2]=e;a[n+12>>2]=i;a[n+16>>2]=r;r=a[(W5[a[A>>2]&63](A,n,1)|0)+16>>2]|0;k=f;return r|0}function hJ(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+160|0;h=v+144|0;i=v+48|0;t=v+128|0;c=v+112|0;s=v+96|0;w=v+80|0;u=v+32|0;o=v+16|0;d=v;B=A+16|0;A=a[B>>2]|0;r=+b[A+16>>3];f=+b[A+24>>3];n=+b[A+32>>3];l=+b[A+40>>3];if((e+-1|0)>>>0<2){dJ(t,r,l);a[h>>2]=a[t>>2];a[h+4>>2]=a[t+4>>2];a[h+8>>2]=a[t+8>>2];a[h+12>>2]=a[t+12>>2];BJ(i,h);o=i+16|0;dJ(c,n,f);a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];BJ(s,h);a[o>>2]=a[s>>2];a[o+4>>2]=a[s+4>>2];a[o+8>>2]=a[s+8>>2];a[o+12>>2]=a[s+12>>2]}else{dJ(w,r,f);a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];BJ(i,h);w=i+16|0;dJ(u,n,l);a[h>>2]=a[u>>2];a[h+4>>2]=a[u+4>>2];a[h+8>>2]=a[u+8>>2];a[h+12>>2]=a[u+12>>2];BJ(o,h);a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2]}A=(a[B>>2]|0)+16|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];a[A+16>>2]=a[i+16>>2];a[A+20>>2]=a[i+20>>2];a[A+24>>2]=a[i+24>>2];a[A+28>>2]=a[i+28>>2];A=a[(a[B>>2]|0)+12>>2]|0;if(!A)A=1;else{A=A+56|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];BJ(d,h);a[A>>2]=a[d>>2];a[A+4>>2]=a[d+4>>2];a[A+8>>2]=a[d+8>>2];a[A+12>>2]=a[d+12>>2];A=1}while(1){i=a[B>>2]|0;if((A|0)>(a[i+180>>2]|0))break;hJ(a[(a[i+184>>2]|0)+(A<<2)>>2]|0,e);A=A+1|0}k=v;return}function dJ(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function BJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+32|0;n=i+16|0;r=i;f=(a[47265]|0)*90|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];WF(r,n,f);a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];b[e>>3]=+b[e>>3]-+b[23303];r=e+8|0;b[r>>3]=+b[r>>3]-+b[23304];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];k=i;return}function vJ(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+1168|0;B=C+144|0;E=C+96|0;g=C+64|0;v=C+48|0;u=C+32|0;o=C+16|0;h=C;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;d=A+16|0;s=a[(a[d>>2]|0)+116>>2]|0;a[47265]=s&3;s=s&1;r[194957]=s;if(!(s<<24>>24))EJ(A);else gJ(A);CJ(A);s=a[d>>2]|0;i=a[s+12>>2]|0;do{if(i|0?(r[i+81>>0]|0)==0:0){n=i+24|0;a[v>>2]=a[n>>2];a[v+4>>2]=a[n+4>>2];a[v+8>>2]=a[n+8>>2];a[v+12>>2]=a[n+12>>2];w=+b[v>>3]+16.0;b[v>>3]=w;n=v+8|0;f=+b[n>>3]+8.0;b[n>>3]=f;n=(r[s+275>>0]&1)!=0;if(r[194957]|0){if(n){l=s+32|0;b[l>>3]=+b[l>>3]+f}else{l=s+16|0;b[l>>3]=+b[l>>3]-f}n=s+40|0;f=+b[n>>3];l=s+24|0;t=+b[l>>3];c=f-t;if(!(w>c))break;w=(w-c)*.5;b[l>>3]=t-w;b[n>>3]=f+w;break}l=(a[47265]|0)==0;do{if(n)if(l){l=s+40|0;b[l>>3]=+b[l>>3]+f;break}else{l=s+24|0;b[l>>3]=+b[l>>3]-f;break}else if(l){l=s+24|0;b[l>>3]=+b[l>>3]-f;break}else{l=s+40|0;b[l>>3]=+b[l>>3]+f;break}}while(0);n=s+32|0;f=+b[n>>3];l=s+16|0;t=+b[l>>3];c=f-t;if(w>c){w=(w-c)*.5;b[l>>3]=t-w;b[n>>3]=f+w}}}while(0);if(e){switch(a[47265]|0){case 0:{h=s+16|0;a[46606]=a[h>>2];a[46607]=a[h+4>>2];a[46608]=a[h+8>>2];a[46609]=a[h+12>>2];break}case 1:{dJ(u,-+b[s+40>>3],+b[s+16>>3]);a[46606]=a[u>>2];a[46607]=a[u+4>>2];a[46608]=a[u+8>>2];a[46609]=a[u+12>>2];break}case 2:{dJ(o,+b[s+16>>3],-+b[s+40>>3]);a[46606]=a[o>>2];a[46607]=a[o+4>>2];a[46608]=a[o+8>>2];a[46609]=a[o+12>>2];break}case 3:{dJ(h,+b[s+24>>3],+b[s+16>>3]);a[46606]=a[h>>2];a[46607]=a[h+4>>2];a[46608]=a[h+8>>2];a[46609]=a[h+12>>2];break}default:{}}IJ(A);i=a[(a[d>>2]|0)+12>>2]|0}if(i|0?(r[i+81>>0]|0)==0:0){a[B>>2]=a[v>>2];a[B+4>>2]=a[v+4>>2];a[B+8>>2]=a[v+8>>2];a[B+12>>2]=a[v+12>>2];ZJ(A,B)}if(!0){k=C;return}if(!(r[194957]|0)){w=+b[23304];c=+b[23303];b[E>>3]=w;b[E+8>>3]=c;b[E+16>>3]=w;b[E+24>>3]=c;b[E+32>>3]=-c;b[E+40>>3]=-w;P4(B,103015,E)|0}else{c=+b[23303];w=+b[23304];b[g>>3]=c;b[g+8>>3]=w;b[g+16>>3]=c;b[g+24>>3]=w;P4(B,102800,g)|0}s3(B)|0;re()}function gJ(A){A=A|0;var e=0,i=0.0,f=0.0,n=0,l=0,t=0;t=A+16|0;if(((Zd(A)|0)!=(A|0)?(n=a[t>>2]|0,l=a[n+12>>2]|0,(l|0)!=0):0)?(r[l+81>>0]|0)==0:0){e=r[n+275>>0]|0;if(!(e&1)){f=+b[n+16>>3]+ +b[n+96>>3]*.5;A=n+104|0}else{f=+b[n+32>>3]-+b[n+64>>3]*.5;A=n+72|0}i=+b[A>>3];A=e<<24>>24;do{if(!(A&4))if(!(A&2)){i=(+b[n+40>>3]+ +b[n+24>>3])*.5;break}else{i=+b[n+40>>3]-i*.5;break}else i=+b[n+24>>3]+i*.5}while(0);b[l+56>>3]=f;b[l+64>>3]=i;r[(a[(a[t>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=a[t>>2]|0;if((A|0)>(a[e+180>>2]|0))break;gJ(a[(a[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function EJ(A){A=A|0;var e=0,i=0.0,f=0.0,n=0.0,l=0,t=0,c=0;c=A+16|0;if(((Zd(A)|0)!=(A|0)?(l=a[c>>2]|0,t=a[l+12>>2]|0,(t|0)!=0):0)?(r[t+81>>0]|0)==0:0){e=r[l+275>>0]|0;if(!(e&1)){n=+b[l+24>>3]+ +b[l+56>>3]*.5;A=l+48|0}else{n=+b[l+40>>3]-+b[l+88>>3]*.5;A=l+80|0}f=+b[A>>3];A=e<<24>>24;do{if(!(A&4)){i=+b[l+16>>3];if(!(A&2)){i=(+b[l+32>>3]+i)*.5;break}else{i=i+f*.5;break}}else i=+b[l+32>>3]-f*.5}while(0);b[t+56>>3]=i;b[t+64>>3]=n;r[(a[(a[c>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=a[c>>2]|0;if((A|0)>(a[e+180>>2]|0))break;EJ(a[(a[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function CJ(A){A=A|0;var e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0;x=k;k=k+544|0;J=x+504|0;U=x+416|0;p=x+376|0;V=x+352|0;F=x+312|0;M=x+288|0;D=x+248|0;N=x+200|0;m=x+152|0;R=x+96|0;o=x+488|0;L=x+456|0;W=x+424|0;y=x+384|0;z=x+360|0;Y=x+320|0;C=x+296|0;I=x+256|0;Z=x+232|0;G=x+168|0;Q=x+136|0;e=x+56|0;X=x+16|0;H=x;u=A+16|0;g=a[u>>2]|0;i=f[g+136>>1]&14;g=n[g+113>>0]|0;if(!((g&54|0)==0?(g&1|0)==0|(a[47139]|0)!=0:0)){g=i<<16>>16==0;w=cd(A)|0;l=0;c=0;t=0;while(1){if(!w)break;i=a[(a[w+16>>2]|0)+108>>2]|0;do{if(i)if(!(r[i+81>>0]|0)){t=t+1|0;break}else{l=l+1|0;break}}while(0);s=Oo(A,w)|0;i=c;while(1){if(!s)break;b=a[s+16>>2]|0;c=a[b+108>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+100>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+104>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+96>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);s=_o(A,s)|0}w=bd(A,w)|0;c=i}if(!(r[(a[u>>2]|0)+113>>0]&8))u=0;else u=QJ(A)|0;v=c+t|0;if(v|0){h=l+c+u+(vh(A)|0)|0;d=qF(h*40|0)|0;B=qF(v*40|0)|0;dJ(N,2147483647.0,2147483647.0);i=N+16|0;dJ(o,-2147483647.0,-2147483647.0);a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];i=B;t=d;w=cd(A)|0;while(1){if(!w)break;a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];mJ(L,w,t,J);a[N>>2]=a[L>>2];a[N+4>>2]=a[L+4>>2];a[N+8>>2]=a[L+8>>2];a[N+12>>2]=a[L+12>>2];a[N+16>>2]=a[L+16>>2];a[N+20>>2]=a[L+20>>2];a[N+24>>2]=a[L+24>>2];a[N+28>>2]=a[L+28>>2];l=a[(a[w+16>>2]|0)+108>>2]|0;do{if(l)if(!(r[l+81>>0]|0)){a[J>>2]=a[m>>2];a[J+4>>2]=a[m+4>>2];a[J+8>>2]=a[m+8>>2];a[J+12>>2]=a[m+12>>2];WJ(l,t,i,0,J);i=i+40|0;break}else{t=t+40|0;a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(W,l,t,J);a[N>>2]=a[W>>2];a[N+4>>2]=a[W+4>>2];a[N+8>>2]=a[W+8>>2];a[N+12>>2]=a[W+12>>2];a[N+16>>2]=a[W+16>>2];a[N+20>>2]=a[W+20>>2];a[N+24>>2]=a[W+24>>2];a[N+28>>2]=a[W+28>>2];break}}while(0);s=Oo(A,w)|0;t=t+40|0;while(1){if(!s)break;b=s+16|0;l=a[b>>2]|0;c=a[l+96>>2]|0;A:do{if(!c)E=52;else{do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){NX(z,A,s);a[J>>2]=a[z>>2];a[J+4>>2]=a[z+4>>2];a[J+8>>2]=a[z+8>>2];a[J+12>>2]=a[z+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[D>>2]=a[c>>2];ao(0,103827,D)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(y,c,t,J);a[N>>2]=a[y>>2];a[N+4>>2]=a[y+4>>2];a[N+8>>2]=a[y+8>>2];a[N+12>>2]=a[y+12>>2];a[N+16>>2]=a[y+16>>2];a[N+20>>2]=a[y+20>>2];a[N+24>>2]=a[y+24>>2];a[N+28>>2]=a[y+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0;E=52}}while(0);A:do{if((E|0)==52){E=0;c=a[l+104>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){yJ(C,s);a[J>>2]=a[C>>2];a[J+4>>2]=a[C+4>>2];a[J+8>>2]=a[C+8>>2];a[J+12>>2]=a[C+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[M>>2]=a[c>>2];ao(0,103862,M)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(Y,c,t,J);a[N>>2]=a[Y>>2];a[N+4>>2]=a[Y+4>>2];a[N+8>>2]=a[Y+8>>2];a[N+12>>2]=a[Y+12>>2];a[N+16>>2]=a[Y+16>>2];a[N+20>>2]=a[Y+20>>2];a[N+24>>2]=a[Y+24>>2];a[N+28>>2]=a[Y+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0}c=a[l+100>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){zJ(Z,s);a[J>>2]=a[Z>>2];a[J+4>>2]=a[Z+4>>2];a[J+8>>2]=a[Z+8>>2];a[J+12>>2]=a[Z+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[F>>2]=a[c>>2];ao(0,103902,F)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(I,c,t,J);a[N>>2]=a[I>>2];a[N+4>>2]=a[I+4>>2];a[N+8>>2]=a[I+8>>2];a[N+12>>2]=a[I+12>>2];a[N+16>>2]=a[I+16>>2];a[N+20>>2]=a[I+20>>2];a[N+24>>2]=a[I+24>>2];a[N+28>>2]=a[I+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0}c=a[l+108>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){NX(Q,A,s);a[J>>2]=a[Q>>2];a[J+4>>2]=a[Q+4>>2];a[J+8>>2]=a[Q+8>>2];a[J+12>>2]=a[Q+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[V>>2]=a[c>>2];ao(0,103942,V)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(G,c,t,J);a[N>>2]=a[G>>2];a[N+4>>2]=a[G+4>>2];a[N+8>>2]=a[G+8>>2];a[N+12>>2]=a[G+12>>2];a[N+16>>2]=a[G+16>>2];a[N+20>>2]=a[G+20>>2];a[N+24>>2]=a[G+24>>2];a[N+28>>2]=a[G+28>>2]}}while(0);t=t+40|0}}}while(0);s=_o(A,s)|0}w=bd(A,w)|0}if(u|0){a[e>>2]=a[N>>2];a[e+4>>2]=a[N+4>>2];a[e+8>>2]=a[N+8>>2];a[e+12>>2]=a[N+12>>2];a[e+16>>2]=a[N+16>>2];a[e+20>>2]=a[N+20>>2];a[e+24>>2]=a[N+24>>2];a[e+28>>2]=a[N+28>>2];a[e+32>>2]=t;l=J;i=l+40|0;do{a[l>>2]=a[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(i|0));YJ(X,A,J);a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];a[N+16>>2]=a[X+16>>2];a[N+20>>2]=a[X+20>>2];a[N+24>>2]=a[X+24>>2];a[N+28>>2]=a[X+28>>2]}r[R+32>>0]=vR(A,Yo(A,0,103978,0)|0,1)|0;a[R>>2]=a[N>>2];a[R+4>>2]=a[N+4>>2];a[R+8>>2]=a[N+8>>2];a[R+12>>2]=a[N+12>>2];a[R+16>>2]=a[N+16>>2];a[R+20>>2]=a[N+20>>2];a[R+24>>2]=a[N+24>>2];a[R+28>>2]=a[N+28>>2];$r(d,h,B,v,R)|0;if(0)DJ(d,h,B,v,R);e=0;i=0;l=B;while(1){if((i|0)>=(v|0))break;if(r[l+36>>0]|0){R=a[l+32>>2]|0;r[R+81>>0]=1;X=R+56|0;MJ(H,l);a[X>>2]=a[H>>2];a[X+4>>2]=a[H+4>>2];a[X+8>>2]=a[H+8>>2];a[X+12>>2]=a[H+12>>2];pR(A,R);e=e+1|0}i=i+1|0;l=l+40|0}if(!0){if((e|0)!=(v|0)){a[U>>2]=e;a[U+4>>2]=v;ao(0,104023,U)|0}}else{U=a[15712]|0;a[p>>2]=e;a[p+4>>2]=v;f3(U,103990,p)|0}L2(d);L2(B)}}k=x;return}function IJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;r=l+32|0;f=l+16|0;n=l;if(+b[23303]!=0.0|+b[23304]!=0.0|(a[47265]|0)!=0){i=cd(A)|0;while(1){if(!i)break;if(a[47265]|0)DH(i,0);e=i+16|0;t=(a[e>>2]|0)+16|0;a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];BJ(f,r);a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];e=a[(a[e>>2]|0)+108>>2]|0;if(e|0){t=e+56|0;a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];BJ(n,r);a[t>>2]=a[n>>2];a[t+4>>2]=a[n+4>>2];a[t+8>>2]=a[n+8>>2];a[t+12>>2]=a[n+12>>2]}A:do{if((a[47138]|0)==1){e=Oo(A,i)|0;while(1){if(!e)break A;GJ(e);e=_o(A,e)|0}}}while(0);i=bd(A,i)|0}hJ(A,a[(a[A+16>>2]|0)+116>>2]&3)}k=l;return}function ZJ(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0;l=A+16|0;t=a[l>>2]|0;n=r[t+275>>0]|0;A=n<<24>>24;do{if(!(A&4)){i=+b[t+16>>3];if(!(A&2)){f=(+b[t+32>>3]+i)*.5;break}else{f=+b[e>>3]*.5+i;break}}else f=+b[t+32>>3]-+b[e>>3]*.5}while(0);if(!(n&1))i=+b[e+8>>3]*.5+ +b[t+24>>3];else i=+b[t+40>>3]-+b[e+8>>3]*.5;t=a[t+12>>2]|0;b[t+56>>3]=f;b[t+64>>3]=i;r[(a[(a[l>>2]|0)+12>>2]|0)+81>>0]=1;return}function GJ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;B=k;k=k+144|0;h=B+120|0;i=B+16|0;t=B+104|0;c=B+88|0;b=B+72|0;s=B+56|0;w=B+40|0;u=B+24|0;d=B;o=A+16|0;e=a[o>>2]|0;f=a[e+8>>2]|0;if(!f){if((r[194954]|0)==0?(r[e+112>>0]|0)!=6:0){h=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;d=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[i>>2]=h;a[i+4>>2]=d;ao(1,103810,i)|0}}else{l=0;A=f;while(1){if((l|0)>=(a[A+4>>2]|0))break;n=a[A>>2]|0;A=a[n+(l*48|0)>>2]|0;i=a[n+(l*48|0)+4>>2]|0;f=a[n+(l*48|0)+8>>2]|0;n=a[n+(l*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;v=A+(e<<4)|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(t,h);a[v>>2]=a[t>>2];a[v+4>>2]=a[t+4>>2];a[v+8>>2]=a[t+8>>2];a[v+12>>2]=a[t+12>>2];e=e+1|0}if(f|0){v=(a[a[(a[o>>2]|0)+8>>2]>>2]|0)+(l*48|0)+16|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(c,h);a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2]}if(n|0){v=(a[a[(a[o>>2]|0)+8>>2]>>2]|0)+(l*48|0)+32|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(b,h);a[v>>2]=a[b>>2];a[v+4>>2]=a[b+4>>2];a[v+8>>2]=a[b+8>>2];a[v+12>>2]=a[b+12>>2]}e=a[o>>2]|0;l=l+1|0;A=a[e+8>>2]|0}A=a[e+96>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(s,h);a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2];e=a[o>>2]|0}A=a[e+108>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(w,h);a[e>>2]=a[w>>2];a[e+4>>2]=a[w+4>>2];a[e+8>>2]=a[w+8>>2];a[e+12>>2]=a[w+12>>2];e=a[o>>2]|0}A=a[e+100>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(u,h);a[e>>2]=a[u>>2];a[e+4>>2]=a[u+4>>2];a[e+8>>2]=a[u+8>>2];a[e+12>>2]=a[u+12>>2];e=a[o>>2]|0}e=a[e+104>>2]|0;if(e|0){v=e+56|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(d,h);a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2]}}k=B;return}function QJ(A){A=A|0;var e=0,i=0,f=0;f=A+16|0;if((Zd(A)|0)!=(A|0)?(e=a[(a[f>>2]|0)+12>>2]|0,(e|0)!=0):0){i=1;A=(r[e+81>>0]|0)!=0&1}else{i=1;A=0}while(1){e=a[f>>2]|0;if((i|0)>(a[e+180>>2]|0))break;e=(QJ(a[(a[e+184>>2]|0)+(i<<2)>>2]|0)|0)+A|0;i=i+1|0;A=e}return A|0}function mJ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0;n=k;k=k+32|0;l=n;w=(r[194957]|0)==0;e=e+16|0;s=a[e>>2]|0;c=+b[(w?s+32|0:s+40|0)>>3];b[i+16>>3]=c*72.0;t=+b[(w?s+40|0:s+32|0)>>3];b[i+24>>3]=t*72.0;e=(a[e>>2]|0)+16|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[i>>3]=+b[i>>3]-c*36.0;e=i+8|0;b[e>>3]=+b[e>>3]-t*36.0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];a[l+16>>2]=a[f+16>>2];a[l+20>>2]=a[f+20>>2];a[l+24>>2]=a[f+24>>2];a[l+28>>2]=a[f+28>>2];FJ(A,i,l);k=n;return}function LJ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0;n=k;k=k+32|0;l=n;w=(r[194957]|0)==0;s=e+24|0;c=+b[(w?s:e+32|0)>>3];b[i+16>>3]=c;t=+b[(w?e+32|0:s)>>3];b[i+24>>3]=t;e=e+56|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[i>>3]=+b[i>>3]-c*.5;e=i+8|0;b[e>>3]=+b[e>>3]-t*.5;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];a[l+16>>2]=a[f+16>>2];a[l+20>>2]=a[f+20>>2];a[l+24>>2]=a[f+24>>2];a[l+28>>2]=a[f+28>>2];FJ(A,i,l);k=n;return}function WJ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;if(f|0){f=e+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[e+8>>2]=a[n+8>>2];a[e+12>>2]=a[n+12>>2]}if(!(r[194957]|0)){n=A+24|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2]}else{b[i>>3]=+b[A+32>>3];b[i+8>>3]=+b[A+24>>3]}a[i+32>>2]=A;r[i+36>>0]=0;a[e+32>>2]=i;return}function yJ(A,e){A=A|0;e=e|0;e=JX(e)|0;do{if(e){e=a[e>>2]|0;if(!(a[e+8>>2]|0)){e=a[e>>2]|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{e=e+16|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}}else{a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}}while(0);return}function zJ(A,e){A=A|0;e=e|0;var i=0;e=JX(e)|0;do{if(e){i=a[e>>2]|0;e=(a[e+4>>2]|0)+-1|0;if(!(a[i+(e*48|0)+12>>2]|0)){i=(a[i+(e*48|0)>>2]|0)+((a[i+(e*48|0)+4>>2]|0)+-1<<4)|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}else{i=i+(e*48|0)+32|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}}while(0);return}function YJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+112|0;b=h+72|0;w=h+32|0;u=h;o=e+16|0;c=1;while(1){f=a[o>>2]|0;if((c|0)>(a[f+180>>2]|0))break;f=a[(a[f+184>>2]|0)+(c<<2)>>2]|0;n=b;l=i;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));YJ(w,f,b);n=i;l=w;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));c=c+1|0}if(((Zd(e)|0)!=(e|0)?(s=a[(a[o>>2]|0)+12>>2]|0,s|0):0)?r[s+81>>0]|0:0){o=i+32|0;w=a[o>>2]|0;a[b>>2]=a[i>>2];a[b+4>>2]=a[i+4>>2];a[b+8>>2]=a[i+8>>2];a[b+12>>2]=a[i+12>>2];a[b+16>>2]=a[i+16>>2];a[b+20>>2]=a[i+20>>2];a[b+24>>2]=a[i+24>>2];a[b+28>>2]=a[i+28>>2];LJ(u,s,w,b);a[i>>2]=a[u>>2];a[i+4>>2]=a[u+4>>2];a[i+8>>2]=a[u+8>>2];a[i+12>>2]=a[u+12>>2];a[i+16>>2]=a[u+16>>2];a[i+20>>2]=a[u+20>>2];a[i+24>>2]=a[u+24>>2];a[i+28>>2]=a[u+28>>2];a[o>>2]=(a[o>>2]|0)+40}n=A;l=i;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));k=h;return}function DJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+160|0;d=B+96|0;o=B+48|0;u=B;h=a[15712]|0;w=n[f+32>>0]|0;l=+b[f>>3];t=+b[f+8>>3];c=+b[f+16>>3];s=+b[f+24>>3];a[u>>2]=e;a[u+4>>2]=r;a[u+8>>2]=w;b[u+16>>3]=l;b[u+24>>3]=t;b[u+32>>3]=c;b[u+40>>3]=s;f3(h,104065,u)|0;A:do{if(0>=2){L3(104125,8,1,h)|0;u=0;while(1){if((u|0)>=(e|0))break;f=a[A+32>>2]|0;l=+b[A>>3];t=+b[A+8>>3];c=+b[A+16>>3];s=+b[A+24>>3];if(!f)w=195059;else w=a[a[f+32>>2]>>2]|0;a[o>>2]=u;b[o+8>>3]=l;b[o+16>>3]=t;b[o+24>>3]=c;b[o+32>>3]=s;a[o+40>>2]=f;a[o+44>>2]=w;f3(h,104134,o)|0;u=u+1|0;A=A+40|0}L3(104177,8,1,h)|0;f=0;while(1){if((f|0)>=(r|0))break A;e=n[i+36>>0]|0;l=+b[i+16>>3];t=+b[i+24>>3];c=+b[i>>3];s=+b[i+8>>3];o=a[a[i+32>>2]>>2]|0;a[d>>2]=f;a[d+4>>2]=i;a[d+8>>2]=e;b[d+16>>3]=l;b[d+24>>3]=t;b[d+32>>3]=c;b[d+40>>3]=s;a[d+48>>2]=o;f3(h,104186,d)|0;i=i+40|0;f=f+1|0}}}while(0);k=B;return}function MJ(A,e){A=A|0;e=e|0;var i=0.0;i=+b[e+8>>3]*.5+ +b[e+24>>3];b[A>>3]=+b[e>>3]*.5+ +b[e+16>>3];b[A+8>>3]=i;return}function FJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0.0;r=k;k=k+16|0;f=r;t=+b[e>>3];b[i>>3]=+b[(+b[i>>3]>3];n=i+8|0;l=+b[e+8>>3];b[n>>3]=+b[(+b[n>>3]>3];t=+b[e+16>>3]+t;b[f>>3]=t;l=+b[e+24>>3]+l;b[f+8>>3]=l;n=i+16|0;b[n>>3]=+b[(+b[n>>3]>t?n:f)>>3];e=i+24|0;b[e>>3]=+b[(+b[e>>3]>l?n:f)+8>>3];a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];a[A+16>>2]=a[i+16>>2];a[A+20>>2]=a[i+20>>2];a[A+24>>2]=a[i+24>>2];a[A+28>>2]=a[i+28>>2];k=r;return}function VJ(A){A=A|0;vJ(A,1);return}function JJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=k;k=k+16|0;i=r;e=WR(po(A,105526)|0)|0;if(e){e=NJ(e)|0;if(e|0){f=a[e+40>>2]|0;i=a[e+44>>2]|0;n=A+16|0;A=a[n>>2]|0;b[A+32>>3]=+(f|0)*.013888888888888888;b[A+40>>3]=+(i|0)*.013888888888888888;A=qF(12)|0;a[(a[n>>2]|0)+12>>2]=A;a[A>>2]=a[e+12>>2];a[A+4>>2]=((f|0)/-2|0)-(a[e+32>>2]|0);a[A+8>>2]=((i|0)/-2|0)-(a[e+36>>2]|0)}}else{a[i>>2]=Vh(A)|0;ao(0,104234,i)|0}k=r;return}function NJ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+1152|0;t=o+24|0;l=o+8|0;i=o;f=o+120|0;c=o+44|0;b=o+40|0;s=o+36|0;w=o+32|0;u=o+28|0;e=a[47266]|0;if(!e){e=jk(20812,a[4581]|0)|0;a[47266]=e}e=W5[a[e>>2]&63](e,A,512)|0;do{if(!e){n=F3(A,138821)|0;if(!n){a[i>>2]=A;ao(0,104283,i)|0;e=0;break}else{e=0;i=0}while(1){if(!(N4(f,1024,n)|0)){f=11;break}a[l>>2]=b;a[l+4>>2]=s;a[l+8>>2]=w;a[l+12>>2]=u;h=(J3(f,104311,l)|0)==4;i=h?1:i;if((r[f>>0]|0)!=37){h=(X4(f,104340)|0)==0;e=h?e:1}if((i|0)!=0&(e|0)!=0){f=12;break}}if((f|0)==11)if(!i){a[t>>2]=A;ao(0,104345,t)|0;e=0}else f=12;if((f|0)==12){h=$F(64)|0;b=a[b>>2]|0;a[h+32>>2]=b;s=a[s>>2]|0;a[h+40>>2]=(a[w>>2]|0)-b;a[h+36>>2]=(a[u>>2]|0)-s;a[h+8>>2]=A;u=a[47267]|0;a[47267]=u+1;a[h+12>>2]=u;D3(t6(n)|0,c)|0;u=a[c+36>>2]|0;w=$F(u+1|0)|0;a[h+52>>2]=w;O3(n,0,0)|0;a6(w,u,1,n)|0;r[w+u>>0]=0;u=a[47266]|0;W5[a[u>>2]&63](u,h,1)|0;r[h+16>>0]=e;e=h}h3(n)|0}}while(0);k=o;return e|0}function XJ(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+52>>2]|0);return}function RJ(A){A=A|0;L2(a[(a[A+16>>2]|0)+12>>2]|0);return}function HJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w+8|0;b=w;c=(e|0)!=0;A:do{if(c){l=0;f=0;e:while(1)while(1){if(l)break A;n=a[e+(f<<2)>>2]|0;if(!n){t=6;break A}f=f+1|0;if(!(r[n>>0]|0)){l=1;continue e}}}else t=6}while(0);A:do{if((t|0)==6)while(1){f=a[i>>2]|0;if(!f)break A;kg(A,f)|0;kg(A,153599)|0;i=i+4|0;t=6}}while(0);A:do{if(c){l=0;while(1){f=a[e+(l<<2)>>2]|0;if(!f)break A;do{if(r[f>>0]|0){i=WR(f)|0;if(!i){a[b>>2]=f;ao(0,104384,b)|0;break}n=F3(i,138821)|0;if(!n){a[s>>2]=i;ao(0,104412,s)|0;break}while(1){f=LR(n)|0;if(!f)break;kg(A,f)|0}kg(A,153599)|0;h3(n)|0}}while(0);l=l+1|0}}}while(0);k=w;return}function pJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;e=a[e+52>>2]|0;A:while(1){i=r[e>>0]|0;e:do{switch(i<<24>>24){case 0:break A;case 37:{if((r[e+1>>0]|0)==37){i=e+2|0;if((((T1(i,104440,3)|0)!=0?(T1(i,104444,5)|0)!=0:0)?(T1(i,104450,3)|0)!=0:0)?(T1(i,104454,7)|0)!=0:0){i=37;break e}else n=37;i:while(1){switch(n<<24>>24){case 13:{f=10;break i}case 10:case 0:{f=12;break i}default:{}}n=e+1|0;e=n;n=r[n>>0]|0}if((f|0)==10){i=e+1|0;if((r[i>>0]|0)==10){e=e+2|0;continue A}}else if((f|0)==12)i=e+1|0;e=n<<24>>24==0?e:i;continue A}else i=37;break}default:{}}}while(0);e:while(1){switch(i<<24>>24){case 10:case 13:case 0:break e;default:{}}og(A,i<<24>>24)|0;n=e+1|0;e=n;i=r[n>>0]|0}f=e+1|0;if(i<<24>>24==13?(r[f>>0]|0)==10:0)e=e+2|0;else e=i<<24>>24==0?e:f;og(A,10)|0}return}function UJ(A){A=A|0;var e=0,i=0,f=0,n=0;f=k;k=k+16|0;i=f;e=a[47266]|0;A:do{if(e|0){e=W5[a[e>>2]&63](e,0,128)|0;while(1){if(!e)break A;if(!(r[e+16>>0]|0)){a[i>>2]=a[e+12>>2];gg(A,104462,i);kg(A,104480)|0;pJ(A,e);kg(A,104498)|0;kg(A,104513)|0}n=a[47266]|0;e=W5[a[n>>2]&63](n,e,8)|0}}}while(0);k=f;return}function xJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=k;k=k+16|0;i=n;A:do{switch(e|0){case 0:{f=A;break}case 1:{f=CH(A)|0;break}default:{switch(TJ(A)|0){case 2:break;case 1:{f=CH(A)|0;break A}default:{f=A;break A}}if(!(a[47268]|0)){ao(0,104525,i)|0;a[47268]=1;f=A}else f=A}}}while(0);if(!(a[47269]|0))co(189076,0,0);e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=40;i=f;A:while(1){switch(r[i>>0]|0){case 0:break A;case 92:case 41:case 40:{e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=92;break}default:{}}e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}l=r[i>>0]|0;a[47270]=e+1;r[e>>0]=l;i=i+1|0}e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=41;if((f|0)!=(A|0))L2(f);e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}r[e>>0]=0;l=a[47269]|0;a[47270]=l;k=n;return l|0}function TJ(A){A=A|0;var e=0,i=0;e=0;A:while(1){while(1){i=r[A>>0]|0;if(!(i<<24>>24))break A;if((i&255)<127)A=A+1|0;else break}if((i&-4)<<24>>24==-64){e=1;A=A+2|0}else{e=2;break}}return e|0}function jJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;w=k;k=k+96|0;l=w+80|0;t=w+72|0;s=w+64|0;n=w+32|0;c=w;b[n>>3]=+b[A>>3];b[n+8>>3]=+b[A+8>>3];b[n+16>>3]=+b[e>>3];b[n+24>>3]=+b[e+8>>3];do{if((ic(i,n,t)|0)>=0){if(!f){e=i+4|0;A=a[e>>2]|0;f=a[47274]|0;if((A|0)>(a[47273]|0)){if(!f)A=$F(A<<5)|0;else A=eV(f,A<<5)|0;a[47274]=A;n=a[e>>2]|0;a[47273]=n;f=A}else n=A;e=a[i>>2]|0;A=0;while(1){if((A|0)>=(n|0))break;u=f+(A<<5)|0;i=e+(A<<4)|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];u=f+(A<<5)+16|0;i=A+1|0;o=e+(((i|0)%(n|0)|0)<<4)|0;a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2];A=i}a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0;a[c+16>>2]=0;a[c+20>>2]=0;a[c+24>>2]=0;a[c+28>>2]=0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];if((Mt(f,n,l,c,s)|0)<0){A=0;break}}else{a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];Gc(l,s)}A=s+4|0;if(!(SJ(a[A>>2]|0)|0)){n=a[A>>2]|0;A=a[47275]|0;f=a[s>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;o=A+(e<<4)|0;u=f+(e<<4)|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];e=e+1|0}a[r>>2]=n}else A=0}else A=0}while(0);k=w;return A|0}function SJ(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=a[47276]|0;do{if((e|0)<(A|0)){A=A+300-((A|0)%300|0)+e|0;e=eV(a[47275]|0,A<<4)|0;a[47275]=e;if(!e){ao(1,104615,i)|0;A=1;break}else{a[47276]=A;A=0;break}}else A=0}while(0);k=r;return A|0}function PJ(){var A=0,e=0,i=0;e=k;k=k+16|0;A=e;i=a[47277]|0;a[47277]=i+1;do{if((i|0)<=0){i=$F(4800)|0;a[47275]=i;if(!i){ao(1,104638,A)|0;A=1;break}a[47276]=300;a[47278]=0;a[47279]=0;if(0){tR();A=0}else A=0}else A=0}while(0);k=e;return A|0}function OJ(){var A=0,e=0,i=0,r=0.0,f=0,n=0;e=k;k=k+16|0;A=e;i=a[47277]|0;a[47277]=i+-1;if((i|0)<=1?(L2(a[47275]|0),0):0){i=a[15712]|0;n=a[47278]|0;f=a[47279]|0;r=+cR();a[A>>2]=n;a[A+4>>2]=f;b[A+8>>3]=r;f3(i,104676,A)|0}k=e;return}function KJ(A,e){A=A|0;e=e|0;return _J(A,e,0)|0}function _J(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0,N=0,X=0;J=k;k=k+176|0;y=J+168|0;V=J+128|0;I=J+120|0;E=J+112|0;l=J+104|0;B=J+88|0;w=J+72|0;n=J+64|0;v=J+160|0;Y=J+152|0;Z=J+144|0;g=J+32|0;C=J;F=J+136|0;a[47278]=(a[47278]|0)+1;z=a[A+80>>2]|0;a[47279]=(a[47279]|0)+z;f=A+88|0;while(1){L=a[f>>2]|0;if(!L){W=4;break}f=a[L+16>>2]|0;if(!(r[f+112>>0]|0)){W=5;break}else f=f+116|0}do{if((W|0)==4){ao(1,104719,n)|0;f=0}else if((W|0)==5){m=a[A+84>>2]|0;if(!(qJ(z,m,A)|0)){n=z<<3;if((n|0)>(a[47280]|0)){f=a[47281]|0;if(!f)f=$F(z<<7)|0;else f=eV(f,z<<7)|0;a[47281]=f;a[47280]=n}A:do{if((z|0)>1?+b[m+8>>3]>+b[m+40>>3]:0){f=0;while(1){if((f|0)==(z|0)){o=1;break A}G=m+(f<<5)+24|0;s=+b[G>>3];Q=m+(f<<5)+8|0;b[G>>3]=-+b[Q>>3];b[Q>>3]=-s;f=f+1|0}}else o=0}while(0);d=a[L>>2]&3;G=L+48|0;f=a[((d|0)==3?L:G)+40>>2]|0;Q=L+-48|0;if((f|0)==(a[((d|0)==2?L:Q)+40>>2]|0)){a[l>>2]=Vh(f)|0;ao(1,104826,l)|0;f=0;break}u=z+-1|0;h=a[47281]|0;d=h;f=0;t=0;A:while(1){if((t|0)>=(z|0)){t=u;w=f;break}if((t|0)>0)n=+b[m+(t<<5)+8>>3]>+b[m+(t+-1<<5)+8>>3]?-1:1;else n=0;if((t|0)<(u|0))l=+b[m+(t+1<<5)+8>>3]>+b[m+(t<<5)+8>>3]?1:-1;else l=0;e:do{if((n|0)!=(l|0))if((n|0)==1|(l|0)==-1){n=m+(t<<5)|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+8|0;W=29;break}else{n=m+(t<<5)+16|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+24|0;W=29;break}else{switch(n|0){case-1:break e;case 0:break;default:{W=28;break A}}n=m+(t<<5)|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+8|0;W=29}}while(0);if((W|0)==29){W=0;b[h+(l<<4)+8>>3]=+b[n>>3];f=f+2|0}t=t+1|0}if((W|0)==28){a[w>>2]=n;a[w+4>>2]=n;a[w+8>>2]=480;ao(1,104761,w)|0;f=0;break}A:while(1){if((t|0)<=-1)break;if((t|0)<(u|0))f=+b[m+(t<<5)+8>>3]>+b[m+(t+1<<5)+8>>3]?-1:1;else f=0;if((t|0)>0)n=+b[m+(t+-1<<5)+8>>3]>+b[m+(t<<5)+8>>3]?1:-1;else n=0;e:do{if((f|0)!=(n|0))if((f|0)==1|(n|0)==-1){f=m+(t<<5)|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+8|0;l=2;break}else{f=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+24|0;l=2;break}else switch(f|0){case 0:{f=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+24|0;l=2;break e}case-1:{X=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[X>>3];f=m+(t<<5)+8|0;l=w+1|0;b[h+(w<<4)+8>>3]=+b[f>>3];b[h+(l<<4)>>3]=+b[X>>3];X=m+(t<<5)+24|0;N=w+2|0;b[h+(l<<4)+8>>3]=+b[X>>3];l=m+(t<<5)|0;b[h+(N<<4)>>3]=+b[l>>3];n=w+3|0;b[h+(N<<4)+8>>3]=+b[X>>3];b[h+(n<<4)>>3]=+b[l>>3];l=4;break e}default:{W=42;break A}}}while(0);b[h+(n<<4)+8>>3]=+b[f>>3];t=t+-1|0;w=w+l|0}if((W|0)==42){a[B>>2]=f;a[B+4>>2]=f;a[B+8>>2]=513;ao(1,104761,B)|0;f=0;break}A:do{if(!o)f=0;else{f=0;while(1){if((f|0)>=(z|0)){f=0;break}N=m+(f<<5)+24|0;s=+b[N>>3];X=m+(f<<5)+8|0;b[N>>3]=-+b[X>>3];b[X>>3]=-s;f=f+1|0}while(1){if((f|0)>=(w|0)){f=0;break A}X=h+(f<<4)+8|0;b[X>>3]=-+b[X>>3];f=f+1|0}}}while(0);while(1){if((f|0)>=(z|0))break;b[m+(f<<5)>>3]=2147483647.0;b[m+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}a[v>>2]=d;l=v+4|0;a[l>>2]=w;b[g>>3]=+b[A>>3];b[g+8>>3]=+b[A+8>>3];b[g+16>>3]=+b[A+40>>3];b[g+24>>3]=+b[A+48>>3];if((ic(v,g,Y)|0)<0){ao(1,104865,E)|0;f=0;break}if(!i){n=a[l>>2]|0;f=a[47274]|0;if((n|0)>(a[47273]|0)){if(!f)f=$F(n<<5)|0;else f=eV(f,n<<5)|0;a[47274]=f;n=a[l>>2]|0;a[47273]=n}t=a[47281]|0;l=0;while(1){if((l|0)>=(n|0))break;N=f+(l<<5)|0;X=t+(l<<4)|0;a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];N=f+(l<<5)+16|0;X=l+1|0;E=t+(((X|0)%(n|0)|0)<<4)|0;a[N>>2]=a[E>>2];a[N+4>>2]=a[E+4>>2];a[N+8>>2]=a[E+8>>2];a[N+12>>2]=a[E+12>>2];l=X}if(!(r[A+29>>0]|0)){c=0.0;s=0.0}else{s=+b[A+16>>3];c=+D(+s);s=+M(+s)}b[C+8>>3]=s;b[C>>3]=c;if(!(r[A+69>>0]|0)){c=0.0;s=0.0}else{s=+b[A+56>>3];c=-+D(+s);s=-+M(+s)}b[C+24>>3]=s;b[C+16>>3]=c;a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];if((Mt(f,n,y,C,Z)|0)<0){ao(1,104904,I)|0;f=0;break}}else{a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];Gc(y,Z)}w=Z+4|0;if(!(SJ(a[w>>2]|0)|0)){f=0;while(1){if((f|0)>=(z|0))break;b[m+(f<<5)>>3]=2147483647.0;b[m+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}l=a[w>>2]|0;t=a[47275]|0;n=a[Z>>2]|0;f=0;while(1){if((f|0)>=(l|0)){l=1;f=10;n=0;break}X=t+(f<<4)|0;N=n+(f<<4)|0;a[X>>2]=a[N>>2];a[X+4>>2]=a[N+4>>2];a[X+8>>2]=a[N+8>>2];a[X+12>>2]=a[N+12>>2];f=f+1|0}while(1){if(!((n|0)<15&l<<24>>24!=0))break;$J(m,z,a[47275]|0,a[w>>2]|0,f);t=0;while(1){if((t|0)>=(z|0))break;if(+b[m+(t<<5)>>3]==2147483647.0){W=82;break}if(+b[m+(t<<5)+16>>3]==-2147483648.0){W=82;break}t=t+1|0}if((W|0)==82){W=0;X=f<<1;f=X;n=(X|0)>(2147483647/(z|0)|0|0)?15:n}l=(t|0)==(z|0)?0:l;n=n+1|0}if(l<<24>>24){N=Vh(a[((a[L>>2]&3|0)==3?L:G)+40>>2]|0)|0;X=Vh(a[((a[L>>2]&3|0)==2?L:Q)+40>>2]|0)|0;a[V>>2]=N;a[V+4>>2]=X;ao(0,104942,V)|0;a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];Gc(y,F);$J(m,z,a[F>>2]|0,a[F+4>>2]|0,10);L2(a[F>>2]|0)}a[e>>2]=a[w>>2];f=a[47275]|0}else f=0}else f=0}}while(0);k=J;return f|0}function qJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0.0,J=0,N=0,X=0,R=0.0,H=0,p=0,U=0;U=k;k=k+32|0;M=U+16|0;D=U+8|0;c=U;r=0;t=0;while(1){if((t|0)>=(A|0))break;l=e+(t<<5)|0;B=+b[e+(t<<5)+8>>3]-+b[e+(t<<5)+24>>3];if(!((B>=0.0?B:-B)<.01)?(B=+b[l>>3]-+b[e+(t<<5)+16>>3],!((B>=0.0?B:-B)<.01)):0){if((r|0)!=(t|0)){H=e+(r<<5)|0;a[H>>2]=a[l>>2];a[H+4>>2]=a[l+4>>2];a[H+8>>2]=a[l+8>>2];a[H+12>>2]=a[l+12>>2];a[H+16>>2]=a[l+16>>2];a[H+20>>2]=a[l+20>>2];a[H+24>>2]=a[l+24>>2];a[H+28>>2]=a[l+28>>2]}r=r+1|0}t=t+1|0}F=e+16|0;do{if(!(+b[e>>3]>+b[F>>3])?(J=e+8|0,X=e+24|0,!(+b[J>>3]>+b[X>>3])):0){H=r+-1|0;N=a[15712]|0;C=0;while(1){if((C|0)>=(H|0))break;W=C+1|0;y=e+(W<<5)|0;f=+b[y>>3];z=e+(W<<5)+16|0;n=+b[z>>3];if(f>n){p=16;break}Q=e+(W<<5)+8|0;s=+b[Q>>3];m=e+(W<<5)+24|0;w=+b[m>>3];if(s>w){p=16;break}Y=e+(C<<5)+16|0;E=+b[Y>>3]>3]>n;A=g&1;G=e+(C<<5)+24|0;v=+b[G>>3]>3]>w;l=c&1;I=A+r+t+l|0;u=(I|0)!=0;if(!(0==0|u^1)){a[M>>2]=C;a[M+4>>2]=W;f3(N,105142,M)|0;AN(i)}A:do{if(u){if(!E)if(!g)if(!v){if(c){c=0;u=r;r=m;l=Z;p=24}}else{c=l;t=0;u=r;r=Q;l=G;p=24}else{c=l;A=0;u=r;r=z;l=L;p=24}else{c=l;u=0;r=y;l=Y;p=24}if((p|0)==24){p=0;C=~~+b[l>>3];b[l>>3]=+b[r>>3];b[r>>3]=+(C|0);l=c;r=u}u=I+-1|0;c=0;while(1){if((c|0)>=(u|0))break A;do{if((r|0)!=1){if((A|0)==1){B=+(~~((+b[z>>3]+ +b[L>>3])*.5+.5)|0);b[z>>3]=B;b[L>>3]=B;A=0;break}if((t|0)==1){B=+(~~((+b[Q>>3]+ +b[G>>3])*.5+.5)|0);b[Q>>3]=B;b[G>>3]=B;t=0;break}if((l|0)==1){B=+(~~((+b[m>>3]+ +b[Z>>3])*.5+.5)|0);b[m>>3]=B;b[Z>>3]=B;l=0}}else{B=+(~~((+b[y>>3]+ +b[Y>>3])*.5+.5)|0);b[y>>3]=B;b[Y>>3]=B;r=0}}while(0);c=c+1|0}}}while(0);o=+b[L>>3];h=+b[Y>>3];d=+b[y>>3];B=+b[z>>3];l=eN(~~o,~~h,~~d,~~B)|0;w=+b[Z>>3];s=+b[G>>3];n=+b[Q>>3];f=+b[m>>3];r=eN(~~w,~~s,~~n,~~f)|0;if(!((l|0)!=0&(r|0)!=0)){C=W;continue}if((l|0)<(r|0)){m=h-o>B-d;C=h>3]=m?C?d:B:C?h:o;C=W;continue}else{m=s-w>f-n;C=s>3]=m?C?n:f:C?s:w;C=W;continue}}if((p|0)==16){a[D>>2]=W;ao(1,105096,D)|0;AN(i);r=1;break}f=+b[i>>3];n=+b[e>>3];if(!(((!(f+b[F>>3]):0)?(V=+b[i+8>>3],!(V<+b[J>>3])):0)?!(V>+b[X>>3]):0)){if(0){L3(105185,42,1,N)|0;AN(i);n=+b[e>>3];f=+b[i>>3]}if(f>3]=n;else n=f;f=+b[F>>3];if(n>f)b[i>>3]=f;r=i+8|0;n=+b[r>>3];f=+b[J>>3];if(n>3]=f;n=f}f=+b[X>>3];if(n>f)b[r>>3]=f}l=i+40|0;f=+b[l>>3];r=e+(H<<5)|0;n=+b[r>>3];if(((!(f+b[e+(H<<5)+16>>3]):0)?(R=+b[i+48>>3],!(R<+b[e+(H<<5)+8>>3])):0)?!(R>+b[e+(H<<5)+24>>3]):0){r=0;break}if(0){L3(105228,39,1,N)|0;AN(i);n=+b[r>>3];f=+b[l>>3]}if(f>3]=n;f=n}n=+b[e+(H<<5)+16>>3];if(f>n)b[l>>3]=n;r=i+48|0;f=+b[r>>3];n=+b[e+(H<<5)+8>>3];if(f>3]=n;else n=f;f=+b[e+(H<<5)+24>>3];if(n>f){b[r>>3]=f;r=0}else r=0}else p=12}while(0);if((p|0)==12){ao(1,105051,c)|0;AN(i);r=1}k=U;return r|0}function $J(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0;B=U(f,e)|0;v=1.0/+(B|0);f=0;A:while(1){g=f+3|0;if((g|0)>=(r|0))break;k=i+(f<<4)|0;o=i+(f<<4)+8|0;d=f+1|0;h=i+(d<<4)|0;d=i+(d<<4)+8|0;t=f+2|0;l=i+(t<<4)|0;t=i+(t<<4)+8|0;c=i+(g<<4)|0;s=i+(g<<4)+8|0;n=0;while(1){if((n|0)>(B|0)){f=g;continue A}E=v*+(n|0);w=+b[k>>3];u=+b[o>>3];Z=+b[h>>3];C=+b[d>>3];G=+b[l>>3];I=+b[t>>3];w=(Z-w)*E+w;u=(C-u)*E+u;Z=(G-Z)*E+Z;C=(I-C)*E+C;w=(Z-w)*E+w;u=(C-u)*E+u;w=((G-Z+(+b[c>>3]-G)*E)*E+Z-w)*E+w;u=((I-C+(+b[s>>3]-I)*E)*E+C-u)*E+u;a=0;while(1){if((a|0)>=(e|0))break;if(u<=+b[A+(a<<5)+24>>3]+.0001?u>=+b[A+(a<<5)+8>>3]+-.0001:0){f=A+(a<<5)|0;if(+b[f>>3]>w)b[f>>3]=w;f=A+(a<<5)+16|0;if(+b[f>>3]>3]=w}a=a+1|0}n=n+1|0}}return}function AN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0;s=k;k=k+112|0;t=s+80|0;c=s+48|0;l=s+8|0;n=s;i=a[15712]|0;f=A+80|0;a[n>>2]=a[f>>2];f3(i,105268,n)|0;n=A+84|0;e=0;while(1){if((e|0)>=(a[f>>2]|0))break;d=a[n>>2]|0;h=+b[d+(e<<5)>>3];o=+b[d+(e<<5)+8>>3];u=+b[d+(e<<5)+16>>3];w=+b[d+(e<<5)+24>>3];a[l>>2]=e;b[l+8>>3]=h;b[l+16>>3]=o;b[l+24>>3]=u;b[l+32>>3]=w;f3(i,105279,l)|0;e=e+1|0}h=+b[A+8>>3];o=+b[A+16>>3];d=r[A+29>>0]|0?105310:105322;b[c>>3]=+b[A>>3];b[c+8>>3]=h;b[c+16>>3]=o;a[c+24>>2]=d;f3(i,105338,c)|0;o=+b[A+48>>3];h=+b[A+56>>3];d=r[A+69>>0]|0?105310:105322;b[t>>3]=+b[A+40>>3];b[t+8>>3]=o;b[t+16>>3]=h;a[t+24>>2]=d;f3(i,105389,t)|0;k=s;return}function eN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;do{if((e|0)>(i|0)&(r|0)>(A|0)){if(!((i|0)>(A|0)|(r|0)<(A|0))){A=r-A|0;break}if((e|0)<(i|0)|(e|0)>(r|0)){e=e-A|0;A=r-i|0;A=(e|0)<(A|0)?e:A;break}else{A=e-i|0;break}}else A=0}while(0);return A|0}function iN(A,e){A=A|0;e=e|0;return _J(A,e,1)|0}function rN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+80|0;n=c;t=1;f=e;while(1){l=f;f=a[(a[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(l|0)!=(f|0)))break;else t=t+1|0}if((t|0)>=21)n=qF(t<<2)|0;l=0;f=e;while(1){if((l|0)>=(t|0))break;a[n+(l<<2)>>2]=f;l=l+1|0;f=a[(a[f+16>>2]|0)+172>>2]|0}fN(A,n,t,i,r);if((t|0)>20)L2(n);k=c;return}function fN(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0.0,N=0.0,X=0.0,R=0,H=0;V=k;k=k+304|0;Q=V+272|0;G=V+208|0;Y=V+96|0;D=V+32|0;M=V+16|0;F=V;d=V+192|0;Z=V+176|0;l=V+160|0;m=V+296|0;L=V+288|0;t=a[e>>2]|0;C=a[t>>2]&3;c=t+-48|0;W=a[((C|0)==2?t:c)+40>>2]|0;v=Y+16|0;C=(a[(a[((C|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+16|0;I=t+16|0;y=(a[I>>2]|0)+16|0;a[G>>2]=a[C>>2];a[G+4>>2]=a[C+4>>2];a[G+8>>2]=a[C+8>>2];a[G+12>>2]=a[C+12>>2];a[Q>>2]=a[y>>2];a[Q+4>>2]=a[y+4>>2];a[Q+8>>2]=a[y+8>>2];a[Q+12>>2]=a[y+12>>2];aN(d,G,Q);a[Y>>2]=a[d>>2];a[Y+4>>2]=a[d+4>>2];a[Y+8>>2]=a[d+8>>2];a[Y+12>>2]=a[d+12>>2];a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];a[M>>2]=a[d>>2];a[M+4>>2]=a[d+4>>2];a[M+8>>2]=a[d+8>>2];a[M+12>>2]=a[d+12>>2];d=Y+32|0;y=Y+48|0;C=(a[W+16>>2]|0)+16|0;I=(a[I>>2]|0)+56|0;a[G>>2]=a[C>>2];a[G+4>>2]=a[C+4>>2];a[G+8>>2]=a[C+8>>2];a[G+12>>2]=a[C+12>>2];a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];aN(Z,G,Q);a[y>>2]=a[Z>>2];a[y+4>>2]=a[Z+4>>2];a[y+8>>2]=a[Z+8>>2];a[y+12>>2]=a[Z+12>>2];a[d>>2]=a[Z>>2];a[d+4>>2]=a[Z+4>>2];a[d+8>>2]=a[Z+8>>2];a[d+12>>2]=a[Z+12>>2];a[F>>2]=a[Z>>2];a[F+4>>2]=a[Z+4>>2];a[F+8>>2]=a[Z+8>>2];a[F+12>>2]=a[Z+12>>2];A:do{if((i|0)!=1&(r[194954]|0)==0){s=+b[Y>>3];w=+b[y>>3];J=s-w;u=+b[Y+8>>3];o=+b[Y+56>>3];B=u-o;h=B*B;if(h+J*J<1.0e-06){a[v>>2]=a[Y>>2];a[v+4>>2]=a[Y+4>>2];a[v+8>>2]=a[Y+8>>2];a[v+12>>2]=a[Y+12>>2];a[d>>2]=a[y>>2];a[d+4>>2]=a[y+4>>2];a[d+8>>2]=a[y+8>>2];a[d+12>>2]=a[y+12>>2];Z=Y+24|0;I=Y+40|0;w=0.0;s=0.0}else{N=w-s;J=+z(+(h+N*N));C=a[(a[(a[A+60>>2]|0)+16>>2]|0)+248>>2]|0;X=+((U(C,i+-1|0)|0)/2|0|0);h=B*X/J;b[v>>3]=h+s;s=N*X/J;Z=Y+24|0;b[Z>>3]=s+u;b[d>>3]=h+w;I=Y+40|0;b[I>>3]=o+s;s=+(0-C|0);w=N*s/J;s=B*s/J}f=(f|0)==6;g=L+4|0;E=m+4|0;t=0;while(1){if((t|0)>=(i|0))break A;C=a[e+(t<<2)>>2]|0;c=C+-48|0;e:do{if((a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0)==(W|0)){a[M>>2]=a[Y>>2];a[M+4>>2]=a[Y+4>>2];a[M+8>>2]=a[Y+8>>2];a[M+12>>2]=a[Y+12>>2];a[F>>2]=a[y>>2];a[F+4>>2]=a[y+4>>2];a[F+8>>2]=a[y+8>>2];a[F+12>>2]=a[y+12>>2];l=0;while(1){if((l|0)==4)break e;R=D+(l<<4)|0;H=Y+(l<<4)|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];l=l+1|0}}else{a[M>>2]=a[y>>2];a[M+4>>2]=a[y+4>>2];a[M+8>>2]=a[y+8>>2];a[M+12>>2]=a[y+12>>2];a[F>>2]=a[Y>>2];a[F+4>>2]=a[Y+4>>2];a[F+8>>2]=a[Y+8>>2];a[F+12>>2]=a[Y+12>>2];l=0;while(1){if((l|0)==4)break e;H=D+(3-l<<4)|0;R=Y+(l<<4)|0;a[H>>2]=a[R>>2];a[H+4>>2]=a[R+4>>2];a[H+8>>2]=a[R+8>>2];a[H+12>>2]=a[R+12>>2];l=l+1|0}}}while(0);if(f){a[g>>2]=4;a[L>>2]=G;l=0;while(1){if((l|0)==4)break;H=G+(l<<4)|0;R=D+(l<<4)|0;a[H>>2]=a[R>>2];a[H+4>>2]=a[R+4>>2];a[H+8>>2]=a[R+8>>2];a[H+12>>2]=a[R+12>>2];l=l+1|0}a[Q>>2]=a[L>>2];a[Q+4>>2]=a[L+4>>2];Gc(Q,m);gX(C,a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0,a[m>>2]|0,a[E>>2]|0,n)}else gX(C,a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0,D,4,n);a[G>>2]=a[M>>2];a[G+4>>2]=a[M+4>>2];a[G+8>>2]=a[M+8>>2];a[G+12>>2]=a[M+12>>2];a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];HX(A,C,G,Q);b[v>>3]=+b[v>>3]+s;b[Z>>3]=+b[Z>>3]+w;b[d>>3]=+b[d>>3]+s;b[I>>3]=+b[I>>3]+w;t=t+1|0}}else{if((f|0)==4){nN(l,A);a[Q>>2]=a[l>>2];a[Q+4>>2]=a[l+4>>2];a[Q+8>>2]=a[l+8>>2];a[Q+12>>2]=a[l+12>>2];lN(Y,Q)}gX(t,a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0,Y,4,n);a[G>>2]=a[M>>2];a[G+4>>2]=a[M+4>>2];a[G+8>>2]=a[M+8>>2];a[G+12>>2]=a[M+12>>2];a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];HX(A,t,G,Q)}}while(0);k=V;return}function aN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function nN(A,e){A=A|0;e=e|0;e=a[e+16>>2]|0;b[23305]=(+b[e+32>>3]+ +b[e+16>>3])*.5;b[23306]=(+b[e+40>>3]+ +b[e+24>>3])*.5;a[A>>2]=a[46610];a[A+4>>2]=a[46611];a[A+8>>2]=a[46612];a[A+12>>2]=a[46613];return}function lN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;a=+b[A>>3];r=+b[A+48>>3];l=(r+a)*.5;n=+b[A+8>>3];i=+b[A+56>>3];f=(i+n)*.5;a=r-a;n=i-n;a=+z(+(n*n+a*a))*.2;n=+b[e>>3]-l;i=+b[e+8>>3]-f;r=+z(+(i*i+n*n));if(!(r==0.0)){n=l-n/r*a;l=f-i/r*a;b[A+32>>3]=n;b[A+16>>3]=n;b[A+40>>3]=l;b[A+24>>3]=l}return}function tN(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0.0,Y=0,D=0.0,M=0.0,F=0.0;W=k;k=k+208|0;v=W+192|0;B=W+176|0;m=W+32|0;C=W+16|0;I=W;Z=W+160|0;G=W+144|0;g=W+128|0;E=W+112|0;n=r&2130706432;Q=(r&8|0)==0?(n|0)==0?4:n:8;if((Q|0)==436207616)cN(A,e,i,f);else{L=qF((i<<6)+64|0)|0;o=i+-1|0;h=I+8|0;d=C+8|0;u=12.0;r=0;while(1){if((r|0)>=(i|0))break;w=e+(r<<4)|0;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];if((r|0)<(o|0)){r=r+1|0;w=e+(r<<4)|0;a[I>>2]=a[w>>2];a[I+4>>2]=a[w+4>>2];a[I+8>>2]=a[w+8>>2];a[I+12>>2]=a[w+12>>2]}else{a[I>>2]=a[e>>2];a[I+4>>2]=a[e+4>>2];a[I+8>>2]=a[e+8>>2];a[I+12>>2]=a[e+12>>2];r=r+1|0}s=+b[I>>3]-+b[C>>3];y=+b[h>>3]-+b[d>>3];s=+z(+(y*y+s*s))*.3333333333333333;u=u=(i|0))break;n=e+(l<<4)|0;a[C>>2]=a[n>>2];a[C+4>>2]=a[n+4>>2];a[C+8>>2]=a[n+8>>2];a[C+12>>2]=a[n+12>>2];if((l|0)<(o|0)){n=e+(l+1<<4)|0;a[I>>2]=a[n>>2];a[I+4>>2]=a[n+4>>2];a[I+8>>2]=a[n+8>>2];a[I+12>>2]=a[n+12>>2]}else{a[I>>2]=a[e>>2];a[I+4>>2]=a[e+4>>2];a[I+8>>2]=a[e+8>>2];a[I+12>>2]=a[e+12>>2]}s=+b[I>>3]-+b[C>>3];y=+b[h>>3]-+b[d>>3];s=u/+z(+(y*y+s*s));s=c?s*.3333333333333333:t?s*.5:s;n=L+(r<<4)|0;if(w){a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(Z,s*.5,B,v);a[n>>2]=a[Z>>2];a[n+4>>2]=a[Z+4>>2];a[n+8>>2]=a[Z+8>>2];a[n+12>>2]=a[Z+12>>2]}else{a[n>>2]=a[C>>2];a[n+4>>2]=a[C+4>>2];a[n+8>>2]=a[C+8>>2];a[n+12>>2]=a[C+12>>2]}n=L+(r+1<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(G,s,B,v);a[n>>2]=a[G>>2];a[n+4>>2]=a[G+4>>2];a[n+8>>2]=a[G+8>>2];a[n+12>>2]=a[G+12>>2];n=r+3|0;Y=L+(r+2<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(g,1.0-s,B,v);a[Y>>2]=a[g>>2];a[Y+4>>2]=a[g+4>>2];a[Y+8>>2]=a[g+8>>2];a[Y+12>>2]=a[g+12>>2];if(w){Y=L+(n<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(E,1.0-s*.5,B,v);a[Y>>2]=a[E>>2];a[Y+4>>2]=a[E+4>>2];a[Y+8>>2]=a[E+8>>2];a[Y+12>>2]=a[E+12>>2];r=r+4|0}else r=n;l=l+1|0}c=L+(r<<4)|0;a[c>>2]=a[L>>2];a[c+4>>2]=a[L+4>>2];a[c+8>>2]=a[L+8>>2];a[c+12>>2]=a[L+12>>2];c=L+(r+1<<4)|0;t=L+16|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];r=L+(r+2<<4)|0;c=L+32|0;a[r>>2]=a[c>>2];a[r+4>>2]=a[c+4>>2];a[r+8>>2]=a[c+8>>2];a[r+12>>2]=a[c+12>>2];r=Q&2147483647;A:do{if((r|0)<201326592){if((r|0)>=83886080){if((r|0)<134217728){if((r|0)<100663296){switch(r|0){case 83886080:break;default:break A}if((i|0)==4){Y=qF(192)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];o=Y+16|0;v=e+16|0;a[o>>2]=a[v>>2];a[o+4>>2]=a[v+4>>2];a[o+8>>2]=a[v+8>>2];a[o+12>>2]=a[v+12>>2];o=L+48|0;v=L+64|0;u=+b[v>>3];w=Y+32|0;b[w>>3]=u;h=L+56|0;d=L+72|0;D=+b[d>>3];G=Y+40|0;b[G>>3]=D;y=+b[o>>3]+u-+b[c>>3];g=Y+48|0;b[g>>3]=y;F=+b[h>>3]+D-+b[L+40>>3];I=Y+56|0;b[I>>3]=F;M=+b[v>>3]+y-+b[o>>3];o=Y+64|0;b[o>>3]=M;s=+b[d>>3]+F-+b[h>>3];h=Y+72|0;b[h>>3]=s;d=Y+80|0;b[d>>3]=u+M-y;b[Y+88>>3]=D+s-F;v=L+96|0;E=L+80|0;F=+b[E>>3];i=Y+144|0;b[i>>3]=F;C=L+104|0;B=L+88|0;s=+b[B>>3];b[Y+152>>3]=s;D=+b[v>>3]+F-+b[L+112>>3];Z=Y+128|0;b[Z>>3]=D;y=+b[C>>3]+s-+b[L+120>>3];Q=Y+136|0;b[Q>>3]=y;M=+b[E>>3]+D-+b[v>>3];v=Y+112|0;b[v>>3]=M;u=+b[B>>3]+y-+b[C>>3];C=Y+120|0;b[C>>3]=u;B=Y+96|0;b[B>>3]=F+M-D;E=Y+104|0;b[E>>3]=s+u-y;c=Y+160|0;t=e+32|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];c=Y+176|0;e=e+48|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];ar(A,Y,12,f);a[m>>2]=a[w>>2];a[m+4>>2]=a[w+4>>2];a[m+8>>2]=a[w+8>>2];a[m+12>>2]=a[w+12>>2];y=+b[w>>3];u=+b[g>>3];y=y+y-u;g=m+16|0;b[g>>3]=y;s=+b[G>>3];D=+b[I>>3];s=s+s-D;I=m+24|0;b[I>>3]=s;G=m+32|0;b[G>>3]=+b[o>>3]+y-u;e=m+40|0;b[e>>3]=+b[h>>3]+s-D;f=m+48|0;a[f>>2]=a[d>>2];a[f+4>>2]=a[d+4>>2];a[f+8>>2]=a[d+8>>2];a[f+12>>2]=a[d+12>>2];tr(A,m,4);a[m>>2]=a[B>>2];a[m+4>>2]=a[B+4>>2];a[m+8>>2]=a[B+8>>2];a[m+12>>2]=a[B+12>>2];D=+b[B>>3];s=+b[v>>3];D=D-(s-D);b[g>>3]=D;u=+b[E>>3];y=+b[C>>3];u=u-(y-u);b[I>>3]=u;b[G>>3]=+b[Z>>3]+D-s;b[e>>3]=+b[Q>>3]+u-y;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];tr(A,m,4);L2(Y);break}else vA(105438,105449,737,105458)}if((r|0)<117440512){switch(r|0){case 100663296:break;default:break A}Z=i+5|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];D=(+b[e>>3]-D)*.625+D;b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;E=L+48|0;C=L+56|0;I=L+72|0;F=(+b[i>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*1.5;b[Y+8>>3]=F;M=+b[G>>3];M=(+b[e>>3]-M)*.25+M;b[Y+16>>3]=M;b[Y+24>>3]=F;b[Y+32>>3]=M;y=+b[Q>>3];b[Y+40>>3]=(+b[i>>3]-y)*.5+y;M=(+b[c>>3]-+b[E>>3])*.5+M;b[Y+48>>3]=M;y=+b[Q>>3];b[Y+56>>3]=(+b[i>>3]-y)*.5+y;b[Y+64>>3]=M;M=+b[Q>>3];M=(+b[i>>3]-M)*.5+M+(+b[C>>3]-+b[I>>3]);b[Y+72>>3]=M;b[Y+80>>3]=D;b[Y+88>>3]=M;b[Y+96>>3]=D;M=M-(+b[C>>3]-+b[I>>3])*.25;b[Y+104>>3]=M;b[Y+112>>3]=+b[c>>3]+D-+b[E>>3];b[Y+120>>3]=(+b[C>>3]-+b[I>>3])*.5+M;b[Y+128>>3]=+b[Y>>3];b[Y+136>>3]=(+b[C>>3]-+b[I>>3])*.25+F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 117440512:break;default:break A}i=i+1|0;Y=qF(i<<4)|0;b[Y>>3]=+b[t>>3];G=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[G>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[L+48>>3];F=+b[G>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];m=e+40|0;b[Y+40>>3]=(+b[G>>3]-+b[Q>>3])*.5+ +b[m>>3];b[Y+48>>3]=+b[t>>3];b[Y+56>>3]=(+b[G>>3]-+b[Q>>3])*.5+ +b[m>>3];F=+b[e+8>>3];b[Y+72>>3]=F-(F-+b[e+56>>3])*.5;b[Y+64>>3]=+b[e>>3];ar(A,Y,i,f);L2(Y);break}}if((r|0)<167772160)if((r|0)<150994944){switch(r|0){case 134217728:break;default:break A}Z=i+4|0;Y=qF(Z<<4)|0;G=e+16|0;y=+b[G>>3];I=L+48|0;y=(+b[e>>3]-y)*.5+y+(+b[c>>3]-+b[I>>3])*.25;b[Y>>3]=y;Q=e+40|0;F=+b[Q>>3];i=e+24|0;F=(+b[i>>3]-F)*.5+F;b[Y+8>>3]=F;b[Y+16>>3]=y;E=L+56|0;C=L+72|0;D=(+b[E>>3]-+b[C>>3])*.5+F;b[Y+24>>3]=D;y=(+b[c>>3]-+b[I>>3])*.5+y;b[Y+32>>3]=y;b[Y+40>>3]=D;b[Y+48>>3]=y;y=(+b[E>>3]-+b[C>>3])*.5+D;b[Y+56>>3]=y;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.75;b[Y+64>>3]=M;b[Y+72>>3]=y;b[Y+80>>3]=M;b[Y+88>>3]=D;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.25;b[Y+96>>3]=M;b[Y+104>>3]=D;b[Y+112>>3]=M;b[Y+120>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 150994944:break;default:break A}Z=i+2|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];I=L+48|0;D=(+b[e>>3]-D)*.5+D+(+b[c>>3]-+b[I>>3])*.75;b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;F=(+b[i>>3]-F)*.5+F;b[Y+8>>3]=F;b[Y+16>>3]=D;E=L+56|0;C=L+72|0;D=(+b[E>>3]-+b[C>>3])*.25+F;b[Y+24>>3]=D;M=+b[G>>3];b[Y+32>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*.25;M=(+b[E>>3]-+b[C>>3])*.5+D;b[Y+40>>3]=M;y=+b[G>>3];b[Y+48>>3]=(+b[e>>3]-y)*.5+y+(+b[c>>3]-+b[I>>3])*-.25;b[Y+56>>3]=M;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.75;b[Y+64>>3]=M;b[Y+72>>3]=D;b[Y+80>>3]=M;b[Y+88>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else if((r|0)<184549376){switch(r|0){case 167772160:break;default:break A}Z=i+1|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];E=L+48|0;D=+b[c>>3]+D+(+b[e>>3]-D)*.5-+b[E>>3];b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;C=L+56|0;I=L+72|0;F=(+b[i>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*.25;b[Y+8>>3]=F;D=D-+b[c>>3]+ +b[E>>3];b[Y+16>>3]=D;b[Y+24>>3]=+b[C>>3]+F-+b[I>>3];b[Y+32>>3]=D;D=(+b[C>>3]-+b[I>>3])*.5+F;b[Y+40>>3]=D;M=+b[G>>3];M=(+b[e>>3]-M)*.25+M;b[Y+48>>3]=M;b[Y+56>>3]=D;b[Y+64>>3]=M;b[Y+72>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 184549376:break;default:break A}G=i+4|0;Y=qF(G<<4)|0;Z=e+16|0;D=+b[Z>>3];M=+b[e>>3]-D;g=L+48|0;M=M*.125+D+(+b[c>>3]-+b[g>>3]+M)*.5;b[Y>>3]=M;C=e+40|0;D=+b[C>>3];I=e+24|0;i=L+56|0;E=L+72|0;D=(+b[I>>3]-D)*.5+D+(+b[i>>3]-+b[E>>3])*.25;b[Y+8>>3]=D;F=+b[Z>>3];F=(+b[e>>3]-F)*.375+F;b[Y+16>>3]=F;b[Y+24>>3]=D;b[Y+32>>3]=F;D=(+b[i>>3]-+b[E>>3])*.5+D;b[Y+40>>3]=D;F=F-(+b[c>>3]-+b[g>>3])*.5;b[Y+48>>3]=F;b[Y+56>>3]=D;Q=Y+64|0;b[Q>>3]=F;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[i>>3]-+b[E>>3])*-.25;b[Y+72>>3]=F;D=M-(+b[c>>3]-+b[g>>3])*.5;b[Y+80>>3]=D;b[Y+88>>3]=F;b[Y+96>>3]=D;F=F-(+b[i>>3]-+b[E>>3])*.5;b[Y+104>>3]=F;E=Y+112|0;b[E>>3]=M;b[Y+120>>3]=F;ar(A,Y,G,f);b[m>>3]=+b[Z>>3];F=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-F)*.5+F;G=m+16|0;b[G>>3]=+b[Q>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);b[m>>3]=+b[E>>3];F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=+b[e>>3];b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<33554432){if((r|0)<8){switch(r|0){case 4:break;default:break A}l=$F((i*96|0)+32|0)|0;r=0;n=0;while(1){t=n|1;c=l+(n<<4)|0;if((r|0)>=(i|0))break;e=r<<2;Y=L+(e<<4)|0;a[c>>2]=a[Y>>2];a[c+4>>2]=a[Y+4>>2];a[c+8>>2]=a[Y+8>>2];a[c+12>>2]=a[Y+12>>2];Y=l+(t<<4)|0;m=L+((e|1)<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+2<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+3<<4)|0;m=L+((e|2)<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+4<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+5<<4)|0;e=L+((e|3)<<4)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];r=r+1|0;n=n+6|0}a[c>>2]=a[l>>2];a[c+4>>2]=a[l+4>>2];a[c+8>>2]=a[l+8>>2];a[c+12>>2]=a[l+12>>2];i=l+(t<<4)|0;Y=l+16|0;a[i>>2]=a[Y>>2];a[i+4>>2]=a[Y+4>>2];a[i+8>>2]=a[Y+8>>2];a[i+12>>2]=a[Y+12>>2];lr(A,Y,t,0,0,f&255);L2(l);break}if((r|0)<16777216){switch(r|0){case 8:break;default:break A}ar(A,e,i,f);n=m+16|0;r=0;while(1){if((r|0)>=(i|0))break A;Y=r*3|0;f=L+(Y+2<<4)|0;a[m>>2]=a[f>>2];a[m+4>>2]=a[f+4>>2];a[m+8>>2]=a[f+8>>2];a[m+12>>2]=a[f+12>>2];Y=L+(Y+4<<4)|0;a[n>>2]=a[Y>>2];a[n+4>>2]=a[Y+4>>2];a[n+8>>2]=a[Y+8>>2];a[n+12>>2]=a[Y+12>>2];tr(A,m,2);r=r+1|0}}switch(r|0){case 16777216:break;default:break A}n=i+1|0;l=qF(n<<4)|0;r=1;while(1){if((r|0)>=(i|0))break;Y=l+(r<<4)|0;Q=e+(r<<4)|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];r=r+1|0}e=i*3|0;Q=L+(e+1<<4)|0;a[l>>2]=a[Q>>2];a[l+4>>2]=a[Q+4>>2];a[l+8>>2]=a[Q+8>>2];a[l+12>>2]=a[Q+12>>2];i=l+(i<<4)|0;Y=L+(e+-1<<4)|0;a[i>>2]=a[Y>>2];a[i+4>>2]=a[Y+4>>2];a[i+8>>2]=a[Y+8>>2];a[i+12>>2]=a[Y+12>>2];ar(A,l,n,f);L2(l);a[m>>2]=a[Y>>2];a[m+4>>2]=a[Y+4>>2];a[m+8>>2]=a[Y+8>>2];a[m+12>>2]=a[Y+12>>2];Y=m+16|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];f=m+32|0;b[f>>3]=+b[m>>3]+ +b[Y>>3]-+b[L+(e<<4)>>3];b[m+40>>3]=+b[m+8>>3]+ +b[m+24>>3]-+b[L+(e<<4)+8>>3];tr(A,Y,2);a[Y>>2]=a[f>>2];a[Y+4>>2]=a[f+4>>2];a[Y+8>>2]=a[f+8>>2];a[Y+12>>2]=a[f+12>>2];tr(A,m,2);break}else{if((r|0)<50331648){switch(r|0){case 33554432:break;default:break A}n=i+2|0;l=qF(n<<4)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];t=l+16|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];t=L+48|0;i=L+64|0;b[l+32>>3]=(+b[t>>3]-+b[i>>3])*.3333333333333333+ +b[c>>3];Y=L+56|0;r=L+72|0;b[l+40>>3]=(+b[Y>>3]-+b[r>>3])*.3333333333333333+ +b[L+40>>3];F=+b[t>>3];b[l+48>>3]=(F-+b[i>>3])*.3333333333333333+F;F=+b[Y>>3];b[l+56>>3]=(F-+b[r>>3])*.3333333333333333+F;r=4;while(1){if((r|0)>=(n|0))break;Y=l+(r<<4)|0;i=e+(r+-2<<4)|0;a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];r=r+1|0}ar(A,l,n,f);L2(l);a[m>>2]=a[t>>2];a[m+4>>2]=a[t+4>>2];a[m+8>>2]=a[t+8>>2];a[m+12>>2]=a[t+12>>2];Y=m+16|0;a[Y>>2]=a[c>>2];a[Y+4>>2]=a[c+4>>2];a[Y+8>>2]=a[c+8>>2];a[Y+12>>2]=a[c+12>>2];tr(A,m,2);break}if((r|0)>=67108864){switch(r|0){case 67108864:break;default:break A}if((i|0)==4){Y=qF(96)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];i=Y+16|0;a[i>>2]=a[c>>2];a[i+4>>2]=a[c+4>>2];a[i+8>>2]=a[c+8>>2];a[i+12>>2]=a[c+12>>2];i=Y+32|0;Q=L+64|0;a[i>>2]=a[Q>>2];a[i+4>>2]=a[Q+4>>2];a[i+8>>2]=a[Q+8>>2];a[i+12>>2]=a[Q+12>>2];i=Y+48|0;e=e+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];e=Y+64|0;i=L+128|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=Y+80|0;G=L+160|0;a[e>>2]=a[G>>2];a[e+4>>2]=a[G+4>>2];a[e+8>>2]=a[G+8>>2];a[e+12>>2]=a[G+12>>2];ar(A,Y,6,f);L2(Y);b[m>>3]=+b[L+176>>3]+ +b[t>>3]-+b[L>>3];b[m+8>>3]=+b[L+184>>3]+ +b[L+24>>3]-+b[L+8>>3];Y=m+16|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];tr(A,m,2);a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];tr(A,m,2);a[Y>>2]=a[L>>2];a[Y+4>>2]=a[L+4>>2];a[Y+8>>2]=a[L+8>>2];a[Y+12>>2]=a[L+12>>2];tr(A,m,2);break}else vA(105438,105449,714,105458)}switch(r|0){case 50331648:break;default:break A}n=i+3|0;l=qF(n<<4)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];F=+b[e>>3];b[l+16>>3]=F-(F-+b[t>>3])*.25;r=L+56|0;F=(+b[r>>3]-+b[L+72>>3])*.3333333333333333+ +b[e+8>>3];b[l+24>>3]=F;M=+b[e>>3];b[l+32>>3]=M-(M-+b[t>>3])*2.0;b[l+40>>3]=F;F=+b[e>>3];b[l+48>>3]=F-(F-+b[t>>3])*2.25;b[l+56>>3]=+b[r>>3];b[l+64>>3]=+b[L+48>>3];b[l+72>>3]=+b[r>>3];r=4;while(1){if((r|0)>=(n|0))break;Y=l+(r<<4)|0;i=e+(r+-3<<4)|0;a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];r=r+1|0}ar(A,l,n,f);L2(l);break}}else if((r|0)<318767104){if((r|0)<251658240){if((r|0)<218103808){switch(r|0){case 201326592:break;default:break A}Y=i<<4;g=qF(Y)|0;E=e+16|0;F=+b[E>>3];b[g>>3]=F;G=e+40|0;M=+b[G>>3];Q=e+24|0;Z=L+48|0;C=L+56|0;I=L+72|0;M=(+b[Q>>3]-M)*.5+M+(+b[C>>3]-+b[I>>3])*.125;b[g+8>>3]=M;D=(+b[c>>3]-+b[Z>>3])*2.0+F;b[g+16>>3]=D;b[g+24>>3]=M;b[g+32>>3]=D;M=(+b[C>>3]-+b[I>>3])*.5+M;b[g+40>>3]=M;b[g+48>>3]=F;b[g+56>>3]=M;ar(A,g,i,f);L2(g);Y=qF(Y)|0;M=+b[c>>3]+ +b[E>>3]-+b[Z>>3];b[Y>>3]=M;F=+b[G>>3];F=(+b[Q>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*-.625;b[Y+8>>3]=F;D=+b[c>>3]-+b[Z>>3]+M;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=F;b[Y+32>>3]=D;F=(+b[C>>3]-+b[I>>3])*.5+F;b[Y+40>>3]=F;b[Y+48>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];F=+b[G>>3];b[m+8>>3]=(+b[Q>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}if((r|0)<234881024){switch(r|0){case 218103808:break;default:break A}Y=i<<4;C=qF(Y)|0;F=+b[e>>3];b[C>>3]=F;Z=e+40|0;M=+b[Z>>3];G=e+24|0;I=L+56|0;Q=L+72|0;M=(+b[G>>3]-M)*.5+M+(+b[I>>3]-+b[Q>>3])*.125;b[C+8>>3]=M;b[C+16>>3]=F;D=(+b[I>>3]-+b[Q>>3])*.5+M;b[C+24>>3]=D;F=F-(+b[I>>3]-+b[Q>>3])*2.0;b[C+32>>3]=F;b[C+40>>3]=D;b[C+48>>3]=F;b[C+56>>3]=M;ar(A,C,i,f);L2(C);Y=qF(Y)|0;M=+b[e>>3]-+b[c>>3]+ +b[L+48>>3];b[Y>>3]=M;F=+b[Z>>3];F=(+b[G>>3]-F)*.5+F+(+b[I>>3]-+b[Q>>3])*-.625;b[Y+8>>3]=F;b[Y+16>>3]=M;D=(+b[I>>3]-+b[Q>>3])*.5+F;b[Y+24>>3]=D;M=M-(+b[I>>3]-+b[Q>>3]);b[Y+32>>3]=M;b[Y+40>>3]=D;Q=Y+48|0;b[Q>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[e+16>>3];F=+b[Z>>3];b[m+8>>3]=(+b[G>>3]-F)*.5+F;b[m+16>>3]=+b[Q>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 234881024:break;default:break A}Y=i<<4;Z=qF(Y)|0;g=e+16|0;M=+b[g>>3];E=L+48|0;M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*-1.125;b[Z>>3]=M;C=e+40|0;F=+b[C>>3];I=e+24|0;Q=L+56|0;G=L+72|0;F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*.125;b[Z+8>>3]=F;D=+b[c>>3]-+b[E>>3]+M;b[Z+16>>3]=D;b[Z+24>>3]=F;b[Z+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Z+40>>3]=F;b[Z+48>>3]=M;b[Z+56>>3]=F;ar(A,Z,i,f);L2(Z);Z=qF(Y)|0;F=+b[g>>3];F=(+b[e>>3]-F)*.5+F+(+b[c>>3]-+b[E>>3])*-1.125;b[Z>>3]=F;M=+b[C>>3];M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*-.625;b[Z+8>>3]=M;D=+b[c>>3]-+b[E>>3]+F;b[Z+16>>3]=D;b[Z+24>>3]=M;b[Z+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[Z+40>>3]=M;b[Z+48>>3]=F;b[Z+56>>3]=M;ar(A,Z,i,f);L2(Z);Z=qF(Y)|0;M=+b[g>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*.125;b[Z>>3]=M;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*-.625;b[Z+8>>3]=F;D=+b[c>>3]-+b[E>>3]+M;b[Z+16>>3]=D;b[Z+24>>3]=F;b[Z+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Z+40>>3]=F;b[Z+48>>3]=M;b[Z+56>>3]=F;ar(A,Z,i,f);L2(Z);Y=qF(Y)|0;F=+b[g>>3];F=(+b[e>>3]-F)*.5+F+(+b[c>>3]-+b[E>>3])*.125;b[Y>>3]=F;M=+b[C>>3];M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*.125;b[Y+8>>3]=M;D=+b[c>>3]-+b[E>>3]+F;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=M;b[Y+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[Y+40>>3]=M;b[Y+48>>3]=F;b[Y+56>>3]=M;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];M=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-M)*.5+M;G=m+16|0;b[G>>3]=+b[e>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+M;tr(A,m,2);M=+b[g>>3];b[m>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*-1.125;F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=M;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<285212672)if((r|0)<268435456){switch(r|0){case 251658240:break;default:break A}Y=i<<4;g=qF(Y)|0;E=e+16|0;F=+b[E>>3];Z=L+48|0;F=F-+b[c>>3]+(+b[e>>3]-F)*.5+ +b[Z>>3];b[g>>3]=F;C=e+40|0;M=+b[C>>3];I=e+24|0;Q=L+56|0;G=L+72|0;M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*.125;b[g+8>>3]=M;D=(+b[c>>3]-+b[Z>>3])*2.0+F;b[g+16>>3]=D;b[g+24>>3]=M;b[g+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[g+40>>3]=M;b[g+48>>3]=F;b[g+56>>3]=M;ar(A,g,i,f);L2(g);Y=qF(Y)|0;M=+b[E>>3];M=M-+b[c>>3]+(+b[e>>3]-M)*.5+ +b[Z>>3];b[Y>>3]=M;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*-.625;b[Y+8>>3]=F;D=(+b[c>>3]-+b[Z>>3])*2.0+M;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=F;b[Y+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Y+40>>3]=F;b[Y+48>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];F=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-F)*.5+F;G=m+16|0;b[G>>3]=+b[e>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);b[m>>3]=+b[E>>3];F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=+b[Y>>3];b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 268435456:break;default:break A}Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];E=L+48|0;I=L+56|0;Z=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[I>>3]-+b[Z>>3])*.5;b[Y+16>>3]=+b[E>>3];F=+b[I>>3];b[Y+24>>3]=F-(F-+b[Z>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=(+b[I>>3]-+b[Z>>3])*.5+ +b[G>>3];b[Y+48>>3]=+b[e>>3];b[Y+56>>3]=(+b[I>>3]-+b[Z>>3])*.5+ +b[G>>3];ar(A,Y,i,f);C=e+16|0;F=(+b[c>>3]-+b[E>>3])*.25;M=F+ +b[C>>3];b[m>>3]=M;D=+b[G>>3];g=e+24|0;y=+b[I>>3]-+b[Z>>3];D=(+b[g>>3]-D)*.5+D+y*.125;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F+M;f=m+24|0;b[f>>3]=D-y*.25;tr(A,m,2);y=(+b[c>>3]-+b[E>>3])*.25;D=y+ +b[C>>3];b[m>>3]=D;M=+b[G>>3];F=+b[I>>3]-+b[Z>>3];M=(+b[g>>3]-M)*.5+M+F*-.125;b[Q>>3]=M;b[i>>3]=y+D;b[f>>3]=F*.25+M;tr(A,m,2);M=(+b[c>>3]-+b[E>>3])*.25;b[m>>3]=M+ +b[C>>3];F=(+b[I>>3]-+b[Z>>3])*.75+ +b[G>>3];b[Q>>3]=F;b[i>>3]=+b[e>>3]-M;b[f>>3]=F;tr(A,m,2);L2(Y);break}else if((r|0)<301989888){switch(r|0){case 285212672:break;default:break A}Z=qF(i<<4)|0;E=e+16|0;M=+b[E>>3];G=L+48|0;M=(+b[c>>3]-+b[G>>3]+(+b[e>>3]-M))*.5+M;b[Z>>3]=M;C=e+40|0;y=+b[C>>3];I=e+24|0;y=(+b[c>>3]-+b[G>>3]+(+b[I>>3]-y))*.5+y;b[Z+8>>3]=y;b[Z+16>>3]=M;M=+b[C>>3];u=+b[c>>3]-+b[G>>3];M=(+b[I>>3]-M-u)*.5+M;b[Z+24>>3]=M;F=+b[E>>3];F=(+b[e>>3]-F-u)*.5+F;b[Z+32>>3]=F;b[Z+40>>3]=M;b[Z+48>>3]=F;b[Z+56>>3]=y;ar(A,Z,i,f);L2(Z);y=+b[E>>3];y=(+b[e>>3]-y)*.5+y;F=+b[c>>3]-+b[G>>3];M=F*.75;u=y+M;b[m>>3]=u;D=+b[C>>3];D=(+b[I>>3]-D)*.5+D;M=D+M;Z=m+8|0;b[Z>>3]=M;Q=m+16|0;b[Q>>3]=u;F=F*-.75;D=D+F;Y=m+24|0;b[Y>>3]=D;F=y+F;b[m+32>>3]=F;b[m+40>>3]=D;b[m+48>>3]=F;b[m+56>>3]=M;i=m+64|0;a[i>>2]=a[m>>2];a[i+4>>2]=a[m+4>>2];a[i+8>>2]=a[m+8>>2];a[i+12>>2]=a[m+12>>2];tr(A,m,5);M=+b[E>>3];F=+b[e>>3];b[m>>3]=(F-M)*.5+M+(+b[c>>3]-+b[G>>3])*.75;M=+b[C>>3];b[Z>>3]=(+b[I>>3]-M)*.5+M;b[Q>>3]=F;i=e+8|0;f=e+56|0;b[Y>>3]=(+b[i>>3]-+b[f>>3])*.5+M;tr(A,m,2);M=+b[E>>3];b[m>>3]=M;F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[Q>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[G>>3])*-.75;b[Y>>3]=(+b[i>>3]-+b[f>>3])*.5+F;tr(A,m,2);break}else{switch(r|0){case 301989888:break;default:break A}Q=i+12|0;Y=qF(Q<<4)|0;I=e+16|0;s=+b[I>>3];B=L+48|0;s=(+b[e>>3]-s)*.5+s+(+b[c>>3]-+b[B>>3])*.25;b[Y>>3]=s;Z=e+40|0;y=+b[Z>>3];G=e+24|0;E=L+56|0;C=L+72|0;y=(+b[E>>3]-+b[C>>3]+(+b[G>>3]-y))*.5+y;g=Y+8|0;b[g>>3]=y;b[Y+16>>3]=s;y=(+b[E>>3]-+b[C>>3])*.125+y;v=Y+24|0;b[v>>3]=y;D=s-(+b[c>>3]-+b[B>>3])*.125;i=Y+32|0;b[i>>3]=D;u=(+b[E>>3]-+b[C>>3])*.125+y;b[Y+40>>3]=u;b[Y+48>>3]=s;M=(+b[E>>3]-+b[C>>3])*.125+u;b[Y+56>>3]=M;b[Y+64>>3]=s;s=(+b[E>>3]-+b[C>>3])*.125+M;b[Y+72>>3]=s;b[Y+80>>3]=D;b[Y+88>>3]=s;D=+b[I>>3];D=(+b[e>>3]-D)*.5+D;b[Y+96>>3]=D;b[Y+104>>3]=M;F=D-(+b[c>>3]-+b[B>>3])*.125;b[Y+112>>3]=F;b[Y+120>>3]=s;F=F-(+b[c>>3]-+b[B>>3])*.125;b[Y+128>>3]=F;b[Y+136>>3]=s;b[Y+144>>3]=F;b[Y+152>>3]=M;M=(+b[c>>3]-+b[B>>3])*.125+F;b[Y+160>>3]=M;b[Y+168>>3]=u;b[Y+176>>3]=F;b[Y+184>>3]=y;b[Y+192>>3]=F;F=+b[g>>3];b[Y+200>>3]=F;b[Y+208>>3]=M;b[Y+216>>3]=F;g=Y+224|0;b[g>>3]=D;b[Y+232>>3]=+b[v>>3];b[Y+240>>3]=+b[i>>3];b[Y+248>>3]=F;ar(A,Y,Q,f);F=+b[g>>3];b[m>>3]=F;D=+b[Z>>3];D=(+b[G>>3]-D)*.5+D;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F;f=m+24|0;b[f>>3]=(+b[E>>3]-+b[C>>3])*.125+D;tr(A,m,2);D=+b[g>>3];b[m>>3]=D;F=+b[Z>>3];M=+b[E>>3]-+b[C>>3];F=(+b[G>>3]-F)*.5+F+M*.25;b[Q>>3]=F;b[i>>3]=D;b[f>>3]=M*.125+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}}else{if((r|0)<369098752){if((r|0)<335544320){switch(r|0){case 318767104:break;default:break A}Q=i+4|0;Y=qF(Q<<4)|0;I=e+16|0;D=+b[I>>3];i=L+48|0;D=(+b[e>>3]-D)*.5+D+(+b[c>>3]-+b[i>>3])*.125;b[Y>>3]=D;Z=e+40|0;F=+b[Z>>3];G=e+24|0;E=L+56|0;C=L+72|0;F=(+b[E>>3]-+b[C>>3]+(+b[G>>3]-F))*.5+F;b[Y+8>>3]=F;u=(+b[c>>3]-+b[i>>3])*.125+D;b[Y+16>>3]=u;M=(+b[E>>3]-+b[C>>3])*.125+F;b[Y+24>>3]=M;b[Y+32>>3]=u;u=(+b[E>>3]-+b[C>>3])*.25+M;b[Y+40>>3]=u;b[Y+48>>3]=D;y=(+b[E>>3]-+b[C>>3])*.125+u;b[Y+56>>3]=y;D=D-(+b[c>>3]-+b[i>>3])*.25;b[Y+64>>3]=D;b[Y+72>>3]=y;y=D-(+b[c>>3]-+b[i>>3])*.125;b[Y+80>>3]=y;b[Y+88>>3]=u;b[Y+96>>3]=y;b[Y+104>>3]=M;b[Y+112>>3]=D;b[Y+120>>3]=F;ar(A,Y,Q,f);F=+b[I>>3];F=(+b[e>>3]-F)*.5+F;b[m>>3]=F;D=+b[Z>>3];D=(+b[G>>3]-D)*.5+D;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F;f=m+24|0;b[f>>3]=(+b[E>>3]-+b[C>>3])*.125+D;tr(A,m,2);D=+b[I>>3];D=(+b[e>>3]-D)*.5+D;b[m>>3]=D;F=+b[Z>>3];M=+b[E>>3]-+b[C>>3];F=(+b[G>>3]-F)*.5+F+M*.25;b[Q>>3]=F;b[i>>3]=D;b[f>>3]=M*.125+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}if((r|0)<352321536){switch(r|0){case 335544320:break;default:break A}I=i+12|0;Y=qF(I<<4)|0;Z=e+16|0;s=+b[Z>>3];g=L+48|0;s=(+b[e>>3]-s)*.5+s+(+b[c>>3]-+b[g>>3])*.25;b[Y>>3]=s;G=e+40|0;y=+b[G>>3];Q=e+24|0;B=L+56|0;v=L+72|0;y=(+b[B>>3]-+b[v>>3]+(+b[Q>>3]-y))*.5+y;i=Y+8|0;b[i>>3]=y;b[Y+16>>3]=s;y=(+b[B>>3]-+b[v>>3])*.125+y;E=Y+24|0;b[E>>3]=y;M=s-(+b[c>>3]-+b[g>>3])*.125;C=Y+32|0;b[C>>3]=M;u=(+b[B>>3]-+b[v>>3])*.125+y;b[Y+40>>3]=u;b[Y+48>>3]=s;D=(+b[B>>3]-+b[v>>3])*.125+u;b[Y+56>>3]=D;b[Y+64>>3]=s;s=(+b[B>>3]-+b[v>>3])*.125+D;b[Y+72>>3]=s;b[Y+80>>3]=M;b[Y+88>>3]=s;M=+b[Z>>3];M=(+b[e>>3]-M)*.5+M;b[Y+96>>3]=M;b[Y+104>>3]=D;F=M-(+b[c>>3]-+b[g>>3])*.125;b[Y+112>>3]=F;b[Y+120>>3]=s;F=F-(+b[c>>3]-+b[g>>3])*.125;b[Y+128>>3]=F;b[Y+136>>3]=s;b[Y+144>>3]=F;b[Y+152>>3]=D;D=(+b[c>>3]-+b[g>>3])*.125+F;b[Y+160>>3]=D;b[Y+168>>3]=u;b[Y+176>>3]=F;b[Y+184>>3]=y;b[Y+192>>3]=F;F=+b[i>>3];b[Y+200>>3]=F;b[Y+208>>3]=D;b[Y+216>>3]=F;i=Y+224|0;b[i>>3]=M;b[Y+232>>3]=+b[E>>3];b[Y+240>>3]=+b[C>>3];b[Y+248>>3]=F;ar(A,Y,I,f);a[m>>2]=a[i>>2];a[m+4>>2]=a[i+4>>2];a[m+8>>2]=a[i+8>>2];a[m+12>>2]=a[i+12>>2];i=m+16|0;b[i>>3]=+b[m>>3];F=+b[G>>3];f=m+24|0;b[f>>3]=(+b[Q>>3]-F)*.5+F;tr(A,m,2);b[m>>3]=+b[Z>>3];F=+b[G>>3];b[m+8>>3]=(+b[Q>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 352321536:break;default:break A}Q=i+4|0;Y=qF(Q<<4)|0;I=e+16|0;M=+b[I>>3];C=L+48|0;M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[C>>3])*.125;b[Y>>3]=M;Z=e+40|0;F=+b[Z>>3];G=e+24|0;g=L+56|0;E=L+72|0;F=(+b[g>>3]-+b[E>>3]+(+b[G>>3]-F))*.5+F;i=Y+8|0;b[i>>3]=F;u=(+b[c>>3]-+b[C>>3])*.125+M;b[Y+16>>3]=u;D=(+b[g>>3]-+b[E>>3])*.125+F;b[Y+24>>3]=D;b[Y+32>>3]=u;u=(+b[g>>3]-+b[E>>3])*.25+D;b[Y+40>>3]=u;b[Y+48>>3]=M;y=(+b[g>>3]-+b[E>>3])*.125+u;b[Y+56>>3]=y;M=M-(+b[c>>3]-+b[C>>3])*.25;b[Y+64>>3]=M;b[Y+72>>3]=y;y=M-(+b[c>>3]-+b[C>>3])*.125;b[Y+80>>3]=y;b[Y+88>>3]=u;b[Y+96>>3]=y;b[Y+104>>3]=D;b[Y+112>>3]=M;b[Y+120>>3]=F;ar(A,Y,Q,f);F=+b[I>>3];F=(+b[e>>3]-F)*.5+F;b[m>>3]=F;Q=m+8|0;b[Q>>3]=+b[i>>3];i=m+16|0;b[i>>3]=F;F=+b[Z>>3];f=m+24|0;b[f>>3]=(+b[G>>3]-F)*.5+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<402653184)if((r|0)<385875968){switch(r|0){case 369098752:break;default:break A}i=i+5|0;Y=qF(i<<4)|0;m=L+48|0;b[Y>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;Z=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[Z>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[m>>3];F=+b[Z>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=+b[G>>3];F=+b[c>>3];b[Y+48>>3]=(F-+b[m>>3])*.5+F;b[Y+56>>3]=+b[G>>3];F=+b[c>>3];b[Y+64>>3]=(F-+b[m>>3])*.5+F;b[Y+72>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+80>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;b[Y+88>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;G=e+56|0;b[Y+104>>3]=+b[G>>3];Q=e+8|0;F=+b[Q>>3];b[Y+120>>3]=F-(F-+b[G>>3])*.5;b[Y+112>>3]=+b[e>>3];b[Y+136>>3]=+b[Q>>3];b[Y+128>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;ar(A,Y,i,f);L2(Y);break}else{switch(r|0){case 385875968:break;default:break A}i=i+3|0;Y=qF(i<<4)|0;m=L+48|0;b[Y>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;Z=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[Z>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[m>>3];F=+b[Z>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+48>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;b[Y+56>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+64>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;G=e+56|0;b[Y+72>>3]=+b[G>>3];Q=e+8|0;F=+b[Q>>3];b[Y+88>>3]=F-(F-+b[G>>3])*.5;b[Y+80>>3]=+b[e>>3];b[Y+104>>3]=+b[Q>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;ar(A,Y,i,f);L2(Y);break}else if((r|0)<419430400){switch(r|0){case 402653184:break;default:break A}i=i+3|0;Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];Z=e+8|0;G=L+48|0;Q=L+56|0;m=L+72|0;b[Y+8>>3]=+b[Z>>3]-(+b[Q>>3]-+b[m>>3])*.5;F=+b[c>>3];b[Y+16>>3]=(F-+b[G>>3])*.5+F;b[Y+24>>3]=+b[Z>>3]-(+b[Q>>3]-+b[m>>3])*.5;F=+b[c>>3];b[Y+32>>3]=(F-+b[G>>3])*.5+F;b[Y+40>>3]=+b[L+40>>3];b[Y+48>>3]=+b[e+16>>3];F=+b[e+24>>3];Z=e+40|0;b[Y+56>>3]=F-(F-+b[Z>>3])*.5;F=+b[c>>3];b[Y+64>>3]=(F-+b[G>>3])*.5+F;b[Y+72>>3]=+b[Z>>3];b[Y+88>>3]=(+b[Q>>3]-+b[m>>3])*.5+ +b[Z>>3];F=+b[c>>3];b[Y+80>>3]=(F-+b[G>>3])*.5+F;b[Y+104>>3]=(+b[Q>>3]-+b[m>>3])*.5+ +b[e+56>>3];b[Y+96>>3]=+b[e>>3];ar(A,Y,i,f);L2(Y);break}else{switch(r|0){case 419430400:break;default:break A}i=i+5|0;Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];m=e+8|0;Q=L+48|0;Z=L+56|0;G=L+72|0;b[Y+8>>3]=+b[m>>3]-(+b[Z>>3]-+b[G>>3])*.5;F=+b[c>>3];b[Y+16>>3]=(F-+b[Q>>3])*.5+F;b[Y+24>>3]=+b[m>>3]-(+b[Z>>3]-+b[G>>3])*.5;F=+b[c>>3];b[Y+32>>3]=(F-+b[Q>>3])*.5+F;b[Y+40>>3]=+b[L+40>>3];b[Y+48>>3]=+b[e+16>>3];F=+b[e+24>>3];m=e+40|0;b[Y+56>>3]=F-(F-+b[m>>3])*.5;F=+b[c>>3];b[Y+64>>3]=(F-+b[Q>>3])*.5+F;b[Y+72>>3]=+b[m>>3];b[Y+88>>3]=(+b[Z>>3]-+b[G>>3])*.5+ +b[m>>3];F=+b[c>>3];b[Y+80>>3]=(F-+b[Q>>3])*.5+F;m=e+56|0;b[Y+104>>3]=(+b[Z>>3]-+b[G>>3])*.5+ +b[m>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[Q>>3])*.5;b[Y+112>>3]=+b[t>>3]-(+b[c>>3]-+b[Q>>3])*.5;b[Y+120>>3]=+b[m>>3];b[Y+128>>3]=+b[e+48>>3];b[Y+136>>3]=+b[m>>3];ar(A,Y,i,f);L2(Y);break}}}while(0);L2(L)}k=W;return}function cN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0;f=k;k=k+112|0;n=f;c=+b[e+8>>3]*2.0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];b[n+16>>3]=+b[e+16>>3];b[n+24>>3]=c-+b[e+24>>3];b[n+32>>3]=+b[e+32>>3];b[n+40>>3]=c-+b[e+40>>3];b[n+48>>3]=+b[e+48>>3];b[n+56>>3]=c-+b[e+56>>3];b[n+64>>3]=+b[e+64>>3];b[n+72>>3]=c-+b[e+72>>3];b[n+80>>3]=+b[e+80>>3];b[n+88>>3]=c-+b[e+88>>3];l=n+96|0;t=e+96|0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];lr(A,e,i,0,0,r&255);lr(A,n,7,0,0,0);k=f;return}function bN(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,a=0.0;a=+b[i>>3];f=+b[i+8>>3];f=(+b[r+8>>3]-f)*e+f;b[A>>3]=(+b[r>>3]-a)*e+a;b[A+8>>3]=f;return}function sN(A){A=A|0;A=a[(a[A+16>>2]|0)+8>>2]|0;if(A){A=a[a[A+4>>2]>>2]|0;if((A|0)!=91)if((A|0)==94)A=2;else return((A|0)==93?3:(A|0)==96?4:0)|0;else A=1}else A=0;return A|0}function wN(A){A=A|0;var e=0,i=0,f=0.0,n=0,l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0,Q=0,m=0,L=0,W=0,Y=0,F=0,V=0,J=0,N=0,R=0.0,H=0.0,p=0,x=0,T=0.0,j=0.0,S=0.0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0.0;AA=k;k=k+144|0;F=AA+112|0;N=AA+104|0;L=AA+96|0;W=AA+88|0;l=AA+80|0;K=AA+64|0;q=AA+48|0;p=AA+40|0;x=AA+32|0;t=AA+24|0;o=AA+16|0;m=AA+136|0;Q=AA+128|0;V=AA;$=qF(48)|0;_=A+16|0;P=a[(a[(a[_>>2]|0)+8>>2]|0)+8>>2]|0;n=(P|0)==1616;O=a[P>>2]|0;e=a[P+4>>2]|0;i=a[P+8>>2]|0;s=+b[P+16>>3];w=+b[P+32>>3];u=+b[P+24>>3];O=O|(gR(po(A,105511)|0)|0)&255;do{if(!n){if(!O){P=a[_>>2]|0;c=+b[P+32>>3]*72.0;f=+b[P+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);break}c=+CN(A);if(c>0.0)f=c;else{P=a[_>>2]|0;f=+b[P+32>>3];c=+b[P+40>>3];c=(f=0.0?.5:-.5))|0);f=c}}else{f=0.0;c=0.0}}while(0);P=kR(A,a[47160]|0,e,0)|0;S=+oR(A,a[47162]|0,0.0,-360.0)+s;if(!i){j=+oR(A,a[47163]|0,0.0,-100.0);Y=kR(A,a[47159]|0,4,0)|0;T=+oR(A,a[47164]|0,0.0,-100.0)}else{Y=i;j=w;T=u}e=a[(a[_>>2]|0)+104>>2]|0;i=e+24|0;a[K>>2]=a[i>>2];a[K+4>>2]=a[i+4>>2];a[K+8>>2]=a[i+8>>2];a[K+12>>2]=a[i+12>>2];h=+b[K>>3];if(h>0.0){if(!n)J=11}else if(!(n|!(+b[K+8>>3]>0.0)))J=11;if((J|0)==11){e=po(A,105496)|0;do{if(e){b[o>>3]=0.0;b[t>>3]=0.0;a[l>>2]=t;a[l+4>>2]=o;e=J3(e,105503,l)|0;s=+b[t>>3];if(s<0.0){b[t>>3]=0.0;s=0.0}w=+b[o>>3];if(w<0.0){b[o>>3]=0.0;u=0.0}else u=w;if((e|0)<=0){w=h+16.0;b[K>>3]=w;s=8.0;break}s=s*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0);w=h+s;b[K>>3]=w;if((e|0)!=1){s=u*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0)}}else{w=h+16.0;b[K>>3]=w;s=8.0}}while(0);e=K+8|0;b[e>>3]=+b[e>>3]+s;e=a[(a[_>>2]|0)+104>>2]|0;h=w}B=+b[e+24>>3];s=+b[a[(a[(Id(A)|0)+16>>2]|0)+8>>2]>>3];if(s>0.0){R=s*72.0;R=+(~~(R+(R>=0.0?.5:-.5))|0);H=+IN(h,R);b[K>>3]=H;o=K+8|0;b[o>>3]=+IN(+b[o>>3],R)}else H=h;e=a[(a[_>>2]|0)+8>>2]|0;do{if(!(r[e+12>>0]|0)){i=po(A,109025)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){Ug(Q,Id(A)|0,i);e=a[Q>>2]|0;n=a[Q+4>>2]|0;if((n&e|0)==-1){e=Vh(A)|0;a[L>>2]=i;a[L+4>>2]=e;ao(0,105587,L)|0;i=0;e=0;break}else{r[(a[(Id(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=n+2|0;break}}else{i=0;e=0}}else{e=a[e>>2]|0;if((r[e>>0]|0)==99?(A1(e,105519)|0)==0:0){i=po(A,105526)|0;Ug(m,Id(A)|0,i);e=a[m>>2]|0;n=a[m+4>>2]|0;if((n&e|0)==-1){e=Vh(A)|0;a[W>>2]=i|0?i:105536;a[W+4>>2]=e;ao(0,105542,W)|0;i=0;e=0;break}else{r[(a[(Id(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=n+2|0;break}}else{i=0;e=0}}}while(0);R=+(i|0);b[q>>3]=H>R?H:R;R=+b[K+8>>3];d=+(e|0);e=q+8|0;b[e>>3]=R>d?R:d;i=(Y|0)<3&(T!=0.0|j!=0.0)?120:Y;n=po(A,105628)|0;if(!n)l=99;else{l=r[n>>0]|0;l=l<<24>>24==116?116:l<<24>>24==98?98:99}n=a[_>>2]|0;r[(a[n+104>>2]|0)+80>>0]=l;if((i|0)==4?(T==0.0?((~~(S+(S>=0.0?.5:-.5))|0)%90|0|0)==0:0)&j==0.0:0)o=1;else J=39;do{if((J|0)==39){n=a[(a[(a[n+8>>2]|0)+8>>2]|0)+44>>2]|0;if(n|0){o=a[n>>2]|0;a[F>>2]=a[q>>2];a[F+4>>2]=a[q+4>>2];a[F+8>>2]=a[q+8>>2];a[F+12>>2]=a[q+12>>2];V5[o&63](V,F);a[q>>2]=a[V>>2];a[q+4>>2]=a[V+4>>2];a[q+8>>2]=a[V+8>>2];a[q+12>>2]=a[V+12>>2];o=0;break}s=+b[e>>3];w=s*1.4142135623730951;if(f>w&l<<24>>24==99){u=s/f;u=+z(+(1.0/(1.0-u*u)));u=+b[q>>3]*u;b[q>>3]=u}else{u=+b[q>>3]*1.4142135623730951;b[q>>3]=u;b[e>>3]=w;s=w}if((i|0)>2){G=+D(+(3.141592653589793/+(i|0)));b[q>>3]=u/G;b[e>>3]=s/G;o=0}else o=0}}while(0);s=+b[e>>3];n=dR(A,a[47165]|0,137308)|0;if((r[n>>0]|0)==115?(A1(n,108230)|0)==0:0){b[q>>3]=c;b[e>>3]=f;N=$+40|0;a[N>>2]=a[N>>2]|2048}else{if(!((gR(n)|0)<<24>>24)){G=+b[q>>3];c=c>G?c:G;b[q>>3]=c;G=+b[e>>3];f=f>G?f:G}else{J=a[(a[_>>2]|0)+104>>2]|0;if(!(!(c<+b[J+24>>3])?!(f<+b[J+32>>3]):0)){V=Vh(A)|0;J=Vh(Id(A)|0)|0;a[N>>2]=V;a[N+4>>2]=J;ao(0,105637,N)|0}b[q>>3]=c}b[e>>3]=f}if(!O){G=f;Z=c}else{Z=c>f?c:f;b[e>>3]=Z;b[q>>3]=Z;G=Z}do{if(!((gR(dR(A,a[47156]|0,137308)|0)|0)<<24>>24)){if(o){f=+b[(H>+b[q>>3]?K:q)>>3];break}f=+b[e>>3];if(R>3]*+z(+(1.0-R*R/(f*f)));f=H>f?H:f}else f=H}else f=H}while(0);n=a[(a[_>>2]|0)+104>>2]|0;b[n+40>>3]=B-h+f;Q=$+40|0;if(!(a[Q>>2]&2048)){I=+b[e>>3]-s;b[n+48>>3]=(R1;n=t?P:1;A:do{if((i|0)<3){n=qF(n<<5)|0;c=+b[q>>3]*.5;f=+b[e>>3]*.5;b[n>>3]=-c;b[n+8>>3]=-f;b[n+16>>3]=c;b[n+24>>3]=f;if(t){i=1;l=2;while(1){if((i|0)==(P|0))break;Z=c+4.0;G=f+4.0;b[n+(l<<4)>>3]=-Z;b[n+(l<<4)+8>>3]=-G;x=l|1;b[n+(x<<4)>>3]=Z;b[n+(x<<4)+8>>3]=G;i=i+1|0;l=l+2|0;c=Z;f=G}b[q>>3]=c*2.0;b[e>>3]=f*2.0;i=2}else i=2}else{n=qF(U(n<<4,i)|0)|0;l=a[(a[(a[(a[_>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;e:do{if(!l){h=6.283185307179586/+(i|0);v=h*.5;d=+M(+v);B=+v1(+y(+j)+ +y(+T),1.0);v=T*1.4142135623730951/+D(+v);g=j*.5;E1((h+-3.141592653589793)*.5,p,x);E=S*.017453292519943295;c=0.0;f=0.0;s=0.0;l=0;w=+b[x>>3]*.5;u=+b[p>>3]*.5;while(1){if((l|0)>=(i|0))break e;s=s+h;E1(s,p,x);w=+b[x>>3]*d+w;u=+b[p>>3]*d+u;I=(u*v+B)*w+g*u;E1(+X(+u,+I)+E,p,x);I=+v1(I,u);C=+b[x>>3]*I*+b[q>>3];I=+b[p>>3]*I*+b[e>>3];eA=+y(+C);f=eA>f?eA:f;eA=+y(+I);c=eA>c?eA:c;b[n+(l<<4)>>3]=C;b[n+(l<<4)+8>>3]=I;if(o)break;else l=l+1|0}eA=-C;b[n+16>>3]=eA;b[n+24>>3]=I;b[n+32>>3]=eA;eA=-I;b[n+40>>3]=eA;b[n+48>>3]=C;b[n+56>>3]=eA}else{V5[a[l+4>>2]&63](n,q);c=+b[e>>3]*.5;f=+b[q>>3]*.5}}while(0);f=f*2.0;c=c*2.0;Z=Z>f?Z:f;b[q>>3]=Z;eA=G>c?G:c;b[e>>3]=eA;f=Z/f;c=eA/c;l=0;while(1){if((l|0)>=(i|0))break;N=n+(l<<4)|0;A=n+(l<<4)+8|0;eA=+b[A>>3]*c;b[N>>3]=+b[N>>3]*f;b[A>>3]=eA;l=l+1|0}if(t){t=i+-1|0;c=+b[n>>3];s=+b[n+8>>3];f=+X(+(s-+b[n+(t<<4)+8>>3]),+(c-+b[n+(t<<4)>>3]));t=0;e:while(1){if((t|0)>=(i|0))break;o=t+1|0;l=(o|0)%(i|0)|0;w=+b[n+(l<<4)>>3];u=+b[n+(l<<4)+8>>3];h=+X(+(u-s),+(w-c));G=(f+3.141592653589793-h)*.5;eA=4.0/+M(+G);E1(f-G,p,x);b[p>>3]=+b[p>>3]*eA;b[x>>3]=+b[x>>3]*eA;l=1;f=s;while(1){if((l|0)==(P|0)){f=h;t=o;c=w;s=u;continue e}G=+b[x>>3]+c;eA=+b[p>>3]+f;A=(U(l,i)|0)+t|0;b[n+(A<<4)>>3]=G;b[n+(A<<4)+8>>3]=eA;l=l+1|0;c=G;f=eA}}t=U(i,P+-1|0)|0;l=0;while(1){if((l|0)>=(i|0))break A;x=l+t|0;G=+b[n+(x<<4)+8>>3];Z=+y(+ +b[n+(x<<4)>>3])*2.0;eA=+b[q>>3];b[q>>3]=Z>eA?Z:eA;G=+y(+G)*2.0;eA=+b[e>>3];b[e>>3]=G>eA?G:eA;l=l+1|0}}}}while(0);a[$>>2]=O;a[$+4>>2]=P;a[$+8>>2]=i;b[$+16>>3]=S;b[$+32>>3]=j;b[$+24>>3]=T;a[$+44>>2]=n;f=+b[q>>3];if(!(a[Q>>2]&2048)){i=a[_>>2]|0;b[i+32>>3]=f*.013888888888888888}else{i=a[_>>2]|0;b[i+32>>3]=+b[(H>f?K:q)>>3]*.013888888888888888;e=(R>+b[e>>3]?K:q)+8|0}b[i+40>>3]=+b[e>>3]*.013888888888888888;a[i+12>>2]=$;k=AA;return}function uN(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+64|0;t=u+40|0;r=u+32|0;c=u+16|0;w=u;i=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;s=A+16|0;f=a[a[(a[s>>2]|0)+104>>2]>>2]|0;a[47282]=f;f=S2(f)|0;f=qF(((f|0)>1?f:1)+1|0)|0;e=oN(A,i,1,f)|0;if(!e){a[r>>2]=a[a[(a[s>>2]|0)+104>>2]>>2];ao(1,105472,r)|0;a[47282]=105493;e=oN(A,i,1,f)|0}L2(f);hN(t,A,e);i=a[s>>2]|0;l=+b[i+32>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))|0);b[w>>3]=l;n=+b[i+40>>3]*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);i=w+8|0;b[i>>3]=n;if(!((gR(dR(A,a[47165]|0,137308)|0)|0)<<24>>24)){l=+b[(+b[e>>3]>l?e:w)>>3];b[w>>3]=l;r=e+8|0;n=+b[(+b[r>>3]>n?e:w)+8>>3];b[i>>3]=n;i=r;r=e}else{i=e+8|0;r=e}A=(gR(dR(A,a[47156]|0,137308)|0)|0)&255;a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2];dN(e,t,A);BN(c,l*-.5,n*.5);a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];vN(e,t,15);w=a[s>>2]|0;b[w+32>>3]=+b[r>>3]*.013888888888888888;b[w+40>>3]=(+b[i>>3]+1.0)*.013888888888888888;a[w+12>>2]=e;k=u;return}function kN(A){A=A|0;var e=0.0,i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0.0,w=0;t=qF(48)|0;c=A+16|0;n=a[(a[(a[(a[c>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+oR(A,a[47146]|0,1797693134862315708145274.0e284,0.0);e=+oR(A,a[47145]|0,1797693134862315708145274.0e284,0.0);f=f0.0?f>.0003?f:.0003:f;l=a[c>>2]|0;b[l+40>>3]=f;b[l+32>>3]=f;e=f*72.0;n=kR(A,a[47160]|0,n,0)|0;l=qF((n|0)<1?32:n<<5)|0;f=f*36.0;r=-f;b[l>>3]=r;b[l+8>>3]=r;b[l+16>>3]=f;b[l+24>>3]=f;if((n|0)>1){A=1;i=2;r=f;e=f;while(1){if((A|0)==(n|0))break;s=r+4.0;f=e+4.0;b[l+(i<<4)>>3]=-s;b[l+(i<<4)+8>>3]=-f;w=i|1;b[l+(w<<4)>>3]=s;b[l+(w<<4)+8>>3]=f;A=A+1|0;i=i+2|0;r=s;e=f}e=r*2.0}a[t>>2]=1;a[t+4>>2]=n;a[t+8>>2]=2;w=t+16|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;a[w+16>>2]=0;a[w+20>>2]=0;a[t+44>>2]=l;s=e*.013888888888888888;w=a[c>>2]|0;b[w+32>>3]=s;b[w+40>>3]=s;a[w+12>>2]=t;return}function oN(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0;n=qF(72)|0;u=a[(a[A+16>>2]|0)+104>>2]|0;w=0;l=1;t=a[47282]|0;A:while(1){c=r[t>>0]|0;switch(c<<24>>24){case 0:break A;case 92:{t=t+1|0;c=r[t>>0]|0;switch(c<<24>>24){case 124:case 125:case 123:case 92:{s=w;break}default:y=4}break}default:y=4}if((y|0)==4){y=0;switch(c<<24>>24){case 123:{s=w+1|0;break}case 125:{s=w+-1|0;break}default:{s=w;l=l+((w|0)==0&c<<24>>24==124&1)|0}}if((s|0)<0)break}w=s;t=t+1|0}m=n+56|0;a[m>>2]=qF(l<<2)|0;r[n+64>>0]=e;Z=(e|0)==0&1;G=u+82|0;Q=f+1|0;E=(i|0)!=0;C=u+16|0;I=u+4|0;g=u+8|0;c=0;w=0;e=0;v=0;s=0;i=0;u=f;l=0;t=0;A:while(1){o=c;c=0;e:while(1){i:while(1){B=i;r:while(1){d=c;k=l;f:while(1){h=w;a:while(1){while(1){if(v){y=78;break A}w=a[47282]|0;l=r[w>>0]|0;if((l+-1&255)>=31)break;a[47282]=w+1}switch(l<<24>>24|0){case 92:{y=53;break i}case 0:case 124:case 125:break r;case 60:break f;case 62:break a;case 123:break;default:{c=e;l=w;break i}}l=w+1|0;a[47282]=l;if(s|0){y=34;break A}if(!(r[l>>0]|0)){y=34;break A}i=oN(A,Z,0,f)|0;a[(a[m>>2]|0)+(h<<2)>>2]=i;if(!i){y=36;break A}else{h=h+1|0;s=4}}if(r[G>>0]|0){c=e;l=w;break i}if(!(s&16)){y=27;break A}if(k>>>0>Q>>>0?(L=k+-1|0,(L|0)!=(B|0)):0)l=(r[L>>0]|0)==32?L:k;else l=k;r[l>>0]=0;d=s3(f)|0;a[47282]=(a[47282]|0)+1;w=h;s=s&-17;k=l}if(s&6|0){y=22;break A}if(r[G>>0]|0){c=e;l=w;break i}a[47282]=w+1;w=h;s=s|18;c=d;B=f;l=f}if(!((s&16|0)==0&(E|l<<24>>24!=0))){y=38;break A}if(!(s&4)){c=qF(72)|0;a[(a[m>>2]|0)+(h<<2)>>2]=c;w=h+1|0}else{c=o;w=h}if(d|0)a[c+60>>2]=d;if(!(s&5)){r[f+t>>0]=32;s=s|1;t=t+1|0}l=f+t|0;if(s&1){if((t|0)>1?(W=l+-1|0,(W|0)!=(u|0)):0)l=(r[W>>0]|0)==32?W:l;r[l>>0]=0;u=s3(f)|0;a[c+52>>2]=pF(A,u,r[G>>0]|0?2:0,+b[C>>3],a[I>>2]|0,a[g>>2]|0)|0;r[c+64>>0]=1;u=f;t=0}l=a[47282]|0;switch(r[l>>0]|0){case 0:{v=1;i=B;l=k;continue A}case 125:{y=51;break A}default:{}}a[47282]=l+1;o=c;s=0;c=0;i=B;l=k}i:do{if((y|0)==53){y=0;c=f+t|0;l=w+1|0;switch(r[l>>0]|0){case 0:{c=e;l=w;break i}case 62:case 60:case 124:case 125:case 123:{c=e;break}case 32:{if(!(r[G>>0]|0))c=1;else y=55;break}default:y=55}if((y|0)==55){y=0;r[c>>0]=92;c=e;s=s|9;t=t+1|0}a[47282]=l}}while(0);e=f+t|0;if(s&4|0?(r[l>>0]|0)!=32:0){y=59;break A}if(!(s&24))s=(r[l>>0]|0)==32?s:s|9;if(!(s&8))if(!(s&16))i=B;else{w=r[l>>0]|0;e=(c|0)!=0;if(!(e|w<<24>>24!=32))if((k|0)!=(f|0))if((r[k+-1>>0]|0)==32)w=k;else y=73;else w=f;else y=73;if((y|0)==73){y=0;r[k>>0]=w;w=k+1|0;l=a[47282]|0}i=e?w+-1|0:B;k=w}else{w=r[l>>0]|0;i=(c|0)!=0;if(!((!(i|w<<24>>24!=32)?(r[e+-1>>0]|0)==32:0)?(r[G>>0]|0)==0:0)){r[e>>0]=w;t=t+1|0}if(i){i=B;u=f+t+-1|0}else i=B}l=l+1|0;a[47282]=l;while(1){if((r[l>>0]|0)>=0){w=h;e=c;c=d;l=k;continue e}B=l+1|0;a[47282]=B;r[f+t>>0]=r[l>>0]|0;t=t+1|0;l=B}}}if((y|0)==22){gN(n,d);n=0}else if((y|0)==27){gN(n,d);n=0}else if((y|0)==34){gN(n,d);n=0}else if((y|0)==36){gN(n,d);n=0}else if((y|0)==38){gN(n,d);n=0}else if((y|0)==51){a[47282]=l+1;a[n+48>>2]=w}else if((y|0)==59){gN(n,d);n=0}else if((y|0)==78)a[n+48>>2]=h;return n|0}function hN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+64|0;c=g+48|0;s=g+40|0;w=g+32|0;v=g+16|0;B=g;t=a[i+52>>2]|0;A:do{if(!t){w=v+8|0;u=i+48|0;o=i+56|0;h=i+64|0;d=B+8|0;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;t=0;while(1){if((t|0)>=(a[u>>2]|0))break A;hN(B,e,a[(a[o>>2]|0)+(t<<2)>>2]|0);if(!(r[h>>0]|0)){b[w>>3]=+b[w>>3]+ +b[d>>3];c=v;s=+b[v>>3]>+b[B>>3]?v:B}else{b[v>>3]=+b[v>>3]+ +b[B>>3];c=w;s=(+b[w>>3]>+b[d>>3]?v:B)+8|0}b[c>>3]=+b[s>>3];t=t+1|0}}else{n=+b[t+24>>3];f=+b[t+32>>3];if(n>0.0|f>0.0){t=po(e,105496)|0;do{if(t){a[c>>2]=s;a[c+4>>2]=w;t=J3(t,105503,c)|0;if((t|0)<=0){l=8.0;n=n+16.0;break}l=+b[s>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0);n=n+l;if((t|0)!=1){l=+b[w>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0)}}else{l=8.0;n=n+16.0}}while(0);f=l+f}b[v>>3]=n;b[v+8>>3]=f}}while(0);a[i>>2]=a[v>>2];a[i+4>>2]=a[v+4>>2];a[i+8>>2]=a[v+8>>2];a[i+12>>2]=a[v+12>>2];a[A>>2]=a[v>>2];a[A+4>>2]=a[v+4>>2];a[A+8>>2]=a[v+8>>2];a[A+12>>2]=a[v+12>>2];k=g;return}function dN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0;B=k;k=k+32|0;u=B+16|0;o=B;h=+b[e>>3];l=h-+b[A>>3];d=+b[e+8>>3];f=d-+b[A+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];e=a[A+52>>2]|0;if(!((i|0)!=0|(e|0)==0)){w=e+40|0;b[w>>3]=+b[w>>3]+l;w=e+48|0;b[w>>3]=+b[w>>3]+f}s=A+48|0;e=a[s>>2]|0;A:do{if(e|0){w=A+64|0;f=((r[w>>0]|0)==0?f:l)/+(e|0);c=A+56|0;t=0;while(1){if((t|0)>=(e|0))break A;A=a[(a[c>>2]|0)+(t<<2)>>2]|0;n=t+1|0;e=~~(f*+(n|0))-~~(f*+(t|0))|0;if(!(r[w>>0]|0))BN(o,h,+b[A+8>>3]+ +(e|0));else BN(o,+b[A>>3]+ +(e|0),d);a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2];dN(A,u,i);t=n;e=a[s>>2]|0}}}while(0);k=B;return}function BN(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function vN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0;h=k;k=k+48|0;t=h+32|0;w=h+16|0;s=h;r[A+65>>0]=i;c=A+16|0;B=+b[e>>3];o=e+8|0;d=+b[o>>3];BN(w,B,d-+b[A+8>>3]);a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];c=A+32|0;BN(s,+b[A>>3]+B,d);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];c=a[A+48>>2]|0;s=c+-1|0;w=(i|0)==0;u=A+56|0;l=A+64|0;n=0;while(1){if((n|0)>=(c|0))break;do{if(!w){A=(n|0)==0;f=(n|0)==(s|0);if(!(r[l>>0]|0))if(A){A=f?15:14;break}else{A=f?11:10;break}else if(A){A=f?15:13;break}else{A=f?7:5;break}}else A=0}while(0);f=a[(a[u>>2]|0)+(n<<2)>>2]|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];vN(f,t,A&i);if(!(r[l>>0]|0))b[o>>3]=+b[o>>3]-+b[(a[(a[u>>2]|0)+(n<<2)>>2]|0)+8>>3];else b[e>>3]=+b[a[(a[u>>2]|0)+(n<<2)>>2]>>3]+ +b[e>>3];n=n+1|0}k=h;return}function gN(A,e){A=A|0;e=e|0;EN(A);L2(e);return}function EN(A){A=A|0;var e=0,i=0,r=0;i=A+48|0;r=A+56|0;e=0;while(1){if((e|0)>=(a[i>>2]|0))break;EN(a[(a[r>>2]|0)+(e<<2)>>2]|0);e=e+1|0}L2(a[A+60>>2]|0);TF(a[A+52>>2]|0);L2(a[r>>2]|0);L2(A);return}function CN(A){A=A|0;var e=0.0,i=0.0;i=+oR(A,a[47146]|0,0.0,.01);e=+oR(A,a[47145]|0,0.0,.02);e=(i>e?i:e)*72.0;return+ +(~~(e+(e>=0.0?.5:-.5))|0)}function IN(A,e){A=+A;e=+e;var i=0;i=~~(A/e);return+(+((+(i|0)*e+1.0e-05>2]|0)+8>>2]|0;if(!A)A=0;else A=(a[a[A+4>>2]>>2]|0)==91&1;return A|0}function GN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;f=a[47283]|0;A:do{if(!f)e=0;else{n=a[47284]|0;i=0;while(1){if((i|0)>=(n|0)){e=0;break A}e=a[f+(i<<2)>>2]|0;l=a[e>>2]|0;if((r[l>>0]|0)==(r[A>>0]|0)?(A1(l,A)|0)==0:0)break A;i=i+1|0}}}while(0);return e|0}function QN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;if(WR(po(e,105526)|0)|0)if((r[A>>0]|0)==101?(A1(A,105685)|0)==0:0){e=101;n=6}else{A=105519;n=4}else n=4;if((n|0)==4){e=r[A>>0]|0;if(e<<24>>24==99)if(!(A1(A,105519)|0))n=11;else{e=99;n=6}else n=6}A:do{if((n|0)==6){i=20848;while(1){f=a[i>>2]|0;if(!f){n=11;break A}if((r[f>>0]|0)==e<<24>>24?(A1(f,A)|0)==0:0){A=i;break A}i=i+16|0}}}while(0);if((n|0)==11)A=mN(A)|0;return A|0}function mN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;e=GN(A)|0;if(!e){f=a[47284]|0;e=f+1|0;a[47284]=e;i=a[47283]|0;if(!i)e=$F(e<<2)|0;else e=eV(i,e<<2)|0;a[47283]=e;e=qF(16)|0;a[(a[47283]|0)+(f<<2)>>2]=e;a[e>>2]=a[5212];a[e+4>>2]=a[5213];a[e+8>>2]=a[5214];a[e+12>>2]=a[5215];i=s3(A)|0;a[e>>2]=i;do{if(!0){if((r[A>>0]|0)==99?(A1(A,105519)|0)==0:0){i=1;break}a[n>>2]=a[5212];a[n+4>>2]=i;ao(0,105690,n)|0;i=0}else i=1}while(0);r[e+12>>0]=i}k=l;return e|0}function LN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[e>>3]*.5257311121191336;i=+b[e+8>>3]*.8944271909999159;i=r>i?r:i;b[A>>3]=i*4.97979656976556;b[A+8>>3]=i*4.73606797749979;return}function WN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0;r=+b[e>>3];c=e+8|0;f=+b[c>>3];i=f/r;if(!(i>.9510565162951536))if(i<.9510565162951536){t=r;f=r*.9510565162951536}else t=r;else t=f*1.0514622242382672;r=t*.5257311121191336;n=t*.20081141588622725;l=t*.05020285397155681;i=.3141592653589793;a=0;while(1){if((a|0)>=10)break;b[A+(a<<4)>>3]=+D(+i)*r;b[A+(a<<4)+8>>3]=+M(+i)*r-l;w=i+.6283185307179586;s=a|1;b[A+(s<<4)>>3]=+D(+w)*n;b[A+(s<<4)+8>>3]=+M(+w)*n-l;i=i+1.2566370614359172;a=a+2|0}b[e>>3]=t;b[c>>3]=f;return}function yN(A){A=A|0;A=a[(a[A+16>>2]|0)+12>>2]|0;if(A|0){L2(a[A+44>>2]|0);L2(A)}return}function zN(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+80|0;b=u+40|0;n=u;w=u+64|0;l=u+56|0;if(!(r[i>>0]|0)){n=4208;l=A+40|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0))}else{t=(f|0)==0?106356:f;a[w>>2]=15;c=e+16|0;f=a[c>>2]|0;do{if(r[(a[f+104>>2]|0)+82>>0]|0){f=ta(e,i,w)|0;if(!f){f=a[c>>2]|0;s=8;break}if(TN(e,f,n,t,a[w>>2]|0,0)|0){a[b>>2]=Vh(e)|0;a[b+4>>2]=i;a[b+8>>2]=t;ao(0,106358,b)|0}}else s=8}while(0);if((s|0)==8){if((a[(a[f+8>>2]|0)+8>>2]|0)==1664)l=0;else{a[l>>2]=e;a[l+4>>2]=0}if(TN(e,0,n,i,a[w>>2]|0,l)|0)jN(e,i)}a[n+36>>2]=0;l=A+40|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0))}k=u;return}function YN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0;d=k;k=k+112|0;w=d+96|0;s=d+80|0;o=d+64|0;c=d+48|0;h=d+32|0;u=d;f=d+16|0;if(!A){a[47287]=0;A=0}else{n=a[A+4>>2]|0;A=a[A>>2]|0;l=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];WF(f,w,l);a[h>>2]=a[f>>2];a[h+4>>2]=a[f+4>>2];a[h+8>>2]=a[f+8>>2];a[h+12>>2]=a[f+12>>2];A:do{if(n){i=+b[n+8>>3];r=+b[n+24>>3];B=+b[h>>3];if((+b[n>>3]<=B?B<=+b[n+16>>3]:0)?(t=+b[h+8>>3],i<=t):0)A=t<=r&1;else A=0}else{if((A|0)==(a[47287]|0)){f=a[47288]|0;n=a[47290]|0;l=a[47289]|0}else{n=a[(a[A+16>>2]|0)+12>>2]|0;a[47291]=n;l=a[n+44>>2]|0;a[47289]=l;f=a[n+8>>2]|0;a[47288]=f;n=U((a[n+4>>2]|0)+-1|0,f)|0;n=(n|0)>0?n:0;a[47290]=n;a[47287]=A}A=0;e=0;while(1){if((A|0)>=(f|0)){A=1;break A}v=l+(n+A<<4)|0;a[u>>2]=a[v>>2];a[u+4>>2]=a[v+4>>2];a[u+8>>2]=a[v+8>>2];a[u+12>>2]=a[v+12>>2];v=l+(n+((A+4|0)%(f|0)|0)<<4)|0;a[c>>2]=a[h>>2];a[c+4>>2]=a[h+4>>2];a[c+8>>2]=a[h+8>>2];a[c+12>>2]=a[h+12>>2];a[o>>2]=a[46614];a[o+4>>2]=a[46615];a[o+8>>2]=a[46616];a[o+12>>2]=a[46617];a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];e=e+((xN(c,o,s,w)|0)==0&1)|0;if((e|0)==2){A=0;break}else A=A+2|0}}}while(0)}k=d;return A|0}function DN(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;i=a[A+16>>2]|0;if((r[(a[i+104>>2]|0)+82>>0]|0)!=0?(r[i+145>>0]|0)!=0:0)A=sa(A,e,0,f,n)|0;else A=0;return A|0}function MN(A,e){A=A|0;e=e|0;var i=0,l=0,t=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;R=k;k=k+48|0;D=R+24|0;Y=R+16|0;Q=R+8|0;G=R;J=R+32|0;w=R+28|0;N=a[A+16>>2]|0;X=N+208|0;i=a[X>>2]|0;if((i|0)==0?(f[N+260>>1]&1)==0:0)F=0;else y=4;if((y|0)==4)if(!(a[A+152>>2]&4)){Pi(A,i,a[N+228>>2]|0,a[N+244>>2]|0,a[N+212>>2]|0);F=1}else F=1;M=e+16|0;i=a[M>>2]|0;d=a[i+12>>2]|0;z=a[d+44>>2]|0;V=a[d+8>>2]|0;d=a[d+4>>2]|0;if((a[47285]|0)<(V|0)){i=V+5|0;a[47285]=i;l=a[47286]|0;if(!l)i=$F(i<<4)|0;else i=eV(l,i<<4)|0;a[47286]=i;i=a[M>>2]|0}W=(a[i+104>>2]|0)+56|0;i=i+16|0;a[W>>2]=a[i>>2];a[W+4>>2]=a[i+4>>2];a[W+8>>2]=a[i+8>>2];a[W+12>>2]=a[i+12>>2];W=a[M>>2]|0;m=+b[W+32>>3]*72.0;m=(+b[W+96>>3]+ +b[W+88>>3])/+(~~(m+(m>=0.0?.5:-.5))|0);L=+b[W+40>>3]*72.0;L=+b[W+80>>3]/+(~~(L+(L>=0.0?.5:-.5))|0);W=FN(A,e)|0;a[J>>2]=0;i=n[(a[M>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){B=BR(e,0,106256)|0;$i(A,B);er(A,BR(e,0,106264)|0);l=0;i=1;break}if(i&8|0){B=BR(e,0,106272)|0;$i(A,B);er(A,BR(e,0,106280)|0);l=0;i=1;break}if(i&4|0){B=BR(e,0,106288)|0;$i(A,B);er(A,BR(e,0,106296)|0);l=0;i=1;break}if(!(W&1))if(!(W&576)){l=0;i=0}else{l=VN(e)|0;i=1}else{l=VN(e)|0;if(!((qM(l,J,w)|0)<<24>>24)){er(A,l);i=1}else{er(A,a[J>>2]|0);i=a[J+4>>2]|0;s=kR(e,a[47173]|0,0,0)|0;t=+c[w>>2];if(!i)ir(A,137314,s,t);else ir(A,i,s,t);i=(W&2)>>>1|2}}B=JN(A,e)|0}else{B=BR(e,0,106240)|0;$i(A,B);er(A,BR(e,0,106248)|0);l=0;i=1}}while(0);s=a[(a[M>>2]|0)+8>>2]|0;if(r[s+12>>0]|0){s=a[s>>2]|0;if((r[s>>0]|0)==99){s=(A1(s,105519)|0)==0;y=33}else g=1}else{s=1;y=33}if((y|0)==33){s=s^1;if((d|0)!=0|i<<24>>24==0|s)g=s;else{$i(A,137379);d=1;g=0}}E=(V|0)<3;C=(W&512|0)!=0;Z=(W&8|0)==0;I=(W&64|0)==0;o=(W&1024|0)==0;h=(W&2130706444|0)==0;v=0;while(1){if((v|0)>=(d|0))break;w=U(v,V)|0;u=a[47286]|0;s=0;while(1){if((s|0)>=(V|0))break;p=s+w|0;t=+b[z+(p<<4)+8>>3];H=a[M>>2]|0;b[u+(s<<4)>>3]=+b[H+16>>3]+ +b[z+(p<<4)>>3]*m;b[u+(s<<4)+8>>3]=+b[H+24>>3]+t*L;s=s+1|0}do{if(E){if(C&(v|0)==0?(G1(l,58)|0)!=0:0)if((aI(A,u,l)|0)>1){a[G>>2]=Vh(e)|0;ao(3,106304,G)|0;i=0}else i=0;fr(A,a[47286]|0,V,i&255);if(!Z)NN(A,e)}else{if(!I){if((v|0)==0?(cI(A,u,l,1)|0)>1:0){a[Q>>2]=Vh(e)|0;ao(3,106304,Q)|0}ar(A,a[47286]|0,V,0);break}if(!o){$i(A,137379);ar(A,a[47286]|0,V,i&255);$i(A,B);tr(A,(a[47286]|0)+32|0,2);break}i=i&255;if(h){ar(A,u,V,i);break}else{tN(A,u,V,W,i);break}}}while(0);v=v+1|0;i=0}s=a[(a[M>>2]|0)+8>>2]|0;if(!(r[s+12>>0]|0)){s=po(e,109025)|0;if(s|0?r[s>>0]|0:0){u=s;y=65}}else{s=a[s>>2]|0;if((r[s>>0]|0)==99?(A1(s,105519)|0)==0:0){s=po(e,105526)|0;if(s|0?r[s>>0]|0:0){u=s;y=65}}else{u=s;y=65}}if((y|0)==65){w=a[47286]|0;s=0;while(1){if((s|0)>=(V|0))break;t=+b[z+(s<<4)+8>>3];p=a[M>>2]|0;b[w+(s<<4)>>3]=+b[p+16>>3]+ +b[z+(s<<4)>>3]*m;b[w+(s<<4)+8>>3]=+b[p+24>>3]+t*L;s=s+1|0}s=i&255;do{if(!(g|i<<24>>24==0)){if(E){if(C&(v|0)==0?(G1(l,58)|0)!=0:0)if((aI(A,w,l)|0)>1){a[Y>>2]=Vh(e)|0;ao(3,106304,Y)|0;i=0}else i=0;fr(A,a[47286]|0,V,i&255);if(Z)break;NN(A,e);break}if(I)if(!(W&12)){ar(A,w,V,s);break}else{tN(A,w,V,W,s);break}else{if((cI(A,w,l,1)|0)>1){a[D>>2]=Vh(e)|0;ao(3,106304,D)|0}ar(A,a[47286]|0,V,0);break}}}while(0);p=a[47286]|0;br(A,u,p,V,i,dR(e,a[47166]|0,137308)|0)}L2(a[J>>2]|0);jF(A,10,a[(a[M>>2]|0)+104>>2]|0);if(F){if(a[A+152>>2]&4|0)Pi(A,a[X>>2]|0,a[N+228>>2]|0,a[N+244>>2]|0,a[N+212>>2]|0);Oi(A)}k=R;return}function FN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;i=HN(e,f)|0;if(i|0)rr(A,i);i=a[47172]|0;if((i|0?(n=Uo(e,i)|0,n|0):0)?r[n>>0]|0:0)wr(A,+oR(e,a[47172]|0,1.0,0.0));k=l;return a[f>>2]|0}function VN(A){A=A|0;return RN(A,134800)|0}function JN(A,e){A=A|0;e=e|0;e=BR(e,a[47148]|0,195059)|0;e=r[e>>0]|0?e:137314;$i(A,e);return e|0}function NN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0.0,t=0,c=0,s=0;i=k;k=k+96|0;t=i+80|0;c=i+64|0;r=i+32|0;s=i+16|0;n=i;e=a[e+16>>2]|0;f=+b[e+80>>3];b[s+8>>3]=f*.375;l=+b[e+96>>3];b[s>>3]=l*.6614;e=e+16|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];XN(n,c,t);a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];a[r+8>>2]=a[n+8>>2];a[r+12>>2]=a[n+12>>2];n=r+8|0;e=r+24|0;b[e>>3]=+b[n>>3];b[r+16>>3]=+b[r>>3]-l*1.3228;tr(A,r,2);f=+b[n>>3]-f*.75;b[n>>3]=f;b[e>>3]=f;tr(A,r,2);k=i;return}function XN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function RN(A,e){A=A|0;e=e|0;var i=0;i=BR(A,a[47149]|0,195059)|0;if(!(r[i>>0]|0)){i=BR(A,a[47148]|0,195059)|0;return((r[i>>0]|0)==0?e:i)|0}else return i|0;return 0}function HN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;i=BR(A,a[47157]|0,195059)|0;A:do{if(!(r[i>>0]|0)){n=0;i=0}else{n=HI(i)|0;l=n;i=0;e:while(1){f=a[l>>2]|0;if(!f)break A;switch(r[f>>0]|0){case 102:{if(!(A1(f,111101)|0)){l=l+4|0;i=i|1;continue e}break}case 114:{if(!(A1(f,106316)|0)){f=l;do{c=f;f=f+4|0;t=a[f>>2]|0;a[c>>2]=t}while((t|0)!=0);c=l;i=i|4;l=c;continue e}if(!(A1(f,106334)|0)){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|3;l=c;continue e}break}case 100:{if(!(A1(f,106324)|0)){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|8;l=c;continue e}break}case 105:{if(!(A1(f,134335)|0)){l=l+4|0;i=i|32;continue e}break}case 115:{if((A1(f,106341)|0)==0?pN(A)|0:0){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|64;l=c;continue e}break}case 119:{if((A1(f,106349)|0)==0?UN(A)|0:0){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|512;l=c;continue e}break}default:{}}l=l+4|0}}}while(0);f=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)i=a[f+40>>2]|i;a[e>>2]=i;return n|0}function pN(A){A=A|0;var e=0.0;A=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((A|0)!=0?(a[A+8>>2]|0)==4:0)?(e=+b[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+b[A+24>>3]==0.0:0)A=+b[A+32>>3]==0.0&1;else A=0;return A|0}function UN(A){A=A|0;A=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!A)A=0;else A=(a[A+8>>2]|0)<3&1;return A|0}function xN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,n=0.0,l=0.0;l=+b[i+8>>3];n=-(+b[r+8>>3]-l);a=+b[i>>3];f=+b[r>>3]-a;a=f*l+a*n;return(+b[A+8>>3]*f+ +b[A>>3]*n-a>=0.0^+b[e>>3]*n-a+ +b[e+8>>3]*f>=0.0^1)&1|0}function TN(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;Y=k;k=k+192|0;m=Y+176|0;y=Y+160|0;s=Y+144|0;G=Y+128|0;Q=Y+112|0;w=Y+96|0;u=Y+80|0;o=Y+64|0;E=Y+48|0;C=Y+32|0;I=Y+16|0;W=Y;if(!e){a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;s=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;L=a[A+16>>2]|0;h=+b[L+80>>3]*.5;t=+b[L+88>>3];v=s?h:t;h=s?t:h;s=0;L=y;t=0.0;c=-h;d=v;z=y+8|0;B=0.0;v=-v}else{c=+b[e>>3];v=+b[e+8>>3];h=+b[e+16>>3];d=+b[e+24>>3];BN(s,(h+c)*.5,(d+v)*.5);a[y>>2]=a[s>>2];a[y+4>>2]=a[s+4>>2];a[y+8>>2]=a[s+8>>2];a[y+12>>2]=a[s+12>>2];D=y+8|0;s=1;L=y;t=+b[y>>3];z=D;B=+b[D>>3]}g=(h>d?h:d)*4.0;A:do{if((f|0)!=0?(Z=r[f>>0]|0,Z<<24>>24!=0):0){f=f+1|0;switch(Z<<24>>24|0){case 99:{o=1;n=0;f=0;w=0;t=0.0;u=0;break A}case 101:{if(r[f>>0]|0){o=1;n=0;f=0;w=0;t=0.0;u=1;break A}if(!l)b[L>>3]=h;else{SN(G,l,B,g);a[y>>2]=a[G>>2];a[y+4>>2]=a[G+4>>2];a[y+8>>2]=a[G+8>>2];a[y+12>>2]=a[G+12>>2]}o=0;n=n&2;f=0;w=1;t=0.0;u=0;s=1;break A}case 115:{b[z>>3]=v;switch(r[f>>0]|0){case 0:{if(!l)b[L>>3]=t;else{SN(Q,l,-g,t);a[y>>2]=a[Q>>2];a[y+4>>2]=a[Q+4>>2];a[y+8>>2]=a[Q+8>>2];a[y+12>>2]=a[Q+12>>2]}o=0;n=n&1;f=0;w=1;t=-1.5707963267948966;u=0;s=1;break A}case 101:{if(!l)b[L>>3]=h;else{SN(w,l,-g,g);a[y>>2]=a[w>>2];a[y+4>>2]=a[w+4>>2];a[y+8>>2]=a[w+8>>2];a[y+12>>2]=a[w+12>>2]}o=0;n=n&3;f=0;w=1;t=-.7853981633974483;u=0;s=1;break A}case 119:{if(!l)b[L>>3]=c;else{g=-g;SN(u,l,g,g);a[y>>2]=a[u>>2];a[y+4>>2]=a[u+4>>2];a[y+8>>2]=a[u+8>>2];a[y+12>>2]=a[u+12>>2]}o=0;n=n&9;f=0;w=1;t=-2.356194490192345;u=0;s=1;break A}default:{b[z>>3]=B;o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}case 119:{if(r[f>>0]|0){o=1;n=0;f=0;w=0;t=0.0;u=1;break A}if(!l)b[L>>3]=c;else{SN(o,l,B,-g);a[y>>2]=a[o>>2];a[y+4>>2]=a[o+4>>2];a[y+8>>2]=a[o+8>>2];a[y+12>>2]=a[o+12>>2]}o=0;n=n&8;f=0;w=1;t=3.141592653589793;u=0;s=1;break A}case 110:{b[z>>3]=d;switch(r[f>>0]|0){case 0:{if(!l)b[L>>3]=t;else{SN(E,l,g,t);a[y>>2]=a[E>>2];a[y+4>>2]=a[E+4>>2];a[y+8>>2]=a[E+8>>2];a[y+12>>2]=a[E+12>>2]}o=0;n=n&4;f=0;w=1;t=1.5707963267948966;u=0;s=1;break A}case 101:{if(!l)b[L>>3]=h;else{SN(C,l,g,g);a[y>>2]=a[C>>2];a[y+4>>2]=a[C+4>>2];a[y+8>>2]=a[C+8>>2];a[y+12>>2]=a[C+12>>2]}o=0;n=n&6;f=0;w=1;t=.7853981633974483;u=0;s=1;break A}case 119:{if(!l)b[L>>3]=c;else{SN(I,l,g,-g);a[y>>2]=a[I>>2];a[y+4>>2]=a[I+4>>2];a[y+8>>2]=a[I+8>>2];a[y+12>>2]=a[I+12>>2]}o=0;n=n&12;f=0;w=1;t=2.356194490192345;u=0;s=1;break A}default:{b[z>>3]=B;o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}case 95:{o=1;f=1;w=0;t=0.0;u=0;break A}default:{o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}else{o=1;n=0;f=0;w=0;t=0.0;u=0}}while(0);D=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];LF(W,m,D);a[y>>2]=a[W>>2];a[y+4>>2]=a[W+4>>2];a[y+8>>2]=a[W+8>>2];a[y+12>>2]=a[W+12>>2];if(!(f<<24>>24))n=PN(n,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)|0;r[i+33>>0]=n;a[i+24>>2]=e;c=+b[L>>3];b[i>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);c=+b[z>>3];b[i+8>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);b[i+16>>3]=+ON(t,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3);c=+b[L>>3];t=+b[z>>3];if(c==0.0&t==0.0)n=-128;else{g=+X(+t,+c);v=g+4.71238898038469;n=~~((!(v>=6.283185307179586)?v:g+-1.5707963267948966)*40.74366543152521)&255}r[i+32>>0]=n;r[i+29>>0]=w;r[i+28>>0]=s;r[i+30>>0]=o;r[i+31>>0]=f;k=Y;return u|0}function jN(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=Vh(A)|0;a[r+4>>2]=e;ao(0,106419,r)|0;k=i;return}function SN(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+128|0;n=o+112|0;t=o+48|0;c=o+16|0;s=o+32|0;w=o;u=a[e>>2]|0;l=a[(a[(Id(u)|0)+16>>2]|0)+116>>2]&3;b[c>>3]=r;b[c+8>>3]=i;f=(l|0)!=0;if(f){a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];LF(s,n,l*90|0);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2]}s=t+48|0;h=t+32|0;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;a[t+16>>2]=0;a[t+20>>2]=0;a[t+24>>2]=0;a[t+28>>2]=0;a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];hX(e,a[(a[(a[(a[u+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,t,1);if(f){a[n>>2]=a[t>>2];a[n+4>>2]=a[t+4>>2];a[n+8>>2]=a[t+8>>2];a[n+12>>2]=a[t+12>>2];WF(w,n,l*90|0);a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2]}a[A>>2]=a[t>>2];a[A+4>>2]=a[t+4>>2];a[A+8>>2]=a[t+8>>2];a[A+12>>2]=a[t+12>>2];k=o;return}function PN(A,e){A=A|0;e=e|0;A:do{switch(e|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 ON(A,e){A=+A;e=e|0;switch(e|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 KN(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,l=0,t=0,c=0;r=k;k=k+32|0;c=r+16|0;l=r;A=a[A>>2]|0;t=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];WF(l,c,t);i=+b[l>>3];n=+b[l+8>>3];A=a[A+16>>2]|0;f=+b[A+80>>3]*.5;if(!(!(n>=-f)|!(n<=f))?i>=-+b[A+88>>3]:0)A=i<=+b[A+96>>3]&1;else A=0;k=r;return A|0}function _N(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+32|0;s=w;l=a[A+16>>2]|0;t=l+208|0;n=a[t>>2]|0;if(!n)c=(f[l+260>>1]&1)!=0;else c=1;i=e+16|0;e=a[i>>2]|0;r=a[e+12>>2]|0;if(r|0){if(c?(a[A+152>>2]&4|0)==0:0){Pi(A,n,a[l+228>>2]|0,a[l+244>>2]|0,a[l+212>>2]|0);e=a[i>>2]|0}n=a[A+36>>2]|0;o=+b[e+24>>3]+ +(a[r+8>>2]|0);u=a[r>>2]|0;b[s>>3]=+b[e+16>>3]+ +(a[r+4>>2]|0);b[s+8>>3]=o;a[s+16>>2]=u;f3(n,106450,s)|0;n=a[i>>2]|0;s=(a[n+104>>2]|0)+56|0;n=n+16|0;a[s>>2]=a[n>>2];a[s+4>>2]=a[n+4>>2];a[s+8>>2]=a[n+8>>2];a[s+12>>2]=a[n+12>>2];jF(A,10,a[(a[i>>2]|0)+104>>2]|0);if(c){if(a[A+152>>2]&4|0)Pi(A,a[t>>2]|0,a[l+228>>2]|0,a[l+244>>2]|0,a[l+212>>2]|0);Oi(A)}}k=w;return}function qN(A){A=A|0;EN(a[(a[A+16>>2]|0)+12>>2]|0);return}function $N(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=k;k=k+64|0;b=s+40|0;l=s;if(!(r[i>>0]|0)){l=4208;f=A+40|0;do{a[A>>2]=a[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}else{f=(f|0)==0?106356:f;t=a[(a[e+16>>2]|0)+12>>2]|0;c=aX(t,i)|0;if(!c){if(TN(e,t+16|0,l,i,15,0)|0)jN(e,i)}else if(TN(e,c+16|0,l,f,n[c+65>>0]|0,0)|0){a[b>>2]=Vh(e)|0;a[b+4>>2]=i;a[b+8>>2]=f;ao(0,106358,b)|0}f=A+40|0;do{a[A>>2]=a[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}k=s;return}function AX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0.0;c=k;k=k+32|0;s=c+16|0;l=c;f=a[A+4>>2]|0;A=a[A>>2]|0;n=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];WF(l,s,n);a[e>>2]=a[l>>2];a[e+4>>2]=a[l+4>>2];a[e+8>>2]=a[l+8>>2];a[e+12>>2]=a[l+12>>2];if(!f){f=a[(a[A+16>>2]|0)+12>>2]|0;n=f+16|0;A=f+24|0;l=f+32|0;f=f+40|0}else{n=f;A=f+8|0;l=f+16|0;f=f+24|0}r=+b[A>>3];i=+b[f>>3];w=+b[e>>3];if((+b[n>>3]<=w?w<=+b[l>>3]:0)?(t=+b[e+8>>3],r<=t):0)A=t<=i&1;else A=0;k=c;return A|0}function eX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0.0;g=k;k=k+80|0;d=g+64|0;h=g+32|0;v=g;A:do{if(!(r[e+28>>0]|0))i=0;else{l=+b[e>>3];o=A+16|0;s=a[(a[o>>2]|0)+12>>2]|0;c=s+48|0;s=s+56|0;e=0;while(1){if((e|0)>=(a[c>>2]|0))break A;w=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;u=a[(a[s>>2]|0)+(e<<2)>>2]|0;t=+(~~+b[(w?u+16|0:u+24|0)>>3]|0);if(l>=t?(B=+(~~+b[(w?u+32|0:u+40|0)>>3]|0),l<=B):0)break;e=e+1|0}if(!(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1)){v=a[o>>2]|0;E=+b[v+16>>3];b[f>>3]=E+t;t=+b[v+24>>3];l=+b[v+80>>3];b[f+8>>3]=t-l*.5;b[f+16>>3]=E+B}else{u=(a[(a[s>>2]|0)+(e<<2)>>2]|0)+16|0;A=(a[o>>2]|0)+16|0;a[h>>2]=a[u>>2];a[h+4>>2]=a[u+4>>2];a[h+8>>2]=a[u+8>>2];a[h+12>>2]=a[u+12>>2];a[h+16>>2]=a[u+16>>2];a[h+20>>2]=a[u+20>>2];a[h+24>>2]=a[u+24>>2];a[h+28>>2]=a[u+28>>2];a[d>>2]=a[A>>2];a[d+4>>2]=a[A+4>>2];a[d+8>>2]=a[A+8>>2];a[d+12>>2]=a[A+12>>2];yF(v,h,d);a[f>>2]=a[v>>2];a[f+4>>2]=a[v+4>>2];a[f+8>>2]=a[v+8>>2];a[f+12>>2]=a[v+12>>2];a[f+16>>2]=a[v+16>>2];a[f+20>>2]=a[v+20>>2];a[f+24>>2]=a[v+24>>2];a[f+28>>2]=a[v+28>>2];v=a[o>>2]|0;l=+b[v+80>>3];t=+b[v+24>>3]}b[f+24>>3]=l*.5+t;a[n>>2]=1}}while(0);k=g;return i|0}function iX(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;C=k;k=k+144|0;w=C+96|0;o=C+64|0;d=C;B=C+128|0;v=a[A+16>>2]|0;g=v+208|0;i=a[g>>2]|0;if(!i)E=(f[v+260>>1]&1)!=0;else E=1;s=e+16|0;h=a[s>>2]|0;u=a[h+12>>2]|0;l=u+16|0;a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];a[o+16>>2]=a[l+16>>2];a[o+20>>2]=a[l+20>>2];a[o+24>>2]=a[l+24>>2];a[o+28>>2]=a[l+28>>2];I=+b[h+16>>3];b[o>>3]=+b[o>>3]+I;t=+b[h+24>>3];h=o+8|0;b[h>>3]=+b[h>>3]+t;h=o+16|0;b[h>>3]=+b[h>>3]+I;l=o+24|0;b[l>>3]=+b[l>>3]+t;if(E?(a[A+152>>2]&4|0)==0:0)Pi(A,i,a[v+228>>2]|0,a[v+244>>2]|0,a[v+212>>2]|0);i=FN(A,e)|0;JN(A,e)|0;a[B>>2]=0;if(!(i&1))n=0;else{n=VN(e)|0;if(!((qM(n,B,w)|0)<<24>>24)){er(A,n);n=1}else{er(A,a[B>>2]|0);n=a[B+4>>2]|0;l=kR(e,a[47173]|0,0,0)|0;t=+c[w>>2];if(!n)ir(A,137314,l,t);else ir(A,n,l,t);n=i>>>1&1|2}}l=a[a[(a[s>>2]|0)+8>>2]>>2]|0;if((r[l>>0]|0)==77){s=(A1(l,106227)|0)==0;i=s?i|4:i}if(!(i&2130706444)){a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2];a[w+16>>2]=a[o+16>>2];a[w+20>>2]=a[o+20>>2];a[w+24>>2]=a[o+24>>2];a[w+28>>2]=a[o+28>>2];nr(A,w,n)}else{a[d>>2]=a[o>>2];a[d+4>>2]=a[o+4>>2];a[d+8>>2]=a[o+8>>2];a[d+12>>2]=a[o+12>>2];o=d+32|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];b[d+16>>3]=+b[o>>3];b[d+24>>3]=+b[d+8>>3];b[d+48>>3]=+b[d>>3];b[d+56>>3]=+b[d+40>>3];tN(A,d,4,i,n)}rX(A,e,u);L2(a[B>>2]|0);if(E){if(a[A+152>>2]&4|0)Pi(A,a[g>>2]|0,a[v+228>>2]|0,a[v+244>>2]|0,a[v+212>>2]|0);Oi(A)}k=C;return}function rX(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+144|0;o=g+128|0;u=g+112|0;h=g+16|0;d=g;n=g+96|0;l=g+80|0;B=g+64|0;v=g+48|0;t=i+52|0;f=a[t>>2]|0;if(!f)f=e+16|0;else{w=f+56|0;s=i+16|0;f=i+32|0;a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];fX(n,u,o);f=e+16|0;s=(a[f>>2]|0)+16|0;a[u>>2]=a[n>>2];a[u+4>>2]=a[n+4>>2];a[u+8>>2]=a[n+8>>2];a[u+12>>2]=a[n+12>>2];a[o>>2]=a[s>>2];a[o+4>>2]=a[s+4>>2];a[o+8>>2]=a[s+8>>2];a[o+12>>2]=a[s+12>>2];XN(l,u,o);a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];jF(A,10,a[t>>2]|0);JN(A,e)|0}c=(a[f>>2]|0)+16|0;a[d>>2]=a[c>>2];a[d+4>>2]=a[c+4>>2];a[d+8>>2]=a[c+8>>2];a[d+12>>2]=a[c+12>>2];c=i+48|0;s=i+64|0;w=h+16|0;t=i+56|0;i=h+16|0;l=0;while(1){if((l|0)>=(a[c>>2]|0))break;if((l|0)>0){f=(a[t>>2]|0)+(l<<2)|0;n=a[f>>2]|0;if(!(r[s>>0]|0)){n=n+32|0;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];b[h>>3]=+b[(a[f>>2]|0)+16>>3];f=w;n=0}else{n=n+16|0;a[h>>2]=a[n>>2];a[h+4>>2]=a[n+4>>2];a[h+8>>2]=a[n+8>>2];a[h+12>>2]=a[n+12>>2];b[i>>3]=+b[h>>3];f=(a[f>>2]|0)+32|0;n=1}b[h+(n<<4)+8>>3]=+b[f+8>>3];a[u>>2]=a[h>>2];a[u+4>>2]=a[h+4>>2];a[u+8>>2]=a[h+8>>2];a[u+12>>2]=a[h+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];XN(B,u,o);a[h>>2]=a[B>>2];a[h+4>>2]=a[B+4>>2];a[h+8>>2]=a[B+8>>2];a[h+12>>2]=a[B+12>>2];a[u>>2]=a[w>>2];a[u+4>>2]=a[w+4>>2];a[u+8>>2]=a[w+8>>2];a[u+12>>2]=a[w+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];XN(v,u,o);a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];tr(A,h,2)}rX(A,e,a[(a[t>>2]|0)+(l<<2)>>2]|0);l=l+1|0}k=g;return}function fX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function aX(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=a[A+60>>2]|0;if(!(((i|0)!=0?(r[i>>0]|0)==(r[e>>0]|0):0)?(A1(i,e)|0)==0:0))f=4;A:do{if((f|0)==4){n=A+56|0;f=a[A+48>>2]|0;i=0;while(1){if((i|0)>=(f|0)){A=0;break A}A=aX(a[(a[n>>2]|0)+(i<<2)>>2]|0,e)|0;if(!A)i=i+1|0;else break}}}while(0);return A|0}function nX(A,e){A=A|0;e=e|0;var i=0;i=e+8|0;b[i>>3]=+b[i>>3]*1.375;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function lX(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0;c=+b[e>>3];f=c*.5;w=+b[e+8>>3];l=w*.5;b[A>>3]=f;r=w*.40909090909090906;b[A+8>>3]=r;b[A+16>>3]=f;n=w*.4592530909090909;b[A+24>>3]=n;t=c*.275892;b[A+32>>3]=t;b[A+40>>3]=l;b[A+48>>3]=0.0;b[A+56>>3]=l;c=c*-.275892;b[A+64>>3]=c;b[A+72>>3]=l;s=-f;b[A+80>>3]=s;b[A+88>>3]=n;i=A+96|0;b[i>>3]=s;b[A+104>>3]=r;e=A+112|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=A+128|0;b[e>>3]=s;b[A+136>>3]=w*-.40909090909090906;i=A+144|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[A+160>>3]=s;n=-n;b[A+168>>3]=n;b[A+176>>3]=c;l=-l;b[A+184>>3]=l;b[A+192>>3]=0.0;b[A+200>>3]=l;b[A+208>>3]=t;b[A+216>>3]=l;b[A+224>>3]=f;b[A+232>>3]=n;i=A+240|0;b[i>>3]=f;b[A+248>>3]=-r;e=A+256|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=A+288|0;i=A+272|0;a[i>>2]=a[A>>2];a[i+4>>2]=a[A+4>>2];a[i+8>>2]=a[A+8>>2];a[i+12>>2]=a[A+12>>2];a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];return}function tX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+144|0;g=I+112|0;v=I+96|0;E=I+80|0;B=I+64|0;C=I+32|0;h=I+16|0;d=I;n=I+48|0;do{if(A){t=a[A+4>>2]|0;c=a[A>>2]|0;u=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&3)*90|0;a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];a[g+8>>2]=a[e+8>>2];a[g+12>>2]=a[e+12>>2];WF(n,g,u);a[C>>2]=a[n>>2];a[C+4>>2]=a[n+4>>2];a[C+8>>2]=a[n+8>>2];a[C+12>>2]=a[n+12>>2];if(t|0){i=+b[C>>3];if(!(+b[t>>3]<=i)){A=0;break}if(!(i<=+b[t+16>>3])){A=0;break}i=+b[C+8>>3];if(!(+b[t+8>>3]<=i)){A=0;break}A=i<=+b[t+24>>3];break}if((c|0)==(a[47292]|0)){i=+b[23309];r=+b[23310];l=+b[23311]}else{A=c+16|0;e=a[(a[A>>2]|0)+12>>2]|0;a[47293]=e;a[47294]=a[e+44>>2];a[47295]=a[e+8>>2];if(!(a[e+40>>2]&2048)){w=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&1|0)==0;u=a[A>>2]|0;b[(w?186496:186504)>>3]=+b[u+96>>3]+ +b[u+88>>3];b[(w?186504:186496)>>3]=+b[u+80>>3];l=+b[u+32>>3]*72.0;f=+b[u+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);l=+(~~(l+(l>=0.0?.5:-.5))|0)}else{HR(g,e);l=+b[g+16>>3]-+b[g>>3];f=+b[g+24>>3]-+b[g+8>>3];u=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&1|0)==0;b[(u?186496:186504)>>3]=l;b[(u?186504:186496)>>3]=f}i=+b[23312];if(i==0.0){b[23312]=1.0;i=1.0}r=+b[23313];if(r==0.0){b[23313]=1.0;r=1.0}i=l/i;b[23309]=i;r=f/r;b[23310]=r;l=l*.5;b[23311]=l;b[23314]=f*.5;u=U((a[(a[47293]|0)+4>>2]|0)+-1|0,a[47295]|0)|0;a[47296]=(u|0)>0?u:0;a[47292]=c}f=+b[C>>3]*i;b[C>>3]=f;u=C+8|0;i=+b[u>>3]*r;b[u>>3]=i;if(!(+y(+f)>l)?(r=+y(+i),o=+b[23314],!(r>o)):0){u=a[47295]|0;if((u|0)<3){A=+v1(f/l,i/o)<1.0;break}e=(a[47297]|0)%(u|0)|0;A=(e+1|0)%(u|0)|0;c=a[47294]|0;s=a[47296]|0;w=c+(s+e<<4)|0;a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];w=c+(s+A<<4)|0;a[d>>2]=a[w>>2];a[d+4>>2]=a[w+4>>2];a[d+8>>2]=a[w+8>>2];a[d+12>>2]=a[w+12>>2];a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[46630];a[E+4>>2]=a[46631];a[E+8>>2]=a[46632];a[E+12>>2]=a[46633];a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[g>>2]=a[w>>2];a[g+4>>2]=a[w+4>>2];a[g+8>>2]=a[w+8>>2];a[g+12>>2]=a[w+12>>2];if(xN(B,E,v,g)|0){a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[h>>2];a[E+4>>2]=a[h+4>>2];a[E+8>>2]=a[h+8>>2];a[E+12>>2]=a[h+12>>2];a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];a[g>>2]=a[46630];a[g+4>>2]=a[46631];a[g+8>>2]=a[46632];a[g+12>>2]=a[46633];w=(xN(B,E,v,g)|0)!=0;if(w?(a[B>>2]=a[C>>2],a[B+4>>2]=a[C+4>>2],a[B+8>>2]=a[C+8>>2],a[B+12>>2]=a[C+12>>2],a[E>>2]=a[d>>2],a[E+4>>2]=a[d+4>>2],a[E+8>>2]=a[d+8>>2],a[E+12>>2]=a[d+12>>2],a[v>>2]=a[46630],a[v+4>>2]=a[46631],a[v+8>>2]=a[46632],a[v+12>>2]=a[46633],a[g>>2]=a[h>>2],a[g+4>>2]=a[h+4>>2],a[g+8>>2]=a[h+8>>2],a[g+12>>2]=a[h+12>>2],(xN(B,E,v,g)|0)!=0):0){A=1;break}else{t=e;e=1}while(1){if((e|0)>=(u|0)){e=31;break}if(w){n=A;A=(A+1|0)%(u|0)|0}else{n=(t+-1+u|0)%(u|0)|0;A=t}h=c+(s+n<<4)|0;d=c+(s+A<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[46630];a[E+4>>2]=a[46631];a[E+8>>2]=a[46632];a[E+12>>2]=a[46633];a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[g>>2]=a[d>>2];a[g+4>>2]=a[d+4>>2];a[g+8>>2]=a[d+8>>2];a[g+12>>2]=a[d+12>>2];if(!(xN(B,E,v,g)|0)){e=30;break}else{t=n;e=e+1|0}}if((e|0)==30){a[47297]=n;A=0;break}else if((e|0)==31){a[47297]=t;A=1;break}}else A=0}else A=0}else{a[47292]=0;A=0}}while(0);k=I;return A&1|0}function cX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0;t=k;k=k+32|0;f=t+16|0;l=t;if(A){A=a[A>>2]|0;c=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(l,f,c);n=+b[l>>3];r=+b[l+8>>3];if((A|0)==(a[47300]|0))i=+b[23317];else{l=a[(a[A+16>>2]|0)+12>>2]|0;c=(a[l+4>>2]<<1)+-2|0;i=+b[(a[l+44>>2]|0)+((((c|0)>0?c:0)|1)<<4)>>3];b[23317]=i;a[47300]=A}if(+y(+n)>i|+y(+r)>i)A=0;else A=+v1(n,r)<=i&1}else{a[47300]=0;A=0}k=t;return A|0}function bX(A,e){A=A|0;e=e|0;var i=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0,C=0;v=k;k=k+16|0;t=v;d=a[A+16>>2]|0;B=d+208|0;i=a[B>>2]|0;if((i|0)==0?(f[d+260>>1]&1)==0:0)h=0;else if(!(a[A+152>>2]&4)){Pi(A,i,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0);h=1}else h=1;w=e+16|0;c=a[(a[w>>2]|0)+12>>2]|0;u=a[c+44>>2]|0;o=a[c+8>>2]|0;c=a[c+4>>2]|0;if((a[47298]|0)<(o|0)){i=o+2|0;a[47298]=i;l=a[47299]|0;if(!l)i=$F(i<<4)|0;else i=eV(l,i<<4)|0;a[47299]=i}HN(e,t)|0;if(!(a[t>>2]&32))rr(A,22020);else rr(A,22016);i=a[47172]|0;if(i|0)wr(A,+oR(e,i,1.0,0.0));i=n[(a[w>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){$i(A,BR(e,0,106256)|0);i=BR(e,0,106264)|0;er(A,i);break}if(i&8|0){$i(A,BR(e,0,106272)|0);i=BR(e,0,106280)|0;er(A,i);break}if(!(i&4)){i=RN(e,137314)|0;er(A,i);JN(A,e)|0;break}else{$i(A,BR(e,0,106288)|0);i=BR(e,0,106296)|0;er(A,i);break}}else{$i(A,BR(e,0,106240)|0);i=BR(e,0,106248)|0;er(A,i)}}while(0);if(!c)if(!(r[i>>0]|0))l=1;else{$i(A,i);l=1}else l=c;t=1;e=0;while(1){if((e|0)>=(l|0))break;c=U(e,o)|0;s=a[47299]|0;i=0;while(1){if((i|0)>=(o|0))break;C=i+c|0;g=+b[u+(C<<4)+8>>3];E=a[w>>2]|0;b[s+(i<<4)>>3]=+b[E+16>>3]+ +b[u+(C<<4)>>3];b[s+(i<<4)+8>>3]=+b[E+24>>3]+g;i=i+1|0}fr(A,s,o,t);t=0;e=e+1|0}if(h){if(a[A+152>>2]&4|0)Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0);Oi(A)}k=v;return}function sX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,l=0;f=k;k=k+48|0;l=f;i=wX(e,i,r)|0;a[l+36>>2]=a[r+36>>2];TN(e,a[r+24>>2]|0,l,i,n[r+33>>0]|0,0)|0;e=l;i=A+40|0;do{a[A>>2]=a[e>>2];A=A+4|0;e=e+4|0}while((A|0)<(i|0));k=f;return}function wX(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0;G=k;k=k+32|0;Z=G;n=G+24|0;c=G+16|0;I=a[(a[(a[(Id(A)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=A+16|0;C=(a[f>>2]|0)+16|0;a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];uX(n,Z,I);C=(a[e+16>>2]|0)+16|0;a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];uX(c,Z,I);I=r[i+33>>0]|0;Z=I&255;A:do{switch(I<<24>>24){case 0:case 15:{e=0;break}default:{e=a[i+24>>2]|0;if(!e){I=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;C=a[f>>2]|0;m=+b[C+80>>3]*.5;Q=-m;s=+b[C+88>>3];t=-s;w=I?t:Q;l=I?s:m;s=I?m:s;t=I?Q:t}else{w=+b[e>>3];l=+b[e+16>>3];s=+b[e+24>>3];t=+b[e+8>>3]}I=a[n>>2]|0;E=a[n+4>>2]|0;C=a[c>>2]|0;B=a[c+4>>2]|0;v=~~t;g=~~((l+w)*.5);d=~~l;h=~~((s+t)*.5);o=~~s;u=~~w;n=0;c=0;e=0;i=0;A=0;while(1){if((c|0)==4)break A;if(1<>2]|0;else f=n}else f=n;n=f;c=c+1|0}}}}while(0);k=G;return e|0}function uX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;switch(i|0){case 0:{f=+b[e>>3];r=+b[e+8>>3];break}case 2:{f=+b[e>>3];r=-+b[e+8>>3];break}case 1:{f=-+b[e+8>>3];r=+b[e>>3];break}case 3:{f=+b[e+8>>3];r=+b[e>>3];break}default:{f=0.0;r=0.0}}a[A>>2]=~~(f+(f>=0.0?.5:-.5));a[A+4>>2]=~~(r+(r>=0.0?.5:-.5));return}function kX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;f=t+40|0;l=t;n=A+16|0;i=a[n>>2]|0;e=i+16|0;if(r[i+47>>0]|0){i=a[A>>2]&3;sX(f,a[((i|0)==3?A:A+48|0)+40>>2]|0,a[((i|0)==2?A:A+-48|0)+40>>2]|0,e);i=f;f=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(f|0));i=a[n>>2]|0}e=i+56|0;if(r[i+87>>0]|0){i=a[A>>2]&3;sX(l,a[((i|0)==2?A:A+-48|0)+40>>2]|0,a[((i|0)==3?A:A+48|0)+40>>2]|0,e);i=l;f=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(f|0))}k=t;return}function oX(){var A=0,e=0,i=0;A=k;k=k+32|0;e=A+16|0;i=A;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];tX(0,e)|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];cX(0,e)|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];YN(0,e)|0;k=A;return}function hX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;G=k;k=k+192|0;B=G+176|0;I=G+112|0;Z=G+48|0;v=G+32|0;g=G+24|0;E=G+16|0;C=G;if(!(r<<24>>24)){c=i+48|0;a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];c=g;s=E;w=I;u=0}else{a[v>>2]=a[i>>2];a[v+4>>2]=a[i+4>>2];a[v+8>>2]=a[i+8>>2];a[v+12>>2]=a[i+12>>2];c=E;s=g;w=0;u=I}b[g>>3]=0.0;b[E>>3]=1.0;h=v+8|0;f=0.0;n=1.0;t=0;o=+b[v>>3];while(1){d=+b[h>>3];f=(f+n)*.5;mR(C,i,3,f,w,u);a[v>>2]=a[C>>2];a[v+4>>2]=a[C+4>>2];a[v+8>>2]=a[C+8>>2];a[v+12>>2]=a[C+12>>2];a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];A:do{if(!((m5[e&127](A,B)|0)<<24>>24)){r=0;while(1){if((r|0)==4){r=c;t=1;break A}t=Z+(r<<4)|0;Q=I+(r<<4)|0;a[t>>2]=a[Q>>2];a[t+4>>2]=a[Q+4>>2];a[t+8>>2]=a[Q+8>>2];a[t+12>>2]=a[Q+12>>2];r=r+1|0}}else r=s}while(0);b[r>>3]=f;l=+b[v>>3];o=o-l;if(!((o>=0.0?o:-o)>.5)?(d=d-+b[h>>3],!((d>=0.0?d:-d)>.5)):0)break;f=+b[g>>3];n=+b[E>>3];o=l}A:do{if(!(t<<24>>24)){r=0;while(1){if((r|0)==4)break A;Q=i+(r<<4)|0;Z=I+(r<<4)|0;a[Q>>2]=a[Z>>2];a[Q+4>>2]=a[Z+4>>2];a[Q+8>>2]=a[Z+8>>2];a[Q+12>>2]=a[Z+12>>2];r=r+1|0}}else{r=0;while(1){if((r|0)==4)break A;Q=i+(r<<4)|0;I=Z+(r<<4)|0;a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];r=r+1|0}}}while(0);k=G;return}function dX(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=k;k=k+48|0;i=s+16|0;r=s;f=s+32|0;n=A+16|0;l=a[n>>2]|0;t=a[l+8>>2]|0;if(t|0?(c=t+4|0,a[(a[c>>2]|0)+12>>2]|0):0){a[f>>2]=A;a[f+4>>2]=0;w=+b[l+96>>3];b[r>>3]=+b[e>>3]-+b[l+16>>3];b[r+8>>3]=+b[e+8>>3]-+b[l+24>>3];c=a[(a[c>>2]|0)+12>>2]|0;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];c=m5[c&127](f,i)|0;b[(a[n>>2]|0)+96>>3]=w;BX(f,A,e,c)}k=s;return}function BX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+64|0;s=w;t=e+16|0;n=a[t>>2]|0;c=+b[n+96>>3];l=n+16|0;f=n+24|0;e=0;while(1){if((e|0)==4)break;b[s+(e<<4)>>3]=+b[i+(e<<4)>>3]-+b[l>>3];b[s+(e<<4)+8>>3]=+b[i+(e<<4)+8>>3]-+b[f>>3];e=e+1|0}hX(A,a[(a[(a[n+8>>2]|0)+4>>2]|0)+12>>2]|0,s,r);e=0;while(1){if((e|0)==4)break;r=a[t>>2]|0;b[i+(e<<4)>>3]=+b[r+16>>3]+ +b[s+(e<<4)>>3];b[i+(e<<4)+8>>3]=+b[r+24>>3]+ +b[s+(e<<4)+8>>3];e=e+1|0}b[(a[t>>2]|0)+96>>3]=c;k=w;return}function vX(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=A+16|0;A=a[f>>2]|0;if(!(r[A+112>>0]|0))break;A=a[A+116>>2]|0}A=a[A+8>>2]|0;if(!A){A=qF(40)|0;a[(a[f>>2]|0)+8>>2]=A}i=a[A>>2]|0;if(!i)A=$F(((a[A+4>>2]|0)*48|0)+48|0)|0;else A=eV(i,((a[A+4>>2]|0)*48|0)+48|0)|0;f=a[(a[f>>2]|0)+8>>2]|0;a[f>>2]=A;f=f+4|0;i=a[f>>2]|0;a[f>>2]=i+1;f=A+(i*48|0)|0;a[f>>2]=qF(e<<4)|0;a[A+(i*48|0)+4>>2]=e;A=A+(i*48|0)+8|0;i=A+40|0;do{a[A>>2]=0;A=A+4|0}while((A|0)<(i|0));return f|0}function gX(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0.0,z=0.0;W=k;k=k+96|0;Q=W+16|0;g=W;I=W+92|0;Z=W+88|0;E=W+80|0;s=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;G=Id(s)|0;m=vX(A,f)|0;w=A;while(1){u=a[w+16>>2]|0;if(!(r[u+112>>0]|0))break;w=a[u+116>>2]|0}if((r[l+8>>0]|0)==0?(t=a[s+16>>2]|0,c=a[e+16>>2]|0,(a[t+232>>2]|0)==(a[c+232>>2]|0)):0){o=(a[t+236>>2]|0)>(a[c+236>>2]|0);C=o?s:e;s=o?e:s}else C=e;if((s|0)==(a[((a[w>>2]&3|0)==3?w:w+48|0)+40>>2]|0)){t=u+80|0;c=u+40|0;o=n[u+86>>0]|0;e=n[u+46>>0]|0}else{t=u+40|0;c=u+80|0;o=n[u+46>>0]|0;e=n[u+86>>0]|0}u=a[t>>2]|0;t=a[c>>2]|0;if(((e|0)!=0?(d=s+16|0,h=a[(a[d>>2]|0)+8>>2]|0,(h|0)!=0):0)?(a[(a[h+4>>2]|0)+12>>2]|0)!=0:0){a[E>>2]=s;a[E+4>>2]=t;t=f+-4|0;e=g+8|0;c=0;while(1){if((c|0)>=(t|0))break;w=c+3|0;h=a[d>>2]|0;b[g>>3]=+b[i+(w<<4)>>3]-+b[h+16>>3];b[e>>3]=+b[i+(w<<4)+8>>3]-+b[h+24>>3];h=a[(a[(a[h+8>>2]|0)+4>>2]|0)+12>>2]|0;a[Q>>2]=a[g>>2];a[Q+4>>2]=a[g+4>>2];a[Q+8>>2]=a[g+8>>2];a[Q+12>>2]=a[g+12>>2];if(!((m5[h&127](E,Q)|0)<<24>>24))break;else c=w}a[I>>2]=c;BX(E,s,i+(c<<4)|0,1)}else{a[I>>2]=0;c=0}if(((o|0)!=0?(v=C+16|0,B=a[(a[v>>2]|0)+8>>2]|0,(B|0)!=0):0)?(a[(a[B+4>>2]|0)+12>>2]|0)!=0:0){a[E>>2]=C;a[E+4>>2]=u;s=f+-4|0;e=g+8|0;t=s;while(1){if((t|0)<=0)break;f=a[v>>2]|0;b[g>>3]=+b[i+(t<<4)>>3]-+b[f+16>>3];b[e>>3]=+b[i+(t<<4)+8>>3]-+b[f+24>>3];f=a[(a[(a[f+8>>2]|0)+4>>2]|0)+12>>2]|0;a[Q>>2]=a[g>>2];a[Q+4>>2]=a[g+4>>2];a[Q+8>>2]=a[g+8>>2];a[Q+12>>2]=a[g+12>>2];if(!((m5[f&127](E,Q)|0)<<24>>24))break;t=t+-3|0}a[Z>>2]=t;BX(E,C,i+(t<<4)|0,0)}else{s=f+-4|0;a[Z>>2]=s;t=s}while(1){if((c|0)>=(s|0))break;e=c+3|0;y=+b[i+(c<<4)>>3]-+b[i+(e<<4)>>3];z=+b[i+(c<<4)+8>>3]-+b[i+(e<<4)+8>>3];if(z*z+y*y<1.0e-06)c=e;else break}a[I>>2]=c;while(1){if((t|0)<=0)break;E=t+3|0;z=+b[i+(t<<4)>>3]-+b[i+(E<<4)>>3];y=+b[i+(t<<4)+8>>3]-+b[i+(E<<4)+8>>3];if(!(y*y+z*z<1.0e-06))break;t=t+-3|0}a[Z>>2]=t;EX(A,C,i,I,Z,m,l);d=a[I>>2]|0;w=a[Z>>2]|0;s=w+4|0;w=w+3|0;u=Q+16|0;o=Q+32|0;h=Q+48|0;c=G+16|0;t=d;while(1){if((t|0)>=(s|0))break;G=(a[m>>2]|0)+(t-d<<4)|0;e=i+(t<<4)|0;a[G>>2]=a[e>>2];a[G+4>>2]=a[e+4>>2];a[G+8>>2]=a[e+8>>2];a[G+12>>2]=a[e+12>>2];a[Q>>2]=a[e>>2];a[Q+4>>2]=a[e+4>>2];a[Q+8>>2]=a[e+8>>2];a[Q+12>>2]=a[e+12>>2];e=t+1|0;if((t|0)>=(w|0)){L=38;break}Z=(a[m>>2]|0)+(e-d<<4)|0;G=i+(e<<4)|0;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[u>>2]=a[G>>2];a[u+4>>2]=a[G+4>>2];a[u+8>>2]=a[G+8>>2];a[u+12>>2]=a[G+12>>2];G=t+2|0;Z=(a[m>>2]|0)+(G-d<<4)|0;G=i+(G<<4)|0;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[o>>2]=a[G>>2];a[o+4>>2]=a[G+4>>2];a[o+8>>2]=a[G+8>>2];a[o+12>>2]=a[G+12>>2];G=t+3|0;Z=i+(G<<4)|0;a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];sI((a[c>>2]|0)+16|0,Q);t=G}a[m+4>>2]=s-d;k=W;return}function EX(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;s=o+4|0;w=o;u=A;while(1){c=a[(a[u+16>>2]|0)+116>>2]|0;if(!c)break;else u=c}if(!(r[t+8>>0]|0))c=(Q5[a[t>>2]&63](u)|0)&255;else c=0;DC(u,s,w);b=t+4|0;if((Q5[a[b>>2]&63](e)|0)<<24>>24)a[w>>2]=0;if((Q5[a[b>>2]&63](a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)<<24>>24)a[s>>2]=0;if(c|0){e=a[s>>2]|0;a[s>>2]=a[w>>2];a[w>>2]=e}if(!(r[t+9>>0]|0)){c=a[s>>2]|0;if(c|0)a[f>>2]=PC(u,i,a[f>>2]|0,a[n>>2]|0,l,c)|0;c=a[w>>2]|0;if(c|0)a[n>>2]=jC(u,i,a[f>>2]|0,a[n>>2]|0,l,c)|0}else{b=a[w>>2]|0;c=a[s>>2]|0;if(c|b|0)OC(u,i,a[f>>2]|0,a[n>>2]|0,l,c,b)}k=o;return}function CX(A,e){A=A|0;e=e|0;var i=0,r=0;if(+b[e>>3]<+b[e+16>>3]?+b[e+8>>3]<+b[e+24>>3]:0){i=a[A+84>>2]|0;r=A+80|0;A=a[r>>2]|0;a[r>>2]=A+1;A=i+(A<<5)|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2]}return}function IX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;I=k;k=k+112|0;g=I+72|0;u=I+56|0;w=I+16|0;h=I;t=a[e>>2]&3;o=e+48|0;C=a[((t|0)==3?e:o)+40>>2]|0;v=e+16|0;d=a[v>>2]|0;l=d+16|0;if(r[d+47>>0]|0){sX(w,C,a[((t|0)==2?e:e+-48|0)+40>>2]|0,l);t=w;w=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(w|0))}d=C+16|0;t=a[d>>2]|0;l=a[t+8>>2]|0;if(!l)w=0;else w=a[(a[l+4>>2]|0)+16>>2]|0;l=t+16|0;t=(a[v>>2]|0)+16|0;a[u>>2]=a[l>>2];a[u+4>>2]=a[l+4>>2];a[u+8>>2]=a[l+8>>2];a[u+12>>2]=a[l+12>>2];a[g>>2]=a[t>>2];a[g+4>>2]=a[t+4>>2];a[g+8>>2]=a[t+8>>2];a[g+12>>2]=a[t+12>>2];ZX(h,u,g);a[A>>2]=a[h>>2];a[A+4>>2]=a[h+4>>2];a[A+8>>2]=a[h+8>>2];a[A+12>>2]=a[h+12>>2];if(!(n<<24>>24)){l=a[v>>2]|0;if(!(r[l+45>>0]|0))l=0;else{c=+b[l+32>>3];E=9}}else{c=+GX(a[((a[e>>2]&3|0)==3?e:o)+40>>2]|0);E=9}if((E|0)==9){b[A+16>>3]=c;l=1}r[A+29>>0]=l;a[A+80>>2]=0;a[A+88>>2]=e;h=f+32|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];switch(i|0){case 1:{t=a[d>>2]|0;if((r[t+156>>0]|0)==0?(h=r[(a[v>>2]|0)+49>>0]|0,B=h&255,h<<24>>24!=0):0){a[g>>2]=a[f>>2];a[g+4>>2]=a[f+4>>2];a[g+8>>2]=a[f+8>>2];a[g+12>>2]=a[f+12>>2];a[g+16>>2]=a[f+16>>2];a[g+20>>2]=a[f+20>>2];a[g+24>>2]=a[f+24>>2];a[g+28>>2]=a[f+28>>2];do{if(!(B&4)){if(B&1|0){a[f+48>>2]=1;l=g+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}l=f+48|0;if(!(B&8)){a[l>>2]=2;b[g>>3]=+b[A>>3];b[g+8>>3]=+b[t+24>>3]-+b[t+80>>3]*.5;b[g+24>>3]=+b[A+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}else{a[l>>2]=8;b[g+16>>3]=+b[A>>3];b[g+8>>3]=+b[t+24>>3]-+b[t+80>>3]*.5;b[g+24>>3]=+b[A+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}}else{a[f+48>>2]=4;c=+b[g>>3];if(+b[A>>3]<+b[t+16>>3]){G=c+-1.0;Z=+b[A+8>>3];A=g+16|0;c=+b[A>>3];s=+b[t+80>>3]*.5+ +b[t+24>>3];s=s+ +((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[d>>2]|0;b[A>>3]=+b[l+16>>3]-+b[l+88>>3];b[g+24>>3]=Z;b[g+8>>3]=+b[l+24>>3]-+b[l+80>>3]*.5;b[g>>3]=G;b[f+56>>3]=G;b[f+64>>3]=Z;b[f+72>>3]=c;b[f+80>>3]=s;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}else{s=+b[A+8>>3];l=g+16|0;Z=+b[l>>3]+1.0;G=+b[t+80>>3]*.5+ +b[t+24>>3];G=G+ +((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[d>>2]|0;b[g>>3]=+b[A+96>>3]+ +b[A+16>>3];b[g+24>>3]=s;b[g+8>>3]=+b[A+24>>3]-+b[A+80>>3]*.5;b[l>>3]=Z;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Z;b[f+80>>3]=G;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((C|0)==(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0}else{t=1;E=47}break}case 2:{B=r[(a[v>>2]|0)+49>>0]|0;t=B&255;if(!(B<<24>>24))E=46;else{a[g>>2]=a[f>>2];a[g+4>>2]=a[f+4>>2];a[g+8>>2]=a[f+8>>2];a[g+12>>2]=a[f+12>>2];a[g+16>>2]=a[f+16>>2];a[g+20>>2]=a[f+20>>2];a[g+24>>2]=a[f+24>>2];a[g+28>>2]=a[f+28>>2];do{if(!(t&4)){if(t&1|0)if((a[f+48>>2]|0)==4){l=a[d>>2]|0;G=+b[l+24>>3]-+b[l+80>>3]*.5;l=g+16|0;Z=+b[l>>3]+1.0;c=+b[A>>3];s=G-+((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[d>>2]|0;b[g>>3]=+b[A+96>>3]+ +b[A+16>>3];b[g+8>>3]=G;b[g+24>>3]=+b[A+80>>3]*.5+ +b[A+24>>3];b[l>>3]=Z;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Z;b[f+80>>3]=G;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}else{l=g+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}c=+b[A>>3];if(!(t&8)){b[g>>3]=c;i=a[d>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[g+24>>3]=s+c;c=+b[A+8>>3];l=g}else{b[g+8>>3]=c-s;c=+b[A+8>>3]+1.0;l=g+16|0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}else{l=g+16|0;b[l>>3]=c+1.0;i=a[d>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[g+24>>3]=s+c;c=+b[A+8>>3]+-1.0;l=g}else{b[g+8>>3]=c-s;c=+b[A+8>>3]+1.0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}}else{l=g+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+8>>3]?g:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((C|0)==(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0;a[f+48>>2]=t}break}default:E=46}if((E|0)==46){t=a[f+48>>2]|0;E=47}A:do{if((E|0)==47){if(w){e=f+56|0;l=f+52|0;t=z5[w&127](C,(a[v>>2]|0)+16|0,t,e,l)|0;if(t){a[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}a[e>>2]=a[f>>2];a[e+4>>2]=a[f+4>>2];a[e+8>>2]=a[f+8>>2];a[e+12>>2]=a[f+12>>2];a[e+16>>2]=a[f+16>>2];a[e+20>>2]=a[f+20>>2];a[e+24>>2]=a[f+24>>2];a[e+28>>2]=a[f+28>>2];a[l>>2]=1;switch(i|0){case 8:{vA(138394,106514,569,106524);break}case 2:{b[((a[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+b[A+8>>3];break A}case 1:{b[f+80>>3]=+b[A+8>>3];a[f+48>>2]=1;break A}default:break A}}}while(0);k=I;return}function ZX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function GX(A){A=A|0;var e=0.0,i=0,r=0,f=0.0,n=0,l=0,t=0,c=0.0,s=0.0;l=a[A+16>>2]|0;t=a[l+172>>2]|0;f=0.0;n=0;while(1){A=a[t+(n<<2)>>2]|0;if(!A)break;f=+b[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;n=n+1|0}r=a[l+180>>2]|0;e=0.0;A=0;while(1){i=a[r+(A<<2)>>2]|0;if(!i)break;e=+b[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+e;A=A+1|0}c=+b[l+16>>3];s=+b[l+24>>3];t=a[t>>2]|0;f=+X(+(s-+b[(a[(a[((a[t>>2]&3|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(c-f/+(n|0)));t=a[r>>2]|0;return+((+X(+(+b[(a[(a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-s),+(e/+(A|0)-c))+f)*.5)}function QX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0;G=k;k=k+112|0;C=G+72|0;o=G+56|0;w=G+16|0;v=G;t=a[e>>2]&3;d=e+-48|0;Z=a[((t|0)==2?e:d)+40>>2]|0;g=e+16|0;B=a[g>>2]|0;l=B+56|0;if(r[B+87>>0]|0){sX(w,Z,a[((t|0)==3?e:e+48|0)+40>>2]|0,l);t=w;w=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(w|0))}B=Z+16|0;t=a[B>>2]|0;l=a[t+8>>2]|0;if(!l)u=0;else u=a[(a[l+4>>2]|0)+16>>2]|0;w=A+40|0;l=t+16|0;t=(a[g>>2]|0)+56|0;a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];a[C>>2]=a[t>>2];a[C+4>>2]=a[t+4>>2];a[C+8>>2]=a[t+8>>2];a[C+12>>2]=a[t+12>>2];ZX(v,o,C);a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];if(!(n<<24>>24)){l=a[g>>2]|0;if(!(r[l+85>>0]|0))h=0;else{b[A+56>>3]=+b[l+72>>3];h=1}}else{s=+GX(a[((a[e>>2]&3|0)==2?e:d)+40>>2]|0)+3.141592653589793;b[A+56>>3]=s;if(s<6.283185307179586)h=1;else vA(106534,106514,606,106558)}r[A+69>>0]=h;v=f+32|0;a[v>>2]=a[w>>2];a[v+4>>2]=a[w+4>>2];a[v+8>>2]=a[w+8>>2];a[v+12>>2]=a[w+12>>2];switch(i|0){case 1:{t=a[B>>2]|0;if((r[t+156>>0]|0)==0?(v=r[(a[g>>2]|0)+89>>0]|0,E=v&255,v<<24>>24!=0):0){a[C>>2]=a[f>>2];a[C+4>>2]=a[f+4>>2];a[C+8>>2]=a[f+8>>2];a[C+12>>2]=a[f+12>>2];a[C+16>>2]=a[f+16>>2];a[C+20>>2]=a[f+20>>2];a[C+24>>2]=a[f+24>>2];a[C+28>>2]=a[f+28>>2];do{if(!(E&4))if(!(E&1)){l=f+48|0;if(!(E&8)){a[l>>2]=2;b[C>>3]=+b[w>>3];b[C+24>>3]=+b[t+80>>3]*.5+ +b[t+24>>3];b[C+8>>3]=+b[A+48>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}else{a[l>>2]=8;b[C+16>>3]=+b[w>>3];b[C+24>>3]=+b[t+80>>3]*.5+ +b[t+24>>3];b[C+8>>3]=+b[A+48>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}}else{a[f+48>>2]=1;c=+b[C>>3];if(+b[w>>3]<+b[t+16>>3]){m=c+-1.0;s=+b[A+48>>3];A=C+16|0;c=+b[A>>3];Q=+b[t+80>>3]*-.5+ +b[t+24>>3];Q=Q-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[B>>2]|0;b[A>>3]=+b[l+16>>3]-+b[l+88>>3];b[C+8>>3]=s;b[C+24>>3]=+b[l+80>>3]*.5+ +b[l+24>>3];b[C>>3]=m;b[f+56>>3]=m;b[f+64>>3]=Q;b[f+72>>3]=c;b[f+80>>3]=s;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}else{m=+b[A+48>>3];l=C+16|0;Q=+b[l>>3]+1.0;s=+b[t+80>>3]*-.5+ +b[t+24>>3];s=s-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[B>>2]|0;b[C>>3]=+b[A+96>>3]+ +b[A+16>>3];b[C+8>>3]=m;b[C+24>>3]=+b[A+80>>3]*.5+ +b[A+24>>3];b[l>>3]=Q;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Q;b[f+80>>3]=m;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}}else{a[f+48>>2]=4;l=C+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+48>>3]?C:w)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((Z|0)==(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;a[f+48>>2]=E}else{t=4;I=47}break}case 2:{E=r[(a[g>>2]|0)+89>>0]|0;t=E&255;if(!(E<<24>>24))I=46;else{a[C>>2]=a[f>>2];a[C+4>>2]=a[f+4>>2];a[C+8>>2]=a[f+8>>2];a[C+12>>2]=a[f+12>>2];a[C+16>>2]=a[f+16>>2];a[C+20>>2]=a[f+20>>2];a[C+24>>2]=a[f+24>>2];a[C+28>>2]=a[f+28>>2];do{if(!(t&4)){if(t&1|0)if((a[f+48>>2]|0)==4){c=+b[C>>3]+-1.0;l=a[B>>2]|0;m=+b[l+24>>3]-+b[l+80>>3]*.5;Q=+b[w>>3];s=m-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[B>>2]|0;b[C+16>>3]=+b[l+16>>3]+-2.0-+b[l+88>>3];b[C+8>>3]=m;b[C+24>>3]=+b[l+80>>3]*.5+ +b[l+24>>3];b[C>>3]=c;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Q;b[f+80>>3]=m;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}else{l=C+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?C+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}c=+b[w>>3];if(!(t&8)){b[C>>3]=c+-1.0;i=a[B>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[C+24>>3]=s+c;c=+b[A+48>>3]+-1.0;l=C}else{b[C+8>>3]=c-s;c=+b[A+48>>3];l=C+16|0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}else{l=C+16|0;b[l>>3]=c+1.0;i=a[B>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[C+24>>3]=s+c;c=+b[A+48>>3]+-1.0;l=C}else{b[C+8>>3]=c-s;c=+b[A+48>>3]+1.0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}}else{l=C+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+48>>3]?C:w)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((Z|0)==(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;a[f+48>>2]=t}break}default:I=46}if((I|0)==46){t=a[f+48>>2]|0;I=47}A:do{if((I|0)==47){if(u){e=f+56|0;l=f+52|0;t=z5[u&127](Z,(a[g>>2]|0)+56|0,t,e,l)|0;if(t){a[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}a[e>>2]=a[f>>2];a[e+4>>2]=a[f+4>>2];a[e+8>>2]=a[f+8>>2];a[e+12>>2]=a[f+12>>2];a[e+16>>2]=a[f+16>>2];a[e+20>>2]=a[f+20>>2];a[e+24>>2]=a[f+24>>2];a[e+28>>2]=a[f+28>>2];a[l>>2]=1;switch(i|0){case 8:{vA(138394,106514,765,106558);break}case 2:{b[((a[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+b[A+48>>3];break A}case 1:{b[f+64>>3]=+b[A+48>>3];a[f+48>>2]=4;break A}default:break A}}}while(0);k=G;return}function mX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;n=a[A+16>>2]|0;l=a[n+96>>2]|0;if((r[n+44>>0]|0)==0?(r[n+84>>0]|0)==0:0)t=6;else{e=r[n+49>>0]|0;i=e&255;if(((i&8|0)==0?(f=r[n+89>>0]|0,(f&8)==0):0)?(i&5|0)==0?1:e<<24>>24!=f<<24>>24:0)t=6;else A=0}if((t|0)==6)if(!l)A=18;else{A=(a[(a[(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=~~(+b[(A?l+32|0:l+24|0)>>3]+18.0)}return A|0}function LX(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=+n;l=+l;t=t|0;var c=0,b=0,s=0,w=0;A=a[(a[e+(i<<2)>>2]|0)+16>>2]|0;if((r[A+44>>0]|0)==0?(r[A+84>>0]|0)==0:0)s=6;else s=3;do{if((s|0)==3){c=r[A+49>>0]|0;b=c&255;if(!(b&8)){w=r[A+89>>0]|0;if((w&8)==0?(b&5|0)==0?1:c<<24>>24!=w<<24>>24:0){s=6;break}if(!(r[A+89>>0]&8)){if(b&4|0){yX(e,i,f,n,l,t);break}if(!(b&1))vA(138394,106514,1231,106566);else{YX(e,i,f,n,l,t);break}}}if((c&2)==0?(r[A+89>>0]&2)==0:0){zX(e,i,f,n,l,t);break}yX(e,i,f,n,l,t)}}while(0);if((s|0)==6)WX(e,i,f,n,l,t);return}function WX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0.0,W=0,y=0.0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;m=a[A+(e<<2)>>2]|0;w=l*.5/+(i|0);w=w>2.0?w:2.0;W=(a[((a[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)+16|0;Q=a[W>>2]|0;L=+b[Q+16>>3];D=+b[Q+24>>3];m=a[m+16>>2]|0;s=+b[m+16>>3];y=s+L;z=+b[m+24>>3]+D;l=+b[m+56>>3];Y=l+L;D=+b[m+64>>3]+D;c=!(z>=D)?-1:1;o=+b[Q+96>>3];switch(DX(n[m+49>>0]|0,n[m+89>>0]|0)|0){case 65:case 32:{if(z==D)c=0-c|0;break}default:{}}p=(o-s)*3.0;s=(o-l)*3.0;E=w*+(c|0);g=J+8|0;C=J+16|0;I=J+32|0;Z=J+48|0;G=(D+z)*.5;Q=J+64|0;m=J+80|0;B=J+96|0;v=J+104|0;d=0;u=0.0;l=o;w=o=(i|0))break;h=e+1|0;e=a[A+(e<<2)>>2]|0;o=l+f;w=w+f;s=s+f;u=u+E;b[J>>3]=y;b[g>>3]=z;p=u+z;MX(N,w*.3333333333333333+y,p);a[C>>2]=a[N>>2];a[C+4>>2]=a[N+4>>2];a[C+8>>2]=a[N+8>>2];a[C+12>>2]=a[N+12>>2];U=o+L;MX(X,U,p);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];MX(R,U,G);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];p=D-u;MX(F,U,p);a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];MX(V,s*.3333333333333333+Y,p);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];b[B>>3]=Y;b[v>>3]=D;c=e+16|0;if((a[(a[c>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=a[(a[c>>2]|0)+96>>2]|0,M=+b[(x?c+24|0:c+32|0)>>3],x=a[W>>2]|0,b[c+56>>3]=M*.5+o+ +b[x+16>>3],b[c+64>>3]=+b[x+24>>3],r[c+81>>0]=1,M>f):0)l=M+l;else l=o;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,J,7,t);e=h;d=d+1|0}k=H;return}function yX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0.0,y=0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0.0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0.0,x=0;p=k;k=k+16080|0;N=p+80|0;X=p+64|0;R=p+48|0;H=p+32|0;V=p+16|0;J=p;L=a[A+(e<<2)>>2]|0;h=f*.5/+(i|0);h=h>2.0?h:2.0;y=(a[((a[L>>2]&3|0)==3?L:L+48|0)+40>>2]|0)+16|0;s=a[y>>2]|0;D=+b[s+16>>3];W=+b[s+24>>3];L=a[L+16>>2]|0;c=+b[L+16>>3];o=+b[L+24>>3];z=c+D;Y=o+W;f=+b[L+56>>3];u=+b[L+64>>3];D=f+D;M=u+W;w=!(z>=D)?-1.0:1.0;B=+b[s+80>>3]*.5;switch(DX(n[L+49>>0]|0,n[L+89>>0]|0)|0){case 15:{c=(h-f+ +b[s+96>>3])*w;break}case 38:{c=(f+h+ +b[s+88>>3])*w;break}case 41:{c=(h-c+ +b[s+96>>3])*w;break}case 48:{c=(h-c+ +b[s+96>>3])*w;break}case 58:case 57:case 51:case 47:case 37:case 14:{c=w*.3333333333333333*(c-f+ +b[s+88>>3]+ +b[s+96>>3]);break}case 73:{c=(c+h+ +b[s+88>>3])*w;break}case 83:{c=(+b[s+88>>3]+c)*w;break}case 84:{c=((c-f+ +b[s+88>>3]+ +b[s+96>>3])*.5+h)*w;break}case 85:case 75:case 74:{c=((c-f+ +b[s+88>>3]+ +b[s+96>>3])*.5+h*2.0)*w;break}default:c=0.0}o=(B-o)*3.0;u=(B-u)*3.0;h=w*h;C=N+8|0;I=N+16|0;Z=N+32|0;G=N+48|0;Q=(D+z)*.5;m=N+64|0;L=N+80|0;g=N+96|0;E=N+104|0;v=0;f=B;o=B=(i|0))break;d=e+1|0;e=a[A+(e<<2)>>2]|0;u=f+l;o=o+l;w=w+l;c=c+h;b[N>>3]=z;b[C>>3]=Y;B=c+z;MX(X,B,o*.3333333333333333+Y);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];U=u+W;MX(R,B,U);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];MX(H,Q,U);a[G>>2]=a[H>>2];a[G+4>>2]=a[H+4>>2];a[G+8>>2]=a[H+8>>2];a[G+12>>2]=a[H+12>>2];B=D-c;MX(V,B,U);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];MX(J,B,w*.3333333333333333+M);a[L>>2]=a[J>>2];a[L+4>>2]=a[J+4>>2];a[L+8>>2]=a[J+8>>2];a[L+12>>2]=a[J+12>>2];b[g>>3]=D;b[E>>3]=M;s=e+16|0;if((a[(a[s>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,s=a[(a[s>>2]|0)+96>>2]|0,F=+b[(x?s+32|0:s+24|0)>>3],x=a[y>>2]|0,b[s+64>>3]=F*.5+u+ +b[x+24>>3],b[s+56>>3]=+b[x+16>>3],r[s+81>>0]=1,F>l):0)f=F+f;else f=u;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,N,7,t);e=d;v=v+1|0}k=p;return}function zX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0.0,W=0,y=0.0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;m=a[A+(e<<2)>>2]|0;w=l*.5/+(i|0);w=w>2.0?w:2.0;W=(a[((a[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)+16|0;Q=a[W>>2]|0;L=+b[Q+16>>3];D=+b[Q+24>>3];m=a[m+16>>2]|0;s=+b[m+16>>3];y=s+L;z=+b[m+24>>3]+D;l=+b[m+56>>3];Y=l+L;D=+b[m+64>>3]+D;c=!(z>=D)?-1:1;o=+b[Q+88>>3];switch(DX(n[m+49>>0]|0,n[m+89>>0]|0)|0){case 67:case 12:{if(z==D)c=0-c|0;break}default:{}}p=(s+o)*3.0;s=(l+o)*3.0;E=w*+(c|0);g=J+8|0;C=J+16|0;I=J+32|0;Z=J+48|0;G=(D+z)*.5;Q=J+64|0;m=J+80|0;B=J+96|0;v=J+104|0;d=0;u=0.0;l=o;w=o=(i|0))break;h=e+1|0;e=a[A+(e<<2)>>2]|0;o=l+f;w=w+f;s=s+f;u=u+E;b[J>>3]=y;b[g>>3]=z;p=u+z;MX(N,y-w*.3333333333333333,p);a[C>>2]=a[N>>2];a[C+4>>2]=a[N+4>>2];a[C+8>>2]=a[N+8>>2];a[C+12>>2]=a[N+12>>2];U=L-o;MX(X,U,p);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];MX(R,U,G);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];p=D-u;MX(F,U,p);a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];MX(V,Y-s*.3333333333333333,p);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];b[B>>3]=Y;b[v>>3]=D;c=e+16|0;if((a[(a[c>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=a[(a[c>>2]|0)+96>>2]|0,M=+b[(x?c+24|0:c+32|0)>>3],x=a[W>>2]|0,b[c+56>>3]=M*-.5-o+ +b[x+16>>3],b[c+64>>3]=+b[x+24>>3],r[c+81>>0]=1,M>f):0)l=M+l;else l=o;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,J,7,t);e=h;d=d+1|0}k=H;return}function YX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0.0,G=0.0,Q=0.0,m=0.0,L=0,W=0,y=0,z=0.0,Y=0,D=0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;L=a[A+(e<<2)>>2]|0;m=f*.5/+(i|0);C=(a[((a[L>>2]&3|0)==3?L:L+48|0)+40>>2]|0)+16|0;W=a[C>>2]|0;G=+b[W+16>>3];E=+b[W+24>>3];L=a[L+16>>2]|0;s=+b[L+24>>3];I=+b[L+16>>3]+G;Z=s+E;w=+b[L+64>>3];G=+b[L+56>>3]+G;Q=w+E;g=!(I>=G)?-1:1;u=+b[W+80>>3]*.5;L=(DX(n[L+49>>0]|0,n[L+89>>0]|0)|0)==67;s=(s+u)*3.0;w=(w+u)*3.0;m=(m>2.0?m:2.0)*+((L?0-g|0:g)|0);g=J+8|0;L=J+16|0;W=J+32|0;y=J+48|0;z=(G+I)*.5;Y=J+64|0;D=J+80|0;B=J+96|0;v=J+104|0;f=u;c=0.0;s=u=(i|0))break;d=e+1|0;o=a[A+(e<<2)>>2]|0;u=f+l;s=s+l;w=w+l;c=c+m;b[J>>3]=I;b[g>>3]=Z;p=c+I;MX(N,p,Z-s*.3333333333333333);a[L>>2]=a[N>>2];a[L+4>>2]=a[N+4>>2];a[L+8>>2]=a[N+8>>2];a[L+12>>2]=a[N+12>>2];U=E-u;MX(X,p,U);a[W>>2]=a[X>>2];a[W+4>>2]=a[X+4>>2];a[W+8>>2]=a[X+8>>2];a[W+12>>2]=a[X+12>>2];MX(R,z,U);a[y>>2]=a[R>>2];a[y+4>>2]=a[R+4>>2];a[y+8>>2]=a[R+8>>2];a[y+12>>2]=a[R+12>>2];p=G-c;MX(F,p,U);a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];MX(V,p,Q-w*.3333333333333333);a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];b[B>>3]=G;b[v>>3]=Q;e=o+16|0;if((a[(a[e>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=a[(a[e>>2]|0)+96>>2]|0,M=+b[(x?e+32|0:e+24|0)>>3],x=a[C>>2]|0,b[e+64>>3]=M*-.5-u+ +b[x+24>>3],b[e+56>>3]=+b[x+16>>3],r[e+81>>0]=1,M>l):0)f=M+f;else f=u;gX(o,a[((a[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,J,7,t);e=d;h=h+1|0}k=H;return}function DX(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=8){e=-1;break}if((a[22044+(i<<2)>>2]|0)==(e|0)){e=i;break}i=i+1|0}i=0;while(1){if((i|0)>=8){i=-1;break}if((a[22044+(i<<2)>>2]|0)==(A|0))break;i=i+1|0}if((i|e|0)<0)i=0;else i=a[22076+(i<<5)+(e<<2)>>2]|0;return i|0}function MX(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function FX(A){A=A|0;var e=0,i=0;if((a[47203]|0)!=0|(a[47202]|0)!=0){e=A+16|0;i=a[(a[e>>2]|0)+100>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?VX(A,1)|0:0){i=Id(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;pR(i,a[(a[e>>2]|0)+100>>2]|0)}i=a[(a[e>>2]|0)+104>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?VX(A,0)|0:0){i=Id(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;pR(i,a[(a[e>>2]|0)+104>>2]|0)}}return}function VX(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+96|0;u=h+32|0;s=h+16|0;w=h;l=A+16|0;do{if((r[(a[l>>2]|0)+112>>0]|0)!=6){i=a[47203]|0;if(!((i|0)!=0?(r[(Uo(A,i)|0)>>0]|0)!=0:0)){i=a[47202]|0;if(!i){i=0;break}if(!(r[(Uo(A,i)|0)>>0]|0)){i=0;break}}e=e<<24>>24==0;o=a[l>>2]|0;o=a[(e?o+104|0:o+100|0)>>2]|0;i=JX(A)|0;if(i){c=a[i>>2]|0;do{if(e){if(a[c+8>>2]|0){i=a[c>>2]|0;t=+b[i>>3];n=+b[c+16>>3];i=i+8|0;f=+b[c+24>>3];break}i=a[c>>2]|0;n=+b[i>>3];f=+b[i+8>>3];i=0;while(1){if((i|0)==4)break;w=u+(i<<4)|0;l=(a[c>>2]|0)+(i<<4)|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];i=i+1|0}mR(s,u,3,.1,0,0);t=+b[s>>3];i=s+8|0}else{e=(a[i+4>>2]|0)+-1|0;l=c+(e*48|0)|0;if(a[c+(e*48|0)+12>>2]|0){u=a[l>>2]|0;i=(a[c+(e*48|0)+4>>2]|0)+-1|0;t=+b[u+(i<<4)>>3];n=+b[c+(e*48|0)+32>>3];i=u+(i<<4)+8|0;f=+b[c+(e*48|0)+40>>3];break}s=a[l>>2]|0;e=c+(e*48|0)+4|0;i=(a[e>>2]|0)+-1|0;n=+b[s+(i<<4)>>3];f=+b[s+(i<<4)+8>>3];i=0;while(1){if((i|0)==4)break;s=u+(i<<4)|0;c=(a[l>>2]|0)+(i+-4+(a[e>>2]|0)<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];i=i+1|0}mR(w,u,3,.9,0,0);t=+b[w>>3];i=w+8|0}}while(0);d=+X(+(+b[i>>3]-f),+(t-n));d=+oR(A,a[47203]|0,-25.0,-180.0)*.017453292519943295+d;t=+oR(A,a[47202]|0,1.0,0.0)*10.0;b[o+56>>3]=t*+D(+d)+n;b[o+64>>3]=+M(+d)*t+f;r[o+81>>0]=1;i=1}else i=0}else i=0}while(0);k=h;return i|0}function JX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;e=A;while(1){i=a[e+16>>2]|0;e=a[i+8>>2]|0;if(e|0)break;if(!(r[i+112>>0]|0)){n=5;break}e=a[i+116>>2]|0}if((n|0)==5){n=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;e=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[f>>2]=n;a[f+4>>2]=e;ao(1,106579,f)|0;e=0}k=l;return e|0}function NX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0;B=k;k=k+96|0;s=B+80|0;w=B+64|0;u=B+48|0;o=B+32|0;h=B+16|0;d=B;c=f[(a[e+16>>2]|0)+136>>1]|0;e=i+16|0;XX(a[(a[e>>2]|0)+8>>2]|0,o,h);r=+b[o>>3];n=+b[h>>3];v=r-n;l=+b[o+8>>3];t=+b[h+8>>3];g=l-t;A:do{if(g*g+v*v<1.0e-06){a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2]}else switch(c&14){case 4:case 10:{b[w>>3]=(n+r)*.5;b[w+8>>3]=(t+l)*.5;h=a[(a[e>>2]|0)+8>>2]|0;a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];DR(d,h,s);a[u>>2]=a[d>>2];a[u+4>>2]=a[d+4>>2];a[u+8>>2]=a[d+8>>2];a[u+12>>2]=a[d+12>>2];break A}default:{RX(u,a[(a[e>>2]|0)+8>>2]|0,o,h);break A}}}while(0);a[A>>2]=a[u>>2];a[A+4>>2]=a[u+4>>2];a[A+8>>2]=a[u+8>>2];a[A+12>>2]=a[u+12>>2];k=B;return}function XX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+32|0;n=l+16|0;f=l;c=a[A>>2]|0;r=a[c>>2]|0;t=a[c+8>>2]|0;b=c+16|0;a[n>>2]=a[b>>2];a[n+4>>2]=a[b+4>>2];a[n+8>>2]=a[b+8>>2];a[n+12>>2]=a[b+12>>2];c=c+32|0;a[f>>2]=a[c>>2];a[f+4>>2]=a[c+4>>2];a[f+8>>2]=a[c+8>>2];a[f+12>>2]=a[c+12>>2];if(!t){a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2]}else{a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[e+8>>2]=a[n+8>>2];a[e+12>>2]=a[n+12>>2]}t=a[A>>2]|0;c=(a[A+4>>2]|0)+-1|0;r=a[t+(c*48|0)>>2]|0;A=a[t+(c*48|0)+4>>2]|0;b=a[t+(c*48|0)+12>>2]|0;e=t+(c*48|0)+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];c=t+(c*48|0)+32|0;a[f>>2]=a[c>>2];a[f+4>>2]=a[c+4>>2];a[f+8>>2]=a[c+8>>2];a[f+12>>2]=a[c+12>>2];if(!b){b=r+(A+-1<<4)|0;a[i>>2]=a[b>>2];a[i+4>>2]=a[b+4>>2];a[i+8>>2]=a[b+8>>2];a[i+12>>2]=a[b+12>>2]}else{a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2]}k=l;return}function RX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0.0;d=a[e+4>>2]|0;n=0.0;f=0;while(1){if((f|0)>=(d|0))break;s=a[e>>2]|0;c=a[s+(f*48|0)>>2]|0;s=a[s+(f*48|0)+4>>2]|0;l=3;t=0;while(1){if((l|0)>=(s|0))break;h=+b[c+(t<<4)>>3]-+b[c+(l<<4)>>3];o=+b[c+(t<<4)+8>>3]-+b[c+(l<<4)+8>>3];l=l+3|0;t=t+3|0;n=+z(+(o*o+h*h))+n}f=f+1|0}s=0;n=n*.5;A:while(1){if((s|0)>=(d|0)){f=15;break}c=a[e>>2]|0;t=a[c+(s*48|0)>>2]|0;c=a[c+(s*48|0)+4>>2]|0;f=3;l=0;while(1){if((f|0)>=(c|0))break;w=+b[t+(l<<4)>>3];o=+b[t+(l<<4)+8>>3];u=+b[t+(f<<4)>>3];k=+b[t+(f<<4)+8>>3];h=w-u;B=o-k;h=+z(+(B*B+h*h));if(h>=n){f=12;break A}f=f+3|0;l=l+3|0;n=n-h}s=s+1|0}if((f|0)==12){b[i>>3]=w;b[i+8>>3]=o;b[r>>3]=u;b[r+8>>3]=k;B=h-n;b[A>>3]=(B*w+u*n)/h;b[A+8>>3]=(B*o+k*n)/h;return}else if((f|0)==15)vA(138712,106514,1316,106641)}function HX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;FX(e);return}function pX(A,e,i,f,n){A=A|0;e=e|0;i=+i;f=f|0;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,k=0,o=0.0,h=0.0,d=0.0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0;F=UX(A)|0;Y=a[F+4>>2]|0;V=a[F>>2]|0;z=Y+-1|0;m=+b[V+(z<<6)+16>>3];L=+(Y|0);W=(n|0)==2;y=(f|0)!=0;u=0;t=0.0;l=0.0;s=0.0;w=0.0;while(1){if((u|0)>=(Y|0))break;A=~~+xX(+(u+-1|0),L);Q=u+1|0;J=~~+xX(+(Q|0),L);k=V+(u<<6)|0;w=+b[k>>3];G=V+(u<<6)+8|0;s=+b[G>>3];B=V+(u<<6)+16|0;v=+b[B>>3];g=V+(u<<6)+24|0;E=V+(u<<6)+32|0;C=V+(u<<6)+40|0;I=V+(u<<6)+48|0;Z=V+(u<<6)+56|0;c=+TX(+b[V+(J<<6)+8>>3]-s,+b[V+(J<<6)>>3]-w);h=+TX(+b[V+(A<<6)+8>>3]-s,+b[V+(A<<6)>>3]-w);d=+I5[e&7](v,m,i);A=(u|0)==0;do{if(A|(u|0)==(z|0))if(A){l=c+1.5707963267948966;if(!W){A=0;o=l;t=d;break}A=0;o=l;t=d;s=s-+M(+c)*d;w=w-+D(+c)*d;break}else{l=h+-1.5707963267948966;if(!W){A=0;o=l;t=d;break}A=0;o=l;t=d;s=s-+M(+h)*d;w=w-+D(+h)*d;break}else{o=c-h;o=1.5707963267948966-(o<0.0?o+6.283185307179586:o)*.5;t=+D(+o);t=t==0.0?0.0:d/t;l=c+1.5707963267948966;c=o+l;if(y|t>d*10.0){h=+xX(h+-1.5707963267948966,6.283185307179586);A=1;o=+xX(l,6.283185307179586);t=d;l=h}else{A=0;o=c;l=c}}}while(0);b[k>>3]=w;b[G>>3]=s;b[B>>3]=v;r[g>>0]=108;b[E>>3]=l;b[C>>3]=t;a[I>>2]=A;b[Z>>3]=o;u=Q}k=qF(12)|0;A=0;while(1){if((A|0)>=(Y|0))break;w=+b[V+(A<<6)>>3];s=+b[V+(A<<6)+8>>3];l=+b[V+(A<<6)+32>>3];t=+b[V+(A<<6)+40>>3];J=a[V+(A<<6)+48>>2]|0;c=+b[V+(A<<6)+56>>3];jX(k,+D(+l)*t+w,+M(+l)*t+s);if(J|0)SX(w,s,t,1,l,c,f,k);A=A+1|0}u=(n|0)==1;c=l+3.141592653589793;if(u)PX(k,w,s,t,l,c);else{jX(k,+D(+c)*t+w,+M(+c)*t+s);l=c}A=Y+-2|0;c=w;while(1){if((A|0)<=-1)break;w=+b[V+(A<<6)>>3];s=+b[V+(A<<6)+8>>3];t=+b[V+(A<<6)+40>>3];J=a[V+(A<<6)+48>>2]|0;l=+b[V+(A<<6)+32>>3]+3.141592653589793;c=+b[V+(A<<6)+56>>3]+3.141592653589793;jX(k,+D(+c)*t+w,+M(+c)*t+s);if(J|0)SX(w,s,t,0,l,c,f,k);A=A+-1|0;c=w}if(u)PX(k,c,s,t,l,l+3.141592653589793);OX(F);return k|0}function UX(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0;h=k;k=k+144|0;t=h+128|0;l=h+112|0;c=h+96|0;b=h+64|0;s=h;w=h+80|0;u=KX()|0;o=a[A+4>>2]|0;f=a[A>>2]|0;a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];_X(u,t,0.0);n=s+48|0;a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];i=0;e=0.0;A:while(1){r=i+3|0;if((r|0)>=(o|0))break;a[s>>2]=a[n>>2];a[s+4>>2]=a[n+4>>2];a[s+8>>2]=a[n+8>>2];a[s+12>>2]=a[n+12>>2];A=1;while(1){if((A|0)==4)break;d=s+(A<<4)|0;B=f+(A+i<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];A=A+1|0}a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];A=1;while(1){if((A|0)==21){i=r;continue A}mR(w,s,3,+(A|0)*.05,0,0);a[b>>2]=a[w>>2];a[b+4>>2]=a[w+4>>2];a[b+8>>2]=a[w+8>>2];a[b+12>>2]=a[w+12>>2];a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2];v=+qX(l,t)+e;a[t>>2]=a[b>>2];a[t+4>>2]=a[b+4>>2];a[t+8>>2]=a[b+8>>2];a[t+12>>2]=a[b+12>>2];_X(u,t,v);a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];A=A+1|0;e=v}}$X(u);k=h;return u|0}function xX(A,e){A=+A;e=+e;var i=0.0;i=A-+W(+(A/e))*e;return+(!(A<0.0)&!(A>=e)?A:i)}function TX(A,e){A=+A;e=+e;if(!(A==0.0&e==0.0)){A=+X(+A,+e);if(!(A>=0.0))A=A+6.283185307179586}else A=0.0;return+A}function jX(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=a[A>>2]|0;f=A+4|0;if((r|0)<(a[f>>2]|0))f=a[A+8>>2]|0;else{a[f>>2]=2e3;r=A+8|0;f=eV(a[r>>2]|0,32e3)|0;a[r>>2]=f;r=a[A>>2]|0}a[A>>2]=r+1;b[f+(r<<4)>>3]=e;b[f+(r<<4)+8>>3]=i;return}function SX(A,e,i,r,f,a,n,l){A=+A;e=+e;i=+i;r=r|0;f=+f;a=+a;n=n|0;l=l|0;var t=0.0;r=(r|0)==0;t=r?f:a;do{if((n|0)==1){f=(r?a:f)-t;f=!(f<=1.7453292519943296e-03)?f:f+6.283185307179586;if(f<3.141592653589793){PX(l,A,e,i,f+t,t);break}else{jX(l,+D(+t)*i+A,+M(+t)*i+A);break}}else jX(l,+D(+t)*i+A,+M(+t)*i+A)}while(0);return}function PX(A,e,i,r,f,a){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;var n=0,l=0.0;jX(A,+D(+f)*r+e,+M(+f)*r+i);A:do{if(!(r==0.0)){while(1){if(!(a>f))break;a=a+-6.283185307179586}a=f-a;while(1){if(!(a>6.283185307179586))break;a=a+-6.283185307179586}a=a*.05263157894736842;n=1;while(1){if((n|0)==20)break A;l=f-a*+(n|0);jX(A,+D(+l)*r+e,+M(+l)*r+i);n=n+1|0}}}while(0);return}function OX(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function KX(){var A=0;A=qF(12)|0;a[A+4>>2]=0;a[A+8>>2]=2e3;a[A>>2]=qF(128e3)|0;return A|0}function _X(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;l=A+4|0;r=a[l>>2]|0;f=A+8|0;n=a[f>>2]|0;if((r|0)<(n|0))A=a[A>>2]|0;else{a[f>>2]=n<<1;r=eV(a[A>>2]|0,n<<7)|0;a[A>>2]=r;A=r;r=a[l>>2]|0}b[A+(r<<6)>>3]=+b[e>>3];b[A+(r<<6)+8>>3]=+b[e+8>>3];a[l>>2]=r+1;b[A+(r<<6)+16>>3]=i;return}function qX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+ +z(+(r*r+i*i))}function $X(A){A=A|0;var e=0;e=a[A+4>>2]|0;if((a[A+8>>2]|0)>(e|0))a[A>>2]=eV(a[A>>2]|0,e<<6)|0;return}function AR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;n=b+12|0;a[n>>2]=0;l=a[i+4>>2]|0;if(!l)vA(106658,106669,203,106680);r=a[l>>2]|0;if(!r)vA(106694,106669,206,106680);f=l+8|0;if(!(a[f>>2]|0))a[f>>2]=eR(r)|0;if(!0)r=0;else{r=(fF(a[l>>2]|0)|0)==0;r=r?0:n}if(!((Or(e,i,r)|0)<<24>>24))iR(i,r);do{if(r|0){f=a[n>>2]|0;e=a[15712]|0;r=a[l>>2]|0;if(!f){a[c>>2]=r;f3(e,106737,c)|0;break}else{a[t>>2]=r;a[t+4>>2]=f;f3(e,106705,t)|0;break}}}while(0);c=i+32|0;a[A>>2]=a[c>>2];a[A+4>>2]=a[c+4>>2];a[A+8>>2]=a[c+8>>2];a[A+12>>2]=a[c+12>>2];k=b;return}function eR(A){A=A|0;var e=0;e=a[47301]|0;if((e|0)!=0?(N1(e,A)|0)==0:0)A=a[47310]|0;else{L2(e);a[47301]=s3(A)|0;A=i8(189204,22332,35,36,95)|0;a[47310]=A}return A|0}function iR(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0.0,t=0,c=0.0;t=a[A+4>>2]|0;i=a[t>>2]|0;l=+b[t+16>>3];t=A+32|0;b[t>>3]=0.0;b[A+40>>3]=l*1.2;b[A+16>>3]=0.0;b[A+24>>3]=l*.1;a[A+8>>2]=0;a[A+12>>2]=0;if(T1(i,106771,4)|0)if((T1(i,106776,5)|0)!=0?(T1(i,106782,9)|0)!=0:0){n=4248;i=106792}else{n=8344;i=106828}else{n=6296;i=106809}if(e|0)a[e>>2]=i;i=a[A>>2]|0;if(i|0){f=0.0;while(1){A=r[i>>0]|0;if(!(A<<24>>24))break;c=f+ +b[n+((A&255)<<3)>>3];b[t>>3]=c;i=i+1|0;f=c}b[t>>3]=f*l}return}function rR(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function fR(A){A=A|0;var e=0;e=A+108|0;a[e>>2]=0;a[A+112>>2]=32;a[A+116>>2]=-1;a[A+120>>2]=33;a[A+124>>2]=63;a[A+128>>2]=55;a[A+132>>2]=0;a[A+136>>2]=0;a[A+140>>2]=0;e=jk(e,a[4581]|0)|0;a[A+144>>2]=e;return e|0}function aR(A,e,i){A=A|0;e=e|0;i=i|0;i=W2(1,32)|0;A=a[e>>2]|0;if(A|0)a[i>>2]=s3(A)|0;A=a[e+4>>2]|0;if(A|0)a[i+4>>2]=s3(A)|0;a[i+24>>2]=a[e+24>>2]&127;b[i+16>>3]=+b[e+16>>3];a[i+8>>2]=a[e+8>>2];return i|0}function nR(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e>>2]|0);L2(a[e+4>>2]|0);L2(e);return}function lR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0;A=a[e>>2]|0;r=a[i>>2]|0;l=(r|0)==0;if(!A)if(l)t=5;else A=-1;else if(!l){A=A1(A,r)|0;if(!A)t=5}else A=1;do{if((t|0)==5){A=a[e+4>>2]|0;r=a[i+4>>2]|0;l=(r|0)==0;if(!A){if(!l){A=-1;break}}else{if(l){A=1;break}A=A1(A,r)|0;if(A|0)break}A=(a[e+24>>2]&127)-(a[i+24>>2]&127)|0;if(!A){n=+b[e+16>>3];f=+b[i+16>>3];if(nf&1}}}while(0);return A|0}function tR(){le(189244)|0;return}function cR(){var A=0,e=0;e=k;k=k+16|0;A=e;le(A|0)|0;k=e;return+(+((a[A+4>>2]|0)+(a[A>>2]|0)-(a[47311]|0)-(a[47312]|0)|0)*.016666666666666666)}function bR(A){A=A|0;var e=0,i=0;e=qF(16)|0;A=(A|0)>2?A:2;i=qF(A<<2)|0;a[e>>2]=i;a[e+12>>2]=i;a[e+8>>2]=i;a[e+4>>2]=i+(A<<2);return e|0}function sR(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function wR(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=a[i>>2]|0;a[i>>2]=r+4;a[r>>2]=e;if((a[i>>2]|0)>>>0>=(a[A+4>>2]|0)>>>0)a[i>>2]=a[A>>2];return}function uR(A){A=A|0;var e=0,i=0,r=0;i=A+8|0;e=a[i>>2]|0;if((e|0)!=(a[A+12>>2]|0)){r=e+4|0;a[i>>2]=r;e=a[e>>2]|0;if(r>>>0>=(a[A+4>>2]|0)>>>0)a[i>>2]=a[A>>2]}else e=0;return e|0}function kR(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;t=k;k=k+16|0;n=t;if(((e|0)!=0?(l=Uo(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){e=n3(l,n,10)|0;i=(l|0)==(a[n>>2]|0)?i:(e|0)<(f|0)?f:e}k=t;return i|0}function oR(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0.0;t=k;k=k+16|0;n=t;if(((A|0)!=0&(e|0)!=0?(l=Uo(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){c=+A8(l,n);i=(l|0)==(a[n>>2]|0)?i:c0.0)){e=+oR(A,Yo(A,0,107638,0)|0,-1.0,0.0);e=e==0.0?72.0:e}return+e}function dR(A,e,i){A=A|0;e=e|0;i=i|0;if((A|0)!=0&(e|0)!=0)i=Uo(A,e)|0;return i|0}function BR(A,e,i){A=A|0;e=e|0;i=i|0;A=dR(A,e,i)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)i=A;return i|0}function vR(A,e,i){A=A|0;e=e|0;i=i|0;if(!e)A=i&255;else A=gR(Uo(A,e)|0)|0;return A|0}function gR(A){A=A|0;return ER(A,0)|0}function ER(A,e){A=A|0;e=e|0;var i=0;if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0)if((N1(A,137308)|0)!=0?(N1(A,107649)|0)!=0:0)if((N1(A,107652)|0)!=0?(N1(A,107657)|0)!=0:0){if(((i<<24>>24)+-48|0)>>>0<10)e=(q3(A)|0)&255}else e=1;else e=0;return e|0}function CR(A){A=A|0;var e=0,i=0;while(1){e=(a[A+16>>2]|0)+220|0;i=a[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=a[(a[i+16>>2]|0)+220>>2]|0;if(!A){A=i;continue}a[e>>2]=A}return A|0}function IR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;if((A|0)!=(e|0)){i=a[A+16>>2]|0;r=i+220|0;if(!(a[r>>2]|0)){a[r>>2]=A;a[i+216>>2]=1}else A=CR(A)|0;i=a[e+16>>2]|0;r=i+220|0;if(!(a[r>>2]|0)){a[r>>2]=e;a[i+216>>2]=1}else{i=CR(e)|0;e=i;i=a[i+16>>2]|0}n=A+16|0;r=a[n>>2]|0;f=e+16|0;l=(a[r+120>>2]|0)>(a[i+120>>2]|0);A=l?e:A;a[(l?r:i)+220>>2]=A;r=(a[(l?f:n)>>2]|0)+216|0;a[r>>2]=(a[r>>2]|0)+(a[(a[(l?n:f)>>2]|0)+216>>2]|0)}return A|0}function ZR(A){A=A|0;A=a[A+16>>2]|0;a[A+216>>2]=1;a[A+220>>2]=0;r[A+159>>0]=0;return}function GR(A,e){A=A|0;e=e|0;if((CR(A)|0)==(A|0)){A=a[A+16>>2]|0;a[A+220>>2]=e;e=(a[e+16>>2]|0)+216|0;a[e>>2]=(a[e>>2]|0)+(a[A+216>>2]|0);return}else vA(107669,107661,194,107685)}function QR(A,e){A=A|0;e=e|0;var i=0.0;e=a[(a[e+16>>2]|0)+132>>2]|0;i=+b[e+8>>3]*72.0;b[A>>3]=+b[e>>3]*72.0;b[A+8>>3]=i;return}function mR(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;n=n|0;var l=0,t=0,c=0,s=0.0,w=0,u=0,o=0;u=k;k=k+576|0;w=u;l=0;while(1){if((l|0)>(i|0))break;c=w+(l<<4)|0;t=e+(l<<4)|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];l=l+1|0}s=1.0-r;l=1;while(1){if((l|0)>(i|0))break;t=i-l|0;c=l+-1|0;e=0;while(1){if((e|0)>(t|0))break;o=e+1|0;b[w+(l*96|0)+(e<<4)>>3]=+b[w+(c*96|0)+(o<<4)>>3]*r+ +b[w+(c*96|0)+(e<<4)>>3]*s;b[w+(l*96|0)+(e<<4)+8>>3]=+b[w+(c*96|0)+(o<<4)+8>>3]*r+ +b[w+(c*96|0)+(e<<4)+8>>3]*s;e=o}l=l+1|0}A:do{if(f|0){l=0;while(1){if((l|0)>(i|0))break A;o=f+(l<<4)|0;c=w+(l*96|0)|0;a[o>>2]=a[c>>2];a[o+4>>2]=a[c+4>>2];a[o+8>>2]=a[c+8>>2];a[o+12>>2]=a[c+12>>2];l=l+1|0}}}while(0);A:do{if(n|0){l=0;while(1){if((l|0)>(i|0))break A;o=n+(l<<4)|0;f=w+((i-l|0)*96|0)+(l<<4)|0;a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];l=l+1|0}}}while(0);o=w+(i*96|0)|0;a[A>>2]=a[o>>2];a[A+4>>2]=a[o+4>>2];a[A+8>>2]=a[o+8>>2];a[A+12>>2]=a[o+12>>2];k=u;return}function LR(A){A=A|0;var e=0,i=0,f=0,n=0;i=0;do{e=a[47315]|0;f=e+1024|0;if((e-i|0)<1024){a[47315]=f;f=eV(a[47316]|0,f)|0;a[47316]=f;e=a[47315]|0}else f=a[47316]|0;e=N4(f+i|0,e-i|0,A)|0;if(!e){n=6;break}i=(S2(e)|0)+i|0;e=a[47316]|0}while((r[e+(i+-1)>>0]|0)!=10);if((n|0)==6)e=a[47316]|0;return((i|0)>0?e:0)|0}function WR(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0)if(!0){e=a[47133]|0;i=a[47318]|0;if((a[47317]|0)==(e|0))e=i;else{if(i){L2(a[i>>2]|0);L2(a[47318]|0);a[47318]=0;e=a[47133]|0}a[47317]=e;if(!e)break;if(!(r[e>>0]|0))break;e=yR(e)|0;a[47318]=e}if(!((r[A>>0]|0)!=47&(e|0)!=0))break;A=zR(e,a[47319]|0,A)|0;break}else S();else A=0}while(0);k=f;return A|0}function yR(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=0;f=0;n=0;e=s3(A)|0;i=0;while(1){e=t3(e,107984)|0;if(!e)break;A=(n<<2)+8|0;if(!f)A=$F(A)|0;else A=eV(i,A)|0;a[A+(n<<2)>>2]=e;f=S2(e)|0;r=r>>>0>f>>>0?r:f;f=A;n=n+1|0;e=0;i=A}a[f+(n<<2)>>2]=0;a[47319]=r;return f|0}function zR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;r=n;l=a[47320]|0;a[47320]=y2(l,e+2+(S2(i)|0)|0)|0;while(1){e=a[A>>2]|0;if(!e){A=0;break}l=a[47320]|0;a[r>>2]=e;a[r+4>>2]=107982;a[r+8>>2]=i;P4(l,107975,r)|0;if(!(M3(a[47320]|0,4)|0)){f=4;break}else A=A+4|0}if((f|0)==4)A=a[47320]|0;k=n;return A|0}function YR(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=(A|0)==0;f=0;while(1){l=a[e+(f<<2)>>2]|0;if(!l)break;if((!n?(r[A>>0]|0)==(r[l>>0]|0):0)?(A1(A,l)|0)==0:0)break;f=f+1|0}return a[i+(f<<2)>>2]|0}function DR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;G=k;k=k+80|0;I=G+16|0;Z=G;g=a[e+4>>2]|0;E=a[e>>2]|0;C=i+8|0;f=0;r=-1;n=1.e+38;e=-1;while(1){if((f|0)>=(g|0))break;B=a[E+(f*48|0)>>2]|0;v=a[E+(f*48|0)+4>>2]|0;d=0;while(1){if((d|0)>=(v|0))break;h=+b[B+(d<<4)>>3]-+b[i>>3];o=+b[B+(d<<4)+8>>3]-+b[C>>3];h=o*o+h*h;Q=(r|0)==-1|h>2]|0;r=r+(((r|0)==((a[E+(e*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;r=r-((r|0)%3|0)|0;e=0;while(1){if((e|0)==4)break;m=e+r|0;b[I+(e<<4)>>3]=+b[f+(m<<4)>>3];b[I+(e<<4)+8>>3]=+b[f+(m<<4)+8>>3];e=e+1|0}h=+b[i>>3];c=+b[I>>3]-h;u=+b[C>>3];o=+b[I+8>>3]-u;t=+b[I+48>>3]-h;w=+b[I+56>>3]-u;e=Z+8|0;n=1.0;l=0.0;t=w*w+t*t;c=o*o+c*c;while(1){o=(n+l)*.5;mR(Z,I,3,o,0,0);s=+b[Z>>3];w=+b[e>>3];if(+y(+(c-t))<1.0)break;if(+y(+(n-l))<1.0e-05)break;m=c>3]=s;b[A+8>>3]=w;k=G;return}function MR(){return 0}function FR(A){A=A|0;var e=0.0,i=0,f=0,n=0,l=0,t=0,c=0,s=0;e=+oR(A,a[47146]|0,.75,.01);n=A+16|0;b[(a[n>>2]|0)+32>>3]=e;e=+oR(A,a[47145]|0,.5,.02);b[(a[n>>2]|0)+40>>3]=e;s=QN(BR(A,a[47147]|0,107986)|0,A)|0;a[(a[n>>2]|0)+8>>2]=s;s=Uo(A,a[47154]|0)|0;e=+oR(A,a[47150]|0,14.0,1.0);i=BR(A,a[47151]|0,107994)|0;f=BR(A,a[47152]|0,137314)|0;l=(tB(s)|0)!=0;c=(sN(A)|0)==2;l=pF(A,s,(c?4:0)|(l?2:0),e,i,f)|0;a[(a[n>>2]|0)+104>>2]=l;l=a[47155]|0;if((l|0?(t=Uo(A,l)|0,t|0):0)?r[t>>0]|0:0){s=(tB(t)|0)!=0;s=pF(A,t,s?2:0,e,i,f)|0;a[(a[n>>2]|0)+108>>2]=s;s=(a[(Id(A)|0)+16>>2]|0)+113|0;r[s>>0]=r[s>>0]|16}c=(kR(A,a[47158]|0,0,0)|0)&255;s=a[n>>2]|0;r[s+144>>0]=c;F5[a[a[(a[s+8>>2]|0)+4>>2]>>2]&127](A);return}function VR(A){A=A|0;var e=0,i=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+112|0;s=E+96|0;w=E+80|0;B=E+40|0;g=E;d=A+48|0;o=Id(a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0)|0;n=s+8|0;a[n>>2]=0;u=w+8|0;a[u>>2]=0;e=a[47182]|0;if(((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){JR(A,s);v=(tB(i)|0)!=0;l=+b[s>>3];f=a[n>>2]|0;e=a[s+12>>2]|0;i=pF(A,i,v?2:0,l,f,e)|0;v=A+16|0;a[(a[v>>2]|0)+96>>2]=i;i=(a[o+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|1;i=gR(dR(A,a[47192]|0,137308)|0)|0;r[(a[v>>2]|0)+114>>0]=i;v=1;i=f}else{v=0;e=0;l=0.0;i=0}f=a[47183]|0;if((f|0?(t=Uo(A,f)|0,t|0):0)?r[t>>0]|0:0){if(!i){JR(A,s);l=+b[s>>3];i=a[n>>2]|0;e=a[s+12>>2]|0}n=(tB(t)|0)!=0;t=pF(A,t,n?2:0,l,i,e)|0;a[(a[A+16>>2]|0)+108>>2]=t;t=(a[o+16>>2]|0)+113|0;r[t>>0]=r[t>>0]|32}e=a[47197]|0;if(((e|0)!=0?(c=Uo(A,e)|0,(c|0)!=0):0)?(r[c>>0]|0)!=0:0){NR(A,s,w);t=(tB(c)|0)!=0;l=+b[w>>3];e=a[u>>2]|0;i=a[w+12>>2]|0;c=pF(A,c,t?2:0,l,e,i)|0;a[(a[A+16>>2]|0)+100>>2]=c;c=(a[o+16>>2]|0)+113|0;r[c>>0]=r[c>>0]|2}else{i=0;l=0.0;e=0}f=a[47198]|0;if((f|0?(h=Uo(A,f)|0,h|0):0)?r[h>>0]|0:0){if(!e){NR(A,s,w);i=a[w+12>>2]|0;l=+b[w>>3];e=a[u>>2]|0}u=(tB(h)|0)!=0;h=pF(A,h,u?2:0,l,e,i)|0;a[(a[A+16>>2]|0)+104>>2]=h;h=(a[o+16>>2]|0)+113|0;r[h>>0]=r[h>>0]|4}e=po(A,111455)|0;e=e|0?e:195059;if(r[e>>0]|0)r[(a[(a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0)+16>>2]|0)+145>>0]=1;n=A+16|0;f=(a[n>>2]|0)+16|0;i=a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0;XR(B,a[(a[(a[(a[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=B;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((RR(A,a[47204]|0)|0)<<24>>24)r[(a[n>>2]|0)+46>>0]=0;e=po(A,111464)|0;e=e|0?e:195059;if(!(r[e>>0]|0))i=A+-48|0;else{i=A+-48|0;r[(a[(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(a[n>>2]|0)+56|0;i=a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0;XR(g,a[(a[(a[(a[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=g;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((RR(A,a[47205]|0)|0)<<24>>24)r[(a[n>>2]|0)+86>>0]=0;k=E;return v|0}function JR(A,e){A=A|0;e=e|0;b[e>>3]=+oR(A,a[47179]|0,14.0,1.0);a[e+8>>2]=BR(A,a[47180]|0,107994)|0;a[e+12>>2]=BR(A,a[47181]|0,137314)|0;return}function NR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+8|0;if(!(a[r>>2]|0))JR(A,e);b[i>>3]=+oR(A,a[47199]|0,+b[e>>3],1.0);a[i+8>>2]=BR(A,a[47200]|0,a[r>>2]|0)|0;a[i+12>>2]=BR(A,a[47201]|0,a[e+12>>2]|0)|0;return}function XR(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+128|0;b=s+80|0;l=s+40|0;n=s;if((f|0)!=0?(c=G1(f,58)|0,(c|0)!=0):0){r[c>>0]=0;t=c+1|0;X5[e&31](l,i,f,t);i=b;n=l;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0));r[c>>0]=58;f=t}else{X5[e&31](n,i,f,0);i=b;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0))}i=A;n=b;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0));a[A+36>>2]=f;k=s;return}function RR(A,e){A=A|0;e=e|0;var i=0;if(((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)A=(gR(i)|0)<<24>>24==0&1;else A=0;return A|0}function HR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;c=k;k=k+32|0;l=c;t=a[e+8>>2]|0;i=a[e+4>>2]|0;i=(a[e+44>>2]|0)+((U((i|0)>1?i+-1|0:0,t)|0)<<4)|0;r=l+16|0;a[r>>2]=a[i>>2];a[r+4>>2]=a[i+4>>2];a[r+8>>2]=a[i+8>>2];a[r+12>>2]=a[i+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];f=l+8|0;n=l+24|0;e=1;while(1){if((e|0)>=(t|0))break;s=i+(e<<4)|0;u=+b[s>>3];b[l>>3]=+b[(+b[l>>3]>3];w=+b[s+8>>3];b[f>>3]=+b[(+b[f>>3]>3];b[r>>3]=+b[(+b[r>>3]>u?r:s)>>3];b[n>>3]=+b[(+b[n>>3]>w?r:s)+8>>3];e=e+1|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];a[A+12>>2]=a[l+12>>2];a[A+16>>2]=a[l+16>>2];a[A+20>>2]=a[l+20>>2];a[A+24>>2]=a[l+24>>2];a[A+28>>2]=a[l+28>>2];k=c;return}function pR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+64|0;n=i+32|0;r=i;f=a[A+16>>2]|0;A=f+16|0;f=a[f+116>>2]&1;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[n+16>>2]=a[A+16>>2];a[n+20>>2]=a[A+20>>2];a[n+24>>2]=a[A+24>>2];a[n+28>>2]=a[A+28>>2];UR(r,n,e,f);a[A>>2]=a[r>>2];a[A+4>>2]=a[r+4>>2];a[A+8>>2]=a[r+8>>2];a[A+12>>2]=a[r+12>>2];a[A+16>>2]=a[r+16>>2];a[A+20>>2]=a[r+20>>2];a[A+24>>2]=a[r+24>>2];a[A+28>>2]=a[r+28>>2];k=i;return}function UR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0.0;n=+b[i+56>>3];s=+b[i+64>>3];t=r<<24>>24==0;c=+b[i+24>>3];l=+b[i+32>>3];w=(t?c:l)*.5;f=n-w;n=w+n;if(f<+b[e>>3])b[e>>3]=f;r=e+16|0;if(n>+b[r>>3])b[r>>3]=n;n=(t?l:c)*.5;f=s-n;n=n+s;r=e+8|0;if(f<+b[r>>3])b[r>>3]=f;r=e+24|0;if(n>+b[r>>3])b[r>>3]=n;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];return}function xR(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0.0,R=0.0,H=0.0;J=k;k=k+448|0;D=J+416|0;v=J+384|0;g=J+304|0;V=J+256|0;Y=J+192|0;m=J+144|0;L=J+96|0;e=J+400|0;i=J+368|0;f=J+352|0;n=J+336|0;E=J+288|0;C=J+224|0;I=J+160|0;Z=J+112|0;G=J+64|0;Q=J+32|0;M=J;F=A+16|0;if((vh(A)|0)==0?(a[(a[F>>2]|0)+180>>2]|0)==0:0){TR(e,0.0,0.0);a[V>>2]=a[e>>2];a[V+4>>2]=a[e+4>>2];a[V+8>>2]=a[e+8>>2];a[V+12>>2]=a[e+12>>2];V=V+16|0;TR(i,0.0,0.0);a[V>>2]=a[i>>2];a[V+4>>2]=a[i+4>>2];a[V+8>>2]=a[i+8>>2];a[V+12>>2]=a[i+12>>2]}else{TR(f,2147483647.0,2147483647.0);a[V>>2]=a[f>>2];a[V+4>>2]=a[f+4>>2];a[V+8>>2]=a[f+8>>2];a[V+12>>2]=a[f+12>>2];z=V+16|0;TR(n,-2147483647.0,-2147483647.0);a[z>>2]=a[n>>2];a[z+4>>2]=a[n+4>>2];a[z+8>>2]=a[n+8>>2];a[z+12>>2]=a[n+12>>2];u=L+8|0;o=g+16|0;W=V+8|0;h=g+8|0;y=V+24|0;d=g+24|0;B=m+8|0;w=cd(A)|0;while(1){if(!w)break;QR(m,w);e=w+16|0;s=a[e>>2]|0;b[L>>3]=(+b[s+96>>3]+ +b[s+88>>3])*.5;b[u>>3]=+b[s+80>>3]*.5;a[v>>2]=a[m>>2];a[v+4>>2]=a[m+4>>2];a[v+8>>2]=a[m+8>>2];a[v+12>>2]=a[m+12>>2];a[D>>2]=a[L>>2];a[D+4>>2]=a[L+4>>2];a[D+8>>2]=a[L+8>>2];a[D+12>>2]=a[L+12>>2];jR(g,v,D);a[v>>2]=a[m>>2];a[v+4>>2]=a[m+4>>2];a[v+8>>2]=a[m+8>>2];a[v+12>>2]=a[m+12>>2];a[D>>2]=a[L>>2];a[D+4>>2]=a[L+4>>2];a[D+8>>2]=a[L+8>>2];a[D+12>>2]=a[L+12>>2];SR(E,v,D);a[o>>2]=a[E>>2];a[o+4>>2]=a[E+4>>2];a[o+8>>2]=a[E+8>>2];a[o+12>>2]=a[E+12>>2];b[V>>3]=+b[(+b[V>>3]<+b[g>>3]?V:g)>>3];b[W>>3]=+b[(+b[W>>3]<+b[h>>3]?V:g)+8>>3];b[z>>3]=+b[(+b[z>>3]>+b[o>>3]?V:g)+16>>3];b[y>>3]=+b[(+b[y>>3]>+b[d>>3]?V:g)+24>>3];e=a[(a[e>>2]|0)+108>>2]|0;if(e|0?r[e+81>>0]|0:0){s=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(C,D,e,s);a[V>>2]=a[C>>2];a[V+4>>2]=a[C+4>>2];a[V+8>>2]=a[C+8>>2];a[V+12>>2]=a[C+12>>2];a[V+16>>2]=a[C+16>>2];a[V+20>>2]=a[C+20>>2];a[V+24>>2]=a[C+24>>2];a[V+28>>2]=a[C+28>>2]}s=Oo(A,w)|0;while(1){if(!s)break;c=s+16|0;e=a[c>>2]|0;t=e+8|0;i=a[t>>2]|0;if(i|0){l=0;while(1){if((l|0)<(a[i+4>>2]|0))n=0;else break;while(1){f=a[i>>2]|0;if((n|0)>=(a[f+(l*48|0)+4>>2]|0))break;i=(a[f+(l*48|0)>>2]|0)+(n<<4)|0;a[m>>2]=a[i>>2];a[m+4>>2]=a[i+4>>2];a[m+8>>2]=a[i+8>>2];a[m+12>>2]=a[i+12>>2];X=+b[m>>3];b[V>>3]=+b[(+b[V>>3]>3];N=+b[B>>3];b[W>>3]=+b[(+b[W>>3]>3];b[z>>3]=+b[(+b[z>>3]>X?z:m)>>3];b[y>>3]=+b[(+b[y>>3]>N?z:m)+8>>3];n=n+1|0;i=a[t>>2]|0}l=l+1|0}i=a[e+96>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(I,D,i,e);a[V>>2]=a[I>>2];a[V+4>>2]=a[I+4>>2];a[V+8>>2]=a[I+8>>2];a[V+12>>2]=a[I+12>>2];a[V+16>>2]=a[I+16>>2];a[V+20>>2]=a[I+20>>2];a[V+24>>2]=a[I+24>>2];a[V+28>>2]=a[I+28>>2];e=a[c>>2]|0}i=a[e+100>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(Z,D,i,e);a[V>>2]=a[Z>>2];a[V+4>>2]=a[Z+4>>2];a[V+8>>2]=a[Z+8>>2];a[V+12>>2]=a[Z+12>>2];a[V+16>>2]=a[Z+16>>2];a[V+20>>2]=a[Z+20>>2];a[V+24>>2]=a[Z+24>>2];a[V+28>>2]=a[Z+28>>2];e=a[c>>2]|0}i=a[e+104>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(G,D,i,e);a[V>>2]=a[G>>2];a[V+4>>2]=a[G+4>>2];a[V+8>>2]=a[G+8>>2];a[V+12>>2]=a[G+12>>2];a[V+16>>2]=a[G+16>>2];a[V+20>>2]=a[G+20>>2];a[V+24>>2]=a[G+24>>2];a[V+28>>2]=a[G+28>>2];e=a[c>>2]|0}e=a[e+108>>2]|0;if(e|0?r[e+81>>0]|0:0){c=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(Q,D,e,c);a[V>>2]=a[Q>>2];a[V+4>>2]=a[Q+4>>2];a[V+8>>2]=a[Q+8>>2];a[V+12>>2]=a[Q+12>>2];a[V+16>>2]=a[Q+16>>2];a[V+20>>2]=a[Q+20>>2];a[V+24>>2]=a[Q+24>>2];a[V+28>>2]=a[Q+28>>2]}}s=_o(A,s)|0}w=bd(A,w)|0}e=a[F>>2]|0;f=a[e+180>>2]|0;n=e+184|0;l=Y+8|0;t=Y+16|0;c=Y+24|0;i=1;while(1){if((i|0)>(f|0))break;H=+b[(a[(a[(a[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16>>3];b[Y>>3]=H;L=a[(a[(a[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;R=+b[L+24>>3];b[l>>3]=R;N=+b[L+32>>3];b[t>>3]=N;X=+b[L+40>>3];b[c>>3]=X;b[V>>3]=+b[(+b[V>>3]>3];b[W>>3]=+b[(+b[W>>3]>3];b[z>>3]=+b[(+b[z>>3]>N?V:Y)+16>>3];b[y>>3]=+b[(+b[y>>3]>X?V:Y)+24>>3];i=i+1|0}i=a[e+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[e+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(M,D,i,e);a[V>>2]=a[M>>2];a[V+4>>2]=a[M+4>>2];a[V+8>>2]=a[M+8>>2];a[V+12>>2]=a[M+12>>2];a[V+16>>2]=a[M+16>>2];a[V+20>>2]=a[M+20>>2];a[V+24>>2]=a[M+24>>2];a[V+28>>2]=a[M+28>>2];e=a[F>>2]|0}F=e+16|0;a[F>>2]=a[V>>2];a[F+4>>2]=a[V+4>>2];a[F+8>>2]=a[V+8>>2];a[F+12>>2]=a[V+12>>2];a[F+16>>2]=a[V+16>>2];a[F+20>>2]=a[V+20>>2];a[F+24>>2]=a[V+24>>2];a[F+28>>2]=a[V+28>>2]}k=J;return}function TR(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function jR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function SR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function PR(A){A=A|0;if((a[A+60>>2]|0)==(A|0))A=1;else A=(T1(Vh(A)|0,108006,7)|0)==0&1;return A|0}function OR(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;A:do{if(!f)switch(Md(e)|0){case 0:{f=Yo(A,0,i,195059)|0;break A}case 1:{f=Yo(A,1,i,195059)|0;break A}case 2:{f=Yo(A,2,i,195059)|0;break A}default:{f=0;break A}}}while(0);Vo(e,f,r)|0;return f|0}function KR(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+144|0;n=b;t=_R(A)|0;l=jk(23592,a[4581]|0)|0;c=XB(A,108014,1)|0;Td(c,137483,280,1)|0;co(n,128,b+16|0);e=cd(A)|0;while(1){if(!e)break;A:do{if(!(r[(a[e+16>>2]|0)+118>>0]|0)){i=Oo(A,e)|0;while(1){if(!i)break A;qR(i,c,n,l,t);i=_o(A,i)|0}}}while(0);e=bd(A,e)|0}uo(n);pk(l)|0;i=vh(c)|0;e=cd(c)|0;while(1){if(!e)break;l=bd(c,e)|0;Cd(A,e)|0;e=l}Bh(c)|0;if(i|0){c=(a[A+16>>2]|0)+136|0;f[c>>1]=f[c>>1]|1}pk(t)|0;k=b;return i|0}function _R(A){A=A|0;var e=0;e=jk(23628,a[4581]|0)|0;lH(A,e);return e|0}function qR(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+48|0;h=v+32|0;o=v+24|0;B=v+16|0;d=v+8|0;b=v;w=a[A>>2]&3;s=a[((w|0)==3?A:A+48|0)+40>>2]|0;w=a[((w|0)==2?A:A+-48|0)+40>>2]|0;do{if(!(r[(a[w+16>>2]|0)+118>>0]|0)){if(!(Z1(Vh(s)|0,108006,7)|0))u=$R(n,Vh(s)|0)|0;else u=0;if(!(Z1(Vh(w)|0,108006,7)|0))t=$R(n,Vh(w)|0)|0;else t=0;l=(u|0)!=0;c=(t|0)!=0;if(l|c){if((u|0)==(t|0)){d=Vh(s)|0;B=Vh(s)|0;a[b>>2]=d;a[b+4>>2]=B;ao(0,108029,b)|0;break}n=AH(f,A)|0;if(n|0){eH(A,a[n+16>>2]|0,a[n+20>>2]|0)|0;break}if(!c)if(!(Dd(u,w)|0)){rH(f,s,w,eH(A,iH(s,u,i,e)|0,w)|0);break}else{d=Vh(w)|0;B=Vh(u)|0;a[h>>2]=d;a[h+4>>2]=B;ao(0,108184,h)|0;break}if(!l)if(!(Dd(t,s)|0)){rH(f,s,w,eH(A,s,iH(w,t,i,e)|0)|0);break}else{d=Vh(s)|0;B=Vh(t)|0;a[o>>2]=d;a[o+4>>2]=B;ao(0,108147,o)|0;break}if(Dd(t,u)|0){h=Vh(u)|0;B=Vh(t)|0;a[d>>2]=h;a[d+4>>2]=B;ao(0,108067,d)|0;break}if(!(Dd(u,t)|0)){B=iH(s,u,i,e)|0;rH(f,s,w,eH(A,B,iH(w,t,i,e)|0)|0);break}else{h=Vh(t)|0;d=Vh(u)|0;a[B>>2]=h;a[B+4>>2]=d;ao(0,108107,B)|0;break}}}}while(0);k=v;return}function $R(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e,512)|0;if(!A)A=0;else A=a[A+12>>2]|0;return A|0}function AH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=a[e>>2]&3;a[r>>2]=a[((f|0)==3?e:e+48|0)+40>>2];a[r+4>>2]=a[((f|0)==2?e:e+-48|0)+40>>2];e=W5[a[A>>2]&63](A,r,512)|0;k=i;return e|0}function eH(A,e,i){A=A|0;e=e|0;i=i|0;i=th(Id(e)|0,e,i,0,1)|0;Td(i,137460,176,1)|0;jo(A,i)|0;return i|0}function iH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;b=k;k=k+112|0;n=b;c=b+4|0;wo(i,108221)|0;t=a[47321]|0;a[47321]=t+1;a[n>>2]=t;P4(c,137395,n)|0;wo(i,c)|0;c=i+4|0;n=a[c>>2]|0;t=i+8|0;if(n>>>0>=(a[t>>2]|0)>>>0){bo(i,1)|0;n=a[c>>2]|0}a[c>>2]=n+1;r[n>>0]=58;wo(i,Vh(e)|0)|0;l=Zd(e)|0;n=a[c>>2]|0;if(n>>>0>=(a[t>>2]|0)>>>0){bo(i,1)|0;n=a[c>>2]|0}r[n>>0]=0;i=a[i>>2]|0;a[c>>2]=i;c=vd(l,i,1)|0;Td(c,137447,304,1)|0;r[(a[c+16>>2]|0)+118>>0]=1;kd(e,c,1)|0;kd(f,A,1)|0;f=Id(c)|0;a[47154]=OR(f,c,108224,195059,a[47154]|0)|0;f=Id(c)|0;a[47157]=OR(f,c,141082,134335,a[47157]|0)|0;f=Id(c)|0;a[47147]=OR(f,c,108230,108236,a[47147]|0)|0;k=b;return c|0}function rH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;f=k;k=k+32|0;n=f;w=n+8|0;a[w>>2]=e;s=n+12|0;a[s>>2]=i;u=a[r>>2]&3;t=r+48|0;c=n+16|0;a[c>>2]=a[((u|0)==3?r:t)+40>>2];b=r+-48|0;l=n+20|0;a[l>>2]=a[((u|0)==2?r:b)+40>>2];W5[a[A>>2]&63](A,n,1)|0;a[w>>2]=i;a[s>>2]=e;i=a[r>>2]&3;a[c>>2]=a[((i|0)==2?r:b)+40>>2];a[l>>2]=a[((i|0)==3?r:t)+40>>2];W5[a[A>>2]&63](A,n,1)|0;k=f;return}function fH(A,e,i){A=A|0;e=e|0;i=i|0;i=qF(24)|0;a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[i+16>>2]=a[e+16>>2];a[i+20>>2]=a[e+20>>2];return i|0}function aH(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function nH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if(A>>>0>=r>>>0)if(A>>>0>r>>>0)A=1;else{e=a[e+4>>2]|0;i=a[i+4>>2]|0;return(e>>>0>>0?-1:e>>>0>i>>>0&1)|0}else A=-1;return A|0}function lH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+16|0;n=l;f=A+16|0;r=1;while(1){A=a[f>>2]|0;if((r|0)>(a[A+180>>2]|0))break;A=a[(a[A+184>>2]|0)+(r<<2)>>2]|0;i=Vh(A)|0;if(!(W5[a[e>>2]&63](e,i,512)|0)){t=qF(16)|0;a[t+8>>2]=i;a[t+12>>2]=A;W5[a[e>>2]&63](e,t,1)|0}else{a[n>>2]=i;ao(0,108240,n)|0}lH(A,e);r=r+1|0}k=l;return}function tH(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function cH(A){A=A|0;var e=0,i=0,r=0;r=XB(A,108014,1)|0;Td(r,137483,280,1)|0;e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;bH(i,r);i=_o(A,i)|0}e=bd(A,e)|0}e=cd(r)|0;while(1){if(!e)break;i=bd(r,e)|0;sH(e);Cd(A,e)|0;e=i}Bh(r)|0;return}function bH(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A>>2]&3;f=a[((i|0)==3?A:A+48|0)+40>>2]|0;i=a[((i|0)==2?A:A+-48|0)+40>>2]|0;if(!((r[(a[f+16>>2]|0)+118>>0]|0)==0?!(r[(a[i+16>>2]|0)+118>>0]|0):0)){f=wH(f,e)|0;i=eH(A,f,wH(i,e)|0)|0;f=a[A+16>>2]|0;e=f+8|0;i=a[i+16>>2]|0;a[i+8>>2]=a[e>>2];a[e>>2]=0;e=f+96|0;a[i+96>>2]=a[e>>2];a[e>>2]=0;e=f+108|0;a[i+108>>2]=a[e>>2];a[e>>2]=0;e=f+100|0;a[i+100>>2]=a[e>>2];a[e>>2]=0;f=f+104|0;a[i+104>>2]=a[f>>2];a[f>>2]=0;uH(A)}return}function sH(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=a[r>>2]|0;i=a[e+132>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+8>>2]|0;if(i){F5[a[(a[i+4>>2]|0)+4>>2]&127](A);e=a[r>>2]|0}TF(a[e+104>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);Sd(A,137447)|0;return}function wH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=Id(A)|0;A:do{if(r[(a[A+16>>2]|0)+118>>0]|0){kd(e,A,1)|0;A=G1(Vh(A)|0,58)|0;if(!A)vA(111208,107661,1225,108292);e=A+1|0;A=vd(f,e,0)|0;if(!A){A=vd(f,e,1)|0;Td(A,137447,304,1)|0;e=Jo(f,1,0)|0;while(1){if(!e)break A;n=Uo(A,e)|0;i=a[e+12>>2]|0;if((n|0)!=(i|0))Vo(A,e,i)|0;e=Jo(f,1,e)|0}}}}while(0);return A|0}function uH(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+144>>2]|0);kH(A);TF(a[(a[e>>2]|0)+96>>2]|0);TF(a[(a[e>>2]|0)+108>>2]|0);TF(a[(a[e>>2]|0)+100>>2]|0);TF(a[(a[e>>2]|0)+104>>2]|0);Sd(A,137460)|0;return}function kH(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;A=a[r>>2]|0;e=a[A+8>>2]|0;if(e){i=0;while(1){A=a[e>>2]|0;if((i|0)>=(a[e+4>>2]|0))break;L2(a[A+(i*48|0)>>2]|0);i=i+1|0;e=a[(a[r>>2]|0)+8>>2]|0}L2(A);L2(a[(a[r>>2]|0)+8>>2]|0);A=a[r>>2]|0}a[A+8>>2]=0;return}function oH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Yo(A,e,i,0)|0;if(!f)f=Yo(A,e,i,r)|0;return f|0}function hH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+32|0;t=u;l=u+8|0;c=u+16|0;s=G1(A,59)|0;w=e+4|0;i=a[w>>2]|0;b=e+8|0;if(i>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;i=a[w>>2]|0}a[w>>2]=i+1;r[i>>0]=38;if(((s|0)!=0?(f=s-A|0,(f+-2|0)>>>0<=6):0)?(x4(c,A,f)|0,r[c+f>>0]=0,a[l>>2]=c,n=i8(l,23664,252,8,96)|0,(n|0)!=0):0){a[t>>2]=a[n+4>>2];P4(c,137395,t)|0;A=a[w>>2]|0;if(A>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;A=a[w>>2]|0}a[w>>2]=A+1;r[A>>0]=35;wo(e,c)|0;A=a[w>>2]|0;if(A>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;A=a[w>>2]|0}a[w>>2]=A+1;r[A>>0]=59;A=s+1|0}k=u;return A|0}function dH(A,e){A=A|0;e=e|0;return A1(a[A>>2]|0,a[e>>2]|0)|0}function BH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+1072|0;b=h+8|0;c=h;t=h+16|0;u=h+24|0;a[t>>2]=A;if((a[47322]|0)!=(e|0)){a[47322]=e;r[194958]=0}co(u,1024,h+40|0);o=u+4|0;w=u+8|0;while(1){f=A+1|0;a[t>>2]=f;i=r[A>>0]|0;if(!(i<<24>>24))break;do{if((i&255)<192)if(i<<24>>24==38){f=gH(t)|0;if(!f)i=38;else{if(f>>>0<127){i=f&255;break}A=a[o>>2]|0;i=A>>>0>=(a[w>>2]|0)>>>0;if(f>>>0<2047){if(i){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>6|192;i=(f&63|128)&255;break}if(i){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>12|224;A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>6&63|128;i=(f&63|128)&255}}else{l=0;s=9}else if((i&255)>=224)if((i&255)>=240)if((i&255)<248){l=3;s=9}else{if(!(r[194958]|0)){a[c>>2]=Vh(e)|0;ao(0,109707,c)|0;r[194958]=1}l=-1;i=vH(i,u)|0;s=9}else{l=2;s=9}else{l=1;s=9}}while(0);do{if((s|0)==9){s=0;n=0;while(1){if((n|0)>=(l|0)){s=34;break}if((r[f>>0]&-64)<<24>>24!=-128)break;A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=i;n=n+1|0;i=r[f>>0]|0;f=f+1|0}if((s|0)==34){s=0;a[t>>2]=f;break}a[t>>2]=f;if(!(r[194958]|0)){n=Vh(e)|0;a[b>>2]=l+1;a[b+4>>2]=n;ao(0,109828,b)|0;r[194958]=1}i=vH(i,u)|0}}while(0);A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=i;A=a[t>>2]|0}A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}r[A>>0]=0;w=a[u>>2]|0;a[o>>2]=w;o=s3(w)|0;uo(u);k=h;return o|0}function vH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+16|0;n=c;r[n>>0]=A;r[n+1>>0]=0;n=EH(n)|0;l=e+4|0;t=e+8|0;i=S2(n)|0;f=n;while(1){if((i|0)<=1)break;A=a[l>>2]|0;if(A>>>0>=(a[t>>2]|0)>>>0){bo(e,1)|0;A=a[l>>2]|0}b=r[f>>0]|0;a[l>>2]=A+1;r[A>>0]=b;i=i+-1|0;f=f+1|0}b=r[f>>0]|0;L2(n);k=c;return b|0}function gH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;e=t+8|0;i=a[A>>2]|0;A:do{if((r[i>>0]|0)!=35){a[l>>2]=e;n=0;e:while(1){if((n|0)>=8){e=0;break A}f=r[i+n>>0]|0;switch(f<<24>>24){case 0:{e=0;break A}case 59:break e;default:{}}r[e>>0]=f;e=e+1|0;n=n+1|0}r[e>>0]=0;e=i8(l,23664,252,8,96)|0;if(!e)e=0;else{i=i+(n+1)|0;e=a[e+4>>2]|0}}else{l=r[i+1>>0]|0;e=l&255;e:do{if((l|32)<<24>>24==120){l=0;n=2;while(1){if((n|0)>=8){f=l;break e}f=r[i+n>>0]|0;e=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=l;break e}else f=-87;else f=-55;e=f+e|0;l=e+(l<<4)|0;n=n+1|0}}else{f=0;n=1;while(1){if((n|0)>=8)break e;l=r[i+n>>0]|0;e=l&255;if((l+-48&255)>=10)break e;f=(f*10|0)+-48+e|0;n=n+1|0}}}while(0);e=(e|0)==59;i=e?i+(n+1)|0:i;e=e?f:0}}while(0);a[A>>2]=i;k=t;return e|0}function EH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+1056|0;n=b;t=b+8|0;a[n>>2]=A;co(t,1024,b+24|0);c=t+4|0;l=t+8|0;while(1){a[n>>2]=A+1;e=r[A>>0]|0;if(!(e<<24>>24))break;A=e&255;if(e<<24>>24==38){A=gH(n)|0;if(!A){A=38;f=6}else f=5}else f=5;do{if((f|0)==5){f=0;if(A>>>0<127)f=6;else{e=a[c>>2]|0;i=e>>>0>=(a[l>>2]|0)>>>0;if(A>>>0<2047){if(i){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>6|192;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}A=A&63|128;break}if(i){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>12|224;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>6&63|128;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}A=A&63|128}}}while(0);if((f|0)==6){e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}}a[c>>2]=e+1;r[e>>0]=A;A=a[n>>2]|0}A=a[c>>2]|0;if(A>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;A=a[c>>2]|0}r[A>>0]=0;l=a[t>>2]|0;a[c>>2]=l;c=s3(l)|0;uo(t);k=b;return c|0}function CH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+1040|0;n=t;co(n,1024,t+16|0);l=n+4|0;f=n+8|0;while(1){e=A+1|0;i=r[A>>0]|0;if(!(i<<24>>24))break;if((i&255)<127){A=a[l>>2]|0;if(A>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;A=a[l>>2]|0}a[l>>2]=A+1;r[A>>0]=i;A=e;continue}else{i=r[e>>0]&63|i<<6&255;e=a[l>>2]|0;if(e>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;e=a[l>>2]|0}a[l>>2]=e+1;r[e>>0]=i;A=A+2|0;continue}}A=a[l>>2]|0;if(A>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;A=a[l>>2]|0}r[A>>0]=0;f=a[n>>2]|0;a[l>>2]=f;l=s3(f)|0;uo(n);k=t;return l|0}function IH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+80|0;r=w+48|0;i=w+32|0;f=w+64|0;n=w+16|0;l=w;t=e+16|0;c=A+16|0;s=a[c>>2]|0;if(((+b[t>>3]>=+b[s+48>>3]?+b[s+64>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=+b[s+56>>3]:0)?+b[s+72>>3]>=+b[e+8>>3]:0){s=s+16|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];ZH(n,i,r);a[i>>2]=a[s>>2];a[i+4>>2]=a[s+4>>2];a[i+8>>2]=a[s+8>>2];a[i+12>>2]=a[s+12>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];a[r+8>>2]=a[n+8>>2];a[r+12>>2]=a[n+12>>2];jR(l,i,r);a[f>>2]=A;a[f+4>>2]=0;i=a[(a[(a[(a[c>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;a[r>>2]=a[l>>2];a[r+4>>2]=a[l+4>>2];a[r+8>>2]=a[l+8>>2];a[r+12>>2]=a[l+12>>2];i=m5[i&127](f,r)|0}else i=0;k=w;return i|0}function ZH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function GH(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;r=k;k=k+80|0;t=r+64|0;c=r+48|0;s=r;w=r+32|0;n=r+16|0;b[s>>3]=+b[A+24>>3]*.5;b[s+8>>3]=+b[A+32>>3]*.5;A=A+56|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];jR(w,c,t);l=+b[w>>3];f=+b[w+8>>3];a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];SR(n,c,t);i=+b[n+8>>3];if((+b[e+16>>3]>=l?+b[n>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=f:0)A=i>=+b[e+8>>3]&1;else A=0;k=r;return A|0}function QH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+80|0;b=w+48|0;c=w;l=A+16|0;A=a[l>>2]|0;t=a[A+8>>2]|0;A:do{if((t|0)!=0?(n=t+8|0,a[c>>2]=a[n>>2],a[c+4>>2]=a[n+4>>2],a[c+8>>2]=a[n+8>>2],a[c+12>>2]=a[n+12>>2],a[c+16>>2]=a[n+16>>2],a[c+20>>2]=a[n+20>>2],a[c+24>>2]=a[n+24>>2],a[c+28>>2]=a[n+28>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(mH(c,b)|0)!=0):0){i=t+4|0;A=0;while(1){if((A|0)>=(a[i>>2]|0))break;r=c;f=(a[t>>2]|0)+(A*48|0)|0;n=r+48|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[b+16>>2]=a[e+16>>2];a[b+20>>2]=a[e+20>>2];a[b+24>>2]=a[e+24>>2];a[b+28>>2]=a[e+28>>2];if(!((LH(c,b)|0)<<24>>24))A=A+1|0;else{A=1;break A}}A=a[l>>2]|0;s=7}else s=7}while(0);do{if((s|0)==7){A=a[A+96>>2]|0;if(A|0?(a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(GH(A,b)|0)<<24>>24):0){A=1;break}A=0}}while(0);k=w;return A|0}function mH(A,e){A=A|0;e=e|0;if((+b[A+16>>3]>=+b[e>>3]?+b[e+16>>3]>=+b[A>>3]:0)?+b[A+24>>3]>=+b[e+8>>3]:0)A=+b[e+24>>3]>=+b[A+8>>3]&1;else A=0;return A|0}function LH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+96|0;b=w+64|0;c=w+48|0;t=w+32|0;f=w+16|0;n=w;s=A+4|0;i=a[s>>2]|0;if(!i)vA(109937,107661,1637,109945);r=a[A>>2]|0;a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];r=1;while(1){if((r|0)>=(i|0)){l=7;break}i=(a[A>>2]|0)+(r<<4)|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];a[c>>2]=a[n>>2];a[c+4>>2]=a[n+4>>2];a[c+8>>2]=a[n+8>>2];a[c+12>>2]=a[n+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[b+16>>2]=a[e+16>>2];a[b+20>>2]=a[e+20>>2];a[b+24>>2]=a[e+24>>2];a[b+28>>2]=a[e+28>>2];if((GF(t,c,b)|0)!=-1){i=1;break}a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];r=r+1|0;i=a[s>>2]|0}do{if((l|0)==7){i=a[A+8>>2]|0;if(i|0?(n=A+16|0,l=a[A>>2]|0,a[t>>2]=a[n>>2],a[t+4>>2]=a[n+4>>2],a[t+8>>2]=a[n+8>>2],a[t+12>>2]=a[n+12>>2],a[c>>2]=a[l>>2],a[c+4>>2]=a[l+4>>2],a[c+8>>2]=a[l+8>>2],a[c+12>>2]=a[l+12>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(WH(t,c,i,b)|0)<<24>>24):0){i=1;break}i=a[A+12>>2]|0;if(i|0?(l=A+32|0,s=(a[A>>2]|0)+((a[s>>2]|0)+-1<<4)|0,a[t>>2]=a[l>>2],a[t+4>>2]=a[l+4>>2],a[t+8>>2]=a[l+8>>2],a[t+12>>2]=a[l+12>>2],a[c>>2]=a[s>>2],a[c+4>>2]=a[s+4>>2],a[c+8>>2]=a[s+8>>2],a[c+12>>2]=a[s+12>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(WH(t,c,i,b)|0)<<24>>24):0){i=1;break}i=0}}while(0);k=w;return i|0}function WH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;s=k;k=k+160|0;n=s+144|0;f=s+128|0;w=s+96|0;l=s+64|0;t=s+32|0;c=s;u=+b[r+16>>3];a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];KC(w,f,n,1.0,i);if(((u>=+b[w>>3]?(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(l,f,n,1.0,i),+b[l+16>>3]>=+b[r>>3]):0)?(u=+b[r+24>>3],a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(t,f,n,1.0,i),u>=+b[t+8>>3]):0)?(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(c,f,n,1.0,i),+b[c+24>>3]>=+b[r+8>>3]):0)f=1;else f=0;k=s;return f|0}function yH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=k;k=k+16|0;f=n;A:do{if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0){do{switch(i<<24>>24|0){case 48:{e=2;break A}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{e=10;break A}case 67:case 99:{i=A+1|0;if(!(N1(i,109960)|0)){e=4;break A}if(!(N1(i,109966)|0)){e=12;break A}break}case 70:case 102:{if(!(N1(A+1|0,109974)|0)){e=2;break A}break}case 76:case 108:{if(!(N1(A+1|0,109979)|0)){e=2;break A}break}case 78:case 110:{i=A+1|0;if(!(N1(i,109983)|0)){e=0;break A}if(!(N1(i,109987)|0)){e=2;break A}break}case 79:case 111:{if(!(N1(A+1|0,109989)|0)){e=8;break A}break}case 80:case 112:{if(!(N1(A+1|0,109994)|0)){e=6;break A}break}case 83:case 115:{if(!(N1(A+1|0,110002)|0)){e=10;break A}break}case 84:case 116:{if(!(N1(A+1|0,110008)|0)){e=10;break A}break}case 89:case 121:{if(!(N1(A+1|0,110012)|0)){e=10;break A}break}default:{}}}while(0);a[f>>2]=A;ao(0,110015,f)|0}}while(0);k=n;return e|0}function zH(A,e){A=A|0;e=e|0;var i=0;i=po(A,110056)|0;if(i)if(!(r[i>>0]|0))e=0;else e=yH(i,e)|0;A=(a[A+16>>2]|0)+136|0;f[A>>1]=e|l[A>>1];return}function YH(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0;E=k;k=k+32|0;o=E+16|0;d=E;v=f&1;g=f&2;A:do{if((i|0)==2){B=+b[A+16>>3];a=+b[A>>3];t=+b[A+24>>3];l=+b[A+8>>3];a=a-(B-a);b[o>>3]=a;b[d>>3]=B;l=l-(t-l);b[o+8>>3]=l;b[d+8>>3]=t}else{n=+b[A>>3];b[d>>3]=n;b[o>>3]=n;t=+b[A+8>>3];s=d+8|0;b[s>>3]=t;w=o+8|0;b[w>>3]=t;f=0;a=n;l=t;while(1){if((f|0)>=(i|0)){B=n;break A}C=A+(f<<4)|0;h=+b[C>>3];c=+b[(h>3];b[o>>3]=c;B=+b[A+(f<<4)+8>>3];u=+b[(B>3];b[w>>3]=u;h=+b[(h>n?C:d)>>3];b[d>>3]=h;B=+b[(B>t?C:d)+8>>3];b[s>>3]=B;f=f+1|0;a=c;l=u;n=h;t=B}}}while(0);n=(B-a)*.5;h=n+a;u=(t-l)*.5;c=u+l;if(!v){a=t-c;t=r;l=+M(+t);t=+D(+t);if(!g){n=l*a-c;a=-c-u*l}else{a=l*a;n=c-a;a=a+c}b[e+8>>3]=n;b[e+24>>3]=a;r=t*(B-h);b[e>>3]=h-r;b[e+16>>3]=r+h}else{r=+z(+(u*u+n*n));b[e+8>>3]=g|0?c:-c;b[e>>3]=h;b[e+16>>3]=r*.25;b[e+24>>3]=r}k=E;return}function DH(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=A+16|0;f=a[r>>2]|0;if(!(e<<24>>24)){i=+b[f+32>>3]*36.0;b[f+88>>3]=i;A=f+40|0}else{i=+b[f+40>>3]*36.0;b[f+88>>3]=i;A=f+32|0}b[f+96>>3]=i;b[(a[r>>2]|0)+80>>3]=+b[A>>3]*72.0;return}function MH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+32|0;c=w+8|0;f=w+4|0;n=w;i=a[e>>2]&3;r=a[((i|0)==3?e:e+48|0)+40>>2]|0;b=(a[(a[r+16>>2]|0)+232>>2]|0)+-1|0;A=a[(a[A+16>>2]|0)+196>>2]|0;l=a[A+(b<<6)+4>>2]|0;A=a[A+(b<<6)>>2]|0;b=c+8|0;a[b>>2]=-1;a[c>>2]=-1;s=c+12|0;a[s>>2]=A;t=c+4|0;a[t>>2]=A;VH(r,a[((i|0)==2?e:e+-48|0)+40>>2]|0,f,n);f=a[f>>2]|0;n=a[n>>2]|0;i=0;r=A;e=-1;while(1){if((i|0)>=(r|0))break;r=r+-1|0;JH(a[l+(i<<2)>>2]|0,c,f,n);if((i|0)!=(r|0))JH(a[l+(r<<2)>>2]|0,c,f,n);A=a[t>>2]|0;e=a[c>>2]|0;if((A-e|0)<2)break;else i=i+1|0}if((e|0)>(A|0))A=(a[s>>2]|0)+(a[b>>2]|0)|0;else A=A+e|0;k=w;return(A+1|0)/2|0|0}function FH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=A+16|0;f=a[(a[n>>2]|0)+196>>2]|0;r=f+(e<<6)|0;f=a[f+(e<<6)+4>>2]|0;if(!f)f=$F((a[r>>2]<<2)+8|0)|0;else f=eV(f,(a[r>>2]<<2)+8|0)|0;r=a[(a[n>>2]|0)+196>>2]|0;a[r+(e<<6)+4>>2]=f;r=a[r+(e<<6)>>2]|0;while(1){if((r|0)<=(i|0))break;l=r+-1|0;t=a[f+(l<<2)>>2]|0;a[f+(r<<2)>>2]=t;t=(a[t+16>>2]|0)+236|0;a[t>>2]=(a[t>>2]|0)+1;r=l}l=YW(A)|0;t=f+(i<<2)|0;a[t>>2]=l;l=a[l+16>>2]|0;a[l+236>>2]=i;a[l+232>>2]=e;n=(a[(a[n>>2]|0)+196>>2]|0)+(e<<6)|0;l=(a[n>>2]|0)+1|0;a[n>>2]=l;a[f+(l<<2)>>2]=0;return a[t>>2]|0}function VH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A=a[(a[A+16>>2]|0)+236>>2]|0;e=a[(a[e+16>>2]|0)+236>>2]|0;f=(A|0)>(e|0);a[i>>2]=f?e:A;a[r>>2]=f?A:e;return}function JH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;l=s+4|0;n=s;A=a[A+16>>2]|0;do{if((r[A+156>>0]|0)==1){b=a[A+236>>2]|0;if(a[A+176>>2]|0){t=a[A+180>>2]|0;A=0;n=0;l=0;while(1){c=a[t+(l<<2)>>2]|0;if(!c)break;w=a[(a[(a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=(w|0)>(i|0);A=c?(w|0)<(f|0)?A:1:A;n=c?n:1;l=l+1|0}if(n<<24>>24!=0&A<<24>>24==0){a[e>>2]=b+1;break}if(!(n<<24>>24==0&A<<24>>24!=0))break;a[e+4>>2]=b+-1;break}if((a[A+184>>2]|0)!=2)vA(88397,88417,63,88424);t=a[A+180>>2]|0;w=a[t>>2]|0;t=a[t+4>>2]|0;VH(a[((a[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,l,n);t=a[n>>2]|0;if((t|0)<=(i|0)){a[e>>2]=b;a[e+8>>2]=b;break}A=a[l>>2]|0;if((A|0)>=(f|0)){a[e+4>>2]=b;a[e+12>>2]=b;break}n=(A|0)<(i|0);l=(t|0)>(f|0);if(!(l&n)){if(!(!n?!((t|0)<(f|0)&(A|0)==(i|0)):0))a[e+8>>2]=b;if(!l?!((t|0)==(f|0)&(A|0)>(i|0)):0)break;a[e+12>>2]=b}}}while(0);k=s;return}function NH(A){A=A|0;a[47134]=1;fp(A);a[47134]=0;return}function XH(A){A=A|0;a[47134]=2;fp(A);a[47134]=0;return}function RH(A){A=A|0;var e=0;Td(A,137447,304,1)|0;FR(A);e=qF((l[(a[(Id(A)|0)+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[A+16>>2]|0)+132>>2]=e;DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);return}function HH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0;B=k;k=k+64|0;t=B+48|0;u=B+40|0;c=B+24|0;l=B+8|0;h=B+56|0;s=B;do{if((A|0)!=0?(d=i+16|0,o=a[(a[d>>2]|0)+132>>2]|0,n=Uo(i,A)|0,(r[n>>0]|0)!=0):0){r[h>>0]=0;A=o+8|0;if((a[47137]|0)>2?(a[l>>2]=o,a[l+4>>2]=A,a[l+8>>2]=o+16,a[l+12>>2]=h,(J3(n,88535,l)|0)>2):0){r[(a[d>>2]|0)+119>>0]=1;n=a[47137]|0;A:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)>=(n|0))break A;u=o+(A<<3)|0;b[u>>3]=+b[u>>3]/+b[23293];A=A+1|0}}}while(0);if((n|0)>3)vU(i,f,3);if((r[h>>0]|0)!=33){if(!e){A=1;break}if(!((gR(Uo(i,e)|0)|0)<<24>>24)){A=1;break}}r[(a[d>>2]|0)+119>>0]=3;A=1;break}a[c>>2]=o;a[c+4>>2]=A;a[c+8>>2]=h;if((J3(n,101749,c)|0)<=1){a[t>>2]=Vh(i)|0;a[t+4>>2]=n;ao(1,88549,t)|0;A=0;break}r[(a[d>>2]|0)+119>>0]=1;n=a[47137]|0;A:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)>=(n|0))break A;c=o+(A<<3)|0;b[c>>3]=+b[c>>3]/+b[23293];A=A+1|0}}}while(0);do{if((n|0)>2){A=a[47171]|0;if((A|0?(w=Uo(i,A)|0,w|0):0)?(a[u>>2]=s,(J3(w,101209,u)|0)==1):0){g=+b[23293];v=+b[s>>3];b[o+16>>3]=g>0.0?v/g:v;vU(i,f,3);break}gU(i,f)}}while(0);if((r[h>>0]|0)!=33){if(!e){A=1;break}if(!((gR(Uo(i,e)|0)|0)<<24>>24)){A=1;break}}r[(a[d>>2]|0)+119>>0]=3;A=1}else A=0}while(0);k=B;return A|0}function pH(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}UH(A);return}function UH(A){A=A|0;if((a[47134]|0)!=0|(a[46795]|0)<0)dU(A);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function xH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;s=h+32|0;u=h;c=Yo(A,0,102637,0)|0;i=Yo(A,0,102671,0)|0;o=(ER(po(A,88593)|0,0)|0)<<24>>24!=0;if(!i)i=Yo(A,0,102671,195059)|0;hU(A)|0;w=A+16|0;l=0;while(1){t=a[(a[(a[w>>2]|0)+152>>2]|0)+(l<<2)>>2]|0;if(!t){f=12;break}n=t+16|0;f=a[n>>2]|0;if(!(r[f+119>>0]|0)){if(Z1(Vh(t)|0,108006,7)|0){f=8;break}f=a[n>>2]|0}f=a[f+108>>2]|0;if(f|0)TH(t,f,102633);l=l+1|0}A:do{if((f|0)==8){o=Vh(t)|0;i=Vh(A)|0;a[s>>2]=o;a[s+4>>2]=i;ao(1,88605,s)|0;i=-1}else if((f|0)==12){jH(A,c,i);t=SH(A)|0;i=a[(a[w>>2]|0)+8>>2]|0;if(!(a[i+88>>2]|0))i=0;else{a[i+84>>2]=0;i=1}n=(e|0)!=0;l=(i|0)!=0;if(!(l|n&(a[47134]|0)==1^1)?(eS(A)|0)!=0:0){f=a[(a[w>>2]|0)+12>>2]|0;if(!f)f=1;else{r[f+81>>0]=0;f=1}}else f=0;xR(A);if(l){e=(a[w>>2]|0)+16|0;uI(u,A);a[e>>2]=a[u>>2];a[e+4>>2]=a[u+4>>2];a[e+8>>2]=a[u+8>>2];a[e+12>>2]=a[u+12>>2];a[e+16>>2]=a[u+16>>2];a[e+20>>2]=a[u+20>>2];a[e+24>>2]=a[u+24>>2];a[e+28>>2]=a[u+28>>2]}if(!n){a[47138]=1;f=cd(A)|0;while(1){if(!f)break A;o=a[f+16>>2]|0;u=a[o+132>>2]|0;b[o+16>>3]=+b[u>>3]*72.0;b[o+24>>3]=+b[u+8>>3]*72.0;f=bd(A,f)|0}}do{if(!(o|l)){o=a[w>>2]|0;if(!(+b[o+16>>3]!=0.0)?!(+b[o+24>>3]!=0.0):0)break;Up(A)}}while(0);if(!((t|0)!=0&(f|(Hp(A)|0)<<24>>24!=0))){if((t|0)==2){a[47138]=1;break}}else PH(A);Rp(A,0)}}while(0);k=h;return i|0}function TH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+48|0;t=c+32|0;f=c+24|0;n=c+16|0;l=c;A=po(A,i)|0;if(A|0?(a[t>>2]=f,a[t+4>>2]=n,(J3(A,105503,t)|0)==2):0){t=e+56|0;_H(l,+b[f>>3],+b[n>>3]);a[t>>2]=a[l>>2];a[t+4>>2]=a[l+4>>2];a[t+8>>2]=a[l+8>>2];a[t+12>>2]=a[l+12>>2];r[e+81>>0]=1}k=c;return}function jH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+48|0;c=s+32|0;f=s+24|0;n=s+16|0;l=s;t=A+16|0;if((e|0?(a[(a[t>>2]|0)+12>>2]|0)!=0:0)?(w=Uo(A,e)|0,a[c>>2]=f,a[c+4>>2]=n,(J3(w,105503,c)|0)==2):0){w=(a[(a[t>>2]|0)+12>>2]|0)+56|0;_H(l,+b[f>>3],+b[n>>3]);a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];r[(a[(a[t>>2]|0)+12>>2]|0)+81>>0]=1}A:do{if(i|0){f=RB(A)|0;while(1){if(!f)break A;qH(f,A,e,i);f=HB(f)|0}}}while(0);k=s;return}function SH(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(gh(A)|0){f=Yo(A,2,102623,0)|0;if(!((f|0)==0|(a[47134]|0)<2)){e=0;r=cd(A)|0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;n=e+((OH(f,i)|0)!=0&1)|0;i=_o(A,i)|0;e=n}r=bd(A,r)|0}if(e){e=(e|0)==(gh(A)|0);e=e?2:1}else e=0}else e=0}else e=2;return e|0}function PH(A){A=A|0;var e=0,i=0,r=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;kH(e);r=e+16|0;TF(a[(a[r>>2]|0)+96>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);TF(a[(a[r>>2]|0)+100>>2]|0);TF(a[(a[r>>2]|0)+104>>2]|0);e=_o(A,e)|0}i=bd(A,i)|0}return}function OH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;m=k;k=k+96|0;G=m+72|0;I=m+56|0;Q=m+48|0;Z=m+32|0;C=m+16|0;d=m+88|0;B=m+8|0;v=m;g=m+84|0;E=m+80|0;A=Uo(e,A)|0;do{if(r[A>>0]|0){DC(e,g,E);h=1;f=0;i=0;t=0.0;l=0.0;c=0.0;n=0.0;A:while(1){a[C>>2]=B;a[C+4>>2]=v;a[C+8>>2]=d;if((J3(A,88642,C)|0)==2){o=1;A=A+(a[d>>2]|0)|0;l=+b[B>>3];n=+b[v>>3]}else o=i;a[Z>>2]=B;a[Z+4>>2]=v;a[Z+8>>2]=d;if((J3(A,88654,Z)|0)==2){u=1;A=A+(a[d>>2]|0)|0;t=+b[B>>3];c=+b[v>>3]}else u=f;s=KH(A)|0;if(!((s|0)>3&((s|0)%3|0|0)==1)){i=8;break}w=$F(s<<4)|0;i=w;f=s;while(1){if(!f)break;a[I>>2]=B;a[I+4>>2]=v;a[I+8>>2]=d;if((J3(A,88724,I)|0)<2){i=13;break A}L=A+(a[d>>2]|0)|0;b[i>>3]=+b[B>>3];b[i+8>>3]=+b[v>>3];i=i+16|0;f=f+-1|0;A=L}while(1){i=r[A>>0]|0;f=A+1|0;if(!(Q1(i<<24>>24)|0))break;else A=f}L=i<<24>>24==0;A=L?A:f;h=L?0:h;f=vX(e,s)|0;if(o|0){a[f+8>>2]=a[g>>2];b[f+16>>3]=l;b[f+24>>3]=n}if(u|0){a[f+12>>2]=a[E>>2];b[f+32>>3]=t;b[f+40>>3]=c}i=0;while(1){if((i|0)>=(s|0))break;L=(a[f>>2]|0)+(i<<4)|0;W=w+(i<<4)|0;a[L>>2]=a[W>>2];a[L+4>>2]=a[W+4>>2];a[L+8>>2]=a[W+8>>2];a[L+12>>2]=a[W+12>>2];i=i+1|0}L2(w);if(!h){i=26;break}else{f=u;i=o}}if((i|0)==8){kH(e);if(r[193771]|0){A=0;break}r[193771]=1;W=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;A=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[Q>>2]=W;a[Q+4>>2]=A;ao(0,88667,Q)|0;A=0;break}else if((i|0)==13){if(!(r[193771]|0)){r[193771]=1;L=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;W=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[G>>2]=L;a[G+4>>2]=W;ao(0,88734,G)|0}L2(w);kH(e);A=0;break}else if((i|0)==26){f=e+16|0;A=a[f>>2]|0;i=a[A+96>>2]|0;if(i){TH(e,i,102637);A=a[f>>2]|0}i=a[A+108>>2]|0;if(i){TH(e,i,102633);A=a[f>>2]|0}i=a[A+100>>2]|0;if(i){TH(e,i,102640);A=a[f>>2]|0}A=a[A+104>>2]|0;if(!A){A=1;break}TH(e,A,102648);A=1;break}}else A=0}while(0);k=m;return A|0}function KH(A){A=A|0;var e=0,i=0;i=0;do{while(1){e=r[A>>0]|0;if(!(Q1(e&255)|0))break;else A=A+1|0}A:do{if(!(e<<24>>24))e=0;else{i=i+1|0;while(1){if(!(e<<24>>24)){e=0;break A}if(e<<24>>24==59|(Q1(e&255)|0)!=0)break A;e=A+1|0;A=e;e=r[e>>0]|0}}}while(0)}while((Q1(e&255)|0)!=0);return i|0}function _H(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function qH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;l=k;k=k+32|0;f=l;if((Z1(Vh(A)|0,108006,7)|0)==0?($H(A,r,f)|0)!=0:0){Td(A,137483,280,1)|0;t=(a[A+16>>2]|0)+16|0;a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];a[t+16>>2]=a[f+16>>2];a[t+20>>2]=a[f+20>>2];a[t+24>>2]=a[f+24>>2];a[t+28>>2]=a[f+28>>2];Ap(e,A);jH(A,i,r)}else n=4;A:do{if((n|0)==4){A=RB(A)|0;while(1){if(!A)break A;qH(A,e,i,r);A=HB(A)|0}}}while(0);k=l;return}function $H(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0;l=k;k=k+48|0;t=l+32|0;n=l;c=Uo(A,e)|0;A=n+8|0;e=n+24|0;a[t>>2]=n;a[t+4>>2]=A;a[t+8>>2]=n+16;a[t+12>>2]=e;if((J3(c,88782,t)|0)==4){r=+b[A>>3];f=+b[e>>3];if(r>f){b[A>>3]=f;b[e>>3]=r}a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[i+16>>2]=a[n+16>>2];a[i+20>>2]=a[n+20>>2];a[i+24>>2]=a[n+24>>2];a[i+28>>2]=a[n+28>>2];A=1}else A=0;k=l;return A|0}function Ap(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+16|0;i=a[r>>2]|0;n=i+180|0;A=a[n>>2]|0;f=A+1|0;a[n>>2]=f;i=a[i+184>>2]|0;if(!i)A=qF((A<<2)+8|0)|0;else A=AV(i,A+2|0,4,f)|0;a[(a[r>>2]|0)+184>>2]=A;a[A+(f<<2)>>2]=e;JF(e);return}function ep(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+48|0;s=w+8|0;b=w;t=w+16|0;c=w+12|0;l=po(A,88798)|0;do{if((l|0)!=0?(f=r[l>>0]|0,f<<24>>24!=0):0){f=f&255;if(!(J1(f)|0))if((e|0)==2|(f+-48|0)>>>0<10)e=l;else break;else{if(!(Z1(l,88804,4)|0)){e=0;break}if(!(Z1(l,105511,7)|0)){e=1;break}if(Z1(l,88809,6)|0)if((e|0)==2)e=l;else break;else e=l+6|0}if(!(((n[e>>0]|0)+-48|0)>>>0<10?(a[b>>2]=c,(J3(e,99933,b)|0)>=1):0)){b=z3()|0;b=(ne(0)|0)^b;a[c>>2]=b;a[s>>2]=b;P4(t,99933,s)|0;xo(A,88798,t)|0}a[i>>2]=a[c>>2];e=2}}while(0);k=w;return e|0}function ip(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+16|0;r=f+4|0;a[r>>2]=1;i=ep(A,i,r)|0;if((i|0)!=2&(a[46796]|0)!=0)ao(0,88816,f)|0;if((i|0)==1)rp(A,e);l8(a[r>>2]|0);k=f;return i|0}function rp(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0.0;n=+(e|0);l=6.283185307179586/n;i=cd(A)|0;f=0.0;while(1){if(!i)break;s=+D(+f)*n;t=a[i+16>>2]|0;c=a[t+132>>2]|0;b[c>>3]=s;b[c+8>>3]=+M(+f)*n;r[t+119>>0]=1;if((a[47137]|0)>2)gU(i,e);i=bd(A,i)|0;f=f+l}return}function fp(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0;d=k;k=k+80|0;e=d+24|0;w=d+32|0;c=d;o=d+28|0;s=d+64|0;h=+b[23293];do{if(a[47134]|0){b[23293]=72.0;ap(A);np(A);if((xH(A,1)|0)<0){ao(3,88864,e)|0;break}else{vJ(A,0);f=32;break}}else{u=ER(po(A,88593)|0,0)|0;b[23293]=+hR(A);ap(A);n=lp(A)|0;Qj(A,c,0)|0;l=tp(A)|0;t=wC(A,0,w)|0;e=sC(A,-1,8)|0;a[46795]=e;i=(e|0)<0;do{if(!t){if((n|0)!=0&i){a[46795]=8;a[w+16>>2]=2;f=11;break}a[w+16>>2]=2;if((e|0)<=-1){cp(A,n,l);Wj(A,c)|0;np(A);if(!(u<<24>>24)){Pp(A);break}else{bp(A);break}}else f=11}else if(i){a[46795]=8;f=11}else f=11}while(0);if((f|0)==11){t=BE(A,o,88892,s)|0;e=a[o>>2]|0;do{if((e|0)<=1){cp(A,n,l);Wj(A,c)|0;if(!(u<<24>>24)){Pp(A);break}else{bp(A);break}}else{f=u<<24>>24==0;i=0;while(1){if((i|0)>=(e|0))break;e=a[t+(i<<2)>>2]|0;VE(e)|0;cp(e,n,l);Wj(e,c)|0;zH(e,2);if(f)Pp(e);else bp(e);i=i+1|0;e=a[o>>2]|0}if(!(r[s>>0]|0))i=0;else{i=qF(e)|0;r[i>>0]=1;e=a[o>>2]|0}a[w+8>>2]=a[46795];a[w+20>>2]=i;a[w+12>>2]=1;tC(e,t,A,w)|0;L2(i)}}while(0);xR(A);np(A);e=0;while(1){if((e|0)>=(a[o>>2]|0))break;w=a[t+(e<<2)>>2]|0;dU(w);Sd(w,137483)|0;Cd(A,w)|0;e=e+1|0}L2(t)}vJ(A,u<<24>>24==0&1);f=32}}while(0);if((f|0)==32)b[23293]=h;k=d;return}function ap(A){A=A|0;var e=0,i=0,r=0,n=0;zH(A,2);r=kR(A,Yo(A,0,91368,0)|0,2,2)|0;e=(kR(A,Yo(A,0,91374,0)|0,r,2)|0)&65535;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=e;e=a[(a[A+60>>2]|0)+16>>2]|0;n=e+176|0;i=f[n>>1]|0;i=(i&65535)<10?i:10;f[n>>1]=i;i=i&65535;a[47137]=i;f[e+178>>1]=(r|0)<(i|0)?r:i;gp(A);return}function np(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+1040|0;r=f;i=f+8|0;A:do{if((a[47137]|0)>2&(a[47171]|0)!=0){e=cd(A)|0;while(1){if(!e)break A;b[r>>3]=+b[(a[(a[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;P4(i,101209,r)|0;Vo(e,a[47171]|0,i)|0;e=bd(A,e)|0}}}while(0);k=f;return}function lp(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=po(A,89577)|0;A:do{if(!e)A=1;else{switch(r[e>>0]|0){case 0:{A=1;break A}case 75:{if(!(A1(e,89582)|0)){A=0;break A}break}case 109:{if(!(A1(e,89585)|0)){A=1;break A}break}case 104:{if(!(A1(e,89591)|0)){A=2;break A}break}default:{}}A=Vh(A)|0;a[i>>2]=e;a[i+4>>2]=A;ao(0,89596,i)|0;A=1}}while(0);k=f;return A|0}function tp(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+32|0;n=l+16|0;f=l+8|0;i=l;e=po(A,89360)|0;A:do{if(!e)A=0;else{switch(r[e>>0]|0){case 0:{A=0;break A}case 99:{if(!(A1(e,89366)|0)){A=1;break A}break}case 115:{if(!(A1(e,89374)|0)){A=2;break A}if(!(A1(e,89381)|0)){A=0;break A}break}case 109:{if(!(A1(e,89391)|0)){if(Yo(A,2,92493,0)|0){A=3;break A}a[i>>2]=Vh(A)|0;ao(0,89395,i)|0;ao(3,89458,f)|0;A=0;break A}break}default:{}}A=Vh(A)|0;a[n>>2]=e;a[n+4>>2]=A;ao(0,89515,n)|0;A=0}}while(0);k=l;return A|0}function cp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,91061)|0;if(!r)if((e|0)==1)r=200;else r=(vh(A)|0)*100|0;else r=q3(r)|0;a[47136]=r;r=bU(A,e)|0;do{if(!((r|0)<2|(a[47136]|0)<0))if(!e){wp(A,r,i);break}else{sp(A,r,e,i,a[47137]|0);break}}while(0);return}function bp(A){A=A|0;xR(A);Rp(A,1);return}function sp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+64|0;d=g+40|0;u=g+24|0;w=g;o=g+48|0;v=g+44|0;h=(i|0)==2;l=ip(A,e,h?0:2)|0;t=vp(A)|0;c=t|4;B=$F(f<<2)|0;a[B>>2]=$F(U(e<<3,f)|0)|0;n=a[47137]|0;f=1;while(1){if((f|0)>=(n|0))break;a[B+(f<<2)>>2]=(a[B>>2]|0)+((U(f,e)|0)<<3);f=f+1|0}n=(l|0)==0;f=n?c:t;if(0){c=a[15712]|0;t=a[47136]|0;s=+b[23294];a[w>>2]=r;a[w+4>>2]=n&1;a[w+8>>2]=f&3;a[w+12>>2]=t;b[w+16>>3]=s;f3(c,89173,w)|0;L3(89230,15,1,c)|0;tR();L3(89246,13,1,c)|0}w=op(A,e,o,i,r,v)|0;if(0){c=a[15712]|0;s=+cR();a[u>>2]=e;b[u+8>>3]=s;f3(c,89260,u)|0}if((i|0)!=1){s=+oR(A,Yo(A,0,89279,0)|0,0.0,-1797693134862315708145274.0e284);if(h){f=kS(w,e,a[o>>2]|0,B,a[v>>2]|0,a[47137]|0,f,r,a[47136]|0,s)|0;n=12}else n=14}else{f=iU(w,e,a[o>>2]|0,B,a[v>>2]|0,a[47137]|0,f,r,a[47136]|0)|0;n=12}if((n|0)==12)if((f|0)<0)ao(3,89289,d)|0;else n=14;A:do{if((n|0)==14){n=cd(A)|0;while(1){if(!n)break A;c=a[n+16>>2]|0;l=a[c+120>>2]|0;t=a[47137]|0;c=c+132|0;f=0;while(1){if((f|0)>=(t|0))break;b[(a[c>>2]|0)+(f<<3)>>3]=+b[(a[B+(f<<2)>>2]|0)+(l<<3)>>3];f=f+1|0}n=bd(A,n)|0}}}while(0);HS(w);L2(a[B>>2]|0);L2(B);L2(a[v>>2]|0);k=g;return}function wp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0;n=k;k=k+48|0;f=n+32|0;r=n;switch(i|0){case 2:{up(A,e);break}case 1:{if(!(bS(A,e)|0)){a[r>>2]=Vh(A)|0;ao(0,88902,r)|0;ao(3,93364,n+8|0)|0;ao(3,88954,n+16|0)|0;ao(3,89026,n+24|0)|0;MU(A,e)}break}default:{MU(A,e);if((i|0)==3)kp(A)}}CU(A,e);IU(A,e);if(0){r=a[15712]|0;t=a[47136]|0;l=+b[23294];a[f>>2]=i;a[f+4>>2]=t;b[f+8>>3]=l;f3(r,89064,f)|0;tR()}ZU(A,e);k=n;return}function up(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=op(A,e,t,0,2,0)|0;l=UP(n,e)|0;r=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;f=l+(A<<2)|0;i=0;while(1){if((i|0)==(e|0))break;b[(a[(a[(a[r>>2]|0)+160>>2]|0)+(A<<2)>>2]|0)+(i<<3)>>3]=+(a[(a[f>>2]|0)+(i<<2)>>2]|0);i=i+1|0}A=A+1|0}L2(a[l>>2]|0);L2(l);HS(n);k=t;return}function kp(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0;f=A+16|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;n=a[e>>2]&3;r=(a[a[((n|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;n=(a[a[((n|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if((r|0)!=(n|0)){t=+b[(a[e+16>>2]|0)+136>>3];l=a[(a[f>>2]|0)+160>>2]|0;b[(a[l+(n<<2)>>2]|0)+(r<<3)>>3]=t;b[(a[l+(r<<2)>>2]|0)+(n<<3)>>3]=t}e=_o(A,e)|0}i=bd(A,i)|0}return}function op(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0;l=gh(A)|0;Y=bJ()|0;if((f|0)==2){t=0;W=0}else{W=Yo(A,2,92493,0)|0;t=(a[47174]|0)!=0&1;W=(W|0)!=0}Q=(r|1|0)==3;y=$F(e*20|0)|0;z=$F(e<<2)|0;s=(l<<1)+e<<2;w=$F(s)|0;G=Q|W;if(G)f=$F(s)|0;else f=0;L=(t|0)!=0;if(L)l=$F(s)|0;else l=0;if(Q)t=$F(s)|0;else t=0;s=0;I=cd(A)|0;Z=0;while(1){if(!I)break;uJ(Y);if((a[(a[I+16>>2]|0)+120>>2]|0)!=(Z|0)){m=12;break}a[z+(Z<<2)>>2]=I;g=y+(Z*20|0)+4|0;a[g>>2]=w;E=y+(Z*20|0)+8|0;a[E>>2]=G?f:0;C=y+(Z*20|0)+12|0;a[C>>2]=L?l:0;a[y+(Z*20|0)+16>>2]=Q?t:0;d=1;v=Ah(A,I)|0;B=1;h=s;w=w+4|0;f=G?f+4|0:f;l=L?l+4|0:l;t=Q?t+4|0:t;while(1){if(!v)break;u=a[v>>2]&3;o=v+-48|0;s=v+48|0;do{if((a[((u|0)==2?v:o)+40>>2]|0)==(a[((u|0)==3?v:s)+40>>2]|0)){u=d;o=B;s=h}else{u=hp(Y,v,d)|0;if((u|0)!=(d|0)){if(L){o=(a[C>>2]|0)+(u<<2)|0;c[o>>2]=+b[(a[v+16>>2]|0)+128>>3]+ +c[o>>2]}if(!W){u=d;o=B;s=h;break}u=(a[E>>2]|0)+(u<<2)|0;D=+b[(a[v+16>>2]|0)+136>>3];k=+(~~+c[u>>2]|0);c[u>>2]=D>k?D:k;u=d;o=B;s=h;break}M=a[v>>2]&3;s=(M|0)==3?v:s;h=h+1|0;u=d+1|0;d=w+4|0;a[w>>2]=a[(a[(a[((a[s+40>>2]|0)==(I|0)?(M|0)==2?v:o:s)+40>>2]|0)+16>>2]|0)+120>>2];if(L){c[l>>2]=+b[(a[v+16>>2]|0)+128>>3];l=l+4|0}if(W){s=f+4|0;c[f>>2]=+b[(a[v+16>>2]|0)+136>>3];if(Q){f=s;m=27}else f=s}else if(Q){c[f>>2]=1.0;f=f+4|0;m=27}if((m|0)==27){m=0;s=po(v,101559)|0;if((s|0)!=0?(Z1(s,135709,4)|0)==0:0)k=0.0;else k=(I|0)==(a[((a[v>>2]&3|0)==2?v:o)+40>>2]|0)?1.0:-1.0;c[t>>2]=k;t=t+4|0}o=B+1|0;s=h;w=d}}while(0);d=u;v=eh(A,v,I)|0;B=o;h=s}a[y+(Z*20|0)>>2]=B;a[a[g>>2]>>2]=Z;s=h;I=bd(A,I)|0;Z=Z+1|0}if((m|0)==12)vA(89103,89118,819,89130);if(Q)dp(y,e,r,z);u=(s|0)/2|0;A:do{if((u|0)!=(gh(A)|0)){s=(u<<1)+e<<2;t=eV(a[y+4>>2]|0,s)|0;if(W)f=eV(a[y+8>>2]|0,s)|0;if(L){w=0;l=eV(a[y+12>>2]|0,s)|0}else w=0;while(1){if((w|0)>=(e|0))break A;s=a[y+(w*20|0)>>2]|0;a[y+(w*20|0)+4>>2]=t;if(W){a[y+(w*20|0)+8>>2]=f;f=f+(s<<2)|0}if(L){a[y+(w*20|0)+12>>2]=l;l=l+(s<<2)|0}w=w+1|0;t=t+(s<<2)|0}}}while(0);a[i>>2]=u;if(!n)L2(z);else a[n>>2]=z;kJ(Y);return y|0}function hp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=a[e>>2]&3;r=a[(a[(a[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;e=a[(a[(a[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(r|0)>(e|0);return oJ(A,f?e:r,f?r:e,i)|0}function dp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=0;while(1){if((n|0)>=(e|0)){n=0;break}l=a[(a[f+(n<<2)>>2]|0)+16>>2]|0;r[l+157>>0]=0;r[l+158>>0]=0;n=n+1|0}while(1){if((n|0)>=(e|0))break;if(!(r[(a[(a[f+(n<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Bp(A,n,i,f);n=n+1|0}return}function Bp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,k=0.0,o=0,h=0;h=(a[f+(e<<2)>>2]|0)+16|0;s=a[h>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=A+(e*20|0)|0;w=A+(e*20|0)+16|0;u=A+(e*20|0)+4|0;k=(i|0)==3?-1.0:1.0;b=1;A:while(1){if((b|0)>=(a[s>>2]|0)){n=14;break}n=(a[w>>2]|0)+(b<<2)|0;do{if(!(+c[n>>2]==1.0)){o=a[(a[u>>2]|0)+(b<<2)>>2]|0;l=a[(a[f+(o<<2)>>2]|0)+16>>2]|0;if(!(r[l+158>>0]|0)){if(r[l+157>>0]|0)break;Bp(A,o,i,f);break}c[n>>2]=k;l=A+(o*20|0)+4|0;t=a[A+(o*20|0)>>2]|0;n=1;while(1){if((n|0)>=(t|0)){n=9;break A}if((a[(a[l>>2]|0)+(n<<2)>>2]|0)==(e|0))break;n=n+1|0}c[(a[A+(o*20|0)+16>>2]|0)+(n<<2)>>2]=-1.0}}while(0);b=b+1|0}if((n|0)==9)vA(89144,89118,721,89164);else if((n|0)==14){r[(a[h>>2]|0)+158>>0]=0;return}}function vp(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;A=kR(A,Yo(A,0,89305,0)|0,2,0)|0;if((A|0)==0|(A|0)>2){a[e>>2]=89305;ao(0,89314,e)|0;A=2}k=i;return A|0}function gp(A){A=A|0;var e=0,i=0,r=0;i=vh(A)|0;a[46796]=Yo(A,1,102623,0)|0;r=Yo(A,1,90660,0)|0;e=cd(A)|0;while(1){if(!e)break;RH(e);HH(a[46796]|0,r,e,i)|0;e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;Ep(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function Ep(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,1.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function Cp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A=qF(64)|0;i=A+8|0;r=e+8|0;n=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));e=a[e+56>>2]|0;a[A+56>>2]=e;f[(a[e+16>>2]|0)+168>>1]=1;return A|0}function Ip(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Zp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if(A>>>0<=r>>>0)if(A>>>0>=r>>>0){r=a[e+24>>2]|0;A=a[i+24>>2]|0;if(r>>>0<=A>>>0)if(r>>>0>=A>>>0){A=~~(+b[e+8>>3]-+b[i+8>>3]);if(!A){A=~~(+b[e+16>>3]-+b[i+16>>3]);if(!A){A=~~(+b[e+32>>3]-+b[i+32>>3]);if(!A)A=~~(+b[e+40>>3]-+b[i+40>>3])}}}else A=-1;else A=1}else A=-1;else A=1;return A|0}function Gp(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0.0;b=k;k=k+16|0;n=b;l=e+16|0;t=f[(a[l>>2]|0)+168>>1]|0;c=t<<16>>16;if(t<<16>>16!=1&(r[194954]|0)==0){t=$F(c<<2)|0;n=0;while(1){if((n|0)>=(c|0))break;a[t+(n<<2)>>2]=e;e=a[(a[e+16>>2]|0)+172>>2]|0;n=n+1|0}s=+(i|0);LX(A,t,0,c,s,s,17792);e=0;while(1){if((e|0)>=(c|0))break;n=a[t+(e<<2)>>2]|0;l=n+16|0;if(a[(a[l>>2]|0)+96>>2]|0){i=Id(a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;pR(i,a[(a[l>>2]|0)+96>>2]|0)}FX(n);e=e+1|0}L2(t)}else{a[n>>2]=e;s=+(i|0);LX(A,n,0,1,s,s,17792);if(a[(a[l>>2]|0)+96>>2]|0){c=Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;pR(c,a[(a[l>>2]|0)+96>>2]|0)}FX(e)}k=b;return}function Qp(A){A=A|0;return 0}function mp(A){A=A|0;return 0}function Lp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+384|0;R=p+368|0;H=p+112|0;l=p+32|0;d=p+336|0;V=p+320|0;J=p+304|0;N=p+288|0;X=p+272|0;n=p+256|0;y=p+240|0;Y=p+224|0;F=p+208|0;v=p+192|0;g=p+176|0;E=p+160|0;G=p+144|0;Q=p+128|0;m=p+96|0;L=p+16|0;W=p;A:do{switch(sN(A)|0){case 3:case 1:{f=qF(8)|0;G=A+16|0;A=a[G>>2]|0;n=a[A+12>>2]|0;do{if(!(i<<24>>24)){A=a[n+8>>2]|0;if((A|0)>2){Z=0.0;l=a[n+44>>2]|0;i=0;o=+c[e>>2];h=+c[e+4>>2];break}else{Z=+c8()*.01;A=8;l=0;i=1;o=0.0;h=0.0;break}}else if(!(a[n+40>>2]&2048)){h=+b[A+88>>3];o=-h;Z=+b[A+80>>3];I=Z*-.5;b[l>>3]=o;b[l+8>>3]=I;b[l+16>>3]=h;b[l+24>>3]=I;Z=Z*.5;b[l+32>>3]=h;b[l+40>>3]=Z;b[l+48>>3]=o;b[l+56>>3]=Z;Z=0.0;A=4;i=0;o=0.0;h=0.0;break}else{HR(d,n);o=+b[d>>3];I=+b[d+8>>3];h=+b[d+16>>3];Z=+b[d+24>>3];b[l>>3]=o;b[l+8>>3]=I;b[l+16>>3]=h;b[l+24>>3]=I;b[l+32>>3]=h;b[l+40>>3]=Z;b[l+48>>3]=o;b[l+56>>3]=Z;Z=0.0;A=4;i=0;o=0.0;h=0.0;break}}while(0);a[f+4>>2]=A;d=qF(A<<4)|0;a[f>>2]=d;B=1.0/+(A|0);v=e+8|0;g=e+4|0;E=(A|0)==4;C=-o;I=-h;n=0;while(1){if((A|0)<=(n|0))break A;do{if(i){t=+(n|0)*6.283185307179586*B+Z;s=+D(+t);t=+M(+t);if(!(r[v>>0]|0)){H=a[G>>2]|0;w=t*+c[g>>2]*+b[H+80>>3];t=s*+c[e>>2]*(+b[H+96>>3]+ +b[H+88>>3])}else{H=a[G>>2]|0;w=(+b[H+80>>3]+ +c[g>>2])*t;t=(+b[H+96>>3]+ +b[H+88>>3]+ +c[e>>2])*s}u=t*.5;t=w*.5}else{if(!(r[v>>0]|0)){u=+b[l+(n<<4)>>3]*o;t=+b[l+(n<<4)+8>>3]*h;break}if(!E){u=+b[l+(n<<4)>>3];t=+b[l+(n<<4)+8>>3];w=+z(+(t*t+u*u));u=(o/w+1.0)*u;t=(h/w+1.0)*t;break}switch(n|0){case 0:{s=h;t=o;break}case 1:{s=h;t=C;break}case 2:{s=I;t=C;break}case 3:{s=I;t=o;break}default:{s=0.0;t=0.0}}u=+b[l+(n<<4)>>3]+t;t=+b[l+(n<<4)+8>>3]+s}}while(0);R=a[G>>2]|0;H=A-n+-1|0;b[d+(H<<4)>>3]=+b[R+16>>3]+u;b[d+(H<<4)+8>>3]=+b[R+24>>3]+t;n=n+1|0}}case 2:{W=A+16|0;f=a[(a[W>>2]|0)+12>>2]|0;t=+b[f+16>>3];u=+b[f+24>>3];s=+b[f+32>>3];w=+b[f+40>>3];f=qF(8)|0;a[f+4>>2]=4;A=qF(64)|0;a[f>>2]=A;W=(a[W>>2]|0)+16|0;a[H>>2]=a[W>>2];a[H+4>>2]=a[W+4>>2];a[H+8>>2]=a[W+8>>2];a[H+12>>2]=a[W+12>>2];if(!(r[e+8>>0]|0)){a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(n,t,u,R,e);a[A>>2]=a[n>>2];a[A+4>>2]=a[n+4>>2];a[A+8>>2]=a[n+8>>2];a[A+12>>2]=a[n+12>>2];X=(a[f>>2]|0)+16|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(y,t,w,R,e);a[X>>2]=a[y>>2];a[X+4>>2]=a[y+4>>2];a[X+8>>2]=a[y+8>>2];a[X+12>>2]=a[y+12>>2];X=(a[f>>2]|0)+32|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(Y,s,w,R,e);a[X>>2]=a[Y>>2];a[X+4>>2]=a[Y+4>>2];a[X+8>>2]=a[Y+8>>2];a[X+12>>2]=a[Y+12>>2];X=(a[f>>2]|0)+48|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(F,s,u,R,e);a[X>>2]=a[F>>2];a[X+4>>2]=a[F+4>>2];a[X+8>>2]=a[F+8>>2];a[X+12>>2]=a[F+12>>2];break A}else{Z=t-+c[e>>2];F=e+4|0;I=u-+c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(V,Z,I,R);a[A>>2]=a[V>>2];a[A+4>>2]=a[V+4>>2];a[A+8>>2]=a[V+8>>2];a[A+12>>2]=a[V+12>>2];V=(a[f>>2]|0)+16|0;I=t-+c[e>>2];Z=w+ +c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(J,I,Z,R);a[V>>2]=a[J>>2];a[V+4>>2]=a[J+4>>2];a[V+8>>2]=a[J+8>>2];a[V+12>>2]=a[J+12>>2];J=(a[f>>2]|0)+32|0;Z=s+ +c[e>>2];I=w+ +c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(N,Z,I,R);a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];N=(a[f>>2]|0)+48|0;I=s+ +c[e>>2];Z=u-+c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(X,I,Z,R);a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];break A}}case 4:{A=A+16|0;f=qF(8)|0;a[f+4>>2]=4;n=qF(64)|0;a[f>>2]=n;l=a[A>>2]|0;X=l+16|0;a[H>>2]=a[X>>2];a[H+4>>2]=a[X+4>>2];a[H+8>>2]=a[X+8>>2];a[H+12>>2]=a[X+12>>2];t=-+b[l+88>>3];if(!(r[e+8>>0]|0)){I=-+b[l+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(Q,t,I,R,e);a[n>>2]=a[Q>>2];a[n+4>>2]=a[Q+4>>2];a[n+8>>2]=a[Q+8>>2];a[n+12>>2]=a[Q+12>>2];X=(a[f>>2]|0)+16|0;N=a[A>>2]|0;I=-+b[N+88>>3];Z=+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(m,I,Z,R,e);a[X>>2]=a[m>>2];a[X+4>>2]=a[m+4>>2];a[X+8>>2]=a[m+8>>2];a[X+12>>2]=a[m+12>>2];X=(a[f>>2]|0)+32|0;N=a[A>>2]|0;Z=+b[N+96>>3];I=+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(L,Z,I,R,e);a[X>>2]=a[L>>2];a[X+4>>2]=a[L+4>>2];a[X+8>>2]=a[L+8>>2];a[X+12>>2]=a[L+12>>2];X=(a[f>>2]|0)+48|0;N=a[A>>2]|0;I=+b[N+96>>3];Z=-+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(W,I,Z,R,e);a[X>>2]=a[W>>2];a[X+4>>2]=a[W+4>>2];a[X+8>>2]=a[W+8>>2];a[X+12>>2]=a[W+12>>2];break A}else{Z=t-+c[e>>2];N=e+4|0;I=-+b[l+80>>3]-+c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(v,Z,I,R);a[n>>2]=a[v>>2];a[n+4>>2]=a[v+4>>2];a[n+8>>2]=a[v+8>>2];a[n+12>>2]=a[v+12>>2];X=(a[f>>2]|0)+16|0;J=a[A>>2]|0;I=-+b[J+88>>3]-+c[e>>2];Z=+b[J+80>>3]+ +c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(g,I,Z,R);a[X>>2]=a[g>>2];a[X+4>>2]=a[g+4>>2];a[X+8>>2]=a[g+8>>2];a[X+12>>2]=a[g+12>>2];X=(a[f>>2]|0)+32|0;J=a[A>>2]|0;Z=+b[J+96>>3]+ +c[e>>2];I=+b[J+80>>3]+ +c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(E,Z,I,R);a[X>>2]=a[E>>2];a[X+4>>2]=a[E+4>>2];a[X+8>>2]=a[E+8>>2];a[X+12>>2]=a[E+12>>2];X=(a[f>>2]|0)+48|0;J=a[A>>2]|0;I=+b[J+96>>3]+ +c[e>>2];Z=-+b[J+80>>3]-+c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(G,I,Z,R);a[X>>2]=a[G>>2];a[X+4>>2]=a[G+4>>2];a[X+8>>2]=a[G+8>>2];a[X+12>>2]=a[G+12>>2];break A}}default:f=0}}while(0);k=p;return f|0}function Wp(A,e,i,r){A=A|0;e=+e;i=+i;r=r|0;i=+b[r+8>>3]+i;b[A>>3]=+b[r>>3]+e;b[A+8>>3]=i;return}function yp(A,e,i,r,f){A=A|0;e=+e;i=+i;r=r|0;f=f|0;i=+c[f+4>>2]*i+ +b[r+8>>3];b[A>>3]=+c[f>>2]*e+ +b[r>>3];b[A+8>>3]=i;return}function zp(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;u=k;k=k+112|0;c=u+88|0;t=u+72|0;b=u+32|0;s=u+16|0;w=u;f=u+56|0;n=u+40|0;l=e+48|0;d=(a[(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)+16>>2]|0)+16|0;o=e+16|0;h=(a[o>>2]|0)+16|0;a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];a[c>>2]=a[h>>2];a[c+4>>2]=a[h+4>>2];a[c+8>>2]=a[h+8>>2];a[c+12>>2]=a[h+12>>2];Yp(f,t,c);a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];f=e+-48|0;h=(a[(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+16|0;o=(a[o>>2]|0)+56|0;a[t>>2]=a[h>>2];a[t+4>>2]=a[h+4>>2];a[t+8>>2]=a[h+8>>2];a[t+12>>2]=a[h+12>>2];a[c>>2]=a[o>>2];a[c+4>>2]=a[o+4>>2];a[c+8>>2]=a[o+8>>2];a[c+12>>2]=a[o+12>>2];Yp(n,t,c);a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];if(!r){n=-1111;f=-1111}else{d=a[e>>2]&3;n=a[(a[(a[((d|0)==2?e:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=a[(a[(a[((d|0)==3?e:l)+40>>2]|0)+16>>2]|0)+288>>2]|0}a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];Yt(i,t,f,c,n,b)|0;o=b;h=a[o+4>>2]|0;d=A;a[d>>2]=a[o>>2];a[d+4>>2]=h;k=u;return}function Yp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function Dp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;g=k;k=k+144|0;o=g+104|0;h=g+88|0;u=g+80|0;w=g+72|0;c=g+64|0;B=g+128|0;b=g+32|0;s=g+124|0;v=g+16|0;d=g;t=g+120|0;l=(a[e+16>>2]|0)+144|0;n=a[l>>2]|0;l=a[l+4>>2]|0;E=c;a[E>>2]=n;a[E+4>>2]=l;E=n;a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];l=n+(l+-1<<4)|0;a[d>>2]=a[l>>2];a[d+4>>2]=a[l+4>>2];a[d+8>>2]=a[l+8>>2];a[d+12>>2]=a[l+12>>2];A:do{if(!(f<<24>>24)){n=-1111;f=-1111}else{n=-1111;f=-1111;l=0;while(1){if((l|0)>=(r|0))break A;if((f|0)==-1111){f=a[i+(l<<2)>>2]|0;a[h>>2]=a[f>>2];a[h+4>>2]=a[f+4>>2];a[o>>2]=a[v>>2];a[o+4>>2]=a[v+4>>2];a[o+8>>2]=a[v+8>>2];a[o+12>>2]=a[v+12>>2];f=(Dt(h,o)|0)==0;f=f?-1111:l}if((n|0)==-1111){n=a[i+(l<<2)>>2]|0;a[h>>2]=a[n>>2];a[h+4>>2]=a[n+4>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];n=(Dt(h,o)|0)==0;n=n?-1111:l}l=l+1|0}}}while(0);Mp(i,r,f,n,t,s);a[b>>2]=0;a[b+4>>2]=0;a[b+8>>2]=0;a[b+12>>2]=0;a[b+16>>2]=0;a[b+20>>2]=0;a[b+24>>2]=0;a[b+28>>2]=0;l=a[t>>2]|0;E=a[s>>2]|0;a[o>>2]=a[c>>2];a[o+4>>2]=a[c+4>>2];if((Mt(l,E,o,b,B)|0)<0){v=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;E=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[w>>2]=v;a[w+4>>2]=E;ao(1,89657,w)|0}else{if(0>1){n=a[15712]|0;w=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;f=e+-48|0;E=Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0;a[u>>2]=w;a[u+4>>2]=E;f3(n,89705,u)|0;n=e}else{f=e+-48|0;n=e}gX(e,a[((a[n>>2]&3|0)==2?e:f)+40>>2]|0,a[B>>2]|0,a[B+4>>2]|0,17792);L2(l);a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];HX(A,e,h,o)}k=g;return}function Mp(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;t=0;l=0;while(1){if((t|0)>=(e|0))break;if(!((t|0)==(i|0)|(t|0)==(r|0)))l=(a[(a[A+(t<<2)>>2]|0)+4>>2]|0)+l|0;t=t+1|0}k=$F(l<<5)|0;t=0;u=0;while(1){if((u|0)>=(e|0))break;A:do{if(!((u|0)==(i|0)|(u|0)==(r|0))){w=A+(u<<2)|0;s=0;while(1){c=a[w>>2]|0;b=a[c+4>>2]|0;if((s|0)>=(b|0))break A;o=s+1|0;h=k+(t<<5)|0;c=(a[c>>2]|0)+(s<<4)|0;a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];c=k+(t<<5)+16|0;b=(a[a[w>>2]>>2]|0)+(((o|0)<(b|0)?o:0)<<4)|0;a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];s=o;t=t+1|0}}}while(0);u=u+1|0}if((t|0)==(l|0)){a[f>>2]=k;a[n>>2]=l;return}else vA(89719,89726,77,89741)}function Fp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;w=k;k=k+32|0;b=w+12|0;r=w;iS(r,A);a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];r=cd(A)|0;while(1){if(!r)break;n=Oo(A,r)|0;while(1){if(!n)break;kX(n);n=_o(A,n)|0}r=bd(A,r)|0}l=jk(17756,a[4581]|0)|0;r=cd(A)|0;while(1){if(!r)break;n=Oo(A,r)|0;while(1){if(!n)break;if((a[47134]|0)>1?(t=a[n+16>>2]|0,(a[t+8>>2]|0)!=0):0){u=t+168|0;f[u>>1]=(f[u>>1]|0)+1<<16>>16}else s=14;if((s|0)==14?(s=0,c=Vp(l,n)|0,(c|0)!=(n|0)):0){u=a[c+16>>2]|0;o=u+168|0;f[o>>1]=(f[o>>1]|0)+1<<16>>16;u=u+172|0;a[(a[n+16>>2]|0)+172>>2]=a[u>>2];a[u>>2]=n}n=_o(A,n)|0}r=bd(A,r)|0}pk(l)|0;if(!(W5[e&63](A,b,i)|0)){a[47138]=1;r=0}else r=1;k=w;return r|0}function Vp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0;h=k;k=k+64|0;o=h;r=a[e>>2]&3;l=a[((r|0)==3?e:e+48|0)+40>>2]|0;r=a[((r|0)==2?e:e+-48|0)+40>>2]|0;do{if(l>>>0>=r>>>0){i=e+16|0;if(l>>>0>r>>>0){i=a[i>>2]|0;u=r;r=l;c=+b[i+16>>3];s=+b[i+24>>3];n=+b[i+56>>3];f=+b[i+64>>3];break}u=a[i>>2]|0;t=+b[u+56>>3];w=+b[u+64>>3];n=+b[u+16>>3];f=+b[u+24>>3];if(!(nt)){i=f>w;if(f>2]|0;u=l;c=+b[i+56>>3];s=+b[i+64>>3];n=+b[i+16>>3];f=+b[i+24>>3]}}while(0);a[o+8>>2]=u;b[o+16>>3]=n;b[o+24>>3]=f;a[o+32>>2]=r;b[o+40>>3]=c;b[o+48>>3]=s;a[o+56>>2]=e;o=a[(W5[a[A>>2]&63](A,o,1)|0)+56>>2]|0;k=h;return o|0}function Jp(A,e){A=A|0;e=e|0;return Fp(A,21,e)|0}function Np(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0;z=k;k=k+112|0;m=z+88|0;Q=z+72|0;v=z+40|0;h=z+8|0;o=z;g=z+64|0;L=z+48|0;W=z+24|0;n=(a[47134]|0)>1&1;do{if((i|0)>5){B=qF((vh(A)|0)<<2)|0;u=(i|0)==8;w=u&1;s=cd(A)|0;d=0;while(1){if(!s)break;l=Lp(s,e,w)|0;t=(a[s+16>>2]|0)+288|0;if(!l){a[t>>2]=-1111;l=d}else{a[t>>2]=d;a[B+(d<<2)>>2]=l;l=d+1|0}s=bd(A,s)|0;d=l}if(B){l=qP(B,d)|0;if(l|0){if(u){Z=0;G=B;I=B;C=1;break}Z=Wt(B,d)|0;G=B;I=B;C=1;break}if(u){ao(0,89755,o)|0;l=0;Z=0;G=B;I=B;C=1;break}else{Y=+c[e+4>>2];b[h>>3]=+c[e>>2];b[h+8>>3]=Y;ao(0,89833,h)|0;l=0;Z=0;G=B;I=B;C=1;break}}else{l=0;Z=0;G=0;I=0;C=0}}else{l=0;Z=0;G=0;d=0;I=0;C=0}}while(0);if(0){t=a[15712]|0;if((i|0)==8&(l|0)!=0)s=89939;else s=(Z|0)==0?89925:(i|0)==10?110056:89915;a[v>>2]=s;f3(t,89956,v)|0}E=(Z|0)!=0;A:do{if(!E){if((i|0)==8&(l|0)!=0){ce(A,0);n=1}}else{t=cd(A)|0;while(1){if(!t)break A;l=Oo(A,t)|0;while(1){if(!l)break;v=(a[l+16>>2]|0)+144|0;zp(g,l,Z,1,0,0);h=g;B=a[h+4>>2]|0;a[v>>2]=a[h>>2];a[v+4>>2]=B;l=_o(A,l)|0}t=bd(A,t)|0}}}while(0);o=(n|0)==0;h=A+60|0;B=(i|0)==10;n=0;u=cd(A)|0;l=0;while(1){if(!u)break;v=u+16|0;e=Oo(A,u)|0;while(1){if(!e)break;w=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;t=e+16|0;s=a[t>>2]|0;if(!o?(a[s+8>>2]|0)!=0:0){D=(a[v>>2]|0)+16|0;g=s+16|0;a[Q>>2]=a[D>>2];a[Q+4>>2]=a[D+4>>2];a[Q+8>>2]=a[D+8>>2];a[Q+12>>2]=a[D+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];Yp(L,Q,m);w=(a[w+16>>2]|0)+16|0;g=(a[t>>2]|0)+56|0;a[Q>>2]=a[w>>2];a[Q+4>>2]=a[w+4>>2];a[Q+8>>2]=a[w+8>>2];a[Q+12>>2]=a[w+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];Yp(W,Q,m);a[Q>>2]=a[L>>2];a[Q+4>>2]=a[L+4>>2];a[Q+8>>2]=a[L+8>>2];a[Q+12>>2]=a[L+12>>2];a[m>>2]=a[W>>2];a[m+4>>2]=a[W+4>>2];a[m+8>>2]=a[W+8>>2];a[m+12>>2]=a[W+12>>2];HX(A,e,Q,m)}else y=35;A:do{if((y|0)==35){y=0;D=f[s+168>>1]|0;t=D<<16>>16;if(D<<16>>16){if((u|0)==(w|0)){if(!n){l=qF(96)|0;a[l+84>>2]=qF(((vh(A)|0)<<5)+11520|0)|0;n=l}Gp(n,e,a[(a[(a[h>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!E){rN(A,e,i,17792);break}t=r[194954]|0?1:t;s=e;w=0;while(1){if((w|0)>=(t|0))break A;if(B)Dp(A,s,G,d,1);else Xp(A,s);s=a[(a[s+16>>2]|0)+172>>2]|0;w=w+1|0}}}}while(0);e=_o(A,e)|0}u=bd(A,u)|0}if(E)zt(Z);if(n|0){L2(a[n+84>>2]|0);L2(l)}if(C){n=0;while(1){if((n|0)>=(d|0))break;L2(a[G+(n<<2)>>2]|0);n=n+1|0}L2(I)}k=z;return 0}function Xp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;b=k;k=k+96|0;n=b+64|0;f=b+48|0;i=b+40|0;l=b+80|0;r=b+32|0;t=b+16|0;c=b;s=(a[e+16>>2]|0)+144|0;w=a[s>>2]|0;s=a[s+4>>2]|0;u=r;a[u>>2]=w;a[u+4>>2]=s;u=w;a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];s=w+(s+-1<<4)|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];Gc(n,l);if(0>1){u=a[15712]|0;s=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;r=e+-48|0;w=Vh(a[((a[e>>2]&3|0)==2?e:r)+40>>2]|0)|0;a[i>>2]=s;a[i+4>>2]=w;f3(u,89981,i)|0;i=r;r=e}else{i=e+-48|0;r=e}gX(e,a[((a[r>>2]&3|0)==2?e:i)+40>>2]|0,a[l>>2]|0,a[l+4>>2]|0,17792);a[f>>2]=a[t>>2];a[f+4>>2]=a[t+4>>2];a[f+8>>2]=a[t+8>>2];a[f+12>>2]=a[t+12>>2];a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];HX(A,e,f,n);k=b;return}function Rp(A,e){A=A|0;e=e|0;var i=0;i=f[(a[A+16>>2]|0)+136>>1]&14;if(e<<24>>24)Hp(A)|0;if(i<<16>>16)Jp(A,i&65535)|0;return}function Hp(A){A=A|0;var e=0,i=0,r=0,f=0;i=pp(A)|0;e=cd(A)|0;while(1){if(!e)break;r=a[e+16>>2]|0;f=a[r+132>>2]|0;b[r+16>>3]=+b[f>>3]*72.0;b[r+24>>3]=+b[f+8>>3]*72.0;e=bd(A,e)|0}return i|0}function pp(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0,l=0.0,t=0,c=0;A:do{if((a[A+60>>2]|0)==(A|0)?(i=A+16|0,r=a[i>>2]|0,(a[(a[r+8>>2]|0)+84>>2]|0)!=0):0){if(!(+b[r+16>>3]!=0.0)?!(+b[r+24>>3]!=0.0):0)e=0;else{Up(A);e=1;r=a[i>>2]|0}t=(a[r+116>>2]&1|0)==0;if(!t){c=r+32|0;l=+b[c>>3];i=r+40|0;b[c>>3]=+b[i>>3];b[i>>3]=l}i=a[r+8>>2]|0;e:do{switch(a[i+84>>2]|0){case 2:{f=+b[i+64>>3];if(f<=0.0)break A;n=f/+b[r+32>>3];f=+b[i+72>>3]/+b[r+40>>3];if(n<1.0|f<1.0)if(n>3];if(f<=0.0)break A;n=f/+b[r+32>>3];f=+b[i+72>>3]/+b[r+40>>3];if(!(n>1.0&f>1.0))break A;f=n>3];f=+b[r+40>>3]/+b[r+32>>3];if(f1){i=cd(A)|0;while(1){if(!i)break e;e=Oo(A,i)|0;while(1){if(!e)break;if(a[(a[e+16>>2]|0)+8>>2]|0)xp(e,f,n);e=_o(A,e)|0}i=bd(A,i)|0}}}while(0);e=cd(A)|0;while(1){if(!e)break;c=a[(a[e+16>>2]|0)+132>>2]|0;b[c>>3]=+b[c>>3]*f;c=c+8|0;b[c>>3]=+b[c>>3]*n;e=bd(A,e)|0}Tp(A,f,n);e=1}else e=0}while(0);return e|0}function Up(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w+16|0;s=w;e=(a[A+16>>2]|0)+16|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];f=+b[s>>3];n=f*.013888888888888888;l=+b[s+8>>3];t=l*.013888888888888888;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;u=a[i+132>>2]|0;b[u>>3]=+b[u>>3]-n;u=u+8|0;b[u>>3]=+b[u>>3]-t;i=a[i+108>>2]|0;if(i|0?r[i+81>>0]|0:0){u=i+56|0;b[u>>3]=+b[u>>3]-f;u=i+64|0;b[u>>3]=+b[u>>3]-l}e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;if(a[(a[e+16>>2]|0)+8>>2]|0){a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];jp(e,c)}e=_o(A,e)|0}i=bd(A,i)|0}a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];Sp(A,c);k=w;return}function xp(A,e,i){A=A|0;e=+e;i=+i;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0;o=a[A>>2]&3;l=a[(a[(a[((o|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;B=(e+-1.0)*72.0;h=B*+b[l>>3];v=(i+-1.0)*72.0;d=v*+b[l+8>>3];o=a[(a[(a[((o|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;B=B*+b[o>>3];v=v*+b[o+8>>3];o=a[A+16>>2]|0;l=a[o+8>>2]|0;t=a[l+4>>2]|0;c=t+-1|0;A=0;l=a[l>>2]|0;while(1){if((A|0)>=(t|0))break;s=a[l+4>>2]|0;w=s+-1|0;u=(A|0)==(c|0);f=0;n=a[l>>2]|0;while(1){if((f|0)>=(s|0))break;do{if(f|A){k=+b[n>>3];if((f|0)==(w|0)&u){b[n>>3]=k+h;g=n+8|0;b[g>>3]=+b[g>>3]+d;break}else{b[n>>3]=k*e;g=n+8|0;b[g>>3]=+b[g>>3]*i;break}}else{b[n>>3]=+b[n>>3]+B;g=n+8|0;b[g>>3]=+b[g>>3]+v}}while(0);f=f+1|0;n=n+16|0}if(a[l+8>>2]|0){g=l+16|0;b[g>>3]=+b[g>>3]+B;g=l+24|0;b[g>>3]=+b[g>>3]+v}if(a[l+12>>2]|0){g=l+32|0;b[g>>3]=+b[g>>3]+h;g=l+40|0;b[g>>3]=+b[g>>3]+d}A=A+1|0;l=l+48|0}A=a[o+96>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]*e;g=A+64|0;b[g>>3]=+b[g>>3]*i}A=a[o+100>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]+h;g=A+64|0;b[g>>3]=+b[g>>3]+d}A=a[o+104>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]+B;g=A+64|0;b[g>>3]=+b[g>>3]+v}return}function Tp(A,e,i){A=A|0;e=+e;i=+i;var f=0,n=0,l=0;l=A+16|0;n=a[l>>2]|0;A=n+32|0;b[A>>3]=+b[A>>3]*e;A=n+40|0;b[A>>3]=+b[A>>3]*i;A=n+16|0;b[A>>3]=+b[A>>3]*e;A=n+24|0;b[A>>3]=+b[A>>3]*i;A=a[n+12>>2]|0;if((A|0)!=0?(r[A+81>>0]|0)!=0:0){f=A+56|0;b[f>>3]=+b[f>>3]*e;f=A+64|0;b[f>>3]=+b[f>>3]*i;f=1;A=n}else{f=1;A=n}while(1){if((f|0)>(a[A+180>>2]|0))break;Tp(a[(a[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=a[l>>2]|0}return}function jp(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;c=a[A+16>>2]|0;A=a[c+8>>2]|0;t=a[A+4>>2]|0;s=e+8|0;A=a[A>>2]|0;n=0;while(1){if((n|0)>=(t|0))break;l=a[A+4>>2]|0;i=a[A>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;b[i>>3]=+b[i>>3]-+b[e>>3];w=i+8|0;b[w>>3]=+b[w>>3]-+b[s>>3];i=i+16|0;f=f+1|0}if(a[A+8>>2]|0){w=A+16|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+24|0;b[w>>3]=+b[w>>3]-+b[s>>3]}if(a[A+12>>2]|0){w=A+32|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+40|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=A+48|0;n=n+1|0}A=a[c+96>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+108>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+100>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+104>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}return}function Sp(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0;c=k;k=k+16|0;t=c;n=+b[e>>3];l=A+16|0;A=a[l>>2]|0;i=A+32|0;b[i>>3]=+b[i>>3]-n;f=+b[e+8>>3];i=A+40|0;b[i>>3]=+b[i>>3]-f;i=A+16|0;b[i>>3]=+b[i>>3]-n;i=A+24|0;b[i>>3]=+b[i>>3]-f;i=a[A+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){s=i+56|0;b[s>>3]=+b[s>>3]-n;i=i+64|0;b[i>>3]=+b[i>>3]-f;i=1}else i=1;while(1){if((i|0)>(a[A+180>>2]|0))break;s=a[(a[A+184>>2]|0)+(i<<2)>>2]|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];Sp(s,t);i=i+1|0;A=a[l>>2]|0}k=c;return}function Pp(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0,l=0,t=0;l=k;k=k+16|0;i=l;xR(A);r=A+16|0;e=a[r>>2]|0;f=+b[e+16>>3]*.013888888888888888;n=+b[e+24>>3]*.013888888888888888;e=cd(A)|0;while(1){if(!e)break;t=a[(a[e+16>>2]|0)+132>>2]|0;b[t>>3]=+b[t>>3]-f;t=t+8|0;b[t>>3]=+b[t>>3]-n;e=bd(A,e)|0}t=(a[r>>2]|0)+16|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];Op(A,i);Rp(A,1);k=l;return}function Op(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0.0,t=0.0;n=k;k=k+16|0;f=n;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[(a[r+184>>2]|0)+(A<<2)>>2]|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Op(r,f);A=A+1|0}t=+b[e>>3];f=r+32|0;b[f>>3]=+b[f>>3]-t;l=+b[e+8>>3];e=r+40|0;b[e>>3]=+b[e>>3]-l;e=r+16|0;b[e>>3]=+b[e>>3]-t;e=r+24|0;b[e>>3]=+b[e>>3]-l;k=n;return}function Kp(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0;o=(i|0)>2;u=0;k=0;t=a[f+4>>2]|0;A=a[f>>2]|0;while(1){if((k|0)>=(e|0)){A=0;break}l=a[(a[n+(k<<2)>>2]|0)+16>>2]|0;s=r[l+119>>0]|0;A:do{if(!(s<<24>>24)){c=A+8|0;b[A>>3]=+c8();l=t+8|0;b[t>>3]=+c8();if(o){A=2;while(1){if((A|0)==(i|0)){t=u;A=c;break A}h=+c8();b[(a[f+(A<<2)>>2]|0)+(k<<3)>>3]=h;A=A+1|0}}else{t=u;A=c}}else{c=a[l+132>>2]|0;w=A+8|0;b[A>>3]=+b[c>>3];l=t+8|0;b[t>>3]=+b[c+8>>3];e:do{if(o){t=2;A=c+16|0;while(1){if((t|0)==(i|0))break e;b[(a[f+(t<<2)>>2]|0)+(k<<3)>>3]=+b[A>>3];t=t+1|0;A=A+8|0}}}while(0);t=(s&255)>1?1:u;A=w}}while(0);u=t;k=k+1|0;t=l}while(1){if((A|0)>=(i|0))break;gO(e,a[f+(A<<2)>>2]|0);A=A+1|0}return u|0}function _p(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0.0,w=0,u=0,k=0,o=0;i=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;u=tU(e,e,0.0)|0;k=tU(e,e,0.0)|0;A:do{if(!(a[A+8>>2]|0)){r=0;while(1){if((r|0)>=(e|0))break A;n=a[A+(r*20|0)>>2]|0;l=A+(r*20|0)+4|0;t=u+(r<<2)|0;f=1;while(1){if((f|0)>=(n|0))break;w=a[(a[l>>2]|0)+(f<<2)>>2]|0;b[(a[u+(w<<2)>>2]|0)+(r<<3)>>3]=-1.0;b[(a[t>>2]|0)+(w<<3)>>3]=-1.0;f=f+1|0}r=r+1|0}}else{r=0;while(1){if((r|0)>=(e|0))break A;n=a[A+(r*20|0)>>2]|0;l=A+(r*20|0)+4|0;t=A+(r*20|0)+8|0;w=u+(r<<2)|0;f=1;while(1){if((f|0)>=(n|0))break;o=a[(a[l>>2]|0)+(f<<2)>>2]|0;s=-1.0/+c[(a[t>>2]|0)+(f<<2)>>2];b[(a[u+(o<<2)>>2]|0)+(r<<3)>>3]=s;b[(a[w>>2]|0)+(o<<3)>>3]=s;f=f+1|0}r=r+1|0}}}while(0);A:do{if(!(cS(e,u,k)|0)){L2(i);i=0}else{f=0;l=0;w=e;while(1){if((l|0)>=(e|0))break A;t=k+(l<<2)|0;r=l;n=f;while(1){if((r|0)==(e|0))break;if((l|0)==(r|0))s=0.0;else{o=a[t>>2]|0;s=+b[(a[k+(r<<2)>>2]|0)+(r<<3)>>3]+ +b[o+(l<<3)>>3]+ +b[o+(r<<3)>>3]*-2.0}c[i+(n<<2)>>2]=s;r=r+1|0;n=n+1|0}f=f+w|0;l=l+1|0;w=w+-1|0}}}while(0);cU(u);cU(k);return i|0}function qp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+16|0;h=d;if(a[A+8>>2]|0){i=$p(A,e)|0;f=0.0;r=0;o=0;while(1){if((o|0)>=(e|0))break;r=r+o|0;u=a[A+(o*20|0)>>2]|0;t=A+(o*20|0)+4|0;s=(U(o,e)|0)-r|0;w=A+(o*20|0)+8|0;l=1;while(1){if((l|0)>=(u|0))break;n=a[(a[t>>2]|0)+(l<<2)>>2]|0;if((n|0)>=(o|0)){n=i+(s+n<<2)|0;B=+c[(a[w>>2]|0)+(l<<2)>>2];f=f+ +y(+(+c[n>>2]-B));c[n>>2]=B}l=l+1|0}o=o+1|0}if(0){e=a[15712]|0;b[h>>3]=f;f3(e,89997,h)|0}}else i=0;k=d;return i|0}function $p(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;l=s;t=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;c=qF(e<<2)|0;lS(l,e);i=0;f=0;b=e;while(1){if((i|0)>=(e|0))break;PS(i,A,e,c);r=i;n=f;while(1){if((r|0)==(e|0))break;a[t+(n<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0;n=n+1|0}i=i+1|0;f=f+b|0;b=b+-1|0}L2(c);tS(l);k=s;return t|0}function AU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0;w=k;k=k+16|0;l=w;t=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;b=qF(e<<2)|0;lS(l,e);i=0;f=0;s=e;while(1){if((i|0)>=(e|0))break;rS(i,A,e,b,l);r=i;n=f;while(1){if((r|0)==(e|0))break;c[t+(n<<2)>>2]=+(a[b+(r<<2)>>2]|0);r=r+1|0;n=n+1|0}i=i+1|0;f=f+s|0;s=s+-1|0}L2(b);tS(l);k=w;return t|0}function eU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0;d=A+8|0;i=a[d>>2]|0;r=0;f=0;while(1){if((f|0)>=(e|0))break;r=(a[A+(f*20|0)>>2]|0)+r|0;f=f+1|0}f=qF(r<<2)|0;h=qF(e<<2)|0;r=0;while(1){if((r|0)>=(e|0))break;a[h+(r<<2)>>2]=0;r=r+1|0}if(!(a[d>>2]|0)){n=0;while(1){if((n|0)>=(e|0))break;a[A+(n*20|0)+8>>2]=f;NP(A,n,h);l=A+(n*20|0)|0;t=a[l>>2]|0;b=A+(n*20|0)+4|0;s=+(t+-1|0);r=1;while(1){if((r|0)>=(t|0))break;o=a[(a[b>>2]|0)+(r<<2)>>2]|0;B=+((a[A+(o*20|0)>>2]|0)+-1|0)+s;c[f+(r<<2)>>2]=B-+((JP(A,n,o,h)|0)<<1|0);r=r+1|0}XP(A,n,h);f=f+(a[l>>2]<<2)|0;n=n+1|0}f=AU(A,e)|0}else{t=0;while(1){if((t|0)>=(e|0))break;NP(A,t,h);b=A+(t*20|0)|0;w=a[b>>2]|0;u=A+(t*20|0)+4|0;k=w+-2|0;o=A+(t*20|0)+8|0;l=1;while(1){if((l|0)>=(w|0))break;r=a[(a[u>>2]|0)+(l<<2)>>2]|0;n=k+(a[A+(r*20|0)>>2]|0)|0;B=+(n-((JP(A,t,r,h)|0)<<1)|0);s=+c[(a[o>>2]|0)+(l<<2)>>2];if(s>2]=s;l=l+1|0}XP(A,t,h);a[o>>2]=f;f=f+(a[b>>2]<<2)|0;t=t+1|0}f=$p(A,e)|0}L2(h);L2(a[d>>2]|0);a[d>>2]=0;A:do{if(i|0){r=0;while(1){if((r|0)>=(e|0))break A;a[A+(r*20|0)+8>>2]=i;i=i+(a[A+(r*20|0)>>2]<<2)|0;r=r+1|0}}}while(0);return f|0}function iU(A,e,i,r,f,l,t,s,w){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;t=t|0;s=s|0;w=w|0;var u=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0,R=0.0;N=k;k=k+80|0;J=N+56|0;V=N+48|0;Q=N+40|0;g=N+32|0;v=N+24|0;B=N+16|0;o=N+8|0;u=N;h=t&4;F=t&3;A:do{if((w|0)<0)i=0;else{if(0)tR();t=(s|0)==2;e:do{if(t){if(0)L3(93290,24,1,a[15712]|0)|0;i=eU(A,e)|0;C=14}else{switch(s|0){case 1:{i=_p(A,e)|0;if(i|0){M=i;break e}ao(0,93315,u)|0;ao(3,93364,o)|0;C=15;break e}case 3:break;default:{C=15;break e}}if(0)L3(93417,21,1,a[15712]|0)|0;i=qp(A,e)|0;C=14}}while(0);if((C|0)==14)if(!i)C=15;else M=i;do{if((C|0)==15){if(0)L3(93439,26,1,a[15712]|0)|0;if(!(a[A+8>>2]|0)){M=AU(A,e)|0;break}else{M=$p(A,e)|0;break}}}while(0);if(0){D=a[15712]|0;b[B>>3]=+cR();f3(D,93466,B)|0;L3(93478,25,1,D)|0;tR()}e:do{if((e|0)>1&(h|0)!=0)if((rU(A,e,r,l,h,F,t&1)|0)<0){g=0;v=0;i=-1;A=0;B=0;h=0;o=0;u=0;s=0;t=0}else{t=0;while(1){if((t|0)>=(l|0)){Z=0;C=35;break e}s=r+(t<<2)|0;d=1.0;i=0;while(1){if((i|0)==(e|0))break;I=+y(+ +b[(a[s>>2]|0)+(i<<3)>>3]);d=I>d?I:d;i=i+1|0}d=1.0/d;i=0;while(1){if((i|0)==(e|0)){i=0;break}D=(a[s>>2]|0)+(i<<3)|0;b[D>>3]=+b[D>>3]*d;i=i+1|0}while(1){if((i|0)==(e|0))break;I=(+c8()+-.5)*1.0e-06;D=(a[s>>2]|0)+(i<<3)|0;b[D>>3]=+b[D>>3]+I;i=i+1|0}gO(e,a[s>>2]|0);t=t+1|0}}else{Z=Kp(0,e,l,r,f)|0;C=35}}while(0);e:do{if((C|0)==35){if(0){D=a[15712]|0;b[v>>3]=+cR();f3(D,93504,v)|0}if((e|0)==1|(w|0)==0){i=0;break A}if(0){D=a[15712]|0;b[g>>3]=+cR();f3(D,93466,g)|0;L3(90019,26,1,D)|0;tR()}B=l<<2;D=qF(B)|0;v=e<<2;A=U(v,l)|0;Y=qF(A)|0;i=0;while(1){if((i|0)>=(l|0))break;s=Y+((U(i,e)|0)<<2)|0;a[D+(i<<2)>>2]=s;u=r+(i<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;c[s+(t<<2)>>2]=+b[(a[u>>2]|0)+(t<<3)>>3];t=t+1|0}i=i+1|0}i:do{if(!F){o=e+-1|0;i=0;d=0.0;u=0;while(1){if((u|0)>=(o|0))break i;h=e-u|0;s=i;t=1;while(1){i=s+1|0;if((t|0)>=(h|0))break;s=i;d=+c[M+(i<<2)>>2]+d;t=t+1|0}u=u+1|0}}else d=+(e|0)*.5*+(e+-1|0)}while(0);m=(U(e+1|0,e)|0)/2|0;L=(F|0)==2;if(L)pO(m,M);UO(m,M);W=e<<3;s=qF(W)|0;Y6(s|0,0,W|0)|0;z=e+-1|0;i=0;u=0;while(1){if((u|0)>=(z|0)){i=e;t=0;u=0;break}o=e-u|0;E=0.0;t=1;while(1){i=i+1|0;if((t|0)>=(o|0))break;I=+c[M+(i<<2)>>2];G=s+(t+u<<3)|0;b[G>>3]=+b[G>>3]-I;E=E+I;t=t+1|0}G=s+(u<<3)|0;b[G>>3]=+b[G>>3]-E;u=u+1|0}while(1){if((t|0)>=(e|0))break;c[M+(u<<2)>>2]=+b[s+(t<<3)>>3];G=i+u|0;i=i+-1|0;t=t+1|0;u=G}G=qF(B)|0;a[G>>2]=qF(A)|0;i=1;while(1){if((i|0)>=(l|0))break;a[G+(i<<2)>>2]=(a[G>>2]|0)+((U(i,e)|0)<<2);i=i+1|0}o=qF(v)|0;u=qF(v)|0;t=qF(m<<2)|0;if(0){C=a[15712]|0;b[Q>>3]=+cR();f3(C,93466,Q)|0;L3(90046,15,1,C)|0;tR()}C=(Z|0)==0;Z=a[15712]|0;i=0;h=0;I=1797693134862315708145274.0e284;while(1){if(!(h<<24>>24==0&(i|0)<(w|0)))break;Y6(s|0,0,W|0)|0;if(L){xO(m,M,t);g=0;A=0}else{g=0;A=0}while(1){if((g|0)>=(z|0)){h=e;B=0;A=0;break}v=e-g+-1|0;RO(v,0.0,u);h=0;while(1){if((h|0)>=(l|0))break;Q=D+(h<<2)|0;RO(v,+c[(a[Q>>2]|0)+(g<<2)>>2],o);FO(v,o,-1.0,(a[Q>>2]|0)+(g<<2)+4|0);pO(v,o);MO(v,o,u,u);h=h+1|0}TO(v,u);h=0;while(1){if((h|0)>=(v|0))break;B=u+(h<<2)|0;E=+c[B>>2];if(E>=3402823466385288598117041.0e14|E<0.0)c[B>>2]=0.0;h=h+1|0}h=A+1|0;A=g+1|0;i:do{if(L){E=0.0;B=0;while(1){if((B|0)>=(v|0))break i;Q=t+(h<<2)|0;X=+c[Q>>2]*+c[u+(B<<2)>>2];c[Q>>2]=X;Q=s+(A+B<<3)|0;b[Q>>3]=+b[Q>>3]-X;E=E+X;h=h+1|0;B=B+1|0}}else{E=0.0;B=0;while(1){if((B|0)>=(v|0))break i;X=+c[u+(B<<2)>>2];c[t+(h<<2)>>2]=X;Q=s+(A+B<<3)|0;b[Q>>3]=+b[Q>>3]-X;E=E+X;h=h+1|0;B=B+1|0}}}while(0);Q=s+(g<<3)|0;b[Q>>3]=+b[Q>>3]-E;g=A;A=h}while(1){if((B|0)>=(e|0)){h=0;break}c[t+(A<<2)>>2]=+b[s+(B<<3)>>3];Q=h+A|0;h=h+-1|0;B=B+1|0;A=Q}while(1){if((h|0)>=(l|0)){E=0.0;h=0;break}YO(t,e,a[D+(h<<2)>>2]|0,a[G+(h<<2)>>2]|0);h=h+1|0}while(1){if((h|0)>=(l|0))break;E=+NO(e,a[D+(h<<2)>>2]|0,a[G+(h<<2)>>2]|0)+E;h=h+1|0}E=E*2.0+d;h=0;while(1){if((h|0)>=(l|0))break;Q=D+(h<<2)|0;YO(M,e,a[Q>>2]|0,o);E=E-+NO(e,a[Q>>2]|0,o);h=h+1|0}R=I-E;X=+b[23294];h=(E=0.0?R:-R)/I=(l|0))break;v=D+(A<<2)|0;B=a[v>>2]|0;i:do{if(C){if((uS(M,B,a[G+(A<<2)>>2]|0,e,.001,e)|0)<0){g=G;v=M;i=-1;A=Y;B=D;h=G;break e}}else{JO(e,B,o);if((uS(M,o,a[G+(A<<2)>>2]|0,e,.001,e)|0)<0){g=G;v=M;i=-1;A=Y;B=D;h=G;break e}else B=0;while(1){if((B|0)>=(e|0))break i;if((n[(a[(a[f+(B<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)a[(a[v>>2]|0)+(B<<2)>>2]=a[o+(B<<2)>>2];B=B+1|0}}}while(0);A=A+1|0}if(((i|0)%5|0|0)==0&0!=0?(b[V>>3]=E,f3(Z,90371,V)|0,((i+5|0)%50|0|0)==0):0)w6(10,Z)|0;i=i+1|0;I=E}if(!0)h=0;else{X=+fU(D,M,l,e,F);R=+cR();b[J>>3]=X;a[J+8>>2]=i;b[J+16>>3]=R;f3(Z,90062,J)|0;h=0}while(1){if((h|0)>=(l|0)){g=G;v=M;A=Y;B=D;h=G;break e}A=D+(h<<2)|0;v=r+(h<<2)|0;B=0;while(1){if((B|0)>=(e|0))break;b[(a[v>>2]|0)+(B<<3)>>3]=+c[(a[A>>2]|0)+(B<<2)>>2];B=B+1|0}h=h+1|0}}}while(0);L2(A);L2(B);L2(v);if(g|0){L2(a[g>>2]|0);L2(h)}L2(o);L2(u);L2(s);L2(t)}}while(0);k=N;return i|0}function rU(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var s=0,w=0,u=0,o=0.0,h=0,d=0,B=0.0,v=0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+32|0;u=p+24|0;H=p+8|0;D=p+4|0;X=p;N=(e|0)<50?e:50;R=$F(N<<2)|0;Y=e<<3;w=$F(U(Y,N)|0)|0;s=0;while(1){if((s|0)>=(N|0))break;a[R+(s<<2)>>2]=w+((U(s,e)|0)<<3);s=s+1|0}W=N<<1;W=(W|0)>50?W:50;W=(W|0)>(e|0)?e:W;a[u>>2]=0;fP(A,e,W,u,t);aP(a[u>>2]|0,e,W);$O(a[u>>2]|0,W,e,R,N);L2(a[a[u>>2]>>2]|0);L2(a[u>>2]|0);W=e<<2;J=$F(W)|0;s=0;while(1){if((s|0)>=(e|0))break;a[J+(s<<2)>>2]=-1;s=s+1|0}lS(H,e);F=a[A+8>>2]|0;M=(t|0)!=0;if(M)xP(A,e);m=$F(W)|0;V=$F(160)|0;w=$F(e*160|0)|0;L=$F(160)|0;s=0;while(1){if((s|0)==40)break;a[L+(s<<2)>>2]=w+((U(s,e)|0)<<2);s=s+1|0}s=(a8()|0)%(e|0)|0;a[J+(s<<2)>>2]=0;a[V>>2]=s;w=a[L>>2]|0;if(M){pS(s,A,e,w);w=0;u=0}else{rS(s,A,e,w,H);w=0;u=0}while(1){if((u|0)>=(e|0)){d=1;break}z=a[(a[L>>2]|0)+(u<<2)>>2]|0;a[m+(u<<2)>>2]=z;Q=(z|0)>(w|0);s=Q?u:s;w=Q?z:w;u=u+1|0}while(1){if((d|0)==40){s=0;break}a[J+(s<<2)>>2]=d;a[V+(d<<2)>>2]=s;v=L+(d<<2)|0;w=a[v>>2]|0;if(M){pS(s,A,e,w);h=0;w=0}else{rS(s,A,e,w,H);h=0;w=0}while(1){if((h|0)>=(e|0))break;u=m+(h<<2)|0;z=a[u>>2]|0;t=a[(a[v>>2]|0)+(h<<2)>>2]|0;t=(z|0)<(t|0)?z:t;a[u>>2]=t;if((t|0)<=(w|0)){if((t|0)==(w|0)?((a8()|0)%(h+1|0)|0|0)==0:0){w=a[u>>2]|0;s=h}}else{w=t;s=h}h=h+1|0}d=d+1|0}while(1){if((s|0)>=(e|0))break;a[m+(s<<2)>>2]=-1;s=s+1|0}C=$F(W)|0;z=$F(e<<4)|0;I=e+-1|0;Z=I<<2;Q=0;u=0;t=0;w=0;G=0;while(1){if((G|0)>=(e|0))break;s=J+(G<<2)|0;A:do{if((a[s>>2]|0)>-1){v=z+(G<<4)+4|0;a[v>>2]=$F(Z)|0;E=$F(Z)|0;a[z+(G<<4)+8>>2]=E;a[z+(G<<4)>>2]=I;r[z+(G<<4)+12>>0]=1;d=L+(a[s>>2]<<2)|0;s=0;while(1){if((s|0)==(G|0)){h=G;break}a[(a[v>>2]|0)+(s<<2)>>2]=s;a[E+(s<<2)>>2]=a[(a[d>>2]|0)+(s<<2)>>2];s=s+1|0}while(1){s=h+1|0;if((h|0)==(I|0)){s=I;break A}a[(a[v>>2]|0)+(h<<2)>>2]=s;a[E+(h<<2)>>2]=a[(a[d>>2]|0)+(s<<2)>>2];h=s}}else{if((w|0)<40){t=$F(W)|0;u=$F(W)|0;w=e;s=1}else s=0;r[z+(G<<4)+12>>0]=s;a[z+(G<<4)+4>>2]=t;a[z+(G<<4)+8>>2]=u;a[z+(G<<4)>>2]=40;s=0;while(1){if((s|0)==40)break;a[t+(s<<2)>>2]=a[V+(s<<2)>>2];a[u+(s<<2)>>2]=a[(a[L+(s<<2)>>2]|0)+(G<<2)>>2];s=s+1|0}u=u+160|0;t=t+160|0;w=w+-40|0;s=40}}while(0);Q=s+Q|0;G=G+1|0}L2(m);L2(C);if(L|0){L2(a[L>>2]|0);L2(L)}L=$F(e*20|0)|0;h=Q+e<<2;d=$F(h)|0;E=(l|0)==2;h=$F(h)|0;v=0;while(1){if((v|0)>=(e|0))break;a[L+(v*20|0)+4>>2]=d;a[L+(v*20|0)+8>>2]=h;s=(a[z+(v<<4)>>2]|0)+1|0;C=L+(v*20|0)|0;a[C>>2]=s;u=(a[z+(v<<4)+8>>2]|0)+-4|0;t=z+(v<<4)+4|0;A:do{if(E){o=0.0;w=1;while(1){if((w|0)>=(s|0))break A;a[d+(w<<2)>>2]=a[(a[t>>2]|0)+(w+-1<<2)>>2];g=+(a[u+(w<<2)>>2]|0);g=-1.0/(g*g);c[h+(w<<2)>>2]=g;o=o-g;w=w+1|0;s=a[C>>2]|0}}else{o=0.0;w=1;while(1){if((w|0)>=(s|0))break A;a[d+(w<<2)>>2]=a[(a[t>>2]|0)+(w+-1<<2)>>2];g=-1.0/+(a[u+(w<<2)>>2]|0);c[h+(w<<2)>>2]=g;o=o-g;w=w+1|0;s=a[C>>2]|0}}}while(0);a[d>>2]=v;c[h>>2]=o;W=a[C>>2]|0;h=h+(W<<2)|0;d=d+(W<<2)|0;v=v+1|0}m=$F(f<<2)|0;a[m>>2]=$F(U(f<<3,N)|0)|0;s=1;while(1){if((s|0)>=(f|0))break;a[m+(s<<2)>>2]=(a[m>>2]|0)+((U(s,N)|0)<<3);s=s+1|0}A:do{if(n){s=0;while(1){if((s|0)>=(f|0))break;u=m+(s<<2)|0;w=0;while(1){if((w|0)>=(N|0))break;b[(a[u>>2]|0)+(w<<3)>>3]=0.0;w=w+1|0}s=s+1|0}if((f|0)!=2){s=0;while(1){if((s|0)>=(f|0)){s=0;break A}b[(a[m+(s<<2)>>2]|0)+(s<<3)>>3]=1.0;s=s+1|0}}b[a[m>>2]>>3]=1.0;s=m+4|0;if(!((AK(R,N,e,a[s>>2]|0)|0)<<24>>24)){w=a[s>>2]|0;s=0;while(1){if((s|0)>=(N|0))break;b[w+(s<<3)>>3]=0.0;s=s+1|0}b[w+8>>3]=1.0;s=0}else s=0}else{w=0;while(1){if((w|0)>=(f|0)){s=0;break A}u=m+(w<<2)|0;s=0;while(1){if((s|0)>=(N|0))break;g=+(a8()|0)*4.656612875245797e-10;b[(a[u>>2]|0)+(s<<3)>>3]=g;s=s+1|0}w=w+1|0}}}while(0);while(1){if((s|0)>=(f|0))break;yO(R,e,N,a[m+(s<<2)>>2]|0,a[i+(s<<2)>>2]|0);s=s+1|0}a[D>>2]=0;a[X>>2]=0;vO(L,R,e,N,D);dO(R,a[D>>2]|0,N,e,N,X);L2(a[a[D>>2]>>2]|0);L2(a[D>>2]|0);G=$F(Y)|0;Q=$F(N<<3)|0;s=0;w=0;o=+aU(i,z,f,e,l);A:while(1){if((w|0)<50&s<<24>>24==0)I=0;else break;while(1){if((I|0)>=(f|0))break;Z=i+(I<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;h=G+(u<<3)|0;b[h>>3]=0.0;d=(a[z+(u<<4)+8>>2]|0)+-4|0;v=a[L+(u*20|0)+4>>2]|0;E=a[L+(u*20|0)+8>>2]|0;C=L+(u*20|0)|0;B=0.0;t=1;while(1){if((t|0)>=(a[C>>2]|0))break;s=a[v+(t<<2)>>2]|0;g=+jP(i,f,u,s);if(g>1.0e-30){g=-(+c[E+(t<<2)>>2]*+(a[d+(t<<2)>>2]|0))/g;b[h>>3]=g*+b[(a[Z>>2]|0)+(s<<3)>>3]+ +b[h>>3];B=B-g}t=t+1|0}b[h>>3]=+b[h>>3]+ +b[(a[Z>>2]|0)+(u<<3)>>3]*B;u=u+1|0}hO(R,N,e,G,Q);s=m+(I<<2)|0;if(wS(a[X>>2]|0,a[s>>2]|0,Q,N,.001,N,0)|0){w=-1;break A}yO(R,e,N,a[s>>2]|0,a[Z>>2]|0);I=I+1|0}if(!(w&1)){g=+aU(i,z,f,e,l);o=+y(+(g-o))/(g+1.0e-10);s=o<+b[23294]&1;o=g}else s=0;w=w+1|0}L2(Q);L2(G);if(M){TP(A,e,F);s=0}else s=0;while(1){if((s|0)>=(e|0))break;if(r[z+(s<<4)+12>>0]|0){L2(a[z+(s<<4)+4>>2]|0);L2(a[z+(s<<4)+8>>2]|0)}s=s+1|0}L2(z);L2(a[L+4>>2]|0);L2(a[L+8>>2]|0);L2(L);L2(J);L2(V);L2(a[m>>2]|0);L2(m);s=a[X>>2]|0;if(s|0){L2(a[s>>2]|0);L2(a[X>>2]|0)}L2(a[R>>2]|0);L2(R);tS(H);k=p;return w|0}function fU(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,b=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0;h=r+-1|0;k=(f|0)==2;n=0.0;f=0;w=0;while(1){if((w|0)>=(h|0))break;o=r-w|0;u=1;while(1){f=f+1|0;if((u|0)>=(o|0))break;b=u+w|0;l=0.0;t=0;while(1){if((t|0)>=(i|0))break;d=a[A+(t<<2)>>2]|0;s=+c[d+(w<<2)>>2]-+c[d+(b<<2)>>2];l=l+s*s;t=t+1|0}l=+z(+l);s=+c[e+(f<<2)>>2];if(k){l=1.0/+z(+s)-l;l=l*l}else{l=1.0/s-l;l=l*l}u=u+1|0;n=l*s+n}w=w+1|0}return+n}function aU(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;A:do{if((f|0)==2){n=0.0;s=0;while(1){if((s|0)>=(r|0))break A;u=a[e+(s<<4)>>2]|0;k=e+(s<<4)+4|0;w=e+(s<<4)+8|0;c=0;while(1){if((c|0)>=(u|0))break;t=a[(a[k>>2]|0)+(c<<2)>>2]|0;if((t|0)>(s|0)){l=0.0;f=0;while(1){if((f|0)>=(i|0))break;h=a[A+(f<<2)>>2]|0;o=+b[h+(s<<3)>>3]-+b[h+(t<<3)>>3];l=o*o+l;f=f+1|0}l=+z(+l);o=+(a[(a[w>>2]|0)+(c<<2)>>2]|0);l=o-l;n=l*l/(o*o)+n}c=c+1|0}s=s+1|0}}else{s=0;n=0.0;while(1){if((s|0)>=(r|0))break A;w=a[e+(s<<4)>>2]|0;u=e+(s<<4)+4|0;k=e+(s<<4)+8|0;c=0;while(1){if((c|0)>=(w|0))break;t=a[(a[u>>2]|0)+(c<<2)>>2]|0;if((t|0)>(s|0)){l=0.0;f=0;while(1){if((f|0)>=(i|0))break;h=a[A+(f<<2)>>2]|0;o=+b[h+(s<<3)>>3]-+b[h+(t<<3)>>3];l=o*o+l;f=f+1|0}l=+z(+l);o=+(a[(a[k>>2]|0)+(c<<2)>>2]|0);l=o-l;n=l*l/o+n}c=c+1|0}s=s+1|0}}}while(0);return+n}function nU(A){A=+A;return+(+z(+A)*A)}function lU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0;n=a[47137]|0;r=0.0;f=0;while(1){if((f|0)>=(n|0))break;l=+b[A+(f<<3)>>3]-+b[e+(f<<3)>>3];b[i+(f<<3)>>3]=l;r=l*l+r;f=f+1|0}return+ +z(+r)}function tU(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;l=qF(A<<2)|0;f=0;n=qF(U(A<<3,e)|0)|0;while(1){if((f|0)>=(A|0))break;a[l+(f<<2)>>2]=n;r=0;while(1){if((r|0)>=(e|0))break;b[n+(r<<3)>>3]=i;r=r+1|0}f=f+1|0;n=n+(e<<3)|0}return l|0}function cU(A){A=A|0;if(A|0){L2(a[A>>2]|0);L2(A)}return}function bU(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+16|0;w=vh(A)|0;s=gh(A)|0;c=Yo(A,2,92493,0)|0;A:do{if(!e){b[23294]=+(w|0)*.0001;YF(A,108886,186352);n=po(a[A+60>>2]|0,90100)|0;if(!n)i=.99;else i=+$3(n);b[23296]=i;n=qF((w<<2)+4|0)|0;t=A+16|0;a[(a[t>>2]|0)+152>>2]=n;n=0;i=0.0;l=cd(A)|0;while(1){if(!l)break A;a[(a[(a[t>>2]|0)+152>>2]|0)+(n<<2)>>2]=l;o=a[l+16>>2]|0;a[o+120>>2]=n;a[o+124>>2]=-1;f=+uU(A,l,c)+i;n=n+1|0;i=f;l=bd(A,l)|0}}else{b[23294]=.0001;YF(A,108886,186352);n=0;i=0.0;l=cd(A)|0;while(1){if(!l)break A;a[(a[l+16>>2]|0)+120>>2]=n;f=+uU(A,l,c)+i;n=n+1|0;i=f;l=bd(A,l)|0}}}while(0);n=po(A,90108)|0;if((n|0)!=0?(r[n>>0]|0)!=0:0){i=+b[23294];f=+$3(n);if(!(i>f))i=f}else i=i/+(((s|0)>1?s:1)|0)*+z(+ +(w|0))+1.0;b[23295]=i;if(!(a[47134]|e)){e=tU(w,w,i)|0;o=A+16|0;a[(a[o>>2]|0)+160>>2]=e;e=tU(w,w,1.0)|0;a[(a[o>>2]|0)+164>>2]=e;e=tU(w,a[47137]|0,1.0)|0;a[(a[o>>2]|0)+168>>2]=e;e=kU(w,w,a[47137]|0)|0;a[(a[o>>2]|0)+172>>2]=e}k=u;return w|0}function sU(A,e,i){A|0;e|0;i|0;var r=0,f=0,n=0,l=0,t=0,c=0;0;0;Ah(A,e)|0;A:while(1){if(!c)break;a[c>>2]&3;a[((l|0)==2?c:c+-48|0)+40>>2]|0;a[((l|0)==3?c:c+48|0)+40>>2]|0;do{if((n|0)!=(l|0)){(l|0)==(e|0);if((r|0)!=1){t?n:l;a[i>>2]=f;r+1|0;break}if(!((n|0)==(f|0)&t)?!((n|0)==(e|0)&(l|0)==(f|0)):0){2;break A}else 1}}while(0);eh(A,c,e)|0}return r|0}function wU(A,e,i){A|0;e|0;i|0;var r=0,f=0,n=0,l=0;k;k=k+16|0;l;A+60|0;A:while(1){e:while(1){if(!e)break A;switch(sU(A,e,f)|0){case 0:{5;break e}case 1:{8;break e}default:0}}if((r|0)==5){if((i|0)==(e|0))bd(A,i)|0;Cd(a[n>>2]|0,e)|0;0;continue}else if((r|0)==8){if((i|0)==(e|0))bd(A,i)|0;Cd(a[n>>2]|0,e)|0;a[f>>2]|0;continue}}k=l;return i|0}function uU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0;c=k;k=k+32|0;l=c+8|0;n=c;e=Oo(A,e)|0;r=0.0;while(1){if(!e)break;switch(oU(e,i,n)|0){case 0:{f=+b[n>>3];break}case 2:{a[l>>2]=Vh(A)|0;b[l+8>>3]=1.0;ao(3,90120,l)|0;t=6;break}default:t=6}if((t|0)==6){t=0;b[n>>3]=1.0;f=1.0}b[(a[e+16>>2]|0)+136>>3]=f;e=_o(A,e)|0;r=f+r}k=c;return+r}function kU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0;t=qF((A<<2)+4|0)|0;c=(e<<2)+4|0;s=i<<3;n=0;while(1){if((n|0)>=(A|0))break;l=t+(n<<2)|0;a[l>>2]=qF(c)|0;f=0;while(1){if((f|0)>=(e|0))break;r=qF(s)|0;a[(a[l>>2]|0)+(f<<2)>>2]=r;r=0;while(1){if((r|0)>=(i|0))break;b[(a[(a[l>>2]|0)+(f<<2)>>2]|0)+(r<<3)>>3]=0.0;r=r+1|0}f=f+1|0}a[(a[l>>2]|0)+(f<<2)>>2]=0;n=n+1|0}a[t+(n<<2)>>2]=0;return t|0}function oU(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;do{if((e|0)!=0?(f=Uo(A,e)|0,(r[f>>0]|0)!=0):0){a[l>>2]=i;if(((J3(f,101209,l)|0)>=1?(n=+b[i>>3],!(n<0.0)):0)?n!=0.0|(a[47134]|0)!=0:0){A=0;break}a[t>>2]=f;ao(0,90147,t)|0;A=2}else A=1}while(0);k=c;return A|0}function hU(A){A=A|0;return bU(A,0)|0}function dU(A){A=A|0;A=A+16|0;L2(a[(a[A>>2]|0)+152>>2]|0);if(!(a[47134]|0)){cU(a[(a[A>>2]|0)+160>>2]|0);cU(a[(a[A>>2]|0)+164>>2]|0);cU(a[(a[A>>2]|0)+168>>2]|0);BU(a[(a[A>>2]|0)+172>>2]|0);a[(a[A>>2]|0)+172>>2]=0}return}function BU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(A|0){f=0;while(1){n=A+(f<<2)|0;e=a[n>>2]|0;if(!e)break;else r=0;while(1){i=a[e+(r<<2)>>2]|0;if(!i)break;L2(i);r=r+1|0;e=a[n>>2]|0}L2(e);f=f+1|0}L2(A)}return}function vU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+(e|0);e=A+16|0;while(1){if((i|0)>=(a[47137]|0))break;f=+c8()*r;b[(a[(a[e>>2]|0)+132>>2]|0)+(i<<3)>>3]=f;i=i+1|0}return}function gU(A,e){A=A|0;e=e|0;vU(A,e,2);return}function EU(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;r=+(e|0);f=+c8()*r;i=A+16|0;b[a[(a[i>>2]|0)+132>>2]>>3]=f;r=+c8()*r;b[(a[(a[i>>2]|0)+132>>2]|0)+8>>3]=r;if((a[47137]|0)>2)gU(A,e);return}function CU(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if(0)L3(90165,26,1,a[15712]|0)|0;e=ip(A,e,2)|0;A:do{if((e|0)!=1){if(!(a[46797]|e)){ao(0,90192,i)|0;a[46797]=1}i=A+16|0;e=0;while(1){A=a[(a[(a[i>>2]|0)+152>>2]|0)+(e<<2)>>2]|0;if(!A)break A;if(!(r[(a[A+16>>2]|0)+119>>0]|0))EU(A,1);e=e+1|0}}}while(0);k=f;return}function IU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+96|0;o=h+80|0;w=h;if(0){L3(90241,25,1,a[15712]|0)|0;tR()}u=A+16|0;f=a[u>>2]|0;c=a[f+164>>2]|0;f=a[f+160>>2]|0;s=0;while(1){if((s|0)>=(e|0))break;l=f+(s<<2)|0;t=c+(s<<2)|0;r=0;while(1){if((r|0)==(s|0))break;n=+b[(a[l>>2]|0)+(r<<3)>>3];n=1.0/(n*n);i=a[(a[u>>2]|0)+152>>2]|0;i=th(A,a[i+(s<<2)>>2]|0,a[i+(r<<2)>>2]|0,0,0)|0;if(i)n=+b[(a[i+16>>2]|0)+128>>3]*n;b[(a[c+(r<<2)>>2]|0)+(s<<3)>>3]=n;b[(a[t>>2]|0)+(r<<3)>>3]=n;r=r+1|0}s=s+1|0}A=a[47137]|0;r=0;while(1){if((r|0)<(e|0))i=0;else break;while(1){if((i|0)>=(A|0))break;b[(a[(a[(a[u>>2]|0)+168>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=0.0;i=i+1|0}r=r+1|0}l=0;while(1){i=a[(a[(a[u>>2]|0)+152>>2]|0)+(l<<2)>>2]|0;if(!i)break;A=i+16|0;i=0;while(1){if((i|0)>=(e|0))break;A:do{if((l|0)!=(i|0)){n=+lU(a[(a[A>>2]|0)+132>>2]|0,a[(a[(a[(a[(a[u>>2]|0)+152>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+132>>2]|0,w);f=a[47137]|0;n=1.0/n;r=0;while(1){if((r|0)>=(f|0))break A;s=a[u>>2]|0;d=+b[w+(r<<3)>>3];d=(d-+b[(a[(a[s+160>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3]*d*n)*+b[(a[(a[s+164>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3];b[(a[(a[(a[s+172>>2]|0)+(l<<2)>>2]|0)+(i<<2)>>2]|0)+(r<<3)>>3]=d;s=(a[(a[s+168>>2]|0)+(l<<2)>>2]|0)+(r<<3)|0;b[s>>3]=+b[s>>3]+d;r=r+1|0}}}while(0);i=i+1|0}l=l+1|0}if(0){u=a[15712]|0;b[o>>3]=+cR();f3(u,90267,o)|0}k=h;return}function ZU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0;l=k;k=k+32|0;n=l+24|0;f=l+8|0;r=l;t=+b[23294];b[23216]=t*t;while(1){i=GU(A,e)|0;if(!i)break;QU(A,e,i)}if(!0)e=A+16|0;else{i=a[15712]|0;b[r>>3]=+mU(A,e);f3(i,90277,r)|0;e=A+16|0;c=a[(a[e>>2]|0)+156>>2]|0;r=(c|0)==(a[47136]|0)?90291:195059;t=+cR();a[f>>2]=c;a[f+4>>2]=r;b[f+8>>3]=t;f3(i,90293,f)|0}e=a[(a[e>>2]|0)+156>>2]|0;if((e|0)==(a[47136]|0)){c=Vh(A)|0;a[n>>2]=e;a[n+4>>2]=c;ao(0,90320,n)|0}k=l;return}function GU(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+16|0;h=d;u=(a[46799]|0)+1|0;a[46799]=u;A=a[A+16>>2]|0;if((a[A+156>>2]|0)<(a[47136]|0)){s=a[47137]|0;w=A+152|0;c=A+168|0;A=0;i=0.0;t=0;while(1){if((t|0)>=(e|0))break;f=a[(a[w>>2]|0)+(t<<2)>>2]|0;if((n[(a[f+16>>2]|0)+119>>0]|0)<=1){l=0.0;r=0;while(1){if((r|0)>=(s|0))break;B=+b[(a[(a[c>>2]|0)+(t<<2)>>2]|0)+(r<<3)>>3];l=B*B+l;r=r+1|0}if(l>i){A=f;i=l}}t=t+1|0}if(!(i<+b[23216])){if(0!=0&((u|0)%100|0|0)==0?(o=a[15712]|0,b[h>>3]=+z(+i),f3(o,90371,h)|0,((a[46799]|0)%1e3|0|0)==0):0)w6(10,o)|0}else A=0}else A=0;k=d;return A|0}function QU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;c=i+16|0;s=a[(a[c>>2]|0)+120>>2]|0;f=a[46798]|0;if(!f){n=a[47137]|0;n=$F(U(n<<3,n)|0)|0}else{n=a[47137]|0;n=eV(f,U(n<<3,n)|0)|0}a[46798]=n;LU(A,e,s,n);l=a[47137]|0;t=A+16|0;f=0;while(1){if((f|0)>=(l|0))break;b[185736+(f<<3)>>3]=-+b[(a[(a[(a[t>>2]|0)+168>>2]|0)+(s<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}VK(n,185816,185736,l);f=0;while(1){if((f|0)>=(a[47137]|0))break;r=+b[23296];r=(1.0-r)*2.0*+c8()+r;l=185816+(f<<3)|0;r=r*+b[l>>3];b[l>>3]=r;l=(a[(a[c>>2]|0)+132>>2]|0)+(f<<3)|0;b[l>>3]=+b[l>>3]+r;f=f+1|0}c=(a[t>>2]|0)+156|0;a[c>>2]=(a[c>>2]|0)+1;WU(A,e,s);if(MR()|0){n=a[47137]|0;r=0.0;f=0;while(1){if((f|0)>=(n|0))break;r=+y(+ +b[185816+(f<<3)>>3])+r;f=f+1|0}r=+z(+r);s=a[15712]|0;a[w>>2]=Vh(i)|0;b[w+8>>3]=r;f3(s,90362,w)|0}k=u;return}function mU(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0.0;h=e+-1|0;u=A+16|0;k=a[47137]|0;n=0;i=0.0;A:while(1){if((n|0)>=(h|0))break;w=a[u>>2]|0;o=a[w+152>>2]|0;t=n+1|0;c=(a[o+(n<<2)>>2]|0)+16|0;s=w+164|0;w=w+160|0;l=t;while(1){if((l|0)>=(e|0)){n=t;continue A}f=(a[o+(l<<2)>>2]|0)+16|0;A=0;r=0.0;while(1){if((A|0)>=(k|0))break;d=+b[(a[(a[c>>2]|0)+132>>2]|0)+(A<<3)>>3]-+b[(a[(a[f>>2]|0)+132>>2]|0)+(A<<3)>>3];A=A+1|0;r=d*d+r}d=+b[(a[(a[w>>2]|0)+(n<<2)>>2]|0)+(l<<3)>>3];d=((+z(+r)*-2.0+d)*d+r)*+b[(a[(a[s>>2]|0)+(n<<2)>>2]|0)+(l<<3)>>3]+i;l=l+1|0;i=d}}return+i}function LU(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+80|0;C=I;E=a[A+16>>2]|0;c=a[E+164>>2]|0;s=a[E+160>>2]|0;E=a[E+152>>2]|0;t=a[E+(i<<2)>>2]|0;n=a[47137]|0;A=0;while(1){if((A|0)>=(n|0))break;l=U(n,A)|0;f=0;while(1){if((f|0)==(n|0))break;b[r+(l+f<<3)>>3]=0.0;f=f+1|0}A=A+1|0}g=a[47137]|0;v=t+16|0;B=c+(i<<2)|0;c=s+(i<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;A:do{if((t|0)!=(i|0)){f=(a[E+(t<<2)>>2]|0)+16|0;d=0.0;A=0;while(1){if((A|0)>=(g|0))break;h=+b[(a[(a[v>>2]|0)+132>>2]|0)+(A<<3)>>3]-+b[(a[(a[f>>2]|0)+132>>2]|0)+(A<<3)>>3];b[C+(A<<3)>>3]=h;d=h*h+d;A=A+1|0}w=1.0/+nU(d);l=0;while(1){if((l|0)>=(g|0))break A;f=(a[B>>2]|0)+(t<<3)|0;n=(a[c>>2]|0)+(t<<3)|0;u=+b[C+(l<<3)>>3];A=0;while(1){o=+b[f>>3];h=+b[n>>3];if((A|0)==(l|0))break;s=r+((U(g,A)|0)+l<<3)|0;b[s>>3]=+b[s>>3]+o*w*h*u*+b[C+(A<<3)>>3];A=A+1|0}s=r+((U(g,l)|0)+l<<3)|0;b[s>>3]=(1.0-h*w*(d-u*u))*o+ +b[s>>3];l=l+1|0}}}while(0);t=t+1|0}f=a[47137]|0;l=1;while(1){if((l|0)>=(f|0))break;n=U(f,l)|0;A=0;while(1){if((A|0)==(l|0))break;b[r+(n+A<<3)>>3]=+b[r+((U(f,A)|0)+l<<3)>>3];A=A+1|0}l=l+1|0}k=I;return}function WU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;s=k;k=k+80|0;c=s;t=A+16|0;f=a[t>>2]|0;n=a[(a[f+152>>2]|0)+(i<<2)>>2]|0;r=a[47137]|0;f=f+168|0;A=0;while(1){if((A|0)>=(r|0))break;b[(a[(a[f>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3]=0.0;A=A+1|0}f=n+16|0;A=0;while(1){if((A|0)>=(e|0))break;A:do{if((A|0)!=(i|0)){l=+lU(a[(a[f>>2]|0)+132>>2]|0,a[(a[(a[(a[(a[t>>2]|0)+152>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+132>>2]|0,c);n=a[47137]|0;l=1.0/l;r=0;while(1){if((r|0)>=(n|0))break A;w=a[t>>2]|0;h=a[w+172>>2]|0;d=(a[(a[h+(i<<2)>>2]|0)+(A<<2)>>2]|0)+(r<<3)|0;u=+b[c+(r<<3)>>3];u=(u-+b[(a[(a[w+160>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3]*u*l)*+b[(a[(a[w+164>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3];b[d>>3]=u;w=a[w+168>>2]|0;B=(a[w+(i<<2)>>2]|0)+(r<<3)|0;b[B>>3]=+b[B>>3]+u;h=(a[(a[h+(A<<2)>>2]|0)+(i<<2)>>2]|0)+(r<<3)|0;u=+b[h>>3];o=-+b[d>>3];b[h>>3]=o;w=(a[w+(A<<2)>>2]|0)+(r<<3)|0;b[w>>3]=o-u+ +b[w>>3];r=r+1|0}}}while(0);A=A+1|0}k=s;return}function yU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;i=A+16|0;n=a[46800]|0;e=a[(a[i>>2]|0)+124>>2]|0;while(1){if((e|0)<=0)break;l=(e+-1|0)/2|0;t=n+(l<<2)|0;r=a[t>>2]|0;f=r+16|0;if(+b[(a[f>>2]|0)+136>>3]<=+b[(a[i>>2]|0)+136>>3])break;a[t>>2]=A;a[(a[i>>2]|0)+124>>2]=l;a[n+(e<<2)>>2]=r;a[(a[f>>2]|0)+124>>2]=e;e=l}return}function zU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;l=A+16|0;t=a[46801]|0;c=a[46800]|0;n=a[(a[l>>2]|0)+124>>2]|0;while(1){r=n<<1|1;if((r|0)>=(t|0))break;i=r+1|0;if((i|0)<(t|0)){f=a[c+(i<<2)>>2]|0;e=a[c+(r<<2)>>2]|0;if(+b[(a[f+16>>2]|0)+136>>3]<+b[(a[e+16>>2]|0)+136>>3]){r=i;e=f}else s=6}else{e=a[c+(r<<2)>>2]|0;s=6}if((s|0)==6)s=0;i=e+16|0;if(+b[(a[l>>2]|0)+136>>3]<=+b[(a[i>>2]|0)+136>>3])break;a[c+(r<<2)>>2]=A;a[(a[l>>2]|0)+124>>2]=r;a[c+(n<<2)>>2]=e;a[(a[i>>2]|0)+124>>2]=n;n=r}return}function YU(A){A=A|0;var e=0,i=0;e=(a[A+16>>2]|0)+124|0;if((a[e>>2]|0)>=0)vA(90377,90397,643,90405);i=a[46801]|0;a[46801]=i+1;a[e>>2]=i;a[(a[46800]|0)+(i<<2)>>2]=A;if((i|0)>0)yU(A);return}function DU(){var A=0,e=0,i=0,r=0;e=a[46801]|0;if(!e)A=0;else{r=a[46800]|0;A=a[r>>2]|0;i=e+-1|0;a[46801]=i;i=a[r+(i<<2)>>2]|0;a[r>>2]=i;a[(a[i+16>>2]|0)+124>>2]=0;if((e|0)>2)zU(i);a[(a[A+16>>2]|0)+124>>2]=-1}return A|0}function MU(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;a[46800]=qF((e<<2)+4|0)|0;if(0){L3(90419,28,1,a[15712]|0)|0;tR()}e=cd(A)|0;while(1){if(!e)break;FU(A,e);e=bd(A,e)|0}if(0){A=a[15712]|0;b[i>>3]=+cR();f3(A,90267,i)|0}L2(a[46800]|0);k=r;return}function FU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0,c=0;r=a[(a[A+16>>2]|0)+152>>2]|0;f=+b[23295];i=0;while(1){n=a[r+(i<<2)>>2]|0;if(!n)break;b[(a[n+16>>2]|0)+136>>3]=f;i=i+1|0}a[46802]=e;c=a[e+16>>2]|0;b[c+136>>3]=0.0;a[c+128>>2]=0;YU(e);A:while(1){c=DU()|0;if(!c)break;i=a[46802]|0;t=c+16|0;if((c|0)!=(i|0))VU(A,i,c,+b[(a[t>>2]|0)+136>>3]);l=Ah(A,c)|0;while(1){if(!l)continue A;i=a[l>>2]&3;e=a[((i|0)==3?l:l+48|0)+40>>2]|0;if((e|0)==(c|0))e=a[((i|0)==2?l:l+-48|0)+40>>2]|0;i=a[t>>2]|0;f=+b[(a[l+16>>2]|0)+136>>3]+ +b[i+136>>3];r=a[e+16>>2]|0;n=r+136|0;do{if(+b[n>>3]>f){b[n>>3]=f;if((a[r+124>>2]|0)>-1){yU(e);break}else{a[r+128>>2]=(a[i+128>>2]|0)+1;YU(e);break}}}while(0);l=eh(A,l,c)|0}}return}function VU(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;e=a[(a[e+16>>2]|0)+120>>2]|0;i=a[(a[i+16>>2]|0)+120>>2]|0;A=a[(a[A+16>>2]|0)+160>>2]|0;b[(a[A+(i<<2)>>2]|0)+(e<<3)>>3]=r;b[(a[A+(e<<2)>>2]|0)+(i<<3)>>3]=r;return}function JU(A){A=A|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;NU(A);return}function NU(A){A=A|0;var e=0,i=0,r=0,f=0;e=vh(A)|0;r=qF(e*56|0)|0;e=qF((e<<2)+4|0)|0;f=A+16|0;a[(a[f>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;RH(e);a[(a[e+16>>2]|0)+112>>2]=r+(i*56|0);a[(a[(a[f>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;e=bd(A,e)|0;i=i+1|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;XU(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function XU(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,0.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function RU(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+80|0;s=g+32|0;l=g+24|0;n=g+16|0;t=g;v=g+72|0;o=g+40|0;if(vh(A)|0){JU(A);f=po(A,95738)|0;if(f)if(r[f>>0]|0){e=vd(A,f,0)|0;if(!e){a[n>>2]=f;ao(0,90448,n)|0;ao(3,90488,l)|0;e=0;B=1}else B=0}else{e=0;B=1}else{e=0;B=0}w=Yo(A,1,95738,0)|0;u=(w|0)!=0;f=po(A,140742)|0;if((f|0?r[f>>0]|0:0)?(c=t+8|0,a[s>>2]=t,a[s+4>>2]=c,(J3(f,105503,s)|0)==1):0)b[c>>3]=+b[t>>3];if(vh(A)|0){s=WE(A,v,0)|0;if((a[v>>2]|0)==1){n=(e|0)!=0;do{if(n)i=e;else{if(u?(i=HU(A,w)|0,i|0):0)break;i=0}}while(0);f=NK(A,i)|0;if(!((i|0)!=0|u^1))Vo(f,w,142463)|0;d=(cd(A)|0)+16|0;L2(a[(a[d>>2]|0)+112>>2]|0);a[(a[d>>2]|0)+112>>2]=0;eS(A)|0;Pp(A);e=(B|0)==0|n?e:f}else{bC(A,2,8,o)|0;a[o+12>>2]=0;c=(B|0)==0;t=0;while(1){if((t|0)>=(a[v>>2]|0))break;n=a[s+(t<<2)>>2]|0;i=(e|0)!=0;if(i?(Dd(n,e)|0)!=0:0)f=e;else d=23;do{if((d|0)==23){d=0;if(u?(h=HU(n,w)|0,h|0):0){f=h;break}f=0}}while(0);VE(n)|0;l=NK(n,f)|0;e=c|i?e:l;if(u?(f|0)==0|(f|0)==(e|0):0)Vo(l,w,142463)|0;eS(n)|0;t=t+1|0}d=(cd(A)|0)+16|0;L2(a[(a[d>>2]|0)+112>>2]|0);a[(a[d>>2]|0)+112>>2]=0;cC(a[v>>2]|0,s,A,o)|0;Pp(A)}i=0;while(1){if((i|0)>=(a[v>>2]|0))break;Cd(A,a[s+(i<<2)>>2]|0)|0;i=i+1|0}L2(s)}if(B|0)xo(A,95738,Vh(e)|0)|0;VJ(A)}k=g;return}function HU(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i){i=0;break}if((gR(Uo(i,e)|0)|0)<<24>>24)break;i=bd(A,i)|0}return i|0}function pU(A){A=A|0;var e=0,i=0;e=cd(A)|0;if(e|0){while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}UU(A)}return}function UU(A){A=A|0;L2(a[(a[A+16>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function xU(A){A=A|0;TU(A);if(!((vh(A)|0)==0?!(a[(a[A+16>>2]|0)+180>>2]|0):0)){A_(A);VJ(A)}return}function TU(A){A=A|0;a[47147]=Yo(A,1,108230,108236)|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;jU(A,0);SU(A);return}function jU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;l=(e|0)==0;if(l){KU(n);e=n}i=RB(A)|0;while(1){if(!i)break;if(!(Z1(Vh(i)|0,108006,7)|0)){Td(i,137483,280,1)|0;_U(e,i);jU(i,0)}else jU(i,e);i=HB(i)|0}if(l?(r=a[n+8>>2]|0,f=A+16|0,a[(a[f>>2]|0)+180>>2]=r,r|0):0){l=eV(a[n>>2]|0,(r<<2)+4|0)|0;a[(a[f>>2]|0)+184>>2]=l}k=t;return}function SU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=qF((vh(A)|0)<<2)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;n=A+16|0;a[(a[n>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;Td(e,137447,304,1)|0;a[(a[e+16>>2]|0)+112>>2]=f+(i<<2);a[(a[(a[n>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;PU(e);r=Oo(A,e)|0;while(1){if(!r)break;OU(r);r=_o(A,r)|0}e=bd(A,e)|0;i=i+1|0}return}function PU(A){A=A|0;xo(A,108230,108236)|0;return}function OU(A){A=A|0;Td(A,137460,304,1)|0;return}function KU(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function _U(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function qU(A){A=A|0;var e=0,i=0;e=cd(A)|0;if(e|0){L2(a[(a[e+16>>2]|0)+112>>2]|0);while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}$U(A)}return}function $U(A){A=A|0;L2(a[(a[A+16>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function Ax(A){A=A|0;var e=0,i=0,r=0;ex(A);ix(A,0);rx(A,0);fx(A,0);e=a[A+16>>2]|0;if(!(a[(a[e+8>>2]|0)+84>>2]|0)){e=f[e+136>>1]&14;if(e<<16>>16)Jp(A,e&65535)|0}else{e=cd(A)|0;while(1){if(!e)break;r=a[e+16>>2]|0;i=a[r+132>>2]|0;b[i>>3]=+b[r+16>>3]*.013888888888888888;b[i+8>>3]=+b[r+24>>3]*.013888888888888888;e=bd(A,e)|0}Rp(A,1)}VJ(A);return}function ex(A){A=A|0;var e=0,i=0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;e=cd(A)|0;while(1){if(!e)break;RH(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;Td(e,137460,176,1)|0;VR(e)|0;e=_o(A,e)|0}i=bd(A,i)|0}return}function ix(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;l=(e|0)==0;if(l){cx(n);e=n}i=RB(A)|0;while(1){if(!i)break;if(!(Z1(Vh(i)|0,108006,7)|0)){Td(i,137483,280,1)|0;JF(i);bx(e,i);ix(i,0)}else ix(i,e);i=HB(i)|0}if(l?(r=a[n+8>>2]|0,f=A+16|0,a[(a[f>>2]|0)+180>>2]=r,r|0):0){l=eV(a[n>>2]|0,(r<<2)+4|0)|0;a[(a[f>>2]|0)+184>>2]=l}k=t;return}function rx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+448|0;Y=p+400|0;z=p+384|0;H=p+344|0;R=p+304|0;X=p+248|0;W=p+192|0;I=p+152|0;Z=p+96|0;u=p+72|0;i=p+64|0;M=p+32|0;F=p;m=p+416|0;g=p+328|0;C=p+288|0;V=p+232|0;J=p+176|0;N=p+136|0;D=p+80|0;w=a[A+60>>2]|0;if(0>1){ax(e);y=a[15712]|0;a[i>>2]=Vh(A)|0;f3(y,90723,i)|0}y=A+16|0;f=e+1|0;i=1;r=0;while(1){n=a[y>>2]|0;if((i|0)>(a[n+180>>2]|0))break;L=a[(a[n+184>>2]|0)+(i<<2)>>2]|0;rx(L,f);i=i+1|0;r=(vh(L)|0)+r|0}o=(vh(A)|0)-r|0;i=a[y>>2]|0;L=(a[i+180>>2]|0)+o|0;E=(L|0)==0;if(E?(a[i+12>>2]|0)==0:0){H=i+16|0;a[H>>2]=0;a[H+4>>2]=0;a[H+8>>2]=0;a[H+12>>2]=0;b[i+40>>3]=18.0;b[i+32>>3]=18.0}else{i=m+16|0;do{if((bC(A,4,4,m)|0)>>>0>=3)if((a[i>>2]|0)==4?(a[m+28>>2]&2|0)!=0:0){r=Yo(w,0,99190,0)|0;i=Yo(w,1,99190,0)|0;if((r|0)!=0|(i|0)!=0){a[m+24>>2]=qF(L<<2)|0;break}else{a[u>>2]=Vh(A)|0;ao(0,90577,u)|0;i=0;r=0;break}}else{i=0;r=0}else{a[i>>2]=3;i=0;r=0}}while(0);G=qF(L<<5)|0;Q=qF(L<<2)|0;B=m+24|0;w=(r|0)!=0;d=0;n=1;while(1){f=a[y>>2]|0;if((n|0)>(a[f+180>>2]|0))break;f=a[(a[f+184>>2]|0)+(n<<2)>>2]|0;v=G+(d<<5)|0;h=(a[f+16>>2]|0)+16|0;a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[v+16>>2]=a[h+16>>2];a[v+20>>2]=a[h+20>>2];a[v+24>>2]=a[h+24>>2];a[v+28>>2]=a[h+28>>2];if(w&(a[B>>2]|0)!=0){v=kR(f,r,0,0)|0;a[(a[B>>2]|0)+(d<<2)>>2]=v}a[Q+(d<<2)>>2]=f;d=d+1|0;n=n+1|0}A:do{if((o|0)>0){u=M+16|0;o=M+24|0;h=(i|0)!=0;w=cd(A)|0;r=d;while(1){if(!w)break A;f=a[w+16>>2]|0;n=f+112|0;if(!(a[n>>2]|0)){a[n>>2]=A;a[M>>2]=0;a[M+4>>2]=0;a[M+8>>2]=0;a[M+12>>2]=0;b[u>>3]=+b[f+96>>3]+ +b[f+88>>3];b[o>>3]=+b[f+80>>3];v=G+(r<<5)|0;a[v>>2]=a[M>>2];a[v+4>>2]=a[M+4>>2];a[v+8>>2]=a[M+8>>2];a[v+12>>2]=a[M+12>>2];a[v+16>>2]=a[M+16>>2];a[v+20>>2]=a[M+20>>2];a[v+24>>2]=a[M+24>>2];a[v+28>>2]=a[M+28>>2];if(h&(a[B>>2]|0)!=0){v=kR(w,i,0,0)|0;a[(a[B>>2]|0)+(r<<2)>>2]=v}a[Q+(r<<2)>>2]=w;r=r+1|0}w=bd(A,w)|0}}}while(0);v=rC(L,G,m)|0;i=a[B>>2]|0;if(i|0)L2(i);nx(F,2147483647.0,2147483647.0);B=F+16|0;nx(g,-2147483647.0,-2147483647.0);a[B>>2]=a[g>>2];a[B+4>>2]=a[g+4>>2];a[B+8>>2]=a[g+8>>2];a[B+12>>2]=a[g+12>>2];n=M+16|0;w=M+8|0;u=M+24|0;o=F+8|0;h=F+24|0;d=a[15712]|0;i=0;while(1){if((i|0)>=(L|0))break;t=+(a[v+(i<<3)>>2]|0);s=+(a[v+(i<<3)+4>>2]|0);r=G+(i<<5)|0;a[M>>2]=a[r>>2];a[M+4>>2]=a[r+4>>2];a[M+8>>2]=a[r+8>>2];a[M+12>>2]=a[r+12>>2];a[M+16>>2]=a[r+16>>2];a[M+20>>2]=a[r+20>>2];a[M+24>>2]=a[r+24>>2];a[M+28>>2]=a[r+28>>2];l=+b[M>>3]+t;b[M>>3]=l;t=+b[n>>3]+t;b[n>>3]=t;c=+b[w>>3]+s;b[w>>3]=c;s=+b[u>>3]+s;b[u>>3]=s;b[F>>3]=+b[(+b[F>>3]>3];b[o>>3]=+b[(+b[o>>3]>3];b[B>>3]=+b[(+b[B>>3]>t?F:M)+16>>3];b[h>>3]=+b[(+b[h>>3]>s?F:M)+24>>3];r=a[Q+(i<<2)>>2]|0;f=r+16|0;if((i|0)<(a[(a[y>>2]|0)+180>>2]|0)){g=(a[f>>2]|0)+16|0;a[g>>2]=a[M>>2];a[g+4>>2]=a[M+4>>2];a[g+8>>2]=a[M+8>>2];a[g+12>>2]=a[M+12>>2];a[g+16>>2]=a[M+16>>2];a[g+20>>2]=a[M+20>>2];a[g+24>>2]=a[M+24>>2];a[g+28>>2]=a[M+28>>2];if(0>1){ax(e);a[Z>>2]=Vh(r)|0;b[Z+8>>3]=l;b[Z+16>>3]=c;b[Z+24>>3]=t;b[Z+32>>3]=s;f3(d,90556,Z)|0}}else{g=(a[f>>2]|0)+16|0;a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];a[z+8>>2]=a[M+8>>2];a[z+12>>2]=a[M+12>>2];a[Y>>2]=a[n>>2];a[Y+4>>2]=a[n+4>>2];a[Y+8>>2]=a[n+8>>2];a[Y+12>>2]=a[n+12>>2];lx(C,z,Y);a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];if(0>1){ax(e);g=Vh(r)|0;f=a[f>>2]|0;c=+b[f+16>>3];s=+b[f+24>>3];a[I>>2]=g;b[I+8>>3]=c;b[I+16>>3]=s;f3(d,90544,I)|0}}i=i+1|0}r=a[y>>2]|0;i=a[r+12>>2]|0;if(i|0){l=+b[i+24>>3];if(E){t=+b[i+32>>3];a[F>>2]=0;a[F+4>>2]=0;a[F+8>>2]=0;a[F+12>>2]=0;b[B>>3]=l;b[h>>3]=t;t=0.0;c=l}else{t=+b[F>>3];c=+b[B>>3]}s=l-(c-t);l=s*.5;if(s>0.0){b[F>>3]=t-l;b[B>>3]=c+l}}if((e|0)>0)l=+((a[m+8>>2]|0)>>>0)*.5;else l=0.0;t=+b[F>>3]-l;b[F>>3]=t;c=+b[B>>3]+l;b[B>>3]=c;s=-l-+b[r+56>>3]+ +b[o>>3];b[o>>3]=s;l=+b[r+88>>3]+l+ +b[h>>3];b[h>>3]=l;if(0>1){ax(e);a[W>>2]=Vh(A)|0;b[W+8>>3]=t;b[W+16>>3]=s;b[W+24>>3]=c;b[W+32>>3]=l;f3(d,90556,W)|0}i=0;while(1){if((i|0)>=(L|0))break;r=a[Q+(i<<2)>>2]|0;f=r+16|0;if((i|0)<(a[(a[y>>2]|0)+180>>2]|0)){W=(a[f>>2]|0)+16|0;a[M>>2]=a[W>>2];a[M+4>>2]=a[W+4>>2];a[M+8>>2]=a[W+8>>2];a[M+12>>2]=a[W+12>>2];a[M+16>>2]=a[W+16>>2];a[M+20>>2]=a[W+20>>2];a[M+24>>2]=a[W+24>>2];a[M+28>>2]=a[W+28>>2];a[z>>2]=a[W>>2];a[z+4>>2]=a[W+4>>2];a[z+8>>2]=a[W+8>>2];a[z+12>>2]=a[W+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(M,z,Y);a[z>>2]=a[n>>2];a[z+4>>2]=a[n+4>>2];a[z+8>>2]=a[n+8>>2];a[z+12>>2]=a[n+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(V,z,Y);a[n>>2]=a[V>>2];a[n+4>>2]=a[V+4>>2];a[n+8>>2]=a[V+8>>2];a[n+12>>2]=a[V+12>>2];W=(a[f>>2]|0)+16|0;a[W>>2]=a[M>>2];a[W+4>>2]=a[M+4>>2];a[W+8>>2]=a[M+8>>2];a[W+12>>2]=a[M+12>>2];a[W+16>>2]=a[M+16>>2];a[W+20>>2]=a[M+20>>2];a[W+24>>2]=a[M+24>>2];a[W+28>>2]=a[M+28>>2];if(0>1){ax(e);W=Vh(r)|0;l=+b[M>>3];t=+b[w>>3];c=+b[n>>3];s=+b[u>>3];a[X>>2]=W;b[X+8>>3]=l;b[X+16>>3]=t;b[X+24>>3]=c;b[X+32>>3]=s;f3(d,90556,X)|0}}else{W=(a[f>>2]|0)+16|0;a[z>>2]=a[W>>2];a[z+4>>2]=a[W+4>>2];a[z+8>>2]=a[W+8>>2];a[z+12>>2]=a[W+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(J,z,Y);a[W>>2]=a[J>>2];a[W+4>>2]=a[J+4>>2];a[W+8>>2]=a[J+8>>2];a[W+12>>2]=a[J+12>>2];if(0>1){ax(e);W=Vh(r)|0;m=a[f>>2]|0;c=+b[m+16>>3];s=+b[m+24>>3];a[R>>2]=W;b[R+8>>3]=c;b[R+16>>3]=s;f3(d,90544,R)|0}}i=i+1|0}a[z>>2]=a[B>>2];a[z+4>>2]=a[B+4>>2];a[z+8>>2]=a[B+8>>2];a[z+12>>2]=a[B+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(N,z,Y);a[B>>2]=a[N>>2];a[B+4>>2]=a[N+4>>2];a[B+8>>2]=a[N+8>>2];a[B+12>>2]=a[N+12>>2];a[z>>2]=a[F>>2];a[z+4>>2]=a[F+4>>2];a[z+8>>2]=a[F+8>>2];a[z+12>>2]=a[F+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(D,z,Y);a[F>>2]=a[D>>2];a[F+4>>2]=a[D+4>>2];a[F+8>>2]=a[D+8>>2];a[F+12>>2]=a[D+12>>2];R=(a[y>>2]|0)+16|0;a[R>>2]=a[F>>2];a[R+4>>2]=a[F+4>>2];a[R+8>>2]=a[F+8>>2];a[R+12>>2]=a[F+12>>2];a[R+16>>2]=a[F+16>>2];a[R+20>>2]=a[F+20>>2];a[R+24>>2]=a[F+24>>2];a[R+28>>2]=a[F+28>>2];if(0>1){ax(e);R=Vh(A)|0;l=+b[F>>3];t=+b[o>>3];c=+b[B>>3];s=+b[h>>3];a[H>>2]=R;b[H+8>>3]=l;b[H+16>>3]=t;b[H+24>>3]=c;b[H+32>>3]=s;f3(d,90556,H)|0}L2(G);L2(Q);L2(v)}k=p;return}function fx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0;v=k;k=k+80|0;B=v+32|0;l=v+8|0;i=v;d=A+16|0;u=a[d>>2]|0;o=+b[u+16>>3];h=+b[u+24>>3];if(0>1){ax(e);u=a[15712]|0;a[i>>2]=Vh(A)|0;f3(u,90529,i)|0}u=(e|0)!=0;A:do{if(u){i=cd(A)|0;r=a[15712]|0;while(1){if(!i)break A;f=i+16|0;n=a[f>>2]|0;if((a[n+112>>2]|0)==(A|0)?(g=n+16|0,b[g>>3]=+b[g>>3]+o,n=n+24|0,b[n>>3]=+b[n>>3]+h,0>1):0){ax(e);g=Vh(i)|0;n=a[f>>2]|0;s=+b[n+16>>3];w=+b[n+24>>3];a[l>>2]=g;b[l+8>>3]=s;b[l+16>>3]=w;f3(r,90544,l)|0}i=bd(A,i)|0}}else r=a[15712]|0}while(0);l=e+1|0;A=1;while(1){i=a[d>>2]|0;if((A|0)>(a[i+180>>2]|0))break;n=a[(a[i+184>>2]|0)+(A<<2)>>2]|0;if(u){f=n+16|0;i=a[f>>2]|0;t=+b[i+16>>3]+o;c=+b[i+24>>3]+h;s=+b[i+32>>3]+o;w=+b[i+40>>3]+h;if(0>1){ax(e);a[B>>2]=Vh(n)|0;b[B+8>>3]=t;b[B+16>>3]=c;b[B+24>>3]=s;b[B+32>>3]=w;f3(r,90556,B)|0;i=a[f>>2]|0}b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=s;b[i+40>>3]=w}fx(n,l);A=A+1|0}k=v;return}function ax(A){A=A|0;var e=0;e=a[15712]|0;while(1){if((A|0)<=0)break;m3(90574,e)|0;A=A+-1|0}return}function nx(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function lx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function tx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function cx(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function bx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function sx(A){A=A|0;var e=0;e=cd(A)|0;while(1){if(!e)break;sH(e);e=bd(A,e)|0}wx(A);return}function wx(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;A=1;while(1){r=a[e>>2]|0;i=a[r+184>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[i+(A<<2)>>2]|0;TF(a[(a[r+16>>2]|0)+12>>2]|0);wx(r);A=A+1|0}L2(i);return}function ux(A){A=A|0;var e=0,i=0,r=0;Kd(A,1,137447,304,1);KR(A)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;r=A+16|0;a[(a[r>>2]|0)+152>>2]=e;e=0;i=cd(A)|0;while(1){if(!i)break;kx(i);a[(a[(a[r>>2]|0)+152>>2]|0)+(e<<2)>>2]=i;a[(a[i+16>>2]|0)+120>>2]=e;e=e+1|0;i=bd(A,i)|0}r=Yo(A,2,92493,0)|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;ox(e,r);e=_o(A,e)|0}i=bd(A,i)|0}hx(A);return}function kx(A){A=A|0;var e=0;FR(A);e=qF((l[(a[(Id(A)|0)+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[A+16>>2]|0)+132>>2]=e;DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);return}function ox(A,e){A=A|0;e=e|0;var i=0,r=0.0;Td(A,137460,176,1)|0;r=+oR(A,a[47174]|0,1.0,0.0);i=A+16|0;b[(a[i>>2]|0)+128>>3]=r;r=+oR(A,e,+b[1371],0.0);b[(a[i>>2]|0)+136>>3]=r;VR(A)|0;return}function hx(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;d=k;k=k+32|0;h=d+16|0;o=d;s=d+24|0;w=Yo(A,1,102623,0)|0;A:do{if(w|0){u=Yo(A,1,90660,0)|0;l=A+16|0;t=(u|0)==0;c=a[15712]|0;n=0;while(1){i=a[(a[(a[l>>2]|0)+152>>2]|0)+(n<<2)>>2]|0;if(!i)break A;A=Uo(i,w)|0;do{if(r[A>>0]|0){f=i+16|0;e=a[(a[f>>2]|0)+132>>2]|0;r[s>>0]=0;a[o>>2]=e;a[o+4>>2]=e+8;a[o+8>>2]=s;if((J3(A,101749,o)|0)<=1){a[h>>2]=Vh(i)|0;a[h+4>>2]=A;f3(c,90664,h)|0;break}e:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)==2)break e;B=e+(A<<3)|0;b[B>>3]=+b[B>>3]/+b[23293];A=A+1|0}}}while(0);A=a[f>>2]|0;r[A+119>>0]=1;if((r[s>>0]|0)!=33){if(t)break;if(!((gR(Uo(i,u)|0)|0)<<24>>24))break;A=a[f>>2]|0}r[A+119>>0]=3}}while(0);n=n+1|0}}}while(0);k=d;return}function dx(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}Bx(A);return}function Bx(A){A=A|0;vx(A);A=A+16|0;L2(a[(a[A>>2]|0)+152>>2]|0);L2(a[(a[A>>2]|0)+140>>2]|0);return}function vx(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=A+16|0;f=1;while(1){r=a[n>>2]|0;e=a[r+184>>2]|0;if((f|0)>(a[r+180>>2]|0))break;r=a[e+(f<<2)>>2]|0;e=r+16|0;TF(a[(a[e>>2]|0)+12>>2]|0);i=a[(a[e>>2]|0)+140>>2]|0;if(i|0){L2(a[i>>2]|0);L2(a[(a[e>>2]|0)+140>>2]|0)}vx(r);f=f+1|0}L2(e);if((Zd(A)|0)!=(A|0))Sd(A,137483)|0;return}function gx(A,e){A=A|0;e=e|0;a[e+4>>2]=Yo(A,0,90716,0)|0;a[e+8>>2]=Yo(A,0,141116,0)|0;a[e+12>>2]=Yo(A,0,141048,0)|0;a[e>>2]=A;a[e+16>>2]=0;a[e+36>>2]=bC(A,2,4,e+20|0)|0;return}function Ex(A){A=A|0;var e=0,i=0;zH(A,2);e=qF(56)|0;i=A+16|0;a[(a[i>>2]|0)+140>>2]=e;e=(kR(A,Yo(A,0,91374,0)|0,2,2)|0)&65535;e=(e&65535)<10?e:10;f[(a[i>>2]|0)+176>>1]=e;a[47137]=e&65535;Cx(A,0,A);jx(A);ux(A);return}function Cx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;s=k;k=k+16|0;c=s;b=(e|0)==0;if(b){Ix(c);e=c}n=i+16|0;r=RB(A)|0;while(1){if(!r)break;if(!(Z1(Vh(r)|0,108006,7)|0)){Td(r,137483,280,1)|0;w=qF(56)|0;o=a[r+16>>2]|0;a[o+140>>2]=w;u=a[n>>2]|0;f[o+176>>1]=f[u+176>>1]|0;a[w+44>>2]=(a[(a[u+140>>2]|0)+44>>2]|0)+1;a[w+48>>2]=i;Zx(e,r);Cx(r,0,r)}else Cx(r,e,i);r=HB(r)|0}if(b?(l=a[c+8>>2]|0,t=A+16|0,a[(a[t>>2]|0)+180>>2]=l,l|0):0){o=eV(a[c>>2]|0,(l<<2)+4|0)|0;a[(a[t>>2]|0)+184>>2]=o}k=s;return}function Ix(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function Zx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function Gx(A){A=A|0;var e=0,i=0;e=k;k=k+64|0;i=e;gx(A,i);Qx(A,i);mx(A);Lx(A,A);Wx(A);k=e;return}function Qx(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0,E=0,C=0.0,I=0.0;B=k;k=k+64|0;d=B+48|0;i=B+40|0;u=B+56|0;w=B+52|0;s=B;if(0){h=a[15712]|0;a[i>>2]=Vh(A)|0;f3(h,90723,i)|0}i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+164>>2]=0;i=bd(A,i)|0}o=yx(A,e)|0;h=E_(o,u,w)|0;i=h;while(1){c=i+4|0;f=a[i>>2]|0;if(!f)break;Sx(f,s);i=cd(f)|0;while(1){if(!i)break;n=bd(f,i)|0;l=i+16|0;t=a[l>>2]|0;if(a[t+212>>2]|0){E=zx(i,f)|0;Qx(E,e);E=a[(a[E+16>>2]|0)+140>>2]|0;g=+b[E+24>>3];t=a[l>>2]|0;b[t+32>>3]=g;v=+b[E+32>>3];b[t+40>>3]=v;g=g*36.0;b[t+88>>3]=g;b[t+96>>3]=g;b[t+80>>3]=v*72.0;i=n;continue}if(a[(a[t+112>>2]|0)+8>>2]|0){i=n;continue}Cd(f,i)|0;i=n}if((vh(f)|0)<=1){i=c;continue}if((a[e>>2]|0)==(A|0))Zj(f)|0;nT(f,s);i=c}i=a[u>>2]|0;if((i|0)<=1)if((i|0)==1){xR(a[h>>2]|0);i=0}else i=0;else{if(!(a[w>>2]|0))f=0;else{f=qF(i)|0;r[f>>0]=1;i=a[u>>2]|0}a[e+40>>2]=f;i=pE(i,h,0,e+20|0)|0;L2(f)}Yx(o,a[u>>2]|0,h,i,A,e);L2(i);f=cd(o)|0;while(1){if(!f)break;n=a[f+16>>2]|0;i=a[n+212>>2]|0;if(!i){i=a[(a[n+112>>2]|0)+8>>2]|0;if(i|0){u=a[n+132>>2]|0;E=a[(a[i+16>>2]|0)+132>>2]|0;b[E>>3]=+b[u>>3];b[E+8>>3]=+b[u+8>>3]}}else{u=a[n+132>>2]|0;I=+b[n+32>>3];C=+b[u>>3]-I*.5;E=a[(a[i+16>>2]|0)+140>>2]|0;b[E+8>>3]=C;v=+b[n+40>>3];g=+b[u+8>>3]-v*.5;b[E+16>>3]=g;b[E+24>>3]=I+C;b[E+32>>3]=v+g}f=bd(o,f)|0}E=(a[(a[A+16>>2]|0)+140>>2]|0)+8|0;u=(a[(a[o+16>>2]|0)+140>>2]|0)+8|0;a[E>>2]=a[u>>2];a[E+4>>2]=a[u+4>>2];a[E+8>>2]=a[u+8>>2];a[E+12>>2]=a[u+12>>2];a[E+16>>2]=a[u+16>>2];a[E+20>>2]=a[u+20>>2];a[E+24>>2]=a[u+24>>2];a[E+28>>2]=a[u+28>>2];Dx(o,h);L2(h);if(0){E=a[15712]|0;a[d>>2]=Vh(A)|0;f3(E,90734,d)|0}k=B;return}function mx(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;if(r[i+118>>0]|0){c=a[(a[(a[i+212>>2]|0)+16>>2]|0)+140>>2]|0;t=+b[c+24>>3]-+b[c+8>>3];l=+b[c+32>>3]-+b[c+16>>3];n=t*36.0;f=l*36.0;c=a[i+132>>2]|0;b[c>>3]=t*.5;b[c+8>>3]=l*.5;b[i+32>>3]=t;b[i+40>>3]=l;b[i+96>>3]=n;b[i+88>>3]=n;b[i+80>>3]=l*72.0;i=a[(a[i+12>>2]|0)+44>>2]|0;b[i>>3]=n;b[i+8>>3]=f;l=-n;b[i+16>>3]=l;b[i+24>>3]=f;b[i+32>>3]=l;f=-f;b[i+40>>3]=f;b[i+48>>3]=n;b[i+56>>3]=f}e=bd(A,e)|0}return}function Lx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0,t=0,c=0.0,s=0,w=0.0,u=0,k=0.0,o=0;l=A+16|0;t=a[(a[l>>2]|0)+140>>2]|0;f=+b[t+8>>3];n=+b[t+16>>3];t=(A|0)!=(e|0);A:do{if(t){i=cd(A)|0;while(1){if(!i){A=1;break A}r=a[i+16>>2]|0;if((a[r+212>>2]|0)==(A|0)){r=a[r+132>>2]|0;b[r>>3]=+b[r>>3]+f;r=r+8|0;b[r>>3]=+b[r>>3]+n}i=bd(A,i)|0}}else A=1}while(0);while(1){i=a[l>>2]|0;if((A|0)>(a[i+180>>2]|0))break;i=a[(a[i+184>>2]|0)+(A<<2)>>2]|0;if(t){r=a[(a[i+16>>2]|0)+140>>2]|0;o=r+8|0;u=r+16|0;s=r+24|0;r=r+32|0;k=+b[u>>3]+n;w=+b[s>>3]+f;c=+b[r>>3]+n;b[o>>3]=+b[o>>3]+f;b[u>>3]=k;b[s>>3]=w;b[r>>3]=c}Lx(i,e);A=A+1|0}return}function Wx(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0;e=A+16|0;A=a[e>>2]|0;i=a[A+140>>2]|0;n=+b[i+16>>3]*72.0;f=+b[i+24>>3]*72.0;r=+b[i+32>>3]*72.0;b[A+16>>3]=+b[i+8>>3]*72.0;b[A+24>>3]=n;b[A+32>>3]=f;b[A+40>>3]=r;A=1;while(1){i=a[e>>2]|0;if((A|0)>(a[i+180>>2]|0))break;Wx(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function yx(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+160|0;B=Z+24|0;v=Z+8|0;n=Z;i=Z+56|0;C=e+16|0;I=a[C>>2]|0;a[C>>2]=I+1;a[B>>2]=I;P4(i,90796,B)|0;if(0>1){I=a[15712]|0;C=Vh(A)|0;a[n>>2]=i;a[n+4>>2]=C;f3(I,90803,n)|0}r[B>>0]=r[18588]|0;r[B+1>>0]=r[18589]|0;r[B+2>>0]=r[18590]|0;r[B+3>>0]=r[18591]|0;I=kh(91156,B,0)|0;Td(I,137483,280,1)|0;E=qF(56)|0;C=I+16|0;u=a[C>>2]|0;a[u+140>>2]=E;E=A+16|0;f[u+176>>1]=f[(a[E>>2]|0)+176>>1]|0;Xx(A,I,92507);Xx(A,I,93112);Xx(A,I,91202);u=e+4|0;o=B+16|0;h=B+8|0;d=B+24|0;t=0;w=1;while(1){i=a[E>>2]|0;if((w|0)>(a[i+180>>2]|0))break;a[B>>2]=a[332];a[B+4>>2]=a[333];a[B+8>>2]=a[334];a[B+12>>2]=a[335];a[B+16>>2]=a[336];a[B+20>>2]=a[337];a[B+24>>2]=a[338];a[B+28>>2]=a[339];n=a[(a[i+184>>2]|0)+(w<<2)>>2]|0;JF(n);l=Rx(I,Vh(n)|0)|0;c=l+16|0;i=a[c>>2]|0;a[i+212>>2]=n;s=t+1|0;a[i+120>>2]=t;if(a[u>>2]|0)Hx(n,l,e,B);i=cd(n)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+164>>2]=l;i=bd(n,i)|0}i=a[c>>2]|0;if(r[i+119>>0]|0){c=a[i+132>>2]|0;b[c>>3]=(+b[o>>3]+ +b[B>>3])*.5;b[c+8>>3]=(+b[d>>3]+ +b[h>>3])*.5}t=s;w=w+1|0}c=cd(A)|0;while(1){if(!c)break;i=c+16|0;n=a[i>>2]|0;if(!(a[n+164>>2]|0)){l=n+212|0;B=a[l>>2]|0;if(B|0?(B|0)!=(a[(a[(a[E>>2]|0)+140>>2]|0)+48>>2]|0):0){g=18;break}a[l>>2]=A;if(!(r[n+118>>0]|0)){l=Rx(I,Vh(c)|0)|0;n=a[i>>2]|0;a[n+164>>2]=l;l=a[l+16>>2]|0;a[l+120>>2]=t;b[l+32>>3]=+b[n+32>>3];b[l+40>>3]=+b[n+40>>3];b[l+88>>3]=+b[n+88>>3];b[l+96>>3]=+b[n+96>>3];b[l+80>>3]=+b[n+80>>3];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];i=r[n+119>>0]|0;if(i<<24>>24){e=a[n+132>>2]|0;B=a[l+132>>2]|0;b[B>>3]=+b[e>>3];b[B+8>>3]=+b[e+8>>3];r[l+119>>0]=i}a[(a[l+112>>2]|0)+8>>2]=c;i=t+1|0}else i=t}else i=t;c=bd(A,c)|0;t=i}if((g|0)==18){e=Vh(c)|0;B=Vh(A)|0;g=Vh(a[(a[i>>2]|0)+212>>2]|0)|0;a[v>>2]=e;a[v+4>>2]=B;a[v+8>>2]=g;ao(1,90826,v)|0;fe(187212,1)}s=cd(A)|0;while(1){if(!s)break;w=a[(a[s+16>>2]|0)+164>>2]|0;u=w+16|0;l=Oo(A,s)|0;while(1){if(!l)break;i=a[(a[(a[((a[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((i|0)!=(w|0)){if(i>>>0>w>>>0)c=th(I,w,i,0,1)|0;else c=th(I,i,w,0,1)|0;Td(c,137460,176,1)|0;n=a[l+16>>2]|0;g=a[c+16>>2]|0;b[g+136>>3]=+b[n+136>>3];b[g+128>>3]=+b[n+128>>3];i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=(a[n>>2]|0)+1;n=a[(a[u>>2]|0)+112>>2]|0;v=n+4|0;a[v>>2]=(a[v>>2]|0)+1;if(!(a[g+172>>2]|0)){a[i>>2]=(a[i>>2]|0)+1;a[n>>2]=(a[n>>2]|0)+1}px(c,l)}l=_o(A,l)|0}s=bd(A,s)|0}i=a[(a[E>>2]|0)+140>>2]|0;n=a[i>>2]|0;if(n|0){l=qF((a[i+4>>2]<<4)+16|0)|0;a[a[(a[C>>2]|0)+140>>2]>>2]=l;i=0;while(1){if(!(a[n>>2]|0))break;s=a[(a[(a[n+4>>2]|0)+16>>2]|0)+164>>2]|0;if(s){Ux(A,n);w=Rx(I,193772)|0;u=w+16|0;a[(a[u>>2]|0)+120>>2]=t;if(w>>>0>s>>>0)c=th(I,s,w,0,1)|0;else c=th(I,w,s,0,1)|0;Td(c,137460,176,1)|0;g=a[n>>2]|0;v=a[g+16>>2]|0;E=a[c+16>>2]|0;b[E+136>>3]=+b[v+136>>3];b[E+128>>3]=+b[v+128>>3];px(c,g);g=a[(a[u>>2]|0)+112>>2]|0;E=g+4|0;a[E>>2]=(a[E>>2]|0)+1;E=a[(a[s+16>>2]|0)+112>>2]|0;v=E+4|0;a[v>>2]=(a[v>>2]|0)+1;a[g>>2]=(a[g>>2]|0)+1;a[E>>2]=(a[E>>2]|0)+1;a[l+4>>2]=w;b[l+8>>3]=+b[n+8>>3];a[l>>2]=c;i=i+1|0;l=l+16|0;t=t+1|0}n=n+16|0}a[(a[(a[C>>2]|0)+140>>2]|0)+4>>2]=i}k=Z;return I|0}function zx(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=a[A+16>>2]|0;c=a[s+212>>2]|0;s=a[(a[s+112>>2]|0)+4>>2]|0;do{if(s|0){t=qF((s<<4)+16|0)|0;f=Vx(A,e)|0;n=f+8|0;e=0;r=f;while(1){if(!(a[r>>2]|0))break;l=r+24|0;if(!(a[l>>2]|0))i=+b[n>>3]+6.283185307179586;else i=+b[r+32>>3];e=Jx(A,r,t,e,i)|0;r=l}if((e|0)==(s|0)){A=a[(a[c+16>>2]|0)+140>>2]|0;a[A>>2]=t;a[A+4>>2]=s;L2(f);break}else vA(90742,90752,766,90761)}}while(0);return c|0}function Yx(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0.0;m=k;k=k+32|0;I=m+16|0;Q=m;s=a[n+8>>2]|0;t=a[n+12>>2]|0;Z=(a[n>>2]|0)==(f|0);G=(e|0)!=0;A:do{if(G){o=a[(a[i>>2]|0)+16>>2]|0;c=+b[o+16>>3];s=~~(c+(c>=0.0?.5:-.5));a[Q>>2]=s;c=+b[o+24>>3];n=~~(c+(c>=0.0?.5:-.5));g=Q+4|0;a[g>>2]=n;c=+b[o+32>>3];w=~~(c+(c>=0.0?.5:-.5));E=Q+8|0;a[E>>2]=w;c=+b[o+40>>3];o=~~(c+(c>=0.0?.5:-.5));C=Q+12|0;a[C>>2]=o;if((e|0)>1){h=a[r>>2]|0;v=a[r+4>>2]|0;s=h+s|0;a[Q>>2]=s;e=v+n|0;a[g>>2]=e;w=h+w|0;a[E>>2]=w;h=I+4|0;d=I+8|0;B=I+12|0;u=r;n=i;v=v+o|0;o=e;while(1){n=n+4|0;t=u+8|0;a[C>>2]=v;e=a[n>>2]|0;if(!e){t=0;d=o;B=v;break A}y=a[e+16>>2]|0;Y=+b[y+16>>3];l=+b[y+24>>3];c=+b[y+32>>3];D=+b[y+40>>3];y=~~(D+(D>=0.0?.5:-.5));a[B>>2]=y;e=a[t>>2]|0;z=a[u+12>>2]|0;W=e+~~(Y+(Y>=0.0?.5:-.5))|0;a[I>>2]=W;L=z+~~(l+(l>=0.0?.5:-.5))|0;a[h>>2]=L;e=e+~~(c+(c>=0.0?.5:-.5))|0;a[d>>2]=e;y=z+y|0;a[B>>2]=y;W=a[((s|0)<(W|0)?Q:I)>>2]|0;a[Q>>2]=W;L=a[((o|0)<(L|0)?Q:I)+4>>2]|0;a[g>>2]=L;e=a[((w|0)>(e|0)?Q:I)+8>>2]|0;a[E>>2]=e;u=t;v=a[((v|0)>(y|0)?Q:I)+12>>2]|0;s=W;o=L;w=e}}else{t=0;d=n;B=o}}else{a[Q>>2]=0;a[Q+4>>2]=0;w=kR(f,s,54,3)|0;a[Q+8>>2]=w;B=kR(f,t,36,3)|0;a[Q+12>>2]=B;t=1;s=0;d=0}}while(0);e=f+16|0;u=a[e>>2]|0;n=a[u+12>>2]|0;if(n){D=+b[n+24>>3];n=s-w+~~(D+(D>=0.0?.5:-.5))|0;if((n|0)>0){n=n>>>1;s=s-n|0;a[Q>>2]=s;w=w+n|0;a[Q+8>>2]=w;n=0}else n=0}else n=t;if(Z|(n|0)!=0){t=0;n=u}else{t=kR(A,a[47144]|0,8,0)|0;n=a[e>>2]|0}h=t-s|0;o=~~(+b[n+56>>3]+ +(t-d|0));a[Q>>2]=0;a[Q+4>>2]=0;u=h+t+w|0;a[Q+8>>2]=u;e=~~(+b[n+88>>3]+ +(t+o|0)+ +(B|0));a[Q+12>>2]=e;A:do{if(G){n=r;e:while(1){w=i+4|0;t=a[i>>2]|0;if(!t)break A;if(!n){s=0;i=h;n=o}else{s=n+8|0;i=(a[n>>2]|0)+h|0;n=(a[n+4>>2]|0)+o|0}c=+(i|0)*.013888888888888888;l=+(n|0)*.013888888888888888;i=cd(t)|0;while(1){if(!i){i=w;n=s;continue e}z=a[(a[i+16>>2]|0)+132>>2]|0;b[z>>3]=+b[z>>3]+c;z=z+8|0;b[z>>3]=+b[z>>3]+l;i=bd(t,i)|0}}}}while(0);z=a[(a[A+16>>2]|0)+140>>2]|0;y=z+8|0;a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;b[z+24>>3]=+(u|0)*.013888888888888888;b[z+32>>3]=+(e|0)*.013888888888888888;k=m;return}function Dx(A,e){A=A|0;e=e|0;var i=0,r=0;while(1){i=a[e>>2]|0;if(!i)break;Mx(i);Sd(i,137483)|0;e=e+4|0}e=a[a[(a[A+16>>2]|0)+140>>2]>>2]|0;if(e|0)L2(e);Mx(A);Sd(A,137483)|0;i=cd(A)|0;while(1){if(!i)break;r=bd(A,i)|0;e=Oo(A,i)|0;while(1){if(!e)break;L2(a[(a[e+16>>2]|0)+172>>2]|0);Sd(e,137460)|0;e=_o(A,e)|0}Fx(i);i=r}Bh(A)|0;return}function Mx(A){A=A|0;L2(a[(a[A+16>>2]|0)+140>>2]|0);return}function Fx(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+112>>2]|0);L2(a[(a[e>>2]|0)+132>>2]|0);Sd(A,137447)|0;return}function Vx(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;c=A+16|0;s=a[a[(a[c>>2]|0)+112>>2]>>2]|0;w=qF((s*24|0)+24|0)|0;l=0;t=Ah(e,A)|0;while(1){if(!t)break;f=a[t>>2]&3;r=a[((f|0)==2?t:t+-48|0)+40>>2]|0;if((r|0)==(A|0))r=a[((f|0)==3?t:t+48|0)+40>>2]|0;r=a[(a[r+16>>2]|0)+132>>2]|0;f=a[(a[c>>2]|0)+132>>2]|0;n=+b[r>>3]-+b[f>>3];i=+b[r+8>>3]-+b[f+8>>3];a[w+(l*24|0)>>2]=t;b[w+(l*24|0)+8>>3]=+X(+i,+n);b[w+(l*24|0)+16>>3]=i*i+n*n;l=l+1|0;t=eh(e,t,A)|0}if((l|0)!=(s|0))vA(90775,90752,642,90784);K4(w,s,24,67);A:do{if((s|0)>1){t=s+-1|0;r=0;e:while(1){if((r|0)>=(t|0))break A;n=+b[w+(r*24|0)+8>>3];f=r+1|0;l=f;while(1){if((l|0)>=(s|0))break;if(!(+b[w+(l*24|0)+8>>3]==n))break;l=l+1|0}if((l|0)==(f|0)){r=f;continue}if((l|0)==(s|0))i=3.141592653589793;else i=+b[w+(l*24|0)+8>>3];i=(i-n)/+(l-r|0);i=i>.03490658503988659?.03490658503988659:i;n=0.0;while(1){if((r|0)>=(l|0))continue e;c=w+(r*24|0)+8|0;b[c>>3]=+b[c>>3]+n;n=n+i;r=r+1|0}}}}while(0);return w|0}function Jx(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=+n;var l=0,t=0,c=0,s=0.0,w=0,u=0,k=0,o=0.0,h=0;c=a[e>>2]|0;u=a[c+16>>2]|0;w=f[u+168>>1]|0;k=w<<16>>16;t=a[c>>2]&3;l=a[((t|0)==2?c:c+-48|0)+40>>2]|0;if((l|0)==(A|0))l=a[((t|0)==3?c:c+48|0)+40>>2]|0;o=+b[e+8>>3];n=(n-o)/+(w<<16>>16);n=n>.03490658503988659?.03490658503988659:n;w=l>>>0>A>>>0;s=w?n:-n;e=w?1:-1;c=0;l=a[u+172>>2]|0;t=w?r:r+-1+k|0;n=w?o:n*+(k+-1|0)+o;while(1){if((c|0)>=(k|0))break;u=a[l>>2]|0;a[i+(t<<4)>>2]=u;w=a[u>>2]&3;h=(w|0)==3?u:u+48|0;a[i+(t<<4)+4>>2]=a[((a[(a[(a[h+40>>2]|0)+16>>2]|0)+164>>2]|0)==(A|0)?h:(w|0)==2?u:u+-48|0)+40>>2];b[i+(t<<4)+8>>3]=n;c=c+1|0;l=l+4|0;t=t+e|0;n=n+s}return k+r|0}function Nx(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(i>r))if(!(i>3];i=+b[e+16>>3];if(r>i)A=1;else A=(r>31}else A=-1;else A=1;return A|0}function Xx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Yo(A,0,i,0)|0;do{if(r|0){A=Uo(A,r)|0;r=Yo(e,0,i,0)|0;if(!r){Yo(e,0,i,A)|0;break}else{Vo(e,r,A)|0;break}}}while(0);return}function Rx(A,e){A=A|0;e=e|0;var i=0,r=0;e=vd(A,e,1)|0;Td(e,137447,304,1)|0;r=qF(32)|0;i=e+16|0;a[(a[i>>2]|0)+112>>2]=r;A=$F((l[(a[A+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[i>>2]|0)+132>>2]=A;return e|0}function Hx(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+80|0;w=h+56|0;s=h+32|0;o=h;u=h+64|0;l=a[i+4>>2]|0;c=Uo(A,l)|0;do{if(r[c>>0]|0){if((a[i>>2]|0)!=(A|0)){i=Uo(pB(A)|0,l)|0;if((i|0)==(c|0))break;if(!(A1(c,i)|0))break}r[u>>0]=0;i=o+8|0;l=o+16|0;t=o+24|0;a[s>>2]=o;a[s+4>>2]=i;a[s+8>>2]=l;a[s+12>>2]=t;a[s+16>>2]=u;if((J3(c,90937,s)|0)<=3){a[w>>2]=Vh(A)|0;a[w+4>>2]=c;ao(0,90955,w)|0;break}n=+b[23293];if(n>0.0){b[o>>3]=+b[o>>3]/n;b[i>>3]=+b[i>>3]/n;b[l>>3]=+b[l>>3]/n;b[t>>3]=+b[t>>3]/n}i=r[u>>0]|0;if(i<<24>>24==33)r[(a[e+16>>2]|0)+119>>0]=3;else r[(a[e+16>>2]|0)+119>>0]=i<<24>>24==63?2:1;a[f>>2]=a[o>>2];a[f+4>>2]=a[o+4>>2];a[f+8>>2]=a[o+8>>2];a[f+12>>2]=a[o+12>>2];a[f+16>>2]=a[o+16>>2];a[f+20>>2]=a[o+20>>2];a[f+24>>2]=a[o+24>>2];a[f+28>>2]=a[o+28>>2]}}while(0);k=h;return}function px(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+16|0;r=a[n>>2]|0;A=f[r+168>>1]|0;r=a[r+172>>2]|0;if(!r){A=A<<16>>16;i=A;A=$F((A<<2)+4|0)|0}else{A=A<<16>>16;i=A;A=eV(r,(A<<2)+4|0)|0}a[A+(i<<2)>>2]=e;e=a[n>>2]|0;a[e+172>>2]=A;e=e+168|0;f[e>>1]=(f[e>>1]|0)+1<<16>>16;return}function Ux(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+48|0;l=t+24|0;n=t;r=a[e>>2]|0;i=a[r>>2]&3;f=a[((i|0)==2?r:r+-48|0)+40>>2]|0;i=a[((i|0)==3?r:r+48|0)+40>>2]|0;e=S2(Vh(A)|0)|0;c=S2(Vh(f)|0)|0;c=(e+8+c+(S2(Vh(i)|0)|0)|0)>999;e=Vh(A)|0;if(c){i=Vh(i)|0;c=Vh(f)|0;l=(a[r>>2]|0)>>>4;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=c;c=n+16|0;a[c>>2]=l;a[c+4>>2]=0;P4(193772,90895,n)|0}else{i=a[(a[i+16>>2]|0)+120>>2]|0;c=a[(a[f+16>>2]|0)+120>>2]|0;n=(a[r>>2]|0)>>>4;a[l>>2]=e;a[l+4>>2]=i;a[l+8>>2]=c;c=l+16|0;a[c>>2]=n;a[c+4>>2]=0;P4(193772,90914,l)|0}k=t;return}function xx(A){A=A|0;var e=0,i=0,r=0.0,n=0.0,l=0,t=0,c=0;t=4;l=m2(40)|0;a[l>>2]=0;n=+b[23293];d=0;r=+AA(1,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)!=1){b[23293]=r;d=0;sA(102,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)!=1){l=L6(187212,1,l|0,t|0)|0;t=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){e=W6(a[i>>2]|0,l|0,t|0)|0;if(!e)fe(i|0,B|0);L=B}else e=-1;if((e|0)!=1)e=0;else e=L}else e=L}else e=L;while(1){if(e|0)break;d=0;sA(103,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}d=0;iA(22,A|0)|0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}if(f[(a[A+16>>2]|0)+136>>1]&14){d=0;sA(104,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}}d=0;wA(22,A|0,0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1)e=L;else{c=12;break}}if((c|0)==12)b[23293]=n;L2(l|0);return}function Tx(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;i=A+16|0;r=f[(a[i>>2]|0)+136>>1]&14;e=r&65535;if((r&65535)>8){if(r<<16>>16==12){if(Fp(A,22,10)|0){a[47134]=2;l=5}}else l=5;do{if((l|0)==5)if(!(f[(a[i>>2]|0)+136>>1]&1)){Jp(A,e)|0;break}else{ao(0,90998,n)|0;e=2;break}}while(0);a[47134]=0}if((a[47138]|0)<1)Jp(A,e)|0;k=t;return}function jx(A){A=A|0;var e=0.0,i=0.0,r=0;r=k;k=k+16|0;a[46474]=1;a[46475]=1;a[46477]=-1;a[46479]=50;b[23245]=0.0;b[23240]=0.0;b[23241]=1.0;a[46478]=kR(A,Yo(A,0,91061,0)|0,600,0)|0;i=+oR(A,Yo(A,0,91202,0)|0,.3,0.0);b[23242]=i;b[1371]=i;if(-1.0==-1.0)e=+oR(A,Yo(A,0,91069,0)|0,-1.0,0.0);else e=-1.0;b[23243]=e;a[46476]=1;A=ep(A,2,185904)|0;a[46488]=A;if(!A){ao(0,91072,r)|0;a[46476]=2}a[46504]=(U(a[46478]|0,a[46479]|0)|0)/100|0;i=+b[23242];b[23247]=i*i;if(a[46474]|0){e=+b[23245];if(e<=0.0){e=i*3.0;b[23245]=e}b[23246]=e*e}k=r;return}function Sx(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0;t=k;k=k+16|0;i=t;n=a[a[(a[A+16>>2]|0)+140>>2]>>2]|0;l=Px(A,e)|0;Ox(i,A,n);r=+b[i>>3];f=+b[i+8>>3];A:do{if(!(a[46474]|0)){e=0;while(1){if((e|0)>=(a[46505]|0))break A;qx(A,+Kx(e),n);e=e+1|0}}else{i=I_(vh(A)|0)|0;L_(i,vh(A)|0);e=0;while(1){if((e|0)>=(a[46505]|0))break;_x(A,+Kx(e),n,i);e=e+1|0}y_(i)}}while(0);A:do{if(r!=0.0|f!=0.0){e=cd(A)|0;while(1){if(!e)break A;n=a[(a[e+16>>2]|0)+132>>2]|0;b[n>>3]=+b[n>>3]+r;n=n+8|0;b[n>>3]=+b[n>>3]+f;e=bd(A,e)|0}}}while(0);if(l|0)$x();k=t;return}function Px(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0;if(+b[23243]==-1.0){l=vh(A)|0;i=+b[23242];b[23243]=+b[23241]*.2*i*+z(+ +(l|0));l=1}else{l=0;i=+b[23242]}n=a[46504]|0;b[e+8>>3]=+Kx(n);b[e+16>>3]=i;b[e+24>>3]=+b[23240];r=a[46478]|0;A=r-n|0;a[e>>2]=A;f=a[46477]|0;do{if((f|0)>-1){if((f|0)<=(n|0)){a[46505]=f;A=0;t=10;break}if((f|0)<=(r|0)){a[46505]=n;A=f-n|0;t=10}}else{a[46505]=n;t=10}}while(0);if((t|0)==10)a[e+32>>2]=A;return l|0}function Ox(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0.0,w=0.0,u=0,k=0.0,o=0.0,h=0,d=0,B=0.0,v=0.0,g=0,E=0,C=0.0,I=0,Z=0,G=0;E=vh(e)|0;I=a[(a[(a[e+16>>2]|0)+140>>2]|0)+4>>2]|0;g=cd(e)|0;h=0;d=0;n=0;c=0;u=0;while(1){if(!g)break;f=a[g+16>>2]|0;if(!(r[f+119>>0]|0))f=d;else{f=a[f+132>>2]|0;l=+b[f>>3];if(!h){c=~~l;n=~~+b[f+8>>3];u=n;f=c}else{o=+(d|0);B=+b[f+8>>3];v=+(n|0);C=+(c|0);k=+(u|0);u=~~(B>k?B:k);f=~~(lC?l:C)}h=h+1|0}g=bd(e,g)|0;d=f}l=+b[23242]*(+z(+ +(E-I|0))+1.0);B=l*.6;b[23249]=B;b[23248]=B;if((h|0)!=1)if((h|0)>1){v=+(c+d|0)*.5;C=+(u+n|0)*.5;k=+(c-d|0);o=k*1.2;s=+(u-n|0);w=s*1.2;l=l*2.4*B;t=w*o/l;do{if(!(t>=1.0)){if(t>0.0){l=+z(+t)*2.0;t=o/l;b[23248]=t;l=w/l;G=20;break}if(o>0.0){t=k*.6;b[23248]=t;l=l/o*.5;G=20;break}if(w>0.0){t=l/w*.5;b[23248]=t;l=s*.6;G=20}else{l=B;t=B}}else{t=k*.6;b[23248]=t;l=s*.6;G=20}}while(0);if((G|0)==20)b[23249]=l;B=+X(+l,+t);t=t/+D(+B);b[23248]=t;l=l/+M(+B);b[23249]=l}else{v=0.0;C=0.0;t=B;l=B}else{v=+(d|0);C=+(n|0);t=B;l=B}b[23250]=t*t;b[23251]=l*l;if((a[46488]|0)==2)f=a[46476]|0;else{f=z3()|0;f=(ne(0)|0)^f}l8(f);A:do{if(!i){i=cd(e)|0;if(!h)while(1){if(!i)break A;B=+b[23248];B=(+c8()*2.0+-1.0)*B;G=i+16|0;b[a[(a[G>>2]|0)+132>>2]>>3]=B;B=+b[23249];B=(+c8()*2.0+-1.0)*B;b[(a[(a[G>>2]|0)+132>>2]|0)+8>>3]=B;i=bd(e,i)|0}while(1){if(!i)break A;f=i+16|0;n=a[f>>2]|0;if(!(r[n+119>>0]|0)){B=+b[23248];B=(+c8()*2.0+-1.0)*B;b[a[(a[f>>2]|0)+132>>2]>>3]=B;B=+b[23249];B=(+c8()*2.0+-1.0)*B;b[(a[(a[f>>2]|0)+132>>2]|0)+8>>3]=B}else{G=a[n+132>>2]|0;b[G>>3]=+b[G>>3]-v;G=G+8|0;b[G>>3]=+b[G>>3]-C}i=bd(e,i)|0}}else{while(1){if(!(a[i>>2]|0))break;g=i+8|0;B=+D(+ +b[g>>3])*+b[23248]+v;I=a[(a[i+4>>2]|0)+16>>2]|0;E=a[I+132>>2]|0;b[E>>3]=B;b[E+8>>3]=+M(+ +b[g>>3])*+b[23249]+C;r[I+119>>0]=1;i=i+16|0}s=v*.1;w=C*.1;d=cd(e)|0;while(1){if(!d)break A;h=d+16|0;i=a[h>>2]|0;if(!((a[(a[i+112>>2]|0)+8>>2]|0)==0?!(a[i+212>>2]|0):0))G=32;do{if((G|0)==32){G=0;if(r[i+119>>0]|0){I=a[i+132>>2]|0;b[I>>3]=+b[I>>3]-v;I=I+8|0;b[I>>3]=+b[I>>3]-C;break}u=Ah(e,d)|0;i=0;t=0.0;l=0.0;while(1){if(!u)break;c=a[u>>2]&3;f=(c|0)==2?u:u+-48|0;n=a[f+40>>2]|0;c=(c|0)==3?u:u+48|0;do{if((n|0)!=(a[c+40>>2]|0)?(Z=a[(a[((n|0)==(d|0)?c:f)+40>>2]|0)+16>>2]|0,(r[Z+119>>0]|0)!=0):0)if(!i){I=a[Z+132>>2]|0;i=1;t=+b[I>>3];l=+b[I+8>>3];break}else{o=+(i|0);I=a[Z+132>>2]|0;i=i+1|0;B=+(i|0);t=(+b[I>>3]+t*o)/B;l=(+b[I+8>>3]+l*o)/B;break}}while(0);u=eh(e,u,d)|0}do{if((i|0)<=1)if((i|0)==1){f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=t*.98+s;l=l*.9+w;break}else{l=+c8()*6.283185307179586;B=+c8()*.9;o=B*+b[23248]*+D(+l);f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=o;l=+b[23249]*B*+M(+l);break}else{f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=t}}while(0);b[i+8>>3]=l;r[f+119>>0]=1}}while(0);d=bd(e,d)|0}}}while(0);b[A>>3]=v;b[A+8>>3]=C;return}function Kx(A){A=A|0;var e=0;e=a[46478]|0;return+(+b[23243]*+(e-A|0)/+(e|0))}function _x(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0;if(!(e<=0.0)){W_(r);f=cd(A)|0;while(1){if(!f)break;l=a[f+16>>2]|0;n=(a[l+112>>2]|0)+16|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;l=a[l+132>>2]|0;t=+b[23245];n=~~+W(+(+b[l>>3]/t));Y_(r,n,~~+W(+(+b[l+8>>3]/t)),f);f=bd(A,f)|0}n=cd(A)|0;while(1){if(!n)break;f=Oo(A,n)|0;while(1){if(!f)break;l=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((n|0)!=(l|0))eT(n,l,f);f=_o(A,f)|0}n=bd(A,n)|0}M_(r,23);iT(A,e,i)}return}function qx(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,n=0;if(!(e<=0.0)){r=cd(A)|0;while(1){if(!r)break;n=(a[(a[r+16>>2]|0)+112>>2]|0)+16|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;r=bd(A,r)|0}n=cd(A)|0;while(1){if(!n)break;else r=n;while(1){r=bd(A,r)|0;if(!r)break;AT(n,r)}r=Oo(A,n)|0;while(1){if(!r)break;f=a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0;if((n|0)!=(f|0))eT(n,f,r);r=_o(A,r)|0}n=bd(A,n)|0}iT(A,e,i)}return}function $x(){b[23243]=-1.0;return}function AT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0;n=a[(a[e+16>>2]|0)+132>>2]|0;f=a[(a[A+16>>2]|0)+132>>2]|0;i=+b[n>>3]-+b[f>>3];r=+b[n+8>>3]-+b[f+8>>3];rT(A,e,i,r,r*r+i*i);return}function eT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0,t=0,c=0;t=e+16|0;c=a[(a[t>>2]|0)+132>>2]|0;A=A+16|0;e=a[(a[A>>2]|0)+132>>2]|0;r=+b[c>>3]-+b[e>>3];f=+b[c+8>>3]-+b[e+8>>3];n=r;l=f;r=r*r;f=f*f;while(1){r=r+f;if(!(r==0.0))break;r=+(5-((a8()|0)%10|0)|0);f=+(5-((a8()|0)%10|0)|0);n=r;l=f;r=r*r;f=f*f}f=+z(+r);e=a[i+16>>2]|0;r=+b[e+128>>3];if(!(a[46475]|0))r=r*f/+b[e+136>>3];else r=(f-+b[e+136>>3])*r/f;n=r*n;c=a[(a[t>>2]|0)+112>>2]|0;t=c+16|0;b[t>>3]=+b[t>>3]-n;l=r*l;c=c+24|0;b[c>>3]=+b[c>>3]-l;c=a[(a[A>>2]|0)+112>>2]|0;t=c+16|0;b[t>>3]=+b[t>>3]+n;c=c+24|0;b[c>>3]=+b[c>>3]+l;return}function iT(A,e,i){A=A|0;e=+e;i=i|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0;k=e*e;u=(i|0)==0;w=cd(A)|0;while(1){if(!w)break;s=a[w+16>>2]|0;if(!(r[s+119>>0]&2)){c=a[s+112>>2]|0;f=+b[c+16>>3];l=+b[c+24>>3];n=l*l+f*f;if(n>2]|0;t=+b[i>>3]+f;f=+b[i+8>>3]+l}else{n=e/+z(+n);i=a[s+132>>2]|0;t=+b[i>>3]+n*f;f=+b[i+8>>3]+n*l}do{if(!u){n=+z(+(f*f/+b[23251]+t*t/+b[23250]));if((a[c+8>>2]|0)==0?(a[s+212>>2]|0)==0:0){b[i>>3]=t/n;f=f/n;break}if(!(n>=1.0)){b[i>>3]=t;break}else{b[i>>3]=t*.95/n;f=f*.95/n;break}}else b[i>>3]=t}while(0);b[i+8>>3]=f}w=bd(A,w)|0}return}function rT(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=+r;f=+f;var n=0.0,l=0,t=0;n=i;i=f;while(1){if(!(i==0.0))break;i=+(5-((a8()|0)%10|0)|0);r=+(5-((a8()|0)%10|0)|0);n=i;i=r*r+i*i}if(!(a[46475]|0))i=+b[23247]/i;else{f=+z(+i);i=+b[23247]/(f*i)}t=a[A+16>>2]|0;A=a[t+112>>2]|0;if(((a[A+8>>2]|0)==0?(a[t+212>>2]|0)==0:0)?(l=a[e+16>>2]|0,(a[(a[l+112>>2]|0)+8>>2]|0)==0):0)i=(a[l+212>>2]|0)==0?i*10.0:i;f=i*n;t=a[(a[e+16>>2]|0)+112>>2]|0;e=t+16|0;b[e>>3]=+b[e>>3]+f;n=i*r;t=t+24|0;b[t>>3]=+b[t>>3]+n;t=A+16|0;b[t>>3]=+b[t>>3]-f;t=A+24|0;b[t>>3]=+b[t>>3]-n;return}function fT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;f=a[e+8>>2]|0;n=a[e>>2]|0;r=a[e+4>>2]|0;e=f;while(1){if(!e)break;A=f;while(1){if(!A)break;if((e|0)!=(A|0))AT(a[e>>2]|0,a[A>>2]|0);A=a[A+4>>2]|0}e=a[e+4>>2]|0}l=n+-1|0;A=r+-1|0;aT(i,l,A,f);aT(i,l,r,f);e=r+1|0;aT(i,l,e,f);aT(i,n,A,f);aT(i,n,e,f);n=n+1|0;aT(i,n,A,f);aT(i,n,r,f);aT(i,n,e,f);return 0}function aT(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0;A=F_(A,e,i)|0;if((r|0)!=0&(A|0)!=0){c=A+8|0;do{i=a[r>>2]|0;t=i+16|0;A=c;while(1){A=a[A>>2]|0;if(!A)break;e=a[A>>2]|0;w=a[(a[e+16>>2]|0)+132>>2]|0;s=a[(a[t>>2]|0)+132>>2]|0;f=+b[w>>3]-+b[s>>3];n=+b[w+8>>3]-+b[s+8>>3];l=n*n+f*f;if(l<+b[23246])rT(i,e,f,n,l);A=A+4|0}r=a[r+4>>2]|0}while((r|0)!=0)}return}function nT(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+16|0;n=l;i=po(A,92507)|0;if(0)L3(91116,8,1,a[15712]|0)|0;if(!((i|0)!=0?(r[i>>0]|0)!=0:0))i=91125;f=G1(i,58)|0;do{if(!f)f=0;else{if((f|0)!=(i|0)?((r[i>>0]|0)+-48|0)>>>0>=10:0){f=0;break}t=q3(i)|0;i=f+1|0;f=(t|0)>0?t:0}}while(0);if(0){t=a[15712]|0;a[n>>2]=f;a[n+4>>2]=i;f3(t,91133,n)|0}if(!((f|0)!=0?!(lT(A,e,f)|0):0))AS(A,i)|0;k=l;return}function lT(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0;v=k;k=k+64|0;d=v;l=v+40|0;B=vh(A)|0;t=gh(A)|0;qj(l,A);a[46842]=a[l>>2];a[46843]=a[l+4>>2];a[46844]=a[l+8>>2];if(r[187376]|0){c[46842]=+c[46842]*.013888888888888888;c[46843]=+c[46843]*.013888888888888888}f=tT(A)|0;A:do{if(!f)f=0;else{l=d;n=l+40|0;do{a[l>>2]=a[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(n|0));l=d+16|0;h=+b[l>>3];u=+(t|0)*2.0;o=1.0/+(U(B+-1|0,B)|0);n=0;w=h;while(1){if(!((f|0)!=0&(n|0)<(i|0)))break A;cT(B,d);s=+b[23253]*+b[170];b[23254]=s;b[23255]=u*s*o;e=0;while(1){if((e|0)>=(a[46512]|0))break;s=+bT(e);if(s<=0.0)break;f=sT(A,s)|0;if(!f){f=0;break}else e=e+1|0}s=w+h;b[l>>3]=s;n=n+1|0;w=s}}}while(0);k=v;return f|0}function tT(A){A=A|0;var e=0,i=0,r=0,f=0;e=0;f=cd(A)|0;while(1){if(!f)break;else r=f;while(1){i=bd(A,r)|0;if(!i)break;r=i;e=(kT(f,i)|0)+e|0}f=bd(A,f)|0}return e|0}function cT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0;r=+b[e+16>>3];b[171]=r;a[344]=a[e>>2];f=+b[e+8>>3];b[23257]=f;a[46512]=a[e+32>>2];i=+b[e+24>>3];if(i>0.0)b[170]=i;b[23253]=r*r;if(f==0.0)b[23257]=+z(+ +(A|0))*.2*r;return}function bT(A){A=A|0;var e=0;e=a[344]|0;return+(+b[23257]*+(e-A|0)/+(e|0))}function sT(A,e){A=A|0;e=+e;var i=0,f=0,n=0,l=0.0,t=0,c=0.0,s=0.0,w=0.0;i=cd(A)|0;while(1){if(!i)break;t=(a[(a[i+16>>2]|0)+112>>2]|0)+16|0;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;i=bd(A,i)|0}i=0;t=cd(A)|0;while(1){if(!t)break;else n=t;while(1){f=bd(A,n)|0;if(!f)break;n=f;i=(wT(t,f)|0)+i|0}f=Oo(A,t)|0;while(1){if(!f)break;uT(t,a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=_o(A,f)|0}t=bd(A,t)|0}A:do{if(!i)i=0;else{w=e*e;n=cd(A)|0;while(1){if(!n)break A;f=a[n+16>>2]|0;if((r[f+119>>0]|0)!=3){t=a[f+112>>2]|0;c=+b[t+16>>3];l=+b[t+24>>3];s=l*l+c*c;if(s>2]|0;b[f>>3]=+b[f>>3]+c}else{s=+z(+s);f=a[f+132>>2]|0;b[f>>3]=+b[f>>3]+c*e/s;l=l*e/s}t=f+8|0;b[t>>3]=+b[t>>3]+l}n=bd(A,n)|0}}}while(0);return i|0}function wT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0;n=a[(a[e+16>>2]|0)+132>>2]|0;f=a[(a[A+16>>2]|0)+132>>2]|0;i=+b[n>>3]-+b[f>>3];r=+b[n+8>>3]-+b[f+8>>3];return hT(A,e,i,r,r*r+i*i)|0}function uT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0.0,l=0,t=0.0,c=0.0,s=0,w=0;if(!(kT(A,e)|0)){l=a[e+16>>2]|0;w=a[l+132>>2]|0;f=a[A+16>>2]|0;s=a[f+132>>2]|0;r=+b[w>>3]-+b[s>>3];i=+b[w+8>>3]-+b[s+8>>3];n=+z(+(i*i+r*r));t=+oT(A);t=+oT(e)+t;c=n-t;n=c*c/((+b[171]+t)*n);r=n*r;e=a[l+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]-r;i=n*i;e=e+24|0;b[e>>3]=+b[e>>3]-i;e=a[f+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]+r;e=e+24|0;b[e>>3]=+b[e>>3]+i}return}function kT(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0.0,t=0,s=0;t=a[e+16>>2]|0;s=a[t+132>>2]|0;e=a[A+16>>2]|0;A=a[e+132>>2]|0;n=+b[s>>3]-+b[A>>3];l=+b[s+8>>3]-+b[A+8>>3];l=l<0.0?-l:l;A=(r[187376]|0)==0;i=+b[e+32>>3];if(A){f=+c[46842];i=i*.5*f;f=+b[t+32>>3]*.5*f}else{f=+c[46842];i=i*.5+f;f=+b[t+32>>3]*.5+f}if(!((n<0.0?-n:n)<=f+i))e=0;else{i=+b[e+40>>3];if(A){n=+c[46843];f=i*.5*n;i=+b[t+40>>3]*.5*n}else{n=+c[46843];f=i*.5+n;i=+b[t+40>>3]*.5+n}e=l<=i+f&1}return e|0}function oT(A){A=A|0;var e=0.0,i=0.0;A=a[A+16>>2]|0;e=+b[A+32>>3];if(!(r[187376]|0)){i=e*.5*+c[46842];e=+b[A+40>>3]*.5*+c[46843]}else{i=e*.5+ +c[46842];e=+b[A+40>>3]*.5+ +c[46843]}return+ +z(+(e*e+i*i))}function hT(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=+r;f=+f;var n=0,l=0;while(1){if(!(f==0.0))break;f=+(5-((a8()|0)%10|0)|0);r=+(5-((a8()|0)%10|0)|0);i=f;f=r*r+f*f}n=kT(A,e)|0;f=((n|0)==0?+b[23255]:+b[23254])/f;i=f*i;e=a[(a[e+16>>2]|0)+112>>2]|0;l=e+16|0;b[l>>3]=+b[l>>3]+i;f=f*r;e=e+24|0;b[e>>3]=+b[e>>3]+f;e=a[(a[A+16>>2]|0)+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]-i;e=e+24|0;b[e>>3]=+b[e>>3]-f;return n|0}function dT(A){A=A|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;BT(A);return}function BT(A){A=A|0;var e=0,i=0,r=0,f=0;r=qF((vh(A)|0)<<2)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;f=A+16|0;a[(a[f>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;RH(e);a[(a[e+16>>2]|0)+112>>2]=r+(i<<2);a[(a[(a[f>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;e=bd(A,e)|0;i=i+1|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;vT(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function vT(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,0.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function gT(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w+4|0;b=w;r[s>>0]=r[18596]|0;r[s+1>>0]=r[18597]|0;r[s+2>>0]=r[18598]|0;r[s+3>>0]=r[18599]|0;s=kh(91156,s,0)|0;Td(s,91164,280,1)|0;a[(a[A+16>>2]|0)+140>>2]=s;i=cd(A)|0;while(1){if(!i)break;f=i+16|0;if(!(a[a[(a[f>>2]|0)+112>>2]>>2]|0)){c=ET(s,Vh(i)|0,i)|0;a[a[(a[f>>2]|0)+112>>2]>>2]=c}i=bd(A,i)|0}f=cd(A)|0;while(1){if(!f)break;i=Oo(A,f)|0;while(1){if(!i)break;l=a[i>>2]&3;n=a[a[(a[(a[((l|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;l=a[a[(a[(a[((l|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((n|0)!=(l|0))Td(th(s,n,l,0,1)|0,137460,176,1)|0;i=_o(A,i)|0}f=bd(A,f)|0}c=WE(s,b,0)|0;f=0;while(1){if((f|0)>=(a[b>>2]|0))break;l=a[c+(f<<2)>>2]|0;i=cd(l)|0;while(1){if(!i)break;n=Oo(A,a[a[(a[i+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!n)break;t=a[a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((i|0)!=(t|0)){t=th(s,i,t,0,1)|0;Td(t,137460,176,1)|0;wh(l,t,1)|0}n=_o(A,n)|0}i=bd(l,i)|0}f=f+1|0}i=cd(s)|0;while(1){if(!i)break;f=Oo(s,i)|0;while(1){if(!f)break;A=qF(8)|0;a[(a[f+16>>2]|0)+120>>2]=A;f=_o(s,f)|0}i=bd(s,i)|0}a[e>>2]=a[b>>2];k=w;return c|0}function ET(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;e=vd(A,e,1)|0;Td(e,137447,304,1)|0;r=qF(40)|0;A=e+16|0;a[(a[A>>2]|0)+112>>2]=r;r=qF(a[47137]<<3)|0;A=a[A>>2]|0;a[A+132>>2]=r;r=a[i+16>>2]|0;b[A+88>>3]=+b[r+88>>3];b[A+96>>3]=+b[r+96>>3];b[A+80>>3]=+b[r+80>>3];a[a[A+112>>2]>>2]=i;return e|0}function CT(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;e=l+32|0;r=l;if(vh(A)|0){n=gT(A,e)|0;f=a[e>>2]|0;e=a[n>>2]|0;if((f|0)==1){Aw(e,A);IT(a[n>>2]|0);eS(A)|0}else{i=a[e+60>>2]|0;bC(A,2,8,r)|0;e=0;while(1){if((e|0)>=(f|0))break;t=a[n+(e<<2)>>2]|0;Aw(t,A);eS(t)|0;e=e+1|0}cC(f,n,i,r)|0;e=0;while(1){if((e|0)>=(f|0))break;IT(a[n+(e<<2)>>2]|0);e=e+1|0}}L2(n)}k=l;return}function IT(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;r=a[i+132>>2]|0;i=a[(a[(a[a[i+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;b[i>>3]=+b[r>>3];b[i+8>>3]=+b[r+8>>3];e=bd(A,e)|0}return}function ZT(A){A=A|0;if(vh(A)|0){dT(A);CT(A);L2(a[(a[(cd(A)|0)+16>>2]|0)+112>>2]|0);Pp(A);VJ(A)}return}function GT(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;if(e|0){r=A+16|0;QT(a[(a[r>>2]|0)+140>>2]|0);while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}L2(a[(a[r>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483)}return}function QT(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;L2(a[(a[e+16>>2]|0)+120>>2]|0);e=_o(A,e)|0}e=i+16|0;L2(a[(a[e>>2]|0)+112>>2]|0);L2(a[(a[e>>2]|0)+132>>2]|0);i=bd(A,i)|0}Bh(A)|0;return}function mT(A){A=A|0;var e=0,i=0.0,f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+112|0;s=B+40|0;w=B+16|0;d=B+100|0;u=B;l=B+88|0;o=B+56|0;LT(A);n=(a[47137]|0)==2;e=n&1;if(vh(A)|0){h=JT()|0;WT(A,h);Qj(A,w,0)|0;if(n&(a[w>>2]|0)==18){a[h+124>>2]=a[w+8>>2];b[h+144>>3]=+b[w+16>>3];qj(l,A);if(!(r[l+8>>0]|0)){f=.05555555555555555;i=.05555555555555555}else{f=+c[l+4>>2]*.013888888888888888;i=+c[l>>2]*.013888888888888888}b[u>>3]=i;b[u+8>>3]=f;e=0}else a[h+124>>2]=-1;if(0)XT(h);t=WE(A,d,0)|0;if((a[d>>2]|0)==1){a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];yT(A,h,s);if(e|0)Wj(A,w)|0;Pp(A);e=0}else{bC(A,2,8,o)|0;a[o+12>>2]=1;l=(e|0)==0;n=0;while(1){e=a[d>>2]|0;if((n|0)>=(e|0))break;e=a[t+(n<<2)>>2]|0;VE(e)|0;a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];yT(e,h,s);if(!l)Wj(e,w)|0;zH(e,2);Pp(e);n=n+1|0}cC(e,t,A,o)|0;e=0}while(1){if((e|0)>=(a[d>>2]|0))break;Cd(A,a[t+(e<<2)>>2]|0)|0;e=e+1|0}L2(t);NT(h)}VJ(A);k=B;return}function LT(A){A=A|0;var e=0,i=0;zH(A,2);e=kR(A,Yo(A,0,91368,0)|0,2,2)|0;i=(kR(A,Yo(A,0,91374,0)|0,e,2)|0)&65535;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=i;if((l[(a[(Zd(A)|0)+16>>2]|0)+176>>1]|0)<10)i=f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]|0;else i=10;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=i;i=i&65535;a[47137]=i;f[(a[(Zd(A)|0)+16>>2]|0)+178>>1]=(e|0)<(i|0)?e:i;MT(A);return}function WT(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+16|0;f=n+8|0;i=n+12|0;r=e+108|0;a[i>>2]=a[r>>2];if((ep(A,2,i)|0)!=2)ao(0,91169,n)|0;a[r>>2]=a[i>>2];b[e+24>>3]=+oR(A,Yo(A,0,91202,0)|0,-1.0,0.0);b[e>>3]=-+oR(A,Yo(A,0,91204,0)|0,1.0001234,0.0);a[e+40>>2]=kR(A,Yo(A,0,91219,0)|0,2147483647,0)|0;a[e+120>>2]=YT(A,Yo(A,0,91226,0)|0)|0;a[e+132>>2]=DT(A,Yo(A,0,91236,0)|0)|0;a[e+136>>2]=0;a[e+112>>2]=(ER(po(A,91245)|0,0)|0)&255;a[e+128>>2]=(ER(po(A,91254)|0,1)|0)&255;b[e+152>>3]=+oR(A,Yo(A,0,91269,0)|0,0.0,-1797693134862315708145274.0e284);i=kR(A,Yo(A,0,91278,0)|0,0,0)|0;A=e+160|0;a[A>>2]=i;if((i|0)>4){a[f>>2]=i;ao(0,91291,f)|0;a[A>>2]=0}k=n;return}function yT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;f=h;w=h+32|0;t=h+28|0;n=h+24|0;o=h+20|0;u=h+16|0;a[n>>2]=0;a[o>>2]=0;a[u>>2]=0;l=e+136|0;r=a[47137]|0;if((a[l>>2]|0)==1)s=Ij(A,r,u)|0;else s=Ij(A,r,0)|0;do{if((a[e+124>>2]|0)>-1)if((a[e+160>>2]|0)>0){a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];c=Cj(A,f,n,o)|0;break}else{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];c=Cj(A,f,0,0)|0;break}else c=0}while(0);r=zT(A)|0;a[w>>2]=r;switch(a[l>>2]|0){case 1:case 0:{cj(a[47137]|0,s,a[u>>2]|0,e,0,c,r,a[n>>2]|0,a[o>>2]|0,t);break}case 5:{Ej(a[47137]|0,s,r,t);break}case 4:{r=a[u>>2]|0;if(!r)r=Hs(s)|0;else r=uq(r,0)|0;a[u>>2]=r;hj(a[47137]|0,s,r,w,1,200,.001,t);break}default:{}}r=cd(A)|0;while(1){if(!r)break;i=a[47137]|0;n=a[r+16>>2]|0;e=(a[w>>2]|0)+((U(a[n+120>>2]|0,i)|0)<<3)|0;n=n+132|0;f=0;while(1){if((f|0)>=(i|0))break;b[(a[n>>2]|0)+(f<<3)>>3]=+b[e+(f<<3)>>3];f=f+1|0}r=bd(A,r)|0}L2(c);L2(a[w>>2]|0);rq(s);r=a[u>>2]|0;if(r|0)rq(r);r=a[o>>2]|0;if(r|0)L2(r);k=h;return}function zT(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=a[47137]|0;t=qF(U(t<<3,vh(A)|0)|0)|0;A:do{if(Yo(A,1,102623,0)|0){f=cd(A)|0;while(1){if(!f)break A;e=a[f+16>>2]|0;e:do{if(r[e+119>>0]|0){n=a[47137]|0;l=U(n,a[e+120>>2]|0)|0;i=e+132|0;e=0;while(1){if((e|0)>=(n|0))break e;b[t+(l+e<<3)>>3]=+b[(a[i>>2]|0)+(e<<3)>>3];e=e+1|0}}}while(0);f=bd(A,f)|0}}}while(0);return t|0}function YT(A,e){A=A|0;e=e|0;do{if(e){A=Uo(A,e)|0;e=r[A>>0]|0;if((e+-48|0)>>>0<10){A=q3(A)|0;A=(A|0)<5?A:0;break}if(J1(e)|0)if(N1(A,91330)|0)if(N1(A,91339)|0)if(N1(A,135709)|0)if(!(N1(A,91350)|0))A=3;else{A=(N1(A,91361)|0)==0;A=A?4:0}else A=0;else A=1;else A=2;else A=0}else A=0}while(0);return A|0}function DT(A,e){A=A|0;e=e|0;do{if(e){A=Uo(A,e)|0;e=r[A>>0]|0;if((e+-48|0)>>>0<10){A=q3(A)|0;A=A>>>0<3?A:1;break}if(J1(e)|0)if((N1(A,135709)|0)!=0?(N1(A,137308)|0)!=0:0)if(((N1(A,99730)|0)!=0?(N1(A,107652)|0)!=0:0)?(N1(A,107657)|0)!=0:0){A=(N1(A,91325)|0)==0;A=A?2:1}else A=1;else A=0;else A=1}else A=1}while(0);return A|0}function MT(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;RH(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;FT(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function FT(A){A=A|0;Td(A,137460,176,1)|0;VR(A)|0;return}function VT(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}return}function JT(){var A=0,e=0;A=$F(168)|0;b[A>>3]=-1.0001234;b[A+8>>3]=1.0;a[A+16>>2]=1;b[A+24>>3]=-1.0;b[A+32>>3]=.2;a[A+40>>2]=0;a[A+44>>2]=4;a[A+48>>2]=1;a[A+52>>2]=45;a[A+56>>2]=10;b[A+64>>3]=.6;b[A+72>>3]=.001;a[A+80>>2]=500;b[A+88>>3]=.9;b[A+96>>3]=.1;a[A+104>>2]=1;a[A+108>>2]=123;e=A+112|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[A+128>>2]=1;a[A+132>>2]=3;a[A+136>>2]=0;b[A+144>>3]=-4.0;b[A+152>>3]=0.0;a[A+160>>2]=0;return A|0}function NT(A){A=A|0;L2(A);return}function XT(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;e=k;k=k+176|0;i=e+160|0;f=e+152|0;n=e+128|0;c=e+112|0;t=e+88|0;s=e+64|0;w=e+56|0;u=e+40|0;h=e+24|0;o=e+16|0;d=e;r=a[15712]|0;L3(91378,27,1,r)|0;l=+b[A+8>>3];b[d>>3]=+b[A>>3];b[d+8>>3]=l;f3(r,91406,d)|0;d=a[A+108>>2]|0;a[o>>2]=a[A+16>>2];a[o+4>>2]=d;f3(r,91457,o)|0;l=+b[A+32>>3];b[h>>3]=+b[A+24>>3];b[h+8>>3]=l;f3(r,91484,h)|0;h=a[A+44>>2]|0;o=a[A+48>>2]|0;a[u>>2]=a[A+40>>2];a[u+4>>2]=h;a[u+8>>2]=o;f3(r,91507,u)|0;u=a[A+56>>2]|0;a[w>>2]=a[A+52>>2];a[w+4>>2]=u;f3(r,91558,w)|0;l=+b[A+72>>3];w=a[A+80>>2]|0;b[s>>3]=+b[A+64>>3];b[s+8>>3]=l;a[s+16>>2]=w;f3(r,91591,s)|0;l=+b[A+96>>3];s=a[A+104>>2]|0;b[t>>3]=+b[A+88>>3];b[t+8>>3]=l;a[t+16>>2]=s;f3(r,91649,t)|0;t=a[A+116>>2]|0;l=+b[A+152>>3];a[c>>2]=a[A+112>>2];a[c+4>>2]=t;b[c+8>>3]=l;f3(r,91695,c)|0;c=a[A+124>>2]|0;t=a[A+128>>2]|0;l=+b[A+144>>3];a[n>>2]=a[17804+(a[A+120>>2]<<2)>>2];a[n+4>>2]=c;a[n+8>>2]=t;b[n+16>>3]=l;f3(r,91748,n)|0;n=a[17848+(a[A+136>>2]<<2)>>2]|0;a[f>>2]=a[17832+(a[A+132>>2]<<2)>>2];a[f+4>>2]=n;f3(r,91813,f)|0;a[i>>2]=a[A+160>>2];f3(r,91843,i)|0;k=e;return}function RT(A){A=A|0;L2(A);return}function HT(A){A=A|0;var e=0;e=$F(184)|0;a[e>>2]=A;a[e+176>>2]=0;return e|0}function pT(A,e){A=A|0;e=+e;var i=0,r=0,f=0;r=a[A>>2]|0;b[A+8+(r<<3)>>3]=e;f=A+176|0;A:do{switch(a[f>>2]|0){case 0:{i=a[A>>2]|0;if((i|0)==20){a[f>>2]=-1;i=19}else{a[f>>2]=1;i=(i|0)>19?20:i+1|0}a[A>>2]=i;break}case 1:{i=a[A>>2]|0;if((i|0)<20?+b[A+8+(r+-1<<3)>>3]>e:0){a[A>>2]=i+1;break A}else{a[A>>2]=i+-1;a[f>>2]=-1;break A}}default:{i=a[A>>2]|0;if((i|0)>0?+b[A+8+(r+1<<3)>>3]>e:0){a[A>>2]=i+-1;break A}else{a[A>>2]=i+1;a[f>>2]=1;break A}}}}while(0);return}function UT(A){A=A|0;return a[A>>2]|0}function xT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0;k=a[A+20>>2]|0;o=a[A+24>>2]|0;w=a[A>>2]|0;u=a[k+(w<<2)>>2]|0;if(!u)r=1.0;else{A=0;r=0.0;A:while(1){if((A|0)>=(w|0))break;t=A+1|0;c=a[k+(t<<2)>>2]|0;s=U(A,e)|0;l=a[k+(A<<2)>>2]|0;while(1){if((l|0)>=(c|0)){A=t;continue A}n=o+(l<<2)|0;A=0;f=0.0;while(1){if((A|0)>=(e|0))break;h=+b[i+(A+s<<3)>>3]-+b[i+((U(a[n>>2]|0,e)|0)<<3)>>3];A=A+1|0;f=h*h+f}l=l+1|0;r=+z(+f)+r}}r=r/+(u|0)}return+r}function TT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+10|0;if((a[i>>2]|0)<=(e|0)){a[i>>2]=r;a[A>>2]=eV(a[A>>2]|0,r<<3)|0}return}function jT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+10|0;if((a[i>>2]|0)<=(e|0)){a[i>>2]=r;a[A>>2]=eV(a[A>>2]|0,r<<2)|0}return}function ST(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;l=U(r,e)|0;e=U(i,e)|0;r=0;while(1){if((r|0)==2)break;b[t+(r<<3)>>3]=+b[A+(r+l<<3)>>3]-+b[A+(r+e<<3)>>3];r=r+1|0}n=+b[t>>3];a=+b[t+8>>3];do{if(!((n>=0.0?n:-n)<=(a>=0.0?a:-a)*1.0e-05)){f=+N(+(a/n));if(n>0.0){if(!(a<0.0))break;f=f+6.283185307179586;break}else{if(!(n<0.0))break;f=f+3.141592653589793;break}}else f=a>0.0?1.5707963267948966:4.71238898038469}while(0);k=c;return+f}function PT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];i=+b[e>>3];return(r>i?1:(r>31)|0}function OT(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0,w=0.0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0,L=0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0,R=0,H=0,p=0.0,x=0,T=0.0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0.0;q=k;k=k+80|0;_=q+32|0;K=q;o=+b[i>>3];s=i+24|0;w=+b[s>>3];u=i+32|0;t=+b[u>>3];p=+b[i+72>>3];x=a[i+80>>2]|0;T=+b[i+88>>3];h=+b[i+96>>3];j=a[i+104>>2]|0;S=i+56|0;l=a[S>>2]|0;do{if(!((e|0)==0|(x|0)<1)?(P=a[e+4>>2]|0,!((A|0)<1|(P|0)<1)):0){H=a[e>>2]|0;O=HT(l)|0;a[n>>2]=0;if((H|0)!=(P|0)){a[n>>2]=-100;RT(O);a[S>>2]=l;break}X=tq(e,1)|0;R=a[X+20>>2]|0;H=a[X+24>>2]|0;A:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);c=U(P,A)|0;l=0;while(1){if((l|0)>=(c|0))break A;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(w<0.0){w=+xT(X,A,f);b[s>>3]=w}if(t<0.0){b[u>>3]=.2;t=.2}if(o>=0.0){b[i>>3]=-1.0;o=-1.0}N=+Y(+w,+(1.0-o));Q=+Y(+t,+((2.0-o)*.3333333333333333))/w;m=U(P,A<<3)|0;L=$F(m)|0;W=$F(m)|0;y=i+116|0;D=i+64|0;M=a[15712]|0;F=X+8|0;V=K+8|0;J=K+16|0;Z=0;G=0.0;E=h;while(1){y6(L|0,f|0,m|0)|0;C=UT(O)|0;I=P_(A,P,C,f,(a[y>>2]|0)==0?0:r)|0;U_(I,W,f,+b[D>>3],o,N,K,n);s=0;A:while(1){if((s|0)>=(P|0)){h=0.0;c=0;break}u=U(s,A)|0;d=W+(u<<3)|0;B=s+1|0;v=R+(B<<2)|0;c=a[R+(s<<2)>>2]|0;while(1){if((c|0)>=(a[v>>2]|0)){s=B;continue A}g=H+(c<<2)|0;l=a[g>>2]|0;e:do{if((l|0)!=(s|0)){t=+_s(f,A,s,l)*Q;l=0;while(1){if((l|0)>=(A|0))break e;h=t*(+b[f+(l+u<<3)>>3]-+b[f+((U(a[g>>2]|0,A)|0)+l<<3)>>3]);$=d+(l<<3)|0;b[$>>3]=+b[$>>3]-h;l=l+1|0}}}while(0);c=c+1|0}}while(1){if((c|0)>=(P|0))break;s=U(c,A)|0;u=W+(s<<3)|0;t=0.0;l=0;while(1){if((l|0)>=(A|0))break;AA=+b[u+(l<<3)>>3];t=AA*AA+t;l=l+1|0}t=+z(+t);h=t+h;A:do{if(t>0.0){t=1.0/t;l=0;while(1){if((l|0)>=(A|0)){l=0;break A}$=u+(l<<3)|0;b[$>>3]=+b[$>>3]*t;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(A|0))break;$=f+(l+s<<3)|0;b[$>>3]=+b[$>>3]+ +b[u+(l<<3)>>3]*E;l=l+1|0}c=c+1|0}Z=Z+1|0;if(!I){if(0){$=a[F>>2]|0;a[_>>2]=Z;b[_+8>>3]=E;b[_+16>>3]=h;a[_+24>>2]=$;b[_+32>>3]=w;f3(M,92099,_)|0}}else{eq(I);pT(O,+b[V>>3]*.85+ +b[K>>3]+ +b[J>>3]*3.3)}E=+KT(j,E,h,G,T);if(!((Z|0)<(x|0)&E>p))break;else G=h}if(a[i+112>>2]|0)_T(A,X,f);RT(O);a[S>>2]=C;L2(L);if((X|0)!=(e|0))rq(X);L2(W)}}while(0);k=q;return}function KT(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;do{if(A){if(i>=r){e=f*e;break}if(!(r*.95>2]|0;L=a[e+20>>2]|0;v=a[e+24>>2]|0;a[E>>2]=10;a[Q>>2]=10;g=$F(m<<2)|0;f=$F(80)|0;a[Z>>2]=f;r=$F(40)|0;a[G>>2]=r;e=0;while(1){if((e|0)>=(m|0)){w=0;d=f;c=r;u=r;s=f;break}a[g+(e<<2)>>2]=0;e=e+1|0}while(1){if((w|0)>=(m|0))break;e=a[L+(w<<2)>>2]|0;A:do{if((((a[L+(w+1<<2)>>2]|0)-e|0)==1?(a[g+(w<<2)>>2]|0)==0:0)?(C=a[v+(e<<2)>>2]|0,I=g+(C<<2)|0,(a[I>>2]|0)==0):0){a[I>>2]=1;h=L+(C+1<<2)|0;w=0;B=0;n=0.0;o=a[L+(C<<2)>>2]|0;c=u;e=d;while(1){if((o|0)>=(a[h>>2]|0))break;r=v+(o<<2)|0;f=a[r>>2]|0;if(((a[L+(f+1<<2)>>2]|0)-(a[L+(f<<2)>>2]|0)|0)==1){a[g+(f<<2)>>2]=1;jT(G,B,E);n=+_s(i,A,C,a[r>>2]|0)+n;c=a[G>>2]|0;a[c+(B<<2)>>2]=a[r>>2];r=w;f=B+1|0}else{TT(Z,w,Q);t=+ST(i,A,C,a[r>>2]|0);e=a[Z>>2]|0;b[e+(w<<3)>>3]=t;r=w+1|0;f=B;s=e}w=r;B=f;o=o+1|0}t=n/+(B|0);if((w|0)>0){qT(w,s);e=s}n=(B|0)>1?6.283185307179586/+(B+-1|0):0.0;r=0;l=0.0;while(1){if((r|0)>=(B|0)){u=c;f=c;break A}$T(i,A,t,l,C,a[c+(r<<2)>>2]|0);r=r+1|0;l=l+n}}else{r=w;f=c;e=d}}while(0);w=r+1|0;d=e;c=f}L2(g);L2(d);L2(c);k=W;return}function qT(A,e){A=A|0;e=e|0;K4(e,A,8,68);return}function $T(A,e,i,r,f,a){A=A|0;e=e|0;i=+i;r=+r;f=f|0;a=a|0;var n=0.0;n=+D(+r)*i;f=U(f,e)|0;a=U(a,e)|0;b[A+(a<<3)>>3]=n+ +b[A+(f<<3)>>3];r=+M(+r)*i;b[A+(a+1<<3)>>3]=r+ +b[A+(f+1<<3)>>3];return}function Aj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,k=0.0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0,m=0.0,L=0.0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0.0,H=0,p=0.0,x=0,T=0,j=0,S=0,P=0.0;k=+b[i>>3];w=i+24|0;s=+b[w>>3];u=i+32|0;c=+b[u>>3];R=+b[i+72>>3];H=a[i+80>>2]|0;p=+b[i+88>>3];d=+b[i+96>>3];x=a[i+104>>2]|0;l=a[i+56>>2]|0;L3(92198,32,1,a[15712]|0)|0;if(!((e|0)==0|(H|0)<1)?(T=a[e>>2]|0,t=a[e+4>>2]|0,!((A|0)<1|(t|0)<1)):0){o=A<<3;j=$F(U(o,t)|0)|0;if((t|0)<(a[i+52>>2]|0)){M=0;F=0;V=0;J=0;N=0;X=0}else{HT(l)|0;J=$F(A*80|0)|0;N=$F(80)|0;X=$F(80)|0;M=X;F=N;V=J}a[n>>2]=0;if((T|0)==(t|0)){W=tq(e,1)|0;y=a[W+20>>2]|0;D=a[W+24>>2]|0;A:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);t=U(T,A)|0;l=0;while(1){if((l|0)>=(t|0))break A;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(s<0.0){s=+xT(W,A,f);b[w>>3]=s}if(c<0.0){b[u>>3]=.2;c=.2}if(k>=0.0){b[i>>3]=-1.0;k=-1.0}m=1.0-k;L=+Y(+s,+m);G=+Y(+c,+((2.0-k)*.3333333333333333))/s;Q=$F(o)|0;g=U(T,o)|0;E=$F(g)|0;C=U(T,A)|0;I=i+116|0;Z=(r|0)!=0;v=k==-1.0;B=0;k=0.0;while(1){l=0;while(1){if((l|0)>=(C|0))break;b[j+(l<<3)>>3]=0.0;l=l+1|0}y6(E|0,f|0,g|0)|0;o=0;while(1){if((o|0)<(T|0))l=0;else{u=0;break}while(1){if((l|0)>=(A|0))break;b[Q+(l<<3)>>3]=0.0;l=l+1|0}u=U(o,A)|0;A:do{if(Z&(a[I>>2]|0)!=0){l=0;while(1){if((l|0)==(T|0)){l=0;break A}e:do{if((l|0)!=(o|0)){s=+Ks(f,A,o,l);n=r+(l<<3)|0;w=U(l,A)|0;c=+Y(+s,+m);c=1.0/(v?s*s:c);t=0;while(1){if((t|0)>=(A|0))break e;h=Q+(t<<3)|0;b[h>>3]=+b[n>>3]*L*(+b[f+(t+u<<3)>>3]-+b[f+(t+w<<3)>>3])*c+ +b[h>>3];t=t+1|0}}}while(0);l=l+1|0}}else{l=0;while(1){if((l|0)==(T|0)){l=0;break A}e:do{if((l|0)!=(o|0)){s=+Ks(f,A,o,l);n=U(l,A)|0;c=+Y(+s,+m);c=1.0/(v?s*s:c);t=0;while(1){if((t|0)>=(A|0))break e;h=Q+(t<<3)|0;b[h>>3]=(+b[f+(t+u<<3)>>3]-+b[f+(t+n<<3)>>3])*L*c+ +b[h>>3];t=t+1|0}}}while(0);l=l+1|0}}}while(0);while(1){if((l|0)>=(A|0))break;h=j+(l+u<<3)|0;b[h>>3]=+b[h>>3]+ +b[Q+(l<<3)>>3];l=l+1|0}o=o+1|0}A:while(1){if((u|0)<(T|0))l=0;else{s=0.0;t=0;break}while(1){if((l|0)>=(A|0))break;b[Q+(l<<3)>>3]=0.0;l=l+1|0}o=u+1|0;n=y+(o<<2)|0;h=U(u,A)|0;t=a[y+(u<<2)>>2]|0;while(1){if((t|0)>=(a[n>>2]|0)){l=0;break}w=D+(t<<2)|0;l=a[w>>2]|0;e:do{if((l|0)!=(u|0)){c=+_s(f,A,u,l)*G;l=0;while(1){if((l|0)>=(A|0))break e;s=c*(+b[f+(l+h<<3)>>3]-+b[f+((U(a[w>>2]|0,A)|0)+l<<3)>>3]);S=Q+(l<<3)|0;b[S>>3]=+b[S>>3]-s;l=l+1|0}}}while(0);t=t+1|0}while(1){if((l|0)>=(A|0)){u=o;continue A}S=j+(l+h<<3)|0;b[S>>3]=+b[S>>3]+ +b[Q+(l<<3)>>3];l=l+1|0}}while(1){if((t|0)>=(T|0))break;n=U(t,A)|0;l=0;while(1){if((l|0)>=(A|0)){c=0.0;l=0;break}b[Q+(l<<3)>>3]=+b[j+(l+n<<3)>>3];l=l+1|0}while(1){if((l|0)>=(A|0))break;P=+b[Q+(l<<3)>>3];c=P*P+c;l=l+1|0}c=+z(+c);s=c+s;A:do{if(c>0.0){c=1.0/c;l=0;while(1){if((l|0)>=(A|0)){l=0;break A}S=Q+(l<<3)|0;b[S>>3]=+b[S>>3]*c;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(A|0))break;S=f+(l+n<<3)|0;b[S>>3]=+b[S>>3]+ +b[Q+(l<<3)>>3]*d;l=l+1|0}t=t+1|0}B=B+1|0;d=+KT(x,d,s,k,p);if(!((B|0)<(H|0)&d>R))break;else k=s}if(a[i+112>>2]|0)_T(A,W,f);L2(E);if((W|0)!=(e|0))rq(W);L2(Q)}else a[n>>2]=-100;if(V|0)L2(J);if(F|0)L2(N);if(M|0)L2(X);L2(j)}return}function ej(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0,y=0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0.0,R=0.0,H=0,p=0,x=0,T=0,j=0,S=0.0,P=0,O=0.0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0.0,tA=0;nA=k;k=k+32|0;q=nA+24|0;$=nA+20|0;rA=nA+16|0;fA=nA+12|0;aA=nA+8|0;j=nA;B=+b[i>>3];c=i+24|0;d=+b[c>>3];s=i+32|0;h=+b[s>>3];S=+b[i+72>>3];P=a[i+80>>2]|0;O=+b[i+88>>3];v=+b[i+96>>3];K=a[i+104>>2]|0;a[q>>2]=0;a[$>>2]=10;a[rA>>2]=0;a[fA>>2]=0;a[aA>>2]=0;b[j>>3]=0.0;iA=i+56|0;w=a[iA>>2]|0;if(!((e|0)==0|(P|0)<1)?(_=a[e>>2]|0,l=a[e+4>>2]|0,!((A|0)<1|(l|0)<1)):0){if((l|0)<(a[i+52>>2]|0)){eA=0;AA=0}else{eA=HT(w)|0;a[rA>>2]=$F(A*80|0)|0;a[fA>>2]=$F(80)|0;a[aA>>2]=$F(80)|0;AA=1}a[n>>2]=0;A:do{if((_|0)==(l|0)){u=tq(e,1)|0;H=a[u+20>>2]|0;p=a[u+24>>2]|0;e:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);t=U(_,A)|0;l=0;while(1){if((l|0)>=(t|0))break e;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(d<0.0){d=+xT(u,A,f);b[c>>3]=d}if(h<0.0){b[s>>3]=.2;h=.2}if(B>=0.0){b[i>>3]=-1.0;B=-1.0}X=1.0-B;R=+Y(+d,+X);M=+Y(+h,+((2.0-B)*.3333333333333333))/d;F=A<<3;x=$F(F)|0;F=U(_,F)|0;T=$F(F)|0;V=(AA|0)!=0;J=i+116|0;N=i+64|0;W=B==-1.0;y=(r|0)!=0;D=1.0/+(_|0);l=0;m=0;L=0.0;while(1){m=m+1|0;y6(T|0,f|0,F|0)|0;if(V){l=UT(eA)|0;w=l;l=P_(A,_,l,f,(a[J>>2]|0)==0?0:r)|0}g=0.0;B=0.0;E=0;d=0.0;e:while(1){if((E|0)<(_|0))t=0;else break;while(1){if((t|0)>=(A|0))break;b[x+(t<<3)>>3]=0.0;t=t+1|0}G=E+1|0;s=H+(G<<2)|0;Q=U(E,A)|0;c=a[H+(E<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;o=p+(c<<2)|0;t=a[o>>2]|0;i:do{if((t|0)!=(E|0)){h=+_s(f,A,E,t)*M;t=0;while(1){if((t|0)>=(A|0))break i;lA=h*(+b[f+(t+Q<<3)>>3]-+b[f+((U(a[o>>2]|0,A)|0)+t<<3)>>3]);Z=x+(t<<3)|0;b[Z>>3]=+b[Z>>3]-lA;t=t+1|0}}}while(0);c=c+1|0}i:do{if(!V)if(y&(a[J>>2]|0)!=0){t=0;while(1){if((t|0)==(_|0))break i;r:do{if((t|0)!=(E|0)){lA=+Ks(f,A,E,t);s=r+(t<<3)|0;o=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break r;Z=x+(c<<3)|0;b[Z>>3]=+b[s>>3]*R*(+b[f+(c+Q<<3)>>3]-+b[f+(c+o<<3)>>3])*h+ +b[Z>>3];c=c+1|0}}}while(0);t=t+1|0}}else{t=0;while(1){if((t|0)==(_|0))break i;r:do{if((t|0)!=(E|0)){lA=+Ks(f,A,E,t);s=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break r;Z=x+(c<<3)|0;b[Z>>3]=(+b[f+(c+Q<<3)>>3]-+b[f+(c+s<<3)>>3])*R*h+ +b[Z>>3];c=c+1|0}}}while(0);t=t+1|0}}else{p_(l,+b[N>>3],f+(Q<<3)|0,E,q,$,rA,fA,aA,j,n);g=+b[j>>3]+g;Z=a[q>>2]|0;B=B+ +(Z|0);if(a[n>>2]|0){s=x;c=T;l=x;t=T;o=67;break A}s=a[aA>>2]|0;o=a[fA>>2]|0;E=a[rA>>2]|0;t=0;while(1){if((t|0)>=(Z|0))break i;lA=+b[s+(t<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;C=o+(t<<3)|0;I=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break;tA=x+(c<<3)|0;b[tA>>3]=+b[C>>3]*R*(+b[f+(c+Q<<3)>>3]-+b[E+(c+I<<3)>>3])*h+ +b[tA>>3];c=c+1|0}t=t+1|0}}}while(0);h=0.0;t=0;while(1){if((t|0)>=(A|0))break;lA=+b[x+(t<<3)>>3];h=lA*lA+h;t=t+1|0}h=+z(+h);d=h+d;i:do{if(h>0.0){h=1.0/h;t=0;while(1){if((t|0)>=(A|0)){t=0;break i}tA=x+(t<<3)|0;b[tA>>3]=+b[tA>>3]*h;t=t+1|0}}else t=0}while(0);while(1){if((t|0)>=(A|0)){E=G;continue e}tA=f+(t+Q<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[x+(t<<3)>>3]*v;t=t+1|0}}if(l|0){eq(l);pT(eA,B*D*5.0+g*D)}v=+KT(K,v,d,L,O);if(!((m|0)<(P|0)&v>S))break;else L=d}if(!(a[i+112>>2]|0)){s=x;c=T;t=T;l=x;o=66}else{_T(A,u,f);s=x;c=T;t=T;l=x;o=66}}else{a[n>>2]=-100;u=e;s=0;c=0;t=0;l=0;o=66}}while(0);if((o|0)==66)if(AA)o=67;if((o|0)==67){RT(eA);a[iA>>2]=w}if(c|0)L2(t);if((u|0)!=(e|0))rq(u);if(s|0)L2(l);l=a[rA>>2]|0;if(l|0)L2(l);l=a[fA>>2]|0;if(l|0)L2(l);l=a[aA>>2]|0;if(l|0)L2(l)}k=nA;return}function ij(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=+l;t=t|0;var c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0.0,G=0,Q=0,m=0.0,L=0,W=0.0,y=0.0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0.0,_=0,q=0.0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0.0,tA=0;nA=k;k=k+48|0;u=nA+8|0;eA=nA+40|0;iA=nA+36|0;P=nA+32|0;fA=nA+28|0;aA=nA+24|0;O=nA;o=+b[r>>3];h=r+32|0;d=+b[h>>3];K=+b[r+72>>3];_=a[r+80>>2]|0;q=+b[r+88>>3];v=+b[r+96>>3];$=a[r+104>>2]|0;a[eA>>2]=0;a[iA>>2]=10;a[P>>2]=0;a[fA>>2]=0;a[aA>>2]=0;b[O>>3]=0.0;if(!((e|0)==0|(_|0)<1)?(AA=a[e>>2]|0,w=a[e+4>>2]|0,!((A|0)<1|(w|0)<1)):0){if((a[r+132>>2]|0)!=0?(w|0)>=(a[r+52>>2]|0):0){s=$F(A*80|0)|0;a[P>>2]=s;a[fA>>2]=$F(80)|0;a[aA>>2]=$F(80)|0;B=1;c=s}else{B=0;c=0;s=0}a[t>>2]=0;if((AA|0)==(w|0)){S=tq(e,1)|0;if(!i){j=0;c=S}else{j=a[i+28>>2]|0;c=i}T=a[c+24>>2]|0;x=a[c+20>>2]|0;if(l<0.0){y=+rj(AA,x,j);W=+(a[x+(AA<<2)>>2]|0);m=+(AA|0);l=W/(m*m-W)*l/+Y(+y,+(o+1.0));p=a[15712]|0;b[u>>3]=y;b[u+8>>3]=l;f3(p,92231,u)|0}A:do{if(a[r+16>>2]|0){L3(92253,24,1,a[15712]|0)|0;f8(a[r+108>>2]|0);s=U(AA,A)|0;c=0;while(1){if((c|0)>=(s|0))break A;b[n+(c<<3)>>3]=+Us();c=c+1|0}}}while(0);fj(AA,A,n,x,T,j);if(d<0.0)b[h>>3]=.2;if(o>=0.0){b[r>>3]=-1.0;o=-1.0}H=A<<3;R=$F(H)|0;H=U(AA,H)|0;p=$F(H)|0;M=(B|0)!=0;F=r+116|0;V=(j|0)==0;J=r+8|0;N=(f|0)!=0;X=o==-1.0;y=1.0-o;D=r+64|0;c=0;L=0;W=0.0;o=1.0;m=v;A:while(1){L=L+1|0;y6(p|0,n|0,H|0)|0;if(M)c=P_(A,AA,10,n,(a[F>>2]|0)==0?0:f)|0;B=0;v=0.0;e:while(1){if((B|0)<(AA|0))s=0;else break;while(1){if((s|0)>=(A|0))break;b[R+(s<<3)>>3]=0.0;s=s+1|0}Q=B+1|0;h=x+(Q<<2)|0;G=U(B,A)|0;u=a[x+(B<<2)>>2]|0;while(1){if((u|0)>=(a[h>>2]|0))break;i=T+(u<<2)|0;s=a[i>>2]|0;i:do{if((s|0)!=(B|0)){Z=+Ks(n,A,B,s);if(!V)o=+b[j+(u<<3)>>3];d=+b[J>>3];r:do{if(!(d==2.0))if(d==1.0){d=(Z-o)*(1.0/(o*o));g=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;E=d*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*g;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-E;s=s+1|0}}else{d=1.0/+Y(+o,+(d+1.0));g=Z-o;E=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;lA=+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3];lA=d*lA*+Y(+g,+ +b[J>>3])*E;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}else{d=Z-o;d=d*d*(1.0/(o*o*o));g=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;lA=d*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*g;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}}while(0);if(N&(a[F>>2]|0)!=0){w=f+(u<<3)|0;d=+Y(+Z,+y);d=1.0/(X?Z*Z:d);s=0;while(1){if((s|0)>=(A|0))break i;lA=+b[w>>3]*l*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*d;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}else{d=+Y(+Z,+y);d=1.0/(X?Z*Z:d);s=0;while(1){if((s|0)>=(A|0))break i;lA=(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*l*d;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}}}while(0);u=u+1|0}i:do{if(!M)if(N&(a[F>>2]|0)!=0){s=0;while(1){if((s|0)==(AA|0)){d=0.0;s=0;break i}r:do{if((s|0)!=(B|0)){lA=+Ks(n,A,B,s);i=f+(s<<3)|0;u=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break r;I=R+(w<<3)|0;b[I>>3]=+b[i>>3]*l*(+b[n+(w+G<<3)>>3]-+b[n+(w+u<<3)>>3])*d+ +b[I>>3];w=w+1|0}}}while(0);s=s+1|0}}else{s=0;while(1){if((s|0)==(AA|0)){d=0.0;s=0;break i}r:do{if((s|0)!=(B|0)){lA=+Ks(n,A,B,s);i=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break r;I=R+(w<<3)|0;b[I>>3]=(+b[n+(w+G<<3)>>3]-+b[n+(w+i<<3)>>3])*l*d+ +b[I>>3];w=w+1|0}}}while(0);s=s+1|0}}else{p_(c,+b[D>>3],n+(G<<3)|0,B,eA,iA,P,fA,aA,O,t);i=a[eA>>2]|0;if(a[t>>2]|0)break A;u=a[aA>>2]|0;h=a[fA>>2]|0;B=a[P>>2]|0;s=0;while(1){if((s|0)>=(i|0)){d=0.0;s=0;break i}lA=+b[u+(s<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;C=h+(s<<3)|0;I=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break;tA=R+(w<<3)|0;b[tA>>3]=+b[C>>3]*l*(+b[n+(w+G<<3)>>3]-+b[B+(w+I<<3)>>3])*d+ +b[tA>>3];w=w+1|0}s=s+1|0}}}while(0);while(1){if((s|0)>=(A|0))break;lA=+b[R+(s<<3)>>3];d=lA*lA+d;s=s+1|0}d=+z(+d);v=d+v;i:do{if(d>0.0){d=1.0/d;s=0;while(1){if((s|0)>=(A|0)){s=0;break i}tA=R+(s<<3)|0;b[tA>>3]=+b[tA>>3]*d;s=s+1|0}}else s=0}while(0);while(1){if((s|0)>=(A|0)){B=Q;continue e}tA=n+(s+G<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[R+(s<<3)>>3]*m;s=s+1|0}}if(c|0)eq(c);m=+KT($,m,v,W,q);if(!((L|0)<(_|0)&m>K)){rA=83;break}else W=v}if((rA|0)==83?a[r+112>>2]|0:0)_T(A,S,n);L2(p);if((S|0)!=(e|0))rq(S);L2(R);c=a[P>>2]|0;s=c}else a[t>>2]=-100;if(s|0)L2(c);c=a[fA>>2]|0;if(c|0)L2(c);c=a[aA>>2]|0;if(c|0)L2(c)}k=nA;return}function rj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0.0;if(!i)r=1.0;else{f=0;r=0.0;A:while(1){if((f|0)>=(A|0))break;n=f+1|0;l=a[e+(n<<2)>>2]|0;f=a[e+(f<<2)>>2]|0;while(1){if((f|0)>=(l|0)){f=n;continue A}t=+b[i+(f<<3)>>3]+r;f=f+1|0;r=t}}r=r/+(a[e+(A<<2)>>2]|0)}return+r}function fj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0;E=k;k=k+16|0;g=E;v=(n|0)==0;c=0.0;s=0.0;w=1.0;t=0;A:while(1){if((t|0)>=(A|0))break;d=t+1|0;B=r+(d<<2)|0;h=a[r+(t<<2)>>2]|0;while(1){if((h|0)>=(a[B>>2]|0)){t=d;continue A}l=a[f+(h<<2)>>2]|0;e:do{if((l|0)!=(t|0)){u=+Ks(i,e,t,l);if(!v)w=+b[n+(h<<3)>>3];C=1.0/(w*w);o=w*u*C;u=u*u*C;l=0;while(1){if((l|0)>=(e|0))break e;l=l+1|0;c=c+u;s=s+o}}}while(0);h=h+1|0}}c=s/c;t=U(e,A)|0;l=0;while(1){if((l|0)>=(t|0))break;e=i+(l<<3)|0;b[e>>3]=+b[e>>3]*c;l=l+1|0}i=a[15712]|0;b[g>>3]=c;f3(i,92278,g)|0;k=E;return}function aj(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0.0,u=0.0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0,W=0,y=0.0,D=0,M=0.0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0.0,O=0,K=0.0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0.0,lA=0.0,tA=0;aA=k;k=k+32|0;$=aA+24|0;AA=aA+20|0;eA=aA+16|0;rA=aA+12|0;fA=aA+8|0;S=aA;d=+b[r>>3];o=r+24|0;u=+b[o>>3];h=r+32|0;w=+b[h>>3];P=+b[r+72>>3];O=a[r+80>>2]|0;K=+b[r+88>>3];E=+b[r+96>>3];_=a[r+104>>2]|0;a[$>>2]=0;a[AA>>2]=10;a[eA>>2]=0;a[rA>>2]=0;a[fA>>2]=0;b[S>>3]=0.0;if(!((e|0)==0|(O|0)<1)?(q=a[e>>2]|0,s=a[e+4>>2]|0,!((A|0)<1|(s|0)<1)):0){if((s|0)<(a[r+52>>2]|0)){B=0;t=0;c=0}else{c=$F(A*80|0)|0;a[eA>>2]=c;a[rA>>2]=$F(80)|0;a[fA>>2]=$F(80)|0;B=1;t=c}a[l>>2]=0;if((q|0)==(s|0)){H=tq(e,1)|0;p=a[H+20>>2]|0;x=a[H+24>>2]|0;T=a[i+20>>2]|0;j=a[i+24>>2]|0;R=a[i+28>>2]|0;A:do{if(a[r+16>>2]|0){f8(a[r+108>>2]|0);c=U(q,A)|0;t=0;while(1){if((t|0)>=(c|0))break A;b[n+(t<<3)>>3]=+Us();t=t+1|0}}}while(0);if(u<0.0){u=+xT(H,A,n);b[o>>3]=u}if(w<0.0){b[h>>3]=.2;w=.2}if(d>=0.0){b[r>>3]=-1.0;d=-1.0}N=1.0-d;X=+Y(+u,+N);M=+Y(+w,+((2.0-d)*.3333333333333333))/u;V=A<<3;F=$F(V)|0;V=U(q,V)|0;J=$F(V)|0;L=(B|0)!=0;W=r+116|0;y=M*.2;D=r+64|0;Q=d==-1.0;m=(f|0)!=0;t=0;Z=0;G=0.0;A:while(1){Z=Z+1|0;y6(J|0,n|0,V|0)|0;if(L)t=P_(A,q,10,n,(a[W>>2]|0)==0?0:f)|0;B=0;u=0.0;e:while(1){if((B|0)<(q|0))c=0;else break;while(1){if((c|0)>=(A|0))break;b[F+(c<<3)>>3]=0.0;c=c+1|0}C=B+1|0;i=p+(C<<2)|0;I=U(B,A)|0;s=a[p+(B<<2)>>2]|0;while(1){if((s|0)>=(a[i>>2]|0))break;o=x+(s<<2)|0;c=a[o>>2]|0;i:do{if((c|0)!=(B|0)){w=+_s(n,A,B,c)*M;c=0;while(1){if((c|0)>=(A|0))break i;d=w*(+b[n+(c+I<<3)>>3]-+b[n+((U(a[o>>2]|0,A)|0)+c<<3)>>3]);g=F+(c<<3)|0;b[g>>3]=+b[g>>3]-d;c=c+1|0}}}while(0);s=s+1|0}o=T+(C<<2)|0;i=a[T+(B<<2)>>2]|0;while(1){if((i|0)>=(a[o>>2]|0))break;h=j+(i<<2)|0;c=a[h>>2]|0;i:do{if((c|0)!=(B|0)){w=+Ks(n,A,B,c);s=R+(i<<3)|0;d=1.0/w;c=0;while(1){if((c|0)>=(A|0))break i;lA=+b[s>>3];nA=w-lA;nA=nA*nA*y*(+b[n+(c+I<<3)>>3]-+b[n+((U(a[h>>2]|0,A)|0)+c<<3)>>3])*d;g=F+(c<<3)|0;b[g>>3]=(w>3];c=c+1|0}}}while(0);i=i+1|0}i:do{if(!L)if(m&(a[W>>2]|0)!=0){c=0;while(1){if((c|0)==(q|0)){w=0.0;c=0;break i}r:do{if((c|0)!=(B|0)){lA=+Ks(n,A,B,c);i=f+(c<<3)|0;o=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break r;g=F+(s<<3)|0;b[g>>3]=+b[i>>3]*X*(+b[n+(s+I<<3)>>3]-+b[n+(s+o<<3)>>3])*w+ +b[g>>3];s=s+1|0}}}while(0);c=c+1|0}}else{c=0;while(1){if((c|0)==(q|0)){w=0.0;c=0;break i}r:do{if((c|0)!=(B|0)){lA=+Ks(n,A,B,c);i=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break r;g=F+(s<<3)|0;b[g>>3]=(+b[n+(s+I<<3)>>3]-+b[n+(s+i<<3)>>3])*X*w+ +b[g>>3];s=s+1|0}}}while(0);c=c+1|0}}else{p_(t,+b[D>>3],n+(I<<3)|0,B,$,AA,eA,rA,fA,S,l);i=a[$>>2]|0;if(a[l>>2]|0)break A;o=a[fA>>2]|0;h=a[rA>>2]|0;B=a[eA>>2]|0;c=0;while(1){if((c|0)>=(i|0)){w=0.0;c=0;break i}lA=+b[o+(c<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;v=h+(c<<3)|0;g=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break;tA=F+(s<<3)|0;b[tA>>3]=+b[v>>3]*X*(+b[n+(s+I<<3)>>3]-+b[B+(s+g<<3)>>3])*w+ +b[tA>>3];s=s+1|0}c=c+1|0}}}while(0);while(1){if((c|0)>=(A|0))break;lA=+b[F+(c<<3)>>3];w=lA*lA+w;c=c+1|0}w=+z(+w);u=w+u;i:do{if(w>0.0){w=1.0/w;c=0;while(1){if((c|0)>=(A|0)){c=0;break i}tA=F+(c<<3)|0;b[tA>>3]=+b[tA>>3]*w;c=c+1|0}}else c=0}while(0);while(1){if((c|0)>=(A|0)){B=C;continue e}tA=n+(c+I<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[F+(c<<3)>>3]*E;c=c+1|0}}if(t|0)eq(t);E=+KT(_,E,u,G,K);if(!((Z|0)<(O|0)&E>P)){iA=70;break}else G=u}if((iA|0)==70?a[r+112>>2]|0:0)_T(A,H,n);L2(J);if((H|0)!=(e|0))rq(H);L2(F);t=a[eA>>2]|0;c=t}else a[l>>2]=-100;if(c|0)L2(t);t=a[rA>>2]|0;if(t|0)L2(t);t=a[fA>>2]|0;if(t|0)L2(t)}k=aA;return}function nj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0;u=a[e+20>>2]|0;k=a[e+24>>2]|0;o=$F(A<<3)|0;w=a[e>>2]|0;c=0;A:while(1){if((c|0)<(w|0))e=0;else break;while(1){if((e|0)>=(A|0))break;b[o+(e<<3)>>3]=0.0;e=e+1|0}s=c+1|0;t=a[u+(s<<2)>>2]|0;l=a[u+(c<<2)>>2]|0;e=0;while(1){if((l|0)>=(t|0))break;r=a[k+(l<<2)>>2]|0;if((r|0)!=(c|0)){n=U(r,A)|0;r=0;while(1){if((r|0)>=(A|0))break;h=o+(r<<3)|0;b[h>>3]=+b[h>>3]+ +b[i+(n+r<<3)>>3];r=r+1|0}e=e+1|0}l=l+1|0}if((e|0)<=0){c=s;continue}f=.5/+(e|0);r=U(c,A)|0;e=0;while(1){if((e|0)>=(A|0)){c=s;continue A}h=i+(e+r<<3)|0;b[h>>3]=+b[o+(e<<3)>>3]*f+ +b[h>>3]*.5;e=e+1|0}}L2(o);return}function lj(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0.0;t=a[A+20>>2]|0;c=a[A+24>>2]|0;l=a[A>>2]|0;b=$F((l<<2)+4|0)|0;A=0;while(1){if((A|0)>(l|0)){i=0;r=0;break}a[b+(A<<2)>>2]=0;A=A+1|0}while(1){if((r|0)>=(l|0))break;f=r+1|0;n=a[t+(f<<2)>>2]|0;A=0;e=a[t+(r<<2)>>2]|0;while(1){if((e|0)>=(n|0))break;A=A+((r|0)!=(a[c+(e<<2)>>2]|0)&1)|0;e=e+1|0}n=b+(A<<2)|0;r=(a[n>>2]|0)+1|0;a[n>>2]=r;i=(i|0)>(r|0)?i:r;r=f}s=+(a[b+4>>2]|0);if(+(i|0)*.8=(n|0)){f=0;break}b[w+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((f|0)>=(e|0)){n=0;break}b[t+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=t+(f<<3)|0;b[s>>3]=+b[s>>3]+ +b[i+(f+l<<3)>>3];f=f+1|0}n=n+1|0}r=1.0/+(A|0);f=0;while(1){if((f|0)>=(e|0)){n=0;break}s=t+(f<<3)|0;b[s>>3]=+b[s>>3]*r;f=f+1|0}while(1){if((n|0)>=(A|0)){l=0;break}l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=i+(f+l<<3)|0;b[s>>3]=+b[s>>3]-+b[t+(f<<3)>>3];f=f+1|0}n=n+1|0}while(1){if((l|0)>=(A|0))break;t=U(l,e)|0;n=0;while(1){if((n|0)>=(e|0))break;c=i+(n+t<<3)|0;s=U(n,e)|0;f=0;while(1){if((f|0)==(e|0))break;o=w+(f+s<<3)|0;b[o>>3]=+b[o>>3]+ +b[i+(f+t<<3)>>3]*+b[c>>3];f=f+1|0}n=n+1|0}l=l+1|0}r=+b[w+8>>3];if(r==0.0)r=0.0;else{h=+b[w>>3];a=+b[w+24>>3];r=-(a-h-+z(+(h*h+r*r*4.0+(h*-2.0+a)*a)))/(r*2.0)}a=+z(+(r*r+1.0));r=r/a;a=1.0/a;f=0;while(1){if((f|0)>=(A|0))break;o=U(f,e)|0;w=i+(o<<3)|0;h=+b[w>>3];o=i+(o+1<<3)|0;d=+b[o>>3];b[w>>3]=d*a+h*r;b[o>>3]=d*r-h*a;f=f+1|0}k=u;return}function cj(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;bj(A,e,i,r,f,a,n,l,t,c);return}function bj(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+192|0;M=N+176|0;D=N+168|0;V=N;y6(V|0,r|0,168)|0;a[s>>2]=0;do{if(e|0?(J=a[e+4>>2]|0,!((A|0)<1|(J|0)<1)):0){if((cq(e,0)|0)!=0?(a[e+16>>2]|0)==1:0){if((a[r+136>>2]|0)==1)u=kq(i)|0;else u=i;F=kq(e)|0}else v=5;do{if((v|0)==5)if((a[r+136>>2]|0)==1){F=uq(e,0)|0;u=uq(i,0)|0;break}else{F=Hs(e)|0;u=i;break}}while(0);Y=r+160|0;o=a[Y>>2]|0;if((o|0)==3){if((t|0)>0)v=14}else if((t|0)>0&(o|0)==4)v=14;if((v|0)==14){i=$F(U(A<<3,a[F>>2]|0)|0)|0;J=sj(F,t,c)|0;cj(A,J,0,r,0,0,i,0,0,s);wj(A,F,t,c,l,i);qO(A,F,l,n,a[r+124>>2]|0,+b[r+144>>3],a[Y>>2]|0,t,c);rq(J);L2(i);if((F|0)==(e|0))break;rq(F);break}y=fw(a[r+44>>2]|0,a[r+48>>2]|0)|0;a[y+16>>2]=a[r+40>>2];z=Bw(F,u,f,y)|0;h=Ew(z)|0;if(!(a[h+32>>2]|0))d=l;else d=$F(U(A<<3,a[h+4>>2]|0)|0)|0;o=lj(F)|0;if(+b[r>>3]==-1.0001234)b[r>>3]=(o|0)==0?-1.0:-1.8;E=r+136|0;C=r+24|0;I=r+16|0;Z=r+104|0;G=r+96|0;Q=A<<3;m=r+132|0;L=a[15712]|0;W=r+80|0;while(1){A:do{switch(a[E>>2]|0){case 0:{switch(a[m>>2]|0){case 0:{Aj(A,a[h+8>>2]|0,r,a[h+24>>2]|0,d,s);break A}case 2:{o=h+8|0;v=29;break}case 3:{o=h+8|0;B=a[o>>2]|0;if((a[B>>2]|0)>1e4)if(!0)v=29;else{a[D>>2]=1e4;f3(L,92299,D)|0;v=29}else v=30;break}default:{B=a[h+8>>2]|0;v=30}}if((v|0)==29){OT(A,a[o>>2]|0,r,a[h+24>>2]|0,d,s);break A}else if((v|0)==30){ej(A,B,r,a[h+24>>2]|0,d,s);break A}break}case 1:{b[G>>3]=1.0;a[Z>>2]=1;g=(a[h+28>>2]|0)==0;w=g?.5:.05;a[W>>2]=g?500:100;g=(a[h+32>>2]|0)==0;o=h+8|0;B=h+12|0;v=h+24|0;ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w,s);if(g){a[I>>2]=0;b[G>>3]=.05;a[Z>>2]=0;ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.5,s);ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.125,s);ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.03125,s)}break}default:{}}}while(0);v=a[h+32>>2]|0;if(!v){v=39;break}if(a[s>>2]|0){v=35;break}g=a[h+16>>2]|0;o=a[h+40>>2]|0;if(!(a[v+32>>2]|0))B=l;else B=$F(U(Q,a[v+4>>2]|0)|0)|0;uj(A,a[v+8>>2]|0,g,a[v+20>>2]|0,d,B,o,+b[C>>3]*.001);L2(d);a[I>>2]=0;b[C>>3]=+b[C>>3]*.75;a[Z>>2]=0;b[G>>3]=((a[(a[v+28>>2]|0)+40>>2]|0)+-9|0)>>>0<2?1.0:.1;h=v;d=B}if((v|0)==35)L2(d);else if((v|0)==39){Tw(A,F,r,f,l,s);if(0){a[M>>2]=a[r+124>>2];f3(L,92362,M)|0}if((A|0)==2)tj(J,2,l);w=+b[r+152>>3];if(w!=0.0)kj(J,A,l,w);qO(A,F,l,n,a[r+124>>2]|0,+b[r+144>>3],a[Y>>2]|0,t,c)}y6(r|0,V|0,168)|0;if((F|0)!=(e|0))rq(F);if(!((u|0)==0|(u|0)==(i|0)))rq(u);aw(y);nw(z)}}while(0);k=N;return}function sj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;I=Z;g=a[A+20>>2]|0;E=a[A+24>>2]|0;C=$F(a[A>>2]<<2)|0;r=0;while(1){if((r|0)>=(a[A>>2]|0)){r=0;break}a[C+(r<<2)>>2]=1;r=r+1|0}while(1){if((r|0)>=(e|0)){r=0;i=0;break}a[C+(a[i+(r<<2)>>2]<<2)>>2]=-1;r=r+1|0}while(1){s=a[A>>2]|0;if((i|0)>=(s|0)){i=0;e=0;break}e=C+(i<<2)|0;if((a[e>>2]|0)>0){a[e>>2]=r;r=r+1|0}i=i+1|0}A:while(1){while(1){if((e|0)>=(s|0))break A;if((a[C+(e<<2)>>2]|0)>=0)break;e=e+1|0}c=e+1|0;b=a[g+(c<<2)>>2]|0;t=a[g+(e<<2)>>2]|0;while(1){if((t|0)>=(b|0)){e=c;continue A}f=a[E+(t<<2)>>2]|0;e:do{if((a[C+(f<<2)>>2]|0)>-1)i=i+1|0;else{l=a[g+(f+1<<2)>>2]|0;n=a[g+(f<<2)>>2]|0;while(1){if((n|0)>=(l|0))break e;f=a[E+(n<<2)>>2]|0;if((f|0)!=(e|0))i=((a[C+(f<<2)>>2]|0)>>>31^1)+i|0;n=n+1|0}}}while(0);t=t+1|0}}e=i<<2;if((i|0)>0){d=$F(e)|0;B=$F(e)|0;o=B;h=d}else{o=0;h=0;d=0;B=0}v=a[15712]|0;e=0;f=0;A:while(1){i=a[A>>2]|0;while(1){if((e|0)>=(i|0))break A;u=C+(e<<2)|0;if((a[u>>2]|0)>=0)break;e=e+1|0}s=e+1|0;w=g+(s<<2)|0;b=a[g+(e<<2)>>2]|0;i=f;while(1){if((b|0)>=(a[w>>2]|0)){e=s;f=i;continue A}f=E+(b<<2)|0;n=a[f>>2]|0;e:do{if((a[C+(n<<2)>>2]|0)>-1){a[h+(i<<2)>>2]=a[u>>2];a[o+(i<<2)>>2]=a[C+(a[f>>2]<<2)>>2];i=i+1|0}else{c=g+(n+1<<2)|0;t=a[g+(n<<2)>>2]|0;while(1){if((t|0)>=(a[c>>2]|0))break e;f=E+(t<<2)|0;l=a[f>>2]|0;do{if((l|0)!=(e|0)?(a[C+(l<<2)>>2]|0)>-1:0){a[h+(i<<2)>>2]=a[u>>2];l=i+1|0;a[o+(i<<2)>>2]=a[C+(a[f>>2]<<2)>>2];n=a[u>>2]|0;i=a[C+(a[f>>2]<<2)>>2]|0;if((n|0)!=68)if((i|0)==68)i=68;else{i=l;break}a[I>>2]=n;a[I+4>>2]=i;f3(v,92380,I)|0;i=l}}while(0);t=t+1|0}}}while(0);b=b+1|0}}I=hq(f,r,r,h,o,0,8,8)|0;L2(d);L2(B);L2(C);k=Z;return I|0}function wj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0;o=$F(a[e>>2]<<2)|0;l=0;while(1){if((l|0)>=(a[e>>2]|0)){l=0;break}a[o+(l<<2)>>2]=1;l=l+1|0}while(1){if((l|0)>=(i|0)){l=0;s=0;break}t=a[r+(l<<2)>>2]|0;if((t|0)>-1?(t|0)<(a[e>>2]|0):0)a[o+(t<<2)>>2]=-1;l=l+1|0}while(1){u=a[e>>2]|0;if((s|0)>=(u|0)){s=0;break}t=o+(s<<2)|0;if((a[t>>2]|0)>-1){a[t>>2]=l;l=l+1|0}s=s+1|0}while(1){if((s|0)>=(u|0))break;l=a[o+(s<<2)>>2]|0;A:do{if((l|0)>-1){w=U(s,A)|0;t=U(l,A)|0;l=0;while(1){if((l|0)>=(A|0))break A;b[f+(l+w<<3)>>3]=+b[n+(t+l<<3)>>3];l=l+1|0}}}while(0);s=s+1|0}k=e+20|0;n=e+24|0;u=0;while(1){if((u|0)>=(i|0))break;e=a[r+(u<<2)>>2]|0;l=a[k>>2]|0;s=a[l+(e+1<<2)>>2]|0;l=a[l+(e<<2)>>2]|0;w=s-l|0;e=U(e,A)|0;t=0;while(1){if((t|0)>=(A|0))break;b[f+(t+e<<3)>>3]=0.0;t=t+1|0}while(1){if((l|0)<(s|0))t=0;else break;while(1){if((t|0)>=(A|0))break;c=+b[f+((U(a[(a[n>>2]|0)+(l<<2)>>2]|0,A)|0)+t<<3)>>3];h=f+(t+e<<3)|0;b[h>>3]=+b[h>>3]+c;t=t+1|0}l=l+1|0}c=1.0/+(w|0);l=0;while(1){if((l|0)>=(A|0))break;h=f+(l+e<<3)|0;b[h>>3]=+b[h>>3]*c;l=l+1|0}u=u+1|0}L2(o);return}function uj(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=+t;var c=0,s=0,w=0,u=0,o=0,h=0.0;u=k;k=k+16|0;w=u;a[w>>2]=n;zs(i,0,f,0,w,0,A);A:do{if((l+-1|0)>>>0<6){nj(A,e,a[w>>2]|0);c=a[r>>2]|0;s=a[r+20>>2]|0;n=a[r+24>>2]|0;e=0;e:while(1){if((e|0)>=(c|0))break A;l=e+1|0;r=s+(l<<2)|0;e=a[s+(e<<2)>>2]|0;i:while(1){e=e+1|0;if((e|0)>=(a[r>>2]|0)){e=l;continue e}f=n+(e<<2)|0;i=0;while(1){if((i|0)>=(A|0))continue i;h=(+Us()+-.5)*t;o=(a[w>>2]|0)+((U(a[f>>2]|0,A)|0)+i<<3)|0;b[o>>3]=+b[o>>3]+h;i=i+1|0}}}}}while(0);k=u;return}function kj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0.0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;c=k;k=k+16|0;t=c;f=0;while(1){if((f|0)>=(e|0)){n=0;break}b[t+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=t+(f<<3)|0;b[s>>3]=+b[s>>3]+ +b[i+(f+l<<3)>>3];f=f+1|0}n=n+1|0}a=1.0/+(A|0);f=0;while(1){if((f|0)>=(e|0)){n=0;break}s=t+(f<<3)|0;b[s>>3]=+b[s>>3]*a;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=i+(f+l<<3)|0;b[s>>3]=+b[s>>3]-+b[t+(f<<3)>>3];f=f+1|0}n=n+1|0}r=r*-.017453277777777776;a=+D(+r);r=+M(+r);f=0;while(1){if((f|0)>=(A|0))break;s=U(f,e)|0;t=i+(s<<3)|0;w=+b[t>>3];s=i+(s+1<<3)|0;u=+b[s>>3];b[t>>3]=u*r+w*a;b[s>>3]=u*a-w*r;f=f+1|0}k=c;return}function oj(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;var t=0,c=0,s=0,w=0;w=(cq(e,0)|0)==0;t=(a[e+16>>2]|0)==1;if(w)if(t)t=kq(tq(e,0)|0)|0;else c=5;else if(t)t=e;else c=5;if((c|0)==5)t=Hs(e)|0;w=kq(t)|0;a[l>>2]=0;t=a[w>>2]|0;if(!i){$F(U(A<<3,t)|0)|0;re()}s=zw(w,A,0.0,a[i>>2]|0,(r|0)==0?0:2,1)|0;if(!s)a[l>>2]=-1;else{b[s+40>>3]=.1;a[s+24>>2]=5;+Dw(s,A,a[i>>2]|0,f,n);c=U(t,A)|0;r=s+32|0;t=0;while(1){if((t|0)>=(c|0))break;l=(a[i>>2]|0)+(t<<3)|0;b[l>>3]=+b[l>>3]/+b[r>>3];t=t+1|0}Yw(s)}if((w|0)!=(e|0))rq(w);return}function hj(A,e,i,r,f,a,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=+n;l=l|0;oj(A,i,r,f,a,n,l);return}function dj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;E=a[e>>2]|0;C=a[e+20>>2]|0;v=a[e+24>>2]|0;g=a[e+28>>2]|0;if(!(cq(e,0)|0))vA(95795,92387,37,92404);A=$F(56)|0;c=A+20|0;a[c>>2]=0;a[A+24>>2]=2;a[A+12>>2]=0;t=$F(16)|0;a[c>>2]=t;b[t>>3]=r;b[t+8>>3]=f;a[A+16>>2]=105;b[A+40>>3]=.01;a[A+48>>2]=~~+z(+ +(a[e>>2]|0));t=e+8|0;c=A+4|0;a[c>>2]=fq(E,E,(a[t>>2]|0)+E|0,1,1)|0;t=fq(E,E,(a[t>>2]|0)+E|0,1,1)|0;a[A+8>>2]=t;c=a[c>>2]|0;s=a[c+28>>2]|0;w=a[t+28>>2]|0;if((t|0)==0|(c|0)==0){yw(A);A=0}else{u=a[c+20>>2]|0;k=a[c+24>>2]|0;o=a[t+20>>2]|0;h=a[t+24>>2]|0;a[o>>2]=0;a[u>>2]=0;e=0;i=0;while(1){if((e|0)>=(E|0))break;d=e+1|0;B=C+(d<<2)|0;r=0.0;f=0.0;l=a[C+(e<<2)>>2]|0;while(1){if((l|0)>=(a[B>>2]|0))break;n=a[v+(l<<2)>>2]|0;if((n|0)!=(e|0)){I=+b[g+(l<<3)>>3];I=I>=0.0?I:-I;I=I>.01?I:.01;a[k+(i<<2)>>2]=n;a[h+(i<<2)>>2]=n;n=s+(i<<3)|0;b[n>>3]=-1.0;b[w+(i<<3)>>3]=-I;r=+b[n>>3]+r;f=f-I;i=i+1|0}l=l+1|0}a[k+(i<<2)>>2]=e;a[h+(i<<2)>>2]=e;b[s+(i<<3)>>3]=-r;b[w+(i<<3)>>3]=-f;i=i+1|0;a[u+(d<<2)>>2]=i;a[o+(d<<2)>>2]=i;e=d}a[c+8>>2]=i;a[t+8>>2]=i}return A|0}function Bj(A){A=A|0;yw(A);return}function vj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return+ +Mw(A,e,i,r,.001)}function gj(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0;if((a[A+16>>2]|0)==1)i=tq(A,0)|0;else i=Hs(A)|0;f=a[i+28>>2]|0;A:do{if(e!=1.0){r=a[i+8>>2]|0;A=0;while(1){if((A|0)>=(r|0))break A;n=f+(A<<3)|0;b[n>>3]=+b[n>>3]*e;A=A+1|0}}}while(0);return i|0}function Ej(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0.0;t=a[e>>2]|0;a[r>>2]=0;c=U(t,A)|0;r=0;while(1){if((r|0)>=(c|0)){r=1;f=1;break}b[i+(r<<3)>>3]=+Us()*100.0;r=r+1|0}while(1){if((f|0)>=(t|0))break;l=U(f,A)|0;n=0;while(1){if((n|0)>=(A|0))break;s=+b[i+(n<<3)>>3]-+b[i+(n+l<<3)>>3];if((s>=0.0?s:-s)>1.0e-16){r=0;f=t;break}else n=n+1|0}f=f+1|0}A:do{if(r|0){f8(1);r=0;while(1){if((r|0)>=(c|0))break A;b[i+(r<<3)>>3]=+Us()*100.0;r=r+1|0}}}while(0);r=gj(e,1.0)|0;if(!(cq(r,0)|0))vA(92430,92387,164,92466);else{c=dj(0,r,0,101.0e5,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,101.0e3,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,1010.0,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,10.1,100.0,0)|0;+vj(c,A,i,300);Bj(c);$s(0.0,0.0,490.0,700.0,a[e>>2]|0,A,i);rq(r);return}}function Cj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;c=$F((vh(A)|0)<<4)|0;l=(r|0)!=0;t=e+8|0;n=cd(A)|0;f=0;while(1){if(!n)break;if(l)f=f+((Z1(Vh(n)|0,92481,11)|0)==0&1)|0;w=a[n+16>>2]|0;s=a[w+120>>2]<<1;b[c+(s<<3)>>3]=+b[w+32>>3]*.5+ +b[e>>3];b[c+((s|1)<<3)>>3]=+b[w+40>>3]*.5+ +b[t>>3];n=bd(A,n)|0}if(l&(f|0)!=0){e=$F(f<<2)|0;n=cd(A)|0;f=0;while(1){if(!n)break;if(!(Z1(Vh(n)|0,92481,11)|0)){a[e+(f<<2)>>2]=a[(a[n+16>>2]|0)+120>>2];f=f+1|0}n=bd(A,n)|0}a[r>>2]=e;a[i>>2]=f}return c|0}function Ij(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;G=k;k=k+32|0;C=G+16|0;E=G+8|0;g=G;if(A){I=vh(A)|0;Z=gh(A)|0;e=cd(A)|0;r=0;while(1){if(!e)break;a[(a[e+16>>2]|0)+120>>2]=r;e=bd(A,e)|0;r=r+1|0}d=Z<<2;h=$F(d)|0;d=$F(d)|0;e=Z<<3;B=$F(e)|0;u=Yo(A,2,101541,0)|0;v=(i|0)!=0;if(v){r=Yo(A,2,92493,0)|0;o=qF(e)|0;w=o}else{w=0;r=0;o=0}t=(u|0)==0;c=(r|0)==0;l=cd(A)|0;e=0;while(1){if(!l)break;s=a[(a[l+16>>2]|0)+120>>2]|0;n=Oo(A,l)|0;while(1){if(!n)break;a[h+(e<<2)>>2]=s;a[d+(e<<2)>>2]=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+120>>2];if(!t?(Q=Uo(n,u)|0,a[E>>2]=g,(J3(Q,101209,E)|0)==1):0)f=+b[g>>3];else{b[g>>3]=1.0;f=1.0}b[B+(e<<3)>>3]=f;if(!c){Q=Uo(n,r)|0;a[C>>2]=g;if((J3(Q,101209,C)|0)==1)f=+b[g>>3];else{b[g>>3]=1.0;f=1.0}b[w+(e<<3)>>3]=f}n=_o(A,n)|0;e=e+1|0}l=bd(A,l)|0}e=hq(Z,I,I,h,d,B,1,8)|0;if(v)a[i>>2]=hq(Z,I,I,h,d,o,1,8)|0;L2(h);L2(d);L2(B);if(w)L2(o)}else e=0;k=G;return e|0}function Zj(A){A=A|0;var e=0,i=0,r=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0.0,o=0.0;s=k;k=k+16|0;c=s;A:do{if(Gj(A,c)|0){e=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;n=+b[e>>3];r=+b[e+8>>3];e=cd(A)|0;while(1){if(!e)break;f=a[(a[e+16>>2]|0)+132>>2]|0;b[f>>3]=+b[f>>3]-n;f=f+8|0;b[f>>3]=+b[f>>3]-r;e=bd(A,e)|0}e=(n!=0.0|r!=0.0)&1;i=cd(A)|0;while(1){if(!i)break A;f=Oo(A,i)|0;if(f|0)break;i=bd(A,i)|0}w=a[f>>2]&3;i=a[(a[(a[((w|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=a[(a[(a[((w|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;l=+b[f+8>>3];t=+b[f>>3];r=+X(+(+b[i+8>>3]-l),+(+b[i>>3]-t));r=+b[c>>3]-r;b[c>>3]=r;if(r!=0.0){n=+D(+r);r=+M(+r);e=cd(A)|0;while(1){if(!e){e=1;break A}c=a[(a[e+16>>2]|0)+132>>2]|0;o=+b[c>>3]-t;w=c+8|0;u=+b[w>>3]-l;b[c>>3]=o*n+t-u*r;b[w>>3]=o*r+l+u*n;e=bd(A,e)|0}}}else e=0}while(0);k=s;return e|0}function Gj(A,e){A=A|0;e=e|0;var i=0.0,f=0,n=0;n=k;k=k+16|0;f=n;A=po(A,92497)|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0){i=+A8(A,f);if((a[f>>2]|0)==(A|0))if(!((gR(A)|0)<<24>>24)){A=0;break}else i=0.0;while(1){if(!(i>180.0))break;i=i+-360.0}while(1){if(!(i<=-180.0))break;i=i+360.0}b[e>>3]=i*.017453292519943295;A=1}else A=0}while(0);k=n;return A|0}function Qj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,92507)|0;return mj(A,(r|0)==0?i|0?i:195059:r,e)|0}function mj(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;w=k;k=k+32|0;s=w+16|0;t=w+8|0;l=w;if((e|0)!=0?(r[e>>0]|0)!=0:0){f=17896;while(1){n=a[f+4>>2]|0;if(!n)break;if(!(T1(e,n,a[f+8>>2]|0)|0)){c=6;break}f=f+16|0}if((c|0)==6){if(!(a[f+12>>2]|0)){a[l>>2]=n;ao(0,92515,l)|0;f=17896}l=a[f>>2]|0;a[i>>2]=l;a[i+4>>2]=a[f+12>>2];if((l|0)==18)Lj(A,e+(a[f+8>>2]|0)|0,i)}if(!(a[f+4>>2]|0)){f=ER(e,63)|0;if(f<<24>>24==63){a[t>>2]=e;ao(0,92557,t)|0;f=0}else f=f&255;f=(f|0)==0;a[i>>2]=f&1;f=f?92604:135709;c=15}}else{a[i>>2]=0;f=135709;c=15}if((c|0)==15)a[i+4>>2]=f;if(0){c=a[15712]|0;t=a[i+8>>2]|0;u=+b[i+16>>3];a[s>>2]=a[i+4>>2];a[s+4>>2]=t;b[s+8>>3]=u;f3(c,92612,s)|0}k=w;return i|0}function Lj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r;n=r+4|0;a[f>>2]=n;f=(J3(e,137395,f)|0)>0;e=a[n>>2]|0;a[i+8>>2]=f&(e|0)>-1?e:1e3;b[i+16>>3]=+oR(A,Yo(A,0,92648,0)|0,-4.0,-1.0e10);k=r;return}function Wj(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+16|0;n=l+8|0;f=l;do{if((vh(A)|0)>=2){i=Zj(A)|0;i=(yj(A)|0)+i|0;r=a[e>>2]|0;if(r){if(0){r=a[15712]|0;c=Vh(A)|0;t=a[e+4>>2]|0;a[f>>2]=c;a[f+4>>2]=t;f3(r,92977,f)|0;r=a[e>>2]|0}if(r>>>0>2){switch(r|0){case 3:{r=zS(A,1)|0;break}case 4:{r=zS(A,0)|0;break}case 6:case 5:{r=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{oS(A,r)|0;r=0;break}case 15:{r=zS(A,-1)|0;break}default:{a[n>>2]=a[e+4>>2];ao(0,93e3,n)|0;r=0}}i=r+i|0;break}if(zj(A)|0){Yj();L2(a[46845]|0);a[46845]=0;break}Dj(A);if((a[e>>2]|0)==2)r=Mj()|0;else r=Fj()|0;if(r|0)Vj();Yj();L2(a[46845]|0);a[46845]=0;i=r+i|0}}else i=0}while(0);k=l;return i|0}function yj(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0;s=k;k=k+48|0;l=s+24|0;f=s+16|0;t=s;e=po(A,140742)|0;A:do{if(((e|0)!=0?(c=t+8|0,a[f>>2]=t,a[f+4>>2]=c,r=J3(e,105503,f)|0,(r|0)!=0):0)?(n=+b[t>>3],!(+y(+n)<1.0e-09)):0){if((r|0)!=1){i=+b[c>>3];if(+y(+i)<1.0e-09){e=0;break}}else{b[c>>3]=n;i=n}if(!(i==1.0&n==1.0)){if(0){f=a[15712]|0;b[l>>3]=n;b[l+8>>3]=i;f3(f,93160,l)|0}e=cd(A)|0;while(1){if(!e){e=1;break A}l=a[(a[e+16>>2]|0)+132>>2]|0;b[l>>3]=+b[l>>3]*+b[t>>3];l=l+8|0;b[l>>3]=+b[l>>3]*+b[c>>3];e=bd(A,e)|0}}else e=0}else e=0}while(0);k=s;return e|0}function zj(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0,t=0,s=0,w=0,u=0;w=k;k=k+16|0;t=w;a[46854]=vh(A)|0;nP();a[46869]=$F((a[46854]|0)*96|0)|0;f=cd(A)|0;e=a[46869]|0;qj(t,A);n=+c[t>>2];l=+c[t+4>>2];t=(r[t+8>>0]|0)==0;l=t?l:l*.013888888888888888;n=t?n:n*.013888888888888888;t=t?2:1;i=0;while(1){if((i|0)>=(a[46854]|0)){e=0;break}u=a[(a[f+16>>2]|0)+132>>2]|0;b[e+8>>3]=+b[u>>3];b[e+16>>3]=+b[u+8>>3];if(L5[t&3](e+40|0,f,n,l)|0){s=4;break}a[e+24>>2]=i;a[e+28>>2]=1;a[e>>2]=f;a[e+88>>2]=0;e=e+96|0;i=i+1|0;f=bd(A,f)|0}if((s|0)==4){L2(a[46869]|0);a[46869]=0;e=1}k=w;return e|0}function Yj(){var A=0,e=0;A=a[46869]|0;e=0;while(1){if((e|0)>=(a[46854]|0))break;iK(A+40|0);A=A+96|0;e=e+1|0}eK();MP();L2(a[46869]|0);return}function Dj(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0;u=k;k=k+32|0;s=u+16|0;w=u;o=a[46869]|0;l=+b[o+8>>3];c=+b[o+16>>3];f=a[46854]|0;e=o;i=1;n=+b[o+40>>3]+l;l=+b[o+56>>3]+l;t=+b[o+48>>3]+c;c=+b[o+64>>3]+c;while(1){if((i|0)>=(f|0))break;B=+b[e+104>>3];h=+b[e+112>>3];v=+b[e+136>>3]+B;d=+b[e+144>>3]+h;B=+b[e+152>>3]+B;h=+b[e+160>>3]+h;e=e+96|0;i=i+1|0;n=vl?B:l;t=dc?h:c}e=po(A,93100)|0;if(e|0?r[e>>0]|0:0)b[173]=+$3(e);B=+b[173];v=B*(c-t);B=B*(l-n);b[s>>3]=n-B;b[s+8>>3]=t-v;b[w>>3]=B+l;b[w+8>>3]=v+c;xj(s,w);k=u;return}function Mj(){var A=0,e=0,i=0,r=0;i=k;k=k+16|0;e=i;if(Jj(0)|0){Nj();A=0;do{_j();A=A+1|0}while((Jj(A)|0)!=0);if(!0)A=1;else{r=a[15712]|0;a[e>>2]=A;f3(r,93028,e)|0;A=1}}else A=0;k=i;return A|0}function Fj(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t+8|0;n=t;e=Jj(0)|0;if(!e)A=0;else{Nj();Xj(0);JK(0,1);A=0;r=0;i=0;while(1){Hj();i=i+1|0;f=Jj(i)|0;if(!f)break;e=(f|0)<(e|0)?0:r+1|0;a[46846]=1;if(e){pj();A=A+1|0}Xj(1);JK(0,1);r=e;e=f}if(0){f=a[15712]|0;a[n>>2]=i;f3(f,93028,n)|0;a[l>>2]=A;f3(f,93055,l)|0}Uj();A=1}k=t;return A|0}function Vj(){var A=0,e=0,i=0,r=0;i=a[46854]|0;A=a[46869]|0;e=0;while(1){if((e|0)>=(i|0))break;r=a[(a[(a[A>>2]|0)+16>>2]|0)+132>>2]|0;b[r>>3]=+b[A+8>>3];b[r+8>>3]=+b[A+16>>3];A=A+96|0;e=e+1|0}return}function Jj(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;u=h+24|0;w=h+8|0;o=h;i=a[46869]|0;r=a[46854]|0;e=0;while(1){if((e|0)>=(r|0)){f=0;e=0;break}a[i+(e*96|0)+32>>2]=0;e=e+1|0}A:while(1){if((e|0)>=(r+-1|0))break;s=i+96|0;e=e+1|0;c=i+8|0;b=i+40|0;t=i+32|0;n=s;l=e;while(1){if((l|0)>=(r|0)){i=s;continue A}r=n+8|0;a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];if(!(sK(w,b,u,n+40|0)|0))i=f;else{a[t>>2]=1;a[n+32>>2]=1;i=f+1|0}n=n+96|0;l=l+1|0;f=i;r=a[46854]|0}}if(0>1){u=a[15712]|0;a[o>>2]=A;a[o+4>>2]=f;f3(u,93081,o)|0}k=h;return f|0}function Nj(){var A=0,e=0,i=0,r=0.0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;Oj();c=a[46848]|0;s=a[46869]|0;A=a[46845]|0;A:while(1){l=A;if(A>>>0>=c>>>0)break;e=A+4|0;if(e>>>0>=c>>>0){A=e;continue}f=a[e>>2]|0;i=a[A>>2]|0;n=+b[i>>3];if(+b[f>>3]!=n){A=e;continue}r=+b[i+8>>3];if(+b[f+8>>3]!=r){A=e;continue}t=A+8|0;f=2;while(1){if(t>>>0>=c>>>0)break;i=a[t>>2]|0;if(!(+b[i>>3]==n)){w=11;break}if(!(+b[i+8>>3]==r)){w=11;break}t=t+4|0;f=f+1|0}if((w|0)==11){w=0;i=a[t>>2]|0;if(+b[i+8>>3]==r){r=(+b[i>>3]-n)/+(f|0);i=(((t>>>0>e>>>0?t:e)+-1+(0-l)|0)>>>2)+1|0;A=1;while(1){if((A|0)==(i|0)){A=t;continue A}l=a[e>>2]|0;b[l>>3]=+b[l>>3]+r*+(A|0);A=A+1|0;e=e+4|0}}}while(1){if(e>>>0>=t>>>0){A=t;continue A}f=a[A>>2]|0;u=a[f+16>>2]|0;l=a[e>>2]|0;i=a[l+16>>2]|0;b[l>>3]=(+b[s+(u*96|0)+56>>3]-+b[s+(u*96|0)+40>>3]+ +b[s+(i*96|0)+56>>3]-+b[s+(i*96|0)+40>>3])*.5+ +b[f>>3];e=e+4|0;A=A+4|0}}return}function Xj(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0;if(A|0)Oj();l=a[46845]|0;t=a[l>>2]|0;i=+b[t>>3];b[23272]=i;c=a[46854]|0;f=1;n=+b[t>>3];while(1){if((f|0)>=(c|0))break;A=a[l+(f<<2)>>2]|0;e=+b[A>>3];if(e>3]}else{r=e;e=i}f=f+1|0;i=e;n=r>n?r:n}r=+b[t+8>>3];b[23273]=r;b[23275]=+b[(a[l+(c+-1<<2)>>2]|0)+8>>3]-r;b[23274]=n-i;return}function Rj(){var A=0;A=a[46847]|0;if(A>>>0<(a[46848]|0)>>>0){a[46847]=A+4;A=a[A>>2]|0}else A=0;return A|0}function Hj(){var A=0,e=0,i=0;A=a[46869]|0;Tj();i=(a[46846]|0)==0;e=0;while(1){if((e|0)>=(a[46854]|0))break;if(!(i?!(a[A+32>>2]|0):0))jj(A);A=A+96|0;e=e+1|0}return}function pj(){var A=0,e=0,i=0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0;A=k;k=k+32|0;i=A+16|0;e=A;t=+b[23268];l=+b[23266];n=+b[23269];f=+b[23267];r=(l-f)*.05;a=(t-n)*.05;b[e>>3]=a+t;b[e+8>>3]=l+r;b[i>>3]=n-a;b[i+8>>3]=f-r;xj(i,e);k=A;return}function Uj(){vP();EP();IK();$S();return}function xj(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0;a=+b[A>>3];b[23269]=a;f=+b[e>>3];b[23268]=f;i=+b[A+8>>3];b[23267]=i;r=+b[e+8>>3];b[23266]=r;b[23258]=a;b[23260]=a;b[23262]=f;b[23264]=f;b[23265]=r;b[23261]=r;b[23263]=i;b[23259]=i;return}function Tj(){var A=0,e=0.0,i=0.0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0.0;w=a[46869]|0;n=w+8|0;f=+lP(n,186064);r=+lP(n,186080);i=+lP(n,186096);A=1;e=+lP(n,186112);n=w;l=w;t=w;c=w;while(1){s=w+96|0;if((A|0)>=(a[46854]|0))break;h=w+104|0;d=+lP(h,186064);u=d>2]|0;u=c+8|0;e=0.0;i=0.0;r=0.0;c=a[c>>2]|0;while(1){f=a[c>>2]|0;if(!f)break;B=c+8|0;d=f+8|0;a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];h=+Sj(n,l,t);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];Pj(n,l,t,s,w);e=+b[w>>3]*h+e;i=+b[s>>3]*h+i;r=h+r;c=f}b[A+8>>3]=i/r;b[A+16>>3]=e/r;k=o;return}function Sj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;r=+b[e+8>>3];a=+b[i+8>>3];f=+b[A+8>>3];return+(+y(+((a-f)*+b[e>>3]+(r-a)*+b[A>>3]+ +b[i>>3]*(f-r)))*.5)}function Pj(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;b[r>>3]=(+b[e>>3]+ +b[A>>3]+ +b[i>>3])*.3333333333333333;b[f>>3]=(+b[e+8>>3]+ +b[A+8>>3]+ +b[i+8>>3])*.3333333333333333;return}function Oj(){var A=0,e=0,i=0,r=0;A=a[46845]|0;if(!A){A=$F(a[46854]<<2)|0;a[46845]=A;a[46848]=A+(a[46854]<<2)}i=a[46869]|0;MP();r=a[46854]|0;e=0;while(1){if((e|0)>=(r|0))break;a[A>>2]=i+8;a[i+88>>2]=0;a[i+28>>2]=1;i=i+96|0;A=A+4|0;e=e+1|0}K4(a[46845]|0,r,4,69);a[46847]=a[46845];return}function Kj(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A>>2]|0;e=a[e>>2]|0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(ir)){r=+b[A>>3];i=+b[e>>3];if(ri&1}else A=1;else A=-1;return A|0}function _j(){var A=0,e=0,i=0,r=0;i=a[46854]|0;A=0;e=a[46869]|0;while(1){if((A|0)>=(i|0))break;r=e+8|0;b[r>>3]=+b[r>>3]*1.05;r=e+16|0;b[r>>3]=+b[r>>3]*1.05;A=A+1|0;e=e+96|0}return}function qj(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,s=0,w=0.0,u=0.0;s=k;k=k+48|0;t=s;l=s+24|0;i=po(e,93112)|0;if(!((i|0)!=0?($j(i,l,1.0,0.0)|0)!=0:0))f=3;do{if((f|0)==3){e=po(e,93116)|0;if(e|0?$j(e,l,.800000011920929,4.0)|0:0)break;c[l+4>>2]=4.0;c[l>>2]=4.0;r[l+8>>0]=1}}while(0);if(0){f=a[15712]|0;u=+c[l>>2];w=+c[l+4>>2];a[t>>2]=n[l+8>>0];b[t+8>>3]=u;b[t+16>>3]=w;f3(f,93121,t)|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];k=s;return}function $j(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0,h=0.0;u=k;k=k+16|0;s=u;t=u+12|0;b=u+8|0;while(1){n=r[A>>0]|0;l=A+1|0;if(!(Q1(n<<24>>24)|0))break;else A=l}o=n<<24>>24==43;n=e+8|0;r[n>>0]=o&1;a[s>>2]=t;a[s+4>>2]=b;switch(J3(o?l:A,93154,s)|0){case 0:{A=0;break}case 1:{a[b>>2]=a[t>>2];w=5;break}default:w=5}if((w|0)==5){do{if(r[n>>0]|0){if(i>1.0){h=+c[t>>2]/i;c[e>>2]=h>f?f:h;i=+c[b>>2]/i;i=i>f?f:i;break}if(i<1.0){h=+c[t>>2]/i;c[e>>2]=h>2]/i;i=i>2]=a[t>>2];i=+c[b>>2];break}}else{c[e>>2]=+c[t>>2]/i+1.0;i=+c[b>>2]/i+1.0}}while(0);c[e+4>>2]=i;A=1}k=u;return A|0}function AS(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+32|0;i=r;if((vh(A)|0)<2)A=0;else{mj(A,e,i)|0;A=Wj(A,i)|0}k=r;return A|0}function eS(A){A=A|0;return AS(A,po(A,92507)|0)|0}function iS(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,s=0,w=0.0,u=0.0;s=k;k=k+48|0;t=s;l=s+24|0;i=po(e,93116)|0;if(!((i|0)!=0?($j(i,l,1.0,0.0)|0)!=0:0))f=3;do{if((f|0)==3){e=po(e,93112)|0;if(e|0?$j(e,l,1.25,3.200000047683716)|0:0)break;c[l+4>>2]=3.200000047683716;c[l>>2]=3.200000047683716;r[l+8>>0]=1}}while(0);if(0){f=a[15712]|0;u=+c[l>>2];w=+c[l+4>>2];a[t>>2]=n[l+8>>0];b[t+8>>3]=u;b[t+16>>3]=w;f3(f,93183,t)|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];k=s;return}function rS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;u=o;n=0;while(1){if((n|0)>=(i|0))break;a[r+(n<<2)>>2]=-1;n=n+1|0}a[r+(A<<2)>>2]=0;fS(f,A);A:do{if(!(a[e+8>>2]|0)){n=2147483647;e:while(1){if(!((aS(f,u)|0)<<24>>24))break A;t=a[u>>2]|0;n=a[r+(t<<2)>>2]|0;l=e+(t*20|0)|0;t=e+(t*20|0)+4|0;b=n+1|0;A=1;while(1){if((A|0)>=(a[l>>2]|0))continue e;s=a[(a[t>>2]|0)+(A<<2)>>2]|0;w=r+(s<<2)|0;if((a[w>>2]|0)<0){a[w>>2]=b;nS(f,s)|0}A=A+1|0}}}else{n=2147483647;e:while(1){if(!((aS(f,u)|0)<<24>>24))break A;b=a[u>>2]|0;n=a[r+(b<<2)>>2]|0;l=e+(b*20|0)|0;t=e+(b*20|0)+4|0;b=e+(b*20|0)+8|0;A=1;while(1){if((A|0)>=(a[l>>2]|0))continue e;s=a[(a[t>>2]|0)+(A<<2)>>2]|0;w=r+(s<<2)|0;if((a[w>>2]|0)<0){a[w>>2]=n+~~+c[(a[b>>2]|0)+(A<<2)>>2];nS(f,s)|0}A=A+1|0}}}}while(0);A=n+10|0;n=0;while(1){if((n|0)>=(i|0))break;l=r+(n<<2)|0;if((a[l>>2]|0)<0)a[l>>2]=A;n=n+1|0}k=o;return}function fS(A,e){A=A|0;e=e|0;a[a[A>>2]>>2]=e;a[A+12>>2]=0;a[A+8>>2]=1;return}function aS(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=a[i>>2]|0;if((r|0)<(a[A+8>>2]|0)){A=a[A>>2]|0;a[i>>2]=r+1;a[e>>2]=a[A+(r<<2)>>2];A=1}else A=0;return A|0}function nS(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=a[i>>2]|0;if((r|0)<(a[A+4>>2]|0)){A=a[A>>2]|0;a[i>>2]=r+1;a[A+(r<<2)>>2]=e;A=1}else A=0;return A|0}function lS(A,e){A=A|0;e=e|0;a[A>>2]=$F(e<<2)|0;a[A+4>>2]=e;a[A+8>>2]=0;a[A+12>>2]=0;return}function tS(A){A=A|0;L2(a[A>>2]|0);return}function cS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0;if(!0)n=0;else{L3(93216,25,1,a[15712]|0)|0;n=0}while(1){if((n|0)>=(A|0))break;l=e+(n<<2)|0;f=0;r=0.0;while(1){if((f|0)==(A|0))break;if((n|0)!=(f|0))r=+b[(a[l>>2]|0)+(f<<3)>>3]+r;f=f+1|0}b[(a[l>>2]|0)+(n<<3)>>3]=-r;n=n+1|0}return cO(e,i,A+-1|0)|0}function bS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0.0;t=tU(e,e,0.0)|0;c=tU(e,e,0.0)|0;r=cd(A)|0;while(1){if(!r)break;i=Ah(A,r)|0;while(1){if(!i)break;n=a[i>>2]&3;f=(a[a[((n|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;n=(a[a[((n|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(n|0)){s=-1.0/+b[(a[i+16>>2]|0)+136>>3];b[(a[t+(n<<2)>>2]|0)+(f<<3)>>3]=s;b[(a[t+(f<<2)>>2]|0)+(n<<3)>>3]=s}i=eh(A,i,r)|0}r=bd(A,r)|0}l=cS(e,t,c)|0;A:do{if(l|0){f=A+16|0;r=0;while(1){if((r|0)>=(e|0))break A;n=c+(r<<2)|0;i=0;while(1){if((i|0)==(e|0))break;A=a[n>>2]|0;b[(a[(a[(a[f>>2]|0)+160>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=+b[(a[c+(i<<2)>>2]|0)+(i<<3)>>3]+ +b[A+(r<<3)>>3]+ +b[A+(i<<3)>>3]*-2.0;i=i+1|0}r=r+1|0}}}while(0);cU(t);cU(c);return l|0}function sS(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;var n=0.0,l=0.0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;c=B;w=r<<3;u=$F(w)|0;o=$F(w)|0;h=$F(w)|0;b=$F(w)|0;s=$F(w)|0;w=$F(w)|0;mO(r,i,w);gO(r,w);gO(r,e);CO(A,r,e,b);ZO(r,w,b,u);mO(r,u,o);t=a+-1|0;i=0;n=+LO(r,u,u);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+WO(r,u)>f)){i=0;break}CO(A,r,o,h);l=+LO(r,o,h);if(l==0.0){i=0;break}l=n/l;QO(r,o,l,s);GO(r,e,s,e);if((i|0)<(t|0)){QO(r,h,l,h);ZO(r,u,h,u);l=+LO(r,u,u);if(n==0.0){d=7;break}QO(r,o,l/n,o);GO(r,u,o,o);n=l}i=i+1|0}if((d|0)==7){ao(1,93242,c)|0;i=1}L2(u);L2(o);L2(h);L2(b);L2(s);L2(w);k=B;return i|0}function wS(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;n=n|0;var l=0.0,t=0.0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;c=B;u=r<<3;o=$F(u)|0;h=$F(u)|0;b=$F(u)|0;s=$F(u)|0;w=$F(u)|0;u=$F(u)|0;mO(r,i,u);if(n<<24>>24){gO(r,u);gO(r,e)}IO(A,r,e,s);ZO(r,u,s,o);mO(r,o,h);n=a+-1|0;i=0;l=+LO(r,o,o);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+WO(r,o)>f)){i=0;break}IO(A,r,h,b);t=+LO(r,h,b);if(t==0.0){i=0;break}t=l/t;QO(r,h,t,w);GO(r,e,w,e);if((i|0)<(n|0)){QO(r,b,t,b);ZO(r,o,b,o);t=+LO(r,o,o);if(l==0.0){d=9;break}QO(r,h,t/l,h);GO(r,o,h,h);l=t}i=i+1|0}if((d|0)==9){ao(1,93242,c)|0;i=1}L2(o);L2(h);L2(b);L2(s);L2(w);L2(u);k=B;return i|0}function uS(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;var n=0.0,l=0.0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;c=h;b=r<<2;s=qF(b)|0;w=qF(b)|0;u=qF(b)|0;b=qF(b)|0;zO(r,e);zO(r,i);YO(A,r,e,b);zO(r,b);DO(r,i,b,s);JO(r,s,w);t=a+-1|0;i=0;n=+NO(r,s,s);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+HO(r,s)>f)){i=0;break}zO(r,w);zO(r,e);zO(r,s);YO(A,r,w,u);zO(r,u);l=+NO(r,w,u);if(l==0.0){i=0;break}l=n/l;FO(r,e,l,w);if((i|0)<(t|0)){FO(r,s,-l,u);l=+NO(r,s,s);if(n==0.0){o=7;break}VO(r,w,l/n,w);MO(r,s,w,w);n=l}i=i+1|0}if((o|0)==7){ao(1,93242,c)|0;i=1}L2(s);L2(w);L2(u);L2(b);k=h;return i|0}function kS(A,e,i,r,f,n,l,t,s,w){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;s=s|0;w=+w;var u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0;N=k;k=k+48|0;z=N+24|0;W=N+16|0;L=N+8|0;m=N;F=N+40|0;V=N+36|0;D=N+32|0;B=l&4;a[F>>2]=0;a[V>>2]=0;A:do{if(a[A+16>>2]|0){o=0;u=0;while(1){if((o|0)>=(e|0))break;v=a[A+(o*20|0)>>2]|0;g=A+(o*20|0)+16|0;d=1;while(1){if((d|0)>=(v|0))break;if(!(u<<24>>24))u=+c[(a[g>>2]|0)+(d<<2)>>2]!=0.0;else u=1;d=d+1|0;u=u&1}o=o+1|0}if(u<<24>>24){G=(B|0)!=0;if(G){d=r+4|0;e:do{if((n|0)>2){u=n+-1|0;if((iU(A,e,i,d,f,u,l,t,15)|0)<0){u=-1;break A}o=r+(u<<2)|0;u=0;while(1){if((u|0)>=(e|0))break e;b[(a[o>>2]|0)+(u<<3)>>3]=+b[(a[d>>2]|0)+(u<<3)>>3];u=u+1|0}}}while(0);Z=a[r>>2]|0;C=a[d>>2]|0;if((KO(A,e,C,e)|0)==0?(Bu(A,e,.01,.1,C,F,V,D)|0)==0:0){I=a[D>>2]|0;if((I|0)<1){u=iU(A,e,i,r,f,n,l,t,s)|0;break}e:do{if(w>0.0){B=a[F>>2]|0;v=a[V>>2]|0;g=I+-1|0;h=0.0;d=0;while(1){if((d|0)>=(I|0))break e;u=a[v+(d<<2)>>2]|0;Q=w-h-+b[C+(a[B+(u<<2)>>2]<<3)>>3]+ +b[C+(a[B+(u+-1<<2)>>2]<<3)>>3];h=(Q<0.0?0.0:Q)+h;if((d|0)<(g|0))o=a[v+(d+1<<2)>>2]|0;else o=e;while(1){if((u|0)>=(o|0))break;M=C+(a[B+(u<<2)>>2]<<3)|0;b[M>>3]=+b[M>>3]+h;u=u+1|0}d=d+1|0}}}while(0);if((n|0)==2?(WK(A,e,C,Z,+b[23294])|0)!=0:0){o=0;u=-1}else J=33}else{o=0;u=-1}}else{Kp(A,e,n,r,f)|0;if(!(Bu(A,e,.01,.1,0,F,V,D)|0))J=33;else{o=0;u=-1}}e:do{if((J|0)==33){if((e|0)==1){u=0;break A}M=$F(a[D>>2]<<2)|0;if(!s){u=0;break A}if(0)tR();switch(t|0){case 2:{if(0)L3(93290,24,1,a[15712]|0)|0;u=eU(A,e)|0;J=46;break}case 1:{u=_p(A,e)|0;if(!u){ao(0,93315,m)|0;ao(3,93364,L)|0;J=47}else Y=u;break}case 3:{if(0)L3(93417,21,1,a[15712]|0)|0;u=qp(A,e)|0;J=46;break}default:J=47}if((J|0)==46)if(!u)J=47;else Y=u;if((J|0)==47){if(0)L3(93439,26,1,a[15712]|0)|0;Y=AU(A,e)|0}if(0){A=a[15712]|0;b[W>>3]=+cR();f3(A,93466,W)|0;L3(93478,25,1,A)|0;tR()}A=e+-1|0;Z=(U(A,e)|0)/2|0;W=Z+e|0;i:do{if(!G){h=1.0;o=0;while(1){if((o|0)>=(n|0))break;d=r+(o<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;Q=+y(+ +b[(a[d>>2]|0)+(u<<3)>>3]);h=Q>h?Q:h;u=u+1|0}o=o+1|0}h=1.0/h;o=0;while(1){if((o|0)>=(n|0))break i;d=r+(o<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;L=(a[d>>2]|0)+(u<<3)|0;b[L>>3]=+b[L>>3]*(10.0*h);u=u+1|0}o=o+1|0}}}while(0);i:do{if(w>0.0){E=+(Z|0);u=0;h=0.0;B=0;r:while(1){if((B|0)>=(A|0))break;v=B+1|0;d=u;o=v;while(1){u=d+1|0;if((o|0)>=(e|0)){B=v;continue r}Q=+jP(r,n,B,o);d=u;h=Q/+c[Y+(u<<2)>>2]+h;o=o+1|0}}h=h/E;u=0;while(1){if((u|0)>=(W|0)){u=0;break i}L=Y+(u<<2)|0;c[L>>2]=+c[L>>2]*h;u=u+1|0}}else u=0}while(0);while(1){if((u|0)>=(n|0))break;gO(e,a[r+(u<<2)>>2]|0);u=u+1|0}o=a[r+4>>2]|0;h=+b[o>>3];u=0;while(1){if((u|0)>=(e|0))break;L=o+(u<<3)|0;b[L>>3]=+b[L>>3]-h;u=u+1|0}g=n<<2;L=$F(g)|0;I=e<<2;C=U(I,n)|0;d=$F(C)|0;u=0;while(1){if((u|0)>=(n|0))break;B=d+((U(u,e)|0)<<2)|0;a[L+(u<<2)>>2]=B;v=r+(u<<2)|0;o=0;while(1){if((o|0)>=(e|0))break;c[B+(o<<2)>>2]=+b[(a[v>>2]|0)+(o<<3)>>3];o=o+1|0}u=u+1|0}E=+(Z|0);if(0){m=a[15712]|0;b[z>>3]=+cR();f3(m,93504,z)|0}pO(W,Y);UO(W,Y);m=$F(e<<3)|0;XO(e,0.0,m);u=0;d=0;while(1){if((d|0)>=(A|0)){u=e;o=0;d=0;break}B=e-d|0;h=0.0;o=1;while(1){u=u+1|0;if((o|0)>=(B|0))break;Q=+c[Y+(u<<2)>>2];z=m+(o+d<<3)|0;b[z>>3]=+b[z>>3]-Q;h=h+Q;o=o+1|0}z=m+(d<<3)|0;b[z>>3]=+b[z>>3]-h;d=d+1|0}while(1){if((o|0)>=(e|0))break;c[Y+(d<<2)>>2]=+b[m+(o<<3)>>3];z=u+d|0;u=u+-1|0;o=o+1|0;d=z}t=$F(g)|0;a[t>>2]=$F(C)|0;u=1;while(1){if((u|0)>=(n|0))break;a[t+(u<<2)>>2]=(a[t>>2]|0)+((U(u,e)|0)<<2);u=u+1|0}G=$F(I)|0;f=$F(I)|0;l=$F(W<<2)|0;o=dK(Y,e)|0;i=CK(Y,e,a[F>>2]|0,a[V>>2]|0,a[D>>2]|0)|0;Z=t+4|0;d=0;Q=1797693134862315708145274.0e284;u=0;while(1){if(!(d<<24>>24==0&(u|0)<(s|0)))break;XO(e,0.0,m);xO(W,Y,l);C=0;v=0;while(1){if((C|0)>=(A|0)){d=0;B=e;v=0;break}I=e-C+-1|0;RO(e,0.0,f);d=0;while(1){if((d|0)>=(n|0))break;D=L+(d<<2)|0;RO(I,+c[(a[D>>2]|0)+(C<<2)>>2],G);FO(I,G,-1.0,(a[D>>2]|0)+(C<<2)+4|0);pO(I,G);MO(I,G,f,f);d=d+1|0}TO(I,f);d=0;while(1){if((d|0)>=(I|0))break;B=f+(d<<2)|0;h=+c[B>>2];if(h>=3402823466385288598117041.0e14|h<0.0)c[B>>2]=0.0;d=d+1|0}g=C+1|0;h=0.0;d=v;B=0;while(1){d=d+1|0;if((B|0)>=(I|0))break;D=l+(d<<2)|0;X=+c[D>>2]*+c[f+(B<<2)>>2];c[D>>2]=X;D=m+(g+B<<3)|0;b[D>>3]=+b[D>>3]-X;h=h+X;B=B+1|0}v=m+(C<<3)|0;b[v>>3]=+b[v>>3]-h;C=g;v=d}while(1){if((d|0)>=(e|0)){d=0;break}c[l+(v<<2)>>2]=+b[m+(d<<3)>>3];D=B+v|0;d=d+1|0;B=B+-1|0;v=D}while(1){if((d|0)>=(n|0)){h=0.0;d=0;break}YO(l,e,a[L+(d<<2)>>2]|0,a[t+(d<<2)>>2]|0);d=d+1|0}while(1){if((d|0)>=(n|0))break;h=+NO(e,a[L+(d<<2)>>2]|0,a[t+(d<<2)>>2]|0)+h;d=d+1|0}h=h*2.0+E;d=0;while(1){if((d|0)>=(n|0))break;D=L+(d<<2)|0;YO(Y,e,a[D>>2]|0,G);h=h-+NO(e,a[D>>2]|0,G);d=d+1|0}X=+y(+(h-Q))/+y(+(Q+1.0e-10));d=((u|0)>1&h>Q|X<+b[23294])&1;B=0;while(1){if((B|0)>=(n|0))break;if((B|0)!=1){if(uS(Y,a[L+(B<<2)>>2]|0,a[t+(B<<2)>>2]|0,e,.001,e)|0){u=-1;break e}}else BK(i,a[Z>>2]|0,L,n,1,15,M,w)|0;B=B+1|0}Q=h;u=u+1|0}L2(M);EK(i);if(L|0){d=0;while(1){if((d|0)>=(n|0))break;v=L+(d<<2)|0;g=r+(d<<2)|0;B=0;while(1){if((B|0)>=(e|0))break;b[(a[g>>2]|0)+(B<<3)>>3]=+c[(a[v>>2]|0)+(B<<2)>>2];B=B+1|0}d=d+1|0}L2(a[L>>2]|0);L2(L)}if(t|0){L2(a[t>>2]|0);L2(t)}L2(G);L2(f);L2(m);L2(Y);L2(l)}}while(0);L2(a[F>>2]|0);L2(a[V>>2]|0);if(o){L2(a[o>>2]|0);L2(o)}}else J=10}else J=10}while(0);if((J|0)==10)u=iU(A,e,i,r,f,n,l,t,s)|0;k=N;return u|0}function oS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+48|0;f=s+24|0;n=s+12|0;i=s;l=vh(A)|0;c=$F(l*48|0)|0;qj(i,A);a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];i=cd(A)|0;r=c;while(1){if(!i)break;a[f>>2]=a[n>>2];a[f+4>>2]=a[n+4>>2];a[f+8>>2]=a[n+8>>2];hS(i,r,f);i=bd(A,i)|0;r=r+48|0}A:do{if(!(dS(c,l)|0))i=0;else{switch(e|0){case 9:{vS(A,c,l,70,1);ES(A,c,l,71,1);i=0;r=c;break}case 10:{ES(A,c,l,71,1);vS(A,c,l,70,1);i=0;r=c;break}case 7:{vS(A,c,l,72,1);ES(A,c,l,71,1);t=9;break}case 8:{t=9;break}case 13:{t=10;break}case 14:{ES(A,c,l,71,0);vS(A,c,l,70,0);i=0;r=c;break}case 12:{ES(A,c,l,73,0);vS(A,c,l,70,0);i=0;r=c;break}default:{vS(A,c,l,72,0);ES(A,c,l,71,0);i=0;r=c}}if((t|0)==9){ES(A,c,l,73,1);vS(A,c,l,70,1);t=10}if((t|0)==10){vS(A,c,l,70,0);ES(A,c,l,71,0);i=0;r=c}while(1){if((i|0)>=(l|0)){i=1;break A}n=a[r+16>>2]|0;t=a[(a[(a[r+20>>2]|0)+16>>2]|0)+132>>2]|0;b[t>>3]=+(a[r+12>>2]|0)*1.3888888888888887e-03;b[t+8>>3]=+(n|0)*1.3888888888888887e-03;i=i+1|0;r=r+48|0}}}while(0);L2(c);k=s;return i|0}function hS(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0.0,w=0.0;f=a[A+16>>2]|0;t=a[f+132>>2]|0;s=+b[t>>3]*720.0;l=~~(s+(s>=0.0?.5:-.5));s=+b[t+8>>3]*720.0;t=~~(s+(s>=0.0?.5:-.5));if(!(r[i+8>>0]|0)){w=+b[f+32>>3]*72.0*(+c[i>>2]*5.0);s=+b[f+40>>3]*72.0*(+c[i+4>>2]*5.0);n=~~(w+(w>=0.0?.5:-.5));f=~~(s+(s>=0.0?.5:-.5))}else{s=+b[f+32>>3]*36.0;w=+b[f+40>>3]*36.0;n=~~((+c[i>>2]+ +(~~(s+(s>=0.0?.5:-.5))|0))*10.0);f=~~((+c[i+4>>2]+ +(~~(w+(w>=0.0?.5:-.5))|0))*10.0)}a[e+12>>2]=l;a[e+16>>2]=t;a[e+20>>2]=A;a[e+32>>2]=l-n;a[e+36>>2]=t-f;a[e+40>>2]=n+l;a[e+44>>2]=f+t;return}function dS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=e+-1|0;i=0;A:while(1){if((i|0)>=(b|0)){A=0;break}c=A+48|0;i=i+1|0;n=A+32|0;l=A+40|0;t=A+36|0;f=A+44|0;A=c;r=i;while(1){if((r|0)>=(e|0)){A=c;continue A}if((((a[n>>2]|0)<=(a[A+40>>2]|0)?(a[A+32>>2]|0)<=(a[l>>2]|0):0)?(a[t>>2]|0)<=(a[A+44>>2]|0):0)?(a[A+36>>2]|0)<=(a[f>>2]|0):0){A=1;break A}A=A+48|0;r=r+1|0}}return A|0}function BS(A,e){A=A|0;e=e|0;if((a[A+36>>2]|0)>(a[e+44>>2]|0))A=0;else A=(a[e+36>>2]|0)<=(a[A+44>>2]|0)&1;return A|0}function vS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=jk(18168,a[4584]|0)|0;n=e;l=0;while(1){if((l|0)>=(i|0))break;a[n+8>>2]=a[n+12>>2];W5[a[t>>2]&63](t,n,1)|0;n=n+48|0;l=l+1|0}if(!f)l=mS(A,t,r,74)|0;else l=QS(t,r,74)|0;JV(l,2,2147483647)|0;n=0;while(1){if((n|0)>=(i|0))break;f=e+12|0;A=a[(a[(a[e+24>>2]|0)+16>>2]|0)+232>>2]|0;r=A-(a[f>>2]|0)|0;a[f>>2]=A;f=e+32|0;a[f>>2]=(a[f>>2]|0)+r;f=e+40|0;a[f>>2]=(a[f>>2]|0)+r;e=e+48|0;n=n+1|0}LS(l);pk(t)|0;return}function gS(A,e){A=A|0;e=e|0;if((a[A+32>>2]|0)>(a[e+40>>2]|0))A=0;else A=(a[e+32>>2]|0)<=(a[A+40>>2]|0)&1;return A|0}function ES(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=jk(18168,a[4584]|0)|0;n=e;l=0;while(1){if((l|0)>=(i|0))break;a[n+8>>2]=a[n+16>>2];W5[a[t>>2]&63](t,n,1)|0;n=n+48|0;l=l+1|0}if(!f)l=mS(A,t,r,75)|0;else l=QS(t,r,75)|0;JV(l,2,2147483647)|0;n=0;while(1){if((n|0)>=(i|0))break;f=e+16|0;A=a[(a[(a[e+24>>2]|0)+16>>2]|0)+232>>2]|0;r=A-(a[f>>2]|0)|0;a[f>>2]=A;f=e+36|0;a[f>>2]=(a[f>>2]|0)+r;f=e+44|0;a[f>>2]=(a[f>>2]|0)+r;e=e+48|0;n=n+1|0}LS(l);pk(t)|0;return}function CS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+32|0;r=e+32|0;if((a[A+36>>2]|0)<=(a[e+44>>2]|0)?(a[e+36>>2]|0)<=(a[A+44>>2]|0):0)if((a[A+40>>2]|0)<(a[r>>2]|0))A=1;else{n=GS(i,r)|0;n=n-(a[e+12>>2]|0)+(a[A+12>>2]|0)|0;e=a[e+16>>2]|0;A=a[A+16>>2]|0;f=(e|0)<(A|0);r=ZS(i,r)|0;A=(n|0)<=(r-(f?A:e)+(f?e:A)|0)&1}else A=0;return A|0}function IS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+32|0;r=e+32|0;if((a[i>>2]|0)<=(a[e+40>>2]|0)?(a[r>>2]|0)<=(a[A+40>>2]|0):0)if((a[A+44>>2]|0)<(a[e+36>>2]|0))A=1;else{n=ZS(i,r)|0;n=n-(a[e+16>>2]|0)+(a[A+16>>2]|0)|0;e=a[e+12>>2]|0;A=a[A+12>>2]|0;f=(e|0)<(A|0);r=GS(i,r)|0;A=(n|0)<=(r-(f?A:e)+(f?e:A)|0)&1}else A=0;return A|0}function ZS(A,e){A=A|0;e=e|0;return((a[A+12>>2]|0)-(a[A+4>>2]|0)+(a[e+12>>2]|0)-(a[e+4>>2]|0)|0)/2|0|0}function GS(A,e){A=A|0;e=e|0;return((a[A+8>>2]|0)-(a[A>>2]|0)+(a[e+8>>2]|0)-(a[e>>2]|0)|0)/2|0|0}function QS(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+16|0;E=I;r[E>>0]=r[18588]|0;r[E+1>>0]=r[18589]|0;r[E+2>>0]=r[18590]|0;r[E+3>>0]=r[18591]|0;C=kh(93515,E,0)|0;Td(C,137483,280,1)|0;n=xk(A)|0;l=-2147483647;g=0;while(1){if(!n)break;B=a[n+8>>2]|0;v=g+((l|0)!=(B|0)&1)|0;n=a[n>>2]|0;l=B;g=v}B=C+16|0;v=(g<<3)+-4|0;w=0;c=0;n=0;l=0;s=0;d=xk(A)|0;t=-2147483647;while(1){if(!d)break;h=a[d+8>>2]|0;if((t|0)!=(h|0)){o=vd(C,Vh(a[d+20>>2]|0)|0,1)|0;Td(o,137447,304,1)|0;u=o+16|0;n=a[u>>2]|0;a[n+112>>2]=d;if(!l){a[(a[B>>2]|0)+192>>2]=o;w=o}else{a[(a[w+16>>2]|0)+164>>2]=o;w=l}a[n+176>>2]=0;b=c+1|0;t=qF(b<<2)|0;a[(a[u>>2]|0)+172>>2]=t;if(!s){c=b;b=o;s=o;n=o;l=w;t=h}else{t=s+16|0;a[(a[t>>2]|0)+184>>2]=0;c=qF((s|0)==(w|0)?v:g-c<<2)|0;a[(a[t>>2]|0)+180>>2]=c;c=th(C,s,o,0,1)|0;Td(c,137460,176,1)|0;n=a[c+16>>2]|0;f[n+170>>1]=10;a[n+156>>2]=1;n=a[t>>2]|0;l=a[n+180>>2]|0;if(!l)n=$F((a[n+184>>2]<<2)+8|0)|0;else n=eV(l,(a[n+184>>2]<<2)+8|0)|0;s=a[t>>2]|0;a[s+180>>2]=n;s=s+184|0;l=a[s>>2]|0;a[s>>2]=l+1;a[n+(l<<2)>>2]=c;n=a[t>>2]|0;a[(a[n+180>>2]|0)+(a[n+184>>2]<<2)>>2]=0;n=a[u>>2]|0;l=a[n+172>>2]|0;if(!l)n=$F((a[n+176>>2]<<2)+8|0)|0;else n=eV(l,(a[n+176>>2]<<2)+8|0)|0;l=a[u>>2]|0;a[l+172>>2]=n;l=l+176|0;s=a[l>>2]|0;a[l>>2]=s+1;a[n+(s<<2)>>2]=c;c=a[u>>2]|0;a[(a[c+172>>2]|0)+(a[c+176>>2]<<2)>>2]=0;c=b;b=o;s=o;n=o;l=w;t=h}}else{b=n;n=w}a[d+24>>2]=b;w=n;n=b;d=a[d>>2]|0}s=s+16|0;a[(a[s>>2]|0)+184>>2]=0;n=qF(4)|0;a[(a[s>>2]|0)+180>>2]=n;r[E>>0]=r[18588]|0;r[E+1>>0]=r[18589]|0;r[E+2>>0]=r[18590]|0;r[E+3>>0]=r[18591]|0;s=kh(93562,E,0)|0;n=xk(A)|0;while(1){if(!n)break;E=vd(s,Vh(a[n+20>>2]|0)|0,1)|0;Td(E,137447,304,1)|0;a[n+28>>2]=E;a[(a[E+16>>2]|0)+112>>2]=n;n=a[n>>2]|0}n=0;b=xk(A)|0;l=-2147483647;A:while(1){if(!b)break;c=a[b+8>>2]|0;e:do{if((l|0)==(c|0))c=l;else{n=b;while(1){n=a[n>>2]|0;if(!n)break A;if((a[n+8>>2]|0)!=(c|0))break e}}}while(0);t=b+28|0;l=n;while(1){if(!l)break;if(m5[e&127](b,l)|0)th(s,a[t>>2]|0,a[l+28>>2]|0,0,1)|0;l=a[l>>2]|0}b=a[b>>2]|0;l=c}WS(s,C,i);Bh(s)|0;k=I;return C|0}function mS(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;B=k;k=k+16|0;d=B;r[d>>0]=r[18588]|0;r[d+1>>0]=r[18589]|0;r[d+2>>0]=r[18590]|0;r[d+3>>0]=r[18591]|0;d=kh(93515,d,0)|0;Td(d,137483,280,1)|0;b=d+16|0;l=xk(e)|0;t=0;while(1){if(!l)break;c=vd(d,Vh(a[l+20>>2]|0)|0,1)|0;Td(c,137447,304,1)|0;o=c+16|0;w=a[o>>2]|0;a[w+112>>2]=l;a[l+24>>2]=c;a[w+176>>2]=0;w=qF(4)|0;u=a[o>>2]|0;a[u+172>>2]=w;a[u+184>>2]=0;u=qF(4)|0;a[(a[o>>2]|0)+180>>2]=u;if(!t)a[(a[b>>2]|0)+192>>2]=c;else a[(a[t+16>>2]|0)+164>>2]=c;l=a[l>>2]|0;t=c}s=xk(e)|0;A:while(1){if(!s)break;w=s+32|0;u=s+24|0;o=s+20|0;l=s;while(1){l=a[l>>2]|0;if(!l)break;if(m5[i&127](s,l)|0){t=m5[n&127](w,l+32|0)|0;c=th(d,a[u>>2]|0,a[l+24>>2]|0,0,1)|0;Td(c,137460,176,1)|0;if((t|0)>=65536){h=13;break A}b=c+16|0;v=a[b>>2]|0;f[v+170>>1]=t;a[v+156>>2]=1;if(c|0?th(A,a[o>>2]|0,a[l+20>>2]|0,0,0)|0:0)a[(a[b>>2]|0)+156>>2]=100}}s=a[s>>2]|0}if((h|0)==13)vA(93518,93534,254,93547);s=xk(e)|0;while(1){if(!s)break;b=a[s+24>>2]|0;w=b+16|0;b=Oo(d,b)|0;while(1){if(!b)break;l=a[w>>2]|0;t=a[l+180>>2]|0;if(!t)l=$F((a[l+184>>2]<<2)+8|0)|0;else l=eV(t,(a[l+184>>2]<<2)+8|0)|0;t=a[w>>2]|0;a[t+180>>2]=l;t=t+184|0;c=a[t>>2]|0;a[t>>2]=c+1;a[l+(c<<2)>>2]=b;c=a[w>>2]|0;a[(a[c+180>>2]|0)+(a[c+184>>2]<<2)>>2]=0;c=b+-48|0;l=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;t=a[l+172>>2]|0;if(!t)l=$F((a[l+176>>2]<<2)+8|0)|0;else l=eV(t,(a[l+176>>2]<<2)+8|0)|0;a[(a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0)+172>>2]=l;n=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;h=a[n+172>>2]|0;n=n+176|0;v=a[n>>2]|0;a[n>>2]=v+1;a[h+(v<<2)>>2]=b;v=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;a[(a[v+172>>2]|0)+(a[v+176>>2]<<2)>>2]=0;b=_o(d,b)|0}s=a[s>>2]|0}k=B;return d|0}function LS(A){A=A|0;var e=0,i=0,r=0,f=0;f=cd(A)|0;while(1){if(!f)break;i=f+16|0;e=a[i>>2]|0;r=a[e+172>>2]|0;if(r){L2(r);e=a[i>>2]|0}e=a[e+180>>2]|0;if(e|0)L2(e);f=bd(A,f)|0}Bh(A)|0;return}function WS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;b=cd(A)|0;while(1){if(!b)break;u=a[(a[b+16>>2]|0)+112>>2]|0;w=a[u+24>>2]|0;u=u+32|0;k=w+16|0;s=Oo(A,b)|0;while(1){if(!s)break;l=a[(a[(a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;o=m5[i&127](u,l+32|0)|0;l=a[l+24>>2]|0;t=th(e,w,l,0,1)|0;Td(t,137460,176,1)|0;c=t+16|0;r=a[c>>2]|0;a[r+156>>2]=1;n=f[r+170>>1]|0;if((o|0)>(n&65535|0)){if(!(n<<16>>16)){r=a[k>>2]|0;n=a[r+180>>2]|0;if(!n)r=$F((a[r+184>>2]<<2)+8|0)|0;else r=eV(n,(a[r+184>>2]<<2)+8|0)|0;h=a[k>>2]|0;a[h+180>>2]=r;h=h+184|0;n=a[h>>2]|0;a[h>>2]=n+1;a[r+(n<<2)>>2]=t;r=a[k>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;l=l+16|0;r=a[l>>2]|0;n=a[r+172>>2]|0;if(!n)r=$F((a[r+176>>2]<<2)+8|0)|0;else r=eV(n,(a[r+176>>2]<<2)+8|0)|0;n=a[l>>2]|0;a[n+172>>2]=r;n=n+176|0;h=a[n>>2]|0;a[n>>2]=h+1;a[r+(h<<2)>>2]=t;r=a[l>>2]|0;a[(a[r+172>>2]|0)+(a[r+176>>2]<<2)>>2]=0;r=a[c>>2]|0}f[r+170>>1]=o}s=_o(A,s)|0}b=bd(A,b)|0}return}function yS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(a[e>>2]|0)-(a[i>>2]|0)|0}function zS(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0;Z=k;k=k+64|0;g=Z+24|0;B=Z+16|0;d=Z+52|0;h=Z+40|0;v=Z;C=vh(A)|0;I=$F(C*72|0)|0;qj(h,A);t=+c[h>>2];s=+c[h+4>>2];h=(r[h+8>>0]|0)!=0;t=h?t*.013888888888888888:t;s=h?s*.013888888888888888:s;w=t*.5;u=s*.5;i=I;f=cd(A)|0;while(1){if(!f)break;o=a[f+16>>2]|0;n=+b[o+32>>3];if(h){l=+b[o+40>>3]*.5+s;n=n*.5+t}else{l=u*+b[o+40>>3];n=w*n}o=a[o+132>>2]|0;Q=+b[o>>3];b[i>>3]=Q;G=+b[o+8>>3];b[i+8>>3]=G;b[i+16>>3]=Q-n;b[i+24>>3]=G-l;b[i+32>>3]=Q+n;b[i+40>>3]=G+l;b[i+48>>3]=n;b[i+56>>3]=l;a[i+64>>2]=f;i=i+72|0;f=bd(A,f)|0}do{if((e|0)<0){n=+YS(I,C);if(n==0.0){L2(I);i=0;break}if(!0){t=n;l=n;E=19}else{E=a[15712]|0;b[B>>3]=n;f3(E,93565,B)|0;t=n;l=n;E=19}}else{f=DS(I,C,d)|0;i=a[d>>2]|0;if(!i){L2(f);L2(I);i=0;break}if(!e){FS(v,f,i);n=+b[v>>3];l=+b[v+8>>3]}else{l=+MS(f,i);n=l}L2(f);if(!0){t=n;E=19}else{E=a[15712]|0;b[g>>3]=n;b[g+8>>3]=l;f3(E,93579,g)|0;t=n;E=19}}}while(0);if((E|0)==19){i=0;f=I;while(1){if((i|0)>=(C|0))break;E=a[(a[(a[f+64>>2]|0)+16>>2]|0)+132>>2]|0;b[E>>3]=+b[f>>3]*t;b[E+8>>3]=+b[f+8>>3]*l;i=i+1|0;f=f+72|0}L2(I);i=1}k=Z;return i|0}function YS(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;i=0.0;r=0;A:while(1){if((r|0)>=(e|0))break;d=A+72|0;r=r+1|0;w=A+16|0;u=A+8|0;k=A+56|0;o=A+48|0;h=A+32|0;c=A+24|0;s=A+40|0;l=r;t=d;while(1){if((l|0)>=(e|0)){A=d;continue A}if(((+b[w>>3]<=+b[t+32>>3]?+b[t+16>>3]<=+b[h>>3]:0)?+b[c>>3]<=+b[t+40>>3]:0)?+b[t+24>>3]<=+b[s>>3]:0){i=0.0;break A}f=+b[A>>3];a=+b[t>>3];if(f==a)n=C;else{n=+y(+(f-a));n=(+b[t+48>>3]+ +b[o>>3])/n}f=+b[u>>3];a=+b[t+8>>3];if(f==a)f=C;else{f=+y(+(f-a));f=(+b[t+56>>3]+ +b[k>>3])/f}n=fi?n:i}}return+i}function DS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,I=0,Z=0,G=0,Q=0;c=$F((e<<4)+16|0)|0;w=0;r=0;u=c;k=e;l=c;A:while(1){if((r|0)>=(e|0))break;G=A+72|0;r=r+1|0;Z=A+16|0;d=A+32|0;B=A+24|0;v=A+40|0;g=A+8|0;E=A+56|0;I=A+48|0;o=r;h=G;s=l;while(1){if((o|0)==(e|0)){A=G;l=s;continue A}if(((+b[Z>>3]<=+b[h+32>>3]?+b[h+16>>3]<=+b[d>>3]:0)?+b[B>>3]<=+b[h+40>>3]:0)?+b[h+24>>3]<=+b[v>>3]:0){l=k+e|0;if((w|0)==(k|0)){c=eV(c,(l<<4)+16|0)|0;u=c;s=c}else l=k;f=+b[A>>3];n=+b[h>>3];if(!(f==n)){f=(+b[h+48>>3]+ +b[I>>3])/+y(+(f-n));if(f<1.0){f=1.0;Q=13}}else{f=C;Q=13}if((Q|0)==13)Q=0;n=+b[g>>3];t=+b[h+8>>3];if(!(n==t)){n=(+b[h+56>>3]+ +b[E>>3])/+y(+(n-t));if(n<1.0){n=1.0;Q=16}}else{n=C;Q=16}if((Q|0)==16)Q=0;w=w+1|0;b[u+(w<<4)>>3]=f;b[u+(w<<4)+8>>3]=n}else l=k;o=o+1|0;h=h+72|0;k=l}}Q=eV(l,(w<<4)+16|0)|0;a[i>>2]=w;return Q|0}function MS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,a=0.0,n=0.0;r=1;f=0.0;while(1){i=A+16|0;if((r|0)>(e|0))break;n=+b[i>>3];a=+b[A+24>>3];a=nf?a:f;A=i}return+f}function FS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0,n=0,l=0.0;b[e>>3]=1.0;b[e+8>>3]=C;K4(e+16|0,i,16,76);n=$F((i<<4)+16|0)|0;b[n+(i<<4)>>3]=+b[e+(i<<4)>>3];a=i;r=1.0;while(1){b[n+(a<<4)+8>>3]=r;f=a+-1|0;if((a|0)<=0){r=C;f=0;a=0;break}b[n+(f<<4)>>3]=+b[e+(f<<4)>>3];l=+b[(+b[e+(a<<4)+8>>3]>r?e:n)+(a<<4)+8>>3];a=f;r=l}while(1){if((a|0)>(i|0))break;l=+b[n+(a<<4)+8>>3]*+b[n+(a<<4)>>3];e=l>3];b[A>>3]=+b[n+(f<<4)>>3];b[A+8>>3]=l;return}else vA(93596,93534,832,93616)}function VS(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3];r=+b[e>>3];if(!(ir)){r=+b[A+8>>3];i=+b[e+8>>3];if(ri&1}else A=1;else A=-1;return A|0}function JS(A,e,i){A=A|0;e=e|0;i=i|0;i=k;k=k+16|0;e=i;a[e>>2]=93631;ao(1,93681,e)|0;k=i;return 0}function NS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=k;k=k+16|0;i=r;a[i>>2]=93631;ao(1,93709,i)|0;k=r;return 0}function XS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{switch(i|0){case 2:{r=$F(16)|0;f=$F(24)|0;a[f+8>>2]=0;a[f+4>>2]=r;a[f>>2]=2;a[r>>2]=0;a[r+4>>2]=1;i=r+8|0;a[f+16>>2]=i;a[f+20>>2]=0;a[f+12>>2]=2;a[i>>2]=1;a[r+12>>2]=0;break}case 1:{r=$F(4)|0;f=$F(12)|0;a[f+8>>2]=0;a[f+4>>2]=r;a[f>>2]=1;a[r>>2]=0;break}default:{JS(0,0,0)|0;A=(i|0)>0;if(!r){if(!A){f=0;break A}re()}else{if(!A){f=0;break A}re()}}}}while(0);return f|0}function RS(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)L2(e);e=a[A+8>>2]|0;if(e|0)L2(e);L2(A)}return}function HS(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)L2(e);e=a[A+8>>2]|0;if(e|0)L2(e);e=a[A+16>>2]|0;if(e|0)L2(e);L2(A)}return}function pS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;s=u;b=y2(a[46849]|0,i<<2)|0;a[46849]=b;f=0;while(1){if((f|0)>=(i|0))break;a[r+(f<<2)>>2]=2147483647;f=f+1|0}a[r+(A<<2)>>2]=0;n=e+(A*20|0)|0;l=e+(A*20|0)+8|0;t=e+(A*20|0)+4|0;f=1;while(1){if((f|0)>=(a[n>>2]|0))break;a[r+(a[(a[t>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+c[(a[l>>2]|0)+(f<<2)>>2];f=f+1|0}US(w,A,b,r,i);l=-2147483639;while(1){if(!((xS(w,s,a[46849]|0,r)|0)<<24>>24)){f=0;break}f=a[s>>2]|0;A=a[r+(f<<2)>>2]|0;if((A|0)==2147483647){f=0;break}l=e+(f*20|0)|0;t=e+(f*20|0)+4|0;n=e+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(a[l>>2]|0))break;TS(w,a[(a[t>>2]|0)+(f<<2)>>2]|0,A+~~+c[(a[n>>2]|0)+(f<<2)>>2]|0,a[46849]|0,r);f=f+1|0}l=A+10|0}while(1){if((f|0)>=(i|0))break;n=r+(f<<2)|0;if((a[n>>2]|0)==2147483647)a[n>>2]=l;f=f+1|0}jS(w);k=u;return}function US(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;if((f|0)==1)t=0;else t=$F((f<<2)+-4|0)|0;a[A>>2]=t;c=f+-1|0;a[A+4>>2]=c;n=0;l=0;while(1){if((l|0)>=(f|0))break;if((l|0)!=(e|0)){a[t+(n<<2)>>2]=l;a[i+(l<<2)>>2]=n;n=n+1|0}l=l+1|0}n=(c|0)/2|0;while(1){if((n|0)<=-1)break;SS(A,n,i,r);n=n+-1|0}return}function xS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A+4|0;if(!(a[f>>2]|0))A=0;else{n=a[A>>2]|0;a[e>>2]=a[n>>2];e=a[n+((a[f>>2]|0)+-1<<2)>>2]|0;a[n>>2]=e;a[i+(e<<2)>>2]=0;a[f>>2]=(a[f>>2]|0)+-1;SS(A,0,i,r);A=1}return A|0}function TS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;n=f+(e<<2)|0;if((a[n>>2]|0)>(i|0)){c=r+(e<<2)|0;t=a[c>>2]|0;a[n>>2]=i;n=a[A>>2]|0;A=t;while(1){if((A|0)<=0)break;l=A>>>1;t=a[n+(l<<2)>>2]|0;if((a[f+(t<<2)>>2]|0)<=(i|0))break;a[n+(A<<2)>>2]=t;a[r+(t<<2)>>2]=A;A=l}a[n+(A<<2)>>2]=e;a[c>>2]=A}return}function jS(A){A=A|0;A=a[A>>2]|0;if(A|0)L2(A);return}function SS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;t=A+4|0;while(1){f=e<<1;n=f|1;l=a[t>>2]|0;if(!((f|0)<(l|0)?(c=a[A>>2]|0,(a[r+(a[c+(f<<2)>>2]<<2)>>2]|0)<(a[r+(a[c+(e<<2)>>2]<<2)>>2]|0)):0))f=e;if((n|0)<(l|0)){c=a[A>>2]|0;f=(a[r+(a[c+(n<<2)>>2]<<2)>>2]|0)<(a[r+(a[c+(f<<2)>>2]<<2)>>2]|0)?n:f}if((f|0)==(e|0))break;c=a[A>>2]|0;l=c+(f<<2)|0;n=a[l>>2]|0;c=c+(e<<2)|0;a[l>>2]=a[c>>2];a[c>>2]=n;a[i+(a[l>>2]<<2)>>2]=f;a[i+(a[c>>2]<<2)>>2]=e;e=f}return}function PS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0.0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;s=o+8|0;w=o;a[w>>2]=0;u=$F(i<<2)|0;f=0;while(1){if((f|0)>=(i|0))break;c[r+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}c[r+(A<<2)>>2]=0.0;n=a[e+(A*20|0)>>2]|0;l=e+(A*20|0)+8|0;t=e+(A*20|0)+4|0;f=1;while(1){if((f|0)>=(n|0))break;a[r+(a[(a[t>>2]|0)+(f<<2)>>2]<<2)>>2]=a[(a[l>>2]|0)+(f<<2)>>2];f=f+1|0}OS(s,A,u,r,i);A:while(1){if(!((KS(s,w,u,r)|0)<<24>>24))break;f=a[w>>2]|0;b=+c[r+(f<<2)>>2];if(b==3402823466385288598117041.0e14)break;l=e+(f*20|0)|0;t=e+(f*20|0)+4|0;n=e+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(a[l>>2]|0))continue A;_S(s,a[(a[t>>2]|0)+(f<<2)>>2]|0,+c[(a[n>>2]|0)+(f<<2)>>2]+b,u,r);f=f+1|0}}jS(s);L2(u);k=o;return}function OS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;t=f+-1|0;c=$F(t<<2)|0;a[A>>2]=c;a[A+4>>2]=t;n=0;l=0;while(1){if((l|0)>=(f|0))break;if((l|0)!=(e|0)){a[c+(n<<2)>>2]=l;a[i+(l<<2)>>2]=n;n=n+1|0}l=l+1|0}n=(t|0)/2|0;while(1){if((n|0)<=-1)break;qS(A,n,i,r);n=n+-1|0}return}function KS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A+4|0;if(!(a[f>>2]|0))A=0;else{n=a[A>>2]|0;a[e>>2]=a[n>>2];e=a[n+((a[f>>2]|0)+-1<<2)>>2]|0;a[n>>2]=e;a[i+(e<<2)>>2]=0;a[f>>2]=(a[f>>2]|0)+-1;qS(A,0,i,r);A=1}return A|0}function _S(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,b=0;n=f+(e<<2)|0;if(!(+c[n>>2]<=i)){b=r+(e<<2)|0;t=a[b>>2]|0;c[n>>2]=i;n=a[A>>2]|0;A=t;while(1){if((A|0)<=0)break;l=A>>>1;t=a[n+(l<<2)>>2]|0;if(!(+c[f+(t<<2)>>2]>i))break;a[n+(A<<2)>>2]=t;a[r+(t<<2)>>2]=A;A=l}a[n+(A<<2)>>2]=e;a[b>>2]=A}return}function qS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0;t=A+4|0;while(1){f=e<<1;n=f|1;l=a[t>>2]|0;if(!((f|0)<(l|0)?(b=a[A>>2]|0,+c[r+(a[b+(f<<2)>>2]<<2)>>2]<+c[r+(a[b+(e<<2)>>2]<<2)>>2]):0))f=e;if((n|0)<(l|0)?(b=a[A>>2]|0,+c[r+(a[b+(n<<2)>>2]<<2)>>2]<+c[r+(a[b+(f<<2)>>2]<<2)>>2]):0)f=n;if((f|0)==(e|0))break;b=a[A>>2]|0;l=b+(f<<2)|0;n=a[l>>2]|0;b=b+(e<<2)|0;a[l>>2]=a[b>>2];a[b>>2]=n;a[i+(a[l>>2]<<2)>>2]=f;a[i+(a[b>>2]<<2)>>2]=e;e=f}return}function $S(){jO(187400,48);a[46853]=0;return}function AP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0,l=0;l=PO(187400)|0;a[l+32>>2]=A;a[l+36>>2]=e;LK(A);LK(e);a[l+24>>2]=0;a[l+28>>2]=0;f=+b[A>>3];n=+b[e>>3]-f;r=+b[A+8>>3];i=+b[e+8>>3]-r;f=i*r+n*f+(i*i+n*n)*.5;e=l+16|0;b[e>>3]=f;if((n>0.0?n:-n)>(i>0.0?i:-i)){b[l>>3]=1.0;r=i/n;i=n;A=l+8|0}else{b[l+8>>3]=1.0;r=n/i;A=l}b[A>>3]=r;b[e>>3]=f/i;e=a[46853]|0;a[l+40>>2]=e;a[46853]=e+1;return l|0}function eP(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0;s=+b[A>>3];A:do{if(s==1.0){if(!(+b[A+8>>3]>=0.0)){e=a[A+28>>2]|0;i=a[A+24>>2]|0;if(!i)w=9;else w=5}else{e=a[A+24>>2]|0;i=a[A+28>>2]|0;if(!i)w=9;else w=5}do{if((w|0)==5){r=+b[i+8>>3];if(r>+b[23266])break A;f=+b[23267];if(!(r>=f)){l=f;r=+b[A+16>>3]-+b[A+8>>3]*f;break}else{l=r;r=+b[i>>3];break}}else if((w|0)==9){f=+b[23267];l=f;r=+b[A+16>>3]-+b[A+8>>3]*f}}while(0);do{if(e){n=+b[e+8>>3];if(n>3]-+b[A+8>>3]*f;break}else{f=+b[e>>3];break}}else{f=+b[23266];n=f;f=+b[A+16>>3]-+b[A+8>>3]*f}}while(0);t=+b[23268];e=r>t;i=f>t;c=+b[23269];if(!(e&i|r>3]-t)/+b[A+8>>3];r=t}if(r>3]-c)/+b[A+8>>3];r=c}if(i){n=(+b[A+16>>3]-t)/+b[A+8>>3];f=t}if(f>3]-c)/+b[A+8>>3];f=c;w=46}else w=46}}else{i=a[A+28>>2]|0;e=a[A+24>>2]|0;do{if(e){r=+b[e>>3];if(r>+b[23268])break A;n=+b[23269];if(!(r>=n)){l=+b[A+16>>3]-n*s;r=n;break}else{l=+b[e+8>>3];break}}else{n=+b[23269];l=+b[A+16>>3]-n*s;r=n}}while(0);do{if(i){f=+b[i>>3];if(f>3]-s*t;f=t;break}else{n=+b[i+8>>3];break}}else{f=+b[23268];n=+b[A+16>>3]-s*f}}while(0);t=+b[23266];e=l>t;i=n>t;c=+b[23267];if(!(e&i|l>3]-t)/s}if(l>3]-c)/s}if(i){n=t;f=(+b[A+16>>3]-t)/s}if(n>3]-c)/s;w=46}else w=46}}}while(0);if((w|0)==46)iP(A,r,l,f,n);return}function iP(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var n=0;n=A+32|0;FP(a[n>>2]|0,e,i);FP(a[n>>2]|0,r,f);A=A+36|0;FP(a[A>>2]|0,e,i);FP(a[A>>2]|0,r,f);return}function rP(A,e,i){A=A|0;e=e|0;i=i|0;a[A+24+(e<<2)>>2]=i;LK(i);if(a[A+24+(1-e<<2)>>2]|0){eP(A);mK(a[A+32>>2]|0);mK(a[A+36>>2]|0);OO(A,187400)}return}function fP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;o=k;k=k+16|0;u=o;s=e<<2;l=$F(U(s,i)|0)|0;n=a[r>>2]|0;s=$F(s)|0;w=a[A+8>>2]|0;if(n|0){L2(a[n>>2]|0);L2(n)}b=$F(i<<2)|0;a[r>>2]=b;n=0;while(1){if((n|0)>=(i|0))break;a[b+(n<<2)>>2]=l+((U(n,e)|0)<<2);n=n+1|0}c=(f|0)!=0;if(c)xP(A,e);r=(a8()|0)%(e|0)|0;lS(u,e);n=a[b>>2]|0;if(c){pS(r,A,e,n);f=0;n=0}else{rS(r,A,e,n,u);f=0;n=0}while(1){if((n|0)>=(e|0)){t=1;break}l=a[(a[b>>2]|0)+(n<<2)>>2]|0;a[s+(n<<2)>>2]=l;t=(l|0)>(f|0);f=t?l:f;r=t?n:r;n=n+1|0}while(1){if((t|0)>=(i|0))break;l=b+(t<<2)|0;n=a[l>>2]|0;if(c){pS(r,A,e,n);n=0;f=0}else{rS(r,A,e,n,u);n=0;f=0}while(1){if((n|0)>=(e|0))break;B=s+(n<<2)|0;h=a[B>>2]|0;d=a[(a[l>>2]|0)+(n<<2)>>2]|0;d=(h|0)<(d|0)?h:d;a[B>>2]=d;B=(d|0)>(f|0);h=B?n:r;n=n+1|0;f=B?d:f;r=h}t=t+1|0}L2(s);if(c)TP(A,e,w);k=o;return}function aP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0.0,c=0,b=0;t=1.0/+(e|0);l=0;while(1){if((l|0)>=(i|0))break;c=A+(l<<2)|0;r=0.0;f=0;while(1){if((f|0)>=(e|0))break;r=r+ +(a[(a[c>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=~~(r*t);f=0;while(1){if((f|0)>=(e|0))break;b=(a[c>>2]|0)+(f<<2)|0;a[b>>2]=(a[b>>2]|0)-n;f=f+1|0}l=l+1|0}return}function nP(){a[46855]=~~+z(+ +((a[46854]|0)+4|0));return}function lP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+(r*r+i*i)}function tP(A,e,i){A=A|0;e=e|0;i=i|0;b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=+b[e+8>>3]-+b[i+8>>3];return}function cP(A,e,i){A=A|0;e=e|0;i=i|0;b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=+b[i+8>>3]+ +b[e+8>>3];return}function bP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];return+((+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r))}function sP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=k;k=k+48|0;f=r+32|0;n=r+16|0;l=r;a[l>>2]=a[A>>2];a[l+4>>2]=a[A+4>>2];a[l+8>>2]=a[A+8>>2];a[l+12>>2]=a[A+12>>2];a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];i=+bP(l,n,f)>0.0&1;k=r;return i|0}function wP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0;k=+b[A>>3];o=+b[r+8>>3];h=+b[i+8>>3];w=(o-h)*k;u=+b[e>>3];s=+b[r>>3];c=+b[e+8>>3];l=+b[A+8>>3];t=c-l;a=+b[i>>3];n=w+u*(h-o)+t*s+a*(l-c);if(n==0.0)r=0;else{o=(a*(l-o)+w+(h-l)*s)/n;h=-(a*t+((h-c)*k+(l-h)*u))/n;b[f>>3]=o*(u-k)+k;b[f+8>>3]=t*o+l;r=h<=1.0&(h>=0.0&(o>=0.0&o<=1.0))&1}return r|0}function uP(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0.0,l=0;a[A+20>>2]=e;LK(e);l=A+24|0;b[l>>3]=+b[e+8>>3]+i;r=a[46856]|0;r=r+((kP(A)|0)*40|0)|0;while(1){f=r+32|0;r=a[f>>2]|0;if(!r)break;i=+b[l>>3];n=+b[r+24>>3];if(i>n)continue;if(!(i==n))break;if(!(+b[e>>3]>+b[a[r+20>>2]>>3]))break}a[A+32>>2]=r;a[f>>2]=A;a[46857]=(a[46857]|0)+1;return}function kP(A){A=A|0;var e=0.0,i=0,r=0.0;i=a[46858]|0;r=+(i|0);e=(+b[A+24>>3]-+b[23273])/+b[23275]*r;do{if(!(e<0.0))if(!(e>=r)){A=~~e;break}else{A=i+-1|0;break}else A=0}while(0);if((A|0)<(a[46859]|0))a[46859]=A;return A|0}function oP(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;if(a[i>>2]|0){e=a[46856]|0;e=e+((kP(A)|0)*40|0)|0;do{r=e+32|0;e=a[r>>2]|0}while((e|0)!=(A|0));a[r>>2]=a[A+32>>2];a[46857]=(a[46857]|0)+-1;mK(a[i>>2]|0);a[i>>2]=0}return}function hP(){return(a[46857]|0)==0|0}function dP(A){A=A|0;var e=0,i=0,r=0,f=0.0;e=a[46856]|0;i=a[46859]|0;while(1){r=a[e+(i*40|0)+32>>2]|0;if(r|0)break;r=i+1|0;a[46859]=r;i=r}f=+b[r+24>>3];b[A>>3]=+b[a[r+20>>2]>>3];b[A+8>>3]=f;return}function BP(){var A=0,e=0;e=(a[46856]|0)+((a[46859]|0)*40|0)+32|0;A=a[e>>2]|0;a[e>>2]=a[A+32>>2];a[46857]=(a[46857]|0)+-1;return A|0}function vP(){L2(a[46856]|0);a[46856]=0;return}function gP(){var A=0,e=0,i=0;a[46857]=0;a[46859]=0;A=a[46855]|0;e=A<<2;a[46858]=e;i=a[46856]|0;if(!i){i=$F(A*160|0)|0;a[46856]=i;e=a[46858]|0}A=0;while(1){if((A|0)>=(e|0))break;a[i+(A*40|0)+32>>2]=0;A=A+1|0}return}function EP(){jO(187448,40);L2(a[46865]|0);a[46865]=0;return}function CP(){var A=0,e=0,i=0;jO(187448,40);A=a[46855]|0;e=A<<1;a[46866]=e;i=a[46865]|0;if(!i){i=$F(A<<3)|0;a[46865]=i;e=a[46866]|0}A=0;while(1){if((A|0)>=(e|0))break;a[i+(A<<2)>>2]=0;A=A+1|0}a[46860]=IP(0,0)|0;a[46861]=IP(0,0)|0;a[a[46860]>>2]=0;i=a[46861]|0;e=a[46860]|0;a[e+4>>2]=i;a[i>>2]=e;a[(a[46861]|0)+4>>2]=0;i=a[46865]|0;a[i>>2]=a[46860];a[i+((a[46866]|0)+-1<<2)>>2]=a[46861];return}function IP(A,e){A=A|0;e=e|0;var i=0;i=PO(187448)|0;a[i+8>>2]=A;r[i+16>>0]=e;a[i+32>>2]=0;a[i+20>>2]=0;a[i+12>>2]=0;return i|0}function ZP(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0.0,w=0.0,u=0.0,k=0,o=0.0,h=0.0;l=a[A+8>>2]|0;c=a[e+8>>2]|0;do{if((!((l|0)==0|(c|0)==0)?(k=a[l+36>>2]|0,i=a[c+36>>2]|0,(k|0)!=(i|0)):0)?(t=+b[l>>3],f=+b[c+8>>3],n=+b[l+8>>3],s=+b[c>>3],w=f*t-s*n,!(w>-1.0e-10&w<1.0e-10)):0){o=+b[l+16>>3];h=+b[c+16>>3];u=(o*f-h*n)/w;t=(h*t-o*s)/w;f=+b[k+8>>3];n=+b[i+8>>3];do{if(f>3]<+b[i>>3]:0){i=k;break}A=e}}while(0);A=r[A+16>>0]|0;if(!(u>=+b[i>>3])){if(A<<24>>24==1){A=0;break}}else if(!(A<<24>>24)){A=0;break}A=ZK()|0;a[A+20>>2]=0;b[A>>3]=u;b[A+8>>3]=t}else A=0}while(0);return A|0}function GP(A,e){A=A|0;e=e|0;var i=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0,s=0.0,w=0,u=0,k=0.0,o=0;u=a[A+8>>2]|0;c=a[u+36>>2]|0;s=+b[e>>3];k=+b[c>>3];w=s>k;o=r[A+16>>0]|0;if(w)if(!(o<<24>>24))A=1;else f=4;else if(o<<24>>24==1)A=0;else f=4;if((f|0)==4){i=+b[u>>3];A:do{if(i==1.0){i=+b[e+8>>3];n=i-+b[c+8>>3];l=s-k;t=+b[u+8>>3];e=t<0.0;do{if(w?t>=0.0:e){if(n>=t*l){A=1;break A}}else{A=t*i+s>+b[u+16>>3];if(e)if(A){A=0;break A}else break;else if(A)break;else{A=0;break A}}}while(0);k=k-+b[a[u+32>>2]>>3];A=t*(l*l-n*n)>3]-s*i;t=+b[e+8>>3]-l;k=s-k;s=l-+b[c+8>>3];A=t*t>s*s+k*k}}while(0);A=(A^o<<24>>24!=0)&1}return A|0}function QP(A,e){A=A|0;e=e|0;a[e>>2]=A;A=A+4|0;a[e+4>>2]=a[A>>2];a[a[A>>2]>>2]=e;a[A>>2]=e;return}function mP(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[46866]|0;e=~~((+b[A>>3]-+b[23272])/+b[23274]*+(f|0));e=(e|0)>0?e:0;f=(e|0)<(f|0)?e:f+-1|0;e=LP(f)|0;if(!e){i=1;while(1){e=LP(f-i|0)|0;if(e|0)break;e=LP(i+f|0)|0;if(e|0)break;i=i+1|0}a[46867]=(a[46867]|0)+i}a[46868]=(a[46868]|0)+1;r=a[46860]|0;i=a[46861]|0;A:do{if((e|0)==(r|0))n=9;else{if((e|0)!=(i|0)?(GP(e,A)|0)!=0:0){n=9;break}while(1){e=a[e>>2]|0;if((e|0)==(r|0))break A;if(GP(e,A)|0){r=e;break}}}}while(0);if((n|0)==9){while(1){e=a[e+4>>2]|0;if((e|0)==(i|0))break;if(!(GP(e,A)|0))break;else n=9}r=a[e>>2]|0}if((f|0)>0?(f|0)<((a[46866]|0)+-1|0):0){e=(a[46865]|0)+(f<<2)|0;i=a[e>>2]|0;if(i|0){n=i+12|0;a[n>>2]=(a[n>>2]|0)+-1}a[e>>2]=r;n=r+12|0;a[n>>2]=(a[n>>2]|0)+1}return r|0}function LP(A){A=A|0;var e=0,i=0;if((A|0)>-1&(a[46866]|0)>(A|0)?(i=(a[46865]|0)+(A<<2)|0,e=a[i>>2]|0,(e|0)!=0):0){if((a[e+8>>2]|0)==(-2|0)){a[i>>2]=0;A=e+12|0;i=(a[A>>2]|0)+-1|0;a[A>>2]=i;if(!i){OO(e,187448);e=0}else e=0}}else e=0;return e|0}function WP(A){A=A|0;var e=0,i=0;e=A+4|0;i=a[A>>2]|0;a[i+4>>2]=a[e>>2];a[a[e>>2]>>2]=i;a[A+8>>2]=-2;return}function yP(A){A=A|0;return a[A+4>>2]|0}function zP(A){A=A|0;return a[A>>2]|0}function YP(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(!e)A=187672;else A=(r[A+16>>0]|0)==0?e+32|0:e+36|0;return a[A>>2]|0}function DP(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(!e)A=187672;else A=(r[A+16>>0]|0)==0?e+36|0:e+32|0;return a[A>>2]|0}function MP(){jO(187480,24);return}function FP(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;n=(a[46869]|0)+((a[A+16>>2]|0)*96|0)+88|0;f=a[n>>2]|0;b[l+8>>3]=e;b[l+16>>3]=i;r=VP(A,l,f)|0;do{if(r|0){if((r|0)<0){l=PO(187480)|0;b[l+8>>3]=e;b[l+16>>3]=i;a[l>>2]=f;a[n>>2]=l;break}while(1){r=a[f>>2]|0;n=VP(A,l,r)|0;if((n|0)>0)f=r;else break}if(n|0){l=PO(187480)|0;b[l+8>>3]=e;b[l+16>>3]=i;a[f>>2]=l;a[l>>2]=r}}}while(0);k=t;return}function VP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0,c=0.0;do{if(i){f=+b[e+8>>3];l=+b[i+8>>3];r=+b[e+16>>3];a=+b[i+16>>3];if(!(f==l&r==a)){c=+b[A>>3];t=f-c;f=+b[A+8>>3];n=r-f;l=l-c;r=a-f;if(!(t>=0.0)){if(l>=0.0){e=1;break}f=r/l;r=n/t;if(rf){e=1;break}e=t>l?-1:1;break}if(!(l<0.0)){e=l>0.0;if(!(t>0.0)){if(e){e=!(n<=0.0)?1:-1;break}if(n0.0?-1:1;break}f=r/l;r=n/t;if(rf){e=1;break}e=t>2]|0;i=A+(i*20|0)+4|0;e=1;A=0;while(1){if((e|0)>=(f|0))break;n=A+((a[r+(a[(a[i>>2]|0)+(e<<2)>>2]<<2)>>2]|0)>0&1)|0;e=e+1|0;A=n}return A|0}function NP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+(e*20|0)|0;e=A+(e*20|0)+4|0;A=1;while(1){if((A|0)>=(a[r>>2]|0))break;a[i+(a[(a[e>>2]|0)+(A<<2)>>2]<<2)>>2]=1;A=A+1|0}return}function XP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+(e*20|0)|0;e=A+(e*20|0)+4|0;A=1;while(1){if((A|0)>=(a[r>>2]|0))break;a[i+(a[(a[e>>2]|0)+(A<<2)>>2]<<2)>>2]=0;A=A+1|0}return}function RP(A,e){A=A|0;e=e|0;if(!(a[A+8>>2]|0))A=pP(A,e)|0;else A=HP(A,e)|0;return A|0}function HP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=e<<2;r=$F(U(f,e)|0)|0;f=$F(f)|0;i=0;while(1){if((i|0)>=(e|0)){i=0;break}a[f+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}while(1){if((i|0)>=(e|0))break;pS(i,A,e,a[f+(i<<2)>>2]|0);i=i+1|0}return f|0}function pP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;n=e<<2;r=$F(U(n,e)|0)|0;n=$F(n)|0;i=0;while(1){if((i|0)>=(e|0))break;a[n+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}lS(f,e);i=0;while(1){if((i|0)>=(e|0))break;rS(i,A,e,a[n+(i<<2)>>2]|0,f);i=i+1|0}tS(f);k=l;return n|0}function UP(A,e){A=A|0;e=e|0;var i=0,r=0;r=a[A+8>>2]|0;xP(A,e);i=HP(A,e)|0;TP(A,e,r);return i|0}function xP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;s=$F(e<<2)|0;i=0;r=0;while(1){if((i|0)>=(e|0))break;b=(a[A+(i*20|0)>>2]|0)+r|0;i=i+1|0;r=b}r=$F(r<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;a[s+(i<<2)>>2]=0;i=i+1|0}f=0;while(1){if((f|0)>=(e|0))break;a[A+(f*20|0)+8>>2]=r;NP(A,f,s);n=A+(f*20|0)|0;l=a[n>>2]|0;t=A+(f*20|0)+4|0;b=l+-2|0;i=1;while(1){if((i|0)>=(l|0))break;w=a[(a[t>>2]|0)+(i<<2)>>2]|0;u=a[A+(w*20|0)>>2]|0;c[r+(i<<2)>>2]=+(b+u-((JP(A,0,w,s)|0)<<1)|0);i=i+1|0}XP(A,f,s);r=r+(a[n>>2]<<2)|0;f=f+1|0}L2(s);return}function TP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;L2(a[r>>2]|0);a[r>>2]=0;A:do{if(i|0){r=0;while(1){if((r|0)>=(e|0))break A;a[A+(r*20|0)+8>>2]=i;f=i+(a[A+(r*20|0)>>2]<<2)|0;r=r+1|0;i=f}}}while(0);return}function jP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0;f=0;n=0.0;while(1){if((f|0)>=(e|0))break;t=a[A+(f<<2)>>2]|0;l=+b[t+(i<<3)>>3]-+b[t+(r<<3)>>3];f=f+1|0;n=l*l+n}return+ +z(+n)}function SP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((r|0)>(i|0)){a[46873]=A;K4(e+(i<<2)|0,1-i+r|0,4,77)}return}function PP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[46873]|0;r=+c[f+(a[A>>2]<<2)>>2];i=+c[f+(a[e>>2]<<2)>>2];return(ri&1)|0}function OP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=k;k=k+16|0;f=l;if((i|0)<(r|0)){KP(A,e,i,r,f);n=a[f>>2]|0;f=n+-1|0;OP(A,e,i,f);n=n+1|0;OP(A,e,n,r);if(!(_P(A,e,i,f)|0))OP(A,e,i,f);if(!(_P(A,e,n,r)|0))OP(A,e,n,r)}k=l;return}function KP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0;n=a8()|0;n=e+(((((a8()|0)<<16|n)>>>0)%((1-i+r|0)>>>0)|0)+i<<2)|0;t=a[n>>2]|0;c=e+(i<<2)|0;a[n>>2]=a[c>>2];a[c>>2]=t;s=+b[A+(t<<3)>>3];n=i+1|0;i=r;A:while(1){if((n|0)>=(i|0))break;while(1){if((n|0)>=(i|0))break;if(!(+b[A+(a[e+(n<<2)>>2]<<3)>>3]<=s))break;n=n+1|0}while(1){if((n|0)>=(i|0))continue A;r=e+(i<<2)|0;l=a[r>>2]|0;if(!(+b[A+(l<<3)>>3]>s))break;i=i+-1|0}u=e+(n<<2)|0;w=a[u>>2]|0;a[u>>2]=l;a[r>>2]=w;n=n+1|0;i=i+-1|0}u=n+((+b[A+(a[e+(n<<2)>>2]<<3)>>3]>s)<<31>>31)|0;a[f>>2]=u;u=e+(u<<2)|0;a[c>>2]=a[u>>2];a[u>>2]=t;return}function _P(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=1;while(1){f=i+1|0;if(!((i|0)<(r|0)&(n|0)!=0))break;n=+b[A+(a[e+(i<<2)>>2]<<3)>>3]>+b[A+(a[e+(f<<2)>>2]<<3)>>3]?0:n;i=f}return n|0}function qP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;I=k;k=k+16|0;E=4;C=m2(40)|0;a[C>>2]=0;v=I;d=0;g=iA(23,e*40|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)!=1){i=0;o=0;while(1){if((i|0)>=(e|0))break;h=(a[(a[A+(i<<2)>>2]|0)+4>>2]|0)+o|0;i=i+1|0;o=h}d=0;h=iA(23,o*24|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)!=1){i=0;s=0;while(1){if((s|0)>=(e|0))break;w=g+(s*40|0)|0;a[w>>2]=h+(i*24|0);u=A+(s<<2)|0;f=0;n=1797693134862315708145274.0e284;l=-1797693134862315708145274.0e284;t=-1797693134862315708145274.0e284;c=1797693134862315708145274.0e284;while(1){r=a[u>>2]|0;if((f|0)>=(a[r+4>>2]|0))break;r=a[r>>2]|0;G=+b[r+(f<<4)>>3];Z=+b[r+(f<<4)+8>>3];b[h+(i*24|0)>>3]=G;b[h+(i*24|0)+8>>3]=Z;a[h+(i*24|0)+16>>2]=w;a[h+(i*24|0)+20>>2]=0;f=f+1|0;i=i+1|0;n=nG?l:G;t=t>Z?t:Z;c=c>2]=h+((i+-1|0)*24|0);b[g+(s*40|0)+8>>3]=n;b[g+(s*40|0)+16>>3]=c;b[g+(s*40|0)+24>>3]=l;b[g+(s*40|0)+32>>3]=t;s=s+1|0}a[v>>2]=o;a[v+4>>2]=e;C=L6(187496,1,C|0,E|0)|0;E=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){i=L;u=h;s=h;w=g}else{i=0;u=h;s=h;w=g}}else{i=L;u=0;s=h;w=g}}else{i=L;u=0;s=0;w=0}while(1){if(i|0){d=0;sA(105,g|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}d=0;sA(105,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}else{r=17;break}}d=0;i=rA(78,u|0,v|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}if(!i){d=0;i=aA(24,A|0,e|0,w|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}}d=0;sA(105,g|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}d=0;sA(105,s|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h}else{r=24;break}}if((r|0)==17)i=0;else if((r|0)==24)i=(i|0)==0&1;L2(C|0);k=I;return i|0}function $P(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;h=E;u=E+8|0;o=E+4|0;a[e+8>>2]=0;g=$F(a[e>>2]<<2)|0;f=a[e>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;a[g+(r<<2)>>2]=A+(r*24|0);r=r+1|0}K4(g,f,4,79);s=0;n=0;f=0;l=0;A:while(1){if((s|0)>=(a[e>>2]|0)){B=0;i=n;v=l;break}w=g+(s<<2)|0;r=a[w>>2]|0;a[u>>2]=r;A=a[r+16>>2]|0;if((a[A>>2]|0)==(r|0))r=a[A+4>>2]|0;else r=r+-24|0;a[o>>2]=r;b=0;A=n;c=l;while(1){if((b|0)>=2)break;switch(eO(u,o)|0){case-1:{n=0;l=A;while(1){if((n|0)>=(c|0))break;t=iO(a[l>>2]|0,r)|0;if(t|0){B=t;i=A;v=c;break A}n=n+1|0;l=a[l+4>>2]|0}n=$F(12)|0;if(!c){f=0;A=n}else a[f+4>>2]=n;a[n+8>>2]=f;a[n>>2]=r;a[n+4>>2]=0;a[r+20>>2]=n;l=c+1|0;break}case 1:{r=r+20|0;n=a[r>>2]|0;if(!n){d=19;break A}do{if((c|0)!=1){if((n|0)==(A|0)){A=a[A+4>>2]|0;a[A+8>>2]=0;break}if((n|0)==(f|0)){f=a[f+8>>2]|0;a[f+4>>2]=0;break}else{t=n+4|0;l=a[n+8>>2]|0;a[l+4>>2]=a[t>>2];a[(a[t>>2]|0)+8>>2]=l;break}}else{A=0;f=0}}while(0);L2(n);a[r>>2]=0;n=f;l=c+-1|0;break}default:{n=f;l=c}}r=a[w>>2]|0;f=a[r+16>>2]|0;if((r|0)==(a[f+4>>2]|0))f=a[f>>2]|0;else f=r+24|0;a[o>>2]=f;b=b+1|0;f=n;c=l}s=s+1|0;n=A;l=c}if((d|0)==19){ao(1,93727,h)|0;fe(187496,1)}r=0;while(1){if((r|0)>=(v|0))break;d=a[i+4>>2]|0;L2(i);r=r+1|0;i=d}L2(g);k=E;return B|0}function AO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0.0;W=k;k=k+48|0;u=W+24|0;w=W+16|0;g=W;r=0;A:while(1){if((r|0)>=(e|0)){r=0;break}G=a[A+(r<<2)>>2]|0;Q=a[G>>2]|0;a[g>>2]=a[Q>>2];a[g+4>>2]=a[Q+4>>2];a[g+8>>2]=a[Q+8>>2];a[g+12>>2]=a[Q+12>>2];Q=r+1|0;m=i+(r*40|0)+8|0;o=i+(r*40|0)+24|0;h=i+(r*40|0)+32|0;n=i+(r*40|0)+16|0;r=Q;while(1){if((r|0)>=(e|0)){r=Q;continue A}l=a[A+(r<<2)>>2]|0;t=+b[m>>3];c=+b[i+(r*40|0)+24>>3];s=!(t<=c);f=+b[i+(r*40|0)+8>>3];if((((!(s|!(t>=f))?(d=+b[n>>3],B=+b[i+(r*40|0)+32>>3],d<=B):0)?(v=+b[i+(r*40|0)+16>>3],d>=v):0)?(y=+b[o>>3],!(!(y<=c)|!(y>=f))):0)?(y=+b[h>>3],!(!(y<=B)|!(y>=v))):0){a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[u>>2]=a[g>>2];a[u+4>>2]=a[g+4>>2];a[u+8>>2]=a[g+8>>2];a[u+12>>2]=a[g+12>>2];if(Dt(w,u)|0){r=1;break A}}else L=11;if((((((L|0)==11?(L=0,E=+b[o>>3],!(!(f<=E)|!(f>=t))):0)?(C=+b[i+(r*40|0)+16>>3],I=+b[h>>3],C<=I):0)?(Z=+b[n>>3],!(!(C>=Z)|(!(c<=E)|s))):0)?(y=+b[i+(r*40|0)+32>>3],!(!(y<=I)|!(y>=Z))):0)?(s=a[l>>2]|0,a[w>>2]=a[G>>2],a[w+4>>2]=a[G+4>>2],a[u>>2]=a[s>>2],a[u+4>>2]=a[s+4>>2],a[u+8>>2]=a[s+8>>2],a[u+12>>2]=a[s+12>>2],Dt(w,u)|0):0){r=1;break A}r=r+1|0}}k=W;return r|0}function eO(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=a[A>>2]|0;A=a[e>>2]|0;i=+b[r>>3]-+b[A>>3];if(!(i!=0.0)){i=+b[r+8>>3]-+b[A+8>>3];if(i==0.0)A=0;else A=i>0.0?1:-1}else A=i>0.0?1:-1;return A|0}function iO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+64|0;n=s+32|0;l=s+24|0;t=s+16|0;c=s;f=s+48|0;rO(A,e,f);i=f+8|0;r=a[i>>2]|0;do{if((r|0)>0)i=0;else{if((r|0)<0){rO(e,A,f);i=a[i>>2]|0;if((i|0)>0){i=0;break}if((i|0)<0)i=3;else{i=a[f>>2]|0;i=fO(e,A,(i|0)>-1?i:0-i|0)|0}if(!(aO(A,e,l,t,i)|0)){i=0;break}}else{i=a[f>>2]|0;if((i|0)==(a[f+4>>2]|0)){i=fO(A,e,0)|0;i=(fO(A,e,(i|0)<=(fO(A,e,1)|0)&1)|0)<<1}else i=fO(A,e,(i|0)>-1?i:0-i|0)|0;if(!(aO(A,e,l,t,i)|0)){i=0;break}}b[c>>3]=+b[l>>3];b[c+8>>3]=+b[t>>3];a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];i=nO(A,e,n)|0}}while(0);k=s;return i|0}function rO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;l=+b[A>>3];t=+b[A+8>>3];r=a[A+16>>2]|0;if((a[r+4>>2]|0)==(A|0)){A=a[r>>2]|0;r=A}else{r=A+24|0;A=A+24|0}n=+b[r>>3]-l;f=+b[A+8>>3]-t;r=a[e+16>>2]|0;if((a[r+4>>2]|0)==(e|0)){A=a[r>>2]|0;r=A}else{r=e+24|0;A=e+24|0}c=+b[r>>3]-l;s=+b[A+8>>3]-t;t=(+b[e+8>>3]-t)*n-(+b[e>>3]-l)*f;e=t==0.0?0:t>0.0?1:-1;a[i>>2]=e;t=s*n-c*f;A=t==0.0?0:t>0.0?1:-1;a[i+4>>2]=A;a[i+8>>2]=U(A,e)|0;return}function fO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;c=+b[A>>3];s=+b[A+8>>3];f=a[A+16>>2]|0;if((a[f+4>>2]|0)==(A|0))A=a[f>>2]|0;else A=A+24|0;t=+b[A>>3];l=+b[A+8>>3];do{if(i){A=a[e+16>>2]|0;if((a[A+4>>2]|0)==(e|0)){e=a[A>>2]|0;break}else{e=e+24|0;break}}}while(0);n=+b[e>>3];r=+b[e+8>>3];if(c==t)if(c==n)e=(tO(s,r,l)|0)!=-1&1;else e=0;else e=tO(c,n,t)|0;return e|0}function aO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0;A:do{if((f|0)<1)n=0;else{u=+b[A>>3];o=+b[A+8>>3];n=a[A+16>>2]|0;if((a[n+4>>2]|0)==(A|0))n=a[n>>2]|0;else n=A+24|0;s=+b[n>>3];t=+b[n+8>>3];w=+b[e>>3];k=+b[e+8>>3];n=a[e+16>>2]|0;if((a[n+4>>2]|0)==(e|0))n=a[n>>2]|0;else n=e+24|0;c=+b[n>>3];l=+b[n+8>>3];e:do{switch(f|0){case 3:{if(u==s){b[i>>3]=u;l=(k-l)/(w-c)*(u-c)+l;break e}if(w==c){b[i>>3]=w;l=(o-t)/(u-s)*(w-s)+t;break e}else{c=(k-l)/(w-c);s=(o-t)/(u-s);k=k-c*w;o=o-s*u;l=c-s;b[i>>3]=(o-k)/l;l=(c*o-k*s)/l;break e}}case 2:{if((fO(A,e,0)|0)==-1)if((fO(e,A,1)|0)==-1){f=(fO(e,A,0)|0)==-1;s=f?s:u;c=w;t=f?t:o;l=k}else{s=c;c=w;t=l;l=k}else if((fO(A,e,1)|0)!=-1)if((fO(e,A,0)|0)==-1){c=u;l=o}else{n=0;break A}else{s=w;t=k}b[i>>3]=(c+s)*.5;l=(l+t)*.5;break}case 1:if((k-o)*(u-s)==(w-u)*(o-t)){b[i>>3]=w;l=k;break e}else{b[i>>3]=c;break e}default:{n=1;break A}}}while(0);b[r>>3]=l;n=1}}while(0);return n|0}function nO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;u=+b[A>>3];o=+b[A+8>>3];r=a[A+16>>2]|0;if((a[r+4>>2]|0)==(A|0))r=a[r>>2]|0;else r=A+24|0;s=+b[r>>3];t=+b[r+8>>3];c=+b[e>>3];w=+b[e+8>>3];r=a[e+16>>2]|0;if((a[r+4>>2]|0)==(e|0))r=a[r>>2]|0;else r=e+24|0;l=+b[r>>3];n=+b[r+8>>3];A:do{if(!(u!=s&c!=l)){do{if(u==s){f=+b[i>>3];if(u==f?o==+b[i+8>>3]:0)break;if(!(s==f)){d=18;break A}if(!(t==+b[i+8>>3])){d=18;break A}}}while(0);if(c==l){f=+b[i>>3];if(c==f?w==+b[i+8>>3]:0){r=0;break}if(l==f?n==+b[i+8>>3]:0)r=0;else d=18}else r=0}else d=18}while(0);if((d|0)==18)if(0>1){r=a[15712]|0;o=+b[i+8>>3];b[h>>3]=+b[i>>3];b[h+8>>3]=o;f3(r,93756,h)|0;lO(1,A);lO(2,e);r=1}else r=1;k=B;return r|0}function lO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0;c=k;k=k+48|0;t=c;f=a[15712]|0;n=+b[e>>3];l=+b[e+8>>3];i=a[e+16>>2]|0;if((a[i+4>>2]|0)==(e|0)){i=a[i>>2]|0;r=i}else{r=e+24|0;i=e+24|0}w=+b[r>>3];s=+b[i+8>>3];a[t>>2]=A;b[t+8>>3]=n;b[t+16>>3]=l;b[t+24>>3]=w;b[t+32>>3]=s;f3(f,93784,t)|0;k=c;return}function tO(A,e,i){A=+A;e=+e;i=+i;return(A==e|e==i?0:(A>3]=0.0;r=r+1|0}b[f+(A<<3)>>3]=1.0;gu(a[e+(A<<2)>>2]|0,f,i);A=A+1|0}L2(f);f=0;while(1){if((f|0)>=(i|0)){A=1;break A}r=e+(f<<2)|0;A=0;while(1){if((A|0)==(f|0))break;t=(a[r>>2]|0)+(A<<3)|0;l=+b[t>>3];n=(a[e+(A<<2)>>2]|0)+(f<<3)|0;b[t>>3]=+b[n>>3];b[n>>3]=l;A=A+1|0}f=f+1|0}}}while(0);return A|0}function bO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;h=e<<3;o=$F(h)|0;h=$F(h)|0;d=e*30|0;u=(i|0)<(e|0)?i:e;k=e+-1|0;w=(n|0)==0;i=0;l=0;A:while(1){if((l|0)>=(u|0))break;c=a[r+(l<<2)>>2]|0;do{e:do{if(w)i=0;else{i=0;while(1){if((i|0)==(e|0)){i=0;break e}b[c+(i<<3)>>3]=+((a8()|0)%100|0|0);i=i+1|0}}}while(0);while(1){if((i|0)==(l|0))break;n=a[r+(i<<2)>>2]|0;wO(c,0,k,-+sO(n,0,k,c),n);i=i+1|0}t=+uO(c,0,k)}while(t<1.0e-10);kO(c,0,k,1.0/t,c);i=0;do{oO(h,0,k,c);hO(A,e,e,c,o);oO(c,0,k,o);n=0;while(1){if((n|0)==(l|0))break;B=a[r+(n<<2)>>2]|0;wO(c,0,k,-+sO(B,0,k,c),B);n=n+1|0}B=i;i=i+1|0;t=+uO(c,0,k);if(!((B|0)<(d|0)&!(t<1.0e-10)))break A;kO(c,0,k,1.0/t,c);s=+sO(c,0,k,h)}while(+y(+s)<.999);b[f+(l<<3)>>3]=s*t;l=l+1|0}while(1){if((l|0)>=(u|0))break;c=a[r+(l<<2)>>2]|0;n=0;while(1){if((n|0)>=(e|0)){n=0;break}b[c+(n<<3)>>3]=+((a8()|0)%100|0|0);n=n+1|0}while(1){if((n|0)>=(l|0))break;B=a[r+(n<<2)>>2]|0;wO(c,0,k,-+sO(B,0,k,c),B);n=n+1|0}kO(c,0,k,1.0/+uO(c,0,k),c);b[f+(l<<3)>>3]=0.0;l=l+1|0}w=u+-1|0;l=0;while(1){if((l|0)>=(w|0))break;A=f+(l<<3)|0;e=l+1|0;t=+b[A>>3];n=l;c=e;while(1){if((c|0)>=(u|0))break;s=+b[f+(c<<3)>>3];B=t>2]|0);B=r+(n<<2)|0;oO(a[c>>2]|0,0,k,a[B>>2]|0);oO(a[B>>2]|0,0,k,o);b[f+(n<<3)>>3]=+b[A>>3];b[A>>3]=t;l=e}L2(o);L2(h);return(i|0)<=(d|0)|0}function sO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0;a=0.0;f=1-e+i|0;r=r+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!f)break;a=+b[r>>3]*+b[i>>3]+a;f=f+-1|0;r=r+8|0;i=i+8|0}return+a}function wO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0;a=1-e+i|0;f=f+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!a)break;b[i>>3]=+b[i>>3]+ +b[f>>3]*r;a=a+-1|0;f=f+8|0;i=i+8|0}return}function uO(A,e,i){A=A|0;e=e|0;i=i|0;return+ +z(+ +sO(A,e,i,A))}function kO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0;a=1-e+i|0;f=f+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!a)break;b[i>>3]=+b[f>>3]*r;a=a+-1|0;f=f+8|0;i=i+8|0}return}function oO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=1-e+i|0;r=r+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!f)break;b[i>>3]=+b[r>>3];f=f+-1|0;r=r+8|0;i=i+8|0}return}function hO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0,c=0;t=0;while(1){if((t|0)>=(e|0))break;c=A+(t<<2)|0;n=0.0;l=0;while(1){if((l|0)>=(i|0))break;n=+b[r+(l<<3)>>3]*+b[(a[c>>2]|0)+(l<<3)>>3]+n;l=l+1|0}b[f+(t<<3)>>3]=n;t=t+1|0}return}function dO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0.0,w=0,u=0,k=0,o=0.0;t=a[n>>2]|0;if(!t){k=i<<2;l=m2(U(k,f)|0)|0;k=m2(k)|0}else{k=i<<2;l=y2(a[t>>2]|0,U(k,f)|0)|0;k=y2(t,k)|0}a[n>>2]=k;t=0;while(1){if((t|0)>=(i|0)){n=0;break}a[k+(t<<2)>>2]=l;t=t+1|0;l=l+(f<<2)|0}while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;u=k+(n<<2)|0;t=0;while(1){if((t|0)<(f|0)){l=0;s=0.0}else break;while(1){if((l|0)>=(r|0))break;o=+b[(a[w>>2]|0)+(l<<3)>>3]*+c[(a[e+(l<<2)>>2]|0)+(t<<2)>>2]+s;l=l+1|0;s=o}c[(a[u>>2]|0)+(t<<2)>>2]=s;t=t+1|0}n=n+1|0}return}function BO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0.0,w=0,u=0,k=0;t=a[n>>2]|0;if(!t){l=m2(U(i<<3,f)|0)|0;k=m2(i<<2)|0}else{l=y2(a[t>>2]|0,U(i<<3,f)|0)|0;k=y2(t,i<<2)|0}a[n>>2]=k;t=0;while(1){if((t|0)>=(i|0)){n=0;break}a[k+(t<<2)>>2]=l;t=t+1|0;l=l+(f<<3)|0}while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;u=k+(n<<2)|0;t=0;while(1){if((t|0)<(f|0)){s=0.0;l=0}else break;while(1){if((l|0)>=(r|0))break;s=+b[(a[w>>2]|0)+(l<<3)>>3]*+c[(a[e+(l<<2)>>2]|0)+(t<<2)>>2]+s;l=l+1|0}b[(a[u>>2]|0)+(t<<3)>>3]=s;t=t+1|0}n=n+1|0}return}function vO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,s=0,w=0,u=0,k=0,o=0,h=0;l=a[f>>2]|0;if(!l){n=m2(U(i*20|0,r)|0)|0;h=m2(i<<2)|0}else{n=y2(a[l>>2]|0,U(i*20|0,r)|0)|0;h=y2(l,i<<2)|0}a[f>>2]=h;l=0;while(1){if((l|0)>=(i|0)){f=0;break}a[h+(l<<2)>>2]=n;l=l+1|0;n=n+(r<<2)|0}while(1){if((f|0)>=(i|0))break;s=a[A+(f*20|0)+4>>2]|0;w=a[A+(f*20|0)+8>>2]|0;u=a[A+(f*20|0)>>2]|0;k=h+(f<<2)|0;n=0;while(1){if((n|0)>=(r|0))break;o=e+(n<<2)|0;t=0.0;l=0;while(1){if((l|0)>=(u|0))break;t=+b[(a[o>>2]|0)+(a[s+(l<<2)>>2]<<3)>>3]*+c[w+(l<<2)>>2]+t;l=l+1|0}c[(a[k>>2]|0)+(n<<2)>>2]=t;n=n+1|0}f=f+1|0}return}function gO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;i=0.0;r=e;f=A;while(1){if(!f)break;i=+b[r>>3]+i;r=r+8|0;f=f+-1|0}i=i/+(A|0);while(1){if(!A)break;b[e>>3]=+b[e>>3]-i;e=e+8|0;A=A+-1|0}return}function EO(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=(A|0))break;b[e+(i<<3)>>3]=+((a8()|0)%500|0|0);i=i+1|0}gO(A,e);return}function CO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,s=0,w=0;l=0;while(1){if((l|0)>=(e|0))break;t=a[A+(l*20|0)>>2]|0;s=A+(l*20|0)+8|0;w=A+(l*20|0)+4|0;f=0.0;n=0;while(1){if((n|0)>=(t|0))break;f=+b[i+(a[(a[w>>2]|0)+(n<<2)>>2]<<3)>>3]*+c[(a[s>>2]|0)+(n<<2)>>2]+f;n=n+1|0}b[r+(l<<3)>>3]=f;l=l+1|0}return}function IO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0;l=0;while(1){if((l|0)>=(e|0))break;t=A+(l<<2)|0;f=0.0;n=0;while(1){if((n|0)==(e|0))break;f=+b[i+(n<<3)>>3]*+c[(a[t>>2]|0)+(n<<2)>>2]+f;n=n+1|0}b[r+(l<<3)>>3]=f;l=l+1|0}return}function ZO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[e+(f<<3)>>3]-+b[i+(f<<3)>>3];f=f+1|0}return}function GO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[i+(f<<3)>>3]+ +b[e+(f<<3)>>3];f=f+1|0}return}function QO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[e+(f<<3)>>3]*i;f=f+1|0}return}function mO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;b[i+(r<<3)>>3]=+b[e+(r<<3)>>3];r=r+1|0}return}function LO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0;r=0.0;f=0;while(1){if((f|0)>=(A|0))break;r=+b[i+(f<<3)>>3]*+b[e+(f<<3)>>3]+r;f=f+1|0}return+r}function WO(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=0;r=-1.e+50;while(1){if((i|0)>=(A|0))break;f=+y(+ +b[e+(i<<3)>>3]);i=i+1|0;r=f>r?f:r}return+r}function yO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0;t=0;while(1){if((t|0)<(e|0)){n=0.0;l=0}else break;while(1){if((l|0)>=(i|0))break;n=+b[r+(l<<3)>>3]*+b[(a[A+(l<<2)>>2]|0)+(t<<3)>>3]+n;l=l+1|0}b[f+(t<<3)>>3]=n;t=t+1|0}return}function zO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;i=0.0;r=e;f=A;while(1){if(!f)break;i=+c[r>>2]+i;r=r+4|0;f=f+-1|0}i=i/+(A|0);while(1){if(!A)break;c[e>>2]=+c[e>>2]-i;e=e+4|0;A=A+-1|0}return}function YO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0,l=0,t=0,b=0,s=0.0,w=0,u=0.0,k=0,o=0.0;f=0;while(1){if((f|0)>=(e|0)){n=0;t=0;w=e;break}c[r+(f<<2)>>2]=0.0;f=f+1|0}while(1){if((t|0)>=(e|0))break;s=+c[i+(t<<2)>>2];b=t+1|0;a=+c[A+(n<<2)>>2]*s;l=b;f=n;while(1){f=f+1|0;if((l|0)==(e|0))break;o=+c[A+(f<<2)>>2];u=+c[i+(l<<2)>>2]*o+a;k=r+(l<<2)|0;c[k>>2]=+c[k>>2]+o*s;a=u;l=l+1|0}k=r+(t<<2)|0;c[k>>2]=+c[k>>2]+a;n=n+w|0;t=b;w=w+-1|0}return}function DO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[e+(f<<2)>>2]-+c[i+(f<<2)>>2];f=f+1|0}return}function MO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[i+(f<<2)>>2]+ +c[e+(f<<2)>>2];f=f+1|0}return}function FO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=e+(f<<2)|0;c[a>>2]=+c[r+(f<<2)>>2]*i+ +c[a>>2];f=f+1|0}return}function VO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[e+(f<<2)>>2]*i;f=f+1|0}return}function JO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;a[i+(r<<2)>>2]=a[e+(r<<2)>>2];r=r+1|0}return}function NO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0;r=0.0;f=0;while(1){if((f|0)>=(A|0))break;r=r+ +c[i+(f<<2)>>2]*+c[e+(f<<2)>>2];f=f+1|0}return+r}function XO(A,e,i){A=A|0;e=+e;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;b[i+(r<<3)>>3]=e;r=r+1|0}return}function RO(A,e,i){A=A|0;e=+e;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;c[i+(r<<2)>>2]=e;r=r+1|0}return}function HO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0;i=-1000000015047466219876688.0e6;r=0;while(1){if((r|0)>=(A|0))break;f=+y(+ +c[e+(r<<2)>>2]);i=f>i?f:i;r=r+1|0}return+i}function pO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];c[r>>2]=f*f;i=i+1|0}return}function UO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];if(f!=0.0)c[r>>2]=1.0/f;i=i+1|0}return}function xO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;r=0;while(1){if((r|0)>=(A|0))break;f=+c[e+(r<<2)>>2];if(f>=0.0)c[i+(r<<2)>>2]=+z(+f);r=r+1|0}return}function TO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];if(f>0.0)c[r>>2]=1.0/+z(+f);i=i+1|0}return}function jO(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=0;if(e&3)if(!(4%(e>>>0)|0))e=4;else e=U(4/((SO(e)|0)>>>0)|0,e)|0;a[A+8>>2]=e;A=A+4|0;e=a[A>>2]|0;A:do{if(e|0)while(1){if(!e)break A;i=a[e>>2]|0;L2(a[e+4>>2]|0);L2(e);e=i}}while(0);a[A>>2]=0;return}function SO(A){A=A|0;var e=0,i=0;i=4;A:while(1){e=i;while(1){if((e|0)==(A|0))break A;if((e|0)<=(A|0))break;e=e-A|0}i=e;A=A-e|0}return A|0}function PO(A){A=A|0;var e=0,i=0,r=0,f=0;e=a[A>>2]|0;if(!e){i=a[A+8>>2]|0;r=$F(8)|0;f=$F(U(a[46855]|0,i)|0)|0;a[r+4>>2]=f;e=0;while(1){if((e|0)>=(a[46855]|0))break;OO(f+(U(e,i)|0)|0,A);e=e+1|0}e=A+4|0;a[r>>2]=a[e>>2];a[e>>2]=r;e=a[A>>2]|0}a[A>>2]=a[e>>2];return e|0}function OO(A,e){A=A|0;e=e|0;a[A>>2]=a[e>>2];a[e>>2]=A;return}function KO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0,s=0,w=0;w=qF(e<<3)|0;s=A+8|0;f=a[s>>2]|0;_O(A,e,w);EO(e,i);n=0;l=0;while(1){if((l|0)>=(e|0))break;n=(a[A+(l*20|0)>>2]|0)+n|0;l=l+1|0}n=$F(n<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;a[A+(t*20|0)+8>>2]=n;b=a[A+(t*20|0)>>2]|0;c[n>>2]=+(1-b|0);l=1;while(1){if((l|0)>=(b|0))break;c[n+(l<<2)>>2]=1.0;l=l+1|0}n=n+(b<<2)|0;t=t+1|0}l=sS(A,i,w,e,.001,r)|0;L2(a[s>>2]|0);n=0;while(1){if((n|0)>=(e|0))break;a[A+(n*20|0)+8>>2]=f;f=f+(a[A+(n*20|0)>>2]<<2)|0;n=n+1|0}L2(w);return l>>>31|0}function _O(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,s=0,w=0;t=A+16|0;n=0;while(1){if((n|0)>=(e|0))break;if(a[t>>2]|0){s=a[A+(n*20|0)>>2]|0;w=A+(n*20|0)+8|0;l=A+(n*20|0)+16|0;r=0.0;f=1;while(1){if((f|0)>=(s|0))break;r=r+ +c[(a[l>>2]|0)+(f<<2)>>2]*+c[(a[w>>2]|0)+(f<<2)>>2];f=f+1|0}b[i+(n<<3)>>3]=r}n=n+1|0}return}function qO(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=+l;t=t|0;c=c|0;A=k;k=k+16|0;if(!(a[46913]|0)){a[46913]=1;ao(1,93820,A)|0}k=A;return}function $O(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0;d=$F(f<<2)|0;l=e<<3;n=0;while(1){if((n|0)>=(f|0))break;a[d+(n<<2)>>2]=$F(l)|0;n=n+1|0}o=$F(f<<3)|0;h=$F(e<<2)|0;n=$F(U(l,e)|0)|0;l=0;while(1){if((l|0)>=(e|0))break;a[h+(l<<2)>>2]=n;n=n+(e<<3)|0;l=l+1|0}c=0;k=1;while(1){if((c|0)>=(e|0))break;s=A+(c<<2)|0;w=h+(c<<2)|0;l=0;while(1){if((l|0)==(k|0))break;u=A+(l<<2)|0;n=0;t=0.0;while(1){if((n|0)>=(i|0))break;B=t+ +(U(a[(a[u>>2]|0)+(n<<2)>>2]|0,a[(a[s>>2]|0)+(n<<2)>>2]|0)|0);n=n+1|0;t=B}b[(a[h+(l<<2)>>2]|0)+(c<<3)>>3]=t;b[(a[w>>2]|0)+(l<<3)>>3]=t;l=l+1|0}c=c+1|0;k=k+1|0}bO(h,e,f,d,o,1)|0;l=0;while(1){if((l|0)>=(f|0)){n=0;break}s=d+(l<<2)|0;w=r+(l<<2)|0;c=0;while(1){if((c|0)<(i|0)){n=0;t=0.0}else break;while(1){if((n|0)>=(e|0))break;B=+b[(a[s>>2]|0)+(n<<3)>>3]*+(a[(a[A+(n<<2)>>2]|0)+(c<<2)>>2]|0)+t;n=n+1|0;t=B}b[(a[w>>2]|0)+(c<<3)>>3]=t;c=c+1|0}l=l+1|0}while(1){if((n|0)>=(f|0))break;L2(a[d+(n<<2)>>2]|0);n=n+1|0}L2(d);L2(o);L2(a[h>>2]|0);L2(h);return}function AK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;f=k;k=k+32|0;n=f+16|0;c=f+20|0;t=f+12|0;l=f+8|0;a[n>>2]=r;a[t>>2]=0;a[l>>2]=0;lu(a[A>>2]|0,i,i<<2,c);vO(a[c>>2]|0,A,i,e,t);BO(A,a[t>>2]|0,e,i,e,l);L2(a[a[t>>2]>>2]|0);L2(a[t>>2]|0);r=(bO(a[l>>2]|0,e,1,n,f,1)|0)&255;k=f;return r|0}function eK(){a[46914]=0;L2(a[46915]|0);L2(a[46916]|0);L2(a[46917]|0);a[46915]=0;a[46916]=0;a[46917]=0;return}function iK(A){A=A|0;L2(a[A+36>>2]|0);return}function rK(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0;d=k;k=k+80|0;u=d+64|0;h=d+68|0;l=d+48|0;t=d+32|0;c=d+16|0;s=d;w=e+16|0;n=a[w>>2]|0;A:do{if(!(a[n+212>>2]|0))switch(sN(e)|0){case 1:{n=a[w>>2]|0;t=a[n+12>>2]|0;c=a[t+8>>2]|0;a[h>>2]=c;n=a[a[n+8>>2]>>2]|0;switch(r[n>>0]|0){case 98:{if(!(A1(n,108236)|0))o=11;else o=8;break}case 112:{if((A1(n,105721)|0)==0?(fK(a[t+44>>2]|0,c)|0)!=0:0)o=11;else o=8;break}default:o=8}do{if((o|0)==8)if((c|0)<3){a[A+40>>2]=(a[t>>2]|0)==0?0:2;o=17;break}else{n=A+40|0;a[n>>2]=0;break}else if((o|0)==11){n=A+40|0;a[n>>2]=1;if((c|0)<=2)o=17}}while(0);if((o|0)==17){l=aK(e,h,i,f)|0;o=21;break A}l=$F(c<<4)|0;t=t+44|0;if((a[n>>2]|0)==1){o=a[t>>2]|0;B=i;b[l>>3]=+b[o>>3]*.013888888888888888+B;i=f;b[l+8>>3]=+b[o+8>>3]*.013888888888888888+i;b[l+16>>3]=+b[o+16>>3]*.013888888888888888-B;b[l+24>>3]=+b[o+24>>3]*.013888888888888888+i;b[l+32>>3]=+b[o+32>>3]*.013888888888888888-B;b[l+40>>3]=+b[o+40>>3]*.013888888888888888-i;b[l+48>>3]=+b[o+48>>3]*.013888888888888888+B;b[l+56>>3]=+b[o+56>>3]*.013888888888888888-i;o=21;break A}n=0;while(1){if((n|0)>=(c|0)){o=21;break A}o=a[t>>2]|0;g=+b[o+(n<<4)>>3];B=+b[o+(n<<4)+8>>3];v=+z(+(B*B+g*g));b[l+(n<<4)>>3]=(i/v+1.0)*g*.013888888888888888;b[l+(n<<4)+8>>3]=(f/v+1.0)*B*.013888888888888888;n=n+1|0}}case 2:{a[h>>2]=4;o=$F(64)|0;e=a[(a[w>>2]|0)+12>>2]|0;E=+b[e+32>>3];v=+b[e+40>>3];u=~~+b[e+16>>3];e=~~+b[e+24>>3];g=-i;B=-f;nK(l,u,e,g,B);a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];l=o+16|0;w=~~E;nK(t,w,e,i,B);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];l=o+32|0;e=~~v;nK(c,w,e,i,f);a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];l=o+48|0;nK(s,u,e,g,f);a[l>>2]=a[s>>2];a[l+4>>2]=a[s+4>>2];a[l+8>>2]=a[s+8>>2];a[l+12>>2]=a[s+12>>2];a[A+40>>2]=1;l=o;o=21;break A}case 3:{a[A+40>>2]=2;l=aK(e,h,i,f)|0;o=21;break A}default:{a[u>>2]=a[a[(a[w>>2]|0)+8>>2]>>2];ao(1,93883,u)|0;n=1;break A}}else{a[h>>2]=4;g=+b[n+32>>3]*.5+i;E=+b[n+40>>3]*.5+f;a[A+40>>2]=1;l=$F(64)|0;b[l>>3]=g;b[l+8>>3]=E;v=-g;b[l+16>>3]=v;b[l+24>>3]=E;b[l+32>>3]=v;E=-E;b[l+40>>3]=E;b[l+48>>3]=g;b[l+56>>3]=E;o=21}}while(0);if((o|0)==21){a[A+36>>2]=l;n=a[h>>2]|0;a[A+32>>2]=n;lK(l,n,A,A+16|0);if((n|0)>(a[46914]|0)){a[46914]=n;n=0}else n=0}k=d;return n|0}function fK(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;do{if((e|0)==4){i=+b[A+8>>3];e=A+16|0;r=+b[A+24>>3];if(i==r){if(!(+b[A+40>>3]==+b[A+56>>3])){e=0;break}if(!(+b[A>>3]==+b[A+48>>3])){e=0;break}e=+b[e>>3]==+b[A+32>>3];break}if((+b[A>>3]==+b[e>>3]?+b[A+32>>3]==+b[A+48>>3]:0)?i==+b[A+56>>3]:0)e=r==+b[A+40>>3];else e=0}else e=0}while(0);return e&1|0}function aK(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0.0,l=0,t=0,c=0.0,s=0;f=po(A,102705)|0;if(!f)f=0;else f=q3(f)|0;l=(f|0)<3?20:f;t=$F(l<<4)|0;A=A+16|0;n=1.0/+(l|0);f=0;while(1){if((f|0)>=(l|0))break;s=a[A>>2]|0;c=n*+(f|0)*6.283185307179586;b[t+(f<<4)>>3]=(+b[s+32>>3]*.5+i)*+D(+c);b[t+(f<<4)+8>>3]=(+b[s+40>>3]*.5+r)*+M(+c);f=f+1|0}a[e>>2]=l;return t|0}function nK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=+f;b[A>>3]=+(e|0)*.013888888888888888+r;b[A+8>>3]=+(i|0)*.013888888888888888+f;return}function lK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0.0,w=0.0;t=+b[A>>3];l=+b[A+8>>3];f=1;a=l;n=t;while(1){if((f|0)>=(e|0))break;c=A+16|0;s=+b[c>>3];w=+b[A+24>>3];f=f+1|0;a=w>a?w:a;n=s>n?s:n;l=w>3]=t;b[i+8>>3]=l;b[r>>3]=n;b[r+8>>3]=a;return}function tK(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0;d=k;k=k+80|0;w=d+64|0;o=d+68|0;l=d+48|0;t=d+32|0;c=d+16|0;s=d;u=e+16|0;n=a[u>>2]|0;A:do{if(!(a[n+212>>2]|0))switch(sN(e)|0){case 1:{s=a[(a[u>>2]|0)+12>>2]|0;w=s+8|0;c=a[w>>2]|0;a[o>>2]=c;e:do{if((c|0)>2){l=$F(c<<4)|0;t=s+44|0;n=0;while(1){if((n|0)>=(c|0))break e;e=a[t>>2]|0;b[l+(n<<4)>>3]=+b[e+(n<<4)>>3]*.013888888888888888;b[l+(n<<4)+8>>3]=+b[e+(n<<4)+8>>3]*.013888888888888888;n=n+1|0}}else l=aK(e,o,0.0,0.0)|0}while(0);n=a[a[(a[u>>2]|0)+8>>2]>>2]|0;switch(r[n>>0]|0){case 98:{if(!(A1(n,108236)|0))n=1;else h=13;break}case 112:{if((A1(n,105721)|0)==0?(fK(l,a[o>>2]|0)|0)!=0:0)n=1;else h=13;break}default:h=13}do{if((h|0)==13){if((a[w>>2]|0)<3?a[s>>2]|0:0){n=2;break}n=0}}while(0);a[A+40>>2]=n;h=20;break A}case 2:{a[o>>2]=4;h=$F(64)|0;u=a[(a[u>>2]|0)+12>>2]|0;v=+b[u+16>>3];E=+b[u+24>>3];g=+b[u+32>>3];B=+b[u+40>>3];cK(l,v,E);a[h>>2]=a[l>>2];a[h+4>>2]=a[l+4>>2];a[h+8>>2]=a[l+8>>2];a[h+12>>2]=a[l+12>>2];l=h+16|0;cK(t,g,E);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];l=h+32|0;cK(c,g,B);a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];l=h+48|0;cK(s,v,B);a[l>>2]=a[s>>2];a[l+4>>2]=a[s+4>>2];a[l+8>>2]=a[s+8>>2];a[l+12>>2]=a[s+12>>2];a[A+40>>2]=1;l=h;h=20;break A}case 3:{a[A+40>>2]=2;l=aK(e,o,0.0,0.0)|0;h=20;break A}default:{a[w>>2]=a[a[(a[u>>2]|0)+8>>2]>>2];ao(1,93919,w)|0;n=1;break A}}else{a[o>>2]=4;g=+b[n+32>>3]*.5;E=+b[n+40>>3]*.5;a[A+40>>2]=1;l=$F(64)|0;b[l>>3]=g;b[l+8>>3]=E;v=-g;b[l+16>>3]=v;b[l+24>>3]=E;b[l+32>>3]=v;E=-E;b[l+40>>3]=E;b[l+48>>3]=g;b[l+56>>3]=E;h=20}}while(0);if((h|0)==20){n=a[o>>2]|0;if(i!=1.0|f!=1.0)bK(l,n,i,f);a[A+36>>2]=l;a[A+32>>2]=n;lK(l,n,A,A+16|0);if((n|0)>(a[46914]|0)){a[46914]=n;n=0}else n=0}k=d;return n|0}function cK(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e*.013888888888888888;b[A+8>>3]=i*.013888888888888888;return}function bK(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(e|0))break;b[A>>3]=+b[A>>3]*i;a=A+8|0;b[a>>3]=+b[a>>3]*r;A=A+16|0;f=f+1|0}return}function sK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0;d=k;k=k+128|0;u=d+112|0;w=d+96|0;s=d+80|0;f=d+64|0;o=d+48|0;h=d+32|0;t=d+16|0;c=d;a[w>>2]=a[A>>2];a[w+4>>2]=a[A+4>>2];a[w+8>>2]=a[A+8>>2];a[w+12>>2]=a[A+12>>2];a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];cP(o,w,u);n=e+16|0;a[w>>2]=a[A>>2];a[w+4>>2]=a[A+4>>2];a[w+8>>2]=a[A+8>>2];a[w+12>>2]=a[A+12>>2];a[u>>2]=a[n>>2];a[u+4>>2]=a[n+4>>2];a[u+8>>2]=a[n+8>>2];a[u+12>>2]=a[n+12>>2];cP(h,w,u);a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];cP(t,w,u);l=r+16|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[u>>2]=a[l>>2];a[u+4>>2]=a[l+4>>2];a[u+8>>2]=a[l+8>>2];a[u+12>>2]=a[l+12>>2];cP(c,w,u);a[f>>2]=a[o>>2];a[f+4>>2]=a[o+4>>2];a[f+8>>2]=a[o+8>>2];a[f+12>>2]=a[o+12>>2];a[s>>2]=a[h>>2];a[s+4>>2]=a[h+4>>2];a[s+8>>2]=a[h+8>>2];a[s+12>>2]=a[h+12>>2];a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];do{if(wK(f,s,w,u)|0){f=a[e+40>>2]|0;if(f&1|0?a[r+40>>2]&1|0:0){f=1;break}if(f&2|0?a[r+40>>2]&2|0:0){B=+b[n>>3]-+b[e>>3]+ +b[l>>3]-+b[r>>3];v=+b[A>>3]-+b[i>>3];g=+b[A+8>>3]-+b[i+8>>3];f=!(g*g+v*v>B*B*.25);break}f=a[46915]|0;if(!f){a[46915]=$F(a[46914]<<4)|0;l=$F(a[46914]<<4)|0;a[46916]=l;f=a[46915]|0}else l=a[46916]|0;E=a[e+36>>2]|0;e=e+32|0;n=a[e>>2]|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];uK(E,n,u,f);A=a[r+36>>2]|0;n=r+32|0;r=a[n>>2]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];uK(A,r,u,l);if(!(kK(f,l,a[e>>2]|0,a[n>>2]|0)|0)){f=a[46915]|0;a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];if(oK(s,w,u)|0?(c=a[46916]|0,E=a[n>>2]|0,a[u>>2]=a[f>>2],a[u+4>>2]=a[f+4>>2],a[u+8>>2]=a[f+8>>2],a[u+12>>2]=a[f+12>>2],hK(c,E,u)|0):0){f=1;break}f=a[46916]|0;a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2];a[u>>2]=a[h>>2];a[u+4>>2]=a[h+4>>2];a[u+8>>2]=a[h+8>>2];a[u+12>>2]=a[h+12>>2];if(!(oK(s,w,u)|0))f=0;else{h=a[46915]|0;E=a[e>>2]|0;a[u>>2]=a[f>>2];a[u+4>>2]=a[f+4>>2];a[u+8>>2]=a[f+8>>2];a[u+12>>2]=a[f+12>>2];f=(hK(h,E,u)|0)!=0}}else f=1}else f=0}while(0);k=d;return f&1|0}function wK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((+b[A>>3]<=+b[r>>3]?+b[i>>3]<=+b[e>>3]:0)?+b[A+8>>3]<=+b[r+8>>3]:0)A=+b[i+8>>3]<=+b[e+8>>3]&1;else A=0;return A|0}function uK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;a=i+8|0;f=0;while(1){if((f|0)>=(e|0))break;b[r>>3]=+b[i>>3]+ +b[A>>3];b[r+8>>3]=+b[a>>3]+ +b[A+8>>3];f=f+1|0;A=A+16|0;r=r+16|0}return}function kK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;Q=k;k=k+112|0;B=Q+96|0;d=Q+80|0;h=Q+64|0;o=Q+48|0;g=Q+32|0;E=Q+16|0;C=Q;I=i+-1|0;Z=r+-1|0;G=i<<1;v=r<<1;f=0;n=0;l=0;t=0;while(1){m=A+(f<<4)|0;L=A+(((I+f|0)%(i|0)|0)<<4)|0;a[d>>2]=a[m>>2];a[d+4>>2]=a[m+4>>2];a[d+8>>2]=a[m+8>>2];a[d+12>>2]=a[m+12>>2];a[B>>2]=a[L>>2];a[B+4>>2]=a[L+4>>2];a[B+8>>2]=a[L+8>>2];a[B+12>>2]=a[L+12>>2];tP(g,d,B);u=e+(n<<4)|0;w=e+(((Z+n|0)%(r|0)|0)<<4)|0;a[d>>2]=a[u>>2];a[d+4>>2]=a[u+4>>2];a[d+8>>2]=a[u+8>>2];a[d+12>>2]=a[u+12>>2];a[B>>2]=a[w>>2];a[B+4>>2]=a[w+4>>2];a[B+8>>2]=a[w+8>>2];a[B+12>>2]=a[w+12>>2];tP(E,d,B);a[h>>2]=a[46540];a[h+4>>2]=a[46541];a[h+8>>2]=a[46542];a[h+12>>2]=a[46543];a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];a[B>>2]=a[E>>2];a[B+4>>2]=a[E+4>>2];a[B+8>>2]=a[E+8>>2];a[B+12>>2]=a[E+12>>2];c=+bP(h,d,B);a[h>>2]=a[L>>2];a[h+4>>2]=a[L+4>>2];a[h+8>>2]=a[L+8>>2];a[h+12>>2]=a[L+12>>2];a[d>>2]=a[m>>2];a[d+4>>2]=a[m+4>>2];a[d+8>>2]=a[m+8>>2];a[d+12>>2]=a[m+12>>2];a[B>>2]=a[u>>2];a[B+4>>2]=a[u+4>>2];a[B+8>>2]=a[u+8>>2];a[B+12>>2]=a[u+12>>2];b=sP(h,d,B)|0;a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];a[d>>2]=a[u>>2];a[d+4>>2]=a[u+4>>2];a[d+8>>2]=a[u+8>>2];a[d+12>>2]=a[u+12>>2];a[B>>2]=a[m>>2];a[B+4>>2]=a[m+4>>2];a[B+8>>2]=a[m+8>>2];a[B+12>>2]=a[m+12>>2];s=sP(h,d,B)|0;a[o>>2]=a[L>>2];a[o+4>>2]=a[L+4>>2];a[o+8>>2]=a[L+8>>2];a[o+12>>2]=a[L+12>>2];a[h>>2]=a[m>>2];a[h+4>>2]=a[m+4>>2];a[h+8>>2]=a[m+8>>2];a[h+12>>2]=a[m+12>>2];a[d>>2]=a[w>>2];a[d+4>>2]=a[w+4>>2];a[d+8>>2]=a[w+8>>2];a[d+12>>2]=a[w+12>>2];a[B>>2]=a[u>>2];a[B+4>>2]=a[u+4>>2];a[B+8>>2]=a[u+8>>2];a[B+12>>2]=a[u+12>>2];if(wP(o,h,d,B,C)|0){f=1;break}w=(b|0)==0;u=(s|0)==0;do{if(c!=0.0|(s|b|0)!=0)if(!(c>=0.0))if(u){f=(f+1|0)%(i|0)|0;l=l+1|0;break}else{n=(n+1|0)%(r|0)|0;t=t+1|0;break}else if(w){n=(n+1|0)%(r|0)|0;t=t+1|0;break}else{f=(f+1|0)%(i|0)|0;l=l+1|0;break}else{f=(f+1|0)%(i|0)|0;l=l+1|0}}while(0);if(!((t|0)<(v|0)&((l|0)<(G|0)&((t|0)<(r|0)|(l|0)<(i|0))))){f=0;break}}k=Q;return f|0}function oK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;f=+b[A>>3];if((f<=+b[i>>3]?f>=+b[e>>3]:0)?(r=+b[A+8>>3],r<=+b[i+8>>3]):0)A=r>=+b[e+8>>3]&1;else A=0;return A|0}function hK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0;r=a[46917]|0;if(!r){r=$F(a[46914]<<4)|0;a[46917]=r}l=i+8|0;n=0;while(1){if((n|0)>=(e|0))break;b[r+(n<<4)>>3]=+b[A+(n<<4)>>3]-+b[i>>3];b[r+(n<<4)+8>>3]=+b[A+(n<<4)+8>>3]-+b[l>>3];n=n+1|0}i=e+-1|0;f=0.0;A=0;A:while(1){if((A|0)>=(e|0)){s=19;break}n=(i+A|0)%(e|0)|0;t=+b[r+(A<<4)+8>>3];l=t==0.0;if(l?+b[r+(n<<4)+8>>3]==0.0:0){if(+b[r+(n<<4)>>3]*+b[r+(A<<4)>>3]<0.0){r=1;break}}else s=11;do{if((s|0)==11){s=0;c=+b[r+(n<<4)+8>>3];if(!(t>=0.0)|!(c<=0.0)?!(c>=0.0)|!(t<=0.0):0)break;t=(c*+b[r+(A<<4)>>3]-t*+b[r+(n<<4)>>3])/(c-t);if(t==0.0){r=1;break A}if(t>0.0)if(c==0.0|l){f=f+.5;break}else{f=f+1.0;break}}}while(0);A=A+1|0}if((s|0)==19)r=((~~f|0)%2|0|0)==1&1;return r|0}function dK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;c=$F(e<<2)|0;t=U(e,e)|0;i=$F(t<<2)|0;a[c>>2]=i;RO(t,0.0,i);i=1;while(1){if((i|0)>=(e|0)){i=0;n=0;t=e;break}a[c+(i<<2)>>2]=(a[c>>2]|0)+((U(i,e)|0)<<2);i=i+1|0}while(1){if((n|0)>=(e|0))break;l=c+(n<<2)|0;r=n;f=i;while(1){if((r|0)==(e|0))break;b=a[A+(f<<2)>>2]|0;a[(a[l>>2]|0)+(r<<2)>>2]=b;a[(a[c+(r<<2)>>2]|0)+(n<<2)>>2]=b;r=r+1|0;f=f+1|0}i=i+t|0;n=n+1|0;t=t+-1|0}return c|0}function BK(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=+t;var b=0.0,s=0.0,w=0.0,u=0,k=0,o=0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0;N=a[i+(f<<2)>>2]|0;m=a[A+4>>2]|0;L=a[A>>2]|0;W=a[A+48>>2]|0;z=a[A+52>>2]|0;Y=a[A+56>>2]|0;A:do{if((n|0)<1)i=0;else{gK(N,m,W,z,Y,t);D=a[A+28>>2]|0;M=a[A+32>>2]|0;F=a[A+36>>2]|0;V=a[A+12>>2]|0;J=a[A+16>>2]|0;f=0;r=0;i=-1;while(1){if((f|0)>=(m|0))break;if((f|0)>=(r|0)){i=i+1|0;if((i|0)==(Y|0)){r=m;i=Y}else r=a[z+(i<<2)>>2]|0}a[J+(a[W+(f<<2)>>2]<<2)>>2]=i;f=f+1|0}G=a[A+40>>2]|0;Q=M+(m+-1<<2)|0;i=0;r=0;while(1){if(r<<24>>24==0&(i|0)<(n|0)){b=-1.0e9;f=0;r=1}else break A;e:while(1){I=f;while(1){if((I|0)>=(m|0))break e;f=a[W+(I<<2)>>2]|0;Z=+c[N+(f<<2)>>2];s=Z;C=I;w=0.0;while(1){c[G+(f<<2)>>2]=w;f=C+1|0;if((f|0)>=(m|0)){E=0;break}s=(a[J+(f<<2)>>2]|0)>(a[J+(C<<2)>>2]|0)?s+t:s;A=a[W+(f<<2)>>2]|0;w=+c[N+(A<<2)>>2];if(+y(+(w-s))>1.0e-09){E=1;break}C=f;w=w-Z;f=A}u=I;while(1){if((u|0)>(C|0)){A=0;k=I;break}k=a[W+(u<<2)>>2]|0;o=a[L+(k<<2)>>2]|0;A=0;s=-+c[e+(k<<2)>>2];while(1){if((A|0)>=(m|0))break;if((A|0)!=(k|0))s=+c[N+(A<<2)>>2]*+c[o+(A<<2)>>2]+s;A=A+1|0}c[D+(k<<2)>>2]=s/-+c[o+(k<<2)>>2]-+c[G+(k<<2)>>2];u=u+1|0}i:while(1){if((k|0)>(C|0)){w=0.0;h=0.0;d=0;break}u=a[J+(a[W+(k<<2)>>2]<<2)>>2]|0;if((u|0)==(Y|0))d=f;else{d=a[z+(u<<2)>>2]|0;d=(f|0)<(d|0)?f:d}o=k;while(1){if((o|0)>=(d|0)){o=k;break}u=a[W+(o<<2)>>2]|0;if(+c[D+(u<<2)>>2]>2]=u;A=A+1|0}o=o+1|0}while(1){if((o|0)>=(d|0))break;u=a[W+(o<<2)>>2]|0;if(+c[D+(u<<2)>>2]==Z){a[V+(A<<2)>>2]=u;A=A+1|0}o=o+1|0}while(1){if((k|0)>=(d|0)){k=d;continue i}u=a[W+(k<<2)>>2]|0;if(+c[D+(u<<2)>>2]>Z){a[V+(A<<2)>>2]=u;A=A+1|0}k=k+1|0}}while(1){if((d|0)>=(A|0))break;k=a[V+(d<<2)>>2]|0;o=a[L+(k<<2)>>2]|0;s=0.0;u=0;while(1){if((u|0)==(d|0))break;s=s-+c[o+(a[V+(u<<2)>>2]<<2)>>2];u=u+1|0}X=s*2.0;g=o+(k<<2)|0;B=+c[g>>2];s=X+w;B=(X*Z+w*h-+c[D+(k<<2)>>2]*B)/(s-B);c[M+(d<<2)>>2]=B;w=s-+c[g>>2];h=B;d=d+1|0}o=(A|0)==(m|0);if(o)c[Q>>2]=Z;g=A+-1|0;w=0.0;h=0.0;k=g;while(1){if((k|0)<=-1)break;d=a[V+(k<<2)>>2]|0;v=a[L+(d<<2)>>2]|0;s=0.0;u=k;while(1){u=u+1|0;if((u|0)>=(A|0))break;s=s-+c[v+(a[V+(u<<2)>>2]<<2)>>2]}s=s*2.0;v=v+(d<<2)|0;X=+c[v>>2];B=s+w;X=(s*Z+w*h-+c[D+(d<<2)>>2]*X)/(B-X);c[F+(k<<2)>>2]=X;w=B-+c[v>>2];h=X;k=k+-1|0}if(o){c[F>>2]=Z;B=0.0;u=-1;o=0}else{B=0.0;u=-1;o=0}while(1){if((A|0)<=(o|0))break;h=+c[F+(o<<2)>>2];if((o|0)>0)s=+c[M+(o+-1<<2)>>2];else s=h;do{if(hZ;if(hB;B=v?X:B;u=v?o:u;o=o+1|0}if((u|0)>-1)break;if(E?(a[J+(a[W+(f<<2)>>2]<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0):0){b=+c[N+(a[V+(g<<2)>>2]<<2)>>2]+t;I=f;continue}b=+c[N+(a[V+(g<<2)>>2]<<2)>>2];I=f}w=+c[F+(u<<2)>>2];if(!u)h=w;else h=+c[M+(u+-1<<2)>>2];if(E){v=a[W+(f<<2)>>2]|0;s=+c[N+(v<<2)>>2];s=((a[J+(v<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0)?s-t:s)-+c[G+(a[V+(g<<2)>>2]<<2)>>2]}else s=1.0e9;s=wb?h:b;do{if(sZ;if(s=(u|0))break;v=a[V+(k<<2)>>2]|0;c[N+(v<<2)>>2]=+c[G+(v<<2)>>2]+s;k=k+1|0}while(1){if((u|0)>=(A|0))break;v=a[V+(u<<2)>>2]|0;c[N+(v<<2)>>2]=+c[G+(v<<2)>>2]+w;u=u+1|0}if(E?(a[J+(a[W+(f<<2)>>2]<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0):0)b=+c[N+(a[V+(g<<2)>>2]<<2)>>2]+t;else b=+c[N+(a[V+(g<<2)>>2]<<2)>>2];A=I;while(1){if((A|0)>(C|0))break;a[W+(A<<2)>>2]=a[V+(A-I<<2)>>2];A=A+1|0}if(r<<24>>24!=0?+y(+(s-Z))<.01:0)r=+y(+(w-Z))<.01;else r=0;r=r&1}zO(m,N);vK(N,W,z,Y,l);i=i+1|0}}}while(0);return i|0}function vK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=0;while(1){if((n|0)>=(r|0))break;a[f+(n<<2)>>2]=a[A+(a[e+((a[i+(n<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];n=n+1|0}return}function gK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0.0,t=0,b=0,s=0,w=0;l=-1.0e9;b=0;t=-1;w=0;while(1){if((w|0)>=(e|0))break;if((w|0)<(b|0))s=b;else{t=t+1|0;if((t|0)==(f|0))b=e;else b=a[r+(t<<2)>>2]|0;if((w|0)>0)l=+c[A+(a[i+(w+-1<<2)>>2]<<2)>>2]+n;else l=-1.0e9;SP(A,i,w,b+-1|0);s=b}b=A+(a[i+(w<<2)>>2]<<2)|0;if(+c[b>>2]>2]=l;b=s;w=w+1|0}return}function EK(A){A=A|0;L2(a[a[A>>2]>>2]|0);L2(a[A>>2]|0);L2(a[A+8>>2]|0);L2(a[A+28>>2]|0);L2(a[A+32>>2]|0);L2(a[A+36>>2]|0);L2(a[A+40>>2]|0);L2(a[A+12>>2]|0);L2(a[A+16>>2]|0);L2(a[A+20>>2]|0);L2(a[A+24>>2]|0);L2(A);return}function CK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=$F(60)|0;a[b>>2]=0;s=b+4|0;a[s>>2]=e;a[b+48>>2]=i;a[b+52>>2]=r;a[b+56>>2]=f;a[b>>2]=dK(A,e)|0;t=e<<2;c=$F(t)|0;a[b+8>>2]=c;l=0;e=0;A=-1;while(1){if((l|0)>=(a[s>>2]|0))break;n=A+1|0;if((l|0)>=(e|0)){e=a[((n|0)==(f|0)?s:r+(n<<2)|0)>>2]|0;A=n}a[c+(a[i+(l<<2)>>2]<<2)>>2]=A;l=l+1|0}a[b+28>>2]=$F(t)|0;a[b+32>>2]=$F(t)|0;a[b+36>>2]=$F(t)|0;a[b+40>>2]=$F(t)|0;a[b+12>>2]=$F(t)|0;a[b+16>>2]=$F(t)|0;a[b+20>>2]=$F(t)|0;a[b+24>>2]=$F(t)|0;return b|0}function IK(){jO(187676,24);a[46922]=0;return}function ZK(){return PO(187676)|0}function GK(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+ +z(+(r*r+i*i))}function QK(A){A=A|0;var e=0;e=a[46922]|0;a[A+16>>2]=e;a[46922]=e+1;return}function mK(A){A=A|0;var e=0,i=0;i=A+20|0;e=(a[i>>2]|0)+-1|0;a[i>>2]=e;if(!e)OO(A,187676);return}function LK(A){A=A|0;A=A+20|0;a[A>>2]=(a[A>>2]|0)+1;return}function WK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0.0,l=0,t=0,s=0,w=0.0,u=0,o=0.0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+16|0;u=I;a[u>>2]=r;h=e<<2;E=$F(h)|0;s=e<<3;C=$F(s)|0;g=RP(A,e)|0;A=0;while(1){if((A|0)>=(e|0))break;t=g+(A<<2)|0;l=0;while(1){if((l|0)==(e|0))break;B=(a[t>>2]|0)+(l<<2)|0;a[B>>2]=a[B>>2]<<8;l=l+1|0}A=A+1|0}if(!i)vA(93952,93960,283,93974);B=$F(s)|0;A=0;while(1){if((A|0)>=(e|0))break;b[B+(A<<3)>>3]=+b[i+(A<<3)>>3];A=A+1|0}yK(B,e);n=0.0;w=0.0;s=1;while(1){if((s|0)>=(e|0))break;l=g+(s<<2)|0;t=i+(s<<3)|0;A=0;while(1){if((A|0)==(s|0))break;Z=a[(a[l>>2]|0)+(A<<2)>>2]|0;d=+b[t>>3]-+b[i+(A<<3)>>3];n=d*d*(1.0/+(U(Z,Z)|0))+n;w=+y(+d)*(1.0/+(Z|0))+w;A=A+1|0}s=s+1|0}d=w/n;A=0;while(1){if((A|0)>=(e|0))break;Z=i+(A<<3)|0;b[Z>>3]=+b[Z>>3]*d;A=A+1|0}zK(e,u,f,i,g);t=$F(U(h,e)|0)|0;l=0;while(1){if((l|0)>=(e|0)){t=1;break}s=t+((U(l,e)|0)<<2)|0;a[E+(l<<2)>>2]=s;u=g+(l<<2)|0;n=0.0;A=0;while(1){if((A|0)==(e|0))break;if((A|0)!=(l|0)){o=+(a[(a[u>>2]|0)+(A<<2)>>2]|0);o=-1.0/(o*o);c[s+(A<<2)>>2]=o;n=n-o}A=A+1|0}c[s+(l<<2)>>2]=n;l=l+1|0}while(1){if((t|0)>=(e|0)){l=0;break}n=+b[i+(t<<3)>>3];l=g+(t<<2)|0;A=0;while(1){if((A|0)==(t|0))break;Z=(a[l>>2]|0)+(A<<2)|0;w=+(a[Z>>2]|0);o=n-+b[i+(A<<3)>>3];o=w*w-o*o;h=~~+z(+o);h=o>0.0?h:0;a[(a[g+(A<<2)>>2]|0)+(t<<2)>>2]=h;a[Z>>2]=h;A=A+1|0}t=t+1|0}while(1){if((l|0)>=(e|0)){h=0;A=0;break}w=+b[r+(l<<3)>>3];s=C+(l<<3)|0;b[s>>3]=0.0;u=g+(l<<2)|0;t=E+(l<<2)|0;A=0;n=0.0;while(1){if((A|0)==(e|0))break;if((A|0)!=(l|0)){o=+c[(a[t>>2]|0)+(A<<2)>>2]*+(a[(a[u>>2]|0)+(A<<2)>>2]|0);n=n+(w>=+b[r+(A<<3)>>3]?-o:o);b[s>>3]=n}A=A+1|0}l=l+1|0}while(1){if(!(A<<24>>24==0&(h|0)<200)){v=42;break}if((wS(E,r,C,e,f,e,1)|0)<0){A=1;break}else{A=1;u=0}while(1){if((u|0)>=(e|0))break;o=+b[r+(u<<3)>>3];t=g+(u<<2)|0;s=E+(u<<2)|0;n=0.0;l=0;while(1){if((l|0)==(e|0))break;do{if((l|0)!=(u|0)){w=+c[(a[s>>2]|0)+(l<<2)>>2]*+(a[(a[t>>2]|0)+(l<<2)>>2]|0);if(!(o>=+b[r+(l<<3)>>3])){n=n+w;break}else{n=n+-w;break}}}while(0);l=l+1|0}l=C+(u<<3)|0;o=+b[l>>3];if(n!=o?+y(+(1.0-n/o))>1.0e-05:0){b[l>>3]=n;A=0}u=u+1|0}h=h+1|0}A:do{if((v|0)==42){n=1.0/d;A=0;while(1){if((A|0)>=(e|0)){A=0;break A}Z=i+(A<<3)|0;b[Z>>3]=+b[Z>>3]*n;Z=r+(A<<3)|0;b[Z>>3]=+b[Z>>3]*n;A=A+1|0}}}while(0);L2(a[g>>2]|0);L2(g);L2(a[E>>2]|0);L2(E);L2(B);L2(C);k=I;return A|0}function yK(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0;i=0;r=0.0;while(1){if((i|0)>=(e|0))break;f=+b[A+(i<<3)>>3]+r;i=i+1|0;r=f}r=r/+(e|0);i=0;while(1){if((i|0)>=(e|0))break;a=A+(i<<3)|0;b[a>>3]=+b[a>>3]-r;i=i+1|0}a=e+-1|0;kO(A,0,a,1.0/+uO(A,0,a),A);return}function zK(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0;c=YK(f,A)|0;s=$F(8)|0;if(!r){f=0;t=0}else{n=$F(A<<3)|0;f=0;while(1){if((f|0)>=(A|0))break;b[n+(f<<3)>>3]=+b[r+(f<<3)>>3];f=f+1|0}yK(n,A);f=n;t=n}DK(c,A,e,s,f,i);r=0;while(1){if((r|0)==1)break;n=s+(r<<3)|0;l=e+(r<<2)|0;f=0;while(1){if((f|0)>=(A|0))break;i=+z(+ +y(+ +b[n>>3]));w=(a[l>>2]|0)+(f<<3)|0;b[w>>3]=+b[w>>3]*i;f=f+1|0}r=r+1|0}L2(a[c>>2]|0);L2(c);L2(s);L2(t);return}function YK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0,b=0,s=0,w=0,u=0,o=0.0;u=k;k=k+16|0;f=u;w=e<<2;r=$F(U(w,e)|0)|0;w=$F(w)|0;i=0;while(1){if((i|0)>=(e|0))break;a[w+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}s=FK(A,e,f)|0;n=+c[f>>2];r=0;b=1;while(1){if((r|0)>=(e|0))break;f=A+(r<<2)|0;l=s+(r<<2)|0;t=w+(r<<2)|0;i=0;while(1){if((i|0)==(b|0))break;o=+(a[(a[f>>2]|0)+(i<<2)>>2]|0);o=+c[s+(i<<2)>>2]+ +c[l>>2]-o*o-n;c[(a[t>>2]|0)+(i<<2)>>2]=o;c[(a[w+(i<<2)>>2]|0)+(r<<2)>>2]=o;i=i+1|0}r=r+1|0;b=b+1|0}L2(s);k=u;return w|0}function DK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0,o=0,h=0,d=0,B=0;d=e<<3;h=$F(d)|0;d=$F(d)|0;u=1.0-n;k=(e|0)<1?e:1;o=e+-1|0;c=(f|0)==0;t=0;A:while(1){if((t|0)>=(k|0))break;s=a[i+(t<<2)>>2]|0;do{l=0;while(1){if((l|0)==(e|0))break;b[s+(l<<3)>>3]=+((a8()|0)%100|0|0);l=l+1|0}if(c)l=0;else{wO(s,0,o,-+sO(f,0,o,s),f);l=0}while(1){if((l|0)==(t|0))break;B=i+(l<<2)|0;w=-+sO(a[B>>2]|0,0,o,s);wO(s,0,o,w,a[B>>2]|0);l=l+1|0}n=+uO(s,0,o)}while(n<1.0e-10);kO(s,0,o,1.0/n,s);do{oO(d,0,o,s);MK(A,e,e,s,h,f);oO(s,0,o,h);l=0;while(1){if((l|0)==(t|0))break;B=i+(l<<2)|0;w=-+sO(a[B>>2]|0,0,o,s);wO(s,0,o,w,a[B>>2]|0);l=l+1|0}n=+uO(s,0,o);if(n<1.0e-10)break A;kO(s,0,o,1.0/n,s);w=+sO(s,0,o,d)}while(+y(+w)>3]=w*n;t=t+1|0}while(1){if((t|0)>=(k|0))break;c=a[i+(t<<2)>>2]|0;l=0;while(1){if((l|0)>=(e|0)){l=0;break}b[c+(l<<3)>>3]=+((a8()|0)%100|0|0);l=l+1|0}while(1){if((l|0)>=(t|0))break;B=i+(l<<2)|0;u=-+sO(a[B>>2]|0,0,o,c);wO(c,0,o,u,a[B>>2]|0);l=l+1|0}kO(c,0,o,1.0/+uO(c,0,o),c);b[r+(t<<3)>>3]=0.0;t=t+1|0}s=k+-1|0;t=0;while(1){if((t|0)>=(s|0))break;A=r+(t<<3)|0;f=t+1|0;n=+b[A>>3];l=t;c=f;while(1){if((c|0)>=(k|0))break;u=+b[r+(c<<3)>>3];B=n>2]|0);B=i+(l<<2)|0;oO(a[e>>2]|0,0,o,a[B>>2]|0);oO(a[B>>2]|0,0,o,h);b[r+(l<<3)>>3]=+b[A>>3];b[A>>3]=n;t=f}L2(h);L2(d);return}function MK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,s=0,w=0;l=0;while(1){if((l|0)>=(e|0))break;w=A+(l<<2)|0;t=0.0;s=0;while(1){if((s|0)>=(i|0))break;t=+b[r+(s<<3)>>3]*+c[(a[w>>2]|0)+(s<<2)>>2]+t;s=s+1|0}b[f+(l<<3)>>3]=t;l=l+1|0}l=e+-1|0;if(n|0)wO(f,0,l,-+sO(f,0,l,n),n);return}function FK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,b=0.0,s=0,w=0.0;t=$F(e<<2)|0;b=1.0/+(e|0);r=0.0;l=0;while(1){if((l|0)>=(e|0))break;s=A+(l<<2)|0;f=0.0;n=0;while(1){if((n|0)==(e|0))break;w=+(a[(a[s>>2]|0)+(n<<2)>>2]|0);w=w*w;f=w+f;n=n+1|0;r=w+r}c[t+(l<<2)>>2]=b*f;l=l+1|0}c[i>>2]=r/+(U(e,e)|0);return t|0}function VK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0;h=U(r,r)|0;d=$F(h<<3)|0;B=$F(r<<3)|0;f=0;while(1){if((f|0)>=(r|0))break;b[B+(f<<3)>>3]=+b[i+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(h|0))break;b[d+(f<<3)>>3]=+b[A+(f<<3)>>3];f=f+1|0}o=r+-1|0;n=0;k=0;A:while(1){if((k|0)<(o|0)){a=0.0;f=k}else{s=21;break}while(1){if((f|0)>=(r|0))break;v=+y(+ +b[A+((U(f,r)|0)+k<<3)>>3]);w=v=(r|0))break;s=A+(f+l<<3)|0;v=+b[s>>3];w=A+(f+u<<3)|0;b[s>>3]=+b[w>>3];b[w>>3]=v;f=f+1|0}w=i+(n<<3)|0;v=+b[w>>3];t=i+(k<<3)|0;b[w>>3]=+b[t>>3];b[t>>3]=v;w=k+1|0;c=A+(u+k<<3)|0;f=w;while(1){if((f|0)>=(r|0)){k=w;continue A}s=U(f,r)|0;a=+b[A+(s+k<<3)>>3]/+b[c>>3];l=i+(f<<3)|0;b[l>>3]=+b[l>>3]-+b[t>>3]*a;l=0;while(1){if((l|0)>=(r|0))break;g=A+(l+s<<3)|0;b[g>>3]=+b[g>>3]-+b[A+(l+u<<3)>>3]*a;l=l+1|0}f=f+1|0}}if((s|0)==21){a=+b[A+(h+-1<<3)>>3];if(+y(+a)<1.0e-10)s=33;else{b[e+(o<<3)>>3]=+b[i+(o<<3)>>3]/a;f=0;while(1){if((f|0)>=(o|0)){f=0;break}n=r-f|0;l=n+-2|0;a=+b[i+(l<<3)>>3];t=e+(l<<3)|0;b[t>>3]=a;c=U(l,r)|0;n=n+-1|0;while(1){if((n|0)>=(r|0))break;v=a-+b[e+(n<<3)>>3]*+b[A+(n+c<<3)>>3];b[t>>3]=v;n=n+1|0;a=v}b[t>>3]=a/+b[A+(c+l<<3)>>3];f=f+1|0}while(1){if((f|0)>=(r|0)){f=0;break}b[i+(f<<3)>>3]=+b[B+(f<<3)>>3];f=f+1|0}while(1){if((f|0)>=(h|0))break;b[A+(f<<3)>>3]=+b[d+(f<<3)>>3];f=f+1|0}L2(d);L2(B)}}if((s|0)==33){c6(93989)|0;L2(d);L2(B)}return}function JK(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;B=k;k=k+16|0;d=B;$S();IK();gP();a[46918]=G5[e&3]()|0;CP();h=d+8|0;o=G5[e&3]()|0;i=0.0;f=0.0;A:while(1){w=(o|0)==0;u=o+8|0;while(1){if(!(hP()|0)){dP(d);i=+b[d>>3];f=+b[h>>3]}if(!w){if(hP()|0)break;n=+b[u>>3];if(n>3]>2]|0;QK(t);rP(a[v+8>>2]|0,r[v+16>>0]|0,t);rP(a[E+8>>2]|0,r[E+16>>0]|0,t);WP(v);oP(E);WP(E);E=+b[s+8>>3]>+b[g+8>>3];v=E&1;c=E?g:s;g=AP(c,E?s:g)|0;s=IP(g,v)|0;QP(A,s);rP(g,(v^1)&255,t);mK(t);t=ZP(A,s)|0;if(t|0){oP(A);uP(A,t,+GK(t,c))}A=ZP(s,l)|0;if(!A)continue;uP(s,A,+GK(A,c))}A=mP(o)|0;c=yP(A)|0;l=AP(DP(A)|0,o)|0;s=IP(l,0)|0;QP(A,s);t=ZP(A,s)|0;if(t|0){oP(A);uP(A,t,+GK(t,o))}l=IP(l,1)|0;QP(s,l);A=ZP(l,c)|0;if(A|0)uP(l,A,+GK(A,o));o=G5[e&3]()|0}A=a[46860]|0;while(1){A=yP(A)|0;if((A|0)==(a[46861]|0))break;eP(a[A+8>>2]|0)}k=B;return}function NK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n+8|0;r=n;do{if((vh(A)|0)!=1){XK(A);if(!e)e=RK(A)|0;i=HK(A,e)|0;if(0){l=a[15712]|0;a[r>>2]=Vh(e)|0;a[r+4>>2]=i;f3(l,94005,r)|0}if((i|0)<0){ao(1,94039,f)|0;break}else{pK(A);UK(A,e);xK(A,e);TK(A,i);break}}else{l=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;a[l>>2]=0;a[l+4>>2]=0;a[l+8>>2]=0;a[l+12>>2]=0}}while(0);k=n;return e|0}function XK(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=vh(A)|0;i=U(i,i)|0;e=cd(A)|0;while(1){if(!e)break;r=e+16|0;f=a[(a[r>>2]|0)+112>>2]|0;n=f+24|0;a[n>>2]=i;a[n+4>>2]=0;b[f+48>>3]=10.0;f=($K(A,e)|0)==0;r=a[(a[r>>2]|0)+112>>2]|0;a[r>>2]=f?i:0;a[r+4>>2]=f?0:0;e=bd(A,e)|0}return}function RK(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=(vh(A)|0)<3;e=cd(A)|0;A:do{if(!r){while(1){if(!e)break;r=a[(a[e+16>>2]|0)+112>>2]|0;if((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)qK(A,e,0);e=bd(A,e)|0}i=0;e=0;r=cd(A)|0;while(1){if(!r)break A;l=a[(a[r+16>>2]|0)+112>>2]|0;n=a[l>>2]|0;l=a[l+4>>2]|0;f=((i|0)<0)<<31>>31;f=l>>>0>f>>>0|(l|0)==(f|0)&n>>>0>i>>>0;i=f?n:i;e=f?r:e;r=bd(A,r)|0}}}while(0);return e|0}function HK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;i=a[(a[e+16>>2]|0)+112>>2]|0;f=i+24|0;r=a[f>>2]|0;a[f>>2]=0;a[f+4>>2]=0;a[i+32>>2]=0;OK(A,e);i=cd(A)|0;r=I6(0,r|0,32)|0;f=L;e=0;while(1){if(!i)break;l=(a[(a[i+16>>2]|0)+112>>2]|0)+24|0;n=a[l>>2]|0;l=a[l+4>>2]|0;if((n|0)==(r|0)&(l|0)==(f|0)){e=-1;break}t=((e|0)<0)<<31>>31;e=l>>>0>t>>>0|(l|0)==(t|0)&n>>>0>e>>>0?n:e;i=bd(A,i)|0}return e|0}function pK(A){A=A|0;var e=0,i=0,r=0,f=0;i=cd(A)|0;while(1){if(!i)break;e=a[(a[i+16>>2]|0)+112>>2]|0;r=e+16|0;A:do{if((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)while(1){r=e+8|0;f=r;f=d6(a[f>>2]|0,a[f+4>>2]|0,1,0)|0;a[r>>2]=f;a[r+4>>2]=L;e=a[e+32>>2]|0;if(!e)break A;e=a[(a[e+16>>2]|0)+112>>2]|0}}while(0);i=bd(A,i)|0}return}function UK(A,e){A=A|0;e=e|0;b[(a[(a[e+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;PK(A,e);return}function xK(A,e){A=A|0;e=e|0;b[(a[(a[e+16>>2]|0)+112>>2]|0)+48>>3]=0.0;SK(A,e);return}function TK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0;l=k;k=k+16|0;f=l;n=jK(A,e)|0;if(0){r=a[15712]|0;m3(94095,r)|0;i=0;while(1){if((i|0)>(e|0))break;b[f>>3]=+b[n+(i<<3)>>3];f3(r,94114,f)|0;i=i+1|0}m3(153599,r)|0}i=cd(A)|0;while(1){if(!i)break;f=a[i+16>>2]|0;r=a[f+112>>2]|0;t=+b[n+(a[r+24>>2]<<3)>>3];r=r+48|0;c=+D(+ +b[r>>3])*t;f=a[f+132>>2]|0;b[f>>3]=c;b[f+8>>3]=+M(+ +b[r>>3])*t;i=bd(A,i)|0}L2(n);k=l;return}function jK(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;c=w;s=qF((e<<3)+8|0)|0;A=dR(A,Yo(a[A+60>>2]|0,0,101288,0)|0,0)|0;A:do{if(!A){f=1.0;i=0.0;A=1}else{l=0.0;i=0.0;n=1;e:while(1){if((n|0)>(e|0)){f=l;A=n;break A}f=+A8(A,c);if(!(f>0.0)){f=l;A=n;break A}l=f>.02?f:.02;i=l+i;t=n+1|0;b[s+(n<<3)>>3]=i;A=a[c>>2]|0;while(1){n=r[A>>0]|0;if(!(n<<24>>24)){n=t;continue e}if(!(n<<24>>24==58|(Q1(n<<24>>24)|0)!=0)){n=t;continue e}A=A+1|0}}}}while(0);while(1){if((A|0)>(e|0))break;l=i+f;b[s+(A<<3)>>3]=l;A=A+1|0;i=l}k=w;return s|0}function SK(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,l=0,t=0.0;i=a[(a[e+16>>2]|0)+112>>2]|0;if(!(a[i+32>>2]|0))r=0.0;else r=+b[i+48>>3]-+b[i+40>>3]*.5;n=Ah(A,e)|0;while(1){if(!n)break;i=a[n>>2]&3;f=a[((i|0)==3?n:n+48|0)+40>>2]|0;if((f|0)==(e|0))f=a[((i|0)==2?n:n+-48|0)+40>>2]|0;i=a[(a[f+16>>2]|0)+112>>2]|0;if((a[i+32>>2]|0)==(e|0)?(l=i+48|0,!(+b[l>>3]!=10.0)):0){t=+b[i+40>>3];b[l>>3]=t*.5+r;r=t+r;i=i+16|0;if(!((a[i>>2]|0)==0&(a[i+4>>2]|0)==0))SK(A,f)}n=eh(A,n,e)|0}return}function PK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0;r=a[(a[e+16>>2]|0)+112>>2]|0;f=r+8|0;n=+b[r+40>>3]/(+((a[f>>2]|0)>>>0)+4294967296.0*+((a[f+4>>2]|0)>>>0));f=Ah(A,e)|0;while(1){if(!f)break;r=a[f>>2]&3;i=a[((r|0)==3?f:f+48|0)+40>>2]|0;if((i|0)==(e|0))i=a[((r|0)==2?f:f+-48|0)+40>>2]|0;r=a[(a[i+16>>2]|0)+112>>2]|0;if(((a[r+32>>2]|0)==(e|0)?(l=r+40|0,!(+b[l>>3]!=0.0)):0)?(t=r+8|0,b[l>>3]=n*(+((a[t>>2]|0)>>>0)+4294967296.0*+((a[t+4>>2]|0)>>>0)),r=r+16|0,!((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)):0)PK(A,i);f=eh(A,f,e)|0}return}function OK(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+16|0;w=o;u=Yo(A,2,101541,0)|0;a[w+4>>2]=0;a[w>>2]=0;KK(w,e);c=(u|0)==0;A:while(1){b=_K(w)|0;if(!b)break;s=b+16|0;l=a[(a[(a[s>>2]|0)+112>>2]|0)+24>>2]|0;n=Ah(A,b)|0;l=d6(0,l|0,0,1)|0;l=I6(l|0,L|0,32)|0;t=L;while(1){if(!n)continue A;if(!((!c?(r[(Uo(n,u)|0)>>0]|0)==48:0)?!(A1(Uo(n,u)|0,138394)|0):0)){e=a[n>>2]&3;i=a[((e|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(b|0))i=a[((e|0)==2?n:n+-48|0)+40>>2]|0;e=a[(a[i+16>>2]|0)+112>>2]|0;f=e+24|0;h=f;d=a[h+4>>2]|0;if(t>>>0>>0|((t|0)==(d|0)?l>>>0<(a[h>>2]|0)>>>0:0)){d=f;a[d>>2]=l;a[d+4>>2]=t;a[e+32>>2]=b;d=(a[(a[s>>2]|0)+112>>2]|0)+16|0;h=d;h=d6(a[h>>2]|0,a[h+4>>2]|0,1,0)|0;a[d>>2]=h;a[d+4>>2]=L;KK(w,i)}}n=eh(A,n,b)|0}}k=o;return}function KK(A,e){A=A|0;e=e|0;var i=0,r=0;i=qF(8)|0;a[i>>2]=e;e=A+4|0;r=a[e>>2]|0;a[((r|0)==0?A:r+4|0)>>2]=i;a[e>>2]=i;return}function _K(A){A=A|0;var e=0,i=0;i=a[A>>2]|0;if(i){e=a[i>>2]|0;a[A>>2]=a[i+4>>2];L2(i);if(!(a[A>>2]|0))a[A+4>>2]=0}else e=0;return e|0}function qK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=a[a[(a[e+16>>2]|0)+112>>2]>>2]|0;n=Ah(A,e)|0;l=d6(0,l|0,0,1)|0;l=I6(l|0,L|0,32)|0;t=L;while(1){if(!n)break;f=a[n>>2]&3;r=a[((f|0)==3?n:n+48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((f|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)!=(i|0)?(c=a[(a[r+16>>2]|0)+112>>2]|0,f=c,b=a[f+4>>2]|0,t>>>0>>0|((t|0)==(b|0)?l>>>0<(a[f>>2]|0)>>>0:0)):0){b=c;a[b>>2]=l;a[b+4>>2]=t;qK(A,r,e)}n=eh(A,n,e)|0}return}function $K(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;f=0;n=Ah(A,e)|0;while(1){if(!n){i=1;break}r=a[n>>2]&3;i=a[((r|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(e|0))i=a[((r|0)==2?n:n+-48|0)+40>>2]|0;if((i|0)!=(e|0)){if(f)if((f|0)==(i|0))i=f;else{i=0;break}}else i=f;f=i;n=eh(A,n,e)|0}return i|0}function A_(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0;e=k;k=k+32|0;r=e;i=Yo(A,1,94122,0)|0;n=Yo(A,0,94122,0)|0;A=e_(A,n,i,Yo(A,0,94127,0)|0)|0;i=A+16|0;f=+z(+(+b[A>>3]+.1));w_(r,0.0,0.0,f,f);a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];a[i+16>>2]=a[r+16>>2];a[i+20>>2]=a[r+20>>2];a[i+24>>2]=a[r+24>>2];a[i+28>>2]=a[r+28>>2];i_(A);r_(A);f_(A);k=e;return}function e_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;k=qF(72)|0;a[k+60>>2]=0;a[k+56>>2]=A;c=A+16|0;f=0.0;s=0;l=1;t=0;w=0;while(1){n=a[c>>2]|0;if((l|0)>(a[n+180>>2]|0))break;n=e_(a[(a[n+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;f=+b[n>>3]+f;if(t|0)a[t+52>>2]=n;s=s+1|0;l=l+1|0;t=n;w=(w|0)==0?n:w}u=cd(A)|0;n=w;while(1){if(!u)break;l=u+16|0;if(!(a[a[(a[l>>2]|0)+112>>2]>>2]|0)){c=l_(u,i)|0;f=+b[c>>3]+f;if(t|0)a[t+52>>2]=c;a[a[(a[l>>2]|0)+112>>2]>>2]=A;l=s+1|0;t=c;n=(n|0)==0?c:n}else l=s;u=bd(A,u)|0;s=l}a[k+64>>2]=s;if(!s)f=+c_(A,e);else{b[k+8>>3]=f;f=+t_(k,r)}b[k>>3]=f;a[k+48>>2]=n;return k|0}function i_(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0;o=k;k=k+176|0;f=o+144|0;w=o+64|0;c=o+32|0;l=o;u=a[A+64>>2]|0;A:do{if(u|0){s=qF(u<<2)|0;e=A+48|0;r=0;i=e;while(1){i=a[i>>2]|0;if((r|0)>=(u|0))break;a[s+(r<<2)>>2]=i;r=r+1|0;i=i+52|0}K4(s,u,4,80);t=qF(u<<3)|0;i=0;while(1){if((i|0)>=(u|0))break;b[t+(i<<3)>>3]=+b[a[s+(i<<2)>>2]>>3];i=i+1|0}n=+b[A+8>>3];if(+b[A>>3]==n){l=A+16|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];a[f+16>>2]=a[l+16>>2];a[f+20>>2]=a[l+20>>2];a[f+24>>2]=a[l+24>>2];a[f+28>>2]=a[l+28>>2];l=b_(u,t,f)|0}else{h=+b[A+40>>3];d=+b[A+32>>3];b[l>>3]=+b[A+16>>3];b[l+8>>3]=+b[A+24>>3];B=h-d;n=(d+h-+z(+(n*4.0+B*B)))*.5;b[l+16>>3]=d-n;b[l+24>>3]=h-n;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];a[f+16>>2]=a[l+16>>2];a[f+20>>2]=a[l+20>>2];a[f+24>>2]=a[l+24>>2];a[f+28>>2]=a[l+28>>2];l=b_(u,t,f)|0}if(0){f=a[15712]|0;h=+b[A+24>>3];d=+b[A+32>>3];B=+b[A+40>>3];b[c>>3]=+b[A+16>>3];b[c+8>>3]=h;b[c+16>>3]=d;b[c+24>>3]=B;f3(f,94174,c)|0}r=a[15712]|0;i=0;while(1){if((i|0)>=(u|0))break;c=(a[s+(i<<2)>>2]|0)+16|0;f=l+(i<<5)|0;a[c>>2]=a[f>>2];a[c+4>>2]=a[f+4>>2];a[c+8>>2]=a[f+8>>2];a[c+12>>2]=a[f+12>>2];a[c+16>>2]=a[f+16>>2];a[c+20>>2]=a[f+20>>2];a[c+24>>2]=a[f+24>>2];a[c+28>>2]=a[f+28>>2];if(0){n=+b[f>>3];d=+b[l+(i<<5)+16>>3];g=d*.5;h=+b[l+(i<<5)+8>>3];B=+b[l+(i<<5)+24>>3];v=B*.5;b[w>>3]=+b[t+(i<<3)>>3];b[w+8>>3]=n-g;b[w+16>>3]=h-v;b[w+24>>3]=g+n;b[w+32>>3]=v+h;b[w+40>>3]=B*d;b[w+48>>3]=n;b[w+56>>3]=h;b[w+64>>3]=d;b[w+72>>3]=B;f3(r,94191,w)|0}i=i+1|0}L2(s);L2(t);L2(l);i=0;while(1){e=a[e>>2]|0;if((i|0)>=(u|0))break A;if(!(a[e+60>>2]|0))i_(e);e=e+52|0;i=i+1|0}}}while(0);k=o;return}function r_(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0;f=k;k=k+48|0;r=f;if(a[A+60>>2]|0){c=+b[A+24>>3];l=+b[A+32>>3];n=+b[A+40>>3];e=a[A+56>>2]|0;i=e+16|0;t=a[i>>2]|0;b[t+16>>3]=+b[A+16>>3];b[t+24>>3]=c;A=a[i>>2]|0;b[A+32>>3]=l*.013888888888888888;b[A+40>>3]=n*.013888888888888888;DH(e,a[(a[(Id(e)|0)+16>>2]|0)+116>>2]&1);a_(e);if(0){t=a[15712]|0;A=Vh(e)|0;i=a[i>>2]|0;s=+b[i+16>>3];n=+b[i+24>>3];l=+b[i+80>>3];c=+b[i+96>>3]+ +b[i+88>>3];a[r>>2]=A;b[r+8>>3]=s;b[r+16>>3]=n;b[r+24>>3]=l;b[r+32>>3]=c;f3(t,94133,r)|0}}else{e=A+48|0;while(1){e=a[e>>2]|0;if(!e)break;r_(e);e=e+52|0}l=+b[A+32>>3];s=+b[A+40>>3];n=+b[A+16>>3]-l*.5;c=+b[A+24>>3]-s*.5;t=a[(a[A+56>>2]|0)+16>>2]|0;b[t+16>>3]=n;b[t+24>>3]=c;b[t+32>>3]=n+l;b[t+40>>3]=c+s}k=f;return}function f_(A){A=A|0;var e=0,i=0,r=0;r=a[A+64>>2]|0;e=A+48|0;i=0;while(1){e=a[e>>2]|0;if((i|0)>=(r|0))break;f_(e);e=e+52|0;i=i+1|0}L2(A);return}function a_(A){A=A|0;var e=0,i=0,f=0,n=0;n=k;k=k+48|0;f=n;e=n+8|0;i=a[47150]|0;if(i|0?(r[(Uo(A,i)|0)>>0]|0)==0:0){b[f>>3]=+b[(a[A+16>>2]|0)+80>>3]*.7;P4(e,94168,f)|0;Vo(A,a[47150]|0,e)|0}FR(A);k=n;return}function n_(A,e){A=A|0;e=e|0;var i=0.0;i=+b[a[A>>2]>>3]-+b[a[e>>2]>>3];return(i<0.0?1:(i>0.0)<<31>>31)|0}function l_(A,e){A=A|0;e=e|0;var i=0;i=qF(72)|0;b[i>>3]=+c_(A,e);a[i+60>>2]=1;a[i+56>>2]=A;return i|0}function t_(A,e){A=A|0;e=e|0;var i=0.0;i=+oR(a[A+56>>2]|0,e,0.0,0.0);if(i==0.0)i=+b[A+8>>3];else{i=+z(+ +b[A+8>>3])+i*2.0;i=i*i}return+i}function c_(A,e){A=A|0;e=e|0;var i=0.0;i=+oR(A,e,1.0,0.0);return+(i==0.0?1.0e3:i*1.0e3)}function b_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0;l=k;k=k+32|0;n=l;r=0;f=0.0;while(1){if((r|0)>=(A|0))break;t=+b[e+(r<<3)>>3]+f;r=r+1|0;f=t}if(f>+b[i+24>>3]*+b[i+16>>3]+.001)r=0;else{r=qF(A<<5)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[n+16>>2]=a[i+16>>2];a[n+20>>2]=a[i+20>>2];a[n+24>>2]=a[i+24>>2];a[n+28>>2]=a[i+28>>2];s_(A,e,r,0,0.0,1.0,0.0,1.0,n)}k=l;return r|0}function s_(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=+l;t=+t;c=c|0;var s=0,w=0.0,u=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0.0;G=k;k=k+112|0;Z=G+72|0;g=G+40|0;o=G+32|0;s=G;C=c+16|0;h=+b[C>>3];I=c+24|0;d=+b[I>>3];E=+b[c+16+((!(h>3];do{if((A|0)>=1){if(0){Q=a[15712]|0;m=+b[c+8>>3];b[s>>3]=+b[c>>3];b[s+8>>3]=h;b[s+16>>3]=m;b[s+24>>3]=d;f3(Q,94228,s)|0;a[o>>2]=r;f3(Q,94274,o)|0}if(!r){l=+b[e>>3];m=E*E;E=l/m;m=m/l;a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A,e,i,1,l,l,l,E>m?E:m,Z);break}if((A|0)>(r|0)?(v=+b[e+(r<<3)>>3],w=vn?n:v,v=v+l,u=v/E,u=u*u,m=u/B,u=w/u,u=m>u?m:u,u<=t):0){a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A,e,i,r+1|0,w,B,v,u,Z);break}h=l/E;if(0){Q=a[15712]|0;a[g>>2]=r;b[g+8>>3]=l;b[g+16>>3]=E;b[g+24>>3]=h;f3(Q,94299,g)|0}w=+b[C>>3];if(E==w){u=1.0/h;o=c+8|0;w=+b[c>>3]-w*.5;s=0;while(1){if((s|0)>=(r|0))break;b[i+(s<<5)+24>>3]=h;m=+b[e+(s<<3)>>3]*u;b[i+(s<<5)+16>>3]=m;b[i+(s<<5)+8>>3]=(+b[I>>3]-h)*.5+ +b[o>>3];b[i+(s<<5)>>3]=m*.5+w;w=m+w;s=s+1|0}b[o>>3]=+b[o>>3]-h*.5;s=1}else{u=1.0/h;w=+b[I>>3]*.5+ +b[c+8>>3];s=0;while(1){if((s|0)>=(r|0))break;b[i+(s<<5)+16>>3]=h;m=+b[e+(s<<3)>>3]*u;b[i+(s<<5)+24>>3]=m;b[i+(s<<5)>>3]=(h-+b[C>>3])*.5+ +b[c>>3];b[i+(s<<5)+8>>3]=w-m*.5;w=w-m;s=s+1|0}b[c>>3]=+b[c>>3]+h*.5;s=0}Q=c+16+(s<<3)|0;b[Q>>3]=+b[Q>>3]-h;a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A-r|0,e+(r<<3)|0,i+(r<<5)|0,0,0.0,0.0,0.0,1.0,Z)}}while(0);k=G;return}function w_(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function u_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;W=k;k=k+96|0;L=W+48|0;m=W+24|0;Q=W+16|0;G=W+8|0;g=W+80|0;E=W;C=A+16|0;I=e+4|0;Z=g+4|0;B=cd(A)|0;i=0;r=0;n=0;l=0;while(1){if(!B)break;v=Oo(A,B)|0;h=i;d=l;while(1){if(!v)break;i=(f[(a[v+16>>2]|0)+168>>1]|0)==0;do{if((B|0)==(a[((a[v>>2]&3|0)==2?v:v+-48|0)+40>>2]|0))if(i){l=h;i=d}else{if(!r){i=qF(96)|0;a[i+84>>2]=qF(((vh(A)|0)<<5)+11520|0)|0;r=i}else i=d;Gp(r,v,a[(a[C>>2]|0)+248>>2]|0);l=h}else if(!i){n=k_(v,e)|0;l=n+8|0;if(qP(a[l>>2]|0,a[n>>2]|0)|0){t=Wt(a[l>>2]|0,a[n>>2]|0)|0;if(!t){ao(0,94352,G)|0;l=1;i=d;break}else i=v;while(1){if(!i)break;y=i+16|0;z=(a[y>>2]|0)+144|0;zp(E,i,t,0,a[l>>2]|0,a[n>>2]|0);D=E;Y=a[D+4>>2]|0;a[z>>2]=a[D>>2];a[z+4>>2]=Y;Dp(A,i,a[l>>2]|0,a[n>>2]|0,0);i=a[(a[y>>2]|0)+172>>2]|0}o_(n);l=h;i=d;break}if(!h){qj(g,A);i=sC(A,8,8)|0;ao(0,94436,Q)|0;w=+(i|0);u=+c[e>>2];o=+c[I>>2];if(!(u>=w)&!(o>=w)){s=+c[g>>2];w=+c[Z>>2];if(!(!(s<=u)&!(w<=o))){b[L>>3]=s;b[L+8>>3]=w;b[L+16>>3]=u;b[L+24>>3]=o;ao(3,94552,L)|0}}else{a[m>>2]=i;b[m+8>>3]=u;b[m+16>>3]=o;ao(3,94502,m)|0}l=1;i=d}else{l=h;i=d}}else{l=h;i=d}}while(0);v=_o(A,v)|0;h=l;d=i}B=bd(A,B)|0;i=h;l=d}h_(n);if(r|0){L2(a[r+84>>2]|0);L2(l)}k=W;return i|0}function k_(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+16|0;s=o+4|0;w=o;i=a[A>>2]&3;f=a[((i|0)==2?A:A+-48|0)+40>>2]|0;i=a[((i|0)==3?A:A+48|0)+40>>2]|0;h=f+16|0;l=a[(a[h>>2]|0)+212>>2]|0;a[s>>2]=l;t=i+16|0;n=a[(a[t>>2]|0)+212>>2]|0;a[w>>2]=n;b=qF(12)|0;A=l;c=n;if(r[(a[h>>2]|0)+118>>0]|0){A=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2]|0;a[s>>2]=A;f=l;l=A}if(!(r[(a[t>>2]|0)+118>>0]|0))t=c;else{t=a[(a[(a[c+16>>2]|0)+140>>2]|0)+48>>2]|0;a[w>>2]=t;i=n;n=t}l=a[(a[(a[l+16>>2]|0)+140>>2]|0)+44>>2]|0;n=a[(a[(a[n+16>>2]|0)+140>>2]|0)+44>>2]|0;if((l|0)<=(n|0))if((n|0)>(l|0)){d_(b,n,i,l,w,e);A=a[w>>2]|0;n=A;i=w;u=11}else l=t;else{d_(b,l,f,n,s,e);A=a[s>>2]|0;f=A;n=i;i=s;u=11}while(1){if((u|0)==11){a[i>>2]=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2];i=n;A=a[s>>2]|0;l=a[w>>2]|0}if((A|0)==(l|0))break;B_(b,A,0,f,e);B_(b,l,i,0,e);a[s>>2]=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2];f=A;n=l;i=w;A=l;u=11}B_(b,l,i,f,e);k=o;return b|0}function o_(A){A=A|0;a[A>>2]=0;return}function h_(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function d_(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;t=f;while(1){l=a[t>>2]|0;if((e|0)<=(r|0))break;B_(A,l,i,0,n);e=e+-1|0;t=(a[(a[l+16>>2]|0)+140>>2]|0)+48|0;i=l}a[f>>2]=i;return}function B_(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;l=cd(e)|0;while(1){if(!l)break;t=a[l+16>>2]|0;if(!((l|0)==(f|0)|((l|0)==(i|0)?1:(a[t+212>>2]|0)!=(e|0)))?(r[t+118>>0]|0)==0:0)v_(A,Lp(l,n,0)|0);l=bd(e,l)|0}t=e+16|0;e=1;while(1){l=a[t>>2]|0;if((e|0)>(a[l+180>>2]|0))break;l=a[(a[l+184>>2]|0)+(e<<2)>>2]|0;if(!((l|0)==(i|0)|(l|0)==(f|0)))v_(A,g_(l,n)|0);e=e+1|0}return}function v_(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+4|0;f=a[r>>2]|0;n=A+8|0;i=a[n>>2]|0;do{if((f|0)==(a[A>>2]|0))if(!i){i=$F(400)|0;a[n>>2]=i;a[r>>2]=100;break}else{a[r>>2]=f<<1;i=eV(i,f<<3)|0;a[n>>2]=i;break}}while(0);n=a[A>>2]|0;a[A>>2]=n+1;a[i+(n<<2)>>2]=e;return}function g_(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0.0,t=0.0,s=0.0,w=0,u=0.0,k=0.0,o=0.0;w=qF(8)|0;A=a[A+16>>2]|0;i=+b[A+16>>3];s=+b[A+24>>3];f=+b[A+32>>3];t=+b[A+40>>3];a[w+4>>2]=4;A=qF(64)|0;a[w>>2]=A;if(!(r[e+8>>0]|0)){o=+c[e>>2];k=+c[e+4>>2];n=(f+i)*.5*(o+-1.0);u=(t+s)*.5*(k+-1.0);l=i*o-n;n=f*o-n;f=t*k-u;i=s*k-u}else{n=+c[e>>2];o=+c[e+4>>2];l=i-n;n=f+n;f=t+o;i=s-o}b[A>>3]=l;b[A+8>>3]=i;b[A+16>>3]=l;b[A+24>>3]=f;b[A+32>>3]=n;b[A+40>>3]=f;b[A+48>>3]=n;b[A+56>>3]=i;return w|0}function E_(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;u=k;k=k+160|0;w=u+16|0;c=u+8|0;n=u;b=u+24|0;s=qF(vh(A)|0)|0;l=A+16|0;f=a[a[(a[l>>2]|0)+140>>2]>>2]|0;A:do{if(!f){n=0;f=0}else{o=Vh(A)|0;t=a[46923]|0;a[n>>2]=o;a[n+4>>2]=t;P4(b,94612,n)|0;t=XB(A,b,1)|0;Td(t,137483,280,1)|0;n=qF(56)|0;a[(a[t+16>>2]|0)+140>>2]=n;a[n>>2]=f;a[n+4>>2]=a[(a[(a[l>>2]|0)+140>>2]|0)+4>>2];while(1){n=a[f+4>>2]|0;if(!n){n=t;f=1;break A}if(!(r[s+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0))C_(A,n,t,s);f=f+16|0}}}while(0);l=0;t=cd(A)|0;while(1){if(!t)break;o=a[t+16>>2]|0;if((r[s+(a[o+120>>2]|0)>>0]|0)==0?(r[o+119>>0]|0)==3:0){if(!n){o=Vh(A)|0;n=(a[46923]|0)+f|0;a[c>>2]=o;a[c+4>>2]=n;P4(b,94612,c)|0;n=XB(A,b,1)|0;Td(n,137483,280,1)|0;o=qF(56)|0;a[(a[n+16>>2]|0)+140>>2]=o;f=f+1|0}C_(A,t,n,s);l=1}t=bd(A,t)|0}if(n|0)VE(n)|0;n=cd(A)|0;while(1){if(!n)break;if(!(r[s+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0)){c=Vh(A)|0;o=(a[46923]|0)+f|0;a[w>>2]=c;a[w+4>>2]=o;P4(b,94620,w)|0;o=XB(A,b,1)|0;Td(o,137483,280,1)|0;c=qF(56)|0;a[(a[o+16>>2]|0)+140>>2]=c;C_(A,n,o,s);VE(o)|0;f=f+1|0}n=bd(A,n)|0}L2(s);a[46923]=(a[46923]|0)+f;if(e|0)a[e>>2]=f;if(i|0)a[i>>2]=l;t=qF((f<<2)+4|0)|0;l=t;n=RB(A)|0;while(1){if(!n)break;a[l>>2]=n;l=l+4|0;n=HB(n)|0;f=f+-1|0}if(!f){a[l>>2]=0;k=u;return t|0}else vA(94628,94639,134,94646);return 0}function C_(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;r[f+(a[(a[e+16>>2]|0)+120>>2]|0)>>0]=1;kd(i,e,1)|0;t=Ah(A,e)|0;while(1){if(!t)break;l=a[t>>2]&3;n=a[((l|0)==3?t:t+48|0)+40>>2]|0;if((n|0)==(e|0))n=a[((l|0)==2?t:t+-48|0)+40>>2]|0;if(!(r[f+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0))C_(A,n,i,f);t=eh(A,t,e)|0}return}function I_(A){A=A|0;var e=0;e=$F(24)|0;a[46924]=e;a[e>>2]=jk(18204,a[4581]|0)|0;a[e+16>>2]=0;a[e+12>>2]=0;a[e+4>>2]=Z_(A)|0;return e|0}function Z_(A){A=A|0;var e=0,i=0;e=$F(16)|0;a[e+12>>2]=0;i=$F(A*20|0)|0;a[e>>2]=i;a[e+8>>2]=i+(A*20|0);a[e+4>>2]=i;return e|0}function G_(A,e,i){A=A|0;e=e|0;i=i|0;i=m_(a[46924]|0)|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=0;return i|0}function Q_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(a[e>>2]|0)-(a[i>>2]|0)|0;if(!A)A=(a[e+4>>2]|0)-(a[i+4>>2]|0)|0;return A|0}function m_(A){A=A|0;var e=0,i=0,r=0,f=0;f=A+8|0;A=a[f>>2]|0;e=a[A+4>>2]|0;if((e|0)==(a[A+8>>2]|0)){i=A+12|0;r=a[i>>2]|0;if(!r){A=Z_(((e-(a[A>>2]|0)|0)/20|0)<<1)|0;a[i>>2]=A}else A=r;a[f>>2]=A;e=a[A>>2]|0;a[A+4>>2]=e}a[A+4>>2]=e+20;return e|0}function L_(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+12|0;i=a[f>>2]|0;if((i|0)<(e|0)){r=i<<1;r=(r|0)<(e|0)?e:r;e=A+16|0;i=a[e>>2]|0;if(i|0)L2(i);a[e>>2]=$F(r<<3)|0;a[f>>2]=r}return}function W_(A){A=A|0;var e=0;e=a[A>>2]|0;W5[a[e>>2]&63](e,0,64)|0;a[A+20>>2]=a[A+16>>2];e=a[A+4>>2]|0;a[A+8>>2]=e;a[e+4>>2]=a[e>>2];return}function y_(A){A=A|0;pk(a[A>>2]|0)|0;z_(a[A+4>>2]|0);L2(a[A+16>>2]|0);L2(A);return}function z_(A){A=A|0;var e=0;while(1){if(!A)break;e=a[A+12>>2]|0;L2(a[A>>2]|0);L2(A);A=e}return}function Y_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n;l=n+12|0;a[l>>2]=e;a[l+4>>2]=i;t=a[A>>2]|0;l=(W5[a[t>>2]&63](t,l,1)|0)+8|0;a[l>>2]=D_(A,r,a[l>>2]|0)|0;if(0>2){t=a[15712]|0;l=Vh(r)|0;a[f>>2]=e;a[f+4>>2]=i;a[f+8>>2]=l;f3(t,94656,f)|0}k=n;return}function D_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+20|0;A=a[r>>2]|0;a[r>>2]=A+8;a[A>>2]=e;a[A+4>>2]=i;return A|0}function M_(A,e){A=A|0;e=e|0;$k(a[A>>2]|0,e,A)|0;return}function F_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+32|0;f=r;a[f>>2]=e;a[f+4>>2]=i;i=a[A>>2]|0;i=W5[a[i>>2]&63](i,f,4)|0;k=r;return i|0}function V_(A){A=A|0;L2(a[A+8>>2]|0);L2(A);return}function J_(A){A=A|0;return+ +b[A>>3]}function N_(A){A=A|0;return a[A+8>>2]|0}function X_(A){A=A|0;return~~+b[A+16>>3]|0}function R_(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;e=a[e>>2]|0;if((e|0)>=(a[i>>2]|0)){e=e+10|0;a[i>>2]=e;a[r>>2]=eV(a[r>>2]|0,U(A<<3,e)|0)|0;a[f>>2]=eV(a[f>>2]|0,a[i>>2]<<3)|0;a[n>>2]=eV(a[n>>2]|0,a[i>>2]<<3)|0}return}function H_(A,e,i,r,f,n,l,t,c,s,w){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;w=w|0;var u=0,k=0,o=0,h=0,d=0.0;b[s>>3]=+b[s>>3]+1.0;A:do{if(A|0){h=a[A+16>>2]|0;u=a[A+40>>2]|0;if(u|0)do{R_(h,f,n,l,t,c);if((X_(Zu(u)|0)|0)!=(r|0)){o=N_(Zu(u)|0)|0;k=0;while(1){if((k|0)>=(h|0))break;b[(a[l>>2]|0)+((U(a[f>>2]|0,h)|0)+k<<3)>>3]=+b[o+(k<<3)>>3];k=k+1|0}d=+J_(Zu(u)|0);b[(a[t>>2]|0)+(a[f>>2]<<3)>>3]=d;d=+qs(i,o,h);o=a[f>>2]|0;b[(a[c>>2]|0)+(o<<3)>>3]=d;a[f>>2]=o+1}u=Gu(u)|0}while((u|0)!=0);o=A+36|0;if(a[o>>2]|0){d=+qs(a[A+20>>2]|0,i,h);if(!(+b[A+24>>3]=(k|0))break A;H_(a[(a[o>>2]|0)+(u<<2)>>2]|0,e,i,r,f,n,l,t,c,s,w);u=u+1|0}}R_(h,f,n,l,t,c);k=A+32|0;u=0;while(1){if((u|0)>=(h|0))break;b[(a[l>>2]|0)+((U(a[f>>2]|0,h)|0)+u<<3)>>3]=+b[(a[k>>2]|0)+(u<<3)>>3];u=u+1|0}b[(a[t>>2]|0)+(a[f>>2]<<3)>>3]=+b[A+8>>3];d=+qs(a[k>>2]|0,i,h);t=a[f>>2]|0;b[(a[c>>2]|0)+(t<<3)>>3]=d;a[f>>2]=t+1}}}while(0);return}function p_(A,e,i,r,f,n,l,t,c,s,w){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;w=w|0;var u=0;u=a[A+16>>2]|0;b[s>>3]=0.0;a[f>>2]=0;a[w>>2]=0;a[n>>2]=10;if(!(a[l>>2]|0))a[l>>2]=$F(u*80|0)|0;if(!(a[t>>2]|0))a[t>>2]=$F(a[n>>2]<<3)|0;if(!(a[c>>2]|0))a[c>>2]=$F(a[n>>2]<<3)|0;H_(A,e,i,r,f,n,l,t,c,s,w);return}function U_(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=+n;l=l|0;t=t|0;var c=0,s=0,w=0;w=a[A>>2]|0;s=a[A+16>>2]|0;c=0;while(1){if((c|0)==4)break;b[l+(c<<3)>>3]=0.0;c=c+1|0}a[t>>2]=0;s=U(s,w)|0;c=0;while(1){if((c|0)>=(s|0))break;b[e+(c<<3)>>3]=0.0;c=c+1|0}x_(A,A,i,e,r,f,n,l);T_(A,e,l);r=1.0/+(w|0);c=0;while(1){if((c|0)==4)break;w=l+(c<<3)|0;b[w>>3]=+b[w>>3]*r;c=c+1|0}return}function x_(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=+l;t=t|0;var c=0,s=0.0,w=0,u=0.0,k=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0;A:do{if((A|0)!=0&(e|0)!=0){if((a[A>>2]|0)>0?(a[e>>2]|0)>0:0){C=a[A+16>>2]|0;o=a[A+40>>2]|0;E=e+40|0;k=a[E>>2]|0;c=A+32|0;w=e+32|0;d=+qs(a[c>>2]|0,a[w>>2]|0,C);s=+b[A+24>>3];u=+b[e+24>>3];if(u+s>3]=+b[t>>3]+1.0;h=a[c>>2]|0;u=+b[A+8>>3];o=j_(A,C)|0;k=a[w>>2]|0;s=+b[e+8>>3];w=j_(e,C)|0;if(!(d>0.0))vA(94798,94681,191,94764);u=u*l*s;s=+Y(+d,+(1.0-n));s=1.0/(n==-1.0?d*d:s);c=0;while(1){if((c|0)>=(C|0))break A;l=u*(+b[h+(c<<3)>>3]-+b[k+(c<<3)>>3])*s;r=o+(c<<3)|0;b[r>>3]=l+ +b[r>>3];r=w+(c<<3)|0;b[r>>3]=+b[r>>3]-l;c=c+1|0}}w=(o|0)!=0;c=(k|0)!=0;g=(A|0)==(e|0);if(w&c){B=t+8|0;v=n==-1.0;f=1.0-n;w=o;while(1){if(!w)break A;o=N_(Zu(w)|0)|0;d=+J_(Zu(w)|0);h=X_(Zu(w)|0)|0;A=S_(r,h,w,C)|0;d=d*l;k=a[E>>2]|0;while(1){if(!k)break;e=N_(Zu(k)|0)|0;s=+J_(Zu(k)|0);c=X_(Zu(k)|0)|0;t=S_(r,c,k,C)|0;e:do{if(!((h|0)==(c|0)|g&(c|0)<(h|0))){b[B>>3]=+b[B>>3]+1.0;n=+Ks(i,C,h,c);s=d*s;u=+Y(+n,+f);u=1.0/(v?n*n:u);c=0;while(1){if((c|0)>=(C|0))break e;n=s*(+b[o+(c<<3)>>3]-+b[e+(c<<3)>>3])*u;I=A+(c<<3)|0;b[I>>3]=n+ +b[I>>3];I=t+(c<<3)|0;b[I>>3]=+b[I>>3]-n;c=c+1|0}}}while(0);k=Gu(k)|0}w=Gu(w)|0}}if(g){h=1<=(h|0))break A;o=a[(a[k>>2]|0)+(w<<2)>>2]|0;c=w;while(1){if((c|0)==(h|0))break;x_(o,a[(a[k>>2]|0)+(c<<2)>>2]|0,i,r,f,n,l,t);c=c+1|0}w=w+1|0}}if(!(w|!(s>u))){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,e,i,r,f,n,l,t);c=c+1|0}}if(!(c|!(u>s))){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,A,i,r,f,n,l,t);c=c+1|0}}if(!w){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,e,i,r,f,n,l,t);c=c+1|0}}if(c)vA(138394,94681,273,94764);k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,A,i,r,f,n,l,t);c=c+1|0}}vA(94739,94681,175,94764)}}while(0);return}function T_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0;r=a[A+40>>2]|0;w=a[A+16>>2]|0;n=+b[A+8>>3];u=j_(A,w)|0;if(!(n>0.0))vA(94673,94681,289,94692);s=i+16|0;b[s>>3]=+b[s>>3]+1.0;A:do{if(!r){s=1<=(s|0))break A;f=a[(a[c>>2]|0)+(A<<2)>>2]|0;if(f|0){if((a[f>>2]|0)<=0)break;t=j_(f,w)|0;l=+b[f+8>>3]*n;r=0;while(1){if((r|0)>=(w|0))break;k=t+(r<<3)|0;b[k>>3]=+b[k>>3]+ +b[u+(r<<3)>>3]*l;r=r+1|0}T_(f,e,i)}A=A+1|0}vA(94728,94681,307,94692)}else{l=1.0/n;while(1){if(!r)break A;f=S_(e,X_(Zu(r)|0)|0,r,w)|0;n=+J_(Zu(r)|0)*l;A=0;while(1){if((A|0)>=(w|0))break;k=f+(A<<3)|0;b[k>>3]=+b[k>>3]+ +b[u+(A<<3)>>3]*n;A=A+1|0}r=Gu(r)|0}}}while(0);return}function j_(A,e){A=A|0;e=e|0;var i=0;i=A+48|0;A=a[i>>2]|0;A:do{if(!A){A=$F(e<<3)|0;a[i>>2]=A;i=0;while(1){if((i|0)>=(e|0))break A;b[A+(i<<3)>>3]=0.0;i=i+1|0}}}while(0);return A|0}function S_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=a[(Zu(i)|0)+24>>2]|0;if(!f){f=A+((U(r,e)|0)<<3)|0;a[(Zu(i)|0)+24>>2]=f;f=a[(Zu(i)|0)+24>>2]|0}return f|0}function P_(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0;w=A<<3;c=$F(w)|0;s=$F(w)|0;w=$F(w)|0;if((c|0)!=0&(s|0)!=0&(w|0)!=0){a=0;while(1){if((a|0)>=(A|0)){a=0;break}b[c+(a<<3)>>3]=+b[r+(a<<3)>>3];a=a+1|0}while(1){if((a|0)>=(A|0)){n=1;break}b[s+(a<<3)>>3]=+b[r+(a<<3)>>3];a=a+1|0}while(1){if((n|0)>=(e|0))break;t=U(n,A)|0;a=0;while(1){if((a|0)>=(A|0))break;u=c+(a<<3)|0;l=+b[u>>3];o=r+(a+t<<3)|0;k=+b[o>>3];b[u>>3]=l>3];l=+b[o>>3];b[u>>3]=k>l?k:l;a=a+1|0}n=n+1|0}l=+b[s>>3]-+b[c>>3];a=0;while(1){if((a|0)>=(A|0))break;o=c+(a<<3)|0;u=s+(a<<3)|0;b[w+(a<<3)>>3]=(+b[u>>3]+ +b[o>>3])*.5;k=+b[u>>3]-+b[o>>3];l=l>k?l:k;a=a+1|0}a=O_(A,w,l==0.0?5.2e-06:l*.52,i)|0;A:do{if(!f){n=0;while(1){if((n|0)>=(e|0))break A;a=K_(a,r+((U(n,A)|0)<<3)|0,1.0,n)|0;n=n+1|0}}else{n=0;while(1){if((n|0)>=(e|0))break A;o=r+((U(n,A)|0)<<3)|0;a=K_(a,o,+b[f+(n<<3)>>3],n)|0;n=n+1|0}}}while(0);L2(c);L2(s);L2(w)}else{L2(c);L2(s);L2(w);a=0}return a|0}function O_(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0,n=0,l=0;n=$F(56)|0;a[n+16>>2]=A;a[n>>2]=0;l=$F(A<<3)|0;a[n+20>>2]=l;f=0;while(1){if((f|0)>=(A|0))break;b[l+(f<<3)>>3]=+b[e+(f<<3)>>3];f=f+1|0}if(i>0.0){b[n+24>>3]=i;b[n+8>>3]=0.0;a[n+32>>2]=0;a[n+36>>2]=0;a[n+40>>2]=0;a[n+44>>2]=r;a[n+48>>2]=0;return n|0}else vA(94896,94681,410,94906);return 0}function K_(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;if(!A)A=0;else __(A,e,i,r,0)|0;return A|0}function __(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;v=A+16|0;d=a[v>>2]|0;B=a[A+44>>2]|0;w=a[A>>2]|0;do{if(!w){a[A>>2]=1;b[A+8>>3]=i;t=$F(d<<3)|0;a[A+32>>2]=t;l=a[v>>2]|0;n=0;while(1){if((n|0)>=(l|0))break;b[t+(n<<3)>>3]=+b[e+(n<<3)>>3];n=n+1|0}n=q_(l,i,e,r)|0;l=A+40|0;if(!(a[l>>2]|0)){a[l>>2]=Eu(n)|0;break}else vA(94807,94681,502,94815)}else{if((B|0)<=(f|0)){if(a[A+36>>2]|0)vA(94881,94681,541,94815);n=w+1|0;a[A>>2]=n;l=A+8|0;b[l>>3]=+b[l>>3]+i;l=A+32|0;c=+(n|0);s=1.0/+(w+2|0);n=0;while(1){if((n|0)>=(d|0))break;h=(a[l>>2]|0)+(n<<3)|0;b[h>>3]=(+b[h>>3]*c+ +b[e+(n<<3)>>3])*s;n=n+1|0}n=q_(d,i,e,r)|0;l=A+40|0;t=a[l>>2]|0;if(!t)vA(94891,94681,547,94815);else{a[l>>2]=Iu(t,n)|0;break}}l=A+8|0;b[l>>3]=+b[l>>3]+i;l=A+32|0;s=+(w|0);c=1.0/+(w+1|0);n=0;while(1){if((n|0)>=(d|0))break;h=(a[l>>2]|0)+(n<<3)|0;b[h>>3]=(+b[h>>3]*s+ +b[e+(n<<3)>>3])*c;n=n+1|0}h=A+36|0;o=1<>2]|0)){a[h>>2]=$F(o<<2)|0;n=0;while(1){if((n|0)>=(o|0))break A;a[(a[h>>2]|0)+(n<<2)>>2]=0;n=n+1|0}}}while(0);u=A+20|0;n=a[u>>2]|0;t=$_(d,n,e)|0;if(!((t|0)<(o|0)&(t|0)>-1))vA(94837,94681,515,94815);l=a[(a[h>>2]|0)+(t<<2)>>2]|0;if(!l){l=Aq(a[v>>2]|0,n,+b[A+24>>3]*.5,B,t)|0;a[(a[h>>2]|0)+(t<<2)>>2]=l;l=a[(a[h>>2]|0)+(t<<2)>>2]|0}k=f+1|0;r=__(l,e,i,r,k)|0;a[(a[h>>2]|0)+(t<<2)>>2]=r;if(!(a[(a[h>>2]|0)+(t<<2)>>2]|0))vA(94860,94681,519,94815);e=A+40|0;n=a[e>>2]|0;do{if(n|0){w=X_(Zu(n)|0)|0;if((a[A>>2]|0)!=1)vA(94871,94681,523,94815);f=N_(Zu(a[e>>2]|0)|0)|0;c=+J_(Zu(a[e>>2]|0)|0);l=a[u>>2]|0;t=$_(d,l,f)|0;if(!((t|0)<(o|0)&(t|0)>-1))vA(94837,94681,527,94815);n=a[(a[h>>2]|0)+(t<<2)>>2]|0;if(!n){n=Aq(a[v>>2]|0,l,+b[A+24>>3]*.5,B,t)|0;a[(a[h>>2]|0)+(t<<2)>>2]=n;n=a[(a[h>>2]|0)+(t<<2)>>2]|0}v=__(n,f,c,w,k)|0;a[(a[h>>2]|0)+(t<<2)>>2]=v;if(!(a[(a[h>>2]|0)+(t<<2)>>2]|0))vA(94860,94681,532,94815);else{Cu(a[e>>2]|0,106);a[e>>2]=0;break}}}while(0);a[A>>2]=(a[A>>2]|0)+1}}while(0);return A|0}function q_(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0,n=0;n=$F(32)|0;b[n>>3]=e;f=$F(A<<3)|0;a[n+8>>2]=f;b[n+16>>3]=+(r|0);r=0;while(1){if((r|0)>=(A|0))break;b[f+(r<<3)>>3]=+b[i+(r<<3)>>3];r=r+1|0}a[n+24>>2]=0;return n|0}function $_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=0;while(1){r=A+-1|0;if((A|0)<=0)break;A=r;f=f<<1|!(+b[i+(r<<3)>>3]-+b[e+(r<<3)>>3]<0.0)&1}return f|0}function Aq(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0.0;n=O_(A,e,i,r)|0;l=a[n+20>>2]|0;t=-i;r=0;e=f;while(1){if((r|0)>=(A|0))break;f=l+(r<<3)|0;b[f>>3]=+b[f>>3]+((e&1|0)==0?t:i);r=r+1|0;e=(e|0)/2|0}return n|0}function eq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(A|0){e=a[A+16>>2]|0;L2(a[A+20>>2]|0);L2(a[A+32>>2]|0);L2(a[A+48>>2]|0);n=A+36|0;r=a[n>>2]|0;if(r|0){f=1<=(f|0))break;eq(a[e+(i<<2)>>2]|0);i=i+1|0;e=a[n>>2]|0}L2(e)}Cu(a[A+40>>2]|0,106);L2(A)}return}function iq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0,d=0,B=0,v=0;A:do{if(!A)e=0;else{s=a[A+20>>2]|0;w=a[A+24>>2]|0;i=a[A+8>>2]|0;u=a[A>>2]|0;r=a[A+4>>2]|0;l=A+16|0;if((a[A+32>>2]|0)!=1)vA(94919,94943,76,94958);e=fq(r,u,i,a[l>>2]|0,1)|0;a[e+8>>2]=i;k=a[e+20>>2]|0;c=a[e+24>>2]|0;i=0;while(1){if((i|0)>(r|0)){i=0;break}a[k+(i<<2)>>2]=0;i=i+1|0}e:while(1){if((i|0)>=(u|0)){i=0;break}f=i+1|0;n=s+(f<<2)|0;i=a[s+(i<<2)>>2]|0;while(1){if((i|0)>=(a[n>>2]|0)){i=f;continue e}t=k+((a[w+(i<<2)>>2]|0)+1<<2)|0;a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}while(1){if((i|0)>=(r|0))break;t=i+1|0;n=k+(t<<2)|0;a[n>>2]=(a[n>>2]|0)+(a[k+(i<<2)>>2]|0);i=t}e:do{switch(a[l>>2]|0){case 1:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;h=+b[n+(i<<3)>>3];d=k+(a[d>>2]<<2)|0;o=a[d>>2]|0;a[d>>2]=o+1;b[A+(o<<3)>>3]=h;i=i+1|0}}}case 2:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;v=i<<1;d=k+(a[d>>2]<<2)|0;o=a[d>>2]|0;B=o<<1;b[A+(B<<3)>>3]=+b[n+(v<<3)>>3];b[A+((B|1)<<3)>>3]=+b[n+((v|1)<<3)>>3];a[d>>2]=o+1;i=i+1|0}}}case 4:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;B=a[n+(i<<2)>>2]|0;d=k+(a[d>>2]<<2)|0;v=a[d>>2]|0;a[d>>2]=v+1;a[A+(v<<2)>>2]=B;i=i+1|0}}}case 8:{f=0;i:while(1){if((f|0)>=(u|0))break e;n=f+1|0;A=s+(n<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[A>>2]|0)){f=n;continue i}B=k+(a[w+(i<<2)>>2]<<2)|0;v=a[B>>2]|0;a[B>>2]=v+1;a[c+(v<<2)>>2]=f;i=i+1|0}}}case 16:{rq(e);e=0;break A}default:{rq(e);e=0;break A}}}while(0);while(1){i=r+-1|0;if((r|0)<=0)break;a[k+(r<<2)>>2]=a[k+(i<<2)>>2];r=i}a[k>>2]=0}}while(0);return e|0}function rq(A){A=A|0;var e=0;if(A|0){e=a[A+20>>2]|0;if(e|0)L2(e);e=a[A+24>>2]|0;if(e|0)L2(e);L2(a[A+28>>2]|0);L2(A)}return}function fq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;A=nq(A,e,r,aq(r)|0,f)|0;if((i|0)>0)lq(A,i)|0;return A|0}function aq(A){A=A|0;switch(A|0){case 1:{A=8;break}case 2:{A=16;break}case 4:{A=4;break}case 8:{A=0;break}case 16:{A=0;break}default:A=0}return A|0}function nq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=$F(44)|0;a[n>>2]=A;a[n+4>>2]=e;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=i;a[n+40>>2]=r;if((f|0)==2)A=0;else A=$F((A<<2)+4|0)|0;a[n+20>>2]=A;a[n+24>>2]=0;a[n+28>>2]=0;a[n+32>>2]=f;a[n+36>>2]=0;return n|0}function lq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=a[A+32>>2]|0;f=A+28|0;a[f>>2]=0;i=e<<2;r=$F(i)|0;if((l|0)!=2){a[A+24>>2]=r;i=a[A+40>>2]|0;if((e|0)!=0&(i|0)>0)n=4}else{a[A+20>>2]=r;a[A+24>>2]=$F(i)|0;i=a[A+40>>2]|0;n=4}if((n|0)==4)a[f>>2]=$F(U(i,e)|0)|0;a[A+12>>2]=e;return A|0}function tq(A,e){A=A|0;e=e|0;if(!(cq(A,e)|0)){e=iq(A)|0;if(!e)e=0;else{A=sq(A,e)|0;rq(e);e=A+36|0;a[e>>2]=a[e>>2]|3;e=A}}else e=bq(A)|0;return e|0}function cq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0.0;if(A){if((a[A+32>>2]|0)!=1)vA(94919,94943,187,95074);B=A+36|0;i=a[B>>2]|0;if((i&2|0)==0?(o=(e|0)!=0,(i&1|0)==0|o^1):0)if((a[A>>2]|0)==(a[A+4>>2]|0)?(v=iq(A)|0,(v|0)!=0):0){c=a[A+20>>2]|0;s=a[A+24>>2]|0;w=a[v+20>>2]|0;u=a[v+24>>2]|0;k=a[A>>2]|0;h=$F(k<<2)|0;e=0;while(1){if((e|0)>=(k|0))break;a[h+(e<<2)>>2]=-1;e=e+1|0}A:do{switch((o?8:a[A+16>>2]|0)|0){case 1:{n=a[A+28>>2]|0;l=a[v+28>>2]|0;e=0;while(1){if((e|0)>(k|0)){i=0;break}if((a[c+(e<<2)>>2]|0)==(a[w+(e<<2)>>2]|0))e=e+1|0;else{e=0;break A}}e:while(1){if((i|0)>=(k|0)){d=54;break A}r=c+(i<<2)|0;f=i+1|0;A=c+(f<<2)|0;e=a[r>>2]|0;while(1){if((e|0)>=(a[A>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}e=a[w+(i<<2)>>2]|0;A=a[w+(f<<2)>>2]|0;i=e;while(1){if((i|0)>=(A|0))break;if((a[h+(a[u+(i<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else i=i+1|0}while(1){if((e|0)>=(A|0)){i=f;continue e}g=+b[l+(e<<3)>>3]-+b[n+(a[h+(a[u+(e<<2)>>2]<<2)>>2]<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}else e=e+1|0}}}case 2:{l=a[A+28>>2]|0;t=a[v+28>>2]|0;e=0;while(1){if((e|0)>(k|0)){i=0;break}if((a[c+(e<<2)>>2]|0)==(a[w+(e<<2)>>2]|0))e=e+1|0;else{e=0;break A}}e:while(1){if((i|0)>=(k|0)){d=54;break A}f=c+(i<<2)|0;n=i+1|0;A=c+(n<<2)|0;e=a[f>>2]|0;while(1){if((e|0)>=(a[A>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}i=a[w+(i<<2)>>2]|0;r=a[w+(n<<2)>>2]|0;e=i;while(1){if((e|0)>=(r|0)){e=i;break}if((a[h+(a[u+(e<<2)>>2]<<2)>>2]|0)<(a[f>>2]|0)){e=0;break A}else e=e+1|0}while(1){if((e|0)>=(r|0)){i=n;continue e}i=e<<1;A=a[h+(a[u+(e<<2)>>2]<<2)>>2]<<1;g=+b[t+(i<<3)>>3]-+b[l+(A<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}g=+b[t+((i|1)<<3)>>3]-+b[l+((A|1)<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}else e=e+1|0}}}case 4:{f=a[A+28>>2]|0;n=a[v+28>>2]|0;e=0;e:while(1){if((e|0)>=(k|0)){d=54;break A}r=c+(e<<2)|0;l=e+1|0;A=c+(l<<2)|0;i=a[r>>2]|0;while(1){if((i|0)>=(a[A>>2]|0))break;a[h+(a[s+(i<<2)>>2]<<2)>>2]=i;i=i+1|0}e=a[w+(e<<2)>>2]|0;A=a[w+(l<<2)>>2]|0;i=e;while(1){if((i|0)>=(A|0))break;if((a[h+(a[u+(i<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else i=i+1|0}while(1){if((e|0)>=(A|0)){e=l;continue e}if((a[n+(e<<2)>>2]|0)==(a[f+(a[h+(a[u+(e<<2)>>2]<<2)>>2]<<2)>>2]|0))e=e+1|0;else{e=0;break A}}}}case 8:{A=0;e:while(1){if((A|0)>=(k|0)){d=54;break A}r=c+(A<<2)|0;f=A+1|0;i=c+(f<<2)|0;e=a[r>>2]|0;while(1){if((e|0)>=(a[i>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}i=a[w+(f<<2)>>2]|0;e=a[w+(A<<2)>>2]|0;while(1){if((e|0)>=(i|0)){A=f;continue e}if((a[h+(a[u+(e<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else e=e+1|0}}}default:e=0}}while(0);if((d|0)==54){i=a[B>>2]|0;if(o)e=1;else{a[B>>2]=i|2;e=3}a[B>>2]=e|i;e=1}L2(h);rq(v)}else e=0;else e=1}else e=0;return e|0}function bq(A){A=A|0;var e=0,i=0,r=0,f=0;if(!A)e=0;else{r=A+8|0;f=A+40|0;e=wq(a[A>>2]|0,a[A+4>>2]|0,a[r>>2]|0,a[A+16>>2]|0,a[f>>2]|0,a[A+32>>2]|0)|0;i=A+20|0;y6(a[e+20>>2]|0,a[i>>2]|0,(a[A>>2]<<2)+4|0)|0;y6(a[e+24>>2]|0,a[A+24>>2]|0,a[(a[i>>2]|0)+(a[A>>2]<<2)>>2]<<2|0)|0;i=a[A+28>>2]|0;if(i|0)y6(a[e+28>>2]|0,i|0,U(a[r>>2]|0,a[f>>2]|0)|0)|0;a[e+36>>2]=a[A+36>>2];a[e+8>>2]=a[r>>2]}return e|0}function sq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;o=a[A+20>>2]|0;d=a[A+24>>2]|0;B=a[e+20>>2]|0;v=a[e+24>>2]|0;if(!((A|0)!=0&(e|0)!=0))vA(94981,94943,973,94988);h=a[A+32>>2]|0;if(!((h|0)==1?(h|0)==(a[e+32>>2]|0):0))vA(95005,94943,974,94988);r=A+16|0;i=a[r>>2]|0;if((i|0)!=(a[e+16>>2]|0))vA(95055,94943,975,94988);k=a[A>>2]|0;f=a[A+4>>2]|0;if(((k|0)==(a[e>>2]|0)?(f|0)==(a[e+4>>2]|0):0)?(g=fq(k,f,(a[e+8>>2]|0)+(a[A+8>>2]|0)|0,i,1)|0,g|0):0){w=a[g+20>>2]|0;u=a[g+24>>2]|0;h=$F(f<<2)|0;i=0;while(1){if((i|0)>=(f|0))break;a[h+(i<<2)>>2]=-1;i=i+1|0}a[w>>2]=0;A:do{switch(a[r>>2]|0){case 1:{s=a[A+28>>2]|0;l=a[e+28>>2]|0;t=a[g+28>>2]|0;i=0;f=0;while(1){if((f|0)>=(k|0))break A;c=f+1|0;r=o+(c<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;n=d+(A<<2)|0;a[h+(a[n>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[n>>2];b[t+(i<<3)>>3]=+b[s+(A<<3)>>3];A=A+1|0;i=i+1|0}e=B+(c<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;b[t+(i<<3)>>3]=+b[l+(f<<3)>>3];i=i+1|0}else{r=t+(r<<3)|0;b[r>>3]=+b[r>>3]+ +b[l+(f<<3)>>3]}f=f+1|0}a[w+(c<<2)>>2]=i;f=c}}case 2:{s=a[A+28>>2]|0;c=a[e+28>>2]|0;l=a[g+28>>2]|0;f=0;i=0;while(1){if((f|0)>=(k|0))break A;t=f+1|0;r=o+(t<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;e=d+(A<<2)|0;a[h+(a[e>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[e>>2];e=A<<1;n=i<<1;b[l+(n<<3)>>3]=+b[s+(e<<3)>>3];b[l+((n|1)<<3)>>3]=+b[s+((e|1)<<3)>>3];A=A+1|0;i=i+1|0}e=B+(t<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;A=f<<1;r=i<<1;b[l+(r<<3)>>3]=+b[c+(A<<3)>>3];b[l+((r|1)<<3)>>3]=+b[c+((A|1)<<3)>>3];i=i+1|0}else{A=f<<1;r=r<<1;E=l+(r<<3)|0;b[E>>3]=+b[E>>3]+ +b[c+(A<<3)>>3];r=l+((r|1)<<3)|0;b[r>>3]=+b[r>>3]+ +b[c+((A|1)<<3)>>3]}f=f+1|0}a[w+(t<<2)>>2]=i;f=t}}case 4:{s=a[A+28>>2]|0;l=a[e+28>>2]|0;t=a[g+28>>2]|0;f=0;i=0;while(1){if((f|0)>=(k|0))break A;c=f+1|0;r=o+(c<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;E=d+(A<<2)|0;a[h+(a[E>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[E>>2];a[t+(i<<2)>>2]=a[s+(A<<2)>>2];A=A+1|0;i=i+1|0}e=B+(c<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;a[t+(i<<2)>>2]=a[l+(f<<2)>>2];i=i+1|0}else{E=t+(r<<2)|0;a[E>>2]=(a[E>>2]|0)+(a[l+(f<<2)>>2]|0)}f=f+1|0}a[w+(c<<2)>>2]=i;f=c}}case 8:{i=0;f=0;while(1){if((f|0)>=(k|0))break A;l=f+1|0;r=o+(l<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;E=d+(A<<2)|0;a[h+(a[E>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[E>>2];i=i+1|0;A=A+1|0}e=B+(l<<2)|0;n=w+(f<<2)|0;r=a[B+(f<<2)>>2]|0;while(1){if((r|0)>=(a[e>>2]|0))break;A=a[v+(r<<2)>>2]|0;if((a[h+(A<<2)>>2]|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;i=i+1|0}r=r+1|0}a[w+(l<<2)>>2]=i;f=l}}default:i=0}}while(0);a[g+8>>2]=i;L2(h);return g|0}return 0}function wq(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;A=nq(A,e,r,f,a)|0;if((i|0)>0)lq(A,i)|0;return A|0}function uq(A,e){A=A|0;e=e|0;var i=0;if(!(cq(A,e)|0)){e=iq(A)|0;if(!e)e=0;else{i=sq(A,e)|0;rq(e);e=i+36|0;a[e>>2]=a[e>>2]|3;e=i;i=5}}else{e=bq(A)|0;i=5}if((i|0)==5)e=kq(e)|0;return e|0}function kq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;A:do{if(!A)A=0;else{c=a[A+20>>2]|0;s=a[A+24>>2]|0;i=a[c>>2]|0;e:do{switch(a[A+16>>2]|0){case 1:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;b[t+(e<<3)>>3]=+b[t+(i<<3)>>3];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 2:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;w=i<<1;r=e<<1;b[t+(r<<3)>>3]=+b[t+(w<<3)>>3];b[t+((r|1)<<3)>>3]=+b[t+((w|1)<<3)>>3];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 4:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;a[t+(e<<2)>>2]=a[t+(i<<2)>>2];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 8:{l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}default:{A=0;break A}}}while(0);a[A+8>>2]=e}}while(0);return A|0}function oq(A){A=A|0;if((a[A+32>>2]|0)==2)return hq(a[A+8>>2]|0,a[A>>2]|0,a[A+4>>2]|0,a[A+20>>2]|0,a[A+24>>2]|0,a[A+28>>2]|0,a[A+16>>2]|0,a[A+40>>2]|0)|0;else vA(95100,94943,803,95126);return 0}function hq(A,e,i,r,f,a,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;return Ws(A,e,i,r,f,a,n,l,1)|0}function dq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=A+72|0;b=A+352|0;s=A+356|0;w=A+360|0;t=0;A:while(1){l=i-e|0;if((l|0)<=0){i=-1;break}switch(r[c+(n[e>>0]|0)>>0]|0){case 8:case 1:case 0:{u=16;break A}case 5:{if((l|0)<2){i=-2;break A}if(m5[a[b>>2]&127](A,e)|0){u=6;break A}l=t;e=e+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}if(m5[a[s>>2]&127](A,e)|0){u=10;break A}l=t;e=e+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}if(m5[a[w>>2]&127](A,e)|0){u=14;break A}l=t;e=e+4|0;t=l;continue A}case 2:{l=e+1|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=33){k=t;e=l;t=k;continue A}l=e+2|0;if((i-l|0)<=0){i=-1;break A}k=(r[l>>0]|0)==91;t=t+(k&1)|0;e=k?e+3|0:l;continue A}case 4:{l=e+1|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=93){k=t;e=l;t=k;continue A}l=e+2|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=62){k=t;e=l;t=k;continue A}e=e+3|0;if(!t){u=26;break A}t=t+-1|0;continue A}default:{k=t;e=e+1|0;t=k;continue A}}}if((u|0)==6){a[f>>2]=e;i=0}else if((u|0)==10){a[f>>2]=e;i=0}else if((u|0)==14){a[f>>2]=e;i=0}else if((u|0)==16){a[f>>2]=e;i=0}else if((u|0)==26){a[f>>2]=e;i=42}return i|0}function Bq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>0){s=A+72|0;t=e;A:while(1){if((b-t|0)<=0){c=24;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 3:{c=8;break A}case 2:{c=11;break A}case 10:{c=12;break A}case 9:{c=15;break A}case 21:{c=19;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=1}t=t+l|0}if((c|0)==8)if((t|0)==(e|0)){l=yq(A,e+1|0,i,f)|0;break}else{a[f>>2]=t;l=6;break}else if((c|0)==11){a[f>>2]=t;l=0;break}else if((c|0)==12)if((t|0)==(e|0)){a[f>>2]=e+1;l=7;break}else{a[f>>2]=t;l=6;break}else if((c|0)==15){if((t|0)!=(e|0)){a[f>>2]=t;l=6;break}l=e+1|0;if((b-l|0)<=0){l=-3;break}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break}else if((c|0)==19)if((t|0)==(e|0)){a[f>>2]=e+1;l=39;break}else{a[f>>2]=t;l=6;break}else if((c|0)==24){a[f>>2]=t;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function vq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>0){s=A+72|0;t=e;A:while(1){if((b-t|0)<=0){c=23;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 3:{c=8;break A}case 30:{c=11;break A}case 10:{c=14;break A}case 9:{c=17;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=1}t=t+l|0}if((c|0)==8)if((t|0)==(e|0)){l=yq(A,e+1|0,i,f)|0;break}else{a[f>>2]=t;l=6;break}else if((c|0)==11)if((t|0)==(e|0)){l=zq(A,e+1|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=t;l=6;break}else if((c|0)==14)if((t|0)==(e|0)){a[f>>2]=e+1;l=7;break}else{a[f>>2]=t;l=6;break}else if((c|0)==17){if((t|0)!=(e|0)){a[f>>2]=t;l=6;break}l=e+1|0;if((b-l|0)<=0){l=-3;break}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break}else if((c|0)==23){a[f>>2]=t;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function gq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=6;break}if((a-A|0)<1){A=0;break}if((r[A>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+1|0}if((n|0)==6)A=(A|0)==(i|0)&1;return A|0}function Eq(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A=e;A:while(1){switch(r[f+(n[A>>0]|0)>>0]|0){case 5:{i=2;break}case 6:{i=3;break}case 7:{i=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{i=1;break}default:break A}A=A+i|0}return A-e|0}function Cq(A,e){A=A|0;e=e|0;A=A+72|0;A:while(1){switch(r[A+(n[e>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break A}e=e+1|0}return e|0}function Iq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;s=A+72|0;c=0;b=0;A=1;A:while(1){l=e+1|0;t=r[l>>0]|0;do{switch(r[s+(t&255)>>0]|0){case 5:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+2|0;b=l;c=t;continue A}case 6:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+3|0;b=l;c=t;continue A}case 7:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+4|0;b=l;c=t;continue A}case 24:case 22:case 29:{if(A|0){k=A;u=b;t=c;e=l;A=k;b=u;c=t;continue A}if((b|0)>=(i|0)){u=b;k=c;A=1;e=l;b=u;c=k;continue A}a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;u=b;k=c;A=1;e=l;b=u;c=k;continue A}case 12:{if((A|0)!=2){if((b|0)>=(i|0)){k=b;c=12;A=2;e=l;b=k;continue A}a[f+(b<<4)+4>>2]=e+2;k=b;c=12;A=2;e=l;b=k;continue A}if((c|0)!=12){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if((b|0)<(i|0))a[f+(b<<4)+8>>2]=l;c=12;b=b+1|0;A=0;e=l;continue A}case 13:{if((A|0)!=2){if((b|0)>=(i|0)){k=b;c=13;A=2;e=l;b=k;continue A}a[f+(b<<4)+4>>2]=e+2;k=b;c=13;A=2;e=l;b=k;continue A}if((c|0)!=13){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if((b|0)<(i|0))a[f+(b<<4)+8>>2]=l;c=13;b=b+1|0;A=0;e=l;continue A}case 3:{if((b|0)>=(i|0)){t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}r[f+(b<<4)+12>>0]=0;t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}case 21:{switch(A|0){case 1:{u=b;k=c;A=0;e=l;b=u;c=k;continue A}case 2:break;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}if((b|0)>=(i|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}A=f+(b<<4)+12|0;if(!(r[A>>0]|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if(((t<<24>>24==32?(l|0)!=(a[f+(b<<4)+4>>2]|0):0)?(w=r[e+2>>0]|0,w<<24>>24!=32):0)?(c|0)!=(n[s+(w&255)>>0]|0):0){u=b;k=c;A=2;e=l;b=u;c=k;continue A}r[A>>0]=0;u=b;k=c;A=2;e=l;b=u;c=k;continue A}case 10:case 9:{switch(A|0){case 1:{u=b;k=c;A=0;e=l;b=u;c=k;continue A}case 2:break;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}if((b|0)>=(i|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}r[f+(b<<4)+12>>0]=0;u=b;k=c;A=2;e=l;b=u;c=k;continue A}case 17:case 11:if((A|0)==2){u=b;k=c;A=2;e=l;b=u;c=k;continue A}else break A;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}}while(0)}return b|0}function Zq(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+2|0;i=r[A>>0]|0;A:do{if(i<<24>>24==120){i=e+3|0;A=0;while(1){e:while(1){f=r[i>>0]|0;e=f<<24>>24;if(f<<24>>24==59){f=14;break A}switch(e|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=7;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=8;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=9;break e}default:{}}i=i+1|0}if((f|0)==7){f=0;A=e+-48|A<<4}else if((f|0)==8){f=0;A=(A<<4)+-55+e|0}else if((f|0)==9){f=0;A=(A<<4)+-87+e|0}if((A|0)<1114112)i=i+1|0;else{A=-1;break}}}else{e=A;A=0;while(1){if(i<<24>>24==59){f=14;break A}A=(i<<24>>24)+-48+(A*10|0)|0;if((A|0)>=1114112){A=-1;break A}i=e+1|0;e=i;i=r[i>>0]|0}}}while(0);if((f|0)==14)A=gs(A)|0;return A|0}function Gq(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch(i-e|0){case 2:{if((r[e+1>>0]|0)==116){A=r[e>>0]|0;A=A<<24>>24==108?60:A<<24>>24==103?62:0}else f=14;break}case 3:{if(((r[e>>0]|0)==97?(r[e+1>>0]|0)==109:0)?(r[e+2>>0]|0)==112:0)A=38;else f=14;break}case 4:switch(r[e>>0]|0){case 113:{if((r[e+1>>0]|0)!=117){f=14;break A}if((r[e+2>>0]|0)!=111){f=14;break A}if((r[e+3>>0]|0)==116){A=34;break A}else{f=14;break A}}case 97:{if((r[e+1>>0]|0)!=112){f=14;break A}if((r[e+2>>0]|0)!=111){f=14;break A}if((r[e+3>>0]|0)==115){A=39;break A}else{f=14;break A}}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14)A=0;return A|0}function Qq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0;l=A+72|0;t=f+4|0;while(1){if((i-e|0)<=0)break;switch(r[l+(n[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:{a[t>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+1|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;A=e+1|0;if((i-A|0)>0)e=(r[l+(n[A>>0]|0)>>0]|0)==10?e+2|0:A;else e=A;a[t>>2]=-1;break}default:e=e+1|0}a[t>>2]=(a[t>>2]|0)+1}return}function mq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=i+-1|0;A=A+72|0;A:while(1){e=e+1|0;if((n-e|0)<=0){e=1;break}i=r[e>>0]|0;switch(r[A+(i&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(i<<24>>24==9){l=7;break A}else continue A;case 22:case 26:{if(i<<24>>24>=0)continue A;break}default:{}}switch(i<<24>>24|0){case 64:case 36:break;default:{l=7;break A}}}if((l|0)==7){a[f>>2]=e;e=0}return e|0}function Lq(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0;t=l;while(1){c=a[e>>2]|0;if((c|0)==(i|0)){A=0;break}b=n[c>>0]|0;A=a[f>>2]|0;if(!(b&128)){if((A|0)==(l|0)){A=2;break}a[e>>2]=c+1;c=r[c>>0]|0;b=a[f>>2]|0;a[f>>2]=b+1;r[b>>0]=c;continue}else{if((t-A|0)<2){A=2;break}a[f>>2]=A+1;r[A>>0]=b>>>6|192;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=b&63|128;a[e>>2]=(a[e>>2]|0)+1;continue}}return A|0}function Wq(A,e,i,r,l){A=A|0;e=e|0;i=i|0;r=r|0;l=l|0;var t=0,c=0;while(1){A=a[e>>2]|0;t=A>>>0>>0;c=a[r>>2]|0;if(!(t&c>>>0>>0))break;a[e>>2]=A+1;t=n[A>>0]|0;c=a[r>>2]|0;a[r>>2]=c+2;f[c>>1]=t}return((c|0)!=(l|0)|t^1?0:2)|0}function yq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;l=b-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{i=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=4;break}case 19:{i=Yq(A,e+1|0,i,f)|0;break A}default:{a[f>>2]=e;i=0;break A}}l=A+328|0;t=A+332|0;c=A+336|0;e=e+i|0;e:while(1){i=b-e|0;if((i|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=18;break e}case 18:{l=29;break e}case 27:case 26:case 25:case 24:case 22:{i=1;break}case 5:{if((i|0)<2){i=-2;break A}if(!(m5[a[l>>2]&127](A,e)|0)){l=21;break e}else i=2;break}case 6:{if((i|0)<3){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=24;break e}else i=3;break}case 7:{if((i|0)<4){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=27;break e}else i=4;break}default:{l=30;break e}}e=e+i|0}if((l|0)==18){a[f>>2]=e;i=0;break}else if((l|0)==21){a[f>>2]=e;i=0;break}else if((l|0)==24){a[f>>2]=e;i=0;break}else if((l|0)==27){a[f>>2]=e;i=0;break}else if((l|0)==29){a[f>>2]=e+1;i=9;break}else if((l|0)==30){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function zq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;e=e+l|0;e:while(1){l=i-e|0;if((l|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=18;break e}case 18:{l=29;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=21;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=24;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,e)|0)){l=27;break e}else l=4;break}default:{l=30;break e}}e=e+l|0}if((l|0)==18){a[f>>2]=e;i=0;break}else if((l|0)==21){a[f>>2]=e;i=0;break}else if((l|0)==24){a[f>>2]=e;i=0;break}else if((l|0)==27){a[f>>2]=e;i=0;break}else if((l|0)==29){a[f>>2]=e+1;i=28;break}else if((l|0)==30){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function Yq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0;t=i;A:do{if((t-e|0)>0){l=r[e>>0]|0;if(l<<24>>24==120){A=Dq(A,e+1|0,i,f)|0;break}i=A+72|0;if((r[i+(l&255)>>0]|0)!=25){a[f>>2]=e;A=0;break}e:while(1){A=e+1|0;if((t-A|0)<=0){A=-1;break A}switch(r[i+(n[A>>0]|0)>>0]|0){case 25:{e=A;break}case 18:{i=8;break e}default:{i=9;break e}}}if((i|0)==8){a[f>>2]=e+2;A=10;break}else if((i|0)==9){a[f>>2]=A;A=0;break}}else A=-1}while(0);return A|0}function Dq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0;A:do{if((i-e|0)>0){A=A+72|0;if((r[A+(n[e>>0]|0)>>0]&-2)<<24>>24!=24){a[f>>2]=e;i=0;break}e:while(1){l=e+1|0;if((i-l|0)<=0){i=-1;break A}switch(r[A+(n[l>>0]|0)>>0]|0){case 24:case 25:{e=l;break}case 18:{A=6;break e}default:{A=7;break e}}}if((A|0)==6){a[f>>2]=e+2;i=10;break}else if((A|0)==7){a[f>>2]=l;i=0;break}}else i=-1}while(0);return i|0}function Mq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;h=i;l=h-e|0;A:do{if((l|0)>0){o=A+72|0;switch(r[o+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;l=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){l=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=2;break}case 6:{if((l|0)<3){l=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=3;break}case 7:{if((l|0)<4){l=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=4;break}case 16:{l=e+1|0;if((h-l|0)<=0){l=-1;break A}switch(r[o+(n[l>>0]|0)>>0]|0){case 27:{l=Fq(A,e+2|0,i,f)|0;break A}case 20:{l=Vq(e+2|0,i,f)|0;break A}default:{a[f>>2]=l;l=0;break A}}}case 15:{l=Jq(A,e+1|0,i,f)|0;break A}case 17:{l=Nq(A,e+1|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}c=A+328|0;b=A+332|0;s=A+336|0;w=A+340|0;u=A+344|0;k=A+348|0;t=0;l=e+l|0;e:while(1){e=h-l|0;if((e|0)<=0){l=-1;break A}i:do{switch(r[o+(n[l>>0]|0)>>0]|0){case 29:{d=24;break e}case 10:case 9:case 21:{d=50;break e}case 11:{d=64;break e}case 17:break e;case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){l=-2;break A}if(!(m5[a[c>>2]&127](A,l)|0)){d=27;break e}else e=2;break}case 6:{if((e|0)<3){l=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){d=30;break e}else e=3;break}case 7:{if((e|0)<4){l=-2;break A}if(!(m5[a[s>>2]&127](A,l)|0)){d=33;break e}else e=4;break}case 23:{if(t|0){d=35;break e}t=l+1|0;e=h-t|0;if((e|0)<=0){l=-1;break A}switch(r[o+(n[t>>0]|0)>>0]|0){case 29:{d=38;break e}case 24:case 22:{t=1;e=2;break i}case 5:{if((e|0)<2){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){d=42;break e}else{t=1;e=3;break i}}case 6:{if((e|0)<3){l=-2;break A}if(!(m5[a[u>>2]&127](A,t)|0)){d=45;break e}else{t=1;e=4;break i}}case 7:{if((e|0)<4){l=-2;break A}if(!(m5[a[k>>2]&127](A,t)|0)){d=48;break e}else{t=1;e=5;break i}}default:{d=49;break e}}}default:{d=69;break e}}}while(0);l=l+e|0}e:switch(d|0){case 24:{a[f>>2]=l;l=0;break A}case 27:{a[f>>2]=l;l=0;break A}case 30:{a[f>>2]=l;l=0;break A}case 33:{a[f>>2]=l;l=0;break A}case 35:{a[f>>2]=l;l=0;break A}case 38:{a[f>>2]=t;l=0;break A}case 42:{a[f>>2]=t;l=0;break A}case 45:{a[f>>2]=t;l=0;break A}case 48:{a[f>>2]=t;l=0;break A}case 49:{a[f>>2]=t;l=0;break A}case 50:{i:while(1){d=0;t=l+1|0;e=h-t|0;if((e|0)<=0){l=-1;break A}switch(r[o+(n[t>>0]|0)>>0]|0){case 11:{l=t;d=64;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;d=50;break}case 29:{d=52;break i}case 24:case 22:{t=2;break i}case 5:{d=53;break i}case 6:{d=56;break i}case 7:{d=59;break i}default:{d=62;break i}}}if((d|0)==52){a[f>>2]=t;l=0;break A}else if((d|0)==53){if((e|0)<2){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=3}else if((d|0)==56){if((e|0)<3){l=-2;break A}if(!(m5[a[u>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=4}else if((d|0)==59){if((e|0)<4){l=-2;break A}if(!(m5[a[k>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=5}else if((d|0)==62){a[f>>2]=t;l=0;break A}l=Xq(A,l+t|0,i,f)|0;break A}case 69:{a[f>>2]=l;l=0;break A}}if((d|0)==64){a[f>>2]=l+1;l=2;break}t=l+1|0;if((h-t|0)>0)if((r[t>>0]|0)==62){a[f>>2]=l+2;l=4;break}else{a[f>>2]=t;l=0;break}else l=-1}else l=-1}while(0);return l|0}function Fq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;A:do{if((i-e|0)>0){if((r[e>>0]|0)!=45){a[f>>2]=e;i=0;break}l=A+72|0;t=A+352|0;c=A+356|0;b=A+360|0;s=e+1|0;e:while(1){e=i-s|0;if((e|0)<=0){i=-1;break A}switch(r[l+(n[s>>0]|0)>>0]|0){case 8:case 1:case 0:{e=19;break e}case 5:{if((e|0)<2){i=-2;break A}if(m5[a[t>>2]&127](A,s)|0){e=9;break e}s=s+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}if(m5[a[c>>2]&127](A,s)|0){e=13;break e}s=s+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}if(m5[a[b>>2]&127](A,s)|0){e=17;break e}s=s+4|0;continue e}case 27:{e=s+1|0;if((i-e|0)<=0){i=-1;break A}if((r[e>>0]|0)==45){e=22;break e}else{s=e;continue e}}default:{s=s+1|0;continue e}}}if((e|0)==9){a[f>>2]=s;i=0;break}else if((e|0)==13){a[f>>2]=s;i=0;break}else if((e|0)==17){a[f>>2]=s;i=0;break}else if((e|0)==19){a[f>>2]=s;i=0;break}else if((e|0)==22){e=s+2|0;if((i-e|0)<=0){i=-1;break}if((r[e>>0]|0)==62){a[f>>2]=s+3;i=13;break}else{a[f>>2]=e;i=0;break}}}else i=-1}while(0);return i|0}function Vq(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>5){e=0;while(1){if((e|0)>=6){e=8;break}if((r[A>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+1|0}a[i>>2]=A}else e=-1;return e|0}function Jq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;i=u-e|0;A:do{if((i|0)>0){w=A+72|0;switch(r[w+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{i=1;break}case 5:{if((i|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=2;break}case 6:{if((i|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=3;break}case 7:{if((i|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;i=e+i|0;e:while(1){l=u-i|0;if((l|0)<=0){i=-1;break A}switch(r[w+(n[i>>0]|0)>>0]|0){case 29:{s=17;break e}case 10:case 9:case 21:{s=28;break e}case 15:{s=50;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,i)|0)){s=20;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,i)|0)){s=23;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,i)|0)){s=26;break e}else l=4;break}default:break e}i=i+l|0}if((s|0)==17){a[f>>2]=i;i=0;break}else if((s|0)==20){a[f>>2]=i;i=0;break}else if((s|0)==23){a[f>>2]=i;i=0;break}else if((s|0)==26){a[f>>2]=i;i=0;break}else if((s|0)==28){if(!(Rq(e,i,o)|0)){a[f>>2]=i;i=0;break}t=A+352|0;c=A+356|0;b=A+360|0;l=i+1|0;e:while(1){i=u-l|0;if((i|0)<=0){i=-1;break A}switch(r[w+(n[l>>0]|0)>>0]|0){case 8:case 1:case 0:{s=45;break e}case 5:{if((i|0)<2){i=-2;break A}if(m5[a[t>>2]&127](A,l)|0){s=35;break e}l=l+2|0;continue e}case 6:{if((i|0)<3){i=-2;break A}if(m5[a[c>>2]&127](A,l)|0){s=39;break e}l=l+3|0;continue e}case 7:{if((i|0)<4){i=-2;break A}if(m5[a[b>>2]&127](A,l)|0){s=43;break e}l=l+4|0;continue e}case 15:{i=l+1|0;if((u-i|0)<=0){i=-1;break A}if((r[i>>0]|0)==62){s=48;break e}else{l=i;continue e}}default:{l=l+1|0;continue e}}}if((s|0)==35){a[f>>2]=l;i=0;break}else if((s|0)==39){a[f>>2]=l;i=0;break}else if((s|0)==43){a[f>>2]=l;i=0;break}else if((s|0)==45){a[f>>2]=l;i=0;break}else if((s|0)==48){a[f>>2]=l+2;i=a[o>>2]|0;break}}else if((s|0)==50){if(!(Rq(e,i,o)|0)){a[f>>2]=i;i=0;break}l=i+1|0;if((u-l|0)<=0){i=-1;break}if((r[l>>0]|0)==62){a[f>>2]=i+2;i=a[o>>2]|0;break}else i=l}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function Nq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;l=e+l|0;e:while(1){e=i-l|0;if((e|0)<=0){i=-1;break A}switch(r[s+(n[l>>0]|0)>>0]|0){case 29:{t=17;break e}case 10:case 9:case 21:{t=27;break e}case 11:{t=32;break e}case 23:case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,l)|0)){t=20;break e}else e=2;break}case 6:{if((e|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,l)|0)){t=23;break e}else e=3;break}case 7:{if((e|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){t=26;break e}else e=4;break}default:{t=33;break e}}l=l+e|0}if((t|0)==17){a[f>>2]=l;i=0;break}else if((t|0)==20){a[f>>2]=l;i=0;break}else if((t|0)==23){a[f>>2]=l;i=0;break}else if((t|0)==26){a[f>>2]=l;i=0;break}else if((t|0)==27){e:while(1){e=l+1|0;if((i-e|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 10:case 9:case 21:{l=e;t=27;break}case 11:{t=29;break e}default:{t=30;break e}}}if((t|0)==29){a[f>>2]=l+2;i=5;break}else if((t|0)==30){a[f>>2]=e;i=0;break}}else if((t|0)==32){a[f>>2]=l+1;i=5;break}else if((t|0)==33){a[f>>2]=l;i=0;break}}else i=-1}while(0);return i|0}function Xq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;E=Z;a[E>>2]=e;C=i;d=A+72|0;B=A+328|0;v=A+332|0;g=A+336|0;b=A+340|0;s=A+344|0;w=A+348|0;u=A+352|0;o=A+356|0;h=A+360|0;t=0;A:while(1){l=C-e|0;if((l|0)<=0){e=-1;break}e:do{switch(r[d+(n[e>>0]|0)>>0]|0){case 29:{I=4;break A}case 27:case 26:case 25:case 24:case 22:{l=e+1|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 5:{if((l|0)<2){e=-2;break A}if(!(m5[a[B>>2]&127](A,e)|0)){I=8;break A}l=e+2|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 6:{if((l|0)<3){e=-2;break A}if(!(m5[a[v>>2]&127](A,e)|0)){I=12;break A}l=e+3|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 7:{if((l|0)<4){e=-2;break A}if(!(m5[a[g>>2]&127](A,e)|0)){I=16;break A}l=e+4|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 23:{if(t|0){I=19;break A}l=e+1|0;a[E>>2]=l;t=C-l|0;if((t|0)<=0){e=-1;break A}switch(r[d+(n[l>>0]|0)>>0]|0){case 29:{I=22;break A}case 24:case 22:{c=e+2|0;a[E>>2]=c;t=1;e=c;continue A}case 5:{if((t|0)<2){e=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){I=26;break A}c=e+3|0;a[E>>2]=c;t=1;e=c;continue A}case 6:{if((t|0)<3){e=-2;break A}if(!(m5[a[s>>2]&127](A,l)|0)){I=30;break A}c=e+4|0;a[E>>2]=c;t=1;e=c;continue A}case 7:{if((t|0)<4){e=-2;break A}if(!(m5[a[w>>2]&127](A,l)|0)){I=34;break A}c=e+5|0;a[E>>2]=c;t=1;e=c;continue A}default:{I=36;break A}}}case 10:case 9:case 21:while(1){e=e+1|0;a[E>>2]=e;if((C-e|0)<=0){e=-1;break A}switch(r[d+(n[e>>0]|0)>>0]|0){case 14:break e;case 9:case 10:case 21:break;default:{I=39;break A}}}case 14:break;default:{I=92;break A}}}while(0);while(1){l=e+1|0;a[E>>2]=l;if((C-l|0)<=0){e=-1;break A}c=r[d+(n[l>>0]|0)>>0]|0;if((c|1)<<24>>24==13)break;switch(c<<24>>24){case 9:case 10:case 21:{e=l;break}default:{I=43;break A}}}e=e+2|0;a[E>>2]=e;e:while(1){l=C-e|0;if((l|0)<=0){e=-1;break A}t=r[d+(n[e>>0]|0)>>0]|0;if(t<<24>>24==c<<24>>24)break;switch(t<<24>>24){case 8:case 1:case 0:{I=60;break A}case 2:{I=65;break A}case 5:{if((l|0)<2){e=-2;break A}if(m5[a[u>>2]&127](A,e)|0){I=50;break A}t=e+2|0;a[E>>2]=t;e=t;continue e}case 6:{if((l|0)<3){e=-2;break A}if(m5[a[o>>2]&127](A,e)|0){I=54;break A}t=e+3|0;a[E>>2]=t;e=t;continue e}case 7:{if((l|0)<4){e=-2;break A}if(m5[a[h>>2]&127](A,e)|0){I=58;break A}t=e+4|0;a[E>>2]=t;e=t;continue e}case 3:{e=yq(A,e+1|0,i,E)|0;if((e|0)<1){I=63;break A}e=a[E>>2]|0;continue e}default:{t=e+1|0;a[E>>2]=t;e=t;continue e}}}l=e+1|0;a[E>>2]=l;if((C-l|0)<=0){e=-1;break}switch(r[d+(n[l>>0]|0)>>0]|0){case 11:{I=86;break A}case 17:{I=87;break A}case 10:case 9:case 21:{e=l;break}default:{I=69;break A}}e:while(1){l=e+1|0;a[E>>2]=l;t=C-l|0;if((t|0)<=0){e=-1;break A}switch(r[d+(n[l>>0]|0)>>0]|0){case 29:{I=72;break A}case 11:{I=86;break A}case 17:{I=87;break A}case 10:case 9:case 21:{e=l;break}case 24:case 22:{I=73;break e}case 5:{I=74;break e}case 6:{I=78;break e}case 7:{I=82;break e}default:{I=91;break A}}}if((I|0)==73){I=0;e=e+2|0;a[E>>2]=e;t=0;continue}else if((I|0)==74){I=0;if((t|0)<2){e=-2;break}if(!(m5[a[b>>2]&127](A,l)|0)){I=76;break}e=e+3|0;a[E>>2]=e;t=0;continue}else if((I|0)==78){I=0;if((t|0)<3){e=-2;break}if(!(m5[a[s>>2]&127](A,l)|0)){I=80;break}e=e+4|0;a[E>>2]=e;t=0;continue}else if((I|0)==82){I=0;if((t|0)<4){e=-2;break}if(!(m5[a[w>>2]&127](A,l)|0)){I=84;break}e=e+5|0;a[E>>2]=e;t=0;continue}}switch(I|0){case 4:{a[f>>2]=e;e=0;break}case 8:{a[f>>2]=e;e=0;break}case 12:{a[f>>2]=e;e=0;break}case 16:{a[f>>2]=e;e=0;break}case 19:{a[f>>2]=e;e=0;break}case 22:{a[f>>2]=l;e=0;break}case 26:{a[f>>2]=l;e=0;break}case 30:{a[f>>2]=l;e=0;break}case 34:{a[f>>2]=l;e=0;break}case 36:{a[f>>2]=l;e=0;break}case 39:{a[f>>2]=e;e=0;break}case 43:{a[f>>2]=l;e=0;break}case 50:{a[f>>2]=e;e=0;break}case 54:{a[f>>2]=e;e=0;break}case 58:{a[f>>2]=e;e=0;break}case 60:{a[f>>2]=e;e=0;break}case 63:{if(!e){a[f>>2]=a[E>>2];e=0}break}case 65:{a[f>>2]=e;e=0;break}case 69:{a[f>>2]=l;e=0;break}case 72:{a[f>>2]=l;e=0;break}case 76:{a[f>>2]=l;e=0;break}case 80:{a[f>>2]=l;e=0;break}case 84:{a[f>>2]=l;e=0;break}case 86:{a[f>>2]=e+2;e=1;break}case 87:{e=l+1|0;a[E>>2]=e;if((C-e|0)>0)if((r[e>>0]|0)==62){a[f>>2]=l+2;e=3;break}else{a[f>>2]=e;e=0;break}else e=-1;break}case 91:{a[f>>2]=l;e=0;break}case 92:{a[f>>2]=e;e=0;break}}k=Z;return e|0}function Rq(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==3){switch(r[A>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}switch(r[A+1>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}switch(r[A+2>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}while(0);return e|0}function Hq(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;b=e+72|0;s=e+352|0;w=e+356|0;u=e+360|0;A:while(1){t=f-i|0;if((t|0)<=0){f=-1;break}c=r[b+(n[i>>0]|0)>>0]|0;switch(c<<24>>24){case 8:case 1:case 0:{k=16;break A}case 5:{if((t|0)<2){f=-2;break A}if(m5[a[s>>2]&127](e,i)|0){k=6;break A}i=i+2|0;continue A}case 6:{if((t|0)<3){f=-2;break A}if(m5[a[w>>2]&127](e,i)|0){k=10;break A}i=i+3|0;continue A}case 7:{if((t|0)<4){f=-2;break A}if(m5[a[u>>2]&127](e,i)|0){k=14;break A}i=i+4|0;continue A}case 13:case 12:{i=i+1|0;if((c&255|0)==(A|0)){k=18;break A}else continue A}default:{i=i+1|0;continue A}}}A:do{if((k|0)==6){a[l>>2]=i;f=0}else if((k|0)==10){a[l>>2]=i;f=0}else if((k|0)==14){a[l>>2]=i;f=0}else if((k|0)==16){a[l>>2]=i;f=0}else if((k|0)==18)if((f-i|0)>0){a[l>>2]=i;switch(r[b+(n[i>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break A}default:{}}f=0}else f=-27}while(0);return f|0}function pq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;l=i;A:do{if((l-e|0)>0){t=A+72|0;switch(r[t+(n[e>>0]|0)>>0]|0){case 27:{A=Fq(A,e+1|0,i,f)|0;break A}case 20:{a[f>>2]=e+1;A=33;break A}case 24:case 22:{e:while(1){A=e+1|0;i=l-A|0;if((i|0)<=0){A=-1;break A}switch(r[t+(n[A>>0]|0)>>0]|0){case 24:case 22:{e=A;break}case 30:{c=8;break e}case 10:case 9:case 21:break e;default:{c=12;break e}}}if((c|0)==12){a[f>>2]=A;A=0;break A}e:do{if((c|0)==8){if((i|0)<=1){A=-1;break A}switch(r[t+(n[e+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=A;A=0;break A}}while(0);a[f>>2]=A;A=16;break A}default:{a[f>>2]=e;A=0;break A}}}else A=-1}while(0);return A|0}function Uq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;e=e+l|0;e:while(1){l=i-e|0;if((l|0)<=0){i=-20;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=17;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=28;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=20;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=23;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,e)|0)){l=26;break e}else l=4;break}default:{l=29;break e}}e=e+l|0}if((l|0)==17){a[f>>2]=e;i=0;break}else if((l|0)==20){a[f>>2]=e;i=0;break}else if((l|0)==23){a[f>>2]=e;i=0;break}else if((l|0)==26){a[f>>2]=e;i=0;break}else if((l|0)==28){a[f>>2]=e;i=20;break}else if((l|0)==29){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function xq(){return 58220}function Tq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=k;k=k+16|0;n=t;a[n>>2]=i;l=a[e>>2]|0;A=f-(a[r>>2]|0)|0;if((i-l|0)>(A|0)){A=l+A|0;a[n>>2]=A;f=1}else{f=0;A=i}hs(l,n);l=a[n>>2]|0;i=a[e>>2]|0;n=l-i|0;y6(a[r>>2]|0,i|0,n|0)|0;a[e>>2]=(a[e>>2]|0)+n;a[r>>2]=(a[r>>2]|0)+n;k=t;return(f?2:l>>>0>>0&1)|0}function jq(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=A+72|0;b=i;s=l;w=a[e>>2]|0;u=a[n>>2]|0;A:while(1){A=w>>>0>>0;if(!(u>>>0>>0&A)){k=12;break}A=r[w>>0]|0;t=A&255;switch(r[c+t>>0]|0){case 5:{if((b-w|0)<2){A=1;break A}f[u>>1]=(A&31)<<6|r[w+1>>0]&63;w=w+2|0;u=u+2|0;continue A}case 6:{if((b-w|0)<3){A=1;break A}f[u>>1]=(r[w+1>>0]&63)<<6|t<<12|r[w+2>>0]&63;w=w+3|0;u=u+2|0;continue A}case 7:{if((s-u|0)<4){A=2;break A}if((b-w|0)<4){A=1;break A}t=((r[w+1>>0]&63)<<12|(A&7)<<18|(r[w+2>>0]&63)<<6|r[w+3>>0]&63)+-65536|0;f[u>>1]=t>>>10|55296;f[u+2>>1]=t&1023|56320;w=w+4|0;u=u+4|0;continue A}default:{f[u>>1]=A<<24>>24;w=w+1|0;u=u+2|0;continue A}}}if((k|0)==12)A=A?2:0;a[e>>2]=w;a[n>>2]=u;return A|0}function Sq(A,e){A=A|0;e=e|0;A=n[e>>0]|0;e=n[e+1>>0]|0;return 1<<(e&31)&a[56940+(((n[144044+(A>>>2&7)>>0]|0)<<3|A<<1&6|e>>>5&1)<<2)>>2]|0}function Pq(A,e){A=A|0;e=e|0;var i=0;i=n[e+1>>0]|0;A=n[e+2>>0]|0;return 1<<(A&31)&a[56940+(((n[144044+(i>>>2&15|r[e>>0]<<4&255)>>0]|0)<<3|i<<1&6|A>>>5&1)<<2)>>2]|0}function Oq(A,e){A=A|0;e=e|0;return 0}function Kq(A,e){A=A|0;e=e|0;A=n[e>>0]|0;e=n[e+1>>0]|0;return 1<<(e&31)&a[56940+(((n[143788+(A>>>2&7)>>0]|0)<<3|A<<1&6|e>>>5&1)<<2)>>2]|0}function _q(A,e){A=A|0;e=e|0;var i=0;i=n[e+1>>0]|0;A=n[e+2>>0]|0;return 1<<(A&31)&a[56940+(((n[143788+(i>>>2&15|r[e>>0]<<4&255)>>0]|0)<<3|i<<1&6|A>>>5&1)<<2)>>2]|0}function qq(A,e){A=A|0;e=e|0;if((n[e>>0]|0)<194)return 1;else{e=n[e+1>>0]|0;return e>>>7^1|(e&192|0)==192|0}return 0}function $q(A,e){A=A|0;e=e|0;var i=0;A=r[e+2>>0]|0;do{if(A<<24>>24>-1)A=1;else{i=r[e>>0]|0;if(i<<24>>24==-17?(r[e+1>>0]|0)==-65:0)if((A&255)>189){A=1;break}else{A=191;e=-65}else{if((A&255)>191){A=1;break}e=r[e+1>>0]|0;A=e&255;if(i<<24>>24==-32){A=(e&255)<160|(A&192|0)==192;break}}A=(A&128|0)==0?1:i<<24>>24==-19?(e&255)>159:(A&192|0)==192}}while(0);return A&1|0}function A$(A,e){A=A|0;e=e|0;var i=0;i=n[e+3>>0]|0;do{if(!((i&128|0)==0|(i&192|0)==192)?(i=n[e+2>>0]|0,!((i&128|0)==0|(i&192|0)==192)):0){i=r[e>>0]|0;A=r[e+1>>0]|0;e=A&255;if(i<<24>>24==-16){A=(A&255)<144|(e&192|0)==192;break}else{A=(e&128|0)==0?1:i<<24>>24==-12?(A&255)>143:(e&192|0)==192;break}}else A=1}while(0);return A&1|0}function e$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){t=e;w=i-t|0;b=(w&1|0)==0;w=w&-2;s=(w|0)==0;w=b|s?i:e+w|0;if(b|s^1){i=r[e+1>>0]|0;if(!(i<<24>>24)){l=r[e>>0]|0;c=l;l=n[A+72+(l&255)>>0]|0}else{l=r[e>>0]|0;c=l;l=d$(i,l)|0}do{switch(l|0){case 12:{i=W$(12,A,e+2|0,w,f)|0;break A}case 13:{i=W$(13,A,e+2|0,w,f)|0;break A}case 2:{l=e+2|0;if((w-l|0)<=1){i=-1;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;switch(i|0){case 16:{i=y$(A,e+4|0,w,f)|0;break A}case 15:{i=G$(A,e+4|0,w,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;i=29;break A}default:{a[f>>2]=l;i=0;break A}}}case 9:{if((e+2|0)==(w|0)){a[f>>2]=w;i=-15;break A}else t=7;break}case 10:case 21:{t=7;break}case 30:{i=v$(A,e+2|0,w,f)|0;break A}case 35:{a[f>>2]=e+2;i=38;break A}case 20:{a[f>>2]=e+2;i=25;break A}case 4:{l=e+2|0;i=w-l|0;if((i|0)<=1){i=-26;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){if((i|0)<=3){i=-1;break A}if((r[e+5>>0]|0)==0?(r[e+4>>0]|0)==62:0){a[f>>2]=e+6;i=34;break A}}a[f>>2]=l;i=26;break A}case 31:{a[f>>2]=e+2;i=23;break A}case 32:{l=e+2|0;if((w-l|0)<=1){i=-24;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;switch(i|0){case 33:{a[f>>2]=e+4;i=36;break A}case 15:{a[f>>2]=e+4;i=35;break A}case 34:{a[f>>2]=e+4;i=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;i=24;break A}default:{a[f>>2]=l;i=0;break A}}}case 36:{a[f>>2]=e+2;i=21;break A}case 11:{a[f>>2]=e+2;i=17;break A}case 19:{i=z$(A,e+2|0,w,f)|0;break A}case 5:{if((w-t|0)<2){i=-2;break A}a[f>>2]=e;i=0;break A}case 6:{if((w-t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((w-t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 24:case 22:{i=18;t=61;break}case 23:case 27:case 26:case 25:{i=19;t=61;break}case 29:{t=i&255;l=c&255;i=l>>>5;l=1<<(l&31);if(!(l&a[56940+((i|n[143788+t>>0]<<3)<<2)>>2]))if(!(a[56940+((n[144044+t>>0]<<3|i)<<2)>>2]&l))t=64;else{i=19;t=61}else{i=18;t=61}break}default:t=64}}while(0);if((t|0)==7){b=w;A=A+72|0;c=e;e:while(1){t=c;c=c+2|0;if((b-c|0)<=1){t=28;break}i=r[t+3>>0]|0;l=r[c>>0]|0;if(!(i<<24>>24))i=n[A+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 21:continue e;case 9:break;default:{t=27;break e}}if((t+4|0)==(w|0)){t=27;break}}if((t|0)==27){a[f>>2]=c;i=15;break}else if((t|0)==28){a[f>>2]=c;i=15;break}}else if((t|0)==61){s=A+72|0;l=e+2|0;e:while(1){e=i&255;i:while(1){b=w-l|0;if((b|0)<=1){t=104;break e}t=r[l+1>>0]|0;c=r[l>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 5:{t=73;break e}case 6:{t=74;break e}case 7:{t=76;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{t=78;break e}case 34:{t=94;break e}case 33:{t=97;break e}case 15:{t=100;break e}case 29:{b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){t=71;break e}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{b=l+2|0;switch(e&63){case 41:{i=19;l=b;continue e}case 18:break i;default:{l=b;continue i}}}default:{t=103;break e}}l=l+2|0}A=w-b|0;if((A|0)<=1){i=-1;break A}i=r[l+3>>0]|0;t=r[b>>0]|0;if(!(i<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(i,t)|0;switch(c|0){case 5:{t=89;break e}case 6:{t=90;break e}case 7:{t=92;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(i&255)>>0]<<3)<<2)>>2])){t=87;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{i=19;l=b;continue e}}i=41;l=l+4|0}switch(t|0){case 71:{a[f>>2]=l;i=0;break A}case 73:{a[f>>2]=l;i=0;break A}case 74:{if((b|0)<3){i=-2;break A}a[f>>2]=l;i=0;break A}case 76:{if((b|0)<4){i=-2;break A}a[f>>2]=l;i=0;break A}case 78:{a[f>>2]=l;break A}case 87:{a[f>>2]=b;i=0;break A}case 89:{a[f>>2]=b;i=0;break A}case 90:{if((A|0)<3){i=-2;break A}a[f>>2]=b;i=0;break A}case 92:{if((A|0)<4){i=-2;break A}a[f>>2]=b;i=0;break A}case 94:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=32;break A}case 97:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=31;break A}case 100:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=30;break A}case 103:{a[f>>2]=l;i=0;break A}case 104:{i=0-i|0;break A}}}else if((t|0)==64){a[f>>2]=e;i=0;break}}else i=-1}else i=-4}while(0);return i|0}function i$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e+1>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e>>0]|0)>>0]|0;else i=d$(i,r[e>>0]|0)|0;do{switch(i|0){case 2:{i=C$(A,e+2|0,t,f)|0;break A}case 3:{i=B$(A,e+2|0,t,f)|0;break A}case 9:{l=e+2|0;if((t-l|0)<=1){i=-3;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 4:{l=e+2|0;if((t-l|0)<=1){i=-5;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-5;break A}if((r[e+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=i;i=0;break A}else i=t}else i=t;break}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:{l=e+2|0;i=t}}}while(0);c=A+72|0;A=l;e:while(1){e=i-A|0;if((e|0)<=1){l=52;break}l=r[A+1>>0]|0;t=r[A>>0]|0;if(!(l<<24>>24))l=n[c+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{l=50;break e}case 5:{A=A+2|0;continue e}case 6:{if((e|0)<3){l=38;break e}A=A+3|0;continue e}case 7:{if((e|0)<4){l=41;break e}A=A+4|0;continue e}case 4:{if((e|0)<=3){l=50;break e}l=A+2|0;if(r[A+3>>0]|0){A=l;continue e}if((r[l>>0]|0)!=93){A=l;continue e}if((e|0)<=5){l=50;break e}t=A+4|0;if(r[A+5>>0]|0){A=l;continue e}if((r[t>>0]|0)==62){l=49;break e}else{A=l;continue e}}default:{A=A+2|0;continue e}}}if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==41){a[f>>2]=A;i=6;break}else if((l|0)==49){a[f>>2]=t;i=0;break}else if((l|0)==50){a[f>>2]=A;i=6;break}else if((l|0)==52){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function r$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e+1>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e>>0]|0)>>0]|0;else i=d$(i,r[e>>0]|0)|0;switch(i|0){case 4:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-1;break A}if((r[e+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=e+6;i=40;break A}}break}case 9:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;t=i;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;t=i;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;t=i;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:l=e+2|0}c=A+72|0;A=l;e:while(1){e=t-A|0;if((e|0)<=1){l=40;break}i=r[A+1>>0]|0;l=r[A>>0]|0;if(!(i<<24>>24))i=n[c+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 4:{l=38;break e}case 6:{if((e|0)<3){l=35;break e}else i=3;break}case 7:{if((e|0)<4){l=37;break e}else i=4;break}default:i=2}A=A+i|0}if((l|0)==35){a[f>>2]=A;i=6;break}else if((l|0)==37){a[f>>2]=A;i=6;break}else if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==40){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function f$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i-e|0;b=(b&1|0)==0?i:e+(b&-2)|0;c=A+72|0;t=0;i=e;A:while(1){l=b-i|0;if((l|0)<=1){i=-1;break}A=r[i+1>>0]|0;e=r[i>>0]|0;if(!(A<<24>>24))A=n[c+(e&255)>>0]|0;else A=d$(A,e)|0;switch(A|0){case 8:case 1:case 0:{s=12;break A}case 5:{l=t;i=i+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}l=t;i=i+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}l=t;i=i+4|0;t=l;continue A}case 2:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[i+3>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=33){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[i+5>>0]|0){l=t;i=A;t=l;continue A}l=(r[A>>0]|0)==91;t=t+(l&1)|0;i=l?i+6|0:A;continue A}case 4:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[i+3>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=93){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[i+5>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=62){l=t;i=A;t=l;continue A}i=i+6|0;if(!t){s=26;break A}t=t+-1|0;continue A}default:{l=t;i=i+2|0;t=l;continue A}}}if((s|0)==12){a[f>>2]=i;i=0}else if((s|0)==26){a[f>>2]=i;i=42}return i|0}function a$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=30;break}l=r[c+1>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 2:{t=14;break A}case 10:{t=15;break A}case 9:{t=18;break A}case 21:{t=25;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=B$(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14){a[f>>2]=c;l=0;break}else if((t|0)==15)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==18){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==25)if((c|0)==(e|0)){a[f>>2]=e+2;l=39;break}else{a[f>>2]=c;l=6;break}else if((t|0)==30){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function n$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=29;break}l=r[c+1>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 30:{t=14;break A}case 10:{t=17;break A}case 9:{t=20;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=B$(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14)if((c|0)==(e|0)){l=v$(A,e+2|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=c;l=6;break}else if((t|0)==17)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==20){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==29){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function l$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=7;break}if((a-A|0)<2){A=0;break}if(r[A+1>>0]|0){A=0;break}if((r[A>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+2|0}if((n|0)==7)A=(A|0)==(i|0)&1;return A|0}function t$(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=A+72|0;f=e;A:while(1){A=r[f+1>>0]|0;i=r[f>>0]|0;if(!(A<<24>>24))A=n[a+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 5:{A=2;break}case 6:{A=3;break}case 7:{A=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{A=2;break}default:break A}f=f+A|0}return f-e|0}function c$(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A:while(1){A=r[e+1>>0]|0;i=r[e>>0]|0;if(!(A<<24>>24))A=n[f+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 21:case 9:case 10:break;default:break A}e=e+2|0}return e|0}function b$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=A+72|0;w=0;u=0;A=1;A:while(1){s=e+2|0;t=e+3|0;l=r[t>>0]|0;c=l<<24>>24==0;b=r[s>>0]|0;if(c)l=n[k+(b&255)>>0]|0;else l=d$(l,b)|0;do{switch(l|0){case 5:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 6:{if(A|0){c=A;b=u;s=w;e=t;A=c;u=b;w=s;continue A}if((u|0)>=(i|0)){b=u;s=w;A=1;e=t;u=b;w=s;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;b=u;s=w;A=1;e=t;u=b;w=s;continue A}case 7:{if(!A)if((u|0)<(i|0)){a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;A=1}else A=1;b=u;s=w;e=e+4|0;u=b;w=s;continue A}case 24:case 22:case 29:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 12:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=12;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=12;A=2;e=s;u=b;continue A}if((w|0)!=12){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=12;u=u+1|0;A=0;e=s;continue A}case 13:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=13;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=13;A=2;e=s;u=b;continue A}if((w|0)!=13){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=13;u=u+1|0;A=0;e=s;continue A}case 3:{if((u|0)>=(i|0)){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}case 21:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}t=f+(u<<4)+12|0;if(!(r[t>>0]|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}do{if(c&(s|0)!=(a[f+(u<<4)+4>>2]|0)&b<<24>>24==32){l=r[e+5>>0]|0;A=r[e+4>>0]|0;if(!(l<<24>>24)){if(A<<24>>24==32)break;A=n[k+(A&255)>>0]|0}else A=d$(l,A)|0;if((A|0)!=(w|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}}}while(0);r[t>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 10:case 9:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 17:case 11:if((A|0)==2){c=u;b=w;A=2;e=s;u=c;w=b;continue A}else break A;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}}while(0)}return u|0}function s$(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+4|0;A:do{if((r[e+5>>0]|0)==0?(r[A>>0]|0)==120:0){e=e+6|0;A=0;while(1){e:while(1){if(!(r[e+1>>0]|0)){i=r[e>>0]|0;if(i<<24>>24==59){f=17;break A}i=i<<24>>24;switch(i|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break e}default:{}}}e=e+2|0}if((f|0)==8){f=0;A=i+-48|A<<4}else if((f|0)==9){f=0;A=(A<<4)+-55+i|0}else if((f|0)==10){f=0;A=(A<<4)+-87+i|0}if((A|0)<1114112)e=e+2|0;else{A=-1;break}}}else{i=A;A=0;f=13}}while(0);A:do{if((f|0)==13)while(1){f=0;if(!(r[i+1>>0]|0)){e=r[i>>0]|0;if(e<<24>>24==59){f=17;break A}e=e<<24>>24}else e=-1;A=(A*10|0)+-48+e|0;if((A|0)>=1114112){A=-1;break}else{i=i+2|0;f=13}}}while(0);if((f|0)==17)A=gs(A)|0;return A|0}function w$(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch((i-e|0)/2|0|0){case 2:{if((r[e+3>>0]|0)==0?(r[e+2>>0]|0)==116:0){if(!(r[e+1>>0]|0))A=r[e>>0]|0;else A=-1;A=(A|0)==108?60:(A|0)==103?62:0}else f=27;break}case 3:{if((((((r[e+1>>0]|0)==0?(r[e>>0]|0)==97:0)?(r[e+3>>0]|0)==0:0)?(r[e+2>>0]|0)==109:0)?(r[e+5>>0]|0)==0:0)?(r[e+4>>0]|0)==112:0)A=38;else f=27;break}case 4:{if(!(r[e+1>>0]|0))switch(r[e>>0]|0){case 113:{if(r[e+3>>0]|0){f=27;break A}if((r[e+2>>0]|0)!=117){f=27;break A}if(r[e+5>>0]|0){f=27;break A}if((r[e+4>>0]|0)!=111){f=27;break A}if(r[e+7>>0]|0){f=27;break A}if((r[e+6>>0]|0)==116){A=34;break A}else{f=27;break A}}case 97:{if(r[e+3>>0]|0){f=27;break A}if((r[e+2>>0]|0)!=112){f=27;break A}if(r[e+5>>0]|0){f=27;break A}if((r[e+4>>0]|0)!=111){f=27;break A}if(r[e+7>>0]|0){f=27;break A}if((r[e+6>>0]|0)==115){A=39;break A}else{f=27;break A}}default:{f=27;break A}}else f=27;break}default:f=27}}while(0);if((f|0)==27)A=0;return A|0}function u$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=A+72|0;b=f+4|0;while(1){if((i-e|0)<=1)break;A=r[e+1>>0]|0;l=r[e>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{a[b>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+2|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;t=e+2|0;if((i-t|0)>1){A=r[e+3>>0]|0;l=r[t>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;e=(A|0)==10?e+4|0:t}else e=t;a[b>>2]=-1;break}default:e=e+2|0}a[b>>2]=(a[b>>2]|0)+1}return}function k$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i+-2|0;t=A+72|0;i=e;A:while(1){l=i+2|0;if((c-l|0)<=1){i=1;break}i=r[i+3>>0]|0;A=i<<24>>24==0;e=r[l>>0]|0;if(A)i=n[t+(e&255)>>0]|0;else i=d$(i,e)|0;switch(i|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:{i=l;continue A}case 21:if(A&e<<24>>24==9){b=12;break A}else{i=l;continue A}case 22:case 26:{if(!A){b=12;break A}if(e<<24>>24>=0){i=l;continue A}break}default:if(!A){b=12;break A}}switch(e<<24>>24|0){case 64:case 36:{i=l;break}default:{b=12;break A}}}if((b|0)==12){a[f>>2]=l;i=0}return i|0}function o$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[e>>2]|0;b=c+(i-c&-2)|0;s=b;w=l;A:while(1){if(c>>>0>=b>>>0){A=0;break}t=r[c>>0]|0;A=r[c+1>>0]|0;i=A&255;switch(A<<24>>24){case 0:{if(t<<24>>24>-1){A=a[f>>2]|0;if((A|0)==(l|0)){A=2;break A}a[f>>2]=A+1;r[A>>0]=t;A=c}else u=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{u=7;break}case-37:case-38:case-39:case-40:{A=a[f>>2]|0;if((w-A|0)<4){A=2;break A}if((s-c|0)<4){A=1;break A}k=t&255;t=(i<<2&12|k>>>6)+1|0;a[f>>2]=A+1;r[A>>0]=t>>>2|240;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>2&15|t<<4&48|128;A=c+2|0;t=n[A>>0]|0;i=(k<<4&48|t>>>6|r[c+3>>0]<<2&12|128)&255;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=i;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=t&63|128;break}default:{A=a[f>>2]|0;if((w-A|0)<3){A=2;break A}a[f>>2]=A+1;r[A>>0]=i>>>4|224;k=t&255;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2&60|128;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}}if((u|0)==7){u=0;A=a[f>>2]|0;if((w-A|0)<2){A=2;break}k=t&255;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2|192;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}c=A+2|0}a[e>>2]=c;return A|0}function h$(A,e,i,l,t){A=A|0;e=e|0;i=i|0;l=l|0;t=t|0;var c=0,b=0,s=0;c=a[e>>2]|0;s=i-c&-2;A=c+s|0;if((s|0)>(t-(a[l>>2]|0)|0)){b=A+-2|0;i=(r[b+1>>0]&-8)<<24>>24==-40;s=i&1;A=i?b:A}else s=0;i=c;while(1){c=i>>>0>>0;b=a[l>>2]|0;if(!(c&b>>>0>>0))break;c=((n[i+1>>0]|0)<<8|(n[i>>0]|0))&65535;a[l>>2]=b+2;f[b>>1]=c;b=(a[e>>2]|0)+2|0;a[e>>2]=b;i=b}return((b|0)!=(t|0)|c^1?s:2)|0}function d$(A,e){A=A|0;e=e|0;var i=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((e&255)>253)A=0;else i=4;break}default:i=4}if((i|0)==4)A=29;return A|0}function B$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=i;c=s-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;A=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;A=0;break A}case 6:{if((c|0)<3){A=-2;break A}a[f>>2]=e;A=0;break A}case 7:{if((c|0)<4){A=-2;break A}a[f>>2]=e;A=0;break A}case 19:{A=g$(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;A=0;break A}}b=A+72|0;c=e;e:while(1){t=c+2|0;e=s-t|0;if((e|0)<=1){A=-1;break A}A=r[c+3>>0]|0;l=r[t>>0]|0;if(!(A<<24>>24))i=n[b+(l&255)>>0]|0;else i=d$(A,l)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{c=t;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=l&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(A&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else c=t}if((l|0)==22){a[f>>2]=t;A=0;break}else if((l|0)==23){a[f>>2]=t;A=0;break}else if((l|0)==24){if((e|0)<3){A=-2;break}a[f>>2]=t;A=0;break}else if((l|0)==26){if((e|0)<4){A=-2;break}a[f>>2]=t;A=0;break}else if((l|0)==28){a[f>>2]=c+4;A=9;break}else if((l|0)==29){a[f>>2]=t;A=0;break}}else A=-1}while(0);return A|0}function v$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){b=A+2|0;e=i-b|0;if((e|0)<=1){i=-1;break A}l=r[A+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:{A=b;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else A=b}if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){a[f>>2]=b;i=0;break}else if((l|0)==24){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==26){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==28){a[f>>2]=A+4;i=28;break}else if((l|0)==29){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function g$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;b=i;A:do{if((b-e|0)>1){t=r[e+1>>0]|0;l=r[e>>0]|0;do{if(!(t<<24>>24))if(l<<24>>24==120){l=E$(A,e+2|0,i,f)|0;break A}else{l=n[A+72+(l&255)>>0]|0;break}else l=d$(t,l)|0}while(0);if((l|0)!=25){a[f>>2]=e;l=0;break}c=A+72|0;A=e;e:while(1){t=A+2|0;if((b-t|0)<=1){l=-1;break A}l=r[A+3>>0]|0;i=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(i&255)>>0]|0;else l=d$(l,i)|0;switch(l|0){case 25:{A=t;break}case 18:{i=15;break e}default:{i=16;break e}}}if((i|0)==15){a[f>>2]=A+4;l=10;break}else if((i|0)==16){a[f>>2]=t;l=0;break}}else l=-1}while(0);return l|0}function E$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;A:do{if((i-e|0)>1){l=r[e+1>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e>>0]|0)>>0]|0;else l=d$(l,r[e>>0]|0)|0;if((l&-2|0)!=24){a[f>>2]=e;i=0;break}c=A+72|0;e:while(1){t=e+2|0;if((i-t|0)<=1){i=-1;break A}l=r[e+3>>0]|0;A=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 25:{e=t;break}case 18:{l=13;break e}default:{l=14;break e}}}if((l|0)==13){a[f>>2]=e+4;i=10;break}else if((l|0)==14){a[f>>2]=t;i=0;break}}else i=-1}while(0);return i|0}function C$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=i;c=k-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{w=t&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;l=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;l=0;break A}case 6:{if((c|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 7:{if((c|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 16:{t=e+2|0;if((k-t|0)<=1){l=-1;break A}l=r[e+3>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[t>>0]|0)>>0]|0;else l=d$(l,r[t>>0]|0)|0;switch(l|0){case 27:{l=I$(A,e+4|0,i,f)|0;break A}case 20:{l=Z$(e+4|0,i,f)|0;break A}default:{a[f>>2]=t;l=0;break A}}}case 15:{l=G$(A,e+2|0,i,f)|0;break A}case 17:{l=Q$(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}w=A+72|0;s=0;l=e+2|0;e:while(1){i:while(1){t=k-l|0;if((t|0)<=1){l=-1;break A}c=r[l+1>>0]|0;b=r[l>>0]|0;if(!(c<<24>>24))e=n[w+(b&255)>>0]|0;else e=d$(c,b)|0;switch(e|0){case 5:{u=34;break e}case 6:{u=35;break e}case 7:{u=37;break e}case 10:case 9:case 21:{u=55;break e}case 11:{u=69;break e}case 17:break e;case 23:break i;case 29:{e=b&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(c&255)>>0]<<3)<<2)>>2])){u=32;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{u=75;break e}}l=l+2|0}if(s|0){u=40;break}b=l+2|0;e=k-b|0;if((e|0)<=1){l=-1;break A}s=r[l+3>>0]|0;t=r[b>>0]|0;if(!(s<<24>>24))c=n[w+(t&255)>>0]|0;else c=d$(s,t)|0;switch(c|0){case 5:{u=49;break e}case 6:{u=50;break e}case 7:{u=52;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[143788+(s&255)>>0]<<3)<<2)>>2])){u=47;break e}break}case 24:case 22:break;default:{u=54;break e}}s=1;l=l+4|0}e:switch(u|0){case 32:{a[f>>2]=l;l=0;break A}case 34:{a[f>>2]=l;l=0;break A}case 35:{if((t|0)<3){l=-2;break A}a[f>>2]=l;l=0;break A}case 37:{if((t|0)<4){l=-2;break A}a[f>>2]=l;l=0;break A}case 40:{a[f>>2]=l;l=0;break A}case 47:{a[f>>2]=b;l=0;break A}case 49:{a[f>>2]=b;l=0;break A}case 50:{if((e|0)<3){l=-2;break A}a[f>>2]=b;l=0;break A}case 52:{if((e|0)<4){l=-2;break A}a[f>>2]=b;l=0;break A}case 54:{a[f>>2]=b;l=0;break A}case 55:{i:while(1){u=0;t=l+2|0;c=k-t|0;if((c|0)<=1){l=-1;break A}b=r[l+3>>0]|0;e=r[t>>0]|0;if(!(b<<24>>24))s=n[w+(e&255)>>0]|0;else s=d$(b,e)|0;switch(s|0){case 11:{l=t;u=69;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;u=55;break}case 29:{u=60;break i}case 24:case 22:break i;case 5:{u=63;break i}case 6:{u=64;break i}case 7:{u=66;break i}default:{u=68;break i}}}if((u|0)==60){k=e&255;if(!(1<<(k&31)&a[56940+((k>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=t;l=0;break A}}else if((u|0)==63){a[f>>2]=t;l=0;break A}else if((u|0)==64){if((c|0)<3){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==66){if((c|0)<4){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==68){a[f>>2]=t;l=0;break A}l=m$(A,l+4|0,i,f)|0;break A}case 75:{a[f>>2]=l;l=0;break A}}if((u|0)==69){a[f>>2]=l+2;l=2;break}t=l+2|0;if((k-t|0)>1){if((r[l+3>>0]|0)==0?(r[t>>0]|0)==62:0){a[f>>2]=l+4;l=4;break}a[f>>2]=t;l=0}else l=-1}else l=-1}while(0);return l|0}function I$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i;A:do{if((c-e|0)>1){if((r[e+1>>0]|0)==0?(r[e>>0]|0)==45:0){t=A+72|0;l=e+2|0;e:while(1){e=c-l|0;if((e|0)<=1){i=-1;break A}i=r[l+1>>0]|0;A=r[l>>0]|0;if(!(i<<24>>24))i=n[t+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|0){case 8:case 1:case 0:{b=16;break e}case 5:{l=l+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}l=l+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}l=l+4|0;continue e}case 27:{i=l+2|0;if((c-i|0)<=1){i=-1;break A}if(r[l+3>>0]|0){l=i;continue e}if((r[i>>0]|0)==45)break e;else{l=i;continue e}}default:{l=l+2|0;continue e}}}if((b|0)==16){a[f>>2]=l;i=0;break}i=l+4|0;if((c-i|0)<=1){i=-1;break}if((r[l+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=l+6;i=13;break}a[f>>2]=i;i=0;break}a[f>>2]=e;i=0}else i=-1}while(0);return i|0}function Z$(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>11){e=0;while(1){if((e|0)>=6){e=8;break}if(r[A+1>>0]|0){e=0;break}if((r[A>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+2|0}a[i>>2]=A}else e=-1;return e|0}function G$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;c=u-e|0;A:do{if((c|0)>1){i=r[e+1>>0]|0;if(!(i<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(i,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(i&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;b=e;e:while(1){i=b+2|0;l=u-i|0;if((l|0)<=1){i=-1;break A}t=r[b+3>>0]|0;c=r[i>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 27:case 26:case 25:case 24:case 22:{b=i;continue e}case 5:{w=22;break e}case 6:{w=23;break e}case 7:{w=25;break e}case 10:case 9:case 21:{w=27;break e}case 15:{w=46;break e}case 29:break;default:break e}b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){w=21;break}else b=i}if((w|0)==21){a[f>>2]=i;i=0;break}else if((w|0)==22){a[f>>2]=i;i=0;break}else if((w|0)==23){if((l|0)<3){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==25){if((l|0)<4){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==27){if(!(L$(e,i,o)|0)){a[f>>2]=i;i=0;break}c=b+4|0;e:while(1){t=u-c|0;if((t|0)<=1){i=-1;break A}i=r[c+1>>0]|0;l=r[c>>0]|0;if(!(i<<24>>24))i=n[s+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 8:case 1:case 0:{w=40;break e}case 5:{c=c+2|0;continue e}case 6:{if((t|0)<3){i=-2;break A}c=c+3|0;continue e}case 7:{if((t|0)<4){i=-2;break A}c=c+4|0;continue e}case 15:{i=c+2|0;if((u-i|0)<=1){i=-1;break A}if(r[c+3>>0]|0){c=i;continue e}if((r[i>>0]|0)==62){w=44;break e}else{c=i;continue e}}default:{c=c+2|0;continue e}}}if((w|0)==40){a[f>>2]=c;i=0;break}else if((w|0)==44){a[f>>2]=c+4;i=a[o>>2]|0;break}}else if((w|0)==46){if(!(L$(e,i,o)|0)){a[f>>2]=i;i=0;break}i=b+4|0;if((u-i|0)<=1){i=-1;break}if((r[b+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=b+6;i=a[o>>2]|0;break}}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function Q$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){c=A+2|0;e=i-c|0;if((e|0)<=1){i=-1;break A}l=r[A+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))b=n[s+(t&255)>>0]|0;else b=d$(l,t)|0;switch(b|0){case 23:case 27:case 26:case 25:case 24:case 22:{A=c;continue e}case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 10:case 9:case 21:{l=27;break e}case 11:{l=34;break e}case 29:break;default:{l=35;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}else A=c}if((l|0)==21){a[f>>2]=c;i=0;break}else if((l|0)==22){a[f>>2]=c;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==27){e:while(1){b=c+2|0;if((i-b|0)<=1){i=-1;break A}l=r[c+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 21:{c=b;l=27;break}case 11:{l=32;break e}default:{l=33;break e}}}if((l|0)==32){a[f>>2]=c+4;i=5;break}else if((l|0)==33){a[f>>2]=b;i=0;break}}else if((l|0)==34){a[f>>2]=A+4;i=5;break}else if((l|0)==35){a[f>>2]=c;i=0;break}}else i=-1}while(0);return i|0}function m$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;a[h>>2]=e;d=i;u=A+72|0;l=0;A:while(1){e:while(1){s=d-e|0;if((s|0)<=1){e=-1;break A}t=r[e+1>>0]|0;c=r[e>>0]|0;if(!(t<<24>>24))b=n[u+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{o=11;break A}case 6:{o=12;break A}case 7:{o=14;break A}case 23:{o=16;break e}case 10:case 9:case 21:{o=31;break e}case 14:{o=37;break e}case 29:{w=c&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){o=9;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=89;break A}}w=e+2|0;a[h>>2]=w;e=w}e:do{if((o|0)==16){o=0;if(l|0){o=17;break A}l=e+2|0;a[h>>2]=l;t=l;c=d-t|0;if((c|0)<=1){e=-1;break A}b=r[e+3>>0]|0;s=r[l>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=25;break A}case 6:{o=26;break A}case 7:{o=28;break A}case 24:case 22:{l=1;break e}case 29:break;default:{o=30;break A}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=24;break A}else l=1}else if((o|0)==31)while(1){o=0;t=e+2|0;a[h>>2]=t;c=t;if((d-c|0)<=1){e=-1;break A}e=r[e+3>>0]|0;l=r[t>>0]|0;if(!(e<<24>>24))e=n[u+(l&255)>>0]|0;else e=d$(e,l)|0;switch(e|0){case 14:{e=t;o=37;break e}case 9:case 10:case 21:{e=t;o=31;break}default:{o=36;break A}}}}while(0);e:do{if((o|0)==37){while(1){o=0;c=e+2|0;a[h>>2]=c;b=c;if((d-b|0)<=1){e=-1;break A}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))s=n[u+(t&255)>>0]|0;else s=d$(l,t)|0;if((s|1|0)==13)break;switch(s|0){case 9:case 10:case 21:{e=c;o=37;break}default:{o=43;break A}}}e=e+4|0;a[h>>2]=e;i:while(1){c=d-e|0;if((c|0)<=1){e=-1;break A}l=r[e+1>>0]|0;t=r[e>>0]|0;if(!(l<<24>>24))l=n[u+(t&255)>>0]|0;else l=d$(l,t)|0;if((l|0)==(s|0))break;switch(l|0){case 8:case 1:case 0:{o=56;break A}case 2:{o=61;break A}case 5:{w=e+2|0;a[h>>2]=w;e=w;continue i}case 6:{if((c|0)<3){e=-2;break A}w=e+3|0;a[h>>2]=w;e=w;continue i}case 7:{if((c|0)<4){e=-2;break A}w=e+4|0;a[h>>2]=w;e=w;continue i}case 3:{e=B$(A,e+2|0,i,h)|0;if((e|0)<1){o=59;break A}e=a[h>>2]|0;continue i}default:{w=e+2|0;a[h>>2]=w;e=w;continue i}}}t=e+2|0;a[h>>2]=t;b=t;if((d-b|0)<=1){e=-1;break A}l=r[e+3>>0]|0;c=r[t>>0]|0;if(!(l<<24>>24))l=n[u+(c&255)>>0]|0;else l=d$(l,c)|0;switch(l|0){case 11:{o=81;break A}case 17:{o=82;break A}case 10:case 9:case 21:{e=t;break}default:{o=68;break A}}i:while(1){t=e+2|0;a[h>>2]=t;l=t;c=d-l|0;if((c|0)<=1){e=-1;break A}b=r[e+3>>0]|0;s=r[t>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=76;break A}case 6:{o=77;break A}case 7:{o=79;break A}case 11:{o=81;break A}case 17:{o=82;break A}case 24:case 22:{l=0;break e}case 10:case 9:case 21:{e=t;break}case 29:break i;default:{o=87;break A}}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=75;break A}else l=0}}while(0);e=e+4|0;a[h>>2]=e}switch(o|0){case 9:{a[f>>2]=e;e=0;break}case 11:{a[f>>2]=e;e=0;break}case 12:{if((s|0)<3)e=-2;else{a[f>>2]=e;e=0}break}case 14:{if((s|0)<4)e=-2;else{a[f>>2]=e;e=0}break}case 17:{a[f>>2]=e;e=0;break}case 24:{a[f>>2]=l;e=0;break}case 25:{a[f>>2]=l;e=0;break}case 26:{if((c|0)<3)e=-2;else{a[f>>2]=l;e=0}break}case 28:{if((c|0)<4)e=-2;else{a[f>>2]=l;e=0}break}case 30:{a[f>>2]=t;e=0;break}case 36:{a[f>>2]=c;e=0;break}case 43:{a[f>>2]=b;e=0;break}case 56:{a[f>>2]=e;e=0;break}case 59:{if(!e){a[f>>2]=a[h>>2];e=0}break}case 61:{a[f>>2]=e;e=0;break}case 68:{a[f>>2]=b;e=0;break}case 75:{a[f>>2]=t;e=0;break}case 76:{a[f>>2]=t;e=0;break}case 77:{if((c|0)<3)e=-2;else{a[f>>2]=t;e=0}break}case 79:{if((c|0)<4)e=-2;else{a[f>>2]=t;e=0}break}case 81:{a[f>>2]=e+4;e=1;break}case 82:{l=t+2|0;a[h>>2]=l;e=l;if((d-e|0)>1){if((r[t+3>>0]|0)==0?(r[l>>0]|0)==62:0){a[f>>2]=t+4;e=3;break}a[f>>2]=e;e=0}else e=-1;break}case 87:{a[f>>2]=l;e=0;break}case 89:{a[f>>2]=e;e=0;break}}k=B;return e|0}function L$(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==6?(r[A+1>>0]|0)==0:0){switch(r[A>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}if(!(r[A+3>>0]|0)){switch(r[A+2>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}if(!(r[A+5>>0]|0)){switch(r[A+4>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}else e=1}else e=1}while(0);return e|0}function W$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0;b=e+72|0;A:while(1){e:while(1){c=f-i|0;if((c|0)<=1){i=-1;break A}e=r[i+1>>0]|0;t=r[i>>0]|0;if(!(e<<24>>24))e=n[b+(t&255)>>0]|0;else e=d$(e,t)|0;switch(e|0){case 8:case 1:case 0:{s=10;break A}case 6:{s=9;break e}case 7:{s=19;break e}case 5:{i=i+2|0;continue e}case 13:case 12:{t=i+2|0;if((e|0)==(A|0)){s=12;break A}else{i=t;continue e}}default:{i=i+2|0;continue e}}}if((s|0)==9){s=0;if((c|0)<3){i=-2;break}else{i=i+3|0;continue}}else if((s|0)==19){s=0;if((c|0)<4){i=-2;break}else{i=i+4|0;continue}}}A:do{if((s|0)==10){a[l>>2]=i;i=0}else if((s|0)==12)if((f-t|0)>1){a[l>>2]=t;f=r[i+3>>0]|0;i=r[t>>0]|0;if(!(f<<24>>24))i=n[b+(i&255)>>0]|0;else i=d$(f,i)|0;switch(i|0){case 20:case 30:case 11:case 10:case 9:case 21:{i=27;break A}default:{}}i=0}else i=-27}while(0);return i|0}function y$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;A:do{if((b-e|0)>1){l=r[e+1>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e>>0]|0)>>0]|0;else l=d$(l,r[e>>0]|0)|0;switch(l|0){case 27:{l=I$(A,e+2|0,i,f)|0;break A}case 20:{a[f>>2]=e+2;l=33;break A}case 24:case 22:{c=A+72|0;e:while(1){t=e+2|0;i=b-t|0;if((i|0)<=1){l=-1;break A}l=r[e+3>>0]|0;A=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 22:{e=t;break}case 30:{s=15;break e}case 10:case 9:case 21:break e;default:{s=22;break e}}}if((s|0)==22){a[f>>2]=t;l=0;break A}e:do{if((s|0)==15){if((i|0)<=3){l=-1;break A}A=r[e+5>>0]|0;l=r[e+4>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=t;l=0;break A}}while(0);a[f>>2]=t;l=16;break A}default:{a[f>>2]=e;l=0;break A}}}else l=-1}while(0);return l|0}function z$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}A=A+72|0;b=e;e:while(1){l=b;b=b+2|0;e=i-b|0;if((e|0)<=1){i=-20;break A}l=r[l+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))c=n[A+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:continue e;case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=27;break e}case 29:break;default:{l=28;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}}if((l|0)==21){a[f>>2]=b;i=0;break}else if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==27){a[f>>2]=b;i=20;break}else if((l|0)==28){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function Y$(A,e,i){A=A|0;e=e|0;i=i|0;i=D$(i)|0;if((i|0)==-1)i=0;else{r[A+69>>0]=i;a[A>>2]=67;a[A+4>>2]=68;a[A+48>>2]=31;a[A+72>>2]=e;a[e>>2]=A;i=1}return i|0}function D$(A){A=A|0;var e=0;A:do{if(!A)e=6;else{e=0;while(1){if((e|0)>=6){e=-1;break A}if(o0(A,a[60068+(e<<2)>>2]|0)|0)break A;e=e+1|0}}}while(0);return e|0}function M$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(58948,A,0,e,i,r)|0}function F$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(58948,A,1,e,i,r)|0}function V$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;Qq(58584,e,i,r);return}function J$(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0;A:do{if(f>>>0>>0){s=a[e+72>>2]|0;t=f+1|0;e:do{if((t|0)==(n|0)){t=r[e+69>>0]|0;if(((t<<24>>24)+-3|0)>>>0<3){t=-1;break A}switch(r[f>>0]|0){case 60:case 0:{t=-1;break A}case-17:case-1:case-2:break;default:break e}if(!((i|0)==1&t<<24>>24==0)){t=-1;break A}}else{b=r[f>>0]|0;t=r[t>>0]|0;c=((b&255)<<8|t&255)&65535;i:do{if(c<<16>>16<-2){if(c<<16>>16>=-257){switch(c<<16>>16){case-257:break;default:break i}if((i|0)==1&(r[e+69>>0]|0)==0)break e;a[l>>2]=f+2;a[s>>2]=a[A+16>>2];t=14;break A}switch(c<<16>>16){case-4165:break;default:break i}if((i|0)==1)switch(r[e+69>>0]|0){case 0:case 3:case 4:case 5:break e;default:{}}t=f+2|0;if((t|0)==(n|0)){t=-1;break A}if((r[t>>0]|0)!=-65)break e;a[l>>2]=f+3;a[s>>2]=a[A+8>>2];t=14;break A}else{if(c<<16>>16<15360){switch(c<<16>>16){case-2:break;default:break i}if((i|0)==1&(r[e+69>>0]|0)==0)break e;a[l>>2]=f+2;a[s>>2]=a[A+20>>2];t=14;break A}switch(c<<16>>16){case 15360:break;default:break i}t=r[e+69>>0]|0;if(t<<24>>24==4){if((i|0)==1)break e}else if((i|0)==1&t<<24>>24==3)break e;t=a[A+20>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}}while(0);if(b<<24>>24){if((i|0)==1|t<<24>>24!=0)break;t=a[A+20>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}if((i|0)==1?(r[e+69>>0]|0)==5:0)break;t=a[A+16>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}}while(0);t=a[A+(r[e+69>>0]<<2)>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0}else t=-4}while(0);return t|0}function N$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){t=e;w=i-t|0;b=(w&1|0)==0;w=w&-2;s=(w|0)==0;w=b|s?i:e+w|0;if(b|s^1){i=r[e>>0]|0;if(!(i<<24>>24)){l=r[e+1>>0]|0;c=l;l=n[A+72+(l&255)>>0]|0}else{l=r[e+1>>0]|0;c=l;l=d$(i,l)|0}do{switch(l|0){case 12:{i=s0(12,A,e+2|0,w,f)|0;break A}case 13:{i=s0(13,A,e+2|0,w,f)|0;break A}case 2:{l=e+2|0;if((w-l|0)<=1){i=-1;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;switch(i|0){case 16:{i=w0(A,e+4|0,w,f)|0;break A}case 15:{i=l0(A,e+4|0,w,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;i=29;break A}default:{a[f>>2]=l;i=0;break A}}}case 9:{if((e+2|0)==(w|0)){a[f>>2]=w;i=-15;break A}else t=7;break}case 10:case 21:{t=7;break}case 30:{i=e0(A,e+2|0,w,f)|0;break A}case 35:{a[f>>2]=e+2;i=38;break A}case 20:{a[f>>2]=e+2;i=25;break A}case 4:{l=e+2|0;i=w-l|0;if((i|0)<=1){i=-26;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){if((i|0)<=3){i=-1;break A}if((r[e+4>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=e+6;i=34;break A}}a[f>>2]=l;i=26;break A}case 31:{a[f>>2]=e+2;i=23;break A}case 32:{l=e+2|0;if((w-l|0)<=1){i=-24;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;switch(i|0){case 33:{a[f>>2]=e+4;i=36;break A}case 15:{a[f>>2]=e+4;i=35;break A}case 34:{a[f>>2]=e+4;i=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;i=24;break A}default:{a[f>>2]=l;i=0;break A}}}case 36:{a[f>>2]=e+2;i=21;break A}case 11:{a[f>>2]=e+2;i=17;break A}case 19:{i=u0(A,e+2|0,w,f)|0;break A}case 5:{if((w-t|0)<2){i=-2;break A}a[f>>2]=e;i=0;break A}case 6:{if((w-t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((w-t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 24:case 22:{i=18;t=61;break}case 23:case 27:case 26:case 25:{i=19;t=61;break}case 29:{t=i&255;l=c&255;i=l>>>5;l=1<<(l&31);if(!(l&a[56940+((i|n[143788+t>>0]<<3)<<2)>>2]))if(!(a[56940+((n[144044+t>>0]<<3|i)<<2)>>2]&l))t=64;else{i=19;t=61}else{i=18;t=61}break}default:t=64}}while(0);if((t|0)==7){b=w;A=A+72|0;c=e;e:while(1){t=c;c=c+2|0;if((b-c|0)<=1){t=28;break}i=r[c>>0]|0;l=r[t+3>>0]|0;if(!(i<<24>>24))i=n[A+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 21:continue e;case 9:break;default:{t=27;break e}}if((t+4|0)==(w|0)){t=27;break}}if((t|0)==27){a[f>>2]=c;i=15;break}else if((t|0)==28){a[f>>2]=c;i=15;break}}else if((t|0)==61){s=A+72|0;l=e+2|0;e:while(1){e=i&255;i:while(1){b=w-l|0;if((b|0)<=1){t=104;break e}t=r[l>>0]|0;c=r[l+1>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 5:{t=73;break e}case 6:{t=74;break e}case 7:{t=76;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{t=78;break e}case 34:{t=94;break e}case 33:{t=97;break e}case 15:{t=100;break e}case 29:{b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){t=71;break e}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{b=l+2|0;switch(e&63){case 41:{i=19;l=b;continue e}case 18:break i;default:{l=b;continue i}}}default:{t=103;break e}}l=l+2|0}A=w-b|0;if((A|0)<=1){i=-1;break A}i=r[b>>0]|0;t=r[l+3>>0]|0;if(!(i<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(i,t)|0;switch(c|0){case 5:{t=89;break e}case 6:{t=90;break e}case 7:{t=92;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(i&255)>>0]<<3)<<2)>>2])){t=87;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{i=19;l=b;continue e}}i=41;l=l+4|0}switch(t|0){case 71:{a[f>>2]=l;i=0;break A}case 73:{a[f>>2]=l;i=0;break A}case 74:{if((b|0)<3){i=-2;break A}a[f>>2]=l;i=0;break A}case 76:{if((b|0)<4){i=-2;break A}a[f>>2]=l;i=0;break A}case 78:{a[f>>2]=l;break A}case 87:{a[f>>2]=b;i=0;break A}case 89:{a[f>>2]=b;i=0;break A}case 90:{if((A|0)<3){i=-2;break A}a[f>>2]=b;i=0;break A}case 92:{if((A|0)<4){i=-2;break A}a[f>>2]=b;i=0;break A}case 94:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=32;break A}case 97:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=31;break A}case 100:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=30;break A}case 103:{a[f>>2]=l;i=0;break A}case 104:{i=0-i|0;break A}}}else if((t|0)==64){a[f>>2]=e;i=0;break}}else i=-1}else i=-4}while(0);return i|0}function X$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+1>>0]|0)>>0]|0;else i=d$(i,r[e+1>>0]|0)|0;do{switch(i|0){case 2:{i=f0(A,e+2|0,t,f)|0;break A}case 3:{i=A0(A,e+2|0,t,f)|0;break A}case 9:{l=e+2|0;if((t-l|0)<=1){i=-3;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 4:{l=e+2|0;if((t-l|0)<=1){i=-5;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-5;break A}if((r[i>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=i;i=0;break A}else i=t}else i=t;break}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:{l=e+2|0;i=t}}}while(0);c=A+72|0;A=l;e:while(1){e=i-A|0;if((e|0)<=1){l=52;break}l=r[A>>0]|0;t=r[A+1>>0]|0;if(!(l<<24>>24))l=n[c+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{l=50;break e}case 5:{A=A+2|0;continue e}case 6:{if((e|0)<3){l=38;break e}A=A+3|0;continue e}case 7:{if((e|0)<4){l=41;break e}A=A+4|0;continue e}case 4:{if((e|0)<=3){l=50;break e}l=A+2|0;if(r[l>>0]|0){A=l;continue e}if((r[A+3>>0]|0)!=93){A=l;continue e}if((e|0)<=5){l=50;break e}t=A+4|0;if(r[t>>0]|0){A=l;continue e}if((r[A+5>>0]|0)==62){l=49;break e}else{A=l;continue e}}default:{A=A+2|0;continue e}}}if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==41){a[f>>2]=A;i=6;break}else if((l|0)==49){a[f>>2]=t;i=0;break}else if((l|0)==50){a[f>>2]=A;i=6;break}else if((l|0)==52){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function R$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+1>>0]|0)>>0]|0;else i=d$(i,r[e+1>>0]|0)|0;switch(i|0){case 4:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-1;break A}if((r[i>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=e+6;i=40;break A}}break}case 9:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;t=i;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;t=i;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;t=i;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:l=e+2|0}c=A+72|0;A=l;e:while(1){e=t-A|0;if((e|0)<=1){l=40;break}i=r[A>>0]|0;l=r[A+1>>0]|0;if(!(i<<24>>24))i=n[c+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 4:{l=38;break e}case 6:{if((e|0)<3){l=35;break e}else i=3;break}case 7:{if((e|0)<4){l=37;break e}else i=4;break}default:i=2}A=A+i|0}if((l|0)==35){a[f>>2]=A;i=6;break}else if((l|0)==37){a[f>>2]=A;i=6;break}else if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==40){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function H$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i-e|0;b=(b&1|0)==0?i:e+(b&-2)|0;c=A+72|0;t=0;i=e;A:while(1){l=b-i|0;if((l|0)<=1){i=-1;break}A=r[i>>0]|0;e=r[i+1>>0]|0;if(!(A<<24>>24))A=n[c+(e&255)>>0]|0;else A=d$(A,e)|0;switch(A|0){case 8:case 1:case 0:{s=12;break A}case 5:{l=t;i=i+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}l=t;i=i+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}l=t;i=i+4|0;t=l;continue A}case 2:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+3>>0]|0)!=33){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}l=(r[i+5>>0]|0)==91;t=t+(l&1)|0;i=l?i+6|0:A;continue A}case 4:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+3>>0]|0)!=93){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+5>>0]|0)!=62){l=t;i=A;t=l;continue A}i=i+6|0;if(!t){s=26;break A}t=t+-1|0;continue A}default:{l=t;i=i+2|0;t=l;continue A}}}if((s|0)==12){a[f>>2]=i;i=0}else if((s|0)==26){a[f>>2]=i;i=42}return i|0}function p$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=30;break}l=r[c>>0]|0;t=r[c+1>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 2:{t=14;break A}case 10:{t=15;break A}case 9:{t=18;break A}case 21:{t=25;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=A0(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14){a[f>>2]=c;l=0;break}else if((t|0)==15)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==18){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==25)if((c|0)==(e|0)){a[f>>2]=e+2;l=39;break}else{a[f>>2]=c;l=6;break}else if((t|0)==30){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function U$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=29;break}l=r[c>>0]|0;t=r[c+1>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 30:{t=14;break A}case 10:{t=17;break A}case 9:{t=20;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=A0(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14)if((c|0)==(e|0)){l=e0(A,e+2|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=c;l=6;break}else if((t|0)==17)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==20){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==29){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function x$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=7;break}if((a-A|0)<2){A=0;break}if(r[A>>0]|0){A=0;break}if((r[A+1>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+2|0}if((n|0)==7)A=(A|0)==(i|0)&1;return A|0}function T$(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=A+72|0;f=e;A:while(1){A=r[f>>0]|0;i=r[f+1>>0]|0;if(!(A<<24>>24))A=n[a+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 5:{A=2;break}case 6:{A=3;break}case 7:{A=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{A=2;break}default:break A}f=f+A|0}return f-e|0}function j$(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A:while(1){A=r[e>>0]|0;i=r[e+1>>0]|0;if(!(A<<24>>24))A=n[f+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 21:case 9:case 10:break;default:break A}e=e+2|0}return e|0}function S$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=A+72|0;w=0;u=0;A=1;A:while(1){s=e+2|0;l=r[s>>0]|0;c=l<<24>>24==0;t=e+3|0;b=r[t>>0]|0;if(c)l=n[k+(b&255)>>0]|0;else l=d$(l,b)|0;do{switch(l|0){case 5:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 6:{if(A|0){c=A;b=u;s=w;e=t;A=c;u=b;w=s;continue A}if((u|0)>=(i|0)){b=u;s=w;A=1;e=t;u=b;w=s;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;b=u;s=w;A=1;e=t;u=b;w=s;continue A}case 7:{if(!A)if((u|0)<(i|0)){a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;A=1}else A=1;b=u;s=w;e=e+4|0;u=b;w=s;continue A}case 24:case 22:case 29:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 12:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=12;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=12;A=2;e=s;u=b;continue A}if((w|0)!=12){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=12;u=u+1|0;A=0;e=s;continue A}case 13:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=13;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=13;A=2;e=s;u=b;continue A}if((w|0)!=13){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=13;u=u+1|0;A=0;e=s;continue A}case 3:{if((u|0)>=(i|0)){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}case 21:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}t=f+(u<<4)+12|0;if(!(r[t>>0]|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}do{if(c&(s|0)!=(a[f+(u<<4)+4>>2]|0)&b<<24>>24==32){l=r[e+4>>0]|0;A=r[e+5>>0]|0;if(!(l<<24>>24)){if(A<<24>>24==32)break;A=n[k+(A&255)>>0]|0}else A=d$(l,A)|0;if((A|0)!=(w|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}}}while(0);r[t>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 10:case 9:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 17:case 11:if((A|0)==2){c=u;b=w;A=2;e=s;u=c;w=b;continue A}else break A;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}}while(0)}return u|0}function P$(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+4|0;A:do{if(!(r[A>>0]|0))if((r[e+5>>0]|0)==120){e=e+6|0;A=0;while(1){e:while(1){if(!(r[e>>0]|0)){i=r[e+1>>0]|0;if(i<<24>>24==59){f=18;break A}i=i<<24>>24;switch(i|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break e}default:{}}}e=e+2|0}if((f|0)==8)A=i+-48|A<<4;else if((f|0)==9)A=(A<<4)+-55+i|0;else if((f|0)==10)A=(A<<4)+-87+i|0;if((A|0)<1114112)e=e+2|0;else{A=-1;f=19;break}}}else{e=A;A=0;f=13}else{i=A;A=0;e=-1;f=16}}while(0);while(1)if((f|0)==13){if(r[e>>0]|0){i=e;e=-1;f=16;continue}if((r[e+1>>0]|0)==59){f=18;continue}i=e;e=r[e+1>>0]|0;f=16;continue}else if((f|0)==16){A=(A*10|0)+-48+e|0;if((A|0)>=1114112){A=-1;f=19;continue}e=i+2|0;f=13;continue}else if((f|0)==18){A=gs(A)|0;f=19;continue}else if((f|0)==19)return A|0;return 0}function O$(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch((i-e|0)/2|0|0){case 2:{if((r[e+2>>0]|0)==0?(r[e+3>>0]|0)==116:0){if(!(r[e>>0]|0))A=r[e+1>>0]|0;else A=-1;A=(A|0)==108?60:(A|0)==103?62:0}else f=27;break}case 3:{if((((((r[e>>0]|0)==0?(r[e+1>>0]|0)==97:0)?(r[e+2>>0]|0)==0:0)?(r[e+3>>0]|0)==109:0)?(r[e+4>>0]|0)==0:0)?(r[e+5>>0]|0)==112:0)A=38;else f=27;break}case 4:{if(!(r[e>>0]|0))switch(r[e+1>>0]|0){case 113:{if(r[e+2>>0]|0){f=27;break A}if((r[e+3>>0]|0)!=117){f=27;break A}if(r[e+4>>0]|0){f=27;break A}if((r[e+5>>0]|0)!=111){f=27;break A}if(r[e+6>>0]|0){f=27;break A}if((r[e+7>>0]|0)==116){A=34;break A}else{f=27;break A}}case 97:{if(r[e+2>>0]|0){f=27;break A}if((r[e+3>>0]|0)!=112){f=27;break A}if(r[e+4>>0]|0){f=27;break A}if((r[e+5>>0]|0)!=111){f=27;break A}if(r[e+6>>0]|0){f=27;break A}if((r[e+7>>0]|0)==115){A=39;break A}else{f=27;break A}}default:{f=27;break A}}else f=27;break}default:f=27}}while(0);if((f|0)==27)A=0;return A|0}function K$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=A+72|0;b=f+4|0;while(1){if((i-e|0)<=1)break;A=r[e>>0]|0;l=r[e+1>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{a[b>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+2|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;t=e+2|0;if((i-t|0)>1){A=r[t>>0]|0;l=r[e+3>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;e=(A|0)==10?e+4|0:t}else e=t;a[b>>2]=-1;break}default:e=e+2|0}a[b>>2]=(a[b>>2]|0)+1}return}function _$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i+-2|0;c=A+72|0;A:while(1){l=e+2|0;if((b-l|0)<=1){i=1;break}i=r[l>>0]|0;t=i<<24>>24==0;A=r[e+3>>0]|0;if(t)i=n[c+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|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=l;continue A}case 21:if(t&A<<24>>24==9){s=12;break A}else{e=l;continue A}case 22:case 26:{if(!t){s=12;break A}if(A<<24>>24>=0){e=l;continue A}break}default:if(!t){s=12;break A}}switch(A<<24>>24|0){case 64:case 36:{e=l;break}default:{s=12;break A}}}if((s|0)==12){a[f>>2]=l;i=0}return i|0}function q$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[e>>2]|0;b=c+(i-c&-2)|0;s=b;w=l;A:while(1){if(c>>>0>=b>>>0){A=0;break}t=r[c+1>>0]|0;A=r[c>>0]|0;i=A&255;switch(A<<24>>24){case 0:{if(t<<24>>24>-1){A=a[f>>2]|0;if((A|0)==(l|0)){A=2;break A}a[f>>2]=A+1;r[A>>0]=t;A=c}else u=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{u=7;break}case-37:case-38:case-39:case-40:{A=a[f>>2]|0;if((w-A|0)<4){A=2;break A}if((s-c|0)<4){A=1;break A}k=t&255;t=(i<<2&12|k>>>6)+1|0;a[f>>2]=A+1;r[A>>0]=t>>>2|240;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>2&15|t<<4&48|128;A=c+2|0;t=n[c+3>>0]|0;i=(k<<4&48|t>>>6|r[A>>0]<<2&12|128)&255;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=i;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=t&63|128;break}default:{A=a[f>>2]|0;if((w-A|0)<3){A=2;break A}a[f>>2]=A+1;r[A>>0]=i>>>4|224;k=t&255;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2&60|128;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}}if((u|0)==7){u=0;A=a[f>>2]|0;if((w-A|0)<2){A=2;break}k=t&255;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2|192;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}c=A+2|0}a[e>>2]=c;return A|0}function $$(A,e,i,l,t){A=A|0;e=e|0;i=i|0;l=l|0;t=t|0;var c=0,b=0,s=0;c=a[e>>2]|0;s=i-c&-2;A=c+s|0;if((s|0)>(t-(a[l>>2]|0)|0)){b=A+-2|0;i=(r[b>>0]&-8)<<24>>24==-40;s=i&1;A=i?b:A}else s=0;i=c;while(1){c=i>>>0>>0;b=a[l>>2]|0;if(!(c&b>>>0>>0))break;c=((n[i>>0]|0)<<8|(n[i+1>>0]|0))&65535;a[l>>2]=b+2;f[b>>1]=c;b=(a[e>>2]|0)+2|0;a[e>>2]=b;i=b}return((b|0)!=(t|0)|c^1?s:2)|0}function A0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=i;c=s-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;A=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;A=0;break A}case 6:{if((c|0)<3){A=-2;break A}a[f>>2]=e;A=0;break A}case 7:{if((c|0)<4){A=-2;break A}a[f>>2]=e;A=0;break A}case 19:{A=i0(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;A=0;break A}}b=A+72|0;c=e;e:while(1){t=c+2|0;e=s-t|0;if((e|0)<=1){A=-1;break A}A=r[t>>0]|0;i=r[c+3>>0]|0;if(!(A<<24>>24))l=n[b+(i&255)>>0]|0;else l=d$(A,i)|0;switch(l|0){case 27:case 26:case 25:case 24:case 22:{c=t;continue e}case 5:{i=23;break e}case 6:{i=24;break e}case 7:{i=26;break e}case 18:{i=28;break e}case 29:break;default:{i=29;break e}}e=i&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(A&255)>>0]|0)<<3)<<2)>>2])){i=22;break}else c=t}if((i|0)==22){a[f>>2]=t;A=0;break}else if((i|0)==23){a[f>>2]=t;A=0;break}else if((i|0)==24){if((e|0)<3){A=-2;break}a[f>>2]=t;A=0;break}else if((i|0)==26){if((e|0)<4){A=-2;break}a[f>>2]=t;A=0;break}else if((i|0)==28){a[f>>2]=c+4;A=9;break}else if((i|0)==29){a[f>>2]=t;A=0;break}}else A=-1}while(0);return A|0}function e0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){b=A+2|0;e=i-b|0;if((e|0)<=1){i=-1;break A}l=r[b>>0]|0;t=r[A+3>>0]|0;if(!(l<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:{A=b;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else A=b}if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){a[f>>2]=b;i=0;break}else if((l|0)==24){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==26){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==28){a[f>>2]=A+4;i=28;break}else if((l|0)==29){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function i0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;b=i;A:do{if((b-e|0)>1){t=r[e>>0]|0;l=r[e+1>>0]|0;do{if(!(t<<24>>24))if(l<<24>>24==120){l=r0(A,e+2|0,i,f)|0;break A}else{l=n[A+72+(l&255)>>0]|0;break}else l=d$(t,l)|0}while(0);if((l|0)!=25){a[f>>2]=e;l=0;break}c=A+72|0;A=e;e:while(1){t=A+2|0;if((b-t|0)<=1){l=-1;break A}l=r[t>>0]|0;i=r[A+3>>0]|0;if(!(l<<24>>24))l=n[c+(i&255)>>0]|0;else l=d$(l,i)|0;switch(l|0){case 25:{A=t;break}case 18:{i=15;break e}default:{i=16;break e}}}if((i|0)==15){a[f>>2]=A+4;l=10;break}else if((i|0)==16){a[f>>2]=t;l=0;break}}else l=-1}while(0);return l|0}function r0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;A:do{if((i-e|0)>1){l=r[e>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+1>>0]|0)>>0]|0;else l=d$(l,r[e+1>>0]|0)|0;if((l&-2|0)!=24){a[f>>2]=e;i=0;break}c=A+72|0;e:while(1){t=e+2|0;if((i-t|0)<=1){i=-1;break A}l=r[t>>0]|0;A=r[e+3>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 25:{e=t;break}case 18:{l=13;break e}default:{l=14;break e}}}if((l|0)==13){a[f>>2]=e+4;i=10;break}else if((l|0)==14){a[f>>2]=t;i=0;break}}else i=-1}while(0);return i|0}function f0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=i;c=k-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{w=t&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;l=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;l=0;break A}case 6:{if((c|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 7:{if((c|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 16:{t=e+2|0;if((k-t|0)<=1){l=-1;break A}l=r[t>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+3>>0]|0)>>0]|0;else l=d$(l,r[e+3>>0]|0)|0;switch(l|0){case 27:{l=a0(A,e+4|0,i,f)|0;break A}case 20:{l=n0(e+4|0,i,f)|0;break A}default:{a[f>>2]=t;l=0;break A}}}case 15:{l=l0(A,e+2|0,i,f)|0;break A}case 17:{l=t0(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}w=A+72|0;s=0;l=e+2|0;e:while(1){i:while(1){t=k-l|0;if((t|0)<=1){l=-1;break A}c=r[l>>0]|0;b=r[l+1>>0]|0;if(!(c<<24>>24))e=n[w+(b&255)>>0]|0;else e=d$(c,b)|0;switch(e|0){case 5:{u=34;break e}case 6:{u=35;break e}case 7:{u=37;break e}case 10:case 9:case 21:{u=55;break e}case 11:{u=69;break e}case 17:break e;case 23:break i;case 29:{e=b&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(c&255)>>0]<<3)<<2)>>2])){u=32;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{u=75;break e}}l=l+2|0}if(s|0){u=40;break}e=l+2|0;s=k-e|0;if((s|0)<=1){l=-1;break A}t=r[e>>0]|0;c=r[l+3>>0]|0;if(!(t<<24>>24))b=n[w+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{u=49;break e}case 6:{u=50;break e}case 7:{u=52;break e}case 29:{s=c&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(t&255)>>0]<<3)<<2)>>2])){u=47;break e}break}case 24:case 22:break;default:{u=54;break e}}s=1;l=l+4|0}e:switch(u|0){case 32:{a[f>>2]=l;l=0;break A}case 34:{a[f>>2]=l;l=0;break A}case 35:{if((t|0)<3){l=-2;break A}a[f>>2]=l;l=0;break A}case 37:{if((t|0)<4){l=-2;break A}a[f>>2]=l;l=0;break A}case 40:{a[f>>2]=l;l=0;break A}case 47:{a[f>>2]=e;l=0;break A}case 49:{a[f>>2]=e;l=0;break A}case 50:{if((s|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 52:{if((s|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 54:{a[f>>2]=e;l=0;break A}case 55:{i:while(1){u=0;t=l+2|0;c=k-t|0;if((c|0)<=1){l=-1;break A}b=r[t>>0]|0;e=r[l+3>>0]|0;if(!(b<<24>>24))s=n[w+(e&255)>>0]|0;else s=d$(b,e)|0;switch(s|0){case 11:{l=t;u=69;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;u=55;break}case 29:{u=60;break i}case 24:case 22:break i;case 5:{u=63;break i}case 6:{u=64;break i}case 7:{u=66;break i}default:{u=68;break i}}}if((u|0)==60){k=e&255;if(!(1<<(k&31)&a[56940+((k>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=t;l=0;break A}}else if((u|0)==63){a[f>>2]=t;l=0;break A}else if((u|0)==64){if((c|0)<3){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==66){if((c|0)<4){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==68){a[f>>2]=t;l=0;break A}l=c0(A,l+4|0,i,f)|0;break A}case 75:{a[f>>2]=l;l=0;break A}}if((u|0)==69){a[f>>2]=l+2;l=2;break}t=l+2|0;if((k-t|0)>1){if((r[t>>0]|0)==0?(r[l+3>>0]|0)==62:0){a[f>>2]=l+4;l=4;break}a[f>>2]=t;l=0}else l=-1}else l=-1}while(0);return l|0}function a0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i;A:do{if((c-e|0)>1){if((r[e>>0]|0)==0?(r[e+1>>0]|0)==45:0){t=A+72|0;l=e+2|0;e:while(1){e=c-l|0;if((e|0)<=1){i=-1;break A}i=r[l>>0]|0;A=r[l+1>>0]|0;if(!(i<<24>>24))i=n[t+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|0){case 8:case 1:case 0:{b=16;break e}case 5:{l=l+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}l=l+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}l=l+4|0;continue e}case 27:{i=l+2|0;if((c-i|0)<=1){i=-1;break A}if(r[i>>0]|0){l=i;continue e}if((r[l+3>>0]|0)==45)break e;else{l=i;continue e}}default:{l=l+2|0;continue e}}}if((b|0)==16){a[f>>2]=l;i=0;break}i=l+4|0;if((c-i|0)<=1){i=-1;break}if((r[i>>0]|0)==0?(r[l+5>>0]|0)==62:0){a[f>>2]=l+6;i=13;break}a[f>>2]=i;i=0;break}a[f>>2]=e;i=0}else i=-1}while(0);return i|0}function n0(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>11){e=0;while(1){if((e|0)>=6){e=8;break}if(r[A>>0]|0){e=0;break}if((r[A+1>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+2|0}a[i>>2]=A}else e=-1;return e|0}function l0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;t=u-e|0;A:do{if((t|0)>1){c=r[e>>0]|0;if(!(c<<24>>24)){l=r[e+1>>0]|0;i=n[A+72+(l&255)>>0]|0}else{l=r[e+1>>0]|0;i=d$(c,l)|0}switch(i|0){case 29:{s=l&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;b=e;e:while(1){i=b+2|0;l=u-i|0;if((l|0)<=1){i=-1;break A}t=r[i>>0]|0;c=r[b+3>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 27:case 26:case 25:case 24:case 22:{b=i;continue e}case 5:{w=22;break e}case 6:{w=23;break e}case 7:{w=25;break e}case 10:case 9:case 21:{w=27;break e}case 15:{w=46;break e}case 29:break;default:break e}b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){w=21;break}else b=i}if((w|0)==21){a[f>>2]=i;i=0;break}else if((w|0)==22){a[f>>2]=i;i=0;break}else if((w|0)==23){if((l|0)<3){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==25){if((l|0)<4){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==27){if(!(b0(e,i,o)|0)){a[f>>2]=i;i=0;break}c=b+4|0;e:while(1){t=u-c|0;if((t|0)<=1){i=-1;break A}i=r[c>>0]|0;l=r[c+1>>0]|0;if(!(i<<24>>24))i=n[s+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 8:case 1:case 0:{w=40;break e}case 5:{c=c+2|0;continue e}case 6:{if((t|0)<3){i=-2;break A}c=c+3|0;continue e}case 7:{if((t|0)<4){i=-2;break A}c=c+4|0;continue e}case 15:{i=c+2|0;if((u-i|0)<=1){i=-1;break A}if(r[i>>0]|0){c=i;continue e}if((r[c+3>>0]|0)==62){w=44;break e}else{c=i;continue e}}default:{c=c+2|0;continue e}}}if((w|0)==40){a[f>>2]=c;i=0;break}else if((w|0)==44){a[f>>2]=c+4;i=a[o>>2]|0;break}}else if((w|0)==46){if(!(b0(e,i,o)|0)){a[f>>2]=i;i=0;break}i=b+4|0;if((u-i|0)<=1){i=-1;break}if((r[i>>0]|0)==0?(r[b+5>>0]|0)==62:0){a[f>>2]=b+6;i=a[o>>2]|0;break}}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function t0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){c=A+2|0;e=i-c|0;if((e|0)<=1){i=-1;break A}l=r[c>>0]|0;t=r[A+3>>0]|0;if(!(l<<24>>24))b=n[s+(t&255)>>0]|0;else b=d$(l,t)|0;switch(b|0){case 23:case 27:case 26:case 25:case 24:case 22:{A=c;continue e}case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 10:case 9:case 21:{l=27;break e}case 11:{l=34;break e}case 29:break;default:{l=35;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}else A=c}if((l|0)==21){a[f>>2]=c;i=0;break}else if((l|0)==22){a[f>>2]=c;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==27){e:while(1){b=c+2|0;if((i-b|0)<=1){i=-1;break A}l=r[b>>0]|0;t=r[c+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 21:{c=b;l=27;break}case 11:{l=32;break e}default:{l=33;break e}}}if((l|0)==32){a[f>>2]=c+4;i=5;break}else if((l|0)==33){a[f>>2]=b;i=0;break}}else if((l|0)==34){a[f>>2]=A+4;i=5;break}else if((l|0)==35){a[f>>2]=c;i=0;break}}else i=-1}while(0);return i|0}function c0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;a[h>>2]=e;d=i;u=A+72|0;l=0;A:while(1){e:while(1){s=d-e|0;if((s|0)<=1){e=-1;break A}t=r[e>>0]|0;c=r[e+1>>0]|0;if(!(t<<24>>24))b=n[u+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{o=11;break A}case 6:{o=12;break A}case 7:{o=14;break A}case 23:{o=16;break e}case 10:case 9:case 21:{o=31;break e}case 14:{o=37;break e}case 29:{w=c&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){o=9;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=89;break A}}w=e+2|0;a[h>>2]=w;e=w}e:do{if((o|0)==16){o=0;if(l|0){o=17;break A}l=e+2|0;a[h>>2]=l;t=l;c=d-t|0;if((c|0)<=1){e=-1;break A}b=r[l>>0]|0;s=r[e+3>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=25;break A}case 6:{o=26;break A}case 7:{o=28;break A}case 24:case 22:{l=1;break e}case 29:break;default:{o=30;break A}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=24;break A}else l=1}else if((o|0)==31)while(1){o=0;t=e+2|0;a[h>>2]=t;c=t;if((d-c|0)<=1){e=-1;break A}l=r[t>>0]|0;e=r[e+3>>0]|0;if(!(l<<24>>24))e=n[u+(e&255)>>0]|0;else e=d$(l,e)|0;switch(e|0){case 14:{e=t;o=37;break e}case 9:case 10:case 21:{e=t;o=31;break}default:{o=36;break A}}}}while(0);e:do{if((o|0)==37){while(1){o=0;c=e+2|0;a[h>>2]=c;b=c;if((d-b|0)<=1){e=-1;break A}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))s=n[u+(t&255)>>0]|0;else s=d$(l,t)|0;if((s|1|0)==13)break;switch(s|0){case 9:case 10:case 21:{e=c;o=37;break}default:{o=43;break A}}}e=e+4|0;a[h>>2]=e;i:while(1){c=d-e|0;if((c|0)<=1){e=-1;break A}l=r[e>>0]|0;t=r[e+1>>0]|0;if(!(l<<24>>24))l=n[u+(t&255)>>0]|0;else l=d$(l,t)|0;if((l|0)==(s|0))break;switch(l|0){case 8:case 1:case 0:{o=56;break A}case 2:{o=61;break A}case 5:{w=e+2|0;a[h>>2]=w;e=w;continue i}case 6:{if((c|0)<3){e=-2;break A}w=e+3|0;a[h>>2]=w;e=w;continue i}case 7:{if((c|0)<4){e=-2;break A}w=e+4|0;a[h>>2]=w;e=w;continue i}case 3:{e=A0(A,e+2|0,i,h)|0;if((e|0)<1){o=59;break A}e=a[h>>2]|0;continue i}default:{w=e+2|0;a[h>>2]=w;e=w;continue i}}}t=e+2|0;a[h>>2]=t;b=t;if((d-b|0)<=1){e=-1;break A}l=r[t>>0]|0;c=r[e+3>>0]|0;if(!(l<<24>>24))l=n[u+(c&255)>>0]|0;else l=d$(l,c)|0;switch(l|0){case 11:{o=81;break A}case 17:{o=82;break A}case 10:case 9:case 21:{e=t;break}default:{o=68;break A}}i:while(1){t=e+2|0;a[h>>2]=t;l=t;c=d-l|0;if((c|0)<=1){e=-1;break A}b=r[t>>0]|0;s=r[e+3>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=76;break A}case 6:{o=77;break A}case 7:{o=79;break A}case 11:{o=81;break A}case 17:{o=82;break A}case 24:case 22:{l=0;break e}case 10:case 9:case 21:{e=t;break}case 29:break i;default:{o=87;break A}}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=75;break A}else l=0}}while(0);e=e+4|0;a[h>>2]=e}switch(o|0){case 9:{a[f>>2]=e;e=0;break}case 11:{a[f>>2]=e;e=0;break}case 12:{if((s|0)<3)e=-2;else{a[f>>2]=e;e=0}break}case 14:{if((s|0)<4)e=-2;else{a[f>>2]=e;e=0}break}case 17:{a[f>>2]=e;e=0;break}case 24:{a[f>>2]=l;e=0;break}case 25:{a[f>>2]=l;e=0;break}case 26:{if((c|0)<3)e=-2;else{a[f>>2]=l;e=0}break}case 28:{if((c|0)<4)e=-2;else{a[f>>2]=l;e=0}break}case 30:{a[f>>2]=t;e=0;break}case 36:{a[f>>2]=c;e=0;break}case 43:{a[f>>2]=b;e=0;break}case 56:{a[f>>2]=e;e=0;break}case 59:{if(!e){a[f>>2]=a[h>>2];e=0}break}case 61:{a[f>>2]=e;e=0;break}case 68:{a[f>>2]=b;e=0;break}case 75:{a[f>>2]=t;e=0;break}case 76:{a[f>>2]=t;e=0;break}case 77:{if((c|0)<3)e=-2;else{a[f>>2]=t;e=0}break}case 79:{if((c|0)<4)e=-2;else{a[f>>2]=t;e=0}break}case 81:{a[f>>2]=e+4;e=1;break}case 82:{l=t+2|0;a[h>>2]=l;e=l;if((d-e|0)>1){if((r[l>>0]|0)==0?(r[t+3>>0]|0)==62:0){a[f>>2]=t+4;e=3;break}a[f>>2]=e;e=0}else e=-1;break}case 87:{a[f>>2]=l;e=0;break}case 89:{a[f>>2]=e;e=0;break}}k=B;return e|0}function b0(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==6?(r[A>>0]|0)==0:0){switch(r[A+1>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}if(!(r[A+2>>0]|0)){switch(r[A+3>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}if(!(r[A+4>>0]|0)){switch(r[A+5>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}else e=1}else e=1}while(0);return e|0}function s0(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0;b=e+72|0;A:while(1){e:while(1){c=f-i|0;if((c|0)<=1){i=-1;break A}e=r[i>>0]|0;t=r[i+1>>0]|0;if(!(e<<24>>24))t=n[b+(t&255)>>0]|0;else t=d$(e,t)|0;switch(t|0){case 8:case 1:case 0:{s=10;break A}case 6:{s=9;break e}case 7:{s=19;break e}case 5:{i=i+2|0;continue e}case 13:case 12:{e=i+2|0;if((t|0)==(A|0)){s=12;break A}else{i=e;continue e}}default:{i=i+2|0;continue e}}}if((s|0)==9){s=0;if((c|0)<3){i=-2;break}else{i=i+3|0;continue}}else if((s|0)==19){s=0;if((c|0)<4){i=-2;break}else{i=i+4|0;continue}}}A:do{if((s|0)==10){a[l>>2]=i;i=0}else if((s|0)==12)if((f-e|0)>1){a[l>>2]=e;f=r[e>>0]|0;i=r[i+3>>0]|0;if(!(f<<24>>24))i=n[b+(i&255)>>0]|0;else i=d$(f,i)|0;switch(i|0){case 20:case 30:case 11:case 10:case 9:case 21:{i=27;break A}default:{}}i=0}else i=-27}while(0);return i|0}function w0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;A:do{if((b-e|0)>1){l=r[e>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+1>>0]|0)>>0]|0;else l=d$(l,r[e+1>>0]|0)|0;switch(l|0){case 27:{l=a0(A,e+2|0,i,f)|0;break A}case 20:{a[f>>2]=e+2;l=33;break A}case 24:case 22:{c=A+72|0;e:while(1){t=e+2|0;i=b-t|0;if((i|0)<=1){l=-1;break A}l=r[t>>0]|0;A=r[e+3>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 22:{e=t;break}case 30:{s=15;break e}case 10:case 9:case 21:break e;default:{s=22;break e}}}if((s|0)==22){a[f>>2]=t;l=0;break A}e:do{if((s|0)==15){if((i|0)<=3){l=-1;break A}A=r[e+4>>0]|0;l=r[e+5>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=t;l=0;break A}}while(0);a[f>>2]=t;l=16;break A}default:{a[f>>2]=e;l=0;break A}}}else l=-1}while(0);return l|0}function u0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}A=A+72|0;b=e;e:while(1){l=b;b=b+2|0;e=i-b|0;if((e|0)<=1){i=-20;break A}c=r[b>>0]|0;l=r[l+3>>0]|0;if(!(c<<24>>24))t=n[A+(l&255)>>0]|0;else t=d$(c,l)|0;switch(t|0){case 27:case 26:case 25:case 24:case 22:continue e;case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=27;break e}case 29:break;default:{l=28;break e}}e=l&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(c&255)>>0]|0)<<3)<<2)>>2])){l=21;break}}if((l|0)==21){a[f>>2]=b;i=0;break}else if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==27){a[f>>2]=b;i=20;break}else if((l|0)==28){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function k0(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;while(1){A=a[e>>2]|0;l=A>>>0>>0;t=a[f>>2]|0;if(!(l&t>>>0>>0))break;a[e>>2]=A+1;l=r[A>>0]|0;t=a[f>>2]|0;a[f>>2]=t+1;r[t>>0]=l}return((t|0)!=(n|0)|l^1?0:2)|0}function o0(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,n=0;A:while(1){a=r[A>>0]|0;n=r[e>>0]|0;a=(a+-97&255)<26?(a&255)+224&255:a;switch((a<<24>>24==((n+-97&255)<26?(n&255)+224&255:n)<<24>>24?a<<24>>24==0?2:0:1)&3){case 0:{e=e+1|0;A=A+1|0;break}case 1:{f=3;break A}case 2:{i=1;break A}default:{f=5;break A}}}if((f|0)==3)i=0;return i|0}function h0(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;return B0(39,A,e,i,r,f,a,n,l,t,c)|0}function d0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+144|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+127|0)|0;do{if((a[t>>2]|0)==(i|0)){r[a[n>>2]>>0]=0;if(o0(f,144315)|0?(a[A+64>>2]|0)==2:0)break;A=D$(f)|0;if((A|0)!=-1)A=a[58948+(A<<2)>>2]|0;else A=0}else A=0}while(0);k=l;return A|0}function B0(A,e,i,r,f,n,l,t,c,b,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;v=E+8|0;h=E+12|0;u=E+4|0;o=E;a[h>>2]=0;a[u>>2]=0;a[o>>2]=0;g=i+64|0;B=a[g>>2]|0;d=r+(B*5|0)|0;a[v>>2]=d;B=f+(0-(B<<1))|0;d=(v0(i,d,B,u,o,h,v)|0)!=0;w=a[u>>2]|0;r=w;A:do{if(d&(w|0)!=0){d=i+24|0;f=a[o>>2]|0;do{if(!(y5[a[d>>2]&127](i,w,f,144340)|0)){if(!e){a[n>>2]=r;r=0;break A}}else{if(l|0)a[l>>2]=a[h>>2];if(!t)r=a[v>>2]|0;else{r=a[v>>2]|0;a[t>>2]=r}if(!(v0(i,r,B,u,o,h,v)|0)){a[n>>2]=a[v>>2];r=0;break A}f=a[u>>2]|0;if(f|0){r=f;w=f;f=a[o>>2]|0;break}if(!e){r=1;break A}a[n>>2]=a[v>>2];r=0;break A}}while(0);if(y5[a[d>>2]&127](i,w,f,144348)|0){f=a[h>>2]|0;r=f;if((((g0(i,f,B)|0)&-33)+-65|0)>>>0>=26){a[n>>2]=r;r=0;break}if(c|0)a[c>>2]=r;r=a[v>>2]|0;if(b|0)a[b>>2]=W5[A&63](i,f,r+(0-(a[g>>2]|0))|0)|0;if(!(v0(i,r,B,u,o,h,v)|0)){a[n>>2]=a[v>>2];r=0;break}r=a[u>>2]|0;if(!r){r=1;break}w=r;f=a[o>>2]|0}if((e|0)!=0|(y5[a[d>>2]&127](i,w,f,144357)|0)==0){a[n>>2]=r;r=0;break}f=a[h>>2]|0;r=a[v>>2]|0;w=f;if(!(y5[a[d>>2]&127](i,f,r+(0-(a[g>>2]|0))|0,107657)|0)){if(!(y5[a[d>>2]&127](i,f,r+(0-(a[g>>2]|0))|0,107649)|0)){a[n>>2]=w;r=0;break}if(s)a[s>>2]=0}else if(s)a[s>>2]=1;while(1){if(!(E0(g0(i,r,B)|0)|0))break;r=r+(a[g>>2]|0)|0}a[v>>2]=r;if((r|0)==(B|0))r=1;else{a[n>>2]=r;r=0}}else{a[n>>2]=a[v>>2];r=0}}while(0);k=E;return r|0}function v0(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0;A:do{if((e|0)!=(i|0)){if(!(E0(g0(A,e,i)|0)|0)){a[l>>2]=e;e=0;break}c=A+64|0;do{e=e+(a[c>>2]|0)|0}while((E0(g0(A,e,i)|0)|0)!=0);if((e|0)==(i|0)){a[r>>2]=0;e=1;break}a[r>>2]=e;e:while(1){t=g0(A,e,i)|0;switch(t|0){case-1:{t=11;break e}case 61:{t=12;break e}default:{}}if(E0(t)|0){t=14;break}e=e+(a[c>>2]|0)|0}if((t|0)==11){a[l>>2]=e;e=0;break}else if((t|0)==12)a[f>>2]=e;else if((t|0)==14){a[f>>2]=e;do{e=e+(a[c>>2]|0)|0;t=g0(A,e,i)|0}while((E0(t)|0)!=0);if((t|0)!=61){a[l>>2]=e;e=0;break}}if((e|0)==(a[r>>2]|0)){a[l>>2]=e;e=0;break}do{e=e+(a[c>>2]|0)|0;t=g0(A,e,i)|0}while((E0(t)|0)!=0);switch(t|0){case 34:case 39:break;default:{a[l>>2]=e;e=0;break A}}f=e+(a[c>>2]|0)|0;a[n>>2]=f;e=t<<24>>24;e:while(1){t=g0(A,f,i)|0;if((t|0)==(e|0)){t=30;break}if((t+-48|0)>>>0>9&((t&-33)+-65|0)>>>0>25)switch(t|0){case 45:case 46:case 95:break;default:{t=28;break e}}f=f+(a[c>>2]|0)|0}if((t|0)==28){a[l>>2]=f;e=0;break}else if((t|0)==30){a[l>>2]=f+(a[c>>2]|0);e=1;break}}else{a[r>>2]=0;e=1}}while(0);return e|0}function g0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+16|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+1|0)|0;k=l;return((a[n>>2]|0)==(f|0)?-1:r[f>>0]|0)|0}function E0(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 C0(){return 60092}function I0(A,e,i){A=A|0;e=e|0;i=i|0;i=D$(i)|0;if((i|0)==-1)i=0;else{r[A+69>>0]=i;a[A>>2]=69;a[A+4>>2]=70;a[A+48>>2]=31;a[A+72>>2]=e;a[e>>2]=A;i=1}return i|0}function Z0(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(60456,A,0,e,i,r)|0}function G0(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(60456,A,1,e,i,r)|0}function Q0(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;return B0(40,A,e,i,r,f,a,n,l,t,c)|0}function m0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+144|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+127|0)|0;do{if((a[t>>2]|0)==(i|0)){r[a[n>>2]>>0]=0;if(o0(f,144315)|0?(a[A+64>>2]|0)==2:0)break;A=D$(f)|0;if((A|0)!=-1)A=a[60456+(A<<2)>>2]|0;else A=0}else A=0}while(0);k=l;return A|0}function L0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;A=vs(A,e,i,f)|0;if(A|0)r[A+72+58>>0]=23;return A|0}function W0(A){A=A|0;a[A>>2]=15;a[A+16>>2]=1;a[A+12>>2]=0;a[A+20>>2]=0;return}function y0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{a[A>>2]=16;A=0;break}case 12:{a[A>>2]=16;A=1;break}case 11:{a[A>>2]=16;A=55;break}case 13:{a[A>>2]=16;A=56;break}case 14:{A=0;break}case 16:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]<<1)|0,r,144368)|0))n=9;else{a[A>>2]=17;A=3}break}case 29:{a[A>>2]=18;A=2;break}default:n=9}if((n|0)==9)A=M0(A,e)|0;return A|0}function z0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 14:case 15:{A=0;break}case 11:{A=55;break}case 13:{A=56;break}case 16:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]<<1)|0,r,144368)|0))n=7;else{a[A>>2]=17;A=3}break}case 29:{a[A>>2]=18;A=2;break}default:n=7}if((n|0)==7)A=M0(A,e)|0;return A|0}function Y0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 41:case 18:{a[A>>2]=19;A=4;break}default:A=M0(A,e)|0}return A|0}function D0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function M0(A,e){A=A|0;e=e|0;if((e|0)==28&(a[A+16>>2]|0)==0)A=59;else{a[A>>2]=18;A=-1}return A|0}function F0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=3;break}case 25:{a[A>>2]=20;A=7;break}case 17:{a[A>>2]=21;A=8;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=22;A=3;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=8;else{a[A>>2]=23;A=3}break}default:l=8}}while(0);if((l|0)==8)A=M0(A,e)|0;return A|0}function V0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;A:do{switch(e|0){case-4:case 15:{A=0;break}case 16:{n=f+24|0;l=f+64|0;if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144390)|0){a[A>>2]=24;A=11;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144397)|0){a[A>>2]=25;A=33;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144405)|0){a[A>>2]=26;A=39;break A}if(!(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144413)|0))t=14;else{a[A>>2]=27;A=17}break}case 11:{A=55;break}case 13:{A=56;break}case 28:{A=60;break}case 26:{a[A>>2]=28;A=3;break}default:t=14}}while(0);if((t|0)==14)A=M0(A,e)|0;return A|0}function J0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;f=e+-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:{a[A>>2]=18;A=2;break}default:A=M0(A,e)|0}return A|0}function N0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 27:{a[A>>2]=29;A=5;break}default:A=M0(A,e)|0}return A|0}function X0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 27:{a[A>>2]=22;A=6;break}default:A=M0(A,e)|0}return A|0}function R0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 25:{a[A>>2]=20;A=7;break}case 17:{a[A>>2]=21;A=8;break}default:A=M0(A,e)|0}return A|0}function H0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 22:{a[A>>2]=30;A=11;break}case 18:{a[A>>2]=31;A=9;break}default:A=M0(A,e)|0}return A|0}function p0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 41:case 18:{a[A>>2]=32;A=34;break}default:A=M0(A,e)|0}return A|0}function U0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 41:case 18:{a[A>>2]=33;A=40;break}default:A=M0(A,e)|0}return A|0}function x0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 18:{a[A>>2]=34;A=18;break}default:A=M0(A,e)|0}return A|0}function T0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 17:{a[A>>2]=21;A=8;break}default:A=M0(A,e)|0}return A|0}function j0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=17;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=35;A=17;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=6;else{a[A>>2]=36;A=17}break}default:l=6}}while(0);if((l|0)==6)A=M0(A,e)|0;return A|0}function S0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=37;a[A+8>>2]=17;A=19;break}default:A=M0(A,e)|0}return A|0}function P0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=38;A=21;break}default:A=M0(A,e)|0}return A|0}function O0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=37;a[A+8>>2]=17;A=19;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=20;break}default:A=M0(A,e)|0}return A|0}function K0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=a[A+8>>2]|0;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=a[A+8>>2]|0;break}default:A=M0(A,e)|0}return A|0}function _0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 33:{a[A>>2]=40;i=0;break}case 34:{i=A+12|0;r=a[i>>2]|0;if(!r)n=7;else{a[i>>2]=r+-1;i=0}break}case 15:{i=0;break}case 26:{n=7;break}case-4:{if(!(a[A+12>>2]|0))i=0;else n=7;break}default:i=V0(A,e,i,r,f)|0}if((n|0)==7)i=M0(A,e)|0;return i|0}function q0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=0;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144422)|0){a[A>>2]=41;A=0;break A}if(!(y5[a[n>>2]&127](f,i,r,144430)|0))l=6;else{a[A>>2]=42;A=0}break}default:l=6}}while(0);if((l|0)==6)A=M0(A,e)|0;return A|0}function $0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=0;break}case 25:{a[A>>2]=39;A=A+12|0;a[A>>2]=(a[A>>2]|0)+1;A=0;break}default:A=M0(A,e)|0}return A|0}function A2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=0;break}case 25:{a[A>>2]=39;A=58;break}default:A=M0(A,e)|0}return A|0}function e2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=39;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144437)|0){a[A>>2]=37;a[A+8>>2]=39;A=42;break A}if(!(y5[a[n>>2]&127](f,i,r,144443)|0))l=7;else{a[A>>2]=37;a[A+8>>2]=39;A=41}break}case 23:{a[A>>2]=43;a[A+4>>2]=1;A=44;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function i2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{A=39;break}case 20:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]|0)|0,r,144447)|0))n=9;else{a[A>>2]=44;A=43}break}case 23:{a[A+4>>2]=2;a[A>>2]=45;A=44;break}case 41:case 18:{a[A>>2]=46;A=51;break}case 30:{a[A>>2]=46;A=53;break}case 31:{a[A>>2]=46;A=52;break}case 32:{a[A>>2]=46;A=54;break}default:n=9}if((n|0)==9)A=M0(A,e)|0;return A|0}function r2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 24:{a[A>>2]=37;a[A+8>>2]=39;A=45;break}case 36:{a[A>>2]=37;a[A+8>>2]=39;A=46;break}case 21:{a[A>>2]=47;A=39;break}default:A=M0(A,e)|0}return A|0}function f2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 23:{A=A+4|0;a[A>>2]=(a[A>>2]|0)+1;A=44;break}case 41:case 18:{a[A>>2]=46;A=51;break}case 30:{a[A>>2]=46;A=53;break}case 31:{a[A>>2]=46;A=52;break}case 32:{a[A>>2]=46;A=54;break}default:A=M0(A,e)|0}return A|0}function a2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 24:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=45}else A=45;break}case 36:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=46}else A=46;break}case 35:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=47}else A=47;break}case 37:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=48}else A=48;break}case 38:{a[A>>2]=45;A=50;break}case 21:{a[A>>2]=45;A=49;break}default:A=M0(A,e)|0}return A|0}function n2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 41:case 18:{a[A>>2]=48;A=51;break}default:A=M0(A,e)|0}return A|0}function l2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 36:{a[A>>2]=37;a[A+8>>2]=39;A=46;break}case 21:{a[A>>2]=47;A=39;break}default:A=M0(A,e)|0}return A|0}function t2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=33;break}case 41:case 18:{a[A>>2]=49;A=22;break}default:A=M0(A,e)|0}return A|0}function c2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;A:do{switch(e|0){case 15:{n=33;break}case 18:{l=f+24|0;n=0;while(1){t=a[l>>2]|0;if((n|0)>=8)break;if(y5[t&127](f,i,r,a[62304+(n<<2)>>2]|0)|0){c=6;break}n=n+1|0}if((c|0)==6){a[A>>2]=50;n=n+23|0;break A}if(!(y5[t&127](f,i,r,144413)|0))c=10;else{a[A>>2]=51;n=33}break}case 23:{a[A>>2]=52;n=33;break}default:c=10}}while(0);if((c|0)==10)n=M0(A,e)|0;return n|0}function b2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;A:do{switch(e|0){case 15:{A=33;break}case 20:{n=f+24|0;l=f+64|0;if(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144454)|0){a[A>>2]=32;A=35;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144462)|0){a[A>>2]=32;A=36;break A}if(!(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144471)|0))t=9;else{a[A>>2]=53;A=33}break}case 27:{a[A>>2]=32;A=37;break}default:t=9}}while(0);if((t|0)==9)A=M0(A,e)|0;return A|0}function s2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 23:{a[A>>2]=54;A=33;break}default:A=M0(A,e)|0}return A|0}function w2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 41:case 18:case 19:{a[A>>2]=55;A=31;break}default:A=M0(A,e)|0}return A|0}function u2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 24:{a[A>>2]=50;A=33;break}case 21:{a[A>>2]=52;A=33;break}default:A=M0(A,e)|0}return A|0}function k2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 18:{a[A>>2]=56;A=32;break}default:A=M0(A,e)|0}return A|0}function o2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 24:{a[A>>2]=50;A=33;break}case 21:{a[A>>2]=54;A=33;break}default:A=M0(A,e)|0}return A|0}function h2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 27:{a[A>>2]=32;A=38;break}default:A=M0(A,e)|0}return A|0}function d2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 18:{a[A>>2]=57;A=10;break}default:A=M0(A,e)|0}return A|0}function B2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=11;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=58;A=11;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=7;else{a[A>>2]=59;A=11}break}case 27:{a[A>>2]=37;a[A+8>>2]=11;A=12;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function v2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=60;A=13;break}default:A=M0(A,e)|0}return A|0}function g2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=58;A=14;break}default:A=M0(A,e)|0}return A|0}function E2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{A=11;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=15;break}case 18:{if(!(y5[a[f+24>>2]&127](f,i,r,144525)|0))n=5;else{a[A>>2]=61;A=11}break}default:n=5}if((n|0)==5)A=M0(A,e)|0;return A|0}function C2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 18:{a[A>>2]=37;a[A+8>>2]=11;A=16;break}default:A=M0(A,e)|0}return A|0}function I2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=11;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=62;A=11;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=7;else{a[A>>2]=63;A=11}break}case 27:{a[A>>2]=37;a[A+8>>2]=11;A=12;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function Z2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=64;A=13;break}default:A=M0(A,e)|0}return A|0}function G2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=62;A=14;break}default:A=M0(A,e)|0}return A|0}function Q2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=15;break}default:A=M0(A,e)|0}return A|0}function m2(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+16|0;o=I;do{if(A>>>0<245){s=A>>>0<11?16:A+11&-8;A=s>>>3;u=a[47519]|0;i=u>>>A;if(i&3|0){e=(i&1^1)+A|0;A=190116+(e<<1<<2)|0;i=A+8|0;r=a[i>>2]|0;f=r+8|0;n=a[f>>2]|0;if((n|0)==(A|0))a[47519]=u&~(1<>2]=A;a[i>>2]=n}C=e<<3;a[r+4>>2]=C|3;C=r+C+4|0;a[C>>2]=a[C>>2]|1;C=f;k=I;return C|0}w=a[47521]|0;if(s>>>0>w>>>0){if(i|0){e=2<>>12&16;e=e>>>t;i=e>>>5&8;e=e>>>i;n=e>>>2&4;e=e>>>n;A=e>>>1&2;e=e>>>A;r=e>>>1&1;r=(i|t|n|A|r)+(e>>>r)|0;e=190116+(r<<1<<2)|0;A=e+8|0;n=a[A>>2]|0;t=n+8|0;i=a[t>>2]|0;if((i|0)==(e|0)){A=u&~(1<>2]=e;a[A>>2]=i;A=u}C=r<<3;l=C-s|0;a[n+4>>2]=s|3;f=n+s|0;a[f+4>>2]=l|1;a[n+C>>2]=l;if(w|0){r=a[47524]|0;e=w>>>3;i=190116+(e<<1<<2)|0;e=1<>2]|0}a[A>>2]=r;a[e+12>>2]=r;a[r+8>>2]=e;a[r+12>>2]=i}a[47521]=l;a[47524]=f;C=t;k=I;return C|0}c=a[47520]|0;if(c){i=(c&0-c)+-1|0;t=i>>>12&16;i=i>>>t;l=i>>>5&8;i=i>>>l;b=i>>>2&4;i=i>>>b;r=i>>>1&2;i=i>>>r;A=i>>>1&1;A=a[190380+((l|t|b|r|A)+(i>>>A)<<2)>>2]|0;i=(a[A+4>>2]&-8)-s|0;r=a[A+16+(((a[A+16>>2]|0)==0&1)<<2)>>2]|0;if(!r){b=A;l=i}else{do{t=(a[r+4>>2]&-8)-s|0;b=t>>>0>>0;i=b?t:i;A=b?r:A;r=a[r+16+(((a[r+16>>2]|0)==0&1)<<2)>>2]|0}while((r|0)!=0);b=A;l=i}t=b+s|0;if(t>>>0>b>>>0){f=a[b+24>>2]|0;e=a[b+12>>2]|0;do{if((e|0)==(b|0)){A=b+20|0;e=a[A>>2]|0;if(!e){A=b+16|0;e=a[A>>2]|0;if(!e){i=0;break}}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0;i=e}else{i=a[b+8>>2]|0;a[i+12>>2]=e;a[e+8>>2]=i;i=e}}while(0);do{if(f|0){e=a[b+28>>2]|0;A=190380+(e<<2)|0;if((b|0)==(a[A>>2]|0)){a[A>>2]=i;if(!i){a[47520]=c&~(1<>2]|0)!=(b|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=f;e=a[b+16>>2]|0;if(e|0){a[i+16>>2]=e;a[e+24>>2]=i}e=a[b+20>>2]|0;if(e|0){a[i+20>>2]=e;a[e+24>>2]=i}}}while(0);if(l>>>0<16){C=l+s|0;a[b+4>>2]=C|3;C=b+C+4|0;a[C>>2]=a[C>>2]|1}else{a[b+4>>2]=s|3;a[t+4>>2]=l|1;a[t+l>>2]=l;if(w|0){r=a[47524]|0;e=w>>>3;i=190116+(e<<1<<2)|0;e=1<>2]|0}a[A>>2]=r;a[e+12>>2]=r;a[r+8>>2]=e;a[r+12>>2]=i}a[47521]=l;a[47524]=t}C=b+8|0;k=I;return C|0}else w=s}else w=s}else w=s}else if(A>>>0<=4294967231){A=A+11|0;s=A&-8;b=a[47520]|0;if(b){r=0-s|0;A=A>>>8;if(A)if(s>>>0>16777215)c=31;else{u=(A+1048320|0)>>>16&8;E=A<>>16&4;E=E<>>16&2;c=14-(w|u|c)+(E<>>15)|0;c=s>>>(c+7|0)&1|c<<1}else c=0;i=a[190380+(c<<2)>>2]|0;A:do{if(!i){i=0;A=0;E=57}else{A=0;t=i;l=s<<((c|0)==31?0:25-(c>>>1)|0);i=0;while(1){f=(a[t+4>>2]&-8)-s|0;if(f>>>0>>0)if(!f){r=0;i=t;A=t;E=61;break A}else{A=t;r=f}f=a[t+20>>2]|0;t=a[t+16+(l>>>31<<2)>>2]|0;i=(f|0)==0|(f|0)==(t|0)?i:f;f=(t|0)==0;if(f){E=57;break}else l=l<<((f^1)&1)}}}while(0);if((E|0)==57){if((i|0)==0&(A|0)==0){A=2<>>12&16;u=u>>>t;l=u>>>5&8;u=u>>>l;c=u>>>2&4;u=u>>>c;w=u>>>1&2;u=u>>>w;i=u>>>1&1;A=0;i=a[190380+((l|t|c|w|i)+(u>>>i)<<2)>>2]|0}if(!i){t=A;l=r}else E=61}if((E|0)==61)while(1){E=0;w=(a[i+4>>2]&-8)-s|0;u=w>>>0>>0;r=u?w:r;A=u?i:A;i=a[i+16+(((a[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=A;l=r;break}else E=61}if((t|0)!=0?l>>>0<((a[47521]|0)-s|0)>>>0:0){n=t+s|0;if(n>>>0<=t>>>0){C=0;k=I;return C|0}f=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){A=t+20|0;e=a[A>>2]|0;if(!e){A=t+16|0;e=a[A>>2]|0;if(!e){e=0;break}}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0}else{C=a[t+8>>2]|0;a[C+12>>2]=e;a[e+8>>2]=C}}while(0);do{if(f){A=a[t+28>>2]|0;i=190380+(A<<2)|0;if((t|0)==(a[i>>2]|0)){a[i>>2]=e;if(!e){r=b&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=e;if(!e){r=b;break}}a[e+24>>2]=f;A=a[t+16>>2]|0;if(A|0){a[e+16>>2]=A;a[A+24>>2]=e}A=a[t+20>>2]|0;if(A){a[e+20>>2]=A;a[A+24>>2]=e;r=b}else r=b}else r=b}while(0);do{if(l>>>0>=16){a[t+4>>2]=s|3;a[n+4>>2]=l|1;a[n+l>>2]=l;e=l>>>3;if(l>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=n;a[e+12>>2]=n;a[n+8>>2]=e;a[n+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)e=31;else{E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;e=14-(g|E|e)+(C<>>15)|0;e=l>>>(e+7|0)&1|e<<1}else e=0;i=190380+(e<<2)|0;a[n+28>>2]=e;A=n+16|0;a[A+4>>2]=0;a[A>>2]=0;A=1<>2]=n;a[n+24>>2]=i;a[n+12>>2]=n;a[n+8>>2]=n;break}A=l<<((e|0)==31?0:25-(e>>>1)|0);i=a[i>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(l|0)){E=97;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=96;break}else{A=A<<1;i=e}}if((E|0)==96){a[r>>2]=n;a[n+24>>2]=i;a[n+12>>2]=n;a[n+8>>2]=n;break}else if((E|0)==97){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=n;a[E>>2]=n;a[n+8>>2]=C;a[n+12>>2]=i;a[n+24>>2]=0;break}}else{C=l+s|0;a[t+4>>2]=C|3;C=t+C+4|0;a[C>>2]=a[C>>2]|1}}while(0);C=t+8|0;k=I;return C|0}else w=s}else w=s}else w=-1}while(0);i=a[47521]|0;if(i>>>0>=w>>>0){e=i-w|0;A=a[47524]|0;if(e>>>0>15){C=A+w|0;a[47524]=C;a[47521]=e;a[C+4>>2]=e|1;a[A+i>>2]=e;a[A+4>>2]=w|3}else{a[47521]=0;a[47524]=0;a[A+4>>2]=i|3;C=A+i+4|0;a[C>>2]=a[C>>2]|1}C=A+8|0;k=I;return C|0}t=a[47522]|0;if(t>>>0>w>>>0){g=t-w|0;a[47522]=g;C=a[47525]|0;E=C+w|0;a[47525]=E;a[E+4>>2]=g|1;a[C+4>>2]=w|3;C=C+8|0;k=I;return C|0}if(!(a[47637]|0)){a[47639]=4096;a[47638]=4096;a[47640]=-1;a[47641]=-1;a[47642]=0;a[47630]=0;a[47637]=o&-16^1431655768;A=4096}else A=a[47639]|0;c=w+48|0;b=w+47|0;l=A+b|0;f=0-A|0;s=l&f;if(s>>>0<=w>>>0){C=0;k=I;return C|0}A=a[47629]|0;if(A|0?(u=a[47627]|0,o=u+s|0,o>>>0<=u>>>0|o>>>0>A>>>0):0){C=0;k=I;return C|0}A:do{if(!(a[47630]&4)){i=a[47525]|0;e:do{if(i){r=190524;while(1){A=a[r>>2]|0;if(A>>>0<=i>>>0?(B=r+4|0,(A+(a[B>>2]|0)|0)>>>0>i>>>0):0)break;A=a[r+8>>2]|0;if(!A){E=118;break e}else r=A}e=l-t&f;if(e>>>0<2147483647){A=D6(e|0)|0;if((A|0)==((a[r>>2]|0)+(a[B>>2]|0)|0)){if((A|0)!=(-1|0)){l=e;n=A;E=135;break A}}else{r=A;E=126}}else e=0}else E=118}while(0);do{if((E|0)==118){i=D6(0)|0;if((i|0)!=(-1|0)?(e=i,h=a[47638]|0,d=h+-1|0,e=((d&e|0)==0?0:(d+e&0-h)-e|0)+s|0,h=a[47627]|0,d=e+h|0,e>>>0>w>>>0&e>>>0<2147483647):0){B=a[47629]|0;if(B|0?d>>>0<=h>>>0|d>>>0>B>>>0:0){e=0;break}A=D6(e|0)|0;if((A|0)==(i|0)){l=e;n=i;E=135;break A}else{r=A;E=126}}else e=0}}while(0);do{if((E|0)==126){i=0-e|0;if(!(c>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){e=0;break}else{l=e;n=r;E=135;break A}A=a[47639]|0;A=b-e+A&0-A;if(A>>>0>=2147483647){l=e;n=r;E=135;break A}if((D6(A|0)|0)==(-1|0)){D6(i|0)|0;e=0;break}else{l=A+e|0;n=r;E=135;break A}}}while(0);a[47630]=a[47630]|4;E=133}else{e=0;E=133}}while(0);if(((E|0)==133?s>>>0<2147483647:0)?(n=D6(s|0)|0,B=D6(0)|0,v=B-n|0,g=v>>>0>(w+40|0)>>>0,!((n|0)==(-1|0)|g^1|n>>>0>>0&((n|0)!=(-1|0)&(B|0)!=(-1|0))^1)):0){l=g?v:e;E=135}if((E|0)==135){e=(a[47627]|0)+l|0;a[47627]=e;if(e>>>0>(a[47628]|0)>>>0)a[47628]=e;c=a[47525]|0;do{if(c){e=190524;while(1){A=a[e>>2]|0;i=e+4|0;r=a[i>>2]|0;if((n|0)==(A+r|0)){E=143;break}f=a[e+8>>2]|0;if(!f)break;else e=f}if(((E|0)==143?(a[e+12>>2]&8|0)==0:0)?n>>>0>c>>>0&A>>>0<=c>>>0:0){a[i>>2]=r+l;C=(a[47522]|0)+l|0;g=c+8|0;g=(g&7|0)==0?0:0-g&7;E=c+g|0;g=C-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[c+C+4>>2]=40;a[47526]=a[47641];break}if(n>>>0<(a[47523]|0)>>>0)a[47523]=n;A=n+l|0;e=190524;while(1){if((a[e>>2]|0)==(A|0)){E=151;break}e=a[e+8>>2]|0;if(!e){A=190524;break}}if((E|0)==151)if(!(a[e+12>>2]&8)){a[e>>2]=n;s=e+4|0;a[s>>2]=(a[s>>2]|0)+l;s=n+8|0;s=n+((s&7|0)==0?0:0-s&7)|0;e=A+8|0;e=A+((e&7|0)==0?0:0-e&7)|0;b=s+w|0;t=e-s-w|0;a[s+4>>2]=w|3;do{if((c|0)!=(e|0)){if((a[47524]|0)==(e|0)){C=(a[47521]|0)+t|0;a[47521]=C;a[47524]=b;a[b+4>>2]=C|1;a[b+C>>2]=C;break}A=a[e+4>>2]|0;if((A&3|0)==1){l=A&-8;r=A>>>3;A:do{if(A>>>0<256){A=a[e+8>>2]|0;i=a[e+12>>2]|0;if((i|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=A;break}}else{n=a[e+24>>2]|0;A=a[e+12>>2]|0;do{if((A|0)==(e|0)){r=e+16|0;i=r+4|0;A=a[i>>2]|0;if(!A){A=a[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=a[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=a[r>>2]|0;if(!f)break;else{A=f;i=r}}a[i>>2]=0}else{C=a[e+8>>2]|0;a[C+12>>2]=A;a[A+8>>2]=C}}while(0);if(!n)break;i=a[e+28>>2]|0;r=190380+(i<<2)|0;do{if((a[r>>2]|0)!=(e|0)){a[n+16+(((a[n+16>>2]|0)!=(e|0)&1)<<2)>>2]=A;if(!A)break A}else{a[r>>2]=A;if(A|0)break;a[47520]=a[47520]&~(1<>2]=n;i=e+16|0;r=a[i>>2]|0;if(r|0){a[A+16>>2]=r;a[r+24>>2]=A}i=a[i+4>>2]|0;if(!i)break;a[A+20>>2]=i;a[i+24>>2]=A}}while(0);e=e+l|0;f=l+t|0}else f=t;e=e+4|0;a[e>>2]=a[e>>2]&-2;a[b+4>>2]=f|1;a[b+f>>2]=f;e=f>>>3;if(f>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=b;a[e+12>>2]=b;a[b+8>>2]=e;a[b+12>>2]=i;break}e=f>>>8;do{if(!e)e=0;else{if(f>>>0>16777215){e=31;break}E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;e=14-(g|E|e)+(C<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);r=190380+(e<<2)|0;a[b+28>>2]=e;A=b+16|0;a[A+4>>2]=0;a[A>>2]=0;A=a[47520]|0;i=1<>2]=b;a[b+24>>2]=r;a[b+12>>2]=b;a[b+8>>2]=b;break}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){E=192;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=191;break}else{A=A<<1;i=e}}if((E|0)==191){a[r>>2]=b;a[b+24>>2]=i;a[b+12>>2]=b;a[b+8>>2]=b;break}else if((E|0)==192){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=b;a[E>>2]=b;a[b+8>>2]=C;a[b+12>>2]=i;a[b+24>>2]=0;break}}else{C=(a[47522]|0)+t|0;a[47522]=C;a[47525]=b;a[b+4>>2]=C|1}}while(0);C=s+8|0;k=I;return C|0}else A=190524;while(1){e=a[A>>2]|0;if(e>>>0<=c>>>0?(C=e+(a[A+4>>2]|0)|0,C>>>0>c>>>0):0)break;A=a[A+8>>2]|0}f=C+-47|0;A=f+8|0;A=f+((A&7|0)==0?0:0-A&7)|0;f=c+16|0;A=A>>>0>>0?c:A;e=A+8|0;i=l+-40|0;g=n+8|0;g=(g&7|0)==0?0:0-g&7;E=n+g|0;g=i-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[n+i+4>>2]=40;a[47526]=a[47641];i=A+4|0;a[i>>2]=27;a[e>>2]=a[47631];a[e+4>>2]=a[47632];a[e+8>>2]=a[47633];a[e+12>>2]=a[47634];a[47631]=n;a[47632]=l;a[47634]=0;a[47633]=e;e=A+24|0;do{E=e;e=e+4|0;a[e>>2]=7}while((E+8|0)>>>0>>0);if((A|0)!=(c|0)){n=A-c|0;a[i>>2]=a[i>>2]&-2;a[c+4>>2]=n|1;a[A>>2]=n;e=n>>>3;if(n>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=c;a[e+12>>2]=c;a[c+8>>2]=e;a[c+12>>2]=i;break}e=n>>>8;if(e)if(n>>>0>16777215)i=31;else{E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;i=14-(g|E|i)+(C<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;r=190380+(i<<2)|0;a[c+28>>2]=i;a[c+20>>2]=0;a[f>>2]=0;e=a[47520]|0;A=1<>2]=c;a[c+24>>2]=r;a[c+12>>2]=c;a[c+8>>2]=c;break}A=n<<((i|0)==31?0:25-(i>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(n|0)){E=213;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=212;break}else{A=A<<1;i=e}}if((E|0)==212){a[r>>2]=c;a[c+24>>2]=i;a[c+12>>2]=c;a[c+8>>2]=c;break}else if((E|0)==213){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=c;a[E>>2]=c;a[c+8>>2]=C;a[c+12>>2]=i;a[c+24>>2]=0;break}}}else{C=a[47523]|0;if((C|0)==0|n>>>0>>0)a[47523]=n;a[47631]=n;a[47632]=l;a[47634]=0;a[47528]=a[47637];a[47527]=-1;a[47532]=190116;a[47531]=190116;a[47534]=190124;a[47533]=190124;a[47536]=190132;a[47535]=190132;a[47538]=190140;a[47537]=190140;a[47540]=190148;a[47539]=190148;a[47542]=190156;a[47541]=190156;a[47544]=190164;a[47543]=190164;a[47546]=190172;a[47545]=190172;a[47548]=190180;a[47547]=190180;a[47550]=190188;a[47549]=190188;a[47552]=190196;a[47551]=190196;a[47554]=190204;a[47553]=190204;a[47556]=190212;a[47555]=190212;a[47558]=190220;a[47557]=190220;a[47560]=190228;a[47559]=190228;a[47562]=190236;a[47561]=190236;a[47564]=190244;a[47563]=190244;a[47566]=190252;a[47565]=190252;a[47568]=190260;a[47567]=190260;a[47570]=190268;a[47569]=190268;a[47572]=190276;a[47571]=190276;a[47574]=190284;a[47573]=190284;a[47576]=190292;a[47575]=190292;a[47578]=190300;a[47577]=190300;a[47580]=190308;a[47579]=190308;a[47582]=190316;a[47581]=190316;a[47584]=190324;a[47583]=190324;a[47586]=190332;a[47585]=190332;a[47588]=190340;a[47587]=190340;a[47590]=190348;a[47589]=190348;a[47592]=190356;a[47591]=190356;a[47594]=190364;a[47593]=190364;C=l+-40|0;g=n+8|0;g=(g&7|0)==0?0:0-g&7;E=n+g|0;g=C-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[n+C+4>>2]=40;a[47526]=a[47641]}}while(0);e=a[47522]|0;if(e>>>0>w>>>0){g=e-w|0;a[47522]=g;C=a[47525]|0;E=C+w|0;a[47525]=E;a[E+4>>2]=g|1;a[C+4>>2]=w|3;C=C+8|0;k=I;return C|0}}a[(X2()|0)>>2]=12;C=0;k=I;return C|0}function L2(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;if(!A)return;i=A+-8|0;f=a[47523]|0;A=a[A+-4>>2]|0;e=A&-8;c=i+e|0;do{if(!(A&1)){r=a[i>>2]|0;if(!(A&3))return;l=i+(0-r)|0;n=r+e|0;if(l>>>0>>0)return;if((a[47524]|0)==(l|0)){A=c+4|0;e=a[A>>2]|0;if((e&3|0)!=3){t=l;e=n;break}a[47521]=n;a[A>>2]=e&-2;a[l+4>>2]=n|1;a[l+n>>2]=n;return}i=r>>>3;if(r>>>0<256){A=a[l+8>>2]|0;e=a[l+12>>2]|0;if((e|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=e;a[e+8>>2]=A;t=l;e=n;break}}f=a[l+24>>2]|0;A=a[l+12>>2]|0;do{if((A|0)==(l|0)){i=l+16|0;e=i+4|0;A=a[e>>2]|0;if(!A){A=a[i>>2]|0;if(!A){A=0;break}else e=i}while(1){i=A+20|0;r=a[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=a[i>>2]|0;if(!r)break;else{A=r;e=i}}a[e>>2]=0}else{t=a[l+8>>2]|0;a[t+12>>2]=A;a[A+8>>2]=t}}while(0);if(f){e=a[l+28>>2]|0;i=190380+(e<<2)|0;if((a[i>>2]|0)==(l|0)){a[i>>2]=A;if(!A){a[47520]=a[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A){t=l;e=n;break}}a[A+24>>2]=f;e=l+16|0;i=a[e>>2]|0;if(i|0){a[A+16>>2]=i;a[i+24>>2]=A}e=a[e+4>>2]|0;if(e){a[A+20>>2]=e;a[e+24>>2]=A;t=l;e=n}else{t=l;e=n}}else{t=l;e=n}}else{t=i;l=i}}while(0);if(l>>>0>=c>>>0)return;A=c+4|0;r=a[A>>2]|0;if(!(r&1))return;if(!(r&2)){if((a[47525]|0)==(c|0)){c=(a[47522]|0)+e|0;a[47522]=c;a[47525]=t;a[t+4>>2]=c|1;if((t|0)!=(a[47524]|0))return;a[47524]=0;a[47521]=0;return}if((a[47524]|0)==(c|0)){c=(a[47521]|0)+e|0;a[47521]=c;a[47524]=l;a[t+4>>2]=c|1;a[l+c>>2]=c;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){e=a[c+8>>2]|0;A=a[c+12>>2]|0;if((A|0)==(e|0)){a[47519]=a[47519]&~(1<>2]=A;a[A+8>>2]=e;break}}else{n=a[c+24>>2]|0;A=a[c+12>>2]|0;do{if((A|0)==(c|0)){i=c+16|0;e=i+4|0;A=a[e>>2]|0;if(!A){A=a[i>>2]|0;if(!A){i=0;break}else e=i}while(1){i=A+20|0;r=a[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=a[i>>2]|0;if(!r)break;else{A=r;e=i}}a[e>>2]=0;i=A}else{i=a[c+8>>2]|0;a[i+12>>2]=A;a[A+8>>2]=i;i=A}}while(0);if(n|0){A=a[c+28>>2]|0;e=190380+(A<<2)|0;if((a[e>>2]|0)==(c|0)){a[e>>2]=i;if(!i){a[47520]=a[47520]&~(1<>2]|0)!=(c|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=n;A=c+16|0;e=a[A>>2]|0;if(e|0){a[i+16>>2]=e;a[e+24>>2]=i}A=a[A+4>>2]|0;if(A|0){a[i+20>>2]=A;a[A+24>>2]=i}}}}while(0);a[t+4>>2]=f|1;a[l+f>>2]=f;if((t|0)==(a[47524]|0)){a[47521]=f;return}}else{a[A>>2]=r&-2;a[t+4>>2]=e|1;a[l+e>>2]=e;f=e}A=f>>>3;if(f>>>0<256){i=190116+(A<<1<<2)|0;e=a[47519]|0;A=1<>2]|0}a[e>>2]=t;a[A+12>>2]=t;a[t+8>>2]=A;a[t+12>>2]=i;return}A=f>>>8;if(A)if(f>>>0>16777215)A=31;else{l=(A+1048320|0)>>>16&8;c=A<>>16&4;c=c<>>16&2;A=14-(n|l|A)+(c<>>15)|0;A=f>>>(A+7|0)&1|A<<1}else A=0;r=190380+(A<<2)|0;a[t+28>>2]=A;a[t+20>>2]=0;a[t+16>>2]=0;e=a[47520]|0;i=1<>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){A=73;break}r=i+16+(e>>>31<<2)|0;A=a[r>>2]|0;if(!A){A=72;break}else{e=e<<1;i=A}}if((A|0)==72){a[r>>2]=t;a[t+24>>2]=i;a[t+12>>2]=t;a[t+8>>2]=t;break}else if((A|0)==73){l=i+8|0;c=a[l>>2]|0;a[c+12>>2]=t;a[l>>2]=t;a[t+8>>2]=c;a[t+12>>2]=i;a[t+24>>2]=0;break}}else{a[47520]=e|i;a[r>>2]=t;a[t+24>>2]=r;a[t+12>>2]=t;a[t+8>>2]=t}}while(0);c=(a[47527]|0)+-1|0;a[47527]=c;if(!c)A=190532;else return;while(1){A=a[A>>2]|0;if(!A)break;else A=A+8|0}a[47527]=-1;return}function W2(A,e){A=A|0;e=e|0;var i=0;if(A){i=U(e,A)|0;if((e|A)>>>0>65535)i=((i>>>0)/(A>>>0)|0|0)==(e|0)?i:-1}else i=0;A=m2(i)|0;if(!A)return A|0;if(!(a[A+-4>>2]&3))return A|0;Y6(A|0,0,i|0)|0;return A|0}function y2(A,e){A=A|0;e=e|0;var i=0,r=0;if(!A){e=m2(e)|0;return e|0}if(e>>>0>4294967231){a[(X2()|0)>>2]=12;e=0;return e|0}i=z2(A+-8|0,e>>>0<11?16:e+11&-8)|0;if(i|0){e=i+8|0;return e|0}i=m2(e)|0;if(!i){e=0;return e|0}r=a[A+-4>>2]|0;r=(r&-8)-((r&3|0)==0?8:4)|0;y6(i|0,A|0,(r>>>0>>0?r:e)|0)|0;L2(A);e=i;return e|0}function z2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=A+4|0;w=a[s>>2]|0;i=w&-8;t=A+i|0;if(!(w&3)){if(e>>>0<256){A=0;return A|0}if(i>>>0>=(e+4|0)>>>0?(i-e|0)>>>0<=a[47639]<<1>>>0:0)return A|0;A=0;return A|0}if(i>>>0>=e>>>0){i=i-e|0;if(i>>>0<=15)return A|0;b=A+e|0;a[s>>2]=w&1|e|2;a[b+4>>2]=i|3;w=t+4|0;a[w>>2]=a[w>>2]|1;Y2(b,i);return A|0}if((a[47525]|0)==(t|0)){b=(a[47522]|0)+i|0;i=b-e|0;r=A+e|0;if(b>>>0<=e>>>0){A=0;return A|0}a[s>>2]=w&1|e|2;a[r+4>>2]=i|1;a[47525]=r;a[47522]=i;return A|0}if((a[47524]|0)==(t|0)){r=(a[47521]|0)+i|0;if(r>>>0>>0){A=0;return A|0}i=r-e|0;if(i>>>0>15){b=A+e|0;r=A+r|0;a[s>>2]=w&1|e|2;a[b+4>>2]=i|1;a[r>>2]=i;r=r+4|0;a[r>>2]=a[r>>2]&-2;r=b}else{a[s>>2]=w&1|r|2;r=A+r+4|0;a[r>>2]=a[r>>2]|1;r=0;i=0}a[47521]=i;a[47524]=r;return A|0}r=a[t+4>>2]|0;if(r&2|0){A=0;return A|0}c=(r&-8)+i|0;if(c>>>0>>0){A=0;return A|0}b=c-e|0;f=r>>>3;do{if(r>>>0<256){r=a[t+8>>2]|0;i=a[t+12>>2]|0;if((i|0)==(r|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=r;break}}else{l=a[t+24>>2]|0;i=a[t+12>>2]|0;do{if((i|0)==(t|0)){f=t+16|0;r=f+4|0;i=a[r>>2]|0;if(!i){i=a[f>>2]|0;if(!i){f=0;break}else n=f}else n=r;while(1){f=i+20|0;r=a[f>>2]|0;if(r|0){i=r;n=f;continue}r=i+16|0;f=a[r>>2]|0;if(!f)break;else{i=f;n=r}}a[n>>2]=0;f=i}else{f=a[t+8>>2]|0;a[f+12>>2]=i;a[i+8>>2]=f;f=i}}while(0);if(l|0){i=a[t+28>>2]|0;r=190380+(i<<2)|0;if((a[r>>2]|0)==(t|0)){a[r>>2]=f;if(!f){a[47520]=a[47520]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=f;if(!f)break}a[f+24>>2]=l;i=t+16|0;r=a[i>>2]|0;if(r|0){a[f+16>>2]=r;a[r+24>>2]=f}i=a[i+4>>2]|0;if(i|0){a[f+20>>2]=i;a[i+24>>2]=f}}}}while(0);if(b>>>0<16){a[s>>2]=c|w&1|2;w=A+c+4|0;a[w>>2]=a[w>>2]|1;return A|0}else{t=A+e|0;a[s>>2]=w&1|e|2;a[t+4>>2]=b|3;w=A+c+4|0;a[w>>2]=a[w>>2]|1;Y2(t,b);return A|0}return 0}function Y2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=A+e|0;i=a[A+4>>2]|0;do{if(!(i&1)){f=a[A>>2]|0;if(!(i&3))return;l=A+(0-f)|0;e=f+e|0;if((a[47524]|0)==(l|0)){A=t+4|0;i=a[A>>2]|0;if((i&3|0)!=3)break;a[47521]=e;a[A>>2]=i&-2;a[l+4>>2]=e|1;a[t>>2]=e;return}r=f>>>3;if(f>>>0<256){A=a[l+8>>2]|0;i=a[l+12>>2]|0;if((i|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=A;break}}n=a[l+24>>2]|0;A=a[l+12>>2]|0;do{if((A|0)==(l|0)){r=l+16|0;i=r+4|0;A=a[i>>2]|0;if(!A){A=a[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=a[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=a[r>>2]|0;if(!f)break;else{A=f;i=r}}a[i>>2]=0}else{f=a[l+8>>2]|0;a[f+12>>2]=A;a[A+8>>2]=f}}while(0);if(n){i=a[l+28>>2]|0;r=190380+(i<<2)|0;if((a[r>>2]|0)==(l|0)){a[r>>2]=A;if(!A){a[47520]=a[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A)break}a[A+24>>2]=n;i=l+16|0;r=a[i>>2]|0;if(r|0){a[A+16>>2]=r;a[r+24>>2]=A}i=a[i+4>>2]|0;if(i){a[A+20>>2]=i;a[i+24>>2]=A}}}else l=A}while(0);A=t+4|0;r=a[A>>2]|0;if(!(r&2)){if((a[47525]|0)==(t|0)){t=(a[47522]|0)+e|0;a[47522]=t;a[47525]=l;a[l+4>>2]=t|1;if((l|0)!=(a[47524]|0))return;a[47524]=0;a[47521]=0;return}if((a[47524]|0)==(t|0)){t=(a[47521]|0)+e|0;a[47521]=t;a[47524]=l;a[l+4>>2]=t|1;a[l+t>>2]=t;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){A=a[t+8>>2]|0;e=a[t+12>>2]|0;if((e|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=e;a[e+8>>2]=A;break}}else{n=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){i=t+16|0;A=i+4|0;e=a[A>>2]|0;if(!e){e=a[i>>2]|0;if(!e){i=0;break}else A=i}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0;i=e}else{i=a[t+8>>2]|0;a[i+12>>2]=e;a[e+8>>2]=i;i=e}}while(0);if(n|0){e=a[t+28>>2]|0;A=190380+(e<<2)|0;if((a[A>>2]|0)==(t|0)){a[A>>2]=i;if(!i){a[47520]=a[47520]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=n;e=t+16|0;A=a[e>>2]|0;if(A|0){a[i+16>>2]=A;a[A+24>>2]=i}e=a[e+4>>2]|0;if(e|0){a[i+20>>2]=e;a[e+24>>2]=i}}}}while(0);a[l+4>>2]=f|1;a[l+f>>2]=f;if((l|0)==(a[47524]|0)){a[47521]=f;return}}else{a[A>>2]=r&-2;a[l+4>>2]=e|1;a[l+e>>2]=e;f=e}e=f>>>3;if(f>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=l;a[e+12>>2]=l;a[l+8>>2]=e;a[l+12>>2]=i;return}e=f>>>8;if(e)if(f>>>0>16777215)e=31;else{n=(e+1048320|0)>>>16&8;t=e<>>16&4;t=t<>>16&2;e=14-(r|n|e)+(t<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;r=190380+(e<<2)|0;a[l+28>>2]=e;a[l+20>>2]=0;a[l+16>>2]=0;A=a[47520]|0;i=1<>2]=l;a[l+24>>2]=r;a[l+12>>2]=l;a[l+8>>2]=l;return}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){e=69;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){e=68;break}else{A=A<<1;i=e}}if((e|0)==68){a[r>>2]=l;a[l+24>>2]=i;a[l+12>>2]=l;a[l+8>>2]=l;return}else if((e|0)==69){n=i+8|0;t=a[n>>2]|0;a[t+12>>2]=l;a[n>>2]=l;a[l+8>>2]=t;a[l+12>>2]=i;a[l+24>>2]=0;return}}function D2(A,e){A=A|0;e=e|0;if(A>>>0<9){e=m2(e)|0;return e|0}else{e=M2(A,e)|0;return e|0}return 0}function M2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;A=A>>>0>16?A:16;if(A+-1&A){i=16;while(1)if(i>>>0>>0)i=i<<1;else{A=i;break}}if((-64-A|0)>>>0<=e>>>0){a[(X2()|0)>>2]=12;l=0;return l|0}n=e>>>0<11?16:e+11&-8;i=m2(n+12+A|0)|0;if(!i){l=0;return l|0}f=i+-8|0;do{if(A+-1&i){r=(i+A+-1&0-A)+-8|0;e=f;r=(r-e|0)>>>0>15?r:r+A|0;e=r-e|0;A=i+-4|0;t=a[A>>2]|0;i=(t&-8)-e|0;if(!(t&3)){a[r>>2]=(a[f>>2]|0)+e;a[r+4>>2]=i;A=r;e=r;break}else{t=r+4|0;a[t>>2]=i|a[t>>2]&1|2;i=r+i+4|0;a[i>>2]=a[i>>2]|1;a[A>>2]=e|a[A>>2]&1|2;a[t>>2]=a[t>>2]|1;Y2(f,e);A=r;e=r;break}}else{A=f;e=f}}while(0);A=A+4|0;i=a[A>>2]|0;if(i&3|0?(l=i&-8,l>>>0>(n+16|0)>>>0):0){t=l-n|0;f=e+n|0;a[A>>2]=n|i&1|2;a[f+4>>2]=t|3;l=e+l+4|0;a[l>>2]=a[l>>2]|1;Y2(f,t)}t=e+8|0;return t|0}function F2(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=R2(a[A+60>>2]|0)|0;A=N2(NA(6,i|0)|0)|0;k=e;return A|0}function V2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+32|0;f=b;t=b+16|0;a[t>>2]=e;n=t+4|0;c=A+48|0;s=a[c>>2]|0;a[n>>2]=i-((s|0)!=0&1);l=A+44|0;a[t+8>>2]=a[l>>2];a[t+12>>2]=s;a[f>>2]=a[A+60>>2];a[f+4>>2]=t;a[f+8>>2]=2;f=N2(mA(145,f|0)|0)|0;if((f|0)>=1){t=a[n>>2]|0;if(f>>>0>t>>>0){n=a[l>>2]|0;l=A+4|0;a[l>>2]=n;a[A+8>>2]=n+(f-t);if(!(a[c>>2]|0))f=i;else{a[l>>2]=n+1;r[e+(i+-1)>>0]=r[n>>0]|0;f=i}}}else a[A>>2]=a[A>>2]|f&48^16;k=b;return f|0}function J2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=k;k=k+32|0;n=f;r=f+20|0;a[n>>2]=a[A+60>>2];a[n+4>>2]=0;a[n+8>>2]=e;a[n+12>>2]=r;a[n+16>>2]=i;if((N2(QA(140,n|0)|0)|0)<0){a[r>>2]=-1;A=-1}else A=a[r>>2]|0;k=f;return A|0}function N2(A){A=A|0;if(A>>>0>4294963200){a[(X2()|0)>>2]=0-A;A=-1}return A|0}function X2(){return 190572}function R2(A){A=A|0;return A|0}function H2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;n=k;k=k+32|0;f=n;a[A+36>>2]=18;if((a[A>>2]&64|0)==0?(a[f>>2]=a[A+60>>2],a[f+4>>2]=21523,a[f+8>>2]=n+16,JA(54,f|0)|0):0)r[A+75>>0]=-1;f=p2(A,e,i)|0;k=n;return f|0}function p2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;w=k;k=k+48|0;b=w+16|0;n=w;f=w+32|0;t=A+28|0;r=a[t>>2]|0;a[f>>2]=r;c=A+20|0;r=(a[c>>2]|0)-r|0;a[f+4>>2]=r;a[f+8>>2]=e;a[f+12>>2]=i;r=r+i|0;l=A+60|0;a[n>>2]=a[l>>2];a[n+4>>2]=f;a[n+8>>2]=2;n=N2(LA(146,n|0)|0)|0;A:do{if((r|0)!=(n|0)){e=2;while(1){if((n|0)<0)break;r=r-n|0;o=a[f+4>>2]|0;u=n>>>0>o>>>0;f=u?f+8|0:f;e=e+(u<<31>>31)|0;o=n-(u?o:0)|0;a[f>>2]=(a[f>>2]|0)+o;u=f+4|0;a[u>>2]=(a[u>>2]|0)-o;a[b>>2]=a[l>>2];a[b+4>>2]=f;a[b+8>>2]=e;n=N2(LA(146,b|0)|0)|0;if((r|0)==(n|0)){s=3;break A}}a[A+16>>2]=0;a[t>>2]=0;a[c>>2]=0;a[A>>2]=a[A>>2]|32;if((e|0)==2)i=0;else i=i-(a[f+4>>2]|0)|0}else s=3}while(0);if((s|0)==3){o=a[A+44>>2]|0;a[A+16>>2]=o+(a[A+48>>2]|0);a[t>>2]=o;a[c>>2]=o}k=w;return i|0}function U2(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=A;a[r+4>>2]=e;e=N2(XA(91,r|0)|0)|0;k=i;return e|0}function x2(){return}function T2(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;t=k;k=k+32|0;l=t;do{if((n&4095|0)==0&(((n|0)<0)<<31>>31&-4096|0)==0){if(e>>>0>2147483646){a[(X2()|0)>>2]=12;A=-1;break}a[l>>2]=A;a[l+4>>2]=e;a[l+8>>2]=i;a[l+12>>2]=r;a[l+16>>2]=f;a[l+20>>2]=n>>12;A=N2(WA(192,l|0)|0)|0}else{a[(X2()|0)>>2]=22;A=-1}}while(0);k=t;return A|0}function j2(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=e&255;A:do{if(!f)A=A+(S2(A)|0)|0;else{if(A&3){i=e&255;do{n=r[A>>0]|0;if(n<<24>>24==0?1:n<<24>>24==i<<24>>24)break A;A=A+1|0}while((A&3|0)!=0)}f=U(f,16843009)|0;i=a[A>>2]|0;e:do{if(!((i&-2139062144^-2139062144)&i+-16843009))do{n=i^f;if((n&-2139062144^-2139062144)&n+-16843009|0)break e;A=A+4|0;i=a[A>>2]|0}while(!((i&-2139062144^-2139062144)&i+-16843009|0))}while(0);i=e&255;while(1){n=r[A>>0]|0;if(n<<24>>24==0?1:n<<24>>24==i<<24>>24)break;else A=A+1|0}}}while(0);return A|0}function S2(A){A=A|0;var e=0,i=0,f=0;f=A;A:do{if(!(f&3))i=4;else{e=f;while(1){if(!(r[A>>0]|0)){A=e;break A}A=A+1|0;e=A;if(!(e&3)){i=4;break}}}}while(0);if((i|0)==4){while(1){e=a[A>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))A=A+4|0;else break}if((e&255)<<24>>24)do{A=A+1|0}while((r[A>>0]|0)!=0)}return A-f|0}function P2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;n=l+16|0;f=l;r=l+32|0;if(!(e&4194368))r=0;else{a[r>>2]=i;t=(a[r>>2]|0)+(4-1)&~(4-1);i=a[t>>2]|0;a[r>>2]=t+4;r=i}a[f>>2]=A;a[f+4>>2]=e|32768;a[f+8>>2]=r;r=VA(5,f|0)|0;if(!((e&524288|0)==0|(r|0)<0)){a[n>>2]=r;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0}t=N2(r)|0;k=l;return t|0}function O2(A,e){A=A|0;e=e|0;var i=0,f=0;f=0;while(1){if((n[144531+f>>0]|0)==(A|0)){A=2;break}i=f+1|0;if((i|0)==87){i=144619;f=87;A=5;break}else f=i}if((A|0)==2)if(!f)i=144619;else{i=144619;A=5}if((A|0)==5)while(1){do{A=i;i=i+1|0}while((r[A>>0]|0)!=0);f=f+-1|0;if(!f)break;else A=5}return K2(i,a[e+20>>2]|0)|0}function K2(A,e){A=A|0;e=e|0;return _2(A,e)|0}function _2(A,e){A=A|0;e=e|0;if(!e)e=0;else e=q2(a[e>>2]|0,a[e+4>>2]|0,A)|0;return(e|0?e:A)|0}function q2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=(a[A>>2]|0)+1794895138|0;l=$2(a[A+8>>2]|0,k)|0;f=$2(a[A+12>>2]|0,k)|0;n=$2(a[A+16>>2]|0,k)|0;A:do{if((l>>>0>>2>>>0?(u=e-(l<<2)|0,f>>>0>>0&n>>>0>>0):0)?((n|f)&3|0)==0:0){u=f>>>2;w=n>>>2;s=0;while(1){c=l>>>1;b=s+c|0;t=b<<1;n=t+u|0;f=$2(a[A+(n<<2)>>2]|0,k)|0;n=$2(a[A+(n+1<<2)>>2]|0,k)|0;if(!(n>>>0>>0&f>>>0<(e-n|0)>>>0)){f=0;break A}if(r[A+(n+f)>>0]|0){f=0;break A}f=A1(i,A+n|0)|0;if(!f)break;f=(f|0)<0;if((l|0)==1){f=0;break A}else{s=f?s:b;l=f?c:l-c|0}}f=t+w|0;n=$2(a[A+(f<<2)>>2]|0,k)|0;f=$2(a[A+(f+1<<2)>>2]|0,k)|0;if(f>>>0>>0&n>>>0<(e-f|0)>>>0)f=(r[A+(f+n)>>0]|0)==0?A+f|0:0;else f=0}else f=0}while(0);return f|0}function $2(A,e){A=A|0;e=e|0;var i=0;i=m6(A|0)|0;return((e|0)==0?A:i)|0}function A1(A,e){A=A|0;e=e|0;var i=0,f=0;i=r[A>>0]|0;f=r[e>>0]|0;if(i<<24>>24==0?1:i<<24>>24!=f<<24>>24)A=f;else{do{A=A+1|0;e=e+1|0;i=r[A>>0]|0;f=r[e>>0]|0}while(!(i<<24>>24==0?1:i<<24>>24!=f<<24>>24));A=f}return(i&255)-(A&255)|0}function e1(A){A=A|0;return O2(A,a[(i1()|0)+188>>2]|0)|0}function i1(){return r1()|0}function r1(){return 62976}function f1(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0.0,a=0.0;a=A*A;r=a*(a*a)*(a*1.58969099521155e-10+-2.5050760253406863e-08)+(a*(a*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);f=a*A;if(!i)A=f*(a*r+-.16666666666666632)+A;else A=A-(f*.16666666666666632+(a*(e*.5-f*r)-e));return+A}function a1(A){A=+A;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;b[w>>3]=A;e=a[w>>2]|0;i=a[w+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;r=-1077;e=a[w>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;a[w>>2]=e;a[w+4>>2]=(f&1048575)+1072079006;s=+b[w>>3]+-1.0;t=s*(s*.5);l=s/(s+2.0);c=l*l;n=c*c;b[w>>3]=s-t;i=a[w+4>>2]|0;a[w>>2]=0;a[w+4>>2]=i;A=+b[w>>3];n=s-A-t+l*(t+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));c=A*1.4426950407214463;t=+(r+(f>>>20)|0);l=c+t;A=l+(c+(t-l)+(n*1.4426950407214463+(n+A)*1.6751713164886512e-10))}return+A}function n1(A,e){A=+A;e=e|0;var i=0,r=0,f=0;b[w>>3]=A;i=a[w>>2]|0;r=a[w+4>>2]|0;f=Z6(i|0,r|0,52)|0;switch(f&2047){case 0:{if(A!=0.0){A=+n1(A*18446744073709551616.0,e);i=(a[e>>2]|0)+-64|0}else i=0;a[e>>2]=i;break}case 2047:break;default:{a[e>>2]=(f&2047)+-1022;a[w>>2]=i;a[w+4>>2]=r&-2146435073|1071644672;A=+b[w>>3]}}return+A}function l1(A,e){A=+A;e=+e;var i=0.0,r=0.0,f=0.0,a=0.0;i=A*A;r=i*i;f=i*.5;a=1.0-f;return+(a+(1.0-a-f+(i*(i*(i*(i*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+r*r*(i*(2.087572321298175e-09-i*1.1359647557788195e-11)+-2.7557314351390663e-07))-A*e)))}function t1(A){A=+A;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;b[w>>3]=A;e=a[w>>2]|0;i=a[w+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;r=-1077;e=a[w>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;a[w>>2]=e;a[w+4>>2]=(f&1048575)+1072079006;t=+b[w>>3]+-1.0;l=t*(t*.5);c=t/(t+2.0);s=c*c;n=s*s;b[w>>3]=t-l;i=a[w+4>>2]|0;a[w>>2]=0;a[w+4>>2]=i;A=+b[w>>3];n=t-A-l+c*(l+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+s*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));s=A*.4342944818781689;l=+(r+(f>>>20)|0);c=l*.30102999566361177;t=c+s;A=t+(s+(c-t)+(n*.4342944818781689+(l*3.694239077158931e-13+(n+A)*2.5082946711645275e-11)))}return+A}function c1(A,e){A=+A;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+48|0;c=d+16|0;s=d;b[w>>3]=A;i=a[w>>2]|0;l=a[w+4>>2]|0;u=Z6(i|0,l|0,63)|0;h=l&2147483647;do{if(h>>>0<1074752123)if((l&1048575|0)!=598523){i=(u|0)!=0;if(h>>>0<1073928573)if(i){n=A+1.5707963267341256;t=n+6.077100506506192e-11;b[e>>3]=t;b[e+8>>3]=n-t+6.077100506506192e-11;i=-1;break}else{n=A+-1.5707963267341256;t=n+-6.077100506506192e-11;b[e>>3]=t;b[e+8>>3]=n-t+-6.077100506506192e-11;i=1;break}else if(i){n=A+3.1415926534682512;t=n+1.2154201013012384e-10;b[e>>3]=t;b[e+8>>3]=n-t+1.2154201013012384e-10;i=-2;break}else{n=A+-3.1415926534682512;t=n+-1.2154201013012384e-10;b[e>>3]=t;b[e+8>>3]=n-t+-1.2154201013012384e-10;i=2;break}}else o=21;else{if(h>>>0<1075594812)if(h>>>0<1075183037){if((h|0)==1074977148){o=21;break}if(!u){n=A+-4.712388980202377;t=n+-1.8231301519518578e-10;b[e>>3]=t;b[e+8>>3]=n-t+-1.8231301519518578e-10;i=3;break}else{n=A+4.712388980202377;t=n+1.8231301519518578e-10;b[e>>3]=t;b[e+8>>3]=n-t+1.8231301519518578e-10;i=-3;break}}else{if((h|0)==1075388923){o=21;break}if(!u){n=A+-6.2831853069365025;t=n+-2.430840202602477e-10;b[e>>3]=t;b[e+8>>3]=n-t+-2.430840202602477e-10;i=4;break}else{n=A+6.2831853069365025;t=n+2.430840202602477e-10;b[e>>3]=t;b[e+8>>3]=n-t+2.430840202602477e-10;i=-4;break}}if(h>>>0>=1094263291){if(h>>>0>2146435071){t=A-A;b[e+8>>3]=t;b[e>>3]=t;i=0;break}a[w>>2]=i;a[w+4>>2]=l&1048575|1096810496;A=+b[w>>3];i=0;do{t=+(~~A|0);b[c+(i<<3)>>3]=t;A=(A-t)*16777216.0;i=i+1|0}while((i|0)!=2);b[c+16>>3]=A;if(A==0.0){i=1;while(1)if(+b[c+(i<<3)>>3]==0.0)i=i+-1|0;else break}else i=2;i=b1(c,s,(h>>>20)+-1046|0,i+1|0,1)|0;A=+b[s>>3];if(!u){b[e>>3]=A;b[e+8>>3]=+b[s+8>>3];break}else{b[e>>3]=-A;b[e+8>>3]=-+b[s+8>>3];i=0-i|0;break}}else o=21}}while(0);if((o|0)==21){n=A*.6366197723675814+6755399441055744.0+-6755399441055744.0;i=~~n;r=A-n*1.5707963267341256;f=n*6.077100506506192e-11;A=r-f;b[e>>3]=A;b[w>>3]=A;o=Z6(a[w>>2]|0,a[w+4>>2]|0,52)|0;l=h>>>20;if((l-(o&2047)|0)>16){f=n*6.077100506303966e-11;t=r-f;f=n*2.0222662487959506e-21-(r-t-f);A=t-f;b[e>>3]=A;b[w>>3]=A;h=Z6(a[w>>2]|0,a[w+4>>2]|0,52)|0;B=n*2.0222662487111665e-21;r=t-B;n=n*8.4784276603689e-32-(t-r-B);if((l-(h&2047)|0)>49){A=r-n;b[e>>3]=A;f=n}else r=t}b[e+8>>3]=r-A-f}k=d;return i|0}function b1(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,y=0,z=0,Y=0,D=0,M=0.0;D=k;k=k+560|0;m=D+480|0;G=D+320|0;Y=D+160|0;y=D;L=a[63220+(f<<2)>>2]|0;o=r+-1|0;Z=(i+-3|0)/24|0;Z=(Z|0)>0?Z:0;Q=U(Z,-24)|0;t=i+-24+Q|0;if((L+o|0)>=0){w=L+r|0;c=Z-o|0;s=0;while(1){if((c|0)<0)n=0.0;else n=+(a[63236+(c<<2)>>2]|0);b[G+(s<<3)>>3]=n;s=s+1|0;if((s|0)==(w|0))break;else c=c+1|0}}u=(r|0)>0;w=0;while(1){if(u){s=w+o|0;n=0.0;c=0;do{n=n+ +b[A+(c<<3)>>3]*+b[G+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else n=0.0;b[y+(w<<3)>>3]=n;if((w|0)<(L|0))w=w+1|0;else break}v=(t|0)>0;g=24-t|0;E=23-t|0;C=(r|0)>0;I=(t|0)==0;c=L;A:while(1){n=+b[y+(c<<3)>>3];u=(c|0)>0;if(u){s=c;w=0;while(1){l=+(~~(n*5.9604644775390625e-08)|0);a[m+(w<<2)>>2]=~~(n-l*16777216.0);B=s;s=s+-1|0;n=+b[y+(s<<3)>>3]+l;if((B|0)<=1)break;else w=w+1|0}}n=+s1(n,t);n=n-+W(+(n*.125))*8.0;s=~~n;n=n-+(s|0);do{if(!v)if(!I)if(!(n>=.5)){o=0;B=s;break}else{w=2;z=20;break}else{w=a[m+(c+-1<<2)>>2]>>23;z=19;break}else{B=m+(c+-1<<2)|0;w=a[B>>2]|0;z=w>>g;w=w-(z<>2]=w;w=w>>E;s=z+s|0;z=19}}while(0);if((z|0)==19){z=0;if((w|0)>0)z=20;else{o=w;B=s}}if((z|0)==20){z=0;B=s+1|0;if(u){s=0;d=0;do{o=m+(d<<2)|0;h=a[o>>2]|0;if(!s)if(!h)s=0;else{s=1;u=16777216;z=23}else{u=16777215;z=23}if((z|0)==23){z=0;a[o>>2]=u-h}d=d+1|0}while((d|0)!=(c|0))}else s=0;e:do{if(v){switch(t|0){case 1:{u=8388607;break}case 2:{u=4194303;break}default:break e}d=m+(c+-1<<2)|0;a[d>>2]=a[d>>2]&u}}while(0);if((w|0)==2){n=1.0-n;if(!s)o=2;else{o=2;n=n-+s1(1.0,t)}}else o=w}if(!(n==0.0)){z=42;break}if((c|0)>(L|0)){s=0;w=c;do{w=w+-1|0;s=a[m+(w<<2)>>2]|s}while((w|0)>(L|0));if(s){z=41;break}else s=1}else s=1;while(1)if(!(a[m+(L-s<<2)>>2]|0))s=s+1|0;else break;u=s+c|0;if((s|0)<=0){c=u;continue}while(1){w=c+1|0;s=c+r|0;b[G+(s<<3)>>3]=+(a[63236+(w+Z<<2)>>2]|0);if(C){n=0.0;c=0;do{n=n+ +b[A+(c<<3)>>3]*+b[G+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else n=0.0;b[y+(w<<3)>>3]=n;if((w|0)<(u|0))c=w;else{c=u;continue A}}}if((z|0)==41)while(1){z=0;t=t+-24|0;c=c+-1|0;if(!(a[m+(c<<2)>>2]|0))z=41;else{u=c;break}}else if((z|0)==42){n=+s1(n,0-t|0);if(n>=16777216.0){l=+(~~(n*5.9604644775390625e-08)|0);a[m+(c<<2)>>2]=~~(n-l*16777216.0);t=Q+i|0;c=c+1|0;n=l}a[m+(c<<2)>>2]=~~n;u=c}w=(u|0)>-1;if(w){n=+s1(1.0,t);t=u;while(1){b[y+(t<<3)>>3]=n*+(a[m+(t<<2)>>2]|0);if((t|0)>0){n=n*5.9604644775390625e-08;t=t+-1|0}else break}if(w){c=u;while(1){s=u-c|0;t=0;n=0.0;while(1){n=n+ +b[10904+(t<<3)>>3]*+b[y+(t+c<<3)>>3];if((t|0)>=(L|0)|(t|0)>=(s|0))break;else t=t+1|0}b[Y+(s<<3)>>3]=n;if((c|0)>0)c=c+-1|0;else break}}}switch(f|0){case 0:{if(w){n=0.0;t=u;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else n=0.0;l=(o|0)==0?n:-n;z=73;break}case 2:case 1:{if(w){n=0.0;t=u;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else n=0.0;c=(o|0)==0;b[e>>3]=c?n:-n;n=+b[Y>>3]-n;if((u|0)>=1){t=1;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)==(u|0))break;else t=t+1|0}}l=c?n:-n;e=e+8|0;z=73;break}case 3:{if((u|0)>0){t=u;n=+b[Y+(u<<3)>>3];do{z=t;t=t+-1|0;y=Y+(t<<3)|0;l=+b[y>>3];M=n;n=l+n;b[Y+(z<<3)>>3]=M+(l-n);b[y>>3]=n}while((z|0)>1);c=(u|0)>1;if(c){t=u;n=+b[Y+(u<<3)>>3];do{z=t;t=t+-1|0;y=Y+(t<<3)|0;M=+b[y>>3];l=n;n=M+n;b[Y+(z<<3)>>3]=l+(M-n);b[y>>3]=n}while((z|0)>2);if(c){t=u;l=0.0;while(1){l=l+ +b[Y+(t<<3)>>3];if((t|0)>2)t=t+-1|0;else break}}else l=0.0}else l=0.0}else l=0.0;n=+b[Y>>3];if(!o){b[e>>3]=n;n=+b[Y+8>>3]}else{b[e>>3]=-n;l=-l;n=-+b[Y+8>>3]}b[e+8>>3]=n;e=e+16|0;z=73;break}default:{}}if((z|0)==73)b[e>>3]=l;k=D;return B&7|0}function s1(A,e){A=+A;e=e|0;var i=0,r=0;if((e|0)<=1023){if((e|0)<-1022){A=A*2.2250738585072014e-308;r=(e|0)<-2044;i=e+2044|0;A=r?A*2.2250738585072014e-308:A;e=r?(i|0)>-1022?i:-1022:e+1022|0}}else{A=A*8988465674311579538646525.0e283;i=(e|0)>2046;r=e+-2046|0;A=i?A*8988465674311579538646525.0e283:A;e=i?(r|0)<1023?r:1023:e+-1023|0}i=G6(e+1023|0,0,52)|0;r=L;a[w>>2]=i;a[w+4>>2]=r;return+(A*+b[w>>3])}function w1(A){A=+A;var e=0,i=0,r=0,f=0.0,n=0.0;b[w>>3]=A;i=a[w+4>>2]|0;e=i&2147483647;do{if(e>>>0>2146435071)A=A+A;else{if(e>>>0<1048576){b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;e=i&2147483647;if(!e)break;else r=696219795}else r=715094163;a[w>>2]=0;a[w+4>>2]=((e>>>0)/3|0)+r|i&-2147483648;f=+b[w>>3];n=f*f*(f/A);b[w>>3]=(n*(n*n)*(n*.14599619288661245+-.758397934778766)+(n*(n*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;i=d6(a[w>>2]|0,a[w+4>>2]|0,-2147483648,0)|0;r=L;a[w>>2]=i&-1073741824;a[w+4>>2]=r;f=+b[w>>3];A=A/(f*f);A=(A-f)/(f+f+A)*f+f}}while(0);return+A}function u1(A,e){A=+A;e=+e;var i=0,r=0;b[w>>3]=A;r=a[w>>2]|0;i=a[w+4>>2]|0;b[w>>3]=e;i=a[w+4>>2]&-2147483648|i&2147483647;a[w>>2]=r;a[w+4>>2]=i;return+ +b[w>>3]}function k1(A,e){A=+A;e=+e;return+ +u1(A,e)}function o1(A,e){A=+A;e=e|0;return+ +s1(A,e)}function h1(A,e){A=+A;e=+e;return+ +d1(A,e)}function d1(A,e){A=+A;e=+e;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,u=0,k=0,o=0,h=0;b[w>>3]=A;l=a[w>>2]|0;c=a[w+4>>2]|0;b[w>>3]=e;u=a[w>>2]|0;k=a[w+4>>2]|0;r=Z6(l|0,c|0,52)|0;r=r&2047;s=Z6(u|0,k|0,52)|0;s=s&2047;o=c&-2147483648;n=G6(u|0,k|0,1)|0;t=L;A:do{if(!((n|0)==0&(t|0)==0)?(f=B1(e)|0,i=L&2147483647,!((r|0)==2047|(i>>>0>2146435072|(i|0)==2146435072&f>>>0>0))):0){i=G6(l|0,c|0,1)|0;f=L;if(!(f>>>0>t>>>0|(f|0)==(t|0)&i>>>0>n>>>0))return+((i|0)==(n|0)&(f|0)==(t|0)?A*0.0:A);if(!r){i=G6(l|0,c|0,12)|0;f=L;if((f|0)>-1|(f|0)==-1&i>>>0>4294967295){r=0;do{r=r+-1|0;i=G6(i|0,f|0,1)|0;f=L}while((f|0)>-1|(f|0)==-1&i>>>0>4294967295)}else r=0;l=G6(l|0,c|0,1-r|0)|0;n=L}else n=c&1048575|1048576;if(!s){f=G6(u|0,k|0,12)|0;t=L;if((t|0)>-1|(t|0)==-1&f>>>0>4294967295){i=0;do{i=i+-1|0;f=G6(f|0,t|0,1)|0;t=L}while((t|0)>-1|(t|0)==-1&f>>>0>4294967295)}else i=0;u=G6(u|0,k|0,1-i|0)|0;s=i;c=L}else c=k&1048575|1048576;f=B6(l|0,n|0,u|0,c|0)|0;i=L;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;e:do{if((r|0)>(s|0)){while(1){if(t){if((f|0)==0&(i|0)==0)break}else{f=l;i=n}l=G6(f|0,i|0,1)|0;n=L;r=r+-1|0;f=B6(l|0,n|0,u|0,c|0)|0;i=L;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;if((r|0)<=(s|0))break e}e=A*0.0;break A}}while(0);if(t){if((f|0)==0&(i|0)==0){e=A*0.0;break}}else{i=n;f=l}if(i>>>0<1048576|(i|0)==1048576&f>>>0<0)do{f=G6(f|0,i|0,1)|0;i=L;r=r+-1|0}while(i>>>0<1048576|(i|0)==1048576&f>>>0<0);if((r|0)>0){k=d6(f|0,i|0,0,-1048576)|0;i=L;r=G6(r|0,0,52)|0;i=i|L;r=k|r}else{r=Z6(f|0,i|0,1-r|0)|0;i=L}a[w>>2]=r;a[w+4>>2]=i|o;e=+b[w>>3]}else h=3}while(0);if((h|0)==3){e=A*e;e=e/e}return+e}function B1(A){A=+A;var e=0;b[w>>3]=A;e=a[w>>2]|0;L=a[w+4>>2]|0;return e|0}function v1(A,e){A=+A;e=+e;var i=0.0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,u=0,o=0,h=0,d=0,B=0,v=0;h=k;k=k+32|0;c=h+24|0;s=h+16|0;u=h+8|0;o=h;b[w>>3]=A;v=a[w>>2]|0;n=a[w+4>>2]|0;b[w>>3]=e;r=a[w>>2]|0;n=n&2147483647;f=a[w+4>>2]&2147483647;l=n>>>0>>0|(n|0)==(f|0)&v>>>0>>0;B=l?r:v;d=l?f:n;r=l?v:r;f=l?n:f;n=Z6(B|0,d|0,52)|0;l=Z6(r|0,f|0,52)|0;a[w>>2]=B;a[w+4>>2]=d;A=+b[w>>3];a[w>>2]=r;a[w+4>>2]=f;t=+b[w>>3];do{if((l|0)!=2047){if(!((r|0)==0&(f|0)==0|(n|0)==2047)){if((n-l|0)>64){A=A+t;break}if((n|0)>1533){i=5260135901548373507240989.0e186;e=A*1.90109156629516e-211;A=t*1.90109156629516e-211}else{v=(l|0)<573;i=v?1.90109156629516e-211:1.0;e=v?A*5260135901548373507240989.0e186:A;A=v?t*5260135901548373507240989.0e186:t}g1(c,s,e);g1(u,o,A);A=i*+z(+(+b[o>>3]+ +b[s>>3]+ +b[u>>3]+ +b[c>>3]))}}else A=t}while(0);k=h;return+A}function g1(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=i*134217729.0;f=f+(i-f);r=i-f;i=i*i;b[A>>3]=i;b[e>>3]=r*r+(f*f-i+f*2.0*r);return}function E1(A,e,i){A=+A;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0,t=0,c=0;t=k;k=k+16|0;n=t;b[w>>3]=A;f=a[w+4>>2]&2147483647;do{if(f>>>0<1072243196)if(f>>>0<1044816030){b[e>>3]=A;b[i>>3]=1.0;break}else{b[e>>3]=+f1(A,0.0,0);b[i>>3]=+l1(A,0.0);break}else{if(f>>>0>2146435071){l=A-A;b[i>>3]=l;b[e>>3]=l;break}f=c1(A,n)|0;c=n+8|0;r=+f1(+b[n>>3],+b[c>>3],1);A=+l1(+b[n>>3],+b[c>>3]);switch(f&3){case 0:{b[e>>3]=r;l=A;break}case 1:{b[e>>3]=A;l=-r;break}case 2:{b[e>>3]=-r;l=-A;break}case 3:{b[e>>3]=-A;l=r;break}default:{}}b[i>>3]=l}}while(0);k=t;return}function C1(A,e){A=+A;e=e|0;return+ +n1(A,e)}function I1(A){A=A|0;if(A>>>0<131072)A=(n[146423+((n[146423+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=0;return A|0}function Z1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;if(!i)f=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))f=0;else while(1){i=i+-1|0;a=r[e>>0]|0;if(!(f<<24>>24==a<<24>>24&((i|0)!=0&a<<24>>24!=0)))break A;A=A+1|0;e=e+1|0;f=r[A>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);f=(f&255)-(n[e>>0]|0)|0}return f|0}function G1(A,e){A=A|0;e=e|0;A=j2(A,e)|0;return((r[A>>0]|0)==(e&255)<<24>>24?A:0)|0}function Q1(A){A=A|0;return((A|0)==32|(A+-9|0)>>>0<5)&1|0}function m1(A,e,i){A=A|0;e=e|0;i=i|0;i=W1(A,e,i,-1,0)|0;return i|0}function L1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=e&255;f=(i|0)!=0;A:do{if(f&(A&3|0)!=0){n=e&255;while(1){if((r[A>>0]|0)==n<<24>>24){t=6;break A}A=A+1|0;i=i+-1|0;f=(i|0)!=0;if(!(f&(A&3|0)!=0)){t=5;break}}}else t=5}while(0);if((t|0)==5)if(f)t=6;else i=0;A:do{if((t|0)==6){n=e&255;if((r[A>>0]|0)!=n<<24>>24){f=U(l,16843009)|0;e:do{if(i>>>0>3)while(1){l=a[A>>2]^f;if((l&-2139062144^-2139062144)&l+-16843009|0)break;A=A+4|0;i=i+-4|0;if(i>>>0<=3){t=11;break e}}else t=11}while(0);if((t|0)==11)if(!i){i=0;break}while(1){if((r[A>>0]|0)==n<<24>>24)break A;A=A+1|0;i=i+-1|0;if(!i){i=0;break}}}}}while(0);return(i|0?A:0)|0}function W1(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+128|0;l=c;a[l>>2]=0;t=l+4|0;a[t>>2]=A;a[l+44>>2]=A;n=l+8|0;a[n>>2]=(A|0)<0?-1:A+2147483647|0;a[l+76>>2]=-1;y1(l,0);i=z1(l,i,1,r,f)|0;if(e|0)a[e>>2]=A+((a[t>>2]|0)+(a[l+108>>2]|0)-(a[n>>2]|0));k=c;return i|0}function y1(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;a[A+104>>2]=e;i=a[A+8>>2]|0;r=a[A+4>>2]|0;f=i-r|0;a[A+108>>2]=f;a[A+100>>2]=(e|0)!=0&(f|0)>(e|0)?r+e|0:i;return}function z1(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;A:do{if(e>>>0>36){a[(X2()|0)>>2]=22;l=0;f=0}else{d=A+4|0;h=A+100|0;do{t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0}while((Q1(t)|0)!=0);e:do{switch(t|0){case 43:case 45:{t=((t|0)==45)<<31>>31;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;o=t;t=n[c>>0]|0;break e}else{o=t;t=Y1(A)|0;break e}}default:o=0}}while(0);c=(e|0)==0;do{if((e|16|0)==16&(t|0)==48){t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0;if((t|32|0)!=120)if(c){e=8;u=46;break}else{u=32;break}t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0;if((n[149592+t>>0]|0)>15){f=(a[h>>2]|0)==0;if(!f)a[d>>2]=(a[d>>2]|0)+-1;if(!i){y1(A,0);l=0;f=0;break A}if(f){l=0;f=0;break A}a[d>>2]=(a[d>>2]|0)+-1;l=0;f=0;break A}else{e=16;u=46}}else{e=c?10:e;if(e>>>0>(n[149592+t>>0]|0)>>>0)u=32;else{if(a[h>>2]|0)a[d>>2]=(a[d>>2]|0)+-1;y1(A,0);a[(X2()|0)>>2]=22;l=0;f=0;break A}}}while(0);e:do{if((u|0)==32)if((e|0)==10){e=t+-48|0;if(e>>>0<10){t=0;c=e;do{t=(t*10|0)+c|0;e=a[d>>2]|0;if(e>>>0<(a[h>>2]|0)>>>0){a[d>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;c=e+-48|0}while(c>>>0<10&t>>>0<429496729);i=0}else{e=t;t=0;i=0}b=e+-48|0;if(b>>>0<10){c=e;do{e=h6(t|0,i|0,10,0)|0;s=L;w=((b|0)<0)<<31>>31;k=~w;if(s>>>0>k>>>0|(s|0)==(k|0)&e>>>0>~b>>>0){e=10;u=72;break e}t=d6(e|0,s|0,b|0,w|0)|0;i=L;e=a[d>>2]|0;if(e>>>0<(a[h>>2]|0)>>>0){a[d>>2]=e+1;c=n[e>>0]|0}else c=Y1(A)|0;b=c+-48|0}while(b>>>0<10&(i>>>0<429496729|(i|0)==429496729&t>>>0<2576980378));if(b>>>0>9){c=o;e=i}else{e=10;u=72}}else{c=o;e=i}}else u=46}while(0);e:do{if((u|0)==46){if(!(e+-1&e)){u=r[149848+((e*23|0)>>>5&7)>>0]|0;i=r[149592+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;b=c;do{t=b|t<>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;b=i&255}while(t>>>0<134217728&e>>>0>b>>>0);b=0}else{c=t;b=0;t=0}s=Z6(-1,-1,u|0)|0;w=L;if(e>>>0<=(i&255)>>>0|(w>>>0>>0|(w|0)==(b|0)&s>>>0>>0)){i=b;u=72;break}else c=b;while(1){t=G6(t|0,c|0,u|0)|0;b=L;t=t|i&255;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;if(e>>>0<=(i&255)>>>0|(b>>>0>w>>>0|(b|0)==(w|0)&t>>>0>s>>>0)){i=b;u=72;break e}else c=b}}i=r[149592+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;b=c;do{t=b+(U(t,e)|0)|0;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;b=i&255}while(t>>>0<119304647&e>>>0>b>>>0);b=0}else{c=t;t=0;b=0}if(e>>>0>(i&255)>>>0){u=E6(-1,-1,e|0,0)|0;k=L;w=b;while(1){if(w>>>0>k>>>0|(w|0)==(k|0)&t>>>0>u>>>0){i=w;u=72;break e}b=h6(t|0,w|0,e|0,0)|0;s=L;i=i&255;if(s>>>0>4294967295|(s|0)==-1&b>>>0>~i>>>0){i=w;u=72;break e}t=d6(b|0,s|0,i|0,0)|0;b=L;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;if(e>>>0<=(i&255)>>>0){i=b;u=72;break}else w=b}}else{i=b;u=72}}}while(0);if((u|0)==72)if(e>>>0>(n[149592+c>>0]|0)>>>0){do{t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0}while(e>>>0>(n[149592+t>>0]|0)>>>0);a[(X2()|0)>>2]=34;c=(f&1|0)==0&0==0?o:0;e=l;t=f}else{c=o;e=i}if(a[h>>2]|0)a[d>>2]=(a[d>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(l|0)&t>>>0>>0)){if(!((f&1|0)!=0|0!=0|(c|0)!=0)){a[(X2()|0)>>2]=34;f=d6(f|0,l|0,-1,-1)|0;l=L;break}if(e>>>0>l>>>0|(e|0)==(l|0)&t>>>0>f>>>0){a[(X2()|0)>>2]=34;break}}f=((c|0)<0)<<31>>31;f=B6(t^c|0,e^f|0,c|0,f|0)|0;l=L}}while(0);L=l;return f|0}function Y1(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;i=A+104|0;l=a[i>>2]|0;if((l|0)!=0?(a[A+108>>2]|0)>=(l|0):0)t=4;else{e=D1(A)|0;if((e|0)>=0){f=a[i>>2]|0;i=A+8|0;if(f){c=a[i>>2]|0;l=a[A+4>>2]|0;i=f-(a[A+108>>2]|0)|0;f=c;if((c-l|0)<(i|0))i=f;else i=l+(i+-1)|0}else{f=a[i>>2]|0;i=f}a[A+100>>2]=i;i=A+4|0;if(!f)i=a[i>>2]|0;else{i=a[i>>2]|0;c=A+108|0;a[c>>2]=f+1-i+(a[c>>2]|0)}i=i+-1|0;if((e|0)!=(n[i>>0]|0|0))r[i>>0]=e}else t=4}if((t|0)==4){a[A+100>>2]=0;e=-1}return e|0}function D1(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;if((M1(A)|0)==0?(W5[a[A+32>>2]&63](A,e,1)|0)==1:0)A=n[e>>0]|0;else A=-1;k=i;return A|0}function M1(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=A+20|0;i=A+28|0;if((a[e>>2]|0)>>>0>(a[i>>2]|0)>>>0)W5[a[A+36>>2]&63](A,0,0)|0;a[A+16>>2]=0;a[i>>2]=0;a[e>>2]=0;e=a[A>>2]|0;if(!(e&4)){i=(a[A+44>>2]|0)+(a[A+48>>2]|0)|0;a[A+8>>2]=i;a[A+4>>2]=i;e=e<<27>>31}else{a[A>>2]=e|32;e=-1}return e|0}function F1(A){A=A|0;return(A+-48|0)>>>0<10|0}function V1(A){A=A|0;return((A+-48|0)>>>0<10|(J1(A)|0)!=0)&1|0}function J1(A){A=A|0;return((A|32)+-97|0)>>>0<26|0}function N1(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=r[A>>0]|0;A:do{if(!(i<<24>>24))i=0;else{a=i&255;while(1){f=r[e>>0]|0;if(!(f<<24>>24))break A;if(i<<24>>24!=f<<24>>24?(a=X1(a)|0,(a|0)!=(X1(f&255)|0)):0)break A;A=A+1|0;e=e+1|0;i=r[A>>0]|0;if(!(i<<24>>24)){i=0;break}else a=i&255}}}while(0);a=X1(i&255)|0;return a-(X1(n[e>>0]|0)|0)|0}function X1(A){A=A|0;var e=0;e=(R1(A)|0)==0;return(e?A:A|32)|0}function R1(A){A=A|0;return(A+-65|0)>>>0<26|0}function H1(A){A=A|0;return p1(A,0)|0}function p1(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,c=0,b=0,s=0,w=0;b=(e<<1)+-1|0;s=e+-1|0;A:do{if(!((A+-43008|0)>>>0<22272|((A+-11776|0)>>>0<30784|((A+-1536|0)>>>0<2560|(U1(A)|0)==0)))){i=(e|0)!=0;if(i&(A+-4256|0)>>>0<46){if((A|0)>4293)switch(A|0){case 4295:case 4301:break;default:break A}A=A+7264|0;break}if((A+-11520|0)>>>0<38&(i^1)){A=A+-7264|0;break}else i=0;do{t=r[66346+(i<<2)+2>>0]|0;c=t<<24>>24;a=A-(l[66346+(i<<2)>>1]|0)|0;if((a-(s&c)|0)>>>0<(n[66346+(i<<2)+3>>0]|0)>>>0){w=11;break}i=i+1|0}while((i|0)!=61);if((w|0)==11)if(t<<24>>24==1){A=e+A-(a&1)|0;break}else{A=(U(b,c)|0)+A|0;break}t=1-e|0;i=f[65858+(t<<1)>>1]|0;e:do{if(i<<16>>16){a=0;while(1){if((i&65535|0)==(A|0))break;a=a+1|0;i=f[65858+(a<<2)+(t<<1)>>1]|0;if(!(i<<16>>16))break e}A=l[65858+(a<<2)+(e<<1)>>1]|0;break A}}while(0);return((A+-66600+(e*40|0)|0)>>>0<40?A+-40+(e*80|0)|0:A)|0}}while(0);return A|0}function U1(A){A=A|0;if(A>>>0<131072)A=(n[149857+((n[149857+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=A>>>0<196606&1;return A|0}function x1(A){A=A|0;var e=0;e=A;while(1)if(!(a[e>>2]|0))break;else e=e+4|0;return e-A>>2|0}function T1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;if(!i)A=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))A=0;else{l=A;A=f;f=f&255;while(1){i=i+-1|0;a=r[e>>0]|0;if(!((i|0)!=0&a<<24>>24!=0))break A;if(A<<24>>24!=a<<24>>24?(f=X1(f)|0,(f|0)!=(X1(a&255)|0)):0)break A;l=l+1|0;e=e+1|0;f=r[l>>0]|0;if(!(f<<24>>24)){A=0;break}else{A=f;f=f&255}}}}while(0);A=X1(A&255)|0;A=A-(X1(n[e>>0]|0)|0)|0}return A|0}function j1(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 S1(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+16|0;n=b;t=(f|0)==0?190640:f;f=a[t>>2]|0;A:do{if(!e)if(!f)f=0;else c=17;else{l=(A|0)==0?n:A;if(!i)f=-2;else{if(!f){f=r[e>>0]|0;if(f<<24>>24>-1){a[l>>2]=f&255;f=f<<24>>24!=0&1;break}n=(a[a[(_1()|0)+188>>2]>>2]|0)==0;f=r[e>>0]|0;if(n){a[l>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){c=17;break}f=a[62384+(f<<2)>>2]|0;n=i+-1|0;if(n){e=e+1|0;c=11}}else{n=i;c=11}e:do{if((c|0)==11){A=r[e>>0]|0;s=(A&255)>>>3;if((s+-16|s+(f>>26))>>>0>7){c=17;break A}while(1){e=e+1|0;f=(A&255)+-128|f<<6;n=n+-1|0;if((f|0)>=0)break;if(!n)break e;A=r[e>>0]|0;if((A&-64)<<24>>24!=-128){c=17;break A}}a[t>>2]=0;a[l>>2]=f;f=i-n|0;break A}}while(0);a[t>>2]=f;f=-2}}}while(0);if((c|0)==17){a[t>>2]=0;a[(X2()|0)>>2]=84;f=-1}k=b;return f|0}function P1(A,e){A=A|0;e=e|0;if(!A)A=0;else A=O1(A,e,0)|0;return A|0}function O1(A,e,i){A=A|0;e=e|0;i=i|0;do{if(A){if(e>>>0<128){r[A>>0]=e;A=1;break}if(!(a[a[(K1()|0)+188>>2]>>2]|0))if((e&-128|0)==57216){r[A>>0]=e;A=1;break}else{a[(X2()|0)>>2]=84;A=-1;break}if(e>>>0<2048){r[A>>0]=e>>>6|192;r[A+1>>0]=e&63|128;A=2;break}if(e>>>0<55296|(e&-8192|0)==57344){r[A>>0]=e>>>12|224;r[A+1>>0]=e>>>6&63|128;r[A+2>>0]=e&63|128;A=3;break}if((e+-65536|0)>>>0<1048576){r[A>>0]=e>>>18|240;r[A+1>>0]=e>>>12&63|128;r[A+2>>0]=e>>>6&63|128;r[A+3>>0]=e&63|128;A=4;break}else{a[(X2()|0)>>2]=84;A=-1;break}}else A=1}while(0);return A|0}function K1(){return r1()|0}function _1(){return r1()|0}function q1(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+272|0;w=o+8|0;u=o;do{if(!(r[e>>0]|0)){e=PA(152833)|0;if(e|0?r[e>>0]|0:0)break;e=PA(152840+(A*12|0)|0)|0;if(e|0?r[e>>0]|0:0)break;e=PA(152912)|0;if(e|0?r[e>>0]|0:0)break;e=152917}}while(0);i=0;A:do{switch(r[e+i>>0]|0){case 47:case 0:break A;default:{}}i=i+1|0}while(i>>>0<15);f=r[e>>0]|0;if(f<<24>>24!=46?(r[e+i>>0]|0)==0:0)if(f<<24>>24==67)s=15;else{b=e;s=16}else{e=152917;s=15}if((s|0)==15)if(!(r[e+1>>0]|0))s=18;else{b=e;s=16}A:do{if((s|0)==16)if((A1(b,152917)|0)!=0?(A1(b,152925)|0)!=0:0){e=a[47661]|0;if(e|0)do{if(!(A1(b,e+8|0)|0))break A;e=a[e+24>>2]|0}while((e|0)!=0);CA(190648);e=a[47661]|0;e:do{if(e|0){while(1){if(!(A1(b,e+8|0)|0))break;e=a[e+24>>2]|0;if(!e)break e}RA(190648);break A}}while(0);e:do{if(((a[47646]|0)==0?(n=PA(152931)|0,(n|0)!=0):0)?(r[n>>0]|0)!=0:0){t=254-i|0;c=i+1|0;f=n;while(1){l=j2(f,58)|0;e=r[l>>0]|0;n=l-f+((e<<24>>24!=0)<<31>>31)|0;if(n>>>0>>0){y6(w|0,f|0,n|0)|0;f=w+n|0;r[f>>0]=47;y6(f+1|0,b|0,i|0)|0;r[w+(c+n)>>0]=0;f=IA(w|0,u|0)|0;if(f|0)break;e=r[l>>0]|0}f=l+(e<<24>>24!=0&1)|0;if(!(r[f>>0]|0)){s=41;break e}}e=m2(28)|0;if(!e){U2(f,a[u>>2]|0)|0;s=41;break}else{a[e>>2]=f;a[e+4>>2]=a[u>>2];u=e+8|0;y6(u|0,b|0,i|0)|0;r[u+i>>0]=0;a[e+24>>2]=a[47661];a[47661]=e;break}}else s=41}while(0);if((s|0)==41){e=m2(28)|0;if(e){a[e>>2]=a[15584];a[e+4>>2]=a[15585];u=e+8|0;y6(u|0,b|0,i|0)|0;r[u+i>>0]=0;a[e+24>>2]=a[47661];a[47661]=e}}RA(190648);e=(A|0)==0&(e|0)==0?62336:e}else{e=b;s=18}}while(0);do{if((s|0)==18){if((A|0)==0?(r[e+1>>0]|0)==46:0){e=62336;break}e=0}}while(0);k=o;return e|0}function $1(A,e){A=A|0;e=e|0;A4(A,e)|0;return A|0}function A4(A,e){A=A|0;e=e|0;var i=0,f=0;i=e;A:do{if(!((i^A)&3)){if(i&3)do{i=r[e>>0]|0;r[A>>0]=i;if(!(i<<24>>24))break A;e=e+1|0;A=A+1|0}while((e&3|0)!=0);i=a[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){f=A;while(1){e=e+4|0;A=f+4|0;a[f>>2]=i;i=a[e>>2]|0;if((i&-2139062144^-2139062144)&i+-16843009|0)break;else f=A}}f=8}else f=8}while(0);if((f|0)==8){f=r[e>>0]|0;r[A>>0]=f;if(f<<24>>24)do{e=e+1|0;A=A+1|0;f=r[e>>0]|0;r[A>>0]=f}while(f<<24>>24!=0)}return A|0}function e4(A){A=A|0;return((A|0)==32|(A|0)==9)&1|0}function i4(A){A=A|0;if(!A)A=0;else A=(r4(63500,A)|0)!=0&1;return A|0}function r4(A,e){A=A|0;e=e|0;var i=0;if(!e)A=A+((x1(A)|0)<<2)|0;else{while(1){i=a[A>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else A=A+4|0}A=i|0?A:0}return A|0}function f4(A,e){A=A|0;e=e|0;do{switch(e|0){case 1:{A=a4(A)|0;break}case 2:{A=U1(A)|0;break}case 3:{A=n4(A)|0;break}case 4:{A=l4(A)|0;break}case 5:{A=F1(A)|0;break}case 6:{A=t4(A)|0;break}case 7:{A=c4(A)|0;break}case 8:{A=j1(A)|0;break}case 9:{A=I1(A)|0;break}case 10:{A=i4(A)|0;break}case 11:{A=b4(A)|0;break}case 12:{A=s4(A)|0;break}default:A=0}}while(0);return A|0}function a4(A){A=A|0;if(!(F1(A)|0))A=(U1(A)|0)!=0&1;else A=1;return A|0}function n4(A){A=A|0;return e4(A)|0}function l4(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 t4(A){A=A|0;if(!(i4(A)|0))A=(j1(A)|0)!=0&1;else A=0;return A|0}function c4(A){A=A|0;return(H1(A)|0)!=(A|0)|0}function b4(A){A=A|0;return(w4(A)|0)!=(A|0)|0}function s4(A){A=A|0;return((A+-48|0)>>>0<10|((A|32)+-97|0)>>>0<6)&1|0}function w4(A){A=A|0;return p1(A,1)|0}function u4(A){A=A|0;return(A+-97|0)>>>0<26|0}function k4(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+128|0;n=w+124|0;s=w;l=s;t=63588;c=l+124|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));if((e+-1|0)>>>0>2147483646)if(!e){A=n;e=1;b=4}else{a[(X2()|0)>>2]=75;e=-1}else b=4;if((b|0)==4){b=-2-A|0;b=e>>>0>b>>>0?b:e;a[s+48>>2]=b;n=s+20|0;a[n>>2]=A;a[s+44>>2]=A;e=A+b|0;A=s+16|0;a[A>>2]=e;a[s+28>>2]=e;e=o4(s,i,f)|0;if(b){s=a[n>>2]|0;r[s+(((s|0)==(a[A>>2]|0))<<31>>31)>>0]=0}}k=w;return e|0}function o4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+224|0;w=B+120|0;o=B+80|0;h=B;d=B+136|0;f=o;n=f+40|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));a[w>>2]=a[i>>2];if((h4(0,e,w,h,o)|0)<0)i=-1;else{if((a[A+76>>2]|0)>-1)u=d4(A)|0;else u=0;i=a[A>>2]|0;s=i&32;if((r[A+74>>0]|0)<1)a[A>>2]=i&-33;f=A+48|0;if(!(a[f>>2]|0)){n=A+44|0;l=a[n>>2]|0;a[n>>2]=d;t=A+28|0;a[t>>2]=d;c=A+20|0;a[c>>2]=d;a[f>>2]=80;b=A+16|0;a[b>>2]=d+80;i=h4(A,e,w,h,o)|0;if(l){W5[a[A+36>>2]&63](A,0,0)|0;i=(a[c>>2]|0)==0?-1:i;a[n>>2]=l;a[f>>2]=0;a[b>>2]=0;a[t>>2]=0;a[c>>2]=0}}else i=h4(A,e,w,h,o)|0;f=a[A>>2]|0;a[A>>2]=f|s;if(u|0)B4(A);i=(f&32|0)==0?i:-1}k=B;return i|0}function h4(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+64|0;W=D+16|0;y=D;Q=D+24|0;z=D+8|0;Y=D+20|0;a[W>>2]=e;I=(A|0)!=0;Z=Q+40|0;G=Z;Q=Q+39|0;m=z+4|0;c=0;t=0;o=0;A:while(1){do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){a[(X2()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);c=r[e>>0]|0;if(!(c<<24>>24)){C=86;break}else s=e;e:while(1){switch(c<<24>>24){case 37:{c=s;C=9;break e}case 0:{c=s;break e}default:{}}E=s+1|0;a[W>>2]=E;c=r[E>>0]|0;s=E}e:do{if((C|0)==9)while(1){C=0;if((r[s+1>>0]|0)!=37)break e;c=c+1|0;s=s+2|0;a[W>>2]=s;if((r[s>>0]|0)==37)C=9;else break}}while(0);c=c-e|0;if(I)v4(A,e,c);if(c|0){e=s;continue}w=s+1|0;c=(r[w>>0]|0)+-48|0;if(c>>>0<10){E=(r[s+2>>0]|0)==36;v=E?c:-1;o=E?1:o;w=E?s+3|0:w}else v=-1;a[W>>2]=w;c=r[w>>0]|0;E=(c<<24>>24)+-32|0;if(E>>>0>31|(1<>24)+-32|s;w=w+1|0;a[W>>2]=w;c=r[w>>0]|0;E=(c<<24>>24)+-32|0}while(!(E>>>0>31|(1<>24==42){u=w+1|0;c=(r[u>>0]|0)+-48|0;if(c>>>0<10?(r[w+2>>0]|0)==36:0){a[l+(c<<2)>>2]=10;c=a[n+((r[u>>0]|0)+-48<<3)>>2]|0;o=1;w=w+3|0}else{if(o|0){t=-1;break}if(I){o=(a[i>>2]|0)+(4-1)&~(4-1);c=a[o>>2]|0;a[i>>2]=o+4;o=0;w=u}else{c=0;o=0;w=u}}a[W>>2]=w;g=(c|0)<0;c=g?0-c|0:c;g=g?s|8192:s}else{c=g4(W)|0;if((c|0)<0){t=-1;break}g=s;w=a[W>>2]|0}do{if((r[w>>0]|0)==46){if((r[w+1>>0]|0)!=42){a[W>>2]=w+1;s=g4(W)|0;w=a[W>>2]|0;break}u=w+2|0;s=(r[u>>0]|0)+-48|0;if(s>>>0<10?(r[w+3>>0]|0)==36:0){a[l+(s<<2)>>2]=10;s=a[n+((r[u>>0]|0)+-48<<3)>>2]|0;w=w+4|0;a[W>>2]=w;break}if(o|0){t=-1;break A}if(I){E=(a[i>>2]|0)+(4-1)&~(4-1);s=a[E>>2]|0;a[i>>2]=E+4}else s=0;a[W>>2]=u;w=u}else s=-1}while(0);B=0;while(1){if(((r[w>>0]|0)+-65|0)>>>0>57){t=-1;break A}E=w+1|0;a[W>>2]=E;u=r[(r[w>>0]|0)+-65+(152944+(B*58|0))>>0]|0;h=u&255;if((h+-1|0)>>>0<8){B=h;w=E}else break}if(!(u<<24>>24)){t=-1;break}d=(v|0)>-1;do{if(u<<24>>24==19)if(d){t=-1;break A}else C=48;else{if(d){a[l+(v<<2)>>2]=h;d=n+(v<<3)|0;v=a[d+4>>2]|0;C=y;a[C>>2]=a[d>>2];a[C+4>>2]=v;C=48;break}if(!I){t=0;break A}E4(y,h,i)}}while(0);if((C|0)==48?(C=0,!I):0){c=0;e=E;continue}w=r[w>>0]|0;w=(B|0)!=0&(w&15|0)==3?w&-33:w;v=g&-65537;g=(g&8192|0)==0?g:v;e:do{switch(w|0){case 110:switch((B&255)<<24>>24){case 0:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 1:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 2:{c=a[y>>2]|0;a[c>>2]=t;a[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=E;continue A}case 3:{f[a[y>>2]>>1]=t;c=0;e=E;continue A}case 4:{r[a[y>>2]>>0]=t;c=0;e=E;continue A}case 6:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 7:{c=a[y>>2]|0;a[c>>2]=t;a[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=E;continue A}default:{c=0;e=E;continue A}}case 112:{w=120;s=s>>>0>8?s:8;e=g|8;C=60;break}case 88:case 120:{e=g;C=60;break}case 111:{w=y;e=a[w>>2]|0;w=a[w+4>>2]|0;d=I4(e,w,Z)|0;B=G-d|0;u=0;h=153408;s=(g&8|0)==0|(s|0)>(B|0)?s:B+1|0;B=g;C=66;break}case 105:case 100:{w=y;e=a[w>>2]|0;w=a[w+4>>2]|0;if((w|0)<0){e=B6(0,0,e|0,w|0)|0;w=L;u=y;a[u>>2]=e;a[u+4>>2]=w;u=1;h=153408;C=65;break e}else{u=(g&2049|0)!=0&1;h=(g&2048|0)==0?(g&1|0)==0?153408:153410:153409;C=65;break e}}case 117:{w=y;u=0;h=153408;e=a[w>>2]|0;w=a[w+4>>2]|0;C=65;break}case 99:{r[Q>>0]=a[y>>2];e=Q;u=0;h=153408;d=Z;w=1;s=v;break}case 109:{w=e1(a[(X2()|0)>>2]|0)|0;C=70;break}case 115:{w=a[y>>2]|0;w=w|0?w:153418;C=70;break}case 67:{a[z>>2]=a[y>>2];a[m>>2]=0;a[y>>2]=z;d=-1;w=z;C=74;break}case 83:{e=a[y>>2]|0;if(!s){G4(A,32,c,0,g);e=0;C=83}else{d=s;w=e;C=74}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=Q4(A,+b[y>>3],c,s,g,w)|0;e=E;continue A}default:{u=0;h=153408;d=Z;w=s;s=g}}}while(0);e:do{if((C|0)==60){g=y;v=a[g>>2]|0;g=a[g+4>>2]|0;d=C4(v,g,Z,w&32)|0;h=(e&8|0)==0|(v|0)==0&(g|0)==0;u=h?0:2;h=h?153408:153408+(w>>4)|0;B=e;e=v;w=g;C=66}else if((C|0)==65){d=Z4(e,w,Z)|0;B=g;C=66}else if((C|0)==70){C=0;g=L1(w,0,s)|0;B=(g|0)==0;e=w;u=0;h=153408;d=B?w+s|0:g;w=B?s:g-w|0;s=v}else if((C|0)==74){C=0;h=w;e=0;s=0;while(1){u=a[h>>2]|0;if(!u)break;s=P1(Y,u)|0;if((s|0)<0|s>>>0>(d-e|0)>>>0)break;e=s+e|0;if(d>>>0>e>>>0)h=h+4|0;else break}if((s|0)<0){t=-1;break A}G4(A,32,c,e,g);if(!e){e=0;C=83}else{u=0;while(1){s=a[w>>2]|0;if(!s){C=83;break e}s=P1(Y,s)|0;u=s+u|0;if((u|0)>(e|0)){C=83;break e}v4(A,Y,s);if(u>>>0>=e>>>0){C=83;break}else w=w+4|0}}}}while(0);if((C|0)==66){C=0;w=(e|0)!=0|(w|0)!=0;g=(s|0)!=0|w;w=G-d+((w^1)&1)|0;e=g?d:Z;d=Z;w=g?(s|0)>(w|0)?s:w:s;s=(s|0)>-1?B&-65537:B}else if((C|0)==83){C=0;G4(A,32,c,e,g^8192);c=(c|0)>(e|0)?c:e;e=E;continue}v=d-e|0;B=(w|0)<(v|0)?v:w;g=B+u|0;c=(c|0)<(g|0)?g:c;G4(A,32,c,g,s);v4(A,h,u);G4(A,48,c,g,s^65536);G4(A,48,B,v,0);v4(A,e,v);G4(A,32,c,g,s^8192);e=E}A:do{if((C|0)==86)if(!A)if(o){t=1;while(1){e=a[l+(t<<2)>>2]|0;if(!e)break;E4(n+(t<<3)|0,e,i);e=t+1|0;if((t|0)<9)t=e;else{t=e;break}}if((t|0)<10)while(1){if(a[l+(t<<2)>>2]|0){t=-1;break A}if((t|0)<9)t=t+1|0;else{t=1;break}}else t=1}else t=0}while(0);k=D;return t|0}function d4(A){A=A|0;return 0}function B4(A){A=A|0;return}function v4(A,e,i){A=A|0;e=e|0;i=i|0;if(!(a[A>>2]&32))L4(e,i,A)|0;return}function g4(A){A=A|0;var e=0,i=0,f=0;i=a[A>>2]|0;f=(r[i>>0]|0)+-48|0;if(f>>>0<10){e=0;do{e=f+(e*10|0)|0;i=i+1|0;a[A>>2]=i;f=(r[i>>0]|0)+-48|0}while(f>>>0<10)}else e=0;return e|0}function E4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0;A:do{if(e>>>0<=20)do{switch(e|0){case 9:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;a[A>>2]=e;break A}case 10:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;r=A;a[r>>2]=e;a[r+4>>2]=((e|0)<0)<<31>>31;break A}case 11:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;r=A;a[r>>2]=e;a[r+4>>2]=0;break A}case 12:{r=(a[i>>2]|0)+(8-1)&~(8-1);e=r;f=a[e>>2]|0;e=a[e+4>>2]|0;a[i>>2]=r+8;r=A;a[r>>2]=f;a[r+4>>2]=e;break A}case 13:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;r=(r&65535)<<16>>16;f=A;a[f>>2]=r;a[f+4>>2]=((r|0)<0)<<31>>31;break A}case 14:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;f=A;a[f>>2]=r&65535;a[f+4>>2]=0;break A}case 15:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;r=(r&255)<<24>>24;f=A;a[f>>2]=r;a[f+4>>2]=((r|0)<0)<<31>>31;break A}case 16:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;f=A;a[f>>2]=r&255;a[f+4>>2]=0;break A}case 17:{f=(a[i>>2]|0)+(8-1)&~(8-1);n=+b[f>>3];a[i>>2]=f+8;b[A>>3]=n;break A}case 18:{f=(a[i>>2]|0)+(8-1)&~(8-1);n=+b[f>>3];a[i>>2]=f+8;b[A>>3]=n;break A}default:break A}}while(0)}while(0);return}function C4(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=n[153456+(A&15)>>0]|0|f;A=Z6(A|0,e|0,4)|0;e=L}while(!((A|0)==0&(e|0)==0));return i|0}function I4(A,e,i){A=A|0;e=e|0;i=i|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=A&7|48;A=Z6(A|0,e|0,3)|0;e=L}while(!((A|0)==0&(e|0)==0));return i|0}function Z4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(e>>>0>0|(e|0)==0&A>>>0>4294967295){while(1){f=C6(A|0,e|0,10,0)|0;i=i+-1|0;r[i>>0]=f&255|48;f=A;A=E6(A|0,e|0,10,0)|0;if(!(e>>>0>9|(e|0)==9&f>>>0>4294967295))break;else e=L}e=A}else e=A;if(e)while(1){i=i+-1|0;r[i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return i|0}function G4(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0;n=k;k=k+256|0;a=n;if((i|0)>(r|0)&(f&73728|0)==0){f=i-r|0;Y6(a|0,e|0,(f>>>0<256?f:256)|0)|0;if(f>>>0>255){e=i-r|0;do{v4(A,a,256);f=f+-256|0}while(f>>>0>255);f=e&255}v4(A,a,f)}k=n;return}function Q4(A,e,i,f,l,t){A=A|0;e=+e;i=i|0;f=f|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+560|0;s=D+8|0;g=D;Y=D+524|0;z=Y;w=D+512|0;a[g>>2]=0;y=w+12|0;m4(e)|0;if((L|0)<0){e=-e;m=1;Q=153425}else{m=(l&2049|0)!=0&1;Q=(l&2048|0)==0?(l&1|0)==0?153426:153431:153428}m4(e)|0;do{if(0==0&(L&2146435072|0)==2146435072){Y=(t&32|0)!=0;c=m+3|0;G4(A,32,i,c,l&-65537);v4(A,Q,m);v4(A,e!=e|0.0!=0.0?Y?153593:153452:Y?153444:153448,3);G4(A,32,i,c,l^8192)}else{d=+C1(e,g)*2.0;c=d!=0.0;if(c)a[g>>2]=(a[g>>2]|0)+-1;C=t|32;if((C|0)==97){o=t&32;B=(o|0)==0?Q:Q+9|0;h=m|2;c=12-f|0;do{if(!(f>>>0>11|(c|0)==0)){e=8.0;do{c=c+-1|0;e=e*16.0}while((c|0)!=0);if((r[B>>0]|0)==45){e=-(e+(-d-e));break}else{e=d+e-e;break}}else e=d}while(0);b=a[g>>2]|0;c=(b|0)<0?0-b|0:b;c=Z4(c,((c|0)<0)<<31>>31,y)|0;if((c|0)==(y|0)){c=w+11|0;r[c>>0]=48}r[c+-1>>0]=(b>>31&2)+43;u=c+-2|0;r[u>>0]=t+15;s=(f|0)<1;w=(l&8|0)==0;c=Y;do{W=~~e;b=c+1|0;r[c>>0]=o|n[153456+W>>0];e=(e-+(W|0))*16.0;if((b-z|0)==1?!(w&(s&e==0.0)):0){r[b>>0]=46;c=c+2|0}else c=b}while(e!=0.0);if((f|0)!=0?(-2-z+c|0)<(f|0):0){b=c-z|0;c=f+2|0}else{c=c-z|0;b=c}y=y-u|0;z=y+h+c|0;G4(A,32,i,z,l);v4(A,B,h);G4(A,48,i,z,l^65536);v4(A,Y,b);G4(A,48,c-b|0,0,0);v4(A,u,y);G4(A,32,i,z,l^8192);c=z;break}b=(f|0)<0?6:f;if(c){c=(a[g>>2]|0)+-28|0;a[g>>2]=c;e=d*268435456.0}else{e=d;c=a[g>>2]|0}W=(c|0)<0?s:s+288|0;s=W;do{Z=~~e>>>0;a[s>>2]=Z;s=s+4|0;e=(e-+(Z>>>0))*1.0e9}while(e!=0.0);if((c|0)>0){w=W;o=s;while(1){u=(c|0)<29?c:29;c=o+-4|0;if(c>>>0>=w>>>0){s=0;do{I=G6(a[c>>2]|0,0,u|0)|0;I=d6(I|0,L|0,s|0,0)|0;Z=L;E=C6(I|0,Z|0,1e9,0)|0;a[c>>2]=E;s=E6(I|0,Z|0,1e9,0)|0;c=c+-4|0}while(c>>>0>=w>>>0);if(s){w=w+-4|0;a[w>>2]=s}}s=o;while(1){if(s>>>0<=w>>>0)break;c=s+-4|0;if(!(a[c>>2]|0))s=c;else break}c=(a[g>>2]|0)-u|0;a[g>>2]=c;if((c|0)>0)o=s;else break}}else w=W;if((c|0)<0){f=((b+25|0)/9|0)+1|0;v=(C|0)==102;do{B=0-c|0;B=(B|0)<9?B:9;if(w>>>0>>0){u=(1<>>B;h=0;c=w;do{Z=a[c>>2]|0;a[c>>2]=(Z>>>B)+h;h=U(Z&u,o)|0;c=c+4|0}while(c>>>0>>0);c=(a[w>>2]|0)==0?w+4|0:w;if(!h){w=c;c=s}else{a[s>>2]=h;w=c;c=s+4|0}}else{w=(a[w>>2]|0)==0?w+4|0:w;c=s}s=v?W:w;s=(c-s>>2|0)>(f|0)?s+(f<<2)|0:c;c=(a[g>>2]|0)+B|0;a[g>>2]=c}while((c|0)<0);c=w;f=s}else{c=w;f=s}Z=W;if(c>>>0>>0){s=(Z-c>>2)*9|0;u=a[c>>2]|0;if(u>>>0>=10){w=10;do{w=w*10|0;s=s+1|0}while(u>>>0>=w>>>0)}}else s=0;v=(C|0)==103;E=(b|0)!=0;w=b-((C|0)!=102?s:0)+((E&v)<<31>>31)|0;if((w|0)<(((f-Z>>2)*9|0)+-9|0)){w=w+9216|0;B=W+4+(((w|0)/9|0)+-1024<<2)|0;w=(w|0)%9|0;if((w|0)<8){u=10;while(1){u=u*10|0;if((w|0)<7)w=w+1|0;else break}}else u=10;o=a[B>>2]|0;h=(o>>>0)%(u>>>0)|0;w=(B+4|0)==(f|0);if(!(w&(h|0)==0)){d=(((o>>>0)/(u>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;I=(u|0)/2|0;e=h>>>0>>0?.5:w&(h|0)==(I|0)?1.0:1.5;if(m){I=(r[Q>>0]|0)==45;e=I?-e:e;d=I?-d:d}w=o-h|0;a[B>>2]=w;if(d+e!=d){I=w+u|0;a[B>>2]=I;if(I>>>0>999999999){s=B;while(1){w=s+-4|0;a[s>>2]=0;if(w>>>0>>0){c=c+-4|0;a[c>>2]=0}I=(a[w>>2]|0)+1|0;a[w>>2]=I;if(I>>>0>999999999)s=w;else break}}else w=B;s=(Z-c>>2)*9|0;o=a[c>>2]|0;if(o>>>0>=10){u=10;do{u=u*10|0;s=s+1|0}while(o>>>0>=u>>>0)}}else w=B}else w=B;w=w+4|0;w=f>>>0>w>>>0?w:f;I=c}else{w=f;I=c}C=w;while(1){if(C>>>0<=I>>>0){g=0;break}c=C+-4|0;if(!(a[c>>2]|0))C=c;else{g=1;break}}f=0-s|0;do{if(v){c=b+((E^1)&1)|0;if((c|0)>(s|0)&(s|0)>-5){u=t+-1|0;b=c+-1-s|0}else{u=t+-2|0;b=c+-1|0}c=l&8;if(!c){if(g?(G=a[C+-4>>2]|0,(G|0)!=0):0)if(!((G>>>0)%10|0)){w=0;c=10;do{c=c*10|0;w=w+1|0}while(!((G>>>0)%(c>>>0)|0|0))}else w=0;else w=9;c=((C-Z>>2)*9|0)+-9|0;if((u|32|0)==102){B=c-w|0;B=(B|0)>0?B:0;b=(b|0)<(B|0)?b:B;B=0;break}else{B=c+s-w|0;B=(B|0)>0?B:0;b=(b|0)<(B|0)?b:B;B=0;break}}else B=c}else{u=t;B=l&8}}while(0);v=b|B;o=(v|0)!=0&1;h=(u|32|0)==102;if(h){E=0;c=(s|0)>0?s:0}else{c=(s|0)<0?f:s;c=Z4(c,((c|0)<0)<<31>>31,y)|0;w=y;if((w-c|0)<2)do{c=c+-1|0;r[c>>0]=48}while((w-c|0)<2);r[c+-1>>0]=(s>>31&2)+43;c=c+-2|0;r[c>>0]=u;E=c;c=w-c|0}c=m+1+b+o+c|0;G4(A,32,i,c,l);v4(A,Q,m);G4(A,48,i,c,l^65536);if(h){u=I>>>0>W>>>0?W:I;B=Y+9|0;o=B;h=Y+8|0;w=u;do{s=Z4(a[w>>2]|0,0,B)|0;if((w|0)==(u|0)){if((s|0)==(B|0)){r[h>>0]=48;s=h}}else if(s>>>0>Y>>>0){Y6(Y|0,48,s-z|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}v4(A,s,o-s|0);w=w+4|0}while(w>>>0<=W>>>0);if(v|0)v4(A,153472,1);if(w>>>0>>0&(b|0)>0)while(1){s=Z4(a[w>>2]|0,0,B)|0;if(s>>>0>Y>>>0){Y6(Y|0,48,s-z|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}v4(A,s,(b|0)<9?b:9);w=w+4|0;s=b+-9|0;if(!(w>>>0>>0&(b|0)>9)){b=s;break}else b=s}G4(A,48,b+9|0,9,0)}else{v=g?C:I+4|0;if((b|0)>-1){g=Y+9|0;B=(B|0)==0;f=g;o=0-z|0;h=Y+8|0;u=I;do{s=Z4(a[u>>2]|0,0,g)|0;if((s|0)==(g|0)){r[h>>0]=48;s=h}do{if((u|0)==(I|0)){w=s+1|0;v4(A,s,1);if(B&(b|0)<1){s=w;break}v4(A,153472,1);s=w}else{if(s>>>0<=Y>>>0)break;Y6(Y|0,48,s+o|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}}while(0);z=f-s|0;v4(A,s,(b|0)>(z|0)?z:b);b=b-z|0;u=u+4|0}while(u>>>0>>0&(b|0)>-1)}G4(A,48,b+18|0,18,0);v4(A,E,y-E|0)}G4(A,32,i,c,l^8192)}}while(0);k=D;return((c|0)<(i|0)?i:c)|0}function m4(A){A=+A;var e=0;b[w>>3]=A;e=a[w>>2]|0;L=a[w+4>>2]|0;return e|0}function L4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;f=i+16|0;n=a[f>>2]|0;if(!n)if(!(W4(i)|0)){n=a[f>>2]|0;l=5}else f=0;else l=5;A:do{if((l|0)==5){c=i+20|0;t=a[c>>2]|0;f=t;if((n-t|0)>>>0>>0){f=W5[a[i+36>>2]&63](i,A,e)|0;break}e:do{if((r[i+75>>0]|0)>-1){t=e;while(1){if(!t){l=0;n=A;break e}n=t+-1|0;if((r[A+n>>0]|0)==10)break;else t=n}f=W5[a[i+36>>2]&63](i,A,t)|0;if(f>>>0>>0)break A;l=t;n=A+t|0;e=e-t|0;f=a[c>>2]|0}else{l=0;n=A}}while(0);y6(f|0,n|0,e|0)|0;a[c>>2]=(a[c>>2]|0)+e;f=l+e|0}}while(0);return f|0}function W4(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=a[A>>2]|0;if(!(e&8)){a[A+8>>2]=0;a[A+4>>2]=0;i=a[A+44>>2]|0;a[A+28>>2]=i;a[A+20>>2]=i;a[A+16>>2]=i+(a[A+48>>2]|0);A=0}else{a[A>>2]=e|32;A=-1}return A|0}function y4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+20|0;f=a[r>>2]|0;A=(a[A+16>>2]|0)-f|0;A=A>>>0>i>>>0?i:A;y6(f|0,e|0,A|0)|0;a[r>>2]=(a[r>>2]|0)+A;return i|0}function z4(A){A=A|0;var e=0,i=0,f=0,a=0;f=r[A>>0]|0;e=1;i=153474;a=97;while(1){if(f<<24>>24==a<<24>>24?(A1(A,i)|0)==0:0)break;i=i+6|0;a=r[i>>0]|0;if(!(a<<24>>24)){e=0;break}else e=e+1|0}return e|0}function Y4(A){A=A|0;var e=0;e=(u4(A)|0)==0;return(e?A:A&95)|0}function D4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;do{if(A>>>0>6)e=0;else{CA(190656);if((A|0)!=6){e=M4(A,e)|0;RA(190656);break}if(!e){e=197132;A=0}else{A=n;i=153547;f=A+16|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));f=0;do{A=j2(e,59)|0;i=A-e|0;if((i|0)<16){y6(n|0,e|0,i|0)|0;r[n+i>>0]=0;e=(r[A>>0]|0)==0?e:A+1|0}M4(f,n)|0;f=f+1|0}while((f|0)!=6);e=197132;A=0}while(1){f=a[190616+(A<<2)>>2]|0;f=f|0?f+8|0:153563;i=S2(f)|0;y6(e|0,f|0,i|0)|0;f=e+i|0;r[f>>0]=59;A=A+1|0;if((A|0)==6)break;else e=e+(i+1)|0}r[f>>0]=0;RA(190656);e=197132}}while(0);k=l;return e|0}function M4(A,e){A=A|0;e=e|0;if(!e)A=a[190616+(A<<2)>>2]|0;else{e=q1(A,e)|0;a[190616+(A<<2)>>2]=e;A=e}return(A|0?A+8|0:153563)|0}function F4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if(!i)A=0;else{while(1){f=r[A>>0]|0;a=r[e>>0]|0;if(f<<24>>24!=a<<24>>24)break;i=i+-1|0;if(!i){A=0;break A}else{A=A+1|0;e=e+1|0}}A=(f&255)-(a&255)|0}}while(0);return A|0}function V4(A){A=A|0;return J4(A)|0}function J4(A){A=A|0;return Q6(A|0)|0}function N4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;if((a[i+76>>2]|0)>-1)w=d4(i)|0;else w=0;f=e+-1|0;if((e|0)<2){u=i+74|0;s=r[u>>0]|0;r[u>>0]=s+255|s;if(w|0)B4(i);if(!f)r[A>>0]=0;else A=0}else{A:do{if(f){b=i+4|0;s=i+8|0;e=A;while(1){l=a[b>>2]|0;k=l;o=(a[s>>2]|0)-k|0;t=L1(l,10,o)|0;c=(t|0)==0;t=c?o:1-k+t|0;t=t>>>0>>0?t:f;y6(e|0,l|0,t|0)|0;l=(a[b>>2]|0)+t|0;a[b>>2]=l;e=e+t|0;t=f-t|0;if(!(c&(t|0)!=0)){u=17;break A}if(l>>>0>=(a[s>>2]|0)>>>0){f=D1(i)|0;if((f|0)<0)break;else c=f}else{a[b>>2]=l+1;c=n[l>>0]|0}f=t+-1|0;l=e+1|0;r[e>>0]=c;if(!((f|0)!=0&(c&255|0)!=10)){e=l;u=17;break A}else e=l}if((e|0)!=(A|0)?(a[i>>2]&16|0)!=0:0)u=17;else A=0}else{e=A;u=17}}while(0);if((u|0)==17)if(!A)A=0;else r[e>>0]=0;if(w)B4(i)}return A|0}function X4(A,e){A=A|0;e=e|0;var i=0;i=r[e>>0]|0;do{if(i<<24>>24){A=G1(A,i<<24>>24)|0;if(A){if(r[e+1>>0]|0)if(r[A+1>>0]|0){if(!(r[e+2>>0]|0)){A=R4(A,e)|0;break}if(r[A+2>>0]|0){if(!(r[e+3>>0]|0)){A=H4(A,e)|0;break}if(r[A+3>>0]|0)if(!(r[e+4>>0]|0)){A=p4(A,e)|0;break}else{A=U4(A,e)|0;break}else A=0}else A=0}else A=0}else A=0}}while(0);return A|0}function R4(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=(n[e>>0]|0)<<8|(n[e+1>>0]|0);f=n[A>>0]|0;while(1){e=A+1|0;i=r[e>>0]|0;if(!(i<<24>>24))break;f=f<<8&65280|i&255;if((f|0)==(a|0))break;else A=e}return(i<<24>>24?A:0)|0}function H4(A,e){A=A|0;e=e|0;var i=0,f=0;f=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8;i=A+2|0;e=r[i>>0]|0;A=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(e&255)<<8;if(!((A|0)==(f|0)|e<<24>>24==0))do{i=i+1|0;e=r[i>>0]|0;A=(A|e&255)<<8}while(!((A|0)==(f|0)|e<<24>>24==0));return(e<<24>>24?i+-2|0:0)|0}function p4(A,e){A=A|0;e=e|0;var i=0,f=0;f=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8|(n[e+3>>0]|0);e=A+3|0;i=r[e>>0]|0;A=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(n[A+2>>0]|0)<<8|i&255;if(!(i<<24>>24==0|(A|0)==(f|0)))do{e=e+1|0;i=r[e>>0]|0;A=A<<8|i&255}while(!(i<<24>>24==0|(A|0)==(f|0)));return(i<<24>>24?e+-3|0:0)|0}function U4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+1056|0;v=E+1024|0;g=E;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;a[v+16>>2]=0;a[v+20>>2]=0;a[v+24>>2]=0;a[v+28>>2]=0;i=r[e>>0]|0;A:do{if(i<<24>>24){B=0;do{if(!(r[A+B>>0]|0)){i=0;break A}d=v+(((i&255)>>>5&255)<<2)|0;a[d>>2]=a[d>>2]|1<<(i&31);B=B+1|0;a[g+((i&255)<<2)>>2]=B;i=r[e+B>>0]|0}while(i<<24>>24!=0);s=B>>>0>1;if(s){f=0;b=-1;n=1;e:while(1){l=1;i=f;while(1){f=n;i:while(1){c=1;while(1){n=r[e+(c+b)>>0]|0;t=r[e+f>>0]|0;if(n<<24>>24!=t<<24>>24)break i;if((c|0)==(l|0))break;c=c+1|0;f=c+i|0;if(f>>>0>=B>>>0){w=l;i=b;break e}}i=l+i|0;f=i+1|0;if(f>>>0>=B>>>0){w=l;i=b;break e}}l=f-b|0;if((n&255)<=(t&255))break;n=f+1|0;if(n>>>0>=B>>>0){w=l;i=b;break e}else i=f}n=i+2|0;if(n>>>0>=B>>>0){w=1;break}else{f=i+1|0;b=i}}if(s){l=0;s=-1;t=1;while(1){f=1;n=l;while(1){l=t;e:while(1){b=1;while(1){t=r[e+(b+s)>>0]|0;c=r[e+l>>0]|0;if(t<<24>>24!=c<<24>>24)break e;if((b|0)==(f|0))break;b=b+1|0;l=b+n|0;if(l>>>0>=B>>>0){t=w;n=s;l=26;break A}}n=f+n|0;l=n+1|0;if(l>>>0>=B>>>0){t=w;n=s;l=26;break A}}f=l-s|0;if((t&255)>=(c&255))break;t=l+1|0;if(t>>>0>=B>>>0){t=w;n=s;l=26;break A}else n=l}t=n+2|0;if(t>>>0>=B>>>0){t=w;f=1;l=26;break}else{l=n+1|0;s=n}}}else{t=w;f=1;n=-1;l=26}}else{t=1;i=-1;f=1;n=-1;l=26}}else{t=1;i=-1;B=0;f=1;n=-1;l=26}}while(0);A:do{if((l|0)==26){h=(n+1|0)>>>0>(i+1|0)>>>0;f=h?f:t;h=h?n:i;d=h+1|0;if(!(F4(e,e+f|0,d)|0))o=B-f|0;else{f=B-h+-1|0;o=0;f=(h>>>0>f>>>0?h:f)+1|0}b=B|63;s=B+-1|0;w=(o|0)!=0;u=B-f|0;i=A;c=0;n=A;while(1){l=i;do{if((n-l|0)>>>0>>0){t=L1(n,0,b)|0;if(t)if((t-l|0)>>>0>>0){i=0;break A}else break;else{t=n+b|0;break}}else t=n}while(0);n=r[i+s>>0]|0;e:do{if(!(1<<(n&31)&a[v+(((n&255)>>>5&255)<<2)>>2])){l=0;n=B}else{n=B-(a[g+((n&255)<<2)>>2]|0)|0;if(n|0){l=0;n=w&(c|0)!=0&n>>>0>>0?u:n;break}n=d>>>0>c>>>0?d:c;l=r[e+n>>0]|0;i:do{if(!(l<<24>>24))n=d;else{while(1){if(l<<24>>24!=(r[i+n>>0]|0))break;n=n+1|0;l=r[e+n>>0]|0;if(!(l<<24>>24)){n=d;break i}}l=0;n=n-h|0;break e}}while(0);while(1){if(n>>>0<=c>>>0)break A;n=n+-1|0;if((r[e+n>>0]|0)!=(r[i+n>>0]|0)){l=o;n=f;break}}}}while(0);i=i+n|0;c=l;n=t}}}while(0);k=E;return i|0}function x4(A,e,i){A=A|0;e=e|0;i=i|0;T4(A,e,i)|0;return A|0}function T4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=e;A:do{if(!((n^A)&3)){f=(i|0)!=0;if(f&(n&3|0)!=0)do{n=r[e>>0]|0;r[A>>0]=n;if(!(n<<24>>24))break A;i=i+-1|0;e=e+1|0;A=A+1|0;f=(i|0)!=0}while(f&(e&3|0)!=0);if(f){if(r[e>>0]|0){e:do{if(i>>>0>3){f=e;while(1){e=a[f>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0){e=f;break e}a[A>>2]=e;i=i+-4|0;e=f+4|0;A=A+4|0;if(i>>>0>3)f=e;else break}}}while(0);l=11}}else i=0}else l=11}while(0);A:do{if((l|0)==11)if(!i)i=0;else while(1){l=r[e>>0]|0;r[A>>0]=l;if(!(l<<24>>24))break A;i=i+-1|0;A=A+1|0;if(!i){i=0;break}else e=e+1|0}}while(0);Y6(A|0,0,i|0)|0;return A|0}function j4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=k;k=k+32|0;f=n;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=0;i=r[e>>0]|0;do{if(!(i<<24>>24))e=0;else{if(!(r[e+1>>0]|0)){e=A;while(1)if((r[e>>0]|0)==i<<24>>24)e=e+1|0;else break;e=e-A|0;break}do{l=f+(((i&255)>>>5&255)<<2)|0;a[l>>2]=a[l>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;A:do{if(!(i<<24>>24))e=A;else{e=A;do{if(!(a[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)))break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}while(0);e=e-A|0}}while(0);k=n;return e|0}function S4(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=R2(A)|0;A=NA(6,i|0)|0;A=N2((A|0)==-4?0:A)|0;k=e;return A|0}function P4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=O4(A,e,f)|0;k=r;return i|0}function O4(A,e,i){A=A|0;e=e|0;i=i|0;return k4(A,2147483647,e,i)|0}function K4(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+208|0;c=s+8|0;b=s;l=U(i,e)|0;t=b;a[t>>2]=1;a[t+4>>2]=0;A:do{if(l|0){t=0-i|0;a[c+4>>2]=i;a[c>>2]=i;f=2;e=i;n=i;while(1){e=e+i+n|0;a[c+(f<<2)>>2]=e;if(e>>>0>>0){w=n;f=f+1|0;n=e;e=w}else break}n=A+l+t|0;if(n>>>0>A>>>0){l=n;f=1;e=1;do{do{if((e&3|0)!=3){e=f+-1|0;if((a[c+(e<<2)>>2]|0)>>>0<(l-A|0)>>>0)_4(A,i,r,f,c);else $4(A,i,r,b,f,0,c);if((f|0)==1){A3(b,1);f=0;break}else{A3(b,e);f=1;break}}else{_4(A,i,r,f,c);q4(b,2);f=f+2|0}}while(0);e=a[b>>2]|1;a[b>>2]=e;A=A+i|0}while(A>>>0>>0)}else{f=1;e=1}$4(A,i,r,b,f,0,c);n=b+4|0;while(1){if((f|0)==1&(e|0)==1){if(!(a[n>>2]|0))break A}else if((f|0)>=2){A3(b,2);w=f+-2|0;a[b>>2]=a[b>>2]^7;q4(b,1);$4(A+(0-(a[c+(w<<2)>>2]|0))+t|0,i,r,b,f+-1|0,1,c);A3(b,1);e=a[b>>2]|1;a[b>>2]=e;l=A+t|0;$4(l,i,r,b,w,1,c);A=l;f=w;continue}e=e3(b)|0;q4(b,e);A=A+t|0;f=e+f|0;e=a[b>>2]|0}}}while(0);k=s;return}function _4(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+240|0;s=w;a[s>>2]=A;A:do{if((r|0)>1){b=0-e|0;n=A;c=r;r=1;while(1){l=n+b|0;t=c+-2|0;n=l+(0-(a[f+(t<<2)>>2]|0))|0;if((m5[i&127](A,n)|0)>-1?(m5[i&127](A,l)|0)>-1:0)break A;A=r+1|0;r=s+(r<<2)|0;if((m5[i&127](n,l)|0)>-1){a[r>>2]=n;r=c+-1|0}else{a[r>>2]=l;n=l;r=t}if((r|0)<=1){r=A;break A}c=r;r=A;A=a[s>>2]|0}}else r=1}while(0);r3(e,s,r);k=w;return}function q4(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=a[f>>2]|0;a[A>>2]=r;a[f>>2]=0;e=e+-32|0;i=0}else{i=a[f>>2]|0;r=a[A>>2]|0}a[A>>2]=i<<32-e|r>>>e;a[f>>2]=i>>>e;return}function $4(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+240|0;w=o+232|0;u=o;h=a[r>>2]|0;a[w>>2]=h;c=a[r+4>>2]|0;b=w+4|0;a[b>>2]=c;a[u>>2]=A;A:do{if((h|0)!=1|(c|0)!=0?(s=0-e|0,t=A+(0-(a[l+(f<<2)>>2]|0))|0,(m5[i&127](t,A)|0)>=1):0){r=1;n=(n|0)==0;c=t;while(1){if(n&(f|0)>1){n=A+s|0;t=a[l+(f+-2<<2)>>2]|0;if((m5[i&127](n,c)|0)>-1){t=10;break A}if((m5[i&127](n+(0-t)|0,c)|0)>-1){t=10;break A}}n=r+1|0;a[u+(r<<2)>>2]=c;h=e3(w)|0;q4(w,h);f=h+f|0;if(!((a[w>>2]|0)!=1|(a[b>>2]|0)!=0)){r=n;A=c;t=10;break A}A=c+(0-(a[l+(f<<2)>>2]|0))|0;if((m5[i&127](A,a[u>>2]|0)|0)<1){A=c;r=n;n=0;t=9;break}else{h=c;r=n;n=1;c=A;A=h}}}else{r=1;t=9}}while(0);if((t|0)==9?(n|0)==0:0)t=10;if((t|0)==10){r3(e,u,r);_4(A,e,i,f,l)}k=o;return}function A3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=a[A>>2]|0;a[f>>2]=r;a[A>>2]=0;e=e+-32|0;i=0}else{i=a[A>>2]|0;r=a[f>>2]|0}a[f>>2]=i>>>(32-e|0)|r<>2]=i<>2]|0)+-1|0)|0;if(!e){e=i3(a[A+4>>2]|0)|0;return((e|0)==0?0:e+32|0)|0}else return e|0;return 0}function i3(A){A=A|0;var e=0;if(A)if(!(A&1)){e=A;A=0;do{A=A+1|0;e=e>>>1}while(!(e&1|0))}else A=0;else A=32;return A|0}function r3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=k;k=k+256|0;r=l;A:do{if((i|0)>=2?(n=e+(i<<2)|0,a[n>>2]=r,A|0):0)while(1){f=A>>>0<256?A:256;y6(r|0,a[e>>2]|0,f|0)|0;r=0;do{t=e+(r<<2)|0;r=r+1|0;y6(a[t>>2]|0,a[e+(r<<2)>>2]|0,f|0)|0;a[t>>2]=(a[t>>2]|0)+f}while((r|0)!=(i|0));A=A-f|0;if(!A)break A;r=a[n>>2]|0}}while(0);k=l;return}function f3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=o4(A,e,f)|0;k=r;return i|0}function a3(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;EA(0,i|0)|0;e=0;i=(a[i+4>>2]|0)*65537^(i>>>4)+A;while(1){r[A+e>>0]=(i&15)+65|i<<1&32;e=e+1|0;if((e|0)==6)break;else i=i>>>5}k=f;return A|0}function n3(A,e,i){A=A|0;e=e|0;i=i|0;i=W1(A,e,i,-2147483648,0)|0;return i|0}function l3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;f=l;i=r[e>>0]|0;A:do{if(i<<24>>24!=0?(r[e+1>>0]|0)!=0:0){a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=0;do{t=f+(((i&255)>>>5&255)<<2)|0;a[t>>2]=a[t>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;if(!(i<<24>>24))e=A;else{e=A;do{if(a[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)|0)break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}else n=3}while(0);if((n|0)==3)e=j2(A,i<<24>>24)|0;k=l;return e-A|0}function t3(A,e){A=A|0;e=e|0;var i=0;if(!A){A=a[47666]|0;if(!A)A=0;else i=3}else i=3;do{if((i|0)==3){A=A+(j4(A,e)|0)|0;if(!(r[A>>0]|0)){a[47666]=0;A=0;break}e=A+(l3(A,e)|0)|0;a[47666]=e;if(!(r[e>>0]|0)){a[47666]=0;break}else{a[47666]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function c3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=e&255;do{if(!i){e=0;break}i=i+-1|0;e=A+i|0}while((r[e>>0]|0)!=f<<24>>24);return e|0}function b3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!A){A=a[i>>2]|0;if(!A)A=0;else f=3}else f=3;do{if((f|0)==3){A=A+(j4(A,e)|0)|0;if(!(r[A>>0]|0)){a[i>>2]=0;A=0;break}e=A+(l3(A,e)|0)|0;a[i>>2]=e;if(!(r[e>>0]|0)){a[i>>2]=0;break}else{a[i>>2]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function s3(A){A=A|0;var e=0,i=0;i=(S2(A)|0)+1|0;e=m2(i)|0;if(!e)e=0;else y6(e|0,A|0,i|0)|0;return e|0}function w3(A,e){A=A|0;e=e|0;return c3(A,e,(S2(A)|0)+1|0)|0}function u3(A,e){A=A|0;e=e|0;$1(A+(S2(A)|0)|0,e)|0;return A|0}function k3(A,e){A=A|0;e=e|0;e=A+(l3(A,e)|0)|0;return(r[e>>0]|0?e:0)|0}function o3(A){A=A|0;var e=0;if((a[A+76>>2]|0)>-1){e=(d4(A)|0)==0;A=(a[A>>2]|0)>>>4&1}else A=(a[A>>2]|0)>>>4&1;return A|0}function h3(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((a[A+76>>2]|0)>-1)f=d4(A)|0;else f=0;d3(A);n=(a[A>>2]&1|0)!=0;if(!n){r=B3()|0;i=a[A+52>>2]|0;e=A+56|0;if(i|0)a[i+56>>2]=a[e>>2];e=a[e>>2]|0;if(e|0)a[e+52>>2]=i;if((a[r>>2]|0)==(A|0))a[r>>2]=e;v3()}e=g3(A)|0;e=Q5[a[A+12>>2]&63](A)|0|e;i=a[A+92>>2]|0;if(i|0)L2(i);if(n){if(f|0)B4(A)}else L2(A);return e|0}function d3(A){A=A|0;var e=0;if(a[A+68>>2]|0){e=a[A+116>>2]|0;A=A+112|0;if(e|0)a[e+112>>2]=a[A>>2];A=a[A>>2]|0;if(!A)A=(C3()|0)+232|0;else A=A+116|0;a[A>>2]=e}return}function B3(){CA(190668);return 190676}function v3(){RA(190668);return}function g3(A){A=A|0;var e=0,i=0;do{if(A){if((a[A+76>>2]|0)<=-1){e=E3(A)|0;break}i=(d4(A)|0)==0;e=E3(A)|0;if(!i)B4(A)}else{if(!(a[15711]|0))e=0;else e=g3(a[15711]|0)|0;A=a[(B3()|0)>>2]|0;if(A)do{if((a[A+76>>2]|0)>-1)i=d4(A)|0;else i=0;if((a[A+20>>2]|0)>>>0>(a[A+28>>2]|0)>>>0)e=E3(A)|0|e;if(i|0)B4(A);A=a[A+56>>2]|0}while((A|0)!=0);v3()}}while(0);return e|0}function E3(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;e=A+20|0;l=A+28|0;if((a[e>>2]|0)>>>0>(a[l>>2]|0)>>>0?(W5[a[A+36>>2]&63](A,0,0)|0,(a[e>>2]|0)==0):0)A=-1;else{i=A+4|0;r=a[i>>2]|0;f=A+8|0;n=a[f>>2]|0;if(r>>>0>>0)W5[a[A+40>>2]&63](A,r-n|0,1)|0;a[A+16>>2]=0;a[l>>2]=0;a[e>>2]=0;a[f>>2]=0;a[i>>2]=0;A=0}return A|0}function C3(){return r1()|0}function I3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+64|0;w=u+40|0;b=u+24|0;c=u+16|0;n=u;s=u+56|0;f=r[e>>0]|0;if(L1(153580,f<<24>>24,4)|0){i=m2(1156)|0;if(!i)i=0;else{l=i;t=l+124|0;do{a[l>>2]=0;l=l+4|0}while((l|0)<(t|0));if(!(G1(e,43)|0))a[i>>2]=f<<24>>24==114?8:4;if(G1(e,101)|0){a[n>>2]=A;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0;f=r[e>>0]|0}if(f<<24>>24==97){a[c>>2]=A;a[c+4>>2]=3;f=DA(221,c|0)|0;if(!(f&1024)){a[b>>2]=A;a[b+4>>2]=4;a[b+8>>2]=f|1024;DA(221,b|0)|0}e=a[i>>2]|128;a[i>>2]=e}else e=a[i>>2]|0;a[i+60>>2]=A;a[i+44>>2]=i+132;a[i+48>>2]=1024;f=i+75|0;r[f>>0]=-1;if((e&8|0)==0?(a[w>>2]=A,a[w+4>>2]=21523,a[w+8>>2]=s,(JA(54,w|0)|0)==0):0)r[f>>0]=10;a[i+32>>2]=15;a[i+36>>2]=18;a[i+40>>2]=16;a[i+12>>2]=17;if(!(a[47645]|0))a[i+76>>2]=-1;Z3(i)|0}}else{a[(X2()|0)>>2]=22;i=0}k=u;return i|0}function Z3(A){A=A|0;var e=0,i=0;e=B3()|0;a[A+56>>2]=a[e>>2];i=a[e>>2]|0;if(i|0)a[i+52>>2]=A;a[e>>2]=A;v3();return A|0}function G3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;A:do{if(!e)A=0;else{do{if(i|0){t=(A|0)==0?f:A;A=r[e>>0]|0;if(A<<24>>24>-1){a[t>>2]=A&255;A=A<<24>>24!=0&1;break A}l=(a[a[(Q3()|0)+188>>2]>>2]|0)==0;A=r[e>>0]|0;if(l){a[t>>2]=A<<24>>24&57343;A=1;break A}A=(A&255)+-194|0;if(A>>>0<=50){f=e+1|0;l=a[62384+(A<<2)>>2]|0;if(i>>>0<4?l&-2147483648>>>((i*6|0)+-6|0)|0:0)break;A=n[f>>0]|0;i=A>>>3;if((i+-16|i+(l>>26))>>>0<=7){A=A+-128|l<<6;if((A|0)>=0){a[t>>2]=A;A=2;break A}f=(n[e+2>>0]|0)+-128|0;if(f>>>0<=63){f=f|A<<6;if((f|0)>=0){a[t>>2]=f;A=3;break A}A=(n[e+3>>0]|0)+-128|0;if(A>>>0<=63){a[t>>2]=A|f<<6;A=4;break A}}}}}}while(0);a[(X2()|0)>>2]=84;A=-1}}while(0);k=c;return A|0}function Q3(){return r1()|0}function m3(A,e){A=A|0;e=e|0;var i=0;i=S2(A)|0;return((L3(A,1,i,e)|0)!=(i|0))<<31>>31|0}function L3(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=U(i,e)|0;i=(e|0)==0?0:i;if((a[r+76>>2]|0)>-1){n=(d4(r)|0)==0;A=L4(A,f,r)|0;if(!n)B4(r)}else A=L4(A,f,r)|0;if((A|0)!=(f|0))i=(A>>>0)/(e>>>0)|0;return i|0}function W3(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;c=s;b=e&255;r[c>>0]=b;f=A+16|0;l=a[f>>2]|0;if(!l)if(!(W4(A)|0)){l=a[f>>2]|0;t=4}else i=-1;else t=4;do{if((t|0)==4){t=A+20|0;f=a[t>>2]|0;if(f>>>0>>0?(i=e&255,(i|0)!=(r[A+75>>0]|0)):0){a[t>>2]=f+1;r[f>>0]=b;break}if((W5[a[A+36>>2]&63](A,c,1)|0)==1)i=n[c>>0]|0;else i=-1}}while(0);k=s;return i|0}function y3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=A;a[f+4>>2]=e;a[f+8>>2]=i;i=N2(MA(3,f|0)|0)|0;k=r;return i|0}function z3(){var A=0,e=0;e=k;k=k+16|0;A=YA(20,e|0)|0;k=e;return A|0}function Y3(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=A;f=153565;a=i+15|0;do{r[i>>0]=r[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(a|0));if(!e){r[A+14>>0]=48;r[A+15>>0]=0}else{f=e;i=14;while(1){i=i+1|0;if(f>>>0<10)break;else f=(f>>>0)/10|0}r[A+i>>0]=0;while(1){i=i+-1|0;r[A+i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}}return}function D3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+48|0;f=n+40|0;r=n+8|0;i=n;a[i>>2]=A;a[i+4>>2]=e;i=zA(197,i|0)|0;if((i|0)==-9?(a[r>>2]=A,a[r+4>>2]=1,(DA(221,r|0)|0)>=0):0){Y3(r,A);a[f>>2]=r;a[f+4>>2]=e;e=N2(yA(195,f|0)|0)|0}else e=N2(i)|0;k=n;return e|0}function M3(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=A;a[r+4>>2]=e;e=N2(FA(33,r|0)|0)|0;k=i;return e|0}function F3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+48|0;l=t+32|0;n=t+16|0;i=t;if(L1(153580,r[e>>0]|0,4)|0){f=V3(e)|0;a[i>>2]=A;a[i+4>>2]=f|32768;a[i+8>>2]=438;i=N2(VA(5,i|0)|0)|0;if((i|0)>=0){if(f&524288|0){a[n>>2]=i;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0}A=I3(i,e)|0;if(!A){a[l>>2]=i;NA(6,l|0)|0;A=0}}else A=0}else{a[(X2()|0)>>2]=22;A=0}k=t;return A|0}function V3(A){A=A|0;var e=0,i=0,f=0;i=(G1(A,43)|0)==0;e=r[A>>0]|0;i=i?e<<24>>24!=114&1:2;f=(G1(A,120)|0)==0;i=f?i:i|128;A=(G1(A,101)|0)==0;A=A?i:i|524288;A=e<<24>>24==114?A:A|64;A=e<<24>>24==119?A|512:A;return(e<<24>>24==97?A|1024:A)|0}function J3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=N3(A,e,f)|0;k=r;return i|0}function N3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+128|0;r=n;f=r;l=f+124|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(l|0));a[r+32>>2]=41;a[r+44>>2]=A;a[r+76>>2]=-1;a[r+84>>2]=A;l=R3(r,e,i)|0;k=n;return l|0}function X3(A,e,i){A=A|0;e=e|0;i=i|0;return P3(A,e,i)|0}function R3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0;H=k;k=k+288|0;F=H+8|0;V=H+17|0;J=H;N=H+16|0;if((a[A+76>>2]|0)>-1)R=d4(A)|0;else R=0;f=r[e>>0]|0;A:do{if(f<<24>>24){Q=A+4|0;m=A+100|0;W=A+108|0;y=A+8|0;z=V+10|0;Y=V+33|0;G=F+4|0;D=V+1|0;M=V+1|0;s=e;v=0;e=0;t=0;l=0;e:while(1){i:do{if(!(Q1(f&255)|0)){f=f<<24>>24==37;r:do{if(f){o=s+1|0;w=r[o>>0]|0;f:do{switch(w<<24>>24){case 37:break r;case 42:{Z=0;s=s+2|0;break}default:{f=(w&255)+-48|0;if(f>>>0<10?(r[s+2>>0]|0)==36:0){Z=H3(i,f)|0;s=s+3|0;break f}s=(a[i>>2]|0)+(4-1)&~(4-1);Z=a[s>>2]|0;a[i>>2]=s+4;s=o}}}while(0);f=r[s>>0]|0;w=f&255;if((w+-48|0)>>>0<10){o=0;do{o=(o*10|0)+-48+w|0;s=s+1|0;f=r[s>>0]|0;w=f&255}while((w+-48|0)>>>0<10)}else o=0;f=f<<24>>24==109;I=(Z|0)!=0;t=f?0:t;l=f?0:l;s=f?s+1|0:s;f=I&f;w=s+1|0;switch(r[s>>0]|0){case 104:{C=(r[w>>0]|0)==104;h=C?-2:-1;s=C?s+2|0:w;break}case 108:{C=(r[w>>0]|0)==108;h=C?3:1;s=C?s+2|0:w;break}case 106:{h=3;s=w;break}case 116:case 122:{h=1;s=w;break}case 76:{h=2;s=w;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:{h=0;break}default:{X=135;break e}}B=n[s>>0]|0;g=(B&47|0)==3;B=g?B|32:B;g=g?1:h;d=B&255;switch(d<<24>>24){case 99:{o=(o|0)>1?o:1;C=v;break}case 91:{C=v;break}case 110:{p3(Z,g,v,((v|0)<0)<<31>>31);w=v;break i}default:{y1(A,0);do{w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0}while((Q1(w)|0)!=0);if(!(a[m>>2]|0))w=a[Q>>2]|0;else{w=(a[Q>>2]|0)+-1|0;a[Q>>2]=w}C=(a[W>>2]|0)+v+w-(a[y>>2]|0)|0}}y1(A,o);w=a[Q>>2]|0;h=a[m>>2]|0;if(w>>>0>>0)a[Q>>2]=w+1;else{if((Y1(A)|0)<0){X=135;break e}h=a[m>>2]|0}if(h|0)a[Q>>2]=(a[Q>>2]|0)+-1;f:do{switch(d<<24>>24){case 91:case 99:case 115:{E=(B|0)==99;a:do{if((B|16|0)==115){Y6(D|0,-1,256)|0;r[V>>0]=0;if((B|0)==115){r[Y>>0]=0;r[z>>0]=0;r[z+1>>0]=0;r[z+2>>0]=0;r[z+3>>0]=0;r[z+4>>0]=0}}else{B=s+1|0;w=(r[B>>0]|0)==94;v=w&1;s=w?s+2|0:B;Y6(M|0,w&1|0,256)|0;r[V>>0]=0;w=r[s>>0]|0;switch(w<<24>>24){case 45:{w=46;X=63;break}case 93:{w=94;X=63;break}default:{}}while(1){if((X|0)==63){X=0;r[V+w>>0]=v^1;w=s+1|0;s=w;w=r[w>>0]|0}n:do{switch(w<<24>>24){case 0:{X=135;break e}case 93:break a;case 45:{B=s+1|0;w=r[B>>0]|0;switch(w<<24>>24){case 93:case 0:{w=45;break n}default:{}}s=r[s+-1>>0]|0;if((s&255)<(w&255)){d=(v^1)&255;s=s&255;do{s=s+1|0;r[V+s>>0]=d;w=r[B>>0]|0}while((s|0)<(w&255|0));s=B}else s=B;break}default:{}}}while(0);w=(w&255)+1|0;X=63}}}while(0);w=E?o+1|0:31;B=(g|0)==1;a:do{if(B){if(f){l=m2(w<<2)|0;if(!l){t=0;l=0;f=1;X=135;break e}}else l=Z;a[F>>2]=0;a[G>>2]=0;d=w;t=0;n:while(1){h=(l|0)==0;do{l:while(1){w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0;if(!(r[V+(w+1)>>0]|0))break n;r[N>>0]=w;switch(S1(J,N,1,F)|0){case-1:{t=0;X=135;break e}case-2:break;default:break l}}if(!h){a[l+(t<<2)>>2]=a[J>>2];t=t+1|0}}while(!(f&(t|0)==(d|0)));t=d<<1|1;w=y2(l,t<<2)|0;if(!w){t=0;f=1;X=135;break e}else{g=d;d=t;l=w;t=g}}if(!(U3(F)|0)){t=0;X=135;break e}else{w=t;t=0;d=l}}else{if(f){t=m2(w)|0;if(!t){t=0;l=0;f=1;X=135;break e}else{h=w;l=0}while(1){do{w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0;if(!(r[V+(w+1)>>0]|0)){w=l;d=0;l=0;break a}r[t+l>>0]=w;l=l+1|0}while((l|0)!=(h|0));l=h<<1|1;w=y2(t,l)|0;if(!w){l=0;f=1;X=135;break e}else{g=h;h=l;t=w;l=g}}}if(!Z){t=h;while(1){l=a[Q>>2]|0;if(l>>>0>>0){a[Q>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!(r[V+(l+1)>>0]|0)){w=0;t=0;d=0;l=0;break a}t=a[m>>2]|0}}else{w=0;t=h;while(1){l=a[Q>>2]|0;if(l>>>0>>0){a[Q>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!(r[V+(l+1)>>0]|0)){t=Z;d=0;l=0;break a}r[Z+w>>0]=l;w=w+1|0;t=a[m>>2]|0}}}}while(0);if(!(a[m>>2]|0))h=a[Q>>2]|0;else{h=(a[Q>>2]|0)+-1|0;a[Q>>2]=h}h=h-(a[y>>2]|0)+(a[W>>2]|0)|0;if(!h){X=137;break e}if(!((h|0)==(o|0)|E^1)){X=137;break e}do{if(f)if(B){a[Z>>2]=d;break}else{a[Z>>2]=t;break}}while(0);if(!E){if(d|0)a[d+(w<<2)>>2]=0;if(!t){t=0;break f}r[t+w>>0]=0}break}case 120:case 88:case 112:{w=16;X=123;break}case 111:{w=8;X=123;break}case 117:case 100:{w=10;X=123;break}case 105:{w=0;X=123;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{u=+x3(A,g,0);if((a[W>>2]|0)==((a[y>>2]|0)-(a[Q>>2]|0)|0)){X=137;break e}if(Z)switch(g|0){case 0:{c[Z>>2]=u;break f}case 1:{b[Z>>3]=u;break f}case 2:{b[Z>>3]=u;break f}default:break f}break}default:{}}}while(0);do{if((X|0)==123){X=0;w=z1(A,w,0,-1,-1)|0;if((a[W>>2]|0)==((a[y>>2]|0)-(a[Q>>2]|0)|0)){X=137;break e}if(I&(B|0)==112){a[Z>>2]=w;break}else{p3(Z,g,w,L);break}}}while(0);e=e+(I&1)|0;w=(a[W>>2]|0)+C+(a[Q>>2]|0)-(a[y>>2]|0)|0;break i}}while(0);s=s+(f&1)|0;y1(A,0);f=a[Q>>2]|0;if(f>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=f+1;f=n[f>>0]|0}else f=Y1(A)|0;if((f|0)!=(n[s>>0]|0)){X=22;break e}w=v+1|0}else{while(1){f=s+1|0;if(!(Q1(n[f>>0]|0)|0))break;else s=f}y1(A,0);do{f=a[Q>>2]|0;if(f>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=f+1;f=n[f>>0]|0}else f=Y1(A)|0}while((Q1(f)|0)!=0);if(!(a[m>>2]|0))f=a[Q>>2]|0;else{f=(a[Q>>2]|0)+-1|0;a[Q>>2]=f}w=(a[W>>2]|0)+v+f-(a[y>>2]|0)|0}}while(0);s=s+1|0;f=r[s>>0]|0;if(!(f<<24>>24))break A;else v=w}if((X|0)==22){if(a[m>>2]|0)a[Q>>2]=(a[Q>>2]|0)+-1;if((e|0)!=0|(f|0)>-1)break;else{f=0;X=136}}else if((X|0)==135){f=f&1;if(!e)X=136}else if((X|0)==137)f=f&1;if((X|0)==136)e=-1;if(f){L2(t);L2(l)}}else e=0}while(0);if(R|0)B4(A);k=H;return e|0}function H3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=k;k=k+16|0;i=r;a[i>>2]=a[A>>2];while(1){f=(a[i>>2]|0)+(4-1)&~(4-1);A=a[f>>2]|0;a[i>>2]=f+4;if(e>>>0>1)e=e+-1|0;else break}k=r;return A|0}function p3(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;A:do{if(A|0)switch(e|0){case-2:{r[A>>0]=i;break A}case-1:{f[A>>1]=i;break A}case 0:{a[A>>2]=i;break A}case 1:{a[A>>2]=i;break A}case 3:{e=A;a[e>>2]=i;a[e+4>>2]=n;break A}default:break A}}while(0);return}function U3(A){A=A|0;if(!A)A=1;else A=(a[A>>2]|0)==0&1;return A|0}function x3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;switch(e|0){case 0:{s=-149;w=24;c=4;break}case 1:{s=-1074;w=53;c=4;break}case 2:{s=-1074;w=53;c=4;break}default:f=0.0}A:do{if((c|0)==4){k=A+4|0;u=A+100|0;do{e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0}while((Q1(e)|0)!=0);e:do{switch(e|0){case 43:case 45:{t=1-(((e|0)==45&1)<<1)|0;e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;l=n[e>>0]|0;break e}else{l=Y1(A)|0;break e}}default:{l=e;t=1}}}while(0);e=0;do{if((l|32|0)!=(r[153584+e>>0]|0))break;do{if(e>>>0<7){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0;break}else{l=Y1(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);e:do{switch(e|0){case 8:break;case 3:{c=23;break}default:{b=(i|0)!=0;if(b&e>>>0>3)if((e|0)==8)break e;else{c=23;break e}i:do{if(!e){e=0;do{if((l|32|0)!=(r[153593+e>>0]|0))break i;do{if(e>>>0<2){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0;break}else{l=Y1(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==40)e=1;else{if(!(a[u>>2]|0)){f=E;break A}a[k>>2]=(a[k>>2]|0)+-1;f=E;break A}while(1){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!((l+-48|0)>>>0<10|(l+-65|0)>>>0<26)?!((l|0)==95|(l+-97|0)>>>0<26):0)break;e=e+1|0}if((l|0)==41){f=E;break A}l=(a[u>>2]|0)==0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if(!b){a[(X2()|0)>>2]=22;y1(A,0);f=0.0;break A}if(!e){f=E;break A}while(1){e=e+-1|0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if(!e){f=E;break A}}}case 0:{if((l|0)==48){e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|32|0)==120){f=+T3(A,w,s,t,i);break A}if(!(a[u>>2]|0))e=48;else{a[k>>2]=(a[k>>2]|0)+-1;e=48}}else e=l;f=+j3(A,e,w,s,t,i);break A}default:{if(a[u>>2]|0)a[k>>2]=(a[k>>2]|0)+-1;a[(X2()|0)>>2]=22;y1(A,0);f=0.0;break A}}}}}while(0);if((c|0)==23){l=(a[u>>2]|0)==0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if((i|0)!=0&e>>>0>3)do{if(!l)a[k>>2]=(a[k>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}f=+(t|0)*C}}while(0);return+f}function T3(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0,c=0,b=0.0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=A+4|0;t=a[Z>>2]|0;I=A+100|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0;s=0}else{c=Y1(A)|0;s=0}A:while(1){switch(c|0){case 46:{C=8;break A}case 48:break;default:{B=0;u=0;k=1.0;l=0.0;t=0;w=c;v=s;E=0;g=0;s=0;c=0;break A}}t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0;s=1;continue}else{c=Y1(A)|0;s=1;continue}}if((C|0)==8){t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0}else c=Y1(A)|0;if((c|0)==48){s=0;c=0;do{t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;w=n[t>>0]|0}else w=Y1(A)|0;s=d6(s|0,c|0,-1,-1)|0;c=L}while((w|0)==48);B=1;u=0;k=1.0;l=0.0;t=0;v=1;E=0;g=0}else{B=1;u=0;k=1.0;l=0.0;t=0;w=c;v=s;E=0;g=0;s=0;c=0}}while(1){h=w+-48|0;o=w|32;if(h>>>0>=10){d=(w|0)==46;if(!(d|(o+-97|0)>>>0<6))break;if(d)if(!B){B=1;b=k;d=v;s=g;c=E;h=g;o=E}else{w=46;break}else C=20}else C=20;if((C|0)==20){C=0;w=(w|0)>57?o+-87|0:h;do{if(!((E|0)<0|(E|0)==0&g>>>0<8))if((E|0)<0|(E|0)==0&g>>>0<14){k=k*.0625;b=k;l=l+k*+(w|0);break}else{v=(u|0)!=0|(w|0)==0;u=v?u:1;b=k;l=v?l:l+k*.5;break}else{b=k;t=w+(t<<4)|0}}while(0);h=d6(g|0,E|0,1,0)|0;d=1;o=L}w=a[Z>>2]|0;if(w>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=w+1;k=b;w=n[w>>0]|0;v=d;E=o;g=h;continue}else{k=b;w=Y1(A)|0;v=d;E=o;g=h;continue}}do{if(!v){t=(a[I>>2]|0)==0;if(!t)a[Z>>2]=(a[Z>>2]|0)+-1;if(f){if(!t)a[Z>>2]=(a[Z>>2]|0)+-1;if(!((B|0)==0|t))a[Z>>2]=(a[Z>>2]|0)+-1}else y1(A,0);l=+(r|0)*0.0}else{o=(B|0)==0;h=o?g:s;o=o?E:c;if((E|0)<0|(E|0)==0&g>>>0<8){s=g;c=E;while(1){t=t<<4;C=s;s=d6(s|0,c|0,1,0)|0;if(!((c|0)<0|(c|0)==0&C>>>0<7)){u=t;break}else c=L}}else u=t;if((w|32|0)==112){c=S3(A,f)|0;t=L;if((c|0)==0&(t|0)==-2147483648){if(!f){y1(A,0);l=0.0;break}if(!(a[I>>2]|0)){c=0;t=0}else{a[Z>>2]=(a[Z>>2]|0)+-1;c=0;t=0}}}else if(!(a[I>>2]|0)){c=0;t=0}else{a[Z>>2]=(a[Z>>2]|0)+-1;c=0;t=0}s=G6(h|0,o|0,2)|0;s=d6(s|0,L|0,-32,-1)|0;s=d6(s|0,L|0,c|0,t|0)|0;t=L;if(!u){l=+(r|0)*0.0;break}Z=0-i|0;f=((Z|0)<0)<<31>>31;if((t|0)>(f|0)|(t|0)==(f|0)&s>>>0>Z>>>0){a[(X2()|0)>>2]=34;l=+(r|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}Z=i+-106|0;f=((Z|0)<0)<<31>>31;if((t|0)<(f|0)|(t|0)==(f|0)&s>>>0>>0){a[(X2()|0)>>2]=34;l=+(r|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((u|0)>-1){c=u;do{Z=!(l>=.5);c=c<<1|(Z^1)&1;l=l+(Z?l:l+-1.0);s=d6(s|0,t|0,-1,-1)|0;t=L}while((c|0)>-1);k=l;w=c}else{k=l;w=u}Z=((e|0)<0)<<31>>31;i=B6(32,0,i|0,((i|0)<0)<<31>>31|0)|0;t=d6(i|0,L|0,s|0,t|0)|0;i=L;if((i|0)<(Z|0)|(i|0)==(Z|0)&t>>>0>>0)if((t|0)>0)C=59;else{c=0;t=84;C=61}else{t=e;C=59}if((C|0)==59)if((t|0)<53){c=t;t=84-t|0;C=61}else{b=0.0;l=+(r|0)}if((C|0)==61){l=+(r|0);b=+k1(+s1(1.0,t),l);t=c}r=(w&1|0)==0&(k!=0.0&(t|0)<32);l=(r?0.0:k)*l+(b+l*+((w+(r&1)|0)>>>0))-b;if(!(l!=0.0))a[(X2()|0)>>2]=34;l=+o1(l,s)}}while(0);return+l}function j3(A,e,i,r,f,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;var t=0.0,c=0.0,b=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0.0;F=k;k=k+512|0;Y=F;D=r+i|0;M=0-D|0;m=A+4|0;W=A+100|0;b=0;A:while(1){switch(e|0){case 46:{G=6;break A}case 48:break;default:{E=0;o=b;h=0;u=0;break A}}e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0;b=1;continue}else{e=Y1(A)|0;b=1;continue}}if((G|0)==6){e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==48){b=0;e=0;while(1){b=d6(b|0,e|0,-1,-1)|0;u=L;e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==48)e=u;else{E=1;o=1;h=b;break}}}else{E=1;o=b;h=0;u=0}}a[Y>>2]=0;w=e+-48|0;s=(e|0)==46;A:do{if(s|w>>>0<10){Q=Y+496|0;C=0;b=0;g=0;I=E;Z=o;G=w;o=0;w=0;e:while(1){do{if(s)if(!I){I=1;h=o;u=w}else break e;else{o=d6(o|0,w|0,1,0)|0;w=L;E=(e|0)!=48;if((b|0)>=125){if(!E)break;a[Q>>2]=a[Q>>2]|1;break}s=Y+(b<<2)|0;if(!C)e=G;else e=e+-48+((a[s>>2]|0)*10|0)|0;a[s>>2]=e;C=C+1|0;Z=(C|0)==9;C=Z?0:C;b=b+(Z&1)|0;g=E?o:g;Z=1}}while(0);e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;G=e+-48|0;s=(e|0)==46;if(!(s|G>>>0<10)){E=I;s=Z;G=29;break A}}e=C;s=(Z|0)!=0;G=37}else{C=0;b=0;g=0;s=o;o=0;w=0;G=29}}while(0);do{if((G|0)==29){Q=(E|0)==0;h=Q?o:h;u=Q?w:u;s=(s|0)!=0;if(!(s&(e|32|0)==101))if((e|0)>-1){e=C;G=37;break}else{e=C;G=39;break}s=S3(A,l)|0;e=L;if((s|0)==0&(e|0)==-2147483648){if(!l){y1(A,0);t=0.0;break}if(!(a[W>>2]|0)){s=0;e=0}else{a[m>>2]=(a[m>>2]|0)+-1;s=0;e=0}}Z=d6(s|0,e|0,h|0,u|0)|0;e=C;u=L;G=41}}while(0);if((G|0)==37)if(a[W>>2]|0){a[m>>2]=(a[m>>2]|0)+-1;if(s){Z=h;G=41}else G=40}else G=39;if((G|0)==39)if(s){Z=h;G=41}else G=40;do{if((G|0)==40){a[(X2()|0)>>2]=22;y1(A,0);t=0.0}else if((G|0)==41){s=a[Y>>2]|0;if(!s){t=+(f|0)*0.0;break}if(((w|0)<0|(w|0)==0&o>>>0<10)&((Z|0)==(o|0)&(u|0)==(w|0))?(i|0)>30|(s>>>i|0)==0:0){t=+(f|0)*+(s>>>0);break}A=(r|0)/-2|0;W=((A|0)<0)<<31>>31;if((u|0)>(W|0)|(u|0)==(W|0)&Z>>>0>A>>>0){a[(X2()|0)>>2]=34;t=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}A=r+-106|0;W=((A|0)<0)<<31>>31;if((u|0)<(W|0)|(u|0)==(W|0)&Z>>>0>>0){a[(X2()|0)>>2]=34;t=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(e){if((e|0)<9){w=Y+(b<<2)|0;s=a[w>>2]|0;while(1){s=s*10|0;if((e|0)>=8)break;else e=e+1|0}a[w>>2]=s}b=b+1|0}if((g|0)<9?(g|0)<=(Z|0)&(Z|0)<18:0){if((Z|0)==9){t=+(f|0)*+((a[Y>>2]|0)>>>0);break}if((Z|0)<9){t=+(f|0)*+((a[Y>>2]|0)>>>0)/+(a[63712+(8-Z<<2)>>2]|0);break}A=i+27+(U(Z,-3)|0)|0;e=a[Y>>2]|0;if((A|0)>30|(e>>>A|0)==0){t=+(f|0)*+(e>>>0)*+(a[63712+(Z+-10<<2)>>2]|0);break}}e=(Z|0)%9|0;if(!e){e=0;w=0}else{g=(Z|0)>-1?e:e+9|0;o=a[63712+(8-g<<2)>>2]|0;if(b){h=1e9/(o|0)|0;w=0;u=0;s=Z;e=0;do{m=Y+(e<<2)|0;W=a[m>>2]|0;A=((W>>>0)/(o>>>0)|0)+w|0;a[m>>2]=A;w=U(h,(W>>>0)%(o>>>0)|0)|0;A=(e|0)==(u|0)&(A|0)==0;s=A?s+-9|0:s;u=A?u+1&127:u;e=e+1|0}while((e|0)!=(b|0));if(!w)w=u;else{a[Y+(b<<2)>>2]=w;w=u;b=b+1|0}}else{w=0;b=0;s=Z}e=0;Z=9-g+s|0}A:while(1){g=(Z|0)<18;E=(Z|0)==18;C=Y+(w<<2)|0;while(1){if(!g){if(!E){s=Z;break A}if((a[C>>2]|0)>>>0>=9007199){s=18;break A}}s=0;I=b;b=b+127|0;while(1){u=b&127;o=Y+(u<<2)|0;b=G6(a[o>>2]|0,0,29)|0;b=d6(b|0,L|0,s|0,0)|0;s=L;if(s>>>0>0|(s|0)==0&b>>>0>1e9){h=E6(b|0,s|0,1e9,0)|0;b=C6(b|0,s|0,1e9,0)|0}else h=0;a[o>>2]=b;A=(u|0)==(w|0);I=(b|0)==0&(((u|0)!=(I+127&127|0)|A)^1)?u:I;if(A)break;else{s=h;b=u+-1|0}}e=e+-29|0;if(h|0)break;else b=I}w=w+127&127;b=I+127&127;s=Y+((I+126&127)<<2)|0;if((w|0)==(I|0))a[s>>2]=a[s>>2]|a[Y+(b<<2)>>2];else b=I;a[Y+(w<<2)>>2]=h;Z=Z+9|0}A:while(1){C=b+1&127;I=Y+((b+127&127)<<2)|0;while(1){h=(s|0)==18;E=(s|0)>27?9:1;Z=w;while(1){o=0;while(1){w=o+Z&127;if((w|0)==(b|0)){z=2;G=88;break}w=a[Y+(w<<2)>>2]|0;u=a[63744+(o<<2)>>2]|0;if(w>>>0>>0){z=2;G=88;break}if(w>>>0>u>>>0)break;w=o+1|0;if((o|0)<1)o=w;else{z=w;G=88;break}}if((G|0)==88?(G=0,h&(z|0)==2):0){t=0.0;u=0;break A}e=E+e|0;if((Z|0)==(b|0))Z=b;else break}h=(1<>>E;o=0;w=Z;u=Z;do{m=Y+(u<<2)|0;W=a[m>>2]|0;A=(W>>>E)+o|0;a[m>>2]=A;o=U(W&h,g)|0;A=(u|0)==(w|0)&(A|0)==0;s=A?s+-9|0:s;w=A?w+1&127:w;u=u+1&127}while((u|0)!=(b|0));if(!o)continue;if((C|0)!=(w|0))break;a[I>>2]=a[I>>2]|1}a[Y+(b<<2)>>2]=o;b=C}do{w=u+Z&127;s=b+1&127;if((w|0)==(b|0)){a[Y+(s+-1<<2)>>2]=0;b=s}t=t*1.0e9+ +((a[Y+(w<<2)>>2]|0)>>>0);u=u+1|0}while((u|0)!=2);v=+(f|0);c=t*v;u=e+53|0;o=u-r|0;h=(o|0)<(i|0);w=h?(o|0)>0?o:0:i;if((w|0)<53){V=+k1(+s1(1.0,105-w|0),c);d=+h1(c,+s1(1.0,53-w|0));B=V;t=d;d=V+(c-d)}else{B=0.0;t=0.0;d=c}s=Z+2&127;if((s|0)!=(b|0)){s=a[Y+(s<<2)>>2]|0;do{if(s>>>0>=5e8){if((s|0)!=5e8){t=v*.75+t;break}if((Z+3&127|0)==(b|0)){t=v*.5+t;break}else{t=v*.75+t;break}}else{if((s|0)==0?(Z+3&127|0)==(b|0):0)break;t=v*.25+t}}while(0);if((53-w|0)>1?!(+h1(t,1.0)!=0.0):0)c=t+1.0;else c=t}else c=t;t=d+c-B;do{if((u&2147483647|0)>(-2-D|0)){D=!(+y(+t)>=9007199254740992.0);e=e+((D^1)&1)|0;t=D?t:t*.5;if((e+50|0)<=(M|0)?!(c!=0.0&(h&((w|0)!=(o|0)|D))):0)break;a[(X2()|0)>>2]=34}}while(0);t=+o1(t,e)}}while(0);k=F;return+t}function S3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;l=A+4|0;i=a[l>>2]|0;t=A+100|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0;switch(i|0){case 43:case 45:{r=(i|0)==45&1;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0;if((e|0)!=0&(i+-48|0)>>>0>9?(a[t>>2]|0)!=0:0)a[l>>2]=(a[l>>2]|0)+-1;break}default:r=0}if((i+-48|0)>>>0>9)if(!(a[t>>2]|0)){r=-2147483648;i=0}else{a[l>>2]=(a[l>>2]|0)+-1;r=-2147483648;i=0}else{f=0;do{f=i+-48+(f*10|0)|0;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10&(f|0)<214748364);e=((f|0)<0)<<31>>31;if((i+-48|0)>>>0<10)do{e=h6(f|0,e|0,10,0)|0;f=L;i=d6(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;f=d6(i|0,L|0,e|0,f|0)|0;e=L;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10&((e|0)<21474836|(e|0)==21474836&f>>>0<2061584302));if((i+-48|0)>>>0<10)do{i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10);if(a[t>>2]|0)a[l>>2]=(a[l>>2]|0)+-1;t=(r|0)!=0;i=B6(0,0,f|0,e|0)|0;r=t?L:e;i=t?i:f}L=r;return i|0}function P3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=A+84|0;n=a[r>>2]|0;l=i+256|0;f=L1(n,0,l)|0;f=(f|0)==0?l:f-n|0;i=f>>>0>>0?f:i;y6(e|0,n|0,i|0)|0;a[A+4>>2]=n+i;e=n+f|0;a[A+8>>2]=e;a[r>>2]=e;return i|0}function O3(A,e,i){A=A|0;e=e|0;i=i|0;return K3(A,e,i)|0}function K3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((a[A+76>>2]|0)>-1){r=(d4(A)|0)==0;e=_3(A,e,i)|0;if(!r)B4(A)}else e=_3(A,e,i)|0;return e|0}function _3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((i|0)==1)e=e-(a[A+8>>2]|0)+(a[A+4>>2]|0)|0;r=A+20|0;f=A+28|0;if((a[r>>2]|0)>>>0>(a[f>>2]|0)>>>0?(W5[a[A+36>>2]&63](A,0,0)|0,(a[r>>2]|0)==0):0)e=-1;else{a[A+16>>2]=0;a[f>>2]=0;a[r>>2]=0;if((W5[a[A+40>>2]&63](A,e,i)|0)<0)e=-1;else{a[A+8>>2]=0;a[A+4>>2]=0;a[A>>2]=a[A>>2]&-17;e=0}}return e|0}function q3(A){A=A|0;var e=0,i=0,f=0,a=0,n=0,l=0;while(1){f=r[A>>0]|0;e=f<<24>>24;a=A+1|0;if(!(Q1(e)|0))break;else A=a}switch(e|0){case 45:{A=1;n=5;break}case 43:{A=0;n=5;break}default:{l=0;i=A;A=f}}if((n|0)==5){l=A;i=a;A=r[a>>0]|0}e=(A<<24>>24)+-48|0;if(e>>>0<10){A=0;do{i=i+1|0;A=(A*10|0)-e|0;e=(r[i>>0]|0)+-48|0}while(e>>>0<10)}else A=0;return(l|0?A:0-A|0)|0}function $3(A){A=A|0;return+ +A8(A,0)}function A8(A,e){A=A|0;e=e|0;return+ +e8(A,e,1)}function e8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0;t=k;k=k+128|0;l=t;f=l;n=f+124|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));f=l+4|0;a[f>>2]=A;n=l+8|0;a[n>>2]=-1;a[l+44>>2]=A;a[l+76>>2]=-1;y1(l,0);r=+x3(l,i,1);i=(a[f>>2]|0)-(a[n>>2]|0)+(a[l+108>>2]|0)|0;if(e|0)a[e>>2]=i|0?A+i|0:A;k=t;return+r}function i8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0;A:do{if(!i)e=0;else{l=e;while(1){n=i>>>1;e=l+(U(n,r)|0)|0;a=m5[f&127](A,e)|0;if(!a)break A;if((i|0)==1){e=0;break A}a=(a|0)<0;i=a?n:i-n|0;if(!i){e=0;break}else l=a?l:e}}}while(0);return e|0}function r8(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;a=A+2|0;r=A+4|0;i=h6((l[e+2>>1]|0)<<16|(l[e>>1]|0)|0,l[e+4>>1]|0|0,(l[a>>1]|0)<<16|(l[A>>1]|0)|0,l[r>>1]|0|0)|0;e=d6(i|0,L|0,l[e+6>>1]|0|0,0)|0;i=L;f[A>>1]=e;A=Z6(e|0,i|0,16)|0;f[a>>1]=A;f[r>>1]=i;L=i&65535;return e|0}function f8(A){A=A|0;var e=0;e=186608;a[e>>2]=A+-1;a[e+4>>2]=0;return}function a8(){var A=0,e=0,i=0;e=186608;e=h6(a[e>>2]|0,a[e+4>>2]|0,1284865837,1481765933)|0;e=d6(e|0,L|0,1,0)|0;A=L;i=186608;a[i>>2]=e;a[i+4>>2]=A;A=Z6(e|0,A|0,33)|0;return A|0}function n8(A){A=A|0;f[96876]=f[32922]|0;f[96877]=f[32923]|0;f[96878]=f[32924]|0;f[32922]=f[A>>1]|0;f[32923]=f[A+2>>1]|0;f[32924]=f[A+4>>1]|0;return 193752}function l8(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;f[i>>1]=13070;f[i+2>>1]=A;f[i+4>>1]=A>>>16;n8(i)|0;k=e;return}function t8(A){A=A|0;var e=0;e=r8(A,65850)|0;e=G6(e|0,L|0,4)|0;A=L|1072693248;a[w>>2]=e;a[w+4>>2]=A;return+(+b[w>>3]+-1.0)}function c8(){return+ +t8(65844)}function b8(A,e){A=A|0;e=e|0;if(!A)e=W2(1,24)|0;else{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0}return e|0}function s8(A){A=A|0;var e=0,i=0;e=a[A>>2]|0;if(e|0)do{L2(a[e>>2]|0);i=e;e=a[e+4>>2]|0;L2(i)}while((e|0)!=0);L2(A);return}function w8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;l=A+16|0;A:do{if(!(a[l>>2]|0)){b=A+12|0;n=a[b>>2]|0;if(n>>>0>>0){do{if(e)if(!i){a[l>>2]=1;e=0;break A}else{l=A+8|0;a[l>>2]=i;n=1024;e=i;break}else{n=f<<3;n=n>>>0>1024?n:1024;c=m2(8)|0;if(!c){a[l>>2]=1;e=0;break A}e=m2(n)|0;a[c>>2]=e;i=e;if(!e){L2(c);a[l>>2]=1;e=0;break A}a[c+4>>2]=0;l=A+4|0;t=a[l>>2]|0;if(t|0)a[t+4>>2]=c;if(!(a[A>>2]|0))a[A>>2]=c;a[l>>2]=c;l=A+8|0;a[l>>2]=i}}while(0);a[b>>2]=n}else{l=A+8|0;e=a[l>>2]|0;i=e}i=i+f&3;i=((i|0)==0?0:4-i|0)+f|0;a[l>>2]=e+i;a[b>>2]=n-i;if(r)Y6(e|0,0,i|0)|0}else e=0}while(0);return e|0}function u8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;E=k;k=k+48|0;t=E;v=k8()|0;A:do{if(!v)e=12;else{g=b8(0,0)|0;if(!g){o8(v);e=12;break}r=t+8|0;a[r>>2]=0;a[r+4>>2]=0;a[r+8>>2]=0;a[r+12>>2]=0;a[r+16>>2]=0;a[t>>2]=g;a[t+4>>2]=v;a[t+16>>2]=e;a[t+32>>2]=i;r=t+28|0;a[r>>2]=-1;e=h8(t)|0;e:do{if(!e){l=t+20|0;f=a[l>>2]|0;a[A>>2]=f+-1;c=a[t+8>>2]|0;e=a[r>>2]|0;if((e|0)<(f|0)){n=W2(1,68)|0;if(n){d=e>>>31^1;a[n+60>>2]=d;a[n+28>>2]=f;if((i&8|0)==0|(d|0)!=0){e=d8(0,v,c,n)|0;if(e|0){l=0;t=0;f=0;r=0;break}f=a[n+40>>2]|0;if((f|0)>0){e=(f<<2)+4|0;r=m2(e)|0;if(!r){l=0;t=0;e=12;f=0;r=0;break}a[n+32>>2]=r;Y6(r|0,-1,e|0)|0}else r=0;d=W2(f<<1|1,4)|0;a[n+36>>2]=d;if(!d){l=0;t=0;e=12;f=0;r=0;break}e=W2(a[l>>2]|0,12)|0;if(!e){l=0;t=0;e=12;f=0;r=0;break}a[n+16>>2]=e;e=d8(g,v,c,n)|0;if(!e)e=r;else{l=0;t=0;f=0;r=0;break}}else e=0;d=t+24|0;e=B8(g,v,c,d,e)|0;if(!e){e=a[d>>2]|0;a[d>>2]=e+1;e=v8(g,0,0,e)|0;if((e|0)!=0?(B=g8(g,c,e)|0,(B|0)!=0):0){e=E8(g,v,B)|0;if(!e){r=a[d>>2]|0;e=r<<2;o=m2(e)|0;if(o){h=m2(e)|0;if(h){if((r|0)>0)Y6(o|0,0,r<<2|0)|0;C8(B,0,o,0)|0;f=a[d>>2]|0;if((f|0)>0){e=0;r=0;do{a[h+(r<<2)>>2]=e;u=o+(r<<2)|0;e=e+1+(a[u>>2]|0)|0;a[u>>2]=0;r=r+1|0}while((r|0)<(f|0));s=e}else s=0;w=W2(s+1|0,32)|0;if(w){a[n>>2]=w;u=n+4|0;a[u>>2]=s;e=C8(B,w,o,h)|0;if(!e){a[n+20>>2]=0;f=B+24|0;e=a[f>>2]|0;r=0;while(1){r=r+1|0;if((a[e>>2]|0)<=-1)break;else e=e+32|0}b=W2(r,32)|0;if(!b){l=o;t=h;e=12;f=o;r=h}else{a[n+8>>2]=b;r=a[f>>2]|0;f=a[r>>2]|0;if((f|0)>-1){e=0;do{a[b+(e<<5)+8>>2]=w+(a[h+(f<<2)>>2]<<5);a[b+(e<<5)+12>>2]=f;t=b+(e<<5)+16|0;a[t>>2]=0;c=r+12|0;l=a[c>>2]|0;if(l|0){f=0;do{C=f;f=f+1|0}while((a[l+(C<<2)>>2]|0)>-1);f=f<<2;l=m2(f)|0;a[t>>2]=l;if(!l){l=o;t=h;e=12;f=o;r=h;break e}y6(l|0,a[c>>2]|0,f|0)|0}a[b+(e<<5)+20>>2]=a[r+16>>2];e=e+1|0;r=r+32|0;f=a[r>>2]|0}while((f|0)>-1)}else e=0;a[b+(e<<5)+8>>2]=0;a[u>>2]=s;a[n+12>>2]=w+(a[h+(a[a[B+28>>2]>>2]<<2)>>2]<<5);a[n+52>>2]=a[d>>2];a[n+56>>2]=i;s8(g);o8(v);L2(o);L2(h);a[A+4>>2]=n;e=0;break A}}else{l=o;t=h;f=o;r=h}}else{l=o;t=h;e=12;f=o;r=h}}else{l=o;t=h;e=12;f=o;r=0}}else{l=o;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{n=0;l=0;t=0;e=6;f=0;r=0}}else{n=0;l=0;t=0;f=0;r=0}}while(0);s8(g);o8(v);if(l|0)L2(f);if(t|0)L2(r);a[A+4>>2]=n;I8(A)}}while(0);k=E;return e|0}function k8(){var A=0,e=0;A=m2(20)|0;do{if(A){e=m2(2048)|0;a[A+16>>2]=e;if(!e){L2(A);A=0;break}else{a[A>>2]=512;a[A+4>>2]=1024e3;a[A+8>>2]=128;a[A+12>>2]=0;break}}}while(0);return A|0}function o8(A){A=A|0;L2(a[A+16>>2]|0);L2(A);return}function h8(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+16|0;o=g+4|0;h=g;d=a[A+32>>2]&1;B=A+16|0;i=a[B>>2]|0;v=a[A+4>>2]|0;e=m8(v,0)|0;A:do{if(!e){s=(d|0)!=0;w=A+8|0;u=A+12|0;e=0;b=1;e:while(1){n=0;l=e;f=0;i:while(1){e=r[i>>0]|0;if(s){if(e<<24>>24==40)break;if((l|0)!=0&e<<24>>24==41)c=13;else c=14}else if(e<<24>>24==92)switch(r[i+1>>0]|0){case 40:break i;case 41:{c=13;break}default:c=14}else c=14;if((c|0)==13){c=0;t=v8(a[A>>2]|0,-1,-1,-1)|0;a[w>>2]=t;if(!t){e=12;break A}else t=f}else if((c|0)==14){c=0;e=p8(A,i)|0;if(e|0)break A;t=f;i=a[u>>2]|0}r:while(1){f:while(1){e=r[i>>0]|0;switch(e<<24>>24){case 42:case 92:break;default:{if(!s)break f;switch(e<<24>>24){case 123:case 63:case 43:break;default:break f}}}e=e<<24>>24==92;if(s&e)break;f=i+1|0;if(e)switch(r[f>>0]|0){case 123:case 63:case 43:break;default:break f}i=e?f:i;if((!s?(i|0)==((a[B>>2]|0)+1|0):0)?(r[i+-1>>0]|0)==94:0)break;if((r[i>>0]|0)==123){i=U8(i+1|0,d,o,h)|0;if(!i){c=28;break e}e=a[h>>2]|0;f=a[A>>2]|0;if(!e)e=v8(f,-1,-1,-1)|0;else c=36}else{a[o>>2]=0;a[h>>2]=-1;e=r[i>>0]|0;if(e<<24>>24==43){a[o>>2]=1;e=r[i>>0]|0}if(e<<24>>24==63){a[h>>2]=1;e=1}else e=-1;i=i+1|0;f=a[A>>2]|0;c=36}if((c|0)==36){c=0;e=J8(f,a[w>>2]|0,a[o>>2]|0,e,0)|0}a[w>>2]=e;if(!e){e=12;break A}}e=g8(a[A>>2]|0,n,a[w>>2]|0)|0;f=r[i>>0]|0;f:do{if(s){if(f<<24>>24==124){c=40;break r}if((l|0)!=0&f<<24>>24==41|f<<24>>24==0)c=47;else{n=e;f=t;continue i}}else{switch(f<<24>>24){case 0:{c=47;break f}case 92:break;default:{n=e;f=t;continue i}}switch(r[i+1>>0]|0){case 124:case 41:break;default:{n=e;f=t;continue i}}e=N8(a[A>>2]|0,t,e)|0;if((r[i+1>>0]|0)==124){f=2;break r}if(!l){e=8;break A}i=i+2|0;f=92}}while(0);if((c|0)==47){c=0;e=N8(a[A>>2]|0,t,e)|0;i=f<<24>>24==41?i+1|0:i}e=x8(A,e,L8(v)|0)|0;if(e|0)break A;e=f<<24>>24==0;f=(l|0)<1;if(f&e){c=50;break e}if(f|e){e=8;break A}n=W8(v)|0;l=l+-1|0;t=W8(v)|0}if((c|0)==40){f=1;e=N8(a[A>>2]|0,t,e)|0}n=0;i=i+f|0;f=e}e=Q8(v,f)|0;if(e|0)break A;e=Q8(v,n)|0;if(e|0)break A;e=m8(v,b)|0;if(e|0)break A;e=l+1|0;b=b+1|0;i=s?i+1|0:i+2|0}if((c|0)==28){e=10;break}else if((c|0)==50){a[A+20>>2]=b;e=0;break}}}while(0);k=g;return e|0}function d8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;I=G8(e)|0;Z=(A|0)==0|(f|0)==0;if(!Z){a[f+48>>2]=0;a[a[f+36>>2]>>2]=-1}l=a[f+28>>2]|0;G=m2((l<<3)+8|0)|0;do{if(!G)n=12;else{a[G>>2]=-1;Q=m2((l<<2)+4|0)|0;if(!Q){L2(G);n=12;break}a[Q>>2]=-1;n=0;while(1)if(n>>>0>l>>>0)break;else n=n+1|0;Q8(e,i)|0;n=m8(e,0)|0;A:do{if((n|0)!=0|(G8(e)|0)<=(I|0)){i=G;u=0;l=0;w=0;s=-1}else{g=f+32|0;E=f+36|0;C=f+16|0;i=G;u=0;l=0;w=0;v=1;s=-1;B=0;while(1){e:do{switch(L8(e)|0){case 6:{t=L8(e)|0;n=0;do{c=i+(n<<2)|0;n=n+1|0}while((a[c>>2]|0)>-1);a[c>>2]=t<<1|1;a[i+(n<<2)>>2]=-1;n=0;while(1)if((a[Q+(n<<2)>>2]|0)>-1)n=n+1|0;else break;a[Q+(n+-1<<2)>>2]=-1;n=0;c=v;t=B;break}case 0:{h=W8(e)|0;d=h+12|0;c=a[d>>2]|0;if((c|0)>-1){n=0;do{t=i+(n<<2)|0;n=n+1|0}while((a[t>>2]|0)>-1);a[t>>2]=c<<1;a[i+(n<<2)>>2]=-1;if(!Z){n=0;while(1)if((a[Q+(n<<2)>>2]|0)>-1)n=n+1|0;else break;t=(a[C>>2]|0)+(c*12|0)+8|0;a[t>>2]=0;if((n|0)>0){n=m2((n<<2)+4|0)|0;if(!n){n=12;c=v;t=B;break e}a[t>>2]=n;t=a[Q>>2]|0;if((t|0)>-1){b=0;c=n;do{a[c>>2]=t;b=b+1|0;t=a[Q+(b<<2)>>2]|0;c=n+(b<<2)|0}while((t|0)>-1);n=c}a[n>>2]=-1}}n=m8(e,a[d>>2]|0)|0;if(n|0){c=v;t=B;break e}n=m8(e,6)|0;if(n|0){c=v;t=B;break e}}i:do{switch(a[h>>2]|0){case 0:{o=a[a[h+4>>2]>>2]|0;if((o|0)>-1|(o|0)==-4?(a[i>>2]|0)>-1:0){if(Z){a[h+20>>2]=1;n=0}else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=B;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;o=v+1|0;k=B;u=u+1|0;w=v}else{o=v;n=0;k=B}break}case 1:{c=a[h+4>>2]|0;b=a[c>>2]|0;c=a[c+4>>2]|0;n=Q8(e,h)|0;if(!n){n=m8(e,5)|0;if(!n){n=Q8(e,c)|0;if(!n){n=m8(e,0)|0;if(!n){t=b+20|0;n=m8(e,(a[t>>2]|0)+v|0)|0;if(!n){if((a[t>>2]|0)>0){t=(a[c+20>>2]|0)>0;n=t?v:-1;t=v+(t&1)|0}else{n=-1;t=v}n=m8(e,n)|0;if(!n){n=m8(e,4)|0;if(!n){n=Q8(e,b)|0;if(!n){o=t;n=m8(e,0)|0;k=B}else{o=t;k=B}}else{o=t;k=B}}else{o=t;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}case 2:{t=a[h+4>>2]|0;if(Z){if((a[i>>2]|0)>-1)n=1;else n=(r[t+12>>0]&1)!=0;n=m8(e,n&1)|0;if(n|0){o=v;k=B;break i}}else{n=m8(e,w)|0;if(n|0){o=v;k=B;break i}n=m8(e,r[t+12>>0]&1)|0;if(n|0){o=v;k=B;break i}}n=Q8(e,h)|0;if(!n){n=m8(e,1)|0;if(!n){n=Q8(e,a[t>>2]|0)|0;if(!n){n=m8(e,0)|0;if(!n){if((a[i>>2]|0)<=-1?(r[t+12>>0]&1)==0:0){o=v;n=0;k=0;break i}if(Z)n=0;else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=(r[t+12>>0]&1)==0?B:1;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;o=v+1|0;k=0;u=u+1|0;w=v}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}case 3:{c=a[h+4>>2]|0;b=a[c>>2]|0;c=a[c+4>>2]|0;t=(a[i>>2]|0)>-1;o=v+1|0;n=m8(e,t?o:v)|0;if(!n){n=m8(e,t?v:w)|0;if(!n){n=Q8(e,i)|0;if(!n){n=m8(e,(a[i>>2]|0)>>>31^1)|0;if(!n){n=Q8(e,h)|0;if(!n){n=Q8(e,c)|0;if(!n){n=Q8(e,b)|0;if(!n){n=m8(e,3)|0;if(!n){n=Q8(e,c)|0;if(!n){n=m8(e,0)|0;if(!n){n=m8(e,2)|0;if(n|0){o=v;k=B;break i}n=Q8(e,b)|0;if(n|0){o=v;k=B;break i}n=m8(e,0)|0;if(n|0){o=v;k=B;break i}if((a[i>>2]|0)>-1){if(Z)n=0;else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=B;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;u=u+1|0;w=v;t=o}else{n=0;t=v}v=(a[h+16>>2]|0)>0;o=v?t+2|0:t;k=B;w=v?t+1|0:w}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}default:{o=v;n=0;k=B}}}while(0);c=a[d>>2]|0;if((c|0)>-1){t=0;do{b=Q+(t<<2)|0;t=t+1|0}while((a[b>>2]|0)>-1);a[b>>2]=c;a[Q+(t<<2)>>2]=-1;c=o;t=k}else{c=o;t=k}break}case 1:{n=W8(e)|0;if(Z){t=a[(a[a[n+4>>2]>>2]|0)+20>>2]|0;a[n+20>>2]=(L8(e)|0)+t;t=0;s=-1}else{h=L8(e)|0;d=L8(e)|0;t=h;s=(h|0)==0?s:d}n=0;c=v;t=Z?B:(t|0)==0&1;break}case 4:{t=L8(e)|0;c=L8(e)|0;n=0;w=(t|0)>-1?t:w;t=B;break}case 5:{n=W8(e)|0;if(Z){c=a[n+4>>2]|0;a[n+20>>2]=(a[(a[c+4>>2]|0)+20>>2]|0)+(a[(a[c>>2]|0)+20>>2]|0);n=0;c=v;t=B}else{n=0;c=v;t=B}break}case 2:{while(1)if((a[i>>2]|0)>-1)i=i+4|0;else{n=0;c=v;t=B;break}break}case 3:{c=W8(e)|0;k=W8(e)|0;n=W8(e)|0;i=L8(e)|0;if(Z){d=a[n+4>>2]|0;B=n+16|0;a[n+20>>2]=(a[(a[d>>2]|0)+20>>2]|0)+i+(a[(a[d+4>>2]|0)+20>>2]|0)+((a[B>>2]|0)>0?2:0);n=B}else n=n+16|0;i=W8(e)|0;t=L8(e)|0;b=L8(e)|0;if((a[n>>2]|0)>0){if(Z)n=0;else{n=H8(A,c,t)|0;a[(a[g>>2]|0)+(t<<2)>>2]=1;if(!n)n=H8(A,k,b)|0;a[(a[g>>2]|0)+(b<<2)>>2]=1}u=u+2|0;c=v;t=1}else{n=0;c=v;t=1}break}default:{n=0;c=v;t=B}}}while(0);if((n|0)!=0|(G8(e)|0)<=(I|0))break A;else{v=c;B=t}}}}while(0);if(!Z?(R8(i,f,w),(s|0)>-1):0){t=a[f+36>>2]|0;i=0;while(1){c=t+(i<<2)|0;b=i+1|0;if((a[c>>2]|0)>-1)i=b;else break}a[c>>2]=w;a[t+(b<<2)>>2]=s;a[t+(i+2<<2)>>2]=-1;l=l+1|0}a[f+48>>2]=u;a[f+40>>2]=u;a[f+44>>2]=l;L2(G);L2(Q)}}while(0);return n|0}function B8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;v=Z+12|0;I=Z+8|0;g=Z+4|0;E=Z;C=G8(e)|0;a[v>>2]=0;a[I>>2]=0;i=Q8(e,i)|0;A:do{if(!i){i=m8(e,0)|0;if(!i){e:do{if((G8(e)|0)>(C|0)){n=0;t=0;c=0;i:while(1){h=L8(e)|0;d=W8(e)|0;r:do{switch(h|0){case 0:{switch(a[d>>2]|0){case 0:{i=a[d+4>>2]|0;d=a[i>>2]|0;if(!((d|0)>-1|(d|0)==-4)){i=c;break r}d=i+8|0;i=(a[d>>2]|0)+c|0;a[d>>2]=i;if((i|0)<=(a[I>>2]|0)){i=c;break r}a[I>>2]=i;i=c;break r}case 3:{l=a[d+4>>2]|0;i=Q8(e,a[l+4>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;break}case 1:{l=a[d+4>>2]|0;i=Q8(e,a[l+4>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;break}case 2:{l=a[d+4>>2]|0;i=m8(e,c)|0;if(i|0)break e;i=Q8(e,d)|0;if(i|0)break e;i=m8(e,1)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;if((a[l+4>>2]|0)<=1?(a[l+8>>2]|0)<=1:0)i=c;else{a[v>>2]=0;i=0}t=t+1|0;break r}default:{i=c;break r}}i=m8(e,0)|0;if(!i)i=c;else break e;break}case 1:{o=d+4|0;u=a[o>>2]|0;h=L8(e)|0;a[v>>2]=h;w=u+4|0;c=a[w>>2]|0;if((c|0)<=1)if((a[u+8>>2]|0)>1){a[g>>2]=0;if((c|0)>0)B=30;else{i=h;l=0;B=37}}else i=h;else{a[g>>2]=0;B=30}f:do{if((B|0)==30){i=V8(A,e,a[u>>2]|0,(c|0)>1?1:2,v,f,E,I)|0;if(!i){l=0;b=h;s=1}else{B=34;break i}while(1){i=a[E>>2]|0;if(!l)l=i;else l=g8(A,l,i)|0;if(!l){i=12;B=34;break i}c=a[w>>2]|0;if((s|0)>=(c|0)){i=b;B=37;break f}b=a[v>>2]|0;s=s+1|0;i=V8(A,e,a[u>>2]|0,(s|0)<(c|0)?1:2,v,f,E,I)|0;if(i|0){B=34;break i}}}}while(0);if((B|0)==37){B=0;w=u+8|0;b=a[w>>2]|0;if((b|0)==-1){b=a[v>>2]|0;i=V8(A,e,a[u>>2]|0,0,v,0,g,I)|0;if(i|0)break i;c=J8(A,a[g>>2]|0,0,-1,0)|0;a[g>>2]=c;if(!c){i=12;break i}else i=b}else if((c|0)<(b|0)){b=c;c=0;while(1){s=a[v>>2]|0;i=V8(A,e,a[u>>2]|0,0,v,0,E,I)|0;if(i|0){B=49;break i}if(!c){i=a[E>>2]|0;a[g>>2]=i}else{i=g8(A,a[E>>2]|0,c)|0;a[g>>2]=i}if(!i){i=12;B=49;break i}c=v8(A,-1,-1,-1)|0;if(!c){i=12;B=49;break i}c=N8(A,c,i)|0;a[g>>2]=c;if(!c){i=12;B=49;break i}b=b+1|0;if((b|0)>=(a[w>>2]|0)){i=s;break}}}else c=0;a[v>>2]=i;if(l){if(c){l=g8(A,l,c)|0;B=54}}else{l=c;B=54}if((B|0)==54){B=0;if(!l){i=12;break i}}a[o>>2]=a[l+4>>2];a[d>>2]=a[l>>2]}t=t+-1|0;l=i-h+n|0;if(!t){a[v>>2]=l;n=l;t=0;i=l}else n=l;break}default:i=c}}while(0);if((G8(e)|0)>(C|0))c=i;else{i=0;break e}}break A}else{i=0;n=0}}while(0);C=(a[r>>2]|0)+n|0;I=a[I>>2]|0;a[r>>2]=(I|0)>(C|0)?I:C}}}while(0);k=Z;return i|0}function v8(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=w8(A,0,0,1,20)|0;A=F8(A,0,f)|0;if(!A)A=0;else{a[f>>2]=e;a[f+4>>2]=i;a[f+8>>2]=r}return A|0}function g8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=w8(A,0,0,1,8)|0;A=F8(A,1,r)|0;if(!A)i=0;else{a[r>>2]=e;a[r+4>>2]=i;a[A+16>>2]=(a[i+16>>2]|0)+(a[e+16>>2]|0);i=A}}return i|0}function E8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;c=u+4|0;b=u;s=G8(e)|0;i=Q8(e,i)|0;A:do{if(!i){i=m8(e,0)|0;if(!i)if((G8(e)|0)>(s|0)){e:while(1){l=L8(e)|0;t=W8(e)|0;i:do{switch(l|0){case 0:switch(a[t>>2]|0){case 0:{n=a[t+4>>2]|0;f=a[n>>2]|0;if((f|0)==-4){a[t+8>>2]=0;i=n+8|0;l=y8(A,a[i>>2]|0,0,1114111,0,0,-1)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=y8(A,a[i>>2]|0,0,1114111,0,0,a[n+4>>2]|0)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}i=t+8|0;if((f|0)<0){a[i>>2]=1;l=z8(A)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=z8(A)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}else{a[i>>2]=0;i=n+8|0;r=n+4|0;l=y8(A,a[i>>2]|0,f,a[r>>2]|0,0,0,-1)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=y8(A,a[i>>2]|0,a[n>>2]|0,a[r>>2]|0,a[n+12>>2]|0,a[n+16>>2]|0,-1)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}}case 3:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,1)|0;if(i|0)break A;r=t+4|0;i=Q8(e,a[(a[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(i|0)break A;i=Q8(e,a[a[r>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}case 1:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,2)|0;if(i|0)break A;r=t+4|0;i=Q8(e,a[(a[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(i|0)break A;i=Q8(e,a[a[r>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}case 2:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,3)|0;if(i|0)break A;i=Q8(e,a[a[t+4>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}default:break i}case 1:{i=a[t+4>>2]|0;r=a[i>>2]|0;f=i+4|0;n=a[f>>2]|0;if(!(a[r+8>>2]|0))l=(a[n+8>>2]|0)!=0;else l=1;a[t+8>>2]=l&1;l=Y8(A,a[r+24>>2]|0,a[n+24>>2]|0,0,0)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=Y8(A,a[(a[i>>2]|0)+28>>2]|0,a[(a[f>>2]|0)+28>>2]|0,0,0)|0;a[t+28>>2]=l;if(!l){i=12;break A}break}case 3:{l=a[t+4>>2]|0;i=a[l>>2]|0;if(!(a[l+4>>2]|0))r=1;else r=(a[i+8>>2]|0)!=0&1;a[t+8>>2]=r;a[t+24>>2]=a[i+24>>2];a[t+28>>2]=a[i+28>>2];break}case 2:{n=a[t+4>>2]|0;i=a[n>>2]|0;r=i+8|0;if(!(a[r>>2]|0))f=0;else f=(a[(a[n+4>>2]|0)+8>>2]|0)!=0;a[t+8>>2]=f&1;if(a[r>>2]|0){i=D8(e,i,0,0,c)|0;if(i|0)break e;r=m2((a[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}a[r>>2]=-1;a[b>>2]=0;i=D8(e,a[n>>2]|0,r,b,0)|0;if(i|0){w=45;break e}i=n+4|0;l=t+24|0;a[l>>2]=Y8(A,a[(a[i>>2]|0)+24>>2]|0,a[(a[n>>2]|0)+24>>2]|0,r,a[b>>2]|0)|0;L2(r);if(!(a[l>>2]|0)){i=12;break e}else f=i}else{a[t+24>>2]=a[i+24>>2];f=n+4|0}i=a[f>>2]|0;if(a[i+8>>2]|0){i=D8(e,i,0,0,c)|0;if(i|0)break e;r=m2((a[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}a[r>>2]=-1;a[b>>2]=0;i=D8(e,a[f>>2]|0,r,b,0)|0;if(i|0){w=52;break e}t=t+28|0;a[t>>2]=Y8(A,a[(a[n>>2]|0)+28>>2]|0,a[(a[f>>2]|0)+28>>2]|0,r,a[b>>2]|0)|0;L2(r);if(!(a[t>>2]|0)){i=12;break e}}else a[t+28>>2]=a[i+28>>2];break}default:{}}}while(0);if((G8(e)|0)<=(s|0)){i=0;break A}}if((w|0)==45)L2(r);else if((w|0)==52)L2(r)}else i=0}}while(0);k=u;return i|0}function C8(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;A:while(1){switch(a[A>>2]|0){case 2:{A=a[A+4>>2]|0;if((a[A+8>>2]|0)==-1?(l=a[A>>2]|0,l=Z8(a[l+28>>2]|0,a[l+24>>2]|0,e,i,r)|0,(l|0)!=0):0){A=l;break A}break}case 3:{f=a[A+4>>2]|0;A=C8(a[f>>2]|0,e,i,r)|0;if(A|0)break A;A=f+4|0;break}case 1:{f=a[A+4>>2]|0;n=f+4|0;A=Z8(a[(a[f>>2]|0)+28>>2]|0,a[(a[n>>2]|0)+24>>2]|0,e,i,r)|0;if(A|0)break A;A=C8(a[f>>2]|0,e,i,r)|0;if(!A)A=n;else break A;break}default:{A=0;break A}}A=a[A>>2]|0}return A|0}function I8(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=a[A+4>>2]|0;if(l|0){r=l+4|0;A=a[l>>2]|0;if(a[r>>2]|0){i=0;do{if(a[A+(i<<5)+8>>2]|0){e=a[A+(i<<5)+16>>2]|0;if(e){L2(e);A=a[l>>2]|0}e=a[A+(i<<5)+28>>2]|0;if(e){L2(e);A=a[l>>2]|0}}i=i+1|0}while(i>>>0<(a[r>>2]|0)>>>0)}if(A|0)L2(A);i=l+8|0;A=a[i>>2]|0;if(A|0){if(a[A+8>>2]|0){while(1){e=a[A+16>>2]|0;if(e|0)L2(e);if(!(a[A+40>>2]|0))break;else A=A+32|0}A=a[i>>2]|0}L2(A)}f=l+16|0;A=a[f>>2]|0;if(A|0){n=l+28|0;e=a[n>>2]|0;if(e){r=0;do{i=a[A+(r*12|0)+8>>2]|0;if(i){L2(i);e=a[n>>2]|0;A=a[f>>2]|0}r=r+1|0}while(r>>>0>>0)}L2(A)}A=a[l+32>>2]|0;if(A|0)L2(A);A=a[l+20>>2]|0;if(A|0)L2(A);A=a[l+36>>2]|0;if(A|0)L2(A);L2(l)}return}function Z8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;n=a[A>>2]|0;l=(n|0)>-1;A:do{if(!i)if(l){l=e+32|0;do{if((a[e>>2]|0)>-1?(Z=r+(n<<2)|0,a[Z>>2]=(a[Z>>2]|0)+1,(a[l>>2]|0)>-1):0){n=l;do{Z=r+(a[A>>2]<<2)|0;a[Z>>2]=(a[Z>>2]|0)+1;n=n+32|0}while((a[n>>2]|0)>-1)}A=A+32|0;n=a[A>>2]|0}while((n|0)>-1);n=0}else n=0;else if(l)while(1){l=a[e>>2]|0;e:do{if((l|0)>-1){o=A+4|0;h=A+8|0;d=A+16|0;B=A+20|0;v=A+24|0;g=A+28|0;E=A+12|0;r=-1;n=e;while(1){k=l;while(1){if((k|0)!=(r|0))break;n=n+32|0;l=a[n>>2]|0;if((l|0)>-1)k=l;else break e}s=i+(a[f+(a[A>>2]<<2)>>2]<<5)|0;while(1){l=s+8|0;if(!(a[l>>2]|0))break;else s=s+32|0}a[s+40>>2]=0;a[s>>2]=a[o>>2];a[s+4>>2]=a[h>>2];a[l>>2]=i+(a[f+(k<<2)>>2]<<5);a[s+12>>2]=k;l=a[B>>2]|0;r=a[n+16>>2]|a[d>>2]|(l|0?4:0)|(a[v>>2]|0?8:0);t=s+20|0;a[t>>2]=r;c=a[g>>2]|0;if((c|0)>-1){a[t>>2]=r|256;l=c}a[s+24>>2]=l;r=a[v>>2]|0;if(!r)a[s+28>>2]=0;else{l=0;do{u=l;l=l+1|0}while((a[r+(u<<2)>>2]|0)!=0);l=m2(l<<2)|0;a[s+28>>2]=l;if(!l){n=12;break A}b=a[v>>2]|0;r=a[b>>2]|0;if(r){c=0;t=l;do{a[t>>2]=r;c=c+1|0;r=a[b+(c<<2)>>2]|0;t=l+(c<<2)|0}while((r|0)!=0);l=t}a[l>>2]=0}r=a[E>>2]|0;if(!r)l=0;else{l=0;while(1)if((a[r+(l<<2)>>2]|0)>-1)l=l+1|0;else break}b=n+12|0;t=a[b>>2]|0;if(!t)r=0;else{r=0;while(1)if((a[t+(r<<2)>>2]|0)>-1)r=r+1|0;else break}c=s+16|0;t=a[c>>2]|0;if(t|0)L2(t);a[c>>2]=0;l=r+l|0;if((l|0)>0){u=m2((l<<2)+4|0)|0;a[c>>2]=u;if(!u){n=12;break A}r=a[E>>2]|0;if((r|0)!=0?(C=a[r>>2]|0,(C|0)>-1):0){l=0;t=C;do{a[u+(l<<2)>>2]=t;l=l+1|0;t=a[r+(l<<2)>>2]|0}while((t|0)>-1);w=l}else w=0;c=a[b>>2]|0;if((c|0)!=0?(I=a[c>>2]|0,(I|0)>-1):0){b=(w|0)>0;l=w;t=0;s=I;do{i:do{if(b){r=0;while(1){if((a[u+(r<<2)>>2]|0)==(s|0))break i;r=r+1|0;if((r|0)>=(w|0)){Z=39;break}}}else Z=39}while(0);if((Z|0)==39){Z=0;a[u+(l<<2)>>2]=s;l=l+1|0}t=t+1|0;s=a[c+(t<<2)>>2]|0}while((s|0)>-1)}else l=w;a[u+(l<<2)>>2]=-1}n=n+32|0;l=a[n>>2]|0;if((l|0)<=-1)break;else r=k}}}while(0);A=A+32|0;if((a[A>>2]|0)<=-1){n=0;break}}else n=0}while(0);return n|0}function G8(A){A=A|0;return a[A+12>>2]|0}function Q8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i+4|0;f=i;a[f>>2]=e;a[r>>2]=a[f>>2];e=M8(A,r)|0;k=i;return e|0}function m8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i+4|0;f=i;a[f>>2]=e;a[r>>2]=a[f>>2];e=M8(A,r)|0;k=i;return e|0}function L8(A){A=A|0;var e=0,i=0;e=a[A+16>>2]|0;i=A+12|0;A=(a[i>>2]|0)+-1|0;a[i>>2]=A;return a[e+(A<<2)>>2]|0}function W8(A){A=A|0;var e=0,i=0;e=a[A+16>>2]|0;i=A+12|0;A=(a[i>>2]|0)+-1|0;a[i>>2]=A;return a[e+(A<<2)>>2]|0}function y8(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;A=w8(A,0,0,1,64)|0;if(!A)A=0;else{a[A>>2]=e;a[A+4>>2]=i;a[A+8>>2]=r;a[A+20>>2]=f;a[A+24>>2]=n;a[A+28>>2]=l;a[A+32>>2]=-1;a[A+36>>2]=-1;a[A+40>>2]=-1}return A|0}function z8(A){A=A|0;A=w8(A,0,0,1,32)|0;if(!A)A=0;else{a[A>>2]=-1;a[A+4>>2]=-1;a[A+8>>2]=-1}return A|0}function Y8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=(r|0)==0;if(k)u=0;else{n=0;while(1)if((a[r+(n<<2)>>2]|0)>-1)n=n+1|0;else{u=n;break}}l=0;while(1)if((a[e+(l<<5)>>2]|0)>-1)l=l+1|0;else{n=0;break}while(1)if((a[i+(n<<5)>>2]|0)>-1)n=n+1|0;else break;n=w8(A,0,0,1,(n+l<<5)+32|0)|0;A:do{if(!n)n=0;else{l=a[e>>2]|0;if((l|0)>-1){w=(u|0)>0;t=0;while(1){a[n+(t<<5)>>2]=l;a[n+(t<<5)+4>>2]=a[e+(t<<5)+4>>2];a[n+(t<<5)+8>>2]=a[e+(t<<5)+8>>2];a[n+(t<<5)+16>>2]=a[e+(t<<5)+16>>2]|f;a[n+(t<<5)+20>>2]=a[e+(t<<5)+20>>2];a[n+(t<<5)+24>>2]=a[e+(t<<5)+24>>2];a[n+(t<<5)+28>>2]=a[e+(t<<5)+28>>2];s=e+(t<<5)+12|0;c=a[s>>2]|0;l=(c|0)==0;if(k&l)l=0;else{if(l)b=0;else{l=0;while(1)if((a[c+(l<<2)>>2]|0)>-1)l=l+1|0;else{b=l;break}}l=w8(A,0,0,0,(b+u<<2)+4|0)|0;if(!l){n=0;break A}if((b|0)>0){s=a[s>>2]|0;c=0;do{a[l+(c<<2)>>2]=a[s+(c<<2)>>2];c=c+1|0}while((c|0)!=(b|0))}else b=0;if(w){c=0;do{a[l+(c+b<<2)>>2]=a[r+(c<<2)>>2];c=c+1|0}while((c|0)!=(u|0));c=u}else c=0;a[l+(c+b<<2)>>2]=-1}a[n+(t<<5)+12>>2]=l;t=t+1|0;l=a[e+(t<<5)>>2]|0;if((l|0)<=-1){u=t;break}}}else u=0;t=a[i>>2]|0;l=n+(u<<5)|0;if((t|0)>-1){w=0;s=u;do{a[l>>2]=t;a[n+(s<<5)+4>>2]=a[i+(w<<5)+4>>2];a[n+(s<<5)+8>>2]=a[i+(w<<5)+8>>2];a[n+(s<<5)+16>>2]=a[i+(w<<5)+16>>2];a[n+(s<<5)+20>>2]=a[i+(w<<5)+20>>2];a[n+(s<<5)+24>>2]=a[i+(w<<5)+24>>2];a[n+(s<<5)+28>>2]=a[i+(w<<5)+28>>2];c=i+(w<<5)+12|0;l=a[c>>2]|0;if(!l)l=0;else{t=0;while(1)if((a[l+(t<<2)>>2]|0)>-1)t=t+1|0;else break;l=w8(A,0,0,0,(t<<2)+4|0)|0;if(!l){n=0;break A}if((t|0)>0){b=a[c>>2]|0;c=0;do{a[l+(c<<2)>>2]=a[b+(c<<2)>>2];c=c+1|0}while((c|0)!=(t|0))}else t=0;a[l+(t<<2)>>2]=-1}a[n+(s<<5)+12>>2]=l;w=w+1|0;t=a[i+(w<<5)>>2]|0;s=w+u|0;l=n+(s<<5)|0}while((t|0)>-1)}a[l>>2]=-1}}while(0);return n|0}function D8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;k=G8(A)|0;o=(f|0)!=0;if(o)a[f>>2]=0;e=Q8(A,e)|0;A:do{if(!e){w=(i|0)==0;s=(r|0)==0;if((G8(A)|0)>(k|0))while(1){e=W8(A)|0;e:do{switch(a[e>>2]|0){case 0:{e=a[e+4>>2]|0;switch(a[e>>2]|0){case-3:break;case-2:{if(s)break e;a[r>>2]=a[r>>2]|a[e+4>>2];break e}default:break e}l=a[e+4>>2]|0;if((l|0)>-1){i:do{if(!w){e=0;while(1){t=i+(e<<2)|0;c=a[t>>2]|0;if((c|0)<=-1)break;if((c|0)==(l|0))break i;else e=e+1|0}a[t>>2]=l;a[i+(e+1<<2)>>2]=-1}}while(0);if(o)a[f>>2]=(a[f>>2]|0)+1}break}case 3:{e=a[e+4>>2]|0;l=a[e>>2]|0;if(a[l+8>>2]|0){b=l;u=6;break e}e=a[e+4>>2]|0;if(a[e+8>>2]|0){b=e;u=6}break}case 1:{e=a[e+4>>2]|0;l=Q8(A,a[e>>2]|0)|0;if(l|0){n=l;break A}b=a[e+4>>2]|0;u=6;break}case 2:{e=a[a[e+4>>2]>>2]|0;if(a[e+8>>2]|0){b=e;u=6}break}default:{}}}while(0);if((u|0)==6?(u=0,n=Q8(A,b)|0,n|0):0)break A;if((G8(A)|0)<=(k|0)){n=0;break A}}else n=0}else n=e}while(0);return n|0}function M8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;n=b;i=A+12|0;r=a[i>>2]|0;c=a[A>>2]|0;if((r|0)>=(c|0)){i=a[A+4>>2]|0;if((c|0)<(i|0)?(f=(a[A+8>>2]|0)+c|0,f=(f|0)>(i|0)?i:f,l=A+16|0,t=y2(a[l>>2]|0,f<<2)|0,(t|0)!=0):0){a[A>>2]=f;a[l>>2]=t;a[n>>2]=a[e>>2];M8(A,n)|0;i=0}else i=12}else{a[(a[A+16>>2]|0)+(r<<2)>>2]=a[e>>2];a[i>>2]=(a[i>>2]|0)+1;i=0}k=b;return i|0}function F8(A,e,i){A=A|0;e=e|0;i=i|0;A=w8(A,0,0,1,32)|0;if((i|0)!=0&(A|0)!=0){a[A+4>>2]=i;a[A>>2]=e;a[A+8>>2]=-1;a[A+12>>2]=-1}else A=0;return A|0}function V8(A,e,i,f,n,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;d=G8(e)|0;Q8(e,i)|0;i=m8(e,0)|0;A:do{if(!i){h=(f&1|0)==0;o=(f&2|0)!=0;k=0;s=1;i=t;while(1){if((G8(e)|0)>(d|0))u=i;else{f=k;i=0;break A}e:while(1){i:while(1){switch(L8(e)|0){case 1:{t=7;break i}case 0:{i=W8(e)|0;switch(a[i>>2]|0){case 0:{t=9;break e}case 3:{t=19;break e}case 1:{t=26;break e}case 2:{t=33;break i}default:{}}break}default:{}}if((G8(e)|0)<=(d|0)){f=k;i=0;break A}}if((t|0)==7)i=W8(e)|0;else if((t|0)==33){f=a[i+4>>2]|0;i=Q8(e,a[f>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=J8(A,a[f>>2]|0,a[f+4>>2]|0,a[f+8>>2]|0,r[f+12>>0]&1)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}i=a[i+4>>2]|0}if((G8(e)|0)>(d|0))u=i;else{f=k;i=0;break A}}if((t|0)==9){w=a[i+4>>2]|0;t=a[w+8>>2]|0;f=a[w>>2]|0;i=a[w+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(h|(f|0)!=-3)if((f|0)==-3)if(o&(s|0)!=0){a[l+(i<<2)>>2]=1;f=-3;b=k;s=0}else{f=-3;b=k}else b=k;else{i=-1;f=-1;t=-1;b=k}else{t=(a[n>>2]|0)+t|0;b=k+1|0}i=v8(A,f,i,t)|0;a[u>>2]=i;if(!i)i=12;else{i=a[i+4>>2]|0;a[i+12>>2]=a[w+12>>2];a[i+16>>2]=a[w+16>>2];i=0}if((t|0)>(a[c>>2]|0)){a[c>>2]=t;f=u}else f=u}else if((t|0)==19){t=a[i+4>>2]|0;f=t+4|0;i=N8(A,a[t>>2]|0,a[f>>2]|0)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}w=a[i+4>>2]|0;i=Q8(e,a[f>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=Q8(e,w+4|0)|0;if(i|0){f=k;break A}i=m8(e,1)|0;if(i|0){f=k;break A}i=Q8(e,a[t>>2]|0)|0;if(i|0){f=k;break A}b=k;f=w;i=m8(e,0)|0}else if((t|0)==26){w=a[i+4>>2]|0;t=w+4|0;i=g8(A,a[w>>2]|0,a[t>>2]|0)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}f=a[i+4>>2]|0;a[f>>2]=0;b=f+4|0;a[b>>2]=0;i=Q8(e,a[t>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=Q8(e,b)|0;if(i|0){f=k;break A}i=m8(e,1)|0;if(i|0){f=k;break A}i=Q8(e,a[w>>2]|0)|0;if(i|0){f=k;break A}b=k;i=m8(e,0)|0}if(!i){k=b;i=f}else{f=b;break}}}else f=0}while(0);a[n>>2]=(a[n>>2]|0)+f;return i|0}function J8(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0;l=w8(A,0,0,1,16)|0;A=F8(A,2,l)|0;if(!A)A=0;else{a[l>>2]=e;a[l+4>>2]=i;a[l+8>>2]=f;l=l+12|0;r[l>>0]=r[l>>0]&-2|n&1;a[A+16>>2]=a[e+16>>2]}return A|0}function N8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=w8(A,0,0,1,8)|0;A=F8(A,3,r)|0;if((i|0)!=0&(A|0)!=0){a[r>>2]=e;a[r+4>>2]=i;a[A+16>>2]=(a[i+16>>2]|0)+(a[e+16>>2]|0);i=A}else i=0}return i|0}function X8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=w8(A,0,0,0,8)|0;if(((r|0)!=0?(i=v8(A,-3,i,-1)|0,a[r>>2]=i,(i|0)!=0):0)?(f=w8(A,0,0,0,32)|0,a[r+4>>2]=f,(f|0)!=0):0){A=e+4|0;a[f+4>>2]=a[A>>2];a[f>>2]=a[e>>2];a[f+8>>2]=-1;a[f+12>>2]=-1;f=f+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[A>>2]=r;a[e>>2]=1;A=0}else A=12;return A|0}function R8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=a[A>>2]|0;if((f|0)>-1){n=a[e+16>>2]|0;r=0;e=f;do{f=e>>>1;a[((e&1|0)==0?n+(f*12|0)|0:n+(f*12|0)+4|0)>>2]=i;r=r+1|0;e=a[A+(r<<2)>>2]|0}while((e|0)>-1)}a[A>>2]=-1;return}function H8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=w8(A,0,0,0,8)|0;if(((r|0)!=0?(i=v8(A,-3,i,-1)|0,a[r+4>>2]=i,(i|0)!=0):0)?(f=w8(A,0,0,0,32)|0,a[r>>2]=f,(f|0)!=0):0){A=e+4|0;a[f+4>>2]=a[A>>2];a[f>>2]=a[e>>2];a[f+8>>2]=-1;a[f+12>>2]=-1;f=f+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[A>>2]=r;a[e>>2]=1;A=0}else A=12;return A|0}function p8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;c=s;t=A+32|0;l=a[t>>2]|0;n=l&1;A:do{switch(r[e>>0]|0){case 91:{i=j8(A,e+1|0)|0;break}case 92:{i=e+1|0;f=S8(i)|0;if(f|0){i=p8(A,f)|0;a[A+12>>2]=e+2;break A}f=r[i>>0]|0;switch(f|0){case 0:{i=5;break A}case 98:{f=v8(a[A>>2]|0,-2,64,-1)|0;break}case 66:{f=v8(a[A>>2]|0,-2,128,-1)|0;break}case 60:{f=v8(a[A>>2]|0,-2,16,-1)|0;break}case 62:{f=v8(a[A>>2]|0,-2,32,-1)|0;break}case 120:{l=e+2|0;t=(r[l>>0]|0)==123;n=t?8:2;l=t?e+3|0:l;i=0;f=0;do{e=P8(r[l+i>>0]|0)|0;if((e|0)<0)break;f=e+(f<<4)|0;i=i+1|0}while((f|0)<1114112&(i|0)<(n|0));i=l+i|0;if(t){if((r[i>>0]|0)!=125){i=9;break A}i=i+1|0}c=a[A>>2]|0;t=A+24|0;b=a[t>>2]|0;a[t>>2]=b+1;f=v8(c,f,f,b)|0;i=i+-1|0;break}case 63:case 43:case 123:if(!n){i=13;break A}else{b=37;break A}case 124:{if(n|0){b=37;break A}i=v8(a[A>>2]|0,-1,-1,-1)|0;b=45;break A}default:{if(!((n|0)==0&(f+-49|0)>>>0<9)){b=37;break A}c=f+-48|0;b=a[A>>2]|0;t=A+24|0;f=a[t>>2]|0;a[t>>2]=f+1;f=v8(b,-4,c,f)|0;b=A+28|0;t=a[b>>2]|0;a[b>>2]=(c|0)<(t|0)?t:c}}e=i+1|0;i=f;b=45;break}case 46:{i=a[A>>2]|0;n=A+24|0;f=a[n>>2]|0;a[n>>2]=f+1;if(l&4){f=v8(i,0,9,f)|0;b=a[A>>2]|0;i=a[n>>2]|0;a[n>>2]=i+1;i=v8(b,11,1114111,i)|0;if((f|0)!=0&(i|0)!=0)i=N8(a[A>>2]|0,f,i)|0;else i=0}else i=v8(i,0,1114111,f)|0;e=e+1|0;b=45;break}case 94:{if((n|0)==0?(a[A+16>>2]|0)!=(e|0):0){i=e;b=37;break A}e=e+1|0;i=v8(a[A>>2]|0,-2,1,-1)|0;b=45;break}case 36:{i=e+1|0;if((n|0)==0?r[i>>0]|0:0){i=e;b=37;break A}e=i;i=v8(a[A>>2]|0,-2,2,-1)|0;b=45;break}case 63:case 43:case 123:case 42:{if(!n){i=e;b=37}else i=13;break}case 124:{if(!n){i=e;b=37}else b=36;break}case 0:{b=36;break}default:{i=e;b=37}}}while(0);if((b|0)==36){i=v8(a[A>>2]|0,-1,-1,-1)|0;b=45}else if((b|0)==37){l=G3(c,i,-1)|0;if((l|0)<0)i=2;else{do{if(a[t>>2]&2){if((b4(a[c>>2]|0)|0)==0?(c4(a[c>>2]|0)|0)==0:0){b=43;break}t=a[A>>2]|0;w=H1(a[c>>2]|0)|0;n=H1(a[c>>2]|0)|0;f=A+24|0;n=v8(t,w,n,a[f>>2]|0)|0;w=a[A>>2]|0;t=w4(a[c>>2]|0)|0;e=w4(a[c>>2]|0)|0;e=v8(w,t,e,a[f>>2]|0)|0;if((n|0)!=0&(e|0)!=0)n=N8(a[A>>2]|0,n,e)|0;else n=0}else b=43}while(0);if((b|0)==43){n=a[c>>2]|0;f=A+24|0;n=v8(a[A>>2]|0,n,n,a[f>>2]|0)|0}a[f>>2]=(a[f>>2]|0)+1;e=i+l|0;i=n;b=45}}if((b|0)==45)if(!i)i=12;else{a[A+8>>2]=i;a[A+12>>2]=e;i=0}k=s;return i|0}function U8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+4|0;n=c;A=T8(A,t)|0;if((r[A>>0]|0)==44){A=T8(A+1|0,n)|0;l=a[n>>2]|0;n=a[t>>2]|0}else{t=a[t>>2]|0;a[n>>2]=t;l=t;n=t}do{if(!(n>>>0>255|((l|0)>255|(l|0)>-1&(l|0)<(n|0)))){if(!e)if((r[A>>0]|0)==92)A=A+1|0;else{A=0;break}if((r[A>>0]|0)==125){a[i>>2]=n;a[f>>2]=l;A=A+1|0}else A=0}else A=0}while(0);k=c;return A|0}function x8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if((a[e+12>>2]|0)>-1){r=v8(a[A>>2]|0,-1,-1,-1)|0;if((r|0)!=0?(f=g8(a[A>>2]|0,r,e)|0,(f|0)!=0):0){r=a[e+16>>2]|0;a[f+16>>2]=r;n=6}else r=12}else{f=e;r=a[e+16>>2]|0;n=6}if((n|0)==6){a[f+12>>2]=i;a[f+16>>2]=r+1;a[A+8>>2]=f;r=0}return r|0}function T8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;a[e>>2]=-1;if(((r[A>>0]|0)+-48|0)>>>0<10){a[e>>2]=0;i=A;n=0;f=r[A>>0]|0;while(1){n=(n*10|0)+-48+(f<<24>>24)|0;a[e>>2]=n;A=i+1|0;f=r[A>>0]|0;if((n|0)>255|((f<<24>>24)+-48|0)>>>0>9)break;else i=A}}return A|0}function j8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+288|0;i=B+264|0;n=B;a[i>>2]=a[A>>2];l=i+8|0;a[l>>2]=0;a[i+12>>2]=32;o=m2(128)|0;d=i+4|0;a[d>>2]=o;if(!o)e=12;else{f=n+4|0;a[f>>2]=0;o=(r[e>>0]|0)==94;a[n>>2]=o&1;e=O8(A,o?e+1|0:e,i,n)|0;A:do{if(!e){o=(a[n>>2]|0)==0;if(!o){K4(a[d>>2]|0,a[l>>2]|0,4,111);e=_8(i)|0;if(!e){e=12;i=0;break}a[e>>2]=1114112;a[e+4>>2]=1114112;a[e+8>>2]=-1;e=a[f>>2]|0;if(e){i=e<<2;f=w8(a[A>>2]|0,0,0,0,i+4|0)|0;if(!f){e=12;i=0;break}y6(f|0,n+8|0,i|0)|0;a[f+(e<<2)>>2]=0}else f=0}else f=0;s=a[l>>2]|0;if((s|0)>0){w=a[d>>2]|0;u=A+24|0;i=0;e=0;b=0;while(1){c=a[w+(b<<2)>>2]|0;n=a[c>>2]|0;l=c+4|0;t=a[l>>2]|0;do{if(!o)if((n|0)>(e|0)){a[c>>2]=e;a[l>>2]=n+-1;e=t+1|0;h=14;break}else{c=t+1|0;e=(c|0)>=(e|0)?c:e;break}else h=14}while(0);if((h|0)==14){h=0;a[c+8>>2]=a[u>>2];a[c+16>>2]=f;c=F8(a[A>>2]|0,0,c)|0;i=N8(a[A>>2]|0,i,c)|0;if(!i){e=12;i=0;break A}}b=b+1|0;if((b|0)>=(s|0)){e=0;break}}}else{e=0;i=0}}else i=0}while(0);L2(a[d>>2]|0);d=A+24|0;a[d>>2]=(a[d>>2]|0)+1;a[A+8>>2]=i}k=B;return e|0}function S8(A){A=A|0;var e=0;e=r[A>>0]|0;A=0;while(1){if((r[63752+(A<<3)>>0]|0)==e<<24>>24)break;A=A+1|0;if((A|0)==12){A=12;break}}return a[63752+(A<<3)+4>>2]|0}function P8(A){A=A|0;var e=0;e=A+-48|0;if(e>>>0<10)return e|0;else{e=A|32;return((e+-97|0)>>>0<6?e+-87|0:-1)|0}return 0}function O8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+32|0;u=v;h=v+4|0;t=G3(u,e,-1)|0;n=r[e>>0]|0;A:do{if((t|0)>=1){d=f+4|0;w=A+32|0;l=e;c=t;e:while(1){t=(l|0)==(e|0);if(!(t|n<<24>>24!=93)){B=5;break}i:do{if(!(t|n<<24>>24!=45)){switch(r[l+1>>0]|0){case 93:break i;case 45:break;default:{n=11;break A}}if((r[l+2>>0]|0)==93){n=11;break A}}}while(0);i:do{if(n<<24>>24==91){switch(r[l+1>>0]|0){case 61:case 46:{n=3;break A}case 58:break;default:{B=17;break i}}t=l+2|0;n=0;r:while(1){switch(r[t+n>>0]|0){case 0:{B=16;break e}case 58:break r;default:{}}if((n|0)<13)n=n+1|0;else{B=16;break e}}y6(h|0,t|0,n|0)|0;r[h+n>>0]=0;c=z4(h)|0;if(!c){B=16;break e}l=t+(n+2)|0;if((r[t+(n+1)>>0]|0)!=93){B=16;break e}if(!(a[f>>2]|0)){n=1114111;s=0;b=1;B=25}else{n=a[d>>2]|0;if((n|0)>63){n=12;break A}a[d>>2]=n+1;a[f+8+(n<<2)>>2]=c}}else B=17}while(0);if((B|0)==17){B=0;t=a[u>>2]|0;l=l+c|0;if((r[l>>0]|0)==45?(o=l+1|0,(r[o>>0]|0)!=93):0){l=G3(u,o,-1)|0;n=a[u>>2]|0;if((l|0)<1|(t|0)>(n|0)){n=11;break A}c=0;s=t;l=o+l|0;b=0;B=25}else{c=0;n=t;s=t;b=0;B=25}}if((B|0)==25){B=0;t=_8(i)|0;if(!t){n=12;break A}a[t>>2]=s;a[t+4>>2]=n;a[t+12>>2]=c;a[t+8>>2]=-1;if(!(b|(a[w>>2]&2|0)==0)?(q8(i,s,n)|0)!=0:0){n=12;break A}}c=G3(u,l,-1)|0;n=r[l>>0]|0;if((c|0)<1){B=3;break A}}if((B|0)==5){a[A+12>>2]=l+1;n=0;break}else if((B|0)==16){n=4;break}}else B=3}while(0);if((B|0)==3)n=n<<24>>24?2:7;k=v;return n|0}function K8(A,e){A=A|0;e=e|0;return(a[a[A>>2]>>2]|0)-(a[a[e>>2]>>2]|0)|0}function _8(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=A+8|0;i=a[l>>2]|0;r=A+12|0;f=a[r>>2]|0;if((i|0)>=(f|0))if((f|0)<=32767?(a[r>>2]=f<<1,n=A+4|0,e=y2(a[n>>2]|0,f<<3)|0,(e|0)!=0):0){a[n>>2]=e;i=a[l>>2]|0;t=6}else e=0;else{e=a[A+4>>2]|0;t=6}if((t|0)==6){a[l>>2]=i+1;t=w8(a[A>>2]|0,0,0,1,20)|0;a[e+(i<<2)>>2]=t;e=t}return e|0}function q8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;A:do{if((e|0)>(i|0))e=0;else while(1){e:do{if(!(c4(e)|0)){if(!(b4(e)|0)){e=e+1|0;break}f=w4(e)|0;r=f;while(1){n=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=n;n=12;break e}if((w4(n)|0)==(r|0))e=n;else{l=f;e=n;n=12;break}}}else{f=H1(e)|0;r=f;while(1){n=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=n;n=12;break e}if((H1(n)|0)==(r|0))e=n;else{l=f;e=n;n=12;break}}}}while(0);if((n|0)==12){n=0;f=_8(A)|0;if(!f){e=-1;break A}a[f>>2]=l;a[f+4>>2]=r+-1;a[f+8>>2]=-1}if((e|0)>(i|0)){e=0;break}}}while(0);return e|0}function $8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;b=w;t=a[A+4>>2]|0;c=t+56|0;l=(a[c>>2]&8|0)==0?i:0;A=a[t+40>>2]|0;if((A|0)>0&(l|0)!=0){A=m2(A<<2)|0;if(!A)A=12;else{n=A;i=A;s=3}}else{n=0;i=0;s=3}if((s|0)==3){if(!(a[t+60>>2]|0))A=e6(t,e,n,f,b)|0;else A=A6(t,e,n,f,b)|0;if(!A)i6(l,r,a[c>>2]|0,t,n,a[b>>2]|0);if(n)L2(i)}k=w;return A|0}function A6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0;S=k;k=k+16|0;T=S;a[T>>2]=0;u=r&1;U=r&2;x=A+56|0;w=a[x>>2]&4;j=b8(0,0)|0;A:do{if(j){o=w8(j,0,0,0,32)|0;if(!o){s8(j);r=12;break}a[o+24>>2]=0;a[o+28>>2]=0;p=A+40|0;h=a[p>>2]|0;if(h){r=m2(h<<2)|0;if(!r){s=0;b=0;c=r;r=12;t=0;l=0;n=0}else{c=r;t=r;L=6}}else{c=0;t=0;L=6}e:do{if((L|0)==6){r=a[A+28>>2]|0;if(r){r=m2(r<<3)|0;if(!r){s=r;b=0;r=12;l=0;n=0;break}else{s=r;l=r}}else{s=0;l=0}H=A+52|0;r=a[H>>2]|0;if(r){r=m2(r<<2)|0;if(!r){b=r;r=12;n=0;break}else{b=r;n=r}}else{b=0;n=0}V=A+8|0;J=A+12|0;N=(i|0)==0;X=(i|0)!=0;R=A+32|0;F=(w|0)!=0;M=(u|0)==0;B=e;r=1;d=-1;E=-1;w=h;m=0;i:while(1){if((w|0)>0){u=0;do{a[c+(u<<2)>>2]=-1;if(!N){a[i+(u<<2)>>2]=-1;w=a[p>>2]|0}u=u+1|0}while((u|0)<(w|0))}w=a[H>>2]|0;if((w|0)>0)Y6(n|0,0,w<<2|0)|0;Y=r+d|0;r=G3(T,B,4)|0;if((r|0)<1)if((r|0)<0){r=1;break e}else r=1;z=B+r|0;D=a[T>>2]|0;w=a[V>>2]|0;u=w+8|0;if(a[u>>2]|0){C=(Y|0)!=0;I=(m|0)==95;Z=(Y|0)==0;Q=F&(m|0)==10;G=(Y|0)<1&M;g=w;w=0;v=0;B=u;while(1){d=g+20|0;u=a[d>>2]|0;r:do{if(u)if((u&1|0)==0|G|Q){if(u&2|0?(y=a[T>>2]|0,!((y|U|0)==0|F&(y|0)==10)):0){h=v;break}do{if(u&16|0){if(I){h=v;break r}if(a4(m)|0){h=v;break r}u=a[T>>2]|0;if((u|0)==95)break;if(!(a4(u)|0)){h=v;break r}}}while(0);u=a[d>>2]|0;if(u&32){if(I){u=a[T>>2]|0;if((u|0)==95){h=v;break}}else{y=(a4(m)|0)==0;u=a[T>>2]|0;if(y|(u|0)==95){h=v;break}}if(a4(u)|0){h=v;break}u=a[d>>2]|0}h=a[T>>2]|0;do{if((h|0)!=0&(C&(u&64|0)!=0)){if(I)u=1;else{u=(a4(m)|0)!=0;h=a[T>>2]|0}if((h|0)==95)if(u){h=v;break r}else break;else if(u^(a4(h)|0)!=0)break;else{h=v;break r}}}while(0);if(!(a[d>>2]&128)){L=49;break}u=a[T>>2]|0;if(Z|(u|0)==0){h=v;break}if(I)h=1;else{h=(a4(m)|0)!=0;u=a[T>>2]|0}if((u|0)==95)if(h){L=49;break}else{h=v;break}else if(h^(a4(u)|0)!=0){h=v;break}else{L=49;break}}else h=v;else L=49}while(0);do{if((L|0)==49){L=0;if(!v){w=a[g+16>>2]|0;h=a[B>>2]|0;break}h=o+28|0;u=a[h>>2]|0;if(!u){u=w8(j,0,0,0,32)|0;if(!u){L=53;break i}a[u+24>>2]=o;a[u+28>>2]=0;y=w8(j,0,0,0,a[p>>2]<<2)|0;a[u+20>>2]=y;if(!y){L=60;break i}a[h>>2]=u;o=u}else o=u;a[o>>2]=Y;a[o+4>>2]=z;a[o+8>>2]=a[B>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[T>>2];if((a[p>>2]|0)>0){h=a[o+20>>2]|0;u=0;do{a[h+(u<<2)>>2]=a[c+(u<<2)>>2];u=u+1|0}while((u|0)<(a[p>>2]|0))}u=a[g+16>>2]|0;if(!u)h=v;else{h=a[u>>2]|0;if((h|0)<=-1){h=v;break}d=a[o+20>>2]|0;do{u=u+4|0;a[d+(h<<2)>>2]=Y;h=a[u>>2]|0}while((h|0)>-1);h=v}}}while(0);B=g+40|0;if(!(a[B>>2]|0))break;else{g=g+32|0;v=h}}if(w){u=a[w>>2]|0;if((u|0)>-1)do{a[c+(u<<2)>>2]=Y;w=w+4|0;u=a[w>>2]|0}while((u|0)>-1)}else w=0;if(!h)L=171;else{B=Y;d=z;C=h;I=w;L=79}}else{w=0;L=171}r:while(1){if((L|0)==79){if((C|0)==(a[J>>2]|0)){if((E|0)>=(B|0)){if(!(X&(E|0)==(B|0))){w=I;L=171;continue}w=a[p>>2]|0;if(!(f6(w,a[R>>2]|0,c,i)|0)){w=I;L=171;continue}}else{if(N){E=B;w=I;L=171;continue}w=a[p>>2]|0}if((w|0)>0)w=0;else{E=B;w=I;L=171;continue}while(1){a[i+(w<<2)>>2]=a[c+(w<<2)>>2];w=w+1|0;if((w|0)>=(a[p>>2]|0)){E=B;w=I;L=171;continue r}}}g=C+8|0;if((a[g>>2]|0)!=0?(a[C+20>>2]&256|0)!=0:0){u=a[C+24>>2]|0;i6(u+1|0,s,a[x>>2]&-9,A,c,B);y=a[s+(u<<3)>>2]|0;u=(a[s+(u<<3)+4>>2]|0)-y|0;if(Z1(e+y|0,d+-1|0,u)|0){w=I;L=171;continue}y=(u|0)==0;w=y&1;h=a[C+12>>2]|0;if(y?a[b+(h<<2)>>2]|0:0){w=I;L=171;continue}a[b+(h<<2)>>2]=w;u=u+-1|0;d=d+u|0;u=u+B|0;h=a[T>>2]|0;w=G3(T,d,4)|0;if((w|0)<1)if((w|0)<0){r=1;break e}else w=1;W=d+w|0;y=w}else{h=a[T>>2]|0;if(!h){w=I;L=171;continue}w=G3(T,d,4)|0;if((w|0)<1)if((w|0)<0){r=1;break e}else w=1;u=B;W=d+w|0;y=w}B=u+r|0;if(!(a[g>>2]|0)){r=y;w=I;L=171;continue}Z=(B|0)!=0;G=(h|0)==95;Q=(B|0)==0;L=F&(h|0)==10;m=(B|0)<1&M;v=0;w=I;while(1){f:do{if((a[C>>2]|0)>>>0<=h>>>0){if((a[C+4>>2]|0)>>>0>>0)break;d=C+20|0;r=a[d>>2]|0;do{if(r|0){if(!((r&1|0)==0|m|L))break f;if(r&2|0?(I=a[T>>2]|0,!((I|U|0)==0|F&(I|0)==10)):0)break f;do{if(r&16|0){if(G)break f;if(a4(h)|0)break f;r=a[T>>2]|0;if((r|0)==95)break;if(!(a4(r)|0))break f}}while(0);r=a[d>>2]|0;if(r&32){if(G){r=a[T>>2]|0;if((r|0)==95)break f}else{I=(a4(h)|0)==0;r=a[T>>2]|0;if(I|(r|0)==95)break f}if(a4(r)|0)break f;r=a[d>>2]|0}u=a[T>>2]|0;do{if((u|0)!=0&(Z&(r&64|0)!=0)){if(G)r=1;else{r=(a4(h)|0)!=0;u=a[T>>2]|0}if((u|0)==95)if(r)break f;else break;else if(r^(a4(u)|0)!=0)break;else break f}}while(0);do{if(a[d>>2]&128|0){r=a[T>>2]|0;if(Q|(r|0)==0)break f;if(G)u=1;else{u=(a4(h)|0)!=0;r=a[T>>2]|0}if((r|0)==95)if(u)break;else break f;else if(u^(a4(r)|0)!=0)break f;else break}}while(0);r=a[d>>2]|0;do{if(r&4){if(a[x>>2]&2|0)break;if(!(f4(h,a[C+24>>2]|0)|0))break f;r=a[d>>2]|0}}while(0);do{if(r&4|0){if(!(a[x>>2]&2))break;I=w4(h)|0;r=C+24|0;if(f4(I,a[r>>2]|0)|0)break;I=H1(h)|0;if(!(f4(I,a[r>>2]|0)|0))break f}}while(0);if(!(a[d>>2]&8))break;if(r6(a[C+28>>2]|0,h,a[x>>2]&2)|0)break f}}while(0);if(!v){v=a[g>>2]|0;w=a[C+16>>2]|0;break}u=o+28|0;r=a[u>>2]|0;if(!r){r=w8(j,0,0,0,32)|0;if(!r){L=145;break i}a[r+24>>2]=o;a[r+28>>2]=0;I=w8(j,0,0,0,a[p>>2]<<2)|0;a[r+20>>2]=I;if(!I){L=152;break i}a[u>>2]=r;o=r}else o=r;a[o>>2]=B;a[o+4>>2]=W;a[o+8>>2]=a[g>>2];a[o+12>>2]=a[C+12>>2];a[o+16>>2]=a[T>>2];if((a[p>>2]|0)>0){u=a[o+20>>2]|0;r=0;do{a[u+(r<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0}while((r|0)<(a[p>>2]|0))}r=a[C+16>>2]|0;if(!r)break;u=a[r>>2]|0;if((u|0)<=-1)break;d=a[o+20>>2]|0;do{a[d+(u<<2)>>2]=B;r=r+4|0;u=a[r>>2]|0}while((u|0)>-1)}}while(0);g=C+40|0;if(!(a[g>>2]|0))break;else C=C+32|0}if(!v){r=y;L=171;continue}if(w){r=a[w>>2]|0;if((r|0)>-1){do{w=w+4|0;a[c+(r<<2)>>2]=B;r=a[w>>2]|0}while((r|0)>-1);h=E;u=W;r=y}else{h=E;u=W;r=y}}else{h=E;u=W;r=y;w=0}}else if((L|0)==171){L=0;d=a[o+24>>2]|0;if(!d)break;v=a[o+8>>2]|0;if(a[v+20>>2]&256|0)a[b+(a[o+12>>2]<<2)>>2]=0;B=a[o>>2]|0;g=a[o+4>>2]|0;a[T>>2]=a[o+16>>2];h=a[p>>2]|0;if((h|0)>0){o=a[o+20>>2]|0;u=0;do{a[c+(u<<2)>>2]=a[o+(u<<2)>>2];u=u+1|0}while((u|0)<(h|0));o=d;h=E;u=g}else{o=d;h=E;u=g}}d=u;E=h;C=v;I=w;L=79}w=(E|0)>-1;if(w|(a[T>>2]|0)==0){L=180;break}a[T>>2]=D;B=z;d=Y;w=a[p>>2]|0;m=D}if((L|0)==53){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==60){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==145){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==152){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==180){a[f>>2]=E;r=(w^1)&1;break}}}while(0);s8(j);if(c|0)L2(t);if(s|0)L2(l);if(b)L2(n)}else r=12}while(0);k=S;return r|0}function e6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0;P=k;k=k+16|0;T=P;a[T>>2]=0;b=r&1;H=r&2;p=A+56|0;c=a[p>>2]&4;if(!i)X=0;else X=a[A+40>>2]|0;R=X<<2;t=a[A+52>>2]|0;l=t<<3;n=l+8|0;r=R+12+l+(n+(U(R,t)|0)<<1)|0;j=m2(r)|0;if(!j)r=12;else{Y6(j|0,0,r|0)|0;r=j+R|0;s=r&3;s=r+((s|0)==0?0:4-s|0)|0;r=s+n|0;w=r&3;w=r+((w|0)==0?0:4-w|0)|0;r=w+n|0;N=r&3;N=r+((N|0)==0?0:4-N|0)|0;r=N+l|0;n=r&3;l=(t|0)>0;if(l){r=r+((n|0)==0?0:4-n|0)|0;n=0;while(1){a[w+(n<<3)+4>>2]=r;r=r+R|0;a[s+(n<<3)+4>>2]=r;n=n+1|0;if((n|0)>=(t|0))break;else r=r+R|0}if(l){r=0;do{a[N+(r<<3)>>2]=-1;r=r+1|0}while((r|0)<(t|0))}}r=G3(T,e,4)|0;if((r|0)<1)if((r|0)<0)r=1;else{t=1;S=11}else{t=r;S=11}A:do{if((S|0)==11){J=A+8|0;V=(c|0)!=0;y=(b|0)==0;z=(X|0)>0;Y=A+12|0;D=(X|0)<1;M=A+44|0;F=A+32|0;L=A+36|0;W=(X|0)==0;l=0;E=e+t|0;g=0;c=0;r=-1;n=s;Q=j;I=s;C=w;while(1){if((r|0)<0){A=a[J>>2]|0;b=A+8|0;e:do{if(a[b>>2]|0){o=(g|0)!=0;h=(l|0)==95;d=(g|0)==0;v=V&(l|0)==10;B=(g|0)<1&y;while(1){i:while(1){u=A+12|0;if((a[N+(a[u>>2]<<3)>>2]|0)>=(g|0))break;w=A+20|0;e=a[w>>2]|0;if(!e){S=46;break}r:do{if((e&1|0)==0|B|v){if(e&2|0?(m=a[T>>2]|0,!((m|H|0)==0|V&(m|0)==10)):0)break;do{if(e&16|0){if(h)break r;if(a4(l)|0)break r;e=a[T>>2]|0;if((e|0)==95)break;if(!(a4(e)|0))break r}}while(0);e=a[w>>2]|0;if(e&32){if(h){e=a[T>>2]|0;if((e|0)==95)break}else{m=(a4(l)|0)==0;e=a[T>>2]|0;if(m|(e|0)==95)break}if(a4(e)|0)break;e=a[w>>2]|0}s=a[T>>2]|0;do{if((s|0)!=0&(o&(e&64|0)!=0)){if(h)e=1;else{e=(a4(l)|0)!=0;s=a[T>>2]|0}if((s|0)==95)if(e)break r;else break;else if(e^(a4(s)|0)!=0)break;else break r}}while(0);if(!(a[w>>2]&128)){S=46;break i}e=a[T>>2]|0;if(d|(e|0)==0)break;if(h)s=1;else{s=(a4(l)|0)!=0;e=a[T>>2]|0}if((e|0)==95)if(s){S=46;break i}else break;else if(s^(a4(e)|0)!=0)break;else{S=46;break i}}}while(0);b=A+40|0;if(!(a[b>>2]|0))break e;else A=A+32|0}if((S|0)==46){S=0;a[n>>2]=a[b>>2];if(z)Y6(a[n+4>>2]|0,-1,R|0)|0;b=a[A+16>>2]|0;if(b|0?(x=a[b>>2]|0,(x|0)>-1):0){s=n+4|0;e=x;do{if((e|0)<(X|0))a[(a[s>>2]|0)+(e<<2)>>2]=g;b=b+4|0;e=a[b>>2]|0}while((e|0)>-1)}b=(a[n>>2]|0)!=(a[Y>>2]|0);if(b|D){c=b?c:1;r=b?r:g;b=n+4|0}else{b=n+4|0;c=a[b>>2]|0;r=0;do{a[i+(r<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0}while((r|0)!=(X|0));c=1;r=g}m=a[u>>2]|0;a[N+(m<<3)>>2]=g;a[N+(m<<3)+4>>2]=b;n=n+8|0}b=A+40|0;if(!(a[b>>2]|0))break;else A=A+32|0}}}while(0);a[n>>2]=0;n=a[T>>2]|0;if(!n)break;else l=n}else{if(W)break;l=a[T>>2]|0;if(!((n|0)!=(I|0)&(l|0)!=0))break}m=g+t|0;n=G3(T,E,4)|0;if((n|0)<1)if((n|0)<0){r=1;break A}else t=1;else t=n;G=E+t|0;if((c|0)!=0&(a[M>>2]|0)!=0){if(!(a[I>>2]|0))n=C;else{u=a[L>>2]|0;o=a[u>>2]|0;h=(o|0)>-1;w=I;n=C;do{s=w+4|0;e:do{if(h){b=0;e=o;do{A=a[u+((b|1)<<2)>>2]|0;if((e|0)>=(X|0))break e;c=a[s>>2]|0;if((a[c+(A<<2)>>2]|0)==(a[i+(A<<2)>>2]|0)?(a[c+(e<<2)>>2]|0)<(a[i+(e<<2)>>2]|0):0)break e;b=b+2|0;e=a[u+(b<<2)>>2]|0}while((e|0)>-1);b=s;S=75}else{b=s;c=a[s>>2]|0;S=75}}while(0);if((S|0)==75){S=0;a[n>>2]=a[w>>2];E=n+4|0;Z=a[E>>2]|0;a[E>>2]=c;a[b>>2]=Z;n=n+8|0}w=w+8|0}while((a[w>>2]|0)!=0)}a[n>>2]=0;Z=I;c=0}else{Z=C;C=I}b=a[C>>2]|0;if(!b){b=Q;n=Z}else{d=(m|0)!=0;B=(l|0)==95;v=(m|0)==0;E=V&(l|0)==10;g=(m|0)<1&y;h=C;A=Q;n=Z;while(1){e=b+8|0;if(a[e>>2]|0){o=h+4|0;u=A;w=e;while(1){e:do{if((a[b>>2]|0)>>>0<=l>>>0?(a[b+4>>2]|0)>>>0>=l>>>0:0){s=b+20|0;A=a[s>>2]|0;do{if(A|0){if(!((A&1|0)==0|g|E)){A=u;break e}if(A&2|0?(Q=a[T>>2]|0,!((Q|H|0)==0|V&(Q|0)==10)):0){A=u;break e}do{if(A&16|0){if(B){A=u;break e}if(a4(l)|0){A=u;break e}A=a[T>>2]|0;if((A|0)==95)break;if(!(a4(A)|0)){A=u;break e}}}while(0);A=a[s>>2]|0;if(A&32){if(B){A=a[T>>2]|0;if((A|0)==95){A=u;break e}}else{Q=(a4(l)|0)==0;A=a[T>>2]|0;if(Q|(A|0)==95){A=u;break e}}if(a4(A)|0){A=u;break e}A=a[s>>2]|0}e=a[T>>2]|0;do{if((e|0)!=0&(d&(A&64|0)!=0)){if(B)A=1;else{A=(a4(l)|0)!=0;e=a[T>>2]|0}if((e|0)==95)if(A){A=u;break e}else break;else if(A^(a4(e)|0)!=0)break;else{A=u;break e}}}while(0);do{if(a[s>>2]&128|0){A=a[T>>2]|0;if(v|(A|0)==0){A=u;break e}if(B)e=1;else{e=(a4(l)|0)!=0;A=a[T>>2]|0}if((A|0)==95)if(e)break;else{A=u;break e}else if(e^(a4(A)|0)!=0){A=u;break e}else break}}while(0);A=a[s>>2]|0;do{if(A&4){if(a[p>>2]&2|0)break;if(!(f4(l,a[b+24>>2]|0)|0)){A=u;break e}A=a[s>>2]|0}}while(0);do{if(A&4|0){if(!(a[p>>2]&2))break;Q=w4(l)|0;A=b+24|0;if(f4(Q,a[A>>2]|0)|0)break;Q=H1(l)|0;if(!(f4(Q,a[A>>2]|0)|0)){A=u;break e}}}while(0);if(!(a[s>>2]&8))break;if(r6(a[b+28>>2]|0,l,a[p>>2]&2)|0){A=u;break e}}}while(0);if(z){e=a[o>>2]|0;A=0;do{a[u+(A<<2)>>2]=a[e+(A<<2)>>2];A=A+1|0}while((A|0)!=(X|0))}A=a[b+16>>2]|0;do{if(A|0){e=a[A>>2]|0;if((e|0)<=-1)break;do{if((e|0)<(X|0))a[u+(e<<2)>>2]=m;A=A+4|0;e=a[A>>2]|0}while((e|0)>-1)}}while(0);A=a[b+12>>2]|0;e=N+(A<<3)|0;if((a[e>>2]|0)>=(m|0)){A=a[N+(A<<3)+4>>2]|0;e=a[A>>2]|0;if(!(f6(X,a[F>>2]|0,u,e)|0)){A=u;break}a[A>>2]=u;if((a[w>>2]|0)!=(a[Y>>2]|0)){A=e;break}if(z)r=0;else{c=1;A=e;r=m;break}while(1){a[i+(r<<2)>>2]=a[u+(r<<2)>>2];r=r+1|0;if((r|0)==(X|0)){c=1;A=e;r=m;break e}}}Q=a[w>>2]|0;a[n>>2]=Q;I=n+4|0;s=a[I>>2]|0;a[I>>2]=u;a[e>>2]=m;a[N+(A<<3)+4>>2]=I;do{if((a[Y>>2]|0)==(Q|0)){if((r|0)==-1)if(z)r=0;else{r=m;c=1;break}else{if(!z)break;if((a[u>>2]|0)>(a[i>>2]|0))break;else r=0}do{a[i+(r<<2)>>2]=a[u+(r<<2)>>2];r=r+1|0}while((r|0)<(X|0));r=m;c=1}}while(0);A=s;n=n+8|0}else A=u}while(0);w=b+40|0;if(!(a[w>>2]|0))break;else{b=b+32|0;u=A}}}h=h+8|0;b=a[h>>2]|0;if(!b){b=A;break}}}a[n>>2]=0;E=G;g=m;Q=b;I=Z}a[f>>2]=r;r=r>>>31}}while(0);L2(j)}k=P;return r|0}function i6(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;if((i&8|0)==0&(n|0)>-1?(w=a[r+16>>2]|0,u=a[r+28>>2]|0,s=(A|0)!=0&(u|0)!=0,s):0){b=a[r+48>>2]|0;c=0;do{i=a[w+(c*12|0)>>2]|0;if((i|0)==(b|0))t=n;else t=a[f+(i<<2)>>2]|0;l=e+(c<<3)|0;a[l>>2]=t;i=a[w+(c*12|0)+4>>2]|0;if((i|0)==(b|0))i=n;else i=a[f+(i<<2)>>2]|0;r=e+(c<<3)+4|0;a[r>>2]=i;if((i|0)==-1|(t|0)==-1){a[r>>2]=-1;a[l>>2]=-1}c=c+1|0}while(c>>>0>>0&c>>>0>>0);if(s){i=0;do{t=e+(i<<3)+4|0;c=a[w+(i*12|0)+8>>2]|0;if(c|0?(k=a[c>>2]|0,(k|0)>-1):0){b=e+(i<<3)|0;l=0;f=k;r=a[b>>2]|0;do{if(!((r|0)>=(a[e+(f<<3)>>2]|0)?(a[t>>2]|0)<=(a[e+(f<<3)+4>>2]|0):0)){a[t>>2]=-1;a[b>>2]=-1;r=-1}l=l+1|0;f=a[c+(l<<2)>>2]|0}while((f|0)>-1)}i=i+1|0}while(i>>>0>>0&i>>>0>>0)}else i=0}else i=0;if(i>>>0>>0)Y6(e+(i<<3)|0,-1,A-i<<3|0)|0;return}function r6(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=a[A>>2]|0;A:do{if(!r)i=0;else{f=(i|0)==0;i=r;while(1){if(f){if(f4(e,i)|0){i=1;break A}}else{r=H1(e)|0;if(f4(r,a[A>>2]|0)|0){i=1;break A}r=w4(e)|0;if(f4(r,a[A>>2]|0)|0){i=1;break A}}A=A+4|0;i=a[A>>2]|0;if(!i){i=0;break}}}}while(0);return i|0}function f6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;A:do{if((A|0)>0){f=0;while(1){l=a[i+(f<<2)>>2]|0;n=a[r+(f<<2)>>2]|0;if(!(a[e+(f<<2)>>2]|0)){if((l|0)<(n|0)){f=1;break A}if((l|0)>(n|0)){f=0;break A}}else{if((l|0)>(n|0)){f=1;break A}if((l|0)<(n|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 a6(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=U(i,e)|0;i=(e|0)==0?0:i;if((a[f+76>>2]|0)>-1)c=d4(f)|0;else c=0;n=f+74|0;l=r[n>>0]|0;r[n>>0]=l+255|l;n=f+4|0;l=a[n>>2]|0;w=(a[f+8>>2]|0)-l|0;t=w>>>0>>0?w:b;if((w|0)>0){y6(A|0,l|0,t|0)|0;a[n>>2]=l+t;n=b-t|0;A=A+t|0}else n=b;A:do{if(!n)s=13;else{t=f+32|0;while(1){if(M1(f)|0)break;l=W5[a[t>>2]&63](f,A,n)|0;if((l+1|0)>>>0<2)break;n=n-l|0;if(!n){s=13;break A}else A=A+l|0}if(c|0)B4(f);i=((b-n|0)>>>0)/(e>>>0)|0}}while(0);if((s|0)==13)if(c)B4(f);return i|0}function n6(A){A=A|0;var e=0;if((a[A+76>>2]|0)>-1){e=(d4(A)|0)==0;A=l6(A)|0}else A=l6(A)|0;return A|0}function l6(A){A=A|0;var e=0;if(!(a[A>>2]&128))e=1;else e=(a[A+20>>2]|0)>>>0>(a[A+28>>2]|0)>>>0?2:1;e=W5[a[A+40>>2]&63](A,0,e)|0;if((e|0)>=0)e=e-(a[A+8>>2]|0)+(a[A+4>>2]|0)+(a[A+20>>2]|0)-(a[A+28>>2]|0)|0;return e|0}function t6(A){A=A|0;(a[A+76>>2]|0)>-1?d4(A)|0:0;return a[A+60>>2]|0}function c6(A){A=A|0;var e=0,i=0,f=0,n=0;f=a[15679]|0;if((a[f+76>>2]|0)>-1)n=d4(f)|0;else n=0;do{if((m3(A,f)|0)<0)A=-1;else{if((r[f+75>>0]|0)!=10?(e=f+20|0,i=a[e>>2]|0,i>>>0<(a[f+16>>2]|0)>>>0):0){a[e>>2]=i+1;r[i>>0]=10;A=0;break}A=(W3(f,10)|0)>>31}}while(0);if(n|0)B4(f);return A|0}function b6(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+48|0;t=b+24|0;l=b+16|0;n=b;e=b+28|0;A=e;i=153686;f=A+20|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));i=e+13|0;A=0;while(1){a3(i)|0;a[n>>2]=e;a[n+4>>2]=32962;a[n+8>>2]=384;f=N2(VA(5,n|0)|0)|0;if((f|0)>-1){c=4;break}if((A|0)<99)A=A+1|0;else{A=0;break}}if((c|0)==4){a[l>>2]=e;GA(10,l|0)|0;A=I3(f,153706)|0;if(!A){a[t>>2]=f;NA(6,t|0)|0;A=0}}k=b;return A|0}function s6(A){A=A|0;var e=0,i=0,r=0;if((a[A+76>>2]|0)>=0?(d4(A)|0)!=0:0){e=A+4|0;i=a[e>>2]|0;if(i>>>0<(a[A+8>>2]|0)>>>0){a[e>>2]=i+1;e=n[i>>0]|0}else e=D1(A)|0}else r=3;do{if((r|0)==3){e=A+4|0;i=a[e>>2]|0;if(i>>>0<(a[A+8>>2]|0)>>>0){a[e>>2]=i+1;e=n[i>>0]|0;break}else{e=D1(A)|0;break}}}while(0);return e|0}function w6(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;if((a[e+76>>2]|0)>=0?(d4(e)|0)!=0:0){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(t=e+20|0,c=a[t>>2]|0,c>>>0<(a[e+16>>2]|0)>>>0):0){a[t>>2]=c+1;r[c>>0]=f}else i=W3(e,A)|0;B4(e)}else b=3;do{if((b|0)==3){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(n=e+20|0,l=a[n>>2]|0,l>>>0<(a[e+16>>2]|0)>>>0):0){a[n>>2]=l+1;r[l>>0]=f;break}i=W3(e,A)|0}}while(0);return i|0}function u6(A){A=A|0;return n6(A)|0}function k6(){}function o6(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=A&65535;f=e&65535;i=U(f,a)|0;r=A>>>16;A=(i>>>16)+(U(f,r)|0)|0;f=e>>>16;e=U(f,a)|0;return(L=(A>>>16)+(U(f,r)|0)+(((A&65535)+e|0)>>>16)|0,A+e<<16|i&65535|0)|0}function h6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=A;a=i;i=o6(f,a)|0;A=L;return(L=(U(e,a)|0)+(U(r,f)|0)+A|A&0,i|0|0)|0}function d6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=A+i>>>0;return(L=e+r+(i>>>0>>0|0)>>>0,i|0)|0}function B6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=e-r-(i>>>0>A>>>0|0)>>>0;return(L=r,A-i>>>0|0)|0}function v6(A){A=A|0;var e=0;e=r[h+(A&255)>>0]|0;if((e|0)<8)return e|0;e=r[h+(A>>8&255)>>0]|0;if((e|0)<8)return e+8|0;e=r[h+(A>>16&255)>>0]|0;if((e|0)<8)return e+16|0;return(r[h+(A>>>24)>>0]|0)+24|0}function g6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;s=A;c=e;b=c;l=i;u=r;t=u;if(!b){n=(f|0)!=0;if(!t){if(n){a[f>>2]=(s>>>0)%(l>>>0);a[f+4>>2]=0}u=0;f=(s>>>0)/(l>>>0)>>>0;return(L=u,f)|0}else{if(!n){u=0;f=0;return(L=u,f)|0}a[f>>2]=A|0;a[f+4>>2]=e&0;u=0;f=0;return(L=u,f)|0}}n=(t|0)==0;do{if(l){if(!n){n=(j(t|0)|0)-(j(b|0)|0)|0;if(n>>>0<=31){w=n+1|0;t=31-n|0;e=n-31>>31;l=w;A=s>>>(w>>>0)&e|b<>>(w>>>0)&e;n=0;t=s<>2]=A|0;a[f+4>>2]=c|e&0;u=0;f=0;return(L=u,f)|0}n=l-1|0;if(n&l|0){t=(j(l|0)|0)+33-(j(b|0)|0)|0;o=64-t|0;w=32-t|0;c=w>>31;k=t-32|0;e=k>>31;l=t;A=w-1>>31&b>>>(k>>>0)|(b<>>(t>>>0))&e;e=e&b>>>(t>>>0);n=s<>>(k>>>0))&c|s<>31;break}if(f|0){a[f>>2]=n&s;a[f+4>>2]=0}if((l|0)==1){k=c|e&0;o=A|0|0;return(L=k,o)|0}else{o=v6(l|0)|0;k=b>>>(o>>>0)|0;o=b<<32-o|s>>>(o>>>0)|0;return(L=k,o)|0}}else{if(n){if(f|0){a[f>>2]=(b>>>0)%(l>>>0);a[f+4>>2]=0}k=0;o=(b>>>0)/(l>>>0)>>>0;return(L=k,o)|0}if(!s){if(f|0){a[f>>2]=0;a[f+4>>2]=(b>>>0)%(t>>>0)}k=0;o=(b>>>0)/(t>>>0)>>>0;return(L=k,o)|0}n=t-1|0;if(!(n&t)){if(f|0){a[f>>2]=A|0;a[f+4>>2]=n&b|e&0}k=0;o=b>>>((v6(t|0)|0)>>>0);return(L=k,o)|0}n=(j(t|0)|0)-(j(b|0)|0)|0;if(n>>>0<=30){e=n+1|0;t=31-n|0;l=e;A=b<>>(e>>>0);e=b>>>(e>>>0);n=0;t=s<>2]=A|0;a[f+4>>2]=c|e&0;k=0;o=0;return(L=k,o)|0}}while(0);if(!l){b=t;c=0;t=0}else{w=i|0|0;s=u|r&0;b=d6(w|0,s|0,-1,-1)|0;i=L;c=t;t=0;do{r=c;c=n>>>31|c<<1;n=t|n<<1;r=A<<1|r>>>31|0;u=A>>>31|e<<1|0;B6(b|0,i|0,r|0,u|0)|0;o=L;k=o>>31|((o|0)<0?-1:0)<<1;t=k&1;A=B6(r|0,u|0,k&w|0,(((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1)&s|0)|0;e=L;l=l-1|0}while((l|0)!=0);b=c;c=0}l=0;if(f|0){a[f>>2]=A;a[f+4>>2]=e}k=(n|0)>>>31|(b|l)<<1|(l<<1|n>>>31)&0|c;o=(n<<1|0>>>31)&-2|t;return(L=k,o)|0}function E6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return g6(A,e,i,r,0)|0}function C6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+16|0;f=n|0;g6(A,e,i,r,f)|0;k=n;return(L=a[f+4>>2]|0,a[f>>2]|0)|0}function I6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e>>i;return A>>>i|(e&(1<>i-32|0}function Z6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e>>>i;return A>>>i|(e&(1<>>i-32|0}function G6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e<>>32-i;return A<>8&255|0}function m6(A){A=A|0;return(A&255)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>>24|0}function L6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;v=v+1|0;a[A>>2]=v;while((f|0)<(r|0)){if(!(a[i+(f<<3)>>2]|0)){a[i+(f<<3)>>2]=v;a[i+((f<<3)+4)>>2]=e;a[i+((f<<3)+8)>>2]=0;L=r;return i|0}f=f+1|0}r=r*2|0;i=y2(i|0,8*(r+1|0)|0)|0;i=L6(A|0,e|0,i|0,r|0)|0;L=r;return i|0}function W6(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;while((f|0)<(i|0)){r=a[e+(f<<3)>>2]|0;if(!r)break;if((r|0)==(A|0))return a[e+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function y6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if((i|0)>=8192)return jA(A|0,e|0,i|0)|0;l=A|0;n=A+i|0;if((A&3)==(e&3)){while(A&3){if(!i)return l|0;r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0;i=i-1|0}i=n&-4|0;f=i-64|0;while((A|0)<=(f|0)){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];a[A+32>>2]=a[e+32>>2];a[A+36>>2]=a[e+36>>2];a[A+40>>2]=a[e+40>>2];a[A+44>>2]=a[e+44>>2];a[A+48>>2]=a[e+48>>2];a[A+52>>2]=a[e+52>>2];a[A+56>>2]=a[e+56>>2];a[A+60>>2]=a[e+60>>2];A=A+64|0;e=e+64|0}while((A|0)<(i|0)){a[A>>2]=a[e>>2];A=A+4|0;e=e+4|0}}else{i=n-4|0;while((A|0)<(i|0)){r[A>>0]=r[e>>0]|0;r[A+1>>0]=r[e+1>>0]|0;r[A+2>>0]=r[e+2>>0]|0;r[A+3>>0]=r[e+3>>0]|0;A=A+4|0;e=e+4|0}}while((A|0)<(n|0)){r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0}return l|0}function z6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if((e|0)<(A|0)&(A|0)<(e+i|0)){f=A;e=e+i|0;A=A+i|0;while((i|0)>0){A=A-1|0;e=e-1|0;i=i-1|0;r[A>>0]=r[e>>0]|0}A=f}else y6(A,e,i)|0;return A|0}function Y6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=A+i|0;e=e&255;if((i|0)>=67){while(A&3){r[A>>0]=e;A=A+1|0}f=l&-4|0;n=f-64|0;t=e|e<<8|e<<16|e<<24;while((A|0)<=(n|0)){a[A>>2]=t;a[A+4>>2]=t;a[A+8>>2]=t;a[A+12>>2]=t;a[A+16>>2]=t;a[A+20>>2]=t;a[A+24>>2]=t;a[A+28>>2]=t;a[A+32>>2]=t;a[A+36>>2]=t;a[A+40>>2]=t;a[A+44>>2]=t;a[A+48>>2]=t;a[A+52>>2]=t;a[A+56>>2]=t;a[A+60>>2]=t;A=A+64|0}while((A|0)<(f|0)){a[A>>2]=t;A=A+4|0}}while((A|0)<(l|0)){r[A>>0]=e;A=A+1|0}return l-i|0}function D6(A){A=A|0;var e=0,i=0;i=A+15&-16|0;e=a[s>>2]|0;A=e+i|0;if((i|0)>0&(A|0)<(e|0)|(A|0)<0){_()|0;ZA(12);return-1}a[s>>2]=A;if((A|0)>(K()|0)?(O()|0)==0:0){a[s>>2]=e;ZA(12);return-1}return e|0}function M6(A){A=A|0;return+C5[A&1]()}function F6(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;return+I5[A&7](+e,+i,+r)}function V6(A,e){A=A|0;e=e|0;return+Z5[A&1](e|0)}function J6(A){A=A|0;return G5[A&3]()|0}function N6(A,e){A=A|0;e=e|0;return Q5[A&63](e|0)|0}function X6(A,e,i){A=A|0;e=e|0;i=i|0;return m5[A&127](e|0,i|0)|0}function R6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=+f;return L5[A&3](e|0,i|0,+r,+f)|0}function H6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return W5[A&63](e|0,i|0,r|0)|0}function p6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return y5[A&127](e|0,i|0,r|0,f|0)|0}function U6(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;return z5[A&127](e|0,i|0,r|0,f|0,a|0)|0}function x6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;return Y5[A&1](e|0,i|0,r|0,f|0,a|0,n|0)|0}function T6(A,e,i,r,f,a,n,l,t,c,b){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;return D5[A&3](e|0,i|0,r|0,f|0,a|0,n|0,l|0,t|0,c|0,b|0)|0}function j6(A){A=A|0;M5[A&15]()}function S6(A,e){A=A|0;e=e|0;F5[A&127](e|0)}function P6(A,e,i){A=A|0;e=e|0;i=i|0;V5[A&63](e|0,i|0)}function O6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;J5[A&127](e|0,i|0,r|0)}function K6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;n=n|0;N5[A&15](e|0,i|0,r|0,+f,+a,n|0)}function _6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;X5[A&31](e|0,i|0,r|0,f|0)}function q6(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;R5[A&15](e|0,i|0,r|0,f|0,a|0)}function $6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;H5[A&15](e|0,i|0,r|0,f|0,a|0,n|0)}function A5(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;p5[A&0](e|0,i|0,r|0,f|0,a|0,n|0,l|0,t|0,c|0)}function e5(){S(0);return 0.0}function i5(A,e,i){A=+A;e=+e;i=+i;S(1);return 0.0}function r5(A){A=A|0;S(2);return 0.0}function f5(){S(3);return 0}function a5(A){A=A|0;S(4);return 0}function n5(A,e){A=A|0;e=e|0;S(5);return 0}function l5(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;S(6);return 0}function t5(A,e,i){A=A|0;e=e|0;i=i|0;S(7);return 0}function c5(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(8);return 0}function b5(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;S(9);return 0}function s5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;S(10);return 0}function w5(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;S(11);return 0}function u5(){S(12)}function k5(A){A=A|0;S(13)}function o5(A,e){A=A|0;e=e|0;S(14)}function h5(A,e,i){A=A|0;e=e|0;i=i|0;S(15)}function d5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;S(16)}function B5(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(17)}function v5(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;S(18)}function g5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;S(19)}function E5(A,e,i,r,f,a,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;S(20)}var C5=[e5,cR];var I5=[i5,EM,gM,CM,IM,i5,i5,i5];var Z5=[r5,hR];var G5=[f5,Rj,tV,$V];var Q5=[a5,hW,JL,Qp,mp,Kh,$h,Ge,Qe,dr,Br,vr,gr,Er,Cr,Ir,Zr,F2,OI,hg,ND,HD,Hp,$F,vh,cd,Bh,fV,cV,gh,se,qF,he,de,wc,m2,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5];var m5=[n5,Qh,Oh,Ad,tX,cX,AX,KN,YN,Sl,Pl,Ol,Kl,_l,ql,At,et,it,rt,ft,at,nt,lt,tt,ct,bt,st,wt,ut,kt,ot,ht,dt,Bt,vt,gt,Et,Ct,It,Zt,Eq,Cq,Zq,Sq,Pq,Oq,Kq,_q,qq,$q,A$,T$,j$,P$,t$,c$,s$,kg,mL,oW,xW,gy,Ny,OY,SY,XD,pD,Nx,PT,Kj,BS,gS,CS,IS,GS,ZS,VS,PP,$P,eO,n_,dw,yv,Wv,Lv,EE,bd,eV,ME,KE,TE,jE,SC,m3,w6,rR,dH,po,_a,Oo,_o,we,A1,Zf,jl,tc,cc,y2,Es,Cs,Is,K8,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var L5=[l5,rK,tK,l5];var W5=[t5,Cp,G_,Lk,Vk,Tk,Kk,Ph,qh,sJ,fH,Fa,Gq,O$,w$,V2,J2,H2,p2,y4,ao,Np,u_,fT,AO,jw,Pw,_w,qk,vE,P4,XB,f3,aR,lJ,Gi,ac,Y$,I0,d0,m0,X3,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var y5=[c5,Zp,yS,Q_,yk,Nk,So,xB,Po,uh,Lh,yh,Hh,Rh,ed,ad,ld,eJ,nH,Ai,qe,Kr,Ja,nn,an,Qs,ms,Ls,dq,Bq,vq,gq,Iq,mq,N$,X$,R$,H$,p$,U$,x$,S$,_$,e$,i$,r$,f$,a$,n$,l$,b$,k$,eo,Td,IE,lR,$c,ib,cb,gb,Wb,Fb,Db,Vb,vs,L0,ns,M$,F$,Z0,G0,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5];var z5=[b5,mh,DN,eX,Lq,Wq,Tq,jq,k0,q$,$$,o$,h$,Zs,Gs,y0,z0,Y0,D0,F0,V0,J0,N0,X0,H0,p0,U0,x0,T0,R0,d2,B2,t2,e2,j0,S0,P0,K0,O0,_0,q0,$0,A2,i2,r2,f2,a2,n2,l2,c2,b2,s2,w2,h2,k2,u2,o2,I2,v2,g2,E2,C2,Z2,G2,Q2,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5];var Y5=[s5,Jt];var D5=[w5,h0,Q0,w5];var M5=[u5,tR,aV,nV,lV,sV,wV,uV,Ha,u5,u5,u5,u5,u5,u5,u5];var F5=[k5,$I,AZ,fZ,aZ,nZ,QZ,mZ,_Z,qZ,$Z,AG,eG,iG,rG,oG,hG,vG,gG,EG,CG,IG,ZG,GG,JG,NG,XG,HG,pG,UG,xG,TG,jG,SG,PG,aQ,nQ,lQ,cQ,bQ,sQ,wQ,uQ,kQ,oQ,hQ,dQ,vQ,YQ,DQ,MQ,FQ,jQ,SQ,PQ,KQ,cm,bm,sm,um,km,om,hm,dm,Bm,vm,gm,Em,ym,zm,Ym,Dm,tL,rL,fp,pH,xx,dx,mT,VT,RU,pU,ZT,GT,NH,XH,xU,qU,Ax,sx,zh,wN,yN,kN,uN,qN,JJ,RJ,Gr,yr,Km,UD,Ex,Gx,Tx,L2,V_,vo,ZE,dI,Ra,Bi,ve,iJ,ln,Vt,rc,fc,bc,k5,k5,k5,k5,k5,k5,k5,k5,k5];var V5=[o5,aG,bG,mG,YG,eQ,GQ,HQ,im,mm,Xm,id,MN,bX,iX,_N,LN,WN,nX,lX,Lr,Yr,vJ,to,gE,bV,be,Jl,Ft,nc,lc,sc,uc,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];var J5=[h5,lZ,tZ,sZ,KZ,fG,nG,cG,QG,LG,zG,KG,_G,AQ,gQ,EQ,ZQ,VQ,JQ,RQ,_Q,qQ,em,Cm,Im,Qm,Mm,Fm,Nm,LY,WY,yY,Ip,Wk,Jk,oo,Yh,nd,Hd,TB,sE,aF,AJ,wJ,XJ,aH,tH,$e,_e,Qr,mr,Wr,zr,Dr,Va,Zl,Il,Fo,ch,gd,Od,qd,rV,nR,aJ,ke,Be,Gl,ml,Ll,Vl,Nl,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5];var N5=[d5,NC,XC,RC,HC,pC,UC,xC,TC,d5,d5,d5,d5,d5,d5,d5];var X5=[B5,cZ,lG,WG,RG,qG,tQ,CQ,NQ,$Q,wm,Zm,Vm,$m,qm,_m,Om,Pm,Sm,GZ,jm,Tm,Wh,zN,$N,Qq,K$,u$,K4,ue,oe,V$];var R5=[v5,dG,OG,iQ,BQ,OQ,RD,CE,ge,v5,v5,v5,v5,v5,v5,v5];var H5=[g5,bZ,tG,yG,$G,IQ,XQ,Am,Gm,Jm,Ee,g5,g5,g5,g5,g5];var p5=[E5];return{___errno_location:X2,___muldi3:h6,___udivdi3:E6,___uremdi3:C6,_bitshift64Ashr:I6,_bitshift64Lshr:Z6,_bitshift64Shl:G6,_dtextract:Uk,_free:L2,_htons:V4,_i64Add:d6,_i64Subtract:B6,_llvm_bswap_i16:Q6,_llvm_bswap_i32:m6,_malloc:m2,_memalign:D2,_memcpy:y6,_memmove:z6,_memset:Y6,_realloc:y2,_saveSetjmp:L6,_sbrk:D6,_testSetjmp:W6,_vizCreateFile:_I,_vizLastErrorMessage:KI,_vizRenderFromString:qI,dynCall_d:M6,dynCall_dddd:F6,dynCall_di:V6,dynCall_i:J6,dynCall_ii:N6,dynCall_iii:X6,dynCall_iiidd:R6,dynCall_iiii:H6,dynCall_iiiii:p6,dynCall_iiiiii:U6,dynCall_iiiiiii:x6,dynCall_iiiiiiiiiii:T6,dynCall_v:j6,dynCall_vi:S6,dynCall_vii:P6,dynCall_viii:O6,dynCall_viiiddi:K6,dynCall_viiii:_6,dynCall_viiiii:q6,dynCall_viiiiii:$6,dynCall_viiiiiiiii:A5,establishStackSpace:TI,getTempRet0:PI,runPostSets:k6,setTempRet0:SI,setThrew:jI,stackAlloc:pI,stackRestore:xI,stackSave:UI}}(A.asmGlobalArg,A.asmLibraryArg,B),UA=(A.___errno_location=pA.___errno_location,A.___muldi3=pA.___muldi3,A.___udivdi3=pA.___udivdi3,A.___uremdi3=pA.___uremdi3,A._bitshift64Ashr=pA._bitshift64Ashr,A._bitshift64Lshr=pA._bitshift64Lshr,A._bitshift64Shl=pA._bitshift64Shl,A._dtextract=pA._dtextract,A._free=pA._free),xA=(A._htons=pA._htons,A._i64Add=pA._i64Add,A._i64Subtract=pA._i64Subtract,A._llvm_bswap_i16=pA._llvm_bswap_i16,A._llvm_bswap_i32=pA._llvm_bswap_i32,A._malloc=pA._malloc),TA=A._memalign=pA._memalign,jA=(A._memcpy=pA._memcpy,A._memmove=pA._memmove,A._memset=pA._memset),SA=(A._realloc=pA._realloc,A._saveSetjmp=pA._saveSetjmp,A._sbrk=pA._sbrk,A._testSetjmp=pA._testSetjmp,A._vizCreateFile=pA._vizCreateFile,A._vizLastErrorMessage=pA._vizLastErrorMessage,A._vizRenderFromString=pA._vizRenderFromString,A.establishStackSpace=pA.establishStackSpace,A.getTempRet0=pA.getTempRet0,A.runPostSets=pA.runPostSets,A.setTempRet0=pA.setTempRet0,A.setThrew=pA.setThrew,A.stackAlloc=pA.stackAlloc),PA=A.stackRestore=pA.stackRestore,OA=A.stackSave=pA.stackSave;if(A.dynCall_d=pA.dynCall_d,A.dynCall_dddd=pA.dynCall_dddd,A.dynCall_di=pA.dynCall_di,A.dynCall_i=pA.dynCall_i,A.dynCall_ii=pA.dynCall_ii,A.dynCall_iii=pA.dynCall_iii,A.dynCall_iiidd=pA.dynCall_iiidd,A.dynCall_iiii=pA.dynCall_iiii,A.dynCall_iiiii=pA.dynCall_iiiii,A.dynCall_iiiiii=pA.dynCall_iiiiii,A.dynCall_iiiiiii=pA.dynCall_iiiiiii,A.dynCall_iiiiiiiiiii=pA.dynCall_iiiiiiiiiii,A.dynCall_v=pA.dynCall_v,A.dynCall_vi=pA.dynCall_vi,A.dynCall_vii=pA.dynCall_vii,A.dynCall_viii=pA.dynCall_viii,A.dynCall_viiiddi=pA.dynCall_viiiddi,A.dynCall_viiii=pA.dynCall_viiii,A.dynCall_viiiii=pA.dynCall_viiiii,A.dynCall_viiiiii=pA.dynCall_viiiiii,A.dynCall_viiiiiiiii=pA.dynCall_viiiiiiiii,A.asm=pA,A.ccall=function(e,i,r,f,a){var n=function(e){var i=A["_"+e];return k(i,"Cannot call unknown function "+e+", make sure it is exported"),i}(e),l=[],t=0;if(f)for(var c=0;c0||(function(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)e=A.preRun.shift(),H.unshift(e);var e;R(H)}(),$>0||A.calledRun||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),i()}),1)):i()))}function re(e){throw A.onAbort&&A.onAbort(e),void 0!==e?(A.print(e),A.printErr(e),e=JSON.stringify(e)):e="",u=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(A.then=function(e){if(A.calledRun)e(A);else{var i=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){i&&i(),e(A)}}return A},ee.prototype=new Error,ee.prototype.constructor=ee,eA=function e(){A.calledRun||ie(),A.calledRun||(eA=e)},A.run=ie,A.exit=function(e,i){i&&A.noExitRuntime&&0===e||(A.noExitRuntime||(u=!0,Q=void 0,R(x),A.onExit&&A.onExit(e)),t&&process.exit(e),A.quit(e,new ee(e)))},A.abort=re,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return A.noExitRuntime=!0,ie(),A};function f(A){var e,i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=void 0===i.format?"svg":i.format,n=void 0===i.engine?"dot":i.engine,l=i.scale,t=i.totalMemory,c=void 0===i.files?[]:i.files,b=void 0===i.images?[]:i.images;for(e=0;e\\n\\n\'});return"png-image-element"==r?f.svgXmlToPngImageElement(a(A,"svg",n,t,c),l):a(A,r,n,t,c)}function a(A,e,i,f,a){var n,l=r({TOTAL_MEMORY:f});for(n=0;n1?window.devicePixelRatio:1);var r=new Image;try{if("object"==typeof fabric&&fabric.loadSVGFromString)fabric.loadSVGFromString(A,(function(A,f){if(0==A.length){if(void 0!==i)return void i(new Error("Error loading SVG with Fabric"));throw new Error("Error loading SVG with Fabric")}var a=document.createElement("canvas");a.width=f.width,a.height=f.height;var n=new fabric.Canvas(a,{enableRetinaScaling:!1}),l=fabric.util.groupSVGElements(A,f);n.add(l).renderAll(),r.src=n.toDataURL({multiplier:e}),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)}));else{var f=new Image;f.onload=function(){var A=document.createElement("canvas");A.width=f.width*e,A.height=f.height*e,A.getContext("2d").drawImage(f,0,0,A.width,A.height),r.src=A.toDataURL("image/png"),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)},f.onerror=function(A){var e;if(e="error"in A?A.error:new Error("Error loading SVG"),void 0===i)throw e;i(e)},f.src="data:image/svg+xml;base64,"+btoa(encodeURIComponent(A).replace(/%([0-9A-F]{2})/g,(function(A,e){return String.fromCharCode("0x"+e)})))}}catch(A){if(void 0===i)throw A;i(A)}if(void 0===i)return r},f.svgXmlToPngBase64=function(A,e,i){f.svgXmlToPngImageElement(A,e,(function(A,e){A?i(A):i(null,e.src.slice(22))}))},A.exports?A.exports=f:e.Viz=f}(this)},778:()=>{},725:()=>{},966:()=>{}},e={};function i(r){var f=e[r];if(void 0!==f)return f.exports;var a=e[r]={exports:{}};return A[r].call(a.exports,a,a.exports,i),a.exports}i.n=A=>{var e=A&&A.__esModule?()=>A.default:()=>A;return i.d(e,{a:e}),e},i.d=(A,e)=>{for(var r in e)i.o(e,r)&&!i.o(A,r)&&Object.defineProperty(A,r,{enumerable:!0,get:e[r]})},i.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A=i(221),e=i.n(A);const r={bidir:"isBidirectional"};function f(A,e){throw new Error(`Malformed plain output: ${A.slice(e-100,e+100)}`)}function a(A,e){const i=\'"\'===A[e],r=e+Number(i),f=A.indexOf(i?\'"\':" ",r);return{value:A.slice(r,f),end:f+Number(i)}}function n(A,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ";const r=A.indexOf(i,e);return r3&&void 0!==arguments[3]?arguments[3]:" ";const f=[];let a=i,l=A;for(;l--;){" "===e[a]&&a++;const{value:A,end:i}=n(e,a,r);f.push(A),a=i}return{values:f,end:a}}function t(A,e){const i=e+5,{value:r,end:f}=a(A,i),{values:n,end:t}=l(4,A,f+1),[c,b,s,w]=n;return{vertex:{vertex:{key:r},height:w,left:c,top:b,width:s},end:A.indexOf("\\n",t+1)}}function c(A,e){const i=e+5,{value:f,end:t}=a(A,i),{value:c,end:b}=a(A,t+1),{value:s,end:w}=n(A,b+1),{values:u,end:k}=l(2*s,A,w+1),{value:o,end:h}=a(A,k+1),d=[];for(let A=0;A{const e=r[A];e&&(B[e]=!0)})),{edge:{edge:{from:f,to:c,...B},pathPoints:d},end:A.indexOf("\\n",h+1)}}const b="}",s={nodesep:1.5,rankdir:"LR",ranksep:5,sep:.5,shape:"box",splines:"true"};function w(A){const{nodesep:e,rankdir:i,ranksep:r,sep:f,shape:a,splines:n}={...s,...A};return`digraph G {\\n graph[nodesep=${e.toFixed(3)}, rankdir=${i}, ranksep=${r.toFixed(3)}, sep=${f.toFixed(3)}, splines=${n}];\\n node [shape=${a}, fixedsize=true, label="", color="_", fillcolor="_"];\\n edge [arrowhead=none, arrowtail=none];`}function u(A){const{vertex:e,height:i,width:r}=A;let f="";if("left"in A&&"top"in A){const{left:e,top:i}=A;f=`,pos="${e.toFixed(5)},${i.toFixed(5)}!"`}return`"${e.key}" [height=${i.toFixed(5)},width=${r.toFixed(5)}${f}];`}function k(A,e){const i=arguments.length>2&&void 0!==arguments[2]&&arguments[2]?\' [style="bidir",dir=both]\':"";return Array.isArray(e)?`"${A}"->{ ${e.map((A=>`"${A}"`)).join(" ")} };`:`"${A}"->"${e}"${i};`}let o=function(A){return A.Error="Error",A.LayoutError="LayoutError",A}({}),h=function(A){return A.DotOnly="DotOnly",A.Edges="Edges",A.Positions="Positions",A}({});var d=function(A){return A.Ok="Ok",A.Warn="Warn",A.Error="Error",A}(d||{});const B=.015;function v(A,e){return Math.abs(A-e)/e{if(A.isBidirectional)return void r.push(A);const e=f.get(A.from)||[];e.push(A.to),f.set(A.from,e)}));const a=e.map(u),n=r.map((A=>k(A.from,A.to,!0))),l=[];return f.forEach(((A,e)=>{l.push(k(e,A))})),[w(i)," ",a.join("\\n ")," ",n.join("\\n ")," ",l.join("\\n "),b].join("\\n ")}(i,r,a),{totalMemory:o}=a||{},g={totalMemory:o,engine:A===h.Edges?"neato":"dot",format:"plain"},E=e()(s,g),{edges:C,graph:I,vertices:Z}=function(A){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=[],r=[];let a=0;const{end:b,graph:s}=function(A,e){const i=e+6,{values:[r,f],end:a}=l(2,A,i),{value:t,end:c}=n(A,a+1,"\\n");return{end:c,graph:{height:t,scale:r,width:f}}}(A,a);for(a=b+1;"s"!==A[a];)if("n"!==A[a])if("e"!==A[a])f(A,a);else{if(!e){a=A.indexOf("\\n",a)+1;continue}const{end:r,edge:f}=c(A,a);i.push(f),a=r+1}else{const{end:e,vertex:i}=t(A,a);r.push(i),a=e+1}return{graph:s,vertices:r,edges:e?i:null}}(E,A!==h.Positions),G=function(A,e){const i={};let r;A.forEach((A=>{i[String(A.vertex.key)]=A}));for(let A=0;A1?"vertices":"vertex";return{validity:d.Error,message:`Missing ${A}: ${f.join(", ")}`}}return r||{validity:d.Ok,message:null}}(r,Z);return G.validity===d.Error?{graph:I,edges:C,vertices:Z,layoutError:!0,layoutErrorMessage:G.message}:G.validity===d.Warn?{graph:I,edges:C,vertices:Z,layoutErrorMessage:G.message}:{edges:C,graph:I,vertices:Z}}const E=self;let C;function I(A,e){if(e instanceof ErrorEvent){const{colno:i,error:r,filename:f,lineno:a,message:n}=e;return{colno:i,error:r,errorType:A,filename:f,lineno:a,message:n}}return{message:e.data}}function Z(A,e){const i={type:o.Error,meta:C,errorMessage:I(A,e)};E.postMessage(i)}E.onmessage=function(A){const{edges:e,meta:i,options:r,vertices:f}=A.data;C=i;const{layoutError:a,...n}=g(i.phase,e,f,r),l={meta:i,type:a?o.LayoutError:i.phase,...n};E.postMessage(l),C=null},E.onerror=Z.bind(null,"error"),E.onmessageerror=Z.bind(E,"messageerror")})();',"Worker",void 0,void 0)}})();var r=i.Z;function killWorker(e){const t=e,r=()=>{};t.onmessage=r,t.onmessageerror=r,t.onerror=r,t.terminate()}function findAndRemoveWorker(e,t){for(let r=0;r=0)return a.splice(n,1),{ok:!0,list:a}}return{ok:!1}}class Coordinator{constructor(e){this.currentLayout=void 0,this.nextWorkerId=void 0,this.idleWorkers=void 0,this.busyWorkers=void 0,this.callback=void 0,this._handleVizWorkerError=e=>{const t=e.target,{ok:r}=findAndRemoveWorker([this.busyWorkers,this.idleWorkers],t);r?(console.error("Viz worker onerror"),console.error(e),killWorker(t)):(console.error("Viz worker onerror from unknown viz worker"),console.error(e))},this._handleVizWorkerMessageError=e=>{const t={event:e,currentLayout:this.currentLayout,errorType:"_handleVizWorkerMessageError"};console.error(t)},this._handleVizWorkerMessage=e=>{const t=e.target,r=e.data,{type:a}=r;this._makeWorkerIdle(t);const n=!this.currentLayout||Boolean(r.meta&&r.meta.layoutId!==this.currentLayout.id);a!==EWorkerErrorType.Error?n||(a!==EWorkerErrorType.LayoutError?r.type!==EWorkerPhase.Positions&&r.type!==EWorkerPhase.Edges&&r.type!==EWorkerPhase.DotOnly?console.error(`Unknown worker message type: ${a}`,e):this._processResult(a,r):console.error("layout-error",e)):console.error((n?"(stale) ":"")+"Error from viz.worker",e)},this.callback=e,this.currentLayout=null,this.nextWorkerId=0,this.idleWorkers=[],this.busyWorkers=[]}getLayout(e,t,r,a){this.busyWorkers.forEach(killWorker),this.busyWorkers.length=0;const{edges:n,unmapEdges:i,unmapVertices:o,vertices:l}=convInputs(t,r),s=l.map(vertexToDot);this.currentLayout={id:e,cleaned:{edges:n,vertices:s},options:a||null,input:{edges:t,unmapEdges:i,unmapVertices:o,vertices:r},status:{phase:ECoordinatorPhase.NotStarted}};const c=Boolean(a&&a.useDotEdges)?EWorkerPhase.DotOnly:EWorkerPhase.Positions;this._postWork(c,n,s)}stopAndRelease(){this.idleWorkers.forEach(killWorker),this.idleWorkers.length=0,this.busyWorkers.forEach(killWorker),this.busyWorkers.length=0,this.currentLayout=null}_initWorker(){const e=new r;return e.id=this.nextWorkerId,this.nextWorkerId++,e.onerror=this._handleVizWorkerError,e.onmessageerror=this._handleVizWorkerMessageError,e.onmessage=this._handleVizWorkerMessage,e}_makeWorkerIdle(e){const{ok:t}=findAndRemoveWorker([this.busyWorkers,this.idleWorkers],e);t?this.idleWorkers.push(e):killWorker(e)}_postWork(e,t,r){if(!this.currentLayout)throw new Error("_startWork called without a current layout");const{id:a,options:n,status:i}=this.currentLayout,o=this.idleWorkers.pop()||this._initWorker();this.busyWorkers.push(o),i.phase=e,i.workerId=o.id;const l={options:n,edges:t,vertices:r,meta:{phase:e,layoutId:a,workerId:o.id}};o.postMessage(l)}_processResult(e,t){const r=this.currentLayout;if(!r)return;const{edges:a,graph:n,meta:i,vertices:o}=t,{workerId:l}=i,{cleaned:s,input:c,status:u}=r,{phase:f,workerId:A}=u;if(e!==f||l!==A)return void console.error("Have work results, but in an invalid state");if(!o||!n||e!==EWorkerPhase.Positions&&!a)return void console.error("Have work results, but recieved invalid result data");const d=vertexToPixels.bind(null,n),p=o.map(d),h=c.unmapVertices(p),b=graphToPixels(n);if(e!==EWorkerPhase.Positions&&e!==EWorkerPhase.DotOnly||this.callback({type:ECoordinatorPhase.Positions,layoutId:r.id,graph:b,vertices:h}),a){const e=a.map((e=>edgeToPixels(n,e))),t=c.unmapEdges(e);this.callback({type:ECoordinatorPhase.Done,layoutId:r.id,graph:b,edges:t,vertices:h})}e===EWorkerPhase.Positions&&this._postWork(EWorkerPhase.Edges,s.edges,o)}}class LayoutManager{constructor(e){this.layoutId=void 0,this.coordinator=void 0,this.pendingResult=void 0,this.options=void 0,this._handleUpdate=e=>{const t=this.pendingResult;if(t&&e.layoutId===t.id)if(e.type===ECoordinatorPhase.Positions){const{isPositionsResolved:r,resolvePositions:a}=t;if(r)return void console.warn("Duplicate positiosn update",e);const{graph:n,vertices:i}=e;if(!i||!a)throw new Error("Invalid state");t.isPositionsResolved=!0,a({graph:n,vertices:i,isCancelled:!1})}else{if(e.type!==ECoordinatorPhase.Done)throw new Error("Unrecognized update type");{const{resolveLayout:r}=t,{edges:a,graph:n,vertices:i}=e;if(!a||!i||!r)throw new Error("Invalid state");this.pendingResult=null,r({edges:a,graph:n,vertices:i,isCancelled:!1})}}},this.options=e,this.layoutId=0,this.coordinator=new Coordinator(this._handleUpdate),this.pendingResult=null}getLayout(e,t){this._cancelPending(),this.layoutId++;const r=this.layoutId;this.coordinator.getLayout(r,e,t,this.options),this.pendingResult={id:r,isPositionsResolved:!1};const a=new Promise((e=>{this.pendingResult&&r===this.pendingResult.id&&(this.pendingResult.resolvePositions=e)})),n=new Promise((e=>{this.pendingResult&&r===this.pendingResult.id&&(this.pendingResult.resolveLayout=e)}));return{layout:n,positions:a}}stopAndRelease(){this._cancelPending(),this.coordinator.stopAndRelease()}_cancelPending(){const e=this.pendingResult;e&&(!e.isPositionsResolved&&e.resolvePositions&&(e.resolvePositions({isCancelled:!0}),e.isPositionsResolved=!0),e.resolveLayout&&e.resolveLayout({isCancelled:!0}),this.pendingResult=null)}}const index$G="",index$F="";var Checkbox$2=function(e){function t(r){_default$c(this,t);var a=_default$9(this,e.call(this,r));a.handleChange=function(e){var t=a.props,r=t.disabled,n=t.onChange;r||("checked"in a.props||a.setState({checked:e.target.checked}),n&&n({target:_default$bE({},a.props,{checked:e.target.checked}),stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},nativeEvent:e.nativeEvent}))},a.saveInput=function(e){a.input=e};var n="checked"in r?r.checked:r.defaultChecked;return a.state={checked:n},a}return _default$8(t,e),t.getDerivedStateFromProps=function(e,t){return"checked"in e?_default$bE({},t,{checked:e.checked}):null},t.prototype.focus=function(){this.input.focus()},t.prototype.blur=function(){this.input.blur()},t.prototype.render=function(){var e,t=this.props,r=t.prefixCls,a=t.className,n=t.style,i=t.name,o=t.id,l=t.type,s=t.disabled,c=t.readOnly,u=t.tabIndex,f=t.onClick,A=t.onFocus,d=t.onBlur,p=t.autoFocus,h=t.value,b=_default$d(t,["prefixCls","className","style","name","id","type","disabled","readOnly","tabIndex","onClick","onFocus","onBlur","autoFocus","value"]),g=Object.keys(b).reduce((function(e,t){return"aria-"!==t.substr(0,5)&&"data-"!==t.substr(0,5)&&"role"!==t||(e[t]=b[t]),e}),{}),m=this.state.checked,v=classnamesExports(r,a,((e={})[r+"-checked"]=m,e[r+"-disabled"]=s,e));return React$k.createElement("span",{className:v,style:n},React$k.createElement("input",_default$bE({name:i,id:o,type:l,readOnly:c,disabled:s,tabIndex:u,className:r+"-input",checked:!!m,onClick:f,onFocus:A,onBlur:d,onChange:this.handleChange,autoFocus:p,ref:this.saveInput,value:h},g)),React$k.createElement("span",{className:r+"-inner"}))},t}(reactExports.Component);function _typeof$G(e){return _typeof$G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$G(e)}function _defineProperty$K(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _extends$1E(){return _extends$1E=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r0&&(p=a.getOptions().map((function(e){return reactExports.createElement(Checkbox$1,{prefixCls:f,key:e.value.toString(),disabled:"disabled"in e?e.disabled:n.disabled,value:e.value,checked:-1!==i.value.indexOf(e.value),onChange:e.onChange,className:"".concat(A,"-item")},e.label)})));var h=classNames(A,l);return reactExports.createElement("div",_extends$1D({className:h,style:s},d),p)},a.state={value:e.value||e.defaultValue||[],registeredValues:[]},a}return _createClass$1o(r,[{key:"getChildContext",value:function(){return{checkboxGroup:{toggleOption:this.toggleOption,value:this.state.value,disabled:this.props.disabled,name:this.props.name,registerValue:this.registerValue,cancelValue:this.cancelValue}}}},{key:"shouldComponentUpdate",value:function(e,t){return!shallowequal(this.props,e)||!shallowequal(this.state,t)}},{key:"getOptions",value:function(){return this.props.options.map((function(e){return"string"==typeof e?{label:e,value:e}:e}))}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderGroup)}}],[{key:"getDerivedStateFromProps",value:function(e){return"value"in e?{value:e.value||[]}:null}}]),r}(reactExports.Component);CheckboxGroup.defaultProps={options:[]},CheckboxGroup.propTypes={defaultValue:propTypesExports.array,value:propTypesExports.array,options:propTypesExports.array.isRequired,onChange:propTypesExports.func},CheckboxGroup.childContextTypes={checkboxGroup:propTypesExports.any},polyfill(CheckboxGroup);const Group$1=CheckboxGroup;function _typeof$E(e){return _typeof$E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$E(e)}function _extends$1C(){return _extends$1C=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(e,["children","color","size","style","width","height"]),f=t.reactIconBase,A=void 0===f?{}:f,d=o||A.size||"1em";return a.default.createElement("svg",r({children:n,fill:"currentColor",preserveAspectRatio:"xMidYMid meet",height:c||d,width:s||d},A,u,{style:r({verticalAlign:"middle",color:i||A.color},A.style||{},l)}))};o.propTypes={color:n.default.string,size:n.default.oneOfType([n.default.string,n.default.number]),width:n.default.oneOfType([n.default.string,n.default.number]),height:n.default.oneOfType([n.default.string,n.default.number]),style:n.default.object},o.contextTypes={reactIconBase:n.default.shape(o.propTypes)},t.default=o,e.exports=t.default}(lib$2,libExports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tt+e),0);if(1===t)return a;const n=Math.max(r,a/t);let i=0,o=0;do{i+=e[o++]}while(i+e[o]=t&&l[l.length-1].widthMath.max(calcWidth(e.slice(n),t-1,Math.max(r,a)),a))))}const calcRects=memoize_1((function(e,t){const r=(Array.isArray(e)?[`${e.length} Operations}`]:e.match(WORD_RX$1)||[e]).map((e=>(t.innerHTML=e,t.getClientRects()[0].width))),a=[];for(let n=1;n<=r.length;n++){const e=calcWidth(r,n),t=n*FONT_SIZE*LINE_HEIGHT;if((!a.length||ee)break}return a}),((e,t)=>`${e}\t${t.style.fontWeight}`)),sq=e=>e**2,diagonal=e=>Math.sqrt(sq(e.height)+sq(e.width));function smallestRadius(e,t){if(!t){let t=diagonal(e[0]),{height:r,width:a}=e[0];for(let n=1;n{t.forEach((t=>{let a,n;const i=e.height+t.height+OP_PADDING_TOP,o=(sq(e.width/2)-sq(t.width/2))/(2*i)+i/2;oi-e.height/2?(a=diagonal(e)/2,n=a-e.height/2):(a=Math.sqrt(sq(t.width/2)+sq(o)),n=a-i+o),(!r||r.radius>a)&&(r={radius:a,svcWidth:e.width,opWidth:t.width,svcMarginTop:n})}))})),!r)throw new Error("Given 0 svcRects and/or 0 opRects");return r}const calcPositioning=memoize_1((function(e,t){return smallestRadius(calcRects(e,_initSvcSpan()),t?calcRects(t,_initOpSpan()):void 0)}),((e,t)=>`${e}\t${t}`)),nodeIcons="",setFocusIcon=jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"DdgNode--SetFocusIcon",width:"100",height:"100",viewBox:"0 0 100 100",children:jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{d:"M50.0001 -1L61.0557 22.1383H38.9444L50.0001 -1Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M49.9999 99L38.9443 75.8617L61.0556 75.8617L49.9999 99Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M100 49L76.8617 60.0556L76.8617 37.9444L100 49Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M1.57361e-06 49L23.1383 37.9444L23.1383 60.0556L1.57361e-06 49Z",fill:"currentColor"})]})}),BreakableText$1="",WORD_RX=/\W*\w+\W*/g;function BreakableText(e){const{className:t,text:r,wordRegexp:a=WORD_RX}=e;if(!r)return"string"==typeof r?r:null;const n=[];a.exec("");let i=a.exec(r)||[r];for(;i;)n.push(jsxRuntimeExports.jsx("span",{className:t,children:i[0]},`${r}-${n.length}`)),i=a.exec(r);return n}BreakableText.defaultProps={className:"BreakableText",wordRegexp:WORD_RX};var characterMap={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Ấ":"A","Ắ":"A","Ẳ":"A","Ẵ":"A","Ặ":"A","Æ":"AE","Ầ":"A","Ằ":"A","Ȃ":"A","Ç":"C","Ḉ":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ế":"E","Ḗ":"E","Ề":"E","Ḕ":"E","Ḝ":"E","Ȇ":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ḯ":"I","Ȋ":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ố":"O","Ṍ":"O","Ṓ":"O","Ȏ":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ấ":"a","ắ":"a","ẳ":"a","ẵ":"a","ặ":"a","æ":"ae","ầ":"a","ằ":"a","ȃ":"a","ç":"c","ḉ":"c","è":"e","é":"e","ê":"e","ë":"e","ế":"e","ḗ":"e","ề":"e","ḕ":"e","ḝ":"e","ȇ":"e","ì":"i","í":"i","î":"i","ï":"i","ḯ":"i","ȋ":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ố":"o","ṍ":"o","ṓ":"o","ȏ":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","C̆":"C","c̆":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","Ǵ":"G","ĝ":"g","ǵ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ḫ":"H","ḫ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ḱ":"K","ḱ":"k","K̆":"K","k̆":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ḿ":"M","ḿ":"m","M̆":"M","m̆":"m","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","N̆":"N","n̆":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","P̆":"P","p̆":"p","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","R̆":"R","r̆":"r","Ȓ":"R","ȓ":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","Ș":"S","ș":"s","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","ț":"t","Ț":"T","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","T̆":"T","t̆":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ȗ":"U","ȗ":"u","V̆":"V","v̆":"v","Ŵ":"W","ŵ":"w","Ẃ":"W","ẃ":"w","X̆":"X","x̆":"x","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Y̆":"Y","y̆":"y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ứ":"U","ứ":"u","Ṹ":"U","ṹ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o","Þ":"TH","þ":"th","Ṕ":"P","ṕ":"p","Ṥ":"S","ṥ":"s","X́":"X","x́":"x","Ѓ":"Г","ѓ":"г","Ќ":"К","ќ":"к","A̋":"A","a̋":"a","E̋":"E","e̋":"e","I̋":"I","i̋":"i","Ǹ":"N","ǹ":"n","Ồ":"O","ồ":"o","Ṑ":"O","ṑ":"o","Ừ":"U","ừ":"u","Ẁ":"W","ẁ":"w","Ỳ":"Y","ỳ":"y","Ȁ":"A","ȁ":"a","Ȅ":"E","ȅ":"e","Ȉ":"I","ȉ":"i","Ȍ":"O","ȍ":"o","Ȑ":"R","ȑ":"r","Ȕ":"U","ȕ":"u","B̌":"B","b̌":"b","Č̣":"C","č̣":"c","Ê̌":"E","ê̌":"e","F̌":"F","f̌":"f","Ǧ":"G","ǧ":"g","Ȟ":"H","ȟ":"h","J̌":"J","ǰ":"j","Ǩ":"K","ǩ":"k","M̌":"M","m̌":"m","P̌":"P","p̌":"p","Q̌":"Q","q̌":"q","Ř̩":"R","ř̩":"r","Ṧ":"S","ṧ":"s","V̌":"V","v̌":"v","W̌":"W","w̌":"w","X̌":"X","x̌":"x","Y̌":"Y","y̌":"y","A̧":"A","a̧":"a","B̧":"B","b̧":"b","Ḑ":"D","ḑ":"d","Ȩ":"E","ȩ":"e","Ɛ̧":"E","ɛ̧":"e","Ḩ":"H","ḩ":"h","I̧":"I","i̧":"i","Ɨ̧":"I","ɨ̧":"i","M̧":"M","m̧":"m","O̧":"O","o̧":"o","Q̧":"Q","q̧":"q","U̧":"U","u̧":"u","X̧":"X","x̧":"x","Z̧":"Z","z̧":"z"},chars=Object.keys(characterMap).join("|"),allAccents=new RegExp(chars,"g"),firstAccent=new RegExp(chars,""),removeAccents=function(e){return e.replace(allAccents,(function(e){return characterMap[e]}))},hasAccents=function(e){return!!e.match(firstAccent)},removeAccents_1=removeAccents,has=hasAccents,remove$7=removeAccents;removeAccents_1.has=has,removeAccents_1.remove=remove$7;var _typeof$D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_extends$1B=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return e;var a=r.keys,n=r.threshold,i=void 0===n?rankings.MATCHES:n,o=e.reduce((function(e,n,o){var l=getHighestRanking(n,a,t,r),s=l.rankedItem,c=l.rank,u=l.keyIndex,f=l.keyThreshold;return c>=(void 0===f?i:f)&&e.push({rankedItem:s,item:n,rank:c,index:o,keyIndex:u}),e}),[]);return o.sort(sortRankedItems).map((function(e){return e.item}))}function getHighestRanking(e,t,r,a){return t?getAllValuesToRank(e,t).reduce((function(e,t,n){var i=e.rank,o=e.keyIndex,l=e.keyThreshold,s=t.itemValue,c=t.attributes,u=getMatchRanking(s,r,a),f=c.minRanking,A=c.maxRanking,d=c.threshold;return u=rankings.MATCHES?u=f:u>A&&(u=A),u>i&&(i=u,o=n,l=d),{rankedItem:s,rank:i,keyIndex:o,keyThreshold:l}}),{rank:rankings.NO_MATCH,keyIndex:-1,keyThreshold:a.threshold}):{rankedItem:e,rank:getMatchRanking(e,r,a),keyIndex:-1,keyThreshold:a.threshold}}function getMatchRanking(e,t,r){if(e=prepareValueForComparison(e,r),(t=prepareValueForComparison(t,r)).length>e.length)return rankings.NO_MATCH;if(e===t)return rankings.CASE_SENSITIVE_EQUAL;var a=getCaseRanking(e),n=isPartialOfCase(e,t,a),i=isCaseAcronym(e,t,a);return(e=e.toLowerCase())===(t=t.toLowerCase())?rankings.EQUAL+a:0===e.indexOf(t)?rankings.STARTS_WITH+a:-1!==e.indexOf(" "+t)?rankings.WORD_STARTS_WITH+a:n?rankings.STRING_CASE+a:a>0&&i?rankings.STRING_CASE_ACRONYM+a:-1!==e.indexOf(t)?rankings.CONTAINS+a:1===t.length?rankings.NO_MATCH:-1!==getAcronym(e).indexOf(t)?rankings.ACRONYM+a:getClosenessRanking(e,t)}function getAcronym(e){var t="";return e.split(" ").forEach((function(e){e.split("-").forEach((function(e){t+=e.substr(0,1)}))})),t}function getCaseRanking(e){var t=e.toLowerCase()!==e,r=e.indexOf("-")>=0,a=e.indexOf("_")>=0;return t||a||!r?t||!a||r?!t||r||a?caseRankings.NO_CASE:e[0].toUpperCase()===e[0]?caseRankings.PASCAL:caseRankings.CAMEL:caseRankings.SNAKE:caseRankings.KEBAB}function isPartialOfCase(e,t,r){var a=e.toLowerCase().indexOf(t.toLowerCase());switch(r){case caseRankings.SNAKE:return"_"===e[a-1];case caseRankings.KEBAB:return"-"===e[a-1];case caseRankings.PASCAL:case caseRankings.CAMEL:return-1!==a&&e[a]===e[a].toUpperCase();default:return!1}}function isCaseAcronym(e,t,r){var a=null;switch(r){case caseRankings.SNAKE:a="_";break;case caseRankings.KEBAB:a="-";break;case caseRankings.PASCAL:case caseRankings.CAMEL:a=/(?=[A-Z])/;break;default:a=null}var n=e.split(a);return t.toLowerCase().split("").reduce((function(e,t,r){var a=n[r];return e&&a&&a[0].toLowerCase()===t}),!0)}function getClosenessRanking(e,t){var r=0,a=0;function n(e,t,a){for(var n=a;n-1))return rankings.NO_MATCH}return function(e){var a=r/t.length;return rankings.MATCHES+a*(1/e)}(a-i)}function sortRankedItems(e,t){var r=e.rankedItem,a=e.rank,n=e.keyIndex,i=t.rankedItem,o=t.rank,l=t.keyIndex;return a===o?n===l?String(r).localeCompare(i):no?-1:1}function prepareValueForComparison(e,t){return e=""+e,t.keepDiacritics||(e=removeAccents_1(e)),e}function getItemValues(e,t){"object"===(void 0===t?"undefined":_typeof$D(t))&&(t=t.key);var r=void 0;return null!=(r="function"==typeof t?t(e):-1!==t.indexOf(".")?t.split(".").reduce((function(e,t){return e?e[t]:null}),e):e[t])?[].concat(r):null}function getAllValuesToRank(e,t){return t.reduce((function(t,r){var a=getItemValues(e,r);return a&&a.forEach((function(e){t.push({itemValue:e,attributes:getKeyAttributes(r)})})),t}),[])}function getKeyAttributes(e){return"string"==typeof e&&(e={key:e}),_extends$1B({maxRanking:1/0,minRanking:-1/0},e)}matchSorter.rankings=rankings,matchSorter.caseRankings=caseRankings;var iosSearchExports={},iosSearch={get exports(){return iosSearchExports},set exports(e){iosSearchExports=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=t?e.call(null):a.id=requestAnimationFrame(n)}))};return a}var size=-1;function getScrollbarSize(e){if(void 0===e&&(e=!1),-1===size||e){var t=document.createElement("div"),r=t.style;r.width="50px",r.height="50px",r.overflow="scroll",document.body.appendChild(t),size=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return size}var cachedRTLResult=null;function getRTLOffsetType(e){if(void 0===e&&(e=!1),null===cachedRTLResult||e){var t=document.createElement("div"),r=t.style;r.width="50px",r.height="50px",r.overflow="scroll",r.direction="rtl";var a=document.createElement("div"),n=a.style;return n.width="100px",n.height="100px",t.appendChild(a),document.body.appendChild(t),t.scrollLeft>0?cachedRTLResult="positive-descending":(t.scrollLeft=1,cachedRTLResult=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),cachedRTLResult}return cachedRTLResult}var IS_SCROLLING_DEBOUNCE_INTERVAL$1=150,defaultItemKey$1=function(e,t){return e};function createListComponent(e){var t,r=e.getItemOffset,a=e.getEstimatedTotalSize,n=e.getItemSize,i=e.getOffsetForIndexAndAlignment,o=e.getStartIndexForOffset,l=e.getStopIndexForStartIndex,s=e.initInstanceProps,c=e.shouldResetStyleCacheOnItemSizeChange,u=e.validateProps;return t=function(e){function t(t){var a;return(a=e.call(this,t)||this)._instanceProps=s(a.props,_assertThisInitialized$1h(a)),a._outerRef=void 0,a._resetIsScrollingTimeoutId=null,a.state={instance:_assertThisInitialized$1h(a),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof a.props.initialScrollOffset?a.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},a._callOnItemsRendered=void 0,a._callOnItemsRendered=memoizeOne((function(e,t,r,n){return a.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:r,visibleStopIndex:n})})),a._callOnScroll=void 0,a._callOnScroll=memoizeOne((function(e,t,r){return a.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:r})})),a._getItemStyle=void 0,a._getItemStyle=function(e){var t,i=a.props,o=i.direction,l=i.itemSize,s=i.layout,u=a._getItemStyleCache(c&&l,c&&s,c&&o);if(u.hasOwnProperty(e))t=u[e];else{var f=r(a.props,e,a._instanceProps),A=n(a.props,e,a._instanceProps),d="horizontal"===o||"horizontal"===s,p="rtl"===o,h=d?f:0;u[e]=t={position:"absolute",left:p?void 0:h,right:p?h:void 0,top:d?0:f,height:d?"100%":A,width:d?A:"100%"}}return t},a._getItemStyleCache=void 0,a._getItemStyleCache=memoizeOne((function(e,t,r){return{}})),a._onScrollHorizontal=function(e){var t=e.currentTarget,r=t.clientWidth,n=t.scrollLeft,i=t.scrollWidth;a.setState((function(e){if(e.scrollOffset===n)return null;var t=a.props.direction,o=n;if("rtl"===t)switch(getRTLOffsetType()){case"negative":o=-n;break;case"positive-descending":o=i-r-n}return o=Math.max(0,Math.min(o,i-r)),{isScrolling:!0,scrollDirection:e.scrollOffsets.clientWidth?getScrollbarSize():0:s.scrollHeight>s.clientHeight?getScrollbarSize():0}this.scrollTo(i(this.props,e,t,o,this._instanceProps,l))},f.componentDidMount=function(){var e=this.props,t=e.direction,r=e.initialScrollOffset,a=e.layout;if("number"==typeof r&&null!=this._outerRef){var n=this._outerRef;"horizontal"===t||"horizontal"===a?n.scrollLeft=r:n.scrollTop=r}this._callPropsCallbacks()},f.componentDidUpdate=function(){var e=this.props,t=e.direction,r=e.layout,a=this.state,n=a.scrollOffset;if(a.scrollUpdateWasRequested&&null!=this._outerRef){var i=this._outerRef;if("horizontal"===t||"horizontal"===r)if("rtl"===t)switch(getRTLOffsetType()){case"negative":i.scrollLeft=-n;break;case"positive-ascending":i.scrollLeft=n;break;default:var o=i.clientWidth,l=i.scrollWidth;i.scrollLeft=l-o-n}else i.scrollLeft=n;else i.scrollTop=n}this._callPropsCallbacks()},f.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&cancelTimeout(this._resetIsScrollingTimeoutId)},f.render=function(){var e=this.props,t=e.children,r=e.className,n=e.direction,i=e.height,o=e.innerRef,l=e.innerElementType,s=e.innerTagName,c=e.itemCount,u=e.itemData,f=e.itemKey,A=void 0===f?defaultItemKey$1:f,d=e.layout,p=e.outerElementType,h=e.outerTagName,b=e.style,g=e.useIsScrolling,m=e.width,v=this.state.isScrolling,y="horizontal"===n||"horizontal"===d,w=y?this._onScrollHorizontal:this._onScrollVertical,k=this._getRangeToRender(),x=k[0],E=k[1],_=[];if(c>0)for(var C=x;C<=E;C++)_.push(reactExports.createElement(t,{data:u,key:A(C,u),index:C,isScrolling:g?v:void 0,style:this._getItemStyle(C)}));var $=a(this.props,this._instanceProps);return reactExports.createElement(p||h||"div",{className:r,onScroll:w,ref:this._outerRefSetter,style:_extends$2i({position:"relative",height:i,width:m,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:n},b)},reactExports.createElement(l||s||"div",{children:_,ref:o,style:{height:y?"100%":$,pointerEvents:v?"none":void 0,width:y?$:"100%"}}))},f._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],r=e[1],a=e[2],n=e[3];this._callOnItemsRendered(t,r,a,n)}if("function"==typeof this.props.onScroll){var i=this.state,o=i.scrollDirection,l=i.scrollOffset,s=i.scrollUpdateWasRequested;this._callOnScroll(o,l,s)}},f._getRangeToRender=function(){var e=this.props,t=e.itemCount,r=e.overscanCount,a=this.state,n=a.isScrolling,i=a.scrollDirection,s=a.scrollOffset;if(0===t)return[0,0,0,0];var c=o(this.props,s,this._instanceProps),u=l(this.props,c,s,this._instanceProps),f=n&&"backward"!==i?1:Math.max(1,r),A=n&&"forward"!==i?1:Math.max(1,r);return[Math.max(0,c-f),Math.max(0,Math.min(t-1,u+A)),c,u]},t}(reactExports.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}var validateSharedProps$1=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},FixedSizeList=createListComponent({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,r,a,n,i){var o=e.direction,l=e.height,s=e.itemCount,c=e.itemSize,u=e.layout,f=e.width,A="horizontal"===o||"horizontal"===u?f:l,d=Math.max(0,s*c-A),p=Math.min(d,t*c),h=Math.max(0,t*c-A+c+i);switch("smart"===r&&(r=a>=h-A&&a<=p+A?"auto":"center"),r){case"start":return p;case"end":return h;case"center":var b=Math.round(h+(p-h)/2);return bd+Math.floor(A/2)?d:b;default:return a>=h&&a<=p?a:a-1){var n=r[a];return a>0&&(r.splice(a,1),r.unshift(n)),n.value}}return{get:a,put:function(t,n){a(t)||(r.unshift({key:t,value:n}),r.length>e&&r.pop())}}}function singletonCache(e){var t;return{get:function(r){if(t&&e(r,t.key))return t.value},put:function(e,r){t={key:e,value:r}}}}function createCache(e,t){return 1===e?singletonCache(t):lruCache(e,t)}function createEqualsFn(e,t){var r=t?deepEquals(e,t):e;return function(e,t){if(e.length!==t.length)return!1;for(var a=0;a0!==r&&t?e(r)?jsxRuntimeExports.jsx("mark",{children:t},`${t+r}`):t:null)).filter(Boolean);return jsxRuntimeExports.jsx("span",{children:r})}const highlightEvenGroups=toHighlights.bind(null,(e=>e%2==0)),highlightFirstGroup=toHighlights.bind(null,(e=>1===e)),ANY_LAZY="(.*?)",ANY_GREEDY="(.*)";function wordBreak(e){return`(\\b${e}|${e.toUpperCase()})`}function letterClass(e){return`[${e}${e.toUpperCase()}]`}class MatchHighlighter{constructor(e){if(this.query=e,!e)return void(this.matchers=[]);const t=e.toLowerCase(),r=`${t[0].toUpperCase()}${t.slice(1)}`,a=t.split(""),n=`^(${t})`,i=`(\\b${a.map(letterClass).join("")}|${r})`,o=a.map((e=>wordBreak(e))).join(ANY_LAZY),l=`(${t})`,s=a.map((e=>`(${e})`)).join(ANY_LAZY);this.matchers=[[new RegExp(`${n}${ANY_GREEDY}`,"i"),highlightFirstGroup],[new RegExp(`${ANY_LAZY}${i}${ANY_GREEDY}`),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${o}${ANY_GREEDY}`),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${l}${ANY_GREEDY}`,"i"),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${s}${ANY_GREEDY}`,"i"),highlightEvenGroups]]}static make(e){return new MatchHighlighter(e)}highlightMatches(e){if(!e)return e;for(let t=0;t{const{data:e,index:t}=this.props,{options:r,selectedValue:a}=e;return"string"!=typeof a&&a?a.has(r[t]):r[t]===a},this.onClicked=()=>{const{data:e,index:t}=this.props,{addValues:r,multi:a,options:n,removeValues:i,setValue:o}=e,l=n[t];a&&r&&i?this.isSelected()?i([l]):r([l]):o(l)}}render(){const{data:e,index:t,style:r}=this.props,{width:a,...n}=r,{focusedIndex:i,highlightQuery:o,multi:l,options:s}=e,c=this.isSelected(),u=classnamesExports("FilteredList--ListItem",{"is-focused":t===i,"is-selected":c,"is-striped":t%2});return jsxRuntimeExports.jsxs("div",{className:u,style:n,onClick:this.onClicked,role:"switch","aria-checked":t===i?"true":"false",children:[l&&jsxRuntimeExports.jsx(Checkbox$1,{className:"FilteredList--ListItem--Checkbox",checked:c}),highlightMatches(o,s[t])]})}}const index$E="",ITEM_HEIGHT=35,MAX_HEIGHT=375;class FilteredList extends reactExports.PureComponent{constructor(){super(...arguments),this.inputRef=reactExports.createRef(),this.vlistRef=reactExports.createRef(),this.wrapperRef=reactExports.createRef(),this.state={filterText:"",focusedIndex:null,visibleStartIndex:0,visibleStopIndex:0},this.focusInput=()=>{const{current:e}=this.inputRef;e&&e.focus()},this.getFilteredOptions=()=>{const{options:e}=this.props,{filterText:t}=this.state;return t?matchSorter(e,t):e},this.setValue=e=>{this.props.setValue(e),this.setState({filterText:"",focusedIndex:null})},this.onKeyDown=e=>{const{focusedIndex:t}=this.state;switch(e.key){case Key_enum.Key.Escape:{const{cancel:e}=this.props;this.setState({filterText:"",focusedIndex:null}),e&&e();break}case Key_enum.Key.ArrowUp:case Key_enum.Key.ArrowDown:{const{visibleStartIndex:r,visibleStopIndex:a}=this.state;let n;if(null==t)n=e.key===Key_enum.Key.ArrowDown?r:a,this.setState({focusedIndex:n});else{const r=e.key===Key_enum.Key.ArrowDown?1:-1,a=this.getFilteredOptions(),i=t+r;n=i>-1?i%a.length:a.length+i,this.setState({focusedIndex:n})}const i=this.vlistRef.current;i&&(na-1)&&i.scrollToItem(n);break}case Key_enum.Key.Enter:{const e=this.getFilteredOptions();null!==t?this.setValue(e[t]):1===e.length&&this.setValue(e[0]);break}}},this.onListScrolled=debounce_1((e=>{e.scrollUpdateWasRequested||this.setState({focusedIndex:null})}),80),this.onListItemsRendered=debounce_1((e=>{const{visibleStartIndex:t,visibleStopIndex:r}=e;this.setState({visibleStartIndex:t,visibleStopIndex:r})}),80),this.onFilterChanged=e=>{this.setState({filterText:e.target.value,focusedIndex:null})}}componentDidUpdate(){this.focusInput()}isMouseWithin(){const{current:e}=this.wrapperRef;return null!=e&&e.matches(":hover")}getFilteredCheckbox(e){const{addValues:t,removeValues:r,options:a,value:n}=this.props;if(!t||!r)return null;const i="string"!=typeof n&&n?n:new Set([n]);let o=0,l=!1;for(let u=0;u{a?t(e.filter((e=>!i.has(e)))):r(e)},indeterminate:l})})}render(){const{addValues:e,multi:t,options:r,removeValues:a,value:n}=this.props,{filterText:i,focusedIndex:o}=this.state,l=this.getFilteredOptions(),s=t&&this.getFilteredCheckbox(l),c={addValues:e,focusedIndex:o,highlightQuery:i,multi:t,options:l,removeValues:a,selectedValue:n,setValue:this.setValue};return jsxRuntimeExports.jsxs("div",{ref:this.wrapperRef,children:[jsxRuntimeExports.jsxs("div",{className:"FilteredList--filterWrapper",children:[s,jsxRuntimeExports.jsxs("label",{className:"FilteredList--inputWrapper",children:[jsxRuntimeExports.jsx(IoIosSearch,{className:"FilteredList--filterIcon"}),jsxRuntimeExports.jsx("input",{className:"FilteredList--filterInput",placeholder:"Filter...",onChange:this.onFilterChanged,onKeyDown:this.onKeyDown,ref:this.inputRef,type:"text",value:i})]})]}),jsxRuntimeExports.jsx(FixedSizeList,{className:"FilteredList--list u-simple-scrollbars",height:Math.min(r.length*ITEM_HEIGHT,MAX_HEIGHT),itemCount:l.length,itemData:c,itemSize:ITEM_HEIGHT,width:650,overscanCount:25,onItemsRendered:this.onListItemsRendered,onScroll:this.onListScrolled,ref:this.vlistRef,children:ListItem},i)]})}}var androidOpenExports={},androidOpen={get exports(){return androidOpenExports},set exports(e){androidOpenExports=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t{const a=`${e}/${t}`;r[t]=a})),r}NewWindowIcon.defaultProps={isLarge:!1};const PARAMETER_REG_EXP=/#\{([^{}]*)\}/g;function encodedStringSupplant(e,t,r){return e.replace(PARAMETER_REG_EXP,((e,a)=>{const n=r[a],i=null!=n&&t?t(n):n;return null==i?"":`${i}`}))}function stringSupplant(e,t){return encodedStringSupplant(e,null,t)}function getParamNames(e){const t=new Set;return e.replace(PARAMETER_REG_EXP,((e,r)=>(t.add(r),e))),Array.from(t)}const fetchDecoration=memoize(10)((e=>JaegerAPI.fetchDecoration(e))),actionTypes$4=generateActionTypes("@jaeger-ui/PATH_AGNOSTIC_DECORATIONS",["GET_DECORATION"]),getDecorationSchema=memoize_1((e=>{const t=getConfigValue("pathAgnosticDecorations");if(t)return t.find((t=>t.id===e))}));let doneCount,pendingCount,pendingData,pendingPromise,resolve;const _processed=new Map;function getDecoration(e,t,r){const a=_processed.get(e);if(a){const e=a.get(t);if(e){if(e.has(r))return;e.add(r)}else a.set(t,new Set([r]))}else _processed.set(e,new Map([[t,new Set([r])]]));const n=getDecorationSchema(e);if(!n)return;const i=!resolve||!pendingPromise;i&&(pendingPromise=new Promise((e=>{resolve=e}))),pendingCount=pendingCount?pendingCount+1:1;const{summaryUrl:o,opSummaryUrl:l,summaryPath:s,opSummaryPath:c}=n;let u,f,A;return c&&l&&r?(u=fetchDecoration(stringSupplant(l,{service:t,operation:r})),f=stringSupplant(c,{service:t,operation:r}),A=`${e}.withOp.${t}.${r}`):(u=fetchDecoration(stringSupplant(o,{service:t})),f=stringSupplant(s,{service:t}),A=`${e}.withoutOp.${t}`),u.then((e=>get_1$1(e,f,`\`${f}\` not found in response`))).catch((e=>`Unable to fetch decoration: ${e.message||e}`)).then((e=>{if(pendingData||(pendingData={}),set_1(pendingData,A,e),doneCount=doneCount?doneCount+1:1,doneCount===pendingCount){if(!resolve)throw new Error("`resolve` unexpectedly undefined");resolve(pendingData),doneCount=pendingCount=pendingData=pendingPromise=resolve=void 0}})),i?pendingPromise:void 0}const fullActions$4=createActions({[actionTypes$4.GET_DECORATION]:getDecoration}),padActions=fullActions$4.jaegerUi.pathAgnosticDecorations; +!function(t,r){(function(){var a,n="Expected a function",i="__lodash_hash_undefined__",o="__lodash_placeholder__",l=16,s=32,c=64,u=128,f=256,A=1/0,d=9007199254740991,p=NaN,h=4294967295,b=[["ary",u],["bind",1],["bindKey",2],["curry",8],["curryRight",l],["flip",512],["partial",s],["partialRight",c],["rearg",f]],g="[object Arguments]",m="[object Array]",v="[object Boolean]",y="[object Date]",w="[object Error]",k="[object Function]",x="[object GeneratorFunction]",E="[object Map]",_="[object Number]",C="[object Object]",$="[object Promise]",T="[object RegExp]",O="[object Set]",S="[object String]",I="[object Symbol]",M="[object WeakMap]",B="[object ArrayBuffer]",R="[object DataView]",P="[object Float32Array]",L="[object Float64Array]",D="[object Int8Array]",z="[object Int16Array]",F="[object Int32Array]",N="[object Uint8Array]",j="[object Uint8ClampedArray]",V="[object Uint16Array]",G="[object Uint32Array]",H=/\b__p \+= '';/g,W=/\b(__p \+=) '' \+/g,Z=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Y=/&(?:amp|lt|gt|quot|#39);/g,Q=/[&<>"']/g,U=RegExp(Y.source),q=RegExp(Q.source),X=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,ee=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,te=/^\w*$/,re=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ae=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(ae.source),ie=/^\s+/,oe=/\s/,le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,se=/\{\n\/\* \[wrapped with (.+)\] \*/,ce=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,fe=/[()=,{}\[\]\/\s]/,Ae=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,pe=/\w*$/,he=/^[-+]0x[0-9a-f]+$/i,be=/^0b[01]+$/i,ge=/^\[object .+?Constructor\]$/,me=/^0o[0-7]+$/i,ve=/^(?:0|[1-9]\d*)$/,ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,we=/($^)/,ke=/['\n\r\u2028\u2029\\]/g,xe="\\ud800-\\udfff",Ee="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",_e="\\u2700-\\u27bf",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",$e="A-Z\\xc0-\\xd6\\xd8-\\xde",Te="\\ufe0e\\ufe0f",Oe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Se="['’]",Ie="["+xe+"]",Me="["+Oe+"]",Be="["+Ee+"]",Re="\\d+",Pe="["+_e+"]",Le="["+Ce+"]",De="[^"+xe+Oe+Re+_e+Ce+$e+"]",ze="\\ud83c[\\udffb-\\udfff]",Fe="[^"+xe+"]",Ne="(?:\\ud83c[\\udde6-\\uddff]){2}",je="[\\ud800-\\udbff][\\udc00-\\udfff]",Ve="["+$e+"]",Ge="\\u200d",He="(?:"+Le+"|"+De+")",We="(?:"+Ve+"|"+De+")",Ze="(?:['’](?:d|ll|m|re|s|t|ve))?",Ye="(?:['’](?:D|LL|M|RE|S|T|VE))?",Qe="(?:"+Be+"|"+ze+")"+"?",Ue="["+Te+"]?",qe=Ue+Qe+("(?:"+Ge+"(?:"+[Fe,Ne,je].join("|")+")"+Ue+Qe+")*"),Xe="(?:"+[Pe,Ne,je].join("|")+")"+qe,Je="(?:"+[Fe+Be+"?",Be,Ne,je,Ie].join("|")+")",Ke=RegExp(Se,"g"),et=RegExp(Be,"g"),tt=RegExp(ze+"(?="+ze+")|"+Je+qe,"g"),rt=RegExp([Ve+"?"+Le+"+"+Ze+"(?="+[Me,Ve,"$"].join("|")+")",We+"+"+Ye+"(?="+[Me,Ve+He,"$"].join("|")+")",Ve+"?"+He+"+"+Ze,Ve+"+"+Ye,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Re,Xe].join("|"),"g"),at=RegExp("["+Ge+xe+Ee+Te+"]"),nt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,it=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ot=-1,lt={};lt[P]=lt[L]=lt[D]=lt[z]=lt[F]=lt[N]=lt[j]=lt[V]=lt[G]=!0,lt[g]=lt[m]=lt[B]=lt[v]=lt[R]=lt[y]=lt[w]=lt[k]=lt[E]=lt[_]=lt[C]=lt[T]=lt[O]=lt[S]=lt[M]=!1;var st={};st[g]=st[m]=st[B]=st[R]=st[v]=st[y]=st[P]=st[L]=st[D]=st[z]=st[F]=st[E]=st[_]=st[C]=st[T]=st[O]=st[S]=st[I]=st[N]=st[j]=st[V]=st[G]=!0,st[w]=st[k]=st[M]=!1;var ct={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ut=parseFloat,ft=parseInt,At="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,dt="object"==typeof self&&self&&self.Object===Object&&self,pt=At||dt||Function("return this")(),ht=r&&!r.nodeType&&r,bt=ht&&t&&!t.nodeType&&t,gt=bt&&bt.exports===ht,mt=gt&&At.process,vt=function(){try{var t=bt&&bt.require&&bt.require("util").types;return t||mt&&mt.binding&&mt.binding("util")}catch(e){}}(),yt=vt&&vt.isArrayBuffer,wt=vt&&vt.isDate,kt=vt&&vt.isMap,xt=vt&&vt.isRegExp,Et=vt&&vt.isSet,_t=vt&&vt.isTypedArray;function Ct(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function $t(e,t,r,a){for(var n=-1,i=null==e?0:e.length;++n-1}function Bt(e,t,r){for(var a=-1,n=null==e?0:e.length;++a-1;);return r}function rr(e,t){for(var r=e.length;r--&&Vt(t,e[r],0)>-1;);return r}var ar=Yt({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),nr=Yt({"&":"&","<":"<",">":">",'"':""","'":"'"});function ir(e){return"\\"+ct[e]}function or(e){return at.test(e)}function lr(e){var t=-1,r=Array(e.size);return e.forEach((function(e,a){r[++t]=[a,e]})),r}function sr(e,t){return function(r){return e(t(r))}}function cr(e,t){for(var r=-1,a=e.length,n=0,i=[];++r",""":'"',"'":"'"});var br=function t(r){var oe=(r=null==r?pt:br.defaults(pt.Object(),r,br.pick(pt,it))).Array,xe=r.Date,Ee=r.Error,_e=r.Function,Ce=r.Math,$e=r.Object,Te=r.RegExp,Oe=r.String,Se=r.TypeError,Ie=oe.prototype,Me=_e.prototype,Be=$e.prototype,Re=r["__core-js_shared__"],Pe=Me.toString,Le=Be.hasOwnProperty,De=0,ze=function(){var e=/[^.]+$/.exec(Re&&Re.keys&&Re.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Fe=Be.toString,Ne=Pe.call($e),je=pt._,Ve=Te("^"+Pe.call(Le).replace(ae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ge=gt?r.Buffer:a,He=r.Symbol,We=r.Uint8Array,Ze=Ge?Ge.allocUnsafe:a,Ye=sr($e.getPrototypeOf,$e),Qe=$e.create,Ue=Be.propertyIsEnumerable,qe=Ie.splice,Xe=He?He.isConcatSpreadable:a,Je=He?He.iterator:a,tt=He?He.toStringTag:a,at=function(){try{var t=Ai($e,"defineProperty");return t({},"",{}),t}catch(e){}}(),ct=r.clearTimeout!==pt.clearTimeout&&r.clearTimeout,At=xe&&xe.now!==pt.Date.now&&xe.now,dt=r.setTimeout!==pt.setTimeout&&r.setTimeout,ht=Ce.ceil,bt=Ce.floor,mt=$e.getOwnPropertySymbols,vt=Ge?Ge.isBuffer:a,Ft=r.isFinite,Yt=Ie.join,gr=sr($e.keys,$e),mr=Ce.max,vr=Ce.min,yr=xe.now,wr=r.parseInt,kr=Ce.random,xr=Ie.reverse,Er=Ai(r,"DataView"),_r=Ai(r,"Map"),Cr=Ai(r,"Promise"),$r=Ai(r,"Set"),Tr=Ai(r,"WeakMap"),Or=Ai($e,"create"),Sr=Tr&&new Tr,Ir={},Mr=zi(Er),Br=zi(_r),Rr=zi(Cr),Pr=zi($r),Lr=zi(Tr),Dr=He?He.prototype:a,zr=Dr?Dr.valueOf:a,Fr=Dr?Dr.toString:a;function Nr(e){if(rl(e)&&!Wo(e)&&!(e instanceof Hr)){if(e instanceof Gr)return e;if(Le.call(e,"__wrapped__"))return Fi(e)}return new Gr(e)}var jr=function(){function e(){}return function(t){if(!tl(t))return{};if(Qe)return Qe(t);e.prototype=t;var r=new e;return e.prototype=a,r}}();function Vr(){}function Gr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=a}function Hr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=h,this.__views__=[]}function Wr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function sa(e,t,r,n,i,o){var l,s=1&t,c=2&t,u=4&t;if(r&&(l=i?r(e,n,i,o):r(e)),l!==a)return l;if(!tl(e))return e;var f=Wo(e);if(f){if(l=function(e){var t=e.length,r=new e.constructor(t);t&&"string"==typeof e[0]&&Le.call(e,"index")&&(r.index=e.index,r.input=e.input);return r}(e),!s)return Sn(e,l)}else{var A=hi(e),d=A==k||A==x;if(Uo(e))return En(e,s);if(A==C||A==g||d&&!i){if(l=c||d?{}:gi(e),!s)return c?function(e,t){return In(e,pi(e),t)}(e,function(e,t){return e&&In(t,Bl(t),e)}(l,e)):function(e,t){return In(e,di(e),t)}(e,na(l,e))}else{if(!st[A])return i?e:{};l=function(e,t,r){var a=e.constructor;switch(t){case B:return _n(e);case v:case y:return new a(+e);case R:return function(e,t){var r=t?_n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case P:case L:case D:case z:case F:case N:case j:case V:case G:return Cn(e,r);case E:return new a;case _:case S:return new a(e);case T:return function(e){var t=new e.constructor(e.source,pe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case O:return new a;case I:return function(e){return zr?$e(zr.call(e)):{}}(e)}}(e,A,s)}}o||(o=new Ur);var p=o.get(e);if(p)return p;o.set(e,l),ll(e)?e.forEach((function(a){l.add(sa(a,t,r,a,e,o))})):al(e)&&e.forEach((function(a,n){l.set(n,sa(a,t,r,n,e,o))}));var h=f?a:(u?c?ii:ni:c?Bl:Ml)(e);return Tt(h||e,(function(a,n){h&&(a=e[n=a]),ta(l,n,sa(a,t,r,n,e,o))})),l}function ca(e,t,r){var n=r.length;if(null==e)return!n;for(e=$e(e);n--;){var i=r[n],o=t[i],l=e[i];if(l===a&&!(i in e)||!o(l))return!1}return!0}function ua(e,t,r){if("function"!=typeof e)throw new Se(n);return Ii((function(){e.apply(a,r)}),t)}function fa(e,t,r,a){var n=-1,i=Mt,o=!0,l=e.length,s=[],c=t.length;if(!l)return s;r&&(t=Rt(t,Jt(r))),a?(i=Bt,o=!1):t.length>=200&&(i=er,o=!1,t=new Qr(t));e:for(;++n-1},Zr.prototype.set=function(e,t){var r=this.__data__,a=ra(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this},Yr.prototype.clear=function(){this.size=0,this.__data__={hash:new Wr,map:new(_r||Zr),string:new Wr}},Yr.prototype.delete=function(e){var t=ui(this,e).delete(e);return this.size-=t?1:0,t},Yr.prototype.get=function(e){return ui(this,e).get(e)},Yr.prototype.has=function(e){return ui(this,e).has(e)},Yr.prototype.set=function(e,t){var r=ui(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this},Qr.prototype.add=Qr.prototype.push=function(e){return this.__data__.set(e,i),this},Qr.prototype.has=function(e){return this.__data__.has(e)},Ur.prototype.clear=function(){this.__data__=new Zr,this.size=0},Ur.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Ur.prototype.get=function(e){return this.__data__.get(e)},Ur.prototype.has=function(e){return this.__data__.has(e)},Ur.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Zr){var a=r.__data__;if(!_r||a.length<199)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new Yr(a)}return r.set(e,t),this.size=r.size,this};var Aa=Rn(ya),da=Rn(wa,!0);function pa(e,t){var r=!0;return Aa(e,(function(e,a,n){return r=!!t(e,a,n)})),r}function ha(e,t,r){for(var n=-1,i=e.length;++n0&&r(l)?t>1?ga(l,t-1,r,a,n):Pt(n,l):a||(n[n.length]=l)}return n}var ma=Pn(),va=Pn(!0);function ya(e,t){return e&&ma(e,t,Ml)}function wa(e,t){return e&&va(e,t,Ml)}function ka(e,t){return It(t,(function(t){return Jo(e[t])}))}function xa(e,t){for(var r=0,n=(t=yn(t,e)).length;null!=e&&rt}function $a(e,t){return null!=e&&Le.call(e,t)}function Ta(e,t){return null!=e&&t in $e(e)}function Oa(e,t,r){for(var n=r?Bt:Mt,i=e[0].length,o=e.length,l=o,s=oe(o),c=1/0,u=[];l--;){var f=e[l];l&&t&&(f=Rt(f,Jt(t))),c=vr(f.length,c),s[l]=!r&&(t||i>=120&&f.length>=120)?new Qr(l&&f):a}f=e[0];var A=-1,d=s[0];e:for(;++A=l?s:s*("desc"==r[a]?-1:1)}return e.index-t.index}(e,t,r)}))}function Wa(e,t,r){for(var a=-1,n=t.length,i={};++a-1;)l!==e&&qe.call(l,s,1),qe.call(e,s,1);return e}function Ya(e,t){for(var r=e?t.length:0,a=r-1;r--;){var n=t[r];if(r==a||n!==i){var i=n;vi(n)?qe.call(e,n,1):An(e,n)}}return e}function Qa(e,t){return e+bt(kr()*(t-e+1))}function Ua(e,t){var r="";if(!e||t<1||t>d)return r;do{t%2&&(r+=e),(t=bt(t/2))&&(e+=e)}while(t);return r}function qa(e,t){return Mi($i(e,t,ns),e+"")}function Xa(e){return Xr(jl(e))}function Ja(e,t){var r=jl(e);return Pi(r,la(t,0,r.length))}function Ka(e,t,r,n){if(!tl(e))return e;for(var i=-1,o=(t=yn(t,e)).length,l=o-1,s=e;null!=s&&++in?0:n+t),(r=r>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;for(var i=oe(n);++a>>1,o=e[i];null!==o&&!cl(o)&&(r?o<=t:o=200){var c=t?null:qn(e);if(c)return ur(c);o=!1,n=er,s=new Qr}else s=t?[]:l;e:for(;++a=n?e:an(e,t,r)}var xn=ct||function(e){return pt.clearTimeout(e)};function En(e,t){if(t)return e.slice();var r=e.length,a=Ze?Ze(r):new e.constructor(r);return e.copy(a),a}function _n(e){var t=new e.constructor(e.byteLength);return new We(t).set(new We(e)),t}function Cn(e,t){var r=t?_n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function $n(e,t){if(e!==t){var r=e!==a,n=null===e,i=e==e,o=cl(e),l=t!==a,s=null===t,c=t==t,u=cl(t);if(!s&&!u&&!o&&e>t||o&&l&&c&&!s&&!u||n&&l&&c||!r&&c||!i)return 1;if(!n&&!o&&!u&&e1?r[i-1]:a,l=i>2?r[2]:a;for(o=e.length>3&&"function"==typeof o?(i--,o):a,l&&yi(r[0],r[1],l)&&(o=i<3?a:o,i=1),t=$e(t);++n-1?i[o?t[l]:l]:a}}function Nn(e){return ai((function(t){var r=t.length,i=r,o=Gr.prototype.thru;for(e&&t.reverse();i--;){var l=t[i];if("function"!=typeof l)throw new Se(n);if(o&&!s&&"wrapper"==li(l))var s=new Gr([],!0)}for(i=s?i:r;++i1&&v.reverse(),A&&cs))return!1;var u=o.get(e),f=o.get(t);if(u&&f)return u==t&&f==e;var A=-1,d=!0,p=2&r?new Qr:a;for(o.set(e,t),o.set(t,e);++A-1&&e%1==0&&e1?"& ":"")+t[a],t=t.join(r>2?", ":" "),e.replace(le,"{\n/* [wrapped with "+t+"] */\n")}(a,function(e,t){return Tt(b,(function(r){var a="_."+r[0];t&r[1]&&!Mt(e,a)&&e.push(a)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ce):[]}(a),r)))}function Ri(e){var t=0,r=0;return function(){var n=yr(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(a,arguments)}}function Pi(e,t){var r=-1,n=e.length,i=n-1;for(t=t===a?n:t;++r1?e[t-1]:a;return r="function"==typeof r?(e.pop(),r):a,io(e,r)}));function Ao(e){var t=Nr(e);return t.__chain__=!0,t}function po(e,t){return t(e)}var ho=ai((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,i=function(t){return oa(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Hr&&vi(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:po,args:[i],thisArg:a}),new Gr(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(a),e}))):this.thru(i)}));var bo=Mn((function(e,t,r){Le.call(e,r)?++e[r]:ia(e,r,1)}));var go=Fn(Gi),mo=Fn(Hi);function vo(e,t){return(Wo(e)?Tt:Aa)(e,ci(t,3))}function yo(e,t){return(Wo(e)?Ot:da)(e,ci(t,3))}var wo=Mn((function(e,t,r){Le.call(e,r)?e[r].push(t):ia(e,r,[t])}));var ko=qa((function(e,t,r){var a=-1,n="function"==typeof t,i=Yo(e)?oe(e.length):[];return Aa(e,(function(e){i[++a]=n?Ct(t,e,r):Sa(e,t,r)})),i})),xo=Mn((function(e,t,r){ia(e,r,t)}));function Eo(e,t){return(Wo(e)?Rt:Fa)(e,ci(t,3))}var _o=Mn((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]}));var Co=qa((function(e,t){if(null==e)return[];var r=t.length;return r>1&&yi(e,t[0],t[1])?t=[]:r>2&&yi(t[0],t[1],t[2])&&(t=[t[0]]),Ha(e,ga(t,1),[])})),$o=At||function(){return pt.Date.now()};function To(e,t,r){return t=r?a:t,t=e&&null==t?e.length:t,Jn(e,u,a,a,a,a,t)}function Oo(e,t){var r;if("function"!=typeof t)throw new Se(n);return e=hl(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=a),r}}var So=qa((function(e,t,r){var a=1;if(r.length){var n=cr(r,si(So));a|=s}return Jn(e,a,t,r,n)})),Io=qa((function(e,t,r){var a=3;if(r.length){var n=cr(r,si(Io));a|=s}return Jn(t,a,e,r,n)}));function Mo(e,t,r){var i,o,l,s,c,u,f=0,A=!1,d=!1,p=!0;if("function"!=typeof e)throw new Se(n);function h(t){var r=i,n=o;return i=o=a,f=t,s=e.apply(n,r)}function b(e){var r=e-u;return u===a||r>=t||r<0||d&&e-f>=l}function g(){var e=$o();if(b(e))return m(e);c=Ii(g,function(e){var r=t-(e-u);return d?vr(r,l-(e-f)):r}(e))}function m(e){return c=a,p&&i?h(e):(i=o=a,s)}function v(){var e=$o(),r=b(e);if(i=arguments,o=this,u=e,r){if(c===a)return function(e){return f=e,c=Ii(g,t),A?h(e):s}(u);if(d)return xn(c),c=Ii(g,t),h(u)}return c===a&&(c=Ii(g,t)),s}return t=gl(t)||0,tl(r)&&(A=!!r.leading,l=(d="maxWait"in r)?mr(gl(r.maxWait)||0,t):l,p="trailing"in r?!!r.trailing:p),v.cancel=function(){c!==a&&xn(c),f=0,i=u=o=c=a},v.flush=function(){return c===a?s:m($o())},v}var Bo=qa((function(e,t){return ua(e,1,t)})),Ro=qa((function(e,t,r){return ua(e,gl(t)||0,r)}));function Po(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Se(n);var r=function(){var a=arguments,n=t?t.apply(this,a):a[0],i=r.cache;if(i.has(n))return i.get(n);var o=e.apply(this,a);return r.cache=i.set(n,o)||i,o};return r.cache=new(Po.Cache||Yr),r}function Lo(e){if("function"!=typeof e)throw new Se(n);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Po.Cache=Yr;var Do=wn((function(e,t){var r=(t=1==t.length&&Wo(t[0])?Rt(t[0],Jt(ci())):Rt(ga(t,1),Jt(ci()))).length;return qa((function(a){for(var n=-1,i=vr(a.length,r);++n=t})),Ho=Ia(function(){return arguments}())?Ia:function(e){return rl(e)&&Le.call(e,"callee")&&!Ue.call(e,"callee")},Wo=oe.isArray,Zo=yt?Jt(yt):function(e){return rl(e)&&_a(e)==B};function Yo(e){return null!=e&&el(e.length)&&!Jo(e)}function Qo(e){return rl(e)&&Yo(e)}var Uo=vt||gs,qo=wt?Jt(wt):function(e){return rl(e)&&_a(e)==y};function Xo(e){if(!rl(e))return!1;var t=_a(e);return t==w||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!il(e)}function Jo(e){if(!tl(e))return!1;var t=_a(e);return t==k||t==x||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ko(e){return"number"==typeof e&&e==hl(e)}function el(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function tl(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function rl(e){return null!=e&&"object"==typeof e}var al=kt?Jt(kt):function(e){return rl(e)&&hi(e)==E};function nl(e){return"number"==typeof e||rl(e)&&_a(e)==_}function il(e){if(!rl(e)||_a(e)!=C)return!1;var t=Ye(e);if(null===t)return!0;var r=Le.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Pe.call(r)==Ne}var ol=xt?Jt(xt):function(e){return rl(e)&&_a(e)==T};var ll=Et?Jt(Et):function(e){return rl(e)&&hi(e)==O};function sl(e){return"string"==typeof e||!Wo(e)&&rl(e)&&_a(e)==S}function cl(e){return"symbol"==typeof e||rl(e)&&_a(e)==I}var ul=_t?Jt(_t):function(e){return rl(e)&&el(e.length)&&!!lt[_a(e)]};var fl=Yn(za),Al=Yn((function(e,t){return e<=t}));function dl(e){if(!e)return[];if(Yo(e))return sl(e)?dr(e):Sn(e);if(Je&&e[Je])return function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[Je]());var t=hi(e);return(t==E?lr:t==O?ur:jl)(e)}function pl(e){return e?(e=gl(e))===A||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function hl(e){var t=pl(e),r=t%1;return t==t?r?t-r:t:0}function bl(e){return e?la(hl(e),0,h):0}function gl(e){if("number"==typeof e)return e;if(cl(e))return p;if(tl(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=tl(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Xt(e);var r=be.test(e);return r||me.test(e)?ft(e.slice(2),r?2:8):he.test(e)?p:+e}function ml(e){return In(e,Bl(e))}function vl(e){return null==e?"":un(e)}var yl=Bn((function(e,t){if(Ei(t)||Yo(t))In(t,Ml(t),e);else for(var r in t)Le.call(t,r)&&ta(e,r,t[r])})),wl=Bn((function(e,t){In(t,Bl(t),e)})),kl=Bn((function(e,t,r,a){In(t,Bl(t),e,a)})),xl=Bn((function(e,t,r,a){In(t,Ml(t),e,a)})),El=ai(oa);var _l=qa((function(e,t){e=$e(e);var r=-1,n=t.length,i=n>2?t[2]:a;for(i&&yi(t[0],t[1],i)&&(n=1);++r1),t})),In(e,ii(e),r),a&&(r=sa(r,7,ti));for(var n=t.length;n--;)An(r,t[n]);return r}));var Dl=ai((function(e,t){return null==e?{}:function(e,t){return Wa(e,t,(function(t,r){return Tl(e,r)}))}(e,t)}));function zl(e,t){if(null==e)return{};var r=Rt(ii(e),(function(e){return[e]}));return t=ci(t),Wa(e,r,(function(e,r){return t(e,r[0])}))}var Fl=Xn(Ml),Nl=Xn(Bl);function jl(e){return null==e?[]:Kt(e,Ml(e))}var Vl=Dn((function(e,t,r){return t=t.toLowerCase(),e+(r?Gl(t):t)}));function Gl(e){return Xl(vl(e).toLowerCase())}function Hl(e){return(e=vl(e))&&e.replace(ye,ar).replace(et,"")}var Wl=Dn((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),Zl=Dn((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),Yl=Ln("toLowerCase");var Ql=Dn((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));var Ul=Dn((function(e,t,r){return e+(r?" ":"")+Xl(t)}));var ql=Dn((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Xl=Ln("toUpperCase");function Jl(e,t,r){return e=vl(e),(t=r?a:t)===a?function(e){return nt.test(e)}(e)?function(e){return e.match(rt)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var Kl=qa((function(t,r){try{return Ct(t,a,r)}catch(e){return Xo(e)?e:new Ee(e)}})),es=ai((function(e,t){return Tt(t,(function(t){t=Di(t),ia(e,t,So(e[t],e))})),e}));function ts(e){return function(){return e}}var rs=Nn(),as=Nn(!0);function ns(e){return e}function is(e){return Pa("function"==typeof e?e:sa(e,1))}var os=qa((function(e,t){return function(r){return Sa(r,e,t)}})),ls=qa((function(e,t){return function(r){return Sa(e,r,t)}}));function ss(e,t,r){var a=Ml(t),n=ka(t,a);null!=r||tl(t)&&(n.length||!a.length)||(r=t,t=e,e=this,n=ka(t,Ml(t)));var i=!(tl(r)&&"chain"in r&&!r.chain),o=Jo(e);return Tt(n,(function(r){var a=t[r];e[r]=a,o&&(e.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=e(this.__wrapped__);return(r.__actions__=Sn(this.__actions__)).push({func:a,args:arguments,thisArg:e}),r.__chain__=t,r}return a.apply(e,Pt([this.value()],arguments))})})),e}function cs(){}var us=Hn(Rt),fs=Hn(St),As=Hn(zt);function ds(e){return wi(e)?Zt(Di(e)):function(e){return function(t){return xa(t,e)}}(e)}var ps=Zn(),hs=Zn(!0);function bs(){return[]}function gs(){return!1}var ms=Gn((function(e,t){return e+t}),0),vs=Un("ceil"),ys=Gn((function(e,t){return e/t}),1),ws=Un("floor");var ks,xs=Gn((function(e,t){return e*t}),1),Es=Un("round"),_s=Gn((function(e,t){return e-t}),0);return Nr.after=function(e,t){if("function"!=typeof t)throw new Se(n);return e=hl(e),function(){if(--e<1)return t.apply(this,arguments)}},Nr.ary=To,Nr.assign=yl,Nr.assignIn=wl,Nr.assignInWith=kl,Nr.assignWith=xl,Nr.at=El,Nr.before=Oo,Nr.bind=So,Nr.bindAll=es,Nr.bindKey=Io,Nr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Wo(e)?e:[e]},Nr.chain=Ao,Nr.chunk=function(e,t,r){t=(r?yi(e,t,r):t===a)?1:mr(hl(t),0);var n=null==e?0:e.length;if(!n||t<1)return[];for(var i=0,o=0,l=oe(ht(n/t));ii?0:i+r),(n=n===a||n>i?i:hl(n))<0&&(n+=i),n=r>n?0:bl(n);r>>0)?(e=vl(e))&&("string"==typeof t||null!=t&&!ol(t))&&!(t=un(t))&&or(e)?kn(dr(e),0,r):e.split(t,r):[]},Nr.spread=function(e,t){if("function"!=typeof e)throw new Se(n);return t=null==t?0:mr(hl(t),0),qa((function(r){var a=r[t],n=kn(r,0,t);return a&&Pt(n,a),Ct(e,this,n)}))},Nr.tail=function(e){var t=null==e?0:e.length;return t?an(e,1,t):[]},Nr.take=function(e,t,r){return e&&e.length?an(e,0,(t=r||t===a?1:hl(t))<0?0:t):[]},Nr.takeRight=function(e,t,r){var n=null==e?0:e.length;return n?an(e,(t=n-(t=r||t===a?1:hl(t)))<0?0:t,n):[]},Nr.takeRightWhile=function(e,t){return e&&e.length?pn(e,ci(t,3),!1,!0):[]},Nr.takeWhile=function(e,t){return e&&e.length?pn(e,ci(t,3)):[]},Nr.tap=function(e,t){return t(e),e},Nr.throttle=function(e,t,r){var a=!0,i=!0;if("function"!=typeof e)throw new Se(n);return tl(r)&&(a="leading"in r?!!r.leading:a,i="trailing"in r?!!r.trailing:i),Mo(e,t,{leading:a,maxWait:t,trailing:i})},Nr.thru=po,Nr.toArray=dl,Nr.toPairs=Fl,Nr.toPairsIn=Nl,Nr.toPath=function(e){return Wo(e)?Rt(e,Di):cl(e)?[e]:Sn(Li(vl(e)))},Nr.toPlainObject=ml,Nr.transform=function(e,t,r){var a=Wo(e),n=a||Uo(e)||ul(e);if(t=ci(t,4),null==r){var i=e&&e.constructor;r=n?a?new i:[]:tl(e)&&Jo(i)?jr(Ye(e)):{}}return(n?Tt:ya)(e,(function(e,a,n){return t(r,e,a,n)})),r},Nr.unary=function(e){return To(e,1)},Nr.union=to,Nr.unionBy=ro,Nr.unionWith=ao,Nr.uniq=function(e){return e&&e.length?fn(e):[]},Nr.uniqBy=function(e,t){return e&&e.length?fn(e,ci(t,2)):[]},Nr.uniqWith=function(e,t){return t="function"==typeof t?t:a,e&&e.length?fn(e,a,t):[]},Nr.unset=function(e,t){return null==e||An(e,t)},Nr.unzip=no,Nr.unzipWith=io,Nr.update=function(e,t,r){return null==e?e:dn(e,t,vn(r))},Nr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:a,null==e?e:dn(e,t,vn(r),n)},Nr.values=jl,Nr.valuesIn=function(e){return null==e?[]:Kt(e,Bl(e))},Nr.without=oo,Nr.words=Jl,Nr.wrap=function(e,t){return zo(vn(t),e)},Nr.xor=lo,Nr.xorBy=so,Nr.xorWith=co,Nr.zip=uo,Nr.zipObject=function(e,t){return gn(e||[],t||[],ta)},Nr.zipObjectDeep=function(e,t){return gn(e||[],t||[],Ka)},Nr.zipWith=fo,Nr.entries=Fl,Nr.entriesIn=Nl,Nr.extend=wl,Nr.extendWith=kl,ss(Nr,Nr),Nr.add=ms,Nr.attempt=Kl,Nr.camelCase=Vl,Nr.capitalize=Gl,Nr.ceil=vs,Nr.clamp=function(e,t,r){return r===a&&(r=t,t=a),r!==a&&(r=(r=gl(r))==r?r:0),t!==a&&(t=(t=gl(t))==t?t:0),la(gl(e),t,r)},Nr.clone=function(e){return sa(e,4)},Nr.cloneDeep=function(e){return sa(e,5)},Nr.cloneDeepWith=function(e,t){return sa(e,5,t="function"==typeof t?t:a)},Nr.cloneWith=function(e,t){return sa(e,4,t="function"==typeof t?t:a)},Nr.conformsTo=function(e,t){return null==t||ca(e,t,Ml(t))},Nr.deburr=Hl,Nr.defaultTo=function(e,t){return null==e||e!=e?t:e},Nr.divide=ys,Nr.endsWith=function(e,t,r){e=vl(e),t=un(t);var n=e.length,i=r=r===a?n:la(hl(r),0,n);return(r-=t.length)>=0&&e.slice(r,i)==t},Nr.eq=jo,Nr.escape=function(e){return(e=vl(e))&&q.test(e)?e.replace(Q,nr):e},Nr.escapeRegExp=function(e){return(e=vl(e))&&ne.test(e)?e.replace(ae,"\\$&"):e},Nr.every=function(e,t,r){var n=Wo(e)?St:pa;return r&&yi(e,t,r)&&(t=a),n(e,ci(t,3))},Nr.find=go,Nr.findIndex=Gi,Nr.findKey=function(e,t){return Nt(e,ci(t,3),ya)},Nr.findLast=mo,Nr.findLastIndex=Hi,Nr.findLastKey=function(e,t){return Nt(e,ci(t,3),wa)},Nr.floor=ws,Nr.forEach=vo,Nr.forEachRight=yo,Nr.forIn=function(e,t){return null==e?e:ma(e,ci(t,3),Bl)},Nr.forInRight=function(e,t){return null==e?e:va(e,ci(t,3),Bl)},Nr.forOwn=function(e,t){return e&&ya(e,ci(t,3))},Nr.forOwnRight=function(e,t){return e&&wa(e,ci(t,3))},Nr.get=$l,Nr.gt=Vo,Nr.gte=Go,Nr.has=function(e,t){return null!=e&&bi(e,t,$a)},Nr.hasIn=Tl,Nr.head=Zi,Nr.identity=ns,Nr.includes=function(e,t,r,a){e=Yo(e)?e:jl(e),r=r&&!a?hl(r):0;var n=e.length;return r<0&&(r=mr(n+r,0)),sl(e)?r<=n&&e.indexOf(t,r)>-1:!!n&&Vt(e,t,r)>-1},Nr.indexOf=function(e,t,r){var a=null==e?0:e.length;if(!a)return-1;var n=null==r?0:hl(r);return n<0&&(n=mr(a+n,0)),Vt(e,t,n)},Nr.inRange=function(e,t,r){return t=pl(t),r===a?(r=t,t=0):r=pl(r),function(e,t,r){return e>=vr(t,r)&&e=-9007199254740991&&e<=d},Nr.isSet=ll,Nr.isString=sl,Nr.isSymbol=cl,Nr.isTypedArray=ul,Nr.isUndefined=function(e){return e===a},Nr.isWeakMap=function(e){return rl(e)&&hi(e)==M},Nr.isWeakSet=function(e){return rl(e)&&"[object WeakSet]"==_a(e)},Nr.join=function(e,t){return null==e?"":Yt.call(e,t)},Nr.kebabCase=Wl,Nr.last=qi,Nr.lastIndexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=n;return r!==a&&(i=(i=hl(r))<0?mr(n+i,0):vr(i,n-1)),t==t?function(e,t,r){for(var a=r+1;a--;)if(e[a]===t)return a;return a}(e,t,i):jt(e,Ht,i,!0)},Nr.lowerCase=Zl,Nr.lowerFirst=Yl,Nr.lt=fl,Nr.lte=Al,Nr.max=function(e){return e&&e.length?ha(e,ns,Ca):a},Nr.maxBy=function(e,t){return e&&e.length?ha(e,ci(t,2),Ca):a},Nr.mean=function(e){return Wt(e,ns)},Nr.meanBy=function(e,t){return Wt(e,ci(t,2))},Nr.min=function(e){return e&&e.length?ha(e,ns,za):a},Nr.minBy=function(e,t){return e&&e.length?ha(e,ci(t,2),za):a},Nr.stubArray=bs,Nr.stubFalse=gs,Nr.stubObject=function(){return{}},Nr.stubString=function(){return""},Nr.stubTrue=function(){return!0},Nr.multiply=xs,Nr.nth=function(e,t){return e&&e.length?Ga(e,hl(t)):a},Nr.noConflict=function(){return pt._===this&&(pt._=je),this},Nr.noop=cs,Nr.now=$o,Nr.pad=function(e,t,r){e=vl(e);var a=(t=hl(t))?Ar(e):0;if(!t||a>=t)return e;var n=(t-a)/2;return Wn(bt(n),r)+e+Wn(ht(n),r)},Nr.padEnd=function(e,t,r){e=vl(e);var a=(t=hl(t))?Ar(e):0;return t&&at){var n=e;e=t,t=n}if(r||e%1||t%1){var i=kr();return vr(e+i*(t-e+ut("1e-"+((i+"").length-1))),t)}return Qa(e,t)},Nr.reduce=function(e,t,r){var a=Wo(e)?Lt:Qt,n=arguments.length<3;return a(e,ci(t,4),r,n,Aa)},Nr.reduceRight=function(e,t,r){var a=Wo(e)?Dt:Qt,n=arguments.length<3;return a(e,ci(t,4),r,n,da)},Nr.repeat=function(e,t,r){return t=(r?yi(e,t,r):t===a)?1:hl(t),Ua(vl(e),t)},Nr.replace=function(){var e=arguments,t=vl(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Nr.result=function(e,t,r){var n=-1,i=(t=yn(t,e)).length;for(i||(i=1,e=a);++nd)return[];var r=h,a=vr(e,h);t=ci(t),e-=h;for(var n=qt(a,t);++r=o)return e;var s=r-Ar(n);if(s<1)return n;var c=l?kn(l,0,s).join(""):e.slice(0,s);if(i===a)return c+n;if(l&&(s+=c.length-s),ol(i)){if(e.slice(s).search(i)){var u,f=c;for(i.global||(i=Te(i.source,vl(pe.exec(i))+"g")),i.lastIndex=0;u=i.exec(f);)var A=u.index;c=c.slice(0,A===a?s:A)}}else if(e.indexOf(un(i),s)!=s){var d=c.lastIndexOf(i);d>-1&&(c=c.slice(0,d))}return c+n},Nr.unescape=function(e){return(e=vl(e))&&U.test(e)?e.replace(Y,hr):e},Nr.uniqueId=function(e){var t=++De;return vl(e)+t},Nr.upperCase=ql,Nr.upperFirst=Xl,Nr.each=vo,Nr.eachRight=yo,Nr.first=Zi,ss(Nr,(ks={},ya(Nr,(function(e,t){Le.call(Nr.prototype,t)||(ks[t]=e)})),ks),{chain:!1}),Nr.VERSION="4.17.21",Tt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Nr[e].placeholder=Nr})),Tt(["drop","take"],(function(e,t){Hr.prototype[e]=function(r){r=r===a?1:mr(hl(r),0);var n=this.__filtered__&&!t?new Hr(this):this.clone();return n.__filtered__?n.__takeCount__=vr(r,n.__takeCount__):n.__views__.push({size:vr(r,h),type:e+(n.__dir__<0?"Right":"")}),n},Hr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Tt(["filter","map","takeWhile"],(function(e,t){var r=t+1,a=1==r||3==r;Hr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ci(e,3),type:r}),t.__filtered__=t.__filtered__||a,t}})),Tt(["head","last"],(function(e,t){var r="take"+(t?"Right":"");Hr.prototype[e]=function(){return this[r](1).value()[0]}})),Tt(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Hr.prototype[e]=function(){return this.__filtered__?new Hr(this):this[r](1)}})),Hr.prototype.compact=function(){return this.filter(ns)},Hr.prototype.find=function(e){return this.filter(e).head()},Hr.prototype.findLast=function(e){return this.reverse().find(e)},Hr.prototype.invokeMap=qa((function(e,t){return"function"==typeof e?new Hr(this):this.map((function(r){return Sa(r,e,t)}))})),Hr.prototype.reject=function(e){return this.filter(Lo(ci(e)))},Hr.prototype.slice=function(e,t){e=hl(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Hr(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==a&&(r=(t=hl(t))<0?r.dropRight(-t):r.take(t-e)),r)},Hr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Hr.prototype.toArray=function(){return this.take(h)},ya(Hr.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),i=Nr[n?"take"+("last"==t?"Right":""):t],o=n||/^find/.test(t);i&&(Nr.prototype[t]=function(){var t=this.__wrapped__,l=n?[1]:arguments,s=t instanceof Hr,c=l[0],u=s||Wo(t),f=function(e){var t=i.apply(Nr,Pt([e],l));return n&&A?t[0]:t};u&&r&&"function"==typeof c&&1!=c.length&&(s=u=!1);var A=this.__chain__,d=!!this.__actions__.length,p=o&&!A,h=s&&!d;if(!o&&u){t=h?t:new Hr(this);var b=e.apply(t,l);return b.__actions__.push({func:po,args:[f],thisArg:a}),new Gr(b,A)}return p&&h?e.apply(this,l):(b=this.thru(f),p?n?b.value()[0]:b.value():b)})})),Tt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ie[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",a=/^(?:pop|shift)$/.test(e);Nr.prototype[e]=function(){var e=arguments;if(a&&!this.__chain__){var n=this.value();return t.apply(Wo(n)?n:[],e)}return this[r]((function(r){return t.apply(Wo(r)?r:[],e)}))}})),ya(Hr.prototype,(function(e,t){var r=Nr[t];if(r){var a=r.name+"";Le.call(Ir,a)||(Ir[a]=[]),Ir[a].push({name:t,func:r})}})),Ir[jn(a,2).name]=[{name:"wrapper",func:a}],Hr.prototype.clone=function(){var e=new Hr(this.__wrapped__);return e.__actions__=Sn(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Sn(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Sn(this.__views__),e},Hr.prototype.reverse=function(){if(this.__filtered__){var e=new Hr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Hr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=Wo(e),a=t<0,n=r?e.length:0,i=function(e,t,r){var a=-1,n=r.length;for(;++a=this.__values__.length;return{done:e,value:e?a:this.__values__[this.__index__++]}},Nr.prototype.plant=function(e){for(var t,r=this;r instanceof Vr;){var n=Fi(r);n.__index__=0,n.__values__=a,t?i.__wrapped__=n:t=n;var i=n;r=r.__wrapped__}return i.__wrapped__=e,t},Nr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Hr){var t=e;return this.__actions__.length&&(t=new Hr(this)),(t=t.reverse()).__actions__.push({func:po,args:[eo],thisArg:a}),new Gr(t,this.__chain__)}return this.thru(eo)},Nr.prototype.toJSON=Nr.prototype.valueOf=Nr.prototype.value=function(){return hn(this.__wrapped__,this.__actions__)},Nr.prototype.first=Nr.prototype.head,Je&&(Nr.prototype[Je]=function(){return this}),Nr}();bt?((bt.exports=br)._=br,ht._=br):pt._=br}).call(commonjsGlobal)}(lodash,lodashExports);const _=lodashExports;function linkId(e){const{source:t,target:r}=e;return`${"string"==typeof t?t:t.id}=>${"string"==typeof r?r:r.id}`}class ForceGraphArrowLink extends reactExports.PureComponent{render(){const{link:e,targetRadius:t,edgeOffset:r,...a}=this.props,n=`arrow-${linkId(e)}`;return jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("defs",{children:jsxRuntimeExports.jsx("marker",{id:n,markerWidth:6,markerHeight:4,refX:5+(t||0),refY:2,orient:"auto",markerUnits:"strokeWidth",children:Number(t)>0&&jsxRuntimeExports.jsx("path",{d:"M0,0 L0,4 L6,2 z",fill:a.stroke||a.color})})}),jsxRuntimeExports.jsx(reactVisForceExports.ForceGraphLink,{...a,link:e,markerEnd:`url(#${n})`})]})}}ForceGraphArrowLink.defaultProps={className:"",edgeOffset:2,opacity:.6,stroke:"#999",strokeWidth:1,targetRadius:2};const nodesPropTypes=propTypesExports.arrayOf(propTypesExports.shape({id:propTypesExports.string.isRequired,radius:propTypesExports.number.isRequired})),linksPropTypes=propTypesExports.arrayOf(propTypesExports.shape({source:propTypesExports.string.isRequired,target:propTypesExports.string.isRequired,target_node_size:propTypesExports.number,value:propTypesExports.number.isRequired})),chargeStrength=({radius:e=5,orphan:t})=>t?-20*e:-12*e;class DependencyForceGraph extends reactExports.Component{constructor(e){super(e),this.state={width:window_1.window.innerWidth,height:window_1.window.innerHeight}}componentDidMount(){this.onResize(),this.debouncedResize=lodashExports.debounce(((...e)=>this.onResize(...e)),50),window_1.window.addEventListener("resize",this.debouncedResize)}componentWillUnmount(){window_1.window.removeEventListener("resize",this.debouncedResize)}onResize(){const e=window_1.window.innerWidth;let t=window_1.window.innerHeight;this.container&&(t-=this.container.offsetTop),this.setState({width:e,height:t})}render(){const{nodes:e,links:t}=this.props,{width:r,height:a}=this.state,n=new Map(e.map((e=>[e.id,e])));return jsxRuntimeExports.jsx("div",{ref:e=>{this.container=e},style:{position:"relative"},children:jsxRuntimeExports.jsxs(reactVisForceExports.InteractiveForceGraph,{zoom:!0,minScale:.5,maxScale:4,panLimit:2,simulationOptions:{width:r,height:a,strength:{charge:chargeStrength,x:r/a>1?.1:.12,y:r/a<1?.1:.12}},labelOffset:{x:({radius:e})=>e+2,y:({radius:e})=>e/2},nodeAttrs:["orphan"],highlightDependencies:!0,children:[e.map((({labelStyle:e,labelClass:t,showLabel:r,opacity:a,fill:n,...i})=>jsxRuntimeExports.jsx(reactVisForceExports.ForceGraphNode,{node:i,labelStyle:e,labelClass:t,showLabel:r,opacity:a,fill:n},i.id))),t.map((({opacity:e,...t})=>jsxRuntimeExports.jsx(ForceGraphArrowLink,{opacity:e,link:t,targetRadius:n.get(t.target).radius},`${t.source}=>${t.target}`)))]})})}}_defineProperty3(DependencyForceGraph,"propTypes",{nodes:nodesPropTypes.isRequired,links:linksPropTypes.isRequired});const LoadingIndicator$1="";function LoadingIndicator(e){const{centered:t,vcentered:r,className:a,small:n,...i}=e,o=`\n LoadingIndicator\n ${t?"is-centered":""}\n ${r?"is-vcentered":""}\n ${n?"is-small":""}\n ${a||""}\n `;return jsxRuntimeExports.jsx(Icon$1,{type:"loading",className:o,...i})}LoadingIndicator.defaultProps={centered:!1,className:void 0,small:!1};const isFunction$3=function(e){return"function"==typeof e},isEmpty$1=function(e){return 0===e.length},toString$1=function(e){return e.toString()},isString=function(e){return"string"==typeof e};var DEFAULT_NAMESPACE="/",ACTION_TYPE_DELIMITER="||";const identity$6=function(e){return e},isNull$1=function(e){return null===e};function createAction(e,t,r){void 0===t&&(t=identity$6),browser(isFunction$3(t)||isNull$1(t),"Expected payloadCreator to be a function, undefined or null");var a=isNull$1(t)||t===identity$6?identity$6:function(e){for(var r=arguments.length,a=new Array(r>1?r-1:0),n=1;n1?t-1:0),a=1;a2?r-2:0),o=2;o-1};function normalizeName(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function normalizeValue(e){return"string"!=typeof e&&(e=String(e)),e}function iteratorFor(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return support.iterable&&(t[Symbol.iterator]=function(){return t}),t}function Headers$1(e){this.map={},e instanceof Headers$1?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function consumed(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function fileReaderReady(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function readBlobAsArrayBuffer(e){var t=new FileReader,r=fileReaderReady(t);return t.readAsArrayBuffer(e),r}function readBlobAsText(e){var t=new FileReader,r=fileReaderReady(t);return t.readAsText(e),r}function readArrayBufferAsText(e){for(var t=new Uint8Array(e),r=new Array(t.length),a=0;a-1?t:e}function Request$1(e,t){if(!(this instanceof Request$1))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r=(t=t||{}).body;if(e instanceof Request$1){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new Headers$1(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,r||null==e._bodyInit||(r=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new Headers$1(t.headers)),this.method=normalizeMethod(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(r),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var a=/([?&])_=[^&]*/;if(a.test(this.url))this.url=this.url.replace(a,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function decode$1(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),a=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(a),decodeURIComponent(n))}})),t}function parseHeaders(e){var t=new Headers$1;return e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var r=e.split(":"),a=r.shift().trim();if(a){var n=r.join(":").trim();t.append(a,n)}})),t}function Response$1(e,t){if(!(this instanceof Response$1))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new Headers$1(t.headers),this.url=t.url||"",this._initBody(e)}Request$1.prototype.clone=function(){return new Request$1(this,{body:this._bodyInit})},Body.call(Request$1.prototype),Body.call(Response$1.prototype),Response$1.prototype.clone=function(){return new Response$1(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers$1(this.headers),url:this.url})},Response$1.error=function(){var e=new Response$1(null,{status:0,statusText:""});return e.type="error",e};var redirectStatuses=[301,302,303,307,308];Response$1.redirect=function(e,t){if(-1===redirectStatuses.indexOf(t))throw new RangeError("Invalid status code");return new Response$1(null,{status:t,headers:{location:e}})};var DOMException$1=global$6.DOMException;try{new DOMException$1}catch(err){DOMException$1=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},DOMException$1.prototype=Object.create(Error.prototype),DOMException$1.prototype.constructor=DOMException$1}function fetch$1(t,r){return new Promise((function(a,n){var i=new Request$1(t,r);if(i.signal&&i.signal.aborted)return n(new DOMException$1("Aborted","AbortError"));var o=new XMLHttpRequest;function l(){o.abort()}o.onload=function(){var e={status:o.status,statusText:o.statusText,headers:parseHeaders(o.getAllResponseHeaders()||"")};e.url="responseURL"in o?o.responseURL:e.headers.get("X-Request-URL");var t="response"in o?o.response:o.responseText;setTimeout((function(){a(new Response$1(t,e))}),0)},o.onerror=function(){setTimeout((function(){n(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){n(new TypeError("Network request failed"))}),0)},o.onabort=function(){setTimeout((function(){n(new DOMException$1("Aborted","AbortError"))}),0)},o.open(i.method,function(t){try{return""===t&&global$6.location.href?global$6.location.href:t}catch(e){return t}}(i.url),!0),"include"===i.credentials?o.withCredentials=!0:"omit"===i.credentials&&(o.withCredentials=!1),"responseType"in o&&(support.blob?o.responseType="blob":support.arrayBuffer&&i.headers.get("Content-Type")&&-1!==i.headers.get("Content-Type").indexOf("application/octet-stream")&&(o.responseType="arraybuffer")),!r||"object"!=typeof r.headers||r.headers instanceof Headers$1?i.headers.forEach((function(e,t){o.setRequestHeader(t,e)})):Object.getOwnPropertyNames(r.headers).forEach((function(e){o.setRequestHeader(e,normalizeValue(r.headers[e]))})),i.signal&&(i.signal.addEventListener("abort",l),o.onreadystatechange=function(){4===o.readyState&&i.signal.removeEventListener("abort",l)}),o.send(void 0===i._bodyInit?null:i._bodyInit)}))}fetch$1.polyfill=!0,global$6.fetch||(global$6.fetch=fetch$1,global$6.Headers=Headers$1,global$6.Request=Request$1,global$6.Response=Response$1);var fetchNpmBrowserify=self.fetch.bind(self);function getMessageFromError(e,t){if(null!=e.code&&null!=e.msg)return e.code===t?e.msg:`${e.code} - ${e.msg}`;try{return JSON.stringify(e)}catch(_){return String(e)}}function getJSON(e,t={}){const{query:r=null,...a}=t;a.credentials="same-origin";let n="";return r&&(n=`?${"string"==typeof r?r:queryString.stringify(r)}`),fetchNpmBrowserify(`${e}${n}`,a).then((t=>t.status<400?t.json():t.text().then((a=>{let n,i,o;try{n=JSON.parse(a),i=JSON.stringify(n,null,2)}catch(_){n=null,i=null}o=n&&Array.isArray(n.errors)&&n.errors.length?n.errors.map((e=>getMessageFromError(e,t.status))).join("; "):a||`${t.status} - ${t.statusText}`,"string"==typeof o&&(o=o.trim());const l=new Error(`HTTP Error: ${o}`);throw l.httpStatus=t.status,l.httpStatusText=t.statusText,l.httpBody=i||a,l.httpUrl=e,l.httpQuery="string"==typeof r?r:queryString.stringify(r),l}))))}const DEFAULT_API_ROOT=isString$6(window.apiBaseUrl)?`${window.apiBaseUrl}/api/`:prefixUrl("/api/"),ANALYTICS_ROOT=prefixUrl("/analytics/"),DEFAULT_DEPENDENCY_LOOKBACK=hooks$1.duration(1,"weeks").asMilliseconds(),JaegerAPI={apiRoot:DEFAULT_API_ROOT,archiveTrace(e){return getJSON(`${this.apiRoot}archive/${e}`,{method:"POST"})},fetchDecoration:e=>getJSON(e),fetchDeepDependencyGraph:e=>getJSON(`${ANALYTICS_ROOT}v1/dependencies`,{query:e}),fetchDependencies(e=(new Date).getTime(),t=DEFAULT_DEPENDENCY_LOOKBACK){return getJSON(`${this.apiRoot}dependencies`,{query:{endTs:e,lookback:t}})},fetchQualityMetrics:(e,t)=>getJSON("/qualitymetrics-v2",{query:{hours:t,service:e}}),fetchServiceOperations(e){return getJSON(`${this.apiRoot}services/${encodeURIComponent(e)}/operations`)},fetchServiceServerOps(e){return getJSON(`${this.apiRoot}operations`,{query:{service:e,spanKind:"server"}})},fetchServices(){return getJSON(`${this.apiRoot}services`)},fetchTrace(e){return getJSON(`${this.apiRoot}traces/${e}`)},searchTraces(e){return getJSON(`${this.apiRoot}traces`,{query:e})},fetchMetrics(e,t,r){const a=t.map((e=>`service=${e}`)).join(",");return getJSON(`${this.apiRoot}metrics/${e}`,{query:`${a}&${queryString.stringify(r)}`}).then((e=>({...e,quantile:r.quantile})))}},metricType={latencies:"latencies",calls:"calls",errors:"errors"};function allSettled(e){const t=e.map((e=>Promise.resolve(e).then((e=>({status:"fulfilled",value:e})),(e=>({status:"rejected",reason:e})))));return Promise.all(t)}const fetchTrace=createAction("@JAEGER_API/FETCH_TRACE",(e=>JaegerAPI.fetchTrace(e)),(e=>({id:e}))),fetchMultipleTraces=createAction("@JAEGER_API/FETCH_MULTIPLE_TRACES",(e=>JaegerAPI.searchTraces({traceID:e})),(e=>({ids:e}))),archiveTrace=createAction("@JAEGER_API/ARCHIVE_TRACE",(e=>JaegerAPI.archiveTrace(e)),(e=>({id:e}))),searchTraces=createAction("@JAEGER_API/SEARCH_TRACES",(e=>JaegerAPI.searchTraces(e)),(e=>({query:e}))),fetchServices=createAction("@JAEGER_API/FETCH_SERVICES",(()=>JaegerAPI.fetchServices())),fetchServiceOperations=createAction("@JAEGER_API/FETCH_SERVICE_OPERATIONS",(e=>JaegerAPI.fetchServiceOperations(e)),(e=>({serviceName:e}))),fetchServiceServerOps=createAction("@JAEGER_API/FETCH_SERVICE_SERVER_OP",(e=>JaegerAPI.fetchServiceServerOps(e)),(e=>({serviceName:e}))),fetchDeepDependencyGraph=createAction("@JAEGER_API/FETCH_DEEP_DEPENDENCY_GRAPH",(e=>JaegerAPI.fetchDeepDependencyGraph(e)),(e=>({query:e}))),fetchDependencies=createAction("@JAEGER_API/FETCH_DEPENDENCIES",(()=>JaegerAPI.fetchDependencies())),fetchAllServiceMetrics=createAction("@JAEGER_API/FETCH_ALL_SERVICE_METRICS",((e,t)=>allSettled([JaegerAPI.fetchMetrics(metricType.latencies,[e],{...t,quantile:.5}),JaegerAPI.fetchMetrics(metricType.latencies,[e],{...t,quantile:.75}),JaegerAPI.fetchMetrics(metricType.latencies,[e],t),JaegerAPI.fetchMetrics(metricType.calls,[e],t),JaegerAPI.fetchMetrics(metricType.errors,[e],t)]))),fetchAggregatedServiceMetrics=createAction("@JAEGER_API/FETCH_AGGREGATED_SERVICE_METRICS",((e,t)=>{const r={...t,groupByOperation:!0};return allSettled([JaegerAPI.fetchMetrics(metricType.latencies,[e],r),JaegerAPI.fetchMetrics(metricType.calls,[e],r),JaegerAPI.fetchMetrics(metricType.errors,[e],r)])})),jaegerApiActions=Object.freeze(Object.defineProperty({__proto__:null,allSettled:allSettled,archiveTrace:archiveTrace,fetchAggregatedServiceMetrics:fetchAggregatedServiceMetrics,fetchAllServiceMetrics:fetchAllServiceMetrics,fetchDeepDependencyGraph:fetchDeepDependencyGraph,fetchDependencies:fetchDependencies,fetchMultipleTraces:fetchMultipleTraces,fetchServiceOperations:fetchServiceOperations,fetchServiceServerOps:fetchServiceServerOps,fetchServices:fetchServices,fetchTrace:fetchTrace,searchTraces:searchTraces},Symbol.toStringTag,{value:"Module"}));var NOT_FOUND="NOT_FOUND";function createSingletonCache(e){var t;return{get:function(r){return t&&e(t.key,r)?t.value:NOT_FOUND},put:function(e,r){t={key:e,value:r}},getEntries:function(){return t?[t]:[]},clear:function(){t=void 0}}}function createLruCache(e,t){var r=[];function a(e){var a=r.findIndex((function(r){return t(e,r.key)}));if(a>-1){var n=r[a];return a>0&&(r.splice(a,1),r.unshift(n)),n.value}return NOT_FOUND}return{get:a,put:function(t,n){a(t)===NOT_FOUND&&(r.unshift({key:t,value:n}),r.length>e&&r.pop())},getEntries:function(){return r},clear:function(){r=[]}}}var defaultEqualityCheck=function(e,t){return e===t};function createCacheKeyComparator(e){return function(t,r){if(null===t||null===r||t.length!==r.length)return!1;for(var a=t.length,n=0;n1?t-1:0),a=1;ae),(e=>{const t=e.reduce(((e,t)=>{const{nodeMap:r}=e;let{links:a}=e;return r[t.parent]=r[t.parent]?r[t.parent]+t.callCount:t.callCount,r[t.child]=r[t.child]?e.nodeMap[t.child]+t.callCount:t.callCount,t.parent!==t.child&&(a=a.concat([{source:t.parent,target:t.child,callCount:t.callCount,value:Math.max(Math.sqrt(t.callCount/1e4),1),target_node_size:Math.max(Math.log(r[t.child]/1e3),3)}])),{nodeMap:r,links:a}}),{nodeMap:{},links:[]});t.nodes=Object.keys(t.nodeMap).map((e=>({callCount:t.nodeMap[e],radius:Math.max(Math.log(t.nodeMap[e]/1e3),3),orphan:-1===t.links.findIndex((t=>e===t.source||e===t.target)),id:e})));const{nodes:r,links:a}=t;return{nodes:r,links:a}})),index$H="",TabPane$1=Tabs.TabPane,GRAPH_TYPES={FORCE_DIRECTED:{type:"FORCE_DIRECTED",name:"Force Directed Graph"},DAG:{type:"DAG",name:"DAG"}},dagMaxNumServices=getConfigValue("dependencies.dagMaxNumServices")||FALLBACK_DAG_MAX_NUM_SERVICES;class DependencyGraphPageImpl extends reactExports.Component{constructor(e){super(e),_defineProperty3(this,"handleGraphTypeChange",(e=>this.setState({graphType:e}))),this.state={graphType:"FORCE_DIRECTED"}}componentDidMount(){this.props.fetchDependencies()}render(){const{nodes:e,links:t,error:r,dependencies:a,loading:n}=this.props,{graphType:i}=this.state;if(n)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});if(r)return jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-m3",error:r});if(!e||!t)return jsxRuntimeExports.jsx("div",{className:"u-simple-card ub-m3",children:"No service dependencies found."});const o=[GRAPH_TYPES.FORCE_DIRECTED];return a.length<=dagMaxNumServices&&o.push(GRAPH_TYPES.DAG),jsxRuntimeExports.jsx(Tabs,{onChange:this.handleGraphTypeChange,activeKey:i,type:"card",tabBarStyle:{background:"#f5f5f5",padding:"1rem 1rem 0 1rem"},children:o.map((r=>jsxRuntimeExports.jsx(TabPane$1,{className:"ub-relelative",tab:r.name,children:jsxRuntimeExports.jsxs("div",{className:"DependencyGraph--graphWrapper",children:["FORCE_DIRECTED"===r.type&&jsxRuntimeExports.jsx(DependencyForceGraph,{nodes:e,links:t}),"DAG"===r.type&&jsxRuntimeExports.jsx(DAG,{serviceCalls:a})]})},r.type)))})}}function mapStateToProps$b(e){const{dependencies:t,error:r,loading:a}=e.dependencies;let n,i;if(t&&t.length>0){const e=formatDependenciesAsNodesAndLinks({dependencies:t});n=e.links,i=e.nodes}return{loading:a,error:r,nodes:i,links:n,dependencies:t}}function mapDispatchToProps$b(e){const{fetchDependencies:t}=bindActionCreators(jaegerApiActions,e);return{fetchDependencies:t}}_defineProperty3(DependencyGraphPageImpl,"propTypes",{dependencies:propTypesExports.any.isRequired,fetchDependencies:propTypesExports.func.isRequired,nodes:nodesPropTypes,links:linksPropTypes,loading:propTypesExports.bool.isRequired,error:propTypesExports.object}),_defineProperty3(DependencyGraphPageImpl,"defaultProps",{nodes:null,links:null,error:null});const DependencyGraph=connect$3(mapStateToProps$b,mapDispatchToProps$b)(DependencyGraphPageImpl);var debounce$1=debounce_1,isObject$6=isObject_1,FUNC_ERROR_TEXT="Expected a function";function throttle(e,t,r){var a=!0,n=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT);return isObject$6(r)&&(a="leading"in r?!!r.leading:a,n="trailing"in r?!!r.trailing:n),debounce$1(e,t,{leading:a,maxWait:t,trailing:n})}var throttle_1=throttle;const ACTION_FILTER_SET="set",ACTION_FILTER_CLEAR="clear",getTrackFilterSet=e=>throttle_1(trackEvent.bind(null,e,ACTION_FILTER_SET),750,{leading:!1}),getTrackFilterClear=e=>throttle_1(trackEvent.bind(null,e,ACTION_FILTER_CLEAR),750,{leading:!1});function getTrackFilter(e){const t=getTrackFilterSet(e),r=getTrackFilterClear(e);return e=>e?t():r()}const CATEGORY_DENSITY_CHANGE="jaeger/ux/ddg/density-change",CATEGORY_DENSITY_SELECTION="jaeger/ux/ddg/density-selection",CATEGORY_DOWNSTREAM_HOPS_CHANGE="jaeger/ux/ddg/downstream-hops-change",CATEGORY_DOWNSTREAM_HOPS_SELECTION="jaeger/ux/ddg/downstream-hops-selection",CATEGORY_FILTER$1="jaeger/ux/ddg/filter",CATEGORY_MATCH_INTERACTIONS$1="jaeger/ux/ddg/match-interactions",CATEGORY_SEARCH="jaeger/ux/ddg/search",CATEGORY_TOGGLE_SHOW_OP="jaeger/ux/ddg/toggle-show-op",CATEGORY_UPSTREAM_HOPS_CHANGE="jaeger/ux/ddg/upstream-hops-change",CATEGORY_UPSTREAM_HOPS_SELECTION="jaeger/ux/ddg/upstream-hops-selection",CATEGORY_VERTEX_INTERACTIONS="jaeger/ux/ddg/vertex-interactions",ACTION_CLEAR_OPERATION="clear-operation",ACTION_DECREASE="decrease",ACTION_FOCUS_PATHS="focus-paths",ACTION_HIDE="hide",ACTION_HIDE_CHILDREN="hide-children",ACTION_HIDE_PARENTS="hide-parents",ACTION_INCREASE="increase",ACTION_SET_FOCUS="set-focus",ACTION_SET_OPERATION="set-operation",ACTION_SET_SERVICE="set-service",ACTION_SHOW="show",ACTION_SHOW_CHILDREN="show-children",ACTION_SHOW_PARENTS="show-parents",ACTION_VIEW_TRACES="view-traces";function trackClearOperation(){trackEvent(CATEGORY_SEARCH,ACTION_CLEAR_OPERATION)}function trackDensityChange(e,t,r){if(e===t)return;let a,n;if(r.forEach((({option:r},i)=>{r===e&&(a=i),r===t&&(n=i)})),void 0===a&&console.warn(`Received unknown density ${e}`),void 0===n)return void console.warn(`Received unknown density ${t}`);if(void 0===a)return;trackEvent(CATEGORY_DENSITY_CHANGE,a>n?ACTION_INCREASE:ACTION_DECREASE),trackEvent(CATEGORY_DENSITY_SELECTION,t)}const trackFilter$1=getTrackFilter(CATEGORY_FILTER$1);function trackFocusPaths(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_FOCUS_PATHS)}function trackHeaderSetOperation(){trackEvent(CATEGORY_SEARCH,ACTION_SET_OPERATION)}function trackHide(e){e?e===EDirection.Upstream?trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE_PARENTS):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE_CHILDREN):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_HIDE)}function trackHopChange(e,t,r){if(e===t)return;const a=Math.abs(t)>Math.abs(e)?ACTION_INCREASE:ACTION_DECREASE,[n,i]=r===EDirection.Upstream?[CATEGORY_UPSTREAM_HOPS_SELECTION,CATEGORY_UPSTREAM_HOPS_CHANGE]:[CATEGORY_DOWNSTREAM_HOPS_SELECTION,CATEGORY_DOWNSTREAM_HOPS_CHANGE];trackEvent(n,`${t}`),trackEvent(i,a)}function trackShow(e){e===EDirection.Upstream?trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SHOW_PARENTS):trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SHOW_CHILDREN)}function trackSetFocus(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SET_FOCUS)}function trackSetService(){trackEvent(CATEGORY_SEARCH,ACTION_SET_SERVICE)}function trackShowMatches(){trackEvent(CATEGORY_MATCH_INTERACTIONS$1,ACTION_SHOW)}function trackToggleShowOp(e){trackEvent(CATEGORY_TOGGLE_SHOW_OP,e?ACTION_SHOW:ACTION_HIDE)}function trackVertexSetOperation(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_SET_OPERATION)}function trackViewTraces$1(){trackEvent(CATEGORY_VERTEX_INTERACTIONS,ACTION_VIEW_TRACES)}function makeCacheScope(){const e=new Map;return function(t,r){const a=e.get(t);return a||(e.set(t,r),r)}}const defaultScope=Object.assign(makeCacheScope(),{makeScope:makeCacheScope});function reduce$1(e,t){let{className:r,style:a,...n}=e;const{className:i,style:o,...l}=t;return i&&(r=r?`${r} ${i}`:i),o&&"object"==typeof o&&(a=a?{...a,...o}:o),{className:r,style:a,...n,...l}}function assignMergeCss$1(){for(var e=arguments.length,t=new Array(e),r=0;r1?t-1:0),a=1;a"function"==typeof e?e(...r)||{}:e)))}const getValueScaler=(()=>{const e={expAdjuster:.5,factorMax:1,factorMin:0,valueMax:1,valueMin:.3};return function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{expAdjuster:r,factorMax:a,factorMin:n,valueMax:i,valueMin:o}={...e,...t};return function(e){return e>=a?i:e<=n?o:o+((e-n)/(a-n))**r*(i-o)}}})();function isSamePropSetter(e,t){return Array.isArray(e)?!(!Array.isArray(t)||e.length!==t.length)&&!e.some(((e,r)=>e!==t[r])):e===t}var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(e){var t=e+="",r=t.indexOf(":");return r>=0&&"xmlns"!==(t=e.slice(0,r))&&(e=e.slice(r+1)),namespaces.hasOwnProperty(t)?{space:namespaces[t],local:e}:e}function creatorInherit(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===xhtml&&t.documentElement.namespaceURI===xhtml?t.createElement(e):t.createElementNS(r,e)}}function creatorFixed(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function creator(e){var t=namespace(e);return(t.local?creatorFixed:creatorInherit)(t)}function none$2(){}function selector(e){return null==e?none$2:function(){return this.querySelector(e)}}function selection_select(e){"function"!=typeof e&&(e=selector(e));for(var t=this._groups,r=t.length,a=new Array(r),n=0;n=y&&(y=v+1);!(m=b[y])&&++y=0;)(a=n[i])&&(o&&4^a.compareDocumentPosition(o)&&o.parentNode.insertBefore(a,o),o=a);return this}function selection_sort(e){function t(t,r){return t&&r?e(t.__data__,r.__data__):!t-!r}e||(e=ascending$3);for(var r=this._groups,a=r.length,n=new Array(a),i=0;it?1:e>=t?0:NaN}function selection_call(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){for(var e=this._groups,t=0,r=e.length;t1?this.each((null==t?styleRemove$1:"function"==typeof t?styleFunction$1:styleConstant$1)(e,t,null==r?"":r)):styleValue(this.node(),e)}function styleValue(e,t){return e.style.getPropertyValue(t)||defaultView(e).getComputedStyle(e,null).getPropertyValue(t)}function propertyRemove(e){return function(){delete this[e]}}function propertyConstant(e,t){return function(){this[e]=t}}function propertyFunction(e,t){return function(){var r=t.apply(this,arguments);null==r?delete this[e]:this[e]=r}}function selection_property(e,t){return arguments.length>1?this.each((null==t?propertyRemove:"function"==typeof t?propertyFunction:propertyConstant)(e,t)):this.node()[e]}function classArray(e){return e.trim().split(/^|\s+/)}function classList(e){return e.classList||new ClassList(e)}function ClassList(e){this._node=e,this._names=classArray(e.getAttribute("class")||"")}function classedAdd(e,t){for(var r=classList(e),a=-1,n=t.length;++a=0&&(t=e.slice(r+1),e=e.slice(0,r)),{type:e,name:t}}))}function onRemove(e){return function(){var t=this.__on;if(t){for(var r,a=0,n=-1,i=t.length;a=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var root$2=[null];function Selection$1(e,t){this._groups=e,this._parents=t}function selection(){return new Selection$1([[document.documentElement]],root$2)}function selection_selection(){return this}function select(e){return"string"==typeof e?new Selection$1([[document.querySelector(e)]],[document.documentElement]):new Selection$1([[e]],root$2)}function sourceEvent(e){let t;for(;t=e.sourceEvent;)e=t;return e}function pointer(e,t){if(e=sourceEvent(e),void 0===t&&(t=e.currentTarget),t){var r=t.ownerSVGElement||t;if(r.createSVGPoint){var a=r.createSVGPoint();return a.x=e.clientX,a.y=e.clientY,[(a=a.matrixTransform(t.getScreenCTM().inverse())).x,a.y]}if(t.getBoundingClientRect){var n=t.getBoundingClientRect();return[e.clientX-n.left-t.clientLeft,e.clientY-n.top-t.clientTop]}}return[e.pageX,e.pageY]}Selection$1.prototype=selection.prototype={constructor:Selection$1,select:selection_select,selectAll:selection_selectAll,selectChild:selection_selectChild,selectChildren:selection_selectChildren,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,selection:selection_selection,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch,[Symbol.iterator]:selection_iterator};var noop$9={value:()=>{}};function dispatch(){for(var e,t=0,r=arguments.length,a={};t=0&&(r=e.slice(a+1),e=e.slice(0,a)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}}))}function get$1(e,t){for(var r,a=0,n=e.length;a0)for(var r,a,n=new Array(r),i=0;i>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?rgba$2(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?rgba$2(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=reRgbInteger$2.exec(e))?new Rgb$2(t[1],t[2],t[3],1):(t=reRgbPercent$2.exec(e))?new Rgb$2(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger$2.exec(e))?rgba$2(t[1],t[2],t[3],t[4]):(t=reRgbaPercent$2.exec(e))?rgba$2(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent$2.exec(e))?hsla$2(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent$2.exec(e))?hsla$2(t[1],t[2]/100,t[3]/100,t[4]):named$2.hasOwnProperty(e)?rgbn$2(named$2[e]):"transparent"===e?new Rgb$2(NaN,NaN,NaN,0):null}function rgbn$2(e){return new Rgb$2(e>>16&255,e>>8&255,255&e,1)}function rgba$2(e,t,r,a){return a<=0&&(e=t=r=NaN),new Rgb$2(e,t,r,a)}function rgbConvert$2(e){return e instanceof Color$2||(e=color$2(e)),e?new Rgb$2((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb$2}function rgb$3(e,t,r,a){return 1===arguments.length?rgbConvert$2(e):new Rgb$2(e,t,r,null==a?1:a)}function Rgb$2(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function rgb_formatHex$1(){return`#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}`}function rgb_formatHex8$1(){return`#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}${hex$2(255*(isNaN(this.opacity)?1:this.opacity))}`}function rgb_formatRgb$1(){const e=clampa$1(this.opacity);return`${1===e?"rgb(":"rgba("}${clampi$1(this.r)}, ${clampi$1(this.g)}, ${clampi$1(this.b)}${1===e?")":`, ${e})`}`}function clampa$1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function clampi$1(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hex$2(e){return((e=clampi$1(e))<16?"0":"")+e.toString(16)}function hsla$2(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl$2(e,t,r,a)}function hslConvert$2(e){if(e instanceof Hsl$2)return new Hsl$2(e.h,e.s,e.l,e.opacity);if(e instanceof Color$2||(e=color$2(e)),!e)return new Hsl$2;if(e instanceof Hsl$2)return e;var t=(e=e.rgb()).r/255,r=e.g/255,a=e.b/255,n=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-n,s=(i+n)/2;return l?(o=t===i?(r-a)/l+6*(r0&&s<1?0:o,new Hsl$2(o,l,s,e.opacity)}function hsl$2(e,t,r,a){return 1===arguments.length?hslConvert$2(e):new Hsl$2(e,t,r,null==a?1:a)}function Hsl$2(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function clamph$1(e){return(e=(e||0)%360)<0?e+360:e}function clampt$1(e){return Math.max(0,Math.min(1,e||0))}function hsl2rgb$2(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}define$2(Color$2,color$2,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:color_formatHex$1,formatHex:color_formatHex$1,formatHex8:color_formatHex8$1,formatHsl:color_formatHsl$1,formatRgb:color_formatRgb$1,toString:color_formatRgb$1}),define$2(Rgb$2,rgb$3,extend$2(Color$2,{brighter(e){return e=null==e?brighter$2:Math.pow(brighter$2,e),new Rgb$2(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?darker$2:Math.pow(darker$2,e),new Rgb$2(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rgb$2(clampi$1(this.r),clampi$1(this.g),clampi$1(this.b),clampa$1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex$1,formatHex:rgb_formatHex$1,formatHex8:rgb_formatHex8$1,formatRgb:rgb_formatRgb$1,toString:rgb_formatRgb$1})),define$2(Hsl$2,hsl$2,extend$2(Color$2,{brighter(e){return e=null==e?brighter$2:Math.pow(brighter$2,e),new Hsl$2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?darker$2:Math.pow(darker$2,e),new Hsl$2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,n=2*r-a;return new Rgb$2(hsl2rgb$2(e>=240?e-240:e+120,n,a),hsl2rgb$2(e,n,a),hsl2rgb$2(e<120?e+240:e-120,n,a),this.opacity)},clamp(){return new Hsl$2(clamph$1(this.h),clampt$1(this.s),clampt$1(this.l),clampa$1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=clampa$1(this.opacity);return`${1===e?"hsl(":"hsla("}${clamph$1(this.h)}, ${100*clampt$1(this.s)}%, ${100*clampt$1(this.l)}%${1===e?")":`, ${e})`}`}}));const constant$7=e=>()=>e;function linear$2(e,t){return function(r){return e+r*t}}function exponential$1(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}function gamma$1(e){return 1==(e=+e)?nogamma$1:function(t,r){return r-t?exponential$1(t,r,e):constant$7(isNaN(t)?r:t)}}function nogamma$1(e,t){var r=t-e;return r?linear$2(e,r):constant$7(isNaN(e)?t:e)}const interpolateRgb=function e(t){var r=gamma$1(t);function a(e,t){var a=r((e=rgb$3(e)).r,(t=rgb$3(t)).r),n=r(e.g,t.g),i=r(e.b,t.b),o=nogamma$1(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=n(t),e.b=i(t),e.opacity=o(t),e+""}}return a.gamma=e,a}(1);function interpolateNumber(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var reA$1=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB$1=new RegExp(reA$1.source,"g");function zero$1(e){return function(){return e}}function one$1(e){return function(t){return e(t)+""}}function interpolateString(e,t){var r,a,n,i=reA$1.lastIndex=reB$1.lastIndex=0,o=-1,l=[],s=[];for(e+="",t+="";(r=reA$1.exec(e))&&(a=reB$1.exec(t));)(n=a.index)>i&&(n=t.slice(i,n),l[o]?l[o]+=n:l[++o]=n),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:interpolateNumber(r,a)})),i=reB$1.lastIndex;return i180?t+=360:t-e>180&&(e+=360),i.push({i:r.push(n(r)+"rotate(",null,a)-2,x:interpolateNumber(e,t)})):t&&r.push(n(r)+"rotate("+t+a)}(i.rotate,o.rotate,l,s),function(e,t,r,i){e!==t?i.push({i:r.push(n(r)+"skewX(",null,a)-2,x:interpolateNumber(e,t)}):t&&r.push(n(r)+"skewX("+t+a)}(i.skewX,o.skewX,l,s),function(e,t,r,a,i,o){if(e!==r||t!==a){var l=i.push(n(i)+"scale(",null,",",null,")");o.push({i:l-4,x:interpolateNumber(e,r)},{i:l-2,x:interpolateNumber(t,a)})}else 1===r&&1===a||i.push(n(i)+"scale("+r+","+a+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,l,s),i=o=null,function(e){for(var t,r=-1,a=s.length;++r=0&&t._call.call(void 0,e),t=t._next;--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{timerFlush()}finally{frame=0,nap(),clockNow=0}}function poke(){var e=clock.now(),t=e-clockLast;t>pokeDelay&&(clockSkew-=t,clockLast=e)}function nap(){for(var e,t,r=taskHead,a=1/0;r;)r._call?(a>r._time&&(a=r._time),e=r,r=r._next):(t=r._next,r._next=null,r=e?e._next=t:taskHead=t);taskTail=e,sleep(a)}function sleep(e){frame||(timeout$1&&(timeout$1=clearTimeout(timeout$1)),e-clockNow>24?(e<1/0&&(timeout$1=setTimeout(wake,e-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,pokeDelay)),frame=1,setFrame(wake)))}function timeout(e,t,r){var a=new Timer;return t=null==t?0:+t,a.restart((r=>{a.stop(),e(r+t)}),t,r),a}Timer.prototype=timer.prototype={constructor:Timer,restart:function(e,t,r){if("function"!=typeof e)throw new TypeError("callback is not a function");r=(null==r?now$3():+r)+(null==t?0:+t),this._next||taskTail===this||(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=e,this._time=r,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[],CREATED=0,SCHEDULED=1,STARTING=2,STARTED=3,RUNNING=4,ENDING=5,ENDED=6;function schedule(e,t,r,a,n,i){var o=e.__transition;if(o){if(r in o)return}else e.__transition={};create$2(e,r,{name:t,index:a,group:n,on:emptyOn,tween:emptyTween,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:CREATED})}function init(e,t){var r=get(e,t);if(r.state>CREATED)throw new Error("too late; already scheduled");return r}function set$1(e,t){var r=get(e,t);if(r.state>STARTED)throw new Error("too late; already running");return r}function get(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function create$2(e,t,r){var a,n=e.__transition;function i(s){var c,u,f,A;if(r.state!==SCHEDULED)return l();for(c in n)if((A=n[c]).name===r.name){if(A.state===STARTED)return timeout(i);A.state===RUNNING?(A.state=ENDED,A.timer.stop(),A.on.call("interrupt",e,e.__data__,A.index,A.group),delete n[c]):+cSTARTING&&r.state>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?rgba$1(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?rgba$1(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=reRgbInteger$1.exec(e))?new Rgb$1(t[1],t[2],t[3],1):(t=reRgbPercent$1.exec(e))?new Rgb$1(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger$1.exec(e))?rgba$1(t[1],t[2],t[3],t[4]):(t=reRgbaPercent$1.exec(e))?rgba$1(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent$1.exec(e))?hsla$1(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent$1.exec(e))?hsla$1(t[1],t[2]/100,t[3]/100,t[4]):named$1.hasOwnProperty(e)?rgbn$1(named$1[e]):"transparent"===e?new Rgb$1(NaN,NaN,NaN,0):null}function rgbn$1(e){return new Rgb$1(e>>16&255,e>>8&255,255&e,1)}function rgba$1(e,t,r,a){return a<=0&&(e=t=r=NaN),new Rgb$1(e,t,r,a)}function rgbConvert$1(e){return e instanceof Color$1||(e=color$1(e)),e?new Rgb$1((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb$1}function rgb$2(e,t,r,a){return 1===arguments.length?rgbConvert$1(e):new Rgb$1(e,t,r,null==a?1:a)}function Rgb$1(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function rgb_formatHex(){return`#${hex$1(this.r)}${hex$1(this.g)}${hex$1(this.b)}`}function rgb_formatHex8(){return`#${hex$1(this.r)}${hex$1(this.g)}${hex$1(this.b)}${hex$1(255*(isNaN(this.opacity)?1:this.opacity))}`}function rgb_formatRgb(){const e=clampa(this.opacity);return`${1===e?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${1===e?")":`, ${e})`}`}function clampa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function clampi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hex$1(e){return((e=clampi(e))<16?"0":"")+e.toString(16)}function hsla$1(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl$1(e,t,r,a)}function hslConvert$1(e){if(e instanceof Hsl$1)return new Hsl$1(e.h,e.s,e.l,e.opacity);if(e instanceof Color$1||(e=color$1(e)),!e)return new Hsl$1;if(e instanceof Hsl$1)return e;var t=(e=e.rgb()).r/255,r=e.g/255,a=e.b/255,n=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-n,s=(i+n)/2;return l?(o=t===i?(r-a)/l+6*(r0&&s<1?0:o,new Hsl$1(o,l,s,e.opacity)}function hsl$1(e,t,r,a){return 1===arguments.length?hslConvert$1(e):new Hsl$1(e,t,r,null==a?1:a)}function Hsl$1(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function clamph(e){return(e=(e||0)%360)<0?e+360:e}function clampt(e){return Math.max(0,Math.min(1,e||0))}function hsl2rgb$1(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}function interpolate$1(e,t){var r;return("number"==typeof t?interpolateNumber:t instanceof color$1?interpolateRgb:(r=color$1(t))?(t=r,interpolateRgb):interpolateString)(e,t)}function attrRemove(e){return function(){this.removeAttribute(e)}}function attrRemoveNS(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant(e,t,r){var a,n,i=r+"";return function(){var o=this.getAttribute(e);return o===i?null:o===a?n:n=t(a=o,r)}}function attrConstantNS(e,t,r){var a,n,i=r+"";return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===a?n:n=t(a=o,r)}}function attrFunction(e,t,r){var a,n,i;return function(){var o,l,s=r(this);if(null!=s)return(o=this.getAttribute(e))===(l=s+"")?null:o===a&&l===n?i:(n=l,i=t(a=o,s));this.removeAttribute(e)}}function attrFunctionNS(e,t,r){var a,n,i;return function(){var o,l,s=r(this);if(null!=s)return(o=this.getAttributeNS(e.space,e.local))===(l=s+"")?null:o===a&&l===n?i:(n=l,i=t(a=o,s));this.removeAttributeNS(e.space,e.local)}}function transition_attr(e,t){var r=namespace(e),a="transform"===r?interpolateTransformSvg:interpolate$1;return this.attrTween(e,"function"==typeof t?(r.local?attrFunctionNS:attrFunction)(r,a,tweenValue(this,"attr."+e,t)):null==t?(r.local?attrRemoveNS:attrRemove)(r):(r.local?attrConstantNS:attrConstant)(r,a,t))}function attrInterpolate(e,t){return function(r){this.setAttribute(e,t.call(this,r))}}function attrInterpolateNS(e,t){return function(r){this.setAttributeNS(e.space,e.local,t.call(this,r))}}function attrTweenNS(e,t){var r,a;function n(){var n=t.apply(this,arguments);return n!==a&&(r=(a=n)&&attrInterpolateNS(e,n)),r}return n._value=t,n}function attrTween(e,t){var r,a;function n(){var n=t.apply(this,arguments);return n!==a&&(r=(a=n)&&attrInterpolate(e,n)),r}return n._value=t,n}function transition_attrTween(e,t){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw new Error;var a=namespace(e);return this.tween(r,(a.local?attrTweenNS:attrTween)(a,t))}function delayFunction(e,t){return function(){init(this,e).delay=+t.apply(this,arguments)}}function delayConstant(e,t){return t=+t,function(){init(this,e).delay=t}}function transition_delay(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?delayFunction:delayConstant)(t,e)):get(this.node(),t).delay}function durationFunction(e,t){return function(){set$1(this,e).duration=+t.apply(this,arguments)}}function durationConstant(e,t){return t=+t,function(){set$1(this,e).duration=t}}function transition_duration(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?durationFunction:durationConstant)(t,e)):get(this.node(),t).duration}function easeConstant(e,t){if("function"!=typeof t)throw new Error;return function(){set$1(this,e).ease=t}}function transition_ease(e){var t=this._id;return arguments.length?this.each(easeConstant(t,e)):get(this.node(),t).ease}function easeVarying(e,t){return function(){var r=t.apply(this,arguments);if("function"!=typeof r)throw new Error;set$1(this,e).ease=r}}function transition_easeVarying(e){if("function"!=typeof e)throw new Error;return this.each(easeVarying(this._id,e))}function transition_filter(e){"function"!=typeof e&&(e=matcher(e));for(var t=this._groups,r=t.length,a=new Array(r),n=0;n=0&&(e=e.slice(0,t)),!e||"start"===e}))}function onFunction(e,t,r){var a,n,i=start(t)?init:set$1;return function(){var o=i(this,e),l=o.on;l!==a&&(n=(a=l).copy()).on(t,r),o.on=n}}function transition_on(e,t){var r=this._id;return arguments.length<2?get(this.node(),r).on.on(e):this.each(onFunction(r,e,t))}function removeFunction(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(e){var t=this._name,r=this._id;"function"!=typeof e&&(e=selector(e));for(var a=this._groups,n=a.length,i=new Array(n),o=0;o=240?e-240:e+120,n,a),hsl2rgb$1(e,n,a),hsl2rgb$1(e<120?e+240:e-120,n,a),this.opacity)},clamp(){return new Hsl$1(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=clampa(this.opacity);return`${1===e?"hsl(":"hsla("}${clamph(this.h)}, ${100*clampt(this.s)}%, ${100*clampt(this.l)}%${1===e?")":`, ${e})`}`}}));var Selection=selection.prototype.constructor;function transition_selection(){return new Selection(this._groups,this._parents)}function styleNull(e,t){var r,a,n;return function(){var i=styleValue(this,e),o=(this.style.removeProperty(e),styleValue(this,e));return i===o?null:i===r&&o===a?n:n=t(r=i,a=o)}}function styleRemove(e){return function(){this.style.removeProperty(e)}}function styleConstant(e,t,r){var a,n,i=r+"";return function(){var o=styleValue(this,e);return o===i?null:o===a?n:n=t(a=o,r)}}function styleFunction(e,t,r){var a,n,i;return function(){var o=styleValue(this,e),l=r(this),s=l+"";return null==l&&(this.style.removeProperty(e),s=l=styleValue(this,e)),o===s?null:o===a&&s===n?i:(n=s,i=t(a=o,l))}}function styleMaybeRemove(e,t){var r,a,n,i,o="style."+t,l="end."+o;return function(){var s=set$1(this,e),c=s.on,u=null==s.value[o]?i||(i=styleRemove(t)):void 0;c===r&&n===u||(a=(r=c).copy()).on(l,n=u),s.on=a}}function transition_style(e,t,r){var a="transform"==(e+="")?interpolateTransformCss:interpolate$1;return null==t?this.styleTween(e,styleNull(e,a)).on("end.style."+e,styleRemove(e)):"function"==typeof t?this.styleTween(e,styleFunction(e,a,tweenValue(this,"style."+e,t))).each(styleMaybeRemove(this._id,e)):this.styleTween(e,styleConstant(e,a,t),r).on("end.style."+e,null)}function styleInterpolate(e,t,r){return function(a){this.style.setProperty(e,t.call(this,a),r)}}function styleTween(e,t,r){var a,n;function i(){var i=t.apply(this,arguments);return i!==n&&(a=(n=i)&&styleInterpolate(e,i,r)),a}return i._value=t,i}function transition_styleTween(e,t,r){var a="style."+(e+="");if(arguments.length<2)return(a=this.tween(a))&&a._value;if(null==t)return this.tween(a,null);if("function"!=typeof t)throw new Error;return this.tween(a,styleTween(e,t,null==r?"":r))}function textConstant(e){return function(){this.textContent=e}}function textFunction(e){return function(){var t=e(this);this.textContent=null==t?"":t}}function transition_text(e){return this.tween("text","function"==typeof e?textFunction(tweenValue(this,"text",e)):textConstant(null==e?"":e+""))}function textInterpolate(e){return function(t){this.textContent=e.call(this,t)}}function textTween(e){var t,r;function a(){var a=e.apply(this,arguments);return a!==r&&(t=(r=a)&&textInterpolate(a)),t}return a._value=e,a}function transition_textTween(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw new Error;return this.tween(t,textTween(e))}function transition_transition(){for(var e=this._name,t=this._id,r=newId(),a=this._groups,n=a.length,i=0;i()=>e;function ZoomEvent(e,{sourceEvent:t,target:r,transform:a,dispatch:n}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:a,enumerable:!0,configurable:!0},_:{value:n}})}function Transform(e,t,r){this.k=e,this.x=t,this.y=r}Transform.prototype={constructor:Transform,scale:function(e){return 1===e?this:new Transform(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Transform(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity$4=new Transform(1,0,0);function transform(e){for(;!e.__zoom;)if(!(e=e.parentNode))return identity$4;return e.__zoom}function nopropagation(e){e.stopImmediatePropagation()}function noevent(e){e.preventDefault(),e.stopImmediatePropagation()}function defaultFilter(e){return!(e.ctrlKey&&"wheel"!==e.type||e.button)}function defaultExtent(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function defaultTransform(){return this.__zoom||identity$4}function defaultWheelDelta(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||"ontouchstart"in this}function defaultConstrain(e,t,r){var a=e.invertX(t[0][0])-r[0][0],n=e.invertX(t[1][0])-r[1][0],i=e.invertY(t[0][1])-r[0][1],o=e.invertY(t[1][1])-r[1][1];return e.translate(n>a?(a+n)/2:Math.min(0,a)||Math.max(0,n),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function d3Zoom(){var e,t,r,a=defaultFilter,n=defaultExtent,i=defaultConstrain,o=defaultWheelDelta,l=defaultTouchable,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,f=interpolateZoom,A=dispatch("start","zoom","end"),d=500,p=150,h=0,b=10;function g(e){e.property("__zoom",defaultTransform).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",_).on("dblclick.zoom",C).filter(l).on("touchstart.zoom",$).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",O).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(e,t){return(t=Math.max(s[0],Math.min(s[1],t)))===e.k?e:new Transform(t,e.x,e.y)}function v(e,t,r){var a=t[0]-r[0]*e.k,n=t[1]-r[1]*e.k;return a===e.x&&n===e.y?e:new Transform(e.k,a,n)}function y(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function w(e,t,r,a){e.on("start.zoom",(function(){k(this,arguments).event(a).start()})).on("interrupt.zoom end.zoom",(function(){k(this,arguments).event(a).end()})).tween("zoom",(function(){var e=this,i=arguments,o=k(e,i).event(a),l=n.apply(e,i),s=null==r?y(l):"function"==typeof r?r.apply(e,i):r,c=Math.max(l[1][0]-l[0][0],l[1][1]-l[0][1]),u=e.__zoom,A="function"==typeof t?t.apply(e,i):t,d=f(u.invert(s).concat(c/u.k),A.invert(s).concat(c/A.k));return function(e){if(1===e)e=A;else{var t=d(e),r=c/t[2];e=new Transform(r,s[0]-t[0]*r,s[1]-t[1]*r)}o.zoom(null,e)}}))}function k(e,t,r){return!r&&e.__zooming||new x(e,t)}function x(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=n.apply(e,t),this.taps=0}function E(e,...t){if(a.apply(this,arguments)){var r=k(this,t).event(e),n=this.__zoom,l=Math.max(s[0],Math.min(s[1],n.k*Math.pow(2,o.apply(this,arguments)))),u=pointer(e);if(r.wheel)r.mouse[0][0]===u[0]&&r.mouse[0][1]===u[1]||(r.mouse[1]=n.invert(r.mouse[0]=u)),clearTimeout(r.wheel);else{if(n.k===l)return;r.mouse=[u,n.invert(u)],interrupt(this),r.start()}noevent(e),r.wheel=setTimeout((function(){r.wheel=null,r.end()}),p),r.zoom("mouse",i(v(m(n,l),r.mouse[0],r.mouse[1]),r.extent,c))}}function _(e,...t){if(!r&&a.apply(this,arguments)){var n=e.currentTarget,o=k(this,t,!0).event(e),l=select(e.view).on("mousemove.zoom",(function(e){if(noevent(e),!o.moved){var t=e.clientX-u,r=e.clientY-f;o.moved=t*t+r*r>h}o.event(e).zoom("mouse",i(v(o.that.__zoom,o.mouse[0]=pointer(e,n),o.mouse[1]),o.extent,c))}),!0).on("mouseup.zoom",(function(e){l.on("mousemove.zoom mouseup.zoom",null),yesdrag(e.view,o.moved),noevent(e),o.event(e).end()}),!0),s=pointer(e,n),u=e.clientX,f=e.clientY;dragDisable(e.view),nopropagation(e),o.mouse=[s,this.__zoom.invert(s)],interrupt(this),o.start()}}function C(e,...t){if(a.apply(this,arguments)){var r=this.__zoom,o=pointer(e.changedTouches?e.changedTouches[0]:e,this),l=r.invert(o),s=r.k*(e.shiftKey?.5:2),f=i(v(m(r,s),o,l),n.apply(this,t),c);noevent(e),u>0?select(this).transition().duration(u).call(w,f,o,e):select(this).call(g.transform,f,o,e)}}function $(r,...n){if(a.apply(this,arguments)){var i,o,l,s,c=r.touches,u=c.length,f=k(this,n,r.changedTouches.length===u).event(r);for(nopropagation(r),o=0;ot?t:r}function getFittedScale(e,t,r,a){return Math.max(SCALE_MIN,Math.min((1-SCALE_MARGIN)*r/e,(1-SCALE_MARGIN)*a/t,SCALE_MAX))}function getScaleExtent(e,t,r,a){return[getFittedScale(e,t,r,a),SCALE_MAX]}function fitWithinContainer(e,t,r,a){const n=getFittedScale(e,t,r,a),i=(r-n*e)/2,o=(a-n*t)/2;return identity$4.translate(i,o).scale(n)}function constrainZoom(e,t,r,a,n){const{k:i,x:o,y:l}=e,s=getFittedScale(t,r,a,n),c=Math.max(i,s),u=boundValue(-t*c+.5*a,.5*a,o),f=boundValue(-r*c+.5*n,.5*n,l);return c!==i||u!==o||f!==l?identity$4.translate(u,f).scale(c):e}function getZoomStyle(e){if(null==e)return DEFAULT_ZOOM_STYLE;const{x:t,y:r,k:a}=e;return{transform:`translate(${t.toFixed()}px, ${r.toFixed()}px) scale(${a})`,transformOrigin:"0 0"}}function getZoomAttr(e){if(!e)return;const{x:t,y:r,k:a}=e;return`translate(${t.toFixed()},${r.toFixed()}) scale(${a})`}let ZoomManager$1=class{static getZoomAttr(e){return getZoomAttr(e)}static getZoomStyle(e){return getZoomStyle(e)}constructor(e){this.elem=null,this.contentSize=null,this.selection=null,this.updateCallback=void 0,this.zoom=void 0,this.currentTransform=identity$4,this.resetZoom=()=>{const e=this.elem,t=this.selection,r=this.contentSize;if(!e||!t||!r)return void this.updateCallback(identity$4);const{clientHeight:a,clientWidth:n}=e;this.currentTransform=fitWithinContainer(r.width,r.height,n,a),this.zoom.transform(t,this.currentTransform),this.updateCallback(this.currentTransform)},this.onZoomed=()=>{this.elem&&(this.currentTransform=transform(this.elem),this.updateCallback(this.currentTransform))},this.constrainZoom=(e,t)=>{if(!this.contentSize)return e;const{height:r,width:a}=this.contentSize,[,[n,i]]=t;return constrainZoom(e,a,r,n,i)},this.updateCallback=e,this.zoom=d3Zoom().scaleExtent(DEFAULT_SCALE_EXTENT).constrain(this.constrainZoom).on("zoom",this.onZoomed)}setElement(e){e!==this.elem&&(this.elem=e,this.selection=select(e),this.selection.call(this.zoom),this.setExtent(),this.resetZoom())}setContentSize(e){this.contentSize&&this.contentSize.height===e.height&&this.contentSize.width===e.width||(this.contentSize=e),this.setExtent(),this.resetZoom()}getProps(){const{x:e,y:t,k:r}=this.currentTransform,{height:a=1,width:n=1}=this.contentSize||{},{clientHeight:i=1,clientWidth:o=1}=this.elem||{};return{contentHeight:a,contentWidth:n,k:r,viewportHeight:i,viewportWidth:o,x:e,y:t,viewAll:this.resetZoom}}setExtent(){const e=this.elem,t=this.contentSize;if(!e||!t)return;const{clientHeight:r,clientWidth:a}=e,n=getScaleExtent(t.width,t.height,a,r);this.zoom.scaleExtent(n)}};const STYLE$1={left:0,position:"absolute",top:0};class HtmlLayer extends reactExports.PureComponent{render(){const{children:e,classNamePart:t,getClassName:r,graphState:a,setOnContainer:n,standalone:i,topLayer:o}=this.props,{zoomTransform:l}=a,s={style:o||i?ZoomManager$1.getZoomStyle(l):{}},c=assignMergeCss$1({className:r(t),style:STYLE$1},s,getProps(n,a));return reactExports.createElement("div",c,e)}}let ELayoutPhase=function(e){return e.NoData="NoData",e.CalcSizes="CalcSizes",e.CalcPositions="CalcPositions",e.CalcEdges="CalcEdges",e.Done="Done",e}({}),ELayerType=function(e){return e.Html="html",e.Svg="svg",e}({});const SVG_HIDDEN_STYLE={visibility:"hidden"};class MeasurableNode extends reactExports.PureComponent{constructor(){super(...arguments),this.htmlRef=reactExports.createRef(),this.svgRef=reactExports.createRef()}measureHtml(){const{current:e}=this.htmlRef;return e?{height:e.offsetHeight,width:e.offsetWidth}:{height:0,width:0}}measureSvg(){const{current:e}=this.svgRef;if(!e)return{height:0,width:0};const{height:t,width:r}=e.getBBox();return{height:t,width:r}}renderHtml(){const{getClassName:e,hidden:t,renderNode:r,renderUtils:a,setOnNode:n,vertex:i,layoutVertex:o}=this.props,{height:l=null,left:s=null,top:c=null,width:u=null}=o||{},f=assignMergeCss$1({className:e("MeasurableHtmlNode"),style:{height:l,width:u,boxSizing:"border-box",position:"absolute",transform:null==s||null==c?void 0:`translate(${s.toFixed()}px,${c.toFixed()}px)`,visibility:t?"hidden":void 0}},getProps(n,i,a,o));return reactExports.createElement("div",Object.assign({ref:this.htmlRef},f),r(i,a,o))}renderSvg(){const{getClassName:e,hidden:t,renderNode:r,renderUtils:a,setOnNode:n,vertex:i,layoutVertex:o}=this.props,{left:l=null,top:s=null}=o||{},c=assignMergeCss$1({className:e("MeasurableSvgNode"),transform:null==l||null==s?void 0:`translate(${l.toFixed()}, ${s.toFixed()})`,style:t?SVG_HIDDEN_STYLE:null},getProps(n,i,a,o));return reactExports.createElement("g",Object.assign({ref:this.svgRef},c),r(i,a,o))}getRef(){return this.props.layerType===ELayerType.Html?{htmlWrapper:this.htmlRef.current,svgWrapper:void 0}:{svgWrapper:this.svgRef.current,htmlWrapper:void 0}}measure(){return this.props.layerType===ELayerType.Html?this.measureHtml():this.measureSvg()}render(){const{layerType:e}=this.props;return e===ELayerType.Html?this.renderHtml():this.renderSvg()}}class MeasurableNodes extends reactExports.Component{shouldComponentUpdate(e){const t=this.props;return t.renderNode!==e.renderNode||t.getClassName!==e.getClassName||t.layerType!==e.layerType||t.layoutVertices!==e.layoutVertices||t.nodeRefs!==e.nodeRefs||t.renderUtils!==e.renderUtils||t.vertices!==e.vertices||!isSamePropSetter(t.setOnNode,e.setOnNode)}render(){const{getClassName:e,nodeRefs:t,layoutVertices:r,renderUtils:a,vertices:n,layerType:i,renderNode:o,setOnNode:l}=this.props;return n.map(((n,s)=>reactExports.createElement(MeasurableNode,{key:n.key,getClassName:e,ref:t[s],hidden:!r,layerType:i,renderNode:o,renderUtils:a,vertex:n,layoutVertex:r&&r[s],setOnNode:l})))}}const getMarkerScale=getValueScaler({factorMax:1,factorMin:.1,valueMax:2,valueMin:6});function renderDefaultMarker(e,t,r){const a=getMarkerScale(e.zoomTransform.k);return reactExports.createElement("marker",Object.assign({id:r,markerHeight:8*a,markerUnits:"userSpaceOnUse",markerWidth:8*a,orient:"auto",refX:8*a,refY:3*a},t),reactExports.createElement("path",{d:`M0,0 L0,${6*a} L${9*a},${3*a} z`}))}class SvgDefEntry extends reactExports.PureComponent{render(){const{getClassName:e,localId:t,graphState:r,renderEntry:a=renderDefaultMarker,setOnEntry:n}=this.props,i=r.renderUtils.getGlobalId(t);return a(r,assignMergeCss$1({className:e("DefEntry")},getProps(n,r)),i)}}const STYLE={left:0,minHeight:"100%",minWidth:"100%",position:"absolute",top:0};class SvgLayer extends reactExports.PureComponent{render(){const{children:e,classNamePart:t,getClassName:r,defs:a,extraWrapper:n,graphState:i,setOnContainer:o,standalone:l,topLayer:s}=this.props,c=assignMergeCss$1({className:r(t)},getProps(o,i));let u=reactExports.createElement("g",c,a&&reactExports.createElement("defs",null,a.map((e=>reactExports.createElement(SvgDefEntry,Object.assign({key:e.localId},e,{getClassName:r,graphState:i}))))),e);if(n&&(u=reactExports.createElement("g",n,u)),!l&&!s)return u;const{zoomTransform:f}=i;return reactExports.createElement("svg",{className:r("SvgLayer"),style:STYLE},reactExports.createElement("g",{className:r("SvgLayer--transformer"),transform:ZoomManager$1.getZoomAttr(f)},u))}}function createRefs(e){const t=[];for(let r=0;r{if(l)return l.getRef();throw new Error("Invalid scenario")},getWrapperSize:()=>{if(l)return l.measure();throw new Error("Invalid scenario")}},c=[];for(let u=0;ureactExports.createElement(Node$4,{key:t.vertex.key,getClassName:e,layerType:a,layoutVertex:t,renderNode:n,renderUtils:r,setOnNode:i})))}}class NodesLayer extends reactExports.PureComponent{render(){const{renderNode:e}=this.props,{layoutVertices:t,renderUtils:r}=this.props.graphState;if(!t||!e)return null;const{getClassName:a,layerType:n,setOnNode:i}=this.props,o=n===ELayerType.Html?HtmlLayer:SvgLayer;return reactExports.createElement(o,Object.assign({},this.props,{classNamePart:"NodesLayer"}),reactExports.createElement(Nodes,{getClassName:a,layerType:n,layoutVertices:t,renderNode:e,renderUtils:r,setOnNode:i}))}}class HtmlLayersGroup extends reactExports.PureComponent{renderLayers(){const{getClassName:e,layers:t,graphState:r,setSizeVertices:a}=this.props;return t.map((t=>{const{key:n,setOnContainer:i}=t;if(t.measurable){const{renderNode:o,setOnNode:l}=t;return reactExports.createElement(MeasurableNodesLayer,{key:n,getClassName:e,graphState:r,layerType:ELayerType.Html,renderNode:o,senderKey:n,setOnContainer:i,setOnNode:l,setSizeVertices:a})}if(t.renderNode){const{renderNode:a,setOnNode:o}=t;return reactExports.createElement(NodesLayer,{key:n,getClassName:e,graphState:r,layerType:ELayerType.Html,renderNode:a,setOnContainer:i,setOnNode:o})}throw new Error("Not implemented")}))}render(){return reactExports.createElement(HtmlLayer,Object.assign({topLayer:!0,classNamePart:"HtmlLayersGroup"},this.props),this.renderLayers())}}const classNameIsSmall$3=function(e){const{k:t=1}=e.zoomTransform||{};return t<=.29?{className:"is-small"}:null},scaleProperty=(()=>{const e=1,t=.3;function r(r){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;const n={style:{[r]:a}},i=`scale_${r}`,o=getValueScaler({valueMax:a,valueMin:arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,expAdjuster:arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5});return{[i](e){const{zoomTransform:t}=e;if(!t)return n;const a=o(t.k);return{style:{[r]:a}}}}[i]}return r.opacity=r("opacity"),r.strokeOpacity=r("strokeOpacity"),r.strokeOpacityStrong=r("strokeOpacity",t,e,.75),r.strokeOpacityStrongest=r("strokeOpacity",t,e,1),r})();function makeIriRef(e,t){return t?`url(#${e.getGlobalId(t)})`:t}const PATH_D_CMDS=["M","C"];function makePathD(e){const t=[],r=PATH_D_CMDS.length;for(let a=0;areactExports.createElement(SvgEdge,{key:`${t.edge.from}\v${t.edge.to}`,getClassName:e,layoutEdge:t,markerEndId:r,markerStartId:a,renderUtils:n,setOnEdge:i})))}}const INHERIT_STROKE={stroke:"#000"};class SvgEdgesLayer extends reactExports.PureComponent{render(){const{getClassName:e,graphState:t,markerEndId:r,markerStartId:a,setOnEdge:n}=this.props,{layoutEdges:i,renderUtils:o}=t;return i?reactExports.createElement(SvgLayer,Object.assign({},this.props,{classNamePart:"SvgEdgesLayer",extraWrapper:INHERIT_STROKE}),reactExports.createElement(SvgEdges,{getClassName:e,layoutEdges:i,markerEndId:r,markerStartId:a,renderUtils:o,setOnEdge:n})):null}}class SvgLayersGroup extends reactExports.PureComponent{renderLayers(){const{getClassName:e,layers:t,graphState:r}=this.props;return t.map((t=>{const{key:a,setOnContainer:n}=t;if(t.edges)return reactExports.createElement(SvgEdgesLayer,{key:a,getClassName:e,graphState:r,markerEndId:t.markerEndId,markerStartId:t.markerStartId,setOnContainer:n,setOnEdge:t.setOnEdge});if(t.measurable)throw new Error("Not implemented");return reactExports.createElement(NodesLayer,{key:a,getClassName:e,graphState:r,layerType:ELayerType.Svg,renderNode:t.renderNode,setOnContainer:n,setOnNode:t.setOnNode})}))}render(){return reactExports.createElement(SvgLayer,Object.assign({topLayer:!0},this.props,{classNamePart:"SvgLayersGroup"}),this.renderLayers())}}const resetZoomIcon=reactExports.createElement("svg",{fill:"currentColor",preserveAspectRatio:"xMidYMid meet",height:"1em",width:"1em",viewBox:"0 0 40 40"},reactExports.createElement("g",null,reactExports.createElement("path",{d:"m35 25v10h-10l3.8-3.8-4.8-4.8 2.4-2.4 4.8 4.8z m-20 10h-10v-10l3.8 3.8 4.8-4.8 2.4 2.4-4.8 4.8z m-10-20v-10h10l-3.8 3.8 4.8 4.8-2.4 2.4-4.8-4.8z m20-10h10v10l-3.8-3.8-4.8 4.8-2.4-2.4 4.8-4.8z"}))),LENGTH_TARGET_PX=80;function getMapSize(e){const{contentHeight:t,contentWidth:r}=e;return t>r?{height:LENGTH_TARGET_PX,width:LENGTH_TARGET_PX*r/t}:{height:LENGTH_TARGET_PX*t/r,width:LENGTH_TARGET_PX}}function getViewTransform(e,t){const{contentHeight:r,contentWidth:a,viewportHeight:n,viewportWidth:i,k:o=1,x:l=1,y:s=1}=e,{height:c,width:u}=t,f=r*o,A=a*o,d=Math.max(-l/A,0),p=Math.min((-l+i)/A,1),h=Math.max(-s/f,0),b=Math.min((-s+n)/f,1);return{transform:`\n translate(${(d*u).toFixed(2)}px, ${(h*c).toFixed(2)}px)\n scale(${p-d}, ${b-h})\n `,transformOrigin:"0 0"}}function getClassNames(e){const{className:t,classNamePrefix:r}=e,a=`${r||"plexus"}-MiniMap`;return{root:`${a} ${t||""}`,item:`${a}--item`,map:`${a}--map`,mapActive:`${a}--mapActive`,button:`${a}--button`}}function MiniMap(e){const t=getClassNames(e),r=getMapSize(e),a=getViewTransform(e,r);return reactExports.createElement("div",{className:t.root},reactExports.createElement("div",{className:`${t.item} ${t.map}`,style:r},reactExports.createElement("div",{className:t.mapActive,style:{...a,...r}})),reactExports.createElement("div",{className:`${t.item} ${t.button}`,onClick:e.viewAll,role:"button"},resetZoomIcon))}MiniMap.defaultProps={className:"",classNamePrefix:"plexus"};const MiniMap$1=reactExports.memo(MiniMap),WRAPPER_STYLE_ZOOM$1={height:"100%",overflow:"hidden",position:"relative",width:"100%"},WRAPPER_STYLE$1={position:"relative"};let idCounter$1=0;class Digraph extends reactExports.PureComponent{constructor(e){super(e),this.renderUtils=void 0,this.state={edges:[],layoutEdges:null,layoutGraph:null,layoutPhase:ELayoutPhase.NoData,layoutVertices:null,sizeVertices:null,vertices:[],zoomTransform:identity$4},this.baseId="plexus--Digraph--"+idCounter$1++,this.makeClassNameFactory=memoizeOne$1((e=>t=>`${e} ${e}-Digraph--${t}`)),this.rootRef=reactExports.createRef(),this.zoomManager=null,this.getGlobalId=e=>`${this.baseId}--${e}`,this.getZoomTransform=()=>this.state.zoomTransform,this.setSizeVertices=(e,t)=>{const{edges:r,layoutManager:a,measurableNodesKey:n}=this.props;if(e!==n){const t=`expected ${JSON.stringify(n)}, recieved ${JSON.stringify(e)}`;throw new Error(`Key mismatch for measuring nodes; ${t}`)}this.setState({sizeVertices:t});const{layout:i}=a.getLayout(r,t);i.then(this.onLayoutDone),this.setState({sizeVertices:t,layoutPhase:ELayoutPhase.CalcPositions})},this.onZoomUpdated=e=>{this.setState({zoomTransform:e})},this.onLayoutDone=e=>{if(e.isCancelled)return;const{edges:t,graph:r,vertices:a}=e;this.setState({layoutEdges:t,layoutGraph:r,layoutVertices:a,layoutPhase:ELayoutPhase.Done}),this.zoomManager&&this.zoomManager.setContentSize(r)};const{edges:t,vertices:r,zoom:a}=e;Array.isArray(t)&&t.length&&Array.isArray(r)&&r.length&&(this.state.layoutPhase=ELayoutPhase.CalcSizes,this.state.edges=t,this.state.vertices=r),a&&(this.zoomManager=new ZoomManager$1(this.onZoomUpdated)),this.renderUtils={getGlobalId:this.getGlobalId,getZoomTransform:this.getZoomTransform}}componentDidMount(){const{current:e}=this.rootRef;e&&this.zoomManager&&this.zoomManager.setElement(e)}renderLayers(){const{classNamePrefix:e,layers:t}=this.props,r=this.makeClassNameFactory(e||""),{sizeVertices:a,...n}=this.state,i={...n,renderUtils:this.renderUtils},{layoutPhase:o}=i;return t.map((e=>{const{layerType:t,key:a,setOnContainer:n}=e;if(e.layers){if(e.layerType===ELayerType.Html)return reactExports.createElement(HtmlLayersGroup,{key:a,graphState:i,layers:e.layers,getClassName:r,setOnContainer:n,setSizeVertices:this.setSizeVertices});if(e.layerType===ELayerType.Svg)return reactExports.createElement(SvgLayersGroup,{key:a,getClassName:r,defs:e.defs,graphState:i,layers:e.layers,setOnContainer:n})}if(e.edges){const{defs:t,markerEndId:l,markerStartId:s,setOnEdge:c}=e;return o===ELayoutPhase.Done?reactExports.createElement(SvgEdgesLayer,{key:a,standalone:!0,getClassName:r,defs:t,graphState:i,markerEndId:l,markerStartId:s,setOnContainer:n,setOnEdge:c}):null}if(e.measurable){const{measureNode:o,renderNode:l,setOnNode:s}=e;return reactExports.createElement(MeasurableNodesLayer,{key:a,standalone:!0,getClassName:r,graphState:i,layerType:t,measureNode:o,renderNode:l,senderKey:a,setOnContainer:n,setOnNode:s,setSizeVertices:this.setSizeVertices})}const{renderNode:l}=e;if(void 0!==l)return reactExports.createElement(NodesLayer,{key:a,standalone:!0,getClassName:r,graphState:i,layerType:e.layerType,renderNode:l,setOnContainer:n,setOnNode:e.setOnNode});throw new Error("Unrecognized layer")}))}render(){const{className:e,classNamePrefix:t,minimap:r,minimapClassName:a,setOnGraph:n,style:i}=this.props,o=this.zoomManager?WRAPPER_STYLE_ZOOM$1:WRAPPER_STYLE$1,l=assignMergeCss$1({style:o,className:`${t} ${t}-Digraph`},{className:e,style:i},getProps(n,{...this.state,renderUtils:this.renderUtils}));return reactExports.createElement("div",l,reactExports.createElement("div",{style:o,ref:this.rootRef},this.renderLayers()),r&&this.zoomManager&&reactExports.createElement(MiniMap$1,Object.assign({className:a,classNamePrefix:t},this.zoomManager.getProps())))}}Digraph.propsFactories={classNameIsSmall:classNameIsSmall$3,scaleOpacity:scaleProperty.opacity,scaleStrokeOpacity:scaleProperty.strokeOpacity,scaleStrokeOpacityStrong:scaleProperty.strokeOpacityStrong,scaleStrokeOpacityStrongest:scaleProperty.strokeOpacityStrongest},Digraph.scaleProperty=scaleProperty,Digraph.defaultProps={className:"",classNamePrefix:"plexus",minimap:!1,minimapClassName:"",zoom:!1};class EdgeArrowDef extends reactExports.PureComponent{static getId(e){return`${e}--edgeArrow`}static getIriRef(e){return`url(#${EdgeArrowDef.getId(e)})`}render(){const{id:e,scaleDampener:t,zoomScale:r=null}=this.props,a=null!=r?Math.max(t/r,1):1;return reactExports.createElement("defs",null,reactExports.createElement("marker",{id:e,markerHeight:8*a,markerUnits:"strokeWidth",markerWidth:8*a,orient:"auto",refX:8*a,refY:3*a},reactExports.createElement("path",{d:`M0,0 L0,${6*a} L${9*a},${3*a} z`,fill:"#000"})))}}function EdgesContainer(e){const{children:t,height:r,width:a,...n}=e;return reactExports.createElement("svg",Object.assign({height:r,width:a,xmlns:"http://www.w3.org/2000/svg"},n),t)}EdgeArrowDef.defaultProps={zoomScale:null,scaleDampener:.6};const D_CMDS=["M","C"];class EdgePath extends reactExports.PureComponent{render(){const{markerEnd:e,pathPoints:t,...r}=this.props,a=t.map(((e,t)=>`${D_CMDS[t]||""}${e.join(",")}`)).join(" ");return reactExports.createElement("path",Object.assign({d:a,fill:"none",stroke:"#000",vectorEffect:"non-scaling-stroke",markerEnd:e},r))}}class PureEdges extends reactExports.PureComponent{render(){const{arrowIriRef:e,layoutEdges:t,setOnEdgePath:r}=this.props;return t.map((t=>reactExports.createElement(EdgePath,Object.assign({key:`${t.edge.from}\v${t.edge.to}`,pathPoints:t.pathPoints,markerEnd:e},r&&r(t.edge)))))}}let Node$2=class extends reactExports.PureComponent{render(){const{classNamePrefix:e,hidden:t,labelFactory:r,vertex:a,left:n,top:i,forwardedRef:o,...l}=this.props,s=l;return s.style={...s.style,position:"absolute",transform:null==n||null==i?void 0:`translate(${n}px,${i}px)`,visibility:t?"hidden":void 0},s.className=`${e}-Node ${s.className||""}`,reactExports.createElement("div",Object.assign({ref:o},s),r(a))}};Node$2.defaultProps={hidden:!1,left:null,top:null};const Node$3=reactExports.forwardRef(((e,t)=>reactExports.createElement(Node$2,Object.assign({},e,{forwardedRef:t}))));class PureNodes extends reactExports.PureComponent{_renderVertices(){const{classNamePrefix:e,getNodeLabel:t,setOnNode:r,vertices:a,vertexRefs:n}=this.props;return a.map(((a,i)=>reactExports.createElement(Node$3,Object.assign({key:a.key,ref:n[i],hidden:!0,classNamePrefix:e,labelFactory:t,vertex:a},r&&r(a)))))}_renderLayoutVertices(){const{classNamePrefix:e,getNodeLabel:t,setOnNode:r,layoutVertices:a,vertexRefs:n}=this.props;return a?a.map(((a,i)=>reactExports.createElement(Node$3,Object.assign({key:a.vertex.key,ref:n[i],classNamePrefix:e,labelFactory:t,vertex:a.vertex,left:a.left,top:a.top},r&&r(a.vertex))))):null}render(){return this.props.layoutVertices?this._renderLayoutVertices():this._renderVertices()}}const SCALE_THRESHOLD_SMALL=.29;function classNameIsSmall$2(e){const{k:t=1}=e.zoomTransform||{};return t<=SCALE_THRESHOLD_SMALL?{className:"is-small"}:null}function reduce(e,t){let{className:r,style:a,...n}=e;const{className:i,style:o,...l}=t;return i&&(r=r?`${r} ${i}`:i),o&&"object"==typeof o&&(a=a?{...a,...o}:o),{className:r,style:a,...n,...l}}function assignMergeCss(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=[];for(let a=0;aTHRESHOLD_MIN)r=PROPS_MIN;else if(t{if(!e.isCancelled){const{graph:t,vertices:r}=e;this.setState({layoutGraph:t,layoutVertices:r,layoutPhase:PHASE_CALC_EDGES})}},this._onLayoutDone=e=>{const t=this.rootRef.current;if(e.isCancelled||!t)return;const{edges:r,graph:a,vertices:n}=e;this.setState({layoutEdges:r,layoutGraph:a,layoutVertices:n,layoutPhase:PHASE_DONE}),this.zoomManager&&this.zoomManager.setContentSize(a)},this._onZoomUpdated=e=>{this.setState({zoomTransform:e})};const{edges:t,vertices:r,zoom:a}=e;Array.isArray(t)&&t.length&&Array.isArray(r)&&r.length&&(this.state.layoutPhase=PHASE_CALC_SIZES,this.state.edges=t,this.state.vertices=r,this.state.vertexRefs=createHtmlRefs(r.length)),this.state.zoomEnabled=a;const n=`plexus--DirectedGraph--${idCounter}`;idCounter+=1,this.arrowId=EdgeArrowDef.getId(n),this.arrowIriRef=EdgeArrowDef.getIriRef(n),this.rootRef=reactExports.createRef(),this.zoomManager=a?new ZoomManager$1(this._onZoomUpdated):null}componentDidMount(){this._setSizeVertices();const{current:e}=this.rootRef;e&&this.zoomManager&&this.zoomManager.setElement(e)}componentDidUpdate(){const{layoutPhase:e}=this.state;e===PHASE_CALC_SIZES&&this._setSizeVertices()}_setSizeVertices(){const{edges:e,layoutManager:t,vertices:r}=this.props,a=[];this.state.vertexRefs.forEach(((e,t)=>{const{current:n}=e;n&&a.push({height:n.offsetHeight,vertex:r[t],width:n.offsetWidth})}));const{positions:n,layout:i}=t.getLayout(e,a);n.then(this._onPositionsDone),i.then(this._onLayoutDone),this.setState({sizeVertices:a,layoutPhase:PHASE_CALC_POSITIONS})}_renderVertices(){const{classNamePrefix:e,getNodeLabel:t,setOnNode:r,vertices:a}=this.props,{layoutVertices:n,vertexRefs:i}=this.state;return reactExports.createElement(PureNodes,{classNamePrefix:e,getNodeLabel:t||String,layoutVertices:n,setOnNode:r,vertexRefs:i,vertices:a})}_renderEdges(){const{setOnEdgePath:e}=this.props,{layoutEdges:t}=this.state;return t&&reactExports.createElement(PureEdges,{setOnEdgePath:e,layoutEdges:t,arrowIriRef:this.arrowIriRef})}render(){const{arrowScaleDampener:e,className:t,classNamePrefix:r,minimap:a,minimapClassName:n,setOnEdgesContainer:i,setOnNodesContainer:o,setOnRoot:l}=this.props,{layoutPhase:s,layoutGraph:c,zoomEnabled:u,zoomTransform:f}=this.state,{height:A=0,width:d=0}=c||{},p=s===PHASE_DONE,h=assignMergeCss(o&&o(this.state)||{},{style:{...u?ZoomManager$1.getZoomStyle(f):null,position:"absolute",top:0,left:0},className:`${r}-DirectedGraph--nodeContainer`}),b=assignMergeCss(i&&i(this.state)||{},{style:{minHeight:"100%",minWidth:"100%"},className:`${r}-DirectedGraph--nodeContainer`}),g=assignMergeCss(l&&l(this.state)||{},{style:u?WRAPPER_STYLE_ZOOM:WRAPPER_STYLE,className:`${r}-DirectedGraph ${t}`});return reactExports.createElement("div",Object.assign({},g,{ref:this.rootRef}),c&&p&&reactExports.createElement(EdgesContainer,Object.assign({},b,{height:A,width:d}),reactExports.createElement(EdgeArrowDef,{id:this.arrowId,scaleDampener:e,zoomScale:u&&f?f.k:null}),reactExports.createElement("g",{transform:u?ZoomManager$1.getZoomAttr(f):void 0},this._renderEdges())),reactExports.createElement("div",h,this._renderVertices()),u&&a&&this.zoomManager&&reactExports.createElement(MiniMap$1,Object.assign({className:n,classNamePrefix:r},this.zoomManager.getProps())))}}DirectedGraph.propsFactories={classNameIsSmall:classNameIsSmall$2,mergePropSetters:mergePropSetters,scaledStrokeWidth:scaledStrokeWidth},DirectedGraph.defaultProps={arrowScaleDampener:void 0,className:"",classNamePrefix:"plexus",minimap:!1,minimapClassName:"",zoom:!1};let EWorkerErrorType=function(e){return e.Error="Error",e.LayoutError="LayoutError",e}({}),ECoordinatorPhase=function(e){return e.Done="Done",e.DotOnly="DotOnly",e.Edges="Edges",e.NotStarted="NotStarted",e.Positions="Positions",e}({}),EWorkerPhase=function(e){return e.DotOnly="DotOnly",e.Edges="Edges",e.Positions="Positions",e}({});const round$1=Math.round,DPI=72;function vertexToDot(e){const{vertex:t,height:r,width:a}=e;return{vertex:t,height:r/DPI,width:a/DPI}}function edgeToPixels(e,t){const{height:r}=e,{edge:a,pathPoints:n}=t;return{edge:a,pathPoints:n&&n.map((e=>[round$1(e[0]*DPI),round$1((r-e[1])*DPI)]))}}function graphToPixels(e){const{height:t,scale:r,width:a}=e;return{scale:r,height:t*DPI,width:a*DPI}}function vertexToPixels(e,t){const{height:r}=e,{vertex:a,height:n,left:i,top:o,width:l}=t;return{vertex:a,height:round$1(n*DPI),left:null!=i?round$1((i-.5*l)*DPI):i,top:null!=o?round$1((r-o-.5*n)*DPI):o,width:round$1(l*DPI)}}const makeEdgeId=e=>`${e.from}\v${e.to}`;function unmapVertices(e,t){return t.map((t=>{const r=e.get(t.vertex.key);if(!r)throw new Error(`Unable to find Vertex for ${t.vertex.key}`);return{...t,vertex:r.vertex}}))}function unmapEdges(e,t){return t.map((t=>{const r=makeEdgeId(t.edge),a=e.get(r);if(!a)throw new Error(`Unable to find edge for ${r}`);return{...t,edge:a}}))}function convInputs(e,t){const r=new Map,a=new Map,n=new Map,i=t.map((e=>{const{vertex:{key:t},...n}=e;if(r.has(t))throw new Error(`Non-unique vertex key: ${t}`);const i=String(r.size);return r.set(t,i),a.set(i,e),{vertex:{key:i},...n}})),o=e.map((e=>{const{from:t,to:a,isBidirectional:i}=e,o=r.get(t),l=r.get(a);if(null==o)throw new Error(`Unrecognized key on edge, from: ${t}`);if(null==l)throw new Error(`Unrecognized key on edge, to: ${a}`);const s={isBidirectional:i,from:o,to:l};return n.set(makeEdgeId(s),e),s}));return{edges:o,vertices:i,unmapEdges:unmapEdges.bind(null,n),unmapVertices:unmapVertices.bind(null,a)}}var A$1={5:e=>{e.exports=function(e,t,r,a){var n=self||window;try{try{var i;try{i=new n.Blob([e])}catch(t){(i=new(n.BlobBuilder||n.WebKitBlobBuilder||n.MozBlobBuilder||n.MSBlobBuilder)).append(e),i=i.getBlob()}var o=n.URL||n.webkitURL,l=o.createObjectURL(i),s=new n[t](l,r);return o.revokeObjectURL(l),s}catch(a){return new n[t]("data:application/javascript,".concat(encodeURIComponent(e)),r)}}catch(e){if(!a)throw Error("Inline worker is not supported");return new n[t](a,r)}}}},e={};function a$1(t){var r=e[t];if(void 0!==r)return r.exports;var a=e[t]={exports:{}};return A$1[t](a,a.exports,a$1),a.exports}a$1.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a$1.d(t,{a:t}),t},a$1.d=(e,t)=>{for(var r in t)a$1.o(t,r)&&!a$1.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a$1.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};(()=>{a$1.d(i,{Z:()=>r});var e=a$1(5),t=a$1.n(e);function r(){return t()('var A={221:function(A,e,i){!function(e){var r=function(A){A=void 0!==(A=A||{})?A:{};var e,r={};for(e in A)A.hasOwnProperty(e)&&(r[e]=A[e]);A.arguments=[],A.thisProgram="./this.program",A.quit=function(A,e){throw e},A.preRun=[],A.postRun=[];var f,a,n=!1,l=!1,t=!1,c=!1;if(A.ENVIRONMENT)if("WEB"===A.ENVIRONMENT)n=!0;else if("WORKER"===A.ENVIRONMENT)l=!0;else if("NODE"===A.ENVIRONMENT)t=!0;else{if("SHELL"!==A.ENVIRONMENT)throw new Error("Module[\'ENVIRONMENT\'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");c=!0}else n="object"==typeof window,l="function"==typeof importScripts,t="object"==typeof process&&!n&&!l,c=!n&&!t&&!l;for(e in t?(A.read=function(A,e){var r;return(r=HA(A))||(f||(f=i(725)),a||(a=i(966)),A=a.normalize(A),r=f.readFileSync(A)),e?r:r.toString()},A.readBinary=function(e){var i=A.read(e,!0);return i.buffer||(i=new Uint8Array(i)),k(i.buffer),i},process.argv.length>1&&(A.thisProgram=process.argv[1].replace(/\\\\/g,"/")),A.arguments=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof ee))throw A})),process.on("unhandledRejection",(function(A,e){process.exit(1)})),A.inspect=function(){return"[Emscripten Module object]"}):c?("undefined"!=typeof read&&(A.read=function(A){var e=HA(A);return e?XA(e):read(A)}),A.readBinary=function(A){var e;return(e=HA(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(k("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?A.arguments=scriptArgs:void 0!==arguments&&(A.arguments=arguments),"function"==typeof quit&&(A.quit=function(A,e){quit(A)})):(n||l)&&(A.read=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var i=HA(A);if(i)return XA(i);throw e}},l&&(A.readBinary=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=HA(A);if(i)return i;throw e}}),A.readAsync=function(A,e,i){var r=new XMLHttpRequest;r.open("GET",A,!0),r.responseType="arraybuffer",r.onload=function(){if(200==r.status||0==r.status&&r.response)e(r.response);else{var f=HA(A);f?e(f.buffer):i()}},r.onerror=i,r.send(null)},void 0!==arguments&&(A.arguments=arguments),A.setWindowTitle=function(A){document.title=A}),A.print="undefined"!=typeof console?console.log:"undefined"!=typeof print?print:null,A.printErr="undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn||A.print,A.print=A.print,A.printErr=A.printErr,r)r.hasOwnProperty(e)&&(A[e]=r[e]);function b(A){k(!Z);var e=I;return I=I+A+15&-16,e}function s(A){k(W);var e=C[W>>2],i=e+A+15&-16;return C[W>>2]=i,i>=X&&!J()?(C[W>>2]=e,0):e}function w(A,e){return e||(e=16),Math.ceil(A/e)*e}r=void 0,new Array(0);var u=0;function k(A,e){A||re("Assertion failed: "+e)}var o={stackSave:function(){OA()},stackRestore:function(){PA()},arrayToC:function(A){var e=SA(A.length);return function(A,e){v.set(A,e)}(A,e),e},stringToC:function(A){var e=0;if(null!=A&&0!==A){var i=1+(A.length<<2);M(A,e=SA(i),i)}return e}},h={string:o.stringToC,array:o.arrayToC};function d(A,e){if(0===e||!A)return"";for(var i,r=0,f=0;r|=i=g[A+f>>0],(0!=i||e)&&(f++,!e||f!=e););e||(e=f);var a="";if(r<128){for(var n,l=1024;e>0;)n=String.fromCharCode.apply(String,g.subarray(A,A+Math.min(e,l))),a=a?a+n:n,A+=l,e-=l;return a}return Y(A)}var B,v,g,E,C,I,Z,G,Q,m,L,W,y="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(A,e){for(var i=e;A[i];)++i;if(i-e>16&&A.subarray&&y)return y.decode(A.subarray(e,i));for(var r,f,a,n,l,t="";;){if(!(r=A[e++]))return t;if(128&r)if(f=63&A[e++],192!=(224&r))if(a=63&A[e++],224==(240&r)?r=(15&r)<<12|f<<6|a:(n=63&A[e++],240==(248&r)?r=(7&r)<<18|f<<12|a<<6|n:(l=63&A[e++],r=248==(252&r)?(3&r)<<24|f<<18|a<<12|n<<6|l:(1&r)<<30|f<<24|a<<18|n<<12|l<<6|63&A[e++])),r<65536)t+=String.fromCharCode(r);else{var c=r-65536;t+=String.fromCharCode(55296|c>>10,56320|1023&c)}else t+=String.fromCharCode((31&r)<<6|f);else t+=String.fromCharCode(r)}}function Y(A){return z(g,A)}function D(A,e,i,r){if(!(r>0))return 0;for(var f=i,a=i+r-1,n=0;n=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&A.charCodeAt(++n)),l<=127){if(i>=a)break;e[i++]=l}else if(l<=2047){if(i+1>=a)break;e[i++]=192|l>>6,e[i++]=128|63&l}else if(l<=65535){if(i+2>=a)break;e[i++]=224|l>>12,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=2097151){if(i+3>=a)break;e[i++]=240|l>>18,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else if(l<=67108863){if(i+4>=a)break;e[i++]=248|l>>24,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}else{if(i+5>=a)break;e[i++]=252|l>>30,e[i++]=128|l>>24&63,e[i++]=128|l>>18&63,e[i++]=128|l>>12&63,e[i++]=128|l>>6&63,e[i++]=128|63&l}}return e[i]=0,i-f}function M(A,e,i){return D(A,g,e,i)}function F(A){for(var e=0,i=0;i=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&A.charCodeAt(++i)),r<=127?++e:e+=r<=2047?2:r<=65535?3:r<=2097151?4:r<=67108863?5:6}return e}function V(){re("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+X+", (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 J(){V()}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),I=Q=W=0,Z=!1;var N=A.TOTAL_STACK||5242880,X=A.TOTAL_MEMORY||16777216;if(X0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?A.dynCall_v(r):A.dynCall_vi(r,i.arg):r(void 0===i.arg?null:i.arg)}else i()}}var H=[],p=[],U=[],x=[],T=[],j=!1;function S(A,e,i){for(var r=0;r>0]=A.charCodeAt(r);i||(v[e>>0]=0)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(A,e){var i=65535&A,r=65535&e;return i*r+((A>>>16)*r+i*(e>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(A){A>>>=0;for(var e=0;e<32;e++)if(A&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(A){return A<0?Math.ceil(A):Math.floor(A)}),Math.trunc=Math.trunc;var P=Math.abs,O=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt),K=Math.ceil,_=Math.floor,q=Math.pow,$=(Math.imul,Math.fround,Math.round,Math.min,Math.max,Math.clz32,Math.trunc,0),AA=null,eA=null;function iA(e){$++,A.monitorRunDependencies&&A.monitorRunDependencies($)}function rA(e){if($--,A.monitorRunDependencies&&A.monitorRunDependencies($),0==$&&(null!==AA&&(clearInterval(AA),AA=null),eA)){var i=eA;eA=null,i()}}A.preloadedImages={},A.preloadedAudios={};var fA=null,aA="data:application/octet-stream;base64,";function nA(A){return String.prototype.startsWith?A.startsWith(aA):0===A.indexOf(aA)}var lA=[function(A,e){var i=d(A),r=d(e);EA.createPath("/",oA.dirname(i)),EA.writeFile(oA.join("/",i),r)}];I=197240,p.push(),fA="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABr4VQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/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+AAAAAAAADD0AAAQAAAA4PwAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAEAAAADAAAAAAAAAAAAAAAI2QIAGNkCACjZAgA42QIASNkCAFjZAgBo2QIAeNkCABjZAgAY2QIAWNkCAFjZAgAfAAAAPwAAAH8AAAAAAAAAooUBAAEAAACoKwAAaAAAAAQAAADVCAEAAQAAACAsAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAUBAAEAAAAAAAAA4AAAAAAAAAB4BQEAAQAAAAAAAADgAAAAAQAAAH8FAQABAAAAAAAAAKgAAAACAAAAiQUBAAEAAAAAAAAA4AAAAAMAAACTBQEAAQAAAAAAAADgAAAABAAAAKEFAQABAAAAAAAAAOAAAAAFAAAAqwUBAAEAAAAAAAAA4AAAAAYAAAC4BQEAAQAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2ggBAAEAAADELQAAGAEAAAEAAADfCAEAAQAAAMQtAAAYAQAAAgAAAOUIAQABAAAAxC0AABgBAAADAAAA7ggBAAEAAADELQAAGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgIAQABAAAAAAAAAHABAAABAAAAAgkBAAEAAAAAAAAAcAEAAAIAAAANCQEAAQAAAAAAAAA4AQAAAwAAABsJAQABAAAAAAAAADgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAwAAAANAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAYAAAACAAAAAgAAAAcAAAACAAAAAAAAAGIYAgBnAQIA+AICADgJAgAvEAIAbhQCAO4XAgD/FwIAAAAAAGIJAQABAAAAKC8AAKgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmCQEAAQAAAAAAAADIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAbgkBAAEAAAA4MAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAKYKAQABAAAAAAAAACACAAACAAAAsAoBAAEAAAAAAAAAWAIAAAAAAAC5CgEAAQAAAAAAAABYAgAAAwAAAMIKAQABAAAAAAAAAFgCAAAAAAAAzAoBAAEAAAAAAAAAIAIAAAMAAADYCgEAAQAAAAAAAAAgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAASAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAJAAAAAwAAAAMAAAAKAAAABAAAAAAAAABiGAIAZwECADgJAgD4AgIAbhQCAC8QAgD/FwIA7hcCAAAAAAAAAAAAlQwBAP////88MQAAkAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgMAQD/////AAAAALACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACojQEAAQAAAFAyAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGQAAABoAAAAAAAAABAAAAAAAAAAbAAAAHAAAAB0AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAgAAAAIQAAACIAAAACAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAMAAAABQAAAAQAAAANAAAABQAAAAMAAACVEAEAoxABALkQAQDz+QIAxxABANYQAQDbEAEA+RABAPP5AgALEQEAOxEBAPP5AgBZEQEAgREBAI8RAQC+EQEA8hEBAAMSAQAoEgEASxIBAFESAQBtEgEAihIBAKUSAQDGEgEA4BIBAAITAQAhEwEARxMBAF8TAQB/EwEAnBMBAMATAQDMEwEA8/kCANcTAQD9EwEAIRQBAEcUAQDz+QIAfRQBAJUUAQCiFAEA0RQBAMwTAQDz+QIA3hQBAOcUAQAIFQEAQxUBAI4VAQDiFQEABBYBABkWAQAwFgEARhYBAF4WAQDz+QIAdBYBAI8WAQCzFgEA1xYBAPwWAQDz+QIAHRcBADcXAQBJFwEAVhcBAGMXAQB3FwEAhhcBAI4XAQCjFwEAsRcBAO8XAQD6FwEAzBMBAPP5AgAAGAEADBgBABsYAQBLEgEA8/kCAC4YAQBXGAEAdRgBAIUYAQCWGAEAnRgBAKwYAQC8GAEAABkBAAcZAQBLEgEA8/kCABEZAQA9GQEASBkBAFEZAQBaGQEAaxkBAHwZAQCQGQEAzBMBAPP5AgCcGQEArBkBALoZAQDIGQEA1RkBAOIZAQD4GQEAARoBABAaAQAdGgEALhoBAMwTAQDz+QIAORoBAFgaAQDz+QIAahoBAHkaAQCpGgEAsxoBAMAaAQDNGgEA2hoBAOcaAQDqGgEA8/kCAO4aAQDz+QIAERsBAEIbAQBxGwEAiBsBAKMbAQC+GwEAzBMBAPP5AgDaGwEA8/kCAAIcAQAOHAEAIRwBADQcAQBJHAEAXhwBAGIcAQBLEgEA8/kCAG4cAQDz+QIAfhwBAIwcAQCYHAEApRwBAMUcAQDbHAEA8/kCAO8cAQA4HQEAfh0BAK4dAQDhHQEA6B0BAA8eAQA2HgEA8/kCADseAQAAAAAAAAAAAPBHAQABAAAAAAAAAAgDAAABAAAArx4BAAEAAAAAAAAACAMAAAIAAADpRwEAAQAAAAAAAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAlAAAABgAAACYAAAAnAAAAKAAAACkAAAAqAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAEAAAALwAAAAAAAAAAAAAADgAAAAAAAAAPAAAABwAAAAUAAAAQAAAABgAAAAAAAAB/AAIAiQACAHkxAQDOAAIACQECACsBAgAxAQIAYhgCAFgBAgBnAQIAhAECAI8BAgCxAQIA5wECAB0CAgBYAgIAjgICALACAgC/AgIA8AICAPgCAgA/JQEASCUBABUDAgBRJQEAXwMCAFolAQBpAwIAYyUBAHMDAgDCAwIA/QMCAG8lAQA4BAIAQwQCAIgEAgCWBAIA4AQCAO4EAgD8BAIABwUCADgFAgB4BQIAgAUCAIgFAgDDBQIA+QUCAAUGAgB+MQEAEQYCABsGAgAmBgIAQwYCAHkGAgA4CQIAWgkCAGYJAgAlDAIAVgwCAIIMAgC4DAIAxQwCAOcMAgAJDQIAEg0CAFwNAgBmDQIAqw0CAOENAgDsDQIAcQ4CAIYOAgB3JQEAkA4CAJoOAgDQDgIAEA8CAB4PAgByDwIAgQ8CAJAPAgDfDwIAhjEBAB8QAgApEAIALxACAFsQAgCCEAIAkxACAJ4QAgDjEAIAKBECADcRAgBHEQIAWRECAGkRAgB5EQIAhhECAJARAgDGEQIAzxECAA8SAgAiEgIAizEBACoSAgBgEgIAhxICAL0SAgDkEgIA8hICACgTAgByEwIAvBMCAMcTAgD9EwIAAhQCAB8UAgA8FAIARxQCAG4UAgCGFAIAvBQCAPIUAgD+FAIAJRUCADAVAgBhFQIAkhUCAHg8AQC5FQIA5RUCABsWAgBRFgIAWxYCAHgWAgC4FgIA7hYCAJExAQAGFwIAMhcCAFkXAgCPFwIAzBcCAO4XAgD0FwIA/xcCACYYAgAAAAAAq40BAAEAAADINQAAeAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMdIAQABAAAAAAAAAJgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAABIAAAAIAAAABgAAABMAAAAHAAAAAAAAAAAAAACtJgEAAQAAANw4AADQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsCYBAAEAAAAAAAAA8AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAA1AAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADcAAAAAAAAAAAAAABQAAAAAAAAAFQAAAAkAAAAHAAAAFgAAAAgAAAAAAAAAeTEBAGIYAgBnAQIAfjEBAHkGAgA4CQIAhjEBAFsQAgAPEgIAizEBAEcUAgBuFAIAeDwBAJExAQDuFwIA/xcCAAAAAACWMQEAAQAAAKQ5AAAoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmjEBAAEAAAAAAAAASAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAA5AAAAOgAAAAoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQQAAAEIAAABDAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAGAAAAAsAAAAIAAAAGQAAAAkAAAAAAAAAzgACAA47AQBiGAIAZwECAIQBAgAZOwEAHzsBACo7AQAxOwEAjwECAOcBAgA5OwEAPzsBAEo7AQCOAgIAsAICAPgCAgBROwEAXwMCAHMDAgD9AwIAWzsBAIgEAgCWBAIA4AQCAGY7AQDuBAIAbjsBAHc7AQCFOwEAjzsBAMMFAgCYOwEABQYCACYGAgBDBgIAnjsBAIoGAgC1BgIA3gYCAAEHAgAqBwIATQcCAHYHAgCZBwIAwgcCAOUHAgAOCAIAMQgCAFoIAgB9CAIApggCAMkIAgDyCAIAFQkCADgJAgClOwEAWgkCALE7AQCCDAIA5wwCAKsNAgC+OwEAkA8CAMs7AQAfEAIALxACANU7AQBbEAIAghACAJMQAgDkOwEA9jsBAJ4QAgAoEQIANxECAEcRAgBZEQIAaRECAAY8AQARPAEAHDwBAHkRAgAPEgIAFBICACE8AQAqPAEAMzwBAEM8AQBKPAEAYBICAIcSAgC9EgIA8hICAAIUAgAfFAIAUjwBAG4UAgBZPAEA/hQCAGI8AQAwFQIAajwBAJIVAgB4PAEAuRUCAOUVAgB/PAEAeBYCALgWAgCJPAEA7hYCAAYXAgBZFwIAkzwBAKE8AQCPFwIAlhcCAMwXAgDuFwIA/xcCACYYAgAAAAAAszwBAAEAAACsOgAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALc8AQABAAAAAAAAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEUAAAAAAAAAAAAAAEYAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAABsAAAAMAAAACQAAABwAAAAKAAAAAAAAAEFCAACwoQEAQUkAAIqhAQBBUgAAXaEBAEFYAADFoQEAQiAAAAGkAQBCSQAAEqQBAENCAABKogEAQ08AADiiAQBDWAAAV6IBAEggAAB7ogEASEIAAIWiAQBISQAAEaMBAEhYAACUogEASGIAAMWiAQBIaQAA+KIBAEhyAACqogEASHgAANuiAQBJIAAAI6QBAEtCAADcoQEAS0kAACSiAQBLUgAAEKIBAEtYAAD9oQEATkIAACOjAQBOSQAAaqMBAE5SAACCowEATlgAAE6jAQBQQQAA46MBAFBCAACfowEAUEkAANOjAQBQWAAAv6MBAFIgAADapQEAUyAAAPKjAQBaRAAAYKQBAAAAAAAAAAAAAQAAAAAAAABdRwEA/////1w9AADYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYUcBAP////8AAAAA+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAGlHAQABAAAAIEMAAAAAAAAQAAAAcUcBAAEAAAAgQwAAAAAAABEAAAB5RwEAAQAAACBDAAAAAAAAEQAAAIJHAQABAAAAIEMAAAAAAAARAAAAikcBAAEAAAAgQwAAAAAAABMAAACSRwEAAQAAACRDAAAAAAAAFAAAAJpHAQABAAAAJEMAAAAAAAAVAAAAokcBAAEAAAAkQwAAAAAAABUAAACrRwEAAQAAACRDAAAAAAAAFQAAALNHAQABAAAAJEMAAAAAAAAWAAAAu0cBAAEAAAAoQwAAAAAAABcAAADERwEAAQAAAChDAAAAAAAAGAAAAM1HAQABAAAAKEMAAAAAAAAYAAAA10cBAAEAAAAoQwAAAAAAABgAAADgRwEAAQAAAChDAAAAAAAAGQAAAOlHAQABAAAALEMAAAAAAAAZAAAA8EcBAAEAAAAsQwAAAAAAABoAAAD2RwEAAQAAADBDAAAAAAAACgAAAP9HAQABAAAANEMAAAAAAAALAAAAB0gBAAEAAAA0QwAAAAAAAAwAAAAPSAEAAQAAADRDAAAAAAAADAAAABhIAQABAAAANEMAAAAAAAAMAAAAIEgBAAEAAAA0QwAAAAAAAA4AAAAoSAEAAQAAADRDAAAAAAAADgAAAC9IAQABAAAANEMAAAAAAAANAAAAN0gBAAEAAAA0QwAAAAAAAAUAAAA/SAEAAQAAADRDAAAAAAAABgAAAEdIAQABAAAANEMAAAAAAAAHAAAAT0gBAAEAAAA0QwAAAAAAAAcAAABYSAEAAQAAADRDAAAAAAAABwAAAGBIAQABAAAANEMAAAAAAAAJAAAAaEgBAAEAAAA0QwAAAAAAAAkAAABvSAEAAQAAADRDAAAAAAAACAAAAHdIAQABAAAANEMAAAAAAAAAAAAAf0gBAAEAAAA4QwAAAAAAAAEAAACISAEAAQAAADhDAAAAAAAAAgAAAJFIAQABAAAAOEMAAAAAAAACAAAAm0gBAAEAAAA4QwAAAAAAAAIAAACkSAEAAQAAADhDAAAAAAAABAAAAK1IAQABAAAAOEMAAAAAAAAEAAAAtUgBAAEAAAA4QwAAAAAAAAMAAAC+SAEAAQAAADhDAAAAAAAAEgAAAMdIAQABAAAAIEMAAAAAAAAbAAAAz0gBAAEAAAA8QwAAAAAAABwAAADXSAEAAQAAADxDAAAAAAAAHQAAAN9IAQABAAAAPEMAAAAAAAAdAAAA6EgBAAEAAAA8QwAAAAAAAB0AAADwSAEAAQAAADxDAAAAAAAAHgAAAPhIAQABAAAAQEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAAGNMAQBMQwAAAQAAAGhDAAAAAAAAAAAAAEgAAABJAAAAAQAAAAAAAACihQEAAAAAAFxDAABkQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAQAAAAYAQAAMAEAALAAAACIVAEAjVQBAJFUAQCYVAEAnFQBAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAdAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAfAAAAAAAAAAAAAACRWQEAKEQAAAEAAACARAAAAAAAAAAAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAEsAAABVAAAASwAAAFYAAABXAAAAWAAAAFkAAAAAAAAAnlkBAAAAAAA4RAAAKNsCAAEAAACkWQEAAAAAAEBEAAAo2wIAAgAAAKhZAQAAAAAASEQAACjbAgADAAAArVkBAAAAAABQRAAAKNsCAAQAAACzWQEAAAAAAFhEAAAo2wIABQAAALlZAQAAAAAAcEQAACjbAgAGAAAAw1kBAAAAAAB4RAAAKNsCAAcAAADJWQEAAAAAAGBEAAAo2wIABwAAAM1ZAQAAAAAAYEQAACjbAgAHAAAA0lkBAAAAAABoRAAAKNsCAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAADAAAAAAAAAAAQAAACAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAAAAAAPGcBAFRnAQBzZwEAkGcBAK9nAQC2ZwEAv2cBADxnAQBBZwEASGcBAE1nAQDeZgEA8GYBAP5mAQAMZwEAGmcBACFnAQAwZwEAPGcBAAAAAADz+QIAAAAAAB0SAgABAAAA+GkBAAcAAAC8aQEAAwAAAMYlAgAFAAAAAGoBAA8AAACQjQEACAAAAJCNAQAQAAAACGoBAAQAAAAIagEAEQAAAA1qAQAFAAAADWoBAAIAAAATagEABgAAABpqAQAEAAAAJmoBAAcAAAAuagEABwAAAD5qAQAFAAAARGoBAAgAAABbagEACAAAAERqAQAJAAAAZGoBAAcAAABsagEACgAAAIZqAQAHAAAAjmoBAAsAAACoagEABgAAAK9qAQAMAAAAzWoBAAkAAACvagEADQAAANdqAQAIAAAA4GoBAA4AAAABawEACAAAAAprAQASAAAAK2sBAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAMAAAAhAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAiAAAABQAAAAAAAAAAAAAAAAAAAAUAAABAAAAAiEcAAJhHAAAGAAAABAAAAKRHAAAGAAAACAAAAAYAAAAEAAAArEcAAAAEAAAIAAAA/////wAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAIAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAJAAAAAAAAAAcAAAAAAAAACQAAAAsAAAAIAAAACgAAADBJAAC0SAAAGEkAAAEAAAABAAAACgAAABYAAAALAAAAWgAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA0AAAAAAAAABwAAAAAAAAAHAAAAAgAAAAUAAAAIAAAAAAAAAAAAAAAGAAAAAwAAAA4AAAALAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAADwAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAEAAAAAAAAAAHAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAmAAAAAAAAAAAAAAAAAAAAAAAAABAAAAD/////AAAAAAAAAAAnAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAwAAAAEAAAABAAAAAgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAABAAAAAUAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAGAAAAAQAAAAEAAAAHAAAACAAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAAQAAAAEAAAALAAAAAQAAAAwAAAABAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABMAAAATAAAAEwAAABMAAAAXAAAAGAAAABkAAAATAAAAGgAAABsAAAAcAAAAHQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAB4AAAABAAAAAQAAABMAAAABAAAAHwAAACAAAAAhAAAAIgAAACMAAAATAAAAJAAAACUAAAAmAAAAEwAAABMAAAATAAAAEwAAACcAAAAoAAAAKQAAABMAAAAqAAAAKwAAACwAAAAtAAAAEwAAABMAAAATAAAAEwAAABMAAAABAAAAAQAAAAEAAAABAAAAAQAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAALgAAABMAAAATAAAAEwAAAC8AAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAADAAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAAAAAAAEAAAABAAAAAgAAAAMAAAABAAAABAAAAAEAAAAFAAAAAQAAAAYAAAAHAAAABwAAAAEAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAwAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAIAAAAB5swEAWrMBACB8AQCGswEAfrMBAIyzAQAAAAAAJoABAC+AAQA2gAEARIABAHqyAQCiswEAS4ABAFKAAQABAAAACAAAAP////8AAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAA8IEBAAgAAAADAAAA+YEBAP2BAQALAAAABgAAAKiNAQAJggEAAgAAAAEAAAAMggEAEIIBAAQAAAACAAAAFYIBABmCAQAEAAAABAAAAB6CAQAjggEABQAAAAUAAAApggEALYIBAAQAAAAHAAAAMoIBADaCAQAFAAAACQAAADyCAQBAggEABAAAAAoAAABFggEASoIBAAQAAAAMAAAAT4IBAOKGAQAAAAAAAQAAAOqGAQABAAAAAAAAAHWyAQABAAAAAQAAAB0SAgAAAAAAAAAAAAAAAAAAAAAAAAAAAMuFAQAxAAAAAAAAAAAAAACjrQEAEAAAAEUeAgCAAAAAxIUBAEAAAAAOoAEAEAAAAMaFAQBAAAAAAAAAAAAAAACShQEAAQAAAJmFAQACAAAAnoUBAAMAAADMpgEABAAAADCdAQAFAAAAooUBAAYAAAAdEgIACAAAAKaFAQAhAAAAqoUBACIAAACuhQEAIgAAALKFAQABAAAAt4UBAAcAAAC9hQEAJwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAApAAAAAAAAAAAAAAAAAAAAAAAAAP2KAQAEiwEAAAAAAKWNAQCojQEAq40BAAAAAAAAAAAAAQAAAAIAAAD/////aI0BAG6NAQAdEgIAAAAAAGQAAABlAAAAZgAAAGQAAAAIAAAACAAAAAAAAAAAAAAAKgAAABEAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAJAAAAKwAAABEAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAADMpgEAYFUAAIAGAAAAAAAA+ZwBAGBVAACwBgAAAAAAANKlAQBgVQAA4AYAAAAAAAABnQEAYFUAAOAGAAAAAAAABp0BAGBVAAAQBwAAAAAAAA2dAQB4VQAAEAcAAAAAAAATnQEAYFUAAEAHAAAAAAAAF50BAGBVAABwBwAAAAAAAB0SAgBgVQAAoAcAAAAAAAAgnQEAYFUAAKAHAAAAAAAAKp0BAGBVAABQBgAAAAAAADCdAQBgVQAA0AcAAAAAAAA4nQEAYFUAAAAIAAAAAAAAQp0BAGBVAAAwCAAAAAAAAFCdAQBgVQAAYAgAAAAAAABWnQEAYFUAAJAIAAAAAAAAX50BAGBVAADACAAAAAAAAGedAQBgVQAA8AgAAAAAAABwnQEAYFUAACAJAAAAAAAAeJ0BAGBVAABQCQAAAAAAAH2dAQBgVQAAgAkAAAAAAACBnQEAYFUAALAJAAAAAAAAiJ0BAGBVAADgCQAAAAAAAI6dAQBgVQAAEAoAAAAAAACYnQEAkFUAAEAKAAAAAAAAoZ0BAGBVAACABgAAAAAAAKadAQBgVQAAgAYAAAAAAACwnQEAYFUAAHAKAAAAAAAAt50BAGBVAACgCgAAAAAAAMSdAQBgVQAA0AoAAAAAAADSnQEAYFUAAAALAAAAAAAA4J0BAGBVAAAwCwAAAAAAAOydAQBgVQAAYAsAAAAAAAD5nQEAYFUAAJALAAAAAAAAAp4BAGBVAADACwAAAAAAAAyeAQBgVQAA8AsAAAAAAAAVngEAYFUAACAMAAAAAAAAHZ4BAGBVAABQDAAAAAAAACWeAQBgVQAAgAwAAAAAAAAungEAYFUAALAMAAAAAAAAMp4BAGBVAADgDAAAAAAAAD2eAQBgVQAAEA0AAAAAAABBngEAYFUAAEANAAAAAAAAS54BAGBVAABwDQAAAAAAAFSeAQBgVQAAoA0AAAAAAABcngEAYFUAANANAAAAAAAAaZ4BAGBVAAAADgAAAAAAAHWeAQBgVQAAMA4AAAAAAACAngEAYFUAAGAOAAAAAAAAkJ4BAGBVAACQDgAAAAAAAJ6eAQBgVQAAwA4AAAAAAACtngEAYFUAAPAOAAAAAAAAt54BAGBVAAAgDwAAAAAAAMCeAQBgVQAAUA8AAAAAAADKngEAYFUAAIAPAAAAAAAA1J4BAGBVAACwDwAAAAAAANueAQBgVQAA4A8AAAAAAADingEAYFUAABAQAAAAAAAA7J4BAKhVAAAAAAAAAAAAAPOeAQCoVQAAAAAAAAAAAADVnAEAwFUAAAAAAAAAAAAA+54BANhVAABAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbAAAAXAAAABcAAAAEAAAAAgAAAAwAAABdAAAAXAAAABcAAAAFAAAAAAAAAA0AAABbAAAAXAAAABcAAAAEAAAAAgAAAAwAAABeAAAAXwAAABgAAAAGAAAAAwAAAA4AAABgAAAAYQAAABcAAAAHAAAAAAAAAA8AAABbAAAAXAAAABcAAAAIAAAAAgAAAAwAAAAQAAAAEQAAABIAAAATAAAA/Z8BAASgAQAAAAAADKABAA6gAQB/HgIAEKABAAwAAAAEAAAABgAAAAIAAAADAAAAAQAAAAkAAAAIAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAF2hAQBtoQEAeqEBAAAAAAAAAAAABAAAAH+hAQAAAAAAAAAAAIqhAQBtoQEAeqEBAAAAAAChoQEABQAAAH+hAQAAAAAAqaEBALChAQBtoQEAwKEBAAAAAAAAAAAABgAAAH+hAQDrsQEAAAAAAMWhAQBtoQEAwKEBAAAAAAChoQEABwAAAH+hAQDrsQEAqaEBANyhAQDpoQEAwKEBAAAAAAAAAAAACgAAAPehAQDrsQEAAAAAAP2hAQDpoQEAwKEBAAAAAACpoQEACwAAAPehAQDrsQEAqaEBABCiAQDpoQEAHqIBAAAAAAAAAAAACAAAAPehAQAAAAAAAAAAACSiAQDpoQEAHqIBAAAAAACpoQEACQAAAPehAQAAAAAAqaEBADiiAQA4ogEAAAAAAAAAAAAAAAAADAAAAECiAQAAAAAAAAAAAEqiAQA4ogEA67EBAAAAAAAAAAAADgAAAECiAQDrsQEAAAAAAFeiAQA4ogEA67EBAAAAAAChoQEADwAAAECiAQDrsQEAqaEBAGuiAQA4ogEAAAAAAAAAAAChoQEADQAAAECiAQAAAAAAqaEBAHuiAQB7ogEAAAAAAAAAAAAAAAAAEAAAAH+hAQAAAAAAAAAAAIWiAQB7ogEA67EBAAAAAAAAAAAAEgAAAH+hAQDrsQEAAAAAAJSiAQB7ogEA67EBAAAAAAChoQEAEwAAAH+hAQDrsQEAqaEBAKqiAQB7ogEAAAAAALuiAQAAAAAAFAAAAH+hAQAAAAAAAAAAAMWiAQB7ogEA67EBALuiAQAAAAAAFgAAAH+hAQDrsQEAAAAAANuiAQB7ogEA67EBALuiAQChoQEAFwAAAH+hAQDrsQEAqaEBAPiiAQB7ogEAAAAAALuiAQChoQEAFQAAAH+hAQAAAAAAqaEBABGjAQB7ogEAAAAAAAAAAAChoQEAEQAAAH+hAQAAAAAAqaEBACOjAQA5owEA67EBAAAAAAAAAAAAGgAAAPehAQDrsQEAAAAAAE6jAQA5owEA67EBAAAAAACpoQEAGwAAAPehAQDrsQEAqaEBAGqjAQA5owEAAAAAAAAAAACpoQEAGQAAAPehAQAAAAAAqaEBAIKjAQA5owEAmaMBAAAAAAAAAAAAGAAAAPehAQAAAAAAAAAAAJ+jAQCtowEA67EBAAAAAAAAAAAAHgAAAPehAQDrsQEAAAAAAL+jAQCtowEA67EBAAAAAACpoQEAHwAAAPehAQDrsQEAqaEBANOjAQCtowEAAAAAAAAAAACpoQEAHQAAAPehAQAAAAAAqaEBAOOjAQCtowEAmaMBAAAAAAAAAAAAHAAAAPehAQAAAAAAAAAAAPKjAQDyowEAAAAAAAAAAAAAAAAAIAAAAPmjAQAAAAAAAAAAAAGkAQAMpAEA67EBAAAAAAAAAAAAAgAAAPehAQDrsQEAAAAAABKkAQAMpAEA67EBAAAAAACpoQEAAwAAAPehAQDrsQEAqaEBACOkAQAMpAEAAAAAAAAAAACpoQEAAQAAAPehAQAAAAAAqaEBANqlAQAMpAEAAAAAAAAAAAAAAAAAAAAAAPehAQAAAAAAAAAAADCkAQBKpAEAWaQBAAAAAACpoQEAIQAAAPehAQAAAAAAqaEBAGCkAQBtpAEAAAAAAAAAAAAAAAAAIgAAAPmjAQAAAAAAAAAAAAgAAAAEAAAAAAAAAAoAAAAtAAAAEgAAAAAAAAAAAAAAAAAAAAgAAAD/////AAAAAAAAAAAuAAAAAAAAAAAAAAAAAAAAAAAAAAmnAQDGAAAAD6cBAMEAAAAWpwEAwgAAABynAQDAAAAAI6cBAJEDAAAppwEAxQAAAC+nAQDDAAAANqcBAMQAAAA7pwEAkgMAAECnAQDHAAAAR6cBAKcDAABLpwEAISAAAFKnAQCUAwAAWKcBANAAAABcpwEAyQAAAGOnAQDKAAAAaacBAMgAAABwpwEAlQMAAHinAQCXAwAAfKcBAMsAAACBpwEAkwMAAIenAQDNAAAAjqcBAM4AAACUpwEAzAAAAJunAQCZAwAAoKcBAM8AAAClpwEAmgMAAKunAQCbAwAAsqcBAJwDAAC1pwEA0QAAALynAQCdAwAAv6cBAFIBAADFpwEA0wAAAMynAQDUAAAA0qcBANIAAADZpwEAqQMAAN+nAQCfAwAA56cBANgAAADupwEA1QAAAPWnAQDWAAAA+qcBAKYDAAD+pwEAoAMAAAGoAQAzIAAAB6gBAKgDAAALqAEAoQMAAA+oAQBgAQAAFqgBAKMDAAAcqAEA3gAAACKoAQCkAwAAJqgBAJgDAAAsqAEA2gAAADOoAQDbAAAAOagBANkAAABAqAEApQMAAEioAQDcAAAATagBAJ4DAABQqAEA3QAAAFeoAQB4AQAAXKgBAJYDAABhqAEA4QAAAGioAQDiAAAAbqgBALQAAAB0qAEA5gAAAHqoAQDgAAAAgagBADUhAACJqAEAsQMAAI+oAQAmAAAAk6gBACciAACXqAEAICIAAJuoAQDlAAAAoagBAEgiAACnqAEA4wAAAK6oAQDkAAAAs6gBAB4gAAC5qAEAsgMAAL6oAQCmAAAAxagBACIgAADKqAEAKSIAAM6oAQDnAAAA1agBALgAAADbqAEAogAAAOCoAQDHAwAA5KgBAMYCAADpqAEAYyYAAO+oAQBFIgAA9KgBAKkAAAD5qAEAtSEAAP+oAQAqIgAAA6kBAKQAAAAKqQEA0yEAAA+pAQAgIAAAFqkBAJMhAAAbqQEAsAAAAB+pAQC0AwAAJakBAGYmAAArqQEA9wAAADKpAQDpAAAAOakBAOoAAAA/qQEA6AAAAEapAQAFIgAATKkBAAMgAABRqQEAAiAAAFapAQC1AwAAXqkBAGEiAABkqQEAtwMAAGipAQDwAAAAbKkBAOsAAABxqQEArCAAAHapAQADIgAAfKkBAJIBAACBqQEAACIAAIipAQC9AAAAj6kBALwAAACWqQEAvgAAAJ2pAQBEIAAAo6kBALMDAACpqQEAZSIAAKypAQA+AAAAr6kBANQhAAC0qQEAlCEAALmpAQBlJgAAwKkBACYgAADHqQEA7QAAAM6pAQDuAAAA1KkBAKEAAADaqQEA7AAAAOGpAQARIQAA56kBAB4iAADtqQEAKyIAAPGpAQC5AwAA9qkBAL8AAAD9qQEACCIAAAKqAQDvAAAAB6oBALoDAAANqgEA0CEAABKqAQC7AwAAGaoBACkjAAAeqgEAqwAAACSqAQCQIQAAKaoBAAgjAAAvqgEAHCAAADWqAQBkIgAAOKoBAAojAAA/qgEAFyIAAEaqAQDKJQAASqoBAA4gAABOqgEAOSAAAFWqAQAYIAAAW6oBADwAAABeqgEArwAAAGOqAQAUIAAAaaoBALUAAABvqgEAtwAAAEazAQASIgAAdqoBALwDAAB5qgEAByIAAH+qAQCgAAAAhKoBABMgAACKqgEAYCIAAI2qAQALIgAAkKoBAKwAAACUqgEACSIAAJqqAQCEIgAAn6oBAPEAAACmqgEAvQMAAKmqAQDzAAAAsKoBAPQAAAC2qgEAUwEAALyqAQDyAAAAw6oBAD4gAADJqgEAyQMAAM+qAQC/AwAA16oBAJUiAADdqgEAKCIAAOCqAQCqAAAA5aoBALoAAADqqgEA+AAAAPGqAQD1AAAA+KoBAJciAAD/qgEA9gAAAASrAQC2AAAACasBAAIiAAAOqwEAMCAAABWrAQClIgAAGqsBAMYDAAAeqwEAwAMAACGrAQDWAwAAJasBALEAAAAsqwEAowAAADKrAQAyIAAAOKsBAA8iAAA9qwEAHSIAAEKrAQDIAwAARqsBACIAAABLqwEA0iEAAFCrAQAaIgAAVqsBACojAABbqwEAuwAAAGGrAQCSIQAAZqsBAAkjAABsqwEAHSAAAHKrAQAcIQAAd6sBAK4AAAB7qwEACyMAAIKrAQDBAwAAhqsBAA8gAACKqwEAOiAAAJGrAQAZIAAAl6sBABogAACdqwEAYQEAAKSrAQDFIgAAqasBAKcAAACuqwEArQAAALKrAQDDAwAAuKsBAMIDAAC/qwEAPCIAAMOrAQBgJgAAyqsBAIIiAADOqwEAhiIAANOrAQARIgAA16sBAIMiAADbqwEAuQAAAOCrAQCyAAAA5asBALMAAADqqwEAhyIAAO+rAQDfAAAA9asBAMQDAAD5qwEANCIAAACsAQC4AwAABqwBANEDAAAPrAEACSAAABasAQD+AAAAHKwBANwCAAAirAEA1wAAACisAQAiIQAALqwBANEhAAAzrAEA+gAAADqsAQCRIQAAP6wBAPsAAABFrAEA+QAAAEysAQCoAAAAUKwBANIDAABWrAEAxQMAAF6sAQD8AAAAY6wBABghAABqrAEAvgMAAG2sAQD9AAAAdKwBAKUAAAB4rAEA/wAAAH2sAQC2AwAAgqwBAA0gAACGrAEADCAAAAcAAAAIAAAAAQEAAAgAAAAIAAAAAAAAAAAAAAAvAAAAEwAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAwAAAAFAAAAAAAAAAAAAAAAAAAAAazAQAJAAAACLMBAAoAAAANswEACgAAABWzAQALAAAAG7MBAAsAAAAkswEADAAAACezAQAMAAAALbMBAA0AAAAyswEADQAAADqzAQAOAAAAP7MBAA4AAABGswEADwAAAEyzAQAPAAAAWLMBABAAAABiAAAAMQAAADIAAAAUAAAAMwAAAGMAAAA0AAAAFQAAADUAAAAIAAAABAAAAP////8AAAAAAAAAABUAAAAAAAAAAAAAAAAAAACjtAEAVV3Jf8l//wCutAEAuy3Uvq7U/wC5tAEAFHf9/cCG/wDEtAEAVV3Jf8l//wDPtAEAuy3Uvq7U/wDatAEAFHf9/cCG/wDltAEAKmb///+Z/wDwtAEAVV3Jf8l//wD7tAEAuy3Uvq7U/wAGtQEAFHf9/cCG/wARtQEAKmb///+Z/wActQEAl62wOGyw/wAntQEAVV3Jf8l//wAytQEAuy3Uvq7U/wA9tQEAFHf9/cCG/wBItQEAKmb///+Z/wBTtQEAl62wOGyw/wBetQEA6Pzw8AJ//wBptQEAVV3Jf8l//wB0tQEAuy3Uvq7U/wB/tQEAFHf9/cCG/wCKtQEAKmb///+Z/wCVtQEAl62wOGyw/wCgtQEA6Pzw8AJ//wCrtQEAEeC/v1sX/wC2tQEAVV3Jf8l//wDBtQEAuy3Uvq7U/wDMtQEAFHf9/cCG/wDXtQEAKmb///+Z/wDitQEAl62wOGyw/wDttQEA6Pzw8AJ//wD4tQEAEeC/v1sX/wADtgEAAABmZmZm/wAOtgEAkxn33uv3/wAYtgEAjkvhnsrh/wAitgEAkby9MYK9/wAstgEAnxD/7/P//wA2tgEAjy7nvdfn/wBAtgEAj3/Wa67W/wBKtgEAk9C1IXG1/wBUtgEAnxD/7/P//wBetgEAjy7nvdfn/wBotgEAj3/Wa67W/wBytgEAkby9MYK9/wB8tgEAlfGcCFGc/wCGtgEAnxD/7/P//wCQtgEAlCvvxtvv/wCatgEAjkvhnsrh/wCktgEAj3/Wa67W/wCutgEAkby9MYK9/wC4tgEAlfGcCFGc/wDCtgEAnxD/7/P//wDMtgEAlCvvxtvv/wDWtgEAjkvhnsrh/wDgtgEAj3/Wa67W/wDqtgEAkKnGQpLG/wD0tgEAk9C1IXG1/wD+tgEAl/GUCEWU/wAItwEAlAj/9/v//wAStwEAkxn33uv3/wActwEAlCvvxtvv/wAmtwEAjkvhnsrh/wAwtwEAj3/Wa67W/wA6twEAkKnGQpLG/wBEtwEAk9C1IXG1/wBOtwEAl/GUCEWU/wBYtwEAlAj/9/v//wBitwEAkxn33uv3/wBstwEAlCvvxtvv/wB2twEAjkvhnsrh/wCAtwEAj3/Wa67W/wCKtwEAkKnGQpLG/wCUtwEAk9C1IXG1/wCetwEAlfGcCFGc/wCotwEAmOtrCDBr/wCytwEAF+9UVDAF/wC8twEAd/88ADww/wDHtwEAF+yMjFEK/wDRtwEAGMK/v4Et/wDbtwEAHXDf38J9/wDltwEAHjT29ujD/wDvtwEAeSbqx+rl/wD5twEAeF/NgM3B/wADuAEAfKWXNZeP/wANuAEAfPxmAWZe/wAXuAEAF+9UVDAF/wAhuAEAfPxmAWZe/wAsuAEAd/88ADww/wA3uAEAF+yMjFEK/wBBuAEAGMK/v4Et/wBLuAEAHXDf38J9/wBVuAEAHjT29ujD/wBfuAEAAAD19fX1/wBpuAEAeSbqx+rl/wBzuAEAeF/NgM3B/wB9uAEAfKWXNZeP/wCHuAEAHIfY2LNl/wCQuAEAAAD19fX1/wCZuAEAe3+0WrSs/wCiuAEAFdempmEa/wCruAEAHXDf38J9/wC0uAEAeF/NgM3B/wC9uAEAef2FAYVx/wDGuAEAFdempmEa/wDPuAEAHXDf38J9/wDYuAEAAAD19fX1/wDhuAEAeF/NgM3B/wDquAEAef2FAYVx/wDzuAEAF+yMjFEK/wD8uAEAHIfY2LNl/wAFuQEAHjT29ujD/wAOuQEAeSbqx+rl/wAXuQEAe3+0WrSs/wAguQEAfPxmAWZe/wApuQEAF+yMjFEK/wAyuQEAHIfY2LNl/wA7uQEAHjT29ujD/wBEuQEAAAD19fX1/wBNuQEAeSbqx+rl/wBWuQEAe3+0WrSs/wBfuQEAfPxmAWZe/wBouQEAF+yMjFEK/wBxuQEAGMK/v4Et/wB6uQEAHXDf38J9/wCDuQEAHjT29ujD/wCMuQEAeSbqx+rl/wCVuQEAeF/NgM3B/wCeuQEAfKWXNZeP/wCnuQEAfPxmAWZe/wCwuQEAF+yMjFEK/wC5uQEAGMK/v4Et/wDCuQEAHXDf38J9/wDLuQEAHjT29ujD/wDUuQEAAAD19fX1/wDduQEAeSbqx+rl/wDmuQEAeF/NgM3B/wDvuQEAfKWXNZeP/wD4uQEAfPxmAWZe/wABugEAhxT55fX5/wAKugEAdUrYmdjJ/wATugEAZ7miLKJf/wAcugEAiA777fj7/wAlugEAfzbisuLi/wAuugEAcXjCZsKk/wA3ugEAYr6LI4tF/wBAugEAiA777fj7/wBJugEAfzbisuLi/wBSugEAcXjCZsKk/wBbugEAZ7miLKJf/wBkugEAZv9tAG0s/wBtugEAiA777fj7/wB2ugEAdyLszOzm/wB/ugEAdUrYmdjJ/wCIugEAcXjCZsKk/wCRugEAZ7miLKJf/wCaugEAZv9tAG0s/wCjugEAiA777fj7/wCsugEAdyLszOzm/wC1ugEAdUrYmdjJ/wC+ugEAcXjCZsKk/wDHugEAaZ+uQa52/wDQugEAYr6LI4tF/wDZugEAZv9YAFgk/wDiugEAhgb99/z9/wDrugEAhxT55fX5/wD0ugEAdyLszOzm/wD9ugEAdUrYmdjJ/wAGuwEAcXjCZsKk/wAPuwEAaZ+uQa52/wAYuwEAYr6LI4tF/wAhuwEAZv9YAFgk/wAquwEAhgb99/z9/wAzuwEAhxT55fX5/wA8uwEAdyLszOzm/wBFuwEAdUrYmdjJ/wBOuwEAcXjCZsKk/wBXuwEAaZ+uQa52/wBguwEAYr6LI4tF/wBpuwEAZv9tAG0s/wByuwEAZf9EAEQb/wB7uwEAkBT04Oz0/wCEuwEAlEbanrza/wCNuwEAxHuniFan/wCWuwEAiA777fj7/wCfuwEAkjXjs83j/wCouwEAokrGjJbG/wCxuwEAypWdiEGd/wC6uwEAiA777fj7/wDDuwEAkjXjs83j/wDMuwEAokrGjJbG/wDVuwEAxHuniFan/wDeuwEA1uGBgQ98/wDnuwEAiA777fj7/wDwuwEAlCvmv9Pm/wD5uwEAlEbanrza/wACvAEAokrGjJbG/wALvAEAxHuniFan/wAUvAEA1uGBgQ98/wAdvAEAiA777fj7/wAmvAEAlCvmv9Pm/wAvvAEAlEbanrza/wA4vAEAokrGjJbG/wBBvAEAvmSxjGux/wBKvAEAypWdiEGd/wBTvAEA1fxubgFr/wBcvAEAhgb99/z9/wBlvAEAkBT04Oz0/wBuvAEAlCvmv9Pm/wB3vAEAlEbanrza/wCAvAEAokrGjJbG/wCJvAEAvmSxjGux/wCSvAEAypWdiEGd/wCbvAEA1fxubgFr/wCkvAEAhgb99/z9/wCtvAEAkBT04Oz0/wC2vAEAlCvmv9Pm/wC/vAEAlEbanrza/wDIvAEAokrGjJbG/wDRvAEAvmSxjGux/wDavAEAypWdiEGd/wDjvAEA1uGBgQ98/wDsvAEA1f9NTQBL/wD1vAEActOeG553/wD/vAEAEvzZ2V8C/wAJvQEArV+zdXCz/wATvQEActOeG553/wAdvQEAEvzZ2V8C/wAnvQEArV+zdXCz/wAxvQEA6dHn5ymK/wA7vQEActOeG553/wBFvQEAEvzZ2V8C/wBPvQEArV+zdXCz/wBZvQEA6dHn5ymK/wBjvQEAPtCmZqYe/wBtvQEActOeG553/wB3vQEAEvzZ2V8C/wCBvQEArV+zdXCz/wCLvQEA6dHn5ymK/wCVvQEAPtCmZqYe/wCfvQEAH/zm5qsC/wCpvQEActOeG553/wCzvQEAEvzZ2V8C/wC9vQEArV+zdXCz/wDHvQEA6dHn5ymK/wDRvQEAPtCmZqYe/wDbvQEAH/zm5qsC/wDlvQEAG9KmpnYd/wDvvQEActOeG553/wD5vQEAEvzZ2V8C/wADvgEArV+zdXCz/wANvgEA6dHn5ymK/wAXvgEAPtCmZqYe/wAhvgEAH/zm5qsC/wArvgEAG9KmpnYd/wA1vgEAAABmZmZm/wA/vgEATBnz4PPb/wBIvgEAXz3dqN21/wBRvgEAjKrKQ6LK/wBavgEAQRH58Pno/wBjvgEAVy7kuuS8/wBsvgEAe2XMe8zE/wB1vgEAjcW+K4y+/wB+vgEAQRH58Pno/wCHvgEAVy7kuuS8/wCQvgEAe2XMe8zE/wCZvgEAjKrKQ6LK/wCivgEAkfOsCGis/wCrvgEAQRH58Pno/wC0vgEATSnrzOvF/wC9vgEAXz3dqN21/wDGvgEAe2XMe8zE/wDPvgEAjKrKQ6LK/wDYvgEAkfOsCGis/wDhvgEAQRH58Pno/wDqvgEATSnrzOvF/wDzvgEAXz3dqN21/wD8vgEAe2XMe8zE/wAFvwEAiaDTTrPT/wAOvwEAjcW+K4y+/wAXvwEAk/KeCFie/wAgvwEAPAz89/zw/wApvwEATBnz4PPb/wAyvwEATSnrzOvF/wA7vwEAXz3dqN21/wBEvwEAe2XMe8zE/wBNvwEAiaDTTrPT/wBWvwEAjcW+K4y+/wBfvwEAk/KeCFie/wBovwEAPAz89/zw/wBxvwEATBnz4PPb/wB6vwEATSnrzOvF/wCDvwEAXz3dqN21/wCMvwEAe2XMe8zE/wCVvwEAiaDTTrPT/wCevwEAjcW+K4y+/wCnvwEAkfOsCGis/wCwvwEAlu+BCECB/wC5vwEAShX15fXg/wDEvwEAUEjZodmb/wDPvwEAYrKjMaNU/wDavwEASQ/47fjp/wDlvwEATjbkuuSz/wDwvwEAVmjEdMR2/wD7vwEAYr6LI4tF/wAGwAEASQ/47fjp/wARwAEATjbkuuSz/wAcwAEAVmjEdMR2/wAnwAEAYrKjMaNU/wAywAEAZv9tAG0s/wA9wAEASQ/47fjp/wBIwAEATSzpx+nA/wBTwAEAUEjZodmb/wBewAEAVmjEdMR2/wBpwAEAYrKjMaNU/wB0wAEAZv9tAG0s/wB/wAEASQ/47fjp/wCKwAEATSzpx+nA/wCVwAEAUEjZodmb/wCgwAEAVmjEdMR2/wCrwAEAYJ6rQatd/wC2wAEAYr6LI4tF/wDBwAEAbP9aAFoy/wDMwAEASAf89/z1/wDXwAEAShX15fXg/wDiwAEATSzpx+nA/wDtwAEAUEjZodmb/wD4wAEAVmjEdMR2/wADwQEAYJ6rQatd/wAOwQEAYr6LI4tF/wAZwQEAbP9aAFoy/wAkwQEASAf89/z1/wAvwQEAShX15fXg/wA6wQEATSzpx+nA/wBFwQEAUEjZodmb/wBQwQEAVmjEdMR2/wBbwQEAYJ6rQatd/wBmwQEAYr6LI4tF/wBxwQEAZv9tAG0s/wB8wQEAZf9EAEQb/wCHwQEAAADw8PDw/wCRwQEAAAC9vb29/wCbwQEAAABjY2Nj/wClwQEAAAD39/f3/wCvwQEAAADMzMzM/wC5wQEAAACWlpaW/wDDwQEAAABSUlJS/wDNwQEAAAD39/f3/wDXwQEAAADMzMzM/wDhwQEAAACWlpaW/wDrwQEAAABjY2Nj/wD1wQEAAAAlJSUl/wD/wQEAAAD39/f3/wAJwgEAAADZ2dnZ/wATwgEAAAC9vb29/wAdwgEAAACWlpaW/wAnwgEAAABjY2Nj/wAxwgEAAAAlJSUl/wA7wgEAAAD39/f3/wBFwgEAAADZ2dnZ/wBPwgEAAAC9vb29/wBZwgEAAACWlpaW/wBjwgEAAABzc3Nz/wBtwgEAAABSUlJS/wB3wgEAAAAlJSUl/wCBwgEAAAD//////wCLwgEAAADw8PDw/wCVwgEAAADZ2dnZ/wCfwgEAAAC9vb29/wCpwgEAAACWlpaW/wCzwgEAAABzc3Nz/wC9wgEAAABSUlJS/wDHwgEAAAAlJSUl/wDRwgEAAAD//////wDbwgEAAADw8PDw/wDlwgEAAADZ2dnZ/wDvwgEAAAC9vb29/wD5wgEAAACWlpaW/wADwwEAAABzc3Nz/wANwwEAAABSUlJS/wAXwwEAAAAlJSUl/wAhwwEAAAAAAAAA/wArwwEAFTD+/ubO/wA3wwEAE5P9/a5r/wBDwwEADvDm5lUN/wBPwwEAEyD+/u3e/wBbwwEAFHj9/b6F/wBnwwEAEcL9/Y08/wBzwwEADf3Z2UcB/wB/wwEAEyD+/u3e/wCLwwEAFHj9/b6F/wCXwwEAEcL9/Y08/wCjwwEADvDm5lUN/wCvwwEADfqmpjYD/wC7wwEAEyD+/u3e/wDHwwEAFVv9/dCi/wDTwwEAE5P9/a5r/wDfwwEAEcL9/Y08/wDrwwEADvDm5lUN/wD3wwEADfqmpjYD/wADxAEAEyD+/u3e/wAPxAEAFVv9/dCi/wAbxAEAE5P9/a5r/wAnxAEAEcL9/Y08/wAzxAEAEOrx8WkT/wA/xAEADf3Z2UgB/wBLxAEADPeMjC0E/wBXxAEAFRT///Xr/wBjxAEAFTD+/ubO/wBvxAEAFVv9/dCi/wB7xAEAE5P9/a5r/wCHxAEAEcL9/Y08/wCTxAEAEOrx8WkT/wCfxAEADf3Z2UgB/wCrxAEADPeMjC0E/wC3xAEAFRT///Xr/wDDxAEAFTD+/ubO/wDPxAEAFVv9/dCi/wDbxAEAE5P9/a5r/wDnxAEAEcL9/Y08/wDzxAEAEOrx8WkT/wD/xAEADf3Z2UgB/wALxQEADfqmpjYD/wAXxQEADPZ/fycE/wAjxQEAGTb+/ujI/wAsxQEAE3n9/buE/wA1xQEABcXj40oz/wA+xQEAGiX+/vDZ/wBHxQEAGHP9/cyK/wBQxQEADaT8/I1Z/wBZxQEAA9rX1zAf/wBixQEAGiX+/vDZ/wBrxQEAGHP9/cyK/wB0xQEADaT8/I1Z/wB9xQEABcXj40oz/wCGxQEAAP+zswAA/wCPxQEAGiX+/vDZ/wCYxQEAGF/9/dSe/wChxQEAE3n9/buE/wCqxQEADaT8/I1Z/wCzxQEABcXj40oz/wC8xQEAAP+zswAA/wDFxQEAGiX+/vDZ/wDOxQEAGF/9/dSe/wDXxQEAE3n9/buE/wDgxQEADaT8/I1Z/wDpxQEAB7Lv72VI/wDyxQEAA9rX1zAf/wD7xQEAAP+ZmQAA/wAExgEAGBL///fs/wANxgEAGTb+/ujI/wAWxgEAGF/9/dSe/wAfxgEAE3n9/buE/wAoxgEADaT8/I1Z/wAxxgEAB7Lv72VI/wA6xgEAA9rX1zAf/wBDxgEAAP+ZmQAA/wBMxgEAGBL///fs/wBVxgEAGTb+/ujI/wBexgEAGF/9/dSe/wBnxgEAE3n9/buE/wBwxgEADaT8/I1Z/wB5xgEAB7Lv72VI/wCCxgEAA9rX1zAf/wCLxgEAAP+zswAA/wCUxgEAAP9/fwAA/wCdxgEAjkTjps7j/wCpxgEAvpmaaj2a/wC2xgEAkNO0H3i0/wDCxgEAQWHfst+K/wDOxgEAUrigM6As/wDaxgEAAGP7+5qZ/wDmxgEA/uHj4xoc/wDyxgEAF4/9/b9v/wD+xgEAFf///38A/wAKxwEAxirWyrLW/wAWxwEAjkTjps7j/wAixwEAvpmaaj2a/wAvxwEAKmb///+Z/wA8xwEAkNO0H3i0/wBIxwEAQWHfst+K/wBUxwEAUrigM6As/wBgxwEAAGP7+5qZ/wBsxwEA/uHj4xoc/wB4xwEAF4/9/b9v/wCExwEAFf///38A/wCQxwEAxirWyrLW/wCcxwEAjkTjps7j/wCoxwEAvpmaaj2a/wC1xwEAKmb///+Z/wDCxwEAD8WxsVko/wDPxwEAkNO0H3i0/wDbxwEAQWHfst+K/wDnxwEAUrigM6As/wDzxwEAAGP7+5qZ/wD/xwEA/uHj4xoc/wALyAEAF4/9/b9v/wAXyAEAFf///38A/wAjyAEAxirWyrLW/wAvyAEAjkTjps7j/wA6yAEAkNO0H3i0/wBFyAEAQWHfst+K/wBQyAEAjkTjps7j/wBbyAEAkNO0H3i0/wBmyAEAQWHfst+K/wBxyAEAUrigM6As/wB8yAEAjkTjps7j/wCHyAEAkNO0H3i0/wCSyAEAQWHfst+K/wCdyAEAUrigM6As/wCoyAEAAGP7+5qZ/wCzyAEAjkTjps7j/wC+yAEAkNO0H3i0/wDJyAEAQWHfst+K/wDUyAEAUrigM6As/wDfyAEAAGP7+5qZ/wDqyAEA/uHj4xoc/wD1yAEAjkTjps7j/wAAyQEAkNO0H3i0/wALyQEAQWHfst+K/wAWyQEAUrigM6As/wAhyQEAAGP7+5qZ/wAsyQEA/uHj4xoc/wA3yQEAF4/9/b9v/wBCyQEAjkTjps7j/wBNyQEAkNO0H3i0/wBYyQEAQWHfst+K/wBjyQEAUrigM6As/wBuyQEAAGP7+5qZ/wB5yQEA/uHj4xoc/wCEyQEAF4/9/b9v/wCPyQEAFf///38A/wCayQEAjkTjps7j/wClyQEAkNO0H3i0/wCwyQEAQWHfst+K/wC7yQEAUrigM6As/wDGyQEAAGP7+5qZ/wDRyQEA/uHj4xoc/wDcyQEAF4/9/b9v/wDnyQEAFf///38A/wDyyQEAxirWyrLW/wD9yQEAA077+7Su/wAJygEAkjXjs83j/wAVygEATSnrzOvF/wAhygEAA077+7Su/wAtygEAkjXjs83j/wA5ygEATSnrzOvF/wBFygEAyhvk3svk/wBRygEAA077+7Su/wBdygEAkjXjs83j/wBpygEATSnrzOvF/wB1ygEAyhvk3svk/wCBygEAGFj+/tmm/wCNygEAA077+7Su/wCZygEAkjXjs83j/wClygEATSnrzOvF/wCxygEAyhvk3svk/wC9ygEAGFj+/tmm/wDJygEAKjL////M/wDVygEAA077+7Su/wDhygEAkjXjs83j/wDtygEATSnrzOvF/wD5ygEAyhvk3svk/wAFywEAGFj+/tmm/wARywEAKjL////M/wAdywEAHCzl5di9/wApywEAA077+7Su/wA1ywEAkjXjs83j/wBBywEATSnrzOvF/wBNywEAyhvk3svk/wBZywEAGFj+/tmm/wBlywEAKjL////M/wBxywEAHCzl5di9/wB9ywEA6SP9/drs/wCJywEAA077+7Su/wCVywEAkjXjs83j/wChywEATSnrzOvF/wCtywEAyhvk3svk/wC5ywEAGFj+/tmm/wDFywEAKjL////M/wDRywEAHCzl5di9/wDdywEA6SP9/drs/wDpywEAAADy8vLy/wD1ywEAbDXis+LN/wABzAEAEVH9/c2s/wANzAEAmx/oy9Xo/wAZzAEAbDXis+LN/wAlzAEAEVH9/c2s/wAxzAEAmx/oy9Xo/wA9zAEA5Cv09Mrk/wBJzAEAbDXis+LN/wBVzAEAEVH9/c2s/wBhzAEAmx/oy9Xo/wBtzAEA5Cv09Mrk/wB5zAEAOC315vXJ/wCFzAEAbDXis+LN/wCRzAEAEVH9/c2s/wCdzAEAmx/oy9Xo/wCpzAEA5Cv09Mrk/wC1zAEAOC315vXJ/wDBzAEAI1H///Ku/wDNzAEAbDXis+LN/wDZzAEAEVH9/c2s/wDlzAEAmx/oy9Xo/wDxzAEA5Cv09Mrk/wD9zAEAOC315vXJ/wAJzQEAI1H///Ku/wAVzQEAGSfx8eLM/wAhzQEAbDXis+LN/wAtzQEAEVH9/c2s/wA5zQEAmx/oy9Xo/wBFzQEA5Cv09Mrk/wBRzQEAOC315vXJ/wBdzQEAI1H///Ku/wBpzQEAGSfx8eLM/wB1zQEAAADMzMzM/wCBzQEA5v2OjgFS/wCLzQEATb9kJ2QZ/wCWzQEA5tzFxRt9/wCgzQEA6Hbe3neu/wCqzQEA5T7x8bba/wC0zQEA6R39/eDv/wC+zQEAOyb15vXQ/wDIzQEAPWfhuOGG/wDSzQEAP6a8f7xB/wDczQEARMWSTZIh/wDmzQEA5v2OjgFS/wDwzQEARMWSTZIh/wD7zQEATb9kJ2QZ/wAGzgEA5tzFxRt9/wAQzgEA6Hbe3neu/wAazgEA5T7x8bba/wAkzgEA6R39/eDv/wAuzgEAAAD39/f3/wA4zgEAOyb15vXQ/wBCzgEAPWfhuOGG/wBMzgEAP6a8f7xB/wBWzgEA50zp6aPJ/wBfzgEAAAD39/f3/wBozgEAP4HXoddq/wBxzgEA5NzQ0ByL/wB6zgEA5T7x8bba/wCDzgEAPWfhuOGG/wCMzgEASMasTawm/wCVzgEA5NzQ0ByL/wCezgEA5T7x8bba/wCnzgEAAAD39/f3/wCwzgEAPWfhuOGG/wC5zgEASMasTawm/wDCzgEA5tzFxRt9/wDLzgEA50zp6aPJ/wDUzgEA6R39/eDv/wDdzgEAOyb15vXQ/wDmzgEAP4HXoddq/wDvzgEARMWSTZIh/wD4zgEA5tzFxRt9/wABzwEA50zp6aPJ/wAKzwEA6R39/eDv/wATzwEAAAD39/f3/wAczwEAOyb15vXQ/wAlzwEAP4HXoddq/wAuzwEARMWSTZIh/wA3zwEA5tzFxRt9/wBAzwEA6Hbe3neu/wBJzwEA5T7x8bba/wBSzwEA6R39/eDv/wBbzwEAOyb15vXQ/wBkzwEAPWfhuOGG/wBtzwEAP6a8f7xB/wB2zwEARMWSTZIh/wB/zwEA5tzFxRt9/wCIzwEA6Hbe3neu/wCRzwEA5T7x8bba/wCazwEA6R39/eDv/wCjzwEAAAD39/f3/wCszwEAOyb15vXQ/wC1zwEAPWfhuOGG/wC+zwEAP6a8f7xB/wDHzwEARMWSTZIh/wDQzwEAzv9LQABL/wDazwEAZf9EAEQb/wDlzwEAzq2DdiqD/wDvzwEAx1ermXCr/wD5zwEAxzPPwqXP/wAD0AEA0hXo59To/wAN0AEATB7w2fDT/wAX0AEAUETbptug/wAh0AEAWHuuWq5h/wAr0AEAYcV4G3g3/wA10AEAzv9LQABL/wA/0AEAYcV4G3g3/wBK0AEAZf9EAEQb/wBV0AEAzq2DdiqD/wBf0AEAx1ermXCr/wBp0AEAxzPPwqXP/wBz0AEA0hXo59To/wB90AEAAAD39/f3/wCH0AEATB7w2fDT/wCR0AEAUETbptug/wCb0AEAWHuuWq5h/wCl0AEAxEbDr43D/wCu0AEAAAD39/f3/wC30AEAUlq/f797/wDA0AEAyaiUezKU/wDJ0AEAxzPPwqXP/wDS0AEAUETbptug/wDb0AEAZv+IAIg3/wDk0AEAyaiUezKU/wDt0AEAxzPPwqXP/wD20AEAAAD39/f3/wD/0AEAUETbptug/wAI0QEAZv+IAIg3/wAR0QEAzq2DdiqD/wAa0QEAxEbDr43D/wAj0QEA0hXo59To/wAs0QEATB7w2fDT/wA10QEAUlq/f797/wA+0QEAYcV4G3g3/wBH0QEAzq2DdiqD/wBQ0QEAxEbDr43D/wBZ0QEA0hXo59To/wBi0QEAAAD39/f3/wBr0QEATB7w2fDT/wB00QEAUlq/f797/wB90QEAYcV4G3g3/wCG0QEAzq2DdiqD/wCP0QEAx1ermXCr/wCY0QEAxzPPwqXP/wCh0QEA0hXo59To/wCq0QEATB7w2fDT/wCz0QEAUETbptug/wC80QEAWHuuWq5h/wDF0QEAYcV4G3g3/wDO0QEAzq2DdiqD/wDX0QEAx1ermXCr/wDg0QEAxzPPwqXP/wDp0QEA0hXo59To/wDy0QEAAAD39/f3/wD70QEATB7w2fDT/wAE0gEAUETbptug/wAN0gEAWHuuWq5h/wAW0gEAYcV4G3g3/wAf0gEAvQvy7Ofy/wAo0gEAlz3bpr3b/wAx0gEAjcW+K4y+/wA60gEAuQj28e72/wBD0gEAmyjhvcnh/wBM0gEAkXDPdKnP/wBV0gEAj/ewBXCw/wBe0gEAuQj28e72/wBn0gEAmyjhvcnh/wBw0gEAkXDPdKnP/wB50gEAjcW+K4y+/wCC0gEAj/eNBFqN/wCL0gEAuQj28e72/wCU0gEAqBjm0NHm/wCd0gEAlz3bpr3b/wCm0gEAkXDPdKnP/wCv0gEAjcW+K4y+/wC40gEAj/eNBFqN/wDB0gEAuQj28e72/wDK0gEAqBjm0NHm/wDT0gEAlz3bpr3b/wDc0gEAkXDPdKnP/wDl0gEAjrfANpDA/wDu0gEAj/ewBXCw/wD30gEAj/h7A057/wAA0wEA6Qj///f7/wAJ0wEAvQvy7Ofy/wAS0wEAqBjm0NHm/wAb0wEAlz3bpr3b/wAk0wEAkXDPdKnP/wAt0wEAjrfANpDA/wA20wEAj/ewBXCw/wA/0wEAj/h7A057/wBI0wEA6Qj///f7/wBR0wEAvQvy7Ofy/wBa0wEAqBjm0NHm/wBj0wEAlz3bpr3b/wBs0wEAkXDPdKnP/wB10wEAjrfANpDA/wB+0wEAj/ewBXCw/wCH0wEAj/eNBFqN/wCQ0wEAj/lYAjhY/wCZ0wEAyA7w7OLw/wCk0wEAlz3bpr3b/wCv0wEAgtCZHJCZ/wC60wEAzwj39u/3/wDF0wEAmyjhvcnh/wDQ0wEAj4DPZ6nP/wDb0wEAgvuKAoGK/wDm0wEAzwj39u/3/wDx0wEAmyjhvcnh/wD80wEAj4DPZ6nP/wAH1AEAgtCZHJCZ/wAS1AEAd/xsAWxZ/wAd1AEAzwj39u/3/wAo1AEAqBjm0NHm/wAz1AEAlz3bpr3b/wA+1AEAj4DPZ6nP/wBJ1AEAgtCZHJCZ/wBU1AEAd/xsAWxZ/wBf1AEAzwj39u/3/wBq1AEAqBjm0NHm/wB11AEAlz3bpr3b/wCA1AEAj4DPZ6nP/wCL1AEAjrfANpDA/wCW1AEAgvuKAoGK/wCh1AEAdvxkAWRQ/wCs1AEA6Qj///f7/wC31AEAyA7w7OLw/wDC1AEAqBjm0NHm/wDN1AEAlz3bpr3b/wDY1AEAj4DPZ6nP/wDj1AEAjrfANpDA/wDu1AEAgvuKAoGK/wD51AEAdvxkAWRQ/wAE1QEA6Qj///f7/wAP1QEAyA7w7OLw/wAa1QEAqBjm0NHm/wAl1QEAlz3bpr3b/wAw1QEAj4DPZ6nP/wA71QEAjrfANpDA/wBG1QEAgvuKAoGK/wBR1QEAd/xsAWxZ/wBc1QEAdftGAUY2/wBn1QEAEu5/fzsI/wBx1QEAw/9LLQBL/wB81QEAFPazs1gG/wCG1QEAFujg4IIU/wCQ1QEAF5v9/bhj/wCa1QEAGEj+/uC2/wCk1QEApRTr2Nrr/wCu1QEAsS/SsqvS/wC41QEAs1SsgHOs/wDC1QEAvbWIVCeI/wDM1QEAEu5/fzsI/wDW1QEAvbWIVCeI/wDh1QEAw/9LLQBL/wDs1QEAFPazs1gG/wD21QEAFujg4IIU/wAA1gEAF5v9/bhj/wAK1gEAGEj+/uC2/wAU1gEAAAD39/f3/wAe1gEApRTr2Nrr/wAo1gEAsS/SsqvS/wAy1gEAs1SsgHOs/wA81gEAF7vx8aNA/wBF1gEAAAD39/f3/wBO1gEAskXDmY7D/wBX1gEAEf3m5mEB/wBg1gEAF5v9/bhj/wBp1gEAsS/SsqvS/wBy1gEAuZuZXjyZ/wB71gEAEf3m5mEB/wCE1gEAF5v9/bhj/wCN1gEAAAD39/f3/wCW1gEAsS/SsqvS/wCf1gEAuZuZXjyZ/wCo1gEAFPazs1gG/wCx1gEAF7vx8aNA/wC61gEAGEj+/uC2/wDD1gEApRTr2Nrr/wDM1gEAskXDmY7D/wDV1gEAvbWIVCeI/wDe1gEAFPazs1gG/wDn1gEAF7vx8aNA/wDw1gEAGEj+/uC2/wD51gEAAAD39/f3/wAC1wEApRTr2Nrr/wAL1wEAskXDmY7D/wAU1wEAvbWIVCeI/wAd1wEAFPazs1gG/wAm1wEAFujg4IIU/wAv1wEAF5v9/bhj/wA41wEAGEj+/uC2/wBB1wEApRTr2Nrr/wBK1wEAsS/SsqvS/wBT1wEAs1SsgHOs/wBc1wEAvbWIVCeI/wBl1wEAFPazs1gG/wBu1wEAFujg4IIU/wB31wEAF5v9/bhj/wCA1wEAGEj+/uC2/wCJ1wEAAAD39/f3/wCS1wEApRTr2Nrr/wCb1wEAsS/SsqvS/wCk1wEAs1SsgHOs/wCt1wEAvbWIVCeI/wC21wEAvA7v5+Hv/wC/1wEA1kPJyZTH/wDI1wEA6t7d3Rx3/wDR1wEAuQj28e72/wDa1wEA0ynY17XY/wDj1wEA5Ivf32Ww/wDs1wEA7+jOzhJW/wD11wEAuQj28e72/wD+1wEA0ynY17XY/wAH2AEA5Ivf32Ww/wAQ2AEA6t7d3Rx3/wAZ2AEA7P+YmABD/wAi2AEAuQj28e72/wAr2AEAzCba1Lna/wA02AEA1kPJyZTH/wA92AEA5Ivf32Ww/wBG2AEA6t7d3Rx3/wBP2AEA7P+YmABD/wBY2AEAuQj28e72/wBh2AEAzCba1Lna/wBq2AEA1kPJyZTH/wBz2AEA5Ivf32Ww/wB82AEA6dHn5ymK/wCF2AEA7+jOzhJW/wCO2AEA7P+RkQA//wCX2AEAwwX59/T5/wCg2AEAvA7v5+Hv/wCp2AEAzCba1Lna/wCy2AEA1kPJyZTH/wC72AEA5Ivf32Ww/wDE2AEA6dHn5ymK/wDN2AEA7+jOzhJW/wDW2AEA7P+RkQA//wDf2AEAwwX59/T5/wDo2AEAvA7v5+Hv/wDx2AEAzCba1Lna/wD62AEA1kPJyZTH/wAD2QEA5Ivf32Ww/wAM2QEA6dHn5ymK/wAV2QEA7+jOzhJW/wAe2QEA7P+YmABD/wAn2QEA8v9nZwAf/wAw2QEAtAj17+31/wA82QEAqCXcvL3c/wBI2QEAsGSxdWux/wBU2QEAtgf38vD3/wBg2QEArRziy8ni/wBs2QEArTrInprI/wB42QEAtoCjalGj/wCE2QEAtgf38vD3/wCQ2QEArRziy8ni/wCc2QEArTrInprI/wCo2QEAsGSxdWux/wC02QEAvLmPVCeP/wDA2QEAtgf38vD3/wDM2QEAqhLr2trr/wDY2QEAqCXcvL3c/wDk2QEArTrInprI/wDw2QEAsGSxdWux/wD82QEAvLmPVCeP/wAI2gEAtgf38vD3/wAU2gEAqhLr2trr/wAg2gEAqCXcvL3c/wAs2gEArTrInprI/wA42gEArFO6gH26/wBE2gEAtoCjalGj/wBQ2gEAvtiGShSG/wBc2gEAvwL9/Pv9/wBo2gEAtAj17+31/wB02gEAqhLr2trr/wCA2gEAqCXcvL3c/wCM2gEArTrInprI/wCY2gEArFO6gH26/wCk2gEAtoCjalGj/wCw2gEAvtiGShSG/wC82gEAvwL9/Pv9/wDI2gEAtAj17+31/wDU2gEAqhLr2trr/wDg2gEAqCXcvL3c/wDs2gEArTrInprI/wD42gEArFO6gH26/wAE2wEAtoCjalGj/wAQ2wEAvLmPVCeP/wAc2wEAv/99PwB9/wAo2wEA8v9nZwAf/wAy2wEAlvFhBTBh/wA92wEA+dyyshgr/wBH2wEABaPW1mBN/wBR2wEADXf09KWC/wBb2wEADzb9/dvH/wBl2wEAjiDw0eXw/wBv2wEAjVfeksXe/wB52wEAj6fDQ5PD/wCD2wEAlM6sIWas/wCN2wEA8v9nZwAf/wCX2wEAlM6sIWas/wCi2wEAlvFhBTBh/wCt2wEA+dyyshgr/wC32wEABaPW1mBN/wDB2wEADXf09KWC/wDL2wEADzb9/dvH/wDV2wEAAAD39/f3/wDf2wEAjiDw0eXw/wDp2wEAjVfeksXe/wDz2wEAj6fDQ5PD/wD92wEADJbv74pi/wAG3AEAAAD39/f3/wAP3AEAj4DPZ6nP/wAY3AEA+P/KygAg/wAh3AEADXf09KWC/wAq3AEAjVfeksXe/wAz3AEAj/ewBXGw/wA83AEA+P/KygAg/wBF3AEADXf09KWC/wBO3AEAAAD39/f3/wBX3AEAjVfeksXe/wBg3AEAj/ewBXGw/wBp3AEA+dyyshgr/wBy3AEADJbv74pi/wB73AEADzb9/dvH/wCE3AEAjiDw0eXw/wCN3AEAj4DPZ6nP/wCW3AEAlM6sIWas/wCf3AEA+dyyshgr/wCo3AEADJbv74pi/wCx3AEADzb9/dvH/wC63AEAAAD39/f3/wDD3AEAjiDw0eXw/wDM3AEAj4DPZ6nP/wDV3AEAlM6sIWas/wDe3AEA+dyyshgr/wDn3AEABaPW1mBN/wDw3AEADXf09KWC/wD53AEADzb9/dvH/wAC3QEAjiDw0eXw/wAL3QEAjVfeksXe/wAU3QEAj6fDQ5PD/wAd3QEAlM6sIWas/wAm3QEA+dyyshgr/wAv3QEABaPW1mBN/wA43QEADXf09KWC/wBB3QEADzb9/dvH/wBK3QEAAAD39/f3/wBT3QEAjiDw0eXw/wBc3QEAjVfeksXe/wBl3QEAj6fDQ5PD/wBu3QEAlM6sIWas/wB33QEA8v9nZwAf/wCB3QEAAAAaGhoa/wCM3QEA+dyyshgr/wCW3QEABaPW1mBN/wCg3QEADXf09KWC/wCq3QEADzb9/dvH/wC03QEAAADg4ODg/wC+3QEAAAC6urq6/wDI3QEAAACHh4eH/wDS3QEAAABNTU1N/wDc3QEA8v9nZwAf/wDm3QEAAABNTU1N/wDx3QEAAAAaGhoa/wD83QEA+dyyshgr/wAG3gEABaPW1mBN/wAQ3gEADXf09KWC/wAa3gEADzb9/dvH/wAk3gEAAAD//////wAu3gEAAADg4ODg/wA43gEAAAC6urq6/wBC3gEAAACHh4eH/wBM3gEADJbv74pi/wBV3gEAAAD//////wBe3gEAAACZmZmZ/wBn3gEA+P/KygAg/wBw3gEADXf09KWC/wB53gEAAAC6urq6/wCC3gEAAABAQEBA/wCL3gEA+P/KygAg/wCU3gEADXf09KWC/wCd3gEAAAD//////wCm3gEAAAC6urq6/wCv3gEAAABAQEBA/wC43gEA+dyyshgr/wDB3gEADJbv74pi/wDK3gEADzb9/dvH/wDT3gEAAADg4ODg/wDc3gEAAACZmZmZ/wDl3gEAAABNTU1N/wDu3gEA+dyyshgr/wD33gEADJbv74pi/wAA3wEADzb9/dvH/wAJ3wEAAAD//////wAS3wEAAADg4ODg/wAb3wEAAACZmZmZ/wAk3wEAAABNTU1N/wAt3wEA+dyyshgr/wA23wEABaPW1mBN/wA/3wEADXf09KWC/wBI3wEADzb9/dvH/wBR3wEAAADg4ODg/wBa3wEAAAC6urq6/wBj3wEAAACHh4eH/wBs3wEAAABNTU1N/wB13wEA+dyyshgr/wB+3wEABaPW1mBN/wCH3wEADXf09KWC/wCQ3wEADzb9/dvH/wCZ3wEAAAD//////wCi3wEAAADg4ODg/wCr3wEAAAC6urq6/wC03wEAAACHh4eH/wC93wEAAABNTU1N/wDG3wEAAyD9/eDd/wDP3wEA9Fz6+p+1/wDY3wEA49zFxRuK/wDh3wEADRz+/uvi/wDq3wEA/Ej7+7S5/wDz3wEA7pP392ih/wD83wEA4P2urgF+/wAF4AEADRz+/uvi/wAO4AEA/Ej7+7S5/wAX4AEA7pP392ih/wAg4AEA49zFxRuK/wAp4AEA1fx6egF3/wAy4AEADRz+/uvi/wA74AEAAzz8/MXA/wBE4AEA9Fz6+p+1/wBN4AEA7pP392ih/wBW4AEA49zFxRuK/wBf4AEA1fx6egF3/wBo4AEADRz+/uvi/wBx4AEAAzz8/MXA/wB64AEA9Fz6+p+1/wCD4AEA7pP392ih/wCM4AEA5sPd3TSX/wCV4AEA4P2urgF+/wCe4AEA1fx6egF3/wCn4AEADgz///fz/wCw4AEAAyD9/eDd/wC54AEAAzz8/MXA/wDC4AEA9Fz6+p+1/wDL4AEA7pP392ih/wDU4AEA5sPd3TSX/wDd4AEA4P2urgF+/wDm4AEA1fx6egF3/wDv4AEADgz///fz/wD44AEAAyD9/eDd/wAB4QEAAzz8/MXA/wAK4QEA9Fz6+p+1/wAT4QEA7pP392ih/wAc4QEA5sPd3TSX/wAl4QEA4P2urgF+/wAu4QEA1fx6egF3/wA34QEAx/9qSQBq/wBA4QEA9f+lpQAm/wBM4QEAp6uVMTaV/wBZ4QEAAtDX1zAn/wBl4QEACrj09G1D/wBx4QEAFJ39/a5h/wB94QEAHm7+/uCQ/wCJ4QEAiBj44PP4/wCV4QEAikPpq9np/wCh4QEAj3HRdK3R/wCt4QEAl520RXW0/wC54QEA9f+lpQAm/wDF4QEAl520RXW0/wDS4QEAp6uVMTaV/wDf4QEAAtDX1zAn/wDr4QEACrj09G1D/wD34QEAFJ39/a5h/wAD4gEAHm7+/uCQ/wAP4gEAKkD///+//wAb4gEAiBj44PP4/wAn4gEAikPpq9np/wAz4gEAj3HRdK3R/wA/4gEADaT8/I1Z/wBK4gEAKkD///+//wBV4gEAj1bbkb/b/wBg4gEA/uHX1xkc/wBr4gEAFJ39/a5h/wB24gEAikPpq9np/wCB4gEAkcG2LHu2/wCM4gEA/uHX1xkc/wCX4gEAFJ39/a5h/wCi4gEAKkD///+//wCt4gEAikPpq9np/wC44gEAkcG2LHu2/wDD4gEAAtDX1zAn/wDO4gEADaT8/I1Z/wDZ4gEAHm7+/uCQ/wDk4gEAiBj44PP4/wDv4gEAj1bbkb/b/wD64gEAl520RXW0/wAF4wEAAtDX1zAn/wAQ4wEADaT8/I1Z/wAb4wEAHm7+/uCQ/wAm4wEAKkD///+//wAx4wEAiBj44PP4/wA84wEAj1bbkb/b/wBH4wEAl520RXW0/wBS4wEAAtDX1zAn/wBd4wEACrj09G1D/wBo4wEAFJ39/a5h/wBz4wEAHm7+/uCQ/wB+4wEAiBj44PP4/wCJ4wEAikPpq9np/wCU4wEAj3HRdK3R/wCf4wEAl520RXW0/wCq4wEAAtDX1zAn/wC14wEACrj09G1D/wDA4wEAFJ39/a5h/wDL4wEAHm7+/uCQ/wDW4wEAKkD///+//wDh4wEAiBj44PP4/wDs4wEAikPpq9np/wD34wEAj3HRdK3R/wAC5AEAl520RXW0/wAN5AEA9f+lpQAm/wAZ5AEAa/9oAGg3/wAm5AEAAtDX1zAn/wAy5AEACrj09G1D/wA+5AEAFJ39/a5h/wBK5AEAH3P+/uCL/wBW5AEAM2rv2e+L/wBi5AEAPoLZptlq/wBu5AEAU3m9Zr1j/wB65AEAZ9OYGphQ/wCG5AEA9f+lpQAm/wCS5AEAZ9OYGphQ/wCf5AEAa/9oAGg3/wCs5AEAAtDX1zAn/wC45AEACrj09G1D/wDE5AEAFJ39/a5h/wDQ5AEAH3P+/uCL/wDc5AEAKkD///+//wDo5AEAM2rv2e+L/wD05AEAPoLZptlq/wAA5QEAU3m9Zr1j/wAM5QEADaT8/I1Z/wAX5QEAKkD///+//wAi5QEAQojPkc9g/wAt5QEA/uHX1xkc/wA45QEAFJ39/a5h/wBD5QEAPoLZptlq/wBO5QEAYtKWGpZB/wBZ5QEA/uHX1xkc/wBk5QEAFJ39/a5h/wBv5QEAKkD///+//wB65QEAPoLZptlq/wCF5QEAYtKWGpZB/wCQ5QEAAtDX1zAn/wCb5QEADaT8/I1Z/wCm5QEAH3P+/uCL/wCx5QEAM2rv2e+L/wC85QEAQojPkc9g/wDH5QEAZ9OYGphQ/wDS5QEAAtDX1zAn/wDd5QEADaT8/I1Z/wDo5QEAH3P+/uCL/wDz5QEAKkD///+//wD+5QEAM2rv2e+L/wAJ5gEAQojPkc9g/wAU5gEAZ9OYGphQ/wAf5gEAAtDX1zAn/wAq5gEACrj09G1D/wA15gEAFJ39/a5h/wBA5gEAH3P+/uCL/wBL5gEAM2rv2e+L/wBW5gEAPoLZptlq/wBh5gEAU3m9Zr1j/wBs5gEAZ9OYGphQ/wB35gEAAtDX1zAn/wCC5gEACrj09G1D/wCN5gEAFJ39/a5h/wCY5gEAH3P+/uCL/wCj5gEAKkD///+//wCu5gEAM2rv2e+L/wC55gEAPoLZptlq/wDE5gEAU3m9Zr1j/wDP5gEAZ9OYGphQ/wDa5gEADSz+/uDS/wDj5gEACYv8/JJy/wDs5gEAAdPe3i0m/wD15gEADSX+/uXZ/wD+5gEAC2z8/K6R/wAH5wEAB7P7+2pK/wAQ5wEA/eDLyxgd/wAZ5wEADSX+/uXZ/wAi5wEAC2z8/K6R/wAr5wEAB7P7+2pK/wA05wEAAdPe3i0m/wA95wEA/eelpQ8V/wBG5wEADSX+/uXZ/wBP5wEADFz8/Luh/wBY5wEACYv8/JJy/wBh5wEAB7P7+2pK/wBq5wEAAdPe3i0m/wBz5wEA/eelpQ8V/wB85wEADSX+/uXZ/wCF5wEADFz8/Luh/wCO5wEACYv8/JJy/wCX5wEAB7P7+2pK/wCg5wEAA9Dv7zss/wCp5wEA/eDLyxgd/wCy5wEA+/+ZmQAN/wC75wEADg////Xw/wDE5wEADSz+/uDS/wDN5wEADFz8/Luh/wDW5wEACYv8/JJy/wDf5wEAB7P7+2pK/wDo5wEAA9Dv7zss/wDx5wEA/eDLyxgd/wD65wEA+/+ZmQAN/wAD6AEADg////Xw/wAM6AEADSz+/uDS/wAV6AEADFz8/Luh/wAe6AEACYv8/JJy/wAn6AEAB7P7+2pK/wAw6AEAA9Dv7zss/wA56AEA/eDLyxgd/wBC6AEA/eelpQ8V/wBL6AEA+f9nZwAN/wBU6AEA/uHk5Boc/wBd6AEAkrK4N364/wBm6AEAU5OvTa9K/wBv6AEA/uHk5Boc/wB46AEAkrK4N364/wCB6AEAU5OvTa9K/wCK6AEAz4SjmE6j/wCT6AEA/uHk5Boc/wCc6AEAkrK4N364/wCl6AEAU5OvTa9K/wCu6AEAz4SjmE6j/wC36AEAFf///38A/wDA6AEA/uHk5Boc/wDJ6AEAkrK4N364/wDS6AEAU5OvTa9K/wDb6AEAz4SjmE6j/wDk6AEAFf///38A/wDt6AEAKsz///8z/wD26AEA/uHk5Boc/wD/6AEAkrK4N364/wAI6QEAU5OvTa9K/wAR6QEAz4SjmE6j/wAa6QEAFf///38A/wAj6QEAKsz///8z/wAs6QEAD8GmplYo/wA16QEA/uHk5Boc/wA+6QEAkrK4N364/wBH6QEAU5OvTa9K/wBQ6QEAz4SjmE6j/wBZ6QEAFf///38A/wBi6QEAKsz///8z/wBr6QEAD8GmplYo/wB06QEA6Hn394G//wB96QEA/uHk5Boc/wCG6QEAkrK4N364/wCP6QEAU5OvTa9K/wCY6QEAz4SjmE6j/wCh6QEAFf///38A/wCq6QEAKsz///8z/wCz6QEAD8GmplYo/wC86QEA6Hn394G//wDF6QEAAACZmZmZ/wDO6QEAcnjCZsKl/wDX6QEAC5v8/I1i/wDg6QEAnE3LjaDL/wDp6QEAcnjCZsKl/wDy6QEAC5v8/I1i/wD76QEAnE3LjaDL/wAE6gEA5Gbn54rD/wAN6gEAcnjCZsKl/wAW6gEAC5v8/I1i/wAf6gEAnE3LjaDL/wAo6gEA5Gbn54rD/wAx6gEAOpvYpthU/wA66gEAcnjCZsKl/wBD6gEAC5v8/I1i/wBM6gEAnE3LjaDL/wBV6gEA5Gbn54rD/wBe6gEAOpvYpthU/wBn6gEAItD//9kv/wBw6gEAcnjCZsKl/wB56gEAC5v8/I1i/wCC6gEAnE3LjaDL/wCL6gEA5Gbn54rD/wCU6gEAOpvYpthU/wCd6gEAItD//9kv/wCm6gEAGVrl5cSU/wCv6gEAcnjCZsKl/wC46gEAC5v8/I1i/wDB6gEAnE3LjaDL/wDK6gEA5Gbn54rD/wDT6gEAOpvYpthU/wDc6gEAItD//9kv/wDl6gEAGVrl5cSU/wDu6gEAAACzs7Oz/wD36gEAeFTTjdPH/wAB6wEA01K9vIC9/wAM6wEAKkz///+z/wAW6wEAryXavrra/wAg6wEABIv7+4By/wAq6wEAkGTTgLHT/wA06wEAFpz9/bRi/wA+6wEAOobes95p/wBI6wEA6S/8/M3l/wBS6wEAAADZ2dnZ/wBc6wEAeFTTjdPH/wBm6wEA01K9vIC9/wBx6wEATSnrzOvF/wB86wEAKkz///+z/wCG6wEAryXavrra/wCQ6wEABIv7+4By/wCa6wEAkGTTgLHT/wCk6wEAFpz9/bRi/wCu6wEAOobes95p/wC46wEA6S/8/M3l/wDC6wEAAADZ2dnZ/wDM6wEAeFTTjdPH/wDW6wEA01K9vIC9/wDh6wEATSnrzOvF/wDs6wEAJZD//+1v/wD36wEAKkz///+z/wAB7AEAryXavrra/wAL7AEABIv7+4By/wAV7AEAkGTTgLHT/wAf7AEAFpz9/bRi/wAp7AEAOobes95p/wAz7AEA6S/8/M3l/wA97AEAAADZ2dnZ/wBH7AEAeFTTjdPH/wBQ7AEAKkz///+z/wBZ7AEAryXavrra/wBi7AEAeFTTjdPH/wBr7AEAKkz///+z/wB07AEAryXavrra/wB97AEABIv7+4By/wCG7AEAeFTTjdPH/wCP7AEAKkz///+z/wCY7AEAryXavrra/wCh7AEABIv7+4By/wCq7AEAkGTTgLHT/wCz7AEAeFTTjdPH/wC87AEAKkz///+z/wDF7AEAryXavrra/wDO7AEABIv7+4By/wDX7AEAkGTTgLHT/wDg7AEAFpz9/bRi/wDp7AEAeFTTjdPH/wDy7AEAKkz///+z/wD77AEAryXavrra/wAE7QEABIv7+4By/wAN7QEAkGTTgLHT/wAW7QEAFpz9/bRi/wAf7QEAOobes95p/wAo7QEAeFTTjdPH/wAx7QEAKkz///+z/wA67QEAryXavrra/wBD7QEABIv7+4By/wBM7QEAkGTTgLHT/wBV7QEAFpz9/bRi/wBe7QEAOobes95p/wBn7QEA6S/8/M3l/wBw7QEAeFTTjdPH/wB57QEAKkz///+z/wCC7QEAryXavrra/wCL7QEABIv7+4By/wCU7QEAkGTTgLHT/wCd7QEAFpz9/bRi/wCm7QEAOobes95p/wCv7QEA6S/8/M3l/wC47QEAAADZ2dnZ/wDB7QEA7f2engFC/wDP7QEAsYKiXk+i/wDe7QEA+rTV1T5P/wDs7QEACrj09G1D/wD67QEAFJ39/a5h/wAI7gEAH3P+/uCL/wAW7gEAMWD15vWY/wAk7gEAT0Hdq92k/wAy7gEAcnjCZsKl/wBA7gEAj7u9Moi9/wBO7gEA7f2engFC/wBc7gEAj7u9Moi9/wBr7gEAsYKiXk+i/wB67gEA+rTV1T5P/wCI7gEACrj09G1D/wCW7gEAFJ39/a5h/wCk7gEAH3P+/uCL/wCy7gEAKkD///+//wDA7gEAMWD15vWY/wDO7gEAT0Hdq92k/wDc7gEAcnjCZsKl/wDq7gEADaT8/I1Z/wD37gEAKkD///+//wAE7wEAUU3VmdWU/wAR7wEA/uHX1xkc/wAe7wEAFJ39/a5h/wAr7wEAT0Hdq92k/wA47wEAj8S6K4O6/wBF7wEA/uHX1xkc/wBS7wEAFJ39/a5h/wBf7wEAKkD///+//wBs7wEAT0Hdq92k/wB57wEAj8S6K4O6/wCG7wEA+rTV1T5P/wCT7wEADaT8/I1Z/wCg7wEAH3P+/uCL/wCt7wEAMWD15vWY/wC67wEAUU3VmdWU/wDH7wEAj7u9Moi9/wDU7wEA+rTV1T5P/wDh7wEADaT8/I1Z/wDu7wEAH3P+/uCL/wD77wEAKkD///+//wAI8AEAMWD15vWY/wAV8AEAUU3VmdWU/wAi8AEAj7u9Moi9/wAv8AEA+rTV1T5P/wA88AEACrj09G1D/wBJ8AEAFJ39/a5h/wBW8AEAH3P+/uCL/wBj8AEAMWD15vWY/wBw8AEAT0Hdq92k/wB98AEAcnjCZsKl/wCK8AEAj7u9Moi9/wCX8AEA+rTV1T5P/wCk8AEACrj09G1D/wCx8AEAFJ39/a5h/wC+8AEAH3P+/uCL/wDL8AEAKkD///+//wDY8AEAMWD15vWY/wDl8AEAT0Hdq92k/wDy8AEAcnjCZsKl/wD/8AEAj7u9Moi9/wAM8QEAkw//8Pj//wAb8QEAGCP6+uvX/wAt8QEAf///AP///wA38QEAcYD/f//U/wBH8QEAfw//8P///wBS8QEAKhr19fXc/wBd8QEAFzr//+TE/wBp8QEAAAAAAAAA/wB08QEAGTH//+vN/wCI8QEAqv//AAD//wCS8QEAwM7iiivi/wCi8QEAAL6lpSoq/wCt8QEAF2Pe3riH/wC88QEAgGegX56g/wDL8QEAP///f/8A/wDb8QEAEdrS0mke/wDq8QEAC6///39Q/wD18QEAmpPtZJXt/wAJ8gEAISL///jc/wAX8gEA9ufc3BQ8/wAk8gEAf///AP///wAu8gEAqv+LAACL/wA88gEAf/+LAIuL/wBK8gEAHu+4uIYL/wBd8gEAAACpqamp/wBr8gEAVf9kAGQA/wB68gEAAACpqamp/wCI8gEAJ269vbdr/wCX8gEA1P+LiwCL/wCo8gEAOo5rVWsv/wC88gEAF////4wA/wDM8gEAxsDMmTLM/wDc8gEAAP+LiwAA/wDp8gEACnnp6ZZ6/wD58gEAVT28j7yP/wAL8wEAr4+LSD2L/wAe8wEAf2dPL09P/wAx8wEAf2dPL09P/wBE8wEAgP/RAM7R/wBX8wEAx//TlADT/wBn8wEA6Ov//xST/wB18wEAiv//AL///wCG8wEAAABpaWlp/wCT8wEAAABpaWlp/wCg8wEAlOH/HpD//wCw8wEAAM6ysiIi/wC/8wEAHA////rw/wDQ8wEAVcCLIosi/wDh8wEA1P///wD//wDu8wEAAADc3Nzc/wD98wEAqgf/+Pj//wAN9AEAI////9cA/wAX9AEAHtna2qUg/wAm9AEAAACAgICA/wAw9AEAVf+AAIAA/wA79AEAO9D/rf8v/wBM9AEAAACAgICA/wBW9AEAVQ//8P/w/wBk9AEA6Zb//2m0/wBx9AEAAIzNzVxc/wCA9AEAwv+CSwCC/wCM9AEAKg/////w/wCX9AEAJmrw8OaM/wCi9AEAqhT65ub6/wCw9AEA8A////D1/wDD9AEAQP/8fPwA/wDS9AEAJjH///rN/wDk9AEAiT/mrdjm/wDz9AEAAHfw8ICA/wAD9QEAfx//4P///wAS9QEAKij6+vrS/wAs9QEAAADT09PT/wA79QEAVWTukO6Q/wBL9QEAAADT09PT/wBa9QEA+En//7bB/wBp9QEADIT//6B6/wB69QEAfdGyILKq/wCN9QEAj3X6h876/wCf9QEAlDiZd4iZ/wCz9QEAlDiZd4iZ/wDH9QEAlzTesMTe/wDb9QEAKh/////g/wDs9QEAVf//AP8A/wD29QEAVcDNMs0y/wAF9gEAFRT6+vDm/wAQ9gEA1P///wD//wAd9gEAAP+AgAAA/wAp9gEAcYDNZs2q/wA/9gEAqv/NAADN/wBP9gEAzJjTulXT/wBh9gEAt3zbk3Db/wBz9gEAZ6mzPLNx/wCH9gEAsI/ue2ju/wCc9gEAb//6APqa/wCz9gEAfafRSNHM/wDI9gEA5OTHxxWF/wDd9gEAqsZwGRlw/wDv9gEAagn/9f/6/wD+9gEABB7//+Th/wAN9wEAGkn//+S1/wAb9wEAGVH//96t/wAs9wEAqv+AAACA/wA29wEAGxf9/fXm/wBD9wEAKv+AgIAA/wBO9wEAOMCOa44j/wBd9wEAG////6UA/wBp9wEAC////0UA/wB49wEA1nva2nDW/wCE9wEAJkju7uiq/wCX9wEAVWT7mPuY/wCm9wEAf0Pur+7u/wC59wEA8Xzb23CT/wDM9wEAGin//+/V/wDc9wEAFEb//9q5/wDr9wEAFLDNzYU//wD19wEA9z///8DL/wD/9wEA1Ebd3aDd/wAJ+AEAhDvmsODm/wAZ+AEA1P+AgACA/wAl+AEAAP///wAA/wAu+AEAAD28vI+P/wA9+AEAn7XhQWnh/wBM+AEAEdyLi0UT/wBd+AEABIr6+oBy/wBp+AEAE5r09KRg/wB5+AEAZ6qLLotX/wCH+AEAERD///Xu/wCV+AEADbegoFIt/wCh+AEAAADAwMDA/wCt+AEAi2zrh87r/wC6+AEAr4/NalrN/wDJ+AEAlDiQcICQ/wDY+AEAlDiQcICQ/wDn+AEAAAX///r6/wDx+AEAav//AP9//wAC+QEAkpu0RoK0/wAR+QEAGFTS0rSM/wAa+QEAf/+AAICA/wAk+QEA1B3Y2L/Y/wAx+QEABrj//2NH/wA9+QEAe7bgQODQ/wBM+QEA1HPu7oLu/wBY+QEAG0T19d6z/wBj+QEAAAD//////wBu+QEAAAD19fX1/wB++QEAKv////8A/wCK+QEAOMDNms0y/wCb+QEALUP89/y5/wCk+QEARFvdrd2O/wCt+QEAYrKjMaNU/wC2+QEAKjL////M/wC/+QEAPlXmwuaZ/wDI+QEAVWTGeMZ5/wDR+QEAY7uEI4RD/wDa+QEAKjL////M/wDj+QEAPlXmwuaZ/wDs+QEAVWTGeMZ5/wD1+QEAYrKjMaNU/wD++QEAa/9oAGg3/wAH+gEAKjL////M/wAQ+gEAN1Hw2fCj/wAZ+gEARFvdrd2O/wAi+gEAVWTGeMZ5/wAr+gEAYrKjMaNU/wA0+gEAa/9oAGg3/wA9+gEAKjL////M/wBG+gEAN1Hw2fCj/wBP+gEARFvdrd2O/wBY+gEAVWTGeMZ5/wBh+gEAYJ6rQatd/wBq+gEAY7uEI4RD/wBz+gEAbP9aAFoy/wB8+gEAKhn////l/wCF+gEALUP89/y5/wCO+gEAN1Hw2fCj/wCX+gEARFvdrd2O/wCg+gEAVWTGeMZ5/wCp+gEAYJ6rQatd/wCy+gEAY7uEI4RD/wC7+gEAbP9aAFoy/wDE+gEAKhn////l/wDN+gEALUP89/y5/wDW+gEAN1Hw2fCj/wDf+gEARFvdrd2O/wDo+gEAVWTGeMZ5/wDx+gEAYJ6rQatd/wD6+gEAY7uEI4RD/wAD+wEAa/9oAGg3/wAM+wEAbv9FAEUp/wAV+wEAMUn47fix/wAg+wEAdWHNf827/wAr+wEAkMK4LH+4/wA2+wEAKjL////M/wBB+wEAY0Laodq0/wBM+wEAhKrEQbbE/wBX+wEAlsuoIl6o/wBi+wEAKjL////M/wBt+wEAY0Laodq0/wB4+wEAhKrEQbbE/wCD+wEAkMK4LH+4/wCO+wEApL+UJTSU/wCZ+wEAKjL////M/wCk+wEARTrpx+m0/wCv+wEAdWHNf827/wC6+wEAhKrEQbbE/wDF+wEAkMK4LH+4/wDQ+wEApL+UJTSU/wDb+wEAKjL////M/wDm+wEARTrpx+m0/wDx+wEAdWHNf827/wD8+wEAhKrEQbbE/wAH/AEAi9jAHZHA/wAS/AEAlsuoIl6o/wAd/AEAnueEDCyE/wAo/AEAKib////Z/wAz/AEAMUn47fix/wA+/AEARTrpx+m0/wBJ/AEAdWHNf827/wBU/AEAhKrEQbbE/wBf/AEAi9jAHZHA/wBq/AEAlsuoIl6o/wB1/AEAnueEDCyE/wCA/AEAKib////Z/wCL/AEAMUn47fix/wCW/AEARTrpx+m0/wCh/AEAdWHNf827/wCs/AEAhKrEQbbE/wC3/AEAi9jAHZHA/wDC/AEAlsuoIl6o/wDN/AEApL+UJTSU/wDY/AEAnudYCB1Y/wDj/AEAJUL///e8/wDu/AEAHK/+/sRP/wD5/AEAEO7Z2V8O/wAE/QEAKir////U/wAP/QEAHHD+/tmO/wAa/QEAFtX+/pkp/wAl/QEAD/zMzEwC/wAw/QEAKir////U/wA7/QEAHHD+/tmO/wBG/QEAFtX+/pkp/wBR/QEAEO7Z2V8O/wBc/QEADfiZmTQE/wBn/QEAKir////U/wBy/QEAH23+/uOR/wB9/QEAHK/+/sRP/wCI/QEAFtX+/pkp/wCT/QEAEO7Z2V8O/wCe/QEADfiZmTQE/wCp/QEAKir////U/wC0/QEAH23+/uOR/wC//QEAHK/+/sRP/wDK/QEAFtX+/pkp/wDV/QEAEuns7HAU/wDg/QEAD/zMzEwC/wDr/QEADPeMjC0E/wD2/QEAKhn////l/wAB/gEAJUL///e8/wAM/gEAH23+/uOR/wAX/gEAHK/+/sRP/wAi/gEAFtX+/pkp/wAt/gEAEuns7HAU/wA4/gEAD/zMzEwC/wBD/gEADPeMjC0E/wBO/gEAKhn////l/wBZ/gEAJUL///e8/wBk/gEAH23+/uOR/wBv/gEAHK/+/sRP/wB6/gEAFtX+/pkp/wCF/gEAEuns7HAU/wCQ/gEAD/zMzEwC/wCb/gEADfiZmTQE/wCm/gEADfBmZiUG/wCx/gEAIl///+2g/wC8/gEAGLL+/rJM/wDH/gEABd3w8Dsg/wDS/gEAKk3///+y/wDd/gEAHaL+/sxc/wDo/gEAEcL9/Y08/wDz/gEA/uHj4xoc/wD+/gEAKk3///+y/wAJ/wEAHaL+/sxc/wAU/wEAEcL9/Y08/wAf/wEABd3w8Dsg/wAq/wEA9v+9vQAm/wA1/wEAKk3///+y/wBA/wEAHoj+/tl2/wBL/wEAGLL+/rJM/wBW/wEAEcL9/Y08/wBh/wEABd3w8Dsg/wBs/wEA9v+9vQAm/wB3/wEAKk3///+y/wCC/wEAHoj+/tl2/wCN/wEAGLL+/rJM/wCY/wEAEcL9/Y08/wCj/wEAB9T8/E4q/wCu/wEA/uHj4xoc/wC5/wEA9f+xsQAm/wDE/wEAKjL////M/wDP/wEAIl///+2g/wDa/wEAHoj+/tl2/wDl/wEAGLL+/rJM/wDw/wEAEcL9/Y08/wD7/wEAB9T8/E4q/wAGAAIA/uHj4xoc/wARAAIA9f+xsQAm/wAcAAIAKjL////M/wAnAAIAIl///+2g/wAyAAIAHoj+/tl2/wA9AAIAGLL+/rJM/wBIAAIAEcL9/Y08/wBTAAIAB9T8/E4q/wBeAAIA/uHj4xoc/wBpAAIA9v+9vQAm/wB0AAIA8v+AgAAm/wB/AAIAkw//8Pj//wCJAAIAGCP6+uvX/wCWAAIAFyT//+/b/wCkAAIAFyTu7t/M/wCyAAIAFyTNzcCw/wDAAAIAGCKLi4N4/wDOAAIAcYD/f//U/wDZAAIAcYD/f//U/wDlAAIAcYDudu7G/wDxAAIAcYDNZs2q/wD9AAIAcYCLRYt0/wAJAQIAfw//8P///wAPAQIAfw//8P///wAWAQIAfw/u4O7u/wAdAQIAfw7Nwc3N/wAkAQIAfw6Lg4uL/wArAQIAKhr19fXc/wAxAQIAFzr//+TE/wA4AQIAFzr//+TE/wBAAQIAFzru7tW3/wBIAQIAFjrNzbee/wBQAQIAFzqLi31r/wBiGAIAAAAAAAAA/wBYAQIAGTH//+vN/wBnAQIAqv//AAD//wBsAQIAqv//AAD//wByAQIAqv/uAADu/wB4AQIAqv/NAADN/wB+AQIAqv+LAACL/wCEAQIAwM7iiivi/wCPAQIAAL6lpSoq/wCVAQIAAL///0BA/wCcAQIAAL/u7js7/wCjAQIAAL/NzTMz/wCqAQIAAL6LiyMj/wCxAQIAF2Pe3riH/wC7AQIAF2T//9Ob/wDGAQIAF2Pu7sWR/wDRAQIAF2PNzap9/wDcAQIAF2OLi3NV/wDnAQIAgGegX56g/wDxAQIAg2f/mPX//wD8AQIAg2bujuXu/wAHAgIAg2fNesXN/wASAgIAg2aLU4aL/wAdAgIAP///f/8A/wAoAgIAP///f/8A/wA0AgIAP//udu4A/wBAAgIAP//NZs0A/wBMAgIAP/+LRYsA/wBYAgIAEdrS0mke/wBiAgIAEdv//38k/wBtAgIAEdvu7nYh/wB4AgIAEdrNzWYd/wCDAgIAEdyLi0UT/wCOAgIAC6///39Q/wCUAgIAB6n//3JW/wCbAgIABqnu7mpQ/wCiAgIABqnNzVtF/wCpAgIABqiLiz4v/wCwAgIAmpPtZJXt/wC/AgIAISL///jc/wDIAgIAISL///jc/wDSAgIAIiPu7ujN/wDcAgIAIiLNzcix/wDmAgIAIyKLi4h4/wDwAgIA9ufc3BQ8/wD4AgIAf///AP///wD9AgIAf///AP///wADAwIAf//uAO7u/wAJAwIAf//NAM3N/wAPAwIAf/+LAIuL/wAVAwIAHu+4uIYL/wAjAwIAHvD//7kP/wAyAwIAHvDu7q0O/wBBAwIAHvDNzZUM/wBQAwIAHvCLi2UI/wBfAwIAVf9kAGQA/wBpAwIAJ269vbdr/wBzAwIAOo5rVWsv/wCCAwIAOo//yv9w/wCSAwIAOo/uvO5o/wCiAwIAOo/Nos1a/wCyAwIAOo+Lbos9/wDCAwIAF////4wA/wDNAwIAFf///38A/wDZAwIAFf/u7nYA/wDlAwIAFf/NzWYA/wDxAwIAFf+Li0UA/wD9AwIAxsDMmTLM/wAIBAIAxsH/vz7//wAUBAIAxsDusjru/wAgBAIAxsDNmjLN/wAsBAIAxsCLaCKL/wA4BAIACnnp6ZZ6/wBDBAIAVT28j7yP/wBQBAIAVT7/wf/B/wBeBAIAVT7utO60/wBsBAIAVT7Nm82b/wB6BAIAVT6LaYtp/wCIBAIAr4+LSD2L/wCWBAIAf2dPL09P/wCkBAIAf2j/l////wCzBAIAf2fuje7u/wDCBAIAf2jNec3N/wDRBAIAf2iLUouL/wDgBAIAf2dPL09P/wDuBAIAgP/RAM7R/wD8BAIAx//TlADT/wAHBQIA6Ov//xST/wAQBQIA6Ov//xST/wAaBQIA6Ovu7hKJ/wAkBQIA6OvNzRB2/wAuBQIA5+yLiwpQ/wA4BQIAiv//AL///wBEBQIAiv//AL///wBRBQIAiv/uALLu/wBeBQIAiv/NAJrN/wBrBQIAiv+LAGiL/wB4BQIAAABpaWlp/wCABQIAAABpaWlp/wCIBQIAlOH/HpD//wCTBQIAlOH/HpD//wCfBQIAlOHuHIbu/wCrBQIAlOHNGHTN/wC3BQIAlOGLEE6L/wDDBQIAAM6ysiIi/wDNBQIAAM///zAw/wDYBQIAAM/u7iws/wDjBQIAAM/NzSYm/wDuBQIAAM+Lixoa/wD5BQIAHA////rw/wAFBgIAVcCLIosi/wARBgIAAADc3Nzc/wAbBgIAqgf/+Pj//wAmBgIAI////9cA/wArBgIAI////9cA/wAxBgIAI//u7skA/wA3BgIAI//Nza0A/wA9BgIAI/+Li3UA/wBDBgIAHtna2qUg/wBNBgIAHtr//8El/wBYBgIAHtru7rQi/wBjBgIAHtrNzZsd/wBuBgIAHtqLi2kU/wB5BgIAAADAwMDA/wB+BgIAAAAAAAAA/wCEBgIAAAADAwMD/wCKBgIAAAAaGhoa/wCRBgIAAAD//////wCZBgIAAAAcHBwc/wCgBgIAAAAfHx8f/wCnBgIAAAAhISEh/wCuBgIAAAAkJCQk/wC1BgIAAAAmJiYm/wC8BgIAAAApKSkp/wDDBgIAAAArKysr/wDKBgIAAAAuLi4u/wDRBgIAAAAwMDAw/wDYBgIAAAAFBQUF/wDeBgIAAAAzMzMz/wDlBgIAAAA2NjY2/wDsBgIAAAA4ODg4/wDzBgIAAAA7Ozs7/wD6BgIAAAA9PT09/wABBwIAAABAQEBA/wAIBwIAAABCQkJC/wAPBwIAAABFRUVF/wAWBwIAAABHR0dH/wAdBwIAAABKSkpK/wAkBwIAAAAICAgI/wAqBwIAAABNTU1N/wAxBwIAAABPT09P/wA4BwIAAABSUlJS/wA/BwIAAABUVFRU/wBGBwIAAABXV1dX/wBNBwIAAABZWVlZ/wBUBwIAAABcXFxc/wBbBwIAAABeXl5e/wBiBwIAAABhYWFh/wBpBwIAAABjY2Nj/wBwBwIAAAAKCgoK/wB2BwIAAABmZmZm/wB9BwIAAABpaWlp/wCEBwIAAABra2tr/wCLBwIAAABubm5u/wCSBwIAAABwcHBw/wCZBwIAAABzc3Nz/wCgBwIAAAB1dXV1/wCnBwIAAAB4eHh4/wCuBwIAAAB6enp6/wC1BwIAAAB9fX19/wC8BwIAAAANDQ0N/wDCBwIAAAB/f39//wDJBwIAAACCgoKC/wDQBwIAAACFhYWF/wDXBwIAAACHh4eH/wDeBwIAAACKioqK/wDlBwIAAACMjIyM/wDsBwIAAACPj4+P/wDzBwIAAACRkZGR/wD6BwIAAACUlJSU/wABCAIAAACWlpaW/wAICAIAAAAPDw8P/wAOCAIAAACZmZmZ/wAVCAIAAACcnJyc/wAcCAIAAACenp6e/wAjCAIAAAChoaGh/wAqCAIAAACjo6Oj/wAxCAIAAACmpqam/wA4CAIAAACoqKio/wA/CAIAAACrq6ur/wBGCAIAAACtra2t/wBNCAIAAACwsLCw/wBUCAIAAAASEhIS/wBaCAIAAACzs7Oz/wBhCAIAAAC1tbW1/wBoCAIAAAC4uLi4/wBvCAIAAAC6urq6/wB2CAIAAAC9vb29/wB9CAIAAAC/v7+//wCECAIAAADCwsLC/wCLCAIAAADExMTE/wCSCAIAAADHx8fH/wCZCAIAAADJycnJ/wCgCAIAAAAUFBQU/wCmCAIAAADMzMzM/wCtCAIAAADPz8/P/wC0CAIAAADR0dHR/wC7CAIAAADU1NTU/wDCCAIAAADW1tbW/wDJCAIAAADZ2dnZ/wDQCAIAAADb29vb/wDXCAIAAADe3t7e/wDeCAIAAADg4ODg/wDlCAIAAADj4+Pj/wDsCAIAAAAXFxcX/wDyCAIAAADl5eXl/wD5CAIAAADo6Ojo/wAACQIAAADr6+vr/wAHCQIAAADt7e3t/wAOCQIAAADw8PDw/wAVCQIAAADy8vLy/wAcCQIAAAD19fX1/wAjCQIAAAD39/f3/wAqCQIAAAD6+vr6/wAxCQIAAAD8/Pz8/wA4CQIAVf//AP8A/wA+CQIAVf//AP8A/wBFCQIAVf/uAO4A/wBMCQIAVf/NAM0A/wBTCQIAVf+LAIsA/wBaCQIAO9D/rf8v/wBmCQIAAADAwMDA/wBrCQIAAAAAAAAA/wBxCQIAAAADAwMD/wB3CQIAAAAaGhoa/wB+CQIAAAD//////wCGCQIAAAAcHBwc/wCNCQIAAAAfHx8f/wCUCQIAAAAhISEh/wCbCQIAAAAkJCQk/wCiCQIAAAAmJiYm/wCpCQIAAAApKSkp/wCwCQIAAAArKysr/wC3CQIAAAAuLi4u/wC+CQIAAAAwMDAw/wDFCQIAAAAFBQUF/wDLCQIAAAAzMzMz/wDSCQIAAAA2NjY2/wDZCQIAAAA4ODg4/wDgCQIAAAA7Ozs7/wDnCQIAAAA9PT09/wDuCQIAAABAQEBA/wD1CQIAAABCQkJC/wD8CQIAAABFRUVF/wADCgIAAABHR0dH/wAKCgIAAABKSkpK/wARCgIAAAAICAgI/wAXCgIAAABNTU1N/wAeCgIAAABPT09P/wAlCgIAAABSUlJS/wAsCgIAAABUVFRU/wAzCgIAAABXV1dX/wA6CgIAAABZWVlZ/wBBCgIAAABcXFxc/wBICgIAAABeXl5e/wBPCgIAAABhYWFh/wBWCgIAAABjY2Nj/wBdCgIAAAAKCgoK/wBjCgIAAABmZmZm/wBqCgIAAABpaWlp/wBxCgIAAABra2tr/wB4CgIAAABubm5u/wB/CgIAAABwcHBw/wCGCgIAAABzc3Nz/wCNCgIAAAB1dXV1/wCUCgIAAAB4eHh4/wCbCgIAAAB6enp6/wCiCgIAAAB9fX19/wCpCgIAAAANDQ0N/wCvCgIAAAB/f39//wC2CgIAAACCgoKC/wC9CgIAAACFhYWF/wDECgIAAACHh4eH/wDLCgIAAACKioqK/wDSCgIAAACMjIyM/wDZCgIAAACPj4+P/wDgCgIAAACRkZGR/wDnCgIAAACUlJSU/wDuCgIAAACWlpaW/wD1CgIAAAAPDw8P/wD7CgIAAACZmZmZ/wACCwIAAACcnJyc/wAJCwIAAACenp6e/wAQCwIAAAChoaGh/wAXCwIAAACjo6Oj/wAeCwIAAACmpqam/wAlCwIAAACoqKio/wAsCwIAAACrq6ur/wAzCwIAAACtra2t/wA6CwIAAACwsLCw/wBBCwIAAAASEhIS/wBHCwIAAACzs7Oz/wBOCwIAAAC1tbW1/wBVCwIAAAC4uLi4/wBcCwIAAAC6urq6/wBjCwIAAAC9vb29/wBqCwIAAAC/v7+//wBxCwIAAADCwsLC/wB4CwIAAADExMTE/wB/CwIAAADHx8fH/wCGCwIAAADJycnJ/wCNCwIAAAAUFBQU/wCTCwIAAADMzMzM/wCaCwIAAADPz8/P/wChCwIAAADR0dHR/wCoCwIAAADU1NTU/wCvCwIAAADW1tbW/wC2CwIAAADZ2dnZ/wC9CwIAAADb29vb/wDECwIAAADe3t7e/wDLCwIAAADg4ODg/wDSCwIAAADj4+Pj/wDZCwIAAAAXFxcX/wDfCwIAAADl5eXl/wDmCwIAAADo6Ojo/wDtCwIAAADr6+vr/wD0CwIAAADt7e3t/wD7CwIAAADw8PDw/wACDAIAAADy8vLy/wAJDAIAAAD19fX1/wAQDAIAAAD39/f3/wAXDAIAAAD6+vr6/wAeDAIAAAD8/Pz8/wAlDAIAVQ//8P/w/wAuDAIAVQ//8P/w/wA4DAIAVQ/u4O7g/wBCDAIAVQ7Nwc3B/wBMDAIAVQ6Lg4uD/wBWDAIA6Zb//2m0/wBeDAIA6pH//260/wBnDAIA643u7mqn/wBwDAIA7IfNzWCQ/wB5DAIA6pSLizpi/wCCDAIAAIzNzVxc/wCMDAIAAJT//2pq/wCXDAIAAJTu7mNj/wCiDAIAAJXNzVVV/wCtDAIAAJSLizo6/wC4DAIAwv+CSwCC/wC/DAIAKgD////+AADFDAIAKg/////w/wDLDAIAKg/////w/wDSDAIAKg/u7u7g/wDZDAIAKg7Nzc3B/wDgDAIAKg6Li4uD/wDnDAIAJmrw8OaM/wDtDAIAJ3D///aP/wD0DAIAJ3Du7uaF/wD7DAIAJ2/NzcZz/wACDQIAJ2+Li4ZO/wAJDQIAqhT65ub6/wASDQIA8A////D1/wAgDQIA8A////D1/wAvDQIA7w/u7uDl/wA+DQIA8A7NzcHF/wBNDQIA7w6Li4OG/wBcDQIAQP/8fPwA/wBmDQIAJjH///rN/wBzDQIAJjH///rN/wCBDQIAJTLu7um//wCPDQIAJjHNzcml/wCdDQIAJzGLi4lw/wCrDQIAiT/mrdjm/wC1DQIAikD/v+///wDADQIAikDust/u/wDLDQIAij/NmsDN/wDWDQIAiUCLaIOL/wDhDQIAAHfw8ICA/wDsDQIAfx//4P///wD2DQIAfx//4P///wABDgIAfx/u0e7u/wAMDgIAfx/NtM3N/wAXDgIAfx+LeouL/wAiDgIAI3Pu7t2C/wAxDgIAI3T//+yL/wBBDgIAI3Pu7tyC/wBRDgIAI3PNzb5w/wBhDgIAI3OLi4FM/wBxDgIAKij6+vrS/wCGDgIAAADT09PT/wCQDgIAAADT09PT/wCaDgIA+En//7bB/wCkDgIA+VH//665/wCvDgIA+FHu7qKt/wC6DgIA+VDNzYyV/wDFDgIA+VCLi19l/wDQDgIADIT//6B6/wDcDgIADIT//6B6/wDpDgIAC4Tu7pVy/wD2DgIADIXNzYFi/wADDwIADIWLi1dC/wAQDwIAfdGyILKq/wAeDwIAj3X6h876/wArDwIAj0//sOL//wA5DwIAj0/upNPu/wBHDwIAjk/NjbbN/wBVDwIAj06LYHuL/wBjDwIAr4//hHD//wByDwIAlDiZd4iZ/wCBDwIAlDiZd4iZ/wCQDwIAlzTesMTe/wCfDwIAlzX/yuH//wCvDwIAlzXuvNLu/wC/DwIAlzXNorXN/wDPDwIAljWLbnuL/wDfDwIAKh/////g/wDrDwIAKh/////g/wD4DwIAKh/u7u7R/wAFEAIAKh/Nzc20/wASEAIAKh+Li4t6/wAfEAIAVcDNMs0y/wApEAIAFRT6+vDm/wAvEAIA1P///wD//wA3EAIA1P///wD//wBAEAIA1P/u7gDu/wBJEAIA1P/NzQDN/wBSEAIA1P+LiwCL/wBbEAIA77mwsDBg/wBiEAIA5Mv//zSz/wBqEAIA5Mvu7jCn/wByEAIA5MzNzSmQ/wB6EAIA5MuLixxi/wCCEAIAcYDNZs2q/wCTEAIAqv/NAADN/wCeEAIAzJjTulXT/wCrEAIAy5n/4Gb//wC5EAIAy5nu0V/u/wDHEAIAy5nNtFLN/wDVEAIAy5qLejeL/wDjEAIAt3zbk3Db/wDwEAIAt33/q4L//wD+EAIAt33un3nu/wAMEQIAt33NiWjN/wAaEQIAt3yLXUeL/wAoEQIAZ6mzPLNx/wA3EQIAsI/ue2ju/wBHEQIAb//6APqa/wBZEQIAfafRSNHM/wBpEQIA5OTHxxWF/wB5EQIAqsZwGRlw/wCGEQIAagn/9f/6/wCQEQIABB7//+Th/wCaEQIABB7//+Th/wClEQIABB7u7tXS/wCwEQIAAx3Nzbe1/wC7EQIABR2Li317/wDGEQIAGkn//+S1/wDPEQIAGVH//96t/wDbEQIAGVH//96t/wDoEQIAGVLu7s+h/wD1EQIAGVLNzbOL/wACEgIAGVKLi3le/wAPEgIAqv+AAACA/wAUEgIAqv+AAACA/wAdEgIAKgD////+AAAiEgIAGxf9/fXm/wAqEgIAOMCOa44j/wA0EgIAOMH/wP8+/wA/EgIAOMDus+46/wBKEgIAOMDNms0y/wBVEgIAOMCLaYsi/wBgEgIAG////6UA/wBnEgIAG////6UA/wBvEgIAG//u7poA/wB3EgIAG//NzYUA/wB/EgIAG/+Li1oA/wCHEgIAC////0UA/wCREgIAC////0UA/wCcEgIAC//u7kAA/wCnEgIAC//NzTcA/wCyEgIAC/+LiyUA/wC9EgIA1nva2nDW/wDEEgIA1nz//4P6/wDMEgIA1nzu7nrp/wDUEgIA1nzNzWnJ/wDcEgIA1XyLi0eJ/wDkEgIAJkju7uiq/wDyEgIAVWT7mPuY/wD8EgIAVWX/mv+a/wAHEwIAVWTukO6Q/wASEwIAVWTNfM18/wAdEwIAVWSLVItU/wAoEwIAf0Pur+7u/wA2EwIAf0T/u////wBFEwIAf0Turu7u/wBUEwIAf0TNls3N/wBjEwIAf0OLZouL/wByEwIA8Xzb23CT/wCAEwIA8X3//4Kr/wCPEwIA8X3u7nmf/wCeEwIA8X3NzWiJ/wCtEwIA8XyLi0dd/wC8EwIAGin//+/V/wDHEwIAFEb//9q5/wDREwIAFEb//9q5/wDcEwIAE0Xu7sut/wDnEwIAE0XNza+V/wDyEwIAFEWLi3dl/wD9EwIAFLDNzYU//wACFAIA9z///8DL/wAHFAIA9Un//7XF/wANFAIA9Unu7qm4/wATFAIA9UrNzZGe/wAZFAIA9UmLi2Ns/wAfFAIA1Ebd3aDd/wAkFAIA1ET//7v//wAqFAIA1ETu7q7u/wAwFAIA1ETNzZbN/wA2FAIA1EOLi2aL/wA8FAIAhDvmsODm/wBHFAIAxN3woCDw/wBOFAIAv8//mzD//wBWFAIAwM/ukSzu/wBeFAIAwM/NfSbN/wBmFAIAwM+LVRqL/wBuFAIAAP///wAA/wByFAIAAP///wAA/wB3FAIAAP/u7gAA/wB8FAIAAP/NzQAA/wCBFAIAAP+LiwAA/wCGFAIAAD28vI+P/wCQFAIAAD7//8HB/wCbFAIAAD7u7rS0/wCmFAIAAD7NzZub/wCxFAIAAD6Li2lp/wC8FAIAn7XhQWnh/wDGFAIAn7f/SHb//wDRFAIAn7fuQ27u/wDcFAIAn7bNOl/N/wDnFAIAn7eLJ0CL/wDyFAIAEdyLi0UT/wD+FAIABIr6+oBy/wAFFQIACZb//4xp/wANFQIACZbu7oJi/wAVFQIACZbNzXBU/wAdFQIACZaLi0w5/wAlFQIAE5r09KRg/wAwFQIAZ6qLLotX/wA5FQIAZ6v/VP+f/wBDFQIAZ6vuTu6U/wBNFQIAZ6vNQ82A/wBXFQIAZ6qLLotX/wBhFQIAERD///Xu/wBqFQIAERD///Xu/wB0FQIAEhHu7uXe/wB+FQIAEhHNzcW//wCIFQIAEhCLi4aC/wCSFQIADbegoFIt/wCZFQIADbj//4JH/wChFQIADbju7nlC/wCpFQIADbjNzWg5/wCxFQIADbmLi0cm/wC5FQIAi2zrh87r/wDBFQIAkHj/h87//wDKFQIAkHjufsDu/wDTFQIAkHjNbKbN/wDcFQIAkXeLSnCL/wDlFQIAr4/NalrN/wDvFQIAr5D/g2///wD6FQIAr5Duemfu/wAFFgIAr5DNaVnN/wAQFgIAr5CLRzyL/wAbFgIAlDiQcICQ/wAlFgIAlTj/xuL//wAwFgIAlTjuudPu/wA7FgIAlDnNn7bN/wBGFgIAlTiLbHuL/wBRFgIAlDiQcICQ/wBbFgIAAAX///r6/wBgFgIAAAX///r6/wBmFgIAAAXu7unp/wBsFgIAAATNzcnJ/wByFgIAAAOLi4mJ/wB4FgIAav//AP9//wCEFgIAav//AP9//wCRFgIAav/uAO52/wCeFgIAav/NAM1m/wCrFgIAav+LAItF/wC4FgIAkpu0RoK0/wDCFgIAkpz/Y7j//wDNFgIAkpzuXKzu/wDYFgIAkpzNT5TN/wDjFgIAk5uLNmSL/wDuFgIAGFTS0rSM/wDyFgIAFLD//6VP/wD3FgIAFLDu7ppJ/wD8FgIAFLDNzYU//wABFwIAFLCLi1or/wAGFwIA1B3Y2L/Y/wAOFwIA1B7//+H//wAXFwIA1B7u7tLu/wAgFwIA1B3NzbXN/wApFwIA1B2Li3uL/wAyFwIABrj//2NH/wA5FwIABrj//2NH/wBBFwIABrju7lxC/wBJFwIABrjNzU85/wBRFwIABrmLizYm/wCjGAIAKgD////+AABZFwIAe7bgQODQ/wBjFwIAgf//APX//wBuFwIAgf/uAOXu/wB5FwIAgf/NAMXN/wCEFwIAgf+LAIaL/wCPFwIA1HPu7oLu/wCWFwIA49fQ0CCQ/wCgFwIA68H//z6W/wCrFwIA68Du7jqM/wC2FwIA68DNzTJ4/wDBFwIA68CLiyJS/wDMFwIAG0T19d6z/wDSFwIAG0X//+e6/wDZFwIAG0Tu7tiu/wDgFwIAG0TNzbqW/wDnFwIAG0OLi35m/wDuFwIAAAD//////wD0FwIAAAD19fX1/wD/FwIAKv////8A/wAGGAIAKv////8A/wAOGAIAKv/u7u4A/wAWGAIAKv/Nzc0A/wAeGAIAKv+Li4sA/wAmGAIAOMDNms0y/wCaHAIAfywCALYYAgC4GAIAuhgCALwYAgC+GAIAwBgCAMIYAgDEGAIAxhgCAMkYAgDMGAIAzxgCANIYAgDVGAIA2BgCANsYAgDeGAIA4RgCAOQYAgAAAAAABAAAAAQAAAALAAAANgAAABYAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAIAAAAEAAAABgAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAANwAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAADGJQIACQAAAMwlAgAKAAAA1SUCAAsAAAAXJgIADAAAAB0mAgANAAAAIiYCAA4AAADVJQIADwAAAKomAgAQAAAAsSYCABEAAAC5JgIAEgAAAMAmAgATAAAAzCYCABQAAAAXJgIAFQAAANgmAgAWAAAA4CYCABcAAADqJgIAGAAAAPgmAgAZAAAA/yYCABoAAAAEJwIAGwAAAAcnAgAcAAAADCcCAB0AAAAUJwIAHgAAABonAgAfAAAAICcCACAAAAAnJwIAIQAAAC0nAgAhAAAANScCACIAAAA8JwIAIwAAANUlAgAkAAAAsSYCABEAAAC5JgIAEgAAADMpAgAlAAAAwCYCABMAAADMJgIAFAAAABcmAgAVAAAAPikCACYAAADgJgIAFwAAAOomAgAYAAAA+CYCABkAAAD/JgIAGgAAAAQnAgAbAAAABycCABwAAABGKQIAJwAAABQnAgAeAAAAGicCAB8AAAAgJwIAIAAAACcnAgAhAAAALScCACEAAAA1JwIAIgAAADwnAgAjAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAABP7//4f+//8HAAAAAAAAAAD//3////9///////////N//v3//////3///////////w/g/////zH8////AAAAAAAAAP//////////////AQD4AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNf///v/////f39U/f8PAP7f///////////+3/////8DAP///////58Z////zz8DAAAAAAAA/v///38C/v///38AAAAAAAAAAAD///8HBwAAAAAA/v//B/4HAAAAAP7//////////3z/fy8AYAAAAOD///////8jAAAA/wMAAADgn/n///3FAwAAALADAAMA4If5///9bQMAAABeAAAcAOCv+////e0jAAAAAAEAAADgn/n///3NIwAAALADAAAA4Mc91hjHvwMAAAAAAAAAAODf/f///e8DAAAAAAMAAADg3/3///3vAwAAAEADAAAA4N/9///9/wMAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAD+/////38NAD8AAAAAAAAAliXw/q5sDSAfAAAAAAAAAAAAAAAAAAAA//7///8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////PwD/////fwDt2gcAAAAAUAFQMYKrYiwAAAAAQADJgPUHAAAAAAgBAv////////////////////////8P//////////////8D//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAQEwAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAIAAAAD+AwAA/v///////////x8A/v////////////8H4P////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////z8AAAAAAAAAAAAAAP//////////////////////////DwAAAAAAAAAAAAAAAAAAAABg/wf+//+H/v//BwAAAAAAAIAA//9/////f/////8AAAAAAAAA//////////////8BAPgDAAMAAAAAAP//////////PwAAAAMAAADA1///+/////9/f1T9/w8A/t////////////7f/////3sA////////nxn////PPwMAAAAAAAD+////fwL+////fwD+//v//7sWAP///wcHAAAAAAD+//8H//8HAP8D////////////fP9/7///Pf8D7v////////P/Px7/z/8AAO6f+f///cXTnzmAsM//AwDkh/n///1t04c5AF7A/x8A7q/7///97fO/OwAAwf8AAO6f+f///c3zjznAsMP/AADsxz3WGMe/w8c9gACA/wAA7t/9///978PfPWAAw/8AAOzf/f///e/D3z1gQMP/AADs3/3///3/w889gADD/wAAAAAAAAAAAAAAAAAAAAAAAP7/////f/8H/3//AwAAAACWJfD+rmz/O18//wMAAAAAAAAAA/8DoML//v///wP+/98Pv/7/P/4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8fAgAAAKAAAAD+/z4A/v///////////x9m/v////////////93GQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcAAAAAAAAAAAABASsAAAAsAAAALQAAAC4AAAAvAAAALQAAADAAAAAxAAAAMgAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAA3QAAYOYAANjkAADM5wAAzOcAADjpAADY5AAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAIAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAAzAAAANAAAACkAAAA1AAAADQAAABoAAAAqAAAACQAAAAoAAAACAAAAAAAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAANgAAADcAAAAyAAAAOAAAAA4AAAAbAAAAMwAAAAsAAAAMAAAAAgAAAAABAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz40BALIzAgBTjgEAuzMCAMIzAgDLMwIAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAGAAAABwAAAAEAAAABAAAAAAAAAAAAAAAAFQoAABUAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBwcHBwcAAAAAAAAAAAABASsAAAAsAAAALQAAAC4AAAAvAAAALQAAADAAAAAxAAAAMgAAAETsAACw7QAAHO8AAIjwAACI8AAA9PEAABzvAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAIAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAMwAAADQAAAApAAAANQAAAA0AAAAaAAAAKgAAAAkAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADYAAAA3AAAAMgAAADgAAAAOAAAAGwAAADMAAAALAAAADAAAAAIAAAAAAQAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF00AgBjNAIAZjQCAGw0AgAGNAIAczQCAHw0AgCENAIAnPMAABQAAABDLlVURi04AAAAAAAAAAAAAAAAAN4SBJUAAAAA////////////////AgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTgPQAAAkAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAQAAAA/PkCAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9QAABQAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAABAAAAAE/gIAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1AACE9QAABQAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABAAAAAMAgMAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmOgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAIAAAAAkAAAAKAAAADQAAAAsAAAAMAAAAhQAAAAAgAAABIAAAAiAAAAMgAAAEIAAABSAAAAYgAAAIIAAACSAAAAogAAAoIAAAKSAAAF8gAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BV9wiQD/CS8PdAAAAP1XAgBuAAAA/1cCAHIAAAABWAIAZgAAAANYAgBhAAAABVgCAGUAAAAHWAIAdwAAAAlYAgBXAAAAFlgCAHMAAAAkWAIAUwAAADBYAgBkAAAAPVgCAEQAAABJWAIAAAAAAAAAAAAAAAAAAAAEAAQAGwAbACAAIAAjACEACgACABYACQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/FwCu/3cArv8HAC4Arv8mAK7/FwARACMArv8NAK7/rv+u/67/OgCu/67/NQCu/67/rv8oAK7/BwCu/zsARQCu/0gArv+u/67/rv+u/67/rv/8/+gA9v///xoAAAAnAAEAMgCu/67/AgAkAAMALwCu/67/rv+u/67//v+UAK7/CQAbAK7/vP+u/67/r/+u/67/rv+u/67/rv+u/wAAAAAAAG3m7N4FAAsASQAxAVMAfwEwAWkAeAH/AIEBUwKCAYMBhAGFAYYBVAKHAYgBiQFWAooBVwKLAYwBjgHdAY8BWQKQAVsCkQGSAZMBYAKUAWMClgFpApcBaAKYAZkBnAFvAp0BcgKfAXUCpgGAAqcBqAGpAYMCrAGtAa4BiAKvAbABsQGKArIBiwK3AZICuAG5AbwBvQHEAcYBxAHFAcUBxgHHAckBxwHIAcgByQHKAcwBygHLAcsBzAHxAfMB8QHyAfIB8wH0AfUB9gGVAfcBvwEgAp4BhgOsA4gDrQOJA64DigOvA4wDzAOOA80DjwPOA5kDRQOZA74fowPCA/cD+AP6A/sDYB6bHp4e3wBZH1EfWx9TH10fVR9fH1cfvB+zH8wfwx/sH+Uf/B/zHzoCZSw7AjwCPQKaAT4CZixBAkICQwKAAUQCiQJFAowC9AO4A/kD8gP9A3sD/gN8A/8DfQPABM8EJiHJAyohawArIeUAMiFOIYMhhCFgLGEsYixrAmMsfR1kLH0CbSxRAm4scQJvLFACcCxSAnIscyx1LHYsfiw/An8sQALyLPMsfad5HYunjKeNp2UCqqdmAscQJy3NEC0tdgN3A5wDtQCSA9ADmAPRA6YD1QOgA9YDmgPwA6ED8QOVA/UDzwPXAwAAAABBACAawAAgHwABAS8yAQEFOQEBD0oBAS15AQEFcAMBA5EDIBGjAyAJAARQEBAEICBgBAEhigQBNcEEAQ3QBAE/FAUBEzEFMCagAQEFswEBA80BAQ/eAQER+AEBJyICARHYAwEXAB4BlaAeAV8IH/gIGB/4Bigf+Ag4H/gISB/4Bmgf+AiIH/gImB/4CKgf+Ai4H/gCuh+2AsgfqgTYH/gC2h+cAugf+ALqH5AC+B+AAvofggJGAgEJEAUBA2AhEBAALDAvZywBBYAsAWPrLAEDQKYBLYCmARcipwENMqcBPXmnAQN+pwEJkKcBA6CnAQkh/yAaAAAAAHsgdmFyIHBhdGggPSBQb2ludGVyX3N0cmluZ2lmeSgkMCk7IHZhciBkYXRhID0gUG9pbnRlcl9zdHJpbmdpZnkoJDEpOyBGUy5jcmVhdGVQYXRoKCIvIiwgUEFUSC5kaXJuYW1lKHBhdGgpKTsgRlMud3JpdGVGaWxlKFBBVEguam9pbigiLyIsIHBhdGgpLCBkYXRhKTsgfQBjb3JlAHhkb3R2ZXJzaW9uADEuNwAxLjQAMS4yAF9sZHJhd18AX2hkcmF3XwBfdGRyYXdfAF9obGRyYXdfAF90bGRyYXdfAHhkb3QgdmVyc2lvbiAiJXMiIHRvbyBsb25nACAlZCAAJS4wMmYAJXMlZCAtACMlMDJ4JTAyeCUwMnglMDJ4AHNldGxpbmV3aWR0aCgAJS4zZgBTIABDIAAyIABFIABlIABGIAB0ICV1IABUIABkb3Q6ZG90AGd2OmRvdABjYW5vbjpkb3QAcGxhaW46ZG90AHBsYWluLWV4dDpkb3QAeGRvdDp4ZG90AHhkb3QxLjI6eGRvdAB4ZG90MS40Onhkb3QASSAAIl9zdWJncmFwaF9jbnQiOiAlZAAiX2d2aWQiOiAlZAAiZWRnZXMiOiBbCgAiX2d2aWQiOiAlZCwKACJ0YWlsIjogJWQsCgAiaGVhZCI6ICVkACJvYmplY3RzIjogWwoAIm5vZGVzIjogWwoAIm5hbWUiOiAiJXMiAFwiAFwvAFxiAFxmAFxuAFxyAFx0ACJzdWJncmFwaHMiOiBbCgAiJXMiOiAAIiVzIgBDb3VsZCBub3QgcGFyc2UgeGRvdCAiJXMiCgBbCgAib3AiOiAiJWMiLAoAInJlY3QiOiBbJS4wM2YsJS4wM2YsJS4wM2YsJS4wM2ZdCgAib3AiOiAiTCIsCgAib3AiOiAiVCIsCgAicHQiOiBbJS4wM2YsJS4wM2ZdLAoAImFsaWduIjogIiVjIiwKACJ3aWR0aCI6ICUuMDNmLAoAInRleHQiOiAiJXMiCgAiZ3JhZCI6ICJub25lIiwKACJjb2xvciI6ICIlcyIKACJncmFkIjogImxpbmVhciIsCgAiZ3JhZCI6ICJyYWRpYWwiLAoAIm9wIjogIkYiLAoAInNpemUiOiAlLjAzZiwKACJmYWNlIjogIiVzIgoAIm9wIjogIlMiLAoAInN0eWxlIjogIiVzIgoAIm9wIjogInQiLAoAImZvbnRjaGFyIjogJWQKACJwMCI6IFslLjAzZiwlLjAzZiwlLjAzZl0sCgAicDEiOiBbJS4wM2YsJS4wM2YsJS4wM2ZdLAoAInN0b3BzIjogWwB7ImZyYWMiOiAlLjAzZiwgImNvbG9yIjogIiVzIn0AXQoAInAwIjogWyUuMDNmLCUuMDNmXSwKACJwMSI6IFslLjAzZiwlLjAzZl0sCgAicG9pbnRzIjogWwBbJS4wM2YsJS4wM2ZdAGRyYXdfAGxkcmF3XwBoZHJhd18AdGRyYXdfAGhsZHJhd18AdGxkcmF3XwAiZGlyZWN0ZWQiOiAlcywKACJzdHJpY3QiOiAlcwBEdXBsaWNhdGUgY2x1c3RlciBuYW1lICIlcyIKAHhkb3QAanNvbgBqc29uMABkb3RfanNvbgB4ZG90X2pzb24AanNvbjpqc29uAGpzb24wOmpzb24AZG90X2pzb246anNvbgB4ZG90X2pzb246anNvbgBuID49IDQAZ3ZyZW5kZXJfY29yZV9maWcuYwBmaWdfYmV6aWVyAGZpZ19yZXNvbHZlX2NvbG9yAGZpZwBmaWc6ZmlnAG1hcAByZWN0ICVzICVkLCVkICVkLCVkCgBjaXJjbGUgJXMgJWQsJWQsJWQKAHBvbHkgJXMAICVkLCVkAGd2cmVuZGVyX2NvcmVfbWFwLmMAbWFwX291dHB1dF9zaGFwZQByZWN0YW5nbGUgKCVkLCVkKSAoJWQsJWQpICVzICVzCgA8YXJlYSBzaGFwZT0iY2lyY2xlIgA8YXJlYSBzaGFwZT0icmVjdCIAPGFyZWEgc2hhcGU9InBvbHkiACBocmVmPSIAIHRpdGxlPSIAIGFsdD0iIgAgY29vcmRzPSIAJWQsJWQsJWQAJWQsJWQsJWQsJWQAJWQsJWQALCVkLCVkACI+CgA8L21hcD4KAGJhc2UgcmVmZXJlcgoAZGVmYXVsdCAAPG1hcCBpZD0iACIgbmFtZT0iAGlzbWFwOm1hcABjbWFwOm1hcABpbWFwOm1hcABjbWFweDptYXAAaW1hcF9ucDptYXAAY21hcHhfbnA6bWFwACMgJXMKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQKACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuM2YgJWQgJS40ZiAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAJWQgJWQgIyUwMnglMDJ4JTAyeAoAZ3ZyZW5kZXJfY29yZV9tcC5jAG1wX3Jlc29sdmVfY29sb3IAJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlLjRmICVkICUuMWYgJS4xZiAlZCAlZCAlc1wwMDEKACMgZW5kIG9mIEZJRyBmaWxlCgAjRklHIDMuMgoAIyBHZW5lcmF0ZWQgYnkgJXMgdmVyc2lvbiAlcyAoJXMpCgAjIFRpdGxlOiAlcwoAIyBQYWdlczogJWQKAFBvcnRyYWl0CgBDZW50ZXIKAEluY2hlcwoATGV0dGVyCgAxMDAuMDAKAFNpbmdsZQoALTIKADEyMDAAIDIKAG1wAG1wOm1wACBdICAlZCB0cnVlICVzCgAgXSAgJWQgZmFsc2UgJXMKACBzZXRsaW5ld2lkdGgKACVzIABzZXRoc2IAJS41ZyAlLjVnICUuNWcgJXNjb2xvcgoAJSAAbmV3cGF0aCAAIG1vdmV0bwoAIGxpbmV0bwoAc3Ryb2tlCgAgY3VydmV0bwoAY2xvc2VwYXRoIGZpbGwKAGNsb3NlcGF0aCBzdHJva2UKACBlbGxpcHNlX3BhdGggZmlsbAoAIGVsbGlwc2VfcGF0aCBzdHJva2UKACAvJXMgc2V0X2ZvbnQKACBtb3ZldG8gACAlcyBhbGlnbmVkdGV4dAoAWyAvUmVjdCBbIAAgXQoAICAvQm9yZGVyIFsgMCAwIDAgXQogIC9BY3Rpb24gPDwgL1N1YnR5cGUgL1VSSSAvVVJJICVzID4+CiAgL1N1YnR5cGUgL0xpbmsKL0FOTiBwZGZtYXJrCgBnc2F2ZQoAJSUgJXMKADAgMCAwIGVkZ2Vjb2xvcgoAZW5kcGFnZQpzaG93cGFnZQpncmVzdG9yZQoAJSVQYWdlVHJhaWxlcgoAJSUlJUVuZFBhZ2U6ICVkCgAlJSUlUGFnZTogJWQgJWQKACUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBMYW5kc2NhcGUAUG9ydHJhaXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRleE9mICgnLicsIG1zaWUgKSkpCgAgICAgICB9CgAgICAgICBpZiAoaWV2ZXJzPj01KXsKACAgICAgICBmb3IgKHggaW4gVk1MeWVzKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUx5ZXNbeF0pOwoAICAgICAgICAgaWYgKGl0ZW0pIHsKACAgICAgICAgICAgaXRlbS5zdHlsZS52aXNpYmlsaXR5PSd2aXNpYmxlJzsKACAgICAgICAgIH0KACAgICAgICB9CgAgICAgICAgZm9yICh4IGluIFZNTG5vKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUxub1t4XSk7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJzsKACAgICAgfWVsc2V7CgAgICAgIH0KACAgIH0KACAgIDwvU0NSSVBUPgoAPC9IRUFEPgA8Qk9EWSBvbmxvYWQ9J2Jyb3dzZXJjaGVjaygpOyc+CgA8RElWIGlkPSdfVk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTppbmxpbmU7IHZpc2liaWxpdHk6aGlkZGVuACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0Ij4KADxTVFlMRT4KAHZcOiogeyBiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7ZGlzcGxheTppbmxpbmUtYmxvY2t9CgA8L1NUWUxFPgoAPHhtbDpuYW1lc3BhY2UgbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiBwcmVmaXg9InYiIC8+CgAgPHY6Z3JvdXAgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyAAIHdpZHRoOiAlZHB0OyBoZWlnaHQ6ICVkcHQiACBjb29yZG9yaWdpbj0iMCwwIiBjb29yZHNpemU9IiVkLCVkIiA+ADxIVE1MPgoACjwhLS0gR2VuZXJhdGVkIGJ5IAAgdmVyc2lvbiAAICgAKQotLT4KAGFxdWEAZnVjaHNpYQBsaW1lAG9saXZlAHRlYWwAdm1sAHZtbDp2bWwALy8qKiogY29tbWVudDogJXMKAC8vKioqIHBvbHlsaW5lCgBzY2FsZSAgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHJvdGF0ZSAgIDwlOS4zZiwgJTkuM2YsICU5LjNmPgoAdHJhbnNsYXRlPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgBzcGhlcmVfc3dlZXAgewogICAgJXMKICAgICVkLAoAbGluZWFyX3NwbGluZQA8JTkuM2YsICU5LjNmLCAlOS4zZj4sICUuM2YKACVzICAgICVzACAgICB0b2xlcmFuY2UgMC4wMQogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAlcyVzACVzIHRyYW5zbWl0ICUuM2YAUmVkAEdyZWVuAEJsdWUAcmdiPCU5LjNmLCAlOS4zZiwgJTkuM2Y+IHRyYW5zbWl0ICUuM2YAb29wcywgaW50ZXJuYWwgZXJyb3I6IHVuaGFuZGxlZCBjb2xvciB0eXBlPSVkICVzCgBndnJlbmRlcl9jb3JlX3Bvdi5jAHBvdl9jb2xvcl9hc19zdHIAcGlnbWVudCB7IGNvbG9yICVzIH0KAHBvdiByZW5kZXJlcjplbCAtICVzCgAvLyoqKiBiZXppZXIKAGJfc3BsaW5lACAgICAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogcG9seWdvbgoAICAgIHRvbGVyYW5jZSAwLjEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAcG9seWdvbiB7ICVkLAoAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+ACVzCiAgICAlcwAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogZWxsaXBzZQoAdG9ydXMgeyAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHNwaGVyZSB7PCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAxLjAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogdGV4dHNwYW46ICVzLCBmb250c2l6ZSA9ICUuM2YsIGZvbnRuYW1lID0gJXMKAHNjYWxlICUuM2YKAHRleHQgewogICAgdHRmICIlcyIsCiAgICAiJXMiLCAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlcyAgICAlc30KACAgICBub19zaGFkb3cKAC8vKioqIGVuZF9lZGdlCgAvLyoqKiBiZWdpbl9lZGdlCgAvLyoqKiBlbmRfbm9kZQoALy8qKiogYmVnaW5fbm9kZTogJXMKAC8vKioqIGVuZF9jbHVzdGVyCgAvLyoqKiBiZWdpbl9jbHVzdGVyCgAvLyoqKiBlbmRfcGFnZQoALy8qKiogYmVnaW5fcGFnZQoALy8qKiogZW5kX2xheWVyCgAvLyoqKiBiZWdpbl9sYXllcjogJXMsICVkLyVkCgAvLyoqKiBlbmRfZ3JhcGgKAC8vKioqIGJlZ2luX2dyYXBoICVzCgBjYW1lcmEgeyBsb2NhdGlvbiA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICBsb29rX2F0ICA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICByaWdodCB4ICogaW1hZ2Vfd2lkdGggLyBpbWFnZV9oZWlnaHQKICAgICAgICAgYW5nbGUgJS4zZgp9CgAvL3NreQpwbGFuZSB7IDwwLCAxLCAwPiwgMSBob2xsb3cKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnQgeyBib3pvIHR1cmJ1bGVuY2UgMC45NQogICAgICAgICAgICBjb2xvcl9tYXAgewogICAgICAgICAgICAgICAgWzAuMDAgcmdiIDwwLjA1LCAwLjIwLCAwLjUwPl0KICAgICAgICAgICAgICAgIFswLjUwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC43NSByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwwLjI1LCAwLjI1LCAwLjI1Pl0KICAgICAgICAgICAgICAgIFsxLjAwIHJnYiA8MC41MCwgMC41MCwgMC41MD5dCiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2NhbGUgPDEuMDAsIDEuMDAsIDEuNTA+ICogMi41MAogICAgICAgICAgICB0cmFuc2xhdGUgPDAuMDAsIDAuMDAsIDAuMDA+CiAgICAgICAgfQogICAgICAgIGZpbmlzaCB7IGFtYmllbnQgMSBkaWZmdXNlIDAgfQogICAgfQogICAgc2NhbGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAY29tcABjbnQgPT0gc3oAbWluY3Jvc3MuYwBmaXhMYWJlbE9yZGVyAHJlbWluY3Jvc3MAbWluY3Jvc3MgJXM6ICVkIGNyb3NzaW5ncywgJS4yZiBzZWNzLgoAdgBuZWlnaGJvcgAocnYgPT0gMCkgfHwgKE5EX29yZGVyKHJ2KS1ORF9vcmRlcih2KSkqZGlyID4gMABjb25zdHJhaW5pbmdfZmxhdF9lZGdlKGcsdixlKSA9PSBGQUxTRQBmbGF0X3Jlb3JkZXIATkRfcmFuayh2KSA9PSByAHBvc3RvcmRlcgBmbGF0aW5kZXgoYWdoZWFkKGUpKSA8IE0tPm5yb3dzAGZsYXRfc2VhcmNoAGZsYXRpbmRleChhZ3RhaWwoZSkpIDwgTS0+bmNvbHMAb3V0AG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQuCgBvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkIGZvciBub2RlICclcycuCgBtZXJnZTI6IGdyYXBoICVzLCByYW5rICVkIGhhcyBvbmx5ICVkIDwgJWQgbm9kZXMKAG1pbmNyb3NzOiBwYXNzICVkIGl0ZXIgJWQgdHJ5aW5nICVkIGN1cl9jcm9zcyAlZCBiZXN0X2Nyb3NzICVkCgBORF9vcmRlcih2KSA8IE5EX29yZGVyKHcpAGJhbGFuY2UAdHJhbnNwb3NlX3N0ZXAAc3VycHJpc2UKAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogJXMgJXMgcmFuayAlZCBpID0gJWQgYW4gPSAwCgBHRF9yYW5rKGcpW3JdLm4gPD0gR0RfcmFuayhnKVtyXS5hbgBpbnN0YWxsX2luX3JhbmsAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogcmFuayAlZCBub3QgaW4gcmFuayByYW5nZSBbJWQsJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IEdEX3JhbmsoZylbJWRdLnYgKyBORF9vcmRlciglcykgWyVkXSA+IEdEX3JhbmsoZylbJWRdLmF2ICsgR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAX25ld19yYW5rAG1jbGltaXQAcmFuayhnLCAyLCBuc2l0ZXIyKGcpKSA9PSAwAHBvc2l0aW9uLmMAZG90X3Bvc2l0aW9uAEFSPSUwLjRsZgkgQXJlYT0gJTAuNGxmCQBEdW1teT0lZAoAR29pbmcgdG8gYXBwbHkgYW5vdGhlciBleHBhbnNpb24uCgBuZXh0I2l0ZXI9JWQKAGhwAGNvbm5lY3RHcmFwaABFZGdlIGxlbmd0aCAlZiBsYXJnZXIgdGhhbiBtYXhpbXVtICV1IGFsbG93ZWQuCkNoZWNrIGZvciBvdmVyd2lkZSBub2RlKHMpLgoAbnNsaW1pdABjb250YWluX25vZGVzIGNsdXN0ICVzIHJhbmsgJWQgbWlzc2luZyBub2RlCgBuc2xpbWl0MQBuZXdyYW5rAE1heHJhbmsgPSAlZCwgbWlucmFuayA9ICVkCgBsZWFkZXIgIT0gTlVMTAByYW5rLmMAY2x1c3Rlcl9sZWFkZXIAKE5EX1VGX3NpemUobikgPD0gMSkgfHwgKG4gPT0gbGVhZGVyKQBhZ2hlYWQoZSkgPT0gVUZfZmluZChhZ2hlYWQoZSkpAG1pbm1heF9lZGdlcwBhZ3RhaWwoZSkgPT0gVUZfZmluZChhZ3RhaWwoZSkpAHJhbmsAc2FtZQBtaW4Ac291cmNlAG1heABzaW5rAGxldmVsIGFzc2lnbm1lbnQgY29uc3RyYWludHMAbGV2ZWwgZ3JhcGggcmVjAH9yb290AH90b3AAf2JvdABjb21wYWN0AF93ZWFrXyVkAHJhbmtpbmc6IGZhaWx1cmUgdG8gY3JlYXRlIHN0cm9uZyBjb25zdHJhaW50IGVkZ2UgYmV0d2VlbiBub2RlcyAlcyBhbmQgJXMKACVzIGhhcyB1bnJlY29nbml6ZWQgcmFuaz0lcwBsZXZlbCBlZGdlIHJlYwBsZXZlbCBub2RlIHJlYwBzYW1laGVhZABzYW1ldGFpbAB0b28gbWFueSAoPiAlZCkgc2FtZXtoZWFkLHRhaWx9IGdyb3VwcyBmb3Igbm9kZSAlcwoAY29tYmlBUiA9ICVsZgoAJWxmLCVkAHRoZSBhc3BlY3QgYXR0cmlidXRlIGhhcyBiZWVuIGRpc2FibGVkIGR1ZSB0byBpbXBsZW1lbnRhdGlvbiBmbGF3cyAtIGF0dHJpYnV0ZSBpZ25vcmVkLgoARURfdG9fdmlydChlKSA9PSBOVUxMAGNsYXNzMi5jAG1lcmdlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgPT0gTlVMTABtYWtlX2NoYWluAEVEX3RvX3ZpcnQob3JpZykgIT0gTlVMTABORF9yYW5rKGZyb20pIDwgTkRfcmFuayh0bykAY2x1c3Rlci5jAG1hcF9wYXRoACVzIHdhcyBhbHJlYWR5IGluIGEgcmFua3NldCwgZGVsZXRlZCBmcm9tIGNsdXN0ZXIgJXMKAGxoZWFkAGx0YWlsACVzIC0+ICVzOiBzcGxpbmUgc2l6ZSA+IDEgbm90IHN1cHBvcnRlZAoAJXMgLT4gJXM6IGhlYWQgbm90IGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiB0YWlsIGlzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGJlei0+c2ZsYWcAY29tcG91bmQuYwBtYWtlQ29tcG91bmRFZGdlAGJlei0+ZWZsYWcAJXMgLT4gJXM6IHRhaWwgbm90IGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKACVzIC0+ICVzOiBoZWFkIGlzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHNlZ21lbnQgWyVzLCVzXSBkb2VzIG5vdCBpbnRlcnNlY3QgYm94IGxsPSVzLHVyPSVzCgBib3hJbnRlcnNlY3RmACglLjVnLCUuNWcpAGNsdXN0ZXIgbmFtZWQgJXMgbm90IGZvdW5kCgBjb25jZW50cmF0ZT10cnVlIG1heSBub3Qgd29yayBjb3JyZWN0bHkuCgByZWJ1aWx0ZF92bGlzdHM6IHJhbmsgbGVhZCAlcyBub3QgaW4gb3JkZXIgJWQgb2YgcmFuayAlZAoAZGVnZW5lcmF0ZSBjb25jZW50cmF0ZWQgcmFuayAlcywlZAoATkRfaW4ocmlnaHQpLnNpemUgKyBORF9vdXQocmlnaHQpLnNpemUgPT0gMABjb25jLmMAbWVyZ2V2aXJ0dWFsAGRvdDogT3V0IG9mIG1lbW9yeQoATkRfb3V0KHYpLnNpemUgPT0gMgBmbGF0LmMAc2V0Ym91bmRzAEdEX21pbnJhbmsoZykgPT0gMABhYm9taW5hdGlvbgBuZWF0b19sYXlvdXQAbmVhdG8AZmRwAHNmZHAAdHdvcGkAY2lyY28AcGF0Y2h3b3JrAG9zYWdlAG5vcABub3AxAG5vcDIAJWxmLCVsZiwlbGYlYwBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGRvdWJsZXMKAG5vdHJhbnNsYXRlAG5vZGUgJXMgaW4gZ3JhcGggJXMgaGFzIG5vIHBvc2l0aW9uCgBzLCVsZiwlbGYlbgAgZSwlbGYsJWxmJW4AcG9zIGF0dHJpYnV0ZSBmb3IgZWRnZSAoJXMsJXMpIGRvZXNuJ3QgaGF2ZSAzbisxIHBvaW50cwoAJWxmLCVsZiVuAHN5bnRheCBlcnJvciBpbiBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykKACVsZiwlbGYsJWxmLCVsZgBzdGFydABzZWxmAHJhbmRvbQBub2RlIHBvc2l0aW9ucyBhcmUgaWdub3JlZCB1bmxlc3Mgc3RhcnQ9cmFuZG9tCgBhcyByZXF1aXJlZCBieSB0aGUgLW4gZmxhZwoAX25lYXRvX2NjAGdyYXBoICVzIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBBbHRlcm5hdGl2ZWx5LCBjb25zaWRlciBydW5uaW5nIG5lYXRvIHVzaW5nIC1HcGFjaz10cnVlIG9yIGRlY29tcG9zaW5nCgB0aGUgZ3JhcGggaW50byBjb25uZWN0ZWQgY29tcG9uZW50cy4KAFNvbHZpbmcgbW9kZWwgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAE5EX2lkKG5wKSA9PSBpAG5lYXRvaW5pdC5jAG1ha2VHcmFwaERhdGEAZiA8IGdyYXBoW2pdLm5lZGdlcwBkZnNDeWNsZQBtb2RlbCAlZCBzbWFydF9pbml0ICVkIHN0cmVzc3d0ICVkIGl0ZXJhdGlvbnMgJWQgdG9sICVmCgBjb252ZXJ0IGdyYXBoOiAAbWFqb3JpemF0aW9uCgAlZCBub2RlcyAlLjJmIHNlYwoAbGV2ZWxzZ2FwAGxheW91dCBhYm9ydGVkCgBzdHJlc3N3dAAlcyBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSAxIG9yIDIgLSBpZ25vcmluZwoAbW9kZWwAY2lyY3VpdABzdWJzZXQAc2hvcnRwYXRoAG1kcwBlZGdlcyBpbiBncmFwaCAlcyBoYXZlIG5vIGxlbiBhdHRyaWJ1dGUuIEhlbmNlLCB0aGUgbWRzIG1vZGVsCgBpcyBpbmFwcHJvcHJpYXRlLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBVbmtub3duIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGVsIiBpbiBncmFwaCAlcyAtIGlnbm9yZWQKAG1vZGUAS0sAbWFqb3IAaGllcgBJbGxlZ2FsIHZhbHVlICVzIGZvciBhdHRyaWJ1dGUgIm1vZGUiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbWFrZVNwbGluZTogZmFpbGVkIHRvIG1ha2Ugc3BsaW5lIGVkZ2UgKCVzLCVzKQoAc3BsaW5lICVzICVzCgBiID09IG4AbmVhdG9zcGxpbmVzLmMAbWFrZV9iYXJyaWVycwB0aGUgYm91bmRpbmcgYm94ZXMgb2Ygc29tZSBub2RlcyB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBzb21lIG5vZGVzIHdpdGggbWFyZ2luICglLjAyZiwlLjAyZikgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcG9seWxpbmVzAGxpbmUgc2VnbWVudHMAb3J0aG9nb25hbCBsaW5lcwBDcmVhdGluZyBlZGdlcyB1c2luZyAlcwoAcG9seWxpbmUgJXMgJXMKAG1kc01vZGVsOiBkZWx0YSA9ICVmCgBTZXR0aW5nIHVwIHN0cmVzcyBmdW5jdGlvbgBTb2x2aW5nIG1vZGVsOiAACmZpbmFsIGUgPSAlZiAlZCBpdGVyYXRpb25zICUuMmYgc2VjCgBEYW1waW5nAGRlZmF1bHRkaXN0ACBpbiAlcyAtIHNldHRpbmcgdG8gJS4wMmYKAGJhZCBlZGdlIGxlbiAiJXMiAFNldHRpbmcgaW5pdGlhbCBwb3NpdGlvbnMKAHN0YXJ0PSVzIG5vdCBzdXBwb3J0ZWQgd2l0aCBtb2RlPXNlbGYgLSBpZ25vcmVkCgBTZXR0aW5nIHVwIHNwcmluZyBtb2RlbDogACUuMmYgc2VjCgAKZmluYWwgZSA9ICVmACEAICVkJXMgaXRlcmF0aW9ucyAlLjJmIHNlYwoATWF4LiBpdGVyYXRpb25zICglZCkgcmVhY2hlZCBvbiBncmFwaCAlcwoAJXMgJS4zZgoAJS4zZiAATkRfaGVhcGluZGV4KHYpIDwgMABzdHVmZi5jAG5lYXRvX2VucXVldWUAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHM6IABzcGVjaWZpZWQgcm9vdCBub2RlICIlcyIgd2FzIG5vdCBmb3VuZC4AVXNpbmcgZGVmYXVsdCBjYWxjdWxhdGlvbiBmb3Igcm9vdCBub2RlCgByZXBvc2l0aW9uICVzCgAlcyA6ICVmICVmCgAlcyA6ICVmICVmICVmICVmCgAgIABHcmFwaCAlcyBoYXMgYXJyYXkgcGFja2luZyB3aXRoIHVzZXIgdmFsdWVzIGJ1dCBubyAic29ydHYiIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGxheW91dCAlcwoAZW5kICVzCgBpZHggPT0gc3oAbGF5b3V0LmMAZXhwYW5kQ2x1c3RlcgBpID09IGRlZwBnZXRFZGdlTGlzdABfZGdfJWQAZGVyaXZlIGdyYXBoICVzIG9mICVzCgBub2RlICIlcyIgaXMgY29udGFpbmVkIGluIHR3byBub24tY29tcGFyYWJsZSBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBfcG9ydF8lc18lc18lc18lbGQAX3BvcnRfJXNfKCVkKV8oJWQpXyVsZAAlbGYsJWxmLCVsZiwlbGYlYwBncmFwaCAlcywgY29vcmQgJXMsIGV4cGVjdGVkIGZvdXIgZG91YmxlcwoAc3BsaW5lcyBhbmQgY2x1c3RlciBlZGdlcyBub3Qgc3VwcG9ydGVkIC0gdXNpbmcgbGluZSBzZWdtZW50cwoAbWF4aXRlcgBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Ac2ZkcCBvbmx5IHN1cHBvcnRzIHN0YXJ0PXJhbmRvbQoASwByZXB1bHNpdmVmb3JjZQBsZXZlbHMAc21vb3RoaW5nAHF1YWR0cmVlAGJlYXV0aWZ5AG92ZXJsYXBfc2hyaW5rAHJvdGF0aW9uAGxhYmVsX3NjaGVtZQBsYWJlbF9zY2hlbWUgPSAlZCA+IDQgOiBpZ25vcmluZwoAZmFzdABhdmdfZGlzdABncmFwaF9kaXN0AHBvd2VyX2Rpc3QAc3ByaW5nAGRpbWVuAGRpbQBzcHJpbmdfZWxlY3RyaWNhbF9jb250cm9sOgoAICByZXB1bHNpdmUgYW5kIGF0dHJhY3RpdmUgZXhwb25lbnRzOiAlLjAzZiAlLjAzZgoAICByYW5kb20gc3RhcnQgJWQgc2VlZCAlZAoAICBLIDogJS4wM2YgQyA6ICUuMDNmCgAgIG1heCBsZXZlbHMgJWQgY29hcnNlbl9zY2hlbWUgJWQgY29hcnNlbl9ub2RlICVkCgAgIHF1YWR0cmVlIHNpemUgJWQgbWF4X2xldmVsICVkCgAgIEJhcm5lcy1IdXR0IGNvbnN0YW50ICUuMDNmIHRvbGVyYW5jZSAgJS4wM2YgbWF4aXRlciAlZAoAICBjb29saW5nICUuMDNmIHN0ZXAgc2l6ZSAgJS4wM2YgYWRhcHRpdmUgJWQKACAgYmVhdXRpZnlfbGVhdmVzICVkIG5vZGUgd2VpZ2h0cyAlZCByb3RhdGlvbiAlLjAzZgoAICBzbW9vdGhpbmcgJXMgb3ZlcmxhcCAlZCBpbml0aWFsX3NjYWxpbmcgJS4wM2YgZG9fc2hyaW5raW5nICVkCgAgIG9jdHJlZSBzY2hlbWUgJXMgbWV0aG9kICVzCgAgIGVkZ2VfbGFiZWxpbmdfc2NoZW1lICVkCgBTUFJJTkdfRUxFQ1RSSUNBTABTUFJJTkdfTUFYRU5UAFNUUkVTU19NQVhFTlQAU1RSRVNTX0FQUFJPWABTVFJFU1MAVU5JRk9STV9TVFJFU1MARlVMTF9TVFJFU1MATk9ORQBOT1JNQUwARkFTVABIWUJSSUQAU1RSRVNTX01BSk9SSVpBVElPTl9HUkFQSF9ESVNUAFNUUkVTU19NQUpPUklaQVRJT05fQVZHX0RJU1QAU1RSRVNTX01BSk9SSVpBVElPTl9QT1dFUl9ESVNUAFNQUklORwBUUklBTkdMRQBSTkcADSAgICAgICAgICAgICAgICBpdGVyID0gJWQsIHN0ZXAgPSAlZiBGbm9ybSA9ICVmIG56ID0gJWQgIEsgPSAlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAc3ByaW5nX2VsZWN0cmljYWxfZW1iZWRkaW5nX3Nsb3cAZG1lYW4gPSAlZiwgcmhvID0gJWYKAHNlbmQgcmFuZG9tIGNvb3JkaW5hdGVzCgBzY2FsaW5nIGZhY3RvciA9ICVmCgBRVUFEX1RSRUVfSFlCUklELCBzaXplIGxhcmdlciB0aGFuICVkLCBzd2l0Y2ggdG8gZmFzdCBxdWFkdHJlZQBjdHJsLT5vdmVybGFwPSVkCgAlZCAlZAoAdW5pZm9ybV9zdHJlc3MuYwBVbmlmb3JtU3RyZXNzU21vb3RoZXJfbmV3AFNwYXJzZU1hdHJpeF9pc19zeW1tZXRyaWMoQiwgRkFMU0UpAHVuaWZvcm1fc3RyZXNzAHxlZGdlbGFiZWx8AGxlbgBub3JtYWxpemUAb3ZlcmxhcABPdmVybGFwIHZhbHVlICIlcyIgdW5zdXBwb3J0ZWQgLSBpZ25vcmVkCgBVbnJlY29nbml6ZWQgb3ZlcmxhcCB2YWx1ZSAiJXMiIC0gdXNpbmcgZmFsc2UKAFZvcm9ub2kAb3ZlcmxhcDogJXMgdmFsdWUgJWQgc2NhbGluZyAlLjA0ZgoAb3ZlcmxhcF9zY2FsaW5nAHZvcm9ub2kAc2NhbGluZwB2cHNjAGlwc2VwAG9zY2FsZQBvbGQgc2NhbGluZwBzY2FsZXh5AHggYW5kIHkgc2NhbGluZwBvcnRobwBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAG9ydGhvX3l4AG9ydGhveHkAeHkgb3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob3l4AHl4IG9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhvAHBzZXVkby1vcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRob195eABwb3J0aG94eQB4eSBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG95eAB5eCBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwcmlzbQBBZGp1c3RpbmcgJXMgdXNpbmcgJXMKAFVuaGFuZGxlZCBhZGp1c3Qgb3B0aW9uICVzCgBOdW1iZXIgb2YgaXRlcmF0aW9ucyA9ICVkCgBOdW1iZXIgb2YgaW5jcmVhc2VzID0gJWQKAG92ZXJsYXAgWyVkXSA6ICVkCgB2b3JvX21hcmdpbgBzZXAAZXNlcABOb2RlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgAlZiwlZgBzY2FsZSA9ICglLjAzZiwlLjAzZikKAEVkZ2Ugc2VwYXJhdGlvbjogYWRkPSVkICglZiwlZikKAENhbGN1bGF0aW5nIGNpcmN1aXQgbW9kZWwAY29uanVnYXRlX2dyYWRpZW50OiB1bmV4cGVjdGVkIGxlbmd0aCAwIHZlY3RvcgoAQ2FsY3VsYXRpbmcgc3Vic2V0IG1vZGVsAGdyYXBoIGlzIGRpc2Nvbm5lY3RlZC4gSGVuY2UsIHRoZSBjaXJjdWl0IG1vZGVsCgBpcyB1bmRlZmluZWQuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAENhbGN1bGF0aW5nIE1EUyBtb2RlbABDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRocwA6ICUuMmYgc2VjCgBTZXR0aW5nIGluaXRpYWwgcG9zaXRpb25zADogJS4yZiBzZWMAY2cAZGVsdGEgPD0gMHhGRkZGAGNvbnN0cmFpbnQuYwBta05Db25zdHJhaW50RwB2ZwBjb21wcmVzcyAlZyAKAHNjYWxlIGJ5ICVnLCVnIAoAYmVzdGNvc3QgPCBIVUdFX1ZBTABjb21wdXRlU2NhbGVYWQBHcmFwaHZpeiBidWlsdCB3aXRob3V0IGFueSB0cmlhbmd1bGF0aW9uIGxpYnJhcnkKAGRlbGF1bmF5X3RyaWFuZ3VsYXRpb246ICVzCgBkZWxhdW5heV90cmk6ICVzCgB0cnlpbmcgdG8gZGVsZXRlIGEgbm9uLWxpbmUKAAppbnRlcnNlY3Rpb24gYXQgJS4zZiAlLjNmCgBzZWcjJWQgOiAoJS4zZiwgJS4zZikgKCUuM2YsICUuM2YpCgByZW1vdmVfb3ZlcmxhcDogR3JhcGh2aXogbm90IGJ1aWx0IHdpdGggdHJpYW5ndWxhdGlvbiBsaWJyYXJ5CgBtYWtlQWRkUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgBtYWtlUG9seTogdW5rbm93biBzaGFwZSB0eXBlICVzCgB4IT1OVUxMAHNtYXJ0X2luaV94LmMASU1EU19naXZlbl9kaW0AaWxsLWNvbmRpdGlvbmVkAHJvb3QgPSAlcyBtYXggc3RlcHMgdG8gcm9vdCA9ICVkCgB0d29waTogdXNlIG9mIHdlaWdodD0wIGNyZWF0ZXMgZGlzY29ubmVjdGVkIGNvbXBvbmVudC4KAFJhbmsgc2VwYXJhdGlvbiA9IAAlLjAzbGYgAGFyZWEAaW5zZXQAJXMgY29vcmQgJS41ZyAlLjVnIGh0ICVmIHdpZHRoICVmCgAlLjAzZgByZWMgJWYgJWYgJWYgJWYKACVmIC0gJWYgJWYgJWYgJWYgPSAlZiAoJWYgJWYgJWYgJWYpCgB0cnlpbmcgdG8gYWRkIHRvIHJlY3QgeyVmICsvLSAlZiwgJWYgKy8tICVmfQoAdG90YWwgYWRkZWQgc28gZmFyID0gJWQKAGFkZGluZyAlZCBpdGVtcywgdG90YWwgYXJlYSA9ICVmLCB3ID0gJWYsIGFyZWEvdz0lZgoAY29tcG91bmRFZGdlczogY291bGQgbm90IGNvbnN0cnVjdCBvYnN0YWNsZXMgLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAY29tcG91bmRFZGdlczogbm9kZXMgdG91Y2ggLSBmYWxsaW5nIGJhY2sgdG8gc3RyYWlnaHQgbGluZSBlZGdlcwoAcGFjayB2YWx1ZSAlZCBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBzZXAgdmFsdWUgKCUuMDNmLCUuMDNmKSBpcyBzbWFsbGVyIHRoYW4gZXNlcCAoJS4wM2YsJS4wM2YpCgBjYyVzXyVkAGNjJXMrJWQAY19jbnQgPT0gMABjb21wLmMAZmluZENDb21wAGdyaWQoJWQsJWQpOiAlcwoAd2d0ID4gMABRdWFkVHJlZS5jAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9hY2N1bXVsYXRlAHF0Mi0+biA+IDAAcXQxLT5uID4gMCAmJiBxdDItPm4gPiAwAFF1YWRUcmVlX3JlcHVsc2l2ZV9mb3JjZV9pbnRlcmFjdABkaXN0ID4gMAAhKHEtPmwpAFF1YWRUcmVlX2FkZF9pbnRlcm5hbABpaSA8IDE8PGRpbSAmJiBpaSA+PSAwAHEtPnF0c1tpaV0AcS0+biA9PSAxACEocS0+cXRzKQBxLT5sAHdpZHRoID4gMABRdWFkVHJlZV9uZXcAQS0+Zm9ybWF0ID09IEZPUk1BVF9DU1IAU3BhcnNlTWF0cml4LmMAU3BhcnNlTWF0cml4X3RyYW5zcG9zZQBBICYmIEIAU3BhcnNlTWF0cml4X2FkZABBLT5mb3JtYXQgPT0gQi0+Zm9ybWF0ICYmIEEtPmZvcm1hdCA9PSBGT1JNQVRfQ1NSAEEtPnR5cGUgPT0gQi0+dHlwZQBTcGFyc2VNYXRyaXhfaXNfc3ltbWV0cmljAEEtPmZvcm1hdCA9PSBGT1JNQVRfQ09PUkQAU3BhcnNlTWF0cml4X2Zyb21fY29vcmRpbmF0ZV9mb3JtYXQAbSA+IDAgJiYgbiA+IDAgJiYgbnogPj0gMABTcGFyc2VNYXRyaXhfZnJvbV9jb29yZGluYXRlX2FycmF5c19pbnRlcm5hbABBAGphW21hc2tbamFbal1dXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfc3VtX3JlcGVhdF9lbnRyaWVzAGlkIDwgbiooeW1heC15bWluKzEpAGphW21hc2tbaWRdXSA9PSBqYVtqXQBTcGFyc2VNYXRyaXhfbXVsdGlwbHlfZGVuc2UyAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTABTcGFyc2VNYXRyaXhfbXVsdGlwbHlfdmVjdG9yAEEtPnR5cGUgPT0gTUFUUklYX1RZUEVfUkVBTCB8fCBBLT50eXBlID09IE1BVFJJWF9UWVBFX0lOVEVHRVIAU3BhcnNlTWF0cml4X211bHRpcGx5X2RlbnNlMQBTcGFyc2VNYXRyaXhfbXVsdGlwbHkAamNbbWFza1tqYltrXV1dID09IGpiW2tdAFNwYXJzZU1hdHJpeF9tdWx0aXBseTMAamRbbWFza1tqY1trXV1dID09IGpjW2tdAFNwYXJzZU1hdHJpeF9jb29yZGluYXRlX2Zvcm1fYWRkX2VudHJpZXMAU3BhcnNlTWF0cml4X2RpdmlkZV9yb3dfYnlfZGVncmVlAG4gPiAxAGdlbmVyYWwuYwBpcmFuZABvbmVibG9jawBtaW5kaXN0AGFydGljdWxhdGlvbl9wb3MAcm9vdABQcmlvcml0eVF1ZXVlLmMAUHJpb3JpdHlRdWV1ZV9wdXNoAGdhaW4gPD0gcS0+bmdhaW4AU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkAcG9zdF9wcm9jZXNzLmMAaWRlYWxfZGlzdGFuY2VfbWF0cml4AGxlbiA+IDAAU3RyZXNzTWFqb3JpemF0aW9uU21vb3RoZXIyX25ldwBueiA+IDAAaWRlYWxfZGlzdF9zY2hlbWUgdmFsdWUgd3JvbmcAU3BhcnNlTWF0cml4X2lzX3N5bW1ldHJpYyhBLCBGQUxTRSkgJiYgQS0+dHlwZSA9PSBNQVRSSVhfVFlQRV9SRUFMAFNwYXJzZVN0cmVzc01ham9yaXphdGlvblNtb290aGVyX25ldwBpZGlhZyA+PSAwAFN0cmVzc01ham9yaXphdGlvblNtb290aGVyX3Ntb290aAAoIWpjbikgJiYgKCF2YWwpAGdldF9lZGdlX2xhYmVsX21hdHJpeABUcmlhbmdsZVNtb290aGVyX25ldwBqZGlhZyA+PSAwAFNwcmluZ1Ntb290aGVyX25ldwAhZmxhZwBTcHJpbmdTbW9vdGhlcl9zbW9vdGgAbmVpZ2hiPSVkCgByb290ID0gJXMKAF9ibG9ja18lZABzLT5zeiA+IDAAYmxvY2t0cmVlLmMAcG9wAGFjdHVhbABub2RlbGlzdC5jAGluc2VydE5vZGVsaXN0AF9zcGFuXyVkAF9jbG9uZV8lZABpcABkZWdsaXN0LmMAcmVtb3ZlRGVnbGlzdABFcnJvcgBXYXJuaW5nACVzOiAAdXNlcm91dDogY291bGQgbm90IGFsbG9jYXRlIG1lbW9yeQoAX0FHX3N0cmRhdGEAX0FHX2RhdGFkaWN0AGFnZGljdG9mOiB1bmtub3duIGtpbmQgJWQKACVjJWxkAG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUAYWdkZWxldGUgb24gd3JvbmcgZ3JhcGgAX0FHX3BlbmRpbmcAYWdyZWNvcmRfY2FsbGJhY2sgb2YgYSBiYWQgb2JqZWN0AHBlbmQgZGljdG9mIGEgYmFkIG9iamVjdABtb3ZlIHRvIGZyb250IGxvY2sgaW5jb25zaXN0ZW5jeQBcXABmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLW5vIGFjdGlvbiBmb3VuZAAlcwoAZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1lbmQgb2YgYnVmZmVyIG1pc3NlZABmYXRhbCBlcnJvciAtIHNjYW5uZXIgaW5wdXQgYnVmZmVyIG92ZXJmbG93AG91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiBhYWdfZ2V0X25leHRfYnVmZmVyKCkAaW5wdXQAc3ludGF4IGFtYmlndWl0eSAtIGJhZGx5IGRlbGltaXRlZCBudW1iZXIgJwAnIGluIGxpbmUgJWQgb2YgACBzcGxpdHMgaW50byB0d28gdG9rZW5zCgAlcwBsaW5lACVkICUxWyJdJW4Ab3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19jcmVhdGVfYnVmZmVyKCkAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ2Vuc3VyZV9idWZmZXJfc3RhY2soKQA6IAAgaW4gbGluZSAlZAAgbmVhciAnACBzY2FubmluZyBhIHF1b3RlZCBzdHJpbmcgKG1pc3NpbmcgZW5kcXVvdGU/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzoiACBzY2FubmluZyBhIEhUTUwgc3RyaW5nIChtaXNzaW5nICc+Jz8gYmFkIG5lc3Rpbmc/IGxvbmdlciB0aGFuICVkPykAClN0cmluZyBzdGFydGluZzo8ACBzY2FubmluZyBhIC8qLi4uKi8gY29tbWVudCAobWlzc2luZyAnKi8/IGxvbmdlciB0aGFuICVkPykAZmxleCBzY2FubmVyIHB1c2gtYmFjayBvdmVyZmxvdwAiIgBzdHJpY3QAbGluZWxlbmd0aAA7CgAgW2tleT0AXQAgWwAsCgA9AF8lbGRfU1VTUEVDVABkaQBzdHJpY3QgAHsKAF07CgAS7u4UCQPu/u7u7gHu7u4B7u4K/u4TGRXuEwHu7u7uCxHu7u7u7u7u7u4B7u4WCQEBHQ8X7u4aFxvu7hzu7u7uARn77u7uAe4Q7u4e7u7u7gACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXEQICAgICAgICAgICAgISEAITAgIWAgICAgICAgICAgICAgICAgICAgICAgICAgIUAhUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4CDwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNCwMEBQ8HAwwNBgwNDgwNGhUWAAEAAwcOBg8IDA0SEyoQEQkQLzARMhcTDRQSLhIUQRMyEyxAKkIZLEJGIgwNDiMPCRARChARyRARLUVG/AEG9g8H9iQCEBEvMDZNTigmOzwqNjE5PT8vOkDYRDA+JTdDNUsrOElMAAMJAAAAAQ4CCwwIIyQlNjs9AA0QEhsWHBInMiIXMx48Bgc1BQ8RFBgpABMpAAAAAAA3FSgdHgAhJjQfMD4ZLAAbACAaKgArOi4vADE4OS0AAgIBAAMDAQABAAEBAQACAQEAAgIDAQEAAAUAAQMBAwUDAQEBAQIAAQAEAgACAQEDAgEAAwIBAAEBAAEBAQMAGBkZGRobHBwdHR4eHx8gICEhIiIjJCQmJyUlKCgpKSkqKisrKywsLS0uLy8wMTEyMzQ2NTc3Nzg4ODk5Ojru7v/u7u7u7u4fIO4A7+7u7gzu7u4IDe7u7vju7u7u7u717v8DCAQhBQsSEycUFRYpMkEXGBkaLDM0QkdIG0ocHS4eTx8ga2V5AGF0dHJpYnV0ZSBtYWNyb3Mgbm90IGltcGxlbWVudGVkACVzOiVzAENvdWxkIG5vdCBvcGVuICIlcyIgZm9yIHdyaXRpbmcgOiAlcwoATm8gbGlieiBzdXBwb3J0LgoALiVkAG5vbmFtZS5ndgBndndyaXRlX25vX3ogcHJvYmxlbSAlZAoAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQoATm8gbGlieiBzdXBwb3J0CgBndnByaW50ZjogJXMKAC05OTk5OTk5OTk5OTk5OTkuOTkAZ3JhcGh2aXoAMi40MC4xADIwMTYxMjI1LjAzMDQAcmVuZGVyAGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwAlZCAlZCAlZCAlZABMYXlvdXQgd2FzIG5vdCBkb25lCgBmYWlsdXJlIG1hbGxvYydpbmcgZm9yIHJlc3VsdCBzdHJpbmcAZ2M6IE91dCBvZiBtZW1vcnkKAF9jY18Ab3JpZwBvcABjY29tcHMuYwBtYXBDbHVzdABjY2dyYXBoaW5mbwBjY2dub2RlaW5mbwAoJTRsZCkgJTdsZCBub2RlcyAlN2xkIGVkZ2VzCgAgICAgICAgJTdkIG5vZGVzICU3ZCBlZGdlcyAlN2xkIGNvbXBvbmVudHMgJXMKAGRnAEVycm9yOiBub2RlICIlcyIgYmVsb25ncyB0byB0d28gbm9uLW5lc3RlZCBjbHVzdGVycyAiJXMiIGFuZCAiJXMiCgBzb3J0dgByb3cgbWFqb3IAY29sdW1uIG1ham9yAGFycmF5IHBhY2tpbmc6ICVzICVkIHJvd3MgJWQgY29sdW1ucwoAYmJbJXNdICUuNWcgJS41ZyAlLjVnICUuNWcKAHN0ZXAgc2l6ZSA9ICVkCgBwb3NbJWRdICVkICVkCgBjYyAoJWQgY2VsbHMpIGF0ICglZCwlZCkgKCVkLCVkKQoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpCgAlcyBuby4gY2VsbHMgJWQgVyAlZCBIICVkCgAgICVkICVkIGNlbGwKAGxpYnBhY2s6IGRpc2MgPSAlZiAoIDwgMCkKAFBhY2tpbmc6IGNvbXB1dGUgZ3JpZCBzaXplCgBhICVmIGIgJWYgYyAlZiBkICVmIHIgJWYKAHJvb3QgJWQgKCVmKSAlZCAoJWYpCgAgcjEgJWYgcjIgJWYKAHBpbmZvAHBhY2suYwBnZXRQYWNrSW5mbwAgIG1hcmdpbiAlZAoAcGFja21vZGUAcGFyc2VQYWNrTW9kZUluZm8AYXJyYXkAYXNwZWN0ACVmAHBhY2sgaW5mbzoKACAgbW9kZSAgICVzCgAgIGFzcGVjdCAlZgoAICBzaXplICAgJWQKACAgZmxhZ3MgICVkCgB1bmRlZmluZWQAcGFjawBBcnJvdyB0eXBlICIlcyIgdW5rbm93biAtIGlnbm9yaW5nCgBub3JtYWwAY3JvdwB0ZWUAZG90AGludgB2ZWUAcGVuAG1wdHkAY3VydmUAaWN1cnZlAGwAaGFsZgBpbnZlbXB0eQBfYmFja2dyb3VuZABfZHJhd18AQ291bGQgbm90IHBhcnNlICJfYmFja2dyb3VuZCIgYXR0cmlidXRlIGluIGdyYXBoICVzCgAgICIlcyIKAG5vIG1lbW9yeSBmcm9tIHptYWxsb2MoKQoAb2JqAGVtaXQuYwBwb3Bfb2JqX3N0YXRlAGNsdXN0ACVsZABwYWdlJWQsJWRfAFRvdGFsIHNpemUgPiAxIGluICIlcyIgY29sb3Igc3BlYyAASWxsZWdhbCBsZW5ndGggdmFsdWUgaW4gIiVzIiBjb2xvciBhdHRyaWJ1dGUgAGxucmNvbG9yc2NoZW1lAGVtaXRfZWRnZV9sYWJlbAAlcy0lcwBmb3J3YXJkAGJhY2sAIC0+IAAgLS0gAGluIGVkZ2UgJXMlcyVzCgBsYWJlbGFsaWduZWQAZWRnZWhyZWYAZWRnZVVSTABsYWJlbGhyZWYAbGFiZWxVUkwAdGFpbGhyZWYAdGFpbFVSTABoZWFkaHJlZgBoZWFkVVJMAGVkZ2V0YXJnZXQAbGFiZWx0YXJnZXQAdGFpbHRhcmdldABoZWFkdGFyZ2V0AGVkZ2V0b29sdGlwAGxhYmVsdG9vbHRpcAB0YWlsdG9vbHRpcABoZWFkdG9vbHRpcAABbmVzdGluZyBub3QgYWxsb3dlZCBpbiBzdHlsZTogJXMKAHVubWF0Y2hlZCAnKScgaW4gc3R5bGU6ICVzCgB0cnVuY2F0aW5nIHN0eWxlICclcycKAHVubWF0Y2hlZCAnKCcgaW4gc3R5bGU6ICVzCgBhbGwAaW4gY2x1c3RlciAlcwoATW9yZSB0aGFuIDIgY29sb3JzIHNwZWNpZmllZCBmb3IgYSBncmFkaWVudCAtIGlnbm9yaW5nIHJlbWFpbmluZwoAZ3JhZGllbnQgcGVuIGNvbG9ycyBub3QgeWV0IHN1cHBvcnRlZC4KAEltYWdlcyB1bnN1cHBvcnRlZCBpbiAiYmFja2dyb3VuZCIgYXR0cmlidXRlCgBsYXllcnMgbm90IHN1cHBvcnRlZCBpbiAlcyBvdXRwdXQKAExheW91dCB3YXMgbm90IGRvbmUuICBNaXNzaW5nIGxheW91dCBwbHVnaW5zPyAKAGd2UmVuZGVySm9icyAlczogJS4yZiBzZWNzLgoAbGF5b3V0IHdhcyBub3QgZG9uZQoAcmVuZGVyZXIgZm9yICVzIGlzIHVuYXZhaWxhYmxlCgBwYWdlZGlyPSVzIGlnbm9yZWQKAHZpZXdwb3J0ACVsZiwlbGYsJWxmLCclW14nXScAJWxmLCVsZiwlbGYsJVteLF0lcwAlbGYsJWxmLCVsZiwlbGYsJWxmAG91dHB1dG9yZGVyAG9kZXNmaXJzdABkZ2VzZmlyc3QAbGF5ZXJzAGxheWVyc2VsZWN0AFRoZSBsYXllcnNlbGVjdCBhdHRyaWJ1dGUgIiVzIiBkb2VzIG5vdCBtYXRjaCBhbnkgbGF5ZXIgc3BlY2lmZWQgYnkgdGhlIGxheWVycyBhdHRyaWJ1dGUgLSBpZ25vcmVkLgoAbGF5ZXJzZXAAOgkgAGxheWVybGlzdHNlcAAsAFRoZSBjaGFyYWN0ZXIgJyVjJyBhcHBlYXJzIGluIGJvdGggdGhlIGxheWVyc2VwIGFuZCBsYXllcmxpc3RzZXAgYXR0cmlidXRlcyAtIGxheWVybGlzdHNlcCBpZ25vcmVkLgoAcGFkAEJMAHBhZ2VkaXIAc29saWQAAHNldGxpbmV3aWR0aAAxAABzcGwtPnNpemUgPiAwAGluaXRfc3BsaW5lc19iYgBiei5zaXplID4gMABiZXppZXJfYmIAYnouc2l6ZSAlIDMgPT0gMQAlbGYAZm9udHBhdGgARE9URk9OVFBBVEgAR0RGT05UUEFUSABpbWFnZXBhdGgAcXVhbnR1bQByYW5rZGlyAExSAEJUAFJMAG5vZGVzZXAAcmFua3NlcABlcXVhbGx5AHNob3dib3hlcwBmb250bmFtZXMAc2l6ZQBwYWdlAGNlbnRlcgByb3RhdGUAb3JpZW50YXRpb24AbGFuZHNjYXBlAGNsdXN0ZXJyYW5rAGNvbmNlbnRyYXRlAGRwaQByZXNvbHV0aW9uAG9yZGVyaW5nAGZpbGxjb2xvcgBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBub2p1c3RpZnkAbGF5ZXIAZ3JvdXAAY29tbWVudAB2ZXJ0aWNlcwB6AHdlaWdodABsYWJlbGZsb2F0AGRpcgBhcnJvd2hlYWQAYXJyb3d0YWlsAGhlYWRsYWJlbAB0YWlsbGFiZWwAbGFiZWxmb250c2l6ZQBsYWJlbGZvbnRuYW1lAGxhYmVsZm9udGNvbG9yAGxhYmVsZGlzdGFuY2UAbGFiZWxhbmdsZQBtaW5sZW4AZGVjb3JhdGUAYXJyb3dzaXplAGNvbnN0cmFpbnQAdGFpbGNsaXAAaGVhZGNsaXAAbGFiZWxqdXN0AGxvY2FsAGdsb2JhbAAlbGYsJWxmJWMAJWxmJWMAcmF0aW8AYXV0bwBjb21wcmVzcwBleHBhbmQAZmlsbABnZABwcwBzdmcAY2hhcnNldAB1dGYtOABsYXRpbi0xAGxhdGluMQBsMQBJU08tODg1OS0xAElTT184ODU5LTEASVNPODg1OS0xAElTTy1JUi0xMDAAYmlnLTUAYmlnNQB1dGY4AFVuc3VwcG9ydGVkIGNoYXJzZXQgIiVzIiAtIGFzc3VtaW5nIHV0Zi04CgBVbnN1cHBvcnRlZCBjaGFyc2V0IHZhbHVlICVkCgBVVEYtOABCSUctNQBpbiBsYWJlbCBvZiBncmFwaCAlcwoAaW4gbGFiZWwgb2Ygbm9kZSAlcwoAaW4gbGFiZWwgb2YgZWRnZSAlcyAlcyAlcwoAa2luZCA9PSBMVF9OT05FAGxhYmVscy5jAG1ha2VfbGFiZWwAXEwAXEcAXEUAXEgAXFQAJiMxMzsAJiMxMDsAJnF1b3Q7ACYjMTYwOwAmYW1wOwAmZ3Q7ACYjMzk7ACYjNDU7ACZsdDsAJXMgJWQgbm9kZXMgJWQgZWRnZXMgbWF4aXRlcj0lZCBiYWxhbmNlPSVkCgBuZXR3b3JrIHNpbXBsZXg6IAAlZCAAJXMlZCBub2RlcyAlZCBlZGdlcyAlZCBpdGVyICUuMmYgc2VjCgB1cGRhdGU6IG1pc21hdGNoZWQgbGNhIGluIHRyZWV1cGRhdGVzCgBUcmVlX2VkZ2Uuc2l6ZSA9PSBOX25vZGVzIC0gMQBucy5jAGZlYXNpYmxlX3RyZWUAIVRSRUVfRURHRShlKQBtZXJnZV90cmVlcwAocjAtPmhlYXBfaW5kZXggPiAtMSkgfHwgKHIxLT5oZWFwX2luZGV4ID4gLTEpAFNUc2V0VW5pb24Aci0+aGVhcF9pbmRleCA+PSAwAGFkZF90cmVlX2VkZ2U6IG1pc3NpbmcgdHJlZSBlZGdlCgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBvdXRlZGdlIGxpc3QKAGFkZF90cmVlX2VkZ2U6IGVtcHR5IGluZWRnZSBsaXN0CgB0cm91YmxlIGluIGluaXRfcmFuawoACSVzICVkCgBzZWFyY2hzaXplAGdyYXBoIAAgAG5vZGUgAHN0b3AKACUuNWcAcG9zAHJlY3RzAHhscABscABoZWFkX2xwAHRhaWxfbHAAbHdpZHRoAGxoZWlnaHQAYmIAJS41ZywlLjVnLCUuNWcALCUuNWcAJS41ZywlLjVnAHNhbXBsZXBvaW50cwAlLjVnICUuNWcAcywlLjVnLCUuNWcgAGUsJS41ZywlLjVnIAAlLjVnLCUuNWcsJS41ZywlLjVnACUuMmYAJS41ZywlLjVnLCUuNWcsJS41ZyAAL3BhdGhib3ggewogICAgL1ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCBuZWcgJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgAvcGF0aGJveCB7CiAgICAvWSBleGNoICUuNWcgc3ViIGRlZgogICAgL1ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIC95IGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveCBleGNoICUuNWcgc3ViIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIHkgbGluZXRvCiAgICBYIFkgbGluZXRvCiAgICB4IFkgbGluZXRvCiAgICBjbG9zZXBhdGggc3Ryb2tlCiB9IGRlZgovZGJnc3RhcnQgeyBnc2F2ZSAlLjVnICUuNWcgdHJhbnNsYXRlIH0gZGVmCi9hcnJvd2xlbmd0aCAxMCBkZWYKL2Fycm93d2lkdGggYXJyb3dsZW5ndGggMiBkaXYgZGVmCi9hcnJvd2hlYWQgewogICAgZ3NhdmUKICAgIHJvdGF0ZQogICAgY3VycmVudHBvaW50CiAgICBuZXdwYXRoCiAgICBtb3ZldG8KICAgIGFycm93bGVuZ3RoIGFycm93d2lkdGggMiBkaXYgcmxpbmV0bwogICAgMCBhcnJvd3dpZHRoIG5lZyBybGluZXRvCiAgICBjbG9zZXBhdGggZmlsbAogICAgZ3Jlc3RvcmUKfSBiaW5kIGRlZgovbWFrZWFycm93IHsKICAgIGN1cnJlbnRwb2ludCBleGNoIHBvcCBzdWIgZXhjaCBjdXJyZW50cG9pbnQgcG9wIHN1YiBhdGFuCiAgICBhcnJvd2hlYWQKfSBiaW5kIGRlZgovcG9pbnQgeyAgICBuZXdwYXRoICAgIDIgMCAzNjAgYXJjIGZpbGx9IGRlZi9tYWtldmVjIHsKICAgIC9ZIGV4Y2ggZGVmCiAgICAvWCBleGNoIGRlZgogICAgL3kgZXhjaCBkZWYKICAgIC94IGV4Y2ggZGVmCiAgICBuZXdwYXRoIHggeSBtb3ZldG8KICAgIFggWSBsaW5ldG8gc3Ryb2tlCiAgICBYIFkgbW92ZXRvCiAgICB4IHkgbWFrZWFycm93Cn0gZGVmCgBsb3N0ICVzICVzIGVkZ2UKAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB0YWlsIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggaGVhZCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIHhsYWJlbCAlcwBmb3JjZWxhYmVscwAlZCBvdXQgb2YgJWQgbGFiZWxzIHBvc2l0aW9uZWQuCgAlZCBvdXQgb2YgJWQgZXh0ZXJpb3IgbGFiZWxzIHBvc2l0aW9uZWQuCgAlZCBvYmpzICVkIHhsYWJlbHMgZm9yY2U9JWQgYmI9KCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpCgBvYmplY3RzCgAgWyVkXSAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXAgIiVzIgoAeGxhYmVscwoAIFslZF0gJXAgc2V0ICVkICglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKSAlcwoAc2hhcGVmaWxlIG5vdCBzZXQgb3Igbm90IGZvdW5kIGZvciBlcHNmIG5vZGUgJXMKAGNvdWxkbid0IG9wZW4gZXBzZiBmaWxlICVzCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkAHJlYWQAQm91bmRpbmdCb3ggbm90IGZvdW5kIGluIGVwc2YgZmlsZSAlcwoAY2FuJ3QgZmluZCBsaWJyYXJ5IGZpbGUgJXMKAGNhbid0IG9wZW4gbGlicmFyeSBmaWxlICVzCgBFT0YAQkVHSU4ARU5EAFRSQUlMRVIAL3VzZXJfc2hhcGVfJWQgewoAJSVCZWdpbkRvY3VtZW50OgoAJSVFbmREb2N1bWVudAoAfSBiaW5kIGRlZgoAVVRGLTggaW5wdXQgdXNlcyBub24tTGF0aW4xIGNoYXJhY3RlcnMgd2hpY2ggY2Fubm90IGJlIGhhbmRsZWQgYnkgdGhpcyBQb3N0U2NyaXB0IGRyaXZlcgoAY2Fubm90IHJlLWFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXNpbml0OiBjYW5ub3QgYWxsb2NhdGUgcHMKAHJvdXRlc3BsaW5lczogJWQgZWRnZXMsICVkIGJveGVzICUuMmYgc2VjCgBpbiByb3V0ZXNwbGluZXMsIGNhbm5vdCBmaW5kIE5PUk1BTCBlZGdlCgBpbiByb3V0ZXNwbGluZXMsIGlsbGVnYWwgdmFsdWVzIG9mIHByZXYgJWQgYW5kIG5leHQgJWQsIGxpbmUgJWQKAGluIHJvdXRlc3BsaW5lcywgZWRnZSBpcyBhIGxvb3AgYXQgJXMKAGluIHJvdXRlc3BsaW5lcywgUHNob3J0ZXN0cGF0aCBmYWlsZWQKAGluIHJvdXRlc3BsaW5lcywgUHJvdXRlc3BsaW5lIGZhaWxlZAoAVW5hYmxlIHRvIHJlY2xhaW0gYm94IHNwYWNlIGluIHNwbGluZSByb3V0aW5nIGZvciBlZGdlICIlcyIgLT4gIiVzIi4gU29tZXRoaW5nIGlzIHByb2JhYmx5IHNlcmlvdXNseSB3cm9uZy4KAGluIGNoZWNrcGF0aCwgYm94IDAgaGFzIExMIGNvb3JkID4gVVIgY29vcmQKAGluIGNoZWNrcGF0aCwgYm94ICVkIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveGVzICVkIGFuZCAlZCBkb24ndCB0b3VjaAoAaW4gY2hlY2twYXRoLCBzdGFydCBwb3J0IG5vdCBpbiBmaXJzdCBib3gKAGluIGNoZWNrcGF0aCwgZW5kIHBvcnQgbm90IGluIGxhc3QgYm94CgAlZCBib3hlczoKACVkICglLjVnLCAlLjVnKSwgKCUuNWcsICUuNWcpCgBjb25zdHJhaW5lZABub3QgY29uc3RyYWluZWQAc3RhcnQgcG9ydDogKCUuNWcsICUuNWcpLCB0YW5nZW50IGFuZ2xlOiAlLjVnLCAlcwoAZW5kIHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAHNpZGVzID09IDQAc2hhcGVzLmMAcm91bmRfY29ybmVycwBiYWQgbGFiZWwgZm9ybWF0ICVzCgBcTgBtYXJnaW4AJWxmLCVsZgByZWd1bGFyAGN1c3RvbQBzaGFwZWZpbGUAPG5pbD4ATm8gb3IgaW1wcm9wZXIgc2hhcGVmaWxlPSIlcyIgZm9yIG5vZGUgIiVzIgoATm8gb3IgaW1wcm9wZXIgaW1hZ2U9IiVzIiBmb3Igbm9kZSAiJXMiCgBsYWJlbGxvYwBub2RlICclcycsIGdyYXBoICclcycgc2l6ZSB0b28gc21hbGwgZm9yIGxhYmVsCgBlcHNmAHVzaW5nICVzIGZvciB1bmtub3duIHNoYXBlICVzCgBwb2x5Z29uAG92YWwAY2lyY2xlAHBvaW50AGVnZwB0cmlhbmdsZQBwbGFpbnRleHQAcGxhaW4AZGlhbW9uZAB0cmFwZXppdW0AcGFyYWxsZWxvZ3JhbQBob3VzZQBwZW50YWdvbgBoZXhhZ29uAHNlcHRhZ29uAG9jdGFnb24Abm90ZQB0YWIAZm9sZGVyAGJveDNkAGNvbXBvbmVudABjeWxpbmRlcgByZWN0AHJlY3RhbmdsZQBzcXVhcmUAZG91YmxlY2lyY2xlAGRvdWJsZW9jdGFnb24AdHJpcGxlb2N0YWdvbgBpbnZ0cmlhbmdsZQBpbnZ0cmFwZXppdW0AaW52aG91c2UAdW5kZXJsaW5lAE1kaWFtb25kAE1zcXVhcmUATWNpcmNsZQBwcm9tb3RlcgBjZHMAdGVybWluYXRvcgB1dHIAaW5zdWxhdG9yAHJpYm9zaXRlAHJuYXN0YWIAcHJvdGVhc2VzaXRlAHByb3RlaW5zdGFiAHByaW1lcnNpdGUAcmVzdHJpY3Rpb25zaXRlAGZpdmVwb3ZlcmhhbmcAdGhyZWVwb3ZlcmhhbmcAbm92ZXJoYW5nAGFzc2VtYmx5AHNpZ25hdHVyZQBycHJvbW90ZXIAbGFycm93AHJhcnJvdwBscHJvbW90ZXIAcmVjb3JkAE1yZWNvcmQAc3RhcgAjODA4MDgwACNmY2ZjZmMAIzMwMzAzMAAjZThlOGU4ACNlMGUwZTAAI2YwZjBmMAAjMTAxMDEwACNmOGY4ZjgAaW4gbm9kZSAlcwoAcm91bmRlZABkaWFnb25hbHMAcmFkaWFsAHN0cmlwZWQAd2VkZ2VkAF8Abm9kZSAlcywgcG9ydCAlcywgdW5yZWNvZ25pemVkIGNvbXBhc3MgcG9pbnQgJyVzJyAtIGlnbm9yZWQKAG5vZGUgJXMsIHBvcnQgJXMgdW5yZWNvZ25pemVkCgAlLjVnICUuNWcgdHJhbnNsYXRlIG5ld3BhdGggdXNlcl9zaGFwZV8lZAoAaW52aXMAAGZpbGxlZAAAcwBlAHcAc3BsaW5lcy5jAGJlZ2lucGF0aABQLT5lbmQudGhldGEgPCAyICogTV9QSQBlbmRwYXRoAG1ha2VTZWxmRWRnZQBnZXRzcGxpbmVwb2ludHM6IG5vIHNwbGluZSBwb2ludHMgYXZhaWxhYmxlIGZvciBlZGdlICglcywlcykKAHBvbHlsaW5lTWlkcG9pbnQAc3Bhbi0+Zm9udAB0ZXh0c3Bhbi5jAHRleHRzcGFuX3NpemUAZm9udC0+bmFtZQBmb250bmFtZTogIiVzIiByZXNvbHZlZCB0bzogJXMKAGZvbnRuYW1lOiB1bmFibGUgdG8gcmVzb2x2ZSAiJXMiCgBjb3VyAGFyaWFsAGhlbHZldGljYQBbaW50ZXJuYWwgdGltZXNdAFtpbnRlcm5hbCBjb3VyaWVyXQBbaW50ZXJuYWwgYXJpYWxdAEF2YW50R2FyZGUtQm9vawBVUlcgR290aGljIEwAYm9vawBzYW5zLVNlcmlmAEF2YW50R2FyZGUtQm9va09ibGlxdWUAb2JsaXF1ZQBpdGFsaWMAQXZhbnRHYXJkZS1EZW1pAGRlbWkAQXZhbnRHYXJkZS1EZW1pT2JsaXF1ZQBCb29rbWFuLURlbWkAVVJXIEJvb2ttYW4gTABzZXJpZgBCb29rbWFuLURlbWlJdGFsaWMAQm9va21hbi1MaWdodABsaWdodABCb29rbWFuLUxpZ2h0SXRhbGljAENvdXJpZXIAbW9ub3NwYWNlAENvdXJpZXItQm9sZABDb3VyaWVyLUJvbGRPYmxpcXVlAENvdXJpZXItT2JsaXF1ZQBIZWx2ZXRpY2EASGVsdmV0aWNhLUJvbGQASGVsdmV0aWNhLUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3cAY29uZGVuc2VkAEhlbHZldGljYS1OYXJyb3ctQm9sZABIZWx2ZXRpY2EtTmFycm93LUJvbGRPYmxpcXVlAEhlbHZldGljYS1OYXJyb3ctT2JsaXF1ZQBIZWx2ZXRpY2EtT2JsaXF1ZQBOZXdDZW50dXJ5U2NobGJrLUJvbGQAQ2VudHVyeSBTY2hvb2xib29rIEwATmV3Q2VudHVyeVNjaGxiay1Cb2xkSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstSXRhbGljAE5ld0NlbnR1cnlTY2hsYmstUm9tYW4Acm9tYW4AUGFsYXRpbm8tQm9sZABQYWxhdGlubyBMaW5vdHlwZQBQYWxhdGluby1Cb2xkSXRhbGljAFBhbGF0aW5vLUl0YWxpYwBQYWxhdGluby1Sb21hbgBTeW1ib2wAZmFudGFzeQBUaW1lcy1Cb2xkAFRpbWVzAFRpbWVzLUJvbGRJdGFsaWMAVGltZXMtSXRhbGljAFphcGZDaGFuY2VyeS1NZWRpdW1JdGFsaWMAVVJXIENoYW5jZXJ5IEwAbWVkaXVtAFphcGZEaW5nYmF0cwBEaW5nYmF0cwBpbnB1dHNjYWxlAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAY2x1c3RlciBjeWNsZSAlcyAtLSAlcyBub3Qgc3VwcG9ydGVkCgB0YWlsIGNsdXN0ZXIgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBjbHVzdGVyICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAHRhaWwgbm9kZSAlcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBoZWFkIG5vZGUgJXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAX18AbGFiZWwAc2hhcGUAYm94AFR3byBjbHVzdGVycyBuYW1lZCAlcyAtIHRoZSBzZWNvbmQgd2lsbCBiZSBpZ25vcmVkCgBtYXBOAEFFbGlnAEFhY3V0ZQBBY2lyYwBBZ3JhdmUAQWxwaGEAQXJpbmcAQXRpbGRlAEF1bWwAQmV0YQBDY2VkaWwAQ2hpAERhZ2dlcgBEZWx0YQBFVEgARWFjdXRlAEVjaXJjAEVncmF2ZQBFcHNpbG9uAEV0YQBFdW1sAEdhbW1hAElhY3V0ZQBJY2lyYwBJZ3JhdmUASW90YQBJdW1sAEthcHBhAExhbWJkYQBNdQBOdGlsZGUATnUAT0VsaWcAT2FjdXRlAE9jaXJjAE9ncmF2ZQBPbWVnYQBPbWljcm9uAE9zbGFzaABPdGlsZGUAT3VtbABQaGkAUGkAUHJpbWUAUHNpAFJobwBTY2Fyb24AU2lnbWEAVEhPUk4AVGF1AFRoZXRhAFVhY3V0ZQBVY2lyYwBVZ3JhdmUAVXBzaWxvbgBVdW1sAFhpAFlhY3V0ZQBZdW1sAFpldGEAYWFjdXRlAGFjaXJjAGFjdXRlAGFlbGlnAGFncmF2ZQBhbGVmc3ltAGFscGhhAGFtcABhbmQAYW5nAGFyaW5nAGFzeW1wAGF0aWxkZQBhdW1sAGJkcXVvAGJldGEAYnJ2YmFyAGJ1bGwAY2FwAGNjZWRpbABjZWRpbABjZW50AGNoaQBjaXJjAGNsdWJzAGNvbmcAY29weQBjcmFycgBjdXAAY3VycmVuAGRBcnIAZGFnZ2VyAGRhcnIAZGVnAGRlbHRhAGRpYW1zAGRpdmlkZQBlYWN1dGUAZWNpcmMAZWdyYXZlAGVtcHR5AGVtc3AAZW5zcABlcHNpbG9uAGVxdWl2AGV0YQBldGgAZXVtbABldXJvAGV4aXN0AGZub2YAZm9yYWxsAGZyYWMxMgBmcmFjMTQAZnJhYzM0AGZyYXNsAGdhbW1hAGdlAGd0AGhBcnIAaGFycgBoZWFydHMAaGVsbGlwAGlhY3V0ZQBpY2lyYwBpZXhjbABpZ3JhdmUAaW1hZ2UAaW5maW4AaW50AGlvdGEAaXF1ZXN0AGlzaW4AaXVtbABrYXBwYQBsQXJyAGxhbWJkYQBsYW5nAGxhcXVvAGxhcnIAbGNlaWwAbGRxdW8AbGUAbGZsb29yAGxvd2FzdABsb3oAbHJtAGxzYXF1bwBsc3F1bwBsdABtYWNyAG1kYXNoAG1pY3JvAG1pZGRvdABtdQBuYWJsYQBuYnNwAG5kYXNoAG5lAG5pAG5vdABub3RpbgBuc3ViAG50aWxkZQBudQBvYWN1dGUAb2NpcmMAb2VsaWcAb2dyYXZlAG9saW5lAG9tZWdhAG9taWNyb24Ab3BsdXMAb3IAb3JkZgBvcmRtAG9zbGFzaABvdGlsZGUAb3RpbWVzAG91bWwAcGFyYQBwYXJ0AHBlcm1pbABwZXJwAHBoaQBwaQBwaXYAcGx1c21uAHBvdW5kAHByaW1lAHByb2QAcHJvcABwc2kAcXVvdAByQXJyAHJhZGljAHJhbmcAcmFxdW8AcmFycgByY2VpbAByZHF1bwByZWFsAHJlZwByZmxvb3IAcmhvAHJsbQByc2FxdW8AcnNxdW8Ac2JxdW8Ac2Nhcm9uAHNkb3QAc2VjdABzaHkAc2lnbWEAc2lnbWFmAHNpbQBzcGFkZXMAc3ViAHN1YmUAc3VtAHN1cABzdXAxAHN1cDIAc3VwMwBzdXBlAHN6bGlnAHRhdQB0aGVyZTQAdGhldGEAdGhldGFzeW0AdGhpbnNwAHRob3JuAHRpbGRlAHRpbWVzAHRyYWRlAHVBcnIAdWFjdXRlAHVhcnIAdWNpcmMAdWdyYXZlAHVtbAB1cHNpaAB1cHNpbG9uAHV1bWwAd2VpZXJwAHhpAHlhY3V0ZQB5ZW4AeXVtbAB6ZXRhAHp3agB6d25qAFVURjggY29kZXMgPiA0IGJ5dGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCAoZ3JhcGggJXMpIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBJbnZhbGlkICVkLWJ5dGUgVVRGOCBmb3VuZCBpbiBpbnB1dCBvZiBncmFwaCAlcyAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoAYnouc2l6ZQBvdmVybGFwX2JlemllcgB1cnZlZABvbXBvdW5kAGFsc2UAaW5lAG9uZQBvAHJ0aG8Ab2x5bGluZQBwbGluZQBydWUAZXMAVW5rbm93biAic3BsaW5lcyIgdmFsdWU6ICIlcyIgLSBpZ25vcmVkCgBzcGxpbmVzAG9kYgBPcnRob2dvbmFsIGVkZ2VzIGRvIG5vdCBjdXJyZW50bHkgaGFuZGxlIGVkZ2UgbGFiZWxzLiBUcnkgdXNpbmcgeGxhYmVscy4KAG9ydGhvICVzICVzCgBjaGFuaQBvcnRoby5jAGNoYW5TZWFyY2gAY3AAJSUhUFMtQWRvYmUtMi4wCiUlJSVCb3VuZGluZ0JveDogKGF0ZW5kKQovcG9pbnQgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICBuZXdwYXRoCiAgWCBZIDMgMCAzNjAgYXJjIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCi9ub2RlIHsKIC91IGV4Y2ggZGVmCiAvciBleGNoIGRlZgogL2QgZXhjaCBkZWYKIC9sIGV4Y2ggZGVmCiBuZXdwYXRoIGwgZCBtb3ZldG8KIHIgZCBsaW5ldG8gciB1IGxpbmV0byBsIHUgbGluZXRvCiBjbG9zZXBhdGggZmlsbAp9IGRlZgoKACVkICVkIHRyYW5zbGF0ZQoAMC44IDAuOCAwLjggc2V0cmdiY29sb3IKAHNob3dwYWdlCiUlJSVUcmFpbGVyCiUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKAG5ld3BhdGggJWQgJWQgbW92ZXRvCgAlZCAlZCBsaW5ldG8KACVkICVkIGxpbmV0byBzdHJva2UKAGNoYW5uZWwgJWQgKCVmLCVmKQoAIC0+CgAgICAgIAAoKCVmLCVmKSwoJWYsJWYpKSAlcyAlcwBCX1JJR0hUAEJfRE9XTgBCX0xFRlQAQl9VUABCX05PREUAc2VnAG5leHRfc2VnAGRlY2lkZV9wb2ludABpbmNvbXBhcmFibGUgc2VnbWVudHMgISEgLS0gQWJvcnRpbmcKAHMxLT5jb21tX2Nvb3JkPT1zMi0+Y29tbV9jb29yZABpc19wYXJhbGxlbABncmFwaCBHIHsKACBub2RlW3NoYXBlPXBvaW50XQoAICAlZCBbcG9zPSIlZCwlZCJdCgAgICVkIC0tICVkW2xlbj0iJWYiXQoAfQoAY29sb3IgJXMAJXMgaXMgbm90IGEga25vd24gY29sb3IuCgBlcnJvciBpbiBjb2x4bGF0ZSgpCgBzb2xpZABpbnZpc2libGUAYm9sZABzZXRsaW5ld2lkdGgAZmlsbGVkAHVuZmlsbGVkAHRhcGVyZWQAZ3ZyZW5kZXJfc2V0X3N0eWxlOiB1bnN1cHBvcnRlZCBzdHlsZSAlcyAtIGlnbm9yaW5nCgBndnJlbmRlci5jAGd2cmVuZGVyX3VzZXJzaGFwZQBuYW1lAG5hbWVbMF0AYm90aABsYXlvdXQATGF5b3V0IHR5cGU6ICIlcyIgbm90IHJlY29nbml6ZWQuIFVzZSBvbmUgb2Y6JXMKAGpvYgBndmxvYWRpbWFnZS5jAGd2bG9hZGltYWdlAHVzAHVzLT5uYW1lAHVzLT5uYW1lWzBdAE5vIGxvYWRpbWFnZSBwbHVnaW4gZm9yICIlcyIKAFEATGVmdABLUF9MZWZ0AFJpZ2h0AEtQX1JpZ2h0AFVwAEtQX1VwAERvd24AS1BfRG93bgBwbHVzAEtQX0FkZABtaW51cwBLUF9TdWJ0cmFjdABGAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AFVSTABub2RlAGRpZ3JhcGgAZ3JhcGgAc3ViZ3JhcGgAX0xUWF9saWJyYXJ5AHRleHRsYXlvdXQAb2JqcC0+bGJsAHhsYWJlbHMuYwB4bGFkanVzdAB4bGludGVyc2VjdGlvbnMAbHAgIT0gY2xwAGdldGludHJzeGkAb2JqcDEtPnN6LnggPT0gMCAmJiBvYmpwMS0+c3oueSA9PSAwAGxibGVuY2xvc2luZwB2cAB4bGhkeHVubG9hZABzaXplPT1mcmVlZAByZWN0LmJvdW5kYXJ5WzJdIDwgSU5UX01BWABvYmpwbHBta3MAcmVjdC5ib3VuZGFyeVszXSA8IElOVF9NQVgAb3V0IG9mIG1lbW9yeQoAIyUyeCUyeCUyeCUyeAAlbGYlbGYlbGYAL2FjY2VudDMvMQAvYWNjZW50My8yAC9hY2NlbnQzLzMAL2FjY2VudDQvMQAvYWNjZW50NC8yAC9hY2NlbnQ0LzMAL2FjY2VudDQvNAAvYWNjZW50NS8xAC9hY2NlbnQ1LzIAL2FjY2VudDUvMwAvYWNjZW50NS80AC9hY2NlbnQ1LzUAL2FjY2VudDYvMQAvYWNjZW50Ni8yAC9hY2NlbnQ2LzMAL2FjY2VudDYvNAAvYWNjZW50Ni81AC9hY2NlbnQ2LzYAL2FjY2VudDcvMQAvYWNjZW50Ny8yAC9hY2NlbnQ3LzMAL2FjY2VudDcvNAAvYWNjZW50Ny81AC9hY2NlbnQ3LzYAL2FjY2VudDcvNwAvYWNjZW50OC8xAC9hY2NlbnQ4LzIAL2FjY2VudDgvMwAvYWNjZW50OC80AC9hY2NlbnQ4LzUAL2FjY2VudDgvNgAvYWNjZW50OC83AC9hY2NlbnQ4LzgAL2JsdWVzMy8xAC9ibHVlczMvMgAvYmx1ZXMzLzMAL2JsdWVzNC8xAC9ibHVlczQvMgAvYmx1ZXM0LzMAL2JsdWVzNC80AC9ibHVlczUvMQAvYmx1ZXM1LzIAL2JsdWVzNS8zAC9ibHVlczUvNAAvYmx1ZXM1LzUAL2JsdWVzNi8xAC9ibHVlczYvMgAvYmx1ZXM2LzMAL2JsdWVzNi80AC9ibHVlczYvNQAvYmx1ZXM2LzYAL2JsdWVzNy8xAC9ibHVlczcvMgAvYmx1ZXM3LzMAL2JsdWVzNy80AC9ibHVlczcvNQAvYmx1ZXM3LzYAL2JsdWVzNy83AC9ibHVlczgvMQAvYmx1ZXM4LzIAL2JsdWVzOC8zAC9ibHVlczgvNAAvYmx1ZXM4LzUAL2JsdWVzOC82AC9ibHVlczgvNwAvYmx1ZXM4LzgAL2JsdWVzOS8xAC9ibHVlczkvMgAvYmx1ZXM5LzMAL2JsdWVzOS80AC9ibHVlczkvNQAvYmx1ZXM5LzYAL2JsdWVzOS83AC9ibHVlczkvOAAvYmx1ZXM5LzkAL2JyYmcxMC8xAC9icmJnMTAvMTAAL2JyYmcxMC8yAC9icmJnMTAvMwAvYnJiZzEwLzQAL2JyYmcxMC81AC9icmJnMTAvNgAvYnJiZzEwLzcAL2JyYmcxMC84AC9icmJnMTAvOQAvYnJiZzExLzEAL2JyYmcxMS8xMAAvYnJiZzExLzExAC9icmJnMTEvMgAvYnJiZzExLzMAL2JyYmcxMS80AC9icmJnMTEvNQAvYnJiZzExLzYAL2JyYmcxMS83AC9icmJnMTEvOAAvYnJiZzExLzkAL2JyYmczLzEAL2JyYmczLzIAL2JyYmczLzMAL2JyYmc0LzEAL2JyYmc0LzIAL2JyYmc0LzMAL2JyYmc0LzQAL2JyYmc1LzEAL2JyYmc1LzIAL2JyYmc1LzMAL2JyYmc1LzQAL2JyYmc1LzUAL2JyYmc2LzEAL2JyYmc2LzIAL2JyYmc2LzMAL2JyYmc2LzQAL2JyYmc2LzUAL2JyYmc2LzYAL2JyYmc3LzEAL2JyYmc3LzIAL2JyYmc3LzMAL2JyYmc3LzQAL2JyYmc3LzUAL2JyYmc3LzYAL2JyYmc3LzcAL2JyYmc4LzEAL2JyYmc4LzIAL2JyYmc4LzMAL2JyYmc4LzQAL2JyYmc4LzUAL2JyYmc4LzYAL2JyYmc4LzcAL2JyYmc4LzgAL2JyYmc5LzEAL2JyYmc5LzIAL2JyYmc5LzMAL2JyYmc5LzQAL2JyYmc5LzUAL2JyYmc5LzYAL2JyYmc5LzcAL2JyYmc5LzgAL2JyYmc5LzkAL2J1Z24zLzEAL2J1Z24zLzIAL2J1Z24zLzMAL2J1Z240LzEAL2J1Z240LzIAL2J1Z240LzMAL2J1Z240LzQAL2J1Z241LzEAL2J1Z241LzIAL2J1Z241LzMAL2J1Z241LzQAL2J1Z241LzUAL2J1Z242LzEAL2J1Z242LzIAL2J1Z242LzMAL2J1Z242LzQAL2J1Z242LzUAL2J1Z242LzYAL2J1Z243LzEAL2J1Z243LzIAL2J1Z243LzMAL2J1Z243LzQAL2J1Z243LzUAL2J1Z243LzYAL2J1Z243LzcAL2J1Z244LzEAL2J1Z244LzIAL2J1Z244LzMAL2J1Z244LzQAL2J1Z244LzUAL2J1Z244LzYAL2J1Z244LzcAL2J1Z244LzgAL2J1Z245LzEAL2J1Z245LzIAL2J1Z245LzMAL2J1Z245LzQAL2J1Z245LzUAL2J1Z245LzYAL2J1Z245LzcAL2J1Z245LzgAL2J1Z245LzkAL2J1cHUzLzEAL2J1cHUzLzIAL2J1cHUzLzMAL2J1cHU0LzEAL2J1cHU0LzIAL2J1cHU0LzMAL2J1cHU0LzQAL2J1cHU1LzEAL2J1cHU1LzIAL2J1cHU1LzMAL2J1cHU1LzQAL2J1cHU1LzUAL2J1cHU2LzEAL2J1cHU2LzIAL2J1cHU2LzMAL2J1cHU2LzQAL2J1cHU2LzUAL2J1cHU2LzYAL2J1cHU3LzEAL2J1cHU3LzIAL2J1cHU3LzMAL2J1cHU3LzQAL2J1cHU3LzUAL2J1cHU3LzYAL2J1cHU3LzcAL2J1cHU4LzEAL2J1cHU4LzIAL2J1cHU4LzMAL2J1cHU4LzQAL2J1cHU4LzUAL2J1cHU4LzYAL2J1cHU4LzcAL2J1cHU4LzgAL2J1cHU5LzEAL2J1cHU5LzIAL2J1cHU5LzMAL2J1cHU5LzQAL2J1cHU5LzUAL2J1cHU5LzYAL2J1cHU5LzcAL2J1cHU5LzgAL2J1cHU5LzkAL2RhcmsyMy8xAC9kYXJrMjMvMgAvZGFyazIzLzMAL2RhcmsyNC8xAC9kYXJrMjQvMgAvZGFyazI0LzMAL2RhcmsyNC80AC9kYXJrMjUvMQAvZGFyazI1LzIAL2RhcmsyNS8zAC9kYXJrMjUvNAAvZGFyazI1LzUAL2RhcmsyNi8xAC9kYXJrMjYvMgAvZGFyazI2LzMAL2RhcmsyNi80AC9kYXJrMjYvNQAvZGFyazI2LzYAL2RhcmsyNy8xAC9kYXJrMjcvMgAvZGFyazI3LzMAL2RhcmsyNy80AC9kYXJrMjcvNQAvZGFyazI3LzYAL2RhcmsyNy83AC9kYXJrMjgvMQAvZGFyazI4LzIAL2RhcmsyOC8zAC9kYXJrMjgvNAAvZGFyazI4LzUAL2RhcmsyOC82AC9kYXJrMjgvNwAvZGFyazI4LzgAL2duYnUzLzEAL2duYnUzLzIAL2duYnUzLzMAL2duYnU0LzEAL2duYnU0LzIAL2duYnU0LzMAL2duYnU0LzQAL2duYnU1LzEAL2duYnU1LzIAL2duYnU1LzMAL2duYnU1LzQAL2duYnU1LzUAL2duYnU2LzEAL2duYnU2LzIAL2duYnU2LzMAL2duYnU2LzQAL2duYnU2LzUAL2duYnU2LzYAL2duYnU3LzEAL2duYnU3LzIAL2duYnU3LzMAL2duYnU3LzQAL2duYnU3LzUAL2duYnU3LzYAL2duYnU3LzcAL2duYnU4LzEAL2duYnU4LzIAL2duYnU4LzMAL2duYnU4LzQAL2duYnU4LzUAL2duYnU4LzYAL2duYnU4LzcAL2duYnU4LzgAL2duYnU5LzEAL2duYnU5LzIAL2duYnU5LzMAL2duYnU5LzQAL2duYnU5LzUAL2duYnU5LzYAL2duYnU5LzcAL2duYnU5LzgAL2duYnU5LzkAL2dyZWVuczMvMQAvZ3JlZW5zMy8yAC9ncmVlbnMzLzMAL2dyZWVuczQvMQAvZ3JlZW5zNC8yAC9ncmVlbnM0LzMAL2dyZWVuczQvNAAvZ3JlZW5zNS8xAC9ncmVlbnM1LzIAL2dyZWVuczUvMwAvZ3JlZW5zNS80AC9ncmVlbnM1LzUAL2dyZWVuczYvMQAvZ3JlZW5zNi8yAC9ncmVlbnM2LzMAL2dyZWVuczYvNAAvZ3JlZW5zNi81AC9ncmVlbnM2LzYAL2dyZWVuczcvMQAvZ3JlZW5zNy8yAC9ncmVlbnM3LzMAL2dyZWVuczcvNAAvZ3JlZW5zNy81AC9ncmVlbnM3LzYAL2dyZWVuczcvNwAvZ3JlZW5zOC8xAC9ncmVlbnM4LzIAL2dyZWVuczgvMwAvZ3JlZW5zOC80AC9ncmVlbnM4LzUAL2dyZWVuczgvNgAvZ3JlZW5zOC83AC9ncmVlbnM4LzgAL2dyZWVuczkvMQAvZ3JlZW5zOS8yAC9ncmVlbnM5LzMAL2dyZWVuczkvNAAvZ3JlZW5zOS81AC9ncmVlbnM5LzYAL2dyZWVuczkvNwAvZ3JlZW5zOS84AC9ncmVlbnM5LzkAL2dyZXlzMy8xAC9ncmV5czMvMgAvZ3JleXMzLzMAL2dyZXlzNC8xAC9ncmV5czQvMgAvZ3JleXM0LzMAL2dyZXlzNC80AC9ncmV5czUvMQAvZ3JleXM1LzIAL2dyZXlzNS8zAC9ncmV5czUvNAAvZ3JleXM1LzUAL2dyZXlzNi8xAC9ncmV5czYvMgAvZ3JleXM2LzMAL2dyZXlzNi80AC9ncmV5czYvNQAvZ3JleXM2LzYAL2dyZXlzNy8xAC9ncmV5czcvMgAvZ3JleXM3LzMAL2dyZXlzNy80AC9ncmV5czcvNQAvZ3JleXM3LzYAL2dyZXlzNy83AC9ncmV5czgvMQAvZ3JleXM4LzIAL2dyZXlzOC8zAC9ncmV5czgvNAAvZ3JleXM4LzUAL2dyZXlzOC82AC9ncmV5czgvNwAvZ3JleXM4LzgAL2dyZXlzOS8xAC9ncmV5czkvMgAvZ3JleXM5LzMAL2dyZXlzOS80AC9ncmV5czkvNQAvZ3JleXM5LzYAL2dyZXlzOS83AC9ncmV5czkvOAAvZ3JleXM5LzkAL29yYW5nZXMzLzEAL29yYW5nZXMzLzIAL29yYW5nZXMzLzMAL29yYW5nZXM0LzEAL29yYW5nZXM0LzIAL29yYW5nZXM0LzMAL29yYW5nZXM0LzQAL29yYW5nZXM1LzEAL29yYW5nZXM1LzIAL29yYW5nZXM1LzMAL29yYW5nZXM1LzQAL29yYW5nZXM1LzUAL29yYW5nZXM2LzEAL29yYW5nZXM2LzIAL29yYW5nZXM2LzMAL29yYW5nZXM2LzQAL29yYW5nZXM2LzUAL29yYW5nZXM2LzYAL29yYW5nZXM3LzEAL29yYW5nZXM3LzIAL29yYW5nZXM3LzMAL29yYW5nZXM3LzQAL29yYW5nZXM3LzUAL29yYW5nZXM3LzYAL29yYW5nZXM3LzcAL29yYW5nZXM4LzEAL29yYW5nZXM4LzIAL29yYW5nZXM4LzMAL29yYW5nZXM4LzQAL29yYW5nZXM4LzUAL29yYW5nZXM4LzYAL29yYW5nZXM4LzcAL29yYW5nZXM4LzgAL29yYW5nZXM5LzEAL29yYW5nZXM5LzIAL29yYW5nZXM5LzMAL29yYW5nZXM5LzQAL29yYW5nZXM5LzUAL29yYW5nZXM5LzYAL29yYW5nZXM5LzcAL29yYW5nZXM5LzgAL29yYW5nZXM5LzkAL29ycmQzLzEAL29ycmQzLzIAL29ycmQzLzMAL29ycmQ0LzEAL29ycmQ0LzIAL29ycmQ0LzMAL29ycmQ0LzQAL29ycmQ1LzEAL29ycmQ1LzIAL29ycmQ1LzMAL29ycmQ1LzQAL29ycmQ1LzUAL29ycmQ2LzEAL29ycmQ2LzIAL29ycmQ2LzMAL29ycmQ2LzQAL29ycmQ2LzUAL29ycmQ2LzYAL29ycmQ3LzEAL29ycmQ3LzIAL29ycmQ3LzMAL29ycmQ3LzQAL29ycmQ3LzUAL29ycmQ3LzYAL29ycmQ3LzcAL29ycmQ4LzEAL29ycmQ4LzIAL29ycmQ4LzMAL29ycmQ4LzQAL29ycmQ4LzUAL29ycmQ4LzYAL29ycmQ4LzcAL29ycmQ4LzgAL29ycmQ5LzEAL29ycmQ5LzIAL29ycmQ5LzMAL29ycmQ5LzQAL29ycmQ5LzUAL29ycmQ5LzYAL29ycmQ5LzcAL29ycmQ5LzgAL29ycmQ5LzkAL3BhaXJlZDEwLzEAL3BhaXJlZDEwLzEwAC9wYWlyZWQxMC8yAC9wYWlyZWQxMC8zAC9wYWlyZWQxMC80AC9wYWlyZWQxMC81AC9wYWlyZWQxMC82AC9wYWlyZWQxMC83AC9wYWlyZWQxMC84AC9wYWlyZWQxMC85AC9wYWlyZWQxMS8xAC9wYWlyZWQxMS8xMAAvcGFpcmVkMTEvMTEAL3BhaXJlZDExLzIAL3BhaXJlZDExLzMAL3BhaXJlZDExLzQAL3BhaXJlZDExLzUAL3BhaXJlZDExLzYAL3BhaXJlZDExLzcAL3BhaXJlZDExLzgAL3BhaXJlZDExLzkAL3BhaXJlZDEyLzEAL3BhaXJlZDEyLzEwAC9wYWlyZWQxMi8xMQAvcGFpcmVkMTIvMTIAL3BhaXJlZDEyLzIAL3BhaXJlZDEyLzMAL3BhaXJlZDEyLzQAL3BhaXJlZDEyLzUAL3BhaXJlZDEyLzYAL3BhaXJlZDEyLzcAL3BhaXJlZDEyLzgAL3BhaXJlZDEyLzkAL3BhaXJlZDMvMQAvcGFpcmVkMy8yAC9wYWlyZWQzLzMAL3BhaXJlZDQvMQAvcGFpcmVkNC8yAC9wYWlyZWQ0LzMAL3BhaXJlZDQvNAAvcGFpcmVkNS8xAC9wYWlyZWQ1LzIAL3BhaXJlZDUvMwAvcGFpcmVkNS80AC9wYWlyZWQ1LzUAL3BhaXJlZDYvMQAvcGFpcmVkNi8yAC9wYWlyZWQ2LzMAL3BhaXJlZDYvNAAvcGFpcmVkNi81AC9wYWlyZWQ2LzYAL3BhaXJlZDcvMQAvcGFpcmVkNy8yAC9wYWlyZWQ3LzMAL3BhaXJlZDcvNAAvcGFpcmVkNy81AC9wYWlyZWQ3LzYAL3BhaXJlZDcvNwAvcGFpcmVkOC8xAC9wYWlyZWQ4LzIAL3BhaXJlZDgvMwAvcGFpcmVkOC80AC9wYWlyZWQ4LzUAL3BhaXJlZDgvNgAvcGFpcmVkOC83AC9wYWlyZWQ4LzgAL3BhaXJlZDkvMQAvcGFpcmVkOS8yAC9wYWlyZWQ5LzMAL3BhaXJlZDkvNAAvcGFpcmVkOS81AC9wYWlyZWQ5LzYAL3BhaXJlZDkvNwAvcGFpcmVkOS84AC9wYWlyZWQ5LzkAL3Bhc3RlbDEzLzEAL3Bhc3RlbDEzLzIAL3Bhc3RlbDEzLzMAL3Bhc3RlbDE0LzEAL3Bhc3RlbDE0LzIAL3Bhc3RlbDE0LzMAL3Bhc3RlbDE0LzQAL3Bhc3RlbDE1LzEAL3Bhc3RlbDE1LzIAL3Bhc3RlbDE1LzMAL3Bhc3RlbDE1LzQAL3Bhc3RlbDE1LzUAL3Bhc3RlbDE2LzEAL3Bhc3RlbDE2LzIAL3Bhc3RlbDE2LzMAL3Bhc3RlbDE2LzQAL3Bhc3RlbDE2LzUAL3Bhc3RlbDE2LzYAL3Bhc3RlbDE3LzEAL3Bhc3RlbDE3LzIAL3Bhc3RlbDE3LzMAL3Bhc3RlbDE3LzQAL3Bhc3RlbDE3LzUAL3Bhc3RlbDE3LzYAL3Bhc3RlbDE3LzcAL3Bhc3RlbDE4LzEAL3Bhc3RlbDE4LzIAL3Bhc3RlbDE4LzMAL3Bhc3RlbDE4LzQAL3Bhc3RlbDE4LzUAL3Bhc3RlbDE4LzYAL3Bhc3RlbDE4LzcAL3Bhc3RlbDE4LzgAL3Bhc3RlbDE5LzEAL3Bhc3RlbDE5LzIAL3Bhc3RlbDE5LzMAL3Bhc3RlbDE5LzQAL3Bhc3RlbDE5LzUAL3Bhc3RlbDE5LzYAL3Bhc3RlbDE5LzcAL3Bhc3RlbDE5LzgAL3Bhc3RlbDE5LzkAL3Bhc3RlbDIzLzEAL3Bhc3RlbDIzLzIAL3Bhc3RlbDIzLzMAL3Bhc3RlbDI0LzEAL3Bhc3RlbDI0LzIAL3Bhc3RlbDI0LzMAL3Bhc3RlbDI0LzQAL3Bhc3RlbDI1LzEAL3Bhc3RlbDI1LzIAL3Bhc3RlbDI1LzMAL3Bhc3RlbDI1LzQAL3Bhc3RlbDI1LzUAL3Bhc3RlbDI2LzEAL3Bhc3RlbDI2LzIAL3Bhc3RlbDI2LzMAL3Bhc3RlbDI2LzQAL3Bhc3RlbDI2LzUAL3Bhc3RlbDI2LzYAL3Bhc3RlbDI3LzEAL3Bhc3RlbDI3LzIAL3Bhc3RlbDI3LzMAL3Bhc3RlbDI3LzQAL3Bhc3RlbDI3LzUAL3Bhc3RlbDI3LzYAL3Bhc3RlbDI3LzcAL3Bhc3RlbDI4LzEAL3Bhc3RlbDI4LzIAL3Bhc3RlbDI4LzMAL3Bhc3RlbDI4LzQAL3Bhc3RlbDI4LzUAL3Bhc3RlbDI4LzYAL3Bhc3RlbDI4LzcAL3Bhc3RlbDI4LzgAL3BpeWcxMC8xAC9waXlnMTAvMTAAL3BpeWcxMC8yAC9waXlnMTAvMwAvcGl5ZzEwLzQAL3BpeWcxMC81AC9waXlnMTAvNgAvcGl5ZzEwLzcAL3BpeWcxMC84AC9waXlnMTAvOQAvcGl5ZzExLzEAL3BpeWcxMS8xMAAvcGl5ZzExLzExAC9waXlnMTEvMgAvcGl5ZzExLzMAL3BpeWcxMS80AC9waXlnMTEvNQAvcGl5ZzExLzYAL3BpeWcxMS83AC9waXlnMTEvOAAvcGl5ZzExLzkAL3BpeWczLzEAL3BpeWczLzIAL3BpeWczLzMAL3BpeWc0LzEAL3BpeWc0LzIAL3BpeWc0LzMAL3BpeWc0LzQAL3BpeWc1LzEAL3BpeWc1LzIAL3BpeWc1LzMAL3BpeWc1LzQAL3BpeWc1LzUAL3BpeWc2LzEAL3BpeWc2LzIAL3BpeWc2LzMAL3BpeWc2LzQAL3BpeWc2LzUAL3BpeWc2LzYAL3BpeWc3LzEAL3BpeWc3LzIAL3BpeWc3LzMAL3BpeWc3LzQAL3BpeWc3LzUAL3BpeWc3LzYAL3BpeWc3LzcAL3BpeWc4LzEAL3BpeWc4LzIAL3BpeWc4LzMAL3BpeWc4LzQAL3BpeWc4LzUAL3BpeWc4LzYAL3BpeWc4LzcAL3BpeWc4LzgAL3BpeWc5LzEAL3BpeWc5LzIAL3BpeWc5LzMAL3BpeWc5LzQAL3BpeWc5LzUAL3BpeWc5LzYAL3BpeWc5LzcAL3BpeWc5LzgAL3BpeWc5LzkAL3ByZ24xMC8xAC9wcmduMTAvMTAAL3ByZ24xMC8yAC9wcmduMTAvMwAvcHJnbjEwLzQAL3ByZ24xMC81AC9wcmduMTAvNgAvcHJnbjEwLzcAL3ByZ24xMC84AC9wcmduMTAvOQAvcHJnbjExLzEAL3ByZ24xMS8xMAAvcHJnbjExLzExAC9wcmduMTEvMgAvcHJnbjExLzMAL3ByZ24xMS80AC9wcmduMTEvNQAvcHJnbjExLzYAL3ByZ24xMS83AC9wcmduMTEvOAAvcHJnbjExLzkAL3ByZ24zLzEAL3ByZ24zLzIAL3ByZ24zLzMAL3ByZ240LzEAL3ByZ240LzIAL3ByZ240LzMAL3ByZ240LzQAL3ByZ241LzEAL3ByZ241LzIAL3ByZ241LzMAL3ByZ241LzQAL3ByZ241LzUAL3ByZ242LzEAL3ByZ242LzIAL3ByZ242LzMAL3ByZ242LzQAL3ByZ242LzUAL3ByZ242LzYAL3ByZ243LzEAL3ByZ243LzIAL3ByZ243LzMAL3ByZ243LzQAL3ByZ243LzUAL3ByZ243LzYAL3ByZ243LzcAL3ByZ244LzEAL3ByZ244LzIAL3ByZ244LzMAL3ByZ244LzQAL3ByZ244LzUAL3ByZ244LzYAL3ByZ244LzcAL3ByZ244LzgAL3ByZ245LzEAL3ByZ245LzIAL3ByZ245LzMAL3ByZ245LzQAL3ByZ245LzUAL3ByZ245LzYAL3ByZ245LzcAL3ByZ245LzgAL3ByZ245LzkAL3B1YnUzLzEAL3B1YnUzLzIAL3B1YnUzLzMAL3B1YnU0LzEAL3B1YnU0LzIAL3B1YnU0LzMAL3B1YnU0LzQAL3B1YnU1LzEAL3B1YnU1LzIAL3B1YnU1LzMAL3B1YnU1LzQAL3B1YnU1LzUAL3B1YnU2LzEAL3B1YnU2LzIAL3B1YnU2LzMAL3B1YnU2LzQAL3B1YnU2LzUAL3B1YnU2LzYAL3B1YnU3LzEAL3B1YnU3LzIAL3B1YnU3LzMAL3B1YnU3LzQAL3B1YnU3LzUAL3B1YnU3LzYAL3B1YnU3LzcAL3B1YnU4LzEAL3B1YnU4LzIAL3B1YnU4LzMAL3B1YnU4LzQAL3B1YnU4LzUAL3B1YnU4LzYAL3B1YnU4LzcAL3B1YnU4LzgAL3B1YnU5LzEAL3B1YnU5LzIAL3B1YnU5LzMAL3B1YnU5LzQAL3B1YnU5LzUAL3B1YnU5LzYAL3B1YnU5LzcAL3B1YnU5LzgAL3B1YnU5LzkAL3B1YnVnbjMvMQAvcHVidWduMy8yAC9wdWJ1Z24zLzMAL3B1YnVnbjQvMQAvcHVidWduNC8yAC9wdWJ1Z240LzMAL3B1YnVnbjQvNAAvcHVidWduNS8xAC9wdWJ1Z241LzIAL3B1YnVnbjUvMwAvcHVidWduNS80AC9wdWJ1Z241LzUAL3B1YnVnbjYvMQAvcHVidWduNi8yAC9wdWJ1Z242LzMAL3B1YnVnbjYvNAAvcHVidWduNi81AC9wdWJ1Z242LzYAL3B1YnVnbjcvMQAvcHVidWduNy8yAC9wdWJ1Z243LzMAL3B1YnVnbjcvNAAvcHVidWduNy81AC9wdWJ1Z243LzYAL3B1YnVnbjcvNwAvcHVidWduOC8xAC9wdWJ1Z244LzIAL3B1YnVnbjgvMwAvcHVidWduOC80AC9wdWJ1Z244LzUAL3B1YnVnbjgvNgAvcHVidWduOC83AC9wdWJ1Z244LzgAL3B1YnVnbjkvMQAvcHVidWduOS8yAC9wdWJ1Z245LzMAL3B1YnVnbjkvNAAvcHVidWduOS81AC9wdWJ1Z245LzYAL3B1YnVnbjkvNwAvcHVidWduOS84AC9wdWJ1Z245LzkAL3B1b3IxMC8xAC9wdW9yMTAvMTAAL3B1b3IxMC8yAC9wdW9yMTAvMwAvcHVvcjEwLzQAL3B1b3IxMC81AC9wdW9yMTAvNgAvcHVvcjEwLzcAL3B1b3IxMC84AC9wdW9yMTAvOQAvcHVvcjExLzEAL3B1b3IxMS8xMAAvcHVvcjExLzExAC9wdW9yMTEvMgAvcHVvcjExLzMAL3B1b3IxMS80AC9wdW9yMTEvNQAvcHVvcjExLzYAL3B1b3IxMS83AC9wdW9yMTEvOAAvcHVvcjExLzkAL3B1b3IzLzEAL3B1b3IzLzIAL3B1b3IzLzMAL3B1b3I0LzEAL3B1b3I0LzIAL3B1b3I0LzMAL3B1b3I0LzQAL3B1b3I1LzEAL3B1b3I1LzIAL3B1b3I1LzMAL3B1b3I1LzQAL3B1b3I1LzUAL3B1b3I2LzEAL3B1b3I2LzIAL3B1b3I2LzMAL3B1b3I2LzQAL3B1b3I2LzUAL3B1b3I2LzYAL3B1b3I3LzEAL3B1b3I3LzIAL3B1b3I3LzMAL3B1b3I3LzQAL3B1b3I3LzUAL3B1b3I3LzYAL3B1b3I3LzcAL3B1b3I4LzEAL3B1b3I4LzIAL3B1b3I4LzMAL3B1b3I4LzQAL3B1b3I4LzUAL3B1b3I4LzYAL3B1b3I4LzcAL3B1b3I4LzgAL3B1b3I5LzEAL3B1b3I5LzIAL3B1b3I5LzMAL3B1b3I5LzQAL3B1b3I5LzUAL3B1b3I5LzYAL3B1b3I5LzcAL3B1b3I5LzgAL3B1b3I5LzkAL3B1cmQzLzEAL3B1cmQzLzIAL3B1cmQzLzMAL3B1cmQ0LzEAL3B1cmQ0LzIAL3B1cmQ0LzMAL3B1cmQ0LzQAL3B1cmQ1LzEAL3B1cmQ1LzIAL3B1cmQ1LzMAL3B1cmQ1LzQAL3B1cmQ1LzUAL3B1cmQ2LzEAL3B1cmQ2LzIAL3B1cmQ2LzMAL3B1cmQ2LzQAL3B1cmQ2LzUAL3B1cmQ2LzYAL3B1cmQ3LzEAL3B1cmQ3LzIAL3B1cmQ3LzMAL3B1cmQ3LzQAL3B1cmQ3LzUAL3B1cmQ3LzYAL3B1cmQ3LzcAL3B1cmQ4LzEAL3B1cmQ4LzIAL3B1cmQ4LzMAL3B1cmQ4LzQAL3B1cmQ4LzUAL3B1cmQ4LzYAL3B1cmQ4LzcAL3B1cmQ4LzgAL3B1cmQ5LzEAL3B1cmQ5LzIAL3B1cmQ5LzMAL3B1cmQ5LzQAL3B1cmQ5LzUAL3B1cmQ5LzYAL3B1cmQ5LzcAL3B1cmQ5LzgAL3B1cmQ5LzkAL3B1cnBsZXMzLzEAL3B1cnBsZXMzLzIAL3B1cnBsZXMzLzMAL3B1cnBsZXM0LzEAL3B1cnBsZXM0LzIAL3B1cnBsZXM0LzMAL3B1cnBsZXM0LzQAL3B1cnBsZXM1LzEAL3B1cnBsZXM1LzIAL3B1cnBsZXM1LzMAL3B1cnBsZXM1LzQAL3B1cnBsZXM1LzUAL3B1cnBsZXM2LzEAL3B1cnBsZXM2LzIAL3B1cnBsZXM2LzMAL3B1cnBsZXM2LzQAL3B1cnBsZXM2LzUAL3B1cnBsZXM2LzYAL3B1cnBsZXM3LzEAL3B1cnBsZXM3LzIAL3B1cnBsZXM3LzMAL3B1cnBsZXM3LzQAL3B1cnBsZXM3LzUAL3B1cnBsZXM3LzYAL3B1cnBsZXM3LzcAL3B1cnBsZXM4LzEAL3B1cnBsZXM4LzIAL3B1cnBsZXM4LzMAL3B1cnBsZXM4LzQAL3B1cnBsZXM4LzUAL3B1cnBsZXM4LzYAL3B1cnBsZXM4LzcAL3B1cnBsZXM4LzgAL3B1cnBsZXM5LzEAL3B1cnBsZXM5LzIAL3B1cnBsZXM5LzMAL3B1cnBsZXM5LzQAL3B1cnBsZXM5LzUAL3B1cnBsZXM5LzYAL3B1cnBsZXM5LzcAL3B1cnBsZXM5LzgAL3B1cnBsZXM5LzkAL3JkYnUxMC8xAC9yZGJ1MTAvMTAAL3JkYnUxMC8yAC9yZGJ1MTAvMwAvcmRidTEwLzQAL3JkYnUxMC81AC9yZGJ1MTAvNgAvcmRidTEwLzcAL3JkYnUxMC84AC9yZGJ1MTAvOQAvcmRidTExLzEAL3JkYnUxMS8xMAAvcmRidTExLzExAC9yZGJ1MTEvMgAvcmRidTExLzMAL3JkYnUxMS80AC9yZGJ1MTEvNQAvcmRidTExLzYAL3JkYnUxMS83AC9yZGJ1MTEvOAAvcmRidTExLzkAL3JkYnUzLzEAL3JkYnUzLzIAL3JkYnUzLzMAL3JkYnU0LzEAL3JkYnU0LzIAL3JkYnU0LzMAL3JkYnU0LzQAL3JkYnU1LzEAL3JkYnU1LzIAL3JkYnU1LzMAL3JkYnU1LzQAL3JkYnU1LzUAL3JkYnU2LzEAL3JkYnU2LzIAL3JkYnU2LzMAL3JkYnU2LzQAL3JkYnU2LzUAL3JkYnU2LzYAL3JkYnU3LzEAL3JkYnU3LzIAL3JkYnU3LzMAL3JkYnU3LzQAL3JkYnU3LzUAL3JkYnU3LzYAL3JkYnU3LzcAL3JkYnU4LzEAL3JkYnU4LzIAL3JkYnU4LzMAL3JkYnU4LzQAL3JkYnU4LzUAL3JkYnU4LzYAL3JkYnU4LzcAL3JkYnU4LzgAL3JkYnU5LzEAL3JkYnU5LzIAL3JkYnU5LzMAL3JkYnU5LzQAL3JkYnU5LzUAL3JkYnU5LzYAL3JkYnU5LzcAL3JkYnU5LzgAL3JkYnU5LzkAL3JkZ3kxMC8xAC9yZGd5MTAvMTAAL3JkZ3kxMC8yAC9yZGd5MTAvMwAvcmRneTEwLzQAL3JkZ3kxMC81AC9yZGd5MTAvNgAvcmRneTEwLzcAL3JkZ3kxMC84AC9yZGd5MTAvOQAvcmRneTExLzEAL3JkZ3kxMS8xMAAvcmRneTExLzExAC9yZGd5MTEvMgAvcmRneTExLzMAL3JkZ3kxMS80AC9yZGd5MTEvNQAvcmRneTExLzYAL3JkZ3kxMS83AC9yZGd5MTEvOAAvcmRneTExLzkAL3JkZ3kzLzEAL3JkZ3kzLzIAL3JkZ3kzLzMAL3JkZ3k0LzEAL3JkZ3k0LzIAL3JkZ3k0LzMAL3JkZ3k0LzQAL3JkZ3k1LzEAL3JkZ3k1LzIAL3JkZ3k1LzMAL3JkZ3k1LzQAL3JkZ3k1LzUAL3JkZ3k2LzEAL3JkZ3k2LzIAL3JkZ3k2LzMAL3JkZ3k2LzQAL3JkZ3k2LzUAL3JkZ3k2LzYAL3JkZ3k3LzEAL3JkZ3k3LzIAL3JkZ3k3LzMAL3JkZ3k3LzQAL3JkZ3k3LzUAL3JkZ3k3LzYAL3JkZ3k3LzcAL3JkZ3k4LzEAL3JkZ3k4LzIAL3JkZ3k4LzMAL3JkZ3k4LzQAL3JkZ3k4LzUAL3JkZ3k4LzYAL3JkZ3k4LzcAL3JkZ3k4LzgAL3JkZ3k5LzEAL3JkZ3k5LzIAL3JkZ3k5LzMAL3JkZ3k5LzQAL3JkZ3k5LzUAL3JkZ3k5LzYAL3JkZ3k5LzcAL3JkZ3k5LzgAL3JkZ3k5LzkAL3JkcHUzLzEAL3JkcHUzLzIAL3JkcHUzLzMAL3JkcHU0LzEAL3JkcHU0LzIAL3JkcHU0LzMAL3JkcHU0LzQAL3JkcHU1LzEAL3JkcHU1LzIAL3JkcHU1LzMAL3JkcHU1LzQAL3JkcHU1LzUAL3JkcHU2LzEAL3JkcHU2LzIAL3JkcHU2LzMAL3JkcHU2LzQAL3JkcHU2LzUAL3JkcHU2LzYAL3JkcHU3LzEAL3JkcHU3LzIAL3JkcHU3LzMAL3JkcHU3LzQAL3JkcHU3LzUAL3JkcHU3LzYAL3JkcHU3LzcAL3JkcHU4LzEAL3JkcHU4LzIAL3JkcHU4LzMAL3JkcHU4LzQAL3JkcHU4LzUAL3JkcHU4LzYAL3JkcHU4LzcAL3JkcHU4LzgAL3JkcHU5LzEAL3JkcHU5LzIAL3JkcHU5LzMAL3JkcHU5LzQAL3JkcHU5LzUAL3JkcHU5LzYAL3JkcHU5LzcAL3JkcHU5LzgAL3JkcHU5LzkAL3JkeWxidTEwLzEAL3JkeWxidTEwLzEwAC9yZHlsYnUxMC8yAC9yZHlsYnUxMC8zAC9yZHlsYnUxMC80AC9yZHlsYnUxMC81AC9yZHlsYnUxMC82AC9yZHlsYnUxMC83AC9yZHlsYnUxMC84AC9yZHlsYnUxMC85AC9yZHlsYnUxMS8xAC9yZHlsYnUxMS8xMAAvcmR5bGJ1MTEvMTEAL3JkeWxidTExLzIAL3JkeWxidTExLzMAL3JkeWxidTExLzQAL3JkeWxidTExLzUAL3JkeWxidTExLzYAL3JkeWxidTExLzcAL3JkeWxidTExLzgAL3JkeWxidTExLzkAL3JkeWxidTMvMQAvcmR5bGJ1My8yAC9yZHlsYnUzLzMAL3JkeWxidTQvMQAvcmR5bGJ1NC8yAC9yZHlsYnU0LzMAL3JkeWxidTQvNAAvcmR5bGJ1NS8xAC9yZHlsYnU1LzIAL3JkeWxidTUvMwAvcmR5bGJ1NS80AC9yZHlsYnU1LzUAL3JkeWxidTYvMQAvcmR5bGJ1Ni8yAC9yZHlsYnU2LzMAL3JkeWxidTYvNAAvcmR5bGJ1Ni81AC9yZHlsYnU2LzYAL3JkeWxidTcvMQAvcmR5bGJ1Ny8yAC9yZHlsYnU3LzMAL3JkeWxidTcvNAAvcmR5bGJ1Ny81AC9yZHlsYnU3LzYAL3JkeWxidTcvNwAvcmR5bGJ1OC8xAC9yZHlsYnU4LzIAL3JkeWxidTgvMwAvcmR5bGJ1OC80AC9yZHlsYnU4LzUAL3JkeWxidTgvNgAvcmR5bGJ1OC83AC9yZHlsYnU4LzgAL3JkeWxidTkvMQAvcmR5bGJ1OS8yAC9yZHlsYnU5LzMAL3JkeWxidTkvNAAvcmR5bGJ1OS81AC9yZHlsYnU5LzYAL3JkeWxidTkvNwAvcmR5bGJ1OS84AC9yZHlsYnU5LzkAL3JkeWxnbjEwLzEAL3JkeWxnbjEwLzEwAC9yZHlsZ24xMC8yAC9yZHlsZ24xMC8zAC9yZHlsZ24xMC80AC9yZHlsZ24xMC81AC9yZHlsZ24xMC82AC9yZHlsZ24xMC83AC9yZHlsZ24xMC84AC9yZHlsZ24xMC85AC9yZHlsZ24xMS8xAC9yZHlsZ24xMS8xMAAvcmR5bGduMTEvMTEAL3JkeWxnbjExLzIAL3JkeWxnbjExLzMAL3JkeWxnbjExLzQAL3JkeWxnbjExLzUAL3JkeWxnbjExLzYAL3JkeWxnbjExLzcAL3JkeWxnbjExLzgAL3JkeWxnbjExLzkAL3JkeWxnbjMvMQAvcmR5bGduMy8yAC9yZHlsZ24zLzMAL3JkeWxnbjQvMQAvcmR5bGduNC8yAC9yZHlsZ240LzMAL3JkeWxnbjQvNAAvcmR5bGduNS8xAC9yZHlsZ241LzIAL3JkeWxnbjUvMwAvcmR5bGduNS80AC9yZHlsZ241LzUAL3JkeWxnbjYvMQAvcmR5bGduNi8yAC9yZHlsZ242LzMAL3JkeWxnbjYvNAAvcmR5bGduNi81AC9yZHlsZ242LzYAL3JkeWxnbjcvMQAvcmR5bGduNy8yAC9yZHlsZ243LzMAL3JkeWxnbjcvNAAvcmR5bGduNy81AC9yZHlsZ243LzYAL3JkeWxnbjcvNwAvcmR5bGduOC8xAC9yZHlsZ244LzIAL3JkeWxnbjgvMwAvcmR5bGduOC80AC9yZHlsZ244LzUAL3JkeWxnbjgvNgAvcmR5bGduOC83AC9yZHlsZ244LzgAL3JkeWxnbjkvMQAvcmR5bGduOS8yAC9yZHlsZ245LzMAL3JkeWxnbjkvNAAvcmR5bGduOS81AC9yZHlsZ245LzYAL3JkeWxnbjkvNwAvcmR5bGduOS84AC9yZHlsZ245LzkAL3JlZHMzLzEAL3JlZHMzLzIAL3JlZHMzLzMAL3JlZHM0LzEAL3JlZHM0LzIAL3JlZHM0LzMAL3JlZHM0LzQAL3JlZHM1LzEAL3JlZHM1LzIAL3JlZHM1LzMAL3JlZHM1LzQAL3JlZHM1LzUAL3JlZHM2LzEAL3JlZHM2LzIAL3JlZHM2LzMAL3JlZHM2LzQAL3JlZHM2LzUAL3JlZHM2LzYAL3JlZHM3LzEAL3JlZHM3LzIAL3JlZHM3LzMAL3JlZHM3LzQAL3JlZHM3LzUAL3JlZHM3LzYAL3JlZHM3LzcAL3JlZHM4LzEAL3JlZHM4LzIAL3JlZHM4LzMAL3JlZHM4LzQAL3JlZHM4LzUAL3JlZHM4LzYAL3JlZHM4LzcAL3JlZHM4LzgAL3JlZHM5LzEAL3JlZHM5LzIAL3JlZHM5LzMAL3JlZHM5LzQAL3JlZHM5LzUAL3JlZHM5LzYAL3JlZHM5LzcAL3JlZHM5LzgAL3JlZHM5LzkAL3NldDEzLzEAL3NldDEzLzIAL3NldDEzLzMAL3NldDE0LzEAL3NldDE0LzIAL3NldDE0LzMAL3NldDE0LzQAL3NldDE1LzEAL3NldDE1LzIAL3NldDE1LzMAL3NldDE1LzQAL3NldDE1LzUAL3NldDE2LzEAL3NldDE2LzIAL3NldDE2LzMAL3NldDE2LzQAL3NldDE2LzUAL3NldDE2LzYAL3NldDE3LzEAL3NldDE3LzIAL3NldDE3LzMAL3NldDE3LzQAL3NldDE3LzUAL3NldDE3LzYAL3NldDE3LzcAL3NldDE4LzEAL3NldDE4LzIAL3NldDE4LzMAL3NldDE4LzQAL3NldDE4LzUAL3NldDE4LzYAL3NldDE4LzcAL3NldDE4LzgAL3NldDE5LzEAL3NldDE5LzIAL3NldDE5LzMAL3NldDE5LzQAL3NldDE5LzUAL3NldDE5LzYAL3NldDE5LzcAL3NldDE5LzgAL3NldDE5LzkAL3NldDIzLzEAL3NldDIzLzIAL3NldDIzLzMAL3NldDI0LzEAL3NldDI0LzIAL3NldDI0LzMAL3NldDI0LzQAL3NldDI1LzEAL3NldDI1LzIAL3NldDI1LzMAL3NldDI1LzQAL3NldDI1LzUAL3NldDI2LzEAL3NldDI2LzIAL3NldDI2LzMAL3NldDI2LzQAL3NldDI2LzUAL3NldDI2LzYAL3NldDI3LzEAL3NldDI3LzIAL3NldDI3LzMAL3NldDI3LzQAL3NldDI3LzUAL3NldDI3LzYAL3NldDI3LzcAL3NldDI4LzEAL3NldDI4LzIAL3NldDI4LzMAL3NldDI4LzQAL3NldDI4LzUAL3NldDI4LzYAL3NldDI4LzcAL3NldDI4LzgAL3NldDMxMC8xAC9zZXQzMTAvMTAAL3NldDMxMC8yAC9zZXQzMTAvMwAvc2V0MzEwLzQAL3NldDMxMC81AC9zZXQzMTAvNgAvc2V0MzEwLzcAL3NldDMxMC84AC9zZXQzMTAvOQAvc2V0MzExLzEAL3NldDMxMS8xMAAvc2V0MzExLzExAC9zZXQzMTEvMgAvc2V0MzExLzMAL3NldDMxMS80AC9zZXQzMTEvNQAvc2V0MzExLzYAL3NldDMxMS83AC9zZXQzMTEvOAAvc2V0MzExLzkAL3NldDMxMi8xAC9zZXQzMTIvMTAAL3NldDMxMi8xMQAvc2V0MzEyLzEyAC9zZXQzMTIvMgAvc2V0MzEyLzMAL3NldDMxMi80AC9zZXQzMTIvNQAvc2V0MzEyLzYAL3NldDMxMi83AC9zZXQzMTIvOAAvc2V0MzEyLzkAL3NldDMzLzEAL3NldDMzLzIAL3NldDMzLzMAL3NldDM0LzEAL3NldDM0LzIAL3NldDM0LzMAL3NldDM0LzQAL3NldDM1LzEAL3NldDM1LzIAL3NldDM1LzMAL3NldDM1LzQAL3NldDM1LzUAL3NldDM2LzEAL3NldDM2LzIAL3NldDM2LzMAL3NldDM2LzQAL3NldDM2LzUAL3NldDM2LzYAL3NldDM3LzEAL3NldDM3LzIAL3NldDM3LzMAL3NldDM3LzQAL3NldDM3LzUAL3NldDM3LzYAL3NldDM3LzcAL3NldDM4LzEAL3NldDM4LzIAL3NldDM4LzMAL3NldDM4LzQAL3NldDM4LzUAL3NldDM4LzYAL3NldDM4LzcAL3NldDM4LzgAL3NldDM5LzEAL3NldDM5LzIAL3NldDM5LzMAL3NldDM5LzQAL3NldDM5LzUAL3NldDM5LzYAL3NldDM5LzcAL3NldDM5LzgAL3NldDM5LzkAL3NwZWN0cmFsMTAvMQAvc3BlY3RyYWwxMC8xMAAvc3BlY3RyYWwxMC8yAC9zcGVjdHJhbDEwLzMAL3NwZWN0cmFsMTAvNAAvc3BlY3RyYWwxMC81AC9zcGVjdHJhbDEwLzYAL3NwZWN0cmFsMTAvNwAvc3BlY3RyYWwxMC84AC9zcGVjdHJhbDEwLzkAL3NwZWN0cmFsMTEvMQAvc3BlY3RyYWwxMS8xMAAvc3BlY3RyYWwxMS8xMQAvc3BlY3RyYWwxMS8yAC9zcGVjdHJhbDExLzMAL3NwZWN0cmFsMTEvNAAvc3BlY3RyYWwxMS81AC9zcGVjdHJhbDExLzYAL3NwZWN0cmFsMTEvNwAvc3BlY3RyYWwxMS84AC9zcGVjdHJhbDExLzkAL3NwZWN0cmFsMy8xAC9zcGVjdHJhbDMvMgAvc3BlY3RyYWwzLzMAL3NwZWN0cmFsNC8xAC9zcGVjdHJhbDQvMgAvc3BlY3RyYWw0LzMAL3NwZWN0cmFsNC80AC9zcGVjdHJhbDUvMQAvc3BlY3RyYWw1LzIAL3NwZWN0cmFsNS8zAC9zcGVjdHJhbDUvNAAvc3BlY3RyYWw1LzUAL3NwZWN0cmFsNi8xAC9zcGVjdHJhbDYvMgAvc3BlY3RyYWw2LzMAL3NwZWN0cmFsNi80AC9zcGVjdHJhbDYvNQAvc3BlY3RyYWw2LzYAL3NwZWN0cmFsNy8xAC9zcGVjdHJhbDcvMgAvc3BlY3RyYWw3LzMAL3NwZWN0cmFsNy80AC9zcGVjdHJhbDcvNQAvc3BlY3RyYWw3LzYAL3NwZWN0cmFsNy83AC9zcGVjdHJhbDgvMQAvc3BlY3RyYWw4LzIAL3NwZWN0cmFsOC8zAC9zcGVjdHJhbDgvNAAvc3BlY3RyYWw4LzUAL3NwZWN0cmFsOC82AC9zcGVjdHJhbDgvNwAvc3BlY3RyYWw4LzgAL3NwZWN0cmFsOS8xAC9zcGVjdHJhbDkvMgAvc3BlY3RyYWw5LzMAL3NwZWN0cmFsOS80AC9zcGVjdHJhbDkvNQAvc3BlY3RyYWw5LzYAL3NwZWN0cmFsOS83AC9zcGVjdHJhbDkvOAAvc3BlY3RyYWw5LzkAL3N2Zy9hbGljZWJsdWUAL3N2Zy9hbnRpcXVld2hpdGUAL3N2Zy9hcXVhAC9zdmcvYXF1YW1hcmluZQAvc3ZnL2F6dXJlAC9zdmcvYmVpZ2UAL3N2Zy9iaXNxdWUAL3N2Zy9ibGFjawAvc3ZnL2JsYW5jaGVkYWxtb25kAC9zdmcvYmx1ZQAvc3ZnL2JsdWV2aW9sZXQAL3N2Zy9icm93bgAvc3ZnL2J1cmx5d29vZAAvc3ZnL2NhZGV0Ymx1ZQAvc3ZnL2NoYXJ0cmV1c2UAL3N2Zy9jaG9jb2xhdGUAL3N2Zy9jb3JhbAAvc3ZnL2Nvcm5mbG93ZXJibHVlAC9zdmcvY29ybnNpbGsAL3N2Zy9jcmltc29uAC9zdmcvY3lhbgAvc3ZnL2RhcmtibHVlAC9zdmcvZGFya2N5YW4AL3N2Zy9kYXJrZ29sZGVucm9kAC9zdmcvZGFya2dyYXkAL3N2Zy9kYXJrZ3JlZW4AL3N2Zy9kYXJrZ3JleQAvc3ZnL2RhcmtraGFraQAvc3ZnL2RhcmttYWdlbnRhAC9zdmcvZGFya29saXZlZ3JlZW4AL3N2Zy9kYXJrb3JhbmdlAC9zdmcvZGFya29yY2hpZAAvc3ZnL2RhcmtyZWQAL3N2Zy9kYXJrc2FsbW9uAC9zdmcvZGFya3NlYWdyZWVuAC9zdmcvZGFya3NsYXRlYmx1ZQAvc3ZnL2RhcmtzbGF0ZWdyYXkAL3N2Zy9kYXJrc2xhdGVncmV5AC9zdmcvZGFya3R1cnF1b2lzZQAvc3ZnL2Rhcmt2aW9sZXQAL3N2Zy9kZWVwcGluawAvc3ZnL2RlZXBza3libHVlAC9zdmcvZGltZ3JheQAvc3ZnL2RpbWdyZXkAL3N2Zy9kb2RnZXJibHVlAC9zdmcvZmlyZWJyaWNrAC9zdmcvZmxvcmFsd2hpdGUAL3N2Zy9mb3Jlc3RncmVlbgAvc3ZnL2Z1Y2hzaWEAL3N2Zy9nYWluc2Jvcm8AL3N2Zy9naG9zdHdoaXRlAC9zdmcvZ29sZAAvc3ZnL2dvbGRlbnJvZAAvc3ZnL2dyYXkAL3N2Zy9ncmVlbgAvc3ZnL2dyZWVueWVsbG93AC9zdmcvZ3JleQAvc3ZnL2hvbmV5ZGV3AC9zdmcvaG90cGluawAvc3ZnL2luZGlhbnJlZAAvc3ZnL2luZGlnbwAvc3ZnL2l2b3J5AC9zdmcva2hha2kAL3N2Zy9sYXZlbmRlcgAvc3ZnL2xhdmVuZGVyYmx1c2gAL3N2Zy9sYXduZ3JlZW4AL3N2Zy9sZW1vbmNoaWZmb24AL3N2Zy9saWdodGJsdWUAL3N2Zy9saWdodGNvcmFsAC9zdmcvbGlnaHRjeWFuAC9zdmcvbGlnaHRnb2xkZW5yb2R5ZWxsb3cAL3N2Zy9saWdodGdyYXkAL3N2Zy9saWdodGdyZWVuAC9zdmcvbGlnaHRncmV5AC9zdmcvbGlnaHRwaW5rAC9zdmcvbGlnaHRzYWxtb24AL3N2Zy9saWdodHNlYWdyZWVuAC9zdmcvbGlnaHRza3libHVlAC9zdmcvbGlnaHRzbGF0ZWdyYXkAL3N2Zy9saWdodHNsYXRlZ3JleQAvc3ZnL2xpZ2h0c3RlZWxibHVlAC9zdmcvbGlnaHR5ZWxsb3cAL3N2Zy9saW1lAC9zdmcvbGltZWdyZWVuAC9zdmcvbGluZW4AL3N2Zy9tYWdlbnRhAC9zdmcvbWFyb29uAC9zdmcvbWVkaXVtYXF1YW1hcmluZQAvc3ZnL21lZGl1bWJsdWUAL3N2Zy9tZWRpdW1vcmNoaWQAL3N2Zy9tZWRpdW1wdXJwbGUAL3N2Zy9tZWRpdW1zZWFncmVlbgAvc3ZnL21lZGl1bXNsYXRlYmx1ZQAvc3ZnL21lZGl1bXNwcmluZ2dyZWVuAC9zdmcvbWVkaXVtdHVycXVvaXNlAC9zdmcvbWVkaXVtdmlvbGV0cmVkAC9zdmcvbWlkbmlnaHRibHVlAC9zdmcvbWludGNyZWFtAC9zdmcvbWlzdHlyb3NlAC9zdmcvbW9jY2FzaW4AL3N2Zy9uYXZham93aGl0ZQAvc3ZnL25hdnkAL3N2Zy9vbGRsYWNlAC9zdmcvb2xpdmUAL3N2Zy9vbGl2ZWRyYWIAL3N2Zy9vcmFuZ2UAL3N2Zy9vcmFuZ2VyZWQAL3N2Zy9vcmNoaWQAL3N2Zy9wYWxlZ29sZGVucm9kAC9zdmcvcGFsZWdyZWVuAC9zdmcvcGFsZXR1cnF1b2lzZQAvc3ZnL3BhbGV2aW9sZXRyZWQAL3N2Zy9wYXBheWF3aGlwAC9zdmcvcGVhY2hwdWZmAC9zdmcvcGVydQAvc3ZnL3BpbmsAL3N2Zy9wbHVtAC9zdmcvcG93ZGVyYmx1ZQAvc3ZnL3B1cnBsZQAvc3ZnL3JlZAAvc3ZnL3Jvc3licm93bgAvc3ZnL3JveWFsYmx1ZQAvc3ZnL3NhZGRsZWJyb3duAC9zdmcvc2FsbW9uAC9zdmcvc2FuZHlicm93bgAvc3ZnL3NlYWdyZWVuAC9zdmcvc2Vhc2hlbGwAL3N2Zy9zaWVubmEAL3N2Zy9zaWx2ZXIAL3N2Zy9za3libHVlAC9zdmcvc2xhdGVibHVlAC9zdmcvc2xhdGVncmF5AC9zdmcvc2xhdGVncmV5AC9zdmcvc25vdwAvc3ZnL3NwcmluZ2dyZWVuAC9zdmcvc3RlZWxibHVlAC9zdmcvdGFuAC9zdmcvdGVhbAAvc3ZnL3RoaXN0bGUAL3N2Zy90b21hdG8AL3N2Zy90dXJxdW9pc2UAL3N2Zy92aW9sZXQAL3N2Zy93aGVhdAAvc3ZnL3doaXRlAC9zdmcvd2hpdGVzbW9rZQAvc3ZnL3llbGxvdwAvc3ZnL3llbGxvd2dyZWVuAC95bGduMy8xAC95bGduMy8yAC95bGduMy8zAC95bGduNC8xAC95bGduNC8yAC95bGduNC8zAC95bGduNC80AC95bGduNS8xAC95bGduNS8yAC95bGduNS8zAC95bGduNS80AC95bGduNS81AC95bGduNi8xAC95bGduNi8yAC95bGduNi8zAC95bGduNi80AC95bGduNi81AC95bGduNi82AC95bGduNy8xAC95bGduNy8yAC95bGduNy8zAC95bGduNy80AC95bGduNy81AC95bGduNy82AC95bGduNy83AC95bGduOC8xAC95bGduOC8yAC95bGduOC8zAC95bGduOC80AC95bGduOC81AC95bGduOC82AC95bGduOC83AC95bGduOC84AC95bGduOS8xAC95bGduOS8yAC95bGduOS8zAC95bGduOS80AC95bGduOS81AC95bGduOS82AC95bGduOS83AC95bGduOS84AC95bGduOS85AC95bGduYnUzLzEAL3lsZ25idTMvMgAveWxnbmJ1My8zAC95bGduYnU0LzEAL3lsZ25idTQvMgAveWxnbmJ1NC8zAC95bGduYnU0LzQAL3lsZ25idTUvMQAveWxnbmJ1NS8yAC95bGduYnU1LzMAL3lsZ25idTUvNAAveWxnbmJ1NS81AC95bGduYnU2LzEAL3lsZ25idTYvMgAveWxnbmJ1Ni8zAC95bGduYnU2LzQAL3lsZ25idTYvNQAveWxnbmJ1Ni82AC95bGduYnU3LzEAL3lsZ25idTcvMgAveWxnbmJ1Ny8zAC95bGduYnU3LzQAL3lsZ25idTcvNQAveWxnbmJ1Ny82AC95bGduYnU3LzcAL3lsZ25idTgvMQAveWxnbmJ1OC8yAC95bGduYnU4LzMAL3lsZ25idTgvNAAveWxnbmJ1OC81AC95bGduYnU4LzYAL3lsZ25idTgvNwAveWxnbmJ1OC84AC95bGduYnU5LzEAL3lsZ25idTkvMgAveWxnbmJ1OS8zAC95bGduYnU5LzQAL3lsZ25idTkvNQAveWxnbmJ1OS82AC95bGduYnU5LzcAL3lsZ25idTkvOAAveWxnbmJ1OS85AC95bG9yYnIzLzEAL3lsb3JicjMvMgAveWxvcmJyMy8zAC95bG9yYnI0LzEAL3lsb3JicjQvMgAveWxvcmJyNC8zAC95bG9yYnI0LzQAL3lsb3JicjUvMQAveWxvcmJyNS8yAC95bG9yYnI1LzMAL3lsb3JicjUvNAAveWxvcmJyNS81AC95bG9yYnI2LzEAL3lsb3JicjYvMgAveWxvcmJyNi8zAC95bG9yYnI2LzQAL3lsb3JicjYvNQAveWxvcmJyNi82AC95bG9yYnI3LzEAL3lsb3JicjcvMgAveWxvcmJyNy8zAC95bG9yYnI3LzQAL3lsb3JicjcvNQAveWxvcmJyNy82AC95bG9yYnI3LzcAL3lsb3JicjgvMQAveWxvcmJyOC8yAC95bG9yYnI4LzMAL3lsb3JicjgvNAAveWxvcmJyOC81AC95bG9yYnI4LzYAL3lsb3JicjgvNwAveWxvcmJyOC84AC95bG9yYnI5LzEAL3lsb3JicjkvMgAveWxvcmJyOS8zAC95bG9yYnI5LzQAL3lsb3JicjkvNQAveWxvcmJyOS82AC95bG9yYnI5LzcAL3lsb3JicjkvOAAveWxvcmJyOS85AC95bG9ycmQzLzEAL3lsb3JyZDMvMgAveWxvcnJkMy8zAC95bG9ycmQ0LzEAL3lsb3JyZDQvMgAveWxvcnJkNC8zAC95bG9ycmQ0LzQAL3lsb3JyZDUvMQAveWxvcnJkNS8yAC95bG9ycmQ1LzMAL3lsb3JyZDUvNAAveWxvcnJkNS81AC95bG9ycmQ2LzEAL3lsb3JyZDYvMgAveWxvcnJkNi8zAC95bG9ycmQ2LzQAL3lsb3JyZDYvNQAveWxvcnJkNi82AC95bG9ycmQ3LzEAL3lsb3JyZDcvMgAveWxvcnJkNy8zAC95bG9ycmQ3LzQAL3lsb3JyZDcvNQAveWxvcnJkNy82AC95bG9ycmQ3LzcAL3lsb3JyZDgvMQAveWxvcnJkOC8yAC95bG9ycmQ4LzMAL3lsb3JyZDgvNAAveWxvcnJkOC81AC95bG9ycmQ4LzYAL3lsb3JyZDgvNwAveWxvcnJkOC84AC95bG9ycmQ5LzEAL3lsb3JyZDkvMgAveWxvcnJkOS8zAC95bG9ycmQ5LzQAL3lsb3JyZDkvNQAveWxvcnJkOS82AC95bG9ycmQ5LzcAL3lsb3JyZDkvOAAveWxvcnJkOS85AGFsaWNlYmx1ZQBhbnRpcXVld2hpdGUAYW50aXF1ZXdoaXRlMQBhbnRpcXVld2hpdGUyAGFudGlxdWV3aGl0ZTMAYW50aXF1ZXdoaXRlNABhcXVhbWFyaW5lAGFxdWFtYXJpbmUxAGFxdWFtYXJpbmUyAGFxdWFtYXJpbmUzAGFxdWFtYXJpbmU0AGF6dXJlAGF6dXJlMQBhenVyZTIAYXp1cmUzAGF6dXJlNABiZWlnZQBiaXNxdWUAYmlzcXVlMQBiaXNxdWUyAGJpc3F1ZTMAYmlzcXVlNABibGFuY2hlZGFsbW9uZABibHVlAGJsdWUxAGJsdWUyAGJsdWUzAGJsdWU0AGJsdWV2aW9sZXQAYnJvd24AYnJvd24xAGJyb3duMgBicm93bjMAYnJvd240AGJ1cmx5d29vZABidXJseXdvb2QxAGJ1cmx5d29vZDIAYnVybHl3b29kMwBidXJseXdvb2Q0AGNhZGV0Ymx1ZQBjYWRldGJsdWUxAGNhZGV0Ymx1ZTIAY2FkZXRibHVlMwBjYWRldGJsdWU0AGNoYXJ0cmV1c2UAY2hhcnRyZXVzZTEAY2hhcnRyZXVzZTIAY2hhcnRyZXVzZTMAY2hhcnRyZXVzZTQAY2hvY29sYXRlAGNob2NvbGF0ZTEAY2hvY29sYXRlMgBjaG9jb2xhdGUzAGNob2NvbGF0ZTQAY29yYWwAY29yYWwxAGNvcmFsMgBjb3JhbDMAY29yYWw0AGNvcm5mbG93ZXJibHVlAGNvcm5zaWxrAGNvcm5zaWxrMQBjb3Juc2lsazIAY29ybnNpbGszAGNvcm5zaWxrNABjcmltc29uAGN5YW4AY3lhbjEAY3lhbjIAY3lhbjMAY3lhbjQAZGFya2dvbGRlbnJvZABkYXJrZ29sZGVucm9kMQBkYXJrZ29sZGVucm9kMgBkYXJrZ29sZGVucm9kMwBkYXJrZ29sZGVucm9kNABkYXJrZ3JlZW4AZGFya2toYWtpAGRhcmtvbGl2ZWdyZWVuAGRhcmtvbGl2ZWdyZWVuMQBkYXJrb2xpdmVncmVlbjIAZGFya29saXZlZ3JlZW4zAGRhcmtvbGl2ZWdyZWVuNABkYXJrb3JhbmdlAGRhcmtvcmFuZ2UxAGRhcmtvcmFuZ2UyAGRhcmtvcmFuZ2UzAGRhcmtvcmFuZ2U0AGRhcmtvcmNoaWQAZGFya29yY2hpZDEAZGFya29yY2hpZDIAZGFya29yY2hpZDMAZGFya29yY2hpZDQAZGFya3NhbG1vbgBkYXJrc2VhZ3JlZW4AZGFya3NlYWdyZWVuMQBkYXJrc2VhZ3JlZW4yAGRhcmtzZWFncmVlbjMAZGFya3NlYWdyZWVuNABkYXJrc2xhdGVibHVlAGRhcmtzbGF0ZWdyYXkAZGFya3NsYXRlZ3JheTEAZGFya3NsYXRlZ3JheTIAZGFya3NsYXRlZ3JheTMAZGFya3NsYXRlZ3JheTQAZGFya3NsYXRlZ3JleQBkYXJrdHVycXVvaXNlAGRhcmt2aW9sZXQAZGVlcHBpbmsAZGVlcHBpbmsxAGRlZXBwaW5rMgBkZWVwcGluazMAZGVlcHBpbms0AGRlZXBza3libHVlAGRlZXBza3libHVlMQBkZWVwc2t5Ymx1ZTIAZGVlcHNreWJsdWUzAGRlZXBza3libHVlNABkaW1ncmF5AGRpbWdyZXkAZG9kZ2VyYmx1ZQBkb2RnZXJibHVlMQBkb2RnZXJibHVlMgBkb2RnZXJibHVlMwBkb2RnZXJibHVlNABmaXJlYnJpY2sAZmlyZWJyaWNrMQBmaXJlYnJpY2syAGZpcmVicmljazMAZmlyZWJyaWNrNABmbG9yYWx3aGl0ZQBmb3Jlc3RncmVlbgBnYWluc2Jvcm8AZ2hvc3R3aGl0ZQBnb2xkAGdvbGQxAGdvbGQyAGdvbGQzAGdvbGQ0AGdvbGRlbnJvZABnb2xkZW5yb2QxAGdvbGRlbnJvZDIAZ29sZGVucm9kMwBnb2xkZW5yb2Q0AGdyYXkAZ3JheTAAZ3JheTEAZ3JheTEwAGdyYXkxMDAAZ3JheTExAGdyYXkxMgBncmF5MTMAZ3JheTE0AGdyYXkxNQBncmF5MTYAZ3JheTE3AGdyYXkxOABncmF5MTkAZ3JheTIAZ3JheTIwAGdyYXkyMQBncmF5MjIAZ3JheTIzAGdyYXkyNABncmF5MjUAZ3JheTI2AGdyYXkyNwBncmF5MjgAZ3JheTI5AGdyYXkzAGdyYXkzMABncmF5MzEAZ3JheTMyAGdyYXkzMwBncmF5MzQAZ3JheTM1AGdyYXkzNgBncmF5MzcAZ3JheTM4AGdyYXkzOQBncmF5NABncmF5NDAAZ3JheTQxAGdyYXk0MgBncmF5NDMAZ3JheTQ0AGdyYXk0NQBncmF5NDYAZ3JheTQ3AGdyYXk0OABncmF5NDkAZ3JheTUAZ3JheTUwAGdyYXk1MQBncmF5NTIAZ3JheTUzAGdyYXk1NABncmF5NTUAZ3JheTU2AGdyYXk1NwBncmF5NTgAZ3JheTU5AGdyYXk2AGdyYXk2MABncmF5NjEAZ3JheTYyAGdyYXk2MwBncmF5NjQAZ3JheTY1AGdyYXk2NgBncmF5NjcAZ3JheTY4AGdyYXk2OQBncmF5NwBncmF5NzAAZ3JheTcxAGdyYXk3MgBncmF5NzMAZ3JheTc0AGdyYXk3NQBncmF5NzYAZ3JheTc3AGdyYXk3OABncmF5NzkAZ3JheTgAZ3JheTgwAGdyYXk4MQBncmF5ODIAZ3JheTgzAGdyYXk4NABncmF5ODUAZ3JheTg2AGdyYXk4NwBncmF5ODgAZ3JheTg5AGdyYXk5AGdyYXk5MABncmF5OTEAZ3JheTkyAGdyYXk5MwBncmF5OTQAZ3JheTk1AGdyYXk5NgBncmF5OTcAZ3JheTk4AGdyYXk5OQBncmVlbgBncmVlbjEAZ3JlZW4yAGdyZWVuMwBncmVlbjQAZ3JlZW55ZWxsb3cAZ3JleQBncmV5MABncmV5MQBncmV5MTAAZ3JleTEwMABncmV5MTEAZ3JleTEyAGdyZXkxMwBncmV5MTQAZ3JleTE1AGdyZXkxNgBncmV5MTcAZ3JleTE4AGdyZXkxOQBncmV5MgBncmV5MjAAZ3JleTIxAGdyZXkyMgBncmV5MjMAZ3JleTI0AGdyZXkyNQBncmV5MjYAZ3JleTI3AGdyZXkyOABncmV5MjkAZ3JleTMAZ3JleTMwAGdyZXkzMQBncmV5MzIAZ3JleTMzAGdyZXkzNABncmV5MzUAZ3JleTM2AGdyZXkzNwBncmV5MzgAZ3JleTM5AGdyZXk0AGdyZXk0MABncmV5NDEAZ3JleTQyAGdyZXk0MwBncmV5NDQAZ3JleTQ1AGdyZXk0NgBncmV5NDcAZ3JleTQ4AGdyZXk0OQBncmV5NQBncmV5NTAAZ3JleTUxAGdyZXk1MgBncmV5NTMAZ3JleTU0AGdyZXk1NQBncmV5NTYAZ3JleTU3AGdyZXk1OABncmV5NTkAZ3JleTYAZ3JleTYwAGdyZXk2MQBncmV5NjIAZ3JleTYzAGdyZXk2NABncmV5NjUAZ3JleTY2AGdyZXk2NwBncmV5NjgAZ3JleTY5AGdyZXk3AGdyZXk3MABncmV5NzEAZ3JleTcyAGdyZXk3MwBncmV5NzQAZ3JleTc1AGdyZXk3NgBncmV5NzcAZ3JleTc4AGdyZXk3OQBncmV5OABncmV5ODAAZ3JleTgxAGdyZXk4MgBncmV5ODMAZ3JleTg0AGdyZXk4NQBncmV5ODYAZ3JleTg3AGdyZXk4OABncmV5ODkAZ3JleTkAZ3JleTkwAGdyZXk5MQBncmV5OTIAZ3JleTkzAGdyZXk5NABncmV5OTUAZ3JleTk2AGdyZXk5NwBncmV5OTgAZ3JleTk5AGhvbmV5ZGV3AGhvbmV5ZGV3MQBob25leWRldzIAaG9uZXlkZXczAGhvbmV5ZGV3NABob3RwaW5rAGhvdHBpbmsxAGhvdHBpbmsyAGhvdHBpbmszAGhvdHBpbms0AGluZGlhbnJlZABpbmRpYW5yZWQxAGluZGlhbnJlZDIAaW5kaWFucmVkMwBpbmRpYW5yZWQ0AGluZGlnbwBpbnZpcwBpdm9yeQBpdm9yeTEAaXZvcnkyAGl2b3J5MwBpdm9yeTQAa2hha2kAa2hha2kxAGtoYWtpMgBraGFraTMAa2hha2k0AGxhdmVuZGVyAGxhdmVuZGVyYmx1c2gAbGF2ZW5kZXJibHVzaDEAbGF2ZW5kZXJibHVzaDIAbGF2ZW5kZXJibHVzaDMAbGF2ZW5kZXJibHVzaDQAbGF3bmdyZWVuAGxlbW9uY2hpZmZvbgBsZW1vbmNoaWZmb24xAGxlbW9uY2hpZmZvbjIAbGVtb25jaGlmZm9uMwBsZW1vbmNoaWZmb240AGxpZ2h0Ymx1ZQBsaWdodGJsdWUxAGxpZ2h0Ymx1ZTIAbGlnaHRibHVlMwBsaWdodGJsdWU0AGxpZ2h0Y29yYWwAbGlnaHRjeWFuAGxpZ2h0Y3lhbjEAbGlnaHRjeWFuMgBsaWdodGN5YW4zAGxpZ2h0Y3lhbjQAbGlnaHRnb2xkZW5yb2QAbGlnaHRnb2xkZW5yb2QxAGxpZ2h0Z29sZGVucm9kMgBsaWdodGdvbGRlbnJvZDMAbGlnaHRnb2xkZW5yb2Q0AGxpZ2h0Z29sZGVucm9keWVsbG93AGxpZ2h0Z3JheQBsaWdodGdyZXkAbGlnaHRwaW5rAGxpZ2h0cGluazEAbGlnaHRwaW5rMgBsaWdodHBpbmszAGxpZ2h0cGluazQAbGlnaHRzYWxtb24AbGlnaHRzYWxtb24xAGxpZ2h0c2FsbW9uMgBsaWdodHNhbG1vbjMAbGlnaHRzYWxtb240AGxpZ2h0c2VhZ3JlZW4AbGlnaHRza3libHVlAGxpZ2h0c2t5Ymx1ZTEAbGlnaHRza3libHVlMgBsaWdodHNreWJsdWUzAGxpZ2h0c2t5Ymx1ZTQAbGlnaHRzbGF0ZWJsdWUAbGlnaHRzbGF0ZWdyYXkAbGlnaHRzbGF0ZWdyZXkAbGlnaHRzdGVlbGJsdWUAbGlnaHRzdGVlbGJsdWUxAGxpZ2h0c3RlZWxibHVlMgBsaWdodHN0ZWVsYmx1ZTMAbGlnaHRzdGVlbGJsdWU0AGxpZ2h0eWVsbG93AGxpZ2h0eWVsbG93MQBsaWdodHllbGxvdzIAbGlnaHR5ZWxsb3czAGxpZ2h0eWVsbG93NABsaW1lZ3JlZW4AbGluZW4AbWFnZW50YQBtYWdlbnRhMQBtYWdlbnRhMgBtYWdlbnRhMwBtYWdlbnRhNABtYXJvb24AbWFyb29uMQBtYXJvb24yAG1hcm9vbjMAbWFyb29uNABtZWRpdW1hcXVhbWFyaW5lAG1lZGl1bWJsdWUAbWVkaXVtb3JjaGlkAG1lZGl1bW9yY2hpZDEAbWVkaXVtb3JjaGlkMgBtZWRpdW1vcmNoaWQzAG1lZGl1bW9yY2hpZDQAbWVkaXVtcHVycGxlAG1lZGl1bXB1cnBsZTEAbWVkaXVtcHVycGxlMgBtZWRpdW1wdXJwbGUzAG1lZGl1bXB1cnBsZTQAbWVkaXVtc2VhZ3JlZW4AbWVkaXVtc2xhdGVibHVlAG1lZGl1bXNwcmluZ2dyZWVuAG1lZGl1bXR1cnF1b2lzZQBtZWRpdW12aW9sZXRyZWQAbWlkbmlnaHRibHVlAG1pbnRjcmVhbQBtaXN0eXJvc2UAbWlzdHlyb3NlMQBtaXN0eXJvc2UyAG1pc3R5cm9zZTMAbWlzdHlyb3NlNABtb2NjYXNpbgBuYXZham93aGl0ZQBuYXZham93aGl0ZTEAbmF2YWpvd2hpdGUyAG5hdmFqb3doaXRlMwBuYXZham93aGl0ZTQAbmF2eQBuYXZ5Ymx1ZQBub25lAG9sZGxhY2UAb2xpdmVkcmFiAG9saXZlZHJhYjEAb2xpdmVkcmFiMgBvbGl2ZWRyYWIzAG9saXZlZHJhYjQAb3JhbmdlAG9yYW5nZTEAb3JhbmdlMgBvcmFuZ2UzAG9yYW5nZTQAb3JhbmdlcmVkAG9yYW5nZXJlZDEAb3JhbmdlcmVkMgBvcmFuZ2VyZWQzAG9yYW5nZXJlZDQAb3JjaGlkAG9yY2hpZDEAb3JjaGlkMgBvcmNoaWQzAG9yY2hpZDQAcGFsZWdvbGRlbnJvZABwYWxlZ3JlZW4AcGFsZWdyZWVuMQBwYWxlZ3JlZW4yAHBhbGVncmVlbjMAcGFsZWdyZWVuNABwYWxldHVycXVvaXNlAHBhbGV0dXJxdW9pc2UxAHBhbGV0dXJxdW9pc2UyAHBhbGV0dXJxdW9pc2UzAHBhbGV0dXJxdW9pc2U0AHBhbGV2aW9sZXRyZWQAcGFsZXZpb2xldHJlZDEAcGFsZXZpb2xldHJlZDIAcGFsZXZpb2xldHJlZDMAcGFsZXZpb2xldHJlZDQAcGFwYXlhd2hpcABwZWFjaHB1ZmYAcGVhY2hwdWZmMQBwZWFjaHB1ZmYyAHBlYWNocHVmZjMAcGVhY2hwdWZmNABwZXJ1AHBpbmsAcGluazEAcGluazIAcGluazMAcGluazQAcGx1bQBwbHVtMQBwbHVtMgBwbHVtMwBwbHVtNABwb3dkZXJibHVlAHB1cnBsZQBwdXJwbGUxAHB1cnBsZTIAcHVycGxlMwBwdXJwbGU0AHJlZAByZWQxAHJlZDIAcmVkMwByZWQ0AHJvc3licm93bgByb3N5YnJvd24xAHJvc3licm93bjIAcm9zeWJyb3duMwByb3N5YnJvd240AHJveWFsYmx1ZQByb3lhbGJsdWUxAHJveWFsYmx1ZTIAcm95YWxibHVlMwByb3lhbGJsdWU0AHNhZGRsZWJyb3duAHNhbG1vbgBzYWxtb24xAHNhbG1vbjIAc2FsbW9uMwBzYWxtb240AHNhbmR5YnJvd24Ac2VhZ3JlZW4Ac2VhZ3JlZW4xAHNlYWdyZWVuMgBzZWFncmVlbjMAc2VhZ3JlZW40AHNlYXNoZWxsAHNlYXNoZWxsMQBzZWFzaGVsbDIAc2Vhc2hlbGwzAHNlYXNoZWxsNABzaWVubmEAc2llbm5hMQBzaWVubmEyAHNpZW5uYTMAc2llbm5hNABza3libHVlAHNreWJsdWUxAHNreWJsdWUyAHNreWJsdWUzAHNreWJsdWU0AHNsYXRlYmx1ZQBzbGF0ZWJsdWUxAHNsYXRlYmx1ZTIAc2xhdGVibHVlMwBzbGF0ZWJsdWU0AHNsYXRlZ3JheQBzbGF0ZWdyYXkxAHNsYXRlZ3JheTIAc2xhdGVncmF5MwBzbGF0ZWdyYXk0AHNsYXRlZ3JleQBzbm93AHNub3cxAHNub3cyAHNub3czAHNub3c0AHNwcmluZ2dyZWVuAHNwcmluZ2dyZWVuMQBzcHJpbmdncmVlbjIAc3ByaW5nZ3JlZW4zAHNwcmluZ2dyZWVuNABzdGVlbGJsdWUAc3RlZWxibHVlMQBzdGVlbGJsdWUyAHN0ZWVsYmx1ZTMAc3RlZWxibHVlNAB0YW4AdGFuMQB0YW4yAHRhbjMAdGFuNAB0aGlzdGxlAHRoaXN0bGUxAHRoaXN0bGUyAHRoaXN0bGUzAHRoaXN0bGU0AHRvbWF0bwB0b21hdG8xAHRvbWF0bzIAdG9tYXRvMwB0b21hdG80AHR1cnF1b2lzZQB0dXJxdW9pc2UxAHR1cnF1b2lzZTIAdHVycXVvaXNlMwB0dXJxdW9pc2U0AHZpb2xldAB2aW9sZXRyZWQAdmlvbGV0cmVkMQB2aW9sZXRyZWQyAHZpb2xldHJlZDMAdmlvbGV0cmVkNAB3aGVhdAB3aGVhdDEAd2hlYXQyAHdoZWF0MwB3aGVhdDQAd2hpdGUAd2hpdGVzbW9rZQB5ZWxsb3cAeWVsbG93MQB5ZWxsb3cyAHllbGxvdzMAeWVsbG93NAB5ZWxsb3dncmVlbgBsYWNrAGhpdGUAaWdodGdyZXkAWDExLwAvJXMvJXMAaW1hZ2VzY2FsZQBmYWxzZQBibGFjawBkb3R0ZWQAZGFzaGVkAGNwLT5zcmMAaHRtbHRhYmxlLmMAZW1pdF9odG1sX2ltZwBjcC0+c3JjWzBdAHRyYW5zcGFyZW50AF8lZAAlZAAyADMANAA1ADYANwA4ADkAMTAAMTEAMTIAMTMAMTQAMTUAMTYAMTcAMTgAMTkAMjAAQWdub2RlaW5mb190AEFnZWRnZWluZm9fdAByb3dnAGNvbGcAQWdyYXBoaW5mb190AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IALT4AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpbWVtb3J5IGV4aGF1c3RlZAAlcyBpbiBsaW5lICVkIAoALi4uICVzIC4uLgoAVEFCTEUAVFIAVEgAVEQASFRNTABGT05UAEIAVQBPAEkAU1VQAFNVQgBTAEJSAEhSAFZSAElNRwBVbmtub3duIEhUTUwgZWxlbWVudCA8JXM+IG9uIGxpbmUgJWQgCgA8SU1HPgBJbGxlZ2FsIGF0dHJpYnV0ZSAlcyBpbiAlcyAtIGlnbm9yZWQKAHNjYWxlAHNyYwA8QlI+AGFsaWduAElHSFQARUZUAEVOVEVSAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIC0gaWdub3JlZAoAPEZPTlQ+AGNvbG9yAGZhY2UAcG9pbnQtc2l6ZQBQT0lOVC1TSVpFAEltcHJvcGVyICVzIHZhbHVlICVzIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA+ICVkIC0gdG9vIGxhcmdlIC0gaWdub3JlZAAlcyB2YWx1ZSAlcyA8ICVkIC0gdG9vIHNtYWxsIC0gaWdub3JlZAA8VEQ+AGJhbGlnbgBiZ2NvbG9yAGJvcmRlcgBjZWxscGFkZGluZwBjZWxsc3BhY2luZwBjb2xzcGFuAGZpeGVkc2l6ZQBncmFkaWVudGFuZ2xlAGhlaWdodABocmVmAGlkAHBvcnQAcm93c3BhbgBzaWRlcwBzdHlsZQB0YXJnZXQAdGl0bGUAdG9vbHRpcAB2YWxpZ24Ad2lkdGgAV0lEVEgAT1RUT00AT1AASURETEUASWxsZWdhbCB2YWx1ZSAlcyBmb3IgVkFMSUdOIC0gaWdub3JlZAoAICwAT1VOREVEAEFESUFMAElsbGVnYWwgdmFsdWUgJXMgZm9yIFNUWUxFIC0gaWdub3JlZAoAU09MSUQASU5WSVNJQkxFAElOVklTAERPVFRFRABEQVNIRUQAVW5yZWNvZ25pemVkIGNoYXJhY3RlciAnJWMnICglZCkgaW4gc2lkZXMgYXR0cmlidXRlCgBST1dTUEFOAFJPV1NQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBIRUlHSFQAR1JBRElFTlRBTkdMRQBSVUUAQUxTRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBGSVhFRFNJWkUgLSBpZ25vcmVkCgBDT0xTUEFOAENPTFNQQU4gdmFsdWUgY2Fubm90IGJlIDAgLSBpZ25vcmVkCgBDRUxMU1BBQ0lORwBDRUxMUEFERElORwBCT1JERVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQkFMSUdOIGluIFREIC0gaWdub3JlZAoARVhUAElsbGVnYWwgdmFsdWUgJXMgZm9yIEFMSUdOIGluIFREIC0gaWdub3JlZAoAPFRBQkxFPgBjZWxsYm9yZGVyAGNvbHVtbnMAcm93cwBVbmtub3duIHZhbHVlICVzIGZvciBST1dTIC0gaWdub3JlZAoAVW5rbm93biB2YWx1ZSAlcyBmb3IgQ09MVU1OUyAtIGlnbm9yZWQKAENFTExTQk9SREVSADxIVE1MPgA8L0hUTUw+AC0tAExhYmVsIGNsb3NlZCBiZWZvcmUgZW5kIG9mIEhUTUwgZWxlbWVudAoAVW5jbG9zZWQgY29tbWVudAoAaiA9PSAwAGN2dC5jAFBvYnNwYXRoAHJvdXRlLmMAbGlicGF0aC8lczolZDogJXMKAHNob3J0ZXN0LmMAc291cmNlIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAZGVzdGluYXRpb24gcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBjYW5ub3QgZmluZCB0cmlhbmdsZSBwYXRoAGNhbm5vdCBtYWxsb2Mgb3BzAGNhbm5vdCByZWFsbG9jIG9wcwB0cmlhbmd1bGF0aW9uIGZhaWxlZABjYW5ub3QgbWFsbG9jIHRyaXMAY2Fubm90IHJlYWxsb2MgdHJpcwBjYW5ub3QgbWFsbG9jIGRxLnBubHMAY2Fubm90IHJlYWxsb2MgZHEucG5scwBjYW5ub3QgbWFsbG9jIHBubHMAY2Fubm90IG1hbGxvYyBwbmxwcwBjYW5ub3QgcmVhbGxvYyBwbmxzAGNhbm5vdCByZWFsbG9jIHBubHBzAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVFkARU5USVRJRVMATk1UT0tFTgBOTVRPS0VOUwBOT1RBVElPTigAKAB8AGh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZQBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLwB4bWw9aHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAC9kZXYvdXJhbmRvbQBmYWxsYmFjayg0KQBnZXR0aW1lb2ZkYXlfcmVzID09IDAAeG1scGFyc2UuYwBnYXRoZXJfdGltZV9lbnRyb3B5AEVYUEFUX0VOVFJPUFlfREVCVUcAMQBFbnRyb3B5OiAlcyAtLT4gMHglMCpseCAoJWx1IGJ5dGVzKQoAaW52YWxpZCBhcmd1bWVudABwcmVmaXggbXVzdCBub3QgYmUgYm91bmQgdG8gb25lIG9mIHRoZSByZXNlcnZlZCBuYW1lc3BhY2UgbmFtZXMAcmVzZXJ2ZWQgcHJlZml4ICh4bWxucykgbXVzdCBub3QgYmUgZGVjbGFyZWQgb3IgdW5kZWNsYXJlZAByZXNlcnZlZCBwcmVmaXggKHhtbCkgbXVzdCBub3QgYmUgdW5kZWNsYXJlZCBvciBib3VuZCB0byBhbm90aGVyIG5hbWVzcGFjZSBuYW1lAGNhbm5vdCBzdXNwZW5kIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHkAcGFyc2luZyBmaW5pc2hlZABwYXJzaW5nIGFib3J0ZWQAcGFyc2VyIG5vdCBzdXNwZW5kZWQAcGFyc2VyIHN1c3BlbmRlZABpbGxlZ2FsIGNoYXJhY3RlcihzKSBpbiBwdWJsaWMgaWQAdGV4dCBkZWNsYXJhdGlvbiBub3Qgd2VsbC1mb3JtZWQAWE1MIGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABpbmNvbXBsZXRlIG1hcmt1cCBpbiBwYXJhbWV0ZXIgZW50aXR5AG11c3Qgbm90IHVuZGVjbGFyZSBwcmVmaXgAdW5ib3VuZCBwcmVmaXgAY2Fubm90IGNoYW5nZSBzZXR0aW5nIG9uY2UgcGFyc2luZyBoYXMgYmVndW4AcmVxdWVzdGVkIGZlYXR1cmUgcmVxdWlyZXMgWE1MX0RURCBzdXBwb3J0IGluIEV4cGF0AGVudGl0eSBkZWNsYXJlZCBpbiBwYXJhbWV0ZXIgZW50aXR5AHVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlIC0gcGxlYXNlIHNlbmQgYSBidWcgcmVwb3J0AGRvY3VtZW50IGlzIG5vdCBzdGFuZGFsb25lAGVycm9yIGluIHByb2Nlc3NpbmcgZXh0ZXJuYWwgZW50aXR5IHJlZmVyZW5jZQB1bmNsb3NlZCBDREFUQSBzZWN0aW9uAGVuY29kaW5nIHNwZWNpZmllZCBpbiBYTUwgZGVjbGFyYXRpb24gaXMgaW5jb3JyZWN0AHVua25vd24gZW5jb2RpbmcAWE1MIG9yIHRleHQgZGVjbGFyYXRpb24gbm90IGF0IHN0YXJ0IG9mIGVudGl0eQByZWZlcmVuY2UgdG8gZXh0ZXJuYWwgZW50aXR5IGluIGF0dHJpYnV0ZQByZWZlcmVuY2UgdG8gYmluYXJ5IGVudGl0eQByZWZlcmVuY2UgdG8gaW52YWxpZCBjaGFyYWN0ZXIgbnVtYmVyAGFzeW5jaHJvbm91cyBlbnRpdHkAcmVjdXJzaXZlIGVudGl0eSByZWZlcmVuY2UAdW5kZWZpbmVkIGVudGl0eQBpbGxlZ2FsIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlAGp1bmsgYWZ0ZXIgZG9jdW1lbnQgZWxlbWVudABkdXBsaWNhdGUgYXR0cmlidXRlAG1pc21hdGNoZWQgdGFnAHBhcnRpYWwgY2hhcmFjdGVyAHVuY2xvc2VkIHRva2VuAG5vdCB3ZWxsLWZvcm1lZCAoaW52YWxpZCB0b2tlbikAbm8gZWxlbWVudCBmb3VuZABzeW50YXggZXJyb3IAb3V0IG9mIG1lbW9yeQACAwQFBgcIAAAJCgsMDQ4PEBEAAAAAAAAAAAAAAAASEwAUAAAAAAAAAAAAAAAAAAAVFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQMaGxwdHgAAHyAhIiMkJRARAAAAAAAAAAAAAAAAEhMmFAAAAAAAAAAAAAAAAAAAJxYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFwAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENEQVRBW1VTLUFTQ0lJAFVURi0xNgBVVEYtMTZCRQBVVEYtMTZMRQB2ZXJzaW9uAGVuY29kaW5nAHN0YW5kYWxvbmUARE9DVFlQRQBTWVNURU0AUFVCTElDAEVOVElUWQBBVFRMSVNUAEVMRU1FTlQATk9UQVRJT04ASU5DTFVERQBJR05PUkUARU1QVFkAQU5ZAFBDREFUQQBJTVBMSUVEAFJFUVVJUkVEAEZJWEVEAENEQVRBAElEAElEUkVGAElEUkVGUwBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5EQVRBAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAEhATFBUWFxgZGhscHR4fICEQECIjECQlJicoKSorECwtLhEvMBERMRERETIzNDU2Nzg5ERAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA6EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA7EDw9Pj9AQRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBCEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBDEBBEEEVGRxBIEEkQEBAQSktMTRAQThBPUBAQEBBREBAQEBAQEBAQEBAQEFIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBUVVZXEBBYWRAQEBAQEBAQEBAQEBAQEBAQEBAQEBBaEFtcXV5fYGFiEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAP7/APwBAAD4AQAAeAAAAAD/+9/7AACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8APz/4K//////////////3///////IECwAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAIb+////AEBJAAAAAAAYAN//AMgAAAAAAAAAAQA8AAAAAAAAAAAAAAAAEOABHgBg/78AAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAD4zwMAAAADACD/fwAAAE4AAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAQACAeADAAAQAAAAAAAAAAEAAgAAAAAPwPAAAAAAAAABAAIAAAAAAAAAAAAAAAAAAQACAAAAAAAwAAAAAAAAAAEAAgAAAAAP0AAAAAAAAAAAAAIAAAAAD/BwAAAAAAAAAAACAAAAAAAP8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAAAAAIAAAAAA/AgAAAAAAAAAAAAQAAAAAEAAAAAAAAIAAgMDfAAwAAAAAAAAAAAAAAAAAHwAAAAAAAP7///8A/P//AAAAAAAAAAD8AAAAAAAAwP/f/wcAAAAAAAAAAAAAgAYA/AAAGD4AAIC/AMwAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAGD///8fAAD/AwAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAEAABgAAAAAAAAAAAA4AAAAABAAAABwAAAAAAAAAAAAAAAAAAAAMAAA/n8vAAD/A/9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4xAAAAAAAAAAAAAAAAAAAAAAAAxP////8AAADAAAAAAAAAAAABAOCfAAAAAH8/AAAAAAAAAAAAAAAAAAAAABAAEAAA/P///x8AAAAAAAwAAAAAAABAAAzwAAAAAAAAwPgAAAAAAAAAwAAAAAAAAAAA/wD///8hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////fwAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAPgAOAA4ABggPj////8//////9/H/zxf/9/AAD///8DAAD/////AQB7A9DBr0IADB+8//8AAAAAAAL//////////////////////////////////////////////////////////w8A/////38AAAD/BwAA/////////////z8AAAAAAAD8///+/////////////////////////////////////////////////////x//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCHA/4AAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAP//////f/8PAAAAAAAAAAD////7/////////////w8A//////////////////////////////////8/AAAA/w8e////AfzB4AAAAAAAAAAAAAAAHgEAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAP////8PAAAA////f////////////////////////////////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAP///////38AAAAAAADAAOAAAAAAAAAAAAAAAIAPcAAAAAAAAAAAAAAAAAAA/wD//38AAwAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAEQIAAAAD/8DAAAAAAAA8AAAAAAAAAAAABDAAAD//wMHAAAAAAD4AAAAAAiAAAAAAAAAAAAAAAgA/z8AwAAAAAAAAAAAAAAAAAAAAPAAAIALAAAAAAAAAIACAADAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAD8/wMAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD///8DfwD/////9/9/DwAAAAAAAAAAAAAAAAAAAAAAgP7/APwBAAD4AQAA+D8AAAAAAAAAAAAAAAAAAAB/fwAwh///////j/8AAAAAAADg//8H/w8AAAAAAAD//////z8AAAAADwAAAAAAAAAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAAAAACA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAADAjwAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/8A/wEAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//P8/AAAAAwAAAAAAAP4DAAAAAAAAAAAAAAAAABgADwAAAAAAAAAAAAAAAAAAAOEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAA////////////////////////////////////////PwD/////f/7///////////////////////////8/AAAAAP//////////PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////38A//8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAAAACAAAIAAAACAAAIAAAACAAAAAAgAAAAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD//////w////////////////8PAP9//n/+//7/AAAAAP8H////f/////////8P//////8HAAAAAAAAAADA////BwD//////wf/AQMAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQC///////////8f//8PAP/////fBwAA//8BAP////////9//f////////////////////////////8e/////////z8PAP///wAAAAAAAAAAAAAAAAAAAAAAAPj//////////+H/AAAAAAAA//////////8/AAAAAAAAAP//////////////////DwAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIEBwMGBQASERMUFRYXGBkaGxwdHh8gIREiIyQRJSYnKCkqKywRLS4vEBAwEBAQEBAQEDEyMxA0NRAQERERERERERERERERERERERERERERERERETYRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE3ERERETgROTo7PD0+ERERERERERERERERERERERERERERERERERERERERERERERERERERERERET8QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARQEERQkNERUZHSEkQEBBKS0xNThAQEE9QEBAQEFEQEBAQEBAQEBARERFSUxAQEBAQEBAQEBAQEREREVQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAREVUQEBAQVhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBXEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBYWVpbEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFwQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9//////////////////////////////////8P/AwAfUAAAAAAAAAAAAAAgAAAAAADfPEDX///7////////////v///////////////////////A/z/////////////////////////AP7///9/Av7/////AAAAAAD/v7YA////BwcAAAD/B//////////+/8P////////////////vH/7h/58AAP///////wDg////////////////AwD//////wcwBP////z/HwAA////AQAAAAAAAAAA/R8AAAAAAADwA/9//////////+//3+H/z//+/u6f+f///cXjn1mAsM//AwDuh/n///1tw4cZAl7A/z8A7r/7///97eO/GwEAz/8AAO6f+f///e3jnxnAsM//AgDsxz3WGMf/w8cdgQDA/wAA7t/9///97+PfHWADz/8AAOzf/f///e/j3x1gQM//BgDs3/3/////599dgADP/wD87P9//P//+y9/gF//AAAMAP7/////f/8HPyD/AwAAAACWJfD+ruz/O18g//MAAAAAAQAAAP8DAAD//v///x/+/wP///7///8fAAAAAAAAAAD///////9/+f8D///nwf//f0D/M/////+/IP//////9////////////z1/Pf//////Pf////89fz3/f/////////89//////////+HAAAAAP//AAD/////////////HwD+//////////////////////////////////////////////////////////+f///+//8H////////////xwEA/98PAP//DwD//w8A/98NAP///////8///wGAEP8DAAAAAP8D//////////////8A//////8H//////////8/AP///x//D/8BwP////8/HwD//////w////8D/wMAAAAA////D/////////9//v8fAP8D/wOAAAAAAAAAAAAAAAD////////v/+8P/wMAAAAA///////z////////v/8DAP///////z8A/+P//////z8AAAAAAAAAAAAAAAAA3m8A////////////////////////////////AAAAAAAAAAD//z8//////z8//6r///8/////////31/cH88P/x/cHwAAAAAAAAAAAAAAAAAAAoAAAP8fAAAAAAAAAAAAAAAAhPwvPlC9//PgQwAA//////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP///////wMAAP//////f///////f/////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/f/////8AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAD+Az4f/v///////////3/g/v/////////////34P////8//v////////////9/AAD///8HAAAAAAAA////////////////////////////////PwAAAAAAAAAAAP////////////////////////////////8fAAAAAAAA//////////////////////8fAAAAAAAAAAD//////z//H////w8AAP//////f/CP////gP////////////8AAAAAgP/8////////////////eQ8A/wcAAAAAAAAAAAD/u/f///8AAAD///////8PAP//////////DwD/AwAA/Aj//////wf/////BwD///8f////////9/8AgP8DAAAAAP///////38A/z//A///fwT/////////fwUAADj//zwAfn5+AH9/AAAAAAAAAAAAAAAAAAAAAAAA//////8H/wP//////////////////////////w8A//9/+P//////D/////////////////8//////////////////wMAAAAAfwD44P/9f1/b/////////////////wMAAAD4////////////////PwAA///////////8////////AAAAAAD/DwAAAAAAAAAAAAAAAAAA3/////////////////////8fAAD/A/7//wf+//8HwP////////////9//Pz8HAAAAAD/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///x////////8BAAAAAAD///9/AAD///8HAAAAAAAA////P/////8P/z4AAAAAAP////////////////////////8//wMAAAAAAAAAAAAAP/3/////v5H//z8AAAAAAAAAAAAAAAAAAAAAAAAAAAD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//w8AAAAAAP///x8AAAAAAAAAAAAAAAAAAAAA////////PwD//z8A//8HAAAAAAAAAAAAAAAAAAAAAAD///////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/8AAAAAAAAAAP//////////HgD/AwAAAAAAAAAAAAAAAAAAAAAAAAAA////////PwD/AwAAAAAAAP////////////////9/AAAAAAAAAAAAAAAAAAAAAAAA////////////////BwAAAAAAAAAAAAAAAAAAAAAAAAD//////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8fAP//////fwAA+P8AAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////7////5b+9wqE6paqlvf3Xv/7/w/u+/8PAAAAAAAAAABMQ19BTEwATENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOADAxMjM0NTY3ODlBQkNERUYuAGFsbnVtAGFscGhhAGJsYW5rAGNudHJsAGRpZ2l0AGdyYXBoAGxvd2VyAHByaW50AHB1bmN0AHNwYWNlAHVwcGVyAHhkaWdpdABDLlVURi04AAAAAAAAAAAAQwAvcHJvYy9zZWxmL2ZkLwByd2EAaW5maW5pdHkAbmFuAAkACgANAAwABwAbAFtbOmFsbnVtOl1fXQBbXls6YWxudW06XV9dAFtbOnNwYWNlOl1dAFteWzpzcGFjZTpdXQBbWzpkaWdpdDpdXQBbXls6ZGlnaXQ6XV0AL3RtcC90bXBmaWxlX1hYWFhYWAB3Kw==";var tA=I;function cA(){re()}function bA(){return t||"undefined"!=typeof dateNow||(n||l)&&self.performance&&self.performance.now}I+=16;var sA={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 wA(e){return A.___errno_location&&(C[A.___errno_location()>>2]=e),e}function uA(A,e){var i;if(0===A)i=Date.now();else{if(1!==A||!bA())return wA(sA.EINVAL),-1;i=cA()}return C[e>>2]=i/1e3|0,C[e+4>>2]=i%1e3*1e3*1e3|0,0}var kA={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"},oA={splitPath:function(A){return/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,e){for(var i=0,r=A.length-1;r>=0;r--){var f=A[r];"."===f?A.splice(r,1):".."===f?(A.splice(r,1),i++):i&&(A.splice(r,1),i--)}if(e)for(;i;i--)A.unshift("..");return A},normalize:function(A){var e="/"===A.charAt(0),i="/"===A.substr(-1);return(A=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||e||(A="."),A&&i&&(A+="/"),(e?"/":"")+A},dirname:function(A){var e=oA.splitPath(A),i=e[0],r=e[1];return i||r?(r&&(r=r.substr(0,r.length-1)),i+r):"."},basename:function(A){if("/"===A)return"/";var e=A.lastIndexOf("/");return-1===e?A:A.substr(e+1)},extname:function(A){return oA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return oA.normalize(A.join("/"))},join2:function(A,e){return oA.normalize(A+"/"+e)},resolve:function(){for(var A="",e=!1,i=arguments.length-1;i>=-1&&!e;i--){var r=i>=0?arguments[i]:EA.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";A=r+"/"+A,e="/"===r.charAt(0)}return(e?"/":"")+(A=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||"."},relative:function(A,e){function i(A){for(var e=0;e=0&&""===A[i];i--);return e>i?[]:A.slice(e,i-e+1)}A=oA.resolve(A).substr(1),e=oA.resolve(e).substr(1);for(var r=i(A.split("/")),f=i(e.split("/")),a=Math.min(r.length,f.length),n=a,l=0;l0?i.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n");if(!e)return null;A.input=NA(e,!0)}return A.input.shift()},put_char:function(e,i){null===i||10===i?(A.print(z(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.print(z(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,i){null===i||10===i?(A.printErr(z(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.printErr(z(e.output,0)),e.output=[])}}},dA={ops_table:null,mount:function(A){return dA.createNode(null,"/",16895,0)},createNode:function(A,e,i,r){if(EA.isBlkdev(i)||EA.isFIFO(i))throw new EA.ErrnoError(sA.EPERM);dA.ops_table||(dA.ops_table={dir:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr,lookup:dA.node_ops.lookup,mknod:dA.node_ops.mknod,rename:dA.node_ops.rename,unlink:dA.node_ops.unlink,rmdir:dA.node_ops.rmdir,readdir:dA.node_ops.readdir,symlink:dA.node_ops.symlink},stream:{llseek:dA.stream_ops.llseek}},file:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr},stream:{llseek:dA.stream_ops.llseek,read:dA.stream_ops.read,write:dA.stream_ops.write,allocate:dA.stream_ops.allocate,mmap:dA.stream_ops.mmap,msync:dA.stream_ops.msync}},link:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr,readlink:dA.node_ops.readlink},stream:{}},chrdev:{node:{getattr:dA.node_ops.getattr,setattr:dA.node_ops.setattr},stream:EA.chrdev_stream_ops}});var f=EA.createNode(A,e,i,r);return EA.isDir(f.mode)?(f.node_ops=dA.ops_table.dir.node,f.stream_ops=dA.ops_table.dir.stream,f.contents={}):EA.isFile(f.mode)?(f.node_ops=dA.ops_table.file.node,f.stream_ops=dA.ops_table.file.stream,f.usedBytes=0,f.contents=null):EA.isLink(f.mode)?(f.node_ops=dA.ops_table.link.node,f.stream_ops=dA.ops_table.link.stream):EA.isChrdev(f.mode)&&(f.node_ops=dA.ops_table.chrdev.node,f.stream_ops=dA.ops_table.chrdev.stream),f.timestamp=Date.now(),A&&(A.contents[e]=f),f},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var e=[],i=0;iA.contents.length&&(A.contents=dA.getFileDataAsRegularArray(A),A.usedBytes=A.contents.length),!A.contents||A.contents.subarray){var i=A.contents?A.contents.length:0;if(i>=e)return;e=Math.max(e,i*(i<1048576?2:1.125)|0),0!=i&&(e=Math.max(e,256));var r=A.contents;return A.contents=new Uint8Array(e),void(A.usedBytes>0&&A.contents.set(r.subarray(0,A.usedBytes),0))}for(!A.contents&&e>0&&(A.contents=[]);A.contents.lengthe)A.contents.length=e;else for(;A.contents.length=A.node.usedBytes)return 0;var n=Math.min(A.node.usedBytes-f,r);if(k(n>=0),n>8&&a.subarray)e.set(a.subarray(f,f+n),i);else for(var l=0;l0||f+rn.timestamp)&&(f.push(i),r++)}));var a=[];if(Object.keys(e.entries).forEach((function(i){e.entries[i],A.entries[i]||(a.push(i),r++)})),!r)return i(null);var n=0,l=("remote"===A.type?A.db:e.db).transaction([BA.DB_STORE_NAME],"readwrite"),t=l.objectStore(BA.DB_STORE_NAME);function c(A){return A?c.errored?void 0:(c.errored=!0,i(A)):++n>=r?i(null):void 0}l.onerror=function(A){c(this.error),A.preventDefault()},f.sort().forEach((function(A){"local"===e.type?BA.loadRemoteEntry(t,A,(function(e,i){if(e)return c(e);BA.storeLocalEntry(A,i,c)})):BA.loadLocalEntry(A,(function(e,i){if(e)return c(e);BA.storeRemoteEntry(t,A,i,c)}))})),a.sort().reverse().forEach((function(A){"local"===e.type?BA.removeLocalEntry(A,c):BA.removeRemoteEntry(t,A,c)}))}},vA={isWindows:!1,staticInit:function(){vA.isWindows=!!process.platform.match(/^win/);var A=process.binding("constants");A.fs&&(A=A.fs),vA.flagsForNodeMap={1024:A.O_APPEND,64:A.O_CREAT,128:A.O_EXCL,0:A.O_RDONLY,2:A.O_RDWR,4096:A.O_SYNC,512:A.O_TRUNC,1:A.O_WRONLY}},bufferFrom:function(A){return Buffer.alloc?Buffer.from(A):new Buffer(A)},mount:function(A){return k(t),vA.createNode(null,"/",vA.getMode(A.opts.root),0)},createNode:function(A,e,i,r){if(!EA.isDir(i)&&!EA.isFile(i)&&!EA.isLink(i))throw new EA.ErrnoError(sA.EINVAL);var f=EA.createNode(A,e,i);return f.node_ops=vA.node_ops,f.stream_ops=vA.stream_ops,f},getMode:function(A){var e;try{e=FA.lstatSync(A),vA.isWindows&&(e.mode=e.mode|(292&e.mode)>>2)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return e.mode},realPath:function(A){for(var e=[];A.parent!==A;)e.push(A.name),A=A.parent;return e.push(A.mount.opts.root),e.reverse(),oA.join.apply(null,e)},flagsForNode:function(A){A&=-2097153,A&=-2049,A&=-32769,A&=-524289;var e=0;for(var i in vA.flagsForNodeMap)A&i&&(e|=vA.flagsForNodeMap[i],A^=i);if(A)throw new EA.ErrnoError(sA.EINVAL);return e},node_ops:{getattr:function(A){var e,i=vA.realPath(A);try{e=FA.lstatSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return vA.isWindows&&!e.blksize&&(e.blksize=4096),vA.isWindows&&!e.blocks&&(e.blocks=(e.size+e.blksize-1)/e.blksize|0),{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(A,e){var i=vA.realPath(A);try{if(void 0!==e.mode&&(FA.chmodSync(i,e.mode),A.mode=e.mode),void 0!==e.timestamp){var r=new Date(e.timestamp);FA.utimesSync(i,r,r)}void 0!==e.size&&FA.truncateSync(i,e.size)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},lookup:function(A,e){var i=oA.join2(vA.realPath(A),e),r=vA.getMode(i);return vA.createNode(A,e,r)},mknod:function(A,e,i,r){var f=vA.createNode(A,e,i,r),a=vA.realPath(f);try{EA.isDir(f.mode)?FA.mkdirSync(a,f.mode):FA.writeFileSync(a,"",{mode:f.mode})}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}return f},rename:function(A,e,i){var r=vA.realPath(A),f=oA.join2(vA.realPath(e),i);try{FA.renameSync(r,f)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},unlink:function(A,e){var i=oA.join2(vA.realPath(A),e);try{FA.unlinkSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},rmdir:function(A,e){var i=oA.join2(vA.realPath(A),e);try{FA.rmdirSync(i)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},readdir:function(A){var e=vA.realPath(A);try{return FA.readdirSync(e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},symlink:function(A,e,i){var r=oA.join2(vA.realPath(A),e);try{FA.symlinkSync(i,r)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},readlink:function(A){var e=vA.realPath(A);try{return e=FA.readlinkSync(e),e=VA.relative(VA.resolve(A.mount.opts.root),e)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}}},stream_ops:{open:function(A){var e=vA.realPath(A.node);try{EA.isFile(A.node.mode)&&(A.nfd=FA.openSync(e,vA.flagsForNode(A.flags)))}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},close:function(A){try{EA.isFile(A.node.mode)&&A.nfd&&FA.closeSync(A.nfd)}catch(A){if(!A.code)throw A;throw new EA.ErrnoError(sA[A.code])}},read:function(A,e,i,r,f){if(0===r)return 0;try{return FA.readSync(A.nfd,vA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new EA.ErrnoError(sA[A.code])}},write:function(A,e,i,r,f){try{return FA.writeSync(A.nfd,vA.bufferFrom(e.buffer),i,r,f)}catch(A){throw new EA.ErrnoError(sA[A.code])}},llseek:function(A,e,i){var r=e;if(1===i)r+=A.position;else if(2===i&&EA.isFile(A.node.mode))try{r+=FA.fstatSync(A.nfd).size}catch(A){throw new EA.ErrnoError(sA[A.code])}if(r<0)throw new EA.ErrnoError(sA.EINVAL);return r}}},gA={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(A){k(l),gA.reader||(gA.reader=new FileReaderSync);var e=gA.createNode(null,"/",gA.DIR_MODE,0),i={};function r(A){for(var r=A.split("/"),f=e,a=0;a=A.node.size)return 0;var a=A.node.contents.slice(f,f+r),n=gA.reader.readAsArrayBuffer(a);return e.set(new Uint8Array(n),i),a.size},write:function(A,e,i,r,f){throw new EA.ErrnoError(sA.EIO)},llseek:function(A,e,i){var r=e;if(1===i?r+=A.position:2===i&&EA.isFile(A.node.mode)&&(r+=A.node.size),r<0)throw new EA.ErrnoError(sA.EINVAL);return r}}};I+=16,I+=16,I+=16;var EA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof EA.ErrnoError))throw e+" : "+(i=function(){var A=new Error;if(!A.stack){try{throw new Error(0)}catch(e){A=e}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}(),A.extraStackTrace&&(i+="\\n"+A.extraStackTrace()),i.replace(/__Z[\\w\\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"})));var i;return wA(e.errno)},lookupPath:function(A,e){if(e=e||{},!(A=oA.resolve(EA.cwd(),A)))return{path:"",node:null};var i={follow_mount:!0,recurse_count:0};for(var r in i)void 0===e[r]&&(e[r]=i[r]);if(e.recurse_count>8)throw new EA.ErrnoError(sA.ELOOP);for(var f=oA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),a=EA.root,n="/",l=0;l40)throw new EA.ErrnoError(sA.ELOOP)}}return{path:n,node:a}},getPath:function(A){for(var e;;){if(EA.isRoot(A)){var i=A.mount.mountpoint;return e?"/"!==i[i.length-1]?i+"/"+e:i+e:i}e=e?A.name+"/"+e:A.name,A=A.parent}},hashName:function(A,e){for(var i=0,r=0;r>>0)%EA.nameTable.length},hashAddNode:function(A){var e=EA.hashName(A.parent.id,A.name);A.name_next=EA.nameTable[e],EA.nameTable[e]=A},hashRemoveNode:function(A){var e=EA.hashName(A.parent.id,A.name);if(EA.nameTable[e]===A)EA.nameTable[e]=A.name_next;else for(var i=EA.nameTable[e];i;){if(i.name_next===A){i.name_next=A.name_next;break}i=i.name_next}},lookupNode:function(A,e){var i=EA.mayLookup(A);if(i)throw new EA.ErrnoError(i,A);for(var r=EA.hashName(A.id,e),f=EA.nameTable[r];f;f=f.name_next){var a=f.name;if(f.parent.id===A.id&&a===e)return f}return EA.lookup(A,e)},createNode:function(A,e,i,r){if(!EA.FSNode){EA.FSNode=function(A,e,i,r){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=EA.nextInode++,this.name=e,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=r},EA.FSNode.prototype={};Object.defineProperties(EA.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return EA.isDir(this.mode)}},isDevice:{get:function(){return EA.isChrdev(this.mode)}}})}var f=new EA.FSNode(A,e,i,r);return EA.hashAddNode(f),f},destroyNode:function(A){EA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},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(A){var e=EA.flagModes[A];if(void 0===e)throw new Error("Unknown file open mode: "+A);return e},flagsToPermissionString:function(A){var e=["r","w","rw"][3&A];return 512&A&&(e+="w"),e},nodePermissions:function(A,e){return EA.ignorePermissions||(-1===e.indexOf("r")||292&A.mode)&&(-1===e.indexOf("w")||146&A.mode)&&(-1===e.indexOf("x")||73&A.mode)?0:sA.EACCES},mayLookup:function(A){return EA.nodePermissions(A,"x")||(A.node_ops.lookup?0:sA.EACCES)},mayCreate:function(A,e){try{return EA.lookupNode(A,e),sA.EEXIST}catch(A){}return EA.nodePermissions(A,"wx")},mayDelete:function(A,e,i){var r;try{r=EA.lookupNode(A,e)}catch(A){return A.errno}var f=EA.nodePermissions(A,"wx");if(f)return f;if(i){if(!EA.isDir(r.mode))return sA.ENOTDIR;if(EA.isRoot(r)||EA.getPath(r)===EA.cwd())return sA.EBUSY}else if(EA.isDir(r.mode))return sA.EISDIR;return 0},mayOpen:function(A,e){return A?EA.isLink(A.mode)?sA.ELOOP:EA.isDir(A.mode)&&("r"!==EA.flagsToPermissionString(e)||512&e)?sA.EISDIR:EA.nodePermissions(A,EA.flagsToPermissionString(e)):sA.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(A,e){A=A||0,e=e||EA.MAX_OPEN_FDS;for(var i=A;i<=e;i++)if(!EA.streams[i])return i;throw new EA.ErrnoError(sA.EMFILE)},getStream:function(A){return EA.streams[A]},createStream:function(A,e,i){EA.FSStream||(EA.FSStream=function(){},EA.FSStream.prototype={},Object.defineProperties(EA.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var r=new EA.FSStream;for(var f in A)r[f]=A[f];A=r;var a=EA.nextfd(e,i);return A.fd=a,EA.streams[a]=A,A},closeStream:function(A){EA.streams[A]=null},chrdev_stream_ops:{open:function(A){var e=EA.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new EA.ErrnoError(sA.ESPIPE)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,e){return A<<8|e},registerDevice:function(A,e){EA.devices[A]={stream_ops:e}},getDevice:function(A){return EA.devices[A]},getMounts:function(A){for(var e=[],i=[A];i.length;){var r=i.pop();e.push(r),i.push.apply(i,r.mounts)}return e},syncfs:function(A,e){"function"==typeof A&&(e=A,A=!1),EA.syncFSRequests++,EA.syncFSRequests>1&&console.log("warning: "+EA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var i=EA.getMounts(EA.root.mount),r=0;function f(A){return k(EA.syncFSRequests>0),EA.syncFSRequests--,e(A)}function a(A){if(A)return a.errored?void 0:(a.errored=!0,f(A));++r>=i.length&&f(null)}i.forEach((function(e){if(!e.type.syncfs)return a(null);e.type.syncfs(e,A,a)}))},mount:function(A,e,i){var r,f="/"===i,a=!i;if(f&&EA.root)throw new EA.ErrnoError(sA.EBUSY);if(!f&&!a){var n=EA.lookupPath(i,{follow_mount:!1});if(i=n.path,r=n.node,EA.isMountpoint(r))throw new EA.ErrnoError(sA.EBUSY);if(!EA.isDir(r.mode))throw new EA.ErrnoError(sA.ENOTDIR)}var l={type:A,opts:e,mountpoint:i,mounts:[]},t=A.mount(l);return t.mount=l,l.root=t,f?EA.root=t:r&&(r.mounted=l,r.mount&&r.mount.mounts.push(l)),t},unmount:function(A){var e=EA.lookupPath(A,{follow_mount:!1});if(!EA.isMountpoint(e.node))throw new EA.ErrnoError(sA.EINVAL);var i=e.node,r=i.mounted,f=EA.getMounts(r);Object.keys(EA.nameTable).forEach((function(A){for(var e=EA.nameTable[A];e;){var i=e.name_next;-1!==f.indexOf(e.mount)&&EA.destroyNode(e),e=i}})),i.mounted=null;var a=i.mount.mounts.indexOf(r);k(-1!==a),i.mount.mounts.splice(a,1)},lookup:function(A,e){return A.node_ops.lookup(A,e)},mknod:function(A,e,i){var r=EA.lookupPath(A,{parent:!0}).node,f=oA.basename(A);if(!f||"."===f||".."===f)throw new EA.ErrnoError(sA.EINVAL);var a=EA.mayCreate(r,f);if(a)throw new EA.ErrnoError(a);if(!r.node_ops.mknod)throw new EA.ErrnoError(sA.EPERM);return r.node_ops.mknod(r,f,e,i)},create:function(A,e){return e=void 0!==e?e:438,e&=4095,e|=32768,EA.mknod(A,e,0)},mkdir:function(A,e){return e=void 0!==e?e:511,e&=1023,e|=16384,EA.mknod(A,e,0)},mkdirTree:function(A,e){for(var i=A.split("/"),r="",f=0;fthis.length-1||A<0)){var e=A%this.chunkSize,i=A/this.chunkSize|0;return this.getter(i)[e]}},a.prototype.setDataGetter=function(A){this.getter=A},a.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",i,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn\'t load "+i+". Status: "+A.status);var e,r=Number(A.getResponseHeader("Content-length")),f=(e=A.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=A.getResponseHeader("Content-Encoding"))&&"gzip"===e,n=1048576;f||(n=r);var l=this;l.setDataGetter((function(A){var e=A*n,f=(A+1)*n-1;if(f=Math.min(f,r-1),void 0===l.chunks[A]&&(l.chunks[A]=function(A,e){if(A>e)throw new Error("invalid range ("+A+", "+e+") or no bytes requested!");if(e>r-1)throw new Error("only "+r+" bytes available! programmer error!");var f=new XMLHttpRequest;if(f.open("GET",i,!1),r!==n&&f.setRequestHeader("Range","bytes="+A+"-"+e),"undefined"!=typeof Uint8Array&&(f.responseType="arraybuffer"),f.overrideMimeType&&f.overrideMimeType("text/plain; charset=x-user-defined"),f.send(null),!(f.status>=200&&f.status<300||304===f.status))throw new Error("Couldn\'t load "+i+". Status: "+f.status);return void 0!==f.response?new Uint8Array(f.response||[]):NA(f.responseText||"",!0)}(e,f)),void 0===l.chunks[A])throw new Error("doXHR failed!");return l.chunks[A]})),!a&&r||(n=r=1,r=this.getter(0).length,n=r,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var n=new a;Object.defineProperties(n,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var t={isDevice:!1,contents:n}}else t={isDevice:!1,url:i};var c=EA.createFile(A,e,t,r,f);t.contents?c.contents=t.contents:t.url&&(c.contents=null,c.url=t.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var b={};return Object.keys(c.stream_ops).forEach((function(A){var e=c.stream_ops[A];b[A]=function(){if(!EA.forceLoadFile(c))throw new EA.ErrnoError(sA.EIO);return e.apply(null,arguments)}})),b.read=function(A,e,i,r,f){if(!EA.forceLoadFile(c))throw new EA.ErrnoError(sA.EIO);var a=A.node.contents;if(f>=a.length)return 0;var n=Math.min(a.length-f,r);if(k(n>=0),a.slice)for(var l=0;l>2]=r.dev,C[i+4>>2]=0,C[i+8>>2]=r.ino,C[i+12>>2]=r.mode,C[i+16>>2]=r.nlink,C[i+20>>2]=r.uid,C[i+24>>2]=r.gid,C[i+28>>2]=r.rdev,C[i+32>>2]=0,C[i+36>>2]=r.size,C[i+40>>2]=4096,C[i+44>>2]=r.blocks,C[i+48>>2]=r.atime.getTime()/1e3|0,C[i+52>>2]=0,C[i+56>>2]=r.mtime.getTime()/1e3|0,C[i+60>>2]=0,C[i+64>>2]=r.ctime.getTime()/1e3|0,C[i+68>>2]=0,C[i+72>>2]=r.ino,0},doMsync:function(A,e,i,r){var f=new Uint8Array(g.subarray(A,A+i));EA.msync(e,f,0,i,r)},doMkdir:function(A,e){return"/"===(A=oA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),EA.mkdir(A,e,0),0},doMknod:function(A,e,i){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-sA.EINVAL}return EA.mknod(A,e,i),0},doReadlink:function(A,e,i){if(i<=0)return-sA.EINVAL;var r=EA.readlink(A),f=Math.min(i,F(r)),a=v[e+f];return M(r,e,i+1),v[e+f]=a,f},doAccess:function(A,e){if(-8&e)return-sA.EINVAL;var i;i=EA.lookupPath(A,{follow:!0}).node;var r="";return 4&e&&(r+="r"),2&e&&(r+="w"),1&e&&(r+="x"),r&&EA.nodePermissions(i,r)?-sA.EACCES:0},doDup:function(A,e,i){var r=EA.getStream(i);return r&&EA.close(r),EA.open(A,e,0,i,i).fd},doReadv:function(A,e,i,r){for(var f=0,a=0;a>2],l=C[e+(8*a+4)>>2],t=EA.read(A,v,n,l,r);if(t<0)return-1;if(f+=t,t>2],l=C[e+(8*a+4)>>2],t=EA.write(A,v,n,l,r);if(t<0)return-1;f+=t}return f},varargs:0,get:function(A){return CA.varargs+=4,C[CA.varargs-4>>2]},getStr:function(){return d(CA.get())},getStreamFromFD:function(){var A=EA.getStream(CA.get());if(!A)throw new EA.ErrnoError(sA.EBADF);return A},getSocketFromFD:function(){var A=SOCKFS.getSocket(CA.get());if(!A)throw new EA.ErrnoError(sA.EBADF);return A},getSocketAddress:function(A){var e=CA.get(),i=CA.get();if(A&&0===e)return null;var r=__read_sockaddr(e,i);if(r.errno)throw new EA.ErrnoError(r.errno);return r.addr=DNS.lookup_addr(r.addr)||r.addr,r},get64:function(){var A=CA.get(),e=CA.get();return k(A>=0?0===e:-1===e),A},getZero:function(){k(0===CA.get())}},IA=function(A,e,i,r){var f,a;"number"==typeof A?(f=!0,a=A):(f=!1,a=A.length);var n,l=e;if(n=["function"==typeof xA?xA:b,SA,b,s][2](Math.max(a,l?1:2)),f){var t;for(r=n,k(0==(3&n)),t=n+(-4&a);r>2]=0;for(t=n+a;r>0]=0;return n}return A.subarray||A.slice?g.set(A,n):g.set(new Uint8Array(A),n),n}([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");function ZA(e){A.exit(e)}var GA=I;function QA(e){var i,r;QA.called?(r=C[GA>>2],i=C[r>>2]):(QA.called=!0,mA.USER=mA.LOGNAME="web_user",mA.PATH="/",mA.PWD="/",mA.HOME="/home/web_user",mA.LANG="C.UTF-8",mA._=A.thisProgram,i=b(1024),r=b(256),C[r>>2]=i,C[GA>>2]=r);var f=[],a=0;for(var n in e)if("string"==typeof e[n]){var l=n+"="+e[n];f.push(l),a+=l.length}if(a>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var t=0;t>2]=i,i+=l.length+1;C[r+4*f.length>>2]=0}I+=16;var mA={},LA=K,WA=P,yA=P,zA=_,YA=q,DA=O,MA=O;if(cA=t?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:"object"==typeof self&&self.performance&&"function"==typeof self.performance.now?function(){return self.performance.now()}:"object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,EA.staticInit(),p.unshift((function(){A.noFSInit||EA.init.initialized||EA.init()})),U.push((function(){EA.ignorePermissions=!1})),x.push((function(){EA.quit()})),p.unshift((function(){hA.init()})),x.push((function(){hA.shutdown()})),t){var FA=i(725),VA=i(966);vA.staticInit()}QA(mA),W=b(4),G=Q=w(I),L=w(m=G+N),C[W>>2]=L,Z=!0;var JA=!1;function NA(A,e,i){var r=i>0?i:F(A)+1,f=new Array(r),a=D(A,f,0,f.length);return e&&(f.length=a),f}function XA(A){for(var e=[],i=0;i255&&(JA&&k(!1,"Character code "+r+" ("+String.fromCharCode(r)+") at offset "+i+" not in 0x00-0xFF."),r&=255),e.push(String.fromCharCode(r))}return e.join("")}var RA="function"==typeof atob?atob:function(A){var e,i,r,f,a,n,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="",c=0;A=A.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do{e=l.indexOf(A.charAt(c++))<<2|(f=l.indexOf(A.charAt(c++)))>>4,i=(15&f)<<4|(a=l.indexOf(A.charAt(c++)))>>2,r=(3&a)<<6|(n=l.indexOf(A.charAt(c++))),t+=String.fromCharCode(e),64!==a&&(t+=String.fromCharCode(i)),64!==n&&(t+=String.fromCharCode(r))}while(c>2]=i.position,i.getdents&&0===n&&0===a&&(i.getdents=null),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall145:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return CA.doReadv(i,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall146:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return CA.doWritev(i,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall192:function(A,e){CA.varargs=e;try{var i,r=CA.get(),f=CA.get(),a=CA.get(),n=CA.get(),l=CA.get(),t=CA.get();t<<=12;var c=!1;if(-1===l){if(!(i=TA(16384,f)))return-sA.ENOMEM;jA(i,0,f),c=!0}else{var b=EA.getStream(l);if(!b)return-sA.EBADF;var s=EA.mmap(b,g,r,f,t,a,n);i=s.ptr,c=s.allocated}return CA.mappings[i]={malloc:i,len:f,allocated:c,fd:l,flags:n},i}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall195:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get();return CA.doStat(EA.stat,i,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall197:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get();return CA.doStat(EA.stat,i.path,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall20:function(A,e){CA.varargs=e;try{return 42}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall221:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD();switch(CA.get()){case 0:return(r=CA.get())<0?-sA.EINVAL:EA.open(i.path,i.flags,0,r).fd;case 1:case 2:case 13:case 14:case 13:case 14:return 0;case 3:return i.flags;case 4:var r=CA.get();return i.flags|=r,0;case 12:case 12:return r=CA.get(),E[r+0>>1]=2,0;case 16:case 8:default:return-sA.EINVAL;case 9:return wA(sA.EINVAL),-1}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall3:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get(),f=CA.get();return EA.read(i,v,r,f)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall33:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get();return CA.doAccess(i,r)}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall5:function(A,e){CA.varargs=e;try{var i=CA.getStr(),r=CA.get(),f=CA.get();return EA.open(i,r,f).fd}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall54:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD(),r=CA.get();switch(r){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:return i.tty?0:-sA.ENOTTY;case 21519:if(!i.tty)return-sA.ENOTTY;var f=CA.get();return C[f>>2]=0,0;case 21520:return i.tty?-sA.EINVAL:-sA.ENOTTY;case 21531:return f=CA.get(),EA.ioctl(i,r,f);default:re("bad ioctl syscall "+r)}}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall6:function(A,e){CA.varargs=e;try{var i=CA.getStreamFromFD();return EA.close(i),0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___syscall91:function(A,e){CA.varargs=e;try{var i=CA.get(),r=CA.get(),f=CA.mappings[i];if(!f)return 0;if(r===f.len){var a=EA.getStream(f.fd);CA.doMsync(i,a,r,f.flags),EA.munmap(a),CA.mappings[i]=null,f.allocated&&UA(f.malloc)}return 0}catch(A){return void 0!==EA&&A instanceof EA.ErrnoError||re(A),-A.errno}},___unlock:function(){},__exit:ZA,_clock_gettime:uA,_emscripten_asm_const_iii:function(A,e,i){return lA[A](e,i)},_emscripten_get_now:cA,_emscripten_get_now_is_monotonic:bA,_emscripten_memcpy_big:function(A,e,i){return g.set(g.subarray(e,e+i),A),A},_exit:function(A){ZA(A)},_getenv:function A(e){return 0===e?0:(e=d(e),mA.hasOwnProperty(e)?(A.ret&&UA(A.ret),A.ret=(r=F(i=mA[e])+1,(f=xA(r))&&D(i,v,f,r),f)):0);var i,r,f},_gettimeofday:function(A){var e=Date.now();return C[A>>2]=e/1e3|0,C[A+4>>2]=e%1e3*1e3|0,0},_llvm_ceil_f64:LA,_llvm_fabs_f32:WA,_llvm_fabs_f64:yA,_llvm_floor_f64:zA,_llvm_pow_f64:YA,_llvm_sqrt_f32:DA,_llvm_sqrt_f64:MA,_llvm_trap:function(){re("trap!")},_longjmp:function(e,i){throw A.setThrew(e,i||1),"longjmp"},_setenv:function(A,e,i){if(0===A)return wA(sA.EINVAL),-1;var r=d(A),f=d(e);return""===r||-1!==r.indexOf("=")?(wA(sA.EINVAL),-1):(mA.hasOwnProperty(r)&&!i||(mA[r]=f,QA(mA)),0)},_time:function(A){var e=Date.now()/1e3|0;return A&&(C[A>>2]=e),e},_times:function(A){return 0!==A&&jA(A,0,16),0},DYNAMICTOP_PTR:W,tempDoublePtr:tA,ABORT:u,STACKTOP:Q,STACK_MAX:m,cttz_i8:IA};var pA=function(A,e,i){"use asm";var r=new A.Int8Array(i);var f=new A.Int16Array(i);var a=new A.Int32Array(i);var n=new A.Uint8Array(i);var l=new A.Uint16Array(i);var t=new A.Uint32Array(i);var c=new A.Float32Array(i);var b=new A.Float64Array(i);var s=e.DYNAMICTOP_PTR|0;var w=e.tempDoublePtr|0;var u=e.ABORT|0;var k=e.STACKTOP|0;var o=e.STACK_MAX|0;var h=e.cttz_i8|0;var d=0;var B=0;var v=0;var g=0;var E=A.NaN,C=A.Infinity;var I=0,Z=0,G=0,Q=0,m=0.0;var L=0;var W=A.Math.floor;var y=A.Math.abs;var z=A.Math.sqrt;var Y=A.Math.pow;var D=A.Math.cos;var M=A.Math.sin;var F=A.Math.tan;var V=A.Math.acos;var J=A.Math.asin;var N=A.Math.atan;var X=A.Math.atan2;var R=A.Math.exp;var H=A.Math.log;var p=A.Math.ceil;var U=A.Math.imul;var x=A.Math.min;var T=A.Math.max;var j=A.Math.clz32;var S=e.abort;var P=e.assert;var O=e.enlargeMemory;var K=e.getTotalMemory;var _=e.abortOnCannotGrowMemory;var q=e.invoke_d;var $=e.invoke_dddd;var AA=e.invoke_di;var eA=e.invoke_i;var iA=e.invoke_ii;var rA=e.invoke_iii;var fA=e.invoke_iiidd;var aA=e.invoke_iiii;var nA=e.invoke_iiiii;var lA=e.invoke_iiiiii;var tA=e.invoke_iiiiiii;var cA=e.invoke_iiiiiiiiiii;var bA=e.invoke_v;var sA=e.invoke_vi;var wA=e.invoke_vii;var uA=e.invoke_viii;var kA=e.invoke_viiiddi;var oA=e.invoke_viiii;var hA=e.invoke_viiiii;var dA=e.invoke_viiiiii;var BA=e.invoke_viiiiiiiii;var vA=e.___assert_fail;var gA=e.___buildEnvironment;var EA=e.___clock_gettime;var CA=e.___lock;var IA=e.___map_file;var ZA=e.___setErrNo;var GA=e.___syscall10;var QA=e.___syscall140;var mA=e.___syscall145;var LA=e.___syscall146;var WA=e.___syscall192;var yA=e.___syscall195;var zA=e.___syscall197;var YA=e.___syscall20;var DA=e.___syscall221;var MA=e.___syscall3;var FA=e.___syscall33;var VA=e.___syscall5;var JA=e.___syscall54;var NA=e.___syscall6;var XA=e.___syscall91;var RA=e.___unlock;var HA=e.__exit;var pA=e._clock_gettime;var UA=e._emscripten_asm_const_iii;var xA=e._emscripten_get_now;var TA=e._emscripten_get_now_is_monotonic;var jA=e._emscripten_memcpy_big;var SA=e._exit;var PA=e._getenv;var OA=e._gettimeofday;var KA=e._llvm_ceil_f64;var _A=e._llvm_fabs_f32;var qA=e._llvm_fabs_f64;var $A=e._llvm_floor_f64;var Ae=e._llvm_pow_f64;var ee=e._llvm_sqrt_f32;var ie=e._llvm_sqrt_f64;var re=e._llvm_trap;var fe=e._longjmp;var ae=e._setenv;var ne=e._time;var le=e._times;var te=0.0;function ce(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0;Z=k;k=k+16|0;c=Z+8|0;I=4;C=m2(40)|0;a[C>>2]=0;h=Z;d=0;i=iA(29,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;A:do{if((n|0)!=1){d=0;E=iA(23,i<<3|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){i=W6(a[f>>2]|0,C|0,I|0)|0;if(!i)fe(f|0,B|0);L=B}else i=-1;if((i|0)!=1){if(!(r[194954]|0))v=0;else{d=0;i=eA(3)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=0;b=0;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74;break}v=i}d=0;i=rA(97,A|0,110064)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[47323]=0;e:do{if(i|0?(t=r[i>>0]|0,t<<24>>24):0){l=i;f=t;n=0;while(1){t=l+1|0;if(!(f<<24>>24))break e;switch(f<<24>>24|0){case 99:{i=8;g=16;break}case 105:{i=18;g=16;break}case 109:{i=1;g=16;break}case 114:{i=4;g=16;break}case 115:{i=2;g=16;break}default:i=n}if((g|0)==16){g=0;i=n|i;a[47323]=i}l=t;f=r[t>>0]|0;n=i}}}while(0);if(e|0){d=0;aA(20,0,110068,c|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=0;b=v;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74;break}}d=0;o=rA(98,A|0,0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){s=a[o+16>>2]|0;if(a[47323]&2|0){d=0;wA(26,a[15712]|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break}}d=0;n=iA(25,A|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){w=0;while(1){if(!n)break;d=0;i=rA(99,A|0,n|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}t=w;while(1){if(!i)break;if(!((a[47134]|0)==2?(a[(a[i+16>>2]|0)+8>>2]|0)!=0:0))g=32;e:do{if((g|0)==32){g=0;do{if(r[194954]|0){b=a[i>>2]&3;c=(a[a[((b|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;b=(a[a[((b|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if(c>>>0>b>>>0){d=0;f=aA(34,v|0,b|0,c|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){e=W6(a[l>>2]|0,C|0,I|0)|0;if(!e)fe(l|0,B|0);L=B}else e=-1;if((e|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}if(f|0)break e;d=0;uA(64,v|0,b|0,c|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}break}else{d=0;f=aA(34,v|0,c|0,b|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){e=W6(a[l>>2]|0,C|0,I|0)|0;if(!e)fe(l|0,B|0);L=B}else e=-1;if((e|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}if(f|0)break e;d=0;uA(64,v|0,c|0,b|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}break}}}while(0);a[E+(t<<3)+4>>2]=i;d=0;e=iA(30,i|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}a[E+(t<<3)>>2]=e;t=t+1|0}}while(0);d=0;i=rA(100,A|0,i|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){l=W6(a[f>>2]|0,C|0,I|0)|0;if(!l)fe(f|0,B|0);L=B}else l=-1;if((l|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}}d=0;n=rA(86,A|0,n|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74;break A}w=t}d=0;c=iA(31,w<<3|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){d=0;oA(28,E|0,w|0,8,101);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){n=a[s>>2]|0;d=0;sA(110,n+2|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){t=a[s+16>>2]|0;e=t+(n*40|0)|0;t=t+((n+1|0)*40|0)|0;u=a[15712]|0;l=0;while(1){if((l|0)>=(w|0))break;if((l|0)>0?a[47323]&16|0:0){d=0;wA(26,u|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}i=a[E+(l<<3)+4>>2]|0;b=a[i>>2]&3;n=a[(a[(a[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;i=a[(a[(a[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((n|0)==(i|0)){d=0;oA(29,s|0,n|0,t|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}else{d=0;uA(65,s|0,i|0,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}d=0;uA(65,s|0,n|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}}d=0;i=aA(35,s|0,t|0,e|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}if(i|0){b=v;s=c;t=o;e=E;l=E;break A}i=c+(l<<3)|0;d=0;oA(30,h|0,s|0,e|0,t|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}n=h;b=a[n+4>>2]|0;a[i>>2]=a[n>>2];a[i+4>>2]=b;d=0;sA(111,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74;break A}l=l+1|0}d=0;bA(8);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){d=0;i=iA(32,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[o+20>>2]=i;d=0;i=iA(33,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){a[o+24>>2]=i;d=0;uA(66,w|0,c|0,o|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){C=L6(189296,1,C|0,I|0)|0;I=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)!=1){b=v;s=c;t=o;e=E;l=E;i=0;n=u;g=74}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=u;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=0;g=74}}else{b=v;s=c;t=o;e=E;l=E;i=L;n=0;g=74}}else{b=v;s=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=o;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=v;s=0;c=0;t=0;e=E;l=E;i=L;n=0;g=74}}else{w=0;b=0;s=0;c=0;t=0;e=0;l=E;i=L;n=0;g=74}}else{w=0;b=0;s=0;c=0;t=0;e=0;l=0;i=L;n=0;g=74}}while(0);A:while(1){if((g|0)==74){g=0;if(i|0){u=n;continue}d=0;sA(112,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){G=n;f=l;u=e;o=t;h=c;v=s;E=b;g=w;i=L;n=G;l=f;e=u;t=o;c=h;s=v;b=E;w=g;g=74;continue}if(a[47323]&4|0){d=0;hA(8,n|0,t|0,w|0,s|0,e|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){f=n;u=l;o=e;h=t;v=c;E=s;G=b;g=w;i=L;n=f;l=u;e=o;t=h;c=v;s=E;b=G;w=g;g=74;continue}}d=0;dA(10,A|0,t|0,w|0,s|0,e|0,0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){f=n;u=l;o=e;h=t;v=c;E=s;G=b;g=w;i=L;n=f;l=u;e=o;t=h;c=v;s=E;b=G;w=g;g=74;continue}u=n}if(!(r[194954]|0))i=0;else{d=0;sA(113,b|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}i=0}while(1){if((i|0)>=(w|0))break;d=0;sA(105,a[s+(i<<3)+4>>2]|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,C|0,I|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;n=u;g=74;continue A}i=i+1|0}d=0;sA(105,c|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}d=0;sA(114,t|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74;continue}d=0;sA(105,l|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,C|0,I|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){i=L;n=u;g=74}else break}L2(C|0);k=Z;return}function be(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+64|0;o=h+32|0;u=h+16|0;t=h;c=h+48|0;m3(110935,A)|0;m3(110946,A)|0;s=e+16|0;w=t+8|0;l=c+4|0;n=0;while(1){if((n|0)>=(a[e>>2]|0))break;i=a[s>>2]|0;r=a[i+(n*40|0)+20>>2]|0;f=a[i+(n*40|0)+24>>2]|0;if((r|0)==(f|0)){ri(t,r);i=~~+b[t>>3];r=~~+b[w>>3]}else{ai(c,(a[r>>2]&1|0)==0?r:f,i+(n*40|0)|0);i=a[c>>2]|0;r=a[l>>2]|0}a[u>>2]=n;a[u+4>>2]=i;a[u+8>>2]=r;f3(A,110966,u)|0;n=n+1|0}f=e+4|0;r=e+20|0;i=0;while(1){if((i|0)>=(a[f>>2]|0))break;u=a[r>>2]|0;e=a[u+(i*24|0)+16>>2]|0;d=+b[u+(i*24|0)>>3];a[o>>2]=a[u+(i*24|0)+12>>2];a[o+4>>2]=e;b[o+8>>3]=d;f3(A,110986,o)|0;i=i+1|0}m3(111008,A)|0;k=h;return}function se(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;f=a[A>>2]&3;r=a[(a[((f|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;A=a[(a[((f|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;e=+b[r+16>>3]-+b[A+16>>3];i=+b[r+24>>3]-+b[A+24>>3];return~~(i*i+e*e)|0}function we(A,e){A=A|0;e=e|0;return(a[A>>2]|0)-(a[e>>2]|0)|0}function ue(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+32|0;c=w;ri(w+16|0,e);b=e+32|0;s=e+36|0;n=0;while(1){if((n|0)>=(a[b>>2]|0))break;l=a[(a[s>>2]|0)+(n<<2)>>2]|0;do{if(!(r[l+36>>0]|0)){t=a[l+20>>2]|0;if((t|0)==(e|0)){ei(c,l,a[l+24>>2]|0);Ci(A,f,l,0.0)|0;break}else{ei(c,l,t);Ci(A,i,l,0.0)|0;break}}}while(0);n=n+1|0}a[A>>2]=(a[A>>2]|0)+2;k=w;return}function ke(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;l=b;ri(b+16|0,e);t=e+32|0;c=e+36|0;f=0;while(1){if((f|0)>=(a[t>>2]|0))break;n=a[(a[c>>2]|0)+(f<<2)>>2]|0;r=a[n+20>>2]|0;if((r|0)==(e|0))r=a[n+24>>2]|0;ei(l,n,r);Ci(A,i,n,0.0)|0;f=f+1|0}a[A>>2]=(a[A>>2]|0)+1;a[i+24>>2]=e;a[i+20>>2]=e;k=b;return}function oe(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+128|0;L=D+64|0;w=D+48|0;W=D+32|0;y=D+16|0;z=D;n=0;l=i;while(1){if(!l)break;n=n+1|0;l=a[l+8>>2]|0}m=qF((n*56|0)+-112|0)|0;a[L+52>>2]=0;a[L+48>>2]=0;Q=i+8|0;i=a[Q>>2]|0;l=a[i+8>>2]|0;n=a[i+20>>2]|0;if(a[n>>2]&1)n=a[i+24>>2]|0;ei(w,i,n);t=i;h=i;o=0.0;u=+b[w>>3];G=0;s=0.0;I=+b[w+8>>3];while(1){Z=l+8|0;if(!(a[Z>>2]|0))break;E=ii(t,l)|0;Oa(e,E,a[h+12>>2]|0);v=h+36|0;g=l+36|0;if((r[v>>0]|0)==(r[g>>0]|0))if((a[Z>>2]|0)==(f|0)){ei(y,l,E);i=y;Y=12}else{t=h;i=G;c=I}else{ri(W,E);i=W;Y=12}if((Y|0)==12){Y=0;C=+b[i>>3];c=+b[i+8>>3];i=r[v>>0]|0;B=i<<24>>24==0;d=(h|0)==(a[Q>>2]|0);if(B){if(!(r[g>>0]|0))i=0;else i=(a[l+20>>2]|0)==(E|0)?4:2;w=E+48|0;h=n+48|0;t=n+40|0;n=d?0:o>u?4:2}else{if(i<<24>>24==(r[g>>0]|0))i=0;else i=(a[l+20>>2]|0)==(E|0)?1:3;w=E+40|0;h=n+40|0;t=n+48|0;n=d?0:s>I?1:3}fi(L,B&1,+b[t>>3],+b[h>>3],+b[w>>3],n,i);h=G+1|0;n=m+(G*56|0)|0;i=L;t=n+56|0;do{a[n>>2]=a[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(t|0));if((r[v>>0]|0)!=(r[g>>0]|0)?(a[Z>>2]|0)==(f|0):0){ei(z,l,E);w=(r[g>>0]|0)==0;i=E+40|0;n=E+48|0;o=+b[(w?n:i)>>3];fi(L,w&1,+b[(w?i:n)>>3],o,o,w?u>C?4:2:I>c?1:3,0);w=G+2|0;n=m+(h*56|0)|0;i=L;t=n+56|0;do{a[n>>2]=a[i>>2];n=n+4|0;i=i+4|0}while((n|0)<(t|0));n=E;t=l;o=u;u=C;i=w;s=I}else{n=E;t=l;o=u;u=C;i=h;s=I}}E=l;l=a[Z>>2]|0;h=t;G=i;I=c;t=E}l=y2(m,G*56|0)|0;i=G+-1|0;n=0;while(1){if((n|0)>=(G|0))break;if((n|0)>0)a[l+(n*56|0)+48>>2]=l+((n+-1|0)*56|0);if((n|0)<(i|0)){Y=n+1|0;a[l+(n*56|0)+52>>2]=l+(Y*56|0);n=Y;continue}else{n=n+1|0;continue}}a[A>>2]=G;a[A+4>>2]=l;k=D;return}function he(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=jk(25692,a[4581]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(a[A>>2]|0))break;e=(a[c>>2]|0)+(l*72|0)|0;if(!(a[e>>2]&4)){while(1){i=a[(a[e+36>>2]|0)+8>>2]|0;if(!i)break;i=a[i+20>>2]|0;if(!i)break;if(!(a[i>>2]&1))e=i;else break}n=qF(40)|0;a[n+36>>2]=e;b[n+8>>3]=+b[e+40>>3];f=e;i=a[e>>2]|0;while(1){a[f>>2]=i|4;i=a[a[f+36>>2]>>2]|0;if(!i)break;r=a[i+24>>2]|0;if(!r)break;i=a[r>>2]|0;if(i&1|0)break;else f=r}b[n+16>>3]=+b[f+56>>3];Ke(t,n,+b[e+48>>3])}l=l+1|0}return t|0}function de(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=jk(25692,a[4581]|0)|0;c=A+8|0;l=0;while(1){if((l|0)>=(a[A>>2]|0))break;e=(a[c>>2]|0)+(l*72|0)|0;if(!(a[e>>2]&2)){while(1){i=a[(a[e+36>>2]|0)+12>>2]|0;if(!i)break;i=a[i+20>>2]|0;if(!i)break;if(!(a[i>>2]&1))e=i;else break}n=qF(40)|0;a[n+36>>2]=e;b[n+8>>3]=+b[e+48>>3];f=e;i=a[e>>2]|0;while(1){a[f>>2]=i|2;i=a[(a[f+36>>2]|0)+4>>2]|0;if(!i)break;r=a[i+24>>2]|0;if(!r)break;i=a[r>>2]|0;if(i&1|0)break;else f=r}b[n+16>>3]=+b[f+64>>3];Ke(t,n,+b[e+40>>3])}l=l+1|0}return t|0}function Be(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=i+20|0;t=i+24|0;i=0;while(1){if((i|0)>=(A|0))break;n=a[e+(i<<3)>>2]|0;l=a[e+(i<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(n|0))break;b=l+(f*56|0)|0;Oe(me(a[((r[b>>0]|0)==0?c:t)>>2]|0,b)|0,b);f=f+1|0}i=i+1|0}return}function ve(A){A=A|0;var e=0,i=0;i=A+20|0;We(a[i>>2]|0);e=A+24|0;We(a[e>>2]|0);ye(a[i>>2]|0);ye(a[e>>2]|0);ze(a[i>>2]|0,A);ze(a[e>>2]|0,A);Ye(a[i>>2]|0);Ye(a[e>>2]|0);return}function ge(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0.0,W=0,y=0.0;G=k;k=k+224|0;w=G+176|0;s=G+208|0;I=G+160|0;Z=G+128|0;c=G+96|0;v=G+64|0;g=G;u=G+32|0;E=g+8|0;b[E>>3]=1797693134862315708145274.0e284;b[g>>3]=1797693134862315708145274.0e284;C=g+24|0;b[C>>3]=-1797693134862315708145274.0e284;o=g+16|0;b[o>>3]=-1797693134862315708145274.0e284;m3(110183,A)|0;a[w>>2]=10;a[w+4>>2]=10;f3(A,110589,w)|0;m3(138265,A)|0;l=e+4|0;t=e+12|0;h=v+8|0;d=v+16|0;B=v+24|0;n=0;while(1){if((n|0)>=(a[l>>2]|0))break;W=(a[t>>2]|0)+(n*72|0)+40|0;a[v>>2]=a[W>>2];a[v+4>>2]=a[W+4>>2];a[v+8>>2]=a[W+8>>2];a[v+12>>2]=a[W+12>>2];a[v+16>>2]=a[W+16>>2];a[v+20>>2]=a[W+20>>2];a[v+24>>2]=a[W+24>>2];a[v+28>>2]=a[W+28>>2];L=+b[h>>3];m=+b[d>>3];Q=+b[B>>3];b[c>>3]=+b[v>>3];b[c+8>>3]=L;b[c+16>>3]=m;b[c+24>>3]=Q;f3(A,138284,c)|0;n=n+1|0}n=0;while(1){if((n|0)>=(i|0))break;W=a[f+(n<<3)+4>>2]|0;c=r+(n<<3)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[w>>2]=a[g>>2];a[w+4>>2]=a[g+4>>2];a[w+8>>2]=a[g+8>>2];a[w+12>>2]=a[g+12>>2];a[w+16>>2]=a[g+16>>2];a[w+20>>2]=a[g+20>>2];a[w+24>>2]=a[g+24>>2];a[w+28>>2]=a[g+28>>2];Le(u,A,W,s,e,w);a[g>>2]=a[u>>2];a[g+4>>2]=a[u+4>>2];a[g+8>>2]=a[u+8>>2];a[g+12>>2]=a[u+12>>2];a[g+16>>2]=a[u+16>>2];a[g+20>>2]=a[u+20>>2];a[g+24>>2]=a[u+24>>2];a[g+28>>2]=a[u+28>>2];n=n+1|0}m3(110606,A)|0;l=e+8|0;n=0;while(1){if((n|0)>=(a[e>>2]|0))break;W=(a[l>>2]|0)+(n*72|0)+40|0;a[v>>2]=a[W>>2];a[v+4>>2]=a[W+4>>2];a[v+8>>2]=a[W+8>>2];a[v+12>>2]=a[W+12>>2];a[v+16>>2]=a[W+16>>2];a[v+20>>2]=a[W+20>>2];a[v+24>>2]=a[W+24>>2];a[v+28>>2]=a[W+28>>2];y=+b[v>>3];Q=+b[h>>3];m=+b[d>>3];L=+b[B>>3];b[Z>>3]=y;b[Z+8>>3]=Q;b[Z+16>>3]=m;b[Z+24>>3]=L;f3(A,138321,Z)|0;b[g>>3]=+b[(+b[g>>3]>3];b[E>>3]=+b[(+b[E>>3]>3];b[o>>3]=+b[(+b[o>>3]>m?g:v)+16>>3];b[C>>3]=+b[(+b[C>>3]>L?g:v)+24>>3];n=n+1|0}E=~~(+b[E>>3]+10.0);Z=~~(+b[o>>3]+10.0);W=~~(+b[C>>3]+10.0);a[I>>2]=~~(+b[g>>3]+10.0);a[I+4>>2]=E;a[I+8>>2]=Z;a[I+12>>2]=W;f3(A,110631,I)|0;k=G;return}function Ee(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;X=k;k=k+112|0;z=X+88|0;y=X+72|0;N=X+32|0;M=X+16|0;F=X;V=X+56|0;J=X+40|0;Y=a[15712]|0;C=(l|0)==0;I=F+8|0;Z=M+8|0;E=0;s=0;w=0;u=0;o=0;l=0;while(1){if((E|0)>=(i|0))break;G=a[n+(E<<3)+4>>2]|0;Q=G+48|0;g=(a[(a[((a[G>>2]&3|0)==3?G:Q)+40>>2]|0)+16>>2]|0)+16|0;m=G+16|0;L=(a[m>>2]|0)+16|0;a[y>>2]=a[g>>2];a[y+4>>2]=a[g+4>>2];a[y+8>>2]=a[g+8>>2];a[y+12>>2]=a[g+12>>2];a[z>>2]=a[L>>2];a[z+4>>2]=a[L+4>>2];a[z+8>>2]=a[L+8>>2];a[z+12>>2]=a[L+12>>2];Ce(V,y,z);a[M>>2]=a[V>>2];a[M+4>>2]=a[V+4>>2];a[M+8>>2]=a[V+8>>2];a[M+12>>2]=a[V+12>>2];L=G+-48|0;g=(a[(a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0)+16>>2]|0)+16|0;v=(a[m>>2]|0)+56|0;a[y>>2]=a[g>>2];a[y+4>>2]=a[g+4>>2];a[y+8>>2]=a[g+8>>2];a[y+12>>2]=a[g+12>>2];a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];Ce(J,y,z);a[F>>2]=a[J>>2];a[F+4>>2]=a[J+4>>2];a[F+8>>2]=a[J+8>>2];a[F+12>>2]=a[J+12>>2];v=a[f+(E<<3)>>2]|0;g=a[f+(E<<3)+4>>2]|0;B=v*3|0;W=B+1|0;if((B|0)>=(w|0)){if(s|0)L2(l);o=$F(W<<4)|0;s=o;w=W;u=o;l=o}if(!(r[g>>0]|0)){c=+(Ze(g,e)|0);t=+b[M>>3]}else{t=+Ie(g,e);c=+b[Z>>3]}d=s+16|0;b[s+16>>3]=t;b[s+24>>3]=c;a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];d=1;h=g;B=2;while(1){if((d|0)>=(v|0))break;h=g+(d*56|0)|0;if(!(r[h>>0]|0))c=+(Ze(h,e)|0);else t=+Ie(h,e);R=s+(B+2<<4)|0;p=s+(B+1<<4)|0;H=s+(B<<4)|0;b[H>>3]=t;b[s+(B<<4)+8>>3]=c;a[p>>2]=a[H>>2];a[p+4>>2]=a[H+4>>2];a[p+8>>2]=a[H+8>>2];a[p+12>>2]=a[H+12>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];d=d+1|0;B=B+3|0}if(!(r[h>>0]|0)){c=+(Ze(h,e)|0);t=+b[F>>3]}else{t=+Ie(h,e);c=+b[I>>3]}p=s+(B<<4)|0;R=B+1|0;H=s+(R<<4)|0;b[H>>3]=t;b[s+(R<<4)+8>>3]=c;a[p>>2]=a[H>>2];a[p+4>>2]=a[H+4>>2];a[p+8>>2]=a[H+8>>2];a[p+12>>2]=a[H+12>>2];if(0>1){H=Vh(a[((a[G>>2]&3|0)==3?G:Q)+40>>2]|0)|0;p=Vh(a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0)|0;a[N>>2]=H;a[N+4>>2]=p;f3(Y,110142,N)|0}gX(G,a[((a[G>>2]&3|0)==2?G:L)+40>>2]|0,s,W,25680);if((!C?(D=a[(a[m>>2]|0)+96>>2]|0,D|0):0)?(r[D+81>>0]|0)==0:0){a[y>>2]=a[M>>2];a[y+4>>2]=a[M+4>>2];a[y+8>>2]=a[M+8>>2];a[y+12>>2]=a[M+12>>2];a[z>>2]=a[F>>2];a[z+4>>2]=a[F+4>>2];a[z+8>>2]=a[F+8>>2];a[z+12>>2]=a[F+12>>2];HX(A,G,y,z)}E=E+1|0}L2(u);k=X;return}function Ce(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]+ +b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]+ +b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Ie(A,e){A=A|0;e=e|0;var i=0.0,r=0;e=me(a[e+24>>2]|0,A)|0;r=a[e+36>>2]|0;i=+b[r+40>>3];return+((+b[r+56>>3]-i)*(+(a[A+44>>2]|0)/+((a[e+24>>2]|0)+1|0))+i)}function Ze(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=me(a[e+20>>2]|0,A)|0;e=a[r+36>>2]|0;i=+b[e+48>>3];return~~((1.0-+(a[A+44>>2]|0)/+((a[r+24>>2]|0)+1|0))*(+b[e+64>>3]-i)+i)|0}function Ge(A){A=A|0;return 0}function Qe(A){A=A|0;return 0}function me(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e+8|0,512)|0;if(!A)vA(110155,110161,423,110169);A=a[A+16>>2]|0;A=W5[a[A>>2]&63](A,e+16|0,512)|0;if(!A)vA(110180,110161,425,110169);else return A|0;return 0}function Le(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0.0,s=0,w=0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0.0;G=k;k=k+32|0;Z=G+16|0;g=G+8|0;s=G;t=a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;v=a[f+4>>2]|0;if(!(r[v>>0]|0)){c=+b[t+56>>3];B=+b[t+40>>3];t=Ze(v,n)|0;c=(B+c)*.5}else{c=+b[t+64>>3];B=+b[t+48>>3];t=~~((B+c)*.5);c=+Ie(v,n)}Q=~~c;o=+b[l>>3];d=+(Q|0);o=o>3]=o;E=l+8|0;h=+b[E>>3];B=+(t|0);h=h>3]=h;C=l+16|0;c=+b[C>>3];d=c>d?c:d;b[C>>3]=d;I=l+24|0;c=+b[I>>3];B=c>B?c:B;b[I>>3]=B;a[s>>2]=Q;a[s+4>>2]=t;f3(e,110682,s)|0;u=a[f>>2]|0;s=v;w=1;f=Q;while(1){if((w|0)>=(u|0))break;s=v+(w*56|0)|0;if(!(r[s>>0]|0))t=Ze(s,n)|0;else f=~~+Ie(s,n);m=+(f|0);W=o>3]=W;c=+(t|0);L=h>3]=L;m=d>m?d:m;b[C>>3]=m;c=B>c?B:c;b[I>>3]=c;a[g>>2]=f;a[g+4>>2]=t;f3(e,110704,g)|0;w=w+1|0;o=W;h=L;d=m;B=c}t=a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(r[s>>0]|0)){c=+b[t+56>>3];W=+b[t+40>>3];t=Ze(s,n)|0;c=(W+c)*.5}else{c=+b[t+64>>3];W=+b[t+48>>3];t=~~((W+c)*.5);c=+Ie(s,n)}Q=~~c;L=+(Q|0);b[l>>3]=o>3]=h>3]=d>L?d:L;b[I>>3]=B>W?B:W;a[Z>>2]=Q;a[Z+4>>2]=t;f3(e,110718,Z)|0;a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];a[A+12>>2]=a[l+12>>2];a[A+16>>2]=a[l+16>>2];a[A+20>>2]=a[l+20>>2];a[A+24>>2]=a[l+24>>2];a[A+28>>2]=a[l+28>>2];k=G;return}function We(A){A=A|0;var e=0;A=xk(A)|0;while(1){if(!A)break;e=xk(a[A+16>>2]|0)|0;while(1){if(!e)break;a[e+32>>2]=ni(a[e+24>>2]|0)|0;e=a[e>>2]|0}A=a[A>>2]|0}return}function ye(A){A=A|0;var e=0;A=xk(A)|0;while(1){if(!A)break;e=xk(a[A+16>>2]|0)|0;while(1){if(!e)break;if(a[e+24>>2]|0)Pe(e);e=a[e>>2]|0}A=a[A>>2]|0}return}function ze(A,e){A=A|0;e=e|0;var i=0;i=xk(A)|0;while(1){if(!i)break;A=xk(a[i+16>>2]|0)|0;while(1){if(!A)break;Ve(A,e);A=a[A>>2]|0}i=a[i>>2]|0}return}function Ye(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=xk(A)|0;while(1){if(!r)break;l=r+8|0;f=xk(a[r+16>>2]|0)|0;while(1){if(!f)break;A=f+24|0;A:do{if(a[A>>2]|0){if(a[47323]&8|0)De(f,~~+b[l>>3]);n=f+32|0;si(a[n>>2]|0);e=a[A>>2]|0;i=f+28|0;A=0;while(1){if((A|0)>=(e|0))break A;a[(a[(a[i>>2]|0)+(A<<2)>>2]|0)+44>>2]=(a[(a[(a[n>>2]|0)+4>>2]|0)+(A*12|0)+4>>2]|0)+1;A=A+1|0}}}while(0);f=a[f>>2]|0}r=a[r>>2]|0}return}function De(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+32|0;i=t;n=A+24|0;A:do{if((a[n>>2]|0)>=2){l=a[15712]|0;s=+b[A+8>>3];c=+b[A+16>>3];a[i>>2]=e;b[i+8>>3]=s;b[i+16>>3]=c;f3(l,110739,i)|0;f=A+32|0;A=A+28|0;e=0;while(1){if((e|0)>=(a[n>>2]|0))break A;r=a[(a[(a[f>>2]|0)+4>>2]|0)+(e*12|0)+8>>2]|0;e:do{if(Pk(r)|0){Me(l,a[(a[A>>2]|0)+(e<<2)>>2]|0);m3(110759,l)|0;i=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!i)break e;m3(110764,l)|0;Me(l,a[(a[A>>2]|0)+(a[i>>2]<<2)>>2]|0);m3(153599,l)|0;i=W5[a[r>>2]&63](r,i,8)|0}}}while(0);e=e+1|0}}}while(0);k=t;return}function Me(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0;n=k;k=k+80|0;f=n+40|0;i=n;if(!(r[e>>0]|0)){s=+b[e+16>>3];t=+b[e+8>>3];c=+b[e+24>>3];l=Fe(a[e+32>>2]|0)|0;i=Fe(a[e+36>>2]|0)|0;b[f>>3]=s;b[f+8>>3]=t;b[f+16>>3]=c;b[f+24>>3]=t;a[f+32>>2]=l;a[f+36>>2]=i;f3(A,110770,f)|0}else{c=+b[e+8>>3];t=+b[e+16>>3];s=+b[e+24>>3];f=Fe(a[e+32>>2]|0)|0;l=Fe(a[e+36>>2]|0)|0;b[i>>3]=c;b[i+8>>3]=t;b[i+16>>3]=c;b[i+24>>3]=s;a[i+32>>2]=f;a[i+36>>2]=l;f3(A,110770,i)|0}k=n;return}function Fe(A){A=A|0;switch(A|0){case 0:{A=110821;break}case 1:{A=110816;break}case 2:{A=110809;break}case 3:{A=110802;break}case 4:{A=110794;break}default:A=0}return A|0}function Ve(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+16|0;d=C+8|0;v=C;g=a[A+32>>2]|0;E=a[A+28>>2]|0;o=A+24|0;s=d+4|0;w=v+4|0;t=0;A=a[o>>2]|0;A:while(1){h=t+1|0;if((h|0)>=(A|0))break;u=E+(t<<2)|0;c=h;while(1){if((c|0)>=(A|0)){t=h;continue A}e:do{if(((bi(g,t,c)|0)==0?(bi(g,c,t)|0)==0:0)?(B=E+(c<<2)|0,Je(a[u>>2]|0,a[B>>2]|0)|0):0){f=a[u>>2]|0;A=a[f+48>>2]|0;l=a[B>>2]|0;i=a[l+48>>2]|0;r=(i|0)==0;if(A)if(r)A=1;else A=+b[A+8>>3]!=+b[i+8>>3];else A=r^1;n=A&1;Ne(d,f,l,0,n);A=a[d>>2]|0;l=a[s>>2]|0;f=n^1;Ne(v,a[u>>2]|0,a[B>>2]|0,1,f);i=a[v>>2]|0;r=a[w>>2]|0;switch(l|0){case-1:{Xe(a[B>>2]|0,a[u>>2]|0,n,0,A,e);Xe(a[B>>2]|0,a[u>>2]|0,f,1,i,e);if((r|0)!=1)break e;Re(a[u>>2]|0,a[B>>2]|0,f,e);break e}case 0:switch(r|0){case-1:{Xe(a[B>>2]|0,a[u>>2]|0,n,0,A,e);Xe(a[B>>2]|0,a[u>>2]|0,f,1,i,e);break e}case 0:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);break e}case 1:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);break e}default:break e}case 1:{Xe(a[u>>2]|0,a[B>>2]|0,0,n,A,e);Xe(a[u>>2]|0,a[B>>2]|0,1,f,i,e);if((r|0)!=-1)break e;Re(a[u>>2]|0,a[B>>2]|0,f,e);break e}default:break e}}}while(0);c=c+1|0;A=a[o>>2]|0}}k=C;return}function Je(A,e){A=A|0;e=e|0;if(!(+b[A+8>>3]==+b[e+8>>3]))vA(110892,110161,843,110923);if((+b[A+16>>3]==+b[e+16>>3]?+b[A+24>>3]==+b[e+24>>3]:0)?(a[A+32>>2]|0)==(a[e+32>>2]|0):0)A=(a[A+36>>2]|0)==(a[e+36>>2]|0)&1;else A=0;return A|0}function Ne(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;n=0;while(1){e=He(e,r)|0;if(!e){l=0;break}i=He(i,f)|0;if(!i){t=6;break}if(!(Je(e,i)|0)){t=7;break}n=n+1|0}if((t|0)==6)vA(138394,110161,871,110841);else if((t|0)==7)l=Ue(e,pe(e,i)|0,n+1|0,1-r|0)|0;a[A>>2]=n;a[A+4>>2]=l;return}function Xe(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,k=0,o=0;k=l+20|0;u=l+24|0;l=me(a[((r[A>>0]|0)==0?k:u)>>2]|0,A)|0;ti(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0);c=1;while(1){if((c|0)>(n|0))break;s=He(A,i)|0;w=He(e,f)|0;do{if(!(r[A>>0]|0)){t=me(a[u>>2]|0,s)|0;if(+b[s+8>>3]==+b[A+16>>3]){o=(a[A+32>>2]|0)==1;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}}else{o=(a[A+36>>2]|0)==1;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}}}else{t=me(a[k>>2]|0,s)|0;if(+b[s+8>>3]==+b[A+16>>3]){o=(a[A+32>>2]|0)==2;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}}else{o=(a[A+36>>2]|0)==2;l=(bi(a[l+32>>2]|0,a[A+40>>2]|0,a[e+40>>2]|0)|0)!=0;A=a[t+32>>2]|0;if(o)if(l){ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}else{ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else if(l){ti(A,a[s+40>>2]|0,a[w+40>>2]|0);l=t;break}else{ti(A,a[w+40>>2]|0,a[s+40>>2]|0);l=t;break}}}}while(0);A=s;e=w;c=c+1|0}return}function Re(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0;while(1){if(!(Je(A,e)|0))break;n=He(A,1)|0;e=He(e,i)|0;A=n}n=a[(me(a[((r[A>>0]|0)==0?f+20|0:f+24|0)>>2]|0,A)|0)+32>>2]|0;ci(n,a[A+40>>2]|0,a[e+40>>2]|0);return}function He(A,e){A=A|0;e=e|0;if(!A)vA(110828,110161,798,110832);else return a[((e|0)==0?A+48|0:A+52|0)>>2]|0;return 0}function pe(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=k;k=k+16|0;f=a;i=r[A>>0]|0;if(i<<24>>24==(r[e>>0]|0)?!(+b[A+8>>3]!=+b[e+8>>3]):0){if(!(i<<24>>24))A=xe(A,e,3,1)|0;else A=xe(A,e,4,2)|0;k=a;return A|0}ao(1,110854,f)|0;fe(189296,1);return 0}function Ue(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;t=1;while(1){if((t|0)>(i|0))break;l=He(A,f)|0;n=+b[l+8>>3]==+b[A+16>>3];do{if(!(r[A>>0]|0))if(n){n=(a[A+32>>2]|0)==1;break}else{n=(a[A+36>>2]|0)==3;break}else if(n){n=(a[A+32>>2]|0)==4;break}else{n=(a[A+36>>2]|0)==2;break}}while(0);A=l;t=t+1|0;e=n?0-e|0:e}return e|0}function xe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,k=0;t=+b[A+24>>3];c=+b[e+16>>3];do{if(!(t>3],l=+b[e+24>>3],!(n>l)):0){if(c>2]|0;return((i|0)==(a[e+32>>2]|0)?0:(i|0)==(r|0)?1:-1)|0}else{i=a[A+32>>2]|0;e=(i|0)==(a[e+36>>2]|0)?0:(i|0)==(r|0)?1:-1;break}if(!(t==l))if(t>2]|0)==(i|0);i=Se(a[e+32>>2]|0,a[A+32>>2]|0,i,r)|0;return(k?i:0-i|0)|0}else{k=(a[e+36>>2]|0)==(r|0);e=Se(a[A+32>>2]|0,a[e+32>>2]|0,i,r)|0;e=k?e:0-e|0;break}k=a[A+32>>2]|0;u=a[e+32>>2]|0;if((k|0)==(u|0)){e=a[e+36>>2]|0;if((a[A+36>>2]|0)==(e|0)){e=0;break}}else e=a[e+36>>2]|0;w=(u|0)==(i|0);if((u|0)==(e|0)){if(w){e=1;break}if((u|0)==(r|0)){e=-1;break}if((k|0)!=(i|0)?(a[A+36>>2]|0)!=(i|0):0){e=1;break}if((k|0)!=(r|0)?(a[A+36>>2]|0)!=(r|0):0){e=-1;break}e=0;break}f=(e|0)==(r|0);if(w&f){e=(a[A+36>>2]|0)==(r|0);if((k|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}s=(e|0)==(i|0);if((u|0)==(r|0)&s){e=(k|0)==(r|0);if((a[A+36>>2]|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}if(!u){if(s){e=je(k,a[A+36>>2]|0,i)|0;break}if(f){e=0-(je(k,a[A+36>>2]|0,r)|0)|0;break}}f=a[A+36>>2]|0;if(w&(e|0)==0){e=je(f,k,i)|0;break}else{e=0-(je(f,k,r)|0)|0;break}}else e=0}while(0);return e|0}function Te(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0;l=+b[A+24>>3];t=+b[e+24>>3];do{if(l>2]|0;if((A|0)==(i|0)?(a[e+32>>2]|0)==(r|0):0){A=-1;break}if((A|0)==(r|0)?(a[e+32>>2]|0)==(i|0):0){A=1;break}A=0}else{f=a[e+32>>2]|0;n=(f|0)==(r|0);if(l==t)if(n){A=Se(a[A+36>>2]|0,a[e+36>>2]|0,i,r)|0;break}else{A=0-(Se(a[e+36>>2]|0,a[A+36>>2]|0,i,r)|0)|0;break}if(n?(a[e+36>>2]|0)==(r|0):0){A=-1;break}if((f|0)==(i|0)?(a[e+36>>2]|0)==(i|0):0){A=1;break}A=0}}while(0);return A|0}function je(A,e,i){A=A|0;e=e|0;i=i|0;return((A|0)==(i|0)?((e|0)==(i|0))<<31>>31:1)|0}function Se(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((A|0)==(r|0)){e=(A|0)==0;if(e)return 0;else e=e&1}return((A|0)!=0|(e|0)!=(i|0))<<31>>31|0}function Pe(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;n=a[A+28>>2]|0;l=a[A+24>>2]|0;i=a[A+32>>2]|0;A=0;A:while(1){r=A+1|0;if((r|0)>=(l|0))break;f=n+(A<<2)|0;e=r;while(1){if((e|0)==(l|0)){A=r;continue A}switch(pe(a[f>>2]|0,a[n+(e<<2)>>2]|0)|0){case 1:{ti(i,A,e);break}case-1:{ti(i,e,A);break}default:{}}e=e+1|0}}return}function Oe(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+24|0;r=a[f>>2]|0;i=r+1|0;a[f>>2]=i;a[e+40>>2]=r;r=A+28|0;A=a[r>>2]|0;if(!A)A=$F(i<<2)|0;else A=eV(A,i<<2)|0;a[r>>2]=A;a[A+((a[f>>2]|0)+-1<<2)>>2]=e;return}function Ke(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;b[f>>3]=i;r=W5[a[A>>2]&63](A,f,512)|0;if(!r){r=qF(24)|0;b[r+8>>3]=+b[f>>3];a[r+16>>2]=jk(25728,a[4581]|0)|0;W5[a[A>>2]&63](A,r,1)|0}f=a[r+16>>2]|0;W5[a[f>>2]&63](f,e,1)|0;k=n;return}function _e(A,e,i){A=A|0;e=e|0;i=i|0;li(a[e+32>>2]|0);L2(a[e+28>>2]|0);L2(e);return}function qe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e>>3];a=+b[i>>3];if(!(f>a))if(f>3]>=+b[i+8>>3])<<31>>31;else A=0;else A=!(+b[e+8>>3]<=+b[i+8>>3])&1;return A|0}function $e(A,e,i){A=A|0;e=e|0;i=i|0;pk(a[e+16>>2]|0)|0;L2(e);return}function Ai(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;a=+b[e>>3];f=+b[i>>3];return(a>f?1:(a>31)|0}function ei(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0,t=0;l=(r[e+36>>0]|0)!=0;t=i+40|0;do{if((a[e+24>>2]|0)==(i|0)){f=+b[t>>3];if(l){n=(+b[i+64>>3]+ +b[i+48>>3])*.5;break}else{n=+b[i+48>>3];f=(+b[i+56>>3]+f)*.5;break}}else if(l){n=(+b[i+64>>3]+ +b[i+48>>3])*.5;f=+b[i+56>>3];break}else{n=+b[i+64>>3];f=(+b[i+56>>3]+ +b[t>>3])*.5;break}}while(0);b[A>>3]=f;b[A+8>>3]=n;return}function ii(A,e){A=A|0;e=e|0;var i=0;i=a[A+20>>2]|0;if((i|0)!=(a[e+20>>2]|0)?(i|0)!=(a[e+24>>2]|0):0)i=a[A+24>>2]|0;return i|0}function ri(A,e){A=A|0;e=e|0;var i=0.0;i=(+b[e+64>>3]+ +b[e+48>>3])*.5;b[A>>3]=(+b[e+56>>3]+ +b[e+40>>3])*.5;b[A+8>>3]=i;return}function fi(A,e,i,f,n,l,t){A=A|0;e=e|0;i=+i;f=+f;n=+n;l=l|0;t=t|0;var c=0,s=0;r[A>>0]=e;b[A+8>>3]=i;if(f>3]=f;b[A+16>>3]=i;a[A+36>>2]=e;a[A+32>>2]=s;r[A+1>>0]=c;return}function ai(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=a[e+36>>2]|0;do{if((a[r+4>>2]|0)!=(i|0)){if((a[r+12>>2]|0)==(i|0)){r=~~((+b[e+56>>3]+ +b[e+40>>3])*.5);i=~~+b[e+48>>3];break}if((a[r+8>>2]|0)==(i|0)){r=~~+b[e+40>>3];i=~~((+b[e+64>>3]+ +b[e+48>>3])*.5);break}if((a[r>>2]|0)==(i|0)){r=~~+b[e+56>>3];i=~~((+b[e+64>>3]+ +b[e+48>>3])*.5)}else{r=0;i=0}}else{r=~~((+b[e+56>>3]+ +b[e+40>>3])*.5);i=~~+b[e+64>>3]}}while(0);a[A>>2]=r;a[A+4>>2]=i;return}function ni(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=qF(8)|0;a[i>>2]=A;r=i+4|0;a[r>>2]=qF(A*12|0)|0;e=0;while(1){if((e|0)>=(A|0))break;n=Ma()|0;f=a[r>>2]|0;a[f+(e*12|0)+8>>2]=n;a[f+(e*12|0)>>2]=0;e=e+1|0}return i|0}function li(A){A=A|0;var e=0,i=0,r=0;i=A+4|0;e=0;while(1){r=a[i>>2]|0;if((e|0)>=(a[A>>2]|0))break;pk(a[r+(e*12|0)+8>>2]|0)|0;e=e+1|0}L2(r);L2(A);return}function ti(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=a[(a[A+4>>2]|0)+(e*12|0)+8>>2]|0;W5[a[i>>2]&63](i,f,1)|0;k=r;return}function ci(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r;a[f>>2]=i;A=A+4|0;n=a[(a[A>>2]|0)+(e*12|0)+8>>2]|0;W5[a[n>>2]&63](n,f,2)|0;a[f>>2]=e;i=a[(a[A>>2]|0)+(i*12|0)+8>>2]|0;W5[a[i>>2]&63](i,f,2)|0;k=r;return}function bi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=a[(a[A+4>>2]|0)+(e*12|0)+8>>2]|0;i=(W5[a[i>>2]&63](i,f,512)|0)!=0&1;k=r;return i|0}function si(A){A=A|0;var e=0,i=0,r=0,f=0;e=a[A>>2]|0;switch(e|0){case 0:break;case 1:{a[(a[A+4>>2]|0)+4>>2]=0;break}default:{r=wi(e)|0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(a[A>>2]|0)){e=0;break}if(!(a[(a[f>>2]|0)+(i*12|0)>>2]|0))e=ui(A,i,e,r)|0;i=i+1|0}while(1){i=ki(r)|0;if((i|0)<=-1)break;a[(a[f>>2]|0)+(i*12|0)+4>>2]=e;e=e+1|0}oi(r)}}return}function wi(A){A=A|0;var e=0;e=qF(8)|0;a[e+4>>2]=qF(A<<2)|0;a[e>>2]=-1;return e|0}function ui(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;t=A+4|0;n=a[t>>2]|0;c=n+(e*12|0)|0;a[c>>2]=1;n=a[n+(e*12|0)+8>>2]|0;l=n+4|0;i=i+1|0;n=xk(n)|0;while(1){if(!n)break;f=a[(a[l>>2]|0)+8>>2]|0;if((f|0)<0)f=a[n+8>>2]|0;else f=n+(0-f)|0;f=a[f>>2]|0;if(!(a[(a[t>>2]|0)+(f*12|0)>>2]|0))i=ui(A,f,i,r)|0;n=a[n>>2]|0}a[c>>2]=2;hi(r,e);return i+1|0}function ki(A){A=A|0;var e=0,i=0;e=a[A>>2]|0;if((e|0)==-1)A=-1;else{i=a[(a[A+4>>2]|0)+(e<<2)>>2]|0;a[A>>2]=e+-1;A=i}return A|0}function oi(A){A=A|0;L2(a[A+4>>2]|0);L2(A);return}function hi(A,e){A=A|0;e=e|0;var i=0;i=(a[A>>2]|0)+1|0;a[A>>2]=i;a[(a[A+4>>2]|0)+(i<<2)>>2]=e;return}function di(A){A=A|0;var e=0,i=0,r=0;i=a[A>>2]|0;a[A+8>>2]=i;a[A+12>>2]=a[A+4>>2];e=A+16|0;A=0;while(1){if((A|0)>=(i|0))break;r=a[e>>2]|0;f[r+(A*40|0)+18>>1]=f[r+(A*40|0)+16>>1]|0;A=A+1|0}return}function Bi(A){A=A|0;var e=0,i=0,r=0;e=a[A+8>>2]|0;a[A>>2]=e;a[A+4>>2]=a[A+12>>2];i=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;r=a[i>>2]|0;f[r+(A*40|0)+16>>1]=f[r+(A*40|0)+18>>1]|0;A=A+1|0}e=e+2|0;while(1){if((A|0)>=(e|0))break;f[(a[i>>2]|0)+(A*40|0)+16>>1]=0;A=A+1|0}return}function vi(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=qF(((a[A>>2]|0)*6|0)+(e<<1)<<2)|0;a[A+20>>2]=qF((((a[A>>2]|0)*3|0)+e|0)*24|0)|0;r=a[A>>2]|0;f=A+16|0;A=0;while(1){if((A|0)>=(r|0))break;a[(a[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+24|0;A=A+1|0}r=r+2|0;while(1){if((A|0)>=(r|0))break;a[(a[f>>2]|0)+(A*40|0)+28>>2]=i;i=i+(e<<2)|0;A=A+1|0}return}function gi(A){A=A|0;var e=0;e=qF(24)|0;a[e>>2]=0;a[e+16>>2]=qF(A*40|0)|0;return e|0}function Ei(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=a[A>>2]|0;a[i+(e*40|0)+32>>2]=e;a[A>>2]=e+1;return i+(e*40|0)|0}function Ci(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0;n=A+4|0;f=a[n>>2]|0;a[n>>2]=f+1;n=a[A+20>>2]|0;A=n+(f*24|0)|0;a[n+(f*24|0)+12>>2]=a[e+32>>2];a[n+(f*24|0)+16>>2]=a[i+32>>2];b[A>>3]=r;a[n+(f*24|0)+8>>2]=0;Ii(e,f);Ii(i,f);return A|0}function Ii(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;r=f[i>>1]|0;a[(a[A+28>>2]|0)+(r<<16>>16<<2)>>2]=e;f[i>>1]=r+1<<16>>16;return}function Zi(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+28>>2]|0);L2(a[e>>2]|0);L2(a[A+20>>2]|0);L2(A);return}function Gi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;n=a[A>>2]|0;l=A+16|0;r=0;while(1){if((r|0)>=(n|0))break;a[(a[l>>2]|0)+(r*40|0)>>2]=-2147483648;r=r+1|0}pa();A:do{if(!(Ta(e)|0)){a[e+8>>2]=0;a[e>>2]=0;e=A+20|0;e:while(1){n=Sa()|0;if(!n){r=0;break A}a[n>>2]=0-(a[n>>2]|0);if((n|0)==(i|0)){r=0;break A}l=n+16|0;t=n+28|0;r=0;while(1){if((r|0)>=(f[l>>1]|0))continue e;c=(a[e>>2]|0)+((a[(a[t>>2]|0)+(r<<2)>>2]|0)*24|0)|0;s=Qi(A,c,n)|0;w=a[s>>2]|0;do{if((w|0)<0){u=~~-(+b[c>>3]+ +(a[n>>2]|0));if((w|0)==-2147483648){a[s>>2]=u;if(Ta(s)|0){r=1;break A}a[s+8>>2]=n;a[s+12>>2]=c;break}else{if((w|0)>=(u|0))break;Pa(s,u);a[s+8>>2]=n;a[s+12>>2]=c;break}}}while(0);r=r+1|0}}}else r=1}while(0);return r|0}function Qi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=a[e+12>>2]|0;if((r|0)==(a[i+32>>2]|0))r=a[e+16>>2]|0;return(a[A+16>>2]|0)+(r*40|0)|0}function mi(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=a[A>>2]|0;Jg(n,3,e)|0;e=a[n+92>>2]|0;do{if(e){i=a[e+16>>2]|0;l=a[i+12>>2]|0;a[A+76>>2]=l;r=a[i+16>>2]|0;a[A+84>>2]=r;f=A+80|0;a[f>>2]=a[i>>2];a[A+88>>2]=a[e+4>>2];i=A+152|0;r=a[i>>2]|a[r>>2];a[i>>2]=r;e=a[n+80>>2]|0;if(!e){a[A+60>>2]=0;e=999;break}else{n=a[e+16>>2]|0;a[A+60>>2]=a[n+12>>2];t=a[n+16>>2]|0;a[A+68>>2]=t;a[A+72>>2]=a[e+4>>2];a[i>>2]=r|a[t>>2];a[A+64>>2]=a[((l|0)==0?f:n)>>2];e=300;break}}else e=999}while(0);return e|0}function Li(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(!(bg(A)|0))if((e|0)!=0?(i=a[e>>2]|0,(i|0)!=0):0){F5[i&127](A);A=0}else A=0;else A=1;return A|0}function Wi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+4>>2]|0,i|0):0)F5[i&127](A);a[(a[A>>2]|0)+24>>2]=0;Bg(A);return}function yi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0;r=+b[e+504>>3];f=+b[e+512>>3];l=+b[e+352>>3];if(!(a[e+360>>2]|0)){n=+b[i>>3]+r;i=i+8|0;r=f}else n=-(f+ +b[i+8>>3]);f=+b[e+528>>3]*l*(+b[i>>3]+r);b[A>>3]=+b[e+520>>3]*l*n;b[A+8>>3]=f;return}function zi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0.0;f=+b[A+504>>3];n=+b[A+512>>3];l=+b[A+352>>3];t=+b[A+520>>3]*l;l=+b[A+528>>3]*l;A:do{if(!(a[A+360>>2]|0)){A=0;while(1){if((A|0)>=(r|0))break A;b[i+(A<<4)>>3]=(+b[e+(A<<4)>>3]+f)*t;b[i+(A<<4)+8>>3]=(+b[e+(A<<4)+8>>3]+n)*l;A=A+1|0}}else{A=0;while(1){if((A|0)>=(r|0))break A;c=-(t*(+b[e+(A<<4)+8>>3]+n));b[i+(A<<4)+8>>3]=(+b[e+(A<<4)>>3]+f)*l;b[i+(A<<4)>>3]=c;A=A+1|0}}}while(0);return i|0}function Yi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+8>>2]|0,i|0):0)F5[i&127](A);return}function Di(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+12>>2]|0,i|0):0)F5[i&127](A);dg(A);return}function Mi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+24>>2]|0,i|0):0)F5[i&127](A);return}function Fi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+28>>2]|0,i|0):0)F5[i&127](A);return}function Vi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+16>>2]|0,i|0):0){e=a[A+160>>2]|0;X5[i&31](A,a[(a[(a[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0,e,a[A+156>>2]|0)}return}function Ji(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+20>>2]|0,i|0):0)F5[i&127](A);return}function Ni(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+32>>2]|0,i|0):0)F5[i&127](A);return}function Xi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+36>>2]|0,i|0):0)F5[i&127](A);return}function Ri(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+40>>2]|0,i|0):0)F5[i&127](A);return}function Hi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+44>>2]|0,i|0):0)F5[i&127](A);return}function pi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+48>>2]|0,i|0):0)F5[i&127](A);return}function Ui(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+52>>2]|0,i|0):0)F5[i&127](A);return}function xi(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+56>>2]|0,i|0):0)F5[i&127](A);return}function Ti(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+60>>2]|0,i|0):0)F5[i&127](A);return}function ji(A,e){A=A|0;e=e|0;var i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+64>>2]|0,i|0):0)F5[i&127](A);return}function Si(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+68>>2]|0,i|0):0)F5[i&127](A);return}function Pi(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=a[A+60>>2]|0;if(n|0?(l=a[n+72>>2]|0,l|0):0)R5[l&15](A,e,i,r,f);return}function Oi(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+76>>2]|0,i|0):0)F5[i&127](A);return}function Ki(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[A+60>>2]|0;if(i|0?(r=a[i+80>>2]|0,r|0):0)V5[r&63](A,e);return}function _i(A){A=A|0;var e=0,i=0;e=a[A+60>>2]|0;if(e|0?(i=a[e+84>>2]|0,i|0):0)F5[i&127](A);return}function qi(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+48|0;f=b+32|0;l=b;t=b+16|0;c=a[A+60>>2]|0;s=a[i>>2]|0;do{if(s|0?r[s>>0]|0:0){s=a[A+16>>2]|0;if(s|0?(a[s+144>>2]|0)==0:0)break;if(!(a[A+152>>2]&8192)){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];yi(t,A,f);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2]}else{a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2]}if(c|0?(n=a[c+88>>2]|0,n|0):0){a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];J5[n&127](A,f,i)}}}while(0);k=b;return}function $i(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=a[A+60>>2]|0;n=(a[A+16>>2]|0)+16|0;t=G1(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(Ar(a[A+68>>2]|0,e,n),i=a[f+92>>2]|0,i|0):0)V5[i&63](A,n);if(l)r[t>>0]=58;return}function Ar(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;n=b+16|0;c=b+8|0;t=b;a[i>>2]=e;a[i+32>>2]=5;r=Bf(e)|0;f=a[A+16>>2]|0;if(!((f|0)!=0?(i8(r,f,a[A+20>>2]|0,4,102)|0)!=0:0))l=3;A:do{if((l|0)==3){switch(vf(e,i,a[A+24>>2]|0)|0){case 0:break A;case 1:break;default:{ao(1,111046,n)|0;break A}}A=$F((S2(e)|0)+16|0)|0;a[t>>2]=e;P4(A,111011,t)|0;if(fF(A)|0){a[c>>2]=e;ao(0,111020,c)|0}L2(A)}}while(0);k=b;return}function er(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=a[A+60>>2]|0;n=(a[A+16>>2]|0)+56|0;t=G1(e,58)|0;l=(t|0)!=0;if(l)r[t>>0]=0;if(f|0?(Ar(a[A+68>>2]|0,e,n),i=a[f+92>>2]|0,i|0):0)V5[i&63](A,n);if(l)r[t>>0]=58;return}function ir(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0,l=0,t=0;n=a[A+60>>2]|0;l=A+16|0;t=(a[l>>2]|0)+96|0;if(n|0?(Ar(a[A+68>>2]|0,e,t),f=a[n+92>>2]|0,f|0):0)V5[f&63](A,t);t=a[l>>2]|0;a[t+136>>2]=i;c[t+140>>2]=r;return}function rr(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;c=s;t=a[A+60>>2]|0;A=a[A+16>>2]|0;a[A+160>>2]=e;A:do{if((e|0)!=0&(t|0)!=0){t=A+144|0;l=A+152|0;n=A+148|0;A=e;e:while(1){f=A+4|0;A=a[A>>2]|0;if(!A)break A;i:do{switch(r[A>>0]|0){case 115:{if(!(A1(A,111067)|0)){a[t>>2]=3;A=f;continue e}if(!(A1(A,111088)|0)){i=115;while(1){e=A+1|0;if(!(i<<24>>24))break;A=e;i=r[e>>0]|0}b[l>>3]=+$3(e);A=f;continue e}break}case 100:{if(!(A1(A,137327)|0)){a[t>>2]=1;A=f;continue e}if(!(A1(A,137320)|0)){a[t>>2]=2;A=f;continue e}break}case 105:{if(A1(A,134335)|0?A1(A,111073)|0:0)break i;a[t>>2]=0;A=f;continue e}case 98:{if(!(A1(A,111083)|0)){b[l>>3]=2.0;A=f;continue e}break}case 102:{if(!(A1(A,111101)|0)){a[n>>2]=1;A=f;continue e}break}case 117:{if(!(A1(A,111108)|0)){a[n>>2]=0;A=f;continue e}break}case 116:{if(!(A1(A,111117)|0)){A=f;continue e}break}default:{}}}while(0);a[c>>2]=A;ao(0,111125,c)|0;A=f}}}while(0);k=s;return}function fr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t;i=a[A+60>>2]|0;if((i|0?(l=i+96|0,f=a[l>>2]|0,f|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){i=e+16|0;b[n>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[n+8>>3]=(+b[e+24>>3]+ +b[e+8>>3])*.5;e=n+16|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];if(!(a[A+152>>2]&8192)){zi(A,n,n,2)|0;f=a[l>>2]|0}J5[f&127](A,n,r)}k=t;return}function ar(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+48|0;s=u;f=a[A+60>>2]|0;if((f|0?(w=f+100|0,a[w>>2]|0):0)?(b=A+16|0,c=a[b>>2]|0,a[c+144>>2]|0):0){if(!(r&4)){f=r;n=0}else{f=r&-5;r=c+16|0;n=s;l=r;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));n=r;l=c+56|0;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));n=1}if(!(a[A+152>>2]&8192)){r=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=r;r=eV(a[47364]|0,r<<4)|0;a[47364]=r}else r=a[47364]|0;zi(A,e,r,i)|0;X5[a[w>>2]&31](A,r,i,f)}else X5[a[w>>2]&31](A,e,i,f);if(n|0){n=(a[b>>2]|0)+16|0;l=s;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0))}}k=u;return}function nr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+64|0;f=r;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];n=f+32|0;e=e+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];b[f+16>>3]=+b[f>>3];b[f+24>>3]=+b[f+40>>3];b[f+48>>3]=+b[n>>3];b[f+56>>3]=+b[f+8>>3];ar(A,f,4,i);k=r;return}function lr(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0;t=a[A+60>>2]|0;do{if((t|0?(c=t+104|0,l=a[c>>2]|0,l|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){if(a[A+152>>2]&8192|0){H5[l&15](A,e,i,r,f,n&255);break}l=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=l;l=eV(a[47364]|0,l<<4)|0;a[47364]=l}else l=a[47364]|0;zi(A,e,l,i)|0;H5[a[c>>2]&15](A,l,i,r,f,n&255)}}while(0);return}function tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=a[A+60>>2]|0;do{if((r|0?(n=r+108|0,f=a[n>>2]|0,f|0):0)?a[(a[A+16>>2]|0)+144>>2]|0:0){if(a[A+152>>2]&8192|0){J5[f&127](A,e,i);break}r=i+10|0;if((a[47363]|0)<(i|0)){a[47363]=r;r=eV(a[47364]|0,r<<4)|0;a[47364]=r}else r=a[47364]|0;zi(A,e,r,i)|0;J5[a[n>>2]&127](A,r,i)}}while(0);return}function cr(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A+60>>2]|0;if((e|0?!((i|0)==0|(r[e>>0]|0)==0):0)?(f=a[i+112>>2]|0,f|0):0)V5[f&63](A,e);return}function br(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0.0,g=0.0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0;z=k;k=k+112|0;m=z+64|0;y=z;w=z+96|0;I=z+48|0;Z=z+32|0;L=a[A+60>>2]|0;if(!A)vA(111282,111178,691,111189);if(!e)vA(111208,111178,692,111189);if(!(r[e>>0]|0))vA(111213,111178,693,111189);W=Xg(e)|0;if(!W){if((L|0)!=0&(GN(e)|0)!=0?(s=a[L+116>>2]|0,s|0):0)R5[s&15](A,e,i,f,n&255)}else{B=A+432|0;a[m>>2]=a[B>>2];a[m+4>>2]=a[B+4>>2];a[m+8>>2]=a[B+8>>2];a[m+12>>2]=a[B+12>>2];pg(w,W,m);B=a[w>>2]|0;s=a[w+4>>2]|0;if(!((B|0)<1&(s|0)<1)){w=y+16|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[y>>2]=a[i>>2];a[y+4>>2]=a[i+4>>2];a[y+8>>2]=a[i+8>>2];a[y+12>>2]=a[i+12>>2];G=y+8|0;Q=y+24|0;e=1;while(1){if((e|0)>=(f|0))break;Y=i+(e<<4)|0;E=+b[Y>>3];b[y>>3]=+b[(+b[y>>3]>3];C=+b[i+(e<<4)+8>>3];b[G>>3]=+b[(+b[G>>3]>3];b[w>>3]=+b[(+b[w>>3]>E?w:Y)>>3];b[Q>>3]=+b[(+b[Q>>3]>C?w:Y)+8>>3];e=e+1|0}c=+b[w>>3];t=+b[y>>3];v=c-t;g=+b[Q>>3];E=+b[G>>3];C=g-E;u=+(s|0);o=+(B|0);h=v/o;d=C/u;A:do{switch(sr(l)|0){case 1:if(h>3]=t;c=c-v;b[w>>3]=c}if(u>3]=E+C;b[Q>>3]=g-C}if(!(a[A+152>>2]&8192)){a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];yi(I,A,m);a[y>>2]=a[I>>2];a[y+4>>2]=a[I+4>>2];a[y+8>>2]=a[I+8>>2];a[y+12>>2]=a[I+12>>2];a[m>>2]=a[w>>2];a[m+4>>2]=a[w+4>>2];a[m+8>>2]=a[w+8>>2];a[m+12>>2]=a[w+12>>2];yi(Z,A,m);a[w>>2]=a[Z>>2];a[w+4>>2]=a[Z+4>>2];a[w+8>>2]=a[Z+8>>2];a[w+12>>2]=a[Z+12>>2];c=+b[w>>3];t=+b[y>>3]}if(t>c){b[y>>3]=c;b[w>>3]=t}t=+b[G>>3];c=+b[Q>>3];if(t>c){b[G>>3]=c;b[Q>>3]=t}if(L|0){Y=a[A+72>>2]|0;a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];a[m+16>>2]=a[y+16>>2];a[m+20>>2]=a[y+20>>2];a[m+24>>2]=a[y+24>>2];a[m+28>>2]=a[y+28>>2];or(A,W,m,n,Y)}}}k=z;return}function sr(A){A=A|0;if(r[A>>0]|0)if(N1(A,141116)|0)if(N1(A,141048)|0)if(!(N1(A,111221)|0))A=4;else A=(gR(A)|0)<<24>>24!=0&1;else A=3;else A=2;else A=0;return A|0}function wr(A,e){A=A|0;e=+e;if(a[A+60>>2]|0)b[(a[A+16>>2]|0)+152>>3]=e;return}function ur(A,e){A=A|0;e=e|0;e=Jg(A,1,e)|0;if(!e)e=999;else{e=a[e+16>>2]|0;a[A+184>>2]=a[e+4>>2];a[A+172>>2]=a[e+12>>2];a[A+176>>2]=a[e>>2];a[A+180>>2]=a[e+16>>2];e=300}return e|0}function kr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t;Td(e,137483,280,1)|0;n=e+16|0;a[(a[n>>2]|0)+144>>2]=A;if((Zd(e)|0)!=(e|0))a[(a[(Zd(e)|0)+16>>2]|0)+144>>2]=A;r=po(e,111226)|0;i=A+172|0;if((r|0)!=0?(a[i>>2]=0,(ur(A,r)|0)==999):0){i=Ng(A,1,r)|0;a[f>>2]=r;a[f+4>>2]=i;ao(1,111233,f)|0;i=-1}else{r=a[i>>2]|0;if(!r)i=-1;else{nF(1);DF(e,a[a[A+180>>2]>>2]&1);i=a[(a[n>>2]|0)+8>>2]|0;a[(a[(Zd(e)|0)+16>>2]|0)+8>>2]=i;oX();i=a[r>>2]|0;if(i|0?(F5[i&127](e),l=a[r+4>>2]|0,l|0):0)a[(a[n>>2]|0)+148>>2]=l;nF(0);i=0}}k=t;return i|0}function or(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+176|0;b=w+8|0;c=w;l=w+40|0;if(!A)vA(111282,111286,52,111300);if(!e)vA(111312,111286,53,111300);t=a[e+8>>2]|0;if(!t)vA(111315,111286,54,111300);if(!(r[t>>0]|0))vA(111324,111286,55,111300);$1(l,a[e+28>>2]|0)|0;t=l+(S2(l)|0)|0;r[t>>0]=58;r[t+1>>0]=0;u3(l,n)|0;if((hr(A,l)|0)==999){a[c>>2]=l;ao(0,111336,c)|0}n=a[A+92>>2]|0;if(n|0?(s=a[n>>2]|0,s|0):0){a[b>>2]=a[i>>2];a[b+4>>2]=a[i+4>>2];a[b+8>>2]=a[i+8>>2];a[b+12>>2]=a[i+12>>2];a[b+16>>2]=a[i+16>>2];a[b+20>>2]=a[i+20>>2];a[b+24>>2]=a[i+24>>2];a[b+28>>2]=a[i+28>>2];X5[s&31](A,e,b,f)}k=w;return}function hr(A,e){A=A|0;e=e|0;e=Jg(a[A>>2]|0,4,e)|0;if(!e)e=999;else{e=a[e+16>>2]|0;a[A+92>>2]=a[e+12>>2];a[A+96>>2]=a[e>>2];e=300}return e|0}function dr(A){A=A|0;return 1}function Br(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;b[e>>3]=+b[e>>3]+10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function vr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;b[e>>3]=+b[e>>3]-10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function gr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;b[e>>3]=+b[e>>3]-10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function Er(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;b[e>>3]=+b[e>>3]+10.0/+b[A+352>>3];r[A+537>>0]=1;return 0}function Cr(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;b[e>>3]=+b[e>>3]*1.1;r[A+537>>0]=1;return 0}function Ir(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;b[e>>3]=+b[e>>3]*.9090909090909091;r[A+537>>0]=1;return 0}function Zr(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0;i=A+536|0;e=(r[i>>0]|0)==0;r[i>>0]=e&1;if(e){e=a[A+448>>2]|0;i=a[A+452>>2]|0;l=+(e>>>0);n=+(i>>>0);f=l/+(e|0)>3]=(f?l:n)/+((f?e:i)|0);i=A+336|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;r[A+537>>0]=1}return 0}function Gr(A){A=A|0;var e=0,i=0;e=a[(a[A>>2]|0)+168>>2]|0;i=A+580|0;if(!(a[i>>2]|0)){a[i>>2]=e;i=(a[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]|2;Hr(A,e)}BI(A,e);r[A+540>>0]=1;return}function Qr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;f=c;switch(e|0){case 1:{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];Mr(A,f);Rr(A);r[A+538>>0]=1;r[A+541>>0]=1;t=13;break}case 2:{r[A+538>>0]=1;r[A+541>>0]=2;t=13;break}case 3:{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];Mr(A,f);r[A+538>>0]=1;r[A+541>>0]=3;t=13;break}case 4:{r[A+536>>0]=0;if(!(a[A+360>>2]|0)){f=A+352|0;l=+b[f>>3];e=A+336|0;b[e>>3]=(+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+520>>3]*l)+ +b[e>>3];n=+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5;e=A+528|0}else{f=A+352|0;l=+b[f>>3];e=A+336|0;b[e>>3]=+b[e>>3]-(+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+528>>3]*l);n=+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5;e=A+520|0}t=A+344|0;b[t>>3]=n*.10000000000000009/(+b[e>>3]*l)+ +b[t>>3];b[f>>3]=l*1.1;t=13;break}case 5:{r[A+536>>0]=0;t=A+352|0;l=+b[t>>3]*.9090909090909091;b[t>>3]=l;if(!(a[A+360>>2]|0)){f=A+336|0;b[f>>3]=+b[f>>3]-(+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+520>>3]*l);n=+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5;f=A+528|0}else{f=A+336|0;b[f>>3]=(+b[i+8>>3]-+((a[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+b[A+528>>3]*l)+ +b[f>>3];n=+b[i>>3]-+((a[A+448>>2]|0)>>>0)*.5;f=A+520|0}t=A+344|0;b[t>>3]=+b[t>>3]-n*.10000000000000009/(+b[f>>3]*l);t=13;break}default:{}}if((t|0)==13)r[A+537>>0]=1;A=A+560|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=c;return}function mr(A,e,i){A=A|0;e=e|0;i=i|0;r[A+538>>0]=0;r[A+541>>0]=0;return}function Lr(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0;c=k;k=k+16|0;i=c;l=A+560|0;t=(+b[e>>3]-+b[l>>3])/+b[A+520>>3];n=(+b[e+8>>3]-+b[A+568>>3])/+b[A+528>>3];if(!(+y(+t)<.0001&+y(+n)<.0001)){switch(r[A+541>>0]|0){case 0:{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];Mr(A,i);break}case 2:{f=+b[A+352>>3];if(!(a[A+360>>2]|0)){i=A+336|0;b[i>>3]=+b[i>>3]-t/f;i=A+344|0;b[i>>3]=+b[i>>3]-n/f}else{i=A+336|0;b[i>>3]=+b[i>>3]-n/f;i=A+344|0;b[i>>3]=+b[i>>3]+t/f}r[A+537>>0]=1;break}default:{}}a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2]}k=c;return}function Wr(A,e,i){A=A|0;e=e|0;i=i|0;return}function yr(A){A=A|0;return}function zr(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=a[A>>2]|0;if(e){e=F3(e,138821)|0;if(e|0){t=cg(e,0)|0;h3(e)|0;f=5}}else{t=cg(a[15647]|0,0)|0;f=5}if((f|0)==5?t|0:0){n=c+168|0;e=a[n>>2]|0;if(e|0){f=a[c+172>>2]|0;if((f|0)!=0?(l=a[f+4>>2]|0,(l|0)!=0):0){F5[l&127](e);e=a[n>>2]|0}NF(e);Bh(a[n>>2]|0)|0}Kd(t,0,137483,280,1);Kd(t,1,137447,304,1);Kd(t,2,137460,176,1);a[n>>2]=t;a[(a[t+16>>2]|0)+144>>2]=c;if((uE(c,t,i)|0)!=-1){a[A+580>>2]=0;a[A+576>>2]=0;r[A+537>>0]=1}}return}function Yr(A,e){A=A|0;e=e|0;A=a[A>>2]|0;uE(A,a[A+168>>2]|0,e)|0;return}function Dr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=a[A>>2]|0;f=n+160|0;r=a[f>>2]|0;if((r|0)!=0?(a[n+164>>2]|0)==0:0){t=n+192|0;l=a[t>>2]|0;a[f>>2]=0;a[t>>2]=0;f=l}else{f=0;r=0}oE(n,a[n+168>>2]|0,e,i)|0;if(r|0){t=a[A>>2]|0;a[t+160>>2]=r;a[t+192>>2]=f}return}function Mr(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0.0,t=0.0,c=0.0,s=0;f=k;k=k+80|0;i=f+48|0;n=f;s=f+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];Fr(s,A,i);c=+b[s>>3];t=+b[s+8>>3];l=1.0/+b[A+352>>3];b[n+16>>3]=l+c;b[n+24>>3]=l+t;b[n>>3]=c-l;b[n+8>>3]=t-l;e=a[(a[A>>2]|0)+168>>2]|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[i+16>>2]=a[n+16>>2];a[i+20>>2]=a[n+20>>2];a[i+24>>2]=a[n+24>>2];a[i+28>>2]=a[n+28>>2];e=Vr(e,i)|0;i=A+576|0;if((e|0)!=(a[i>>2]|0)){Jr(A);a[i>>2]=e;Nr(A);r[A+537>>0]=1}k=f;return}function Fr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0;if(!(a[e+360>>2]|0)){r=+b[e+352>>3];f=+b[i+8>>3];n=r;l=e+528|0;r=+b[i>>3]/(+b[e+520>>3]*r)-+b[e+504>>3]}else{r=+b[e+352>>3];f=-+b[i>>3];n=r;l=e+520|0;r=+b[i+8>>3]/(+b[e+528>>3]*r)-+b[e+504>>3]}n=f/(+b[l>>3]*n)-+b[e+512>>3];b[A>>3]=r;b[A+8>>3]=n;return}function Vr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n;r=cd(A)|0;A:while(1){if(!r){r=9;break}i=Oo(A,r)|0;while(1){if(!i)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];if((QH(i,f)|0)<<24>>24){r=6;break A}i=_o(A,i)|0}r=bd(A,r)|0}do{if((r|0)!=6)if((r|0)==9){i=sd(A)|0;while(1){if(!i)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];if((IH(i,f)|0)<<24>>24){r=12;break}i=wd(A,i)|0}if((r|0)==12)break;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];a[f+20>>2]=a[e+20>>2];a[f+24>>2]=a[e+24>>2];a[f+28>>2]=a[e+28>>2];i=Xr(A,f)|0;if(!i){i=A;break}else break}}while(0);k=n;return i|0}function Jr(A){A=A|0;var e=0;e=a[A+576>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{e=(a[e+16>>2]|0)+112|0;r[e>>0]=r[e>>0]&-2;break A}case 1:{e=(a[e+16>>2]|0)+117|0;r[e>>0]=r[e>>0]&-2;break A}case 2:{e=(a[e+16>>2]|0)+115|0;r[e>>0]=r[e>>0]&-2;break A}default:break A}}while(0);a[A+584>>2]=0;return}function Nr(A){A=A|0;var e=0,i=0;i=A+584|0;e=a[i>>2]|0;if(e|0){L2(e);a[i>>2]=0}e=a[A+576>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{A=(a[e+16>>2]|0)+112|0;r[A>>0]=r[A>>0]|1;A=Yo(e,0,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}case 1:{A=(a[e+16>>2]|0)+117|0;r[A>>0]=r[A>>0]|1;A=Yo(Id(e)|0,1,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}case 2:{A=(a[e+16>>2]|0)+115|0;r[A>>0]=r[A>>0]|1;A=Yo(Id(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0,2,141101,0)|0;if(!A)break A;a[i>>2]=SF(Uo(e,A)|0,e)|0;break A}default:break A}}while(0);return}function Xr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;s=k;k=k+32|0;r=s;n=a[A+16>>2]|0;l=a[n+180>>2]|0;t=n+184|0;i=1;while(1){if((i|0)>(l|0)){c=4;break}f=a[(a[t>>2]|0)+(i<<2)>>2]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];a[r+16>>2]=a[e+16>>2];a[r+20>>2]=a[e+20>>2];a[r+24>>2]=a[e+24>>2];a[r+28>>2]=a[e+28>>2];f=Xr(f,r)|0;if(!f)i=i+1|0;else{A=f;break}}do{if((c|0)==4){u=+b[n+24>>3];w=+b[n+40>>3];if(((+b[e+16>>3]>=+b[n+16>>3]?+b[n+32>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=u:0)?w>=+b[e+8>>3]:0)break;A=0}}while(0);k=s;return A|0}function Rr(A){A=A|0;var e=0,i=0,f=0;f=A+580|0;e=a[f>>2]|0;A:do{if(e|0)switch(Md(e)|0){case 0:{i=(a[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]&-7|4;break A}case 1:{i=(a[e+16>>2]|0)+117|0;r[i>>0]=r[i>>0]&-7|4;break A}case 2:{i=(a[e+16>>2]|0)+115|0;r[i>>0]=r[i>>0]&-7|4;break A}default:break A}}while(0);e=A+588|0;i=a[e>>2]|0;if(i|0){L2(i);a[e>>2]=0}e=a[A+576>>2]|0;a[f>>2]=e;A:do{if(e|0)switch(Md(e)|0){case 0:{f=(a[e+16>>2]|0)+112|0;r[f>>0]=r[f>>0]|2;Hr(A,e);break A}case 1:{f=(a[e+16>>2]|0)+117|0;r[f>>0]=r[f>>0]|2;pr(A,e);break A}case 2:{f=(a[e+16>>2]|0)+115|0;r[f>>0]=r[f>>0]|2;Ur(A,e);break A}default:break A}}while(0);return}function Hr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+592|0;do{if((Zd(e)|0)==(e|0))if(!(Ih(e)|0)){Yg(i,0,111494);break}else{Yg(i,0,111486);break}else Yg(i,0,111500)}while(0);Yg(i,1,Vh(e)|0);a[A+596>>2]=2;f=A+604|0;i=0;r=2;while(1){i=Jo(e,0,i)|0;if(!i)break;Yg(f,r,a[i+8>>2]|0);Yg(f,r+1|0,Uo(e,i)|0);Yg(f,r+2|0,0);r=r+3|0}a[A+608>>2]=r;i=Yo(e,0,141055,0)|0;if(!i){i=Yo(e,0,111477,0)|0;if(i|0)n=11}else n=11;if((n|0)==11)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function pr(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;f=A+592|0;Yg(f,0,111481);Yg(f,1,Vh(e)|0);a[A+596>>2]=2;f=A+604|0;n=Zd(Id(e)|0)|0;r=2;i=0;while(1){i=Jo(n,1,i)|0;if(!i)break;Yg(f,r,a[i+8>>2]|0);Yg(f,r|1,Uo(e,i)|0);r=r+2|0}a[A+608>>2]=r;i=Yo(Id(e)|0,1,141055,0)|0;if(!i){i=Yo(Id(e)|0,1,111477,0)|0;if(i|0)l=6}else l=6;if((l|0)==6)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function Ur(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;l=A+592|0;Yg(l,0,111450);b=e+48|0;Yg(l,1,Vh(a[((a[e>>2]&3|0)==3?e:b)+40>>2]|0)|0);b=(Ih(Id(a[((a[e>>2]&3|0)==3?e:b)+40>>2]|0)|0)|0)!=0;Yg(l,3,b?137738:141747);b=e+-48|0;Yg(l,4,Vh(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0);a[A+596>>2]=7;t=A+604|0;c=Zd(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0)|0;n=7;i=0;A:while(1){while(1){i=Jo(c,2,i)|0;if(!i)break A;r=i+8|0;f=a[r>>2]|0;if(!(A1(f,111455)|0)){s=5;break}if(!(A1(f,111464)|0)){s=7;break}if(A1(f,111473)|0)break;Yg(l,6,Uo(e,i)|0)}if((s|0)==5){s=0;Yg(l,2,Uo(e,i)|0)}else if((s|0)==7){s=0;Yg(l,5,Uo(e,i)|0)}Yg(t,n,a[r>>2]|0);Yg(t,n+1|0,Uo(e,i)|0);n=n+2|0}a[A+608>>2]=n;i=Yo(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0,2,141055,0)|0;if(!i){i=Yo(Id(a[((a[e>>2]&3|0)==2?e:b)+40>>2]|0)|0,2,111477,0)|0;if(i|0)s=13}else s=13;if((s|0)==13)a[A+588>>2]=SF(Uo(e,i)|0,e)|0;return}function xr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=Tr(A,e,a[i>>2]|0)|0;i=a[i+4>>2]|0;while(1){f=a[i+4>>2]|0;if(!f)break;e=0;while(1){r=a[f+(e*20|0)+4>>2]|0;if(!r)break;Fg(A,a[i>>2]|0,r,a[f+(e*20|0)+8>>2]|0,n,f+(e*20|0)|0)|0;e=e+1|0}i=i+8|0}return}function Tr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=$F(12)|0;if(!e)e=0;else e=s3(e)|0;a[r+4>>2]=e;a[r+8>>2]=s3(i)|0;i=A+100|0;a[r>>2]=a[i>>2];a[i>>2]=r;return r|0}function jr(A,e){A=A|0;e=e|0;Sr(A);r[A+44>>0]=0;Pr(A)|0;fR(A)|0;return}function Sr(A){A=A|0;var e=0,i=0;e=a[A+32>>2]|0;A:do{if(e|0)while(1){i=a[e>>2]|0;if(!i)break A;if((r[i>>0]|0)==103?X4(i,111509)|0:0)xr(A,0,a[e+4>>2]|0);e=e+8|0}}while(0);return}function Pr(A){A=A|0;var e=0;e=Jg(A,2,111522)|0;if(!e)A=999;else{a[A+148>>2]=a[(a[e+16>>2]|0)+12>>2];A=300}return A|0}function Or(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=a[A+148>>2]|0;if((A|0)!=0?(r=a[A>>2]|0,(r|0)!=0):0)A=m5[r&127](e,i)|0;else A=0;return A|0}function Kr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(a[e>>2]|0)-(a[i>>2]|0)|0}function _r(A){A=A|0;var e=0.0,i=0.0;A=a[A+16>>2]|0;i=+b[A+16>>3];e=+b[A+24>>3];return(qr(~~(i>e?i:e)>>>0)|0)+1|0}function qr(A){A=A|0;var e=0,i=0;if(!A)A=-1;else{i=A>>>0>65535;A=i?A>>>16:A;i=i?16:0;e=A>>>0>255;A=e?A>>>8:A;i=e?i|8:i;e=A>>>0>15;A=e?A>>>4:A;i=e?i|4:i;e=A>>>0>3;A=(e?i|2:i)+((e?A>>>2:A)>>>0>1&1)|0}return A|0}function $r(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+32|0;h=d;o=Af(A,e,i,f,n)|0;i=ef(o)|0;if((i|0)>=0){w=h+16|0;u=h+24|0;s=h+8|0;c=n+32|0;i=0;n=0;while(1){if((n|0)>=(e|0))break;f=A+(n*40|0)+32|0;do{if(a[f>>2]|0){rf(h,o,A+(n*40|0)|0);l=+b[w>>3];t=+b[u>>3];if(!(a[h>>2]|0)){r[(a[f>>2]|0)+36>>0]=1;break}if(+b[s>>3]==0.0){f=a[f>>2]|0;b[f+16>>3]=l;b[f+24>>3]=t;r[f+36>>0]=1;break}if((r[c>>0]|0)==1){f=a[f>>2]|0;b[f+16>>3]=l;b[f+24>>3]=t;r[f+36>>0]=1}else i=1}}while(0);n=n+1|0}ff(o)}k=d;return i|0}function Af(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;n=qF(28)|0;c=jk(25912,a[4584]|0)|0;l=n+20|0;a[l>>2]=c;do{if(c){c=Xn()|0;a[n+24>>2]=c;if(!c){L3(111740,14,1,a[15712]|0)|0;t=6;break}else{a[n>>2]=A;a[n+4>>2]=e;a[n+8>>2]=i;a[n+12>>2]=r;a[n+16>>2]=f;break}}else{L3(111740,14,1,a[15712]|0)|0;t=6}}while(0);if((t|0)==6){A=a[l>>2]|0;if(A|0)pk(A)|0;A=a[n+24>>2]|0;if(A|0)Hn(A)|0;L2(n);n=0}return n|0}function ef(A){A=A|0;var e=0;e=uf(A)|0;if((e|0)>=0){kf(A);of(A);e=pk(a[A+20>>2]|0)|0}return e|0}function rf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0.0,J=0,N=0;N=k;k=k+464|0;F=N+416|0;J=N+400|0;Y=N+384|0;s=N+352|0;w=N+320|0;u=N+288|0;o=N+256|0;d=N+224|0;B=N+192|0;v=N+160|0;g=N+128|0;E=N+96|0;I=N+64|0;Z=N+32|0;D=N;G=a[i+32>>2]|0;r=+b[G>>3];L=i+16|0;Q=(r*2.0+ +b[L>>3])*.125;W=G+8|0;M=i+24|0;l=+b[M>>3];V=(+b[W>>3]*2.0+l)*.5;if(!G)vA(111533,111543,445,111553);f=F;n=f+36|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));m=G+16|0;b[m>>3]=+b[i>>3]-r;y=i+8|0;z=G+24|0;b[z>>3]=l+ +b[y>>3];af(s,e,i,F);t=a[s>>2]|0;f=a[s+4>>2]|0;r=+b[s+8>>3];s=s+16|0;a[J>>2]=a[s>>2];a[J+4>>2]=a[s+4>>2];a[J+8>>2]=a[s+8>>2];a[J+12>>2]=a[s+12>>2];A:do{if(!t){a[A>>2]=0;a[A+4>>2]=f;b[A+8>>3]=r;A=A+16|0;a[A>>2]=a[J>>2];a[A+4>>2]=a[J+4>>2];a[A+8>>2]=a[J+8>>2];a[A+12>>2]=a[J+12>>2]}else{b[z>>3]=+b[y>>3];af(w,e,i,F);n=a[w>>2]|0;s=a[w+4>>2]|0;l=+b[w+8>>3];w=w+16|0;a[Y>>2]=a[w>>2];a[Y+4>>2]=a[w+4>>2];a[Y+8>>2]=a[w+8>>2];a[Y+12>>2]=a[w+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=s;r=l}else n=t;b[z>>3]=+b[y>>3]-+b[W>>3];af(u,e,i,F);s=a[u>>2]|0;t=a[u+4>>2]|0;l=+b[u+8>>3];u=u+16|0;a[Y>>2]=a[u>>2];a[Y+4>>2]=a[u+4>>2];a[Y+8>>2]=a[u+8>>2];a[Y+12>>2]=a[u+12>>2];if(!s){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=t;r=l}else s=n;b[m>>3]=+b[i>>3];b[z>>3]=+b[M>>3]+ +b[y>>3];af(o,e,i,F);n=a[o>>2]|0;t=a[o+4>>2]|0;l=+b[o+8>>3];o=o+16|0;a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3]-+b[W>>3];af(d,e,i,F);n=a[d>>2]|0;t=a[d+4>>2]|0;l=+b[d+8>>3];d=d+16|0;a[Y>>2]=a[d>>2];a[Y+4>>2]=a[d+4>>2];a[Y+8>>2]=a[d+8>>2];a[Y+12>>2]=a[d+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[m>>3]=+b[L>>3]+ +b[i>>3];b[z>>3]=+b[M>>3]+ +b[y>>3];af(B,e,i,F);n=a[B>>2]|0;t=a[B+4>>2]|0;l=+b[B+8>>3];B=B+16|0;a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3];af(v,e,i,F);n=a[v>>2]|0;t=a[v+4>>2]|0;l=+b[v+8>>3];v=v+16|0;a[Y>>2]=a[v>>2];a[Y+4>>2]=a[v+4>>2];a[Y+8>>2]=a[v+8>>2];a[Y+12>>2]=a[v+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=n;f=t;r=l}b[z>>3]=+b[y>>3]-+b[W>>3];af(g,e,i,F);n=a[g>>2]|0;t=a[g+4>>2]|0;l=+b[g+8>>3];g=g+16|0;a[Y>>2]=a[g>>2];a[Y+4>>2]=a[g+4>>2];a[Y+8>>2]=a[g+8>>2];a[Y+12>>2]=a[g+12>>2];if(!n){a[A>>2]=0;a[A+4>>2]=t;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break}if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];f=t;r=l}else n=s;t=(a[F+28>>2]|0)==0;do{if(!(a[F+24>>2]|0))if(t){if(a[F+32>>2]|0){C=38;break}if(!((a[F+12>>2]|0)==0&(a[F>>2]|0)==0))C=38}else C=46;else if(t)C=38;else C=46}while(0);e:do{if((C|0)==38)if(!(a[F+32>>2]|0)){b[m>>3]=+b[i>>3]-+b[G>>3];o=E+4|0;d=E+8|0;B=E+16|0;s=z;t=y;l=+b[M>>3];i:while(1){while(1){b[s>>3]=+b[t>>3]+l;if(!(+b[m>>3]<=+b[L>>3]+ +b[i>>3])){C=46;break e}af(E,e,i,F);w=a[E>>2]|0;u=a[o>>2]|0;c=+b[d>>3];a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!w)break i;if(c>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=m;t=m;l=Q;n=w;f=u;r=c}a[A>>2]=0;a[A+4>>2]=u;b[A+8>>3]=c;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}else C=46}while(0);e:do{if((C|0)==46)if((a[F+12>>2]|0)==0&(a[F>>2]|0)==0){b[m>>3]=+b[i>>3]-+b[G>>3];c=+b[y>>3];w=I+4|0;u=I+8|0;o=I+16|0;l=c;c=+b[M>>3]+c;while(1){b[z>>3]=c;if(!(c>=l-+b[W>>3]))break e;af(I,e,i,F);t=a[I>>2]|0;s=a[w>>2]|0;l=+b[u>>3];a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!t)break;if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];n=t;f=s;r=l}l=+b[y>>3];c=+b[z>>3]-V}a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);l=+b[i>>3];c=+b[L>>3]+l;b[m>>3]=c;h=+b[W>>3];b[z>>3]=+b[y>>3]-h;t=a[F+4>>2]|0;do{if(!(a[F+8>>2]|0)){s=a[F>>2]|0;if(!((t|0)==0&(s|0)==0)){C=59;break}if(a[F+20>>2]|0){t=0;s=0;C=59;break}if(a[F+32>>2]|0){t=0;s=0;C=59}}else{s=a[F>>2]|0;C=59}}while(0);e:do{if((C|0)==59){i:do{if((t|0)==0&(s|0)==0){b[m>>3]=c;o=Z+4|0;d=Z+8|0;B=Z+16|0;s=z;t=y;l=h;r:while(1){while(1){b[s>>3]=+b[t>>3]-l;l=+b[i>>3];if(!(+b[m>>3]>=l-+b[G>>3]))break i;af(Z,e,i,F);w=a[Z>>2]|0;u=a[o>>2]|0;c=+b[d>>3];a[Y>>2]=a[B>>2];a[Y+4>>2]=a[B+4>>2];a[Y+8>>2]=a[B+8>>2];a[Y+12>>2]=a[B+12>>2];if(!w)break r;if(c>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];s=m;t=m;l=Q;n=w;f=u;r=c}a[A>>2]=0;a[A+4>>2]=u;b[A+8>>3]=c;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);if(a[F+20>>2]|0)break;if(a[F+32>>2]|0)break;b[m>>3]=+b[L>>3]+l;l=+b[y>>3];w=D+4|0;u=D+8|0;o=D+16|0;c=l;l=l-+b[W>>3];while(1){b[z>>3]=l;if(!(l<=+b[M>>3]+c))break e;af(D,e,i,F);t=a[D>>2]|0;s=a[w>>2]|0;l=+b[u>>3];a[Y>>2]=a[o>>2];a[Y+4>>2]=a[o+4>>2];a[Y+8>>2]=a[o+8>>2];a[Y+12>>2]=a[o+12>>2];if(!t)break;if(l>2]=a[Y>>2];a[J+4>>2]=a[Y+4>>2];a[J+8>>2]=a[Y+8>>2];a[J+12>>2]=a[Y+12>>2];n=t;f=s;r=l}c=+b[y>>3];l=+b[z>>3]+V}a[A>>2]=0;a[A+4>>2]=s;b[A+8>>3]=l;A=A+16|0;a[A>>2]=a[Y>>2];a[A+4>>2]=a[Y+4>>2];a[A+8>>2]=a[Y+8>>2];a[A+12>>2]=a[Y+12>>2];break A}}while(0);a[A>>2]=n;a[A+4>>2]=f;b[A+8>>3]=r;A=A+16|0;a[A>>2]=a[J>>2];a[A+4>>2]=a[J+4>>2];a[A+8>>2]=a[J+8>>2];a[A+12>>2]=a[J+12>>2]}}while(0);k=N;return}function ff(A){A=A|0;Hn(a[A+24>>2]|0)|0;L2(A);return}function af(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0.0,t=0,c=0,s=0,w=0.0,u=0,o=0,h=0,d=0.0,B=0,v=0;v=k;k=k+48|0;h=v+32|0;B=v+16|0;o=v;n=a[i+32>>2]|0;if(!n)vA(111533,111543,382,111562);u=n+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];u=e+4|0;s=0;n=0;while(1){if((s|0)>=(a[u>>2]|0))break;t=a[e>>2]|0;c=t+(s*40|0)|0;do{if((c|0)!=(i|0)){if(+b[t+(s*40|0)+16>>3]>0.0?+b[t+(s*40|0)+24>>3]>0.0:0)break;n=n+((nf(i,c)|0)!=0&1)|0}}while(0);s=s+1|0}lf(i,h);s=a[e+24>>2]|0;s=Un(s,a[s>>2]|0,h)|0;if(!s){a[A>>2]=n;b[A+8>>3]=0.0;B=A+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2]}else{c=s;l=0.0;while(1){if(!c)break;t=a[(a[c+4>>2]|0)+16>>2]|0;if((t|0)!=(i|0)){tf(t,B);w=+cf(h,B);if(w>0.0){n=n+1|0;l=+bf(i,t,h,w,f)+l}e=a[t+32>>2]|0;if(((e|0)!=0?(r[e+36>>0]|0)!=0:0)?(lf(t,B),d=+cf(h,B),d>0.0):0){n=n+1|0;l=+sf(i,t,h,d,f)+l}}c=a[c>>2]|0}Nn(s);a[A>>2]=n;b[A+8>>3]=l;B=A+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2]}k=v;return}function nf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0;A=a[A+32>>2]|0;if(+b[e+16>>3]==0.0?+b[e+24>>3]==0.0:0){if((((A|0)!=0?(i=+b[e>>3],r=+b[A+16>>3],i>r):0)?i<+b[A>>3]+r:0)?(f=+b[e+8>>3],n=+b[A+24>>3],f>n):0)A=f<+b[A+8>>3]+n&1;else A=0;return A|0}vA(111599,111543,219,111636);return 0}function lf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A+32>>2]|0;r=+b[A+16>>3];a[e>>2]=~~r;i=+b[A+24>>3];a[e+4>>2]=~~i;a[e+8>>2]=~~(+b[A>>3]+r);a[e+12>>2]=~~(+b[A+8>>3]+i);return}function tf(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];a[e>>2]=~~r;i=+b[A+8>>3];a[e+4>>2]=~~i;a[e+8>>2]=~~(+b[A+16>>3]+r);a[e+12>>2]=~~(+b[A+24>>3]+i);return}function cf(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;t=a[A+8>>2]|0;c=a[e>>2]|0;if((((t|0)>=(c|0)?(b=a[A>>2]|0,s=a[e+8>>2]|0,(b|0)<=(s|0)):0)?(r=a[A+12>>2]|0,f=a[e+4>>2]|0,(r|0)>=(f|0)):0)?(n=a[A+4>>2]|0,l=a[e+12>>2]|0,(n|0)<=(l|0)):0)i=(+(a[((r|0)<(l|0)?A:e)+12>>2]|0)-+(a[((n|0)>(f|0)?A:e)+4>>2]|0))*(+(a[((t|0)<(s|0)?A:e)+8>>2]|0)-+(a[((b|0)>(c|0)?A:e)>>2]|0));else i=0.0;return+i}function bf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;t=c;A=wf(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=a[f>>2]|0;if(!A){a[f>>2]=e;n=r}else{tf(A,t);n=+cf(i,t);n=n>r?n:0.0;A=a[f>>2]|0;if((a[A+32>>2]|0)!=0?(lf(A,t),l=+cf(i,t),l>r):0)n=l>n?l:n;if(!(n>0.0)){a[f>>2]=e;n=r}}k=c;return+n}function sf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var n=0.0,l=0.0,t=0,c=0;c=k;k=k+16|0;t=c;A=wf(A,e)|0;f=f+(((A|0)<0?5:A)<<2)|0;A=a[f>>2]|0;if(!A){a[f>>2]=e;n=r}else{tf(A,t);n=+cf(i,t);n=n>r?n:0.0;A=a[f>>2]|0;if((a[A+32>>2]|0)!=0?(lf(A,t),l=+cf(i,t),l>r):0)n=l>n?l:n;if(!(n>0.0)){a[f>>2]=e;n=r}}k=c;return+n}function wf(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0;i=a[A+32>>2]|0;f=a[e+32>>2]|0;if((i|0)==(f|0))vA(111578,111543,276,111588);do{if((r[i+36>>0]|0)!=0?(r[f+36>>0]|0)!=0:0){t=+b[A>>3];if(t==0.0?+b[A+8>>3]==0.0:0){i=-1;break}c=+b[e>>3];l=+b[e+8>>3];if(!(c==0.0&l==0.0)){n=+b[A+8>>3];if(lt?2:1;break}i=cn){if(i){i=6;break}i=c>t?8:7;break}if(!i)if(c>t)i=5;else i=-1;else i=3}else i=-1}else i=-1}while(0);return i|0}function uf(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;b=k;k=k+32|0;i=b+24|0;r=b+16|0;f=b;n=_r(A)|0;l=A+4|0;t=r+4|0;c=A+20|0;e=0;while(1){if((e|0)>=(a[l>>2]|0)){e=0;break}s=qF(32)|0;u=(a[A>>2]|0)+(e*40|0)|0;w=s+12|0;a[s+28>>2]=u;hf(f,u);a[w>>2]=a[f>>2];a[w+4>>2]=a[f+4>>2];a[w+8>>2]=a[f+8>>2];a[w+12>>2]=a[f+12>>2];w=a[w>>2]|0;a[r>>2]=(((a[s+20>>2]|0)-w|0)/2|0)+w;w=a[s+16>>2]|0;a[t>>2]=(((a[s+24>>2]|0)-w|0)/2|0)+w;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[s+8>>2]=df(i,n)|0;w=a[c>>2]|0;if(!(W5[a[w>>2]&63](w,s,1)|0)){e=-1;break}else e=e+1|0}k=b;return e|0}function kf(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;r=a[i>>2]|0;e=A+24|0;A=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!A)break;r=a[e>>2]|0;xn(r,A+12|0,a[A+28>>2]|0,r,0)|0;r=a[i>>2]|0;A=W5[a[r>>2]&63](r,A,8)|0}return}function of(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=A+20|0;f=Pk(a[r>>2]|0)|0;i=0;while(1){if(!(Pk(a[r>>2]|0)|0))break;n=a[r>>2]|0;A=a[(a[n+8>>2]|0)+4>>2]|0;if(!A){l=8;break}e=a[(a[n+4>>2]|0)+8>>2]|0;if((e|0)<0)A=a[A+8>>2]|0;else A=A+(0-e)|0;if(!A){l=8;break}W5[a[n>>2]&63](n,A,4096)|0;L2(A);i=i+1|0}if((l|0)==8)vA(111649,111543,616,111652);if((f|0)==(i|0))return;else vA(111664,111543,623,111652)}function hf(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0,t=0,c=0,s=0.0;i=a[e+32>>2]|0;if(!i){r=0.0;f=0.0}else{r=+b[i>>3];f=+b[i+8>>3]}s=+b[e>>3];c=~~+W(+(s-r));n=+b[e+8>>3];t=~~+W(+(n-f));l=~~+p(+(s+r+ +b[e+16>>3]));if((l|0)==2147483647)vA(111676,111543,264,111703);i=~~+p(+(n+f+ +b[e+24>>3]));if((i|0)==2147483647)vA(111713,111543,266,111703);else{a[A>>2]=c;a[A+4>>2]=t;a[A+8>>2]=l;a[A+12>>2]=i;return}}function df(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;f=0;r=a[A>>2]|0;i=a[A+4>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;t=r>>>A&1;e=i>>>A&1;n=e+-1|0;l=n&(r^i);n=n&0-t;f=t<<1|f<<2|t^e;e=A;r=l^r^n;i=l^i^n}return f|0}function Bf(A){A=A|0;var e=0,i=0,f=0,n=0;e=S2(A)|0;if(e>>>0>=(a[47365]|0)>>>0){e=e+11|0;a[47365]=e;e=eV(a[47366]|0,e)|0;a[47366]=e;if(!e)e=0;else i=4}else{e=a[47366]|0;i=4}if((i|0)==4){n=e;while(1){i=r[A>>0]|0;if(!(i<<24>>24))break;f=i&255;if(R1(f)|0)i=(X1(f)|0)&255;r[n>>0]=i;n=n+1|0;A=A+1|0}r[n>>0]=0}return e|0}function vf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0;z=k;k=k+144|0;B=z+96|0;o=z+80|0;E=z+124|0;v=z+72|0;C=z+64|0;I=z+56|0;L=z+48|0;W=z+40|0;y=z+32|0;Z=z+24|0;G=z+16|0;Q=z+8|0;m=z;l=z+120|0;s=z+116|0;w=z+112|0;u=z+108|0;a[e+32>>2]=i;d=A;while(1)if((r[d>>0]|0)==32)d=d+1|0;else break;a[u>>2]=255;A=r[d>>0]|0;A:do{if(A<<24>>24==35){a[o>>2]=l;a[o+4>>2]=s;a[o+8>>2]=w;a[o+12>>2]=u;if((J3(d,111755,o)|0)<=2){A=r[d>>0]|0;h=12;break}switch(i|0){case 0:{Y=+((a[l>>2]|0)>>>0)*.00392156862745098;b[L>>3]=Y;f=+((a[s>>2]|0)>>>0)*.00392156862745098;b[W>>3]=f;t=+((a[w>>2]|0)>>>0)*.00392156862745098;b[y>>3]=t;c=+((a[u>>2]|0)>>>0)*.00392156862745098;gf(Y,f,t,v,C,I);b[e>>3]=+b[v>>3];b[e+8>>3]=+b[C>>3];b[e+16>>3]=+b[I>>3];b[e+24>>3]=c;A=0;break A}case 1:{r[e>>0]=a[l>>2];r[e+1>>0]=a[s>>2];r[e+2>>0]=a[w>>2];r[e+3>>0]=a[u>>2];A=0;break A}case 3:{t=+((a[l>>2]|0)>>>0)*.00392156862745098;b[L>>3]=t;c=+((a[s>>2]|0)>>>0)*.00392156862745098;b[W>>3]=c;Y=+((a[w>>2]|0)>>>0)*.00392156862745098;b[y>>3]=Y;Ef(t,c,Y,Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{a[e>>2]=(((a[l>>2]|0)*65535|0)>>>0)/255|0;a[e+4>>2]=(((a[s>>2]|0)*65535|0)>>>0)/255|0;a[e+8>>2]=(((a[w>>2]|0)*65535|0)>>>0)/255|0;a[e+12>>2]=(((a[u>>2]|0)*65535|0)>>>0)/255|0;A=0;break A}case 4:{b[e>>3]=+((a[l>>2]|0)>>>0)*.00392156862745098;b[e+8>>3]=+((a[s>>2]|0)>>>0)*.00392156862745098;b[e+16>>3]=+((a[w>>2]|0)>>>0)*.00392156862745098;b[e+24>>3]=+((a[u>>2]|0)>>>0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}else h=12}while(0);A:do{if((h|0)==12){if(!(A<<24>>24!=46?((A&255)+-48|0)>>>0>=10:0)){A=S2(d)|0;if(A>>>0>=(a[47367]|0)>>>0){A=A+11|0;a[47367]=A;A=eV(a[47368]|0,A)|0;a[47368]=A;if(!A){A=-1;break}}else A=a[47368]|0;s=A;l=d;e:while(1){w=l+1|0;l=r[l>>0]|0;switch(l<<24>>24){case 0:break e;case 44:{l=32;break}default:{}}r[s>>0]=l;s=s+1|0;l=w}r[s>>0]=0;a[B>>2]=v;a[B+4>>2]=C;a[B+8>>2]=I;if((J3(A,111769,B)|0)==3){c=+b[v>>3];c=c<1.0?c:1.0;c=c>0.0?c:0.0;b[v>>3]=c;t=+b[C>>3];t=t<1.0?t:1.0;t=t>0.0?t:0.0;b[C>>3]=t;f=+b[I>>3];f=f<1.0?f:1.0;f=f>0.0?f:0.0;b[I>>3]=f;switch(i|0){case 0:{b[e>>3]=c;b[e+8>>3]=t;b[e+16>>3]=f;b[e+24>>3]=1.0;A=0;break A}case 1:{Cf(c,t,f,L,W,y);r[e>>0]=~~(+b[L>>3]*255.0);r[e+1>>0]=~~(+b[W>>3]*255.0);r[e+2>>0]=~~(+b[y>>3]*255.0);r[e+3>>0]=-1;A=0;break A}case 3:{Cf(c,t,f,L,W,y);Ef(+b[L>>3],+b[W>>3],+b[y>>3],Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{Cf(c,t,f,L,W,y);a[e>>2]=~~(+b[L>>3]*65535.0);a[e+4>>2]=~~(+b[W>>3]*65535.0);a[e+8>>2]=~~(+b[y>>3]*65535.0);a[e+12>>2]=65535;A=0;break A}case 4:{Cf(c,t,f,L,W,y);b[e>>3]=+b[L>>3];b[e+8>>3]=+b[W>>3];b[e+16>>3]=+b[y>>3];b[e+24>>3]=1.0;A=0;break A}default:{A=0;break A}}}}l=If(d)|0;a[E>>2]=l;if(!l)A=-1;else{A=a[47369]|0;if(!(((A|0)!=0?(g=a[A>>2]|0,(r[g>>0]|0)==(r[l>>0]|0)):0)?(A1(g,l)|0)==0:0)){A=i8(E,25948,2491,12,103)|0;a[47369]=A;if(!A)switch(i|0){case 0:{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0;b[e+24>>3]=1.0;A=1;break A}case 1:{r[e+2>>0]=0;r[e+1>>0]=0;r[e>>0]=0;r[e+3>>0]=-1;A=1;break A}case 3:{a[e>>2]=0;A=1;break A}case 2:{a[e+8>>2]=0;a[e+4>>2]=0;a[e>>2]=0;a[e+12>>2]=65535;A=1;break A}case 4:{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0;b[e+24>>3]=1.0;A=1;break A}default:{A=1;break A}}}switch(i|0){case 0:{b[e>>3]=+(n[A+4>>0]|0)*.00392156862745098;b[e+8>>3]=+(n[A+5>>0]|0)*.00392156862745098;b[e+16>>3]=+(n[A+6>>0]|0)*.00392156862745098;b[e+24>>3]=+(n[A+10>>0]|0)*.00392156862745098;A=0;break A}case 1:{r[e>>0]=r[A+7>>0]|0;r[e+1>>0]=r[A+8>>0]|0;r[e+2>>0]=r[A+9>>0]|0;r[e+3>>0]=r[A+10>>0]|0;A=0;break A}case 3:{t=+(n[A+7>>0]|0)*.00392156862745098;b[L>>3]=t;c=+(n[A+8>>0]|0)*.00392156862745098;b[W>>3]=c;Y=+(n[A+9>>0]|0)*.00392156862745098;b[y>>3]=Y;Ef(t,c,Y,Z,G,Q,m);r[e>>0]=~~+b[Z>>3]*255;r[e+1>>0]=~~+b[G>>3]*255;r[e+2>>0]=~~+b[Q>>3]*255;r[e+3>>0]=~~+b[m>>3]*255;A=0;break A}case 2:{a[e>>2]=(n[A+7>>0]|0)*257;a[e+4>>2]=(n[A+8>>0]|0)*257;a[e+8>>2]=(n[A+9>>0]|0)*257;a[e+12>>2]=(n[A+10>>0]|0)*257;A=0;break A}case 4:{b[e>>3]=+(n[A+7>>0]|0)*.00392156862745098;b[e+8>>3]=+(n[A+8>>0]|0)*.00392156862745098;b[e+16>>3]=+(n[A+9>>0]|0)*.00392156862745098;b[e+24>>3]=+(n[A+10>>0]|0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}}}while(0);k=z;return A|0}function gf(A,e,i,r,f,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;var n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0;l=ei?e:i;w=wA?A:l);n=l/w;if(w>0.0)if(n>0.0){t=(w-A)/l;c=(w-e)/l;s=(w-i)/l;do{if(!(w==A)){if(w==e){A=t+2.0-s;break}if(w==i)A=c+4.0-t;else A=0.0}else A=(e-i)/l}while(0);A=A*60.0;if(A<0.0)A=A+360.0}else A=0.0;else{n=0.0;A=0.0}b[r>>3]=A*.002777777777777778;b[a>>3]=w;b[f>>3]=n;return}function Ef(A,e,i,r,f,a,n){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;n=n|0;b[r>>3]=1.0-A;b[f>>3]=1.0-e;b[a>>3]=1.0-i;e=+b[r>>3];i=+b[f>>3];i=e>3]=i;e=+b[a>>3];i=e>3]=i;b[r>>3]=+b[r>>3]-i;b[f>>3]=+b[f>>3]-+b[n>>3];b[a>>3]=+b[a>>3]-+b[n>>3];return}function Cf(A,e,i,r,f,a){A=+A;e=+e;i=+i;r=r|0;f=f|0;a=a|0;var n=0.0,l=0.0,t=0.0,c=0,s=0;A:do{if(!(e<=0.0)){l=!(A>=1.0)?A*6.0:0.0;s=~~l;l=l-+(s|0);A=(1.0-e)*i;t=(1.0-l*e)*i;e=(1.0-(1.0-l)*e)*i;switch(s|0){case 0:{n=A;l=e;A=i;c=8;break A}case 1:{n=A;l=i;A=t;c=8;break A}case 2:{n=e;l=i;c=8;break A}case 3:{n=i;l=t;c=8;break A}case 4:{n=i;l=A;A=e;c=8;break A}case 5:{n=t;l=A;A=i;c=8;break A}default:break A}}else{n=i;l=i;A=i;c=8}}while(0);if((c|0)==8){b[r>>3]=A;b[f>>3]=l;b[a>>3]=n}return}function If(A){A=A|0;var e=0,i=0;e=r[A>>0]|0;if(((e<<24>>24!=98?(i=A+1|0,!(e<<24>>24==119|(Z1(i,137266,4)|0)==0)):0)?!(e<<24>>24==108|(Z1(i,137271,4)|0)==0):0)?(Z1(i,137276,8)|0)!=0:0){do{if(e<<24>>24==47){e=G1(i,47)|0;if(!e)A=i;else{if((r[i>>0]|0)!=47){i=(T1(137285,i,4)|0)==0;A=i?e+1|0:A;break}e=a[47370]|0;if((e|0?r[e>>0]|0:0)?T1(137285,e,3)|0:0){A=Gf(e,A+2|0)|0;break}A=A+2|0}}else{e=a[47370]|0;if(((e|0)!=0?(r[e>>0]|0)!=0:0)?(T1(137285,e,3)|0)!=0:0)A=Gf(e,A)|0}}while(0);A=Bf(A)|0}return A|0}function Zf(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function Gf(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;f=k;k=k+16|0;r=f;n=S2(A)|0;n=(S2(e)|0)+n|0;i=n+13|0;if((n+3|0)>>>0<(a[47371]|0)>>>0)i=a[47372]|0;else{a[47371]=i;i=eV(a[47372]|0,i)|0;a[47372]=i}a[r>>2]=A;a[r+4>>2]=e;P4(i,137290,r)|0;k=f;return a[47372]|0}function Qf(A){A=A|0;a[47370]=A;return}function mf(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var a=0,n=0;a=k;k=k+208|0;n=a;Lf(n,+b[A>>3],+b[A+8>>3],e,i,r,f);A=Wf(n)|0;k=a;return A|0}function Lf(A,e,i,r,f,a,n){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;n=+n;var l=0,t=0;b[A>>3]=e;b[A+8>>3]=i;t=A+16|0;b[t>>3]=r;l=A+24|0;b[l>>3]=f;b[A+32>>3]=0.0;i=+X(+(+M(+a)/f),+(+D(+a)/r));b[A+56>>3]=i;f=+X(+(+M(+n)/f),+(+D(+n)/r));b[A+40>>3]=1.0;b[A+48>>3]=0.0;f=f-+W(+((f-i)*.15915494309189535))*6.283185307179586;b[A+64>>3]=n-a>3.141592653589793&f-i<3.141592653589793?f+6.283185307179586:f;Ff(A);Vf(A);Jf(A);n=+b[t>>3];n=(n-+b[l>>3])/n;b[A+168>>3]=n;b[A+176>>3]=(2.0-n)*n;n=1.0-n;b[A+184>>3]=n;b[A+192>>3]=n*n;return}function Wf(A){A=A|0;var e=0,i=0.0,r=0,f=0.0,a=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0;h=qF(8)|0;a=+b[A+56>>3];f=+b[A+64>>3]-a;o=1;e=0;while(1){k=f/+(o|0);if(!(e<<24>>24==0&(o|0)<1024))break;A:do{if(!(k<=1.5707963267948966))e=0;else{i=a;r=0;e=1;while(1){if(!(e<<24>>24!=0&(r|0)<(o|0)))break A;u=i+k;e=+yf(A,i,u)<=1.0e-05&1;i=u;r=r+1|0}}}while(0);o=o<<1}l=+D(+a);g=+M(+a);r=A+16|0;B=+b[r>>3];E=B*l;t=A+24|0;i=+b[t>>3];n=i*g;l=i*l;i=+b[A>>3];c=A+40|0;v=+b[c>>3];s=A+48|0;d=+b[s>>3];f=v*E+i-d*n;w=A+8|0;u=+b[w>>3];n=d*E+v*n+u;B=-(g*B);zf(h,i,u);Yf(h,f,n);u=+F(+(k*.5));u=+M(+k)*.3333333333333333*(+z(+(u*u*3.0+4.0))+-1.0);i=a;a=n;n=d*B+v*l;l=v*B-d*l;e=0;while(1){if((e|0)>=(o|0))break;d=i+k;g=+D(+d);E=+M(+d);I=+b[r>>3];G=I*g;C=+b[t>>3];v=C*E;g=C*g;C=+b[c>>3];Z=+b[s>>3];B=C*G+ +b[A>>3]-Z*v;v=Z*G+C*v+ +b[w>>3];I=-(E*I);E=C*I-Z*g;g=Z*I+C*g;Df(h,f+l*u,a+n*u,B-E*u,v-g*u,B,v);i=d;f=B;a=v;n=g;l=E;e=e+1|0}Mf(h);return h|0}function yf(A,e,i){A=A|0;e=+e;i=+i;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;r=i+e;l=+b[A+16>>3];f=+b[A+24>>3]/l;n=+D(+r);a=+D(+(r*2.0));r=+D(+(r*3.0));A=f<.25?10392:10648;return+(((f*.001+4.98)*f+.207)/(f+.0067)*l*+R(+(((+b[A+32>>3]*f+ +b[A+40>>3])*f+ +b[A+48>>3])/(+b[A+56>>3]+f)*n+((+b[A>>3]*f+ +b[A+8>>3])*f+ +b[A+16>>3])/(+b[A+24>>3]+f)+((+b[A+64>>3]*f+ +b[A+72>>3])*f+ +b[A+80>>3])/(+b[A+88>>3]+f)*a+((+b[A+96>>3]*f+ +b[A+104>>3])*f+ +b[A+112>>3])/(+b[A+120>>3]+f)*r+(((+b[A+160>>3]*f+ +b[A+168>>3])*f+ +b[A+176>>3])/(+b[A+184>>3]+f)*n+((+b[A+128>>3]*f+ +b[A+136>>3])*f+ +b[A+144>>3])/(+b[A+152>>3]+f)+((+b[A+192>>3]*f+ +b[A+200>>3])*f+ +b[A+208>>3])/(+b[A+216>>3]+f)*a+((+b[A+224>>3]*f+ +b[A+232>>3])*f+ +b[A+240>>3])/(+b[A+248>>3]+f)*r)*(i-e))))}function zf(A,e,i){A=A|0;e=+e;i=+i;var r=0;a[47373]=100;r=qF(1600)|0;a[A>>2]=r;b[r>>3]=e;b[r+8>>3]=i;a[A+4>>2]=1;return}function Yf(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;f=a[A>>2]|0;r=(a[A+4>>2]|0)+-1|0;Df(A,+b[f+(r<<4)>>3],+b[f+(r<<4)+8>>3],e,i,e,i);return}function Df(A,e,i,r,f,n,l){A=A|0;e=+e;i=+i;r=+r;f=+f;n=+n;l=+l;var t=0,c=0,s=0,w=0;s=A+4|0;t=a[s>>2]|0;c=a[47373]|0;if((t+3|0)<(c|0))A=a[A>>2]|0;else{a[47373]=c<<1;t=y2(a[A>>2]|0,c<<5)|0;a[A>>2]=t;A=t;t=a[s>>2]|0}b[A+(t<<4)>>3]=e;w=t+1|0;b[A+(t<<4)+8>>3]=i;b[A+(w<<4)>>3]=r;c=t+2|0;b[A+(w<<4)+8>>3]=f;b[A+(c<<4)>>3]=n;a[s>>2]=t+3;b[A+(c<<4)+8>>3]=l;return}function Mf(A){A=A|0;var e=0;e=a[A>>2]|0;Yf(A,+b[e>>3],+b[e+8>>3]);a[A>>2]=y2(a[A>>2]|0,a[A+4>>2]<<4)|0;a[47373]=0;return}function Ff(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0;r=+b[A+16>>3];e=+b[A+24>>3];e=+z(+(r*r-e*e));r=e*+b[A+40>>3];e=e*+b[A+48>>3];f=+b[A>>3];b[A+104>>3]=f-r;i=+b[A+8>>3];b[A+112>>3]=i-e;b[A+120>>3]=f+r;b[A+128>>3]=i+e;return}function Vf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0;r=+b[A+16>>3];l=+b[A+56>>3];t=+D(+l)*r;e=+b[A+24>>3];l=+M(+l)*e;n=+b[A+64>>3];r=+D(+n)*r;e=+M(+n)*e;n=+b[A>>3];i=+b[A+40>>3];f=+b[A+48>>3];b[A+72>>3]=i*t+n-f*l;a=+b[A+8>>3];b[A+80>>3]=f*t+a+i*l;b[A+88>>3]=n+i*r-f*e;b[A+96>>3]=a+f*r+i*e;return}function Jf(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0;c=+b[A+24>>3];s=+b[A+16>>3];f=c/s;w=+b[A+48>>3];u=+y(+w)<.1;t=+b[A+40>>3];do{if(u){e=w/t;i=+N(+(e*f));r=-i;if(t<0.0){e=+N(+(e/f));f=r;r=3.141592653589793-i;i=4.71238898038469-e;e=1.5707963267948966-e;break}else{e=+N(+(e/f));f=-3.141592653589793-i;i=1.5707963267948966-e;e=-1.5707963267948966-e;break}}else{e=t/w;i=+N(+(e/f));r=i+1.5707963267948966;if(w<0.0){e=+N(+(e*f));f=i+-1.5707963267948966;i=e+3.141592653589793;break}else{e=+N(+(e*f));f=r;r=i+4.71238898038469;i=e;e=e+-3.141592653589793;break}}}while(0);n=+b[A+56>>3];f=f-+W(+((f-n)*.15915494309189535))*6.283185307179586;e=e-+W(+((e-n)*.15915494309189535))*6.283185307179586;a=r-+W(+((r-n)*.15915494309189535))*6.283185307179586;n=i-+W(+((i-n)*.15915494309189535))*6.283185307179586;l=+b[A+64>>3];if(!(f<=l)){f=+b[A+72>>3];i=+b[A+88>>3];i=f>3]-c*+M(+f)*w;b[A+136>>3]=i;if(!(e<=l)){f=+b[A+80>>3];r=+b[A+96>>3];r=f>3]+ +M(+e)*c*t;b[A+144>>3]=r;if(!(a<=l)){a=+b[A+72>>3];e=+b[A+88>>3];e=a>e?a:e}else e=+D(+a)*s*t+ +b[A>>3]-c*+M(+a)*w;b[A+152>>3]=e-i;if(!(n<=l)){w=+b[A+80>>3];e=+b[A+96>>3];e=w>e?w:e}else e=+D(+n)*s*w+ +b[A+8>>3]+ +M(+n)*c*t;b[A+160>>3]=e-r;return}function Nf(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+80|0;s=w;Xf(A);c=+b[i+56>>3];n=+b[i+64>>3];switch(r[i+80>>0]|0){case 116:{n=(+b[i+48>>3]-+Rf(e))*.5+n;f=4;break}case 98:{n=n-(+b[i+48>>3]-+Rf(e))*.5;f=4;break}default:{}}if((f|0)==4)n=n+-1.0;b[s>>3]=c;b[s+8>>3]=n;a[s+20>>2]=a[i+8>>2];a[s+16>>2]=a[i+4>>2];b[s+32>>3]=+b[i+16>>3];t=A+16|0;f=po(a[(a[t>>2]|0)+8>>2]|0,137297)|0;i=s+56|0;a[i>>2]=f;l=s+60|0;a[l>>2]=a[(a[t>>2]|0)+212>>2];t=s+64|0;r[t>>0]=0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))a[i>>2]=137308;if((r[e+4>>0]|0)==1){i=a[e>>2]|0;rr(A,a[(a[A>>2]|0)+336>>2]|0);f=a[i+24>>2]|0;if(!f)$i(A,137314);else $i(A,f);pf(A,i,s);if(r[t>>0]|0)L2(a[l>>2]|0)}else Hf(A,a[e>>2]|0,s);Uf(A);k=w;return}function Xf(A){A=A|0;var e=0,i=0,r=0;e=AI(A)|0;i=a[e>>2]|0;A=a[i+4>>2]|0;a[e+4>>2]=A;a[e+12>>2]=a[i+12>>2];switch(A|0){case 2:{A=i+8|0;r=6;break}case 0:{A=i+8|0;r=6;break}case 1:{A=i+8|0;r=6;break}case 3:{A=i+8|0;r=6;break}default:{}}if((r|0)==6)a[e+8>>2]=a[A>>2];a[e+208>>2]=a[i+208>>2];a[e+228>>2]=a[i+228>>2];a[e+244>>2]=a[i+244>>2];r=e+260|0;f[r>>1]=f[r>>1]&-2|f[i+260>>1]&1;return}function Rf(A){A=A|0;var e=0.0,i=0,f=0;switch(r[A+4>>0]|0){case 1:{i=a[A>>2]|0;A=i+72|0;i=i+56|0;f=5;break}case 3:{i=a[A>>2]|0;A=i+24|0;i=i+8|0;f=5;break}case 2:{i=a[A>>2]|0;A=i+32|0;i=i+16|0;f=5;break}default:e=0.0}if((f|0)==5)e=+b[A>>3]-+b[i>>3];return+e}function Hf(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;w=k;k=k+96|0;t=w+64|0;l=w+32|0;n=w+16|0;c=w;s=f[e+4>>1]|0;if(s<<16>>16>=1){d=e+8|0;o=+b[e+24>>3];u=+b[d>>3];b[c>>3]=(u+o)*.5+ +b[i>>3];b[c+8>>3]=(+b[e+16>>3]+ +b[e+32>>3])*.5+ +b[i+8>>3];h=a[e>>2]|0;B=i+16|0;i=r[e+6>>0]|0;a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[l+16>>2]=a[B+16>>2];a[l+20>>2]=a[B+20>>2];a[l+24>>2]=a[B+24>>2];a[l+28>>2]=a[B+28>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];a[t+16>>2]=a[d+16>>2];a[t+20>>2]=a[d+20>>2];a[t+24>>2]=a[d+24>>2];a[t+28>>2]=a[d+28>>2];ea(A,s<<16>>16,h,n,(o-u)*.5,l,t,i)}k=w;return}function pf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+176|0;v=Z+96|0;E=Z+64|0;C=Z+136|0;o=Z;h=Z+128|0;d=e+48|0;a[E>>2]=a[d>>2];a[E+4>>2]=a[d+4>>2];a[E+8>>2]=a[d+8>>2];a[E+12>>2]=a[d+12>>2];a[E+16>>2]=a[d+16>>2];a[E+20>>2]=a[d+20>>2];a[E+24>>2]=a[d+24>>2];a[E+28>>2]=a[d+28>>2];s=+b[i>>3];w=+b[i+8>>3];d=e+84|0;l=a[d>>2]|0;if(!(a[e>>2]|0))I=(a[e+8>>2]|0)!=0;else I=1;g=e+108|0;t=a[g>>2]|0;if(t|0)xf(i,t,186544);b[E>>3]=+b[E>>3]+s;B=E+16|0;b[B>>3]=+b[B>>3]+s;B=E+8|0;b[B>>3]=+b[B>>3]+w;B=E+24|0;b[B>>3]=+b[B>>3]+w;if(I?(a[A+152>>2]&4|0)==0:0){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];B=Tf(A,i,e,v,C)|0}else B=0;u=e+42|0;t=f[u>>1]|0;if(!(t&32)){c=a[e+20>>2]|0;if(c){t=jf(A,c,a[e+28>>2]|0,t&65535,h)|0;if(!(f[u>>1]&4)){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];nr(A,v,t)}else{u=n[e+33>>0]|0;a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];tN(A,Sf(o,v,u)|0,4,4,t)}L2(a[h>>2]|0)}while(1){t=a[l>>2]|0;if(!t)break;Pf(A,t,i);l=l+4|0}l=a[d>>2]|0;wr(A,1.0);t=e+24|0;while(1){c=l+4|0;l=a[l>>2]|0;if(!l)break;if(!(r[l+100>>0]|0)){l=c;continue}Of(A,l,i,a[t>>2]|0,a[c>>2]|0);l=c}if(r[e+33>>0]|0){a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];a[v+16>>2]=a[E+16>>2];a[v+20>>2]=a[E+20>>2];a[v+24>>2]=a[E+24>>2];a[v+28>>2]=a[E+28>>2];Kf(A,e,v)}}if(B|0)_f(A,C);if((I?a[A+152>>2]&4|0:0)?(a[v>>2]=a[E>>2],a[v+4>>2]=a[E+4>>2],a[v+8>>2]=a[E+8>>2],a[v+12>>2]=a[E+12>>2],a[v+16>>2]=a[E+16>>2],a[v+20>>2]=a[E+20>>2],a[v+24>>2]=a[E+24>>2],a[v+28>>2]=a[E+28>>2],Tf(A,i,e,v,C)|0):0)_f(A,C);if(a[g>>2]|0)qf(i,186544);k=Z;return}function Uf(A){A=A|0;var e=0;e=a[A+16>>2]|0;a[e+208>>2]=0;a[e+228>>2]=0;a[e+244>>2]=0;a[e+212>>2]=0;eI(A);return}function xf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0;l=A+16|0;f=a[l>>2]|0;if(f|0){if(!(a[e>>2]|0)){f=0;n=i}else{a[i>>2]=f;f=a[e>>2]|0;n=l}a[n>>2]=f}f=a[A+20>>2]|0;if(f|0){n=e+4|0;if(!(a[n>>2]|0)){f=0;n=i}else{a[i+4>>2]=f;f=a[n>>2]|0;n=l}a[n+4>>2]=f}r=+b[A+32>>3];if(r>=0.0){f=e+16|0;if(!(+b[f>>3]>=0.0))r=-1.0;else{b[i+16>>3]=r;r=+b[f>>3];i=l}b[i+16>>3]=r}return}function Tf(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+224|0;w=g+8|0;b=g;v=g+40|0;c=g+184|0;t=g+56|0;s=a[A+16>>2]|0;u=s+208|0;a[l>>2]=a[u>>2];o=s+228|0;a[l+4>>2]=a[o>>2];h=s+244|0;a[l+8>>2]=a[h>>2];d=s+212|0;a[l+12>>2]=a[d>>2];B=s+260|0;r[l+16>>0]=(f[B>>1]<<15&65535)<<16>>16>>15;l=a[i+16>>2]|0;if((l|0)!=0?(r[l>>0]|0)!=0:0)t=0;else{co(v,128,t);t=e+60|0;l=a[t>>2]|0;if(!l){l=s3(rI(A,a[s+8>>2]|0,v)|0)|0;a[t>>2]=l;r[e+64>>0]=1}wo(v,l)|0;t=a[47374]|0;a[47374]=t+1;a[b>>2]=t;P4(c,137391,b)|0;wo(v,c)|0;t=v+4|0;l=a[t>>2]|0;if(l>>>0>=(a[v+8>>2]|0)>>>0){bo(v,1)|0;l=a[t>>2]|0}r[l>>0]=0;l=a[v>>2]|0;a[t>>2]=l;t=1}l=iI(A,0,a[i>>2]|0,a[i+12>>2]|0,a[i+8>>2]|0,l,a[s+8>>2]|0)|0;if(t)uo(v);do{if(l|0){if((a[u>>2]|0)==0?(f[B>>1]&1)==0:0)break;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];a[w+16>>2]=a[n+16>>2];a[w+20>>2]=a[n+20>>2];a[w+24>>2]=a[n+24>>2];a[w+28>>2]=a[n+28>>2];bI(A,w);Pi(A,a[u>>2]|0,a[o>>2]|0,a[h>>2]|0,a[d>>2]|0)}}while(0);k=g;return l|0}function jf(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0;t=k;k=k+16|0;l=t;if(!((qM(e,f,l)|0)<<24>>24)){er(A,e);e=1}else{er(A,a[f>>2]|0);e=a[f+4>>2]|0;n=+c[l>>2];if(!e)ir(A,137314,i,n);else ir(A,e,i,n);e=r>>>1&1|2}$i(A,137379);k=t;return e|0}function Sf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];r=A+32|0;e=e+16|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];if((i|0)>1){t=+(i|0)*.5;l=+b[A>>3]+t;b[A>>3]=l;i=A+8|0;n=+b[i>>3]+t;b[i>>3]=n;f=+b[r>>3]-t;b[r>>3]=f;r=A+40|0;t=+b[r>>3]-t;b[r>>3]=t}else{f=+b[r>>3];n=+b[A+8>>3];l=+b[A>>3];t=+b[A+40>>3]}b[A+16>>3]=f;b[A+24>>3]=n;b[A+48>>3]=l;b[A+56>>3]=t;return A|0}function Pf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+176|0;d=E+96|0;B=E+136|0;v=E+64|0;o=E;h=E+128|0;g=e+48|0;a[v>>2]=a[g>>2];a[v+4>>2]=a[g+4>>2];a[v+8>>2]=a[g+8>>2];a[v+12>>2]=a[g+12>>2];a[v+16>>2]=a[g+16>>2];a[v+20>>2]=a[g+20>>2];a[v+24>>2]=a[g+24>>2];a[v+28>>2]=a[g+28>>2];t=+b[i>>3];c=+b[i+8>>3];if(!(a[e>>2]|0))g=(a[e+8>>2]|0)!=0;else g=1;b[v>>3]=+b[v>>3]+t;u=v+16|0;b[u>>3]=+b[u>>3]+t;u=v+8|0;b[u>>3]=+b[u>>3]+c;u=v+24|0;b[u>>3]=+b[u>>3]+c;if(g?(a[A+152>>2]&4|0)==0:0){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];u=Tf(A,i,e,d,B)|0}else u=0;w=e+42|0;l=f[w>>1]|0;A:do{if(!(l&32)){s=a[e+20>>2]|0;if(s|0){l=jf(A,s,a[e+28>>2]|0,l&65535,h)|0;if(!(f[w>>1]&4)){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];nr(A,d,l)}else{w=n[e+33>>0]|0;a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];tN(A,Sf(o,d,w)|0,4,4,l)}L2(a[h>>2]|0)}if(r[e+33>>0]|0){a[d>>2]=a[v>>2];a[d+4>>2]=a[v+4>>2];a[d+8>>2]=a[v+8>>2];a[d+12>>2]=a[v+12>>2];a[d+16>>2]=a[v+16>>2];a[d+20>>2]=a[v+20>>2];a[d+24>>2]=a[v+24>>2];a[d+28>>2]=a[v+28>>2];Kf(A,e,d)}l=e+88|0;switch(r[e+92>>0]|0){case 1:{pf(A,a[l>>2]|0,i);break A}case 3:{Aa(A,a[l>>2]|0,i);break A}default:{Hf(A,a[l>>2]|0,i);break A}}}}while(0);if(u|0)_f(A,B);if((g?a[A+152>>2]&4|0:0)?(a[d>>2]=a[v>>2],a[d+4>>2]=a[v+4>>2],a[d+8>>2]=a[v+8>>2],a[d+12>>2]=a[v+12>>2],a[d+16>>2]=a[v+16>>2],a[d+20>>2]=a[v+20>>2],a[d+24>>2]=a[v+24>>2],a[d+28>>2]=a[v+28>>2],Tf(A,i,e,d,B)|0):0)_f(A,B);k=E;return}function Of(A,e,i,t,c){A=A|0;e=e|0;i=i|0;t=t|0;c=c|0;var s=0.0,w=0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0;Q=k;k=k+32|0;Z=Q+16|0;G=Q;d=+b[i>>3];I=+b[i+8>>3];h=(t|0)==0?137314:t;er(A,h);$i(A,h);v=+b[e+48>>3];u=+b[e+56>>3];g=+b[e+64>>3];o=+b[e+72>>3];B=v+d;d=g+d;I=u+I;h=e+100|0;i=r[h>>0]|0;if((i&1)!=0?(w=a[e+96>>2]|0,((l[e+80>>1]|0)+(l[e+84>>1]|0)|0)<(a[w+104>>2]|0)):0){i=f[e+86>>1]|0;do{if(i<<16>>16)if(((l[e+82>>1]|0)+(i&65535)|0)==(a[w+100>>2]|0)){m=r[w+32>>0]|0;L=(m<<24>>24)/2|0;t=(L<<24>>24)+(n[w+33>>0]|0)|0;i=t;t=t&255;s=I-+(L<<24>>24);w=m;break}else{w=r[w+32>>0]|0;i=0;t=((w<<24>>24)/2|0)<<24>>24;s=I;break}else{L=r[w+32>>0]|0;t=((L<<24>>24)/2|0)<<24>>24;i=t+(n[w+33>>0]|0)|0;s=I;w=L}}while(0);b[G+8>>3]=s-+(t|0);b[G>>3]=d+ +(((w<<24>>24)/2|0)<<24>>24);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];$f(A,Z,0.0,o-u+ +(i&255|0)+ +(w<<24>>24));i=r[h>>0]|0}if(i&2?(E=f[e+86>>1]|0,C=a[e+96>>2]|0,((l[e+82>>1]|0)+(E&65535)|0)<(a[C+100>>2]|0)):0){i=f[e+84>>1]|0;do{if(!(i<<16>>16)){i=r[C+32>>0]|0;L=(i<<24>>24)/2|0;w=(L<<24>>24)+(n[C+33>>0]|0)|0;t=w&255;w=w&255;s=+(L<<24>>24);b[G>>3]=B-s-+(w|0);if((a[C+104>>2]|0)==(l[e+80>>1]|0)){t=w<<1&255;break}if((c|0)!=0?(f[c+86>>1]|0)!=E<<16>>16:0)t=~~(+(t&255)-g+ +b[C+64>>3]-s)&255}else{if(((l[e+80>>1]|0)+(i&65535)|0)==(a[C+104>>2]|0)){i=r[C+32>>0]|0;L=(i<<24>>24)/2|0;t=(L&255)+(n[C+33>>0]|0)&255;b[G>>3]=B-+(L<<24>>24);break}i=r[C+32>>0]|0;s=+(((i<<24>>24)/2|0)<<24>>24);b[G>>3]=B-s;if((c|0)!=0?(f[c+86>>1]|0)!=E<<16>>16:0)t=~~(+b[C+64>>3]-g-s)&255;else t=0}}while(0);b[G+8>>3]=I-+(((i<<24>>24)/2|0)<<24>>24);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];$f(A,Z,g-v+ +(t&255)+ +(i<<24>>24),0.0)}k=Q;return}function Kf(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0;o=k;k=k+160|0;u=o+112|0;w=o;t=o+144|0;s=a[e+24>>2]|0;$i(A,(s|0)==0?137314:s);s=e+42|0;l=f[s>>1]|0;if(!(l&384))rr(A,a[(a[A>>2]|0)+336>>2]|0);else{a[t+4>>2]=0;a[t>>2]=0;l=l&65535;if(!(l&256)){if(l&128|0){l=137320;c=4}}else{l=137327;c=4}if((c|0)==4)a[t>>2]=l;rr(A,t)}c=e+33|0;wr(A,+(n[c>>0]|0));A:do{if(!(f[s>>1]&4)){l=f[e+36>>1]&15360;if(!(l<<16>>16)){l=r[c>>0]|0;if((l&255)>1){h=+(l&255)*.5;b[i>>3]=+b[i>>3]+h;w=i+8|0;b[w>>3]=+b[w>>3]+h;w=i+16|0;b[w>>3]=+b[w>>3]-h;w=i+24|0;b[w>>3]=+b[w>>3]-h}a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];nr(A,u,0);break}t=w+16|0;s=n[c>>0]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];Sf(t,u,s)|0;do{switch(((l&65535)+-1024|0)>>>10&4194303|0){case 7:{tr(A,t,2);break A}case 3:{tr(A,w+32|0,2);break A}case 1:{tr(A,w+48|0,2);break A}case 0:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,2);break A}case 11:{tr(A,t,3);break A}case 5:{tr(A,w+32|0,3);break A}case 2:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];tr(A,w+48|0,3);break A}case 8:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,3);break A}case 13:{tr(A,t,4);break A}case 6:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];tr(A,w+32|0,4);break A}case 10:{i=w+80|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];i=w+96|0;u=w+32|0;a[i>>2]=a[u>>2];a[i+4>>2]=a[u+4>>2];a[i+8>>2]=a[u+8>>2];a[i+12>>2]=a[u+12>>2];tr(A,w+48|0,4);break A}case 12:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,4);break A}case 9:{tr(A,t,2);tr(A,w+48|0,2);break A}case 4:{i=w+64|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];tr(A,w,2);tr(A,w+32|0,2);break A}default:break A}}while(0)}else{s=n[c>>0]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];a[u+16>>2]=a[i+16>>2];a[u+20>>2]=a[i+20>>2];a[u+24>>2]=a[i+24>>2];a[u+28>>2]=a[i+28>>2];tN(A,Sf(w,u,s)|0,4,4,0)}}while(0);k=o;return}function _f(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=a[A+16>>2]|0;i=l+208|0;if((a[i>>2]|0)==0?(f[l+260>>1]&1)==0:0)A=0;else{Oi(A);A=a[i>>2]|0}if((A|0)!=(a[e>>2]|0)){L2(A);a[i>>2]=a[e>>2]}A=l+228|0;i=a[A>>2]|0;n=e+4|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}A=l+244|0;i=a[A>>2]|0;n=e+8|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}A=l+212|0;i=a[A>>2]|0;n=e+12|0;if((i|0)!=(a[n>>2]|0)){L2(i);a[A>>2]=a[n>>2]}l=l+260|0;f[l>>1]=f[l>>1]&-2|r[e+16>>0]&1;return}function qf(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=a[e>>2]|0;if(r|0)a[A+16>>2]=r;r=a[e+4>>2]|0;if(r|0)a[A+20>>2]=r;i=+b[e+16>>3];if(i>=0.0)b[A+32>>3]=i;return}function $f(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0,l=0;f=k;k=k+64|0;n=f+32|0;l=f;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];b[l+16>>3]=+b[e>>3]+i;b[l+24>>3]=+b[e+8>>3]+r;a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];a[n+16>>2]=a[l+16>>2];a[n+20>>2]=a[l+20>>2];a[n+24>>2]=a[l+24>>2];a[n+28>>2]=a[l+28>>2];nr(A,n,1);k=f;return}function Aa(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0.0;l=k;k=k+64|0;n=l;c=+b[i>>3];w=c+ +b[e>>3];s=+b[i+8>>3];t=s+ +b[e+8>>3];c=c+ +b[e+16>>3];s=s+ +b[e+24>>3];b[n>>3]=c;b[n+8>>3]=s;b[n+32>>3]=w;b[n+40>>3]=t;b[n+16>>3]=w;b[n+24>>3]=s;b[n+48>>3]=c;b[n+56>>3]=t;f=a[e+36>>2]|0;if(!f)f=a[i+56>>2]|0;i=a[e+32>>2]|0;if(!i)vA(137334,137342,623,137354);if(!(r[i>>0]|0))vA(137368,137342,624,137354);else{br(A,i,n,4,1,f);k=l;return}}function ea(A,e,i,n,l,t,c,s){A=A|0;e=e|0;i=i|0;n=n|0;l=+l;t=t|0;c=c|0;s=s|0;var w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0.0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,U=0;U=k;k=k+128|0;V=U+104|0;R=U+48|0;H=U+16|0;J=U;F=J;a[F>>2]=0;a[F+4>>2]=0;N=+b[n>>3];X=N-l;M=N+l;F=J+8|0;b[F>>3]=(+b[c+24>>3]-+b[c+8>>3])*.5+ +b[n+8>>3];Ki(A,1);W=H+16|0;y=H+4|0;z=H+24|0;Y=R+4|0;D=R+16|0;B=(s|0)==0;v=R+24|0;g=R+8|0;E=R+32|0;C=R+40|0;I=R+48|0;Z=t+16|0;G=t+4|0;Q=H+8|0;h=0;while(1){if((h|0)>=(e|0))break;switch(r[i+(h*24|0)+6>>0]|0){case 108:{l=X;break}case 114:{l=M-+b[i+(h*24|0)+8>>3];break}default:l=N-+b[i+(h*24|0)+8>>3]*.5}b[n>>3]=l;m=i+(h*24|0)+16|0;b[F>>3]=+b[F>>3]-+b[m>>3];L=i+(h*24|0)+4|0;o=a[i+(h*24|0)>>2]|0;d=0;while(1){if((d|0)>=(f[L>>1]|0))break;u=o+4|0;s=a[u>>2]|0;if(s){b[W>>3]=+b[(+b[s+16>>3]>0.0?s:t)+16>>3];a[H>>2]=a[((a[s>>2]|0)==0?t:s)>>2];c=a[((a[s+4>>2]|0)==0?t:s)+4>>2]|0;a[y>>2]=c;s=a[s+24>>2]&127;if(!s)p=12;else s=a[z>>2]&-128|s}else{b[W>>3]=+b[Z>>3];a[H>>2]=a[t>>2];c=a[G>>2]|0;a[y>>2]=c;p=12}if((p|0)==12){p=0;s=a[z>>2]&-128}a[z>>2]=s;$i(A,c);a[R>>2]=a[o>>2];a[Y>>2]=H;b[D>>3]=+b[o+16>>3];if(B)w=1.0;else w=+b[o+24>>3];b[v>>3]=w;a[Q>>2]=a[(a[u>>2]|0)+8>>2];a[g>>2]=a[o+8>>2];u=o+32|0;b[E>>3]=+b[u>>3];b[C>>3]=+b[m>>3];r[I>>0]=108;b[J>>3]=l;a[V>>2]=a[J>>2];a[V+4>>2]=a[J+4>>2];a[V+8>>2]=a[J+8>>2];a[V+12>>2]=a[J+12>>2];qi(A,V,R);w=+b[u>>3]+l;b[n>>3]=w;o=o+56|0;d=d+1|0;l=w}h=h+1|0}_i(A);k=U;return}function ia(A){A=A|0;L2(a[A>>2]|0);L2(a[A+4>>2]|0);L2(a[A+8>>2]|0);L2(a[A+16>>2]|0);L2(a[A+12>>2]|0);L2(a[A+20>>2]|0);L2(a[A+24>>2]|0);return}function ra(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;if(A|0){c=A+4|0;i=0;n=a[A>>2]|0;while(1){if((i|0)>=(f[c>>1]|0))break;b=n+4|0;e=0;r=a[n>>2]|0;while(1){if((e|0)>=(f[b>>1]|0))break;L2(a[r>>2]|0);l=a[r+8>>2]|0;if(l|0?(t=a[r+12>>2]|0,t|0):0)F5[t&127](l);e=e+1|0;r=r+56|0}i=i+1|0;n=n+24|0}e=a[A>>2]|0;if(e|0)L2(e);L2(A)}return}function fa(A){A=A|0;L2(a[A+32>>2]|0);L2(A);return}function aa(A,e){A=A|0;e=e|0;switch(r[A+4>>0]|0){case 1:{na(a[A>>2]|0);break}case 3:{fa(a[A>>2]|0);break}default:ra(a[A>>2]|0)}if(e|0)L2(A);return}function na(A){A=A|0;var e=0,i=0,r=0;r=A+84|0;if((a[A+100>>2]|0)==-1)pk(a[r>>2]|0)|0;else{e=a[r>>2]|0;L2(a[A+92>>2]|0);L2(a[A+96>>2]|0);while(1){i=a[e>>2]|0;if(!i)break;la(i);e=e+4|0}L2(a[r>>2]|0)}ia(A);L2(A);return}function la(A){A=A|0;aa(A+88|0,0);ia(A);L2(A);return}function ta(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A=a[(a[(a[A+16>>2]|0)+104>>2]|0)+72>>2]|0;if((r[A+4>>0]|0)!=2?(f=ca(a[A>>2]|0,e)|0,(f|0)!=0):0){a[i>>2]=n[f+35>>0];A=f+48|0}else A=0;return A|0}function ca(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[A+4>>2]|0;if(!((i|0)!=0?(N1(i,e)|0)==0:0))r=3;A:do{if((r|0)==3){i=a[A+84>>2]|0;while(1){A=a[i>>2]|0;if(!A){A=0;break A}A=ba(A,e)|0;if(!A)i=i+4|0;else break}}}while(0);return A|0}function ba(A,e){A=A|0;e=e|0;var i=0;i=a[A+4>>2]|0;if(!((i|0)!=0?(N1(i,e)|0)==0:0))if((r[A+92>>0]|0)==1)A=ca(a[A+88>>2]|0,e)|0;else A=0;return A|0}function sa(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function wa(A){A=A|0;var e=0.0,i=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=A+92|0;a[o>>2]=qF((a[A+100>>2]<<2)+4|0)|0;u=qF((a[A+104>>2]<<2)+4|0)|0;a[A+96>>2]=u;k=A+32|0;w=a[A+84>>2]|0;while(1){s=a[w>>2]|0;if(!s)break;A=f[s+82>>1]|0;e=+b[s+72>>3];if(A<<16>>16==1)n=~~e;else{n=~~((e-+(U((r[k>>0]|0)+-1|0,(A&65535)+-1|0)|0))/+(A&65535));n=(n|0)>1?n:1}t=f[s+80>>1]|0;e=+b[s+64>>3];if(t<<16>>16==1)c=~~e;else{c=~~((e-+(U((r[k>>0]|0)+-1|0,(t&65535)+-1|0)|0))/+(t&65535));c=(c|0)>1?c:1}h=l[s+86>>1]|0;i=(A&65535)+h|0;A=h;while(1){if((A|0)>=(i|0))break;h=(a[o>>2]|0)+(A<<2)|0;d=a[h>>2]|0;a[h>>2]=(d|0)>(n|0)?d:n;A=A+1|0}A=l[s+84>>1]|0;i=(t&65535)+A|0;while(1){if((A|0)>=(i|0))break;d=u+(A<<2)|0;h=a[d>>2]|0;a[d>>2]=(h|0)>(c|0)?h:c;A=A+1|0}w=w+4|0}return}function ua(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;if(A>>>0<21)A=a[55840+(A<<2)>>2]|0;else{a[e>>2]=A;P4(194959,137395,e)|0;A=194959}k=i;return A|0}function ka(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0;c=A+104|0;s=A+100|0;t=i+16|0;r=0;f=0;while(1){if((r|0)>(a[c>>2]|0))break;n=vd(i,ua(r)|0,1)|0;Td(n,137447,304,1)|0;w=n+16|0;a[(a[w>>2]|0)+176>>2]=0;k=qF((a[s>>2]<<2)+4|0)|0;u=a[w>>2]|0;a[u+172>>2]=k;a[u+184>>2]=0;u=qF((a[s>>2]<<2)+4|0)|0;a[(a[w>>2]|0)+180>>2]=u;if(!f)a[(a[t>>2]|0)+192>>2]=n;else a[(a[f+16>>2]|0)+164>>2]=n;r=r+1|0;f=n}t=e+16|0;r=0;f=0;while(1){if((r|0)>(a[s>>2]|0))break;n=vd(e,ua(r)|0,1)|0;Td(n,137447,304,1)|0;k=n+16|0;a[(a[k>>2]|0)+176>>2]=0;w=qF((a[c>>2]<<2)+4|0)|0;u=a[k>>2]|0;a[u+172>>2]=w;a[u+184>>2]=0;u=qF((a[c>>2]<<2)+4|0)|0;a[(a[k>>2]|0)+180>>2]=u;if(!f)a[(a[t>>2]|0)+192>>2]=n;else a[(a[f+16>>2]|0)+164>>2]=n;r=r+1|0;f=n}r=a[A+84>>2]|0;while(1){f=a[r>>2]|0;if(!f)break;k=f+84|0;u=vd(i,ua(l[k>>1]|0)|0,0)|0;k=vd(i,ua((l[f+80>>1]|0)+(l[k>>1]|0)|0)|0,0)|0;oa(i,u,k,~~+b[f+64>>3]);k=f+86|0;u=vd(e,ua(l[k>>1]|0)|0,0)|0;k=vd(e,ua((l[f+82>>1]|0)+(l[k>>1]|0)|0)|0,0)|0;oa(e,u,k,~~+b[f+72>>3]);r=r+4|0}ha(i);ha(e);return}function oa(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0;n=th(A,e,i,0,0)|0;if(!n){t=th(A,e,i,0,1)|0;Td(t,137460,176,1)|0;f[(a[t+16>>2]|0)+170>>1]=r;e=e+16|0;A=a[e>>2]|0;n=a[A+180>>2]|0;if(!n)A=$F((a[A+184>>2]<<2)+8|0)|0;else A=eV(n,(a[A+184>>2]<<2)+8|0)|0;r=a[e>>2]|0;a[r+180>>2]=A;r=r+184|0;n=a[r>>2]|0;a[r>>2]=n+1;a[A+(n<<2)>>2]=t;e=a[e>>2]|0;a[(a[e+180>>2]|0)+(a[e+184>>2]<<2)>>2]=0;e=i+16|0;A=a[e>>2]|0;n=a[A+172>>2]|0;if(!n)A=$F((a[A+176>>2]<<2)+8|0)|0;else A=eV(n,(a[A+176>>2]<<2)+8|0)|0;r=a[e>>2]|0;a[r+172>>2]=A;r=r+176|0;i=a[r>>2]|0;a[r>>2]=i+1;a[A+(i<<2)>>2]=t;t=a[e>>2]|0;a[(a[t+172>>2]|0)+(a[t+176>>2]<<2)>>2]=0}else{t=(a[n+16>>2]|0)+170|0;i=l[t>>1]|0;f[t>>1]=(i|0)>(r|0)?i:r}return}function ha(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;e=a[(a[A+16>>2]|0)+192>>2]|0;while(1){r=e+16|0;l=a[(a[r>>2]|0)+164>>2]|0;if(!l)break;if(th(A,e,l,0,0)|0){e=l;continue}n=th(A,e,l,0,1)|0;Td(n,137460,176,1)|0;f[(a[n+16>>2]|0)+170>>1]=0;e=a[r>>2]|0;i=a[e+180>>2]|0;if(!i)e=$F((a[e+184>>2]<<2)+8|0)|0;else e=eV(i,(a[e+184>>2]<<2)+8|0)|0;t=a[r>>2]|0;a[t+180>>2]=e;t=t+184|0;i=a[t>>2]|0;a[t>>2]=i+1;a[e+(i<<2)>>2]=n;r=a[r>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=l+16|0;e=a[r>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;i=a[r>>2]|0;a[i+172>>2]=e;i=i+176|0;t=a[i>>2]|0;a[i>>2]=t+1;a[e+(t<<2)>>2]=n;e=a[r>>2]|0;a[(a[e+172>>2]|0)+(a[e+176>>2]<<2)>>2]=0;e=l}return}function da(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=A+92|0;r=0;f=0;e=a[(a[(a[e+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=a[e+164>>2]|0;if(!e)break;e=a[e+16>>2]|0;l=e+232|0;a[(a[n>>2]|0)+(f<<2)>>2]=(a[l>>2]|0)-r;r=a[l>>2]|0;f=f+1|0}A=A+96|0;r=0;f=0;e=a[(a[(a[i+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=a[e+164>>2]|0;if(!e)break;e=a[e+16>>2]|0;l=e+232|0;a[(a[A>>2]|0)+(f<<2)>>2]=(a[l>>2]|0)-r;r=a[l>>2]|0;f=f+1|0}return}function Ba(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l+4|0;e=l;a[e>>2]=a[4647];i=a[A+100>>2]|0;if((i|0)!=1?(f=A+104|0,(a[f>>2]|0)!=1):0){a[A+92>>2]=qF((i<<2)+4|0)|0;a[A+96>>2]=qF((a[f>>2]<<2)+4|0)|0;r[n>>0]=r[e>>0]|0;r[n+1>>0]=r[e+1>>0]|0;r[n+2>>0]=r[e+2>>0]|0;r[n+3>>0]=r[e+3>>0]|0;f=kh(137473,n,0)|0;r[n>>0]=r[e>>0]|0;r[n+1>>0]=r[e+1>>0]|0;r[n+2>>0]=r[e+2>>0]|0;r[n+3>>0]=r[e+3>>0]|0;n=kh(137478,n,0)|0;Td(f,137483,280,1)|0;Td(n,137483,280,1)|0;ka(A,f,n);JV(f,2,2147483647)|0;JV(n,2,2147483647)|0;da(A,f,n);va(f,n)}else wa(A);k=l;return}function va(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=(a[e+16>>2]|0)+192|0;while(1){i=a[i>>2]|0;if(!i)break;f=i+16|0;i=a[f>>2]|0;r=a[i+172>>2]|0;if(r){L2(r);i=a[f>>2]|0}r=a[i+180>>2]|0;if(r){L2(r);i=a[f>>2]|0}i=i+164|0}Bh(A)|0;Bh(e)|0;return}function ga(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0;o=k;k=k+272|0;w=o+104|0;u=o+136|0;t=o+72|0;c=o;n=o+144|0;a[c+48>>2]=A;switch(Md(A)|0){case 0:{i=a[A+60>>2]|0;break}case 1:{i=Id(A)|0;break}case 2:{i=Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;break}default:{}}l=c+52|0;a[l>>2]=i;s=a[i+60>>2]|0;b[c+32>>3]=+b[e+16>>3];a[c+16>>2]=a[e+4>>2];a[c+20>>2]=a[e+8>>2];a[c+40>>2]=0;f=zl(a[e>>2]|0,u,c)|0;if(!f){co(w,128,n);r[e+82>>0]=0;i=s3(Ea(A,w)|0)|0;a[e>>2]=i;if((a[e+12>>2]|0)==1)i=EH(i)|0;else i=BH(i,a[l>>2]|0)|0;L2(a[e>>2]|0);a[e>>2]=i;RF(a[(a[s+16>>2]|0)+144>>2]|0,e);uo(w);i=a[u>>2]|0}else{i=f+4|0;if((r[i>>0]|0)==1){if((a[(a[f>>2]|0)+24>>2]|0)==0?Ca(A)|0:0){l=s3(Ca(A)|0)|0;a[(a[f>>2]|0)+24>>2]=l}s=Ia(s,a[f>>2]|0,0,c)|0;a[u>>2]=a[u>>2]|s;s=a[f>>2]|0;d=+b[s+64>>3]*.5;h=+b[s+72>>3]*.5;Za(t,-d,-h,d,h);s=a[f>>2]|0;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[w+16>>2]=a[t+16>>2];a[w+20>>2]=a[t+20>>2];a[w+24>>2]=a[t+24>>2];a[w+28>>2]=a[t+28>>2];Ga(s,w,15)}else{Qa(a[(a[s+16>>2]|0)+144>>2]|0,a[f>>2]|0,c);w=a[f>>2]|0;h=+b[w+24>>3]*.5;d=+b[w+32>>3]*.5;Za(t,-h,-d,h,d);w=(a[f>>2]|0)+8|0;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[w+16>>2]=a[t+16>>2];a[w+20>>2]=a[t+20>>2];a[w+24>>2]=a[t+24>>2];a[w+28>>2]=a[t+28>>2]}b[e+24>>3]=+b[t+16>>3]-+b[t>>3];b[e+32>>3]=+b[t+24>>3]-+b[t+8>>3];a[e+72>>2]=f;if((r[i>>0]|0)==1){L2(a[e>>2]|0);a[e>>2]=s3(141611)|0}i=a[u>>2]|0}k=o;return i|0}function Ea(A,e){A=A|0;e=e|0;var i=0;A:do{switch(Md(A)|0){case 0:{wo(e,Vh(A)|0)|0;break}case 1:{wo(e,Vh(A)|0)|0;break}case 2:{wo(e,Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)|0;i=A+-48|0;wo(e,Vh(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0;if(!(Ih(Id(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0)){wo(e,141747)|0;break A}else{wo(e,137738)|0;break A}}default:{}}}while(0);i=e+4|0;A=a[i>>2]|0;if(A>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;A=a[i>>2]|0}r[A>>0]=0;e=a[e>>2]|0;a[i>>2]=e;return e|0}function Ca(A){A=A|0;var e=0,i=0;e=po(A,137729)|0;if(!((e|0)!=0?(r[e>>0]|0)!=0:0))i=3;do{if((i|0)==3){e=po(A,140823)|0;if(e|0?r[e>>0]|0:0)break;e=0}}while(0);return e|0}function Ia(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+16|0;g=C+8|0;v=C;E=e+108|0;c=a[E>>2]|0;if(c|0)xf(t,c,186576);a[e+80>>2]=i;c=ya(A,e,t)|0;d=e+36|0;A=f[d>>1]|0;if(!(A&128))r[e+32>>0]=2;i=e+33|0;if(!(A&32))r[i>>0]=1;Ba(e);w=a[e+104>>2]|0;o=r[e+32>>0]|0;A=U(w+1|0,o)|0;u=n[i>>0]<<1;h=a[e+100>>2]|0;o=U(h+1|0,o)|0;s=e+96|0;A=u+A|0;i=0;while(1){if((i|0)>=(w|0))break;A=(a[(a[s>>2]|0)+(i<<2)>>2]|0)+A|0;i=i+1|0}w=e+92|0;i=o+u|0;s=0;while(1){if((s|0)>=(h|0))break;i=(a[(a[w>>2]|0)+(s<<2)>>2]|0)+i|0;s=s+1|0}w=e+38|0;do{if(f[d>>1]&1){d=f[w>>1]|0;s=d&65535;if(d<<16>>16?(B=f[e+40>>1]|0,B<<16>>16):0){if(!((A|0)>(s|0)|(i|0)>(B&65535|0))){i=0;A=0;break}ao(0,137529,v)|0;c=1;i=0;A=0;break}ao(0,137563,g)|0;c=1}}while(0);g=l[w>>1]|0;b[e+64>>3]=+(((A|0)>(g|0)?A:g)|0);g=l[e+40>>1]|0;b[e+72>>3]=+(((i|0)>(g|0)?i:g)|0);if(a[E>>2]|0)qf(t,186576);k=C;return c|0}function Za(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function Ga(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0.0,V=0;M=k;k=k+64|0;Y=M+32|0;D=M;y=a[A+84>>2]|0;c=a[A+80>>2]|0;if((c|0?(l=a[c+24>>2]|0,l|0):0)?(t=A+24|0,(a[t>>2]|0)==0):0)a[t>>2]=s3(l)|0;z=A+48|0;l=e+16|0;w=+b[l>>3];s=+b[e>>3];c=~~(w-s-+(~~+b[A+64>>3]|0));if((c|0)<=-1)vA(137496,137342,1761,137506);u=e+24|0;Z=+b[u>>3];o=e+8|0;h=+b[o>>3];d=+(~~+b[A+72>>3]|0);B=~~(Z-h-d);if((B|0)<=-1)vA(137519,137342,1764,137506);v=f[A+36>>1]|0;t=v&65535;A:do{if(t&1){e:do{if((c|0)>0)switch(t&6){case 4:{b[l>>3]=s+d;break e}case 2:{F=+(c|0);b[l>>3]=w+F;s=s+F;b[e>>3]=s;break e}default:{F=+(c>>>1|0);s=s+F;b[e>>3]=s;b[l>>3]=w-F;break e}}}while(0);if((B|0)>0)switch(v&24){case 16:{Z=h+d;b[u>>3]=Z;B=0;l=0;break A}case 8:{F=+(B|0);Z=Z+F;b[u>>3]=Z;b[o>>3]=h+F;B=0;l=0;break A}default:{F=+(B>>>1|0);b[o>>3]=h+F;Z=Z-F;b[u>>3]=Z;B=0;l=0;break A}}else{B=0;l=0}}else l=c}while(0);w=+(n[A+33>>0]|0);L=A+32|0;g=r[L>>0]|0;h=+(g<<24>>24);W=A+104|0;c=a[W>>2]|0;v=(l|0)/(c|0)|0;u=l-(U(v,c)|0)|0;u=~~(((u|0)>-1?.5:-.5)+ +(u|0));m=A+96|0;o=g<<24>>24;l=~~(s+w+h);t=0;while(1){if((t|0)>(c|0))break;Q=(a[m>>2]|0)+(t<<2)|0;c=a[Q>>2]|0;a[Q>>2]=l;l=l+v+((t|0)<(u|0)&1)+c+o|0;t=t+1|0;c=a[W>>2]|0}Q=A+100|0;c=a[Q>>2]|0;v=(B|0)/(c|0)|0;o=B-(U(v,c)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));G=A+92|0;u=g<<24>>24;l=~~(Z-w-h);t=0;while(1){if((t|0)>(c|0))break;I=(a[G>>2]|0)+(t<<2)|0;c=a[I>>2]|0;a[I>>2]=l;l=l-v+(((t|0)<(o|0))<<31>>31)-c-u|0;t=t+1|0;c=a[Q>>2]|0}g=(i|0)==0;E=D+16|0;C=D+24|0;I=D+8|0;l=y;while(1){u=a[l>>2]|0;if(!u)break;c=f[u+84>>1]|0;if(g){t=0;o=f[u+80>>1]|0;B=f[u+86>>1]|0;v=f[u+82>>1]|0}else{t=c<<16>>16==0?8:0;B=f[u+86>>1]|0;t=B<<16>>16==0?t|4:t;o=f[u+80>>1]|0;v=f[u+82>>1]|0;t=(((o&65535)+(c&65535)|0)==(a[W>>2]|0)?t|2:t)|((v&65535)+(B&65535)|0)==(a[Q>>2]|0)}V=a[m>>2]|0;c=c&65535;b[D>>3]=+(a[V+(c<<2)>>2]|0);y=r[L>>0]|0;b[E>>3]=+((a[V+((o&65535)+c<<2)>>2]|0)-y|0);o=a[G>>2]|0;b[C>>3]=+(a[o+((B&65535)<<2)>>2]|0);b[I>>3]=+((a[o+((v&65535)+(B&65535)<<2)>>2]|0)+y|0);a[Y>>2]=a[D>>2];a[Y+4>>2]=a[D+4>>2];a[Y+8>>2]=a[D+8>>2];a[Y+12>>2]=a[D+12>>2];a[Y+16>>2]=a[D+16>>2];a[Y+20>>2]=a[D+20>>2];a[Y+24>>2]=a[D+24>>2];a[Y+28>>2]=a[D+28>>2];ma(u,Y,t&i);l=l+4|0}r[A+35>>0]=i;a[z>>2]=a[e>>2];a[z+4>>2]=a[e+4>>2];a[z+8>>2]=a[e+8>>2];a[z+12>>2]=a[e+12>>2];a[z+16>>2]=a[e+16>>2];a[z+20>>2]=a[e+20>>2];a[z+24>>2]=a[e+24>>2];a[z+28>>2]=a[e+28>>2];k=M;return}function Qa(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0.0,p=0.0,U=0.0;R=k;k=k+112|0;D=R+48|0;M=R+16|0;F=R;a[M>>2]=0;a[M+4>>2]=0;a[M+8>>2]=0;a[M+12>>2]=0;a[M+16>>2]=0;a[M+20>>2]=0;a[M+24>>2]=0;a[M+28>>2]=0;V=e+4|0;J=i+16|0;N=i+32|0;X=M+16|0;d=f[V>>1]|0;w=d<<16>>16;n=0;t=-1.0;s=0;while(1){if((s|0)>=(w|0)){n=1;break}l=a[e>>2]|0;if((f[l+(s*24|0)+4>>1]|0)>1){n=0;break}l=a[(a[l+(s*24|0)>>2]|0)+4>>2]|0;if(!l){c=+b[N>>3];b[X>>3]=c;l=J}else{if(a[l+24>>2]&127|0){n=0;break}c=+b[(+b[l+16>>3]>0.0?l:J)+16>>3];b[X>>3]=c;l=(a[l>>2]|0)==0?J:l}l=a[l>>2]|0;a[M>>2]=l;if(!(t==-1.0)){if(c!=t){n=0;break}}else t=c;if(n){if(A1(l,n)|0){n=0;break}}else n=l;s=s+1|0}r[e+6>>0]=n;y=i+48|0;z=i+20|0;Y=M+4|0;C=i+40|0;I=M+24|0;Z=A+144|0;G=D+4|0;E=F+8|0;Q=D+16|0;m=D+24|0;L=D+8|0;W=D+12|0;i=(n|0)==0;t=0.0;B=0.0;v=0.0;g=0.0;w=0;n=d;while(1){if((w|0)>=(n<<16>>16|0))break;c=0.0;h=0.0;s=0;o=0.0;t=0.0;l=a[e>>2]|0;while(1){if((s|0)>=(f[l+(w*24|0)+4>>1]|0))break;a[D>>2]=SF(a[(a[l+(w*24|0)>>2]|0)+(s*56|0)>>2]|0,a[y>>2]|0)|0;l=(a[e>>2]|0)+(w*24|0)|0;n=a[(a[l>>2]|0)+(s*56|0)+4>>2]|0;if(!n){b[X>>3]=+b[N>>3];a[M>>2]=a[J>>2];a[Y>>2]=a[z>>2];a[I>>2]=a[I>>2]&-128|a[C>>2]&127}else{n=a[n+24>>2]&127;if(!n)n=a[C>>2]&127;a[I>>2]=a[I>>2]&-128|n;d=a[(a[l>>2]|0)+(s*56|0)+4>>2]|0;b[X>>3]=+b[(+b[d+16>>3]>0.0?d:J)+16>>3];a[M>>2]=a[((a[d>>2]|0)==0?J:d)>>2];a[Y>>2]=a[((a[d+4>>2]|0)==0?J:d)+4>>2]}l=a[Z>>2]|0;a[G>>2]=W5[a[l>>2]&63](l,M,1)|0;AR(F,A,D);p=+b[F>>3];u=+b[E>>3];L2(a[(a[(a[e>>2]|0)+(w*24|0)>>2]|0)+(s*56|0)>>2]|0);l=a[e>>2]|0;d=a[l+(w*24|0)>>2]|0;a[d+(s*56|0)>>2]=a[D>>2];b[d+(s*56|0)+32>>3]=p;b[d+(s*56|0)+16>>3]=+b[Q>>3];b[d+(s*56|0)+24>>3]=+b[m>>3];a[d+(s*56|0)+4>>2]=a[G>>2];a[d+(s*56|0)+8>>2]=a[L>>2];a[d+(s*56|0)+12>>2]=a[W>>2];H=+b[X>>3];U=+b[m>>3];c=U>c?U:c;h=p+h;s=s+1|0;o=H>o?H:o;t=u>t?u:t}b[l+(w*24|0)+8>>3]=h;n=(w|0)==0;do{if(i)if(n){u=o;c=o-c;n=l;break}else{u=o;c=v-g+o-c;n=l+(w*24|0)|0;break}else{u=t;c=n?o:t;n=l+(w*24|0)|0}}while(0);b[n+16>>3]=c;B=h>B?h:B;v=u+v;g=+b[l+(w*24|0)+16>>3]+g;w=w+1|0;n=f[V>>1]|0}b[e+24>>3]=B;b[e+32>>3]=n<<16>>16==1?t:v;k=R;return}function ma(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0;Z=k;k=k+64|0;E=Z+32|0;I=Z;t=A+24|0;if((a[t>>2]|0)==0?(l=a[(a[A+96>>2]|0)+24>>2]|0,l|0):0)a[t>>2]=s3(l)|0;v=A+36|0;C=f[v>>1]|0;l=C&65535;A:do{if(l&1){c=+b[A+64>>3];h=+b[A+72>>3];t=e+16|0;s=+b[t>>3];u=+b[e>>3];w=s-u-c;e:do{if(w>0.0)switch(l&6){case 4:{s=u+c;b[t>>3]=s;c=u;break e}case 2:{s=w+s;b[t>>3]=s;c=u+w;b[e>>3]=c;break e}default:{o=w*.5;c=o+u;b[e>>3]=c;s=s-o;b[t>>3]=s;break e}}else c=u}while(0);l=e+24|0;o=+b[l>>3];t=e+8|0;w=+b[t>>3];u=o-w-h;if(u>0.0)switch(C&24){case 16:{u=w+h;b[l>>3]=u;break A}case 8:{h=u+o;b[l>>3]=h;w=w+u;b[t>>3]=w;u=h;break A}default:{u=u*.5;w=u+w;b[t>>3]=w;u=o-u;b[l>>3]=u;break A}}else u=o}else{c=+b[e>>3];w=+b[e+8>>3];s=+b[e+16>>3];u=+b[e+24>>3]}}while(0);B=A+48|0;a[B>>2]=a[e>>2];a[B+4>>2]=a[e+4>>2];a[B+8>>2]=a[e+8>>2];a[B+12>>2]=a[e+12>>2];a[B+16>>2]=a[e+16>>2];a[B+20>>2]=a[e+20>>2];a[B+24>>2]=a[e+24>>2];a[B+28>>2]=a[e+28>>2];r[A+35>>0]=i;Q=+(n[A+33>>0]|0);G=+(n[A+34>>0]|0);o=c+Q+G;b[I>>3]=o;h=w+Q+G;B=I+8|0;b[B>>3]=h;w=s-Q-G;e=I+16|0;b[e>>3]=w;u=u-Q-G;d=I+24|0;b[d>>3]=u;t=A+88|0;switch(r[A+92>>0]|0){case 1:{C=a[t>>2]|0;a[E>>2]=a[I>>2];a[E+4>>2]=a[I+4>>2];a[E+8>>2]=a[I+8>>2];a[E+12>>2]=a[I+12>>2];a[E+16>>2]=a[I+16>>2];a[E+20>>2]=a[I+20>>2];a[E+24>>2]=a[I+24>>2];a[E+28>>2]=a[I+28>>2];Ga(C,E,i);break}case 3:{l=a[t>>2]|0;c=+b[l+24>>3];s=w-o-+b[l+16>>3];A:do{if(s>0.0)switch(C&6){case 4:{b[e>>3]=w-s;break A}case 2:{b[I>>3]=s+o;break A}default:break A}}while(0);c=u-h-c;A:do{if(c>0.0)switch(C&24){case 16:{b[d>>3]=u-c;break A}case 8:{b[B>>3]=c+h;break A}default:break A}}while(0);a[E>>2]=a[I>>2];a[E+4>>2]=a[I+4>>2];a[E+8>>2]=a[I+8>>2];a[E+12>>2]=a[I+12>>2];a[E+16>>2]=a[I+16>>2];a[E+20>>2]=a[I+20>>2];a[E+24>>2]=a[I+24>>2];a[E+28>>2]=a[I+28>>2];La(l,E);break}default:{l=a[t>>2]|0;c=+b[l+32>>3];s=w-o-+b[l+24>>3];A:do{if(s>0.0?(g=C&6,g<<16>>16!=6):0)switch(g&7){case 4:{b[e>>3]=w-s;break A}case 2:{b[I>>3]=s+o;break A}default:{Q=s*.5;b[I>>3]=Q+o;b[e>>3]=w-Q;break A}}}while(0);c=u-h-c;A:do{if(c>0.0)switch(C&24){case 16:{b[d>>3]=u-c;break A}case 8:{b[B>>3]=c+h;break A}default:{Q=c*.5;b[B>>3]=Q+h;b[d>>3]=u-Q;break A}}}while(0);C=l+8|0;a[C>>2]=a[I>>2];a[C+4>>2]=a[I+4>>2];a[C+8>>2]=a[I+8>>2];a[C+12>>2]=a[I+12>>2];a[C+16>>2]=a[I+16>>2];a[C+20>>2]=a[I+20>>2];a[C+24>>2]=a[I+24>>2];a[C+28>>2]=a[I+28>>2];I=f[v>>1]&768;Wa(a[t>>2]|0,(I&1023)==512?108:(I&1023)==256?114:110)}}k=Z;return}function La(A,e){A=A|0;e=e|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];return}function Wa(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;n=f[A+4>>1]|0;i=0;while(1){if((i|0)>=(n|0))break;l=(a[A>>2]|0)+(i*24|0)+6|0;if(!(r[l>>0]|0))r[l>>0]=e;i=i+1|0}return}function ya(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;s=e+84|0;v=a[s>>2]|0;g=$V()|0;E=Ma()|0;t=0;n=0;b=xk(v)|0;while(1){if(!b)break;c=xk(a[b+8>>2]|0)|0;while(1){if(!c)break;c=a[c>>2]|0;t=t+1|0}n=n+1|0;if(r[b+12>>0]|0)Na(E,n);b=a[b>>2]|0}n=qF((t<<2)+4|0)|0;a[s>>2]=n;t=0;c=0;b=0;h=0;d=xk(v)|0;while(1){if(!d)break;B=h&65535;o=0;k=xk(a[d+8>>2]|0)|0;while(1){if(!k)break;u=a[k+8>>2]|0;a[n>>2]=u;b=za(A,u,e,i)|0|b;s=Ya(g,h,o,u)|0;f[u+86>>1]=B;f[u+84>>1]=s;s=s+(l[u+80>>1]|0)|0;w=h+(l[u+82>>1]|0)|0;if(Xa(E,w)|0){o=u+100|0;r[o>>0]=r[o>>0]|2}o=s;n=n+4|0;k=a[k>>2]|0;t=(s|0)>(t|0)?s:t;c=(w|0)>(c|0)?w:c}h=h+1|0;d=a[d>>2]|0}a[e+100>>2]=c;a[e+104>>2]=t;pk(v)|0;pk(E)|0;iJ(g);return b|0}function za(A,e,i,t){A=A|0;e=e|0;i=i|0;t=t|0;var c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+16|0;v=g+8|0;B=g;a[e+96>>2]=i;h=e+36|0;u=f[h>>1]|0;if(!(u&64)){if(!(f[i+36>>1]&64))w=2;else w=r[i+34>>0]|0;r[e+34>>0]=w}if(!(u&32)){w=r[i+88>>0]|0;if(w<<24>>24<=-1)if(!(f[i+36>>1]&32))w=1;else w=r[i+33>>0]|0;r[e+33>>0]=w}w=e+88|0;o=e+92|0;switch(r[o>>0]|0){case 1:{u=Ia(A,a[w>>2]|0,e,t)|0;i=a[w>>2]|0;w=u;u=i+64|0;i=i+72|0;break}case 3:{u=Da(a[w>>2]|0,t)|0;i=a[w>>2]|0;w=u;u=i+16|0;i=i+24|0;break}default:{Qa(a[(a[A+16>>2]|0)+144>>2]|0,a[w>>2]|0,t);i=a[w>>2]|0;w=0;u=i+24|0;i=i+32|0}}c=+((n[e+33>>0]|0)+(n[e+34>>0]|0)<<1|0);s=+b[u>>3]+c;c=+b[i>>3]+c;i=e+38|0;do{if(f[h>>1]&1){u=f[i>>1]|0;if(u<<16>>16?(d=f[e+40>>1]|0,d<<16>>16):0){if(!(s>+(u&65535)|c>+(d&65535))){s=0.0;c=0.0;break}if((r[o>>0]|0)==3){s=0.0;c=0.0;break}ao(0,137614,B)|0;w=1;s=0.0;c=0.0;break}ao(0,137647,v)|0;w=1}}while(0);E=+(l[i>>1]|0);b[e+64>>3]=s>E?s:E;s=+(l[e+40>>1]|0);b[e+72>>3]=c>s?c:s;k=g;return w|0}function Ya(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,t=0,c=0;c=r+80|0;t=(l[c>>1]|0)+-1|0;n=0;A:while(1){f=i;while(1){if(n)break A;a=t+f|0;while(1){if((a|0)<(f|0)){i=f;n=1;continue A}if(lJ(A,a,e)|0)break;a=a+-1|0}f=a+1|0}}n=r+82|0;f=i;while(1){if((f|0)<(i+(l[c>>1]|0)|0))a=e;else break;while(1){if((a|0)>=((l[n>>1]|0)+e|0))break;aJ(A,f,a);a=a+1|0}f=f+1|0}return i|0}function Da(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;t=s;l=s+8|0;e=e+52|0;n=A+32|0;Ug(l,a[e>>2]|0,a[n>>2]|0);c=a[l>>2]|0;l=a[l+4>>2]|0;if((l&c|0)==-1){a[t>>2]=a[n>>2];ao(1,137697,t)|0;e=1;f=0.0;i=0.0}else{r[(a[(a[e>>2]|0)+16>>2]|0)+114>>0]=1;e=0;f=+(l|0);i=+(c|0)}a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;b[A+16>>3]=i;b[A+24>>3]=f;k=s;return e|0}function Ma(){return jk(55924,a[4581]|0)|0}function Fa(A,e,i){A=A|0;e=e|0;i=i|0;i=qF(12)|0;a[i>>2]=a[e>>2];return i|0}function Va(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Ja(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return((e|0)>(r|0)?1:((e|0)<(r|0))<<31>>31)|0}function Na(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;W5[a[A>>2]&63](A,r,1)|0;k=i;return}function Xa(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;e=(W5[a[A>>2]&63](A,r,512)|0)!=0&1;k=i;return e|0}function Ra(A){A=A|0;var e=0;if(!(a[47375]|0)){e=qF((A<<2)+4|0)|0;a[47375]=e;a[e>>2]=189504;a[47386]=A}a[47387]=0;return}function Ha(){L2(a[47375]|0);a[47375]=0;a[47387]=0;return}function pa(){a[47387]=0;return}function Ua(){var A=0,e=0,i=0;e=a[47387]|0;i=a[47375]|0;A=1;while(1){if((A|0)>(e|0)){A=5;break}if((a[(a[i+(A<<2)>>2]|0)+4>>2]|0)==(A|0))A=A+1|0;else{A=4;break}}if((A|0)==4)vA(138394,137741,59,137747);else if((A|0)==5)return}function xa(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;f=a[47375]|0;n=a[f+(A<<2)>>2]|0;l=a[n>>2]|0;while(1){e=(A|0)/2|0;i=a[f+(e<<2)>>2]|0;r=f+(A<<2)|0;if((a[i>>2]|0)>=(l|0))break;a[r>>2]=i;a[i+4>>2]=A;A=e}a[r>>2]=n;a[n+4>>2]=A;return}function Ta(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=a[47387]|0;if((e|0)==(a[47386]|0)){ao(1,137755,i)|0;A=1}else{e=e+1|0;a[47387]=e;a[(a[47375]|0)+(e<<2)>>2]=A;xa(e);Ua();A=0}k=i;return A|0}function ja(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;r=a[47375]|0;f=a[r+(A<<2)>>2]|0;n=a[f>>2]|0;l=a[47387]|0;t=(l|0)/2|0;while(1){if((A|0)>(t|0))break;i=A<<1;e=a[r+(i<<2)>>2]|0;if((i|0)<(l|0)){s=i|1;c=a[r+(s<<2)>>2]|0;b=(a[e>>2]|0)<(a[c>>2]|0);i=b?s:i;e=b?c:e}if((n|0)>=(a[e>>2]|0))break;a[r+(A<<2)>>2]=e;a[e+4>>2]=A;A=i}a[r+(A<<2)>>2]=f;a[f+4>>2]=A;return}function Sa(){var A=0,e=0,i=0,r=0;e=a[47387]|0;if(!e)A=0;else{r=a[47375]|0;i=r+4|0;A=a[i>>2]|0;a[i>>2]=a[r+(e<<2)>>2];e=e+-1|0;a[47387]=e;if(e|0)ja(1);Ua()}return A|0}function Pa(A,e){A=A|0;e=e|0;a[A>>2]=e;xa(a[A+4>>2]|0);Ua();return}function Oa(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;w=A+16|0;t=a[w>>2]|0;t=(r[t+((a[i+12>>2]|0)*40|0)+36>>0]|0)!=(r[t+((a[i+16>>2]|0)*40|0)+36>>0]|0);c=~~((+b[e+64>>3]+-3.0-+b[e+48>>3])*.5);s=~~((+b[e+56>>3]+-3.0-+b[e+40>>3])*.5);n=(c|0)<(s|0)?c:s;u=e+4|0;f=0;while(1){A=a[u>>2]|0;if((f|0)>=(A|0)){n=f;break}l=a[e+8+(f<<2)>>2]|0;k=a[w>>2]|0;if((r[k+((a[l+12>>2]|0)*40|0)+36>>0]|0)==(r[k+((a[l+16>>2]|0)*40|0)+36>>0]|0)){n=f;break}Ka(l,n);f=f+1|0}while(1){if((n|0)>=(A|0))break;f=a[e+8+(n<<2)>>2]|0;if(t|(f|0)==(i|0)){Ka(f,r[(a[w>>2]|0)+((a[f+12>>2]|0)*40|0)+36>>0]|0?c:s);A=a[u>>2]|0}n=n+1|0}return}function Ka(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=a[i>>2]|0;a[i>>2]=r+1;if((r|0)>=(e|0)){a[i>>2]=0;b[A>>3]=+b[A>>3]+16384.0}return}function _a(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0,Q=0.0,m=0.0,L=0,W=0,y=0.0;I=k;k=k+112|0;g=I+64|0;v=I+96|0;s=I+32|0;E=I;C=qF(28)|0;e=vh(A)|0;B=C+4|0;a[B>>2]=e;e=qF(e*72|0)|0;d=C+12|0;a[d>>2]=e;r=E+8|0;b[r>>3]=1797693134862315708145274.0e284;b[E>>3]=1797693134862315708145274.0e284;f=E+24|0;b[f>>3]=-1797693134862315708145274.0e284;n=E+16|0;b[n>>3]=-1797693134862315708145274.0e284;l=s+16|0;t=s+8|0;c=s+24|0;i=cd(A)|0;w=1797693134862315708145274.0e284;u=1797693134862315708145274.0e284;o=-1797693134862315708145274.0e284;h=-1797693134862315708145274.0e284;while(1){if(!i)break;L=i+16|0;W=a[L>>2]|0;G=(+b[W+96>>3]+ +b[W+88>>3])*.5;G=G<1.0?1.0:G;Z=+b[W+80>>3]*.5;Z=Z<1.0?1.0:Z;y=+b[W+16>>3];m=y-G;b[s>>3]=m;G=y+G;b[l>>3]=G;y=+b[W+24>>3];Q=y-Z;b[t>>3]=Q;Z=y+Z;b[c>>3]=Z;m=+b[(w>3];b[E>>3]=m;Q=+b[(u>3];b[r>>3]=Q;G=+b[(o>G?E:s)+16>>3];b[n>>3]=G;Z=+b[(h>Z?E:s)+24>>3];b[f>>3]=Z;W=e+40|0;a[W>>2]=a[s>>2];a[W+4>>2]=a[s+4>>2];a[W+8>>2]=a[s+8>>2];a[W+12>>2]=a[s+12>>2];a[W+16>>2]=a[s+16>>2];a[W+20>>2]=a[s+20>>2];a[W+24>>2]=a[s+24>>2];a[W+28>>2]=a[s+28>>2];a[e>>2]=a[e>>2]|1;a[(a[L>>2]|0)+112>>2]=e;e=e+72|0;i=bd(A,i)|0;w=m;u=Q;o=G;h=Z}b[E>>3]=w+-36.0;b[r>>3]=u+-36.0;b[n>>3]=o+36.0;b[f>>3]=h+36.0;W=a[d>>2]|0;f=a[B>>2]|0;a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];f=tn(W,f,v,g)|0;if(a[47323]&1|0){d=a[d>>2]|0;L=a[B>>2]|0;W=a[v>>2]|0;a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];qa(d,L,g,f,W)}r=C+8|0;a[r>>2]=qF((a[v>>2]|0)*72|0)|0;a[C>>2]=a[v>>2];i=a[v>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;W=(a[r>>2]|0)+(e*72|0)+40|0;L=f+(e<<5)|0;a[W>>2]=a[L>>2];a[W+4>>2]=a[L+4>>2];a[W+8>>2]=a[L+8>>2];a[W+12>>2]=a[L+12>>2];a[W+16>>2]=a[L+16>>2];a[W+20>>2]=a[L+20>>2];a[W+24>>2]=a[L+24>>2];a[W+28>>2]=a[L+28>>2];e=e+1|0}L2(f);a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];a[g+16>>2]=a[E+16>>2];a[g+20>>2]=a[E+20>>2];a[g+24>>2]=a[E+24>>2];a[g+28>>2]=a[E+28>>2];a[C+16>>2]=$a(C,g)|0;k=I;return C|0}function qa(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0,E=0.0;h=k;k=k+128|0;o=h+96|0;u=h+64|0;t=h+32|0;d=h+16|0;B=h;s=+b[i+16>>3];w=+b[i>>3];c=+b[i+24>>3];n=+b[i+8>>3];l=a[15712]|0;m3(137770,l)|0;a[B>>2]=10;a[B+4>>2]=10;a[B+8>>2]=~~(s+10.0-w);a[B+12>>2]=~~(c+10.0-n);f3(l,138200,B)|0;b[d>>3]=10.0-w;b[d+8>>3]=10.0-n;f3(l,138248,d)|0;m3(138265,l)|0;i=0;while(1){if((i|0)>=(e|0))break;E=+b[A+(i*72|0)+48>>3];g=+b[A+(i*72|0)+56>>3];v=+b[A+(i*72|0)+64>>3];b[t>>3]=+b[A+(i*72|0)+40>>3];b[t+8>>3]=E;b[t+16>>3]=g;b[t+24>>3]=v;f3(l,138284,t)|0;i=i+1|0}m3(138302,l)|0;i=0;while(1){if((i|0)>=(f|0))break;v=+b[r+(i<<5)+8>>3];g=+b[r+(i<<5)+16>>3];E=+b[r+(i<<5)+24>>3];b[u>>3]=+b[r+(i<<5)>>3];b[u+8>>3]=v;b[u+16>>3]=g;b[u+24>>3]=E;f3(l,138321,u)|0;i=i+1|0}m3(138339,l)|0;b[o>>3]=w;b[o+8>>3]=n;b[o+16>>3]=s;b[o+24>>3]=c;f3(l,138321,o)|0;m3(138086,l)|0;k=h;return}function $a(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;Q=k;k=k+32|0;v=Q+16|0;c=Q;C=a[A>>2]|0;Z=gi(C<<2|2)|0;G=jk(55960,a[4581]|0)|0;E=jk(55996,a[4581]|0)|0;C=qF(C<<7)|0;f=qF(a[A>>2]<<4)|0;I=A+8|0;n=e+16|0;l=c+8|0;t=e+24|0;s=e+8|0;i=0;while(1){if((i|0)>=(a[A>>2]|0))break;w=a[I>>2]|0;u=w+(i*72|0)|0;a[w+(i*72|0)+32>>2]=4;o=w+(i*72|0)+36|0;a[o>>2]=f+(i<<2<<2);h=w+(i*72|0)+40|0;r=+b[w+(i*72|0)+56>>3];if(r<+b[n>>3]){b[c>>3]=r;b[l>>3]=+b[w+(i*72|0)+48>>3];a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];B=An(Z,G,v,C,1)|0;a[B+20>>2]=u;a[a[o>>2]>>2]=B}r=+b[w+(i*72|0)+64>>3];if(r<+b[t>>3]){b[c>>3]=+b[h>>3];b[l>>3]=r;a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];B=An(Z,E,v,C,0)|0;a[B+20>>2]=u;a[(a[o>>2]|0)+4>>2]=B}if(+b[h>>3]>+b[e>>3]){a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];B=An(Z,G,v,C,1)|0;a[B+24>>2]=u;a[(a[o>>2]|0)+8>>2]=B}if(+b[w+(i*72|0)+48>>3]>+b[s>>3]){a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];B=An(Z,E,v,C,0)|0;a[B+24>>2]=u;a[(a[o>>2]|0)+12>>2]=B}i=i+1|0}u=qF(a[Z>>2]<<2)|0;d=A+4|0;B=A+12|0;o=v+8|0;s=0;h=0;w=0;while(1){i=a[d>>2]|0;if((w|0)>=(i|0)){e=0;break}n=a[B>>2]|0;l=n+(w*72|0)|0;t=n+(w*72|0)+36|0;a[t>>2]=u+(s<<2);e=n+(w*72|0)+40|0;a[v>>2]=a[e>>2];a[v+4>>2]=a[e+4>>2];a[v+8>>2]=a[e+8>>2];a[v+12>>2]=a[e+12>>2];e=n+(w*72|0)+56|0;c=n+(w*72|0)+32|0;i=W5[a[E>>2]&63](E,v,512)|0;while(1){if(!i)break;if(!(+b[i+8>>3]<+b[e>>3]))break;L=a[i>>2]|0;m=a[t>>2]|0;f=a[c>>2]|0;a[c>>2]=f+1;a[m+(f<<2)>>2]=L;a[(a[i>>2]|0)+24>>2]=l;i=W5[a[E>>2]&63](E,i,8)|0}f=n+(w*72|0)+64|0;i=W5[a[G>>2]&63](G,v,512)|0;while(1){if(!i){g=20;break}r=+b[f>>3];if(!(+b[i+16>>3]>2]|0;m=a[t>>2]|0;L=a[c>>2]|0;a[c>>2]=L+1;a[m+(L<<2)>>2]=e;a[(a[i>>2]|0)+24>>2]=l;i=W5[a[G>>2]&63](G,i,8)|0}if((g|0)==20){g=0;r=+b[f>>3]}b[o>>3]=r;e=n+(w*72|0)+56|0;i=W5[a[E>>2]&63](E,v,512)|0;while(1){if(!i){g=25;break}r=+b[e>>3];if(!(+b[i+8>>3]>2]|0;m=a[t>>2]|0;L=a[c>>2]|0;a[c>>2]=L+1;a[m+(L<<2)>>2]=W;a[(a[i>>2]|0)+20>>2]=l;i=W5[a[E>>2]&63](E,i,8)|0}if((g|0)==25){g=0;r=+b[e>>3]}b[v>>3]=r;b[o>>3]=+b[n+(w*72|0)+48>>3];i=W5[a[G>>2]&63](G,v,512)|0;while(1){if(!i)break;if(!(+b[i+16>>3]<+b[f>>3]))break;m=a[i>>2]|0;L=a[t>>2]|0;W=a[c>>2]|0;a[c>>2]=W+1;a[L+(W<<2)>>2]=m;a[(a[i>>2]|0)+20>>2]=l;i=W5[a[G>>2]&63](G,i,8)|0}W=a[c>>2]|0;s=W+s|0;h=(W|0)>(h|0)?W:h;w=w+1|0}while(1){if((e|0)>=(i|0))break;en((a[B>>2]|0)+(e*72|0)|0);e=e+1|0;i=a[d>>2]|0}i=a[Z>>2]|0;W=a[Z+16>>2]|0;a[W+(i*40|0)+32>>2]=i;i=i+1|0;a[W+(i*40|0)+32>>2]=i;vi(Z,h);i=0;while(1){if((i|0)>=(a[A>>2]|0))break;rn((a[I>>2]|0)+(i*72|0)|0,Z);i=i+1|0}pk(G)|0;pk(E)|0;L2(C);fn(Z);di(Z);k=Q;return Z|0}function An(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;l=W5[a[e>>2]&63](e,i,512)|0;do{if(!l){A=Ei(A)|0;if(!f)vA(138183,138131,291,138190);else{l=a[A+32>>2]|0;t=f+(l<<5)|0;f=f+(l<<5)+8|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[t>>2]=A;r[A+36>>0]=n;W5[a[e>>2]&63](e,t,1)|0;break}}else t=l}while(0);return a[t>>2]|0}function en(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;A:do{if((+b[A+64>>3]+-3.0-+b[A+48>>3])*.5<2.0){l=a[A+32>>2]|0;t=A+36|0;n=0;while(1){if((n|0)>=(l|0))break A;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;e:do{if(r[e+36>>0]|0){f=a[e+20>>2]|0;if((f|0)==(A|0)){i=a[e+24>>2]|0;e=i;i=a[i>>2]|0;do{a[e>>2]=i|8;e=a[a[e+36>>2]>>2]|0;if(!e)break e;e=a[e+24>>2]|0;i=a[e>>2]|0}while(!(i&1|0))}else{i=f;e=a[f>>2]|0;do{a[i>>2]=e|8;e=a[(a[i+36>>2]|0)+8>>2]|0;if(!e)break e;i=a[e+20>>2]|0;e=a[i>>2]|0}while(!(e&1|0))}}}while(0);n=n+1|0}}}while(0);A:do{if((+b[A+56>>3]+-3.0-+b[A+40>>3])*.5<2.0){l=a[A+32>>2]|0;t=A+36|0;n=0;while(1){if((n|0)>=(l|0))break A;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;e:do{if(!(r[e+36>>0]|0)){f=a[e+20>>2]|0;if((f|0)==(A|0)){i=a[e+24>>2]|0;e=i;i=a[i>>2]|0;do{a[e>>2]=i|16;e=a[(a[e+36>>2]|0)+4>>2]|0;if(!e)break e;e=a[e+24>>2]|0;i=a[e>>2]|0}while(!(i&1|0))}else{i=f;e=a[f>>2]|0;do{a[i>>2]=e|16;e=a[(a[i+36>>2]|0)+12>>2]|0;if(!e)break e;i=a[e+20>>2]|0;e=a[i>>2]|0}while(!(e&1|0))}}}while(0);n=n+1|0}}}while(0);return}function rn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;n=+b[A+56>>3]-+b[A+40>>3];l=+b[A+64>>3]-+b[A+48>>3];f=(l+n)*.5+500.0;if((l+-3.0)*.5<2.0){s=(a[A>>2]&8|0)==0;f=s?16384.0:f;o=s?16384.0:n}else o=n;if((n+-3.0)*.5<2.0){s=(a[A>>2]&16|0)==0;l=s?16384.0:l;f=s?16384.0:f}s=A+36|0;i=a[s>>2]|0;r=a[i+8>>2]|0;if((r|0)!=0?(t=a[i+4>>2]|0,(t|0)!=0):0){t=Ci(e,r,t,f)|0;r=A+4|0;i=a[r>>2]|0;a[r>>2]=i+1;a[A+8+(i<<2)>>2]=t;i=a[s>>2]|0}r=a[i+4>>2]|0;if((r|0)!=0?(c=a[i>>2]|0,(c|0)!=0):0){c=Ci(e,r,c,f)|0;t=A+4|0;i=a[t>>2]|0;a[t>>2]=i+1;a[A+8+(i<<2)>>2]=c;i=a[s>>2]|0}r=a[i+8>>2]|0;if((r|0)!=0?(w=a[i+12>>2]|0,(w|0)!=0):0){w=Ci(e,r,w,f)|0;c=A+4|0;i=a[c>>2]|0;a[c>>2]=i+1;a[A+8+(i<<2)>>2]=w;i=a[s>>2]|0}r=a[i+12>>2]|0;if((r|0)!=0?(u=a[i>>2]|0,(u|0)!=0):0){u=Ci(e,r,u,f)|0;w=A+4|0;i=a[w>>2]|0;a[w>>2]=i+1;a[A+8+(i<<2)>>2]=u;i=a[s>>2]|0}r=a[i+4>>2]|0;if((r|0)!=0?(k=a[i+12>>2]|0,(k|0)!=0):0){k=Ci(e,r,k,l)|0;u=A+4|0;i=a[u>>2]|0;a[u>>2]=i+1;a[A+8+(i<<2)>>2]=k;i=a[s>>2]|0}r=a[i+8>>2]|0;if(r|0?(h=a[i>>2]|0,h|0):0){e=Ci(e,r,h,o)|0;k=A+4|0;h=a[k>>2]|0;a[k>>2]=h+1;a[A+8+(h<<2)>>2]=e}return}function fn(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;f=A+16|0;n=a[15712]|0;r=0;while(1){if((r|0)>=(a[A>>2]|0)){e=10;break}e=a[f>>2]|0;i=e+(r*40|0)+20|0;if((a[i>>2]|0)==0?(a[l>>2]=r,f3(n,138096,l)|0,(a[i>>2]|0)==0):0){e=5;break}e=e+(r*40|0)+24|0;if((a[e>>2]|0)==0?(a[t>>2]=r,f3(n,138148,t)|0,(a[e>>2]|0)==0):0){e=8;break}r=r+1|0}if((e|0)==5)vA(138118,138131,311,138138);else if((e|0)==8)vA(138170,138131,313,138138);else if((e|0)==10){k=c;return}}function an(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e+8>>3];a=+b[i+8>>3];if(!(f>a))if(!(f>3];f=+b[i>>3];if(a>f)A=1;else A=(a>31}else A=-1;else A=1;return A|0}function nn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0;f=+b[e>>3];a=+b[i>>3];if(!(f>a))if(!(f>3];f=+b[i+8>>3];if(a>f)A=1;else A=(a>31}else A=-1;else A=1;return A|0}function ln(A){A=A|0;var e=0,i=0;i=A+8|0;L2(a[(a[i>>2]|0)+36>>2]|0);e=A+12|0;L2(a[(a[e>>2]|0)+36>>2]|0);L2(a[i>>2]|0);L2(a[e>>2]|0);Zi(a[A+16>>2]|0);pk(a[A+20>>2]|0)|0;pk(a[A+24>>2]|0)|0;L2(A);return}function tn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+32|0;l=o;t=e<<2;f=t+4|0;t=t+5|0;u=$F(t*56|0)|0;t=qF(t<<2)|0;n=f*5|1;c=$F(n*72|0)|0;s=n<<5;b=qF(s)|0;s=qF(s)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[l+16>>2]=a[r+16>>2];a[l+20>>2]=a[r+20>>2];a[l+24>>2]=a[r+24>>2];a[l+28>>2]=a[r+28>>2];cn(A,e,l,u,0);l8(173);bn(f,t);gn(f,u,t,n,c)|0;w=sn(f,u,c,0,b)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[l+16>>2]=a[r+16>>2];a[l+20>>2]=a[r+20>>2];a[l+24>>2]=a[r+24>>2];a[l+28>>2]=a[r+28>>2];cn(A,e,l,u,1);bn(f,t);gn(f,u,t,n,c)|0;f=sn(f,u,c,1,s)|0;n=qF(U(w<<5,f)|0)|0;e=0;A=0;while(1){if((e|0)>=(f|0))break;l=s+(e<<5)|0;r=0;while(1){if((r|0)>=(w|0))break;h=A+((wn(n+(A<<5)|0,l,b+(r<<5)|0)|0)!=0&1)|0;r=r+1|0;A=h}e=e+1|0}h=eV(n,A<<5)|0;L2(u);L2(t);L2(c);L2(b);L2(s);a[i>>2]=A;k=o;return h|0}function cn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;c=k;k=k+96|0;l=c+64|0;t=c;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[l+16>>2]=a[i+16>>2];a[l+20>>2]=a[i+20>>2];a[l+24>>2]=a[i+24>>2];a[l+28>>2]=a[i+28>>2];Bn(l,f,1,t);i=vn(r,1,t)|0;n=0;while(1){if((n|0)>=(e|0))break;b=A+(n*72|0)+40|0;a[l>>2]=a[b>>2];a[l+4>>2]=a[b+4>>2];a[l+8>>2]=a[b+8>>2];a[l+12>>2]=a[b+12>>2];a[l+16>>2]=a[b+16>>2];a[l+20>>2]=a[b+20>>2];a[l+24>>2]=a[b+24>>2];a[l+28>>2]=a[b+28>>2];Bn(l,f,0,t);i=vn(r,i,t)|0;n=n+1|0}k=c;return}function bn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=0;while(1){if((i|0)>(A|0))break;a[e+(i<<2)>>2]=i;i=i+1|0}n=A+1|0;i=1;while(1){if((i|0)>(A|0))break;l=~~(+c8()*+(n-i|0)+ +(i|0));r=e+(i<<2)|0;f=e+(l<<2)|0;if((i|0)!=(l|0)){l=a[r>>2]|0;a[r>>2]=a[f>>2];a[f>>2]=l}i=i+1|0}return}function sn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;n=A*5|0;c=n+1|0;s=qF(c<<2)|0;a[47388]=qF(c<<4)|0;a[47389]=qF((A*56|0)+56|0)|0;c=qF(A<<2)|0;a[47390]=c;b=0;while(1){if((b|0)>(n|0))break;if(un(i+(b*72|0)|0,e)|0)break;b=b+1|0}l=a[47388]|0;t=a[47389]|0;n=1;while(1){if((n|0)>(A|0))break;a[l+(n<<4)+8>>2]=a[e+(n*56|0)+48>>2];w=e+(n*56|0)+44|0;a[l+(n<<4)+4>>2]=a[w>>2];a[l+(n<<4)>>2]=n;u=t+(n*56|0)|0;k=e+(n*56|0)|0;a[u>>2]=a[k>>2];a[u+4>>2]=a[k+4>>2];a[u+8>>2]=a[k+8>>2];a[u+12>>2]=a[k+12>>2];a[t+(n*56|0)+16>>2]=a[w>>2];a[t+(n*56|0)+32>>2]=n;a[t+(n*56|0)+48>>2]=1;n=n+1|0}a[47391]=A;a[47392]=0;a[c>>2]=1;n=a[i+(b*72|0)+40>>2]|0;if((n|0)<=0){n=a[i+(b*72|0)+48>>2]|0;if((n|0)>0)n=kn(s,f,0,e,i,0,b,n,r,2)|0;else n=0}else n=kn(s,f,0,e,i,0,b,n,r,1)|0;L2(s);L2(a[47388]|0);L2(a[47389]|0);L2(a[47390]|0);return n|0}function wn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;n=+b[(+b[e>>3]>+b[i>>3]?e:i)>>3];a=+b[(+b[e+16>>3]<+b[i+16>>3]?e:i)+16>>3];b[A+16>>3]=a;b[A>>3]=n;f=+b[(+b[e+8>>3]>+b[i+8>>3]?e:i)+8>>3];r=+b[(+b[e+24>>3]<+b[i+24>>3]?e:i)+24>>3];b[A+24>>3]=r;b[A+8>>3]=f;return!(n>=a)&!(f>=r)&1|0}function un(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[A+4>>2]|0;do{if((a[A+68>>2]|0)!=2?!((f|0)<1|(a[A>>2]|0)<1):0){if(!((a[A+40>>2]|0)<1?(a[A+44>>2]|0)<1:0)){if((a[A+48>>2]|0)>=1){A=0;break}if((a[A+52>>2]|0)>=1){A=0;break}}i=+b[e+(f*56|0)+24>>3];r=+b[e+(f*56|0)+8>>3];if(!(i>r+1.0e-07))if(i>3]>+b[e+(f*56|0)>>3]&1;else A=1}else A=0}while(0);return A|0}function kn(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,k=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0.0,F=0,V=0.0,J=0,N=0,X=0,R=0,H=0;L=(c|0)==0;m=l;A:while(1){Z=f+(m*72|0)|0;if((m|0)<1)break;l=A+(m<<2)|0;if(a[l>>2]|0)break;a[l>>2]=1;E=f+(m*72|0)+8|0;v=f+(m*72|0)+16|0;o=+b[v>>3];C=f+(m*72|0)+24|0;I=f+(m*72|0)+32|0;k=+b[I>>3];if((o>k?(Q=a[Z>>2]|0,M=+b[r+(Q*56|0)>>3],M==+b[r+(Q*56|0)+16>>3]):0)?(Q=a[f+(m*72|0)+4>>2]|0,V=+b[r+(Q*56|0)>>3],V==+b[r+(Q*56|0)+16>>3]):0){l=e+(i<<5)|0;if(L){b[l>>3]=M;h=o;o=V}else{b[l>>3]=k;h=-M;k=-V}b[e+(i<<5)+8>>3]=k;b[e+(i<<5)+16>>3]=o;b[e+(i<<5)+24>>3]=h;i=i+1|0}l=f+(m*72|0)+40|0;G=a[l>>2]|0;do{if((G|0)<1?(J=f+(m*72|0)+44|0,(a[J>>2]|0)<1):0){l=f+(m*72|0)+48|0;u=f+(m*72|0)+52|0;if((a[l>>2]|0)>0?(N=a[u>>2]|0,(N|0)>0):0){w=a[f+(N*72|0)>>2]|0;s=a[Z>>2]|0;if((N|0)==(t|0)){s=on(n,s,w)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,1)|0;n=s;s=1;break}else{s=on(n,w,s)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,1)|0;n=s;l=u;s=1;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[J>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,1)|0;l=u;s=1}else H=19}while(0);do{if((H|0)==19){H=0;Q=f+(m*72|0)+48|0;d=a[Q>>2]|0;if((d|0)<1?(X=f+(m*72|0)+52|0,(a[X>>2]|0)<1):0){u=f+(m*72|0)+44|0;if((G|0)>0?(R=a[u>>2]|0,(R|0)>0):0){w=a[f+(m*72|0)+4>>2]|0;s=a[f+(G*72|0)+4>>2]|0;if((R|0)==(t|0)){s=on(n,s,w)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,2)|0;n=s;s=2;break}else{s=on(n,w,s)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;n=s;l=u;s=2;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[u>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;l=X;s=1;break}g=f+(m*72|0)+44|0;B=a[g>>2]|0;w=(B|0)>0;if((G|0)>0){if(w){if((d|0)>0?(W=f+(m*72|0)+52|0,z=a[W>>2]|0,(z|0)>0):0){u=a[f+(z*72|0)>>2]|0;w=a[f+(G*72|0)+4>>2]|0;if(!((s|0)==2&(z|0)==(t|0))?!((s|0)==1&(B|0)==(t|0)):0){s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[g>>2]|0,m,c,2)|0;n=s;l=W;s=1;break}s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[W>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}w=a[Z>>2]|0;if(+y(+(+b[I>>3]-+b[r+(w*56|0)+24>>3]))<=1.0e-07?+y(+(+b[C>>3]-+b[r+(w*56|0)+16>>3]))<=1.0e-07:0){u=a[f+(G*72|0)+4>>2]|0;w=a[r+(w*56|0)+44>>2]|0;if((s|0)==1&(G|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[g>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+52|0;s=1;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;s=2;break}}u=a[f+(m*72|0)+4>>2]|0;w=a[f+(G*72|0)+4>>2]|0;if((s|0)==1&(B|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[g>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[Q>>2]|0,m,c,1)|0;n=s;s=2;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=g;s=2;break}}}else if(!w)break A;if((d|0)>0?(Y=f+(m*72|0)+52|0,D=a[Y>>2]|0,(D|0)>0):0){u=a[Z>>2]|0;if(+y(+(+b[v>>3]-+b[r+(u*56|0)+8>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(u*56|0)>>3]))<=1.0e-07:0){w=a[f+(D*72|0)>>2]|0;if((s|0)==2&(d|0)==(t|0)){s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;n=s;l=Y;s=1;break}else{s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Y>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}}w=a[f+(D*72|0)>>2]|0;u=a[r+((a[f+(m*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((s|0)==2&(D|0)==(t|0)){s=on(n,u,w)|0;i=kn(A,e,i,r,f,n,a[Y>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=Q;s=1;break}else{s=on(n,w,u)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;n=s;l=Y;s=1;break}}k=+b[v>>3];u=a[Z>>2]|0;if(((+y(+(k-+b[r+(u*56|0)+8>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(u*56|0)>>3]))<=1.0e-07:0)?(F=a[f+(m*72|0)+4>>2]|0,+y(+(+b[I>>3]-+b[r+(F*56|0)+8>>3]))<=1.0e-07):0)?+y(+(+b[C>>3]-+b[r+(F*56|0)>>3]))<=1.0e-07:0)if((s|0)==1){s=on(n,u,F)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=Q;s=1;break}else{s=on(n,F,u)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+44|0;s=2;break}t=a[f+(m*72|0)+4>>2]|0;if(((+y(+(k-+b[r+(t*56|0)+24>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[r+(t*56|0)+16>>3]))<=1.0e-07:0)?+y(+(+b[I>>3]-+b[r+(u*56|0)+24>>3]))<=1.0e-07:0)?+y(+(+b[C>>3]-+b[r+(u*56|0)+16>>3]))<=1.0e-07:0){w=a[r+(t*56|0)+44>>2]|0;t=a[r+(u*56|0)+44>>2]|0;if((s|0)==1){s=on(n,t,w)|0;i=kn(A,e,i,r,f,n,a[l>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;i=kn(A,e,i,r,f,s,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;n=s;l=Q;s=1;break}else{s=on(n,w,t)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+52>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,s,a[l>>2]|0,m,c,2)|0;n=s;l=f+(m*72|0)+44|0;s=2;break}}i=kn(A,e,i,r,f,n,G,m,c,2)|0;i=kn(A,e,i,r,f,n,a[Q>>2]|0,m,c,1)|0;i=kn(A,e,i,r,f,n,a[f+(m*72|0)+44>>2]|0,m,c,2)|0;l=f+(m*72|0)+52|0;s=1}}while(0);t=m;m=a[l>>2]|0}return i|0}function on(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;f=k;k=k+16|0;d=f+4|0;t=f;r=(a[47392]|0)+1|0;a[47392]=r;s=a[47389]|0;hn(e,i,d,t);d=a[d>>2]|0;l=a[s+(e*56|0)+32+(d<<2)>>2]|0;t=a[s+(i*56|0)+32+(a[t>>2]<<2)>>2]|0;w=a[47391]|0;n=w+1|0;w=w+2|0;a[47391]=w;h=a[47388]|0;a[h+(n<<4)>>2]=e;a[h+(w<<4)>>2]=i;u=h+(l<<4)+4|0;o=h+(n<<4)+4|0;a[o>>2]=a[u>>2];a[h+(a[u>>2]<<4)+8>>2]=n;a[h+(n<<4)+8>>2]=w;a[h+(w<<4)+4>>2]=n;c=h+(t<<4)+8|0;a[h+(w<<4)+8>>2]=a[c>>2];a[h+(a[c>>2]<<4)+4>>2]=w;a[u>>2]=t;a[c>>2]=l;c=s+(e*56|0)+48|0;u=a[c>>2]|0;t=s+(i*56|0)+48|0;b=a[t>>2]|0;a[s+(e*56|0)+16+(d<<2)>>2]=i;a[s+(e*56|0)+32+(u<<2)>>2]=n;a[s+(e*56|0)+16+(u<<2)>>2]=a[h+(a[o>>2]<<4)>>2];a[s+(i*56|0)+32+(b<<2)>>2]=w;a[s+(i*56|0)+16+(b<<2)>>2]=e;a[c>>2]=(a[c>>2]|0)+1;a[t>>2]=(a[t>>2]|0)+1;i=a[47390]|0;a[i+(A<<2)>>2]=l;a[i+(r<<2)>>2]=n;k=f;return r|0}function hn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0.0,b=0.0,s=0,w=0,u=0;s=a[47389]|0;w=s+(A*56|0)|0;u=s+(e*56|0)|0;f=0;n=-4.0;t=0;while(1){if((t|0)==4)break;l=a[s+(A*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(c=+dn(w,s+(l*56|0)|0,u),c>n):0){f=t;n=c}t=t+1|0}a[i>>2]=f;f=0;t=0;n=-4.0;while(1){if((t|0)==4)break;l=a[s+(e*56|0)+16+(t<<2)>>2]|0;if((l|0)>=1?(b=+dn(u,s+(l*56|0)|0,w),b>n):0){f=t;n=b}t=t+1|0}a[r>>2]=f;return}function dn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;n=+b[A>>3];l=+b[e>>3]-n;r=+b[A+8>>3];a=+b[e+8>>3]-r;n=+b[i>>3]-n;r=+b[i+8>>3]-r;f=r*a+n*l;if(!(r*l-n*a>=0.0))r=-f/(+z(+(r*r+n*n))*+z(+(a*a+l*l)))+-2.0;else r=f/(+z(+(r*r+n*n))*+z(+(a*a+l*l)));return+r}function Bn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;a[r>>2]=a[A>>2];a[r+4>>2]=a[A+4>>2];a[r+8>>2]=a[A+8>>2];a[r+12>>2]=a[A+12>>2];l=r+32|0;t=A+16|0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];if(!i){f=A+8|0;n=t;l=A+24|0;i=A}else{f=A+24|0;n=A;l=A+8|0;i=t}c=+b[n>>3];s=+b[l>>3];b[r+16>>3]=+b[i>>3];b[r+24>>3]=s;b[r+48>>3]=c;b[r+56>>3]=+b[f>>3];A:do{if(e|0){i=0;while(1){if((i|0)==4)break A;t=r+(i<<4)+8|0;s=+b[t>>3];e=r+(i<<4)|0;b[t>>3]=+b[e>>3];b[e>>3]=-s;i=i+1|0}}}while(0);return}function vn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;l=e+3|0;t=e+1|0;c=e+2|0;b=A+(e*56|0)+44|0;s=A+(l*56|0)+44|0;r=0;f=e;while(1){if((f|0)>(l|0))break;do{if((f|0)!=(e|0))if((f|0)==(l|0)){a[s>>2]=e;n=c;break}else{a[A+(f*56|0)+44>>2]=f+1;n=f+-1|0;break}else{a[b>>2]=t;n=l}}while(0);a[A+(f*56|0)+48>>2]=n;a[A+(f*56|0)+32>>2]=0;u=A+(f*56|0)|0;w=i+(r<<4)|0;a[u>>2]=a[w>>2];a[u+4>>2]=a[w+4>>2];a[u+8>>2]=a[w+8>>2];a[u+12>>2]=a[w+12>>2];z6(A+(n*56|0)+16|0,w|0,16)|0;r=r+1|0;f=f+1|0}return e+4|0}function gn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;a[47393]=r<<1;a[47394]=r;b=qF(r*80|0)|0;a[47395]=1;a[47396]=1;Y6(f|0,0,r*72|0)|0;n=En(a[i+4>>2]|0,e,f,b)|0;r=1;while(1){if((r|0)>(A|0))break;a[e+(r*56|0)+40>>2]=n;a[e+(r*56|0)+36>>2]=n;r=r+1|0}c=Cn(A)|0;n=2;t=1;while(1){if((t|0)>(c|0))break;r=In(A,t+-1|0)|0;l=In(A,t)|0;while(1){if((r|0)>=(l|0)){r=1;break}Zn(a[i+(n<<2)>>2]|0,e,f,b);r=r+1|0;n=n+1|0}while(1){if((r|0)>(A|0))break;Gn(r,e,f,b);r=r+1|0}t=t+1|0}r=In(A,c)|0;while(1){if((r|0)>=(A|0))break;Zn(a[i+(n<<2)>>2]|0,e,f,b);n=n+1|0;r=r+1|0}L2(b);return a[47395]|0}function En(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;f=yn()|0;a[r+(f*40|0)>>2]=2;B=r+(f*40|0)+8|0;c=e+(A*56|0)|0;s=e+(A*56|0)+16|0;Mn(B,c,s);u=yn()|0;a[r+(f*40|0)+36>>2]=u;a[r+(u*40|0)>>2]=3;a[r+(u*40|0)+28>>2]=f;t=yn()|0;a[r+(f*40|0)+32>>2]=t;a[r+(t*40|0)>>2]=2;d=r+(t*40|0)+8|0;Fn(d,c,s);a[r+(t*40|0)+28>>2]=f;s=yn()|0;a[r+(t*40|0)+32>>2]=s;a[r+(s*40|0)>>2]=3;a[r+(s*40|0)+28>>2]=t;c=yn()|0;a[r+(t*40|0)+36>>2]=c;a[r+(c*40|0)>>2]=1;a[r+(c*40|0)+4>>2]=A;a[r+(c*40|0)+28>>2]=t;t=yn()|0;a[r+(c*40|0)+32>>2]=t;a[r+(t*40|0)>>2]=3;a[r+(t*40|0)+28>>2]=c;n=yn()|0;a[r+(c*40|0)+36>>2]=n;a[r+(n*40|0)>>2]=3;a[r+(n*40|0)+28>>2]=c;c=Wn(i)|0;l=Wn(i)|0;w=Wn(i)|0;k=Wn(i)|0;o=i+(c*72|0)+8|0;h=i+(l*72|0)+8|0;v=i+(k*72|0)+24|0;a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];z6(h|0,B|0,16)|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];o=i+(c*72|0)+24|0;h=i+(l*72|0)+24|0;B=i+(w*72|0)+8|0;a[B>>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];z6(h|0,d|0,16)|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];b[i+(k*72|0)+16>>3]=1073741824.0;b[i+(k*72|0)+8>>3]=1073741824.0;b[i+(w*72|0)+32>>3]=-1073741824.0;b[i+(w*72|0)+24>>3]=-1073741824.0;a[i+(l*72|0)>>2]=A;a[i+(c*72|0)+4>>2]=A;a[i+(l*72|0)+40>>2]=k;a[i+(c*72|0)+40>>2]=k;a[i+(l*72|0)+48>>2]=w;a[i+(c*72|0)+48>>2]=w;a[i+(w*72|0)+40>>2]=c;a[i+(k*72|0)+48>>2]=c;a[i+(w*72|0)+44>>2]=l;a[i+(k*72|0)+52>>2]=l;a[i+(c*72|0)+56>>2]=t;a[i+(l*72|0)+56>>2]=n;a[i+(w*72|0)+56>>2]=s;a[i+(k*72|0)+56>>2]=u;a[i+(l*72|0)+68>>2]=1;a[i+(c*72|0)+68>>2]=1;a[i+(k*72|0)+68>>2]=1;a[i+(w*72|0)+68>>2]=1;a[r+(u*40|0)+24>>2]=k;a[r+(s*40|0)+24>>2]=w;a[r+(t*40|0)+24>>2]=c;a[r+(n*40|0)+24>>2]=l;a[e+(A*56|0)+32>>2]=1;return f|0}function Cn(A){A=A|0;var e=0.0;e=+(A|0);A=0;while(1){if(!(e>=1.0))break;e=+a1(e);A=A+1|0}return A+-1|0}function In(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+(A|0);i=r;A=0;while(1){if((A|0)>=(e|0))break;i=+a1(i);A=A+1|0}return~~+p(+(r/i))|0}function Zn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0;P=k;k=k+96|0;x=P+32|0;f=P+16|0;T=P;B=x;c=e+(A*56|0)|0;d=B+56|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));j=x+16|0;S=x+24|0;l=+b[S>>3];D=x+8|0;t=+b[D>>3];do{if(!(l>t+1.0e-07)){if(!(l>3]>+b[x>>3]:0){Y=4;break}Y=(Ln(A,e,1)|0)==0;f=a[x+36>>2]|0;if(Y){w=0;Y=7}else{f=Qn(x,j,f,e,r)|0;Y=20}}else Y=4}while(0);if((Y|0)==4){a[f>>2]=a[x>>2];a[f+4>>2]=a[x+4>>2];a[f+8>>2]=a[x+8>>2];a[f+12>>2]=a[x+12>>2];a[x>>2]=a[j>>2];a[x+4>>2]=a[j+4>>2];a[x+8>>2]=a[j+8>>2];a[x+12>>2]=a[j+12>>2];a[j>>2]=a[f>>2];a[j+4>>2]=a[f+4>>2];a[j+8>>2]=a[f+8>>2];a[j+12>>2]=a[f+12>>2];W=x+36|0;z=a[W>>2]|0;Y=x+40|0;f=a[Y>>2]|0;a[W>>2]=f;a[Y>>2]=z;if(!(Ln(A,e,2)|0)){w=1;Y=7}else{f=Qn(x,j,f,e,r)|0;Y=19}}if((Y|0)==7){s=Qn(x,j,f,e,r)|0;f=Wn(i)|0;a[i+(f*72|0)+68>>2]=1;B=i+(f*72|0)|0;c=i+(s*72|0)|0;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));h=+b[D>>3];b[i+(f*72|0)+16>>3]=h;b[i+(s*72|0)+32>>3]=h;h=+b[x>>3];b[i+(f*72|0)+8>>3]=h;b[i+(s*72|0)+24>>3]=h;a[i+(s*72|0)+48>>2]=f;a[i+(s*72|0)+52>>2]=0;a[i+(f*72|0)+40>>2]=s;a[i+(f*72|0)+44>>2]=0;n=a[i+(f*72|0)+48>>2]|0;if((n|0)>0){c=i+(n*72|0)+40|0;if((a[c>>2]|0)==(s|0))a[c>>2]=f;n=i+(n*72|0)+44|0;if((a[n>>2]|0)==(s|0))a[n>>2]=f}n=a[i+(f*72|0)+52>>2]|0;if((n|0)>0){c=i+(n*72|0)+40|0;if((a[c>>2]|0)==(s|0))a[c>>2]=f;n=i+(n*72|0)+44|0;if((a[n>>2]|0)==(s|0))a[n>>2]=f}W=yn()|0;Y=yn()|0;z=i+(s*72|0)+56|0;L=a[z>>2]|0;a[r+(L*40|0)>>2]=2;m=r+(L*40|0)+8|0;a[m>>2]=a[x>>2];a[m+4>>2]=a[x+4>>2];a[m+8>>2]=a[x+8>>2];a[m+12>>2]=a[x+12>>2];a[r+(L*40|0)+4>>2]=A;a[r+(L*40|0)+32>>2]=Y;a[r+(L*40|0)+36>>2]=W;a[r+(W*40|0)>>2]=3;a[r+(W*40|0)+24>>2]=s;a[r+(W*40|0)+28>>2]=L;a[r+(Y*40|0)>>2]=3;a[r+(Y*40|0)+24>>2]=f;a[r+(Y*40|0)+28>>2]=L;a[z>>2]=W;a[i+(f*72|0)+56>>2]=Y;if(w)Y=19;else Y=20}if((Y|0)==19)if(!(Ln(A,e,1)|0)){n=1;Y=21}else{n=1;Y=32}else if((Y|0)==20)if(!(Ln(A,e,2)|0)){n=0;Y=21}else{n=0;Y=32}if((Y|0)==21){u=Qn(j,x,a[x+40>>2]|0,e,r)|0;w=Wn(i)|0;a[i+(w*72|0)+68>>2]=1;B=i+(w*72|0)|0;c=i+(u*72|0)|0;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));h=+b[S>>3];b[i+(w*72|0)+16>>3]=h;b[i+(u*72|0)+32>>3]=h;h=+b[j>>3];b[i+(w*72|0)+8>>3]=h;b[i+(u*72|0)+24>>3]=h;a[i+(u*72|0)+48>>2]=w;a[i+(u*72|0)+52>>2]=0;a[i+(w*72|0)+40>>2]=u;a[i+(w*72|0)+44>>2]=0;c=a[i+(w*72|0)+48>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((a[s>>2]|0)==(u|0))a[s>>2]=w;c=i+(c*72|0)+44|0;if((a[c>>2]|0)==(u|0))a[c>>2]=w}c=a[i+(w*72|0)+52>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((a[s>>2]|0)==(u|0))a[s>>2]=w;c=i+(c*72|0)+44|0;if((a[c>>2]|0)==(u|0))a[c>>2]=w}L=yn()|0;z=yn()|0;W=i+(u*72|0)+56|0;m=a[W>>2]|0;a[r+(m*40|0)>>2]=2;Q=r+(m*40|0)+8|0;a[Q>>2]=a[j>>2];a[Q+4>>2]=a[j+4>>2];a[Q+8>>2]=a[j+8>>2];a[Q+12>>2]=a[j+12>>2];a[r+(m*40|0)+4>>2]=A;a[r+(m*40|0)+32>>2]=z;a[r+(m*40|0)+36>>2]=L;a[r+(L*40|0)>>2]=3;a[r+(L*40|0)+24>>2]=u;a[r+(L*40|0)+28>>2]=m;a[r+(z*40|0)>>2]=3;a[r+(z*40|0)+24>>2]=w;a[r+(z*40|0)+28>>2]=m;a[W>>2]=L;a[i+(w*72|0)+56>>2]=z;z=f;f=0}else if((Y|0)==32){z=f;u=Qn(j,x,a[x+40>>2]|0,e,r)|0;f=1}A:do{if((z|0)>0){L=i+(u*72|0)+24|0;W=i+(u*72|0)+32|0;m=(f|0)!=0;Z=n?e+(A*56|0)+48|0:e+(A*56|0)+44|0;G=T+8|0;n=0;f=0;I=z;e:while(1){c=i+(I*72|0)|0;E=i+(I*72|0)+24|0;if(!(zn(E,L)|0))break A;s=i+(I*72|0)+56|0;g=a[s>>2]|0;w=yn()|0;o=yn()|0;a[r+(g*40|0)>>2]=1;a[r+(g*40|0)+4>>2]=A;a[r+(g*40|0)+32>>2]=w;a[r+(g*40|0)+36>>2]=o;a[r+(w*40|0)>>2]=3;a[r+(w*40|0)+24>>2]=I;a[r+(w*40|0)+28>>2]=g;a[r+(o*40|0)>>2]=3;C=Wn(i)|0;a[r+(o*40|0)+24>>2]=C;Q=i+(C*72|0)|0;a[i+(C*72|0)+68>>2]=1;a[r+(o*40|0)+28>>2]=g;n=(I|0)==(z|0)?C:n;g=i+(I*72|0)+32|0;if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0)f=C;B=Q;d=B+72|0;do{a[B>>2]=a[c>>2];B=B+4|0;c=c+4|0}while((B|0)<(d|0));a[s>>2]=w;a[i+(C*72|0)+56>>2]=o;v=i+(I*72|0)+48|0;s=i+(I*72|0)+52|0;c=(a[s>>2]|0)<1;do{if((a[v>>2]|0)<1){if(c)break e;B=i+(I*72|0)+40|0;c=a[B>>2]|0;do{if((c|0)>0?(N=i+(I*72|0)+44|0,X=a[N>>2]|0,(X|0)>0):0){d=i+(I*72|0)+60|0;c=a[d>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=X;a[i+(C*72|0)+44>>2]=-1;a[N>>2]=-1;a[i+(X*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=X;a[N>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;o=C;w=X}else{a[i+(C*72|0)+44>>2]=-1;v=i+(C*72|0)+40|0;a[v>>2]=a[N>>2];w=a[B>>2]|0;a[N>>2]=w;a[B>>2]=c;a[i+(c*72|0)+48>>2]=I;o=I;c=a[v>>2]|0}a[i+(w*72|0)+48>>2]=o;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[d>>2]=0}else Y=77}while(0);do{if((Y|0)==77){Y=0;w=i+(c*72|0)+48|0;o=a[w>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(a[c>>2]|0)>0:0){c=a[i+(o*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[B>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;break}a[w>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[Z>>2]|0;if((c|0)>0?(mn(c,e,x)|0)!=0:0){a[i+((a[s>>2]|0)*72|0)+40>>2]=I;w=i+(C*72|0)+52|0;c=C}else{a[i+((a[i+(C*72|0)+52>>2]|0)*72|0)+44>>2]=C;w=s;c=I}a[w>>2]=-1;a[i+(c*72|0)+48>>2]=-1;c=a[s>>2]|0;break}c=a[s>>2]|0;s=i+(c*72|0)+40|0;w=a[s>>2]|0;o=i+(c*72|0)+44|0;if((w|0)>0?(R=a[o>>2]|0,H=(w|0)==(I|0),(R|0)>0):0){a[i+(c*72|0)+60>>2]=H?R:w;a[i+(c*72|0)+64>>2]=H?1:2}a[s>>2]=I;a[o>>2]=C}else{if(!c){l=+b[g>>3];t=+b[D>>3];h=l-t;if(!(+y(+h)<=1.0e-07)){b[G>>3]=l;l=+b[x>>3];b[T>>3]=(+b[j>>3]-l)*(h/(+b[S>>3]-t))+l;B=(Yn(T,E)|0)!=0}else B=+b[E>>3]>+b[x>>3];d=i+(I*72|0)+40|0;c=a[d>>2]|0;do{if((c|0)>0?(p=i+(I*72|0)+44|0,U=a[p>>2]|0,(U|0)>0):0){o=i+(I*72|0)+60|0;c=a[o>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=U;a[i+(C*72|0)+44>>2]=-1;a[p>>2]=-1;a[i+(U*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=U;a[p>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[d>>2]|0)*72|0)+48>>2]=I;w=C;s=U}else{a[i+(C*72|0)+44>>2]=-1;O=i+(C*72|0)+40|0;a[O>>2]=a[p>>2];s=a[d>>2]|0;a[p>>2]=s;a[d>>2]=c;a[i+(c*72|0)+48>>2]=I;w=I;c=a[O>>2]|0}a[i+(s*72|0)+48>>2]=w;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[o>>2]=0}else Y=106}while(0);do{if((Y|0)==106){Y=0;s=i+(c*72|0)+48|0;w=a[s>>2]|0;c=i+(c*72|0)+52|0;if((w|0)>0?(a[c>>2]|0)>0:0){c=a[i+(w*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[d>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[d>>2]|0)*72|0)+48>>2]=I;break}a[s>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[v>>2]|0;a[i+(c*72|0)+40>>2]=I;a[i+(c*72|0)+44>>2]=-1;c=i+(I*72|0)+52|0;O=a[c>>2]|0;a[i+(O*72|0)+40>>2]=C;a[i+(O*72|0)+44>>2]=-1;a[i+(C*72|0)+48>>2]=O;a[i+(C*72|0)+52>>2]=-1;a[c>>2]=-1;c=-1}else Y=116;do{if((Y|0)==116){Y=0;c=a[v>>2]|0;a[i+(c*72|0)+40>>2]=I;s=i+(c*72|0)+44|0;if(B){a[s>>2]=C;O=i+(I*72|0)+52|0;E=a[O>>2]|0;a[i+(E*72|0)+40>>2]=C;a[i+(E*72|0)+44>>2]=-1;a[O>>2]=-1;break}else{a[s>>2]=-1;c=i+(I*72|0)+52|0;O=a[c>>2]|0;a[i+(O*72|0)+40>>2]=I;a[i+(O*72|0)+44>>2]=C;a[i+(C*72|0)+48>>2]=O;a[i+(C*72|0)+52>>2]=-1;c=a[c>>2]|0;break}}}while(0);break}B=i+(I*72|0)+40|0;c=a[B>>2]|0;do{if((c|0)>0?(M=i+(I*72|0)+44|0,F=a[M>>2]|0,(F|0)>0):0){d=i+(I*72|0)+60|0;c=a[d>>2]|0;if((c|0)<=0){a[i+(C*72|0)+40>>2]=F;a[i+(C*72|0)+44>>2]=-1;a[M>>2]=-1;a[i+(F*72|0)+48>>2]=C;break}if((a[i+(I*72|0)+64>>2]|0)==1){a[i+(C*72|0)+40>>2]=F;a[M>>2]=-1;a[i+(C*72|0)+44>>2]=c;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;o=C;w=F}else{a[i+(C*72|0)+44>>2]=-1;O=i+(C*72|0)+40|0;a[O>>2]=a[M>>2];w=a[B>>2]|0;a[M>>2]=w;a[B>>2]=c;a[i+(c*72|0)+48>>2]=I;o=I;c=a[O>>2]|0}a[i+(w*72|0)+48>>2]=o;a[i+(c*72|0)+48>>2]=C;a[i+(C*72|0)+60>>2]=0;a[d>>2]=0}else Y=51}while(0);do{if((Y|0)==51){Y=0;w=i+(c*72|0)+48|0;o=a[w>>2]|0;c=i+(c*72|0)+52|0;if((o|0)>0?(a[c>>2]|0)>0:0){c=a[i+(o*72|0)+4>>2]|0;if((c|0)>0?(mn(c,e,j)|0)==0:0){a[i+(C*72|0)+44>>2]=-1;a[i+(I*72|0)+44>>2]=-1;a[B>>2]=-1;a[i+((a[i+(C*72|0)+40>>2]|0)*72|0)+52>>2]=C;break}a[i+(I*72|0)+44>>2]=-1;a[i+(C*72|0)+44>>2]=-1;a[i+(C*72|0)+40>>2]=-1;a[i+((a[B>>2]|0)*72|0)+48>>2]=I;break}a[w>>2]=I;a[c>>2]=C}}while(0);if(+y(+(+b[g>>3]-+b[W>>3]))<=1.0e-07?m&+y(+(+b[E>>3]-+b[L>>3]))<=1.0e-07:0){c=a[Z>>2]|0;if((c|0)>0?(mn(c,e,x)|0)!=0:0){a[i+((a[v>>2]|0)*72|0)+40>>2]=I;s=i+(C*72|0)+52|0;c=C}else{a[i+((a[i+(C*72|0)+48>>2]|0)*72|0)+44>>2]=C;c=I}a[s>>2]=-1;a[i+(c*72|0)+48>>2]=-1;c=a[v>>2]|0;break}c=a[v>>2]|0;s=i+(c*72|0)+40|0;w=a[s>>2]|0;o=i+(c*72|0)+44|0;if((w|0)>0?(V=a[o>>2]|0,J=(w|0)==(I|0),(V|0)>0):0){a[i+(c*72|0)+60>>2]=J?V:w;a[i+(c*72|0)+64>>2]=J?1:2}a[s>>2]=I;a[o>>2]=C}}while(0);a[Q>>2]=A;a[i+(I*72|0)+4>>2]=A;if((c|0)>0)I=c;else break A}L3(138424,19,1,a[15712]|0)|0}else{n=0;f=0}}while(0);Dn(A,z,u,1,i,r);Dn(A,n,f,2,i,r);a[e+(A*56|0)+32>>2]=1;k=P;return}function Gn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;if(!(a[e+(A*56|0)+32>>2]|0)){f=e+(A*56|0)|0;n=e+(A*56|0)+16|0;l=e+(A*56|0)+36|0;a[l>>2]=a[i+((Qn(f,n,a[l>>2]|0,e,r)|0)*72|0)+56>>2];A=e+(A*56|0)+40|0;a[A>>2]=a[i+((Qn(n,f,a[A>>2]|0,e,r)|0)*72|0)+56>>2]}return}function Qn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0,o=0.0,h=0,d=0;k=A+8|0;h=e+8|0;A:while(1){e:do{switch(a[f+(i*40|0)>>2]|0){case 3:{d=3;break A}case 2:{n=+b[k>>3];l=f+(i*40|0)+8|0;t=+b[f+(i*40|0)+16>>3];c=t+1.0e-07;do{if(!(n>c)){s=t+-1.0e-07;if(!(n>3]>+b[l>>3]:0)break;if(+y(+(n-t))<=1.0e-07?(w=+b[l>>3],+y(+(+b[A>>3]-w))<=1.0e-07):0){n=+b[h>>3];do{if(!(n>c)){if(!(n>3]>w:0)break;i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break e}i=f+(i*40|0)+32|0;break e}}while(0);i=f+(i*40|0)+36|0;break}case 1:{n=+b[k>>3];l=a[f+(i*40|0)+4>>2]|0;if(+y(+(n-+b[r+(l*56|0)+8>>3]))<=1.0e-07?(u=+b[A>>3],+y(+(u-+b[r+(l*56|0)>>3]))<=1.0e-07):0)t=u;else d=19;do{if((d|0)==19){d=0;if(+y(+(n-+b[r+(l*56|0)+24>>3]))<=1.0e-07?(o=+b[A>>3],+y(+(o-+b[r+(l*56|0)+16>>3]))<=1.0e-07):0){t=o;break}if(!(mn(l,r,A)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}}}while(0);if(!(+y(+(n-+b[h>>3]))<=1.0e-07))if(!(mn(l,r,e)|0)){i=f+(i*40|0)+36|0;break e}else{i=f+(i*40|0)+32|0;break e}else if(+b[e>>3]>2]|0}if((d|0)==3)return a[f+(i*40|0)+24>>2]|0;else if((d|0)==31){L3(138358,35,1,a[15712]|0)|0;vA(138394,138396,349,138408)}return 0}function mn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0,n=0.0,l=0,t=0,c=0.0;a=e+(A*56|0)+16|0;n=+b[e+(A*56|0)+24>>3];l=e+(A*56|0)|0;f=+b[e+(A*56|0)+8>>3];do{if(!(n>f+1.0e-07)){if(!(n>3]>+b[l>>3]:0){t=4;break}r=+b[i+8>>3];if(+y(+(n-r))<=1.0e-07){r=+b[i>>3]<+b[a>>3]?1.0:-1.0;break}if(!(+y(+(f-r))<=1.0e-07)){c=+b[a>>3];r=(+b[l>>3]-c)*(r-n)-(+b[i>>3]-c)*(f-n);break}else{r=+b[i>>3]<+b[l>>3]?1.0:-1.0;break}}else t=4}while(0);do{if((t|0)==4){r=+b[i+8>>3];if(+y(+(n-r))<=1.0e-07){r=+b[i>>3]<+b[a>>3]?1.0:-1.0;break}if(!(+y(+(f-r))<=1.0e-07)){c=+b[l>>3];r=(+b[a>>3]-c)*(r-f)-(+b[i>>3]-c)*(n-f);break}else{r=+b[i>>3]<+b[l>>3]?1.0:-1.0;break}}}while(0);return r>0.0|0}function Ln(A,e,i){A=A|0;e=e|0;i=i|0;return a[e+((a[((i|0)==1?e+(A*56|0)+48|0:e+(A*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function Wn(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=a[47395]|0;if((e|0)<(a[47394]|0)){a[A+(e*72|0)>>2]=-1;a[A+(e*72|0)+4>>2]=-1;a[A+(e*72|0)+68>>2]=1;a[47395]=e+1;k=r;return e|0}else{r=a[15712]|0;a[i>>2]=e;f3(r,138483,i)|0;vA(138394,138396,88,138521)}return 0}function yn(){var A=0;A=a[47396]|0;if((A|0)<(a[47393]|0)){a[47396]=A+1;return A|0}else{L3(138444,30,1,a[15712]|0)|0;vA(138394,138396,72,138475)}return 0}function zn(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(i>r+1.0e-07))if(i>3]>=+b[e>>3]&1;else A=1;return A|0}function Yn(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(ir+1.0e-07)A=0;else A=+b[A>>3]<+b[e>>3]&1;else A=1;return A|0}function Dn(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;h=f+(i*72|0)+24|0;o=(r|0)==1;A:while(1){k=f+(e*72|0)+24|0;c=f+(e*72|0)+48|0;b=f+(e*72|0)+52|0;s=f+(e*72|0)|0;w=f+(e*72|0)+4|0;u=f+(e*72|0)+56|0;if((e|0)<=0)break;while(1){if(!(zn(k,h)|0))break A;i=a[c>>2]|0;r=(i|0)>0;do{if(o){if(r?(a[f+(i*72|0)+4>>2]|0)==(A|0):0)break;i=a[b>>2]|0;if((i|0)<=0){e=i;continue A}if((a[f+(i*72|0)+4>>2]|0)!=(A|0)){e=i;continue A}}else{if(r?(a[f+(i*72|0)>>2]|0)==(A|0):0)break;i=a[b>>2]|0;if((i|0)<=0){e=i;continue A}if((a[f+(i*72|0)>>2]|0)!=(A|0)){e=i;continue A}}}while(0);if((a[s>>2]|0)!=(a[f+(i*72|0)>>2]|0)){e=i;continue A}if((a[w>>2]|0)!=(a[f+(i*72|0)+4>>2]|0)){e=i;continue A}d=a[f+(i*72|0)+56>>2]|0;r=a[n+(d*40|0)+28>>2]|0;l=n+(r*40|0)+32|0;t=a[u>>2]|0;if((a[l>>2]|0)==(d|0))a[l>>2]=t;else a[n+(r*40|0)+36>>2]=t;r=a[f+(i*72|0)+48>>2]|0;a[c>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((a[l>>2]|0)==(i|0)){a[l>>2]=e;break}r=f+(r*72|0)+44|0;if((a[r>>2]|0)==(i|0))a[r>>2]=e}}while(0);r=a[f+(i*72|0)+52>>2]|0;a[b>>2]=r;do{if((r|0)>0){l=f+(r*72|0)+40|0;if((a[l>>2]|0)==(i|0)){a[l>>2]=e;break}r=f+(r*72|0)+44|0;if((a[r>>2]|0)==(i|0))a[r>>2]=e}}while(0);d=f+(i*72|0)+24|0;a[k>>2]=a[d>>2];a[k+4>>2]=a[d+4>>2];a[k+8>>2]=a[d+8>>2];a[k+12>>2]=a[d+12>>2];a[f+(i*72|0)+68>>2]=2}}return}function Mn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[i+8>>3];do{if(!(r>f+1.0e-07)){if(!(+y(+(r-f))<=1.0e-07)){a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}if(+b[e>>3]>+b[i>>3]+1.0e-07){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function Fn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[i+8>>3];do{if(!(r>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}if(+b[e>>3]<+b[i>>3]){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function Vn(A){A=A|0;var e=0;e=qF(8)|0;if(e|0){a[e+4>>2]=A;a[e>>2]=0}return e|0}function Jn(A,e){A=A|0;e=e|0;if(e){e=Vn(e)|0;a[e>>2]=A;A=e}return A|0}function Nn(A){A=A|0;var e=0;do{e=A;A=a[A>>2]|0;L2(e)}while((A|0)!=0);return}function Xn(){var A=0;A=qF(1992)|0;if(A|0)a[A>>2]=Rn(A)|0;return A|0}function Rn(A){A=A|0;var e=0;e=jn(A)|0;a[e+4>>2]=0;A=A+1972|0;a[A>>2]=(a[A>>2]|0)+1;return e|0}function Hn(A){A=A|0;pn(A,a[A>>2]|0);L2(a[A>>2]|0);L2(A);return 0}function pn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=A+1980|0;l=A+1912|0;t=A+1936|0;A:do{if((a[e+4>>2]|0)>0){i=0;while(1){if((i|0)==64)break A;r=e+8+(i*20|0)+16|0;f=a[r>>2]|0;if(f|0?(pn(A,f),L2(a[r>>2]|0),qn(e,i),a[n>>2]=(a[n>>2]|0)+-1,a[l>>2]|0):0)a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}else{i=0;while(1){if((i|0)==64)break A;if(a[e+8+(i*20|0)+16>>2]|0?(qn(e,i),a[n>>2]=(a[n>>2]|0)+-1,a[l>>2]|0):0)a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}}while(0);return}function Un(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;if(!e)vA(138879,138529,194,138537);r=a[e+4>>2]|0;if((r|0)<=-1)vA(138549,138529,195,138537);if(!i)vA(138821,138529,196,138537);t=A+1952|0;a[t>>2]=(a[t>>2]|0)+1;A:do{if((r|0)>0){t=0;r=0;while(1){if((t|0)==64)break A;f=e+8+(t*20|0)+16|0;if((a[f>>2]|0)!=0?(rl(i,e+8+(t*20|0)|0)|0)!=0:0){n=Un(A,a[f>>2]|0,i)|0;if(!r)r=n;else{f=r;while(1){l=a[f>>2]|0;if(!l)break;else f=l}a[f>>2]=n}}t=t+1|0}}else{n=0;r=0;while(1){if((n|0)==64)break A;f=e+8+(n*20|0)|0;if((a[e+8+(n*20|0)+16>>2]|0)!=0?(rl(i,f)|0)!=0:0)r=Jn(r,f)|0;n=n+1|0}}}while(0);return r|0}function xn(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+64|0;b=o+52|0;s=o+32|0;w=o+16|0;u=o;a[b>>2]=0;if(!((e|0)!=0&(r|0)!=0))vA(138735,138529,247,138563);if((f|0)>-1?(c=a[r>>2]|0,(a[c+4>>2]|0)>=(f|0)):0){n=0;while(1){if((n|0)>=2)break;if((a[e+(n<<2)>>2]|0)>(a[e+(n+2<<2)>>2]|0)){l=8;break}else n=n+1|0}if((l|0)==8)vA(138610,138529,250,138563);t=A+1912|0;n=A+1908|0;l=a[n>>2]|0;if(a[t>>2]|0){h=l|0?A+1924|0:A+1916|0;a[h>>2]=(a[h>>2]|0)+1}if(!l){h=A+1964|0;a[h>>2]=(a[h>>2]|0)+1}if(!(Tn(A,e,i,c,b,f)|0))n=0;else{if(a[t>>2]|0){h=a[n>>2]|0?A+1948|0:A+1944|0;a[h>>2]=(a[h>>2]|0)+1}n=jn(A)|0;h=A+1976|0;a[h>>2]=(a[h>>2]|0)+1;h=a[r>>2]|0;a[n+4>>2]=(a[h+4>>2]|0)+1;On(w,h);a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];h=s+16|0;a[h>>2]=a[r>>2];_n(A,s,n,0)|0;On(u,a[b>>2]|0);a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[h>>2]=a[b>>2];_n(A,s,n,0)|0;a[r>>2]=n;n=A+1980|0;a[n>>2]=(a[n>>2]|0)+2;n=1}k=o;return n|0}vA(138575,138529,248,138563);return 0}function Tn(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+80|0;s=h+52|0;w=h+48|0;u=h+32|0;o=h+16|0;b=h;a[w>>2]=0;if(!((e|0)!=0&(r|0)!=0&(f|0)!=0))vA(138653,138529,311,138667);if((n|0)>-1?(t=r+4|0,l=a[t>>2]|0,(l|0)>=(n|0)):0){if(a[A+1912>>2]|0){l=a[A+1908>>2]|0?A+1948|0:A+1944|0;a[l>>2]=(a[l>>2]|0)+1;l=a[t>>2]|0}do{if((l|0)>(n|0)){t=Kn(e,r)|0;l=r+8+(t*20|0)+16|0;t=r+8+(t*20|0)|0;if(!(Tn(A,e,i,a[l>>2]|0,w,n)|0)){il(u,e,t);a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];c=0;break}else{On(o,a[l>>2]|0);a[t>>2]=a[o>>2];a[t+4>>2]=a[o+4>>2];a[t+8>>2]=a[o+8>>2];a[t+12>>2]=a[o+12>>2];c=a[w>>2]|0;a[s+16>>2]=c;On(b,c);a[s>>2]=a[b>>2];a[s+4>>2]=a[b+4>>2];a[s+8>>2]=a[b+8>>2];a[s+12>>2]=a[b+12>>2];c=A+1980|0;a[c>>2]=(a[c>>2]|0)+1;c=_n(A,s,r,f)|0;break}}else if((l|0)==(n|0)){a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];a[s+16>>2]=i;c=A+1980|0;a[c>>2]=(a[c>>2]|0)+1;c=_n(A,s,r,f)|0;break}else vA(138712,138529,341,138667)}while(0);k=h;return c|0}vA(138680,138529,312,138667);return 0}function jn(A){A=A|0;A=A+1968|0;a[A>>2]=(a[A>>2]|0)+1;A=m2(1288)|0;Sn(A);return A|0}function Sn(A){A=A|0;var e=0;a[A>>2]=0;a[A+4>>2]=-1;e=0;while(1){if((e|0)==64)break;Pn(A+8+(e*20|0)|0);e=e+1|0}return}function Pn(A){A=A|0;$n(A);a[A+16>>2]=0;return}function On(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t+16|0;l=t;if(!e)vA(138879,138718,99,138725);$n(n);i=1;f=0;while(1){if((f|0)==64)break;do{if(a[e+8+(f*20|0)+16>>2]|0){r=e+8+(f*20|0)|0;if(!i){il(l,n,r);a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];i=0;break}else{a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];i=0;break}}}while(0);f=f+1|0}a[A>>2]=a[n>>2];a[A+4>>2]=a[n+4>>2];a[A+8>>2]=a[n+8>>2];a[A+12>>2]=a[n+12>>2];k=t;return}function Kn(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;b=k;k=k+32|0;t=b+16|0;c=b;if(!((A|0)!=0&(e|0)!=0))vA(138735,138718,125,138742);i=0;r=0;f=0;n=1;l=0;while(1){if((l|0)==64)break;if(a[e+8+(l*20|0)+16>>2]|0){w=e+8+(l*20|0)|0;o=el(w)|0;il(c,A,w);a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];w=(el(t)|0)-o|0;s=(n|0)!=0|(w|0)<(f|0);u=s|(o|0)<(r|0)&(w|0)==(f|0);i=u?l:i;r=u?o:r;f=u?w:f;n=s?0:n}l=l+1|0}k=b;return i|0}function _n(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;if(!e)vA(138901,138718,167,138753);if(!i)vA(138879,138718,168,138753);do{if((a[i>>2]|0)<64){A=0;while(1){if((A|0)>=64){r=10;break}if(!(a[i+8+(A*20|0)+16>>2]|0)){r=8;break}A=A+1|0}if((r|0)==8){f=i+8+(A*20|0)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[f+16>>2]=a[e+16>>2];f=0;n=i;break}else if((r|0)==10)vA(138763,138718,178,138753)}else{if(a[A+1912>>2]|0){l=a[A+1908>>2]|0?A+1948|0:A+1944|0;a[l>>2]=(a[l>>2]|0)+1}if(!r)vA(138776,138718,187,138753);else{fl(A,i,e,r);f=1;n=(a[i+4>>2]|0)==0?A+1972|0:A+1976|0;break}}}while(0);a[n>>2]=(a[n>>2]|0)+1;return f|0}function qn(A,e){A=A|0;e=e|0;if(!((A|0)!=0&e>>>0<64))vA(138780,138718,201,138808);if(!(a[A+8+(e*20|0)+16>>2]|0))vA(139302,138718,202,138808);else{Pn(A+8+(e*20|0)|0);a[A>>2]=(a[A>>2]|0)+-1;return}}function $n(A){A=A|0;var e=0;e=0;while(1){if((e|0)==4)break;a[A+(e<<2)>>2]=0;e=e+1|0}return}function Al(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;a[i>>2]=1;a[i+8>>2]=-1;e=1;while(1){if((e|0)==2)break;a[i+(e+2<<2)>>2]=0;a[i+(e<<2)>>2]=0;e=e+1|0}a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=r;return}function el(A){A=A|0;var e=0,i=0,r=0;if(!A)vA(138821,138823,128,138835);A:do{if((a[A>>2]|0)>(a[A+8>>2]|0))e=0;else{e=1;i=0;while(1){if((i|0)==2)break A;r=U(a[A+(i+2<<2)>>2]|0,e)|0;e=r-(a[A+(i<<2)>>2]|0)|0;i=i+1|0}}}while(0);return e|0}function il(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;n=k;k=k+16|0;f=n;if(!((e|0)!=0&(i|0)!=0))vA(138844,138823,195,138852);do{if((a[e>>2]|0)>(a[e+8>>2]|0)){a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2]}else{if((a[i>>2]|0)>(a[i+8>>2]|0)){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else r=0;while(1){if((r|0)==2)break;c=a[e+(r<<2)>>2]|0;l=a[i+(r<<2)>>2]|0;a[f+(r<<2)>>2]=(c|0)<(l|0)?c:l;l=r+2|0;c=a[e+(l<<2)>>2]|0;t=a[i+(l<<2)>>2]|0;a[f+(l<<2)>>2]=(c|0)>(t|0)?c:t;r=r+1|0}a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2]}}while(0);k=n;return}function rl(A,e){A=A|0;e=e|0;var i=0,r=0;if((A|0)!=0&(e|0)!=0)i=0;else vA(138864,138823,216,138871);while(1){if((i|0)>=2){i=1;break}r=i+2|0;if((a[A+(i<<2)>>2]|0)>(a[e+(r<<2)>>2]|0)){i=0;break}if((a[e+(i<<2)>>2]|0)>(a[A+(r<<2)>>2]|0)){i=0;break}else i=i+1|0}return i|0}function fl(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;if(!e)vA(138879,138881,40,138891);if(!i)vA(138901,138881,41,138891);t=A+1912|0;if(a[t>>2]|0){l=a[A+1908>>2]|0?A+1932|0:A+1928|0;a[l>>2]=(a[l>>2]|0)+1}n=e+4|0;l=a[n>>2]|0;al(A,e,i);i=A+1324|0;nl(A);f=el(A+1852|0)|0;f=(el(A+1868|0)|0)+f|0;if(a[t>>2]|0?(f|0)!=0&(a[A+1908>>2]|0)==0:0){t=A+1960|0;c[t>>2]=+((a[A+1320>>2]|0)>>>0)/+(f|0)+ +c[t>>2]}t=jn(A)|0;a[r>>2]=t;a[n>>2]=l;a[t+4>>2]=l;ll(A,e,t,i);if(((a[a[r>>2]>>2]|0)+(a[e>>2]|0)|0)==65)return;else vA(138903,138881,86,138891)}function al(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+16|0;n=l;if(!e)vA(138879,138881,106,139290);if(!i)vA(138901,138881,107,139290);else r=0;while(1){if((r|0)>=64)break;if(!(a[e+8+(r*20|0)+16>>2]|0)){f=7;break}c=e+8+(r*20|0)|0;t=A+4+(r*20|0)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];r=r+1|0}if((f|0)==7)vA(139302,138881,111,139290);r=A+4|0;c=A+1284|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[c+16>>2]=a[i+16>>2];i=A+1304|0;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];r=1;while(1){if((r|0)==65)break;il(n,i,A+4+(r*20|0)|0);a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];r=r+1|0}a[A+1320>>2]=el(i)|0;Sn(e);k=l;return}function nl(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;g=k;k=k+48|0;t=g+32|0;b=g+16|0;s=g;tl(A);cl(A);h=A+1844|0;B=A+1848|0;v=A+1892|0;w=A+1852|0;u=A+1884|0;o=A+1868|0;c=A+1888|0;f=0;r=0;while(1){i=a[h>>2]|0;e=a[B>>2]|0;if((e+i|0)>=65)break;l=65-(a[v>>2]|0)|0;if((i|0)<(l|0)&(e|0)<(l|0)){n=-1;l=0}else{d=12;break}while(1){if((l|0)==65)break;if(!(a[A+1584+(l<<2)>>2]|0)){E=A+4+(l*20|0)|0;il(b,E,w);a[t>>2]=a[b>>2];a[t+4>>2]=a[b+4>>2];a[t+8>>2]=a[b+8>>2];a[t+12>>2]=a[b+12>>2];e=el(t)|0;i=a[u>>2]|0;il(s,E,o);a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];E=el(t)|0;e=E-(a[c>>2]|0)+(i-e)|0;i=(e|0)>-1;e=i?e:0-e|0;i=(i^1)&1;if((e|0)<=(n|0))if((e|0)==(n|0)){E=(a[A+1844+(i<<2)>>2]|0)<(a[A+1844+(f<<2)>>2]|0);e=n;i=E?i:f;r=E?l:r}else{e=n;i=f}else r=l}else{e=n;i=f}n=e;l=l+1|0;f=i}bl(A,r,f)}if((d|0)==12){e=(i|0)>=(65-(a[v>>2]|0)|0)&1;i=0;while(1){if((i|0)==65)break;if(!(a[A+1584+(i<<2)>>2]|0))bl(A,i,e);i=i+1|0}i=a[h>>2]|0;e=a[B>>2]|0}if((e+i|0)!=65)vA(139046,138881,210,139132);E=a[v>>2]|0;if((i|0)<(E|0)|(e|0)<(E|0))vA(139143,138881,212,139132);else{k=g;return}}function ll(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if(!e)vA(138879,138881,297,138943);if(!i)vA(138953,138881,298,138943);if(!r)vA(138955,138881,299,138943);else f=0;while(1){if((f|0)>=65){r=14;break}r=a[A+1324+(f<<2)>>2]|0;if(r>>>0>=2){r=9;break}switch(r|0){case 0:{_n(A,A+4+(f*20|0)|0,e,0)|0;break}case 1:{_n(A,A+4+(f*20|0)|0,i,0)|0;break}default:{}}f=f+1|0}if((r|0)==9)vA(138957,138881,303,138943);else if((r|0)==14)return}function tl(A){A=A|0;var e=0,i=0,r=0,f=0;i=k;k=k+16|0;r=i;a[A+1848>>2]=0;a[A+1844>>2]=0;e=A+1852|0;f=A+1868|0;Al(r);a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];a[A+1888>>2]=0;a[A+1884>>2]=0;e=0;while(1){if((e|0)==65)break;a[A+1584+(e<<2)>>2]=0;a[A+1324+(e<<2)>>2]=-1;e=e+1|0}k=i;return}function cl(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;u=k;k=k+304|0;b=u+32|0;s=u+16|0;w=u;e=0;while(1){if((e|0)==65)break;a[b+(e<<2)>>2]=el(A+4+(e*20|0)|0)|0;e=e+1|0}e=0;i=0;r=0;n=0;A:while(1){if((n|0)==64)break;t=n+1|0;c=A+4+(n*20|0)|0;l=b+(n<<2)|0;f=t;while(1){if((f|0)==65){n=t;continue A}il(w,c,A+4+(f*20|0)|0);a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];o=el(s)|0;o=o-(a[l>>2]|0)-(a[b+(f<<2)>>2]|0)|0;h=o>>>0>r>>>0;d=h?f:e;f=f+1|0;e=d;i=h?n:i;r=h?o:r}}bl(A,i,0);bl(A,e,1);k=u;return}function bl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;r=A+1584+(e<<2)|0;if(a[r>>2]|0)vA(139246,138881,257,139281);a[A+1324+(e<<2)>>2]=i;a[r>>2]=1;n=A+1844+(i<<2)|0;f=A+1852+(i<<4)|0;r=A+4+(e*20|0)|0;if(!(a[n>>2]|0)){a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2]}else{il(l,r,f);a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2]}a[A+1884+(i<<2)>>2]=el(f)|0;a[n>>2]=(a[n>>2]|0)+1;k=t;return}function sl(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1200|0;d=v+800|0;i=v;a[47397]=0;a[47398]=-2;e=d;t=200;w=i;o=0;h=0;u=d;A:while(1){f[u>>1]=o;if((e+(t<<1)+-2|0)>>>0>u>>>0)b=t;else{s=u-e>>1;A=s+1|0;if(t>>>0>9999){B=95;break}b=t<<1;b=b>>>0<1e4?b:1e4;l=m2(b*6|3)|0;if(l){y6(l|0,e|0,A<<1|0)|0;t=l+(b>>>1<<2)|0;y6(t|0,w|0,A<<2|0)|0;if((e|0)==(d|0)){A=0;e=l}else{L2(e);A=0;e=l}}else{A=4;t=w}c=(A|0)==0;l=e+(s<<1)|0;switch((c?(e+(b<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;B=96;break A}case 4:{B=95;break A}case 0:{i=c?t+(s<<2)|0:i;w=t;u=c?l:u;break}default:{A=0;break A}}}if((o|0)==31){A=0;B=96;break}A=f[65534+(o<<1)>>1]|0;c=A<<16>>16;do{if(A<<16>>16!=-82){l=a[47398]|0;if((l|0)==-2){l=Qt()|0;a[47398]=l}if((l|0)>=1)if(l>>>0<296)t=n[139321+l>>0]|0;else t=2;else{a[47398]=0;t=0}l=t+c|0;if(l>>>0<=271?(t|0)==(r[139617+l>>0]|0):0){o=r[139889+l>>0]|0;A=o<<24>>24;if(o<<24>>24<1){l=0-A|0;B=23;break}else{a[47398]=-2;i=i+4|0;a[i>>2]=a[47399];c=(h|0)==0?0:h+-1|0;l=u;break}}else B=22}else B=22}while(0);if((B|0)==22){B=0;o=r[140161+o>>0]|0;l=o&255;if(!(o<<24>>24)){l=a[47398]|0;e:do{switch(h|0){case 0:{a[47397]=(a[47397]|0)+1;Yl(143761);l=u;break}case 3:if((l|0)<1)if(!l){A=1;B=96;break A}else{l=u;break e}else{a[47398]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<16>>16==8)break;if((l|0)==(e|0)){A=1;B=96;break A}A=l+-2|0;i=i+-4|0;l=A;A=f[65534+(f[A>>1]<<1)>>1]|0}i=i+4|0;a[i>>2]=a[47399];A=1;c=3}else B=23}do{if((B|0)==23){B=0;c=n[140277+l>>0]|0;A=a[i+(1-c<<2)>>2]|0;do{switch(l|0){case 4:{B=26;break A}case 2:{a[47400]=wl(a[i+-4>>2]|0,2)|0;break}case 3:{a[47400]=wl(a[i+-4>>2]|0,1)|0;break}case 5:{A=kl()|0;break}case 8:{ol(a[47401]|0);break}case 9:{hl(a[i>>2]|0);break}case 18:{dl(a[i>>2]|0);break}case 19:{Bl();break}case 20:{dl(a[i>>2]|0);break}case 21:{Bl();break}case 22:{dl(a[i>>2]|0);break}case 23:{Bl();break}case 24:{dl(a[i>>2]|0);break}case 25:{Bl();break}case 26:{dl(a[i>>2]|0);break}case 27:{Bl();break}case 28:{dl(a[i>>2]|0);break}case 29:{Bl();break}case 30:{dl(a[i>>2]|0);break}case 31:{Bl();break}case 32:{dl(a[i>>2]|0);break}case 33:{Bl();break}case 34:{A=a[i+-4>>2]|0;break}case 35:{A=a[i>>2]|0;break}case 38:{A=a[47401]|0;t=a[A+4>>2]|0;if(t>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;t=a[47401]|0;A=t;t=a[t+4>>2]|0}r[t>>0]=0;o=a[A>>2]|0;a[A+4>>2]=o;if(vl(o)|0){B=51;break A}a[(a[i>>2]|0)+80>>2]=a[47402];A=jk(56032,a[4580]|0)|0;a[(a[i>>2]|0)+84>>2]=A;a[47402]=a[i>>2];a[(a[i>>2]|0)+108>>2]=a[a[47403]>>2];A=a[i>>2]|0;break}case 39:{A=a[47401]|0;t=a[A+4>>2]|0;if(t>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;t=a[47401]|0;A=t;t=a[t+4>>2]|0}r[t>>0]=0;o=a[A>>2]|0;a[A+4>>2]=o;if(vl(o)|0){B=56;break A}A=a[47402]|0;a[47402]=a[A+80>>2];break}case 40:{A=a[i>>2]|0;break}case 41:{A=a[i+-4>>2]|0;break}case 42:{A=a[i+-4>>2]|0;break}case 43:{A=a[i+-4>>2]|0;break}case 44:{A=a[i+-4>>2]|0;break}case 45:{A=a[i+-4>>2]|0;break}case 48:{A=a[i>>2]|0;break}case 49:{A=a[i>>2]|0;break}case 50:{r[(a[i+-8>>2]|0)+12>>0]=1;A=a[i>>2]|0;break}case 51:{gl();break}case 52:{A=El()|0;break}case 53:{A=a[i>>2]|0;break}case 54:{A=a[i>>2]|0;break}case 55:{A=(a[i+-8>>2]|0)+100|0;r[A>>0]=r[A>>0]|1;A=a[i>>2]|0;break}case 56:{Cl(a[i+-4>>2]|0,a[i>>2]|0,1);break}case 57:{A=a[i+-12>>2]|0;break}case 58:{Cl(a[i+-4>>2]|0,a[i>>2]|0,2);break}case 59:{A=a[i+-12>>2]|0;break}case 60:{Cl(a[i+-4>>2]|0,a[i>>2]|0,3);break}case 61:{A=a[i+-12>>2]|0;break}case 62:{Cl(a[i>>2]|0,kl()|0,2);break}case 63:{A=a[i+-8>>2]|0;break}case 64:{A=a[i+-4>>2]|0;break}case 65:{A=a[i>>2]|0;break}default:{}}}while(0);t=0-c|0;o=i+(t<<2)|0;t=u+(t<<1)|0;i=o+4|0;a[o+4>>2]=A;A=(n[140449+l>>0]|0)+-41|0;o=f[t>>1]|0;l=o+(f[65766+(A<<1)>>1]|0)|0;if(l>>>0<272?(r[139617+l>>0]|0)==(o|0):0){A=r[139889+l>>0]|0;c=h;l=t;break}A=r[140519+A>>0]|0;c=h;l=t}}while(0);t=b;o=A;h=c;u=l+2|0}if((B|0)==26){ul();A=1;B=96}else if((B|0)==51){Yl(140347);ul();A=1;B=96}else if((B|0)==56){Yl(140398);ul();A=1;B=96}else if((B|0)==95){Yl(140558);A=2;B=96}if((B|0)==96)if((e|0)!=(d|0))L2(e);k=v;return A|0}function wl(A,e){A=A|0;e=e|0;var i=0;i=qF(8)|0;r[i+4>>0]=e;a[i>>2]=A;return i|0}function ul(){var A=0,e=0;A=a[47402]|0;e=a[47400]|0;if(e|0){aa(e,1);a[47400]=0}a[14021]=67;while(1){if(!A)break;e=a[A+80>>2]|0;Ql(A);A=e}a[14021]=56;a[14030]=68;e=a[47405]|0;W5[a[e>>2]&63](e,0,64)|0;a[14030]=56;a[14039]=69;e=a[47406]|0;W5[a[e>>2]&63](e,0,64)|0;a[14039]=56;Wl();return}function kl(){var A=0,e=0,i=0,r=0,n=0,l=0;i=a[47406]|0;r=qF(40)|0;if(Pk(a[47405]|0)|0)hl(0);A=Pk(i)|0;f[r+4>>1]=A;A:do{if(!A)A=i;else{a[r>>2]=qF(A*24|0)|0;A=0;e=W5[a[i>>2]&63](i,0,128)|0;while(1){if(!e){A=i;break A}n=(a[r>>2]|0)+(A*24|0)|0;l=e+8|0;a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];a[n+8>>2]=a[l+8>>2];a[n+12>>2]=a[l+12>>2];a[n+16>>2]=a[l+16>>2];a[n+20>>2]=a[l+20>>2];A=A+1|0;e=W5[a[i>>2]&63](i,e,8)|0}}}while(0);W5[a[A>>2]&63](i,0,64)|0;return r|0}function ol(A){A=A|0;var e=0,i=0,f=0;i=qF(64)|0;f=A+4|0;e=a[f>>2]|0;if(e>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;e=a[f>>2]|0}r[e>>0]=0;A=a[A>>2]|0;a[f>>2]=A;a[i+8>>2]=s3(A)|0;a[i+12>>2]=a[a[47403]>>2];f=a[47405]|0;W5[a[f>>2]&63](f,i,1)|0;return}function hl(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;t=qF(32)|0;c=a[47405]|0;e=Pk(c)|0;b=t+8|0;r[t+14>>0]=A;A:do{if(!e){a[b>>2]=qF(56)|0;f[t+12>>1]=1;l=s3(195059)|0;b=a[b>>2]|0;a[b>>2]=l;a[b+4>>2]=a[a[47403]>>2]}else{f[t+12>>1]=e;a[b>>2]=qF(e*56|0)|0;A=0;e=xk(c)|0;while(1){if(!e)break A;i=(a[b>>2]|0)+(A*56|0)|0;n=e+8|0;l=i+56|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));A=A+1|0;e=a[e>>2]|0}}}while(0);W5[a[c>>2]&63](c,0,64)|0;b=a[47406]|0;W5[a[b>>2]&63](b,t,1)|0;return}function dl(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;n=t;l=qF(8)|0;f=a[a[47403]>>2]|0;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[n+16>>2]=a[A+16>>2];a[n+20>>2]=a[A+20>>2];a[n+24>>2]=a[A+24>>2];a[n+28>>2]=a[A+28>>2];if(f|0){A=n+4|0;if((a[A>>2]|0)==0?(e=a[f+4>>2]|0,e|0):0)a[A>>2]=e;A=n+16|0;if(+b[A>>3]<0.0?(i=+b[f+16>>3],i>=0.0):0)b[A>>3]=i;if((a[n>>2]|0)==0?(r=a[f>>2]|0,r|0):0)a[n>>2]=r;A=a[f+24>>2]&127;if(A|0){f=n+24|0;r=a[f>>2]|0;a[f>>2]=r&127|A|r&-128}}f=a[(a[47404]|0)+144>>2]|0;a[l>>2]=W5[a[f>>2]&63](f,n,1)|0;a[l+4>>2]=a[47403];a[47403]=l;k=t;return}function Bl(){var A=0,e=0;e=a[47403]|0;A=a[e+4>>2]|0;L2(e);a[47403]=A;return}function vl(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=0;break}if(e<<24>>24==32)A=A+1|0;else{A=1;break}}return A|0}function gl(){var A=0,e=0,i=0;i=jk(56068,a[4580]|0)|0;A=a[47402]|0;e=qF(16)|0;a[e+8>>2]=i;if(r[A+112>>0]&2)r[e+12>>0]=1;i=a[A+84>>2]|0;W5[a[i>>2]&63](i,e,1)|0;return}function El(){var A=0;A=a[(a[47402]|0)+84>>2]|0;return W5[a[A>>2]&63](A,0,256)|0}function Cl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=qF(16)|0;f=a[47402]|0;l=a[f+84>>2]|0;l=a[(W5[a[l>>2]&63](l,0,256)|0)+8>>2]|0;a[n+8>>2]=A;W5[a[l>>2]&63](l,n,1)|0;r[A+92>>0]=i;if(r[f+112>>0]&1)r[A+100>>0]=1;a[A+88>>2]=e;return}function Il(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Zl(A,e,i){A=A|0;e=e|0;i=i|0;pk(a[e+8>>2]|0)|0;L2(e);return}function Gl(A,e,i){A=A|0;e=e|0;i=i|0;yl(a[e+8>>2]|0);L2(e);return}function Ql(A){A=A|0;pk(a[A+84>>2]|0)|0;ia(A);L2(A);return}function ml(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+8>>2]|0);L2(e);return}function Ll(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0;n=e+12|0;A=f[n>>1]|0;if(A<<16>>16){l=e+8|0;i=0;r=a[l>>2]|0;while(1){if((i|0)>=(A<<16>>16|0))break;L2(a[r>>2]|0);i=i+1|0;r=r+56|0;A=f[n>>1]|0}L2(a[l>>2]|0)}L2(e);return}function Wl(){var A=0,e=0;A=a[47403]|0;while(1){e=a[A+4>>2]|0;if(!e)break;L2(A);A=e}return}function yl(A){A=A|0;var e=0;e=A+88|0;switch(r[A+92>>0]|0){case 1:{Ql(a[e>>2]|0);break}case 2:{ra(a[e>>2]|0);break}default:{}}ia(A);L2(A);return}function zl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=k;k=k+160|0;r=f+8|0;n=f;a[n>>2]=0;a[n+4>>2]=0;a[47403]=n;a[47402]=0;a[47400]=0;a[47404]=a[(a[(a[i+52>>2]|0)+16>>2]|0)+144>>2];a[47405]=jk(56104,a[4580]|0)|0;a[47406]=jk(56140,a[4580]|0)|0;co(r,128,f+24|0);a[47401]=r;if(!(Fl(A,r,i)|0)){sl()|0;a[e>>2]=Gt()|0;A=a[47400]|0}else{a[e>>2]=2;A=0}pk(a[47405]|0)|0;pk(a[47406]|0)|0;a[47405]=0;a[47406]=0;a[47403]=0;uo(r);k=f;return A|0}function Yl(A){A=A|0;var e=0,i=0,f=0;i=k;k=k+16|0;e=i;if(!(r[189661]|0)){r[189661]=1;f=Dl()|0;a[e>>2]=A;a[e+4>>2]=f;ao(1,140575,e)|0;Ml()}k=i;return}function Dl(){return ks(a[47407]|0)|0}function Ml(){var A=0,e=0,i=0,f=0;f=k;k=k+16|0;i=f;A=a[47410]|0;a[A+4>>2]=a[A>>2];e=a[47419]|0;if((e|0)>0){so(A,a[47417]|0,e)|0;A=a[47410]|0}so(A,a[47416]|0,a[47418]|0)|0;e=a[47410]|0;A=a[e+4>>2]|0;if(A>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;A=a[47410]|0;e=A;A=a[A+4>>2]|0}a[e+4>>2]=A+1;r[A>>0]=0;A=a[47410]|0;e=a[A>>2]|0;a[A+4>>2]=e;a[i>>2]=e;ao(3,140591,i)|0;k=f;return}function Fl(A,e,i){A=A|0;e=e|0;i=i|0;a[47410]=e;co(189644,128,0);a[47408]=A;r[189663]=0;r[189660]=0;r[189661]=0;a[47418]=0;a[47419]=0;r[189662]=1;i=i+52|0;e=Rc(XF(n[(a[(a[i>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;a[47407]=e;es(e,a[(a[(a[i>>2]|0)+16>>2]|0)+144>>2]|0);is(a[47407]|0,70,27);rs(a[47407]|0,71);return 0}function Vl(A,e,i){A=A|0;e=e|0;i=i|0;do{if(!(N1(e,140603)|0)){a[47399]=Rl(i)|0;r[189662]=0;a[47409]=286}else{if(N1(e,140609)|0?N1(e,140612)|0:0){if(!(N1(e,140615)|0)){r[189662]=1;a[47399]=Hl(i)|0;a[47409]=287;break}if(!(N1(e,140623)|0)){a[47399]=pl(A,i,0)|0;a[47409]=288;break}if(!(N1(e,140628)|0)){a[47399]=pl(A,0,1)|0;a[47409]=290;break}if(!(N1(e,140644)|0)){a[47399]=pl(A,0,32)|0;a[47409]=295;break}if(!(N1(e,140630)|0)){a[47399]=pl(A,0,4)|0;a[47409]=291;break}if(!(N1(e,140632)|0)){a[47399]=pl(A,0,64)|0;a[47409]=292;break}if(!(N1(e,140634)|0)){a[47399]=pl(A,0,2)|0;a[47409]=289;break}if(!(N1(e,140636)|0)){a[47399]=pl(A,0,8)|0;a[47409]=293;break}if(!(N1(e,140640)|0)){a[47399]=pl(A,0,16)|0;a[47409]=294;break}if(!(N1(e,140646)|0)){Ul(i);a[47409]=283;break}if(!(N1(e,140649)|0)){a[47409]=277;break}if(!(N1(e,140652)|0)){a[47409]=280;break}if(!(N1(e,140655)|0)){a[47399]=xl(i)|0;a[47409]=285;break}if(!(N1(e,140618)|0)){a[47409]=262;break}else{Xl(e);break}}r[189662]=0;a[47409]=260}}while(0);return}function Jl(A,e){A=A|0;e=e|0;do{if(!(N1(e,140603)|0)){a[47409]=264;r[189662]=1}else{if(N1(e,140609)|0?N1(e,140612)|0:0){if(!(N1(e,140615)|0)){a[47409]=265;r[189662]=0;break}if(!(N1(e,140618)|0)){a[47409]=263;break}if(!(N1(e,140623)|0)){a[47409]=266;break}if(!(N1(e,140628)|0)){a[47409]=270;break}if(!(N1(e,140630)|0)){a[47409]=271;break}if(!(N1(e,140632)|0)){a[47409]=272;break}if(!(N1(e,140634)|0)){a[47409]=269;break}if(!(N1(e,140636)|0)){a[47409]=273;break}if(!(N1(e,140640)|0)){a[47409]=274;break}if(!(N1(e,140644)|0)){a[47409]=275;break}if(!(N1(e,140646)|0)){a[47409]=(a[47409]|0)==283?282:258;break}if(!(N1(e,140649)|0)){a[47409]=(a[47409]|0)==277?276:278;break}if(!(N1(e,140652)|0)){a[47409]=(a[47409]|0)==280?279:281;break}if(!(N1(e,140655)|0)){a[47409]=(a[47409]|0)==285?284:259;break}else{Xl(e);break}}a[47409]=261}}while(0);return}function Nl(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if(r[189662]|0){A=0;while(1){if(!i)break;l=e+1|0;n=r[e>>0]|0;if((n&255)>31){e=a[47410]|0;f=a[e+4>>2]|0;if(f>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;f=a[47410]|0;e=f;f=a[f+4>>2]|0}a[e+4>>2]=f+1;r[f>>0]=n;A=A+1|0}e=l;i=i+-1|0}if(A|0)a[47409]=267}return}function Xl(A){A=A|0;var e=0,i=0,f=0;e=k;k=k+16|0;i=e;a[47409]=268;r[189661]=1;f=Dl()|0;a[i>>2]=A;a[i+4>>2]=f;ao(1,140659,i)|0;k=e;return}function Rl(A){A=A|0;var e=0;e=qF(120)|0;a[e+100>>2]=-1;r[e+88>>0]=-1;Tl(e,56400,22,A,141611);return e|0}function Hl(A){A=A|0;var e=0;e=qF(104)|0;f[e+80>>1]=1;f[e+82>>1]=1;Tl(e,56224,22,A,140965);return e|0}function pl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+32|0;r=f;a[r>>2]=0;a[r+4>>2]=0;a[r+8>>2]=0;a[r+12>>2]=0;a[r+16>>2]=0;a[r+20>>2]=0;a[r+24>>2]=0;a[r+28>>2]=0;b[r+16>>3]=-1.0;a[r+24>>2]=i&127;if(e|0)Tl(r,56200,3,e,140816);i=a[A+144>>2]|0;r=W5[a[i>>2]&63](i,r,1)|0;k=f;return r|0}function Ul(A){A=A|0;a[47399]=0;Tl(189596,56192,1,A,140752);return}function xl(A){A=A|0;var e=0;e=qF(40)|0;Tl(e,56176,2,A,140698);return e|0}function Tl(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;s=u+8|0;while(1){b=a[f>>2]|0;if(!b)break;t=a[f+4>>2]|0;a[s>>2]=b;c=i8(s,e,i,8,104)|0;if(!c){a[w>>2]=b;a[w+4>>2]=l;ao(0,140704,w)|0;t=1}else{t=m5[a[c+4>>2]&127](A,t)|0;t=(t|(n[189660]|0))&255}r[189660]=t;f=f+8|0}k=u;return}function jl(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function Sl(A,e){A=A|0;e=e|0;a[A+36>>2]=s3(e)|0;return 0}function Pl(A,e){A=A|0;e=e|0;a[A+32>>2]=s3(e)|0;return 0}function Ol(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=(Y4(r[e>>0]|0)|0)<<24>>24;switch(f|0){case 82:{i=e+1|0;if(!(N1(i,140763)|0)){a[A>>2]=114;i=0}else l=5;break}case 76:{l=6;break}default:{i=e+1|0;l=5}}do{if((l|0)==5)if(!(N1(i,140768)|0))l=6;else{if((f|0)!=67?(N1(i,140772)|0)==0:0){a[n>>2]=e;ao(0,140778,n)|0;i=1;break}a[A>>2]=110;i=0}}while(0);if((l|0)==6){a[A>>2]=108;i=0}k=t;return i|0}function Kl(A,e){A=A|0;e=e|0;a[A+4>>2]=e;return 0}function _l(A,e){A=A|0;e=e|0;a[A>>2]=e;return 0}function ql(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,140845,0,255,i)|0)){b[A+16>>3]=+(a[i>>2]|0);A=0}else A=1;k=r;return A|0}function $l(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+48|0;c=b+24|0;t=b+8|0;l=b;s=b+36|0;n=n3(A,s,10)|0;do{if((a[s>>2]|0)!=(A|0)){if((n|0)>(r|0)){a[t>>2]=e;a[t+4>>2]=A;a[t+8>>2]=r;ao(0,140887,t)|0;A=1;break}if((n|0)<(i|0)){a[c>>2]=e;a[c+4>>2]=A;a[c+8>>2]=i;ao(0,140926,c)|0;A=1;break}else{a[f>>2]=n;A=0;break}}else{a[l>>2]=e;a[l+4>>2]=A;ao(0,140856,l)|0;A=1}}while(0);k=b;return A|0}function At(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|4;A=0}else n=9;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|2;A=0}else n=9;break}case 84:{if(!(N1(e+1|0,141563)|0)){A=A+36|0;f[A>>1]=f[A>>1]|6;A=0}else n=9;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=9;break}default:n=9}if((n|0)==9){a[i>>2]=e;ao(0,141567,i)|0;A=1}k=l;return A|0}function et(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|512;A=0}else n=7;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|256;A=0}else n=7;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,141518,i)|0;A=1}k=l;return A|0}function it(A,e){A=A|0;e=e|0;a[A+20>>2]=s3(e)|0;return 0}function rt(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141511,0,255,i)|0)){r[A+33>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|32;A=0}else A=1;k=n;return A|0}function ft(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141499,0,255,i)|0)){r[A+34>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|64;A=0}else A=1;k=n;return A|0}function at(A,e){A=A|0;e=e|0;var i=0,n=0;n=k;k=k+16|0;i=n;if(!($l(e,141487,-128,127,i)|0)){r[A+32>>0]=a[i>>2];A=A+36|0;f[A>>1]=f[A>>1]|128;A=0}else A=1;k=n;return A|0}function nt(A,e){A=A|0;e=e|0;a[A+24>>2]=s3(e)|0;return 0}function lt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=k;k=k+16|0;r=n;i=n+4|0;do{if(!($l(e,141442,0,65535,i)|0)){e=a[i>>2]|0;if(!e){ao(0,141450,r)|0;e=1;break}else{f[A+80>>1]=e;e=0;break}}else e=1}while(0);k=n;return e|0}function tt(A,e){A=A|0;e=e|0;var i=0,r=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(n[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(N1(e+1|0,141391)|0)){A=A+36|0;f[A>>1]=f[A>>1]|1;A=0}else r=5;break}case 70:{if(!(N1(e+1|0,141395)|0))A=0;else r=5;break}default:r=5}if((r|0)==5){a[i>>2]=e;ao(0,141400,i)|0;A=1}k=l;return A|0}function ct(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141377,0,360,i)|0)){a[A+28>>2]=a[i>>2]&65535;A=0}else A=1;k=r;return A|0}function bt(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141370,0,65535,i)|0)){f[A+40>>1]=a[i>>2];A=0}else A=1;k=r;return A|0}function st(A,e){A=A|0;e=e|0;a[A>>2]=s3(e)|0;return 0}function wt(A,e){A=A|0;e=e|0;a[A+16>>2]=s3(e)|0;return 0}function ut(A,e){A=A|0;e=e|0;a[A+4>>2]=s3(e)|0;return 0}function kt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=k;k=k+16|0;r=n;i=n+4|0;do{if(!($l(e,141325,0,65535,i)|0)){e=a[i>>2]|0;if(!e){ao(0,141333,r)|0;e=1;break}else{f[A+82>>1]=e;e=0;break}}else e=1}while(0);k=n;return e|0}function ot(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;t=b;l=0;A:while(1){e:while(1){n=e+1|0;e=r[e>>0]|0;if(!(e<<24>>24))break A;e=e<<24>>24;i=(X1(e)|0)+-98|0;switch(i>>>1|i<<31|0){case 5:{c=5;break e}case 9:{i=2048;break e}case 8:{c=6;break e}case 0:{c=7;break e}default:{}}a[t>>2]=e;a[t+4>>2]=e;ao(0,141272,t)|0;e=n}if((c|0)==5){c=0;i=1024}else if((c|0)==6){c=0;i=4096}else if((c|0)==7){c=0;i=8192}e=n;l=l|i}if(l<<16>>16!=15360){c=A+36|0;f[c>>1]=f[c>>1]|l}k=b;return 0}function ht(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;l=s3(e)|0;n=A+42|0;i=0;e=l;while(1){A=t3(e,141182)|0;if(!A)break;if(((Y4(r[A>>0]|0)|0)&255|0)==82){e=A+1|0;if(!(N1(e,141185)|0)){f[n>>1]=f[n>>1]|4;A=i;e=0;i=A;continue}if(!(N1(e,141192)|0)){f[n>>1]=f[n>>1]|2;A=i;e=0;i=A;continue}else{a[t>>2]=A;ao(0,141198,t)|0;i=1;e=0;continue}}if(!(N1(A,141236)|0)){f[n>>1]=f[n>>1]&-385;A=i;e=0;i=A;continue}if(N1(A,141242)|0?N1(A,141252)|0:0){if(!(N1(A,141258)|0)){f[n>>1]=f[n>>1]|128;A=i;e=0;i=A;continue}if(!(N1(A,141265)|0)){f[n>>1]=f[n>>1]|256;A=i;e=0;i=A;continue}else{a[c>>2]=A;ao(0,141198,c)|0;i=1;e=0;continue}}f[n>>1]=f[n>>1]|32;A=i;e=0;i=A}L2(l);k=b;return i|0}function dt(A,e){A=A|0;e=e|0;a[A+8>>2]=s3(e)|0;return 0}function Bt(A,e){A=A|0;e=e|0;a[A+12>>2]=s3(e)|0;return 0}function vt(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(N1(e+1|0,141128)|0)){A=A+36|0;f[A>>1]=f[A>>1]|16;A=0}else n=7;break}case 84:{if(!(N1(e+1|0,141134)|0)){A=A+36|0;f[A>>1]=f[A>>1]|8;A=0}else n=7;break}case 77:{if(!(N1(e+1|0,141137)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,141143,i)|0;A=1}k=l;return A|0}function gt(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;if(!($l(e,141122,0,65535,i)|0)){f[A+38>>1]=a[i>>2];A=0}else A=1;k=r;return A|0}function Et(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;l=k;k=k+16|0;i=l;switch((Y4(r[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N1(e+1|0,140768)|0)){A=A+36|0;f[A>>1]=f[A>>1]|4;A=0}else n=7;break}case 82:{if(!(N1(e+1|0,140763)|0)){A=A+36|0;f[A>>1]=f[A>>1]|2;A=0}else n=7;break}case 67:{if(!(N1(e+1|0,140772)|0))A=0;else n=7;break}default:n=7}if((n|0)==7){a[i>>2]=e;ao(0,140778,i)|0;A=1}k=l;return A|0}function Ct(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if(!($l(e,141720,0,127,i)|0)){r[A+88>>0]=a[i>>2];A=0}else A=1;k=f;return A|0}function It(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((r[e>>0]|0)==42){A=A+112|0;r[A>>0]=r[A>>0]|1;A=0}else{a[i>>2]=e;ao(0,141680,i)|0;A=1}k=f;return A|0}function Zt(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((r[e>>0]|0)==42){A=A+112|0;r[A>>0]=r[A>>0]|2;A=0}else{a[i>>2]=e;ao(0,141643,i)|0;A=1}k=f;return A|0}function Gt(){var A=0;A=(r[189661]|r[189660])<<24>>24;jc(a[47407]|0);uo(189644);return A|0}function Qt(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;a[47409]=0;e=0;A:do{e:do{switch(r[189663]|0){case 2:{A=-1;break A}case 0:{r[189663]=1;l=6;A=141732;e=0;break}default:{A=a[47408]|0;if(!(r[A>>0]|0)){r[189663]=2;l=7;A=141739;break e}else{e=mt(A)|0;l=e-A|0;break e}}}}while(0);a[47417]=a[47416];a[47419]=a[47418];a[47416]=A;a[47418]=l;i=a[47412]|0;f=i-(a[47411]|0)|0;n=a[47407]|0;if(!f)A=fs(n,A,l,(l|0)==0&1)|0;else{if(i>>>0<(a[47413]|0)>>>0)A=i;else{bo(189644,1)|0;A=a[47412]|0}r[A>>0]=0;A=a[47411]|0;a[47412]=A;A=fs(n,A,f,0)|0}if(!((A|0)!=0|(r[189661]|0)!=0)){n=os(us(a[47407]|0)|0)|0;l=Dl()|0;a[t>>2]=n;a[t+4>>2]=l;ao(1,140575,t)|0;Ml();r[189661]=1;a[47409]=268}if(e|0)a[47408]=e;A=a[47409]|0}while((A|0)==0);k=c;return A|0}function mt(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;e=A+1|0;i=r[A>>0]|0;A:do{if(i<<24>>24==60){i=r[e>>0]|0;if(i<<24>>24==33)if(!(Z1(A+2|0,141747,2)|0)){i=Lt(A+4|0)|0;e=i;i=r[i>>0]|0;n=8}else{i=e;n=5}else n=6;e:while(1)if((n|0)==5){e=i;i=r[i>>0]|0;n=6;continue}else if((n|0)==6){switch(i<<24>>24){case 62:case 0:{n=8;continue e}default:{}}i=e+1|0;n=5;continue}else if((n|0)==8)if(i<<24>>24==62){n=10;break}else{n=9;break}if((n|0)==9){ao(0,141750,f)|0;r[189660]=1;break}else if((n|0)==10){e=e+1|0;break}}else{e=A;A=i;while(1){switch(A<<24>>24){case 60:case 0:break A;case 38:{i=e+1|0;if((r[i>>0]|0)==35)n=15;else i=hH(i,189644)|0;break}default:n=15}if((n|0)==15){n=0;i=a[47412]|0;if(i>>>0>=(a[47413]|0)>>>0){bo(189644,1)|0;i=a[47412]|0}a[47412]=i+1;r[i>>0]=A;i=e+1|0}e=i;A=r[i>>0]|0}}}while(0);k=l;return e|0}function Lt(A){A=A|0;var e=0,i=0,f=0,a=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;a=1;e=A;A:while(1){f=(a|0)==0;i=e;e:while(1){if(f)break A;n=i+1|0;switch(r[i>>0]|0){case 0:{e=n;break A}case 60:{l=5;break e}case 62:{e=-1;break e}default:i=n}}if((l|0)==5){l=0;e=1}a=a+e|0;e=n}i=e+-1|0;do{if(r[i>>0]|0){e=e+-3|0;if(e>>>0>=A>>>0?(Z1(e,141747,2)|0)==0:0)break;ao(0,141791,t)|0;r[189660]=1}}while(0);k=c;return i|0}function Wt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;i=m2(28)|0;if(!i)i=0;else{r=0;f=0;while(1){if((r|0)>=(e|0))break;d=(a[(a[A+(r<<2)>>2]|0)+4>>2]|0)+f|0;r=r+1|0;f=d}k=i+8|0;a[k>>2]=yt(f<<4)|0;o=i+12|0;a[o>>2]=yt((e<<2)+4|0)|0;r=f<<2;h=i+16|0;a[h>>2]=yt(r)|0;r=yt(r)|0;d=i+20|0;a[d>>2]=r;a[i+4>>2]=f;a[i>>2]=e;f=0;l=0;while(1){a[(a[o>>2]|0)+(l<<2)>>2]=f;if((l|0)>=(e|0))break;c=A+(l<<2)|0;u=a[c>>2]|0;b=a[u+4>>2]|0;s=f+-1|0;n=0;t=f;w=b;while(1){if((n|0)>=(w|0))break;w=(a[k>>2]|0)+(t<<4)|0;r=(a[u>>2]|0)+(n<<4)|0;a[w>>2]=a[r>>2];a[w+4>>2]=a[r+4>>2];a[w+8>>2]=a[r+8>>2];a[w+12>>2]=a[r+12>>2];w=t+1|0;a[(a[h>>2]|0)+(t<<2)>>2]=w;r=a[d>>2]|0;a[r+(t<<2)>>2]=t+-1;B=a[c>>2]|0;n=n+1|0;t=w;w=a[B+4>>2]|0;u=B}B=s+b|0;a[(a[h>>2]|0)+(B<<2)>>2]=f;a[r+(f<<2)>>2]=B;f=t;l=l+1|0}yc(i)}return i|0}function yt(A){A=A|0;if(!A)A=0;else A=m2(A)|0;return A|0}function zt(A){A=A|0;var e=0,i=0;L2(a[A+8>>2]|0);L2(a[A+12>>2]|0);L2(a[A+16>>2]|0);L2(a[A+20>>2]|0);i=A+24|0;e=a[i>>2]|0;if(e|0){L2(a[e>>2]|0);L2(a[i>>2]|0)}L2(A);return}function Yt(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+32|0;s=o+16|0;c=o;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];w=Jc(A,i,s)|0;a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];u=Jc(A,f,s)|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];s=gc(c,i,w,s,f,u,A)|0;i=a[A+4>>2]|0;c=i+1|0;f=1;l=i;while(1){l=a[s+(l<<2)>>2]|0;b=f+1|0;if((l|0)==(c|0))break;else f=b}t=m2(b<<4)|0;l=t+(f<<4)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];A=A+8|0;while(1){i=a[s+(i<<2)>>2]|0;f=f+-1|0;l=t+(f<<4)|0;if((i|0)==(c|0))break;r=(a[A>>2]|0)+(i<<4)|0;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2]}a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];if(f|0)vA(141809,141816,148,141822);if(w|0)L2(w);if(u|0)L2(u);a[n+4>>2]=b;a[n>>2]=t;L2(s);k=o;return 1}function Dt(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;c=k;k=k+48|0;l=c+32|0;n=c+16|0;f=c;t=a[A>>2]|0;i=a[A+4>>2]|0;r=i+-1|0;A=0;while(1){if((A|0)>=(i|0)){A=1;break}s=t+(((r+A|0)%(i|0)|0)<<4)|0;b=t+(A<<4)|0;a[f>>2]=a[s>>2];a[f+4>>2]=a[s+4>>2];a[f+8>>2]=a[s+8>>2];a[f+12>>2]=a[s+12>>2];a[n>>2]=a[b>>2];a[n+4>>2]=a[b+4>>2];a[n+8>>2]=a[b+8>>2];a[n+12>>2]=a[b+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];if((Qc(f,n,l)|0)==1){A=0;break}else A=A+1|0}k=c;return A|0}function Mt(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0;g=k;k=k+64|0;s=g+48|0;b=g+32|0;h=4;c=m2(40)|0;a[c>>2]=0;w=g+16|0;u=g;o=a[i>>2]|0;t=a[i+4>>2]|0;h=L6(189680,1,c|0,h|0)|0;c=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1)i=L;else i=0;while(1){if(i|0){i=-1;break}d=0;a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];wA(28,w|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}a[r>>2]=a[w>>2];a[r+4>>2]=a[w+4>>2];a[r+8>>2]=a[w+8>>2];a[r+12>>2]=a[w+12>>2];l=r+16|0;d=0;a[s>>2]=a[l>>2];a[s+4>>2]=a[l+4>>2];a[s+8>>2]=a[l+8>>2];a[s+12>>2]=a[l+12>>2];wA(28,u|0,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}a[l>>2]=a[u>>2];a[l+4>>2]=a[u+4>>2];a[l+8>>2]=a[u+8>>2];a[l+12>>2]=a[u+12>>2];a[47459]=0;d=0;sA(115,4);i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,h|0,c|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){i=L;continue}n=a[47460]|0;i=a[47459]|0;a[47459]=i+1;i=n+(i<<4)|0;a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];d=0;a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];a[b+12>>2]=a[r+12>>2];a[s>>2]=a[l>>2];a[s+4>>2]=a[l+4>>2];a[s+8>>2]=a[l+8>>2];a[s+12>>2]=a[l+12>>2];i=tA(1,A|0,e|0,o|0,t|0,b|0,s|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,h|0,c|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1)i=L;else{v=8;break}}if((v|0)==8)if((i|0)==-1)i=-1;else{a[f+4>>2]=a[47459];a[f>>2]=a[47460];i=0}L2(h|0);k=g;return i|0}function Ft(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,l=0.0;i=+b[e>>3];r=e+8|0;f=+b[r>>3];l=f*f+i*i;n=+z(+l);if(l>1.0e-06){b[e>>3]=i/n;b[r>>3]=f/n}a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Vt(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47463]|0)<(A|0)){e=a[47460]|0;if(!e){r=m2(A<<4)|0;a[47460]=r;if(!r){r=a[15712]|0;a[i>>2]=141831;a[i+4>>2]=531;a[i+8>>2]=141966;f3(r,141839,i)|0;fe(189680,1)}}else{i=y2(e,A<<4)|0;a[47460]=i;if(!i){i=a[15712]|0;a[r>>2]=141831;a[r+4>>2]=537;a[r+8>>2]=141984;f3(i,141839,r)|0;fe(189680,1)}}a[47463]=A}k=f;return}function Jt(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0.0,j=0.0,S=0.0,P=0.0;U=k;k=k+336|0;F=U+320|0;M=U+304|0;C=U+144|0;h=U+128|0;Y=U+112|0;D=U+96|0;p=U+80|0;Q=U+64|0;L=U+48|0;V=U+32|0;J=U+16|0;N=U;I=U+288|0;Z=U+272|0;G=U+256|0;m=U+240|0;W=U+224|0;y=U+208|0;X=U+192|0;R=U+176|0;H=U+160|0;l=a[47462]|0;do{if((a[47461]|0)<(r|0)){if(!l){l=m2(r*40|0)|0;a[47462]=l;if(!l){l=-1;break}}else{l=y2(l,r*40|0)|0;a[47462]=l;if(!l){l=-1;break}}a[47461]=r;c=6}else c=6}while(0);if((c|0)==6){b[l>>3]=0.0;c=1;t=0.0;while(1){if((c|0)>=(r|0))break;w=i+(c<<4)|0;z=i+(c+-1<<4)|0;a[M>>2]=a[w>>2];a[M+4>>2]=a[w+4>>2];a[M+8>>2]=a[w+8>>2];a[M+12>>2]=a[w+12>>2];a[F>>2]=a[z>>2];a[F+4>>2]=a[z+4>>2];a[F+8>>2]=a[z+8>>2];a[F+12>>2]=a[z+12>>2];E=+Nt(M,F)+t;b[l+(c*40|0)>>3]=E;c=c+1|0;t=E}z=r+-1|0;w=l+(z*40|0)|0;c=1;while(1){if((c|0)>=(r|0))break;x=l+(c*40|0)|0;b[x>>3]=+b[x>>3]/+b[w>>3];c=c+1|0}c=0;while(1){if((c|0)>=(r|0))break;x=l+(c*40|0)+8|0;w=l+(c*40|0)|0;E=+Xt(+b[w>>3]);a[F>>2]=a[f>>2];a[F+4>>2]=a[f+4>>2];a[F+8>>2]=a[f+8>>2];a[F+12>>2]=a[f+12>>2];Rt(I,F,E);a[x>>2]=a[I>>2];a[x+4>>2]=a[I+4>>2];a[x+8>>2]=a[I+8>>2];a[x+12>>2]=a[I+12>>2];x=l+(c*40|0)+24|0;E=+Ht(+b[w>>3]);a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];Rt(Z,F,E);a[x>>2]=a[Z>>2];a[x+4>>2]=a[Z+4>>2];a[x+8>>2]=a[Z+8>>2];a[x+12>>2]=a[Z+12>>2];c=c+1|0}a[M>>2]=a[f>>2];a[M+4>>2]=a[f+4>>2];a[M+8>>2]=a[f+8>>2];a[M+12>>2]=a[f+12>>2];a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];pt(i,r,l,M,F,Y,Q,D,L);a[h>>2]=a[Y>>2];a[h+4>>2]=a[Y+4>>2];a[h+8>>2]=a[Y+8>>2];a[h+12>>2]=a[Y+12>>2];a[C>>2]=a[Q>>2];a[C+4>>2]=a[Q+4>>2];a[C+8>>2]=a[Q+8>>2];a[C+12>>2]=a[Q+12>>2];a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];if(!(Ut(A,e,h,C,M,F,i,r)|0)){a[F>>2]=a[Q>>2];a[F+4>>2]=a[Q+4>>2];a[F+8>>2]=a[Q+8>>2];a[F+12>>2]=a[Q+12>>2];Rt(G,F,.3333333333333333);a[M>>2]=a[Y>>2];a[M+4>>2]=a[Y+4>>2];a[M+8>>2]=a[Y+8>>2];a[M+12>>2]=a[Y+12>>2];a[F>>2]=a[G>>2];a[F+4>>2]=a[G+4>>2];a[F+8>>2]=a[G+8>>2];a[F+12>>2]=a[G+12>>2];xt(m,M,F);E=+b[m>>3];g=+b[m+8>>3];a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];Rt(W,F,.3333333333333333);a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];a[F>>2]=a[W>>2];a[F+4>>2]=a[W+4>>2];a[F+8>>2]=a[W+8>>2];a[F+12>>2]=a[W+12>>2];Tt(y,M,F);v=+b[y>>3];o=+b[y+8>>3];h=a[47462]|0;d=+b[Y>>3];B=+b[D>>3];u=+b[Y+8>>3];s=+b[D+8>>3];w=p+8|0;l=-1;t=-1.0;c=1;while(1){if((c|0)>=(z|0))break;T=+b[h+(c*40|0)>>3];j=+jt(T);S=+Xt(T);P=+Ht(T);T=+St(T);b[p>>3]=S*E+d*j+P*v+B*T;b[w>>3]=P*o+S*g+u*j+s*T;x=i+(c<<4)|0;a[M>>2]=a[p>>2];a[M+4>>2]=a[p+4>>2];a[M+8>>2]=a[p+8>>2];a[M+12>>2]=a[p+12>>2];a[F>>2]=a[x>>2];a[F+4>>2]=a[x+4>>2];a[F+8>>2]=a[x+8>>2];a[F+12>>2]=a[x+12>>2];T=+Nt(M,F);x=T>t;l=x?c:l;t=x?T:t;c=c+1|0}x=i+(l<<4)|0;p=i+(l+-1<<4)|0;a[M>>2]=a[x>>2];a[M+4>>2]=a[x+4>>2];a[M+8>>2]=a[x+8>>2];a[M+12>>2]=a[x+12>>2];a[F>>2]=a[p>>2];a[F+4>>2]=a[p+4>>2];a[F+8>>2]=a[p+8>>2];a[F+12>>2]=a[p+12>>2];Tt(X,M,F);a[F>>2]=a[X>>2];a[F+4>>2]=a[X+4>>2];a[F+8>>2]=a[X+8>>2];a[F+12>>2]=a[X+12>>2];Ft(J,F);p=l+1|0;X=i+(p<<4)|0;a[M>>2]=a[X>>2];a[M+4>>2]=a[X+4>>2];a[M+8>>2]=a[X+8>>2];a[M+12>>2]=a[X+12>>2];a[F>>2]=a[x>>2];a[F+4>>2]=a[x+4>>2];a[F+8>>2]=a[x+8>>2];a[F+12>>2]=a[x+12>>2];Tt(R,M,F);a[F>>2]=a[R>>2];a[F+4>>2]=a[R+4>>2];a[F+8>>2]=a[R+8>>2];a[F+12>>2]=a[R+12>>2];Ft(N,F);a[M>>2]=a[J>>2];a[M+4>>2]=a[J+4>>2];a[M+8>>2]=a[J+8>>2];a[M+12>>2]=a[J+12>>2];a[F>>2]=a[N>>2];a[F+4>>2]=a[N+4>>2];a[F+8>>2]=a[N+8>>2];a[F+12>>2]=a[N+12>>2];xt(H,M,F);a[F>>2]=a[H>>2];a[F+4>>2]=a[H+4>>2];a[F+8>>2]=a[H+8>>2];a[F+12>>2]=a[H+12>>2];Ft(V,F);a[M>>2]=a[f>>2];a[M+4>>2]=a[f+4>>2];a[M+8>>2]=a[f+8>>2];a[M+12>>2]=a[f+12>>2];a[F>>2]=a[V>>2];a[F+4>>2]=a[V+4>>2];a[F+8>>2]=a[V+8>>2];a[F+12>>2]=a[V+12>>2];Jt(A,e,i,p,M,F)|0;a[M>>2]=a[V>>2];a[M+4>>2]=a[V+4>>2];a[M+8>>2]=a[V+8>>2];a[M+12>>2]=a[V+12>>2];a[F>>2]=a[n>>2];a[F+4>>2]=a[n+4>>2];a[F+8>>2]=a[n+8>>2];a[F+12>>2]=a[n+12>>2];Jt(A,e,x,r-l|0,M,F)|0;l=0}else l=0}k=U;return l|0}function Nt(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[e>>3]-+b[A>>3];r=+b[e+8>>3]-+b[A+8>>3];return+ +z(+(r*r+i*i))}function Xt(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(A*3.0))}function Rt(A,e,i){A=A|0;e=e|0;i=+i;var r=0;b[e>>3]=+b[e>>3]*i;r=e+8|0;b[r>>3]=+b[r>>3]*i;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Ht(A){A=+A;return+(A*A*3.0*(1.0-A))}function pt(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0.0,G=0.0,Q=0.0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0.0,F=0,V=0,J=0,N=0;Y=k;k=k+128|0;m=Y+112|0;E=Y+80|0;g=Y;d=Y+96|0;B=Y+64|0;v=Y+48|0;L=Y+32|0;W=Y+16|0;y=A+(e+-1<<4)|0;h=0;C=0.0;I=0.0;Z=0.0;G=0.0;Q=0.0;while(1){if((h|0)>=(e|0))break;V=i+(h*40|0)+8|0;a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];D=+$t(E,m)+I;F=i+(h*40|0)+24|0;a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[F>>2];a[m+4>>2]=a[F+4>>2];a[m+8>>2]=a[F+8>>2];a[m+12>>2]=a[F+12>>2];o=+$t(E,m)+Q;a[E>>2]=a[F>>2];a[E+4>>2]=a[F+4>>2];a[E+8>>2]=a[F+8>>2];a[E+12>>2]=a[F+12>>2];a[m>>2]=a[F>>2];a[m+4>>2]=a[F+4>>2];a[m+8>>2]=a[F+8>>2];a[m+12>>2]=a[F+12>>2];u=+$t(E,m)+Z;J=A+(h<<4)|0;N=i+(h*40|0)|0;M=+Ac(+b[N>>3]);a[m>>2]=a[A>>2];a[m+4>>2]=a[A+4>>2];a[m+8>>2]=a[A+8>>2];a[m+12>>2]=a[A+12>>2];Rt(B,m,M);M=+ec(+b[N>>3]);a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];Rt(v,m,M);a[E>>2]=a[B>>2];a[E+4>>2]=a[B+4>>2];a[E+8>>2]=a[B+8>>2];a[E+12>>2]=a[B+12>>2];a[m>>2]=a[v>>2];a[m+4>>2]=a[v+4>>2];a[m+8>>2]=a[v+8>>2];a[m+12>>2]=a[v+12>>2];xt(d,E,m);a[E>>2]=a[J>>2];a[E+4>>2]=a[J+4>>2];a[E+8>>2]=a[J+8>>2];a[E+12>>2]=a[J+12>>2];a[m>>2]=a[d>>2];a[m+4>>2]=a[d+4>>2];a[m+8>>2]=a[d+8>>2];a[m+12>>2]=a[d+12>>2];Tt(g,E,m);a[E>>2]=a[V>>2];a[E+4>>2]=a[V+4>>2];a[E+8>>2]=a[V+8>>2];a[E+12>>2]=a[V+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];M=+$t(E,m)+C;a[E>>2]=a[F>>2];a[E+4>>2]=a[F+4>>2];a[E+8>>2]=a[F+8>>2];a[E+12>>2]=a[F+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];h=h+1|0;C=M;I=D;Z=u;G=+$t(E,m)+G;Q=o}u=Z*I-Q*Q;o=u>=0.0?u:-u;if(!(o>=1.0e-06?(s=(Z*C-Q*G)/u,w=(I*G-Q*C)/u,!(o<1.0e-06|s<=0.0|w<=0.0)):0))z=6;if((z|0)==6){a[E>>2]=a[A>>2];a[E+4>>2]=a[A+4>>2];a[E+8>>2]=a[A+8>>2];a[E+12>>2]=a[A+12>>2];a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];s=+Nt(E,m)*.3333333333333333;w=s}a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[m>>2]=a[r>>2];a[m+4>>2]=a[r+4>>2];a[m+8>>2]=a[r+8>>2];a[m+12>>2]=a[r+12>>2];Rt(L,m,s);a[l>>2]=a[L>>2];a[l+4>>2]=a[L+4>>2];a[l+8>>2]=a[L+8>>2];a[l+12>>2]=a[L+12>>2];a[t>>2]=a[y>>2];a[t+4>>2]=a[y+4>>2];a[t+8>>2]=a[y+8>>2];a[t+12>>2]=a[y+12>>2];a[m>>2]=a[f>>2];a[m+4>>2]=a[f+4>>2];a[m+8>>2]=a[f+8>>2];a[m+12>>2]=a[f+12>>2];Rt(W,m,w);a[c>>2]=a[W>>2];a[c+4>>2]=a[W+4>>2];a[c+8>>2]=a[W+8>>2];a[c+12>>2]=a[W+12>>2];k=Y;return}function Ut(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0.0,B=0.0,v=0,g=0.0,E=0,C=0.0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0.0,y=0;L=k;k=k+64|0;m=L;G=(t|0)==2;Z=+b[i>>3];g=+b[i+8>>3];E=m+8|0;C=+b[r>>3];I=m+16|0;o=+b[r+8>>3];h=m+24|0;d=+b[f>>3];B=+b[n>>3];v=m+32|0;u=+b[f+8>>3];w=+b[n+8>>3];r=m+40|0;f=m+48|0;n=m+56|0;i=1;c=4.0;s=4.0;while(1){b[m>>3]=Z;b[E>>3]=g;W=s*.3333333333333333;b[I>>3]=W*C+Z;b[h>>3]=W*o+g;W=c*.3333333333333333;b[v>>3]=d-W*B;b[r>>3]=u-W*w;b[f>>3]=d;b[n>>3]=u;if(i?(W=+Pt(m,4),W<+Pt(l,t)+-.001):0){i=0;break}if(Ot(A,e,m)|0){Q=5;break}if(s==0.0&c==0.0){Q=9;break}y=s>.01;i=0;c=y?c*.5:0.0;s=y?s*.5:0.0}A:do{if((Q|0)==5){Vt((a[47459]|0)+4|0);r=a[47460]|0;i=1;while(1){if((i|0)==4){i=1;break A}y=a[47459]|0;b[r+(y<<4)>>3]=+b[m+(i<<4)>>3];W=+b[m+(i<<4)+8>>3];a[47459]=y+1;b[r+(y<<4)+8>>3]=W;i=i+1|0}}else if((Q|0)==9)if(G){Vt((a[47459]|0)+4|0);r=a[47460]|0;i=1;while(1){if((i|0)==4){i=1;break A}y=a[47459]|0;b[r+(y<<4)>>3]=+b[m+(i<<4)>>3];W=+b[m+(i<<4)+8>>3];a[47459]=y+1;b[r+(y<<4)+8>>3]=W;i=i+1|0}}else i=0}while(0);k=L;return i|0}function xt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]+ +b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]+ +b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function Tt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;b[e>>3]=+b[e>>3]-+b[i>>3];r=e+8|0;b[r>>3]=+b[r>>3]-+b[i+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function jt(A){A=+A;A=1.0-A;return+(A*A*A)}function St(A){A=+A;return+(A*A*A)}function Pt(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,n=0;i=0.0;r=1;while(1){if((r|0)>=(e|0))break;n=r+-1|0;f=+b[A+(r<<4)>>3]-+b[A+(n<<4)>>3];a=+b[A+(r<<4)+8>>3]-+b[A+(n<<4)+8>>3];i=+z(+(a*a+f*f))+i;r=r+1|0}return+i}function Ot(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0;L=k;k=k+64|0;v=L+32|0;g=L;C=g+16|0;Z=i+16|0;G=i+32|0;Q=i+48|0;m=i+8|0;n=i+24|0;l=i+40|0;t=i+56|0;c=g+8|0;s=g+24|0;f=0;A:while(1){if((f|0)>=(e|0)){r=1;break}w=A+(f<<5)|0;a[g>>2]=a[w>>2];a[g+4>>2]=a[w+4>>2];a[g+8>>2]=a[w+8>>2];a[g+12>>2]=a[w+12>>2];w=A+(f<<5)+16|0;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];w=Kt(i,g,v)|0;e:do{if((w|0)!=4){u=+b[g>>3];o=+b[c>>3];h=+b[C>>3];d=+b[s>>3];r=0;while(1){if((r|0)>=(w|0))break e;B=+b[v+(r<<3)>>3];if((!(B<1.0e-06|B>.999999)?(I=B*B*B,y=B*3.0,W=1.0-B,B=y*B*W,E=W*W,y=E*y,W=E*W,E=+b[Z>>3]*y+ +b[i>>3]*W+ +b[G>>3]*B+ +b[Q>>3]*I,I=+b[n>>3]*y+ +b[m>>3]*W+ +b[l>>3]*B+ +b[t>>3]*I,B=E-u,W=I-o,!(W*W+B*B<.001)):0)?(y=E-h,W=I-d,!(W*W+y*y<.001)):0){r=0;break A}r=r+1|0}}}while(0);f=f+1|0}k=L;return r|0}function Kt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+96|0;B=E+48|0;v=E+24|0;c=E;g=E+80|0;o=+b[e>>3];n=+b[e+16>>3]-o;h=+b[e+8>>3];t=+b[e+24>>3]-h;a[g>>2]=0;A:do{if(!(n==0.0)){t=t/n;s=A+16|0;w=A+32|0;u=A+48|0;_t(+b[A+8>>3]-+b[A>>3]*t,+b[A+24>>3]-+b[s>>3]*t,+b[A+40>>3]-+b[w>>3]*t,+b[A+56>>3]-+b[u>>3]*t,B);b[B>>3]=t*o-h+ +b[B>>3];r=Ec(B,v)|0;if((r|0)==4)e=4;else{f=B+8|0;l=B+16|0;c=B+24|0;n=1.0/n;e=0;while(1){if((e|0)>=(r|0))break;t=+b[v+(e<<3)>>3];if(t>=0.0&t<=1.0?(_t(+b[A>>3],+b[s>>3],+b[w>>3],+b[u>>3],B),h=(+b[B>>3]-o+((+b[c>>3]*t+ +b[l>>3])*t+ +b[f>>3])*t)*n,h>=0.0&h<=1.0):0)qt(t,i,g);e=e+1|0}e=a[g>>2]|0}}else{_t(+b[A>>3],+b[A+16>>3],+b[A+32>>3],+b[A+48>>3],B);b[B>>3]=+b[B>>3]-o;d=Ec(B,v)|0;if(!(t==0.0)){if((d|0)==4){e=4;break}s=A+8|0;w=A+24|0;u=A+40|0;r=A+56|0;f=B+8|0;l=B+16|0;c=B+24|0;n=1.0/t;e=0;while(1){if((e|0)>=(d|0))break;t=+b[v+(e<<3)>>3];if(t>=0.0&t<=1.0?(_t(+b[s>>3],+b[w>>3],+b[u>>3],+b[r>>3],B),o=(+b[B>>3]-h+((+b[c>>3]*t+ +b[l>>3])*t+ +b[f>>3])*t)*n,o>=0.0&o<=1.0):0)qt(t,i,g);e=e+1|0}e=a[g>>2]|0;break}_t(+b[A+8>>3],+b[A+24>>3],+b[A+40>>3],+b[A+56>>3],B);b[B>>3]=+b[B>>3]-h;l=Ec(B,c)|0;e=(l|0)==4;e:do{if((d|0)==4){if(e){e=4;break A}else e=0;while(1){if((e|0)>=(l|0))break e;qt(+b[c+(e<<3)>>3],i,g);e=e+1|0}}else{if(e){e=0;while(1){if((e|0)>=(d|0))break e;qt(+b[v+(e<<3)>>3],i,g);e=e+1|0}}else r=0;while(1){if((r|0)>=(d|0))break e;f=v+(r<<3)|0;e=0;while(1){if((e|0)>=(l|0))break;n=+b[f>>3];if(n==+b[c+(e<<3)>>3])qt(n,i,g);e=e+1|0}r=r+1|0}}}while(0);e=a[g>>2]|0}}while(0);k=E;return e|0}function _t(A,e,i,r,f){A=+A;e=+e;i=+i;r=+r;f=f|0;b[f+24>>3]=r-A+(e-i)*3.0;b[f+16>>3]=(i+A)*3.0-e*6.0;b[f+8>>3]=(e-A)*3.0;b[f>>3]=A;return}function qt(A,e,i){A=+A;e=e|0;i=i|0;var r=0;if(A>=0.0&A<=1.0){r=a[i>>2]|0;b[e+(r<<3)>>3]=A;a[i>>2]=r+1}return}function $t(A,e){A=A|0;e=e|0;return+(+b[e+8>>3]*+b[A+8>>3]+ +b[e>>3]*+b[A>>3])}function Ac(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(e+A*3.0))}function ec(A){A=+A;return+(A*A*((1.0-A)*3.0+A))}function ic(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0,M=0.0;D=k;k=k+112|0;y=D+80|0;W=D+64|0;m=D+48|0;Y=4;z=m2(40)|0;a[z>>2]=0;E=D+32|0;I=D+16|0;Z=D;G=D+96|0;Y=L6(189856,1,z|0,Y|0)|0;z=L;d=0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1)r=L;else r=0;A:while(1){if(r|0){r=-2;break}n=A+4|0;d=0;sA(116,a[n>>2]|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}a[47503]=0;a[47504]=0;d=0;sA(117,a[n>>2]<<1|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}s=(a[47506]|0)/2|0;a[47507]=s;a[47508]=s+-1;s=a[n>>2]|0;n=a[A>>2]|0;r=0;f=-1;l=C;while(1){if((r|0)>=(s|0))break;M=+b[n+(r<<4)>>3];g=l>M;v=g?r:f;r=r+1|0;f=v;l=g?M:l}g=n+(f<<4)|0;a[I>>2]=a[g>>2];a[I+4>>2]=a[g+4>>2];a[I+8>>2]=a[g+8>>2];a[I+12>>2]=a[g+12>>2];g=n+(((f|0)==0?s:f)+-1<<4)|0;a[E>>2]=a[g>>2];a[E+4>>2]=a[g+4>>2];a[E+8>>2]=a[g+8>>2];a[E+12>>2]=a[g+12>>2];g=n+(((f|0)==(s+-1|0)?0:f+1|0)<<4)|0;a[Z>>2]=a[g>>2];a[Z+4>>2]=a[g+4>>2];a[Z+8>>2]=a[g+8>>2];a[Z+12>>2]=a[g+12>>2];M=+b[I>>3];if((+b[E>>3]==M?M==+b[Z>>3]:0)?+b[Z+8>>3]>+b[I+8>>3]:0)g=15;else g=12;e:do{if((g|0)==12){g=0;d=0;r=aA(36,E|0,I|0,Z|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,Y|0,z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((r|0)==1){n=a[47510]|0;r=a[47511]|0;f=0;while(1){if((f|0)>=(s|0))break e;t=a[A>>2]|0;if(!(((f|0)>0?(Q=f+-1|0,+b[t+(f<<4)>>3]==+b[t+(Q<<4)>>3]):0)?+b[t+(f<<4)+8>>3]==+b[t+(Q<<4)+8>>3]:0)){v=a[47503]|0;a[n+(v<<3)>>2]=t+(f<<4);a[n+(v<<3)+4>>2]=n+(((v|0)%(s|0)|0)<<3);a[r+(v<<2)>>2]=n+(v<<3);a[47503]=v+1}f=f+1|0}}else g=15}}while(0);e:do{if((g|0)==15){g=0;t=a[47510]|0;r=a[47511]|0;n=s;while(1){f=n+-1|0;if((n|0)<=0)break e;c=a[A>>2]|0;if(((n|0)<(s|0)?+b[c+(f<<4)>>3]==+b[c+(n<<4)>>3]:0)?+b[c+(f<<4)+8>>3]==+b[c+(n<<4)+8>>3]:0){n=f;continue}n=a[47503]|0;a[t+(n<<3)>>2]=c+(f<<4);a[t+(n<<3)+4>>2]=t+(((n|0)%(s|0)|0)<<3);a[r+(n<<2)>>2]=t+(n<<3);a[47503]=n+1;n=f}}}while(0);d=0;wA(29,r|0,a[47503]|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}t=0;r=a[47504]|0;e:while(1){if((t|0)>=(r|0)){h=0;break}c=t+1|0;n=c;while(1){if((n|0)>=(r|0)){t=c;continue e}d=0;wA(30,t|0,n|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue A}n=n+1|0;r=a[47504]|0}}while(1){if((h|0)>=(r|0))break;d=0;f=rA(105,h|0,e|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}if(f|0)break;h=h+1|0}if((h|0)==(r|0)){r=a[15712]|0;d=0;a[m>>2]=141858;a[m+4>>2]=192;a[m+8>>2]=141869;aA(32,r|0,141839,m|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=41;break}}v=e+16|0;c=0;while(1){if((c|0)>=(r|0))break;d=0;f=rA(105,c|0,v|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}if(f|0)break;c=c+1|0}if((c|0)==(r|0)){r=a[15712]|0;d=0;a[W>>2]=141858;a[W+4>>2]=200;a[W+8>>2]=141902;aA(32,r|0,141839,W|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=48;break}}d=0;r=rA(106,h|0,c|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,Y|0,z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue}if(!r){r=a[15712]|0;d=0;a[y>>2]=141858;a[y+4>>2]=207;a[y+8>>2]=141940;aA(32,r|0,141839,y|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}d=0;sA(118,2);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=53;break}}if((h|0)==(c|0)){d=0;sA(118,2);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,Y|0,z|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){r=L;continue}else{g=56;break}}a[G>>2]=e;a[G+4>>2]=0;f=G+8|0;a[f>>2]=v;a[G+12>>2]=0;d=0;wA(31,1,G|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue}a[47509]=a[47507];u=h;e:while(1){if((u|0)==-1){n=f;r=0;break}o=a[47513]|0;a[o+(u*52|0)>>2]=2;r=0;while(1){if((r|0)>=3){g=65;break}g=a[o+(u*52|0)+4+(r<<4)+12>>2]|0;if(g|0?(a[g>>2]|0)==1:0){g=68;break}r=r+1|0}if((g|0)==65){g=0;if((r|0)==3){r=a[47505]|0;c=a[r+(a[47508]<<2)>>2]|0;d=0;r=aA(36,v|0,a[a[r+(a[47507]<<2)>>2]>>2]|0,a[c>>2]|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}t=(r|0)==1;w=t?f:c;t=t?c:f}else g=68}if((g|0)==68){g=0;c=a[o+(u*52|0)+4+(r<<4)>>2]|0;s=a[o+(u*52|0)+4+(r<<4)+4>>2]|0;d=0;r=aA(36,a[c>>2]|0,a[a[o+(u*52|0)+4+(((r+1|0)%3|0)<<4)+4>>2]>>2]|0,a[s>>2]|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){r=L;continue A}t=(r|0)==1;w=t?c:s;t=t?s:c}do{if((u|0)==(h|0)){d=0;wA(31,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,1,w|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}r=0}else{s=a[47505]|0;if((a[s+(a[47507]<<2)>>2]|0)!=(w|0)?(a[s+(a[47508]<<2)>>2]|0)!=(w|0):0){d=0;t=iA(34,w|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(32,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,1,w|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((t|0)<=(a[47509]|0)){r=0;break}a[47509]=t;r=0;break}d=0;c=iA(34,t|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(32,1,c|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}d=0;wA(31,2,t|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,Y|0,z|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){r=L;continue A}if((c|0)>=(a[47509]|0)){r=0;break}a[47509]=c;r=0}}while(0);while(1){if((r|0)>=3){u=-1;continue e}n=a[o+(u*52|0)+4+(r<<4)+12>>2]|0;if(n|0?(a[n>>2]|0)==1:0)break;r=r+1|0}u=(n-(a[47513]|0)|0)/52|0}while(1){if(!n)break;n=a[n+4>>2]|0;r=r+1|0}d=0;sA(118,r|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,Y|0,z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1)r=L;else{g=94;break}}if((g|0)==41)r=-1;else if((g|0)==48)r=-1;else if((g|0)==53){a[i+4>>2]=2;r=a[47512]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];z=r+16|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];a[i>>2]=r;r=0}else if((g|0)==56){a[i+4>>2]=2;r=a[47512]|0;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];z=r+16|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];a[i>>2]=r;r=0}else if((g|0)==94){a[i+4>>2]=r;n=a[47512]|0;while(1){r=r+-1|0;if(!f)break;z=n+(r<<4)|0;y=a[f>>2]|0;a[z>>2]=a[y>>2];a[z+4>>2]=a[y+4>>2];a[z+8>>2]=a[y+8>>2];a[z+12>>2]=a[y+12>>2];f=a[f+4>>2]|0}a[i>>2]=n;r=0}L2(Y|0);k=D;return r|0}function rc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+64|0;r=l+48|0;n=l+32|0;f=l+16|0;i=l;if((a[47516]|0)<(A|0)){e=a[47510]|0;if(!e){n=m2(A<<3)|0;a[47510]=n;if(!n){n=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=523;a[i+8>>2]=142108;f3(n,141839,i)|0;fe(189856,1)}n=m2(A<<2)|0;a[47511]=n;if(!n){n=a[15712]|0;a[f>>2]=141858;a[f+4>>2]=527;a[f+8>>2]=142127;f3(n,141839,f)|0;fe(189856,1)}}else{f=y2(e,A<<3)|0;a[47510]=f;if(!f){f=a[15712]|0;a[n>>2]=141858;a[n+4>>2]=533;a[n+8>>2]=142147;f3(f,141839,n)|0;fe(189856,1)}n=y2(a[47511]|0,A<<2)|0;a[47511]=n;if(!n){n=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=539;a[r+8>>2]=142167;f3(n,141839,r)|0;fe(189856,1)}}a[47516]=A}k=l;return}function fc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47506]|0)<(A|0)){e=a[47505]|0;if(!e){r=m2(A<<2)|0;a[47505]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=573;a[i+8>>2]=142063;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A<<2)|0;a[47505]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=580;a[r+8>>2]=142085;f3(i,141839,r)|0;fe(189856,1)}}a[47506]=A}k=f;return}function ac(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];r=(+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r);return(r>0.0?1:r<0.0?2:3)|0}function nc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;A:while(1){if((e|0)>3)r=0;else{e=9;break}while(1){if((r|0)>=(e|0)){e=8;break A}f=r+1|0;i=(f|0)%(e|0)|0;n=(r+2|0)%(e|0)|0;if(!(kc(r,n,A,e)|0))r=f;else break}oc(a[A+(r<<2)>>2]|0,a[A+(i<<2)>>2]|0,a[A+(n<<2)>>2]|0);e=e+-1|0;while(1){if((i|0)>=(e|0))continue A;n=i+1|0;a[A+(i<<2)>>2]=a[A+(n<<2)>>2];i=n}}if((e|0)==8){A=a[15712]|0;a[l>>2]=141858;a[l+4>>2]=324;a[l+8>>2]=142003;f3(A,141839,l)|0}else if((e|0)==9)oc(a[A>>2]|0,a[A+4>>2]|0,a[A+8>>2]|0);k=t;return}function lc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;t=a[47513]|0;c=t+(A*52|0)|0;b=t+(e*52|0)|0;n=0;while(1){if((n|0)==3)break;s=t+(A*52|0)+4+(n<<4)|0;w=t+(A*52|0)+4+(n<<4)+4|0;u=t+(A*52|0)+4+(n<<4)+12|0;f=0;while(1){if((f|0)==3)break;k=a[a[s>>2]>>2]|0;l=a[a[t+(e*52|0)+4+(f<<4)>>2]>>2]|0;if((k|0)==(l|0)){i=a[a[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;if((a[a[w>>2]>>2]|0)==(i|0))r=10;else r=8}else{i=a[a[t+(e*52|0)+4+(f<<4)+4>>2]>>2]|0;r=8}if(((r|0)==8?(r=0,(k|0)==(i|0)):0)?(a[a[w>>2]>>2]|0)==(l|0):0)r=10;if((r|0)==10){a[u>>2]=b;a[t+(e*52|0)+4+(f<<4)+12>>2]=c}f=f+1|0}n=n+1|0}return}function tc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=a[47513]|0;i=0;r=0;while(1){if((r|0)==3)break;i=i+((ac(a[a[f+(A*52|0)+4+(r<<4)>>2]>>2]|0,a[a[f+(A*52|0)+4+(r<<4)+4>>2]>>2]|0,e)|0)!=2&1)|0;r=r+1|0}return((i|0)==3|(i|0)==0)&1|0}function cc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[47513]|0;r=i+(A*52|0)|0;A:do{if(!(a[r>>2]|0)){a[r>>2]=1;if((A|0)==(e|0))i=1;else{f=0;while(1){if((f|0)>=3)break;r=a[i+(A*52|0)+4+(f<<4)+12>>2]|0;if(r){if(cc((r-i|0)/52|0,e)|0){i=1;break A}i=a[47513]|0}f=f+1|0}a[i+(A*52|0)>>2]=0;i=0}}else i=0}while(0);return i|0}function bc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47514]|0)<(A|0)){e=a[47512]|0;if(!e){r=m2(A<<4)|0;a[47512]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=593;a[i+8>>2]=141966;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A<<4)|0;a[47512]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=599;a[r+8>>2]=141984;f3(i,141839,r)|0;fe(189856,1)}}a[47514]=A}k=f;return}function sc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[47508]|0;r=a[47507]|0;f=(i|0)>=(r|0);if((A|0)==1)if(f){a[e+4>>2]=a[(a[47505]|0)+(r<<2)>>2];A=190028;i=-1}else{A=190028;i=-1}else if(f){a[e+4>>2]=a[(a[47505]|0)+(i<<2)>>2];A=190032;i=1}else{A=190032;i=1}f=(a[A>>2]|0)+i|0;a[A>>2]=f;a[(a[47505]|0)+(f<<2)>>2]=e;return}function wc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[47509]|0;n=a[47505]|0;e=a[47507]|0;while(1){if((e|0)>=(f|0)){r=4;break}i=e+1|0;if((ac(a[a[n+(i<<2)>>2]>>2]|0,a[a[n+(e<<2)>>2]>>2]|0,a[A>>2]|0)|0)==1)break;else e=i}A:do{if((r|0)==4){e=a[47508]|0;while(1){if((e|0)<=(f|0)){e=f;break A}i=e+-1|0;if((ac(a[a[n+(i<<2)>>2]>>2]|0,a[a[n+(e<<2)>>2]>>2]|0,a[A>>2]|0)|0)==2)break;else e=i}}}while(0);return e|0}function uc(A,e){A=A|0;e=e|0;a[((A|0)==1?190032:190028)>>2]=e;return}function kc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;f=a[a[i+(((A+-1+r|0)%(r|0)|0)<<2)>>2]>>2]|0;t=a[a[i+(A<<2)>>2]>>2]|0;n=a[a[i+(((A+1|0)%(r|0)|0)<<2)>>2]>>2]|0;b=(ac(f,t,n)|0)==1;c=a[a[i+(e<<2)>>2]>>2]|0;if(b)if((ac(t,c,f)|0)==1){f=ac(c,t,n)|0;n=1;l=5}else f=0;else{f=ac(t,c,n)|0;n=2;l=5}A:do{if((l|0)==5)if((f|0)==(n|0)){f=0;while(1){if((f|0)>=(r|0)){f=1;break A}n=f;f=f+1|0;l=(f|0)%(r|0)|0;if((l|0)==(e|0)|((n|0)==(e|0)|((n|0)==(A|0)|(l|0)==(A|0))))continue;if(dc(t,c,a[a[i+(n<<2)>>2]>>2]|0,a[a[i+(l<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0}while(0);return f|0}function oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=a[47504]|0;f=a[47515]|0;if((r|0)<(f|0))l=r;else{hc(f+20|0);l=a[47504]|0}n=a[47513]|0;a[47504]=l+1;f=n+(l*52|0)|0;a[f>>2]=0;a[n+(l*52|0)+4>>2]=A;a[n+(l*52|0)+8>>2]=e;a[n+(l*52|0)+16>>2]=0;a[n+(l*52|0)+20>>2]=e;a[n+(l*52|0)+24>>2]=i;a[n+(l*52|0)+32>>2]=0;a[n+(l*52|0)+36>>2]=i;a[n+(l*52|0)+40>>2]=A;a[n+(l*52|0)+48>>2]=0;r=0;while(1){if((r|0)==3)break;a[n+(l*52|0)+4+(r<<4)+8>>2]=f;r=r+1|0}return}function hc(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+32|0;r=f+16|0;i=f;if((a[47515]|0)<(A|0)){e=a[47513]|0;if(!e){r=m2(A*52|0)|0;a[47513]=r;if(!r){r=a[15712]|0;a[i>>2]=141858;a[i+4>>2]=552;a[i+8>>2]=142024;f3(r,141839,i)|0;fe(189856,1)}}else{i=y2(e,A*52|0)|0;a[47513]=i;if(!i){i=a[15712]|0;a[r>>2]=141858;a[r+4>>2]=558;a[r+8>>2]=142043;f3(i,141839,r)|0;fe(189856,1)}}a[47515]=A}k=f;return}function dc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,l=0;a=ac(A,e,i)|0;if((((a|0)!=3?(n=ac(A,e,r)|0,(n|0)!=3):0)?(l=ac(i,r,A)|0,(l|0)!=3):0)?(f=ac(i,r,e)|0,(f|0)!=3):0)return((a|0)==1^(n|0)==1)&((l|0)==1^(f|0)==1)&1|0;if(((Bc(A,e,i)|0)==0?(Bc(A,e,r)|0)==0:0)?(Bc(i,r,A)|0)==0:0)return(Bc(i,r,e)|0)!=0|0;return 1}function Bc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;f=+b[A>>3];n=+b[e>>3]-f;a=+b[A+8>>3];r=+b[e+8>>3]-a;f=+b[i>>3]-f;a=+b[i+8>>3]-a;if((ac(A,e,i)|0)==3?a*r+f*n>=0.0:0)A=a*a+f*f<=r*r+n*n&1;else A=0;return A|0}function vc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;w=m2(i<<2)|0;u=m2((i<<3)+8|0)|0;k=u+8|0;f=0;while(1){if((f|0)>=(i|0))break;a[w+(f<<2)>>2]=-1;b[k+(f<<3)>>3]=-2147483647.0;f=f+1|0}b[u>>3]=-2147483648.0;A:while(1){if((A|0)==(e|0))break;s=k+(A<<3)|0;t=+b[s>>3];b[s>>3]=t==-2147483647.0?0.0:-t;c=0;f=-1;while(1){if((c|0)>=(i|0)){A=f;continue A}l=k+(c<<3)|0;n=+b[l>>3];if(n<0.0){h=(A|0)<(c|0);o=+b[(a[r+((h?c:A)<<2)>>2]|0)+((h?A:c)<<3)>>3];t=-(o+ +b[s>>3]);if(o!=0.0&n>3]=t;a[w+(c<<2)>>2]=A;n=t}f=n>+b[k+(f<<3)>>3]?c:f}c=c+1|0}}L2(u);return w|0}function gc(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0;c=k;k=k+32|0;b=c+16|0;s=c;t=a[l+4>>2]|0;a[s>>2]=a[A>>2];a[s+4>>2]=a[A+4>>2];a[s+8>>2]=a[A+8>>2];a[s+12>>2]=a[A+12>>2];a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];a[b+12>>2]=a[r+12>>2];if(!(Xc(s,e,b,f,l)|0)){A=a[l+24>>2]|0;a[A+(t<<2)>>2]=n;s=t+1|0;a[A+(s<<2)>>2]=i;A=vc(s,t,t+2|0,A)|0}else{A=m2((t<<2)+8|0)|0;s=t+1|0;a[A+(t<<2)>>2]=s;a[A+(s<<2)>>2]=-1}k=c;return A|0}function Ec(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0;r=+b[A+24>>3];A:do{if(r<1.0e-07&r>-1.0e-07)A=Cc(A,e)|0;else{n=+b[A+16>>3]/(r*3.0);a=+b[A+8>>3]/r;f=n*n;r=n*2.0*f-n*a+ +b[A>>3]/r;f=a*.3333333333333333-f;f=f*f*4.0*f;a=r*r+f;if(!(a<0.0)){l=(+z(+a)-r)*.5;f=+w1(l);r=+w1(-r-l)+f;b[e>>3]=r;if(a>0.0)A=1;else{r=r*-.5;b[e+16>>3]=r;A=1;i=7}}else{l=+X(+ +z(+-a),+-r);r=+w1(+z(+-f)*.5)*2.0;b[e>>3]=r*+D(+(l*.3333333333333333));b[e+8>>3]=+D(+((l+6.283185307179586)*.3333333333333333))*r;r=+D(+((l+-6.283185307179586)*.3333333333333333))*r;A=2;i=7}if((i|0)==7){b[e+(A<<3)>>3]=r;A=3}i=0;while(1){if((i|0)>=(A|0))break A;t=e+(i<<3)|0;b[t>>3]=+b[t>>3]-n;i=i+1|0}}}while(0);return A|0}function Cc(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+16>>3];do{if(!(i<1.0e-07&i>-1.0e-07)){r=+b[A+8>>3]/(i*2.0);i=r*r-+b[A>>3]/i;if(!(i<0.0))if(i==0.0){b[e>>3]=-r;A=1;break}else{i=+z(+i)-r;b[e>>3]=i;b[e+8>>3]=r*-2.0-i;A=2;break}else A=0}else A=Ic(A,e)|0}while(0);return A|0}function Ic(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A+8>>3];i=+b[A>>3];if(r<1.0e-07&r>-1.0e-07)A=i<1.0e-07&i>-1.0e-07?4:0;else{b[e>>3]=-i/r;A=1}return A|0}function Zc(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function Gc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;r=a[A+4>>2]|0;t=(r*3|0)+-2|0;i=a[47518]|0;if((t|0)>(a[47517]|0)){if(!i)i=m2(t<<4)|0;else i=y2(i,t<<4)|0;a[47518]=i;a[47517]=t;l=i;n=i}else{l=i;n=i}f=a[A>>2]|0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];z6(l+16|0,f|0,16)|0;r=r+-1|0;i=1;A=2;while(1){if((i|0)>=(r|0))break;c=l+(A+2<<4)|0;b=l+(A+1<<4)|0;w=l+(A<<4)|0;s=f+(i<<4)|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];a[w+8>>2]=a[s+8>>2];a[w+12>>2]=a[s+12>>2];z6(b|0,s|0,16)|0;a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];i=i+1|0;A=A+3|0}s=l+(A<<4)|0;w=f+(i<<4)|0;a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];z6(l+(A+1<<4)|0,w|0,16)|0;a[e+4>>2]=t;a[e>>2]=n;return}function Qc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];r=(+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r);return(r>.0001?1:(r<-.0001)<<31>>31)|0}function mc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;f=+b[A>>3];a=+b[e>>3];if(f!=a){r=+b[i>>3];if(!(f>3];f=+b[i+8>>3];r=+b[e+8>>3];if(!(a>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];c=Qc(n,l,t)|0;if((c|0)==0?(a[n>>2]=a[A>>2],a[n+4>>2]=a[A+4>>2],a[n+8>>2]=a[A+8>>2],a[n+12>>2]=a[A+12>>2],a[l>>2]=a[e>>2],a[l+4>>2]=a[e+4>>2],a[l+8>>2]=a[e+8>>2],a[l+12>>2]=a[e+12>>2],a[t>>2]=a[i>>2],a[t+4>>2]=a[i+4>>2],a[t+8>>2]=a[i+8>>2],a[t+12>>2]=a[i+12>>2],(mc(n,l,t)|0)!=0):0)f=1;else b=3;do{if((b|0)==3){a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];a[t>>2]=a[r>>2];a[t+4>>2]=a[r+4>>2];a[t+8>>2]=a[r+8>>2];a[t+12>>2]=a[r+12>>2];f=Qc(n,l,t)|0;if((f|0)==0?(a[n>>2]=a[A>>2],a[n+4>>2]=a[A+4>>2],a[n+8>>2]=a[A+8>>2],a[n+12>>2]=a[A+12>>2],a[l>>2]=a[e>>2],a[l+4>>2]=a[e+4>>2],a[l+8>>2]=a[e+8>>2],a[l+12>>2]=a[e+12>>2],a[t>>2]=a[r>>2],a[t+4>>2]=a[r+4>>2],a[t+8>>2]=a[r+8>>2],a[t+12>>2]=a[r+12>>2],mc(n,l,t)|0):0){f=1;break}a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[t>>2]=a[A>>2];a[t+4>>2]=a[A+4>>2];a[t+8>>2]=a[A+8>>2];a[t+12>>2]=a[A+12>>2];A=Qc(n,l,t)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];a[l+8>>2]=a[r+8>>2];a[l+12>>2]=a[r+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];b=(U(f,c)|0)<0;f=(U(Qc(n,l,t)|0,A)|0)>>>31;f=b?f:0}}while(0);k=s;return f|0}function Wc(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+(r*r+i*i)}function yc(A){A=A|0;a[A+24>>2]=zc(a[A+4>>2]|0)|0;Yc(A);return}function zc(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+2|0;f=m2(r<<2)|0;e=W2(U(A,A)|0,8)|0;i=0;while(1){if((i|0)>=(A|0))break;a[f+(i<<2)>>2]=e;e=e+(A<<3)|0;i=i+1|0}while(1){if((A|0)>=(r|0))break;a[f+(A<<2)>>2]=0;A=A+1|0}return f|0}function Yc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;o=k;k=k+32|0;l=o+16|0;n=o;t=a[A+4>>2]|0;s=a[A+8>>2]|0;w=a[A+16>>2]|0;u=a[A+20>>2]|0;i=a[A+24>>2]|0;e=0;while(1){if((e|0)>=(t|0))break;h=a[u+(e<<2)>>2]|0;r=s+(e<<4)|0;f=s+(h<<4)|0;a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];d=+Dc(n,l);f=a[i+(e<<2)>>2]|0;b[f+(h<<3)>>3]=d;b[(a[i+(h<<2)>>2]|0)+(e<<3)>>3]=d;A=e+-1|0;A=(h|0)==(A|0)?e+-2|0:A;while(1){if((A|0)<=-1)break;if((Mc(e,A,s,w,u)|0?Mc(A,e,s,w,u)|0:0)?(c=s+(A<<4)|0,a[n>>2]=a[r>>2],a[n+4>>2]=a[r+4>>2],a[n+8>>2]=a[r+8>>2],a[n+12>>2]=a[r+12>>2],a[l>>2]=a[c>>2],a[l+4>>2]=a[c+4>>2],a[l+8>>2]=a[c+8>>2],a[l+12>>2]=a[c+12>>2],Fc(n,l,t,t,t,s,w)|0):0){a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];d=+Dc(n,l);b[f+(A<<3)>>3]=d;b[(a[i+(A<<2)>>2]|0)+(e<<3)>>3]=d}A=A+-1|0}e=e+1|0}k=o;return}function Dc(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0;r=k;k=k+32|0;f=r+16|0;n=r;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];i=+z(+ +Wc(n,f));k=r;return+i}function Mc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;n=k;k=k+64|0;l=n+48|0;t=n+32|0;c=n+16|0;b=n;w=i+(a[f+(A<<2)>>2]<<4)|0;s=i+(A<<4)|0;r=i+(a[r+(A<<2)>>2]<<4)|0;f=i+(e<<4)|0;a[b>>2]=a[w>>2];a[b+4>>2]=a[w+4>>2];a[b+8>>2]=a[w+8>>2];a[b+12>>2]=a[w+12>>2];a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[t>>2]=a[r>>2];a[t+4>>2]=a[r+4>>2];a[t+8>>2]=a[r+8>>2];a[t+12>>2]=a[r+12>>2];a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];f=Vc(b,c,t,l)|0;k=n;return f|0}function Fc(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+64|0;w=o+48|0;s=o+32|0;b=o+16|0;c=o;t=0;while(1){if((t|0)>=(i|0)){u=4;break}d=n+(t<<4)|0;h=n+(a[l+(t<<2)>>2]<<4)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[s>>2]=a[d>>2];a[s+4>>2]=a[d+4>>2];a[s+8>>2]=a[d+8>>2];a[s+12>>2]=a[d+12>>2];a[w>>2]=a[h>>2];a[w+4>>2]=a[h+4>>2];a[w+8>>2]=a[h+8>>2];a[w+12>>2]=a[h+12>>2];if(!(Lc(c,b,s,w)|0))t=t+1|0;else{r=0;break}}A:do{if((u|0)==4)while(1){if((r|0)>=(f|0)){r=1;break A}h=n+(r<<4)|0;d=n+(a[l+(r<<2)>>2]<<4)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[s>>2]=a[h>>2];a[s+4>>2]=a[h+4>>2];a[s+8>>2]=a[h+8>>2];a[s+12>>2]=a[h+12>>2];a[w>>2]=a[d>>2];a[w+4>>2]=a[d+4>>2];a[w+8>>2]=a[d+8>>2];a[w+12>>2]=a[d+12>>2];if(!(Lc(c,b,s,w)|0)){r=r+1|0;u=4}else{r=0;break}}}while(0);k=o;return r|0}function Vc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;n=k;k=k+48|0;l=n+32|0;t=n+16|0;c=n;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[t>>2]=a[A>>2];a[t+4>>2]=a[A+4>>2];a[t+8>>2]=a[A+8>>2];a[t+12>>2]=a[A+12>>2];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];f=Qc(c,t,l)|0;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];r=Qc(c,t,l)|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];i=(Qc(c,t,l)|0)>0;k=n;return(i?r|f:r&f)>>>31^1|0}function Jc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;B=k;k=k+80|0;t=B+64|0;l=B+48|0;n=B+32|0;c=B+16|0;u=B;o=a[A+4>>2]|0;h=a[A+8>>2]|0;d=a[A+16>>2]|0;s=a[A+20>>2]|0;w=m2((o<<3)+16|0)|0;if((e|0)==-2222){a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];e=Nc(A,t)|0}if((e|0)>-1){A=a[A+12>>2]|0;f=a[A+(e+1<<2)>>2]|0;A=a[A+(e<<2)>>2]|0}else{f=o;A=o}e=0;while(1){if((e|0)>=(A|0)){e=A;break}g=h+(e<<4)|0;a[u>>2]=a[g>>2];a[u+4>>2]=a[g+4>>2];a[u+8>>2]=a[g+8>>2];a[u+12>>2]=a[g+12>>2];g=h+(a[s+(e<<2)>>2]<<4)|0;v=h+(a[d+(e<<2)>>2]<<4)|0;a[c>>2]=a[g>>2];a[c+4>>2]=a[g+4>>2];a[c+8>>2]=a[g+8>>2];a[c+12>>2]=a[g+12>>2];a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[v>>2];a[l+4>>2]=a[v+4>>2];a[l+8>>2]=a[v+8>>2];a[l+12>>2]=a[v+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];if((Vc(c,n,l,t)|0)!=0?(a[l>>2]=a[i>>2],a[l+4>>2]=a[i+4>>2],a[l+8>>2]=a[i+8>>2],a[l+12>>2]=a[i+12>>2],a[t>>2]=a[u>>2],a[t+4>>2]=a[u+4>>2],a[t+8>>2]=a[u+8>>2],a[t+12>>2]=a[u+12>>2],(Fc(l,t,A,f,o,h,d)|0)!=0):0){a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];r=+Dc(l,t)}else r=0.0;b[w+(e<<3)>>3]=r;e=e+1|0}while(1){if((e|0)>=(f|0)){e=f;break}b[w+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((e|0)>=(o|0))break;v=h+(e<<4)|0;a[u>>2]=a[v>>2];a[u+4>>2]=a[v+4>>2];a[u+8>>2]=a[v+8>>2];a[u+12>>2]=a[v+12>>2];v=h+(a[s+(e<<2)>>2]<<4)|0;g=h+(a[d+(e<<2)>>2]<<4)|0;a[c>>2]=a[v>>2];a[c+4>>2]=a[v+4>>2];a[c+8>>2]=a[v+8>>2];a[c+12>>2]=a[v+12>>2];a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];if((Vc(c,n,l,t)|0)!=0?(a[l>>2]=a[i>>2],a[l+4>>2]=a[i+4>>2],a[l+8>>2]=a[i+8>>2],a[l+12>>2]=a[i+12>>2],a[t>>2]=a[u>>2],a[t+4>>2]=a[u+4>>2],a[t+8>>2]=a[u+8>>2],a[t+12>>2]=a[u+12>>2],(Fc(l,t,A,f,o,h,d)|0)!=0):0){a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];r=+Dc(l,t)}else r=0.0;b[w+(e<<3)>>3]=r;e=e+1|0}b[w+(o<<3)>>3]=0.0;b[w+(o+1<<3)>>3]=0.0;k=B;return w|0}function Nc(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;s=k;k=k+32|0;f=s+8|0;r=s;l=s+24|0;t=A+8|0;c=A+12|0;b=l+4|0;i=0;while(1){if((i|0)>=(a[A>>2]|0)){i=-1111;break}u=a[c>>2]|0;w=a[u+(i<<2)>>2]|0;a[l>>2]=(a[t>>2]|0)+(w<<4);n=i+1|0;a[b>>2]=(a[u+(n<<2)>>2]|0)-w;a[r>>2]=a[l>>2];a[r+4>>2]=a[l+4>>2];a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];if(!(Dt(r,f)|0))i=n;else break}k=s;return i|0}function Xc(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+64|0;w=v+48|0;s=v+32|0;o=v+16|0;u=v;d=a[f+4>>2]|0;B=a[f+8>>2]|0;h=a[f+16>>2]|0;n=(r|0)<0;do{if((e|0)<0)if(n){n=0;t=0;f=0;l=0}else{e=a[f+12>>2]|0;f=0;l=0;t=r;c=e;e=e+(r<<2)|0;b=9}else{if(n){b=a[f+12>>2]|0;f=0;l=0;t=e;c=b;e=b+(e<<2)|0;b=9;break}n=a[f+12>>2]|0;if((e|0)>(r|0)){f=a[n+(r+1<<2)>>2]|0;l=a[n+(r<<2)>>2]|0;t=e;c=n;e=n+(e<<2)|0;b=9;break}else{f=a[n+(e+1<<2)>>2]|0;l=a[n+(e<<2)>>2]|0;t=r;c=n;e=n+(r<<2)|0;b=9;break}}}while(0);if((b|0)==9){n=a[c+(t+1<<2)>>2]|0;t=a[e>>2]|0}e=0;while(1){if((e|0)>=(l|0)){b=13;break}c=B+(e<<4)|0;r=B+(a[h+(e<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];a[w>>2]=a[r>>2];a[w+4>>2]=a[r+4>>2];a[w+8>>2]=a[r+8>>2];a[w+12>>2]=a[r+12>>2];if(!(Lc(u,o,s,w)|0))e=e+1|0;else{n=0;break}}A:do{if((b|0)==13){while(1){if((f|0)>=(t|0))break;r=B+(f<<4)|0;b=B+(a[h+(f<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];if(!(Lc(u,o,s,w)|0)){f=f+1|0;b=13}else{n=0;break A}}while(1){if((n|0)>=(d|0)){n=1;break A}r=B+(n<<4)|0;b=B+(a[h+(n<<2)>>2]<<4)|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];a[o>>2]=a[i>>2];a[o+4>>2]=a[i+4>>2];a[o+8>>2]=a[i+8>>2];a[o+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];if(!(Lc(u,o,s,w)|0))n=n+1|0;else{n=0;break}}}}while(0);k=v;return n|0}function Rc(A){A=A|0;return Hc(A,0,0)|0}function Hc(A,e,i){A=A|0;e=e|0;i=i|0;return pc(A,e,i,0)|0}function pc(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;if(!e){n=m2(496)|0;if(!n)n=0;else{a[n+12>>2]=35;a[n+16>>2]=107;a[n+20>>2]=105;e=35;l=6}}else{n=Q5[a[e>>2]&63](496)|0;if(!n)n=0;else{l=a[e>>2]|0;a[n+12>>2]=l;a[n+16>>2]=a[e+4>>2];a[n+20>>2]=a[e+8>>2];e=l;l=6}}do{if((l|0)==6){a[n+8>>2]=0;a[n+32>>2]=0;a[n+376>>2]=16;c=n+12|0;t=Q5[e&63](256)|0;e=n+388|0;a[e>>2]=t;if(!t){F5[a[n+20>>2]&127](n);n=0;break}l=Q5[a[c>>2]&63](1024)|0;t=n+44|0;a[t>>2]=l;if(!l){i=n+20|0;F5[a[i>>2]&127](a[e>>2]|0);F5[a[i>>2]&127](n);n=0;break}a[n+48>>2]=l+1024;if(!f){f=Uc(c)|0;a[n+352>>2]=f;if(!f){i=n+20|0;F5[a[i>>2]&127](a[t>>2]|0);F5[a[i>>2]&127](a[e>>2]|0);F5[a[i>>2]&127](n);n=0;break}}else a[n+352>>2]=f;a[n+372>>2]=0;a[n+364>>2]=0;a[n+300>>2]=0;a[n+464>>2]=0;a[n+460>>2]=0;a[n+124>>2]=0;a[n+244>>2]=0;e=n+468|0;r[e>>0]=33;l=n+232|0;r[l>>0]=0;r[n+233>>0]=0;a[n+392>>2]=0;a[n+396>>2]=0;r[n+400>>0]=0;f=n+228|0;a[f>>2]=0;xc(n+412|0,c);xc(n+436|0,c);Tc(n,A);if(A|0?(a[f>>2]|0)==0:0){jc(n);n=0;break}if(!i){a[n+224>>2]=xq()|0;break}else{r[l>>0]=1;a[n+224>>2]=C0()|0;r[e>>0]=r[i>>0]|0;break}}}while(0);return n|0}function Uc(A){A=A|0;var e=0;e=Q5[a[A>>2]&63](188)|0;if(e|0){xc(e+80|0,A);xc(e+104|0,A);$b(e,A);$b(e+20|0,A);$b(e+40|0,A);$b(e+60|0,A);r[e+131>>0]=0;$b(e+132|0,A);a[e+152>>2]=0;a[e+156>>2]=0;r[e+160>>0]=0;A=e+164|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A+16>>2]=0;a[A+20>>2]=0;r[e+128>>0]=1;r[e+129>>0]=0;r[e+130>>0]=0}return e|0}function xc(A,e){A=A|0;e=e|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A+16>>2]=0;a[A+20>>2]=e;return}function Tc(A,e){A=A|0;e=e|0;var i=0,n=0,l=0;a[A+276>>2]=56;W0(A+252|0);if(e|0)a[A+228>>2]=Ab(e,A+12|0)|0;a[A+356>>2]=0;Y$(A+148|0,A+144|0,0)|0;a[A>>2]=0;a[A+4>>2]=0;e=A+116|0;n=A+52|0;l=n+64|0;do{a[n>>2]=0;n=n+4|0}while((n|0)<(l|0));a[e>>2]=A;a[A+120>>2]=0;e=A+128|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;e=a[A+8>>2]|0;a[A+24>>2]=e;a[A+28>>2]=e;a[A+36>>2]=0;a[A+40>>2]=0;e=A+312|0;n=A+404|0;a[n>>2]=0;a[n+4>>2]=0;n=A+280|0;i=A+304|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=0;n=e;l=n+36|0;do{a[n>>2]=0;n=n+4|0}while((n|0)<(l|0));f[e+36>>1]=0;r[i>>0]=1;a[A+308>>2]=0;a[A+360>>2]=0;a[A+368>>2]=0;a[A+380>>2]=0;a[A+236>>2]=0;a[A+248>>2]=0;a[A+240>>2]=0;a[A+472>>2]=0;a[A+476>>2]=0;r[A+484>>0]=0;r[A+485>>0]=0;a[A+488>>2]=0;a[A+492>>2]=0;return}function jc(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;if(A|0){i=A+364|0;n=A+20|0;e=a[A+360>>2]|0;while(1){if(!e){e=a[i>>2]|0;if(!e)break;a[i>>2]=0}l=a[e>>2]|0;F5[a[n>>2]&127](a[e+36>>2]|0);Sc(a[e+44>>2]|0,A);F5[a[n>>2]&127](e);e=l}i=A+300|0;e=a[A+296>>2]|0;while(1){if(!e){e=a[i>>2]|0;if(!e)break;a[i>>2]=0}l=a[e+8>>2]|0;F5[a[n>>2]&127](e);e=l}Sc(a[A+372>>2]|0,A);Sc(a[A+368>>2]|0,A);Pc(A+412|0);Pc(A+436|0);e=A+12|0;F5[a[n>>2]&127](a[A+228>>2]|0);if((r[A+484>>0]|0)==0?(f=a[A+352>>2]|0,f|0):0)Oc(f,(a[A+472>>2]|0)==0&1,e);F5[a[n>>2]&127](a[A+388>>2]|0);F5[a[n>>2]&127](a[A+460>>2]|0);F5[a[n>>2]&127](a[A+8>>2]|0);F5[a[n>>2]&127](a[A+44>>2]|0);F5[a[n>>2]&127](a[A+392>>2]|0);F5[a[n>>2]&127](a[A+236>>2]|0);e=a[A+248>>2]|0;if(e|0)F5[e&127](a[A+240>>2]|0);F5[a[n>>2]&127](A)}return}function Sc(A,e){A=A|0;e=e|0;var i=0;e=e+20|0;while(1){if(!A)break;i=a[A+4>>2]|0;F5[a[e>>2]&127](a[A+16>>2]|0);F5[a[e>>2]&127](A);A=i}return}function Pc(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;e=a[A>>2]|0;while(1){if(!e)break;r=a[e>>2]|0;F5[a[(a[i>>2]|0)+8>>2]&127](e);e=r}e=a[A+4>>2]|0;while(1){if(!e)break;r=a[e>>2]|0;F5[a[(a[i>>2]|0)+8>>2]&127](e);e=r}return}function Oc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;n=A+20|0;Kc(f,n);i=i+8|0;while(1){r=_c(f)|0;if(!r)break;if(!(a[r+16>>2]|0))continue;F5[a[i>>2]&127](a[r+20>>2]|0)}qc(A);qc(A+132|0);qc(n);qc(A+40|0);qc(A+60|0);Pc(A+80|0);Pc(A+104|0);if(e<<24>>24){F5[a[i>>2]&127](a[A+184>>2]|0);F5[a[i>>2]&127](a[A+164>>2]|0)}F5[a[i>>2]&127](A);k=l;return}function Kc(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;a[A>>2]=i;a[A+4>>2]=i+(a[e+8>>2]<<2);return}function _c(A){A=A|0;var e=0,i=0,r=0;i=a[A+4>>2]|0;r=a[A>>2]|0;do{if((r|0)==(i|0)){e=0;break}e=r;r=r+4|0;a[A>>2]=r;e=a[e>>2]|0}while(!(e|0));return e|0}function qc(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=A+8|0;r=A+16|0;e=0;while(1){f=a[(a[r>>2]|0)+8>>2]|0;n=a[A>>2]|0;if(e>>>0>=(a[i>>2]|0)>>>0)break;F5[f&127](a[n+(e<<2)>>2]|0);e=e+1|0}F5[f&127](n);return}function $c(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=eb(A)|0;if(!f){a[A+276>>2]=57;f=ib(A,e,i,r)|0}return f|0}function Ab(A,e){A=A|0;e=e|0;var i=0,f=0;i=0;do{f=i;i=i+1|0}while((r[A+f>>0]|0)!=0);e=Q5[a[e>>2]&63](i)|0;if(!e)e=0;else y6(e|0,A|0,i|0)|0;return e|0}function eb(A){A=A|0;var e=0;e=A+228|0;if(!(W5[(r[A+232>>0]<<24>>24?38:37)&63](A+148|0,A+144|0,a[e>>2]|0)|0))A=qb(A,a[e>>2]|0)|0;else A=0;return A|0}function ib(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;n=k;k=k+16|0;l=n;a[l>>2]=e;c=A+144|0;t=a[c>>2]|0;t=y5[a[t>>2]&127](t,e,i,l)|0;f=rb(A,a[c>>2]|0,e,i,t,a[l>>2]|0,f,(r[A+480>>0]|0)==0&1)|0;k=n;return f|0}function rb(A,e,i,f,l,t,c,b){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;t=t|0;c=c|0;b=b|0;var s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0,tA=0,cA=0,bA=0,sA=0,wA=0,uA=0,kA=0,oA=0,hA=0,dA=0,BA=0,vA=0,gA=0,EA=0,CA=0,IA=0,ZA=0,GA=0,QA=0,mA=0,LA=0,WA=0,yA=0,zA=0,YA=0;YA=k;k=k+16|0;WA=YA;a[WA>>2]=t;d=a[A+352>>2]|0;B=A+144|0;if((a[B>>2]|0)==(e|0)){o=A+284|0;h=A+288|0;uA=A+296|0}else{uA=A+296|0;h=a[uA>>2]|0;o=h;h=h+4|0}v=b<<24>>24!=0;oA=A+252|0;g=A+80|0;E=A+476|0;C=A+84|0;I=A+320|0;Z=A+412|0;G=A+316|0;Q=A+424|0;m=A+428|0;L=A+324|0;dA=A+4|0;W=A+485|0;y=d+132|0;z=A+312|0;vA=d+129|0;Y=d+128|0;D=d+80|0;M=d+92|0;F=d+96|0;V=A+136|0;J=A+88|0;N=A+488|0;EA=A+112|0;CA=d+131|0;IA=A+116|0;ZA=d+130|0;GA=A+108|0;QA=A+356|0;X=A+340|0;R=A+132|0;H=A+344|0;p=A+348|0;U=A+328|0;x=A+349|0;T=A+420|0;j=d+120|0;S=d+116|0;P=A+92|0;O=A+472|0;K=A+336|0;_=A+332|0;q=A+96|0;$=A+256|0;AA=A+464|0;eA=A+460|0;iA=d+160|0;rA=d+184|0;fA=d+180|0;aA=d+164|0;nA=A+128|0;lA=A+12|0;tA=A+16|0;cA=A+268|0;bA=A+120|0;sA=d+176|0;wA=d+168|0;u=e;w=i;e=l;A:while(1){a[o>>2]=w;i=a[WA>>2]|0;a[h>>2]=i;t=i;e:do{if((e|0)<1){if(v&(e|0)!=0){s=7;break A}switch(e|0){case-1:{t=5;s=280;break A}case 0:{s=9;break A}case-2:{t=6;break A}case-4:{s=10;break A}case-15:{e=15;break e}default:{}}a[WA>>2]=f;e=0-e|0;t=f}}while(0);l=z5[a[oA>>2]&127](oA,e,w,t,u)|0;e:do{switch(l|0){case 2:{s=58;break A}case-1:{s=184;break A}case 1:{t=fb(A,0,w,a[WA>>2]|0)|0;if(t|0){s=280;break A}t=a[B>>2]|0;break}case 4:{if(!(a[C>>2]|0))t=1;else{s=ab(Z,u,w,a[WA>>2]|0)|0;a[G>>2]=s;if(!s){t=1;s=280;break A}a[m>>2]=a[Q>>2];a[L>>2]=0;t=0}a[I>>2]=0;s=274;break}case 7:{t=a[C>>2]|0;if(!t)s=275;else{R5[t&15](a[dA>>2]|0,a[G>>2]|0,a[I>>2]|0,a[L>>2]|0,1);a[G>>2]=0;nb(Z);t=u}break}case 57:{t=fb(A,1,w,a[WA>>2]|0)|0;if(t|0){s=280;break A}t=a[B>>2]|0;break}case 6:{r[W>>0]=0;s=lb(A,y,75395,36)|0;a[z>>2]=s;if(!s){t=1;s=280;break A}r[vA>>0]=1;if(!(a[C>>2]|0))s=33;else{if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break A}t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}tb(t);a[m>>2]=a[Q>>2];a[L>>2]=t;t=0;s=34}break}case 14:{s=33;break}case 8:{t=a[G>>2]|0;if(!t)t=1;else{R5[a[C>>2]&15](a[dA>>2]|0,t,a[I>>2]|0,a[L>>2]|0,0);nb(Z);t=0}if(!((a[I>>2]|0)==0?!(r[W>>0]|0):0)){i=r[vA>>0]|0;r[vA>>0]=1;do{if(a[N>>2]|0?a[EA>>2]|0:0){l=lb(A,y,75395,36)|0;if(!l){t=1;s=280;break A}if(!(r[W>>0]|0))e=l+20|0;else{e=l+20|0;a[e>>2]=a[QA>>2]}r[CA>>0]=0;if(!(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[e>>2]|0,a[l+16>>2]|0,a[l+24>>2]|0)|0)){t=21;s=280;break A}if(!(r[CA>>0]|0)){if(a[I>>2]|0)break;r[vA>>0]=i;break}if(((r[ZA>>0]|0)==0?(kA=a[GA>>2]|0,kA|0):0)?(Q5[kA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}}}while(0);r[W>>0]=0}e=a[J>>2]|0;if(!e)s=274;else{F5[e&127](a[dA>>2]|0);t=u}break}case 34:{s=bb(A,u,w,a[WA>>2]|0)|0;a[X>>2]=s;if(!s){t=1;s=280;break A}else s=80;break}case 22:{s=sb(A,u,w,a[WA>>2]|0)|0;a[H>>2]=s;if(!s){t=1;s=280;break A}r[p>>0]=0;a[U>>2]=0;r[x>>0]=0;s=80;break}case 23:{r[p>>0]=1;a[U>>2]=142188;s=80;break}case 24:{r[x>>0]=1;a[U>>2]=142194;s=80;break}case 25:{a[U>>2]=142197;s=80;break}case 26:{a[U>>2]=142203;s=80;break}case 27:{a[U>>2]=142210;s=80;break}case 28:{a[U>>2]=142217;s=80;break}case 29:{a[U>>2]=142226;s=80;break}case 30:{a[U>>2]=142234;s=80;break}case 32:case 31:{if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0){if(!(wb(Z,(a[U>>2]|0)==0?(l|0)==32?142243:142253:142255)|0)){t=1;s=280;break A}if(!(ub(Z,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}a[U>>2]=a[m>>2];t=u}else s=275;break}case 36:case 35:{if(r[Y>>0]|0){if(!(kb(a[X>>2]|0,a[H>>2]|0,r[p>>0]|0,r[x>>0]|0,0,A)|0)){t=1;s=280;break A}if((a[R>>2]|0)!=0?(hA=a[U>>2]|0,(hA|0)!=0):0){switch(r[hA>>0]|0){case 40:{s=93;break}case 78:{if((r[hA+1>>0]|0)==79)s=93;break}default:{}}if((s|0)==93){s=0;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=41;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=0;a[U>>2]=a[m>>2];a[m>>2]=a[Q>>2]}a[h>>2]=w;H5[a[R>>2]&15](a[dA>>2]|0,a[a[X>>2]>>2]|0,a[a[H>>2]>>2]|0,a[U>>2]|0,0,(l|0)==36&1);nb(Z);t=u}else s=275}else s=275;break}case 38:case 37:{if(r[Y>>0]|0){t=a[u+64>>2]|0;t=hb(A,u,r[p>>0]|0,w+t|0,(a[WA>>2]|0)+(0-t)|0,D)|0;if(t|0){s=280;break A}e=a[F>>2]|0;a[F>>2]=a[M>>2];if(!(kb(a[X>>2]|0,a[H>>2]|0,r[p>>0]|0,0,e,A)|0)){t=1;s=280;break A}if((a[R>>2]|0)!=0?(BA=a[U>>2]|0,(BA|0)!=0):0){switch(r[BA>>0]|0){case 40:{s=108;break}case 78:{if((r[BA+1>>0]|0)==79)s=108;break}default:{}}if((s|0)==108){s=0;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=41;t=a[Q>>2]|0;if((t|0)==(a[T>>2]|0)){if(!((ob(Z)|0)<<24>>24)){t=1;s=280;break A}t=a[Q>>2]|0}a[Q>>2]=t+1;r[t>>0]=0;a[U>>2]=a[m>>2];a[m>>2]=a[Q>>2]}a[h>>2]=w;H5[a[R>>2]&15](a[dA>>2]|0,a[a[X>>2]>>2]|0,a[a[H>>2]>>2]|0,a[U>>2]|0,e,(l|0)==38&1);nb(Z);t=u}else s=275}else s=275;break}case 12:{if(r[Y>>0]|0){t=a[u+64>>2]|0;t=db(A,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;e=a[z>>2]|0;i=a[j>>2]|0;if(e){a[e+4>>2]=i;a[(a[z>>2]|0)+8>>2]=(a[S>>2]|0)-(a[j>>2]|0);a[j>>2]=a[S>>2];if(!(a[V>>2]|0))e=1;else{a[h>>2]=w;e=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[e>>2]|0,n[e+33>>0]|0,a[e+4>>2]|0,a[e+8>>2]|0,a[QA>>2]|0,0,0,0);e=0}}else{a[S>>2]=i;e=1}if(!t){t=e;s=274}else{s=280;break A}}else s=275;break}case 5:{r[W>>0]=0;r[vA>>0]=1;if(!(a[C>>2]|0)){a[I>>2]=75395;t=1}else{s=a[u+64>>2]|0;s=ab(Z,u,w+s|0,(a[WA>>2]|0)+(0-s)|0)|0;a[I>>2]=s;if(!s){t=1;s=280;break A}a[m>>2]=a[Q>>2];t=0}if((((r[ZA>>0]|0)==0?(a[N>>2]|0)==0:0)?(gA=a[GA>>2]|0,gA|0):0)?(Q5[gA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}if(!(a[z>>2]|0)){e=lb(A,y,75395,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}a[e+24>>2]=0;s=133}else s=133;break}case 13:{t=1;s=133;break}case 15:{if(((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0)?(a[V>>2]|0)!=0:0){a[h>>2]=w;t=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[t>>2]|0,n[t+33>>0]|0,0,0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,0);t=u}else s=275;break}case 16:{if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){l=ab(D,u,w,a[WA>>2]|0)|0;a[(a[z>>2]|0)+28>>2]=l;if(!(a[(a[z>>2]|0)+28>>2]|0)){t=1;s=280;break A}a[F>>2]=a[M>>2];if(a[P>>2]|0){a[h>>2]=w;t=a[z>>2]|0;H5[a[P>>2]&15](a[dA>>2]|0,a[t>>2]|0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,a[t+28>>2]|0);t=u;break e}if(a[V>>2]|0){a[h>>2]=w;t=a[z>>2]|0;p5[a[V>>2]&0](a[dA>>2]|0,a[t>>2]|0,0,0,0,a[t+20>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0,a[t+28>>2]|0);t=u}else s=275}else s=275;break}case 9:{if(W5[a[u+44>>2]&63](u,w,a[WA>>2]|0)|0){a[z>>2]=0;s=275;break e}if(!(r[Y>>0]|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}t=ab(D,u,w,a[WA>>2]|0)|0;if(!t){t=1;s=280;break A}e=lb(A,d,t,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}if((a[e>>2]|0)!=(t|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}a[F>>2]=a[M>>2];a[(a[z>>2]|0)+24>>2]=0;r[(a[z>>2]|0)+33>>0]=0;if(!(a[O>>2]|0))t=(a[uA>>2]|0)!=0;else t=1;r[(a[z>>2]|0)+34>>0]=(t^1)&1;if(!(a[V>>2]|0))s=275;else t=u;break}case 10:{if(!(r[Y>>0]|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}t=ab(D,u,w,a[WA>>2]|0)|0;if(!t){t=1;s=280;break A}e=lb(A,y,t,36)|0;a[z>>2]=e;if(!e){t=1;s=280;break A}if((a[e>>2]|0)!=(t|0)){a[M>>2]=a[F>>2];a[z>>2]=0;s=275;break e}a[F>>2]=a[M>>2];a[(a[z>>2]|0)+24>>2]=0;r[(a[z>>2]|0)+33>>0]=1;if(!(a[O>>2]|0))t=(a[uA>>2]|0)!=0;else t=1;r[(a[z>>2]|0)+34>>0]=(t^1)&1;if(!(a[V>>2]|0))s=275;else t=u;break}case 18:{a[K>>2]=0;a[_>>2]=0;if(!(a[q>>2]|0))s=275;else{w=ab(Z,u,w,a[WA>>2]|0)|0;a[_>>2]=w;if(!w){t=1;s=280;break A}a[m>>2]=a[Q>>2];t=u}break}case 21:{if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break A}if(!(a[_>>2]|0))s=275;else{t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}tb(t);a[K>>2]=t;a[m>>2]=a[Q>>2];t=u}break}case 19:{if((a[_>>2]|0)!=0?(a[q>>2]|0)!=0:0){t=a[u+64>>2]|0;t=ab(Z,u,w+t|0,(a[WA>>2]|0)+(0-t)|0)|0;if(!t){t=1;s=280;break A}a[h>>2]=w;R5[a[q>>2]&15](a[dA>>2]|0,a[_>>2]|0,a[QA>>2]|0,t,a[K>>2]|0);t=0}else t=1;nb(Z);s=274;break}case 20:{if((a[K>>2]|0)!=0?(a[q>>2]|0)!=0:0){a[h>>2]=w;R5[a[q>>2]&15](a[dA>>2]|0,a[_>>2]|0,a[QA>>2]|0,0,a[K>>2]|0);t=0}else t=1;nb(Z);s=274;break}case 58:{if(a[g>>2]|0)Bb(A,u,w,a[WA>>2]|0);t=vb(A,u,WA,f,c,b)|0;if(t|0){s=280;break A}if(!(a[WA>>2]|0)){s=189;break A}else t=u;break}case 44:{t=a[AA>>2]|0;do{if((a[$>>2]|0)>>>0>=t>>>0){if(!t){l=a[lA>>2]|0;a[AA>>2]=32;l=Q5[l&63](32)|0;a[eA>>2]=l;if(!l){s=198;break A}else break}i=a[tA>>2]|0;l=a[eA>>2]|0;t=t<<1;a[AA>>2]=t;t=m5[i&127](l,t)|0;if(!t){s=193;break A}a[eA>>2]=t;t=a[rA>>2]|0;if(t|0){t=m5[a[tA>>2]&127](t,a[AA>>2]<<2)|0;if(!t){t=1;s=280;break A}a[rA>>2]=t}}}while(0);r[(a[eA>>2]|0)+(a[$>>2]|0)>>0]=0;if(r[iA>>0]|0){t=Eb(A)|0;if((t|0)<0){t=1;s=280;break A}a[(a[rA>>2]|0)+(a[fA>>2]<<2)>>2]=t;a[fA>>2]=(a[fA>>2]|0)+1;a[(a[aA>>2]|0)+(t*28|0)>>2]=6;if(a[nA>>2]|0)t=u;else s=275}else s=275;break}case 50:{t=(a[eA>>2]|0)+(a[$>>2]|0)|0;if((r[t>>0]|0)==124){t=2;s=280;break A}r[t>>0]=44;if((r[iA>>0]|0)!=0?(a[nA>>2]|0)!=0:0)t=u;else s=275;break}case 49:{i=a[eA>>2]|0;e=a[$>>2]|0;t=r[i+e>>0]|0;if(t<<24>>24==44){t=2;s=280;break A}if(t<<24>>24==0&(r[iA>>0]|0)!=0?(mA=(a[aA>>2]|0)+((a[(a[rA>>2]|0)+((a[fA>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(a[mA>>2]|0)!=3):0){a[mA>>2]=5;t=(a[nA>>2]|0)==0&1;i=a[eA>>2]|0;e=a[$>>2]|0}else t=1;r[i+e>>0]=124;s=274;break}case 59:case 60:{r[vA>>0]=1;if(a[N>>2]|0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;if(!e){t=1;s=280;break A}i=lb(A,y,e,0)|0;a[M>>2]=a[F>>2];do{if(a[cA>>2]|0){if(!(r[ZA>>0]|0)){if(r[vA>>0]|0){s=219;break}}else if(a[uA>>2]|0){s=219;break}if(!i){t=11;s=280;break A}if(!(r[i+34>>0]|0)){t=24;s=280;break A}}else s=219}while(0);if((s|0)==219?(s=0,(i|0)==0):0){r[Y>>0]=r[ZA>>0]|0;if((l|0)!=60){s=275;break e}t=a[bA>>2]|0;if(!t){s=275;break e}J5[t&127](a[dA>>2]|0,e,1);t=u;break e}t=i+32|0;if(r[t>>0]|0){t=12;s=280;break A}if(a[i+4>>2]|0){t=Cb(A,i,(l|0)==60&1)|0;e=(t|0)==0;if(e){t=(e^1)&1;s=274;break e}else{s=280;break A}}if(!(a[EA>>2]|0)){r[Y>>0]=r[ZA>>0]|0;s=275;break e}r[CA>>0]=0;r[t>>0]=1;l=(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[i+20>>2]|0,a[i+16>>2]|0,a[i+24>>2]|0)|0)==0;r[t>>0]=0;if(l){t=21;s=280;break A}e=r[ZA>>0]|0;if(!(r[CA>>0]|0)){r[Y>>0]=e;t=u;break e}else t=0}else{e=r[ZA>>0]|0;r[Y>>0]=e;t=1}if((e<<24>>24==0?(LA=a[GA>>2]|0,(LA|0)!=0):0)?(Q5[LA&63](a[dA>>2]|0)|0)==0:0){t=22;s=280;break A}else s=274;break}case 40:{if(!(a[nA>>2]|0))s=275;else{w=bb(A,u,w,a[WA>>2]|0)|0;a[X>>2]=w;if(!w){t=1;s=280;break A}a[fA>>2]=0;a[sA>>2]=0;r[iA>>0]=1;t=u}break}case 42:case 41:{if(!(r[iA>>0]|0))s=275;else{if(!(a[nA>>2]|0))t=1;else{t=Q5[a[lA>>2]&63](20)|0;if(!t){t=1;s=280;break A}s=t+4|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;a[t>>2]=(l|0)==41?2:1;a[h>>2]=w;J5[a[nA>>2]&127](a[dA>>2]|0,a[a[X>>2]>>2]|0,t);t=0}r[iA>>0]=0;s=274}break}case 43:{if((r[iA>>0]|0)!=0?(a[(a[aA>>2]|0)+((a[(a[rA>>2]|0)+((a[fA>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(a[nA>>2]|0)!=0):0)t=u;else s=275;break}case 51:{e=0;s=247;break}case 53:{e=1;s=247;break}case 52:{e=2;s=247;break}case 54:{e=3;s=247;break}case 45:{i=0;s=258;break}case 47:{i=1;s=258;break}case 46:{i=2;s=258;break}case 48:{i=3;s=258;break}case 55:{if(!(Zb(A,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}else t=u;break}case 56:{if(!(Gb(A,u,w,a[WA>>2]|0)|0)){t=1;s=280;break A}else t=u;break}case 0:{if((e|0)==14)t=u;else s=275;break}case 3:{if(!(a[C>>2]|0))s=275;else t=u;break}case 11:{if((r[Y>>0]|0)!=0?(a[V>>2]|0)!=0:0)t=u;else s=275;break}case 17:{if(!(a[q>>2]|0))s=275;else t=u;break}case 33:{if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0)t=u;else s=275;break}case 39:{if(!(a[nA>>2]|0))s=275;else t=u;break}default:s=275}}while(0);if((s|0)==33)if(!(y5[a[u+52>>2]&127](u,w,a[WA>>2]|0,o)|0)){t=32;s=280;break}else{t=1;s=34}else if((s|0)==80){s=0;if((r[Y>>0]|0)!=0?(a[R>>2]|0)!=0:0)t=u;else s=275}else if((s|0)==133){s=0;if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;a[(a[z>>2]|0)+16>>2]=e;e=a[z>>2]|0;if(!(a[e+16>>2]|0)){t=1;s=280;break}a[e+20>>2]=a[QA>>2];a[F>>2]=a[M>>2];if((l|0)==13&(a[V>>2]|0)!=0)t=u;else s=274}else s=274}else if((s|0)==247){s=0;if(r[iA>>0]|0){t=a[WA>>2]|0;if(e)t=t+(0-(a[u+64>>2]|0))|0;i=Eb(A)|0;if((i|0)<0){t=1;s=280;break}a[(a[aA>>2]|0)+(i*28|0)>>2]=4;a[(a[aA>>2]|0)+(i*28|0)+4>>2]=e;t=bb(A,u,w,t)|0;if(!t){t=1;s=280;break}e=a[t>>2]|0;a[(a[aA>>2]|0)+(i*28|0)+8>>2]=e;t=0;do{l=t;t=t+1|0}while((r[e+l>>0]|0)!=0);a[wA>>2]=(a[wA>>2]|0)+t;if(a[nA>>2]|0)t=u;else s=275}else s=275}else if((s|0)==258)if(r[iA>>0]|0){e=(a[nA>>2]|0)==0;t=e&1;s=(a[fA>>2]|0)+-1|0;a[fA>>2]=s;a[(a[aA>>2]|0)+((a[(a[rA>>2]|0)+(s<<2)>>2]|0)*28|0)+4>>2]=i;if(!(a[fA>>2]|0)){if(!e){e=Ib(A)|0;if(!e){t=1;s=280;break}a[h>>2]=w;J5[a[nA>>2]&127](a[dA>>2]|0,a[a[X>>2]>>2]|0,e)}r[iA>>0]=0;a[wA>>2]=0;s=274}else s=274}else s=275;if((s|0)==34){s=0;if((r[Y>>0]|0)!=0?(a[z>>2]|0)!=0:0){e=a[u+64>>2]|0;e=ab(D,u,w+e|0,(a[WA>>2]|0)+(0-e)|0)|0;if(!e){t=1;s=280;break}tb(e);a[(a[z>>2]|0)+24>>2]=e;a[F>>2]=a[M>>2];if((l|0)==14&(a[V>>2]|0)!=0)t=u;else s=274}else s=274}if((s|0)==274){s=0;if(!(t<<24>>24))t=u;else s=275}if((s|0)==275){s=0;if(!(a[g>>2]|0))t=u;else{Bb(A,u,w,a[WA>>2]|0);t=u}}switch(a[E>>2]|0){case 3:{s=278;break A}case 2:{t=35;s=280;break A}default:{}}e=a[WA>>2]|0;u=t;w=e;e=y5[a[t>>2]&127](t,e,f,WA)|0}A:switch(s|0){case 7:{a[c>>2]=w;t=0;break}case 9:{a[o>>2]=i;t=4;break}case 10:{t=(u|0)==(a[B>>2]|0);if(!t?(r[(a[uA>>2]|0)+20>>0]|0)==0:0){a[c>>2]=w;t=0;break}if((r[A+484>>0]|0)!=0|t^1)if((z5[a[oA>>2]&127](oA,-4,f,f,u)|0)==-1)t=29;else{a[c>>2]=w;t=0}else t=3;break}case 58:{do{if((r[W>>0]|0?(yA=r[vA>>0]|0,r[vA>>0]=1,a[N>>2]|0):0)?a[EA>>2]|0:0){t=lb(A,y,75395,36)|0;if(!t){t=1;break A}WA=t+20|0;a[WA>>2]=a[QA>>2];r[CA>>0]=0;if(!(z5[a[EA>>2]&127](a[IA>>2]|0,0,a[WA>>2]|0,a[t+16>>2]|0,a[t+24>>2]|0)|0)){t=21;break A}if(!(r[CA>>0]|0)){r[vA>>0]=yA;break}if(((r[ZA>>0]|0)==0?(zA=a[GA>>2]|0,zA|0):0)?(Q5[zA&63](a[dA>>2]|0)|0)==0:0){t=22;break A}}}while(0);a[A+276>>2]=58;t=cb(A,w,f,c)|0;break}case 184:{t=(e|0)==28?10:(e|0)==12?17:2;break}case 189:{a[A+276>>2]=59;t=0;break}case 193:{a[AA>>2]=(a[AA>>2]|0)>>>1;t=1;break}case 198:{a[AA>>2]=0;t=1;break}case 278:{a[c>>2]=a[WA>>2];t=0;break}case 280:break}k=YA;return t|0}function fb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+32|0;o=h+16|0;s=h+12|0;t=h+8|0;c=h+4|0;b=h;a[o>>2]=0;a[s>>2]=0;a[t>>2]=0;a[b>>2]=-1;w=A+144|0;u=A+284|0;n=(e|0)!=0;A:do{if(D5[(r[A+232>>0]<<24>>24?2:1)&3](e,a[w>>2]|0,i,f,u,t,c,o,s,b)|0){if((a[b>>2]|0)==1&(n^1)?(r[(a[A+352>>2]|0)+130>>0]=1,l=A+488|0,(a[l>>2]|0)==1):0)a[l>>2]=0;l=A+140|0;if(!(a[l>>2]|0))if(!(a[A+80>>2]|0)){i=0;e=0}else{Bb(A,a[w>>2]|0,i,f);i=0;e=0}else{e=a[o>>2]|0;if(!e)e=0;else{f=a[w>>2]|0;e=ab(A+436|0,f,e,e+(m5[a[f+28>>2]&127](f,e)|0)|0)|0;if(!e){e=1;break}a[A+452>>2]=a[A+448>>2]}n=a[t>>2]|0;if(n){t=a[w>>2]|0;n=ab(A+436|0,t,n,(a[c>>2]|0)+(0-(a[t+64>>2]|0))|0)|0;if(!n){e=1;break}}else n=0;X5[a[l>>2]&31](a[A+4>>2]|0,n,e,a[b>>2]|0);i=n}do{if(!(a[A+228>>2]|0)){n=a[s>>2]|0;l=n;if(n|0){b=a[n+64>>2]|0;s=a[w>>2]|0;if((b|0)==(a[s+64>>2]|0)?(b|0)!=2|(n|0)==(s|0):0){a[w>>2]=l;break}a[u>>2]=a[o>>2];e=19;break A}n=a[o>>2]|0;if(n|0){l=A+436|0;if(!e){e=a[w>>2]|0;e=ab(l,e,n,n+(m5[a[e+28>>2]&127](e,n)|0)|0)|0;if(!e){e=1;break A}}e=qb(A,e)|0;nb(l);if((e|0)!=18)break A;a[u>>2]=a[o>>2];e=18;break A}}}while(0);if((e|0)!=0|(i|0)!=0){nb(A+436|0);e=0}else e=0}else e=n?31:30}while(0);k=h;return e|0}function ab(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;do{if(!(ub(A,e,i,f)|0))e=0;else{i=A+12|0;e=a[i>>2]|0;if((e|0)==(a[A+8>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=0;e=a[A+16>>2]|0}}while(0);return e|0}function nb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=A+4|0;e=a[r>>2]|0;A:do{if(!e){a[r>>2]=a[A>>2];e=A}else{i=a[A>>2]|0;while(1){if(!i){e=A;break A}n=a[i>>2]|0;a[i>>2]=e;a[r>>2]=i;f=i;i=n;e=f}}}while(0);a[e>>2]=0;a[A+16>>2]=0;a[A+12>>2]=0;a[A+8>>2]=0;return}function lb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;C=e+8|0;A:do{if(!(a[C>>2]|0))if(f){r[e+4>>0]=6;a[C>>2]=64;l=e+16|0;t=Q5[a[a[l>>2]>>2]&63](256)|0;a[e>>2]=t;if(!t){a[C>>2]=0;l=0;break}else{Y6(t|0,0,256)|0;c=Kb(A,i)|0;c=(a[C>>2]|0)+-1&c;t=e;k=27;break}}else l=0;else{E=Kb(A,i)|0;b=a[C>>2]|0;c=b+-1|0;s=a[e>>2]|0;w=E&0-b;g=e+4|0;u=c>>>2;t=0;c=c&E;while(1){l=a[s+(c<<2)>>2]|0;if(!l)break;if((_b(i,a[l>>2]|0)|0)<<24>>24)break A;if(!(t<<24>>24))l=(w>>>((n[g>>0]|0)+-1|0)&u|1)&255;else l=t;v=l&255;t=l;c=c-v+(c>>>0>>0?b:0)|0}if(f){t=r[g>>0]|0;l=t&255;if(!((a[e+12>>2]|0)>>>(l+-1|0))){l=e+16|0;t=e;k=27;break}h=l+1&255;c=t+1&255;B=1<>2]>>2]&63](t)|0;if(v){Y6(v|0,0,t|0)|0;o=0-B|0;u=c+-1|0;k=d>>>2;w=0;while(1){if(w>>>0>=(a[C>>2]|0)>>>0)break;t=a[(a[e>>2]|0)+(w<<2)>>2]|0;if(t|0){t=Kb(A,a[t>>2]|0)|0;b=((t&o)>>>u&k|1)&255;t=t&d;c=0;while(1){s=v+(t<<2)|0;if(!(a[s>>2]|0))break;s=c<<24>>24==0?b:c;I=s&255;t=t+(t>>>0>>0?B:0)-I|0;c=s}a[s>>2]=a[(a[e>>2]|0)+(w<<2)>>2]}w=w+1|0}F5[a[(a[l>>2]|0)+8>>2]&127](a[e>>2]|0);a[e>>2]=v;r[g>>0]=h;a[C>>2]=B;b=((E&o)>>>u&k|1)&255;t=d&E;c=0;while(1){if(!(a[v+(t<<2)>>2]|0)){c=t;t=e;k=27;break A}I=c<<24>>24==0?b:c;C=I&255;t=t+(t>>>0>>0?B:0)-C|0;c=I}}else l=0}else l=0}}while(0);if((k|0)==27){l=Q5[a[a[l>>2]>>2]&63](f)|0;a[(a[t>>2]|0)+(c<<2)>>2]=l;l=a[(a[t>>2]|0)+(c<<2)>>2]|0;if(!l)l=0;else{Y6(l|0,0,f|0)|0;a[a[(a[t>>2]|0)+(c<<2)>>2]>>2]=i;l=e+12|0;a[l>>2]=(a[l>>2]|0)+1;l=a[(a[t>>2]|0)+(c<<2)>>2]|0}}return l|0}function tb(A){A=A|0;var e=0,i=0,f=0;f=A;e=A;while(1){i=r[f>>0]|0;if(!(i<<24>>24))break;switch(i<<24>>24|0){case 10:case 13:case 32:{if((e|0)!=(A|0)){if((r[e+-1>>0]|0)!=32){r[e>>0]=32;e=e+1|0}}else e=A;break}default:{r[e>>0]=i;e=e+1|0}}f=f+1|0}if((e|0)!=(A|0)){A=e+-1|0;A=(r[A>>0]|0)==32?A:e}r[A>>0]=0;return}function cb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;e=Lb(A,0,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;if((e|0)==0?(Jb(A)|0)<<24>>24==0:0)e=1;return e|0}function bb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=a[A+352>>2]|0;e=ab(n+80|0,e,i,r)|0;do{if((e|0)!=0?(f=lb(A,n+20|0,e,24)|0,(f|0)!=0):0)if((a[f>>2]|0)==(e|0)){a[n+96>>2]=a[n+92>>2];if(!(Xb(A,f)|0)){f=0;break}}else a[n+92>>2]=a[n+96>>2];else f=0}while(0);return f|0}function sb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=a[A+352>>2]|0;b=w+80|0;u=w+92|0;l=a[u>>2]|0;s=w+88|0;if((l|0)==(a[s>>2]|0))if(!((ob(b)|0)<<24>>24))n=0;else{l=a[u>>2]|0;t=4}else t=4;A:do{if((t|0)==4){a[u>>2]=l+1;r[l>>0]=0;e=ab(b,e,i,f)|0;if((e|0)!=0?(c=e+1|0,n=lb(A,w+40|0,c,12)|0,(n|0)!=0):0){if((a[n>>2]|0)!=(c|0)){a[u>>2]=a[w+96>>2];break}l=a[u>>2]|0;t=w+96|0;a[t>>2]=l;if(r[A+232>>0]|0){i=r[c>>0]|0;e:do{if(i<<24>>24==120)if((((r[e+2>>0]|0)==109?(r[e+3>>0]|0)==108:0)?(r[e+4>>0]|0)==110:0)?(r[e+5>>0]|0)==115:0){switch(r[e+6>>0]|0){case 0:{l=w+152|0;break}case 58:{l=lb(A,w+60|0,e+7|0,8)|0;break}default:{f=0;e=120;break e}}a[n+4>>2]=l;r[n+9>>0]=1;break A}else{f=0;e=120}else{f=0;e=i}}while(0);e:while(1){switch(e<<24>>24){case 0:break A;case 58:{i=0;break e}default:{}}e=f+1|0;f=e;e=r[c+e>>0]|0}while(1){e=(l|0)==(a[s>>2]|0);if((i|0)>=(f|0))break;if(e){if(!((ob(b)|0)<<24>>24)){n=0;break A}l=a[u>>2]|0}e=r[c+i>>0]|0;a[u>>2]=l+1;r[l>>0]=e;i=i+1|0;l=a[u>>2]|0}if(e){if(!((ob(b)|0)<<24>>24)){n=0;break}l=a[u>>2]|0}a[u>>2]=l+1;r[l>>0]=0;l=lb(A,w+60|0,a[t>>2]|0,8)|0;a[n+4>>2]=l;if(l){e=a[t>>2]|0;if((a[l>>2]|0)==(e|0)){a[t>>2]=a[u>>2];break}else{a[u>>2]=e;break}}else n=0}}else n=0}}while(0);return n|0}function wb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;n=A+12|0;l=A+8|0;while(1){i=r[e>>0]|0;if(!(i<<24>>24)){t=7;break}f=a[n>>2]|0;if((f|0)==(a[l>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}f=a[n>>2]|0;i=r[e>>0]|0}a[n>>2]=f+1;r[f>>0]=i;e=e+1|0}if((t|0)==7)e=a[A+16>>2]|0;return e|0}function ub(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;a[l>>2]=i;n=A+12|0;if((a[n>>2]|0)==0?(ob(A)|0)<<24>>24==0:0)i=0;else f=3;A:do{if((f|0)==3){i=e+56|0;f=A+8|0;while(1){if((z5[a[i>>2]&127](e,l,r,n,a[f>>2]|0)|0)>>>0<2)break;if(!((ob(A)|0)<<24>>24)){i=0;break A}}i=a[A+16>>2]|0}}while(0);k=t;return i|0}function kb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0;t=f<<24>>24==0;u=A+12|0;w=a[u>>2]|0;A:do{if(!(t&(n|0)==0)){c=A+20|0;f=0;while(1){if((f|0)>=(w|0))break;if((a[(a[c>>2]|0)+(f*12|0)>>2]|0)==(e|0)){f=1;break A}else f=f+1|0}if((!t?(b=A+8|0,(a[b>>2]|0)==0):0)?(r[e+9>>0]|0)==0:0){a[b>>2]=e;s=9}else s=9}else s=9}while(0);A:do{if((s|0)==9){c=A+16|0;do{if((w|0)==(a[c>>2]|0))if(!w){a[c>>2]=8;f=Q5[a[l+12>>2]&63](96)|0;a[A+20>>2]=f;if(f|0)break;a[c>>2]=0;f=0;break A}else{t=A+20|0;f=m5[a[l+16>>2]&127](a[t>>2]|0,w*24|0)|0;if(!f){f=0;break A}a[c>>2]=w<<1;a[t>>2]=f;break}else f=a[A+20>>2]|0}while(0);l=a[u>>2]|0;a[f+(l*12|0)>>2]=e;a[f+(l*12|0)+8>>2]=n;r[f+(l*12|0)+4>>0]=i;if(!(i<<24>>24))r[e+8>>0]=1;a[u>>2]=(a[u>>2]|0)+1;f=1}}while(0);return f|0}function ob(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;e=A+4|0;r=a[e>>2]|0;do{if(r){f=A+16|0;n=a[f>>2]|0;if(!n){a[A>>2]=r;a[e>>2]=a[r>>2];a[r>>2]=0;s=a[A>>2]|0;e=s+8|0;a[f>>2]=e;a[A+8>>2]=(a[s+4>>2]|0)+(s+8);a[A+12>>2]=e;e=1;break}i=A+8|0;if(((a[i>>2]|0)-n|0)<(a[r+4>>2]|0)){b=a[r>>2]|0;a[r>>2]=a[A>>2];s=a[e>>2]|0;a[A>>2]=s;a[e>>2]=b;e=a[f>>2]|0;y6(s+8|0,e|0,(a[i>>2]|0)-e|0)|0;e=a[A>>2]|0;s=A+12|0;a[s>>2]=(a[s>>2]|0)-(a[f>>2]|0)+(e+8);a[f>>2]=e+8;a[i>>2]=(a[e+4>>2]|0)+(e+8);e=1}else l=6}else l=6}while(0);A:do{if((l|0)==6){r=a[A>>2]|0;b=A+16|0;do{if(!r){t=b;e=a[b>>2]|0}else{c=a[b>>2]|0;e=c;if((c|0)!=(r+8|0)){t=b;break}f=A+8|0;n=(a[f>>2]|0)-e<<1;l=A+12|0;i=(a[l>>2]|0)-e|0;if((n|0)<0){e=0;break A}e=Ob(n)|0;if(!e){e=0;break A}e=m5[a[(a[A+20>>2]|0)+4>>2]&127](r,e)|0;if(!e){e=0;break A}a[A>>2]=e;a[e+4>>2]=n;e=a[A>>2]|0;a[l>>2]=e+8+i;a[b>>2]=e+8;a[f>>2]=e+8+n;e=1;break A}}while(0);c=A+8|0;e=(a[c>>2]|0)-e|0;if((e|0)>=0){if((e|0)>=1024){e=e<<1;if((e|0)<0){e=0;break}}else e=1024;i=Ob(e)|0;if((i|0)!=0?(s=Q5[a[a[A+20>>2]>>2]&63](i)|0,(s|0)!=0):0){a[s+4>>2]=e;a[s>>2]=a[A>>2];a[A>>2]=s;l=A+12|0;A=a[l>>2]|0;r=a[b>>2]|0;i=A;f=r;if((A|0)==(r|0)){n=s+8|0;r=f}else{n=s+8|0;y6(n|0,r|0,i-f|0)|0;r=a[t>>2]|0;i=a[l>>2]|0}a[l>>2]=s+8+(i-r);a[b>>2]=n;a[c>>2]=s+8+e;e=1}else e=0}else e=0}}while(0);return e|0}function hb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0;A=Pb(A,e,i,f,n,l)|0;do{if(!A){e=l+12|0;A=a[e>>2]|0;if((i<<24>>24==0?(a[l+16>>2]|0)!=(A|0):0)?(t=A+-1|0,(r[t>>0]|0)==32):0){a[e>>2]=t;A=t}if((A|0)==(a[l+8>>2]|0)){if(!((ob(l)|0)<<24>>24)){A=1;break}A=a[e>>2]|0}a[e>>2]=A+1;r[A>>0]=0;A=0}}while(0);return A|0}function db(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+16|0;m=D;L=D+4|0;n=a[A+352>>2]|0;W=n+104|0;z=A+272|0;y=a[z>>2]|0;a[z>>2]=1;if((a[W>>2]|0)==0?(ob(W)|0)<<24>>24==0:0)n=1;else{w=e+20|0;u=A+484|0;o=A+144|0;h=A+412|0;d=e+64|0;B=n+132|0;v=A+428|0;g=A+424|0;E=A+224|0;C=A+112|0;s=n+130|0;I=n+128|0;Z=n+131|0;G=A+116|0;Q=n+112|0;c=n+116|0;b=e+40|0;A:while(1){e:do{switch(y5[a[w>>2]&127](e,i,f,m)|0){case-4:{n=0;break A}case-1:{Y=37;break A}case 0:{Y=39;break A}case 28:{if((r[u>>0]|0)==0?(a[o>>2]|0)==(e|0):0){Y=19;break A}n=a[d>>2]|0;n=ab(h,e,i+n|0,(a[m>>2]|0)+(0-n)|0)|0;if(!n){n=1;break A}l=lb(A,B,n,0)|0;a[g>>2]=a[v>>2];if(!l){Y=9;break A}t=l+32|0;if(r[t>>0]|0){Y=11;break A}n=l+16|0;if(!(a[n>>2]|0)){r[t>>0]=1;n=a[l+4>>2]|0;n=db(A,a[E>>2]|0,n,n+(a[l+8>>2]|0)|0)|0;r[t>>0]=0;if(!n)break e;else break A}if(a[C>>2]|0){r[Z>>0]=0;r[t>>0]=1;l=(z5[a[C>>2]&127](a[G>>2]|0,0,a[l+20>>2]|0,a[n>>2]|0,a[l+24>>2]|0)|0)==0;r[t>>0]=0;if(l){n=21;break A}if(r[Z>>0]|0)break e}r[I>>0]=r[s>>0]|0;break}case 6:case 9:{if(!(ub(W,e,i,a[m>>2]|0)|0)){n=1;break A}break}case-3:{a[m>>2]=i+(a[d>>2]|0);Y=22;break}case 7:{Y=22;break}case 10:{n=m5[a[b>>2]&127](e,i)|0;if((n|0)<0){Y=27;break A}l=ds(n,L)|0;i=0;while(1){if((i|0)>=(l|0))break;n=a[c>>2]|0;if((a[Q>>2]|0)==(n|0)){if(!((ob(W)|0)<<24>>24)){n=1;Y=35;break A}n=a[c>>2]|0}t=r[L+i>>0]|0;a[c>>2]=n+1;r[n>>0]=t;i=i+1|0}break}default:{Y=41;break A}}}while(0);if((Y|0)==22){Y=0;n=a[c>>2]|0;if((a[Q>>2]|0)==(n|0)){if(!((ob(W)|0)<<24>>24)){n=1;break}n=a[c>>2]|0}a[c>>2]=n+1;r[n>>0]=10}i=a[m>>2]|0}if((Y|0)==9){r[I>>0]=r[s>>0]|0;n=0}else if((Y|0)==11)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=12}else n=12;else if((Y|0)==19){a[A+284>>2]=i;n=10}else if((Y|0)==27)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=14;Y=35}else{n=14;Y=35}else if((Y|0)==37)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=4}else n=4;else if((Y|0)==39)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=a[m>>2];n=4}else n=4;else if((Y|0)==41)if((a[o>>2]|0)==(e|0)){a[A+284>>2]=i;n=23}else n=23;a[z>>2]=y}k=D;return n|0}function Bb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+16|0;w=o;u=o+4|0;a[w>>2]=i;if(!(r[e+68>>0]|0)){if((a[A+144>>2]|0)==(e|0)){n=A+288|0;l=A+284|0}else{l=a[A+296>>2]|0;n=l+4|0}t=A+44|0;c=e+56|0;b=A+48|0;s=A+80|0;i=A+4|0;do{a[u>>2]=a[t>>2];A=z5[a[c>>2]&127](e,w,f,u,a[b>>2]|0)|0;a[n>>2]=a[w>>2];h=a[t>>2]|0;J5[a[s>>2]&127](a[i>>2]|0,h,(a[u>>2]|0)-h|0);a[l>>2]=a[w>>2]}while(A>>>0>1)}else J5[a[A+80>>2]&127](a[A+4>>2]|0,i,f-i|0);k=o;return}function vb(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;c=s;b=a[i>>2]|0;if((a[A+144>>2]|0)==(e|0)){t=A+284|0;a[t>>2]=b;l=A+288|0}else{t=a[A+296>>2]|0;l=t+4|0}a[t>>2]=b;a[i>>2]=0;w=y5[a[e+12>>2]&127](e,b,r,c)|0;r=a[c>>2]|0;a[l>>2]=r;switch(w|0){case 42:{if(a[A+80>>2]|0){Bb(A,e,b,r);r=a[c>>2]|0}a[i>>2]=r;a[f>>2]=r;r=(a[A+476>>2]|0)==2?35:0;break}case 0:{a[t>>2]=r;r=4;break}case-2:{if(!(n<<24>>24))r=6;else{a[f>>2]=b;r=0}break}case-4:case-1:{if(!(n<<24>>24))r=2;else{a[f>>2]=b;r=0}break}default:{a[t>>2]=r;r=23}}k=s;return r|0}function gb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;a[n>>2]=e;e=vb(A,a[A+144>>2]|0,n,i,f,(r[A+480>>0]|0)==0&1)|0;n=a[n>>2]|0;if(!((e|0)!=0|(n|0)==0)){a[A+276>>2]=57;e=ib(A,n,i,f)|0}k=l;return e|0}function Eb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=a[A+352>>2]|0;c=t+184|0;if(!(a[c>>2]|0)){e=Q5[a[A+12>>2]&63](a[A+464>>2]<<2)|0;a[c>>2]=e;if(!e)e=-1;else{a[e>>2]=0;i=4}}else i=4;do{if((i|0)==4){l=t+176|0;e=a[l>>2]|0;n=t+172|0;i=a[n>>2]|0;f=t+164|0;r=a[f>>2]|0;if(e>>>0>>0)n=r;else{if(!r){e=Q5[a[A+12>>2]&63](896)|0;if(!e){e=-1;break}else{i=e;e=32}}else{e=m5[a[A+16>>2]&127](r,i*56|0)|0;if(!e){e=-1;break}i=e;e=a[n>>2]<<1}a[n>>2]=e;a[f>>2]=i;e=a[l>>2]|0;n=i}a[l>>2]=e+1;i=a[t+180>>2]|0;if(i|0){A=a[(a[c>>2]|0)+(i+-1<<2)>>2]|0;f=n+(A*28|0)+16|0;i=a[f>>2]|0;if(i|0)a[n+(i*28|0)+24>>2]=e;i=n+(A*28|0)+20|0;r=a[i>>2]|0;if(!r)a[n+(A*28|0)+12>>2]=e;a[f>>2]=e;a[i>>2]=r+1}c=n+(e*28|0)+12|0;a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0}}while(0);return e|0}function Cb(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;u=A+300|0;f=a[u>>2]|0;if(!f){f=Q5[a[A+12>>2]&63](24)|0;if(!f)f=1;else{s=f;n=4}}else{a[u>>2]=a[f+8>>2];s=f;n=4}do{if((n|0)==4){l=e+32|0;r[l>>0]=1;t=e+12|0;a[t>>2]=0;c=A+296|0;b=s+8|0;a[b>>2]=a[c>>2];a[c>>2]=s;a[s+12>>2]=e;f=A+308|0;a[s+16>>2]=a[f>>2];r[s+20>>0]=i;a[s>>2]=0;a[s+4>>2]=0;n=a[e+4>>2]|0;i=n+(a[e+8>>2]|0)|0;a[w>>2]=n;if(!(r[e+33>>0]|0))f=Lb(A,a[f>>2]|0,a[A+224>>2]|0,n,i,w,0)|0;else{e=A+224|0;f=a[e>>2]|0;f=y5[a[f>>2]&127](f,n,i,w)|0;f=rb(A,a[e>>2]|0,n,i,f,a[w>>2]|0,w,0)|0}if(!f){f=a[w>>2]|0;if((i|0)!=(f|0)?(a[A+476>>2]|0)==3:0){a[t>>2]=f-n;a[A+276>>2]=60;f=0;break}r[l>>0]=0;a[c>>2]=a[b>>2];a[b>>2]=a[u>>2];a[u>>2]=s;f=0}}}while(0);k=o;return f|0}function Ib(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+16|0;i=n+4|0;r=n;e=a[A+352>>2]|0;f=e+176|0;e=Q5[a[A+12>>2]&63](((a[f>>2]|0)*20|0)+(a[e+168>>2]|0)|0)|0;if(!e)e=0;else{a[r>>2]=e+((a[f>>2]|0)*20|0);a[i>>2]=e+20;mb(A,0,e,i,r)}k=n;return e|0}function Zb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=A+64|0;if(!(a[c>>2]|0))if(!(a[A+80>>2]|0))i=1;else{Bb(A,e,i,r);i=1}else{l=e+64|0;n=i+(a[l>>2]<<1)|0;i=n+(m5[a[e+28>>2]&127](e,n)|0)|0;f=A+412|0;n=ab(f,e,n,i)|0;if((n|0)!=0?(a[A+428>>2]=a[A+424>>2],t=m5[a[e+32>>2]&127](e,i)|0,t=ab(f,e,t,r+(0-(a[l>>2]<<1))|0)|0,(t|0)!=0):0){Qb(t);J5[a[c>>2]&127](a[A+4>>2]|0,n,t);nb(f);i=1}else i=0}return i|0}function Gb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;n=A+68|0;if(!(a[n>>2]|0))if(!(a[A+80>>2]|0))e=1;else{Bb(A,e,i,r);e=1}else{f=A+412|0;l=a[e+64>>2]|0;e=ab(f,e,i+(l<<2)|0,r+(U(l,-3)|0)|0)|0;if(!e)e=0;else{Qb(e);V5[a[n>>2]&63](a[A+4>>2]|0,e);nb(f);e=1}}return e|0}function Qb(A){A=A|0;var e=0,i=0,f=0;A:while(1){switch(r[A>>0]|0){case 0:break A;case 13:{i=A;e=13;f=4;break A}default:{}}A=A+1|0}if((f|0)==4){while(1){if(e<<24>>24==13){r[i>>0]=10;f=A+1|0;A=(r[f>>0]|0)==10?A+2|0:f}else{r[i>>0]=e;A=A+1|0}i=i+1|0;e=r[A>>0]|0;if(!(e<<24>>24))break;else f=4}r[i>>0]=0}return}function mb(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=(a[A+352>>2]|0)+164|0;c=a[(a[b>>2]|0)+(e*28|0)>>2]|0;a[i>>2]=c;a[i+4>>2]=a[(a[b>>2]|0)+(e*28|0)+4>>2];if((c|0)==4){a[i+8>>2]=a[n>>2];e=a[(a[b>>2]|0)+(e*28|0)+8>>2]|0;while(1){c=r[e>>0]|0;b=a[n>>2]|0;a[n>>2]=b+1;r[b>>0]=c;if(!(r[e>>0]|0))break;else e=e+1|0}a[i+12>>2]=0;a[i+16>>2]=0}else{l=a[(a[b>>2]|0)+(e*28|0)+20>>2]|0;t=i+12|0;a[t>>2]=l;c=i+16|0;a[c>>2]=a[f>>2];a[f>>2]=(a[f>>2]|0)+(l*20|0);e=(a[b>>2]|0)+(e*28|0)+12|0;l=0;while(1){e=a[e>>2]|0;if(l>>>0>=(a[t>>2]|0)>>>0)break;mb(A,e,(a[c>>2]|0)+(l*20|0)|0,f,n);e=(a[b>>2]|0)+(e*28|0)+24|0;l=l+1|0}a[i+8>>2]=0}return}function Lb(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0,tA=0,cA=0,bA=0,sA=0,wA=0,uA=0;wA=k;k=k+48|0;cA=wA+28|0;fA=wA+32|0;bA=wA+24|0;_=wA;a[cA>>2]=f;q=a[A+352>>2]|0;if((a[A+144>>2]|0)==(i|0)){aA=A+284|0;K=A+288|0}else{K=a[A+296>>2]|0;aA=K;K=K+4|0}a[aA>>2]=f;v=i+4|0;nA=A+80|0;g=A+476|0;E=i+44|0;C=i+64|0;I=q+80|0;Z=q+96|0;G=q+92|0;Q=q+129|0;m=A+112|0;L=A+116|0;W=A+428|0;y=A+424|0;z=A+304|0;Y=A+120|0;lA=A+4|0;D=q+130|0;$=A+60|0;M=A+364|0;F=A+12|0;V=A+360|0;J=i+28|0;tA=A+308|0;AA=i+56|0;N=A+16|0;X=A+52|0;R=A+412|0;H=A+388|0;p=A+56|0;U=A+232|0;x=A+233|0;T=A+468|0;j=A+104|0;S=A+372|0;P=i+40|0;O=A+72|0;eA=i+68|0;iA=A+44|0;rA=A+48|0;A:while(1){B=a[cA>>2]|0;a[fA>>2]=B;B=y5[a[v>>2]&127](i,B,n,fA)|0;f=a[fA>>2]|0;a[K>>2]=f;b=f;e:do{switch(B|0){case-3:{sA=6;break A}case-4:{sA=15;break A}case 0:{sA=20;break A}case-1:{sA=21;break A}case-2:{sA=23;break A}case 12:{f=17;break A}case-5:{sA=134;break A}case 9:{B=a[C>>2]|0;B=(W5[a[E>>2]&63](i,(a[cA>>2]|0)+B|0,b+(0-B)|0)|0)&255;r[bA>>0]=B;do{if(B<<24>>24){f=a[$>>2]|0;if(f|0){J5[f&127](a[lA>>2]|0,bA,1);break}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{c=a[C>>2]|0;c=ab(I,i,(a[cA>>2]|0)+c|0,(a[fA>>2]|0)+(0-c)|0)|0;if(!c){f=1;sA=56;break A}b=lb(A,q,c,0)|0;a[G>>2]=a[Z>>2];if((r[Q>>0]|0)!=0?(r[D>>0]|0)==0:0){if(!b){f=a[Y>>2]|0;if(f|0){J5[f&127](a[lA>>2]|0,c,0);break}if(!(a[nA>>2]|0))break;Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}}else{if(!b){f=11;sA=56;break A}if(!(r[b+34>>0]|0)){f=24;sA=56;break A}}f=b+32|0;if(r[f>>0]|0){f=12;sA=56;break A}if(a[b+28>>2]|0){f=15;sA=56;break A}if(!(a[b+4>>2]|0)){if(!(a[m>>2]|0)){if(!(a[nA>>2]|0))break;Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}r[f>>0]=1;c=yb(A)|0;r[f>>0]=0;if(!c){f=1;sA=56;break A}if(!(z5[a[m>>2]&127](a[L>>2]|0,c,a[b+20>>2]|0,a[b+16>>2]|0,a[b+24>>2]|0)|0)){f=21;sA=56;break A}a[y>>2]=a[W>>2];break}if(r[z>>0]|0){f=Cb(A,b,0)|0;if(!f)break;else{sA=58;break A}}f=a[Y>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else J5[f&127](a[lA>>2]|0,a[b>>2]|0,0);break e}}while(0);break}case 1:case 2:{f=a[M>>2]|0;if(!f){f=Q5[a[F>>2]&63](48)|0;if(!f){f=1;sA=75;break A}c=Q5[a[F>>2]&63](32)|0;a[f+36>>2]=c;if(!c){sA=63;break A}a[f+40>>2]=c+32}else a[M>>2]=a[f>>2];u=f+44|0;a[u>>2]=0;a[f>>2]=a[V>>2];a[V>>2]=f;B=f+12|0;a[f+16>>2]=0;a[f+20>>2]=0;d=(a[cA>>2]|0)+(a[C>>2]|0)|0;h=f+4|0;a[h>>2]=d;o=f+8|0;a[o>>2]=m5[a[J>>2]&127](i,d)|0;a[tA>>2]=(a[tA>>2]|0)+1;h=a[h>>2]|0;o=h+(a[o>>2]|0)|0;a[_>>2]=h;h=f+36|0;a[bA>>2]=a[h>>2];d=f+40|0;c=a[d>>2]|0;while(1){uA=z5[a[AA>>2]&127](i,_,o,bA,c+-1|0)|0;c=a[bA>>2]|0;s=a[h>>2]|0;b=s;w=c-b|0;if((uA|0)==1?1:(a[_>>2]|0)>>>0>=o>>>0)break;b=(a[d>>2]|0)-b<<1;c=m5[a[N>>2]&127](s,b)|0;if(!c){sA=69;break A}a[h>>2]=c;uA=c+b|0;a[d>>2]=uA;a[bA>>2]=c+w;c=uA}a[f+24>>2]=w;a[B>>2]=b;r[c>>0]=0;f=zb(A,i,a[cA>>2]|0,B,u)|0;if(f|0){sA=75;break A}f=a[X>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else J5[f&127](a[lA>>2]|0,a[B>>2]|0,a[H>>2]|0);nb(R);break}case 3:case 4:{uA=(a[cA>>2]|0)+(a[C>>2]|0)|0;a[bA>>2]=0;uA=ab(R,i,uA,uA+(m5[a[J>>2]&127](i,uA)|0)|0)|0;a[_>>2]=uA;if(!uA){f=1;sA=89;break A}a[W>>2]=a[y>>2];f=zb(A,i,a[cA>>2]|0,_,bA)|0;if(f|0){sA=79;break A}a[W>>2]=a[y>>2];f=a[X>>2]|0;if(!f)c=1;else{J5[f&127](a[lA>>2]|0,a[_>>2]|0,a[H>>2]|0);c=0}f=a[p>>2]|0;if(!f){if(c|0?a[nA>>2]|0:0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{if(a[X>>2]|0){a[aA>>2]=a[K>>2];f=a[p>>2]|0}V5[f&63](a[lA>>2]|0,a[_>>2]|0)}nb(R);Yb(A,a[bA>>2]|0);if((a[tA>>2]|0)==0?(a[g>>2]&-2|0)!=2:0){sA=92;break A}break}case 5:{if((a[tA>>2]|0)==(e|0)){f=13;break A}w=a[V>>2]|0;a[V>>2]=a[w>>2];a[w>>2]=a[M>>2];a[M>>2]=w;f=(a[cA>>2]|0)+(a[C>>2]<<1)|0;c=m5[a[J>>2]&127](i,f)|0;if((c|0)!=(a[w+8>>2]|0)){sA=96;break A}if(F4(a[w+4>>2]|0,f,c)|0){sA=96;break A}a[tA>>2]=(a[tA>>2]|0)+-1;f=a[p>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0)}else{c=a[w+16>>2]|0;s=w+12|0;if((c|0)!=0&(r[U>>0]|0)!=0){f=(a[s>>2]|0)+(a[w+28>>2]|0)|0;while(1){b=r[c>>0]|0;if(!(b<<24>>24))break;r[f>>0]=b;f=f+1|0;c=c+1|0}c=a[w+20>>2]|0;i:do{if((c|0)!=0&(r[x>>0]|0)!=0){r[f>>0]=r[T>>0]|0;while(1){f=f+1|0;b=r[c>>0]|0;if(!(b<<24>>24))break i;r[f>>0]=b;c=c+1|0}}}while(0);r[f>>0]=0;f=a[p>>2]|0}V5[f&63](a[lA>>2]|0,a[s>>2]|0)}b=w+44|0;while(1){s=a[b>>2]|0;if(!s)break;f=a[j>>2]|0;if(!f){f=s;c=s}else{V5[f&63](a[lA>>2]|0,a[a[s>>2]>>2]|0);f=s;c=a[b>>2]|0}a[b>>2]=a[c+4>>2];a[s+4>>2]=a[S>>2];a[S>>2]=s;a[(a[f>>2]|0)+4>>2]=a[s+8>>2]}if(!(a[tA>>2]|0)){sA=117;break A}break}case 10:{f=m5[a[P>>2]&127](i,a[cA>>2]|0)|0;if((f|0)<0){f=14;break A}c=a[$>>2]|0;if(c|0){B=a[lA>>2]|0;uA=ds(f,bA)|0;J5[c&127](B,bA,uA);break e}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,a[fA>>2]|0);break}case 7:{f=a[$>>2]|0;if(f|0){r[bA>>0]=10;J5[f&127](a[lA>>2]|0,bA,1);break e}if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b);break}case 8:{f=a[O>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b)}else F5[f&127](a[lA>>2]|0);f=Mb(A,i,fA,n,l,t)|0;if(f|0)break A;if(!(a[fA>>2]|0)){sA=133;break A}break}case 6:{c=a[$>>2]|0;if(!c){if(!(a[nA>>2]|0))break e;Bb(A,i,a[cA>>2]|0,b);break e}if(!(r[eA>>0]|0))f=b;else{uA=a[cA>>2]|0;J5[c&127](a[lA>>2]|0,uA,f-uA|0);break e}while(1){a[bA>>2]=a[iA>>2];uA=z5[a[AA>>2]&127](i,cA,f,bA,a[rA>>2]|0)|0;a[K>>2]=a[cA>>2];B=a[iA>>2]|0;J5[c&127](a[lA>>2]|0,B,(a[bA>>2]|0)-B|0);if(uA>>>0<2)break;a[aA>>2]=a[cA>>2];f=a[fA>>2]|0}break}case 11:{if(!(Zb(A,i,a[cA>>2]|0,b)|0)){f=1;break A}break}case 13:{if(!(Gb(A,i,a[cA>>2]|0,b)|0)){f=1;break A}break}default:if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,b)}}while(0);uA=a[fA>>2]|0;a[cA>>2]=uA;a[aA>>2]=uA;switch(a[g>>2]|0){case 2:{f=35;break A}case 3:{sA=160;break A}default:{}}}switch(sA|0){case 6:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}a[K>>2]=n;f=a[$>>2]|0;if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,n)}else{r[bA>>0]=10;J5[f&127](a[lA>>2]|0,bA,1)}if(e)if((a[tA>>2]|0)==(e|0)){a[l>>2]=n;f=0}else f=13;else f=3;break}case 15:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}if((e|0)>0)if((a[tA>>2]|0)==(e|0)){a[l>>2]=a[cA>>2];f=0}else f=13;else f=3;break}case 20:{a[aA>>2]=f;f=4;break}case 21:{if(!(t<<24>>24))f=5;else{a[l>>2]=a[cA>>2];f=0}break}case 23:{if(!(t<<24>>24))f=6;else{a[l>>2]=a[cA>>2];f=0}break}case 56:break;case 58:break;case 63:{F5[a[A+20>>2]&127](f);f=1;sA=75;break}case 69:{f=1;sA=75;break}case 79:{Yb(A,a[bA>>2]|0);sA=89;break}case 92:{f=Db(A,a[fA>>2]|0,n,l)|0;break}case 96:{a[aA>>2]=f;f=7;break}case 117:{f=Db(A,a[fA>>2]|0,n,l)|0;break}case 133:{a[A+276>>2]=61;f=0;break}case 134:{if(t<<24>>24){a[l>>2]=a[cA>>2];f=0;break}f=a[$>>2]|0;do{if(!f){if(a[nA>>2]|0)Bb(A,i,a[cA>>2]|0,n)}else if(!(r[eA>>0]|0)){a[bA>>2]=a[iA>>2];z5[a[AA>>2]&127](i,cA,n,bA,a[rA>>2]|0)|0;uA=a[iA>>2]|0;J5[a[$>>2]&127](a[lA>>2]|0,uA,(a[bA>>2]|0)-uA|0);break}else{uA=a[cA>>2]|0;J5[f&127](a[lA>>2]|0,uA,n-uA|0);break}}while(0);if(!e){a[aA>>2]=n;f=3;break}if((a[tA>>2]|0)==(e|0)){a[l>>2]=n;f=0;break}else{a[aA>>2]=n;f=13;break}}case 160:{a[l>>2]=a[fA>>2];f=0;break}}k=wA;return f|0}function Wb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;h=k;k=k+16|0;o=h;b=A+296|0;s=a[b>>2]|0;do{if(s){w=a[s+12>>2]|0;l=w+4|0;c=a[l>>2]|0;t=w+12|0;n=c+(a[t>>2]|0)|0;c=c+(a[w+8>>2]|0)|0;a[o>>2]=n;u=w+33|0;if(!(r[u>>0]|0))n=Lb(A,a[s+16>>2]|0,a[A+224>>2]|0,n,c,o,0)|0;else{B=A+224|0;d=a[B>>2]|0;d=y5[a[d>>2]&127](d,n,c,o)|0;n=rb(A,a[B>>2]|0,n,c,d,a[o>>2]|0,o,0)|0}if(!n){n=a[o>>2]|0;if((c|0)!=(n|0)?(a[A+476>>2]|0)==3:0){a[t>>2]=n-(a[l>>2]|0);n=0;break}r[w+32>>0]=0;B=s+8|0;a[b>>2]=a[B>>2];n=A+300|0;a[B>>2]=a[n>>2];a[n>>2]=s;n=A+276|0;if(!(r[u>>0]|0)){a[n>>2]=58;n=Lb(A,(a[A+472>>2]|0)!=0&1,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;break}else{a[n>>2]=57;B=A+144|0;n=a[B>>2]|0;n=y5[a[n>>2]&127](n,e,i,o)|0;n=rb(A,a[B>>2]|0,e,i,n,a[o>>2]|0,f,(r[A+480>>0]|0)==0&1)|0;break}}}else n=23}while(0);k=h;return n|0}function yb(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;w=h;s=a[A+352>>2]|0;l=s+156|0;u=A+412|0;o=A+424|0;A:do{if(!(a[l>>2]|0)){e=0;t=A+420|0;b=A+468|0;c=12}else{e=a[o>>2]|0;t=A+420|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=61;n=A+468|0;i=(a[(a[l>>2]|0)+20>>2]|0)+(((r[n>>0]|0)!=0)<<31>>31)|0;f=0;while(1){if((f|0)>=(i|0)){e=1;b=n;c=12;break A}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}b=r[(a[(a[l>>2]|0)+16>>2]|0)+f>>0]|0;a[o>>2]=e+1;r[e>>0]=b;f=f+1|0}}}while(0);A:do{if((c|0)==12){Kc(w,s+60|0);e:while(1){do{i=_c(w)|0;if(!i)break e;l=i+4|0}while(!(a[l>>2]|0));if(e<<24>>24){e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=12}n=a[i>>2]|0;while(1){i=r[n>>0]|0;e=a[o>>2]|0;f=(e|0)==(a[t>>2]|0);if(!(i<<24>>24))break;if(f){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0;i=r[n>>0]|0}a[o>>2]=e+1;r[e>>0]=i;n=n+1|0}if(f){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=61;f=(a[(a[l>>2]|0)+20>>2]|0)+(((r[b>>0]|0)!=0)<<31>>31)|0;i=0;while(1){if((i|0)>=(f|0)){e=1;continue e}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}c=r[(a[(a[l>>2]|0)+16>>2]|0)+i>>0]|0;a[o>>2]=e+1;r[e>>0]=c;i=i+1|0}}Kc(w,s);e:while(1){do{i=_c(w)|0;if(!i)break e}while(!(r[i+32>>0]|0));if(e<<24>>24){e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=12}f=a[i>>2]|0;while(1){i=r[f>>0]|0;if(!(i<<24>>24)){e=1;continue e}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break A}e=a[o>>2]|0;i=r[f>>0]|0}a[o>>2]=e+1;r[e>>0]=i;f=f+1|0}}e=a[o>>2]|0;if((e|0)==(a[t>>2]|0)){if(!((ob(u)|0)<<24>>24)){e=0;break}e=a[o>>2]|0}a[o>>2]=e+1;r[e>>0]=0;e=a[A+428>>2]|0}}while(0);k=h;return e|0}function zb(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0;R=k;k=k+80|0;V=R+16|0;J=R;N=a[A+352>>2]|0;b=N+20|0;t=lb(A,b,a[f>>2]|0,0)|0;if(!t){t=Nb(N+80|0,a[f>>2]|0)|0;if((t|0)!=0?(c=lb(A,b,t,24)|0,(c|0)!=0):0)if((r[A+232>>0]|0)!=0?(Xb(A,c)|0)==0:0)t=1;else Q=6;else t=1}else{c=t;Q=6}A:do{if((Q|0)==6){I=a[c+12>>2]|0;b=e+36|0;s=A+376|0;v=A+388|0;g=y5[a[b>>2]&127](e,i,a[s>>2]|0,a[v>>2]|0)|0;t=g+I|0;w=a[s>>2]|0;if((t|0)>(w|0)){t=t+16|0;a[s>>2]=t;t=m5[a[A+16>>2]&127](a[v>>2]|0,t<<4)|0;if(!t){a[s>>2]=w;t=1;break}a[v>>2]=t;if((g|0)>(w|0))y5[a[b>>2]&127](e,i,g,t)|0}F=a[v>>2]|0;d=e+28|0;D=A+412|0;M=A+428|0;C=c+20|0;h=A+424|0;B=0;o=0;b=0;while(1){if((o|0)>=(g|0))break;u=a[(a[v>>2]|0)+(o<<4)>>2]|0;u=sb(A,e,u,u+(m5[a[d>>2]&127](e,u)|0)|0)|0;if(!u){t=1;break A}t=(a[u>>2]|0)+-1|0;if(r[t>>0]|0){Q=15;break}r[t>>0]=1;i=B+1|0;a[F+(B<<2)>>2]=a[u>>2];w=a[v>>2]|0;if(r[w+(o<<4)+12>>0]|0){Y=ab(D,e,a[w+(o<<4)+4>>2]|0,a[w+(o<<4)+8>>2]|0)|0;a[F+(i<<2)>>2]=Y;if(!Y){t=1;break A}}else{e:do{if(!(r[u+8>>0]|0))t=1;else{t=0;while(1){if((t|0)>=(I|0)){t=1;break e}s=a[C>>2]|0;if((u|0)==(a[s+(t*12|0)>>2]|0))break;t=t+1|0}t=r[s+(t*12|0)+4>>0]|0}}while(0);t=hb(A,e,t,a[w+(o<<4)+4>>2]|0,a[w+(o<<4)+8>>2]|0,D)|0;if(t|0)break A;a[F+(i<<2)>>2]=a[M>>2]}a[M>>2]=a[h>>2];t=a[u+4>>2]|0;do{if(t)if(r[u+9>>0]|0){t=Rb(A,t,u,a[F+(i<<2)>>2]|0,l)|0;if(!t){t=B;break}else break A}else{r[(a[u>>2]|0)+-1>>0]=2;b=b+1|0;t=B+2|0;break}else t=B+2|0}while(0);B=t;o=o+1|0}if((Q|0)==15){if((a[A+144>>2]|0)!=(e|0)){t=8;break}a[A+284>>2]=a[(a[v>>2]|0)+(o<<4)>>2];t=8;break}a[A+380>>2]=B;t=a[c+8>>2]|0;e:do{if((t|0)!=0?(E=a[t>>2]|0,(r[E+-1>>0]|0)!=0):0){t=0;while(1){if((t|0)>=(B|0)){i=0;o=b;Y=B;break e}if((a[F+(t<<2)>>2]|0)==(E|0)){Q=37;break e}t=t+2|0}}else{t=-1;Q=37}}while(0);if((Q|0)==37){a[A+384>>2]=t;i=0;o=b;Y=B}while(1){if((i|0)>=(I|0))break;t=a[C>>2]|0;w=t+(i*12|0)|0;b=a[w>>2]|0;s=(a[b>>2]|0)+-1|0;e:do{if((r[s>>0]|0)==0?(Z=t+(i*12|0)+8|0,G=a[Z>>2]|0,(G|0)!=0):0){t=a[b+4>>2]|0;do{if(t)if(r[b+9>>0]|0){t=Rb(A,t,b,G,l)|0;if(!t){t=o;b=Y;break e}else break A}else{r[s>>0]=2;t=o+1|0;break}else{r[s>>0]=1;t=o}}while(0);a[F+(Y<<2)>>2]=a[a[w>>2]>>2];a[F+(Y+1<<2)>>2]=a[Z>>2];b=Y+2|0}else{t=o;b=Y}}while(0);i=i+1|0;o=t;Y=b}a[F+(Y<<2)>>2]=0;e:do{if(!o)t=0;else{u=A+396|0;w=a[u>>2]|0;z=A+400|0;i=r[z>>0]|0;t=i&255;do{if(!(o<<1>>t)){t=1<>24}while((o>>(y&255)|0)!=0);t=(t&255)>3?t:3;r[z>>0]=t;t=t&255;s=A+392|0;b=m5[a[A+16>>2]&127](a[s>>2]|0,12<>0]=i;t=1;break A}else{a[s>>2]=b;b=1<>2]|0)+(y*12|0)>>2]=-1;t=y}}}while(0);y=t+-1|0;a[u>>2]=y;C=N+40|0;I=A+424|0;Z=A+420|0;G=b+-1|0;Q=0-b|0;m=G>>>2;L=A+233|0;W=A+468|0;t=0;E=o;i:while(1){while(1){if((t|0)>=(Y|0))break e;e=F+(t<<2)|0;w=a[e>>2]|0;i=w+-1|0;if((r[i>>0]|0)==2)break;r[i>>0]=0;t=t+2|0}Hb(A,J);pb(V,J);r[i>>0]=0;i=lb(A,C,w,0)|0;if(!i){t=1;break}i=a[i+4>>2]|0;if(!i){t=1;break}g=a[i+4>>2]|0;if(!g){t=27;break}h=g+20|0;d=g+16|0;o=0;while(1){i=a[h>>2]|0;u=a[d>>2]|0;if((o|0)>=(i|0))break;u=r[u+o>>0]|0;i=a[I>>2]|0;if((i|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}i=a[I>>2]|0}a[I>>2]=i+1;r[i>>0]=u;o=o+1|0}Ub(V,u,i);do{v=w;w=w+1|0}while((r[v>>0]|0)!=58);Ub(V,w,xb(w)|0);while(1){i=a[I>>2]|0;if((i|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}i=a[I>>2]|0}v=r[w>>0]|0;a[I>>2]=i+1;r[i>>0]=v;if(!(r[w>>0]|0))break;else w=w+1|0}v=Tb(V)|0;h=a[s>>2]|0;d=v&Q;w=0;B=G&v;while(1){if((a[h+(B*12|0)>>2]|0)!=(y|0))break;if((a[h+(B*12|0)+4>>2]|0)==(v|0)){i=a[h+(B*12|0)+8>>2]|0;u=a[M>>2]|0;while(1){H=r[u>>0]|0;o=H<<24>>24==0;if(o|H<<24>>24!=(r[i>>0]|0))break;i=i+1|0;u=u+1|0}if(o){t=8;break i}}if(!(w<<24>>24))w=(d>>>((n[z>>0]|0)+-1|0)&m|1)&255;H=w&255;B=B+((B|0)<(H|0)?b:0)-H|0}if(r[L>>0]|0){r[(a[I>>2]|0)+-1>>0]=r[W>>0]|0;i=a[a[g>>2]>>2]|0;while(1){w=a[I>>2]|0;if((w|0)==(a[Z>>2]|0)){if(!((ob(D)|0)<<24>>24)){t=1;break i}w=a[I>>2]|0}H=r[i>>0]|0;a[I>>2]=w+1;r[w>>0]=H;if(!(r[i>>0]|0))break;else i=i+1|0}}H=a[M>>2]|0;a[M>>2]=a[I>>2];a[e>>2]=H;a[(a[s>>2]|0)+(B*12|0)>>2]=y;a[(a[s>>2]|0)+(B*12|0)+4>>2]=v;a[(a[s>>2]|0)+(B*12|0)+8>>2]=H;E=E+-1|0;t=t+2|0;if(!E)break e}break A}}while(0);while(1){if((t|0)>=(Y|0)){t=l;break}r[(a[F+(t<<2)>>2]|0)+-1>>0]=0;t=t+2|0}while(1){t=a[t>>2]|0;if(!t)break;r[(a[a[t+12>>2]>>2]|0)+-1>>0]=0;t=t+4|0}if(!(r[A+232>>0]|0))t=0;else{t=a[c+4>>2]|0;if(!t){t=a[N+156>>2]|0;if(!t){t=0;break}b=a[f>>2]|0}else{t=a[t+4>>2]|0;if(!t){t=27;break}c=a[f>>2]|0;while(1){b=c+1|0;if((r[c>>0]|0)==58)break;else c=b}}if((r[A+233>>0]|0)!=0?(X=a[a[t>>2]>>2]|0,(X|0)!=0):0){c=0;while(1){s=c+1|0;if(!(r[X+c>>0]|0))break;else c=s}}else s=0;a[f+4>>2]=b;o=t+20|0;a[f+16>>2]=a[o>>2];a[f+8>>2]=a[a[t>>2]>>2];a[f+20>>2]=s;h=0;while(1){d=h+1|0;if(!(r[b+h>>0]|0))break;else h=d}c=a[o>>2]|0;w=d+s+c|0;i=t+24|0;if((w|0)>(a[i>>2]|0)){c=w+24|0;u=Q5[a[A+12>>2]&63](c)|0;if(!u){t=1;break}a[i>>2]=c;i=t+16|0;y6(u|0,a[i>>2]|0,a[o>>2]|0)|0;c=A+360|0;while(1){c=a[c>>2]|0;if(!c)break;w=c+12|0;if((a[w>>2]|0)==(a[i>>2]|0))a[w>>2]=u}F5[a[A+20>>2]&127](a[i>>2]|0);a[i>>2]=u;w=u;c=a[o>>2]|0}else{w=t+16|0;i=w;w=a[w>>2]|0}c=w+c|0;y6(c|0,b|0,d|0)|0;if(s|0){H=c+h|0;r[H>>0]=r[A+468>>0]|0;y6(H+1|0,a[a[t>>2]>>2]|0,s|0)|0}a[f>>2]=a[i>>2];t=0}}}while(0);k=R;return t|0}function Yb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;r=A+104|0;f=A+372|0;i=A+4|0;while(1){if(!e)break;A=a[r>>2]|0;if(!A)A=e;else{V5[A&63](a[i>>2]|0,a[a[e>>2]>>2]|0);A=e}l=e+4|0;n=a[l>>2]|0;a[l>>2]=a[f>>2];a[f>>2]=e;a[(a[A>>2]|0)+4>>2]=a[e+8>>2];e=n}return}function Db(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;h=k;k=k+16|0;c=h;a[A+276>>2]=62;b=A+284|0;a[b>>2]=e;s=A+144|0;w=A+288|0;u=A+80|0;t=A+476|0;n=e;A:while(1){a[c>>2]=0;d=a[s>>2]|0;d=y5[a[d>>2]&127](d,n,i,c)|0;e=a[c>>2]|0;a[w>>2]=e;l=e;switch(d|0){case-15:{o=3;break A}case-4:{o=7;break A}case 0:{o=12;break A}case-1:{o=13;break A}case-2:{o=15;break A}case 15:{if(a[u>>2]|0)Bb(A,a[s>>2]|0,n,l);break}case 11:{if(!(Zb(A,a[s>>2]|0,n,l)|0)){e=1;break A}break}case 13:{if(!(Gb(A,a[s>>2]|0,n,l)|0)){e=1;break A}break}default:{e=9;break A}}e=a[c>>2]|0;a[b>>2]=e;switch(a[t>>2]|0){case 2:{e=35;break A}case 3:{o=18;break A}default:{}}n=e}do{if((o|0)==3){if(a[u>>2]|0){Bb(A,a[s>>2]|0,n,l);if((a[t>>2]|0)==2){e=35;break}e=a[c>>2]|0}a[f>>2]=e;e=0}else if((o|0)==7){a[f>>2]=n;e=0}else if((o|0)==12){a[b>>2]=e;e=4}else if((o|0)==13)if(!(r[A+480>>0]|0)){a[f>>2]=n;e=0}else e=5;else if((o|0)==15)if(!(r[A+480>>0]|0)){a[f>>2]=n;e=0}else e=6;else if((o|0)==18){a[f>>2]=e;e=0}}while(0);k=h;return e|0}function Mb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;m=k;k=k+16|0;Z=m+8|0;G=m+4|0;I=m;t=a[i>>2]|0;a[Z>>2]=t;if((a[A+144>>2]|0)==(e|0)){B=A+284|0;a[B>>2]=t;v=A+288|0}else{v=a[A+296>>2]|0;B=v;v=v+4|0}a[B>>2]=t;a[i>>2]=0;b=e+8|0;s=A+60|0;g=A+80|0;E=A+4|0;C=A+476|0;w=e+68|0;u=A+44|0;o=e+56|0;h=A+48|0;A:while(1){c=y5[a[b>>2]&127](e,a[Z>>2]|0,f,G)|0;t=a[G>>2]|0;a[v>>2]=t;d=t;e:do{switch(c|0){case 40:{Q=6;break A}case 0:{Q=23;break A}case-2:{Q=24;break A}case-4:case-1:{Q=26;break A}case 7:{t=a[s>>2]|0;if(t|0){r[I>>0]=10;J5[t&127](a[E>>2]|0,I,1);break e}if(a[g>>2]|0)Bb(A,e,a[Z>>2]|0,d);break}case 6:{c=a[s>>2]|0;if(!c){if(!(a[g>>2]|0))break e;Bb(A,e,a[Z>>2]|0,d);break e}if(!(r[w>>0]|0))t=d;else{d=a[Z>>2]|0;J5[c&127](a[E>>2]|0,d,t-d|0);break e}while(1){a[I>>2]=a[u>>2];d=z5[a[o>>2]&127](e,Z,t,I,a[h>>2]|0)|0;a[v>>2]=a[G>>2];t=a[u>>2]|0;J5[c&127](a[E>>2]|0,t,(a[I>>2]|0)-t|0);if(d>>>0<2)break;a[B>>2]=a[Z>>2];t=a[G>>2]|0}break}default:{Q=28;break A}}}while(0);d=a[G>>2]|0;a[Z>>2]=d;a[B>>2]=d;switch(a[C>>2]|0){case 3:{Q=30;break A}case 2:{t=35;break A}default:{}}}if((Q|0)==6){t=a[A+76>>2]|0;if(!t){if(a[g>>2]|0)Bb(A,e,a[Z>>2]|0,d)}else F5[t&127](a[E>>2]|0);t=a[G>>2]|0;a[i>>2]=t;a[n>>2]=t;t=(a[C>>2]|0)==2?35:0}else if((Q|0)==23){a[B>>2]=t;t=4}else if((Q|0)==24)if(!(l<<24>>24))t=6;else{a[n>>2]=a[Z>>2];t=0}else if((Q|0)==26)if(!(l<<24>>24))t=20;else{a[n>>2]=a[Z>>2];t=0}else if((Q|0)==28){a[B>>2]=t;t=23}else if((Q|0)==30){a[n>>2]=a[G>>2];t=0}k=m;return t|0}function Fb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;a[n>>2]=e;e=Mb(A,a[A+144>>2]|0,n,i,f,(r[A+480>>0]|0)==0&1)|0;n=a[n>>2]|0;do{if(!((e|0)!=0|(n|0)==0)){e=A+276|0;if(!(a[A+472>>2]|0)){a[e>>2]=58;e=cb(A,n,i,f)|0;break}else{a[e>>2]=63;e=Vb(A,n,i,f)|0;break}}}while(0);k=l;return e|0}function Vb(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;e=Lb(A,1,a[A+144>>2]|0,e,i,f,(r[A+480>>0]|0)==0&1)|0;if((e|0)==0?(Jb(A)|0)<<24>>24==0:0)e=1;return e|0}function Jb(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=A+16|0;A=A+360|0;while(1){A=a[A>>2]|0;if(!A){A=1;break}t=(a[A+24>>2]|0)+1|0;c=A+36|0;f=a[c>>2]|0;r=f+t|0;s=A+4|0;i=a[s>>2]|0;if((i|0)==(r|0)){A=1;break}b=A+8|0;e=a[b>>2]|0;n=e+t|0;l=A+40|0;if((n|0)>((a[l>>2]|0)-f|0)){r=m5[a[w>>2]&127](f,n)|0;if(!r){A=0;break}e=A+12|0;f=a[c>>2]|0;if((a[e>>2]|0)==(f|0))a[e>>2]=r;e=A+16|0;i=a[e>>2]|0;if(i|0)a[e>>2]=r+(i-f);a[c>>2]=r;a[l>>2]=r+n;r=r+t|0;i=a[s>>2]|0;e=a[b>>2]|0}y6(r|0,i|0,e|0)|0;a[s>>2]=r}return A|0}function Nb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=A+12|0;n=A+8|0;while(1){i=a[f>>2]|0;if((i|0)==(a[n>>2]|0)){if(!((ob(A)|0)<<24>>24)){e=0;break}i=a[f>>2]|0}t=r[e>>0]|0;a[f>>2]=i+1;r[i>>0]=t;if(!(r[e>>0]|0)){l=6;break}else e=e+1|0}if((l|0)==6){t=A+16|0;e=a[t>>2]|0;a[t>>2]=a[f>>2]}return e|0}function Xb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=a[A+352>>2]|0;c=u+80|0;b=u+92|0;s=u+88|0;w=u+60|0;u=u+96|0;t=e+4|0;l=a[e>>2]|0;A:while(1){switch(r[l>>0]|0){case 0:{i=1;break A}case 58:{n=a[e>>2]|0;while(1){i=a[b>>2]|0;f=(i|0)==(a[s>>2]|0);if((n|0)==(l|0))break;if(f){if(!((ob(c)|0)<<24>>24)){i=0;break A}i=a[b>>2]|0}f=r[n>>0]|0;a[b>>2]=i+1;r[i>>0]=f;n=n+1|0}if(f){if(!((ob(c)|0)<<24>>24)){i=0;break A}i=a[b>>2]|0}a[b>>2]=i+1;r[i>>0]=0;i=lb(A,w,a[u>>2]|0,8)|0;if(!i){i=0;break A}f=a[u>>2]|0;if((a[i>>2]|0)==(f|0))a[u>>2]=a[b>>2];else a[b>>2]=f;a[t>>2]=i;break}default:{}}l=l+1|0}return i|0}function Rb(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;b=r[f>>0]|0;t=a[e>>2]|0;l=(t|0)==0;do{if(!(b<<24>>24))if(l){w=0;c=11}else l=28;else if(((!l?(r[t>>0]|0)==120:0)?(r[t+1>>0]|0)==109:0)?(r[t+2>>0]|0)==108:0){l=r[t+3>>0]|0;if((l<<24>>24==110?(r[t+4>>0]|0)==115:0)?(r[t+5>>0]|0)==0:0){l=39;break}w=l<<24>>24==0&1;c=11}else{w=0;c=11}}while(0);A:do{if((c|0)==11){s=w<<24>>24!=0;l=1;t=1;u=0;while(1){c=t<<24>>24!=0;if(!(b<<24>>24))break;do{if(c){if((u|0)<=36?b<<24>>24==(r[142257+u>>0]|0):0)break;t=0}else t=0}while(0);do{if(!(s|l<<24>>24==0)){if((u|0)<=29?b<<24>>24==(r[142294+u>>0]|0):0)break;l=0}}while(0);b=u+1|0;u=b;b=r[f+b>>0]|0}if((w&255|0)!=(c&(u|0)==36&1|0)){l=s?38:40;break}if(!(l<<24>>24!=0&(u|0)==29)){k=A+468|0;u=u+((r[k>>0]|0)!=0&1)|0;l=A+372|0;c=a[l>>2]|0;do{if(!c){l=A+12|0;t=Q5[a[l>>2]&63](28)|0;if(!t){l=1;break A}c=u+24|0;w=Q5[a[l>>2]&63](c)|0;a[t+16>>2]=w;if(!w){F5[a[A+20>>2]&127](t);l=1;break A}else{a[t+24>>2]=c;c=t;break}}else{t=c+24|0;if((u|0)>(a[t>>2]|0)){b=c+16|0;s=u+24|0;w=m5[a[A+16>>2]&127](a[b>>2]|0,s)|0;if(!w){l=1;break A}a[b>>2]=w;a[t>>2]=s}a[l>>2]=a[c+4>>2]}}while(0);a[c+20>>2]=u;t=c+16|0;y6(a[t>>2]|0,f|0,u|0)|0;l=r[k>>0]|0;if(l<<24>>24)r[(a[t>>2]|0)+(u+-1)>>0]=l;a[c>>2]=e;a[c+12>>2]=i;t=e+4|0;a[c+8>>2]=a[t>>2];if((r[f>>0]|0)==0?((a[A+352>>2]|0)+152|0)==(e|0):0)l=0;else l=c;a[t>>2]=l;a[c+4>>2]=a[n>>2];a[n>>2]=c;if((i|0)!=0?(o=a[A+100>>2]|0,(o|0)!=0):0){J5[o&127](a[A+4>>2]|0,a[e>>2]|0,a[t>>2]|0?f:0);l=0}else l=0}else l=40}}while(0);return l|0}function Hb(A,e){A=A|0;e=e|0;var i=0;i=e;a[i>>2]=0;a[i+4>>2]=0;e=e+8|0;a[e>>2]=Sb(A)|0;a[e+4>>2]=0;return}function pb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=e;n=a[i+4>>2]^1936682341;r=A;a[r>>2]=a[i>>2]^1886610805;a[r+4>>2]=n;r=e+8|0;n=r;i=a[n+4>>2]^1685025377;f=A+8|0;a[f>>2]=a[n>>2]^1852075885;a[f+4>>2]=i;f=e;e=a[f+4>>2]^1819895653;i=A+16|0;a[i>>2]=a[f>>2]^1852142177;a[i+4>>2]=e;i=a[r+4>>2]^1952801890;e=A+24|0;a[e>>2]=a[r>>2]^2037671283;a[e+4>>2]=i;a[A+40>>2]=A+32;e=A+48|0;a[e>>2]=0;a[e+4>>2]=0;return}function Ub(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;u=e+i|0;k=A+40|0;o=A+40|0;h=A+32|0;d=A+33|0;B=A+34|0;v=A+35|0;l=A+36|0;t=A+37|0;c=A+38|0;b=A+39|0;s=A+24|0;w=A+48|0;i=e;do{while(1){f=a[k>>2]|0;if(i>>>0>=u>>>0){e=0;break}if(f>>>0>=o>>>0){e=1;break}e=r[i>>0]|0;a[k>>2]=f+1;r[f>>0]=e;i=i+1|0}if(f>>>0>>0)break;G=n[h>>0]|0;Q=G6(n[d>>0]|0|0,0,8)|0;f=L;Z=G6(n[B>>0]|0|0,0,16)|0;f=f|L;C=G6(n[v>>0]|0|0,0,24)|0;f=f|L|(n[l>>0]|0);g=G6(n[t>>0]|0|0,0,40)|0;f=f|L;I=G6(n[c>>0]|0|0,0,48)|0;f=f|L;E=G6(n[b>>0]|0|0,0,56)|0;E=Q|G|Z|C|g|I|E;f=f|L;I=s;g=f^a[I+4>>2];C=s;a[C>>2]=E^a[I>>2];a[C+4>>2]=g;jb(A,2);C=A;f=a[C+4>>2]^f;g=A;a[g>>2]=a[C>>2]^E;a[g+4>>2]=f;a[k>>2]=h;g=w;g=d6(a[g>>2]|0,a[g+4>>2]|0,8,0)|0;f=w;a[f>>2]=g;a[f+4>>2]=L}while(e);return}function xb(A){A=A|0;var e=0;e=0;while(1){if(!(r[A>>0]|0))break;e=e+1|0;A=A+1|0}return e|0}function Tb(A){A=A|0;var e=0,i=0,r=0,f=0,l=0,t=0;r=A+32|0;l=(a[A+40>>2]|0)-r|0;i=A+48|0;i=d6(a[i>>2]|0,a[i+4>>2]|0,l|0,0)|0;i=G6(i|0,L|0,56)|0;e=L;switch(l<<24>>24|0){case 7:{i=G6(n[A+38>>0]|0|0,0,48)|0|i;e=L|e;f=3;break}case 6:{f=3;break}case 5:{f=4;break}case 4:{f=5;break}case 3:{f=6;break}case 2:{f=7;break}case 1:{f=8;break}default:{}}if((f|0)==3){l=G6(n[A+37>>0]|0|0,0,40)|0;i=l|i;e=L|e;f=4}if((f|0)==4){e=n[A+36>>0]|0|e;f=5}if((f|0)==5){l=G6(n[A+35>>0]|0|0,0,24)|0;i=l|i;e=L|e;f=6}if((f|0)==6){l=G6(n[A+34>>0]|0|0,0,16)|0;i=l|i;e=L|e;f=7}if((f|0)==7){l=G6(n[A+33>>0]|0|0,0,8)|0;e=L|e;i=l|i;f=8}if((f|0)==8)i=i|(n[r>>0]|0);l=A+24|0;t=l;f=a[t+4>>2]^e;r=l;a[r>>2]=a[t>>2]^i;a[r+4>>2]=f;jb(A,2);r=A;e=a[r+4>>2]^e;f=A;a[f>>2]=a[r>>2]^i;a[f+4>>2]=e;f=A+16|0;e=f;i=a[e+4>>2]|0;r=f;a[r>>2]=a[e>>2]^255;a[r+4>>2]=i;jb(A,4);r=A;A=A+8|0;L=a[A+4>>2]^a[r+4>>2]^a[f+4>>2]^a[l+4>>2];return a[A>>2]^a[r>>2]^a[f>>2]^a[l>>2]|0}function jb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;r=A+8|0;f=A+24|0;n=A+16|0;i=0;while(1){if((i|0)>=(e|0))break;l=r;u=a[l>>2]|0;l=a[l+4>>2]|0;k=A;k=d6(a[k>>2]|0,a[k+4>>2]|0,u|0,l|0)|0;b=L;w=G6(u|0,l|0,13)|0;s=L;l=Z6(u|0,l|0,51)|0;l=(w|l)^k;s=(s|L)^b;w=f;u=a[w>>2]|0;w=a[w+4>>2]|0;c=n;c=d6(a[c>>2]|0,a[c+4>>2]|0,u|0,w|0)|0;t=L;h=G6(u|0,w|0,16)|0;o=L;w=Z6(u|0,w|0,48)|0;w=(h|w)^c;o=(o|L)^t;k=d6(b|0,k|0,w|0,o|0)|0;b=L;h=A;a[h>>2]=k;a[h+4>>2]=b;h=G6(w|0,o|0,21)|0;u=L;o=Z6(w|0,o|0,43)|0;w=f;a[w>>2]=(h|o)^k;a[w+4>>2]=(u|L)^b;t=d6(c|0,t|0,l|0,s|0)|0;c=L;w=G6(l|0,s|0,17)|0;b=L;s=Z6(l|0,s|0,47)|0;l=r;a[l>>2]=(w|s)^t;a[l+4>>2]=(b|L)^c;l=n;a[l>>2]=c;a[l+4>>2]=t;i=i+1|0}return}function Sb(A){A=A|0;var e=0;while(1){e=a[A+472>>2]|0;if(!e)break;else A=e}return a[A+492>>2]|0}function Pb(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;J=k;k=k+16|0;M=J;F=J+4|0;V=a[A+352>>2]|0;u=e+16|0;o=e+40|0;h=A+144|0;d=A+284|0;B=i<<24>>24==0;v=l+12|0;E=l+16|0;C=l+8|0;I=e+44|0;Z=e+64|0;G=A+436|0;Q=A+452|0;m=A+448|0;L=(V+80|0)==(l|0);W=A+268|0;y=V+130|0;z=V+129|0;Y=A+296|0;D=A+224|0;t=0;A:while(1){e:while(1){switch(y5[a[u>>2]&127](e,f,n,M)|0){case-4:{t=0;w=61;break A}case 0:{w=4;break A}case-1:{w=6;break A}case 6:{w=21;break e}case-3:{w=22;break e}case 7:case 39:{w=23;break e}case 10:{c=m5[a[o>>2]&127](e,f)|0;i:do{if((c|0)<0)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;c=1;t=14}else{c=1;t=14}else{if(B&(c|0)==32){b=a[v>>2]|0;if((a[E>>2]|0)==(b|0)){c=4;break}if((r[b+-1>>0]|0)==32){c=4;break}}s=ds(c,F)|0;b=0;while(1){if((b|0)>=(s|0)){c=0;break i}c=a[v>>2]|0;if((c|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){c=1;t=1;break i}c=a[v>>2]|0}N=r[F+b>>0]|0;a[v>>2]=c+1;r[c>>0]=N;b=b+1|0}}}while(0);switch(c&7){case 4:case 0:break e;default:{}}break}case 9:{c=a[Z>>2]|0;c=(W5[a[I>>2]&63](e,f+c|0,(a[M>>2]|0)+(0-c)|0)|0)&255;if(c<<24>>24){w=31;break e}c=a[Z>>2]|0;c=ab(G,e,f+c|0,(a[M>>2]|0)+(0-c)|0)|0;if(!c){t=1;w=61;break A}s=lb(A,V,c,0)|0;a[m>>2]=a[Q>>2];do{if(L){if(!(a[W>>2]|0))if(!s)break e;else break;if(!(r[y>>0]|0)){c=(s|0)!=0;if(!(r[z>>0]|0)){w=45;break}else{g=c;w=47;break}}else{c=(s|0)!=0;if(!(a[Y>>2]|0)){w=45;break}else{g=c;w=47;break}}}else if(!(r[z>>0]|0))if(!s){t=11;w=61;break A}else{w=46;break}else{c=(s|0)!=0;if(!(r[y>>0]|0)){g=c;w=47;break}else{w=45;break}}}while(0);if((w|0)==45)if(c)w=46;else{t=11;w=61;break A}else if((w|0)==47?(w=0,!g):0)break e;if((w|0)==46?(w=0,(r[s+34>>0]|0)==0):0){t=24;w=61;break A}b=s+32|0;if(r[b>>0]|0){w=49;break A}if(a[s+28>>2]|0){w=52;break A}c=a[s+4>>2]|0;if(!c){w=55;break A}s=c+(a[s+8>>2]|0)|0;r[b>>0]=1;s=Pb(A,a[D>>2]|0,i,c,s,l)|0;r[b>>0]=0;c=(s|0)==0;if(c)break e;else{c=(c^1)&1;t=s}break}default:{w=58;break A}}if(c)break A}if((w|0)==21){w=0;if(!(ub(l,e,f,a[M>>2]|0)|0)){t=1;w=61;break}}else if((w|0)==22){a[M>>2]=f+(a[Z>>2]|0);w=23}else if((w|0)==31){w=0;f=a[v>>2]|0;if((f|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){t=1;w=61;break}f=a[v>>2]|0}a[v>>2]=f+1;r[f>>0]=c}do{if((w|0)==23){w=0;f=a[v>>2]|0;if(B){if((a[E>>2]|0)==(f|0))break;if((r[f+-1>>0]|0)==32)break}if((f|0)==(a[C>>2]|0)){if(!((ob(l)|0)<<24>>24)){t=1;w=61;break A}f=a[v>>2]|0}a[v>>2]=f+1;r[f>>0]=32}}while(0);f=a[M>>2]|0}if((w|0)==4)if((a[h>>2]|0)==(e|0)){a[d>>2]=a[M>>2];t=4;w=61}else{t=4;w=61}else if((w|0)==6)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=4;w=61}else{t=4;w=61}else if((w|0)==49)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=12;w=61}else{t=12;w=61}else if((w|0)==52)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=15;w=61}else{t=15;w=61}else if((w|0)==55)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=16;w=61}else{t=16;w=61}else if((w|0)==58)if((a[h>>2]|0)==(e|0)){a[d>>2]=f;t=23;w=61}else{t=23;w=61}k=J;return t|0}function Ob(A){A=A|0;var e=0;e=A+8|0;return((A|0)<1?0:(e|0)>0?e:0)|0}function Kb(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+80|0;r=i+16|0;f=i;Hb(A,f);pb(r,f);Ub(r,e,xb(e)|0);e=Tb(r)|0;k=i;return e|0}function _b(A,e){A=A|0;e=e|0;var i=0;while(1){i=r[A>>0]|0;if(i<<24>>24!=(r[e>>0]|0)){e=0;break}if(!(i<<24>>24)){e=1;break}e=e+1|0;A=A+1|0}return e|0}function qb(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+1040|0;t=b;f=a[A+124>>2]|0;A:do{if(!f)i=18;else{i=0;while(1){if((i|0)==256)break;a[t+(i<<2)>>2]=-1;i=i+1|0}n=t+1028|0;a[n>>2]=0;c=t+1024|0;a[c>>2]=0;l=t+1032|0;a[l>>2]=0;do{if(W5[f&63](a[A+244>>2]|0,e,t)|0){f=a[A+12>>2]|0;i=Bs()|0;i=Q5[f&63](i)|0;a[A+236>>2]=i;if(!i){i=a[l>>2]|0;if(!i)i=1;else{F5[i&127](a[c>>2]|0);i=1}}else{i=y5[(r[A+232>>0]<<24>>24?65:64)&127](i,t,a[n>>2]|0,a[c>>2]|0)|0;if(!i)break;a[A+240>>2]=a[c>>2];a[A+248>>2]=a[l>>2];a[A+144>>2]=i;i=0}break A}}while(0);i=a[l>>2]|0;if(i|0)F5[i&127](a[c>>2]|0);i=18}}while(0);k=b;return i|0}function $b(A,e){A=A|0;e=e|0;r[A+4>>0]=0;a[A+8>>2]=0;a[A+12>>2]=0;a[A>>2]=0;a[A+16>>2]=e;return}function As(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;s=a[A+352>>2]|0;w=A+424|0;u=A+420|0;k=A+412|0;o=A+428|0;h=s+152|0;d=A+368|0;c=s+60|0;b=s+80|0;A:while(1){l=e;e:while(1){if(!(r[e>>0]|0)){e=1;break A}f=r[l>>0]|0;switch(f<<24>>24){case 0:case 12:{B=5;break e}case 61:break e;default:{}}i=a[w>>2]|0;if((i|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break A}i=a[w>>2]|0;f=r[l>>0]|0}a[w>>2]=i+1;r[i>>0]=f;l=l+1|0}if((B|0)==5){B=0;e=a[w>>2]|0;if((e|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;e=lb(A,s,a[o>>2]|0,0)|0;if(e|0)r[e+32>>0]=1;e=(r[l>>0]|0)==0?l:l+1|0;a[w>>2]=a[o>>2];continue}e=a[w>>2]|0;if((a[o>>2]|0)==(e|0))f=h;else{if((e|0)==(a[u>>2]|0)){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;f=lb(A,c,a[o>>2]|0,8)|0;if(!f){e=0;break}i=a[f>>2]|0;t=a[o>>2]|0;e=t;if((i|0)==(t|0)){t=Nb(b,i)|0;a[f>>2]=t;if(!t){e=0;break}e=a[o>>2]|0}a[w>>2]=e}e:while(1){t=l+1|0;i=r[t>>0]|0;n=(e|0)==(a[u>>2]|0);switch(i<<24>>24){case 0:case 12:break e;default:{}}if(n){if(!((ob(k)|0)<<24>>24)){e=0;break A}e=a[w>>2]|0;i=r[t>>0]|0}a[w>>2]=e+1;r[e>>0]=i;l=t;e=a[w>>2]|0}if(n){if(!((ob(k)|0)<<24>>24)){e=0;break}e=a[w>>2]|0}a[w>>2]=e+1;r[e>>0]=0;if(Rb(A,f,0,a[o>>2]|0,d)|0){e=0;break}a[w>>2]=a[o>>2];e=(r[t>>0]|0)==0?t:l+2|0}return e|0}function es(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0?(i=A+4|0,r=(a[i>>2]|0)==(a[A>>2]|0),a[A>>2]=e,r):0)a[i>>2]=e;return}function is(A,e,i){A=A|0;e=e|0;i=i|0;if(A|0){a[A+52>>2]=e;a[A+56>>2]=i}return}function rs(A,e){A=A|0;e=e|0;if(A|0)a[A+60>>2]=e;return}function fs(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;n=(A|0)==0;A:do{if(!(n|(i|0)<0)?!((e|0)==0&(i|0)!=0):0){l=A+476|0;switch(a[l>>2]|0){case 3:{a[A+280>>2]=33;n=0;break A}case 2:{a[A+280>>2]=36;n=0;break A}case 0:{if((a[A+472>>2]|0)==0?(as(A)|0)<<24>>24==0:0){a[A+280>>2]=1;n=0;break A}break}default:{}}a[l>>2]=1;if(i|0){n=ls(A,i)|0;if(!n){n=0;break}y6(n|0,e|0,i|0)|0;n=ts(A,i,f)|0;break}r[A+480>>0]=f;if(!f)n=1;else{n=A+24|0;c=a[n>>2]|0;e=A+292|0;a[e>>2]=c;f=a[A+28>>2]|0;a[A+40>>2]=f;i=A+276|0;f=y5[a[i>>2]&127](A,c,f,n)|0;a[A+280>>2]=f;if(f|0){a[A+288>>2]=a[A+284>>2];a[i>>2]=66;n=0;break}switch(a[l>>2]|0){case 3:{c=a[A+144>>2]|0;X5[a[c+48>>2]&31](c,a[e>>2]|0,a[n>>2]|0,A+404|0);a[e>>2]=a[n>>2];n=2;break A}case 1:case 0:{a[l>>2]=2;n=1;break A}default:{n=1;break A}}}}else t=3}while(0);if((t|0)==3)if(n)n=0;else{a[A+280>>2]=41;n=0}return n|0}function as(A){A=A|0;var e=0;e=A+492|0;if(!(a[e>>2]|0))a[e>>2]=cs()|0;if(!(r[A+232>>0]|0))A=1;else A=As(A,142324)|0;return A|0}function ns(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return a[A+280>>2]|0}function ls(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;A:do{if(!A)i=0;else{if((e|0)<0){a[A+280>>2]=1;i=0;break}switch(a[A+476>>2]|0){case 3:{a[A+280>>2]=33;i=0;break A}case 2:{a[A+280>>2]=36;i=0;break A}default:{w=A+32|0;c=a[w>>2]|0;u=A+28|0;r=a[u>>2]|0;i=r;if((c-r|0)>=(e|0))break A;o=A+24|0;b=a[o>>2]|0;t=r-b|0;r=t+e|0;if((r|0)<0){a[A+280>>2]=1;i=0;break A}s=A+8|0;f=a[s>>2]|0;h=f;n=b-h|0;l=(n|0)>1024;e=l?1024:n;r=e+r|0;do{if((r|0)>(c-h|0)){i=c-b|0;i=(i|0)==0?1024:i;do{i=i<<1}while((i|0)<(r|0)&(i|0)>0);if((i|0)<1){a[A+280>>2]=1;i=0;break A}r=Q5[a[A+12>>2]&63](i)|0;if(!r){a[A+280>>2]=1;i=0;break A}a[w>>2]=r+i;i=a[o>>2]|0;if(!i){i=r+(a[u>>2]|0)|0;a[u>>2]=i;a[s>>2]=r;k=22;break}else{h=i;k=h-(a[s>>2]|0)|0;k=(k|0)<1024?k:1024;y6(r|0,i+(0-k)|0,(a[u>>2]|0)-h+k|0)|0;F5[a[A+20>>2]&127](a[s>>2]|0);a[s>>2]=r;i=r+((a[u>>2]|0)-(a[o>>2]|0))+k|0;a[u>>2]=i;r=r+k|0;k=22;break}}else if(l){r=n-e|0;z6(f|0,f+r|0,e+t|0)|0;r=0-r|0;i=(a[u>>2]|0)+r|0;a[u>>2]=i;r=(a[o>>2]|0)+r|0;k=22}}while(0);if((k|0)==22)a[o>>2]=r;a[A+288>>2]=0;a[A+284>>2]=0;a[A+292>>2]=0;break A}}}}while(0);return i|0}function ts(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;A:do{if(!A)e=0;else{f=A+476|0;switch(a[f>>2]|0){case 3:{a[A+280>>2]=33;e=0;break A}case 2:{a[A+280>>2]=36;e=0;break A}case 0:{if((a[A+472>>2]|0)==0?(as(A)|0)<<24>>24==0:0){a[A+280>>2]=1;e=0;break A}break}default:{}}a[f>>2]=1;n=A+24|0;c=a[n>>2]|0;l=A+292|0;a[l>>2]=c;b=A+28|0;t=(a[b>>2]|0)+e|0;a[b>>2]=t;a[A+40>>2]=t;b=A+36|0;a[b>>2]=(a[b>>2]|0)+e;r[A+480>>0]=i;e=A+276|0;t=y5[a[e>>2]&127](A,c,t,n)|0;a[A+280>>2]=t;if(t|0){a[A+288>>2]=a[A+284>>2];a[e>>2]=66;e=0;break}switch(a[f>>2]|0){case 3:{e=2;break}case 1:case 0:{if(!i)e=1;else{a[f>>2]=2;e=1;break A}break}default:e=1}b=a[A+144>>2]|0;X5[a[b+48>>2]&31](b,a[l>>2]|0,a[n>>2]|0,A+404|0);a[l>>2]=a[n>>2]}}while(0);return e|0}function cs(){var A=0,e=0,i=0;e=k;k=k+16|0;A=e;if(!(bs(A)|0)){i=ws()|0;i=(z3()|0)^i;a[A>>2]=i;A=ss(142378,U(i,2147483647)|0)|0}else A=ss(142365,a[A>>2]|0)|0;k=e;return A|0}function bs(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=k;k=k+16|0;r=P2(142365,0,f)|0;if((r|0)<0)e=0;else{e=0;while(1){n=y3(r,A+e|0,4-e|0)|0;i=n+e|0;if((n|0)>0)if(i>>>0<4)e=i;else{e=1;break}if((a[(X2()|0)>>2]|0)!=4){e=0;break}}S4(r)|0}k=f;return e|0}function ss(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;r=f;i=PA(142443)|0;if(i|0?(A1(i,142463)|0)==0:0){i=a[15712]|0;a[r>>2]=A;a[r+4>>2]=8;a[r+8>>2]=e;a[r+12>>2]=4;f3(i,142465,r)|0}k=f;return e|0}function ws(){var A=0,e=0;e=k;k=k+16|0;A=e;if(!(OA(A|0,0)|0)){k=e;return a[A+4>>2]|0}else vA(142390,142412,819,142423);return 0}function us(A){A=A|0;if(!A)A=41;else A=a[A+280>>2]|0;return A|0}function ks(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(!A)A=0;else{e=A+284|0;i=a[e>>2]|0;if(i|0?(r=A+292|0,f=a[r>>2]|0,i>>>0>=f>>>0):0){n=a[A+144>>2]|0;X5[a[n+48>>2]&31](n,f,i,A+404|0);a[r>>2]=a[e>>2]}A=(a[A+404>>2]|0)+1|0}return A|0}function os(A){A=A|0;do{switch(A|0){case 41:{A=142502;break}case 1:{A=143774;break}case 2:{A=143761;break}case 3:{A=143744;break}case 4:{A=143712;break}case 5:{A=143697;break}case 6:{A=143679;break}case 7:{A=143664;break}case 8:{A=143644;break}case 9:{A=143616;break}case 10:{A=143581;break}case 11:{A=143564;break}case 12:{A=143537;break}case 13:{A=143517;break}case 14:{A=143479;break}case 15:{A=143452;break}case 16:{A=143410;break}case 17:{A=143363;break}case 18:{A=143346;break}case 19:{A=143295;break}case 20:{A=143272;break}case 21:{A=143226;break}case 22:{A=143199;break}case 23:{A=143148;break}case 24:{A=143112;break}case 25:{A=143060;break}case 26:{A=143015;break}case 27:{A=143e3;break}case 28:{A=142974;break}case 29:{A=142936;break}case 30:{A=142904;break}case 31:{A=142871;break}case 32:{A=142837;break}case 33:{A=142820;break}case 34:{A=142799;break}case 35:{A=142783;break}case 36:{A=142766;break}case 37:{A=142722;break}case 38:{A=142642;break}case 39:{A=142583;break}case 40:{A=142519;break}default:A=0}}while(0);return A|0}function hs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;i=a[e>>2]|0;r=0;A:while(1){if(i>>>0<=A>>>0)break;l=i+-1|0;f=n[l>>0]|0;do{if((f&248|0)==240)if((r+1|0)>>>0>3){t=5;break A}else r=0;else{if((f&240|0)==224)if((r+1|0)>>>0>2){t=8;break A}else{r=0;break}if((f&224|0)==192)if((r+1|0)>>>0>1){t=11;break A}else{r=0;break}else if(!(f&128))break A;else break}}while(0);i=l;r=r+1|0}if((t|0)==5)i=i+3|0;else if((t|0)==8)i=i+2|0;else if((t|0)==11)i=i+1|0;a[e>>2]=i;return}function ds(A,e){A=A|0;e=e|0;do{if((A|0)>=0){if((A|0)<128){r[e>>0]=A;A=1;break}if((A|0)<2048){r[e>>0]=A>>>6|192;r[e+1>>0]=A&63|128;A=2;break}if((A|0)<65536){r[e>>0]=A>>>12|224;r[e+1>>0]=A>>>6&63|128;r[e+2>>0]=A&63|128;A=3;break}if((A|0)<1114112){r[e>>0]=A>>>18|240;r[e+1>>0]=A>>>12&63|128;r[e+2>>0]=A>>>6&63|128;r[e+3>>0]=A&63|128;A=4}else A=0}else A=0}while(0);return A|0}function Bs(){return 1908}function vs(A,e,i,l){A=A|0;e=e|0;i=i|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;t=0;while(1){if((t|0)==364){t=0;break}r[A+t>>0]=r[56576+t>>0]|0;t=t+1|0}A:while(1){if((t|0)>=128){c=5;break}switch(r[56648+t>>0]|0){case 0:case 28:break;default:if((a[e+(t<<2)>>2]|0)!=(t|0)){A=0;break A}}t=t+1|0}A:do{if((c|0)==5){h=A+72|0;w=A+372|0;u=A+884|0;k=(i|0)==0;s=0;while(1){if((s|0)>=256)break;o=a[e+(s<<2)>>2]|0;do{if((o|0)==-1){r[h+s>>0]=1;f[w+(s<<1)>>1]=-1;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=0}else{if((o|0)<0){if(k|(o|0)<-4){A=0;break A}r[h+s>>0]=3-o;r[u+(s<<2)>>0]=0;f[w+(s<<1)>>1]=0;break}if((o|0)<128){t=r[56648+o>>0]|0;switch(t<<24>>24){case 0:case 28:break;default:if((o|0)!=(s|0)){A=0;break A}}r[h+s>>0]=t;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=o;f[w+(s<<1)>>1]=(o|0)==0?-1:o&65535;break}if((gs(o)|0)<0){r[h+s>>0]=0;f[w+(s<<1)>>1]=-1;r[u+(s<<2)>>0]=1;r[u+(s<<2)+1>>0]=0;break}if((o|0)>65535){A=0;break A}t=o>>>8;c=o>>>5&7;b=1<<(o&31);if(!(a[56940+((n[143788+t>>0]<<3|c)<<2)>>2]&b))r[h+s>>0]=a[56940+((n[144044+t>>0]<<3|c)<<2)>>2]&b|0?26:28;else r[h+s>>0]=22;r[u+(s<<2)>>0]=ds(o,u+(s<<2)+1|0)|0;f[w+(s<<1)>>1]=o}}while(0);s=s+1|0}a[A+368>>2]=l;a[A+364>>2]=i;if(!k){a[A+328>>2]=108;a[A+332>>2]=108;a[A+336>>2]=108;a[A+340>>2]=109;a[A+344>>2]=109;a[A+348>>2]=109;a[A+352>>2]=110;a[A+356>>2]=110;a[A+360>>2]=110}a[A+56>>2]=13;a[A+60>>2]=14}}while(0);return A|0}function gs(A){A=A|0;var e=0;switch(A>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{A=-1;break}case 0:{if(!(r[56648+A>>0]|0))A=-1;else e=4;break}case 255:{if((A|1|0)==65535)A=-1;else e=4;break}default:e=4}return A|0}function Es(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=0;else A=a[56940+(((n[144044+(A>>>8)>>0]|0)<<3|A>>>5&7)<<2)>>2]&1<<(A&31);return A|0}function Cs(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=0;else A=a[56940+(((n[143788+(A>>>8)>>0]|0)<<3|A>>>5&7)<<2)>>2]&1<<(A&31);return A|0}function Is(A,e){A=A|0;e=e|0;A=m5[a[A+364>>2]&127](a[A+368>>2]|0,e)|0;if(A>>>0>65535)A=1;else A=(gs(A)|0)>>>31;return A|0}function Zs(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;h=k;k=k+16|0;s=h;w=A+364|0;u=A+884|0;o=A+368|0;b=A+72|0;while(1){t=a[e>>2]|0;if((t|0)==(i|0)){l=0;break}d=n[t>>0]|0;c=u+(d<<2)+1|0;d=r[u+(d<<2)>>0]|0;A=d<<24>>24;if(!(d<<24>>24)){A=ds(m5[a[w>>2]&127](a[o>>2]|0,t)|0,s)|0;if((A|0)>(l-(a[f>>2]|0)|0)){l=2;break}t=a[e>>2]|0;c=s;t=t+((n[b+(n[t>>0]|0)>>0]|0)+-3)|0}else{if((l-(a[f>>2]|0)|0)<(A|0)){l=2;break}t=t+1|0}a[e>>2]=t;y6(a[f>>2]|0,c|0,A|0)|0;a[f>>2]=(a[f>>2]|0)+A}k=h;return l|0}function Gs(A,e,i,r,l){A=A|0;e=e|0;i=i|0;r=r|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;w=A+372|0;u=A+364|0;k=A+368|0;s=A+72|0;while(1){b=a[e>>2]|0;A=b>>>0>>0;t=a[r>>2]|0;if(!(A&t>>>0>>0))break;A=f[w+((n[b>>0]|0)<<1)>>1]|0;if(!(A<<16>>16)){A=(m5[a[u>>2]&127](a[k>>2]|0,b)|0)&65535;t=a[e>>2]|0;c=(n[s+(n[t>>0]|0)>>0]|0)+-3|0}else{c=1;t=b}a[e>>2]=t+c;b=a[r>>2]|0;a[r>>2]=b+2;f[b>>1]=A}return((t|0)!=(l|0)|A^1?0:2)|0}function Qs(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0;A:do{if(e>>>0>>0){u=A+72|0;do{switch(r[u+(n[e>>0]|0)>>0]|0){case 12:{l=Hq(12,A,e+1|0,i,f)|0;break A}case 13:{l=Hq(13,A,e+1|0,i,f)|0;break A}case 2:{l=e+1|0;if((i-l|0)<=0){l=-1;break A}switch(r[u+(n[l>>0]|0)>>0]|0){case 16:{l=pq(A,e+2|0,i,f)|0;break A}case 15:{l=Jq(A,e+2|0,i,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;l=29;break A}default:{a[f>>2]=l;l=0;break A}}}case 9:{if((e+1|0)==(i|0)){a[f>>2]=i;l=-15;break A}else b=3;break}case 10:case 21:{b=3;break}case 30:{l=zq(A,e+1|0,i,f)|0;break A}case 35:{a[f>>2]=e+1;l=38;break A}case 20:{a[f>>2]=e+1;l=25;break A}case 4:{t=e+1|0;l=i-t|0;if((l|0)<=0){l=-26;break A}if((r[t>>0]|0)==93){if((l|0)<=1){l=-1;break A}if((r[e+2>>0]|0)==62){a[f>>2]=e+3;l=34;break A}}a[f>>2]=t;l=26;break A}case 31:{a[f>>2]=e+1;l=23;break A}case 32:{l=e+1|0;if((i-l|0)<=0){l=-24;break A}switch(r[u+(n[l>>0]|0)>>0]|0){case 33:{a[f>>2]=e+2;l=36;break A}case 15:{a[f>>2]=e+2;l=35;break A}case 34:{a[f>>2]=e+2;l=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;l=24;break A}default:{a[f>>2]=l;l=0;break A}}}case 36:{a[f>>2]=e+1;l=21;break A}case 11:{a[f>>2]=e+1;l=17;break A}case 19:{l=Uq(A,e+1|0,i,f)|0;break A}case 5:{if((i-e|0)<2){l=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0))if(!(m5[a[A+328>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=2}else{l=18;t=2}break}case 6:{if((i-e|0)<3){l=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0))if(!(m5[a[A+332>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=3}else{l=18;t=3}break}case 7:{if((i-e|0)<4){l=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0))if(!(m5[a[A+336>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else{l=19;t=4}else{l=18;t=4}break}case 24:case 22:{l=18;t=1;break}case 23:case 27:case 26:case 25:{l=19;t=1;break}default:{a[f>>2]=e;l=0;break A}}}while(0);if((b|0)==3){c=i;t=e;e:while(1){l=t;t=t+1|0;if((c-t|0)<=0){b=18;break}switch(r[u+(n[t>>0]|0)>>0]|0){case 10:case 21:continue e;case 9:break;default:{b=17;break e}}if((l+2|0)==(i|0)){b=17;break}}if((b|0)==17){a[f>>2]=t;l=15;break}else if((b|0)==18){a[f>>2]=t;l=15;break}}b=A+328|0;s=A+332|0;w=A+336|0;c=e+t|0;e:while(1){t=i-c|0;if((t|0)<=0){b=99;break}switch(r[u+(n[c>>0]|0)>>0]|0){case 29:{b=56;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{b=70;break e}case 34:{b=89;break e}case 33:{b=92;break e}case 15:{b=95;break e}case 27:case 26:case 25:case 24:case 22:{e=l;c=c+1|0;l=e;continue e}case 5:{if((t|0)<2){l=-2;break A}if(!(m5[a[b>>2]&127](A,c)|0)){b=60;break e}e=l;c=c+2|0;l=e;continue e}case 6:{if((t|0)<3){l=-2;break A}if(!(m5[a[s>>2]&127](A,c)|0)){b=64;break e}e=l;c=c+3|0;l=e;continue e}case 7:{if((t|0)<4){l=-2;break A}if(!(m5[a[w>>2]&127](A,c)|0)){b=68;break e}e=l;c=c+4|0;l=e;continue e}case 23:{t=c+1|0;switch(l&63){case 18:break;case 41:{l=19;c=t;continue e}default:{e=l;c=t;l=e;continue e}}l=i-t|0;if((l|0)<=0){l=-1;break A}switch(r[u+(n[t>>0]|0)>>0]|0){case 29:{b=74;break e}case 27:case 26:case 25:case 24:case 22:{l=41;c=c+2|0;continue e}case 5:{if((l|0)<2){l=-2;break A}if(!(m5[a[b>>2]&127](A,t)|0)){b=78;break e}l=41;c=c+3|0;continue e}case 6:{if((l|0)<3){l=-2;break A}if(!(m5[a[s>>2]&127](A,t)|0)){b=82;break e}l=41;c=c+4|0;continue e}case 7:{if((l|0)<4){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){b=86;break e}l=41;c=c+5|0;continue e}default:{l=19;c=t;continue e}}}default:{b=98;break e}}}switch(b|0){case 56:{a[f>>2]=c;l=0;break A}case 60:{a[f>>2]=c;l=0;break A}case 64:{a[f>>2]=c;l=0;break A}case 68:{a[f>>2]=c;l=0;break A}case 70:{a[f>>2]=c;break A}case 74:{a[f>>2]=t;l=0;break A}case 78:{a[f>>2]=t;l=0;break A}case 82:{a[f>>2]=t;l=0;break A}case 86:{a[f>>2]=t;l=0;break A}case 89:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=32;break A}case 92:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=31;break A}case 95:if((l|0)==19){a[f>>2]=c;l=0;break A}else{a[f>>2]=c+1;l=30;break A}case 98:{a[f>>2]=c;l=0;break A}case 99:{l=0-l|0;break A}}}else l=-4}while(0);return l|0}function ms(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){w=A+72|0;e:do{switch(r[w+(n[e>>0]|0)>>0]|0){case 2:{l=Mq(A,e+1|0,i,f)|0;break A}case 3:{l=yq(A,e+1|0,i,f)|0;break A}case 9:{l=e+1|0;if((i-l|0)<=0){l=-3;break A}a[f>>2]=(r[w+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break A}case 10:{a[f>>2]=e+1;l=7;break A}case 4:{t=e+1|0;if((i-t|0)<=0){l=-5;break A}if((r[t>>0]|0)==93){l=e+2|0;if((i-l|0)<=0){l=-5;break A}if((r[l>>0]|0)==62){a[f>>2]=l;l=0;break A}else l=i}else l=i;break}case 5:{l=i;if((l-e|0)<2){l=-2;break A}if(!(m5[a[A+352>>2]&127](A,e)|0)){t=e+2|0;break e}else{a[f>>2]=e;l=0;break A}}case 6:{l=i;if((l-e|0)<3){l=-2;break A}if(!(m5[a[A+356>>2]&127](A,e)|0)){t=e+3|0;break e}else{a[f>>2]=e;l=0;break A}}case 7:{l=i;if((l-e|0)<4){l=-2;break A}if(!(m5[a[A+360>>2]&127](A,e)|0)){t=e+4|0;break e}else{a[f>>2]=e;l=0;break A}}case 8:case 1:case 0:{a[f>>2]=e;l=0;break A}default:{t=e+1|0;l=i}}}while(0);c=A+352|0;b=A+356|0;s=A+360|0;e:while(1){i=l-t|0;if((i|0)<=0){i=49;break}switch(r[w+(n[t>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{i=47;break e}case 5:{if((i|0)<2){i=32;break e}if(m5[a[c>>2]&127](A,t)|0){i=32;break e}t=t+2|0;continue e}case 6:{if((i|0)<3){i=36;break e}if(m5[a[b>>2]&127](A,t)|0){i=36;break e}t=t+3|0;continue e}case 7:{if((i|0)<4){i=40;break e}if(m5[a[s>>2]&127](A,t)|0){i=40;break e}t=t+4|0;continue e}case 4:{if((i|0)<=1){i=47;break e}e=t+1|0;if((r[e>>0]|0)!=93){t=e;continue e}if((i|0)<=2){i=47;break e}t=t+2|0;if((r[t>>0]|0)==62){i=46;break e}else{t=e;continue e}}default:{t=t+1|0;continue e}}}if((i|0)==32){a[f>>2]=t;l=6;break}else if((i|0)==36){a[f>>2]=t;l=6;break}else if((i|0)==40){a[f>>2]=t;l=6;break}else if((i|0)==46){a[f>>2]=t;l=0;break}else if((i|0)==47){a[f>>2]=t;l=6;break}else if((i|0)==49){a[f>>2]=t;l=6;break}}else l=-4}while(0);return l|0}function Ls(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;A:do{if(e>>>0>>0){s=A+72|0;e:do{switch(r[s+(n[e>>0]|0)>>0]|0){case 4:{t=e+1|0;l=i;if((l-t|0)<=0){l=-1;break A}if((r[t>>0]|0)==93){i=e+2|0;if((l-i|0)<=0){l=-1;break A}if((r[i>>0]|0)==62){a[f>>2]=e+3;l=40;break A}}break}case 9:{l=e+1|0;if((i-l|0)<=0){l=-1;break A}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break A}case 10:{a[f>>2]=e+1;l=7;break A}case 5:{l=i;if((l-e|0)<2){l=-2;break A}if(!(m5[a[A+352>>2]&127](A,e)|0)){t=e+2|0;break e}else{a[f>>2]=e;l=0;break A}}case 6:{l=i;if((l-e|0)<3){l=-2;break A}if(!(m5[a[A+356>>2]&127](A,e)|0)){t=e+3|0;break e}else{a[f>>2]=e;l=0;break A}}case 7:{l=i;if((l-e|0)<4){l=-2;break A}if(!(m5[a[A+360>>2]&127](A,e)|0)){t=e+4|0;break e}else{a[f>>2]=e;l=0;break A}}case 8:case 1:case 0:{a[f>>2]=e;l=0;break A}default:{t=e+1|0;l=i}}}while(0);e=A+352|0;c=A+356|0;b=A+360|0;e:while(1){i=l-t|0;if((i|0)<=0){i=39;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{i=37;break e}case 5:{if((i|0)<2){i=30;break e}if(!(m5[a[e>>2]&127](A,t)|0))i=2;else{i=30;break e}break}case 6:{if((i|0)<3){i=33;break e}if(!(m5[a[c>>2]&127](A,t)|0))i=3;else{i=33;break e}break}case 7:{if((i|0)<4){i=36;break e}if(!(m5[a[b>>2]&127](A,t)|0))i=4;else{i=36;break e}break}default:i=1}t=t+i|0}if((i|0)==30){a[f>>2]=t;l=6;break}else if((i|0)==33){a[f>>2]=t;l=6;break}else if((i|0)==36){a[f>>2]=t;l=6;break}else if((i|0)==37){a[f>>2]=t;l=6;break}else if((i|0)==39){a[f>>2]=t;l=6;break}}else l=-4}while(0);return l|0}function Ws(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0;if(!((A|0)>-1&((e|0)>0&(i|0)>0)))vA(95162,94943,843,95188);t=wq(e,i,A,l,t,1)|0;if(!t)vA(95233,94943,847,95188);g=a[t+20>>2]|0;v=a[t+24>>2]|0;w=e+1|0;s=0;while(1){if((s|0)==(w|0))break;a[g+(s<<2)>>2]=0;s=s+1|0}A:do{switch(l|0){case 1:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){h=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=13;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=13;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==13)vA(138394,94943,862,95188);while(1){if((h|0)==(e|0)){s=0;break}B=h+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(h<<2)>>2]|0);h=B}while(1){if((s|0)==(A|0))break;d=g+(a[r+(s<<2)>>2]<<2)|0;B=a[d>>2]|0;b[l+(B<<3)>>3]=+b[n+(s<<3)>>3];i=a[f+(s<<2)>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 2:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){d=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=25;break}h=a[f+(s<<2)>>2]|0;if(!((h|0)>-1&(h|0)<(i|0))){B=25;break}h=g+(w+1<<2)|0;a[h>>2]=(a[h>>2]|0)+1;s=s+1|0}if((B|0)==25)vA(138394,94943,880,95188);while(1){if((d|0)==(e|0)){s=0;break}B=d+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(d<<2)>>2]|0);d=B}while(1){if((s|0)==(A|0))break;d=g+(a[r+(s<<2)>>2]<<2)|0;B=a[d>>2]|0;i=B<<1;b[l+(i<<3)>>3]=+b[n>>3];b[l+((i|1)<<3)>>3]=+b[n+8>>3];i=a[f+(s<<2)>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+16|0;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 4:{l=a[t+28>>2]|0;s=0;while(1){if((s|0)>=(A|0)){o=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=37;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=37;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==37)vA(138394,94943,899,95188);while(1){if((o|0)==(e|0)){s=0;break}B=o+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(o<<2)>>2]|0);o=B}while(1){if((s|0)==(A|0))break;d=r+(s<<2)|0;a[l+(a[g+(a[d>>2]<<2)>>2]<<2)>>2]=a[n+(s<<2)>>2];i=a[f+(s<<2)>>2]|0;d=g+(a[d>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;s=s+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 8:{n=0;while(1){if((n|0)>=(A|0)){u=0;break}s=a[r+(n<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(e|0))){B=48;break}d=a[f+(n<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=48;break}d=g+(s+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;n=n+1|0}if((B|0)==48)vA(138394,94943,915,95188);while(1){if((u|0)==(e|0)){n=0;break}B=u+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(u<<2)>>2]|0);u=B}while(1){if((n|0)==(A|0))break;i=a[f+(n<<2)>>2]|0;d=g+(a[r+(n<<2)>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}case 16:{s=0;while(1){if((s|0)>=(A|0)){k=0;break}w=a[r+(s<<2)>>2]|0;if(!((w|0)>-1&(w|0)<(e|0))){B=59;break}d=a[f+(s<<2)>>2]|0;if(!((d|0)>-1&(d|0)<(i|0))){B=59;break}d=g+(w+1<<2)|0;a[d>>2]=(a[d>>2]|0)+1;s=s+1|0}if((B|0)==59)vA(138394,94943,930,95188);while(1){if((k|0)==(e|0))break;B=k+1|0;i=g+(B<<2)|0;a[i>>2]=(a[i>>2]|0)+(a[g+(k<<2)>>2]|0);k=B}y6(a[t+28>>2]|0,n|0,U(a[t+40>>2]|0,A)|0)|0;n=0;while(1){if((n|0)==(A|0))break;i=a[f+(n<<2)>>2]|0;d=g+(a[r+(n<<2)>>2]<<2)|0;B=a[d>>2]|0;a[d>>2]=B+1;a[v+(B<<2)>>2]=i;n=n+1|0}while(1){if((e|0)<=0)break A;f=e+-1|0;a[g+(e<<2)>>2]=a[g+(f<<2)>>2];e=f}}default:vA(138394,94943,944,95188)}}while(0);a[g>>2]=0;a[t+8>>2]=A;if(c)t=ys(t,c)|0;return t|0}function ys(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;v=a[A+20>>2]|0;g=a[A+24>>2]|0;r=a[A+16>>2]|0;d=a[A+4>>2]|0;A:do{if(e){w=d<<2;u=$F(w)|0;i=0;while(1){if((i|0)>=(d|0))break;a[u+(i<<2)>>2]=-1;i=i+1|0}e:do{switch(r|0){case 1:{c=a[A+28>>2]|0;f=0;r=a[v>>2]|0;i=0;i:while(1){if((i|0)>=(a[A>>2]|0)){E=f;C=u;break e}s=i+1|0;w=v+(s<<2)|0;l=v+(i<<2)|0;i=f;while(1){e=a[w>>2]|0;if((r|0)>=(e|0))break;e=g+(r<<2)|0;f=a[e>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;b[c+(i<<3)>>3]=+b[c+(r<<3)>>3];a[u+(a[e>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;B=c+(n<<3)|0;b[B>>3]=+b[B>>3]+ +b[c+(r<<3)>>3]}r=r+1|0}a[w>>2]=i;f=i;r=e;i=s}vA(95235,94943,1792,95260);break}case 2:{B=a[A+28>>2]|0;switch(e|0){case 1:{e=a[v>>2]|0;r=0;i=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}c=r+1|0;s=v+(c<<2)|0;l=v+(r<<2)|0;while(1){r=a[s>>2]|0;if((e|0)>=(r|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;h=e<<1;d=i<<1;b[B+(d<<3)>>3]=+b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;h=e<<1;d=n<<1;o=B+(d<<3)|0;b[o>>3]=+b[o>>3]+ +b[B+(h<<3)>>3];d=B+((d|1)<<3)|0;b[d>>3]=+b[d>>3]+ +b[B+((h|1)<<3)>>3]}e=e+1|0}a[s>>2]=i;e=r;r=c}vA(95235,94943,1815,95260);break}case 4:{e=a[v>>2]|0;r=0;i=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}s=r+1|0;c=v+(s<<2)|0;l=v+(r<<2)|0;while(1){r=a[c>>2]|0;if((e|0)>=(r|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;h=e<<1;d=i<<1;b[B+(d<<3)>>3]=+b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;h=e<<1;d=n<<1;o=B+(d<<3)|0;b[o>>3]=+b[o>>3]+ +b[B+(h<<3)>>3];b[B+((d|1)<<3)>>3]=+b[B+((h|1)<<3)>>3]}e=e+1|0}a[c>>2]=i;e=r;r=s}vA(95235,94943,1835,95260);break}case 2:{h=~~+b[B+8>>3];l=a[A>>2]|0;r=h;n=0;i=0;i:while(1){if((n|0)>=(l|0))break;c=n+1|0;s=a[v+(c<<2)>>2]|0;f=i;e=h;i=a[v+(n<<2)>>2]|0;while(1){if((i|0)>=(s|0)){h=e;n=c;i=f;continue i}h=~~+b[B+((f<<1|1)<<3)>>3];f=f+1|0;r=(r|0)>(h|0)?r:h;e=(e|0)<(h|0)?e:h;i=i+1|0}}L2(u);o=r-h+1|0;k=$F(U(o,w)|0)|0;o=U(o,d)|0;i=0;while(1){if((i|0)>=(o|0))break;a[k+(i<<2)>>2]=-1;i=i+1|0}i=0;e=a[v>>2]|0;r=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=k;break e}w=r+1|0;u=v+(w<<2)|0;s=v+(r<<2)|0;while(1){r=a[u>>2]|0;if((e|0)>=(r|0))break;r=a[g+(e<<2)>>2]|0;f=e<<1;t=+b[B+((f|1)<<3)>>3];n=(U(~~t-h|0,d)|0)+r|0;l=k+(n<<2)|0;c=a[l>>2]|0;if((c|0)<(a[s>>2]|0)){a[g+(i<<2)>>2]=r;c=i<<1;b[B+(c<<3)>>3]=+b[B+(f<<3)>>3];b[B+((c|1)<<3)>>3]=t;a[l>>2]=i;i=i+1|0}else{if((n|0)>=(o|0)){i=55;break i}if((a[g+(c<<2)>>2]|0)!=(r|0)){i=57;break i}c=c<<1;l=B+(c<<3)|0;b[l>>3]=+b[l>>3]+ +b[B+(f<<3)>>3];b[B+((c|1)<<3)>>3]=t}e=e+1|0}a[u>>2]=i;e=r;r=w}if((i|0)==55)vA(95292,94943,1869,95260);else if((i|0)==57)vA(95313,94943,1870,95260);break}case 3:{f=~~+b[B+8>>3];l=a[A>>2]|0;i=f;r=0;n=0;i:while(1){if((n|0)>=(l|0))break;c=n+1|0;s=a[v+(c<<2)>>2]|0;e=i;i=a[v+(n<<2)>>2]|0;while(1){if((i|0)>=(s|0)){i=e;n=c;continue i}h=~~+b[B+(r<<1<<3)>>3];e=(e|0)>(h|0)?e:h;f=(f|0)>(h|0)?f:h;r=r+1|0;i=i+1|0}}L2(u);r=i-f+1|0;k=$F(U(r,w)|0)|0;r=U(r,d)|0;i=0;while(1){if((i|0)>=(r|0))break;a[k+(i<<2)>>2]=-1;i=i+1|0}i=0;e=a[v>>2]|0;r=0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=k;break e}w=r+1|0;u=v+(w<<2)|0;s=v+(r<<2)|0;while(1){r=a[u>>2]|0;if((e|0)>=(r|0))break;r=a[g+(e<<2)>>2]|0;n=e<<1;t=+b[B+(n<<3)>>3];l=k+((U(~~t-f|0,d)|0)+r<<2)|0;c=a[l>>2]|0;if((c|0)<(a[s>>2]|0)){a[g+(i<<2)>>2]=r;h=i<<1;b[B+(h<<3)>>3]=t;b[B+((h|1)<<3)>>3]=+b[B+((n|1)<<3)>>3];a[l>>2]=i;i=i+1|0}else{if((a[g+(c<<2)>>2]|0)!=(r|0))break i;h=c<<1;b[B+(h<<3)>>3]=t;h=B+((h|1)<<3)|0;b[h>>3]=+b[h>>3]+ +b[B+((n|1)<<3)>>3]}e=e+1|0}a[u>>2]=i;e=r;r=w}vA(95313,94943,1905,95260);break}default:{E=0;C=u;break e}}break}case 4:{c=a[A+28>>2]|0;r=0;i=0;e=a[v>>2]|0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}s=r+1|0;w=v+(s<<2)|0;l=v+(r<<2)|0;while(1){f=a[w>>2]|0;if((e|0)>=(f|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)<(a[l>>2]|0)){a[g+(i<<2)>>2]=f;a[c+(i<<2)>>2]=a[c+(e<<2)>>2];a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}else{if((a[g+(n<<2)>>2]|0)!=(f|0))break i;B=c+(n<<2)|0;a[B>>2]=(a[B>>2]|0)+(a[c+(e<<2)>>2]|0)}e=e+1|0}a[w>>2]=i;r=s;e=f}vA(95235,94943,1929,95260);break}case 8:{r=0;i=0;e=a[v>>2]|0;i:while(1){if((r|0)>=(a[A>>2]|0)){E=i;C=u;break e}c=r+1|0;s=v+(c<<2)|0;l=v+(r<<2)|0;while(1){f=a[s>>2]|0;if((e|0)>=(f|0))break;r=g+(e<<2)|0;f=a[r>>2]|0;n=a[u+(f<<2)>>2]|0;if((n|0)>=(a[l>>2]|0)){if((a[g+(n<<2)>>2]|0)!=(f|0))break i}else{a[g+(i<<2)>>2]=f;a[u+(a[r>>2]<<2)>>2]=i;i=i+1|0}e=e+1|0}a[s>>2]=i;r=c;e=f}vA(95235,94943,1948,95260);break}default:{A=0;break A}}}while(0);a[A+8>>2]=E;L2(C)}}while(0);return A|0}function zs(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;if(!r)Ys(A,i,f,n,e,a);else Ds(A,i,f,n,e,a);return}function Ys(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0;if((a[A+32>>2]|0)!=1)vA(94919,94943,1121,95483);if((a[A+16>>2]|0)!=1)vA(95364,94943,1122,95483);o=a[A+28>>2]|0;h=a[A+20>>2]|0;d=a[A+24>>2]|0;B=a[A>>2]|0;k=a[A+4>>2]|0;A=a[i>>2]|0;l=(A|0)!=0;if(!f){if(!l)A=$F(U(r<<3,B)|0)|0;f=0;A:while(1){if((f|0)>=(B|0))break;u=U(f,r)|0;l=0;while(1){if((l|0)>=(r|0))break;b[A+(l+u<<3)>>3]=0.0;l=l+1|0}s=f+1|0;w=a[h+(s<<2)>>2]|0;l=a[h+(f<<2)>>2]|0;while(1){if((l|0)>=(w|0)){f=s;continue A}t=o+(l<<3)|0;c=d+(l<<2)|0;f=0;while(1){if((f|0)>=(r|0))break;v=+b[e+((U(a[c>>2]|0,r)|0)+f<<3)>>3]*+b[t>>3];k=A+(f+u<<3)|0;b[k>>3]=+b[k>>3]+v;f=f+1|0}l=l+1|0}}if(n)Fs(A,B,r)}else{if(!l)A=$F(U(r<<3,k)|0)|0;f=U(k,r)|0;l=0;while(1){if((l|0)>=(f|0)){l=0;break}b[A+(l<<3)>>3]=0.0;l=l+1|0}A:while(1){if((l|0)>=(B|0))break;s=l+1|0;w=a[h+(s<<2)>>2]|0;u=U(l,r)|0;l=a[h+(l<<2)>>2]|0;while(1){if((l|0)>=(w|0)){l=s;continue A}t=o+(l<<3)|0;c=d+(l<<2)|0;f=0;while(1){if((f|0)>=(r|0))break;g=A+((U(a[c>>2]|0,r)|0)+f<<3)|0;b[g>>3]=+b[g>>3]+ +b[e+(f+u<<3)>>3]*+b[t>>3];f=f+1|0}l=l+1|0}}if(n)Fs(A,k,r)}a[i>>2]=A;return}function Ds(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w;if((a[A+32>>2]|0)!=1)vA(94919,94943,1163,95335);if((a[A+16>>2]|0)!=1)vA(95364,94943,1164,95335);l=a[i>>2]|0;c=a[A>>2]|0;b=a[A+4>>2]|0;t=(l|0)!=0;if(!f){if(!t)l=$F(U(r<<3,c)|0)|0;t=0;while(1){if((t|0)>=(r|0))break;a[s>>2]=l+((U(t,c)|0)<<3);Ms(A,e+((U(t,b)|0)<<3)|0,s,0);t=t+1|0}if(!n)Fs(l,r,c)}else{if(!t)l=$F(U(r<<3,b)|0)|0;t=0;while(1){if((t|0)>=(r|0))break;a[s>>2]=l+((U(t,b)|0)<<3);Ms(A,e+((U(t,c)|0)<<3)|0,s,f);t=t+1|0}if(!n)Fs(l,r,b)}a[i>>2]=l;k=w;return}function Ms(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0;if((a[A+32>>2]|0)!=1)vA(94919,94943,1222,95392);l=a[A+16>>2]|0;switch(l|0){case 4:case 1:break;default:vA(95421,94943,1223,95392)}u=a[A+20>>2]|0;w=a[A+24>>2]|0;k=a[A>>2]|0;c=a[A+4>>2]|0;t=a[i>>2]|0;A:do{switch(l|0){case 1:{s=a[A+28>>2]|0;A=(r|0)!=0;f=(t|0)!=0;if(!e){if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[s+(A<<3)>>3];b[l>>3]=o;A=A+1|0;n=o}}}if(!f)t=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[t+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0)){f=t;break A}f=A+1|0;l=a[u+(f<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(l|0)){A=f;continue e}e=t+(a[w+(A<<2)>>2]<<3)|0;b[e>>3]=+b[e>>3]+ +b[s+(A<<3)>>3];A=A+1|0}}}else{if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[e+(a[w+(A<<2)>>2]<<3)>>3]*+b[s+(A<<3)>>3];b[l>>3]=o;A=A+1|0;n=o}}}if(f)f=t;else f=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[f+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0))break A;l=A+1|0;t=a[u+(l<<2)>>2]|0;r=e+(A<<3)|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(t|0)){A=l;continue e}c=f+(a[w+(A<<2)>>2]<<3)|0;b[c>>3]=+b[c>>3]+ +b[r>>3]*+b[s+(A<<3)>>3];A=A+1|0}}}}case 4:{s=a[A+28>>2]|0;A=(r|0)!=0;f=(t|0)!=0;if(!e){if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +(a[s+(A<<2)>>2]|0);b[l>>3]=o;A=A+1|0;n=o}}}if(!f)t=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[t+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0)){f=t;break A}f=A+1|0;l=a[u+(f<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(l|0)){A=f;continue e}e=t+(a[w+(A<<2)>>2]<<3)|0;b[e>>3]=+b[e>>3]+ +(a[s+(A<<2)>>2]|0);A=A+1|0}}}else{if(!A){if(f)f=t;else f=$F(k<<3)|0;A=0;e:while(1){if((A|0)>=(k|0))break A;l=f+(A<<3)|0;b[l>>3]=0.0;t=A+1|0;r=a[u+(t<<2)>>2]|0;A=a[u+(A<<2)>>2]|0;n=0.0;while(1){if((A|0)>=(r|0)){A=t;continue e}o=n+ +b[e+(a[w+(A<<2)>>2]<<3)>>3]*+(a[s+(A<<2)>>2]|0);b[l>>3]=o;A=A+1|0;n=o}}}if(f)f=t;else f=$F(c<<3)|0;A=0;while(1){if((A|0)>=(c|0)){A=0;break}b[f+(A<<3)>>3]=0.0;A=A+1|0}e:while(1){if((A|0)>=(k|0))break A;l=A+1|0;t=a[u+(l<<2)>>2]|0;r=e+(A<<3)|0;A=a[u+(A<<2)>>2]|0;while(1){if((A|0)>=(t|0)){A=l;continue e}c=f+(a[w+(A<<2)>>2]<<3)|0;b[c>>3]=+b[c>>3]+ +b[r>>3]*+(a[s+(A<<2)>>2]|0);A=A+1|0}}}}default:vA(138394,94943,1315,95392)}}while(0);a[i>>2]=f;return}function Fs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,n=0;r=U(e<<3,i)|0;a=$F(r)|0;y6(a|0,A|0,r|0)|0;r=0;while(1){if((r|0)>=(e|0))break;n=U(r,i)|0;f=0;while(1){if((f|0)>=(i|0))break;b[A+((U(f,e)|0)+r<<3)>>3]=+b[a+(f+n<<3)>>3];f=f+1|0}r=r+1|0}L2(a);return}function Vs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;I=a[A+20>>2]|0;Z=a[A+24>>2]|0;G=a[e+20>>2]|0;Q=a[e+24>>2]|0;C=a[A+32>>2]|0;if(!((C|0)==1?(C|0)==(a[e+32>>2]|0):0))vA(95005,94943,1408,95512);C=a[A>>2]|0;if(((a[A+4>>2]|0)==(a[e>>2]|0)?(u=a[A+16>>2]|0,(u|0)==(a[e+16>>2]|0)):0)?(w=e+4|0,m=$F(a[w>>2]<<2)|0,(m|0)!=0):0){i=0;while(1){if((i|0)>=(a[w>>2]|0)){r=0;i=0;break}a[m+(i<<2)>>2]=-1;i=i+1|0}A:while(1){if((i|0)>=(C|0))break;t=i+1|0;c=I+(t<<2)|0;s=-2-i|0;l=a[I+(i<<2)>>2]|0;while(1){if((l|0)>=(a[c>>2]|0)){i=t;continue A}f=a[Z+(l<<2)>>2]|0;n=G+(f+1<<2)|0;f=a[G+(f<<2)>>2]|0;while(1){if((f|0)>=(a[n>>2]|0))break;i=m+(a[Q+(f<<2)>>2]<<2)|0;if((a[i>>2]|0)!=(s|0)){a[i>>2]=s;r=r+1|0}f=f+1|0}l=l+1|0}}i=fq(C,a[w>>2]|0,r,u,1)|0;A:do{if(!i)i=0;else{v=a[i+20>>2]|0;g=a[i+24>>2]|0;e:do{switch(u|0){case 1:{d=a[A+28>>2]|0;u=a[e+28>>2]|0;e=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((r|0)>=(C|0)){E=f;break e}k=r+1|0;o=I+(k<<2)|0;h=v+(r<<2)|0;A=a[I+(r<<2)>>2]|0;while(1){if((A|0)>=(a[o>>2]|0))break;c=a[Z+(A<<2)>>2]|0;s=G+(c+1<<2)|0;w=d+(A<<3)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;r=Q+(c<<2)|0;n=a[r>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[h>>2]|0)){a[l>>2]=f;a[g+(f<<2)>>2]=a[r>>2];b[e+(f<<3)>>3]=+b[u+(c<<3)>>3]*+b[w>>3];f=f+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;B=e+(t<<3)|0;b[B>>3]=+b[B>>3]+ +b[u+(c<<3)>>3]*+b[w>>3]}c=c+1|0}A=A+1|0}a[v+(k<<2)>>2]=f;r=k}vA(95534,94943,1468,95512);break}case 2:{B=a[A+28>>2]|0;e=a[e+28>>2]|0;k=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((r|0)>=(C|0)){E=f;break e}o=r+1|0;h=I+(o<<2)|0;d=v+(r<<2)|0;u=a[I+(r<<2)>>2]|0;while(1){if((u|0)>=(a[h>>2]|0))break;c=a[Z+(u<<2)>>2]|0;s=G+(c+1<<2)|0;A=u<<1;w=B+(A<<3)|0;A=B+((A|1)<<3)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;r=Q+(c<<2)|0;n=a[r>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[d>>2]|0)){a[l>>2]=f;a[g+(f<<2)>>2]=a[r>>2];l=c<<1;n=e+(l<<3)|0;l=e+((l|1)<<3)|0;t=f<<1;b[k+(t<<3)>>3]=+b[n>>3]*+b[w>>3]-+b[l>>3]*+b[A>>3];b[k+((t|1)<<3)>>3]=+b[n>>3]*+b[A>>3]+ +b[l>>3]*+b[w>>3];f=f+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;l=c<<1;n=e+(l<<3)|0;l=e+((l|1)<<3)|0;t=t<<1;r=k+(t<<3)|0;b[r>>3]=+b[r>>3]+ +b[n>>3]*+b[w>>3]-+b[l>>3]*+b[A>>3];t=k+((t|1)<<3)|0;b[t>>3]=+b[n>>3]*+b[A>>3]+ +b[l>>3]*+b[w>>3]+ +b[t>>3]}c=c+1|0}u=u+1|0}a[v+(o<<2)>>2]=f;r=o}vA(95534,94943,1497,95512);break}case 4:{d=a[A+28>>2]|0;u=a[e+28>>2]|0;e=a[i+28>>2]|0;a[v>>2]=0;r=0;f=0;i:while(1){if((f|0)>=(C|0)){E=r;break e}k=f+1|0;o=I+(k<<2)|0;h=v+(f<<2)|0;s=a[I+(f<<2)>>2]|0;while(1){if((s|0)>=(a[o>>2]|0))break;c=a[Z+(s<<2)>>2]|0;w=G+(c+1<<2)|0;A=d+(s<<2)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[w>>2]|0))break;f=Q+(c<<2)|0;n=a[f>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)<(a[h>>2]|0)){a[l>>2]=r;a[g+(r<<2)>>2]=a[f>>2];a[e+(r<<2)>>2]=U(a[u+(c<<2)>>2]|0,a[A>>2]|0)|0;r=r+1|0}else{if((a[g+(t<<2)>>2]|0)!=(n|0))break i;l=U(a[u+(c<<2)>>2]|0,a[A>>2]|0)|0;B=e+(t<<2)|0;a[B>>2]=(a[B>>2]|0)+l}c=c+1|0}s=s+1|0}a[v+(k<<2)>>2]=r;f=k}vA(95534,94943,1523,95512);break}case 8:{a[v>>2]=0;r=0;f=0;i:while(1){if((f|0)>=(C|0)){E=r;break e}A=f+1|0;u=I+(A<<2)|0;e=v+(f<<2)|0;s=a[I+(f<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;c=a[Z+(s<<2)>>2]|0;w=G+(c+1<<2)|0;c=a[G+(c<<2)>>2]|0;while(1){if((c|0)>=(a[w>>2]|0))break;f=Q+(c<<2)|0;n=a[f>>2]|0;l=m+(n<<2)|0;t=a[l>>2]|0;if((t|0)>=(a[e>>2]|0)){if((a[g+(t<<2)>>2]|0)!=(n|0))break i}else{a[l>>2]=r;a[g+(r<<2)>>2]=a[f>>2];r=r+1|0}c=c+1|0}s=s+1|0}a[v+(A<<2)>>2]=r;f=A}vA(95534,94943,1543,95512);break}default:{rq(i);i=0;break A}}}while(0);a[i+8>>2]=E}}while(0);L2(m)}else i=0;return i|0}function Js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0.0,V=0.0,J=0.0,N=0.0;z=a[A+20>>2]|0;Y=a[A+24>>2]|0;D=a[e+20>>2]|0;m=a[e+24>>2]|0;L=a[i+20>>2]|0;W=a[i+24>>2]|0;y=a[A+32>>2]|0;if(!((y|0)==1?(y|0)==(a[e+32>>2]|0):0))vA(95005,94943,1574,95559);y=a[A>>2]|0;if(((((a[A+4>>2]|0)==(a[e>>2]|0)?(a[e+4>>2]|0)==(a[i>>2]|0):0)?(h=a[A+16>>2]|0,(h|0)==(a[e+16>>2]|0)):0)?(h|0)==(a[i+16>>2]|0):0)?(o=i+4|0,M=$F(a[o>>2]<<2)|0,(M|0)!=0):0){r=0;while(1){if((r|0)>=(a[o>>2]|0)){f=0;r=0;break}a[M+(r<<2)>>2]=-1;r=r+1|0}A:while(1){if((r|0)>=(y|0))break;w=r+1|0;u=z+(w<<2)|0;k=-2-r|0;s=a[z+(r<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0)){r=w;continue A}t=a[Y+(s<<2)>>2]|0;c=D+(t+1<<2)|0;t=a[D+(t<<2)>>2]|0;while(1){if((t|0)>=(a[c>>2]|0))break;n=a[m+(t<<2)>>2]|0;l=L+(n+1<<2)|0;n=a[L+(n<<2)>>2]|0;while(1){if((n|0)>=(a[l>>2]|0))break;r=M+(a[W+(n<<2)>>2]<<2)|0;if((a[r>>2]|0)!=(k|0)){a[r>>2]=k;f=f+1|0}n=n+1|0}t=t+1|0}s=s+1|0}}r=fq(y,a[o>>2]|0,f,h,1)|0;A:do{if(!r)r=0;else{Z=a[r+20>>2]|0;G=a[r+24>>2]|0;e:do{switch(h|0){case 1:{E=a[A+28>>2]|0;g=a[e+28>>2]|0;i=a[i+28>>2]|0;d=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((f|0)>=(y|0)){Q=n;break e}B=f+1|0;v=z+(B<<2)|0;e=Z+(f<<2)|0;h=a[z+(f<<2)>>2]|0;while(1){if((h|0)>=(a[v>>2]|0))break;k=a[Y+(h<<2)>>2]|0;o=D+(k+1<<2)|0;A=E+(h<<3)|0;k=a[D+(k<<2)>>2]|0;while(1){if((k|0)>=(a[o>>2]|0))break;s=a[m+(k<<2)>>2]|0;w=L+(s+1<<2)|0;u=g+(k<<3)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[w>>2]|0))break;f=W+(s<<2)|0;l=a[f>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[e>>2]|0)){a[t>>2]=n;a[G+(n<<2)>>2]=a[f>>2];b[d+(n<<3)>>3]=+b[u>>3]*+b[A>>3]*+b[i+(s<<3)>>3];n=n+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;I=d+(c<<3)|0;b[I>>3]=+b[I>>3]+ +b[u>>3]*+b[A>>3]*+b[i+(s<<3)>>3]}s=s+1|0}k=k+1|0}h=h+1|0}a[Z+(B<<2)>>2]=n;f=B}vA(95582,94943,1642,95559);break}case 2:{I=a[A+28>>2]|0;C=a[e+28>>2]|0;d=a[i+28>>2]|0;B=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}v=n+1|0;g=z+(v<<2)|0;E=Z+(n<<2)|0;A=a[z+(n<<2)>>2]|0;while(1){if((A|0)>=(a[g>>2]|0))break;w=a[Y+(A<<2)>>2]|0;h=D+(w+1<<2)|0;i=A<<1;e=I+(i<<3)|0;i=I+((i|1)<<3)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[h>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;o=w<<1;k=C+(o<<3)|0;o=C+((o|1)<<3)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[E>>2]|0)){a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];V=+b[e>>3];J=+b[k>>3];F=+b[i>>3];N=+b[o>>3];t=s<<1;l=d+(t<<3)|0;t=d+((t|1)<<3)|0;c=f<<1;b[B+(c<<3)>>3]=(J*V-N*F)*+b[l>>3]-(N*V+F*J)*+b[t>>3];J=+b[e>>3];F=+b[o>>3];V=+b[i>>3];N=+b[k>>3];b[B+((c|1)<<3)>>3]=(N*V+F*J)*+b[l>>3]+(N*J-V*F)*+b[t>>3];f=f+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;J=+b[e>>3];V=+b[k>>3];N=+b[i>>3];F=+b[o>>3];t=s<<1;l=d+(t<<3)|0;t=d+((t|1)<<3)|0;c=c<<1;n=B+(c<<3)|0;b[n>>3]=+b[n>>3]+(V*J-F*N)*+b[l>>3]-(F*J+N*V)*+b[t>>3];V=+b[e>>3];N=+b[o>>3];J=+b[i>>3];F=+b[k>>3];c=B+((c|1)<<3)|0;b[c>>3]=(F*J+N*V)*+b[l>>3]+(F*V-J*N)*+b[t>>3]+ +b[c>>3]}s=s+1|0}w=w+1|0}A=A+1|0}a[Z+(v<<2)>>2]=f;n=v}vA(95582,94943,1674,95559);break}case 4:{E=a[A+28>>2]|0;g=a[e+28>>2]|0;e=a[i+28>>2]|0;i=a[r+28>>2]|0;a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}d=n+1|0;B=z+(d<<2)|0;v=Z+(n<<2)|0;o=a[z+(n<<2)>>2]|0;while(1){if((o|0)>=(a[B>>2]|0))break;w=a[Y+(o<<2)>>2]|0;A=D+(w+1<<2)|0;h=E+(o<<2)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[A>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;k=g+(w<<2)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)<(a[v>>2]|0)){a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];C=U(a[k>>2]|0,a[h>>2]|0)|0;C=U(C,a[e+(s<<2)>>2]|0)|0;I=i+(f<<2)|0;a[I>>2]=(a[I>>2]|0)+C;f=f+1|0}else{if((a[G+(c<<2)>>2]|0)!=(l|0))break i;C=U(a[k>>2]|0,a[h>>2]|0)|0;C=U(C,a[e+(s<<2)>>2]|0)|0;I=i+(c<<2)|0;a[I>>2]=(a[I>>2]|0)+C}s=s+1|0}w=w+1|0}o=o+1|0}a[Z+(d<<2)>>2]=f;n=d}vA(95582,94943,1706,95559);break}case 8:{a[Z>>2]=0;f=0;n=0;i:while(1){if((n|0)>=(y|0)){Q=f;break e}A=n+1|0;h=z+(A<<2)|0;e=Z+(n<<2)|0;k=a[z+(n<<2)>>2]|0;while(1){if((k|0)>=(a[h>>2]|0))break;w=a[Y+(k<<2)>>2]|0;o=D+(w+1<<2)|0;w=a[D+(w<<2)>>2]|0;while(1){if((w|0)>=(a[o>>2]|0))break;s=a[m+(w<<2)>>2]|0;u=L+(s+1<<2)|0;s=a[L+(s<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;n=W+(s<<2)|0;l=a[n>>2]|0;t=M+(l<<2)|0;c=a[t>>2]|0;if((c|0)>=(a[e>>2]|0)){if((a[G+(c<<2)>>2]|0)!=(l|0))break i}else{a[t>>2]=f;a[G+(f<<2)>>2]=a[n>>2];f=f+1|0}s=s+1|0}w=w+1|0}k=k+1|0}a[Z+(A<<2)>>2]=f;n=A}vA(95582,94943,1729,95559);break}default:{rq(r);r=0;break A}}}while(0);a[r+8>>2]=Q}}while(0);L2(M)}else r=0;return r|0}function Ns(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;if((a[A+32>>2]|0)!=2)vA(95100,94943,1971,95607);if((e|0)>=1){l=a[A+8>>2]|0;n=l+e|0;if((n|0)>=(a[A+12>>2]|0))Xs(A,n+10|0)|0;t=l<<2;n=e<<2;y6((a[A+20>>2]|0)+t|0,i|0,n|0)|0;y6((a[A+24>>2]|0)+t|0,r|0,n|0)|0;n=a[A+40>>2]|0;if(n|0){t=U(n,e)|0;l=U(n,l)|0;y6((a[A+28>>2]|0)+l|0,f|0,t|0)|0}f=A+4|0;l=0;while(1){if((l|0)>=(e|0))break;n=a[i+(l<<2)>>2]|0;if((n|0)>=(a[A>>2]|0))a[A>>2]=n+1;n=a[r+(l<<2)>>2]|0;if((n|0)>=(a[f>>2]|0))a[f>>2]=n+1;l=l+1|0}t=A+8|0;a[t>>2]=(a[t>>2]|0)+e}return A|0}function Xs(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((a[A+32>>2]|0)==2){i=A+20|0;f=e<<2;a[i>>2]=eV(a[i>>2]|0,f)|0;i=A+24|0;a[i>>2]=eV(a[i>>2]|0,f)|0;i=a[A+40>>2]|0;if((i|0)>0){f=A+28|0;r=a[f>>2]|0;i=U(i,e)|0;if(!r)i=$F(i)|0;else i=eV(r,i)|0;a[f>>2]=i}}else{i=A+24|0;a[i>>2]=eV(a[i>>2]|0,e<<2)|0;i=a[A+40>>2]|0;if((i|0)>0){f=A+28|0;r=a[f>>2]|0;i=U(i,e)|0;if(!r)i=$F(i)|0;else i=eV(r,i)|0;a[f>>2]=i}}a[A+12>>2]=e;return A|0}function Rs(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;A:do{if(!A)A=0;else{s=a[A+20>>2]|0;c=a[A+24>>2]|0;e:do{switch(a[A+16>>2]|0){case 1:{l=a[A+28>>2]|0;r=a[A>>2]|0;e=0;i:while(1){if((e|0)>=(r|0))break e;f=e+1|0;n=a[s+(f<<2)>>2]|0;e=a[s+(e<<2)>>2]|0;i=1.0/+(n-e|0);while(1){if((e|0)>=(n|0)){e=f;continue i}c=l+(e<<3)|0;b[c>>3]=+b[c>>3]*i;e=e+1|0}}}case 2:{f=a[A+28>>2]|0;n=a[A>>2]|0;e=0;i:while(1){if((e|0)>=(n|0))break e;l=e+1|0;t=a[s+(l<<2)>>2]|0;r=a[s+(e<<2)>>2]|0;i=1.0/+(t-r|0);while(1){if((r|0)>=(t|0)){e=l;continue i}if((a[c+(r<<2)>>2]|0)!=(e|0)){w=r<<1;u=f+(w<<3)|0;b[u>>3]=+b[u>>3]*i;w=f+((w|1)<<3)|0;b[w>>3]=+b[w>>3]*i}r=r+1|0}}}case 4:{vA(138394,94943,2192,95648);break}case 8:break;default:{A=0;break A}}}while(0)}}while(0);return A|0}function Hs(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((A|0)!=0?(e=A+8|0,i=a[e>>2]|0,r=a[A+4>>2]|0,(r|0)==(a[A>>2]|0)):0){n=a[A+24>>2]|0;A=a[A+20>>2]|0;f=fq(r,r,i,8,1)|0;y6(a[f+20>>2]|0,A|0,(r<<2)+4|0)|0;y6(a[f+24>>2]|0,n|0,i<<2|0)|0;a[f+8>>2]=a[e>>2];A=tq(f,1)|0;rq(f);A=kq(A)|0;r=A+8|0;i=$F(a[r>>2]<<3)|0;a[A+28>>2]=i;r=a[r>>2]|0;e=0;while(1){if((e|0)>=(r|0))break;b[i+(e<<3)>>3]=1.0;e=e+1|0}a[A+16>>2]=1;a[A+40>>2]=8}else A=0;return A|0}function ps(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;E=a[A+4>>2]|0;u=a[A>>2]|0;d=E<<2;B=$F(d)|0;v=$F(d+4|0)|0;g=$F(d)|0;d=$F(d)|0;k=v+4|0;A=0;while(1){if((A|0)>=(E|0))break;a[B+(A<<2)>>2]=0;A=A+1|0}a[k>>2]=E;A=0;while(1){if((A|0)>=(E|0)){l=1;b=0;break}a[g+(A<<2)>>2]=-1;A=A+1|0}A:while(1){if((b|0)>=(u|0))break;n=o+(b<<2)|0;s=b+1|0;w=o+(s<<2)|0;A=a[n>>2]|0;while(1){f=a[w>>2]|0;if((A|0)>=(f|0))break;c=k+(a[B+(a[h+(A<<2)>>2]<<2)>>2]<<2)|0;a[c>>2]=(a[c>>2]|0)+-1;A=A+1|0}A=l;c=a[n>>2]|0;while(1){if((c|0)>=(f|0)){l=A;b=s;continue A}l=h+(c<<2)|0;f=B+(a[l>>2]<<2)|0;t=a[f>>2]|0;n=g+(t<<2)|0;if((a[n>>2]|0)<(b|0)){a[n>>2]=b;f=k+(t<<2)|0;if(!(a[f>>2]|0)){a[f>>2]=1;n=A;A=t;f=d+(t<<2)|0}else{a[d+(t<<2)>>2]=A;a[k+(A<<2)>>2]=1;n=A+1|0;f=B+(a[l>>2]<<2)|0}a[f>>2]=A;A=n}else{t=d+(t<<2)|0;a[f>>2]=a[t>>2];t=k+(a[t>>2]<<2)|0;a[t>>2]=(a[t>>2]|0)+1}c=c+1|0;f=a[w>>2]|0}}a[v>>2]=0;A=0;f=0;while(1){if((A|0)>=(l|0))break;o=A+1|0;k=v+(o<<2)|0;h=(a[k>>2]|0)+f|0;a[k>>2]=h;A=o;f=h}a[i>>2]=d;A=0;while(1){if((A|0)>=(E|0)){A=l;break}h=v+(a[B+(A<<2)>>2]<<2)|0;i=a[h>>2]|0;a[h>>2]=i+1;a[d+(i<<2)>>2]=A;A=A+1|0}while(1){if((A|0)<=0)break;E=A+-1|0;a[v+(A<<2)>>2]=a[v+(E<<2)>>2];A=E}a[v>>2]=0;a[r>>2]=v;a[e>>2]=l;L2(g);L2(B);return}function Us(){return+(+(a8()|0)*4.656612875245797e-10)}function xs(A){A=A|0;if((A|0)>1)return(a8()|0)%(A|0)|0|0;else vA(95682,95688,58,95698);return 0}function Ts(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;A:do{if((A|0)<1)e=0;else{e=$F(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break;a[e+(i<<2)>>2]=i;i=i+1|0}while(1){if((A|0)<=1)break A;r=xs(A)|0;i=A+-1|0;n=e+(i<<2)|0;f=a[n>>2]|0;r=e+(r<<2)|0;a[n>>2]=a[r>>2];a[r>>2]=f;A=i}}}while(0);return e|0}function js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=0;while(1){if((r|0)>=(A|0))break;f=i+(r<<3)|0;b[f>>3]=+b[e+(r<<3)>>3]-+b[f>>3];r=r+1|0}return i|0}function Ss(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0;r=0;f=0.0;while(1){if((r|0)>=(A|0))break;a=+b[i+(r<<3)>>3]*+b[e+(r<<3)>>3]+f;r=r+1|0;f=a}return+f}function Ps(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=i+(f<<3)|0;b[a>>3]=+b[a>>3]*r+ +b[e+(f<<3)>>3];f=f+1|0}return i|0}function Os(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=e+(f<<3)|0;b[a>>3]=+b[i+(f<<3)>>3]*r+ +b[a>>3];f=f+1|0}return e|0}function Ks(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,n=0.0;a=U(i,e)|0;r=U(r,e)|0;f=0.0;i=0;while(1){if((i|0)>=(e|0))break;n=+b[A+(i+a<<3)>>3]-+b[A+(i+r<<3)>>3];f=n*n+f;i=i+1|0}n=+z(+f);return+(n>1.0e-15?n:1.0e-15)}function _s(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0,n=0.0;a=U(i,e)|0;r=U(r,e)|0;f=0.0;i=0;while(1){if((i|0)>=(e|0))break;n=+b[A+(i+a<<3)>>3]-+b[A+(i+r<<3)>>3];f=n*n+f;i=i+1|0}return+ +z(+f)}function qs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0.0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;a=+b[A+(f<<3)>>3]-+b[e+(f<<3)>>3];r=a*a+r;f=f+1|0}return+ +z(+r)}function $s(A,e,i,r,f,a,n){A=+A;e=+e;i=+i;r=+r;f=f|0;a=a|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0.0;o=k;k=k+80|0;w=o+48|0;s=o+24|0;u=o;l=0;while(1){if((l|0)>=(a|0)){t=0;break}h=+b[n+(l<<3)>>3];b[w+(l<<3)>>3]=h;b[s+(l<<3)>>3]=h;l=l+1|0}while(1){if((t|0)>=(f|0))break;c=U(t,a)|0;l=0;while(1){if((l|0)>=(a|0))break;B=+b[n+(l+c<<3)>>3];d=w+(l<<3)|0;h=+b[d>>3];b[d>>3]=B>3];b[d>>3]=B>h?B:h;l=l+1|0}t=t+1|0}h=+b[s>>3]-+b[w>>3];i=h!=0.0?(i-A)/h:1.0;h=+b[s+8>>3]-+b[w+8>>3];B=(r-e)/h;i=h!=0.0?i>3]=A;b[u+8>>3]=e;b[u+16>>3]=0.0;t=0;while(1){if((t|0)>=(f|0))break;c=U(t,a)|0;l=0;while(1){if((l|0)>=(a|0))break;d=n+(l+c<<3)|0;b[d>>3]=(+b[d>>3]-+b[w+(l<<3)>>3])*i+ +b[u+(l<<3)>>3];l=l+1|0}t=t+1|0}k=o;return}function Aw(A,e){A=A|0;e=e|0;if((vh(A)|0)==1){A=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}else{ew(A);if(!((gR(po(e,95704)|0)|0)<<24>>24))e=Ju(A,186208)|0;else e=iw(A)|0;ju(A,e,186208);rw(e)}return}function ew(A){A=A|0;var e=0;e=Id(a[a[(a[(cd(A)|0)+16>>2]|0)+112>>2]>>2]|0)|0;A=a[46925]|0;if((e|0)!=(A|0)){a[46555]=0;a[46925]=e;a[46926]=Yo(e,0,95713,0)|0;a[46927]=Yo(a[46925]|0,1,95721,0)|0;a[46928]=Yo(a[46925]|0,1,95738,0)|0;A=a[46925]|0}a[46929]=po(A,95738)|0;zu(186208);a[46554]=1;b[23280]=+oR(a[46925]|0,a[46926]|0,1.0,0.0);a[46556]=a[46927];a[46557]=a[46928];a[46558]=a[46929];return}function iw(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+144|0;r=f;i=f+8|0;e=a[46555]|0;a[46555]=e+1;a[r>>2]=e;P4(i,96234,r)|0;i=Yu(XB(A,i,1)|0)|0;r=i+8|0;e=cd(A)|0;while(1){if(!e)break;kd(a[r>>2]|0,e,1)|0;a[(a[(a[e+16>>2]|0)+112>>2]|0)+12>>2]=i;e=bd(A,e)|0}k=f;return i|0}function rw(A){A=A|0;Tu(A);return}function fw(A,e){A=A|0;e=e|0;var i=0;i=$F(32)|0;a[i>>2]=4;b[i+8>>3]=.75;a[i+16>>2]=1073741824;a[i+20>>2]=1;a[i+24>>2]=A;a[i+28>>2]=e;return i|0}function aw(A){A=A|0;L2(A);return}function nw(A){A=A|0;var e=0,i=0;if(!A)return;i=a[A+8>>2]|0;do{if(i|0){if(a[A>>2]|0){rq(i);e=a[A+12>>2]|0;if(!e)break;rq(e);break}if(a[A+36>>2]|0?(rq(i),e=a[A+12>>2]|0,e|0):0)rq(e)}}while(0);rq(a[A+16>>2]|0);rq(a[A+20>>2]|0);e=a[A+24>>2]|0;if(e|0?(a[A>>2]|0)>0:0)L2(e);nw(a[A+28>>2]|0);L2(A);return}function lw(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0;E=k;k=k+32|0;w=E+16|0;u=E+12|0;o=E+8|0;h=E+4|0;d=E;a[w>>2]=A;a[u>>2]=0;a[o>>2]=0;a[h>>2]=0;a[d>>2]=0;a[l>>2]=0;a[t>>2]=0;a[e>>2]=0;a[n>>2]=0;a[r>>2]=0;B=c+28|0;v=c+8|0;g=+(a[A+4>>2]|0);f=i;do{tw(A,w,f,u,0,d,o,h,c,s);f=a[w>>2]|0;if(!f)break;i=a[f+4>>2]|0;f=a[l>>2]|0;if(!f){a[l>>2]=a[o>>2];a[t>>2]=a[h>>2]}else{A=Vs(f,a[o>>2]|0)|0;rq(a[l>>2]|0);rq(a[o>>2]|0);a[l>>2]=A;A=Vs(a[h>>2]|0,a[t>>2]|0)|0;rq(a[t>>2]|0);rq(a[h>>2]|0);a[t>>2]=A}f=a[e>>2]|0;if(f|0)rq(f);a[e>>2]=a[w>>2];f=a[r>>2]|0;if(f|0)rq(f);f=a[u>>2]|0;a[r>>2]=f;A=a[n>>2]|0;if(A){L2(A);f=a[u>>2]|0}a[n>>2]=a[d>>2];A=a[w>>2]|0;a[d>>2]=0;if(!(+b[v>>3]*g<+(i|0)))break}while((a[B>>2]|0)==1);k=E;return}function tw(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+32|0;W=D+28|0;h=D+24|0;m=D+20|0;y=D+16|0;u=D+12|0;z=D+8|0;Y=D+4|0;E=D;a[W>>2]=0;a[h>>2]=0;a[y>>2]=0;a[z>>2]=0;a[Y>>2]=0;a[e>>2]=0;a[r>>2]=0;a[l>>2]=0;a[t>>2]=0;L=a[A>>2]|0;o=c+24|0;a[s>>2]=a[o>>2];w=a[o>>2]|0;A:do{switch(w|0){case 12:{a[o>>2]=3;a[s>>2]=3;tw(A,e,i,r,f,n,l,t,c,s);if((((a[e>>2]|0)==0?(a[o>>2]=4,a[s>>2]=4,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0)?(a[o>>2]=6,a[s>>2]=6,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0)?(a[o>>2]=9,a[s>>2]=9,tw(A,e,i,r,f,n,l,t,c,s),(a[e>>2]|0)==0):0){a[o>>2]=2;a[s>>2]=2;tw(A,e,i,r,f,n,l,t,c,s)}a[o>>2]=12;o=0;h=0;c=0;u=0;w=0;s=0;break}case 9:case 10:{i=a[c+20>>2]|0;if((w|0)==9)ow(A,i,y,u,m);else hw(A,i,y,u,m);g=a[A+20>>2]|0;E=a[A+24>>2]|0;v=a[u>>2]|0;if(!(a[c+28>>2]|0)){if((v|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(v|0)){o=0;h=0;c=0;u=0;w=0;s=0;break A}}else if((v|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break A}if((v|0)>=(a[c>>2]|0)){G=a[m>>2]|0;Z=G<<2;I=$F(Z)|0;Z=$F(Z)|0;G=$F(G<<3)|0;a[m>>2]=0;B=a[y>>2]|0;d=0;u=0;e:while(1){if((d|0)>=(L|0))break;i=B+(d<<2)|0;if((a[i>>2]|0)!=-1){a[I+(u<<2)>>2]=d;a[Z+(a[m>>2]<<2)>>2]=a[i>>2];h=a[m>>2]|0;c=h+1|0;a[m>>2]=c;b[G+(h<<3)>>3]=1.0;d=d+1|0;u=c;continue}w=a[g+(d<<2)>>2]|0;h=d+1|0;c=g+(h<<2)|0;o=a[c>>2]|0;i=0;s=w;while(1){if((s|0)>=(o|0))break;i=((a[B+(a[E+(s<<2)>>2]<<2)>>2]|0)>>>31^1)+i|0;s=s+1|0}C=1.0/+(i|0);i=o;while(1){if((w|0)>=(i|0)){d=h;continue e}s=E+(w<<2)|0;if((a[B+(a[s>>2]<<2)>>2]|0)>-1){a[I+(u<<2)>>2]=d;a[Z+(a[m>>2]<<2)>>2]=a[B+(a[s>>2]<<2)>>2];i=a[m>>2]|0;s=i+1|0;a[m>>2]=s;b[G+(i<<3)>>3]=C;i=a[c>>2]|0}else s=u;w=w+1|0;u=s}}L=hq(u,L,v,I,Z,G,1,8)|0;a[l>>2]=L;L=iq(L)|0;a[t>>2]=L;l=Js(L,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=G;h=Z;c=I;u=I;w=Z;s=G}else{Ms(a[t>>2]|0,f,n,0);o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;a[r>>2]=0;o=G;h=Z;c=I;u=I;w=Z;s=G}}else{o=0;h=0;c=0;u=0;w=0;s=0}break}case 5:{Q=26;break}case 1:{s=c+20|0;ww(A,a[s>>2]|0,W,h);i=a[o>>2]|0;if((i|0)==2){i=s;Q=24}else Q=25;break}case 2:{i=c+20|0;Q=24;break}case 3:{cw(A,a[c+20>>2]|0,z,Y,E);Q=12;break}case 4:{bw(A,a[c+20>>2]|0,z,Y,E);Q=12;break}case 6:{sw(A,z,Y,E);Q=12;break}default:{o=0;h=0;c=0;u=0;w=0;s=0}}}while(0);do{if((Q|0)==12){d=a[E>>2]|0;if(!(a[c+28>>2]|0)){if((d|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(d|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}}else if((d|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}if((d|0)>=(a[c>>2]|0)){v=L<<2;B=$F(v)|0;v=$F(v)|0;g=$F(L<<3)|0;a[m>>2]=0;u=a[Y>>2]|0;o=a[z>>2]|0;w=0;i=0;A:while(1){if((w|0)>=(a[E>>2]|0))break;h=w+1|0;c=u+(h<<2)|0;s=a[u+(w<<2)>>2]|0;while(1){if((s|0)>=(a[c>>2]|0)){w=h;continue A}a[B+(i<<2)>>2]=a[o+(s<<2)>>2];a[v+(a[m>>2]<<2)>>2]=w;Z=a[m>>2]|0;G=Z+1|0;a[m>>2]=G;b[g+(Z<<3)>>3]=1.0;s=s+1|0;i=G}}L=hq(i,L,d,B,v,g,1,8)|0;a[l>>2]=L;a[t>>2]=iq(L)|0;a[r>>2]=0;l=Js(a[t>>2]|0,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=g;h=v;c=B;u=B;w=v;s=g}else{Ms(a[t>>2]|0,f,n,0);a[t>>2]=Rs(a[t>>2]|0)|0;o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;o=g;h=v;c=B;u=B;w=v;s=g}}else{o=0;h=0;c=0;u=0;w=0;s=0}}else if((Q|0)==24){uw(A,a[i>>2]|0,W,h);i=a[o>>2]|0;Q=25}}while(0);if((Q|0)==25)if((i|0)==5)Q=26;else Q=27;if((Q|0)==26){kw(A,a[c+20>>2]|0,W,h);Q=27}do{if((Q|0)==27){i=a[h>>2]|0;if(!(a[c+28>>2]|0)){if((i|0)==(L|0)?1:+b[c+8>>3]*+(L|0)<+(i|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}}else if((i|0)==(L|0)){o=0;h=0;c=0;u=0;w=0;s=0;break}if((i|0)>=(a[c>>2]|0)){B=L<<2;d=$F(B)|0;B=$F(B)|0;v=$F(L<<3)|0;a[m>>2]=0;h=a[W>>2]|0;i=0;o=0;while(1){if((o|0)>=(L|0))break;s=h+(o<<2)|0;w=a[s>>2]|0;if((w|0)>-1){a[d+(a[m>>2]<<2)>>2]=o;a[B+(a[m>>2]<<2)>>2]=i;Q=a[m>>2]|0;u=Q+1|0;a[m>>2]=u;b[v+(Q<<3)>>3]=1.0;if((w|0)!=(o|0)){a[d+(u<<2)>>2]=a[s>>2];a[B+(a[m>>2]<<2)>>2]=i;Q=a[m>>2]|0;a[m>>2]=Q+1;b[v+(Q<<3)>>3]=1.0;a[h+(a[s>>2]<<2)>>2]=-1}a[s>>2]=-1;i=i+1|0}o=o+1|0}L=hq(a[m>>2]|0,L,i,d,B,v,1,8)|0;a[l>>2]=L;L=iq(L)|0;a[t>>2]=L;l=Js(L,A,a[l>>2]|0)|0;a[e>>2]=l;if(!l){o=v;h=B;c=d;u=d;w=B;s=v}else{Ms(a[t>>2]|0,f,n,0);a[t>>2]=Rs(a[t>>2]|0)|0;o=a[e>>2]|0;h=o+36|0;a[h>>2]=a[h>>2]|3;a[e>>2]=kq(o)|0;a[r>>2]=0;o=v;h=B;c=d;u=d;w=B;s=v}}else{o=0;h=0;c=0;u=0;w=0;s=0}}}while(0);i=a[W>>2]|0;if(i|0)L2(i);i=a[y>>2]|0;if(i|0)L2(i);if(c|0)L2(u);if(h|0)L2(w);if(o|0)L2(s);i=a[z>>2]|0;if(i|0)L2(i);i=a[Y>>2]|0;if(i|0)L2(i);k=D;return}function cw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;v=a[A+20>>2]|0;g=a[A+24>>2]|0;C=a[A>>2]|0;E=C<<2;a[i>>2]=$F(E)|0;a[r>>2]=$F(E+4|0)|0;E=$F(E)|0;n=0;while(1){if((n|0)>=(C|0))break;a[E+(n<<2)>>2]=n;n=n+1|0}a[f>>2]=0;d=a[r>>2]|0;a[d>>2]=0;B=a[A+28>>2]|0;A:do{if(!e){n=0;A=0;e:while(1){while(1){if((A|0)>=(C|0)){A=0;t=0.0;e=0;break e}e=A;A=A+1|0;if((a[E+(e<<2)>>2]|0)==-1)continue;e=a[v+(e<<2)>>2]|0;if(((a[v+(A<<2)>>2]|0)-e|0)==1)break}s=a[g+(e<<2)>>2]|0;a[E+(s<<2)>>2]=-1;w=a[i>>2]|0;a[w+(n<<2)>>2]=s;u=v+(s+1<<2)|0;c=a[v+(s<<2)>>2]|0;n=n+1|0;while(1){if((c|0)>=(a[u>>2]|0))break;e=g+(c<<2)|0;l=a[e>>2]|0;if((s|0)!=(l|0)?((a[v+(l+1<<2)>>2]|0)-(a[v+(l<<2)>>2]|0)|0)==1:0){a[E+(l<<2)>>2]=-1;a[w+(n<<2)>>2]=a[e>>2];n=n+1|0}c=c+1|0}e=a[f>>2]|0;l=a[d+(e<<2)>>2]|0;if((n-l|0)<5){r=e+1|0;a[f>>2]=r;a[d+(r<<2)>>2]=n;continue}l=l+1|0;e=e+1|0;a[f>>2]=e;a[d+(e<<2)>>2]=l;e=l;while(1){if(!((l|0)<(n|0)&(e|0)<(n|0)))continue e;r=l+3|0;r=(n|0)<(r|0)?n:r;h=(a[f>>2]|0)+1|0;a[f>>2]=h;a[d+(h<<2)>>2]=r;e=e+1|0;l=r}}e:while(1){do{u=e;while(1){if((u|0)>=(C|0)){A=0;break e}o=E+(u<<2)|0;l=a[o>>2]|0;if((l|0)!=-1)break;u=u+1|0}e=u+1|0;h=a[v+(e<<2)>>2]|0;s=1;w=a[v+(u<<2)>>2]|0;while(1){if((w|0)>=(h|0))break;c=a[g+(w<<2)>>2]|0;if((u|0)!=(c|0)?(a[E+(c<<2)>>2]|0)!=-1:0)if((l|0)!=-1){k=+b[B+(w<<3)>>3];if((s|0)==0?!(k>t):0)s=0;else{s=0;A=c;t=k}}else l=-1;w=w+1|0}}while((s|0)!=0);a[E+(A<<2)>>2]=-1;a[o>>2]=-1;h=a[i>>2]|0;a[h+(n<<2)>>2]=u;r=n+2|0;a[h+(n+1<<2)>>2]=A;h=(a[f>>2]|0)+1|0;a[f>>2]=h;a[d+(h<<2)>>2]=r;n=r}while(1){if((A|0)>=(C|0))break A;if((a[E+(A<<2)>>2]|0)==(A|0)){g=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[d+(n<<2)>>2]=g;n=g}A=A+1|0}}else{d=Ts(C)|0;u=0;n=0;while(1){if((u|0)>=(C|0)){h=0;A=0;t=0.0;break}A=a[d+(u<<2)>>2]|0;e:do{if((a[E+(A<<2)>>2]|0)!=-1?(o=a[v+(A<<2)>>2]|0,((a[v+(A+1<<2)>>2]|0)-o|0)==1):0){c=a[g+(o<<2)>>2]|0;a[E+(c<<2)>>2]=-1;s=a[i>>2]|0;a[s+(n<<2)>>2]=c;w=v+(c+1<<2)|0;l=a[v+(c<<2)>>2]|0;n=n+1|0;while(1){if((l|0)>=(a[w>>2]|0))break;A=g+(l<<2)|0;e=a[A>>2]|0;if((c|0)!=(e|0)?((a[v+(e+1<<2)>>2]|0)-(a[v+(e<<2)>>2]|0)|0)==1:0){a[E+(e<<2)>>2]=-1;a[s+(n<<2)>>2]=a[A>>2];n=n+1|0}l=l+1|0}l=a[r>>2]|0;A=a[f>>2]|0;e=a[l+(A<<2)>>2]|0;if((n-e|0)<5){h=A+1|0;a[f>>2]=h;a[l+(h<<2)>>2]=n;break}e=e+1|0;A=A+1|0;a[f>>2]=A;a[l+(A<<2)>>2]=e;A=e;while(1){if(!((e|0)<(n|0)&(A|0)<(n|0)))break e;h=e+3|0;h=(n|0)<(h|0)?n:h;w=(a[f>>2]|0)+1|0;a[f>>2]=w;a[l+(w<<2)>>2]=h;A=A+1|0;e=h}}}while(0);u=u+1|0}while(1){if((h|0)>=(C|0)){A=0;break}w=a[d+(h<<2)>>2]|0;u=E+(w<<2)|0;e=a[u>>2]|0;if((e|0)!=-1){o=a[v+(w+1<<2)>>2]|0;c=1;s=a[v+(w<<2)>>2]|0;while(1){if((s|0)>=(o|0))break;l=a[g+(s<<2)>>2]|0;if((w|0)!=(l|0)?(a[E+(l<<2)>>2]|0)!=-1:0)if((e|0)!=-1){k=+b[B+(s<<3)>>3];if((c|0)==0?!(k>t):0)c=0;else{c=0;A=l;t=k}}else e=-1;s=s+1|0}if(!c){a[E+(A<<2)>>2]=-1;a[u>>2]=-1;u=a[i>>2]|0;a[u+(n<<2)>>2]=w;o=n+2|0;a[u+(n+1<<2)>>2]=A;u=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[u+(n<<2)>>2]=o;n=o}}h=h+1|0}while(1){if((A|0)>=(C|0))break;if((a[E+(A<<2)>>2]|0)==(A|0)){g=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;v=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[v+(n<<2)>>2]=g;n=g}A=A+1|0}L2(d)}}while(0);L2(E);return}function bw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+16|0;h=Q+8|0;Z=Q+4|0;G=Q;a[Z>>2]=0;a[G>>2]=0;E=a[A+20>>2]|0;g=a[A+24>>2]|0;C=a[A>>2]|0;I=C<<2;a[i>>2]=$F(I)|0;a[r>>2]=$F(I+4|0)|0;I=$F(I)|0;n=0;while(1){if((n|0)>=(C|0))break;a[I+(n<<2)>>2]=n;n=n+1|0}ps(A,h,Z,G);a[f>>2]=0;B=a[r>>2]|0;a[B>>2]=0;v=a[A+28>>2]|0;n=0;A=0;A:while(1){c=a[h>>2]|0;s=a[G>>2]|0;do{if((A|0)>=(c|0))break A;w=A;A=A+1|0;o=s+(A<<2)|0;t=a[o>>2]|0;w=a[s+(w<<2)>>2]|0}while((t-w|0)<2);s=a[Z>>2]|0;c=a[B+(a[f>>2]<<2)>>2]|0;while(1){if((w|0)>=(t|0))break;d=s+(w<<2)|0;a[I+(a[d>>2]<<2)>>2]=-1;t=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=a[d>>2];if((t-c|0)>3){n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[B+(n<<2)>>2]=t;n=t}else n=c;c=n;w=w+1|0;n=t;t=a[o>>2]|0}if((n|0)<=(c|0))continue;d=(a[f>>2]|0)+1|0;a[f>>2]=d;a[B+(d<<2)>>2]=n}A:do{if(!e){A=0;l=0.0;t=0;e:while(1){do{e=t;while(1){if((e|0)>=(C|0)){A=0;break e}h=I+(e<<2)|0;c=a[h>>2]|0;if((c|0)!=-1)break;e=e+1|0}t=e+1|0;d=a[E+(t<<2)>>2]|0;w=1;o=a[E+(e<<2)>>2]|0;while(1){if((o|0)>=(d|0))break;s=a[g+(o<<2)>>2]|0;if((e|0)!=(s|0)?(a[I+(s<<2)>>2]|0)!=-1:0)if((c|0)!=-1){u=+b[v+(o<<3)>>3];if((w|0)==0?!(u>l):0)w=0;else{w=0;A=s;l=u}}else c=-1;o=o+1|0}}while((w|0)!=0);a[I+(A<<2)>>2]=-1;a[h>>2]=-1;d=a[i>>2]|0;a[d+(n<<2)>>2]=e;r=n+2|0;a[d+(n+1<<2)>>2]=A;d=(a[f>>2]|0)+1|0;a[f>>2]=d;a[B+(d<<2)>>2]=r;n=r}while(1){if((A|0)>=(C|0))break A;if((a[I+(A<<2)>>2]|0)==(A|0)){E=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[B+(n<<2)>>2]=E;n=E}A=A+1|0}}else{B=Ts(C)|0;d=0;A=0;l=0.0;while(1){if((d|0)>=(C|0)){A=0;break}o=a[B+(d<<2)>>2]|0;e=I+(o<<2)|0;t=a[e>>2]|0;if((t|0)!=-1){h=a[E+(o+1<<2)>>2]|0;s=1;w=a[E+(o<<2)>>2]|0;while(1){if((w|0)>=(h|0))break;c=a[g+(w<<2)>>2]|0;if((o|0)!=(c|0)?(a[I+(c<<2)>>2]|0)!=-1:0)if((t|0)!=-1){u=+b[v+(w<<3)>>3];if((s|0)==0?!(u>l):0)s=0;else{s=0;A=c;l=u}}else t=-1;w=w+1|0}if(!s){a[I+(A<<2)>>2]=-1;a[e>>2]=-1;e=a[i>>2]|0;a[e+(n<<2)>>2]=o;h=n+2|0;a[e+(n+1<<2)>>2]=A;e=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[e+(n<<2)>>2]=h;n=h}}d=d+1|0}while(1){if((A|0)>=(C|0))break;if((a[I+(A<<2)>>2]|0)==(A|0)){E=n+1|0;a[(a[i>>2]|0)+(n<<2)>>2]=A;g=a[r>>2]|0;n=(a[f>>2]|0)+1|0;a[f>>2]=n;a[g+(n<<2)>>2]=E;n=E}A=A+1|0}L2(B)}}while(0);L2(a[Z>>2]|0);L2(a[G>>2]|0);L2(I);k=Q;return}function sw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;d=a[A+20>>2]|0;B=a[A+24>>2]|0;E=a[A>>2]|0;g=E<<2;a[e>>2]=$F(g)|0;a[i>>2]=$F(g+4|0)|0;g=$F(g)|0;h=$F(E<<4)|0;f=0;while(1){if((f|0)>=(E|0))break;a[g+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=0;a[a[i>>2]>>2]=0;o=a[A+28>>2]|0;v=Ts(E)|0;f=0;w=0;while(1){if((w|0)>=(E|0)){k=0;break}A=a[v+(w<<2)>>2]|0;A:do{if((a[g+(A<<2)>>2]|0)!=-1?(u=a[d+(A<<2)>>2]|0,((a[d+(A+1<<2)>>2]|0)-u|0)==1):0){t=a[B+(u<<2)>>2]|0;a[g+(t<<2)>>2]=-1;c=a[e>>2]|0;a[c+(f<<2)>>2]=t;s=d+(t+1<<2)|0;l=a[d+(t<<2)>>2]|0;f=f+1|0;while(1){if((l|0)>=(a[s>>2]|0))break;A=B+(l<<2)|0;n=a[A>>2]|0;if((t|0)!=(n|0)?((a[d+(n+1<<2)>>2]|0)-(a[d+(n<<2)>>2]|0)|0)==1:0){a[g+(n<<2)>>2]=-1;a[c+(f<<2)>>2]=a[A>>2];f=f+1|0}l=l+1|0}l=a[i>>2]|0;A=a[r>>2]|0;n=a[l+(A<<2)>>2]|0;if((f-n|0)<5){k=A+1|0;a[r>>2]=k;a[l+(k<<2)>>2]=f;break}n=n+1|0;A=A+1|0;a[r>>2]=A;a[l+(A<<2)>>2]=n;A=n;while(1){if(!((n|0)<(f|0)&(A|0)<(f|0)))break A;k=n+3|0;k=(f|0)<(k|0)?f:k;s=(a[r>>2]|0)+1|0;a[r>>2]=s;a[l+(s<<2)>>2]=k;A=A+1|0;n=k}}}while(0);w=w+1|0}while(1){if((k|0)>=(E|0)){A=0;break}w=a[v+(k<<2)>>2]|0;u=g+(w<<2)|0;A=a[u>>2]|0;if((A|0)!=-1){s=a[d+(w+1<<2)>>2]|0;n=0;c=a[d+(w<<2)>>2]|0;while(1){if((c|0)>=(s|0))break;t=a[B+(c<<2)>>2]|0;if((w|0)!=(t|0)?(a[g+(t<<2)>>2]|0)!=-1:0){l=n<<1;if((A|0)==-1)A=-1;else{b[h+(l<<3)>>3]=+(t|0);b[h+((l|1)<<3)>>3]=+b[o+(c<<3)>>3];n=n+1|0}}c=c+1|0}if((n|0)>0){K4(h,n,16,81);n=(n|0)<3?n:3;A=0;while(1){if((A|0)>=(n|0))break;s=~~+b[h+(A<<1<<3)>>3];a[g+(s<<2)>>2]=-1;a[(a[e>>2]|0)+(f<<2)>>2]=s;A=A+1|0;f=f+1|0}a[u>>2]=-1;u=f+1|0;a[(a[e>>2]|0)+(f<<2)>>2]=w;w=a[i>>2]|0;f=(a[r>>2]|0)+1|0;a[r>>2]=f;a[w+(f<<2)>>2]=u;f=u}}k=k+1|0}while(1){if((A|0)>=(E|0))break;if((a[g+(A<<2)>>2]|0)==(A|0)){B=f+1|0;a[(a[e>>2]|0)+(f<<2)>>2]=A;d=a[i>>2]|0;f=(a[r>>2]|0)+1|0;a[r>>2]=f;a[d+(f<<2)>>2]=B;f=B}A=A+1|0}L2(v);L2(g);return}function ww(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;d=a[A>>2]|0;f=a[A+4>>2]|0;b=$F(d<<2)|0;a[i>>2]=b;A=0;while(1){if((A|0)>=(d|0))break;a[b+(A<<2)>>2]=A;A=A+1|0}a[r>>2]=f;A:do{if(!e){f=0;e:while(1){if((f|0)>=(d|0))break A;e=f+1|0;n=o+(e<<2)|0;l=b+(f<<2)|0;t=b+(f<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[n>>2]|0)){f=e;continue e}c=h+(A<<2)|0;i=a[c>>2]|0;if(((f|0)!=(i|0)?(k=b+(i<<2)|0,(a[k>>2]|0)==(i|0)):0)?(a[l>>2]|0)==(f|0):0){a[k>>2]=f;a[t>>2]=a[c>>2];a[r>>2]=(a[r>>2]|0)+-1}A=A+1|0}}}else{e=Ts(d)|0;A=0;while(1){if((A|0)>=(d|0))break;n=a[e+(A<<2)>>2]|0;l=o+(n+1<<2)|0;f=a[o+(n<<2)>>2]|0;while(1){if((f|0)>=(a[l>>2]|0))break;t=h+(f<<2)|0;c=a[t>>2]|0;if(((n|0)!=(c|0)?(s=a[i>>2]|0,w=s+(c<<2)|0,(a[w>>2]|0)==(c|0)):0)?(u=s+(n<<2)|0,(a[u>>2]|0)==(n|0)):0){a[w>>2]=n;a[u>>2]=a[t>>2];a[r>>2]=(a[r>>2]|0)+-1}f=f+1|0}A=A+1|0}L2(e)}}while(0);return}function uw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;d=a[A+20>>2]|0;B=a[A+24>>2]|0;v=a[A>>2]|0;n=a[A+4>>2]|0;k=$F(v<<2)|0;a[i>>2]=k;f=0;while(1){if((f|0)>=(v|0))break;a[k+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=n;h=a[A+28>>2]|0;A:do{if(!e){f=0;l=0.0;c=0;while(1){if((c|0)>=(v|0))break A;s=c+1|0;w=a[d+(s<<2)>>2]|0;u=k+(c<<2)|0;n=1;e=a[d+(c<<2)>>2]|0;while(1){if((e|0)>=(w|0))break;A=a[B+(e<<2)>>2]|0;if(((c|0)!=(A|0)?(a[k+(A<<2)>>2]|0)==(A|0):0)?(a[u>>2]|0)==(c|0):0){t=+b[h+(e<<3)>>3];if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(n|0){c=s;continue}a[k+(f<<2)>>2]=c;a[k+(c<<2)>>2]=f;a[r>>2]=(a[r>>2]|0)+-1;c=s}}else{o=Ts(v)|0;k=0;f=0;l=0.0;while(1){if((k|0)>=(v|0))break;c=a[o+(k<<2)>>2]|0;s=a[i>>2]|0;w=s+(c<<2)|0;if((a[w>>2]|0)==(c|0)){u=a[d+(c+1<<2)>>2]|0;e=a[d+(c<<2)>>2]|0;n=1;while(1){if((e|0)>=(u|0))break;A=a[B+(e<<2)>>2]|0;if((c|0)!=(A|0)?(a[s+(A<<2)>>2]|0)==(A|0):0){t=+b[h+(e<<3)>>3];if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(!n){a[s+(f<<2)>>2]=c;a[w>>2]=f;a[r>>2]=(a[r>>2]|0)+-1}}k=k+1|0}L2(o)}}while(0);return}function kw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0;B=a[A+20>>2]|0;v=a[A+24>>2]|0;g=a[A>>2]|0;n=a[A+4>>2]|0;o=$F(g<<2)|0;a[i>>2]=o;f=0;while(1){if((f|0)>=(g|0))break;a[o+(f<<2)>>2]=f;f=f+1|0}a[r>>2]=n;d=a[A+28>>2]|0;A:do{if(!e){f=0;l=0.0;c=0;while(1){if((c|0)>=(g|0))break A;e=a[B+(c<<2)>>2]|0;s=c+1|0;w=a[B+(s<<2)>>2]|0;u=o+(c<<2)|0;k=+(w-e|0);n=1;while(1){if((e|0)>=(w|0))break;A=a[v+(e<<2)>>2]|0;if(((c|0)!=(A|0)?(a[o+(A<<2)>>2]|0)==(A|0):0)?(a[u>>2]|0)==(c|0):0){t=+b[d+(e<<3)>>3]/(+((a[B+(A+1<<2)>>2]|0)-(a[B+(A<<2)>>2]|0)|0)*k);if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(n|0){c=s;continue}a[o+(f<<2)>>2]=c;a[o+(c<<2)>>2]=f;a[r>>2]=(a[r>>2]|0)+-1;c=s}}else{h=Ts(g)|0;o=0;f=0;l=0.0;while(1){if((o|0)>=(g|0))break;c=a[h+(o<<2)>>2]|0;s=a[i>>2]|0;w=s+(c<<2)|0;if((a[w>>2]|0)==(c|0)){e=a[B+(c<<2)>>2]|0;u=a[B+(c+1<<2)>>2]|0;k=+(u-e|0);n=1;while(1){if((e|0)>=(u|0))break;A=a[v+(e<<2)>>2]|0;if((c|0)!=(A|0)?(a[s+(A<<2)>>2]|0)==(A|0):0){t=+b[d+(e<<3)>>3]/(+((a[B+(A+1<<2)>>2]|0)-(a[B+(A<<2)>>2]|0)|0)*k);if((n|0)==0?!(t>l):0)n=0;else{n=0;f=A;l=t}}e=e+1|0}if(!n){a[s+(f<<2)>>2]=c;a[w>>2]=f;a[r>>2]=(a[r>>2]|0)+-1}}o=o+1|0}L2(h)}}while(0);return}function ow(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=a[A+20>>2]|0;u=a[A+24>>2]|0;s=a[A>>2]|0;c=$F(s<<2)|0;a[i>>2]=c;A=0;while(1){if((A|0)>=(s|0))break;a[c+(A<<2)>>2]=-100;A=A+1|0}a[r>>2]=0;a[f>>2]=0;A:do{if(!e){e=0;e:while(1){if((e|0)>=(s|0))break A;if((a[c+(e<<2)>>2]|0)!=-100){e=e+1|0;continue}n=a[r>>2]|0;a[r>>2]=n+1;a[c+(e<<2)>>2]=n;n=e+1|0;l=w+(n<<2)|0;A=a[w+(e<<2)>>2]|0;while(1){if((A|0)>=(a[l>>2]|0)){e=n;continue e}t=a[u+(A<<2)>>2]|0;if((e|0)!=(t|0)){a[c+(t<<2)>>2]=-1;a[f>>2]=(a[f>>2]|0)+1}A=A+1|0}}}else{t=Ts(s)|0;l=0;while(1){if((l|0)>=(s|0))break;c=a[t+(l<<2)>>2]|0;b=a[i>>2]|0;A=b+(c<<2)|0;e:do{if((a[A>>2]|0)==-100){e=a[r>>2]|0;a[r>>2]=e+1;a[A>>2]=e;e=w+(c+1<<2)|0;A=a[w+(c<<2)>>2]|0;while(1){if((A|0)>=(a[e>>2]|0))break e;n=a[u+(A<<2)>>2]|0;if((c|0)!=(n|0)){a[b+(n<<2)>>2]=-1;a[f>>2]=(a[f>>2]|0)+1}A=A+1|0}}}while(0);l=l+1|0}L2(t)}}while(0);a[f>>2]=(a[f>>2]|0)+(a[r>>2]|0);return}function hw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;w=h+4|0;u=h;o=a[A+20>>2]|0;s=a[A+24>>2]|0;l=a[A>>2]|0;A=$F(l<<2)|0;a[i>>2]=A;n=0;while(1){a[w>>2]=n;if((n|0)>=(l|0))break;a[A+(n<<2)>>2]=-100;n=(a[w>>2]|0)+1|0}a[r>>2]=0;a[f>>2]=0;b=Cw(l,(l<<1)+-2|0)|0;A:do{if(!e){A=0;while(1){a[w>>2]=A;if((A|0)>=(l|0))break A;c=A+1|0;Zw(b,A,(a[o+(c<<2)>>2]|0)-(a[o+(A<<2)>>2]|0)|0)|0;A=c}}else{n=Ts(l)|0;A=0;while(1){if((A|0)>=(l|0))break;c=a[n+(A<<2)>>2]|0;a[w>>2]=c;Zw(b,c,(a[o+(c+1<<2)>>2]|0)-(a[o+(c<<2)>>2]|0)|0)|0;A=A+1|0}L2(n)}}while(0);A:while(1){c=(Gw(b,w,u)|0)==0;A=a[r>>2]|0;if(c)break;a[r>>2]=A+1;a[(a[i>>2]|0)+(a[w>>2]<<2)>>2]=A;A=a[w>>2]|0;c=a[o+(A<<2)>>2]|0;while(1){if((c|0)>=(a[o+(A+1<<2)>>2]|0))continue A;t=a[s+(c<<2)>>2]|0;if((A|0)!=(t|0)){e:do{if((a[(a[i>>2]|0)+(t<<2)>>2]|0)==-100){mw(b,t)|0;a[(a[i>>2]|0)+(t<<2)>>2]=-1;n=o+(t+1<<2)|0;A=a[o+(t<<2)>>2]|0;while(1){if((A|0)>=(a[n>>2]|0))break e;e=s+(A<<2)|0;l=a[e>>2]|0;if((t|0)!=(l|0)?(a[(a[i>>2]|0)+(l<<2)>>2]|0)==-100:0){l=Qw(b,l)|0;a[u>>2]=l;Zw(b,a[e>>2]|0,l+1|0)|0}A=A+1|0}}}while(0);a[f>>2]=(a[f>>2]|0)+1;A=a[w>>2]|0}c=c+1|0}}a[f>>2]=(a[f>>2]|0)+A;Iw(b);k=h;return}function dw(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A+8>>3];i=+b[e+8>>3];return(r>i?-1:r>2]|0)==1:0)f=A;else f=Hs(A)|0;do{if(!e)e=0;else{if(cq(e,0)|0?(a[e+16>>2]|0)==1:0)break;e=uq(e,0)|0}}while(0);i=vw(f,e,i)|0;e=gw(i,r)|0;if((f|0)!=(A|0))a[i+36>>2]=1;return e|0}function vw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(!A)A=0;else{r=$F(44)|0;a[r>>2]=0;a[r+4>>2]=a[A+4>>2];a[r+8>>2]=A;a[r+12>>2]=e;a[r+16>>2]=0;a[r+20>>2]=0;a[r+24>>2]=i;a[r+28>>2]=0;a[r+32>>2]=0;a[r+36>>2]=0;A=r}return A|0}function gw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+32|0;r=b+20|0;f=b+16|0;n=b+12|0;l=b+8|0;t=b+4|0;c=b;a[f>>2]=0;if((a[A>>2]|0)<((a[e+16>>2]|0)+-1|0)?(lw(a[A+8>>2]|0,t,a[A+12>>2]|0,c,0,f,n,l,e,r),i=a[t>>2]|0,i|0):0){t=a[c>>2]|0;c=vw(i,t,a[f>>2]|0)|0;a[A+28>>2]=c;a[c+40>>2]=a[r>>2];a[c>>2]=(a[A>>2]|0)+1;a[c+4>>2]=a[i>>2];a[c+8>>2]=i;a[c+12>>2]=t;a[c+16>>2]=a[n>>2];a[A+20>>2]=a[l>>2];a[c+32>>2]=A;gw(c,e)|0}k=b;return A|0}function Ew(A){A=A|0;var e=0;while(1){e=a[A+28>>2]|0;if(!e)break;else A=e}return A|0}function Cw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=$F(28)|0;a[f>>2]=0;a[f+4>>2]=A;a[f+8>>2]=e;a[f+12>>2]=-1;r=f+16|0;a[r>>2]=$F((e<<2)+4|0)|0;i=0;while(1){if((i|0)>(e|0))break;a[(a[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}e=(A<<2)+4|0;r=f+20|0;a[r>>2]=$F(e)|0;i=0;while(1){if((i|0)>(A|0))break;a[(a[r>>2]|0)+(i<<2)>>2]=0;i=i+1|0}e=$F(e)|0;a[f+24>>2]=e;i=0;while(1){if((i|0)>(A|0))break;a[e+(i<<2)>>2]=-999;i=i+1|0}return f|0}function Iw(A){A=A|0;var e=0,i=0,r=0,f=0;if(A|0){r=A+16|0;e=a[r>>2]|0;if(e|0){f=A+8|0;i=0;while(1){if((i|0)>(a[f>>2]|0))break;mu(a[e+(i<<2)>>2]|0,105);i=i+1|0;e=a[r>>2]|0}L2(e)}e=a[A+20>>2]|0;if(e|0)L2(e);L2(a[A+24>>2]|0);L2(A)}return}function Zw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;n=A+8|0;c=A+20|0;t=A+24|0;b=A+16|0;if(!A)vA(138953,95743,69,95759);while(1){if((a[n>>2]|0)<(i|0)){l=4;break}r=(a[c>>2]|0)+(e<<2)|0;f=a[r>>2]|0;if(!f)break;s=a[(a[t>>2]|0)+(e<<2)>>2]|0;a[r>>2]=0;a[A>>2]=(a[A>>2]|0)+-1;yu(f,105,(a[b>>2]|0)+(s<<2)|0)}if((l|0)==4)vA(95778,95743,70,95759);a[A>>2]=(a[A>>2]|0)+1;r=A+12|0;if((a[r>>2]|0)<(i|0))a[r>>2]=i;a[(a[t>>2]|0)+(e<<2)>>2]=i;r=$F(4)|0;a[r>>2]=e;f=a[(a[b>>2]|0)+(i<<2)>>2]|0;if(!f)r=Qu(r)|0;else r=Lu(f,r)|0;a[(a[c>>2]|0)+(e<<2)>>2]=r;a[(a[b>>2]|0)+(i<<2)>>2]=r;return A|0}function Gw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if((A|0)!=0?(a[A>>2]|0)>=1:0){f=A+12|0;r=a[f>>2]|0;a[i>>2]=r;a[A>>2]=(a[A>>2]|0)+-1;i=A+16|0;n=a[(a[i>>2]|0)+(r<<2)>>2]|0;a[e>>2]=a[(Wu(n)|0)>>2];yu(n,105,(a[i>>2]|0)+(r<<2)|0);i=a[i>>2]|0;if(!(a[i+(r<<2)>>2]|0)){while(1){if((r|0)<=-1)break;if(a[i+(r<<2)>>2]|0)break;r=r+-1|0}a[f>>2]=r}r=a[e>>2]|0;a[(a[A+20>>2]|0)+(r<<2)>>2]=0;a[(a[A+24>>2]|0)+(r<<2)>>2]=-999;r=1}else r=0;return r|0}function Qw(A,e){A=A|0;e=e|0;return a[(a[A+24>>2]|0)+(e<<2)>>2]|0}function mw(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;if((A|0)!=0?(r=a[A>>2]|0,(r|0)>=1):0){l=A+24|0;i=a[(a[l>>2]|0)+(e<<2)>>2]|0;a[A>>2]=r+-1;f=A+20|0;r=A+16|0;yu(a[(a[f>>2]|0)+(e<<2)>>2]|0,105,(a[r>>2]|0)+(i<<2)|0);A=A+12|0;if((i|0)==(a[A>>2]|0)?(n=a[r>>2]|0,(a[n+(i<<2)>>2]|0)==0):0){while(1){if((i|0)<=-1)break;if(a[n+(i<<2)>>2]|0)break;i=i+-1|0}a[A>>2]=i}a[(a[f>>2]|0)+(e<<2)>>2]=0;a[(a[l>>2]|0)+(e<<2)>>2]=-999;i=1}else i=0;return i|0}function Lw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0.0,s=0.0,w=0,u=0.0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;if(!(cq(A,0)|0))vA(95795,95831,260,95846);C=bq(A)|0;I=a[C+20>>2]|0;Z=a[C+24>>2]|0;r=C+16|0;A=C+28|0;if((a[r>>2]|0)==1)E=a[A>>2]|0;else{L2(a[A>>2]|0);a[r>>2]=1;E=$F(a[C+8>>2]<<3)|0;a[A>>2]=E}d=$F(a[C>>2]<<2)|0;A=0;while(1){r=a[C>>2]|0;if((A|0)>=(r|0)){h=0;A=r;break}a[d+(A<<2)>>2]=-1;A=A+1|0}A:while(1){if((h|0)>=(A|0)){n=0.0;c=0.0;f=0;g=0;v=A;break}o=h+1|0;l=I+(o<<2)|0;w=I+(h<<2)|0;t=(a[l>>2]|0)-(a[w>>2]|0)|0;a[d+(h<<2)>>2]=h;r=a[w>>2]|0;while(1){k=a[l>>2]|0;if((r|0)>=(k|0))break;A=a[Z+(r<<2)>>2]|0;if((h|0)!=(A|0))a[d+(A<<2)>>2]=h;r=r+1|0}u=+(t|0);r=a[w>>2]|0;while(1){if((r|0)>=(k|0))break;A=a[Z+(r<<2)>>2]|0;if((h|0)!=(A|0)){l=a[I+(A+1<<2)>>2]|0;A=a[I+(A<<2)>>2]|0;s=+(l-A|0)+u;while(1){if((A|0)>=(l|0))break;s=(a[d+(a[Z+(A<<2)>>2]<<2)>>2]|0)==(h|0)?s+-1.0:s;A=A+1|0}b[E+(r<<3)>>3]=s;if(!(s>0.0)){B=23;break A}}r=r+1|0}h=o;A=a[C>>2]|0}if((B|0)==23)vA(95868,95831,290,95846);while(1){if((g|0)>=(v|0))break;l=g+1|0;t=I+(l<<2)|0;r=a[I+(g<<2)>>2]|0;while(1){if((r|0)>=(a[t>>2]|0))break;A=a[Z+(r<<2)>>2]|0;if((g|0)==(A|0))A=f;else{c=+_s(i,e,g,A)+c;n=+b[E+(r<<3)>>3]+n;A=f+1|0}f=A;r=r+1|0}g=l;v=a[C>>2]|0}u=+(f|0);n=c/(n/u*u);A=0;A:while(1){if((A|0)>=(v|0))break;l=A+1|0;t=a[I+(l<<2)>>2]|0;r=a[I+(A<<2)>>2]|0;while(1){if((r|0)>=(t|0)){A=l;continue A}f=E+(r<<3)|0;if((A|0)!=(a[Z+(r<<2)>>2]|0))b[f>>3]=+b[f>>3]*n;r=r+1|0}}return C|0}function Ww(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0.0,x=0.0;J=a[A>>2]|0;N=a[A+20>>2]|0;X=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,333,95876);R=Lw(A,e,r)|0;H=$F(56)|0;p=H+32|0;b[p>>3]=1.0;a[H+20>>2]=0;a[H+24>>2]=0;b[H+40>>3]=.01;a[H+48>>2]=~~+z(+ +(a[A>>2]|0));n=J<<3;M=$F(n)|0;a[H+12>>2]=M;A=0;while(1){if((A|0)>=(J|0))break;b[M+(A<<3)>>3]=i;A=A+1|0}F=$F(J<<2)|0;D=$F(n)|0;t=0;while(1){if((t|0)>=(J|0)){u=0;break}c=D+(t<<3)|0;b[c>>3]=0.0;s=t+1|0;w=N+(s<<2)|0;l=a[N+(t<<2)>>2]|0;A=0;i=0.0;while(1){if((l|0)>=(a[w>>2]|0))break;n=a[X+(l<<2)>>2]|0;if((t|0)!=(n|0)){i=+_s(r,e,t,n);i=+b[c>>3]+i;b[c>>3]=i;A=A+1|0}l=l+1|0}if((A|0)<=0){o=14;break}b[c>>3]=i/+(A|0);t=s}if((o|0)==14)vA(95908,95831,358,95876);while(1){if((u|0)>=(J|0)){A=0;s=0;break}a[F+(u<<2)>>2]=-1;u=u+1|0}A:while(1){if((s|0)>=(J|0))break;a[F+(s<<2)>>2]=s;t=N+(s<<2)|0;w=s+1|0;u=N+(w<<2)|0;l=a[t>>2]|0;while(1){n=a[u>>2]|0;if((l|0)>=(n|0))break;n=F+(a[X+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(s|0)){a[n>>2]=s;A=A+1|0}l=l+1|0}c=a[t>>2]|0;while(1){if((c|0)>=(n|0)){s=w;continue A}l=a[X+(c<<2)>>2]|0;t=N+(l+1<<2)|0;l=a[N+(l<<2)>>2]|0;while(1){if((l|0)>=(a[t>>2]|0))break;n=F+(a[X+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(s|0)){a[n>>2]=s;A=A+1|0}l=l+1|0}c=c+1|0;n=a[u>>2]|0}}n=A+J|0;W=H+4|0;a[W>>2]=fq(J,J,n,1,1)|0;n=fq(J,J,n,1,1)|0;y=H+8|0;a[y>>2]=n;A=a[W>>2]|0;do{if(!((n|0)==0|(A|0)==0)){m=a[A+20>>2]|0;Q=a[A+24>>2]|0;Z=a[A+28>>2]|0;L=a[n+28>>2]|0;G=a[n+20>>2]|0;v=a[n+24>>2]|0;a[G>>2]=0;a[m>>2]=0;i=0.0;k=0.0;o=0;l=0;A:while(1){if((o|0)>=(J|0)){o=58;break}g=o+J|0;a[F+(o<<2)>>2]=g;c=N+(o<<2)|0;E=o+1|0;C=N+(E<<2)|0;I=D+(o<<3)|0;h=0.0;d=0.0;t=a[c>>2]|0;while(1){A=a[C>>2]|0;if((t|0)>=(A|0))break;n=a[X+(t<<2)>>2]|0;A=F+(n<<2)|0;if((a[A>>2]|0)!=(g|0)){a[A>>2]=g;a[Q+(l<<2)>>2]=n;switch(f|0){case 0:{B=1.0;break}case 1:{B=(+b[D+(n<<3)>>3]+ +b[I>>3])*.5;break}case 2:{B=+Y(+ +Ks(r,e,o,n),.4);break}default:{o=42;break A}}x=-1.0/(B*B);b[Z+(l<<3)>>3]=x;a[v+(l<<2)>>2]=n;U=x*B;u=L+(l<<3)|0;b[u>>3]=U;k=+_s(r,e,o,n)*U+k;U=+b[u>>3];l=l+1|0;h=x+h;d=U+d;i=U*B+i}t=t+1|0}u=a[c>>2]|0;while(1){if((u|0)>=(A|0))break;c=a[X+(u<<2)>>2]|0;s=N+(c+1<<2)|0;w=D+(c<<3)|0;t=a[N+(c<<2)>>2]|0;while(1){if((t|0)>=(a[s>>2]|0))break;n=X+(t<<2)|0;A=F+(a[n>>2]<<2)|0;if((a[A>>2]|0)!=(g|0)){a[A>>2]=g;switch(f|0){case 0:{B=2.0;break}case 1:{B=(+b[w>>3]*2.0+ +b[I>>3]+ +b[D+(a[n>>2]<<3)>>3])*.5;break}case 2:{B=+Y(+ +Ks(r,e,o,a[n>>2]|0),.4);break}default:{o=53;break A}}a[Q+(l<<2)>>2]=a[n>>2];U=-1.0/(B*B);b[Z+(l<<3)>>3]=U;a[v+(l<<2)>>2]=a[n>>2];x=U*B;A=L+(l<<3)|0;b[A>>3]=x;k=+_s(r,e,a[n>>2]|0,c)*x+k;x=+b[A>>3];l=l+1|0;h=U+h;d=x+d;i=x*B+i}t=t+1|0}u=u+1|0;A=a[C>>2]|0}a[Q+(l<<2)>>2]=o;I=M+(o<<3)|0;x=-(h*+b[I>>3]);b[I>>3]=x;b[Z+(l<<3)>>3]=x-h;a[v+(l<<2)>>2]=o;b[L+(l<<3)>>3]=-d;l=l+1|0;a[m+(E<<2)>>2]=l;a[G+(E<<2)>>2]=l;o=E}if((o|0)==42){L3(95915,29,1,a[15712]|0)|0;vA(138394,95831,418,95876)}else if((o|0)==53){L3(95915,29,1,a[15712]|0)|0;vA(138394,95831,460,95876)}else if((o|0)==58){i=k/i;A=0;while(1){if((A|0)>=(l|0))break;X=L+(A<<3)|0;b[X>>3]=+b[X>>3]*i;A=A+1|0}b[p>>3]=i;a[(a[W>>2]|0)+8>>2]=l;a[(a[y>>2]|0)+8>>2]=l;L2(F);L2(D);rq(R);V=H;break}}else{yw(H);V=0}}while(0);return V|0}function yw(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)rq(e);e=a[A+8>>2]|0;if(e|0)rq(e);e=a[A+12>>2]|0;if(e|0)L2(e);e=a[A+20>>2]|0;if(e|0)F5[a[A+16>>2]&127](e);L2(A)}return}function zw(A,e,i,r,f,n){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0;V=a[A>>2]|0;if(cq(A,0)|0?(a[A+16>>2]|0)==1:0){c=U(V,e)|0;t=0.0;l=0;while(1){if((l|0)>=(c|0))break;h=+b[r+(l<<3)>>3];t=h*h+t;l=l+1|0}A:do{if(t==0.0){l=0;while(1){if((l|0)>=(c|0))break A;b[r+(l<<3)>>3]=+Us()*72.0;l=l+1|0}}}while(0);y=a[A+20>>2]|0;Y=a[A+24>>2]|0;D=a[A+28>>2]|0;l=$F(56)|0;F=l+32|0;b[F>>3]=1.0;a[l+20>>2]=0;a[l+24>>2]=0;a[l>>2]=A;b[l+40>>3]=.01;a[l+48>>2]=~~+z(+ +(a[A>>2]|0));M=$F(V<<3)|0;a[l+12>>2]=M;c=0;while(1){if((c|0)>=(V|0))break;b[M+(c<<3)>>3]=i;c=c+1|0}A=(a[A+8>>2]|0)+V|0;L=l+4|0;a[L>>2]=fq(V,V,A,1,1)|0;A=fq(V,V,A,1,1)|0;W=l+8|0;a[W>>2]=A;c=a[L>>2]|0;if(!((A|0)==0|(c|0)==0)){I=a[c+20>>2]|0;Z=a[c+24>>2]|0;G=a[A+20>>2]|0;Q=a[A+24>>2]|0;E=a[c+28>>2]|0;m=a[A+28>>2]|0;a[G>>2]=0;a[I>>2]=0;o=0.0;h=0.0;C=0;B=0;A:while(1){if((B|0)>=(V|0))break;v=B+1|0;g=y+(v<<2)|0;s=0.0;w=0.0;d=a[y+(B<<2)>>2]|0;k=o;i=h;A=C;while(1){if((d|0)>=(a[g>>2]|0))break;c=a[Y+(d<<2)>>2]|0;if((c|0)==(B|0)){t=k;c=A}else{a[Z+(A<<2)>>2]=c;u=+b[D+(d<<3)>>3];switch(f|0){case 2:{t=u*u;t=t==0.0?-1.0e5:-1.0/t;break}case 1:{t=u*u==0.0?-1.0e5:-1.0/u;break}case 0:{t=-1.0;break}default:{J=23;break A}}b[E+(A<<3)>>3]=t;a[Q+(A<<2)>>2]=c;N=t*u;X=m+(A<<3)|0;b[X>>3]=N;i=+_s(r,e,B,c)*N+i;N=+b[X>>3];s=t+s;w=N+w;t=N*u+k;c=A+1|0}d=d+1|0;k=t;A=c}a[Z+(A<<2)>>2]=B;C=M+(B<<3)|0;o=-(s*+b[C>>3]);b[C>>3]=o;b[E+(A<<3)>>3]=o-s;a[Q+(A<<2)>>2]=B;b[m+(A<<3)>>3]=-w;C=A+1|0;a[I+(v<<2)>>2]=C;a[G+(v<<2)>>2]=C;o=k;h=i;B=v}if((J|0)==23)vA(138394,95831,591,96012);t=(n|0)==0?1.0:h/o;if(t==0.0)l=0;else{c=0;while(1){if((c|0)>=(C|0))break;X=m+(c<<3)|0;b[X>>3]=+b[X>>3]*t;c=c+1|0}b[F>>3]=t;a[(a[L>>2]|0)+8>>2]=C;a[(a[W>>2]|0)+8>>2]=C}}else{yw(l);l=0}return l|0}vA(95945,95831,525,96012);return 0}function Yw(A){A=A|0;yw(A);return}function Dw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;return+ +Mw(A,e,i,r,f)}function Mw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0;T=k;k=k+16|0;H=T+12|0;x=T+8|0;w=T+4|0;c=T;s=a[A+4>>2]|0;l=a[A+8>>2]|0;a[H>>2]=0;a[x>>2]=0;a[w>>2]=0;V=a[A+12>>2]|0;a[c>>2]=0;J=bq(l)|0;N=a[s>>2]|0;X=U(N,e)|0;n=X<<3;p=$F(n)|0;if((p|0)!=0?(R=U(e<<3,N)|0,y6(p|0,i|0,R|0)|0,F=$F(n)|0,a[x>>2]=F,(F|0)!=0):0){M=a[l+20>>2]|0;F=a[l+24>>2]|0;W=a[l+28>>2]|0;y=a[J+28>>2]|0;Y=a[s+28>>2]|0;D=A+24|0;switch(a[D>>2]|0){case 1:{Fw(a[A+20>>2]|0,N,e,i,c,w);n=a[c>>2]|0;if(!n){Q=0.0;m=0.0;n=0}else{s=sq(s,n)|0;Q=0.0;m=0.0}break}case 2:{n=a[A+20>>2]|0;Q=+b[n+8>>3];m=+b[n>>3];n=0;break}default:{Q=0.0;m=0.0;n=0}}Z=(V|0)==0;G=A+40|0;I=A+48|0;l=a[w>>2]|0;t=1.0;c=0;A:while(1){C=c+1|0;if(!((c|0)<(r|0)&t>f))break;e:do{if((a[D>>2]|0)==4){w=a[x>>2]|0;c=0;while(1){if((c|0)>=(N|0))break e;u=U(c,e)|0;A=0;while(1){if((A|0)>=(e|0))break;b[w+(A+u<<3)>>3]=0.0;A=A+1|0}c=c+1|0}}else{h=0;while(1){if((h|0)>=(N|0))break;g=h+1|0;E=M+(g<<2)|0;o=0.0;v=a[M+(h<<2)>>2]|0;c=-1;while(1){if((v|0)>=(a[E>>2]|0))break;w=F+(v<<2)|0;A=a[w>>2]|0;if((h|0)==(A|0))c=v;else{B=+_s(i,e,h,A);u=W+(v<<3)|0;d=+b[u>>3];if(d==0.0)d=0.0;else{if(B==0.0){d=d/+b[Y+(v<<3)>>3]*.0001;A=0;while(1){if((A|0)>=(e|0))break;B=d*(+Us()+.0001);j=i+((U(a[w>>2]|0,e)|0)+A<<3)|0;b[j>>3]=B+ +b[j>>3];A=A+1|0}B=+_s(i,e,h,a[w>>2]|0);d=+b[u>>3]}d=d/B}b[y+(v<<3)>>3]=d;o=d+o}v=v+1|0}if((c|0)<=-1){L=25;break A}b[y+(c<<3)>>3]=-o;h=g}zs(J,0,i,0,x,0,e)}}while(0);e:do{if(!Z){w=a[x>>2]|0;c=0;while(1){if((c|0)>=(N|0))break e;u=V+(c<<3)|0;h=U(c,e)|0;A=0;while(1){if((A|0)>=(e|0))break;E=A+h|0;j=w+(E<<3)|0;b[j>>3]=+b[j>>3]+ +b[p+(E<<3)>>3]*+b[u>>3];A=A+1|0}c=c+1|0}}}while(0);e:do{switch(a[D>>2]|0){case 1:{c=a[x>>2]|0;A=0;while(1){if((A|0)>=(N|0)){L=50;break e}u=U(A,e)|0;w=0;while(1){if((w|0)>=(e|0))break;L=w+u|0;j=c+(L<<3)|0;b[j>>3]=+b[j>>3]+ +b[l+(L<<3)>>3];w=w+1|0}A=A+1|0}}case 2:{Vw(N,e,i,a[x>>2]|0,m,Q);c=a[x>>2]|0;o=+b[G>>3];A=a[I>>2]|0;if((a[D>>2]|0)==2)Jw(s,m,e,i,c,o,A,H);else L=51;break}default:{c=a[x>>2]|0;L=50}}}while(0);if((L|0)==50){o=+b[G>>3];A=a[I>>2]|0;L=51}if((L|0)==51){L=0;+fu(s,e,i,c,o,A,0,H)}if(a[H>>2]|0)break;t=+Nw(N,e,i,a[x>>2]|0);t=t/+z(+ +Ss(X,i,i));y6(i|0,a[x>>2]|0,R|0)|0;c=C}if((L|0)==25)vA(96049,95831,895,96060);rq(J);if(n){rq(n);rq(s)}}else{rq(J);t=1.0;l=0}L2(p);n=a[x>>2]|0;if(n|0)L2(n);if(l|0)L2(l);k=T;return+t}function Fw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0,C=0.0,I=0,Z=0,G=0,Q=0,m=0.0;o=a[A+8>>2]|0;Q=a[A+12>>2]|0;I=a[A+16>>2]|0;G=a[A+32>>2]|0;Z=a[G+20>>2]|0;G=a[G+24>>2]|0;s=A+20|0;d=a[s>>2]|0;w=A+24|0;h=a[w>>2]|0;u=A+28|0;k=a[u>>2]|0;C=+b[A>>3];A:do{if((o|2|0)==3){if(!d){if((h|0)!=0|(k|0)!=0)vA(96094,95831,692,96111);else{l=0;t=0}while(1){if((l|0)>=(Q|0))break;E=a[I+(l<<2)>>2]|0;B=+((a[Z+(E+1<<2)>>2]|0)-(a[Z+(E<<2)>>2]|0)|0)+1.0;l=l+1|0;t=t+~~(B*B)|0}h=t<<2;d=$F(h)|0;a[s>>2]=d;h=$F(h)|0;a[w>>2]=h;k=$F(t<<3)|0;a[u>>2]=k}g=0;A=0;while(1){if((g|0)>=(Q|0))break;o=a[I+(g<<2)>>2]|0;v=Z+(o<<2)|0;t=a[v>>2]|0;l=a[G+(t<<2)>>2]|0;t=a[G+(t+1<<2)>>2]|0;e:do{if((l|0)!=(t|0)){m=+Ks(r,i,l,t);m=m*m;u=Z+(o+1<<2)|0;B=+((a[u>>2]|0)-(a[v>>2]|0)|0);a[d+(A<<2)>>2]=o;a[h+(A<<2)>>2]=o;b[k+(A<<3)>>3]=C/m;c=B*B*m;B=-(C/(m*B));t=a[v>>2]|0;while(1){A=A+1|0;l=a[u>>2]|0;if((t|0)>=(l|0))break;a[d+(A<<2)>>2]=o;a[h+(A<<2)>>2]=a[G+(t<<2)>>2];b[k+(A<<3)>>3]=B;t=t+1|0}c=C/c;w=a[v>>2]|0;while(1){if((w|0)>=(l|0))break e;s=a[G+(w<<2)>>2]|0;a[d+(A<<2)>>2]=s;a[h+(A<<2)>>2]=o;b[k+(A<<3)>>3]=B;t=a[v>>2]|0;while(1){A=A+1|0;l=a[u>>2]|0;if((t|0)>=(l|0))break;E=a[G+(t<<2)>>2]|0;a[d+(A<<2)>>2]=s;a[h+(A<<2)>>2]=E;b[k+(A<<3)>>3]=c;t=t+1|0}w=w+1|0}}}while(0);g=g+1|0}l=hq(A,e,e,d,h,k,1,8)|0;A=0}else{switch(o|0){case 2:case 4:break;default:{l=0;A=0;break A}}do{if(!d)if((h|0)!=0|(k|0)!=0)vA(96094,95831,734,96111);else{g=Q<<2;E=$F(g)|0;a[s>>2]=E;g=$F(g)|0;a[w>>2]=g;v=$F(Q<<3)|0;a[u>>2]=v;break}else{v=k;g=h;E=d}}while(0);A=$F(U(e<<3,i)|0)|0;t=U(i,e)|0;l=0;while(1){if((l|0)>=(t|0)){k=0;break}b[A+(l<<3)>>3]=0.0;l=l+1|0}while(1){if((k|0)>=(Q|0))break;o=a[I+(k<<2)>>2]|0;s=Z+(o<<2)|0;w=a[s>>2]|0;c=+Ks(r,i,a[G+(w<<2)>>2]|0,a[G+(w+1<<2)>>2]|0);a[E+(k<<2)>>2]=o;a[g+(k<<2)>>2]=o;c=C/c;b[v+(k<<3)>>3]=c;s=a[s>>2]|0;w=a[Z+(o+1<<2)>>2]|0;o=U(o,i)|0;t=s;while(1){if((t|0)>=(w|0))break;u=U(a[G+(t<<2)>>2]|0,i)|0;l=0;while(1){if((l|0)>=(i|0))break;d=A+(l+o<<3)|0;b[d>>3]=+b[d>>3]+ +b[r+(l+u<<3)>>3];l=l+1|0}t=t+1|0}c=c*(1.0/+(w-s|0));l=0;while(1){if((l|0)>=(i|0))break;d=A+(l+o<<3)|0;b[d>>3]=c*+b[d>>3];l=l+1|0}k=k+1|0}l=hq(k,e,e,E,g,v,1,8)|0}}while(0);a[f>>2]=l;a[n>>2]=A;return}function Vw(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0;a=a*f;n=0;A:while(1){if((n|0)>=(A|0))break;s=n+1|0;w=U(n,e)|0;l=s;while(1){if((l|0)==(A|0)){n=s;continue A}c=U(l,e)|0;f=1.0/+Ks(i,e,n,l);t=0;while(1){if((t|0)>=(e|0))break;o=t+w|0;u=t+c|0;k=a*((+b[i+(o<<3)>>3]-+b[i+(u<<3)>>3])*f);o=r+(o<<3)|0;b[o>>3]=k+ +b[o>>3];u=r+(u<<3)|0;b[u>>3]=+b[u>>3]-k;t=t+1|0}l=l+1|0}}return}function Jw(A,e,i,r,f,n,l,t){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;t=t|0;var c=0,b=0;b=Sw(A,e)|0;c=qw(A,e)|0;+eu(b,c,a[A>>2]|0,i,r,f,n,l,t);return}function Nw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0.0,l=0.0,t=0,c=0.0,s=0;a=0;l=0.0;while(1){if((a|0)>=(A|0))break;t=U(a,e)|0;f=0;n=0.0;while(1){if((f|0)>=(e|0))break;s=f+t|0;c=+b[r+(s<<3)>>3]-+b[i+(s<<3)>>3];f=f+1|0;n=c*c+n}a=a+1|0;l=+z(+n)+l}return+l}function Xw(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0;Q=a[A>>2]|0;o=a[A+20>>2]|0;h=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,1034,96133);d=Q<<3;m=$F(d)|0;t=0;while(1){if((t|0)>=(Q|0))break;w=m+(t<<3)|0;b[w>>3]=0.0;u=t+1|0;k=o+(u<<2)|0;s=a[o+(t<<2)>>2]|0;n=0;c=0.0;while(1){if((s|0)>=(a[k>>2]|0))break;l=a[h+(s<<2)>>2]|0;if((t|0)!=(l|0)){c=+_s(r,e,t,l);c=+b[w>>3]+c;b[w>>3]=c;n=n+1|0}s=s+1|0}if((n|0)<=0){G=11;break}b[w>>3]=c/+(n|0);t=u}if((G|0)==11)vA(95908,95831,1046,96133);n=$F(56)|0;Z=n+32|0;b[Z>>3]=1.0;a[n+20>>2]=0;a[n+24>>2]=0;b[n+40>>3]=.01;a[n+48>>2]=~~+z(+ +(a[A>>2]|0));I=$F(d)|0;a[n+12>>2]=I;l=0;while(1){if((l|0)>=(Q|0))break;b[I+(l<<3)>>3]=i;l=l+1|0}do{if((Q|0)>2)if(!f){l=nu(Q,e,r)|0;break}else{l=au(Q,e,r)|0;break}else l=bq(A)|0}while(0);f=n+4|0;a[f>>2]=sq(A,l)|0;rq(l);t=bq(a[f>>2]|0)|0;a[n+8>>2]=t;l=a[f>>2]|0;if((t|0)==0|(l|0)==0){Rw(n);n=0}else{d=a[l+20>>2]|0;h=a[l+24>>2]|0;o=a[l+28>>2]|0;f=a[t+28>>2]|0;E=0.0;C=0.0;w=0;while(1){if((w|0)>=(Q|0))break;k=w+1|0;u=d+(k<<2)|0;g=0.0;i=0.0;t=-1;B=E;v=C;s=a[d+(w<<2)>>2]|0;while(1){if((s|0)>=(a[u>>2]|0))break;l=a[h+(s<<2)>>2]|0;if((l|0)==(w|0)){c=g;l=s}else{L=+Y(+ +Ks(r,e,w,l),.6);c=1.0/(L*L);b[o+(s<<3)>>3]=c;W=c*L;A=f+(s<<3)|0;b[A>>3]=W;v=W*+_s(r,e,w,l)+v;W=+b[A>>3];c=c+g;i=W+i;l=t;B=W*L+B}g=c;t=l;s=s+1|0}A=I+(w<<3)|0;c=-(g*+b[A>>3]);b[A>>3]=c;if((t|0)<=-1){G=31;break}b[o+(t<<3)>>3]=c-g;b[f+(t<<3)>>3]=-i;E=B;C=v;w=k}if((G|0)==31)vA(96154,95831,1112,96133);c=C/E;t=a[d+(Q<<2)>>2]|0;l=0;while(1){if((l|0)>=(t|0))break;Q=f+(l<<3)|0;b[Q>>3]=+b[Q>>3]*c;l=l+1|0}b[Z>>3]=c;L2(m)}return n|0}function Rw(A){A=A|0;yw(A);return}function Hw(A,e,i){A=A|0;e=e|0;i=i|0;+Mw(A,e,i,50,.001);return}function pw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;G=a[A>>2]|0;Q=a[A+20>>2]|0;m=a[A+24>>2]|0;if(!(cq(A,0)|0))vA(95795,95831,1149,96165);E=Lw(A,e,r)|0;C=a[E+28>>2]|0;A=$F(8)|0;I=$F(G<<2)|0;Z=$F(G<<3)|0;l=0;while(1){if((l|0)>=(G|0)){k=0;break}s=Z+(l<<3)|0;b[s>>3]=0.0;w=l+1|0;u=Q+(w<<2)|0;t=a[Q+(l<<2)>>2]|0;f=0;c=0.0;while(1){if((t|0)>=(a[u>>2]|0))break;n=a[m+(t<<2)>>2]|0;if((l|0)!=(n|0)){c=+_s(r,e,l,n);c=+b[s>>3]+c;b[s>>3]=c;f=f+1|0}t=t+1|0}if((f|0)<=0){o=11;break}b[s>>3]=c/+(f|0);l=w}if((o|0)==11)vA(95908,95831,1167,96165);while(1){if((k|0)>=(G|0)){w=0;f=0;break}a[I+(k<<2)>>2]=-1;k=k+1|0}A:while(1){if((w|0)>=(G|0))break;a[I+(w<<2)>>2]=w;t=Q+(w<<2)|0;u=w+1|0;k=Q+(u<<2)|0;l=a[t>>2]|0;while(1){n=a[k>>2]|0;if((l|0)>=(n|0))break;n=I+(a[m+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(w|0)){a[n>>2]=w;f=f+1|0}l=l+1|0}s=a[t>>2]|0;while(1){if((s|0)>=(n|0)){w=u;continue A}l=a[m+(s<<2)>>2]|0;t=Q+(l+1<<2)|0;l=a[Q+(l<<2)>>2]|0;while(1){if((l|0)>=(a[t>>2]|0))break;n=I+(a[m+(l<<2)>>2]<<2)|0;if((a[n>>2]|0)!=(w|0)){a[n>>2]=w;f=f+1|0}l=l+1|0}s=s+1|0;n=a[k>>2]|0}}r=fq(G,G,f,1,1)|0;a[A>>2]=r;if(!r){Uw(A);A=0}else{o=a[r+20>>2]|0;h=a[r+24>>2]|0;d=a[r+28>>2]|0;a[o>>2]=0;n=0;f=0;while(1){if((n|0)>=(G|0))break;B=n+G|0;a[I+(n<<2)>>2]=B;s=Q+(n<<2)|0;v=n+1|0;g=Q+(v<<2)|0;e=Z+(n<<3)|0;t=a[s>>2]|0;while(1){n=a[g>>2]|0;if((t|0)>=(n|0))break;n=a[m+(t<<2)>>2]|0;l=I+(n<<2)|0;if((a[l>>2]|0)!=(B|0)){a[l>>2]=B;a[h+(f<<2)>>2]=n;k=d+(f<<3)|0;b[k>>3]=(+b[Z+(n<<3)>>3]+ +b[e>>3])*.5;b[k>>3]=+b[C+(t<<3)>>3];f=f+1|0}t=t+1|0}k=a[s>>2]|0;while(1){if((k|0)>=(n|0))break;t=a[m+(k<<2)>>2]|0;s=Q+(t+1<<2)|0;w=Z+(t<<3)|0;u=C+(k<<3)|0;t=a[Q+(t<<2)>>2]|0;while(1){if((t|0)>=(a[s>>2]|0))break;n=m+(t<<2)|0;l=I+(a[n>>2]<<2)|0;if((a[l>>2]|0)!=(B|0)){a[l>>2]=B;a[h+(f<<2)>>2]=a[n>>2];l=d+(f<<3)|0;b[l>>3]=(+b[w>>3]*2.0+ +b[e>>3]+ +b[Z+(a[n>>2]<<3)>>3])*.5;b[l>>3]=+b[C+(t<<3)>>3]+ +b[u>>3];f=f+1|0}t=t+1|0}k=k+1|0;n=a[g>>2]|0}a[o+(v<<2)>>2]=f;n=v}a[r+8>>2]=f;Q=JT()|0;m=A+4|0;a[m>>2]=Q;y6(Q|0,i|0,168)|0;m=a[m>>2]|0;a[m+16>>2]=0;a[m+40>>2]=1;Q=m+96|0;b[Q>>3]=+b[Q>>3]*.5;a[m+80>>2]=20;L2(I);L2(Z);rq(E)}return A|0}function Uw(A){A=A|0;var e=0;if(A|0){e=a[A>>2]|0;if(e|0)rq(e);A=a[A+4>>2]|0;if(A|0)NT(A)}return}function xw(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=k;k=k+16|0;l=n;a[l>>2]=0;aj(r,e,a[A>>2]|0,a[A+4>>2]|0,i,f,l);if(!(a[l>>2]|0)){k=n;return}else vA(96184,95831,1262,96190)}function Tw(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;a[n>>2]=0;n=a[i+120>>2]|0;A:do{switch(n|0){case 5:case 6:{if((a[e>>2]|0)>2){e=Xw(e,A,0.0,f,(n|0)!=6&1)|0;Hw(e,A,f);Rw(e)}break}case 4:{n=0;while(1){if((n|0)==1)break A;t=pw(e,A,i,f)|0;xw(t,e,r,A,f);Uw(t);n=n+1|0}}case 1:{i=0;l=6;break}case 2:{i=1;l=6;break}case 3:{i=2;l=6;break}default:{}}}while(0);A:do{if((l|0)==6){n=0;while(1){if((n|0)==1)break A;t=Ww(e,A,.05,f,i)|0;+Mw(t,A,f,50,.001);yw(t);n=n+1|0}}}while(0);return}function jw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0.0,t=0,c=0;c=k;k=k+16|0;n=c;a[n>>2]=i;t=a[A>>2]|0;A=a[t+8>>2]|0;l=+b[t>>3];t=a[A>>2]|0;Ms(A,e,n,0);A=0;f=0.0;while(1){if((A|0)>=(t|0))break;r=+b[e+(A<<3)>>3]+f;A=A+1|0;f=r}r=+(t|0);i=a[n>>2]|0;A=0;while(1){if((A|0)>=(t|0))break;n=i+(A<<3)|0;b[n>>3]=(+b[e+(A<<3)>>3]*r-f)*l+ +b[n>>3];A=A+1|0}k=c;return i|0}function Sw(A,e){A=A|0;e=+e;var i=0,r=0;i=$F(8)|0;r=$F(16)|0;a[i>>2]=r;b[r>>3]=e;a[r+8>>2]=A;a[i+4>>2]=25;return i|0}function Pw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+16|0;r=f;a[r>>2]=i;Ms(a[A>>2]|0,e,r,0);k=f;return a[r>>2]|0}function Ow(A){A=A|0;var e=0;e=$F(8)|0;a[e>>2]=A;a[e+4>>2]=26;return e|0}function Kw(A){A=A|0;if(A|0)L2(A);return}function _w(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=a[A>>2]|0;r=~~+b[f>>3];f=f+8|0;A=0;while(1){if((A|0)>=(r|0))break;b[i+(A<<3)>>3]=+b[f+(A<<3)>>3]*+b[e+(A<<3)>>3];A=A+1|0}return i|0}function qw(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0.0,k=0,o=0,h=0.0;w=a[A>>2]|0;k=a[A+20>>2]|0;o=a[A+24>>2]|0;c=a[A+28>>2]|0;s=$F(8)|0;l=$F((w<<3)+8|0)|0;a[s>>2]=l;b[l>>3]=+(w|0);l=l+8|0;h=+(w+-1|0);t=1.0/h;e=h*e;A=0;A:while(1){if((A|0)>=(w|0))break;r=l+(A<<3)|0;b[r>>3]=t;f=A+1|0;n=a[k+(f<<2)>>2]|0;i=a[k+(A<<2)>>2]|0;while(1){if((i|0)>=(n|0)){A=f;continue A}if((A|0)==(a[o+(i<<2)>>2]|0)?(u=+b[c+(i<<3)>>3],(u>=0.0?u:-u)>0.0):0)b[r>>3]=1.0/(u+e);i=i+1|0}}a[s+4>>2]=27;return s|0}function $w(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0;l=a[A>>2]|0;c=a[A+20>>2]|0;s=a[A+24>>2]|0;w=a[A+28>>2]|0;u=$F(8)|0;i=$F((a[A>>2]<<3)+8|0)|0;a[u>>2]=i;b[i>>3]=+(l|0);i=i+8|0;A=0;A:while(1){if((A|0)>=(l|0))break;r=i+(A<<3)|0;b[r>>3]=1.0;f=A+1|0;n=a[c+(f<<2)>>2]|0;e=a[c+(A<<2)>>2]|0;while(1){if((e|0)>=(n|0)){A=f;continue A}if((A|0)==(a[s+(e<<2)>>2]|0)?(t=+b[w+(e<<3)>>3],(t>=0.0?t:-t)>0.0):0)b[r>>3]=1.0/t;e=e+1|0}}a[u+4>>2]=27;return u|0}function Au(A){A=A|0;L2(a[A>>2]|0);if(A|0)L2(A);return}function eu(A,e,i,r,f,a,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=+n;l=l|0;t=t|0;var c=0.0,s=0,w=0.0,u=0,k=0,o=0;k=i<<3;u=$F(k)|0;k=$F(k)|0;s=0;w=0.0;while(1){if((s|0)<(r|0))t=0;else break;while(1){if((t|0)>=(i|0))break;o=(U(t,r)|0)+s|0;b[u+(t<<3)>>3]=+b[f+(o<<3)>>3];b[k+(t<<3)>>3]=+b[a+(o<<3)>>3];t=t+1|0}c=+iu(A,e,i,u,k,n,l);t=0;while(1){if((t|0)>=(i|0))break;b[a+((U(t,r)|0)+s<<3)>>3]=+b[u+(t<<3)>>3];t=t+1|0}s=s+1|0;w=c+w}L2(u);L2(k);return+w}function iu(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;var t=0,c=0.0,b=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0,B=0.0,v=0,g=0;d=a[A+4>>2]|0;o=a[e+4>>2]|0;h=i<<3;t=$F(h)|0;b=$F(h)|0;v=$F(h)|0;s=$F(h)|0;b=W5[d&63](A,r,b)|0;w=js(i,f,b)|0;k=+(i|0);B=+z(+ +Ss(i,w,w))/k;u=B*n;k=1.0/k;w=0;f=v;c=1.0;n=B;while(1){if(!(n>u&(w|0)<(l|0)))break;t=W5[o&63](e,b,t)|0;n=+Ss(i,b,t);if((w|0)>0)Ps(i,t,f,n/c)|0;else y6(f|0,t|0,h|0)|0;g=W5[d&63](A,f,s)|0;c=n/+Ss(i,f,g);Os(i,r,f,c)|0;v=Os(i,b,g,-c)|0;w=w+1|0;c=n;s=g;n=+z(+ +Ss(i,v,v))*k}L2(t);L2(b);L2(f);L2(s);return+n}function ru(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;L=k;k=k+16|0;m=L;Z=a[A+4>>2]|0;G=Z<<3;Q=$F(G)|0;g=$F(G)|0;E=$F(G)|0;C=a[A+20>>2]|0;I=a[A+24>>2]|0;B=a[A+28>>2]|0;v=a[15712]|0;d=0;while(1){if((d|0)<(e|0))n=0;else break;while(1){if((n|0)>=(Z|0)){A=0;break}h=(U(n,e)|0)+d|0;b[Q+(n<<3)>>3]=+b[i+(h<<3)>>3];b[E+(n<<3)>>3]=+b[r+(h<<3)>>3];n=n+1|0}while(1){if((A|0)<(f|0))w=0;else{n=0;break}while(1){if((w|0)>=(Z|0))break;u=a[C+(w<<2)>>2]|0;o=w+1|0;h=a[C+(o<<2)>>2]|0;s=u;t=0.0;l=0.0;while(1){if((s|0)>=(h|0))break;n=a[I+(s<<2)>>2]|0;c=+b[B+(s<<3)>>3];if((n|0)==(w|0))l=c;else t=+b[Q+(n<<3)>>3]*c+t;s=s+1|0}if(t==0.0){a[m>>2]=h-u;f3(v,96212,m)|0}b[g+(w<<3)>>3]=(+b[E+(w<<3)>>3]-t)/l;w=o}y6(Q|0,g|0,G|0)|0;A=A+1|0}while(1){if((n|0)>=(Z|0))break;b[r+((U(n,e)|0)+d<<3)>>3]=+b[Q+(n<<3)>>3];n=n+1|0}d=d+1|0}L2(Q);L2(g);L2(E);k=L;return r|0}function fu(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=n|0;l=l|0;t=t|0;var c=0;c=a[A>>2]|0;a[t>>2]=0;switch(l|0){case 0:{l=Ow(A)|0;t=$w(A)|0;f=+eu(l,t,c,e,i,r,f,n,0);Kw(l);Au(t);break}case 1:{ru(A,e,i,r,n,0)|0;f=0.0;break}default:f=0.0}return+f}function au(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+32|0;c=u;s=u+20|0;f=u+16|0;n=u+12|0;l=u+8|0;b[c>>3]=1.0;t=A<<3;w=$F(t)|0;t=$F(t)|0;e=0;while(1){if((e|0)>=(A|0))break;r=e<<1;b[w+(e<<3)>>3]=+b[i+(r<<3)>>3];b[t+(e<<3)>>3]=+b[i+((r|1)<<3)>>3];e=e+1|0}a[s>>2]=e;if((A|0)>2)i=NS(w,t,A,l)|0;else{a[l>>2]=0;i=0}r=fq(A,A,1,1,2)|0;e=0;while(1){a[s>>2]=e;if((e|0)>=(a[l>>2]|0))break;o=e<<1;a[f>>2]=a[i+(o<<2)>>2];a[n>>2]=a[i+((o|1)<<2)>>2];Ns(r,1,f,n,c)|0;e=(a[s>>2]|0)+1|0}if((A|0)==2){a[f>>2]=0;a[n>>2]=1;Ns(r,1,f,n,c)|0;e=0}else e=0;while(1){a[s>>2]=e;if((e|0)>=(A|0))break;Ns(r,1,s,s,c)|0;e=(a[s>>2]|0)+1|0}A=oq(r)|0;rq(r);o=tq(A,0)|0;rq(A);L2(i);L2(w);L2(t);k=u;return o|0}function nu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;n=s+8|0;l=s;b[l>>3]=1.0;c=A<<3;t=$F(c)|0;c=$F(c)|0;r=0;while(1){if((r|0)>=(A|0))break;f=U(r,e)|0;b[t+(r<<3)>>3]=+b[i+(f<<3)>>3];b[c+(r<<3)>>3]=+b[i+(f+1<<3)>>3];r=r+1|0}a[n>>2]=r;r=XS(t,c,A,0)|0;f=fq(A,A,1,1,2)|0;e=0;while(1){a[n>>2]=e;if((e|0)<(A|0))i=1;else{e=0;break}while(1){if((i|0)>=(a[r+(e*12|0)>>2]|0))break;Ns(f,1,n,(a[r+(e*12|0)+4>>2]|0)+(i<<2)|0,l)|0;i=i+1|0;e=a[n>>2]|0}e=e+1|0}while(1){a[n>>2]=e;if((e|0)>=(A|0))break;Ns(f,1,n,n,l)|0;e=(a[n>>2]|0)+1|0}l=tq(oq(f)|0,0)|0;rq(f);L2(t);L2(c);RS(r);k=s;return l|0}function lu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=k;k=k+16|0;a=f;tu(a,i);cu(A,e,i,a);bu(e,a,r);su(a);k=f;return}function tu(A,e){A=A|0;e=e|0;a[A>>2]=$F(e<<4)|0;a[A+4>>2]=e;a[A+8>>2]=0;return}function cu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;W=k;k=k+64|0;d=W+32|0;g=W+48|0;E=W+16|0;C=W;v=e<<2;Q=$F(v)|0;L=$F(v)|0;a[E>>2]=0;a[E+4>>2]=0;a[E+8>>2]=0;a[E+12>>2]=0;B=$F(v)|0;v=$F(v)|0;f=0;while(1){if((f|0)>=(e|0))break;a[B+(f<<2)>>2]=f;f=f+1|0}h=e+-1|0;OP(A,B,0,h);f=0;while(1){if((f|0)>=(e|0))break;a[v+(a[B+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}uu(g,A,B,e);f=1;while(1){if((f|0)>=(e|0)){f=0;break}a[Q+(a[B+(f<<2)>>2]<<2)>>2]=a[B+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(h|0))break;o=f+1|0;a[L+(a[B+(f<<2)>>2]<<2)>>2]=a[B+(o<<2)>>2];f=o}c=r+8|0;s=r+4|0;w=E+4|0;u=C+4|0;o=C+8|0;t=0;while(1){if((t|0)>=(i|0))break;if(!((ku(g,E)|0)<<24>>24))break;f=a[c>>2]|0;e=a[s>>2]|0;if((f|0)<(e|0))e=a[r>>2]|0;else{a[s>>2]=e<<1;e=y2(a[r>>2]|0,e<<5)|0;a[r>>2]=e;f=a[c>>2]|0}a[c>>2]=f+1;f=e+(f<<4)|0;a[f>>2]=a[E>>2];a[f+4>>2]=a[E+4>>2];a[f+8>>2]=a[E+8>>2];a[f+12>>2]=a[E+12>>2];f=a[E>>2]|0;e=a[v+(f<<2)>>2]|0;n=a[w>>2]|0;l=a[v+(n<<2)>>2]|0;if((e|0)>0?(I=a[B+(e+-1<<2)>>2]|0,Z=L+(I<<2)|0,(a[v+(a[Z>>2]<<2)>>2]|0)<(l|0)):0){a[C>>2]=I;a[u>>2]=n;b[o>>3]=+b[A+(n<<3)>>3]-+b[A+(I<<3)>>3];a[d>>2]=a[C>>2];a[d+4>>2]=a[C+4>>2];a[d+8>>2]=a[C+8>>2];a[d+12>>2]=a[C+12>>2];ou(g,d);a[Z>>2]=n;a[Q+(n<<2)>>2]=I}if((l|0)<(h|0)?(G=a[B+(l+1<<2)>>2]|0,m=Q+(G<<2)|0,(a[v+(a[m>>2]<<2)>>2]|0)>(e|0)):0){a[C>>2]=f;a[u>>2]=G;b[o>>3]=+b[A+(G<<3)>>3]-+b[A+(f<<3)>>3];a[d>>2]=a[C>>2];a[d+4>>2]=a[C+4>>2];a[d+8>>2]=a[C+8>>2];a[d+12>>2]=a[C+12>>2];ou(g,d);a[m>>2]=f;a[L+(f<<2)>>2]=G}t=t+1|0}L2(Q);L2(L);L2(B);L2(v);hu(g);k=W;return}function bu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;b=$F(A<<2)|0;s=e+8|0;l=a[s>>2]|0;t=(l<<1)+A|0;n=t<<2;r=$F(n)|0;n=$F(n)|0;f=0;while(1){if((f|0)>=(A|0))break;a[b+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(l|0)){f=0;break}u=a[e>>2]|0;w=a[u+(f<<4)+4>>2]|0;u=b+(a[u+(f<<4)>>2]<<2)|0;a[u>>2]=(a[u>>2]|0)+1;w=b+(w<<2)|0;a[w>>2]=(a[w>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(t|0))break;c[n+(f<<2)>>2]=1.0;f=f+1|0}l=$F(A*20|0)|0;a[i>>2]=l;f=0;while(1){if((f|0)>=(A|0))break;a[l+(f*20|0)>>2]=1;a[l+(f*20|0)+8>>2]=n;a[l+(f*20|0)+4>>2]=r;a[r>>2]=f;c[n>>2]=0.0;u=a[b+(f<<2)>>2]|0;n=n+(u<<2)|0;r=r+(u<<2)|0;f=f+1|0}L2(b);while(1){r=a[s>>2]|0;if(!r)break;u=r+-1|0;a[s>>2]=u;w=a[e>>2]|0;wu(l,a[w+(u<<4)>>2]|0,a[w+(u<<4)+4>>2]|0)}return}function su(A){A=A|0;L2(a[A>>2]|0);return}function wu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;f=A+(e*20|0)|0;n=a[f>>2]|0;l=a[A+(e*20|0)+4>>2]|0;r=0;while(1){if((r|0)>=(n|0)){t=4;break}if((a[l+(r<<2)>>2]|0)==(i|0))break;else r=r+1|0}if((t|0)==4?(a[f>>2]=n+1,a[l+(n<<2)>>2]=i,l=a[A+(i*20|0)+4>>2]|0,n=A+(i*20|0)|0,t=a[n>>2]|0,a[n>>2]=t+1,a[l+(t<<2)>>2]=e,a[A+8>>2]|0):0){t=a[A+(e*20|0)+8>>2]|0;c[t>>2]=+c[t>>2]+-1.0;t=a[A+(i*20|0)+8>>2]|0;c[t>>2]=+c[t>>2]+-1.0}return}function uu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0,c=0,s=0;f=r+-1|0;a[A+4>>2]=f;a[A+8>>2]=f;a[A>>2]=$F(f<<4)|0;r=0;while(1){if((r|0)>=(f|0))break;s=a[i+(r<<2)>>2]|0;n=r+1|0;c=a[i+(n<<2)>>2]|0;t=+b[e+(c<<3)>>3]-+b[e+(s<<3)>>3];l=a[A>>2]|0;a[l+(r<<4)>>2]=s;a[l+(r<<4)+4>>2]=c;b[l+(r<<4)+8>>3]=t;r=n}r=(f|0)/2|0;while(1){if((r|0)<=-1)break;du(A,r);r=r+-1|0}return}function ku(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;if(!(a[i>>2]|0))A=0;else{r=a[A>>2]|0;a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];e=a[A>>2]|0;r=e+((a[i>>2]|0)+-1<<4)|0;a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];a[i>>2]=(a[i>>2]|0)+-1;du(A,0);A=1}return A|0}function ou(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;s=w;t=A+4|0;n=a[t>>2]|0;i=A+8|0;if((n|0)==(a[i>>2]|0)){a[i>>2]=n<<1;i=y2(a[A>>2]|0,n<<5)|0;a[A>>2]=i;c=A;l=a[t>>2]|0}else{c=A;l=n;i=a[A>>2]|0}a[t>>2]=l+1;t=i+(n<<4)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];while(1){if((n|0)<=0)break;i=a[c>>2]|0;r=+b[i+(n<<4)+8>>3];A=n>>>1;f=+b[i+(A<<4)+8>>3];if(!(r>2]|0}t=i+(n<<4)|0;a[s>>2]=a[t>>2];a[s+4>>2]=a[t+4>>2];a[s+8>>2]=a[t+8>>2];a[s+12>>2]=a[t+12>>2];e=i+(A<<4)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];t=(a[c>>2]|0)+(A<<4)|0;a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];n=A}k=w;return}function hu(A){A=A|0;L2(a[A>>2]|0);return}function du(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+16|0;l=s;t=A+4|0;while(1){i=e<<1;n=i|1;if((i|0)<(a[t>>2]|0)){w=a[A>>2]|0;r=+b[w+(i<<4)+8>>3];f=+b[w+(e<<4)+8>>3];if(!(r>2]|0)){w=a[A>>2]|0;r=+b[w+(n<<4)+8>>3];f=+b[w+(i<<4)+8>>3];if(!(r>2]|0;w=n+(i<<4)|0;a[l>>2]=a[w>>2];a[l+4>>2]=a[w+4>>2];a[l+8>>2]=a[w+8>>2];a[l+12>>2]=a[w+12>>2];n=n+(e<<4)|0;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];w=(a[A>>2]|0)+(e<<4)|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];e=i}k=s;return}function Bu(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=+i;r=+r;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0,w=0,u=0.0;s=(f|0)!=0;if(!s){f=$F(e<<3)|0;if(!(KO(A,e,f,e)|0))w=3;else{A=1;w=17}}else w=3;if((w|0)==3){c=qF(e<<2)|0;a[n>>2]=c;A=0;while(1){if((A|0)>=(e|0))break;a[c+(A<<2)>>2]=A;A=A+1|0}A=e+-1|0;OP(f,c,0,A);u=+b[f+(a[c>>2]<<3)>>3];r=(+b[f+(a[c+(A<<2)>>2]<<3)>>3]-u)*r/+(A|0);r=r=(e|0))break;u=+b[f+(a[c+(n<<2)>>2]<<3)>>3];A=A+(u-i>r&1)|0;n=n+1|0;i=u}a[t>>2]=A;A:do{if(!A){c=$F(4)|0;a[l>>2]=c;a[c>>2]=e}else{t=$F(A<<2)|0;a[l>>2]=t;A=0;n=1;while(1){if((n|0)>=(e|0))break A;if(+b[f+(a[c+(n<<2)>>2]<<3)>>3]-+b[f+(a[c+(n+-1<<2)>>2]<<3)>>3]>r){a[t+(A<<2)>>2]=n;A=A+1|0}n=n+1|0}}}while(0);if(s)A=0;else{A=0;w=17}}if((w|0)==17)L2(f);return A|0}function vu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0;i=a[46930]|0;if(i|0)cU(i);a[46930]=tU(e,e,0.0)|0;i=a[46931]|0;if(i|0)L2(i);a[46931]=qF(e<<2)|0;i=a[46932]|0;if(i|0)L2(i);u=qF(e<<3)|0;a[46932]=u;k=a[46930]|0;o=a[46931]|0;l=0;while(1){if((l|0)>=(e|0)){r=10;break}r=A+(l<<2)|0;n=k+(l<<2)|0;f=0.0;i=0;while(1){if((i|0)==(e|0))break;t=+b[(a[r>>2]|0)+(i<<3)>>3];b[(a[n>>2]|0)+(i<<3)>>3]=t;t=+y(+t);f=f>3]=1.0/f;a[o+(l<<2)>>2]=l;l=l+1|0}A:do{if((r|0)==10){w=e+-1|0;i=0;s=0;e:while(1){if((s|0)<(w|0)){r=s;c=i;f=0.0}else break;while(1){if((r|0)>=(e|0))break;A=a[o+(r<<2)>>2]|0;t=+y(+ +b[(a[k+(A<<2)>>2]|0)+(s<<3)>>3]);t=+b[u+(A<<3)>>3]*t;A=f>2]|0;A=o+(c<<2)|0;a[i>>2]=a[A>>2];a[A>>2]=l}n=a[k+(a[i>>2]<<2)>>2]|0;A=s+1|0;f=1.0/+b[n+(s<<3)>>3];r=A;while(1){if((r|0)>=(e|0)){i=c;s=A;continue e}l=a[k+(a[o+(r<<2)>>2]<<2)>>2]|0;i=l+(s<<3)|0;t=+b[i>>3]*f;b[i>>3]=t;i:do{if(t!=0.0){i=A;while(1){if((i|0)>=(e|0))break i;h=l+(i<<3)|0;b[h>>3]=+b[h>>3]-+b[n+(i<<3)>>3]*t;i=i+1|0}}}while(0);r=r+1|0}}i=+b[(a[k+(a[o+(w<<2)>>2]<<2)>>2]|0)+(w<<3)>>3]!=0.0&1}else if((r|0)==15){b[u+(l<<3)>>3]=0.0;i=0}}while(0);return i|0}function gu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0;c=a[46930]|0;s=a[46931]|0;t=0;while(1){if((t|0)>=(i|0)){r=i;break}n=a[s+(t<<2)>>2]|0;l=c+(n<<2)|0;f=0.0;r=0;while(1){if((r|0)==(t|0))break;f=+b[A+(r<<3)>>3]*+b[(a[l>>2]|0)+(r<<3)>>3]+f;r=r+1|0}b[A+(t<<3)>>3]=+b[e+(n<<3)>>3]-f;t=t+1|0}while(1){e=r+-1|0;if((r|0)<=0)break;n=s+(e<<2)|0;f=0.0;while(1){if((r|0)>=(i|0))break;f=+b[A+(r<<3)>>3]*+b[(a[c+(a[n>>2]<<2)>>2]|0)+(r<<3)>>3]+f;r=r+1|0}r=A+(e<<3)|0;b[r>>3]=(+b[r>>3]-f)/+b[(a[c+(a[n>>2]<<2)>>2]|0)+(e<<3)>>3];r=e}return}function Eu(A){A=A|0;var e=0;e=$F(8)|0;a[e>>2]=A;a[e+4>>2]=0;return e|0}function Cu(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0)do{i=A;A=a[A+4>>2]|0;r=a[i>>2]|0;if(r|0)F5[e&127](r);L2(i)}while((A|0)!=0);return}function Iu(A,e){A=A|0;e=e|0;e=Eu(e)|0;a[e+4>>2]=A;return e|0}function Zu(A){A=A|0;return a[A>>2]|0}function Gu(A){A=A|0;return a[A+4>>2]|0}function Qu(A){A=A|0;var e=0;e=$F(12)|0;a[e>>2]=A;a[e+4>>2]=0;a[e+8>>2]=0;return e|0}function mu(A,e){A=A|0;e=e|0;var i=0,r=0;if(A|0)do{i=A;A=a[A+4>>2]|0;r=a[i>>2]|0;if(r|0)F5[e&127](r);L2(i)}while((A|0)!=0);return}function Lu(A,e){A=A|0;e=e|0;e=Qu(e)|0;if(A|0){a[e+4>>2]=A;a[A+8>>2]=e}return e|0}function Wu(A){A=A|0;return a[A>>2]|0}function yu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if(A|0){r=a[A+4>>2]|0;f=a[A+8>>2]|0;n=a[A>>2]|0;if(n|0)F5[e&127](n);L2(A);if(r|0)a[r+8>>2]=f;a[(f|0?f+4|0:i)>>2]=r}return}function zu(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;return}function Yu(A){A=A|0;var e=0;e=qF(64)|0;zu(e+36|0);a[e+8>>2]=A;return e|0}function Du(A){A=A|0;if(A|0){ek(a[A+32>>2]|0);L2(A)}return}function Mu(A){A=A|0;return vh(a[A+8>>2]|0)|0}function Fu(A,e){A=A|0;e=e|0;var i=0,r=0;a[e+4>>2]=0;i=A+4|0;r=a[i>>2]|0;a[((r|0)==0?A:r+4|0)>>2]=e;a[i>>2]=e;return}function Vu(A,e){A=A|0;e=e|0;var i=0;i=a[A>>2]|0;if(!i){a[A>>2]=e;A=A+4|0}else a[e+4>>2]=i;a[A>>2]=e;return}function Ju(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;Nu(A,e);c=a[e>>2]|0;l=a[c+4>>2]|0;while(1){if(!l)break;b=a[l+8>>2]|0;t=cd(b)|0;i=a[(a[t+16>>2]|0)+112>>2]|0;A=a[i+16+4>>2]|0;i=a[i+8>>2]|0;f=t;t=bd(b,t)|0;while(1){if(!t)break;r=a[(a[t+16>>2]|0)+112>>2]|0;n=a[r+16+4>>2]|0;if((n|0)<(A|0)){f=t;i=a[r+8>>2]|0;A=n}t=bd(b,t)|0}t=a[(a[i+16>>2]|0)+112>>2]|0;b=t+4|0;a[b>>2]=a[b>>2]|8;a[l>>2]=f;b=a[l+4>>2]|0;Fu((a[t+12>>2]|0)+36|0,l);l=b}zu(e);return c|0}function Nu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;n=t+8|0;r=a[e+24>>2]|0;if(!((r|0)!=0?(i=vd(A,r,0)|0,(i|0)!=0):0))f=3;A:do{if((f|0)==3){r=e+20|0;e:do{if(a[r>>2]|0){i=cd(A)|0;while(1){if(!i)break e;if((vR(a[a[(a[i+16>>2]|0)+112>>2]>>2]|0,a[r>>2]|0,0)|0)<<24>>24)break A;i=bd(A,i)|0}}}while(0);i=cd(A)|0}}while(0);if(0){f=a[15712]|0;a[l>>2]=Vh(i)|0;f3(f,96223,l)|0}a[n+4>>2]=0;a[n>>2]=0;Xu(A,i,e,1,n);k=t;return}function Xu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=i+8|0;b=a[s>>2]|0;a[s>>2]=b+1;s=e+16|0;a[(a[(a[s>>2]|0)+112>>2]|0)+16+4>>2]=b;a[(a[(a[s>>2]|0)+112>>2]|0)+24>>2]=b;b=(r|0)==0;c=Ah(A,e)|0;while(1){if(!c)break;r=a[c>>2]&3;n=a[((r|0)==2?c:c+-48|0)+40>>2]|0;if((n|0)==(e|0)){r=a[((r|0)==3?c:c+48|0)+40>>2]|0;n=a[(a[c+16>>2]|0)+120>>2]|0;if(!(a[n>>2]|0))a[n>>2]=-1}else{r=a[(a[c+16>>2]|0)+120>>2]|0;if(!(a[r>>2]|0)){a[r>>2]=1;r=n}else r=n}n=r+16|0;l=a[(a[n>>2]|0)+112>>2]|0;t=a[l+16+4>>2]|0;do{if(!t){a[l+8>>2]=e;Ru(f,c);Xu(A,r,i,0,f);t=(a[(a[s>>2]|0)+112>>2]|0)+24|0;a[t>>2]=a[(a[(a[((a[t>>2]|0)<(a[(a[(a[n>>2]|0)+112>>2]|0)+24>>2]|0)?e:r)+16>>2]|0)+112>>2]|0)+24>>2];if((a[(a[(a[n>>2]|0)+112>>2]|0)+24>>2]|0)>=(a[(a[(a[s>>2]|0)+112>>2]|0)+16+4>>2]|0)){r=0;do{l=Hu(f)|0;n=(a[a[(a[l+16>>2]|0)+120>>2]>>2]|0)==1;n=a[((a[l>>2]&3|0)==((n?2:3)|0)?l:l+((n?-1:1)*48|0)|0)+40>>2]|0;if(!(a[(a[(a[n+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!r)r=pu(A,i)|0;Uu(r,n)}}while((l|0)!=(c|0));if(r|0){if((a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Mu(r)|0)>1:0)Uu(r,e);if(!b?(a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==(r|0):0){Vu(i,r);break}Fu(i,r)}}}else{n=a[(a[s>>2]|0)+112>>2]|0;if((a[n+8>>2]|0)!=(r|0)){l=n+24|0;n=a[l>>2]|0;a[l>>2]=(n|0)<(t|0)?n:t}}}while(0);c=eh(A,c,e)|0}if(!b?(a[(a[(a[s>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){s=pu(A,i)|0;Uu(s,e);Vu(i,s)}return}function Ru(A,e){A=A|0;e=e|0;a[(a[(a[e+16>>2]|0)+120>>2]|0)+4>>2]=a[A>>2];a[A>>2]=e;e=A+4|0;a[e>>2]=(a[e>>2]|0)+1;return}function Hu(A){A=A|0;var e=0,i=0,r=0;e=a[A>>2]|0;if(!e)vA(138394,96254,65,96266);i=A+4|0;r=a[i>>2]|0;if((r|0)>0){a[A>>2]=a[(a[(a[e+16>>2]|0)+120>>2]|0)+4>>2];a[i>>2]=r+-1;return e|0}else vA(96244,96254,61,96266);return 0}function pu(A,e){A=A|0;e=e|0;return Yu(xu(A,e)|0)|0}function Uu(A,e){A=A|0;e=e|0;kd(a[A+8>>2]|0,e,1)|0;a[(a[(a[e+16>>2]|0)+112>>2]|0)+12>>2]=A;return}function xu(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+144|0;f=i;r=i+8|0;n=e+12|0;e=a[n>>2]|0;a[n>>2]=e+1;a[f>>2]=e;P4(r,96234,f)|0;e=XB(A,r,1)|0;Td(e,137483,280,1)|0;k=i;return e|0}function Tu(A){A=A|0;var e=0,i=0;e=a[A+36>>2]|0;while(1){if(!e)break;i=a[e+4>>2]|0;Tu(e);e=i}Du(A);return}function ju(A,e,i){A=A|0;e=e|0;i=i|0;Su(A,e,+b[i+32>>3]);return}function Su(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;r=e+36|0;f=0;while(1){r=a[r>>2]|0;if(!r)break;Su(A,r,i);r=r+4|0;f=f+1|0}r=sk(A,e,i)|0;a[e+32>>2]=r;A=tk(r)|0;if((f|0)>0)i=+Pu(f,A,r,e,i);else i=3.141592653589793;if((((A|0)==1?(n=a[e>>2]|0,n|0):0)?a[(a[(a[n+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(l=e+48|0,b[l>>3]=i,i<0.0):0)b[l>>3]=i+6.283185307179586;return}function Pu(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+48|0;v=E;g=qF(A*56|0)|0;a[v+40>>2]=a[r+36>>2];o=r+16|0;t=+b[o>>3];h=v+8|0;b[h>>3]=t;b[v>>3]=t;a[v+44>>2]=a[r>>2];t=6.283185307179586/+(e|0);b[v+16>>3]=t;d=v+24|0;b[d>>3]=-1.0;B=v+32|0;b[B>>3]=-1.0;c=0;u=0;n=0.0;while(1){l=a[i>>2]|0;if(!l)break;i=a[l>>2]|0;if(!(a[(a[(a[i+16>>2]|0)+112>>2]|0)+4>>2]&8))i=u;else{w=g+(u*56|0)|0;a[w>>2]=i;b[g+(u*56|0)+8>>3]=t*+(c|0);i=u+1|0;n=+Ou(w,v,f)}c=c+1|0;u=i;i=l+4|0}A:do{switch(u|0){case 1:{b[g+40>>3]=1.0;i=0;break}case 2:{t=+b[g+64>>3]-+b[g+8>>3];Ku(g,g+56|0,t>3.141592653589793?6.283185307179586-t:t);i=0;break}default:{w=g+8|0;s=g;i=0;while(1){if((i|0)>=(u|0)){i=0;break A}i=i+1|0;if((i|0)==(u|0)){l=g;t=+b[w>>3]+6.283185307179586-+b[s+8>>3];c=s+56|0}else{c=s+56|0;l=c;t=+b[s+64>>3]-+b[s+8>>3]}Ku(s,l,t);s=c}}}}while(0);while(1){if((i|0)>=(u|0))break;_u(g+(i*56|0)|0,v,e,f);i=i+1|0}L2(g);if((A|0)==1){f=n+f*.5;qu(r,-f,0.0,0.0);b[o>>3]=+b[o>>3]+f;g=r+56|0;a[g>>2]=a[g>>2]|1}else b[o>>3]=+b[h>>3];k=E;return+((+b[B>>3]+ +b[d>>3])*.5+-3.141592653589793)}function Ou(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0.0,n=0.0,l=0,t=0,c=0.0;l=0;f=0.0;n=0.0;r=e+40|0;while(1){t=a[r>>2]|0;if(!t)break;r=a[t>>2]|0;if(!r)r=0;else r=a[(a[(a[r+16>>2]|0)+112>>2]|0)+8>>2]|0;if((r|0)==(a[A>>2]|0)){c=+b[t+16>>3];r=l+1|0;f=f+i+c*2.0;n=n>3]=f;a[A+48>>2]=l;b[A+16>>3]=n+i+ +b[e>>3];b[A+24>>3]=n;return+n}function Ku(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=+b[e+16>>3];r=+b[A+16>>3];i=(r*+b[e+32>>3]+f*+b[A+32>>3])/(i*2.0*f*r);i=i<1.0?1.0:i;A=A+40|0;if(i>+b[A>>3])b[A>>3]=i;A=e+40|0;if(i>+b[A>>3])b[A>>3]=i;return}function _u(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,k=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0.0,E=0.0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0;G=e+8|0;Z=+b[G>>3];Q=e+24|0;c=+b[Q>>3];m=e+32|0;t=+b[m>>3];f=+b[A+16>>3]*+b[A+40>>3];I=(i|0)==1;if(I){E=+b[A+32>>3];n=E*.15915494309189535;n=f>n?f:n;f=n*6.283185307179586-E;if(f>0.0){r=f/+(a[A+48>>2]|0)+r;s=0.0;f=n}else{s=0.0;f=n}}else s=+b[A+8>>3]-+b[A+32>>3]/(f*2.0);h=+b[A+24>>3]+f;d=h>Z;B=A+48|0;v=((a[B>>2]|0)+1|0)/2|0;g=1.0/f;E=r/f*.5;C=A+8|0;u=e+40|0;k=0;o=0.0;n=s;while(1){u=a[u>>2]|0;if(!u)break;l=a[u>>2]|0;if(!l)l=0;else l=a[(a[(a[l+16>>2]|0)+112>>2]|0)+8>>2]|0;if((l|0)==(a[A>>2]|0)?(tk(a[u+32>>2]|0)|0)>=1:0){s=+b[u+16>>3];w=s*g;do{if(!I)if((a[B>>2]|0)==1){n=+b[C>>3];break}else{n=n+E+w;break}else{if(n!=0.0)n=(a[B>>2]|0)==2?3.141592653589793:w+n;t=n;c=c<0.0?n:c}}while(0);y=+D(+n)*f;W=+M(+n)*f;qu(u,y,W,+$u(u,y,W,n));n=(I?(s+r)*g:w+E)+n;k=k+1|0;l=k;s=(k|0)==(v|0)?n:o}else{l=k;s=o}u=u+4|0;k=l;o=s}f=d?h:Z;if((i|0)>1?(L=a[A>>2]|0,(L|0)==(a[e+44>>2]|0)):0)b[(a[(a[L+16>>2]|0)+112>>2]|0)+24>>3]=o;b[G>>3]=f;b[Q>>3]=c;b[m>>3]=t;return}function qu(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;var f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0,o=0.0;w=a[A+8>>2]|0;u=r!=0.0;f=cd(w)|0;while(1){if(!f)break;c=a[(a[f+16>>2]|0)+132>>2]|0;l=+b[c>>3];s=c+8|0;n=+b[s>>3];if(u){k=+D(+r);o=+M(+r);t=k*l-o*n;n=o*l+k*n}else t=l;b[c>>3]=t+e;b[s>>3]=n+i;f=bd(w,f)|0}f=A+36|0;while(1){f=a[f>>2]|0;if(!f)break;qu(f,e,i,r);f=f+4|0}return}function $u(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;var f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,k=0;w=a[A+8>>2]|0;f=+b[A+48>>3];do{if(!(f>=0.0)){if((tk(a[A+32>>2]|0)|0)==2){f=r+-1.5707963267948966;break}s=a[A>>2]|0;u=s+16|0;l=a[(a[u>>2]|0)+132>>2]|0;f=+b[l>>3]+e;c=+b[l+8>>3]+i;f=c*c+f*f;l=cd(w)|0;n=s;while(1){if(!l)break;if((l|0)!=(s|0)?(k=a[(a[l+16>>2]|0)+132>>2]|0,t=+b[k>>3]+e,c=+b[k+8>>3]+i,t=c*c+t*t,t>3];c=+b[A+16>>3]-t;n=a[u>>2]|0;l=a[n+132>>2]|0;f=+b[l>>3];if(f>-c?(a[A+56>>2]&1|0)!=0:0){i=+z(+(i*i+e*e));e=+X(+ +b[l+8>>3],+(f+c));f=+D(+e);f=r+1.5707963267948966-e-+J(+((c-t/f)/i*f));break}else{f=+X(+ +b[l+8>>3],+f);f=r+3.141592653589793-f-+b[(a[n+112>>2]|0)+24>>3];f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+r;f=f<0.0?f+6.283185307179586:f}}while(0);return+f}function Ak(){return qF(12)|0}function ek(A){A=A|0;var e=0,i=0;if(A|0){e=a[A>>2]|0;while(1){if(!e)break;i=a[e+4>>2]|0;L2(e);e=i}L2(A)}return}function ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=rk(i)|0;i=A+8|0;a[i>>2]=(a[i>>2]|0)+1;i=A+4|0;r=a[i>>2]|0;if((e|0)==0|(r|0)==(e|0)){a[(r|0?r+4|0:A)>>2]=f;a[f+8>>2]=r;r=0}else{r=e+4|0;i=a[r>>2]|0;a[r>>2]=f;a[f+8>>2]=e;r=i;i=i+8|0}a[i>>2]=f;a[f+4>>2]=r;return}function rk(A){A=A|0;var e=0;e=qF(12)|0;a[e>>2]=A;return e|0}function fk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;e=a[A>>2]|0;i=e;while(1){if(!e)break;n=e+4|0;r=a[n>>2]|0;f=e+8|0;a[n>>2]=a[f>>2];a[f>>2]=r;e=r}f=A+4|0;n=a[f>>2]|0;a[f>>2]=i;a[A>>2]=n;return A|0}function ak(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[A>>2]|0;if((i|0)!=(e|0)){f=e+8|0;r=a[f>>2]|0;a[A>>2]=e;a[f>>2]=0;e=A+4|0;A=a[e>>2]|0;a[A+4>>2]=i;a[i+8>>2]=A;a[e>>2]=r;a[r+4>>2]=0}return}function nk(A){A=A|0;var e=0,i=0,r=0;i=Ak()|0;r=i+4|0;e=0;while(1){A=a[A>>2]|0;if(!A)break;ik(i,e,a[A>>2]|0);e=a[r>>2]|0;A=A+4|0}return i|0}function lk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;f=A;while(1){c=a[f>>2]|0;if(!c){b=6;break}if((a[c>>2]|0)==(e|0))break;f=c+4|0}if((b|0)==6)vA(96270,96277,217,96288);t=c+8|0;f=a[t>>2]|0;n=c+4|0;e=a[n>>2]|0;a[(f|0?f+4|0:A)>>2]=e;l=A+4|0;a[(e|0?e+8|0:l)>>2]=f;e=0;f=A;while(1){f=a[f>>2]|0;if(!f)break;if((a[f>>2]|0)==(i|0)){b=9;break}e=f;f=f+4|0}if((b|0)==9){do{if(!r)if((f|0)==(a[A>>2]|0)){a[A>>2]=c;a[n>>2]=f;a[t>>2]=0;f=f+8|0;break}else{a[e+4>>2]=c;a[t>>2]=e;a[n>>2]=f;f=f+8|0;break}else if((f|0)==(a[l>>2]|0)){a[l>>2]=c;a[n>>2]=0;a[t>>2]=f;f=f+4|0;break}else{a[t>>2]=f;f=f+4|0;a[n>>2]=a[f>>2];a[(a[f>>2]|0)+8>>2]=c;break}}while(0);a[f>>2]=c}return}function tk(A){A=A|0;return a[A+8>>2]|0}function ck(A,e){A=A|0;e=e|0;bk(A,fk(e)|0);L2(e);return}function bk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[e>>2]|0;if(i|0){r=A+4|0;f=a[r>>2]|0;a[f+4>>2]=i;a[i+8>>2]=f;a[r>>2]=a[e+4>>2];i=A+8|0;a[i>>2]=(a[i>>2]|0)+(a[e+8>>2]|0)}return}function sk(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0;w=a[e+8>>2]|0;wk(A,e);s=uk(w)|0;A=ok(kk(s)|0)|0;hk(w,A);w=dk(A,w)|0;A=tk(w)|0;t=+Bk(w);c=(A|0)==1;f=+(A|0);l=f*.15915494309189535*(t+i);n=c?0.0:l;A=w;while(1){A=a[A>>2]|0;if(!A)break;if(a[(a[(a[(a[A>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){r=4;break}A=A+4|0}if((r|0)==4)ak(w,A);i=1.0/f;r=0;A=w;while(1){A=a[A>>2]|0;if(!A)break;u=(a[A>>2]|0)+16|0;a[(a[(a[u>>2]|0)+112>>2]|0)+16>>2]=r;b[(a[(a[u>>2]|0)+112>>2]|0)+24>>3]=0.0;f=6.283185307179586*i*+(r|0);k=+D(+f)*n;u=a[(a[u>>2]|0)+132>>2]|0;b[u>>3]=k;b[u+8>>3]=+M(+f)*n;r=r+1|0;A=A+4|0}k=c?t*.5:l;b[e+16>>3]=k;b[e+24>>3]=k;b[e+48>>3]=-1.0;Bh(s)|0;return w|0}function wk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=a[e+8>>2]|0;i=cd(f)|0;while(1){if(!i)break;r=Oo(A,i)|0;while(1){if(!r)break;if((a[(a[(a[(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0))wh(f,r,1)|0;r=_o(A,r)|0}i=bd(f,i)|0}return}function uk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;n=b;f=Zk(A,n)|0;n=a[n>>2]|0;t=vh(n)|0;l=Gk(n)|0;t=t+-3|0;r=0;while(1){if((r|0)>=(t|0))break;c=Mk(l)|0;i=Ah(n,c)|0;while(1){if(!i)break;e=a[i>>2]&3;A=a[((e|0)==2?i:i+-48|0)+40>>2]|0;if((c|0)==(A|0))A=a[((e|0)==3?i:i+48|0)+40>>2]|0;Dk(l,A);i=eh(n,i,c)|0}Qk(n,c,f);i=Ah(n,c)|0;while(1){if(!i)break;e=a[i>>2]&3;A=a[((e|0)==2?i:i+-48|0)+40>>2]|0;if((c|0)==(A|0))A=a[((e|0)==3?i:i+48|0)+40>>2]|0;e=(a[A+16>>2]|0)+236|0;a[e>>2]=(a[e>>2]|0)+-1;Yk(l,A);i=eh(n,i,c)|0}Cd(n,c)|0;r=r+1|0}Bh(n)|0;zk(l);k=b;return f|0}function kk(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+144|0;e=f;r=f+8|0;i=a[46933]|0;a[46933]=i+1;a[e>>2]=i;P4(r,96303,e)|0;r=XB(A,r,1)|0;Td(r,137483,280,1)|0;e=cd(A)|0;while(1){if(!e)break;kd(r,e,1)|0;i=e+16|0;a[(a[(a[i>>2]|0)+112>>2]|0)+16+12>>2]=0;a[(a[(a[i>>2]|0)+112>>2]|0)+32>>2]=0;i=(a[(a[i>>2]|0)+112>>2]|0)+4|0;a[i>>2]=a[i>>2]&-2;e=bd(A,e)|0}e=cd(A)|0;while(1){if(!e)break;i=a[(a[e+16>>2]|0)+112>>2]|0;if(!(a[i+4>>2]&1)){a[i+16>>2]=0;Ik(A,e,r)}e=bd(A,e)|0}k=f;return r|0}function ok(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((vh(A)|0)!=1){i=cd(A)|0;while(1){if(!i)break;e=0;r=Ah(A,i)|0;while(1){if(!r)break;e=e+1|0;r=eh(A,r,i)|0}if((e|0)==1)Ck(i,i,0,0);i=bd(A,i)|0}e=0;f=0;i=cd(A)|0;while(1){if(!i)break;n=a[(a[i+16>>2]|0)+112>>2]|0;n=(a[n+32>>2]|0)+(a[n+16+12>>2]|0)|0;r=(n|0)>(e|0);e=r?n:e;f=r?i:f;i=bd(A,i)|0}e=Ak()|0;r=f+16|0;i=(a[(a[r>>2]|0)+112>>2]|0)+16+4|0;while(1){i=a[i>>2]|0;if((i|0)==(f|0))break;ik(e,0,i);i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=a[n>>2]|16;i=i+16|0}ik(e,0,f);n=a[(a[r>>2]|0)+112>>2]|0;A=n+4|0;a[A>>2]=a[A>>2]|16;if(a[n+32>>2]|0){A=Ak()|0;i=(a[(a[r>>2]|0)+112>>2]|0)+24|0;while(1){i=a[i>>2]|0;if((i|0)==(f|0))break;ik(A,0,i);i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=a[n>>2]|16;i=i+16|0}ck(e,A)}}else{e=Ak()|0;n=cd(A)|0;ik(e,0,n);n=(a[(a[n+16>>2]|0)+112>>2]|0)+4|0;a[n>>2]=a[n>>2]|16}return e|0}function hk(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i)break;if(!(a[(a[(a[i+16>>2]|0)+112>>2]|0)+4>>2]&16))Ek(A,i,e);i=bd(A,i)|0}return}function dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;i=vk(A,e)|0;a[f>>2]=i;A:do{if(i){r=0;while(1){if((r|0)>=10)break A;A=gk(A,e,f)|0;l=i;i=a[f>>2]|0;if((l|0)==(i|0)|(i|0)==0)break;else r=r+1|0}}}while(0);k=n;return A|0}function Bk(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0;e=0.0;while(1){A=a[A>>2]|0;if(!A)break;f=a[(a[a[(a[(a[A>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;i=+b[f+32>>3];i=i>e?i:e;r=+b[f+40>>3];e=r>i?r:i;A=A+4|0}return+e}function vk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=Fk()|0;r=cd(e)|0;while(1){if(!r)break;i=Oo(e,r)|0;while(1){if(!i)break;a[a[(a[i+16>>2]|0)+120>>2]>>2]=0;i=_o(e,i)|0}r=bd(e,r)|0}c=1;i=0;while(1){l=a[A>>2]|0;if(!l)break;t=a[l>>2]|0;n=Ah(e,t)|0;while(1){if(!n)break;f=n+16|0;if((a[a[(a[f>>2]|0)+120>>2]>>2]|0)>0){A=W5[a[b>>2]&63](b,0,128)|0;while(1){if(!A)break;r=a[A+8>>2]|0;if((a[a[(a[r+16>>2]|0)+120>>2]>>2]|0)>(a[a[(a[f>>2]|0)+120>>2]>>2]|0)?(s=a[r>>2]&3,(a[((s|0)==2?r:r+-48|0)+40>>2]|0)!=(t|0)):0)i=i+((a[((s|0)==3?r:r+48|0)+40>>2]|0)!=(t|0)&1)|0;A=W5[a[b>>2]&63](b,A,8)|0}Hk(b,n)}n=eh(e,n,t)|0}r=Ah(e,t)|0;while(1){if(!r)break;A=a[(a[r+16>>2]|0)+120>>2]|0;if(!(a[A>>2]|0)){a[A>>2]=c;Rk(b,r)}r=eh(e,r,t)|0}A=l+4|0;c=c+1|0}Xk(b);return i|0}function gk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;r=a[i>>2]|0;b=cd(e)|0;A:while(1){if(!b)break;c=Ah(e,b)|0;while(1){if(!c)break;n=a[c>>2]&3;f=a[((n|0)==3?c:c+48|0)+40>>2]|0;if((f|0)==(b|0))f=a[((n|0)==2?c:c+-48|0)+40>>2]|0;t=0;while(1){if((t|0)>=2)break;l=nk(A)|0;lk(A,b,f,t);n=vk(A,e)|0;if((n|0)<(r|0)){ek(l);if(!n){r=0;break A}else r=n}else{ek(A);A=l}t=t+1|0}c=eh(e,c,b)|0}b=bd(e,b)|0}a[i>>2]=r;return A|0}function Ek(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=Ak()|0;r=Oo(A,e)|0;while(1){if(!r)break;f=r+-48|0;ik(l,0,a[((a[r>>2]&3|0)==2?r:f)+40>>2]|0);f=(a[(a[(a[((a[r>>2]&3|0)==2?r:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[f>>2]=a[f>>2]|32;r=_o(A,r)|0}r=qo(A,e)|0;while(1){if(!r)break;f=r+48|0;ik(l,0,a[((a[r>>2]&3|0)==3?r:f)+40>>2]|0);f=(a[(a[(a[((a[r>>2]&3|0)==3?r:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[f>>2]=a[f>>2]|32;r=$o(A,r)|0}A:do{if((tk(l)|0)>1){f=i+4|0;A=i;while(1){r=a[A>>2]|0;if(!r){n=13;break A}A=r+4|0;if(!(a[(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(a[(a[(a[(a[a[((r|0)==(a[f>>2]|0)?i:A)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}ik(i,r,e)}else n=13}while(0);A:do{if((n|0)==13){e:do{if((tk(l)|0)>0){r=i;while(1){r=a[r>>2]|0;if(!r)break e;if(a[(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;r=r+4|0}ik(i,r,e);break A}}while(0);ik(i,0,e)}}while(0);r=l;while(1){r=a[r>>2]|0;if(!r)break;i=(a[(a[(a[r>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;a[i>>2]=a[i>>2]&-33;r=r+4|0}ek(l);return}function Ck(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;while(1){n=a[(a[(a[e+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!n)break;l=i+1|0;t=n+16|0;c=a[(a[t>>2]|0)+112>>2]|0;e=c+16|0;f=a[e+12>>2]|0;if(f){if((f|0)>(i|0)){b=11;break}e=a[e+4>>2]|0;f=e;if((e|0)==(r|0))e=c;else{i=c+24|0;if(!((a[c+32>>2]|0)!=0?(a[i>>2]|0)==(r|0):0))r=e;a[i>>2]=f;e=a[(a[t>>2]|0)+112>>2]|0;a[e+32>>2]=a[e+16+12>>2];e=a[(a[t>>2]|0)+112>>2]|0}e=e+16|0}a[e+4>>2]=A;a[(a[(a[t>>2]|0)+112>>2]|0)+16+12>>2]=l;e=n;i=l}if((b|0)==11?(a[c+32>>2]|0)<=(i|0):0){a[c+24>>2]=A;a[(a[(a[t>>2]|0)+112>>2]|0)+32>>2]=l}return}function Ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=(a[(a[e+16>>2]|0)+112>>2]|0)+4|0;a[n>>2]=a[n>>2]|1;n=Ah(A,e)|0;while(1){if(!n)break;f=a[n>>2]&3;r=a[((f|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((f|0)==3?n:n+48|0)+40>>2]|0;f=r+16|0;if(!(a[(a[(a[f>>2]|0)+112>>2]|0)+4>>2]&1)){wh(i,n,1)|0;a[(a[(a[f>>2]|0)+112>>2]|0)+16>>2]=e;Ik(A,r,i)}n=eh(A,n,e)|0}return}function Zk(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=k;k=k+144|0;c=b+8|0;t=b;i=b+16|0;l=a[46934]|0;a[46934]=l+1;a[t>>2]=l;P4(i,96312,t)|0;t=XB(A,i,1)|0;Td(t,137483,280,1)|0;l=a[46934]|0;a[46934]=l+1;a[c>>2]=l;P4(i,96312,c)|0;l=A+24|0;r[c>>0]=r[l>>0]|0;r[c+1>>0]=r[l+1>>0]|0;r[c+2>>0]=r[l+2>>0]|0;r[c+3>>0]=r[l+3>>0]|0;c=kh(i,c,0)|0;i=cd(A)|0;while(1){if(!i)break;kd(t,i,1)|0;l=vd(c,Vh(i)|0,1)|0;Td(l,137447,304,1)|0;a[(a[(a[i+16>>2]|0)+112>>2]|0)+16>>2]=l;i=bd(A,i)|0}f=cd(A)|0;while(1){if(!f)break;n=a[(a[(a[f+16>>2]|0)+112>>2]|0)+16>>2]|0;l=n+16|0;i=Oo(A,f)|0;while(1){if(!i)break;wh(t,i,1)|0;s=a[(a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;w=th(c,n,s,0,1)|0;Td(w,137460,176,1)|0;a[(a[w+16>>2]|0)+116>>2]=i;w=(a[l>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;s=(a[s+16>>2]|0)+236|0;a[s>>2]=(a[s>>2]|0)+1;i=_o(A,i)|0}f=bd(A,f)|0}a[e>>2]=c;k=b;return t|0}function Gk(A){A=A|0;var e=0,i=0;i=mk()|0;e=cd(A)|0;while(1){if(!e)break;Yk(i,e);e=bd(A,e)|0}return i|0}function Qk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;w=a[(a[e+16>>2]|0)+236>>2]|0;o=w<<2;k=$F(o)|0;o=$F(o)|0;t=0;s=Ah(A,e)|0;u=0;f=0;while(1){if(!s)break;r=a[s>>2]&3;n=a[((r|0)==2?s:s+-48|0)+40>>2]|0;if((n|0)==(e|0))n=a[((r|0)==3?s:s+48|0)+40>>2]|0;l=0;b=Ah(A,e)|0;c=t;while(1){if(!b)break;if((b|0)!=(s|0)){t=a[b>>2]&3;r=a[((t|0)==2?b:b+-48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((t|0)==3?b:b+48|0)+40>>2]|0;t=th(A,n,r,0,0)|0;if(t)if(n>>>0>>0){r=c+1|0;l=t+16|0;t=a[(a[l>>2]|0)+116>>2]|0;if(!t)l=1;else{Cd(i,t)|0;a[(a[l>>2]|0)+116>>2]=0;l=1}}else{l=1;r=c}else r=c}else r=c;b=eh(A,b,e)|0;c=r}if(!l){a[o+(u<<2)>>2]=n;r=u+1|0}else{a[k+(f<<2)>>2]=n;r=u;f=f+1|0}t=c;s=eh(A,s,e)|0;u=r}r=w+-1-t|0;A:do{if((r|0)>0){if((r|0)<(u|0))n=0;else{if((r|0)!=(u|0))break;f=a[k>>2]|0;n=f+16|0;r=0;while(1){if((r|0)>=(u|0))break A;w=a[o+(r<<2)>>2]|0;Td(th(A,f,w,0,1)|0,137460,176,1)|0;i=(a[n>>2]|0)+236|0;a[i>>2]=(a[i>>2]|0)+1;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;r=r+1|0}}while(1){if((n|0)>=(u|0)){f=2;break}f=n|1;if((f|0)>=(u|0)){f=2;break}i=a[o+(n<<2)>>2]|0;w=a[o+(f<<2)>>2]|0;Td(th(A,i,w,0,1)|0,137460,176,1)|0;i=(a[i+16>>2]|0)+236|0;a[i>>2]=(a[i>>2]|0)+1;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;n=n+2|0;r=r+-1|0}while(1){if((r|0)<=0)break A;w=a[o>>2]|0;u=a[o+(f<<2)>>2]|0;Td(th(A,w,u,0,1)|0,137460,176,1)|0;w=(a[w+16>>2]|0)+236|0;a[w>>2]=(a[w>>2]|0)+1;u=(a[u+16>>2]|0)+236|0;a[u>>2]=(a[u>>2]|0)+1;f=f+1|0;r=r+-1|0}}}while(0);L2(o);L2(k);return}function mk(){return jk(18240,a[4581]|0)|0}function Lk(A,e,i){A=A|0;e=e|0;i=i|0;i=$F(16)|0;a[i+12>>2]=0;a[i+8>>2]=a[e+8>>2];return i|0}function Wk(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function yk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return((e|0)<(r|0)?-1:(e|0)>(r|0)&1)|0}function zk(A){A=A|0;pk(A)|0;return}function Yk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;f=i;r=e+16|0;a[f+8>>2]=a[(a[r>>2]|0)+236>>2];A=(W5[a[A>>2]&63](A,f,1)|0)+12|0;a[(a[r>>2]|0)+164>>2]=a[A>>2];a[A>>2]=e;k=i;return}function Dk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=e+16|0;a[n+8>>2]=a[(a[f>>2]|0)+236>>2];n=W5[a[A>>2]&63](A,n,4)|0;if(!n)vA(96322,96325,107,96335);r=n+12|0;i=a[r>>2]|0;if((i|0)==(e|0)){e=a[(a[f>>2]|0)+164>>2]|0;a[r>>2]=e;if(!e)W5[a[A>>2]&63](A,n,2)|0}else{do{A=(a[i+16>>2]|0)+164|0;i=a[A>>2]|0;r=(i|0)!=0}while(r&(i|0)!=(e|0));if(r)a[A>>2]=a[(a[i+16>>2]|0)+164>>2]}k=l;return}function Mk(A){A=A|0;var e=0,i=0,r=0,f=0;i=W5[a[A>>2]&63](A,0,128)|0;if(i){f=i+12|0;e=a[f>>2]|0;r=a[(a[e+16>>2]|0)+164>>2]|0;a[f>>2]=r;if(!r)W5[a[A>>2]&63](A,i,2)|0}else e=0;return e|0}function Fk(){return jk(18276,a[4581]|0)|0}function Vk(A,e,i){A=A|0;e=e|0;i=i|0;i=$F(12)|0;a[i+8>>2]=a[e+8>>2];return i|0}function Jk(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Nk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e>>2]|0;r=a[i>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function Xk(A){A=A|0;pk(A)|0;return}function Rk(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r+8>>2]=e;W5[a[A>>2]&63](A,r,1)|0;k=i;return}function Hk(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r+8>>2]=e;W5[a[A>>2]&63](A,r,2)|0;k=i;return}function pk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;do{if((A|0)!=0?(a[A+24>>2]|0)<=0:0){l=a[A+4>>2]|0;n=l+32|0;e=a[n>>2]|0;if(e){e=y5[e&127](A,2,0,l)|0;if((e|0)<0){e=-1;break}}else e=0;if(a[A+28>>2]|0)_k(A,0)|0;f=(e|0)==0;if(f){W5[a[a[A+16>>2]>>2]&63](A,0,64)|0;if((Pk(A)|0)>0){e=-1;break}i=A+8|0;e=a[i>>2]|0;if((a[e+12>>2]|0)>0){r=A+12|0;y5[a[r>>2]&127](A,a[e+8>>2]|0,0,l)|0;e=a[i>>2]|0}else r=A+12|0;y5[a[r>>2]&127](A,e,0,l)|0}e=a[A+20>>2]|0;if(e){if(f&(e|0)==1)y5[a[A+12>>2]&127](A,A,0,l)|0}else L2(A);e=a[n>>2]|0;if(!e)e=0;else{y5[e&127](A,6,0,l)|0;e=0}}else e=-1}while(0);return e|0}function Uk(A){A=A|0;var e=0,i=0,r=0;r=A+8|0;e=a[r>>2]|0;i=a[e>>2]|0;A:do{if(!(i&12)){if(!(i&3)){i=e+8|0;A=a[i>>2]|0;a[i>>2]=0;break}A=xk(A)|0;i=a[r>>2]|0;e=a[i+8>>2]|0;i=e+(a[i+12>>2]<<2)|0;while(1){if(e>>>0>=i>>>0)break A;a[e>>2]=0;e=e+4|0}}else A=a[e+4>>2]|0}while(0);r=a[r>>2]|0;a[r>>2]=a[r>>2]&-4097;a[r+16>>2]=0;a[r+4>>2]=0;return A|0}function xk(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=A+8|0;A=a[n>>2]|0;e=a[A>>2]|0;if(!(e&4096)){A:do{if(!(e&3)){if(e&112|0){A=a[A+8>>2]|0;break}A=a[A+4>>2]|0;if(!A)A=0;else{while(1){e=A+4|0;i=a[e>>2]|0;if(!i){r=A;break}a[e>>2]=a[i>>2];a[i>>2]=A;A=i}while(1){e=a[r>>2]|0;if(!e)break A;i=a[e+4>>2]|0;if(!i){r=e;continue}while(1){a[e+4>>2]=a[i>>2];a[i>>2]=e;e=a[i+4>>2]|0;if(!e)break;else{f=i;i=e;e=f}}a[r>>2]=i;r=i}}}else{r=a[A+8>>2]|0;f=r+(a[A+12>>2]<<2)|0;e=0;A=0;while(1){if(r>>>0>=f>>>0)break A;i=a[r>>2]|0;if(i){if(!e){e=i;A=i}else a[e>>2]=i;while(1){i=a[e>>2]|0;if(!i)break;else e=i}a[r>>2]=e}r=r+4|0}}}while(0);n=a[n>>2]|0;a[n+4>>2]=A;a[n>>2]=a[n>>2]|4096}else A=a[A+4>>2]|0;return A|0}function Tk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0;B=A+8|0;if(a[a[B>>2]>>2]&4096|0)Sk(A,0)|0;d=a[A+4>>2]|0;w=a[d>>2]|0;u=a[d+4>>2]|0;h=d+8|0;g=a[h>>2]|0;k=a[d+20>>2]|0;o=A+20|0;f=a[o>>2]&-32769;a[o>>2]=f;A:do{if(!e){if(i&384|0){f=a[B>>2]|0;r=a[f+8>>2]|0;if(!r){r=0;break}if(i&256){r=a[r+4>>2]|0;a[f+4>>2]=r;if(!r){r=0;break}}else a[f+4>>2]=r;if((g|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}if(i&4098|0){r=a[B>>2]|0;if(a[r>>2]&144|0){r=0;break}r=a[r+8>>2]|0;if(!r){r=0;break}else{l=r;v=84;break}}if(!(i&64))r=0;else{t=d+16|0;e:do{if((a[t>>2]|0)!=0|(g|0)<0){c=A+12|0;b=(g|0)<0;f=0-g|0;r=a[(a[B>>2]|0)+8>>2]|0;while(1){if(!r)break e;n=a[r>>2]|0;l=a[t>>2]|0;if(l|0){if(b)e=a[r+8>>2]|0;else e=r+f|0;J5[l&127](A,e,d)}if((a[h>>2]|0)>=0){r=n;continue}y5[a[c>>2]&127](A,r,0,d)|0;r=n}}}while(0);r=a[B>>2]|0;a[r+4>>2]=0;a[r+8>>2]=0;a[(a[B>>2]|0)+16>>2]=0;r=0}}else{if(i&2049|0){n=d+12|0;r=a[n>>2]|0;l=(i&1|0)==0;if(!(l|(r|0)==0)){r=W5[r&63](A,e,d)|0;if(!r){r=0;break}else f=r}else f=e;do{if((g|0)>-1)l=f+g|0;else{r=y5[a[A+12>>2]&127](A,0,12,d)|0;if(r|0){a[r+8>>2]=f;l=r;break}if(!(a[n>>2]|0)){r=0;break A}r=a[d+16>>2]|0;if(l|(r|0)==0){r=0;break A}J5[r&127](A,f,d);r=0;break A}}while(0);n=a[B>>2]|0;r=a[n>>2]|0;do{if(!(r&128)){if(!(r&16))if(!(r&32)){v=51;break}else{v=48;break}f=a[n+4>>2]|0;r=(f|0)!=0;if(!(i&8192)){if(!r){v=48;break}if((f|0)==(a[n+8>>2]|0)){v=48;break}d=f+4|0;A=a[d>>2]|0;a[l+4>>2]=A;a[A>>2]=l;a[l>>2]=f;a[d>>2]=l;break}else{if(!r){v=51;break}r=a[f>>2]|0;if(!r){v=51;break}a[l>>2]=r;a[r+4>>2]=l;a[l+4>>2]=f;a[f>>2]=l;break}}else if(!(i&8192))v=48;else v=51}while(0);if((v|0)==48){r=a[n+8>>2]|0;a[l>>2]=r;if(!r)r=l;else a[l+4>>2]=a[r+4>>2];a[r+4>>2]=l;a[(a[B>>2]|0)+8>>2]=l}else if((v|0)==51){f=n+8|0;r=a[f>>2]|0;if(!r){a[f>>2]=l;r=l}else{d=r+4|0;a[a[d>>2]>>2]=l;a[l+4>>2]=a[d>>2]}a[r+4>>2]=l;a[l>>2]=0}r=a[B>>2]|0;f=r+16|0;n=a[f>>2]|0;if((n|0)>-1)a[f>>2]=n+1;a[r+4>>2]=l;if((g|0)<0){r=a[l+8>>2]|0;break}else{r=l+(0-g)|0;break}}l=a[B>>2]|0;do{if(!(i&512)){r=a[l+4>>2]|0;if(r|0){if((g|0)<0)n=a[r+8>>2]|0;else n=r+(0-g)|0;if((n|0)==(e|0))break}r=e+w|0;if((u|0)<0){e=a[r>>2]|0;v=68}else{e=r;v=68}}else v=68}while(0);if((v|0)==68){n=(g|0)<0;t=(u|0)<0;c=(k|0)==0;b=(u|0)<1;s=0-g|0;r=l+8|0;do{r=a[r>>2]|0;if(!r){r=0;break A}if(n)f=a[r+8>>2]|0;else f=r+s|0;f=f+w|0;if(t)f=a[f>>2]|0;do{if(c)if(b){f=A1(e,f)|0;break}else{f=F4(e,f,u)|0;break}else f=y5[k&127](A,e,f,d)|0}while(0)}while((f|0)!=0);f=a[o>>2]|0}a[o>>2]=f|32768;if(!(i&4098)){do{if(!(i&8)){f=a[B>>2]|0;if(!(i&16)){a[f+4>>2]=r;break}if((r|0)==(a[f+8>>2]|0)){a[f+4>>2]=0;r=0;break A}else{r=r+4|0;v=108;break}}else{f=a[B>>2]|0;v=108}}while(0);if((v|0)==108){r=a[r>>2]|0;a[f+4>>2]=r;if(!r){r=0;break}}if((g|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}else{l=r;v=84}}}while(0);if((v|0)==84){r=a[l>>2]|0;if(r){a[r+4>>2]=a[l+4>>2];r=a[l>>2]|0}f=(a[B>>2]|0)+8|0;n=a[f>>2]|0;if((l|0)==(n|0)){a[f>>2]=r;r=a[(a[B>>2]|0)+8>>2]|0;if(r|0)a[r+4>>2]=a[l+4>>2]}else{f=l+4|0;a[a[f>>2]>>2]=r;r=n+4|0;if((l|0)==(a[r>>2]|0))a[r>>2]=a[f>>2]}r=a[B>>2]|0;f=r+4|0;if((l|0)==(a[f>>2]|0))n=a[l>>2]|0;else n=0;a[f>>2]=n;v=r+16|0;a[v>>2]=(a[v>>2]|0)+-1;if((g|0)<0)r=a[l+8>>2]|0;else r=l+(0-g)|0;f=a[d+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))J5[f&127](A,r,d);if((a[h>>2]|0)<0)y5[a[A+12>>2]&127](A,l,0,d)|0}return r|0}function jk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;A:do{if((A|0)!=0&(e|0)!=0?(f=m2(40)|0,(f|0)!=0):0){a[f>>2]=0;a[f+16>>2]=0;a[f+4>>2]=0;Ao(f,A,0)|0;i=f+20|0;t=A+32|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;i=a[t>>2]|0;do{if(i){a[n>>2]=0;i=y5[i&127](f,1,n,A)|0;if((i|0)>=0)if(i){r=a[n>>2]|0;if(r|0)if(!(a[e+4>>2]&a[r>>2])){i=f;l=12;break}else{i=f;break}i=A+28|0;if(!(a[i>>2]|0)){i=f;l=12}else{L2(f);r=y5[a[i>>2]&127](0,0,40,A)|0;if(!r){i=0;break A}a[r>>2]=0;a[r+16>>2]=0;a[r+4>>2]=0;Ao(r,A,0)|0;a[r+20>>2]=1;a[r+24>>2]=0;a[r+32>>2]=0;a[r+28>>2]=0;i=r;f=r;l=11}}else{i=f;l=11}else{i=f;l=12}}else{i=f;l=11}}while(0);if((l|0)==11){r=y5[a[i+12>>2]&127](i,0,28,A)|0;a[n>>2]=r;if(!r){i=f;l=12}else{a[r>>2]=a[e+4>>2];n=r+4|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=0;a[n+20>>2]=0}}if((l|0)==12){L2(i);i=0;break}a[i+8>>2]=r;a[i>>2]=a[e>>2];a[i+16>>2]=e;r=a[t>>2]|0;if(r)y5[r&127](i,5,f,A)|0}else i=0}while(0);k=c;return i|0}function Sk(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;f=a[a[A+16>>2]>>2]|0;c=A+8|0;n=a[c>>2]|0;l=a[n>>2]|0;i=l&4096;if(!e)if(!i)e=-1;else{r=i;e=a[n+4>>2]|0;t=5}else if(!(a[n+16>>2]|0)){r=0;t=5}else e=-1;A:do{if((t|0)==5){a[n>>2]=l&-4097;if(!(l&3)){i=n+4|0;if(!(l&12)){a[i>>2]=0;i=n+8|0}a[i>>2]=e;if(r|0){e=0;break}a[(a[c>>2]|0)+16>>2]=-1;e=0;break}a[n+4>>2]=0;if(!r){a[n+16>>2]=0;while(1){if(!e){e=0;break A}c=a[e>>2]|0;W5[f&63](A,e,32)|0;e=c}}r=a[n+8>>2]|0;A=r+(a[n+12>>2]<<2)|0;while(1){if(r>>>0>=A>>>0){e=0;break A}i=a[r>>2]|0;if(i){a[r>>2]=e;e=a[i>>2]|0;a[i>>2]=0}r=r+4|0}}}while(0);return e|0}function Pk(A){A=A|0;var e=0,i=0,r=0;e=A+8|0;i=a[e>>2]|0;if(a[i>>2]&4096){Sk(A,0)|0;i=a[e>>2]|0}r=i+16|0;A=a[r>>2]|0;do{if((A|0)<0){e=a[i>>2]|0;if(e&12|0){A=Ok(a[i+4>>2]|0)|0;a[r>>2]=A;break}if(e&112){A=0;e=i+8|0;while(1){e=a[e>>2]|0;if(!e)break;A=A+1|0}a[r>>2]=A}}}while(0);return A|0}function Ok(A){A=A|0;var e=0;if(!A)return 0;else{e=Ok(a[A+4>>2]|0)|0;return e+1+(Ok(a[A>>2]|0)|0)|0}return 0}function Kk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0;Y=k;k=k+128|0;G=Y+120|0;d=Y;z=A+8|0;r=a[z>>2]|0;if(a[r>>2]&4096){Sk(A,0)|0;r=a[z>>2]|0}y=a[A+4>>2]|0;Q=a[y>>2]|0;m=a[y+4>>2]|0;I=y+8|0;W=a[I>>2]|0;L=a[y+20>>2]|0;v=A+20|0;a[v>>2]=a[v>>2]&-32769;l=a[r+4>>2]|0;A:do{if(!e)if((i&448|0)==0|(l|0)==0)r=0;else{if(!(i&64)){e:do{if(!(i&256)){r=l;while(1){f=r+4|0;n=a[f>>2]|0;if(!n)break e;a[f>>2]=a[n>>2];a[n>>2]=r;r=n}}else{r=l;while(1){f=a[r>>2]|0;if(!f)break e;A=f+4|0;a[r>>2]=a[A>>2];a[A>>2]=r;r=f}}}while(0);a[(a[z>>2]|0)+4>>2]=r;if((W|0)<0){r=a[r+8>>2]|0;break}else{r=r+(0-W)|0;break}}e=y+16|0;if((a[e>>2]|0)!=0|(W|0)<0){c=A+12|0;b=(W|0)<0;t=0-W|0;r=l;do{l=r;while(1){r=l+4|0;f=a[r>>2]|0;if(!f)break;a[r>>2]=a[f>>2];a[f>>2]=l;l=f}r=a[l>>2]|0;f=a[e>>2]|0;if(f|0){if(b)n=a[l+8>>2]|0;else n=l+t|0;J5[f&127](A,n,y)}if((a[I>>2]|0)<0)y5[a[c>>2]&127](A,l,0,y)|0}while((r|0)!=0);r=a[z>>2]|0}a[r+16>>2]=0;a[r+4>>2]=0;r=0}else{Z=A+16|0;g=(i&4098|0)==0;e:do{if(g|(a[(a[Z>>2]|0)+4>>2]|0)!=8)E=45;else{b=(m|0)<0;r=e+Q|0;if(b)r=a[r>>2]|0;t=(L|0)==0;c=(m|0)<1;n=W5[a[A>>2]&63](A,e,4)|0;while(1){if(!n){E=45;break e}f=n+Q|0;if(b)f=a[f>>2]|0;do{if(t)if(c){f=A1(r,f)|0;break}else{f=F4(r,f,m)|0;break}else f=y5[L&127](A,r,f,y)|0}while(0);if(f|0){E=45;break e}if((n|0)==(e|0))break;n=W5[a[A>>2]&63](A,n,8)|0}l=a[(a[z>>2]|0)+4>>2]|0;a[G>>2]=a[l+4>>2];a[G+4>>2]=a[l>>2];r=G;E=180}}while(0);e:do{if((E|0)==45){do{if(!(i&2565)){if(i&32|0){if((W|0)<0)n=a[e+8>>2]|0;else n=e+(0-W)|0;r=n+Q|0;if((m|0)<0)f=a[r>>2]|0;else f=r;if(!l){r=e;f=G;l=G;E=198;break}else{r=e;B=f;c=e;E=64;break}}if(l){if((W|0)<0)r=a[l+8>>2]|0;else r=l+(0-W)|0;if((r|0)!=(e|0)){f=e+Q|0;if((m|0)<0){n=e;r=0;B=a[f>>2]|0;c=0;E=64}else{n=e;r=0;B=f;c=0;E=64}}else{r=0;n=e;f=G;b=G;c=0;E=141}}else{r=0;n=e;f=G;l=G;E=198}}else{if(!(i&512)){r=e+Q|0;if((m|0)<0)f=a[r>>2]|0;else f=r}else f=e;if(!l){r=0;n=e;f=G;l=G;E=198}else{n=e;r=0;B=f;c=0;E=64}}}while(0);i:do{if((E|0)==64){r:do{if((a[(a[Z>>2]|0)+4>>2]|0)==4?(h=a[(a[z>>2]|0)+24>>2]|0,!((i&516|0)==0|(h|0)==0)):0){e=(W|0)<0;s=(m|0)<0;w=(L|0)==0;u=(m|0)<1;o=0-W|0;b=0;f=l;while(1){if((b|0)>=(h|0)){f=G;b=G;s=0;break}if(e)t=a[f+8>>2]|0;else t=f+o|0;t=t+Q|0;if(s)t=a[t>>2]|0;do{if(w)if(u){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if(!t){E=80;break}a[d+(b<<2)>>2]=t;f=a[((t|0)<0?f+4|0:f)>>2]|0;if(!f){r=0;break A}else b=b+1|0}if((E|0)==80)if(e){r=a[f+8>>2]|0;break A}else{r=f+o|0;break A}while(1){if((s|0)>=(h|0))break r;do{if((a[d+(s<<2)>>2]|0)<0){t=l+4|0;e=a[t>>2]|0;if((a[d+((s|1)<<2)>>2]|0)<0){a[t>>2]=a[e>>2];a[e>>2]=l;a[f+4>>2]=e;f=e;l=b;t=e+4|0;break}else{a[b>>2]=e;a[f+4>>2]=l;f=l;l=e;t=e;break}}else{t=a[l>>2]|0;if((a[d+((s|1)<<2)>>2]|0)>0){o=t+4|0;a[l>>2]=a[o>>2];a[o>>2]=l;a[b>>2]=t;l=t;break}else{a[f+4>>2]=t;a[b>>2]=l;f=t;t=t+4|0;break}}}while(0);b=l;s=s+2|0;l=a[t>>2]|0}}else{f=G;b=G}}while(0);w=(W|0)<0;u=(m|0)<0;o=(L|0)!=0;h=(m|0)<1;d=0-W|0;t=l;r:while(1){l=t;while(1){if(w)t=a[l+8>>2]|0;else t=l+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if(!t){E=140;break r}if((t|0)>=0)break;e=l+4|0;s=a[e>>2]|0;if(!s){E=121;break r}if(w)t=a[s+8>>2]|0;else t=s+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if((t|0)>=0){E=118;break}a[e>>2]=a[s>>2];a[s>>2]=l;a[f+4>>2]=s;l=a[s+4>>2]|0;if(!l){f=s;l=b;E=198;break i}else f=s}if((E|0)==118){E=0;if(!t){E=119;break}a[b>>2]=s;a[f+4>>2]=l;t=a[s>>2]|0;if(!t){f=l;l=s;E=198;break i}else{f=l;b=s;continue}}e=a[l>>2]|0;if(!e){E=139;break}if(w)t=a[e+8>>2]|0;else t=e+d|0;t=t+Q|0;if(u)t=a[t>>2]|0;do{if(!o)if(h){t=A1(B,t)|0;break}else{t=F4(B,t,m)|0;break}else t=y5[L&127](A,B,t,y)|0}while(0);if((t|0)>0){t=e+4|0;a[l>>2]=a[t>>2];a[t>>2]=l;a[b>>2]=e;t=a[e>>2]|0;if(!t){l=e;E=198;break i}else{b=e;continue}}if(!t){E=137;break}a[f+4>>2]=e;a[b>>2]=l;t=a[e+4>>2]|0;if(!t){f=e;E=198;break i}else{f=e;b=l}}if((E|0)==119){a[f+4>>2]=l;f=l;l=s;E=141;break}else if((E|0)==121){a[f+4>>2]=l;f=l;l=b;E=198;break}else if((E|0)==137){a[b>>2]=l;b=l;l=e;E=141;break}else if((E|0)==139){a[b>>2]=l;E=198;break}else if((E|0)==140)if(!l){l=b;E=198;break}else{E=141;break}}}while(0);do{if((E|0)==141){a[v>>2]=a[v>>2]|32768;t=l+4|0;a[b>>2]=a[t>>2];a[f+4>>2]=a[l>>2];if(!(i&516)){if(i&8|0){a[t>>2]=a[G>>2];a[l>>2]=0;a[G>>2]=l;E=169;break}if(i&16|0){E=G+4|0;a[l>>2]=a[E>>2];a[t>>2]=0;a[E>>2]=l;E=175;break}if(!g){r=f;E=180;break e}if(i&2049|0){if(a[(a[Z>>2]|0)+4>>2]&4|0){r=l;break}a[t>>2]=0;r=G+4|0;a[l>>2]=a[r>>2];a[r>>2]=l;r=l;E=205;break}if(!(i&32)){r=0;break A}if(!(a[(a[Z>>2]|0)+4>>2]&4)){a[r+4>>2]=0;I=G+4|0;a[r>>2]=a[I>>2];a[I>>2]=c;r=(a[z>>2]|0)+16|0;a[r>>2]=(a[r>>2]|0)+1;r=l;break}r=a[y+16>>2]|0;if(r|0)J5[r&127](A,n,y);if((a[I>>2]|0)<0){y5[a[A+12>>2]&127](A,c,0,y)|0;r=l}else r=l}else r=l}else if((E|0)==198){a[f+4>>2]=0;a[l>>2]=0;if(!(i&8))if(!(i&16)){if(i&516|0){r=f;break e}if(!(i&2049)){if(!(i&32)){n=0;r=f;break e}I=(a[z>>2]|0)+16|0;a[I>>2]=(a[I>>2]|0)+1}else{r=0;E=205}}else E=175;else E=169}}while(0);if((E|0)==169){l=G+4|0;r=a[l>>2]|0;if(!r){r=f;break}while(1){f=r+4|0;n=a[f>>2]|0;if(!n)break;a[f>>2]=a[n>>2];a[n>>2]=r;r=n}a[l>>2]=a[r>>2]}else if((E|0)==175){r=a[G>>2]|0;if(!r){r=f;break}while(1){f=a[r>>2]|0;if(!f)break;I=f+4|0;a[r>>2]=a[I>>2];a[I>>2]=r;r=f}a[G>>2]=a[r+4>>2]}else if((E|0)==205){t=y+12|0;l=a[t>>2]|0;c=(i&1|0)==0;if(!(c|(l|0)==0))n=W5[l&63](A,n,y)|0;do{if(n){if((W|0)>-1){r=n+W|0;E=215;break}r=y5[a[A+12>>2]&127](A,0,12,y)|0;if(r|0){a[r+8>>2]=n;break}if((a[t>>2]|0)!=0?(C=a[y+16>>2]|0,!(c|(C|0)==0)):0){J5[C&127](A,n,y);E=215}else E=215}else E=215}while(0);if((E|0)==215)if(!r){r=f;break}f=(a[z>>2]|0)+16|0;n=a[f>>2]|0;if((n|0)>-1)a[f>>2]=n+1}a[r+4>>2]=a[G>>2];a[r>>2]=a[G+4>>2];i:do{if(!((i&516|0)==0?1:(a[(a[Z>>2]|0)+4>>2]&8|0)==0)){s=(W|0)<0;if(s)f=a[r+8>>2]|0;else f=r+(0-W)|0;w=(m|0)<0;f=f+Q|0;if(w)f=a[f>>2]|0;c=(L|0)==0;b=(m|0)<1;e=0-W|0;while(1){t=r+4|0;n=a[t>>2]|0;if(!n)break i;while(1){l=a[n>>2]|0;if(!l)break;G=l+4|0;a[n>>2]=a[G>>2];a[G>>2]=n;n=l}a[t>>2]=n;if(s)l=a[n+8>>2]|0;else l=n+e|0;l=l+Q|0;if(w)l=a[l>>2]|0;do{if(c)if(b){l=A1(f,l)|0;break}else{l=F4(f,l,m)|0;break}else l=y5[L&127](A,f,l,y)|0}while(0);if(l|0)break i;a[t>>2]=a[n>>2];a[n>>2]=r;r=n}}}while(0);a[(a[z>>2]|0)+4>>2]=r;if((W|0)<0){r=a[r+8>>2]|0;break A}else{r=r+(0-W)|0;break A}}}while(0);if((E|0)==180){if((W|0)<0)n=a[l+8>>2]|0;else n=l+(0-W)|0;f=a[y+16>>2]|0;if(!((i&2|0)==0|(f|0)==0))J5[f&127](A,n,y);if((a[I>>2]|0)<0)y5[a[A+12>>2]&127](A,l,0,y)|0;A=(a[z>>2]|0)+16|0;y=a[A>>2]|0;a[A>>2]=(y|0)<1?-1:y+-1|0}do{f=r+4|0;r=a[f>>2]|0}while((r|0)!=0);a[f>>2]=a[G>>2];a[(a[z>>2]|0)+4>>2]=a[G+4>>2];r=i&2|0?n:0}}while(0);k=Y;return r|0}function _k(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(a[a[A+8>>2]>>2]&4096|0)Sk(A,0)|0;f=(e|0)!=0;if(f){if(a[a[e+8>>2]>>2]&4096|0)Sk(e,0)|0;if((a[e+16>>2]|0)==(a[A+16>>2]|0)){i=e;r=7}else e=0}else{i=0;r=7}A:do{if((r|0)==7){while(1){if(!i)break;if((i|0)==(A|0)){e=0;break A}i=a[i+28>>2]|0;r=7}i=A+28|0;r=a[i>>2]|0;if(r|0){n=r+24|0;a[n>>2]=(a[n>>2]|0)+-1}a[A+32>>2]=0;a[i>>2]=0;if(f){a[i>>2]=e;a[A>>2]=28;n=e+24|0;a[n>>2]=(a[n>>2]|0)+1;break}else{a[A>>2]=a[a[A+16>>2]>>2];e=r;break}}}while(0);return e|0}function qk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;A:do{if(!(i&99)){if((i&516|0)==0?(r=a[(a[A+16>>2]|0)+4>>2]|0,!((i&384|0)!=0&(r&12|0)==0)):0){if(r&12|0){if(!(i&408)){r=0;break}k=(i&136|0)!=0;o=(i&272|0)!=0;s=0;f=0;r=0;u=A;while(1){if(!u)break;w=W5[a[a[u+16>>2]>>2]&63](u,e,i)|0;do{if(!w)n=s;else{l=a[u+4>>2]|0;t=a[l+4>>2]|0;c=a[l+20>>2]|0;n=w+(a[l>>2]|0)|0;if((t|0)<0)b=a[n>>2]|0;else b=n;if(r|0){do{if(!c)if((t|0)<1){n=A1(b,f)|0;break}else{n=F4(b,f,t)|0;break}else n=y5[c&127](u,b,f,l)|0}while(0);if(!(k&(n|0)<0|o&(n|0)>0)){n=s;break}}n=u;f=b;r=w}}while(0);s=n;u=a[u+28>>2]|0}a[A+32>>2]=s;break}if(!(i&24)){r=0;break}c=A+32|0;f=a[c>>2]|0;if(f){r=a[(a[f+4>>2]|0)+8>>2]|0;n=a[(a[f+8>>2]|0)+4>>2]|0;if((r|0)<0)r=a[n+8>>2]|0;else r=n+(0-r)|0;if((r|0)==(e|0))r=e;else{f=A;l=32}}else{f=A;l=32}do{if((l|0)==32){while(1){if(!f){l=33;break}r=W5[a[a[f+16>>2]>>2]&63](f,e,4)|0;if(r|0){l=36;break}f=a[f+28>>2]|0;l=32}if((l|0)==33){a[c>>2]=0;r=0;break A}else if((l|0)==36){a[c>>2]=f;break}}}while(0);t=(i<<4&128^128)+128|0;r=W5[a[a[f+16>>2]>>2]&63](f,r,i)|0;while(1){l=f+16|0;while(1){if(!r)break;else n=A;while(1){if((n|0)==(f|0))break A;if(W5[a[a[n+16>>2]>>2]&63](n,r,4)|0)break;n=a[n+28>>2]|0}r=W5[a[a[l>>2]>>2]&63](f,r,i)|0}f=a[f+28>>2]|0;a[c>>2]=f;if(!f){r=0;break A}r=W5[a[a[f+16>>2]>>2]&63](f,0,t)|0}}else f=A;while(1){if(!f){f=0;r=0;break}r=W5[a[a[f+16>>2]>>2]&63](f,e,i)|0;if(r|0)break;f=a[f+28>>2]|0}a[A+32>>2]=f}else r=W5[a[a[A+16>>2]>>2]&63](A,e,i)|0}while(0);return r|0}function $k(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=A+32|0;f=W5[a[A>>2]&63](A,0,128)|0;do{if(!f){r=0;break}l=a[n>>2]|0;r=f;f=W5[a[A>>2]&63](A,f,8)|0;r=W5[e&63]((l|0)==0?A:l,r,i)|0}while((r|0)>=0);return r|0}function Ao(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;f=A+4|0;u=a[f>>2]|0;A:do{if(u)if(e){w=a[a[A+16>>2]>>2]|0;n=A+8|0;if(a[a[n>>2]>>2]&4096|0)Sk(A,0)|0;r=a[u+32>>2]|0;if(r|0?(y5[r&127](A,3,e,u)|0)<0:0){e=0;break}a[f>>2]=e;r=a[e+28>>2]|0;a[A+12>>2]=(r|0)==0?52:r;r=a[a[n>>2]>>2]|0;if(!(r&112)){do{if(!(r&2))if(!(r&3))if(!(i&1))break;else{e=u;break A}else if((i&3|0)==3){e=u;break A}else break;else if(i&2|0){e=u;break A}}while(0);l=xk(A)|0;r=a[n>>2]|0;s=a[r>>2]|0;a[r>>2]=s&-4097;a[r+4>>2]=0;a[r+16>>2]=0;e:do{if(s&3|0){s=a[r+8>>2]|0;f=s+(a[r+12>>2]<<2)|0;r=s;while(1){if(r>>>0>=f>>>0)break e;a[r>>2]=0;r=r+4|0}}}while(0);t=(i&2|0)==0;c=e+8|0;b=e+4|0;s=e+24|0;while(1){if(!l){e=u;break A}i=a[l>>2]|0;if(t){r=a[c>>2]|0;if((r|0)<0)r=a[l+8>>2]|0;else r=l+(0-r)|0;n=a[b>>2]|0;r=r+(a[e>>2]|0)|0;if((n|0)<0)r=a[r>>2]|0;f=a[s>>2]|0;if(!f)r=io(0,r,n)|0;else r=W5[f&63](A,r,e)|0;a[l+4>>2]=r}W5[w&63](A,l,32)|0;l=i}}else e=u}else e=u;else{a[f>>2]=e;u=a[e+28>>2]|0;a[A+12>>2]=(u|0)==0?52:u}}while(0);return e|0}function eo(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(i|0)==0;do{if(!e)if(A)A=0;else A=m2(i)|0;else if(A){L2(e);A=0;break}else{A=y2(e,i)|0;break}}while(0);return A|0}function io(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;a=e;if((i|0)>=1){l=e+i+-1|0;a=(l>>>0>>0?e:l)+(1-a)&-2;f=e;while(1){if(f>>>0>=l>>>0)break;A=U(((n[f>>0]|0)<<8)+A+(n[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=e+a|0;if(f>>>0>l>>>0)e=i;else{e=i;A=U(((n[f>>0]|0)<<8)+A|0,17109811)|0}}else{while(1){f=r[e>>0]|0;if(!(f<<24>>24))break;l=r[e+1>>0]|0;i=U(((f&255)<<8)+A+(l&255)|0,17109811)|0;A=i;e=e+(l<<24>>24?2:1)|0}e=e-a|0}return U(A+e|0,17109811)|0}function ro(A){A=A|0;var e=0;e=a[46935]|0;a[46935]=A;return e|0}function fo(A){A=A|0;var e=0;e=a[46936]|0;a[46936]=A;return e|0}function ao(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=no(A,e,f)|0;k=r;return i|0}function no(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=k;k=k+16|0;r=n;f=(A|0)==3;l=f?a[46938]|0:(A|0)==2?1:A;a[46938]=l;t=a[46939]|0;a[46939]=t>>>0>l>>>0?t:l;do{if(l>>>0<(a[46936]|0)>>>0){A=a[46937]|0;if(!A){A=b6()|0;a[46937]=A;if(!A){A=1;break}}if(!f){u6(A)|0;A=a[46937]|0}o4(A,e,i)|0;A=0}else{if(a[46935]|0){lo(A,e,i);A=0;break}if(f)A=a[15712]|0;else{t=a[15712]|0;a[r>>2]=(A|0)==1?96349:96355;f3(t,96363,r)|0;A=t}o4(A,e,i)|0;A=0}}while(0);k=n;return A|0}function lo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((a[46940]|0)==0?(f=m2(a[4590]|0)|0,a[46940]=f,(f|0)==0):0)m3(96368,a[15712]|0)|0;else r=4;do{if((r|0)==4){if((A|0)!=3){Q5[a[46935]&63]((A|0)==1?96349:96355)|0;Q5[a[46935]&63](97027)|0}while(1){A=k4(a[46940]|0,a[4590]|0,e,i)|0;r=a[4590]|0;if((A|0)>-1&(A|0)<(r|0)){r=7;break}r=r<<1;f=A+1|0;f=(r|0)>(f|0)?r:f;a[4590]=f;if(!(y2(a[46940]|0,f)|0)){r=9;break}}if((r|0)==7){Q5[a[46935]&63](a[46940]|0)|0;break}else if((r|0)==9){m3(96368,a[15712]|0)|0;break}}}while(0);return}function to(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;no(1,A,r)|0;k=i;return}function co(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!i){i=(e|0)==0?1024:e;e=i;i=m2(i)|0;f=1}else f=0;a[A+12>>2]=f;a[A>>2]=i;a[A+8>>2]=i+e;a[A+4>>2]=i;r[i>>0]=0;return}function bo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=A+8|0;f=a[A>>2]|0;n=(a[l>>2]|0)-f|0;r=n<<1;n=n+e|0;r=n>>>0>r>>>0?n:r;n=A+4|0;e=f;f=(a[n>>2]|0)-f|0;i=A+12|0;if(!(a[i>>2]|0)){t=m2(r)|0;y6(t|0,e|0,f|0)|0;a[i>>2]=1;e=t}else e=y2(e,r)|0;a[A>>2]=e;a[n>>2]=e+f;a[l>>2]=e+r;return 0}function so(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=A+4|0;r=a[f>>2]|0;if((r+i|0)>>>0>(a[A+8>>2]|0)>>>0){bo(A,i)|0;r=a[f>>2]|0}y6(r|0,e|0,i|0)|0;a[f>>2]=(a[f>>2]|0)+i;return i|0}function wo(A,e){A=A|0;e=e|0;return so(A,e,S2(e)|0)|0}function uo(A){A=A|0;if(a[A+12>>2]|0)L2(a[A>>2]|0);return}function ko(A){A=A|0;var e=0,i=0;e=A+4|0;i=a[e>>2]|0;if(i>>>0>(a[A>>2]|0)>>>0){a[e>>2]=i+-1;A=n[i>>0]|0}else A=-1;return A|0}function oo(A,e,i){A=A|0;e=e|0;i=i|0;lB(a[46942]|0,a[e+8>>2]|0)|0;lB(a[46942]|0,a[e+12>>2]|0)|0;fd(a[46942]|0,e);return}function ho(A,e){A=A|0;e=e|0;var i=0;i=Ud(A,96416,0)|0;if((e|0)!=0&(i|0)==0){Bo(A);i=Ud(A,96416,0)|0}return i|0}function Bo(A){A=A|0;var e=0,i=0,r=0;r=Zd(A)|0;mv(r,r,107,0,1)|0;i=cd(r)|0;while(1){if(!i)break;go(A,i);e=Oo(r,i)|0;while(1){if(!e)break;Eo(A,e);e=_o(r,e)|0}i=bd(r,i)|0}return}function vo(A){A=A|0;var e=0;e=A+24|0;r[e>>0]=r[e>>0]|64;Qo(A);e=pB(A)|0;Io((e|0)==0?A:e,A);return}function go(A,e){A=A|0;e=e|0;var i=0;i=Co(e)|0;if(!((i|0)!=0?(a[i+8>>2]|0)!=0:0))Io(A,e);return}function Eo(A,e){A=A|0;e=e|0;var i=0;i=Co(e)|0;if(!((i|0)!=0?(a[i+8>>2]|0)!=0:0))Io(A,e);return}function Co(A){A=A|0;return Ud(A,96404,0)|0}function Io(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=Td(e,96404,16,0)|0;f=Zo(A,a[e>>2]&3)|0;r=i+8|0;A:do{if(!(a[r>>2]|0)){A=Zd(A)|0;a[r>>2]=Zo(A,a[e>>2]&3)|0;A=Go(e)|0;i=i+12|0;a[i>>2]=rd(Id(e)|0,((A|0)>4?A:4)<<2)|0;A=W5[a[f>>2]&63](f,0,128)|0;while(1){if(!A)break A;r=Id(e)|0;r=aB(r,a[A+12>>2]|0)|0;a[(a[i>>2]|0)+(a[A+16>>2]<<2)>>2]=r;A=W5[a[f>>2]&63](f,A,8)|0}}}while(0);return}function Zo(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;A=ho(A,0)|0;A:do{if(!A)A=0;else switch(e|0){case 0:{A=a[A+16>>2]|0;break A}case 1:{A=a[A+8>>2]|0;break A}case 2:case 3:{A=a[A+12>>2]|0;break A}default:{a[i>>2]=e;ao(1,96429,i)|0;A=0;break A}}}while(0);k=r;return A|0}function Go(A){A=A|0;var e=0;e=Zd(Id(A)|0)|0;A=Zo(e,a[A>>2]&3)|0;if(!A)A=0;else A=Pk(A)|0;return A|0}function Qo(A){A=A|0;var e=0,i=0,r=0,f=0;i=Td(A,96416,20,0)|0;r=i+8|0;a[r>>2]=jB(A,18364,a[4589]|0)|0;f=i+12|0;a[f>>2]=jB(A,18364,a[4589]|0)|0;i=i+16|0;a[i>>2]=jB(A,18364,a[4589]|0)|0;e=pB(A)|0;if(!e){e=a[46941]|0;if(!((e|0)==0|(e|0)==(A|0))){e=ho(e,0)|0;mo(a[e+8>>2]|0,a[r>>2]|0,A,1);mo(a[e+12>>2]|0,a[f>>2]|0,A,2);mo(a[e+16>>2]|0,a[i>>2]|0,A,0)}}else{A=ho(e,0)|0;_k(a[r>>2]|0,a[A+8>>2]|0)|0;_k(a[f>>2]|0,a[A+12>>2]|0)|0;_k(a[i>>2]|0,a[A+16>>2]|0)|0}return}function mo(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=W5[a[A>>2]&63](A,0,128)|0;while(1){if(!n)break;l=Lo(i,a[n+8>>2]|0,a[n+12>>2]|0,a[n+16>>2]|0,f)|0;r[l+22>>0]=r[n+22>>0]|0;r[l+21>>0]=r[n+21>>0]|0;W5[a[e>>2]&63](e,l,1)|0;n=W5[a[A>>2]&63](A,n,8)|0}return}function Lo(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0;l=rd(A,24)|0;r[l+20>>0]=n;a[l+8>>2]=aB(A,e)|0;a[l+12>>2]=aB(A,i)|0;a[l+16>>2]=f;return l|0}function Wo(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+32|0;r=i;a[r+8>>2]=e;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function yo(A,e){A=A|0;e=e|0;var i=0;i=_k(A,0)|0;e=Wo(A,e)|0;_k(A,i)|0;return e|0}function zo(A,e){A=A|0;e=e|0;A=Co(A)|0;if(!A)A=0;else A=Wo(a[A+8>>2]|0,e)|0;return A|0}function Yo(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;l=k;k=k+16|0;n=l;if(!A){A=a[46941]|0;if(!A){r[n>>0]=r[18400]|0;r[n+1>>0]=r[18401]|0;r[n+2>>0]=r[18402]|0;r[n+3>>0]=r[18403]|0;A=kh(0,n,0)|0;a[46941]=A}}if(!f)A=Mo(A,e,i)|0;else A=Do(A,e,i,f)|0;k=l;return A|0}function Do(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=Zd(A)|0;ho(A,1)|0;n=Zo(A,e)|0;f=yo(n,i)|0;A:do{if(!f){f=Wo(n,i)|0;if(f|0){f=Lo(A,i,r,a[f+16>>2]|0,e)|0;W5[a[n>>2]&63](n,f,1)|0;l=16;break}n=Zo(t,e)|0;f=Lo(A,i,r,Pk(n)|0,e)|0;W5[a[n>>2]&63](n,f,1)|0;switch(e|0){case 0:{mv(t,t,57,f,1)|0;l=16;break A}case 1:{i=cd(t)|0;while(1){if(!i){l=16;break A}Fo(A,i,f);i=bd(t,i)|0}}case 2:case 3:{n=cd(t)|0;while(1){if(!n){l=16;break A}i=Oo(t,n)|0;while(1){if(!i)break;Fo(A,i,f);i=_o(t,i)|0}n=bd(t,n)|0}}default:break A}}else{l=f+12|0;lB(A,a[l>>2]|0)|0;a[l>>2]=aB(A,r)|0;l=16}}while(0);if((l|0)==16)if((e|0)==0&(f|0)!=0)Vo(A,f,r)|0;md(A,A,f);return f|0}function Mo(A,e,i){A=A|0;e=e|0;i=i|0;A=Zo(A,e)|0;if(!A)A=0;else A=Wo(A,i)|0;return A|0}function Fo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;e=Co(e)|0;f=i+16|0;r=a[f>>2]|0;if((r|0)>3){n=a[A+64>>2]|0;e=e+12|0;r=r<<2;a[e>>2]=y5[a[(a[n>>2]|0)+8>>2]&127](a[n+12>>2]|0,a[e>>2]|0,r,r+4|0)|0}else e=e+12|0;n=aB(A,a[i+12>>2]|0)|0;a[(a[e>>2]|0)+(a[f>>2]<<2)>>2]=n;return}function Vo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=Id(A)|0;n=(Co(A)|0)+12|0;t=e+16|0;lB(l,a[(a[n>>2]|0)+(a[t>>2]<<2)>>2]|0)|0;f=aB(l,i)|0;a[(a[n>>2]|0)+(a[t>>2]<<2)>>2]=f;do{if(!(a[A>>2]&3)){r=a[(ho(l,0)|0)+16>>2]|0;f=e+8|0;n=yo(r,a[f>>2]|0)|0;if(!n){t=Lo(l,a[f>>2]|0,i,a[t>>2]|0,a[A>>2]&3)|0;W5[a[r>>2]&63](r,t,1)|0;break}else{t=n+12|0;lB(l,a[t>>2]|0)|0;a[t>>2]=aB(l,i)|0;break}}}while(0);md(l,A,e);return 0}function Jo(A,e,i){A=A|0;e=e|0;i=i|0;A=Zo(A,e)|0;do{if(A){e=a[A>>2]|0;if(!i){A=W5[e&63](A,0,128)|0;break}else{A=W5[e&63](A,i,8)|0;break}}else A=0}while(0);return A|0}function No(A){A=A|0;var e=0;a[46942]=A;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,a[e>>2]|0)|0}e=ho(A,0)|0;if(e)if(((PB(A,a[e+8>>2]|0)|0)==0?(PB(A,a[e+12>>2]|0)|0)==0:0)?(PB(A,a[e+16>>2]|0)|0)==0:0){Sd(A,a[e>>2]|0)|0;e=0}else e=1;else e=0;return e|0}function Xo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=Id(A)|0;r=Go(A)|0;e=e+12|0;A=0;while(1){i=a[e>>2]|0;if((A|0)>=(r|0))break;lB(f,a[i+(A<<2)>>2]|0)|0;A=A+1|0}fd(f,i);return}function Ro(A){A=A|0;var e=0;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,96404)|0}return}function Ho(A){A=A|0;var e=0;e=Co(A)|0;if(e|0){Xo(A,e);Sd(A,96404)|0}return}function po(A,e){A=A|0;e=e|0;e=zo(A,e)|0;if(!e)e=0;else{A=a[(Co(A)|0)+12>>2]|0;e=a[A+(a[e+16>>2]<<2)>>2]|0}return e|0}function Uo(A,e){A=A|0;e=e|0;A=a[(Co(A)|0)+12>>2]|0;return a[A+(a[e+16>>2]<<2)>>2]|0}function xo(A,e,i){A=A|0;e=e|0;i=i|0;e=zo(A,e)|0;if(!e)e=-1;else{Vo(A,e,i)|0;e=0}return e|0}function To(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Id(A)|0;f=Yo(f,a[A>>2]&3,e,0)|0;if(!f){f=Id(A)|0;f=Yo(f,a[A>>2]&3,e,r)|0}Vo(A,f,i)|0;return 0}function jo(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=Id(A)|0;f=a[A>>2]|0;A:do{if(!((a[e>>2]^f)&3)){i=1;r=0;while(1){r=Jo(n,f&3,r)|0;if(!r)break A;i=zo(e,a[r+8>>2]|0)|0;if(!i){i=1;break A}f=Uo(A,r)|0;Vo(e,i,f)|0;if(tB(f)|0)cB(Uo(e,i)|0);i=0;f=a[A>>2]|0}}else i=1}while(0);return i|0}function So(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;A=a[e+40>>2]|0;f=a[i+40>>2]|0;if((A|0)==(f|0)){r=(a[e>>2]|0)>>>4;A=(a[i>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else n=6;else A=-1}else{r=(a[A>>2]|0)>>>4;A=(a[f>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else n=6;else A=-1}if((n|0)==6)A=0;return A|0}function Po(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;A=(a[e+40>>2]|0)+8|0;n=a[A>>2]|0;A=a[A+4>>2]|0;f=(a[i+40>>2]|0)+8|0;r=a[f>>2]|0;f=a[f+4>>2]|0;do{if(!(A>>>0>>0|(A|0)==(f|0)&n>>>0>>0))if(A>>>0>f>>>0|(A|0)==(f|0)&n>>>0>r>>>0)A=1;else{r=e+8|0;A=a[r>>2]|0;r=a[r+4>>2]|0;if(!((A|0)==0&(r|0)==0)?(t=i+8|0,l=a[t>>2]|0,t=a[t+4>>2]|0,!((l|0)==0&(t|0)==0)):0){if(r>>>0>>0|(r|0)==(t|0)&A>>>0>>0){A=-1;break}if(r>>>0>t>>>0|(r|0)==(t|0)&A>>>0>l>>>0){A=1;break}}A=0}else A=-1}while(0);return A|0}function Oo(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+32|0;Sk(a[i>>2]|0,a[A>>2]|0)|0;e=a[i>>2]|0;e=W5[a[e>>2]&63](e,0,128)|0;a[A>>2]=Uk(a[i>>2]|0)|0}return e|0}function Ko(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+48|0;i=r;if((a[e+24>>2]|0)==(A|0))A=e+28|0;else{a[i+16>>2]=e;A=a[A+40>>2]|0;A=W5[a[A>>2]&63](A,i,4)|0}k=r;return A|0}function _o(A,e){A=A|0;e=e|0;var i=0,r=0;i=Ko(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+32|0;Sk(a[r>>2]|0,a[i>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,e,8)|0;a[i>>2]=Uk(a[r>>2]|0)|0}return A|0}function qo(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+28|0;Sk(a[i>>2]|0,a[A>>2]|0)|0;e=a[i>>2]|0;e=W5[a[e>>2]&63](e,0,128)|0;a[A>>2]=Uk(a[i>>2]|0)|0}return e|0}function $o(A,e){A=A|0;e=e|0;var i=0,r=0;i=Ko(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+28|0;Sk(a[r>>2]|0,a[i>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,e,8)|0;a[i>>2]=Uk(a[r>>2]|0)|0}return A|0}function Ah(A,e){A=A|0;e=e|0;var i=0;i=Oo(A,e)|0;if(!i)i=qo(A,e)|0;return i|0}function eh(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((a[e>>2]&3|0)==2){e=_o(A,e)|0;if(!e){e=0;do{if(!e)e=qo(A,i)|0;else e=$o(A,e)|0;if(!e){e=0;break A}}while((a[e+40>>2]|0)==(i|0))}}else do{e=$o(A,e)|0;if(!e){e=0;break A}}while((a[e+40>>2]|0)==(i|0))}while(0);return e|0}function ih(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,l=0;l=k;k=k+32|0;r=l+16|0;f=l;if((Gh(A)|0)!=0?(a[f>>2]=0,a[f+4>>2]=0,a[f+8>>2]=0,a[f+12>>2]=0,a[r>>2]=a[f>>2],a[r+4>>2]=a[f+4>>2],a[r+8>>2]=a[f+8>>2],a[r+12>>2]=a[f+12>>2],(nh(A,e,i,r)|0)!=0):0)r=0;else r=((n[A+24>>0]|0)>>>2&1^1)&255|(e|0)!=(i|0);k=l;return r|0}function rh(A,e){A=A|0;e=e|0;ah(A,e);return}function fh(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0;kd(A,e,1)|0;kd(A,i,1)|0;l=rd(A,96)|0;t=l+48|0;s=dh(A,2)|0;c=a[t>>2]|0;b=a[l>>2]|0;w=l+8|0;a[w>>2]=f;a[w+4>>2]=n;w=l+56|0;a[w>>2]=f;a[w+4>>2]=n;n=s<<4;a[l>>2]=b&12|n|2;a[t>>2]=c&12|n|3;a[l+88>>2]=e;a[l+40>>2]=i;ah(A,l);if(r[A+24>>0]&64){Td(l,96404,16,0)|0;Eo(A,l)}Gd(A,l);return l|0}function ah(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;t=k;k=k+16|0;i=t;l=a[e>>2]&3;n=(l|0)==2?e:e+-48|0;l=(l|0)==3?e:e+48|0;r=a[l+40>>2]|0;f=a[n+40>>2]|0;while(1){if(!A)break;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];if(nh(A,r,f,i)|0)break;c=Ko(A,r)|0;s=A+44|0;lh(a[s>>2]|0,c+32|0,n);b=A+48|0;lh(a[b>>2]|0,c+24|0,n);c=Ko(A,f)|0;lh(a[s>>2]|0,c+28|0,l);lh(a[b>>2]|0,c+20|0,l);A=pB(A)|0}k=t;return}function nh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=k;k=k+48|0;f=l;if(!((e|0)==0|(i|0)==0)?(a[f>>2]=a[r>>2],a[f+4>>2]=a[r+4>>2],a[f+8>>2]=a[r+8>>2],a[f+12>>2]=a[r+12>>2],a[f+40>>2]=e,n=Ko(A,i)|0,(n|0)!=0):0){r=A+48|0;n=n+20|0;Sk(a[r>>2]|0,a[n>>2]|0)|0;A=a[r>>2]|0;A=W5[a[A>>2]&63](A,f,4)|0;a[n>>2]=Uk(a[r>>2]|0)|0}else A=0;k=l;return A|0}function lh(A,e,i){A=A|0;e=e|0;i=i|0;Sk(A,a[e>>2]|0)|0;W5[a[A>>2]&63](A,i,1)|0;a[e>>2]=Uk(A)|0;return}function th(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+48|0;t=w+24|0;b=w+16|0;c=w;do{if(!(Dh(A,2,r,b,0)|0))if(!r){if(f|0?(Gh(A)|0)==0:0){s=18;break}a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0;s=7}else s=17;else{u=c;a[u>>2]=0;a[u+4>>2]=0;u=b;n=a[u+4>>2]|0;s=c+8|0;a[s>>2]=a[u>>2];a[s+4>>2]=n;a[c>>2]=2;s=7}}while(0);A:do{if((s|0)==7){a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(A,e,i,t)|0;e:do{if(!n){if(Zh(A)|0?(a[t>>2]=a[c>>2],a[t+4>>2]=a[c+4>>2],a[t+8>>2]=a[c+8>>2],a[t+12>>2]=a[c+12>>2],l=nh(A,i,e,t)|0,l|0):0){n=l;break}do{if(f|0){n=Zd(A)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(n,e,i,t)|0;if(!n){if(!(Zh(A)|0))break;n=Zd(A)|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];n=nh(n,i,e,t)|0;if(!n)break}rh(A,n);break e}}while(0);s=17;break A}}while(0)}}while(0);if((s|0)==17)if(!f)n=0;else s=18;if((s|0)==18)if((ih(A,e,i)|0)!=0?(Dh(A,2,r,b,1)|0)!=0:0){n=b;n=fh(A,e,i,a[n>>2]|0,a[n+4>>2]|0)|0;Jh(A,2,n)}else n=0;k=w;return n|0}function ch(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;i=(a[e>>2]&3|0)==3;n=i?e+-48|0:e;i=i?e:e+48|0;e=a[n+40>>2]|0;l=Ko(A,a[i+40>>2]|0)|0;f=A+44|0;bh(a[f>>2]|0,l+32|0,n);r=A+48|0;bh(a[r>>2]|0,l+24|0,n);e=Ko(A,e)|0;bh(a[f>>2]|0,e+28|0,i);bh(a[r>>2]|0,e+20|0,i);return}function bh(A,e,i){A=A|0;e=e|0;i=i|0;Sk(A,a[e>>2]|0)|0;W5[a[A>>2]&63](A,i,2)|0;a[e>>2]=Uk(A)|0;return}function sh(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;i=k;k=k+16|0;f=i;e=(a[e>>2]&3|0)==2?e:e+-48|0;n=a[e>>2]&3;l=a[((n|0)==3?e:e+48|0)+40>>2]|0;n=a[((n|0)==2?e:e+-48|0)+40>>2]|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];if(nh(A,l,n,f)|0){if((Zd(A)|0)==(A|0)){if(r[A+24>>0]&64)Ho(e);Wd(A,e);$d(e);l=e+8|0;Fh(A,2,a[l>>2]|0,a[l+4>>2]|0)}if(!(mv(A,e,58,0,0)|0))if((Zd(A)|0)==(A|0)){fd(A,e);e=0}else e=0;else e=-1}else e=-1;k=i;return e|0}function wh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;f=kd(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,i)|0;n=kd(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,i)|0;do{if((f|0)!=0&(n|0)!=0){a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];r=nh(A,f,n,r)|0;f=(r|0)==0;if(!((i|0)!=0&f)){if(f)break}else{ah(A,e);r=e}i=a[r>>2]&3;k=l;return((i|0)==(a[e>>2]&3|0)?r:r+(((i|0)==3?-1:1)*48|0)|0)|0}}while(0);k=l;return 0}function uh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=e+8|0;r=i+8|0;r=B6(a[e>>2]|0,a[e+4>>2]|0,a[r>>2]|0,a[r+4>>2]|0)|0;return((r|0)==0?0:r>>31|1)|0}function kh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+16|0;n=l;c=oh(i)|0;f=m5[a[(a[c>>2]|0)+4>>2]&127](a[c+12>>2]|0,72)|0;a[f>>2]=a[f>>2]&-4;t=f+64|0;a[t>>2]=c;b=f+24|0;e=a[e>>2]|0;a[b>>2]=e;r[b>>0]=e&255|8;a[f+60>>2]=f;i=m5[a[a[c+4>>2]>>2]&127](f,i)|0;a[(a[t>>2]|0)+16>>2]=i;if(Dh(f,0,A,n,1)|0){t=n;c=a[t+4>>2]|0;b=f+8|0;a[b>>2]=a[t>>2];a[b+4>>2]=c}b=hh(f)|0;Jh(b,0,f);k=l;return b|0}function oh(A){A=A|0;var e=0,i=0,f=0,n=0;e=(A|0)!=0;if(e){i=a[A>>2]|0;i=(i|0)==0?18736:i}else i=18736;n=Q5[a[i>>2]&63](A)|0;f=m5[a[i+4>>2]&127](n,80)|0;a[f>>2]=i;a[f+12>>2]=n;if(e){n=a[A+4>>2]|0;a[f+4>>2]=(n|0)==0?18612:n;A=a[A+8>>2]|0;A=(A|0)==0?18712:A}else{a[f+4>>2]=18612;A=18712}a[f+8>>2]=A;r[f+52>>0]=1;return f|0}function hh(A){A=A|0;var e=0,i=0;a[A+36>>2]=jB(A,18792,a[4589]|0)|0;a[A+40>>2]=jB(A,18756,a[4589]|0)|0;e=(Zd(A)|0)==(A|0);a[A+44>>2]=jB(A,e?18404:18440,a[4589]|0)|0;e=(Zd(A)|0)==(A|0);a[A+48>>2]=jB(A,e?18476:18512,a[4589]|0)|0;a[A+52>>2]=jB(A,18548,a[4589]|0)|0;e=pB(A)|0;if(!((e|0)!=0?(i=dh(e,0)|0,a[A>>2]=a[A>>2]&15|i<<4,i=a[e+52>>2]|0,W5[a[i>>2]&63](i,A,1)|0,!(r[e+24>>0]&64)):0))vo(A);Gd(A,A);return A|0}function dh(A,e){A=A|0;e=e|0;var i=0;i=(a[A+64>>2]|0)+24+(e<<3)|0;e=i;e=d6(a[e>>2]|0,a[e+4>>2]|0,1,0)|0;A=L;a[i>>2]=e;a[i+4>>2]=A;L=A;return e|0}function Bh(A){A=A|0;var e=0,i=0,f=0,n=0;f=pB(A)|0;n=(f|0)==0;if(n?(e=A+64|0,(a[(a[a[e>>2]>>2]|0)+16>>2]|0)!=0):0){Wd(A,A);n=A+8|0;Fh(A,0,a[n>>2]|0,a[n+4>>2]|0);e=a[e>>2]|0;F5[a[(a[e>>2]|0)+16>>2]&127](a[e+12>>2]|0);e=0}else i=4;do{if((i|0)==4){e=RB(A)|0;while(1){if(!e)break;i=HB(e)|0;Bh(e)|0;e=i}e=cd(A)|0;while(1){if(!e)break;i=bd(A,e)|0;Ed(A,e)|0;e=i}jh(A);Wd(A,A);if(((((PB(A,a[A+40>>2]|0)|0)==0?(PB(A,a[A+36>>2]|0)|0)==0:0)?(PB(A,a[A+48>>2]|0)|0)==0:0)?(PB(A,a[A+44>>2]|0)|0)==0:0)?(PB(A,a[A+52>>2]|0)|0)==0:0){if(r[A+24>>0]&64?No(A)|0:0){e=-1;break}$d(A);i=A+8|0;Fh(A,0,a[i>>2]|0,a[i+4>>2]|0);if(!n){UB(f,A)|0;fd(f,A);e=0;break}e=A+64|0;while(1){i=a[e>>2]|0;f=a[i+48>>2]|0;if(!f)break;Yd(A,a[f>>2]|0)|0}F5[a[(a[i+4>>2]|0)+20>>2]&127](a[i+16>>2]|0);if(!(AB(A)|0)){e=a[e>>2]|0;n=a[e+12>>2]|0;f=(a[e>>2]|0)+12|0;V5[a[f>>2]&63](n,A);V5[a[f>>2]&63](n,e);e=0}else e=-1}else e=-1}}while(0);return e|0}function vh(A){A=A|0;return Pk(a[A+40>>2]|0)|0}function gh(A){A=A|0;var e=0,i=0,r=0;e=0;i=cd(A)|0;while(1){if(!i)break;r=(Eh(A,i,0,1)|0)+e|0;e=r;i=bd(A,i)|0}return e|0}function Eh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Ko(A,e)|0;if(f){if(!r)e=0;else e=Ch(a[A+44>>2]|0,f+32|0)|0;if(i)e=(Ch(a[A+44>>2]|0,f+28|0)|0)+e|0}else e=0;return e|0}function Ch(A,e){A=A|0;e=e|0;var i=0;Sk(A,a[e>>2]|0)|0;i=Pk(A)|0;a[e>>2]=Uk(A)|0;return i|0}function Ih(A){A=A|0;return r[A+24>>0]&1|0}function Zh(A){A=A|0;return(Ih(A)|0)==0|0}function Gh(A){A=A|0;return(n[A+24>>0]|0)>>>1&1|0}function Qh(A,e){A=A|0;e=e|0;return A|0}function mh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;if(!i){f=1392;i=a[f>>2]|0;f=a[f+4>>2]|0;a[r>>2]=i;a[r+4>>2]=f;f=d6(i|0,f|0,2,0)|0;r=1392;a[r>>2]=f;a[r+4>>2]=L}else{if(!f)A=iB(A,i)|0;else A=aB(A,i)|0;a[r>>2]=A;a[r+4>>2]=0}return 1}function Lh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return 0}function Wh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((i&1|0)==0&0==0)lB(A,i)|0;return}function yh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return((i&1|0)==0&0==0?i:0)|0}function zh(A){A=A|0;return}function Yh(A,e,i){A=A|0;e=e|0;i=i|0;return}function Dh(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;t=(i|0)!=0;do{if(t){if((r[i>>0]|0)!=37?(l=a[A+64>>2]|0,l=z5[a[(a[l+4>>2]|0)+4>>2]&127](a[l+16>>2]|0,e,i,f,n)|0,l|0):0)break;l=Nh(A,e,i,f)|0;if(!l)c=5}else c=5}while(0);if((c|0)==5)if(n){l=a[A+64>>2]|0;l=z5[a[(a[l+4>>2]|0)+4>>2]&127](a[l+16>>2]|0,e,0,f,n)|0;if(t&(l|0)!=0){c=f;Xh(A,e,i,a[c>>2]|0,a[c+4>>2]|0)}}else l=0;return l|0}function Mh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[A+64>>2]|0;return y5[a[(a[A+4>>2]|0)+8>>2]&127](a[A+16>>2]|0,e,i,r)|0}function Fh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;xh(A,e,i,r)|0;A=a[A+64>>2]|0;X5[a[(a[A+4>>2]|0)+12>>2]&31](a[A+16>>2]|0,e,i,r);return}function Vh(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;i=Id(A)|0;f=A+8|0;e=f;e=ph(i,a[A>>2]&3,a[e>>2]|0,a[e+4>>2]|0)|0;do{if(!e){e=a[i+64>>2]|0;i=a[(a[e+4>>2]|0)+16>>2]|0;if(i|0?(r=f,r=y5[i&127](a[e+16>>2]|0,a[A>>2]&3,a[r>>2]|0,a[r+4>>2]|0)|0,r|0):0){e=r;break}if((a[A>>2]&3|0)==2)e=0;else{r=a[f>>2]|0;f=a[f+4>>2]|0;a[n>>2]=37;e=n+8|0;a[e>>2]=r;a[e+4>>2]=f;P4(194773,96456,n)|0;e=194773}}}while(0);k=l;return e|0}function Jh(A,e,i){A=A|0;e=e|0;i=i|0;A=a[A+64>>2]|0;J5[a[(a[A+4>>2]|0)+24>>2]&127](a[A+16>>2]|0,e,i);return}function Nh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;e=a[(a[A+64>>2]|0)+56+(((e|0)==3?2:e)<<2)>>2]|0;if(((e|0)!=0?(f=iB(A,i)|0,(f|0)!=0):0)?(a[l+24>>2]=f,n=W5[a[e>>2]&63](e,l,4)|0,(n|0)!=0):0){i=n+16|0;l=a[i+4>>2]|0;e=r;a[e>>2]=a[i>>2];a[e+4>>2]=l;e=1}else e=0;k=t;return e|0}function Xh(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;l=rd(A,32)|0;n=l+16|0;a[n>>2]=r;a[n+4>>2]=f;a[l+24>>2]=aB(A,i)|0;r=(e|0)==3?2:e;n=A+64|0;i=a[n>>2]|0;e=a[i+56+(r<<2)>>2]|0;if(!e){f=jB(A,18640,a[4589]|0)|0;a[(a[n>>2]|0)+56+(r<<2)>>2]=f;e=a[n>>2]|0}else{f=e;e=i}e=a[e+68+(r<<2)>>2]|0;if(!e){e=jB(A,18676,a[4589]|0)|0;a[(a[n>>2]|0)+68+(r<<2)>>2]=e}W5[a[f>>2]&63](f,l,1)|0;W5[a[e>>2]&63](e,l,1)|0;return}function Rh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=e+16|0;e=a[A>>2]|0;A=a[A+4>>2]|0;i=i+16|0;r=a[i>>2]|0;i=a[i+4>>2]|0;return(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0?1:(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0)<<31>>31)|0}function Hh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=a[e+24>>2]|0;r=a[i+24>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function ph(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=Uh(A,e,i,r)|0;if(!A)A=0;else A=a[A+24>>2]|0;return A|0}function Uh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+32|0;f=n;A=a[(a[A+64>>2]|0)+68+(((e|0)==3?2:e)<<2)>>2]|0;if(!A)A=0;else{e=f+16|0;a[e>>2]=i;a[e+4>>2]=r;A=W5[a[A>>2]&63](A,f,4)|0}k=n;return A|0}function xh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=(e|0)==3?2:e;e=Uh(A,f,i,r)|0;if(!e)e=0;else{r=A+64|0;i=a[(a[r>>2]|0)+56+(f<<2)>>2]|0;W5[a[i>>2]&63](i,e,2)|0;r=a[(a[r>>2]|0)+68+(f<<2)>>2]|0;W5[a[r>>2]&63](r,e,2)|0;lB(A,a[e+24>>2]|0)|0;fd(A,e);e=1}return e|0}function Th(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;a[46942]=A;n=a[A+64>>2]|0;f=0;while(1){if((f|0)==3)break;l=n+56+(f<<2)|0;e=a[l>>2]|0;A:do{if(e|0){e=W5[a[e>>2]&63](e,0,128)|0;while(1){if(!e)break A;i=a[l>>2]|0;i=W5[a[i>>2]&63](i,e,8)|0;if((r[a[e+24>>2]>>0]|0)!=37){e=i;continue}t=e+16|0;xh(A,f,a[t>>2]|0,a[t+4>>2]|0)|0;e=i}}}while(0);f=f+1|0}return}function jh(A){A=A|0;a[46942]=A;A=A+64|0;Sh((a[A>>2]|0)+56|0);Sh((a[A>>2]|0)+68|0);return}function Sh(A){A=A|0;var e=0,i=0,r=0;e=0;while(1){if((e|0)==3)break;i=A+(e<<2)|0;r=a[i>>2]|0;if(r|0){pk(r)|0;a[i>>2]=0}e=e+1|0}return}function Ph(A,e,i){A=A|0;e=e|0;i=i|0;if(!(N4(e,i,A)|0))A=0;else A=S2(e)|0;return A|0}function Oh(A,e){A=A|0;e=e|0;return m3(e,A)|0}function Kh(A){A=A|0;return g3(A)|0}function _h(A){A=A|0;var e=0,i=0,r=0;e=k;k=k+32|0;r=e+12|0;i=e;a[4682]=a[4679];a[4683]=a[4680];a[r>>2]=A;a[r+4>>2]=S2(A)|0;a[r+8>>2]=0;a[i>>2]=18736;a[i+4>>2]=18612;a[i+8>>2]=18724;A=cg(r,i)|0;bB(0);k=e;return A|0}function qh(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;if((i|0)!=0?(l=A+8|0,f=a[l>>2]|0,(f|0)<(a[A+4>>2]|0)):0){t=(a[A>>2]|0)+f|0;A=0;n=r[t>>0]|0;f=e;e=t;while(1){e=e+1|0;r[f>>0]=n;A=A+1|0;if(!(n<<24>>24!=10&(A|0)<(i|0)))break;n=r[e>>0]|0;if(!(n<<24>>24))break;else f=f+1|0}a[l>>2]=(a[l>>2]|0)+A}else A=0;return A|0}function $h(A){A=A|0;return 0}function Ad(A,e){A=A|0;e=e|0;A=m2(e)|0;Y6(A|0,0,e|0)|0;return A|0}function ed(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=y2(e,r)|0;if(r>>>0>i>>>0)Y6(A+i|0,0,r-i|0)|0;return A|0}function id(A,e){A=A|0;e=e|0;L2(e);return}function rd(A,e){A=A|0;e=e|0;var i=0;i=k;k=k+16|0;A=a[A+64>>2]|0;A=m5[a[(a[A>>2]|0)+4>>2]&127](a[A+12>>2]|0,e)|0;if(!A)ao(1,96462,i)|0;k=i;return A|0}function fd(A,e){A=A|0;e=e|0;if(e|0){A=a[A+64>>2]|0;V5[a[(a[A>>2]|0)+12>>2]&63](a[A+12>>2]|0,e)}return}function ad(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(a[e+16>>2]|0)+8|0;e=a[A>>2]|0;A=a[A+4>>2]|0;i=(a[i+16>>2]|0)+8|0;r=a[i>>2]|0;i=a[i+4>>2]|0;return(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0?-1:(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0)&1)|0}function nd(A,e,i){A=A|0;e=e|0;i=i|0;A=a[e+16>>2]|0;if((A+28|0)!=(e|0))fd(a[A+24>>2]|0,e);return}function ld(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=(a[a[e+16>>2]>>2]|0)>>>4;r=(a[a[i+16>>2]>>2]|0)>>>4;return(e>>>0>>0?-1:e>>>0>r>>>0&1)|0}function td(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=186256;a[r>>2]=e;a[r+4>>2]=i;a[46947]=186248;A=a[A+40>>2]|0;A=W5[a[A>>2]&63](A,187772,4)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function cd(A){A=A|0;A=a[A+36>>2]|0;A=W5[a[A>>2]&63](A,0,128)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function bd(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if((e|0)!=0?(i=a[A+36>>2]|0,i=W5[a[i>>2]&63](i,e,8)|0,(i|0)!=0):0)e=a[i+16>>2]|0;else e=0;return e|0}function sd(A){A=A|0;A=a[A+36>>2]|0;A=W5[a[A>>2]&63](A,0,256)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function wd(A,e){A=A|0;e=e|0;var i=0;e=Ko(A,e)|0;if((e|0)!=0?(i=a[A+36>>2]|0,i=W5[a[i>>2]&63](i,e,16)|0,(i|0)!=0):0)e=a[i+16>>2]|0;else e=0;return e|0}function ud(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=td(A,e,i)|0;do{if((r|0)!=0&(f|0)==0){f=Zd(A)|0;if((f|0)!=(A|0)?(a=td(f,e,i)|0,a|0):0){kd(A,a,1)|0;f=a;break}if(!(Mh(A,1,e,i)|0))f=0;else{f=dh(A,1)|0;f=od(A,e,i,f,L)|0;hd(A,f);dd(A,f)}}}while(0);return f|0}function kd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Zd(A)|0;if((r|0)==(a[e+24>>2]|0)){r=e+8|0;r=td(A,a[r>>2]|0,a[r+4>>2]|0)|0;if((i|0)!=0&(r|0)==0){r=pB(A)|0;if(!r)r=0;else{i=kd(r,e,i)|0;Bd(A,i);return i|0}}}else r=0;return r|0}function od(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;n=rd(A,64)|0;l=a[n>>2]|0;t=n+8|0;a[t>>2]=e;a[t+4>>2]=i;a[n>>2]=l&12|f<<4|1;a[n+24>>2]=Zd(A)|0;if(r[(Zd(A)|0)+24>>0]&64)Td(n,96404,16,0)|0;return n|0}function hd(A,e){A=A|0;e=e|0;do{Bd(A,e);A=pB(A)|0}while((A|0)!=0);return}function dd(A,e){A=A|0;e=e|0;if(r[(Zd(A)|0)+24>>0]&64)go(A,e);Gd(A,e);return}function Bd(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+40|0;Pk(a[r>>2]|0)|0;if((Zd(A)|0)==(A|0))i=e+28|0;else i=rd(A,36)|0;a[i+16>>2]=e;r=a[r>>2]|0;W5[a[r>>2]&63](r,i,1)|0;r=a[A+36>>2]|0;W5[a[r>>2]&63](r,i,1)|0;return}function vd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;l=Zd(A)|0;if(Dh(A,1,e,n,0)|0){r=n;r=td(A,a[r>>2]|0,a[r+4>>2]|0)|0;if(!r)if(!((i|0)==0|(l|0)==(A|0))?(f=n,f=td(l,a[f>>2]|0,a[f+4>>2]|0)|0,(f|0)!=0):0)r=kd(A,f,1)|0;else t=6}else t=6;if((t|0)==6)if((i|0)!=0?(Dh(A,1,e,n,1)|0)!=0:0){t=n;l=a[t>>2]|0;t=a[t+4>>2]|0;r=dh(A,1)|0;r=od(A,l,t,r,L)|0;hd(A,r);dd(A,r);Jh(A,1,r)}else r=0;k=c;return r|0}function gd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;a[46956]=e;i=Ah(A,e)|0;while(1){if(!i)break;r=eh(A,i,e)|0;ch(A,i,0);i=r}r=a[A+40>>2]|0;W5[a[r>>2]&63](r,187808,2)|0;r=a[A+36>>2]|0;W5[a[r>>2]&63](r,187808,2)|0;return}function Ed(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=e+8|0;i=f;if(td(A,a[i>>2]|0,a[i+4>>2]|0)|0){if((Zd(A)|0)==(A|0)){i=Ah(A,e)|0;while(1){if(!i)break;n=eh(A,i,e)|0;sh(A,i)|0;i=n}if(r[A+24>>0]&64)Ro(e);Wd(A,e);$d(e);n=f;Fh(A,1,a[n>>2]|0,a[n+4>>2]|0)}if(!(mv(A,e,59,0,0)|0))if((Zd(A)|0)==(A|0)){fd(A,e);i=0}else i=0;else i=-1}else i=-1;return i|0}function Cd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;i=a[e>>2]|0;do{if(!(i&3))if((pB(e)|0)==(A|0)){i=a[e>>2]|0;n=5;break}else{ao(1,96488,r)|0;f=-1;break}else n=5}while(0);A:do{if((n|0)==5)switch(i&3){case 1:{f=Ed(A,e)|0;break A}case 2:case 3:{f=sh(A,e)|0;break A}case 0:{f=Bh(e)|0;break A}default:{}}}while(0);k=l;return f|0}function Id(A){A=A|0;var e=0;switch(a[A>>2]&3){case 2:case 3:{e=a[(a[A+40>>2]|0)+24>>2]|0;break}case 1:{e=a[A+24>>2]|0;break}case 0:{e=A;break}default:{}}return e|0}function Zd(A){A=A|0;var e=0;switch(a[A>>2]&3){case 2:case 3:{e=(a[A+40>>2]|0)+24|0;break}case 1:{e=A+24|0;break}case 0:{e=A+60|0;break}default:{}}return a[e>>2]|0}function Gd(A,e){A=A|0;e=e|0;var i=0;i=a[A+64>>2]|0;if(!(r[i+52>>0]|0))Fd(A,e,100,0);else Qd(A,e,a[i+48>>2]|0);return}function Qd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){Qd(A,e,a[i+8>>2]|0);switch(a[e>>2]&3){case 0:{r=a[i>>2]|0;break}case 1:{r=(a[i>>2]|0)+12|0;break}case 2:{r=(a[i>>2]|0)+24|0;break}default:break A}r=a[r>>2]|0;if(r|0)J5[r&127](A,e,a[i+4>>2]|0)}}while(0);return}function md(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=a[A+64>>2]|0;if(!(r[f+52>>0]|0))Fd(A,e,101,i);else Ld(A,e,i,a[f+48>>2]|0);return}function Ld(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{if(r|0){Ld(A,e,i,a[r+8>>2]|0);switch(a[e>>2]&3){case 0:{f=(a[r>>2]|0)+4|0;break}case 1:{f=(a[r>>2]|0)+16|0;break}case 2:{f=(a[r>>2]|0)+28|0;break}default:break A}f=a[f>>2]|0;if(f|0)X5[f&31](A,e,a[r+4>>2]|0,i)}}while(0);return}function Wd(A,e){A=A|0;e=e|0;var i=0;i=a[A+64>>2]|0;if(!(r[i+52>>0]|0))Fd(A,e,102,0);else yd(A,e,a[i+48>>2]|0);return}function yd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){yd(A,e,a[i+8>>2]|0);switch(a[e>>2]&3){case 0:{r=(a[i>>2]|0)+8|0;break}case 1:{r=(a[i>>2]|0)+20|0;break}case 2:{r=(a[i>>2]|0)+32|0;break}default:break A}r=a[r>>2]|0;if(r|0)J5[r&127](A,e,a[i+4>>2]|0)}}while(0);return}function zd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=rd(A,12)|0;a[r>>2]=e;a[r+4>>2]=i;i=(a[A+64>>2]|0)+48|0;a[r+8>>2]=a[i>>2];a[i>>2]=r;return}function Yd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=(a[A+64>>2]|0)+48|0;i=a[r>>2]|0;A:do{if(!i)i=-1;else{if((a[i>>2]|0)!=(e|0)){while(1){if(!i){i=-1;break A}r=i+8|0;f=a[r>>2]|0;if((a[f>>2]|0)==(e|0))break;else i=f}if(f)a[r>>2]=a[f+8>>2]}else a[r>>2]=a[i+8>>2];fd(A,i);i=0}}while(0);return i|0}function Dd(A,e){A=A|0;e=e|0;var i=0;i=Zd(A)|0;A:do{if((i|0)==(Zd(e)|0))switch(a[e>>2]&3){case 0:{while(1){if((e|0)==(A|0)){e=1;break A}e=pB(e)|0;if(!e){e=0;break}}break}case 1:{e=e+8|0;e=(ud(A,a[e>>2]|0,a[e+4>>2]|0,0)|0)!=0;break A}default:{e=(wh(A,e,0)|0)!=0;break A}}else e=0}while(0);return e&1|0}function Md(A){A=A|0;return a[A>>2]&3|0}function Fd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0,n=0,l=0;l=k;k=k+16|0;n=l;a=Td(A,96512,44,0)|0;switch(i|0){case 100:{f=Vd(a,e,100)|0;if(!(Jd(f,e)|0))Nd(f,A,e,r)|0;break}case 101:{if(((Jd(Vd(a,e,100)|0,e)|0)==0?(Jd(Vd(a,e,102)|0,e)|0)==0:0)?(f=Vd(a,e,101)|0,(Jd(f,e)|0)==0):0)Nd(f,A,e,r)|0;break}case 102:{Xd(Vd(a,e,100)|0,e);Xd(Vd(a,e,101)|0,e);f=Vd(a,e,102)|0;if(!(Jd(f,e)|0))Nd(f,A,e,r)|0;break}default:ao(1,96524,n)|0}k=l;return}function Vd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;r=n;A:do{switch(a[e>>2]&3){case 0:switch(i|0){case 100:{i=A+8|0;break A}case 101:{i=A+20|0;break A}case 102:{i=A+32|0;break A}default:{f=14;break A}}case 1:switch(i|0){case 100:{i=A+12|0;break A}case 101:{i=A+24|0;break A}case 102:{i=A+36|0;break A}default:{f=14;break A}}case 2:switch(i|0){case 100:{i=A+16|0;break A}case 101:{i=A+28|0;break A}case 102:{i=A+40|0;break A}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14){ao(1,96558,r)|0;i=0}A=a[i>>2]|0;if(!A){A=Id(e)|0;A=jB(A,18828,a[4589]|0)|0;a[i>>2]=A}k=n;return A|0}function Jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+32|0;r=i;f=Rd(e)|0;e=r+8|0;a[e>>2]=f;a[e+4>>2]=L;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function Nd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=rd(Id(i)|0,32)|0;a[f+20>>2]=i;n=Rd(i)|0;i=f+8|0;a[i>>2]=n;a[i+4>>2]=L;a[f+16>>2]=e;if(r|0){n=rd(e,8)|0;a[f+24>>2]=n;a[n>>2]=r}W5[a[A>>2]&63](A,f,1)|0;return f|0}function Xd(A,e){A=A|0;e=e|0;e=Jd(A,e)|0;if(e|0)W5[a[A>>2]&63](A,e,2)|0;return}function Rd(A){A=A|0;A=A+8|0;L=a[A+4>>2]|0;return a[A>>2]|0}function Hd(A,e,i){A=A|0;e=e|0;i=i|0;pd(e);fd(a[e+16>>2]|0,e);return}function pd(A){A=A|0;var e=0,i=0;e=A+16|0;A=a[A+24>>2]|0;while(1){if(!A)break;i=a[A+4>>2]|0;fd(a[e>>2]|0,A);A=i}return}function Ud(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;t=b;l=a[A+16>>2]|0;f=l;while(1){if(!f){f=0;break}n=a[f>>2]|0;if((n|0)==(e|0)){c=7;break}if((r[e>>0]|0)==(r[n>>0]|0)?(A1(e,n)|0)==0:0){c=7;break}f=a[f+4>>2]|0;if((f|0)==(l|0)){f=0;break}}do{if((c|0)==7){if(!(a[A>>2]&4)){if((f|0)==(l|0)&(i|0)==0){f=l;break}xd(A,f,i);break}if(i)if((l|0)==(f|0))f=l;else ao(1,96583,t)|0}}while(0);k=b;return f|0}function xd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;a[A+16>>2]=e;r=a[A>>2]|0;i=i<<2&4;a[A>>2]=r&-5|i;if(r&2|0){r=(r&3|0)==3?-1:1;a[A+(r*48|0)+16>>2]=e;r=A+(r*48|0)|0;a[r>>2]=a[r>>2]&-5|i}return}function Td(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=Id(A)|0;f=Ud(A,e,0)|0;A:do{if((i|0)!=0&(f|0)==0){i=rd(l,i)|0;a[i>>2]=aB(l,e)|0;switch(a[A>>2]&3){case 0:{jd(A,i);n=i;break A}case 1:{jd(A,i);n=i;break A}case 2:case 3:{jd(A,i);n=i;break A}default:{}}}else n=f}while(0);if(r|0)Ud(A,e,1)|0;return n|0}function jd(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[A+16>>2]|0;do{if(i){r=i+4|0;f=a[r>>2]|0;if((f|0)==(i|0)){a[r>>2]=e;r=i;i=e;break}else{a[e+4>>2]=f;r=e;break}}else{r=e;i=e}}while(0);a[i+4>>2]=r;if(!(a[A>>2]&4))xd(A,e,0);return}function Sd(A,e){A=A|0;e=e|0;var i=0,r=0;r=Id(A)|0;i=Ud(A,e,0)|0;if(!i)e=-1;else{Pd(A,i);if(!(a[A>>2]&3)){Od(r,A,i);e=i}else{mv(Zd(r)|0,A,60,i,0)|0;e=i}lB(r,a[i>>2]|0)|0;fd(r,e);e=0}return e|0}function Pd(A,e){A=A|0;e=e|0;var i=0;A=a[A+16>>2]|0;do{i=A+4|0;A=a[i>>2]|0}while((A|0)!=(e|0));a[i>>2]=a[e+4>>2];return}function Od(A,e,i){A=A|0;e=e|0;i=i|0;if((a[e+16>>2]|0)==(i|0)){A=a[i+4>>2]|0;xd(e,(A|0)==(i|0)?0:A,0)}return}function Kd(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0;a=(r|0)>-1;n=a?r:0-r|0;A:do{switch(e|0){case 0:{Td(A,i,n,f)|0;if(!a){e=RB(A)|0;while(1){if(!e)break A;Kd(e,0,i,r,f);e=HB(e)|0}}break}case 3:case 2:case 1:{r=(e|0)==1;e=cd(A)|0;while(1){if(!e)break A;e:do{if(r)Td(e,i,n,f)|0;else{a=Oo(A,e)|0;while(1){if(!a)break e;Td(a,i,n,f)|0;a=_o(A,a)|0}}}while(0);e=bd(A,e)|0}}default:{}}}while(0);return}function _d(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;A:do{switch(e|0){case 0:{mv(A,A,61,i,1)|0;break}case 3:case 2:case 1:{f=(e|0)==1;r=cd(A)|0;while(1){if(!r)break A;e:do{if(f)Sd(r,i)|0;else{e=Oo(A,r)|0;while(1){if(!e)break e;Sd(e,i)|0;e=_o(A,e)|0}}}while(0);r=bd(A,r)|0}}default:{}}}while(0);return}function qd(A,e,i){A=A|0;e=e|0;i=i|0;Sd(e,i)|0;return}function $d(A){A=A|0;var e=0,i=0,r=0;i=Id(A)|0;e=A+16|0;A=a[e>>2]|0;if(A|0)do{r=A;A=a[A+4>>2]|0;lB(i,a[r>>2]|0)|0;fd(i,r)}while((A|0)!=(a[e>>2]|0));a[e>>2]=0;return}function AB(A){A=A|0;return PB(A,eB(A)|0)|0}function eB(A){A=A|0;var e=0,i=0;if(!A)i=187844;else i=(a[A+64>>2]|0)+20|0;e=a[i>>2]|0;if(!e){e=jB(A,18864,a[4589]|0)|0;a[i>>2]=e;A=186312;a[A>>2]=-2147483648;a[A+4>>2]=0;A=186320;a[A>>2]=2147483647;a[A+4>>2]=-1}return e|0}function iB(A,e){A=A|0;e=e|0;return rB(eB(A)|0,e)|0}function rB(A,e){A=A|0;e=e|0;A=fB(A,e)|0;if(!A)A=0;else A=a[A+16>>2]|0;return A|0}function fB(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+32|0;r=i;a[r+16>>2]=e;e=W5[a[A>>2]&63](A,r,4)|0;k=i;return e|0}function aB(A,e){A=A|0;e=e|0;var i=0,r=0;if(!e)i=0;else{r=eB(A)|0;i=fB(r,e)|0;if(!i){i=(S2(e)|0)+24|0;if(!A)i=m2(i)|0;else i=rd(A,i)|0;A=i+8|0;a[A>>2]=1;a[A+4>>2]=0;A=i+20|0;$1(A,e)|0;a[i+16>>2]=A;W5[a[r>>2]&63](r,i,1)|0}else{r=i+8|0;e=r;e=d6(a[e>>2]|0,a[e+4>>2]|0,1,0)|0;a[r>>2]=e;a[r+4>>2]=L}i=a[i+16>>2]|0}return i|0}function nB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(!e)i=0;else{r=eB(A)|0;i=fB(r,e)|0;if(!i){i=(S2(e)|0)+24|0;if(!A)i=m2(i)|0;else i=rd(A,i)|0;n=186312;f=a[n+4>>2]|0;A=i+8|0;a[A>>2]=a[n>>2]|1;a[A+4>>2]=f;A=i+20|0;$1(A,e)|0;a[i+16>>2]=A;W5[a[r>>2]&63](r,i,1)|0}else{n=i+8|0;f=n;f=d6(a[f>>2]|0,a[f+4>>2]|0,1,0)|0;a[n>>2]=f;a[n+4>>2]=L}i=a[i+16>>2]|0}return i|0}function lB(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if((e|0)!=0?(i=eB(A)|0,r=fB(i,e)|0,(r|0)!=0):0)if((a[r+16>>2]|0)==(e|0)?(e=r+8|0,n=e,n=d6(a[n>>2]|0,a[n+4>>2]|0,-1,-1)|0,f=L,e,a[e>>2]=n,a[e+4>>2]=f,e=186320,(n|0)==0&(f|0)==0|(a[e>>2]|0)==0&(a[e+4>>2]|0)==0):0){SB(A,i,r)|0;A=0}else A=0;else A=-1;return A|0}function tB(A){A=A|0;var e=0;if(!A)A=0;else{A=A+-12|0;e=186312;A=a[e>>2]&a[A>>2]}return A|0}function cB(A){A=A|0;var e=0,i=0,r=0;if(A|0){i=186312;A=A+-12|0;r=A;e=a[r+4>>2]|a[i+4>>2];a[A>>2]=a[r>>2]|a[i>>2];a[A+4>>2]=e}return}function bB(A){A=A|0;a[46966]=A;a[4725]=1;return}function sB(A,e){A=A|0;e=e|0;a[46967]=A;a[46968]=e;a[46969]=0;return}function wB(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;if(!(a[46970]|0)){a[46970]=1;if(!(a[46971]|0))a[46971]=1;if(!(a[46962]|0))a[46962]=a[15647];if(!(a[46963]|0))a[46963]=a[15679];b=a[46972]|0;if(!((b|0)!=0?(a[b>>2]|0)!=0:0)){uB();b=kB(a[46962]|0,16384)|0;a[a[46972]>>2]=b}oB()}A:while(1){c=a[46973]|0;r[c>>0]=r[194805]|0;A=(a[(a[a[46972]>>2]|0)+28>>2]|0)+(a[46971]|0)|0;e=c;e:while(1){l=e;while(1){e=a[18904+(n[l>>0]<<2)>>2]|0;if(f[63856+(A<<1)>>1]|0){a[46974]=A;a[46975]=l}i:while(1){i=e&255;do{e=i+(f[64042+(A<<1)>>1]|0)|0;if((A|0)==(f[64252+(e<<1)>>1]|0))break i;b=f[64788+(A<<1)>>1]|0;A=b<<16>>16}while(b<<16>>16<=92);e=a[19928+(i<<2)>>2]|0}A=f[64998+(e<<1)>>1]|0;e=l+1|0;if((f[64042+(A<<1)>>1]|0)==219)break;else l=e}i:while(1){b=c;r:while(1){A=f[63856+(A<<1)>>1]|0;if(!(A<<16>>16)){A=f[63856+(a[46974]<<1)>>1]|0;e=a[46975]|0}else A=A<<16>>16;a[46964]=c;t=e;a[46965]=t-b;r[194805]=r[e>>0]|0;r[e>>0]=0;a[46973]=e;f:while(1){switch(A|0){case 1:{w=27;break A}case 12:{w=53;break A}case 13:{w=55;break A}case 14:{w=57;break A}case 15:{w=61;break A}case 16:{w=65;break A}case 17:{w=67;break A}case 18:{w=69;break A}case 19:{w=72;break A}case 20:{w=75;break A}case 21:{w=78;break A}case 23:{w=86;break A}case 33:{w=118;break A}case 39:case 38:case 37:case 36:{s=0;break A}case 2:{w=29;break e}case 3:{w=32;break e}case 4:{w=35;break e}case 5:{w=37;break e}case 6:{w=39;break e}case 7:{w=42;break e}case 8:{w=44;break e}case 9:{w=47;break e}case 10:{w=49;break e}case 11:{w=51;break e}case 22:{w=83;break e}case 24:{w=89;break e}case 25:{w=92;break e}case 26:{w=95;break e}case 27:{w=98;break e}case 28:{w=101;break e}case 29:{w=104;break e}case 30:{w=109;break e}case 31:{w=112;break e}case 32:{w=115;break e}case 34:{w=121;break e}case 0:break f;case 35:break;default:{w=134;break A}}l=a[46964]|0;r[e>>0]=r[194805]|0;A=a[46972]|0;i=a[A>>2]|0;if(!(a[i+44>>2]|0)){u=a[i+16>>2]|0;a[46977]=u;a[i>>2]=a[46962];i=a[A>>2]|0;a[i+44>>2]=1;A=u}else A=a[46977]|0;if((a[46973]|0)>>>0<=((a[i+4>>2]|0)+A|0)>>>0){w=128;break r}switch(ZB()|0){case 0:{w=132;break i}case 2:{w=133;break r}case 1:break;default:continue A}a[46973]=a[46964];A=(((a[46971]|0)+-1|0)/2|0)+36|0}r[e>>0]=r[194805]|0;e=a[46975]|0;A=a[46974]|0}if((w|0)==128){w=0;i=t-l|0;l=a[46964]|0;e=l+(i+-1)|0;a[46973]=e;A=CB()|0;t=IB(A)|0;c=a[46964]|0;if(!t)continue;else{w=129;break}}else if((w|0)==133){w=0;e=(a[(a[a[46972]>>2]|0)+4>>2]|0)+(a[46977]|0)|0;a[46973]=e;A=CB()|0;c=a[46964]|0;continue}}if((w|0)==129){w=0;e=l+i|0;a[46973]=e;A=t;continue}else if((w|0)==132){w=0;e=(a[46964]|0)+(t-l+-1)|0;a[46973]=e;A=CB()|0;c=a[46964]|0;continue}}switch(w|0){case 29:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[4725]=(a[4725]|0)+1;continue A}case 32:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=3;continue A}case 35:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 37:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 39:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=1;continue A}case 42:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 44:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;hB();continue A}case 47:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 49:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 51:{w=0;A=a[46965]|0;if(!A)continue A;a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;continue A}case 83:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=5;BB();continue A}case 89:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;gB(98744);continue A}case 92:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;gB(96616);continue A}case 95:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[4725]=(a[4725]|0)+1;continue A}case 98:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);continue A}case 101:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=7;a[46976]=1;BB();continue A}case 104:{w=0;A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;u=(a[46976]|0)+-1|0;a[46976]=u;if(!u){w=108;break A}gB(a[46964]|0);continue A}case 109:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;a[46976]=(a[46976]|0)+1;gB(A);continue A}case 112:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);a[4725]=(a[4725]|0)+1;continue A}case 115:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;gB(A);continue A}case 121:{w=0;e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;L3(A,e,1,a[46963]|0)|0;continue A}}}switch(w|0){case 27:{A=a[46965]|0;if(!A)s=-1;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=-1}break}case 53:{A=a[46965]|0;if(!A)s=259;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=259}break}case 55:{A=a[46965]|0;if(!A)s=260;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=260}break}case 57:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(!(a[46969]|0)){a[46969]=258;s=258}else s=258;break}case 61:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(!(a[46969]|0)){a[46969]=261;s=261}else s=261;break}case 65:{A=a[46965]|0;if(!A)s=263;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=263}break}case 67:{A=a[46965]|0;if(!A)s=262;else{a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=262}break}case 69:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=(a[46969]|0)==261?264:45;break}case 72:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;s=(a[46969]|0)==258?264:45;break}case 75:{e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;a[46992]=aB(a[46942]|0,A)|0;s=267;break}case 78:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;if(dB()|0){w=(a[46965]|0)+-1|0;r[e>>0]=r[194805]|0;u=c+w|0;a[46973]=u;a[46964]=c;a[46965]=w;r[194805]=r[u>>0]|0;r[u>>0]=0;a[46973]=u}a[46992]=aB(a[46942]|0,a[46964]|0)|0;s=267;break}case 86:{A=a[46965]|0;if(A|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[(a[46964]|0)+(A+-1)>>0]|0)==10&1;a[46971]=1;vB();s=268;break}case 108:{a[46971]=1;EB();s=268;break}case 118:{e=a[46965]|0;A=a[46964]|0;if(e|0)a[(a[a[46972]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;s=r[A>>0]|0;break}case 134:{GB(96619);break}}return s|0}function uB(){var A=0,e=0,i=0;e=a[46972]|0;do{if(!e){A=YB(4)|0;a[46972]=A;if(!A)GB(96977);else{a[A>>2]=0;A=1;i=9;break}}else{A=a[46983]|0;if(0>=(A+-1|0)>>>0){A=A+8|0;e=QB(e,A<<2)|0;a[46972]=e;if(!e)GB(96977);else{i=e+(a[46983]<<2)|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;a[i+20>>2]=0;a[i+24>>2]=0;a[i+28>>2]=0;i=9;break}}}}while(0);if((i|0)==9)a[46983]=A;return}function kB(A,e){A=A|0;e=e|0;var i=0;i=YB(48)|0;if(!i)GB(96932);a[i+12>>2]=e;e=YB(e+2|0)|0;a[i+4>>2]=e;if(!e)GB(96932);else{a[i+20>>2]=1;LB(i,A);return i|0}return 0}function oB(){var A=0,e=0;e=a[46972]|0;A=a[e>>2]|0;a[46977]=a[A+16>>2];A=a[A+8>>2]|0;a[46973]=A;a[46964]=A;a[46962]=a[a[e>>2]>>2];r[194805]=r[A>>0]|0;return}function hB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n;e=n+16|0;i=n+12|0;l=a[46964]|0;A=l+1|0;t=(Z1(A,96916,4)|0)==0;A=t?l+5|0:A;a[f>>2]=i;a[f+4>>2]=n+20;a[f+8>>2]=e;f=J3(A,96921,f)|0;if((f|0)>0?(a[4725]=(a[i>>2]|0)+-1,(f|0)!=1):0){e=A+(a[e>>2]|0)|0;A=e;A:while(1){i=r[A>>0]|0;switch(i<<24>>24){case 0:case 34:break A;default:{}}A=A+1|0}if((A|0)!=(e|0)&i<<24>>24==34){r[A>>0]=0;zB(e,A-e|0)}}k=n;return}function dB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+2080|0;t=c+8|0;f=c;A=c+1056|0;e=c+32|0;l=c+16|0;b=r[(a[46964]|0)+((a[46965]|0)+-1)>>0]|0;i=b<<24>>24==46;if(i|((b&255)+-48|0)>>>0<10)if(i?(yB()|0)!=0:0)n=4;else A=0;else n=4;if((n|0)==4){b=a[46966]|0;co(l,1024,A);wo(l,96827)|0;wo(l,a[46964]|0)|0;a[f>>2]=a[4725];P4(e,96871,f)|0;wo(l,e)|0;wo(l,(b|0)==0?96821:b)|0;wo(l,96888)|0;e=l+4|0;A=a[e>>2]|0;if(A>>>0>=(a[l+8>>2]|0)>>>0){bo(l,1)|0;A=a[e>>2]|0}r[A>>0]=0;A=a[l>>2]|0;a[e>>2]=A;a[t>>2]=A;ao(0,96913,t)|0;uo(l);A=1}k=c;return A|0}function BB(){var A=0;A=a[46978]|0;if(!A){A=m2(1024)|0;a[46978]=A;a[46980]=A+1024}a[46979]=A;r[A>>0]=0;return}function vB(){a[46992]=aB(a[46942]|0,a[46978]|0)|0;r[a[46978]>>0]=0;return}function gB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;i=a[46979]|0;e=a[46978]|0;if(i>>>0>e>>>0){i=i+-1|0;f=3}A:while(1){if((f|0)==3)a[46979]=i;f=a[46980]|0;n=f;do{l=A;A=A+1|0;l=r[l>>0]|0;t=i;i=i+1|0;r[t>>0]=l;if(!(l<<24>>24))break A}while(i>>>0>>0);a[46979]=i;f=e;t=n-f<<1;e=y2(e,t)|0;a[46978]=e;a[46980]=e+t;i=e+(i-f)|0;f=3}a[46979]=i;return}function EB(){a[46992]=nB(a[46942]|0,a[46978]|0)|0;r[a[46978]>>0]=0;return}function CB(){var A=0,e=0,i=0,n=0,l=0;l=a[46973]|0;n=a[46964]|0;e=(a[(a[a[46972]>>2]|0)+28>>2]|0)+(a[46971]|0)|0;while(1){if(n>>>0>=l>>>0)break;A=r[n>>0]|0;if(!(A<<24>>24))A=1;else A=a[18904+((A&255)<<2)>>2]|0;if(f[63856+(e<<1)>>1]|0){a[46974]=e;a[46975]=n}A:while(1){i=A&255;do{A=i+(f[64042+(e<<1)>>1]|0)|0;if((e|0)==(f[64252+(A<<1)>>1]|0))break A;A=f[64788+(e<<1)>>1]|0;e=A<<16>>16}while(A<<16>>16<=92);A=a[19928+(i<<2)>>2]|0}n=n+1|0;e=f[64998+(A<<1)>>1]|0}return e|0}function IB(A){A=A|0;var e=0;if(f[63856+(A<<1)>>1]|0){e=a[46973]|0;a[46974]=A;a[46975]=e}while(1){e=(f[64042+(A<<1)>>1]|0)+1|0;if((A|0)==(f[64252+(e<<1)>>1]|0))break;A=f[64788+(A<<1)>>1]|0}e=f[64998+(e<<1)>>1]|0;return(e<<16>>16==92?0:e<<16>>16)|0}function ZB(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[46972]|0;n=a[c>>2]|0;t=a[n+4>>2]|0;f=a[46964]|0;s=a[46973]|0;b=s;if(s>>>0>(t+((a[46977]|0)+1)|0)>>>0)GB(96674);l=b-f|0;if(!(a[n+40>>2]|0))A=(l|0)==1?1:2;else{s=l+-1|0;l=t;n=0;while(1){if((n|0)>=(s|0))break;r[l>>0]=r[f>>0]|0;l=l+1|0;f=f+1|0;n=n+1|0}f=a[c>>2]|0;do{if((a[f+44>>2]|0)==2){a[46977]=0;a[f+16>>2]=0;i=f;w=17}else{while(1){t=f+12|0;l=a[t>>2]|0;n=l-s+-1|0;if(n|0){w=16;break}n=f+4|0;c=a[n>>2]|0;if(!(a[f+20>>2]|0)){w=12;break}f=l<<1;f=(f|0)==0?(l>>>3)+l|0:f;a[t>>2]=f;f=QB(c,f+2|0)|0;a[n>>2]=f;if(!f)break;c=f+(b-c)|0;a[46973]=c;f=a[a[46972]>>2]|0;b=c}if((w|0)==12)a[n>>2]=0;else if((w|0)==16){e=W5[a[a[(a[46967]|0)+8>>2]>>2]&63](a[46968]|0,(a[f+4>>2]|0)+s|0,n>>>0<8192?n:8192)|0;i=a[a[46972]>>2]|0;a[46977]=e;a[i+16>>2]=e;if(!e){w=17;break}else{A=0;break}}GB(96730)}}while(0);do{if((w|0)==17)if(!s){mB(a[46962]|0);A=1;e=a[46977]|0;i=a[a[46972]>>2]|0;break}else{a[i+44>>2]=2;A=2;e=0;break}}while(0);f=e+s|0;do{if(f>>>0>(a[i+12>>2]|0)>>>0){w=QB(a[i+4>>2]|0,f+(e>>>1)|0)|0;e=a[46972]|0;a[(a[e>>2]|0)+4>>2]=w;e=a[(a[e>>2]|0)+4>>2]|0;if(!e)GB(96774);else{u=a[46977]|0;k=e;break}}else{u=e;k=a[i+4>>2]|0}}while(0);u=u+s|0;a[46977]=u;r[k+u>>0]=0;k=a[46972]|0;r[(a[(a[k>>2]|0)+4>>2]|0)+((a[46977]|0)+1)>>0]=0;a[46964]=a[(a[k>>2]|0)+4>>2]}return A|0}function GB(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=a[15712]|0;a[e>>2]=A;f3(i,96670,e)|0;SA(2)}function QB(A,e){A=A|0;e=e|0;return y2(A,e)|0}function mB(A){A=A|0;var e=0,i=0,r=0;i=a[46972]|0;if((i|0)!=0?(e=a[i>>2]|0,(e|0)!=0):0)r=4;else{uB();e=kB(a[46962]|0,16384)|0;i=a[46972]|0;a[i>>2]=e;if(!i)e=0;else r=4}LB(e,A);oB();return}function LB(A,e){A=A|0;e=e|0;var i=0;i=a[(X2()|0)>>2]|0;WB(A);a[A>>2]=e;a[A+40>>2]=1;e=a[46972]|0;if(!e)e=0;else e=a[e>>2]|0;if((e|0)!=(A|0)){a[A+32>>2]=1;a[A+36>>2]=0}a[A+24>>2]=0;a[(X2()|0)>>2]=i;return}function WB(A){A=A|0;var e=0;if(A|0){a[A+16>>2]=0;e=A+4|0;r[a[e>>2]>>0]=0;r[(a[e>>2]|0)+1>>0]=0;a[A+8>>2]=a[e>>2];a[A+28>>2]=1;a[A+44>>2]=0;e=a[46972]|0;if(!e)e=0;else e=a[e>>2]|0;if((e|0)==(A|0))oB()}return}function yB(){var A=0,e=0;e=a[46964]|0;A=(a[46965]|0)+-2|0;while(1){if((A|0)<=-1){A=0;break}if((r[e+A>>0]|0)==46){A=1;break}else A=A+-1|0}return A|0}function zB(A,e){A=A|0;e=e|0;var i=0;i=a[46981]|0;if((i|0)<(e|0)){if(!i)i=m2(e+1|0)|0;else i=y2(a[46982]|0,e+1|0)|0;a[46982]=i;a[46981]=e}else i=a[46982]|0;$1(i,A)|0;a[46966]=a[46982];return}function YB(A){A=A|0;return m2(A)|0}function DB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+2112|0;b=s+32|0;t=s+24|0;l=s+16|0;n=s+8|0;f=s;e=s+56|0;c=s+40|0;co(c,1024,s+1080|0);i=a[46966]|0;if(i|0){wo(c,i)|0;wo(c,97027)|0}wo(c,A)|0;a[f>>2]=a[4725];P4(e,97030,f)|0;wo(c,e)|0;A:do{if(!(r[a[46964]>>0]|0))switch(((a[46971]|0)+-1|0)/2|0|0){case 2:{a[n>>2]=16384;P4(e,97050,n)|0;wo(c,e)|0;A=a[46978]|0;if(!(r[A>>0]|0))break A;t=S2(A)|0;wo(c,97112)|0;A=a[46978]|0;if((t|0)>80)r[A+80>>0]=0;wo(c,A)|0;break A}case 3:{a[l>>2]=16384;P4(e,97131,l)|0;wo(c,e)|0;A=a[46978]|0;if(!(r[A>>0]|0))break A;t=S2(A)|0;wo(c,97199)|0;A=a[46978]|0;if((t|0)>80)r[A+80>>0]=0;wo(c,A)|0;break A}case 1:{a[t>>2]=16384;P4(e,97218,t)|0;wo(c,e)|0;break A}default:break A}else{wo(c,97042)|0;wo(c,a[46964]|0)|0;e=c+4|0;A=a[e>>2]|0;if(A>>>0>=(a[c+8>>2]|0)>>>0){bo(c,1)|0;A=a[e>>2]|0}a[e>>2]=A+1;r[A>>0]=39}}while(0);i=c+4|0;A=a[i>>2]|0;e=c+8|0;if(A>>>0>=(a[e>>2]|0)>>>0){bo(c,1)|0;A=a[i>>2]|0}a[i>>2]=A+1;r[A>>0]=10;A=a[i>>2]|0;if(A>>>0>=(a[e>>2]|0)>>>0){bo(c,1)|0;A=a[i>>2]|0}r[A>>0]=0;t=a[c>>2]|0;a[i>>2]=t;a[b>>2]=t;ao(1,96913,b)|0;uo(c);k=s;return}function MB(){FB(a[46964]|0);return}function FB(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=a[46973]|0;r[c>>0]=r[194805]|0;t=a[46972]|0;i=a[t>>2]|0;e=a[i+4>>2]|0;if(c>>>0<(e+2|0)>>>0){f=e+((a[46977]|0)+2)|0;n=e+((a[i+12>>2]|0)+2)|0;b=e;l=i;while(1){if(f>>>0<=b>>>0)break;i=f+-1|0;b=n+-1|0;r[b>>0]=r[i>>0]|0;l=a[t>>2]|0;f=i;n=b;b=a[l+4>>2]|0}i=n-f|0;e=c+i|0;c=a[l+12>>2]|0;a[46977]=c;a[l+16>>2]=c;if(e>>>0<(b+2|0)>>>0)GB(97277);else{s=A+i|0;w=e}}else{s=A;w=c}A=w+-1|0;r[A>>0]=64;a[46964]=s;r[194805]=r[A>>0]|0;a[46973]=A;return}function VB(){var A=0;A=a[46972]|0;if(!A)A=0;else A=a[A>>2]|0;WB(A);return}function JB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+80|0;f=r;n=A+52|0;OB(A,a[n>>2]|0,18548);A=f+8|0;a[A>>2]=e;a[A+4>>2]=i;i=a[n>>2]|0;i=W5[a[i>>2]&63](i,f,4)|0;k=r;return i|0}function NB(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;f=JB(A,e,i)|0;if(!f){f=rd(A,72)|0;a[f+64>>2]=a[A+64>>2];n=f+24|0;l=a[A+24>>2]|0;a[n>>2]=l;r[n>>0]=l&255&-9;a[f+56>>2]=A;a[f+60>>2]=a[A+60>>2];A=f+8|0;a[A>>2]=e;a[A+4>>2]=i;hh(f)|0}return f|0}function XB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;if(!(((e|0)!=0?(Dh(A,0,e,f,0)|0)!=0:0)?(r=f,r=JB(A,a[r>>2]|0,a[r+4>>2]|0)|0,(r|0)!=0):0))if((i|0)!=0?(Dh(A,0,e,f,1)|0)!=0:0){r=f;r=NB(A,a[r>>2]|0,a[r+4>>2]|0)|0;Jh(A,0,r)}else r=0;k=n;return r|0}function RB(A){A=A|0;A=a[A+52>>2]|0;return W5[a[A>>2]&63](A,0,128)|0}function HB(A){A=A|0;var e=0;e=pB(A)|0;if(!e)A=0;else{e=a[e+52>>2]|0;A=W5[a[e>>2]&63](e,A,8)|0}return A|0}function pB(A){A=A|0;return a[A+56>>2]|0}function UB(A,e){A=A|0;e=e|0;A=a[A+52>>2]|0;return W5[a[A>>2]&63](A,e,2)|0}function xB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[46984]|0;r=(e|0)!=0;do{if(!A)if(r){L2(e);A=0;break}else{A=m2(i)|0;break}else if(r){fd(A,e);A=0;break}else{A=rd(A,i)|0;break}}while(0);return A|0}function TB(A,e,i){A=A|0;e=e|0;i=i|0;A=a[46984]|0;if(!A)L2(e);else fd(A,e);return}function jB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e+28|0;f=a[r>>2]|0;a[r>>2]=7;a[46984]=A;i=jk(e,i)|0;a[r>>2]=f;a[46984]=0;return i|0}function SB(A,e,i){A=A|0;e=e|0;i=i|0;a[46984]=A;return W5[a[e>>2]&63](e,i,2)|0}function PB(A,e){A=A|0;e=e|0;var i=0,r=0;i=(Ao(e,0,0)|0)+28|0;r=a[i>>2]|0;a[i>>2]=7;a[46984]=A;if(!(pk(e)|0)){a[i>>2]=r;a[46984]=0;A=0}else A=1;return A|0}function OB(A,e,i){A=A|0;e=e|0;i=i|0;if(i|0?(Ao(e,0,0)|0)!=(i|0):0)Ao(e,i,0)|0;return}function KB(A,e){A=A|0;e=e|0;if(!(tB(A)|0))e=qB(A,e)|0;else _B(A,e)|0;return e|0}function _B(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;r[e>>0]=60;f=e;while(1){i=f+1|0;a=r[A>>0]|0;if(!(a<<24>>24))break;r[i>>0]=a;A=A+1|0;f=i}r[i>>0]=62;r[f+2>>0]=0;return e|0}function qB(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){r[e>>0]=34;s=r[A>>0]|0;h=0;n=((s+-45&255)<2|((s&255)+-48|0)>>>0<10)&1;l=0;t=0;c=0;i=e+1|0;f=A+1|0;e:while(1){b=i;while(1){if(!(s<<24>>24))break e;i=s&255;i:do{if(s<<24>>24==34){r[b>>0]=92;w=n;u=1;b=b+1|0}else{if(!n){u=s<<24>>24>-1&(s<<24>>24!=95&(V1(i)|0)==0);w=0;u=u?1:l;break}switch(s<<24>>24){case 45:{u=(c|0)==0;w=u?n:0;u=u?l:1;break i}case 46:{u=(t|0)==0;w=u?n:0;u=u?l:1;t=t+1|0;break i}default:{u=(i+-48|0)>>>0<10;w=u?n:0;u=u?l:1;break i}}}}while(0);i=b+1|0;r[b>>0]=s;o=f+1|0;k=r[f>>0]|0;c=c+1|0;f=a[5031]|0;if(!f){n=w;l=u;b=i;f=o;s=k;continue}n=k&255;l=k<<24>>24!=0;if((h&l?!(s<<24>>24==92|s<<24>>24>-1&((s+-45&255)>1&(V1(s<<24>>24)|0)==0)^1):0)?!(k<<24>>24>-1&((k+-45&255)>1&(V1(n)|0)==0)):0)break;if((c|0)<(f|0)|l^1){n=w;l=u;b=i;f=o;s=k;continue}if(s<<24>>24==92|s<<24>>24>-1&((V1(s<<24>>24)|0)==0&(s+-45&255)>1)^1){h=1;n=w;l=u;s=k;f=o;continue e}if(k<<24>>24>-1&((k+-45&255)>1&(V1(n)|0)==0)){h=1;n=w;l=u;s=k;f=o;continue e}r[i>>0]=92;r[b+2>>0]=10;n=w;l=1;c=0;b=b+3|0;f=o;s=k}r[i>>0]=92;r[b+2>>0]=10;h=0;n=w;l=1;c=0;s=k;i=b+3|0;f=o}r[b>>0]=34;r[b+1>>0]=0;if(!l){if((c|0)==1?((r[A>>0]|0)+-45&255)<2:0){A=e;break}else i=20128;while(1){f=a[i>>2]|0;if(!f)break A;if(!(N1(f,A)|0)){A=e;break}else i=i+4|0}}else A=e}else A=97309}while(0);return A|0}function $B(A){A=A|0;return KB(A,Av(A)|0)|0}function Av(A){A=A|0;var e=0;e=((S2(A)|0)<<1)+2|0;e=e>>>0>1024?e:1024;A=a[46986]|0;if(e>>>0>(a[46985]|0)>>>0){if(!A)A=m2(e)|0;else A=y2(A,e)|0;a[46986]=A;a[46985]=e}return A|0}function ev(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=0;break}if((iv(A)|0)==0?kd(A,e,0)|0:0){A=1;break}A=HB(A)|0}return A|0}function iv(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=Vh(A)|0;if((l|0)!=0?(r[l>>0]|0)!=37:0)e=0;else i=3;A:do{if((i|0)==3){e=Co(A)|0;e:do{if(e|0?(f=Co(pB(A)|0)|0,f|0):0){l=Pk(a[(Co(Zd(A)|0)|0)+8>>2]|0)|0;n=e+12|0;i=f+12|0;e=0;while(1){if((e|0)>=(l|0))break e;f=a[(a[n>>2]|0)+(e<<2)>>2]|0;if((f|0?(t=a[(a[i>>2]|0)+(e<<2)>>2]|0,t|0):0)?A1(f,t)|0:0){e=0;break A}e=e+1|0}}}while(0);e=ho(A,0)|0;if(e)if((Pk(a[e+8>>2]|0)|0)>0)e=0;else return(Pk(a[e+12>>2]|0)|0)<1|0;else e=1}}while(0);return e|0}function rv(A,e){A=A|0;e=e|0;var i=0,f=0;a[46987]=0;i=po(A,97319)|0;if((i|0?((r[i>>0]|0)+-48|0)>>>0<10:0)?(f=n3(i,0,10)|0,(f|0)==0|(f|0)>59):0)a[5031]=f;fv(A,1);if(((av(A,e,1)|0)!=-1?(nv(A,e)|0)!=-1:0)?(lv(A,e)|0)!=-1:0){a[5031]=128;A=Q5[a[(a[(a[A+64>>2]|0)+8>>2]|0)+8>>2]&63](e)|0}else A=-1;return A|0}function fv(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=a[A>>2]&-9;i=RB(A)|0;while(1){if(!i)break;fv(i,0);i=HB(i)|0}A:do{if(e|0){e=cd(A)|0;while(1){if(!e)break A;a[e>>2]=a[e>>2]&-9;i=Oo(A,e)|0;while(1){if(!i)break;a[i>>2]=a[i>>2]&-9;i=_o(A,i)|0}e=bd(A,e)|0}}}while(0);return}function av(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;if((i|0)==0?(pB(A)|0)!=0:0){t=0;n=195059;b=109514}else{b=(r[A+24>>0]&1)==0?195059:97363;n=(Gh(A)|0)==0;a[46988]=Yo(A,2,111455,0)|0;a[46989]=Yo(A,2,111464,0)|0;t=1;n=n?195059:97366}f=Vh(A)|0;if((f|0)!=0?(r[f>>0]|0)!=37:0){l=1;c=102604}else{l=0;c=195059;f=195059}do{if((tv(A,e)|0)!=-1?(cv(A,e,n)|0)!=-1:0){n=(l|0)==0;if(l|t|0){if((cv(A,e,b)|0)==-1){f=-1;break}if((cv(A,e,102597)|0)==-1){f=-1;break}}if(!n?(gv(A,e,f)|0)==-1:0){f=-1;break}if(((cv(A,e,c)|0)!=-1?(cv(A,e,97374)|0)!=-1:0)?(a[46987]=(a[46987]|0)+1,(Gv(A,e,i)|0)!=-1):0){a[A>>2]=a[A>>2]|8;f=0}else f=-1}else f=-1}while(0);return f|0}function nv(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;A:do{if((bv(A,e)|0)==-1)i=-1;else{b=ho(Zd(A)|0,0)|0;t=(b|0)==0;c=b+12|0;b=b+8|0;l=cd(A)|0;while(1){if(!l){i=0;break A}if(sv(A,l,(a[l>>2]|0)>>>4,0)|0){if(t)i=0;else i=a[b>>2]|0;if((wv(l,e,i)|0)==-1){i=-1;break A}}n=Oo(A,l)|0;i=l;while(1){if(!n)break;f=n+-48|0;r=a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0;if((i|0)!=(r|0)?(sv(A,r,(a[l>>2]|0)>>>4,0)|0)!=0:0){if(t)i=0;else i=a[b>>2]|0;if((wv(a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0,e,i)|0)==-1){i=-1;break A}i=a[((a[n>>2]&3|0)==2?n:f)+40>>2]|0}if(uv(A,n)|0){if(t)r=0;else r=a[c>>2]|0;if((kv(n,e,r)|0)==-1){i=-1;break A}}n=_o(A,n)|0}l=bd(A,l)|0}}}while(0);return i|0}function lv(A,e){A=A|0;e=e|0;a[46987]=(a[46987]|0)+-1;if((tv(A,e)|0)==-1)A=-1;else A=((cv(A,e,111008)|0)==-1)<<31>>31;return A|0}function tv(A,e){A=A|0;e=e|0;var i=0;i=a[46987]|0;while(1){if((i|0)<=0){i=0;break}if((cv(A,e,153597)|0)==-1){i=-1;break}else i=i+-1|0}return i|0}function cv(A,e,i){A=A|0;e=e|0;i=i|0;return m5[a[(a[(a[A+64>>2]|0)+8>>2]|0)+4>>2]&127](e,i)|0}function bv(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=0;break}if(!(iv(A)|0)){if((av(A,e,0)|0)==-1){A=-1;break}if((nv(A,e)|0)==-1){A=-1;break}if((lv(A,e)|0)==-1){A=-1;break}}else bv(A,e)|0;A=HB(A)|0}return A|0}function sv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;if((ev(A,e)|0)==0?(Cv(A,e,i,r)|0)!=0:0)if((Iv(A,e)|0)==0?(Zv(e)|0)==0:0)f=5;else A=1;else f=5;if((f|0)==5)A=0;return A|0}function wv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Id(A)|0;do{if((tv(r,e)|0)!=-1?(ov(A,e)|0)!=-1:0){if((dv(A)|0)==0?(Bv(A,e,i)|0)==-1:0){A=-1;break}A=cv(r,e,97330)|0}else A=-1}while(0);return A|0}function uv(A,e){A=A|0;e=e|0;A=RB(A)|0;while(1){if(!A){A=1;break}if((iv(A)|0)==0?wh(A,e,0)|0:0){A=0;break}A=HB(A)|0}return A|0}function kv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=a[A>>2]&3;n=a[((r|0)==3?A:A+48|0)+40>>2]|0;r=a[((r|0)==2?A:A+-48|0)+40>>2]|0;f=Id(n)|0;do{if((((((tv(f,e)|0)!=-1?(ov(n,e)|0)!=-1:0)?(hv(A,e,a[46988]|0)|0)!=-1:0)?(n=(Ih(Id(n)|0)|0)!=0,(cv(f,e,n?100079:100084)|0)!=-1):0)?(ov(r,e)|0)!=-1:0)?(hv(A,e,a[46989]|0)|0)!=-1:0){if(!(dv(A)|0)){if((Bv(A,e,i)|0)==-1){A=-1;break}}else if((vv(A,e,1)|0)==-1){A=-1;break}A=cv(f,e,97330)|0}else A=-1}while(0);return A|0}function ov(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+32|0;n=t;i=t+8|0;r=Vh(A)|0;f=Id(A)|0;if(!r){c=A+8|0;A=a[c+4>>2]|0;r=n;a[r>>2]=a[c>>2];a[r+4>>2]=A;P4(i,97350,n)|0;if((cv(f,e,i)|0)==-1)A=-1;else l=4}else if((gv(f,e,r)|0)==-1)A=-1;else l=4;if((l|0)==4)A=0;k=t;return A|0}function hv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if((i|0)!=0?(f=Id(A)|0,a=Uo(A,i)|0,(r[a>>0]|0)!=0):0)if((cv(f,e,107984)|0)==-1)A=-1;else{do{if(tB(a)|0){if((gv(f,e,a)|0)==-1){A=-1;break A}}else{A=G1(a,58)|0;if(!A)if((Ev(f,e,a,0)|0)==-1){A=-1;break A}else break;r[A>>0]=0;if((Ev(f,e,a,0)|0)==-1){A=-1;break A}if((cv(f,e,107984)|0)==-1){A=-1;break A}if((Ev(f,e,A+1|0,0)|0)==-1){A=-1;break A}r[A>>0]=58}}while(0);A=0}else A=0}while(0);return A|0}function dv(A){A=A|0;return(a[A>>2]|0)>>>3&1|0}function Bv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;A:do{if(!(a[A>>2]&2)){r=0;b=4}else{switch(vv(A,e,0)|0){case-1:{r=-1;break A}case 0:{r=0;b=4;break A}default:{}}r=1;b=4}}while(0);A:do{if((b|0)==4){f=Co(A)|0;c=Id(A)|0;e:do{if(f){t=f+12|0;l=W5[a[i>>2]&63](i,0,128)|0;while(1){if(!l)break e;do{if(a[A>>2]&2){n=a[46988]|0;if(n|0?(a[l+16>>2]|0)==(a[n+16>>2]|0):0)break;n=a[46989]|0;if(!((n|0)!=0?(a[l+16>>2]|0)==(a[n+16>>2]|0):0))b=12}else b=12}while(0);if((b|0)==12){b=0;f=l+16|0;if((a[(a[t>>2]|0)+(a[f>>2]<<2)>>2]|0)!=(a[l+12>>2]|0)){n=r+1|0;if(r){if((cv(c,e,97345)|0)==-1){r=-1;break A}if((tv(c,e)|0)==-1){r=-1;break A}}else{if((tv(c,e)|0)==-1){r=-1;break A}if((cv(c,e,97342)|0)==-1){r=-1;break A}a[46987]=(a[46987]|0)+1}if((gv(c,e,a[l+8>>2]|0)|0)==-1){r=-1;break A}if((cv(c,e,97348)|0)==-1){r=-1;break A}if((gv(c,e,a[(a[t>>2]|0)+(a[f>>2]<<2)>>2]|0)|0)==-1){r=-1;break A}else r=n}}l=W5[a[i>>2]&63](i,l,8)|0}}}while(0);if((r|0)>0){if((cv(c,e,97340)|0)==-1){r=-1;break}a[46987]=(a[46987]|0)+-1}a[A>>2]=a[A>>2]|8;r=0}}while(0);return r|0}function vv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;f=Vh(A)|0;A=Id(A)|0;if((f|0)!=0?(r[f>>0]|0)!=0:0)if((cv(A,e,97333)|0)!=-1?(gv(A,e,f)|0)!=-1:0)if((i|0)!=0?(cv(A,e,97340)|0)==-1:0)A=-1;else{A=1;a=7}else A=-1;else{A=0;a=7}return A|0}function gv(A,e,i){A=A|0;e=e|0;i=i|0;return Ev(A,e,i,1)|0}function Ev(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if(!r)i=qB(i,Av(i)|0)|0;else i=$B(i)|0;return cv(A,e,i)|0}function Cv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A:do{if(0>>0|(0==(r|0)?(a[e>>2]|0)>>>4>>>0>>0:0))e=0;else{e=qo(A,e)|0;while(1){if(!e){e=1;break A}if(0>>0|(0==(r|0)?(a[a[e+40>>2]>>2]|0)>>>4>>>0>>0:0)){e=0;break A}e=$o(A,e)|0}}}while(0);return e|0}function Iv(A,e){A=A|0;e=e|0;if(!(qo(A,e)|0))A=(Oo(A,e)|0)==0&1;else A=0;return A|0}function Zv(A){A=A|0;var e=0,i=0,r=0;A=Co(A)|0;A:do{if(!A)A=0;else{i=A+8|0;r=a[i>>2]|0;e=A+12|0;A=W5[a[r>>2]&63](r,0,128)|0;while(1){if(!A){A=0;break A}if((a[(a[e>>2]|0)+(a[A+16>>2]<<2)>>2]|0)!=(a[A+12>>2]|0)){A=1;break A}r=a[i>>2]|0;A=W5[a[r>>2]&63](r,A,8)|0}}}while(0);return A|0}function Gv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=ho(A,0)|0;if(r)if(((Qv(A,e,111494,a[r+16>>2]|0,i)|0)!=-1?(Qv(A,e,111481,a[r+8>>2]|0,i)|0)!=-1:0)?(Qv(A,e,111450,a[r+12>>2]|0,i)|0)!=-1:0)f=5;else A=-1;else f=5;if((f|0)==5)A=0;return A|0}function Qv(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;w=(n|0)!=0;if(w)s=0;else s=_k(f,0)|0;b=(s|0)==0;c=W5[a[f>>2]&63](f,0,128)|0;n=0;while(1){if(!c){u=23;break}t=c+12|0;u=a[t>>2]|0;if((u|0)!=0?(r[u>>0]|0)!=0:0)u=12;else u=7;do{if((u|0)==7){u=0;if(!(r[c+22>>0]|0)){if(!b){l=W5[a[s>>2]&63](s,c,4)|0;k=a[l+12>>2]|0;if(k|0?r[k>>0]|0:0){u=12;break}if(!(r[l+22>>0]|0))u=12}}else u=12}}while(0);if((u|0)==12){u=0;l=n+1|0;if(n){if((cv(A,e,97345)|0)==-1){n=-1;break}if((tv(A,e)|0)==-1){n=-1;break}}else{if((tv(A,e)|0)==-1){n=-1;break}if((cv(A,e,i)|0)==-1){n=-1;break}if((cv(A,e,97342)|0)==-1){n=-1;break}a[46987]=(a[46987]|0)+1}if((gv(A,e,a[c+8>>2]|0)|0)==-1){n=-1;break}if((cv(A,e,97348)|0)==-1){n=-1;break}if((gv(A,e,a[t>>2]|0)|0)==-1){n=-1;break}else n=l}c=W5[a[f>>2]&63](f,c,8)|0}do{if((u|0)==23){if((n|0)>0){a[46987]=(a[46987]|0)+-1;if((n|0)!=1){if((cv(A,e,153599)|0)==-1){n=-1;break}if((tv(A,e)|0)==-1){n=-1;break}}n=(cv(A,e,97377)|0)==-1;if(w|n){n=n<<31>>31;break}}else if(w){n=0;break}_k(f,s)|0;n=0}}while(0);return n|0}function mv(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(a[e>>2]&3){case 0:{n=82;break}case 1:{n=83;break}case 3:case 2:{n=84;break}default:{}}e=m5[n&127](A,e)|0;if(!e)e=-1;else{zv(A,e,i,r,n,f);e=0}return e|0}function Lv(A,e){A=A|0;e=e|0;if((Id(e)|0)!=(A|0))e=wh(A,e,0)|0;return e|0}function Wv(A,e){A=A|0;e=e|0;if((Id(e)|0)!=(A|0))e=kd(A,e,0)|0;return e|0}function yv(A,e){A=A|0;e=e|0;return A|0}function zv(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;var n=0,l=0,t=0;l=(a|0)!=0;if(l)J5[i&127](A,e,r);n=RB(A)|0;while(1){if(!n)break;t=m5[f&127](n,e)|0;if(t|0)zv(n,t,i,r,f,a);n=HB(n)|0}if(!l)J5[i&127](A,e,r);return}function Yv(){var A=0,e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1200|0;d=v+800|0;i=v;a[46990]=0;a[46991]=-2;e=d;t=200;w=i;o=0;h=0;u=d;A:while(1){f[u>>1]=o;if((e+(t<<1)+-2|0)>>>0>u>>>0)b=t;else{s=u-e>>1;A=s+1|0;if(t>>>0>9999){B=75;break}b=t<<1;b=b>>>0<1e4?b:1e4;l=m2(b*6|3)|0;if(l){y6(l|0,e|0,A<<1|0)|0;t=l+(b>>>1<<2)|0;y6(t|0,w|0,A<<2|0)|0;if((e|0)==(d|0)){A=0;e=l}else{L2(e);A=0;e=l}}else{A=4;t=w}c=(A|0)==0;l=e+(s<<1)|0;switch((c?(e+(b<<1)+-2|0)>>>0>l>>>0?0:9:A)&15){case 9:{A=1;B=76;break A}case 4:{B=75;break A}case 0:{i=c?t+(s<<2)|0:i;w=t;u=c?l:u;break}default:{A=0;break A}}}if((o|0)==6){A=0;B=76;break}A=r[97381+o>>0]|0;c=A<<24>>24;do{if(A<<24>>24!=-18){l=a[46991]|0;if((l|0)==-2){l=wB()|0;a[46991]=l}if((l|0)>=1)if(l>>>0<269)t=n[97461+l>>0]|0;else t=2;else{a[46991]=0;t=0}l=t+c|0;if(l>>>0<=59?(t|0)==(n[97730+l>>0]|0):0){o=r[97790+l>>0]|0;A=o<<24>>24;if(o<<24>>24<1){l=0-A|0;B=23;break}else{a[46991]=-2;i=i+4|0;a[i>>2]=a[46992];c=(h|0)==0?0:h+-1|0;l=u;break}}else B=22}else B=22}while(0);if((B|0)==22){B=0;o=r[97850+o>>0]|0;l=o&255;if(!(o<<24>>24)){l=a[46991]|0;e:do{switch(h|0){case 0:{a[46990]=(a[46990]|0)+1;DB(143761);l=u;break}case 3:if((l|0)<1)if(!l){A=1;B=76;break A}else{l=u;break e}else{a[46991]=-2;l=u;break e}default:l=u}}while(0);while(1){if(A<<24>>24==18)break;if((l|0)==(e|0)){A=1;B=76;break A}A=l+-2|0;i=i+-4|0;l=A;A=r[97381+(f[A>>1]|0)>>0]|0}i=i+4|0;a[i>>2]=a[46992];A=1;c=3}else B=23}do{if((B|0)==23){B=0;t=n[97930+l>>0]|0;A=a[i+(1-t<<2)>>2]|0;e:do{switch(l|0){case 2:{Dv();Mv();break}case 3:{if(a[46993]|0){Dv();Mv();Bh(a[46993]|0)|0;a[46942]=0;a[46993]=0}break}case 6:{Fv(a[i>>2]|0,a[i+-4>>2]|0,a[i+-8>>2]|0);break}case 7:{A=a[i>>2]|0;break}case 8:{A=0;break}case 9:{A=1;break}case 10:{A=0;break}case 11:{A=0;break}case 12:{A=1;break}case 21:if(!(a[i+-4>>2]|0)){Jv();break e}else{Vv();break e}case 24:{Nv();break}case 25:{Nv();break}case 26:{A=1;break}case 27:{A=0;break}case 30:{Xv(a[i>>2]|0,0,0);break}case 31:{Xv(a[i+-8>>2]|0,a[i>>2]|0,0);break}case 32:{Xv(a[i+-16>>2]|0,a[i+-8>>2]|0,a[i>>2]|0);break}case 33:{Rv(a[i+-8>>2]|0,a[i+-4>>2]|0);break}case 34:{Rv(258,0);break}case 35:{A=258;break}case 36:{A=259;break}case 37:{A=260;break}case 38:{A=a[i+-4>>2]|0;break}case 39:{A=0;break}case 48:{Hv(a[i+-8>>2]|0,a[i>>2]|0);break}case 49:{Hv(a[i>>2]|0,0);break}case 51:{pv(a[i>>2]|0);break}case 52:{Uv();break}case 53:{A=a[i>>2]|0;break}case 54:{A=0;break}case 55:{A=0;break}case 59:{A=a[i>>2]|0;break}case 60:{A=a[i>>2]|0;break}case 61:{A=a[i>>2]|0;break}case 62:{A=xv(a[i+-8>>2]|0,a[i>>2]|0)|0;break}default:{}}}while(0);t=0-t|0;o=i+(t<<2)|0;t=u+(t<<1)|0;i=o+4|0;a[o+4>>2]=A;A=(n[97993+l>>0]|0)+-24|0;o=f[t>>1]|0;l=o+(r[98056+A>>0]|0)|0;if(l>>>0<60?(n[97730+l>>0]|0)==(o|0):0){A=r[97790+l>>0]|0;c=h;l=t;break}A=r[98091+A>>0]|0;c=h;l=t}}while(0);t=b;o=A;h=c;u=l+2|0}if((B|0)==75){DB(140558);A=2;B=76}if((B|0)==76)if((e|0)!=(d|0))L2(e);k=v;return A|0}function Dv(){var A=0,e=0;A=a[46994]|0;while(1){if(!A)break;qv(A+8|0);qv((a[46994]|0)+24|0);qv((a[46994]|0)+16|0);e=Tv(a[46994]|0)|0;a[46994]=e;A=e}return}function Mv(){MB();Th(a[46993]|0);return}function Fv(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=a[46993]|0;if(!f){r[187980]=e&1|(i&255)<<1&2|r[187980]&-12|8;f=a[46996]|0;r[n>>0]=r[187980]|0;r[n+1>>0]=r[187981]|0;r[n+2>>0]=r[187982]|0;r[n+3>>0]=r[187983]|0;f=kh(A,n,f)|0;a[46993]=f}a[46942]=f;a[46994]=jv(a[46994]|0,f)|0;lB(0,A)|0;k=l;return}function Vv(){var A=0,e=0,i=0,f=0,n=0,l=0;_v(2);i=a[46994]|0;f=r[98126]|0;l=0;A=i+24|0;while(1){e=a[A>>2]|0;if(!e)break;if(((a[e>>2]|0)==267?(n=a[e+4>>2]|0,(r[n>>0]|0)==f<<24>>24):0)?(A1(n,98126)|0)==0:0)A=a[e+8>>2]|0;else A=l;l=A;A=e+12|0}A=i+16|0;A:while(1){i=a[A>>2]|0;A=i+12|0;if(!(a[A>>2]|0))break;e=i+4|0;if((a[i>>2]|0)==262){i=a[e>>2]|0;e=cd(i)|0;while(1){if(!e)continue A;n=kd(a[a[46994]>>2]|0,e,0)|0;ag(n,0,a[A>>2]|0,l);e=bd(i,e)|0}}else while(1){e=a[e>>2]|0;if(!e)continue A;ag(a[e+4>>2]|0,a[e+8>>2]|0,a[A>>2]|0,l);e=e+12|0}}qv((a[46994]|0)+8|0);qv((a[46994]|0)+16|0);qv((a[46994]|0)+24|0);a[(a[46994]|0)+4>>2]=0;return}function Jv(){var A=0;_v(1);A=(a[46994]|0)+8|0;while(1){A=a[A>>2]|0;if(!A)break;fg(a[A+4>>2]|0);A=A+12|0}qv((a[46994]|0)+8|0);qv((a[46994]|0)+24|0);qv((a[46994]|0)+16|0);a[(a[46994]|0)+4>>2]=0;return}function Nv(){var A=0,e=0;A=a[46994]|0;e=a[A+8>>2]|0;if(!e){e=a[A+4>>2]|0;if(!e)e=0;else{e=rg(e)|0;A=a[46994]|0}a[A+4>>2]=0}else{e=ig(e)|0;A=a[46994]|0;a[A+12>>2]=0;a[A+8>>2]=0}if(e|0)Pv(A+16|0,e);return}function Xv(A,e,i){A=A|0;e=e|0;i=i|0;if(i)e=Ag(e,i)|0;i=eg(vd(a[a[46994]>>2]|0,A,1)|0,e)|0;Pv((a[46994]|0)+8|0,i);lB(a[46993]|0,A)|0;return}function Rv(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;if(e|0)Kv();e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;if(!(a[e+8>>2]|0))Kv();e=e+12|0}n=(A|0)==260?2:(A|0)==259&1;_v(n);A=a[46994]|0;e=A+24|0;while(1){f=a[e>>2]|0;if(!f)break;do{if((a[f>>2]|0)!=267){e=a[f+4>>2]|0;i=a[A>>2]|0;if(!((r[e+21>>0]|0)!=0&(i|0)==(a[46993]|0))){e=Yo(i,n,a[e+8>>2]|0,a[f+8>>2]|0)|0;A=a[46994]|0;if((a[A>>2]|0)!=(a[46993]|0))break}r[e+22>>0]=1}}while(0);e=f+12|0}qv(A+24|0);return}function Hv(A,e){A=A|0;e=e|0;e=Sv(A,e)|0;Pv((a[46994]|0)+24|0,e);return}function pv(A){A=A|0;var e=0;e=a[46994]|0;a[46994]=jv(e,XB(a[e>>2]|0,A,1)|0)|0;lB(a[46993]|0,A)|0;return}function Uv(){var A=0,e=0;A=a[46994]|0;e=a[A>>2]|0;A=Tv(A)|0;a[46994]=A;a[A+4>>2]=e;return}function xv(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+1024|0;f=n;i=S2(A)|0;i=i+1+(S2(e)|0)|0;if(i>>>0<1025)i=f;else i=m2(i)|0;$1(i,A)|0;u3(i,e)|0;r=aB(a[46993]|0,i)|0;lB(a[46993]|0,A)|0;lB(a[46993]|0,e)|0;if((i|0)!=(f|0))L2(i);k=n;return r|0}function Tv(A){A=A|0;var e=0;e=a[(a[46994]|0)+32>>2]|0;fd(a[46993]|0,A);return e|0}function jv(A,e){A=A|0;e=e|0;var i=0;i=rd(a[46993]|0,36)|0;a[i+32>>2]=A;a[i>>2]=e;return i|0}function Sv(A,e){A=A|0;e=e|0;return Ov(267,A,e)|0}function Pv(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;r=a[i>>2]|0;if(r|0)a[r+12>>2]=e;a[i>>2]=e;if(!(a[A>>2]|0))a[A>>2]=e;return}function Ov(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=rd(a[46993]|0,16)|0;a[r>>2]=A;a[r+4>>2]=e;a[r+8>>2]=i;return r|0}function Kv(){var A=0;A=k;k=k+16|0;ao(0,98130,A)|0;k=A;return}function _v(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=(A|0)==2;e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;i=e+4|0;f=a[i>>2]|0;if(!((n?(r[f>>0]|0)==(r[98126]|0):0)?!(A1(f,98126)|0):0)){l=Yo(a[a[46994]>>2]|0,A,f,0)|0;a[i>>2]=l;if(!l)a[i>>2]=Yo(a[a[46994]>>2]|0,A,f,195059)|0;a[e>>2]=266;lB(a[46993]|0,f)|0}e=e+12|0}return}function qv(A){A=A|0;$v(a[A>>2]|0);a[A+4>>2]=0;a[A>>2]=0;return}function $v(A){A=A|0;var e=0;while(1){if(!A)break;e=a[A+12>>2]|0;switch(a[A>>2]|0){case 265:{$v(a[A+4>>2]|0);break}case 266:case 267:{lB(a[46993]|0,a[A+8>>2]|0)|0;break}default:{}}fd(a[46993]|0,A);A=e}return}function Ag(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+1040|0;f=l;n=l+8|0;i=S2(A)|0;i=i+2+(S2(e)|0)|0;if(i>>>0<1025)r=n;else r=m2(i)|0;a[f>>2]=A;a[f+4>>2]=e;P4(r,98163,f)|0;i=aB(a[46993]|0,r)|0;lB(a[46993]|0,A)|0;lB(a[46993]|0,e)|0;if((r|0)!=(n|0))L2(r);k=l;return i|0}function eg(A,e){A=A|0;e=e|0;return Ov(259,A,e)|0}function ig(A){A=A|0;return Ov(265,A,0)|0}function rg(A){A=A|0;return Ov(262,A,0)|0}function fg(A){A=A|0;var e=0,i=0;e=(a[46994]|0)+24|0;while(1){e=a[e>>2]|0;if(!e)break;if((a[e>>2]|0)==266?(i=a[e+4>>2]|0,i|0):0)Vo(A,i,a[e+8>>2]|0)|0;e=e+12|0}return}function ag(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=i+4|0;A:do{if((a[i>>2]|0)==262){i=a[f>>2]|0;f=cd(i)|0;while(1){if(!f)break A;ng(A,e,kd(a[a[46994]>>2]|0,f,0)|0,0,r);f=bd(i,f)|0}}else while(1){f=a[f>>2]|0;if(!f)break A;i=kd(a[a[46994]>>2]|0,a[f+4>>2]|0,0)|0;ng(A,e,i,a[f+8>>2]|0,r);f=f+12|0}}while(0);return}function ng(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;i=th(a[a[46994]>>2]|0,A,i,f,1)|0;if(i|0){n=a[i>>2]&3;f=a[((n|0)==2?i:i+-48|0)+40>>2]|0;A=(f|0)==(A|0)?(a[((n|0)==3?i:i+48|0)+40>>2]|0)!=(f|0):0;lg(i,111455,A?r:e);lg(i,111464,A?e:r);fg(i)}return}function lg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(i|0){r=Yo(a[a[46994]>>2]|0,2,e,0)|0;if(!r)r=Yo(a[a[46994]>>2]|0,2,e,195059)|0;Vo(A,r,i)|0}return}function tg(A,e,i){A=A|0;e=e|0;i=i|0;a[46962]=e;a[46993]=A;a[46942]=0;A=i|0?i:18600;a[46996]=A;sB(A,e);Yv()|0;A=a[46942]|0;if(!A){VB();A=a[46942]|0}return A|0}function cg(A,e){A=A|0;e=e|0;return tg(0,A,e)|0}function bg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;e=a[A+76>>2]|0;f=a[A>>2]|0;if((e|0)!=0?(i=a[e>>2]|0,(i|0)!=0):0){F5[i&127](A);n=12}else n=4;do{if((n|0)==4)if((a[A+40>>2]|0)==0?(l=A+36|0,(a[l>>2]|0)==0):0){if(r[f+13>>0]|0)sg(A);e=A+32|0;i=a[e>>2]|0;if(!i){a[l>>2]=a[15679];n=12;break}f=F3(i,106512)|0;a[l>>2]=f;if(!f){c=a[(a[A+12>>2]|0)+16>>2]|0;l=a[e>>2]|0;e=e1(a[(X2()|0)>>2]|0)|0;a[t>>2]=l;a[t+4>>2]=e;V5[c&63](98169,t);e=1}else n=12}else n=12}while(0);if((n|0)==12)if(!(a[A+152>>2]&1024))e=0;else{V5[a[(a[A+12>>2]|0)+16>>2]&63](98207,c);e=1}k=b;return e|0}function sg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=k;k=k+112|0;i=l;n=l+4|0;e=a[A+24>>2]|0;if(!e)r[n>>0]=0;else{a[i>>2]=e+1;P4(n,98225,i)|0}i=a[A+20>>2]|0;i=i|0?i:98229;e=S2(i)|0;t=S2(n)|0;f=A+52|0;t=e+1+t+(S2(a[f>>2]|0)|0)|0;e=t+11|0;if((a[46997]|0)>>>0<(t+1|0)>>>0){a[46997]=e;e=y2(a[46998]|0,e)|0;a[46998]=e}else e=a[46998]|0;$1(e,i)|0;u3(a[46998]|0,n)|0;e=a[46998]|0;e=e+(S2(e)|0)|0;r[e>>0]=46;r[e+1>>0]=0;e=s3(a[f>>2]|0)|0;f=a[46998]|0;while(1){i=w3(e,58)|0;if(!i)break;u3(f,i+1|0)|0;t=a[46998]|0;n=t+(S2(t)|0)|0;r[n>>0]=46;r[n+1>>0]=0;r[i>>0]=0;f=t}u3(f,e)|0;L2(e);a[A+32>>2]=a[46998];k=l;return}function wg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l+8|0;f=l;if((e|0)!=0&(i|0)!=0){if(a[A+152>>2]&1024|0){V5[a[(a[A+12>>2]|0)+16>>2]&63](98207,f);SA(1)}if((ug(A,e,i)|0)==(i|0))r=i;else{f=a[(a[A+12>>2]|0)+16>>2]|0;a[n>>2]=i;V5[f&63](98239,n);SA(1)}}else r=0;k=l;return r|0}function ug(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=a[(a[A>>2]|0)+104>>2]|0;do{if(!f){c=A+40|0;l=a[c>>2]|0;if(!l){i=L3(e,1,i,a[A+36>>2]|0)|0;break}f=A+44|0;t=A+48|0;n=a[t>>2]|0;do{if(((a[f>>2]|0)+-1-n|0)>>>0>>0){n=i+4096+n&-4096;a[f>>2]=n;f=y2(l,n)|0;a[c>>2]=f;if(!f){V5[a[(a[A+12>>2]|0)+16>>2]&63](98264,w);SA(1)}else{b=f;s=a[t>>2]|0;break}}else{b=l;s=n}}while(0);y6(b+s|0,e|0,i|0)|0;w=(a[t>>2]|0)+i|0;a[t>>2]=w;r[(a[c>>2]|0)+w>>0]=0}else i=W5[f&63](A,e,i)|0}while(0);k=u;return i|0}function kg(A,e){A=A|0;e=e|0;var i=0;i=S2(e)|0;e=(wg(A,e,i)|0)==(i|0);return(e?1:-1)|0}function og(A,e){A=A|0;e=e|0;var i=0,f=0;i=k;k=k+16|0;f=i;r[f>>0]=e;A=(wg(A,f,1)|0)==1;k=i;return(A?e:-1)|0}function hg(A){A=A|0;var e=0;e=a[A+36>>2]|0;if(((e|0)!=0?(r[A+144>>0]|0)==0:0)?(a[(a[A>>2]|0)+104>>2]|0)==0:0)A=g3(e)|0;else A=0;return A|0}function dg(A){A=A|0;var e=0,i=0;e=a[A+76>>2]|0;if(e|0?(i=a[e+4>>2]|0,i|0):0)F5[i&127](A);hg(A)|0;return}function Bg(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=a[A+76>>2]|0;if(a[A+152>>2]&1024|0){V5[a[(a[A+12>>2]|0)+16>>2]&63](98291,r);SA(1)}if((i|0)!=0?(e=a[i+8>>2]|0,(e|0)!=0):0)F5[e&127](A);else{hg(A)|0;vg(A)}k=r;return}function vg(A){A=A|0;var e=0,i=0,f=0;e=A+32|0;if((a[e>>2]|0?(i=A+36|0,f=a[i>>2]|0,(f|0)!=(a[15679]|0)):0)?(r[A+144>>0]|0)==0:0){if(f|0){h3(f)|0;a[i>>2]=0}a[e>>2]=0}return}function gg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+1056|0;f=t;l=t+24|0;n=t+8|0;a[n>>2]=i;r=k4(l,1024,e,n)|0;if((r|0)>=0){if((r|0)>1023){r=$F(r+1|0)|0;a[n>>2]=i;f=r;r=O4(r,e,n)|0}else f=l;wg(A,f,r)|0;if((f|0)!=(l|0))L2(f)}else{a[f>>2]=e1(a[(X2()|0)>>2]|0)|0;ao(1,98308,f)|0}k=t;return}function Eg(A,e){A=A|0;e=+e;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=Cg(r,e)|0;wg(A,f,a[r>>2]|0)|0;k=i;return}function Cg(A,e){A=A|0;e=+e;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;if(!(e<-1.0e15))if(!(e>1.0e15)){e=e*1.0e4;f=~~((e<0.0?-.5:.5)+e);if(!f){f=138394;i=1}else{s=(f|0)<0;b=4;t=0;i=194826;f=s?0-f|0:f;while(1){if(!((f|0)!=0|(b|0)>0))break;n=(f|0)%10|0;c=(f|0)/10|0;l=i+-1|0;if((n|0)==0&t<<24>>24==0)f=0;else{r[l>>0]=n|48;f=1;i=l}if((b|0)==1)if(!(f<<24>>24))f=1;else{i=i+-1|0;r[i>>0]=46;f=1}b=b+-1|0;t=f;f=c}if(s){i=i+-1|0;r[i>>0]=45}f=i;i=194826-i|0}}else{f=98323;i=18}else{f=98322;i=19}a[A>>2]=i;return f|0}function Ig(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=Cg(r,+b[e>>3])|0;wg(A,f,a[r>>2]|0)|0;wg(A,102604,1)|0;e=Cg(r,+b[e+8>>3])|0;wg(A,e,a[r>>2]|0)|0;k=i;return}function Zg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;r=0;while(1){l=e+(r<<4)|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];Ig(A,f);r=r+1|0;if((r|0)>=(i|0))break;wg(A,102604,1)|0}k=n;return}function Gg(A,e){A=A|0;e=e|0;var i=0;i=qF(392)|0;if(i|0){a[i>>2]=20156;a[i+16>>2]=23;a[i+32>>2]=A;a[i+36>>2]=e}return i|0}function Qg(A){A=A|0;var e=0,i=0,r=0,f=0;e=qF(392)|0;i=e;r=A;f=i+40|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));f=e+60|0;r=A+60|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[f+16>>2]=a[r+16>>2];f=e+80|0;r=A+80|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];a[f+16>>2]=a[r+16>>2];return e|0}function mg(A){A=A|0;Mg(A);L2(A);return}function Lg(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=a[r>>2]|0;if(i){r=a[46999]|0;if(r){i=a[r+4>>2]|0;if(!i){i=qF(632)|0;a[(a[46999]|0)+4>>2]=i}}}else{i=qF(632)|0;a[r>>2]=i;a[A+164>>2]=i}a[46999]=i;a[i+32>>2]=e;a[i>>2]=A;return}function Wg(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=a[r>>2]|0;if(i){r=a[47e3]|0;if(r){i=a[r+4>>2]|0;if(!i){i=qF(632)|0;a[(a[47e3]|0)+4>>2]=i}}}else{i=qF(632)|0;a[r>>2]=i;a[A+164>>2]=i}a[47e3]=i;a[i+52>>2]=e;a[i>>2]=A;return(Jg(A,3,e)|0)!=0|0}function yg(A){A=A|0;var e=0;e=a[A+160>>2]|0;a[A+164>>2]=e;return e|0}function zg(A){A=A|0;var e=0,i=0,r=0;A=A+164|0;e=a[A>>2]|0;i=a[e+4>>2]|0;if(i|0?(r=i+52|0,(a[r>>2]|0)==0):0)a[r>>2]=a[e+52>>2];a[A>>2]=i;return i|0}function Yg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;f=e+10|0;if((a[r>>2]|0)>(e|0))A=a[A>>2]|0;else{a[r>>2]=f;f=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=f;A=f}a[A+(e<<2)>>2]=i;return}function Dg(A){A=A|0;var e=0;e=a[A>>2]|0;if(e|0)L2(e);a[A>>2]=0;a[A+8>>2]=0;a[A+4>>2]=0;return}function Mg(A){A=A|0;var e=0,i=0,r=0;i=A+160|0;e=a[i>>2]|0;while(1){if(!e)break;r=a[e+4>>2]|0;Dg(e+604|0);Dg(e+592|0);L2(a[e+584>>2]|0);L2(a[e+588>>2]|0);L2(e);e=r}a[47e3]=0;a[46999]=0;a[A+192>>2]=0;a[A+164>>2]=0;a[i>>2]=0;a[A+28>>2]=0;return}function Fg(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0;w=k;k=k+128|0;b=w+64|0;s=w;x4(b,i,63)|0;t=G1(b,58)|0;if(t|0)r[t>>0]=0;A=A+60+(e<<2)|0;while(1){e=a[A>>2]|0;if(!e){e=A;A=0;break}x4(s,a[e+4>>2]|0,63)|0;e=G1(s,58)|0;if(e|0)r[e>>0]=0;if((A1(b,s)|0)<1){c=9;break}A=a[A>>2]|0}while(1){if((c|0)==9){e=A;A=a[A>>2]|0}if(!A)break;x4(s,a[A+4>>2]|0,63)|0;A=G1(s,58)|0;if(A|0)r[A>>0]=0;if(A1(b,s)|0)break;A=a[e>>2]|0;if((a[A+8>>2]|0)<=(f|0))break;c=9}s=$F(20)|0;a[s>>2]=a[e>>2];a[e>>2]=s;a[s+4>>2]=i;a[s+8>>2]=f;a[s+12>>2]=n;a[s+16>>2]=l;k=w;return 1}function Vg(A,e){A=A|0;e=e|0;e=k;k=k+16|0;ao(1,98396,e)|0;k=e;return 0}function Jg(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+144|0;d=B;u=B+80|0;o=B+16|0;w=(e+-3|0)>>>0<2?0:e;x4(u,i,63)|0;i=G1(u,58)|0;if(i){f=i+1|0;r[i>>0]=0;i=G1(f,58)|0;if(!i)s=0;else{r[i>>0]=0;s=i+1|0}}else{s=0;f=0}t=(f|0)!=0;c=(s|0)==0;b=(w|0)==(e|0);l=A+60+(e<<2)|0;A:while(1){i=a[l>>2]|0;if(!i){i=0;break}x4(o,a[i+4>>2]|0,63)|0;i=G1(o,58)|0;if(!i)i=0;else{r[i>>0]=0;i=i+1|0}do{if(!(A1(o,u)|0)){n=(i|0)!=0;if(t&n?A1(i,f)|0:0)break;if(!c?A1(s,a[(a[(a[l>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(b|n^1){h=16;break A}if(Jg(A,w,i)|0){h=16;break A}}}while(0);l=a[l>>2]|0}do{if((h|0)==16){i=a[l>>2]|0;if(i){f=i+16|0;if((a[f>>2]|0)==0?(Vg(0,0)|0,(a[f>>2]|0)==0):0){i=0;break}if((a[A+8>>2]|0)>0){h=a[15712]|0;u=a[i+4>>2]|0;o=a[(a[i+12>>2]|0)+8>>2]|0;a[d>>2]=a[20168+(e<<2)>>2];a[d+4>>2]=u;a[d+8>>2]=o;f3(h,98427,d)|0}}else i=0}}while(0);a[A+80+(e<<2)>>2]=i;k=B;return i|0}function Ng(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;do{if(!i)i=0;else{if(a[5047]|0){co(188004,0,0);a[5047]=0}l=s3(i)|0;i=G1(l,58)|0;if(i){r[i>>0]=0;f=A+60+(e<<2)|0;i=1;n=f;while(1){A=a[n>>2]|0;if(!A)break;e=s3(a[A+4>>2]|0)|0;A=G1(e,58)|0;if(A|0)r[A>>0]=0;if(!((r[l>>0]|0)!=0?(N1(l,e)|0)!=0:0)){i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=32;wo(188004,a[(a[n>>2]|0)+4>>2]|0)|0;i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=58;wo(188004,a[(a[(a[n>>2]|0)+12>>2]|0)+8>>2]|0)|0;i=0}L2(e);n=a[n>>2]|0}L2(l);if(i<<24>>24){n=0;t=19}}else{L2(l);n=0;f=A+60+(e<<2)|0;i=1;t=19}if((t|0)==19){while(1){A=a[f>>2]|0;if(!A)break;e=s3(a[A+4>>2]|0)|0;A=G1(e,58)|0;if(A|0)r[A>>0]=0;if(!((n|0)!=0?(N1(n,e)|0)==0:0)){i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}a[47002]=i+1;r[i>>0]=32;wo(188004,e)|0;i=0}n=e;f=a[f>>2]|0;t=19}if(i<<24>>24){i=195059;break}}i=a[47002]|0;if(i>>>0>=(a[47003]|0)>>>0){bo(188004,1)|0;i=a[47002]|0}r[i>>0]=0;i=a[47001]|0;a[47002]=i}}while(0);return i|0}function Xg(A){A=A|0;var e=0;if(!A)vA(111208,98444,573,98458);if(!(r[A>>0]|0))vA(111213,98444,574,98458);e=a[47005]|0;if(!e)A=0;else A=W5[a[e>>2]&63](e,A,512)|0;return A|0}function Rg(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;if(!A)vA(111312,98444,589,98475);n=A+8|0;i=a[n>>2]|0;if(!i)vA(111315,98444,590,98475);if(!(r[i>>0]|0))vA(111324,98444,591,98475);l=A+20|0;f=a[l>>2]|0;do{if(!f){e=WR(i)|0;if(!e){a[t>>2]=a[n>>2];ao(0,98499,t)|0;e=0;break}t=F3(e,138821)|0;a[l>>2]=t;if(!t){a[c>>2]=e1(a[(X2()|0)>>2]|0)|0;a[c+4>>2]=e;ao(0,98524,c)|0;e=0;break}e=a[47006]|0;if((e|0)>49){r[A+17>>0]=1;e=1;break}else{a[47006]=e+1;e=1;break}}else{O3(f,0,0)|0;if(!(a[l>>2]|0))vA(98545,98444,614,98475);else e=1}}while(0);k=b;return e|0}function Hg(A){A=A|0;var e=0,i=0;if(r[A+17>>0]|0?(e=A+20|0,i=a[e>>2]|0,i|0):0){h3(i)|0;a[e>>2]=0}return}function pg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0;if(!e){r=-1;i=-1}else{r=a[e+48>>2]|0;f=+(r|0);if(!r){n=+b[i>>3];f=+b[i+8>>3]}else{b[i+8>>3]=f;b[i>>3]=f;n=f}r=~~(+((a[e+40>>2]|0)*72|0)/n);i=~~(+((a[e+44>>2]|0)*72|0)/f)}a[A>>2]=r;a[A+4>>2]=i;return}function Ug(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=k;k=k+48|0;f=s+16|0;t=s;c=s+32|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){if((0==0?(n=a[47133]|0,(a[47007]|0)!=(n|0)):0)?(a[47007]=n,l=a[47005]|0,l|0):0){pk(l)|0;a[47005]=0}w=+b[(a[(a[e+16>>2]|0)+8>>2]|0)+24>>3];w=!(w>=1.0)?96.0:w;b[t+8>>3]=w;b[t>>3]=w;e=xg(i)|0;a[f>>2]=a[t>>2];a[f+4>>2]=a[t+4>>2];a[f+8>>2]=a[t+8>>2];a[f+12>>2]=a[t+12>>2];pg(c,e,f);e=a[c>>2]|0;f=a[c+4>>2]|0}else{e=-1;f=-1}a[A>>2]=e;a[A+4>>2]=f;k=s;return}function xg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;r=f;if(!A)vA(111208,98444,638,98551);if(!(a[47005]|0))a[47005]=jk(20192,a[4589]|0)|0;e=Xg(A)|0;A:do{if(!e){e=qF(64)|0;if(!e)e=0;else{i=e+8|0;a[i>>2]=aB(0,A)|0;if(!((Rg(e)|0)<<24>>24)){Tg(e);e=0;break}if(!(a[e+20>>2]|0))vA(98545,98444,653,98551);do{switch(jg(e)|0){case 0:{A=GN(a[i>>2]|0)|0;a[e+52>>2]=A;if(!A){a[r>>2]=a[i>>2];ao(0,98568,r)|0;Tg(e);e=0;break A}break}case 2:{Sg(e);break}case 3:{Pg(e);break}case 1:{Og(e);break}case 4:{Kg(e);break}case 6:{_g(e);break}case 11:{qg(e);break}case 8:{$g(e);break}case 5:{AE(e);break}case 12:{eE(e);break}default:{}}}while(0);Hg(e);r=a[47005]|0;W5[a[r>>2]&63](r,e,1)|0}}else Hg(e)}while(0);k=f;return e|0}function Tg(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(e|0)lB(0,e)|0;L2(A);return}function jg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+224|0;f=c+200|0;n=c;l=A+20|0;e=a[l>>2]|0;A:do{if((e|0)!=0?(a6(f,1,20,e)|0)==20:0){i=0;while(1){if(i>>>0>=10){t=13;break A}if(!(F4(f,a[20228+(i<<4)>>2]|0,a[20228+(i<<4)+4>>2]|0)|0))break;i=i+1|0}r=A+28|0;a[r>>2]=a[20228+(i<<4)+12>>2];e=a[20228+(i<<4)+8>>2]|0;A=A+24|0;a[A>>2]=e;switch(i|0){case 7:break;case 8:{if(F4(f+8|0,98784,4)|0)break A;a[r>>2]=98789;a[A>>2]=11;e=11;break A}default:break A}while(1){if(!(N4(n,200,a[l>>2]|0)|0)){t=11;break}if(!(F4(n,98779,4)|0)){t=8;break}}if((t|0)==8){a[r>>2]=101803;a[A>>2]=8;e=8;break}else if((t|0)==11){e=a[A>>2]|0;break}}else t=13}while(0);if((t|0)==13){a[A+28>>2]=98794;a[A+24>>2]=0;e=0}k=c;return e|0}function Sg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,6,0)|0;if((bE(a[r>>2]|0,2,e)|0)<<24>>24?(bE(a[r>>2]|0,2,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function Pg(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,16,0)|0;if((iE(a[r>>2]|0,4,e)|0)<<24>>24?(iE(a[r>>2]|0,4,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function Og(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;e=l+12|0;i=l+8|0;r=l+4|0;f=l;a[A+48>>2]=0;n=A+20|0;O3(a[n>>2]|0,16,0)|0;if((((bE(a[n>>2]|0,2,e)|0)<<24>>24?(bE(a[n>>2]|0,2,i)|0)<<24>>24:0)?(bE(a[n>>2]|0,2,r)|0)<<24>>24:0)?(bE(a[n>>2]|0,2,f)|0)<<24>>24:0){a[A+40>>2]=a[e>>2]<<16|a[i>>2];a[A+44>>2]=a[r>>2]<<16|a[f>>2]}k=l;return}function Kg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+32|0;e=s+16|0;r=s+12|0;f=s+8|0;l=s+4|0;t=s;a[A+48>>2]=0;c=A+20|0;while(1){if(!((iE(a[c>>2]|0,1,e)|0)<<24>>24))break;i=a[e>>2]|0;if((i|0)==255)continue;if(G1(98767,i)|0)continue;if((i|0)==192){b=6;break}n=a[c>>2]|0;if((i|0)==194){b=11;break}if(!((iE(n,2,r)|0)<<24>>24))break;O3(a[c>>2]|0,(a[r>>2]|0)+-2|0,1)|0}if((b|0)==6){if(((iE(a[c>>2]|0,3,t)|0)<<24>>24?(iE(a[c>>2]|0,2,f)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,l)|0)<<24>>24:0){a[A+44>>2]=a[f>>2];a[A+40>>2]=a[l>>2]}}else if((((b|0)==11?(iE(n,3,t)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,f)|0)<<24>>24:0)?(iE(a[c>>2]|0,2,l)|0)<<24>>24:0){a[A+44>>2]=a[f>>2];a[A+40>>2]=a[l>>2]}k=s;return}function _g(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+1056|0;c=s;e=s+32|0;r=s+28|0;f=s+24|0;n=s+20|0;l=s+16|0;a[A+48>>2]=72;t=A+20|0;O3(a[t>>2]|0,0,0)|0;while(1){if(!(N4(e,1024,a[t>>2]|0)|0))break;i=X4(e,98752)|0;if(!i)continue;a[c>>2]=r;a[c+4>>2]=f;a[c+8>>2]=n;a[c+12>>2]=l;if((J3(i,104311,c)|0)==4){b=5;break}}if((b|0)==5){c=a[r>>2]|0;a[A+32>>2]=c;b=a[f>>2]|0;a[A+36>>2]=b;a[A+40>>2]=(a[n>>2]|0)-c;a[A+44>>2]=(a[l>>2]|0)-b}k=s;return}function qg(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;e=n+4|0;i=n;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,15,0)|0;l=(s6(a[r>>2]|0)|0)==88;f=a[r>>2]|0;if(l){O3(f,24,0)|0;if((bE(a[r>>2]|0,4,e)|0)<<24>>24?(bE(a[r>>2]|0,4,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}}else{O3(f,26,0)|0;if((bE(a[r>>2]|0,2,e)|0)<<24>>24?(bE(a[r>>2]|0,2,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}}k=n;return}function $g(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0;z=k;k=k+352|0;L=z+80|0;m=z+72|0;y=z+64|0;W=z+56|0;Q=z+48|0;e=z+40|0;B=z+32|0;v=z+24|0;g=z+16|0;E=z+8|0;C=z;I=z+328|0;Z=z+128|0;G=z+96|0;if(!(a[47008]|0)){if(u8(188036,98637,1)|0){a[e>>2]=98637;ao(1,98664,e)|0}a[47008]=188036}s=A+20|0;O3(a[s>>2]|0,0,0)|0;w=G+12|0;u=G+20|0;o=G+8|0;h=G+16|0;d=G+4|0;e=0;n=0;f=0;i=0;A:while(1){if(!(N4(Z,200,a[s>>2]|0)|0))break;if(n<<24>>24==0|e<<24>>24==0){l=Z;c=i}else break;e:while(1){t=f;i:while(1){while(1){if($8(188036,l,4,G,0)|0){f=t;i=c;continue A}r[l+(a[w>>2]|0)>>0]=0;r[l+(a[u>>2]|0)>>0]=0;i=l+(a[o>>2]|0)|0;f=l+(a[h>>2]|0)|0;l=l+((a[d>>2]|0)+1)|0;if(!(A1(i,141116)|0))break;if(!(A1(i,141048)|0))break i;if(A1(i,98711)|0)continue;a[L>>2]=v;a[L+4>>2]=g;a[L+8>>2]=E;a[L+12>>2]=C;if((J3(f,98719,L)|0)==4)break e}a[Q>>2]=B;a[Q+4>>2]=I;if((J3(f,98701,Q)|0)!=2){a[W>>2]=B;if((J3(f,101209,W)|0)==1){i=1;f=cE(+b[B>>3],98708)|0}else{i=n;f=t}}else{i=1;f=cE(+b[B>>3],I)|0}if(!(e<<24>>24)){e=0;n=i;t=f}else{n=i;i=c;continue A}}a[y>>2]=B;a[y+4>>2]=I;if((J3(f,98701,y)|0)!=2){a[m>>2]=B;if((J3(f,101209,m)|0)==1){e=1;i=cE(+b[B>>3],98708)|0}else i=c}else{e=1;i=cE(+b[B>>3],I)|0}if(!(n<<24>>24)){n=0;f=t;c=i}else{f=t;continue A}}e=1;n=1;f=~~(+b[E>>3]+1.0-+b[v>>3])>>>0;i=~~(+b[C>>3]+1.0-+b[g>>3])>>>0}a[A+48>>2]=0;a[A+40>>2]=f;a[A+44>>2]=i;k=z;return}function AE(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0;i=k;k=k+32|0;e=i;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,0,0)|0;if(!(rE(a[r>>2]|0,e)|0)){n=+b[e>>3];a[A+32>>2]=~~n;f=+b[e+8>>3];a[A+36>>2]=~~f;a[A+40>>2]=~~(+b[e+16>>3]-n);a[A+44>>2]=~~(+b[e+24>>3]-f)}k=i;return}function eE(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+16|0;e=f+4|0;i=f;a[A+48>>2]=0;r=A+20|0;O3(a[r>>2]|0,6,0)|0;if((iE(a[r>>2]|0,1,e)|0)<<24>>24?(iE(a[r>>2]|0,1,i)|0)<<24>>24:0){a[A+40>>2]=a[e>>2];a[A+44>>2]=a[i>>2]}k=f;return}function iE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;a[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=s6(A)|0;if(o3(A)|0){r=0;break}a[i>>2]=a[i>>2]<<8|f;r=r+1|0}return r|0}function rE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+1040|0;i=l;r=l+16|0;while(1){if(!(N4(r,1024,A)|0)){A=1;break}f=X4(r,98627)|0;if(f|0){n=4;break}}if((n|0)==4){a[i+4>>2]=r;a[i>>2]=f+9;a[i+8>>2]=A;A=fE(i,e)|0}k=l;return A|0}function fE(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=k;k=k+1024|0;f=n;aE(A);i=r[a[A>>2]>>0]|0;if(!(i<<24>>24))i=(nE(A)|0)&255;else i=i<<24>>24;if((((i|0)==91?(a[A>>2]=(a[A>>2]|0)+1,lE(A,f),(tE(f,e)|0)==0):0)?(lE(A,f),(tE(f,e+8|0)|0)==0):0)?(lE(A,f),(tE(f,e+16|0)|0)==0):0){lE(A,f);i=(tE(f,e+24|0)|0)!=0&1}else i=1;k=n;return i|0}function aE(A){A=A|0;var e=0;e=a[A>>2]|0;while(1){e=r[e>>0]|0;if(!(e<<24>>24))e=(nE(A)|0)&255;else e=e<<24>>24;if(!((e&255)<<24>>24))break;if(!(Q1(e&255)|0))break;e=(a[A>>2]|0)+1|0;a[A>>2]=e}return}function nE(A){A=A|0;var e=0;e=A+4|0;if(!(N4(a[e>>2]|0,1024,a[A+8>>2]|0)|0))A=0;else{e=a[e>>2]|0;a[A>>2]=e;A=r[e>>0]|0}return A|0}function lE(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;aE(A);i=0;f=a[A>>2]|0;while(1){f=r[f>>0]|0;if(!(f<<24>>24))n=(nE(A)|0)&255;else n=f<<24>>24;f=n<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;r[e+i>>0]=n;i=i+1|0;f=(a[A>>2]|0)+1|0;a[A>>2]=f;if((i|0)==1023){i=1023;break}}r[e+i>>0]=0;return}function tE(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=k;k=k+16|0;f=r;i=+A8(A,f);if((a[f>>2]|0)==(A|0))A=1;else{b[e>>3]=i;A=0}k=r;return A|0}function cE(A,e){A=+A;e=e|0;var i=0.0;do{if(!(A1(e,98735)|0)){A=A*72.0;i=A;A=A>=0.0?.5:-.5}else{if(!(A1(e,98738)|0)){A=A*.75;i=A;A=A>=0.0?.5:-.5;break}if(!(A1(e,98741)|0)){A=A*12.0;i=A;A=A>=0.0?.5:-.5;break}if(A1(e,98708)|0?A1(e,98744)|0:0)if(!(A1(e,98746)|0)){A=A*28.346456664;i=A;A=A>=0.0?.5:-.5;break}else{e=(A1(e,98749)|0)==0;i=A*2.8346456663999997;return(e?~~(i+(i>=0.0?.5:-.5)):0)|0}i=A>=0.0?.5:-.5}}while(0);return~~(A+i)|0}function bE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;a[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}f=s6(A)|0;if(o3(A)|0){r=0;break}a[i>>2]=a[i>>2]|f<<(r<<3);r=r+1|0}return r|0}function sE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=a[e+20>>2]|0;if(A|0)h3(A)|0;if(a[e+52>>2]|0?(r=a[e+60>>2]|0,r|0):0)F5[r&127](e);L2(e);return}function wE(){var A=0;Yo(0,1,108224,105493)|0;A=Gg(0,1)|0;jr(A,0);return A|0}function uE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0;c=k;k=k+304|0;t=c+24|0;l=c+8|0;f=c;n=c+40|0;if((ur(A,i)|0)!=999)if((kr(A,e)|0)==-1)A=-1;else{A=a[e+16>>2]|0;i=A+16|0;if(!(r[(a[A+8>>2]|0)+81>>0]|0)){o=+b[i>>3];u=+b[A+24>>3];w=+b[A+32>>3];s=+b[A+40>>3];a[t>>2]=~~(o+(o>=0.0?.5:-.5));a[t+4>>2]=~~(u+(u>=0.0?.5:-.5));a[t+8>>2]=~~(w+(w>=0.0?.5:-.5));a[t+12>>2]=~~(s+(s>=0.0?.5:-.5));P4(n,98899,t)|0}else{s=+b[A+24>>3];w=+b[i>>3];u=+b[A+40>>3];o=+b[A+32>>3];a[l>>2]=~~(s+(s>=0.0?.5:-.5));a[l+4>>2]=~~(w+(w>=0.0?.5:-.5));a[l+8>>2]=~~(u+(u>=0.0?.5:-.5));a[l+12>>2]=~~(o+(o>=0.0?.5:-.5));P4(n,98899,l)|0}To(e,102671,n,195059)|0;A=0}else{A=Ng(A,1,i)|0;a[f>>2]=i;a[f+4>>2]=A;ao(1,111233,f)|0;A=-1}k=c;return A|0}function kE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=a[e+60>>2]|0;Wg(A,i)|0;e=a[A+164>>2]|0;a[e+56>>2]=mi(e,a[e+52>>2]|0)|0;if((Td(f,137483,0,1)|0)!=0?(a[(a[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(a[e+152>>2]&67108864)){to(98911,n);e=-1}else l=5;if((l|0)==5){a[e+36>>2]=r;if(!r){l=e+152|0;a[l>>2]=a[l>>2]|134217728}l=lF(A,f)|0;Wi(e);Mg(A);e=l}k=t;return e|0}function oE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;f=a[e+60>>2]|0;Wg(A,i)|0;e=a[A+164>>2]|0;a[e+56>>2]=mi(e,a[e+52>>2]|0)|0;if((Td(f,137483,0,1)|0)!=0?(a[(a[f+16>>2]|0)+8>>2]|0)!=0:0)l=5;else if(!(a[e+152>>2]&67108864)){to(98911,n);e=-1}else l=5;if((l|0)==5){Lg(A,r);l=lF(A,f)|0;Wi(e);Bg(e);Mg(A);e=l}k=t;return e|0}function hE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;l=s+8|0;n=s;e=a[e+60>>2]|0;Wg(A,i)|0;c=a[A+164>>2]|0;a[c+56>>2]=mi(c,a[c+52>>2]|0)|0;if((Td(e,137483,0,1)|0)!=0?(a[(a[e+16>>2]|0)+8>>2]|0)!=0:0)b=5;else if(!(a[c+152>>2]&67108864)){to(98911,n);e=-1}else b=5;do{if((b|0)==5){if(r|0?(t=m2(4096)|0,a[r>>2]=t,t|0):0){n=c+40|0;a[n>>2]=t;a[c+44>>2]=4096;i=c+48|0;a[i>>2]=0;e=lF(A,e)|0;Wi(c);if(!e){a[r>>2]=a[n>>2];a[f>>2]=a[i>>2]}Mg(A);break}ao(1,98932,l)|0;e=-1}}while(0);k=s;return e|0}function dE(A,e){A=A|0;e=e|0;xr(A,0,e);return}function BE(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+4288|0;y=D+8|0;W=D;z=4;Y=m2(40)|0;a[Y>>2]=0;G=D+4152|0;Q=D+4148|0;m=D+4128|0;c=D+4112|0;b=D+16|0;d=0;t=iA(24,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;A:do{if((l|0)!=1){if(!t){a[e>>2]=0;n=0;break}d=0;w=aA(29,i|0,Q|0,G|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;s=iA(23,40)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;hA(7,m|0,c|0,b|0,24,85);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){c=m+16|0;t=a[c>>2]|0;n=i;while(1){if(!n)break;d=0;rA(t|0,n|0,0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){Z=0;I=c;C=s;E=w;n=L;s=15;break A}d=0;n=rA(86,A|0,n|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){Z=0;I=c;C=s;E=w;n=L;s=15;break A}}Y=L6(188068,1,Y|0,z|0)|0;z=L;d=0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){Z=s;I=c;C=s;E=w;n=L;s=15}else{Z=s;I=c;C=s;E=w;n=0;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=s;E=w;n=L;s=15}}else{Z=0;I=0;C=0;E=w;n=L;s=15}}else{Z=0;I=0;C=0;E=0;n=L;s=15}}while(0);do{if((s|0)==15){A:while(1){e:do{if(!n){d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}g=E+(a[Q>>2]|0)|0;b=0;s=0;c=0;while(1){if(!i)break;d=0;n=rA(a[I>>2]|0,i|0,-1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,Y|0,z|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if((n|0)==0?(r[(a[i+16>>2]|0)+119>>0]|0)==3:0){if(!s){d=0;a[W>>2]=c;aA(30,g|0,137395,W|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;t=aA(31,A|0,E|0,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(53,t|0,137483,280,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}a[Z+(c<<2)>>2]=t;b=1;c=c+1|0}else t=s;d=0;nA(54,A|0,i|0,t|0,m|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}}else t=s;d=0;i=rA(86,A|0,i|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}s=t}d=0;i=iA(25,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}t=10;w=Z;u=C;o=C;v=C;while(1){if(!i){s=0;t=o;i=v;break e}d=0;n=rA(a[I>>2]|0,i|0,-1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){s=W6(a[l>>2]|0,Y|0,z|0)|0;if(!s)fe(l|0,B|0);L=B}else s=-1;if((s|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if(!n){d=0;a[y>>2]=c;aA(30,g|0,137395,y|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;h=aA(31,A|0,E|0,1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(53,h|0,137483,280,1)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){n=W6(a[l>>2]|0,Y|0,z|0)|0;if(!n)fe(l|0,B|0);L=B}else n=-1;if((n|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}d=0;nA(54,A|0,i|0,h|0,m|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}if((c|0)==(t|0)){t=c<<1;d=0;s=rA(87,u|0,c<<3|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}n=s;u=s;o=s;l=s}else{n=w;l=v}a[n+(c<<2)>>2]=h;w=n;c=c+1|0;s=l}else s=v;d=0;i=rA(86,A|0,i|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}v=s}}else{s=1;b=0;w=Z;c=0;t=C;i=C}}while(0);d=0;sA(108,m|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}if((E|0)!=(G|0)){d=0;sA(105,E|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}}if(!s){d=0;n=rA(87,i|0,c<<2|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue}else{s=58;break}}a[e>>2]=0;n=0;while(1){if((n|0)>=(c|0))break;d=0;iA(26,a[w+(n<<2)>>2]|0)|0;l=d;d=0;if((l|0)!=0&(B|0)!=0){i=W6(a[l>>2]|0,Y|0,z|0)|0;if(!i)fe(l|0,B|0);L=B}else i=-1;if((i|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15;continue A}n=n+1|0}d=0;sA(105,t|0);n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,Y|0,z|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){h=E;v=C;g=I;s=Z;n=L;E=h;C=v;I=g;Z=s;s=15}else{s=56;break}}if((s|0)==56){n=0;break}else if((s|0)==58){a[e>>2]=c;r[f>>0]=b;break}}}while(0);L2(Y|0);k=D;return n|0}function vE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if(!((A|0)!=0?(LE(A)|0)!=0:0))A=98988;r=S2(A)|0;if((r|0)>=104){i=$F(r+25|0)|0;if(!i)i=0;else f=6}else f=6;if((f|0)==6){$1(i,A)|0;a[e>>2]=r}return i|0}function gE(A,e){A=A|0;e=e|0;kd(e,A,1)|0;return}function EE(A,e){A=A|0;e=e|0;var i=0;A=(a[A+16>>2]|0)+157|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function CE(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a[e>>2]=i;a[e+4>>2]=i+4096;a[e+12>>2]=0;a[e+8>>2]=0;a[A>>2]=e;a[A+4>>2]=e;a[A+8>>2]=i;a[A+12>>2]=r;a[A+16>>2]=f;return}function IE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;QE(r,e);t=r+12|0;c=r+16|0;e=0;A:while(1){b=mE(r)|0;if(!b)break;e=e+1|0;f=a[t>>2]|0;if(f|0)V5[f&63](b,i);l=Ah(A,b)|0;while(1){if(!l)continue A;n=a[l>>2]&3;f=a[((n|0)==3?l:l+48|0)+40>>2]|0;if((f|0)==(b|0))f=a[((n|0)==2?l:l+-48|0)+40>>2]|0;if(!(m5[a[c>>2]&127](f,-1)|0))QE(r,f);l=eh(A,l,b)|0}}return e|0}function ZE(A){A=A|0;var e=0;A=a[(a[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=a[A+12>>2]|0;GE(A);A=e}return}function GE(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function QE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;f=b;n=A+8|0;t=A+4|0;i=a[t>>2]|0;if((a[n>>2]|0)==(a[i+4>>2]|0)){i=a[i+12>>2]|0;do{if(!i){r=$F(16)|0;if(!r){ao(1,98969,f)|0;fe(188068,1)}a[r+8>>2]=a[t>>2];a[r+12>>2]=0;i=$F(4e6)|0;a[r>>2]=i;if(!i){ao(1,98969,c)|0;fe(188068,1)}else{a[r+4>>2]=i+4e6;a[(a[t>>2]|0)+12>>2]=r;l=r;break}}else l=i}while(0);a[t>>2]=l;a[n>>2]=a[l>>2]}m5[a[A+16>>2]&127](e,1)|0;c=a[n>>2]|0;a[n>>2]=c+4;a[c>>2]=e;k=b;return}function mE(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+8|0;e=a[f>>2]|0;i=A+4|0;r=a[i>>2]|0;if((e|0)==(a[r>>2]|0))if((r|0)==(a[A>>2]|0))e=0;else{e=a[r+8>>2]|0;a[i>>2]=e;e=a[e+4>>2]|0;a[f>>2]=e;n=4}else n=4;if((n|0)==4){e=e+-4|0;a[f>>2]=e;e=a[e>>2]|0}return e|0}function LE(A){A=A|0;var e=0;A:while(1){e=A;A=A+1|0;e=r[e>>0]|0;switch(e<<24>>24){case 95:continue A;case 0:{A=1;break A}default:{}}if(!(V1(e&255)|0)){A=0;break}}return A|0}function WE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+4272|0;I=Q;Z=4;G=m2(40)|0;a[G>>2]=0;g=Q+4144|0;E=Q+4140|0;C=Q+4120|0;l=Q+4104|0;t=Q+8|0;d=0;f=iA(24,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){r=W6(a[n>>2]|0,G|0,Z|0)|0;if(!r)fe(n|0,B|0);L=B}else r=-1;A:do{if((r|0)!=1)if(f){d=0;b=aA(29,i|0,E|0,g|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;c=iA(23,40)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;hA(7,C|0,l|0,t|0,24,85);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){d=0;f=iA(25,A|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)!=1){l=C+16|0;n=a[l>>2]|0;r=f;while(1){if(!r)break;d=0;rA(n|0,r|0,0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){v=l;h=c;o=b;r=L;c=14;break A}d=0;r=rA(86,A|0,r|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){v=l;h=c;o=b;r=L;c=14;break A}}G=L6(188068,1,G|0,Z|0)|0;Z=L;d=0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){v=l;h=c;o=b;r=L;c=14}else{v=l;h=c;o=b;r=0;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=c;o=b;r=L;c=14}}else{v=0;h=0;o=b;r=L;c=14}}else{i=0;r=0}else{v=0;h=0;o=0;r=L;c=14}}while(0);A:do{if((c|0)==14){e:while(1){if(r|0){d=0;sA(108,C|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}d=0;sA(105,h|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}if((o|0)==(g|0)){i=0;r=0;break A}d=0;sA(105,o|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}else{c=19;break}}d=0;f=iA(25,A|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){i=W6(a[r>>2]|0,G|0,Z|0)|0;if(!i)fe(r|0,B|0);L=B}else i=-1;if((i|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}u=o+(a[E>>2]|0)|0;l=10;b=h;r=0;c=h;w=h;while(1){if(!f)break;d=0;i=rA(a[v>>2]|0,f|0,-1)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){t=W6(a[n>>2]|0,G|0,Z|0)|0;if(!t)fe(n|0,B|0);L=B}else t=-1;if((t|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}if(!i){d=0;a[I>>2]=r;aA(30,u|0,137395,I|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;s=aA(31,A|0,o|0,1)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;nA(53,s|0,137483,280,1)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}d=0;nA(54,A|0,f|0,s|0,C|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}if((r|0)==(l|0)){l=r<<1;d=0;t=rA(87,c|0,r<<3|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}n=t;c=t;i=t}else{n=b;i=w}a[n+(r<<2)>>2]=s;r=r+1|0;b=n;t=i}else t=w;d=0;f=rA(86,A|0,f|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){n=W6(a[i>>2]|0,G|0,Z|0)|0;if(!n)fe(i|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue e}w=t}d=0;sA(108,C|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){f=W6(a[i>>2]|0,G|0,Z|0)|0;if(!f)fe(i|0,B|0);L=B}else f=-1;if((f|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}d=0;i=rA(87,w|0,r<<2|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,G|0,Z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14;continue}if((o|0)==(g|0))break A;d=0;sA(105,o|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,G|0,Z|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){w=o;u=h;c=v;r=L;o=w;h=u;v=c;c=14}else{c=39;break}}if((c|0)==19){i=0;r=0;break}else if((c|0)==39)break}}while(0);a[e>>2]=r;L2(G|0);k=Q;return i|0}function yE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=0;f=cd(A)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;if(kd(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,0)|0){wh(A,r,1)|0;i=i+1|0}r=_o(e,r)|0}f=bd(A,f)|0}return i|0}function zE(A){A=A|0;A=Ud(A,98993,0)|0;if(!A)vA(98998,99001,529,99010);else return a[A+8>>2]|0;return 0}function YE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;g=k;k=k+4320|0;B=g+24|0;d=g+8|0;h=g;v=g+4184|0;o=g+4160|0;f=g+40|0;if(vh(A)|0){Kd(A,0,99019,-12,0);Kd(A,1,99031,16,0);u=vE(i,f,v)|0;b=DE(A)|0;s=$F((vh(b)|0)<<2)|0;CE(o,g+4144|0,g+48|0,24,88);l=cd(b)|0;w=o+16|0;t=u+(a[f>>2]|0)|0;c=a[15712]|0;i=0;while(1){if(!l)break;if(!(m5[a[w>>2]&127](l,-1)|0)){a[h>>2]=i;P4(t,99933,h)|0;E=XB(b,u,1)|0;C=XB(A,u,1)|0;Td(C,99019,12,0)|0;r[(Ud(C,99019,0)|0)+8>>0]=1;f=IE(b,l,E,o)|0;FE(E,C);n=VE(C)|0;JE(A,C);a[s+(i<<2)>>2]=C;Cd(b,E)|0;if(0){a[d>>2]=i;a[d+4>>2]=f;a[d+8>>2]=n;f3(c,99043,d)|0}i=i+1|0}l=bd(b,l)|0}if(0){d=vh(A)|0;E=gh(A)|0;C=Vh(A)|0;a[B>>2]=d;a[B+4>>2]=E;a[B+8>>2]=i;a[B+12>>2]=C;f3(c,99073,B)|0}Bh(b)|0;_d(A,0,99019);_d(A,1,99031);ZE(o);f=eV(s,i<<2)|0;if((u|0)!=(v|0))L2(u)}else{f=0;i=0}a[e>>2]=i;k=g;return f|0}function DE(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;r[l>>0]=r[18596]|0;r[l+1>>0]=r[18597]|0;r[l+2>>0]=r[18598]|0;r[l+3>>0]=r[18599]|0;l=kh(99120,l,0)|0;RE(l,A);e=cd(A)|0;while(1){if(!e)break;if(!(a[(Ud(e,99031,0)|0)+12>>2]|0)){n=vd(l,Vh(e)|0,1)|0;Td(n,99031,16,1)|0;a[(a[n+16>>2]|0)+12>>2]=e;a[(Ud(e,99031,0)|0)+12>>2]=n}e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;f=a[(Ud(i,99031,0)|0)+12>>2]|0;e=Oo(A,i)|0;while(1){if(!e)break;n=a[(Ud(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,99031,0)|0)+12>>2]|0;do{if((n|0)!=(f|0))if(n>>>0>f>>>0){th(l,f,n,0,1)|0;break}else{th(l,n,f,0,1)|0;break}}while(0);e=_o(A,e)|0}i=bd(A,i)|0}k=t;return l|0}function ME(A,e){A=A|0;e=e|0;var i=0;A=(a[A+16>>2]|0)+8|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function FE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=cd(A)|0;while(1){if(!r)break;f=a[(a[r+16>>2]|0)+12>>2]|0;A:do{if((a[f>>2]&3|0)==1)kd(e,f,1)|0;else{i=cd(f)|0;while(1){if(!i)break A;kd(e,i,1)|0;i=bd(f,i)|0}}}while(0);r=bd(A,r)|0}return}function VE(A){A=A|0;return yE(A,a[A+60>>2]|0)|0}function JE(A,e){A=A|0;e=e|0;NE(A,e,0);return}function NE(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,n=0;n=(i|0)==0;A=RB(A)|0;while(1){if(!A)break;if((r[(Ud(A,99019,0)|0)+8>>0]|0)==0?(a=XE(A,e,i)|0,a|0):0){if(n)f=(Z1(Vh(A)|0,108006,7)|0)==0;else f=1;NE(A,a,f&1)}A=HB(A)|0}return}function XE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=0;n=cd(A)|0;while(1){if(!n)break;f=vd(e,Vh(n)|0,0)|0;if(f){if(!r)r=XB(e,Vh(A)|0,1)|0;kd(r,f,1)|0}n=bd(A,n)|0}if((i|0)!=0&(r|0)==0)r=XB(e,Vh(A)|0,1)|0;if(r|0?(yE(r,A)|0,jo(A,r)|0,(Z1(Vh(r)|0,108006,7)|0)==0):0)a[(Td(r,98993,12,0)|0)+8>>2]=A;return r|0}function RE(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+16|0;n=l;i=RB(e)|0;r=a[15712]|0;while(1){if(!i)break;A:do{if(!(Z1(Vh(i)|0,108006,7)|0)){f=vd(A,Vh(i)|0,1)|0;Td(f,99031,16,1)|0;a[(a[f+16>>2]|0)+12>>2]=i;e=cd(i)|0;while(1){if(!e)break A;if(a[(Ud(e,99031,0)|0)+12>>2]|0){b=Vh(e)|0;c=Vh(i)|0;t=Vh(a[(Ud(e,99031,0)|0)+12>>2]|0)|0;a[n>>2]=b;a[n+4>>2]=c;a[n+8>>2]=t;f3(r,99123,n)|0}a[(Ud(e,99031,0)|0)+12>>2]=f;e=bd(i,e)|0}}else RE(A,i)}while(0);i=HB(i)|0}k=l;return}function HE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,a=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;u=+b[A>>3];t=~~(u+(u>=0.0?.5:-.5));u=+b[A+8>>3];A=~~(u+(u>=0.0?.5:-.5));u=+b[e>>3];n=~~(u+(u>=0.0?.5:-.5));u=+b[e+8>>3];a=~~(u+(u>=0.0?.5:-.5));s=n-t|0;l=((s|0)>-1?s:0-s|0)<<1;s=s>>31|1;w=a-A|0;c=((w|0)>-1?w:0-w|0)<<1;w=w>>31|1;A:do{if((l|0)>(c|0)){f=0-l|0;r=c-(l>>1)|0;e=t;while(1){aJ(i,e,A);if((e|0)==(n|0))break A;t=(r|0)>-1;r=r+c+(t?f:0)|0;e=e+s|0;A=(t?w:0)+A|0}}else{f=0-c|0;r=t;e=l-(c>>1)|0;while(1){aJ(i,r,A);if((A|0)==(a|0))break A;c=(e|0)>-1;r=(c?s:0)+r|0;e=e+l+(c?f:0)|0;A=A+w|0}}}while(0);return}function pE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;b=w;c=w+4|0;do{if((A|0)<1)i=0;else{f=r+16|0;if((a[f>>2]|0)>>>0<4){i=UE(A,e,i,r)|0;break}s=$F(A<<5)|0;i=0;while(1){if((i|0)==(A|0))break;n=a[e+(i<<2)>>2]|0;xR(n);l=s+(i<<5)|0;n=(a[n+16>>2]|0)+16|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];a[l+16>>2]=a[n+16>>2];a[l+20>>2]=a[n+20>>2];a[l+24>>2]=a[n+24>>2];a[l+28>>2]=a[n+28>>2];i=i+1|0}if((a[f>>2]|0)==4){l=r+28|0;A:do{if(a[l>>2]&2|0){f=r+24|0;a[f>>2]=qF(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break A;n=po(a[e+(i<<2)>>2]|0,99190)|0;if(n|0?(a[b>>2]=c,n=(J3(n,137395,b)|0)>0,t=a[c>>2]|0,n&(t|0)>-1):0)a[(a[f>>2]|0)+(i<<2)>>2]=t;i=i+1|0}}}while(0);i=xE(A,s,r)|0;if(a[l>>2]&2)L2(a[r+24>>2]|0)}else i=0;L2(s)}}while(0);k=w;return i|0}function UE(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0.0,F=0.0,V=0.0;Y=k;k=k+144|0;m=Y+136|0;Q=Y+64|0;z=Y+48|0;E=Y+40|0;g=Y;v=Y+120|0;I=Y+104|0;L=Y+96|0;W=a[f+20>>2]|0;a[I>>2]=0;a[I+4>>2]=0;a[I+8>>2]=0;a[I+12>>2]=0;A:do{if((A|0)>=1){u=(W|0)==0;y=a[15712]|0;o=v+4|0;h=v+8|0;d=v+12|0;Z=I+4|0;C=I+8|0;G=I+12|0;w=0;n=0;while(1){if((w|0)==(A|0))break;B=a[e+(w<<2)>>2]|0;xR(B);if(!u?(r[W+w>>0]|0)!=0:0){s=a[B+16>>2]|0;D=+b[s+16>>3];l=~~(D+(D>=0.0?.5:-.5));a[v>>2]=l;D=+b[s+24>>3];t=~~(D+(D>=0.0?.5:-.5));a[o>>2]=t;D=+b[s+32>>3];c=~~(D+(D>=0.0?.5:-.5));a[h>>2]=c;D=+b[s+40>>3];s=~~(D+(D>=0.0?.5:-.5));a[d>>2]=s;if(!n){a[I>>2]=a[v>>2];a[I+4>>2]=a[v+4>>2];a[I+8>>2]=a[v+8>>2];a[I+12>>2]=a[v+12>>2]}else{a[I>>2]=a[((a[I>>2]|0)>(l|0)?v:I)>>2];a[Z>>2]=a[((a[Z>>2]|0)>(t|0)?v:I)+4>>2];a[C>>2]=a[((a[C>>2]|0)<(c|0)?v:I)+8>>2];a[G>>2]=a[((a[G>>2]|0)<(s|0)?v:I)+12>>2]}n=n+1|0}if(0>2){s=Vh(B)|0;B=a[B+16>>2]|0;V=+b[B+16>>3];F=+b[B+24>>3];M=+b[B+32>>3];D=+b[B+40>>3];a[g>>2]=s;b[g+8>>3]=V;b[g+16>>3]=F;b[g+24>>3]=M;b[g+32>>3]=D;f3(y,99257,g)|0}w=w+1|0}h=$F(A<<5)|0;n=0;while(1){if((n|0)==(A|0))break;g=h+(n<<5)|0;v=(a[(a[e+(n<<2)>>2]|0)+16>>2]|0)+16|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[g+16>>2]=a[v+16>>2];a[g+20>>2]=a[v+20>>2];a[g+24>>2]=a[v+24>>2];a[g+28>>2]=a[v+28>>2];n=n+1|0}u=f+8|0;o=SE(A,h,a[u>>2]|0)|0;if(0){a[E>>2]=o;f3(y,99285,E)|0}if((o|0)>=1){w=(W|0)!=0;if(w){l=((a[C>>2]|0)+(a[I>>2]|0)|0)/2|0;n=((a[G>>2]|0)+(a[Z>>2]|0)|0)/2|0}else{l=0;n=0}a[L+4>>2]=n;a[L>>2]=l;s=qF(A<<4)|0;c=f+16|0;n=0;while(1){if((n|0)>=(A|0))break;l=a[e+(n<<2)>>2]|0;t=s+(n<<4)|0;a[s+(n<<4)+12>>2]=n;if((a[c>>2]|0)==3){I=(a[l+16>>2]|0)+16|0;Z=a[u>>2]|0;G=Vh(l)|0;a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];a[Q+16>>2]=a[I+16>>2];a[Q+20>>2]=a[I+20>>2];a[Q+24>>2]=a[I+24>>2];a[Q+28>>2]=a[I+28>>2];a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];PE(Q,t,o,Z,m,G)}else{a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];OE(i,l,t,o,f,m)}n=n+1|0}t=qF(A<<2)|0;n=0;while(1){if((n|0)>=(A|0))break;a[t+(n<<2)>>2]=s+(n<<4);n=n+1|0}K4(t,A,4,89);c=$V()|0;n=qF(A<<3)|0;e:do{if(w){l=0;while(1){if((l|0)>=(A|0)){l=0;break}if(r[W+l>>0]|0){i=a[t+(l<<2)>>2]|0;f=n+(a[i+12>>2]<<3)|0;a[m>>2]=a[L>>2];a[m+4>>2]=a[L+4>>2];_E(i,c,f,m)}l=l+1|0}while(1){if((l|0)>=(A|0))break e;if(!(r[W+l>>0]|0)){L=a[t+(l<<2)>>2]|0;qE(l,L,c,n+(a[L+12>>2]<<3)|0,o,a[u>>2]|0,h)}l=l+1|0}}else{l=0;while(1){if((l|0)>=(A|0))break e;W=a[t+(l<<2)>>2]|0;qE(l,W,c,n+(a[W+12>>2]<<3)|0,o,a[u>>2]|0,h);l=l+1|0}}}while(0);L2(t);l=0;while(1){if((l|0)>=(A|0))break;L2(a[s+(l<<4)+4>>2]|0);l=l+1|0}L2(s);iJ(c);L2(h);if(0>1){l=0;while(1){if((l|0)>=(A|0))break A;L=a[n+(l<<3)>>2]|0;W=a[n+(l<<3)+4>>2]|0;a[z>>2]=l;a[z+4>>2]=L;a[z+8>>2]=W;f3(y,99301,z)|0;l=l+1|0}}}else n=0}else n=0}while(0);k=Y;return n|0}function xE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0;G=k;k=k+16|0;n=G;I=qF(A<<3)|0;f=a[i+4>>2]|0;Z=i+28|0;r=(f|0)>0;do{if(!(a[Z>>2]&1))if(r){c=1;C=(A+-1+f|0)/(f|0)|0;break}else{f=~~+p(+ +z(+ +(A|0)));c=1;C=(A+-1+f|0)/(f|0)|0;break}else if(r){c=0;C=f;f=(A+-1+f|0)/(f|0)|0;break}else{f=~~+p(+ +z(+ +(A|0)));c=0;C=f;f=(A+-1+f|0)/(f|0)|0;break}}while(0);if(0){E=a[15712]|0;a[n>>2]=c|0?99196:99206;a[n+4>>2]=C;a[n+8>>2]=f;f3(E,99219,n)|0}v=qF((f<<3)+8|0)|0;g=qF((C<<3)+8|0)|0;E=qF(A*24|0)|0;t=i+8|0;r=0;n=E;while(1){if((r|0)>=(A|0))break;o=+b[e+(r<<5)+8>>3];u=+b[e+(r<<5)+24>>3];h=+((a[t>>2]|0)>>>0);b[n>>3]=+b[e+(r<<5)+16>>3]-+b[e+(r<<5)>>3]+h;b[n+8>>3]=u-o+h;a[n+16>>2]=r;r=r+1|0;n=n+24|0}B=qF(A<<2)|0;r=0;while(1){if((r|0)>=(A|0))break;a[B+(r<<2)>>2]=E+(r*24|0);r=r+1|0}r=a[i+24>>2]|0;if(!r){if(!(a[Z>>2]&64))K4(B,A,4,91)}else{a[47056]=r;K4(B,A,4,90)}d=(c|0)==0;r=0;n=0;t=0;while(1){if((t|0)>=(A|0)){l=0.0;r=0;break}c=a[B+(t<<2)>>2]|0;i=v+(n<<3)|0;h=+b[i>>3];o=+b[c>>3];b[i>>3]=h>o?h:o;i=g+(r<<3)|0;o=+b[i>>3];h=+b[c+8>>3];b[i>>3]=o>h?o:h;if(d){r=r+1|0;i=(r|0)==(C|0);r=i?0:r;n=n+(i&1)|0}else{n=n+1|0;i=(n|0)==(f|0);r=r+(i&1)|0;n=i?0:n}t=t+1|0}while(1){if((r|0)>(f|0)){l=0.0;r=C;break}i=v+(r<<3)|0;h=+b[i>>3];b[i>>3]=l;l=h+l;r=r+1|0}while(1){if((r|0)<=0)break;i=r+-1|0;h=+b[g+(i<<3)>>3];b[g+(r<<3)>>3]=l;l=h+l;r=i}b[g>>3]=l;r=0;n=0;i=0;while(1){if((i|0)>=(A|0))break;c=a[(a[B+(i<<2)>>2]|0)+16>>2]|0;l=+b[e+(c<<5)>>3];s=-l;o=+b[e+(c<<5)+8>>3];h=-o;w=+b[e+(c<<5)+16>>3];u=+b[e+(c<<5)+24>>3];t=a[Z>>2]|0;do{if(!(t&4))if(!(t&8)){l=(s-w+ +b[v+(n<<3)>>3]+ +b[v+(n+1<<3)>>3])*.5;break}else{l=l-w+ +b[v+(n+1<<3)>>3];break}else l=+b[v+(n<<3)>>3]}while(0);a[I+(c<<3)>>2]=~~l;do{if(!(t&16))if(!(t&32)){l=(h-u+ +b[g+(r<<3)>>3]+ +b[g+(r+1<<3)>>3])*.5;break}else{l=+b[g+(r+1<<3)>>3];break}else l=o-u+ +b[g+(r<<3)>>3]}while(0);a[I+(c<<3)+4>>2]=~~l;if(d){r=r+1|0;c=(r|0)==(C|0);r=c?0:r;n=n+(c&1)|0}else{n=n+1|0;c=(n|0)==(f|0);r=r+(c&1)|0;n=c?0:n}i=i+1|0}L2(E);L2(B);L2(v);L2(g);k=G;return I|0}function TE(A,e){A=A|0;e=e|0;var i=0;i=a[47056]|0;A=a[i+(a[(a[A>>2]|0)+16>>2]<<2)>>2]|0;e=a[i+(a[(a[e>>2]|0)+16>>2]<<2)>>2]|0;return((A|0)>(e|0)?1:((A|0)<(e|0))<<31>>31)|0}function jE(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A>>2]|0;e=a[e>>2]|0;r=+b[A>>3]+ +b[A+8>>3];i=+b[e>>3]+ +b[e+8>>3];return(ri)<<31>>31)|0}function SE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0,u=0.0,o=0,h=0,d=0,B=0;B=k;k=k+96|0;h=B+80|0;d=B+48|0;o=B+8|0;s=B;c=(A*100|0)+-1|0;r=+(i<<1|0);w=0.0;u=0.0;i=0;while(1){if((i|0)>=(A|0))break;t=+b[e+(i<<5)+16>>3]-+b[e+(i<<5)>>3]+r;l=+b[e+(i<<5)+24>>3]-+b[e+(i<<5)+8>>3]+r;w=w-t-l;u=u-l*t;i=i+1|0}l=+(c|0);t=w*w-l*4.0*u;if(!(t<0.0)){r=+z(+t);n=l*2.0;f=(r-w)/n;n=(-w-r)/n;i=~~f;i=(i|0)==0?1:i;if(0>2){s=a[15712]|0;L3(99444,27,1,s)|0;b[o>>3]=l;b[o+8>>3]=w;b[o+16>>3]=u;b[o+24>>3]=t;b[o+32>>3]=r;f3(s,99472,o)|0;a[d>>2]=i;b[d+8>>3]=f;a[d+16>>2]=~~n;b[d+24>>3]=n;f3(s,99498,d)|0;b[h>>3]=(f*l+w)*f+u;b[h+8>>3]=(n*l+w)*n+u;f3(s,99520,h)|0}}else{b[s>>3]=t;ao(1,99417,s)|0;i=-1}k=B;return i|0}function PE(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0.0;g=k;k=k+32|0;v=g+16|0;B=g;o=+b[A>>3];h=+b[A+8>>3];w=+b[A+16>>3];u=+b[A+24>>3];d=$V()|0;t=a[f>>2]|0;A=t-r|0;c=a[f+4>>2]|0;l=c-r|0;t=r-~~(o+(o>=0.0?.5:-.5))+t+~~(w+(w>=0.0?.5:-.5))|0;c=r-~~(h+(h>=0.0?.5:-.5))+c+~~(u+(u>=0.0?.5:-.5))|0;if((A|0)>-1)f=(A|0)/(i|0)|0;else f=((A+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)s=(l|0)/(i|0)|0;else s=((l+1|0)/(i|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(i|0)|0;else t=((t+1|0)/(i|0)|0)+-1|0;if((c|0)>-1)l=(c|0)/(i|0)|0;else l=((c+1|0)/(i|0)|0)+-1|0;while(1){if((f|0)>(t|0))break;else A=s;while(1){if((A|0)>(l|0))break;aJ(d,f,A);A=A+1|0}f=f+1|0}c=e+4|0;a[c>>2]=cJ(d)|0;t=tJ(d)|0;s=e+8|0;a[s>>2]=t;C=+(r<<1|0);E=+(i|0);l=~~+p(+((w+C-o)/E));A=~~+p(+((u+C-h)/E));a[e>>2]=A+l;A:do{if(0>2){f=a[15712]|0;a[B>>2]=n;a[B+4>>2]=t;a[B+8>>2]=l;a[B+12>>2]=A;f3(f,99376,B)|0;A=0;while(1){if((A|0)>=(a[s>>2]|0))break A;n=a[c>>2]|0;B=a[n+(A<<3)+4>>2]|0;a[v>>2]=a[n+(A<<3)>>2];a[v+4>>2]=B;f3(f,99403,v)|0;A=A+1|0}}}while(0);iJ(d);k=g;return}function OE(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0.0,U=0.0;R=k;k=k+128|0;z=R+112|0;y=R+104|0;X=R+16|0;N=R;D=R+64|0;M=R+56|0;G=R+40|0;Q=R+96|0;Z=R+88|0;E=R+24|0;C=R+80|0;I=R+72|0;V=a[f+8>>2]|0;Y=a[f+12>>2]|0;L=(A|0)==0?e:A;J=$V()|0;F=e+16|0;m=a[F>>2]|0;v=+b[m+16>>3];W=(a[n>>2]|0)-~~(v+(v>=0.0?.5:-.5))|0;v=+b[m+24>>3];m=(a[n+4>>2]|0)-~~(v+(v>=0.0?.5:-.5))|0;A:do{if((a[f+16>>2]|0)==1){E=$F((vh(e)|0)<<2)|0;A=0;n=cd(e)|0;while(1){if(!n)break;I=n+16|0;a[E+(A<<2)>>2]=a[(a[I>>2]|0)+112>>2];a[(a[I>>2]|0)+112>>2]=0;A=A+1|0;n=bd(e,n)|0}u=W-V|0;o=m-V|0;h=W+V|0;d=m+V|0;w=1;while(1){A=a[F>>2]|0;if((w|0)>(a[A+180>>2]|0))break;s=a[(a[A+184>>2]|0)+(w<<2)>>2]|0;l=a[s+16>>2]|0;v=+b[l+16>>3];A=~~(v+(v>=0.0?.5:-.5));v=+b[l+24>>3];n=~~(v+(v>=0.0?.5:-.5));v=+b[l+32>>3];f=~~(v+(v>=0.0?.5:-.5));v=+b[l+40>>3];l=~~(v+(v>=0.0?.5:-.5));e:do{if((f|0)>(A|0)&(l|0)>(n|0)){A=u+A|0;t=o+n|0;f=h+f|0;c=d+l|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(r|0)|0;else t=((t+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)l=(f|0)/(r|0)|0;else l=((f+1|0)/(r|0)|0)+-1|0;if((c|0)>-1)f=(c|0)/(r|0)|0;else f=((c+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=t;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}A=cd(s)|0;while(1){if(!A)break e;a[(a[A+16>>2]|0)+212>>2]=s;A=bd(s,A)|0}}}while(0);w=w+1|0}d=G+8|0;B=D+4|0;v=+(V|0);g=M+4|0;h=Q+4|0;o=Z+4|0;u=cd(e)|0;while(1){if(!u)break;QR(G,u);U=+b[G>>3];H=+b[d>>3];s=W+~~(U+(U>=0.0?.5:-.5))|0;a[D>>2]=s;w=m+~~(H+(H>=0.0?.5:-.5))|0;a[B>>2]=w;n=u+16|0;A=a[n>>2]|0;e:do{if(!(a[A+212>>2]|0)){a[M>>2]=~~((+b[A+96>>3]+ +b[A+88>>3])*.5+v);a[g>>2]=~~(+b[A+80>>3]*.5+v);a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];AC(Q,y,z);A=a[Q>>2]|0;f=a[h>>2]|0;a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];eC(Z,y,z);l=a[Z>>2]|0;t=a[o>>2]|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break e;a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y);A=_o(L,A)|0}}else{if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break e;if((a[(a[n>>2]|0)+212>>2]|0)!=(a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y)}A=_o(L,A)|0}}}while(0);u=bd(e,u)|0}A=0;n=cd(e)|0;while(1){if(!n)break;a[(a[n+16>>2]|0)+112>>2]=a[E+(A<<2)>>2];A=A+1|0;n=bd(e,n)|0}L2(E)}else{d=E+8|0;B=D+4|0;v=+(V|0);g=M+4|0;h=C+4|0;o=I+4|0;u=cd(e)|0;while(1){if(!u)break A;QR(E,u);H=+b[E>>3];U=+b[d>>3];s=W+~~(H+(H>=0.0?.5:-.5))|0;a[D>>2]=s;w=m+~~(U+(U>=0.0?.5:-.5))|0;a[B>>2]=w;A=a[u+16>>2]|0;a[M>>2]=~~((+b[A+96>>3]+ +b[A+88>>3])*.5+v);a[g>>2]=~~(+b[A+80>>3]*.5+v);a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];AC(C,y,z);A=a[C>>2]|0;f=a[h>>2]|0;a[y>>2]=a[D>>2];a[y+4>>2]=a[D+4>>2];a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];eC(I,y,z);l=a[I>>2]|0;t=a[o>>2]|0;if((A|0)>-1)n=(A|0)/(r|0)|0;else n=((A+1|0)/(r|0)|0)+-1|0;if((f|0)>-1)c=(f|0)/(r|0)|0;else c=((f+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)f=(t|0)/(r|0)|0;else f=((t+1|0)/(r|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=c;while(1){if((A|0)>(f|0))break;aJ(J,n,A);A=A+1|0}n=n+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;a[D>>2]=A;if((w|0)>-1)A=(w|0)/(r|0)|0;else A=((w+1|0)/(r|0)|0)+-1|0;a[B>>2]=A;A=Oo(L,u)|0;while(1){if(!A)break;a[z>>2]=a[D>>2];a[z+4>>2]=a[D+4>>2];iC(A,z,J,W,m,r,Y);A=_o(L,A)|0}u=bd(e,u)|0}}}while(0);l=i+4|0;a[l>>2]=cJ(J)|0;t=i+8|0;a[t>>2]=tJ(J)|0;n=a[F>>2]|0;H=+(V<<1|0);U=+(r|0);A=~~+p(+((+b[n+32>>3]+H-+b[n+16>>3])/U));n=~~+p(+((+b[n+40>>3]+H-+b[n+24>>3])/U));a[i>>2]=n+A;A:do{if(0>2){f=a[15712]|0;i=Vh(e)|0;e=a[t>>2]|0;a[N>>2]=i;a[N+4>>2]=e;a[N+8>>2]=A;a[N+12>>2]=n;f3(f,99376,N)|0;A=0;while(1){if((A|0)>=(a[t>>2]|0))break A;e=a[l>>2]|0;N=a[e+(A<<3)+4>>2]|0;a[X>>2]=a[e+(A<<3)>>2];a[X+4>>2]=N;f3(f,99403,X)|0;A=A+1|0}}}while(0);iJ(J);k=R;return}function KE(A,e){A=A|0;e=e|0;return(a[a[e>>2]>>2]|0)-(a[a[A>>2]>>2]|0)|0}function _E(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+32|0;l=c+16|0;t=c;b=a[A+4>>2]|0;n=a[A+8>>2]|0;a[i>>2]=0-(a[r>>2]|0);f=i+4|0;a[f>>2]=0-(a[r+4>>2]|0);A=0;r=b;while(1){if((A|0)>=(n|0))break;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];rJ(e,l);A=A+1|0;r=r+8|0}if(0>1){b=a[15712]|0;e=a[i>>2]|0;i=a[f>>2]|0;a[t>>2]=n;a[t+4>>2]=e;a[t+8>>2]=i;f3(b,99350,t)|0}k=c;return}function qE(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0;c=a[e+12>>2]|0;s=+b[l+(c<<5)>>3];w=+b[l+(c<<5)+8>>3];u=+b[l+(c<<5)+16>>3];k=+b[l+(c<<5)+24>>3];if(!((A|0)==0?(h=+(n<<1|0),o=+(f|0),($E((~~+p(+((h-s+u)/o))|0)/-2|0,(~~+p(+((h-w+k)/o))|0)/-2|0,e,i,r,f,l)|0)!=0):0))t=3;A:do{if((t|0)==3?($E(0,0,e,i,r,f,l)|0)==0:0)if((~~+p(+(u-s))|0)<(~~+p(+(k-w))|0)){c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)<=(t|0)){n=t;break}if($E(t,A,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((n|0)>=(c|0))break;if($E(n,A,e,i,r,f,l)|0)break A;n=n+1|0}while(1){if((A|0)>=(c|0))break;if($E(n,A,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((n|0)<=(t|0))break;if($E(n,A,e,i,r,f,l)|0)break A;n=n+-1|0}while(1){if((A|0)<=0)break;if(!($E(n,A,e,i,r,f,l)|0))A=A+-1|0;else break A}c=c+1|0}}else{c=1;while(1){t=0-c|0;A=0;while(1){if((A|0)>=(c|0)){n=t;break}if($E(A,t,e,i,r,f,l)|0)break A;A=A+1|0}while(1){if((n|0)>=(c|0))break;if($E(A,n,e,i,r,f,l)|0)break A;n=n+1|0}while(1){if((A|0)<=(t|0))break;if($E(A,n,e,i,r,f,l)|0)break A;A=A+-1|0}while(1){if((n|0)<=(t|0))break;if($E(A,n,e,i,r,f,l)|0)break A;n=n+-1|0}while(1){if((A|0)>=0)break;if(!($E(A,n,e,i,r,f,l)|0))A=A+1|0;else break A}c=c+1|0}}}while(0);return}function $E(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0.0;v=k;k=k+48|0;d=v+32|0;B=v+8|0;h=v;s=i+4|0;u=a[i+8>>2]|0;o=h+4|0;t=a[s>>2]|0;c=0;while(1){if((c|0)>=(u|0)){w=5;break}E=t;g=a[E+4>>2]|0;a[h>>2]=(a[E>>2]|0)+A;a[o>>2]=g+e;a[d>>2]=a[h>>2];a[d+4>>2]=a[h+4>>2];if(nJ(r,d)|0){t=0;break}t=t+8|0;c=c+1|0}if((w|0)==5){i=a[i+12>>2]|0;I=+b[l+(i<<5)>>3];C=+b[l+(i<<5)+8>>3];a[f>>2]=(U(n,A)|0)-~~(I+(I>=0.0?.5:-.5));i=f+4|0;a[i>>2]=(U(n,e)|0)-~~(C+(C>=0.0?.5:-.5));t=a[s>>2]|0;c=0;while(1){if((c|0)>=(u|0))break;g=t;E=a[g+4>>2]|0;a[h>>2]=(a[g>>2]|0)+A;a[o>>2]=E+e;a[d>>2]=a[h>>2];a[d+4>>2]=a[h+4>>2];rJ(r,d);t=t+8|0;c=c+1|0}if(0>1){t=a[15712]|0;g=a[f>>2]|0;E=a[i>>2]|0;a[B>>2]=u;a[B+4>>2]=A;a[B+8>>2]=e;a[B+12>>2]=g;a[B+16>>2]=E;f3(t,99316,B)|0;t=1}else t=1}k=v;return t|0}function AC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[e+4>>2]|0)-(a[i+4>>2]|0)|0;a[A>>2]=(a[e>>2]|0)-(a[i>>2]|0);a[A+4>>2]=r;return}function eC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[i+4>>2]|0)+(a[e+4>>2]|0)|0;a[A>>2]=(a[i>>2]|0)+(a[e>>2]|0);a[A+4>>2]=r;return}function iC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+112|0;I=Q+96|0;C=Q+80|0;d=Q+48|0;B=Q+32|0;Z=Q+16|0;G=Q;w=Q+64|0;b[Z>>3]=+(a[e>>2]|0);v=Z+8|0;b[v>>3]=+(a[e+4>>2]|0);A:do{if((l|0)!=0?(g=A+16|0,s=a[(a[g>>2]|0)+8>>2]|0,(s|0)!=0):0){h=+(r|0);o=+(f|0);u=1.0/+(n|0);w=G+8|0;l=0;while(1){if((l|0)>=(a[s+4>>2]|0))break A;f=a[s>>2]|0;A=a[f+(l*48|0)>>2]|0;e=a[f+(l*48|0)+4>>2]|0;n=a[f+(l*48|0)+8>>2]|0;r=a[f+(l*48|0)+12>>2]|0;s=f+(l*48|0)+16|0;a[d>>2]=a[s>>2];a[d+4>>2]=a[s+4>>2];a[d+8>>2]=a[s+8>>2];a[d+12>>2]=a[s+12>>2];f=f+(l*48|0)+32|0;a[B>>2]=a[f>>2];a[B+4>>2]=a[f+4>>2];a[B+8>>2]=a[f+8>>2];a[B+12>>2]=a[f+12>>2];if(!n){a[Z>>2]=a[A>>2];a[Z+4>>2]=a[A+4>>2];a[Z+8>>2]=a[A+8>>2];a[Z+12>>2]=a[A+12>>2];s=A+16|0;a[G>>2]=a[s>>2];a[G+4>>2]=a[s+4>>2];a[G+8>>2]=a[s+8>>2];a[G+12>>2]=a[s+12>>2];s=2}else{a[Z>>2]=a[d>>2];a[Z+4>>2]=a[d+4>>2];a[Z+8>>2]=a[d+8>>2];a[Z+12>>2]=a[d+12>>2];a[G>>2]=a[A>>2];a[G+4>>2]=a[A+4>>2];a[G+8>>2]=a[A+8>>2];a[G+12>>2]=a[A+12>>2];s=1}t=+b[Z>>3]+h;b[Z>>3]=t;c=+b[v>>3]+o;b[v>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[Z>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[v>>3]=t;t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i);while(1){if((s|0)>=(e|0))break;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];n=A+(s<<4)|0;a[G>>2]=a[n>>2];a[G+4>>2]=a[n+4>>2];a[G+8>>2]=a[n+8>>2];a[G+12>>2]=a[n+12>>2];t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i);s=s+1|0}if(r|0){a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[G>>2]=a[B>>2];a[G+4>>2]=a[B+4>>2];a[G+8>>2]=a[B+8>>2];a[G+12>>2]=a[B+12>>2];t=+b[G>>3]+h;b[G>>3]=t;c=+b[w>>3]+o;b[w>>3]=c;if(!(t>=0.0))t=(t+1.0)*u+-1.0;else t=t*u;b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)*u+-1.0;else t=c*u;b[w>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i)}l=l+1|0;s=a[(a[g>>2]|0)+8>>2]|0}}else E=4}while(0);if((E|0)==4){QR(w,a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0);a[G>>2]=a[w>>2];a[G+4>>2]=a[w+4>>2];a[G+8>>2]=a[w+8>>2];a[G+12>>2]=a[w+12>>2];t=+b[G>>3]+ +(r|0);b[G>>3]=t;s=G+8|0;c=+b[s>>3]+ +(f|0);b[s>>3]=c;if(!(t>=0.0))t=(t+1.0)/+(n|0)+-1.0;else t=t/+(n|0);b[G>>3]=t;if(!(c>=0.0))t=(c+1.0)/+(n|0)+-1.0;else t=c/+(n|0);b[s>>3]=t;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[I>>2]=a[G>>2];a[I+4>>2]=a[G+4>>2];a[I+8>>2]=a[G+8>>2];a[I+12>>2]=a[G+12>>2];HE(C,I,i)}k=Q;return}function rC(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((A|0)<1)A=0;else switch(a[i+16>>2]|0){case 4:{A=xE(A,e,i)|0;break A}case 3:{A=fC(A,e,i)|0;break A}default:{A=0;break A}}}while(0);return A|0}function fC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+80|0;n=w+64|0;f=w+24|0;s=w+8|0;r=w;l=w+56|0;c=i+8|0;b=SE(A,e,a[c>>2]|0)|0;if(0){t=a[15712]|0;a[r>>2]=b;f3(t,99285,r)|0}A:do{if((b|0)>=1){a[l+4>>2]=0;a[l>>2]=0;t=qF(A<<4)|0;i=0;while(1){if((i|0)>=(A|0))break;a[t+(i<<4)+12>>2]=i;u=e+(i<<5)|0;r=a[c>>2]|0;a[f>>2]=a[u>>2];a[f+4>>2]=a[u+4>>2];a[f+8>>2]=a[u+8>>2];a[f+12>>2]=a[u+12>>2];a[f+16>>2]=a[u+16>>2];a[f+20>>2]=a[u+20>>2];a[f+24>>2]=a[u+24>>2];a[f+28>>2]=a[u+28>>2];a[n>>2]=a[l>>2];a[n+4>>2]=a[l+4>>2];PE(f,t+(i<<4)|0,b,r,n,195059);i=i+1|0}f=qF(A<<2)|0;i=0;while(1){if((i|0)>=(A|0))break;a[f+(i<<2)>>2]=t+(i<<4);i=i+1|0}K4(f,A,4,89);n=$V()|0;i=qF(A<<3)|0;r=0;while(1){if((r|0)>=(A|0))break;u=a[f+(r<<2)>>2]|0;qE(r,u,n,i+(a[u+12>>2]<<3)|0,b,a[c>>2]|0,e);r=r+1|0}L2(f);r=0;while(1){if((r|0)>=(A|0))break;L2(a[t+(r<<4)+4>>2]|0);r=r+1|0}L2(t);iJ(n);if(0>1){f=a[15712]|0;r=0;while(1){if((r|0)>=(A|0))break A;e=a[i+(r<<3)>>2]|0;u=a[i+(r<<3)+4>>2]|0;a[s>>2]=r;a[s+4>>2]=e;a[s+8>>2]=u;f3(f,99301,s)|0;r=r+1|0}}}else i=0}while(0);k=w;return i|0}function aC(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0,d=0,B=0,v=0;A:do{if((A|0)<1)f=0-A|0;else{B=(r|0)==0;h=(f|0)==0;t=0;while(1){if((t|0)==(A|0)){f=0;break A}d=a[e+(t<<2)>>2]|0;n=B?d:r;c=a[i+(t<<3)>>2]|0;s=a[i+(t<<3)+4>>2]|0;w=+(c|0);u=w*.013888888888888888;k=+(s|0);o=k*.013888888888888888;l=cd(d)|0;while(1){if(!l)break;f=a[l+16>>2]|0;v=a[f+132>>2]|0;b[v>>3]=+b[v>>3]+u;v=v+8|0;b[v>>3]=+b[v>>3]+o;v=f+16|0;b[v>>3]=+b[v>>3]+w;v=f+24|0;b[v>>3]=+b[v>>3]+k;f=a[f+108>>2]|0;if(f|0){v=f+56|0;b[v>>3]=+b[v>>3]+w;v=f+64|0;b[v>>3]=+b[v>>3]+k}e:do{if(!h){f=Oo(n,l)|0;while(1){if(!f)break e;nC(f,c,s);f=_o(n,f)|0}}}while(0);l=bd(d,l)|0}lC(d,c,s);t=t+1|0}}}while(0);return f|0}function nC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0.0,c=0,s=0.0,w=0,u=0;r=a[A+16>>2]|0;A=a[r+96>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+108>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+100>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}A=a[r+104>>2]|0;if(A|0){w=A+56|0;b[w>>3]=+b[w>>3]+ +(e|0);w=A+64|0;b[w>>3]=+b[w>>3]+ +(i|0)}w=a[r+8>>2]|0;A:do{if(w|0){s=+(e|0);t=+(i|0);e=a[w+4>>2]|0;A=0;while(1){if((A|0)>=(e|0))break A;c=a[w>>2]|0;i=a[c+(A*48|0)>>2]|0;f=a[c+(A*48|0)+4>>2]|0;n=a[c+(A*48|0)+8>>2]|0;l=a[c+(A*48|0)+12>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;u=i+(r<<4)|0;b[u>>3]=+b[u>>3]+s;u=i+(r<<4)+8|0;b[u>>3]=+b[u>>3]+t;r=r+1|0}if(n|0){u=c+(A*48|0)+16|0;b[u>>3]=+b[u>>3]+s;u=c+(A*48|0)+24|0;b[u>>3]=+b[u>>3]+t}if(l|0){u=c+(A*48|0)+32|0;b[u>>3]=+b[u>>3]+s;u=c+(A*48|0)+40|0;b[u>>3]=+b[u>>3]+t}A=A+1|0}}}while(0);return}function lC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0,u=0.0,k=0;t=A+16|0;A=a[t>>2]|0;k=A+16|0;w=A+24|0;f=A+32|0;A=A+40|0;n=+(e|0);s=+b[f>>3]+n;l=+(i|0);u=+b[w>>3]+l;c=+b[A>>3]+l;b[k>>3]=+b[k>>3]+n;b[w>>3]=u;b[f>>3]=s;b[A>>3]=c;A=a[t>>2]|0;f=a[A+12>>2]|0;if((f|0)!=0?(r[f+81>>0]|0)!=0:0){k=f+56|0;b[k>>3]=+b[k>>3]+n;f=f+64|0;b[f>>3]=+b[f>>3]+l;f=1}else f=1;while(1){if((f|0)>(a[A+180>>2]|0))break;lC(a[(a[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=a[t>>2]|0}return}function tC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=pE(A,e,i,r)|0;if(!f)A=1;else{A=aC(A,e,f,i,a[r+12>>2]|0)|0;L2(f)}return A|0}function cC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+32|0;u=o;w=tC(A,e,i,r)|0;if(!w){xR(i);s=(a[i+16>>2]|0)+16|0;a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];a[u+16>>2]=a[s+16>>2];a[u+20>>2]=a[s+20>>2];a[u+24>>2]=a[s+24>>2];a[u+28>>2]=a[s+28>>2];f=u+8|0;n=u+16|0;l=u+24|0;r=0;while(1){if((r|0)>=(A|0))break;c=a[(a[e+(r<<2)>>2]|0)+16>>2]|0;t=a[c+180>>2]|0;c=c+184|0;i=1;while(1){if((i|0)>(t|0))break;d=(a[(a[(a[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16|0;b[u>>3]=+b[(+b[u>>3]<+b[d>>3]?u:d)>>3];d=a[(a[(a[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;h=d+16|0;b[f>>3]=+b[(+b[f>>3]<+b[d+24>>3]?u:h)+8>>3];b[n>>3]=+b[(+b[n>>3]>+b[d+32>>3]?u:h)+16>>3];b[l>>3]=+b[(+b[l>>3]>+b[d+40>>3]?u:h)+24>>3];i=i+1|0}r=r+1|0}a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[s+16>>2]=a[u+16>>2];a[s+20>>2]=a[u+20>>2];a[s+24>>2]=a[u+24>>2];a[s+28>>2]=a[u+28>>2]}k=o;return w|0}function bC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;n=k;k=k+16|0;f=n;if(!r)vA(99534,99540,1400,99547);i=sC(A,i,i)|0;a[r+8>>2]=i;if(0){l=a[15712]|0;a[f>>2]=i;f3(l,99559,f)|0}a[r+12>>2]=0;a[r+20>>2]=0;wC(A,e,r)|0;k=n;return a[r+16>>2]|0}function sC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;f=t+4|0;n=po(A,99689)|0;A:do{if(n){a[l>>2]=f;l=(J3(n,137395,l)|0)==1;A=a[f>>2]|0;if(l&(A|0)>-1)e=A;else{switch(r[n>>0]|0){case 84:case 116:break;default:break A}e=i}}}while(0);k=t;return e|0}function wC(A,e,i){A=A|0;e=e|0;i=i|0;return uC(po(A,99572)|0,e,i)|0}function uC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+64|0;d=g+40|0;h=g+32|0;v=g+24|0;B=g+16|0;s=g+8|0;t=g;n=g+48|0;l=g+44|0;if(!i)vA(99534,99540,1292,99581);u=i+28|0;a[u>>2]=0;o=i+16|0;a[o>>2]=e;w=i+4|0;a[w>>2]=0;a[i+24>>2]=0;A:do{if(A|0?(f=r[A>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(Z1(A,99599,5)|0)){a[o>>2]=4;s=kC(A+5|0,i)|0;a[t>>2]=l;s=(J3(s,137395,t)|0)>0;e=a[l>>2]|0;if(!(s&(e|0)>0))break A;a[w>>2]=e;break A}else{if(Z1(A,99605,6)|0)break A;a[o>>2]=5;a[s>>2]=n;s=(J3(A+5|0,99612,s)|0)>0;E=+c[n>>2];c[i>>2]=s&E>0.0?E:1.0;break A}case 99:{if(f<<24>>24!=99)break A;if(A1(A,108006)|0)break A;a[o>>2]=1;break A}case 103:{if(f<<24>>24!=103)break A;if(A1(A,111494)|0)break A;a[o>>2]=3;break A}case 110:{if(f<<24>>24!=110)break A;if(A1(A,111481)|0)break A;a[o>>2]=2;break A}default:break A}}while(0);if(0){e=a[15712]|0;L3(99615,11,1,e)|0;a[B>>2]=oC(a[o>>2]|0)|0;f3(e,99627,B)|0;if((a[o>>2]|0)==5){b[v>>3]=+c[i>>2];f3(e,99640,v)|0}a[h>>2]=a[w>>2];f3(e,99653,h)|0;a[d>>2]=a[u>>2];f3(e,99666,d)|0}k=g;return a[o>>2]|0}function kC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;A:do{if((r[A>>0]|0)==95){f=e+28|0;i=1;while(1){A=A+1|0;e:while(1){if(!i)break A;e=r[A>>0]|0;if(!(e<<24>>24))break A;switch(e<<24>>24|0){case 99:{n=10;break e}case 105:{n=9;break e}case 117:{n=11;break e}case 116:{n=12;break e}case 98:{e=32;break e}case 108:{n=7;break e}case 114:{n=8;break e}default:i=0}}if((n|0)==7){n=0;e=4}else if((n|0)==8){n=0;e=8}else if((n|0)==9){n=0;e=64}else if((n|0)==10){n=0;e=1}else if((n|0)==11){n=0;e=2}else if((n|0)==12){n=0;e=16}a[f>>2]=a[f>>2]|e}}}while(0);return A|0}function oC(A){A=A|0;switch(A|0){case 1:{A=108006;break}case 2:{A=111481;break}case 3:{A=111494;break}case 4:{A=99599;break}case 5:{A=99605;break}default:A=99679}return A|0}function hC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+96|0;b=w;s=w+80|0;do{if(A){if(!r){r=W2(1,20)|0;a[r+4>>2]=i>>>0>80?i:80}i=a[r>>2]|0;c=a[r+4>>2]|0;if(!i){l=100;i=A;t=W2(100,c)|0}else{l=i+100|0;t=y2(a[r+8>>2]|0,U(l,c)|0)|0;Y6(t+(U(c,i)|0)|0,0,c*100|0)|0;i=A}while(1){i=dC(b,i,e,s)|0;if(!i)break;A=a[r>>2]|0;f=l<<1;n=U(l,c)|0;if((A|0)==(l|0)){t=y2(t,U(f,c)|0)|0;Y6(t+n|0,0,n|0)|0;A=a[r>>2]|0}else f=l;A=t+(U(A,c)|0)|0;n=b;l=A+80|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0));a[r>>2]=(a[r>>2]|0)+1;l=f}if(a[s>>2]|0){s=r+16|0;a[s>>2]=a[s>>2]|1}i=a[r>>2]|0;if(!i){L2(t);L2(r);r=0;break}else{a[r+8>>2]=y2(t,U(i,c)|0)|0;break}}}while(0);k=w;return r|0}function dC(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+80|0;l=c+64|0;t=c;a[f>>2]=0;do{n=r[e>>0]|0;e=e+1|0}while((Q1(n)|0)!=0);A:do{switch(n|0){case 69:{a[A>>2]=0;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i>>2];break}case 101:{a[A>>2]=1;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i>>2];break}case 80:{a[A>>2]=2;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+4>>2];break}case 112:{a[A>>2]=3;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+4>>2];break}case 98:{a[A>>2]=4;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+8>>2];break}case 66:{a[A>>2]=5;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+8>>2];break}case 99:{e=gC(e,l)|0;if(!e){a[f>>2]=1;e=0;break A}n=EC(a[l>>2]|0,t)|0;a[l>>2]=n;if(!n){a[f>>2]=1;e=0;break A}if(!(a[t>>2]|0)){a[A>>2]=9;a[A+8>>2]=a[t+8>>2];if(!i)break A;a[A+72>>2]=a[i+24>>2];break A}else{a[A>>2]=14;f=A+8|0;n=t;l=f+64|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));if(!i)break A;a[A+72>>2]=a[i+40>>2];break A}}case 67:{e=gC(e,l)|0;if(!e){a[f>>2]=1;e=0;break A}n=EC(a[l>>2]|0,t)|0;a[l>>2]=n;if(!n){a[f>>2]=1;e=0;break A}if(!(a[t>>2]|0)){a[A>>2]=8;a[A+8>>2]=a[t+8>>2];if(!i)break A;a[A+72>>2]=a[i+20>>2];break A}else{a[A>>2]=13;f=A+8|0;n=t;l=f+64|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));if(!i)break A;a[A+72>>2]=a[i+40>>2];break A}}case 76:{a[A>>2]=6;e=vC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+12>>2];break}case 84:{a[A>>2]=7;e=CC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=CC(e,A+16|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=IC(e,A+24|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=CC(e,A+32|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+40|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+16>>2];break}case 70:{a[A>>2]=10;e=CC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+16|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+28>>2];break}case 83:{a[A>>2]=11;e=gC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+32>>2];break}case 73:{a[A>>2]=12;e=BC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}e=gC(e,A+40|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+36>>2];break}case 116:{a[A>>2]=15;e=ZC(e,A+8|0)|0;if(!e){a[f>>2]=1;e=0;break A}if(i)a[A+72>>2]=a[i+44>>2];break}case 0:{e=0;break}default:{a[f>>2]=1;e=0}}}while(0);k=c;return e|0}function BC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;r=l;b[e>>3]=+A8(A,r);f=a[r>>2]|0;if(((f|0)!=(A|0)?(b[e+8>>3]=+A8(f,r),n=a[r>>2]|0,(f|0)!=(n|0)):0)?(b[e+16>>3]=+A8(n,r),i=a[r>>2]|0,(n|0)!=(i|0)):0){b[e+24>>3]=+A8(i,r);A=a[r>>2]|0;A=(i|0)==(A|0)?0:A}else A=0;k=l;return A|0}function vC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+4|0;n=c;A=GC(A,t)|0;do{if(A){i=a[t>>2]|0;l=W2(i,24)|0;a[e>>2]=i;r=l;f=0;while(1){if((f|0)>=(i|0)){i=9;break}b[r>>3]=+A8(A,n);i=a[n>>2]|0;if((A|0)==(i|0)){i=5;break}b[r+8>>3]=+A8(i,n);A=a[n>>2]|0;if((i|0)==(A|0)){i=7;break}b[r+16>>3]=0.0;r=r+24|0;i=a[e>>2]|0;f=f+1|0}if((i|0)==5){a[t>>2]=f;L2(l);A=0;break}else if((i|0)==7){a[t>>2]=f;L2(l);A=0;break}else if((i|0)==9){a[t>>2]=f;a[e+4>>2]=l;break}}else A=0}while(0);k=c;return A|0}function gC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;A=GC(A,t)|0;f=a[t>>2]|0;do{if(!((A|0)==0|(f|0)<1)){while(1){l=r[A>>0]|0;i=l<<24>>24==0;if(i^l<<24>>24!=45)A=A+1|0;else break}if(!i){l=W2(f+1|0,1)|0;n=l;i=f;while(1){A=A+1|0;if((i|0)<=0){i=9;break}i=r[A>>0]|0;if(!(i<<24>>24)){i=8;break}r[n>>0]=i;i=(a[t>>2]|0)+-1|0;a[t>>2]=i;n=n+1|0}if((i|0)==8){L2(l);A=0;break}else if((i|0)==9){r[n>>0]=0;a[e>>2]=l;break}}else A=0}else A=0}while(0);k=c;return A|0}function EC(A,e){A=A|0;e=e|0;var i=0;i=r[A>>0]|0;switch(i|0){case 91:{A=QC(A+1|0,e)|0;break}case 40:{A=mC(A+1|0,e)|0;break}case 47:case 35:{a[e>>2]=0;a[e+8>>2]=A;break}default:if(!(V1(i)|0))A=0;else{a[e>>2]=0;a[e+8>>2]=A}}return A|0}function CC(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0;f=k;k=k+16|0;i=f;r=+A8(A,i);i=a[i>>2]|0;if((i|0)==(A|0))i=0;else b[e>>3]=r;k=f;return i|0}function IC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;A=GC(A,r)|0;r=a[r>>2]|0;a[e>>2]=(r|0)<0?0:r|0?2:1;k=i;return A|0}function ZC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[e>>2]=m1(A,r,10)|0;e=a[r>>2]|0;k=i;return((e|0)==(A|0)?0:e)|0}function GC(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[e>>2]=n3(A,r,10)|0;e=a[r>>2]|0;k=i;return((e|0)==(A|0)?0:e)|0}function QC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0;u=k;k=k+16|0;s=u;a[e>>2]=1;w=e+8|0;n=CC(A,w)|0;do{if(((((n|0)!=0?(l=CC(n,e+16|0)|0,(l|0)!=0):0)?(r=CC(l,e+24|0)|0,(r|0)!=0):0)?(f=CC(r,e+32|0)|0,(f|0)!=0):0)?(t=e+40|0,i=GC(f,t)|0,(i|0)!=0):0){e=a[t>>2]|0;f=W2(e,8)|0;r=0;while(1){if((r|0)>=(e|0)){i=13;break}i=CC(i,s)|0;if(!i){i=9;break}c[f+(r<<3)>>2]=+b[s>>3];i=gC(i,f+(r<<3)+4|0)|0;if(!i){i=12;break}r=r+1|0;e=a[t>>2]|0}if((i|0)==9){L2(f);A=0;break}else if((i|0)==12){L2(f);A=0;break}else if((i|0)==13){a[w+36>>2]=f;break}}else A=0}while(0);k=u;return A|0}function mC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;a[e>>2]=2;t=CC(A,e+8|0)|0;do{if(((((((t|0)!=0?(s=CC(t,e+16|0)|0,(s|0)!=0):0)?(r=CC(s,e+24|0)|0,(r|0)!=0):0)?(f=CC(r,e+32|0)|0,(f|0)!=0):0)?(n=CC(f,e+40|0)|0,(n|0)!=0):0)?(l=CC(n,e+48|0)|0,(l|0)!=0):0)?(u=e+56|0,i=GC(l,u)|0,(i|0)!=0):0){r=a[u>>2]|0;n=W2(r,8)|0;f=0;while(1){if((f|0)>=(r|0)){i=15;break}i=CC(i,w)|0;if(!i){i=11;break}c[n+(f<<3)>>2]=+b[w>>3];i=gC(i,n+(f<<3)+4|0)|0;if(!i){i=14;break}f=f+1|0;r=a[u>>2]|0}if((i|0)==11){L2(n);A=0;break}else if((i|0)==14){L2(n);A=0;break}else if((i|0)==15){a[e+60>>2]=n;break}}else A=0}while(0);k=o;return A|0}function LC(A,e,i){A=A|0;e=e|0;i=i|0;return hC(A,e,i,0)|0}function WC(A){A=A|0;return LC(A,0,0)|0}function yC(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=a[A+12>>2]|0;if(A|0){f=a[A+8>>2]|0;n=A+4|0;l=(r|0)==0;e=0;while(1){if((e|0)>=(a[A>>2]|0))break;i=f+(U(a[n>>2]|0,e)|0)|0;if(!l)F5[r&127](i);zC(i);e=e+1|0}L2(f);L2(A)}return}function zC(A){A=A|0;switch(a[A>>2]|0){case 3:case 2:{L2(a[A+8+4>>2]|0);break}case 5:case 4:{L2(a[A+8+4>>2]|0);break}case 6:{L2(a[A+8+4>>2]|0);break}case 7:{L2(a[A+40>>2]|0);break}case 9:case 8:{L2(a[A+8>>2]|0);break}case 14:case 13:{YC(A+8|0);break}case 10:{L2(a[A+16>>2]|0);break}case 11:{L2(a[A+8>>2]|0);break}case 12:{L2(a[A+40>>2]|0);break}default:{}}return}function YC(A){A=A|0;var e=0,i=0,r=0;switch(a[A>>2]|0){case 1:{r=A+40|0;e=A+8+36|0;A=0;while(1){i=a[e>>2]|0;if((A|0)>=(a[r>>2]|0))break;L2(a[i+(A<<3)+4>>2]|0);A=A+1|0}L2(i);break}case 2:{r=A+56|0;i=A+60|0;A=0;while(1){e=a[i>>2]|0;if((A|0)>=(a[r>>2]|0))break;L2(a[e+(A<<3)+4>>2]|0);A=A+1|0}L2(e);break}default:{}}return}function DC(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;b=u+4|0;w=u;a[e>>2]=0;a[i>>2]=(Ih(Id(A)|0)|0)!=0&1;f=a[47184]|0;A:do{if(f|0?(l=Uo(A,f)|0,t=r[l>>0]|0,t<<24>>24):0){f=20388;while(1){n=a[f>>2]|0;if(!n)break A;if(t<<24>>24==(r[n>>0]|0)?(A1(l,n)|0)==0:0)break;f=f+12|0}a[e>>2]=a[f+4>>2];a[i>>2]=a[f+8>>2]}}while(0);f=a[47195]|0;if((f|0?(a[i>>2]|0)==1:0)?(c=Uo(A,f)|0,r[c>>0]|0):0)MC(c,i);f=a[47196]|0;if((f|0?(a[e>>2]|0)==1:0)?(s=Uo(A,f)|0,r[s>>0]|0):0)MC(s,e);if(r[(a[A+16>>2]|0)+153>>0]|0){c=A+-48|0;t=Id(a[((a[A>>2]&3|0)==2?A:c)+40>>2]|0)|0;s=a[A>>2]&3;DC(th(t,a[((s|0)==2?A:c)+40>>2]|0,a[((s|0)==3?A:A+48|0)+40>>2]|0,0,0)|0,b,w);a[i>>2]=a[b>>2]|a[i>>2];a[e>>2]=a[w>>2]|a[e>>2]}k=u;return}function MC(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;s=u;b=u+4|0;c=0;i=0;A:while(1){a[e>>2]=i;n=(c|0)<4;l=(c|0)==3;t=(c|0)==0;while(1){if(!(n&(r[A>>0]|0)!=0))break A;a[b>>2]=0;f=FC(A,b)|0;i=a[b>>2]|0;if(!i){w=5;break A}A=(i|0)==8;if(!(l&A)){if(!(t&A))break;if(r[f>>0]|0)break}a[b>>2]=0;A=f}i=a[e>>2]|i<<(c<<3);c=c+1|0;A=f}if((w|0)==5){a[s>>2]=A;ao(0,99694,s)|0}k=u;return}function FC(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;r=f;a[r>>2]=0;i=VC(A,20448,r)|0;if((i|0)==(A|0)){while(1){i=VC(A,20464,r)|0;if((A|0)==(i|0))break;else A=i}i=VC(A,20512,r)|0}A=a[r>>2]|0;if((A|0)!=0&(A&15|0)==0){A=A|1;a[r>>2]=A}a[e>>2]=a[e>>2]|A;k=f;return i|0}function VC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;while(1){r=a[e>>2]|0;if(!r)break;f=S2(r)|0;if(!(Z1(A,r,f)|0)){n=4;break}e=e+8|0}if((n|0)==4){a[i>>2]=a[i>>2]|a[e+4>>2];A=A+f|0}return A|0}function JC(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0;n=0;i=0.0;while(1){if((n|0)==4)break;f=e>>(n<<3)&15;r=1400;while(1){if(!(a[r+16>>2]|0))break;if((f|0)==(a[r>>2]|0)){l=6;break}r=r+24|0}if((l|0)==6){l=0;i=+b[r+8>>3]+i}n=n+1|0}return+(i*10.0*+oR(A,a[47188]|0,1.0,0.0))}function NC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0,w=0.0,u=0,o=0;o=k;k=k+96|0;s=o+80|0;u=o;c=f>4.0?f*.0875:.35;l=+b[i+8>>3];w=l*c;t=+b[i>>3];c=t*c;r=+b[e>>3];t=r+t;b[s>>3]=t;f=+b[e+8>>3];l=l+f;b[s+8>>3]=l;i=u+64|0;if(!(n&32)){a[i>>2]=a[s>>2];a[i+4>>2]=a[s+4>>2];a[i+8>>2]=a[s+8>>2];a[i+12>>2]=a[s+12>>2];a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];s=u+32|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];f=l;r=t}else{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];e=u+32|0;a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2]}b[u+16>>3]=r+w;b[u+24>>3]=f-c;b[u+48>>3]=r-w;b[u+56>>3]=f+c;do{if(!(n&64))if(!(n&128)){ar(A,u+16|0,3,n>>>4&1^1);break}else{ar(A,u+32|0,3,n>>>4&1^1);break}else ar(A,u,3,n>>>4&1^1)}while(0);k=o;return}function XC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0;I=k;k=k+160|0;w=I+144|0;C=I;h=r*4.0;Z=(n&32|0)==0;h=!(h1.0)|Z?0.0:(f+-1.0)*.05/r;g=+b[i+8>>3];d=-g;E=h*d;v=+b[i>>3];h=v*h;d=B*d;B=v*B;o=+b[e>>3];r=o+v;b[w>>3]=r;u=+b[e+8>>3];f=g+u;b[w+8>>3]=f;v=v*.5+o;g=g*.5+u;i=C+128|0;if(Z){a[i>>2]=a[w>>2];a[i+4>>2]=a[w+4>>2];a[i+8>>2]=a[w+8>>2];a[i+12>>2]=a[w+12>>2];a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];Z=C+64|0;a[Z>>2]=a[e>>2];a[Z+4>>2]=a[e+4>>2];a[Z+8>>2]=a[e+8>>2];a[Z+12>>2]=a[e+12>>2];l=u;t=o;c=u;s=o;f=u;r=o}else{a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[C>>2]=a[e>>2];a[C+4>>2]=a[e+4>>2];a[C+8>>2]=a[e+8>>2];a[C+12>>2]=a[e+12>>2];Z=C+64|0;a[Z>>2]=a[w>>2];a[Z+4>>2]=a[w+4>>2];a[Z+8>>2]=a[w+8>>2];a[Z+12>>2]=a[w+12>>2];l=f+B;t=r+d;c=f-B;s=r-d}b[C+16>>3]=r-E;b[C+24>>3]=f-h;b[C+32>>3]=v-d;b[C+40>>3]=g-B;b[C+48>>3]=s;b[C+56>>3]=c;b[C+80>>3]=t;b[C+88>>3]=l;b[C+96>>3]=v+d;b[C+104>>3]=g+B;b[C+112>>3]=r+E;b[C+120>>3]=f+h;do{if(!(n&64))if(!(n&128)){ar(A,C,9,1);break}else{ar(A,C+48|0,6,1);break}else ar(A,C,6,1)}while(0);k=I;return}function RC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0;h=k;k=k+64|0;o=h;v=+b[i+8>>3];B=+b[i>>3];c=+b[e>>3];r=c+B;s=+b[e+8>>3];f=s+v;l=c+B*.2;t=s+v*.2;c=c+B*.6;s=s+v*.6;b[o>>3]=l-v;b[o+8>>3]=t+B;w=o+16|0;b[w>>3]=l+v;u=o+24|0;b[u>>3]=t-B;b[o+32>>3]=c+v;b[o+40>>3]=s-B;b[o+48>>3]=c-v;b[o+56>>3]=s+B;if(!(n&64)){if(n&128|0){i=2;n=1;d=3}}else{i=3;n=0;d=3}if((d|0)==3){b[o+(n<<4)>>3]=l;b[o+(n<<4)+8>>3]=t;b[o+(i<<4)>>3]=c;b[o+(i<<4)+8>>3]=s}ar(A,o,4,1);a[o>>2]=a[e>>2];a[o+4>>2]=a[e+4>>2];a[o+8>>2]=a[e+8>>2];a[o+12>>2]=a[e+12>>2];b[w>>3]=r;b[u>>3]=f;tr(A,o,2);k=h;return}function HC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0;u=k;k=k+64|0;w=u;t=+b[i+8>>3];d=t*-.4;l=+b[i>>3];h=l*.4;v=+b[e>>3];r=v+l*.8;B=+b[e+8>>3];f=B+t*.8;l=v+l;t=B+t;b[w>>3]=v+d;c=w+8|0;b[c>>3]=B+h;i=w+16|0;b[i>>3]=v-d;s=w+24|0;b[s>>3]=B-h;b[w+32>>3]=r-d;b[w+40>>3]=f-h;b[w+48>>3]=r+d;b[w+56>>3]=f+h;if(!(n&64)){if(n&128|0){a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];i=2;o=5}}else{a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];i=3;o=5}if((o|0)==5){b[w+(i<<4)>>3]=r;b[w+(i<<4)+8>>3]=f}ar(A,w,4,n>>>4&1^1);b[w>>3]=r;b[c>>3]=f;b[w+16>>3]=l;b[s>>3]=t;tr(A,w,2);k=u;return}function pC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0;t=k;k=k+80|0;l=t;w=+b[i+8>>3];c=w*-.3333333333333333;o=+b[i>>3];f=o*.3333333333333333;h=+b[e>>3];s=h+o*.5;u=+b[e+8>>3];r=u+w*.5;i=l+64|0;b[l+64>>3]=h+o;b[l+72>>3]=u+w;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];b[l+16>>3]=s+c;b[l+24>>3]=r+f;i=l+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[l+48>>3]=s-c;b[l+56>>3]=r-f;do{if(!(n&64)){i=n>>>4&1^1;if(!(n&128)){ar(A,l,4,i);break}else{ar(A,l,3,i);break}}else ar(A,i,3,n>>>4&1^1)}while(0);k=t;return}function UC(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;var n=0,l=0,t=0.0,c=0.0,s=0.0;n=k;k=k+32|0;l=n;c=+b[i>>3];f=+b[i+8>>3];r=+z(+(f*f+c*c))*.5;s=+b[e>>3];c=c*.5;b[l>>3]=s+c-r;t=+b[e+8>>3];f=f*.5;b[l+8>>3]=t-r+f;b[l+16>>3]=s+r+c;b[l+24>>3]=t+r+f;fr(A,l,2,a>>>4&1^1);k=n;return}function xC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0;v=k;k=k+112|0;h=v+48|0;d=v+16|0;B=v;w=f>4.0?f*.125:.5;o=+b[e>>3];u=+b[i>>3];l=+b[e+8>>3];s=+b[i+8>>3];r=s*w;f=u*w;a[d>>2]=a[e>>2];a[d+4>>2]=a[e+4>>2];a[d+8>>2]=a[e+8>>2];a[d+12>>2]=a[e+12>>2];b[d+16>>3]=u+o;b[d+24>>3]=s+l;b[h>>3]=w*(u-s)+o;t=w*(s+u);c=t+l;b[h+8>>3]=c;b[h+48>>3]=t+o;l=w*(s-u)+l;b[h+56>>3]=l;u=r*-.95;s=u+f+o;w=f*1.3333333333333333;if(!(n&32)){r=r*1.3333333333333333;t=f*-.33333333333333326;l=l-r;f=c-r;r=s-w}else{r=r*1.3333333333333333;t=f*2.333333333333333;l=l+r;f=c+r;r=s+w}b[h+16>>3]=r;b[h+24>>3]=f;b[h+32>>3]=t-u+o;b[h+40>>3]=l;tr(A,d,2);if(!(n&64)){if(n&128|0)mR(B,h,3,.5,h,0)}else mR(B,h,3,.5,0,h);lr(A,h,4,0,0,0);k=v;return}function TC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0;n=k;k=k+32|0;l=n;r=+b[i>>3]+ +b[e>>3];f=+b[i+8>>3]+ +b[e+8>>3];a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];b[l+16>>3]=r;b[l+24>>3]=f;tr(A,l,2);k=n;return}function jC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;w=k;k=k+80|0;t=w+72|0;c=w+8|0;s=w;l=+JC(A,n);l=l*l;b[s>>3]=l;a[f+12>>2]=n;n=f+32|0;A=r+3|0;f=e+(A<<4)|0;a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];if((r|0)>(i|0)?(u=+b[e+(r<<4)>>3]-+b[f>>3],o=+b[e+(r<<4)+8>>3]-+b[e+(A<<4)+8>>3],o*o+u*u>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];h=c+32|0;A=e+(r+1<<4)|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];f=c+16|0;i=e+(r+2<<4)|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[c>>2]=a[n>>2];a[c+4>>2]=a[n+4>>2];a[c+8>>2]=a[n+8>>2];a[c+12>>2]=a[n+12>>2];a[t>>2]=c;a[t+4>>2]=s;hX(t,92,c,1);a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];a[A>>2]=a[h>>2];a[A+4>>2]=a[h+4>>2];a[A+8>>2]=a[h+8>>2];a[A+12>>2]=a[h+12>>2];a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2];s=e+(r+3<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];k=w;return r|0}function SC(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[A>>2]|0;i=+b[e>>3]-+b[f>>3];r=+b[e+8>>3]-+b[f+8>>3];return r*r+i*i<=+b[a[A+4>>2]>>3]|0}function PC(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0;u=k;k=k+80|0;c=u+72|0;s=u+8|0;w=u;t=+JC(A,n);t=t*t;b[w>>3]=t;a[f+8>>2]=n;f=f+16|0;A=e+(i<<4)|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];if(!((r|0)>(i|0)?(l=i+3|0,o=+b[A>>3]-+b[e+(l<<4)>>3],h=+b[e+(i<<4)+8>>3]-+b[e+(l<<4)+8>>3],h*h+o*o>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];n=s+16|0;i=e+(l+2<<4)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];d=s+32|0;A=e+(l+1<<4)|0;a[d>>2]=a[A>>2];a[d+4>>2]=a[A+4>>2];a[d+8>>2]=a[A+8>>2];a[d+12>>2]=a[A+12>>2];B=s+48|0;a[B>>2]=a[f>>2];a[B+4>>2]=a[f+4>>2];a[B+8>>2]=a[f+8>>2];a[B+12>>2]=a[f+12>>2];a[c>>2]=B;a[c+4>>2]=w;hX(c,92,s,0);w=e+(l<<4)|0;a[w>>2]=a[B>>2];a[w+4>>2]=a[B+4>>2];a[w+8>>2]=a[B+8>>2];a[w+12>>2]=a[B+12>>2];a[A>>2]=a[d>>2];a[A+4>>2]=a[d+4>>2];a[A+8>>2]=a[d+8>>2];a[A+12>>2]=a[d+12>>2];a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[r>>2]=a[s>>2];a[r+4>>2]=a[s+4>>2];a[r+8>>2]=a[s+8>>2];a[r+12>>2]=a[s+12>>2];k=u;return l|0}function OC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0.0,g=0,E=0,C=0;g=(n|0)!=0;s=(l|0)!=0;if(!((r|0)==(i|0)&(g&s))){if(s){t=+JC(A,l);c=+b[e+(r<<4)>>3];o=+b[e+(r<<4)+8>>3];s=r+3|0;d=e+(s<<4)|0;u=+b[d>>3];s=e+(s<<4)+8|0;k=+b[s>>3];v=c-u;B=o-k;v=+z(+(B*B+v*v))*.9;t=t>=v?v:t;if(o==k){w=(c>3]=c;b[e+(C<<4)+8>>3]=o;r=e+(r+2<<4)|0;b[d>>3]=w;b[s>>3]=t;a[r>>2]=a[d>>2];a[r+4>>2]=a[d+4>>2];a[r+8>>2]=a[d+8>>2];a[r+12>>2]=a[d+12>>2];a[f+12>>2]=l;b[f+32>>3]=u;b[f+40>>3]=k}if(g){w=+JC(A,n);s=e+(i<<4)|0;c=+b[s>>3];t=+b[e+(i<<4)+8>>3];C=i+3|0;k=+b[e+(C<<4)>>3];o=+b[e+(C<<4)+8>>3];v=c-k;B=t-o;v=+z(+(B*B+v*v))*.9;w=w>=v?v:w;if(t==o){u=(c>3]=u;b[e+(C<<4)+8>>3]=w;a[s>>2]=a[E>>2];a[s+4>>2]=a[E+4>>2];a[s+8>>2]=a[E+8>>2];a[s+12>>2]=a[E+12>>2];E=i+2|0;b[e+(E<<4)>>3]=k;b[e+(E<<4)+8>>3]=o;E=16}}else{d=e+(r<<4)|0;B=+b[d>>3];v=+b[e+(r<<4)+8>>3];s=r+3|0;g=e+(s<<4)|0;c=+b[g>>3];s=e+(s<<4)+8|0;t=+b[s>>3];w=+JC(A,n);h=+JC(A,l);u=B-c;o=v-t;u=+z(+(o*o+u*u));C=!(h+w>=u);u=u*.3333333333333333;w=C?w:u;u=C?h:u;if(v==t){C=B>3]=h;b[e+(C<<4)+8>>3]=k;a[d>>2]=a[E>>2];a[d+4>>2]=a[E+4>>2];a[d+8>>2]=a[E+8>>2];a[d+12>>2]=a[E+12>>2];E=e+(r+2<<4)|0;b[g>>3]=o;b[s>>3]=w;a[E>>2]=a[g>>2];a[E+4>>2]=a[g+4>>2];a[E+8>>2]=a[g+8>>2];a[E+12>>2]=a[g+12>>2];a[f+12>>2]=l;b[f+32>>3]=B;b[f+40>>3]=v;E=16}if((E|0)==16){a[f+8>>2]=n;b[f+16>>3]=c;b[f+24>>3]=t}return}function KC(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0;u=+b[e>>3];c=+b[i>>3]-u;k=+b[e+8>>3];s=+b[i+8>>3]-k;t=r*10.0/(+z(+(c*c+s*s))+.0001);c=t*((c>=0.0?.0001:-.0001)+c);t=((s>=0.0?.0001:-.0001)+s)*t;s=c*.5;w=t*.5;l=u-w;a=k-s;u=w+u;s=k+s;k=l+c;w=a+t;c=u+c;t=s+t;n=k>c?k:c;n=u>n?u:n;r=w>t?w:t;r=s>r?s:r;c=k>3]=l>3]=a>3]=l>n?l:n;b[A+24>>3]=a>r?a:r;return}function _C(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0;h=k;k=k+48|0;s=h+32|0;c=h+16|0;o=h;w=(a[A+16>>2]|0)+12|0;u=a[w>>2]|0;a[w>>2]=e;rr(A,a[(a[A>>2]|0)+336>>2]|0);wr(A,n);v=+b[r>>3]-+b[i>>3];e=r+8|0;B=+b[e>>3]-+b[i+8>>3];d=10.0/(+z(+(v*v+B*B))+.0001);b[r>>3]=d*((v>=0.0?.0001:-.0001)+v);b[e>>3]=((B>=0.0?.0001:-.0001)+B)*d;e=0;while(1){if((e|0)>=4)break;t=l>>(e<<3)&255;if(!t)break;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];qC(o,A,c,s,f,n,t);a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];e=e+1|0}a[w>>2]=u;k=h;return}function qC(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+32|0;s=h+16|0;c=h;w=l&15;t=1400;while(1){u=a[t>>2]|0;if(!u)break;if((w|0)==(u|0)){o=4;break}t=t+24|0}if((o|0)==4){d=+b[t+8>>3]*f;b[r>>3]=d*+b[r>>3];u=r+8|0;b[u>>3]=d*+b[u>>3];o=a[t+16>>2]|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[s>>2]=a[r>>2];a[s+4>>2]=a[r+4>>2];a[s+8>>2]=a[r+8>>2];a[s+12>>2]=a[r+12>>2];N5[o&15](e,c,s,f,n,l);b[i>>3]=+b[r>>3]+ +b[i>>3];o=i+8|0;b[o>>3]=+b[u>>3]+ +b[o>>3]}a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];k=h;return}function $C(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t+8|0;f=t;e=po(A,99796)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else{e=po(A,99808)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;l=5}else e=0}if((l|0)==5){e=LC(i,0,120)|0;if(!e){a[f>>2]=Vh(A)|0;ao(0,99815,f)|0;a[n>>2]=i;ao(3,99868,n)|0}}k=t;return e|0}function AI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+16|0;f=qF(304)|0;if(!f)ao(1,99876,n)|0;r=A+16|0;A=a[r>>2]|0;a[f>>2]=A;a[r>>2]=f;if(!A){a[f+144>>2]=3;a[f+148>>2]=0;b[f+152>>3]=1.0}else{e=f+16|0;i=A+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));e=f+56|0;i=A+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));a[f+144>>2]=a[A+144>>2];a[f+148>>2]=a[A+148>>2];b[f+152>>3]=+b[A+152>>3];a[f+136>>2]=a[A+136>>2];e=f+96|0;i=A+96|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0))}k=n;return f|0}function eI(A){A=A|0;var e=0;A=A+16|0;e=a[A>>2]|0;if(!e)vA(99902,99906,117,99913);else{L2(a[e+212>>2]|0);L2(a[e+208>>2]|0);L2(a[e+216>>2]|0);L2(a[e+220>>2]|0);L2(a[e+224>>2]|0);L2(a[e+228>>2]|0);L2(a[e+232>>2]|0);L2(a[e+236>>2]|0);L2(a[e+240>>2]|0);L2(a[e+244>>2]|0);L2(a[e+248>>2]|0);L2(a[e+252>>2]|0);L2(a[e+256>>2]|0);L2(a[e+272>>2]|0);L2(a[e+284>>2]|0);L2(a[e+280>>2]|0);a[A>>2]=a[e>>2];L2(e);return}}function iI(A,e,i,n,l,t,c){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;t=t|0;c=c|0;var b=0,s=0;s=a[A+16>>2]|0;b=a[A+152>>2]|0;if((e|0)!=0&(b&32768|0)!=0)a[s+192>>2]=e;if(((b&65536|0)!=0?(a[s+212>>2]=SF(t,c)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){a[s+208>>2]=SF(i,c)|0;A=1}else A=0;do{if(b&4194304){if(n|0?r[n>>0]|0:0){a[s+228>>2]=SF(n,c)|0;A=s+260|0;f[A>>1]=f[A>>1]|1;A=1;break}e=a[s+192>>2]|0;if(e){a[s+228>>2]=s3(e)|0;A=1}}}while(0);if((l|0)!=0&(b&8388608|0)!=0?(r[l>>0]|0)!=0:0){a[s+244>>2]=SF(l,c)|0;A=1}return A|0}function rI(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+80|0;t=c;l=c+8|0;n=a[(a[A>>2]|0)+168>>2]|0;f=a[(a[(a[n+16>>2]|0)+8>>2]|0)+92>>2]|0;fI(A,i);A=po(e,141060)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0){wo(i,A)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}r[A>>0]=0;A=a[i>>2]|0;a[f>>2]=A}else{if((n|0)!=(e|0)&(f|0)!=0){wo(i,f)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}a[f>>2]=A+1;r[A>>0]=95}switch(Md(e)|0){case 0:{f=(n|0)==(e|0)?111494:99927;A=(a[e>>2]|0)>>>4;break}case 1:{f=111481;A=(a[e>>2]|0)>>>4;break}case 2:{f=111450;A=(a[e>>2]|0)>>>4;break}default:{f=0;A=0}}wo(i,f)|0;a[t>>2]=A;P4(l,99933,t)|0;wo(i,l)|0;f=i+4|0;A=a[f>>2]|0;if(A>>>0>=(a[i+8>>2]|0)>>>0){bo(i,1)|0;A=a[f>>2]|0}r[A>>0]=0;A=a[i>>2]|0;a[f>>2]=A}k=c;return A|0}function fI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+144|0;l=t;n=t+8|0;i=a[A+160>>2]|0;if((i|0)>1?a[A+152>>2]&64|0:0){wo(e,a[(a[(a[A>>2]|0)+308>>2]|0)+(i<<2)>>2]|0)|0;f=e+4|0;i=a[f>>2]|0;if(i>>>0>=(a[e+8>>2]|0)>>>0){bo(e,1)|0;i=a[f>>2]|0}a[f>>2]=i+1;r[i>>0]=95}f=a[A+196>>2]|0;i=a[A+200>>2]|0;if((f|0)>0|(i|0)>0){a[l>>2]=f;a[l+4>>2]=i;P4(n,99937,l)|0;wo(e,n)|0}k=t;return}function aI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0.0,B=0;B=k;k=k+48|0;o=B+16|0;f=B+32|0;h=B;d=+b[(a[A+16>>2]|0)+152>>3];u=nI(i,0,f)|0;if((u+-1|0)>>>0>=2){r=+b[e+16>>3];t=(r+ +b[e>>3])*.5;b[h>>3]=t;n=+b[e+24>>3];s=(n+ +b[e+8>>3])*.5;b[h+8>>3]=s;t=r-t;s=n-s;w=d>.5;if(w)wr(A,.5);l=a[f>>2]|0;n=0.0;f=a[l+8>>2]|0;while(1){i=a[f>>2]|0;if(!i)break;e=f+4|0;if(+c[e>>2]==0.0)r=n;else{er(A,i);if(!(a[f+12>>2]|0))r=6.283185307179586;else r=+c[e>>2]*6.283185307179586+n;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];e=mf(o,t,s,n,r)|0;lr(A,a[e>>2]|0,a[e+4>>2]|0,0,0,1);Zc(e)}n=r;f=f+12|0}if(w)wr(A,d);lI(l)}k=B;return u|0}function nI(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,b=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;u=d+8|0;w=d;h=qF(12)|0;l=s3(A)|0;A:do{if(!e){e=1;f=l;while(1){switch(r[f>>0]|0){case 0:break A;case 58:{e=e+1|0;break}default:{}}f=f+1|0}}}while(0);a[h+4>>2]=l;o=qF((e*12|0)+12|0)|0;a[h+8>>2]=o;s=1.0;n=0;e=0;f=l;while(1){f=t3(f,107984)|0;if(!f){f=20;break}t=+tI(f);if(!(t>=0.0)){f=17;break}b=t-s;if(b>0.0)if((a[5156]|0)!=0?!(b<1.0e-05&b>-1.0e-05):0){a[w>>2]=A;ao(0,99948,w)|0;a[5156]=0;t=s;e=3}else t=s;b=s-t;if(t>0.0)r[o+(n*12|0)+8>>0]=1;if(r[f>>0]|0)a[o+(n*12|0)>>2]=f;f=n+1|0;c[o+(n*12|0)+4>>2]=t;if(b<1.0e-05&b>-1.0e-05){n=f;f=30;break}else{s=b;n=f;f=0}}A:do{if((f|0)==17){if(!(a[5156]|0))e=1;else{a[u>>2]=A;ao(1,99983,u)|0;a[5156]=0;e=2}lI(h)}else if((f|0)==20)if(s>0.0){f=0;l=0;while(1){if((f|0)>=(n|0))break;u=l+(+c[o+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;l=u}if((l|0)<=0){f=o+((n+-1|0)*12|0)+4|0;c[f>>2]=s+ +c[f>>2];f=30;break}t=s/+(l|0);f=0;while(1){if((f|0)>=(n|0)){f=30;break A}l=o+(f*12|0)+4|0;if(+c[l>>2]==0.0)c[l>>2]=t;f=f+1|0}}else f=30}while(0);if((f|0)==30){while(1){f=n+-1|0;if((n|0)<=0)break;if(+c[o+(f*12|0)+4>>2]>0.0)break;else n=f}a[o+(n*12|0)>>2]=0;a[h>>2]=n;a[i>>2]=h}k=d;return e|0}function lI(A){A=A|0;L2(a[A+4>>2]|0);L2(a[A+8>>2]|0);L2(A);return}function tI(A){A=A|0;var e=0.0,i=0,f=0,n=0;f=k;k=k+16|0;i=f;A=G1(A,59)|0;if(!A)e=0.0;else{n=A+1|0;r[A>>0]=0;e=+A8(n,i);e=(e>=0.0?(a[i>>2]|0)!=(n|0):0)?e:-1.0}k=f;return+e}function cI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0.0,v=0;v=k;k=k+80|0;n=v+64|0;d=v;B=+b[(a[A+16>>2]|0)+152>>3];h=nI(i,0,n)|0;if((h+-1|0)>>>0>=2){if(!r){a[d>>2]=a[e>>2];a[d+4>>2]=a[e+4>>2];a[d+8>>2]=a[e+8>>2];a[d+12>>2]=a[e+12>>2];o=d+16|0;u=e+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+32|0;u=e+32|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+48|0;u=e+48|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2]}else{o=e+32|0;a[d>>2]=a[o>>2];a[d+4>>2]=a[o+4>>2];a[d+8>>2]=a[o+8>>2];a[d+12>>2]=a[o+12>>2];o=d+16|0;u=e+48|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];o=d+32|0;a[o>>2]=a[e>>2];a[o+4>>2]=a[e+4>>2];a[o+8>>2]=a[e+8>>2];a[o+12>>2]=a[e+12>>2];o=d+48|0;u=e+16|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2]}t=d+16|0;s=+b[t>>3];f=+b[d>>3];w=s-f;u=d+32|0;b[u>>3]=f;b[t>>3]=f;o=B>.5;if(o)wr(A,.5);n=a[n>>2]|0;l=d+48|0;r=a[n+8>>2]|0;while(1){i=a[r>>2]|0;if(!i)break;e=r+4|0;if(!(+c[e>>2]==0.0)){er(A,i);if(!(a[r+12>>2]|0))f=s;else f=w*+c[e>>2]+ +b[d>>3];b[u>>3]=f;b[t>>3]=f;ar(A,d,4,1);f=+b[t>>3];b[l>>3]=f;b[d>>3]=f}r=r+12|0}if(o)wr(A,B);lI(n)}k=v;return h|0}function bI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;n=f>>>16^2;a[i+264>>2]=n;l=i+268|0;a[l>>2]=n+2;n=i+272|0;L2(a[n>>2]|0);i=qF(a[l>>2]<<4)|0;a[n>>2]=i;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];n=i+16|0;e=e+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function sI(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,a=0,n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0;h=k;k=k+144|0;i=h+80|0;f=h+16|0;a=h;c=+b[e>>3];u=A+16|0;s=+b[u>>3];if(!(((((((((!(c>s)?(w=+b[A>>3],!(c>3],l=+b[A+24>>3],!(r>l)):0)?(t=+b[A+8>>3],!(r>3],!(c>s|c>3],!(c>l|c>3],!(c>s|c>3],!(c>l|c>3],!(c>s|c>3],!(w>l|w>3];if(!(r>+b[u>>3])){if(r<+b[A>>3]){i=A;o=16}}else{i=u;o=16}if((o|0)==16){o=0;b[i>>3]=r}r=+b[e+(f<<4)+8>>3];if(!(r>+b[a>>3])){if(r<+b[n>>3]){i=A;o=19}}else{i=u;o=19}if((o|0)==19){o=0;b[i+8>>3]=r}f=f+1|0}}}while(0);k=h;return}function wI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0,t=0;e=k;k=k+48|0;i=e+32|0;r=e+16|0;f=e;t=A+48|0;l=A+16|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];a[i>>2]=a[l>>2];a[i+4>>2]=a[l+4>>2];a[i+8>>2]=a[l+8>>2];a[i+12>>2]=a[l+12>>2];n=+zF(f,r,i);l=A+32|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];a[i>>2]=a[l>>2];a[i+4>>2]=a[l+4>>2];a[i+8>>2]=a[l+8>>2];a[i+12>>2]=a[l+12>>2];A=n<4.0&+zF(f,r,i)<4.0&1;k=e;return A|0}function uI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0;W=k;k=k+272|0;g=W+256|0;E=W+224|0;C=W+192|0;I=W+128|0;Z=W+64|0;G=W;Q=W+160|0;m=W+96|0;L=W+32|0;v=a[e+16>>2]|0;B=a[v+144>>2]|0;d=v+16|0;a[I>>2]=a[d>>2];a[I+4>>2]=a[d+4>>2];a[I+8>>2]=a[d+8>>2];a[I+12>>2]=a[d+12>>2];a[I+16>>2]=a[d+16>>2];a[I+20>>2]=a[d+20>>2];a[I+24>>2]=a[d+24>>2];a[I+28>>2]=a[d+28>>2];v=a[(a[v+8>>2]|0)+88>>2]|0;a[G>>2]=0;a[G+4>>2]=0;a[G+8>>2]=0;a[G+12>>2]=0;a[G+16>>2]=0;a[G+20>>2]=0;a[G+24>>2]=0;a[G+28>>2]=0;if(!v){a[A>>2]=a[I>>2];a[A+4>>2]=a[I+4>>2];a[A+8>>2]=a[I+8>>2];a[A+12>>2]=a[I+12>>2];a[A+16>>2]=a[I+16>>2];a[A+20>>2]=a[I+20>>2];a[A+24>>2]=a[I+24>>2];a[A+28>>2]=a[I+28>>2]}else{e=I+16|0;if(+b[I>>3]==+b[e>>3]?(i=I+8|0,f=I+24|0,+b[i>>3]==+b[f>>3]):0){b[i>>3]=1797693134862315708145274.0e284;b[I>>3]=1797693134862315708145274.0e284;b[f>>3]=-1797693134862315708145274.0e284;b[e>>3]=-1797693134862315708145274.0e284}t=E+8|0;c=E+16|0;s=E+24|0;w=Z+16|0;u=Z+24|0;o=B+144|0;h=C+16|0;d=v+12|0;e=0;f=a[v+8>>2]|0;i=0;n=0.0;l=0;while(1){if((l|0)>=(a[v>>2]|0))break;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[Z+16>>2]=a[G+16>>2];a[Z+20>>2]=a[G+20>>2];a[Z+24>>2]=a[G+24>>2];a[Z+28>>2]=a[G+28>>2];switch(a[f>>2]|0){case 1:case 0:{D=+b[f+8>>3];M=+b[f+24>>3];b[E>>3]=D-M;z=+b[f+16>>3];Y=+b[f+32>>3];b[t>>3]=z-Y;b[c>>3]=M+D;b[s>>3]=Y+z;y=f+80|0;a[y>>2]=a[E>>2];a[y+4>>2]=a[E+4>>2];a[y+8>>2]=a[E+8>>2];a[y+12>>2]=a[E+12>>2];y=f+96|0;a[y>>2]=a[c>>2];a[y+4>>2]=a[c+4>>2];a[y+8>>2]=a[c+8>>2];a[y+12>>2]=a[c+12>>2];a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];kI(I,g);a[g>>2]=a[c>>2];a[g+4>>2]=a[c+4>>2];a[g+8>>2]=a[c+8>>2];a[g+12>>2]=a[c+12>>2];kI(I,g);break}case 3:case 2:{y=f+80|0;F=f+8|0;oI(Q,a[F+4>>2]|0,a[F>>2]|0,I);a[y>>2]=a[Q>>2];a[y+4>>2]=a[Q+4>>2];a[y+8>>2]=a[Q+8>>2];a[y+12>>2]=a[Q+12>>2];a[y+16>>2]=a[Q+16>>2];a[y+20>>2]=a[Q+20>>2];a[y+24>>2]=a[Q+24>>2];a[y+28>>2]=a[Q+28>>2];break}case 5:case 4:{F=f+80|0;y=f+8|0;oI(m,a[y+4>>2]|0,a[y>>2]|0,I);a[F>>2]=a[m>>2];a[F+4>>2]=a[m+4>>2];a[F+8>>2]=a[m+8>>2];a[F+12>>2]=a[m+12>>2];a[F+16>>2]=a[m+16>>2];a[F+20>>2]=a[m+20>>2];a[F+24>>2]=a[m+24>>2];a[F+28>>2]=a[m+28>>2];break}case 6:{F=f+80|0;y=f+8|0;oI(L,a[y+4>>2]|0,a[y>>2]|0,I);a[F>>2]=a[L>>2];a[F+4>>2]=a[L+4>>2];a[F+8>>2]=a[L+8>>2];a[F+12>>2]=a[L+12>>2];a[F+16>>2]=a[L+16>>2];a[F+20>>2]=a[L+20>>2];a[F+24>>2]=a[L+24>>2];a[F+28>>2]=a[L+28>>2];break}case 7:{F=f+112|0;a[F>>2]=qF(56)|0;y=s3(a[f+40>>2]|0)|0;V=a[F>>2]|0;a[V>>2]=y;r[V+48>>0]=r[100029+(a[f+24>>2]|0)>>0]|0;a[Z>>2]=i;b[w>>3]=n;a[u>>2]=a[u>>2]&-128|e&127;V=a[o>>2]|0;V=W5[a[V>>2]&63](V,Z,1)|0;y=a[F>>2]|0;a[y+4>>2]=V;AR(g,B,y);hI(C,+b[f+8>>3],+b[f+16>>3],a[F>>2]|0);F=f+80|0;a[F>>2]=a[C>>2];a[F+4>>2]=a[C+4>>2];a[F+8>>2]=a[C+8>>2];a[F+12>>2]=a[C+12>>2];a[F+16>>2]=a[C+16>>2];a[F+20>>2]=a[C+20>>2];a[F+24>>2]=a[C+24>>2];a[F+28>>2]=a[C+28>>2];a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];kI(I,g);a[g>>2]=a[h>>2];a[g+4>>2]=a[h+4>>2];a[g+8>>2]=a[h+8>>2];a[g+12>>2]=a[h+12>>2];kI(I,g);if(!(a[d>>2]|0))a[d>>2]=109;break}case 10:{i=a[f+16>>2]|0;n=+b[f+8>>3];break}case 15:{e=a[f+8>>2]|0;break}default:{}}f=f+120|0;l=l+1|0}a[A>>2]=a[I>>2];a[A+4>>2]=a[I+4>>2];a[A+8>>2]=a[I+8>>2];a[A+12>>2]=a[I+12>>2];a[A+16>>2]=a[I+16>>2];a[A+20>>2]=a[I+20>>2];a[A+24>>2]=a[I+24>>2];a[A+28>>2]=a[I+28>>2]}k=W;return}function kI(A,e){A=A|0;e=e|0;var i=0.0,r=0;i=+b[e>>3];r=A+16|0;if(i>+b[r>>3])b[r>>3]=i;if(i<+b[A>>3])b[A>>3]=i;i=+b[e+8>>3];e=A+24|0;if(i>+b[e>>3])b[e>>3]=i;e=A+8|0;if(i<+b[e>>3])b[e>>3]=i;return}function oI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+48|0;c=d+32|0;w=d;f=+b[e>>3];u=w+16|0;b[u>>3]=f;b[w>>3]=f;f=+b[e+8>>3];o=w+24|0;b[o>>3]=f;s=w+8|0;b[s>>3]=f;t=1;while(1){if((t|0)>=(i|0))break;l=e+24|0;f=+b[l>>3];if(!(f<+b[w>>3])){if(f>+b[u>>3]){n=u;h=5}}else{n=w;h=5}if((h|0)==5){h=0;b[n>>3]=f}f=+b[e+32>>3];if(!(f<+b[s>>3])){if(f>+b[o>>3]){e=u;h=8}}else{e=w;h=8}if((h|0)==8){h=0;b[e+8>>3]=f}t=t+1|0;e=l}a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];kI(r,c);a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];kI(r,c);a[A>>2]=a[w>>2];a[A+4>>2]=a[w+4>>2];a[A+8>>2]=a[w+8>>2];a[A+12>>2]=a[w+12>>2];a[A+16>>2]=a[w+16>>2];a[A+20>>2]=a[w+20>>2];a[A+24>>2]=a[w+24>>2];a[A+28>>2]=a[w+28>>2];k=d;return}function hI(A,e,i,f){A=A|0;e=+e;i=+i;f=f|0;var a=0.0,n=0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+16|0;l=w+8|0;t=w;a=+b[f+32>>3];c=+b[f+40>>3];switch(r[f+48>>0]|0){case 108:{b[l>>3]=e;a=a+e;n=t;s=5;break}case 110:{a=a*.5;b[l>>3]=e-a;a=a+e;n=t;s=5;break}case 114:{b[t>>3]=e;a=e-a;n=l;s=5;break}default:{e=0.0;a=0.0}}if((s|0)==5){b[n>>3]=a;e=+b[l>>3];a=+b[t>>3]}i=+b[f+16>>3]+i;b[A>>3]=e;b[A+8>>3]=i-c;b[A+16>>3]=a;b[A+24>>3]=i;k=w;return}function dI(A){A=A|0;if((a[A>>2]|0)==7)xF(a[A+112>>2]|0,1);return}function BI(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0.0;s=k;k=k+16|0;c=s;t=a[A+152>>2]|0;w=+b[A+432>>3];l=+b[A+352>>3]*.013888888888888888;f=l*w;b[A+488>>3]=f;n=+b[A+440>>3];l=l*n;b[A+496>>3]=l;b[A+520>>3]=w*.013888888888888888;i=A+528|0;b[i>>3]=n*.013888888888888888;if(t&4096|0)b[i>>3]=n*-.013888888888888888;i=(a[A+360>>2]|0)==0;w=+((a[A+448>>2]|0)>>>0);n=+((a[A+452>>2]|0)>>>0);b[A+368>>3]=(i?w:n)/f;b[A+376>>3]=(i?n:w)/l;cr(A,dR(e,Yo(e,0,101522,0)|0,195059)|0);a[A+160>>2]=0;vI(A,e);if(t&2|0)gI(A,e);i=cd(e)|0;while(1){if(!i)break;r[(a[i+16>>2]|0)+116>>0]=0;i=bd(e,i)|0}EI(A,c);while(1){if(!((CI(A)|0)<<24>>24))break;if((II(A)|0)>1)Vi(A);ZI(A);while(1){if(!((GI(A)|0)<<24>>24))break;QI(A,e);mI(A)}if((II(A)|0)>1)Ji(A);LI(A,c)}WI(A);k=s;return}function vI(A,e){A=A|0;e=e|0;var i=0;i=AI(A)|0;a[i+4>>2]=0;a[i+8>>2]=e;a[i+12>>2]=0;TM(A,a[(a[e+16>>2]|0)+12>>2]|0,e);Yi(A,e);return}function gI(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,n=0;er(A,134800);i=po(e,140977)|0;if(i|0?r[i>>0]|0:0)er(A,i);i=po(e,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);rF(A,e);n=cd(e)|0;while(1){if(!n)break;i=po(n,140823)|0;if(i|0?r[i>>0]|0:0)$i(A,i);i=po(n,137729)|0;if(i|0?r[i>>0]|0:0)er(A,i);i=po(n,101418)|0;do{if(i|0?r[i>>0]|0:0){if(!(G1(i,58)|0)){$i(A,i);break}f=s3(i)|0;i=f;while(1){i=t3(i,107984)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}$i(A,i);i=0}L2(f)}}while(0);i=po(n,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);a=Oo(e,n)|0;while(1){if(!a)break;i=po(a,140823)|0;do{if(i|0?r[i>>0]|0:0){if(!(G1(i,58)|0)){$i(A,i);break}f=s3(i)|0;i=f;while(1){i=t3(i,107984)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}$i(A,i);i=0}L2(f)}}while(0);i=po(a,101446)|0;if(i|0?r[i>>0]|0:0)$i(A,i);a=_o(e,a)|0}n=bd(e,n)|0}return}function EI(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;r=t+8|0;n=t;l=a[A>>2]|0;i=a[l+312>>2]|0;f=A+156|0;a[f>>2]=i;l=a[l+316>>2]|0;if(!l)if((i|0)>1?(a[A+152>>2]&64|0)==0:0){a[r>>2]=a[A+52>>2];ao(0,100567,r)|0;a[f>>2]=1;r=1;i=0}else{r=1;i=0}else{i=l+4|0;if((a[l>>2]|0)>1?(a[A+152>>2]&64|0)==0:0){a[n>>2]=a[A+52>>2];ao(0,100567,n)|0;a[l+8>>2]=(a[f>>2]|0)+1}r=a[i>>2]|0;i=l+8|0}a[A+160>>2]=r;a[e>>2]=i;k=t;return}function CI(A){A=A|0;return(a[A+160>>2]|0)<=(a[A+156>>2]|0)|0}function II(A){A=A|0;var e=0;e=a[(a[A>>2]|0)+316>>2]|0;return a[((e|0)==0?A+156|0:e)>>2]|0}function ZI(A){A=A|0;var e=0,i=0;i=A+172|0;e=a[i+4>>2]|0;A=A+196|0;a[A>>2]=a[i>>2];a[A+4>>2]=e;return}function GI(A){A=A|0;var e=0,i=0;i=a[A+196>>2]|0;if(((i|0)>-1?(i|0)<(a[A+164>>2]|0):0)?(e=a[A+200>>2]|0,(e|0)>-1):0)A=(e|0)<(a[A+168>>2]|0)&1;else A=0;return A|0}function QI(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+176|0;b=o;i=o+48|0;s=o+32|0;w=a[A+16>>2]|0;u=a[A+152>>2]|0;if((a[A+160>>2]|0)<=1?(a[A+196>>2]|0)<=0:0)l=0;else{co(s,128,i);n=w+212|0;l=a[n>>2]|0;fI(A,s);wo(s,l)|0;t=s+4|0;i=a[t>>2]|0;if(i>>>0>=(a[s+8>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}r[i>>0]=0;i=a[s>>2]|0;a[t>>2]=i;a[n>>2]=i}Qf(po(e,100032)|0);zI(A);Mi(A);$i(A,137314);er(A,134800);do{if(u&4259840|0){if((a[w+208>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;if(u&655360){t=u&131072;a[w+264>>2]=t>>>16^2;i=qF((t>>>12^32)+32|0)|0;n=A+288|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];n=i+16|0;h=A+304|0;a[n>>2]=a[h>>2];a[n+4>>2]=a[h+4>>2];a[n+8>>2]=a[h+8>>2];a[n+12>>2]=a[h+12>>2];if(!t){QF(i);n=4}else n=2}else{i=0;n=0}if(!(u&8192))zi(A,i,i,n)|0;a[w+272>>2]=i;a[w+268>>2]=n}}while(0);if(u&32768|0?(c=a[(a[e+16>>2]|0)+12>>2]|0,c|0):0)a[w+192>>2]=a[c>>2];n=(u&4|0)!=0;do{if(!n){i=w+208|0;if((a[i>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;h=A+256|0;a[b>>2]=a[h>>2];a[b+4>>2]=a[h+4>>2];a[b+8>>2]=a[h+8>>2];a[b+12>>2]=a[h+12>>2];a[b+16>>2]=a[h+16>>2];a[b+20>>2]=a[h+20>>2];a[b+24>>2]=a[h+24>>2];a[b+28>>2]=a[h+28>>2];bI(A,b);Pi(A,a[i>>2]|0,a[w+228>>2]|0,a[w+244>>2]|0,a[w+212>>2]|0)}}while(0);YI(A,e);i=a[(a[e+16>>2]|0)+12>>2]|0;if(i|0)jF(A,4,i);do{if(!n){if((a[w+208>>2]|0)==0?(f[w+260>>1]&1)==0:0)break;Oi(A)}}while(0);DI(A,e,u);Fi(A);if(l|0){uo(s);a[w+212>>2]=l}k=o;return}function mI(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+32|0;i=l+24|0;e=l+16|0;c=l+8|0;f=l;n=A+196|0;t=A+188|0;a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];yI(c,e,i);t=a[c+4>>2]|0;r=n;a[r>>2]=a[c>>2];a[r+4>>2]=t;if(!((GI(A)|0)<<24>>24)){r=A+180|0;if(!(a[A+184>>2]|0))a[A+200>>2]=a[A+176>>2];else a[n>>2]=a[A+172>>2];a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];yI(f,e,i);t=a[f+4>>2]|0;c=n;a[c>>2]=a[f>>2];a[c+4>>2]=t}k=l;return}function LI(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;if(!i){i=A+160|0;a[i>>2]=(a[i>>2]|0)+1}else{a[A+160>>2]=a[i>>2];a[e>>2]=i+4}return}function WI(A){A=A|0;Di(A);eI(A);return}function yI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[i+4>>2]|0)+(a[e+4>>2]|0)|0;a[A>>2]=(a[i>>2]|0)+(a[e>>2]|0);a[A+4>>2]=r;return}function zI(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0.0;v=k;k=k+48|0;w=v+32|0;f=v+24|0;t=v+8|0;c=v+16|0;s=v;d=A+196|0;h=a[d>>2]|0;d=a[d+4>>2]|0;o=f;a[o>>2]=h;a[o+4>>2]=d;o=A+164|0;l=a[o>>2]|0;o=a[o+4>>2]|0;B=t;a[B>>2]=l;a[B+4>>2]=o;B=A+360|0;if(!(a[B>>2]|0)){c=h;t=d}else{a[w>>2]=a[f>>2];a[w+4>>2]=a[f+4>>2];iF(c,w);d=c;c=a[d>>2]|0;d=a[d+4>>2]|0;o=f;a[o>>2]=c;a[o+4>>2]=d;a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];iF(s,w);o=s;l=a[o>>2]|0;o=a[o+4>>2]|0;a[t>>2]=l;a[t+4>>2]=o;t=d}i=+b[A+320>>3];n=i*+(c|0)-+b[A+240>>3];b[A+288>>3]=n;r=+b[A+328>>3];u=r*+(t|0)-+b[A+248>>3];b[A+296>>3]=u;b[A+304>>3]=i+n;b[A+312>>3]=r+u;f=A+472|0;if(!(a[(a[A+12>>2]|0)+28>>2]|0)){d=A+456|0;a[f>>2]=a[d>>2];a[f+4>>2]=a[d+4>>2];a[f+8>>2]=a[d+8>>2];a[f+12>>2]=a[d+12>>2]}else{h=A+456|0;a[f>>2]=a[((a[f>>2]|0)<(a[h>>2]|0)?f:h)>>2];d=A+476|0;a[d>>2]=a[((a[d>>2]|0)<(a[A+460>>2]|0)?f:h)+4>>2];d=A+480|0;a[d>>2]=a[((a[d>>2]|0)>(a[A+464>>2]|0)?f:h)+8>>2];d=A+484|0;a[d>>2]=a[((a[d>>2]|0)>(a[A+468>>2]|0)?f:h)+12>>2]}s=a[A+152>>2]|0;e=+b[A+336>>3];if(!(s&128)){e=(+(c|0)-+(l|0)*.5)*i+e;b[A+256>>3]=e;n=(+(t|0)-+(o|0)*.5)*r+ +b[A+344>>3];u=n;i=i+e;n=n+r}else{i=+b[A+368>>3]*.5;r=e-i;b[A+256>>3]=r;n=+b[A+344>>3];g=+b[A+376>>3]*.5;u=n-g;i=i+e;n=g+n;e=r}b[A+264>>3]=u;b[A+272>>3]=i;b[A+280>>3]=n;if(!(a[B>>2]|0)){r=+b[A+352>>3];b[A+504>>3]=+b[A+384>>3]/r-e;if(!(s&4096)){i=+b[A+392>>3]/r;e=u}else{i=-n;e=+b[A+392>>3]/r}b[A+512>>3]=i-e}else{f=A+384|0;r=+b[A+352>>3];b[A+512>>3]=-n-+b[A+392>>3]/r;if(!(s&4096))i=+b[f>>3]/r;else{i=-i;e=+b[f>>3]/r}b[A+504>>3]=i-e}k=v;return}function YI(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+48|0;h=B;u=B+40|0;o=B+36|0;d=B+32|0;i=po(e,140977)|0;if(!i){t=1;i=137198}else{l=(r[i>>0]|0)==0;t=l&1;i=l?137198:i}n=a[A+152>>2]|0;l=(r[i>>0]|0)==116;if(!(n&256))if(l){s=(A1(i,137379)|0)==0;b=s?137198:i;s=s?1:t;w=8}else{b=i;s=t;w=8}else if(!(l?!(A1(i,137379)|0):0)){b=i;s=t;w=8}if((w|0)==8?!((s|0)!=0&(n&33554432|0)!=0):0)if(!((qM(b,u,o)|0)<<24>>24)){er(A,b);$i(A,137379);d=A+256|0;a[h>>2]=a[d>>2];a[h+4>>2]=a[d+4>>2];a[h+8>>2]=a[d+8>>2];a[h+12>>2]=a[d+12>>2];a[h+16>>2]=a[d+16>>2];a[h+20>>2]=a[d+20>>2];a[h+24>>2]=a[d+24>>2];a[h+28>>2]=a[d+28>>2];nr(A,h,1)}else{a[d>>2]=0;l=a[u>>2]|0;er(A,l);$i(A,137379);_M(e,d)|0;i=a[u+4>>2]|0;n=kR(e,a[47143]|0,0,0)|0;f=+c[o>>2];if(!i)ir(A,137314,n,f);else ir(A,i,n,f);d=(a[d>>2]|0)>>>1&1|2;o=A+256|0;a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];a[h+16>>2]=a[o+16>>2];a[h+20>>2]=a[o+20>>2];a[h+24>>2]=a[o+24>>2];a[h+28>>2]=a[o+28>>2];nr(A,h,d);L2(l)}i=a[(a[(a[e+16>>2]|0)+8>>2]|0)+88>>2]|0;if(i|0)AF(A,i);k=B;return}function DI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=(a[A>>2]|0)+28|0;a[n>>2]=(a[n>>2]|0)+1;n=(i&4|0)!=0;if(!n)MI(A,e,i);A:do{if(!(i&1)){if(i&16|0){pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A);Ri(A);r=cd(e)|0;while(1){if(!r)break;FI(A,r);r=bd(e,r)|0}Hi(A);break}if(!(i&8)){f=cd(e)|0;while(1){if(!f)break A;FI(A,f);r=Oo(e,f)|0;while(1){if(!r)break;FI(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0);VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}}Ri(A);r=cd(e)|0;while(1){if(!r)break;if((JI(e,r)|0)<<24>>24)FI(A,r);r=bd(e,r)|0}Hi(A);pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;if((NI(e,r)|0)<<24>>24)VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A)}else{Ri(A);r=cd(e)|0;while(1){if(!r)break;FI(A,r);r=bd(e,r)|0}Hi(A);pi(A);f=cd(e)|0;while(1){if(!f)break;r=Oo(e,f)|0;while(1){if(!r)break;VI(A,r);r=_o(e,r)|0}f=bd(e,f)|0}Ui(A)}}while(0);if(n)MI(A,e,i);return}function MI(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;H=k;k=k+128|0;C=H+72|0;X=H+64|0;D=H+112|0;M=H;F=H+104|0;V=e+16|0;J=(i&4|0)!=0;N=A+16|0;I=M+32|0;Z=M+16|0;Q=M+8|0;m=M+24|0;L=M+48|0;W=M+40|0;y=M+56|0;z=(i&8|0)==0;Y=F+4|0;E=1;while(1){l=a[V>>2]|0;if((E|0)>(a[l+180>>2]|0))break;g=a[(a[l+184>>2]|0)+(E<<2)>>2]|0;if((OM(A,g)|0)<<24>>24){if(J)MI(A,g,i);KM(A,g);d=a[N>>2]|0;B=d+208|0;if(!(a[B>>2]|0))v=(f[d+260>>1]&1)!=0;else v=1;Qf(po(g,100032)|0);if(!(J|v^1)){h=(a[g+16>>2]|0)+16|0;a[C>>2]=a[h>>2];a[C+4>>2]=a[h+4>>2];a[C+8>>2]=a[h+8>>2];a[C+12>>2]=a[h+12>>2];a[C+16>>2]=a[h+16>>2];a[C+20>>2]=a[h+20>>2];a[C+24>>2]=a[h+24>>2];a[C+28>>2]=a[h+28>>2];bI(A,C);Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0)}a[D>>2]=0;l=_M(g,D)|0;if(!l)o=0;else{rr(A,l);o=a[D>>2]&1}h=g+16|0;l=n[(a[h>>2]|0)+112>>0]|0;do{if(!(l&1)){if(l&2|0){l=BR(g,0,106256)|0;t=BR(g,0,106264)|0;R=29;break}if(l&8|0){l=BR(g,0,106272)|0;t=BR(g,0,106280)|0;R=29;break}if(l&4|0){l=BR(g,0,106288)|0;t=BR(g,0,106296)|0;R=29;break}l=po(g,140823)|0;if(!l)t=0;else t=(r[l>>0]|0)==0?0:l;l=po(g,137729)|0;if(!l)l=t;else l=(r[l>>0]|0)==0?t:l;s=po(g,101418)|0;if(s)t=(r[s>>0]|0)==0?t:s;if(!((o|0)!=0&(t|0)!=0)){s=po(g,140977)|0;if(s|0?r[s>>0]|0:0){t=s;R=29;break}l=(l|0)==0?137314:l;w=(t|0)==0?134800:t;a[F>>2]=0;if(!o)t=0;else R=31}else R=29}else{l=BR(g,0,106240)|0;t=BR(g,0,106248)|0;R=29}}while(0);if((R|0)==29){a[F>>2]=0;l=(l|0)==0?137314:l;w=(t|0)==0?134800:t;R=31}if((R|0)==31){R=0;if(!((qM(w,F,C)|0)<<24>>24)){er(A,w);t=1}else{er(A,a[F>>2]|0);t=a[Y>>2]|0;s=kR(g,a[47143]|0,0,0)|0;u=+c[C>>2];if(!t)ir(A,137314,s,u);else ir(A,t,s,u);t=(a[D>>2]|0)>>>1&1|2}}s=a[47142]|0;if((s|0?(G=Uo(g,s)|0,G|0):0)?r[G>>0]|0:0)wr(A,+oR(g,a[47142]|0,1.0,0.0));o=a[D>>2]|0;do{if(o&4){s=kR(g,a[47141]|0,1,0)|0;if(s|t|0){w=a[h>>2]|0;p=w+16|0;a[M>>2]=a[p>>2];a[M+4>>2]=a[p+4>>2];a[M+8>>2]=a[p+8>>2];a[M+12>>2]=a[p+12>>2];w=w+32|0;a[I>>2]=a[w>>2];a[I+4>>2]=a[w+4>>2];a[I+8>>2]=a[w+8>>2];a[I+12>>2]=a[w+12>>2];b[Z>>3]=+b[I>>3];b[m>>3]=+b[Q>>3];b[L>>3]=+b[M>>3];b[y>>3]=+b[W>>3];if(!s)$i(A,137379);else $i(A,l);tN(A,M,4,o,t)}}else{if(!(o&64)){if(kR(g,a[47141]|0,1,0)|0){$i(A,l);p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,t);break}if(!t)break;$i(A,137379);p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,t);break}p=a[h>>2]|0;o=p+16|0;a[M>>2]=a[o>>2];a[M+4>>2]=a[o+4>>2];a[M+8>>2]=a[o+8>>2];a[M+12>>2]=a[o+12>>2];p=p+32|0;a[I>>2]=a[p>>2];a[I+4>>2]=a[p+4>>2];a[I+8>>2]=a[p+8>>2];a[I+12>>2]=a[p+12>>2];b[Z>>3]=+b[I>>3];b[m>>3]=+b[Q>>3];b[L>>3]=+b[M>>3];b[y>>3]=+b[W>>3];if(!(kR(g,a[47141]|0,1,0)|0))$i(A,137379);else $i(A,l);if((cI(A,M,w,0)|0)>1){a[X>>2]=Vh(g)|0;ao(3,100400,X)|0}p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];nr(A,C,0)}}while(0);L2(a[F>>2]|0);l=a[(a[h>>2]|0)+12>>2]|0;if(l|0)jF(A,5,l);if(v){if(J){p=(a[h>>2]|0)+16|0;a[C>>2]=a[p>>2];a[C+4>>2]=a[p+4>>2];a[C+8>>2]=a[p+8>>2];a[C+12>>2]=a[p+12>>2];a[C+16>>2]=a[p+16>>2];a[C+20>>2]=a[p+20>>2];a[C+24>>2]=a[p+24>>2];a[C+28>>2]=a[p+28>>2];bI(A,C);Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0)}Oi(A)}A:do{if(!z){t=cd(g)|0;while(1){if(!t)break A;FI(A,t);l=Oo(g,t)|0;while(1){if(!l)break;VI(A,l);l=_o(g,l)|0}t=bd(g,t)|0}}}while(0);$M(A,e);if(!J)MI(A,g,i)}E=E+1|0}k=H;return}function FI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+32|0;i=c;l=a[A>>2]|0;t=e+16|0;A:do{if(((a[(a[t>>2]|0)+8>>2]|0?(HM(A,Id(e)|0,e)|0)<<24>>24:0)?(b=A+256|0,a[i>>2]=a[b>>2],a[i+4>>2]=a[b+4>>2],a[i+8>>2]=a[b+8>>2],a[i+12>>2]=a[b+12>>2],a[i+16>>2]=a[b+16>>2],a[i+20>>2]=a[b+20>>2],a[i+24>>2]=a[b+24>>2],a[i+28>>2]=a[b+28>>2],(pM(e,i)|0)<<24>>24):0)?(f=(a[t>>2]|0)+116|0,n=a[l+28>>2]|0,(n|0)!=(r[f>>0]|0)):0){r[f>>0]=n;cr(A,Vh(e)|0);i=dR(e,a[47169]|0,195059)|0;if(r[i>>0]|0)cr(A,i);i=dR(e,a[47157]|0,195059)|0;e:do{if(r[i>>0]|0){HI(i)|0;i=188228;while(1){f=i;i=i+4|0;f=a[f>>2]|0;if(!f)break e;if((r[f>>0]|0)!=105)continue;if(!(A1(f,134335)|0))break A}}}while(0);UM(A,e);V5[a[(a[(a[(a[t>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](A,e);i=a[(a[t>>2]|0)+108>>2]|0;if(i|0?r[i+81>>0]|0:0)jF(A,10,i);xM(A)}}while(0);k=c;return}function VI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;n=l;i=A+256|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[n+16>>2]=a[i+16>>2];a[n+20>>2]=a[i+20>>2];a[n+24>>2]=a[i+24>>2];a[n+28>>2]=a[i+28>>2];A:do{if((XI(e,n)|0)<<24>>24?(f=e+-48|0,(RI(A,e)|0)<<24>>24):0){t=e+48|0;i=S2(Vh(a[((a[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;i=m2(i+3+(S2(Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)|0)|0;$1(i,Vh(a[((a[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0;t=(Ih(Id(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0)==0;n=i+(S2(i)|0)|0;if(t){r[n>>0]=r[141747]|0;r[n+1>>0]=r[141748]|0;r[n+2>>0]=r[141749]|0}else{r[n>>0]=r[137738]|0;r[n+1>>0]=r[137739]|0;r[n+2>>0]=r[137740]|0}u3(i,Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0)|0;cr(A,i);L2(i);i=dR(e,a[47191]|0,195059)|0;if(r[i>>0]|0)cr(A,i);i=dR(e,a[47185]|0,195059)|0;e:do{if(!(r[i>>0]|0))i=0;else{HI(i)|0;i=188228;while(1){f=i;i=i+4|0;f=a[f>>2]|0;if(!f){i=188228;break e}if((r[f>>0]|0)!=105)continue;if(!(A1(f,134335)|0))break A}}}while(0);aM(A,e,i);nM(A,e,i);lM(A)}}while(0);k=l;return}function JI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0)){A=1;break}if(!(Dd(a[(a[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function NI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0)){A=1;break}if(!(Dd(a[(a[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function XI(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+64|0;t=c+32|0;f=c;n=A+16|0;A=a[n>>2]|0;i=a[A+8>>2]|0;if((i|0)!=0?(i=i+8|0,a[f>>2]=a[i>>2],a[f+4>>2]=a[i+4>>2],a[f+8>>2]=a[i+8>>2],a[f+12>>2]=a[i+12>>2],a[f+16>>2]=a[i+16>>2],a[f+20>>2]=a[i+20>>2],a[f+24>>2]=a[i+24>>2],a[f+28>>2]=a[i+28>>2],a[t>>2]=a[e>>2],a[t+4>>2]=a[e+4>>2],a[t+8>>2]=a[e+8>>2],a[t+12>>2]=a[e+12>>2],a[t+16>>2]=a[e+16>>2],a[t+20>>2]=a[e+20>>2],a[t+24>>2]=a[e+24>>2],a[t+28>>2]=a[e+28>>2],(RM(f,t)|0)!=0):0)A=1;else l=3;do{if((l|0)==3){i=a[A+96>>2]|0;if(i){a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[t+16>>2]=a[e+16>>2];a[t+20>>2]=a[e+20>>2];a[t+24>>2]=a[e+24>>2];a[t+28>>2]=a[e+28>>2];if((GH(i,t)|0)<<24>>24){A=1;break}A=a[n>>2]|0}A=a[A+108>>2]|0;if((A|0?r[A+81>>0]|0:0)?(a[t>>2]=a[e>>2],a[t+4>>2]=a[e+4>>2],a[t+8>>2]=a[e+8>>2],a[t+12>>2]=a[e+12>>2],a[t+16>>2]=a[e+16>>2],a[t+20>>2]=a[e+20>>2],a[t+24>>2]=a[e+24>>2],a[t+28>>2]=a[e+28>>2],(GH(A,t)|0)<<24>>24):0){A=1;break}A=0}}while(0);k=c;return A|0}function RI(A,e){A=A|0;e=e|0;var i=0,f=0;A:do{if((a[A+156>>2]|0)>=2?(i=dR(e,a[47190]|0,195059)|0,(VM(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=0;while(1){if((i|0)>=2){i=0;break A}f=(i|0)==1;f=dR(a[((a[e>>2]&3|0)==((f?2:3)|0)?e:e+((f?-1:1)*48|0)|0)+40>>2]|0,a[47167]|0,195059)|0;if(!(r[f>>0]|0)){i=1;break A}if(!((VM(A,f)|0)<<24>>24))i=i+1|0;else{i=1;break}}}else i=0;else i=1}while(0);return i|0}function HI(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+192|0;u=o+24|0;w=o+16|0;s=o+8|0;b=o;n=o+48|0;c=o+32|0;if(r[100282]|0){co(188492,128,194826);r[100282]=0}co(c,128,o+56|0);a[n>>2]=A;l=c+4|0;t=c+8|0;e=0;i=0;A:while(1){f=e;e:while(1)switch(MM(n,c)|0){case 0:{e=21;break A}case 40:if(!(f<<24>>24)){f=1;continue e}else{e=7;break A}case 41:if(!(f<<24>>24)){e=9;break A}else{f=0;continue e}default:break e}if(!(f<<24>>24)){if((i|0)==63){e=12;break}e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}a[47124]=e+1;r[e>>0]=0;a[188228+(i<<2)>>2]=a[47124];i=i+1|0}e=a[l>>2]|0;if(e>>>0>=(a[t>>2]|0)>>>0){bo(c,1)|0;e=a[l>>2]|0}r[e>>0]=0;e=a[c>>2]|0;a[l>>2]=e;wo(188492,e)|0;e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}a[47124]=e+1;r[e>>0]=0;e=f}do{if((e|0)==7){a[b>>2]=A;ao(1,100283,b)|0;a[47057]=0;uo(c)}else if((e|0)==9){a[s>>2]=A;ao(1,100317,s)|0;a[47057]=0;uo(c)}else if((e|0)==12){a[w>>2]=A;ao(0,100345,w)|0;a[47120]=0;uo(c)}else if((e|0)==21){if(f<<24>>24){a[u>>2]=A;ao(1,100368,u)|0;a[47057]=0;uo(c);break}a[188228+(i<<2)>>2]=0;uo(c);e=a[47124]|0;if(e>>>0>=(a[47125]|0)>>>0){bo(188492,1)|0;e=a[47124]|0}r[e>>0]=0;a[47124]=a[47123]}}while(0);k=o;return 188228}function pI(A){A=A|0;var e=0;e=k;k=k+A|0;k=k+15&-16;return e|0}function UI(){return k|0}function xI(A){A=A|0;k=A}function TI(A,e){A=A|0;e=e|0;k=A;o=e}function jI(A,e){A=A|0;e=e|0;if(!d){d=A;B=e}}function SI(A){A=A|0;L=A}function PI(){return L|0}function OI(A){A=A|0;a[46654]=A;return 0}function KI(){return a[46654]|0}function _I(A,e){A=A|0;e=e|0;UA(0,A|0,e|0)|0;return}function qI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t+4|0;n=t;a[f>>2]=0;l=wE()|0;dE(l,10976);dE(l,17220);dE(l,17440);fo(1)|0;ro(18)|0;while(1){A=_h(A)|0;r=a[f>>2]|0;if(!A)break;if(r|0){A=195059;continue}uE(l,A,i)|0;hE(l,A,e,f,n)|0;A=195059}k=t;return r|0}function $I(A){A=A|0;var e=0,i=0,r=0,n=0;n=k;k=k+16|0;e=n+4|0;i=n;r=a[(a[A+16>>2]|0)+8>>2]|0;A=A+64|0;switch(a[A>>2]|0){case 0:{qV(r);break}case 1:{if(f[(a[r+16>>2]|0)+136>>1]&1)cH(r);break}case 4:case 5:case 6:{OV(r,i,e);iZ(r,a[i>>2]|0,a[e>>2]|0,a[A>>2]|0);break}default:{}}k=n;return}function AZ(A){A=A|0;var e=0,i=0,r=0,f=0;i=a[(a[A+16>>2]|0)+8>>2]|0;if(!(a[46655]|0)){a[46655]=a[4678];a[46656]=57;a[46657]=19}r=i+64|0;f=(a[r>>2]|0)+8|0;e=a[f>>2]|0;a[f>>2]=186620;switch(a[A+64>>2]|0){case 2:{XV(A,i,A,0);break}case 3:{XV(A,i,A,1);break}case 1:case 0:{if(!(a[A+152>>2]&134217728))rv(i,A)|0;break}case 6:case 5:case 4:{eZ(i);if(!(a[A+152>>2]&134217728))rv(i,A)|0;break}default:{}}a[(a[r>>2]|0)+8>>2]=e;return}function eZ(A){A=A|0;var e=0,i=0;e=a[46659]|0;if((e|0)!=(a[46658]|0)){i=a[a[46690]>>2]|0;if(!i){i=oH(A,0,99808,195059)|0;a[a[46690]>>2]=i;e=a[46659]|0}if(e>>>0>=(a[46660]|0)>>>0){bo(186632,1)|0;e=a[46659]|0}r[e>>0]=0;e=a[46658]|0;a[46659]=e;Vo(A,i,e)|0}if(a[(a[A+16>>2]|0)+12>>2]|0){i=a[(a[46690]|0)+4>>2]|0;e=a[46675]|0;if(e>>>0>=(a[46676]|0)>>>0){bo(186696,1)|0;e=a[46675]|0}r[e>>0]=0;e=a[46674]|0;a[46675]=e;Vo(A,i,e)|0}To(A,66753,a[(a[46690]|0)+8236>>2]|0,195059)|0;e=0;while(1){if((e|0)==8)break;uo(186632+(e<<4)|0);e=e+1|0}L2(a[46690]|0);b[1]=1.0;b[5]=1.0;a[46691]=0;a[46695]=0;return}function iZ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0;t=m2(8240)|0;a[46690]=t;A:do{switch(n|0){case 6:{f[t+8232>>1]=14;n=66769;break}case 5:{f[t+8232>>1]=12;n=66773;break}default:{n=po(A,66753)|0;if((n|0?r[n>>0]|0:0)?(l=rZ(n)|0,(l&65535)>10):0){t=a[46690]|0;f[t+8232>>1]=l;break A}n=rZ(66765)|0;t=a[46690]|0;f[t+8232>>1]=n;n=66765}}}while(0);a[t+8236>>2]=n;c=A+16|0;n=a[c>>2]|0;if(!(a[n+180>>2]|0))l=0;else{l=oH(A,0,99808,195059)|0;t=a[46690]|0;n=a[c>>2]|0}a[t>>2]=l;if(!(r[n+113>>0]&8))n=0;else n=oH(A,0,66777,195059)|0;a[(a[46690]|0)+4>>2]=n;t=oH(A,1,99808,195059)|0;a[(a[46690]|0)+8>>2]=t;t=oH(A,1,66777,195059)|0;a[(a[46690]|0)+12>>2]=t;t=oH(A,2,99808,195059)|0;n=a[46690]|0;a[n+16>>2]=t;if(!i)l=0;else{l=oH(A,2,66785,195059)|0;n=a[46690]|0}a[n+20>>2]=l;if(!e)l=0;else{l=oH(A,2,66793,195059)|0;n=a[46690]|0}a[n+24>>2]=l;l=r[(a[c>>2]|0)+113>>0]|0;if(!(l&33))t=0;else{t=oH(A,2,66777,195059)|0;n=a[46690]|0;l=r[(a[c>>2]|0)+113>>0]|0}a[n+28>>2]=t;if(!(l&2))t=0;else{t=oH(A,2,66801,195059)|0;n=a[46690]|0;l=r[(a[c>>2]|0)+113>>0]|0}a[n+32>>2]=t;if(!(l&4))l=0;else{l=oH(A,2,66810,195059)|0;n=a[46690]|0}a[n+36>>2]=l;n=0;while(1){if((n|0)==8)break;co(186632+(n<<4)|0,1024,(a[46690]|0)+40+(n<<10)|0);n=n+1|0}return}function rZ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+1040|0;l=c;n=c+8|0;f=0;e=A;A:while(1){do{i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A}while(((i<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){t=7;break}r[n+f>>0]=i;f=f+1|0}if((t|0)==7){a[l>>2]=A;ao(0,66819,l)|0}r[n+f>>0]=0;t=(q3(n)|0)&65535;k=c;return t|0}function fZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;e=a[a[46690]>>2]|0;A=a[46663]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0;if(a[(a[i+16>>2]|0)+12>>2]|0){e=a[(a[46690]|0)+4>>2]|0;A=a[46679]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}b[2]=1.0;b[6]=1.0;a[46692]=0;a[46696]=0;return}function aZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;A=a[46663]|0;if((a[46662]|0)!=(A|0)){e=a[(a[46690]|0)+8>>2]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0}A=a[46679]|0;if((a[46678]|0)!=(A|0)){e=a[(a[46690]|0)+12>>2]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}b[9]=1.0;b[11]=1.0;a[46699]=0;a[46701]=0;return}function nZ(A){A=A|0;var e=0,i=0;i=a[(a[A+16>>2]|0)+8>>2]|0;A=a[46663]|0;if((a[46662]|0)!=(A|0)){e=a[(a[46690]|0)+16>>2]|0;if(A>>>0>=(a[46664]|0)>>>0){bo(186648,1)|0;A=a[46663]|0}r[A>>0]=0;A=a[46662]|0;a[46663]=A;Vo(i,e,A)|0}A=a[46667]|0;if((a[46666]|0)!=(A|0)){e=a[(a[46690]|0)+24>>2]|0;if(A>>>0>=(a[46668]|0)>>>0){bo(186664,1)|0;A=a[46667]|0}r[A>>0]=0;A=a[46666]|0;a[46667]=A;Vo(i,e,A)|0}A=a[46671]|0;if((a[46670]|0)!=(A|0)){e=a[(a[46690]|0)+20>>2]|0;if(A>>>0>=(a[46672]|0)>>>0){bo(186680,1)|0;A=a[46671]|0}r[A>>0]=0;A=a[46670]|0;a[46671]=A;Vo(i,e,A)|0}A=a[46679]|0;if((a[46678]|0)!=(A|0)){e=a[(a[46690]|0)+28>>2]|0;if(A>>>0>=(a[46680]|0)>>>0){bo(186712,1)|0;A=a[46679]|0}r[A>>0]=0;A=a[46678]|0;a[46679]=A;Vo(i,e,A)|0}A=a[46683]|0;if((a[46682]|0)!=(A|0)){e=a[(a[46690]|0)+36>>2]|0;if(A>>>0>=(a[46684]|0)>>>0){bo(186728,1)|0;A=a[46683]|0}r[A>>0]=0;A=a[46682]|0;a[46683]=A;Vo(i,e,A)|0}A=a[46687]|0;if((a[46686]|0)!=(A|0)){e=a[(a[46690]|0)+32>>2]|0;if(A>>>0>=(a[46688]|0)>>>0){bo(186744,1)|0;A=a[46687]|0}r[A>>0]=0;A=a[46686]|0;a[46687]=A;Vo(i,e,A)|0}b[10]=1.0;b[12]=1.0;b[3]=1.0;b[4]=1.0;b[7]=1.0;b[8]=1.0;a[46700]=0;a[46702]=0;a[46693]=0;a[46694]=0;a[46697]=0;a[46698]=0;return}function lZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+1056|0;t=v+16|0;B=v+8|0;d=v;c=v+32|0;u=a[(a[A+16>>2]|0)+12>>2]|0;o=a[11416+(u<<2)>>2]|0;wo(o,66916)|0;n=i+4|0;hZ(c,+b[(a[n>>2]|0)+16>>3]);wo(o,c)|0;vZ(A,195059,a[a[n>>2]>>2]|0);uZ(A);h=r[i+48>>0]|0;h=h<<24>>24==108?-1:h<<24>>24==114&1;n=a[n>>2]|0;if(!n)n=0;else n=a[n+24>>2]&127;l=f[(a[46690]|0)+8232>>1]|0;if((l&65535)>14?(s=a[11464+((l&65535)+-15<<2)>>2]&n,w=186764+(u<<2)|0,(a[w>>2]|0)!=(s|0)):0){a[d>>2]=s;P4(c,66919,d)|0;wo(o,c)|0;a[w>>2]=s}d=e+8|0;b[d>>3]=+b[d>>3]+ +b[i+24>>3];wo(o,66925)|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];oZ(o,t);a[B>>2]=h;P4(c,102220,B)|0;wo(o,c)|0;hZ(c,+b[i+32>>3]);wo(o,c)|0;vZ(A,195059,a[i>>2]|0);k=v;return}function tZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+1040|0;f=l;n=l+16|0;r=a[(a[A+16>>2]|0)+12>>2]|0;wZ(A);uZ(A);if(!i){A=a[11416+(r<<2)>>2]|0;wo(A,66913)|0}else{if((i|1|0)==3)EZ(A,i,e,2);else CZ(A);A=a[11416+(r<<2)>>2]|0;wo(A,66910)|0}a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];oZ(A,f);hZ(n,+b[e+16>>3]-+b[e>>3]);wo(A,n)|0;hZ(n,+b[e+24>>3]-+b[e+8>>3]);wo(A,n)|0;k=l;return}function cZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;wZ(A);uZ(A);if(!r)kZ(A,112,e,i);else{if((r|1|0)==3)EZ(A,r,e,i);else CZ(A);kZ(A,80,e,i)}return}function bZ(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;wZ(A);uZ(A);if(!a)kZ(A,66,e,i);else{if((a|1|0)==3)EZ(A,a,e,i);else CZ(A);kZ(A,98,e,i)}return}function sZ(A,e,i){A=A|0;e=e|0;i=i|0;wZ(A);uZ(A);kZ(A,76,e,i);return}function wZ(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+1184|0;l=w;f=w+24|0;s=w+8|0;co(s,1024,w+152|0);t=A+16|0;e=a[t>>2]|0;n=+b[e+152>>3];i=8+(a[e+12>>2]<<3)|0;if(n!=+b[i>>3]){b[i>>3]=n;wo(s,66882)|0;b[l>>3]=+b[(a[t>>2]|0)+152>>3];P4(f,66896,l)|0;dZ(f,0);wo(s,f)|0;f=s+4|0;e=a[f>>2]|0;i=s+8|0;if(e>>>0>=(a[i>>2]|0)>>>0){bo(s,1)|0;e=a[f>>2]|0}a[f>>2]=e+1;r[e>>0]=41;e=a[f>>2]|0;if(e>>>0>=(a[i>>2]|0)>>>0){bo(s,1)|0;e=a[f>>2]|0}r[e>>0]=0;e=a[s>>2]|0;a[f>>2]=e;vZ(A,66901,e);e=a[t>>2]|0}e=a[e+160>>2]|0;if(e|0){t=s+4|0;c=s+8|0;A:while(1){l=e+4|0;e=a[e>>2]|0;if(!e)break;switch(r[e>>0]|0){case 102:{if(!(A1(e,111101)|0)){e=l;continue A}break}case 98:{if(!(A1(e,111083)|0)){e=l;continue A}break}case 115:{if(!(A1(e,111088)|0)){e=l;continue A}break}default:{}}wo(s,e)|0;do{f=e;e=e+1|0}while((r[f>>0]|0)!=0);if(r[e>>0]|0){i=a[t>>2]|0;if(i>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}a[t>>2]=i+1;r[i>>0]=40;f=0;while(1){if(!(r[e>>0]|0))break;if(f|0){i=a[t>>2]|0;if(i>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;i=a[t>>2]|0}a[t>>2]=i+1;r[i>>0]=44}wo(s,e)|0;do{i=e;e=e+1|0}while((r[i>>0]|0)!=0);f=f+1|0}e=a[t>>2]|0;if(e>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=41}e=a[t>>2]|0;if(e>>>0>=(a[c>>2]|0)>>>0){bo(s,1)|0;e=a[t>>2]|0}r[e>>0]=0;e=a[s>>2]|0;a[t>>2]=e;vZ(A,66901,e);e=l}uo(s)}k=w;return}function uZ(A){A=A|0;BZ((a[A+16>>2]|0)+16|0);vZ(A,75834,193758);return}function kZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;b=k;k=k+1040|0;c=b;t=b+16|0;l=a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0;n=l+4|0;A=a[n>>2]|0;if(A>>>0>=(a[l+8>>2]|0)>>>0){bo(l,1)|0;A=a[n>>2]|0}a[n>>2]=A+1;r[A>>0]=e;a[c>>2]=f;P4(t,66846,c)|0;wo(l,t)|0;A=0;while(1){if((A|0)>=(f|0))break;t=i+(A<<4)|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];oZ(l,c);A=A+1|0}k=b;return}function oZ(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+1024|0;r=i;hZ(r,+b[e>>3]);wo(A,r)|0;hZ(r,+NV(+b[e+8>>3]));wo(A,r)|0;k=i;return}function hZ(A,e){A=A|0;e=+e;var i=0,r=0;i=k;k=k+16|0;r=i;b[r>>3]=e>-1.0e-08&e<1.0e-08?0.0:e;P4(A,66851,r)|0;dZ(A,1);k=i;return}function dZ(A,e){A=A|0;e=e|0;var i=0,f=0;i=G1(A,46)|0;if(!i){if(e|0){i=A+(S2(A)|0)|0;f=10}}else{while(1){A=i+1|0;if(!(r[A>>0]|0))break;else i=A}A:while(1){switch(r[i>>0]|0){case 46:{f=5;break A}case 48:break;default:{f=6;break A}}r[i>>0]=0;i=i+-1|0}if((f|0)==5)r[i>>0]=0;else if((f|0)==6)i=i+1|0;if(e|0)f=10}if((f|0)==10){r[i>>0]=32;r[i+1>>0]=0}return}function BZ(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;c=k;k=k+32|0;t=c+16|0;l=c;e=r[A+3>>0]|0;i=n[A>>0]|0;f=n[A+1>>0]|0;A=n[A+2>>0]|0;if(e<<24>>24==-1){a[l>>2]=i;a[l+4>>2]=f;a[l+8>>2]=A;P4(193758,75714,l)|0}else{a[t>>2]=i;a[t+4>>2]=f;a[t+8>>2]=A;a[t+12>>2]=e&255;P4(193758,66864,t)|0}k=c;return}function vZ(A,e,i){A=A|0;e=e|0;i=i|0;gZ(a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0,e,i);return}function gZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;f=k;k=k+1040|0;l=f;n=f+8|0;t=S2(i)|0;a[l>>2]=e;a[l+4>>2]=t;P4(n,66857,l)|0;wo(A,n)|0;wo(A,i)|0;i=A+4|0;e=a[i>>2]|0;if(e>>>0>=(a[A+8>>2]|0)>>>0){bo(A,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=32;k=f;return}function EZ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0.0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0;I=k;k=k+1120|0;v=I+64|0;C=I+80|0;t=I+32|0;d=I+16|0;B=I;g=a[A+16>>2]|0;n=+(a[g+136>>2]|0)*.017453292519943295;if((l[(a[46690]|0)+8232>>1]|0)<14)CZ(A);else{co(C,1024,I+96|0);E=(e|0)==2;if(E){YH(i,t,f,n,2);i=C+4|0;e=a[i>>2]|0;if(e>>>0>=(a[C+8>>2]|0)>>>0){bo(C,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=91;a[v>>2]=a[t>>2];a[v+4>>2]=a[t+4>>2];a[v+8>>2]=a[t+8>>2];a[v+12>>2]=a[t+12>>2];oZ(C,v);B=t+16|0;a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];oZ(C,v)}else{YH(i,t,f,0.0,3);h=+b[t+24>>3];u=+b[t>>3];if(n==0.0){w=+b[t+8>>3];o=h*.25;n=w;s=u}else{o=h*.25;Z=o;s=+D(+n)*Z+u;w=+b[t+8>>3];n=+M(+n)*Z+w}b[d>>3]=s;b[d+8>>3]=n;b[B>>3]=u;b[B+8>>3]=w;i=C+4|0;e=a[i>>2]|0;if(e>>>0>=(a[C+8>>2]|0)>>>0){bo(C,1)|0;e=a[i>>2]|0}a[i>>2]=e+1;r[e>>0]=40;a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];oZ(C,v);IZ(C,o);a[v>>2]=a[B>>2];a[v+4>>2]=a[B+4>>2];a[v+8>>2]=a[B+8>>2];a[v+12>>2]=a[B+12>>2];oZ(C,v);IZ(C,h)}wo(C,66907)|0;e=g+140|0;n=+c[e>>2];i=g+56|0;if(n>0.0){ZZ(C,n,i);ZZ(C,+c[e>>2],g+96|0)}else{ZZ(C,0.0,i);ZZ(C,1.0,g+96|0)}ko(C)|0;t=C+4|0;e=a[t>>2]|0;f=C+8|0;i=e>>>0>=(a[f>>2]|0)>>>0;if(E){if(i){bo(C,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=93}else{if(i){bo(C,1)|0;e=a[t>>2]|0}a[t>>2]=e+1;r[e>>0]=41}e=a[t>>2]|0;if(e>>>0>=(a[f>>2]|0)>>>0){bo(C,1)|0;e=a[t>>2]|0}r[e>>0]=0;E=a[C>>2]|0;a[t>>2]=E;vZ(A,66904,E);uo(C)}k=I;return}function CZ(A){A=A|0;BZ((a[A+16>>2]|0)+56|0);vZ(A,66904,193758);return}function IZ(A,e){A=A|0;e=+e;var i=0,r=0;i=k;k=k+1024|0;r=i;hZ(r,e);wo(A,r)|0;k=i;return}function ZZ(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,a=0;r=k;k=k+1040|0;a=r;f=r+8|0;b[a>>3]=e;P4(f,94168,a)|0;dZ(f,1);BZ(i);gZ(A,f,193758);k=r;return}function GZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;r=k;k=k+1040|0;l=r;f=r+16|0;n=a[11416+(a[(a[A+16>>2]|0)+12>>2]<<2)>>2]|0;wo(n,67013)|0;a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];oZ(n,l);hZ(f,+b[i+16>>3]-+b[i>>3]);wo(n,f)|0;hZ(f,+b[i+24>>3]-+b[i+8>>3]);wo(n,f)|0;vZ(A,195059,a[e+8>>2]|0);k=r;return}function QZ(A){A=A|0;var e=0;switch(a[A+64>>2]|0){case 0:{e=Qg(a[A>>2]|0)|0;kE(e,a[(a[A+16>>2]|0)+8>>2]|0,67797,0)|0;mg(e);break}case 1:{qV(a[(a[A>>2]|0)+168>>2]|0);break}default:{}}return}function mZ(A){A=A|0;var e=0,i=0,f=0,n=0;f=k;k=k+16|0;e=f;i=a[(a[A+16>>2]|0)+8>>2]|0;if(!(a[46703]|0)){a[46703]=a[4678];a[46704]=57;a[46705]=19}a[(a[i+64>>2]|0)+8>>2]=186812;LZ(i,1);a[e>>2]=0;r[e+4>>0]=(r[(a[i+16>>2]|0)+115>>0]|0)==1&1;n=a[A+64>>2]|0;r[e+5>>0]=((n|0)==0|(n|0)==3)&1;r[e+6>>0]=0;WZ(i,A,1,e);k=f;return}function LZ(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=a[A>>2]&-9;i=RB(A)|0;while(1){if(!i)break;LZ(i,0);i=HB(i)|0}A:do{if(e|0){e=cd(A)|0;while(1){if(!e)break A;a[e>>2]=a[e>>2]&-9;i=Oo(A,e)|0;while(1){if(!i)break;a[i>>2]=a[i>>2]&-9;i=_o(A,i)|0}e=bd(A,e)|0}}}while(0);return}function WZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h+8|0;u=h;w=(i|0)!=0;if(w){s=jk(11836,a[4581]|0)|0;Kd(A,1,141060,12,0);Kd(A,2,141060,12,0);Kd(A,0,141060,-12,0);f=yZ(A,0,s)|0;c=cd(A)|0;t=0;n=0;while(1){if(!c)break;if(!(Z1(Vh(c)|0,108006,7)|0)){b=n;n=zZ(s,Vh(c)|0)|0}else{b=n+1|0;n=n+f|0}a[(Ud(c,141060,0)|0)+8>>2]=n;l=Oo(A,c)|0;n=t;while(1){if(!l)break;a[(Ud(l,141060,0)|0)+8>>2]=n;l=_o(A,l)|0;n=n+1|0}c=bd(A,c)|0;t=n;n=b}pk(s)|0}else f=0;s=a[r>>2]|0;a[r>>2]=s+1;YZ(e,s);kg(e,97374)|0;DZ(A,e,i,r);MZ(A,e,r);kg(e,97345)|0;YZ(e,a[r>>2]|0);if(w){a[u>>2]=f;gg(e,67016,u)}else{a[o>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67036,o)}VZ(A,e,i,FZ(A,e,i,r)|0,r);JZ(A,e,i,r);kg(e,153599)|0;o=(a[r>>2]|0)+-1|0;a[r>>2]=o;YZ(e,o);if(w)kg(e,111008)|0;else kg(e,75357)|0;k=h;return}function yZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((Zd(A)|0)!=(A|0)){r=e+1|0;a[(Ud(A,141060,0)|0)+8>>2]=e;if(!(Z1(Vh(A)|0,108006,7)|0)){e=Vh(A)|0;OZ(i,e,a[(Ud(A,141060,0)|0)+8>>2]|0);e=r}else e=r}r=RB(A)|0;while(1){if(!r)break;A=yZ(r,e,i)|0;r=HB(r)|0;e=A}return e|0}function zZ(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e,512)|0;if(!A)A=-1;else A=a[A+12>>2]|0;return A|0}function YZ(A,e){A=A|0;e=e|0;while(1){if((e|0)<=0)break;kg(A,90574)|0;e=e+-1|0}return}function DZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=k;k=k+32|0;n=l+16|0;f=l+8|0;t=l;c=Vh(A)|0;YZ(e,a[r>>2]|0);a[t>>2]=RZ(c,r)|0;gg(e,67124,t);if(i|0){kg(e,97345)|0;YZ(e,a[r>>2]|0);c=(Ih(A)|0)!=0;a[f>>2]=c?107652:137308;gg(e,67738,f);YZ(e,a[r>>2]|0);c=(Gh(A)|0)!=0;a[n>>2]=c?107652:137308;gg(e,67755,n)}k=l;return}function MZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;s=u;t=Zd(A)|0;c=a[A>>2]&3;f=Jo(t,c,0)|0;A:do{if(f|0){b=i+5|0;while(1){if(!f)break A;n=Uo(A,f)|0;do{if(n|0){l=f+8|0;if(!(r[n>>0]|0)){n=a[l>>2]|0;if((r[n>>0]|0)!=108)break;if(A1(n,108224)|0)break}kg(e,97345)|0;YZ(e,a[i>>2]|0);a[s>>2]=RZ(a[l>>2]|0,i)|0;gg(e,67174,s);if(r[b>>0]|0?pZ(a[l>>2]|0)|0:0){UZ(Uo(A,f)|0,e,i);break}a[w>>2]=RZ(Uo(A,f)|0,i)|0;gg(e,67181,w)}}while(0);f=Jo(t,c,f)|0}}}while(0);k=u;return}function FZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;f=RB(A)|0;if(f){kg(e,97345)|0;n=a[r>>2]|0;a[r>>2]=n+1;YZ(e,n);n=(i|0)!=0;if(n){kg(e,67098)|0;A=0;i=f}else{kg(e,67158)|0;YZ(e,a[r>>2]|0);A=0;i=f}while(1){if(!i)break;if(!A)A=1;else kg(e,97345)|0;if(n)HZ(i,e,r);else{a[l>>2]=a[(Ud(i,141060,0)|0)+8>>2];gg(e,137395,l)}i=HB(i)|0}if(n)A=1;else{a[r>>2]=(a[r>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[r>>2]|0);kg(e,97340)|0;A=1}}else A=0;k=t;return A|0}function VZ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;n=cd(A)|0;if(!n){if((i|0)!=0&(r|0)!=0){a[f>>2]=(a[f>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[f>>2]|0);kg(e,97340)|0}}else{kg(e,97345)|0;l=(i|0)!=0;if(l)if(!r){r=a[f>>2]|0;a[f>>2]=r+1;YZ(e,r);kg(e,67098)|0;r=0}else r=0;else{r=a[f>>2]|0;a[f>>2]=r+1;YZ(e,r);kg(e,67112)|0;YZ(e,a[f>>2]|0);r=0}while(1){if(!n)break;if(Z1(Vh(n)|0,108006,7)|0){do{if(r)if(l){kg(e,97345)|0;break}else{kg(e,100999)|0;break}else r=1}while(0);XZ(n,e,i,f)}n=bd(A,n)|0}a[f>>2]=(a[f>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[f>>2]|0);kg(e,97340)|0}return}function JZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;f=cd(A)|0;A:do{if(f|0){while(1){if(!f)break A;if(Oo(A,f)|0)break;f=bd(A,f)|0}kg(e,97345)|0;t=a[r>>2]|0;a[r>>2]=t+1;YZ(e,t);kg(e,67048)|0;t=(i|0)!=0;if(t)n=0;else{YZ(e,a[r>>2]|0);n=0}while(1){if(!f)break;l=Oo(A,f)|0;while(1){if(!l)break;do{if(n)if(t){kg(e,97345)|0;break}else{kg(e,100999)|0;break}else n=1}while(0);NZ(l,e,i,r);l=_o(A,l)|0}f=bd(A,f)|0}a[r>>2]=(a[r>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[r>>2]|0);kg(e,97340)|0}}while(0);return}function NZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+32|0;t=c+24|0;l=c+16|0;n=c+8|0;f=c;if(!i){a[t>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,137395,t)}else{t=a[r>>2]|0;a[r>>2]=t+1;YZ(e,t);kg(e,97374)|0;YZ(e,a[r>>2]|0);a[f>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67060,f);YZ(e,a[r>>2]|0);a[n>>2]=a[(Ud(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,141060,0)|0)+8>>2];gg(e,67074,n);YZ(e,a[r>>2]|0);a[l>>2]=a[(Ud(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,141060,0)|0)+8>>2];gg(e,67087,l);MZ(A,e,r);kg(e,153599)|0;t=(a[r>>2]|0)+-1|0;a[r>>2]=t;YZ(e,t);kg(e,75357)|0}k=c;return}function XZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t+16|0;n=t+8|0;f=t;if(!i){a[l>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,137395,l)}else{l=a[r>>2]|0;a[r>>2]=l+1;YZ(e,l);kg(e,97374)|0;YZ(e,a[r>>2]|0);a[f>>2]=a[(Ud(A,141060,0)|0)+8>>2];gg(e,67060,f);YZ(e,a[r>>2]|0);a[n>>2]=RZ(Vh(A)|0,r)|0;gg(e,67124,n);MZ(A,e,r);kg(e,153599)|0;l=(a[r>>2]|0)+-1|0;a[r>>2]=l;YZ(e,l);kg(e,75357)|0}k=t;return}function RZ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=e+4|0;if(r[n>>0]|0)A=EH(A)|0;if(!(a[46706]|0)){co(186824,1024,0);i=A}else i=A;A:while(1){f=r[i>>0]|0;switch(f<<24>>24){case 0:break A;case 34:{wo(186824,67137)|0;break}case 92:{wo(186824,96616)|0;break}case 47:{wo(186824,67140)|0;break}case 8:{wo(186824,67143)|0;break}case 12:{wo(186824,67146)|0;break}case 10:{wo(186824,67149)|0;break}case 13:{wo(186824,67152)|0;break}case 9:{wo(186824,67155)|0;break}default:{e=a[46707]|0;if(e>>>0>=(a[46708]|0)>>>0){bo(186824,1)|0;e=a[46707]|0}a[46707]=e+1;r[e>>0]=f}}i=i+1|0}e=a[46707]|0;if(e>>>0>=(a[46708]|0)>>>0){bo(186824,1)|0;e=a[46707]|0}r[e>>0]=0;e=a[46706]|0;a[46707]=e;if(r[n>>0]|0)L2(A);return e|0}function HZ(A,e,i){A=A|0;e=e|0;i=i|0;WZ(A,e,0,i);A=RB(A)|0;while(1){if(!A)break;kg(e,97345)|0;HZ(A,e,i);A=HB(A)|0}return}function pZ(A){A=A|0;var e=0;e=A+1|0;A:do{if((r[A>>0]|0)==95){A=(r[e>>0]|0)+-100<<24>>24;switch(((A&255)>>>2|A<<6&255)<<24>>24){case 0:{if(!(A1(e,67695)|0)){A=1;break A}break}case 2:{if(!(A1(e,67701)|0)){A=1;break A}break}case 1:{if(!(A1(e,67708)|0)){A=1;break A}return(A1(e,67722)|0)==0|0}case 4:{if(!(A1(e,67715)|0)){A=1;break A}A=(A1(e,67730)|0)==0&1;break A}default:{A=0;break A}}A=0}else A=0}while(0);return A|0}function UZ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;f=t;do{if(A|0?r[A>>0]|0:0){l=WC(A)|0;if(!l){a[f>>2]=A;ao(0,67186,f)|0;break}kg(e,153599)|0;n=a[i>>2]|0;a[i>>2]=n+1;YZ(e,n);kg(e,67213)|0;n=l+8|0;A=0;f=0;while(1){if((f|0)>=(a[l>>2]|0))break;if(!A)A=1;else kg(e,97345)|0;xZ((a[n>>2]|0)+(f*80|0)|0,e,i);f=f+1|0}a[i>>2]=(a[i>>2]|0)+-1;kg(e,153599)|0;YZ(e,a[i>>2]|0);kg(e,97340)|0;yC(l)}}while(0);k=t;return}function xZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0.0;Q=k;k=k+240|0;Z=Q+224|0;I=Q+216|0;C=Q+208|0;E=Q+200|0;g=Q+192|0;v=Q+184|0;B=Q+176|0;d=Q+152|0;h=Q+136|0;o=Q+128|0;u=Q+112|0;w=Q+104|0;s=Q+96|0;c=Q+88|0;t=Q+72|0;l=Q+48|0;G=Q+40|0;n=Q+8|0;f=Q;r=a[i>>2]|0;a[i>>2]=r+1;YZ(e,r);kg(e,97374)|0;YZ(e,a[i>>2]|0);r=a[A>>2]|0;A:do{switch(r|0){case 1:case 0:{a[f>>2]=(r|0)==0?69:101;gg(e,67216,f);YZ(e,a[i>>2]|0);W=+b[A+16>>3];L=+b[A+24>>3];m=+b[A+32>>3];b[n>>3]=+b[A+8>>3];b[n+8>>3]=W;b[n+16>>3]=L;b[n+24>>3]=m;gg(e,67229,n);break}case 3:case 2:{a[G>>2]=(r|0)==2?80:112;gg(e,67216,G);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 5:case 4:{a[l>>2]=(r|0)==4?66:98;gg(e,67216,l);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 6:{gg(e,67264,Q+56|0);YZ(e,a[i>>2]|0);TZ(e,A+8|0);break}case 7:{gg(e,67276,Q+64|0);YZ(e,a[i>>2]|0);W=+b[A+16>>3];b[t>>3]=+b[A+8>>3];b[t+8>>3]=W;gg(e,67288,t);YZ(e,a[i>>2]|0);G=a[A+24>>2]|0;a[c>>2]=(G|0)==0?108:(G|0)==1?99:114;gg(e,67310,c);YZ(e,a[i>>2]|0);b[s>>3]=+b[A+32>>3];gg(e,67326,s);YZ(e,a[i>>2]|0);a[w>>2]=RZ(a[A+40>>2]|0,i)|0;gg(e,67343,w);break}case 9:case 8:{a[u>>2]=(r|0)==8?67:99;gg(e,67216,u);YZ(e,a[i>>2]|0);gg(e,67357,Q+120|0);YZ(e,a[i>>2]|0);a[o>>2]=RZ(a[A+8>>2]|0,i)|0;gg(e,67374,o);break}case 13:case 14:{a[h>>2]=(r|0)==13?67:99;gg(e,67216,h);YZ(e,a[i>>2]|0);switch(a[A+8>>2]|0){case 0:{gg(e,67357,Q+144|0);YZ(e,a[i>>2]|0);a[d>>2]=RZ(a[A+16>>2]|0,i)|0;gg(e,67374,d);break A}case 1:{gg(e,67389,Q+160|0);YZ(e,a[i>>2]|0);jZ(e,A+16|0,i);break A}default:{gg(e,67408,Q+168|0);YZ(e,a[i>>2]|0);SZ(e,A+16|0,i);break A}}}case 10:{gg(e,67427,B);YZ(e,a[i>>2]|0);b[v>>3]=+b[A+8>>3];gg(e,67439,v);YZ(e,a[i>>2]|0);a[g>>2]=RZ(a[A+16>>2]|0,i)|0;gg(e,67455,g);break}case 11:{gg(e,67469,E);YZ(e,a[i>>2]|0);a[C>>2]=RZ(a[A+8>>2]|0,i)|0;gg(e,67481,C);break}case 15:{gg(e,67496,I);YZ(e,a[i>>2]|0);a[Z>>2]=a[A+8>>2];gg(e,67508,Z);break}default:{}}}while(0);G=(a[i>>2]|0)+-1|0;a[i>>2]=G;YZ(e,G);kg(e,75357)|0;k=Q;return}function TZ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0.0;t=k;k=k+48|0;l=t+32|0;n=t+16|0;f=t+8|0;r=a[e>>2]|0;i=a[e+4>>2]|0;gg(A,67669,t);e=0;while(1){if((e|0)>=(r|0))break;if((e|0)>0)gg(A,100999,f);c=+b[i+(e*24|0)+8>>3];b[n>>3]=+b[i+(e*24|0)>>3];b[n+8>>3]=c;gg(A,67681,n);e=e+1|0}gg(A,67622,l);k=t;return}function jZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0;r=k;k=k+32|0;f=r+16|0;l=r;YZ(A,a[i>>2]|0);n=+b[e+8>>3];b[l>>3]=+b[e>>3];b[l+8>>3]=n;gg(A,67625,l);YZ(A,a[i>>2]|0);n=+b[e+24>>3];b[f>>3]=+b[e+16>>3];b[f+8>>3]=n;gg(A,67647,f);YZ(A,a[i>>2]|0);PZ(A,a[e+32>>2]|0,a[e+36>>2]|0,i);k=r;return}function SZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0;r=k;k=k+48|0;f=r+24|0;t=r;YZ(A,a[i>>2]|0);n=+b[e+8>>3];l=+b[e+16>>3];b[t>>3]=+b[e>>3];b[t+8>>3]=n;b[t+16>>3]=l;gg(A,67524,t);YZ(A,a[i>>2]|0);l=+b[e+32>>3];n=+b[e+40>>3];b[f>>3]=+b[e+24>>3];b[f+8>>3]=l;b[f+16>>3]=n;gg(A,67552,f);YZ(A,a[i>>2]|0);PZ(A,a[e+48>>2]|0,a[e+52>>2]|0,i);k=r;return}function PZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0.0;s=k;k=k+48|0;t=s+32|0;l=s+16|0;n=s+8|0;gg(A,67580,s);f=0;while(1){if((f|0)>=(e|0))break;if((f|0)>0)gg(A,100999,n);u=+c[i+(f<<3)>>2];w=RZ(a[i+(f<<3)+4>>2]|0,r)|0;b[l>>3]=u;a[l+8>>2]=w;gg(A,67591,l);f=f+1|0}gg(A,67622,t);k=s;return}function OZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n;r=W5[a[A>>2]&63](A,e,512)|0;if(r){if((a[r+12>>2]|0)!=(i|0)){a[f>>2]=e;ao(0,67768,f)|0}}else{f=W2(1,16)|0;a[f+8>>2]=s3(e)|0;a[f+12>>2]=i;W5[a[A>>2]&63](A,f,1)|0}k=n;return}function KZ(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+8>>2]|0);L2(e);return}function _Z(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;kg(A,68623)|0;c=a[a[A+12>>2]>>2]|0;t=a[c+4>>2]|0;l=a[c+8>>2]|0;a[n>>2]=a[c>>2];a[n+4>>2]=t;a[n+8>>2]=l;gg(A,68633,n);a[r>>2]=Vh(a[f+8>>2]|0)|0;gg(A,68668,r);a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,68681,i);kg(A,68694)|0;kg(A,68704)|0;kg(A,68712)|0;kg(A,68720)|0;kg(A,68728)|0;kg(A,68736)|0;kg(A,68744)|0;kg(A,68748)|0;kg(A,68753)|0;k=e;return}function qZ(A){A=A|0;kg(A,68604)|0;return}function $Z(A){A=A|0;a[46710]=2;return}function AG(A){A=A|0;a[46710]=1;return}function eG(A){A=A|0;a[46710]=2;return}function iG(A){A=A|0;a[46710]=0;return}function rG(A){A=A|0;a[46710]=2;return}function fG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0;o=k;k=k+80|0;u=o;s=a[(a[A+16>>2]|0)+16>>2]|0;w=a[46710]|0;f=a[i+4>>2]|0;n=+b[A+352>>3]*+b[f+16>>3];l=a[A+360>>2]|0?1.5707963267948966:0.0;t=a[i>>2]|0;c=n*.3333333333333333*+((S2(t)|0)>>>0);f=a[f+8>>2]|0;if(!f)f=-1;else f=a[f+20>>2]|0;B=r[i+48>>0]|0;d=+b[e>>3];h=+b[e+8>>3];i=kG(t)|0;a[u>>2]=4;a[u+4>>2]=B<<24>>24==108?0:B<<24>>24==114?2:1;a[u+8>>2]=s;a[u+12>>2]=w;a[u+16>>2]=0;a[u+20>>2]=f;b[u+24>>3]=n;b[u+32>>3]=l;a[u+40>>2]=6;b[u+48>>3]=n;b[u+56>>3]=c;a[u+64>>2]=~~(d+(d>=0.0?.5:-.5));a[u+68>>2]=~~(h+(h+-72.0>=0.0?-71.5:-72.5));a[u+72>>2]=i;gg(A,68549,u);k=o;return}function aG(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w;t=w+20|0;s=e+32|0;A:do{switch(a[s>>2]|0){case 5:{i=0;while(1){f=a[12724+(i<<2)>>2]|0;if((i|0)==8)break A;l=a[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(A1(f,l)|0)==0:0){b=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(uG(t,n[e>>0]|0,n[f>>0]|0,n[l>>0]|0)|0)+32|0;if(!(a[t>>2]|0))b=10;else{u=n[e>>0]|0;t=n[f>>0]|0;b=n[l>>0]|0;a[c>>2]=0;a[c+4>>2]=i;a[c+8>>2]=u;a[c+12>>2]=t;a[c+16>>2]=b;gg(A,68492,c);b=10}break}default:vA(138394,67889,163,67920)}}while(0);if((b|0)==10)a[e>>2]=i;a[s>>2]=6;k=w;return}function nG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0;r=k;k=k+112|0;f=r+8|0;g=r+104|0;v=r;c=a[A+16>>2]|0;B=~~+b[c+152>>3];d=a[c+16>>2]|0;h=a[c+56>>2]|0;o=a[46710]|0;sG(c,g,v);w=+b[e>>3];c=~~(w+(w>=0.0?.5:-.5));s=+b[e+8>>3];t=~~(s+(s>=0.0?.5:-.5));l=+b[e+16>>3];w=l-w;n=+b[e+24>>3];s=n-s;e=a[g>>2]|0;u=+b[v>>3];a[f>>2]=1;a[f+4>>2]=1;a[f+8>>2]=e;a[f+12>>2]=B;a[f+16>>2]=d;a[f+20>>2]=h;a[f+24>>2]=o;a[f+28>>2]=0;a[f+32>>2]=i|0?20:-1;b[f+40>>3]=u;a[f+48>>2]=0;b[f+56>>3]=0.0;a[f+64>>2]=c;a[f+68>>2]=t;a[f+72>>2]=~~(w+(w>=0.0?.5:-.5));a[f+76>>2]=~~(s+(s>=0.0?.5:-.5));a[f+80>>2]=c;a[f+84>>2]=t;a[f+88>>2]=~~(l+(l>=0.0?.5:-.5));a[f+92>>2]=~~(n+(n>=0.0?.5:-.5));gg(A,68427,f);k=r;return}function lG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;f=k;k=k+96|0;n=f+8|0;u=f+80|0;o=f;h=a[A+16>>2]|0;w=~~+b[h+152>>3];s=a[h+16>>2]|0;c=a[h+56>>2]|0;t=a[46710]|0;sG(h,u,o);u=a[u>>2]|0;l=+b[o>>3];a[n>>2]=2;a[n+4>>2]=3;a[n+8>>2]=u;a[n+12>>2]=w;a[n+16>>2]=s;a[n+20>>2]=c;a[n+24>>2]=t;a[n+28>>2]=0;a[n+32>>2]=r|0?20:-1;b[n+40>>3]=l;a[n+48>>2]=0;a[n+52>>2]=0;a[n+56>>2]=0;a[n+60>>2]=0;a[n+64>>2]=0;a[n+68>>2]=i+1;gg(A,68331,n);wG(A,e,i,1);k=f;return}function tG(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0,z=0;L=k;k=k+192|0;m=L+176|0;G=L+168|0;Q=L+104|0;Z=L+96|0;l=L+88|0;g=L+180|0;E=L+80|0;C=L+16|0;I=L;f=A+16|0;r=a[f>>2]|0;h=~~+b[r+152>>3];d=a[r+16>>2]|0;B=a[46710]|0;if((i|0)<=3)vA(67882,67889,360,67909);v=m2((i*140|0)+140|0)|0;sG(r,g,E);if(!n){u=4;t=0;c=-1}else{u=5;t=a[(a[f>>2]|0)+56>>2]|0;c=20}y=+b[e>>3];w=C+48|0;b[w>>3]=y;W=+b[e+8>>3];b[C+56>>3]=W;a[l>>2]=~~(y+(y>=0.0?.5:-.5));a[l+4>>2]=~~(W+(W>=0.0?.5:-.5));s=I+8|0;r=v+(P4(v,81099,l)|0)|0;o=1;n=0;while(1){l=n+3|0;if((l|0)>=(i|0))break;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];f=1;while(1){if((f|0)==4){f=1;break}z=f+n|0;b[C+(f<<4)>>3]=+b[e+(z<<4)>>3];b[C+(f<<4)+8>>3]=+b[e+(z<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(I,C,3,+(f|0)*.16666666666666666,0,0);W=+b[I>>3];y=+b[s>>3];a[Z>>2]=~~(W+(W>=0.0?.5:-.5));a[Z+4>>2]=~~(y+(y>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,Z)|0)|0}o=o+6|0;n=l}f=a[g>>2]|0;y=+b[E>>3];a[Q>>2]=3;a[Q+4>>2]=u;a[Q+8>>2]=f;a[Q+12>>2]=h;a[Q+16>>2]=d;a[Q+20>>2]=t;a[Q+24>>2]=B;a[Q+28>>2]=0;a[Q+32>>2]=c;b[Q+40>>3]=y;a[Q+48>>2]=0;a[Q+52>>2]=0;a[Q+56>>2]=0;a[Q+60>>2]=o;gg(A,68382,Q);a[G>>2]=v;gg(A,81106,G);L2(v);f=o+-1|0;r=0;while(1){if((r|0)>=(o|0))break;a[m>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,m);r=r+1|0}kg(A,153599)|0;k=L;return}function cG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;r=k;k=k+96|0;f=r+8|0;s=r+80|0;w=r;u=a[A+16>>2]|0;c=~~+b[u+152>>3];t=a[u+16>>2]|0;l=a[46710]|0;sG(u,s,w);s=a[s>>2]|0;n=+b[w>>3];a[f>>2]=2;a[f+4>>2]=1;a[f+8>>2]=s;a[f+12>>2]=c;a[f+16>>2]=t;a[f+20>>2]=0;a[f+24>>2]=l;a[f+28>>2]=0;a[f+32>>2]=0;b[f+40>>3]=n;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=i;gg(A,68331,f);wG(A,e,i,0);k=r;return}function bG(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,68325,r);k=i;return}function sG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function wG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function uG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;a[A>>2]=0;b=a[46711]|0;l=195075;n=0;t=-1;while(1){if((n|0)>=(b|0)){s=6;break}w=(f[190680+(n<<1)>>1]|0)-e|0;u=(f[191192+(n<<1)>>1]|0)-i|0;c=(f[191704+(n<<1)>>1]|0)-r|0;c=(U(u,u)|0)+(U(w,w)|0)+(U(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=n}n=n+1|0}if((s|0)==6){a[46711]=b+1;if((b|0)==256)n=t;else{f[190680+(n<<1)>>1]=e;f[191192+(n<<1)>>1]=i;f[191704+(n<<1)>>1]=r;a[A>>2]=1}}return n|0}function kG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46712]|0;if(!e){a[46713]=64;e=m2(64)|0;a[46712]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46713]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46713]=e;e=y2(a[46712]|0,e)|0;a[46712]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46712]|0}function oG(A){A=A|0;var e=0,i=0,f=0;i=a[A+16>>2]|0;switch(a[A+64>>2]|0){case 0:{kg(A,68220)|0;e=i+208|0;i=a[e>>2]|0;if(i|0?r[i>>0]|0:0){kg(A,68234)|0;kg(A,PF(a[e>>2]|0)|0)|0;kg(A,153599)|0}break}case 1:{e=i+208|0;f=a[e>>2]|0;if(f|0?r[f>>0]|0:0){kg(A,68234)|0;kg(A,PF(a[e>>2]|0)|0)|0;kg(A,102604)|0;kg(A,PF(Vh(a[i+8>>2]|0)|0)|0)|0;kg(A,153599)|0}break}case 3:{f=PF(Vh(a[i+8>>2]|0)|0)|0;kg(A,68243)|0;kg(A,f)|0;kg(A,68253)|0;kg(A,f)|0;kg(A,68208)|0;break}default:{}}return}function hG(A){A=A|0;var e=0;e=a[A+16>>2]|0;switch(a[A+64>>2]|0){case 2:{BG(A,a[e+264>>2]|0,a[e+272>>2]|0,a[e+268>>2]|0,a[e+208>>2]|0,a[e+228>>2]|0,a[e+244>>2]|0,a[e+212>>2]|0);break}case 3:{BG(A,a[e+264>>2]|0,a[e+272>>2]|0,a[e+268>>2]|0,a[e+208>>2]|0,a[e+228>>2]|0,a[e+244>>2]|0,a[e+212>>2]|0);kg(A,68212)|0;break}default:{}}return}function dG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=a[A+16>>2]|0;BG(A,a[n+264>>2]|0,a[n+272>>2]|0,a[n+268>>2]|0,e,i,r,f);return}function BG(A,e,i,f,n,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0;Z=k;k=k+128|0;I=Z+120|0;g=Z+112|0;v=Z+96|0;B=Z+80|0;d=Z+56|0;C=Z+48|0;h=Z+40|0;E=Z+24|0;o=Z;A:do{if((i|0)!=0&(f|0)!=0){s=f+10|0;if((a[46714]|0)<(f|0)){a[46714]=s;u=y2(a[46715]|0,s<<3)|0;a[46715]=u}else u=a[46715]|0;s=0;while(1){if((s|0)>=(f|0))break;G=+b[i+(s<<4)>>3];a[u+(s<<3)>>2]=~~(G+(G>=0.0?.5:-.5));G=+b[i+(s<<4)+8>>3];a[u+(s<<3)+4>>2]=~~(G+(G>=0.0?.5:-.5));s=s+1|0}w=A+64|0;s=a[w>>2]|0;i=(n|0)!=0;if(i&(s|0)==0){if(!(r[n>>0]|0))break;switch(e|0){case 0:{E=a[u>>2]|0;C=a[u+12>>2]|0;I=a[u+8>>2]|0;f=a[u+4>>2]|0;a[o>>2]=n;a[o+4>>2]=E;a[o+8>>2]=C;a[o+12>>2]=I;a[o+16>>2]=f;gg(A,67954,o);break A}case 1:{C=a[u>>2]|0;I=a[u+4>>2]|0;f=(a[u+8>>2]|0)-C|0;a[E>>2]=n;a[E+4>>2]=C;a[E+8>>2]=I;a[E+12>>2]=f;gg(A,67975,E);break A}case 2:{a[h>>2]=n;gg(A,67995,h);s=0;while(1){if((s|0)>=(f|0))break;E=a[46715]|0;I=a[E+(s<<3)+4>>2]|0;a[C>>2]=a[E+(s<<3)>>2];a[C+4>>2]=I;gg(A,68003,C);s=s+1|0}kg(A,153599)|0;break A}default:vA(138394,68010,63,68030)}}if(i&(s|0)==1){if(!(r[n>>0]|0))break;if(!e){C=a[u+12>>2]|0;I=a[u+8>>2]|0;f=a[u+4>>2]|0;a[d>>2]=a[u>>2];a[d+4>>2]=C;a[d+8>>2]=I;a[d+12>>2]=f;a[d+16>>2]=n;a[d+20>>2]=l;gg(A,68047,d);break}else vA(138394,68010,75,68030)}if((s&-2|0)==2){switch(e|0){case 1:{kg(A,68080)|0;break}case 0:{kg(A,68101)|0;break}case 2:{kg(A,68120)|0;break}default:vA(138394,68010,91,68030)}if(c|0?r[c>>0]|0:0){kg(A,73600)|0;kg(A,_F(c)|0)|0;kg(A,98744)|0}if(i?r[n>>0]|0:0){kg(A,68139)|0;kg(A,_F(n)|0)|0;kg(A,98744)|0}if(t|0?r[t>>0]|0:0){kg(A,74559)|0;kg(A,PF(t)|0)|0;kg(A,98744)|0}if(l|0?r[l>>0]|0:0){kg(A,68147)|0;kg(A,PF(l)|0)|0;kg(A,98744)|0}kg(A,68156)|0;kg(A,68164)|0;e:do{switch(e|0){case 1:{f=a[46715]|0;C=a[f>>2]|0;I=a[f+4>>2]|0;f=(a[f+8>>2]|0)-C|0;a[B>>2]=C;a[B+4>>2]=I;a[B+8>>2]=f;gg(A,68174,B);break}case 0:{E=a[46715]|0;C=a[E+12>>2]|0;I=a[E+8>>2]|0;f=a[E+4>>2]|0;a[v>>2]=a[E>>2];a[v+4>>2]=C;a[v+8>>2]=I;a[v+12>>2]=f;gg(A,68183,v);break}case 2:{C=a[46715]|0;s=a[C+4>>2]|0;a[g>>2]=a[C>>2];a[g+4>>2]=s;gg(A,68195,g);s=1;while(1){if((s|0)>=(f|0))break e;E=a[46715]|0;C=a[E+(s<<3)+4>>2]|0;a[I>>2]=a[E+(s<<3)>>2];a[I+4>>2]=C;gg(A,68201,I);s=s+1|0}}default:{}}}while(0);if((a[w>>2]|0)==3){kg(A,73424)|0;break}else{kg(A,68208)|0;break}}}}while(0);k=Z;return}function vG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;kg(A,68623)|0;c=a[a[A+12>>2]>>2]|0;t=a[c+4>>2]|0;l=a[c+8>>2]|0;a[n>>2]=a[c>>2];a[n+4>>2]=t;a[n+8>>2]=l;gg(A,68633,n);a[r>>2]=Vh(a[f+8>>2]|0)|0;gg(A,68668,r);a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,68681,i);kg(A,68694)|0;kg(A,68704)|0;kg(A,68712)|0;kg(A,68720)|0;kg(A,68728)|0;kg(A,68736)|0;kg(A,68744)|0;kg(A,68748)|0;kg(A,68753)|0;k=e;return}function gG(A){A=A|0;kg(A,68604)|0;return}function EG(A){A=A|0;a[46716]=2;return}function CG(A){A=A|0;a[46716]=1;return}function IG(A){A=A|0;a[46716]=2;return}function ZG(A){A=A|0;a[46716]=0;return}function GG(A){A=A|0;a[46716]=2;return}function QG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0;w=k;k=k+80|0;s=w;t=a[(a[A+16>>2]|0)+16>>2]|0;c=a[46716]|0;f=a[i+4>>2]|0;n=+b[A+352>>3]*+b[f+16>>3];l=a[A+360>>2]|0?1.5707963267948966:0.0;f=a[f+8>>2]|0;if(!f)f=-1;else f=a[f+20>>2]|0;h=r[i+48>>0]|0;o=+b[e>>3];u=+b[e+8>>3];i=VG(a[i>>2]|0)|0;a[s>>2]=4;a[s+4>>2]=h<<24>>24==108?0:h<<24>>24==114?2:1;a[s+8>>2]=t;a[s+12>>2]=c;a[s+16>>2]=0;a[s+20>>2]=f;b[s+24>>3]=n;b[s+32>>3]=l;a[s+40>>2]=4;b[s+48>>3]=0.0;b[s+56>>3]=0.0;a[s+64>>2]=~~(o+(o>=0.0?.5:-.5));a[s+68>>2]=~~(u+(u>=0.0?.5:-.5));a[s+72>>2]=i;gg(A,68549,s);k=w;return}function mG(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w;t=w+20|0;s=e+32|0;A:do{switch(a[s>>2]|0){case 5:{i=0;while(1){f=a[12724+(i<<2)>>2]|0;if((i|0)==8)break A;l=a[e>>2]|0;if((r[f>>0]|0)==(r[l>>0]|0)?(A1(f,l)|0)==0:0){b=10;break A}i=i+1|0}}case 1:{f=e+1|0;l=e+2|0;i=(FG(t,n[e>>0]|0,n[f>>0]|0,n[l>>0]|0)|0)+32|0;if(!(a[t>>2]|0))b=10;else{u=n[e>>0]|0;t=n[f>>0]|0;b=n[l>>0]|0;a[c>>2]=0;a[c+4>>2]=i;a[c+8>>2]=u;a[c+12>>2]=t;a[c+16>>2]=b;gg(A,68492,c);b=10}break}case 0:{i=0;b=10;break}default:vA(138394,68513,168,68532)}}while(0);if((b|0)==10)a[e>>2]=i;a[s>>2]=6;k=w;return}function LG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0;r=k;k=k+112|0;f=r+8|0;g=r+104|0;v=r;c=a[A+16>>2]|0;B=~~+b[c+152>>3];d=a[c+16>>2]|0;h=a[c+56>>2]|0;o=a[46716]|0;DG(c,g,v);w=+b[e>>3];c=~~(w+(w>=0.0?.5:-.5));s=+b[e+8>>3];t=~~(s+(s>=0.0?.5:-.5));l=+b[e+16>>3];w=l-w;n=+b[e+24>>3];s=n-s;e=a[g>>2]|0;u=+b[v>>3];a[f>>2]=1;a[f+4>>2]=1;a[f+8>>2]=e;a[f+12>>2]=B;a[f+16>>2]=d;a[f+20>>2]=h;a[f+24>>2]=o;a[f+28>>2]=0;a[f+32>>2]=i|0?20:-1;b[f+40>>3]=u;a[f+48>>2]=0;b[f+56>>3]=0.0;a[f+64>>2]=c;a[f+68>>2]=t;a[f+72>>2]=~~(w+(w>=0.0?.5:-.5));a[f+76>>2]=~~(s+(s>=0.0?.5:-.5));a[f+80>>2]=c;a[f+84>>2]=t;a[f+88>>2]=~~(l+(l>=0.0?.5:-.5));a[f+92>>2]=~~(n+(n>=0.0?.5:-.5));gg(A,68427,f);k=r;return}function WG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;f=k;k=k+96|0;n=f+8|0;u=f+80|0;o=f;h=a[A+16>>2]|0;w=~~+b[h+152>>3];s=a[h+16>>2]|0;c=a[h+56>>2]|0;t=a[46716]|0;DG(h,u,o);u=a[u>>2]|0;l=+b[o>>3];a[n>>2]=2;a[n+4>>2]=3;a[n+8>>2]=u;a[n+12>>2]=w;a[n+16>>2]=s;a[n+20>>2]=c;a[n+24>>2]=t;a[n+28>>2]=0;a[n+32>>2]=r|0?20:-1;b[n+40>>3]=l;a[n+48>>2]=0;a[n+52>>2]=0;a[n+56>>2]=0;a[n+60>>2]=0;a[n+64>>2]=0;a[n+68>>2]=i+1;gg(A,68331,n);MG(A,e,i,1);k=f;return}function yG(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0.0,y=0.0,z=0;L=k;k=k+192|0;m=L+176|0;G=L+168|0;Q=L+104|0;Z=L+96|0;f=L+88|0;g=L+180|0;E=L+80|0;C=L+16|0;I=L;r=A+16|0;o=a[r>>2]|0;h=~~+b[o+152>>3];d=a[o+16>>2]|0;B=a[46716]|0;v=m2((i*140|0)+140|0)|0;DG(o,g,E);if(!n){u=4;t=0;c=-1}else{u=5;t=a[(a[r>>2]|0)+56>>2]|0;c=20}y=+b[e>>3];w=C+48|0;b[w>>3]=y;W=+b[e+8>>3];b[C+56>>3]=W;a[f>>2]=~~(y+(y>=0.0?.5:-.5));a[f+4>>2]=~~(W+(W>=0.0?.5:-.5));s=I+8|0;r=v+(P4(v,81099,f)|0)|0;o=1;n=0;while(1){l=n+3|0;if((l|0)>=(i|0))break;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];f=1;while(1){if((f|0)==4){f=1;break}z=f+n|0;b[C+(f<<4)>>3]=+b[e+(z<<4)>>3];b[C+(f<<4)+8>>3]=+b[e+(z<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(I,C,3,+(f|0)*.16666666666666666,0,0);W=+b[I>>3];y=+b[s>>3];a[Z>>2]=~~(W+(W>=0.0?.5:-.5));a[Z+4>>2]=~~(y+(y>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,Z)|0)|0}o=o+6|0;n=l}f=a[g>>2]|0;y=+b[E>>3];a[Q>>2]=3;a[Q+4>>2]=u;a[Q+8>>2]=f;a[Q+12>>2]=h;a[Q+16>>2]=d;a[Q+20>>2]=t;a[Q+24>>2]=B;a[Q+28>>2]=0;a[Q+32>>2]=c;b[Q+40>>3]=y;a[Q+48>>2]=0;a[Q+52>>2]=0;a[Q+56>>2]=0;a[Q+60>>2]=o;gg(A,68382,Q);a[G>>2]=v;gg(A,81106,G);L2(v);f=o+-1|0;r=0;while(1){if((r|0)>=(o|0))break;a[m>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,m);r=r+1|0}kg(A,153599)|0;k=L;return}function zG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;r=k;k=k+96|0;f=r+8|0;s=r+80|0;w=r;u=a[A+16>>2]|0;c=~~+b[u+152>>3];t=a[u+16>>2]|0;l=a[46716]|0;DG(u,s,w);s=a[s>>2]|0;n=+b[w>>3];a[f>>2]=2;a[f+4>>2]=1;a[f+8>>2]=s;a[f+12>>2]=c;a[f+16>>2]=t;a[f+20>>2]=0;a[f+24>>2]=l;a[f+28>>2]=0;a[f+32>>2]=0;b[f+40>>3]=n;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=i;gg(A,68331,f);MG(A,e,i,0);k=r;return}function YG(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,68325,r);k=i;return}function DG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function MG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function FG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;a[A>>2]=0;b=a[46717]|0;l=195075;n=0;t=-1;while(1){if((n|0)>=(b|0)){s=6;break}w=(f[192216+(n<<1)>>1]|0)-e|0;u=(f[192728+(n<<1)>>1]|0)-i|0;c=(f[193240+(n<<1)>>1]|0)-r|0;c=(U(u,u)|0)+(U(w,w)|0)+(U(c,c)|0)|0;if((c|0)<(l|0))if(!c)break;else{l=c;t=n}n=n+1|0}if((s|0)==6){a[46717]=b+1;if((b|0)==256)n=t;else{f[192216+(n<<1)>>1]=e;f[192728+(n<<1)>>1]=i;f[193240+(n<<1)>>1]=r;a[A>>2]=1}}return n|0}function VG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46718]|0;if(!e){a[46719]=64;e=m2(64)|0;a[46718]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46719]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46719]=e;e=y2(a[46718]|0,e)|0;a[46718]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46718]|0}function JG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=k;k=k+16|0;e=i;kg(A,73332)|0;if((a[A+64>>2]|0)==2)kg(A,73347)|0;else kg(A,153599)|0;n=a[a[A+12>>2]>>2]|0;f=a[n+4>>2]|0;r=a[n+8>>2]|0;a[e>>2]=a[n>>2];a[e+4>>2]=f;a[e+8>>2]=r;gg(A,73358,e);k=i;return}function NG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n+8|0;r=n;kg(A,73286)|0;i=A+64|0;e=A+12|0;if((a[i>>2]|0)!=2){a[r>>2]=a[(a[e>>2]|0)+28>>2];gg(A,73297,r)}if((a[(a[e>>2]|0)+20>>2]|0)==0?(a[i>>2]|0)!=2:0){e=a[A+476>>2]|0;i=a[A+480>>2]|0;r=a[A+484>>2]|0;a[f>>2]=a[A+472>>2];a[f+4>>2]=e;a[f+8>>2]=i;a[f+12>>2]=r;gg(A,69666,f)}kg(A,73312)|0;kg(A,73325)|0;k=n;return}function XG(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=k;k=k+32|0;c=b+24|0;f=b+8|0;t=b;n=a[A+16>>2]|0;r[193768]=0;i=A+12|0;l=n+8|0;if(!(a[(a[i>>2]|0)+28>>2]|0)){a[t>>2]=Vh(a[l>>2]|0)|0;gg(A,69597,t);e=A+64|0;if((a[e>>2]|0)==2)kg(A,69630)|0;else kg(A,69612)|0;do{if(!(a[(a[i>>2]|0)+20>>2]|0))if((a[e>>2]|0)==2){w=a[A+460>>2]|0;s=a[A+464>>2]|0;e=a[A+468>>2]|0;a[f>>2]=a[A+456>>2];a[f+4>>2]=w;a[f+8>>2]=s;a[f+12>>2]=e;gg(A,69666,f);break}else{kg(A,69642)|0;break}}while(0);kg(A,69696)|0;HJ(A,a[(a[i>>2]|0)+24>>2]|0,13e3);UJ(A);e=a[(a[i>>2]|0)+20>>2]|0;if(e|0){a[t>>2]=a[e>>2];a[t+4>>2]=0;HJ(A,0,t)}}a[46720]=(r[(a[(a[l>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(r[193768]|0)){kg(A,69716)|0;r[193768]=1}e=a[n+208>>2]|0;if(e|0){a[c>>2]=xJ(e,a[46720]|0)|0;gg(A,69729,c)}k=b;return}function RG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;e=k;k=k+16|0;f=e;a[f>>2]=i;a[f+4>>2]=r;gg(A,69581,f);k=e;return}function HG(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0.0,C=0.0;B=k;k=k+144|0;d=B+128|0;h=B+112|0;o=B+72|0;u=B+56|0;w=B+40|0;s=B+32|0;r=B+24|0;e=B+8|0;i=B;f=a[A+456>>2]|0;t=a[A+460>>2]|0;n=a[A+464>>2]|0;l=a[A+468>>2]|0;c=A+12|0;v=(a[(a[c>>2]|0)+28>>2]|0)+1|0;a[i>>2]=v;a[i+4>>2]=v;gg(A,69208,i);if(!(a[(a[c>>2]|0)+20>>2]|0)){a[e>>2]=f;a[e+4>>2]=t;a[e+8>>2]=n;a[e+12>>2]=l;gg(A,69225,e)}i=A+360|0;a[r>>2]=a[i>>2]|0?69259:69269;gg(A,69278,r);e=A+64|0;if((a[e>>2]|0)==1){a[s>>2]=n;a[s+4>>2]=l;gg(A,69303,s)}s=a[A+200>>2]|0;v=a[A+204>>2]|0;a[w>>2]=a[A+196>>2];a[w+4>>2]=s;a[w+8>>2]=v;gg(A,69342,w);if(!(a[(a[c>>2]|0)+20>>2]|0)){a[u>>2]=f;a[u+4>>2]=t;a[u+8>>2]=n-f;a[u+12>>2]=l-t;gg(A,69362,u)}C=+b[A+496>>3];v=a[i>>2]|0;E=+b[A+504>>3];g=+b[A+512>>3];b[o>>3]=+b[A+488>>3];b[o+8>>3]=C;a[o+16>>2]=v;b[o+24>>3]=E;b[o+32>>3]=g;gg(A,69402,o);if((a[e>>2]|0)==1){if((n|0)>14399|(l|0)>14399){v=a[(a[c>>2]|0)+16>>2]|0;a[h>>2]=n;a[h+4>>2]=l;a[h+8>>2]=14400;V5[v&63](69445,h)}a[d>>2]=f;a[d+4>>2]=t;a[d+8>>2]=n;a[d+12>>2]=l;gg(A,69540,d)}k=B;return}function pG(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=A+12|0;if(a[(a[e>>2]|0)+20>>2]|0){kg(A,69132)|0;HJ(A,0,(a[(a[e>>2]|0)+20>>2]|0)+4|0)}kg(A,69149)|0;kg(A,69176)|0;a[i>>2]=a[(a[e>>2]|0)+28>>2];gg(A,69191,i);k=r;return}function UG(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,69125,i);kg(A,69118)|0;k=e;return}function xG(A){A=A|0;kg(A,84552)|0;return}function TG(A){A=A|0;kg(A,69118)|0;return}function jG(A){A=A|0;kg(A,84552)|0;return}function SG(A){A=A|0;kg(A,69118)|0;return}function PG(A){A=A|0;kg(A,84552)|0;return}function OG(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;r=k;k=k+16|0;i=r;if(e|0?(n=(a[A+16>>2]|0)+272|0,a[n>>2]|0):0){kg(A,69014)|0;Zg(A,a[n>>2]|0,2);kg(A,69025)|0;a[i>>2]=xJ(e,a[46720]|0)|0;gg(A,69029,i)}k=r;return}function KG(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+32|0;t=s+8|0;c=s;f=a[A+16>>2]|0;if(!(+b[f+40>>3]<.5)){rQ(A,f+16|0);l=i+4|0;Eg(A,+b[(a[l>>2]|0)+16>>3]);a[t>>2]=a[a[l>>2]>>2];gg(A,68973,t);l=xJ(a[i>>2]|0,a[46720]|0)|0;switch(r[i+48>>0]|0){case 114:{w=i+32|0;f=w;n=+b[w>>3];break}case 108:{f=i+32|0;n=0.0;break}default:{w=i+32|0;f=w;n=+b[w>>3]*.5}}b[e>>3]=+b[e>>3]-n;w=e+8|0;b[w>>3]=+b[w>>3]+ +b[i+24>>3];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];Ig(A,t);kg(A,68988)|0;Eg(A,+b[f>>3]);a[c>>2]=l;gg(A,68997,c)}k=s;return}function _G(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+32|0;f=n;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];b[f+16>>3]=+b[e+16>>3]-+b[e>>3];b[f+24>>3]=+b[e+24>>3]-+b[e+8>>3];e=A+16|0;if(i|0?(r=a[e>>2]|0,+b[r+80>>3]>.5):0){rQ(A,r+56|0);Zg(A,f,2);kg(A,68931)|0}if(+b[(a[e>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[e>>2]|0)+16|0);Zg(A,f,2);kg(A,68951)|0}k=n;return}function qG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;n=A+16|0;if(r|0?(f=a[n>>2]|0,+b[f+80>>3]>.5):0){rQ(A,f+56|0);kg(A,68852)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;f=e+(r<<4)|0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];Ig(A,l);kg(A,68870)|0;r=r+1|0}kg(A,68897)|0}if(+b[(a[n>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[n>>2]|0)+16|0);kg(A,68852)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;n=e+(r<<4)|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];Ig(A,l);kg(A,68870)|0;r=r+1|0}kg(A,68913)|0}k=t;return}function $G(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;f=c;l=A+16|0;if(n|0?(t=a[l>>2]|0,+b[t+80>>3]>.5):0){rQ(A,t+56|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;Zg(A,e+(r<<4)|0,3);kg(A,68887)|0;r=r+3|0}kg(A,68897)|0}if(+b[(a[l>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[l>>2]|0)+16|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;Zg(A,e+(r<<4)|0,3);kg(A,68887)|0;r=r+3|0}kg(A,68879)|0}k=c;return}function AQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;r=A+16|0;if(+b[(a[r>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[r>>2]|0)+16|0);kg(A,68852)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Ig(A,f);kg(A,68861)|0;r=1;while(1){if((r|0)>=(i|0))break;l=e+(r<<4)|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];Ig(A,f);kg(A,68870)|0;r=r+1|0}kg(A,68879)|0}k=n;return}function eQ(A,e){A=A|0;e=e|0;kg(A,68849)|0;kg(A,e)|0;kg(A,153599)|0;return}function iQ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+32|0;n=w+16|0;s=w+8|0;c=w;l=A+16|0;if(f|0?(t=a[l>>2]|0,+b[t+80>>3]>.5):0){rQ(A,t+56|0);kg(A,84447)|0;Zg(A,i,r);kg(A,102604)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];Ig(A,n);a[c>>2]=r;a[c+4>>2]=e;gg(A,68766,c)}if(+b[(a[l>>2]|0)+40>>3]>.5){fQ(A);rQ(A,(a[l>>2]|0)+16|0);kg(A,84447)|0;Zg(A,i,r);kg(A,102604)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];Ig(A,n);a[s>>2]=r;a[s+4>>2]=e;gg(A,68782,s)}k=w;return}function rQ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0;f=k;k=k+32|0;r=f;if(e|0){switch(a[(a[A+16>>2]|0)+4>>2]|0){case 1:case 0:{i=111494;break}case 2:{i=111481;break}case 3:{i=111450;break}default:i=68818}l=+b[e+8>>3];n=+b[e+16>>3];b[r>>3]=+b[e>>3];b[r+8>>3]=l;b[r+16>>3]=n;a[r+24>>2]=i;gg(A,68825,r)}k=f;return}function fQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+16|0;c=s+8|0;t=s;n=A+16|0;l=a[n>>2]|0;e=a[l+160>>2]|0;Eg(A,+b[l+152>>3]);kg(A,68799)|0;while(1){if(!e)break;l=e+4|0;f=a[e>>2]|0;if(!f)break;if(!(A1(f,111088)|0)){e=l;continue}else i=f;while(1){e=i+1|0;if(!(r[i>>0]|0))break;else i=e}A:while(1){if(!(r[e>>0]|0))break;a[t>>2]=e;gg(A,68814,t);while(1){i=e+1|0;if(!(r[e>>0]|0)){e=i;continue A}else e=i}}if(!(A1(f,134335)|0))b[(a[n>>2]|0)+152>>3]=0.0;a[c>>2]=f;gg(A,96670,c);e=l}k=s;return}function aQ(A){A=A|0;var e=0;kg(A,74838)|0;e=po(a[(a[A>>2]|0)+168>>2]|0,74894)|0;if(e|0?r[e>>0]|0:0){kg(A,74905)|0;kg(A,e)|0;kg(A,74929)|0}kg(A,74950)|0;kg(A,74998)|0;kg(A,75052)|0;e=A+12|0;kg(A,PF(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,PF(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,PF(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,75434)|0;kg(A,75458)|0;return}function nQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0;l=k;k=k+48|0;n=l+16|0;f=l+8|0;i=l;e=a[A+16>>2]|0;kg(A,74673)|0;e=e+8|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,75397)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,74678,i);i=a[A+452>>2]|0;a[f>>2]=a[A+448>>2];a[f+4>>2]=i;gg(A,74694,f);s=+b[A+392>>3];c=+b[A+400>>3];t=+b[A+408>>3];b[n>>3]=+b[A+384>>3];b[n+8>>3]=s;b[n+16>>3]=c;b[n+24>>3]=t;gg(A,74727,n);kg(A,74758)|0;kg(A,74794)|0;kg(A,76388)|0;k=l;return}function lQ(A){A=A|0;kg(A,74665)|0;return}function tQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;zQ(A,e,0,101510,a[(a[A+16>>2]|0)+8>>2]|0);kg(A,76388)|0;return}function cQ(A){A=A|0;kg(A,74513)|0;return}function bQ(A){A=A|0;var e=0,i=0,f=0,n=0;i=k;k=k+16|0;f=i;n=a[A+16>>2]|0;e=n+8|0;zQ(A,a[n+212>>2]|0,0,111494,a[e>>2]|0);kg(A,74617)|0;Eg(A,+b[A+488>>3]);kg(A,102604)|0;Eg(A,+b[A+496>>3]);a[f>>2]=0-(a[A+360>>2]|0);gg(A,74636,f);Eg(A,+b[A+504>>3]);kg(A,102604)|0;Eg(A,-+b[A+512>>3]);kg(A,74660)|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,74569)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0;kg(A,74577)|0}k=i;return}function sQ(A){A=A|0;kg(A,74513)|0;return}function wQ(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=i+8|0;zQ(A,a[i+212>>2]|0,0,108006,a[e>>2]|0);kg(A,76388)|0;kg(A,74569)|0;kg(A,PF(Vh(a[e>>2]|0)|0)|0)|0;kg(A,74577)|0;return}function uQ(A){A=A|0;kg(A,74513)|0;return}function kQ(A){A=A|0;var e=0,i=0,r=0;i=a[A+16>>2]|0;e=a[A+160>>2]|0;if((e|0)>1)e=a[(a[(a[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0;else e=0;r=i+8|0;zQ(A,a[i+212>>2]|0,e,111481,a[r>>2]|0);kg(A,76388)|0;kg(A,74569)|0;kg(A,PF(Vh(a[r>>2]|0)|0)|0)|0;kg(A,74577)|0;return}function oQ(A){A=A|0;kg(A,74513)|0;return}function hQ(A){A=A|0;var e=0,i=0;i=a[A+16>>2]|0;e=i+8|0;zQ(A,a[i+212>>2]|0,0,111450,a[e>>2]|0);kg(A,76388)|0;kg(A,74569)|0;e=SF(102095,a[e>>2]|0)|0;kg(A,PF(e)|0)|0;L2(e);kg(A,74577)|0;return}function dQ(A){A=A|0;kg(A,74513)|0;return}function BQ(A,e,i,f,a){A=A|0;e=e|0;i=i|0;f=f|0;a=a|0;kg(A,74519)|0;if(a|0){kg(A,74522)|0;kg(A,PF(a)|0)|0;kg(A,98744)|0}kg(A,74412)|0;kg(A,76349)|0;if(e|0?r[e>>0]|0:0){kg(A,74530)|0;kg(A,e)|0;kg(A,98744)|0}if(i|0?r[i>>0]|0:0){kg(A,74544)|0;kg(A,OF(i,1)|0)|0;kg(A,98744)|0}if(f|0?r[f>>0]|0:0){kg(A,74559)|0;kg(A,PF(f)|0)|0;kg(A,98744)|0}kg(A,76388)|0;return}function vQ(A){A=A|0;kg(A,76343)|0;kg(A,74513)|0;return}function gQ(A,e,i){A=A|0;e=e|0;i=i|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+176|0;J=N+160|0;V=N+152|0;z=N+136|0;F=N+128|0;y=N+120|0;W=N+112|0;L=N+104|0;m=N+96|0;Q=N+88|0;Z=N+80|0;C=N+72|0;E=N+64|0;g=N+56|0;v=N+48|0;l=N+40|0;h=N+32|0;B=N+24|0;d=N+16|0;o=N+8|0;u=N;M=a[A+16>>2]|0;kg(A,74044)|0;switch(r[i+48>>0]|0){case 108:{kg(A,74050)|0;break}case 114:{kg(A,74071)|0;break}default:kg(A,74090)|0}D=e+8|0;Y=+b[D>>3]+ +b[i+24>>3];b[D>>3]=Y;D=M+260|0;if(!(f[D>>1]&512)){kg(A,74112)|0;Eg(A,+b[e>>3]);kg(A,74117)|0;Eg(A,-Y);kg(A,98744)|0}I=i+4|0;e=a[I>>2]|0;w=a[e+8>>2]|0;if(w){switch(a[(a[(a[(a[A>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{s=w;e=w+16|0;l=w+8|0;break}case 2:{s=w+24|0;e=w+32|0;l=w+28|0;break}default:{s=w+4|0;e=w+16|0;l=w+8|0}}t=a[e>>2]|0;e=a[l>>2]|0;c=a[w+12>>2]|0;a[u>>2]=a[s>>2];gg(A,74123,u);l=a[w+24>>2]|0;if(l|0){a[o>>2]=l;gg(A,74140,o)}kg(A,98744)|0;if(e|0){a[d>>2]=e;gg(A,74144,d)}if(c|0){a[B>>2]=c;gg(A,74162,B)}if(!t)t=0;else{a[h>>2]=t;gg(A,74181,h)}}else{a[l>>2]=a[e>>2];gg(A,74198,l);t=0;e=0}l=a[I>>2]|0;if(l|0?(G=a[l+24>>2]|0,G&127|0):0){if(!((e|0)!=0|(G&1|0)==0))gg(A,74216,v);if(!((t|0)!=0|(G&2|0)==0))gg(A,74236,g);if(G&100|0){gg(A,74257,E);if(!(G&4))e=0;else{gg(A,105986,C);e=1}if(G&64){a[Z>>2]=e|0?100999:195059;gg(A,74276,Z);e=1}if(G&32|0){a[Q>>2]=e|0?100999:195059;gg(A,74287,Q)}gg(A,98744,m)}if(G&8|0)gg(A,74302,L);if(G&16|0)gg(A,74326,W)}b[y>>3]=+b[(a[I>>2]|0)+16>>3];gg(A,74348,y);e=M+16|0;switch(a[M+48>>2]|0){case 5:{e=a[e>>2]|0;if(N1(e,137314)|0){a[F>>2]=e;gg(A,74366,F)}break}case 1:{y=n[e+1>>0]|0;F=n[e+2>>0]|0;a[z>>2]=n[e>>0];a[z+4>>2]=y;a[z+8>>2]=F;gg(A,74377,z);break}default:vA(138394,73558,486,74399)}kg(A,74412)|0;if(f[D>>1]&512){a[V>>2]=PF(a[M+212>>2]|0)|0;gg(A,74414,V);kg(A,74463)|0;Eg(A,-Y);kg(A,74481)|0}kg(A,OF(a[i>>2]|0,1)|0)|0;if(f[D>>1]&512)gg(A,74484,J);kg(A,74504)|0;k=N;return}function EQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;switch(i|0){case 2:{r=LQ(A,e,2)|0;break}case 3:{r=WQ(A)|0;break}default:r=0}kg(A,74008)|0;QQ(A,i,r);kg(A,74017)|0;Eg(A,+b[e>>3]);kg(A,74023)|0;i=e+8|0;Eg(A,-+b[i>>3]);kg(A,74030)|0;Eg(A,+b[e+16>>3]-+b[e>>3]);kg(A,74037)|0;Eg(A,+b[e+24>>3]-+b[i>>3]);kg(A,73424)|0;return}function CQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;switch(r|0){case 2:{f=LQ(A,e,i)|0;break}case 3:{f=WQ(A)|0;break}default:f=0}kg(A,73999)|0;QQ(A,r,f);kg(A,73414)|0;f=0;while(1){if((f|0)>=(i|0))break;Eg(A,+b[e+(f<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(f<<4)+8>>3]);kg(A,102604)|0;f=f+1|0}Eg(A,+b[e>>3]);kg(A,100999)|0;Eg(A,-+b[e+8>>3]);kg(A,73424)|0;return}function IQ(A,e,i,r,n,l){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;l=l|0;n=a[A+16>>2]|0;switch(l|0){case 2:{r=LQ(A,e,i)|0;break}case 3:{r=WQ(A)|0;break}default:r=0}kg(A,73594)|0;if(f[n+260>>1]&512){kg(A,73600)|0;kg(A,PF(a[n+212>>2]|0)|0)|0;kg(A,73606)|0}QQ(A,l,r);kg(A,73611)|0;yQ(A,e,i);kg(A,73424)|0;return}function ZQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;kg(A,73404)|0;QQ(A,0,0);kg(A,73414)|0;r=0;while(1){if((r|0)>=(i|0))break;Eg(A,+b[e+(r<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(r<<4)+8>>3]);kg(A,102604)|0;r=r+1|0}kg(A,73424)|0;return}function GQ(A,e){A=A|0;e=e|0;kg(A,73398)|0;kg(A,PF(e)|0)|0;kg(A,75458)|0;return}function QQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+96|0;c=h+48|0;o=h+40|0;w=h+32|0;u=h+24|0;t=h+16|0;n=h+8|0;f=h;s=a[A+16>>2]|0;kg(A,73429)|0;A:do{switch(e|0){case 2:{a[f>>2]=i;gg(A,73437,f);break}case 3:{a[n>>2]=i;gg(A,73448,n);break}case 0:{kg(A,135709)|0;break}default:{e=s+56|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);if((a[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}b[t>>3]=+(e&255)*.00392156862745098;gg(A,73459,t)}}}}while(0);kg(A,73478)|0;i=s+16|0;f=c;n=i;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);e=s+152|0;if(+b[e>>3]!=1.0){kg(A,73489)|0;Eg(A,+b[e>>3])}switch(a[s+144>>2]|0){case 1:{a[u>>2]=73529;gg(A,73506,u);break}case 2:{a[w>>2]=73533;gg(A,73506,w);break}default:{}}A:do{if((a[s+48>>2]|0)==1){e=r[i+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}b[o>>3]=+(e&255)*.00392156862745098;gg(A,73537,o)}}while(0);kg(A,98744)|0;k=h;return}function mQ(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,137379)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,73558,117,73578)}}while(0);k=f;return}function LQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+112|0;u=v+64|0;d=v+56|0;w=v+48|0;s=v+40|0;n=v+32|0;t=v;h=a[46722]|0;a[46722]=h+1;o=a[A+16>>2]|0;f=+(a[o+136>>2]|0)*.017453292519943295;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;a[t+16>>2]=0;a[t+20>>2]=0;a[t+24>>2]=0;a[t+28>>2]=0;YH(e,t,i,f,0);a[u>>2]=h;gg(A,73831,u);kg(A,73896)|0;Eg(A,+b[t>>3]);kg(A,73901)|0;Eg(A,+b[t+8>>3]);kg(A,73908)|0;Eg(A,+b[t+16>>3]);kg(A,73915)|0;Eg(A,+b[t+24>>3]);kg(A,73922)|0;t=o+140|0;f=+c[t>>2];if(f>0.0){b[n>>3]=f+-.001;gg(A,73927,n)}else kg(A,73703)|0;e=o+56|0;i=u;n=e;l=i+40|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));mQ(A,u);kg(A,73739)|0;A:do{if((a[o+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=7;break A}default:{}}b[s>>3]=+(e&255)*.00392156862745098;gg(A,99612,s)}else B=7}while(0);if((B|0)==7)kg(A,73754)|0;kg(A,73757)|0;f=+c[t>>2];if(f>0.0){b[w>>3]=f;gg(A,73927,w)}else kg(A,73763)|0;e=o+96|0;i=u;n=e;l=i+40|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(l|0));mQ(A,u);kg(A,73739)|0;A:do{if((a[o+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=14;break A}default:{}}b[d>>3]=+(e&255)*.00392156862745098;gg(A,99612,d)}else B=14}while(0);if((B|0)==14)kg(A,73754)|0;kg(A,73967)|0;k=v;return h|0}function WQ(A){A=A|0;var e=0,i=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+64|0;c=h+16|0;u=h+8|0;t=h;w=a[46721]|0;a[46721]=w+1;s=a[A+16>>2]|0;d=+(a[s+136>>2]|0)*.017453292519943295;i=d;if(d==0.0){f=50;e=50}else{f=~~((+D(+i)+1.0)*50.0);e=~~((1.0-+M(+i))*50.0)}a[c>>2]=w;a[c+4>>2]=f;a[c+8>>2]=e;gg(A,73619,c);kg(A,73703)|0;e=s+56|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);kg(A,73739)|0;A:do{if((a[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{o=6;break A}default:{}}b[t>>3]=+(e&255)*.00392156862745098;gg(A,99612,t)}else o=6}while(0);if((o|0)==6)kg(A,73754)|0;kg(A,73757)|0;kg(A,73763)|0;e=s+96|0;f=c;n=e;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));mQ(A,c);kg(A,73739)|0;A:do{if((a[s+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{o=10;break A}default:{}}b[u>>3]=+(e&255)*.00392156862745098;gg(A,99612,u)}else o=10}while(0);if((o|0)==10)kg(A,73754)|0;kg(A,73799)|0;k=h;return w|0}function yQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;r=77;f=0;while(1){if((f|0)>=(i|0))break;a[n>>2]=r;gg(A,73616,n);Eg(A,+b[e+(f<<4)>>3]);kg(A,100999)|0;Eg(A,-+b[e+(f<<4)+8>>3]);r=(f|0)==0?67:32;f=f+1|0}k=l;return}function zQ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;kg(A,74587)|0;kg(A,PF(e)|0)|0;if(i|0){a[l>>2]=PF(i)|0;gg(A,74595,l)}a[t>>2]=f;gg(A,74599,t);e=po(n,74611)|0;if(e|0?r[e>>0]|0:0){kg(A,102604)|0;kg(A,PF(e)|0)|0}kg(A,98744)|0;k=c;return}function YQ(A){A=A|0;var e=0;kg(A,75418)|0;e=A+12|0;kg(A,pQ(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,pQ(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,pQ(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,75434)|0;return}function DQ(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=a[A+16>>2]|0;kg(A,75395)|0;e=e+8|0;if(r[(Vh(a[e>>2]|0)|0)>>0]|0){kg(A,75397)|0;kg(A,pQ(Vh(a[e>>2]|0)|0)|0)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,75406,i);a[46723]=0;k=f;return}function MQ(A){A=A|0;a[46723]=1;return}function FQ(A){A=A|0;a[46723]=-1;return}function VQ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+48|0;l=w+8|0;s=w;f=a[A+16>>2]|0;if(a[f+144>>2]|0?(c=i+4|0,t=~~(+b[A+352>>3]*+b[(a[c>>2]|0)+16>>3]),t|0):0){UQ(A);kg(A,75334)|0;n=e+8|0;b[n>>3]=+b[n>>3]-+(t|0)*.55;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];Ig(A,l);kg(A,75348)|0;kg(A,a[i>>2]|0)|0;kg(A,75357)|0;kg(A,75155)|0;n=l;e=f+16|0;f=n+40|0;do{a[n>>2]=a[e>>2];n=n+4|0;e=e+4|0}while((n|0)<(f|0));xQ(A,l);kg(A,75359)|0;l=a[c>>2]|0;c=a[l+8>>2]|0;c=a[((c|0)==0?l:c+4|0)>>2]|0;kg(A,98744)|0;kg(A,c)|0;kg(A,98744)|0;a[s>>2]=t;gg(A,75368,s);switch(r[i+48>>0]|0){case 108:{kg(A,75373)|0;break}case 114:{kg(A,75384)|0;break}default:{}}TQ(A);kg(A,153599)|0}k=w;return}function JQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0.0,s=0.0,w=0.0;t=k;k=k+48|0;f=t;n=a[A+16>>2]|0;l=n+144|0;if(a[l>>2]|0){w=+b[e>>3];s=+b[e+24>>3];r=e+8|0;c=+b[r>>3];b[e>>3]=w-+b[e+16>>3]+w;b[r>>3]=c-s+c;UQ(A);kg(A,75320)|0;Zg(A,e,2);kg(A,75155)|0;do{if(!i)if(!(a[46723]|0)){kg(A,97309)|0;break}else{kg(A,137198)|0;break}else{e=f;i=n+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f)}}while(0);if((a[46723]|0)==1)a[46723]=0;kg(A,75266)|0;Eg(A,+b[n+152>>3]);kg(A,75309)|0;e=f;i=n+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function NQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;t=k;k=k+48|0;f=t;n=a[A+16>>2]|0;l=n+144|0;if(a[l>>2]|0){UQ(A);kg(A,75292)|0;Zg(A,e,i);kg(A,75155)|0;do{if(!r)if(!(a[46723]|0)){kg(A,97309)|0;break}else{kg(A,137198)|0;break}else{e=f;i=n+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f)}}while(0);if((a[46723]|0)==1)a[46723]=0;kg(A,75266)|0;Eg(A,+b[n+152>>3]);kg(A,75309)|0;e=f;i=n+16|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));xQ(A,f);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function XQ(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0;s=k;k=k+48|0;l=s;t=a[A+16>>2]|0;c=t+144|0;if(a[c>>2]|0){UQ(A);kg(A,75141)|0;Zg(A,e,i);kg(A,75155)|0;r=l;f=t+16|0;n=r+40|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));xQ(A,l);kg(A,75266)|0;Eg(A,+b[t+152>>3]);r=a[c>>2]|0;if((r|0)==1){kg(A,75163)|0;r=a[c>>2]|0}if((r|0)==2)kg(A,75172)|0;kg(A,75275)|0;TQ(A);kg(A,153599)|0}k=s;return}function RQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+48|0;n=t;r=a[A+16>>2]|0;l=r+144|0;if(a[l>>2]|0){UQ(A);kg(A,75141)|0;Zg(A,e,i);kg(A,75155)|0;f=n;e=r+16|0;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));xQ(A,n);e=a[l>>2]|0;if((e|0)==1){kg(A,75163)|0;e=a[l>>2]|0}if((e|0)==2)kg(A,75172)|0;TQ(A);kg(A,153599)|0}k=t;return}function HQ(A,e){A=A|0;e=e|0;kg(A,75138)|0;kg(A,pQ(e)|0)|0;kg(A,153599)|0;return}function pQ(A){A=A|0;return A|0}function UQ(A){A=A|0;if(!(r[A+144>>0]|0))kg(A,75263)|0;else kg(A,a[A+148>>2]|0)|0;return}function xQ(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,97309)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,75181,49,75245)}}while(0);k=f;return}function TQ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;f=a[A+16>>2]|0;switch(a[f+12>>2]|0){case 8:{e=1;i=111481;r=f+8|0;break}case 10:{e=0;i=111481;r=f+8|0;break}case 3:case 2:case 9:{e=1;i=111450;r=f+8|0;break}case 7:case 6:case 11:{e=0;i=111450;r=f+8|0;break}case 0:{e=1;i=111494;r=f+8|0;break}case 4:{e=0;i=75217;r=f+8|0;break}case 1:{e=1;i=111494;r=f+8|0;break}case 5:{e=0;i=111494;r=f+8|0;break}default:vA(138394,75181,106,75200)}f=a[(a[r>>2]|0)+8>>2]|0;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=f;gg(A,75229,n);k=l;return}function jQ(A){A=A|0;var e=0;kg(A,78153)|0;kg(A,78161)|0;e=A+12|0;kg(A,rm(a[a[a[e>>2]>>2]>>2]|0)|0)|0;kg(A,78181)|0;kg(A,rm(a[(a[a[e>>2]>>2]|0)+4>>2]|0)|0)|0;kg(A,78191)|0;kg(A,rm(a[(a[a[e>>2]>>2]|0)+8>>2]|0)|0)|0;kg(A,78194)|0;return}function SQ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t+24|0;n=t+16|0;f=t+8|0;i=t;e=a[A+16>>2]|0;a[46727]=~~(+b[A+232>>3]-+b[A+216>>3]);a[46726]=~~(+b[A+224>>3]-+b[A+208>>3]);kg(A,76840)|0;kg(A,76847)|0;e=Vh(a[e+8>>2]|0)|0;if(r[e>>0]|0){kg(A,76916)|0;kg(A,rm(e)|0)|0;kg(A,76924)|0}a[i>>2]=U(a[A+168>>2]|0,a[A+164>>2]|0)|0;gg(A,76933,i);kg(A,76953)|0;kg(A,76988)|0;kg(A,77016)|0;kg(A,77022)|0;kg(A,77065)|0;kg(A,77106)|0;kg(A,77125)|0;kg(A,77142)|0;kg(A,77190)|0;kg(A,77243)|0;kg(A,77319)|0;kg(A,77395)|0;kg(A,77404)|0;kg(A,77427)|0;kg(A,77454)|0;kg(A,77507)|0;kg(A,77529)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77596)|0;kg(A,77622)|0;kg(A,77507)|0;kg(A,77674)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77718)|0;kg(A,77427)|0;kg(A,77454)|0;kg(A,77507)|0;kg(A,77674)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77596)|0;kg(A,77622)|0;kg(A,77507)|0;kg(A,77529)|0;kg(A,77574)|0;kg(A,77586)|0;kg(A,77731)|0;kg(A,77739)|0;kg(A,77745)|0;kg(A,77759)|0;kg(A,77767)|0;kg(A,77800)|0;i=(a[46727]|0)+10|0;a[f>>2]=a[46726];a[f+4>>2]=i;gg(A,77877,f);kg(A,77907)|0;kg(A,77916)|0;kg(A,77974)|0;kg(A,77984)|0;kg(A,78049)|0;f=a[46727]|0;a[n>>2]=a[46726];a[n+4>>2]=f;gg(A,78086,n);n=a[46727]|0;a[l>>2]=a[46726];a[l+4>>2]=n;gg(A,78114,l);k=t;return}function PQ(A){A=A|0;kg(A,76391)|0;kg(A,76403)|0;kg(A,76411)|0;kg(A,76474)|0;kg(A,76403)|0;kg(A,76519)|0;kg(A,76568)|0;kg(A,76622)|0;kg(A,76403)|0;kg(A,76722)|0;kg(A,76771)|0;kg(A,76403)|0;kg(A,76823)|0;return}function OQ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+32|0;t=c+16|0;l=c+8|0;n=c;kg(A,76349)|0;if(e|0?r[e>>0]|0:0){a[n>>2]=rm(e)|0;gg(A,76352,n)}if(i|0?r[i>>0]|0:0){a[l>>2]=rm(i)|0;gg(A,76363,l)}if(f|0?r[f>>0]|0:0){a[t>>2]=rm(f)|0;gg(A,76375,t)}kg(A,76388)|0;k=c;return}function KQ(A){A=A|0;kg(A,76343)|0;return}function _Q(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0;Q=k;k=k+112|0;Z=Q+96|0;G=Q+88|0;C=Q+80|0;h=Q+72|0;E=Q+64|0;v=Q+56|0;B=Q+48|0;d=Q+40|0;o=Q+24|0;u=Q+8|0;w=Q;I=a[A+16>>2]|0;switch(r[i+48>>0]|0){case 108:{t=+b[e>>3];s=+b[i+32>>3];break}case 114:{s=+b[i+32>>3];t=+b[e>>3]-s;break}default:{s=+b[i+32>>3];t=+b[e>>3]-s*.5}}f=i+40|0;l=+b[f>>3];g=i+4|0;c=+b[(a[g>>2]|0)+16>>3];if(l>3]=l}m=t+-8.0;c=+((a[46727]|0)>>>0)-+b[e+8>>3]-l+c*.2+(c<12.0?1.4:2.0);gg(A,76005,w);b[u>>3]=m;b[u+8>>3]=c;gg(A,75942,u);b[o>>3]=t+8.0+s-m;b[o+8>>3]=l;gg(A,75966,o);kg(A,76040)|0;kg(A,76074)|0;f=a[g>>2]|0;e=a[f+8>>2]|0;if(e){a[d>>2]=a[e+4>>2];gg(A,76164,d);f=a[e+8>>2]|0;if(f|0){a[B>>2]=f;gg(A,76183,B)}f=a[e+12>>2]|0;if(f|0){a[v>>2]=f;gg(A,76200,v)}f=a[e+16>>2]|0;if(f|0){a[E>>2]=f;gg(A,76218,E)}}else{a[h>>2]=a[f>>2];gg(A,76164,h)}b[C>>3]=+b[(a[g>>2]|0)+16>>3];gg(A,76234,C);f=I+16|0;switch(a[I+48>>2]|0){case 5:{f=a[f>>2]|0;if(N1(f,137314)|0){a[G>>2]=f;gg(A,76254,G)}break}case 1:{I=n[f+1>>0]|0;G=n[f+2>>0]|0;a[Z>>2]=n[f>>0];a[Z+4>>2]=I;a[Z+8>>2]=G;gg(A,76264,Z);break}default:vA(138394,75728,438,76285)}kg(A,76298)|0;kg(A,rm(a[i>>2]|0)|0)|0;kg(A,76309)|0;kg(A,76332)|0;k=Q;return}function qQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0;r=k;k=k+32|0;f=r+16|0;t=r;kg(A,75906)|0;s=+b[e>>3];l=+b[e+16>>3]-s;c=+b[e+24>>3];n=c-+b[e+8>>3];c=+((a[46727]|0)>>>0)-c;b[t>>3]=s-l;b[t+8>>3]=c;gg(A,75942,t);b[f>>3]=l*2.0;b[f+8>>3]=n*2.0;gg(A,75966,f);lm(A,i);kg(A,75788)|0;am(A);kg(A,75994)|0;k=r;return}function $Q(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;s=k;k=k+48|0;c=s+24|0;t=s+8|0;n=s;kg(A,75511)|0;w=a[46727]|0;a[n>>2]=a[46726];a[n+4>>2]=w;gg(A,75764,n);lm(A,r);kg(A,75788)|0;am(A);kg(A,75791)|0;n=i+-1|0;r=0;while(1){if((r|0)>=(i|0))break;l=+b[e+(r<<4)>>3];f=+((a[46727]|0)>>>0)-+b[e+(r<<4)+8>>3];if(!r){kg(A,75818)|0;b[t>>3]=l;b[t+8>>3]=f;gg(A,75884,t);kg(A,75895)|0}else{b[c>>3]=l;b[c+8>>3]=f;gg(A,75884,c)}if((r|0)==(n|0))kg(A,75898)|0;r=r+1|0}kg(A,75627)|0;k=s;return}function Am(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0;f=k;k=k+16|0;r=f;kg(A,75511)|0;l=a[46727]|0;a[r>>2]=a[46726];a[r+4>>2]=l;gg(A,75764,r);lm(A,n);kg(A,75788)|0;am(A);kg(A,75791)|0;tm(A,e,i);kg(A,75804)|0;k=f;return}function em(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0.0;c=k;k=k+48|0;t=c+24|0;l=c+8|0;f=c;kg(A,75511)|0;n=a[46727]|0;a[f>>2]=a[46726];a[f+4>>2]=n;gg(A,75548,f);kg(A,75588)|0;f=i+-1|0;n=e+8|0;r=0;while(1){if((r|0)>=(i|0))break;if(!r){kg(A,75600)|0;s=+((a[46727]|0)>>>0)-+b[n>>3];b[l>>3]=+b[e>>3];b[l+8>>3]=s;gg(A,75604,l);kg(A,75615)|0}else{s=+((a[46727]|0)>>>0)-+b[e+(r<<4)+8>>3];b[t>>3]=+b[e+(r<<4)>>3];b[t+8>>3]=s;gg(A,75604,t)}if((r|0)==(f|0))kg(A,75619)|0;r=r+1|0}kg(A,75623)|0;am(A);kg(A,75627)|0;k=c;return}function im(A,e){A=A|0;e=e|0;kg(A,75446)|0;kg(A,rm(e)|0)|0;kg(A,75458)|0;return}function rm(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+16|0;i=g;e=a[46724]|0;if(!e){a[46725]=64;e=$F(64)|0;a[46724]=e}B=i+15|0;d=i+14|0;n=0;h=0;u=0;i=0;f=0;A:while(1){w=(u|0)!=0;b=n;o=A;c=i;e:while(1){if(!o){v=32;break A}i=r[o>>0]|0;if(!(i<<24>>24)){v=32;break A}A=a[46725]|0;if((h|0)>(A+-8|0)){e=A<<1;a[46725]=e;e=eV(a[46724]|0,e)|0;a[46724]=e;e=e+h|0;i=r[o>>0]|0}switch(i<<24>>24){case 60:{i=4;A=102153;v=26;break e}case 62:{i=4;A=102136;v=27;break e}case 38:{v=10;break e}case 45:{i=5;A=102147;t=c;break e}default:{}}if(w&i<<24>>24==32){v=12;break}switch(i<<24>>24){case 34:{i=6;A=102116;v=26;break e}case 39:{i=5;A=102141;v=27;break e}default:{}}if(i<<24>>24<0){t=127;A=0}else{i=1;A=o;v=26;break}while(1){n=t&255;l=i&255;if(n>>>0>=l>>>0)break;i=t&l&255;t=n>>>1;A=A+1|0}if((A|0)<=1){n=G6(c|0,f|0,6)|0;n=d6(n|0,L|0,i&255|0,0)|0;f=L;s=b+-1|0;if((b|0)>1){A=s;i=n}else{v=21;break}}else{A=A+-1|0;i=i&255;f=0}b=A;o=o+1|0;c=i}if((v|0)==10){v=0;A=(fm(o)|0)==0;i=A?5:1;A=A?102130:o;t=c}else if((v|0)==12){v=0;A=(r[u>>0]|0)==32;i=A?6:1;A=A?102123:o;t=c}else if((v|0)==21){v=0;r[B>>0]=59;i=3;l=d;t=n;c=f;while(1){A=C6(t|0,c|0,10,0)|0;n=l+-1|0;r[l>>0]=A|48;A=t;t=E6(t|0,c|0,10,0)|0;f=c;c=L;u=i;i=i+1|0;if((u|0)>11){v=23;break A}if(!(f>>>0>0|(f|0)==0&A>>>0>9))break;else l=n}A=l+-2|0;r[n>>0]=35;r[A>>0]=38;b=s;f=c}else if((v|0)==26){v=0;t=c}else if((v|0)==27){v=0;t=c}l=e+i|0;n=i;while(1){if(!n)break;r[e>>0]=r[A>>0]|0;n=n+-1|0;A=A+1|0;e=e+1|0}n=b;A=o+1|0;h=i+h|0;u=o;e=l;i=t}if((v|0)==23){L3(75464,46,1,a[15712]|0)|0;SA(1)}else if((v|0)==32){r[e>>0]=0;k=g;return a[46724]|0}return 0}function fm(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function am(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=k;k=k+48|0;i=c+8|0;t=c;l=a[A+16>>2]|0;kg(A,75639)|0;r=i;f=l+16|0;n=r+40|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));nm(A,i);e=+b[l+152>>3];if(e!=1.0){b[t>>3]=e;gg(A,75657,t)}switch(a[l+144>>2]|0){case 1:{kg(A,75674)|0;break}case 2:{kg(A,75692)|0;break}default:{}}kg(A,75709)|0;k=c;return}function nm(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0;f=k;k=k+16|0;i=f;A:do{switch(a[e+32>>2]|0){case 5:{kg(A,a[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){kg(A,135709)|0;break A}else{t=n[e+1>>0]|0;l=n[e+2>>0]|0;a[i>>2]=n[e>>0];a[i+4>>2]=t;a[i+8>>2]=l;gg(A,75714,i);break A}default:vA(138394,75728,94,75748)}}while(0);k=f;return}function lm(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+48|0;f=n;if(!e)kg(A,75867)|0;else{i=a[A+16>>2]|0;kg(A,75837)|0;e=f;i=i+56|0;r=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));nm(A,f);kg(A,75864)|0}k=n;return}function tm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0.0,c=0.0;l=k;k=k+32|0;n=l;r=75818;f=0;while(1){if((f|0)>=(i|0))break;c=+b[e+(f<<4)>>3];t=+((a[46727]|0)>>>0)-+b[e+(f<<4)+8>>3];a[n>>2]=r;b[n+8>>3]=c;b[n+16>>3]=t;gg(A,75821,n);r=(f|0)==0?75834:195059;f=f+1|0}kg(A,98744)|0;k=l;return}function cm(A){A=A|0;var e=0,i=0,r=0;e=k;k=k+16|0;i=e+8|0;r=e;kg(A,80451)|0;kg(A,80466)|0;kg(A,80505)|0;kg(A,80554)|0;a[r>>2]=137314;a[r+4>>2]=80642;gg(A,80623,r);a[i>>2]=137198;a[i+4>>2]=80648;gg(A,80623,i);k=e;return}function bm(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0;e=k;k=k+64|0;i=e+8|0;t=e;a[t>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,79404,t);l=+b[A+368>>3]*.5*+b[A+488>>3];n=+b[A+376>>3]*.5*+b[A+496>>3];f=+N(+(l*2.0000000949949026e-03))*180.0*.6366197723675814;r=+N(+(n*2.0000000949949026e-03))*180.0*.6366197723675814;b[i>>3]=l;b[i+8>>3]=n;b[i+16>>3]=-500.0;b[i+24>>3]=l;b[i+32>>3]=n;b[i+40>>3]=0.0;b[i+48>>3]=(f>r?f:r)*1.2;gg(A,79426,i);kg(A,79573)|0;kg(A,80403)|0;k=e;return}function sm(A){A=A|0;kg(A,79387)|0;return}function wm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=k;k=k+16|0;n=f;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=r;gg(A,79357,n);c[46728]=+(U(i,-10)|0);k=f;return}function um(A){A=A|0;kg(A,79340)|0;return}function km(A){A=A|0;kg(A,79322)|0;return}function om(A){A=A|0;kg(A,79306)|0;return}function hm(A){A=A|0;kg(A,79285)|0;c[46728]=+c[46728]+-2.0;return}function dm(A){A=A|0;kg(A,79266)|0;return}function Bm(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=Vh(a[(a[A+16>>2]|0)+8>>2]|0)|0;gg(A,79244,i);k=e;return}function vm(A){A=A|0;kg(A,79228)|0;return}function gm(A){A=A|0;kg(A,79210)|0;c[46728]=+c[46728]+-5.0;return}function Em(A){A=A|0;kg(A,79194)|0;c[46728]=+c[46728]+5.0;return}function Cm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0;d=k;k=k+144|0;u=d+104|0;h=d+56|0;s=d+32|0;l=d+24|0;w=d;o=i+4|0;n=a[o>>2]|0;f=+b[n+16>>3];n=a[n>>2]|0;a[w>>2]=a[i>>2];b[w+8>>3]=f;a[w+16>>2]=n;gg(A,79040,w);c[46729]=+c[46728]+-9.0;switch(r[i+48>>0]|0){case 108:{f=+b[e>>3];break}case 114:{n=e;f=+b[e>>3]-+b[i+32>>3];t=5;break}default:{n=e;f=+b[e>>3]-+b[i+32>>3]*.5;t=5}}if((t|0)==5)b[n>>3]=f;g=+b[A+488>>3];v=(+b[A+504>>3]+f)*g;B=(+b[A+512>>3]+ +b[e+8>>3])*+b[A+496>>3];b[l>>3]=+b[(a[o>>2]|0)+16>>3]*g;w=Lm(A,79092,l)|0;f=+(a[A+360>>2]|0);b[s>>3]=0.0;b[s+8>>3]=0.0;b[s+16>>3]=f;n=Lm(A,78309,s)|0;f=+c[46729];b[u>>3]=v;b[u+8>>3]=B;b[u+16>>3]=f;e=Lm(A,78341,u)|0;l=u;t=(a[A+16>>2]|0)+16|0;s=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(s|0));u=Wm(A,u,0.0)|0;i=a[i>>2]|0;a[h>>2]=a[a[o>>2]>>2];b[h+8>>3]=.25;b[h+16>>3]=0.0;a[h+24>>2]=i;a[h+28>>2]=79179;a[h+32>>2]=w;a[h+36>>2]=n;a[h+40>>2]=e;a[h+44>>2]=u;h=Lm(A,79104,h)|0;kg(A,h)|0;L2(h);L2(n);L2(u);L2(e);L2(w);k=d;return}function Im(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,s=0,w=0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0;G=k;k=k+240|0;I=G+192|0;Z=G+152|0;v=G+128|0;d=G+104|0;u=G+80|0;w=G+48|0;r=G+24|0;s=G;kg(A,78917)|0;c[46729]=+c[46728]+-6.0;n=+b[e>>3];l=+b[A+488>>3];o=(+b[A+504>>3]+n)*l;Q=+b[e+8>>3];t=+b[A+496>>3];h=(+b[A+512>>3]+Q)*t;l=(+b[e+16>>3]-n)*l;t=(+b[e+24>>3]-Q)*t;B=A+16|0;Q=t+l;n=+b[(a[B>>2]|0)+152>>3]/Q*2.5;b[s>>3]=l;b[s+8>>3]=Q*.25;b[s+16>>3]=t;e=Lm(A,78277,s)|0;s=A+360|0;Q=+(a[s>>2]|0);b[r>>3]=90.0;b[r+8>>3]=0.0;b[r+16>>3]=Q;r=Lm(A,78309,r)|0;Q=+c[46729];b[I>>3]=o;b[I+8>>3]=h;b[I+16>>3]=Q;f=Lm(A,78341,I)|0;g=I;E=(a[B>>2]|0)+16|0;C=g+40|0;do{a[g>>2]=a[E>>2];g=g+4|0;E=E+4|0}while((g|0)<(C|0));E=Wm(A,I,0.0)|0;b[w>>3]=1.0;b[w+8>>3]=n;a[w+16>>2]=e;a[w+20>>2]=r;a[w+24>>2]=f;a[w+28>>2]=E;C=Lm(A,78932,w)|0;kg(A,C)|0;L2(e);L2(r);L2(f);L2(E);L2(C);if(i|0){b[u>>3]=l;b[u+8>>3]=t;b[u+16>>3]=1.0;f=Lm(A,78277,u)|0;Q=+(a[s>>2]|0);b[d>>3]=0.0;b[d+8>>3]=0.0;b[d+16>>3]=Q;r=Lm(A,78309,d)|0;Q=+c[46729];b[v>>3]=o;b[v+8>>3]=h;b[v+16>>3]=Q;e=Lm(A,78341,v)|0;g=I;E=(a[B>>2]|0)+56|0;C=g+40|0;do{a[g>>2]=a[E>>2];g=g+4|0;E=E+4|0}while((g|0)<(C|0));I=Wm(A,I,0.0)|0;b[Z>>3]=0.0;b[Z+8>>3]=0.0;b[Z+16>>3]=0.0;a[Z+24>>2]=f;a[Z+28>>2]=r;a[Z+32>>2]=e;a[Z+36>>2]=I;Z=Lm(A,78978,Z)|0;kg(A,Z)|0;L2(f);L2(r);L2(e);L2(I);L2(Z)}k=G;return}function Zm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0.0,N=0,X=0.0;V=k;k=k+336|0;m=V+296|0;F=V+288|0;M=V+272|0;D=V+264|0;Y=V+240|0;W=V+232|0;Q=V+208|0;G=V+184|0;C=V+160|0;E=V+152|0;g=V+136|0;v=V+128|0;B=V+96|0;d=V+88|0;h=V+56|0;f=V+48|0;s=V+24|0;t=V;kg(A,78782)|0;c[46729]=+c[46728]+-2.0;u=A+488|0;o=A+496|0;J=+b[o>>3];b[t>>3]=+b[u>>3];b[t+8>>3]=J;b[t+16>>3]=1.0;t=Lm(A,78277,t)|0;Z=A+360|0;J=+(a[Z>>2]|0);b[s>>3]=0.0;b[s+8>>3]=0.0;b[s+16>>3]=J;s=Lm(A,78309,s)|0;J=+c[46729]+-2.0;b[m>>3]=0.0;b[m+8>>3]=0.0;b[m+16>>3]=J;w=Lm(A,78341,m)|0;L=A+16|0;n=m;l=(a[L>>2]|0)+16|0;I=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(I|0));l=Wm(A,m,0.0)|0;a[f>>2]=78404;a[f+4>>2]=i+1;y=A+504|0;z=A+512|0;n=0;f=Lm(A,78373,f)|0;while(1){if((n|0)>=(i|0))break;X=+b[z>>3]+ +b[e+(n<<4)+8>>3];J=+b[(a[L>>2]|0)+152>>3];b[h>>3]=+b[y>>3]+ +b[e+(n<<4)>>3];b[h+8>>3]=X;b[h+16>>3]=0.0;b[h+24>>3]=J;N=Lm(A,78418,h)|0;a[d>>2]=f;a[d+4>>2]=N;I=Lm(A,78447,d)|0;L2(N);L2(f);n=n+1|0;f=I}J=+b[z>>3]+ +b[e+8>>3];X=+b[(a[L>>2]|0)+152>>3];b[B>>3]=+b[y>>3]+ +b[e>>3];b[B+8>>3]=J;b[B+16>>3]=0.0;b[B+24>>3]=X;I=Lm(A,78418,B)|0;a[v>>2]=f;a[v+4>>2]=I;N=Lm(A,78447,v)|0;L2(I);L2(f);a[g>>2]=t;a[g+4>>2]=s;a[g+8>>2]=w;a[g+12>>2]=l;I=Lm(A,78797,g)|0;a[E>>2]=N;a[E+4>>2]=I;N=Lm(A,78502,E)|0;L2(I);kg(A,N)|0;L2(t);L2(s);L2(w);L2(l);L2(N);if(r|0){X=+b[o>>3];b[C>>3]=+b[u>>3];b[C+8>>3]=X;b[C+16>>3]=1.0;w=Lm(A,78277,C)|0;X=+(a[Z>>2]|0);b[G>>3]=0.0;b[G+8>>3]=0.0;b[G+16>>3]=X;s=Lm(A,78309,G)|0;X=+c[46729]+-2.0;b[Q>>3]=0.0;b[Q+8>>3]=0.0;b[Q+16>>3]=X;t=Lm(A,78341,Q)|0;n=m;l=(a[L>>2]|0)+56|0;I=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(I|0));l=Wm(A,m,.25)|0;a[W>>2]=i;n=0;f=Lm(A,78842,W)|0;while(1){if((n|0)>=(i|0))break;X=+b[z>>3]+ +b[e+(n<<4)+8>>3];b[Y>>3]=+b[y>>3]+ +b[e+(n<<4)>>3];b[Y+8>>3]=X;b[Y+16>>3]=0.0;W=Lm(A,78857,Y)|0;a[D>>2]=f;a[D+4>>2]=W;N=Lm(A,78879,D)|0;L2(W);L2(f);n=n+1|0;f=N}a[M>>2]=w;a[M+4>>2]=s;a[M+8>>2]=t;a[M+12>>2]=l;M=Lm(A,78889,M)|0;a[F>>2]=f;a[F+4>>2]=M;N=Lm(A,78502,F)|0;L2(M);kg(A,N)|0;L2(w);L2(s);L2(t);L2(l);L2(N)}k=V;return}function Gm(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0;m=k;k=k+208|0;r=m+160|0;Q=m+152|0;G=m+136|0;Z=m+128|0;I=m+96|0;C=m+88|0;E=m+56|0;t=m+48|0;B=m+24|0;d=m;kg(A,78709)|0;c[46729]=+c[46728]+-4.0;L=+b[A+496>>3];b[d>>3]=+b[A+488>>3];b[d+8>>3]=L;b[d+16>>3]=1.0;d=Lm(A,78277,d)|0;L=+(a[A+360>>2]|0);b[B>>3]=0.0;b[B+8>>3]=0.0;b[B+16>>3]=L;B=Lm(A,78309,B)|0;L=+c[46729]+-2.0;b[r>>3]=0.0;b[r+8>>3]=0.0;b[r+16>>3]=L;v=Lm(A,78341,r)|0;g=A+16|0;f=r;n=(a[g>>2]|0)+56|0;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));w=Wm(A,r,0.0)|0;a[t>>2]=78723;a[t+4>>2]=i+2;u=A+504|0;o=A+512|0;h=i+-1|0;s=0;r=Lm(A,78373,t)|0;while(1){if((s|0)>=(i|0))break;f=e+(s<<4)|0;n=e+(s<<4)+8|0;W=+b[o>>3]+ +b[n>>3];L=+b[(a[g>>2]|0)+152>>3];b[E>>3]=+b[u>>3]+ +b[f>>3];b[E+8>>3]=W;b[E+16>>3]=0.0;b[E+24>>3]=L;t=Lm(A,78418,E)|0;a[C>>2]=r;a[C+4>>2]=t;l=Lm(A,78447,C)|0;L2(t);L2(r);if((s|0)==0|(s|0)==(h|0)){L=+b[o>>3]+ +b[n>>3];W=+b[(a[g>>2]|0)+152>>3];b[I>>3]=+b[u>>3]+ +b[f>>3];b[I+8>>3]=L;b[I+16>>3]=0.0;b[I+24>>3]=W;t=Lm(A,78418,I)|0;a[Z>>2]=l;a[Z+4>>2]=t;r=Lm(A,78447,Z)|0;L2(t);L2(l)}else r=l;s=s+1|0}a[G>>2]=d;a[G+4>>2]=B;a[G+8>>2]=v;a[G+12>>2]=w;e=Lm(A,78732,G)|0;a[Q>>2]=r;a[Q+4>>2]=e;i=Lm(A,78502,Q)|0;L2(e);kg(A,i)|0;L2(d);L2(B);L2(v);L2(w);L2(i);k=m;return}function Qm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0,I=0,Z=0.0;E=k;k=k+160|0;r=E+120|0;g=E+112|0;v=E+96|0;B=E+88|0;d=E+56|0;s=E+48|0;w=E+24|0;h=E;kg(A,78261)|0;c[46729]=+c[46728]+-6.0;C=+b[A+496>>3];b[h>>3]=+b[A+488>>3];b[h+8>>3]=C;b[h+16>>3]=1.0;h=Lm(A,78277,h)|0;C=+(a[A+360>>2]|0);b[w>>3]=0.0;b[w+8>>3]=0.0;b[w+16>>3]=C;w=Lm(A,78309,w)|0;C=+c[46729];b[r>>3]=0.0;b[r+8>>3]=0.0;b[r+16>>3]=C;u=Lm(A,78341,r)|0;o=A+16|0;f=r;n=(a[o>>2]|0)+16|0;l=f+40|0;do{a[f>>2]=a[n>>2];f=f+4|0;n=n+4|0}while((f|0)<(l|0));n=Wm(A,r,0.0)|0;a[s>>2]=78404;a[s+4>>2]=i;l=A+504|0;t=A+512|0;f=0;r=Lm(A,78373,s)|0;while(1){if((f|0)>=(i|0))break;Z=+b[t>>3]+ +b[e+(f<<4)+8>>3];C=+b[(a[o>>2]|0)+152>>3];b[d>>3]=+b[l>>3]+ +b[e+(f<<4)>>3];b[d+8>>3]=Z;b[d+16>>3]=0.0;b[d+24>>3]=C;I=Lm(A,78418,d)|0;a[B>>2]=r;a[B+4>>2]=I;s=Lm(A,78447,B)|0;L2(I);L2(r);f=f+1|0;r=s}a[v>>2]=h;a[v+4>>2]=w;a[v+8>>2]=u;a[v+12>>2]=n;v=Lm(A,78456,v)|0;a[g>>2]=r;a[g+4>>2]=v;I=Lm(A,78502,g)|0;L2(v);kg(A,I)|0;L2(h);L2(w);L2(u);L2(n);L2(I);k=E;return}function mm(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=e;gg(A,78242,r);k=i;return}function Lm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+1056|0;l=t;r=t+24|0;f=t+8|0;a[f>>2]=i;n=k4(r,1024,e,f)|0;do{if((n|0)>=0)if((n|0)>1023){A=m2(n+1|0)|0;a[f>>2]=i;O4(A,e,f)|0;break}else{A=s3(r)|0;break}else{A=a[(a[A+12>>2]|0)+16>>2]|0;a[l>>2]=e1(a[(X2()|0)>>2]|0)|0;V5[A&63](78687,l);A=s3(195059)|0}}while(0);k=t;return A|0}function Wm(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0;h=k;k=k+112|0;u=h+104|0;t=h+96|0;l=h+64|0;w=h+48|0;o=h+32|0;s=h+16|0;c=h;f=a[e+32>>2]|0;A:do{switch(f|0){case 5:{r=a[e>>2]|0;if(!(A1(r,136302)|0)){a[c>>2]=78524;b[c+8>>3]=i;r=Lm(A,78507,c)|0;break A}if(!(A1(r,133432)|0)){a[s>>2]=78528;b[s+8>>3]=i;r=Lm(A,78507,s)|0;break A}if(!(A1(r,131431)|0)){a[o>>2]=78534;b[o+8>>3]=i;r=Lm(A,78507,o)|0;break A}else{a[w>>2]=r;b[w+8>>3]=i;r=Lm(A,78507,w)|0;break A}}case 1:{B=+(n[e+1>>0]|0)*.00390625;d=+(n[e+2>>0]|0)*.00390625;b[l>>3]=+(n[e>>0]|0)*.00390625;b[l+8>>3]=B;b[l+16>>3]=d;b[l+24>>3]=i;r=Lm(A,78539,l)|0;break}default:{o=a[15712]|0;w=a[e>>2]|0;a[t>>2]=f;a[t+4>>2]=w;f3(o,78578,t)|0;vA(138394,78628,436,78648)}}}while(0);a[u>>2]=r;o=Lm(A,78665,u)|0;L2(r);k=h;return o|0}function ym(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;e=k;k=k+32|0;i=e+24|0;r=e+16|0;n=e;f=a[A+16>>2]|0;l=a[a[A+12>>2]>>2]|0;c=a[l>>2]|0;t=a[l+4>>2]|0;l=a[l+8>>2]|0;a[n>>2]=81094;a[n+4>>2]=c;a[n+8>>2]=t;a[n+12>>2]=l;gg(A,83704,n);f=Vh(a[f+8>>2]|0)|0;a[r>>2]=81094;a[r+4>>2]=f;gg(A,83736,r);a[i>>2]=81094;gg(A,83750,i);k=e;return}function zm(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=81094;gg(A,83652,i);k=e;return}function Ym(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0;P=k;k=k+304|0;S=P+296|0;j=P+288|0;T=P+272|0;U=P+264|0;p=P+256|0;H=P+248|0;R=P+240|0;X=P+232|0;N=P+224|0;J=P+216|0;V=P+208|0;F=P+200|0;M=P+192|0;D=P+184|0;z=P+176|0;y=P+168|0;W=P+160|0;L=P+152|0;Q=P+144|0;G=P+136|0;Z=P+128|0;I=P+120|0;C=P+112|0;E=P+104|0;g=P+96|0;v=P+88|0;B=P+80|0;d=P+72|0;h=P+64|0;o=P+56|0;u=P+48|0;x=P+40|0;m=P+24|0;w=P+16|0;s=P;n=a[A+456>>2]|0;l=a[A+460>>2]|0;t=a[A+464>>2]|0;c=a[A+468>>2]|0;f=A+360|0;A:do{if(a[4025]|0){switch(a[f>>2]|0){case 90:case 0:break A;default:{}}xm();a[4025]=0}}while(0);r=(+(c|0)-+(l|0))*.013888888888888888;e=(+(t|0)-+(n|0))*.013888888888888888;c=(a[f>>2]|0)==90;i=c?r:e;r=c?e:r;b[s>>3]=i;b[s+8>>3]=r;gg(A,81281,s);a[w>>2]=81094;gg(A,81296,w);if(i>0.0){e=+t1(i);b[19214]=e;e=e+3.0-+(~~e|0)}else e=3.0;e=+Y(10.0,+e);b[19214]=e;b[m>>3]=e;b[m+8>>3]=e;gg(A,81465,m);a[x>>2]=81094;gg(A,81500,x);a[u>>2]=81094;gg(A,81558,u);a[o>>2]=81094;gg(A,81618,o);a[h>>2]=81094;gg(A,81667,h);a[d>>2]=81094;gg(A,81706,d);a[B>>2]=81094;gg(A,81757,B);a[v>>2]=81094;gg(A,81819,v);a[g>>2]=81094;gg(A,81929,g);a[E>>2]=81094;gg(A,82020,E);a[C>>2]=81094;gg(A,82074,C);a[I>>2]=81094;gg(A,82143,I);gg(A,82179,Z);a[G>>2]=81094;gg(A,82304,G);a[Q>>2]=81094;gg(A,82333,Q);gg(A,82373,L);a[W>>2]=81094;gg(A,82466,W);a[y>>2]=81094;gg(A,82525,y);a[z>>2]=81094;gg(A,82606,z);gg(A,82676,D);a[M>>2]=81094;gg(A,82765,M);a[F>>2]=81094;gg(A,82870,F);a[V>>2]=81094;gg(A,82946,V);a[J>>2]=81094;gg(A,82985,J);a[N>>2]=81094;gg(A,83084,N);a[X>>2]=81094;gg(A,83130,X);gg(A,83219,R);a[H>>2]=81094;gg(A,83260,H);a[p>>2]=81094;gg(A,83343,p);a[U>>2]=81094;gg(A,83444,U);b[T>>3]=r;b[T+8>>3]=i;gg(A,83508,T);gg(A,83536,j);gg(A,83544,S);k=P;return}function Dm(A){A=A|0;var e=0;e=k;k=k+16|0;gg(A,81274,e);k=e;return}function Mm(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0,u=0,o=0,h=0,d=0;d=k;k=k+48|0;h=d+24|0;o=d+8|0;u=d;switch(r[i+48>>0]|0){case 108:{c=e;l=+b[i+32>>3];t=+b[e>>3];break}case 114:{l=+b[i+32>>3];n=l;f=5;break}default:{l=+b[i+32>>3];n=l*.5;f=5}}if((f|0)==5){t=+b[e>>3]-n;b[e>>3]=t;c=e}s=i+4|0;f=a[s>>2]|0;n=+b[f+16>>3];e=e+8|0;w=+b[e>>3]+n*.004629629629629629;b[e>>3]=w;l=t+l*.006944444444444444;b[c>>3]=l;f=a[f>>2]|0;do{if(f){e=a[46730]|0;if(e|0?(A1(e,f)|0)==0:0)break;a[u>>2]=pm(f)|0;gg(A,81173,u);u=a[s>>2]|0;a[46730]=a[u>>2];n=+b[u+16>>3]}}while(0);f=~~n;f=(f|0)>1?f:1;if((f|0)!=(a[46731]|0)){t=+b[19214];a[o>>2]=f;b[o+8>>3]=t;gg(A,81181,o);a[46731]=f}a[h>>2]=Um(a[i>>2]|0)|0;b[h+8>>3]=l;b[h+16>>3]=w;gg(A,81202,h);k=d;return}function Fm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0;r=k;k=k+48|0;f=r;l=+b[e>>3];c=(+b[e+16>>3]-l)*.027777777777777776;n=+b[e+8>>3];t=(+b[e+24>>3]-n)*.027777777777777776;a[f>>2]=1;a[f+4>>2]=i|0?81115:195059;b[f+8>>3]=c;b[f+16>>3]=t;b[f+24>>3]=l*.013888888888888888;b[f+32>>3]=n*.013888888888888888;gg(A,81121,f);k=r;return}function Vm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=k;k=k+16|0;Rm(a[A+16>>2]|0,r+8|0,r);Hm(A,e,i,1);k=r;return}function Jm(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0.0,C=0;v=k;k=k+128|0;B=v+112|0;h=v+104|0;o=v+96|0;r=v+88|0;w=v+16|0;u=v;c=a[A+16>>2]|0;t=m2((i*140|0)+140|0)|0;Rm(c,v+116|0,v+80|0);E=+b[e>>3];c=w+48|0;b[c>>3]=E;g=+b[e+8>>3];b[w+56>>3]=g;a[r>>2]=~~(E+(E>=0.0?.5:-.5));a[r+4>>2]=~~(g+(g>=0.0?.5:-.5));l=u+8|0;r=t+(P4(t,81099,r)|0)|0;d=1;n=0;while(1){s=n+3|0;if((s|0)>=(i|0))break;a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];f=1;while(1){if((f|0)==4){f=1;break}C=f+n|0;b[w+(f<<4)>>3]=+b[e+(C<<4)>>3];b[w+(f<<4)+8>>3]=+b[e+(C<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;mR(u,w,3,+(f|0)*.16666666666666666,0,0);g=+b[u>>3];E=+b[l>>3];a[o>>2]=~~(g+(g>=0.0?.5:-.5));a[o+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;r=r+(P4(r,81099,o)|0)|0}d=d+6|0;n=s}a[h>>2]=t;gg(A,81106,h);L2(t);f=d+-1|0;r=0;while(1){if((r|0)>=(d|0))break;a[B>>2]=((r|0)%(f|0)|0|0)!=0&1;gg(A,81111,B);r=r+1|0}kg(A,153599)|0;k=v;return}function Nm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=k;k=k+16|0;Rm(a[A+16>>2]|0,r+8|0,r);Hm(A,e,i,0);k=r;return}function Xm(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=81094;a[r+4>>2]=e;gg(A,81087,r);k=i;return}function Rm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(a[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}a[e>>2]=A;b[i>>3]=r;return}function Hm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0;t=k;k=k+16|0;l=t+8|0;n=t;f=0;while(1){if((f|0)>=(i|0))break;s=+b[e+(f<<4)>>3];c=+b[e+(f<<4)+8>>3];a[n>>2]=~~(s+(s>=0.0?.5:-.5));a[n+4>>2]=~~(c+(c>=0.0?.5:-.5));gg(A,81099,n);f=f+1|0}if(r|0){c=+b[e>>3];s=+b[e+8>>3];a[l>>2]=~~(c+(c>=0.0?.5:-.5));a[l+4>>2]=~~(s+(s>=0.0?.5:-.5));gg(A,81099,l)}kg(A,153599)|0;k=t;return}function pm(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;A:while(1){e=15828;while(1){i=a[e+4>>2]|0;if(!i)break;if(!(A1(i,A)|0)){n=6;break A}e=e+8|0}a[f>>2]=81255;a[f+4>>2]=A;ao(1,81229,f)|0;e=w3(A,45)|0;if(!e){e=81272;break}r[e>>0]=0}k=l;return e|0}function Um(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t;e=a[46732]|0;if(!e){a[46733]=64;e=m2(64)|0;a[46732]=e;i=0}else i=0;while(1){n=A+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;A=a[46733]|0;if((i|0)>(A+-8|0)){e=A<<1;a[46733]=e;e=y2(a[46732]|0,e)|0;a[46732]=e;e=e+i|0}if(f<<24>>24<=-1){r[e>>0]=92;a[l>>2]=f&255;P4(e+1|0,81224,l)|0;A=n;e=e+4|0;i=i+4|0;continue}if(f<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=f;A=n;e=e+1|0;i=i+1|0}r[e>>0]=0;k=t;return a[46732]|0}function xm(){var A=0,e=0;A=k;k=k+16|0;e=A;a[e>>2]=81255;a[e+4>>2]=91269;ao(0,83634,e)|0;k=A;return}function Tm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0,c=0;r=k;k=k+32|0;f=r+8|0;t=r;e=e+8|0;c=a[e>>2]|0;a[t>>2]=c;a[t+4>>2]=c;gg(A,84223,t);l=(+b[i>>3]+ +b[i+16>>3])*.5;n=(+b[i+8>>3]+ +b[i+24>>3])*.5;a[f>>2]=a[e>>2];b[f+8>>3]=l;b[f+16>>3]=n;gg(A,84265,f);k=r;return}function jm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0.0,c=0.0;r=k;k=k+48|0;f=r;l=+b[i>>3];c=+b[i+16>>3]-l;n=+b[i+24>>3];t=n-+b[i+8>>3];n=+(~~(+b[A+232>>3]-+b[A+216>>3])>>>0)-n;a[f>>2]=a[e+8>>2];b[f+8>>3]=c;b[f+16>>3]=t;b[f+24>>3]=l;b[f+32>>3]=n;gg(A,84310,f);kg(A,84402)|0;k=r;return}function Sm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return}function Pm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0;v=k;k=k+160|0;B=v+152|0;d=v+136|0;h=v+120|0;c=v+112|0;w=v+104|0;s=v+88|0;t=v+72|0;l=v+64|0;u=v;if(!A)vA(111282,84407,212,84426);if(!e)vA(111312,84407,213,84426);o=e+8|0;if(!(a[o>>2]|0))vA(111315,84407,214,84426);if(a[e+52>>2]|0){a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];e=u+32|0;i=i+16|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];f=+b[u>>3];b[u+16>>3]=f;b[u+24>>3]=+b[u+40>>3];b[u+48>>3]=+b[e>>3];n=+b[u+8>>3];b[u+56>>3]=n;if(r<<24>>24){gg(A,84447,l);e=0;while(1){if((e|0)==4)break;g=+b[u+(e<<4)+8>>3];b[t>>3]=+b[u+(e<<4)>>3];b[t+8>>3]=g;gg(A,84450,t);e=e+1|0}b[s>>3]=f;b[s+8>>3]=n;gg(A,84450,s);s=a[o>>2]|0;a[w>>2]=4;a[w+4>>2]=s;gg(A,84457,w)}gg(A,84447,c);e=0;while(1){if((e|0)==4)break;g=+b[u+(e<<4)+8>>3];b[h>>3]=+b[u+(e<<4)>>3];b[h+8>>3]=g;gg(A,84450,h);e=e+1|0}b[d>>3]=f;b[d+8>>3]=n;gg(A,84450,d);d=a[o>>2]|0;a[B>>2]=4;a[B+4>>2]=d;gg(A,84472,B)}k=v;return}function Om(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+112|0;w=u+24|0;s=u+16|0;c=u;l=u+28|0;if(!A)vA(111282,84407,153,84488);if(!e)vA(111312,84407,154,84488);if(!(a[e+8>>2]|0))vA(111315,84407,155,84488);t=e+52|0;if(a[t>>2]|0){f=e+60|0;n=a[f>>2]|0;if((n|0)==100)n=18;else{F5[n&127](e);a[t>>2]=0;a[f>>2]=0;a[e+56>>2]=0;n=10}}else n=10;do{if((n|0)==10){if(!((Rg(e)|0)<<24>>24))break;f=t6(a[e+20>>2]|0)|0;if((a[e+24>>2]&-2|0)==6){D3(f,l)|0;l=a[l+36>>2]|0;a[e+56>>2]=l;f=T2(0,l,1,1,f,0)|0;a[t>>2]=f;r[e+16>>0]=1}else f=a[t>>2]|0;if(f|0)a[e+60>>2]=100;Hg(e);if(a[t>>2]|0)n=18}}while(0);if((n|0)==18){o=+b[i+8>>3]-+(a[e+36>>2]|0);b[c>>3]=+b[i>>3]-+(a[e+32>>2]|0);b[c+8>>3]=o;gg(A,84506,c);if(!(r[e+16>>0]|0)){a[s>>2]=a[e+12>>2];gg(A,84537,s)}else pJ(A,e);gg(A,84552,w)}k=u;return}function Km(A){A=A|0;U2(a[A+52>>2]|0,a[A+56>>2]|0)|0;return}function _m(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+80|0;f=n+48|0;if(!A)vA(111282,84407,121,84562);r=a[A+16>>2]|0;if(!r)vA(99902,84407,123,84562);if(!e)vA(111312,84407,124,84562);i=e+8|0;if(!(a[i>>2]|0))vA(111315,84407,125,84562);if(!(a[r+8>>2]|0))vA(138879,84407,128,84562);else{gg(A,84582,n);gg(A,84591,n+8|0);gg(A,84618,n+16|0);gg(A,84643,n+24|0);gg(A,84672,n+32|0);gg(A,84700,n+40|0);a[f>>2]=a[i>>2];gg(A,84707,f);gg(A,84746,n+56|0);gg(A,111008,n+64|0);k=n;return}}function qm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0.0;l=k;k=k+128|0;n=l+80|0;f=l;if(!A)vA(111282,84407,97,84751);if(!e)vA(111312,84407,98,84751);r=a[e+8>>2]|0;if(!r)vA(111315,84407,99,84751);else{s=+b[i>>3];t=~~(s+(s>=0.0?.5:-.5));s=+b[i+8>>3];e=~~(s+(s>=0.0?.5:-.5));s=+b[i+16>>3];c=~~(s+(s>=0.0?.5:-.5));s=+b[i+24>>3];i=~~(s+(s>=0.0?.5:-.5));a[f>>2]=2;a[f+4>>2]=5;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=-1;a[f+24>>2]=1;a[f+28>>2]=-1;a[f+32>>2]=0;b[f+40>>3]=0.0;a[f+48>>2]=0;a[f+52>>2]=0;a[f+56>>2]=0;a[f+60>>2]=0;a[f+64>>2]=0;a[f+68>>2]=5;a[f+72>>2]=0;a[f+76>>2]=r;gg(A,84770,f);a[n>>2]=t;a[n+4>>2]=e;a[n+8>>2]=t;a[n+12>>2]=i;a[n+16>>2]=c;a[n+20>>2]=i;a[n+24>>2]=c;a[n+28>>2]=e;a[n+32>>2]=t;a[n+36>>2]=e;gg(A,84828,n);k=l;return}}function $m(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0;u=k;k=k+96|0;w=u+56|0;s=u+32|0;c=u;l=+b[i>>3];t=+b[i+16>>3]-l;f=+b[i+24>>3];n=f-+b[i+8>>3];if(!A)vA(111282,84407,53,84860);if(!e)vA(111312,84407,54,84860);r=e+8|0;if(!(a[r>>2]|0))vA(111315,84407,55,84860);kg(A,84879)|0;kg(A,a[r>>2]|0)|0;r=A+360|0;f=-f;if(!(a[r>>2]|0)){b[w>>3]=t;b[w+8>>3]=n;b[w+16>>3]=l;b[w+24>>3]=f;gg(A,85008,w)}else{b[c>>3]=n;b[c+8>>3]=t;b[c+16>>3]=l;b[c+24>>3]=f;gg(A,84899,c);a[s>>2]=a[r>>2];b[s+8>>3]=l;b[s+16>>3]=f;gg(A,84978,s)}kg(A,85087)|0;k=u;return}function AL(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;eL(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;iL(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function eL(A){A=A|0;var e=0,i=0;Td(A,137447,304,1)|0;FR(A);DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);A=A+16|0;a[(a[A>>2]|0)+176>>2]=0;e=qF(20)|0;i=a[A>>2]|0;a[i+172>>2]=e;a[i+184>>2]=0;i=qF(20)|0;e=a[A>>2]|0;a[e+180>>2]=i;a[e+200>>2]=0;e=qF(12)|0;i=a[A>>2]|0;a[i+196>>2]=e;a[i+192>>2]=0;i=qF(12)|0;e=a[A>>2]|0;a[e+188>>2]=i;a[e+208>>2]=0;e=qF(12)|0;A=a[A>>2]|0;a[A+204>>2]=e;a[A+216>>2]=1;return}function iL(A){A=A|0;var e=0,i=0,n=0,l=0,t=0;Td(A,137460,176,1)|0;VR(A)|0;l=kR(A,a[47174]|0,1,0)|0;n=A+16|0;a[(a[n>>2]|0)+156>>2]=l;l=dR(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,a[47168]|0,195059)|0;t=dR(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,a[47168]|0,195059)|0;e=a[n>>2]|0;i=e+154|0;f[i>>1]=1;f[e+168>>1]=1;if((l|0)==(t|0)&(r[l>>0]|0)!=0){f[i>>1]=1e3;t=e+156|0;a[t>>2]=(a[t>>2]|0)*100}if(qY(A)|0){t=a[n>>2]|0;f[t+154>>1]=0;a[t+156>>2]=0}t=(kR(A,a[47187]|0,0,0)|0)&255;r[(a[n>>2]|0)+152>>0]=t;t=(kR(A,a[47175]|0,1,0)|0)&65535;f[(a[n>>2]|0)+170>>1]=t;return}function rL(A){A=A|0;var e=0,i=0;fL(a[(a[A+16>>2]|0)+192>>2]|0);i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}aL(i);i=bd(A,i)|0}nL(A);return}function fL(A){A=A|0;var e=0,i=0,f=0,n=0;while(1){if(!A)break;f=A+16|0;n=a[(a[f>>2]|0)+164>>2]|0;lL(A);e=a[f>>2]|0;if((r[e+156>>0]|0)!=1){A=n;continue}i=a[e+180>>2]|0;if(i){L2(i);e=a[f>>2]|0}i=a[e+172>>2]|0;if(i){L2(i);e=a[f>>2]|0}L2(e);L2(A);A=n}return}function aL(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=a[r>>2]|0;i=a[e+172>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+180>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+188>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+196>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+204>>2]|0;if(i){L2(i);e=a[r>>2]|0}TF(a[e+104>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);e=a[(a[r>>2]|0)+8>>2]|0;if(e|0)F5[a[(a[e+4>>2]|0)+4>>2]&127](A);Sd(A,137447)|0;return}function nL(A){A=A|0;var e=0,i=0,r=0;e=RB(A)|0;while(1){if(!e)break;nL(e);e=HB(e)|0}if(Td(A,137483,0,1)|0){r=A+16|0;e=a[r>>2]|0;i=a[e+184>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+268>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+216>>2]|0;if(i){L2(i);e=a[r>>2]|0}do{if(a[e+196>>2]|0){i=f[e+236>>1]|0;while(1){if((i|0)>(f[e+238>>1]|0))break;L2(a[(a[e+196>>2]|0)+(i<<6)+12>>2]|0);i=i+1|0;e=a[r>>2]|0}i=a[e+196>>2]|0;if((f[e+236>>1]|0)==-1){L2(i+-64|0);break}else{L2(i);break}}}while(0);if((Zd(A)|0)!=(A|0)){TF(a[(a[r>>2]|0)+12>>2]|0);Sd(A,137483)|0}}return}function lL(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=a[r>>2]|0;e=a[i+176>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=a[(a[i+172>>2]|0)+(A<<2)>>2]|0;CW(e);L2(a[e+16>>2]|0);L2(e);e=A;i=a[r>>2]|0}e=a[i+184>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=a[(a[(a[r>>2]|0)+180>>2]|0)+(A<<2)>>2]|0;CW(e);L2(a[e+16>>2]|0);L2(e);e=A}return}function tL(A){A=A|0;if(vh(A)|0)cL(A);VJ(A);return}function cL(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=k;k=k+48|0;n=l+32|0;f=l;e=sC(A,-1,8)|0;i=wC(A,0,f)|0;bC(A,2,8,f)|0;i=(i|0)==0;r=(e|0)<0;if(r&i)bL(A);else{if(i)a[f+16>>2]=3;else e=r?8:e;a[f+8>>2]=e;a[f+20>>2]=0;r=YE(A,n,0)|0;e=a[n>>2]|0;do{if((e|0)==1){bL(A);e=0}else{if(a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]|0){bL(A);e=0;break}a[f+12>>2]=1;i=0;while(1){if((i|0)>=(e|0))break;e=a[r+(i<<2)>>2]|0;sL(e,A);bL(e);i=i+1|0;e=a[n>>2]|0}wL(A);cC(a[n>>2]|0,r,A,f)|0;uL(A);kL(a[n>>2]|0,r,A);e=0}}while(0);while(1){if((e|0)>=(a[n>>2]|0))break;f=r+(e<<2)|0;L2(a[(a[(a[f>>2]|0)+16>>2]|0)+8>>2]|0);nL(a[f>>2]|0);Cd(A,a[f>>2]|0)|0;e=e+1|0}L2(r)}k=l;return}function bL(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+48|0;b=s+40|0;i=s;t=kR(A,Yo(A,0,85102,0)|0,-1,1)|0;zH(A,10);e=_Y(A,i)|0;hL(A,A);AL(A);r=(t|0)==1;n=i+32|0;l=(t|0)==2;t=(t|0)==3;c=i+28|0;i=i+24|0;while(1){Jz(A,e);if(r){e=3;break}if(a[n>>2]|0){ao(0,85108,b)|0;a[i>>2]=0;e=0}SW(A,(e|0)!=0&1);if(l){e=7;break}Ky(A,e);if(t){e=9;break}w=(a[c>>2]|0)+-1|0;a[c>>2]=w;if(!((w|0)!=0&(a[i>>2]|0)!=0)){e=11;break}}if((e|0)==3)dL(A,1);else if((e|0)==7)dL(A,2);else if((e|0)==9)dL(A,2);else if((e|0)==11){if(f[(a[A+16>>2]|0)+136>>1]&16)BL(A);zY(A);CL(A);if((gR(po(A,85199)|0)|0)<<24>>24)GD(A)}k=s;return}function sL(A,e){A=A|0;e=e|0;var i=0,f=0;Td(A,137483,280,1)|0;i=qF(96)|0;A=a[A+16>>2]|0;a[A+8>>2]=i;e=a[e+16>>2]|0;f=a[e+8>>2]|0;b[i>>3]=+b[f>>3];b[i+24>>3]=+b[f+24>>3];a[A+144>>2]=a[e+144>>2];r[A+115>>0]=r[e+115>>0]|0;a[A+116>>2]=a[e+116>>2];a[A+248>>2]=a[e+248>>2];a[A+252>>2]=a[e+252>>2];a[A+244>>2]=a[e+244>>2];return}function wL(A){A=A|0;var e=0,i=0,r=0;e=qF((vh(A)|0)<<4)|0;i=cd(A)|0;while(1){if(!i)break;r=a[i+16>>2]|0;a[r+132>>2]=e;b[e>>3]=+b[r+16>>3]*.013888888888888888;b[e+8>>3]=+b[r+24>>3]*.013888888888888888;e=e+16|0;i=bd(A,i)|0}return}function uL(A){A=A|0;var e=0,i=0,r=0,f=0;r=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;e=r;i=cd(A)|0;while(1){if(!i)break;f=a[i+16>>2]|0;a[f+132>>2]=0;b[f+16>>3]=+b[e>>3]*72.0;b[f+24>>3]=+b[e+8>>3]*72.0;e=e+16|0;i=bd(A,i)|0}L2(r);return}function kL(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;r=0;f=0;while(1){if((r|0)>=(A|0))break;t=(a[(a[(a[e+(r<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;r=r+1|0;f=t}t=i+16|0;a[(a[t>>2]|0)+180>>2]=f;n=qF((f<<2)+4|0)|0;a[(a[t>>2]|0)+184>>2]=n;n=0;r=1;while(1){if((n|0)>=(A|0))break;l=(a[e+(n<<2)>>2]|0)+16|0;f=1;while(1){i=a[l>>2]|0;if((f|0)>(a[i+180>>2]|0))break;i=zE(a[(a[i+184>>2]|0)+(f<<2)>>2]|0)|0;a[(a[(a[t>>2]|0)+184>>2]|0)+(r<<2)>>2]=i;oL(a[(a[(a[l>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,i);f=f+1|0;r=r+1|0}n=n+1|0}return}function oL(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;Td(e,137483,280,1)|0;n=e+16|0;e=(a[n>>2]|0)+16|0;f=A+16|0;A=(a[f>>2]|0)+16|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];a[e+16>>2]=a[A+16>>2];a[e+20>>2]=a[A+20>>2];a[e+24>>2]=a[A+24>>2];a[e+28>>2]=a[A+28>>2];A=a[f>>2]|0;e=a[n>>2]|0;r[e+275>>0]=r[A+275>>0]|0;e=e+48|0;A=A+48|0;i=e+64|0;do{a[e>>2]=a[A>>2];e=e+4|0;A=A+4|0}while((e|0)<(i|0));A=a[(a[f>>2]|0)+180>>2]|0;a[(a[n>>2]|0)+180>>2]=A;e=qF((A<<2)+4|0)|0;a[(a[n>>2]|0)+184>>2]=e;e=1;while(1){i=a[f>>2]|0;if((e|0)>(A|0))break;i=zE(a[(a[i+184>>2]|0)+(e<<2)>>2]|0)|0;a[(a[(a[n>>2]|0)+184>>2]|0)+(e<<2)>>2]=i;oL(a[(a[(a[f>>2]|0)+184>>2]|0)+(e<<2)>>2]|0,i);e=e+1|0}f=i+12|0;a[(a[n>>2]|0)+12>>2]=a[f>>2];a[f>>2]=0;return}function hL(A,e){A=A|0;e=e|0;if((Zd(A)|0)!=(A|0))Td(A,137483,280,1)|0;if((A|0)==(e|0))a[(a[(Zd(A)|0)+16>>2]|0)+188>>2]=A;A=RB(A)|0;while(1){if(!A)break;hL(A,e);A=HB(A)|0}return}function dL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+1040|0;b=s+8|0;c=s;r=s+16|0;f=Yo(A,1,87171,195059)|0;n=Yo(A,1,85242,195059)|0;l=(e|0)>0;i=(e|0)==1;e=cd(A)|0;while(1){if(!e)break;if(l?(t=e+16|0,a[c>>2]=a[(a[t>>2]|0)+232>>2],P4(r,137395,c)|0,Vo(e,f,r)|0,!i):0){a[b>>2]=a[(a[t>>2]|0)+236>>2];P4(r,137395,b)|0;Vo(e,n,r)|0}e=bd(A,e)|0}k=s;return}function BL(A){A=A|0;var e=0,i=0,r=0;i=XB(A,86675,0)|0;if(i|0){e=cd(i)|0;while(1){if(!e)break;r=bd(i,e)|0;yW(A,e);vL(A,e);aL(e);Ed(A,e)|0;e=r}UB(A,i)|0}return}function vL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;c=a[(a[e+16>>2]|0)+232>>2]|0;t=A+16|0;A=a[(a[t>>2]|0)+196>>2]|0;i=a[A+(c<<6)>>2]|0;l=A+(c<<6)+4|0;n=0;r=0;while(1){if((r|0)>=(i|0)){f=7;break}f=a[(a[l>>2]|0)+(r<<2)>>2]|0;r=r+1|0;if((f|0)==(e|0)){f=4;break}else n=f}if((f|0)==4){while(1){if((r|0)>=(i|0))break;f=a[A+(c<<6)+4>>2]|0;a[f+(r+-1<<2)>>2]=a[f+(r<<2)>>2];f=a[(a[t>>2]|0)+196>>2]|0;r=r+1|0;i=a[f+(c<<6)>>2]|0;A=f;f=4}a[A+(c<<6)>>2]=i+-1}else if((f|0)==7?(n|0)!=(e|0):0)vA(85208,85215,248,85225);return}function gL(A){A=A|0;return a[(a[(Zd(A)|0)+16>>2]|0)+188>>2]|0}function EL(A,e){A=A|0;e=e|0;var i=0;i=r[A+28>>0]|0;if(r[e+28>>0]|0)if(i<<24>>24){i=~~(+b[A>>3]-+b[e>>3]);if(!i)i=~~(+b[A+8>>3]-+b[e+8>>3])}else i=-1;else i=i<<24>>24!=0&1;return i|0}function CL(A){A=A|0;IL(A,1);return}function IL(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0.0;_=k;k=k+656|0;R=_+592|0;X=_+552|0;i=_+544|0;T=_+96|0;j=_;K=_+632|0;S=A+16|0;O=f[(a[S>>2]|0)+136>>1]&14;H=O&65535;p=T+16|0;a[p>>2]=_+368;U=j+16|0;a[U>>2]=_+192;do{if(O<<16>>16){x=O<<16>>16==4;do{if(x){ZL(A);if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1))Q=9;else{ao(0,85248,i)|0;Q=9}}else if(O<<16>>16==8){ZL(A);if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)){ce(A,0);w=0;s=0;c=0;break}else{GL(A);ce(A,1);w=0;s=0;c=0;break}}else Q=9}while(0);if((Q|0)==9){ID(A);if(PJ()|0)break;P=qF(96)|0;V=a[(a[S>>2]|0)+248>>2]|0;a[K+8>>2]=(V|0)/4|0;a[K+12>>2]=V;c=qF(512)|0;z=K+4|0;a[z>>2]=0;a[K>>2]=0;t=a[S>>2]|0;L=f[t+236>>1]|0;W=0;J=0;N=c;y=c;s=c;w=c;u=c;D=0;M=0;A:while(1){if((L|0)>(f[t+238>>1]|0))break;o=a[t+196>>2]|0;l=a[o+(L<<6)>>2]|0;Y=l+W|0;n=a[o+(L<<6)+4>>2]|0;i=a[n>>2]|0;if(!i)i=D;else{q=+(D|0);i=a[i+16>>2]|0;Z=+b[i+16>>3]-+b[i+88>>3];i=~~(Z>q?q:Z)}if((l|0)!=0?(F=a[n+(l+-1<<2)>>2]|0,(F|0)!=0):0){Z=+(M|0);n=a[F+16>>2]|0;q=+b[n+96>>3]+ +b[n+16>>3];n=~~(q=(l|0))break;c=a[(a[i+(L<<6)+4>>2]|0)+(I<<2)>>2]|0;C=c+16|0;i=a[C>>2]|0;l=a[i+112>>2]|0;if(l){l=l+16|0;t=a[(a[l>>2]|0)+96>>2]|0;if(!t){Q=21;break A}B=t+56|0;i=i+16|0;a[B>>2]=a[i>>2];a[B+4>>2]=a[i+4>>2];a[B+8>>2]=a[i+8>>2];a[B+12>>2]=a[i+12>>2];r[(a[(a[l>>2]|0)+96>>2]|0)+81>>0]=1;i=a[C>>2]|0}if((r[i+156>>0]|0)!=0?(Q5[a[17300>>2]&63](c)|0)<<24>>24==0:0){h=v;i=d;t=g;c=E;l=u}else{B=0;h=v;t=g;c=E;Q=25}e:do{if((Q|0)==25){while(1){Q=0;o=a[C>>2]|0;l=a[(a[o+180>>2]|0)+(B<<2)>>2]|0;if(!l)break;switch(r[(a[l+16>>2]|0)+112>>0]|0){case 6:case 4:{i=h;l=d;break}default:{QL(l,1,16,64);i=h+1|0;a[d+(h<<2)>>2]=l;if(!(i&127)){n=eV(n,(h<<2)+516|0)|0;l=n;t=n;c=n;w=n;u=n}else l=d}}B=B+1|0;h=i;d=l;Q=25}i=a[o+188>>2]|0;i:do{if(!i)l=u;else{B=0;l=u;while(1){i=a[i+(B<<2)>>2]|0;if(!i)break i;QL(i,2,0,128);u=h+1|0;a[d+(h<<2)>>2]=i;if(!(u&127)){n=eV(l,(h<<2)+516|0)|0;i=n;t=n;c=n;w=n;l=n}else i=d;o=a[C>>2]|0;B=B+1|0;h=u;d=i;i=a[o+188>>2]|0}}}while(0);i=a[o+204>>2]|0;if(!i)i=d;else{if(!(r[o+156>>0]|0)){E=o+96|0;q=+b[E>>3];B=o+240|0;b[E>>3]=+b[B>>3];b[B>>3]=q;B=0;o=d}else{B=0;o=d}while(1){i=a[i+(B<<2)>>2]|0;if(!i){i=o;break e}QL(i,0,0,128);u=h+1|0;a[o+(h<<2)>>2]=i;if(!(u&127)){n=eV(w,(h<<2)+516|0)|0;i=n;t=n;c=n;w=n;l=n}else i=o;B=B+1|0;h=u;o=i;i=a[(a[C>>2]|0)+204>>2]|0}}}}while(0);g=a[S>>2]|0;C=a[g+196>>2]|0;I=I+1|0;v=h;d=i;h=g;g=t;E=c;u=l;l=a[C+(L<<6)>>2]|0;i=C}L=L+1|0;W=Y;J=v;N=d;y=g;t=h;s=E;c=n;D=m;M=G}if((Q|0)==21)vA(85316,85329,313,85342);a[K>>2]=D;a[z>>2]=M;K4(y,J,4,58);a[P+84>>2]=qF((W<<5)+11520|0)|0;a[K+16>>2]=qF(L<<5)|0;A:do{if(O<<16>>16==2){i=(a[S>>2]|0)+192|0;while(1){n=a[i>>2]|0;if(!n)break A;l=n+16|0;i=a[l>>2]|0;if((r[i+156>>0]|0)==1?(a[i+104>>2]|0)!=0:0){LL(n);i=a[l>>2]|0}i=i+164|0}}}while(0);G=j+48|0;Q=j+-48|0;m=T+48|0;L=T+-48|0;Z=+(V|0);I=0;A:while(1){if((I|0)>=(J|0))break;E=N+(I<<2)|0;d=a[E>>2]|0;B=WL(d)|0;v=d+16|0;n=a[v>>2]|0;if(!(r[n+44>>0]|0)){n=(r[n+84>>0]|0)==0?B:d;i=n;n=a[n+16>>2]|0}else i=d;l=i+16|0;if(a[n+164>>2]&32){n=a[p>>2]|0;y6(n|0,a[l>>2]|0,176)|0;w=T;u=i;o=w+48|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));a[p>>2]=n;u=a[i>>2]&3;w=a[T>>2]&3;a[((w|0)==3?T:m)+40>>2]=a[((u|0)==2?i:i+-48|0)+40>>2];a[((w|0)==2?T:L)+40>>2]=a[((u|0)==3?i:i+48|0)+40>>2];w=n+16|0;u=(a[l>>2]|0)+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=n+56|0;u=(a[l>>2]|0)+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));r[n+112>>0]=1;a[n+116>>2]=i;i=T}h=i+16|0;C=1;i=I;while(1){g=i+1|0;if((g|0)>=(J|0))break;t=N+(g<<2)|0;i=a[t>>2]|0;if((B|0)!=(WL(i)|0))break;if(!(r[(a[v>>2]|0)+113>>0]|0)){c=i+16|0;n=a[c>>2]|0;if(!(r[n+44>>0]|0)){n=(r[n+84>>0]|0)==0?B:i;i=n;n=a[n+16>>2]|0}l=i+16|0;if(a[n+164>>2]&32){n=a[U>>2]|0;y6(n|0,a[l>>2]|0,176)|0;w=j;u=i;o=w+48|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));a[U>>2]=n;u=a[i>>2]&3;w=a[j>>2]&3;a[((w|0)==3?j:G)+40>>2]=a[((u|0)==2?i:i+-48|0)+40>>2];a[((w|0)==2?j:Q)+40>>2]=a[((u|0)==3?i:i+48|0)+40>>2];w=n+16|0;u=(a[l>>2]|0)+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=n+56|0;u=(a[l>>2]|0)+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));r[n+112>>0]=1;a[n+116>>2]=i}l=a[h>>2]|0;i=n+16|0;w=X;u=l+16|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=R;u=i;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));if(EL(X,R)|0)break;i=n+56|0;w=X;u=l+56|0;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));w=R;u=i;o=w+40|0;do{a[w>>2]=a[u>>2];w=w+4|0;u=u+4|0}while((w|0)<(o|0));if(EL(X,R)|0)break;V=a[v>>2]|0;if((a[V+164>>2]&15|0)==2?(a[V+96>>2]|0)!=(a[(a[c>>2]|0)+96>>2]|0):0)break;if(a[(a[(a[t>>2]|0)+16>>2]|0)+164>>2]&64|0)break}C=C+1|0;i=g}if(x){if((C|0)==1)i=R;else i=qF(C<<2)|0;a[i>>2]=WL(a[E>>2]|0)|0;n=1;while(1){if((n|0)>=(C|0))break;a[i+(n<<2)>>2]=a[E+(n<<2)>>2];n=n+1|0}fN(A,i,C,H,17296);if((C|0)>1)L2(i);I=g;continue}i=a[d>>2]&3;V=a[((i|0)==3?d:d+48|0)+40>>2]|0;i=a[((i|0)==2?d:d+-48|0)+40>>2]|0;n=a[V+16>>2]|0;l=a[n+232>>2]|0;if((V|0)!=(i|0))if((l|0)==(a[(a[i+16>>2]|0)+232>>2]|0)){yL(A,K,P,N,I,C,H);I=g;continue}else{zL(A,K,P,N,I,C,H);I=g;continue}i=a[S>>2]|0;do{if((l|0)==(f[i+238>>1]|0))if((l|0)>0){i=~~(+b[(a[(a[a[(a[i+196>>2]|0)+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[n+24>>3]);break}else{i=~~+b[n+80>>3];break}else if((l|0)==(f[i+236>>1]|0)){i=~~(+b[n+24>>3]-+b[(a[(a[a[(a[i+196>>2]|0)+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{i=a[i+196>>2]|0;q=+b[n+24>>3];V=~~(+b[(a[(a[a[i+(l+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-q);i=~~(q-+b[(a[(a[a[i+(l+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);i=(V|0)<(i|0)?V:i;break}}while(0);LX(P,N,I,C,Z,+((i|0)/2|0|0),17296);i=0;while(1){if((i|0)>=(C|0)){I=g;continue A}n=a[(a[(a[N+(i+I<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(n|0)pR(A,n);i=i+1|0}}i=(a[S>>2]|0)+192|0;while(1){n=a[i>>2]|0;if(!n)break;l=n+16|0;i=a[l>>2]|0;if((r[i+156>>0]|0)==1?(a[i+104>>2]|0)!=0:0){LL(n);pR(A,a[(a[l>>2]|0)+104>>2]|0);i=a[l>>2]|0}i=i+164|0}if(!e){w=P;c=P}else{YL(A);w=P;c=P}}A:do{if((a[47197]|0)!=0|(a[47198]|0)!=0?(a[47203]|0)!=0|(a[47202]|0)!=0:0){t=cd(A)|0;while(1){if(!t)break A;e:do{if(a[47197]|0){i=qo(A,t)|0;while(1){if(!i)break e;n=i+-48|0;l=(a[i>>2]&3|0)==2?i:n;if(a[(a[l+16>>2]|0)+100>>2]|0){VX(l,1)|0;pR(A,a[(a[((a[i>>2]&3|0)==2?i:n)+16>>2]|0)+100>>2]|0)}i=$o(A,i)|0}}}while(0);e:do{if(a[47198]|0){i=Oo(A,t)|0;while(1){if(!i)break e;n=i+16|0;if(a[(a[n>>2]|0)+104>>2]|0?VX(i,0)|0:0)pR(A,a[(a[n>>2]|0)+104>>2]|0);i=_o(A,i)|0}}}while(0);t=bd(A,t)|0}}}while(0);switch(O&15){case 4:case 8:break;default:{L2(s);L2(a[w+84>>2]|0);L2(c);L2(a[K+16>>2]|0);OJ()}}a[47138]=1;a[47139]=1}}while(0);k=_;return}function ZL(A){A=A|0;var e=0,i=0,r=0.0,f=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;if(a[i+204>>2]|0){f=i+96|0;r=+b[f>>3];i=i+240|0;b[f>>3]=+b[i>>3];b[i>>3]=r}e=bd(A,e)|0}return}function GL(A){A=A|0;var e=0,i=0,f=0,n=0;e=(a[A+16>>2]|0)+192|0;A:while(1){f=a[e>>2]|0;if(!f){e=12;break}n=f+16|0;e=a[n>>2]|0;do{if((r[e+156>>0]|0)==1){i=a[e+112>>2]|0;if(!i){i=a[e+104>>2]|0;if(!i)break;LL(f);e=i}else{i=a[(a[i+16>>2]|0)+96>>2]|0;if(!i){e=6;break A}f=i+56|0;e=e+16|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];r[i+81>>0]=1;e=i}pR(A,e);e=a[n>>2]|0}}while(0);e=e+164|0}if((e|0)==6)vA(85516,85329,234,85535);else if((e|0)==12)return}function QL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0;do{if(!e){n=a[A>>2]&3;e=a[((n|0)==3?A:A+48|0)+40>>2]|0;n=a[((n|0)==2?A:A+-48|0)+40>>2]|0;if((e|0)!=(n|0)){e=(a[(a[e+16>>2]|0)+232>>2]|0)==(a[(a[n+16>>2]|0)+232>>2]|0)?2:1;break}e=a[A+16>>2]|0;if(!(r[e+44>>0]|0))e=(r[e+84>>0]|0)==0?8:4;else e=4}}while(0);A:do{if(!i)switch(e|0){case 1:{i=a[A>>2]&3;i=(a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break A}case 2:{i=a[A>>2]&3;i=(a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break A}default:{i=16;break A}}}while(0);a[(a[A+16>>2]|0)+164>>2]=e|f|i;return}function mL(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;W=k;k=k+624|0;G=W+584|0;Z=W+544|0;B=W+368|0;i=W+192|0;v=W+96|0;E=W;g=v+16|0;a[g>>2]=B;C=E+16|0;a[C>>2]=i;L=a[A>>2]|0;m=a[e>>2]|0;I=L+16|0;h=a[I>>2]|0;e=a[h+164>>2]|0;f=e&15;Q=m+16|0;A=a[Q>>2]|0;n=a[A+164>>2]&15;do{if((n|0)==(f|0)){o=WL(L)|0;d=WL(m)|0;w=a[o>>2]|0;n=w&3;f=a[(a[((n|0)==3?o:o+48|0)+40>>2]|0)+16>>2]|0;n=a[(a[((n|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0;l=(a[f+232>>2]|0)-(a[n+232>>2]|0)|0;u=a[d>>2]|0;s=u&3;c=a[(a[((s|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;s=a[(a[((s|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;t=(a[c+232>>2]|0)-(a[s+232>>2]|0)|0;l=(l|0)>-1?l:0-l|0;t=(t|0)>-1?t:0-t|0;if((l|0)!=(t|0)){A=l-t|0;break}n=~~(+b[f+16>>3]-+b[n+16>>3]);n=(n|0)>-1?n:0-n|0;f=~~(+b[c+16>>3]-+b[s+16>>3]);f=(f|0)>-1?f:0-f|0;if((n|0)!=(f|0)){A=n-f|0;break}n=w>>>4;f=u>>>4;if((n|0)!=(f|0)){A=n-f|0;break}if(!(r[h+44>>0]|0)){e=(r[h+84>>0]|0)==0?o:L;n=e;e=a[(a[e+16>>2]|0)+164>>2]|0}else n=L;f=n+16|0;if(e&32){y6(B|0,a[f>>2]|0,176)|0;l=v;t=n;c=l+48|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));a[g>>2]=B;t=a[n>>2]&3;l=a[v>>2]&3;a[((l|0)==3?v:v+48|0)+40>>2]=a[((t|0)==2?n:n+-48|0)+40>>2];a[((l|0)==2?v:v+-48|0)+40>>2]=a[((t|0)==3?n:n+48|0)+40>>2];l=B+16|0;t=(a[f>>2]|0)+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=B+56|0;t=(a[f>>2]|0)+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[B+112>>0]=1;a[B+116>>2]=n;n=v;A=a[Q>>2]|0}if(!(r[A+44>>0]|0)){A=(r[A+84>>0]|0)==0?d:m;f=A;A=a[A+16>>2]|0}else f=m;e=f+16|0;if(!(a[A+164>>2]&32))i=A;else{y6(i|0,a[e>>2]|0,176)|0;l=E;t=f;c=l+48|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));a[C>>2]=i;t=a[f>>2]&3;l=a[E>>2]&3;a[((l|0)==3?E:E+48|0)+40>>2]=a[((t|0)==2?f:f+-48|0)+40>>2];a[((l|0)==2?E:E+-48|0)+40>>2]=a[((t|0)==3?f:f+48|0)+40>>2];l=i+16|0;t=(a[e>>2]|0)+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=i+56|0;t=(a[e>>2]|0)+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));r[i+112>>0]=1;a[i+116>>2]=f}e=a[n+16>>2]|0;A=i+16|0;l=Z;t=e+16|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=G;t=A;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=EL(Z,G)|0;if(!A){A=i+56|0;l=Z;t=e+56|0;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));l=G;t=A;c=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));A=EL(Z,G)|0;if(!A){e=a[(a[I>>2]|0)+164>>2]&192;A=a[(a[Q>>2]|0)+164>>2]&192;if((e|0)==(A|0)){A=((a[L>>2]|0)>>>4)-((a[m>>2]|0)>>>4)|0;break}else{A=e-A|0;break}}}}else A=n-f|0}while(0);k=W;return A|0}function LL(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0;f=A+16|0;e=a[f>>2]|0;if(a[e+176>>2]|0){e=a[e+180>>2]|0;while(1){e=(a[e>>2]|0)+16|0;i=a[e>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}i=a[i+96>>2]|0;n=+b[i+24>>3];l=+b[i+32>>3];i=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=a[f>>2]|0;f=a[(a[e>>2]|0)+96>>2]|0;b[f+56>>3]=(i?l:n)*.5+ +b[A+16>>3];b[f+64>>3]=+b[A+24>>3];r[f+81>>0]=1}return}function WL(A){A=A|0;var e=0,i=0;while(1){e=a[A+16>>2]|0;i=a[e+172>>2]|0;if(!i)break;else A=i}while(1){e=a[e+116>>2]|0;if(!e)break;A=e;e=a[e+16>>2]|0}return A|0}function yL(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0.0,y=0.0,z=0.0,Y=0.0;m=k;k=k+1712|0;I=m+1664|0;B=m+1488|0;v=m+1392|0;Q=m+1696|0;Z=m+696|0;G=m;o=v+16|0;a[o>>2]=B;h=a[f+(n<<2)>>2]|0;d=h+16|0;c=a[d>>2]|0;g=r[c+113>>0]|0;if(a[c+164>>2]&32){y6(B|0,c|0,176)|0;c=v;w=h;u=c+48|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));a[o>>2]=B;c=a[v>>2]&3;a[((c|0)==3?v:v+48|0)+40>>2]=a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2];a[((c|0)==2?v:v+-48|0)+40>>2]=a[((a[h>>2]&3|0)==3?h:h+48|0)+40>>2];c=B+16|0;w=(a[d>>2]|0)+56|0;u=c+40|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));c=B+56|0;w=(a[d>>2]|0)+16|0;u=c+40|0;do{a[c>>2]=a[w>>2];c=c+4|0;w=w+4|0}while((c|0)<(u|0));r[B+112>>0]=1;a[B+116>>2]=h;h=v}c=1;while(1){if((c|0)>=(l|0)){C=6;break}if(!(r[(a[(a[f+(c+n<<2)>>2]|0)+16>>2]|0)+113>>0]|0))c=c+1|0;else{C=7;break}}A:do{if((C|0)==6)if(!(g<<24>>24)){c=a[h+16>>2]|0;if(a[c+96>>2]|0){iW(A,e,i,h,t);break}if((t|0)==2){Q=a[h>>2]&3;rW(a[((Q|0)==3?h:h+48|0)+40>>2]|0,a[((Q|0)==2?h:h+-48|0)+40>>2]|0,f,n,l,2);break}v=r[c+49>>0]|0;g=r[c+89>>0]|0;if(!(v<<24>>24==1&g<<24>>24!=4)?!(v<<24>>24!=4&g<<24>>24==1):0){o=a[h>>2]&3;u=a[((o|0)==3?h:h+48|0)+40>>2]|0;o=a[((o|0)==2?h:h+-48|0)+40>>2]|0;c=a[u+16>>2]|0;w=a[c+232>>2]|0;if((w|0)>0){g=a[(a[A+16>>2]|0)+196>>2]|0;v=w+~(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;s=+b[(a[(a[a[g+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[g+(v<<6)+16>>3]-+b[c+24>>3]-+b[g+(w<<6)+24>>3]}else s=+(a[(a[A+16>>2]|0)+252>>2]|0);L=+(l+1|0);E=+(a[e+12>>2]|0)/L;s=s/L;aW(A,e,i,u,h,Z,1);aW(A,e,i,o,h,G,0);B=Z+52|0;v=G+52|0;o=(t|0)==10;h=i+80|0;c=0;while(1){if((c|0)>=(l|0))break A;d=a[f+(c+n<<2)>>2]|0;u=a[B>>2]|0;w=u+-1|0;Y=+b[Z+56+(w<<5)>>3];z=+b[Z+56+(w<<5)+16>>3];y=+b[Z+56+(w<<5)+24>>3];b[19215]=Y;b[19216]=y;c=c+1|0;L=+(c|0);W=E*L;b[19217]=z+W;L=y+s*L;b[19218]=L;b[19219]=Y;b[19220]=L;w=(a[v>>2]|0)+-1|0;Y=+b[G+56+(w<<5)+16>>3];b[19221]=Y;b[19222]=L+s;y=+b[G+56+(w<<5)>>3];z=+b[G+56+(w<<5)+24>>3];b[19225]=Y;b[19224]=z;b[19223]=y-W;b[19226]=L;w=0;while(1){if((w|0)>=(u|0)){w=0;break}u=Z+56+(w<<5)|0;a[I>>2]=a[u>>2];a[I+4>>2]=a[u+4>>2];a[I+8>>2]=a[u+8>>2];a[I+12>>2]=a[u+12>>2];a[I+16>>2]=a[u+16>>2];a[I+20>>2]=a[u+20>>2];a[I+24>>2]=a[u+24>>2];a[I+28>>2]=a[u+28>>2];CX(i,I);w=w+1|0;u=a[B>>2]|0}while(1){if((w|0)==3)break;t=153720+(w<<5)|0;a[I>>2]=a[t>>2];a[I+4>>2]=a[t+4>>2];a[I+8>>2]=a[t+8>>2];a[I+12>>2]=a[t+12>>2];a[I+16>>2]=a[t+16>>2];a[I+20>>2]=a[t+20>>2];a[I+24>>2]=a[t+24>>2];a[I+28>>2]=a[t+28>>2];CX(i,I);w=w+1|0}u=a[v>>2]|0;while(1){w=u+-1|0;if((u|0)<=0)break;u=G+56+(w<<5)|0;a[I>>2]=a[u>>2];a[I+4>>2]=a[u+4>>2];a[I+8>>2]=a[u+8>>2];a[I+12>>2]=a[u+12>>2];a[I+16>>2]=a[u+16>>2];a[I+20>>2]=a[u+20>>2];a[I+24>>2]=a[u+24>>2];a[I+28>>2]=a[u+28>>2];CX(i,I);u=w}if(o)w=KJ(i,Q)|0;else w=iN(i,Q)|0;u=a[Q>>2]|0;if(!u)break A;gX(d,a[((a[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,w,u,17296);a[h>>2]=0}}fW(A,e,i,f,n,l,h,(t|0)==10&1)}else C=7}while(0);if((C|0)==7)eW(A,f,n,l,h,t);k=m;return}function zL(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0;eA=k;k=k+2576|0;x=eA+2528|0;q=eA+2568|0;c=eA+2352|0;w=eA+2176|0;v=eA+1904|0;K=eA+1808|0;$=eA+1712|0;T=eA+1016|0;j=eA+320|0;S=eA+256|0;O=eA+2564|0;_=eA+2560|0;G=eA+288|0;Q=eA+224|0;J=eA+192|0;N=eA+160|0;X=eA+128|0;R=eA+96|0;H=eA+64|0;p=eA+32|0;P=eA;B=v+16|0;a[B>>2]=c;u=K+16|0;a[u>>2]=w;AA=$+16|0;a[AA>>2]=eA+2e3;if(!(a[46734]|0)){a[46734]=$F(32e3)|0;a[46735]=$F(32e3)|0;a[46736]=2e3;a[46737]=2e3}g=a[f+(n<<2)>>2]|0;V=a[g>>2]&3;o=g+48|0;h=g+-48|0;V=(a[(a[(a[((V|0)==3?g:o)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((V|0)==2?g:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;d=g+16|0;if((((V|0)>-1?V:0-V|0)|0)<=1){c=a[d>>2]|0;if(!(a[c+164>>2]&32)){V=g;w=0}else{w=a[B>>2]|0;y6(w|0,c|0,176)|0;C=v;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[B>>2]=w;C=a[v>>2]&3;a[((C|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];a[((C|0)==2?v:v+-48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=w+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[B>>2]|0;C=c+56|0;I=(a[d>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;w=0;F=12}}else{y6(c|0,a[d>>2]|0,176)|0;C=v;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));C=v+48|0;I=o;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[B>>2]=c;c=a[d>>2]|0;if(!(a[c+164>>2]&32)){y6(w|0,c|0,176)|0;C=K;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[u>>2]=w;u=a[v>>2]|0;a[((u&3|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=K+48|0;I=o;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0))}else{w=a[u>>2]|0;y6(w|0,c|0,176)|0;C=K;I=g;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[u>>2]=w;C=a[K>>2]&3;a[((C|0)==3?K:K+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];a[((C|0)==2?K:K+-48|0)+40>>2]=a[((a[g>>2]&3|0)==3?g:o)+40>>2];C=w+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[u>>2]|0;C=c+56|0;I=(a[d>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;a[c+116>>2]=g;u=a[v>>2]|0;a[((u&3|0)==3?v:v+48|0)+40>>2]=a[((a[g>>2]&3|0)==2?g:h)+40>>2];C=(a[B>>2]|0)+16|0;I=(a[d>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0))}c=WL(g)|0;while(1){w=a[(a[c+16>>2]|0)+172>>2]|0;if(!w)break;else c=w}a[((u&3|0)==2?v:v+-48|0)+40>>2]=a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2];c=a[B>>2]|0;r[c+84>>0]=0;r[c+112>>0]=1;w=c+56|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;w=1;F=12}if((F|0)==12){a[c+116>>2]=g;V=v}D=(t|0)==2;if(D?(E=FL(A,V,a[46734]|0,q)|0,a[_>>2]=E,(E|0)!=0):0)F=63;else F=15;A:do{if((F|0)==15){Y=(t|0)==10;a[_>>2]=0;u=a[V>>2]&3;c=a[((u|0)==3?V:V+48|0)+40>>2]|0;u=a[((u|0)==2?V:V+-48|0)+40>>2]|0;a[q>>2]=u;VL(G,A,e,c,0,V);a[T>>2]=a[G>>2];a[T+4>>2]=a[G+4>>2];a[T+8>>2]=a[G+8>>2];a[T+12>>2]=a[G+12>>2];a[T+16>>2]=a[G+16>>2];a[T+20>>2]=a[G+20>>2];a[T+24>>2]=a[G+24>>2];a[T+28>>2]=a[G+28>>2];a[S>>2]=a[G>>2];a[S+4>>2]=a[G+4>>2];a[S+8>>2]=a[G+8>>2];a[S+12>>2]=a[G+12>>2];a[S+16>>2]=a[G+16>>2];a[S+20>>2]=a[G+20>>2];IX(i,V,1,T,JL(c)|0);m=T+52|0;M=(a[m>>2]|0)+-1|0;W=S+24|0;b[W>>3]=+b[T+56+(M<<5)+24>>3];y=S+8|0;b[y>>3]=+b[T+56+(M<<5)+8>>3];M=a[c+16>>2]|0;z=A+16|0;s=+b[M+24>>3]-+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[M+232>>2]<<6)+16>>3];a[x>>2]=a[S>>2];a[x+4>>2]=a[S+4>>2];a[x+8>>2]=a[S+8>>2];a[x+12>>2]=a[S+12>>2];a[x+16>>2]=a[S+16>>2];a[x+20>>2]=a[S+20>>2];a[x+24>>2]=a[S+24>>2];a[x+28>>2]=a[S+28>>2];NL(Q,x,1,s);a[S>>2]=a[Q>>2];a[S+4>>2]=a[Q+4>>2];a[S+8>>2]=a[Q+8>>2];a[S+12>>2]=a[Q+12>>2];a[S+16>>2]=a[Q+16>>2];a[S+20>>2]=a[Q+20>>2];a[S+24>>2]=a[Q+24>>2];a[S+28>>2]=a[Q+28>>2];Q=S+16|0;if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){M=a[m>>2]|0;a[m>>2]=M+1;M=T+56+(M<<5)|0;a[M>>2]=a[S>>2];a[M+4>>2]=a[S+4>>2];a[M+8>>2]=a[S+8>>2];a[M+12>>2]=a[S+12>>2];a[M+16>>2]=a[S+16>>2];a[M+20>>2]=a[S+20>>2];a[M+24>>2]=a[S+24>>2];a[M+28>>2]=a[S+28>>2]}C=A+60|0;L=j+52|0;I=i+56|0;Z=i+69|0;t=i+16|0;G=i+29|0;M=V;h=0;d=-1;e:while(1){B=c;v=0;c=0;g=M;while(1){o=u;E=u;if((r[(a[o+16>>2]|0)+156>>0]|0)!=1)break e;if((Q5[a[17300>>2]&63](o)|0)<<24>>24)break e;u=v|1;iA=153720+(v<<5)|0;XL(J,e,A,a[(a[B+16>>2]|0)+232>>2]|0);a[iA>>2]=a[J>>2];a[iA+4>>2]=a[J+4>>2];a[iA+8>>2]=a[J+8>>2];a[iA+12>>2]=a[J+12>>2];a[iA+16>>2]=a[J+16>>2];a[iA+20>>2]=a[J+20>>2];a[iA+24>>2]=a[J+24>>2];a[iA+28>>2]=a[J+28>>2];if(!c){h=RL(o)|0;c=(h|0)<((r[(a[(a[C>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);h=c?h:h+-2|0;d=c?d:1;c=(c^1)&1}if(!((c|0)==0|(d|0)>0))break;iA=153720+(u<<5)|0;VL(N,A,e,o,g,a[a[(a[o+16>>2]|0)+180>>2]>>2]|0);a[iA>>2]=a[N>>2];a[iA+4>>2]=a[N+4>>2];a[iA+8>>2]=a[N+8>>2];a[iA+12>>2]=a[N+12>>2];a[iA+16>>2]=a[N+16>>2];a[iA+20>>2]=a[N+20>>2];a[iA+24>>2]=a[N+24>>2];a[iA+28>>2]=a[N+28>>2];iA=a[a[(a[E+16>>2]|0)+180>>2]>>2]|0;u=a[iA>>2]&3;B=a[((u|0)==3?iA:iA+48|0)+40>>2]|0;u=a[((u|0)==2?iA:iA+-48|0)+40>>2]|0;a[q>>2]=u;v=v+2|0;d=d+-1|0;g=iA}VL(X,A,e,o,g,a[a[(a[o+16>>2]|0)+180>>2]>>2]|0);a[j>>2]=a[X>>2];a[j+4>>2]=a[X+4>>2];a[j+8>>2]=a[X+8>>2];a[j+12>>2]=a[X+12>>2];a[j+16>>2]=a[X+16>>2];a[j+20>>2]=a[X+20>>2];a[j+24>>2]=a[X+24>>2];a[j+28>>2]=a[X+28>>2];QX(i,g,1,j,JL(a[((a[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)|0);iA=j+56+((a[L>>2]|0)+-1<<5)|0;v=a[E+16>>2]|0;s=+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[v+232>>2]<<6)+24>>3]+ +b[v+24>>3];a[x>>2]=a[iA>>2];a[x+4>>2]=a[iA+4>>2];a[x+8>>2]=a[iA+8>>2];a[x+12>>2]=a[iA+12>>2];a[x+16>>2]=a[iA+16>>2];a[x+20>>2]=a[iA+20>>2];a[x+24>>2]=a[iA+24>>2];a[x+28>>2]=a[iA+28>>2];NL(S,x,4,s);if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[L>>2]|0;a[L>>2]=iA+1;iA=j+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}b[I>>3]=1.5707963267948966;r[Z>>0]=1;HL(i,M,g,T,j,u);if(!Y){c=iN(i,O)|0;u=a[O>>2]|0;if(D&(u|0)>4){iA=c+16|0;a[iA>>2]=a[c>>2];a[iA+4>>2]=a[c+4>>2];a[iA+8>>2]=a[c+8>>2];a[iA+12>>2]=a[c+12>>2];iA=c+32|0;u=c+(u+-1<<4)|0;a[iA>>2]=a[u>>2];a[iA+4>>2]=a[u+4>>2];a[iA+8>>2]=a[u+8>>2];a[iA+12>>2]=a[u+12>>2];z6(c+48|0,u|0,16)|0;a[O>>2]=4;u=4}else F=33}else{c=KJ(i,O)|0;u=a[O>>2]|0;F=33}if((F|0)==33){F=0;if(!u)break A}g=a[_>>2]|0;o=g+u|0;if((o|0)>(a[46736]|0)){a[46736]=o<<1;v=eV(a[46734]|0,o<<5)|0;a[46734]=v;u=a[O>>2]|0}else v=a[46734]|0;B=0;o=g;while(1){if((B|0)>=(u|0))break;iA=v+(o<<4)|0;g=c+(B<<4)|0;a[iA>>2]=a[g>>2];a[iA+4>>2]=a[g+4>>2];a[iA+8>>2]=a[g+8>>2];a[iA+12>>2]=a[g+12>>2];B=B+1|0;o=o+1|0}a[_>>2]=o;u=pL(a[a[(a[E+16>>2]|0)+180>>2]>>2]|0,h,v,_)|0;UL(M,i);o=a[u>>2]&3;c=a[((o|0)==3?u:u+48|0)+40>>2]|0;o=a[((o|0)==2?u:u+-48|0)+40>>2]|0;a[q>>2]=o;M=c+16|0;VL(R,A,e,c,a[a[(a[M>>2]|0)+172>>2]>>2]|0,u);a[T>>2]=a[R>>2];a[T+4>>2]=a[R+4>>2];a[T+8>>2]=a[R+8>>2];a[T+12>>2]=a[R+12>>2];a[T+16>>2]=a[R+16>>2];a[T+20>>2]=a[R+20>>2];a[T+24>>2]=a[R+24>>2];a[T+28>>2]=a[R+28>>2];IX(i,u,1,T,JL(c)|0);iA=T+56+((a[m>>2]|0)+-1<<5)|0;M=a[M>>2]|0;s=+b[M+24>>3]-+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[M+232>>2]<<6)+16>>3];a[x>>2]=a[iA>>2];a[x+4>>2]=a[iA+4>>2];a[x+8>>2]=a[iA+8>>2];a[x+12>>2]=a[iA+12>>2];a[x+16>>2]=a[iA+16>>2];a[x+20>>2]=a[iA+20>>2];a[x+24>>2]=a[iA+24>>2];a[x+28>>2]=a[iA+28>>2];NL(S,x,1,s);if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[m>>2]|0;a[m>>2]=iA+1;iA=T+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}b[t>>3]=-1.5707963267948966;r[G>>0]=1;M=u;u=o}c=v|1;d=153720+(v<<5)|0;XL(H,e,A,a[(a[B+16>>2]|0)+232>>2]|0);a[d>>2]=a[H>>2];a[d+4>>2]=a[H+4>>2];a[d+8>>2]=a[H+8>>2];a[d+12>>2]=a[H+12>>2];a[d+16>>2]=a[H+16>>2];a[d+20>>2]=a[H+20>>2];a[d+24>>2]=a[H+24>>2];a[d+28>>2]=a[H+28>>2];VL(p,A,e,o,g,0);a[j>>2]=a[p>>2];a[j+4>>2]=a[p+4>>2];a[j+8>>2]=a[p+8>>2];a[j+12>>2]=a[p+12>>2];a[j+16>>2]=a[p+16>>2];a[j+20>>2]=a[p+20>>2];a[j+24>>2]=a[p+24>>2];a[j+28>>2]=a[p+28>>2];a[S>>2]=a[p>>2];a[S+4>>2]=a[p+4>>2];a[S+8>>2]=a[p+8>>2];a[S+12>>2]=a[p+12>>2];a[S+16>>2]=a[p+16>>2];a[S+20>>2]=a[p+20>>2];a[S+24>>2]=a[p+24>>2];a[S+28>>2]=a[p+28>>2];d=(w|0)!=0;B=g+-48|0;QX(i,d?K:g,1,j,JL(a[((a[g>>2]&3|0)==2?g:B)+40>>2]|0)|0);iA=(a[L>>2]|0)+-1|0;b[W>>3]=+b[j+56+(iA<<5)+24>>3];b[y>>3]=+b[j+56+(iA<<5)+8>>3];iA=a[E+16>>2]|0;s=+b[(a[(a[z>>2]|0)+196>>2]|0)+(a[iA+232>>2]<<6)+24>>3]+ +b[iA+24>>3];a[x>>2]=a[S>>2];a[x+4>>2]=a[S+4>>2];a[x+8>>2]=a[S+8>>2];a[x+12>>2]=a[S+12>>2];a[x+16>>2]=a[S+16>>2];a[x+20>>2]=a[S+20>>2];a[x+24>>2]=a[S+24>>2];a[x+28>>2]=a[S+28>>2];NL(P,x,4,s);a[S>>2]=a[P>>2];a[S+4>>2]=a[P+4>>2];a[S+8>>2]=a[P+8>>2];a[S+12>>2]=a[P+12>>2];a[S+16>>2]=a[P+16>>2];a[S+20>>2]=a[P+20>>2];a[S+24>>2]=a[P+24>>2];a[S+28>>2]=a[P+28>>2];if(+b[S>>3]<+b[Q>>3]?+b[y>>3]<+b[W>>3]:0){iA=a[L>>2]|0;a[L>>2]=iA+1;iA=j+56+(iA<<5)|0;a[iA>>2]=a[S>>2];a[iA+4>>2]=a[S+4>>2];a[iA+8>>2]=a[S+8>>2];a[iA+12>>2]=a[S+12>>2];a[iA+16>>2]=a[S+16>>2];a[iA+20>>2]=a[S+20>>2];a[iA+24>>2]=a[S+24>>2];a[iA+28>>2]=a[S+28>>2]}HL(i,M,g,T,j,c);if(Y)h=KJ(i,O)|0;else h=iN(i,O)|0;c=a[O>>2]|0;if(!(D&(c|0)>4)){if(!c)break}else{iA=h+16|0;a[iA>>2]=a[h>>2];a[iA+4>>2]=a[h+4>>2];a[iA+8>>2]=a[h+8>>2];a[iA+12>>2]=a[h+12>>2];iA=h+32|0;c=h+(c+-1<<4)|0;a[iA>>2]=a[c>>2];a[iA+4>>2]=a[c+4>>2];a[iA+8>>2]=a[c+8>>2];a[iA+12>>2]=a[c+12>>2];z6(h+48|0,c|0,16)|0;a[O>>2]=4;c=4}u=a[_>>2]|0;w=u+c|0;if((w|0)>(a[46736]|0)){a[46736]=w<<1;o=eV(a[46734]|0,w<<5)|0;a[46734]=o;c=a[O>>2]|0}else o=a[46734]|0;w=0;while(1){if((w|0)>=(c|0))break;iA=o+(u<<4)|0;O=h+(w<<4)|0;a[iA>>2]=a[O>>2];a[iA+4>>2]=a[O+4>>2];a[iA+8>>2]=a[O+8>>2];a[iA+12>>2]=a[O+12>>2];w=w+1|0;u=u+1|0}a[_>>2]=u;UL(M,i);if(d)c=(a[K>>2]&3|0)==2?K:K+-48|0;else c=(a[g>>2]&3|0)==2?g:B;a[q>>2]=a[c+40>>2];E=u;F=63}}while(0);A:do{if((F|0)==63){if((l|0)==1){gX(V,a[q>>2]|0,a[46734]|0,E,17296);break}v=e+12|0;g=E+-1|0;s=+((U(a[v>>2]|0,l+-1|0)|0)/2|0|0);w=a[46734]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=w+(c<<4)|0;b[iA>>3]=+b[iA>>3]-s;c=c+1|0}c=a[46736]|0;if((c|0)>(a[46737]|0)){a[46737]=c;u=eV(a[46735]|0,c<<4)|0;a[46735]=u;w=a[46734]|0}else u=a[46735]|0;c=0;while(1){if((c|0)>=(E|0))break;iA=u+(c<<4)|0;e=w+(c<<4)|0;a[iA>>2]=a[e>>2];a[iA+4>>2]=a[e+4>>2];a[iA+8>>2]=a[e+8>>2];a[iA+12>>2]=a[e+12>>2];c=c+1|0}gX(V,a[q>>2]|0,u,E,17296);d=$+48|0;B=$+-48|0;h=1;while(1){if((h|0)>=(l|0))break A;u=a[f+(h+n<<2)>>2]|0;o=u+16|0;c=a[o>>2]|0;if(a[c+164>>2]&32){w=a[AA>>2]|0;y6(w|0,c|0,176)|0;C=$;I=u;Z=C+48|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));a[AA>>2]=w;C=a[$>>2]&3;a[((C|0)==3?$:d)+40>>2]=a[((a[u>>2]&3|0)==2?u:u+-48|0)+40>>2];a[((C|0)==2?$:B)+40>>2]=a[((a[u>>2]&3|0)==3?u:u+48|0)+40>>2];C=w+16|0;I=(a[o>>2]|0)+56|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));c=a[AA>>2]|0;C=c+56|0;I=(a[o>>2]|0)+16|0;Z=C+40|0;do{a[C>>2]=a[I>>2];C=C+4|0;I=I+4|0}while((C|0)<(Z|0));r[c+112>>0]=1;a[c+116>>2]=u;u=$}o=a[46734]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=o+(c<<4)|0;b[iA>>3]=+b[iA>>3]+ +(a[v>>2]|0);c=c+1|0}w=a[46735]|0;c=0;while(1){if((c|0)>=(E|0))break;iA=w+(c<<4)|0;q=o+(c<<4)|0;a[iA>>2]=a[q>>2];a[iA+4>>2]=a[q+4>>2];a[iA+8>>2]=a[q+8>>2];a[iA+12>>2]=a[q+12>>2];c=c+1|0}gX(u,a[((a[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0,w,E,17296);h=h+1|0}}}while(0);k=eA;return}function YL(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;if((Q5[a[4324]&63](i)|0)<<24>>24?(r=a[(a[i+16>>2]|0)+8>>2]|0,r|0):0)DL(r);i=_o(A,i)|0}e=bd(A,e)|0}return}function DL(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[A+4>>2]|0;n=$F(f*48|0)|0;e=n;i=0;r=(a[A>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((i|0)>=(f|0)){e=0;break}ML(r,e);e=e+48|0;i=i+1|0;r=r+-48|0}while(1){i=a[A>>2]|0;if((e|0)>=(f|0))break;L2(a[i+(e*48|0)>>2]|0);e=e+1|0}L2(i);a[A>>2]=n;return}function ML(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=a[A+4>>2]|0;l=$F(n<<4)|0;i=l;r=0;f=(a[A>>2]|0)+(n+-1<<4)|0;while(1){if((r|0)>=(n|0))break;a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2];i=i+16|0;r=r+1|0;f=f+-16|0}a[e>>2]=l;a[e+4>>2]=n;a[e+8>>2]=a[A+12>>2];a[e+12>>2]=a[A+8>>2];l=e+16|0;n=A+32|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];l=e+32|0;n=A+16|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];return}function FL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+96|0;h=I+80|0;B=I+64|0;d=I+48|0;g=I+32|0;E=I+16|0;C=I;s=e;while(1){v=s+16|0;n=a[v>>2]|0;if(!(r[n+112>>0]|0))break;s=a[n+116>>2]|0}n=a[s>>2]&3;u=a[((n|0)==2?s:s+-48|0)+40>>2]|0;n=a[((n|0)==3?s:s+48|0)+40>>2]|0;s=u+16|0;w=n+16|0;Z=(a[(a[s>>2]|0)+232>>2]|0)-(a[(a[w>>2]|0)+232>>2]|0)|0;switch(((Z|0)>-1?Z:0-Z|0)|0){case 1:{n=0;break}case 2:{if(!(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1))o=6;else n=0;break}default:o=6}do{if((o|0)==6){if((a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(n|0)){a[f>>2]=u;Z=(a[w>>2]|0)+16|0;o=(a[v>>2]|0)+16|0;a[B>>2]=a[Z>>2];a[B+4>>2]=a[Z+4>>2];a[B+8>>2]=a[Z+8>>2];a[B+12>>2]=a[Z+12>>2];a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];$L(g,B,h);o=(a[s>>2]|0)+16|0;Z=(a[v>>2]|0)+56|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];$L(E,B,h)}else{a[f>>2]=n;Z=(a[s>>2]|0)+16|0;o=(a[v>>2]|0)+56|0;a[B>>2]=a[Z>>2];a[B+4>>2]=a[Z+4>>2];a[B+8>>2]=a[Z+8>>2];a[B+12>>2]=a[Z+12>>2];a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];$L(g,B,h);o=(a[w>>2]|0)+16|0;Z=(a[v>>2]|0)+16|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];$L(E,B,h)}n=a[(a[v>>2]|0)+96>>2]|0;if(!n){n=i+16|0;a[i>>2]=a[g>>2];a[i+4>>2]=a[g+4>>2];a[i+8>>2]=a[g+8>>2];a[i+12>>2]=a[g+12>>2];a[n>>2]=a[g>>2];a[n+4>>2]=a[g+4>>2];a[n+8>>2]=a[g+8>>2];a[n+12>>2]=a[g+12>>2];n=i+48|0;Z=i+32|0;a[Z>>2]=a[E>>2];a[Z+4>>2]=a[E+4>>2];a[Z+8>>2]=a[E+8>>2];a[Z+12>>2]=a[E+12>>2];a[n>>2]=a[E>>2];a[n+4>>2]=a[E+4>>2];a[n+8>>2]=a[E+8>>2];a[n+12>>2]=a[E+12>>2];n=4;break}t=+b[n+24>>3];l=+b[n+32>>3];o=(a[(a[(Id(u)|0)+16>>2]|0)+116>>2]&1|0)==0;c=o?l:t;Z=(a[(a[v>>2]|0)+96>>2]|0)+56|0;a[C>>2]=a[Z>>2];a[C+4>>2]=a[Z+4>>2];a[C+8>>2]=a[Z+8>>2];a[C+12>>2]=a[Z+12>>2];a[d>>2]=a[E>>2];a[d+4>>2]=a[E+4>>2];a[d+8>>2]=a[E+8>>2];a[d+12>>2]=a[E+12>>2];a[B>>2]=a[g>>2];a[B+4>>2]=a[g+4>>2];a[B+8>>2]=a[g+8>>2];a[B+12>>2]=a[g+12>>2];a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];Z=(AW(d,B,h)|0)==0;l=(o?t:l)*.5;t=+b[C>>3];if(Z){b[C>>3]=t-l;Z=C+8|0;b[Z>>3]=+b[Z>>3]+c*.5}else{b[C>>3]=t+l;Z=C+8|0;b[Z>>3]=+b[Z>>3]-c*.5}n=i+16|0;a[i>>2]=a[g>>2];a[i+4>>2]=a[g+4>>2];a[i+8>>2]=a[g+8>>2];a[i+12>>2]=a[g+12>>2];a[n>>2]=a[g>>2];a[n+4>>2]=a[g+4>>2];a[n+8>>2]=a[g+8>>2];a[n+12>>2]=a[g+12>>2];n=i+32|0;Z=i+48|0;g=i+64|0;a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];a[n>>2]=a[C>>2];a[n+4>>2]=a[C+4>>2];a[n+8>>2]=a[C+8>>2];a[n+12>>2]=a[C+12>>2];n=i+80|0;Z=i+96|0;a[Z>>2]=a[E>>2];a[Z+4>>2]=a[E+4>>2];a[Z+8>>2]=a[E+8>>2];a[Z+12>>2]=a[E+12>>2];a[n>>2]=a[E>>2];a[n+4>>2]=a[E+4>>2];a[n+8>>2]=a[E+8>>2];a[n+12>>2]=a[E+12>>2];n=7}}while(0);k=I;return n|0}function VL(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0,s=0,w=0.0,u=0,k=0.0,o=0.0,h=0;h=a[f+16>>2]|0;o=+b[h+16>>3];t=o-+b[h+88>>3];w=t+-4.0;s=OL(e,f,n,l,-1)|0;if(!s){u=~~(t+(w>=0.0?-3.5:-4.5));c=a[i>>2]|0;c=(c|0)>(u|0)?u:c}else{c=KL(e,f,s)|0;do{if(!c){u=a[s+16>>2]|0;t=+b[u+240>>3]+ +b[u+16>>3];if(!(r[u+156>>0]|0)){t=+(a[(a[e+16>>2]|0)+248>>2]|0)*.5+t;break}else{t=t+ +(a[i+8>>2]|0);break}}else t=+b[(a[c+16>>2]|0)+32>>3]+ +(a[i+8>>2]|0)}while(0);k=t=0.0?.5:-.5))}k=+(c|0);u=(r[h+156>>0]|0)==1;if(u?(a[h+104>>2]|0)!=0:0)w=o+10.0;else w=o+4.0+ +b[h+96>>3];s=OL(e,f,n,l,1)|0;if(!s){f=~~(w+(w>=0.0?.5:-.5));c=a[i+4>>2]|0;c=(c|0)<(f|0)?f:c}else{c=KL(e,f,s)|0;do{if(!c){f=a[s+16>>2]|0;t=+b[f+16>>3]-+b[f+88>>3];if(!(r[f+156>>0]|0)){t=t-+(a[(a[e+16>>2]|0)+248>>2]|0)*.5;break}else{t=t-+(a[i+8>>2]|0);break}}else t=+b[(a[c+16>>2]|0)+16>>3]-+(a[i+8>>2]|0)}while(0);w=t>w?t:w;c=~~(w+(w>=0.0?.5:-.5))}t=+(c|0);if(u?(a[h+104>>2]|0)!=0:0){t=t-+b[h+96>>3];if(t>3];e=a[(a[e+16>>2]|0)+196>>2]|0;h=a[h+232>>2]|0;w=o-+b[e+(h<<6)+16>>3];o=+b[e+(h<<6)+24>>3]+o;b[A>>3]=k;b[A+8>>3]=w;b[A+16>>3]=t;b[A+24>>3]=o;return}function JL(A){A=A|0;A=a[A+16>>2]|0;if((r[A+156>>0]|0)==1)if((a[A+176>>2]|0)>1)A=1;else A=(a[A+184>>2]|0)>1&1;else A=0;return A|0}function NL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,n=0;n=k;k=k+32|0;f=n;switch(i|0){case 1:{PL(f,+b[e>>3],r,+b[e+16>>3],+b[e+8>>3]);break}case 4:{PL(f,+b[e>>3],+b[e+24>>3],+b[e+16>>3],r);break}default:{}}a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];a[A+16>>2]=a[f+16>>2];a[A+20>>2]=a[f+20>>2];a[A+24>>2]=a[f+24>>2];a[A+28>>2]=a[f+28>>2];k=n;return}function XL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0;s=a[e+16>>2]|0;c=s+(r<<5)|0;t=+b[c>>3];w=s+(r<<5)+8|0;n=+b[w>>3];u=s+(r<<5)+16|0;f=+b[u>>3];s=s+(r<<5)+24|0;l=+b[s>>3];if(t==f){i=a[(a[i+16>>2]|0)+196>>2]|0;k=r+1|0;t=+(a[e>>2]|0);n=+b[i+(k<<6)+24>>3]+ +b[(a[(a[a[i+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(a[e+4>>2]|0);l=+b[(a[(a[a[i+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[i+(r<<6)+16>>3];b[c>>3]=t;b[w>>3]=n;b[u>>3]=f;b[s>>3]=l}b[A>>3]=t;b[A+8>>3]=n;b[A+16>>3]=f;b[A+24>>3]=l;return}function RL(A){A=A|0;var e=0,i=0;A=a[A+16>>2]|0;i=A+16|0;e=0;while(1){A=a[a[A+180>>2]>>2]|0;A=a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;if((r[A+156>>0]|0)!=1)break;if((a[A+184>>2]|0)!=1)break;if((a[A+176>>2]|0)!=1)break;if(+b[A+16>>3]!=+b[i>>3])break;e=e+1|0}return e|0}function HL(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=k;k=k+32|0;c=b;l=TL(e,-1)|0;e=TL(e,1)|0;if(!((l|0)!=0?!(JX(l)|0):0))t=3;do{if((t|0)==3){if(e|0?(JX(e)|0)==0:0)break;l=jL(i,-1)|0;e=jL(i,1)|0;if(l|0?(JX(l)|0)==0:0)break;if(e|0?(JX(e)|0)==0:0)break;l=r+52|0;e=0;while(1){if((e|0)>=(a[l>>2]|0))break;i=r+56+(e<<5)|0;a[c>>2]=a[i>>2];a[c+4>>2]=a[i+4>>2];a[c+8>>2]=a[i+8>>2];a[c+12>>2]=a[i+12>>2];a[c+16>>2]=a[i+16>>2];a[c+20>>2]=a[i+20>>2];a[c+24>>2]=a[i+24>>2];a[c+28>>2]=a[i+28>>2];CX(A,c);e=e+1|0}l=a[A+80>>2]|0;t=n+-3|0;e=0;while(1){if((e|0)>=(n|0))break;r=153720+(e<<5)|0;a[c>>2]=a[r>>2];a[c+4>>2]=a[r+4>>2];a[c+8>>2]=a[r+8>>2];a[c+12>>2]=a[r+12>>2];a[c+16>>2]=a[r+16>>2];a[c+20>>2]=a[r+20>>2];a[c+24>>2]=a[r+24>>2];a[c+28>>2]=a[r+28>>2];CX(A,c);e=e+1|0}i=l+1|0;t=t+i|0;l=a[f+52>>2]|0;while(1){e=l+-1|0;if((l|0)<=0)break;l=f+56+(e<<5)|0;a[c>>2]=a[l>>2];a[c+4>>2]=a[l+4>>2];a[c+8>>2]=a[l+8>>2];a[c+12>>2]=a[l+12>>2];a[c+16>>2]=a[l+16>>2];a[c+20>>2]=a[l+20>>2];a[c+24>>2]=a[l+24>>2];a[c+28>>2]=a[l+28>>2];CX(A,c);l=e}SL(A,i,t)}}while(0);k=b;return}function pL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=a[r>>2]|0;while(1){if(!e)break;A=a[a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;e=e+-1|0}a[r>>2]=f+1;n=i+(f<<4)|0;e=i+(f+-1<<4)|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];f=a[r>>2]|0;a[r>>2]=f+1;f=i+(f<<4)|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];f=i+(a[r>>2]<<4)|0;r=(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16|0;a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];a[f+8>>2]=a[r+8>>2];a[f+12>>2]=a[r+12>>2];return A|0}function UL(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0;w=e+84|0;s=e+80|0;i=0;e=A;A:while(1){t=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;c=t+16|0;if((r[(a[c>>2]|0)+156>>0]|0)!=1)break;if((Q5[a[17300>>2]&63](t)|0)<<24>>24)break;e=a[s>>2]|0;while(1){if((i|0)>=(e|0))break A;if(!(+b[(a[w>>2]|0)+(i<<5)+8>>3]>+b[(a[c>>2]|0)+24>>3]))break;i=i+1|0}e=a[w>>2]|0;A=a[c>>2]|0;do{if(!(+b[e+(i<<5)+24>>3]<+b[A+24>>3])){n=+b[e+(i<<5)>>3];l=~~n;f=+b[e+(i<<5)+16>>3];if(!(a[A+104>>2]|0)){xL(t,l,~~((f+n)*.5),~~f);break}else{xL(t,l,~~f,~~(+b[A+96>>3]+f));break}}}while(0);e=a[a[(a[c>>2]|0)+180>>2]>>2]|0}return}function xL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[A+16>>2]|0;b[A+16>>3]=+(i|0);b[A+88>>3]=+(i-e|0);b[A+96>>3]=+(r-i|0);return}function TL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=a[(a[(a[((l|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;l=((l|0)==2?A:A+-48|0)+40|0;n=0;A=0;while(1){r=a[t+(n<<2)>>2]|0;if(!r)break;f=a[(a[(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((U(f-(a[(a[(a[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=a[r+16>>2]|0;if(!(a[i+8>>2]|0)){i=a[i+116>>2]|0;if(!i)break;if(!(a[(a[i+16>>2]|0)+8>>2]|0))break}if(A|0?(U((a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);n=n+1|0}return A|0}function jL(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=a[(a[(a[((l|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;l=((l|0)==3?A:A+48|0)+40|0;n=0;A=0;while(1){r=a[t+(n<<2)>>2]|0;if(!r)break;f=a[(a[(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((U(f-(a[(a[(a[l>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=a[r+16>>2]|0;if(!(a[i+8>>2]|0)){i=a[i+116>>2]|0;if(!i)break;if(!(a[(a[i+16>>2]|0)+8>>2]|0))break}if(A|0?(U((a[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,e)|0)<=0:0)break;A=r}}while(0);n=n+1|0}return A|0}function SL(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=A+84|0;l=e+-1|0;while(1){if((l|0)>(i|0))break;f=a[s>>2]|0;t=f+(l<<5)|0;r=+b[t>>3];if(!(l-e&1)){f=f+(l<<5)+16|0;w=+b[f>>3];n=~~((w+r)*.5);if(r>=w){b[t>>3]=+(n+-8|0);b[f>>3]=+(n+8|0)}}else{f=f+(l<<5)+16|0;w=+b[f>>3];n=~~((w+r)*.5);if(r+16.0>w){b[t>>3]=+(n+-8|0);b[f>>3]=+(n+8|0)}}l=l+1|0}c=(a[A+80>>2]|0)+-1|0;n=0;while(1){if((n|0)>=(c|0))break;l=a[s>>2]|0;f=l+(n<<5)|0;t=n+1|0;A=l+(t<<5)|0;if(!((n|0)<(e|0)|(n|0)>(i|0))?(n-e&1|0)==0:0){r=+b[f>>3]+16.0;f=l+(t<<5)+16|0;if(r>+b[f>>3])b[f>>3]=r;r=+b[l+(n<<5)+16>>3]+-16.0;if(!(r<+b[A>>3])){n=t;continue}b[A>>3]=r;n=t;continue}if(!((n|0)<(i|0)&(t|0)>=(e|0))){n=t;continue}if(t-e&1|0){n=t;continue}r=+b[l+(t<<5)+16>>3];if(+b[f>>3]+16.0>r)b[f>>3]=r+-16.0;f=l+(n<<5)+16|0;r=+b[A>>3];if(!(+b[f>>3]+-16.0>3]=r+16.0;n=t}return}function PL(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function OL(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0;b=a[(a[A+16>>2]|0)+196>>2]|0;l=a[e+16>>2]|0;c=a[l+232>>2]|0;t=b+(c<<6)|0;c=b+(c<<6)+4|0;l=a[l+236>>2]|0;A:do{l=l+n|0;if((l|0)<=-1){A=0;break}if((l|0)>=(a[t>>2]|0)){A=0;break}A=a[(a[c>>2]|0)+(l<<2)>>2]|0;b=a[A+16>>2]|0;switch(r[b+156>>0]|0){case 0:break A;case 1:{if(a[b+104>>2]|0)break A;break}default:{}}}while((qL(A,e,i,f)|0)<<24>>24!=0);return A|0}function KL(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;e=a[e+16>>2]|0;if(!(r[e+156>>0]|0)){t=a[e+212>>2]|0;l=t}else{t=a[(a[(a[a[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=a[t>>2]&3;l=a[(a[(a[((n|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;t=a[(a[(a[((n|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}e=a[i+16>>2]|0;if(!(r[e+156>>0]|0)){i=a[e+212>>2]|0;i=(i|0)==(A|0)?0:i;return((i|0)==(l|0)|((i|0)==0|(i|0)==(t|0))?0:i)|0}f=a[(a[(a[a[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;n=a[f>>2]&3;e=a[(a[(a[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if(!(!((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))?(_L(e,i)|0)!=0:0)){e=a[(a[(a[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if((e|0)==(l|0)|((e|0)==0|(e|0)==(t|0)))e=0;else{i=(_L(e,i)|0)==0;return(i?0:e)|0}}return e|0}function _L(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=a[A+16>>2]|0;A=a[e+16>>2]|0;f=+b[A+16>>3];if((+b[i+16>>3]<=f?f<=+b[i+32>>3]:0)?(r=+b[A+24>>3],+b[i+24>>3]<=r):0)A=r<=+b[i+40>>3]&1;else A=0;return A|0}function qL(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;t=a[A+16>>2]|0;c=(a[t+236>>2]|0)>(a[(a[e+16>>2]|0)+236>>2]|0);A:do{if((a[t+184>>2]|0)==1){e:do{if(f|0){l=0;A=a[a[t+180>>2]>>2]|0;while(1){if((l|0)>=2)break e;A=a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;e=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((A|0)==(e|0))break e;n=a[A+16>>2]|0;A=a[e+16>>2]|0;if(c^(a[n+236>>2]|0)>(a[A+236>>2]|0)){A=1;break A}if((a[n+184>>2]|0)!=1)break e;if(!(r[n+156>>0]|0))break e;if((a[A+184>>2]|0)!=1)break e;if(!(r[A+156>>0]|0))break e;l=l+1|0;f=a[a[A+180>>2]>>2]|0;A=a[a[n+180>>2]>>2]|0}}}while(0);if(i|0?(a[t+176>>2]|0)==1:0){n=0;e=i;A=a[a[t+172>>2]>>2]|0;while(1){if((n|0)>=2){A=0;break A}A=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;e=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((A|0)==(e|0)){A=0;break A}f=a[A+16>>2]|0;A=a[e+16>>2]|0;if(c^(a[f+236>>2]|0)>(a[A+236>>2]|0)){A=1;break A}if((a[f+176>>2]|0)!=1){A=0;break A}if(!(r[f+156>>0]|0)){A=0;break A}if((a[A+176>>2]|0)!=1){A=0;break A}if(!(r[A+156>>0]|0)){A=0;break A}n=n+1|0;e=a[a[A+172>>2]>>2]|0;A=a[a[f+172>>2]>>2]|0}}else A=0}else A=0}while(0);return A|0}function $L(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function AW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];return(~~((+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r))|0)>0|0}function eW(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0.0,C=0.0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0;U=k;k=k+256|0;W=U+232|0;L=U+216|0;H=U+88|0;R=U+80|0;V=U+64|0;J=U+200|0;N=U+184|0;X=U;y=U+168|0;z=U+152|0;Y=U+136|0;D=U+120|0;M=U+104|0;m=a[n>>2]&3;F=a[((m|0)==3?n:n+48|0)+40>>2]|0;m=a[((m|0)==2?n:n+-48|0)+40>>2]|0;do{if((sN(F)|0)!=2?(sN(m)|0)!=2:0){n=0;t=0;c=0;while(1){if((c|0)>=(f|0))break;Q=a[(a[e+(c+i<<2)>>2]|0)+16>>2]|0;n=n+((a[Q+96>>2]|0)!=0&1)|0;if(!((r[Q+44>>0]|0)==0?(r[Q+84>>0]|0)==0:0))t=1;c=c+1|0}if(!t)if(!n){rW(F,m,e,i,f,l);break}else{tW(F,m,e,i,f,l,n);break}Z=qF(156)|0;G=cW(A,Z)|0;v=XB(G,85478,1)|0;Td(v,137483,280,1)|0;xo(v,87171,87185)|0;s=+b[(a[m+16>>2]|0)+16>>3];B=+b[(a[F+16>>2]|0)+16>>3];Q=A+16|0;h=(a[(a[Q>>2]|0)+116>>2]&1|0)==0;d=h?m:F;h=h?F:m;v=bW(v,h)|0;g=bW(G,d)|0;n=0;o=0;while(1){if((o|0)>=(f|0))break;t=e+(o+i<<2)|0;while(1){u=a[t>>2]|0;w=u+16|0;t=a[w>>2]|0;if(!(r[t+112>>0]|0))break;else t=t+116|0}if((a[((a[u>>2]&3|0)==3?u:u+48|0)+40>>2]|0)==(h|0))c=sW(G,v,g,u)|0;else c=sW(G,g,v,u)|0;t=a[w>>2]|0;a[t+120>>2]=c;if(!n)if((r[t+44>>0]|0)==0?(r[t+84>>0]|0)==0:0){a[(a[c+16>>2]|0)+120>>2]=u;n=c}else n=0;o=o+1|0}if(!n)I=th(G,v,g,0,1)|0;else I=n;Vo(I,a[47174]|0,85482)|0;n=G+16|0;w=a[n>>2]|0;a[w+144>>2]=a[(a[Q>>2]|0)+144>>2];a[w+188>>2]=G;zH(G,l);AL(G);Jz(G,0);SW(G,0);Ky(G,0);h=h+16|0;l=a[h>>2]|0;w=a[d+16>>2]|0;d=v+16|0;u=a[d>>2]|0;o=u+16|0;E=+(~~s|0);C=+(~~((+b[(a[g+16>>2]|0)+16>>3]+ +b[o>>3])*.5)|0);s=+(~~B|0);B=+(~~((+b[l+16>>3]-+b[l+96>>3]+ +b[w+16>>3]+ +b[w+88>>3])*.5)|0);w=u+24|0;n=(a[n>>2]|0)+192|0;while(1){t=a[n>>2]|0;if(!t)break;do{if((t|0)!=(v|0)){n=a[t+16>>2]|0;c=n+24|0;if((t|0)==(g|0)){b[c>>3]=s;b[n+16>>3]=C;break}else{b[c>>3]=B;break}}else{b[w>>3]=E;b[o>>3]=C;n=u}}while(0);n=n+164|0}zY(G);IL(G,0);VJ(G);c=a[h>>2]|0;n=a[d>>2]|0;if(!(a[(a[Q>>2]|0)+116>>2]&1)){t=n+16|0;s=+b[c+24>>3]-+b[n+24>>3]}else{t=n+24|0;s=+b[n+16>>3]+ +b[c+24>>3]}b[V>>3]=+b[c+16>>3]-+b[t>>3];b[V+8>>3]=s;l=X+16|0;v=X+32|0;g=X+48|0;d=0;while(1){if((d|0)>=(f|0))break;n=e+(d+i<<2)|0;while(1){t=a[n>>2]|0;h=t+16|0;n=a[h>>2]|0;if(!(r[n+112>>0]|0))break;else n=n+116|0}u=a[n+120>>2]|0;o=u+16|0;n=a[o>>2]|0;if(!((u|0)==(I|0)&(a[n+120>>2]|0)==0)){w=a[a[n+8>>2]>>2]|0;u=w+4|0;t=vX(t,a[u>>2]|0)|0;a[t+8>>2]=a[w+8>>2];n=t+16|0;c=w+16|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(J,L,W,x);a[n>>2]=a[J>>2];a[n+4>>2]=a[J+4>>2];a[n+8>>2]=a[J+8>>2];a[n+12>>2]=a[J+12>>2];a[t+12>>2]=a[w+12>>2];n=t+32|0;x=w+32|0;c=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[x>>2];a[L+4>>2]=a[x+4>>2];a[L+8>>2]=a[x+8>>2];a[L+12>>2]=a[x+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(N,L,W,c);a[n>>2]=a[N>>2];a[n+4>>2]=a[N+4>>2];a[n+8>>2]=a[N+8>>2];a[n+12>>2]=a[N+12>>2];n=0;while(1){if((n|0)>=(a[u>>2]|0))break;c=(a[t>>2]|0)+(n<<4)|0;T=(a[w>>2]|0)+(n<<4)|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[T>>2];a[L+4>>2]=a[T+4>>2];a[L+8>>2]=a[T+8>>2];a[L+12>>2]=a[T+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(y,L,W,x);a[c>>2]=a[y>>2];a[c+4>>2]=a[y+4>>2];a[c+8>>2]=a[y+8>>2];a[c+12>>2]=a[y+12>>2];a[X>>2]=a[y>>2];a[X+4>>2]=a[y+4>>2];a[X+8>>2]=a[y+8>>2];a[X+12>>2]=a[y+12>>2];c=n+1|0;if((c|0)>=(a[u>>2]|0)){p=48;break}x=(a[t>>2]|0)+(c<<4)|0;c=(a[w>>2]|0)+(c<<4)|0;T=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(z,L,W,T);a[x>>2]=a[z>>2];a[x+4>>2]=a[z+4>>2];a[x+8>>2]=a[z+8>>2];a[x+12>>2]=a[z+12>>2];a[l>>2]=a[z>>2];a[l+4>>2]=a[z+4>>2];a[l+8>>2]=a[z+8>>2];a[l+12>>2]=a[z+12>>2];x=n+2|0;T=(a[t>>2]|0)+(x<<4)|0;x=(a[w>>2]|0)+(x<<4)|0;c=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[x>>2];a[L+4>>2]=a[x+4>>2];a[L+8>>2]=a[x+8>>2];a[L+12>>2]=a[x+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(Y,L,W,c);a[T>>2]=a[Y>>2];a[T+4>>2]=a[Y+4>>2];a[T+8>>2]=a[Y+8>>2];a[T+12>>2]=a[Y+12>>2];a[v>>2]=a[Y>>2];a[v+4>>2]=a[Y+4>>2];a[v+8>>2]=a[Y+8>>2];a[v+12>>2]=a[Y+12>>2];T=n+3|0;c=(a[w>>2]|0)+(T<<4)|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[c>>2];a[L+4>>2]=a[c+4>>2];a[L+8>>2]=a[c+8>>2];a[L+12>>2]=a[c+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(D,L,W,x);a[g>>2]=a[D>>2];a[g+4>>2]=a[D+4>>2];a[g+8>>2]=a[D+8>>2];a[g+12>>2]=a[D+12>>2];sI((a[Q>>2]|0)+16|0,X);n=T}if((p|0)==48)p=0;n=a[(a[h>>2]|0)+96>>2]|0;if(n|0){T=n+56|0;o=(a[(a[o>>2]|0)+96>>2]|0)+56|0;x=a[(a[Q>>2]|0)+116>>2]&1;a[L>>2]=a[o>>2];a[L+4>>2]=a[o+4>>2];a[L+8>>2]=a[o+8>>2];a[L+12>>2]=a[o+12>>2];a[W>>2]=a[V>>2];a[W+4>>2]=a[V+4>>2];a[W+8>>2]=a[V+8>>2];a[W+12>>2]=a[V+12>>2];wW(M,L,W,x);a[T>>2]=a[M>>2];a[T+4>>2]=a[M+4>>2];a[T+8>>2]=a[M+8>>2];a[T+12>>2]=a[M+12>>2];T=a[(a[h>>2]|0)+96>>2]|0;r[T+81>>0]=1;pR(A,T)}}d=d+1|0}uW(G,Z)}else p=3}while(0);if((p|0)==3?(a[46738]|0)==0:0){a[46738]=1;ao(0,85355,R)|0;p=Vh(F)|0;x=(Ih(A)|0)!=0;T=Vh(m)|0;a[H>>2]=p;a[H+4>>2]=x?137738:141747;a[H+8>>2]=T;ao(3,85461,H)|0}k=U;return}function iW(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0.0,W=0.0,y=0.0;G=k;k=k+1600|0;g=G+1552|0;w=G+1536|0;v=G+840|0;E=G+144|0;C=G+1584|0;t=G+32|0;B=G+16|0;u=G;h=a[f>>2]&3;o=a[((h|0)==3?f:f+48|0)+40>>2]|0;I=f+-48|0;h=a[((h|0)==2?f:I)+40>>2]|0;d=f+16|0;c=a[d>>2]|0;l=a[c+172>>2]|0;while(1){s=a[(a[l+16>>2]|0)+172>>2]|0;if(!s)break;else l=s}c=(a[c+96>>2]|0)+56|0;l=(a[((a[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)+16|0;s=(a[l>>2]|0)+16|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];c=a[d>>2]|0;r[(a[c+96>>2]|0)+81>>0]=1;if((n|0)!=2){c=a[l>>2]|0;L=+b[c+16>>3];y=L-+b[c+88>>3];L=+b[c+96>>3]+L;m=+b[c+24>>3];W=+b[c+80>>3]*.5+m;c=a[(a[A+16>>2]|0)+196>>2]|0;s=a[o+16>>2]|0;t=a[s+232>>2]|0;m=+(~~(+(~~(m-+b[c+(t<<6)+16>>3]-+b[s+24>>3]+ +b[c+(t<<6)+24>>3])|0)*.16666666666666666)|0);m=W-(m<5.0?5.0:m);aW(A,e,i,o,f,v,1);aW(A,e,i,h,f,E,0);t=v+52|0;c=a[t>>2]|0;s=c+-1|0;Q=+b[v+56+(s<<5)>>3];b[19215]=Q;b[19216]=+b[v+56+(s<<5)+24>>3];b[19217]=y;b[19218]=m;b[19219]=Q;b[19220]=m;s=E+52|0;l=(a[s>>2]|0)+-1|0;Q=+b[E+56+(l<<5)+16>>3];b[19221]=Q;b[19222]=W;b[19223]=L;b[19226]=m;b[19224]=+b[E+56+(l<<5)+24>>3];b[19225]=Q;l=0;while(1){if((l|0)>=(c|0)){l=0;break}c=v+56+(l<<5)|0;a[g>>2]=a[c>>2];a[g+4>>2]=a[c+4>>2];a[g+8>>2]=a[c+8>>2];a[g+12>>2]=a[c+12>>2];a[g+16>>2]=a[c+16>>2];a[g+20>>2]=a[c+20>>2];a[g+24>>2]=a[c+24>>2];a[g+28>>2]=a[c+28>>2];CX(i,g);l=l+1|0;c=a[t>>2]|0}while(1){if((l|0)==3)break;v=153720+(l<<5)|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[g+16>>2]=a[v+16>>2];a[g+20>>2]=a[v+20>>2];a[g+24>>2]=a[v+24>>2];a[g+28>>2]=a[v+28>>2];CX(i,g);l=l+1|0}t=a[s>>2]|0;while(1){l=t+-1|0;if((t|0)<=0)break;t=E+56+(l<<5)|0;a[g>>2]=a[t>>2];a[g+4>>2]=a[t+4>>2];a[g+8>>2]=a[t+8>>2];a[g+12>>2]=a[t+12>>2];a[g+16>>2]=a[t+16>>2];a[g+20>>2]=a[t+20>>2];a[g+24>>2]=a[t+24>>2];a[g+28>>2]=a[t+28>>2];CX(i,g);t=l}if((n|0)==10)t=KJ(i,C)|0;else t=iN(i,C)|0;l=a[C>>2]|0;if(l|0)Z=17}else{l=(a[o+16>>2]|0)+16|0;E=c+16|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];a[g>>2]=a[E>>2];a[g+4>>2]=a[E+4>>2];a[g+8>>2]=a[E+8>>2];a[g+12>>2]=a[E+12>>2];$L(B,w,g);E=(a[h+16>>2]|0)+16|0;l=(a[d>>2]|0)+56|0;a[w>>2]=a[E>>2];a[w+4>>2]=a[E+4>>2];a[w+8>>2]=a[E+8>>2];a[w+12>>2]=a[E+12>>2];a[g>>2]=a[l>>2];a[g+4>>2]=a[l+4>>2];a[g+8>>2]=a[l+8>>2];a[g+12>>2]=a[l+12>>2];$L(u,w,g);l=a[(a[d>>2]|0)+96>>2]|0;W=+b[l+56>>3];y=+b[l+64>>3]-+b[l+32>>3]*.5;l=t+16|0;a[t>>2]=a[B>>2];a[t+4>>2]=a[B+4>>2];a[t+8>>2]=a[B+8>>2];a[t+12>>2]=a[B+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];l=t+32|0;E=t+48|0;Z=t+64|0;b[t+64>>3]=W;b[t+72>>3]=y;a[E>>2]=a[Z>>2];a[E+4>>2]=a[Z+4>>2];a[E+8>>2]=a[Z+8>>2];a[E+12>>2]=a[Z+12>>2];a[l>>2]=a[Z>>2];a[l+4>>2]=a[Z+4>>2];a[l+8>>2]=a[Z+8>>2];a[l+12>>2]=a[Z+12>>2];l=t+80|0;Z=t+96|0;a[Z>>2]=a[u>>2];a[Z+4>>2]=a[u+4>>2];a[Z+8>>2]=a[u+8>>2];a[Z+12>>2]=a[u+12>>2];a[l>>2]=a[u>>2];a[l+4>>2]=a[u+4>>2];a[l+8>>2]=a[u+8>>2];a[l+12>>2]=a[u+12>>2];a[C>>2]=7;l=7;Z=17}if((Z|0)==17)gX(f,a[((a[f>>2]&3|0)==2?f:I)+40>>2]|0,t,l,17296);k=G;return}function rW(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0.0,L=0.0,W=0.0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0;X=k;k=k+352|0;I=X+336|0;C=X+320|0;J=X+128|0;g=X+304|0;Z=X+288|0;N=X+112|0;y=X+96|0;z=X+80|0;Y=X+64|0;D=X+48|0;M=X+32|0;F=X+16|0;V=X;A=A+16|0;h=(a[A>>2]|0)+16|0;E=(a[i+(r<<2)>>2]|0)+16|0;B=(a[E>>2]|0)+16|0;a[C>>2]=a[h>>2];a[C+4>>2]=a[h+4>>2];a[C+8>>2]=a[h+8>>2];a[C+12>>2]=a[h+12>>2];a[I>>2]=a[B>>2];a[I+4>>2]=a[B+4>>2];a[I+8>>2]=a[B+8>>2];a[I+12>>2]=a[B+12>>2];$L(g,C,I);L=+b[g>>3];W=+b[g+8>>3];g=(a[e+16>>2]|0)+16|0;E=(a[E>>2]|0)+56|0;a[C>>2]=a[g>>2];a[C+4>>2]=a[g+4>>2];a[C+8>>2]=a[g+8>>2];a[C+12>>2]=a[g+12>>2];a[I>>2]=a[E>>2];a[I+4>>2]=a[E+4>>2];a[I+8>>2]=a[E+8>>2];a[I+12>>2]=a[E+12>>2];$L(Z,C,I);Q=+b[Z>>3];m=+b[Z+8>>3];if((f|0)>1){G=+b[(a[A>>2]|0)+80>>3];l=G*.5;G=G/+(f+-1|0)}else{l=0.0;G=0.0}o=(n|8|0)==10;s=J+8|0;h=J+16|0;d=(Q+L*2.0)*.3333333333333333;B=J+32|0;v=(Q*2.0+L)*.3333333333333333;w=J+24|0;g=J+48|0;E=J+64|0;C=J+80|0;I=J+96|0;Z=J+112|0;c=J+128|0;u=J+136|0;l=W-l;e=0;while(1){if((e|0)>=(f|0))break;t=a[i+(e+r<<2)>>2]|0;b[J>>3]=L;b[s>>3]=W;if(o){lW(N,d,l);a[h>>2]=a[N>>2];a[h+4>>2]=a[N+4>>2];a[h+8>>2]=a[N+8>>2];a[h+12>>2]=a[N+12>>2];lW(y,v,l);a[B>>2]=a[y>>2];a[B+4>>2]=a[y+4>>2];a[B+8>>2]=a[y+8>>2];a[B+12>>2]=a[y+12>>2];A=4;n=3}else{b[h>>3]=L;b[w>>3]=W;lW(z,d,l);a[B>>2]=a[z>>2];a[B+4>>2]=a[z+4>>2];a[B+8>>2]=a[z+8>>2];a[B+12>>2]=a[z+12>>2];lW(Y,d,l);a[g>>2]=a[Y>>2];a[g+4>>2]=a[Y+4>>2];a[g+8>>2]=a[Y+8>>2];a[g+12>>2]=a[Y+12>>2];lW(D,d,l);a[E>>2]=a[D>>2];a[E+4>>2]=a[D+4>>2];a[E+8>>2]=a[D+8>>2];a[E+12>>2]=a[D+12>>2];lW(M,v,l);a[C>>2]=a[M>>2];a[C+4>>2]=a[M+4>>2];a[C+8>>2]=a[M+8>>2];a[C+12>>2]=a[M+12>>2];lW(F,v,l);a[I>>2]=a[F>>2];a[I+4>>2]=a[F+4>>2];a[I+8>>2]=a[F+8>>2];a[I+12>>2]=a[F+12>>2];lW(V,v,l);a[Z>>2]=a[V>>2];a[Z+4>>2]=a[V+4>>2];a[Z+8>>2]=a[V+8>>2];a[Z+12>>2]=a[V+12>>2];b[c>>3]=Q;b[u>>3]=m;A=10;n=9}b[J+(n<<4)>>3]=Q;b[J+(n<<4)+8>>3]=m;gX(t,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,J,A,17296);l=l+G;e=e+1|0}k=X;return}function fW(A,e,i,r,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;l=l|0;t=t|0;c=c|0;var s=0,w=0.0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0.0,L=0.0,W=0.0;I=k;k=k+1440|0;v=I+1392|0;E=I+1424|0;C=I+696|0;g=I;d=a[t>>2]&3;h=a[((d|0)==3?t:t+48|0)+40>>2]|0;d=a[((d|0)==2?t:t+-48|0)+40>>2]|0;s=a[h+16>>2]|0;u=a[s+232>>2]|0;o=a[A+16>>2]|0;if((u|0)<(f[o+238>>1]|0)){Z=a[o+196>>2]|0;o=u+1|0;w=+b[s+24>>3]-+b[Z+(u<<6)+32>>3]-+b[(a[(a[a[Z+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[Z+(o<<6)+40>>3]}else w=+(a[o+252>>2]|0);G=+(l+1|0);B=+(a[e+12>>2]|0)/G;w=w/G;nW(A,e,i,h,t,C,1);nW(A,e,i,d,t,g,0);d=C+52|0;t=g+52|0;A=(c|0)==0;e=i+80|0;s=0;while(1){if((s|0)>=(l|0))break;h=a[r+(s+n<<2)>>2]|0;o=a[d>>2]|0;u=o+-1|0;W=+b[C+56+(u<<5)>>3];m=+b[C+56+(u<<5)+8>>3];L=+b[C+56+(u<<5)+16>>3];b[19215]=W;b[19218]=m;s=s+1|0;G=+(s|0);Q=B*G;b[19217]=L+Q;G=m-w*G;b[19216]=G;b[19219]=W;b[19222]=G;u=(a[t>>2]|0)+-1|0;W=+b[g+56+(u<<5)+16>>3];b[19221]=W;b[19220]=G-w;m=+b[g+56+(u<<5)>>3];L=+b[g+56+(u<<5)+8>>3];b[19225]=W;b[19226]=L;b[19223]=m-Q;b[19224]=G;u=0;while(1){if((u|0)>=(o|0)){u=0;break}o=C+56+(u<<5)|0;a[v>>2]=a[o>>2];a[v+4>>2]=a[o+4>>2];a[v+8>>2]=a[o+8>>2];a[v+12>>2]=a[o+12>>2];a[v+16>>2]=a[o+16>>2];a[v+20>>2]=a[o+20>>2];a[v+24>>2]=a[o+24>>2];a[v+28>>2]=a[o+28>>2];CX(i,v);u=u+1|0;o=a[d>>2]|0}while(1){if((u|0)==3)break;Z=153720+(u<<5)|0;a[v>>2]=a[Z>>2];a[v+4>>2]=a[Z+4>>2];a[v+8>>2]=a[Z+8>>2];a[v+12>>2]=a[Z+12>>2];a[v+16>>2]=a[Z+16>>2];a[v+20>>2]=a[Z+20>>2];a[v+24>>2]=a[Z+24>>2];a[v+28>>2]=a[Z+28>>2];CX(i,v);u=u+1|0}o=a[t>>2]|0;while(1){u=o+-1|0;if((o|0)<=0)break;o=g+56+(u<<5)|0;a[v>>2]=a[o>>2];a[v+4>>2]=a[o+4>>2];a[v+8>>2]=a[o+8>>2];a[v+12>>2]=a[o+12>>2];a[v+16>>2]=a[o+16>>2];a[v+20>>2]=a[o+20>>2];a[v+24>>2]=a[o+24>>2];a[v+28>>2]=a[o+28>>2];CX(i,v);o=u}if(A)u=iN(i,E)|0;else u=KJ(i,E)|0;o=a[E>>2]|0;if(!o)break;gX(h,a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0,u,o,17296);a[e>>2]=0}k=I;return}function aW(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+128|0;t=w+96|0;c=w+64|0;u=w+32|0;s=w;VL(u,A,e,r,0,f);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[n+16>>2]=a[u+16>>2];a[n+20>>2]=a[u+20>>2];a[n+24>>2]=a[u+24>>2];a[n+28>>2]=a[u+28>>2];a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];a[c+16>>2]=a[u+16>>2];a[c+20>>2]=a[u+20>>2];a[c+24>>2]=a[u+24>>2];a[c+28>>2]=a[u+28>>2];a[n+48>>2]=4;if(!(l<<24>>24))QX(i,f,2,n,0);else IX(i,f,2,n,0);e=n+52|0;f=(a[e>>2]|0)+-1|0;u=c+24|0;b[u>>3]=+b[n+56+(f<<5)+24>>3];l=c+8|0;b[l>>3]=+b[n+56+(f<<5)+8>>3];r=a[r+16>>2]|0;o=+b[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[r+232>>2]<<6)+24>>3]+ +b[r+24>>3];a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];a[t+20>>2]=a[c+20>>2];a[t+24>>2]=a[c+24>>2];a[t+28>>2]=a[c+28>>2];NL(s,t,4,o);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[c+16>>2]=a[s+16>>2];a[c+20>>2]=a[s+20>>2];a[c+24>>2]=a[s+24>>2];a[c+28>>2]=a[s+28>>2];if(+b[c>>3]<+b[c+16>>3]?+b[l>>3]<+b[u>>3]:0){u=a[e>>2]|0;a[e>>2]=u+1;u=n+56+(u<<5)|0;a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];a[u+16>>2]=a[c+16>>2];a[u+20>>2]=a[c+20>>2];a[u+24>>2]=a[c+24>>2];a[u+28>>2]=a[c+28>>2]}k=w;return}function nW(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+128|0;t=w+96|0;c=w+64|0;u=w+32|0;s=w;VL(u,A,e,r,0,f);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[n+16>>2]=a[u+16>>2];a[n+20>>2]=a[u+20>>2];a[n+24>>2]=a[u+24>>2];a[n+28>>2]=a[u+28>>2];a[c>>2]=a[u>>2];a[c+4>>2]=a[u+4>>2];a[c+8>>2]=a[u+8>>2];a[c+12>>2]=a[u+12>>2];a[c+16>>2]=a[u+16>>2];a[c+20>>2]=a[u+20>>2];a[c+24>>2]=a[u+24>>2];a[c+28>>2]=a[u+28>>2];a[n+48>>2]=1;if(!(l<<24>>24))QX(i,f,2,n,0);else IX(i,f,2,n,0);e=n+52|0;f=(a[e>>2]|0)+-1|0;u=c+24|0;b[u>>3]=+b[n+56+(f<<5)+24>>3];l=c+8|0;b[l>>3]=+b[n+56+(f<<5)+8>>3];r=a[r+16>>2]|0;o=+b[r+24>>3]-+b[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[r+232>>2]<<6)+24>>3];a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];a[t+16>>2]=a[c+16>>2];a[t+20>>2]=a[c+20>>2];a[t+24>>2]=a[c+24>>2];a[t+28>>2]=a[c+28>>2];NL(s,t,1,o);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[c+16>>2]=a[s+16>>2];a[c+20>>2]=a[s+20>>2];a[c+24>>2]=a[s+24>>2];a[c+28>>2]=a[s+28>>2];if(+b[c>>3]<+b[c+16>>3]?+b[l>>3]<+b[u>>3]:0){u=a[e>>2]|0;a[e>>2]=u+1;u=n+56+(u<<5)|0;a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];a[u+16>>2]=a[c+16>>2];a[u+20>>2]=a[c+20>>2];a[u+24>>2]=a[c+24>>2];a[u+28>>2]=a[c+28>>2]}k=w;return}function lW(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function tW(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,s=0,w=0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0,G=0,Q=0.0,m=0.0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0,_=0.0;K=k;k=k+288|0;U=K+256|0;p=K+240|0;H=K+224|0;S=K+280|0;P=K+272|0;O=K+32|0;x=K+16|0;T=K;s=K+208|0;w=K+192|0;u=a[i+(f<<2)>>2]|0;j=qF(n<<2)|0;c=0;while(1){if((c|0)>=(n|0))break;a[j+(c<<2)>>2]=a[i+(c+f<<2)>>2];c=c+1|0}K4(j,n,4,59);i=A+16|0;f=(a[i>>2]|0)+16|0;u=u+16|0;L=(a[u>>2]|0)+16|0;a[p>>2]=a[f>>2];a[p+4>>2]=a[f+4>>2];a[p+8>>2]=a[f+8>>2];a[p+12>>2]=a[f+12>>2];a[U>>2]=a[L>>2];a[U+4>>2]=a[L+4>>2];a[U+8>>2]=a[L+8>>2];a[U+12>>2]=a[L+12>>2];$L(s,p,U);a[x>>2]=a[s>>2];a[x+4>>2]=a[s+4>>2];a[x+8>>2]=a[s+8>>2];a[x+12>>2]=a[s+12>>2];L=e+16|0;f=(a[L>>2]|0)+16|0;u=(a[u>>2]|0)+56|0;a[p>>2]=a[f>>2];a[p+4>>2]=a[f+4>>2];a[p+8>>2]=a[f+8>>2];a[p+12>>2]=a[f+12>>2];a[U>>2]=a[u>>2];a[U+4>>2]=a[u+4>>2];a[U+8>>2]=a[u+8>>2];a[U+12>>2]=a[u+12>>2];$L(w,p,U);a[T>>2]=a[w>>2];a[T+4>>2]=a[w+4>>2];a[T+8>>2]=a[w+8>>2];a[T+12>>2]=a[w+12>>2];C=+b[(a[i>>2]|0)+96>>3]+ +b[x>>3];I=+b[T>>3]-+b[(a[L>>2]|0)+88>>3];g=I+C;E=g*.5;L=a[j>>2]|0;a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];u=O+16|0;a[u>>2]=a[x>>2];a[u+4>>2]=a[x+4>>2];a[u+8>>2]=a[x+8>>2];a[u+12>>2]=a[x+12>>2];i=O+32|0;a[i>>2]=a[T>>2];a[i+4>>2]=a[T+4>>2];a[i+8>>2]=a[T+8>>2];a[i+12>>2]=a[T+12>>2];f=O+48|0;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];gX(L,a[((a[L>>2]&3|0)==2?L:L+-48|0)+40>>2]|0,O,4,17296);L=a[(a[L+16>>2]|0)+96>>2]|0;b[L+56>>3]=E;G=x+8|0;d=+b[G>>3];B=+b[L+32>>3];b[L+64>>3]=(B+6.0)*.5+d;r[L+81>>0]=1;d=d+3.0;m=+b[L+24>>3];Q=(g-m)*.5;m=(m+g)*.5;L=O+24|0;W=O+40|0;y=O+56|0;z=O+64|0;Y=T+8|0;D=O+72|0;M=O+80|0;F=O+88|0;V=O+96|0;J=O+104|0;N=O+112|0;X=O+120|0;R=S+4|0;w=(l|0)==6&1;h=0.0;o=0.0;B=B+d;s=1;while(1){if((s|0)>=(t|0)){Z=6;break}e=a[j+(s<<2)>>2]|0;if(!(s&1)){a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=Q;b[L>>3]=+b[G>>3];b[i>>3]=Q;b[W>>3]=B;b[f>>3]=m;b[y>>3]=B;b[z>>3]=m;v=+b[Y>>3];b[D>>3]=v;_=+b[T>>3];b[M>>3]=_;b[F>>3]=v;b[V>>3]=_;_=B+6.0;b[J>>3]=_;b[N>>3]=+b[x>>3];b[X>>3]=_;B=+b[(a[(a[e+16>>2]|0)+96>>2]|0)+32>>3];v=_+B*.5;B=_+B}else{c=e+16|0;A=a[(a[c>>2]|0)+96>>2]|0;if((s|0)==1){o=+b[A+24>>3];h=(o+g)*.5;o=(g-o)*.5}d=d+-6.0-+b[A+32>>3];a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=+b[x>>3];v=d+-6.0;b[L>>3]=v;b[i>>3]=+b[T>>3];b[W>>3]=v;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];b[z>>3]=h;b[D>>3]=+b[Y>>3];b[M>>3]=h;b[F>>3]=d;b[V>>3]=o;b[J>>3]=d;b[N>>3]=o;b[X>>3]=+b[G>>3];v=+b[(a[(a[c>>2]|0)+96>>2]|0)+32>>3]*.5+d}a[R>>2]=8;a[S>>2]=O;a[H>>2]=a[x>>2];a[H+4>>2]=a[x+4>>2];a[H+8>>2]=a[x+8>>2];a[H+12>>2]=a[x+12>>2];a[p>>2]=a[T>>2];a[p+4>>2]=a[T+4>>2];a[p+8>>2]=a[T+8>>2];a[p+12>>2]=a[T+12>>2];a[U>>2]=a[S>>2];a[U+4>>2]=a[S+4>>2];c=jJ(H,p,U,P,w)|0;A=a[P>>2]|0;if(!A)break;l=a[(a[e+16>>2]|0)+96>>2]|0;b[l+56>>3]=E;b[l+64>>3]=v;r[l+81>>0]=1;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17296);s=s+1|0}A:do{if((Z|0)==6){E=(I+C*2.0)*.3333333333333333;g=(I*2.0+C)*.3333333333333333;while(1){if((s|0)>=(n|0))break;e=a[j+(s<<2)>>2]|0;if(!(s&1)){a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=Q;b[L>>3]=+b[G>>3];b[i>>3]=Q;b[W>>3]=B;b[f>>3]=m;b[y>>3]=B;b[z>>3]=m;v=+b[Y>>3];b[D>>3]=v;_=+b[T>>3];b[M>>3]=_;b[F>>3]=v;b[V>>3]=_;_=B+6.0;b[J>>3]=_;b[N>>3]=+b[x>>3];B=_;v=o;o=_}else{Z=(s|0)==1;v=Z?E:o;h=Z?g:h;o=d+-6.0;a[O>>2]=a[x>>2];a[O+4>>2]=a[x+4>>2];a[O+8>>2]=a[x+8>>2];a[O+12>>2]=a[x+12>>2];b[u>>3]=+b[x>>3];d=d+-12.0;b[L>>3]=d;b[i>>3]=+b[T>>3];b[W>>3]=d;a[f>>2]=a[T>>2];a[f+4>>2]=a[T+4>>2];a[f+8>>2]=a[T+8>>2];a[f+12>>2]=a[T+12>>2];b[z>>3]=h;b[D>>3]=+b[Y>>3];b[M>>3]=h;b[F>>3]=o;b[V>>3]=v;b[J>>3]=o;b[N>>3]=v;d=o;o=+b[G>>3]}b[X>>3]=o;a[R>>2]=8;a[S>>2]=O;a[H>>2]=a[x>>2];a[H+4>>2]=a[x+4>>2];a[H+8>>2]=a[x+8>>2];a[H+12>>2]=a[x+12>>2];a[p>>2]=a[T>>2];a[p+4>>2]=a[T+4>>2];a[p+8>>2]=a[T+8>>2];a[p+12>>2]=a[T+12>>2];a[U>>2]=a[S>>2];a[U+4>>2]=a[S+4>>2];c=jJ(H,p,U,P,w)|0;A=a[P>>2]|0;if(!A)break A;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17296);s=s+1|0;o=v}L2(j)}}while(0);k=K;return}function cW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;n=k;k=k+16|0;f=n;t=(Ih(A)|0)==0;t=t?18592:18584;r[f>>0]=r[t>>0]|0;r[f+1>>0]=r[t+1>>0]|0;r[f+2>>0]=r[t+2>>0]|0;r[f+3>>0]=r[t+3>>0]|0;f=kh(85493,f,0)|0;Td(f,137483,280,1)|0;Yo(f,0,87171,195059)|0;t=qF(96)|0;i=a[f+16>>2]|0;a[i+8>>2]=t;l=a[A+16>>2]|0;c=a[l+8>>2]|0;b[t>>3]=+b[c>>3];b[t+24>>3]=+b[c+24>>3];r[i+115>>0]=r[l+115>>0]|0;a[i+116>>2]=a[l+116>>2]&1^1;a[i+248>>2]=a[l+248>>2];a[i+252>>2]=a[l+252>>2];i=Jo(Zd(A)|0,1,0)|0;while(1){if(!i)break;Yo(f,1,a[i+8>>2]|0,a[i+12>>2]|0)|0;i=Jo(Zd(A)|0,1,i)|0}i=Jo(Zd(A)|0,2,0)|0;while(1){if(!i)break;Yo(f,2,a[i+8>>2]|0,a[i+12>>2]|0)|0;i=Jo(Zd(A)|0,2,i)|0}if(!(Yo(f,2,111464,0)|0))Yo(f,2,111464,195059)|0;if(!(Yo(f,2,111455,0)|0))Yo(f,2,111455,195059)|0;kW(f,e);k=n;return f|0}function bW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=k;k=k+16|0;i=r;A=vd(A,Vh(e)|0,1)|0;Td(A,137447,304,1)|0;jo(e,A)|0;if((sN(e)|0)==2){f=e+16|0;e=$F((S2(a[a[(a[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;a[i>>2]=a[a[(a[f>>2]|0)+104>>2]>>2];P4(e,85488,i)|0;xo(A,108224,e)|0}k=r;return A|0}function sW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=th(A,e,i,0,1)|0;Td(i,137460,176,1)|0;jo(r,i)|0;return i|0}function wW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0;l=k;k=k+32|0;n=l+16|0;f=l;if(r|0){t=+b[e>>3];r=e+8|0;b[e>>3]=+b[r>>3];b[r>>3]=-t}a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];$L(A,f,n);k=l;return}function uW(A,e){A=A|0;e=e|0;a[47189]=a[e>>2];a[47193]=a[e+4>>2];a[47194]=a[e+8>>2];a[47174]=a[e+12>>2];a[47175]=a[e+16>>2];a[47181]=a[e+20>>2];a[47180]=a[e+24>>2];a[47179]=a[e+28>>2];a[47205]=a[e+32>>2];a[47197]=a[e+36>>2];a[47182]=a[e+40>>2];a[47192]=a[e+44>>2];a[47201]=a[e+48>>2];a[47200]=a[e+52>>2];a[47199]=a[e+56>>2];a[47204]=a[e+60>>2];a[47198]=a[e+64>>2];a[47183]=a[e+68>>2];a[47145]=a[e+72>>2];a[47146]=a[e+76>>2];a[47147]=a[e+80>>2];a[47157]=a[e+84>>2];a[47150]=a[e+88>>2];a[47151]=a[e+92>>2];a[47152]=a[e+96>>2];a[47154]=a[e+100>>2];a[47155]=a[e+104>>2];a[47158]=a[e+108>>2];a[47161]=a[e+112>>2];a[47159]=a[e+116>>2];a[47160]=a[e+120>>2];a[47163]=a[e+124>>2];a[47162]=a[e+128>>2];a[47164]=a[e+132>>2];a[47165]=a[e+136>>2];a[47156]=a[e+140>>2];a[47168]=a[e+144>>2];a[47140]=a[e+148>>2];a[47138]=a[e+152>>2];L2(e);rL(A);Bh(A)|0;return}function kW(A,e){A=A|0;e=e|0;a[e>>2]=a[47189];a[e+4>>2]=a[47193];a[e+8>>2]=a[47194];a[e+12>>2]=a[47174];a[e+16>>2]=a[47175];a[e+20>>2]=a[47181];a[e+24>>2]=a[47180];a[e+28>>2]=a[47179];a[e+32>>2]=a[47205];a[e+36>>2]=a[47197];a[e+40>>2]=a[47182];a[e+44>>2]=a[47192];a[e+48>>2]=a[47201];a[e+52>>2]=a[47200];a[e+56>>2]=a[47199];a[e+60>>2]=a[47204];a[e+64>>2]=a[47198];a[e+68>>2]=a[47183];a[e+72>>2]=a[47145];a[e+76>>2]=a[47146];a[e+80>>2]=a[47147];a[e+84>>2]=a[47157];a[e+88>>2]=a[47150];a[e+92>>2]=a[47151];a[e+96>>2]=a[47152];a[e+100>>2]=a[47154];a[e+104>>2]=a[47155];a[e+108>>2]=a[47158];a[e+112>>2]=a[47161];a[e+116>>2]=a[47159];a[e+120>>2]=a[47160];a[e+124>>2]=a[47163];a[e+128>>2]=a[47162];a[e+132>>2]=a[47164];a[e+136>>2]=a[47165];a[e+140>>2]=a[47156];a[e+144>>2]=a[47168];a[e+152>>2]=a[47138];a[e+148>>2]=a[47140];a[47189]=0;a[47193]=Yo(A,2,87412,0)|0;a[47194]=Yo(A,2,87421,0)|0;e=Yo(A,2,101541,0)|0;a[47174]=e;if(!e)a[47174]=Yo(A,2,101541,195059)|0;a[47175]=0;a[47181]=0;a[47180]=Yo(A,2,101437,0)|0;a[47179]=Yo(A,2,101428,0)|0;a[47205]=Yo(A,2,101717,0)|0;a[47197]=0;a[47182]=Yo(A,2,108224,0)|0;a[47192]=Yo(A,2,85498,0)|0;a[47201]=0;a[47200]=Yo(A,2,101617,0)|0;a[47199]=Yo(A,2,101603,0)|0;a[47204]=Yo(A,2,101708,0)|0;a[47198]=0;a[47183]=0;a[47145]=Yo(A,1,141048,0)|0;a[47146]=Yo(A,1,141116,0)|0;a[47147]=Yo(A,1,108230,0)|0;a[47157]=0;a[47150]=Yo(A,1,101428,0)|0;a[47151]=Yo(A,1,101437,0)|0;a[47152]=0;a[47154]=Yo(A,1,108224,0)|0;a[47155]=0;a[47158]=0;a[47161]=Yo(A,1,101409,0)|0;a[47159]=Yo(A,1,141076,0)|0;a[47160]=Yo(A,1,101472,0)|0;a[47163]=Yo(A,1,101484,0)|0;a[47162]=Yo(A,1,101348,0)|0;a[47164]=Yo(A,1,101489,0)|0;a[47165]=Yo(A,1,85510,0)|0;a[47156]=0;a[47168]=0;a[47140]=Yo(A,0,101409,0)|0;return}function oW(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0;i=a[(a[(a[A>>2]|0)+16>>2]|0)+96>>2]|0;A=a[(a[(a[e>>2]|0)+16>>2]|0)+96>>2]|0;e=(A|0)!=0;if(i)if(e?(f=+b[i+24>>3],l=+b[i+32>>3],r=+b[A+24>>3],n=+b[A+32>>3],!(f>r)):0)if(!(fn)A=-1;else A=l>2]|0)+116>>2]|0;if(!e)break;else A=e}e=a[A>>2]&3;i=a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;r=a[i+232>>2]|0;A=a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;e=a[A+232>>2]|0;if((r|0)<=(e|0))if((r|0)<(e|0))A=1;else A=(a[i+236>>2]|0)<(a[A+236>>2]|0)&1;else A=0;return A|0}function dW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=k;k=k+16|0;r=i+8|0;f=i;l=(a[A+16>>2]|0)+180|0;n=(a[e+16>>2]|0)+172|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];e=BW(A,f,e,r)|0;k=i;return e|0}function BW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=a[e+4>>2]|0;A:do{if((f|0)>0?(n=a[r+4>>2]|0,(n|0)>0):0)if((f|0)<(n|0)){f=a[e>>2]|0;r=0;while(1){e=a[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(i|0))break;else r=r+1|0}}else{f=a[r>>2]|0;r=0;while(1){e=a[f+(r<<2)>>2]|0;if(!e){e=0;break A}if((a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(A|0))break;else r=r+1|0}}else e=0}while(0);return e|0}function vW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;i=k;k=k+16|0;r=i+8|0;f=i;l=(a[A+16>>2]|0)+188|0;n=(a[e+16>>2]|0)+196|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];e=BW(A,f,e,r)|0;k=i;return e|0}function gW(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[i+180>>2]|0;if(!e)e=$F((a[i+184>>2]<<2)+8|0)|0;else e=eV(e,(a[i+184>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;i=a[f+180>>2]|0;f=f+184|0;e=a[f>>2]|0;a[f>>2]=e+1;a[i+(e<<2)>>2]=A;r=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=A+-48|0;e=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;e=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;e=e+176|0;f=a[e>>2]|0;a[e>>2]=f+1;a[i+(f<<2)>>2]=A;f=a[(a[((a[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;a[(a[f+172>>2]|0)+(a[f+176>>2]<<2)>>2]=0;return A|0}function EW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;r=A+4|0;f=a[r>>2]|0;i=0;while(1){if((i|0)>=(f|0))break;n=a[A>>2]|0;l=n+(i<<2)|0;if((a[l>>2]|0)==(e|0)){t=4;break}else i=i+1|0}if((t|0)==4){t=f+-1|0;a[r>>2]=t;a[l>>2]=a[n+(t<<2)>>2];a[(a[A>>2]|0)+(t<<2)>>2]=0}return}function CW(A){A=A|0;if(!A)vA(85551,85561,117,85570);else{EW((a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180|0,A);EW((a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172|0,A);return}}function IW(A){A=A|0;var e=0,i=0,r=0,f=0;r=A+48|0;i=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[i+204>>2]|0;if(!e)e=$F((a[i+208>>2]<<2)+8|0)|0;else e=eV(e,(a[i+208>>2]<<2)+8|0)|0;a[(a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+204>>2]=e;f=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=a[f+204>>2]|0;f=f+208|0;i=a[f>>2]|0;a[f>>2]=i+1;a[e+(i<<2)>>2]=A;r=a[(a[((a[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;a[(a[r+204>>2]|0)+(a[r+208>>2]<<2)>>2]=0;return}function ZW(A){A=A|0;GW(A,(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function GW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=e+4|0;r=a[l>>2]|0;f=a[e>>2]|0;i=0;while(1){if((i|0)>=(r|0)){n=4;break}if((a[f+(i<<2)>>2]|0)==(A|0))break;else i=i+1|0}if((n|0)==4){if(!f)i=$F((r<<2)+8|0)|0;else i=eV(f,(r<<2)+8|0)|0;a[e>>2]=i;f=a[l>>2]|0;n=f+1|0;a[l>>2]=n;a[i+(f<<2)>>2]=A;a[(a[e>>2]|0)+(n<<2)>>2]=0}return}function QW(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=qF(96)|0;n=u+48|0;a[n>>2]=a[n>>2]|3;a[u>>2]=a[u>>2]&-4|2;l=qF(176)|0;w=u+16|0;a[w>>2]=l;a[((a[u>>2]&3|0)==3?u:n)+40>>2]=A;c=u+-48|0;a[((a[u>>2]&3|0)==2?u:c)+40>>2]=e;r[l+112>>0]=1;if(!i){a[l+156>>2]=1;f[l+154>>1]=1;f[l+168>>1]=1;f[l+170>>1]=1}else{a[u>>2]=a[u>>2]&15|a[i>>2]&-16;a[n>>2]=a[n>>2]&15|a[i>>2]&-16;s=i+16|0;t=a[s>>2]|0;f[l+168>>1]=f[t+168>>1]|0;f[l+154>>1]=f[t+154>>1]|0;a[l+156>>2]=a[t+156>>2];f[l+170>>1]=f[t+170>>1]|0;A=a[((a[u>>2]&3|0)==3?u:n)+40>>2]|0;e=a[i>>2]&3;b=i+48|0;if((A|0)!=(a[((e|0)==3?i:b)+40>>2]|0)){n=i+-48|0;if((A|0)==(a[((e|0)==2?i:n)+40>>2]|0)){l=l+16|0;A=t+56|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=l+16|0;A=t+16|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0));n=i+-48|0}A=a[((a[u>>2]&3|0)==2?u:c)+40>>2]|0;e=a[i>>2]&3;if((A|0)!=(a[((e|0)==2?i:n)+40>>2]|0)){if((A|0)==(a[((e|0)==3?i:b)+40>>2]|0)){l=(a[w>>2]|0)+56|0;A=(a[s>>2]|0)+16|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}}else{l=(a[w>>2]|0)+56|0;A=(a[s>>2]|0)+56|0;e=l+40|0;do{a[l>>2]=a[A>>2];l=l+4|0;A=A+4|0}while((l|0)<(e|0))}A=(a[s>>2]|0)+172|0;if(!(a[A>>2]|0))a[A>>2]=u;a[(a[w>>2]|0)+116>>2]=i}return u|0}function mW(A,e,i){A=A|0;e=e|0;i=i|0;return gW(QW(A,e,i)|0)|0}function LW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A=(a[A+16>>2]|0)+192|0;f=a[A>>2]|0;i=a[e+16>>2]|0;a[i+164>>2]=f;r=f;if(f|0)a[(a[r+16>>2]|0)+168>>2]=e;a[A>>2]=e;a[i+168>>2]=0;if((r|0)==(e|0))vA(85587,85561,215,85603);else return}function WW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;if((A|0)==(e|0))vA(85613,85561,220,85620);f=a[e+16>>2]|0;i=f+164|0;if(a[i>>2]|0)vA(85633,85561,221,85620);r=(a[A+16>>2]|0)+164|0;a[i>>2]=a[r>>2];i=a[r>>2]|0;if(i|0)a[(a[i+16>>2]|0)+168>>2]=e;a[f+168>>2]=A;a[r>>2]=e;return}function yW(A,e){A=A|0;e=e|0;var i=0,r=0;if(!(zW(A,e)|0))vA(85652,85561,231,85673);e=a[e+16>>2]|0;i=a[e+164>>2]|0;r=i;e=e+168|0;if(i|0)a[(a[i+16>>2]|0)+168>>2]=a[e>>2];e=a[e>>2]|0;if(!e)a[(a[A+16>>2]|0)+192>>2]=r;else a[(a[e+16>>2]|0)+164>>2]=r;return}function zW(A,e){A=A|0;e=e|0;A=(a[A+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if((A|0)==0|(A|0)==(e|0))break;A=(a[A+16>>2]|0)+164|0}return A|0}function YW(A){A=A|0;var e=0,i=0,f=0,n=0;e=qF(64)|0;a[e>>2]=a[e>>2]&-4|1;i=e+16|0;a[i>>2]=qF(304)|0;a[e+24>>2]=Zd(A)|0;n=a[i>>2]|0;r[n+156>>0]=1;b[n+96>>3]=1.0;b[n+88>>3]=1.0;b[n+80>>3]=1.0;a[n+216>>2]=1;a[n+176>>2]=0;n=qF(20)|0;f=a[i>>2]|0;a[f+172>>2]=n;a[f+184>>2]=0;f=qF(20)|0;a[(a[i>>2]|0)+180>>2]=f;LW(A,e);A=(a[A+16>>2]|0)+232|0;a[A>>2]=(a[A>>2]|0)+1;return e|0}function DW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=e+48|0;i=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;f=a[i+188>>2]|0;if(!f)i=$F((a[i+192>>2]<<2)+8|0)|0;else i=eV(f,(a[i+192>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0)+188>>2]=i;l=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;f=a[l+188>>2]|0;l=l+192|0;i=a[l>>2]|0;a[l>>2]=i+1;a[f+(i<<2)>>2]=e;n=a[(a[((a[e>>2]&3|0)==3?e:n)+40>>2]|0)+16>>2]|0;a[(a[n+188>>2]|0)+(a[n+192>>2]<<2)>>2]=0;n=e+-48|0;i=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;f=a[i+196>>2]|0;if(!f)i=$F((a[i+200>>2]<<2)+8|0)|0;else i=eV(f,(a[i+200>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+196>>2]=i;i=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;f=a[i+196>>2]|0;i=i+200|0;l=a[i>>2]|0;a[i>>2]=l+1;a[f+(l<<2)>>2]=e;l=a[(a[((a[e>>2]&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;a[(a[l+196>>2]|0)+(a[l+200>>2]<<2)>>2]=0;r[(a[A+16>>2]|0)+240>>0]=1;r[(a[(gL(A)|0)+16>>2]|0)+240>>0]=1;return}function MW(A){A=A|0;var e=0,i=0;if(!A)vA(85551,85561,269,85690);e=a[(a[A+16>>2]|0)+116>>2]|0;if(e|0?(i=(a[e+16>>2]|0)+172|0,(a[i>>2]|0)==(A|0)):0)a[i>>2]=0;EW((a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+188|0,A);EW((a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+196|0,A);return}function FW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=k;k=k+16|0;i=(a[A+16>>2]|0)+172|0;r=a[i>>2]|0;do{if((r|0)!=(e|0))if(!r){a[i>>2]=e;VW(A,e);break}else vA(87593,85561,340,85728);else ao(0,85707,f)|0}while(0);k=f;return}function VW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,t=0;i=(a[e+16>>2]|0)+170|0;t=a[A+16>>2]|0;A=f[t+170>>1]|0;if((l[i>>1]|0)<(A&65535))f[i>>1]=A;r=t+168|0;n=t+154|0;i=t+156|0;A=e;while(1){if(!A)break;e=a[A+16>>2]|0;t=e+168|0;f[t>>1]=(l[t>>1]|0)+(l[r>>1]|0);t=e+154|0;f[t>>1]=(l[t>>1]|0)+(l[n>>1]|0);t=e+156|0;a[t>>2]=(a[t>>2]|0)+(a[i>>2]|0);A=a[e+172>>2]|0}return}function JW(A){A=A|0;var e=0,i=0,n=0,l=0;i=A+16|0;e=a[(a[i>>2]|0)+172>>2]|0;A:while(1){if(!e)break;NW(e,A);l=a[e+16>>2]|0;n=a[l+172>>2]|0;if(!(f[l+168>>1]|0))XW(e);while(1){if((r[(a[e+16>>2]|0)+112>>0]|0)!=1){e=n;continue A}e=a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((r[e+156>>0]|0)!=1){e=n;continue A}if((a[e+184>>2]|0)!=1){e=n;continue A}e=a[a[e+180>>2]>>2]|0;NW(e,A)}}a[(a[i>>2]|0)+172>>2]=0;return}function NW(A,e){A=A|0;e=e|0;var i=0;i=a[e+16>>2]|0;e=a[A+16>>2]|0;A=e+168|0;f[A>>1]=(l[A>>1]|0)-(l[i+168>>1]|0);A=e+154|0;f[A>>1]=(l[A>>1]|0)-(l[i+154>>1]|0);e=e+156|0;a[e>>2]=(a[e>>2]|0)-(a[i+156>>2]|0);return}function XW(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(!A)vA(85551,85561,128,85741);n=A+48|0;i=0;while(1){e=a[A>>2]|0;r=(a[(a[((e&3|0)==3?A:n)+40>>2]|0)+16>>2]|0)+180|0;f=a[(a[r>>2]|0)+(i<<2)>>2]|0;if(!f)break;if((f|0)==(A|0))EW(r,A);i=i+1|0}n=A+-48|0;f=0;while(1){i=(a[(a[((e&3|0)==2?A:n)+40>>2]|0)+16>>2]|0)+172|0;r=a[(a[i>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)==(A|0)){EW(i,A);e=a[A>>2]|0}f=f+1|0}return}function RW(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;o=k;k=k+1040|0;w=o+1032|0;u=o;s=o+8|0;b=A+16|0;A=a[b>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;t=a[A+196>>2]|0;l=t+(c<<6)|0;t=t+(c<<6)+4|0;n=0;A=0;while(1){if((n|0)>=(a[l>>2]|0))break;e=a[(a[t>>2]|0)+(n<<2)>>2]|0;i=e+16|0;if(a[(a[i>>2]|0)+112>>2]|0){if(!A){r[w>>0]=r[18588]|0;r[w+1>>0]=r[18589]|0;r[w+2>>0]=r[18590]|0;r[w+3>>0]=r[18591]|0;A=kh(85763,w,0)|0}a[u>>2]=n;P4(s,137395,u)|0;v=vd(A,s,1)|0;Td(v,91164,24,1)|0;h=a[(a[i>>2]|0)+180>>2]|0;d=a[h>>2]|0;d=a[(a[(a[((a[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=a[h+4>>2]|0;h=a[(a[(a[((a[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;B=(d|0)>(h|0);i=a[v+16>>2]|0;a[i+12>>2]=B?h:d;a[i+16>>2]=B?d:h;a[i+20>>2]=e}n=n+1|0}if(A|0){if((vh(A)|0)>1)HW(A,l);Bh(A)|0}c=c+1|0;A=a[b>>2]|0}k=o;return}function HW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;i=0;l=cd(A)|0;A:while(1){if(!l)break;t=bd(A,l)|0;c=l+16|0;n=t;while(1){if(!n){l=t;continue A}f=a[n+16>>2]|0;r=a[c>>2]|0;if((a[f+16>>2]|0)>(a[r+12>>2]|0)){if((a[r+16>>2]|0)<=(a[f+12>>2]|0))th(A,l,n,0,1)|0}else{th(A,n,l,0,1)|0;i=1}n=bd(A,n)|0}}do{if(i|0){l=XB(A,85766,1)|0;c=qF((vh(A)|0)<<2)|0;t=qF((vh(A)|0)<<2)|0;f=e+4|0;r=cd(A)|0;A:while(1){if(!r){i=23;break}if((a[(a[r+16>>2]|0)+8>>2]|0)==0?Eh(A,r,1,1)|0:0){e:do{if(pW(A,r,l,t)|0){n=vh(l)|0;if((UW(A,l,c)|0)!=(n|0)){i=17;break A}K4(t,n,4,60);i=0;while(1){if((i|0)>=(n|0))break e;e=t+(i<<2)|0;b=a[c+(i<<2)>>2]|0;a[(a[b+16>>2]|0)+236>>2]=a[e>>2];a[(a[f>>2]|0)+(a[e>>2]<<2)>>2]=b;i=i+1|0}}}while(0);TW(l)}r=bd(A,r)|0}if((i|0)==17)vA(85771,85781,265,85792);else if((i|0)==23){L2(c);break}}}while(0);return}function pW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=a[e+16>>2]|0;a[l+8>>2]=1;l=a[(a[(a[l+20>>2]|0)+16>>2]|0)+236>>2]|0;a[r+((vh(i)|0)<<2)>>2]=l;kd(i,e,1)|0;l=Oo(A,e)|0;f=0;while(1){if(!l)break;c=a[l>>2]&3;n=a[((c|0)==2?l:l+-48|0)+40>>2]|0;t=a[n+16>>2]|0;f=f+((a[(a[(a[t+20>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[(a[(a[((c|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(a[t+8>>2]|0))f=(pW(A,n,i,r)|0)+f|0;l=_o(A,l)|0}l=qo(A,e)|0;while(1){if(!l)break;t=a[l>>2]&3;n=a[((t|0)==3?l:l+48|0)+40>>2]|0;c=a[n+16>>2]|0;f=f+((a[(a[(a[(a[(a[((t|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[c+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(a[c+8>>2]|0))f=(pW(A,n,i,r)|0)+f|0;l=$o(A,l)|0}return f|0}function UW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=0;while(1){r=jW(A,e)|0;if(!r)break;a[i+(f<<2)>>2]=a[(a[r+16>>2]|0)+20>>2];Ed(e,r)|0;r=Oo(A,r)|0;while(1){if(!r)break;n=_o(A,r)|0;sh(A,r)|0;r=n}f=f+1|0}return f|0}function xW(A,e){A=A|0;e=e|0;return(a[A>>2]|0)-(a[e>>2]|0)|0}function TW(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;i=bd(A,e)|0;Ed(A,e)|0;e=i}return}function jW(A,e){A=A|0;e=e|0;var i=0;i=cd(e)|0;while(1){if(!i){i=0;break}if(!(Eh(A,i,1,0)|0))break;i=bd(e,i)|0}return i|0}function SW(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;PW(A);t=A+16|0;f=0;i=0;while(1){if((f|0)>=(a[(a[t>>2]|0)+220>>2]|0))break;OW(A,f);f=f+1|0;i=(KW(A,0,e)|0)+i|0}_W(A);l=1;while(1){f=a[t>>2]|0;n=a[f+180>>2]|0;if((l|0)>(n|0))break;n=(qW(a[(a[f+184>>2]|0)+(l<<2)>>2]|0,e)|0)+i|0;l=l+1|0;i=n}do{if((n|0)>0){f=po(A,85806)|0;if(f|0?(gR(f)|0)<<24>>24==0:0)break;ID(A);r[193769]=1;i=KW(A,2,e)|0}}while(0);$W(A,i);return}function PW(A){A=A|0;var e=0;if(0)tR();r[193769]=0;a[46741]=A;e=((gh(gL(A)|0)|0)<<2)+4|0;a[46740]=qF(e)|0;a[46739]=qF(e)|0;Uy(A);e=A+16|0;if(f[(a[e>>2]|0)+136>>1]&16)xy(A);fD(A);jD(A,1);Ty(A);ny(A);e=a[e>>2]|0;a[46742]=f[e+236>>1];a[46743]=f[e+238>>1];return}function OW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;A=a[A+16>>2]|0;a[A+192>>2]=a[(a[A+216>>2]|0)+(e<<2)>>2];A:do{if((e|0)>0){e=f[A+238>>1]|0;i=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(e|0))break A;r=a[i>>2]|0;n=r+(A<<6)+4|0;r=r+(A<<6)|0;a[n>>2]=(a[n>>2]|0)+(a[r>>2]<<2);a[r>>2]=0;A=A+1|0}}}while(0);return}function KW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+32|0;w=u;if((e|0)>1){r=Cy(0)|0;Iy(A)}else r=2147483647;s=a[15712]|0;c=e;f=0;e=r;while(1){if((c|0)>=3)break;f=a[47136]|0;if((c|0)==2)if((r|0)>(e|0)){Gy(A);r=e}else r=e;else{r=(f|0)<4?f:4;if((gL(A)|0)==(A|0))Zy(A,c);if(!c)ly(A);ty(A);n=Cy(0)|0;if((n|0)>(e|0)){f=r;r=n}else{Iy(A);f=r;r=n;e=n}}n=0;t=0;while(1){if((t|0)>=(f|0))break;if(0){a[w>>2]=c;a[w+4>>2]=t;a[w+8>>2]=n;a[w+12>>2]=r;a[w+16>>2]=e;f3(s,86199,w)|0}l=n+1|0;if((r|0)==0|(n|0)>=(a[46744]|0))break;Qy(A,t);r=Cy(0)|0;if((r|0)>(e|0))n=l;else{Iy(A);n=+b[23215]*+(e|0)>+(r|0)?0:l;e=r}t=t+1|0}if(!r){r=0;break}else c=c+1|0}if((r|0)>(e|0))Gy(A);if((e|0)>0){my(A,0);r=Cy(0)|0}else r=e;A:do{if(i|0){e=0;while(1){if((e|0)>=(f|0))break A;Ly(A);e=e+1|0}}}while(0);k=u;return r|0}function _W(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;w=o;Ey(A);b=A+16|0;e=a[b>>2]|0;s=a[15712]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;i=a[e+196>>2]|0;r=a[i+(c<<6)+8>>2]|0;a[i+(c<<6)>>2]=r;n=a[i+(c<<6)+12>>2]|0;a[i+(c<<6)+4>>2]=n;t=0;while(1){if((t|0)>=(r|0))break;l=a[n+(t<<2)>>2]|0;if(!l){u=6;break}a[(a[l+16>>2]|0)+236>>2]=t;t=t+1|0}if((u|0)==6){u=0;if(0){i=Vh(A)|0;e=a[(a[(a[b>>2]|0)+196>>2]|0)+(c<<6)>>2]|0;a[w>>2]=i;a[w+4>>2]=c;a[w+8>>2]=t;a[w+12>>2]=e;f3(s,86149,w)|0;e=a[b>>2]|0;i=a[e+196>>2]|0}a[i+(c<<6)>>2]=t}c=c+1|0}k=o;return}function qW(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;dD(A);ny(A);ly(A);ty(A);f=A+16|0;i=KW(A,2,e)|0;r=1;while(1){n=a[f>>2]|0;if((r|0)>(a[n+180>>2]|0))break;i=(qW(a[(a[n+184>>2]|0)+(r<<2)>>2]|0,e)|0)+i|0;r=r+1|0}cy(A);return i|0}function $W(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+16|0;o=h;i=a[46739]|0;if(i|0){L2(i);a[46739]=0}i=a[46740]|0;if(i|0){L2(i);a[46740]=0}u=A+16|0;i=1;while(1){n=a[u>>2]|0;if((i|0)>(a[n+180>>2]|0))break;Ay(a[(a[n+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0}w=f[n+236>>1]|0;i=n;while(1){if((w|0)>(f[i+238>>1]|0))break;else s=0;while(1){i=a[i+196>>2]|0;if((s|0)>=(a[i+(w<<6)>>2]|0))break;c=(a[(a[i+(w<<6)+4>>2]|0)+(s<<2)>>2]|0)+16|0;i=a[c>>2]|0;a[i+236>>2]=s;i=a[i+188>>2]|0;A:do{if(i|0){n=0;while(1){l=a[i+(n<<2)>>2]|0;if(!l)break A;t=l+16|0;if((r[(a[t>>2]|0)+112>>0]|0)==4){MW(l);L2(a[t>>2]|0);L2(l);n=n+-1|0;i=a[(a[c>>2]|0)+188>>2]|0}n=n+1|0}}}while(0);s=s+1|0;i=a[u>>2]|0}ey(a[i+(w<<6)+56>>2]|0);w=w+1|0;i=a[u>>2]|0}if(0){u=a[15712]|0;A=Vh(A)|0;d=+cR();a[o>>2]=A;a[o+4>>2]=e;b[o+8>>3]=d;f3(u,85817,o)|0}k=h;return}function Ay(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;n=A+16|0;e=1;while(1){r=a[n>>2]|0;if((e|0)>(a[r+180>>2]|0))break;Ay(a[(a[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}A:do{if(a[r+268>>2]|0){i=f[r+236>>1]|0;e=r;while(1){if((i|0)>(f[e+238>>1]|0))break A;c=a[(a[e+268>>2]|0)+(i<<2)>>2]|0;t=iy(A,c,-1)|0;c=iy(A,c,1)|0;a[(a[(a[n>>2]|0)+268>>2]|0)+(i<<2)>>2]=t;b=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;t=a[(a[t+16>>2]|0)+236>>2]|0;r=a[n>>2]|0;l=a[r+196>>2]|0;a[l+(i<<6)+4>>2]=b+(t<<2);a[l+(i<<6)>>2]=(a[(a[c+16>>2]|0)+236>>2]|0)+1-t;i=i+1|0;e=r}}}while(0);return}function ey(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function iy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=e;while(1){e=ry(e,i)|0;if(!e)break;if(fy(A,e)|0){r=e;continue}f=(ay(A,e)|0)==0;r=f?r:e}return r|0}function ry(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(!A)vA(85856,85781,1023,85858);if((e|0)<0){A=a[A+16>>2]|0;r=a[A+236>>2]|0;if((r|0)>0){A=(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(a[A+232>>2]<<6)+4|0;i=r+-1|0;f=7}else n=0}else{A=a[A+16>>2]|0;r=a[A+236>>2]|0;A=(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(a[A+232>>2]<<6)+4|0;i=r+1|0;f=7}if((f|0)==7){A=a[(a[A>>2]|0)+(i<<2)>>2]|0;if(A)if((U((a[(a[A+16>>2]|0)+236>>2]|0)-r|0,e)|0)>0)n=A;else vA(85867,85781,1029,85858);else n=0}return n|0}function fy(A,e){A=A|0;e=e|0;if(!(r[(a[e+16>>2]|0)+156>>0]|0))A=(Dd(A,e)|0)!=0&1;else A=0;return A|0}function ay(A,e){A=A|0;e=e|0;var i=0,f=0;e=a[e+16>>2]|0;if(((r[e+156>>0]|0)==1?(a[e+176>>2]|0)==1:0)?(a[e+184>>2]|0)==1:0){e=a[e+180>>2]|0;while(1){e=a[e>>2]|0;i=a[e+16>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}if(Dd(A,e)|0)e=1;else f=7}else f=7;if((f|0)==7)e=0;return e|0}function ny(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=a[47140]|0;A:do{if((e|0)!=0|(a[47161]|0)!=0){e=dR(A,e,0)|0;if(e|0){switch(r[e>>0]|0){case 0:break A;case 111:{if(!(A1(e,86069)|0)){hy(A,1);break A}break}case 105:{if(!(A1(e,98735)|0)){hy(A,0);break A}break}default:{}}a[i>>2]=e;ao(1,86073,i)|0;break}e=RB(A)|0;while(1){if(!e)break;if(!(eY(e)|0))ny(e);e=HB(e)|0}if(a[47161]|0)dy(A)}}while(0);k=f;return}function ly(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;e=a[b>>2]|0;c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0))break;else{i=0;t=0}while(1){n=a[e+196>>2]|0;l=a[n+(c<<6)>>2]|0;if((t|0)>=(l|0))break;n=a[(a[(a[n+(c<<6)+4>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;r[n+158>>0]=0;r[n+157>>0]=0;a[n+284>>2]=t;if((i|0)==0&(a[n+192>>2]|0)>0){i=ky(l,l)|0;e=a[b>>2]|0;a[(a[e+196>>2]|0)+(c<<6)+56>>2]=i;i=1}t=t+1|0}A:do{if(i){t=0;i=l;while(1){if((t|0)>=(i|0))break A;l=a[(a[n+(c<<6)+4>>2]|0)+(t<<2)>>2]|0;if(!(r[(a[l+16>>2]|0)+157>>0]|0)){oy(A,l);e=a[b>>2]|0;i=a[e+196>>2]|0;n=i;i=a[i+(c<<6)>>2]|0}t=t+1|0}}}while(0);c=c+1|0}return}function ty(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;B=A+16|0;e=a[B>>2]|0;if(r[e+240>>0]|0){l=0;d=f[e+236>>1]|0;h=0;t=0;A:while(1){if((d|0)>(f[e+238>>1]|0))break;i=a[e+196>>2]|0;n=a[i+(d<<6)>>2]|0;if(!n){n=h;i=t}else{i=a[i+(d<<6)+4>>2]|0;k=a[(a[(a[i>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;r[(a[(a[i+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!l)o=$F(e)|0;else o=eV(t,e)|0;w=0;u=0;while(1){e=a[B>>2]|0;i=a[e+196>>2]|0;n=a[i+(d<<6)>>2]|0;if((n|0)<=(u|0))break;c=a[(a[i+(d<<6)+4>>2]|0)+(((a[e+116>>2]&1|0)==0?n+~u|0:u)<<2)>>2]|0;s=c+16|0;e=0;b=0;while(1){t=a[s>>2]|0;if((e|0)>=(a[t+200>>2]|0)){i=0;n=0;e=t;break}t=b+((by(A,a[(a[t+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;b=t}while(1){if((n|0)>=(a[e+192>>2]|0))break;t=i+((by(A,a[(a[e+188>>2]|0)+(n<<2)>>2]|0)|0)!=0&1)|0;i=t;n=n+1|0;e=a[s>>2]|0}if(i|b)if((b|0)==0&(r[e+157>>0]|0)==0)e=(sy(A,c,o+(w<<2)|0,d)|0)+w|0;else e=w;else{a[o+(w<<2)>>2]=c;e=w+1|0}w=e;u=u+1|0}e:do{if(w){i:do{if(!(a[e+116>>2]&1)){i=o;e=o+(w<<2)|0;while(1){e=e+-4|0;if(i>>>0>=e>>>0){n=0;break i}u=a[i>>2]|0;a[i>>2]=a[e>>2];a[e>>2]=u;i=i+4|0}}else n=0}while(0);while(1){e=a[B>>2]|0;t=a[e+196>>2]|0;i=a[t+(d<<6)>>2]|0;if((n|0)>=(i|0)){w=0;n=t;break}u=a[o+(n<<2)>>2]|0;a[(a[t+(d<<6)+4>>2]|0)+(n<<2)>>2]=u;a[(a[u+16>>2]|0)+236>>2]=n+k;n=n+1|0}while(1){if((w|0)>=(i|0))break e;s=(a[(a[n+(d<<6)+4>>2]|0)+(w<<2)>>2]|0)+16|0;t=a[(a[s>>2]|0)+188>>2]|0;if(t){b=0;i=t;while(1){n=a[i+(b<<2)>>2]|0;e=a[B>>2]|0;if(!n)break;c=a[n>>2]&3;t=a[(a[(a[((c|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=a[(a[(a[((c|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(a[e+116>>2]&1))if((t|0)<(c|0))v=36;else e=b;else if((t|0)>(c|0))v=36;else e=b;if((v|0)==36){v=0;if(by(A,n)|0){v=37;break A}MW(n);wy(A,n);e=b+-1|0;i=a[(a[s>>2]|0)+188>>2]|0}b=e+1|0}i=a[e+196>>2]|0;n=i;i=a[i+(d<<6)>>2]|0}w=w+1|0}}}while(0);r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(d<<6)+49>>0]=0;l=o;n=o;i=o}d=d+1|0;h=n;t=i}if((v|0)==37)vA(85915,85781,1561,85954);if(l|0)L2(h)}return}function cy(A){A=A|0;var e=0,i=0;i=A+16|0;A=a[i>>2]|0;A:do{if(a[A+268>>2]|0){e=f[A+236>>1]|0;while(1){if((e|0)>(f[A+238>>1]|0))break A;a[(a[A+268>>2]|0)+(e<<2)>>2]=a[a[(a[A+196>>2]|0)+(e<<6)+4>>2]>>2];e=e+1|0;A=a[i>>2]|0}}}while(0);return}function by(A,e){A=A|0;e=e|0;if((a[(a[e+16>>2]|0)+156>>2]|0)!=0?(uy(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)!=0:0)A=(uy(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)!=0&1;else A=0;return A|0}function sy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=e+16|0;n=a[s>>2]|0;r[n+157>>0]=1;A:do{if((a[n+192>>2]|0)>0){l=0;c=0;while(1){t=a[(a[n+188>>2]|0)+(c<<2)>>2]|0;if(!t)break A;if((by(A,t)|0)!=0?(b=a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,(r[(a[b+16>>2]|0)+157>>0]|0)==0):0)l=(sy(A,b,i+(l<<2)|0,f)|0)+l|0;c=c+1|0;n=a[s>>2]|0}}else l=0}while(0);if((a[n+232>>2]|0)==(f|0)){a[i+(l<<2)>>2]=e;return l+1|0}else vA(85967,85781,1490,85983);return 0}function wy(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;t=a[e>>2]&3;c=a[((t|0)==2?e:e+-48|0)+40>>2]|0;f=a[(a[c+16>>2]|0)+188>>2]|0;A:do{if(!f){i=e+48|0;w=15}else{s=e+48|0;n=((t|0)==3?e:s)+40|0;i=0;while(1){l=a[f+(i<<2)>>2]|0;if(!l){i=s;w=15;break A}if((a[((a[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)==(a[n>>2]|0))break;else i=i+1|0}FW(e,l);i=(a[e+16>>2]|0)+172|0;if(!(a[i>>2]|0))a[i>>2]=l;i=a[l+16>>2]|0;if((r[i+112>>0]|0)==4?(b=i+116|0,(a[b>>2]|0)==0):0)a[b>>2]=e;i=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;f=a[i+204>>2]|0;if(!f)i=$F((a[i+208>>2]<<2)+8|0)|0;else i=eV(f,(a[i+208>>2]<<2)+8|0)|0;a[(a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0)+204>>2]=i;t=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;c=a[t+204>>2]|0;t=t+208|0;b=a[t>>2]|0;a[t>>2]=b+1;a[c+(b<<2)>>2]=e;e=a[(a[((a[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;a[(a[e+204>>2]|0)+(a[e+208>>2]<<2)>>2]=0}}while(0);if((w|0)==15){w=QW(c,a[((t|0)==3?e:i)+40>>2]|0,e)|0;s=a[e+16>>2]|0;e=a[w+16>>2]|0;r[e+112>>0]=(r[s+112>>0]|0)==4?4:3;a[e+96>>2]=a[s+96>>2];DW(A,w)}return}function uy(A,e){A=A|0;e=e|0;var i=0;i=fy(A,e)|0;return ay(A,e)|0|i|0}function ky(A,e){A=A|0;e=e|0;var i=0;i=qF(12)|0;a[i>>2]=A;a[i+4>>2]=e;a[i+8>>2]=qF(U(e,A)|0)|0;return i|0}function oy(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;k=e+16|0;s=a[k>>2]|0;b=a[(a[(a[A+16>>2]|0)+196>>2]|0)+(a[s+232>>2]<<6)+56>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=(a[(a[(gL(A)|0)+16>>2]|0)+180>>2]|0)>0;i=a[k>>2]|0;f=a[i+188>>2]|0;A:do{if(f){w=b+4|0;u=b+8|0;e=0;e:while(1){c=a[f+(e<<2)>>2]|0;if(!c){o=i;break A}if(s){if((Dd(A,a[((a[c>>2]&3|0)==3?c:c+48|0)+40>>2]|0)|0)!=0?(Dd(A,a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)|0)!=0:0)h=7}else h=7;do{if((h|0)==7){h=0;l=c+16|0;if(a[(a[l>>2]|0)+156>>2]|0){i=a[c>>2]&3;n=c+-48|0;d=a[(a[((i|0)==2?c:n)+40>>2]|0)+16>>2]|0;t=a[d+284>>2]|0;f=(t|0)<(a[b>>2]|0);if((r[d+158>>0]|0)==1){if(!f){h=10;break e}i=a[(a[(a[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=a[w>>2]|0;if((i|0)>=(f|0)){h=12;break e}r[(a[u>>2]|0)+((U(f,t)|0)+i)>>0]=1;MW(c);e=e+-1|0;if((r[(a[l>>2]|0)+112>>0]|0)==4)break;wy(A,c);break}else{if(!f){h=16;break e}i=a[(a[(a[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=a[w>>2]|0;if((i|0)>=(f|0)){h=18;break e}r[(a[u>>2]|0)+((U(f,i)|0)+t)>>0]=1;i=a[((a[c>>2]&3|0)==2?c:n)+40>>2]|0;if(r[(a[i+16>>2]|0)+157>>0]|0)break;oy(A,i);break}}}}while(0);f=a[k>>2]|0;e=e+1|0;i=f;f=a[f+188>>2]|0}if((h|0)==10)vA(85993,85781,1251,86025);else if((h|0)==12)vA(86037,85781,1252,86025);else if((h|0)==16)vA(85993,85781,1260,86025);else if((h|0)==18)vA(86037,85781,1261,86025)}else o=i}while(0);r[o+158>>0]=0;return}function hy(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i)break;By(A,i,e);i=bd(A,i)|0}return}function dy(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n;e=cd(A)|0;while(1){if(!e)break;i=dR(e,a[47161]|0,0)|0;A:do{if(i|0){switch(r[i>>0]|0){case 0:break A;case 111:{if(!(A1(i,86069)|0)){By(A,e,1);break A}break}case 105:{if(!(A1(i,98735)|0)){By(A,e,0);break A}break}default:{}}l=Vh(e)|0;a[f>>2]=i;a[f+4>>2]=l;ao(1,86104,f)|0}}while(0);e=bd(A,e)|0}k=n;return}function By(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=a[46740]|0;l=e+16|0;f=a[l>>2]|0;A:do{if(!(a[f+212>>2]|0)){t=(i|0)!=0;e:do{if(t){n=0;e=0;i=f;while(1){f=a[(a[i+180>>2]|0)+(n<<2)>>2]|0;if(!f)break e;if(!(vy(f)|0)){a[c+(e<<2)>>2]=f;e=e+1|0;i=a[l>>2]|0}n=n+1|0}}else{n=0;e=0;i=f;while(1){f=a[(a[i+172>>2]|0)+(n<<2)>>2]|0;if(!f)break e;if(!(vy(f)|0)){a[c+(e<<2)>>2]=f;e=e+1|0;i=a[l>>2]|0}n=n+1|0}}}while(0);if((e|0)>=2){a[c+(e<<2)>>2]=0;K4(c,e,4,61);l=t?2:3;n=t?-1:1;f=1;while(1){e=a[c+(f<<2)>>2]|0;if(!e)break A;i=a[c+(f+-1<<2)>>2]|0;i=a[((a[i>>2]&3|0)==(l|0)?i:i+(n*48|0)|0)+40>>2]|0;e=a[((a[e>>2]&3|0)==(l|0)?e:e+(n*48|0)|0)+40>>2]|0;if(vW(i,e)|0)break A;t=QW(i,e,0)|0;r[(a[t+16>>2]|0)+112>>0]=4;DW(A,t);f=f+1|0}}}}while(0);return}function vy(A){A=A|0;var e=0;while(1){e=a[(a[A+16>>2]|0)+116>>2]|0;if(!e)break;else A=e}e=a[A>>2]&3;return(a[(a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(a[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function gy(A,e){A=A|0;e=e|0;return((a[a[A>>2]>>2]|0)>>>4)-((a[a[e>>2]>>2]|0)>>>4)|0}function Ey(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0;r=a[A+16>>2]|0;n=r+220|0;l=a[n>>2]|0;if((l|0)>=2){t=r+216|0;A=0;i=0;while(1){if((i|0)>=(l|0))break;e=a[(a[t>>2]|0)+(i<<2)>>2]|0;if(A|0)a[(a[A+16>>2]|0)+164>>2]=e;c=a[e+16>>2]|0;a[c+168>>2]=A;A=e;e=c;while(1){e=a[e+164>>2]|0;if(!e)break;A=e;e=a[e+16>>2]|0}i=i+1|0}a[n>>2]=1;a[r+192>>2]=a[a[r+216>>2]>>2];f[r+236>>1]=a[46742];f[r+238>>1]=a[46743]}return}function Cy(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0;t=a[46741]|0;c=t+16|0;i=a[c>>2]|0;n=0;l=f[i+236>>1]|0;while(1){if((l|0)>=(f[i+238>>1]|0))break;A=a[i+196>>2]|0;if(!(r[A+(l<<6)+49>>0]|0)){e=Hy(t,l)|0;A=a[c>>2]|0;i=a[A+196>>2]|0;a[i+(l<<6)+52>>2]=e;r[i+(l<<6)+49>>0]=1}else{e=a[A+(l<<6)+52>>2]|0;A=i}n=e+n|0;l=l+1|0;i=A}return n|0}function Iy(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;A=a[A+16>>2]|0;n=f[A+238>>1]|0;l=A+196|0;A=f[A+236>>1]|0;while(1){if((A|0)>(n|0))break;r=a[l>>2]|0;i=a[r+(A<<6)>>2]|0;r=r+(A<<6)+4|0;e=0;while(1){if((e|0)>=(i|0))break;t=a[(a[(a[r>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;b[t+16>>3]=+(a[t+236>>2]|0);e=e+1|0}A=A+1|0}return}function Zy(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;s=d;w=A+16|0;u=bR(a[(a[w>>2]|0)+232>>2]|0)|0;c=a[w>>2]|0;i=c+192|0;n=i;while(1){n=a[n>>2]|0;if(!n)break;n=a[n+16>>2]|0;r[n+157>>0]=0;n=n+164|0}l=f[c+238>>1]|0;t=c+196|0;n=f[c+236>>1]|0;while(1){if((n|0)>(l|0))break;a[(a[t>>2]|0)+(n<<6)>>2]=0;n=n+1|0}t=(e|0)==0;while(1){n=a[i>>2]|0;if(!n)break;l=n+16|0;i=a[l>>2]|0;if((a[a[(t?i+172|0:i+180|0)>>2]>>2]|0)==0?(b=i+157|0,(r[b>>0]|0)==0):0){r[b>>0]=1;wR(u,n);while(1){i=uR(u)|0;if(!i)break;if((r[(a[i+16>>2]|0)+159>>0]|0)==7){CD(A,i,e,u);continue}else{Xy(A,i);Ry(u,i,e);continue}}i=a[l>>2]|0}i=i+164|0}if(uR(u)|0)ao(1,86312,s)|0;i=a[w>>2]|0;c=f[i+236>>1]|0;while(1){if((c|0)>(f[i+238>>1]|0))break;r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+49>>0]=0;if((a[i+116>>2]&1|0)!=0?(o=a[i+196>>2]|0,h=a[o+(c<<6)>>2]|0,(h|0)>0):0){n=a[o+(c<<6)+4>>2]|0;l=h+-1|0;t=(l|0)/2|0;i=0;while(1){if((i|0)>(t|0))break;Dy(a[n+(i<<2)>>2]|0,a[n+(l-i<<2)>>2]|0);i=i+1|0}i=a[w>>2]|0}c=c+1|0}if((gL(A)|0)==(A|0)?(Cy(0)|0)>0:0)my(A,0);sR(u);k=d;return}function Gy(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;u=A+16|0;A=a[u>>2]|0;i=f[A+236>>1]|0;e=f[A+238>>1]|0;s=e<<16>>16;w=A+196|0;n=i;while(1){if((n|0)>(s|0))break;c=a[w>>2]|0;t=a[c+(n<<6)>>2]|0;c=c+(n<<6)+4|0;l=0;while(1){if((l|0)>=(t|0))break;k=a[(a[(a[c>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;a[k+236>>2]=~~+b[k+16>>3];l=l+1|0}n=n+1|0}while(1){if((i|0)>(e<<16>>16|0))break;r[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(i<<6)+49>>0]=0;k=a[A+196>>2]|0;K4(a[k+(i<<6)+4>>2]|0,a[k+(i<<6)>>2]|0,4,62);k=a[u>>2]|0;i=i+1|0;e=f[k+238>>1]|0;A=k}return}function Qy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=((e|0)%4|0|0)<2&1;i=a[A+16>>2]|0;if(!(e&1)){e=f[i+236>>1]|0;r=1;i=f[i+238>>1]|0;e=(e<<16>>16<=(f[(a[(a[46741]|0)+16>>2]|0)+236>>1]|0)&1)+(e<<16>>16)|0}else{e=f[i+238>>1]|0;r=-1;i=f[i+236>>1]|0;e=((e<<16>>16>=(f[(a[(a[46741]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(e<<16>>16)|0}i=r+i|0;while(1){if((e|0)==(i|0))break;Vy(A,e,n,(Fy(A,e,e-r|0)|0)&255);e=e+r|0}my(A,n^1);return}function my(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;n=a[b>>2]|0;t=f[n+236>>1]|0;c=f[n+238>>1]|0;l=n+196|0;i=t<<16>>16;while(1){if((i|0)>(c|0)){l=t;break}r[(a[l>>2]|0)+(i<<6)+48>>0]=1;i=i+1|0}while(1){i=0;l=l<<16>>16;while(1){if((l|0)>(f[n+238>>1]|0))break;if(r[(a[n+196>>2]|0)+(l<<6)+48>>0]|0){i=(My(A,l,e)|0)+i|0;n=a[b>>2]|0}l=l+1|0}if((i|0)<=0)break;l=f[n+236>>1]|0}return}function Ly(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;k=A+16|0;e=a[k>>2]|0;u=f[e+238>>1]|0;A:while(1){if((u|0)<(f[e+236>>1]|0)){e=16;break}i=a[e+196>>2]|0;r[i+(u<<6)+48>>0]=0;o=(u|0)>0;h=u+1|0;n=0;e:while(1){s=(a[i+(u<<6)>>2]|0)+-1|0;w=i+(u<<6)+4|0;b=i+(h<<6)|0;while(1){if((n|0)>=(s|0))break e;c=a[w>>2]|0;t=a[c+(n<<2)>>2]|0;n=n+1|0;c=a[c+(n<<2)>>2]|0;if((a[(a[t+16>>2]|0)+236>>2]|0)>=(a[(a[c+16>>2]|0)+236>>2]|0)){e=7;break A}if(Wy(A,t,c)|0)continue;if(o){i=yy(t,c)|0;l=yy(c,t)|0}else{i=0;l=0}if((a[b>>2]|0)>0){i=(zy(t,c)|0)+i|0;l=(zy(c,t)|0)+l|0}if((l|0)<=(i|0))break}Yy(A,u,t,c);e=a[k>>2]|0;i=a[e+196>>2]|0}u=u+-1|0}if((e|0)==7)vA(86263,85781,721,86289);else if((e|0)==16)return}function Wy(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0;c=a[e+16>>2]|0;t=a[c+212>>2]|0;f=a[i+16>>2]|0;n=a[f+212>>2]|0;l=(t|0)!=(n|0);do{if(!(r[193769]|0))if((n|0)==0|((t|0)==0|l^1))b=9;else{if((r[c+159>>0]|0)==7?(r[c+156>>0]|0)==1:0){A=0;break}if((r[f+159>>0]|0)==7?(r[f+156>>0]|0)==1:0){A=0;break}A=1}else if(l)A=1;else b=9}while(0);if((b|0)==9){f=a[A+16>>2]|0;A=a[(a[f+196>>2]|0)+(a[c+232>>2]<<6)+56>>2]|0;if(!A)A=0;else{c=(a[f+116>>2]&1|0)==0;b=U(a[A+4>>2]|0,a[(a[(c?e:i)+16>>2]|0)+284>>2]|0)|0;A=r[(a[A+8>>2]|0)+((a[(a[(c?i:e)+16>>2]|0)+284>>2]|0)+b)>>0]|0}}return A|0}function yy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;s=A+16|0;t=a[(a[e+16>>2]|0)+172>>2]|0;e=0;while(1){A=a[t>>2]|0;if(!A)break;l=a[A+16>>2]|0;c=f[l+154>>1]|0;n=a[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+16|0;r=a[(a[s>>2]|0)+172>>2]|0;A=e;while(1){e=a[r>>2]|0;if(!e)break;i=(a[(a[(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((i|0)<=0){if((i|0)==0?(w=a[e+16>>2]|0,+b[w+16>>3]>+b[l>>3]):0){e=w;u=9}}else{e=a[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(U(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function zy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;s=A+16|0;t=a[(a[e+16>>2]|0)+180>>2]|0;e=0;while(1){A=a[t>>2]|0;if(!A)break;l=a[A+16>>2]|0;c=f[l+154>>1]|0;n=a[(a[(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=l+56|0;r=a[(a[s>>2]|0)+180>>2]|0;A=e;while(1){e=a[r>>2]|0;if(!e)break;i=(a[(a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0;if((i|0)<=0){if((i|0)==0?(w=a[e+16>>2]|0,+b[w+56>>3]>+b[l>>3]):0){e=w;u=9}}else{e=a[e+16>>2]|0;u=9}if((u|0)==9){u=0;A=(U(f[e+154>>1]|0,c)|0)+A|0}r=r+4|0}t=t+4|0;e=A}return e|0}function Yy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;t=r[(a[i+16>>2]|0)+156>>0]|0;if(t<<24>>24!=(r[(a[f+16>>2]|0)+156>>0]|0)){c=A+16|0;s=a[(a[c>>2]|0)+196>>2]|0;b=a[s+(e<<6)>>2]|0;s=s+(e<<6)+4|0;A=0;n=0;l=0;while(1){if((A|0)>=(b|0))break;k=(r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;A=A+1|0;n=n+(k&1)|0;l=l+((k^1)&1)|0}t=t<<24>>24==0;l=(n|0)<(l|0)?t?i:f:t?f:i;t=0;A=0;while(1){if((A|0)>=(b|0))break;t=(a[(a[s>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}k=(r[(a[l+16>>2]|0)+156>>0]|0)==0&1;u=0;n=t;while(1){A=n+-1|0;if((n|0)<=0){w=0;A=t;break}if((r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0)){w=0;A=t;break}u=u+1|0;n=A}while(1){A=A+1|0;if((A|0)>=(b|0))break;if((r[(a[(a[(a[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0))break;w=w+1|0}Dy(i,f);c=a[(a[c>>2]|0)+196>>2]|0;b=a[c+(e<<6)>>2]|0;c=c+(e<<6)+4|0;A=0;while(1){if((A|0)>=(b|0)){l=0;n=t;break}t=(a[(a[c>>2]|0)+(A<<2)>>2]|0)==(l|0)?A:t;A=A+1|0}while(1){A=n+-1|0;if((n|0)<=0){n=0;A=t;break}if((r[(a[(a[(a[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0)){n=0;A=t;break}l=l+1|0;n=A}while(1){A=A+1|0;if((A|0)>=(b|0))break;if((r[(a[(a[(a[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(k|0))break;n=n+1|0}e=l-n|0;k=u-w|0;if((((e|0)>-1?e:0-e|0)|0)>(((k|0)>-1?k:0-k|0)|0))Dy(i,f)}return}function Dy(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;f=a[A+16>>2]|0;r=a[f+232>>2]|0;f=f+236|0;i=a[f>>2]|0;n=e+16|0;l=a[(a[n>>2]|0)+236>>2]|0;a[f>>2]=l;f=(a[46741]|0)+16|0;a[(a[(a[(a[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(l<<2)>>2]=A;a[(a[n>>2]|0)+236>>2]=i;a[(a[(a[(a[f>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return}function My(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;h=A+16|0;u=a[(a[h>>2]|0)+196>>2]|0;r[u+(e<<6)+48>>0]=0;d=(e|0)>0;B=e+1|0;k=(i|0)!=0;o=e+-1|0;n=0;t=0;i=u;A:while(1){s=(a[i+(e<<6)>>2]|0)+-1|0;w=i+(e<<6)+4|0;l=i+(B<<6)|0;u=n;while(1){if((u|0)>=(s|0)){i=17;break A}b=a[w>>2]|0;c=a[b+(u<<2)>>2]|0;u=u+1|0;b=a[b+(u<<2)>>2]|0;if((a[(a[c+16>>2]|0)+236>>2]|0)>=(a[(a[b+16>>2]|0)+236>>2]|0)){i=5;break A}if(Wy(A,c,b)|0)continue;if(d){i=yy(c,b)|0;n=yy(b,c)|0}else{i=0;n=0}if((a[l>>2]|0)>0){i=(zy(c,b)|0)+i|0;n=(zy(b,c)|0)+n|0}if((i|0)>(n|0))break;if((i|0)==(n|0)&(k&(i|0)>0)){i=n;break}}Dy(c,b);t=i-n+t|0;n=a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0;r[n+(e<<6)+49>>0]=0;l=a[h>>2]|0;i=a[l+196>>2]|0;r[i+(e<<6)+48>>0]=1;if((f[l+236>>1]|0)<(e|0)){r[n+(o<<6)+49>>0]=0;r[i+(o<<6)+48>>0]=1}if((f[l+238>>1]|0)<=(e|0)){n=u;continue}r[n+(B<<6)+49>>0]=0;r[i+(B<<6)+48>>0]=1;n=u}if((i|0)==5)vA(86263,85781,770,86297);else if((i|0)==17)return t|0;return 0}function Fy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;o=a[46739]|0;h=A+16|0;A=a[(a[h>>2]|0)+196>>2]|0;d=a[A+(e<<6)+4>>2]|0;u=(i|0)>(e|0);k=o+4|0;w=0;while(1){i=a[A+(e<<6)>>2]|0;if((w|0)>=(i|0)){A=0;t=0;break}s=(a[d+(w<<2)>>2]|0)+16|0;A=a[s>>2]|0;A:do{if(u){c=a[A+180>>2]|0;A=0;t=0;while(1){i=a[c+(t<<2)>>2]|0;if(!i)break A;r=a[i+16>>2]|0;if((f[r+154>>1]|0)>0){a[o+(A<<2)>>2]=a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[r+88>>0];A=A+1|0}t=t+1|0}}else{c=a[A+172>>2]|0;t=0;A=0;while(1){i=a[c+(t<<2)>>2]|0;if(!i)break A;r=a[i+16>>2]|0;if((f[r+154>>1]|0)>0){a[o+(A<<2)>>2]=a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|n[r+48>>0];A=A+1|0}t=t+1|0}}}while(0);A:do{switch(A|0){case 0:{l=-1.0;break}case 1:{l=+(a[o>>2]|0);break}case 2:{l=+(((a[k>>2]|0)+(a[o>>2]|0)|0)/2|0|0);break}default:{K4(o,A,4,60);i=(A|0)/2|0;if(A&1|0){l=+(a[o+(i<<2)>>2]|0);break A}t=a[o+(i<<2)>>2]|0;r=(a[o+(A+-1<<2)>>2]|0)-t|0;A=a[o+(i+-1<<2)>>2]|0;i=A-(a[o>>2]|0)|0;if((i|0)==(r|0)){l=+((A+t|0)/2|0|0);break A}else{l=+(((U(i,t)|0)+(U(A,r)|0)|0)/(i+r|0)|0|0);break A}}}}while(0);b[(a[s>>2]|0)+240>>3]=l;w=w+1|0;A=a[(a[h>>2]|0)+196>>2]|0}while(1){if((t|0)>=(i|0))break;r=a[d+(t<<2)>>2]|0;o=a[r+16>>2]|0;if((a[o+184>>2]|0)==0?(a[o+176>>2]|0)==0:0){A=(Jy(r)|0|A&255)&255;i=a[(a[(a[h>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}t=t+1|0}return A|0}function Vy(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0,B=0;k=a[(a[A+16>>2]|0)+196>>2]|0;B=a[k+(e<<6)+4>>2]|0;k=a[k+(e<<6)>>2]|0;h=(i|0)!=0;o=(f|i|0)==0;f=0;i=k;k=B+(k<<2)|0;while(1){u=i+-1|0;if((i|0)>0)i=B;else break;A:while(1){e:while(1){if(i>>>0>=k>>>0)break A;while(1){if(i>>>0>=k>>>0)break A;s=a[i>>2]|0;w=+b[(a[s+16>>2]|0)+240>>3];if(!(w<0.0))break;i=i+4|0}c=0;while(1){n=c<<24>>24==0;while(1){i=i+4|0;if(i>>>0>=k>>>0)break A;if(n){n=11;break}l=a[i>>2]|0;if(!(a[(a[l+16>>2]|0)+212>>2]|0)){n=13;break}}if((n|0)==11){l=a[i>>2]|0;t=l}else if((n|0)==13)t=l;if(Wy(A,s,t)|0)continue e;n=a[l+16>>2]|0;if(+b[n+240>>3]>=0.0)break;c=(a[n+212>>2]|0)==0?c:1}n=~~w;c=~~+b[(a[l+16>>2]|0)+240>>3];if((n|0)>(c|0)|h&(n|0)==(c|0))break}Dy(s,t);f=f+1|0}i=u;k=o?k+-4|0:k}if(f|0?(d=a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0,r[d+(e<<6)+49>>0]=0,(e|0)>0):0)r[d+(e+-1<<6)+49>>0]=0;return}function Jy(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0;n=a[A+16>>2]|0;if((a[n+200>>2]|0)>0){f=a[n+196>>2]|0;A=a[f>>2]|0;A=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;i=1;while(1){r=a[f+(i<<2)>>2]|0;if(!r)break;r=a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0;A=(a[(a[r+16>>2]|0)+236>>2]|0)>(a[(a[A+16>>2]|0)+236>>2]|0)?r:A;i=i+1|0}e=+b[(a[A+16>>2]|0)+240>>3];if(!(e>=0.0))A=1;else{b[n+240>>3]=e+1.0;A=0}}else if((a[n+192>>2]|0)>0){r=a[n+188>>2]|0;i=a[r>>2]|0;A=1;i=a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;while(1){f=a[r+(A<<2)>>2]|0;if(!f)break;f=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;A=A+1|0;i=(a[(a[f+16>>2]|0)+236>>2]|0)<(a[(a[i+16>>2]|0)+236>>2]|0)?f:i}e=+b[(a[i+16>>2]|0)+240>>3];if(e>0.0){b[n+240>>3]=e+-1.0;A=0}else A=1}else A=1;return A|0}function Ny(A,e){A=A|0;e=e|0;return(a[(a[(a[A>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[e>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Xy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+96|0;u=o+64|0;w=o+48|0;l=o+24|0;r=o;c=e+16|0;b=a[(a[c>>2]|0)+232>>2]|0;s=A+16|0;i=a[(a[s>>2]|0)+196>>2]|0;t=a[i+(b<<6)>>2]|0;do{if((a[i+(b<<6)+8>>2]|0)>=1){a[(a[i+(b<<6)+4>>2]|0)+(t<<2)>>2]=e;a[(a[c>>2]|0)+236>>2]=t;A=a[s>>2]|0;r=a[A+196>>2]|0;i=r+(b<<6)|0;n=a[i>>2]|0;a[i>>2]=n+1;if((n|0)>=(a[r+(b<<6)+8>>2]|0))vA(86377,85781,1346,86413);n=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]|0;if((t|0)>(n|0)){s=Vh(e)|0;w=a[(a[c>>2]|0)+236>>2]|0;u=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]|0;a[l>>2]=1359;a[l+4>>2]=s;a[l+8>>2]=w;a[l+12>>2]=b;a[l+16>>2]=u;ao(1,86429,l)|0;break}i=f[A+236>>1]|0;A=f[A+238>>1]|0;if((b|0)<(i|0)|(b|0)>(A<<16>>16|0)){a[w>>2]=1364;a[w+4>>2]=b;a[w+8>>2]=i;a[w+12>>2]=A<<16>>16;ao(1,86502,w)|0;break}if(((a[r+(b<<6)+4>>2]|0)+(t<<2)|0)>>>0>((a[r+(b<<6)+12>>2]|0)+(n<<2)|0)>>>0){t=Vh(e)|0;w=a[(a[s>>2]|0)+196>>2]|0;s=(a[w+(b<<6)+4>>2]|0)+(a[(a[c>>2]|0)+236>>2]<<2)|0;w=(a[w+(b<<6)+12>>2]|0)+(a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(b<<6)+8>>2]<<2)|0;a[u>>2]=1370;a[u+4>>2]=b;a[u+8>>2]=t;a[u+12>>2]=s;a[u+16>>2]=b;a[u+20>>2]=b;a[u+24>>2]=w;ao(1,86563,u)|0}}else{w=Vh(A)|0;u=Vh(e)|0;a[r>>2]=1339;a[r+4>>2]=w;a[r+8>>2]=u;a[r+12>>2]=b;a[r+16>>2]=t;ao(1,86322,r)|0}}while(0);k=o;return}function Ry(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=e+16|0;A:do{if(!i){n=0;while(1){e=a[l>>2]|0;if((n|0)>=(a[e+184>>2]|0))break A;e=a[(a[e+180>>2]|0)+(n<<2)>>2]|0;i=e+-48|0;f=(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;wR(A,a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)}n=n+1|0}}else{n=0;while(1){e=a[l>>2]|0;if((n|0)>=(a[e+176>>2]|0))break A;e=a[(a[e+172>>2]|0)+(n<<2)>>2]|0;i=e+48|0;f=(a[(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;wR(A,a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)}n=n+1|0}}}while(0);return}function Hy(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;g=E;n=A+16|0;i=a[(a[n>>2]|0)+196>>2]|0;B=a[i+(e<<6)+4>>2]|0;v=e+1|0;A=a[(a[(a[(a[46741]|0)+16>>2]|0)+196>>2]|0)+(v<<6)>>2]|0;if((a[46745]|0)>(A|0))h=a[46746]|0;else{A=A+1|0;a[46745]=A;i=a[46746]|0;if(!i)A=$F(A<<2)|0;else A=eV(i,A<<2)|0;a[46746]=A;i=a[(a[n>>2]|0)+196>>2]|0;h=A}d=i+(v<<6)|0;A=0;while(1){if((A|0)>=(a[d>>2]|0))break;a[h+(A<<2)>>2]=0;A=A+1|0}o=i+(e<<6)|0;u=0;l=0;A=0;c=h;while(1){b=a[o>>2]|0;if((u|0)>=(b|0))break;w=a[(a[(a[B+(u<<2)>>2]|0)+16>>2]|0)+180>>2]|0;A:do{if((l|0)>0){s=0;while(1){n=a[w+(s<<2)>>2]|0;if(!n)break A;b=n+16|0;t=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){n=t+1|0;if((t|0)>=(l|0))break;t=n;A=(U(a[c+(n<<2)>>2]|0,f[(a[b>>2]|0)+154>>1]|0)|0)+A|0}s=s+1|0}}}while(0);t=0;while(1){n=a[w+(t<<2)>>2]|0;if(!n)break;c=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=h+(c<<2)|0;a[s>>2]=(a[s>>2]|0)+(f[(a[n+16>>2]|0)+154>>1]|0);l=(c|0)>(l|0)?c:l;t=t+1|0;c=h}u=u+1|0}t=i+(e<<6)+4|0;l=0;while(1){if((l|0)>=(b|0))break;n=a[(a[(a[t>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;if(r[n+145>>0]|0){e=n+180|0;a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];A=(py(g,1)|0)+A|0}l=l+1|0}t=a[d>>2]|0;l=i+(v<<6)+4|0;n=0;while(1){if((n|0)>=(t|0))break;i=a[(a[(a[l>>2]|0)+(n<<2)>>2]|0)+16>>2]|0;if(r[i+145>>0]|0){v=i+172|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];A=(py(g,-1)|0)+A|0}n=n+1|0}k=E;return A|0}function py(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=(e|0)<1;s=a[A>>2]|0;e=0;A=0;A:while(1){w=a[s+(e<<2)>>2]|0;if(!w)break;e=e+1|0;if(u){t=w+48|0;c=w+16|0;l=e;while(1){i=a[s+(l<<2)>>2]|0;if(!i)continue A;r=a[i+16>>2]|0;n=a[c>>2]|0;if((+b[r+56>>3]-+b[n+56>>3])*+((a[(a[(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[((a[w>>2]&3|0)==3?w:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(U(f[r+154>>1]|0,f[n+154>>1]|0)|0)+A|0;l=l+1|0}}else{t=w+-48|0;c=w+16|0;l=e;while(1){i=a[s+(l<<2)>>2]|0;if(!i)continue A;r=a[i+16>>2]|0;n=a[c>>2]|0;if((+b[r+16>>3]-+b[n+16>>3])*+((a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(a[(a[(a[((a[w>>2]&3|0)==2?w:t)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(U(f[r+154>>1]|0,f[n+154>>1]|0)|0)+A|0;l=l+1|0}}}return A|0}function Uy(A){A=A|0;var e=0.0,i=0.0;a[46744]=8;a[47136]=24;b[23215]=.995;A=po(A,86685)|0;if(A|0?(e=+$3(A),e>0.0):0){i=e*+(a[46744]|0);a[46744]=~~(i>1.0?i:1.0);e=e*+(a[47136]|0);a[47136]=~~(e>1.0?e:1.0)}return}function xy(A){A=A|0;var e=0,i=0;i=(f[(a[A+16>>2]|0)+238>>1]|0)+2|0;e=qF(i<<2)|0;jy(A,e,i,0)|0;L2(e);return}function Ty(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0;l=A+16|0;t=qF((f[(a[l>>2]|0)+238>>1]<<2)+8|0)|0;n=cd(A)|0;while(1){if(!n)break;r=t+(a[(a[n+16>>2]|0)+232>>2]<<2)|0;a[r>>2]=(a[r>>2]|0)+1;r=Oo(A,n)|0;while(1){if(!r)break;c=a[r>>2]&3;e=a[(a[(a[((c|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;c=a[(a[(a[((c|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;b=(e|0)>(c|0);i=b?e:c;e=b?c:e;while(1){e=e+1|0;if((e|0)>=(i|0))break;b=t+(e<<2)|0;a[b>>2]=(a[b>>2]|0)+1}r=_o(A,r)|0}n=bd(A,n)|0}r=qF((f[(a[l>>2]|0)+238>>1]<<6)+128|0)|0;i=a[l>>2]|0;a[i+196>>2]=r;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;c=t+(e<<2)|0;i=a[c>>2]|0;a[r+(e<<6)>>2]=i;a[r+(e<<6)+8>>2]=i;c=qF((a[c>>2]<<2)+4|0)|0;i=a[l>>2]|0;b=a[i+196>>2]|0;a[b+(e<<6)+4>>2]=c;a[b+(e<<6)+12>>2]=c;e=e+1|0;r=b}L2(t);return}function jy(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,l=0,t=0,c=0,s=0,w=0;w=A+16|0;l=1;while(1){n=a[w>>2]|0;if((l|0)>(a[n+180>>2]|0))break;s=jy(a[(a[n+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;l=l+1|0;r=s}A:do{if((gL(A)|0)!=(A|0)){Y6(e|0,0,i<<2|0)|0;n=cd(A)|0;while(1){if(!n)break;c=n+16|0;a[e+(a[(a[c>>2]|0)+232>>2]<<2)>>2]=1;l=Oo(A,n)|0;while(1){if(!l)break;s=l+-48|0;t=a[(a[c>>2]|0)+232>>2]|0;while(1){i=t+1|0;if((t|0)>=(a[(a[(a[((a[l>>2]&3|0)==2?l:s)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;a[e+(i<<2)>>2]=1;t=i}l=_o(A,l)|0}n=bd(A,n)|0}n=a[w>>2]|0;l=f[n+236>>1]|0;while(1){if((l|0)>(f[n+238>>1]|0))break A;if(!(a[e+(l<<2)>>2]|0)){if(!r)r=XB(gL(A)|0,86675,1)|0;n=vd(r,0,1)|0;Td(n,137447,304,1)|0;s=n+16|0;t=a[s>>2]|0;a[t+232>>2]=l;b[t+96>>3]=.5;b[t+88>>3]=.5;b[t+80>>3]=1.0;a[t+216>>2]=1;a[t+176>>2]=0;t=qF(20)|0;c=a[s>>2]|0;a[c+172>>2]=t;a[c+184>>2]=0;c=qF(20)|0;a[(a[s>>2]|0)+180>>2]=c;kd(A,n,1)|0;n=a[w>>2]|0}l=l+1|0}}}while(0);return r|0}function Sy(A){A=A|0;var e=0,i=0;cy(A);e=A+16|0;A=1;while(1){i=a[e>>2]|0;if((A|0)>(a[i+180>>2]|0))break;Sy(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function Py(A){A=A|0;var e=0,i=0;e=a[A>>2]&3;i=Oy(a[((e|0)==3?A:A+48|0)+40>>2]|0)|0;e=a[17308+(i*12|0)+((Oy(a[((e|0)==2?A:A+-48|0)+40>>2]|0)|0)<<2)>>2]|0;A=(a[A+16>>2]|0)+156|0;a[A>>2]=U(a[A>>2]|0,e)|0;return}function Oy(A){A=A|0;A=a[A+16>>2]|0;if((r[A+156>>0]|0)==1)A=2;else A=(r[A+160>>0]|0)<2&1;return A|0}function Ky(A,e){A=A|0;e=e|0;if(a[(a[A+16>>2]|0)+192>>2]|0){ID(A);_y(A);if(r[194954]|0)JD(A);qy(A);if(eM(A)|0)_y(A);$y(A);if(JV(A,2,Az(A)|0)|0?(ez(A),JV(A,2,Az(A)|0)|0):0)vA(86693,86721,134,86732);iz(A);rz(A,e);fz(A)}return}function _y(A){A=A|0;var e=0,i=0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;E=A+16|0;e=a[E>>2]|0;C=a[e+196>>2]|0;v=f[e+236>>1]|0;while(1){if((v|0)>(f[e+238>>1]|0))break;u=C+(v<<6)|0;k=C+(v<<6)+4|0;o=C+(v<<6)+40|0;h=C+(v<<6)+24|0;d=C+(v<<6)+32|0;B=C+(v<<6)+16|0;w=0;while(1){if((w|0)>=(a[u>>2]|0))break;s=(a[(a[k>>2]|0)+(w<<2)>>2]|0)+16|0;e=a[s>>2]|0;t=+b[e+80>>3]*.5;l=a[e+204>>2]|0;A:do{if(l){n=0;while(1){i=a[l+(n<<2)>>2]|0;if(!i)break A;I=a[i>>2]&3;if((a[((I|0)==3?i:i+48|0)+40>>2]|0)==(a[((I|0)==2?i:i+-48|0)+40>>2]|0)?(g=a[(a[i+16>>2]|0)+96>>2]|0,(g|0)!=0):0){c=+b[g+32>>3]*.5;t=t>c?t:c}n=n+1|0}}}while(0);if(+b[o>>3]>3]=t;b[o>>3]=t}if(+b[d>>3]>3]=t;b[d>>3]=t}i=a[e+212>>2]|0;if(i|0){if((i|0)==(A|0))n=0;else{n=kR(i,a[47144]|0,8,0)|0;e=a[s>>2]|0}l=a[e+232>>2]|0;i=a[i+16>>2]|0;e=i+128|0;t=t+ +(n|0);if((l|0)==(f[i+236>>1]|0)){c=+b[e>>3];b[e>>3]=c>t?c:t}e=i+120|0;if((l|0)==(f[i+238>>1]|0)){c=+b[e>>3];b[e>>3]=c>t?c:t}}w=w+1|0}v=v+1|0;e=a[E>>2]|0}w=zz(A)|0;n=a[E>>2]|0;e=f[n+238>>1]|0;b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[C+(e<<6)+16>>3];i=f[n+236>>1]|0;l=n+252|0;c=0.0;while(1){s=e+-1|0;if((e|0)<=(i|0))break;Z=+b[C+(s<<6)+32>>3]+ +b[C+(e<<6)+40>>3]+ +(a[l>>2]|0);t=+b[C+(e<<6)+24>>3]+8.0+ +b[C+(s<<6)+16>>3];t=Z>t?Z:t;if((a[C+(s<<6)>>2]|0)>0)b[(a[(a[a[C+(s<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+t;c=c>t?c:t;e=s}A:do{if((w|0)!=0?(a[n+116>>2]&1|0)!=0:0){Yz(A,0);n=a[E>>2]|0;if(r[n+276>>0]|0){e=f[n+238>>1]|0;i=f[n+236>>1]|0;t=+b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];c=0.0;while(1){l=e+-1|0;if((e|0)<=(i|0))break A;G=+b[(a[(a[a[C+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];Z=G-t;t=G;c=c>Z?c:Z;e=l}}}}while(0);A:do{if(r[n+276>>0]|0){l=f[n+236>>1]|0;i=f[n+238>>1]|0;while(1){e=i+-1|0;if((i|0)<=(l|0))break A;if((a[C+(e<<6)>>2]|0)<=0){i=e;continue}b[(a[(a[a[C+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+b[(a[(a[a[C+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+c;i=e}}}while(0);e=n+192|0;while(1){e=a[e>>2]|0;if(!e)break;e=a[e+16>>2]|0;b[e+24>>3]=+b[(a[(a[a[C+(a[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function qy(A){A=A|0;var e=0,i=0,r=0;mz(A);e=(a[A+16>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;r=e+16|0;e=a[r>>2]|0;i=a[e+224>>2]|0;if(i){Lz(A,i);e=a[r>>2]|0}i=a[e+228>>2]|0;if(!i)i=e;else{Lz(A,i);i=a[r>>2]|0}r=a[i+204>>2]|0;if(r|0){e=0;while(1)if(!(a[r+(e<<2)>>2]|0))break;else e=e+1|0}e=i+164|0}return}function $y(A){A=A|0;uz(A);kz(A);oz(A);hz(A);dz(A);return}function Az(A){A=A|0;var e=0,i=0.0;e=po(A,86921)|0;if(!e)A=2147483647;else{i=+$3(e);A=~~(i*+(vh(A)|0))}return A|0}function ez(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;d=A+16|0;e=a[d>>2]|0;h=f[e+236>>1]|0;while(1){o=f[e+238>>1]|0;if((h|0)>(o|0)){B=19;break}u=a[e+196>>2]|0;k=u+(h<<6)|0;w=a[k>>2]|0;u=u+(h<<6)+4|0;s=0;i=0;A:while(1){if((s|0)>=(w|0)){B=14;break}i=a[(a[u>>2]|0)+(s<<2)>>2]|0;l=a[i+16>>2]|0;t=a[l+256>>2]|0;e:do{if(t|0){n=0;while(1){c=a[t+(n<<2)>>2]|0;if(!c)break e;b=a[c>>2]&3;if((a[(a[(a[((b|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;if((a[(a[(a[((b|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;else n=n+1|0}}}while(0);l=a[l+248>>2]|0;e:do{if(l|0){n=0;while(1){t=a[l+(n<<2)>>2]|0;if(!t)break e;c=a[t>>2]&3;if((a[(a[(a[((c|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;if((a[(a[(a[((c|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(h|0))break A;else n=n+1|0}}}while(0);s=s+1|0}if((B|0)==14){B=0;if(i){i=a[a[u>>2]>>2]|0;e=a[a[k+(((h|0)<(o|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){B=16;break}k=YW(A)|0;o=k+16|0;r[(a[o>>2]|0)+156>>0]=2;sz(k,i,0.0,0)|0;sz(k,e,0.0,0)|0;a[(a[o>>2]|0)+232>>2]=a[(a[((a[(a[i+16>>2]|0)+232>>2]|0)<(a[(a[e+16>>2]|0)+232>>2]|0)?i:e)+16>>2]|0)+232>>2];e=a[d>>2]|0}}h=h+1|0}if((B|0)==16)vA(86829,86721,111,86832);else if((B|0)==19)return}function iz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0;A=a[A+16>>2]|0;l=a[A+196>>2]|0;i=f[A+238>>1]|0;A=f[A+236>>1]|0;while(1){if((A|0)>(i|0))break;r=a[l+(A<<6)>>2]|0;n=l+(A<<6)+4|0;e=0;while(1){if((e|0)>=(r|0))break;c=a[(a[(a[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;t=c+232|0;b[c+16>>3]=+(a[t>>2]|0);a[t>>2]=A;e=e+1|0}A=A+1|0}return}function rz(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0,l=0.0,t=0,c=0,s=0.0,w=0,u=0,k=0,o=0;az(A,A);n=A+16|0;c=a[n>>2]|0;A:do{if((f[c+238>>1]|0)>0?(t=a[c+8>>2]|0,i=a[t+84>>2]|0,i|0):0){k=~~(+b[c+32>>3]-+b[c+16>>3]);w=~~(+b[c+40>>3]-+b[c+24>>3]);o=(a[c+116>>2]&1|0)==0;u=o?w:k;w=o?k:w;if((i|0)==4){i=nz(A)|0;c=a[n>>2]|0;t=a[c+8>>2]|0}else i=(i|0)==2&1;e:do{if(!(i<<24>>24)){switch(a[t+84>>2]|0){case 5:{r=+b[t+64>>3];if(r<=0.0)break A;l=r/+b[c+32>>3];s=+b[t+72>>3]/+b[c+40>>3];r=l1.0&s>1.0){s=r;break e}else break A}case 1:break;default:break A}l=+b[t+16>>3];r=+(u|0)/+(w|0);if(r>3];if(r<=0.0)break A;l=r/+(w|0);r=+b[t+72>>3]/+(u|0);if(l<1.0|r<1.0)if(l>2]&1|0)==0;l=i?r:s;r=i?s:r;i=c+192|0;while(1){i=a[i>>2]|0;if(!i)break;i=a[i+16>>2]|0;o=i+16|0;s=+b[o>>3]*r;b[o>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);o=i+24|0;s=+b[o>>3]*l;b[o>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);i=i+164|0}lz(A,r,l)}}while(0);if(e|0)tz(A,e);return}function fz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=A+16|0;A=(a[l>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;n=A+16|0;e=0;while(1){A=a[n>>2]|0;f=a[A+180>>2]|0;i=a[f+(e<<2)>>2]|0;if(!i)break;L2(a[i+16>>2]|0);L2(i);e=e+1|0}if(f){L2(f);A=a[n>>2]|0}e=a[A+172>>2]|0;if(e){L2(e);A=a[n>>2]|0}f=A+256|0;i=a[f+4>>2]|0;A=A+180|0;a[A>>2]=a[f>>2];a[A+4>>2]=i;A=a[n>>2]|0;i=A+248|0;f=a[i+4>>2]|0;A=A+172|0;a[A>>2]=a[i>>2];a[A+4>>2]=f;A=(a[n>>2]|0)+164|0}A=0;e=a[(a[l>>2]|0)+192>>2]|0;A:while(1){n=(A|0)==0;f=A+16|0;A=e;while(1){if(!A)break A;i=a[A+16>>2]|0;e=a[i+164>>2]|0;if((r[i+156>>0]|0)!=2)continue A;if(n)a[(a[l>>2]|0)+192>>2]=e;else a[(a[f>>2]|0)+164>>2]=e;L2(i);L2(A);A=e}}a[(a[(a[(a[l>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function az(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=A+16|0;i=1;while(1){f=a[r>>2]|0;if((i|0)>(a[f+180>>2]|0))break;az(a[(a[f+184>>2]|0)+(i<<2)>>2]|0,e);i=i+1|0}bz(A,e);return}function nz(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0;B=k;k=k+80|0;r=B+64|0;i=B+48|0;f=B+16|0;s=B;d=B+32|0;A=A+16|0;e=a[(a[A>>2]|0)+8>>2]|0;v=e+48|0;a[f>>2]=a[v>>2];a[f+4>>2]=a[v+4>>2];a[f+8>>2]=a[v+8>>2];a[f+12>>2]=a[v+12>>2];if((!(+b[f>>3]<.001)?(n=f+8|0,!(+b[n>>3]<.001)):0)?(l=e+32|0,a[s>>2]=a[l>>2],a[s+4>>2]=a[l+4>>2],a[s+8>>2]=a[l+8>>2],a[s+12>>2]=a[l+12>>2],a[i>>2]=a[f>>2],a[i+4>>2]=a[f+4>>2],a[i+8>>2]=a[f+8>>2],a[i+12>>2]=a[f+12>>2],a[r>>2]=a[l>>2],a[r+4>>2]=a[l+4>>2],a[r+8>>2]=a[l+8>>2],a[r+12>>2]=a[l+12>>2],cz(d,i,r),a[f>>2]=a[d>>2],a[f+4>>2]=a[d+4>>2],a[f+8>>2]=a[d+8>>2],a[f+12>>2]=a[d+12>>2],a[i>>2]=a[d>>2],a[i+4>>2]=a[d+4>>2],a[i+8>>2]=a[d+8>>2],a[i+12>>2]=a[d+12>>2],a[r>>2]=a[s>>2],a[r+4>>2]=a[s+4>>2],a[r+8>>2]=a[s+8>>2],a[r+12>>2]=a[s+12>>2],cz(f,i,r),l=a[A>>2]|0,t=+b[l+32>>3],c=+b[l+40>>3],w=+b[f>>3],u=w/t,o=+b[n>>3],h=o/c,!(u>=1.0&h>=1.0)):0){u=u.5?u:.5;h=+p(+(u*c/o))*o/c;o=+p(+(u*t/w))*w/t*t;A=a[l+8>>2]|0;b[A+64>>3]=o;b[A+72>>3]=h*c;A=1}else A=0;k=B;return A|0}function lz(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=A+16|0;A=1;while(1){f=a[r>>2]|0;if((A|0)>(a[f+180>>2]|0))break;lz(a[(a[f+184>>2]|0)+(A<<2)>>2]|0,e,i);A=A+1|0}r=f+16|0;b[r>>3]=+b[r>>3]*e;r=f+24|0;b[r>>3]=+b[r>>3]*i;r=f+32|0;b[r>>3]=+b[r>>3]*e;f=f+40|0;b[f>>3]=+b[f>>3]*i;return}function tz(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0;s=k;k=k+32|0;t=s+24|0;n=s+16|0;f=s;w=a[A+16>>2]|0;r=+b[w+32>>3]-+b[w+16>>3];i=+b[w+40>>3]-+b[w+24>>3];l=r/i;if(0){w=a[15712]|0;b[f>>3]=l;b[f+8>>3]=r*.0001*i;f3(w,86745,f)|0;a[n>>2]=JY(A)|0;f3(w,86770,n)|0}i=+b[e>>3];do{if(!(l>i*1.1)){A=e+24|0;if(!(l<=i*.8)){a[A>>2]=0;c=9;break}a[A>>2]=-1;if(0){L3(86780,34,1,a[15712]|0)|0;c=9}}else{a[e+24>>2]=~~(i*+((a[e+20>>2]|0)-(a[e+16>>2]|0)|0)/l);c=9}}while(0);if((c|0)==9?0:0){w=a[15712]|0;a[t>>2]=a[e+24>>2];f3(w,86815,t)|0}k=s;return}function cz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function bz(A,e){A=A|0;e=e|0;var i=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;B=(gL(A)|0)==(A|0);E=A+16|0;C=a[E>>2]|0;A:do{if(B){i=f[C+236>>1]|0;A=f[C+238>>1]|0;h=A<<16>>16;d=C+196|0;B=C+196|0;o=i<<16>>16;l=-2147483647.0;n=2147483647.0;while(1){if((o|0)>(h|0))break;t=a[d>>2]|0;k=a[t+(o<<6)>>2]|0;if((k|0)!=0?(v=a[t+(o<<6)+4>>2]|0,g=a[v>>2]|0,(g|0)!=0):0){s=1;t=g;while(1){t=a[t+16>>2]|0;c=r[t+156>>0]|0;if(!((s|0)<(k|0)&c<<24>>24!=0))break;t=a[v+(s<<2)>>2]|0;s=s+1|0}if(!(c<<24>>24)){w=+b[t+16>>3]-+b[t+88>>3];u=n>2]|0)+(o<<6)+4>>2]|0;c=k+-2|0;t=k+-1|0;while(1){t=a[(a[s+(t<<2)>>2]|0)+16>>2]|0;if(!(r[t+156>>0]|0))break;else{t=c;c=c+-1|0}}I=+b[t+96>>3]+ +b[t+16>>3];l=l>I?l:I;n=u?n:w}}o=o+1|0}c=a[C+180>>2]|0;s=C+184|0;t=1;while(1){if((t|0)>(c|0))break A;g=a[(a[(a[s>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;I=+b[g+16>>3]+-8.0;w=+b[g+32>>3]+8.0;t=t+1|0;l=l>w?l:w;n=n>2]|0)+16>>2]|0)+232>>2]|0);n=+(a[(a[(a[C+256>>2]|0)+16>>2]|0)+232>>2]|0);i=f[C+236>>1]|0;A=f[C+238>>1]|0}}while(0);e=a[(a[e+16>>2]|0)+196>>2]|0;w=+b[(a[(a[a[e+(A<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+b[C+120>>3];I=+b[C+128>>3]+ +b[(a[(a[a[e+(i<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];b[C+16>>3]=n;b[C+24>>3]=w;e=a[E>>2]|0;b[e+32>>3]=l;b[e+40>>3]=I;return}function sz(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var n=0,l=0,t=0,c=0;t=qF(96)|0;c=t+48|0;a[c>>2]=a[c>>2]|3;a[t>>2]=a[t>>2]&-4|2;n=qF(176)|0;l=t+16|0;a[l>>2]=n;a[((a[t>>2]&3|0)==3?t:c)+40>>2]=A;a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]=e;if(i>65535.0){wz(i);i=65535.0;n=a[l>>2]|0}f[n+170>>1]=~~(i+(i>=0.0?.5:-.5));a[n+156>>2]=r;gW(t)|0;return t|0}function wz(A){A=+A;var e=0,i=0;e=k;k=k+16|0;i=e;b[i>>3]=A;a[i+8>>2]=65535;ao(1,86845,i)|0;k=e;return}function uz(A){A=A|0;var e=0,i=0,r=0,f=0;A=(a[A+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;f=A+16|0;r=a[f>>2]|0;A=r+172|0;i=a[A+4>>2]|0;r=r+248|0;a[r>>2]=a[A>>2];a[r+4>>2]=i;r=a[f>>2]|0;i=r+180|0;A=a[i+4>>2]|0;r=r+256|0;a[r>>2]=a[i>>2];a[r+4>>2]=A;r=a[f>>2]|0;A=a[r+180>>2]|0;i=0;while(1)if(!(a[A+(i<<2)>>2]|0))break;else i=i+1|0;e=a[r+172>>2]|0;A=0;while(1)if(!(a[e+(A<<2)>>2]|0))break;else A=A+1|0;a[r+176>>2]=0;A=qF((A+i<<2)+16|0)|0;r=a[f>>2]|0;a[r+172>>2]=A;a[r+184>>2]=0;r=qF(16)|0;A=a[f>>2]|0;a[A+180>>2]=r;A=A+164|0}return}function kz(A){A=A|0;var e=0,i=0,n=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0;G=k;k=k+16|0;C=G;I=A+16|0;g=a[I>>2]|0;Z=a[g+196>>2]|0;A=(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;E=a[g+248>>2]|0;a[C>>2]=E;a[C+4>>2]=A?5:E;E=f[g+236>>1]|0;A=g;while(1){if((E|0)>(f[A+238>>1]|0))break;d=Z+(E<<6)+4|0;a[(a[(a[a[d>>2]>>2]|0)+16>>2]|0)+232>>2]=0;B=Z+(E<<6)|0;v=+(a[C+((E&1)<<2)>>2]|0);o=0.0;c=0;A:while(1){if((c|0)>=(a[B>>2]|0))break;e=a[d>>2]|0;s=a[e+(c<<2)>>2]|0;g=s+16|0;A=a[g>>2]|0;n=+b[A+96>>3];b[A+240>>3]=n;if((a[A+208>>2]|0)>0){t=0;e=0;while(1){i=a[(a[A+204>>2]|0)+(t<<2)>>2]|0;if(!i)break;h=a[i>>2]&3;if((a[((h|0)==3?i:i+48|0)+40>>2]|0)==(a[((h|0)==2?i:i+-48|0)+40>>2]|0)){e=(mX(i)|0)+e|0;A=a[g>>2]|0}t=t+1|0}h=A+96|0;n=+b[h>>3]+ +(e|0);b[h>>3]=n;e=a[d>>2]|0}h=c+1|0;e=a[e+(h<<2)>>2]|0;if(e){u=e+16|0;n=n+v+ +b[(a[u>>2]|0)+88>>3];sz(s,e,n,0)|0;A=~~(n+o);a[(a[u>>2]|0)+232>>2]=A;o=+(A|0);A=a[g>>2]|0}e=a[A+112>>2]|0;if(e){t=a[A+256>>2]|0;c=a[t>>2]|0;t=a[t+4>>2]|0;A=(a[(a[(a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(a[(a[(a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);i=A?t:c;t=A?c:t;c=e+16|0;A=a[c>>2]|0;n=+((U(a[(a[I>>2]|0)+248>>2]|0,l[A+170>>1]|0)|0)/2|0|0);u=a[i>>2]&3;e=a[((u|0)==2?i:i+-48|0)+40>>2]|0;i=a[((u|0)==3?i:i+48|0)+40>>2]|0;if(!(Gz(i,e)|0))sz(e,i,+(~~(+b[(a[e+16>>2]|0)+96>>3]+n+ +b[(a[i+16>>2]|0)+88>>3])|0),a[A+156>>2]|0)|0;A=a[t>>2]&3;e=a[((A|0)==3?t:t+48|0)+40>>2]|0;A=a[((A|0)==2?t:t+-48|0)+40>>2]|0;if(!(Gz(A,e)|0)){sz(e,A,+(~~(+b[(a[e+16>>2]|0)+96>>3]+n+ +b[(a[A+16>>2]|0)+88>>3])|0),a[(a[c>>2]|0)+156>>2]|0)|0;u=0}else u=0}else u=0;while(1){A=a[g>>2]|0;if((u|0)>=(a[A+192>>2]|0)){c=h;continue A}s=a[(a[A+188>>2]|0)+(u<<2)>>2]|0;c=a[s>>2]&3;i=a[((c|0)==3?s:s+48|0)+40>>2]|0;c=a[((c|0)==2?s:s+-48|0)+40>>2]|0;t=(a[(a[i+16>>2]|0)+236>>2]|0)<(a[(a[c+16>>2]|0)+236>>2]|0);e=t?i:c;i=t?c:i;n=+b[(a[i+16>>2]|0)+88>>3]+ +b[(a[e+16>>2]|0)+96>>3];c=s+16|0;t=~~(n+ +(U(a[(a[I>>2]|0)+248>>2]|0,l[(a[c>>2]|0)+170>>1]|0)|0));w=dW(e,i)|0;if(!w){A=a[c>>2]|0;if(!(a[A+96>>2]|0))sz(e,i,+(t|0),a[A+156>>2]|0)|0}else{Q=+(t|0);A=a[c>>2]|0;m=+b[A+136>>3];n=n+ +(a[(a[I>>2]|0)+248>>2]|0)+ +(~~(m+(m>=0.0?.5:-.5))|0);e=~~(n65535){wz(+(e|0));e=65535;A=a[c>>2]|0}c=a[w+16>>2]|0;t=c+170|0;i=l[t>>1]|0;f[t>>1]=(e|0)<(i|0)?i:e;c=c+156|0;a[c>>2]=a[(a[((a[c>>2]|0)>(a[A+156>>2]|0)?w:s)+16>>2]|0)+156>>2]}u=u+1|0}}E=E+1|0;A=a[I>>2]|0}k=G;return}function oz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;e=(a[A+16>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;n=e+16|0;e=a[n>>2]|0;i=a[e+256>>2]|0;A:do{if(i){f=0;while(1){i=a[i+(f<<2)>>2]|0;if(!i)break A;u=YW(A)|0;e=u+16|0;r[(a[e>>2]|0)+156>>0]=2;s=i+16|0;c=a[s>>2]|0;l=~~(+b[c+56>>3]-+b[c+16>>3]);w=(l|0)>0;t=w?0:0-l|0;l=w?l:0;w=i+48|0;sz(u,a[((a[i>>2]&3|0)==3?i:w)+40>>2]|0,+(l+1|0),a[c+156>>2]|0)|0;c=i+-48|0;sz(u,a[((a[i>>2]&3|0)==2?i:c)+40>>2]|0,+(t+1|0),a[(a[s>>2]|0)+156>>2]|0)|0;s=a[i>>2]&3;l=(a[(a[(a[((s|0)==3?i:w)+40>>2]|0)+16>>2]|0)+232>>2]|0)-l|0;i=(a[(a[(a[((s|0)==2?i:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-t|0;a[(a[e>>2]|0)+232>>2]=((l|0)<(i|0)?l:i)+-1;e=a[n>>2]|0;f=f+1|0;i=a[e+256>>2]|0}}}while(0);e=e+164|0}return}function hz(A){A=A|0;if((a[(a[A+16>>2]|0)+180>>2]|0)>0){gz(A);Ez(A);Cz(A);Iz(A)}return}function dz(A){A=A|0;var e=0.0,i=0.0,r=0,f=0;r=A+16|0;f=a[(a[r>>2]|0)+8>>2]|0;if((a[f+84>>2]|0)==3?(e=+b[f+64>>3],i=+b[f+72>>3],!(i*e<=1.0)):0){Bz(A);f=a[r>>2]|0;i=(a[f+116>>2]&1|0)==0?e:i;sz(a[f+256>>2]|0,a[f+260>>2]|0,i<65535.0?i:65535.0,1e3)|0}return}function Bz(A){A=A|0;var e=0,i=0,r=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;s=w;i=kR(A,a[47144]|0,8,0)|0;vz(A);l=A+16|0;n=a[l>>2]|0;t=a[n+256>>2]|0;c=a[n+260>>2]|0;r=+(i|0);i=f[n+236>>1]|0;while(1){if((i|0)>(f[n+238>>1]|0))break;e=a[n+196>>2]|0;do{if(a[e+(i<<6)>>2]|0){e=a[a[e+(i<<6)+4>>2]>>2]|0;if(!e){a[s>>2]=Vh(A)|0;a[s+4>>2]=i;ao(1,86929,s)|0;break}else{sz(t,e,+b[(a[e+16>>2]|0)+88>>3]+r+ +b[n+96>>3],0)|0;n=a[l>>2]|0;e=a[n+196>>2]|0;e=a[(a[e+(i<<6)+4>>2]|0)+((a[e+(i<<6)>>2]|0)+-1<<2)>>2]|0;sz(e,c,+b[(a[e+16>>2]|0)+96>>3]+r+ +b[n+64>>3],0)|0;break}}}while(0);i=i+1|0;n=a[l>>2]|0}k=w;return}function vz(A){A=A|0;var e=0,i=0,f=0;e=A+16|0;if(!(a[(a[e>>2]|0)+256>>2]|0)){f=YW(gL(A)|0)|0;r[(a[f+16>>2]|0)+156>>0]=2;i=YW(gL(A)|0)|0;r[(a[i+16>>2]|0)+156>>0]=2;if((a[(a[e>>2]|0)+12>>2]|0?(gL(A)|0)!=(A|0):0)?(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0:0){A=a[e>>2]|0;sz(f,i,+(~~+b[A+48+((+b[A+48>>3]>+b[A+80>>3]?0:2)<<4)>>3]|0),0)|0}e=a[e>>2]|0;a[e+256>>2]=f;a[e+260>>2]=i}return}function gz(A){A=A|0;var e=0,i=0;do{if((gL(A)|0)!=(A|0)){Bz(A);A=A+16|0;e=a[A>>2]|0;e=dW(a[e+256>>2]|0,a[e+260>>2]|0)|0;if(!e){i=a[A>>2]|0;sz(a[i+256>>2]|0,a[i+260>>2]|0,1.0,128)|0;break}else{i=(a[e+16>>2]|0)+156|0;a[i>>2]=(a[i>>2]|0)+128;break}}else A=A+16|0}while(0);e=1;while(1){i=a[A>>2]|0;if((e|0)>(a[i+180>>2]|0))break;gz(a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function Ez(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0;c=kR(A,a[47144]|0,8,0)|0;k=A+16|0;e=a[k>>2]|0;w=+(c|0);c=f[e+236>>1]|0;while(1){if((c|0)>(f[e+238>>1]|0)){i=1;break}e=a[e+196>>2]|0;A:do{if(a[e+(c<<6)>>2]|0?(s=a[a[e+(c<<6)+4>>2]>>2]|0,s|0):0){l=s+16|0;i=a[(a[l>>2]|0)+236>>2]|0;while(1){if((i|0)<=0)break;i=i+-1|0;t=a[(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;n=t+16|0;e=a[n>>2]|0;if(!(r[e+156>>0]|0)){u=10;break}if(Zz(A,t)|0){u=9;break}}if((u|0)==9){e=a[n>>2]|0;u=10}if((u|0)==10){u=0;sz(t,a[(a[k>>2]|0)+256>>2]|0,+b[e+96>>3]+w,0)|0}i=(a[(a[(a[k>>2]|0)+196>>2]|0)+(c<<6)>>2]|0)+(a[(a[l>>2]|0)+236>>2]|0)|0;while(1){if((i|0)>=(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)>>2]|0))break A;l=a[(a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;n=l+16|0;e=a[n>>2]|0;if(!(r[e+156>>0]|0))break;if(!(Zz(A,l)|0))i=i+1|0;else{u=15;break}}if((u|0)==15){u=0;e=a[n>>2]|0}sz(a[(a[k>>2]|0)+260>>2]|0,l,+b[e+88>>3]+w,0)|0}}while(0);c=c+1|0;e=a[k>>2]|0}while(1){if((i|0)>(a[e+180>>2]|0))break;Ez(a[(a[e+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=a[k>>2]|0}return}function Cz(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0;r=kR(A,a[47144]|0,8,0)|0;vz(A);e=A+16|0;i=+(r|0);A=1;while(1){r=a[e>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[(a[r+184>>2]|0)+(A<<2)>>2]|0;vz(r);f=a[e>>2]|0;n=r+16|0;sz(a[f+256>>2]|0,a[(a[n>>2]|0)+256>>2]|0,+b[f+96>>3]+i,0)|0;f=a[e>>2]|0;sz(a[(a[n>>2]|0)+260>>2]|0,a[f+260>>2]|0,+b[f+64>>3]+i,0)|0;Cz(r);A=A+1|0}return}function Iz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0.0,u=0,k=0;e=kR(A,a[47144]|0,8,0)|0;u=A+16|0;A=1;while(1){r=a[u>>2]|0;i=a[r+180>>2]|0;if((A|0)>(i|0))break;vz(a[(a[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}w=+(e|0);s=1;A=i;e=r;while(1){if((s|0)>(A|0))break;b=s+1|0;c=b;while(1){i=a[e+184>>2]|0;r=a[i+(s<<2)>>2]|0;if((c|0)>(A|0))break;i=a[i+(c<<2)>>2]|0;n=(f[(a[r+16>>2]|0)+236>>1]|0)>(f[(a[i+16>>2]|0)+236>>1]|0);t=n?i:r;i=n?r:i;r=a[t+16>>2]|0;n=a[i+16>>2]|0;k=f[n+236>>1]|0;l=k<<16>>16;if((f[r+238>>1]|0)>=k<<16>>16){A=(a[(a[(a[a[(a[r+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(a[(a[(a[a[(a[n+196>>2]|0)+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);sz(a[(a[(A?t:i)+16>>2]|0)+260>>2]|0,a[(a[(A?i:t)+16>>2]|0)+256>>2]|0,w,0)|0;A=a[u>>2]|0;e=A;A=a[A+180>>2]|0}c=c+1|0}Iz(r);e=a[u>>2]|0;s=b;A=a[e+180>>2]|0}return}function Zz(A,e){A=A|0;e=e|0;var i=0;e=a[e+16>>2]|0;if((r[e+156>>0]|0)==1){e=a[a[e+256>>2]>>2]|0;while(1){i=a[(a[e+16>>2]|0)+116>>2]|0;if(!i)break;else e=i}if(!(Dd(A,a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0))e=(Dd(A,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)==0&1;else e=0}else e=0;return e|0}function Gz(A,e){A=A|0;e=e|0;return Qz(A,e)|0}function Qz(A,e){A=A|0;e=e|0;var i=0,r=0;A:do{if((A|0)==(e|0))A=1;else{i=a[(a[A+16>>2]|0)+180>>2]|0;A=0;while(1){r=a[i+(A<<2)>>2]|0;if(!r){A=0;break A}if(!(Qz(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,e)|0))A=A+1|0;else{A=1;break}}}}while(0);return A|0}function mz(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=A+16|0;A=a[b>>2]|0;c=f[A+236>>1]|0;while(1){if((c|0)>(f[A+238>>1]|0))break;l=a[A+196>>2]|0;n=a[l+(c<<6)>>2]|0;l=l+(c<<6)+4|0;t=0;i=0;while(1){if((i|0)>=(n|0))break;e=a[(a[(a[l>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[e+236>>2]=t;if((r[e+159>>0]|0)==6)e=a[e+216>>2]|0;else e=1;t=e+t|0;i=i+1|0}if((t|0)>(n|0)){A=a[l>>2]|0;if(!A)A=$F((t<<2)+4|0)|0;else A=eV(A,(t<<2)+4|0)|0;i=a[(a[b>>2]|0)+196>>2]|0;a[i+(c<<6)+4>>2]=A;e=a[i+(c<<6)>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;l=a[i+(c<<6)+4>>2]|0;e=a[l+(A<<2)>>2]|0;a[l+(a[(a[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=A;i=a[(a[b>>2]|0)+196>>2]|0}a[i+(c<<6)>>2]=t;a[(a[i+(c<<6)+4>>2]|0)+(t<<2)>>2]=0;A=a[b>>2]|0}c=c+1|0}return}function Lz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+48|0;w=u+32|0;s=u+8|0;i=u+24|0;c=u+16|0;t=u;r=e+16|0;f=a[r>>2]|0;A:do{if((a[f+216>>2]|0)>=2){a[s>>2]=~~(+b[f+16>>3]-+b[f+88>>3]);a[s+4>>2]=~~+b[f+24>>3];a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];Wz(i,e,w);n=i;l=a[n+4>>2]|0;i=s;a[i>>2]=a[n>>2];a[i+4>>2]=l;i=a[r>>2]|0;if((a[i+184>>2]|0)>0){t=a[a[i+180>>2]>>2]|0;i=(a[i+236>>2]|0)+1|0;t=qo(A,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)|0;while(1){if(!t)break A;l=(a[t>>2]&3|0)==2?t:t+-48|0;r=l+48|0;f=a[((a[l>>2]&3|0)==3?l:r)+40>>2]|0;if((f|0)!=(e|0)?(CR(f)|0)==(e|0):0){f=a[((a[l>>2]&3|0)==3?l:r)+40>>2]|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];yz(c,A,f,w,i);f=c;r=a[f+4>>2]|0;n=s;a[n>>2]=a[f>>2];a[n+4>>2]=r;JW(l);n=l+-48|0;r=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;f=a[r+172>>2]|0;if(!f)r=$F((a[r+176>>2]<<2)+8|0)|0;else r=eV(f,(a[r+176>>2]<<2)+8|0)|0;a[(a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0)+172>>2]=r;o=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;r=a[o+172>>2]|0;o=o+176|0;f=a[o>>2]|0;a[o>>2]=f+1;a[r+(f<<2)>>2]=l;l=a[(a[((a[l>>2]&3|0)==2?l:n)+40>>2]|0)+16>>2]|0;a[(a[l+172>>2]|0)+(a[l+176>>2]<<2)>>2]=0;i=i+1|0}t=$o(A,t)|0}}else{l=a[a[i+172>>2]>>2]|0;i=(a[i+236>>2]|0)+1|0;l=Oo(A,a[((a[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)|0;while(1){if(!l)break A;r=l+-48|0;f=a[((a[l>>2]&3|0)==2?l:r)+40>>2]|0;if((f|0)!=(e|0)?(CR(f)|0)==(e|0):0){f=a[((a[l>>2]&3|0)==2?l:r)+40>>2]|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];yz(t,A,f,w,i);f=t;r=a[f+4>>2]|0;n=s;a[n>>2]=a[f>>2];a[n+4>>2]=r;JW(l);n=l+48|0;r=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;f=a[r+180>>2]|0;if(!f)r=$F((a[r+184>>2]<<2)+8|0)|0;else r=eV(f,(a[r+184>>2]<<2)+8|0)|0;a[(a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0)+180>>2]=r;f=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;c=a[f+180>>2]|0;f=f+184|0;o=a[f>>2]|0;a[f>>2]=o+1;a[c+(o<<2)>>2]=l;o=a[(a[((a[l>>2]&3|0)==3?l:n)+40>>2]|0)+16>>2]|0;a[(a[o+180>>2]|0)+(a[o+184>>2]<<2)>>2]=0;i=i+1|0}l=_o(A,l)|0}}}}while(0);k=u;return}function Wz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;DH(e,a[(a[(Id(e)|0)+16>>2]|0)+116>>2]&1);r=a[e+16>>2]|0;b[r+24>>3]=+(a[i+4>>2]|0);f=+b[r+88>>3]+ +(a[i>>2]|0);b[r+16>>3]=f;f=f+ +b[r+96>>3];a[i>>2]=~~(f+ +(a[(a[(Id(e)|0)+16>>2]|0)+248>>2]|0));r=i;e=a[r+4>>2]|0;i=A;a[i>>2]=a[r>>2];a[i+4>>2]=e;return}function yz(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;t=k;k=k+16|0;l=t;e=gL(e)|0;n=CR(i)|0;if((n|0)!=(i|0))WW(n,i);c=a[i+16>>2]|0;a[c+236>>2]=f;n=a[(a[n+16>>2]|0)+232>>2]|0;a[c+232>>2]=n;a[(a[(a[(a[e+16>>2]|0)+196>>2]|0)+(n<<6)+4>>2]|0)+(f<<2)>>2]=i;a[l>>2]=a[r>>2];a[l+4>>2]=a[r+4>>2];Wz(A,i,l);k=t;return}function zz(A){A=A|0;var e=0.0,i=0.0,r=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0.0;w=a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0;if((gL(A)|0)==(A|0))t=8.0;else t=+(kR(A,a[47144]|0,8,0)|0);s=A+16|0;n=a[s>>2]|0;r=0;c=1;i=+b[n+120>>3];e=+b[n+128>>3];while(1){if((c|0)>(a[n+180>>2]|0))break;l=a[(a[n+184>>2]|0)+(c<<2)>>2]|0;r=zz(l)|0|r;l=a[l+16>>2]|0;n=a[s>>2]|0;if((f[l+238>>1]|0)==(f[n+238>>1]|0)){u=+b[l+120>>3]+t;i=i>u?i:u}if((f[l+236>>1]|0)==(f[n+236>>1]|0)){u=+b[l+128>>3]+t;e=e>u?e:u}c=c+1|0}if((gL(A)|0)!=(A|0)?(a[(a[s>>2]|0)+12>>2]|0)!=0:0)if(!(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1)){c=a[s>>2]|0;r=1;i=+b[c+56>>3]+i;e=+b[c+88>>3]+e}else r=1;c=a[s>>2]|0;b[c+120>>3]=i;b[c+128>>3]=e;if((gL(A)|0)!=(A|0)){s=a[s>>2]|0;A=w+(f[s+236>>1]<<6)+24|0;u=+b[A>>3];b[A>>3]=u>e?u:e;w=w+(f[s+238>>1]<<6)+16|0;u=+b[w>>3];b[w>>3]=u>i?u:i}return r|0}function Yz(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0.0,h=0.0;k=a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0;if((gL(A)|0)==(A|0))i=0;else i=kR(A,a[47144]|0,8,0)|0;s=A+16|0;l=a[s>>2]|0;w=i+e|0;c=+(i|0);t=1;r=+b[l+128>>3];n=+b[l+120>>3];i=l;while(1){if((t|0)>(a[i+180>>2]|0))break;l=a[(a[i+184>>2]|0)+(t<<2)>>2]|0;Yz(l,w);l=a[l+16>>2]|0;i=a[s>>2]|0;if((f[l+238>>1]|0)==(f[i+238>>1]|0)){h=+b[l+120>>3]+c;n=n>h?n:h}if((f[l+236>>1]|0)==(f[i+236>>1]|0)){h=+b[l+128>>3]+c;r=r>h?r:h}t=t+1|0}b[i+120>>3]=n;b[i+128>>3]=r;if(((gL(A)|0)!=(A|0)?(u=a[s>>2]|0,a[u+12>>2]|0):0)?(o=-n-r+ +b[u+48+((+b[u+104>>3]>+b[u+72>>3]?3:1)<<4)+8>>3]-+b[(a[(a[a[k+(f[u+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +b[(a[(a[a[k+(f[u+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],o>0.0):0)Dz(A,~~o,e);if((gL(A)|0)!=(A|0)){u=a[s>>2]|0;w=k+(f[u+236>>1]<<6)+24|0;h=+b[w>>3];o=+b[u+128>>3];b[w>>3]=h>o?h:o;k=k+(f[u+238>>1]<<6)+16|0;o=+b[k>>3];h=+b[u+120>>3];b[k>>3]=o>h?o:h}return}function Dz(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0.0,k=0.0,o=0,h=0,d=0;c=a[(gL(A)|0)+16>>2]|0;h=a[c+196>>2]|0;o=a[A+16>>2]|0;A=f[o+238>>1]|0;r=f[o+236>>1]|0;s=(e+1|0)/2|0;w=o+120|0;u=+b[w>>3];k=+(s|0);l=+(i|0);i=~~(k+l+u-+b[h+(A<<6)+16>>3]);if((i|0)>0){n=+(i|0);while(1){if((A|0)<(r|0))break;if((a[h+(A<<6)>>2]|0)>0){d=(a[(a[a[h+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;b[d>>3]=+b[d>>3]+n}A=A+-1|0}t=+b[o+128>>3];A=i;n=t+ +(e-s|0)}else{t=+b[o+128>>3];A=e-s|0;n=t}A=~~(+(A|0)+l+n-+b[h+(r<<6)+24>>3]);A:do{if((A|0)>0){i=f[c+236>>1]|0;n=+(A|0);while(1){A=r+-1|0;if((r|0)<=(i|0))break A;if((a[h+(A<<6)>>2]|0)<=0){r=A;continue}r=(a[(a[a[h+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;b[r>>3]=+b[r>>3]+n;r=A}}}while(0);b[o+128>>3]=t+ +(e-s|0);b[w>>3]=u+k;return}function Mz(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A+16>>2]|0;f=r[i+84>>0]|0;A=a[e+16>>2]|0;do{if(f<<24>>24==(r[A+84>>0]|0)){if(+b[i+56>>3]==+b[A+56>>3]){if(!(f<<24>>24==0?1:+b[i+64>>3]==+b[A+64>>3])){A=0;break}}else if(f<<24>>24){A=0;break}if(+b[i+16>>3]==+b[A+16>>3]?+b[i+24>>3]==+b[A+24>>3]:0){A=1;break}A=(r[i+44>>0]|0)==0&1}else A=0}while(0);return A|0}function Fz(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=A+16|0;e=a[t>>2]|0;f[e+236>>1]=32767;f[e+238>>1]=-1;e=0;l=cd(A)|0;while(1){i=a[t>>2]|0;if(!l)break;r=i+238|0;n=a[(a[l+16>>2]|0)+232>>2]|0;if((n|0)>(f[r>>1]|0))f[r>>1]=n;i=i+236|0;if((n|0)<(f[i>>1]|0))f[i>>1]=n;if(!e)e=l;else e=(n|0)<(a[(a[e+16>>2]|0)+232>>2]|0)?l:e;l=bd(A,l)|0}a[i+264>>2]=e;return}function Vz(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0;e=po(A,86974)|0;if(!e)e=2147483647;else{n=+$3(e);e=~~(n*+(vh(A)|0))}r=A+16|0;i=0;while(1){f=a[r>>2]|0;if((i|0)>=(a[f+220>>2]|0))break;a[f+192>>2]=a[(a[f+216>>2]|0)+(i<<2)>>2];JV(A,(a[f+180>>2]|0)==0&1,e)|0;i=i+1|0}return}function Jz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=k;k=k+16|0;i=r;if(!(po(A,86983)|0))Xz(A,e);else{n=(a[A+16>>2]|0)+136|0;f[n>>1]=f[n>>1]|16;Nz(A,e)}if(0){n=a[15712]|0;A=a[A+16>>2]|0;e=f[A+236>>1]|0;a[i>>2]=f[A+238>>1];a[i+4>>2]=e;f3(n,86991,i)|0}k=r;return}function Nz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0.0;t=k;k=k+16|0;l=t;a[46747]=0;r[l>>0]=r[18588]|0;r[l+1>>0]=r[18589]|0;r[l+2>>0]=r[18590]|0;r[l+3>>0]=r[18591]|0;l=kh(87201,l,0)|0;Td(l,87230,280,1)|0;zd(l,17404,17344);Rz(A);i=po(A,86974)|0;if(!i)f=2147483647;else{c=+$3(i);f=~~(c*+(vh(A)|0))}iY(A,0);rY(A,l);fY(A,l);aY(A,l,0,0);nY(l);n=lY(l)|0;tY(l);if(e|0){KY(l);NY(l)}i=po(A,102586)|0;if(!i)i=-1;else i=q3(i)|0;iV(l,1,f,i)|0;cY(A,l,n);Bh(l)|0;k=t;return}function Xz(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n+16|0;r=n+8|0;i=n;Rz(A);do{if(!e){Hz(A,A);$Y(A);pz(i,A);l=i;i=a[l+4>>2]|0;e=r;a[e>>2]=a[l>>2];a[e+4>>2]=i;jD(A,0);e=0}else{KY(A);NY(A);Hz(A,A);$Y(A);pz(i,A);t=i;i=a[t+4>>2]|0;l=r;a[l>>2]=a[t>>2];a[l+4>>2]=i;jD(A,0);l=a[A+16>>2]|0;if((a[l+220>>2]|0)<=1?(a[l+180>>2]|0)<=0:0)break;a[e+32>>2]=1;e=0}}while(0);FY(A);a[f>>2]=a[r>>2];a[f+4>>2]=a[r+4>>2];if(Uz(A,f)|0)jD(A,0);if(!e)Vz(A);else XY(A,e);xz(A,e);Tz(A);k=n;return}function Rz(A){A=A|0;var e=0,i=0,n=0;if(r[(a[(a[A+60>>2]|0)+16>>2]|0)+113>>0]&1){i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;n=(a[e+16>>2]|0)+170|0;f[n>>1]=(l[n>>1]|0)<<1;e=_o(A,e)|0}i=bd(A,i)|0}n=(a[A+16>>2]|0)+252|0;a[n>>2]=((a[n>>2]|0)+1|0)/2|0}return}function Hz(A,e){A=A|0;e=e|0;var i=0;e=RB(e)|0;while(1){if(!e)break;i=$z(e)|0;do{if(i)if((i|0)==7&(a[47135]|0)==100){Oz(A,e);break}else{AY(A,e,i);break}else Hz(A,e)}while(0);e=HB(e)|0}return}function pz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;t=e+16|0;i=a[t>>2]|0;e=a[i+228>>2]|0;i=a[i+224>>2]|0;f=(i|0)==0;if(!e)if(f){c=0;b=0}else n=4;else if(f)n=5;else n=4;if((n|0)==4){e=CR(i)|0;i=a[t>>2]|0;a[i+224>>2]=e;e=a[i+228>>2]|0;if(!e){l=0;e=i;n=12}else n=5}do{if((n|0)==5){e=CR(e)|0;i=a[t>>2]|0;a[i+228>>2]=e;if(e){i=e+16|0;e=a[i>>2]|0;f=(r[e+159>>0]|0)==5&1;while(1){e=a[a[e+180>>2]>>2]|0;if(!e){n=11;break}l=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((l|0)!=(CR(l)|0)){n=9;break}MY(e);e=a[i>>2]|0}if((n|0)==9)vA(87094,87034,346,87126);else if((n|0)==11){l=f;e=a[t>>2]|0;n=12;break}}else{l=0;e=i;n=12}}}while(0);A:do{if((n|0)==12){e=a[e+224>>2]|0;if(!e){c=0;b=l}else{i=e+16|0;e=a[i>>2]|0;f=(r[e+159>>0]|0)==3&1;while(1){e=a[a[e+172>>2]>>2]|0;if(!e){c=f;b=l;break A}t=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((t|0)!=(CR(t)|0))break;MY(e);e=a[i>>2]|0}vA(87139,87034,353,87126)}}}while(0);a[A>>2]=c;a[A+4>>2]=b;return}function Uz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0;c=A+16|0;t=a[c>>2]|0;if((a[t+228>>2]|0)==0?(a[t+224>>2]|0)==0:0)e=0;else i=3;A:do{if((i|0)==3){n=cd(A)|0;t=e+4|0;l=a[e>>2]&65535;e=0;while(1){if(!n)break A;if((n|0)==(CR(n)|0)){r=n+16|0;i=a[r>>2]|0;if((a[i+184>>2]|0)==0?(b=a[(a[c>>2]|0)+228>>2]|0,!((b|0)==0|(n|0)==(b|0))):0){e=mW(n,b,0)|0;i=a[e+16>>2]|0;f[i+170>>1]=a[t>>2];a[i+156>>2]=0;i=a[r>>2]|0}if((a[i+176>>2]|0)==0?(s=a[(a[c>>2]|0)+224>>2]|0,!((s|0)==0|(n|0)==(s|0))):0){e=mW(s,n,0)|0;r=a[e+16>>2]|0;f[r+170>>1]=l;a[r+156>>2]=0}}n=bd(A,n)|0}}}while(0);return(e|0)!=0|0}function xz(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;n=cd(A)|0;b=A+16|0;i=a[b>>2]|0;A:do{if(n){f[i+236>>1]=32767;f[i+238>>1]=-1;c=(e|0)==0;while(1){if(!n)break;i=CR(n)|0;t=a[n+16>>2]|0;e=a[t+232>>2]|0;do{if((i|0)!=(n|0)){if(!c)if(!e)e=0;else break;e=e+(a[(a[i+16>>2]|0)+232>>2]|0)|0;a[t+232>>2]=e}}while(0);i=a[b>>2]|0;l=i+238|0;if((e|0)>(f[l>>1]|0))f[l>>1]=e;i=i+236|0;if((e|0)<(f[i>>1]|0))f[i>>1]=e;switch(r[t+159>>0]|0){case 6:case 0:break;default:ZR(n)}n=bd(A,n)|0}if((gL(A)|0)==(A|0)){if((a[47135]|0)==100)e=1;else{Pz(A);break}while(1){i=a[b>>2]|0;if((e|0)>(a[i+180>>2]|0))break A;Sz(a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{f[i+238>>1]=0;f[i+236>>1]=0}}while(0);return}function Tz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=A+16|0;i=0;while(1){e=a[c>>2]|0;if((i|0)>=(a[e+220>>2]|0))break;t=a[(a[e+216>>2]|0)+(i<<2)>>2]|0;a[e+192>>2]=t;e=t;while(1){if(!e)break;t=e+16|0;jz((a[t>>2]|0)+172|0);jz((a[t>>2]|0)+180|0);t=a[t>>2]|0;r[t+157>>0]=0;e=a[t+164>>2]|0}i=i+1|0}t=cd(A)|0;while(1){if(!t)break;l=Oo(A,t)|0;while(1){if(!l)break;f=l+16|0;e=a[f>>2]|0;n=a[e+172>>2]|0;if((n|0)!=0?(b=n+16|0,(l|0)==(a[(a[b>>2]|0)+116>>2]|0)):0){e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;if((l|0)!=(i|0)?(s=(a[i+16>>2]|0)+172|0,w=a[s>>2]|0,(w|0)!=0&(n|0)==(w|0)):0)a[s>>2]=0;i=_o(A,i)|0}e=bd(A,e)|0}L2(a[b>>2]|0);L2(n);e=a[f>>2]|0}a[e+172>>2]=0;l=_o(A,l)|0}t=bd(A,t)|0}L2(a[(a[c>>2]|0)+216>>2]|0);w=a[c>>2]|0;a[w+216>>2]=0;a[w+220>>2]=0;return}function jz(A){A=A|0;var e=0,i=0;i=A+4|0;e=a[i>>2]|0;while(1){if((e|0)<=-1)break;a[(a[A>>2]|0)+(e<<2)>>2]=0;e=e+-1|0}a[i>>2]=0;return}function Sz(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=a[e>>2]|0;r=a[(a[(a[i+264>>2]|0)+16>>2]|0)+232>>2]|0;A=i+236|0;f[A>>1]=r+(l[A>>1]|0);A=i+238|0;f[A>>1]=r+(l[A>>1]|0);A=1;while(1){if((A|0)>(a[i+180>>2]|0))break;Sz(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0;i=a[e>>2]|0}return}function Pz(A){A=A|0;var e=0;e=RB(gL(A)|0)|0;while(1){if(!e)break;if((r[(a[e+16>>2]|0)+274>>0]|0)==7)Oz(A,e);e=HB(e)|0}return}function Oz(A,e){A=A|0;e=e|0;var i=0;i=(a[e+16>>2]|0)+200|0;do{if((a[i>>2]|0)==0?(a[i>>2]=A,Kz(A,e),cd(e)|0):0){_z(A,e);if((a[47135]|0)==100){Xz(e,0);qz(e);break}else{Fz(e);break}}}while(0);return}function Kz(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;l=A+16|0;n=cd(e)|0;while(1){if(!n)break;t=bd(e,n)|0;c=n+16|0;if(!(r[(a[c>>2]|0)+159>>0]|0))f=1;else{Cd(e,n)|0;n=t;continue}while(1){i=a[l>>2]|0;A=a[i+180>>2]|0;if((f|0)>=(A|0))break;if(Dd(a[(a[i+184>>2]|0)+(f<<2)>>2]|0,n)|0){b=7;break}f=f+1|0}if((b|0)==7){b=0;A=a[(a[l>>2]|0)+180>>2]|0}if((f|0)<(A|0))Cd(e,n)|0;a[(a[c>>2]|0)+212>>2]=0;n=t}i=cd(e)|0;while(1){if(!i)break;A=Oo(gL(e)|0,i)|0;while(1){if(!A)break;if(Dd(e,a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)wh(e,A,1)|0;A=_o(gL(e)|0,A)|0}i=bd(e,i)|0}return}function _z(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+16|0;i=a[r>>2]|0;n=i+180|0;A=a[n>>2]|0;f=A+1|0;a[n>>2]=f;i=a[i+184>>2]|0;if(!i)A=qF((A<<2)+8|0)|0;else A=AV(i,A+2|0,4,f)|0;a[(a[r>>2]|0)+184>>2]=A;a[A+(f<<2)>>2]=e;JF(e);return}function qz(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;n=a[A+16>>2]|0;e=n+192|0;l=0;while(1){e=a[e>>2]|0;if(!e)break;f=a[e+16>>2]|0;if(!(a[f+232>>2]|0))i=(r[f+156>>0]|0)==0?e:l;else i=l;e=f+164|0;l=i}if(!l)vA(87019,87034,238,87041);a[n+264>>2]=l;e=cd(A)|0;while(1){if(!e){e=13;break}i=e+16|0;if(!((e|0)==(l|0)?1:(a[(a[i>>2]|0)+216>>2]|0)<2)){e=11;break}IR(e,l)|0;r[(a[i>>2]|0)+159>>0]=7;e=bd(A,e)|0}if((e|0)==11)vA(87056,87034,242,87041);else if((e|0)==13)return}function $z(A){A=A|0;var e=0;if(!(eY(A)|0)){e=YR(po(A,87171)|0,17356,17380)|0;r[(a[A+16>>2]|0)+274>>0]=e;A=e}else A=7;return A|0}function AY(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;n=cd(e)|0;A:do{if(n|0){c=i&255;t=n+16|0;f=n;l=c;while(1){r[(a[f+16>>2]|0)+159>>0]=l;f=bd(e,f)|0;if(!f)break;IR(n,f)|0;l=r[(a[t>>2]|0)+159>>0]|0}switch(i|0){case 3:case 2:{A=A+16|0;f=a[A>>2]|0;l=a[f+224>>2]|0;if(l){n=IR(l,n)|0;f=a[A>>2]|0}a[f+224>>2]=n;break}case 5:case 4:{A=A+16|0;f=a[A>>2]|0;l=a[f+228>>2]|0;if(l){n=IR(l,n)|0;f=a[A>>2]|0}a[f+228>>2]=n;break}default:break A}switch(i|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break A}r[(a[(a[f>>2]|0)+16>>2]|0)+159>>0]=c}}while(0);return}function eY(A){A=A|0;return(Z1(Vh(A)|0,108006,7)|0)==0|0}function iY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;n=s;if(!(IY(A)|0)){do{if(PR(A)|0)if(!e){a[(a[A+16>>2]|0)+204>>2]=0;e=A;break}else{a[(a[A+16>>2]|0)+204>>2]=(a[(a[e+16>>2]|0)+204>>2]|0)+1;ZY(A,e);e=A;break}}while(0);i=RB(A)|0;while(1){if(!i)break;iY(i,e);i=HB(i)|0}A:do{if(PR(A)|0){i=cd(A)|0;while(1){if(!i)break A;f=(a[i+16>>2]|0)+212|0;if(!(a[f>>2]|0))a[f>>2]=A;i=bd(A,i)|0}}}while(0);switch(GY(A)|0){case 3:{e=e+16|0;r[(a[e>>2]|0)+241>>0]=1;b=19;break}case 2:{e=e+16|0;b=19;break}case 5:{e=e+16|0;r[(a[e>>2]|0)+242>>0]=1;b=21;break}case 4:{e=e+16|0;b=21;break}case 1:{QY(A)|0;break}case 6:break;default:{i=Vh(A)|0;f=po(A,87171)|0;a[n>>2]=i;a[n+4>>2]=f;ao(0,87354,n)|0}}if((b|0)==19){b=QY(A)|0;b=mY(b,a[(a[e>>2]|0)+208>>2]|0)|0;a[(a[e>>2]|0)+208>>2]=b}else if((b|0)==21){b=QY(A)|0;b=mY(b,a[(a[e>>2]|0)+212>>2]|0)|0;a[(a[e>>2]|0)+212>>2]=b}if((PR(A)|0?(l=A+16|0,t=a[l>>2]|0,c=a[t+208>>2]|0,c|0):0)?(c|0)==(a[t+212>>2]|0):0){c=QY(A)|0;b=a[l>>2]|0;a[b+208>>2]=c;a[b+212>>2]=c}}k=s;return}function rY(A,e){A=A|0;e=e|0;var i=0,r=0;a[46747]=0;i=cd(A)|0;while(1){if(!i)break;if((bY(i)|0)==(i|0)){r=uY(e,Vh(i)|0)|0;a[(a[i+16>>2]|0)+148>>2]=r}i=bd(A,i)|0}i=cd(A)|0;while(1){if(!i)break;e=i+16|0;if(!(a[(a[e>>2]|0)+148>>2]|0)){r=a[(a[(bY(i)|0)+16>>2]|0)+148>>2]|0;a[(a[e>>2]|0)+148>>2]=r}i=bd(A,i)|0}return}function fY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=cd(A)|0;while(1){if(!l)break;i=a[(a[l+16>>2]|0)+148>>2]|0;t=Oo(A,l)|0;while(1){if(!t)break;do{if((BY(t)|0)==0?(c=t+-48|0,b=a[(a[(bY(a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(i|0)!=(b|0)):0){f=a[t>>2]&3;n=t+48|0;r=((f|0)==3?t:n)+40|0;f=a[(a[(a[((f|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(vY(t)|0)){if((dY(a[(a[(a[r>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(dY(f)|0)==0:0){gY(e,i,b,t);break}EY(e,i,b,t);break}else{f=bY(a[r>>2]|0)|0;r=a[t>>2]&3;if((f|0)!=(a[(a[(a[(a[(a[((r|0)==3?t:n)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(n=bY(a[((r|0)==2?t:c)+40>>2]|0)|0,(n|0)!=(a[(a[(a[(a[(a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)r=b;else{r=i;i=b}gY(e,i,r,t);break}}}while(0);t=_o(A,t)|0}l=bd(A,l)|0}return}function aY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;if((PR(A)|0)!=0?(dY(A)|0)!=0:0){n=cd(A)|0;while(1){if(!n)break;if(!(qo(A,n)|0)){f=a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0;if(!i)i=uY(e,87252)|0;th(e,i,f,0,1)|0}if(!(Oo(A,n)|0)){f=a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0;if(!r)r=uY(e,87257)|0;th(e,f,r,0,1)|0}n=bd(A,n)|0}if((r|0)!=0&(i|0)!=0){hY(th(e,i,r,0,1)|0,0,1e3);f=i}else f=i}else f=i;i=RB(A)|0;while(1){if(!i)break;aY(i,e,f,r);i=HB(i)|0}return}function nY(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;r[i+158>>0]=0;r[i+157>>0]=0;e=bd(A,e)|0}e=cd(A)|0;while(1){if(!e)break;kY(A,e);e=bd(A,e)|0}return}function lY(A){A=A|0;var e=0,i=0,r=0,f=0;e=cd(A)|0;while(1){if(!e)break;a[(a[e+16>>2]|0)+128>>2]=0;e=bd(A,e)|0}e=0;r=cd(A)|0;while(1){if(!r)break;i=e+1|0;if(!(a[(a[r+16>>2]|0)+128>>2]|0)){wY(A,r,i);e=i}r=bd(A,r)|0}A:do{if((e|0)>1){f=uY(A,87246)|0;i=1;r=cd(A)|0;while(1){if(!r)break A;if((a[(a[r+16>>2]|0)+128>>2]|0)==(i|0)){th(A,f,r,0,1)|0;i=i+1|0}r=bd(A,r)|0}}}while(0);return e|0}function tY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;n=cd(A)|0;while(1){if(!n)break;l=n+16|0;f=Oo(A,n)|0;while(1){if(!f)break;e=a[l>>2]|0;i=a[e+180>>2]|0;if(!i)e=$F((a[e+184>>2]<<2)+8|0)|0;else e=eV(i,(a[e+184>>2]<<2)+8|0)|0;i=a[l>>2]|0;a[i+180>>2]=e;i=i+184|0;r=a[i>>2]|0;a[i>>2]=r+1;a[e+(r<<2)>>2]=f;r=a[l>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;r=f+-48|0;e=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;i=a[e+172>>2]|0;if(!i)e=$F((a[e+176>>2]<<2)+8|0)|0;else e=eV(i,(a[e+176>>2]<<2)+8|0)|0;a[(a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;t=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;e=a[t+172>>2]|0;t=t+176|0;i=a[t>>2]|0;a[t>>2]=i+1;a[e+(i<<2)>>2]=f;r=a[(a[((a[f>>2]&3|0)==2?f:r)+40>>2]|0)+16>>2]|0;a[(a[r+172>>2]|0)+(a[r+176>>2]<<2)>>2]=0;f=_o(A,f)|0}n=bd(A,n)|0}return}function cY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;u=A+16|0;k=a[u>>2]|0;f[k+236>>1]=32767;f[k+238>>1]=-1;A:do{if((i|0)>1){n=qF((i<<2)+4|0)|0;r=i+1|0;i=1;while(1){if((i|0)==(r|0)){w=n;k=n;break A}a[n+(i<<2)>>2]=32767;i=i+1|0}}else{w=0;k=0}}while(0);t=(w|0)==0;n=cd(A)|0;while(1){if(!n)break;c=a[(a[(a[(bY(n)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;b=a[c+232>>2]|0;s=a[n+16>>2]|0;a[s+232>>2]=b;i=a[u>>2]|0;r=i+238|0;if((b|0)>(f[r>>1]|0))f[r>>1]=b;i=i+236|0;if((b|0)<(f[i>>1]|0))f[i>>1]=b;if(!t){c=a[c+128>>2]|0;a[s+128>>2]=c;s=w+(c<<2)|0;c=a[s>>2]|0;a[s>>2]=(c|0)<(b|0)?c:b}n=bd(A,n)|0}c=(w|0)!=0;A:do{if(!c){w=f[(a[u>>2]|0)+236>>1]|0;r=w<<16>>16;if(w<<16>>16>0){i=cd(A)|0;while(1){if(!i)break;w=(a[i+16>>2]|0)+232|0;a[w>>2]=(a[w>>2]|0)-r;i=bd(A,i)|0}i=a[u>>2]|0;u=i+236|0;f[u>>1]=(l[u>>1]|0)-r;i=i+238|0;f[i>>1]=(l[i>>1]|0)-r;i=0}else i=0}else{i=cd(A)|0;while(1){if(!i){i=1;break A}s=a[i+16>>2]|0;u=s+232|0;a[u>>2]=(a[u>>2]|0)-(a[w+(a[s+128>>2]<<2)>>2]|0);i=bd(A,i)|0}}}while(0);sY(A,i);t=cd(e)|0;while(1){if(!t)break;r=t+16|0;i=a[r>>2]|0;n=a[i+172>>2]|0;if(n){L2(n);i=a[r>>2]|0}i=a[i+180>>2]|0;if(i|0)L2(i);t=bd(e,t)|0}L2(a[(a[(cd(A)|0)+16>>2]|0)+112>>2]|0);i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+112>>2]=0;i=bd(A,i)|0}if(c)L2(k);return}function bY(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=(a[e>>2]|0)+152|0;r=a[i>>2]|0;if(r){if((r|0)!=(A|0)){r=bY(r)|0;a[(a[e>>2]|0)+152>>2]=r;return r|0}}else a[i>>2]=A;return A|0}function sY(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0;t=A+16|0;i=1;while(1){r=a[t>>2]|0;if((i|0)>(a[r+180>>2]|0))break;sY(a[(a[r+184>>2]|0)+(i<<2)>>2]|0,0);i=i+1|0}if((e|0)!=0|(a[r+200>>2]|0)!=0){f[r+236>>1]=32767;f[r+238>>1]=-1;i=0;l=cd(A)|0;while(1){if(!l)break;n=a[(a[l+16>>2]|0)+232>>2]|0;e=a[t>>2]|0;r=e+238|0;if((n|0)>(f[r>>1]|0))f[r>>1]=n;e=e+236|0;if((n|0)<(f[e>>1]|0)){f[e>>1]=n;i=l}l=bd(A,l)|0}a[(a[t>>2]|0)+264>>2]=i}return}function wY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(a[e+16>>2]|0)+128|0;A:do{if(!(a[r>>2]|0)){a[r>>2]=i;r=Oo(A,e)|0;while(1){if(!r)break;wY(A,a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,i);r=_o(A,r)|0}r=qo(A,e)|0;while(1){if(!r)break A;wY(A,a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,i);r=$o(A,r)|0}}}while(0);return}function uY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=vd(A,e,1)|0;e=f+16|0;a[(a[e>>2]|0)+176>>2]=0;r=qF(20)|0;i=a[e>>2]|0;a[i+172>>2]=r;a[i+184>>2]=0;i=qF(20)|0;e=a[e>>2]|0;a[e+180>>2]=i;i=a[46747]|0;r=e+168|0;if(!i){a[r>>2]=0;a[(a[A+16>>2]|0)+192>>2]=f}else{a[r>>2]=i;a[(a[i+16>>2]|0)+164>>2]=f}a[46747]=f;a[e+164>>2]=0;return f|0}function kY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=e+16|0;i=a[l>>2]|0;f=i+157|0;if(!(r[f>>0]|0)){r[f>>0]=1;r[i+158>>0]=1;e=Oo(A,e)|0;while(1){if(!e)break;i=_o(A,e)|0;f=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;n=a[f+16>>2]|0;if(r[n+158>>0]|0){oY(A,e);e=i;continue}if(r[n+157>>0]|0){e=i;continue}kY(A,f);e=i}r[(a[l>>2]|0)+158>>0]=0}return}function oY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=a[e>>2]&3;f=e+-48|0;r=e+48|0;i=th(A,a[((i|0)==2?e:f)+40>>2]|0,a[((i|0)==3?e:r)+40>>2]|0,0,0)|0;if(!i){i=a[e>>2]&3;i=th(A,a[((i|0)==2?e:f)+40>>2]|0,a[((i|0)==3?e:r)+40>>2]|0,0,1)|0}f=a[e+16>>2]|0;hY(i,l[f+170>>1]|0,a[f+156>>2]|0);Cd(A,e)|0;return}function hY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A=a[A+16>>2]|0;r=A+170|0;n=l[r>>1]|0;f[r>>1]=(n|0)>(e|0)?n:e;e=A+156|0;a[e>>2]=(a[e>>2]|0)+i;return}function dY(A){A=A|0;return(ER(po(A,87262)|0,0)|0)&255|0}function BY(A){A=A|0;var e=0,i=0;e=a[47189]|0;if((((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(gR(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function vY(A){A=A|0;var e=0,i=0;i=a[A>>2]&3;e=a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;A=a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((e|0)==(A|0))return 1;else{i=CY(e,A)|0;return((i|0)==(e|0)|(i|0)==(A|0))&1|0}return 0}function gY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,t=0,c=0;c=k;k=k+16|0;n=c;f=th(A,e,i,0,0)|0;if(!f){f=th(A,i,e,0,0)|0;if(!f){f=th(A,e,i,0,1)|0;if(!f){e=Vh(e)|0;r=Vh(i)|0;a[n>>2]=e;a[n+4>>2]=r;ao(1,87279,n)|0}else t=4}else t=4}else t=4;if((t|0)==4){t=a[r+16>>2]|0;hY(f,l[t+170>>1]|0,a[t+156>>2]|0)}k=c;return}function EY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+112|0;c=s;t=s+4|0;n=qo(A,e)|0;while(1){if(!n){b=6;break}w=Oo(A,a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;if(w|0?(a[((a[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0)==(i|0):0)break;n=$o(A,n)|0}if((b|0)==6){w=a[46748]|0;a[46748]=w+1;a[c>>2]=w;P4(t,87270,c)|0;t=uY(A,t)|0;w=th(A,t,e,0,1)|0;t=th(A,t,i,0,1)|0;i=a[r+16>>2]|0;b=i+156|0;w=(a[w+16>>2]|0)+156|0;a[w>>2]=(a[w>>2]|0)+((a[b>>2]|0)*1e3|0);w=a[t+16>>2]|0;c=w+170|0;f[c>>1]=f[(a[((l[c>>1]|0)>(l[i+170>>1]|0)?t:r)+16>>2]|0)+170>>1]|0;w=w+156|0;a[w>>2]=(a[w>>2]|0)+(a[b>>2]|0)}k=s;return}function CY(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;A:while(1){r=A+16|0;while(1){if((A|0)==(e|0))break A;f=a[r>>2]|0;i=a[e+16>>2]|0;if((a[f+204>>2]|0)>=(a[i+204>>2]|0))break;e=a[i+200>>2]|0}A=a[f+200>>2]|0}return A|0}function IY(A){A=A|0;return(cd(A)|0)==0|0}function ZY(A,e){A=A|0;e=e|0;a[(a[A+16>>2]|0)+200>>2]=e;_z(e,A);Kz(e,A);return}function GY(A){A=A|0;var e=0;A=po(A,87171)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)if(A1(A,87181)|0)if(A1(A,87185)|0)if(A1(A,87192)|0)if(A1(A,87196)|0)if(!(A1(A,87176)|0))A=1;else e=8;else A=5;else A=4;else A=3;else A=2;else e=8;if((e|0)==8)A=6;return A|0}function QY(A){A=A|0;var e=0,i=0;i=cd(A)|0;A:do{if(!i)e=0;else{e=bY(i)|0;while(1){i=bd(A,i)|0;if(!i)break A;mY(e,i)|0}}}while(0);return e|0}function mY(A,e){A=A|0;e=e|0;if(e){A=bY(A)|0;a[(a[(bY(e)|0)+16>>2]|0)+152>>2]=A}return A|0}function LY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87230,a[i>>2]|0,1)|0;return}function WY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87397,a[i+4>>2]|0,1)|0;return}function yY(A,e,i){A=A|0;e=e|0;i=i|0;Td(e,87382,a[i+8>>2]|0,1)|0;return}function zY(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+240|0;s=o+120|0;w=o;a[47193]=Yo(A,2,87412,0)|0;b=Yo(A,2,87421,0)|0;a[47194]=b;A:do{if((b|0)!=0|(a[47193]|0)!=0){b=cd(A)|0;while(1){if(!b)break A;c=0;e=0;t=Ah(A,b)|0;while(1){if(!t){f=0;break}i=a[t>>2]|0;n=i&3;f=a[((n|0)==2?t:t+-48|0)+40>>2]|0;l=t+48|0;e:do{if((f|0)!=(a[((n|0)==3?t:l)+40>>2]|0)){n=a[47193]|0;do{if((f|0)==(b|0)&(n|0)!=0){f=Uo(t,n)|0;if(!(r[f>>0]|0)){i=a[t>>2]|0;break}else{i=c;e=YY(s,e,b,t,f)|0;break e}}}while(0);f=a[47194]|0;if((f|0?(a[((i&3|0)==3?t:l)+40>>2]|0)==(b|0):0)?(u=Uo(t,f)|0,(r[u>>0]|0)!=0):0)i=YY(w,c,b,t,u)|0;else i=c}else i=c}while(0);c=i;t=eh(A,t,b)|0}while(1){if((f|0)>=(e|0)){i=0;break}i=s+(f*24|0)+4|0;if((a[s+(f*24|0)+8>>2]|0)>1)DY(b,i);i=a[i>>2]|0;if(i|0)L2(i);f=f+1|0}while(1){if((i|0)>=(c|0))break;e=w+(i*24|0)+4|0;if((a[w+(i*24|0)+8>>2]|0)>1)DY(b,e);e=a[e>>2]|0;if(e|0)L2(e);i=i+1|0}b=bd(A,b)|0}}}while(0);k=o;return}function YY(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;o=k;k=k+16|0;c=o;s=o+12|0;w=o+8|0;u=0;while(1){if((u|0)>=(e|0)){t=10;break}t=a[A+(u*24|0)>>2]|0;if((r[t>>0]|0)==(r[n>>0]|0)?(A1(t,n)|0)==0:0){t=5;break}u=u+1|0}do{if((t|0)==5){c=A+(u*24|0)+4|0;t=a[c>>2]|0;if(!t){t=A+(u*24|0)+8|0;n=t;t=$F((a[t>>2]<<2)+8|0)|0}else{h=A+(u*24|0)+8|0;n=h;t=eV(t,(a[h>>2]<<2)+8|0)|0}a[c>>2]=t;d=a[n>>2]|0;h=d+1|0;a[n>>2]=h;a[t+(d<<2)>>2]=f;a[(a[c>>2]|0)+(h<<2)>>2]=0;t=13}else if((t|0)==10)if((e|0)>4){d=Vh(i)|0;a[c>>2]=5;a[c+4>>2]=d;ao(1,87430,c)|0;break}else{B=A+(u*24|0)+8|0;a[B>>2]=0;c=qF(8)|0;d=A+(u*24|0)+4|0;a[d>>2]=c;h=a[B>>2]|0;t=h+1|0;a[B>>2]=t;a[c+(h<<2)>>2]=f;a[(a[d>>2]|0)+(t<<2)>>2]=0;a[A+(u*24|0)>>2]=n;a[A+(u*24|0)+12>>2]=0;b[A+(u*24|0)+16>>3]=0.0;e=e+1|0;t=13;break}}while(0);if((t|0)==13){DC(f,s,w);t=(a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(i|0)?a[w>>2]|0:a[s>>2]|0;if(t){d=A+(u*24|0)+12|0;B=a[d>>2]|0;a[d>>2]=B+1;if(!B)l=+JC(f,t);else l=0.0;b[A+(u*24|0)+16>>3]=l}}k=o;return e|0}function DY(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0;I=k;k=k+80|0;v=I+68|0;g=I+64|0;d=I;E=e+4|0;w=a[E>>2]|0;C=A+16|0;l=0;o=0.0;h=0.0;while(1){if((l|0)>=(w|0))break;f=a[(a[e>>2]|0)+(l<<2)>>2]|0;n=a[f>>2]&3;i=a[((n|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(A|0))i=a[((n|0)==3?f:f+48|0)+40>>2]|0;n=a[i+16>>2]|0;B=a[C>>2]|0;c=+b[n+16>>3]-+b[B+16>>3];s=+b[n+24>>3]-+b[B+24>>3];u=+v1(c,s);l=l+1|0;o=c/u+o;h=s/u+h}t=+v1(o,h);B=a[C>>2]|0;c=+b[B+16>>3];s=+b[B+24>>3];Z=+b[B+96>>3]+ +b[B+88>>3];u=+b[B+80>>3];B=Z>u+ +(a[(a[(Id(A)|0)+16>>2]|0)+252>>2]|0);i=a[C>>2]|0;if(B)u=+b[i+96>>3]+ +b[i+88>>3];else{u=+b[i+80>>3];u=u+ +(a[(a[(Id(A)|0)+16>>2]|0)+252>>2]|0);i=a[C>>2]|0}Z=+b[i+16>>3]+u*(o/t);t=+b[i+24>>3]+u*(h/t);b[d>>3]=c;w=d+8|0;b[w>>3]=s;b[d+16>>3]=(Z+c*2.0)*.3333333333333333;b[d+24>>3]=(t+s*2.0)*.3333333333333333;b[d+32>>3]=(Z*2.0+c)*.3333333333333333;b[d+40>>3]=(t*2.0+s)*.3333333333333333;b[d+48>>3]=Z;b[d+56>>3]=t;dX(A,d);B=a[C>>2]|0;t=+b[d>>3]-+b[B+16>>3];c=+b[w>>3]-+b[B+24>>3];t=+(~~(t+(t>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);Z=+b[B+88>>3];B=~~((Z+t)*256.0/(+b[B+96>>3]+Z))&255;d=0;while(1){if((d|0)>=(a[E>>2]|0))break;w=a[(a[e>>2]|0)+(d<<2)>>2]|0;DC(w,v,g);while(1){if(!w)break;else n=w;while(1){if(!n){l=w;break}i=a[n>>2]|0;l=n+-48|0;if((a[((i&3|0)==2?n:l)+40>>2]|0)==(A|0)){i=a[n+16>>2]|0;b[i+56>>3]=t;b[i+64>>3]=c;b[i+72>>3]=0.0;a[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=B;r[i+89>>0]=0;a[i+92>>2]=0;i=a[n>>2]|0}f=n+16|0;if((a[((i&3|0)==3?n:n+48|0)+40>>2]|0)==(A|0)){i=a[f>>2]|0;b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=0.0;a[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=B;r[i+49>>0]=0;a[i+52>>2]=0}if((r[(a[f>>2]|0)+112>>0]|0)!=1){n=0;continue}i=a[(a[((a[n>>2]&3|0)==2?n:l)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){n=0;continue}if((a[i+184>>2]|0)!=1){n=0;continue}n=a[a[i+180>>2]>>2]|0}while(1){if(!l)break;i=a[l>>2]|0;if((a[((i&3|0)==2?l:l+-48|0)+40>>2]|0)==(A|0)){i=a[l+16>>2]|0;b[i+56>>3]=t;b[i+64>>3]=c;b[i+72>>3]=0.0;a[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=B;r[i+89>>0]=0;a[i+92>>2]=0;i=a[l>>2]|0}f=l+48|0;n=l+16|0;if((a[((i&3|0)==3?l:f)+40>>2]|0)==(A|0)){i=a[n>>2]|0;b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=0.0;a[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=B;r[i+49>>0]=0;a[i+52>>2]=0}if((r[(a[n>>2]|0)+112>>0]|0)!=1){l=0;continue}i=a[(a[((a[l>>2]&3|0)==3?l:f)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){l=0;continue}if((a[i+176>>2]|0)!=1){l=0;continue}l=a[a[i+172>>2]>>2]|0}w=a[(a[w+16>>2]|0)+172>>2]|0}d=d+1|0}r[(a[C>>2]|0)+145>>0]=1;k=I;return}function MY(A){A=A|0;var e=0,i=0,r=0;CW(A);e=a[A>>2]&3;i=A+-48|0;r=A+48|0;e=dW(a[((e|0)==2?A:i)+40>>2]|0,a[((e|0)==3?A:r)+40>>2]|0)|0;if(!e){e=a[A>>2]&3;mW(a[((e|0)==2?A:i)+40>>2]|0,a[((e|0)==3?A:r)+40>>2]|0,A)|0}else FW(A,e);return}function FY(A){A=A|0;var e=0,i=0,f=0,n=0;f=A+16|0;i=0;while(1){A=a[f>>2]|0;if((i|0)>=(a[A+220>>2]|0))break;e=a[(a[A+216>>2]|0)+(i<<2)>>2]|0;a[A+192>>2]=e;A=e;e=A;while(1){if(!e)break;n=a[e+16>>2]|0;r[n+157>>0]=0;e=a[n+164>>2]|0}while(1){if(!A)break;VY(A);A=a[(a[A+16>>2]|0)+164>>2]|0}i=i+1|0}return}function VY(A){A=A|0;var e=0,i=0,f=0,n=0;n=A+16|0;e=a[n>>2]|0;A=e+157|0;if(!(r[A>>0]|0)){r[A>>0]=1;r[e+158>>0]=1;A=0;while(1){f=a[(a[e+180>>2]|0)+(A<<2)>>2]|0;if(!f)break;e=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;i=a[e+16>>2]|0;if(!(r[i+158>>0]|0)){if(!(r[i+157>>0]|0))VY(e)}else{MY(f);A=A+-1|0}A=A+1|0;e=a[n>>2]|0}r[e+158>>0]=0}return}function JY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=cd(A)|0;e=0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;n=a[i>>2]&3;l=a[(a[(a[((n|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;n=a[(a[(a[((n|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=l-n|0;i=_o(A,i)|0;e=((l|0)==(n|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+e|0}r=bd(A,r)|0}return e|0}function NY(A){A=A|0;var e=0,i=0,f=0,n=0;i=cd(A)|0;while(1){if(!i)break;n=a[i+16>>2]|0;f=a[n+176>>2]|0;n=n+172|0;e=0;while(1){if((e|0)>=(f|0))break;r[(a[(a[(a[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+112>>0]=0;e=e+1|0}i=bd(A,i)|0}return}function XY(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;u=h;t=a[e+24>>2]|0;RY(A);c=(t|0)==-1;s=e+8|0;l=c^1;w=a[15712]|0;f=1797693134862315708145274.0e284;n=0;while(1){if(!(c|(n|0)<(t|0)))break;i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+232>>2]=0;i=bd(A,i)|0}Vz(A);r=+HY(A);b[s>>3]=r;if(0){b[u>>3]=r;f3(w,87482,u)|0;r=+b[s>>3]}if(!(!(r<=+b[e>>3])&(!(f<=r)|l))){o=9;break}pY(A);f=r;n=n+1|0}if((o|0)==9){o=e+20|0;a[e+16>>2]=a[o>>2];a[o>>2]=n}Vz(A);UY(A);xY();b[s>>3]=+HY(A);k=h;return}function RY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0.0,w=0.0,u=0;a[46752]=$F((vh(A)|0)*24|0)|0;a[46751]=0;e=cd(A)|0;while(1){if(!e)break;a[(a[e+16>>2]|0)+120>>2]=-1;e=bd(A,e)|0}l=cd(A)|0;while(1){if(!l)break;t=l+16|0;do{if(!(a[(a[t>>2]|0)+216>>2]|0)){f=qF(4)|0;n=a[46752]|0;c=a[46751]|0;a[n+(c*24|0)>>2]=f;a[f>>2]=l;a[n+(c*24|0)+4>>2]=1;t=a[t>>2]|0;b[n+(c*24|0)+8>>3]=+b[t+32>>3];b[n+(c*24|0)+16>>3]=+b[t+40>>3];a[t+120>>2]=c;a[46751]=c+1}else{n=CR(l)|0;c=n+16|0;e=a[c>>2]|0;i=a[e+120>>2]|0;if((i|0)>-1){n=a[46752]|0;f=a[n+(i*24|0)>>2]|0;r=n+(i*24|0)+4|0;c=a[r>>2]|0;a[r>>2]=c+1;a[f+(c<<2)>>2]=l;c=a[t>>2]|0;t=n+(i*24|0)+8|0;b[t>>3]=+b[t>>3]+ +b[c+32>>3];t=n+(i*24|0)+16|0;s=+b[t>>3];w=+b[c+40>>3];b[t>>3]=s>2]=i;break}i=qF(a[e+216>>2]<<2)|0;r=a[46752]|0;f=a[46751]|0;e=r+(f*24|0)|0;a[e>>2]=i;a[i>>2]=n;if((n|0)==(l|0)){b[r+(f*24|0)+8>>3]=+b[(a[c>>2]|0)+32>>3];i=1;e=l}else{a[(a[e>>2]|0)+4>>2]=l;u=a[c>>2]|0;e=a[t>>2]|0;b[r+(f*24|0)+8>>3]=+b[e+32>>3]+ +b[u+32>>3];i=2;e=+b[u+40>>3]<+b[e+40>>3]?l:n}a[r+(f*24|0)+4>>2]=i;b[r+(f*24|0)+16>>3]=+b[(a[e+16>>2]|0)+40>>3];a[(a[c>>2]|0)+120>>2]=f;a[(a[t>>2]|0)+120>>2]=f;a[46751]=f+1}}while(0);l=bd(A,l)|0}return}function HY(A){A=A|0;var e=0.0,i=0.0,r=0,f=0,n=0,l=0.0,t=0.0;UY(A);n=a[46749]|0;r=a[A+16>>2]|0;e=+(U(a[r+252>>2]|0,n+-1|0)|0);f=a[46750]|0;r=r+248|0;A=0;i=0.0;while(1){if((A|0)>=(n|0))break;l=+b[f+(A*40|0)+24>>3]+ +(U(a[r>>2]|0,a[f+(A*40|0)+16>>2]|0)|0);t=+b[f+(A*40|0)+32>>3]+e;A=A+1|0;e=t;i=i=(vh(A)|0))break;a[(a[46753]|0)+(e<<2)>>2]=e;e=e+1|0}UY(A);TY(A);jY(A);return}function UY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0;a[46749]=0;e=a[46750]|0;if(e|0){r=0;while(1){if((r|0)>=(a[46751]|0))break;i=a[e+(r*40|0)+4>>2]|0;if(i){L2(i);e=a[46750]|0}i=a[e+(r*40|0)+8>>2]|0;if(i){L2(i);e=a[46750]|0}r=r+1|0}L2(e)}a[46750]=qF((a[46751]|0)*40|0)|0;e=0;while(1){i=a[46751]|0;if((e|0)>=(i|0))break;c=qF(i<<2)|0;a[(a[46750]|0)+(e*40|0)+4>>2]=c;c=qF(a[46751]<<2)|0;s=a[46750]|0;a[s+(e*40|0)+8>>2]=c;a[s+(e*40|0)>>2]=e;a[s+(e*40|0)+12>>2]=0;a[s+(e*40|0)+16>>2]=0;s=s+(e*40|0)+24|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;e=e+1|0}r=cd(A)|0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;l=a[i>>2]|0;f=i+-48|0;n=a[46750]|0;e=a[(a[(a[((l&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){e=e+1|0;if((e|0)>=(a[(a[(a[((l&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;l=n+(e*40|0)+16|0;a[l>>2]=(a[l>>2]|0)+1;l=a[i>>2]|0}i=_o(A,i)|0}r=bd(A,r)|0}l=a[46751]|0;c=a[46752]|0;s=a[46750]|0;i=A+16|0;e=0;while(1){if((e|0)>=(l|0))break;r=(a[a[c+(e*24|0)>>2]>>2]|0)+16|0;f=a[(a[r>>2]|0)+232>>2]|0;if((f|0)>=(a[46749]|0))a[46749]=f+1;n=s+(f*40|0)+24|0;t=+b[n>>3];b[n>>3]=t+ +b[c+(e*24|0)+8>>3]*72.0+(t>0.0?+(a[(a[i>>2]|0)+248>>2]|0):0.0);n=s+(f*40|0)+32|0;t=+b[c+(e*24|0)+16>>3]*72.0;if(+b[n>>3]>3]=t;a[(a[s+(f*40|0)+4>>2]|0)+(a[s+(f*40|0)+12>>2]<<2)>>2]=c+(e*24|0);A=s+((a[(a[r>>2]|0)+232>>2]|0)*40|0)+12|0;a[A>>2]=(a[A>>2]|0)+1;e=e+1|0}return}function xY(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=a[46749]|0;s=a[46750]|0;c=0;e=0;A=0;while(1){if((c|0)>=(b|0))break;i=s+(c*40|0)|0;t=a[s+(c*40|0)+12>>2]|0;r=(e|0)==0;A:do{if(t)if(!r){if((a[i>>2]|0)>(A|0)){f=s+(c*40|0)+4|0;i=0;while(1){if((i|0)>=(t|0))break A;n=a[(a[f>>2]|0)+(i<<2)>>2]|0;l=a[n+4>>2]|0;r=0;while(1){if((r|0)>=(l|0))break;w=(a[(a[(a[n>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+232|0;a[w>>2]=(a[w>>2]|0)-e;r=r+1|0}i=i+1|0}}}else e=0;else{if(r)A=a[i>>2]|0;e=e+1|0}}while(0);c=c+1|0}return}function TY(A){A=A|0;var e=0;e=a[46753]|0;K4(e,vh(A)|0,4,63);return}function jY(A){A=A|0;var e=0.0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0,k=0,o=0,h=0,d=0.0,B=0;t=a[46749]|0;c=a[46750]|0;n=a[46753]|0;l=0;while(1){if((l|0)>=(t|0)){i=0;e=0.0;break}i=a[n+(l<<2)>>2]|0;f=l+1|0;if((a[c+(i*40|0)+12>>2]|0)<2)l=f;else{s=4;break}}if((s|0)==4)if((t|0)>(f|0))e=+b[c+((a[n+(f<<2)>>2]|0)*40|0)+24>>3];else e=0.0;A:do{if((l|0)!=(t|0)){K4(a[c+(i*40|0)+4>>2]|0,a[c+(i*40|0)+12>>2]|0,4,64);n=a[46750]|0;d=+b[n+(i*40|0)+24>>3];d=!(e<=d*.25)&!(e>=d*.75)?e:d*.5;B=a[n+(i*40|0)+12>>2]|0;h=A+16|0;u=0;k=0;e=0.0;f=0;o=0;while(1){if((o|0)>=(f+B|0))break A;do{if(!(a[(a[n+(i*40|0)+8>>2]|0)+(o<<2)>>2]|0)){s=a[(a[n+(i*40|0)+4>>2]|0)+(o<<2)>>2]|0;A=s+8|0;w=+b[A>>3]*72.0+e+(e>0.0?+(a[(a[h>>2]|0)+248>>2]|0):0.0);l=(k|0)!=0;if(!(l&!(w<=d))){t=l?u:s;l=l?k:1;e=w;break}t=u+4|0;c=s+4|0;l=0;while(1){if((l|0)<(a[t>>2]|0))n=0;else break;while(1){if((n|0)>=(a[c>>2]|0))break;r[(a[(mW(a[(a[u>>2]|0)+(l<<2)>>2]|0,a[(a[s>>2]|0)+(n<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;n=n+1|0}l=l+1|0}n=a[46750]|0;a[(a[n+(i*40|0)+8>>2]|0)+(o<<2)>>2]=1;t=n+(i*40|0)+12|0;a[t>>2]=(a[t>>2]|0)+-1;t=n+(i*40|0)+16|0;a[t>>2]=(a[t>>2]|0)+1;t=n+(i*40|0)+24|0;b[t>>3]=+b[A>>3]*-72.0-+(a[(a[h>>2]|0)+248>>2]|0)+ +b[t>>3];t=u;l=k}else{t=u;l=k;f=f+1|0}}while(0);u=t;k=l;o=o+1|0}}}while(0);return}function SY(A,e){A=A|0;e=e|0;A=PY(a[A>>2]|0)|0;e=PY(a[e>>2]|0)|0;return((e|0)<(A|0)&1)-((e|0)>(A|0)&1)|0}function PY(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+4|0;i=0;e=0;while(1){if((i|0)>=(a[f>>2]|0))break;r=a[(a[A>>2]|0)+(i<<2)>>2]|0;n=Id(r)|0;r=Oo(n,r)|0;while(1){if(!r)break;r=_o(n,r)|0;e=e+1|0}i=i+1|0}return e|0}function OY(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[46750]|0;r=+b[f+((a[e>>2]|0)*40|0)+24>>3];i=+b[f+((a[A>>2]|0)*40|0)+24>>3];return(r>i&1)-(r>2]|0)+216>>2]=0;e=bd(A,e)|0}return}function _Y(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+32|0;f=n+16|0;r=n+8|0;i=n+20|0;a[i>>2]=5;A=po(A,99605)|0;if(A|0?(a[r>>2]=n,a[r+4>>2]=i,(J3(A,87497,r)|0)>=1):0)ao(0,87504,f)|0;a[e+24>>2]=0;a[e+32>>2]=0;k=n;return 0}function qY(A){A=A|0;var e=0,i=0;e=a[47189]|0;if((((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(gR(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function $Y(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;gD(A);e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;do{if(((a[(a[i+16>>2]|0)+172>>2]|0)==0?(qY(i)|0)==0:0)?(r=i+48|0,f=CR(a[((a[i>>2]&3|0)==3?i:r)+40>>2]|0)|0,n=i+-48|0,l=CR(a[((a[i>>2]&3|0)==2?i:n)+40>>2]|0)|0,(f|0)!=(l|0)):0){if((a[(a[f+16>>2]|0)+212>>2]|0)==0?(a[(a[l+16>>2]|0)+212>>2]|0)==0:0){t=dW(f,l)|0;if(!t){mW(f,l,i)|0;break}else{FW(i,t);break}}t=a[i>>2]&3;AD(A,a[((t|0)==3?i:r)+40>>2]|0,a[((t|0)==2?i:n)+40>>2]|0,i)}}while(0);i=_o(A,i)|0}e=bd(A,e)|0}return}function AD(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,t=0,c=0,b=0;c=a[f>>2]&3;n=a[(a[((c|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0;t=a[n+212>>2]|0;if(!t)b=0;else b=(a[n+232>>2]|0)-(a[(a[(a[(a[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;n=a[(a[((c|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0;t=a[n+212>>2]|0;if(!t)n=0;else n=(a[(a[(a[(a[t+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(a[n+232>>2]|0)|0;c=f+16|0;b=n+b+(l[(a[c>>2]|0)+170>>1]|0)|0;A=YW(A)|0;r[(a[A+16>>2]|0)+156>>0]=2;t=CR(e)|0;e=CR(i)|0;i=sz(A,t,(b|0)>0?0.0:+(0-b|0),(a[(a[c>>2]|0)+156>>2]|0)*10|0)|0;a[(a[(sz(A,e,+(((b|0)>0?b:0)|0),a[(a[c>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=f;a[(a[i+16>>2]|0)+116>>2]=f;return}function eD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0,c=0,b=0;c=a[e>>2]&3;t=(c|0)==3?e:e+48|0;c=(c|0)==2?e:e+-48|0;c=a[(a[(a[((a[(a[(a[t+40>>2]|0)+16>>2]|0)+232>>2]|0)>(a[(a[(a[c+40>>2]|0)+16>>2]|0)+232>>2]|0)?t:c)+40>>2]|0)+16>>2]|0)+232>>2]|0;t=e+16|0;e=(a[t>>2]|0)+172|0;if(a[e>>2]|0)vA(87593,87615,148,87624);a[e>>2]=i;n=(r|0)==0;do{e=a[t>>2]|0;if(n)r=a[i+16>>2]|0;else{r=a[i+16>>2]|0;b=r+168|0;f[b>>1]=(l[b>>1]|0)+(l[e+168>>1]|0)}b=r+154|0;f[b>>1]=(l[b>>1]|0)+(l[e+154>>1]|0);r=r+156|0;a[r>>2]=(a[r>>2]|0)+(a[e+156>>2]|0);e=i+-48|0;r=a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0;if((a[(a[r+16>>2]|0)+232>>2]|0)==(c|0))break;iD(A,r);i=a[a[(a[(a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((i|0)!=0);return}function iD(A,e){A=A|0;e=e|0;var i=0.0;i=+((a[(a[A+16>>2]|0)+248>>2]|0)/2|0|0);e=a[e+16>>2]|0;A=e+88|0;b[A>>3]=+b[A>>3]+i;e=e+96|0;b[e>>3]=+b[e>>3]+i;return}function rD(A,e){A=A|0;e=e|0;var i=0,r=0;if(((((A|0)!=0&(e|0)!=0?(r=a[A>>2]&3,i=a[e>>2]&3,(a[((r|0)==3?A:A+48|0)+40>>2]|0)==(a[((i|0)==3?e:e+48|0)+40>>2]|0)):0)?(a[((r|0)==2?A:A+-48|0)+40>>2]|0)==(a[((i|0)==2?e:e+-48|0)+40>>2]|0):0)?(a[(a[A+16>>2]|0)+96>>2]|0)==(a[(a[e+16>>2]|0)+96>>2]|0):0)?(Mz(A,e)|0)!=0:0)A=1;else A=0;return A|0}function fD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;d=A+16|0;e=a[d>>2]|0;a[e+192>>2]=0;a[e+232>>2]=0;gD(A);e=1;while(1){i=a[d>>2]|0;if((e|0)>(a[i+180>>2]|0))break;ED(A,a[(a[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}l=cd(A)|0;while(1){if(!l)break;n=Oo(A,l)|0;while(1){if(!n)break;e=a[n>>2]|0;i=(a[(a[((e&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=r[i>>0]|0;if(f<<24>>24<3){r[i>>0]=f+1<<24>>24;e=a[n>>2]|0}e=(a[(a[((e&3|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+160|0;i=r[e>>0]|0;if(i<<24>>24<3)r[e>>0]=i+1<<24>>24;n=_o(A,n)|0}l=bd(A,l)|0}w=cd(A)|0;while(1){if(!w)break;if((a[(a[w+16>>2]|0)+212>>2]|0)==0?(w|0)==(CR(w)|0):0){LW(A,w);s=(a[d>>2]|0)+232|0;a[s>>2]=(a[s>>2]|0)+1}e=0;s=Oo(A,w)|0;while(1){if(!s)break;b=s+16|0;l=a[b>>2]|0;A:do{if(!(a[l+172>>2]|0)){if(aD(s)|0){if(!(rD(e,s)|0)){nD(A,s);e=s;break}i=a[(a[e+16>>2]|0)+172>>2]|0;if(i|0){eD(A,s,i,0);IW(s);break}b=a[s>>2]&3;if((a[(a[(a[((b|0)==3?s:s+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(a[(a[(a[((b|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;FW(s,e);IW(s);break}if(e){t=a[s>>2]&3;i=s+48|0;f=a[((t|0)==3?s:i)+40>>2]|0;n=a[e>>2]&3;if((f|0)==(a[((n|0)==3?e:e+48|0)+40>>2]|0)?(u=a[((t|0)==2?s:s+-48|0)+40>>2]|0,(u|0)==(a[((n|0)==2?e:e+-48|0)+40>>2]|0)):0){if((a[(a[f+16>>2]|0)+232>>2]|0)==(a[(a[u+16>>2]|0)+232>>2]|0)){FW(s,e);IW(s);break}if(((a[l+96>>2]|0)==0?(k=e+16|0,(a[(a[k>>2]|0)+96>>2]|0)==0):0)?(Mz(s,e)|0)!=0:0)if(!(r[194954]|0)){eD(A,s,a[(a[k>>2]|0)+172>>2]|0,1);IW(s);break}else{r[(a[b>>2]|0)+112>>0]=6;break}else t=i}else t=i}else t=s+48|0;l=a[s>>2]&3;i=a[((l|0)==3?s:t)+40>>2]|0;c=s+-48|0;if((i|0)==(a[((l|0)==2?s:c)+40>>2]|0)){IW(s);e=s;break}i=CR(i)|0;f=CR(a[((a[s>>2]&3|0)==2?s:c)+40>>2]|0)|0;l=a[s>>2]&3;if((a[((l|0)==3?s:t)+40>>2]|0)==(i|0)?(a[((l|0)==2?s:c)+40>>2]|0)==(f|0):0){n=a[(a[i+16>>2]|0)+232>>2]|0;l=a[(a[f+16>>2]|0)+232>>2]|0;if((n|0)==(l|0)){DW(A,s);e=s;break}if((l|0)>(n|0)){lD(A,i,f,s);e=s;break}i=th(A,f,i,0,0)|0;do{if(i|0?(o=a[i>>2]&3,h=a[((o|0)==2?i:i+-48|0)+40>>2]|0,(h|0)!=(a[((a[s>>2]&3|0)==2?s:c)+40>>2]|0)):0){f=i+16|0;if(!(a[(a[f>>2]|0)+172>>2]|0))lD(A,a[((o|0)==3?i:i+48|0)+40>>2]|0,h,i);if((a[(a[b>>2]|0)+96>>2]|0)==0?(a[(a[f>>2]|0)+96>>2]|0)==0:0){if(!(Mz(s,i)|0))break;if(!(r[194954]|0)){IW(s);eD(A,s,a[(a[f>>2]|0)+172>>2]|0,1);break A}else{r[(a[b>>2]|0)+112>>0]=6;r[(a[f>>2]|0)+153>>0]=1;break A}}}}while(0);e=a[s>>2]&3;lD(A,a[((e|0)==2?s:c)+40>>2]|0,a[((e|0)==3?s:t)+40>>2]|0,s);e=s}}else e=s}while(0);s=_o(A,s)|0}w=bd(A,w)|0}if((gL(A)|0)!=(A|0)){e=a[(a[d>>2]|0)+216>>2]|0;if(!e)e=$F(4)|0;else e=eV(e,4)|0;d=a[d>>2]|0;a[d+216>>2]=e;a[e>>2]=a[d+192>>2]}return}function aD(A){A=A|0;var e=0;e=a[A>>2]&3;if((r[(a[(a[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)A=1;else A=(r[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return A|0}function nD(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;f=bD(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;n=bD(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;t=(a[(a[f+16>>2]|0)+232>>2]|0)>(a[(a[n+16>>2]|0)+232>>2]|0);i=t?f:n;f=t?n:f;n=f+16|0;t=i+16|0;A:do{if((a[(a[n>>2]|0)+212>>2]|0)!=(a[(a[t>>2]|0)+212>>2]|0)){l=dW(f,i)|0;if(l|0){eD(A,e,l,1);break}if((a[(a[n>>2]|0)+232>>2]|0)!=(a[(a[t>>2]|0)+232>>2]|0)){lD(A,f,i,e);i=(a[e+16>>2]|0)+172|0;while(1){i=a[i>>2]|0;if(!i)break A;f=i+-48|0;if((a[(a[(a[((a[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(a[(a[t>>2]|0)+232>>2]|0))break A;r[(a[i+16>>2]|0)+112>>0]=5;i=a[(a[(a[((a[i>>2]&3|0)==2?i:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}}while(0);return}function lD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0;b=r+16|0;f=a[b>>2]|0;if(!(a[f+96>>2]|0))c=-1;else c=((a[(a[i+16>>2]|0)+232>>2]|0)+(a[(a[e+16>>2]|0)+232>>2]|0)|0)/2|0;if(a[f+172>>2]|0)vA(87636,87615,89,87661);t=i+16|0;l=a[(a[e+16>>2]|0)+232>>2]|0;while(1){n=l+1|0;f=a[(a[t>>2]|0)+232>>2]|0;if((l|0)>=(f|0))break;if((n|0)<(f|0)){if((n|0)==(c|0))f=tD(A,r)|0;else f=cD(A)|0;a[(a[f+16>>2]|0)+232>>2]=n}else f=i;Py(mW(e,f,r)|0);l=n;e=f}if(!(a[(a[b>>2]|0)+172>>2]|0))vA(87672,87615,103,87661);else return}function tD(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0.0;l=e+16|0;n=a[(a[l>>2]|0)+96>>2]|0;i=+b[n+24>>3];f=+b[n+32>>3];n=YW(A)|0;e=n+16|0;a[(a[e>>2]|0)+104>>2]=a[(a[l>>2]|0)+96>>2];t=+(a[(a[(Zd(n)|0)+16>>2]|0)+248>>2]|0);b[(a[e>>2]|0)+88>>3]=t;if(!(r[(a[l>>2]|0)+114>>0]|0)){A=(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0;l=a[e>>2]|0;b[l+80>>3]=A?f:i;b[l+96>>3]=A?i:f}return n|0}function cD(A){A=A|0;var e=0;e=YW(A)|0;iD(A,e);return e|0}function bD(A){A=A|0;var e=0;e=a[A+16>>2]|0;if((r[e+159>>0]|0)==7)A=a[(a[(a[(a[e+212>>2]|0)+16>>2]|0)+268>>2]|0)+(a[e+232>>2]<<2)>>2]|0;else A=CR(A)|0;return A|0}function sD(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;c=gL(A)|0;l=cd(A)|0;while(1){if(!l)break;e=Ah(c,l)|0;t=0;while(1){if(!e)break;s=eh(c,e,l)|0;if(Dd(A,e)|0){b=t;e=s;t=b;continue}b=(a[e>>2]&3|0)==2?e:e+-48|0;w=(rD(t,b)|0)==0;r=a[b>>2]&3;e=a[((r|0)==3?b:b+48|0)+40>>2]|0;i=a[(a[e+16>>2]|0)+232>>2]|0;r=a[((r|0)==2?b:b+-48|0)+40>>2]|0;f=a[(a[r+16>>2]|0)+232>>2]|0;n=(i|0)==(f|0);if(!w){a[(a[b+16>>2]|0)+172>>2]=n?t:0;e=a[(a[t+16>>2]|0)+172>>2]|0;if(!e){w=t;e=s;t=w;continue}eD(A,b,e,0);ZW(b);w=t;e=s;t=w;continue}if(!n)if((f|0)>(i|0)){wD(e,r,b);e=s;t=b;continue}else{wD(r,e,b);e=s;t=b;continue}e=vW(e,r)|0;if(!e){DW(c,b);e=s;t=b;continue}if((b|0)==(e|0)){w=t;e=s;t=w;continue}ZW(b);if(a[(a[b+16>>2]|0)+172>>2]|0){w=t;e=s;t=w;continue}FW(b,e);w=t;e=s;t=w}l=bd(A,l)|0}return}function wD(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=uD(A)|0;r=uD(e)|0;kD(f,r,i,a[(a[i+16>>2]|0)+172>>2]|0,(f|0)==(A|0)&(r|0)==(e|0)?1:5);return}function uD(A){A=A|0;var e=0,i=0,f=0;e=a[A+16>>2]|0;i=a[e+212>>2]|0;if((i|0)!=0?(f=a[i+16>>2]|0,(r[f+272>>0]|0)==0):0)A=a[(a[f+268>>2]|0)+(a[e+232>>2]<<2)>>2]|0;return A|0}function kD(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;u=A+16|0;b=a[(a[u>>2]|0)+232>>2]|0;k=e+16|0;t=a[(a[k>>2]|0)+232>>2]|0;if((t|0)<=(b|0))vA(87697,87725,81,87735);w=a[n>>2]&3;if(!((a[((w|0)==3?n:n+48|0)+40>>2]|0)==(A|0)?(a[((w|0)==2?n:n+-48|0)+40>>2]|0)==(e|0):0))s=5;A:do{if((s|0)==5){if((f[(a[n+16>>2]|0)+168>>1]|0)>1){a[(a[i+16>>2]|0)+172>>2]=0;if(((t-b|0)==1?(c=dW(A,e)|0,c|0):0)?Mz(i,c)|0:0){FW(i,c);if(r[(a[u>>2]|0)+156>>0]|0)break;if(r[(a[k>>2]|0)+156>>0]|0)break;IW(i);break}w=l&255;l=A;s=a[(a[u>>2]|0)+232>>2]|0;while(1){t=a[(a[k>>2]|0)+232>>2]|0;if((s|0)>=(t|0))break A;if((s|0)<(t+-1|0)){t=gL(A)|0;c=n+-48|0;t=oD(t,a[((a[n>>2]&3|0)==2?n:c)+40>>2]|0)|0;b=n}else{t=e;c=n+-48|0;b=n}r[(a[(mW(l,t,i)|0)+16>>2]|0)+112>>0]=w;u=(a[n+16>>2]|0)+168|0;f[u>>1]=(f[u>>1]|0)+-1<<16>>16;l=t;s=s+1|0;n=a[a[(a[(a[((a[b>>2]&3|0)==2?n:c)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do{if((t-b|0)==1){n=dW(A,e)|0;if(n|0?Mz(i,n)|0:0){a[(a[i+16>>2]|0)+172>>2]=n;w=a[n+16>>2]|0;r[w+112>>0]=l;w=w+168|0;f[w>>1]=(f[w>>1]|0)+1<<16>>16;if(r[(a[u>>2]|0)+156>>0]|0)break;if(r[(a[k>>2]|0)+156>>0]|0)break;IW(i);break}a[(a[i+16>>2]|0)+172>>2]=0;n=mW(A,e,i)|0;r[(a[n+16>>2]|0)+112>>0]=l}}while(0);t=a[(a[k>>2]|0)+232>>2]|0;if((t-(a[(a[u>>2]|0)+232>>2]|0)|0)>1){if((a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)==(A|0))s=t;else{u=i+16|0;a[(a[u>>2]|0)+172>>2]=0;s=mW(A,a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,i)|0;a[(a[u>>2]|0)+172>>2]=s;CW(n);n=s;s=a[(a[k>>2]|0)+232>>2]|0}while(1){t=a[n>>2]&3;c=a[((t|0)==2?n:n+-48|0)+40>>2]|0;b=a[c+16>>2]|0;if((a[b+232>>2]|0)==(s|0))break;n=a[a[b+180>>2]>>2]|0}if((c|0)!=(e|0)){r[(a[(mW(a[((t|0)==3?n:n+48|0)+40>>2]|0,e,i)|0)+16>>2]|0)+112>>0]=l;CW(n)}}}}while(0);return}function oD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=e+16|0;e=a[i>>2]|0;r=a[e+232>>2]|0;hD(A,r,a[e+236>>2]|0,2);e=YW(A)|0;i=a[i>>2]|0;f=a[e+16>>2]|0;b[f+88>>3]=+b[i+88>>3];b[f+96>>3]=+b[i+96>>3];a[f+232>>2]=a[i+232>>2];i=(a[i+236>>2]|0)+1|0;a[f+236>>2]=i;a[(a[(a[(a[A+16>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return e|0}function hD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;l=A+16|0;f=a[(a[l>>2]|0)+196>>2]|0;t=a[f+(e<<6)+4>>2]|0;A:do{if((r|0)<1){i=i-r|0;while(1){n=i+1|0;A=a[f+(e<<6)>>2]|0;if((n|0)>=(A|0))break;A=a[t+(n<<2)>>2]|0;f=i+r|0;a[(a[A+16>>2]|0)+236>>2]=f;a[t+(f<<2)>>2]=A;i=n;f=a[(a[l>>2]|0)+196>>2]|0}n=r+-1|0;i=n+A|0;while(1){if((i|0)>=(A|0))break A;a[t+(i<<2)>>2]=0;f=a[(a[l>>2]|0)+196>>2]|0;i=i+1|0;A=a[f+(e<<6)>>2]|0}}else{n=r+-1|0;A=a[f+(e<<6)>>2]|0;while(1){A=A+-1|0;if((A|0)<=(i|0))break;c=a[t+(A<<2)>>2]|0;f=n+A|0;a[(a[c+16>>2]|0)+236>>2]=f;a[t+(f<<2)>>2]=c}f=r+i|0;A=i;while(1){A=A+1|0;if((A|0)>=(f|0))break;a[t+(A<<2)>>2]=0}A=a[(a[l>>2]|0)+196>>2]|0;f=A;A=a[A+(e<<6)>>2]|0}}while(0);a[f+(e<<6)>>2]=n+A;return}function dD(A){A=A|0;var e=0;fD(A);e=a[A+16>>2]|0;a[e+220>>2]=1;a[a[e+216>>2]>>2]=a[e+192>>2];Ty(A);Zy(A,0);BD(A);sD(A);vD(A);return}function BD(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=gL(A)|0;s=A+16|0;i=a[s>>2]|0;c=f[i+236>>1]|0;e=c<<16>>16;w=b+16|0;if(c<<16>>16>0)r[(a[(a[w>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;c=e;while(1){if((c|0)>(f[i+238>>1]|0))break;t=a[(a[(a[(a[i+268>>2]|0)+(c<<2)>>2]|0)+16>>2]|0)+236>>2]|0;hD(b,c,t,a[(a[i+196>>2]|0)+(c<<6)>>2]|0);n=0;l=t;while(1){i=a[s>>2]|0;e=a[i+196>>2]|0;if((n|0)>=(a[e+(c<<6)>>2]|0))break;e=a[(a[e+(c<<6)+4>>2]|0)+(n<<2)>>2]|0;a[(a[(a[(a[w>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(l<<2)>>2]=e;i=a[e+16>>2]|0;a[i+236>>2]=l;if((r[i+156>>0]|0)==1)a[e+24>>2]=Zd(b)|0;yW(A,e);LW(b,e);i=(a[w>>2]|0)+232|0;a[i>>2]=(a[i>>2]|0)+1;n=n+1|0;l=l+1|0}l=a[(a[w>>2]|0)+196>>2]|0;a[e+(c<<6)+4>>2]=(a[l+(c<<6)+4>>2]|0)+(t<<2);r[l+(c<<6)+49>>0]=0;c=c+1|0}e=a[w>>2]|0;if((c|0)<(f[e+238>>1]|0))r[(a[e+196>>2]|0)+(c<<6)+49>>0]=0;r[i+272>>0]=1;return}function vD(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=A+16|0;e=a[t>>2]|0;l=f[e+236>>1]|0;while(1){if((l|0)>(f[e+238>>1]|0))break;r=a[(a[e+268>>2]|0)+(l<<2)>>2]|0;n=r+16|0;while(1){e=a[n>>2]|0;i=a[a[e+180>>2]>>2]|0;if(!i)break;CW(i)}while(1){e=a[a[e+172>>2]>>2]|0;if(!e)break;CW(e);e=a[n>>2]|0}yW(gL(A)|0,r);a[(a[(a[t>>2]|0)+268>>2]|0)+(l<<2)>>2]=0;l=l+1|0;e=a[t>>2]|0}return}function gD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=cd(A)|0;while(1){if(!f)break;i=f+16|0;e=a[i>>2]|0;if((r[e+159>>0]|0)==7){ZR(f);e=a[i>>2]|0}a[e+212>>2]=0;f=bd(A,f)|0}s=A+16|0;b=1;while(1){e=a[s>>2]|0;if((b|0)>(a[e+180>>2]|0))break;l=a[(a[e+184>>2]|0)+(b<<2)>>2]|0;t=l+16|0;e=cd(l)|0;A:while(1){if(!e)break;c=bd(l,e)|0;i=e+16|0;if(r[(a[i>>2]|0)+159>>0]|0){f=Vh(e)|0;n=Vh(A)|0;a[w>>2]=f;a[w+4>>2]=n;ao(0,87744,w)|0;Cd(l,e)|0;e=c;continue}GR(e,a[(a[t>>2]|0)+264>>2]|0);n=a[i>>2]|0;a[n+212>>2]=l;r[n+159>>0]=7;n=Oo(l,e)|0;while(1){if(!n){e=c;continue A}e=a[(a[n+16>>2]|0)+172>>2]|0;e:do{if(e|0)do{i=e+-48|0;f=a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break e;a[f+212>>2]=l;e=a[a[(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);n=_o(l,n)|0}}b=b+1|0}k=u;return}function ED(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,b=0;b=e+16|0;n=qF((f[(a[b>>2]|0)+238>>1]<<2)+8|0)|0;i=a[b>>2]|0;a[i+268>>2]=n;n=0;l=f[i+236>>1]|0;while(1){if((l|0)>(f[i+238>>1]|0))break;i=YW(A)|0;a[(a[(a[b>>2]|0)+268>>2]|0)+(l<<2)>>2]=i;c=a[i+16>>2]|0;a[c+232>>2]=l;r[c+159>>0]=7;a[c+212>>2]=e;if(n|0){c=(a[(mW(n,i,0)|0)+16>>2]|0)+154|0;f[c>>1]=(f[c>>1]|0)*1e3}n=i;l=l+1|0;i=a[b>>2]|0}c=cd(e)|0;while(1){i=a[b>>2]|0;if(!c)break;l=(a[(a[i+268>>2]|0)+(a[(a[c+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;i=(a[l>>2]|0)+216|0;a[i>>2]=(a[i>>2]|0)+1;i=Oo(e,c)|0;while(1){if(!i)break;t=a[i>>2]|0;A=i+-48|0;n=a[(a[(a[((t&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((n|0)>=(a[(a[(a[((t&3|0)==2?i:A)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;t=(a[(a[a[(a[l>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;f[t>>1]=(f[t>>1]|0)+1<<16>>16;n=n+1|0;t=a[i>>2]|0}i=_o(e,i)|0}c=bd(e,c)|0}A=f[i+238>>1]|0;t=i+268|0;i=f[i+236>>1]|0;while(1){if((i|0)>(A|0))break;n=(a[(a[(a[t>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+216|0;l=a[n>>2]|0;if((l|0)>1)a[n>>2]=l+-1;i=i+1|0}return}function CD(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0,b=0;b=(a[(a[e+16>>2]|0)+212>>2]|0)+16|0;e=a[b>>2]|0;c=i+1|0;if((c|0)!=(r[e+273>>0]|0)){t=f[e+236>>1]|0;while(1){l=f[e+238>>1]|0;if((t|0)>(l<<16>>16|0))break;Xy(A,a[(a[e+268>>2]|0)+(t<<2)>>2]|0);t=t+1|0;e=a[b>>2]|0}t=f[e+236>>1]|0;while(1){if((t|0)>(l<<16>>16|0))break;Ry(n,a[(a[e+268>>2]|0)+(t<<2)>>2]|0,i);A=a[b>>2]|0;t=t+1|0;l=f[A+238>>1]|0;e=A}r[e+273>>0]=c}return}function ID(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=cd(A)|0;while(1){if(!l)break;a[(a[l+16>>2]|0)+212>>2]=0;n=Oo(A,l)|0;while(1){if(!n)break;e=a[(a[n+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=e+-48|0;f=a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;a[f+212>>2]=0;e=a[a[(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);n=_o(A,n)|0}l=bd(A,l)|0}ZD(A);return}function ZD(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;i=A+16|0;e=1;while(1){f=a[i>>2]|0;if((e|0)>(a[f+180>>2]|0))break;ZD(a[(a[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}t=cd(A)|0;while(1){if(!t)break;e=(a[t+16>>2]|0)+212|0;if(!(a[e>>2]|0))a[e>>2]=A;l=Oo(A,t)|0;while(1){if(!l)break;e=a[(a[l+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=a[e>>2]|0;n=e+-48|0;f=a[(a[((i&3|0)==2?e:n)+40>>2]|0)+16>>2]|0;if((r[f+156>>0]|0)!=1)break A;f=f+212|0;if(!(a[f>>2]|0)){a[f>>2]=A;i=a[e>>2]|0}e=a[a[(a[(a[((i&3|0)==2?e:n)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);l=_o(A,l)|0}t=bd(A,t)|0}return}function GD(A){A=A|0;var e=0,i=0,r=0;r=_R(A)|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;QD(e,r);e=_o(A,e)|0}i=bd(A,i)|0}pk(r)|0;return}function QD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+320|0;D=N+296|0;Y=N+280|0;I=N+136|0;C=N+120|0;w=N+104|0;t=N+88|0;f=N+80|0;y=N+16|0;G=N;c=N+264|0;b=N+248|0;s=N+232|0;u=N+216|0;Q=N+200|0;m=N+184|0;Z=N+168|0;W=N+152|0;n=mD(po(A,87798)|0,e)|0;h=mD(po(A,87804)|0,e)|0;d=(h|0)!=0;e=(n|0)!=0;do{if(e|d?(J=A+16|0,r=a[(a[J>>2]|0)+8>>2]|0,r|0):0){if((a[r+4>>2]|0)>1){V=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;J=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[f>>2]=V;a[f+4>>2]=J;ao(0,87810,f)|0;break}M=a[r>>2]|0;r=a[M+4>>2]|0;o=a[A>>2]&3;B=A+-48|0;v=a[((o|0)==2?A:B)+40>>2]|0;g=A+48|0;o=a[((o|0)==3?A:g)+40>>2]|0;F=$F(48)|0;E=M+12|0;a[F+12>>2]=a[E>>2];L=M+8|0;a[F+8>>2]=a[L>>2];do{if(e){l=(a[n+16>>2]|0)+16|0;n=(a[v+16>>2]|0)+16|0;a[D>>2]=a[n>>2];a[D+4>>2]=a[n+4>>2];a[D+8>>2]=a[n+8>>2];a[D+12>>2]=a[n+12>>2];if(!(LD(D,l)|0)){u=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;z=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87798)|0;a[t>>2]=u;a[t+4>>2]=z;a[t+8>>2]=V;ao(0,87851,t)|0;V=26;break}e=a[M>>2]|0;a[D>>2]=a[e>>2];a[D+4>>2]=a[e+4>>2];a[D+8>>2]=a[e+8>>2];a[D+12>>2]=a[e+12>>2];if(LD(D,l)|0){z=(a[o+16>>2]|0)+16|0;a[D>>2]=a[z>>2];a[D+4>>2]=a[z+4>>2];a[D+8>>2]=a[z+8>>2];a[D+12>>2]=a[z+12>>2];if(LD(D,l)|0){u=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;z=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87798)|0;a[w>>2]=u;a[w+4>>2]=z;a[w+8>>2]=V;ao(0,87894,w)|0;V=26;break}if(!(a[L>>2]|0))vA(87936,87947,369,87958);u=M+16|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];WD(G,Y,D,l);z=(a[M>>2]|0)+48|0;a[z>>2]=a[G>>2];a[z+4>>2]=a[G+4>>2];a[z+8>>2]=a[G+8>>2];a[z+12>>2]=a[G+12>>2];z=(a[M>>2]|0)+16|0;a[Y>>2]=a[G>>2];a[Y+4>>2]=a[G+4>>2];a[Y+8>>2]=a[G+8>>2];a[Y+12>>2]=a[G+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];yD(c,Y,D);a[z>>2]=a[c>>2];a[z+4>>2]=a[c+4>>2];a[z+8>>2]=a[c+8>>2];a[z+12>>2]=a[c+12>>2];z=a[M>>2]|0;e=z+16|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[u>>2];a[D+4>>2]=a[u+4>>2];a[D+8>>2]=a[u+8>>2];a[D+12>>2]=a[u+12>>2];yD(b,Y,D);a[z>>2]=a[b>>2];a[z+4>>2]=a[b+4>>2];a[z+8>>2]=a[b+8>>2];a[z+12>>2]=a[b+12>>2];z=a[M>>2]|0;e=z+32|0;z=z+16|0;a[Y>>2]=a[z>>2];a[Y+4>>2]=a[z+4>>2];a[Y+8>>2]=a[z+8>>2];a[Y+12>>2]=a[z+12>>2];a[D>>2]=a[G>>2];a[D+4>>2]=a[G+4>>2];a[D+8>>2]=a[G+8>>2];a[D+12>>2]=a[G+12>>2];yD(s,Y,D);a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2];e=a[E>>2]|0;if(!e){z=3;break}z=(jC(A,a[M>>2]|0,0,0,F,e)|0)+3|0;break}n=r+-1|0;e=0;while(1){if((e|0)>=(n|0))break;if(zD((a[M>>2]|0)+(e<<4)|0,l)|0)break;e=e+3|0}r=a[E>>2]|0;f=(r|0)!=0;if((e|0)==(n|0))if(f){z=F+32|0;s=M+32|0;w=(a[M>>2]|0)+(n<<4)|0;a[Y>>2]=a[s>>2];a[Y+4>>2]=a[s+4>>2];a[Y+8>>2]=a[s+8>>2];a[Y+12>>2]=a[s+12>>2];a[D>>2]=a[w>>2];a[D+4>>2]=a[w+4>>2];a[D+8>>2]=a[w+8>>2];a[D+12>>2]=a[w+12>>2];WD(u,Y,D,l);a[z>>2]=a[u>>2];a[z+4>>2]=a[u+4>>2];a[z+8>>2]=a[u+8>>2];a[z+12>>2]=a[u+12>>2];z=n;break}else vA(87975,87947,387,87958);else{if(f)e=jC(A,a[M>>2]|0,0,e,F,r)|0;z=e+3|0;break}}else V=26}while(0);if((V|0)==26){e=r+-1|0;if(!(a[E>>2]|0))z=e;else{z=F+32|0;u=M+32|0;a[z>>2]=a[u>>2];a[z+4>>2]=a[u+4>>2];a[z+8>>2]=a[u+8>>2];a[z+12>>2]=a[u+12>>2];z=e}}do{if(d){f=(a[h+16>>2]|0)+16|0;d=(a[o+16>>2]|0)+16|0;a[D>>2]=a[d>>2];a[D+4>>2]=a[d+4>>2];a[D+8>>2]=a[d+8>>2];a[D+12>>2]=a[d+12>>2];if(!(LD(D,f)|0)){Y=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;D=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87804)|0;a[C>>2]=Y;a[C+4>>2]=D;a[C+8>>2]=V;ao(0,87986,C)|0;V=52;break}e=(a[M>>2]|0)+(z<<4)|0;a[D>>2]=a[e>>2];a[D+4>>2]=a[e+4>>2];a[D+8>>2]=a[e+8>>2];a[D+12>>2]=a[e+12>>2];if(LD(D,f)|0){y=(a[v+16>>2]|0)+16|0;a[D>>2]=a[y>>2];a[D+4>>2]=a[y+4>>2];a[D+8>>2]=a[y+8>>2];a[D+12>>2]=a[y+12>>2];if(LD(D,f)|0){Y=Vh(a[((a[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;D=Vh(a[((a[A>>2]&3|0)==2?A:B)+40>>2]|0)|0;V=po(A,87804)|0;a[I>>2]=Y;a[I+4>>2]=D;a[I+8>>2]=V;ao(0,88029,I)|0;V=52;break}if(!(a[E>>2]|0))vA(87975,87947,429,87958);I=F+32|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];WD(G,Y,D,f);i=z+-3|0;y=(a[M>>2]|0)+(i<<4)|0;a[y>>2]=a[G>>2];a[y+4>>2]=a[G+4>>2];a[y+8>>2]=a[G+8>>2];a[y+12>>2]=a[G+12>>2];y=z+-1|0;e=(a[M>>2]|0)+(y<<4)|0;a[Y>>2]=a[G>>2];a[Y+4>>2]=a[G+4>>2];a[Y+8>>2]=a[G+8>>2];a[Y+12>>2]=a[G+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];yD(Q,Y,D);a[e>>2]=a[Q>>2];a[e+4>>2]=a[Q+4>>2];a[e+8>>2]=a[Q+8>>2];a[e+12>>2]=a[Q+12>>2];e=a[M>>2]|0;W=e+(z<<4)|0;e=e+(y<<4)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];a[D>>2]=a[I>>2];a[D+4>>2]=a[I+4>>2];a[D+8>>2]=a[I+8>>2];a[D+12>>2]=a[I+12>>2];yD(m,Y,D);a[W>>2]=a[m>>2];a[W+4>>2]=a[m+4>>2];a[W+8>>2]=a[m+8>>2];a[W+12>>2]=a[m+12>>2];W=a[M>>2]|0;e=W+(z+-2<<4)|0;y=W+(y<<4)|0;a[Y>>2]=a[y>>2];a[Y+4>>2]=a[y+4>>2];a[Y+8>>2]=a[y+8>>2];a[Y+12>>2]=a[y+12>>2];a[D>>2]=a[G>>2];a[D+4>>2]=a[G+4>>2];a[D+8>>2]=a[G+8>>2];a[D+12>>2]=a[G+12>>2];yD(Z,Y,D);a[e>>2]=a[Z>>2];a[e+4>>2]=a[Z+4>>2];a[e+8>>2]=a[Z+8>>2];a[e+12>>2]=a[Z+12>>2];e=a[L>>2]|0;if(!e)break;i=PC(A,a[M>>2]|0,i,i,F,e)|0;break}r=z;while(1){if((r|0)>0)e=0;else break;while(1){if((e|0)==4)break;m=y+(e<<4)|0;Q=(a[M>>2]|0)+(r-e<<4)|0;a[m>>2]=a[Q>>2];a[m+4>>2]=a[Q+4>>2];a[m+8>>2]=a[Q+8>>2];a[m+12>>2]=a[Q+12>>2];e=e+1|0}if(zD(y,f)|0){e=0;V=43;break}r=r+-3|0}A:do{if((V|0)==43)while(1){V=0;if((e|0)==4)break A;V=(a[M>>2]|0)+(r-e<<4)|0;m=y+(e<<4)|0;a[V>>2]=a[m>>2];a[V+4>>2]=a[m+4>>2];a[V+8>>2]=a[m+8>>2];a[V+12>>2]=a[m+12>>2];e=e+1|0;V=43}}while(0);if(r|0){i=r+-3|0;e=a[L>>2]|0;if(!e)break;i=PC(A,a[M>>2]|0,i,z+-3|0,F,e)|0;break}if(!(a[L>>2]|0))vA(87936,87947,452,87958);else{i=F+16|0;y=M+16|0;A=a[M>>2]|0;a[Y>>2]=a[y>>2];a[Y+4>>2]=a[y+4>>2];a[Y+8>>2]=a[y+8>>2];a[Y+12>>2]=a[y+12>>2];a[D>>2]=a[A>>2];a[D+4>>2]=a[A+4>>2];a[D+8>>2]=a[A+8>>2];a[D+12>>2]=a[A+12>>2];WD(W,Y,D,f);a[i>>2]=a[W>>2];a[i+4>>2]=a[W+4>>2];a[i+8>>2]=a[W+8>>2];a[i+12>>2]=a[W+12>>2];i=0;break}}else V=52}while(0);if((V|0)==52)if(!(a[L>>2]|0))i=0;else{i=F+16|0;V=M+16|0;a[i>>2]=a[V>>2];a[i+4>>2]=a[V+4>>2];a[i+8>>2]=a[V+8>>2];a[i+12>>2]=a[V+12>>2];i=0}e=z-i+1|0;r=F+4|0;a[r>>2]=e;a[F>>2]=$F(e<<4)|0;e=0;while(1){if((e|0)>=(a[r>>2]|0))break;V=(a[F>>2]|0)+(e<<4)|0;A=(a[M>>2]|0)+(i<<4)|0;a[V>>2]=a[A>>2];a[V+4>>2]=a[A+4>>2];a[V+8>>2]=a[A+8>>2];a[V+12>>2]=a[A+12>>2];i=i+1|0;e=e+1|0}L2(a[M>>2]|0);L2(M);a[a[(a[J>>2]|0)+8>>2]>>2]=F}}while(0);k=N;return}function mD(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if((A|0)!=0?(r[A>>0]|0)!=0:0){e=$R(e,A)|0;if(!e){a[i>>2]=A;ao(0,88149,i)|0;e=0}}else e=0;k=f;return e|0}function LD(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];if((+b[e>>3]<=r?r<=+b[e+16>>3]:0)?(i=+b[A+8>>3],+b[e+8>>3]<=i):0)A=i<=+b[e+24>>3]&1;else A=0;return A|0}function WD(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0.0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0;L=k;k=k+464|0;w=L+48|0;m=L+32|0;g=L+16|0;E=L;C=L+364|0;I=L+264|0;G=L+164|0;Q=L+64|0;h=+b[e>>3];d=+b[e+8>>3];B=+b[i>>3];v=+b[i+8>>3];a[g>>2]=a[r>>2];a[g+4>>2]=a[r+4>>2];a[g+8>>2]=a[r+8>>2];a[g+12>>2]=a[r+12>>2];r=r+16|0;a[E>>2]=a[r>>2];a[E+4>>2]=a[r+4>>2];a[E+8>>2]=a[r+8>>2];a[E+12>>2]=a[r+12>>2];c=+b[g>>3];if((B=+b[g+8>>3]):0)?f<=+b[E+8>>3]:0){u=f;o=c}else l=4;do{if((l|0)==4){t=+b[E>>3];if(B>t){n=d+ +(~~((t-h)*(d-v)/(h-B))|0);f=+b[g+8>>3];if(n>=f?n<=+b[E+8>>3]:0){u=n;o=t;break}}else f=+b[g+8>>3];if(v=c)|!(s<=t))):0){u=f;o=s;break}f=+b[E+8>>3];if(v>f?(Z=h+ +(~~((f-d)*(h-B)/(d-v))|0),!(!(Z>=c)|!(Z<=t))):0){u=f;o=Z;break}a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];C=VD(w,C)|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];I=VD(w,I)|0;a[w>>2]=a[g>>2];a[w+4>>2]=a[g+4>>2];a[w+8>>2]=a[g+8>>2];a[w+12>>2]=a[g+12>>2];G=VD(w,G)|0;a[w>>2]=a[E>>2];a[w+4>>2]=a[E+4>>2];a[w+8>>2]=a[E+8>>2];a[w+12>>2]=a[E+12>>2];Q=VD(w,Q)|0;a[m>>2]=C;a[m+4>>2]=I;a[m+8>>2]=G;a[m+12>>2]=Q;ao(1,88071,m)|0;vA(138394,87947,78,88123)}}while(0);b[A>>3]=o;b[A+8>>3]=u;k=L;return}function yD(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function zD(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+80|0;t=s+16|0;c=s;r=0;while(1){if((r|0)==4)break;l=t+(r<<4)|0;n=A+(r<<4)|0;a[l>>2]=a[n>>2];a[l+4>>2]=a[n+4>>2];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];r=r+1|0}r=e+8|0;l=e+24|0;i=+YD(A,0.0,1.0,+b[e>>3],+b[r>>3],+b[l>>3]);if(i>=0.0&i<2.0)mR(c,t,3,i,A,0);else i=2.0;n=e+16|0;f=+YD(A,0.0,i>1.0?1.0:i,+b[n>>3],+b[r>>3],+b[l>>3]);if(f>=0.0&f1.0?1.0:i,+b[r>>3],+b[e>>3],+b[n>>3]);if(f>=0.0&f1.0?1.0:i,+b[l>>3],+b[e>>3],+b[n>>3]);if(f>=0.0&f>3]-r))<=.005){e=+b[A+56>>3];e=!(e>=f)|!(e<=a)?-1.0:i;break A}break}default:{}}mR(l,A,3,.5,t,c);n=(i+e)*.5;e=+YD(t,e,n,r,f,a);if(!(e>=0.0))e=+YD(c,n,i,r,f,a)}}while(0);k=s;return+e}function DD(A,e,i,r,f,a){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;var n=0.0,l=0,t=0,c=0,s=0;s=k;k=k+144|0;t=s+80|0;c=s+16|0;l=s;A:do{if(!(e==i)){switch(MD(A,r)|0){case 0:{e=-1.0;break A}case 1:{if(+y(+(+b[A+56>>3]-r))<=.005){e=+b[A+48>>3];e=!(e>=f)|!(e<=a)?-1.0:i;break A}break}default:{}}mR(l,A,3,.5,t,c);n=(i+e)*.5;e=+DD(t,e,n,r,f,a);if(!(e>=0.0))e=+DD(c,n,i,r,f,a)}}while(0);k=s;return+e}function MD(A,e){A=A|0;e=+e;var i=0,r=0,f=0,a=0.0,n=0,l=0;a=+b[A+8>>3];f=ae&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;a=+b[A+(i<<4)+8>>3];l=ae&1;n=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=n}return f|0}function FD(A,e){A=A|0;e=+e;var i=0,r=0,f=0,a=0.0,n=0,l=0;a=+b[A>>3];f=ae&1;i=1;r=f;f=(f|0)==0&1;while(1){if((i|0)==4)break;a=+b[A+(i<<4)>>3];l=ae&1;n=f+((r|0)!=0&(l|0)!=(r|0)&1)|0;i=i+1|0;r=l;f=n}return f|0}function VD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=k;k=k+16|0;r=i;f=+b[A+8>>3];b[r>>3]=+b[A>>3];b[r+8>>3]=f;P4(e,88137,r)|0;k=i;return e|0}function JD(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0;E=k;k=k+16|0;h=E;g=4;v=m2(40)|0;a[v>>2]=0;o=A+16|0;i=a[o>>2]|0;A:do{if(((f[i+238>>1]|0)-(f[i+236>>1]|0)|0)>=2){s=1;e=i;i=a[i+196>>2]|0;e:while(1){w=s+1|0;if(!(a[i+(w<<6)>>2]|0)){u=15;break}else b=0;while(1){l=a[i+(s<<6)>>2]|0;if((b|0)>=(l|0)){s=w;continue e}c=a[(a[i+(s<<6)+4>>2]|0)+(b<<2)>>2]|0;d=0;e=iA(20,c|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,v|0,g|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){e=L;break e}if(e<<24>>24){t=b;e=l;while(1){n=t+1|0;if((n|0)>=(e|0))break;d=0;e=rA(65,c|0,a[(a[i+(s<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,v|0,g|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){e=L;break e}if(!(e<<24>>24))break;e=a[(a[o>>2]|0)+196>>2]|0;t=n;i=e;e=a[e+(s<<6)>>2]|0}if((n-b|0)>1){d=0;hA(6,A|0,s|0,b|0,t|0,1);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;break e}}}i=a[o>>2]|0;b=b+1|0;e=i;i=a[i+196>>2]|0}}e:do{if((u|0)==15){while(1){if((s|0)>0)b=0;else break;while(1){i=a[e+196>>2]|0;l=a[i+(s<<6)>>2]|0;if((b|0)>=(l|0))break;c=a[(a[i+(s<<6)+4>>2]|0)+(b<<2)>>2]|0;d=0;e=iA(21,c|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){n=W6(a[r>>2]|0,v|0,g|0)|0;if(!n)fe(r|0,B|0);L=B}else n=-1;if((n|0)==1){e=L;break e}if(e<<24>>24){t=b;e=l;while(1){n=t+1|0;if((n|0)>=(e|0))break;d=0;e=rA(66,c|0,a[(a[i+(s<<6)+4>>2]|0)+(n<<2)>>2]|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,v|0,g|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){e=L;break e}if(!(e<<24>>24))break;e=a[(a[o>>2]|0)+196>>2]|0;t=n;i=e;e=a[e+(s<<6)>>2]|0}if((n-b|0)>1){d=0;hA(6,A|0,s|0,b|0,t|0,0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;break e}}}b=b+1|0;e=a[o>>2]|0}s=s+-1|0;u=15}v=L6(187016,1,v|0,g|0)|0;g=L;d=0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1)e=L;else e=0}}while(0);e:while(1){if(e){d=0;aA(20,3,88177,h|0)|0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}else break}else r=1;while(1){e=a[o>>2]|0;if((r|0)>(a[e+180>>2]|0))break A;d=0;sA(101,a[(a[e+184>>2]|0)+(r<<2)>>2]|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,v|0,g|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue e}r=r+1|0}}}}while(0);L2(v|0);k=E;return}function ND(A){A=A|0;A=a[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(a[A+176>>2]|0)==1:0)?(a[A+184>>2]|0)==1:0)A=(a[A+104>>2]|0)==0&1;else A=0;return A|0}function XD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;l=t+40|0;n=t;r=a[a[(a[A+16>>2]|0)+172>>2]>>2]|0;A=a[a[(a[e+16>>2]|0)+172>>2]>>2]|0;if(((ND(e)|0)<<24>>24!=0?(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0):0)?(TD(r,A)|0)<<24>>24!=0:0){i=(a[A+16>>2]|0)+16|0;f=n;A=(a[r+16>>2]|0)+16|0;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(EL(n,l)|0)==0&1}else A=0;k=t;return A|0}function RD(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;v=A+16|0;h=a[(a[(a[(a[v>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(i<<2)>>2]|0;o=i+1|0;w=(f|0)==1;u=h+16|0;s=o;while(1){if((s|0)>(r|0)){n=r;B=o;break}k=a[(a[(a[(a[v>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(s<<2)>>2]|0;b=k+16|0;A:do{if(w)while(1){i=a[b>>2]|0;c=a[a[i+180>>2]>>2]|0;if(!c)break A;l=a[(a[u>>2]|0)+180>>2]|0;t=c+-48|0;f=0;while(1){i=a[l+(f<<2)>>2]|0;if(!i){d=8;break}if((a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)==(a[((a[c>>2]&3|0)==2?c:t)+40>>2]|0))break;else f=f+1|0}if((d|0)==8){d=0;i=mW(h,a[((a[c>>2]&3|0)==2?c:t)+40>>2]|0,c)|0}while(1){f=a[a[(a[b>>2]|0)+172>>2]>>2]|0;if(!f)break;FW(f,i);CW(f)}CW(c)}else while(1){i=a[b>>2]|0;c=a[a[i+172>>2]>>2]|0;if(!c)break A;l=a[(a[u>>2]|0)+172>>2]|0;t=c+48|0;f=0;while(1){i=a[l+(f<<2)>>2]|0;if(!i){d=17;break}if((a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)==(a[((a[c>>2]&3|0)==3?c:t)+40>>2]|0))break;else f=f+1|0}if((d|0)==17){d=0;i=mW(a[((a[c>>2]&3|0)==3?c:t)+40>>2]|0,h,c)|0}while(1){f=a[a[(a[b>>2]|0)+180>>2]>>2]|0;if(!f)break;FW(f,i);CW(f)}CW(c)}}while(0);if((a[i+176>>2]|0)!=(0-(a[i+184>>2]|0)|0)){d=23;break}yW(A,k);s=s+1|0}if((d|0)==23)vA(88313,88357,115,88364);while(1){n=n+1|0;i=a[(a[v>>2]|0)+196>>2]|0;f=i+(e<<6)|0;if((n|0)>=(a[f>>2]|0))break;r=a[i+(e<<6)+4>>2]|0;d=a[r+(n<<2)>>2]|0;a[r+(B<<2)>>2]=d;a[(a[d+16>>2]|0)+236>>2]=B;B=B+1|0}a[f>>2]=B;a[(a[i+(e<<6)+4>>2]|0)+(B<<2)>>2]=0;return}function HD(A){A=A|0;A=a[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(a[A+184>>2]|0)==1:0)?(a[A+176>>2]|0)==1:0)A=(a[A+104>>2]|0)==0&1;else A=0;return A|0}function pD(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;l=t+40|0;n=t;r=a[a[(a[A+16>>2]|0)+180>>2]>>2]|0;A=a[a[(a[e+16>>2]|0)+180>>2]>>2]|0;if(((HD(e)|0)<<24>>24!=0?(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)==(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0):0)?(TD(r,A)|0)<<24>>24!=0:0){i=(a[A+16>>2]|0)+56|0;f=n;A=(a[r+16>>2]|0)+56|0;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));f=l;A=i;e=f+40|0;do{a[f>>2]=a[A>>2];f=f+4|0;A=A+4|0}while((f|0)<(e|0));A=(EL(n,l)|0)==0&1}else A=0;k=t;return A|0}function UD(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+32|0;o=d+16|0;u=d;s=A+16|0;i=a[s>>2]|0;e=f[i+236>>1]|0;while(1){if((e|0)>(f[i+238>>1]|0))break;a[(a[i+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;i=a[s>>2]|0}Fz(A);c=cd(A)|0;while(1){if(!c)break;xD(A,c);t=Oo(A,c)|0;while(1){if(!t)break;else i=t;while(1){e=a[(a[i+16>>2]|0)+172>>2]|0;if(!e)break;else i=e}l=t+-48|0;while(1){e=i+-48|0;n=a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0;if((a[(a[n+16>>2]|0)+232>>2]|0)>=(a[(a[(a[((a[t>>2]&3|0)==2?t:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;xD(A,n);i=a[a[(a[(a[((a[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}t=_o(A,t)|0}c=bd(A,c)|0}e=a[s>>2]|0;t=f[e+236>>1]|0;while(1){if((t|0)>(f[e+238>>1]|0)){b=1;w=e;break}e=a[(a[e+268>>2]|0)+(t<<2)>>2]|0;c=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;i=e+16|0;if((a[c+(a[(a[i>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){h=17;break}l=a[(a[(a[(gL(A)|0)+16>>2]|0)+196>>2]|0)+(t<<6)+4>>2]|0;e=a[s>>2]|0;i=a[e+196>>2]|0;a[i+(t<<6)+4>>2]=l+(a[(a[(a[(a[e+268>>2]|0)+(t<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;l=0;A:while(1){if((l|0)>=(a[i+(t<<6)>>2]|0))break;i=a[(a[i+(t<<6)+4>>2]|0)+(l<<2)>>2]|0;if(!i)break;n=a[i+16>>2]|0;e:do{if(!(r[n+156>>0]|0))if(!(Dd(A,i)|0))break A;else e=l;else{i=a[a[n+172>>2]>>2]|0;while(1){if(!i)break e;n=a[(a[i+16>>2]|0)+116>>2]|0;if(!n)break;else i=n}if(Dd(A,a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0){c=(Dd(A,a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)|0)==0;e=c?e:l}}}while(0);l=l+1|0;i=a[(a[s>>2]|0)+196>>2]|0}if((e|0)==-1){a[o>>2]=Vh(A)|0;a[o+4>>2]=t;ao(0,88277,o)|0}c=a[s>>2]|0;a[(a[c+196>>2]|0)+(t<<6)>>2]=e+1;t=t+1|0;e=c}if((h|0)==17){o=Vh(e)|0;h=a[(a[i>>2]|0)+236>>2]|0;a[u>>2]=o;a[u+4>>2]=h;a[u+8>>2]=t;ao(1,88219,u)|0;fe(187016,1)}while(1){if((b|0)>(a[w+180>>2]|0))break;UD(a[(a[w+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0;w=a[s>>2]|0}k=d;return}function xD(A,e){A=A|0;e=e|0;var i=0,r=0;i=a[e+16>>2]|0;A=(a[(a[A+16>>2]|0)+268>>2]|0)+(a[i+232>>2]<<2)|0;r=a[A>>2]|0;if(!((r|0)!=0?(a[(a[r+16>>2]|0)+236>>2]|0)<=(a[i+236>>2]|0):0))a[A>>2]=e;return}function TD(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=a[A+16>>2]|0;if(!(r[f+112>>0]|0))break;A=a[f+116>>2]|0}while(1){i=a[e+16>>2]|0;if(!(r[i+112>>0]|0))break;e=a[i+116>>2]|0}if((r[f+153>>0]|0)==0?(r[i+153>>0]|0)==0:0){f=a[e>>2]&3;i=a[A>>2]&3;A=(U((a[(a[(a[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(a[(a[(a[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else A=0;return A|0}function jD(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+544|0;c=b+528|0;SD(c,b+512|0,b);i=(r[193770]|0)+1<<24>>24;r[193770]=i<<24>>24==0?1:i;i=a[A+16>>2]|0;a[i+220>>2]=0;a[i+232>>2]=0;i=(e|0)>0;e=cd(A)|0;while(1){if(!e)break;if(i?(l=a[e+16>>2]|0,t=a[l+212>>2]|0,(t|0)!=0):0){n=a[(a[(a[t+16>>2]|0)+268>>2]|0)+(a[l+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(e|0)==(CR(e)|0)):0){n=e;f=7}if((f|0)==7?(0,(r[(a[n+16>>2]|0)+157>>0]|0)!=(r[193770]|0)):0){PD(A);OD(c,A,n);KD(A)}e=bd(A,e)|0}_D(c);k=b;return}function SD(A,e,i){A=A|0;e=e|0;i=i|0;a[e>>2]=i;a[e+4>>2]=i+512;a[e+12>>2]=0;a[e+8>>2]=0;a[A>>2]=e;a[A+4>>2]=e;a[A+8>>2]=i;return}function PD(A){A=A|0;a[(a[A+16>>2]|0)+192>>2]=0;a[46793]=0;return}function OD(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+32|0;o=h;qD(A,i);b=o+8|0;s=o+16|0;w=o+24|0;A:while(1){u=$D(A)|0;if(!u)break;i=u+16|0;if((r[(a[i>>2]|0)+157>>0]|0)==(r[193770]|0))continue;AM(e,u);l=a[i>>2]|0;n=l+180|0;c=a[n+4>>2]|0;t=o;a[t>>2]=a[n>>2];a[t+4>>2]=c;t=l+172|0;c=a[t+4>>2]|0;n=b;a[n>>2]=a[t>>2];a[n+4>>2]=c;n=l+188|0;c=a[n+4>>2]|0;t=s;a[t>>2]=a[n>>2];a[t+4>>2]=c;l=l+196|0;t=a[l+4>>2]|0;c=w;a[c>>2]=a[l>>2];a[c+4>>2]=t;c=3;while(1){if((c|0)<=-1)continue A;i=a[o+(c<<3)>>2]|0;e:do{if(i|0){t=(a[o+(c<<3)+4>>2]|0)+-1|0;l=i+(t<<2)|0;while(1){if((t|0)<=-1)break e;f=a[l>>2]|0;n=a[f>>2]&3;i=a[((n|0)==2?f:f+-48|0)+40>>2]|0;if((i|0)==(u|0))i=a[((n|0)==3?f:f+48|0)+40>>2]|0;if((r[(a[i+16>>2]|0)+157>>0]|0)!=(r[193770]|0)?(i|0)==(CR(i)|0):0)qD(A,i);l=l+-4|0;t=t+-1|0}}}while(0);c=c+-1|0}}k=h;return}function KD(A){A=A|0;var e=0,i=0,r=0,f=0;i=A+16|0;e=a[i>>2]|0;f=e+220|0;r=a[f>>2]|0;A=r+1|0;a[f>>2]=A;e=a[e+216>>2]|0;if(!e)A=$F(A<<2)|0;else A=eV(e,A<<2)|0;f=a[i>>2]|0;a[f+216>>2]=A;a[A+(r<<2)>>2]=a[f+192>>2];return}function _D(A){A=A|0;var e=0;A=a[(a[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=a[A+12>>2]|0;L2(a[A>>2]|0);L2(A);A=e}return}function qD(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;l=b+8|0;f=b;c=A+8|0;i=a[c>>2]|0;t=A+4|0;A=a[t>>2]|0;if((i|0)==(a[A+4>>2]|0)){i=a[A+12>>2]|0;if(!i){i=qF(16)|0;if(!i)ao(1,98969,f)|0;a[i+8>>2]=a[t>>2];a[i+12>>2]=0;A=qF(4e6)|0;a[i>>2]=A;if(!A){ao(1,88377,l)|0;A=a[i>>2]|0}a[i+4>>2]=A+4e6;a[(a[t>>2]|0)+12>>2]=i}a[t>>2]=i;i=a[i>>2]|0;a[c>>2]=i}r[(a[e+16>>2]|0)+157>>0]=(n[193770]|0)+1;a[c>>2]=i+4;a[i>>2]=e;k=b;return}function $D(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=A+8|0;e=a[f>>2]|0;i=A+4|0;r=a[i>>2]|0;if((e|0)==(a[r>>2]|0))if((r|0)==(a[A>>2]|0))e=0;else{e=a[r+8>>2]|0;a[i>>2]=e;e=a[e+4>>2]|0;a[f>>2]=e;n=4}else n=4;if((n|0)==4){e=e+-4|0;a[f>>2]=e;e=a[e>>2]|0}return e|0}function AM(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=a[A+16>>2]|0;n=f+232|0;a[n>>2]=(a[n>>2]|0)+1;n=a[e+16>>2]|0;r[n+157>>0]=r[193770]|0;A=a[46793]|0;i=n+168|0;if(!A){a[i>>2]=0;a[f+192>>2]=e}else{a[i>>2]=A;a[(a[A+16>>2]|0)+164>>2]=e}a[46793]=e;a[n+164>>2]=0;return}function eM(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,k=0.0;w=A+16|0;e=(a[w>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;n=e+16|0;e=a[n>>2]|0;i=a[e+188>>2]|0;A:do{if(!i)f=0;else{f=0;while(1){i=a[i+(f<<2)>>2]|0;if(!i){f=0;break A}iM(i);e=a[n>>2]|0;f=f+1|0;i=a[e+188>>2]|0}}}while(0);while(1){if((f|0)>=(a[e+208>>2]|0))break;i=a[(a[e+204>>2]|0)+(f<<2)>>2]|0;s=a[i>>2]&3;if((a[(a[(a[((s|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(a[(a[(a[((s|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){iM(i);e=a[n>>2]|0}f=f+1|0}e=e+164|0}s=a[w>>2]|0;e=a[s+196>>2]|0;if(!((a[e+56>>2]|0)==0?(a[s+180>>2]|0)<=0:0))l=13;A:do{if((l|0)==13){l=a[e+4>>2]|0;n=0;e:while(1){e=a[l+(n<<2)>>2]|0;if(!e)break A;i=a[(a[e+16>>2]|0)+196>>2]|0;e=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f)break;s=a[f+16>>2]|0;if(a[s+96>>2]|0?(r[s+113>>0]|0)==0:0)break e;e=e+1|0}n=n+1|0}rM(A)}}while(0);Sy(A);i=0;e=(a[w>>2]|0)+192|0;while(1){e=a[e>>2]|0;if(!e)break;s=e+16|0;e=a[s>>2]|0;f=a[e+188>>2]|0;A:do{if(f){c=0;while(1){n=a[f+(c<<2)>>2]|0;if(!n){c=0;break}l=a[n+16>>2]|0;t=a[l+96>>2]|0;do{if(t)if(!(r[l+113>>0]|0)){fM(n);f=a[s>>2]|0;i=1;e=f;f=a[f+188>>2]|0;break}else{b[l+136>>3]=+b[((a[(a[w>>2]|0)+116>>2]&1|0)==0?t+24|0:t+32|0)>>3];break}}while(0);c=c+1|0}while(1){if((c|0)>=(a[e+208>>2]|0))break A;l=a[(a[e+204>>2]|0)+(c<<2)>>2]|0;t=a[l>>2]&3;n=a[((t|0)==3?l:l+48|0)+40>>2]|0;t=a[((t|0)==2?l:l+-48|0)+40>>2]|0;do{if(!((n|0)==(t|0)?1:(a[(a[n+16>>2]|0)+232>>2]|0)!=(a[(a[t+16>>2]|0)+232>>2]|0))){f=l;do{t=a[f+16>>2]|0;f=a[t+172>>2]|0}while((f|0)!=0);f=r[t+113>>0]|0;n=a[l+16>>2]|0;r[n+113>>0]=f;n=a[n+96>>2]|0;if(n)if(!(f<<24>>24)){fM(l);i=1;e=a[s>>2]|0;break}else{k=+b[((a[(a[w>>2]|0)+116>>2]&1|0)==0?n+24|0:n+32|0)>>3];t=t+136|0;u=+b[t>>3];b[t>>3]=k>u?k:u;break}}}while(0);c=c+1|0}}}while(0);e=e+164|0}if(i|0){RW(A);Ay(A)}return i|0}function iM(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;e=a[A>>2]&3;t=a[((e|0)==3?A:A+48|0)+40>>2]|0;f=t+16|0;n=a[(a[f>>2]|0)+236>>2]|0;e=a[(a[(a[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;l=(n|0)<(e|0);i=l?e:n;t=a[(a[(gL(t)|0)+16>>2]|0)+196>>2]|0;f=t+(a[(a[f>>2]|0)+232>>2]<<6)+4|0;e=l?n:e;A:while(1){e=e+1|0;if((e|0)>=(i|0))break;n=a[(a[(a[f>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;switch(r[n+156>>0]|0){case 0:break A;case 1:break;default:continue A}if(a[n+104>>2]|0)break}if((e|0)==(i|0))do{t=a[A+16>>2]|0;r[t+113>>0]=1;A=a[t+172>>2]|0}while((A|0)!=0);return}function rM(A){A=A|0;var e=0,i=0,r=0,n=0;n=A+16|0;A=a[n>>2]|0;if(f[A+236>>1]|0)vA(88434,88417,190,88453);e=(f[A+238>>1]|0)+3|0;A=a[A+196>>2]|0;if(!A)A=$F(e<<6)|0;else A=eV(A,e<<6)|0;e=A+64|0;A=a[n>>2]|0;a[A+196>>2]=e;A=f[A+238>>1]|0;while(1){if((A|0)<=-1)break;r=A+-1|0;i=e+(A<<6)|0;A=e+(r<<6)|0;e=i+64|0;do{a[i>>2]=a[A>>2];i=i+4|0;A=A+4|0}while((i|0)<(e|0));A=r;e=a[(a[n>>2]|0)+196>>2]|0}a[e+(A<<6)+8>>2]=0;a[e+(A<<6)>>2]=0;i=qF(8)|0;n=a[n>>2]|0;r=a[n+196>>2]|0;a[r+(A<<6)+12>>2]=i;a[r+(A<<6)+4>>2]=i;a[r+(A<<6)+56>>2]=0;b[r+(A<<6)+24>>3]=1.0;b[r+(A<<6)+16>>3]=1.0;b[r+(A<<6)+40>>3]=1.0;b[r+(A<<6)+32>>3]=1.0;n=n+236|0;f[n>>1]=(f[n>>1]|0)+-1<<16>>16;return}function fM(A){A=A|0;var e=0,i=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0.0,d=0.0;t=A+16|0;if(a[(a[t>>2]|0)+96>>2]|0){w=A+48|0;c=gL(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)|0;e=a[(a[(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+232>>2]|0;s=MH(c,A)|0;u=c+16|0;i=a[u>>2]|0;n=a[i+196>>2]|0;k=e+-1|0;l=a[a[n+(k<<6)+4>>2]>>2]|0;if(!l)f=+b[n+(e<<6)+24>>3]+ +b[(a[(a[a[n+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(a[i+252>>2]|0);else f=+b[(a[l+16>>2]|0)+24>>3]-+b[n+(k<<6)+16>>3];e=FH(c,k,s)|0;c=a[(a[t>>2]|0)+96>>2]|0;h=+b[c+24>>3];o=+b[c+32>>3];t=(a[(a[u>>2]|0)+116>>2]&1|0)==0;d=t?o:h;n=e+16|0;i=a[n>>2]|0;b[i+80>>3]=d;s=~~(d*.5);o=(t?h:o)*.5;b[i+96>>3]=o;b[i+88>>3]=o;a[i+104>>2]=c;b[i+24>>3]=+(s+~~f|0);i=mW(e,a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0,A)|0;i=a[i+16>>2]|0;b[i+16>>3]=-+b[(a[n>>2]|0)+88>>3];b[i+56>>3]=+b[(a[(a[((a[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+96>>3];r[i+112>>0]=4;i=A+-48|0;e=mW(e,a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0,A)|0;n=a[n>>2]|0;e=a[e+16>>2]|0;b[e+16>>3]=+b[n+96>>3];b[e+56>>3]=+b[(a[(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+88>>3];r[e+112>>0]=4;e=a[(a[u>>2]|0)+196>>2]|0;i=e+(k<<6)+16|0;f=+(s|0);if(+b[i>>3]>3]=f;e=e+(k<<6)+24|0;if(+b[e>>3]>3]=f;a[n+112>>2]=A}return}function aM(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+160|0;Z=Q+24|0;C=Q+20|0;E=Q+16|0;u=Q;o=Q+32|0;I=a[A+152>>2]|0;a[Z>>2]=0;a[C>>2]=0;a[E>>2]=0;G=AI(A)|0;a[G+4>>2]=3;a[G+8>>2]=e;a[G+12>>2]=9;v=e+16|0;w=a[(a[v>>2]|0)+96>>2]|0;if((w|0?(r[w+82>>0]|0)==0:0)?(ER(po(e,100105)|0,0)|0)<<24>>24:0){w=G+260|0;f[w>>1]=f[w>>1]|512}if(i|0?a[(a[v>>2]|0)+8>>2]|0:0)rr(A,i);i=a[47206]|0;if((i|0?(n=Uo(e,i)|0,n|0):0)?r[n>>0]|0:0)wr(A,+oR(e,a[47206]|0,1.0,0.0));do{if(I&16777216|0){i=e+48|0;if((l[(a[(Id(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){s=+b[(a[(a[(a[((a[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;b[G+176>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);s=+b[(a[(a[(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;b[G+184>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);break}else{w=G+176|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;break}}}while(0);if(I&32768|0){w=a[v>>2]|0;i=a[w+96>>2]|0;if(!i)i=a[G+192>>2]|0;else{i=a[i>>2]|0;a[G+192>>2]=i}n=G+196|0;a[n>>2]=i;c=G+204|0;a[c>>2]=i;t=G+200|0;a[t>>2]=i;i=a[w+108>>2]|0;if(i|0)a[n>>2]=a[i>>2];i=a[w+104>>2]|0;if(i|0)a[t>>2]=a[i>>2];i=a[w+100>>2]|0;if(i|0)a[c>>2]=a[i>>2]}if(!(I&65536))t=0;else{co(u,128,o);a[G+212>>2]=SF(rI(A,e,u)|0,e)|0;uo(u);i=po(e,141055)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=31;else{i=po(e,111477)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=31;else n=0}if((h|0)==31)n=SF(i,e)|0;i=po(e,100118)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=36;else h=34;do{if((h|0)==34){i=po(e,100127)|0;if(i|0?r[i>>0]|0:0){h=36;break}if(n|0){i=s3(n)|0;h=39}}}while(0);if((h|0)==36){i=SF(i,e)|0;h=39}if((h|0)==39)a[G+208>>2]=i;i=po(e,100135)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=44;else h=42;do{if((h|0)==42){i=po(e,100145)|0;if(i|0?r[i>>0]|0:0){h=44;break}if(n|0){i=s3(n)|0;h=47}}}while(0);if((h|0)==44){i=SF(i,e)|0;h=47}if((h|0)==47)a[G+216>>2]=i;i=po(e,100154)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=52;else h=50;do{if((h|0)==50){i=po(e,100163)|0;if(i|0?r[i>>0]|0:0){h=52;break}if(n|0)a[G+220>>2]=s3(n)|0}}while(0);if((h|0)==52){a[G+220>>2]=SF(i,e)|0;h=G+260|0;f[h>>1]=f[h>>1]|128}i=po(e,100171)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=59;else h=57;do{if((h|0)==57){i=po(e,100180)|0;if(i|0?r[i>>0]|0:0){h=59;break}if(n|0)a[G+224>>2]=s3(n)|0}}while(0);if((h|0)==59){a[G+224>>2]=SF(i,e)|0;h=G+260|0;f[h>>1]=f[h>>1]|256}t=n}do{if(I&8388608){i=po(e,141088)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)n=SF(i,e)|0;else n=0;i=po(e,100188)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){h=G+260|0;f[h>>1]=f[h>>1]|64;i=SF(i,e)|0;h=72}else h=70;if((h|0)==70?n|0:0){i=s3(n)|0;h=72}if((h|0)==72)a[G+244>>2]=i;i=po(e,100199)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){i=SF(i,e)|0;h=78}else h=76;if((h|0)==76?n|0:0){i=s3(n)|0;h=78}if((h|0)==78)a[G+248>>2]=i;i=po(e,100211)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){a[G+252>>2]=SF(i,e)|0;o=G+260|0;f[o>>1]=f[o>>1]|16}else h=82;if((h|0)==82?n|0:0)a[G+252>>2]=s3(n)|0;i=po(e,100222)|0;if(i|0?r[i>>0]|0:0){h=G+260|0;f[h>>1]=f[h>>1]|32;a[G+256>>2]=SF(i,e)|0;break}if(n)a[G+256>>2]=s3(n)|0;else n=0}else n=0}while(0);do{if(I&4194304|0){i=po(e,141101)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)h=94;else h=92;do{if((h|0)==92){i=po(e,100233)|0;if(i|0?r[i>>0]|0:0){h=94;break}i=a[G+192>>2]|0;if(i|0)a[G+228>>2]=s3(i)|0}}while(0);if((h|0)==94){o=QM(i,e)|0;a[G+228>>2]=SF(o,e)|0;L2(o);o=G+260|0;f[o>>1]=f[o>>1]|1}i=po(e,100245)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){o=QM(i,e)|0;a[G+232>>2]=SF(o,e)|0;L2(o);o=G+260|0;f[o>>1]=f[o>>1]|8}else h=100;if((h|0)==100?(d=a[G+192>>2]|0,d|0):0)a[G+232>>2]=s3(d)|0;i=po(e,100258)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){d=QM(i,e)|0;a[G+236>>2]=SF(d,e)|0;L2(d);d=G+260|0;f[d>>1]=f[d>>1]|2}else h=105;if((h|0)==105?(B=a[G+200>>2]|0,B|0):0)a[G+236>>2]=s3(B)|0;i=po(e,100270)|0;if(i|0?r[i>>0]|0:0){B=QM(i,e)|0;a[G+240>>2]=SF(B,e)|0;L2(B);B=G+260|0;f[B>>1]=f[B>>1]|4;break}i=a[G+204>>2]|0;if(i|0)a[G+240>>2]=s3(i)|0}}while(0);L2(t);L2(n);do{if(I&4259840|0?(g=a[(a[v>>2]|0)+8>>2]|0,g|0):0){if(!(a[G+208>>2]|0)){if((I&524288|0)==0|(a[G+228>>2]|0)==0)break}else if(!(I&524288))break;s=+b[(a[A+16>>2]|0)+152>>3]*.5;s=s>2.0?s:2.0;n=a[g+4>>2]|0;i=0;while(1){if((i|0)>=(n|0))break;mM(Z,C,E,(a[g>>2]|0)+(i*48|0)|0,s);i=i+1|0}t=a[E>>2]|0;a[G+276>>2]=t;c=a[C>>2]|0;a[G+280>>2]=c;if(!(I&8192)){i=0;n=0;while(1){if((n|0)>=(t|0))break;i=(a[c+(n<<2)>>2]|0)+i|0;n=n+1|0}Z=a[Z>>2]|0;zi(A,Z,Z,i)|0;i=Z}else i=a[Z>>2]|0;a[G+284>>2]=i;a[G+264>>2]=2;a[G+272>>2]=i;a[G+268>>2]=a[c>>2]}}while(0);ji(A,e);i=a[G+208>>2]|0;if(!((i|0)==0?!(f[G+260>>1]&1):0))Pi(A,i,a[G+228>>2]|0,a[G+244>>2]|0,a[G+212>>2]|0);k=Q;return}function nM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,U=0,x=0;H=k;k=k+240|0;J=H+224|0;V=H+208|0;I=H+128|0;C=H+112|0;R=H+64|0;L=H+48|0;W=H+32|0;y=H+16|0;z=H;Y=H+192|0;D=H+176|0;Z=H+160|0;m=H+144|0;a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;N=+b[(a[A+16>>2]|0)+152>>3];Qf(po(e,100032)|0);F=e+16|0;A:do{if(a[(a[F>>2]|0)+8>>2]|0){X=+oR(e,a[47188]|0,1.0,0.0);c=dR(e,a[47176]|0,195059)|0;E=(i|0)!=0;e:do{if(E){f=i;while(1){l=f;f=f+4|0;l=a[l>>2]|0;if(!l){u=0;break e}if((r[l>>0]|0)!=116)continue;if(!(A1(l,111117)|0)){u=1;break}}}else u=0}while(0);t=c;h=0;l=0;e:while(1){switch(r[t>>0]|0){case 0:break e;case 58:{f=h+1|0;break}case 59:{f=h;l=l+1|0;break}default:f=h}t=t+1|0;h=f}w=(h|0)!=0;if((l|0)!=0&w)if(!(kM(A,e,i,c,h+1|0,X,N)|0))break;else s=137314;else s=c;f=n[(a[F>>2]|0)+115>>0]|0;if(!(f&1))if(!(f&2))if(!(f&8))if(!(f&4)){l=s;t=BR(e,a[47177]|0,s)|0}else{t=106296;f=106288;c=188712;l=188712;o=18}else{t=106280;f=106272;c=188712;l=188712;o=18}else{t=106264;f=106256;c=188712;l=188712;o=18}else{t=106248;f=106240;c=188712;l=188712;o=18}if((o|0)==18){l=a[l>>2]|0;l=BR(e,l,oM(s,f)|0)|0;f=BR(e,a[c>>2]|0,t)|0;if((l|0)==(s|0)){l=s;t=f}else{$i(A,l);t=f}}if((t|0)!=(s|0))er(A,t);if(u<<24>>24){l=(r[l>>0]|0)==0?137314:l;f=(r[t>>0]|0)==0?137314:t;$i(A,137379);er(A,l);g=R;d=a[a[(a[F>>2]|0)+8>>2]>>2]|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));F=pX(R,hM(e)|0,N,0,0)|0;ar(A,a[F+8>>2]|0,a[F>>2]|0,1);dM(F);$i(A,l);if((f|0)!=(l|0))er(A,f);f=a[R+8>>2]|0;if(f|0){M=R+16|0;F=a[R>>2]|0;a[V>>2]=a[M>>2];a[V+4>>2]=a[M+4>>2];a[V+8>>2]=a[M+8>>2];a[V+12>>2]=a[M+12>>2];a[J>>2]=a[F>>2];a[J+4>>2]=a[F+4>>2];a[J+8>>2]=a[F+8>>2];a[J+12>>2]=a[F+12>>2];_C(A,2,V,J,X,N,f)}f=a[R+12>>2]|0;if(!f)break;F=R+32|0;R=(a[R>>2]|0)+((a[R+4>>2]|0)+-1<<4)|0;a[V>>2]=a[F>>2];a[V+4>>2]=a[F+4>>2];a[V+8>>2]=a[F+8>>2];a[V+12>>2]=a[F+12>>2];a[J>>2]=a[R>>2];a[J+4>>2]=a[R+4>>2];a[J+8>>2]=a[R+8>>2];a[J+12>>2]=a[R+12>>2];_C(A,3,V,J,X,N,f);break}f=a[F>>2]|0;if(!w){do{if(!(r[f+115>>0]&3)){if(r[l>>0]|0){$i(A,l);er(A,t);break}$i(A,137314);if(!(r[t>>0]|0)){er(A,137314);break}else{er(A,t);break}}}while(0);c=A+152|0;s=R+4|0;w=R+8|0;u=R+12|0;o=R+32|0;h=R+16|0;t=0;while(1){f=a[(a[F>>2]|0)+8>>2]|0;if((t|0)>=(a[f+4>>2]|0))break A;g=R;d=(a[f>>2]|0)+(t*48|0)|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));f=a[R>>2]|0;l=a[s>>2]|0;do{if(!(a[c>>2]&16384)){lr(A,f,l,0,0,0);f=a[w>>2]|0;if(f|0){M=a[R>>2]|0;a[V>>2]=a[h>>2];a[V+4>>2]=a[h+4>>2];a[V+8>>2]=a[h+8>>2];a[V+12>>2]=a[h+12>>2];a[J>>2]=a[M>>2];a[J+4>>2]=a[M+4>>2];a[J+8>>2]=a[M+8>>2];a[J+12>>2]=a[M+12>>2];_C(A,2,V,J,X,N,f)}f=a[u>>2]|0;if(f|0){M=(a[R>>2]|0)+((a[s>>2]|0)+-1<<4)|0;a[V>>2]=a[o>>2];a[V+4>>2]=a[o+4>>2];a[V+8>>2]=a[o+8>>2];a[V+12>>2]=a[o+12>>2];a[J>>2]=a[M>>2];a[J+4>>2]=a[M+4>>2];a[J+8>>2]=a[M+8>>2];a[J+12>>2]=a[M+12>>2];_C(A,3,V,J,X,N,f)}if((a[(a[(a[F>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(a[w>>2]|0)){if(!(E&(a[u>>2]|0)!=0))break}else if(!E)break;rr(A,i)}}else lr(A,f,l,a[w>>2]|0,a[u>>2]|0,0)}while(0);t=t+1|0}}M=a[(a[f+8>>2]|0)+4>>2]|0;Q=M*48|0;G=m2(Q)|0;Q=m2(Q)|0;v=+(h+2|0)*.5;E=R+4|0;o=L+8|0;h=W+8|0;e=y+8|0;i=z+8|0;u=0;while(1){if((u|0)>=(M|0))break;g=R;d=(a[a[(a[F>>2]|0)+8>>2]>>2]|0)+(u*48|0)|0;B=g+48|0;do{a[g>>2]=a[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(B|0));f=a[E>>2]|0;a[G+(u*48|0)+4>>2]=f;a[Q+(u*48|0)+4>>2]=f;w=f<<4;s=m2(w)|0;a[G+(u*48|0)>>2]=s;w=m2(w)|0;a[Q+(u*48|0)>>2]=w;c=a[R>>2]|0;a[z>>2]=a[c>>2];a[z+4>>2]=a[c+4>>2];a[z+8>>2]=a[c+8>>2];a[z+12>>2]=a[c+12>>2];c=0;while(1){if((c|0)>=(f+-1|0))break;a[L>>2]=a[z>>2];a[L+4>>2]=a[z+4>>2];a[L+8>>2]=a[z+8>>2];a[L+12>>2]=a[z+12>>2];f=c+1|0;t=(a[R>>2]|0)+(f<<4)|0;a[W>>2]=a[t>>2];a[W+4>>2]=a[t+4>>2];a[W+8>>2]=a[t+8>>2];a[W+12>>2]=a[t+12>>2];t=s+(c<<4)|0;if(!c){a[V>>2]=a[L>>2];a[V+4>>2]=a[L+4>>2];a[V+8>>2]=a[L+8>>2];a[V+12>>2]=a[L+12>>2];a[J>>2]=a[W>>2];a[J+4>>2]=a[W+4>>2];a[J+8>>2]=a[W+8>>2];a[J+12>>2]=a[W+12>>2];BM(Y,V,J);a[t>>2]=a[Y>>2];a[t+4>>2]=a[Y+4>>2];a[t+8>>2]=a[Y+8>>2];a[t+12>>2]=a[Y+12>>2]}else{a[V>>2]=a[y>>2];a[V+4>>2]=a[y+4>>2];a[V+8>>2]=a[y+8>>2];a[V+12>>2]=a[y+12>>2];a[J>>2]=a[W>>2];a[J+4>>2]=a[W+4>>2];a[J+8>>2]=a[W+8>>2];a[J+12>>2]=a[W+12>>2];BM(D,V,J);a[t>>2]=a[D>>2];a[t+4>>2]=a[D+4>>2];a[t+8>>2]=a[D+8>>2];a[t+12>>2]=a[D+12>>2]}U=a[R>>2]|0;B=c+2|0;x=U+(B<<4)|0;a[y>>2]=a[x>>2];a[y+4>>2]=a[x+4>>2];a[y+8>>2]=a[x+8>>2];a[y+12>>2]=a[x+12>>2];g=c+3|0;U=U+(g<<4)|0;a[z>>2]=a[U>>2];a[z+4>>2]=a[U+4>>2];a[z+8>>2]=a[U+8>>2];a[z+12>>2]=a[U+12>>2];p=s+(f<<4)|0;d=s+(B<<4)|0;a[C>>2]=a[L>>2];a[C+4>>2]=a[L+4>>2];a[C+8>>2]=a[L+8>>2];a[C+12>>2]=a[L+12>>2];a[I>>2]=a[W>>2];a[I+4>>2]=a[W+4>>2];a[I+8>>2]=a[W+8>>2];a[I+12>>2]=a[W+12>>2];a[V>>2]=a[x>>2];a[V+4>>2]=a[x+4>>2];a[V+8>>2]=a[x+8>>2];a[V+12>>2]=a[x+12>>2];a[J>>2]=a[U>>2];a[J+4>>2]=a[U+4>>2];a[J+8>>2]=a[U+8>>2];a[J+12>>2]=a[U+12>>2];vM(Z,C,I,V,J);a[d>>2]=a[Z>>2];a[d+4>>2]=a[Z+4>>2];a[d+8>>2]=a[Z+8>>2];a[d+12>>2]=a[Z+12>>2];a[p>>2]=a[Z>>2];a[p+4>>2]=a[Z+4>>2];a[p+8>>2]=a[Z+8>>2];a[p+12>>2]=a[Z+12>>2];b[w+(c<<4)>>3]=+b[L>>3]-+b[t>>3]*v;b[w+(c<<4)+8>>3]=+b[o>>3]-+b[s+(c<<4)+8>>3]*v;b[w+(f<<4)>>3]=+b[W>>3]-+b[p>>3]*v;b[w+(f<<4)+8>>3]=+b[h>>3]-+b[s+(f<<4)+8>>3]*v;b[w+(B<<4)>>3]=+b[y>>3]-+b[d>>3]*v;b[w+(B<<4)+8>>3]=+b[e>>3]-+b[s+(B<<4)+8>>3]*v;c=g;f=a[E>>2]|0}x=s+(c<<4)|0;a[V>>2]=a[y>>2];a[V+4>>2]=a[y+4>>2];a[V+8>>2]=a[y+8>>2];a[V+12>>2]=a[y+12>>2];a[J>>2]=a[z>>2];a[J+4>>2]=a[z+4>>2];a[J+8>>2]=a[z+8>>2];a[J+12>>2]=a[z+12>>2];BM(m,V,J);a[x>>2]=a[m>>2];a[x+4>>2]=a[m+4>>2];a[x+8>>2]=a[m+8>>2];a[x+12>>2]=a[m+12>>2];b[w+(c<<4)>>3]=+b[z>>3]-+b[x>>3]*v;b[w+(c<<4)+8>>3]=+b[i>>3]-+b[s+(c<<4)+8>>3]*v;u=u+1|0}B=s3(l)|0;i=0;d=l;f=l;t=l;l=B;while(1){l=t3(l,107984)|0;if(!l)break;e=(r[l>>0]|0)==0?137314:l;if((e|0)!=(t|0))if(!(r[(a[F>>2]|0)+115>>0]&3)){$i(A,e);er(A,e);t=e}else t=e;s=(i|0)==0;w=i>>>0<2;l=0;while(1){if((l|0)>=(M|0))break;u=a[Q+(l*48|0)>>2]|0;o=a[G+(l*48|0)>>2]|0;h=a[Q+(l*48|0)+4>>2]|0;c=0;while(1){if((c|0)>=(h|0))break;x=u+(c<<4)|0;b[x>>3]=+b[x>>3]+ +b[o+(c<<4)>>3];x=u+(c<<4)+8|0;b[x>>3]=+b[x>>3]+ +b[o+(c<<4)+8>>3];c=c+1|0}lr(A,u,h,0,0,0);l=l+1|0}i=i+1|0;d=s?e:d;f=w?e:f;l=0}l=a[R+8>>2]|0;if(!l)l=0;else{if(f){if(!(r[(a[F>>2]|0)+115>>0]&3)){$i(A,f);er(A,f)}}else f=0;U=R+16|0;x=a[R>>2]|0;a[V>>2]=a[U>>2];a[V+4>>2]=a[U+4>>2];a[V+8>>2]=a[U+8>>2];a[V+12>>2]=a[U+12>>2];a[J>>2]=a[x>>2];a[J+4>>2]=a[x+4>>2];a[J+8>>2]=a[x+8>>2];a[J+12>>2]=a[x+12>>2];_C(A,2,V,J,X,N,l);l=f}t=R+12|0;f=a[t>>2]|0;if(f|0){if((l|0)!=(d|0)?(r[(a[F>>2]|0)+115>>0]&3)==0:0){$i(A,d);er(A,d);f=a[t>>2]|0}U=R+32|0;x=(a[R>>2]|0)+((a[E>>2]|0)+-1<<4)|0;a[V>>2]=a[U>>2];a[V+4>>2]=a[U+4>>2];a[V+8>>2]=a[U+8>>2];a[V+12>>2]=a[U+12>>2];a[J>>2]=a[x>>2];a[J+4>>2]=a[x+4>>2];a[J+8>>2]=a[x+8>>2];a[J+12>>2]=a[x+12>>2];_C(A,3,V,J,X,N,f)}L2(B);f=0;while(1){if((f|0)>=(M|0))break;L2(a[G+(f*48|0)>>2]|0);L2(a[Q+(f*48|0)>>2]|0);f=f+1|0}L2(G);L2(Q)}}while(0);k=H;return}function lM(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+64|0;d=I+48|0;g=I+32|0;v=I+16|0;B=I;C=a[A+16>>2]|0;E=a[C+8>>2]|0;h=C+208|0;if(!((a[h>>2]|0)==0?!(f[C+260>>1]&1):0))e=3;A:do{if((e|0)==3?(Oi(A),o=C+276|0,i=a[o>>2]|0,i|0):0){l=C+280|0;e=a[l>>2]|0;t=C+268|0;c=C+284|0;b=C+272|0;s=C+228|0;w=C+244|0;u=C+212|0;r=a[e>>2]|0;n=1;while(1){if((n|0)>=(i|0))break A;a[t>>2]=a[e+(n<<2)>>2];a[b>>2]=(a[c>>2]|0)+(r<<4);Pi(A,a[h>>2]|0,a[s>>2]|0,a[w>>2]|0,a[u>>2]|0);Oi(A);Z=a[l>>2]|0;r=(a[Z+(n<<2)>>2]|0)+r|0;n=n+1|0;i=a[o>>2]|0;e=Z}}}while(0);a[C+268>>2]=0;a[C+272>>2]=0;h=E+16|0;e=a[h>>2]|0;i=a[e+8>>2]|0;if(!i)r=C+260|0;else{o=a[i>>2]|0;e=a[o>>2]|0;Z=a[o+8>>2]|0;u=o+16|0;a[v>>2]=a[u>>2];a[v+4>>2]=a[u+4>>2];a[v+8>>2]=a[u+8>>2];a[v+12>>2]=a[u+12>>2];o=o+32|0;a[B>>2]=a[o>>2];a[B+4>>2]=a[o+4>>2];a[B+8>>2]=a[o+8>>2];a[B+12>>2]=a[o+12>>2];if(!Z){a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];a[g+8>>2]=a[e+8>>2];a[g+12>>2]=a[e+12>>2]}else{a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2]}r=C+260|0;o=f[r>>1]|0;u=a[C+220>>2]|0;a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];tM(A,d,(o<<8&65535)<<16>>16>>15&255,u,(o<<14&65535)<<16>>16>>15&255);o=a[(a[h>>2]|0)+8>>2]|0;u=a[o>>2]|0;o=(a[o+4>>2]|0)+-1|0;e=a[u+(o*48|0)>>2]|0;i=a[u+(o*48|0)+4>>2]|0;Z=a[u+(o*48|0)+12>>2]|0;w=u+(o*48|0)+16|0;a[v>>2]=a[w>>2];a[v+4>>2]=a[w+4>>2];a[v+8>>2]=a[w+8>>2];a[v+12>>2]=a[w+12>>2];v=u+(o*48|0)+32|0;a[B>>2]=a[v>>2];a[B+4>>2]=a[v+4>>2];a[B+8>>2]=a[v+8>>2];a[B+12>>2]=a[v+12>>2];if(!Z){Z=e+(i+-1<<4)|0;a[g>>2]=a[Z>>2];a[g+4>>2]=a[Z+4>>2];a[g+8>>2]=a[Z+8>>2];a[g+12>>2]=a[Z+12>>2]}else{a[g>>2]=a[B>>2];a[g+4>>2]=a[B+4>>2];a[g+8>>2]=a[B+8>>2];a[g+12>>2]=a[B+12>>2]}e=f[r>>1]|0;Z=a[C+224>>2]|0;a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];tM(A,d,(e<<7&65535)<<16>>16>>15&255,Z,(e<<13&65535)<<16>>16>>15&255);e=a[h>>2]|0}i=a[e+96>>2]|0;n=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;s=C+216|0;l=a[s>>2]|0;w=C+232|0;t=a[w>>2]|0;u=C+248|0;c=a[u>>2]|0;o=C+212|0;b=a[o>>2]|0;if(!((gR(dR(E,a[47186]|0,137308)|0)|0)<<24>>24))e=0;else e=a[(a[h>>2]|0)+8>>2]|0;cM(A,i,11,n,l,t,c,b,e);c=a[(a[h>>2]|0)+108>>2]|0;b=(f[r>>1]<<12&65535)<<16>>16>>15<<16>>16;t=a[s>>2]|0;l=a[w>>2]|0;i=a[u>>2]|0;n=a[o>>2]|0;if(!((gR(dR(E,a[47186]|0,137308)|0)|0)<<24>>24))e=0;else e=a[(a[h>>2]|0)+8>>2]|0;cM(A,c,11,b,t,l,i,n,e);cM(A,a[(a[h>>2]|0)+100>>2]|0,7,(f[r>>1]<<13&65535)<<16>>16>>15<<16>>16,a[C+224>>2]|0,a[C+240>>2]|0,a[C+256>>2]|0,a[o>>2]|0,0);cM(A,a[(a[h>>2]|0)+104>>2]|0,6,(f[r>>1]<<14&65535)<<16>>16>>15<<16>>16,a[C+220>>2]|0,a[C+236>>2]|0,a[C+252>>2]|0,a[o>>2]|0,0);Si(A);eI(A);k=I;return}function tM(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var l=0,t=0,c=0;c=k;k=k+16|0;l=c;t=a[A+16>>2]|0;if(!(i<<24>>24))r=a[t+208>>2]|0;if(!(n<<24>>24==0?(r|0)==0?(f[t+260>>1]&1)==0:0:0)){a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];uM(A,l)}k=c;return}function cM(A,e,i,f,n,l,t,c,b){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;var s=0,w=0,u=0,o=0,h=0,d=0;d=k;k=k+16|0;u=d;h=a[A+152>>2]|0;if(e|0?r[e+81>>0]|0:0){if(!c)w=0;else{w=qF((S2(c)|0)+11|0)|0;switch(i|0){case 11:{s=108224;break}case 7:{s=101583;break}case 6:{s=101593;break}default:vA(138394,99906,2730,100044)}a[u>>2]=c;a[u+4>>2]=s;P4(w,100060,u)|0}u=A+16|0;c=(a[u>>2]|0)+12|0;o=a[c>>2]|0;a[c>>2]=i;c=(f|0)!=0|(n|0)!=0;s=(h&4|0)==0;if(c&s){bM(A,e);Pi(A,n,l,t,w)}jF(A,i,e);if(b|0)sM(A,e,b);if(c){if(!s){bM(A,e);Pi(A,n,l,t,w)}Oi(A)}L2(w);a[(a[u>>2]|0)+12>>2]=o}k=d;return}function bM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;l=f>>>16^2;a[i+264>>2]=l;t=i+268|0;a[t>>2]=l+2;l=i+272|0;L2(a[l>>2]|0);i=qF(a[t>>2]<<4)|0;a[l>>2]=i;l=e+56|0;t=e+24|0;b[i>>3]=+b[l>>3]-+b[t>>3]*.5;n=e+64|0;e=e+32|0;b[i+8>>3]=+b[n>>3]-+b[e>>3]*.5;b[i+16>>3]=+b[t>>3]*.5+ +b[l>>3];b[i+24>>3]=+b[e>>3]*.5+ +b[n>>3];if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function sM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+96|0;n=u+80|0;l=u+32|0;t=u+16|0;c=u;f=a[e>>2]|0;while(1){s=r[f>>0]|0;if(!(s<<24>>24))break;if(!(Q1(s&255)|0)){w=4;break}else f=f+1|0}if((w|0)==4){o=+b[e+24>>3];s=e+56|0;wM(l,+b[s>>3]+o*.5,+b[e+64>>3]-+b[e+32>>3]*.5);w=l+16|0;wM(t,+b[l>>3]-o,+b[l+8>>3]);a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];w=l+32|0;a[n>>2]=a[s>>2];a[n+4>>2]=a[s+4>>2];a[n+8>>2]=a[s+8>>2];a[n+12>>2]=a[s+12>>2];DR(c,i,n);a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];rr(A,a[(a[A>>2]|0)+336>>2]|0);$i(A,a[e+8>>2]|0);tr(A,l,3)}k=u;return}function wM(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function uM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0;i=a[A+16>>2]|0;r=a[A+152>>2]|0;if(r&4259840|0){f=r&131072;t=f>>>16^2;a[i+264>>2]=t;c=i+268|0;a[c>>2]=t+2;t=i+272|0;L2(a[t>>2]|0);i=qF(a[c>>2]<<4)|0;a[t>>2]=i;l=+b[e>>3];b[i>>3]=l+-3.0;n=+b[e+8>>3];b[i+8>>3]=n+-3.0;b[i+16>>3]=l+3.0;b[i+24>>3]=n+3.0;if(!(r&8192))zi(A,i,i,2)|0;if(!f)QF(i)}return}function kM(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=+l;var t=0,b=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0;F=k;k=k+256|0;W=F+224|0;L=F+208|0;t=F+192|0;z=F+144|0;Y=F+96|0;D=F+48|0;y=F;b=F+240|0;r=nI(r,f,b)|0;if((r|0)>1){G=e+48|0;Q=Id(a[((a[e>>2]&3|0)==3?e:G)+40>>2]|0)|0;G=Vh(a[((a[e>>2]&3|0)==3?e:G)+40>>2]|0)|0;Q=(Ih(Q)|0)!=0;m=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[t>>2]=G;a[t+4>>2]=Q?100079:100084;a[t+8>>2]=m;ao(3,100089,t)|0;if((r|0)==2)r=1;else M=4}else if((r|0)==1)r=1;else M=4;if((M|0)==4){m=e+16|0;d=a[b>>2]|0;B=d+8|0;v=D+4|0;g=z+8|0;E=z+12|0;C=(i|0)!=0;h=(i|0)==0;I=z+32|0;Z=z+4|0;G=z+16|0;Q=y+4|0;r=0;o=0;while(1){f=a[(a[m>>2]|0)+8>>2]|0;if((o|0)>=(a[f+4>>2]|0))break;t=z;f=(a[f>>2]|0)+(o*48|0)|0;e=t+48|0;do{a[t>>2]=a[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));e=1;s=1.0;u=a[B>>2]|0;A:while(1){f=a[u>>2]|0;if(!f)break;b=u+4|0;w=+c[b>>2];do{if(w<1.0e-05&w>-1.0e-05)f=e;else{$i(A,f);w=+c[b>>2];s=s-w;r=a[u>>2]|0;if(e|0){ZM(z,w,D,y);b=a[D>>2]|0;lr(A,b,a[v>>2]|0,0,0,0);L2(b);if(s<1.0e-05&s>-1.0e-05){M=11;break A}else{f=0;break}}if(s<1.0e-05&s>-1.0e-05){M=13;break A}t=Y;f=y;e=t+48|0;do{a[t>>2]=a[f>>2];t=t+4|0;f=f+4|0}while((t|0)<(e|0));w=+c[b>>2];ZM(Y,w/(s+w),D,y);L2(a[Y>>2]|0);f=a[D>>2]|0;lr(A,f,a[v>>2]|0,0,0,0);L2(f);f=0}}while(0);e=f;u=u+12|0}if((M|0)==11){M=0;L2(a[y>>2]|0)}else if((M|0)==13){M=0;u=a[y>>2]|0;lr(A,u,a[Q>>2]|0,0,0,0);L2(u)}if(a[g>>2]|0){$i(A,a[a[B>>2]>>2]|0);er(A,a[a[B>>2]>>2]|0);b=a[z>>2]|0;u=a[g>>2]|0;a[L>>2]=a[G>>2];a[L+4>>2]=a[G+4>>2];a[L+8>>2]=a[G+8>>2];a[L+12>>2]=a[G+12>>2];a[W>>2]=a[b>>2];a[W+4>>2]=a[b+4>>2];a[W+8>>2]=a[b+8>>2];a[W+12>>2]=a[b+12>>2];_C(A,2,L,W,n,l,u)}if(a[E>>2]|0){$i(A,r);er(A,r);b=(a[z>>2]|0)+((a[Z>>2]|0)+-1<<4)|0;u=a[E>>2]|0;a[L>>2]=a[I>>2];a[L+4>>2]=a[I+4>>2];a[L+8>>2]=a[I+8>>2];a[L+12>>2]=a[I+12>>2];a[W>>2]=a[b>>2];a[W+4>>2]=a[b+4>>2];a[W+8>>2]=a[b+8>>2];a[W+12>>2]=a[b+12>>2];_C(A,3,L,W,n,l,u)}do{if((a[(a[(a[m>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(a[g>>2]|0)){if(!(C&(a[E>>2]|0)!=0))break}else if(h)break;rr(A,i)}}while(0);o=o+1|0}lI(d);r=0}k=F;return r|0}function oM(A,e){A=A|0;e=e|0;var i=0,f=0;i=1;A:while(1){switch(r[A>>0]|0){case 0:break A;case 58:{i=i+1|0;break}default:{}}A=A+1|0}f=U((S2(e)|0)+1|0,i)|0;A=f+10|0;if((a[47121]|0)<(f|0)){a[47121]=A;A=y2(a[47122]|0,A)|0;a[47122]=A}else A=a[47122]|0;$1(A,e)|0;while(1){i=i+-1|0;A=a[47122]|0;if(!i)break;f=A+(S2(A)|0)|0;r[f>>0]=58;r[f+1>>0]=0;u3(A,e)|0}return A|0}function hM(A){A=A|0;var e=0,i=0;e=a[47184]|0;A:do{if(!e)i=7;else{e=Uo(A,e)|0;switch(r[e>>0]|0){case 110:if(!(A1(e,135709)|0)){e=1;break A}else{i=7;break A}case 102:if(!(A1(e,100066)|0)){e=2;break A}else{i=7;break A}case 98:{if(!(A1(e,100074)|0)){e=3;break A}if(!(A1(e,111221)|0)){e=4;break A}else{i=7;break A}}default:{i=7;break A}}}}while(0);if((i|0)==7){e=(Ih(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0)!=0;e=e?2:1}return e|0}function dM(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function BM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;f=+b[e>>3]-+b[i>>3];a=+b[e+8>>3]-+b[i+8>>3];r=2.0/+z(+(f*f+.0001+a*a));b[A>>3]=r*a;b[A+8>>3]=-(f*r);return}function vM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0;n=+b[i>>3]-+b[r>>3];l=+b[i+8>>3]-+b[r+8>>3];a=+z(+(l*l+n*n));if(a<.0001){t=+b[e>>3]-+b[f>>3];a=+b[e+8>>3]-+b[f+8>>3];l=a;n=t;a=+z(+(t*t+.0001+a*a))}t=2.0/a;b[A>>3]=l*t;b[A+8>>3]=-(t*n);return}function gM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(1.0-A/e))}function EM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5)}function CM(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(A/e))}function IM(A,e,i){A=+A;e=+e;i=+i;e=A/e;return+((!(e<=.5)?1.0-e:e)*i)}function ZM(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0,B=0;o=k;k=k+16|0;u=o;w=a[A+4>>2]|0;t=(w+-1|0)/3|0;if((w+-4|0)>>>0<3){a[i+4>>2]=4;a[i>>2]=qF(64)|0;a[r+4>>2]=4;w=qF(64)|0;a[r>>2]=w;mR(u,a[A>>2]|0,3,e,a[i>>2]|0,w)}else{w=qF(t<<3)|0;n=0;l=a[A>>2]|0;f=0.0;while(1){if((n|0)>=(t|0))break;h=+GM(l);b[w+(n<<3)>>3]=h;n=n+1|0;l=l+48|0;f=h+f}e=f*e;s=0;f=0.0;while(1){if((t|0)<=(s|0))break;f=+b[w+(s<<3)>>3]+f;if(f>=e)break;s=s+1|0}c=s*3|0;n=c+4|0;l=i+4|0;a[l>>2]=n;a[i>>2]=qF(n<<4)|0;n=((t-s|0)*3|0)+1|0;t=r+4|0;a[t>>2]=n;a[r>>2]=qF(n<<4)|0;n=0;while(1){if((n|0)>=(a[l>>2]|0))break;d=(a[i>>2]|0)+(n<<4)|0;B=(a[A>>2]|0)+(n<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];n=n+1|0}n=n+-4|0;l=0;while(1){if((l|0)>=(a[t>>2]|0))break;B=(a[r>>2]|0)+(l<<4)|0;d=(a[A>>2]|0)+(n<<4)|0;a[B>>2]=a[d>>2];a[B+4>>2]=a[d+4>>2];a[B+8>>2]=a[d+8>>2];a[B+12>>2]=a[d+12>>2];n=n+1|0;l=l+1|0}h=+b[w+(s<<3)>>3];mR(u,(a[A>>2]|0)+(c<<4)|0,3,(e-f+h)/h,(a[i>>2]|0)+(c<<4)|0,a[r>>2]|0);L2(w)}k=o;return}function GM(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0.0,a=0.0;f=+b[A+16>>3];r=+b[A>>3]-f;a=+b[A+24>>3];e=+b[A+8>>3]-a;r=+z(+(e*e+r*r));e=+b[A+32>>3];f=f-e;i=+b[A+40>>3];a=a-i;r=+z(+(a*a+f*f))+r;e=e-+b[A+48>>3];i=i-+b[A+56>>3];return+(r+ +z(+(i*i+e*e)))}function QM(A,e){A=A|0;e=e|0;e=Zd(e)|0;if((r[(a[e+16>>2]|0)+115>>0]|0)==1)e=EH(A)|0;else e=BH(A,e)|0;return DM(e)|0}function mM(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;h=k;k=k+1664|0;s=h+1600|0;w=h+800|0;u=h;o=$F(24)|0;a[o+16>>2]=1;c=((a[r+4>>2]|0)+-1|0)/3|0;l=0;t=o;while(1){if((l|0)>=(c|0))break;b=l*3|0;n=0;while(1){if((n|0)==4)break;d=s+(n<<4)|0;B=(a[r>>2]|0)+(n+b<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];n=n+1|0}l=l+1|0;t=LM(s,t)|0}n=0;l=0;t=o;while(1){if(!t){l=o;n=o;break}c=a[t+16>>2]|0;b=w+(n<<4)|0;r=u+(n<<4)|0;WM(l,t,c,b,r,f);n=n+1|0;if(!((n|0)==50|(c|0)==0)){l=t;t=c;continue}yM(A,e,i,n,w,u);a[w>>2]=a[b>>2];a[w+4>>2]=a[b+4>>2];a[w+8>>2]=a[b+8>>2];a[w+12>>2]=a[b+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];l=t;n=1;t=c}while(1){if(!l)break;B=a[l+16>>2]|0;L2(n);l=B;n=B}k=h;return}function LM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+144|0;f=n+128|0;i=n+64|0;r=n;if(!(wI(A)|0)){mR(f,A,3,.5,i,r);i=LM(r,LM(i,e)|0)|0}else{i=e+16|0;if((a[i>>2]|0)==1){a[i>>2]=0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2]}i=A+48|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];i=YM(f,e)|0}k=n;return i|0}function WM(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0;d=k;k=k+96|0;w=d+80|0;s=d+64|0;c=d+48|0;u=d+32|0;o=d+16|0;h=d;a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];do{if(A){a[o>>2]=a[A>>2];a[o+4>>2]=a[A+4>>2];a[o+8>>2]=a[A+8>>2];a[o+12>>2]=a[A+12>>2];if(!i){l=+b[u>>3];b[h>>3]=l*2.0-+b[o>>3];t=+b[u+8>>3];b[h+8>>3]=t*2.0-+b[o+8>>3];break}else{a[h>>2]=a[i>>2];a[h+4>>2]=a[i+4>>2];a[h+8>>2]=a[i+8>>2];a[h+12>>2]=a[i+12>>2];l=+b[u>>3];t=+b[u+8>>3];break}}else{a[h>>2]=a[i>>2];a[h+4>>2]=a[i+4>>2];a[h+8>>2]=a[i+8>>2];a[h+12>>2]=a[i+12>>2];l=+b[u>>3];b[o>>3]=l*2.0-+b[h>>3];t=+b[u+8>>3];b[o+8>>3]=t*2.0-+b[h+8>>3]}}while(0);a[c>>2]=a[o>>2];a[c+4>>2]=a[o+4>>2];a[c+8>>2]=a[o+8>>2];a[c+12>>2]=a[o+12>>2];a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[w>>2]=a[h>>2];a[w+4>>2]=a[h+4>>2];a[w+8>>2]=a[h+8>>2];a[w+12>>2]=a[h+12>>2];v=+zM(c,s,w);B=+D(+v)*n;n=+M(+v)*n;b[r>>3]=l+B;b[r+8>>3]=t+n;b[f>>3]=l-B;b[f+8>>3]=t-n;k=d;return}function yM(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0;t=r<<1;c=a[i>>2]|0;l=0;b=0;while(1){if((l|0)>=(c|0))break;s=(a[(a[e>>2]|0)+(l<<2)>>2]|0)+b|0;l=l+1|0;b=s}s=c+1|0;a[i>>2]=s;s=eV(a[e>>2]|0,s<<2)|0;a[e>>2]=s;a[s+(l<<2)>>2]=t;a[A>>2]=eV(a[A>>2]|0,b+t<<4)|0;e=t+-1+b|0;l=0;while(1){if((l|0)>=(r|0))break;s=(a[A>>2]|0)+(l+b<<4)|0;c=f+(l<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];s=(a[A>>2]|0)+(e-l<<4)|0;c=n+(l<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];l=l+1|0}return}function zM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;a=+b[e+8>>3];r=+b[e>>3];f=+X(+(+b[i+8>>3]-a),+(+b[i>>3]-r));r=+X(+(+b[A+8>>3]-a),+(+b[A>>3]-r));f=f-r;return+((f>0.0?f+-6.283185307179586:f)*.5+r)}function YM(A,e){A=A|0;e=e|0;var i=0;i=$F(24)|0;a[i+16>>2]=0;a[i>>2]=a[A>>2];a[i+4>>2]=a[A+4>>2];a[i+8>>2]=a[A+8>>2];a[i+12>>2]=a[A+12>>2];a[e+16>>2]=i;return i|0}function DM(A){A=A|0;var e=0,i=0,f=0,a=0,n=0;e=A;a=A;A:while(1){f=0;while(1){i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A;if(f<<24>>24){n=5;break}if(i<<24>>24!=92)break;else f=1}e:do{if((n|0)==5){n=0;switch(i<<24>>24|0){case 114:{i=13;break e}case 108:case 110:{i=10;break e}default:break e}}}while(0);r[a>>0]=i;a=a+1|0}r[a>>0]=0;return A|0}function MM(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;i=a[A>>2]|0;while(1){n=r[i>>0]|0;if(!(n<<24>>24)){f=0;break}f=n<<24>>24;if(!(n<<24>>24==44|(Q1(f)|0)!=0)){l=5;break}i=i+1|0}A:do{if((l|0)==5){switch(f|0){case 0:{f=0;break A}case 41:case 40:{i=i+1|0;break A}default:{}}l=e+4|0;t=e+8|0;while(1){if((FM(n<<24>>24)|0)<<24>>24){f=1;break A}f=a[l>>2]|0;if(f>>>0>=(a[t>>2]|0)>>>0){bo(e,1)|0;f=a[l>>2]|0}a[l>>2]=f+1;r[f>>0]=n;f=i+1|0;i=f;n=r[f>>0]|0}}}while(0);a[A>>2]=i;return f|0}function FM(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 VM(A,e){A=A|0;e=e|0;return JM(a[A>>2]|0,a[A+160>>2]|0,a[A+156>>2]|0,e)|0}function JM(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+160|0;b=u+20|0;s=u+16|0;w=u;a[b>>2]=0;a[s>>2]=0;co(w,128,u+24|0);wo(w,f)|0;n=w+4|0;f=a[n>>2]|0;if(f>>>0>=(a[w+8>>2]|0)>>>0){bo(w,1)|0;f=a[n>>2]|0}r[f>>0]=0;l=a[w>>2]|0;a[n>>2]=l;t=A+300|0;c=A+296|0;f=0;n=l;A:while(1){if(f){f=1;break}f=b3(n,a[t>>2]|0,b)|0;if(!f){f=0;break}n=b3(f,a[c>>2]|0,s)|0;l=(n|0)!=0;if(l)f=b3(0,a[c>>2]|0,s)|0;else f=0;switch(((f|0)!=0&1)+(l&1)&3){case 2:{n=NM(A,n,0)|0;f=NM(A,f,i)|0;l=(n|0)>(f|0);f=(f&n|0)>-1&(((l?n:f)|0)>=(e|0)&((l?f:n)|0)<=(e|0));n=0;continue A}case 1:{f=(NM(A,n,e)|0)==(e|0);n=0;continue A}default:{f=0;n=0;continue A}}}uo(w);k=u;return f|0}function NM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;l=r[e>>0]|0;if(!(l<<24>>24==97?(A1(e,100396)|0)==0:0))f=3;A:do{if((f|0)==3){if((XM(e)|0)<<24>>24){i=q3(e)|0;break}n=a[A+308>>2]|0;if(!n)i=-1;else{A=a[A+312>>2]|0;i=1;while(1){if((i|0)>(A|0)){i=-1;break A}f=a[n+(i<<2)>>2]|0;if(l<<24>>24==(r[f>>0]|0)?(A1(e,f)|0)==0:0)break A;i=i+1|0}}}}while(0);return i|0}function XM(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=1;break}if(((e&255)+-48|0)>>>0<10)A=A+1|0;else{A=0;break}}return A|0}function RM(A,e){A=A|0;e=e|0;if((+b[A+16>>3]>=+b[e>>3]?+b[e+16>>3]>=+b[A>>3]:0)?+b[A+24>>3]>=+b[e+8>>3]:0)A=+b[e+24>>3]>=+b[A+8>>3]&1;else A=0;return A|0}function HM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;A:do{if((a[A+156>>2]|0)>=2?(f=dR(i,a[47167]|0,195059)|0,(VM(A,f)|0)<<24>>24==0):0)if(!(r[f>>0]|0))if(!(Ah(e,i)|0))f=1;else{f=Ah(e,i)|0;while(1){if(!f){f=0;break A}n=dR(f,a[47190]|0,195059)|0;if(!(r[n>>0]|0)){f=1;break A}if((VM(A,n)|0)<<24>>24){f=1;break A}f=eh(e,f,i)|0}}else f=0;else f=1}while(0);return f|0}function pM(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+64|0;r=i+32|0;f=i;A=(a[A+16>>2]|0)+48|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[f+16>>2]=a[A+16>>2];a[f+20>>2]=a[A+20>>2];a[f+24>>2]=a[A+24>>2];a[f+28>>2]=a[A+28>>2];a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];a[r+16>>2]=a[e+16>>2];a[r+20>>2]=a[e+20>>2];a[r+24>>2]=a[e+24>>2];a[r+28>>2]=a[e+28>>2];e=(RM(f,r)|0)&255;k=i;return e|0}function UM(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0,d=0,B=0,v=0,g=0.0,E=0.0;d=a[A+152>>2]|0;B=AI(A)|0;a[B+4>>2]=2;a[B+8>>2]=e;a[B+12>>2]=8;if(d&16777216|0){if((l[(a[(Id(e)|0)+16>>2]|0)+178>>1]|0)>2){i=+b[(a[(a[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0)}else i=0.0;b[B+168>>3]=i}c=e+16|0;TM(A,a[(a[c>>2]|0)+104>>2]|0,e);do{if(d&4259840|0){if((a[B+208>>2]|0)==0?(f[B+260>>1]&1)==0:0)break;o=sN(e)|0;s=a[c>>2]|0;i=+b[s+16>>3];h=+b[s+24>>3];s=jM(e)|0;A:do{if((o|2|0)==3){u=a[(a[c>>2]|0)+12>>2]|0;if(!((SM(u)|0)<<24>>24))r=0;else r=(a[u+4>>2]|s|0)!=0;if(!((d&524288|0)==0|((u|0)==0|r))){n=u+8|0;k=a[n>>2]|0;k=(k|0)<3?1:k;t=u+4|0;w=a[t>>2]|0;w=(w|0)>1?w:1;o=a[u+44>>2]|0;r=po(e,102705)|0;if(!r)r=0;else r=q3(r)|0;r=(r+-4|0)>>>0>56?20:r;if(!(a[t>>2]|s)){a[B+264>>2]=0;n=qF(32)|0;r=a[c>>2]|0;E=+b[r+88>>3];b[n>>3]=i-E;g=+b[r+80>>3]*.5;b[n+8>>3]=h-g;b[n+16>>3]=E+i;b[n+24>>3]=g+h;r=2;break}n=a[n>>2]|0;if(((n|0)<3?+b[u+32>>3]==0.0:0)?+b[u+24>>3]==0.0:0){n=B+264|0;if(a[u>>2]|0){a[n>>2]=1;n=qF(32)|0;b[n>>3]=i;b[n+8>>3]=h;r=(w<<1)+-1|0;b[n+16>>3]=+b[o+(r<<4)>>3]+i;b[n+24>>3]=+b[o+(r<<4)+8>>3]+h;r=2;break}a[n>>2]=2;n=(w<<1)+-1|0;n=PM(+b[o+(n<<4)>>3],+b[o+(n<<4)+8>>3],r)|0;t=0;while(1){if((t|0)>=(r|0))break A;o=n+(t<<4)|0;b[o>>3]=+b[o>>3]+i;o=n+(t<<4)+8|0;b[o>>3]=+b[o>>3]+h;t=t+1|0}}w=U(n,w+-1|0)|0;a[B+264>>2]=2;if((n|0)<(r|0)){n=qF(k<<4)|0;r=0;while(1){if((r|0)>=(k|0)){r=k;break A}u=r+w|0;b[n+(r<<4)>>3]=+b[o+(u<<4)>>3]+i;b[n+(r<<4)+8>>3]=+b[o+(u<<4)+8>>3]+h;r=r+1|0}}else{s=(n|0)/(r|0)|0;n=qF(r<<4)|0;t=0;c=0;while(1){if((t|0)>=(r|0))break A;k=c+w|0;b[n+(t<<4)>>3]=+b[o+(k<<4)>>3]+i;b[n+(t<<4)+8>>3]=+b[o+(k<<4)+8>>3]+h;t=t+1|0;c=c+s|0}}}else v=31}else v=31}while(0);if((v|0)==31){a[B+264>>2]=0;n=qF(32)|0;r=a[c>>2]|0;b[n>>3]=i-+b[r+88>>3];E=+b[r+80>>3]*.5;b[n+8>>3]=h-E;b[n+16>>3]=+b[r+96>>3]+i;b[n+24>>3]=E+h;r=2}if(!(d&8192))zi(A,n,n,r)|0;a[B+272>>2]=n;a[B+268>>2]=r}}while(0);Qf(po(e,100032)|0);xi(A,e);return}function xM(A){A=A|0;Ti(A);eI(A);return}function TM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+144|0;c=s;f=po(i,141055)|0;t=po(i,141101)|0;b=po(i,141088)|0;co(c,128,s+16|0);if(!e)l=0;else l=a[e>>2]|0;if(!((f|0)!=0?(r[f>>0]|0)!=0:0))f=po(i,111477)|0;n=rI(A,i,c)|0;if(!t)e=0;else e=QM(t,i)|0;iI(A,l,f,e,b,n,i)|0;L2(e);uo(c);k=s;return}function jM(A){A=A|0;var e=0,i=0;A=BR(A,a[47157]|0,195059)|0;A:do{if(!(r[A>>0]|0))A=0;else{HI(A)|0;A=0;e=188228;while(1){i=a[e>>2]|0;if(!i)break A;i=(A1(i,111101)|0)==0;A=i?1:A;e=e+4|0}}}while(0);return A|0}function SM(A){A=A|0;var e=0.0;if(((a[A+8>>2]|0)==4?(e=+b[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+b[A+24>>3]==0.0:0)A=+b[A+32>>3]==0.0&1;else A=0;return A|0}function PM(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0,a=0.0,n=0;a=6.283185307179586/+(i|0);n=qF(i<<4)|0;r=0.0;f=0;while(1){if((f|0)>=(i|0))break;b[n+(f<<4)>>3]=+D(+r)*A;b[n+(f<<4)+8>>3]=+M(+r)*e;r=r+a;f=f+1|0}return n|0}function OM(A,e){A=A|0;e=e|0;var i=0;A:do{if((a[A+156>>2]|0)>=2?(i=dR(e,Yo(e,0,101510,0)|0,195059)|0,(VM(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=cd(e)|0;while(1){if(!i){i=0;break A}if((HM(A,e,i)|0)<<24>>24){i=1;break A}i=bd(e,i)|0}}else i=0;else i=1}while(0);return i|0}function KM(A,e){A=A|0;e=e|0;var i=0;i=AI(A)|0;a[i+4>>2]=1;a[i+8>>2]=e;a[i+12>>2]=1;TM(A,a[(a[e+16>>2]|0)+12>>2]|0,e);Ni(A,e);return}function _M(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;A=po(A,141082)|0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){HI(A)|0;i=188228;A=0;while(1){while(1){f=a[i>>2]|0;if(!f){i=188228;break A}if(!(A1(f,111101)|0)){n=10;break}if(!(A1(f,106334)|0)){f=i;n=12;break}if(!(A1(f,106341)|0)){f=i;n=14;break}if(!(A1(f,106316)|0)){f=i;n=16;break}i=i+4|0}if((n|0)==10){i=i+4|0;A=A|1;continue}else if((n|0)==12){while(1){l=f;f=f+4|0;n=a[f>>2]|0;a[l>>2]=n;if(!n)break;else n=12}A=A|3;continue}else if((n|0)==14){while(1){n=f;f=f+4|0;l=a[f>>2]|0;a[n>>2]=l;if(!l)break;else n=14}A=A|64;continue}else if((n|0)==16){while(1){n=f;f=f+4|0;l=a[f>>2]|0;a[n>>2]=l;if(!l)break;else n=16}A=A|4;continue}}}else{i=0;A=0}}while(0);a[e>>2]=A;return i|0}function qM(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,b=0,s=0;b=k;k=k+16|0;l=b;t=b+4|0;a[t>>2]=0;s=(nI(A,0,t)|0)==0;t=a[t>>2]|0;if((s?(f=a[t>>2]|0,(f|0)>=2):0)?(n=t+8|0,(a[a[n>>2]>>2]|0)!=0):0){if((f|0)>2)ao(0,100415,l)|0;s=$F((S2(A)|0)+1|0)|0;a[e>>2]=s;$1(s,a[a[n>>2]>>2]|0)|0;if(!(a[(a[n>>2]|0)+12>>2]|0))a[e+4>>2]=0;else{s=a[e>>2]|0;s=s+((S2(s)|0)+1)|0;a[e+4>>2]=s;$1(s,a[(a[n>>2]|0)+12>>2]|0)|0}A=a[n>>2]|0;do{if(!(r[A+8>>0]|0))if(!(r[A+20>>0]|0)){c[i>>2]=0.0;break}else{c[i>>2]=1.0-+c[A+16>>2];break}else a[i>>2]=a[A+4>>2]}while(0);lI(t);A=1}else{a[e>>2]=0;lI(t);A=0}k=b;return A|0}function $M(A,e){A=A|0;e=e|0;Xi(A,e);eI(A);return}function AF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,s=0.0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;I=k;k=k+96|0;o=I+48|0;B=I+16|0;C=I+8|0;E=I;v=I+80|0;a[v>>2]=1e3;f=$F(16e3)|0;g=A+256|0;r=1;l=1;n=0;h=0;d=a[e+8>>2]|0;while(1){if((h|0)>=(a[e>>2]|0))break;i=a[d>>2]|0;A:do{switch(i|0){case 1:case 0:{w=d+80|0;a[B>>2]=a[w>>2];a[B+4>>2]=a[w+4>>2];a[B+8>>2]=a[w+8>>2];a[B+12>>2]=a[w+12>>2];a[B+16>>2]=a[w+16>>2];a[B+20>>2]=a[w+20>>2];a[B+24>>2]=a[w+24>>2];a[B+28>>2]=a[w+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{G=d+8|0;Q=d+24|0;b[f>>3]=+b[G>>3]-+b[Q>>3];w=d+16|0;Z=d+32|0;b[f+8>>3]=+b[w>>3]-+b[Z>>3];b[f+16>>3]=+b[Q>>3]+ +b[G>>3];b[f+24>>3]=+b[Z>>3]+ +b[w>>3];fr(A,f,2,(i|0)==0?l:0);i=l}break}case 3:case 2:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;ar(A,f,a[i>>2]|0,(a[d>>2]|0)==2?l:0);i=l}break}case 5:case 4:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;lr(A,f,a[i>>2]|0,0,0,(a[d>>2]|0)==4?l&255:0);i=l}break}case 6:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{i=d+8|0;f=eF(f,v,a[i+4>>2]|0,a[i>>2]|0)|0;tr(A,f,a[i>>2]|0);i=l}break}case 7:{Q=d+80|0;a[B>>2]=a[Q>>2];a[B+4>>2]=a[Q+4>>2];a[B+8>>2]=a[Q+8>>2];a[B+12>>2]=a[Q+12>>2];a[B+16>>2]=a[Q+16>>2];a[B+20>>2]=a[Q+20>>2];a[B+24>>2]=a[Q+24>>2];a[B+28>>2]=a[Q+28>>2];a[o>>2]=a[g>>2];a[o+4>>2]=a[g+4>>2];a[o+8>>2]=a[g+8>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[g+16>>2];a[o+20>>2]=a[g+20>>2];a[o+24>>2]=a[g+24>>2];a[o+28>>2]=a[g+28>>2];if(!(RM(B,o)|0))i=l;else{b[f>>3]=+b[d+8>>3];b[f+8>>3]=+b[d+16>>3];i=a[d+112>>2]|0;a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];qi(A,o,i);i=l}break}case 8:{er(A,a[d+8>>2]|0);i=1;break}case 9:{$i(A,a[d+8>>2]|0);i=1;break}case 13:{if((a[d+8>>2]|0)!=2){i=d+16|0;G=a[i+36>>2]|0;Q=a[G+12>>2]|0;u=+c[G+8>>2];i=~~(+X(+(+b[d+40>>3]-+b[d+24>>3]),+(+b[d+32>>3]-+b[i>>3]))*57.29577951308232);er(A,a[G+4>>2]|0);ir(A,Q,i,u);i=2;break A}Q=a[d+68>>2]|0;l=a[Q+4>>2]|0;w=a[Q+12>>2]|0;u=+c[Q+8>>2];t=+b[d+40>>3];s=+b[d+16>>3];if(t==s?+b[d+48>>3]==+b[d+24>>3]:0)i=0;else i=~~(+V(+((s-t)/+b[d+32>>3]))*57.29577951308232);er(A,l);ir(A,w,i,u);i=3;break}case 14:{ao(0,100481,E)|0;i=l;break}case 12:{if(!r){r=0;i=l}else{ao(0,100521,C)|0;r=0;i=l}break}case 11:{HI(a[d+8>>2]|0)|0;rr(A,188228);n=188228;i=l;break}default:i=l}}while(0);l=i;h=h+1|0;d=d+120|0}if(n|0)rr(A,a[(a[A>>2]|0)+336>>2]|0);L2(f);k=I;return}function eF(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=a[e>>2]|0;f=n<<1;f=(f|0)>(r|0)?f:r;if((n|0)<(r|0)){A=eV(A,f<<4)|0;a[e>>2]=f}e=0;while(1){if((e|0)>=(r|0))break;b[A+(e<<4)>>3]=+b[i+(e*24|0)>>3];b[A+(e<<4)+8>>3]=+b[i+(e*24|0)+8>>3];e=e+1|0}return A|0}function iF(A,e){A=A|0;e=e|0;var i=0;i=a[e>>2]|0;a[A>>2]=a[e+4>>2];a[A+4>>2]=i;return}function rF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=e+16|0;f=1;while(1){e=a[n>>2]|0;if((f|0)>(a[e+180>>2]|0))break;i=a[(a[e+184>>2]|0)+(f<<2)>>2]|0;rF(A,i);e=po(i,140823)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,137729)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,140977)|0;if(e|0?r[e>>0]|0:0)$i(A,e);e=po(i,101418)|0;if(e|0?r[e>>0]|0:0)er(A,e);e=po(i,101446)|0;if(e|0?r[e>>0]|0:0)$i(A,e);f=f+1|0}return}function fF(A){A=A|0;var e=0,i=0,r=0;e=a[47127]|0;if(!e){e=jk(20628,a[4581]|0)|0;a[47127]=e}if(!(W5[a[e>>2]&63](e,A,4)|0)){i=a[47127]|0;r=a[i>>2]|0;e=s3(A)|0;W5[r&63](i,e,1)|0;e=1}else e=0;return e|0}function aF(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function nF(A){A=A|0;var e=0;e=a[47128]|0;if(!A){if((e|0)>0?(e=e+-1|0,a[47128]=e,(e|0)==0):0){D4(1,a[47129]|0)|0;L2(a[47129]|0)}}else{a[47128]=e+1;if(!e){a[47129]=s3(D4(1,0)|0)|0;D4(1,153563)|0}}return}function lF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0;g=k;k=k+96|0;d=g+72|0;h=g+56|0;o=g+48|0;v=g+32|0;B=g+24|0;r=g+8|0;i=g;if(0)tR();do{if((Td(e,137483,0,1)|0)!=0?(u=e+16|0,(a[(a[u>>2]|0)+8>>2]|0)!=0):0){tF(e);cF(A,e);bF(A,e);nF(1);t=A+56|0;c=A+184|0;s=A+192|0;w=A+28|0;l=yg(A)|0;A:while(1){if(!l){n=33;break}i=a[t>>2]|0;if(!i){a[l+20>>2]=0;i=0}else{a[l+20>>2]=a[i+8>>2];i=a[i+12>>2]|0}a[l+24>>2]=i;a[l+12>>2]=A;a[l+28>>2]=a[c>>2];a[l+620>>2]=25764;a[l+624>>2]=14;if(!(a[(a[u>>2]|0)+8>>2]|0)){n=13;break}r=l+52|0;n=mi(l,a[r>>2]|0)|0;a[l+56>>2]=n;switch(n|0){case 999:{n=16;break A}case 21:{i=1;break}case 24:{i=520;break}default:i=sF(e)|0}f=l+152|0;a[f>>2]=a[f>>2]|i;i=a[s>>2]|0;do{if(!i)n=24;else{if(a[i+152>>2]&32|0?(A1(a[r>>2]|0,a[i+52>>2]|0)|0)==0:0){i=a[47130]|0;if(!i){n=27;break}a[i+8>>2]=l;a[l+36>>2]=a[i+36>>2];n=29;break}Wi(i);a[s>>2]=0;a[w>>2]=0;n=24}}while(0);if((n|0)==24){a[47130]=0;n=27}if((n|0)==27?(n=0,(Li(l)|0)==0):0){a[s>>2]=l;n=29}if((n|0)==29){a[l+8>>2]=0;a[l+104>>2]=25876;wF(l);uF(l);kF(l,e);oF(l,e);hF(l,e);if(!(a[f>>2]&128))BI(l,e);a[47130]=l}l=zg(A)|0}if((n|0)==13){ao(1,100679,B)|0;nF(0);if(!0){i=-1;break}i=a[15712]|0;B=Vh(e)|0;E=+cR();a[v>>2]=B;b[v+8>>3]=E;f3(i,100650,v)|0;i=-1;break}else if((n|0)==16){a[o>>2]=a[r>>2];ao(1,100700,o)|0;nF(0);if(!0){i=-1;break}i=a[15712]|0;v=Vh(e)|0;E=+cR();a[h>>2]=v;b[h+8>>3]=E;f3(i,100650,h)|0;i=-1;break}else if((n|0)==33){nF(0);if(!0){i=0;break}i=a[15712]|0;v=Vh(e)|0;E=+cR();a[d>>2]=v;b[d+8>>3]=E;f3(i,100650,d)|0;i=0;break}}else n=5}while(0);if((n|0)==5){ao(1,100602,i)|0;if(!0)i=-1;else{i=a[15712]|0;v=Vh(e)|0;E=+cR();a[r>>2]=v;b[r+8>>3]=E;f3(i,100650,r)|0;i=-1}}k=g;return i|0}function tF(A){A=A|0;var e=0;e=cd(A)|0;while(1){if(!e)break;EF(A,e);e=bd(A,e)|0}return}function cF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;u=k;k=k+32|0;c=u+24|0;f=u+16|0;t=u+8|0;w=u;a[A+168>>2]=e;n=A+293|0;r[n>>0]=0;i=po(e,105496)|0;if(i|0?(a[f>>2]=t,a[f+4>>2]=w,l=J3(i,105503,f)|0,(l|0)>0):0){o=+b[t>>3]*72.0;i=A+208|0;b[i>>3]=o;b[A+200>>3]=o;if((l|0)!=1)b[i>>3]=+b[w>>3]*72.0;r[n>>0]=1}f=A+292|0;r[f>>0]=0;i=po(e,101102)|0;if(i|0?(a[c>>2]=t,a[c+4>>2]=w,s=J3(i,105503,c)|0,(s|0)>0):0){o=+b[t>>3]*72.0;i=A+224|0;b[i>>3]=o;b[A+216>>3]=o;if((s|0)!=1)b[i>>3]=+b[w>>3]*72.0;r[f>>0]=1}i=A+294|0;r[i>>0]=0;f=A+232|0;n=e+16|0;w=(a[(a[n>>2]|0)+8>>2]|0)+48|0;a[f>>2]=a[w>>2];a[f+4>>2]=a[w+4>>2];a[f+8>>2]=a[w+8>>2];a[f+12>>2]=a[w+12>>2];f=a[(a[n>>2]|0)+8>>2]|0;if(+b[f+48>>3]>.001?+b[f+56>>3]>.001:0)r[i>>0]=1;a[A+288>>2]=r[f+81>>0]|0?90:0;i=A+196|0;a[i>>2]=101106;f=po(e,101109)|0;if(f|0?r[f>>0]|0:0)a[i>>2]=f;w=A+256|0;s=(a[n>>2]|0)+16|0;a[w>>2]=a[s>>2];a[w+4>>2]=a[s+4>>2];a[w+8>>2]=a[s+8>>2];a[w+12>>2]=a[s+12>>2];a[w+16>>2]=a[s+16>>2];a[w+20>>2]=a[s+20>>2];a[w+24>>2]=a[s+24>>2];a[w+28>>2]=a[s+28>>2];a[47141]=Yo(e,0,101472,0)|0;a[47142]=Yo(e,0,101463,0)|0;a[A+320>>2]=BR(0,a[47151]|0,107994)|0;b[A+328>>3]=+oR(0,a[47150]|0,14.0,1.0);a[A+336>>2]=20664;a[A+188>>2]=Vh(e)|0;k=u;return}function bF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=A+304|0;f=a[i>>2]|0;if(f|0){L2(f);a[i>>2]=0}f=A+308|0;i=a[f>>2]|0;if(i|0){L2(i);a[f>>2]=0}n=A+316|0;i=a[n>>2]|0;if(i|0){L2(i);a[n>>2]=0}i=po(e,100853)|0;if(i){a[A+312>>2]=vF(A,e,i)|0;i=po(e,100860)|0;if(i|0?r[i>>0]|0:0)a[n>>2]=gF(A,i)|0}else{a[f>>2]=0;a[A+312>>2]=1}return}function sF(A){A=A|0;A=po(A,100821)|0;A:do{if(!A)A=0;else switch(r[A>>0]|0){case 110:{if(!(A1(A+1|0,100833)|0))A=1;else{A=0;break A}break}case 101:{if(!(A1(A+1|0,100843)|0))A=16;else{A=0;break A}break}default:{A=0;break A}}}while(0);return A|0}function wF(A){A=A|0;var e=0.0,i=0;i=a[A>>2]|0;if(!(r[i+292>>0]|0)){if((a[A+56>>2]|0)==300)e=+b[(a[A+68>>2]|0)+8>>3];else e=4.0;b[A+248>>3]=e;b[A+240>>3]=e}else{A=A+240|0;i=i+216|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2]}return}function uF(A){A=A|0;var e=0;e=a[A>>2]|0;A:do{if(!(r[e+293>>0]|0))switch(a[A+56>>2]|0){case 300:{e=A+416|0;A=(a[A+84>>2]|0)+8|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];break A}case 30:case 21:case 22:case 4:case 3:case 2:{b[A+424>>3]=36.0;b[A+416>>3]=36.0;break A}default:{e=A+416|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;break A}}else{A=A+416|0;e=e+200|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}}while(0);return}function kF(A,e){A=A|0;e=e|0;var i=0.0,f=0;f=a[(a[A>>2]|0)+192>>2]|0;i=+b[(a[(a[e+16>>2]|0)+8>>2]|0)+24>>3];do{if(!(i!=0.0)){if(f|0?r[f+128>>0]|0:0){A=A+432|0;f=f+112|0;a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];break}e=A+432|0;if((a[A+56>>2]|0)==300){A=(a[A+84>>2]|0)+40|0;a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];break}else{b[A+440>>3]=96.0;b[e>>3]=96.0;break}}else{b[A+440>>3]=i;b[A+432>>3]=i}}while(0);return}function oF(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;Q=k;k=k+112|0;v=Q+80|0;g=Q+56|0;B=Q+40|0;E=Q+32|0;C=Q+24|0;I=Q+16|0;Z=Q+8|0;G=Q;s=a[A>>2]|0;u=+b[s+272>>3];h=+b[s+280>>3];o=+b[s+256>>3];d=+b[s+264>>3];f=+b[A+240>>3];i=o-f;b[A+208>>3]=i;l=+b[A+248>>3];t=d-l;b[A+216>>3]=t;f=f+u;b[A+224>>3]=f;l=l+h;b[A+232>>3]=l;i=f-i;t=l-t;b[I>>3]=1.0;n=a[(a[e+16>>2]|0)+8>>2]|0;l=+b[n+64>>3];do{if(l>.001?(c=+b[n+72>>3],c>.001):0){i=i==0.0?l:i;f=t==0.0?c:t;if(!(lf&(l>i&(r[n+80>>0]|0)!=0)):0){c=i;t=f;l=1.0;break}w=l/i>3]=l;c=i;t=f}else{c=i;l=1.0}}while(0);f=(o+u)*.5;b[Z>>3]=f;i=(d+h)*.5;b[G>>3]=i;a[A+360>>2]=a[s+288>>2];c=l*c;b[E>>3]=c;t=l*t;b[C>>3]=t;n=po(e,100752)|0;if(n){s=m2((S2(n)|0)+1|0)|0;w=m2((S2(n)|0)+1|0)|0;a[B>>2]=E;a[B+4>>2]=C;a[B+8>>2]=I;a[B+12>>2]=s;do{if((J3(n,100761,B)|0)==4){n=vd(a[e+60>>2]|0,s,0)|0;if(n|0){g=a[n+16>>2]|0;b[Z>>3]=+b[g+16>>3];b[G>>3]=+b[g+24>>3]}}else{a[g>>2]=E;a[g+4>>2]=C;a[g+8>>2]=I;a[g+12>>2]=s;a[g+16>>2]=w;if((J3(n,100781,g)|0)!=4){a[v>>2]=E;a[v+4>>2]=C;a[v+8>>2]=I;a[v+12>>2]=Z;a[v+16>>2]=G;J3(n,100801,v)|0;break}n=vd(a[e+60>>2]|0,s,0)|0;if(n|0){g=a[n+16>>2]|0;b[Z>>3]=+b[g+16>>3];b[G>>3]=+b[g+24>>3]}}}while(0);L2(s);L2(w);c=+b[E>>3];t=+b[C>>3];l=+b[I>>3];f=+b[Z>>3];i=+b[G>>3]}b[A+368>>3]=c;b[A+376>>3]=t;b[A+352>>3]=l;b[A+336>>3]=f;b[A+344>>3]=i;k=Q;return}function hF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0,R=0.0,H=0.0;N=k;k=k+224|0;F=N+200|0;G=N+168|0;y=N+144|0;M=N+120|0;z=N+96|0;Y=N+64|0;i=N+184|0;E=N+176|0;C=N+160|0;Z=N+136|0;I=N+112|0;Q=N+80|0;m=N+48|0;L=N+32|0;W=N+16|0;V=N+8|0;J=N;g=a[A>>2]|0;a[Y>>2]=0;a[Y+4>>2]=0;a[Y+8>>2]=0;a[Y+12>>2]=0;D=A+368|0;a[M>>2]=a[D>>2];a[M+4>>2]=a[D+4>>2];a[M+8>>2]=a[D+8>>2];a[M+12>>2]=a[D+12>>2];D=A+360|0;if(a[D>>2]|0){a[F>>2]=a[M>>2];a[F+4>>2]=a[M+4>>2];a[F+8>>2]=a[M+8>>2];a[F+12>>2]=a[M+12>>2];dF(i,F);a[M>>2]=a[i>>2];a[M+4>>2]=a[i+4>>2];a[M+8>>2]=a[i+8>>2];a[M+12>>2]=a[i+12>>2]}v=A+416|0;a[z>>2]=a[v>>2];a[z+4>>2]=a[v+4>>2];a[z+8>>2]=a[v+8>>2];a[z+12>>2]=a[v+12>>2];if((r[g+294>>0]|0)!=0?(a[A+152>>2]&32|0)!=0:0){l=+b[g+232>>3]-+b[z>>3]*2.0;b[y>>3]=l;c=+b[g+240>>3]-+b[z+8>>3]*2.0;o=y+8|0;b[o>>3]=c;if(!(l<.0001)){u=+b[M>>3];i=~~(u/l);f=A+164|0;a[f>>2]=i;if(u-l*+(i|0)>.0001){i=i+1|0;a[f>>2]=i}}else{a[A+164>>2]=1;i=1}if(!(c<.0001)){n=+b[M+8>>3];f=~~(n/c);t=A+168|0;a[t>>2]=f;if(n-c*+(f|0)>.0001){f=f+1|0;a[t>>2]=f}}else{a[A+168>>2]=1;f=1;n=+b[M+8>>3]}a[A+204>>2]=U(f,i)|0;u=+b[(+b[M>>3]>3];b[M>>3]=u;i=o;f=M;s=+b[(n>3];n=u;t=21}else{if(a[A+68>>2]|0){i=a[A+84>>2]|0;l=+b[i+24>>3]-+b[z>>3]*2.0;l=l<0.0?0.0:l;b[y>>3]=l;u=+b[i+32>>3]-+b[z+8>>3]*2.0;i=y+8|0;b[i>>3]=u;if(u<0.0){f=y;t=17}else i=y}else{b[y+8>>3]=0.0;f=y;i=y;t=17}if((t|0)==17){b[i>>3]=0.0;i=f;l=+b[f>>3]}a[A+204>>2]=1;a[A+168>>2]=1;a[A+164>>2]=1;n=+b[M>>3];if(l>3]=n;l=n}i=y+8|0;c=+b[i>>3];s=+b[M+8>>3];if(c>3]=s;d=i;s=+b[i>>3]}w=+b[z>>3];B=A+432|0;c=+b[B>>3]*.013888888888888888*(w*2.0+l);a[A+448>>2]=~~(c+(c>=0.0?.5:-.5));h=z+8|0;c=+b[h>>3];v=A+440|0;u=+b[v>>3]*.013888888888888888*(c*2.0+s);a[A+452>>2]=~~(u+(u>=0.0?.5:-.5));t=A+188|0;o=A+180|0;i=A+172|0;f=g+196|0;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[i+16>>2]=0;a[i+20>>2]=0;BF(E,A,r[a[f>>2]>>0]|0);g=E;E=a[g+4>>2]|0;i=o;a[i>>2]=a[g>>2];a[i+4>>2]=E;BF(C,A,r[(a[f>>2]|0)+1>>0]|0);i=C;C=a[i>>2]|0;i=a[i+4>>2]|0;E=t;a[E>>2]=C;a[E+4>>2]=i;C=(a[o>>2]|0)+C|0;if(!((((C|0)>-1?C:0-C|0)|0)==1?(C=(a[A+184>>2]|0)+i|0,(((C|0)>-1?C:0-C|0)|0)==1):0)){BF(Z,A,66);E=Z;Z=a[E+4>>2]|0;C=o;a[C>>2]=a[E>>2];a[C+4>>2]=Z;BF(I,A,76);C=I;I=a[C+4>>2]|0;Z=t;a[Z>>2]=a[C>>2];a[Z+4>>2]=I;a[G>>2]=a[f>>2];ao(0,100732,G)|0}if(r[(a[(a[e+16>>2]|0)+8>>2]|0)+82>>0]|0){if(l>n){s=(l-n)*.5;b[Y>>3]=s}else s=0.0;l=+b[d>>3];u=+b[M+8>>3];if(l>u){l=(l-u)*.5;b[Y+8>>3]=l}else l=0.0}else{l=0.0;s=0.0}if(!(a[D>>2]|0))t=1;else{a[F>>2]=a[M>>2];a[F+4>>2]=a[M+4>>2];a[F+8>>2]=a[M+8>>2];a[F+12>>2]=a[M+12>>2];dF(Q,F);a[M>>2]=a[Q>>2];a[M+4>>2]=a[Q+4>>2];a[M+8>>2]=a[Q+8>>2];a[M+12>>2]=a[Q+12>>2];a[F>>2]=a[y>>2];a[F+4>>2]=a[y+4>>2];a[F+8>>2]=a[y+8>>2];a[F+12>>2]=a[y+12>>2];dF(m,F);a[y>>2]=a[m>>2];a[y+4>>2]=a[m+4>>2];a[y+8>>2]=a[m+8>>2];a[y+12>>2]=a[m+12>>2];a[F>>2]=a[z>>2];a[F+4>>2]=a[z+4>>2];a[F+8>>2]=a[z+8>>2];a[F+12>>2]=a[z+12>>2];dF(L,F);a[z>>2]=a[L>>2];a[z+4>>2]=a[L+4>>2];a[z+8>>2]=a[L+8>>2];a[z+12>>2]=a[L+12>>2];a[F>>2]=a[Y>>2];a[F+4>>2]=a[Y+4>>2];a[F+8>>2]=a[Y+8>>2];a[F+12>>2]=a[Y+12>>2];dF(W,F);a[Y>>2]=a[W>>2];a[Y+4>>2]=a[W+4>>2];a[Y+8>>2]=a[W+8>>2];a[Y+12>>2]=a[W+12>>2];w=+b[z>>3];s=+b[Y>>3];c=+b[h>>3];l=+b[Y+8>>3];n=+b[M>>3];t=(a[D>>2]|0)==0}u=s+w;b[A+384>>3]=u;R=l+c;b[A+392>>3]=R;X=s+w+n;b[A+400>>3]=X;H=+b[M+8>>3];w=l+c+H;b[A+408>>3]=w;s=+b[A+352>>3];b[A+320>>3]=n/s;b[A+328>>3]=H/s;s=+b[B>>3];u=u*.013888888888888888*s;f=A+456|0;a[f>>2]=~~(u+(u>=0.0?.5:-.5));u=+b[v>>3];c=R*.013888888888888888*u;a[A+460>>2]=~~(c+(c>=0.0?.5:-.5));s=X*.013888888888888888*s;i=A+464|0;a[i>>2]=~~(s+(s>=0.0?.5:-.5));u=w*.013888888888888888*u;a[A+468>>2]=~~(u+(u>=0.0?.5:-.5));if(!t){a[F>>2]=a[f>>2];a[F+4>>2]=a[f+4>>2];iF(V,F);M=V;V=a[M+4>>2]|0;A=f;a[A>>2]=a[M>>2];a[A+4>>2]=V;a[F>>2]=a[i>>2];a[F+4>>2]=a[i+4>>2];iF(J,F);A=J;V=a[A+4>>2]|0;J=i;a[J>>2]=a[A>>2];a[J+4>>2]=V}k=N;return}function dF(A,e){A=A|0;e=e|0;var i=0.0;i=+b[e>>3];b[A>>3]=+b[e+8>>3];b[A+8>>3]=i;return}function BF(A,e,i){A=A|0;e=e|0;i=i|0;i=(i<<24>>24)+-66|0;switch(i>>>1|i<<31|0){case 9:{a[e+176>>2]=(a[e+168>>2]|0)+-1;e=0;i=-1;break}case 0:{e=0;i=1;break}case 5:{e=1;i=0;break}case 8:{a[e+172>>2]=(a[e+164>>2]|0)+-1;e=-1;i=0;break}default:{e=0;i=0}}a[A>>2]=e;a[A+4>>2]=i;return}function vF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+16|0;n=c;f=po(e,100973)|0;t=A+296|0;a[t>>2]=(f|0)==0?100982:f;e=po(e,100986)|0;f=A+300|0;e=(e|0)==0?100999:e;a[f>>2]=e;e=k3(a[t>>2]|0,e)|0;if(e|0){a[n>>2]=r[e>>0];ao(0,101001,n)|0;a[f>>2]=195059}e=s3(i)|0;a[A+304>>2]=e;l=A+308|0;f=0;A=0;while(1){i=t3(e,a[t>>2]|0)|0;if(!i)break;n=A+1|0;if((A|0)<(f|0))e=a[l>>2]|0;else{f=f+128|0;e=a[l>>2]|0;if(!e)e=$F(f<<2)|0;else e=eV(e,f<<2)|0;a[l>>2]=e}a[e+(n<<2)>>2]=i;A=n;e=0}if(A|0){t=eV(a[l>>2]|0,(A<<2)+8|0)|0;a[l>>2]=t;a[t>>2]=0;a[(a[l>>2]|0)+(A+1<<2)>>2]=0}k=c;return A|0}function gF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b;t=A+312|0;i=$F((a[t>>2]<<2)+8|0)|0;r=0;l=1;while(1){n=a[t>>2]|0;if((l|0)>(n|0))break;f=r+1|0;if((JM(A,l,n,e)|0)<<24>>24){a[i+(f<<2)>>2]=l;r=f}l=l+1|0}if(!r){a[c>>2]=e;ao(0,100872,c)|0;L2(i);i=0}else{a[i>>2]=r;a[i+(r+1<<2)>>2]=(a[t>>2]|0)+1}k=b;return i|0}function EF(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0;i=a[e+16>>2]|0;n=+b[i+16>>3];b[i+48>>3]=n-+b[i+88>>3];r=+b[i+24>>3];f=+b[i+80>>3]*.5;b[i+56>>3]=r-f;b[i+64>>3]=+b[i+96>>3]+n;b[i+72>>3]=f+r;e=Oo(A,e)|0;while(1){if(!e)break;CF(e);e=_o(A,e)|0}return}function CF(A){A=A|0;A=a[(a[A+16>>2]|0)+8>>2]|0;if(A|0)IF(A);return}function IF(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;L=k;k=k+240|0;E=L+192|0;g=L+176|0;C=L+64|0;I=L+32|0;Z=L;G=L+144|0;Q=L+112|0;m=A+4|0;if((a[m>>2]|0)<=0)vA(101140,99906,3994,101154);e=a[A>>2]|0;i=C;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=E;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));ZF(I,E);l=I+8|0;t=Z+8|0;c=I+16|0;s=Z+16|0;w=I+24|0;u=Z+24|0;o=C+8|0;h=C+12|0;d=C+32|0;B=C+4|0;v=C+16|0;n=0;while(1){if((n|0)>=(a[m>>2]|0))break;if((n|0)>0){e=(a[A>>2]|0)+(n*48|0)|0;i=C;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));i=E;r=e;f=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(f|0));ZF(Z,E);b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}e=a[o>>2]|0;if(e|0){f=a[C>>2]|0;a[g>>2]=a[v>>2];a[g+4>>2]=a[v+4>>2];a[g+8>>2]=a[v+8>>2];a[g+12>>2]=a[v+12>>2];a[E>>2]=a[f>>2];a[E+4>>2]=a[f+4>>2];a[E+8>>2]=a[f+8>>2];a[E+12>>2]=a[f+12>>2];KC(G,g,E,1.0,e);a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[Z+16>>2]=a[G+16>>2];a[Z+20>>2]=a[G+20>>2];a[Z+24>>2]=a[G+24>>2];a[Z+28>>2]=a[G+28>>2];b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}e=a[h>>2]|0;if(e|0){f=(a[C>>2]|0)+((a[B>>2]|0)+-1<<4)|0;a[g>>2]=a[d>>2];a[g+4>>2]=a[d+4>>2];a[g+8>>2]=a[d+8>>2];a[g+12>>2]=a[d+12>>2];a[E>>2]=a[f>>2];a[E+4>>2]=a[f+4>>2];a[E+8>>2]=a[f+8>>2];a[E+12>>2]=a[f+12>>2];KC(Q,g,E,1.0,e);a[Z>>2]=a[Q>>2];a[Z+4>>2]=a[Q+4>>2];a[Z+8>>2]=a[Q+8>>2];a[Z+12>>2]=a[Q+12>>2];a[Z+16>>2]=a[Q+16>>2];a[Z+20>>2]=a[Q+20>>2];a[Z+24>>2]=a[Q+24>>2];a[Z+28>>2]=a[Q+28>>2];b[I>>3]=+b[(+b[I>>3]<+b[Z>>3]?I:Z)>>3];b[l>>3]=+b[(+b[l>>3]<+b[t>>3]?I:Z)+8>>3];b[c>>3]=+b[(+b[c>>3]>+b[s>>3]?I:Z)+16>>3];b[w>>3]=+b[(+b[w>>3]>+b[u>>3]?I:Z)+24>>3]}n=n+1|0}m=A+8|0;a[m>>2]=a[I>>2];a[m+4>>2]=a[I+4>>2];a[m+8>>2]=a[I+8>>2];a[m+12>>2]=a[I+12>>2];a[m+16>>2]=a[I+16>>2];a[m+20>>2]=a[I+20>>2];a[m+24>>2]=a[I+24>>2];a[m+28>>2]=a[I+28>>2];k=L;return}function ZF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0.0,d=0.0,B=0.0,v=0;w=k;k=k+48|0;l=w+32|0;t=w;c=a[e+4>>2]|0;if((c|0)<=0)vA(101170,99906,3968,101182);if(((c>>>0)%3|0|0)!=1)vA(101192,99906,3969,101182);s=t+16|0;i=a[e>>2]|0;a[s>>2]=a[i>>2];a[s+4>>2]=a[i+4>>2];a[s+8>>2]=a[i+8>>2];a[s+12>>2]=a[i+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];r=l+8|0;f=t+8|0;n=t+24|0;e=1;while(1){if((e|0)>=(c|0))break;o=+b[i+(e<<4)+8>>3];v=e+1|0;u=+b[i+(v<<4)+8>>3];d=(+b[i+(v<<4)>>3]+ +b[i+(e<<4)>>3])*.5;b[l>>3]=d;o=(u+o)*.5;b[r>>3]=o;u=+b[(+b[t>>3]>3];b[t>>3]=u;B=+b[(+b[f>>3]>3];b[f>>3]=B;d=+b[(+b[s>>3]>d?s:l)>>3];b[s>>3]=d;o=+b[(+b[n>>3]>o?s:l)+8>>3];b[n>>3]=o;v=i+(e+2<<4)|0;a[l>>2]=a[v>>2];a[l+4>>2]=a[v+4>>2];a[l+8>>2]=a[v+8>>2];a[l+12>>2]=a[v+12>>2];h=+b[l>>3];b[t>>3]=+b[(u>3];u=+b[r>>3];b[f>>3]=+b[(B>3];b[s>>3]=+b[(d>h?s:l)>>3];b[n>>3]=+b[(o>u?s:l)+8>>3];e=e+3|0}a[A>>2]=a[t>>2];a[A+4>>2]=a[t+4>>2];a[A+8>>2]=a[t+8>>2];a[A+12>>2]=a[t+12>>2];a[A+16>>2]=a[t+16>>2];a[A+20>>2]=a[t+20>>2];a[A+24>>2]=a[t+24>>2];a[A+28>>2]=a[t+28>>2];k=w;return}function GF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,a=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0.0;h=+b[A>>3];d=+b[i>>3];c=!(h>=d);if((!c?h<=+b[i+16>>3]:0)?(f=+b[A+8>>3],f>=+b[i+8>>3]):0)l=f<=+b[i+24>>3];else l=0;f=+b[e>>3];if((f>=d?f<=+b[i+16>>3]:0)?(a=+b[e+8>>3],a>=+b[i+8>>3]):0){r=a<=+b[i+24>>3];if(!(l^r))if(l&r)r=1;else s=11;else r=0}else if(l)r=0;else s=11;A:do{if((s|0)==11){o=+b[A+8>>3];do{if(h==f){d=+b[i+8>>3];if(!(c|o>=d^+b[e+8>>3]>=d^1)?h<=+b[i+16>>3]:0){r=0;break A}}else{t=+b[e+8>>3];if(o==t){if(!(h>=d^f>=d))break;if(!(o>=+b[i+8>>3]))break;if(!(o<=+b[i+24>>3]))break;else{r=0;break A}}k=(t-o)/(f-h);s=h>3];if(!(!(d>=n)|!(d<=f)|!(a>=w))?a<=+b[i+24>>3]:0){r=0;break A}u=+b[i+16>>3];a=(u-d)*k+a;if(a>=w?!(!(u<=f)|(u>=n?!(a<=+b[i+24>>3]):1)):0){r=0;break A}s=o=d?!(!(w<=a)|(!(w>=n)|!(f<=u))):0){r=0;break A}o=+b[i+24>>3];h=(o-w)/k+f;if(h>=d?!(!(o<=a)|(!(o>=n)|!(h<=u))):0){r=0;break A}}}while(0);r=-1}}while(0);return r|0}function QF(A){A=A|0;var e=0,i=0.0;e=A+16|0;i=+b[e>>3];b[A+32>>3]=i;b[A+48>>3]=i;b[A+40>>3]=+b[A+24>>3];b[A+56>>3]=+b[A+8>>3];b[e>>3]=+b[A>>3];return}function mF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0;if((a[47131]|0)!=(i|0)){E1(+(i|0)*.15915494309189535,186328,186336);a[47131]=i}n=+b[e>>3];r=+b[23292];f=+b[e+8>>3];l=+b[23291];b[A>>3]=r*n-l*f;b[A+8>>3]=l*n+f*r;return}function LF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;r=+b[e>>3];l=e+8|0;n=+b[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{b[e>>3]=n;r=-r;t=10;break}case 180:{r=-n;t=10;break}case 270:{b[e>>3]=n;t=10;break}default:{if((i|0)<0){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(A,f,0-i|0);break A}if((i|0)>360){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];LF(A,f,(i>>>0)%360|0);break A}else{a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];mF(A,f,i);break A}}}}while(0);if((t|0)==10){b[l>>3]=r;t=11}if((t|0)==11){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}k=c;return}function WF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;r=+b[e>>3];l=e+8|0;n=+b[l>>3];A:do{switch(i|0){case 0:{t=11;break}case 90:{b[e>>3]=-n;t=10;break}case 180:{r=-n;t=10;break}case 270:{b[e>>3]=n;t=10;break}default:{if((i|0)<0){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];LF(A,f,0-i|0);break A}if((i|0)>360){a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(A,f,(i>>>0)%360|0);break A}else{a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];mF(A,f,360-i|0);break A}}}}while(0);if((t|0)==10){b[l>>3]=r;t=11}if((t|0)==11){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2]}k=c;return}function yF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;n=+b[i>>3];r=+b[i+8>>3];a=r+ +b[e>>3];f=n+ +b[e+24>>3];r=r+ +b[e+16>>3];b[A>>3]=n+ +b[e+8>>3];b[A+8>>3]=a;b[A+16>>3]=f;b[A+24>>3]=r;return}function zF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0;a=+b[A>>3];r=+b[e>>3]-a;n=+b[A+8>>3];f=+b[e+8>>3]-n;a=(+b[i+8>>3]-n)*r-(+b[i>>3]-a)*f;a=a*a;return+(a<1.0e-10?0.0:a/(f*f+r*r))}function YF(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=k;k=k+16|0;f=n+8|0;r=n;A=po(A,e)|0;if(A|0?(a[f>>2]=r,(J3(A,101209,f)|0)>0):0)b[i>>3]=+b[r>>3];k=n;return}function DF(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;n=w+8|0;l=w;i=qF(96)|0;s=A+16|0;a[(a[s>>2]|0)+8>>2]=i;i=po(A,101213)|0;if(!i){i=PA(101222)|0;if(i|0)c=3}else c=3;if((c|0)==3)ae(101234,i|0,1)|0;i=(MF(A)|0)&255;r[(a[s>>2]|0)+115>>0]=i;if(0==0?(i=po(A,101245)|0,a[47133]=i,(i|0)==0):0)a[47133]=a[47132];f=+oR(A,Yo(A,0,101255,0)|0,0.0,0.0);b[a[(a[s>>2]|0)+8>>2]>>3]=f;i=po(A,101263)|0;A:do{if(!i)i=0;else{switch(r[i>>0]|0){case 76:{if(!(A1(i,101271)|0)){i=1;break A}break}case 66:{if(!(A1(i,101274)|0)){i=2;break A}break}case 82:{i=(A1(i,101277)|0)==0;i=i?3:0;break A}default:{i=0;break A}}i=0}}while(0);a[(a[s>>2]|0)+116>>2]=i<<2|(e<<24>>24==0?0:i);f=+oR(A,Yo(A,0,101280,0)|0,.25,.02);b[l>>3]=f;f=f*72.0;a[(a[s>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));i=dR(A,Yo(A,0,101288,0)|0,0)|0;if(i){a[n>>2]=l;if(J3(i,101209,n)|0){f=+b[l>>3];if(f<.02){b[l>>3]=.02;f=.02}}else{b[l>>3]=.5;f=.5}if(X4(i,101296)|0)r[(a[s>>2]|0)+276>>0]=1}else{b[l>>3]=.5;f=.5}f=f*72.0;a[(a[s>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));l=(kR(A,Yo(A,0,101304,0)|0,0,0)|0)&255;r[(a[s>>2]|0)+243>>0]=l;l=YR(dR(A,Yo(A,0,101314,0)|0,0)|0,20676,20692)|0;a[(a[s>>2]|0)+244>>2]=l;FF(A);l=VF(A,101324,(a[(a[s>>2]|0)+8>>2]|0)+64|0)|0;i=a[(a[s>>2]|0)+8>>2]|0;r[i+80>>0]=l;VF(A,101329,i+48|0)|0;i=gR(po(A,101334)|0)|0;r[(a[(a[s>>2]|0)+8>>2]|0)+82>>0]=i;i=po(A,101341)|0;do{if(!i){i=po(A,101348)|0;if(i|0){i=(r[i>>0]|32)<<24>>24==108&1;c=27;break}i=po(A,101360)|0;if(i|0){i=gR(i)|0;c=27}}else{i=(q3(i)|0)==90&1;c=27}}while(0);if((c|0)==27)r[(a[(a[s>>2]|0)+8>>2]|0)+81>>0]=i;a[47135]=YR(po(A,101370)|0,20708,20724)|0;r[194954]=gR(po(A,101382)|0)|0;a[47138]=0;a[47139]=0;b[(a[(a[s>>2]|0)+8>>2]|0)+24>>3]=0.0;i=po(A,101394)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)c=32;else c=30;if(((c|0)==30?(t=po(A,101398)|0,t|0):0)?r[t>>0]|0:0){i=t;c=32}if((c|0)==32){f=+$3(i);b[(a[(a[s>>2]|0)+8>>2]|0)+24>>3]=f}JF(A);b[23295]=1.e+37;a[47140]=Yo(A,0,101409,0)|0;a[47143]=Yo(A,0,141034,0)|0;a[47144]=Yo(A,0,105496,0)|0;a[47145]=Yo(A,1,141048,0)|0;a[47146]=Yo(A,1,141116,0)|0;a[47147]=Yo(A,1,108230,0)|0;a[47148]=Yo(A,1,140823,0)|0;a[47149]=Yo(A,1,101418,0)|0;a[47157]=Yo(A,1,141082,0)|0;a[47150]=Yo(A,1,101428,0)|0;a[47151]=Yo(A,1,101437,0)|0;a[47152]=Yo(A,1,101446,0)|0;c=Yo(A,1,108224,0)|0;a[47154]=c;if(!c)a[47154]=Yo(A,1,108224,105493)|0;a[47155]=Yo(A,1,101456,0)|0;a[47158]=Yo(A,1,101304,0)|0;a[47172]=Yo(A,1,101463,0)|0;a[47161]=Yo(A,1,101409,0)|0;a[47153]=Yo(A,1,105496,0)|0;a[47159]=Yo(A,1,141076,0)|0;a[47160]=Yo(A,1,101472,0)|0;a[47163]=Yo(A,1,101484,0)|0;a[47162]=Yo(A,1,101348,0)|0;a[47164]=Yo(A,1,101489,0)|0;a[47165]=Yo(A,1,141024,0)|0;a[47166]=Yo(A,1,137297,0)|0;a[47156]=Yo(A,1,101500,0)|0;a[47167]=Yo(A,1,101510,0)|0;a[47168]=Yo(A,1,101516,0)|0;a[47169]=Yo(A,1,101522,0)|0;a[47170]=Yo(A,1,101530,0)|0;a[47171]=Yo(A,1,101539,0)|0;a[47173]=Yo(A,1,141034,0)|0;a[47174]=Yo(A,2,101541,0)|0;a[47176]=Yo(A,2,140823,0)|0;a[47177]=Yo(A,2,101418,0)|0;a[47179]=Yo(A,2,101428,0)|0;a[47180]=Yo(A,2,101437,0)|0;a[47181]=Yo(A,2,101446,0)|0;a[47182]=Yo(A,2,108224,0)|0;a[47183]=Yo(A,2,101456,0)|0;a[47192]=Yo(A,2,101548,0)|0;a[47184]=Yo(A,2,101559,0)|0;a[47195]=Yo(A,2,101563,0)|0;a[47196]=Yo(A,2,101573,0)|0;a[47197]=Yo(A,2,101583,0)|0;a[47198]=Yo(A,2,101593,0)|0;a[47199]=Yo(A,2,101603,0)|0;a[47200]=Yo(A,2,101617,0)|0;a[47201]=Yo(A,2,101631,0)|0;a[47202]=Yo(A,2,101646,0)|0;a[47203]=Yo(A,2,101660,0)|0;a[47175]=Yo(A,2,101671,0)|0;a[47187]=Yo(A,2,101304,0)|0;a[47185]=Yo(A,2,141082,0)|0;a[47186]=Yo(A,2,101678,0)|0;a[47188]=Yo(A,2,101687,0)|0;a[47189]=Yo(A,2,101697,0)|0;a[47190]=Yo(A,2,101510,0)|0;a[47191]=Yo(A,2,101522,0)|0;a[47204]=Yo(A,2,101708,0)|0;a[47205]=Yo(A,2,101717,0)|0;a[47206]=Yo(A,2,101463,0)|0;i=$C(A)|0;a[(a[(a[s>>2]|0)+8>>2]|0)+88>>2]=i;i=po(A,141060)|0;if(i|0?r[i>>0]|0:0){A=SF(i,A)|0;a[(a[(a[s>>2]|0)+8>>2]|0)+92>>2]=A}k=w;return}function MF(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;A=BR(A,Yo(A,0,101807,0)|0,101815)|0;if(((((((N1(A,101821)|0)!=0?(N1(A,101829)|0)!=0:0)?(N1(A,101836)|0)!=0:0)?(N1(A,101839)|0)!=0:0)?(N1(A,101850)|0)!=0:0)?(N1(A,101861)|0)!=0:0)?(N1(A,101871)|0)!=0:0)if((N1(A,101882)|0)!=0?(N1(A,101888)|0)!=0:0)if((N1(A,101815)|0)!=0?(N1(A,101893)|0)!=0:0){a[e>>2]=A;ao(0,101898,e)|0;A=0}else A=0;else A=2;else A=1;k=i;return A|0}function FF(A){A=A|0;var e=0.0,i=0,f=0;i=po(A,101765)|0;A:do{if(i|0?(f=r[i>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break A;if(A1(i,101771)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=4;break A}case 99:{if(f<<24>>24!=99)break A;if(A1(i,101776)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=3;break A}case 101:{if(f<<24>>24!=101)break A;if(A1(i,101785)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=5;break A}case 102:{if(f<<24>>24!=102)break A;if(A1(i,101792)|0)break A;a[(a[(a[A+16>>2]|0)+8>>2]|0)+84>>2]=2;break A}default:{e=+$3(i);if(!(e>0.0))break A;A=a[(a[A+16>>2]|0)+8>>2]|0;a[A+84>>2]=1;b[A+16>>3]=e;break A}}}while(0);return}function VF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+48|0;s=u+32|0;l=u+16|0;c=u+8|0;t=u;w=u+40|0;r[w>>0]=0;A=po(A,e)|0;do{if(A){a[l>>2]=c;a[l+4>>2]=t;a[l+8>>2]=w;l=(J3(A,101749,l)|0)>1;n=+b[c>>3];f=+b[t>>3];if(l&n>0.0&f>0.0){n=n*72.0;b[i>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);n=f*72.0;b[i+8>>3]=+(~~(n+(n>=0.0?.5:-.5))|0);A=(r[w>>0]|0)==33;break}r[w>>0]=0;a[s>>2]=c;a[s+4>>2]=w;s=(J3(A,101759,s)|0)>0;f=+b[c>>3];if(s&f>0.0){n=f*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);b[i>>3]=n;b[i+8>>3]=n;A=(r[w>>0]|0)==33}else A=0}else A=0}while(0);k=u;return A&1|0}function JF(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0;e=po(A,108224)|0;do{if(e|0?r[e>>0]|0:0){i=(a[(a[A+60>>2]|0)+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|8;i=(tB(e)|0)!=0;n=+oR(A,Yo(A,0,101428,0)|0,14.0,1.0);l=BR(A,Yo(A,0,101437,0)|0,107994)|0;e=pF(A,e,i?2:0,n,l,BR(A,Yo(A,0,101446,0)|0,137314)|0)|0;l=A+16|0;a[(a[l>>2]|0)+12>>2]=e;e=po(A,105628)|0;i=(e|0)!=0;do{if((Zd(A)|0)==(A|0)){if(i?(r[e>>0]|0)==116:0){e=1;break}e=0}else{if(i?(r[e>>0]|0)==98:0){e=0;break}e=1}}while(0);i=po(A,101726)|0;A:do{if(i)switch(r[i>>0]|0){case 108:{e=e|2;break A}case 114:{e=e|4;break A}default:break A}}while(0);r[(a[l>>2]|0)+275>>0]=e;if((Zd(A)|0)!=(A|0)){e=a[(a[l>>2]|0)+12>>2]|0;f=+b[e+24>>3]+16.0;n=+b[e+32>>3]+8.0;A=(a[(a[(Zd(A)|0)+16>>2]|0)+116>>2]&1|0)==0;e=a[l>>2]|0;i=r[e+275>>0]<<1&2;if(A){A=i&255;b[e+48+(A<<4)>>3]=f;b[e+48+(A<<4)+8>>3]=n;break}else{A=(i^3)&255;b[e+48+(A<<4)>>3]=n;b[e+48+(A<<4)+8>>3]=f;break}}}}while(0);return}function NF(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=a[r>>2]|0;e=a[i+8>>2]|0;do{if(!e)e=i;else{i=a[e+88>>2]|0;if(i){yC(i);i=a[r>>2]|0;e=a[i+8>>2]|0;if(!e){e=i;break}}L2(a[e+92>>2]|0);e=a[r>>2]|0}}while(0);L2(a[e+8>>2]|0);r=a[r>>2]|0;a[r+8>>2]=0;TF(a[r+12>>2]|0);_d(A,0,137483);return}function XF(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;switch(A|0){case 0:{A=101971;break}case 1:{A=101839;break}case 2:{A=101977;break}default:{a[e>>2]=A;ao(1,101941,e)|0;A=101971}}k=i;return A|0}function RF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;f=a[e>>2]|0;s=e+24|0;a[s>>2]=0;a[s+4>>2]=0;a[s+8>>2]=0;a[s+12>>2]=0;if(r[f>>0]|0){t=$F((S2(f)|0)+1|0)|0;r[t>>0]=0;c=e+12|0;i=t;A:while(1){e:while(1){l=f+1|0;n=r[f>>0]|0;if(!(n<<24>>24))break A;if(!(n<<24>>24==-1|((n&255)<161|(a[c>>2]|0)!=2))){r[i>>0]=n;l=r[l>>0]|0;n=i+2|0;r[i+1>>0]=l;if(!(l<<24>>24)){i=n;break A}else{i=n;f=f+2|0;continue}}switch(n<<24>>24){case 92:break e;case 10:{b=12;break e}default:{}}r[i>>0]=n;i=i+1|0;f=l}if((b|0)==12){b=0;f=i+1|0;r[i>>0]=0;HF(A,e,t,110);i=f;t=f;f=l;continue}n=r[l>>0]|0;switch(n<<24>>24|0){case 114:case 108:case 110:{n=i+1|0;r[i>>0]=0;HF(A,e,t,r[l>>0]|0);i=n;break}default:{r[i>>0]=n;i=i+1|0;n=t}}t=n;f=(r[l>>0]|0)==0?l:f+2|0}if((t|0)!=(i|0)){r[i>>0]=0;HF(A,e,t,110)}e=e+40|0;a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2]}return}function HF(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+32|0;h=B+16|0;o=B;d=e+76|0;c=f[d>>1]|0;u=e+72|0;s=a[u>>2]|0;if(!s)w=qF((c*56|0)+112|0)|0;else w=AV(s,c+2|0,56,c+1|0)|0;a[u>>2]=w;c=f[d>>1]|0;s=w+(c*56|0)|0;a[s>>2]=i;r[w+(c*56|0)+48>>0]=n;if((i|0)!=0?(r[i>>0]|0)!=0:0){a[46594]=a[e+4>>2];b[23299]=+b[e+16>>3];n=a[A+144>>2]|0;a[w+(c*56|0)+4>>2]=W5[a[n>>2]&63](n,186376,1)|0;AR(o,A,s);t=+b[o>>3];b[h>>3]=t;l=+b[o+8>>3]}else{b[h>>3]=0.0;l=+(~~(+b[e+16>>3]*1.2)|0);b[w+(c*56|0)+40>>3]=l;t=0.0}f[d>>1]=(f[d>>1]|0)+1<<16>>16;d=e+24|0;b[d>>3]=+b[(+b[d>>3]>t?d:h)>>3];d=e+32|0;b[d>>3]=+b[d>>3]+l;k=B;return}function pF(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=l|0;t=t|0;var c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+32|0;d=g+16|0;h=g+8|0;o=g;v=qF(88)|0;switch(Md(A)|0){case 0:{s=0;B=a[A+60>>2]|0;w=A;u=0;break}case 1:{s=0;B=Zd(Id(A)|0)|0;w=0;u=A;break}case 2:{s=A;B=Zd(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0;w=0;u=0;break}default:{s=0;B=0;w=0;u=0}}a[v+4>>2]=l;a[v+8>>2]=t;b[v+16>>3]=f;c=B+16|0;t=v+12|0;a[t>>2]=n[(a[c>>2]|0)+115>>0];A:do{if(i&4){a[v>>2]=s3(e)|0;if(i&2|0)r[v+82>>0]=1}else switch(i|0){case 2:{a[v>>2]=s3(e)|0;r[v+82>>0]=1;if(!(ga(A,v)|0))break A;switch(Md(A)|0){case 0:{a[o>>2]=Vh(w)|0;ao(3,101983,o)|0;break A}case 1:{a[h>>2]=Vh(u)|0;ao(3,102005,h)|0;break A}case 2:{o=Vh(a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;h=(Ih(B)|0)!=0;B=Vh(a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)|0;a[d>>2]=o;a[d+4>>2]=h?137738:141747;a[d+8>>2]=B;ao(3,102026,d)|0;break A}default:break A}}case 0:{l=UF(e,A,0)|0;a[v>>2]=l;if((a[t>>2]|0)==1)l=EH(l)|0;else l=BH(l,B)|0;L2(a[v>>2]|0);a[v>>2]=l;RF(a[(a[c>>2]|0)+144>>2]|0,v);break A}default:vA(102053,102069,166,102078)}}while(0);k=g;return v|0}function UF(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;switch(Md(e)|0){case 0:{t=Vh(e)|0;n=S2(t)|0;f=a[(a[e+16>>2]|0)+12>>2]|0;if(f){f=a[f>>2]|0;if(!A){E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=2;C=f;I=102095}else{E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=S2(f)|0;C=f;I=102095}}else{E=0;v=2;g=2;B=2;l=2;Z=102101;w=102098;c=105493;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}break}case 1:{t=Vh(Id(e)|0)|0;n=S2(t)|0;c=Vh(e)|0;l=S2(c)|0;f=a[(a[e+16>>2]|0)+104>>2]|0;if(f){f=a[f>>2]|0;if(!A){E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=2;C=f;I=102095}else{E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=S2(f)|0;C=f;I=102095}}else{E=0;v=2;g=2;B=2;Z=102101;w=102098;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}break}case 2:{l=e+48|0;t=Vh(Zd(Id(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0;n=S2(t)|0;s=Vh(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0;b=S2(s)|0;f=e+16|0;h=a[(a[f>>2]|0)+52>>2]|0;if(!h)d=0;else d=S2(h)|0;w=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;f=a[f>>2]|0;k=a[f+92>>2]|0;if(!k)o=0;else o=S2(k)|0;c=S2(w)|0;f=a[f+96>>2]|0;if(f){f=a[f>>2]|0;if(!A)u=2;else u=S2(f)|0}else{u=2;f=102089}I=(Ih(Zd(Id(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0)|0)==0;E=1;v=b;g=c;B=b+2+(d|0?d+1|0:0)+c+(o|0?o+1|0:0)|0;l=2;Z=s;c=105493;C=f;I=I?141747:137738;break}default:{E=0;v=2;g=2;B=2;l=2;n=2;Z=102101;w=102098;c=105493;t=102092;k=195059;h=195059;o=0;d=0;u=2;C=102089;I=102095}}i=(i|0)==0;s=0;f=A;A:while(1){e=f+1|0;e:do{switch(r[f>>0]|0){case 0:break A;case 92:{f=f+2|0;switch(r[e>>0]|0){case 78:{b=l;break e}case 71:{b=n;break e}case 69:{b=B;break e}case 72:{b=g;break e}case 84:{b=v;break e}case 76:{b=u;break e}case 92:{if(!i){b=1;break e}break}default:{}}b=2;break}default:{b=1;f=e}}}while(0);s=s+b|0}B=$F(s+1|0)|0;u=(E|0)==0;s=(d|0)==0;e=(o|0)==0;f=B;n=A;A:while(1){b=n+1|0;l=r[n>>0]|0;switch(l<<24>>24){case 0:break A;case 92:break;default:{r[f>>0]=l;f=f+1|0;n=b;continue A}}l=n+2|0;n=r[b>>0]|0;switch(n<<24>>24|0){case 71:{n=t;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 78:{n=c;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 69:{if(u){n=l;continue A}else n=Z;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;n=n+1|0;f=f+1|0}if(s)n=I;else{r[f>>0]=58;n=h;while(1){f=f+1|0;A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=I;break}else n=n+1|0}}while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=w;break}n=n+1|0;f=f+1|0}while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24))break;n=n+1|0;f=f+1|0}if(e){n=l;continue A}r[f>>0]=58;n=k;while(1){f=f+1|0;A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}else n=n+1|0}}case 84:{n=Z;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}n=n+1|0;f=f+1|0}}case 72:{n=w;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}f=f+1|0;n=n+1|0}}case 76:{n=C;while(1){A=r[n>>0]|0;r[f>>0]=A;if(!(A<<24>>24)){n=l;continue A}f=f+1|0;n=n+1|0}}case 92:{if(!i){r[f>>0]=92;f=f+1|0;n=l;continue A}break}default:{}}r[f>>0]=92;r[f+1>>0]=n;f=f+2|0;n=l}r[f>>0]=0;return B|0}function xF(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;if(A|0){i=A;r=0;while(1){if((r|0)>=(e|0))break;if(!r)L2(a[i>>2]|0);n=a[i+8>>2]|0;if(n|0?(f=a[i+12>>2]|0,f|0):0)F5[f&127](n);i=i+56|0;r=r+1|0}L2(A)}return}function TF(A){A=A|0;var e=0;if(A|0){L2(a[A>>2]|0);e=A+72|0;if(r[A+82>>0]|0){e=a[e>>2]|0;if(e|0)aa(e,1)}else xF(a[e>>2]|0,f[A+76>>1]|0);L2(A)}return}function jF(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+32|0;h=g+16|0;d=g;c=a[A+16>>2]|0;B=c+12|0;v=a[B>>2]|0;a[B>>2]=e;if(!(r[i+82>>0]|0)){o=i+76|0;if((f[o>>1]|0)>=1){Ki(A,0);$i(A,a[i+8>>2]|0);switch(r[i+80>>0]|0){case 116:{t=+b[i+64>>3];n=+b[i+48>>3]*.5+t;break}case 98:{t=+b[i+64>>3];n=+b[i+48>>3]*-.5+t+ +b[i+32>>3];break}default:{t=+b[i+64>>3];n=+b[i+32>>3]*.5+t}}n=n-+b[i+16>>3];u=d+8|0;b[u>>3]=n;if(f[c+260>>1]&512)b[u>>3]=n-t;s=i+72|0;w=i+56|0;l=i+40|0;e=0;while(1){if((e|0)>=(f[o>>1]|0))break;c=a[s>>2]|0;switch(r[c+(e*56|0)+48>>0]|0){case 108:{n=+b[w>>3]-+b[l>>3]*.5;break}case 114:{n=+b[l>>3]*.5+ +b[w>>3];break}default:n=+b[w>>3]}b[d>>3]=n;a[h>>2]=a[d>>2];a[h+4>>2]=a[d+4>>2];a[h+8>>2]=a[d+8>>2];a[h+12>>2]=a[d+12>>2];qi(A,h,c+(e*56|0)|0);b[u>>3]=+b[u>>3]-+b[(a[s>>2]|0)+(e*56|0)+40>>3];e=e+1|0}_i(A);l=18}}else{Nf(A,a[i+72>>2]|0,i);l=18}if((l|0)==18)a[B>>2]=v;k=g;return}function SF(A,e){A=A|0;e=e|0;return UF(A,e,1)|0}function PF(A){A=A|0;return OF(A,0)|0}function OF(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;i=a[47207]|0;if(!i){a[47208]=64;i=$F(64)|0;a[47207]=i}c=e<<24>>24==0;t=0;f=0;l=A;while(1){if(!l)break;e=r[l>>0]|0;if(!(e<<24>>24))break;A=a[47208]|0;if((t|0)>(A+-8|0)){i=A<<1;a[47208]=i;i=eV(a[47207]|0,i)|0;a[47207]=i;i=i+t|0;e=r[l>>0]|0}A:do{switch(e<<24>>24){case 38:{if(c?(KF(l)|0)!=0:0)b=18;else{f=5;e=102130}break}case 60:{f=4;e=102153;break}case 62:{f=4;e=102136;break}case 45:{f=5;e=102147;break}default:{if((f|0)!=0&e<<24>>24==32)if((r[f>>0]|0)==32){f=6;e=102123;break A}else{b=18;break A}switch(e<<24>>24){case 34:{f=6;e=102116;break A}case 39:{f=5;e=102141;break A}case 10:if(c){b=18;break A}else{f=5;e=102110;break A}default:{b=18;break A}}}}}while(0);if((b|0)==18){b=0;e=c|e<<24>>24!=13;f=e?1:5;e=e?l:102104}n=i+f|0;A=f;while(1){if(!A)break;r[i>>0]=r[e>>0]|0;A=A+-1|0;e=e+1|0;i=i+1|0}A=l;t=f+t|0;i=n;l=l+1|0;f=A}r[i>>0]=0;return a[47207]|0}function KF(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<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}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function _F(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0;e=a[47209]|0;if(!e){a[47210]=64;e=$F(64)|0;a[47209]=e;t=0}else t=0;while(1){if(!A)break;i=r[A>>0]|0;if(!(i<<24>>24))break;f=a[47210]|0;if((t|0)>(f+-8|0)){e=f<<1;a[47210]=e;e=eV(a[47209]|0,e)|0;a[47209]=e;e=e+t|0;i=r[A>>0]|0}switch(i<<24>>24){case 38:{if(!(KF(A)|0)){n=5;i=102130}else c=12;break}case 60:{n=4;i=102153;break}case 62:{n=4;i=102136;break}case 34:{n=6;i=102116;break}case 39:{n=5;i=102141;break}default:c=12}if((c|0)==12){c=0;n=1;i=A}l=e+n|0;f=n;while(1){if(!f)break;r[e>>0]=r[i>>0]|0;f=f+-1|0;i=i+1|0;e=e+1|0}t=n+t|0;e=l;A=A+1|0}r[e>>0]=0;return a[47209]|0}function qF(A){A=A|0;var e=0;if(!A)A=0;else{e=$F(A)|0;Y6(e|0,0,A|0)|0;A=e}return A|0}function $F(A){A=A|0;if(A){A=m2(A)|0;if(!A){L3(111740,14,1,a[15712]|0)|0;A=0}}else A=0;return A|0}function AV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=y2(A,U(i,e)|0)|0;if(!((e|0)!=0&(A|0)==0)){if(e>>>0>r>>>0)Y6(A+(U(r,i)|0)|0,0,U(e-r|0,i)|0)|0}else L3(111740,14,1,a[15712]|0)|0;return A|0}function eV(A,e){A=A|0;e=e|0;A=y2(A,e)|0;if((e|0)!=0&(A|0)==0)L3(111740,14,1,a[15712]|0)|0;return A|0}function iV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0,v=0,g=0;g=k;k=k+80|0;o=g+40|0;u=g+32|0;w=g+24|0;s=g;h=4;v=m2(40)|0;a[v>>2]=0;f=g+68|0;n=g+64|0;if(0){d=0;uA(62,A|0,f|0,n|0);l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,v|0,h|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)!=1){t=a[15712]|0;l=a[f>>2]|0;f=a[n>>2]|0;d=0;a[s>>2]=102202;a[s+4>>2]=l;a[s+8>>2]=f;a[s+12>>2]=i;a[s+16>>2]=e;aA(32,t|0,102158,s|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1){d=0;bA(1);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)!=1)t=6;else{f=L;t=15}}else{f=L;t=15}}else{f=L;t=15}}else t=6;do{if((t|0)==6){d=0;f=iA(27,A|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)!=1){if(!f){d=0;bA(2);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}}if((i|0)<1){d=0;bA(3);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}f=0;break}else{a[47211]=(r|0)>-1?r:30;v=L6(188848,1,v|0,h|0)|0;h=L;d=0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;break}f=0;t=15;break}}else{f=L;t=15}}}while(0);A:do{if((t|0)==15){e:while(1){if(f|0){f=2;break A}d=0;bA(4);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue}A=a[15712]|0;s=0;while(1){d=0;t=eA(2)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}if(!t)break;d=0;f=iA(28,t|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){f=L;t=15;continue e}d=0;wA(25,t|0,f|0);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}s=s+1|0;do{if(((s|0)%100|0|0)==0&0!=0){f=(s|0)%1e3|0;if((f|0)==100){d=0;rA(93,102202,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}d=0;a[w>>2]=s;aA(32,A|0,102220,w|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}d=0;a[u>>2]=s;aA(32,A|0,102220,u|0)|0;n=d;d=0;if((n|0)!=0&(B|0)!=0){l=W6(a[n>>2]|0,v|0,h|0)|0;if(!l)fe(n|0,B|0);L=B}else l=-1;if((l|0)==1){f=L;t=15;continue e}if(!f){d=0;rA(94,10,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}}}}while(0);if((s|0)>=(i|0))break}switch(e|0){case 1:{d=0;bA(5);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}case 2:{d=0;bA(6);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}break}default:{d=0;bA(7);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}d=0;bA(3);f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue e}}}if(!0){f=0;break A}if((s|0)>99){d=0;rA(94,10,A|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15;continue}}f=a[47251]|0;n=a[47252]|0;d=0;c=+q(1);l=d;d=0;if((l|0)!=0&(B|0)!=0){t=W6(a[l>>2]|0,v|0,h|0)|0;if(!t)fe(l|0,B|0);L=B}else t=-1;if((t|0)==1){f=L;t=15;continue}d=0;a[o>>2]=102202;a[o+4>>2]=f;a[o+8>>2]=n;a[o+12>>2]=s;b[o+16>>3]=c;aA(32,A|0,102224,o|0)|0;f=d;d=0;if((f|0)!=0&(B|0)!=0){n=W6(a[f>>2]|0,v|0,h|0)|0;if(!n)fe(f|0,B|0);L=B}else n=-1;if((n|0)==1){f=L;t=15}else break}f=0}}while(0);L2(v|0);k=g;return f|0}function rV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;A=(a[A+16>>2]|0)+192|0;r=0;l=0;while(1){A=a[A>>2]|0;if(!A)break;n=a[A+16>>2]|0;f=a[n+180>>2]|0;A=0;while(1){if(!(a[f+(A<<2)>>2]|0))break;A=A+1|0;r=r+1|0}A=n+164|0;l=l+1|0}a[e>>2]=l;a[i>>2]=r;return}function fV(A){A=A|0;var e=0,i=0,f=0,n=0,t=0,c=0,b=0,s=0;a[47254]=A;a[47261]=0;a[47252]=0;a[47251]=0;t=A+16|0;A=(a[t>>2]|0)+192|0;n=0;i=0;while(1){A=a[A>>2]|0;if(!A)break;f=a[A+16>>2]|0;r[f+157>>0]=0;n=n+1|0;a[47251]=n;e=a[f+180>>2]|0;A=0;while(1){if(!(a[e+(A<<2)>>2]|0))break;b=i+1|0;a[47252]=b;A=A+1|0;i=b}A=f+164|0}A=a[47262]|0;if(!A)A=$F(n<<2)|0;else A=eV(A,n<<2)|0;a[47262]=A;a[47263]=0;A=a[47256]|0;if(!A)A=$F(a[47251]<<2)|0;else A=eV(A,a[47251]<<2)|0;a[47256]=A;a[47255]=0;e=1;A=(a[t>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;b=A+16|0;t=a[b>>2]|0;c=t+292|0;a[c>>2]=0;t=a[t+172>>2]|0;n=e;f=0;A=0;while(1){e=a[t+(f<<2)>>2]|0;if(!e)break;i=A+1|0;a[c>>2]=i;A=a[e+16>>2]|0;a[A+160>>2]=0;a[A+164>>2]=-1;if(!n)A=0;else{s=a[e>>2]&3;A=((a[(a[(a[((s|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((s|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(l[A+170>>1]|0|0)?0:n}n=A;f=f+1|0;A=i}A=qF((f<<2)+4|0)|0;e=a[b>>2]|0;a[e+264>>2]=A;a[e+268>>2]=0;e=a[e+180>>2]|0;A=0;do{s=A;A=A+1|0}while((a[e+(s<<2)>>2]|0)!=0);e=qF(A<<2)|0;A=a[b>>2]|0;a[A+272>>2]=e;a[A+276>>2]=0;e=n;A=A+164|0}return e|0}function aV(){var A=0,e=0,i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;b=u;s=bR(a[47251]|0)|0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e){c=0;break}i=e+16|0;A=a[i>>2]|0;if(!(a[A+292>>2]|0)){wR(s,e);A=a[i>>2]|0}A=A+164|0}while(1){A=uR(s)|0;if(!A)break;t=A+16|0;A=a[t>>2]|0;r=A+232|0;a[r>>2]=0;i=a[A+172>>2]|0;e=0;n=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f){r=0;break}f=(a[(a[(a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[(a[f+16>>2]|0)+170>>1]|0)|0;f=(n|0)>(f|0)?n:f;a[r>>2]=f;e=e+1|0;n=f}while(1){e=a[(a[A+180>>2]|0)+(r<<2)>>2]|0;if(!e)break;i=e+-48|0;f=(a[(a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+292|0;n=a[f>>2]|0;a[f>>2]=n+-1;if((n|0)<2){wR(s,a[((a[e>>2]&3|0)==2?e:i)+40>>2]|0);A=a[t>>2]|0}r=r+1|0}c=c+1|0}A:do{if((c|0)!=(a[47251]|0)){ao(1,102556,b)|0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e)break A;i=e+16|0;A=a[i>>2]|0;if(a[A+292>>2]|0){b=Vh(e)|0;A=a[(a[i>>2]|0)+292>>2]|0;a[w>>2]=b;a[w+4>>2]=A;ao(3,102578,w)|0;A=a[i>>2]|0}A=A+164|0}}}while(0);sR(s);k=u;return}function nV(){var A=0,e=0,i=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;i=A+16|0;A=a[i>>2]|0;e=a[A+264>>2]|0;if(e){L2(e);A=a[i>>2]|0}e=a[A+272>>2]|0;if(e){L2(e);A=a[i>>2]|0}r[A+157>>0]=0;A=A+164|0}return}function lV(){var A=0,e=0,i=0,r=0,f=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){A=a[A>>2]|0;if(!A)break;A=a[A+16>>2]|0;a[A+280>>2]=0;A=A+164|0}f=qF(a[47251]<<2)|0;r=0;A=(a[(a[47254]|0)+16>>2]|0)+192|0;while(1){e=a[A>>2]|0;if(!e)break;i=e+16|0;A=a[i>>2]|0;if(!(a[A+280>>2]|0)){a[f+(r<<2)>>2]=gV(e)|0;e=r+1|0;A=a[i>>2]|0}else e=r;r=e;A=A+164|0}A=EV(f,r)|0;while(1){if((CV(A)|0)<=1)break;QV(A,a[(GV(ZV(IV(A)|0)|0)|0)+8>>2]|0)}L2(A);A=0;while(1){if((A|0)>=(r|0))break;L2(a[f+(A<<2)>>2]|0);A=A+1|0}L2(f);if((a[47255]|0)==((a[47251]|0)+-1|0)){mV();return}else vA(102301,102331,523,102336)}function tV(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;t=a[47261]|0;f=a[47255]|0;c=a[47256]|0;b=a[47211]|0;e=0;A=0;n=t;while(1){if((n|0)>=(f|0)){l=8;break}r=a[c+(n<<2)>>2]|0;i=a[(a[r+16>>2]|0)+160>>2]|0;if((i|0)<0){if(!A)A=r;else A=(a[(a[A+16>>2]|0)+160>>2]|0)>(i|0)?r:A;e=e+1|0;if((e|0)>=(b|0))break}r=n+1|0;a[47261]=r;n=r}if((l|0)==8)if((t|0)>0){f=0;while(1){if((f|0)>=(t|0))break;i=a[c+(f<<2)>>2]|0;r=a[(a[i+16>>2]|0)+160>>2]|0;if((r|0)<0){if(!A)A=i;else A=(a[(a[A+16>>2]|0)+160>>2]|0)>(r|0)?i:A;e=e+1|0;if((e|0)>=(b|0))break}f=f+1|0}a[47261]=f}return A|0}function cV(A){A=A|0;var e=0,i=0;e=a[A>>2]&3;i=a[((e|0)==3?A:A+48|0)+40>>2]|0;A=a[((e|0)==2?A:A+-48|0)+40>>2]|0;e=(a[(a[i+16>>2]|0)+288>>2]|0)<(a[(a[A+16>>2]|0)+288>>2]|0);A=e?i:A;a[47257]=0;a[47258]=2147483647;i=a[A+16>>2]|0;a[47259]=a[i+284>>2];a[47260]=a[i+288>>2];if(e)vV(A);else BV(A);return a[47257]|0}function bV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;f=a[e>>2]&3;s=e+-48|0;c=e+48|0;b=e+16|0;f=(a[(a[(a[((f|0)==2?e:s)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((f|0)==3?e:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[b>>2]|0)+170>>1]|0)|0;do{if((f|0)>0){i=a[A>>2]&3;n=a[((i|0)==3?A:A+48|0)+40>>2]|0;t=a[n+16>>2]|0;if(((a[t+276>>2]|0)+(a[t+268>>2]|0)|0)==1){kV(n,f);break}i=a[((i|0)==2?A:A+-48|0)+40>>2]|0;r=a[i+16>>2]|0;if(((a[r+276>>2]|0)+(a[r+268>>2]|0)|0)==1){kV(i,0-f|0);break}if((a[t+288>>2]|0)<(a[r+288>>2]|0)){kV(n,f);break}else{kV(i,0-f|0);break}}}while(0);i=A+16|0;r=a[(a[i>>2]|0)+160>>2]|0;f=a[e>>2]&3;f=oV(a[((f|0)==3?e:c)+40>>2]|0,a[((f|0)==2?e:s)+40>>2]|0,r,1)|0;t=a[e>>2]&3;if((oV(a[((t|0)==2?e:s)+40>>2]|0,a[((t|0)==3?e:c)+40>>2]|0,r,0)|0)==(f|0)){a[(a[b>>2]|0)+160>>2]=0-r;a[(a[i>>2]|0)+160>>2]=0;hV(A,e);w=a[f+16>>2]|0;dV(f,a[w+280>>2]|0,a[w+284>>2]|0)|0;k=u;return}else{ao(1,102262,w)|0;fe(188848,1)}}function sV(){var A=0,e=0,i=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;uV();w=qF((a[47253]<<2)+4|0)|0;e=a[47253]|0;A=0;while(1){if((A|0)>(e|0))break;a[w+(A<<2)>>2]=0;A=A+1|0}A=(a[(a[47254]|0)+16>>2]|0)+192|0;e=A;while(1){e=a[e>>2]|0;if(!e)break;e=a[e+16>>2]|0;if(!(r[e+156>>0]|0)){s=w+(a[e+232>>2]<<2)|0;a[s>>2]=(a[s>>2]|0)+1}e=e+164|0}while(1){A=a[A>>2]|0;if(!A)break;s=A+16|0;A=a[s>>2]|0;if(!(r[A+156>>0]|0)){n=a[47253]|0;i=a[A+172>>2]|0;b=0;c=0;e=0;while(1){f=a[i+(e<<2)>>2]|0;if(!f)break;u=a[f+16>>2]|0;t=(a[(a[(a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(l[u+170>>1]|0)|0;b=(a[u+156>>2]|0)+b|0;c=(c|0)>(t|0)?c:t;e=e+1|0}f=a[A+180>>2]|0;t=0;e=0;while(1){i=a[f+(e<<2)>>2]|0;if(!i)break;k=a[i+16>>2]|0;u=(a[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[k+170>>1]|0)|0;t=(a[k+156>>2]|0)+t|0;n=(n|0)<(u|0)?n:u;e=e+1|0}e=(c|0)>0?c:0;if((b|0)==(t|0)){f=e;i=e;while(1){e=i+1|0;if((i|0)>=(n|0))break;f=(a[w+(e<<2)>>2]|0)<(a[w+(f<<2)>>2]|0)?e:f;i=e}k=A+232|0;u=w+(a[k>>2]<<2)|0;a[u>>2]=(a[u>>2]|0)+-1;u=w+(f<<2)|0;a[u>>2]=(a[u>>2]|0)+1;a[k>>2]=f}e=a[A+264>>2]|0;if(e){L2(e);A=a[s>>2]|0}e=a[A+272>>2]|0;if(e){L2(e);A=a[s>>2]|0}r[A+157>>0]=0}A=A+164|0}L2(w);return}function wV(){var A=0,e=0,i=0,r=0,f=0,n=0;e=0;while(1){if((e|0)>=(a[47255]|0))break;A=a[(a[47256]|0)+(e<<2)>>2]|0;do{if(((a[(a[A+16>>2]|0)+160>>2]|0)==0?(i=cV(A)|0,i|0):0)?(r=a[i>>2]&3,r=(a[(a[(a[((r|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((r|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0,(r|0)>=2):0){n=a[A>>2]&3;f=a[((n|0)==3?A:A+48|0)+40>>2]|0;A=a[((n|0)==2?A:A+-48|0)+40>>2]|0;if((a[(a[f+16>>2]|0)+288>>2]|0)<(a[(a[A+16>>2]|0)+288>>2]|0)){kV(f,r>>>1);break}else{kV(A,(r|0)/-2|0);break}}}while(0);e=e+1|0}nV();return}function uV(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+16|0;l=t;a[l>>2]=0;a[l>>2]=2147483647;a[47253]=-2147483647;A=(a[(a[47254]|0)+16>>2]|0)+192|0;i=A;n=2147483647;f=-2147483647;while(1){e=a[i>>2]|0;if(!e)break;i=a[e+16>>2]|0;if(!(r[i+156>>0]|0)){c=a[i+232>>2]|0;e=(n|0)<(c|0)?n:c;a[l>>2]=e;f=(f|0)>(c|0)?f:c;a[47253]=f}else e=n;i=i+164|0;n=e}if(n|0){while(1){A=a[A>>2]|0;if(!A)break;A=a[A+16>>2]|0;c=A+232|0;a[c>>2]=(a[c>>2]|0)-n;A=A+164|0}a[47253]=f-n;a[l>>2]=0}k=t;return}function kV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;A=a[f>>2]|0;r=A+232|0;a[r>>2]=(a[r>>2]|0)-e;r=0;while(1){i=a[(a[A+272>>2]|0)+(r<<2)>>2]|0;if(!i){r=0;break}if((i|0)!=(a[A+280>>2]|0)){kV(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,e);A=a[f>>2]|0}r=r+1|0}while(1){i=a[(a[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(a[A+280>>2]|0)){kV(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,e);A=a[f>>2]|0}r=r+1|0}return}function oV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;n=(r|0)==0&1;l=0-i|0;f=a[(a[e+16>>2]|0)+288>>2]|0;e=A;while(1){A=a[e+16>>2]|0;if((a[A+284>>2]|0)<=(f|0)?(f|0)<=(a[A+288>>2]|0):0)break;A=a[A+280>>2]|0;t=A+48|0;c=(a[A+16>>2]|0)+160|0;a[c>>2]=(((e|0)==(a[((a[A>>2]&3|0)==3?A:t)+40>>2]|0)?r:n)|0?i:l)+(a[c>>2]|0);c=a[A>>2]&3;t=a[((c|0)==3?A:t)+40>>2]|0;A=a[((c|0)==2?A:A+-48|0)+40>>2]|0;e=(a[(a[t+16>>2]|0)+288>>2]|0)>(a[(a[A+16>>2]|0)+288>>2]|0)?t:A}return e|0}function hV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;t=A+16|0;r=(a[t>>2]|0)+164|0;a[(a[e+16>>2]|0)+164>>2]=a[r>>2];a[(a[47256]|0)+(a[r>>2]<<2)>>2]=e;a[(a[t>>2]|0)+164>>2]=-1;t=(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;r=a[t>>2]|0;n=r+276|0;f=a[n>>2]|0;c=f+-1|0;a[n>>2]=c;n=r+272|0;l=0;while(1){if((l|0)>=(f|0)){b=3;break}i=a[n>>2]|0;if((a[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((b|0)==3)i=a[r+272>>2]|0;a[i+(l<<2)>>2]=a[i+(c<<2)>>2];a[(a[(a[t>>2]|0)+272>>2]|0)+(c<<2)>>2]=0;t=(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16|0;r=a[t>>2]|0;n=r+268|0;f=a[n>>2]|0;c=f+-1|0;a[n>>2]=c;n=r+264|0;l=0;while(1){if((l|0)>=(f|0)){b=8;break}i=a[n>>2]|0;if((a[i+(l<<2)>>2]|0)==(A|0))break;l=l+1|0}if((b|0)==8)i=a[r+264>>2]|0;a[i+(l<<2)>>2]=a[i+(c<<2)>>2];a[(a[(a[t>>2]|0)+264>>2]|0)+(c<<2)>>2]=0;b=(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16|0;A=a[b>>2]|0;c=a[A+272>>2]|0;A=A+276|0;t=a[A>>2]|0;a[A>>2]=t+1;a[c+(t<<2)>>2]=e;b=a[b>>2]|0;a[(a[b+272>>2]|0)+(a[b+276>>2]<<2)>>2]=0;b=(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16|0;t=a[b>>2]|0;c=a[t+264>>2]|0;t=t+268|0;A=a[t>>2]|0;a[t>>2]=A+1;a[c+(A<<2)>>2]=e;b=a[b>>2]|0;a[(a[b+264>>2]|0)+(a[b+268>>2]<<2)>>2]=0;return}function dV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;n=A+16|0;A=a[n>>2]|0;a[A+280>>2]=e;a[A+284>>2]=i;f=0;while(1){r=a[(a[A+272>>2]|0)+(f<<2)>>2]|0;if(!r){f=0;break}if((r|0)!=(e|0)){i=dV(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r,i)|0;A=a[n>>2]|0}f=f+1|0}while(1){r=a[(a[A+264>>2]|0)+(f<<2)>>2]|0;if(!r)break;if((r|0)!=(e|0)){i=dV(a[((a[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,r,i)|0;A=a[n>>2]|0}f=f+1|0}a[A+288>>2]=i;return i+1|0}function BV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0,c=0;t=A+16|0;f=0;while(1){A=a[t>>2]|0;i=a[(a[A+180>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=a[i+16>>2]|0;if((a[r+164>>2]|0)<0){A=a[i>>2]&3;e=a[(a[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0;c=a[e+288>>2]|0;if((a[47259]|0)>(c|0)|(c|0)>(a[47260]|0)?(n=(a[e+232>>2]|0)-(a[(a[(a[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[r+170>>1]|0)|0,(n|0)<(a[47258]|0)|(a[47257]|0)==0):0){a[47257]=i;a[47258]=n}}else{e=a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0))BV(e)}f=f+1|0}while(1){e=a[(a[A+264>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(a[47258]|0)>0))break;e=a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0)){BV(e);A=a[t>>2]|0}i=i+1|0}return}function vV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0,c=0;t=A+16|0;f=0;while(1){A=a[t>>2]|0;i=a[(a[A+172>>2]|0)+(f<<2)>>2]|0;if(!i){i=0;break}r=a[i+16>>2]|0;if((a[r+164>>2]|0)<0){A=a[i>>2]&3;e=a[(a[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0;c=a[e+288>>2]|0;if((a[47259]|0)>(c|0)|(c|0)>(a[47260]|0)?(n=(a[(a[(a[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[e+232>>2]|0)-(l[r+170>>1]|0)|0,(n|0)<(a[47258]|0)|(a[47257]|0)==0):0){a[47257]=i;a[47258]=n}}else{e=a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0))vV(e)}f=f+1|0}while(1){e=a[(a[A+272>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(a[47258]|0)>0))break;e=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((a[(a[e+16>>2]|0)+288>>2]|0)<(a[A+288>>2]|0)){vV(e);A=a[t>>2]|0}i=i+1|0}return}function gV(A){A=A|0;var e=0;e=qF(16)|0;a[e>>2]=A;a[e+4>>2]=VV(A,e)|0;a[e+12>>2]=e;return e|0}function EV(A,e){A=A|0;e=e|0;var i=0,r=0;r=qF(8)|0;a[r>>2]=A;a[r+4>>2]=e;i=0;while(1){if((i|0)>=(e|0))break;a[(a[A+(i<<2)>>2]|0)+8>>2]=i;i=i+1|0}i=(e|0)/2|0;while(1){if((i|0)<=-1)break;QV(r,i);i=i+-1|0}return r|0}function CV(A){A=A|0;return a[A+4>>2]|0}function IV(A){A=A|0;var e=0,i=0,r=0,f=0;f=a[A>>2]|0;e=a[f>>2]|0;a[e+8>>2]=-1;i=A+4|0;r=(a[i>>2]|0)+-1|0;a[f>>2]=a[f+(r<<2)>>2];f=a[A>>2]|0;a[(a[f>>2]|0)+8>>2]=0;a[f+(r<<2)>>2]=e;a[i>>2]=r;QV(A,0);return e|0}function ZV(A){A=A|0;return FV(a[A>>2]|0,0,0)|0}function GV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,t=0;e=A+16|0;if((a[(a[e>>2]|0)+164>>2]|0)>-1)vA(102350,102331,463,102364);f=A+48|0;i=zV(a[((a[A>>2]&3|0)==3?A:f)+40>>2]|0)|0;t=A+-48|0;r=zV(a[((a[A>>2]&3|0)==2?A:t)+40>>2]|0)|0;n=a[A>>2]&3;e=(a[(a[(a[((n|0)==2?A:t)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((n|0)==3?A:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[e>>2]|0)+170>>1]|0)|0;if((a[i+8>>2]|0)==-1)YV(a[i>>2]|0,0,e);else YV(a[r>>2]|0,0,0-e|0);DV(A);return MV(i,r)|0}function QV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=a[A>>2]|0;n=a[A+4>>2]|0;while(1){A=e<<1;f=A+2|0;A=A|1;if(!((A|0)<(n|0)?(a[(a[l+(A<<2)>>2]|0)+4>>2]|0)<(a[(a[l+(e<<2)>>2]|0)+4>>2]|0):0))A=e;if((f|0)>=(n|0))break;i=l+(f<<2)|0;r=a[i>>2]|0;if((f|0)==(e|0)?1:(a[r+4>>2]|0)>=(a[(a[l+(A<<2)>>2]|0)+4>>2]|0))break;t=l+(e<<2)|0;A=a[t>>2]|0;a[t>>2]=r;a[i>>2]=A;a[(a[t>>2]|0)+8>>2]=e;a[A+8>>2]=f;e=f}return}function mV(){dV(a[(a[(a[47254]|0)+16>>2]|0)+192>>2]|0,0,1)|0;LV(a[(a[(a[47254]|0)+16>>2]|0)+192>>2]|0,0);return}function LV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+16|0;i=0;while(1){A=a[f>>2]|0;r=a[(a[A+272>>2]|0)+(i<<2)>>2]|0;if(!r){r=0;break}if((r|0)!=(e|0))LV(a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r);i=i+1|0}while(1){i=a[(a[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(e|0)){LV(a[((a[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,i);A=a[f>>2]|0}r=r+1|0}if(e|0)WV(e);return}function WV(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;e=a[A>>2]&3;i=a[((e|0)==3?A:A+48|0)+40>>2]|0;r=a[i+16>>2]|0;if((a[r+280>>2]|0)==(A|0))t=1;else{r=a[((e|0)==2?A:A+-48|0)+40>>2]|0;t=-1;i=r;r=a[r+16>>2]|0}n=a[r+180>>2]|0;e=0;f=0;while(1){l=a[n+(f<<2)>>2]|0;if(!l)break;e=(yV(l,i,t)|0)+e|0;f=f+1|0}n=a[r+172>>2]|0;r=0;while(1){f=a[n+(r<<2)>>2]|0;if(!f)break;e=(yV(f,i,t)|0)+e|0;r=r+1|0}a[(a[A+16>>2]|0)+160>>2]=e;return}function yV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=a[A>>2]&3;t=(l|0)==3?A:A+48|0;r=a[t+40>>2]|0;if((r|0)==(e|0))r=a[((l|0)==2?A:A+-48|0)+40>>2]|0;n=a[e+16>>2]|0;f=a[(a[r+16>>2]|0)+288>>2]|0;if((a[n+284>>2]|0)<=(f|0)?(f|0)<=(a[n+288>>2]|0):0){f=a[A+16>>2]|0;if((a[f+164>>2]|0)>-1)r=a[f+160>>2]|0;else r=0;n=1;r=r-(a[f+156>>2]|0)|0}else{n=0;r=a[(a[A+16>>2]|0)+156>>2]|0}t=(a[((i|0)>0?(l|0)==2?A:A+-48|0:t)+40>>2]|0)==(e|0)?1:-1;return(((n?t:0-t|0)|0)<0?0-r|0:r)|0}function zV(A){A=A|0;var e=0,i=0;A=a[(a[A+16>>2]|0)+280>>2]|0;while(1){e=A+12|0;i=a[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=a[i+12>>2]|0;if(!A){A=i;continue}a[e>>2]=A}return A|0}function YV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;l=A+16|0;r=a[l>>2]|0;n=r+232|0;a[n>>2]=(a[n>>2]|0)+i;n=0;while(1){f=a[(a[r+264>>2]|0)+(n<<2)>>2]|0;if(!f){n=0;break}f=a[((a[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(e|0)){YV(f,A,i);r=a[l>>2]|0}n=n+1|0}while(1){f=a[(a[r+272>>2]|0)+(n<<2)>>2]|0;if(!f)break;f=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(e|0)){YV(f,A,i);r=a[l>>2]|0}n=n+1|0}return}function DV(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;e=(a[A+16>>2]|0)+164|0;if((a[e>>2]|0)>-1){ao(1,102453,l)|0;fe(188848,1)}n=a[47255]|0;a[e>>2]=n;e=a[47256]|0;a[47255]=n+1;a[e+(n<<2)>>2]=A;e=a[A>>2]|0;n=A+48|0;i=a[((e&3|0)==3?A:n)+40>>2]|0;if(!(r[(a[i+16>>2]|0)+157>>0]|0)){f=a[47262]|0;e=a[47263]|0;a[47263]=e+1;a[f+(e<<2)>>2]=i;e=a[A>>2]|0}f=A+-48|0;i=a[((e&3|0)==2?A:f)+40>>2]|0;if(!(r[(a[i+16>>2]|0)+157>>0]|0)){t=a[47262]|0;e=a[47263]|0;a[47263]=e+1;a[t+(e<<2)>>2]=i;e=a[A>>2]|0}t=(a[((e&3|0)==3?A:n)+40>>2]|0)+16|0;e=a[t>>2]|0;r[e+157>>0]=1;i=a[e+272>>2]|0;e=e+276|0;n=a[e>>2]|0;a[e>>2]=n+1;a[i+(n<<2)>>2]=A;n=a[t>>2]|0;a[(a[n+272>>2]|0)+(a[n+276>>2]<<2)>>2]=0;t=a[t>>2]|0;if(!(a[(a[t+180>>2]|0)+((a[t+276>>2]|0)+-1<<2)>>2]|0)){ao(1,102487,l+8|0)|0;fe(188848,1)}t=(a[((a[A>>2]&3|0)==2?A:f)+40>>2]|0)+16|0;i=a[t>>2]|0;r[i+157>>0]=1;f=a[i+264>>2]|0;i=i+268|0;n=a[i>>2]|0;a[i>>2]=n+1;a[f+(n<<2)>>2]=A;A=a[t>>2]|0;a[(a[A+264>>2]|0)+(a[A+268>>2]<<2)>>2]=0;t=a[t>>2]|0;if(!(a[(a[t+172>>2]|0)+((a[t+268>>2]|0)+-1<<2)>>2]|0)){ao(1,102522,l+16|0)|0;fe(188848,1)}else{k=l;return}}function MV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;while(1){n=A+12|0;i=a[n>>2]|0;if((i|0)==0|(i|0)==(A|0))break;else A=i}while(1){f=e+12|0;i=a[f>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else e=i}if((A|0)!=(e|0)){r=a[A+8>>2]|0;i=a[e+8>>2]|0;do{if((r|0)>-1)if((i|0)==-1)l=A;else c=10;else if((i|0)>-1)if((r|0)==-1){l=e;break}else{c=10;break}else vA(102376,102331,327,102423)}while(0);if((c|0)==10)l=(a[e+4>>2]|0)<(a[A+4>>2]|0)?A:e;a[f>>2]=l;a[n>>2]=l;a[l+4>>2]=(a[e+4>>2]|0)+(a[A+4>>2]|0);if((a[l+8>>2]|0)>-1)t=l;else vA(102434,102331,335,102423)}else t=A;return t|0}function FV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0;s=zV(A)|0;if(i){b=a[i>>2]&3;if(((a[(a[(a[((b|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((b|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(l[(a[i+16>>2]|0)+170>>1]|0|0))r=3}else{i=0;r=3}A:do{if((r|0)==3){b=A+16|0;c=0;while(1){r=a[b>>2]|0;t=a[(a[r+180>>2]|0)+(c<<2)>>2]|0;if(!t){c=0;break}r=t+16|0;f=t+-48|0;n=a[((a[t>>2]&3|0)==2?t:f)+40>>2]|0;do{if((a[(a[r>>2]|0)+164>>2]|0)>-1){if((n|0)!=(e|0))i=FV(n,A,i)|0}else if((zV(n)|0)!=(s|0)){if(i|0?(w=a[t>>2]&3,n=a[i>>2]&3,((a[(a[(a[((w|0)==2?t:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((w|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[r>>2]|0)+170>>1]|0)|0)>=((a[(a[(a[((n|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((n|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=t}}while(0);c=c+1|0}while(1){r=a[(a[r+172>>2]|0)+(c<<2)>>2]|0;if(!r)break A;f=r+16|0;n=r+48|0;t=a[((a[r>>2]&3|0)==3?r:n)+40>>2]|0;do{if((a[(a[f>>2]|0)+164>>2]|0)>-1){if((t|0)!=(e|0))i=FV(t,A,i)|0}else if((zV(t)|0)!=(s|0)){if(i|0?(t=a[r>>2]&3,w=a[i>>2]&3,((a[(a[(a[((t|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((t|0)==3?r:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[f>>2]|0)+170>>1]|0)|0)>=((a[(a[(a[((w|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[(a[(a[((w|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(l[(a[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=r}}while(0);c=c+1|0;r=a[b>>2]|0}}}while(0);return i|0}function VV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;s=A+16|0;i=a[s>>2]|0;a[i+280>>2]=e;A=1;n=0;while(1){f=a[(a[i+172>>2]|0)+(n<<2)>>2]|0;if(!f){n=0;break}r=a[f+16>>2]|0;if(((a[r+164>>2]|0)<=-1?(t=a[f>>2]&3,c=f+48|0,b=a[(a[((t|0)==3?f:c)+40>>2]|0)+16>>2]|0,(a[b+280>>2]|0)==0):0)?((a[(a[(a[((t|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(a[b+232>>2]|0)|0)==(l[r+170>>1]|0|0):0){DV(f);A=(VV(a[((a[f>>2]&3|0)==3?f:c)+40>>2]|0,e)|0)+A|0;i=a[s>>2]|0}n=n+1|0}while(1){r=a[(a[i+180>>2]|0)+(n<<2)>>2]|0;if(!r)break;f=a[r+16>>2]|0;if(((a[f+164>>2]|0)<=-1?(w=a[r>>2]&3,u=r+-48|0,k=a[(a[((w|0)==2?r:u)+40>>2]|0)+16>>2]|0,(a[k+280>>2]|0)==0):0)?((a[k+232>>2]|0)-(a[(a[(a[((w|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(l[f+170>>1]|0|0):0){DV(r);A=(VV(a[((a[r>>2]&3|0)==2?r:u)+40>>2]|0,e)|0)+A|0;i=a[s>>2]|0}n=n+1|0}return A|0}function JV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,102586)|0;if(!r)r=30;else r=q3(r)|0;return iV(A,e,i,r)|0}function NV(A){A=+A;return+(0==0?A:+b[23301]-A)}function XV(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0;d=k;k=k+16|0;h=d;a[47264]=a[(a[(a[e+64>>2]|0)+8>>2]|0)+4>>2];RV(e);l=a[e+16>>2]|0;v=+b[l+32>>3];B=+b[l+40>>3];HV(i,102597,+b[A+352>>3]);HV(i,102604,v*.013888888888888888);HV(i,102604,B*.013888888888888888);pV(i);l=cd(e)|0;while(1){if(!l)break;n=l+16|0;if(!(r[(a[n>>2]|0)+118>>0]|0)){UV(i,102606,$B(Vh(l)|0)|0);o=(a[n>>2]|0)+16|0;a[h>>2]=a[o>>2];a[h+4>>2]=a[o+4>>2];a[h+8>>2]=a[o+8>>2];a[h+12>>2]=a[o+12>>2];xV(i,h);if(!(r[(a[(a[n>>2]|0)+104>>2]|0)+82>>0]|0)){A=Id(l)|0;A=TV(A,a[a[(a[n>>2]|0)+104>>2]>>2]|0)|0}else A=$B(Uo(l,a[47154]|0)|0)|0;HV(i,102604,+b[(a[n>>2]|0)+32>>3]);HV(i,102604,+b[(a[n>>2]|0)+40>>3]);UV(i,102604,A);UV(i,102604,BR(l,a[47157]|0,111067)|0);UV(i,102604,a[a[(a[n>>2]|0)+8>>2]>>2]|0);UV(i,102604,BR(l,a[47148]|0,137314)|0);A=BR(l,a[47149]|0,195059)|0;if(!(r[A>>0]|0))A=BR(l,a[47148]|0,134800)|0;UV(i,102604,A);pV(i)}l=bd(e,l)|0}u=f<<24>>24==0;w=cd(e)|0;while(1){if(!w)break;s=Oo(e,w)|0;while(1){if(!s)break;if(u){f=195059;t=195059}else{t=po(s,111455)|0;f=po(s,111464)|0;f=f|0?f:195059;t=t|0?t:195059}o=s+16|0;A=a[o>>2]|0;c=a[A+8>>2]|0;A:do{if(c){l=a[c+4>>2]|0;A=0;n=0;while(1){if((A|0)>=(l|0))break;g=(a[(a[c>>2]|0)+(A*48|0)+4>>2]|0)+n|0;A=A+1|0;n=g}UV(i,0,111450);jV(i,a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0,t);jV(i,a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0,f);SV(i,n);f=0;while(1){A=a[o>>2]|0;n=a[A+8>>2]|0;if((f|0)>=(a[n+4>>2]|0))break A;l=a[n>>2]|0;n=a[l+(f*48|0)>>2]|0;l=a[l+(f*48|0)+4>>2]|0;A=0;while(1){if((A|0)>=(l|0))break;g=n+(A<<4)|0;a[h>>2]=a[g>>2];a[h+4>>2]=a[g+4>>2];a[h+8>>2]=a[g+8>>2];a[h+12>>2]=a[g+12>>2];xV(i,h);A=A+1|0}f=f+1|0}}}while(0);if(a[A+96>>2]|0){g=Id(a[((a[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;UV(i,102604,TV(g,a[a[(a[o>>2]|0)+96>>2]>>2]|0)|0);g=(a[(a[o>>2]|0)+96>>2]|0)+56|0;a[h>>2]=a[g>>2];a[h+4>>2]=a[g+4>>2];a[h+8>>2]=a[g+8>>2];a[h+12>>2]=a[g+12>>2];xV(i,h)}UV(i,102604,BR(s,a[47185]|0,111067)|0);UV(i,102604,BR(s,a[47176]|0,137314)|0);pV(i);s=_o(e,s)|0}w=bd(e,w)|0}PV(102612,i);k=d;return}function RV(A){A=A|0;var e=0.0;if(0){A=a[A+16>>2]|0;e=+b[A+24>>3]+ +b[A+40>>3];b[23301]=e;b[23302]=e*.013888888888888888}return}function HV(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,a=0;a=k;k=k+1040|0;f=a;r=a+8|0;if(e|0)PV(e,A);b[f>>3]=i;P4(r,102618,f)|0;PV(r,A);k=a;return}function pV(A){A=A|0;r[194955]=10;m5[a[47264]&127](A,194955)|0;return}function UV(A,e,i){A=A|0;e=e|0;i=i|0;if(e|0)PV(e,A);PV(i,A);return}function xV(A,e){A=A|0;e=e|0;var i=0.0;HV(A,102604,+b[e>>3]*.013888888888888888);if(!0)i=+b[e+8>>3];else i=+b[23301]-+b[e+8>>3];HV(A,102604,i*.013888888888888888);return}function TV(A,e){A=A|0;e=e|0;var i=0;i=aB(A,e)|0;e=$B(i)|0;lB(A,i)|0;return e|0}function jV(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!(r[(a[e+16>>2]|0)+118>>0]|0))e=$B(Vh(e)|0)|0;else{f=Id(e)|0;e=TV(f,(G1(Vh(e)|0,58)|0)+1|0)|0}UV(A,102604,e);if(i|0?r[i>>0]|0:0)UV(A,107984,$B(i)|0);return}function SV(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+1040|0;f=i;r=i+8|0;PV(102604,A);a[f>>2]=e;P4(r,137395,f)|0;PV(r,A);k=i;return}function PV(A,e){A=A|0;e=e|0;m5[a[47264]&127](e,A)|0;return}function OV(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,c=0,s=0.0,w=0,u=0.0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0;K=k;k=k+2288|0;P=K+208|0;S=K+192|0;j=K+176|0;T=K+160|0;x=K+144|0;U=K+128|0;H=K+112|0;R=K+96|0;X=K+80|0;N=K+64|0;J=K+56|0;V=K+48|0;O=K+32|0;p=K+24|0;F=K;y=K+1264|0;z=K+224|0;Y=A+16|0;L=(l[(a[Y>>2]|0)+178>>1]|0)>2;nF(1);RV(A);co(z,1024,K+240|0);oH(A,1,102623,195059)|0;oH(A,1,102627,195059)|0;a[47146]=oH(A,1,141116,195059)|0;a[47145]=oH(A,1,141048,195059)|0;oH(A,2,102623,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0;if(n&16){oH(A,1,102633,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&1){oH(A,2,102637,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&32){oH(A,2,102633,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&2){oH(A,2,102640,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(n&4){oH(A,2,102648,195059)|0;n=r[(a[Y>>2]|0)+113>>0]|0}if(!(n&8)){E=0;C=0;I=0}else{I=oH(A,0,102637,195059)|0;C=oH(A,0,102656,195059)|0;E=oH(A,0,102663,195059)|0}G=oH(A,0,102671,195059)|0;Q=z+4|0;m=z+8|0;g=0;n=0;Z=cd(A)|0;while(1){if(!Z)break;v=Z+16|0;c=a[v>>2]|0;u=+b[c+16>>3];t=0==0;if(L){if(t)s=+b[c+24>>3];else s=+b[23301]-+b[c+24>>3];h=+b[(a[c+132>>2]|0)+16>>3]*72.0;b[F>>3]=u;b[F+8>>3]=s;b[F+16>>3]=h;P4(y,102674,F)|0;wo(z,y)|0;t=3;while(1){if((t|0)>=(l[(a[Y>>2]|0)+178>>1]|0))break;b[p>>3]=+b[(a[(a[v>>2]|0)+132>>2]|0)+(t<<3)>>3]*72.0;P4(y,102689,p)|0;wo(z,y)|0;t=t+1|0}t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;B=a[z>>2]|0;a[Q>>2]=B;xo(Z,102623,B)|0;B=Z}else{if(t)s=+b[c+24>>3];else s=+b[23301]-+b[c+24>>3];b[O>>3]=u;b[O+8>>3]=s;P4(y,102695,O)|0;xo(Z,102623,y)|0;B=Z}b[V>>3]=+b[(a[v>>2]|0)+80>>3]*.013888888888888888;P4(y,102618,V)|0;Vo(B,a[47145]|0,y)|0;t=a[v>>2]|0;b[J>>3]=(+b[t+96>>3]+ +b[t+88>>3])*.013888888888888888;P4(y,102618,J)|0;Vo(B,a[47146]|0,y)|0;t=a[v>>2]|0;c=a[t+108>>2]|0;if((c|0)!=0?(r[c+81>>0]|0)!=0:0){h=+b[c+64>>3];h=0==0?h:+b[23301]-h;b[N>>3]=+b[c+56>>3];b[N+8>>3]=h;P4(y,102695,N)|0;xo(B,102633,y)|0;t=a[v>>2]|0}if(A1(a[a[t+8>>2]>>2]|0,106220)|0){if(a[47170]|0?(ZN(Z)|0)<<24>>24:0){c=a[(a[v>>2]|0)+12>>2]|0;d=c+8|0;t=a[d>>2]|0;if((t|0)<3){t=po(B,102705)|0;if(!t)t=8;else t=q3(t)|0;t=(t|0)<3?8:t}o=c+44|0;h=1.0/+(t|0);w=0;while(1){if((w|0)>=(t|0))break;if((w|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=32}if((a[d>>2]|0)>2){c=a[o>>2]|0;if(!0)s=+b[c+(w<<4)+8>>3]*.013888888888888888;else s=+b[23302]-+b[c+(w<<4)+8>>3]*.013888888888888888;b[X>>3]=+b[c+(w<<4)>>3]*.013888888888888888;b[X+8>>3]=s;P4(y,102718,X)|0}else{c=a[v>>2]|0;s=h*+(w|0)*6.283185307179586;u=+b[c+32>>3]*.5*+D(+s);if(!0)s=+b[c+40>>3]*.5*+M(+s);else s=+b[23302]-+b[c+40>>3]*.5*+M(+s);b[R>>3]=u;b[R+8>>3]=s;P4(y,102718,R)|0}wo(z,y)|0;w=w+1|0}c=a[47170]|0;t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;v=a[z>>2]|0;a[Q>>2]=v;Vo(B,c,v)|0}}else{KV(Z,a[t+12>>2]|0,z);ko(z)|0;t=a[Q>>2]|0;if(t>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;t=a[Q>>2]|0}r[t>>0]=0;v=a[z>>2]|0;a[Q>>2]=v;xo(B,102627,v)|0}A:do{if((a[47138]|0)>0){v=Oo(A,Z)|0;t=g;while(1){if(!v)break A;B=v+16|0;c=a[B>>2]|0;do{if((r[c+112>>0]|0)!=6?(W=a[c+8>>2]|0,(W|0)!=0):0){d=0;c=W;while(1){if((d|0)>=(a[c+4>>2]|0))break;if((d|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=59;c=a[(a[B>>2]|0)+8>>2]|0}c=a[c>>2]|0;if(a[c+(d*48|0)+8>>2]|0){if(!0)s=+b[c+(d*48|0)+24>>3];else s=+b[23301]-+b[c+(d*48|0)+24>>3];b[H>>3]=+b[c+(d*48|0)+16>>3];b[H+8>>3]=s;P4(y,102728,H)|0;wo(z,y)|0;n=1;c=a[a[(a[B>>2]|0)+8>>2]>>2]|0}if(a[c+(d*48|0)+12>>2]|0){if(!0)s=+b[c+(d*48|0)+40>>3];else s=+b[23301]-+b[c+(d*48|0)+40>>3];b[U>>3]=+b[c+(d*48|0)+32>>3];b[U+8>>3]=s;P4(y,102741,U)|0;wo(z,y)|0;t=1}o=0;while(1){c=a[(a[B>>2]|0)+8>>2]|0;w=a[c>>2]|0;if((o|0)>=(a[w+(d*48|0)+4>>2]|0))break;if((o|0)>0){c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}a[Q>>2]=c+1;r[c>>0]=32;c=a[a[(a[B>>2]|0)+8>>2]>>2]|0}else c=w;g=a[c+(d*48|0)>>2]|0;h=+b[g+(o<<4)+8>>3];h=0==0?h:+b[23301]-h;b[x>>3]=+b[g+(o<<4)>>3];b[x+8>>3]=h;P4(y,102695,x)|0;wo(z,y)|0;o=o+1|0}d=d+1|0}c=a[Q>>2]|0;if(c>>>0>=(a[m>>2]|0)>>>0){bo(z,1)|0;c=a[Q>>2]|0}r[c>>0]=0;c=a[z>>2]|0;a[Q>>2]=c;xo(v,102623,c)|0;c=a[B>>2]|0;w=a[c+96>>2]|0;if(w){h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[T>>3]=+b[w+56>>3];b[T+8>>3]=h;P4(y,102695,T)|0;xo(v,102637,y)|0;c=a[B>>2]|0}w=a[c+108>>2]|0;do{if(w){if(!(r[w+81>>0]|0))break;h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[j>>3]=+b[w+56>>3];b[j+8>>3]=h;P4(y,102695,j)|0;xo(v,102633,y)|0;c=a[B>>2]|0}}while(0);w=a[c+100>>2]|0;if(w){h=+b[w+64>>3];h=0==0?h:+b[23301]-h;b[S>>3]=+b[w+56>>3];b[S+8>>3]=h;P4(y,102695,S)|0;xo(v,102640,y)|0;c=a[B>>2]|0}c=a[c+104>>2]|0;if(!c)break;h=+b[c+64>>3];h=0==0?h:+b[23301]-h;b[P>>3]=+b[c+56>>3];b[P+8>>3]=h;P4(y,102695,P)|0;xo(v,102648,y)|0}}while(0);v=_o(A,v)|0}}else t=g}while(0);g=t;Z=bd(A,Z)|0}_V(A,G,I,C,E);uo(z);if(f[(a[Y>>2]|0)+136>>1]&1)cH(A);a[e>>2]=n;a[i>>2]=g;nF(0);k=K;return}function KV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0.0;w=k;k=k+1056|0;c=w;t=w+32|0;s=e+48|0;if(!(a[s>>2]|0)){r=a[A+16>>2]|0;l=+b[r+16>>3];if(!0){n=+b[r+24>>3];f=n+ +b[e+24>>3];n=n+ +b[e+40>>3]}else{n=+b[r+24>>3];f=+b[23301]-+b[e+24>>3]-n;n=+b[23301]-+b[e+40>>3]-n}u=l+ +b[e+32>>3];b[c>>3]=l+ +b[e+16>>3];b[c+8>>3]=f;b[c+16>>3]=u;b[c+24>>3]=n;P4(t,102779,c)|0;wo(i,t)|0}e=e+56|0;r=0;while(1){if((r|0)>=(a[s>>2]|0))break;KV(A,a[(a[e>>2]|0)+(r<<2)>>2]|0,i);r=r+1|0}k=w;return}function _V(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0;B=k;k=k+1088|0;u=B+56|0;h=B+48|0;o=B+32|0;t=B;w=B+64|0;d=A+16|0;l=a[d>>2]|0;if(!0){c=+b[l+24>>3];s=+b[l+40>>3]}else{s=+b[23301];c=s-+b[l+24>>3];s=s-+b[l+40>>3]}v=+b[l+32>>3];b[t>>3]=+b[l+16>>3];b[t+8>>3]=c;b[t+16>>3]=v;b[t+24>>3]=s;P4(w,102754,t)|0;Vo(A,e,w)|0;l=a[(a[d>>2]|0)+12>>2]|0;if((l|0)!=0?(r[a[l>>2]>>0]|0)!=0:0){v=+b[l+64>>3];v=0==0?v:+b[23301]-v;b[o>>3]=+b[l+56>>3];b[o+8>>3]=v;P4(w,102695,o)|0;Vo(A,i,w)|0;l=a[(a[d>>2]|0)+12>>2]|0;v=+b[l+32>>3];b[h>>3]=+b[l+24>>3]*.013888888888888888;P4(w,102774,h)|0;Vo(A,f,w)|0;b[u>>3]=v*.013888888888888888;P4(w,102774,u)|0;Vo(A,n,w)|0;l=1}else l=1;while(1){t=a[d>>2]|0;if((l|0)>(a[t+180>>2]|0))break;_V(a[(a[t+184>>2]|0)+(l<<2)>>2]|0,e,i,f,n);l=l+1|0}k=B;return}function qV(A){A=A|0;var e=0;e=k;k=k+16|0;OV(A,e,e+4|0);k=e;return}function $V(){return jk(20740,a[4581]|0)|0}function AJ(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function eJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if((A|0)<=(r|0))if((A|0)<(r|0))A=-1;else{e=a[e+4>>2]|0;i=a[i+4>>2]|0;return((e|0)>(i|0)?1:((e|0)<(i|0))<<31>>31)|0}else A=1;return A|0}function iJ(A){A=A|0;pk(A)|0;return}function rJ(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];e=fJ(r)|0;if((W5[a[A>>2]&63](A,e,1)|0)!=(e|0))L2(e);k=i;return}function fJ(A){A=A|0;var e=0,i=0,r=0;e=qF(16)|0;r=A;i=a[r+4>>2]|0;A=e+8|0;a[A>>2]=a[r>>2];a[A+4>>2]=i;return e|0}function aJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r+8|0;n=r;a[n>>2]=e;a[n+4>>2]=i;a[f>>2]=a[n>>2];a[f+4>>2]=a[n+4>>2];e=fJ(f)|0;if((W5[a[A>>2]&63](A,e,1)|0)!=(e|0))L2(e);k=r;return}function nJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+16|0;r=i;n=e;f=a[n+4>>2]|0;e=r+8|0;a[e>>2]=a[n>>2];a[e+4>>2]=f;e=(W5[a[A>>2]&63](A,r,4)|0)!=0&1;k=i;return e|0}function lJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f+8>>2]=e;a[f+12>>2]=i;i=(W5[a[A>>2]&63](A,f,4)|0)!=0&1;k=r;return i|0}function tJ(A){A=A|0;return Pk(A)|0}function cJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=qF((Pk(A)|0)<<3)|0;e=i;A=xk(A)|0;while(1){if(!A)break;n=A+8|0;f=a[n+4>>2]|0;r=e;a[r>>2]=a[n>>2];a[r+4>>2]=f;e=e+8|0;A=a[A>>2]|0}return i|0}function bJ(){var A=0,e=0,i=0,r=0;A=$F(40)|0;e=A;i=20776;r=e+36|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));a[A+36>>2]=0;return jk(A,a[4581]|0)|0}function sJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;i=i+36|0;A=a[i>>2]|0;if(!A)A=$F(20)|0;else a[i>>2]=a[A>>2];f=e+8|0;r=a[f+4>>2]|0;i=A+8|0;a[i>>2]=a[f>>2];a[i+4>>2]=r;a[A+16>>2]=a[e+16>>2];return A|0}function wJ(A,e,i){A=A|0;e=e|0;i=i|0;i=i+36|0;a[e>>2]=a[i>>2];a[i>>2]=e;return}function uJ(A){A=A|0;W5[a[A>>2]&63](A,0,64)|0;return}function kJ(A){A=A|0;var e=0,i=0;e=a[A+4>>2]|0;pk(A)|0;A=a[e+36>>2]|0;while(1){if(!A)break;i=a[A>>2]|0;L2(A);A=i}L2(e);return}function oJ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=k;k=k+32|0;n=f;a[n+8>>2]=e;a[n+12>>2]=i;a[n+16>>2]=r;r=a[(W5[a[A>>2]&63](A,n,1)|0)+16>>2]|0;k=f;return r|0}function hJ(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+160|0;h=v+144|0;i=v+48|0;t=v+128|0;c=v+112|0;s=v+96|0;w=v+80|0;u=v+32|0;o=v+16|0;d=v;B=A+16|0;A=a[B>>2]|0;r=+b[A+16>>3];f=+b[A+24>>3];n=+b[A+32>>3];l=+b[A+40>>3];if((e+-1|0)>>>0<2){dJ(t,r,l);a[h>>2]=a[t>>2];a[h+4>>2]=a[t+4>>2];a[h+8>>2]=a[t+8>>2];a[h+12>>2]=a[t+12>>2];BJ(i,h);o=i+16|0;dJ(c,n,f);a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];BJ(s,h);a[o>>2]=a[s>>2];a[o+4>>2]=a[s+4>>2];a[o+8>>2]=a[s+8>>2];a[o+12>>2]=a[s+12>>2]}else{dJ(w,r,f);a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];BJ(i,h);w=i+16|0;dJ(u,n,l);a[h>>2]=a[u>>2];a[h+4>>2]=a[u+4>>2];a[h+8>>2]=a[u+8>>2];a[h+12>>2]=a[u+12>>2];BJ(o,h);a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2]}A=(a[B>>2]|0)+16|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];a[A+16>>2]=a[i+16>>2];a[A+20>>2]=a[i+20>>2];a[A+24>>2]=a[i+24>>2];a[A+28>>2]=a[i+28>>2];A=a[(a[B>>2]|0)+12>>2]|0;if(!A)A=1;else{A=A+56|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];BJ(d,h);a[A>>2]=a[d>>2];a[A+4>>2]=a[d+4>>2];a[A+8>>2]=a[d+8>>2];a[A+12>>2]=a[d+12>>2];A=1}while(1){i=a[B>>2]|0;if((A|0)>(a[i+180>>2]|0))break;hJ(a[(a[i+184>>2]|0)+(A<<2)>>2]|0,e);A=A+1|0}k=v;return}function dJ(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function BJ(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+32|0;n=i+16|0;r=i;f=(a[47265]|0)*90|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];WF(r,n,f);a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2];b[e>>3]=+b[e>>3]-+b[23303];r=e+8|0;b[r>>3]=+b[r>>3]-+b[23304];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];k=i;return}function vJ(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;C=k;k=k+1168|0;B=C+144|0;E=C+96|0;g=C+64|0;v=C+48|0;u=C+32|0;o=C+16|0;h=C;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;d=A+16|0;s=a[(a[d>>2]|0)+116>>2]|0;a[47265]=s&3;s=s&1;r[194957]=s;if(!(s<<24>>24))EJ(A);else gJ(A);CJ(A);s=a[d>>2]|0;i=a[s+12>>2]|0;do{if(i|0?(r[i+81>>0]|0)==0:0){n=i+24|0;a[v>>2]=a[n>>2];a[v+4>>2]=a[n+4>>2];a[v+8>>2]=a[n+8>>2];a[v+12>>2]=a[n+12>>2];w=+b[v>>3]+16.0;b[v>>3]=w;n=v+8|0;f=+b[n>>3]+8.0;b[n>>3]=f;n=(r[s+275>>0]&1)!=0;if(r[194957]|0){if(n){l=s+32|0;b[l>>3]=+b[l>>3]+f}else{l=s+16|0;b[l>>3]=+b[l>>3]-f}n=s+40|0;f=+b[n>>3];l=s+24|0;t=+b[l>>3];c=f-t;if(!(w>c))break;w=(w-c)*.5;b[l>>3]=t-w;b[n>>3]=f+w;break}l=(a[47265]|0)==0;do{if(n)if(l){l=s+40|0;b[l>>3]=+b[l>>3]+f;break}else{l=s+24|0;b[l>>3]=+b[l>>3]-f;break}else if(l){l=s+24|0;b[l>>3]=+b[l>>3]-f;break}else{l=s+40|0;b[l>>3]=+b[l>>3]+f;break}}while(0);n=s+32|0;f=+b[n>>3];l=s+16|0;t=+b[l>>3];c=f-t;if(w>c){w=(w-c)*.5;b[l>>3]=t-w;b[n>>3]=f+w}}}while(0);if(e){switch(a[47265]|0){case 0:{h=s+16|0;a[46606]=a[h>>2];a[46607]=a[h+4>>2];a[46608]=a[h+8>>2];a[46609]=a[h+12>>2];break}case 1:{dJ(u,-+b[s+40>>3],+b[s+16>>3]);a[46606]=a[u>>2];a[46607]=a[u+4>>2];a[46608]=a[u+8>>2];a[46609]=a[u+12>>2];break}case 2:{dJ(o,+b[s+16>>3],-+b[s+40>>3]);a[46606]=a[o>>2];a[46607]=a[o+4>>2];a[46608]=a[o+8>>2];a[46609]=a[o+12>>2];break}case 3:{dJ(h,+b[s+24>>3],+b[s+16>>3]);a[46606]=a[h>>2];a[46607]=a[h+4>>2];a[46608]=a[h+8>>2];a[46609]=a[h+12>>2];break}default:{}}IJ(A);i=a[(a[d>>2]|0)+12>>2]|0}if(i|0?(r[i+81>>0]|0)==0:0){a[B>>2]=a[v>>2];a[B+4>>2]=a[v+4>>2];a[B+8>>2]=a[v+8>>2];a[B+12>>2]=a[v+12>>2];ZJ(A,B)}if(!0){k=C;return}if(!(r[194957]|0)){w=+b[23304];c=+b[23303];b[E>>3]=w;b[E+8>>3]=c;b[E+16>>3]=w;b[E+24>>3]=c;b[E+32>>3]=-c;b[E+40>>3]=-w;P4(B,103015,E)|0}else{c=+b[23303];w=+b[23304];b[g>>3]=c;b[g+8>>3]=w;b[g+16>>3]=c;b[g+24>>3]=w;P4(B,102800,g)|0}s3(B)|0;re()}function gJ(A){A=A|0;var e=0,i=0.0,f=0.0,n=0,l=0,t=0;t=A+16|0;if(((Zd(A)|0)!=(A|0)?(n=a[t>>2]|0,l=a[n+12>>2]|0,(l|0)!=0):0)?(r[l+81>>0]|0)==0:0){e=r[n+275>>0]|0;if(!(e&1)){f=+b[n+16>>3]+ +b[n+96>>3]*.5;A=n+104|0}else{f=+b[n+32>>3]-+b[n+64>>3]*.5;A=n+72|0}i=+b[A>>3];A=e<<24>>24;do{if(!(A&4))if(!(A&2)){i=(+b[n+40>>3]+ +b[n+24>>3])*.5;break}else{i=+b[n+40>>3]-i*.5;break}else i=+b[n+24>>3]+i*.5}while(0);b[l+56>>3]=f;b[l+64>>3]=i;r[(a[(a[t>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=a[t>>2]|0;if((A|0)>(a[e+180>>2]|0))break;gJ(a[(a[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function EJ(A){A=A|0;var e=0,i=0.0,f=0.0,n=0.0,l=0,t=0,c=0;c=A+16|0;if(((Zd(A)|0)!=(A|0)?(l=a[c>>2]|0,t=a[l+12>>2]|0,(t|0)!=0):0)?(r[t+81>>0]|0)==0:0){e=r[l+275>>0]|0;if(!(e&1)){n=+b[l+24>>3]+ +b[l+56>>3]*.5;A=l+48|0}else{n=+b[l+40>>3]-+b[l+88>>3]*.5;A=l+80|0}f=+b[A>>3];A=e<<24>>24;do{if(!(A&4)){i=+b[l+16>>3];if(!(A&2)){i=(+b[l+32>>3]+i)*.5;break}else{i=i+f*.5;break}}else i=+b[l+32>>3]-f*.5}while(0);b[t+56>>3]=i;b[t+64>>3]=n;r[(a[(a[c>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=a[c>>2]|0;if((A|0)>(a[e+180>>2]|0))break;EJ(a[(a[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function CJ(A){A=A|0;var e=0,i=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0;x=k;k=k+544|0;J=x+504|0;U=x+416|0;p=x+376|0;V=x+352|0;F=x+312|0;M=x+288|0;D=x+248|0;N=x+200|0;m=x+152|0;R=x+96|0;o=x+488|0;L=x+456|0;W=x+424|0;y=x+384|0;z=x+360|0;Y=x+320|0;C=x+296|0;I=x+256|0;Z=x+232|0;G=x+168|0;Q=x+136|0;e=x+56|0;X=x+16|0;H=x;u=A+16|0;g=a[u>>2]|0;i=f[g+136>>1]&14;g=n[g+113>>0]|0;if(!((g&54|0)==0?(g&1|0)==0|(a[47139]|0)!=0:0)){g=i<<16>>16==0;w=cd(A)|0;l=0;c=0;t=0;while(1){if(!w)break;i=a[(a[w+16>>2]|0)+108>>2]|0;do{if(i)if(!(r[i+81>>0]|0)){t=t+1|0;break}else{l=l+1|0;break}}while(0);s=Oo(A,w)|0;i=c;while(1){if(!s)break;b=a[s+16>>2]|0;c=a[b+108>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+100>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+104>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);c=a[b+96>>2]|0;do{if(c){if(r[c+81>>0]|0){l=l+1|0;break}if(!g)i=i+((a[b+8>>2]|0)!=0&1)|0}}while(0);s=_o(A,s)|0}w=bd(A,w)|0;c=i}if(!(r[(a[u>>2]|0)+113>>0]&8))u=0;else u=QJ(A)|0;v=c+t|0;if(v|0){h=l+c+u+(vh(A)|0)|0;d=qF(h*40|0)|0;B=qF(v*40|0)|0;dJ(N,2147483647.0,2147483647.0);i=N+16|0;dJ(o,-2147483647.0,-2147483647.0);a[i>>2]=a[o>>2];a[i+4>>2]=a[o+4>>2];a[i+8>>2]=a[o+8>>2];a[i+12>>2]=a[o+12>>2];i=B;t=d;w=cd(A)|0;while(1){if(!w)break;a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];mJ(L,w,t,J);a[N>>2]=a[L>>2];a[N+4>>2]=a[L+4>>2];a[N+8>>2]=a[L+8>>2];a[N+12>>2]=a[L+12>>2];a[N+16>>2]=a[L+16>>2];a[N+20>>2]=a[L+20>>2];a[N+24>>2]=a[L+24>>2];a[N+28>>2]=a[L+28>>2];l=a[(a[w+16>>2]|0)+108>>2]|0;do{if(l)if(!(r[l+81>>0]|0)){a[J>>2]=a[m>>2];a[J+4>>2]=a[m+4>>2];a[J+8>>2]=a[m+8>>2];a[J+12>>2]=a[m+12>>2];WJ(l,t,i,0,J);i=i+40|0;break}else{t=t+40|0;a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(W,l,t,J);a[N>>2]=a[W>>2];a[N+4>>2]=a[W+4>>2];a[N+8>>2]=a[W+8>>2];a[N+12>>2]=a[W+12>>2];a[N+16>>2]=a[W+16>>2];a[N+20>>2]=a[W+20>>2];a[N+24>>2]=a[W+24>>2];a[N+28>>2]=a[W+28>>2];break}}while(0);s=Oo(A,w)|0;t=t+40|0;while(1){if(!s)break;b=s+16|0;l=a[b>>2]|0;c=a[l+96>>2]|0;A:do{if(!c)E=52;else{do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){NX(z,A,s);a[J>>2]=a[z>>2];a[J+4>>2]=a[z+4>>2];a[J+8>>2]=a[z+8>>2];a[J+12>>2]=a[z+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[D>>2]=a[c>>2];ao(0,103827,D)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(y,c,t,J);a[N>>2]=a[y>>2];a[N+4>>2]=a[y+4>>2];a[N+8>>2]=a[y+8>>2];a[N+12>>2]=a[y+12>>2];a[N+16>>2]=a[y+16>>2];a[N+20>>2]=a[y+20>>2];a[N+24>>2]=a[y+24>>2];a[N+28>>2]=a[y+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0;E=52}}while(0);A:do{if((E|0)==52){E=0;c=a[l+104>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){yJ(C,s);a[J>>2]=a[C>>2];a[J+4>>2]=a[C+4>>2];a[J+8>>2]=a[C+8>>2];a[J+12>>2]=a[C+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[M>>2]=a[c>>2];ao(0,103862,M)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(Y,c,t,J);a[N>>2]=a[Y>>2];a[N+4>>2]=a[Y+4>>2];a[N+8>>2]=a[Y+8>>2];a[N+12>>2]=a[Y+12>>2];a[N+16>>2]=a[Y+16>>2];a[N+20>>2]=a[Y+20>>2];a[N+24>>2]=a[Y+24>>2];a[N+28>>2]=a[Y+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0}c=a[l+100>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){zJ(Z,s);a[J>>2]=a[Z>>2];a[J+4>>2]=a[Z+4>>2];a[J+8>>2]=a[Z+8>>2];a[J+12>>2]=a[Z+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[F>>2]=a[c>>2];ao(0,103902,F)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(I,c,t,J);a[N>>2]=a[I>>2];a[N+4>>2]=a[I+4>>2];a[N+8>>2]=a[I+8>>2];a[N+12>>2]=a[I+12>>2];a[N+16>>2]=a[I+16>>2];a[N+20>>2]=a[I+20>>2];a[N+24>>2]=a[I+24>>2];a[N+28>>2]=a[I+28>>2]}}while(0);t=t+40|0;l=a[b>>2]|0}c=a[l+108>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?a[l+8>>2]|0:0){NX(Q,A,s);a[J>>2]=a[Q>>2];a[J+4>>2]=a[Q+4>>2];a[J+8>>2]=a[Q+8>>2];a[J+12>>2]=a[Q+12>>2];WJ(c,t,i,1,J);i=i+40|0;break}a[V>>2]=a[c>>2];ao(0,103942,V)|0;break A}else{a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];a[J+16>>2]=a[N+16>>2];a[J+20>>2]=a[N+20>>2];a[J+24>>2]=a[N+24>>2];a[J+28>>2]=a[N+28>>2];LJ(G,c,t,J);a[N>>2]=a[G>>2];a[N+4>>2]=a[G+4>>2];a[N+8>>2]=a[G+8>>2];a[N+12>>2]=a[G+12>>2];a[N+16>>2]=a[G+16>>2];a[N+20>>2]=a[G+20>>2];a[N+24>>2]=a[G+24>>2];a[N+28>>2]=a[G+28>>2]}}while(0);t=t+40|0}}}while(0);s=_o(A,s)|0}w=bd(A,w)|0}if(u|0){a[e>>2]=a[N>>2];a[e+4>>2]=a[N+4>>2];a[e+8>>2]=a[N+8>>2];a[e+12>>2]=a[N+12>>2];a[e+16>>2]=a[N+16>>2];a[e+20>>2]=a[N+20>>2];a[e+24>>2]=a[N+24>>2];a[e+28>>2]=a[N+28>>2];a[e+32>>2]=t;l=J;i=l+40|0;do{a[l>>2]=a[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(i|0));YJ(X,A,J);a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];a[N+16>>2]=a[X+16>>2];a[N+20>>2]=a[X+20>>2];a[N+24>>2]=a[X+24>>2];a[N+28>>2]=a[X+28>>2]}r[R+32>>0]=vR(A,Yo(A,0,103978,0)|0,1)|0;a[R>>2]=a[N>>2];a[R+4>>2]=a[N+4>>2];a[R+8>>2]=a[N+8>>2];a[R+12>>2]=a[N+12>>2];a[R+16>>2]=a[N+16>>2];a[R+20>>2]=a[N+20>>2];a[R+24>>2]=a[N+24>>2];a[R+28>>2]=a[N+28>>2];$r(d,h,B,v,R)|0;if(0)DJ(d,h,B,v,R);e=0;i=0;l=B;while(1){if((i|0)>=(v|0))break;if(r[l+36>>0]|0){R=a[l+32>>2]|0;r[R+81>>0]=1;X=R+56|0;MJ(H,l);a[X>>2]=a[H>>2];a[X+4>>2]=a[H+4>>2];a[X+8>>2]=a[H+8>>2];a[X+12>>2]=a[H+12>>2];pR(A,R);e=e+1|0}i=i+1|0;l=l+40|0}if(!0){if((e|0)!=(v|0)){a[U>>2]=e;a[U+4>>2]=v;ao(0,104023,U)|0}}else{U=a[15712]|0;a[p>>2]=e;a[p+4>>2]=v;f3(U,103990,p)|0}L2(d);L2(B)}}k=x;return}function IJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;r=l+32|0;f=l+16|0;n=l;if(+b[23303]!=0.0|+b[23304]!=0.0|(a[47265]|0)!=0){i=cd(A)|0;while(1){if(!i)break;if(a[47265]|0)DH(i,0);e=i+16|0;t=(a[e>>2]|0)+16|0;a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];BJ(f,r);a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];e=a[(a[e>>2]|0)+108>>2]|0;if(e|0){t=e+56|0;a[r>>2]=a[t>>2];a[r+4>>2]=a[t+4>>2];a[r+8>>2]=a[t+8>>2];a[r+12>>2]=a[t+12>>2];BJ(n,r);a[t>>2]=a[n>>2];a[t+4>>2]=a[n+4>>2];a[t+8>>2]=a[n+8>>2];a[t+12>>2]=a[n+12>>2]}A:do{if((a[47138]|0)==1){e=Oo(A,i)|0;while(1){if(!e)break A;GJ(e);e=_o(A,e)|0}}}while(0);i=bd(A,i)|0}hJ(A,a[(a[A+16>>2]|0)+116>>2]&3)}k=l;return}function ZJ(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0;l=A+16|0;t=a[l>>2]|0;n=r[t+275>>0]|0;A=n<<24>>24;do{if(!(A&4)){i=+b[t+16>>3];if(!(A&2)){f=(+b[t+32>>3]+i)*.5;break}else{f=+b[e>>3]*.5+i;break}}else f=+b[t+32>>3]-+b[e>>3]*.5}while(0);if(!(n&1))i=+b[e+8>>3]*.5+ +b[t+24>>3];else i=+b[t+40>>3]-+b[e+8>>3]*.5;t=a[t+12>>2]|0;b[t+56>>3]=f;b[t+64>>3]=i;r[(a[(a[l>>2]|0)+12>>2]|0)+81>>0]=1;return}function GJ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;B=k;k=k+144|0;h=B+120|0;i=B+16|0;t=B+104|0;c=B+88|0;b=B+72|0;s=B+56|0;w=B+40|0;u=B+24|0;d=B;o=A+16|0;e=a[o>>2]|0;f=a[e+8>>2]|0;if(!f){if((r[194954]|0)==0?(r[e+112>>0]|0)!=6:0){h=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;d=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[i>>2]=h;a[i+4>>2]=d;ao(1,103810,i)|0}}else{l=0;A=f;while(1){if((l|0)>=(a[A+4>>2]|0))break;n=a[A>>2]|0;A=a[n+(l*48|0)>>2]|0;i=a[n+(l*48|0)+4>>2]|0;f=a[n+(l*48|0)+8>>2]|0;n=a[n+(l*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;v=A+(e<<4)|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(t,h);a[v>>2]=a[t>>2];a[v+4>>2]=a[t+4>>2];a[v+8>>2]=a[t+8>>2];a[v+12>>2]=a[t+12>>2];e=e+1|0}if(f|0){v=(a[a[(a[o>>2]|0)+8>>2]>>2]|0)+(l*48|0)+16|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(c,h);a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2]}if(n|0){v=(a[a[(a[o>>2]|0)+8>>2]>>2]|0)+(l*48|0)+32|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(b,h);a[v>>2]=a[b>>2];a[v+4>>2]=a[b+4>>2];a[v+8>>2]=a[b+8>>2];a[v+12>>2]=a[b+12>>2]}e=a[o>>2]|0;l=l+1|0;A=a[e+8>>2]|0}A=a[e+96>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(s,h);a[e>>2]=a[s>>2];a[e+4>>2]=a[s+4>>2];a[e+8>>2]=a[s+8>>2];a[e+12>>2]=a[s+12>>2];e=a[o>>2]|0}A=a[e+108>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(w,h);a[e>>2]=a[w>>2];a[e+4>>2]=a[w+4>>2];a[e+8>>2]=a[w+8>>2];a[e+12>>2]=a[w+12>>2];e=a[o>>2]|0}A=a[e+100>>2]|0;if(A){e=A+56|0;a[h>>2]=a[e>>2];a[h+4>>2]=a[e+4>>2];a[h+8>>2]=a[e+8>>2];a[h+12>>2]=a[e+12>>2];BJ(u,h);a[e>>2]=a[u>>2];a[e+4>>2]=a[u+4>>2];a[e+8>>2]=a[u+8>>2];a[e+12>>2]=a[u+12>>2];e=a[o>>2]|0}e=a[e+104>>2]|0;if(e|0){v=e+56|0;a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];BJ(d,h);a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2]}}k=B;return}function QJ(A){A=A|0;var e=0,i=0,f=0;f=A+16|0;if((Zd(A)|0)!=(A|0)?(e=a[(a[f>>2]|0)+12>>2]|0,(e|0)!=0):0){i=1;A=(r[e+81>>0]|0)!=0&1}else{i=1;A=0}while(1){e=a[f>>2]|0;if((i|0)>(a[e+180>>2]|0))break;e=(QJ(a[(a[e+184>>2]|0)+(i<<2)>>2]|0)|0)+A|0;i=i+1|0;A=e}return A|0}function mJ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0;n=k;k=k+32|0;l=n;w=(r[194957]|0)==0;e=e+16|0;s=a[e>>2]|0;c=+b[(w?s+32|0:s+40|0)>>3];b[i+16>>3]=c*72.0;t=+b[(w?s+40|0:s+32|0)>>3];b[i+24>>3]=t*72.0;e=(a[e>>2]|0)+16|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[i>>3]=+b[i>>3]-c*36.0;e=i+8|0;b[e>>3]=+b[e>>3]-t*36.0;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];a[l+16>>2]=a[f+16>>2];a[l+20>>2]=a[f+20>>2];a[l+24>>2]=a[f+24>>2];a[l+28>>2]=a[f+28>>2];FJ(A,i,l);k=n;return}function LJ(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0.0,c=0.0,s=0,w=0;n=k;k=k+32|0;l=n;w=(r[194957]|0)==0;s=e+24|0;c=+b[(w?s:e+32|0)>>3];b[i+16>>3]=c;t=+b[(w?e+32|0:s)>>3];b[i+24>>3]=t;e=e+56|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[i>>3]=+b[i>>3]-c*.5;e=i+8|0;b[e>>3]=+b[e>>3]-t*.5;a[l>>2]=a[f>>2];a[l+4>>2]=a[f+4>>2];a[l+8>>2]=a[f+8>>2];a[l+12>>2]=a[f+12>>2];a[l+16>>2]=a[f+16>>2];a[l+20>>2]=a[f+20>>2];a[l+24>>2]=a[f+24>>2];a[l+28>>2]=a[f+28>>2];FJ(A,i,l);k=n;return}function WJ(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;if(f|0){f=e+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[e+8>>2]=a[n+8>>2];a[e+12>>2]=a[n+12>>2]}if(!(r[194957]|0)){n=A+24|0;a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2]}else{b[i>>3]=+b[A+32>>3];b[i+8>>3]=+b[A+24>>3]}a[i+32>>2]=A;r[i+36>>0]=0;a[e+32>>2]=i;return}function yJ(A,e){A=A|0;e=e|0;e=JX(e)|0;do{if(e){e=a[e>>2]|0;if(!(a[e+8>>2]|0)){e=a[e>>2]|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}else{e=e+16|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];break}}else{a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}}while(0);return}function zJ(A,e){A=A|0;e=e|0;var i=0;e=JX(e)|0;do{if(e){i=a[e>>2]|0;e=(a[e+4>>2]|0)+-1|0;if(!(a[i+(e*48|0)+12>>2]|0)){i=(a[i+(e*48|0)>>2]|0)+((a[i+(e*48|0)+4>>2]|0)+-1<<4)|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}else{i=i+(e*48|0)+32|0;a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];break}}else{a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;a[A+12>>2]=0}}while(0);return}function YJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+112|0;b=h+72|0;w=h+32|0;u=h;o=e+16|0;c=1;while(1){f=a[o>>2]|0;if((c|0)>(a[f+180>>2]|0))break;f=a[(a[f+184>>2]|0)+(c<<2)>>2]|0;n=b;l=i;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));YJ(w,f,b);n=i;l=w;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));c=c+1|0}if(((Zd(e)|0)!=(e|0)?(s=a[(a[o>>2]|0)+12>>2]|0,s|0):0)?r[s+81>>0]|0:0){o=i+32|0;w=a[o>>2]|0;a[b>>2]=a[i>>2];a[b+4>>2]=a[i+4>>2];a[b+8>>2]=a[i+8>>2];a[b+12>>2]=a[i+12>>2];a[b+16>>2]=a[i+16>>2];a[b+20>>2]=a[i+20>>2];a[b+24>>2]=a[i+24>>2];a[b+28>>2]=a[i+28>>2];LJ(u,s,w,b);a[i>>2]=a[u>>2];a[i+4>>2]=a[u+4>>2];a[i+8>>2]=a[u+8>>2];a[i+12>>2]=a[u+12>>2];a[i+16>>2]=a[u+16>>2];a[i+20>>2]=a[u+20>>2];a[i+24>>2]=a[u+24>>2];a[i+28>>2]=a[u+28>>2];a[o>>2]=(a[o>>2]|0)+40}n=A;l=i;t=n+40|0;do{a[n>>2]=a[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(t|0));k=h;return}function DJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+160|0;d=B+96|0;o=B+48|0;u=B;h=a[15712]|0;w=n[f+32>>0]|0;l=+b[f>>3];t=+b[f+8>>3];c=+b[f+16>>3];s=+b[f+24>>3];a[u>>2]=e;a[u+4>>2]=r;a[u+8>>2]=w;b[u+16>>3]=l;b[u+24>>3]=t;b[u+32>>3]=c;b[u+40>>3]=s;f3(h,104065,u)|0;A:do{if(0>=2){L3(104125,8,1,h)|0;u=0;while(1){if((u|0)>=(e|0))break;f=a[A+32>>2]|0;l=+b[A>>3];t=+b[A+8>>3];c=+b[A+16>>3];s=+b[A+24>>3];if(!f)w=195059;else w=a[a[f+32>>2]>>2]|0;a[o>>2]=u;b[o+8>>3]=l;b[o+16>>3]=t;b[o+24>>3]=c;b[o+32>>3]=s;a[o+40>>2]=f;a[o+44>>2]=w;f3(h,104134,o)|0;u=u+1|0;A=A+40|0}L3(104177,8,1,h)|0;f=0;while(1){if((f|0)>=(r|0))break A;e=n[i+36>>0]|0;l=+b[i+16>>3];t=+b[i+24>>3];c=+b[i>>3];s=+b[i+8>>3];o=a[a[i+32>>2]>>2]|0;a[d>>2]=f;a[d+4>>2]=i;a[d+8>>2]=e;b[d+16>>3]=l;b[d+24>>3]=t;b[d+32>>3]=c;b[d+40>>3]=s;a[d+48>>2]=o;f3(h,104186,d)|0;i=i+40|0;f=f+1|0}}}while(0);k=B;return}function MJ(A,e){A=A|0;e=e|0;var i=0.0;i=+b[e+8>>3]*.5+ +b[e+24>>3];b[A>>3]=+b[e>>3]*.5+ +b[e+16>>3];b[A+8>>3]=i;return}function FJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0.0;r=k;k=k+16|0;f=r;t=+b[e>>3];b[i>>3]=+b[(+b[i>>3]>3];n=i+8|0;l=+b[e+8>>3];b[n>>3]=+b[(+b[n>>3]>3];t=+b[e+16>>3]+t;b[f>>3]=t;l=+b[e+24>>3]+l;b[f+8>>3]=l;n=i+16|0;b[n>>3]=+b[(+b[n>>3]>t?n:f)>>3];e=i+24|0;b[e>>3]=+b[(+b[e>>3]>l?n:f)+8>>3];a[A>>2]=a[i>>2];a[A+4>>2]=a[i+4>>2];a[A+8>>2]=a[i+8>>2];a[A+12>>2]=a[i+12>>2];a[A+16>>2]=a[i+16>>2];a[A+20>>2]=a[i+20>>2];a[A+24>>2]=a[i+24>>2];a[A+28>>2]=a[i+28>>2];k=r;return}function VJ(A){A=A|0;vJ(A,1);return}function JJ(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=k;k=k+16|0;i=r;e=WR(po(A,105526)|0)|0;if(e){e=NJ(e)|0;if(e|0){f=a[e+40>>2]|0;i=a[e+44>>2]|0;n=A+16|0;A=a[n>>2]|0;b[A+32>>3]=+(f|0)*.013888888888888888;b[A+40>>3]=+(i|0)*.013888888888888888;A=qF(12)|0;a[(a[n>>2]|0)+12>>2]=A;a[A>>2]=a[e+12>>2];a[A+4>>2]=((f|0)/-2|0)-(a[e+32>>2]|0);a[A+8>>2]=((i|0)/-2|0)-(a[e+36>>2]|0)}}else{a[i>>2]=Vh(A)|0;ao(0,104234,i)|0}k=r;return}function NJ(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+1152|0;t=o+24|0;l=o+8|0;i=o;f=o+120|0;c=o+44|0;b=o+40|0;s=o+36|0;w=o+32|0;u=o+28|0;e=a[47266]|0;if(!e){e=jk(20812,a[4581]|0)|0;a[47266]=e}e=W5[a[e>>2]&63](e,A,512)|0;do{if(!e){n=F3(A,138821)|0;if(!n){a[i>>2]=A;ao(0,104283,i)|0;e=0;break}else{e=0;i=0}while(1){if(!(N4(f,1024,n)|0)){f=11;break}a[l>>2]=b;a[l+4>>2]=s;a[l+8>>2]=w;a[l+12>>2]=u;h=(J3(f,104311,l)|0)==4;i=h?1:i;if((r[f>>0]|0)!=37){h=(X4(f,104340)|0)==0;e=h?e:1}if((i|0)!=0&(e|0)!=0){f=12;break}}if((f|0)==11)if(!i){a[t>>2]=A;ao(0,104345,t)|0;e=0}else f=12;if((f|0)==12){h=$F(64)|0;b=a[b>>2]|0;a[h+32>>2]=b;s=a[s>>2]|0;a[h+40>>2]=(a[w>>2]|0)-b;a[h+36>>2]=(a[u>>2]|0)-s;a[h+8>>2]=A;u=a[47267]|0;a[47267]=u+1;a[h+12>>2]=u;D3(t6(n)|0,c)|0;u=a[c+36>>2]|0;w=$F(u+1|0)|0;a[h+52>>2]=w;O3(n,0,0)|0;a6(w,u,1,n)|0;r[w+u>>0]=0;u=a[47266]|0;W5[a[u>>2]&63](u,h,1)|0;r[h+16>>0]=e;e=h}h3(n)|0}}while(0);k=o;return e|0}function XJ(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e+52>>2]|0);return}function RJ(A){A=A|0;L2(a[(a[A+16>>2]|0)+12>>2]|0);return}function HJ(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w+8|0;b=w;c=(e|0)!=0;A:do{if(c){l=0;f=0;e:while(1)while(1){if(l)break A;n=a[e+(f<<2)>>2]|0;if(!n){t=6;break A}f=f+1|0;if(!(r[n>>0]|0)){l=1;continue e}}}else t=6}while(0);A:do{if((t|0)==6)while(1){f=a[i>>2]|0;if(!f)break A;kg(A,f)|0;kg(A,153599)|0;i=i+4|0;t=6}}while(0);A:do{if(c){l=0;while(1){f=a[e+(l<<2)>>2]|0;if(!f)break A;do{if(r[f>>0]|0){i=WR(f)|0;if(!i){a[b>>2]=f;ao(0,104384,b)|0;break}n=F3(i,138821)|0;if(!n){a[s>>2]=i;ao(0,104412,s)|0;break}while(1){f=LR(n)|0;if(!f)break;kg(A,f)|0}kg(A,153599)|0;h3(n)|0}}while(0);l=l+1|0}}}while(0);k=w;return}function pJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;e=a[e+52>>2]|0;A:while(1){i=r[e>>0]|0;e:do{switch(i<<24>>24){case 0:break A;case 37:{if((r[e+1>>0]|0)==37){i=e+2|0;if((((T1(i,104440,3)|0)!=0?(T1(i,104444,5)|0)!=0:0)?(T1(i,104450,3)|0)!=0:0)?(T1(i,104454,7)|0)!=0:0){i=37;break e}else n=37;i:while(1){switch(n<<24>>24){case 13:{f=10;break i}case 10:case 0:{f=12;break i}default:{}}n=e+1|0;e=n;n=r[n>>0]|0}if((f|0)==10){i=e+1|0;if((r[i>>0]|0)==10){e=e+2|0;continue A}}else if((f|0)==12)i=e+1|0;e=n<<24>>24==0?e:i;continue A}else i=37;break}default:{}}}while(0);e:while(1){switch(i<<24>>24){case 10:case 13:case 0:break e;default:{}}og(A,i<<24>>24)|0;n=e+1|0;e=n;i=r[n>>0]|0}f=e+1|0;if(i<<24>>24==13?(r[f>>0]|0)==10:0)e=e+2|0;else e=i<<24>>24==0?e:f;og(A,10)|0}return}function UJ(A){A=A|0;var e=0,i=0,f=0,n=0;f=k;k=k+16|0;i=f;e=a[47266]|0;A:do{if(e|0){e=W5[a[e>>2]&63](e,0,128)|0;while(1){if(!e)break A;if(!(r[e+16>>0]|0)){a[i>>2]=a[e+12>>2];gg(A,104462,i);kg(A,104480)|0;pJ(A,e);kg(A,104498)|0;kg(A,104513)|0}n=a[47266]|0;e=W5[a[n>>2]&63](n,e,8)|0}}}while(0);k=f;return}function xJ(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=k;k=k+16|0;i=n;A:do{switch(e|0){case 0:{f=A;break}case 1:{f=CH(A)|0;break}default:{switch(TJ(A)|0){case 2:break;case 1:{f=CH(A)|0;break A}default:{f=A;break A}}if(!(a[47268]|0)){ao(0,104525,i)|0;a[47268]=1;f=A}else f=A}}}while(0);if(!(a[47269]|0))co(189076,0,0);e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=40;i=f;A:while(1){switch(r[i>>0]|0){case 0:break A;case 92:case 41:case 40:{e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=92;break}default:{}}e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}l=r[i>>0]|0;a[47270]=e+1;r[e>>0]=l;i=i+1|0}e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}a[47270]=e+1;r[e>>0]=41;if((f|0)!=(A|0))L2(f);e=a[47270]|0;if(e>>>0>=(a[47271]|0)>>>0){bo(189076,1)|0;e=a[47270]|0}r[e>>0]=0;l=a[47269]|0;a[47270]=l;k=n;return l|0}function TJ(A){A=A|0;var e=0,i=0;e=0;A:while(1){while(1){i=r[A>>0]|0;if(!(i<<24>>24))break A;if((i&255)<127)A=A+1|0;else break}if((i&-4)<<24>>24==-64){e=1;A=A+2|0}else{e=2;break}}return e|0}function jJ(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;w=k;k=k+96|0;l=w+80|0;t=w+72|0;s=w+64|0;n=w+32|0;c=w;b[n>>3]=+b[A>>3];b[n+8>>3]=+b[A+8>>3];b[n+16>>3]=+b[e>>3];b[n+24>>3]=+b[e+8>>3];do{if((ic(i,n,t)|0)>=0){if(!f){e=i+4|0;A=a[e>>2]|0;f=a[47274]|0;if((A|0)>(a[47273]|0)){if(!f)A=$F(A<<5)|0;else A=eV(f,A<<5)|0;a[47274]=A;n=a[e>>2]|0;a[47273]=n;f=A}else n=A;e=a[i>>2]|0;A=0;while(1){if((A|0)>=(n|0))break;u=f+(A<<5)|0;i=e+(A<<4)|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];u=f+(A<<5)+16|0;i=A+1|0;o=e+(((i|0)%(n|0)|0)<<4)|0;a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2];A=i}a[c>>2]=0;a[c+4>>2]=0;a[c+8>>2]=0;a[c+12>>2]=0;a[c+16>>2]=0;a[c+20>>2]=0;a[c+24>>2]=0;a[c+28>>2]=0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];if((Mt(f,n,l,c,s)|0)<0){A=0;break}}else{a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];Gc(l,s)}A=s+4|0;if(!(SJ(a[A>>2]|0)|0)){n=a[A>>2]|0;A=a[47275]|0;f=a[s>>2]|0;e=0;while(1){if((e|0)>=(n|0))break;o=A+(e<<4)|0;u=f+(e<<4)|0;a[o>>2]=a[u>>2];a[o+4>>2]=a[u+4>>2];a[o+8>>2]=a[u+8>>2];a[o+12>>2]=a[u+12>>2];e=e+1|0}a[r>>2]=n}else A=0}else A=0}while(0);k=w;return A|0}function SJ(A){A=A|0;var e=0,i=0,r=0;r=k;k=k+16|0;i=r;e=a[47276]|0;do{if((e|0)<(A|0)){A=A+300-((A|0)%300|0)+e|0;e=eV(a[47275]|0,A<<4)|0;a[47275]=e;if(!e){ao(1,104615,i)|0;A=1;break}else{a[47276]=A;A=0;break}}else A=0}while(0);k=r;return A|0}function PJ(){var A=0,e=0,i=0;e=k;k=k+16|0;A=e;i=a[47277]|0;a[47277]=i+1;do{if((i|0)<=0){i=$F(4800)|0;a[47275]=i;if(!i){ao(1,104638,A)|0;A=1;break}a[47276]=300;a[47278]=0;a[47279]=0;if(0){tR();A=0}else A=0}else A=0}while(0);k=e;return A|0}function OJ(){var A=0,e=0,i=0,r=0.0,f=0,n=0;e=k;k=k+16|0;A=e;i=a[47277]|0;a[47277]=i+-1;if((i|0)<=1?(L2(a[47275]|0),0):0){i=a[15712]|0;n=a[47278]|0;f=a[47279]|0;r=+cR();a[A>>2]=n;a[A+4>>2]=f;b[A+8>>3]=r;f3(i,104676,A)|0}k=e;return}function KJ(A,e){A=A|0;e=e|0;return _J(A,e,0)|0}function _J(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0,N=0,X=0;J=k;k=k+176|0;y=J+168|0;V=J+128|0;I=J+120|0;E=J+112|0;l=J+104|0;B=J+88|0;w=J+72|0;n=J+64|0;v=J+160|0;Y=J+152|0;Z=J+144|0;g=J+32|0;C=J;F=J+136|0;a[47278]=(a[47278]|0)+1;z=a[A+80>>2]|0;a[47279]=(a[47279]|0)+z;f=A+88|0;while(1){L=a[f>>2]|0;if(!L){W=4;break}f=a[L+16>>2]|0;if(!(r[f+112>>0]|0)){W=5;break}else f=f+116|0}do{if((W|0)==4){ao(1,104719,n)|0;f=0}else if((W|0)==5){m=a[A+84>>2]|0;if(!(qJ(z,m,A)|0)){n=z<<3;if((n|0)>(a[47280]|0)){f=a[47281]|0;if(!f)f=$F(z<<7)|0;else f=eV(f,z<<7)|0;a[47281]=f;a[47280]=n}A:do{if((z|0)>1?+b[m+8>>3]>+b[m+40>>3]:0){f=0;while(1){if((f|0)==(z|0)){o=1;break A}G=m+(f<<5)+24|0;s=+b[G>>3];Q=m+(f<<5)+8|0;b[G>>3]=-+b[Q>>3];b[Q>>3]=-s;f=f+1|0}}else o=0}while(0);d=a[L>>2]&3;G=L+48|0;f=a[((d|0)==3?L:G)+40>>2]|0;Q=L+-48|0;if((f|0)==(a[((d|0)==2?L:Q)+40>>2]|0)){a[l>>2]=Vh(f)|0;ao(1,104826,l)|0;f=0;break}u=z+-1|0;h=a[47281]|0;d=h;f=0;t=0;A:while(1){if((t|0)>=(z|0)){t=u;w=f;break}if((t|0)>0)n=+b[m+(t<<5)+8>>3]>+b[m+(t+-1<<5)+8>>3]?-1:1;else n=0;if((t|0)<(u|0))l=+b[m+(t+1<<5)+8>>3]>+b[m+(t<<5)+8>>3]?1:-1;else l=0;e:do{if((n|0)!=(l|0))if((n|0)==1|(l|0)==-1){n=m+(t<<5)|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+8|0;W=29;break}else{n=m+(t<<5)+16|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+24|0;W=29;break}else{switch(n|0){case-1:break e;case 0:break;default:{W=28;break A}}n=m+(t<<5)|0;b[h+(f<<4)>>3]=+b[n>>3];l=f+1|0;b[h+(f<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(l<<4)>>3]=+b[n>>3];n=m+(t<<5)+8|0;W=29}}while(0);if((W|0)==29){W=0;b[h+(l<<4)+8>>3]=+b[n>>3];f=f+2|0}t=t+1|0}if((W|0)==28){a[w>>2]=n;a[w+4>>2]=n;a[w+8>>2]=480;ao(1,104761,w)|0;f=0;break}A:while(1){if((t|0)<=-1)break;if((t|0)<(u|0))f=+b[m+(t<<5)+8>>3]>+b[m+(t+1<<5)+8>>3]?-1:1;else f=0;if((t|0)>0)n=+b[m+(t+-1<<5)+8>>3]>+b[m+(t<<5)+8>>3]?1:-1;else n=0;e:do{if((f|0)!=(n|0))if((f|0)==1|(n|0)==-1){f=m+(t<<5)|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+24>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+8|0;l=2;break}else{f=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+24|0;l=2;break}else switch(f|0){case 0:{f=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[f>>3];n=w+1|0;b[h+(w<<4)+8>>3]=+b[m+(t<<5)+8>>3];b[h+(n<<4)>>3]=+b[f>>3];f=m+(t<<5)+24|0;l=2;break e}case-1:{X=m+(t<<5)+16|0;b[h+(w<<4)>>3]=+b[X>>3];f=m+(t<<5)+8|0;l=w+1|0;b[h+(w<<4)+8>>3]=+b[f>>3];b[h+(l<<4)>>3]=+b[X>>3];X=m+(t<<5)+24|0;N=w+2|0;b[h+(l<<4)+8>>3]=+b[X>>3];l=m+(t<<5)|0;b[h+(N<<4)>>3]=+b[l>>3];n=w+3|0;b[h+(N<<4)+8>>3]=+b[X>>3];b[h+(n<<4)>>3]=+b[l>>3];l=4;break e}default:{W=42;break A}}}while(0);b[h+(n<<4)+8>>3]=+b[f>>3];t=t+-1|0;w=w+l|0}if((W|0)==42){a[B>>2]=f;a[B+4>>2]=f;a[B+8>>2]=513;ao(1,104761,B)|0;f=0;break}A:do{if(!o)f=0;else{f=0;while(1){if((f|0)>=(z|0)){f=0;break}N=m+(f<<5)+24|0;s=+b[N>>3];X=m+(f<<5)+8|0;b[N>>3]=-+b[X>>3];b[X>>3]=-s;f=f+1|0}while(1){if((f|0)>=(w|0)){f=0;break A}X=h+(f<<4)+8|0;b[X>>3]=-+b[X>>3];f=f+1|0}}}while(0);while(1){if((f|0)>=(z|0))break;b[m+(f<<5)>>3]=2147483647.0;b[m+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}a[v>>2]=d;l=v+4|0;a[l>>2]=w;b[g>>3]=+b[A>>3];b[g+8>>3]=+b[A+8>>3];b[g+16>>3]=+b[A+40>>3];b[g+24>>3]=+b[A+48>>3];if((ic(v,g,Y)|0)<0){ao(1,104865,E)|0;f=0;break}if(!i){n=a[l>>2]|0;f=a[47274]|0;if((n|0)>(a[47273]|0)){if(!f)f=$F(n<<5)|0;else f=eV(f,n<<5)|0;a[47274]=f;n=a[l>>2]|0;a[47273]=n}t=a[47281]|0;l=0;while(1){if((l|0)>=(n|0))break;N=f+(l<<5)|0;X=t+(l<<4)|0;a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];N=f+(l<<5)+16|0;X=l+1|0;E=t+(((X|0)%(n|0)|0)<<4)|0;a[N>>2]=a[E>>2];a[N+4>>2]=a[E+4>>2];a[N+8>>2]=a[E+8>>2];a[N+12>>2]=a[E+12>>2];l=X}if(!(r[A+29>>0]|0)){c=0.0;s=0.0}else{s=+b[A+16>>3];c=+D(+s);s=+M(+s)}b[C+8>>3]=s;b[C>>3]=c;if(!(r[A+69>>0]|0)){c=0.0;s=0.0}else{s=+b[A+56>>3];c=-+D(+s);s=-+M(+s)}b[C+24>>3]=s;b[C+16>>3]=c;a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];if((Mt(f,n,y,C,Z)|0)<0){ao(1,104904,I)|0;f=0;break}}else{a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];Gc(y,Z)}w=Z+4|0;if(!(SJ(a[w>>2]|0)|0)){f=0;while(1){if((f|0)>=(z|0))break;b[m+(f<<5)>>3]=2147483647.0;b[m+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}l=a[w>>2]|0;t=a[47275]|0;n=a[Z>>2]|0;f=0;while(1){if((f|0)>=(l|0)){l=1;f=10;n=0;break}X=t+(f<<4)|0;N=n+(f<<4)|0;a[X>>2]=a[N>>2];a[X+4>>2]=a[N+4>>2];a[X+8>>2]=a[N+8>>2];a[X+12>>2]=a[N+12>>2];f=f+1|0}while(1){if(!((n|0)<15&l<<24>>24!=0))break;$J(m,z,a[47275]|0,a[w>>2]|0,f);t=0;while(1){if((t|0)>=(z|0))break;if(+b[m+(t<<5)>>3]==2147483647.0){W=82;break}if(+b[m+(t<<5)+16>>3]==-2147483648.0){W=82;break}t=t+1|0}if((W|0)==82){W=0;X=f<<1;f=X;n=(X|0)>(2147483647/(z|0)|0|0)?15:n}l=(t|0)==(z|0)?0:l;n=n+1|0}if(l<<24>>24){N=Vh(a[((a[L>>2]&3|0)==3?L:G)+40>>2]|0)|0;X=Vh(a[((a[L>>2]&3|0)==2?L:Q)+40>>2]|0)|0;a[V>>2]=N;a[V+4>>2]=X;ao(0,104942,V)|0;a[y>>2]=a[Y>>2];a[y+4>>2]=a[Y+4>>2];Gc(y,F);$J(m,z,a[F>>2]|0,a[F+4>>2]|0,10);L2(a[F>>2]|0)}a[e>>2]=a[w>>2];f=a[47275]|0}else f=0}else f=0}}while(0);k=J;return f|0}function qJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0.0,w=0.0,u=0,o=0.0,h=0.0,d=0.0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0.0,J=0,N=0,X=0,R=0.0,H=0,p=0,U=0;U=k;k=k+32|0;M=U+16|0;D=U+8|0;c=U;r=0;t=0;while(1){if((t|0)>=(A|0))break;l=e+(t<<5)|0;B=+b[e+(t<<5)+8>>3]-+b[e+(t<<5)+24>>3];if(!((B>=0.0?B:-B)<.01)?(B=+b[l>>3]-+b[e+(t<<5)+16>>3],!((B>=0.0?B:-B)<.01)):0){if((r|0)!=(t|0)){H=e+(r<<5)|0;a[H>>2]=a[l>>2];a[H+4>>2]=a[l+4>>2];a[H+8>>2]=a[l+8>>2];a[H+12>>2]=a[l+12>>2];a[H+16>>2]=a[l+16>>2];a[H+20>>2]=a[l+20>>2];a[H+24>>2]=a[l+24>>2];a[H+28>>2]=a[l+28>>2]}r=r+1|0}t=t+1|0}F=e+16|0;do{if(!(+b[e>>3]>+b[F>>3])?(J=e+8|0,X=e+24|0,!(+b[J>>3]>+b[X>>3])):0){H=r+-1|0;N=a[15712]|0;C=0;while(1){if((C|0)>=(H|0))break;W=C+1|0;y=e+(W<<5)|0;f=+b[y>>3];z=e+(W<<5)+16|0;n=+b[z>>3];if(f>n){p=16;break}Q=e+(W<<5)+8|0;s=+b[Q>>3];m=e+(W<<5)+24|0;w=+b[m>>3];if(s>w){p=16;break}Y=e+(C<<5)+16|0;E=+b[Y>>3]>3]>n;A=g&1;G=e+(C<<5)+24|0;v=+b[G>>3]>3]>w;l=c&1;I=A+r+t+l|0;u=(I|0)!=0;if(!(0==0|u^1)){a[M>>2]=C;a[M+4>>2]=W;f3(N,105142,M)|0;AN(i)}A:do{if(u){if(!E)if(!g)if(!v){if(c){c=0;u=r;r=m;l=Z;p=24}}else{c=l;t=0;u=r;r=Q;l=G;p=24}else{c=l;A=0;u=r;r=z;l=L;p=24}else{c=l;u=0;r=y;l=Y;p=24}if((p|0)==24){p=0;C=~~+b[l>>3];b[l>>3]=+b[r>>3];b[r>>3]=+(C|0);l=c;r=u}u=I+-1|0;c=0;while(1){if((c|0)>=(u|0))break A;do{if((r|0)!=1){if((A|0)==1){B=+(~~((+b[z>>3]+ +b[L>>3])*.5+.5)|0);b[z>>3]=B;b[L>>3]=B;A=0;break}if((t|0)==1){B=+(~~((+b[Q>>3]+ +b[G>>3])*.5+.5)|0);b[Q>>3]=B;b[G>>3]=B;t=0;break}if((l|0)==1){B=+(~~((+b[m>>3]+ +b[Z>>3])*.5+.5)|0);b[m>>3]=B;b[Z>>3]=B;l=0}}else{B=+(~~((+b[y>>3]+ +b[Y>>3])*.5+.5)|0);b[y>>3]=B;b[Y>>3]=B;r=0}}while(0);c=c+1|0}}}while(0);o=+b[L>>3];h=+b[Y>>3];d=+b[y>>3];B=+b[z>>3];l=eN(~~o,~~h,~~d,~~B)|0;w=+b[Z>>3];s=+b[G>>3];n=+b[Q>>3];f=+b[m>>3];r=eN(~~w,~~s,~~n,~~f)|0;if(!((l|0)!=0&(r|0)!=0)){C=W;continue}if((l|0)<(r|0)){m=h-o>B-d;C=h>3]=m?C?d:B:C?h:o;C=W;continue}else{m=s-w>f-n;C=s>3]=m?C?n:f:C?s:w;C=W;continue}}if((p|0)==16){a[D>>2]=W;ao(1,105096,D)|0;AN(i);r=1;break}f=+b[i>>3];n=+b[e>>3];if(!(((!(f+b[F>>3]):0)?(V=+b[i+8>>3],!(V<+b[J>>3])):0)?!(V>+b[X>>3]):0)){if(0){L3(105185,42,1,N)|0;AN(i);n=+b[e>>3];f=+b[i>>3]}if(f>3]=n;else n=f;f=+b[F>>3];if(n>f)b[i>>3]=f;r=i+8|0;n=+b[r>>3];f=+b[J>>3];if(n>3]=f;n=f}f=+b[X>>3];if(n>f)b[r>>3]=f}l=i+40|0;f=+b[l>>3];r=e+(H<<5)|0;n=+b[r>>3];if(((!(f+b[e+(H<<5)+16>>3]):0)?(R=+b[i+48>>3],!(R<+b[e+(H<<5)+8>>3])):0)?!(R>+b[e+(H<<5)+24>>3]):0){r=0;break}if(0){L3(105228,39,1,N)|0;AN(i);n=+b[r>>3];f=+b[l>>3]}if(f>3]=n;f=n}n=+b[e+(H<<5)+16>>3];if(f>n)b[l>>3]=n;r=i+48|0;f=+b[r>>3];n=+b[e+(H<<5)+8>>3];if(f>3]=n;else n=f;f=+b[e+(H<<5)+24>>3];if(n>f){b[r>>3]=f;r=0}else r=0}else p=12}while(0);if((p|0)==12){ao(1,105051,c)|0;AN(i);r=1}k=U;return r|0}function $J(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0;B=U(f,e)|0;v=1.0/+(B|0);f=0;A:while(1){g=f+3|0;if((g|0)>=(r|0))break;k=i+(f<<4)|0;o=i+(f<<4)+8|0;d=f+1|0;h=i+(d<<4)|0;d=i+(d<<4)+8|0;t=f+2|0;l=i+(t<<4)|0;t=i+(t<<4)+8|0;c=i+(g<<4)|0;s=i+(g<<4)+8|0;n=0;while(1){if((n|0)>(B|0)){f=g;continue A}E=v*+(n|0);w=+b[k>>3];u=+b[o>>3];Z=+b[h>>3];C=+b[d>>3];G=+b[l>>3];I=+b[t>>3];w=(Z-w)*E+w;u=(C-u)*E+u;Z=(G-Z)*E+Z;C=(I-C)*E+C;w=(Z-w)*E+w;u=(C-u)*E+u;w=((G-Z+(+b[c>>3]-G)*E)*E+Z-w)*E+w;u=((I-C+(+b[s>>3]-I)*E)*E+C-u)*E+u;a=0;while(1){if((a|0)>=(e|0))break;if(u<=+b[A+(a<<5)+24>>3]+.0001?u>=+b[A+(a<<5)+8>>3]+-.0001:0){f=A+(a<<5)|0;if(+b[f>>3]>w)b[f>>3]=w;f=A+(a<<5)+16|0;if(+b[f>>3]>3]=w}a=a+1|0}n=n+1|0}}return}function AN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0;s=k;k=k+112|0;t=s+80|0;c=s+48|0;l=s+8|0;n=s;i=a[15712]|0;f=A+80|0;a[n>>2]=a[f>>2];f3(i,105268,n)|0;n=A+84|0;e=0;while(1){if((e|0)>=(a[f>>2]|0))break;d=a[n>>2]|0;h=+b[d+(e<<5)>>3];o=+b[d+(e<<5)+8>>3];u=+b[d+(e<<5)+16>>3];w=+b[d+(e<<5)+24>>3];a[l>>2]=e;b[l+8>>3]=h;b[l+16>>3]=o;b[l+24>>3]=u;b[l+32>>3]=w;f3(i,105279,l)|0;e=e+1|0}h=+b[A+8>>3];o=+b[A+16>>3];d=r[A+29>>0]|0?105310:105322;b[c>>3]=+b[A>>3];b[c+8>>3]=h;b[c+16>>3]=o;a[c+24>>2]=d;f3(i,105338,c)|0;o=+b[A+48>>3];h=+b[A+56>>3];d=r[A+69>>0]|0?105310:105322;b[t>>3]=+b[A+40>>3];b[t+8>>3]=o;b[t+16>>3]=h;a[t+24>>2]=d;f3(i,105389,t)|0;k=s;return}function eN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;do{if((e|0)>(i|0)&(r|0)>(A|0)){if(!((i|0)>(A|0)|(r|0)<(A|0))){A=r-A|0;break}if((e|0)<(i|0)|(e|0)>(r|0)){e=e-A|0;A=r-i|0;A=(e|0)<(A|0)?e:A;break}else{A=e-i|0;break}}else A=0}while(0);return A|0}function iN(A,e){A=A|0;e=e|0;return _J(A,e,1)|0}function rN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+80|0;n=c;t=1;f=e;while(1){l=f;f=a[(a[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(l|0)!=(f|0)))break;else t=t+1|0}if((t|0)>=21)n=qF(t<<2)|0;l=0;f=e;while(1){if((l|0)>=(t|0))break;a[n+(l<<2)>>2]=f;l=l+1|0;f=a[(a[f+16>>2]|0)+172>>2]|0}fN(A,n,t,i,r);if((t|0)>20)L2(n);k=c;return}function fN(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,D=0,M=0,F=0,V=0,J=0.0,N=0.0,X=0.0,R=0,H=0;V=k;k=k+304|0;Q=V+272|0;G=V+208|0;Y=V+96|0;D=V+32|0;M=V+16|0;F=V;d=V+192|0;Z=V+176|0;l=V+160|0;m=V+296|0;L=V+288|0;t=a[e>>2]|0;C=a[t>>2]&3;c=t+-48|0;W=a[((C|0)==2?t:c)+40>>2]|0;v=Y+16|0;C=(a[(a[((C|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+16|0;I=t+16|0;y=(a[I>>2]|0)+16|0;a[G>>2]=a[C>>2];a[G+4>>2]=a[C+4>>2];a[G+8>>2]=a[C+8>>2];a[G+12>>2]=a[C+12>>2];a[Q>>2]=a[y>>2];a[Q+4>>2]=a[y+4>>2];a[Q+8>>2]=a[y+8>>2];a[Q+12>>2]=a[y+12>>2];aN(d,G,Q);a[Y>>2]=a[d>>2];a[Y+4>>2]=a[d+4>>2];a[Y+8>>2]=a[d+8>>2];a[Y+12>>2]=a[d+12>>2];a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];a[M>>2]=a[d>>2];a[M+4>>2]=a[d+4>>2];a[M+8>>2]=a[d+8>>2];a[M+12>>2]=a[d+12>>2];d=Y+32|0;y=Y+48|0;C=(a[W+16>>2]|0)+16|0;I=(a[I>>2]|0)+56|0;a[G>>2]=a[C>>2];a[G+4>>2]=a[C+4>>2];a[G+8>>2]=a[C+8>>2];a[G+12>>2]=a[C+12>>2];a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];aN(Z,G,Q);a[y>>2]=a[Z>>2];a[y+4>>2]=a[Z+4>>2];a[y+8>>2]=a[Z+8>>2];a[y+12>>2]=a[Z+12>>2];a[d>>2]=a[Z>>2];a[d+4>>2]=a[Z+4>>2];a[d+8>>2]=a[Z+8>>2];a[d+12>>2]=a[Z+12>>2];a[F>>2]=a[Z>>2];a[F+4>>2]=a[Z+4>>2];a[F+8>>2]=a[Z+8>>2];a[F+12>>2]=a[Z+12>>2];A:do{if((i|0)!=1&(r[194954]|0)==0){s=+b[Y>>3];w=+b[y>>3];J=s-w;u=+b[Y+8>>3];o=+b[Y+56>>3];B=u-o;h=B*B;if(h+J*J<1.0e-06){a[v>>2]=a[Y>>2];a[v+4>>2]=a[Y+4>>2];a[v+8>>2]=a[Y+8>>2];a[v+12>>2]=a[Y+12>>2];a[d>>2]=a[y>>2];a[d+4>>2]=a[y+4>>2];a[d+8>>2]=a[y+8>>2];a[d+12>>2]=a[y+12>>2];Z=Y+24|0;I=Y+40|0;w=0.0;s=0.0}else{N=w-s;J=+z(+(h+N*N));C=a[(a[(a[A+60>>2]|0)+16>>2]|0)+248>>2]|0;X=+((U(C,i+-1|0)|0)/2|0|0);h=B*X/J;b[v>>3]=h+s;s=N*X/J;Z=Y+24|0;b[Z>>3]=s+u;b[d>>3]=h+w;I=Y+40|0;b[I>>3]=o+s;s=+(0-C|0);w=N*s/J;s=B*s/J}f=(f|0)==6;g=L+4|0;E=m+4|0;t=0;while(1){if((t|0)>=(i|0))break A;C=a[e+(t<<2)>>2]|0;c=C+-48|0;e:do{if((a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0)==(W|0)){a[M>>2]=a[Y>>2];a[M+4>>2]=a[Y+4>>2];a[M+8>>2]=a[Y+8>>2];a[M+12>>2]=a[Y+12>>2];a[F>>2]=a[y>>2];a[F+4>>2]=a[y+4>>2];a[F+8>>2]=a[y+8>>2];a[F+12>>2]=a[y+12>>2];l=0;while(1){if((l|0)==4)break e;R=D+(l<<4)|0;H=Y+(l<<4)|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];l=l+1|0}}else{a[M>>2]=a[y>>2];a[M+4>>2]=a[y+4>>2];a[M+8>>2]=a[y+8>>2];a[M+12>>2]=a[y+12>>2];a[F>>2]=a[Y>>2];a[F+4>>2]=a[Y+4>>2];a[F+8>>2]=a[Y+8>>2];a[F+12>>2]=a[Y+12>>2];l=0;while(1){if((l|0)==4)break e;H=D+(3-l<<4)|0;R=Y+(l<<4)|0;a[H>>2]=a[R>>2];a[H+4>>2]=a[R+4>>2];a[H+8>>2]=a[R+8>>2];a[H+12>>2]=a[R+12>>2];l=l+1|0}}}while(0);if(f){a[g>>2]=4;a[L>>2]=G;l=0;while(1){if((l|0)==4)break;H=G+(l<<4)|0;R=D+(l<<4)|0;a[H>>2]=a[R>>2];a[H+4>>2]=a[R+4>>2];a[H+8>>2]=a[R+8>>2];a[H+12>>2]=a[R+12>>2];l=l+1|0}a[Q>>2]=a[L>>2];a[Q+4>>2]=a[L+4>>2];Gc(Q,m);gX(C,a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0,a[m>>2]|0,a[E>>2]|0,n)}else gX(C,a[((a[C>>2]&3|0)==2?C:c)+40>>2]|0,D,4,n);a[G>>2]=a[M>>2];a[G+4>>2]=a[M+4>>2];a[G+8>>2]=a[M+8>>2];a[G+12>>2]=a[M+12>>2];a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];HX(A,C,G,Q);b[v>>3]=+b[v>>3]+s;b[Z>>3]=+b[Z>>3]+w;b[d>>3]=+b[d>>3]+s;b[I>>3]=+b[I>>3]+w;t=t+1|0}}else{if((f|0)==4){nN(l,A);a[Q>>2]=a[l>>2];a[Q+4>>2]=a[l+4>>2];a[Q+8>>2]=a[l+8>>2];a[Q+12>>2]=a[l+12>>2];lN(Y,Q)}gX(t,a[((a[t>>2]&3|0)==2?t:c)+40>>2]|0,Y,4,n);a[G>>2]=a[M>>2];a[G+4>>2]=a[M+4>>2];a[G+8>>2]=a[M+8>>2];a[G+12>>2]=a[M+12>>2];a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];HX(A,t,G,Q)}}while(0);k=V;return}function aN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function nN(A,e){A=A|0;e=e|0;e=a[e+16>>2]|0;b[23305]=(+b[e+32>>3]+ +b[e+16>>3])*.5;b[23306]=(+b[e+40>>3]+ +b[e+24>>3])*.5;a[A>>2]=a[46610];a[A+4>>2]=a[46611];a[A+8>>2]=a[46612];a[A+12>>2]=a[46613];return}function lN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0;a=+b[A>>3];r=+b[A+48>>3];l=(r+a)*.5;n=+b[A+8>>3];i=+b[A+56>>3];f=(i+n)*.5;a=r-a;n=i-n;a=+z(+(n*n+a*a))*.2;n=+b[e>>3]-l;i=+b[e+8>>3]-f;r=+z(+(i*i+n*n));if(!(r==0.0)){n=l-n/r*a;l=f-i/r*a;b[A+32>>3]=n;b[A+16>>3]=n;b[A+40>>3]=l;b[A+24>>3]=l}return}function tN(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0.0,Y=0,D=0.0,M=0.0,F=0.0;W=k;k=k+208|0;v=W+192|0;B=W+176|0;m=W+32|0;C=W+16|0;I=W;Z=W+160|0;G=W+144|0;g=W+128|0;E=W+112|0;n=r&2130706432;Q=(r&8|0)==0?(n|0)==0?4:n:8;if((Q|0)==436207616)cN(A,e,i,f);else{L=qF((i<<6)+64|0)|0;o=i+-1|0;h=I+8|0;d=C+8|0;u=12.0;r=0;while(1){if((r|0)>=(i|0))break;w=e+(r<<4)|0;a[C>>2]=a[w>>2];a[C+4>>2]=a[w+4>>2];a[C+8>>2]=a[w+8>>2];a[C+12>>2]=a[w+12>>2];if((r|0)<(o|0)){r=r+1|0;w=e+(r<<4)|0;a[I>>2]=a[w>>2];a[I+4>>2]=a[w+4>>2];a[I+8>>2]=a[w+8>>2];a[I+12>>2]=a[w+12>>2]}else{a[I>>2]=a[e>>2];a[I+4>>2]=a[e+4>>2];a[I+8>>2]=a[e+8>>2];a[I+12>>2]=a[e+12>>2];r=r+1|0}s=+b[I>>3]-+b[C>>3];y=+b[h>>3]-+b[d>>3];s=+z(+(y*y+s*s))*.3333333333333333;u=u=(i|0))break;n=e+(l<<4)|0;a[C>>2]=a[n>>2];a[C+4>>2]=a[n+4>>2];a[C+8>>2]=a[n+8>>2];a[C+12>>2]=a[n+12>>2];if((l|0)<(o|0)){n=e+(l+1<<4)|0;a[I>>2]=a[n>>2];a[I+4>>2]=a[n+4>>2];a[I+8>>2]=a[n+8>>2];a[I+12>>2]=a[n+12>>2]}else{a[I>>2]=a[e>>2];a[I+4>>2]=a[e+4>>2];a[I+8>>2]=a[e+8>>2];a[I+12>>2]=a[e+12>>2]}s=+b[I>>3]-+b[C>>3];y=+b[h>>3]-+b[d>>3];s=u/+z(+(y*y+s*s));s=c?s*.3333333333333333:t?s*.5:s;n=L+(r<<4)|0;if(w){a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(Z,s*.5,B,v);a[n>>2]=a[Z>>2];a[n+4>>2]=a[Z+4>>2];a[n+8>>2]=a[Z+8>>2];a[n+12>>2]=a[Z+12>>2]}else{a[n>>2]=a[C>>2];a[n+4>>2]=a[C+4>>2];a[n+8>>2]=a[C+8>>2];a[n+12>>2]=a[C+12>>2]}n=L+(r+1<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(G,s,B,v);a[n>>2]=a[G>>2];a[n+4>>2]=a[G+4>>2];a[n+8>>2]=a[G+8>>2];a[n+12>>2]=a[G+12>>2];n=r+3|0;Y=L+(r+2<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(g,1.0-s,B,v);a[Y>>2]=a[g>>2];a[Y+4>>2]=a[g+4>>2];a[Y+8>>2]=a[g+8>>2];a[Y+12>>2]=a[g+12>>2];if(w){Y=L+(n<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[v>>2]=a[I>>2];a[v+4>>2]=a[I+4>>2];a[v+8>>2]=a[I+8>>2];a[v+12>>2]=a[I+12>>2];bN(E,1.0-s*.5,B,v);a[Y>>2]=a[E>>2];a[Y+4>>2]=a[E+4>>2];a[Y+8>>2]=a[E+8>>2];a[Y+12>>2]=a[E+12>>2];r=r+4|0}else r=n;l=l+1|0}c=L+(r<<4)|0;a[c>>2]=a[L>>2];a[c+4>>2]=a[L+4>>2];a[c+8>>2]=a[L+8>>2];a[c+12>>2]=a[L+12>>2];c=L+(r+1<<4)|0;t=L+16|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];r=L+(r+2<<4)|0;c=L+32|0;a[r>>2]=a[c>>2];a[r+4>>2]=a[c+4>>2];a[r+8>>2]=a[c+8>>2];a[r+12>>2]=a[c+12>>2];r=Q&2147483647;A:do{if((r|0)<201326592){if((r|0)>=83886080){if((r|0)<134217728){if((r|0)<100663296){switch(r|0){case 83886080:break;default:break A}if((i|0)==4){Y=qF(192)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];o=Y+16|0;v=e+16|0;a[o>>2]=a[v>>2];a[o+4>>2]=a[v+4>>2];a[o+8>>2]=a[v+8>>2];a[o+12>>2]=a[v+12>>2];o=L+48|0;v=L+64|0;u=+b[v>>3];w=Y+32|0;b[w>>3]=u;h=L+56|0;d=L+72|0;D=+b[d>>3];G=Y+40|0;b[G>>3]=D;y=+b[o>>3]+u-+b[c>>3];g=Y+48|0;b[g>>3]=y;F=+b[h>>3]+D-+b[L+40>>3];I=Y+56|0;b[I>>3]=F;M=+b[v>>3]+y-+b[o>>3];o=Y+64|0;b[o>>3]=M;s=+b[d>>3]+F-+b[h>>3];h=Y+72|0;b[h>>3]=s;d=Y+80|0;b[d>>3]=u+M-y;b[Y+88>>3]=D+s-F;v=L+96|0;E=L+80|0;F=+b[E>>3];i=Y+144|0;b[i>>3]=F;C=L+104|0;B=L+88|0;s=+b[B>>3];b[Y+152>>3]=s;D=+b[v>>3]+F-+b[L+112>>3];Z=Y+128|0;b[Z>>3]=D;y=+b[C>>3]+s-+b[L+120>>3];Q=Y+136|0;b[Q>>3]=y;M=+b[E>>3]+D-+b[v>>3];v=Y+112|0;b[v>>3]=M;u=+b[B>>3]+y-+b[C>>3];C=Y+120|0;b[C>>3]=u;B=Y+96|0;b[B>>3]=F+M-D;E=Y+104|0;b[E>>3]=s+u-y;c=Y+160|0;t=e+32|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];c=Y+176|0;e=e+48|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];ar(A,Y,12,f);a[m>>2]=a[w>>2];a[m+4>>2]=a[w+4>>2];a[m+8>>2]=a[w+8>>2];a[m+12>>2]=a[w+12>>2];y=+b[w>>3];u=+b[g>>3];y=y+y-u;g=m+16|0;b[g>>3]=y;s=+b[G>>3];D=+b[I>>3];s=s+s-D;I=m+24|0;b[I>>3]=s;G=m+32|0;b[G>>3]=+b[o>>3]+y-u;e=m+40|0;b[e>>3]=+b[h>>3]+s-D;f=m+48|0;a[f>>2]=a[d>>2];a[f+4>>2]=a[d+4>>2];a[f+8>>2]=a[d+8>>2];a[f+12>>2]=a[d+12>>2];tr(A,m,4);a[m>>2]=a[B>>2];a[m+4>>2]=a[B+4>>2];a[m+8>>2]=a[B+8>>2];a[m+12>>2]=a[B+12>>2];D=+b[B>>3];s=+b[v>>3];D=D-(s-D);b[g>>3]=D;u=+b[E>>3];y=+b[C>>3];u=u-(y-u);b[I>>3]=u;b[G>>3]=+b[Z>>3]+D-s;b[e>>3]=+b[Q>>3]+u-y;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];tr(A,m,4);L2(Y);break}else vA(105438,105449,737,105458)}if((r|0)<117440512){switch(r|0){case 100663296:break;default:break A}Z=i+5|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];D=(+b[e>>3]-D)*.625+D;b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;E=L+48|0;C=L+56|0;I=L+72|0;F=(+b[i>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*1.5;b[Y+8>>3]=F;M=+b[G>>3];M=(+b[e>>3]-M)*.25+M;b[Y+16>>3]=M;b[Y+24>>3]=F;b[Y+32>>3]=M;y=+b[Q>>3];b[Y+40>>3]=(+b[i>>3]-y)*.5+y;M=(+b[c>>3]-+b[E>>3])*.5+M;b[Y+48>>3]=M;y=+b[Q>>3];b[Y+56>>3]=(+b[i>>3]-y)*.5+y;b[Y+64>>3]=M;M=+b[Q>>3];M=(+b[i>>3]-M)*.5+M+(+b[C>>3]-+b[I>>3]);b[Y+72>>3]=M;b[Y+80>>3]=D;b[Y+88>>3]=M;b[Y+96>>3]=D;M=M-(+b[C>>3]-+b[I>>3])*.25;b[Y+104>>3]=M;b[Y+112>>3]=+b[c>>3]+D-+b[E>>3];b[Y+120>>3]=(+b[C>>3]-+b[I>>3])*.5+M;b[Y+128>>3]=+b[Y>>3];b[Y+136>>3]=(+b[C>>3]-+b[I>>3])*.25+F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 117440512:break;default:break A}i=i+1|0;Y=qF(i<<4)|0;b[Y>>3]=+b[t>>3];G=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[G>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[L+48>>3];F=+b[G>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];m=e+40|0;b[Y+40>>3]=(+b[G>>3]-+b[Q>>3])*.5+ +b[m>>3];b[Y+48>>3]=+b[t>>3];b[Y+56>>3]=(+b[G>>3]-+b[Q>>3])*.5+ +b[m>>3];F=+b[e+8>>3];b[Y+72>>3]=F-(F-+b[e+56>>3])*.5;b[Y+64>>3]=+b[e>>3];ar(A,Y,i,f);L2(Y);break}}if((r|0)<167772160)if((r|0)<150994944){switch(r|0){case 134217728:break;default:break A}Z=i+4|0;Y=qF(Z<<4)|0;G=e+16|0;y=+b[G>>3];I=L+48|0;y=(+b[e>>3]-y)*.5+y+(+b[c>>3]-+b[I>>3])*.25;b[Y>>3]=y;Q=e+40|0;F=+b[Q>>3];i=e+24|0;F=(+b[i>>3]-F)*.5+F;b[Y+8>>3]=F;b[Y+16>>3]=y;E=L+56|0;C=L+72|0;D=(+b[E>>3]-+b[C>>3])*.5+F;b[Y+24>>3]=D;y=(+b[c>>3]-+b[I>>3])*.5+y;b[Y+32>>3]=y;b[Y+40>>3]=D;b[Y+48>>3]=y;y=(+b[E>>3]-+b[C>>3])*.5+D;b[Y+56>>3]=y;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.75;b[Y+64>>3]=M;b[Y+72>>3]=y;b[Y+80>>3]=M;b[Y+88>>3]=D;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.25;b[Y+96>>3]=M;b[Y+104>>3]=D;b[Y+112>>3]=M;b[Y+120>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 150994944:break;default:break A}Z=i+2|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];I=L+48|0;D=(+b[e>>3]-D)*.5+D+(+b[c>>3]-+b[I>>3])*.75;b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;F=(+b[i>>3]-F)*.5+F;b[Y+8>>3]=F;b[Y+16>>3]=D;E=L+56|0;C=L+72|0;D=(+b[E>>3]-+b[C>>3])*.25+F;b[Y+24>>3]=D;M=+b[G>>3];b[Y+32>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*.25;M=(+b[E>>3]-+b[C>>3])*.5+D;b[Y+40>>3]=M;y=+b[G>>3];b[Y+48>>3]=(+b[e>>3]-y)*.5+y+(+b[c>>3]-+b[I>>3])*-.25;b[Y+56>>3]=M;M=+b[G>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[I>>3])*-.75;b[Y+64>>3]=M;b[Y+72>>3]=D;b[Y+80>>3]=M;b[Y+88>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else if((r|0)<184549376){switch(r|0){case 167772160:break;default:break A}Z=i+1|0;Y=qF(Z<<4)|0;G=e+16|0;D=+b[G>>3];E=L+48|0;D=+b[c>>3]+D+(+b[e>>3]-D)*.5-+b[E>>3];b[Y>>3]=D;Q=e+40|0;F=+b[Q>>3];i=e+24|0;C=L+56|0;I=L+72|0;F=(+b[i>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*.25;b[Y+8>>3]=F;D=D-+b[c>>3]+ +b[E>>3];b[Y+16>>3]=D;b[Y+24>>3]=+b[C>>3]+F-+b[I>>3];b[Y+32>>3]=D;D=(+b[C>>3]-+b[I>>3])*.5+F;b[Y+40>>3]=D;M=+b[G>>3];M=(+b[e>>3]-M)*.25+M;b[Y+48>>3]=M;b[Y+56>>3]=D;b[Y+64>>3]=M;b[Y+72>>3]=F;ar(A,Y,Z,f);b[m>>3]=+b[G>>3];F=+b[Q>>3];b[m+8>>3]=(+b[i>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 184549376:break;default:break A}G=i+4|0;Y=qF(G<<4)|0;Z=e+16|0;D=+b[Z>>3];M=+b[e>>3]-D;g=L+48|0;M=M*.125+D+(+b[c>>3]-+b[g>>3]+M)*.5;b[Y>>3]=M;C=e+40|0;D=+b[C>>3];I=e+24|0;i=L+56|0;E=L+72|0;D=(+b[I>>3]-D)*.5+D+(+b[i>>3]-+b[E>>3])*.25;b[Y+8>>3]=D;F=+b[Z>>3];F=(+b[e>>3]-F)*.375+F;b[Y+16>>3]=F;b[Y+24>>3]=D;b[Y+32>>3]=F;D=(+b[i>>3]-+b[E>>3])*.5+D;b[Y+40>>3]=D;F=F-(+b[c>>3]-+b[g>>3])*.5;b[Y+48>>3]=F;b[Y+56>>3]=D;Q=Y+64|0;b[Q>>3]=F;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[i>>3]-+b[E>>3])*-.25;b[Y+72>>3]=F;D=M-(+b[c>>3]-+b[g>>3])*.5;b[Y+80>>3]=D;b[Y+88>>3]=F;b[Y+96>>3]=D;F=F-(+b[i>>3]-+b[E>>3])*.5;b[Y+104>>3]=F;E=Y+112|0;b[E>>3]=M;b[Y+120>>3]=F;ar(A,Y,G,f);b[m>>3]=+b[Z>>3];F=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-F)*.5+F;G=m+16|0;b[G>>3]=+b[Q>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);b[m>>3]=+b[E>>3];F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=+b[e>>3];b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<33554432){if((r|0)<8){switch(r|0){case 4:break;default:break A}l=$F((i*96|0)+32|0)|0;r=0;n=0;while(1){t=n|1;c=l+(n<<4)|0;if((r|0)>=(i|0))break;e=r<<2;Y=L+(e<<4)|0;a[c>>2]=a[Y>>2];a[c+4>>2]=a[Y+4>>2];a[c+8>>2]=a[Y+8>>2];a[c+12>>2]=a[Y+12>>2];Y=l+(t<<4)|0;m=L+((e|1)<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+2<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+3<<4)|0;m=L+((e|2)<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+4<<4)|0;a[Y>>2]=a[m>>2];a[Y+4>>2]=a[m+4>>2];a[Y+8>>2]=a[m+8>>2];a[Y+12>>2]=a[m+12>>2];Y=l+(n+5<<4)|0;e=L+((e|3)<<4)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];r=r+1|0;n=n+6|0}a[c>>2]=a[l>>2];a[c+4>>2]=a[l+4>>2];a[c+8>>2]=a[l+8>>2];a[c+12>>2]=a[l+12>>2];i=l+(t<<4)|0;Y=l+16|0;a[i>>2]=a[Y>>2];a[i+4>>2]=a[Y+4>>2];a[i+8>>2]=a[Y+8>>2];a[i+12>>2]=a[Y+12>>2];lr(A,Y,t,0,0,f&255);L2(l);break}if((r|0)<16777216){switch(r|0){case 8:break;default:break A}ar(A,e,i,f);n=m+16|0;r=0;while(1){if((r|0)>=(i|0))break A;Y=r*3|0;f=L+(Y+2<<4)|0;a[m>>2]=a[f>>2];a[m+4>>2]=a[f+4>>2];a[m+8>>2]=a[f+8>>2];a[m+12>>2]=a[f+12>>2];Y=L+(Y+4<<4)|0;a[n>>2]=a[Y>>2];a[n+4>>2]=a[Y+4>>2];a[n+8>>2]=a[Y+8>>2];a[n+12>>2]=a[Y+12>>2];tr(A,m,2);r=r+1|0}}switch(r|0){case 16777216:break;default:break A}n=i+1|0;l=qF(n<<4)|0;r=1;while(1){if((r|0)>=(i|0))break;Y=l+(r<<4)|0;Q=e+(r<<4)|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];r=r+1|0}e=i*3|0;Q=L+(e+1<<4)|0;a[l>>2]=a[Q>>2];a[l+4>>2]=a[Q+4>>2];a[l+8>>2]=a[Q+8>>2];a[l+12>>2]=a[Q+12>>2];i=l+(i<<4)|0;Y=L+(e+-1<<4)|0;a[i>>2]=a[Y>>2];a[i+4>>2]=a[Y+4>>2];a[i+8>>2]=a[Y+8>>2];a[i+12>>2]=a[Y+12>>2];ar(A,l,n,f);L2(l);a[m>>2]=a[Y>>2];a[m+4>>2]=a[Y+4>>2];a[m+8>>2]=a[Y+8>>2];a[m+12>>2]=a[Y+12>>2];Y=m+16|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];f=m+32|0;b[f>>3]=+b[m>>3]+ +b[Y>>3]-+b[L+(e<<4)>>3];b[m+40>>3]=+b[m+8>>3]+ +b[m+24>>3]-+b[L+(e<<4)+8>>3];tr(A,Y,2);a[Y>>2]=a[f>>2];a[Y+4>>2]=a[f+4>>2];a[Y+8>>2]=a[f+8>>2];a[Y+12>>2]=a[f+12>>2];tr(A,m,2);break}else{if((r|0)<50331648){switch(r|0){case 33554432:break;default:break A}n=i+2|0;l=qF(n<<4)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];t=l+16|0;a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];t=L+48|0;i=L+64|0;b[l+32>>3]=(+b[t>>3]-+b[i>>3])*.3333333333333333+ +b[c>>3];Y=L+56|0;r=L+72|0;b[l+40>>3]=(+b[Y>>3]-+b[r>>3])*.3333333333333333+ +b[L+40>>3];F=+b[t>>3];b[l+48>>3]=(F-+b[i>>3])*.3333333333333333+F;F=+b[Y>>3];b[l+56>>3]=(F-+b[r>>3])*.3333333333333333+F;r=4;while(1){if((r|0)>=(n|0))break;Y=l+(r<<4)|0;i=e+(r+-2<<4)|0;a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];r=r+1|0}ar(A,l,n,f);L2(l);a[m>>2]=a[t>>2];a[m+4>>2]=a[t+4>>2];a[m+8>>2]=a[t+8>>2];a[m+12>>2]=a[t+12>>2];Y=m+16|0;a[Y>>2]=a[c>>2];a[Y+4>>2]=a[c+4>>2];a[Y+8>>2]=a[c+8>>2];a[Y+12>>2]=a[c+12>>2];tr(A,m,2);break}if((r|0)>=67108864){switch(r|0){case 67108864:break;default:break A}if((i|0)==4){Y=qF(96)|0;a[Y>>2]=a[e>>2];a[Y+4>>2]=a[e+4>>2];a[Y+8>>2]=a[e+8>>2];a[Y+12>>2]=a[e+12>>2];i=Y+16|0;a[i>>2]=a[c>>2];a[i+4>>2]=a[c+4>>2];a[i+8>>2]=a[c+8>>2];a[i+12>>2]=a[c+12>>2];i=Y+32|0;Q=L+64|0;a[i>>2]=a[Q>>2];a[i+4>>2]=a[Q+4>>2];a[i+8>>2]=a[Q+8>>2];a[i+12>>2]=a[Q+12>>2];i=Y+48|0;e=e+32|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];e=Y+64|0;i=L+128|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=Y+80|0;G=L+160|0;a[e>>2]=a[G>>2];a[e+4>>2]=a[G+4>>2];a[e+8>>2]=a[G+8>>2];a[e+12>>2]=a[G+12>>2];ar(A,Y,6,f);L2(Y);b[m>>3]=+b[L+176>>3]+ +b[t>>3]-+b[L>>3];b[m+8>>3]=+b[L+184>>3]+ +b[L+24>>3]-+b[L+8>>3];Y=m+16|0;a[Y>>2]=a[Q>>2];a[Y+4>>2]=a[Q+4>>2];a[Y+8>>2]=a[Q+8>>2];a[Y+12>>2]=a[Q+12>>2];tr(A,m,2);a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];tr(A,m,2);a[Y>>2]=a[L>>2];a[Y+4>>2]=a[L+4>>2];a[Y+8>>2]=a[L+8>>2];a[Y+12>>2]=a[L+12>>2];tr(A,m,2);break}else vA(105438,105449,714,105458)}switch(r|0){case 50331648:break;default:break A}n=i+3|0;l=qF(n<<4)|0;a[l>>2]=a[e>>2];a[l+4>>2]=a[e+4>>2];a[l+8>>2]=a[e+8>>2];a[l+12>>2]=a[e+12>>2];F=+b[e>>3];b[l+16>>3]=F-(F-+b[t>>3])*.25;r=L+56|0;F=(+b[r>>3]-+b[L+72>>3])*.3333333333333333+ +b[e+8>>3];b[l+24>>3]=F;M=+b[e>>3];b[l+32>>3]=M-(M-+b[t>>3])*2.0;b[l+40>>3]=F;F=+b[e>>3];b[l+48>>3]=F-(F-+b[t>>3])*2.25;b[l+56>>3]=+b[r>>3];b[l+64>>3]=+b[L+48>>3];b[l+72>>3]=+b[r>>3];r=4;while(1){if((r|0)>=(n|0))break;Y=l+(r<<4)|0;i=e+(r+-3<<4)|0;a[Y>>2]=a[i>>2];a[Y+4>>2]=a[i+4>>2];a[Y+8>>2]=a[i+8>>2];a[Y+12>>2]=a[i+12>>2];r=r+1|0}ar(A,l,n,f);L2(l);break}}else if((r|0)<318767104){if((r|0)<251658240){if((r|0)<218103808){switch(r|0){case 201326592:break;default:break A}Y=i<<4;g=qF(Y)|0;E=e+16|0;F=+b[E>>3];b[g>>3]=F;G=e+40|0;M=+b[G>>3];Q=e+24|0;Z=L+48|0;C=L+56|0;I=L+72|0;M=(+b[Q>>3]-M)*.5+M+(+b[C>>3]-+b[I>>3])*.125;b[g+8>>3]=M;D=(+b[c>>3]-+b[Z>>3])*2.0+F;b[g+16>>3]=D;b[g+24>>3]=M;b[g+32>>3]=D;M=(+b[C>>3]-+b[I>>3])*.5+M;b[g+40>>3]=M;b[g+48>>3]=F;b[g+56>>3]=M;ar(A,g,i,f);L2(g);Y=qF(Y)|0;M=+b[c>>3]+ +b[E>>3]-+b[Z>>3];b[Y>>3]=M;F=+b[G>>3];F=(+b[Q>>3]-F)*.5+F+(+b[C>>3]-+b[I>>3])*-.625;b[Y+8>>3]=F;D=+b[c>>3]-+b[Z>>3]+M;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=F;b[Y+32>>3]=D;F=(+b[C>>3]-+b[I>>3])*.5+F;b[Y+40>>3]=F;b[Y+48>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];F=+b[G>>3];b[m+8>>3]=(+b[Q>>3]-F)*.5+F;b[m+16>>3]=+b[e>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}if((r|0)<234881024){switch(r|0){case 218103808:break;default:break A}Y=i<<4;C=qF(Y)|0;F=+b[e>>3];b[C>>3]=F;Z=e+40|0;M=+b[Z>>3];G=e+24|0;I=L+56|0;Q=L+72|0;M=(+b[G>>3]-M)*.5+M+(+b[I>>3]-+b[Q>>3])*.125;b[C+8>>3]=M;b[C+16>>3]=F;D=(+b[I>>3]-+b[Q>>3])*.5+M;b[C+24>>3]=D;F=F-(+b[I>>3]-+b[Q>>3])*2.0;b[C+32>>3]=F;b[C+40>>3]=D;b[C+48>>3]=F;b[C+56>>3]=M;ar(A,C,i,f);L2(C);Y=qF(Y)|0;M=+b[e>>3]-+b[c>>3]+ +b[L+48>>3];b[Y>>3]=M;F=+b[Z>>3];F=(+b[G>>3]-F)*.5+F+(+b[I>>3]-+b[Q>>3])*-.625;b[Y+8>>3]=F;b[Y+16>>3]=M;D=(+b[I>>3]-+b[Q>>3])*.5+F;b[Y+24>>3]=D;M=M-(+b[I>>3]-+b[Q>>3]);b[Y+32>>3]=M;b[Y+40>>3]=D;Q=Y+48|0;b[Q>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[e+16>>3];F=+b[Z>>3];b[m+8>>3]=(+b[G>>3]-F)*.5+F;b[m+16>>3]=+b[Q>>3];b[m+24>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 234881024:break;default:break A}Y=i<<4;Z=qF(Y)|0;g=e+16|0;M=+b[g>>3];E=L+48|0;M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*-1.125;b[Z>>3]=M;C=e+40|0;F=+b[C>>3];I=e+24|0;Q=L+56|0;G=L+72|0;F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*.125;b[Z+8>>3]=F;D=+b[c>>3]-+b[E>>3]+M;b[Z+16>>3]=D;b[Z+24>>3]=F;b[Z+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Z+40>>3]=F;b[Z+48>>3]=M;b[Z+56>>3]=F;ar(A,Z,i,f);L2(Z);Z=qF(Y)|0;F=+b[g>>3];F=(+b[e>>3]-F)*.5+F+(+b[c>>3]-+b[E>>3])*-1.125;b[Z>>3]=F;M=+b[C>>3];M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*-.625;b[Z+8>>3]=M;D=+b[c>>3]-+b[E>>3]+F;b[Z+16>>3]=D;b[Z+24>>3]=M;b[Z+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[Z+40>>3]=M;b[Z+48>>3]=F;b[Z+56>>3]=M;ar(A,Z,i,f);L2(Z);Z=qF(Y)|0;M=+b[g>>3];M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*.125;b[Z>>3]=M;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*-.625;b[Z+8>>3]=F;D=+b[c>>3]-+b[E>>3]+M;b[Z+16>>3]=D;b[Z+24>>3]=F;b[Z+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Z+40>>3]=F;b[Z+48>>3]=M;b[Z+56>>3]=F;ar(A,Z,i,f);L2(Z);Y=qF(Y)|0;F=+b[g>>3];F=(+b[e>>3]-F)*.5+F+(+b[c>>3]-+b[E>>3])*.125;b[Y>>3]=F;M=+b[C>>3];M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*.125;b[Y+8>>3]=M;D=+b[c>>3]-+b[E>>3]+F;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=M;b[Y+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[Y+40>>3]=M;b[Y+48>>3]=F;b[Y+56>>3]=M;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];M=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-M)*.5+M;G=m+16|0;b[G>>3]=+b[e>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+M;tr(A,m,2);M=+b[g>>3];b[m>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[E>>3])*-1.125;F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=M;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<285212672)if((r|0)<268435456){switch(r|0){case 251658240:break;default:break A}Y=i<<4;g=qF(Y)|0;E=e+16|0;F=+b[E>>3];Z=L+48|0;F=F-+b[c>>3]+(+b[e>>3]-F)*.5+ +b[Z>>3];b[g>>3]=F;C=e+40|0;M=+b[C>>3];I=e+24|0;Q=L+56|0;G=L+72|0;M=(+b[I>>3]-M)*.5+M+(+b[Q>>3]-+b[G>>3])*.125;b[g+8>>3]=M;D=(+b[c>>3]-+b[Z>>3])*2.0+F;b[g+16>>3]=D;b[g+24>>3]=M;b[g+32>>3]=D;M=(+b[Q>>3]-+b[G>>3])*.5+M;b[g+40>>3]=M;b[g+48>>3]=F;b[g+56>>3]=M;ar(A,g,i,f);L2(g);Y=qF(Y)|0;M=+b[E>>3];M=M-+b[c>>3]+(+b[e>>3]-M)*.5+ +b[Z>>3];b[Y>>3]=M;F=+b[C>>3];F=(+b[I>>3]-F)*.5+F+(+b[Q>>3]-+b[G>>3])*-.625;b[Y+8>>3]=F;D=(+b[c>>3]-+b[Z>>3])*2.0+M;Z=Y+16|0;b[Z>>3]=D;b[Y+24>>3]=F;b[Y+32>>3]=D;F=(+b[Q>>3]-+b[G>>3])*.5+F;b[Y+40>>3]=F;b[Y+48>>3]=M;b[Y+56>>3]=F;ar(A,Y,i,f);b[m>>3]=+b[Z>>3];F=+b[C>>3];Z=m+8|0;b[Z>>3]=(+b[I>>3]-F)*.5+F;G=m+16|0;b[G>>3]=+b[e>>3];Q=e+8|0;i=e+56|0;f=m+24|0;b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);b[m>>3]=+b[E>>3];F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[G>>3]=+b[Y>>3];b[f>>3]=(+b[Q>>3]-+b[i>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 268435456:break;default:break A}Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];E=L+48|0;I=L+56|0;Z=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[I>>3]-+b[Z>>3])*.5;b[Y+16>>3]=+b[E>>3];F=+b[I>>3];b[Y+24>>3]=F-(F-+b[Z>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=(+b[I>>3]-+b[Z>>3])*.5+ +b[G>>3];b[Y+48>>3]=+b[e>>3];b[Y+56>>3]=(+b[I>>3]-+b[Z>>3])*.5+ +b[G>>3];ar(A,Y,i,f);C=e+16|0;F=(+b[c>>3]-+b[E>>3])*.25;M=F+ +b[C>>3];b[m>>3]=M;D=+b[G>>3];g=e+24|0;y=+b[I>>3]-+b[Z>>3];D=(+b[g>>3]-D)*.5+D+y*.125;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F+M;f=m+24|0;b[f>>3]=D-y*.25;tr(A,m,2);y=(+b[c>>3]-+b[E>>3])*.25;D=y+ +b[C>>3];b[m>>3]=D;M=+b[G>>3];F=+b[I>>3]-+b[Z>>3];M=(+b[g>>3]-M)*.5+M+F*-.125;b[Q>>3]=M;b[i>>3]=y+D;b[f>>3]=F*.25+M;tr(A,m,2);M=(+b[c>>3]-+b[E>>3])*.25;b[m>>3]=M+ +b[C>>3];F=(+b[I>>3]-+b[Z>>3])*.75+ +b[G>>3];b[Q>>3]=F;b[i>>3]=+b[e>>3]-M;b[f>>3]=F;tr(A,m,2);L2(Y);break}else if((r|0)<301989888){switch(r|0){case 285212672:break;default:break A}Z=qF(i<<4)|0;E=e+16|0;M=+b[E>>3];G=L+48|0;M=(+b[c>>3]-+b[G>>3]+(+b[e>>3]-M))*.5+M;b[Z>>3]=M;C=e+40|0;y=+b[C>>3];I=e+24|0;y=(+b[c>>3]-+b[G>>3]+(+b[I>>3]-y))*.5+y;b[Z+8>>3]=y;b[Z+16>>3]=M;M=+b[C>>3];u=+b[c>>3]-+b[G>>3];M=(+b[I>>3]-M-u)*.5+M;b[Z+24>>3]=M;F=+b[E>>3];F=(+b[e>>3]-F-u)*.5+F;b[Z+32>>3]=F;b[Z+40>>3]=M;b[Z+48>>3]=F;b[Z+56>>3]=y;ar(A,Z,i,f);L2(Z);y=+b[E>>3];y=(+b[e>>3]-y)*.5+y;F=+b[c>>3]-+b[G>>3];M=F*.75;u=y+M;b[m>>3]=u;D=+b[C>>3];D=(+b[I>>3]-D)*.5+D;M=D+M;Z=m+8|0;b[Z>>3]=M;Q=m+16|0;b[Q>>3]=u;F=F*-.75;D=D+F;Y=m+24|0;b[Y>>3]=D;F=y+F;b[m+32>>3]=F;b[m+40>>3]=D;b[m+48>>3]=F;b[m+56>>3]=M;i=m+64|0;a[i>>2]=a[m>>2];a[i+4>>2]=a[m+4>>2];a[i+8>>2]=a[m+8>>2];a[i+12>>2]=a[m+12>>2];tr(A,m,5);M=+b[E>>3];F=+b[e>>3];b[m>>3]=(F-M)*.5+M+(+b[c>>3]-+b[G>>3])*.75;M=+b[C>>3];b[Z>>3]=(+b[I>>3]-M)*.5+M;b[Q>>3]=F;i=e+8|0;f=e+56|0;b[Y>>3]=(+b[i>>3]-+b[f>>3])*.5+M;tr(A,m,2);M=+b[E>>3];b[m>>3]=M;F=+b[C>>3];b[Z>>3]=(+b[I>>3]-F)*.5+F;b[Q>>3]=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[G>>3])*-.75;b[Y>>3]=(+b[i>>3]-+b[f>>3])*.5+F;tr(A,m,2);break}else{switch(r|0){case 301989888:break;default:break A}Q=i+12|0;Y=qF(Q<<4)|0;I=e+16|0;s=+b[I>>3];B=L+48|0;s=(+b[e>>3]-s)*.5+s+(+b[c>>3]-+b[B>>3])*.25;b[Y>>3]=s;Z=e+40|0;y=+b[Z>>3];G=e+24|0;E=L+56|0;C=L+72|0;y=(+b[E>>3]-+b[C>>3]+(+b[G>>3]-y))*.5+y;g=Y+8|0;b[g>>3]=y;b[Y+16>>3]=s;y=(+b[E>>3]-+b[C>>3])*.125+y;v=Y+24|0;b[v>>3]=y;D=s-(+b[c>>3]-+b[B>>3])*.125;i=Y+32|0;b[i>>3]=D;u=(+b[E>>3]-+b[C>>3])*.125+y;b[Y+40>>3]=u;b[Y+48>>3]=s;M=(+b[E>>3]-+b[C>>3])*.125+u;b[Y+56>>3]=M;b[Y+64>>3]=s;s=(+b[E>>3]-+b[C>>3])*.125+M;b[Y+72>>3]=s;b[Y+80>>3]=D;b[Y+88>>3]=s;D=+b[I>>3];D=(+b[e>>3]-D)*.5+D;b[Y+96>>3]=D;b[Y+104>>3]=M;F=D-(+b[c>>3]-+b[B>>3])*.125;b[Y+112>>3]=F;b[Y+120>>3]=s;F=F-(+b[c>>3]-+b[B>>3])*.125;b[Y+128>>3]=F;b[Y+136>>3]=s;b[Y+144>>3]=F;b[Y+152>>3]=M;M=(+b[c>>3]-+b[B>>3])*.125+F;b[Y+160>>3]=M;b[Y+168>>3]=u;b[Y+176>>3]=F;b[Y+184>>3]=y;b[Y+192>>3]=F;F=+b[g>>3];b[Y+200>>3]=F;b[Y+208>>3]=M;b[Y+216>>3]=F;g=Y+224|0;b[g>>3]=D;b[Y+232>>3]=+b[v>>3];b[Y+240>>3]=+b[i>>3];b[Y+248>>3]=F;ar(A,Y,Q,f);F=+b[g>>3];b[m>>3]=F;D=+b[Z>>3];D=(+b[G>>3]-D)*.5+D;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F;f=m+24|0;b[f>>3]=(+b[E>>3]-+b[C>>3])*.125+D;tr(A,m,2);D=+b[g>>3];b[m>>3]=D;F=+b[Z>>3];M=+b[E>>3]-+b[C>>3];F=(+b[G>>3]-F)*.5+F+M*.25;b[Q>>3]=F;b[i>>3]=D;b[f>>3]=M*.125+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}}else{if((r|0)<369098752){if((r|0)<335544320){switch(r|0){case 318767104:break;default:break A}Q=i+4|0;Y=qF(Q<<4)|0;I=e+16|0;D=+b[I>>3];i=L+48|0;D=(+b[e>>3]-D)*.5+D+(+b[c>>3]-+b[i>>3])*.125;b[Y>>3]=D;Z=e+40|0;F=+b[Z>>3];G=e+24|0;E=L+56|0;C=L+72|0;F=(+b[E>>3]-+b[C>>3]+(+b[G>>3]-F))*.5+F;b[Y+8>>3]=F;u=(+b[c>>3]-+b[i>>3])*.125+D;b[Y+16>>3]=u;M=(+b[E>>3]-+b[C>>3])*.125+F;b[Y+24>>3]=M;b[Y+32>>3]=u;u=(+b[E>>3]-+b[C>>3])*.25+M;b[Y+40>>3]=u;b[Y+48>>3]=D;y=(+b[E>>3]-+b[C>>3])*.125+u;b[Y+56>>3]=y;D=D-(+b[c>>3]-+b[i>>3])*.25;b[Y+64>>3]=D;b[Y+72>>3]=y;y=D-(+b[c>>3]-+b[i>>3])*.125;b[Y+80>>3]=y;b[Y+88>>3]=u;b[Y+96>>3]=y;b[Y+104>>3]=M;b[Y+112>>3]=D;b[Y+120>>3]=F;ar(A,Y,Q,f);F=+b[I>>3];F=(+b[e>>3]-F)*.5+F;b[m>>3]=F;D=+b[Z>>3];D=(+b[G>>3]-D)*.5+D;Q=m+8|0;b[Q>>3]=D;i=m+16|0;b[i>>3]=F;f=m+24|0;b[f>>3]=(+b[E>>3]-+b[C>>3])*.125+D;tr(A,m,2);D=+b[I>>3];D=(+b[e>>3]-D)*.5+D;b[m>>3]=D;F=+b[Z>>3];M=+b[E>>3]-+b[C>>3];F=(+b[G>>3]-F)*.5+F+M*.25;b[Q>>3]=F;b[i>>3]=D;b[f>>3]=M*.125+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}if((r|0)<352321536){switch(r|0){case 335544320:break;default:break A}I=i+12|0;Y=qF(I<<4)|0;Z=e+16|0;s=+b[Z>>3];g=L+48|0;s=(+b[e>>3]-s)*.5+s+(+b[c>>3]-+b[g>>3])*.25;b[Y>>3]=s;G=e+40|0;y=+b[G>>3];Q=e+24|0;B=L+56|0;v=L+72|0;y=(+b[B>>3]-+b[v>>3]+(+b[Q>>3]-y))*.5+y;i=Y+8|0;b[i>>3]=y;b[Y+16>>3]=s;y=(+b[B>>3]-+b[v>>3])*.125+y;E=Y+24|0;b[E>>3]=y;M=s-(+b[c>>3]-+b[g>>3])*.125;C=Y+32|0;b[C>>3]=M;u=(+b[B>>3]-+b[v>>3])*.125+y;b[Y+40>>3]=u;b[Y+48>>3]=s;D=(+b[B>>3]-+b[v>>3])*.125+u;b[Y+56>>3]=D;b[Y+64>>3]=s;s=(+b[B>>3]-+b[v>>3])*.125+D;b[Y+72>>3]=s;b[Y+80>>3]=M;b[Y+88>>3]=s;M=+b[Z>>3];M=(+b[e>>3]-M)*.5+M;b[Y+96>>3]=M;b[Y+104>>3]=D;F=M-(+b[c>>3]-+b[g>>3])*.125;b[Y+112>>3]=F;b[Y+120>>3]=s;F=F-(+b[c>>3]-+b[g>>3])*.125;b[Y+128>>3]=F;b[Y+136>>3]=s;b[Y+144>>3]=F;b[Y+152>>3]=D;D=(+b[c>>3]-+b[g>>3])*.125+F;b[Y+160>>3]=D;b[Y+168>>3]=u;b[Y+176>>3]=F;b[Y+184>>3]=y;b[Y+192>>3]=F;F=+b[i>>3];b[Y+200>>3]=F;b[Y+208>>3]=D;b[Y+216>>3]=F;i=Y+224|0;b[i>>3]=M;b[Y+232>>3]=+b[E>>3];b[Y+240>>3]=+b[C>>3];b[Y+248>>3]=F;ar(A,Y,I,f);a[m>>2]=a[i>>2];a[m+4>>2]=a[i+4>>2];a[m+8>>2]=a[i+8>>2];a[m+12>>2]=a[i+12>>2];i=m+16|0;b[i>>3]=+b[m>>3];F=+b[G>>3];f=m+24|0;b[f>>3]=(+b[Q>>3]-F)*.5+F;tr(A,m,2);b[m>>3]=+b[Z>>3];F=+b[G>>3];b[m+8>>3]=(+b[Q>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}else{switch(r|0){case 352321536:break;default:break A}Q=i+4|0;Y=qF(Q<<4)|0;I=e+16|0;M=+b[I>>3];C=L+48|0;M=(+b[e>>3]-M)*.5+M+(+b[c>>3]-+b[C>>3])*.125;b[Y>>3]=M;Z=e+40|0;F=+b[Z>>3];G=e+24|0;g=L+56|0;E=L+72|0;F=(+b[g>>3]-+b[E>>3]+(+b[G>>3]-F))*.5+F;i=Y+8|0;b[i>>3]=F;u=(+b[c>>3]-+b[C>>3])*.125+M;b[Y+16>>3]=u;D=(+b[g>>3]-+b[E>>3])*.125+F;b[Y+24>>3]=D;b[Y+32>>3]=u;u=(+b[g>>3]-+b[E>>3])*.25+D;b[Y+40>>3]=u;b[Y+48>>3]=M;y=(+b[g>>3]-+b[E>>3])*.125+u;b[Y+56>>3]=y;M=M-(+b[c>>3]-+b[C>>3])*.25;b[Y+64>>3]=M;b[Y+72>>3]=y;y=M-(+b[c>>3]-+b[C>>3])*.125;b[Y+80>>3]=y;b[Y+88>>3]=u;b[Y+96>>3]=y;b[Y+104>>3]=D;b[Y+112>>3]=M;b[Y+120>>3]=F;ar(A,Y,Q,f);F=+b[I>>3];F=(+b[e>>3]-F)*.5+F;b[m>>3]=F;Q=m+8|0;b[Q>>3]=+b[i>>3];i=m+16|0;b[i>>3]=F;F=+b[Z>>3];f=m+24|0;b[f>>3]=(+b[G>>3]-F)*.5+F;tr(A,m,2);b[m>>3]=+b[I>>3];F=+b[Z>>3];b[Q>>3]=(+b[G>>3]-F)*.5+F;b[i>>3]=+b[e>>3];b[f>>3]=(+b[e+8>>3]-+b[e+56>>3])*.5+F;tr(A,m,2);L2(Y);break}}if((r|0)<402653184)if((r|0)<385875968){switch(r|0){case 369098752:break;default:break A}i=i+5|0;Y=qF(i<<4)|0;m=L+48|0;b[Y>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;Z=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[Z>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[m>>3];F=+b[Z>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=+b[G>>3];F=+b[c>>3];b[Y+48>>3]=(F-+b[m>>3])*.5+F;b[Y+56>>3]=+b[G>>3];F=+b[c>>3];b[Y+64>>3]=(F-+b[m>>3])*.5+F;b[Y+72>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+80>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;b[Y+88>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;G=e+56|0;b[Y+104>>3]=+b[G>>3];Q=e+8|0;F=+b[Q>>3];b[Y+120>>3]=F-(F-+b[G>>3])*.5;b[Y+112>>3]=+b[e>>3];b[Y+136>>3]=+b[Q>>3];b[Y+128>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;ar(A,Y,i,f);L2(Y);break}else{switch(r|0){case 385875968:break;default:break A}i=i+3|0;Y=qF(i<<4)|0;m=L+48|0;b[Y>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;Z=L+56|0;Q=L+72|0;b[Y+8>>3]=+b[L+24>>3]-(+b[Z>>3]-+b[Q>>3])*.5;b[Y+16>>3]=+b[m>>3];F=+b[Z>>3];b[Y+24>>3]=F-(F-+b[Q>>3])*.5;b[Y+32>>3]=+b[e+32>>3];G=e+40|0;b[Y+40>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+48>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;b[Y+56>>3]=(+b[Z>>3]-+b[Q>>3])*.5+ +b[G>>3];b[Y+64>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;G=e+56|0;b[Y+72>>3]=+b[G>>3];Q=e+8|0;F=+b[Q>>3];b[Y+88>>3]=F-(F-+b[G>>3])*.5;b[Y+80>>3]=+b[e>>3];b[Y+104>>3]=+b[Q>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[m>>3])*.5;ar(A,Y,i,f);L2(Y);break}else if((r|0)<419430400){switch(r|0){case 402653184:break;default:break A}i=i+3|0;Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];Z=e+8|0;G=L+48|0;Q=L+56|0;m=L+72|0;b[Y+8>>3]=+b[Z>>3]-(+b[Q>>3]-+b[m>>3])*.5;F=+b[c>>3];b[Y+16>>3]=(F-+b[G>>3])*.5+F;b[Y+24>>3]=+b[Z>>3]-(+b[Q>>3]-+b[m>>3])*.5;F=+b[c>>3];b[Y+32>>3]=(F-+b[G>>3])*.5+F;b[Y+40>>3]=+b[L+40>>3];b[Y+48>>3]=+b[e+16>>3];F=+b[e+24>>3];Z=e+40|0;b[Y+56>>3]=F-(F-+b[Z>>3])*.5;F=+b[c>>3];b[Y+64>>3]=(F-+b[G>>3])*.5+F;b[Y+72>>3]=+b[Z>>3];b[Y+88>>3]=(+b[Q>>3]-+b[m>>3])*.5+ +b[Z>>3];F=+b[c>>3];b[Y+80>>3]=(F-+b[G>>3])*.5+F;b[Y+104>>3]=(+b[Q>>3]-+b[m>>3])*.5+ +b[e+56>>3];b[Y+96>>3]=+b[e>>3];ar(A,Y,i,f);L2(Y);break}else{switch(r|0){case 419430400:break;default:break A}i=i+5|0;Y=qF(i<<4)|0;b[Y>>3]=+b[e>>3];m=e+8|0;Q=L+48|0;Z=L+56|0;G=L+72|0;b[Y+8>>3]=+b[m>>3]-(+b[Z>>3]-+b[G>>3])*.5;F=+b[c>>3];b[Y+16>>3]=(F-+b[Q>>3])*.5+F;b[Y+24>>3]=+b[m>>3]-(+b[Z>>3]-+b[G>>3])*.5;F=+b[c>>3];b[Y+32>>3]=(F-+b[Q>>3])*.5+F;b[Y+40>>3]=+b[L+40>>3];b[Y+48>>3]=+b[e+16>>3];F=+b[e+24>>3];m=e+40|0;b[Y+56>>3]=F-(F-+b[m>>3])*.5;F=+b[c>>3];b[Y+64>>3]=(F-+b[Q>>3])*.5+F;b[Y+72>>3]=+b[m>>3];b[Y+88>>3]=(+b[Z>>3]-+b[G>>3])*.5+ +b[m>>3];F=+b[c>>3];b[Y+80>>3]=(F-+b[Q>>3])*.5+F;m=e+56|0;b[Y+104>>3]=(+b[Z>>3]-+b[G>>3])*.5+ +b[m>>3];b[Y+96>>3]=+b[t>>3]-(+b[c>>3]-+b[Q>>3])*.5;b[Y+112>>3]=+b[t>>3]-(+b[c>>3]-+b[Q>>3])*.5;b[Y+120>>3]=+b[m>>3];b[Y+128>>3]=+b[e+48>>3];b[Y+136>>3]=+b[m>>3];ar(A,Y,i,f);L2(Y);break}}}while(0);L2(L)}k=W;return}function cN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0;f=k;k=k+112|0;n=f;c=+b[e+8>>3]*2.0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];b[n+16>>3]=+b[e+16>>3];b[n+24>>3]=c-+b[e+24>>3];b[n+32>>3]=+b[e+32>>3];b[n+40>>3]=c-+b[e+40>>3];b[n+48>>3]=+b[e+48>>3];b[n+56>>3]=c-+b[e+56>>3];b[n+64>>3]=+b[e+64>>3];b[n+72>>3]=c-+b[e+72>>3];b[n+80>>3]=+b[e+80>>3];b[n+88>>3]=c-+b[e+88>>3];l=n+96|0;t=e+96|0;a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];lr(A,e,i,0,0,r&255);lr(A,n,7,0,0,0);k=f;return}function bN(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0.0,a=0.0;a=+b[i>>3];f=+b[i+8>>3];f=(+b[r+8>>3]-f)*e+f;b[A>>3]=(+b[r>>3]-a)*e+a;b[A+8>>3]=f;return}function sN(A){A=A|0;A=a[(a[A+16>>2]|0)+8>>2]|0;if(A){A=a[a[A+4>>2]>>2]|0;if((A|0)!=91)if((A|0)==94)A=2;else return((A|0)==93?3:(A|0)==96?4:0)|0;else A=1}else A=0;return A|0}function wN(A){A=A|0;var e=0,i=0,f=0.0,n=0,l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0.0,Q=0,m=0,L=0,W=0,Y=0,F=0,V=0,J=0,N=0,R=0.0,H=0.0,p=0,x=0,T=0.0,j=0.0,S=0.0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0.0;AA=k;k=k+144|0;F=AA+112|0;N=AA+104|0;L=AA+96|0;W=AA+88|0;l=AA+80|0;K=AA+64|0;q=AA+48|0;p=AA+40|0;x=AA+32|0;t=AA+24|0;o=AA+16|0;m=AA+136|0;Q=AA+128|0;V=AA;$=qF(48)|0;_=A+16|0;P=a[(a[(a[_>>2]|0)+8>>2]|0)+8>>2]|0;n=(P|0)==1616;O=a[P>>2]|0;e=a[P+4>>2]|0;i=a[P+8>>2]|0;s=+b[P+16>>3];w=+b[P+32>>3];u=+b[P+24>>3];O=O|(gR(po(A,105511)|0)|0)&255;do{if(!n){if(!O){P=a[_>>2]|0;c=+b[P+32>>3]*72.0;f=+b[P+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);break}c=+CN(A);if(c>0.0)f=c;else{P=a[_>>2]|0;f=+b[P+32>>3];c=+b[P+40>>3];c=(f=0.0?.5:-.5))|0);f=c}}else{f=0.0;c=0.0}}while(0);P=kR(A,a[47160]|0,e,0)|0;S=+oR(A,a[47162]|0,0.0,-360.0)+s;if(!i){j=+oR(A,a[47163]|0,0.0,-100.0);Y=kR(A,a[47159]|0,4,0)|0;T=+oR(A,a[47164]|0,0.0,-100.0)}else{Y=i;j=w;T=u}e=a[(a[_>>2]|0)+104>>2]|0;i=e+24|0;a[K>>2]=a[i>>2];a[K+4>>2]=a[i+4>>2];a[K+8>>2]=a[i+8>>2];a[K+12>>2]=a[i+12>>2];h=+b[K>>3];if(h>0.0){if(!n)J=11}else if(!(n|!(+b[K+8>>3]>0.0)))J=11;if((J|0)==11){e=po(A,105496)|0;do{if(e){b[o>>3]=0.0;b[t>>3]=0.0;a[l>>2]=t;a[l+4>>2]=o;e=J3(e,105503,l)|0;s=+b[t>>3];if(s<0.0){b[t>>3]=0.0;s=0.0}w=+b[o>>3];if(w<0.0){b[o>>3]=0.0;u=0.0}else u=w;if((e|0)<=0){w=h+16.0;b[K>>3]=w;s=8.0;break}s=s*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0);w=h+s;b[K>>3]=w;if((e|0)!=1){s=u*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0)}}else{w=h+16.0;b[K>>3]=w;s=8.0}}while(0);e=K+8|0;b[e>>3]=+b[e>>3]+s;e=a[(a[_>>2]|0)+104>>2]|0;h=w}B=+b[e+24>>3];s=+b[a[(a[(Id(A)|0)+16>>2]|0)+8>>2]>>3];if(s>0.0){R=s*72.0;R=+(~~(R+(R>=0.0?.5:-.5))|0);H=+IN(h,R);b[K>>3]=H;o=K+8|0;b[o>>3]=+IN(+b[o>>3],R)}else H=h;e=a[(a[_>>2]|0)+8>>2]|0;do{if(!(r[e+12>>0]|0)){i=po(A,109025)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){Ug(Q,Id(A)|0,i);e=a[Q>>2]|0;n=a[Q+4>>2]|0;if((n&e|0)==-1){e=Vh(A)|0;a[L>>2]=i;a[L+4>>2]=e;ao(0,105587,L)|0;i=0;e=0;break}else{r[(a[(Id(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=n+2|0;break}}else{i=0;e=0}}else{e=a[e>>2]|0;if((r[e>>0]|0)==99?(A1(e,105519)|0)==0:0){i=po(A,105526)|0;Ug(m,Id(A)|0,i);e=a[m>>2]|0;n=a[m+4>>2]|0;if((n&e|0)==-1){e=Vh(A)|0;a[W>>2]=i|0?i:105536;a[W+4>>2]=e;ao(0,105542,W)|0;i=0;e=0;break}else{r[(a[(Id(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=n+2|0;break}}else{i=0;e=0}}}while(0);R=+(i|0);b[q>>3]=H>R?H:R;R=+b[K+8>>3];d=+(e|0);e=q+8|0;b[e>>3]=R>d?R:d;i=(Y|0)<3&(T!=0.0|j!=0.0)?120:Y;n=po(A,105628)|0;if(!n)l=99;else{l=r[n>>0]|0;l=l<<24>>24==116?116:l<<24>>24==98?98:99}n=a[_>>2]|0;r[(a[n+104>>2]|0)+80>>0]=l;if((i|0)==4?(T==0.0?((~~(S+(S>=0.0?.5:-.5))|0)%90|0|0)==0:0)&j==0.0:0)o=1;else J=39;do{if((J|0)==39){n=a[(a[(a[n+8>>2]|0)+8>>2]|0)+44>>2]|0;if(n|0){o=a[n>>2]|0;a[F>>2]=a[q>>2];a[F+4>>2]=a[q+4>>2];a[F+8>>2]=a[q+8>>2];a[F+12>>2]=a[q+12>>2];V5[o&63](V,F);a[q>>2]=a[V>>2];a[q+4>>2]=a[V+4>>2];a[q+8>>2]=a[V+8>>2];a[q+12>>2]=a[V+12>>2];o=0;break}s=+b[e>>3];w=s*1.4142135623730951;if(f>w&l<<24>>24==99){u=s/f;u=+z(+(1.0/(1.0-u*u)));u=+b[q>>3]*u;b[q>>3]=u}else{u=+b[q>>3]*1.4142135623730951;b[q>>3]=u;b[e>>3]=w;s=w}if((i|0)>2){G=+D(+(3.141592653589793/+(i|0)));b[q>>3]=u/G;b[e>>3]=s/G;o=0}else o=0}}while(0);s=+b[e>>3];n=dR(A,a[47165]|0,137308)|0;if((r[n>>0]|0)==115?(A1(n,108230)|0)==0:0){b[q>>3]=c;b[e>>3]=f;N=$+40|0;a[N>>2]=a[N>>2]|2048}else{if(!((gR(n)|0)<<24>>24)){G=+b[q>>3];c=c>G?c:G;b[q>>3]=c;G=+b[e>>3];f=f>G?f:G}else{J=a[(a[_>>2]|0)+104>>2]|0;if(!(!(c<+b[J+24>>3])?!(f<+b[J+32>>3]):0)){V=Vh(A)|0;J=Vh(Id(A)|0)|0;a[N>>2]=V;a[N+4>>2]=J;ao(0,105637,N)|0}b[q>>3]=c}b[e>>3]=f}if(!O){G=f;Z=c}else{Z=c>f?c:f;b[e>>3]=Z;b[q>>3]=Z;G=Z}do{if(!((gR(dR(A,a[47156]|0,137308)|0)|0)<<24>>24)){if(o){f=+b[(H>+b[q>>3]?K:q)>>3];break}f=+b[e>>3];if(R>3]*+z(+(1.0-R*R/(f*f)));f=H>f?H:f}else f=H}else f=H}while(0);n=a[(a[_>>2]|0)+104>>2]|0;b[n+40>>3]=B-h+f;Q=$+40|0;if(!(a[Q>>2]&2048)){I=+b[e>>3]-s;b[n+48>>3]=(R1;n=t?P:1;A:do{if((i|0)<3){n=qF(n<<5)|0;c=+b[q>>3]*.5;f=+b[e>>3]*.5;b[n>>3]=-c;b[n+8>>3]=-f;b[n+16>>3]=c;b[n+24>>3]=f;if(t){i=1;l=2;while(1){if((i|0)==(P|0))break;Z=c+4.0;G=f+4.0;b[n+(l<<4)>>3]=-Z;b[n+(l<<4)+8>>3]=-G;x=l|1;b[n+(x<<4)>>3]=Z;b[n+(x<<4)+8>>3]=G;i=i+1|0;l=l+2|0;c=Z;f=G}b[q>>3]=c*2.0;b[e>>3]=f*2.0;i=2}else i=2}else{n=qF(U(n<<4,i)|0)|0;l=a[(a[(a[(a[_>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;e:do{if(!l){h=6.283185307179586/+(i|0);v=h*.5;d=+M(+v);B=+v1(+y(+j)+ +y(+T),1.0);v=T*1.4142135623730951/+D(+v);g=j*.5;E1((h+-3.141592653589793)*.5,p,x);E=S*.017453292519943295;c=0.0;f=0.0;s=0.0;l=0;w=+b[x>>3]*.5;u=+b[p>>3]*.5;while(1){if((l|0)>=(i|0))break e;s=s+h;E1(s,p,x);w=+b[x>>3]*d+w;u=+b[p>>3]*d+u;I=(u*v+B)*w+g*u;E1(+X(+u,+I)+E,p,x);I=+v1(I,u);C=+b[x>>3]*I*+b[q>>3];I=+b[p>>3]*I*+b[e>>3];eA=+y(+C);f=eA>f?eA:f;eA=+y(+I);c=eA>c?eA:c;b[n+(l<<4)>>3]=C;b[n+(l<<4)+8>>3]=I;if(o)break;else l=l+1|0}eA=-C;b[n+16>>3]=eA;b[n+24>>3]=I;b[n+32>>3]=eA;eA=-I;b[n+40>>3]=eA;b[n+48>>3]=C;b[n+56>>3]=eA}else{V5[a[l+4>>2]&63](n,q);c=+b[e>>3]*.5;f=+b[q>>3]*.5}}while(0);f=f*2.0;c=c*2.0;Z=Z>f?Z:f;b[q>>3]=Z;eA=G>c?G:c;b[e>>3]=eA;f=Z/f;c=eA/c;l=0;while(1){if((l|0)>=(i|0))break;N=n+(l<<4)|0;A=n+(l<<4)+8|0;eA=+b[A>>3]*c;b[N>>3]=+b[N>>3]*f;b[A>>3]=eA;l=l+1|0}if(t){t=i+-1|0;c=+b[n>>3];s=+b[n+8>>3];f=+X(+(s-+b[n+(t<<4)+8>>3]),+(c-+b[n+(t<<4)>>3]));t=0;e:while(1){if((t|0)>=(i|0))break;o=t+1|0;l=(o|0)%(i|0)|0;w=+b[n+(l<<4)>>3];u=+b[n+(l<<4)+8>>3];h=+X(+(u-s),+(w-c));G=(f+3.141592653589793-h)*.5;eA=4.0/+M(+G);E1(f-G,p,x);b[p>>3]=+b[p>>3]*eA;b[x>>3]=+b[x>>3]*eA;l=1;f=s;while(1){if((l|0)==(P|0)){f=h;t=o;c=w;s=u;continue e}G=+b[x>>3]+c;eA=+b[p>>3]+f;A=(U(l,i)|0)+t|0;b[n+(A<<4)>>3]=G;b[n+(A<<4)+8>>3]=eA;l=l+1|0;c=G;f=eA}}t=U(i,P+-1|0)|0;l=0;while(1){if((l|0)>=(i|0))break A;x=l+t|0;G=+b[n+(x<<4)+8>>3];Z=+y(+ +b[n+(x<<4)>>3])*2.0;eA=+b[q>>3];b[q>>3]=Z>eA?Z:eA;G=+y(+G)*2.0;eA=+b[e>>3];b[e>>3]=G>eA?G:eA;l=l+1|0}}}}while(0);a[$>>2]=O;a[$+4>>2]=P;a[$+8>>2]=i;b[$+16>>3]=S;b[$+32>>3]=j;b[$+24>>3]=T;a[$+44>>2]=n;f=+b[q>>3];if(!(a[Q>>2]&2048)){i=a[_>>2]|0;b[i+32>>3]=f*.013888888888888888}else{i=a[_>>2]|0;b[i+32>>3]=+b[(H>f?K:q)>>3]*.013888888888888888;e=(R>+b[e>>3]?K:q)+8|0}b[i+40>>3]=+b[e>>3]*.013888888888888888;a[i+12>>2]=$;k=AA;return}function uN(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+64|0;t=u+40|0;r=u+32|0;c=u+16|0;w=u;i=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;s=A+16|0;f=a[a[(a[s>>2]|0)+104>>2]>>2]|0;a[47282]=f;f=S2(f)|0;f=qF(((f|0)>1?f:1)+1|0)|0;e=oN(A,i,1,f)|0;if(!e){a[r>>2]=a[a[(a[s>>2]|0)+104>>2]>>2];ao(1,105472,r)|0;a[47282]=105493;e=oN(A,i,1,f)|0}L2(f);hN(t,A,e);i=a[s>>2]|0;l=+b[i+32>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))|0);b[w>>3]=l;n=+b[i+40>>3]*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);i=w+8|0;b[i>>3]=n;if(!((gR(dR(A,a[47165]|0,137308)|0)|0)<<24>>24)){l=+b[(+b[e>>3]>l?e:w)>>3];b[w>>3]=l;r=e+8|0;n=+b[(+b[r>>3]>n?e:w)+8>>3];b[i>>3]=n;i=r;r=e}else{i=e+8|0;r=e}A=(gR(dR(A,a[47156]|0,137308)|0)|0)&255;a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2];dN(e,t,A);BN(c,l*-.5,n*.5);a[t>>2]=a[c>>2];a[t+4>>2]=a[c+4>>2];a[t+8>>2]=a[c+8>>2];a[t+12>>2]=a[c+12>>2];vN(e,t,15);w=a[s>>2]|0;b[w+32>>3]=+b[r>>3]*.013888888888888888;b[w+40>>3]=(+b[i>>3]+1.0)*.013888888888888888;a[w+12>>2]=e;k=u;return}function kN(A){A=A|0;var e=0.0,i=0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0.0,w=0;t=qF(48)|0;c=A+16|0;n=a[(a[(a[(a[c>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+oR(A,a[47146]|0,1797693134862315708145274.0e284,0.0);e=+oR(A,a[47145]|0,1797693134862315708145274.0e284,0.0);f=f0.0?f>.0003?f:.0003:f;l=a[c>>2]|0;b[l+40>>3]=f;b[l+32>>3]=f;e=f*72.0;n=kR(A,a[47160]|0,n,0)|0;l=qF((n|0)<1?32:n<<5)|0;f=f*36.0;r=-f;b[l>>3]=r;b[l+8>>3]=r;b[l+16>>3]=f;b[l+24>>3]=f;if((n|0)>1){A=1;i=2;r=f;e=f;while(1){if((A|0)==(n|0))break;s=r+4.0;f=e+4.0;b[l+(i<<4)>>3]=-s;b[l+(i<<4)+8>>3]=-f;w=i|1;b[l+(w<<4)>>3]=s;b[l+(w<<4)+8>>3]=f;A=A+1|0;i=i+2|0;r=s;e=f}e=r*2.0}a[t>>2]=1;a[t+4>>2]=n;a[t+8>>2]=2;w=t+16|0;a[w>>2]=0;a[w+4>>2]=0;a[w+8>>2]=0;a[w+12>>2]=0;a[w+16>>2]=0;a[w+20>>2]=0;a[t+44>>2]=l;s=e*.013888888888888888;w=a[c>>2]|0;b[w+32>>3]=s;b[w+40>>3]=s;a[w+12>>2]=t;return}function oN(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0;n=qF(72)|0;u=a[(a[A+16>>2]|0)+104>>2]|0;w=0;l=1;t=a[47282]|0;A:while(1){c=r[t>>0]|0;switch(c<<24>>24){case 0:break A;case 92:{t=t+1|0;c=r[t>>0]|0;switch(c<<24>>24){case 124:case 125:case 123:case 92:{s=w;break}default:y=4}break}default:y=4}if((y|0)==4){y=0;switch(c<<24>>24){case 123:{s=w+1|0;break}case 125:{s=w+-1|0;break}default:{s=w;l=l+((w|0)==0&c<<24>>24==124&1)|0}}if((s|0)<0)break}w=s;t=t+1|0}m=n+56|0;a[m>>2]=qF(l<<2)|0;r[n+64>>0]=e;Z=(e|0)==0&1;G=u+82|0;Q=f+1|0;E=(i|0)!=0;C=u+16|0;I=u+4|0;g=u+8|0;c=0;w=0;e=0;v=0;s=0;i=0;u=f;l=0;t=0;A:while(1){o=c;c=0;e:while(1){i:while(1){B=i;r:while(1){d=c;k=l;f:while(1){h=w;a:while(1){while(1){if(v){y=78;break A}w=a[47282]|0;l=r[w>>0]|0;if((l+-1&255)>=31)break;a[47282]=w+1}switch(l<<24>>24|0){case 92:{y=53;break i}case 0:case 124:case 125:break r;case 60:break f;case 62:break a;case 123:break;default:{c=e;l=w;break i}}l=w+1|0;a[47282]=l;if(s|0){y=34;break A}if(!(r[l>>0]|0)){y=34;break A}i=oN(A,Z,0,f)|0;a[(a[m>>2]|0)+(h<<2)>>2]=i;if(!i){y=36;break A}else{h=h+1|0;s=4}}if(r[G>>0]|0){c=e;l=w;break i}if(!(s&16)){y=27;break A}if(k>>>0>Q>>>0?(L=k+-1|0,(L|0)!=(B|0)):0)l=(r[L>>0]|0)==32?L:k;else l=k;r[l>>0]=0;d=s3(f)|0;a[47282]=(a[47282]|0)+1;w=h;s=s&-17;k=l}if(s&6|0){y=22;break A}if(r[G>>0]|0){c=e;l=w;break i}a[47282]=w+1;w=h;s=s|18;c=d;B=f;l=f}if(!((s&16|0)==0&(E|l<<24>>24!=0))){y=38;break A}if(!(s&4)){c=qF(72)|0;a[(a[m>>2]|0)+(h<<2)>>2]=c;w=h+1|0}else{c=o;w=h}if(d|0)a[c+60>>2]=d;if(!(s&5)){r[f+t>>0]=32;s=s|1;t=t+1|0}l=f+t|0;if(s&1){if((t|0)>1?(W=l+-1|0,(W|0)!=(u|0)):0)l=(r[W>>0]|0)==32?W:l;r[l>>0]=0;u=s3(f)|0;a[c+52>>2]=pF(A,u,r[G>>0]|0?2:0,+b[C>>3],a[I>>2]|0,a[g>>2]|0)|0;r[c+64>>0]=1;u=f;t=0}l=a[47282]|0;switch(r[l>>0]|0){case 0:{v=1;i=B;l=k;continue A}case 125:{y=51;break A}default:{}}a[47282]=l+1;o=c;s=0;c=0;i=B;l=k}i:do{if((y|0)==53){y=0;c=f+t|0;l=w+1|0;switch(r[l>>0]|0){case 0:{c=e;l=w;break i}case 62:case 60:case 124:case 125:case 123:{c=e;break}case 32:{if(!(r[G>>0]|0))c=1;else y=55;break}default:y=55}if((y|0)==55){y=0;r[c>>0]=92;c=e;s=s|9;t=t+1|0}a[47282]=l}}while(0);e=f+t|0;if(s&4|0?(r[l>>0]|0)!=32:0){y=59;break A}if(!(s&24))s=(r[l>>0]|0)==32?s:s|9;if(!(s&8))if(!(s&16))i=B;else{w=r[l>>0]|0;e=(c|0)!=0;if(!(e|w<<24>>24!=32))if((k|0)!=(f|0))if((r[k+-1>>0]|0)==32)w=k;else y=73;else w=f;else y=73;if((y|0)==73){y=0;r[k>>0]=w;w=k+1|0;l=a[47282]|0}i=e?w+-1|0:B;k=w}else{w=r[l>>0]|0;i=(c|0)!=0;if(!((!(i|w<<24>>24!=32)?(r[e+-1>>0]|0)==32:0)?(r[G>>0]|0)==0:0)){r[e>>0]=w;t=t+1|0}if(i){i=B;u=f+t+-1|0}else i=B}l=l+1|0;a[47282]=l;while(1){if((r[l>>0]|0)>=0){w=h;e=c;c=d;l=k;continue e}B=l+1|0;a[47282]=B;r[f+t>>0]=r[l>>0]|0;t=t+1|0;l=B}}}if((y|0)==22){gN(n,d);n=0}else if((y|0)==27){gN(n,d);n=0}else if((y|0)==34){gN(n,d);n=0}else if((y|0)==36){gN(n,d);n=0}else if((y|0)==38){gN(n,d);n=0}else if((y|0)==51){a[47282]=l+1;a[n+48>>2]=w}else if((y|0)==59){gN(n,d);n=0}else if((y|0)==78)a[n+48>>2]=h;return n|0}function hN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+64|0;c=g+48|0;s=g+40|0;w=g+32|0;v=g+16|0;B=g;t=a[i+52>>2]|0;A:do{if(!t){w=v+8|0;u=i+48|0;o=i+56|0;h=i+64|0;d=B+8|0;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;t=0;while(1){if((t|0)>=(a[u>>2]|0))break A;hN(B,e,a[(a[o>>2]|0)+(t<<2)>>2]|0);if(!(r[h>>0]|0)){b[w>>3]=+b[w>>3]+ +b[d>>3];c=v;s=+b[v>>3]>+b[B>>3]?v:B}else{b[v>>3]=+b[v>>3]+ +b[B>>3];c=w;s=(+b[w>>3]>+b[d>>3]?v:B)+8|0}b[c>>3]=+b[s>>3];t=t+1|0}}else{n=+b[t+24>>3];f=+b[t+32>>3];if(n>0.0|f>0.0){t=po(e,105496)|0;do{if(t){a[c>>2]=s;a[c+4>>2]=w;t=J3(t,105503,c)|0;if((t|0)<=0){l=8.0;n=n+16.0;break}l=+b[s>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0);n=n+l;if((t|0)!=1){l=+b[w>>3]*72.0;l=+(~~(l+(l>=0.0?.5:-.5))<<1|0)}}else{l=8.0;n=n+16.0}}while(0);f=l+f}b[v>>3]=n;b[v+8>>3]=f}}while(0);a[i>>2]=a[v>>2];a[i+4>>2]=a[v+4>>2];a[i+8>>2]=a[v+8>>2];a[i+12>>2]=a[v+12>>2];a[A>>2]=a[v>>2];a[A+4>>2]=a[v+4>>2];a[A+8>>2]=a[v+8>>2];a[A+12>>2]=a[v+12>>2];k=g;return}function dN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0;B=k;k=k+32|0;u=B+16|0;o=B;h=+b[e>>3];l=h-+b[A>>3];d=+b[e+8>>3];f=d-+b[A+8>>3];a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];e=a[A+52>>2]|0;if(!((i|0)!=0|(e|0)==0)){w=e+40|0;b[w>>3]=+b[w>>3]+l;w=e+48|0;b[w>>3]=+b[w>>3]+f}s=A+48|0;e=a[s>>2]|0;A:do{if(e|0){w=A+64|0;f=((r[w>>0]|0)==0?f:l)/+(e|0);c=A+56|0;t=0;while(1){if((t|0)>=(e|0))break A;A=a[(a[c>>2]|0)+(t<<2)>>2]|0;n=t+1|0;e=~~(f*+(n|0))-~~(f*+(t|0))|0;if(!(r[w>>0]|0))BN(o,h,+b[A+8>>3]+ +(e|0));else BN(o,+b[A>>3]+ +(e|0),d);a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2];dN(A,u,i);t=n;e=a[s>>2]|0}}}while(0);k=B;return}function BN(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function vN(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0;h=k;k=k+48|0;t=h+32|0;w=h+16|0;s=h;r[A+65>>0]=i;c=A+16|0;B=+b[e>>3];o=e+8|0;d=+b[o>>3];BN(w,B,d-+b[A+8>>3]);a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];c=A+32|0;BN(s,+b[A>>3]+B,d);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];c=a[A+48>>2]|0;s=c+-1|0;w=(i|0)==0;u=A+56|0;l=A+64|0;n=0;while(1){if((n|0)>=(c|0))break;do{if(!w){A=(n|0)==0;f=(n|0)==(s|0);if(!(r[l>>0]|0))if(A){A=f?15:14;break}else{A=f?11:10;break}else if(A){A=f?15:13;break}else{A=f?7:5;break}}else A=0}while(0);f=a[(a[u>>2]|0)+(n<<2)>>2]|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];vN(f,t,A&i);if(!(r[l>>0]|0))b[o>>3]=+b[o>>3]-+b[(a[(a[u>>2]|0)+(n<<2)>>2]|0)+8>>3];else b[e>>3]=+b[a[(a[u>>2]|0)+(n<<2)>>2]>>3]+ +b[e>>3];n=n+1|0}k=h;return}function gN(A,e){A=A|0;e=e|0;EN(A);L2(e);return}function EN(A){A=A|0;var e=0,i=0,r=0;i=A+48|0;r=A+56|0;e=0;while(1){if((e|0)>=(a[i>>2]|0))break;EN(a[(a[r>>2]|0)+(e<<2)>>2]|0);e=e+1|0}L2(a[A+60>>2]|0);TF(a[A+52>>2]|0);L2(a[r>>2]|0);L2(A);return}function CN(A){A=A|0;var e=0.0,i=0.0;i=+oR(A,a[47146]|0,0.0,.01);e=+oR(A,a[47145]|0,0.0,.02);e=(i>e?i:e)*72.0;return+ +(~~(e+(e>=0.0?.5:-.5))|0)}function IN(A,e){A=+A;e=+e;var i=0;i=~~(A/e);return+(+((+(i|0)*e+1.0e-05>2]|0)+8>>2]|0;if(!A)A=0;else A=(a[a[A+4>>2]>>2]|0)==91&1;return A|0}function GN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;f=a[47283]|0;A:do{if(!f)e=0;else{n=a[47284]|0;i=0;while(1){if((i|0)>=(n|0)){e=0;break A}e=a[f+(i<<2)>>2]|0;l=a[e>>2]|0;if((r[l>>0]|0)==(r[A>>0]|0)?(A1(l,A)|0)==0:0)break A;i=i+1|0}}}while(0);return e|0}function QN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;if(WR(po(e,105526)|0)|0)if((r[A>>0]|0)==101?(A1(A,105685)|0)==0:0){e=101;n=6}else{A=105519;n=4}else n=4;if((n|0)==4){e=r[A>>0]|0;if(e<<24>>24==99)if(!(A1(A,105519)|0))n=11;else{e=99;n=6}else n=6}A:do{if((n|0)==6){i=20848;while(1){f=a[i>>2]|0;if(!f){n=11;break A}if((r[f>>0]|0)==e<<24>>24?(A1(f,A)|0)==0:0){A=i;break A}i=i+16|0}}}while(0);if((n|0)==11)A=mN(A)|0;return A|0}function mN(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;e=GN(A)|0;if(!e){f=a[47284]|0;e=f+1|0;a[47284]=e;i=a[47283]|0;if(!i)e=$F(e<<2)|0;else e=eV(i,e<<2)|0;a[47283]=e;e=qF(16)|0;a[(a[47283]|0)+(f<<2)>>2]=e;a[e>>2]=a[5212];a[e+4>>2]=a[5213];a[e+8>>2]=a[5214];a[e+12>>2]=a[5215];i=s3(A)|0;a[e>>2]=i;do{if(!0){if((r[A>>0]|0)==99?(A1(A,105519)|0)==0:0){i=1;break}a[n>>2]=a[5212];a[n+4>>2]=i;ao(0,105690,n)|0;i=0}else i=1}while(0);r[e+12>>0]=i}k=l;return e|0}function LN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[e>>3]*.5257311121191336;i=+b[e+8>>3]*.8944271909999159;i=r>i?r:i;b[A>>3]=i*4.97979656976556;b[A+8>>3]=i*4.73606797749979;return}function WN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0.0;r=+b[e>>3];c=e+8|0;f=+b[c>>3];i=f/r;if(!(i>.9510565162951536))if(i<.9510565162951536){t=r;f=r*.9510565162951536}else t=r;else t=f*1.0514622242382672;r=t*.5257311121191336;n=t*.20081141588622725;l=t*.05020285397155681;i=.3141592653589793;a=0;while(1){if((a|0)>=10)break;b[A+(a<<4)>>3]=+D(+i)*r;b[A+(a<<4)+8>>3]=+M(+i)*r-l;w=i+.6283185307179586;s=a|1;b[A+(s<<4)>>3]=+D(+w)*n;b[A+(s<<4)+8>>3]=+M(+w)*n-l;i=i+1.2566370614359172;a=a+2|0}b[e>>3]=t;b[c>>3]=f;return}function yN(A){A=A|0;A=a[(a[A+16>>2]|0)+12>>2]|0;if(A|0){L2(a[A+44>>2]|0);L2(A)}return}function zN(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+80|0;b=u+40|0;n=u;w=u+64|0;l=u+56|0;if(!(r[i>>0]|0)){n=4208;l=A+40|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0))}else{t=(f|0)==0?106356:f;a[w>>2]=15;c=e+16|0;f=a[c>>2]|0;do{if(r[(a[f+104>>2]|0)+82>>0]|0){f=ta(e,i,w)|0;if(!f){f=a[c>>2]|0;s=8;break}if(TN(e,f,n,t,a[w>>2]|0,0)|0){a[b>>2]=Vh(e)|0;a[b+4>>2]=i;a[b+8>>2]=t;ao(0,106358,b)|0}}else s=8}while(0);if((s|0)==8){if((a[(a[f+8>>2]|0)+8>>2]|0)==1664)l=0;else{a[l>>2]=e;a[l+4>>2]=0}if(TN(e,0,n,i,a[w>>2]|0,l)|0)jN(e,i)}a[n+36>>2]=0;l=A+40|0;do{a[A>>2]=a[n>>2];A=A+4|0;n=n+4|0}while((A|0)<(l|0))}k=u;return}function YN(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0;d=k;k=k+112|0;w=d+96|0;s=d+80|0;o=d+64|0;c=d+48|0;h=d+32|0;u=d;f=d+16|0;if(!A){a[47287]=0;A=0}else{n=a[A+4>>2]|0;A=a[A>>2]|0;l=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[w>>2]=a[e>>2];a[w+4>>2]=a[e+4>>2];a[w+8>>2]=a[e+8>>2];a[w+12>>2]=a[e+12>>2];WF(f,w,l);a[h>>2]=a[f>>2];a[h+4>>2]=a[f+4>>2];a[h+8>>2]=a[f+8>>2];a[h+12>>2]=a[f+12>>2];A:do{if(n){i=+b[n+8>>3];r=+b[n+24>>3];B=+b[h>>3];if((+b[n>>3]<=B?B<=+b[n+16>>3]:0)?(t=+b[h+8>>3],i<=t):0)A=t<=r&1;else A=0}else{if((A|0)==(a[47287]|0)){f=a[47288]|0;n=a[47290]|0;l=a[47289]|0}else{n=a[(a[A+16>>2]|0)+12>>2]|0;a[47291]=n;l=a[n+44>>2]|0;a[47289]=l;f=a[n+8>>2]|0;a[47288]=f;n=U((a[n+4>>2]|0)+-1|0,f)|0;n=(n|0)>0?n:0;a[47290]=n;a[47287]=A}A=0;e=0;while(1){if((A|0)>=(f|0)){A=1;break A}v=l+(n+A<<4)|0;a[u>>2]=a[v>>2];a[u+4>>2]=a[v+4>>2];a[u+8>>2]=a[v+8>>2];a[u+12>>2]=a[v+12>>2];v=l+(n+((A+4|0)%(f|0)|0)<<4)|0;a[c>>2]=a[h>>2];a[c+4>>2]=a[h+4>>2];a[c+8>>2]=a[h+8>>2];a[c+12>>2]=a[h+12>>2];a[o>>2]=a[46614];a[o+4>>2]=a[46615];a[o+8>>2]=a[46616];a[o+12>>2]=a[46617];a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];e=e+((xN(c,o,s,w)|0)==0&1)|0;if((e|0)==2){A=0;break}else A=A+2|0}}}while(0)}k=d;return A|0}function DN(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;i=a[A+16>>2]|0;if((r[(a[i+104>>2]|0)+82>>0]|0)!=0?(r[i+145>>0]|0)!=0:0)A=sa(A,e,0,f,n)|0;else A=0;return A|0}function MN(A,e){A=A|0;e=e|0;var i=0,l=0,t=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;R=k;k=k+48|0;D=R+24|0;Y=R+16|0;Q=R+8|0;G=R;J=R+32|0;w=R+28|0;N=a[A+16>>2]|0;X=N+208|0;i=a[X>>2]|0;if((i|0)==0?(f[N+260>>1]&1)==0:0)F=0;else y=4;if((y|0)==4)if(!(a[A+152>>2]&4)){Pi(A,i,a[N+228>>2]|0,a[N+244>>2]|0,a[N+212>>2]|0);F=1}else F=1;M=e+16|0;i=a[M>>2]|0;d=a[i+12>>2]|0;z=a[d+44>>2]|0;V=a[d+8>>2]|0;d=a[d+4>>2]|0;if((a[47285]|0)<(V|0)){i=V+5|0;a[47285]=i;l=a[47286]|0;if(!l)i=$F(i<<4)|0;else i=eV(l,i<<4)|0;a[47286]=i;i=a[M>>2]|0}W=(a[i+104>>2]|0)+56|0;i=i+16|0;a[W>>2]=a[i>>2];a[W+4>>2]=a[i+4>>2];a[W+8>>2]=a[i+8>>2];a[W+12>>2]=a[i+12>>2];W=a[M>>2]|0;m=+b[W+32>>3]*72.0;m=(+b[W+96>>3]+ +b[W+88>>3])/+(~~(m+(m>=0.0?.5:-.5))|0);L=+b[W+40>>3]*72.0;L=+b[W+80>>3]/+(~~(L+(L>=0.0?.5:-.5))|0);W=FN(A,e)|0;a[J>>2]=0;i=n[(a[M>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){B=BR(e,0,106256)|0;$i(A,B);er(A,BR(e,0,106264)|0);l=0;i=1;break}if(i&8|0){B=BR(e,0,106272)|0;$i(A,B);er(A,BR(e,0,106280)|0);l=0;i=1;break}if(i&4|0){B=BR(e,0,106288)|0;$i(A,B);er(A,BR(e,0,106296)|0);l=0;i=1;break}if(!(W&1))if(!(W&576)){l=0;i=0}else{l=VN(e)|0;i=1}else{l=VN(e)|0;if(!((qM(l,J,w)|0)<<24>>24)){er(A,l);i=1}else{er(A,a[J>>2]|0);i=a[J+4>>2]|0;s=kR(e,a[47173]|0,0,0)|0;t=+c[w>>2];if(!i)ir(A,137314,s,t);else ir(A,i,s,t);i=(W&2)>>>1|2}}B=JN(A,e)|0}else{B=BR(e,0,106240)|0;$i(A,B);er(A,BR(e,0,106248)|0);l=0;i=1}}while(0);s=a[(a[M>>2]|0)+8>>2]|0;if(r[s+12>>0]|0){s=a[s>>2]|0;if((r[s>>0]|0)==99){s=(A1(s,105519)|0)==0;y=33}else g=1}else{s=1;y=33}if((y|0)==33){s=s^1;if((d|0)!=0|i<<24>>24==0|s)g=s;else{$i(A,137379);d=1;g=0}}E=(V|0)<3;C=(W&512|0)!=0;Z=(W&8|0)==0;I=(W&64|0)==0;o=(W&1024|0)==0;h=(W&2130706444|0)==0;v=0;while(1){if((v|0)>=(d|0))break;w=U(v,V)|0;u=a[47286]|0;s=0;while(1){if((s|0)>=(V|0))break;p=s+w|0;t=+b[z+(p<<4)+8>>3];H=a[M>>2]|0;b[u+(s<<4)>>3]=+b[H+16>>3]+ +b[z+(p<<4)>>3]*m;b[u+(s<<4)+8>>3]=+b[H+24>>3]+t*L;s=s+1|0}do{if(E){if(C&(v|0)==0?(G1(l,58)|0)!=0:0)if((aI(A,u,l)|0)>1){a[G>>2]=Vh(e)|0;ao(3,106304,G)|0;i=0}else i=0;fr(A,a[47286]|0,V,i&255);if(!Z)NN(A,e)}else{if(!I){if((v|0)==0?(cI(A,u,l,1)|0)>1:0){a[Q>>2]=Vh(e)|0;ao(3,106304,Q)|0}ar(A,a[47286]|0,V,0);break}if(!o){$i(A,137379);ar(A,a[47286]|0,V,i&255);$i(A,B);tr(A,(a[47286]|0)+32|0,2);break}i=i&255;if(h){ar(A,u,V,i);break}else{tN(A,u,V,W,i);break}}}while(0);v=v+1|0;i=0}s=a[(a[M>>2]|0)+8>>2]|0;if(!(r[s+12>>0]|0)){s=po(e,109025)|0;if(s|0?r[s>>0]|0:0){u=s;y=65}}else{s=a[s>>2]|0;if((r[s>>0]|0)==99?(A1(s,105519)|0)==0:0){s=po(e,105526)|0;if(s|0?r[s>>0]|0:0){u=s;y=65}}else{u=s;y=65}}if((y|0)==65){w=a[47286]|0;s=0;while(1){if((s|0)>=(V|0))break;t=+b[z+(s<<4)+8>>3];p=a[M>>2]|0;b[w+(s<<4)>>3]=+b[p+16>>3]+ +b[z+(s<<4)>>3]*m;b[w+(s<<4)+8>>3]=+b[p+24>>3]+t*L;s=s+1|0}s=i&255;do{if(!(g|i<<24>>24==0)){if(E){if(C&(v|0)==0?(G1(l,58)|0)!=0:0)if((aI(A,w,l)|0)>1){a[Y>>2]=Vh(e)|0;ao(3,106304,Y)|0;i=0}else i=0;fr(A,a[47286]|0,V,i&255);if(Z)break;NN(A,e);break}if(I)if(!(W&12)){ar(A,w,V,s);break}else{tN(A,w,V,W,s);break}else{if((cI(A,w,l,1)|0)>1){a[D>>2]=Vh(e)|0;ao(3,106304,D)|0}ar(A,a[47286]|0,V,0);break}}}while(0);p=a[47286]|0;br(A,u,p,V,i,dR(e,a[47166]|0,137308)|0)}L2(a[J>>2]|0);jF(A,10,a[(a[M>>2]|0)+104>>2]|0);if(F){if(a[A+152>>2]&4|0)Pi(A,a[X>>2]|0,a[N+228>>2]|0,a[N+244>>2]|0,a[N+212>>2]|0);Oi(A)}k=R;return}function FN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;i=HN(e,f)|0;if(i|0)rr(A,i);i=a[47172]|0;if((i|0?(n=Uo(e,i)|0,n|0):0)?r[n>>0]|0:0)wr(A,+oR(e,a[47172]|0,1.0,0.0));k=l;return a[f>>2]|0}function VN(A){A=A|0;return RN(A,134800)|0}function JN(A,e){A=A|0;e=e|0;e=BR(e,a[47148]|0,195059)|0;e=r[e>>0]|0?e:137314;$i(A,e);return e|0}function NN(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0.0,t=0,c=0,s=0;i=k;k=k+96|0;t=i+80|0;c=i+64|0;r=i+32|0;s=i+16|0;n=i;e=a[e+16>>2]|0;f=+b[e+80>>3];b[s+8>>3]=f*.375;l=+b[e+96>>3];b[s>>3]=l*.6614;e=e+16|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];XN(n,c,t);a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];a[r+8>>2]=a[n+8>>2];a[r+12>>2]=a[n+12>>2];n=r+8|0;e=r+24|0;b[e>>3]=+b[n>>3];b[r+16>>3]=+b[r>>3]-l*1.3228;tr(A,r,2);f=+b[n>>3]-f*.75;b[n>>3]=f;b[e>>3]=f;tr(A,r,2);k=i;return}function XN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function RN(A,e){A=A|0;e=e|0;var i=0;i=BR(A,a[47149]|0,195059)|0;if(!(r[i>>0]|0)){i=BR(A,a[47148]|0,195059)|0;return((r[i>>0]|0)==0?e:i)|0}else return i|0;return 0}function HN(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0;i=BR(A,a[47157]|0,195059)|0;A:do{if(!(r[i>>0]|0)){n=0;i=0}else{n=HI(i)|0;l=n;i=0;e:while(1){f=a[l>>2]|0;if(!f)break A;switch(r[f>>0]|0){case 102:{if(!(A1(f,111101)|0)){l=l+4|0;i=i|1;continue e}break}case 114:{if(!(A1(f,106316)|0)){f=l;do{c=f;f=f+4|0;t=a[f>>2]|0;a[c>>2]=t}while((t|0)!=0);c=l;i=i|4;l=c;continue e}if(!(A1(f,106334)|0)){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|3;l=c;continue e}break}case 100:{if(!(A1(f,106324)|0)){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|8;l=c;continue e}break}case 105:{if(!(A1(f,134335)|0)){l=l+4|0;i=i|32;continue e}break}case 115:{if((A1(f,106341)|0)==0?pN(A)|0:0){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|64;l=c;continue e}break}case 119:{if((A1(f,106349)|0)==0?UN(A)|0:0){f=l;do{t=f;f=f+4|0;c=a[f>>2]|0;a[t>>2]=c}while((c|0)!=0);c=l;i=i|512;l=c;continue e}break}default:{}}l=l+4|0}}}while(0);f=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)i=a[f+40>>2]|i;a[e>>2]=i;return n|0}function pN(A){A=A|0;var e=0.0;A=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((A|0)!=0?(a[A+8>>2]|0)==4:0)?(e=+b[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+b[A+24>>3]==0.0:0)A=+b[A+32>>3]==0.0&1;else A=0;return A|0}function UN(A){A=A|0;A=a[(a[(a[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!A)A=0;else A=(a[A+8>>2]|0)<3&1;return A|0}function xN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,n=0.0,l=0.0;l=+b[i+8>>3];n=-(+b[r+8>>3]-l);a=+b[i>>3];f=+b[r>>3]-a;a=f*l+a*n;return(+b[A+8>>3]*f+ +b[A>>3]*n-a>=0.0^+b[e>>3]*n-a+ +b[e+8>>3]*f>=0.0^1)&1|0}function TN(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;Y=k;k=k+192|0;m=Y+176|0;y=Y+160|0;s=Y+144|0;G=Y+128|0;Q=Y+112|0;w=Y+96|0;u=Y+80|0;o=Y+64|0;E=Y+48|0;C=Y+32|0;I=Y+16|0;W=Y;if(!e){a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;s=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;L=a[A+16>>2]|0;h=+b[L+80>>3]*.5;t=+b[L+88>>3];v=s?h:t;h=s?t:h;s=0;L=y;t=0.0;c=-h;d=v;z=y+8|0;B=0.0;v=-v}else{c=+b[e>>3];v=+b[e+8>>3];h=+b[e+16>>3];d=+b[e+24>>3];BN(s,(h+c)*.5,(d+v)*.5);a[y>>2]=a[s>>2];a[y+4>>2]=a[s+4>>2];a[y+8>>2]=a[s+8>>2];a[y+12>>2]=a[s+12>>2];D=y+8|0;s=1;L=y;t=+b[y>>3];z=D;B=+b[D>>3]}g=(h>d?h:d)*4.0;A:do{if((f|0)!=0?(Z=r[f>>0]|0,Z<<24>>24!=0):0){f=f+1|0;switch(Z<<24>>24|0){case 99:{o=1;n=0;f=0;w=0;t=0.0;u=0;break A}case 101:{if(r[f>>0]|0){o=1;n=0;f=0;w=0;t=0.0;u=1;break A}if(!l)b[L>>3]=h;else{SN(G,l,B,g);a[y>>2]=a[G>>2];a[y+4>>2]=a[G+4>>2];a[y+8>>2]=a[G+8>>2];a[y+12>>2]=a[G+12>>2]}o=0;n=n&2;f=0;w=1;t=0.0;u=0;s=1;break A}case 115:{b[z>>3]=v;switch(r[f>>0]|0){case 0:{if(!l)b[L>>3]=t;else{SN(Q,l,-g,t);a[y>>2]=a[Q>>2];a[y+4>>2]=a[Q+4>>2];a[y+8>>2]=a[Q+8>>2];a[y+12>>2]=a[Q+12>>2]}o=0;n=n&1;f=0;w=1;t=-1.5707963267948966;u=0;s=1;break A}case 101:{if(!l)b[L>>3]=h;else{SN(w,l,-g,g);a[y>>2]=a[w>>2];a[y+4>>2]=a[w+4>>2];a[y+8>>2]=a[w+8>>2];a[y+12>>2]=a[w+12>>2]}o=0;n=n&3;f=0;w=1;t=-.7853981633974483;u=0;s=1;break A}case 119:{if(!l)b[L>>3]=c;else{g=-g;SN(u,l,g,g);a[y>>2]=a[u>>2];a[y+4>>2]=a[u+4>>2];a[y+8>>2]=a[u+8>>2];a[y+12>>2]=a[u+12>>2]}o=0;n=n&9;f=0;w=1;t=-2.356194490192345;u=0;s=1;break A}default:{b[z>>3]=B;o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}case 119:{if(r[f>>0]|0){o=1;n=0;f=0;w=0;t=0.0;u=1;break A}if(!l)b[L>>3]=c;else{SN(o,l,B,-g);a[y>>2]=a[o>>2];a[y+4>>2]=a[o+4>>2];a[y+8>>2]=a[o+8>>2];a[y+12>>2]=a[o+12>>2]}o=0;n=n&8;f=0;w=1;t=3.141592653589793;u=0;s=1;break A}case 110:{b[z>>3]=d;switch(r[f>>0]|0){case 0:{if(!l)b[L>>3]=t;else{SN(E,l,g,t);a[y>>2]=a[E>>2];a[y+4>>2]=a[E+4>>2];a[y+8>>2]=a[E+8>>2];a[y+12>>2]=a[E+12>>2]}o=0;n=n&4;f=0;w=1;t=1.5707963267948966;u=0;s=1;break A}case 101:{if(!l)b[L>>3]=h;else{SN(C,l,g,g);a[y>>2]=a[C>>2];a[y+4>>2]=a[C+4>>2];a[y+8>>2]=a[C+8>>2];a[y+12>>2]=a[C+12>>2]}o=0;n=n&6;f=0;w=1;t=.7853981633974483;u=0;s=1;break A}case 119:{if(!l)b[L>>3]=c;else{SN(I,l,g,-g);a[y>>2]=a[I>>2];a[y+4>>2]=a[I+4>>2];a[y+8>>2]=a[I+8>>2];a[y+12>>2]=a[I+12>>2]}o=0;n=n&12;f=0;w=1;t=2.356194490192345;u=0;s=1;break A}default:{b[z>>3]=B;o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}case 95:{o=1;f=1;w=0;t=0.0;u=0;break A}default:{o=1;n=0;f=0;w=0;t=0.0;u=1;break A}}}else{o=1;n=0;f=0;w=0;t=0.0;u=0}}while(0);D=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[m>>2]=a[y>>2];a[m+4>>2]=a[y+4>>2];a[m+8>>2]=a[y+8>>2];a[m+12>>2]=a[y+12>>2];LF(W,m,D);a[y>>2]=a[W>>2];a[y+4>>2]=a[W+4>>2];a[y+8>>2]=a[W+8>>2];a[y+12>>2]=a[W+12>>2];if(!(f<<24>>24))n=PN(n,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)|0;r[i+33>>0]=n;a[i+24>>2]=e;c=+b[L>>3];b[i>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);c=+b[z>>3];b[i+8>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);b[i+16>>3]=+ON(t,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3);c=+b[L>>3];t=+b[z>>3];if(c==0.0&t==0.0)n=-128;else{g=+X(+t,+c);v=g+4.71238898038469;n=~~((!(v>=6.283185307179586)?v:g+-1.5707963267948966)*40.74366543152521)&255}r[i+32>>0]=n;r[i+29>>0]=w;r[i+28>>0]=s;r[i+30>>0]=o;r[i+31>>0]=f;k=Y;return u|0}function jN(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=Vh(A)|0;a[r+4>>2]=e;ao(0,106419,r)|0;k=i;return}function SN(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+128|0;n=o+112|0;t=o+48|0;c=o+16|0;s=o+32|0;w=o;u=a[e>>2]|0;l=a[(a[(Id(u)|0)+16>>2]|0)+116>>2]&3;b[c>>3]=r;b[c+8>>3]=i;f=(l|0)!=0;if(f){a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];LF(s,n,l*90|0);a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2]}s=t+48|0;h=t+32|0;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;a[t+16>>2]=0;a[t+20>>2]=0;a[t+24>>2]=0;a[t+28>>2]=0;a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];hX(e,a[(a[(a[(a[u+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,t,1);if(f){a[n>>2]=a[t>>2];a[n+4>>2]=a[t+4>>2];a[n+8>>2]=a[t+8>>2];a[n+12>>2]=a[t+12>>2];WF(w,n,l*90|0);a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2]}a[A>>2]=a[t>>2];a[A+4>>2]=a[t+4>>2];a[A+8>>2]=a[t+8>>2];a[A+12>>2]=a[t+12>>2];k=o;return}function PN(A,e){A=A|0;e=e|0;A:do{switch(e|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 ON(A,e){A=+A;e=e|0;switch(e|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 KN(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0.0,l=0,t=0,c=0;r=k;k=k+32|0;c=r+16|0;l=r;A=a[A>>2]|0;t=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[c>>2]=a[e>>2];a[c+4>>2]=a[e+4>>2];a[c+8>>2]=a[e+8>>2];a[c+12>>2]=a[e+12>>2];WF(l,c,t);i=+b[l>>3];n=+b[l+8>>3];A=a[A+16>>2]|0;f=+b[A+80>>3]*.5;if(!(!(n>=-f)|!(n<=f))?i>=-+b[A+88>>3]:0)A=i<=+b[A+96>>3]&1;else A=0;k=r;return A|0}function _N(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0.0;w=k;k=k+32|0;s=w;l=a[A+16>>2]|0;t=l+208|0;n=a[t>>2]|0;if(!n)c=(f[l+260>>1]&1)!=0;else c=1;i=e+16|0;e=a[i>>2]|0;r=a[e+12>>2]|0;if(r|0){if(c?(a[A+152>>2]&4|0)==0:0){Pi(A,n,a[l+228>>2]|0,a[l+244>>2]|0,a[l+212>>2]|0);e=a[i>>2]|0}n=a[A+36>>2]|0;o=+b[e+24>>3]+ +(a[r+8>>2]|0);u=a[r>>2]|0;b[s>>3]=+b[e+16>>3]+ +(a[r+4>>2]|0);b[s+8>>3]=o;a[s+16>>2]=u;f3(n,106450,s)|0;n=a[i>>2]|0;s=(a[n+104>>2]|0)+56|0;n=n+16|0;a[s>>2]=a[n>>2];a[s+4>>2]=a[n+4>>2];a[s+8>>2]=a[n+8>>2];a[s+12>>2]=a[n+12>>2];jF(A,10,a[(a[i>>2]|0)+104>>2]|0);if(c){if(a[A+152>>2]&4|0)Pi(A,a[t>>2]|0,a[l+228>>2]|0,a[l+244>>2]|0,a[l+212>>2]|0);Oi(A)}}k=w;return}function qN(A){A=A|0;EN(a[(a[A+16>>2]|0)+12>>2]|0);return}function $N(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=k;k=k+64|0;b=s+40|0;l=s;if(!(r[i>>0]|0)){l=4208;f=A+40|0;do{a[A>>2]=a[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}else{f=(f|0)==0?106356:f;t=a[(a[e+16>>2]|0)+12>>2]|0;c=aX(t,i)|0;if(!c){if(TN(e,t+16|0,l,i,15,0)|0)jN(e,i)}else if(TN(e,c+16|0,l,f,n[c+65>>0]|0,0)|0){a[b>>2]=Vh(e)|0;a[b+4>>2]=i;a[b+8>>2]=f;ao(0,106358,b)|0}f=A+40|0;do{a[A>>2]=a[l>>2];A=A+4|0;l=l+4|0}while((A|0)<(f|0))}k=s;return}function AX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0.0,c=0,s=0,w=0.0;c=k;k=k+32|0;s=c+16|0;l=c;f=a[A+4>>2]|0;A=a[A>>2]|0;n=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];WF(l,s,n);a[e>>2]=a[l>>2];a[e+4>>2]=a[l+4>>2];a[e+8>>2]=a[l+8>>2];a[e+12>>2]=a[l+12>>2];if(!f){f=a[(a[A+16>>2]|0)+12>>2]|0;n=f+16|0;A=f+24|0;l=f+32|0;f=f+40|0}else{n=f;A=f+8|0;l=f+16|0;f=f+24|0}r=+b[A>>3];i=+b[f>>3];w=+b[e>>3];if((+b[n>>3]<=w?w<=+b[l>>3]:0)?(t=+b[e+8>>3],r<=t):0)A=t<=i&1;else A=0;k=c;return A|0}function eX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0,g=0,E=0.0;g=k;k=k+80|0;d=g+64|0;h=g+32|0;v=g;A:do{if(!(r[e+28>>0]|0))i=0;else{l=+b[e>>3];o=A+16|0;s=a[(a[o>>2]|0)+12>>2]|0;c=s+48|0;s=s+56|0;e=0;while(1){if((e|0)>=(a[c>>2]|0))break A;w=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;u=a[(a[s>>2]|0)+(e<<2)>>2]|0;t=+(~~+b[(w?u+16|0:u+24|0)>>3]|0);if(l>=t?(B=+(~~+b[(w?u+32|0:u+40|0)>>3]|0),l<=B):0)break;e=e+1|0}if(!(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1)){v=a[o>>2]|0;E=+b[v+16>>3];b[f>>3]=E+t;t=+b[v+24>>3];l=+b[v+80>>3];b[f+8>>3]=t-l*.5;b[f+16>>3]=E+B}else{u=(a[(a[s>>2]|0)+(e<<2)>>2]|0)+16|0;A=(a[o>>2]|0)+16|0;a[h>>2]=a[u>>2];a[h+4>>2]=a[u+4>>2];a[h+8>>2]=a[u+8>>2];a[h+12>>2]=a[u+12>>2];a[h+16>>2]=a[u+16>>2];a[h+20>>2]=a[u+20>>2];a[h+24>>2]=a[u+24>>2];a[h+28>>2]=a[u+28>>2];a[d>>2]=a[A>>2];a[d+4>>2]=a[A+4>>2];a[d+8>>2]=a[A+8>>2];a[d+12>>2]=a[A+12>>2];yF(v,h,d);a[f>>2]=a[v>>2];a[f+4>>2]=a[v+4>>2];a[f+8>>2]=a[v+8>>2];a[f+12>>2]=a[v+12>>2];a[f+16>>2]=a[v+16>>2];a[f+20>>2]=a[v+20>>2];a[f+24>>2]=a[v+24>>2];a[f+28>>2]=a[v+28>>2];v=a[o>>2]|0;l=+b[v+80>>3];t=+b[v+24>>3]}b[f+24>>3]=l*.5+t;a[n>>2]=1}}while(0);k=g;return i|0}function iX(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;C=k;k=k+144|0;w=C+96|0;o=C+64|0;d=C;B=C+128|0;v=a[A+16>>2]|0;g=v+208|0;i=a[g>>2]|0;if(!i)E=(f[v+260>>1]&1)!=0;else E=1;s=e+16|0;h=a[s>>2]|0;u=a[h+12>>2]|0;l=u+16|0;a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];a[o+16>>2]=a[l+16>>2];a[o+20>>2]=a[l+20>>2];a[o+24>>2]=a[l+24>>2];a[o+28>>2]=a[l+28>>2];I=+b[h+16>>3];b[o>>3]=+b[o>>3]+I;t=+b[h+24>>3];h=o+8|0;b[h>>3]=+b[h>>3]+t;h=o+16|0;b[h>>3]=+b[h>>3]+I;l=o+24|0;b[l>>3]=+b[l>>3]+t;if(E?(a[A+152>>2]&4|0)==0:0)Pi(A,i,a[v+228>>2]|0,a[v+244>>2]|0,a[v+212>>2]|0);i=FN(A,e)|0;JN(A,e)|0;a[B>>2]=0;if(!(i&1))n=0;else{n=VN(e)|0;if(!((qM(n,B,w)|0)<<24>>24)){er(A,n);n=1}else{er(A,a[B>>2]|0);n=a[B+4>>2]|0;l=kR(e,a[47173]|0,0,0)|0;t=+c[w>>2];if(!n)ir(A,137314,l,t);else ir(A,n,l,t);n=i>>>1&1|2}}l=a[a[(a[s>>2]|0)+8>>2]>>2]|0;if((r[l>>0]|0)==77){s=(A1(l,106227)|0)==0;i=s?i|4:i}if(!(i&2130706444)){a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2];a[w+16>>2]=a[o+16>>2];a[w+20>>2]=a[o+20>>2];a[w+24>>2]=a[o+24>>2];a[w+28>>2]=a[o+28>>2];nr(A,w,n)}else{a[d>>2]=a[o>>2];a[d+4>>2]=a[o+4>>2];a[d+8>>2]=a[o+8>>2];a[d+12>>2]=a[o+12>>2];o=d+32|0;a[o>>2]=a[h>>2];a[o+4>>2]=a[h+4>>2];a[o+8>>2]=a[h+8>>2];a[o+12>>2]=a[h+12>>2];b[d+16>>3]=+b[o>>3];b[d+24>>3]=+b[d+8>>3];b[d+48>>3]=+b[d>>3];b[d+56>>3]=+b[d+40>>3];tN(A,d,4,i,n)}rX(A,e,u);L2(a[B>>2]|0);if(E){if(a[A+152>>2]&4|0)Pi(A,a[g>>2]|0,a[v+228>>2]|0,a[v+244>>2]|0,a[v+212>>2]|0);Oi(A)}k=C;return}function rX(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+144|0;o=g+128|0;u=g+112|0;h=g+16|0;d=g;n=g+96|0;l=g+80|0;B=g+64|0;v=g+48|0;t=i+52|0;f=a[t>>2]|0;if(!f)f=e+16|0;else{w=f+56|0;s=i+16|0;f=i+32|0;a[u>>2]=a[s>>2];a[u+4>>2]=a[s+4>>2];a[u+8>>2]=a[s+8>>2];a[u+12>>2]=a[s+12>>2];a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];fX(n,u,o);f=e+16|0;s=(a[f>>2]|0)+16|0;a[u>>2]=a[n>>2];a[u+4>>2]=a[n+4>>2];a[u+8>>2]=a[n+8>>2];a[u+12>>2]=a[n+12>>2];a[o>>2]=a[s>>2];a[o+4>>2]=a[s+4>>2];a[o+8>>2]=a[s+8>>2];a[o+12>>2]=a[s+12>>2];XN(l,u,o);a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];jF(A,10,a[t>>2]|0);JN(A,e)|0}c=(a[f>>2]|0)+16|0;a[d>>2]=a[c>>2];a[d+4>>2]=a[c+4>>2];a[d+8>>2]=a[c+8>>2];a[d+12>>2]=a[c+12>>2];c=i+48|0;s=i+64|0;w=h+16|0;t=i+56|0;i=h+16|0;l=0;while(1){if((l|0)>=(a[c>>2]|0))break;if((l|0)>0){f=(a[t>>2]|0)+(l<<2)|0;n=a[f>>2]|0;if(!(r[s>>0]|0)){n=n+32|0;a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];b[h>>3]=+b[(a[f>>2]|0)+16>>3];f=w;n=0}else{n=n+16|0;a[h>>2]=a[n>>2];a[h+4>>2]=a[n+4>>2];a[h+8>>2]=a[n+8>>2];a[h+12>>2]=a[n+12>>2];b[i>>3]=+b[h>>3];f=(a[f>>2]|0)+32|0;n=1}b[h+(n<<4)+8>>3]=+b[f+8>>3];a[u>>2]=a[h>>2];a[u+4>>2]=a[h+4>>2];a[u+8>>2]=a[h+8>>2];a[u+12>>2]=a[h+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];XN(B,u,o);a[h>>2]=a[B>>2];a[h+4>>2]=a[B+4>>2];a[h+8>>2]=a[B+8>>2];a[h+12>>2]=a[B+12>>2];a[u>>2]=a[w>>2];a[u+4>>2]=a[w+4>>2];a[u+8>>2]=a[w+8>>2];a[u+12>>2]=a[w+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];XN(v,u,o);a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];tr(A,h,2)}rX(A,e,a[(a[t>>2]|0)+(l<<2)>>2]|0);l=l+1|0}k=g;return}function fX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function aX(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;i=a[A+60>>2]|0;if(!(((i|0)!=0?(r[i>>0]|0)==(r[e>>0]|0):0)?(A1(i,e)|0)==0:0))f=4;A:do{if((f|0)==4){n=A+56|0;f=a[A+48>>2]|0;i=0;while(1){if((i|0)>=(f|0)){A=0;break A}A=aX(a[(a[n>>2]|0)+(i<<2)>>2]|0,e)|0;if(!A)i=i+1|0;else break}}}while(0);return A|0}function nX(A,e){A=A|0;e=e|0;var i=0;i=e+8|0;b[i>>3]=+b[i>>3]*1.375;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];return}function lX(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0;c=+b[e>>3];f=c*.5;w=+b[e+8>>3];l=w*.5;b[A>>3]=f;r=w*.40909090909090906;b[A+8>>3]=r;b[A+16>>3]=f;n=w*.4592530909090909;b[A+24>>3]=n;t=c*.275892;b[A+32>>3]=t;b[A+40>>3]=l;b[A+48>>3]=0.0;b[A+56>>3]=l;c=c*-.275892;b[A+64>>3]=c;b[A+72>>3]=l;s=-f;b[A+80>>3]=s;b[A+88>>3]=n;i=A+96|0;b[i>>3]=s;b[A+104>>3]=r;e=A+112|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=A+128|0;b[e>>3]=s;b[A+136>>3]=w*-.40909090909090906;i=A+144|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];b[A+160>>3]=s;n=-n;b[A+168>>3]=n;b[A+176>>3]=c;l=-l;b[A+184>>3]=l;b[A+192>>3]=0.0;b[A+200>>3]=l;b[A+208>>3]=t;b[A+216>>3]=l;b[A+224>>3]=f;b[A+232>>3]=n;i=A+240|0;b[i>>3]=f;b[A+248>>3]=-r;e=A+256|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];e=A+288|0;i=A+272|0;a[i>>2]=a[A>>2];a[i+4>>2]=a[A+4>>2];a[i+8>>2]=a[A+8>>2];a[i+12>>2]=a[A+12>>2];a[e>>2]=a[A>>2];a[e+4>>2]=a[A+4>>2];a[e+8>>2]=a[A+8>>2];a[e+12>>2]=a[A+12>>2];return}function tX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+144|0;g=I+112|0;v=I+96|0;E=I+80|0;B=I+64|0;C=I+32|0;h=I+16|0;d=I;n=I+48|0;do{if(A){t=a[A+4>>2]|0;c=a[A>>2]|0;u=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&3)*90|0;a[g>>2]=a[e>>2];a[g+4>>2]=a[e+4>>2];a[g+8>>2]=a[e+8>>2];a[g+12>>2]=a[e+12>>2];WF(n,g,u);a[C>>2]=a[n>>2];a[C+4>>2]=a[n+4>>2];a[C+8>>2]=a[n+8>>2];a[C+12>>2]=a[n+12>>2];if(t|0){i=+b[C>>3];if(!(+b[t>>3]<=i)){A=0;break}if(!(i<=+b[t+16>>3])){A=0;break}i=+b[C+8>>3];if(!(+b[t+8>>3]<=i)){A=0;break}A=i<=+b[t+24>>3];break}if((c|0)==(a[47292]|0)){i=+b[23309];r=+b[23310];l=+b[23311]}else{A=c+16|0;e=a[(a[A>>2]|0)+12>>2]|0;a[47293]=e;a[47294]=a[e+44>>2];a[47295]=a[e+8>>2];if(!(a[e+40>>2]&2048)){w=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&1|0)==0;u=a[A>>2]|0;b[(w?186496:186504)>>3]=+b[u+96>>3]+ +b[u+88>>3];b[(w?186504:186496)>>3]=+b[u+80>>3];l=+b[u+32>>3]*72.0;f=+b[u+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);l=+(~~(l+(l>=0.0?.5:-.5))|0)}else{HR(g,e);l=+b[g+16>>3]-+b[g>>3];f=+b[g+24>>3]-+b[g+8>>3];u=(a[(a[(Id(c)|0)+16>>2]|0)+116>>2]&1|0)==0;b[(u?186496:186504)>>3]=l;b[(u?186504:186496)>>3]=f}i=+b[23312];if(i==0.0){b[23312]=1.0;i=1.0}r=+b[23313];if(r==0.0){b[23313]=1.0;r=1.0}i=l/i;b[23309]=i;r=f/r;b[23310]=r;l=l*.5;b[23311]=l;b[23314]=f*.5;u=U((a[(a[47293]|0)+4>>2]|0)+-1|0,a[47295]|0)|0;a[47296]=(u|0)>0?u:0;a[47292]=c}f=+b[C>>3]*i;b[C>>3]=f;u=C+8|0;i=+b[u>>3]*r;b[u>>3]=i;if(!(+y(+f)>l)?(r=+y(+i),o=+b[23314],!(r>o)):0){u=a[47295]|0;if((u|0)<3){A=+v1(f/l,i/o)<1.0;break}e=(a[47297]|0)%(u|0)|0;A=(e+1|0)%(u|0)|0;c=a[47294]|0;s=a[47296]|0;w=c+(s+e<<4)|0;a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];w=c+(s+A<<4)|0;a[d>>2]=a[w>>2];a[d+4>>2]=a[w+4>>2];a[d+8>>2]=a[w+8>>2];a[d+12>>2]=a[w+12>>2];a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[46630];a[E+4>>2]=a[46631];a[E+8>>2]=a[46632];a[E+12>>2]=a[46633];a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[g>>2]=a[w>>2];a[g+4>>2]=a[w+4>>2];a[g+8>>2]=a[w+8>>2];a[g+12>>2]=a[w+12>>2];if(xN(B,E,v,g)|0){a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[h>>2];a[E+4>>2]=a[h+4>>2];a[E+8>>2]=a[h+8>>2];a[E+12>>2]=a[h+12>>2];a[v>>2]=a[d>>2];a[v+4>>2]=a[d+4>>2];a[v+8>>2]=a[d+8>>2];a[v+12>>2]=a[d+12>>2];a[g>>2]=a[46630];a[g+4>>2]=a[46631];a[g+8>>2]=a[46632];a[g+12>>2]=a[46633];w=(xN(B,E,v,g)|0)!=0;if(w?(a[B>>2]=a[C>>2],a[B+4>>2]=a[C+4>>2],a[B+8>>2]=a[C+8>>2],a[B+12>>2]=a[C+12>>2],a[E>>2]=a[d>>2],a[E+4>>2]=a[d+4>>2],a[E+8>>2]=a[d+8>>2],a[E+12>>2]=a[d+12>>2],a[v>>2]=a[46630],a[v+4>>2]=a[46631],a[v+8>>2]=a[46632],a[v+12>>2]=a[46633],a[g>>2]=a[h>>2],a[g+4>>2]=a[h+4>>2],a[g+8>>2]=a[h+8>>2],a[g+12>>2]=a[h+12>>2],(xN(B,E,v,g)|0)!=0):0){A=1;break}else{t=e;e=1}while(1){if((e|0)>=(u|0)){e=31;break}if(w){n=A;A=(A+1|0)%(u|0)|0}else{n=(t+-1+u|0)%(u|0)|0;A=t}h=c+(s+n<<4)|0;d=c+(s+A<<4)|0;a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];a[E>>2]=a[46630];a[E+4>>2]=a[46631];a[E+8>>2]=a[46632];a[E+12>>2]=a[46633];a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[g>>2]=a[d>>2];a[g+4>>2]=a[d+4>>2];a[g+8>>2]=a[d+8>>2];a[g+12>>2]=a[d+12>>2];if(!(xN(B,E,v,g)|0)){e=30;break}else{t=n;e=e+1|0}}if((e|0)==30){a[47297]=n;A=0;break}else if((e|0)==31){a[47297]=t;A=1;break}}else A=0}else A=0}else{a[47292]=0;A=0}}while(0);k=I;return A&1|0}function cX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0;t=k;k=k+32|0;f=t+16|0;l=t;if(A){A=a[A>>2]|0;c=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&3)*90|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];WF(l,f,c);n=+b[l>>3];r=+b[l+8>>3];if((A|0)==(a[47300]|0))i=+b[23317];else{l=a[(a[A+16>>2]|0)+12>>2]|0;c=(a[l+4>>2]<<1)+-2|0;i=+b[(a[l+44>>2]|0)+((((c|0)>0?c:0)|1)<<4)>>3];b[23317]=i;a[47300]=A}if(+y(+n)>i|+y(+r)>i)A=0;else A=+v1(n,r)<=i&1}else{a[47300]=0;A=0}k=t;return A|0}function bX(A,e){A=A|0;e=e|0;var i=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0.0,E=0,C=0;v=k;k=k+16|0;t=v;d=a[A+16>>2]|0;B=d+208|0;i=a[B>>2]|0;if((i|0)==0?(f[d+260>>1]&1)==0:0)h=0;else if(!(a[A+152>>2]&4)){Pi(A,i,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0);h=1}else h=1;w=e+16|0;c=a[(a[w>>2]|0)+12>>2]|0;u=a[c+44>>2]|0;o=a[c+8>>2]|0;c=a[c+4>>2]|0;if((a[47298]|0)<(o|0)){i=o+2|0;a[47298]=i;l=a[47299]|0;if(!l)i=$F(i<<4)|0;else i=eV(l,i<<4)|0;a[47299]=i}HN(e,t)|0;if(!(a[t>>2]&32))rr(A,22020);else rr(A,22016);i=a[47172]|0;if(i|0)wr(A,+oR(e,i,1.0,0.0));i=n[(a[w>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){$i(A,BR(e,0,106256)|0);i=BR(e,0,106264)|0;er(A,i);break}if(i&8|0){$i(A,BR(e,0,106272)|0);i=BR(e,0,106280)|0;er(A,i);break}if(!(i&4)){i=RN(e,137314)|0;er(A,i);JN(A,e)|0;break}else{$i(A,BR(e,0,106288)|0);i=BR(e,0,106296)|0;er(A,i);break}}else{$i(A,BR(e,0,106240)|0);i=BR(e,0,106248)|0;er(A,i)}}while(0);if(!c)if(!(r[i>>0]|0))l=1;else{$i(A,i);l=1}else l=c;t=1;e=0;while(1){if((e|0)>=(l|0))break;c=U(e,o)|0;s=a[47299]|0;i=0;while(1){if((i|0)>=(o|0))break;C=i+c|0;g=+b[u+(C<<4)+8>>3];E=a[w>>2]|0;b[s+(i<<4)>>3]=+b[E+16>>3]+ +b[u+(C<<4)>>3];b[s+(i<<4)+8>>3]=+b[E+24>>3]+g;i=i+1|0}fr(A,s,o,t);t=0;e=e+1|0}if(h){if(a[A+152>>2]&4|0)Pi(A,a[B>>2]|0,a[d+228>>2]|0,a[d+244>>2]|0,a[d+212>>2]|0);Oi(A)}k=v;return}function sX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,l=0;f=k;k=k+48|0;l=f;i=wX(e,i,r)|0;a[l+36>>2]=a[r+36>>2];TN(e,a[r+24>>2]|0,l,i,n[r+33>>0]|0,0)|0;e=l;i=A+40|0;do{a[A>>2]=a[e>>2];A=A+4|0;e=e+4|0}while((A|0)<(i|0));k=f;return}function wX(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0.0,w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0,L=0;G=k;k=k+32|0;Z=G;n=G+24|0;c=G+16|0;I=a[(a[(a[(Id(A)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=A+16|0;C=(a[f>>2]|0)+16|0;a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];uX(n,Z,I);C=(a[e+16>>2]|0)+16|0;a[Z>>2]=a[C>>2];a[Z+4>>2]=a[C+4>>2];a[Z+8>>2]=a[C+8>>2];a[Z+12>>2]=a[C+12>>2];uX(c,Z,I);I=r[i+33>>0]|0;Z=I&255;A:do{switch(I<<24>>24){case 0:case 15:{e=0;break}default:{e=a[i+24>>2]|0;if(!e){I=(a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1|0)==0;C=a[f>>2]|0;m=+b[C+80>>3]*.5;Q=-m;s=+b[C+88>>3];t=-s;w=I?t:Q;l=I?s:m;s=I?m:s;t=I?Q:t}else{w=+b[e>>3];l=+b[e+16>>3];s=+b[e+24>>3];t=+b[e+8>>3]}I=a[n>>2]|0;E=a[n+4>>2]|0;C=a[c>>2]|0;B=a[c+4>>2]|0;v=~~t;g=~~((l+w)*.5);d=~~l;h=~~((s+t)*.5);o=~~s;u=~~w;n=0;c=0;e=0;i=0;A=0;while(1){if((c|0)==4)break A;if(1<>2]|0;else f=n}else f=n;n=f;c=c+1|0}}}}while(0);k=G;return e|0}function uX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;switch(i|0){case 0:{f=+b[e>>3];r=+b[e+8>>3];break}case 2:{f=+b[e>>3];r=-+b[e+8>>3];break}case 1:{f=-+b[e+8>>3];r=+b[e>>3];break}case 3:{f=+b[e+8>>3];r=+b[e>>3];break}default:{f=0.0;r=0.0}}a[A>>2]=~~(f+(f>=0.0?.5:-.5));a[A+4>>2]=~~(r+(r>=0.0?.5:-.5));return}function kX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+80|0;f=t+40|0;l=t;n=A+16|0;i=a[n>>2]|0;e=i+16|0;if(r[i+47>>0]|0){i=a[A>>2]&3;sX(f,a[((i|0)==3?A:A+48|0)+40>>2]|0,a[((i|0)==2?A:A+-48|0)+40>>2]|0,e);i=f;f=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(f|0));i=a[n>>2]|0}e=i+56|0;if(r[i+87>>0]|0){i=a[A>>2]&3;sX(l,a[((i|0)==2?A:A+-48|0)+40>>2]|0,a[((i|0)==3?A:A+48|0)+40>>2]|0,e);i=l;f=e+40|0;do{a[e>>2]=a[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(f|0))}k=t;return}function oX(){var A=0,e=0,i=0;A=k;k=k+32|0;e=A+16|0;i=A;a[i>>2]=0;a[i+4>>2]=0;a[i+8>>2]=0;a[i+12>>2]=0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];tX(0,e)|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];cX(0,e)|0;a[e>>2]=a[i>>2];a[e+4>>2]=a[i+4>>2];a[e+8>>2]=a[i+8>>2];a[e+12>>2]=a[i+12>>2];YN(0,e)|0;k=A;return}function hX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;G=k;k=k+192|0;B=G+176|0;I=G+112|0;Z=G+48|0;v=G+32|0;g=G+24|0;E=G+16|0;C=G;if(!(r<<24>>24)){c=i+48|0;a[v>>2]=a[c>>2];a[v+4>>2]=a[c+4>>2];a[v+8>>2]=a[c+8>>2];a[v+12>>2]=a[c+12>>2];c=g;s=E;w=I;u=0}else{a[v>>2]=a[i>>2];a[v+4>>2]=a[i+4>>2];a[v+8>>2]=a[i+8>>2];a[v+12>>2]=a[i+12>>2];c=E;s=g;w=0;u=I}b[g>>3]=0.0;b[E>>3]=1.0;h=v+8|0;f=0.0;n=1.0;t=0;o=+b[v>>3];while(1){d=+b[h>>3];f=(f+n)*.5;mR(C,i,3,f,w,u);a[v>>2]=a[C>>2];a[v+4>>2]=a[C+4>>2];a[v+8>>2]=a[C+8>>2];a[v+12>>2]=a[C+12>>2];a[B>>2]=a[C>>2];a[B+4>>2]=a[C+4>>2];a[B+8>>2]=a[C+8>>2];a[B+12>>2]=a[C+12>>2];A:do{if(!((m5[e&127](A,B)|0)<<24>>24)){r=0;while(1){if((r|0)==4){r=c;t=1;break A}t=Z+(r<<4)|0;Q=I+(r<<4)|0;a[t>>2]=a[Q>>2];a[t+4>>2]=a[Q+4>>2];a[t+8>>2]=a[Q+8>>2];a[t+12>>2]=a[Q+12>>2];r=r+1|0}}else r=s}while(0);b[r>>3]=f;l=+b[v>>3];o=o-l;if(!((o>=0.0?o:-o)>.5)?(d=d-+b[h>>3],!((d>=0.0?d:-d)>.5)):0)break;f=+b[g>>3];n=+b[E>>3];o=l}A:do{if(!(t<<24>>24)){r=0;while(1){if((r|0)==4)break A;Q=i+(r<<4)|0;Z=I+(r<<4)|0;a[Q>>2]=a[Z>>2];a[Q+4>>2]=a[Z+4>>2];a[Q+8>>2]=a[Z+8>>2];a[Q+12>>2]=a[Z+12>>2];r=r+1|0}}else{r=0;while(1){if((r|0)==4)break A;Q=i+(r<<4)|0;I=Z+(r<<4)|0;a[Q>>2]=a[I>>2];a[Q+4>>2]=a[I+4>>2];a[Q+8>>2]=a[I+8>>2];a[Q+12>>2]=a[I+12>>2];r=r+1|0}}}while(0);k=G;return}function dX(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0;s=k;k=k+48|0;i=s+16|0;r=s;f=s+32|0;n=A+16|0;l=a[n>>2]|0;t=a[l+8>>2]|0;if(t|0?(c=t+4|0,a[(a[c>>2]|0)+12>>2]|0):0){a[f>>2]=A;a[f+4>>2]=0;w=+b[l+96>>3];b[r>>3]=+b[e>>3]-+b[l+16>>3];b[r+8>>3]=+b[e+8>>3]-+b[l+24>>3];c=a[(a[c>>2]|0)+12>>2]|0;a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];c=m5[c&127](f,i)|0;b[(a[n>>2]|0)+96>>3]=w;BX(f,A,e,c)}k=s;return}function BX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,s=0,w=0;w=k;k=k+64|0;s=w;t=e+16|0;n=a[t>>2]|0;c=+b[n+96>>3];l=n+16|0;f=n+24|0;e=0;while(1){if((e|0)==4)break;b[s+(e<<4)>>3]=+b[i+(e<<4)>>3]-+b[l>>3];b[s+(e<<4)+8>>3]=+b[i+(e<<4)+8>>3]-+b[f>>3];e=e+1|0}hX(A,a[(a[(a[n+8>>2]|0)+4>>2]|0)+12>>2]|0,s,r);e=0;while(1){if((e|0)==4)break;r=a[t>>2]|0;b[i+(e<<4)>>3]=+b[r+16>>3]+ +b[s+(e<<4)>>3];b[i+(e<<4)+8>>3]=+b[r+24>>3]+ +b[s+(e<<4)+8>>3];e=e+1|0}b[(a[t>>2]|0)+96>>3]=c;k=w;return}function vX(A,e){A=A|0;e=e|0;var i=0,f=0;while(1){f=A+16|0;A=a[f>>2]|0;if(!(r[A+112>>0]|0))break;A=a[A+116>>2]|0}A=a[A+8>>2]|0;if(!A){A=qF(40)|0;a[(a[f>>2]|0)+8>>2]=A}i=a[A>>2]|0;if(!i)A=$F(((a[A+4>>2]|0)*48|0)+48|0)|0;else A=eV(i,((a[A+4>>2]|0)*48|0)+48|0)|0;f=a[(a[f>>2]|0)+8>>2]|0;a[f>>2]=A;f=f+4|0;i=a[f>>2]|0;a[f>>2]=i+1;f=A+(i*48|0)|0;a[f>>2]=qF(e<<4)|0;a[A+(i*48|0)+4>>2]=e;A=A+(i*48|0)+8|0;i=A+40|0;do{a[A>>2]=0;A=A+4|0}while((A|0)<(i|0));return f|0}function gX(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0.0,z=0.0;W=k;k=k+96|0;Q=W+16|0;g=W;I=W+92|0;Z=W+88|0;E=W+80|0;s=a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;G=Id(s)|0;m=vX(A,f)|0;w=A;while(1){u=a[w+16>>2]|0;if(!(r[u+112>>0]|0))break;w=a[u+116>>2]|0}if((r[l+8>>0]|0)==0?(t=a[s+16>>2]|0,c=a[e+16>>2]|0,(a[t+232>>2]|0)==(a[c+232>>2]|0)):0){o=(a[t+236>>2]|0)>(a[c+236>>2]|0);C=o?s:e;s=o?e:s}else C=e;if((s|0)==(a[((a[w>>2]&3|0)==3?w:w+48|0)+40>>2]|0)){t=u+80|0;c=u+40|0;o=n[u+86>>0]|0;e=n[u+46>>0]|0}else{t=u+40|0;c=u+80|0;o=n[u+46>>0]|0;e=n[u+86>>0]|0}u=a[t>>2]|0;t=a[c>>2]|0;if(((e|0)!=0?(d=s+16|0,h=a[(a[d>>2]|0)+8>>2]|0,(h|0)!=0):0)?(a[(a[h+4>>2]|0)+12>>2]|0)!=0:0){a[E>>2]=s;a[E+4>>2]=t;t=f+-4|0;e=g+8|0;c=0;while(1){if((c|0)>=(t|0))break;w=c+3|0;h=a[d>>2]|0;b[g>>3]=+b[i+(w<<4)>>3]-+b[h+16>>3];b[e>>3]=+b[i+(w<<4)+8>>3]-+b[h+24>>3];h=a[(a[(a[h+8>>2]|0)+4>>2]|0)+12>>2]|0;a[Q>>2]=a[g>>2];a[Q+4>>2]=a[g+4>>2];a[Q+8>>2]=a[g+8>>2];a[Q+12>>2]=a[g+12>>2];if(!((m5[h&127](E,Q)|0)<<24>>24))break;else c=w}a[I>>2]=c;BX(E,s,i+(c<<4)|0,1)}else{a[I>>2]=0;c=0}if(((o|0)!=0?(v=C+16|0,B=a[(a[v>>2]|0)+8>>2]|0,(B|0)!=0):0)?(a[(a[B+4>>2]|0)+12>>2]|0)!=0:0){a[E>>2]=C;a[E+4>>2]=u;s=f+-4|0;e=g+8|0;t=s;while(1){if((t|0)<=0)break;f=a[v>>2]|0;b[g>>3]=+b[i+(t<<4)>>3]-+b[f+16>>3];b[e>>3]=+b[i+(t<<4)+8>>3]-+b[f+24>>3];f=a[(a[(a[f+8>>2]|0)+4>>2]|0)+12>>2]|0;a[Q>>2]=a[g>>2];a[Q+4>>2]=a[g+4>>2];a[Q+8>>2]=a[g+8>>2];a[Q+12>>2]=a[g+12>>2];if(!((m5[f&127](E,Q)|0)<<24>>24))break;t=t+-3|0}a[Z>>2]=t;BX(E,C,i+(t<<4)|0,0)}else{s=f+-4|0;a[Z>>2]=s;t=s}while(1){if((c|0)>=(s|0))break;e=c+3|0;y=+b[i+(c<<4)>>3]-+b[i+(e<<4)>>3];z=+b[i+(c<<4)+8>>3]-+b[i+(e<<4)+8>>3];if(z*z+y*y<1.0e-06)c=e;else break}a[I>>2]=c;while(1){if((t|0)<=0)break;E=t+3|0;z=+b[i+(t<<4)>>3]-+b[i+(E<<4)>>3];y=+b[i+(t<<4)+8>>3]-+b[i+(E<<4)+8>>3];if(!(y*y+z*z<1.0e-06))break;t=t+-3|0}a[Z>>2]=t;EX(A,C,i,I,Z,m,l);d=a[I>>2]|0;w=a[Z>>2]|0;s=w+4|0;w=w+3|0;u=Q+16|0;o=Q+32|0;h=Q+48|0;c=G+16|0;t=d;while(1){if((t|0)>=(s|0))break;G=(a[m>>2]|0)+(t-d<<4)|0;e=i+(t<<4)|0;a[G>>2]=a[e>>2];a[G+4>>2]=a[e+4>>2];a[G+8>>2]=a[e+8>>2];a[G+12>>2]=a[e+12>>2];a[Q>>2]=a[e>>2];a[Q+4>>2]=a[e+4>>2];a[Q+8>>2]=a[e+8>>2];a[Q+12>>2]=a[e+12>>2];e=t+1|0;if((t|0)>=(w|0)){L=38;break}Z=(a[m>>2]|0)+(e-d<<4)|0;G=i+(e<<4)|0;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[u>>2]=a[G>>2];a[u+4>>2]=a[G+4>>2];a[u+8>>2]=a[G+8>>2];a[u+12>>2]=a[G+12>>2];G=t+2|0;Z=(a[m>>2]|0)+(G-d<<4)|0;G=i+(G<<4)|0;a[Z>>2]=a[G>>2];a[Z+4>>2]=a[G+4>>2];a[Z+8>>2]=a[G+8>>2];a[Z+12>>2]=a[G+12>>2];a[o>>2]=a[G>>2];a[o+4>>2]=a[G+4>>2];a[o+8>>2]=a[G+8>>2];a[o+12>>2]=a[G+12>>2];G=t+3|0;Z=i+(G<<4)|0;a[h>>2]=a[Z>>2];a[h+4>>2]=a[Z+4>>2];a[h+8>>2]=a[Z+8>>2];a[h+12>>2]=a[Z+12>>2];sI((a[c>>2]|0)+16|0,Q);t=G}a[m+4>>2]=s-d;k=W;return}function EX(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;s=o+4|0;w=o;u=A;while(1){c=a[(a[u+16>>2]|0)+116>>2]|0;if(!c)break;else u=c}if(!(r[t+8>>0]|0))c=(Q5[a[t>>2]&63](u)|0)&255;else c=0;DC(u,s,w);b=t+4|0;if((Q5[a[b>>2]&63](e)|0)<<24>>24)a[w>>2]=0;if((Q5[a[b>>2]&63](a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)<<24>>24)a[s>>2]=0;if(c|0){e=a[s>>2]|0;a[s>>2]=a[w>>2];a[w>>2]=e}if(!(r[t+9>>0]|0)){c=a[s>>2]|0;if(c|0)a[f>>2]=PC(u,i,a[f>>2]|0,a[n>>2]|0,l,c)|0;c=a[w>>2]|0;if(c|0)a[n>>2]=jC(u,i,a[f>>2]|0,a[n>>2]|0,l,c)|0}else{b=a[w>>2]|0;c=a[s>>2]|0;if(c|b|0)OC(u,i,a[f>>2]|0,a[n>>2]|0,l,c,b)}k=o;return}function CX(A,e){A=A|0;e=e|0;var i=0,r=0;if(+b[e>>3]<+b[e+16>>3]?+b[e+8>>3]<+b[e+24>>3]:0){i=a[A+84>>2]|0;r=A+80|0;A=a[r>>2]|0;a[r>>2]=A+1;A=i+(A<<5)|0;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2]}return}function IX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;I=k;k=k+112|0;g=I+72|0;u=I+56|0;w=I+16|0;h=I;t=a[e>>2]&3;o=e+48|0;C=a[((t|0)==3?e:o)+40>>2]|0;v=e+16|0;d=a[v>>2]|0;l=d+16|0;if(r[d+47>>0]|0){sX(w,C,a[((t|0)==2?e:e+-48|0)+40>>2]|0,l);t=w;w=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(w|0))}d=C+16|0;t=a[d>>2]|0;l=a[t+8>>2]|0;if(!l)w=0;else w=a[(a[l+4>>2]|0)+16>>2]|0;l=t+16|0;t=(a[v>>2]|0)+16|0;a[u>>2]=a[l>>2];a[u+4>>2]=a[l+4>>2];a[u+8>>2]=a[l+8>>2];a[u+12>>2]=a[l+12>>2];a[g>>2]=a[t>>2];a[g+4>>2]=a[t+4>>2];a[g+8>>2]=a[t+8>>2];a[g+12>>2]=a[t+12>>2];ZX(h,u,g);a[A>>2]=a[h>>2];a[A+4>>2]=a[h+4>>2];a[A+8>>2]=a[h+8>>2];a[A+12>>2]=a[h+12>>2];if(!(n<<24>>24)){l=a[v>>2]|0;if(!(r[l+45>>0]|0))l=0;else{c=+b[l+32>>3];E=9}}else{c=+GX(a[((a[e>>2]&3|0)==3?e:o)+40>>2]|0);E=9}if((E|0)==9){b[A+16>>3]=c;l=1}r[A+29>>0]=l;a[A+80>>2]=0;a[A+88>>2]=e;h=f+32|0;a[h>>2]=a[A>>2];a[h+4>>2]=a[A+4>>2];a[h+8>>2]=a[A+8>>2];a[h+12>>2]=a[A+12>>2];switch(i|0){case 1:{t=a[d>>2]|0;if((r[t+156>>0]|0)==0?(h=r[(a[v>>2]|0)+49>>0]|0,B=h&255,h<<24>>24!=0):0){a[g>>2]=a[f>>2];a[g+4>>2]=a[f+4>>2];a[g+8>>2]=a[f+8>>2];a[g+12>>2]=a[f+12>>2];a[g+16>>2]=a[f+16>>2];a[g+20>>2]=a[f+20>>2];a[g+24>>2]=a[f+24>>2];a[g+28>>2]=a[f+28>>2];do{if(!(B&4)){if(B&1|0){a[f+48>>2]=1;l=g+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}l=f+48|0;if(!(B&8)){a[l>>2]=2;b[g>>3]=+b[A>>3];b[g+8>>3]=+b[t+24>>3]-+b[t+80>>3]*.5;b[g+24>>3]=+b[A+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}else{a[l>>2]=8;b[g+16>>3]=+b[A>>3];b[g+8>>3]=+b[t+24>>3]-+b[t+80>>3]*.5;b[g+24>>3]=+b[A+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}}else{a[f+48>>2]=4;c=+b[g>>3];if(+b[A>>3]<+b[t+16>>3]){G=c+-1.0;Z=+b[A+8>>3];A=g+16|0;c=+b[A>>3];s=+b[t+80>>3]*.5+ +b[t+24>>3];s=s+ +((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[d>>2]|0;b[A>>3]=+b[l+16>>3]-+b[l+88>>3];b[g+24>>3]=Z;b[g+8>>3]=+b[l+24>>3]-+b[l+80>>3]*.5;b[g>>3]=G;b[f+56>>3]=G;b[f+64>>3]=Z;b[f+72>>3]=c;b[f+80>>3]=s;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}else{s=+b[A+8>>3];l=g+16|0;Z=+b[l>>3]+1.0;G=+b[t+80>>3]*.5+ +b[t+24>>3];G=G+ +((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[d>>2]|0;b[g>>3]=+b[A+96>>3]+ +b[A+16>>3];b[g+24>>3]=s;b[g+8>>3]=+b[A+24>>3]-+b[A+80>>3]*.5;b[l>>3]=Z;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Z;b[f+80>>3]=G;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((C|0)==(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0}else{t=1;E=47}break}case 2:{B=r[(a[v>>2]|0)+49>>0]|0;t=B&255;if(!(B<<24>>24))E=46;else{a[g>>2]=a[f>>2];a[g+4>>2]=a[f+4>>2];a[g+8>>2]=a[f+8>>2];a[g+12>>2]=a[f+12>>2];a[g+16>>2]=a[f+16>>2];a[g+20>>2]=a[f+20>>2];a[g+24>>2]=a[f+24>>2];a[g+28>>2]=a[f+28>>2];do{if(!(t&4)){if(t&1|0)if((a[f+48>>2]|0)==4){l=a[d>>2]|0;G=+b[l+24>>3]-+b[l+80>>3]*.5;l=g+16|0;Z=+b[l>>3]+1.0;c=+b[A>>3];s=G-+((a[(a[(Id(C)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[d>>2]|0;b[g>>3]=+b[A+96>>3]+ +b[A+16>>3];b[g+8>>3]=G;b[g+24>>3]=+b[A+80>>3]*.5+ +b[A+24>>3];b[l>>3]=Z;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Z;b[f+80>>3]=G;l=f+88|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=2;break}else{l=g+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?g+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}c=+b[A>>3];if(!(t&8)){b[g>>3]=c;i=a[d>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[g+24>>3]=s+c;c=+b[A+8>>3];l=g}else{b[g+8>>3]=c-s;c=+b[A+8>>3]+1.0;l=g+16|0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}else{l=g+16|0;b[l>>3]=c+1.0;i=a[d>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[g+24>>3]=s+c;c=+b[A+8>>3]+-1.0;l=g}else{b[g+8>>3]=c-s;c=+b[A+8>>3]+1.0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1;break}}else{l=g+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+8>>3]?g:A)+8>>3];l=f+56|0;a[l>>2]=a[g>>2];a[l+4>>2]=a[g+4>>2];a[l+8>>2]=a[g+8>>2];a[l+12>>2]=a[g+12>>2];a[l+16>>2]=a[g+16>>2];a[l+20>>2]=a[g+20>>2];a[l+24>>2]=a[g+24>>2];a[l+28>>2]=a[g+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((C|0)==(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?l+16|0:l+56|0)+30>>0]=0;a[f+48>>2]=t}break}default:E=46}if((E|0)==46){t=a[f+48>>2]|0;E=47}A:do{if((E|0)==47){if(w){e=f+56|0;l=f+52|0;t=z5[w&127](C,(a[v>>2]|0)+16|0,t,e,l)|0;if(t){a[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}a[e>>2]=a[f>>2];a[e+4>>2]=a[f+4>>2];a[e+8>>2]=a[f+8>>2];a[e+12>>2]=a[f+12>>2];a[e+16>>2]=a[f+16>>2];a[e+20>>2]=a[f+20>>2];a[e+24>>2]=a[f+24>>2];a[e+28>>2]=a[f+28>>2];a[l>>2]=1;switch(i|0){case 8:{vA(138394,106514,569,106524);break}case 2:{b[((a[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+b[A+8>>3];break A}case 1:{b[f+80>>3]=+b[A+8>>3];a[f+48>>2]=1;break A}default:break A}}}while(0);k=I;return}function ZX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function GX(A){A=A|0;var e=0.0,i=0,r=0,f=0.0,n=0,l=0,t=0,c=0.0,s=0.0;l=a[A+16>>2]|0;t=a[l+172>>2]|0;f=0.0;n=0;while(1){A=a[t+(n<<2)>>2]|0;if(!A)break;f=+b[(a[(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;n=n+1|0}r=a[l+180>>2]|0;e=0.0;A=0;while(1){i=a[r+(A<<2)>>2]|0;if(!i)break;e=+b[(a[(a[((a[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+e;A=A+1|0}c=+b[l+16>>3];s=+b[l+24>>3];t=a[t>>2]|0;f=+X(+(s-+b[(a[(a[((a[t>>2]&3|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(c-f/+(n|0)));t=a[r>>2]|0;return+((+X(+(+b[(a[(a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-s),+(e/+(A|0)-c))+f)*.5)}function QX(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0.0;G=k;k=k+112|0;C=G+72|0;o=G+56|0;w=G+16|0;v=G;t=a[e>>2]&3;d=e+-48|0;Z=a[((t|0)==2?e:d)+40>>2]|0;g=e+16|0;B=a[g>>2]|0;l=B+56|0;if(r[B+87>>0]|0){sX(w,Z,a[((t|0)==3?e:e+48|0)+40>>2]|0,l);t=w;w=l+40|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(w|0))}B=Z+16|0;t=a[B>>2]|0;l=a[t+8>>2]|0;if(!l)u=0;else u=a[(a[l+4>>2]|0)+16>>2]|0;w=A+40|0;l=t+16|0;t=(a[g>>2]|0)+56|0;a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];a[C>>2]=a[t>>2];a[C+4>>2]=a[t+4>>2];a[C+8>>2]=a[t+8>>2];a[C+12>>2]=a[t+12>>2];ZX(v,o,C);a[w>>2]=a[v>>2];a[w+4>>2]=a[v+4>>2];a[w+8>>2]=a[v+8>>2];a[w+12>>2]=a[v+12>>2];if(!(n<<24>>24)){l=a[g>>2]|0;if(!(r[l+85>>0]|0))h=0;else{b[A+56>>3]=+b[l+72>>3];h=1}}else{s=+GX(a[((a[e>>2]&3|0)==2?e:d)+40>>2]|0)+3.141592653589793;b[A+56>>3]=s;if(s<6.283185307179586)h=1;else vA(106534,106514,606,106558)}r[A+69>>0]=h;v=f+32|0;a[v>>2]=a[w>>2];a[v+4>>2]=a[w+4>>2];a[v+8>>2]=a[w+8>>2];a[v+12>>2]=a[w+12>>2];switch(i|0){case 1:{t=a[B>>2]|0;if((r[t+156>>0]|0)==0?(v=r[(a[g>>2]|0)+89>>0]|0,E=v&255,v<<24>>24!=0):0){a[C>>2]=a[f>>2];a[C+4>>2]=a[f+4>>2];a[C+8>>2]=a[f+8>>2];a[C+12>>2]=a[f+12>>2];a[C+16>>2]=a[f+16>>2];a[C+20>>2]=a[f+20>>2];a[C+24>>2]=a[f+24>>2];a[C+28>>2]=a[f+28>>2];do{if(!(E&4))if(!(E&1)){l=f+48|0;if(!(E&8)){a[l>>2]=2;b[C>>3]=+b[w>>3];b[C+24>>3]=+b[t+80>>3]*.5+ +b[t+24>>3];b[C+8>>3]=+b[A+48>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}else{a[l>>2]=8;b[C+16>>3]=+b[w>>3];b[C+24>>3]=+b[t+80>>3]*.5+ +b[t+24>>3];b[C+8>>3]=+b[A+48>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}}else{a[f+48>>2]=1;c=+b[C>>3];if(+b[w>>3]<+b[t+16>>3]){m=c+-1.0;s=+b[A+48>>3];A=C+16|0;c=+b[A>>3];Q=+b[t+80>>3]*-.5+ +b[t+24>>3];Q=Q-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[B>>2]|0;b[A>>3]=+b[l+16>>3]-+b[l+88>>3];b[C+8>>3]=s;b[C+24>>3]=+b[l+80>>3]*.5+ +b[l+24>>3];b[C>>3]=m;b[f+56>>3]=m;b[f+64>>3]=Q;b[f+72>>3]=c;b[f+80>>3]=s;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}else{m=+b[A+48>>3];l=C+16|0;Q=+b[l>>3]+1.0;s=+b[t+80>>3]*-.5+ +b[t+24>>3];s=s-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=a[B>>2]|0;b[C>>3]=+b[A+96>>3]+ +b[A+16>>3];b[C+8>>3]=m;b[C+24>>3]=+b[A+80>>3]*.5+ +b[A+24>>3];b[l>>3]=Q;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Q;b[f+80>>3]=m;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}}else{a[f+48>>2]=4;l=C+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+48>>3]?C:w)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((Z|0)==(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;a[f+48>>2]=E}else{t=4;I=47}break}case 2:{E=r[(a[g>>2]|0)+89>>0]|0;t=E&255;if(!(E<<24>>24))I=46;else{a[C>>2]=a[f>>2];a[C+4>>2]=a[f+4>>2];a[C+8>>2]=a[f+8>>2];a[C+12>>2]=a[f+12>>2];a[C+16>>2]=a[f+16>>2];a[C+20>>2]=a[f+20>>2];a[C+24>>2]=a[f+24>>2];a[C+28>>2]=a[f+28>>2];do{if(!(t&4)){if(t&1|0)if((a[f+48>>2]|0)==4){c=+b[C>>3]+-1.0;l=a[B>>2]|0;m=+b[l+24>>3]-+b[l+80>>3]*.5;Q=+b[w>>3];s=m-+((a[(a[(Id(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);l=a[B>>2]|0;b[C+16>>3]=+b[l+16>>3]+-2.0-+b[l+88>>3];b[C+8>>3]=m;b[C+24>>3]=+b[l+80>>3]*.5+ +b[l+24>>3];b[C>>3]=c;b[f+56>>3]=c;b[f+64>>3]=s;b[f+72>>3]=Q;b[f+80>>3]=m;l=f+88|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=2;break}else{l=C+24|0;b[l>>3]=+b[(+b[l>>3]>+b[A+8>>3]?C+16|0:A)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}c=+b[w>>3];if(!(t&8)){b[C>>3]=c+-1.0;i=a[B>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[C+24>>3]=s+c;c=+b[A+48>>3]+-1.0;l=C}else{b[C+8>>3]=c-s;c=+b[A+48>>3];l=C+16|0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}else{l=C+16|0;b[l>>3]=c+1.0;i=a[B>>2]|0;c=+b[i+24>>3];s=+b[i+80>>3]*.5;if((a[f+48>>2]|0)==4){b[C+24>>3]=s+c;c=+b[A+48>>3]+-1.0;l=C}else{b[C+8>>3]=c-s;c=+b[A+48>>3]+1.0}b[l+8>>3]=c;l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1;break}}else{l=C+8|0;b[l>>3]=+b[(+b[l>>3]<+b[A+48>>3]?C:w)+8>>3];l=f+56|0;a[l>>2]=a[C>>2];a[l+4>>2]=a[C+4>>2];a[l+8>>2]=a[C+8>>2];a[l+12>>2]=a[C+12>>2];a[l+16>>2]=a[C+16>>2];a[l+20>>2]=a[C+20>>2];a[l+24>>2]=a[C+24>>2];a[l+28>>2]=a[C+28>>2];l=1}}while(0);a[f+52>>2]=l;while(1){l=a[e+16>>2]|0;if(!(r[l+112>>0]|0))break;e=a[l+116>>2]|0}r[((Z|0)==(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?l+56|0:l+16|0)+30>>0]=0;a[f+48>>2]=t}break}default:I=46}if((I|0)==46){t=a[f+48>>2]|0;I=47}A:do{if((I|0)==47){if(u){e=f+56|0;l=f+52|0;t=z5[u&127](Z,(a[g>>2]|0)+56|0,t,e,l)|0;if(t){a[f+48>>2]=t;break}}else{l=f+52|0;e=f+56|0}a[e>>2]=a[f>>2];a[e+4>>2]=a[f+4>>2];a[e+8>>2]=a[f+8>>2];a[e+12>>2]=a[f+12>>2];a[e+16>>2]=a[f+16>>2];a[e+20>>2]=a[f+20>>2];a[e+24>>2]=a[f+24>>2];a[e+28>>2]=a[f+28>>2];a[l>>2]=1;switch(i|0){case 8:{vA(138394,106514,765,106558);break}case 2:{b[((a[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+b[A+48>>3];break A}case 1:{b[f+64>>3]=+b[A+48>>3];a[f+48>>2]=4;break A}default:break A}}}while(0);k=G;return}function mX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;n=a[A+16>>2]|0;l=a[n+96>>2]|0;if((r[n+44>>0]|0)==0?(r[n+84>>0]|0)==0:0)t=6;else{e=r[n+49>>0]|0;i=e&255;if(((i&8|0)==0?(f=r[n+89>>0]|0,(f&8)==0):0)?(i&5|0)==0?1:e<<24>>24!=f<<24>>24:0)t=6;else A=0}if((t|0)==6)if(!l)A=18;else{A=(a[(a[(Id(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=~~(+b[(A?l+32|0:l+24|0)>>3]+18.0)}return A|0}function LX(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=+n;l=+l;t=t|0;var c=0,b=0,s=0,w=0;A=a[(a[e+(i<<2)>>2]|0)+16>>2]|0;if((r[A+44>>0]|0)==0?(r[A+84>>0]|0)==0:0)s=6;else s=3;do{if((s|0)==3){c=r[A+49>>0]|0;b=c&255;if(!(b&8)){w=r[A+89>>0]|0;if((w&8)==0?(b&5|0)==0?1:c<<24>>24!=w<<24>>24:0){s=6;break}if(!(r[A+89>>0]&8)){if(b&4|0){yX(e,i,f,n,l,t);break}if(!(b&1))vA(138394,106514,1231,106566);else{YX(e,i,f,n,l,t);break}}}if((c&2)==0?(r[A+89>>0]&2)==0:0){zX(e,i,f,n,l,t);break}yX(e,i,f,n,l,t)}}while(0);if((s|0)==6)WX(e,i,f,n,l,t);return}function WX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0.0,W=0,y=0.0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;m=a[A+(e<<2)>>2]|0;w=l*.5/+(i|0);w=w>2.0?w:2.0;W=(a[((a[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)+16|0;Q=a[W>>2]|0;L=+b[Q+16>>3];D=+b[Q+24>>3];m=a[m+16>>2]|0;s=+b[m+16>>3];y=s+L;z=+b[m+24>>3]+D;l=+b[m+56>>3];Y=l+L;D=+b[m+64>>3]+D;c=!(z>=D)?-1:1;o=+b[Q+96>>3];switch(DX(n[m+49>>0]|0,n[m+89>>0]|0)|0){case 65:case 32:{if(z==D)c=0-c|0;break}default:{}}p=(o-s)*3.0;s=(o-l)*3.0;E=w*+(c|0);g=J+8|0;C=J+16|0;I=J+32|0;Z=J+48|0;G=(D+z)*.5;Q=J+64|0;m=J+80|0;B=J+96|0;v=J+104|0;d=0;u=0.0;l=o;w=o=(i|0))break;h=e+1|0;e=a[A+(e<<2)>>2]|0;o=l+f;w=w+f;s=s+f;u=u+E;b[J>>3]=y;b[g>>3]=z;p=u+z;MX(N,w*.3333333333333333+y,p);a[C>>2]=a[N>>2];a[C+4>>2]=a[N+4>>2];a[C+8>>2]=a[N+8>>2];a[C+12>>2]=a[N+12>>2];U=o+L;MX(X,U,p);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];MX(R,U,G);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];p=D-u;MX(F,U,p);a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];MX(V,s*.3333333333333333+Y,p);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];b[B>>3]=Y;b[v>>3]=D;c=e+16|0;if((a[(a[c>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=a[(a[c>>2]|0)+96>>2]|0,M=+b[(x?c+24|0:c+32|0)>>3],x=a[W>>2]|0,b[c+56>>3]=M*.5+o+ +b[x+16>>3],b[c+64>>3]=+b[x+24>>3],r[c+81>>0]=1,M>f):0)l=M+l;else l=o;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,J,7,t);e=h;d=d+1|0}k=H;return}function yX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0.0,y=0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0.0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0.0,x=0;p=k;k=k+16080|0;N=p+80|0;X=p+64|0;R=p+48|0;H=p+32|0;V=p+16|0;J=p;L=a[A+(e<<2)>>2]|0;h=f*.5/+(i|0);h=h>2.0?h:2.0;y=(a[((a[L>>2]&3|0)==3?L:L+48|0)+40>>2]|0)+16|0;s=a[y>>2]|0;D=+b[s+16>>3];W=+b[s+24>>3];L=a[L+16>>2]|0;c=+b[L+16>>3];o=+b[L+24>>3];z=c+D;Y=o+W;f=+b[L+56>>3];u=+b[L+64>>3];D=f+D;M=u+W;w=!(z>=D)?-1.0:1.0;B=+b[s+80>>3]*.5;switch(DX(n[L+49>>0]|0,n[L+89>>0]|0)|0){case 15:{c=(h-f+ +b[s+96>>3])*w;break}case 38:{c=(f+h+ +b[s+88>>3])*w;break}case 41:{c=(h-c+ +b[s+96>>3])*w;break}case 48:{c=(h-c+ +b[s+96>>3])*w;break}case 58:case 57:case 51:case 47:case 37:case 14:{c=w*.3333333333333333*(c-f+ +b[s+88>>3]+ +b[s+96>>3]);break}case 73:{c=(c+h+ +b[s+88>>3])*w;break}case 83:{c=(+b[s+88>>3]+c)*w;break}case 84:{c=((c-f+ +b[s+88>>3]+ +b[s+96>>3])*.5+h)*w;break}case 85:case 75:case 74:{c=((c-f+ +b[s+88>>3]+ +b[s+96>>3])*.5+h*2.0)*w;break}default:c=0.0}o=(B-o)*3.0;u=(B-u)*3.0;h=w*h;C=N+8|0;I=N+16|0;Z=N+32|0;G=N+48|0;Q=(D+z)*.5;m=N+64|0;L=N+80|0;g=N+96|0;E=N+104|0;v=0;f=B;o=B=(i|0))break;d=e+1|0;e=a[A+(e<<2)>>2]|0;u=f+l;o=o+l;w=w+l;c=c+h;b[N>>3]=z;b[C>>3]=Y;B=c+z;MX(X,B,o*.3333333333333333+Y);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];U=u+W;MX(R,B,U);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];MX(H,Q,U);a[G>>2]=a[H>>2];a[G+4>>2]=a[H+4>>2];a[G+8>>2]=a[H+8>>2];a[G+12>>2]=a[H+12>>2];B=D-c;MX(V,B,U);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];MX(J,B,w*.3333333333333333+M);a[L>>2]=a[J>>2];a[L+4>>2]=a[J+4>>2];a[L+8>>2]=a[J+8>>2];a[L+12>>2]=a[J+12>>2];b[g>>3]=D;b[E>>3]=M;s=e+16|0;if((a[(a[s>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,s=a[(a[s>>2]|0)+96>>2]|0,F=+b[(x?s+32|0:s+24|0)>>3],x=a[y>>2]|0,b[s+64>>3]=F*.5+u+ +b[x+24>>3],b[s+56>>3]=+b[x+16>>3],r[s+81>>0]=1,F>l):0)f=F+f;else f=u;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,N,7,t);e=d;v=v+1|0}k=p;return}function zX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0.0,W=0,y=0.0,z=0.0,Y=0.0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;m=a[A+(e<<2)>>2]|0;w=l*.5/+(i|0);w=w>2.0?w:2.0;W=(a[((a[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)+16|0;Q=a[W>>2]|0;L=+b[Q+16>>3];D=+b[Q+24>>3];m=a[m+16>>2]|0;s=+b[m+16>>3];y=s+L;z=+b[m+24>>3]+D;l=+b[m+56>>3];Y=l+L;D=+b[m+64>>3]+D;c=!(z>=D)?-1:1;o=+b[Q+88>>3];switch(DX(n[m+49>>0]|0,n[m+89>>0]|0)|0){case 67:case 12:{if(z==D)c=0-c|0;break}default:{}}p=(s+o)*3.0;s=(l+o)*3.0;E=w*+(c|0);g=J+8|0;C=J+16|0;I=J+32|0;Z=J+48|0;G=(D+z)*.5;Q=J+64|0;m=J+80|0;B=J+96|0;v=J+104|0;d=0;u=0.0;l=o;w=o=(i|0))break;h=e+1|0;e=a[A+(e<<2)>>2]|0;o=l+f;w=w+f;s=s+f;u=u+E;b[J>>3]=y;b[g>>3]=z;p=u+z;MX(N,y-w*.3333333333333333,p);a[C>>2]=a[N>>2];a[C+4>>2]=a[N+4>>2];a[C+8>>2]=a[N+8>>2];a[C+12>>2]=a[N+12>>2];U=L-o;MX(X,U,p);a[I>>2]=a[X>>2];a[I+4>>2]=a[X+4>>2];a[I+8>>2]=a[X+8>>2];a[I+12>>2]=a[X+12>>2];MX(R,U,G);a[Z>>2]=a[R>>2];a[Z+4>>2]=a[R+4>>2];a[Z+8>>2]=a[R+8>>2];a[Z+12>>2]=a[R+12>>2];p=D-u;MX(F,U,p);a[Q>>2]=a[F>>2];a[Q+4>>2]=a[F+4>>2];a[Q+8>>2]=a[F+8>>2];a[Q+12>>2]=a[F+12>>2];MX(V,Y-s*.3333333333333333,p);a[m>>2]=a[V>>2];a[m+4>>2]=a[V+4>>2];a[m+8>>2]=a[V+8>>2];a[m+12>>2]=a[V+12>>2];b[B>>3]=Y;b[v>>3]=D;c=e+16|0;if((a[(a[c>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=a[(a[c>>2]|0)+96>>2]|0,M=+b[(x?c+24|0:c+32|0)>>3],x=a[W>>2]|0,b[c+56>>3]=M*-.5-o+ +b[x+16>>3],b[c+64>>3]=+b[x+24>>3],r[c+81>>0]=1,M>f):0)l=M+l;else l=o;gX(e,a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,J,7,t);e=h;d=d+1|0}k=H;return}function YX(A,e,i,f,l,t){A=A|0;e=e|0;i=i|0;f=+f;l=+l;t=t|0;var c=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0.0,G=0.0,Q=0.0,m=0.0,L=0,W=0,y=0,z=0.0,Y=0,D=0,M=0.0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0.0,U=0.0,x=0;H=k;k=k+16080|0;J=H+80|0;N=H+64|0;X=H+48|0;R=H+32|0;F=H+16|0;V=H;L=a[A+(e<<2)>>2]|0;m=f*.5/+(i|0);C=(a[((a[L>>2]&3|0)==3?L:L+48|0)+40>>2]|0)+16|0;W=a[C>>2]|0;G=+b[W+16>>3];E=+b[W+24>>3];L=a[L+16>>2]|0;s=+b[L+24>>3];I=+b[L+16>>3]+G;Z=s+E;w=+b[L+64>>3];G=+b[L+56>>3]+G;Q=w+E;g=!(I>=G)?-1:1;u=+b[W+80>>3]*.5;L=(DX(n[L+49>>0]|0,n[L+89>>0]|0)|0)==67;s=(s+u)*3.0;w=(w+u)*3.0;m=(m>2.0?m:2.0)*+((L?0-g|0:g)|0);g=J+8|0;L=J+16|0;W=J+32|0;y=J+48|0;z=(G+I)*.5;Y=J+64|0;D=J+80|0;B=J+96|0;v=J+104|0;f=u;c=0.0;s=u=(i|0))break;d=e+1|0;o=a[A+(e<<2)>>2]|0;u=f+l;s=s+l;w=w+l;c=c+m;b[J>>3]=I;b[g>>3]=Z;p=c+I;MX(N,p,Z-s*.3333333333333333);a[L>>2]=a[N>>2];a[L+4>>2]=a[N+4>>2];a[L+8>>2]=a[N+8>>2];a[L+12>>2]=a[N+12>>2];U=E-u;MX(X,p,U);a[W>>2]=a[X>>2];a[W+4>>2]=a[X+4>>2];a[W+8>>2]=a[X+8>>2];a[W+12>>2]=a[X+12>>2];MX(R,z,U);a[y>>2]=a[R>>2];a[y+4>>2]=a[R+4>>2];a[y+8>>2]=a[R+8>>2];a[y+12>>2]=a[R+12>>2];p=G-c;MX(F,p,U);a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];MX(V,p,Q-w*.3333333333333333);a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];b[B>>3]=G;b[v>>3]=Q;e=o+16|0;if((a[(a[e>>2]|0)+96>>2]|0)!=0?(x=(a[(a[(Id(a[((a[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=a[(a[e>>2]|0)+96>>2]|0,M=+b[(x?e+32|0:e+24|0)>>3],x=a[C>>2]|0,b[e+64>>3]=M*-.5-u+ +b[x+24>>3],b[e+56>>3]=+b[x+16>>3],r[e+81>>0]=1,M>l):0)f=M+f;else f=u;gX(o,a[((a[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,J,7,t);e=d;h=h+1|0}k=H;return}function DX(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=8){e=-1;break}if((a[22044+(i<<2)>>2]|0)==(e|0)){e=i;break}i=i+1|0}i=0;while(1){if((i|0)>=8){i=-1;break}if((a[22044+(i<<2)>>2]|0)==(A|0))break;i=i+1|0}if((i|e|0)<0)i=0;else i=a[22076+(i<<5)+(e<<2)>>2]|0;return i|0}function MX(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function FX(A){A=A|0;var e=0,i=0;if((a[47203]|0)!=0|(a[47202]|0)!=0){e=A+16|0;i=a[(a[e>>2]|0)+100>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?VX(A,1)|0:0){i=Id(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;pR(i,a[(a[e>>2]|0)+100>>2]|0)}i=a[(a[e>>2]|0)+104>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?VX(A,0)|0:0){i=Id(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;pR(i,a[(a[e>>2]|0)+104>>2]|0)}}return}function VX(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+96|0;u=h+32|0;s=h+16|0;w=h;l=A+16|0;do{if((r[(a[l>>2]|0)+112>>0]|0)!=6){i=a[47203]|0;if(!((i|0)!=0?(r[(Uo(A,i)|0)>>0]|0)!=0:0)){i=a[47202]|0;if(!i){i=0;break}if(!(r[(Uo(A,i)|0)>>0]|0)){i=0;break}}e=e<<24>>24==0;o=a[l>>2]|0;o=a[(e?o+104|0:o+100|0)>>2]|0;i=JX(A)|0;if(i){c=a[i>>2]|0;do{if(e){if(a[c+8>>2]|0){i=a[c>>2]|0;t=+b[i>>3];n=+b[c+16>>3];i=i+8|0;f=+b[c+24>>3];break}i=a[c>>2]|0;n=+b[i>>3];f=+b[i+8>>3];i=0;while(1){if((i|0)==4)break;w=u+(i<<4)|0;l=(a[c>>2]|0)+(i<<4)|0;a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];i=i+1|0}mR(s,u,3,.1,0,0);t=+b[s>>3];i=s+8|0}else{e=(a[i+4>>2]|0)+-1|0;l=c+(e*48|0)|0;if(a[c+(e*48|0)+12>>2]|0){u=a[l>>2]|0;i=(a[c+(e*48|0)+4>>2]|0)+-1|0;t=+b[u+(i<<4)>>3];n=+b[c+(e*48|0)+32>>3];i=u+(i<<4)+8|0;f=+b[c+(e*48|0)+40>>3];break}s=a[l>>2]|0;e=c+(e*48|0)+4|0;i=(a[e>>2]|0)+-1|0;n=+b[s+(i<<4)>>3];f=+b[s+(i<<4)+8>>3];i=0;while(1){if((i|0)==4)break;s=u+(i<<4)|0;c=(a[l>>2]|0)+(i+-4+(a[e>>2]|0)<<4)|0;a[s>>2]=a[c>>2];a[s+4>>2]=a[c+4>>2];a[s+8>>2]=a[c+8>>2];a[s+12>>2]=a[c+12>>2];i=i+1|0}mR(w,u,3,.9,0,0);t=+b[w>>3];i=w+8|0}}while(0);d=+X(+(+b[i>>3]-f),+(t-n));d=+oR(A,a[47203]|0,-25.0,-180.0)*.017453292519943295+d;t=+oR(A,a[47202]|0,1.0,0.0)*10.0;b[o+56>>3]=t*+D(+d)+n;b[o+64>>3]=+M(+d)*t+f;r[o+81>>0]=1;i=1}else i=0}else i=0}while(0);k=h;return i|0}function JX(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;e=A;while(1){i=a[e+16>>2]|0;e=a[i+8>>2]|0;if(e|0)break;if(!(r[i+112>>0]|0)){n=5;break}e=a[i+116>>2]|0}if((n|0)==5){n=Vh(a[((a[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;e=Vh(a[((a[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;a[f>>2]=n;a[f+4>>2]=e;ao(1,106579,f)|0;e=0}k=l;return e|0}function NX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0;B=k;k=k+96|0;s=B+80|0;w=B+64|0;u=B+48|0;o=B+32|0;h=B+16|0;d=B;c=f[(a[e+16>>2]|0)+136>>1]|0;e=i+16|0;XX(a[(a[e>>2]|0)+8>>2]|0,o,h);r=+b[o>>3];n=+b[h>>3];v=r-n;l=+b[o+8>>3];t=+b[h+8>>3];g=l-t;A:do{if(g*g+v*v<1.0e-06){a[u>>2]=a[o>>2];a[u+4>>2]=a[o+4>>2];a[u+8>>2]=a[o+8>>2];a[u+12>>2]=a[o+12>>2]}else switch(c&14){case 4:case 10:{b[w>>3]=(n+r)*.5;b[w+8>>3]=(t+l)*.5;h=a[(a[e>>2]|0)+8>>2]|0;a[s>>2]=a[w>>2];a[s+4>>2]=a[w+4>>2];a[s+8>>2]=a[w+8>>2];a[s+12>>2]=a[w+12>>2];DR(d,h,s);a[u>>2]=a[d>>2];a[u+4>>2]=a[d+4>>2];a[u+8>>2]=a[d+8>>2];a[u+12>>2]=a[d+12>>2];break A}default:{RX(u,a[(a[e>>2]|0)+8>>2]|0,o,h);break A}}}while(0);a[A>>2]=a[u>>2];a[A+4>>2]=a[u+4>>2];a[A+8>>2]=a[u+8>>2];a[A+12>>2]=a[u+12>>2];k=B;return}function XX(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=k;k=k+32|0;n=l+16|0;f=l;c=a[A>>2]|0;r=a[c>>2]|0;t=a[c+8>>2]|0;b=c+16|0;a[n>>2]=a[b>>2];a[n+4>>2]=a[b+4>>2];a[n+8>>2]=a[b+8>>2];a[n+12>>2]=a[b+12>>2];c=c+32|0;a[f>>2]=a[c>>2];a[f+4>>2]=a[c+4>>2];a[f+8>>2]=a[c+8>>2];a[f+12>>2]=a[c+12>>2];if(!t){a[e>>2]=a[r>>2];a[e+4>>2]=a[r+4>>2];a[e+8>>2]=a[r+8>>2];a[e+12>>2]=a[r+12>>2]}else{a[e>>2]=a[n>>2];a[e+4>>2]=a[n+4>>2];a[e+8>>2]=a[n+8>>2];a[e+12>>2]=a[n+12>>2]}t=a[A>>2]|0;c=(a[A+4>>2]|0)+-1|0;r=a[t+(c*48|0)>>2]|0;A=a[t+(c*48|0)+4>>2]|0;b=a[t+(c*48|0)+12>>2]|0;e=t+(c*48|0)+16|0;a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];c=t+(c*48|0)+32|0;a[f>>2]=a[c>>2];a[f+4>>2]=a[c+4>>2];a[f+8>>2]=a[c+8>>2];a[f+12>>2]=a[c+12>>2];if(!b){b=r+(A+-1<<4)|0;a[i>>2]=a[b>>2];a[i+4>>2]=a[b+4>>2];a[i+8>>2]=a[b+8>>2];a[i+12>>2]=a[b+12>>2]}else{a[i>>2]=a[f>>2];a[i+4>>2]=a[f+4>>2];a[i+8>>2]=a[f+8>>2];a[i+12>>2]=a[f+12>>2]}k=l;return}function RX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0,d=0,B=0.0;d=a[e+4>>2]|0;n=0.0;f=0;while(1){if((f|0)>=(d|0))break;s=a[e>>2]|0;c=a[s+(f*48|0)>>2]|0;s=a[s+(f*48|0)+4>>2]|0;l=3;t=0;while(1){if((l|0)>=(s|0))break;h=+b[c+(t<<4)>>3]-+b[c+(l<<4)>>3];o=+b[c+(t<<4)+8>>3]-+b[c+(l<<4)+8>>3];l=l+3|0;t=t+3|0;n=+z(+(o*o+h*h))+n}f=f+1|0}s=0;n=n*.5;A:while(1){if((s|0)>=(d|0)){f=15;break}c=a[e>>2]|0;t=a[c+(s*48|0)>>2]|0;c=a[c+(s*48|0)+4>>2]|0;f=3;l=0;while(1){if((f|0)>=(c|0))break;w=+b[t+(l<<4)>>3];o=+b[t+(l<<4)+8>>3];u=+b[t+(f<<4)>>3];k=+b[t+(f<<4)+8>>3];h=w-u;B=o-k;h=+z(+(B*B+h*h));if(h>=n){f=12;break A}f=f+3|0;l=l+3|0;n=n-h}s=s+1|0}if((f|0)==12){b[i>>3]=w;b[i+8>>3]=o;b[r>>3]=u;b[r+8>>3]=k;B=h-n;b[A>>3]=(B*w+u*n)/h;b[A+8>>3]=(B*o+k*n)/h;return}else if((f|0)==15)vA(138712,106514,1316,106641)}function HX(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;FX(e);return}function pX(A,e,i,f,n){A=A|0;e=e|0;i=+i;f=f|0;n=n|0;var l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,k=0,o=0.0,h=0.0,d=0.0,B=0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0.0,L=0.0,W=0,y=0,z=0,Y=0,F=0,V=0,J=0;F=UX(A)|0;Y=a[F+4>>2]|0;V=a[F>>2]|0;z=Y+-1|0;m=+b[V+(z<<6)+16>>3];L=+(Y|0);W=(n|0)==2;y=(f|0)!=0;u=0;t=0.0;l=0.0;s=0.0;w=0.0;while(1){if((u|0)>=(Y|0))break;A=~~+xX(+(u+-1|0),L);Q=u+1|0;J=~~+xX(+(Q|0),L);k=V+(u<<6)|0;w=+b[k>>3];G=V+(u<<6)+8|0;s=+b[G>>3];B=V+(u<<6)+16|0;v=+b[B>>3];g=V+(u<<6)+24|0;E=V+(u<<6)+32|0;C=V+(u<<6)+40|0;I=V+(u<<6)+48|0;Z=V+(u<<6)+56|0;c=+TX(+b[V+(J<<6)+8>>3]-s,+b[V+(J<<6)>>3]-w);h=+TX(+b[V+(A<<6)+8>>3]-s,+b[V+(A<<6)>>3]-w);d=+I5[e&7](v,m,i);A=(u|0)==0;do{if(A|(u|0)==(z|0))if(A){l=c+1.5707963267948966;if(!W){A=0;o=l;t=d;break}A=0;o=l;t=d;s=s-+M(+c)*d;w=w-+D(+c)*d;break}else{l=h+-1.5707963267948966;if(!W){A=0;o=l;t=d;break}A=0;o=l;t=d;s=s-+M(+h)*d;w=w-+D(+h)*d;break}else{o=c-h;o=1.5707963267948966-(o<0.0?o+6.283185307179586:o)*.5;t=+D(+o);t=t==0.0?0.0:d/t;l=c+1.5707963267948966;c=o+l;if(y|t>d*10.0){h=+xX(h+-1.5707963267948966,6.283185307179586);A=1;o=+xX(l,6.283185307179586);t=d;l=h}else{A=0;o=c;l=c}}}while(0);b[k>>3]=w;b[G>>3]=s;b[B>>3]=v;r[g>>0]=108;b[E>>3]=l;b[C>>3]=t;a[I>>2]=A;b[Z>>3]=o;u=Q}k=qF(12)|0;A=0;while(1){if((A|0)>=(Y|0))break;w=+b[V+(A<<6)>>3];s=+b[V+(A<<6)+8>>3];l=+b[V+(A<<6)+32>>3];t=+b[V+(A<<6)+40>>3];J=a[V+(A<<6)+48>>2]|0;c=+b[V+(A<<6)+56>>3];jX(k,+D(+l)*t+w,+M(+l)*t+s);if(J|0)SX(w,s,t,1,l,c,f,k);A=A+1|0}u=(n|0)==1;c=l+3.141592653589793;if(u)PX(k,w,s,t,l,c);else{jX(k,+D(+c)*t+w,+M(+c)*t+s);l=c}A=Y+-2|0;c=w;while(1){if((A|0)<=-1)break;w=+b[V+(A<<6)>>3];s=+b[V+(A<<6)+8>>3];t=+b[V+(A<<6)+40>>3];J=a[V+(A<<6)+48>>2]|0;l=+b[V+(A<<6)+32>>3]+3.141592653589793;c=+b[V+(A<<6)+56>>3]+3.141592653589793;jX(k,+D(+c)*t+w,+M(+c)*t+s);if(J|0)SX(w,s,t,0,l,c,f,k);A=A+-1|0;c=w}if(u)PX(k,c,s,t,l,l+3.141592653589793);OX(F);return k|0}function UX(A){A=A|0;var e=0.0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0;h=k;k=k+144|0;t=h+128|0;l=h+112|0;c=h+96|0;b=h+64|0;s=h;w=h+80|0;u=KX()|0;o=a[A+4>>2]|0;f=a[A>>2]|0;a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];_X(u,t,0.0);n=s+48|0;a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];i=0;e=0.0;A:while(1){r=i+3|0;if((r|0)>=(o|0))break;a[s>>2]=a[n>>2];a[s+4>>2]=a[n+4>>2];a[s+8>>2]=a[n+8>>2];a[s+12>>2]=a[n+12>>2];A=1;while(1){if((A|0)==4)break;d=s+(A<<4)|0;B=f+(A+i<<4)|0;a[d>>2]=a[B>>2];a[d+4>>2]=a[B+4>>2];a[d+8>>2]=a[B+8>>2];a[d+12>>2]=a[B+12>>2];A=A+1|0}a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];A=1;while(1){if((A|0)==21){i=r;continue A}mR(w,s,3,+(A|0)*.05,0,0);a[b>>2]=a[w>>2];a[b+4>>2]=a[w+4>>2];a[b+8>>2]=a[w+8>>2];a[b+12>>2]=a[w+12>>2];a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];a[t>>2]=a[w>>2];a[t+4>>2]=a[w+4>>2];a[t+8>>2]=a[w+8>>2];a[t+12>>2]=a[w+12>>2];v=+qX(l,t)+e;a[t>>2]=a[b>>2];a[t+4>>2]=a[b+4>>2];a[t+8>>2]=a[b+8>>2];a[t+12>>2]=a[b+12>>2];_X(u,t,v);a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];A=A+1|0;e=v}}$X(u);k=h;return u|0}function xX(A,e){A=+A;e=+e;var i=0.0;i=A-+W(+(A/e))*e;return+(!(A<0.0)&!(A>=e)?A:i)}function TX(A,e){A=+A;e=+e;if(!(A==0.0&e==0.0)){A=+X(+A,+e);if(!(A>=0.0))A=A+6.283185307179586}else A=0.0;return+A}function jX(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0;r=a[A>>2]|0;f=A+4|0;if((r|0)<(a[f>>2]|0))f=a[A+8>>2]|0;else{a[f>>2]=2e3;r=A+8|0;f=eV(a[r>>2]|0,32e3)|0;a[r>>2]=f;r=a[A>>2]|0}a[A>>2]=r+1;b[f+(r<<4)>>3]=e;b[f+(r<<4)+8>>3]=i;return}function SX(A,e,i,r,f,a,n,l){A=+A;e=+e;i=+i;r=r|0;f=+f;a=+a;n=n|0;l=l|0;var t=0.0;r=(r|0)==0;t=r?f:a;do{if((n|0)==1){f=(r?a:f)-t;f=!(f<=1.7453292519943296e-03)?f:f+6.283185307179586;if(f<3.141592653589793){PX(l,A,e,i,f+t,t);break}else{jX(l,+D(+t)*i+A,+M(+t)*i+A);break}}else jX(l,+D(+t)*i+A,+M(+t)*i+A)}while(0);return}function PX(A,e,i,r,f,a){A=A|0;e=+e;i=+i;r=+r;f=+f;a=+a;var n=0,l=0.0;jX(A,+D(+f)*r+e,+M(+f)*r+i);A:do{if(!(r==0.0)){while(1){if(!(a>f))break;a=a+-6.283185307179586}a=f-a;while(1){if(!(a>6.283185307179586))break;a=a+-6.283185307179586}a=a*.05263157894736842;n=1;while(1){if((n|0)==20)break A;l=f-a*+(n|0);jX(A,+D(+l)*r+e,+M(+l)*r+i);n=n+1|0}}}while(0);return}function OX(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function KX(){var A=0;A=qF(12)|0;a[A+4>>2]=0;a[A+8>>2]=2e3;a[A>>2]=qF(128e3)|0;return A|0}function _X(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;l=A+4|0;r=a[l>>2]|0;f=A+8|0;n=a[f>>2]|0;if((r|0)<(n|0))A=a[A>>2]|0;else{a[f>>2]=n<<1;r=eV(a[A>>2]|0,n<<7)|0;a[A>>2]=r;A=r;r=a[l>>2]|0}b[A+(r<<6)>>3]=+b[e>>3];b[A+(r<<6)+8>>3]=+b[e+8>>3];a[l>>2]=r+1;b[A+(r<<6)+16>>3]=i;return}function qX(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+ +z(+(r*r+i*i))}function $X(A){A=A|0;var e=0;e=a[A+4>>2]|0;if((a[A+8>>2]|0)>(e|0))a[A>>2]=eV(a[A>>2]|0,e<<6)|0;return}function AR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;c=b+8|0;t=b;n=b+12|0;a[n>>2]=0;l=a[i+4>>2]|0;if(!l)vA(106658,106669,203,106680);r=a[l>>2]|0;if(!r)vA(106694,106669,206,106680);f=l+8|0;if(!(a[f>>2]|0))a[f>>2]=eR(r)|0;if(!0)r=0;else{r=(fF(a[l>>2]|0)|0)==0;r=r?0:n}if(!((Or(e,i,r)|0)<<24>>24))iR(i,r);do{if(r|0){f=a[n>>2]|0;e=a[15712]|0;r=a[l>>2]|0;if(!f){a[c>>2]=r;f3(e,106737,c)|0;break}else{a[t>>2]=r;a[t+4>>2]=f;f3(e,106705,t)|0;break}}}while(0);c=i+32|0;a[A>>2]=a[c>>2];a[A+4>>2]=a[c+4>>2];a[A+8>>2]=a[c+8>>2];a[A+12>>2]=a[c+12>>2];k=b;return}function eR(A){A=A|0;var e=0;e=a[47301]|0;if((e|0)!=0?(N1(e,A)|0)==0:0)A=a[47310]|0;else{L2(e);a[47301]=s3(A)|0;A=i8(189204,22332,35,36,95)|0;a[47310]=A}return A|0}function iR(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0,l=0.0,t=0,c=0.0;t=a[A+4>>2]|0;i=a[t>>2]|0;l=+b[t+16>>3];t=A+32|0;b[t>>3]=0.0;b[A+40>>3]=l*1.2;b[A+16>>3]=0.0;b[A+24>>3]=l*.1;a[A+8>>2]=0;a[A+12>>2]=0;if(T1(i,106771,4)|0)if((T1(i,106776,5)|0)!=0?(T1(i,106782,9)|0)!=0:0){n=4248;i=106792}else{n=8344;i=106828}else{n=6296;i=106809}if(e|0)a[e>>2]=i;i=a[A>>2]|0;if(i|0){f=0.0;while(1){A=r[i>>0]|0;if(!(A<<24>>24))break;c=f+ +b[n+((A&255)<<3)>>3];b[t>>3]=c;i=i+1|0;f=c}b[t>>3]=f*l}return}function rR(A,e){A=A|0;e=e|0;return N1(a[A>>2]|0,a[e>>2]|0)|0}function fR(A){A=A|0;var e=0;e=A+108|0;a[e>>2]=0;a[A+112>>2]=32;a[A+116>>2]=-1;a[A+120>>2]=33;a[A+124>>2]=63;a[A+128>>2]=55;a[A+132>>2]=0;a[A+136>>2]=0;a[A+140>>2]=0;e=jk(e,a[4581]|0)|0;a[A+144>>2]=e;return e|0}function aR(A,e,i){A=A|0;e=e|0;i=i|0;i=W2(1,32)|0;A=a[e>>2]|0;if(A|0)a[i>>2]=s3(A)|0;A=a[e+4>>2]|0;if(A|0)a[i+4>>2]=s3(A)|0;a[i+24>>2]=a[e+24>>2]&127;b[i+16>>3]=+b[e+16>>3];a[i+8>>2]=a[e+8>>2];return i|0}function nR(A,e,i){A=A|0;e=e|0;i=i|0;L2(a[e>>2]|0);L2(a[e+4>>2]|0);L2(e);return}function lR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0,t=0;A=a[e>>2]|0;r=a[i>>2]|0;l=(r|0)==0;if(!A)if(l)t=5;else A=-1;else if(!l){A=A1(A,r)|0;if(!A)t=5}else A=1;do{if((t|0)==5){A=a[e+4>>2]|0;r=a[i+4>>2]|0;l=(r|0)==0;if(!A){if(!l){A=-1;break}}else{if(l){A=1;break}A=A1(A,r)|0;if(A|0)break}A=(a[e+24>>2]&127)-(a[i+24>>2]&127)|0;if(!A){n=+b[e+16>>3];f=+b[i+16>>3];if(nf&1}}}while(0);return A|0}function tR(){le(189244)|0;return}function cR(){var A=0,e=0;e=k;k=k+16|0;A=e;le(A|0)|0;k=e;return+(+((a[A+4>>2]|0)+(a[A>>2]|0)-(a[47311]|0)-(a[47312]|0)|0)*.016666666666666666)}function bR(A){A=A|0;var e=0,i=0;e=qF(16)|0;A=(A|0)>2?A:2;i=qF(A<<2)|0;a[e>>2]=i;a[e+12>>2]=i;a[e+8>>2]=i;a[e+4>>2]=i+(A<<2);return e|0}function sR(A){A=A|0;L2(a[A>>2]|0);L2(A);return}function wR(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=a[i>>2]|0;a[i>>2]=r+4;a[r>>2]=e;if((a[i>>2]|0)>>>0>=(a[A+4>>2]|0)>>>0)a[i>>2]=a[A>>2];return}function uR(A){A=A|0;var e=0,i=0,r=0;i=A+8|0;e=a[i>>2]|0;if((e|0)!=(a[A+12>>2]|0)){r=e+4|0;a[i>>2]=r;e=a[e>>2]|0;if(r>>>0>=(a[A+4>>2]|0)>>>0)a[i>>2]=a[A>>2]}else e=0;return e|0}function kR(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;t=k;k=k+16|0;n=t;if(((e|0)!=0?(l=Uo(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){e=n3(l,n,10)|0;i=(l|0)==(a[n>>2]|0)?i:(e|0)<(f|0)?f:e}k=t;return i|0}function oR(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0.0;t=k;k=k+16|0;n=t;if(((A|0)!=0&(e|0)!=0?(l=Uo(A,e)|0,(l|0)!=0):0)?(r[l>>0]|0)!=0:0){c=+A8(l,n);i=(l|0)==(a[n>>2]|0)?i:c0.0)){e=+oR(A,Yo(A,0,107638,0)|0,-1.0,0.0);e=e==0.0?72.0:e}return+e}function dR(A,e,i){A=A|0;e=e|0;i=i|0;if((A|0)!=0&(e|0)!=0)i=Uo(A,e)|0;return i|0}function BR(A,e,i){A=A|0;e=e|0;i=i|0;A=dR(A,e,i)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)i=A;return i|0}function vR(A,e,i){A=A|0;e=e|0;i=i|0;if(!e)A=i&255;else A=gR(Uo(A,e)|0)|0;return A|0}function gR(A){A=A|0;return ER(A,0)|0}function ER(A,e){A=A|0;e=e|0;var i=0;if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0)if((N1(A,137308)|0)!=0?(N1(A,107649)|0)!=0:0)if((N1(A,107652)|0)!=0?(N1(A,107657)|0)!=0:0){if(((i<<24>>24)+-48|0)>>>0<10)e=(q3(A)|0)&255}else e=1;else e=0;return e|0}function CR(A){A=A|0;var e=0,i=0;while(1){e=(a[A+16>>2]|0)+220|0;i=a[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=a[(a[i+16>>2]|0)+220>>2]|0;if(!A){A=i;continue}a[e>>2]=A}return A|0}function IR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;if((A|0)!=(e|0)){i=a[A+16>>2]|0;r=i+220|0;if(!(a[r>>2]|0)){a[r>>2]=A;a[i+216>>2]=1}else A=CR(A)|0;i=a[e+16>>2]|0;r=i+220|0;if(!(a[r>>2]|0)){a[r>>2]=e;a[i+216>>2]=1}else{i=CR(e)|0;e=i;i=a[i+16>>2]|0}n=A+16|0;r=a[n>>2]|0;f=e+16|0;l=(a[r+120>>2]|0)>(a[i+120>>2]|0);A=l?e:A;a[(l?r:i)+220>>2]=A;r=(a[(l?f:n)>>2]|0)+216|0;a[r>>2]=(a[r>>2]|0)+(a[(a[(l?n:f)>>2]|0)+216>>2]|0)}return A|0}function ZR(A){A=A|0;A=a[A+16>>2]|0;a[A+216>>2]=1;a[A+220>>2]=0;r[A+159>>0]=0;return}function GR(A,e){A=A|0;e=e|0;if((CR(A)|0)==(A|0)){A=a[A+16>>2]|0;a[A+220>>2]=e;e=(a[e+16>>2]|0)+216|0;a[e>>2]=(a[e>>2]|0)+(a[A+216>>2]|0);return}else vA(107669,107661,194,107685)}function QR(A,e){A=A|0;e=e|0;var i=0.0;e=a[(a[e+16>>2]|0)+132>>2]|0;i=+b[e+8>>3]*72.0;b[A>>3]=+b[e>>3]*72.0;b[A+8>>3]=i;return}function mR(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;n=n|0;var l=0,t=0,c=0,s=0.0,w=0,u=0,o=0;u=k;k=k+576|0;w=u;l=0;while(1){if((l|0)>(i|0))break;c=w+(l<<4)|0;t=e+(l<<4)|0;a[c>>2]=a[t>>2];a[c+4>>2]=a[t+4>>2];a[c+8>>2]=a[t+8>>2];a[c+12>>2]=a[t+12>>2];l=l+1|0}s=1.0-r;l=1;while(1){if((l|0)>(i|0))break;t=i-l|0;c=l+-1|0;e=0;while(1){if((e|0)>(t|0))break;o=e+1|0;b[w+(l*96|0)+(e<<4)>>3]=+b[w+(c*96|0)+(o<<4)>>3]*r+ +b[w+(c*96|0)+(e<<4)>>3]*s;b[w+(l*96|0)+(e<<4)+8>>3]=+b[w+(c*96|0)+(o<<4)+8>>3]*r+ +b[w+(c*96|0)+(e<<4)+8>>3]*s;e=o}l=l+1|0}A:do{if(f|0){l=0;while(1){if((l|0)>(i|0))break A;o=f+(l<<4)|0;c=w+(l*96|0)|0;a[o>>2]=a[c>>2];a[o+4>>2]=a[c+4>>2];a[o+8>>2]=a[c+8>>2];a[o+12>>2]=a[c+12>>2];l=l+1|0}}}while(0);A:do{if(n|0){l=0;while(1){if((l|0)>(i|0))break A;o=n+(l<<4)|0;f=w+((i-l|0)*96|0)+(l<<4)|0;a[o>>2]=a[f>>2];a[o+4>>2]=a[f+4>>2];a[o+8>>2]=a[f+8>>2];a[o+12>>2]=a[f+12>>2];l=l+1|0}}}while(0);o=w+(i*96|0)|0;a[A>>2]=a[o>>2];a[A+4>>2]=a[o+4>>2];a[A+8>>2]=a[o+8>>2];a[A+12>>2]=a[o+12>>2];k=u;return}function LR(A){A=A|0;var e=0,i=0,f=0,n=0;i=0;do{e=a[47315]|0;f=e+1024|0;if((e-i|0)<1024){a[47315]=f;f=eV(a[47316]|0,f)|0;a[47316]=f;e=a[47315]|0}else f=a[47316]|0;e=N4(f+i|0,e-i|0,A)|0;if(!e){n=6;break}i=(S2(e)|0)+i|0;e=a[47316]|0}while((r[e+(i+-1)>>0]|0)!=10);if((n|0)==6)e=a[47316]|0;return((i|0)>0?e:0)|0}function WR(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0)if(!0){e=a[47133]|0;i=a[47318]|0;if((a[47317]|0)==(e|0))e=i;else{if(i){L2(a[i>>2]|0);L2(a[47318]|0);a[47318]=0;e=a[47133]|0}a[47317]=e;if(!e)break;if(!(r[e>>0]|0))break;e=yR(e)|0;a[47318]=e}if(!((r[A>>0]|0)!=47&(e|0)!=0))break;A=zR(e,a[47319]|0,A)|0;break}else S();else A=0}while(0);k=f;return A|0}function yR(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;r=0;f=0;n=0;e=s3(A)|0;i=0;while(1){e=t3(e,107984)|0;if(!e)break;A=(n<<2)+8|0;if(!f)A=$F(A)|0;else A=eV(i,A)|0;a[A+(n<<2)>>2]=e;f=S2(e)|0;r=r>>>0>f>>>0?r:f;f=A;n=n+1|0;e=0;i=A}a[f+(n<<2)>>2]=0;a[47319]=r;return f|0}function zR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+16|0;r=n;l=a[47320]|0;a[47320]=y2(l,e+2+(S2(i)|0)|0)|0;while(1){e=a[A>>2]|0;if(!e){A=0;break}l=a[47320]|0;a[r>>2]=e;a[r+4>>2]=107982;a[r+8>>2]=i;P4(l,107975,r)|0;if(!(M3(a[47320]|0,4)|0)){f=4;break}else A=A+4|0}if((f|0)==4)A=a[47320]|0;k=n;return A|0}function YR(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=(A|0)==0;f=0;while(1){l=a[e+(f<<2)>>2]|0;if(!l)break;if((!n?(r[A>>0]|0)==(r[l>>0]|0):0)?(A1(A,l)|0)==0:0)break;f=f+1|0}return a[i+(f<<2)>>2]|0}function DR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0;G=k;k=k+80|0;I=G+16|0;Z=G;g=a[e+4>>2]|0;E=a[e>>2]|0;C=i+8|0;f=0;r=-1;n=1.e+38;e=-1;while(1){if((f|0)>=(g|0))break;B=a[E+(f*48|0)>>2]|0;v=a[E+(f*48|0)+4>>2]|0;d=0;while(1){if((d|0)>=(v|0))break;h=+b[B+(d<<4)>>3]-+b[i>>3];o=+b[B+(d<<4)+8>>3]-+b[C>>3];h=o*o+h*h;Q=(r|0)==-1|h>2]|0;r=r+(((r|0)==((a[E+(e*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;r=r-((r|0)%3|0)|0;e=0;while(1){if((e|0)==4)break;m=e+r|0;b[I+(e<<4)>>3]=+b[f+(m<<4)>>3];b[I+(e<<4)+8>>3]=+b[f+(m<<4)+8>>3];e=e+1|0}h=+b[i>>3];c=+b[I>>3]-h;u=+b[C>>3];o=+b[I+8>>3]-u;t=+b[I+48>>3]-h;w=+b[I+56>>3]-u;e=Z+8|0;n=1.0;l=0.0;t=w*w+t*t;c=o*o+c*c;while(1){o=(n+l)*.5;mR(Z,I,3,o,0,0);s=+b[Z>>3];w=+b[e>>3];if(+y(+(c-t))<1.0)break;if(+y(+(n-l))<1.0e-05)break;m=c>3]=s;b[A+8>>3]=w;k=G;return}function MR(){return 0}function FR(A){A=A|0;var e=0.0,i=0,f=0,n=0,l=0,t=0,c=0,s=0;e=+oR(A,a[47146]|0,.75,.01);n=A+16|0;b[(a[n>>2]|0)+32>>3]=e;e=+oR(A,a[47145]|0,.5,.02);b[(a[n>>2]|0)+40>>3]=e;s=QN(BR(A,a[47147]|0,107986)|0,A)|0;a[(a[n>>2]|0)+8>>2]=s;s=Uo(A,a[47154]|0)|0;e=+oR(A,a[47150]|0,14.0,1.0);i=BR(A,a[47151]|0,107994)|0;f=BR(A,a[47152]|0,137314)|0;l=(tB(s)|0)!=0;c=(sN(A)|0)==2;l=pF(A,s,(c?4:0)|(l?2:0),e,i,f)|0;a[(a[n>>2]|0)+104>>2]=l;l=a[47155]|0;if((l|0?(t=Uo(A,l)|0,t|0):0)?r[t>>0]|0:0){s=(tB(t)|0)!=0;s=pF(A,t,s?2:0,e,i,f)|0;a[(a[n>>2]|0)+108>>2]=s;s=(a[(Id(A)|0)+16>>2]|0)+113|0;r[s>>0]=r[s>>0]|16}c=(kR(A,a[47158]|0,0,0)|0)&255;s=a[n>>2]|0;r[s+144>>0]=c;F5[a[a[(a[s+8>>2]|0)+4>>2]>>2]&127](A);return}function VR(A){A=A|0;var e=0,i=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+112|0;s=E+96|0;w=E+80|0;B=E+40|0;g=E;d=A+48|0;o=Id(a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0)|0;n=s+8|0;a[n>>2]=0;u=w+8|0;a[u>>2]=0;e=a[47182]|0;if(((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){JR(A,s);v=(tB(i)|0)!=0;l=+b[s>>3];f=a[n>>2]|0;e=a[s+12>>2]|0;i=pF(A,i,v?2:0,l,f,e)|0;v=A+16|0;a[(a[v>>2]|0)+96>>2]=i;i=(a[o+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|1;i=gR(dR(A,a[47192]|0,137308)|0)|0;r[(a[v>>2]|0)+114>>0]=i;v=1;i=f}else{v=0;e=0;l=0.0;i=0}f=a[47183]|0;if((f|0?(t=Uo(A,f)|0,t|0):0)?r[t>>0]|0:0){if(!i){JR(A,s);l=+b[s>>3];i=a[n>>2]|0;e=a[s+12>>2]|0}n=(tB(t)|0)!=0;t=pF(A,t,n?2:0,l,i,e)|0;a[(a[A+16>>2]|0)+108>>2]=t;t=(a[o+16>>2]|0)+113|0;r[t>>0]=r[t>>0]|32}e=a[47197]|0;if(((e|0)!=0?(c=Uo(A,e)|0,(c|0)!=0):0)?(r[c>>0]|0)!=0:0){NR(A,s,w);t=(tB(c)|0)!=0;l=+b[w>>3];e=a[u>>2]|0;i=a[w+12>>2]|0;c=pF(A,c,t?2:0,l,e,i)|0;a[(a[A+16>>2]|0)+100>>2]=c;c=(a[o+16>>2]|0)+113|0;r[c>>0]=r[c>>0]|2}else{i=0;l=0.0;e=0}f=a[47198]|0;if((f|0?(h=Uo(A,f)|0,h|0):0)?r[h>>0]|0:0){if(!e){NR(A,s,w);i=a[w+12>>2]|0;l=+b[w>>3];e=a[u>>2]|0}u=(tB(h)|0)!=0;h=pF(A,h,u?2:0,l,e,i)|0;a[(a[A+16>>2]|0)+104>>2]=h;h=(a[o+16>>2]|0)+113|0;r[h>>0]=r[h>>0]|4}e=po(A,111455)|0;e=e|0?e:195059;if(r[e>>0]|0)r[(a[(a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0)+16>>2]|0)+145>>0]=1;n=A+16|0;f=(a[n>>2]|0)+16|0;i=a[((a[A>>2]&3|0)==3?A:d)+40>>2]|0;XR(B,a[(a[(a[(a[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=B;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((RR(A,a[47204]|0)|0)<<24>>24)r[(a[n>>2]|0)+46>>0]=0;e=po(A,111464)|0;e=e|0?e:195059;if(!(r[e>>0]|0))i=A+-48|0;else{i=A+-48|0;r[(a[(a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(a[n>>2]|0)+56|0;i=a[((a[A>>2]&3|0)==2?A:i)+40>>2]|0;XR(g,a[(a[(a[(a[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=g;i=f+40|0;do{a[f>>2]=a[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(i|0));if((RR(A,a[47205]|0)|0)<<24>>24)r[(a[n>>2]|0)+86>>0]=0;k=E;return v|0}function JR(A,e){A=A|0;e=e|0;b[e>>3]=+oR(A,a[47179]|0,14.0,1.0);a[e+8>>2]=BR(A,a[47180]|0,107994)|0;a[e+12>>2]=BR(A,a[47181]|0,137314)|0;return}function NR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+8|0;if(!(a[r>>2]|0))JR(A,e);b[i>>3]=+oR(A,a[47199]|0,+b[e>>3],1.0);a[i+8>>2]=BR(A,a[47200]|0,a[r>>2]|0)|0;a[i+12>>2]=BR(A,a[47201]|0,a[e+12>>2]|0)|0;return}function XR(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+128|0;b=s+80|0;l=s+40|0;n=s;if((f|0)!=0?(c=G1(f,58)|0,(c|0)!=0):0){r[c>>0]=0;t=c+1|0;X5[e&31](l,i,f,t);i=b;n=l;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0));r[c>>0]=58;f=t}else{X5[e&31](n,i,f,0);i=b;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0))}i=A;n=b;e=i+36|0;do{a[i>>2]=a[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(e|0));a[A+36>>2]=f;k=s;return}function RR(A,e){A=A|0;e=e|0;var i=0;if(((e|0)!=0?(i=Uo(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)A=(gR(i)|0)<<24>>24==0&1;else A=0;return A|0}function HR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;c=k;k=k+32|0;l=c;t=a[e+8>>2]|0;i=a[e+4>>2]|0;i=(a[e+44>>2]|0)+((U((i|0)>1?i+-1|0:0,t)|0)<<4)|0;r=l+16|0;a[r>>2]=a[i>>2];a[r+4>>2]=a[i+4>>2];a[r+8>>2]=a[i+8>>2];a[r+12>>2]=a[i+12>>2];a[l>>2]=a[i>>2];a[l+4>>2]=a[i+4>>2];a[l+8>>2]=a[i+8>>2];a[l+12>>2]=a[i+12>>2];f=l+8|0;n=l+24|0;e=1;while(1){if((e|0)>=(t|0))break;s=i+(e<<4)|0;u=+b[s>>3];b[l>>3]=+b[(+b[l>>3]>3];w=+b[s+8>>3];b[f>>3]=+b[(+b[f>>3]>3];b[r>>3]=+b[(+b[r>>3]>u?r:s)>>3];b[n>>3]=+b[(+b[n>>3]>w?r:s)+8>>3];e=e+1|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];a[A+12>>2]=a[l+12>>2];a[A+16>>2]=a[l+16>>2];a[A+20>>2]=a[l+20>>2];a[A+24>>2]=a[l+24>>2];a[A+28>>2]=a[l+28>>2];k=c;return}function pR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=k;k=k+64|0;n=i+32|0;r=i;f=a[A+16>>2]|0;A=f+16|0;f=a[f+116>>2]&1;a[n>>2]=a[A>>2];a[n+4>>2]=a[A+4>>2];a[n+8>>2]=a[A+8>>2];a[n+12>>2]=a[A+12>>2];a[n+16>>2]=a[A+16>>2];a[n+20>>2]=a[A+20>>2];a[n+24>>2]=a[A+24>>2];a[n+28>>2]=a[A+28>>2];UR(r,n,e,f);a[A>>2]=a[r>>2];a[A+4>>2]=a[r+4>>2];a[A+8>>2]=a[r+8>>2];a[A+12>>2]=a[r+12>>2];a[A+16>>2]=a[r+16>>2];a[A+20>>2]=a[r+20>>2];a[A+24>>2]=a[r+24>>2];a[A+28>>2]=a[r+28>>2];k=i;return}function UR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0.0,s=0.0,w=0.0;n=+b[i+56>>3];s=+b[i+64>>3];t=r<<24>>24==0;c=+b[i+24>>3];l=+b[i+32>>3];w=(t?c:l)*.5;f=n-w;n=w+n;if(f<+b[e>>3])b[e>>3]=f;r=e+16|0;if(n>+b[r>>3])b[r>>3]=n;n=(t?l:c)*.5;f=s-n;n=n+s;r=e+8|0;if(f<+b[r>>3])b[r>>3]=f;r=e+24|0;if(n>+b[r>>3])b[r>>3]=n;a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];return}function xR(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0.0,R=0.0,H=0.0;J=k;k=k+448|0;D=J+416|0;v=J+384|0;g=J+304|0;V=J+256|0;Y=J+192|0;m=J+144|0;L=J+96|0;e=J+400|0;i=J+368|0;f=J+352|0;n=J+336|0;E=J+288|0;C=J+224|0;I=J+160|0;Z=J+112|0;G=J+64|0;Q=J+32|0;M=J;F=A+16|0;if((vh(A)|0)==0?(a[(a[F>>2]|0)+180>>2]|0)==0:0){TR(e,0.0,0.0);a[V>>2]=a[e>>2];a[V+4>>2]=a[e+4>>2];a[V+8>>2]=a[e+8>>2];a[V+12>>2]=a[e+12>>2];V=V+16|0;TR(i,0.0,0.0);a[V>>2]=a[i>>2];a[V+4>>2]=a[i+4>>2];a[V+8>>2]=a[i+8>>2];a[V+12>>2]=a[i+12>>2]}else{TR(f,2147483647.0,2147483647.0);a[V>>2]=a[f>>2];a[V+4>>2]=a[f+4>>2];a[V+8>>2]=a[f+8>>2];a[V+12>>2]=a[f+12>>2];z=V+16|0;TR(n,-2147483647.0,-2147483647.0);a[z>>2]=a[n>>2];a[z+4>>2]=a[n+4>>2];a[z+8>>2]=a[n+8>>2];a[z+12>>2]=a[n+12>>2];u=L+8|0;o=g+16|0;W=V+8|0;h=g+8|0;y=V+24|0;d=g+24|0;B=m+8|0;w=cd(A)|0;while(1){if(!w)break;QR(m,w);e=w+16|0;s=a[e>>2]|0;b[L>>3]=(+b[s+96>>3]+ +b[s+88>>3])*.5;b[u>>3]=+b[s+80>>3]*.5;a[v>>2]=a[m>>2];a[v+4>>2]=a[m+4>>2];a[v+8>>2]=a[m+8>>2];a[v+12>>2]=a[m+12>>2];a[D>>2]=a[L>>2];a[D+4>>2]=a[L+4>>2];a[D+8>>2]=a[L+8>>2];a[D+12>>2]=a[L+12>>2];jR(g,v,D);a[v>>2]=a[m>>2];a[v+4>>2]=a[m+4>>2];a[v+8>>2]=a[m+8>>2];a[v+12>>2]=a[m+12>>2];a[D>>2]=a[L>>2];a[D+4>>2]=a[L+4>>2];a[D+8>>2]=a[L+8>>2];a[D+12>>2]=a[L+12>>2];SR(E,v,D);a[o>>2]=a[E>>2];a[o+4>>2]=a[E+4>>2];a[o+8>>2]=a[E+8>>2];a[o+12>>2]=a[E+12>>2];b[V>>3]=+b[(+b[V>>3]<+b[g>>3]?V:g)>>3];b[W>>3]=+b[(+b[W>>3]<+b[h>>3]?V:g)+8>>3];b[z>>3]=+b[(+b[z>>3]>+b[o>>3]?V:g)+16>>3];b[y>>3]=+b[(+b[y>>3]>+b[d>>3]?V:g)+24>>3];e=a[(a[e>>2]|0)+108>>2]|0;if(e|0?r[e+81>>0]|0:0){s=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(C,D,e,s);a[V>>2]=a[C>>2];a[V+4>>2]=a[C+4>>2];a[V+8>>2]=a[C+8>>2];a[V+12>>2]=a[C+12>>2];a[V+16>>2]=a[C+16>>2];a[V+20>>2]=a[C+20>>2];a[V+24>>2]=a[C+24>>2];a[V+28>>2]=a[C+28>>2]}s=Oo(A,w)|0;while(1){if(!s)break;c=s+16|0;e=a[c>>2]|0;t=e+8|0;i=a[t>>2]|0;if(i|0){l=0;while(1){if((l|0)<(a[i+4>>2]|0))n=0;else break;while(1){f=a[i>>2]|0;if((n|0)>=(a[f+(l*48|0)+4>>2]|0))break;i=(a[f+(l*48|0)>>2]|0)+(n<<4)|0;a[m>>2]=a[i>>2];a[m+4>>2]=a[i+4>>2];a[m+8>>2]=a[i+8>>2];a[m+12>>2]=a[i+12>>2];X=+b[m>>3];b[V>>3]=+b[(+b[V>>3]>3];N=+b[B>>3];b[W>>3]=+b[(+b[W>>3]>3];b[z>>3]=+b[(+b[z>>3]>X?z:m)>>3];b[y>>3]=+b[(+b[y>>3]>N?z:m)+8>>3];n=n+1|0;i=a[t>>2]|0}l=l+1|0}i=a[e+96>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(I,D,i,e);a[V>>2]=a[I>>2];a[V+4>>2]=a[I+4>>2];a[V+8>>2]=a[I+8>>2];a[V+12>>2]=a[I+12>>2];a[V+16>>2]=a[I+16>>2];a[V+20>>2]=a[I+20>>2];a[V+24>>2]=a[I+24>>2];a[V+28>>2]=a[I+28>>2];e=a[c>>2]|0}i=a[e+100>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(Z,D,i,e);a[V>>2]=a[Z>>2];a[V+4>>2]=a[Z+4>>2];a[V+8>>2]=a[Z+8>>2];a[V+12>>2]=a[Z+12>>2];a[V+16>>2]=a[Z+16>>2];a[V+20>>2]=a[Z+20>>2];a[V+24>>2]=a[Z+24>>2];a[V+28>>2]=a[Z+28>>2];e=a[c>>2]|0}i=a[e+104>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(G,D,i,e);a[V>>2]=a[G>>2];a[V+4>>2]=a[G+4>>2];a[V+8>>2]=a[G+8>>2];a[V+12>>2]=a[G+12>>2];a[V+16>>2]=a[G+16>>2];a[V+20>>2]=a[G+20>>2];a[V+24>>2]=a[G+24>>2];a[V+28>>2]=a[G+28>>2];e=a[c>>2]|0}e=a[e+108>>2]|0;if(e|0?r[e+81>>0]|0:0){c=a[(a[F>>2]|0)+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(Q,D,e,c);a[V>>2]=a[Q>>2];a[V+4>>2]=a[Q+4>>2];a[V+8>>2]=a[Q+8>>2];a[V+12>>2]=a[Q+12>>2];a[V+16>>2]=a[Q+16>>2];a[V+20>>2]=a[Q+20>>2];a[V+24>>2]=a[Q+24>>2];a[V+28>>2]=a[Q+28>>2]}}s=_o(A,s)|0}w=bd(A,w)|0}e=a[F>>2]|0;f=a[e+180>>2]|0;n=e+184|0;l=Y+8|0;t=Y+16|0;c=Y+24|0;i=1;while(1){if((i|0)>(f|0))break;H=+b[(a[(a[(a[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16>>3];b[Y>>3]=H;L=a[(a[(a[n>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;R=+b[L+24>>3];b[l>>3]=R;N=+b[L+32>>3];b[t>>3]=N;X=+b[L+40>>3];b[c>>3]=X;b[V>>3]=+b[(+b[V>>3]>3];b[W>>3]=+b[(+b[W>>3]>3];b[z>>3]=+b[(+b[z>>3]>N?V:Y)+16>>3];b[y>>3]=+b[(+b[y>>3]>X?V:Y)+24>>3];i=i+1|0}i=a[e+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=a[e+116>>2]&1;a[D>>2]=a[V>>2];a[D+4>>2]=a[V+4>>2];a[D+8>>2]=a[V+8>>2];a[D+12>>2]=a[V+12>>2];a[D+16>>2]=a[V+16>>2];a[D+20>>2]=a[V+20>>2];a[D+24>>2]=a[V+24>>2];a[D+28>>2]=a[V+28>>2];UR(M,D,i,e);a[V>>2]=a[M>>2];a[V+4>>2]=a[M+4>>2];a[V+8>>2]=a[M+8>>2];a[V+12>>2]=a[M+12>>2];a[V+16>>2]=a[M+16>>2];a[V+20>>2]=a[M+20>>2];a[V+24>>2]=a[M+24>>2];a[V+28>>2]=a[M+28>>2];e=a[F>>2]|0}F=e+16|0;a[F>>2]=a[V>>2];a[F+4>>2]=a[V+4>>2];a[F+8>>2]=a[V+8>>2];a[F+12>>2]=a[V+12>>2];a[F+16>>2]=a[V+16>>2];a[F+20>>2]=a[V+20>>2];a[F+24>>2]=a[V+24>>2];a[F+28>>2]=a[V+28>>2]}k=J;return}function TR(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function jR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function SR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function PR(A){A=A|0;if((a[A+60>>2]|0)==(A|0))A=1;else A=(T1(Vh(A)|0,108006,7)|0)==0&1;return A|0}function OR(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;A:do{if(!f)switch(Md(e)|0){case 0:{f=Yo(A,0,i,195059)|0;break A}case 1:{f=Yo(A,1,i,195059)|0;break A}case 2:{f=Yo(A,2,i,195059)|0;break A}default:{f=0;break A}}}while(0);Vo(e,f,r)|0;return f|0}function KR(A){A=A|0;var e=0,i=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+144|0;n=b;t=_R(A)|0;l=jk(23592,a[4581]|0)|0;c=XB(A,108014,1)|0;Td(c,137483,280,1)|0;co(n,128,b+16|0);e=cd(A)|0;while(1){if(!e)break;A:do{if(!(r[(a[e+16>>2]|0)+118>>0]|0)){i=Oo(A,e)|0;while(1){if(!i)break A;qR(i,c,n,l,t);i=_o(A,i)|0}}}while(0);e=bd(A,e)|0}uo(n);pk(l)|0;i=vh(c)|0;e=cd(c)|0;while(1){if(!e)break;l=bd(c,e)|0;Cd(A,e)|0;e=l}Bh(c)|0;if(i|0){c=(a[A+16>>2]|0)+136|0;f[c>>1]=f[c>>1]|1}pk(t)|0;k=b;return i|0}function _R(A){A=A|0;var e=0;e=jk(23628,a[4581]|0)|0;lH(A,e);return e|0}function qR(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+48|0;h=v+32|0;o=v+24|0;B=v+16|0;d=v+8|0;b=v;w=a[A>>2]&3;s=a[((w|0)==3?A:A+48|0)+40>>2]|0;w=a[((w|0)==2?A:A+-48|0)+40>>2]|0;do{if(!(r[(a[w+16>>2]|0)+118>>0]|0)){if(!(Z1(Vh(s)|0,108006,7)|0))u=$R(n,Vh(s)|0)|0;else u=0;if(!(Z1(Vh(w)|0,108006,7)|0))t=$R(n,Vh(w)|0)|0;else t=0;l=(u|0)!=0;c=(t|0)!=0;if(l|c){if((u|0)==(t|0)){d=Vh(s)|0;B=Vh(s)|0;a[b>>2]=d;a[b+4>>2]=B;ao(0,108029,b)|0;break}n=AH(f,A)|0;if(n|0){eH(A,a[n+16>>2]|0,a[n+20>>2]|0)|0;break}if(!c)if(!(Dd(u,w)|0)){rH(f,s,w,eH(A,iH(s,u,i,e)|0,w)|0);break}else{d=Vh(w)|0;B=Vh(u)|0;a[h>>2]=d;a[h+4>>2]=B;ao(0,108184,h)|0;break}if(!l)if(!(Dd(t,s)|0)){rH(f,s,w,eH(A,s,iH(w,t,i,e)|0)|0);break}else{d=Vh(s)|0;B=Vh(t)|0;a[o>>2]=d;a[o+4>>2]=B;ao(0,108147,o)|0;break}if(Dd(t,u)|0){h=Vh(u)|0;B=Vh(t)|0;a[d>>2]=h;a[d+4>>2]=B;ao(0,108067,d)|0;break}if(!(Dd(u,t)|0)){B=iH(s,u,i,e)|0;rH(f,s,w,eH(A,B,iH(w,t,i,e)|0)|0);break}else{h=Vh(t)|0;d=Vh(u)|0;a[B>>2]=h;a[B+4>>2]=d;ao(0,108107,B)|0;break}}}}while(0);k=v;return}function $R(A,e){A=A|0;e=e|0;A=W5[a[A>>2]&63](A,e,512)|0;if(!A)A=0;else A=a[A+12>>2]|0;return A|0}function AH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i;f=a[e>>2]&3;a[r>>2]=a[((f|0)==3?e:e+48|0)+40>>2];a[r+4>>2]=a[((f|0)==2?e:e+-48|0)+40>>2];e=W5[a[A>>2]&63](A,r,512)|0;k=i;return e|0}function eH(A,e,i){A=A|0;e=e|0;i=i|0;i=th(Id(e)|0,e,i,0,1)|0;Td(i,137460,176,1)|0;jo(A,i)|0;return i|0}function iH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;b=k;k=k+112|0;n=b;c=b+4|0;wo(i,108221)|0;t=a[47321]|0;a[47321]=t+1;a[n>>2]=t;P4(c,137395,n)|0;wo(i,c)|0;c=i+4|0;n=a[c>>2]|0;t=i+8|0;if(n>>>0>=(a[t>>2]|0)>>>0){bo(i,1)|0;n=a[c>>2]|0}a[c>>2]=n+1;r[n>>0]=58;wo(i,Vh(e)|0)|0;l=Zd(e)|0;n=a[c>>2]|0;if(n>>>0>=(a[t>>2]|0)>>>0){bo(i,1)|0;n=a[c>>2]|0}r[n>>0]=0;i=a[i>>2]|0;a[c>>2]=i;c=vd(l,i,1)|0;Td(c,137447,304,1)|0;r[(a[c+16>>2]|0)+118>>0]=1;kd(e,c,1)|0;kd(f,A,1)|0;f=Id(c)|0;a[47154]=OR(f,c,108224,195059,a[47154]|0)|0;f=Id(c)|0;a[47157]=OR(f,c,141082,134335,a[47157]|0)|0;f=Id(c)|0;a[47147]=OR(f,c,108230,108236,a[47147]|0)|0;k=b;return c|0}function rH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;f=k;k=k+32|0;n=f;w=n+8|0;a[w>>2]=e;s=n+12|0;a[s>>2]=i;u=a[r>>2]&3;t=r+48|0;c=n+16|0;a[c>>2]=a[((u|0)==3?r:t)+40>>2];b=r+-48|0;l=n+20|0;a[l>>2]=a[((u|0)==2?r:b)+40>>2];W5[a[A>>2]&63](A,n,1)|0;a[w>>2]=i;a[s>>2]=e;i=a[r>>2]&3;a[c>>2]=a[((i|0)==2?r:b)+40>>2];a[l>>2]=a[((i|0)==3?r:t)+40>>2];W5[a[A>>2]&63](A,n,1)|0;k=f;return}function fH(A,e,i){A=A|0;e=e|0;i=i|0;i=qF(24)|0;a[i+8>>2]=a[e+8>>2];a[i+12>>2]=a[e+12>>2];a[i+16>>2]=a[e+16>>2];a[i+20>>2]=a[e+20>>2];return i|0}function aH(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function nH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if(A>>>0>=r>>>0)if(A>>>0>r>>>0)A=1;else{e=a[e+4>>2]|0;i=a[i+4>>2]|0;return(e>>>0>>0?-1:e>>>0>i>>>0&1)|0}else A=-1;return A|0}function lH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+16|0;n=l;f=A+16|0;r=1;while(1){A=a[f>>2]|0;if((r|0)>(a[A+180>>2]|0))break;A=a[(a[A+184>>2]|0)+(r<<2)>>2]|0;i=Vh(A)|0;if(!(W5[a[e>>2]&63](e,i,512)|0)){t=qF(16)|0;a[t+8>>2]=i;a[t+12>>2]=A;W5[a[e>>2]&63](e,t,1)|0}else{a[n>>2]=i;ao(0,108240,n)|0}lH(A,e);r=r+1|0}k=l;return}function tH(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function cH(A){A=A|0;var e=0,i=0,r=0;r=XB(A,108014,1)|0;Td(r,137483,280,1)|0;e=cd(A)|0;while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;bH(i,r);i=_o(A,i)|0}e=bd(A,e)|0}e=cd(r)|0;while(1){if(!e)break;i=bd(r,e)|0;sH(e);Cd(A,e)|0;e=i}Bh(r)|0;return}function bH(A,e){A=A|0;e=e|0;var i=0,f=0;i=a[A>>2]&3;f=a[((i|0)==3?A:A+48|0)+40>>2]|0;i=a[((i|0)==2?A:A+-48|0)+40>>2]|0;if(!((r[(a[f+16>>2]|0)+118>>0]|0)==0?!(r[(a[i+16>>2]|0)+118>>0]|0):0)){f=wH(f,e)|0;i=eH(A,f,wH(i,e)|0)|0;f=a[A+16>>2]|0;e=f+8|0;i=a[i+16>>2]|0;a[i+8>>2]=a[e>>2];a[e>>2]=0;e=f+96|0;a[i+96>>2]=a[e>>2];a[e>>2]=0;e=f+108|0;a[i+108>>2]=a[e>>2];a[e>>2]=0;e=f+100|0;a[i+100>>2]=a[e>>2];a[e>>2]=0;f=f+104|0;a[i+104>>2]=a[f>>2];a[f>>2]=0;uH(A)}return}function sH(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=a[r>>2]|0;i=a[e+132>>2]|0;if(i){L2(i);e=a[r>>2]|0}i=a[e+8>>2]|0;if(i){F5[a[(a[i+4>>2]|0)+4>>2]&127](A);e=a[r>>2]|0}TF(a[e+104>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);Sd(A,137447)|0;return}function wH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=Id(A)|0;A:do{if(r[(a[A+16>>2]|0)+118>>0]|0){kd(e,A,1)|0;A=G1(Vh(A)|0,58)|0;if(!A)vA(111208,107661,1225,108292);e=A+1|0;A=vd(f,e,0)|0;if(!A){A=vd(f,e,1)|0;Td(A,137447,304,1)|0;e=Jo(f,1,0)|0;while(1){if(!e)break A;n=Uo(A,e)|0;i=a[e+12>>2]|0;if((n|0)!=(i|0))Vo(A,e,i)|0;e=Jo(f,1,e)|0}}}}while(0);return A|0}function uH(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+144>>2]|0);kH(A);TF(a[(a[e>>2]|0)+96>>2]|0);TF(a[(a[e>>2]|0)+108>>2]|0);TF(a[(a[e>>2]|0)+100>>2]|0);TF(a[(a[e>>2]|0)+104>>2]|0);Sd(A,137460)|0;return}function kH(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;A=a[r>>2]|0;e=a[A+8>>2]|0;if(e){i=0;while(1){A=a[e>>2]|0;if((i|0)>=(a[e+4>>2]|0))break;L2(a[A+(i*48|0)>>2]|0);i=i+1|0;e=a[(a[r>>2]|0)+8>>2]|0}L2(A);L2(a[(a[r>>2]|0)+8>>2]|0);A=a[r>>2]|0}a[A+8>>2]=0;return}function oH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=Yo(A,e,i,0)|0;if(!f)f=Yo(A,e,i,r)|0;return f|0}function hH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+32|0;t=u;l=u+8|0;c=u+16|0;s=G1(A,59)|0;w=e+4|0;i=a[w>>2]|0;b=e+8|0;if(i>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;i=a[w>>2]|0}a[w>>2]=i+1;r[i>>0]=38;if(((s|0)!=0?(f=s-A|0,(f+-2|0)>>>0<=6):0)?(x4(c,A,f)|0,r[c+f>>0]=0,a[l>>2]=c,n=i8(l,23664,252,8,96)|0,(n|0)!=0):0){a[t>>2]=a[n+4>>2];P4(c,137395,t)|0;A=a[w>>2]|0;if(A>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;A=a[w>>2]|0}a[w>>2]=A+1;r[A>>0]=35;wo(e,c)|0;A=a[w>>2]|0;if(A>>>0>=(a[b>>2]|0)>>>0){bo(e,1)|0;A=a[w>>2]|0}a[w>>2]=A+1;r[A>>0]=59;A=s+1|0}k=u;return A|0}function dH(A,e){A=A|0;e=e|0;return A1(a[A>>2]|0,a[e>>2]|0)|0}function BH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+1072|0;b=h+8|0;c=h;t=h+16|0;u=h+24|0;a[t>>2]=A;if((a[47322]|0)!=(e|0)){a[47322]=e;r[194958]=0}co(u,1024,h+40|0);o=u+4|0;w=u+8|0;while(1){f=A+1|0;a[t>>2]=f;i=r[A>>0]|0;if(!(i<<24>>24))break;do{if((i&255)<192)if(i<<24>>24==38){f=gH(t)|0;if(!f)i=38;else{if(f>>>0<127){i=f&255;break}A=a[o>>2]|0;i=A>>>0>=(a[w>>2]|0)>>>0;if(f>>>0<2047){if(i){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>6|192;i=(f&63|128)&255;break}if(i){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>12|224;A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=f>>>6&63|128;i=(f&63|128)&255}}else{l=0;s=9}else if((i&255)>=224)if((i&255)>=240)if((i&255)<248){l=3;s=9}else{if(!(r[194958]|0)){a[c>>2]=Vh(e)|0;ao(0,109707,c)|0;r[194958]=1}l=-1;i=vH(i,u)|0;s=9}else{l=2;s=9}else{l=1;s=9}}while(0);do{if((s|0)==9){s=0;n=0;while(1){if((n|0)>=(l|0)){s=34;break}if((r[f>>0]&-64)<<24>>24!=-128)break;A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=i;n=n+1|0;i=r[f>>0]|0;f=f+1|0}if((s|0)==34){s=0;a[t>>2]=f;break}a[t>>2]=f;if(!(r[194958]|0)){n=Vh(e)|0;a[b>>2]=l+1;a[b+4>>2]=n;ao(0,109828,b)|0;r[194958]=1}i=vH(i,u)|0}}while(0);A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}a[o>>2]=A+1;r[A>>0]=i;A=a[t>>2]|0}A=a[o>>2]|0;if(A>>>0>=(a[w>>2]|0)>>>0){bo(u,1)|0;A=a[o>>2]|0}r[A>>0]=0;w=a[u>>2]|0;a[o>>2]=w;o=s3(w)|0;uo(u);k=h;return o|0}function vH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;c=k;k=k+16|0;n=c;r[n>>0]=A;r[n+1>>0]=0;n=EH(n)|0;l=e+4|0;t=e+8|0;i=S2(n)|0;f=n;while(1){if((i|0)<=1)break;A=a[l>>2]|0;if(A>>>0>=(a[t>>2]|0)>>>0){bo(e,1)|0;A=a[l>>2]|0}b=r[f>>0]|0;a[l>>2]=A+1;r[A>>0]=b;i=i+-1|0;f=f+1|0}b=r[f>>0]|0;L2(n);k=c;return b|0}function gH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;e=t+8|0;i=a[A>>2]|0;A:do{if((r[i>>0]|0)!=35){a[l>>2]=e;n=0;e:while(1){if((n|0)>=8){e=0;break A}f=r[i+n>>0]|0;switch(f<<24>>24){case 0:{e=0;break A}case 59:break e;default:{}}r[e>>0]=f;e=e+1|0;n=n+1|0}r[e>>0]=0;e=i8(l,23664,252,8,96)|0;if(!e)e=0;else{i=i+(n+1)|0;e=a[e+4>>2]|0}}else{l=r[i+1>>0]|0;e=l&255;e:do{if((l|32)<<24>>24==120){l=0;n=2;while(1){if((n|0)>=8){f=l;break e}f=r[i+n>>0]|0;e=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=l;break e}else f=-87;else f=-55;e=f+e|0;l=e+(l<<4)|0;n=n+1|0}}else{f=0;n=1;while(1){if((n|0)>=8)break e;l=r[i+n>>0]|0;e=l&255;if((l+-48&255)>=10)break e;f=(f*10|0)+-48+e|0;n=n+1|0}}}while(0);e=(e|0)==59;i=e?i+(n+1)|0:i;e=e?f:0}}while(0);a[A>>2]=i;k=t;return e|0}function EH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+1056|0;n=b;t=b+8|0;a[n>>2]=A;co(t,1024,b+24|0);c=t+4|0;l=t+8|0;while(1){a[n>>2]=A+1;e=r[A>>0]|0;if(!(e<<24>>24))break;A=e&255;if(e<<24>>24==38){A=gH(n)|0;if(!A){A=38;f=6}else f=5}else f=5;do{if((f|0)==5){f=0;if(A>>>0<127)f=6;else{e=a[c>>2]|0;i=e>>>0>=(a[l>>2]|0)>>>0;if(A>>>0<2047){if(i){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>6|192;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}A=A&63|128;break}if(i){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>12|224;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}a[c>>2]=e+1;r[e>>0]=A>>>6&63|128;e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}A=A&63|128}}}while(0);if((f|0)==6){e=a[c>>2]|0;if(e>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;e=a[c>>2]|0}}a[c>>2]=e+1;r[e>>0]=A;A=a[n>>2]|0}A=a[c>>2]|0;if(A>>>0>=(a[l>>2]|0)>>>0){bo(t,1)|0;A=a[c>>2]|0}r[A>>0]=0;l=a[t>>2]|0;a[c>>2]=l;c=s3(l)|0;uo(t);k=b;return c|0}function CH(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=k;k=k+1040|0;n=t;co(n,1024,t+16|0);l=n+4|0;f=n+8|0;while(1){e=A+1|0;i=r[A>>0]|0;if(!(i<<24>>24))break;if((i&255)<127){A=a[l>>2]|0;if(A>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;A=a[l>>2]|0}a[l>>2]=A+1;r[A>>0]=i;A=e;continue}else{i=r[e>>0]&63|i<<6&255;e=a[l>>2]|0;if(e>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;e=a[l>>2]|0}a[l>>2]=e+1;r[e>>0]=i;A=A+2|0;continue}}A=a[l>>2]|0;if(A>>>0>=(a[f>>2]|0)>>>0){bo(n,1)|0;A=a[l>>2]|0}r[A>>0]=0;f=a[n>>2]|0;a[l>>2]=f;l=s3(f)|0;uo(n);k=t;return l|0}function IH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;w=k;k=k+80|0;r=w+48|0;i=w+32|0;f=w+64|0;n=w+16|0;l=w;t=e+16|0;c=A+16|0;s=a[c>>2]|0;if(((+b[t>>3]>=+b[s+48>>3]?+b[s+64>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=+b[s+56>>3]:0)?+b[s+72>>3]>=+b[e+8>>3]:0){s=s+16|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];a[r>>2]=a[e>>2];a[r+4>>2]=a[e+4>>2];a[r+8>>2]=a[e+8>>2];a[r+12>>2]=a[e+12>>2];ZH(n,i,r);a[i>>2]=a[s>>2];a[i+4>>2]=a[s+4>>2];a[i+8>>2]=a[s+8>>2];a[i+12>>2]=a[s+12>>2];a[r>>2]=a[n>>2];a[r+4>>2]=a[n+4>>2];a[r+8>>2]=a[n+8>>2];a[r+12>>2]=a[n+12>>2];jR(l,i,r);a[f>>2]=A;a[f+4>>2]=0;i=a[(a[(a[(a[c>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;a[r>>2]=a[l>>2];a[r+4>>2]=a[l+4>>2];a[r+8>>2]=a[l+8>>2];a[r+12>>2]=a[l+12>>2];i=m5[i&127](f,r)|0}else i=0;k=w;return i|0}function ZH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function GH(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;r=k;k=k+80|0;t=r+64|0;c=r+48|0;s=r;w=r+32|0;n=r+16|0;b[s>>3]=+b[A+24>>3]*.5;b[s+8>>3]=+b[A+32>>3]*.5;A=A+56|0;a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];jR(w,c,t);l=+b[w>>3];f=+b[w+8>>3];a[c>>2]=a[A>>2];a[c+4>>2]=a[A+4>>2];a[c+8>>2]=a[A+8>>2];a[c+12>>2]=a[A+12>>2];a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];SR(n,c,t);i=+b[n+8>>3];if((+b[e+16>>3]>=l?+b[n>>3]>=+b[e>>3]:0)?+b[e+24>>3]>=f:0)A=i>=+b[e+8>>3]&1;else A=0;k=r;return A|0}function QH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+80|0;b=w+48|0;c=w;l=A+16|0;A=a[l>>2]|0;t=a[A+8>>2]|0;A:do{if((t|0)!=0?(n=t+8|0,a[c>>2]=a[n>>2],a[c+4>>2]=a[n+4>>2],a[c+8>>2]=a[n+8>>2],a[c+12>>2]=a[n+12>>2],a[c+16>>2]=a[n+16>>2],a[c+20>>2]=a[n+20>>2],a[c+24>>2]=a[n+24>>2],a[c+28>>2]=a[n+28>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(mH(c,b)|0)!=0):0){i=t+4|0;A=0;while(1){if((A|0)>=(a[i>>2]|0))break;r=c;f=(a[t>>2]|0)+(A*48|0)|0;n=r+48|0;do{a[r>>2]=a[f>>2];r=r+4|0;f=f+4|0}while((r|0)<(n|0));a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[b+16>>2]=a[e+16>>2];a[b+20>>2]=a[e+20>>2];a[b+24>>2]=a[e+24>>2];a[b+28>>2]=a[e+28>>2];if(!((LH(c,b)|0)<<24>>24))A=A+1|0;else{A=1;break A}}A=a[l>>2]|0;s=7}else s=7}while(0);do{if((s|0)==7){A=a[A+96>>2]|0;if(A|0?(a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(GH(A,b)|0)<<24>>24):0){A=1;break}A=0}}while(0);k=w;return A|0}function mH(A,e){A=A|0;e=e|0;if((+b[A+16>>3]>=+b[e>>3]?+b[e+16>>3]>=+b[A>>3]:0)?+b[A+24>>3]>=+b[e+8>>3]:0)A=+b[e+24>>3]>=+b[A+8>>3]&1;else A=0;return A|0}function LH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+96|0;b=w+64|0;c=w+48|0;t=w+32|0;f=w+16|0;n=w;s=A+4|0;i=a[s>>2]|0;if(!i)vA(109937,107661,1637,109945);r=a[A>>2]|0;a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];a[n+8>>2]=a[r+8>>2];a[n+12>>2]=a[r+12>>2];r=1;while(1){if((r|0)>=(i|0)){l=7;break}i=(a[A>>2]|0)+(r<<4)|0;a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];a[t>>2]=a[i>>2];a[t+4>>2]=a[i+4>>2];a[t+8>>2]=a[i+8>>2];a[t+12>>2]=a[i+12>>2];a[c>>2]=a[n>>2];a[c+4>>2]=a[n+4>>2];a[c+8>>2]=a[n+8>>2];a[c+12>>2]=a[n+12>>2];a[b>>2]=a[e>>2];a[b+4>>2]=a[e+4>>2];a[b+8>>2]=a[e+8>>2];a[b+12>>2]=a[e+12>>2];a[b+16>>2]=a[e+16>>2];a[b+20>>2]=a[e+20>>2];a[b+24>>2]=a[e+24>>2];a[b+28>>2]=a[e+28>>2];if((GF(t,c,b)|0)!=-1){i=1;break}a[n>>2]=a[f>>2];a[n+4>>2]=a[f+4>>2];a[n+8>>2]=a[f+8>>2];a[n+12>>2]=a[f+12>>2];r=r+1|0;i=a[s>>2]|0}do{if((l|0)==7){i=a[A+8>>2]|0;if(i|0?(n=A+16|0,l=a[A>>2]|0,a[t>>2]=a[n>>2],a[t+4>>2]=a[n+4>>2],a[t+8>>2]=a[n+8>>2],a[t+12>>2]=a[n+12>>2],a[c>>2]=a[l>>2],a[c+4>>2]=a[l+4>>2],a[c+8>>2]=a[l+8>>2],a[c+12>>2]=a[l+12>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(WH(t,c,i,b)|0)<<24>>24):0){i=1;break}i=a[A+12>>2]|0;if(i|0?(l=A+32|0,s=(a[A>>2]|0)+((a[s>>2]|0)+-1<<4)|0,a[t>>2]=a[l>>2],a[t+4>>2]=a[l+4>>2],a[t+8>>2]=a[l+8>>2],a[t+12>>2]=a[l+12>>2],a[c>>2]=a[s>>2],a[c+4>>2]=a[s+4>>2],a[c+8>>2]=a[s+8>>2],a[c+12>>2]=a[s+12>>2],a[b>>2]=a[e>>2],a[b+4>>2]=a[e+4>>2],a[b+8>>2]=a[e+8>>2],a[b+12>>2]=a[e+12>>2],a[b+16>>2]=a[e+16>>2],a[b+20>>2]=a[e+20>>2],a[b+24>>2]=a[e+24>>2],a[b+28>>2]=a[e+28>>2],(WH(t,c,i,b)|0)<<24>>24):0){i=1;break}i=0}}while(0);k=w;return i|0}function WH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;s=k;k=k+160|0;n=s+144|0;f=s+128|0;w=s+96|0;l=s+64|0;t=s+32|0;c=s;u=+b[r+16>>3];a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];KC(w,f,n,1.0,i);if(((u>=+b[w>>3]?(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(l,f,n,1.0,i),+b[l+16>>3]>=+b[r>>3]):0)?(u=+b[r+24>>3],a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(t,f,n,1.0,i),u>=+b[t+8>>3]):0)?(a[f>>2]=a[A>>2],a[f+4>>2]=a[A+4>>2],a[f+8>>2]=a[A+8>>2],a[f+12>>2]=a[A+12>>2],a[n>>2]=a[e>>2],a[n+4>>2]=a[e+4>>2],a[n+8>>2]=a[e+8>>2],a[n+12>>2]=a[e+12>>2],KC(c,f,n,1.0,i),+b[c+24>>3]>=+b[r+8>>3]):0)f=1;else f=0;k=s;return f|0}function yH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;n=k;k=k+16|0;f=n;A:do{if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0){do{switch(i<<24>>24|0){case 48:{e=2;break A}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{e=10;break A}case 67:case 99:{i=A+1|0;if(!(N1(i,109960)|0)){e=4;break A}if(!(N1(i,109966)|0)){e=12;break A}break}case 70:case 102:{if(!(N1(A+1|0,109974)|0)){e=2;break A}break}case 76:case 108:{if(!(N1(A+1|0,109979)|0)){e=2;break A}break}case 78:case 110:{i=A+1|0;if(!(N1(i,109983)|0)){e=0;break A}if(!(N1(i,109987)|0)){e=2;break A}break}case 79:case 111:{if(!(N1(A+1|0,109989)|0)){e=8;break A}break}case 80:case 112:{if(!(N1(A+1|0,109994)|0)){e=6;break A}break}case 83:case 115:{if(!(N1(A+1|0,110002)|0)){e=10;break A}break}case 84:case 116:{if(!(N1(A+1|0,110008)|0)){e=10;break A}break}case 89:case 121:{if(!(N1(A+1|0,110012)|0)){e=10;break A}break}default:{}}}while(0);a[f>>2]=A;ao(0,110015,f)|0}}while(0);k=n;return e|0}function zH(A,e){A=A|0;e=e|0;var i=0;i=po(A,110056)|0;if(i)if(!(r[i>>0]|0))e=0;else e=yH(i,e)|0;A=(a[A+16>>2]|0)+136|0;f[A>>1]=e|l[A>>1];return}function YH(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0.0,o=0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0;E=k;k=k+32|0;o=E+16|0;d=E;v=f&1;g=f&2;A:do{if((i|0)==2){B=+b[A+16>>3];a=+b[A>>3];t=+b[A+24>>3];l=+b[A+8>>3];a=a-(B-a);b[o>>3]=a;b[d>>3]=B;l=l-(t-l);b[o+8>>3]=l;b[d+8>>3]=t}else{n=+b[A>>3];b[d>>3]=n;b[o>>3]=n;t=+b[A+8>>3];s=d+8|0;b[s>>3]=t;w=o+8|0;b[w>>3]=t;f=0;a=n;l=t;while(1){if((f|0)>=(i|0)){B=n;break A}C=A+(f<<4)|0;h=+b[C>>3];c=+b[(h>3];b[o>>3]=c;B=+b[A+(f<<4)+8>>3];u=+b[(B>3];b[w>>3]=u;h=+b[(h>n?C:d)>>3];b[d>>3]=h;B=+b[(B>t?C:d)+8>>3];b[s>>3]=B;f=f+1|0;a=c;l=u;n=h;t=B}}}while(0);n=(B-a)*.5;h=n+a;u=(t-l)*.5;c=u+l;if(!v){a=t-c;t=r;l=+M(+t);t=+D(+t);if(!g){n=l*a-c;a=-c-u*l}else{a=l*a;n=c-a;a=a+c}b[e+8>>3]=n;b[e+24>>3]=a;r=t*(B-h);b[e>>3]=h-r;b[e+16>>3]=r+h}else{r=+z(+(u*u+n*n));b[e+8>>3]=g|0?c:-c;b[e>>3]=h;b[e+16>>3]=r*.25;b[e+24>>3]=r}k=E;return}function DH(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;r=A+16|0;f=a[r>>2]|0;if(!(e<<24>>24)){i=+b[f+32>>3]*36.0;b[f+88>>3]=i;A=f+40|0}else{i=+b[f+40>>3]*36.0;b[f+88>>3]=i;A=f+32|0}b[f+96>>3]=i;b[(a[r>>2]|0)+80>>3]=+b[A>>3]*72.0;return}function MH(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+32|0;c=w+8|0;f=w+4|0;n=w;i=a[e>>2]&3;r=a[((i|0)==3?e:e+48|0)+40>>2]|0;b=(a[(a[r+16>>2]|0)+232>>2]|0)+-1|0;A=a[(a[A+16>>2]|0)+196>>2]|0;l=a[A+(b<<6)+4>>2]|0;A=a[A+(b<<6)>>2]|0;b=c+8|0;a[b>>2]=-1;a[c>>2]=-1;s=c+12|0;a[s>>2]=A;t=c+4|0;a[t>>2]=A;VH(r,a[((i|0)==2?e:e+-48|0)+40>>2]|0,f,n);f=a[f>>2]|0;n=a[n>>2]|0;i=0;r=A;e=-1;while(1){if((i|0)>=(r|0))break;r=r+-1|0;JH(a[l+(i<<2)>>2]|0,c,f,n);if((i|0)!=(r|0))JH(a[l+(r<<2)>>2]|0,c,f,n);A=a[t>>2]|0;e=a[c>>2]|0;if((A-e|0)<2)break;else i=i+1|0}if((e|0)>(A|0))A=(a[s>>2]|0)+(a[b>>2]|0)|0;else A=A+e|0;k=w;return(A+1|0)/2|0|0}function FH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;n=A+16|0;f=a[(a[n>>2]|0)+196>>2]|0;r=f+(e<<6)|0;f=a[f+(e<<6)+4>>2]|0;if(!f)f=$F((a[r>>2]<<2)+8|0)|0;else f=eV(f,(a[r>>2]<<2)+8|0)|0;r=a[(a[n>>2]|0)+196>>2]|0;a[r+(e<<6)+4>>2]=f;r=a[r+(e<<6)>>2]|0;while(1){if((r|0)<=(i|0))break;l=r+-1|0;t=a[f+(l<<2)>>2]|0;a[f+(r<<2)>>2]=t;t=(a[t+16>>2]|0)+236|0;a[t>>2]=(a[t>>2]|0)+1;r=l}l=YW(A)|0;t=f+(i<<2)|0;a[t>>2]=l;l=a[l+16>>2]|0;a[l+236>>2]=i;a[l+232>>2]=e;n=(a[(a[n>>2]|0)+196>>2]|0)+(e<<6)|0;l=(a[n>>2]|0)+1|0;a[n>>2]=l;a[f+(l<<2)>>2]=0;return a[t>>2]|0}function VH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A=a[(a[A+16>>2]|0)+236>>2]|0;e=a[(a[e+16>>2]|0)+236>>2]|0;f=(A|0)>(e|0);a[i>>2]=f?e:A;a[r>>2]=f?A:e;return}function JH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;l=s+4|0;n=s;A=a[A+16>>2]|0;do{if((r[A+156>>0]|0)==1){b=a[A+236>>2]|0;if(a[A+176>>2]|0){t=a[A+180>>2]|0;A=0;n=0;l=0;while(1){c=a[t+(l<<2)>>2]|0;if(!c)break;w=a[(a[(a[((a[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=(w|0)>(i|0);A=c?(w|0)<(f|0)?A:1:A;n=c?n:1;l=l+1|0}if(n<<24>>24!=0&A<<24>>24==0){a[e>>2]=b+1;break}if(!(n<<24>>24==0&A<<24>>24!=0))break;a[e+4>>2]=b+-1;break}if((a[A+184>>2]|0)!=2)vA(88397,88417,63,88424);t=a[A+180>>2]|0;w=a[t>>2]|0;t=a[t+4>>2]|0;VH(a[((a[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0,a[((a[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0,l,n);t=a[n>>2]|0;if((t|0)<=(i|0)){a[e>>2]=b;a[e+8>>2]=b;break}A=a[l>>2]|0;if((A|0)>=(f|0)){a[e+4>>2]=b;a[e+12>>2]=b;break}n=(A|0)<(i|0);l=(t|0)>(f|0);if(!(l&n)){if(!(!n?!((t|0)<(f|0)&(A|0)==(i|0)):0))a[e+8>>2]=b;if(!l?!((t|0)==(f|0)&(A|0)>(i|0)):0)break;a[e+12>>2]=b}}}while(0);k=s;return}function NH(A){A=A|0;a[47134]=1;fp(A);a[47134]=0;return}function XH(A){A=A|0;a[47134]=2;fp(A);a[47134]=0;return}function RH(A){A=A|0;var e=0;Td(A,137447,304,1)|0;FR(A);e=qF((l[(a[(Id(A)|0)+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[A+16>>2]|0)+132>>2]=e;DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);return}function HH(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0;B=k;k=k+64|0;t=B+48|0;u=B+40|0;c=B+24|0;l=B+8|0;h=B+56|0;s=B;do{if((A|0)!=0?(d=i+16|0,o=a[(a[d>>2]|0)+132>>2]|0,n=Uo(i,A)|0,(r[n>>0]|0)!=0):0){r[h>>0]=0;A=o+8|0;if((a[47137]|0)>2?(a[l>>2]=o,a[l+4>>2]=A,a[l+8>>2]=o+16,a[l+12>>2]=h,(J3(n,88535,l)|0)>2):0){r[(a[d>>2]|0)+119>>0]=1;n=a[47137]|0;A:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)>=(n|0))break A;u=o+(A<<3)|0;b[u>>3]=+b[u>>3]/+b[23293];A=A+1|0}}}while(0);if((n|0)>3)vU(i,f,3);if((r[h>>0]|0)!=33){if(!e){A=1;break}if(!((gR(Uo(i,e)|0)|0)<<24>>24)){A=1;break}}r[(a[d>>2]|0)+119>>0]=3;A=1;break}a[c>>2]=o;a[c+4>>2]=A;a[c+8>>2]=h;if((J3(n,101749,c)|0)<=1){a[t>>2]=Vh(i)|0;a[t+4>>2]=n;ao(1,88549,t)|0;A=0;break}r[(a[d>>2]|0)+119>>0]=1;n=a[47137]|0;A:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)>=(n|0))break A;c=o+(A<<3)|0;b[c>>3]=+b[c>>3]/+b[23293];A=A+1|0}}}while(0);do{if((n|0)>2){A=a[47171]|0;if((A|0?(w=Uo(i,A)|0,w|0):0)?(a[u>>2]=s,(J3(w,101209,u)|0)==1):0){g=+b[23293];v=+b[s>>3];b[o+16>>3]=g>0.0?v/g:v;vU(i,f,3);break}gU(i,f)}}while(0);if((r[h>>0]|0)!=33){if(!e){A=1;break}if(!((gR(Uo(i,e)|0)|0)<<24>>24)){A=1;break}}r[(a[d>>2]|0)+119>>0]=3;A=1}else A=0}while(0);k=B;return A|0}function pH(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}UH(A);return}function UH(A){A=A|0;if((a[47134]|0)!=0|(a[46795]|0)<0)dU(A);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function xH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;s=h+32|0;u=h;c=Yo(A,0,102637,0)|0;i=Yo(A,0,102671,0)|0;o=(ER(po(A,88593)|0,0)|0)<<24>>24!=0;if(!i)i=Yo(A,0,102671,195059)|0;hU(A)|0;w=A+16|0;l=0;while(1){t=a[(a[(a[w>>2]|0)+152>>2]|0)+(l<<2)>>2]|0;if(!t){f=12;break}n=t+16|0;f=a[n>>2]|0;if(!(r[f+119>>0]|0)){if(Z1(Vh(t)|0,108006,7)|0){f=8;break}f=a[n>>2]|0}f=a[f+108>>2]|0;if(f|0)TH(t,f,102633);l=l+1|0}A:do{if((f|0)==8){o=Vh(t)|0;i=Vh(A)|0;a[s>>2]=o;a[s+4>>2]=i;ao(1,88605,s)|0;i=-1}else if((f|0)==12){jH(A,c,i);t=SH(A)|0;i=a[(a[w>>2]|0)+8>>2]|0;if(!(a[i+88>>2]|0))i=0;else{a[i+84>>2]=0;i=1}n=(e|0)!=0;l=(i|0)!=0;if(!(l|n&(a[47134]|0)==1^1)?(eS(A)|0)!=0:0){f=a[(a[w>>2]|0)+12>>2]|0;if(!f)f=1;else{r[f+81>>0]=0;f=1}}else f=0;xR(A);if(l){e=(a[w>>2]|0)+16|0;uI(u,A);a[e>>2]=a[u>>2];a[e+4>>2]=a[u+4>>2];a[e+8>>2]=a[u+8>>2];a[e+12>>2]=a[u+12>>2];a[e+16>>2]=a[u+16>>2];a[e+20>>2]=a[u+20>>2];a[e+24>>2]=a[u+24>>2];a[e+28>>2]=a[u+28>>2]}if(!n){a[47138]=1;f=cd(A)|0;while(1){if(!f)break A;o=a[f+16>>2]|0;u=a[o+132>>2]|0;b[o+16>>3]=+b[u>>3]*72.0;b[o+24>>3]=+b[u+8>>3]*72.0;f=bd(A,f)|0}}do{if(!(o|l)){o=a[w>>2]|0;if(!(+b[o+16>>3]!=0.0)?!(+b[o+24>>3]!=0.0):0)break;Up(A)}}while(0);if(!((t|0)!=0&(f|(Hp(A)|0)<<24>>24!=0))){if((t|0)==2){a[47138]=1;break}}else PH(A);Rp(A,0)}}while(0);k=h;return i|0}function TH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;c=k;k=k+48|0;t=c+32|0;f=c+24|0;n=c+16|0;l=c;A=po(A,i)|0;if(A|0?(a[t>>2]=f,a[t+4>>2]=n,(J3(A,105503,t)|0)==2):0){t=e+56|0;_H(l,+b[f>>3],+b[n>>3]);a[t>>2]=a[l>>2];a[t+4>>2]=a[l+4>>2];a[t+8>>2]=a[l+8>>2];a[t+12>>2]=a[l+12>>2];r[e+81>>0]=1}k=c;return}function jH(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;s=k;k=k+48|0;c=s+32|0;f=s+24|0;n=s+16|0;l=s;t=A+16|0;if((e|0?(a[(a[t>>2]|0)+12>>2]|0)!=0:0)?(w=Uo(A,e)|0,a[c>>2]=f,a[c+4>>2]=n,(J3(w,105503,c)|0)==2):0){w=(a[(a[t>>2]|0)+12>>2]|0)+56|0;_H(l,+b[f>>3],+b[n>>3]);a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[w+8>>2]=a[l+8>>2];a[w+12>>2]=a[l+12>>2];r[(a[(a[t>>2]|0)+12>>2]|0)+81>>0]=1}A:do{if(i|0){f=RB(A)|0;while(1){if(!f)break A;qH(f,A,e,i);f=HB(f)|0}}}while(0);k=s;return}function SH(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(gh(A)|0){f=Yo(A,2,102623,0)|0;if(!((f|0)==0|(a[47134]|0)<2)){e=0;r=cd(A)|0;while(1){if(!r)break;i=Oo(A,r)|0;while(1){if(!i)break;n=e+((OH(f,i)|0)!=0&1)|0;i=_o(A,i)|0;e=n}r=bd(A,r)|0}if(e){e=(e|0)==(gh(A)|0);e=e?2:1}else e=0}else e=0}else e=2;return e|0}function PH(A){A=A|0;var e=0,i=0,r=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;kH(e);r=e+16|0;TF(a[(a[r>>2]|0)+96>>2]|0);TF(a[(a[r>>2]|0)+108>>2]|0);TF(a[(a[r>>2]|0)+100>>2]|0);TF(a[(a[r>>2]|0)+104>>2]|0);e=_o(A,e)|0}i=bd(A,i)|0}return}function OH(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0;m=k;k=k+96|0;G=m+72|0;I=m+56|0;Q=m+48|0;Z=m+32|0;C=m+16|0;d=m+88|0;B=m+8|0;v=m;g=m+84|0;E=m+80|0;A=Uo(e,A)|0;do{if(r[A>>0]|0){DC(e,g,E);h=1;f=0;i=0;t=0.0;l=0.0;c=0.0;n=0.0;A:while(1){a[C>>2]=B;a[C+4>>2]=v;a[C+8>>2]=d;if((J3(A,88642,C)|0)==2){o=1;A=A+(a[d>>2]|0)|0;l=+b[B>>3];n=+b[v>>3]}else o=i;a[Z>>2]=B;a[Z+4>>2]=v;a[Z+8>>2]=d;if((J3(A,88654,Z)|0)==2){u=1;A=A+(a[d>>2]|0)|0;t=+b[B>>3];c=+b[v>>3]}else u=f;s=KH(A)|0;if(!((s|0)>3&((s|0)%3|0|0)==1)){i=8;break}w=$F(s<<4)|0;i=w;f=s;while(1){if(!f)break;a[I>>2]=B;a[I+4>>2]=v;a[I+8>>2]=d;if((J3(A,88724,I)|0)<2){i=13;break A}L=A+(a[d>>2]|0)|0;b[i>>3]=+b[B>>3];b[i+8>>3]=+b[v>>3];i=i+16|0;f=f+-1|0;A=L}while(1){i=r[A>>0]|0;f=A+1|0;if(!(Q1(i<<24>>24)|0))break;else A=f}L=i<<24>>24==0;A=L?A:f;h=L?0:h;f=vX(e,s)|0;if(o|0){a[f+8>>2]=a[g>>2];b[f+16>>3]=l;b[f+24>>3]=n}if(u|0){a[f+12>>2]=a[E>>2];b[f+32>>3]=t;b[f+40>>3]=c}i=0;while(1){if((i|0)>=(s|0))break;L=(a[f>>2]|0)+(i<<4)|0;W=w+(i<<4)|0;a[L>>2]=a[W>>2];a[L+4>>2]=a[W+4>>2];a[L+8>>2]=a[W+8>>2];a[L+12>>2]=a[W+12>>2];i=i+1|0}L2(w);if(!h){i=26;break}else{f=u;i=o}}if((i|0)==8){kH(e);if(r[193771]|0){A=0;break}r[193771]=1;W=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;A=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[Q>>2]=W;a[Q+4>>2]=A;ao(0,88667,Q)|0;A=0;break}else if((i|0)==13){if(!(r[193771]|0)){r[193771]=1;L=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;W=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[G>>2]=L;a[G+4>>2]=W;ao(0,88734,G)|0}L2(w);kH(e);A=0;break}else if((i|0)==26){f=e+16|0;A=a[f>>2]|0;i=a[A+96>>2]|0;if(i){TH(e,i,102637);A=a[f>>2]|0}i=a[A+108>>2]|0;if(i){TH(e,i,102633);A=a[f>>2]|0}i=a[A+100>>2]|0;if(i){TH(e,i,102640);A=a[f>>2]|0}A=a[A+104>>2]|0;if(!A){A=1;break}TH(e,A,102648);A=1;break}}else A=0}while(0);k=m;return A|0}function KH(A){A=A|0;var e=0,i=0;i=0;do{while(1){e=r[A>>0]|0;if(!(Q1(e&255)|0))break;else A=A+1|0}A:do{if(!(e<<24>>24))e=0;else{i=i+1|0;while(1){if(!(e<<24>>24)){e=0;break A}if(e<<24>>24==59|(Q1(e&255)|0)!=0)break A;e=A+1|0;A=e;e=r[e>>0]|0}}}while(0)}while((Q1(e&255)|0)!=0);return i|0}function _H(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function qH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;l=k;k=k+32|0;f=l;if((Z1(Vh(A)|0,108006,7)|0)==0?($H(A,r,f)|0)!=0:0){Td(A,137483,280,1)|0;t=(a[A+16>>2]|0)+16|0;a[t>>2]=a[f>>2];a[t+4>>2]=a[f+4>>2];a[t+8>>2]=a[f+8>>2];a[t+12>>2]=a[f+12>>2];a[t+16>>2]=a[f+16>>2];a[t+20>>2]=a[f+20>>2];a[t+24>>2]=a[f+24>>2];a[t+28>>2]=a[f+28>>2];Ap(e,A);jH(A,i,r)}else n=4;A:do{if((n|0)==4){A=RB(A)|0;while(1){if(!A)break A;qH(A,e,i,r);A=HB(A)|0}}}while(0);k=l;return}function $H(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0;l=k;k=k+48|0;t=l+32|0;n=l;c=Uo(A,e)|0;A=n+8|0;e=n+24|0;a[t>>2]=n;a[t+4>>2]=A;a[t+8>>2]=n+16;a[t+12>>2]=e;if((J3(c,88782,t)|0)==4){r=+b[A>>3];f=+b[e>>3];if(r>f){b[A>>3]=f;b[e>>3]=r}a[i>>2]=a[n>>2];a[i+4>>2]=a[n+4>>2];a[i+8>>2]=a[n+8>>2];a[i+12>>2]=a[n+12>>2];a[i+16>>2]=a[n+16>>2];a[i+20>>2]=a[n+20>>2];a[i+24>>2]=a[n+24>>2];a[i+28>>2]=a[n+28>>2];A=1}else A=0;k=l;return A|0}function Ap(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+16|0;i=a[r>>2]|0;n=i+180|0;A=a[n>>2]|0;f=A+1|0;a[n>>2]=f;i=a[i+184>>2]|0;if(!i)A=qF((A<<2)+8|0)|0;else A=AV(i,A+2|0,4,f)|0;a[(a[r>>2]|0)+184>>2]=A;a[A+(f<<2)>>2]=e;JF(e);return}function ep(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+48|0;s=w+8|0;b=w;t=w+16|0;c=w+12|0;l=po(A,88798)|0;do{if((l|0)!=0?(f=r[l>>0]|0,f<<24>>24!=0):0){f=f&255;if(!(J1(f)|0))if((e|0)==2|(f+-48|0)>>>0<10)e=l;else break;else{if(!(Z1(l,88804,4)|0)){e=0;break}if(!(Z1(l,105511,7)|0)){e=1;break}if(Z1(l,88809,6)|0)if((e|0)==2)e=l;else break;else e=l+6|0}if(!(((n[e>>0]|0)+-48|0)>>>0<10?(a[b>>2]=c,(J3(e,99933,b)|0)>=1):0)){b=z3()|0;b=(ne(0)|0)^b;a[c>>2]=b;a[s>>2]=b;P4(t,99933,s)|0;xo(A,88798,t)|0}a[i>>2]=a[c>>2];e=2}}while(0);k=w;return e|0}function ip(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=k;k=k+16|0;r=f+4|0;a[r>>2]=1;i=ep(A,i,r)|0;if((i|0)!=2&(a[46796]|0)!=0)ao(0,88816,f)|0;if((i|0)==1)rp(A,e);l8(a[r>>2]|0);k=f;return i|0}function rp(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0.0,t=0,c=0,s=0.0;n=+(e|0);l=6.283185307179586/n;i=cd(A)|0;f=0.0;while(1){if(!i)break;s=+D(+f)*n;t=a[i+16>>2]|0;c=a[t+132>>2]|0;b[c>>3]=s;b[c+8>>3]=+M(+f)*n;r[t+119>>0]=1;if((a[47137]|0)>2)gU(i,e);i=bd(A,i)|0;f=f+l}return}function fp(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0;d=k;k=k+80|0;e=d+24|0;w=d+32|0;c=d;o=d+28|0;s=d+64|0;h=+b[23293];do{if(a[47134]|0){b[23293]=72.0;ap(A);np(A);if((xH(A,1)|0)<0){ao(3,88864,e)|0;break}else{vJ(A,0);f=32;break}}else{u=ER(po(A,88593)|0,0)|0;b[23293]=+hR(A);ap(A);n=lp(A)|0;Qj(A,c,0)|0;l=tp(A)|0;t=wC(A,0,w)|0;e=sC(A,-1,8)|0;a[46795]=e;i=(e|0)<0;do{if(!t){if((n|0)!=0&i){a[46795]=8;a[w+16>>2]=2;f=11;break}a[w+16>>2]=2;if((e|0)<=-1){cp(A,n,l);Wj(A,c)|0;np(A);if(!(u<<24>>24)){Pp(A);break}else{bp(A);break}}else f=11}else if(i){a[46795]=8;f=11}else f=11}while(0);if((f|0)==11){t=BE(A,o,88892,s)|0;e=a[o>>2]|0;do{if((e|0)<=1){cp(A,n,l);Wj(A,c)|0;if(!(u<<24>>24)){Pp(A);break}else{bp(A);break}}else{f=u<<24>>24==0;i=0;while(1){if((i|0)>=(e|0))break;e=a[t+(i<<2)>>2]|0;VE(e)|0;cp(e,n,l);Wj(e,c)|0;zH(e,2);if(f)Pp(e);else bp(e);i=i+1|0;e=a[o>>2]|0}if(!(r[s>>0]|0))i=0;else{i=qF(e)|0;r[i>>0]=1;e=a[o>>2]|0}a[w+8>>2]=a[46795];a[w+20>>2]=i;a[w+12>>2]=1;tC(e,t,A,w)|0;L2(i)}}while(0);xR(A);np(A);e=0;while(1){if((e|0)>=(a[o>>2]|0))break;w=a[t+(e<<2)>>2]|0;dU(w);Sd(w,137483)|0;Cd(A,w)|0;e=e+1|0}L2(t)}vJ(A,u<<24>>24==0&1);f=32}}while(0);if((f|0)==32)b[23293]=h;k=d;return}function ap(A){A=A|0;var e=0,i=0,r=0,n=0;zH(A,2);r=kR(A,Yo(A,0,91368,0)|0,2,2)|0;e=(kR(A,Yo(A,0,91374,0)|0,r,2)|0)&65535;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=e;e=a[(a[A+60>>2]|0)+16>>2]|0;n=e+176|0;i=f[n>>1]|0;i=(i&65535)<10?i:10;f[n>>1]=i;i=i&65535;a[47137]=i;f[e+178>>1]=(r|0)<(i|0)?r:i;gp(A);return}function np(A){A=A|0;var e=0,i=0,r=0,f=0;f=k;k=k+1040|0;r=f;i=f+8|0;A:do{if((a[47137]|0)>2&(a[47171]|0)!=0){e=cd(A)|0;while(1){if(!e)break A;b[r>>3]=+b[(a[(a[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;P4(i,101209,r)|0;Vo(e,a[47171]|0,i)|0;e=bd(A,e)|0}}}while(0);k=f;return}function lp(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;e=po(A,89577)|0;A:do{if(!e)A=1;else{switch(r[e>>0]|0){case 0:{A=1;break A}case 75:{if(!(A1(e,89582)|0)){A=0;break A}break}case 109:{if(!(A1(e,89585)|0)){A=1;break A}break}case 104:{if(!(A1(e,89591)|0)){A=2;break A}break}default:{}}A=Vh(A)|0;a[i>>2]=e;a[i+4>>2]=A;ao(0,89596,i)|0;A=1}}while(0);k=f;return A|0}function tp(A){A=A|0;var e=0,i=0,f=0,n=0,l=0;l=k;k=k+32|0;n=l+16|0;f=l+8|0;i=l;e=po(A,89360)|0;A:do{if(!e)A=0;else{switch(r[e>>0]|0){case 0:{A=0;break A}case 99:{if(!(A1(e,89366)|0)){A=1;break A}break}case 115:{if(!(A1(e,89374)|0)){A=2;break A}if(!(A1(e,89381)|0)){A=0;break A}break}case 109:{if(!(A1(e,89391)|0)){if(Yo(A,2,92493,0)|0){A=3;break A}a[i>>2]=Vh(A)|0;ao(0,89395,i)|0;ao(3,89458,f)|0;A=0;break A}break}default:{}}A=Vh(A)|0;a[n>>2]=e;a[n+4>>2]=A;ao(0,89515,n)|0;A=0}}while(0);k=l;return A|0}function cp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,91061)|0;if(!r)if((e|0)==1)r=200;else r=(vh(A)|0)*100|0;else r=q3(r)|0;a[47136]=r;r=bU(A,e)|0;do{if(!((r|0)<2|(a[47136]|0)<0))if(!e){wp(A,r,i);break}else{sp(A,r,e,i,a[47137]|0);break}}while(0);return}function bp(A){A=A|0;xR(A);Rp(A,1);return}function sp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+64|0;d=g+40|0;u=g+24|0;w=g;o=g+48|0;v=g+44|0;h=(i|0)==2;l=ip(A,e,h?0:2)|0;t=vp(A)|0;c=t|4;B=$F(f<<2)|0;a[B>>2]=$F(U(e<<3,f)|0)|0;n=a[47137]|0;f=1;while(1){if((f|0)>=(n|0))break;a[B+(f<<2)>>2]=(a[B>>2]|0)+((U(f,e)|0)<<3);f=f+1|0}n=(l|0)==0;f=n?c:t;if(0){c=a[15712]|0;t=a[47136]|0;s=+b[23294];a[w>>2]=r;a[w+4>>2]=n&1;a[w+8>>2]=f&3;a[w+12>>2]=t;b[w+16>>3]=s;f3(c,89173,w)|0;L3(89230,15,1,c)|0;tR();L3(89246,13,1,c)|0}w=op(A,e,o,i,r,v)|0;if(0){c=a[15712]|0;s=+cR();a[u>>2]=e;b[u+8>>3]=s;f3(c,89260,u)|0}if((i|0)!=1){s=+oR(A,Yo(A,0,89279,0)|0,0.0,-1797693134862315708145274.0e284);if(h){f=kS(w,e,a[o>>2]|0,B,a[v>>2]|0,a[47137]|0,f,r,a[47136]|0,s)|0;n=12}else n=14}else{f=iU(w,e,a[o>>2]|0,B,a[v>>2]|0,a[47137]|0,f,r,a[47136]|0)|0;n=12}if((n|0)==12)if((f|0)<0)ao(3,89289,d)|0;else n=14;A:do{if((n|0)==14){n=cd(A)|0;while(1){if(!n)break A;c=a[n+16>>2]|0;l=a[c+120>>2]|0;t=a[47137]|0;c=c+132|0;f=0;while(1){if((f|0)>=(t|0))break;b[(a[c>>2]|0)+(f<<3)>>3]=+b[(a[B+(f<<2)>>2]|0)+(l<<3)>>3];f=f+1|0}n=bd(A,n)|0}}}while(0);HS(w);L2(a[B>>2]|0);L2(B);L2(a[v>>2]|0);k=g;return}function wp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0;n=k;k=k+48|0;f=n+32|0;r=n;switch(i|0){case 2:{up(A,e);break}case 1:{if(!(bS(A,e)|0)){a[r>>2]=Vh(A)|0;ao(0,88902,r)|0;ao(3,93364,n+8|0)|0;ao(3,88954,n+16|0)|0;ao(3,89026,n+24|0)|0;MU(A,e)}break}default:{MU(A,e);if((i|0)==3)kp(A)}}CU(A,e);IU(A,e);if(0){r=a[15712]|0;t=a[47136]|0;l=+b[23294];a[f>>2]=i;a[f+4>>2]=t;b[f+8>>3]=l;f3(r,89064,f)|0;tR()}ZU(A,e);k=n;return}function up(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=op(A,e,t,0,2,0)|0;l=UP(n,e)|0;r=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;f=l+(A<<2)|0;i=0;while(1){if((i|0)==(e|0))break;b[(a[(a[(a[r>>2]|0)+160>>2]|0)+(A<<2)>>2]|0)+(i<<3)>>3]=+(a[(a[f>>2]|0)+(i<<2)>>2]|0);i=i+1|0}A=A+1|0}L2(a[l>>2]|0);L2(l);HS(n);k=t;return}function kp(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0.0;f=A+16|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;n=a[e>>2]&3;r=(a[a[((n|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;n=(a[a[((n|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if((r|0)!=(n|0)){t=+b[(a[e+16>>2]|0)+136>>3];l=a[(a[f>>2]|0)+160>>2]|0;b[(a[l+(n<<2)>>2]|0)+(r<<3)>>3]=t;b[(a[l+(r<<2)>>2]|0)+(n<<3)>>3]=t}e=_o(A,e)|0}i=bd(A,i)|0}return}function op(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0.0,M=0;l=gh(A)|0;Y=bJ()|0;if((f|0)==2){t=0;W=0}else{W=Yo(A,2,92493,0)|0;t=(a[47174]|0)!=0&1;W=(W|0)!=0}Q=(r|1|0)==3;y=$F(e*20|0)|0;z=$F(e<<2)|0;s=(l<<1)+e<<2;w=$F(s)|0;G=Q|W;if(G)f=$F(s)|0;else f=0;L=(t|0)!=0;if(L)l=$F(s)|0;else l=0;if(Q)t=$F(s)|0;else t=0;s=0;I=cd(A)|0;Z=0;while(1){if(!I)break;uJ(Y);if((a[(a[I+16>>2]|0)+120>>2]|0)!=(Z|0)){m=12;break}a[z+(Z<<2)>>2]=I;g=y+(Z*20|0)+4|0;a[g>>2]=w;E=y+(Z*20|0)+8|0;a[E>>2]=G?f:0;C=y+(Z*20|0)+12|0;a[C>>2]=L?l:0;a[y+(Z*20|0)+16>>2]=Q?t:0;d=1;v=Ah(A,I)|0;B=1;h=s;w=w+4|0;f=G?f+4|0:f;l=L?l+4|0:l;t=Q?t+4|0:t;while(1){if(!v)break;u=a[v>>2]&3;o=v+-48|0;s=v+48|0;do{if((a[((u|0)==2?v:o)+40>>2]|0)==(a[((u|0)==3?v:s)+40>>2]|0)){u=d;o=B;s=h}else{u=hp(Y,v,d)|0;if((u|0)!=(d|0)){if(L){o=(a[C>>2]|0)+(u<<2)|0;c[o>>2]=+b[(a[v+16>>2]|0)+128>>3]+ +c[o>>2]}if(!W){u=d;o=B;s=h;break}u=(a[E>>2]|0)+(u<<2)|0;D=+b[(a[v+16>>2]|0)+136>>3];k=+(~~+c[u>>2]|0);c[u>>2]=D>k?D:k;u=d;o=B;s=h;break}M=a[v>>2]&3;s=(M|0)==3?v:s;h=h+1|0;u=d+1|0;d=w+4|0;a[w>>2]=a[(a[(a[((a[s+40>>2]|0)==(I|0)?(M|0)==2?v:o:s)+40>>2]|0)+16>>2]|0)+120>>2];if(L){c[l>>2]=+b[(a[v+16>>2]|0)+128>>3];l=l+4|0}if(W){s=f+4|0;c[f>>2]=+b[(a[v+16>>2]|0)+136>>3];if(Q){f=s;m=27}else f=s}else if(Q){c[f>>2]=1.0;f=f+4|0;m=27}if((m|0)==27){m=0;s=po(v,101559)|0;if((s|0)!=0?(Z1(s,135709,4)|0)==0:0)k=0.0;else k=(I|0)==(a[((a[v>>2]&3|0)==2?v:o)+40>>2]|0)?1.0:-1.0;c[t>>2]=k;t=t+4|0}o=B+1|0;s=h;w=d}}while(0);d=u;v=eh(A,v,I)|0;B=o;h=s}a[y+(Z*20|0)>>2]=B;a[a[g>>2]>>2]=Z;s=h;I=bd(A,I)|0;Z=Z+1|0}if((m|0)==12)vA(89103,89118,819,89130);if(Q)dp(y,e,r,z);u=(s|0)/2|0;A:do{if((u|0)!=(gh(A)|0)){s=(u<<1)+e<<2;t=eV(a[y+4>>2]|0,s)|0;if(W)f=eV(a[y+8>>2]|0,s)|0;if(L){w=0;l=eV(a[y+12>>2]|0,s)|0}else w=0;while(1){if((w|0)>=(e|0))break A;s=a[y+(w*20|0)>>2]|0;a[y+(w*20|0)+4>>2]=t;if(W){a[y+(w*20|0)+8>>2]=f;f=f+(s<<2)|0}if(L){a[y+(w*20|0)+12>>2]=l;l=l+(s<<2)|0}w=w+1|0;t=t+(s<<2)|0}}}while(0);a[i>>2]=u;if(!n)L2(z);else a[n>>2]=z;kJ(Y);return y|0}function hp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=a[e>>2]&3;r=a[(a[(a[((f|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;e=a[(a[(a[((f|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(r|0)>(e|0);return oJ(A,f?e:r,f?r:e,i)|0}function dp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=0;while(1){if((n|0)>=(e|0)){n=0;break}l=a[(a[f+(n<<2)>>2]|0)+16>>2]|0;r[l+157>>0]=0;r[l+158>>0]=0;n=n+1|0}while(1){if((n|0)>=(e|0))break;if(!(r[(a[(a[f+(n<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Bp(A,n,i,f);n=n+1|0}return}function Bp(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,k=0.0,o=0,h=0;h=(a[f+(e<<2)>>2]|0)+16|0;s=a[h>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=A+(e*20|0)|0;w=A+(e*20|0)+16|0;u=A+(e*20|0)+4|0;k=(i|0)==3?-1.0:1.0;b=1;A:while(1){if((b|0)>=(a[s>>2]|0)){n=14;break}n=(a[w>>2]|0)+(b<<2)|0;do{if(!(+c[n>>2]==1.0)){o=a[(a[u>>2]|0)+(b<<2)>>2]|0;l=a[(a[f+(o<<2)>>2]|0)+16>>2]|0;if(!(r[l+158>>0]|0)){if(r[l+157>>0]|0)break;Bp(A,o,i,f);break}c[n>>2]=k;l=A+(o*20|0)+4|0;t=a[A+(o*20|0)>>2]|0;n=1;while(1){if((n|0)>=(t|0)){n=9;break A}if((a[(a[l>>2]|0)+(n<<2)>>2]|0)==(e|0))break;n=n+1|0}c[(a[A+(o*20|0)+16>>2]|0)+(n<<2)>>2]=-1.0}}while(0);b=b+1|0}if((n|0)==9)vA(89144,89118,721,89164);else if((n|0)==14){r[(a[h>>2]|0)+158>>0]=0;return}}function vp(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;A=kR(A,Yo(A,0,89305,0)|0,2,0)|0;if((A|0)==0|(A|0)>2){a[e>>2]=89305;ao(0,89314,e)|0;A=2}k=i;return A|0}function gp(A){A=A|0;var e=0,i=0,r=0;i=vh(A)|0;a[46796]=Yo(A,1,102623,0)|0;r=Yo(A,1,90660,0)|0;e=cd(A)|0;while(1){if(!e)break;RH(e);HH(a[46796]|0,r,e,i)|0;e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;Ep(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function Ep(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,1.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function Cp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A=qF(64)|0;i=A+8|0;r=e+8|0;n=i+48|0;do{a[i>>2]=a[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));e=a[e+56>>2]|0;a[A+56>>2]=e;f[(a[e+16>>2]|0)+168>>1]=1;return A|0}function Ip(A,e,i){A=A|0;e=e|0;i=i|0;L2(e);return}function Zp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=a[e>>2]|0;r=a[i>>2]|0;if(A>>>0<=r>>>0)if(A>>>0>=r>>>0){r=a[e+24>>2]|0;A=a[i+24>>2]|0;if(r>>>0<=A>>>0)if(r>>>0>=A>>>0){A=~~(+b[e+8>>3]-+b[i+8>>3]);if(!A){A=~~(+b[e+16>>3]-+b[i+16>>3]);if(!A){A=~~(+b[e+32>>3]-+b[i+32>>3]);if(!A)A=~~(+b[e+40>>3]-+b[i+40>>3])}}}else A=-1;else A=1}else A=-1;else A=1;return A|0}function Gp(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0.0;b=k;k=k+16|0;n=b;l=e+16|0;t=f[(a[l>>2]|0)+168>>1]|0;c=t<<16>>16;if(t<<16>>16!=1&(r[194954]|0)==0){t=$F(c<<2)|0;n=0;while(1){if((n|0)>=(c|0))break;a[t+(n<<2)>>2]=e;e=a[(a[e+16>>2]|0)+172>>2]|0;n=n+1|0}s=+(i|0);LX(A,t,0,c,s,s,17792);e=0;while(1){if((e|0)>=(c|0))break;n=a[t+(e<<2)>>2]|0;l=n+16|0;if(a[(a[l>>2]|0)+96>>2]|0){i=Id(a[((a[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)|0;pR(i,a[(a[l>>2]|0)+96>>2]|0)}FX(n);e=e+1|0}L2(t)}else{a[n>>2]=e;s=+(i|0);LX(A,n,0,1,s,s,17792);if(a[(a[l>>2]|0)+96>>2]|0){c=Id(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;pR(c,a[(a[l>>2]|0)+96>>2]|0)}FX(e)}k=b;return}function Qp(A){A=A|0;return 0}function mp(A){A=A|0;return 0}function Lp(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0.0,I=0.0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0,Y=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+384|0;R=p+368|0;H=p+112|0;l=p+32|0;d=p+336|0;V=p+320|0;J=p+304|0;N=p+288|0;X=p+272|0;n=p+256|0;y=p+240|0;Y=p+224|0;F=p+208|0;v=p+192|0;g=p+176|0;E=p+160|0;G=p+144|0;Q=p+128|0;m=p+96|0;L=p+16|0;W=p;A:do{switch(sN(A)|0){case 3:case 1:{f=qF(8)|0;G=A+16|0;A=a[G>>2]|0;n=a[A+12>>2]|0;do{if(!(i<<24>>24)){A=a[n+8>>2]|0;if((A|0)>2){Z=0.0;l=a[n+44>>2]|0;i=0;o=+c[e>>2];h=+c[e+4>>2];break}else{Z=+c8()*.01;A=8;l=0;i=1;o=0.0;h=0.0;break}}else if(!(a[n+40>>2]&2048)){h=+b[A+88>>3];o=-h;Z=+b[A+80>>3];I=Z*-.5;b[l>>3]=o;b[l+8>>3]=I;b[l+16>>3]=h;b[l+24>>3]=I;Z=Z*.5;b[l+32>>3]=h;b[l+40>>3]=Z;b[l+48>>3]=o;b[l+56>>3]=Z;Z=0.0;A=4;i=0;o=0.0;h=0.0;break}else{HR(d,n);o=+b[d>>3];I=+b[d+8>>3];h=+b[d+16>>3];Z=+b[d+24>>3];b[l>>3]=o;b[l+8>>3]=I;b[l+16>>3]=h;b[l+24>>3]=I;b[l+32>>3]=h;b[l+40>>3]=Z;b[l+48>>3]=o;b[l+56>>3]=Z;Z=0.0;A=4;i=0;o=0.0;h=0.0;break}}while(0);a[f+4>>2]=A;d=qF(A<<4)|0;a[f>>2]=d;B=1.0/+(A|0);v=e+8|0;g=e+4|0;E=(A|0)==4;C=-o;I=-h;n=0;while(1){if((A|0)<=(n|0))break A;do{if(i){t=+(n|0)*6.283185307179586*B+Z;s=+D(+t);t=+M(+t);if(!(r[v>>0]|0)){H=a[G>>2]|0;w=t*+c[g>>2]*+b[H+80>>3];t=s*+c[e>>2]*(+b[H+96>>3]+ +b[H+88>>3])}else{H=a[G>>2]|0;w=(+b[H+80>>3]+ +c[g>>2])*t;t=(+b[H+96>>3]+ +b[H+88>>3]+ +c[e>>2])*s}u=t*.5;t=w*.5}else{if(!(r[v>>0]|0)){u=+b[l+(n<<4)>>3]*o;t=+b[l+(n<<4)+8>>3]*h;break}if(!E){u=+b[l+(n<<4)>>3];t=+b[l+(n<<4)+8>>3];w=+z(+(t*t+u*u));u=(o/w+1.0)*u;t=(h/w+1.0)*t;break}switch(n|0){case 0:{s=h;t=o;break}case 1:{s=h;t=C;break}case 2:{s=I;t=C;break}case 3:{s=I;t=o;break}default:{s=0.0;t=0.0}}u=+b[l+(n<<4)>>3]+t;t=+b[l+(n<<4)+8>>3]+s}}while(0);R=a[G>>2]|0;H=A-n+-1|0;b[d+(H<<4)>>3]=+b[R+16>>3]+u;b[d+(H<<4)+8>>3]=+b[R+24>>3]+t;n=n+1|0}}case 2:{W=A+16|0;f=a[(a[W>>2]|0)+12>>2]|0;t=+b[f+16>>3];u=+b[f+24>>3];s=+b[f+32>>3];w=+b[f+40>>3];f=qF(8)|0;a[f+4>>2]=4;A=qF(64)|0;a[f>>2]=A;W=(a[W>>2]|0)+16|0;a[H>>2]=a[W>>2];a[H+4>>2]=a[W+4>>2];a[H+8>>2]=a[W+8>>2];a[H+12>>2]=a[W+12>>2];if(!(r[e+8>>0]|0)){a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(n,t,u,R,e);a[A>>2]=a[n>>2];a[A+4>>2]=a[n+4>>2];a[A+8>>2]=a[n+8>>2];a[A+12>>2]=a[n+12>>2];X=(a[f>>2]|0)+16|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(y,t,w,R,e);a[X>>2]=a[y>>2];a[X+4>>2]=a[y+4>>2];a[X+8>>2]=a[y+8>>2];a[X+12>>2]=a[y+12>>2];X=(a[f>>2]|0)+32|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(Y,s,w,R,e);a[X>>2]=a[Y>>2];a[X+4>>2]=a[Y+4>>2];a[X+8>>2]=a[Y+8>>2];a[X+12>>2]=a[Y+12>>2];X=(a[f>>2]|0)+48|0;a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(F,s,u,R,e);a[X>>2]=a[F>>2];a[X+4>>2]=a[F+4>>2];a[X+8>>2]=a[F+8>>2];a[X+12>>2]=a[F+12>>2];break A}else{Z=t-+c[e>>2];F=e+4|0;I=u-+c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(V,Z,I,R);a[A>>2]=a[V>>2];a[A+4>>2]=a[V+4>>2];a[A+8>>2]=a[V+8>>2];a[A+12>>2]=a[V+12>>2];V=(a[f>>2]|0)+16|0;I=t-+c[e>>2];Z=w+ +c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(J,I,Z,R);a[V>>2]=a[J>>2];a[V+4>>2]=a[J+4>>2];a[V+8>>2]=a[J+8>>2];a[V+12>>2]=a[J+12>>2];J=(a[f>>2]|0)+32|0;Z=s+ +c[e>>2];I=w+ +c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(N,Z,I,R);a[J>>2]=a[N>>2];a[J+4>>2]=a[N+4>>2];a[J+8>>2]=a[N+8>>2];a[J+12>>2]=a[N+12>>2];N=(a[f>>2]|0)+48|0;I=s+ +c[e>>2];Z=u-+c[F>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(X,I,Z,R);a[N>>2]=a[X>>2];a[N+4>>2]=a[X+4>>2];a[N+8>>2]=a[X+8>>2];a[N+12>>2]=a[X+12>>2];break A}}case 4:{A=A+16|0;f=qF(8)|0;a[f+4>>2]=4;n=qF(64)|0;a[f>>2]=n;l=a[A>>2]|0;X=l+16|0;a[H>>2]=a[X>>2];a[H+4>>2]=a[X+4>>2];a[H+8>>2]=a[X+8>>2];a[H+12>>2]=a[X+12>>2];t=-+b[l+88>>3];if(!(r[e+8>>0]|0)){I=-+b[l+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(Q,t,I,R,e);a[n>>2]=a[Q>>2];a[n+4>>2]=a[Q+4>>2];a[n+8>>2]=a[Q+8>>2];a[n+12>>2]=a[Q+12>>2];X=(a[f>>2]|0)+16|0;N=a[A>>2]|0;I=-+b[N+88>>3];Z=+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(m,I,Z,R,e);a[X>>2]=a[m>>2];a[X+4>>2]=a[m+4>>2];a[X+8>>2]=a[m+8>>2];a[X+12>>2]=a[m+12>>2];X=(a[f>>2]|0)+32|0;N=a[A>>2]|0;Z=+b[N+96>>3];I=+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(L,Z,I,R,e);a[X>>2]=a[L>>2];a[X+4>>2]=a[L+4>>2];a[X+8>>2]=a[L+8>>2];a[X+12>>2]=a[L+12>>2];X=(a[f>>2]|0)+48|0;N=a[A>>2]|0;I=+b[N+96>>3];Z=-+b[N+80>>3];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];yp(W,I,Z,R,e);a[X>>2]=a[W>>2];a[X+4>>2]=a[W+4>>2];a[X+8>>2]=a[W+8>>2];a[X+12>>2]=a[W+12>>2];break A}else{Z=t-+c[e>>2];N=e+4|0;I=-+b[l+80>>3]-+c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(v,Z,I,R);a[n>>2]=a[v>>2];a[n+4>>2]=a[v+4>>2];a[n+8>>2]=a[v+8>>2];a[n+12>>2]=a[v+12>>2];X=(a[f>>2]|0)+16|0;J=a[A>>2]|0;I=-+b[J+88>>3]-+c[e>>2];Z=+b[J+80>>3]+ +c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(g,I,Z,R);a[X>>2]=a[g>>2];a[X+4>>2]=a[g+4>>2];a[X+8>>2]=a[g+8>>2];a[X+12>>2]=a[g+12>>2];X=(a[f>>2]|0)+32|0;J=a[A>>2]|0;Z=+b[J+96>>3]+ +c[e>>2];I=+b[J+80>>3]+ +c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(E,Z,I,R);a[X>>2]=a[E>>2];a[X+4>>2]=a[E+4>>2];a[X+8>>2]=a[E+8>>2];a[X+12>>2]=a[E+12>>2];X=(a[f>>2]|0)+48|0;J=a[A>>2]|0;I=+b[J+96>>3]+ +c[e>>2];Z=-+b[J+80>>3]-+c[N>>2];a[R>>2]=a[H>>2];a[R+4>>2]=a[H+4>>2];a[R+8>>2]=a[H+8>>2];a[R+12>>2]=a[H+12>>2];Wp(G,I,Z,R);a[X>>2]=a[G>>2];a[X+4>>2]=a[G+4>>2];a[X+8>>2]=a[G+8>>2];a[X+12>>2]=a[G+12>>2];break A}}default:f=0}}while(0);k=p;return f|0}function Wp(A,e,i,r){A=A|0;e=+e;i=+i;r=r|0;i=+b[r+8>>3]+i;b[A>>3]=+b[r>>3]+e;b[A+8>>3]=i;return}function yp(A,e,i,r,f){A=A|0;e=+e;i=+i;r=r|0;f=f|0;i=+c[f+4>>2]*i+ +b[r+8>>3];b[A>>3]=+c[f>>2]*e+ +b[r>>3];b[A+8>>3]=i;return}function zp(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;u=k;k=k+112|0;c=u+88|0;t=u+72|0;b=u+32|0;s=u+16|0;w=u;f=u+56|0;n=u+40|0;l=e+48|0;d=(a[(a[((a[e>>2]&3|0)==3?e:l)+40>>2]|0)+16>>2]|0)+16|0;o=e+16|0;h=(a[o>>2]|0)+16|0;a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];a[c>>2]=a[h>>2];a[c+4>>2]=a[h+4>>2];a[c+8>>2]=a[h+8>>2];a[c+12>>2]=a[h+12>>2];Yp(f,t,c);a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];f=e+-48|0;h=(a[(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+16|0;o=(a[o>>2]|0)+56|0;a[t>>2]=a[h>>2];a[t+4>>2]=a[h+4>>2];a[t+8>>2]=a[h+8>>2];a[t+12>>2]=a[h+12>>2];a[c>>2]=a[o>>2];a[c+4>>2]=a[o+4>>2];a[c+8>>2]=a[o+8>>2];a[c+12>>2]=a[o+12>>2];Yp(n,t,c);a[w>>2]=a[n>>2];a[w+4>>2]=a[n+4>>2];a[w+8>>2]=a[n+8>>2];a[w+12>>2]=a[n+12>>2];if(!r){n=-1111;f=-1111}else{d=a[e>>2]&3;n=a[(a[(a[((d|0)==2?e:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=a[(a[(a[((d|0)==3?e:l)+40>>2]|0)+16>>2]|0)+288>>2]|0}a[t>>2]=a[s>>2];a[t+4>>2]=a[s+4>>2];a[t+8>>2]=a[s+8>>2];a[t+12>>2]=a[s+12>>2];a[c>>2]=a[w>>2];a[c+4>>2]=a[w+4>>2];a[c+8>>2]=a[w+8>>2];a[c+12>>2]=a[w+12>>2];Yt(i,t,f,c,n,b)|0;o=b;h=a[o+4>>2]|0;d=A;a[d>>2]=a[o>>2];a[d+4>>2]=h;k=u;return}function Yp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[i+8>>3]+ +b[e+8>>3];b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=r;return}function Dp(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;g=k;k=k+144|0;o=g+104|0;h=g+88|0;u=g+80|0;w=g+72|0;c=g+64|0;B=g+128|0;b=g+32|0;s=g+124|0;v=g+16|0;d=g;t=g+120|0;l=(a[e+16>>2]|0)+144|0;n=a[l>>2]|0;l=a[l+4>>2]|0;E=c;a[E>>2]=n;a[E+4>>2]=l;E=n;a[v>>2]=a[E>>2];a[v+4>>2]=a[E+4>>2];a[v+8>>2]=a[E+8>>2];a[v+12>>2]=a[E+12>>2];l=n+(l+-1<<4)|0;a[d>>2]=a[l>>2];a[d+4>>2]=a[l+4>>2];a[d+8>>2]=a[l+8>>2];a[d+12>>2]=a[l+12>>2];A:do{if(!(f<<24>>24)){n=-1111;f=-1111}else{n=-1111;f=-1111;l=0;while(1){if((l|0)>=(r|0))break A;if((f|0)==-1111){f=a[i+(l<<2)>>2]|0;a[h>>2]=a[f>>2];a[h+4>>2]=a[f+4>>2];a[o>>2]=a[v>>2];a[o+4>>2]=a[v+4>>2];a[o+8>>2]=a[v+8>>2];a[o+12>>2]=a[v+12>>2];f=(Dt(h,o)|0)==0;f=f?-1111:l}if((n|0)==-1111){n=a[i+(l<<2)>>2]|0;a[h>>2]=a[n>>2];a[h+4>>2]=a[n+4>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];n=(Dt(h,o)|0)==0;n=n?-1111:l}l=l+1|0}}}while(0);Mp(i,r,f,n,t,s);a[b>>2]=0;a[b+4>>2]=0;a[b+8>>2]=0;a[b+12>>2]=0;a[b+16>>2]=0;a[b+20>>2]=0;a[b+24>>2]=0;a[b+28>>2]=0;l=a[t>>2]|0;E=a[s>>2]|0;a[o>>2]=a[c>>2];a[o+4>>2]=a[c+4>>2];if((Mt(l,E,o,b,B)|0)<0){v=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;E=Vh(a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;a[w>>2]=v;a[w+4>>2]=E;ao(1,89657,w)|0}else{if(0>1){n=a[15712]|0;w=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;f=e+-48|0;E=Vh(a[((a[e>>2]&3|0)==2?e:f)+40>>2]|0)|0;a[u>>2]=w;a[u+4>>2]=E;f3(n,89705,u)|0;n=e}else{f=e+-48|0;n=e}gX(e,a[((a[n>>2]&3|0)==2?e:f)+40>>2]|0,a[B>>2]|0,a[B+4>>2]|0,17792);L2(l);a[h>>2]=a[v>>2];a[h+4>>2]=a[v+4>>2];a[h+8>>2]=a[v+8>>2];a[h+12>>2]=a[v+12>>2];a[o>>2]=a[d>>2];a[o+4>>2]=a[d+4>>2];a[o+8>>2]=a[d+8>>2];a[o+12>>2]=a[d+12>>2];HX(A,e,h,o)}k=g;return}function Mp(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;t=0;l=0;while(1){if((t|0)>=(e|0))break;if(!((t|0)==(i|0)|(t|0)==(r|0)))l=(a[(a[A+(t<<2)>>2]|0)+4>>2]|0)+l|0;t=t+1|0}k=$F(l<<5)|0;t=0;u=0;while(1){if((u|0)>=(e|0))break;A:do{if(!((u|0)==(i|0)|(u|0)==(r|0))){w=A+(u<<2)|0;s=0;while(1){c=a[w>>2]|0;b=a[c+4>>2]|0;if((s|0)>=(b|0))break A;o=s+1|0;h=k+(t<<5)|0;c=(a[c>>2]|0)+(s<<4)|0;a[h>>2]=a[c>>2];a[h+4>>2]=a[c+4>>2];a[h+8>>2]=a[c+8>>2];a[h+12>>2]=a[c+12>>2];c=k+(t<<5)+16|0;b=(a[a[w>>2]>>2]|0)+(((o|0)<(b|0)?o:0)<<4)|0;a[c>>2]=a[b>>2];a[c+4>>2]=a[b+4>>2];a[c+8>>2]=a[b+8>>2];a[c+12>>2]=a[b+12>>2];s=o;t=t+1|0}}}while(0);u=u+1|0}if((t|0)==(l|0)){a[f>>2]=k;a[n>>2]=l;return}else vA(89719,89726,77,89741)}function Fp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;w=k;k=k+32|0;b=w+12|0;r=w;iS(r,A);a[b>>2]=a[r>>2];a[b+4>>2]=a[r+4>>2];a[b+8>>2]=a[r+8>>2];r=cd(A)|0;while(1){if(!r)break;n=Oo(A,r)|0;while(1){if(!n)break;kX(n);n=_o(A,n)|0}r=bd(A,r)|0}l=jk(17756,a[4581]|0)|0;r=cd(A)|0;while(1){if(!r)break;n=Oo(A,r)|0;while(1){if(!n)break;if((a[47134]|0)>1?(t=a[n+16>>2]|0,(a[t+8>>2]|0)!=0):0){u=t+168|0;f[u>>1]=(f[u>>1]|0)+1<<16>>16}else s=14;if((s|0)==14?(s=0,c=Vp(l,n)|0,(c|0)!=(n|0)):0){u=a[c+16>>2]|0;o=u+168|0;f[o>>1]=(f[o>>1]|0)+1<<16>>16;u=u+172|0;a[(a[n+16>>2]|0)+172>>2]=a[u>>2];a[u>>2]=n}n=_o(A,n)|0}r=bd(A,r)|0}pk(l)|0;if(!(W5[e&63](A,b,i)|0)){a[47138]=1;r=0}else r=1;k=w;return r|0}function Vp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0,h=0;h=k;k=k+64|0;o=h;r=a[e>>2]&3;l=a[((r|0)==3?e:e+48|0)+40>>2]|0;r=a[((r|0)==2?e:e+-48|0)+40>>2]|0;do{if(l>>>0>=r>>>0){i=e+16|0;if(l>>>0>r>>>0){i=a[i>>2]|0;u=r;r=l;c=+b[i+16>>3];s=+b[i+24>>3];n=+b[i+56>>3];f=+b[i+64>>3];break}u=a[i>>2]|0;t=+b[u+56>>3];w=+b[u+64>>3];n=+b[u+16>>3];f=+b[u+24>>3];if(!(nt)){i=f>w;if(f>2]|0;u=l;c=+b[i+56>>3];s=+b[i+64>>3];n=+b[i+16>>3];f=+b[i+24>>3]}}while(0);a[o+8>>2]=u;b[o+16>>3]=n;b[o+24>>3]=f;a[o+32>>2]=r;b[o+40>>3]=c;b[o+48>>3]=s;a[o+56>>2]=e;o=a[(W5[a[A>>2]&63](A,o,1)|0)+56>>2]|0;k=h;return o|0}function Jp(A,e){A=A|0;e=e|0;return Fp(A,21,e)|0}function Np(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0;z=k;k=k+112|0;m=z+88|0;Q=z+72|0;v=z+40|0;h=z+8|0;o=z;g=z+64|0;L=z+48|0;W=z+24|0;n=(a[47134]|0)>1&1;do{if((i|0)>5){B=qF((vh(A)|0)<<2)|0;u=(i|0)==8;w=u&1;s=cd(A)|0;d=0;while(1){if(!s)break;l=Lp(s,e,w)|0;t=(a[s+16>>2]|0)+288|0;if(!l){a[t>>2]=-1111;l=d}else{a[t>>2]=d;a[B+(d<<2)>>2]=l;l=d+1|0}s=bd(A,s)|0;d=l}if(B){l=qP(B,d)|0;if(l|0){if(u){Z=0;G=B;I=B;C=1;break}Z=Wt(B,d)|0;G=B;I=B;C=1;break}if(u){ao(0,89755,o)|0;l=0;Z=0;G=B;I=B;C=1;break}else{Y=+c[e+4>>2];b[h>>3]=+c[e>>2];b[h+8>>3]=Y;ao(0,89833,h)|0;l=0;Z=0;G=B;I=B;C=1;break}}else{l=0;Z=0;G=0;I=0;C=0}}else{l=0;Z=0;G=0;d=0;I=0;C=0}}while(0);if(0){t=a[15712]|0;if((i|0)==8&(l|0)!=0)s=89939;else s=(Z|0)==0?89925:(i|0)==10?110056:89915;a[v>>2]=s;f3(t,89956,v)|0}E=(Z|0)!=0;A:do{if(!E){if((i|0)==8&(l|0)!=0){ce(A,0);n=1}}else{t=cd(A)|0;while(1){if(!t)break A;l=Oo(A,t)|0;while(1){if(!l)break;v=(a[l+16>>2]|0)+144|0;zp(g,l,Z,1,0,0);h=g;B=a[h+4>>2]|0;a[v>>2]=a[h>>2];a[v+4>>2]=B;l=_o(A,l)|0}t=bd(A,t)|0}}}while(0);o=(n|0)==0;h=A+60|0;B=(i|0)==10;n=0;u=cd(A)|0;l=0;while(1){if(!u)break;v=u+16|0;e=Oo(A,u)|0;while(1){if(!e)break;w=a[((a[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;t=e+16|0;s=a[t>>2]|0;if(!o?(a[s+8>>2]|0)!=0:0){D=(a[v>>2]|0)+16|0;g=s+16|0;a[Q>>2]=a[D>>2];a[Q+4>>2]=a[D+4>>2];a[Q+8>>2]=a[D+8>>2];a[Q+12>>2]=a[D+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];Yp(L,Q,m);w=(a[w+16>>2]|0)+16|0;g=(a[t>>2]|0)+56|0;a[Q>>2]=a[w>>2];a[Q+4>>2]=a[w+4>>2];a[Q+8>>2]=a[w+8>>2];a[Q+12>>2]=a[w+12>>2];a[m>>2]=a[g>>2];a[m+4>>2]=a[g+4>>2];a[m+8>>2]=a[g+8>>2];a[m+12>>2]=a[g+12>>2];Yp(W,Q,m);a[Q>>2]=a[L>>2];a[Q+4>>2]=a[L+4>>2];a[Q+8>>2]=a[L+8>>2];a[Q+12>>2]=a[L+12>>2];a[m>>2]=a[W>>2];a[m+4>>2]=a[W+4>>2];a[m+8>>2]=a[W+8>>2];a[m+12>>2]=a[W+12>>2];HX(A,e,Q,m)}else y=35;A:do{if((y|0)==35){y=0;D=f[s+168>>1]|0;t=D<<16>>16;if(D<<16>>16){if((u|0)==(w|0)){if(!n){l=qF(96)|0;a[l+84>>2]=qF(((vh(A)|0)<<5)+11520|0)|0;n=l}Gp(n,e,a[(a[(a[h>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!E){rN(A,e,i,17792);break}t=r[194954]|0?1:t;s=e;w=0;while(1){if((w|0)>=(t|0))break A;if(B)Dp(A,s,G,d,1);else Xp(A,s);s=a[(a[s+16>>2]|0)+172>>2]|0;w=w+1|0}}}}while(0);e=_o(A,e)|0}u=bd(A,u)|0}if(E)zt(Z);if(n|0){L2(a[n+84>>2]|0);L2(l)}if(C){n=0;while(1){if((n|0)>=(d|0))break;L2(a[G+(n<<2)>>2]|0);n=n+1|0}L2(I)}k=z;return 0}function Xp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;b=k;k=k+96|0;n=b+64|0;f=b+48|0;i=b+40|0;l=b+80|0;r=b+32|0;t=b+16|0;c=b;s=(a[e+16>>2]|0)+144|0;w=a[s>>2]|0;s=a[s+4>>2]|0;u=r;a[u>>2]=w;a[u+4>>2]=s;u=w;a[t>>2]=a[u>>2];a[t+4>>2]=a[u+4>>2];a[t+8>>2]=a[u+8>>2];a[t+12>>2]=a[u+12>>2];s=w+(s+-1<<4)|0;a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];a[n>>2]=a[r>>2];a[n+4>>2]=a[r+4>>2];Gc(n,l);if(0>1){u=a[15712]|0;s=Vh(a[((a[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;r=e+-48|0;w=Vh(a[((a[e>>2]&3|0)==2?e:r)+40>>2]|0)|0;a[i>>2]=s;a[i+4>>2]=w;f3(u,89981,i)|0;i=r;r=e}else{i=e+-48|0;r=e}gX(e,a[((a[r>>2]&3|0)==2?e:i)+40>>2]|0,a[l>>2]|0,a[l+4>>2]|0,17792);a[f>>2]=a[t>>2];a[f+4>>2]=a[t+4>>2];a[f+8>>2]=a[t+8>>2];a[f+12>>2]=a[t+12>>2];a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];HX(A,e,f,n);k=b;return}function Rp(A,e){A=A|0;e=e|0;var i=0;i=f[(a[A+16>>2]|0)+136>>1]&14;if(e<<24>>24)Hp(A)|0;if(i<<16>>16)Jp(A,i&65535)|0;return}function Hp(A){A=A|0;var e=0,i=0,r=0,f=0;i=pp(A)|0;e=cd(A)|0;while(1){if(!e)break;r=a[e+16>>2]|0;f=a[r+132>>2]|0;b[r+16>>3]=+b[f>>3]*72.0;b[r+24>>3]=+b[f+8>>3]*72.0;e=bd(A,e)|0}return i|0}function pp(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0,l=0.0,t=0,c=0;A:do{if((a[A+60>>2]|0)==(A|0)?(i=A+16|0,r=a[i>>2]|0,(a[(a[r+8>>2]|0)+84>>2]|0)!=0):0){if(!(+b[r+16>>3]!=0.0)?!(+b[r+24>>3]!=0.0):0)e=0;else{Up(A);e=1;r=a[i>>2]|0}t=(a[r+116>>2]&1|0)==0;if(!t){c=r+32|0;l=+b[c>>3];i=r+40|0;b[c>>3]=+b[i>>3];b[i>>3]=l}i=a[r+8>>2]|0;e:do{switch(a[i+84>>2]|0){case 2:{f=+b[i+64>>3];if(f<=0.0)break A;n=f/+b[r+32>>3];f=+b[i+72>>3]/+b[r+40>>3];if(n<1.0|f<1.0)if(n>3];if(f<=0.0)break A;n=f/+b[r+32>>3];f=+b[i+72>>3]/+b[r+40>>3];if(!(n>1.0&f>1.0))break A;f=n>3];f=+b[r+40>>3]/+b[r+32>>3];if(f1){i=cd(A)|0;while(1){if(!i)break e;e=Oo(A,i)|0;while(1){if(!e)break;if(a[(a[e+16>>2]|0)+8>>2]|0)xp(e,f,n);e=_o(A,e)|0}i=bd(A,i)|0}}}while(0);e=cd(A)|0;while(1){if(!e)break;c=a[(a[e+16>>2]|0)+132>>2]|0;b[c>>3]=+b[c>>3]*f;c=c+8|0;b[c>>3]=+b[c>>3]*n;e=bd(A,e)|0}Tp(A,f,n);e=1}else e=0}while(0);return e|0}function Up(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0;w=k;k=k+32|0;c=w+16|0;s=w;e=(a[A+16>>2]|0)+16|0;a[s>>2]=a[e>>2];a[s+4>>2]=a[e+4>>2];a[s+8>>2]=a[e+8>>2];a[s+12>>2]=a[e+12>>2];f=+b[s>>3];n=f*.013888888888888888;l=+b[s+8>>3];t=l*.013888888888888888;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;u=a[i+132>>2]|0;b[u>>3]=+b[u>>3]-n;u=u+8|0;b[u>>3]=+b[u>>3]-t;i=a[i+108>>2]|0;if(i|0?r[i+81>>0]|0:0){u=i+56|0;b[u>>3]=+b[u>>3]-f;u=i+64|0;b[u>>3]=+b[u>>3]-l}e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;if(a[(a[e+16>>2]|0)+8>>2]|0){a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];jp(e,c)}e=_o(A,e)|0}i=bd(A,i)|0}a[c>>2]=a[s>>2];a[c+4>>2]=a[s+4>>2];a[c+8>>2]=a[s+8>>2];a[c+12>>2]=a[s+12>>2];Sp(A,c);k=w;return}function xp(A,e,i){A=A|0;e=+e;i=+i;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0;o=a[A>>2]&3;l=a[(a[(a[((o|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;B=(e+-1.0)*72.0;h=B*+b[l>>3];v=(i+-1.0)*72.0;d=v*+b[l+8>>3];o=a[(a[(a[((o|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;B=B*+b[o>>3];v=v*+b[o+8>>3];o=a[A+16>>2]|0;l=a[o+8>>2]|0;t=a[l+4>>2]|0;c=t+-1|0;A=0;l=a[l>>2]|0;while(1){if((A|0)>=(t|0))break;s=a[l+4>>2]|0;w=s+-1|0;u=(A|0)==(c|0);f=0;n=a[l>>2]|0;while(1){if((f|0)>=(s|0))break;do{if(f|A){k=+b[n>>3];if((f|0)==(w|0)&u){b[n>>3]=k+h;g=n+8|0;b[g>>3]=+b[g>>3]+d;break}else{b[n>>3]=k*e;g=n+8|0;b[g>>3]=+b[g>>3]*i;break}}else{b[n>>3]=+b[n>>3]+B;g=n+8|0;b[g>>3]=+b[g>>3]+v}}while(0);f=f+1|0;n=n+16|0}if(a[l+8>>2]|0){g=l+16|0;b[g>>3]=+b[g>>3]+B;g=l+24|0;b[g>>3]=+b[g>>3]+v}if(a[l+12>>2]|0){g=l+32|0;b[g>>3]=+b[g>>3]+h;g=l+40|0;b[g>>3]=+b[g>>3]+d}A=A+1|0;l=l+48|0}A=a[o+96>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]*e;g=A+64|0;b[g>>3]=+b[g>>3]*i}A=a[o+100>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]+h;g=A+64|0;b[g>>3]=+b[g>>3]+d}A=a[o+104>>2]|0;if(A|0?r[A+81>>0]|0:0){g=A+56|0;b[g>>3]=+b[g>>3]+B;g=A+64|0;b[g>>3]=+b[g>>3]+v}return}function Tp(A,e,i){A=A|0;e=+e;i=+i;var f=0,n=0,l=0;l=A+16|0;n=a[l>>2]|0;A=n+32|0;b[A>>3]=+b[A>>3]*e;A=n+40|0;b[A>>3]=+b[A>>3]*i;A=n+16|0;b[A>>3]=+b[A>>3]*e;A=n+24|0;b[A>>3]=+b[A>>3]*i;A=a[n+12>>2]|0;if((A|0)!=0?(r[A+81>>0]|0)!=0:0){f=A+56|0;b[f>>3]=+b[f>>3]*e;f=A+64|0;b[f>>3]=+b[f>>3]*i;f=1;A=n}else{f=1;A=n}while(1){if((f|0)>(a[A+180>>2]|0))break;Tp(a[(a[A+184>>2]|0)+(f<<2)>>2]|0,e,i);f=f+1|0;A=a[l>>2]|0}return}function jp(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;c=a[A+16>>2]|0;A=a[c+8>>2]|0;t=a[A+4>>2]|0;s=e+8|0;A=a[A>>2]|0;n=0;while(1){if((n|0)>=(t|0))break;l=a[A+4>>2]|0;i=a[A>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;b[i>>3]=+b[i>>3]-+b[e>>3];w=i+8|0;b[w>>3]=+b[w>>3]-+b[s>>3];i=i+16|0;f=f+1|0}if(a[A+8>>2]|0){w=A+16|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+24|0;b[w>>3]=+b[w>>3]-+b[s>>3]}if(a[A+12>>2]|0){w=A+32|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+40|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=A+48|0;n=n+1|0}A=a[c+96>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+108>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+100>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}A=a[c+104>>2]|0;if(A|0?r[A+81>>0]|0:0){w=A+56|0;b[w>>3]=+b[w>>3]-+b[e>>3];w=A+64|0;b[w>>3]=+b[w>>3]-+b[s>>3]}return}function Sp(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0,c=0,s=0;c=k;k=k+16|0;t=c;n=+b[e>>3];l=A+16|0;A=a[l>>2]|0;i=A+32|0;b[i>>3]=+b[i>>3]-n;f=+b[e+8>>3];i=A+40|0;b[i>>3]=+b[i>>3]-f;i=A+16|0;b[i>>3]=+b[i>>3]-n;i=A+24|0;b[i>>3]=+b[i>>3]-f;i=a[A+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){s=i+56|0;b[s>>3]=+b[s>>3]-n;i=i+64|0;b[i>>3]=+b[i>>3]-f;i=1}else i=1;while(1){if((i|0)>(a[A+180>>2]|0))break;s=a[(a[A+184>>2]|0)+(i<<2)>>2]|0;a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];Sp(s,t);i=i+1|0;A=a[l>>2]|0}k=c;return}function Pp(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0.0,l=0,t=0;l=k;k=k+16|0;i=l;xR(A);r=A+16|0;e=a[r>>2]|0;f=+b[e+16>>3]*.013888888888888888;n=+b[e+24>>3]*.013888888888888888;e=cd(A)|0;while(1){if(!e)break;t=a[(a[e+16>>2]|0)+132>>2]|0;b[t>>3]=+b[t>>3]-f;t=t+8|0;b[t>>3]=+b[t>>3]-n;e=bd(A,e)|0}t=(a[r>>2]|0)+16|0;a[i>>2]=a[t>>2];a[i+4>>2]=a[t+4>>2];a[i+8>>2]=a[t+8>>2];a[i+12>>2]=a[t+12>>2];Op(A,i);Rp(A,1);k=l;return}function Op(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0.0,t=0.0;n=k;k=k+16|0;f=n;i=A+16|0;A=1;while(1){r=a[i>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[(a[r+184>>2]|0)+(A<<2)>>2]|0;a[f>>2]=a[e>>2];a[f+4>>2]=a[e+4>>2];a[f+8>>2]=a[e+8>>2];a[f+12>>2]=a[e+12>>2];Op(r,f);A=A+1|0}t=+b[e>>3];f=r+32|0;b[f>>3]=+b[f>>3]-t;l=+b[e+8>>3];e=r+40|0;b[e>>3]=+b[e>>3]-l;e=r+16|0;b[e>>3]=+b[e>>3]-t;e=r+24|0;b[e>>3]=+b[e>>3]-l;k=n;return}function Kp(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0;o=(i|0)>2;u=0;k=0;t=a[f+4>>2]|0;A=a[f>>2]|0;while(1){if((k|0)>=(e|0)){A=0;break}l=a[(a[n+(k<<2)>>2]|0)+16>>2]|0;s=r[l+119>>0]|0;A:do{if(!(s<<24>>24)){c=A+8|0;b[A>>3]=+c8();l=t+8|0;b[t>>3]=+c8();if(o){A=2;while(1){if((A|0)==(i|0)){t=u;A=c;break A}h=+c8();b[(a[f+(A<<2)>>2]|0)+(k<<3)>>3]=h;A=A+1|0}}else{t=u;A=c}}else{c=a[l+132>>2]|0;w=A+8|0;b[A>>3]=+b[c>>3];l=t+8|0;b[t>>3]=+b[c+8>>3];e:do{if(o){t=2;A=c+16|0;while(1){if((t|0)==(i|0))break e;b[(a[f+(t<<2)>>2]|0)+(k<<3)>>3]=+b[A>>3];t=t+1|0;A=A+8|0}}}while(0);t=(s&255)>1?1:u;A=w}}while(0);u=t;k=k+1|0;t=l}while(1){if((A|0)>=(i|0))break;gO(e,a[f+(A<<2)>>2]|0);A=A+1|0}return u|0}function _p(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,s=0.0,w=0,u=0,k=0,o=0;i=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;u=tU(e,e,0.0)|0;k=tU(e,e,0.0)|0;A:do{if(!(a[A+8>>2]|0)){r=0;while(1){if((r|0)>=(e|0))break A;n=a[A+(r*20|0)>>2]|0;l=A+(r*20|0)+4|0;t=u+(r<<2)|0;f=1;while(1){if((f|0)>=(n|0))break;w=a[(a[l>>2]|0)+(f<<2)>>2]|0;b[(a[u+(w<<2)>>2]|0)+(r<<3)>>3]=-1.0;b[(a[t>>2]|0)+(w<<3)>>3]=-1.0;f=f+1|0}r=r+1|0}}else{r=0;while(1){if((r|0)>=(e|0))break A;n=a[A+(r*20|0)>>2]|0;l=A+(r*20|0)+4|0;t=A+(r*20|0)+8|0;w=u+(r<<2)|0;f=1;while(1){if((f|0)>=(n|0))break;o=a[(a[l>>2]|0)+(f<<2)>>2]|0;s=-1.0/+c[(a[t>>2]|0)+(f<<2)>>2];b[(a[u+(o<<2)>>2]|0)+(r<<3)>>3]=s;b[(a[w>>2]|0)+(o<<3)>>3]=s;f=f+1|0}r=r+1|0}}}while(0);A:do{if(!(cS(e,u,k)|0)){L2(i);i=0}else{f=0;l=0;w=e;while(1){if((l|0)>=(e|0))break A;t=k+(l<<2)|0;r=l;n=f;while(1){if((r|0)==(e|0))break;if((l|0)==(r|0))s=0.0;else{o=a[t>>2]|0;s=+b[(a[k+(r<<2)>>2]|0)+(r<<3)>>3]+ +b[o+(l<<3)>>3]+ +b[o+(r<<3)>>3]*-2.0}c[i+(n<<2)>>2]=s;r=r+1|0;n=n+1|0}f=f+w|0;l=l+1|0;w=w+-1|0}}}while(0);cU(u);cU(k);return i|0}function qp(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+16|0;h=d;if(a[A+8>>2]|0){i=$p(A,e)|0;f=0.0;r=0;o=0;while(1){if((o|0)>=(e|0))break;r=r+o|0;u=a[A+(o*20|0)>>2]|0;t=A+(o*20|0)+4|0;s=(U(o,e)|0)-r|0;w=A+(o*20|0)+8|0;l=1;while(1){if((l|0)>=(u|0))break;n=a[(a[t>>2]|0)+(l<<2)>>2]|0;if((n|0)>=(o|0)){n=i+(s+n<<2)|0;B=+c[(a[w>>2]|0)+(l<<2)>>2];f=f+ +y(+(+c[n>>2]-B));c[n>>2]=B}l=l+1|0}o=o+1|0}if(0){e=a[15712]|0;b[h>>3]=f;f3(e,89997,h)|0}}else i=0;k=d;return i|0}function $p(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;l=s;t=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;c=qF(e<<2)|0;lS(l,e);i=0;f=0;b=e;while(1){if((i|0)>=(e|0))break;PS(i,A,e,c);r=i;n=f;while(1){if((r|0)==(e|0))break;a[t+(n<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0;n=n+1|0}i=i+1|0;f=f+b|0;b=b+-1|0}L2(c);tS(l);k=s;return t|0}function AU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0;w=k;k=k+16|0;l=w;t=qF(((U(e+1|0,e)|0)/2|0)<<2)|0;b=qF(e<<2)|0;lS(l,e);i=0;f=0;s=e;while(1){if((i|0)>=(e|0))break;rS(i,A,e,b,l);r=i;n=f;while(1){if((r|0)==(e|0))break;c[t+(n<<2)>>2]=+(a[b+(r<<2)>>2]|0);r=r+1|0;n=n+1|0}i=i+1|0;f=f+s|0;s=s+-1|0}L2(b);tS(l);k=w;return t|0}function eU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0;d=A+8|0;i=a[d>>2]|0;r=0;f=0;while(1){if((f|0)>=(e|0))break;r=(a[A+(f*20|0)>>2]|0)+r|0;f=f+1|0}f=qF(r<<2)|0;h=qF(e<<2)|0;r=0;while(1){if((r|0)>=(e|0))break;a[h+(r<<2)>>2]=0;r=r+1|0}if(!(a[d>>2]|0)){n=0;while(1){if((n|0)>=(e|0))break;a[A+(n*20|0)+8>>2]=f;NP(A,n,h);l=A+(n*20|0)|0;t=a[l>>2]|0;b=A+(n*20|0)+4|0;s=+(t+-1|0);r=1;while(1){if((r|0)>=(t|0))break;o=a[(a[b>>2]|0)+(r<<2)>>2]|0;B=+((a[A+(o*20|0)>>2]|0)+-1|0)+s;c[f+(r<<2)>>2]=B-+((JP(A,n,o,h)|0)<<1|0);r=r+1|0}XP(A,n,h);f=f+(a[l>>2]<<2)|0;n=n+1|0}f=AU(A,e)|0}else{t=0;while(1){if((t|0)>=(e|0))break;NP(A,t,h);b=A+(t*20|0)|0;w=a[b>>2]|0;u=A+(t*20|0)+4|0;k=w+-2|0;o=A+(t*20|0)+8|0;l=1;while(1){if((l|0)>=(w|0))break;r=a[(a[u>>2]|0)+(l<<2)>>2]|0;n=k+(a[A+(r*20|0)>>2]|0)|0;B=+(n-((JP(A,t,r,h)|0)<<1)|0);s=+c[(a[o>>2]|0)+(l<<2)>>2];if(s>2]=s;l=l+1|0}XP(A,t,h);a[o>>2]=f;f=f+(a[b>>2]<<2)|0;t=t+1|0}f=$p(A,e)|0}L2(h);L2(a[d>>2]|0);a[d>>2]=0;A:do{if(i|0){r=0;while(1){if((r|0)>=(e|0))break A;a[A+(r*20|0)+8>>2]=i;i=i+(a[A+(r*20|0)>>2]<<2)|0;r=r+1|0}}}while(0);return f|0}function iU(A,e,i,r,f,l,t,s,w){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;t=t|0;s=s|0;w=w|0;var u=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0.0,C=0,I=0.0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0,R=0.0;N=k;k=k+80|0;J=N+56|0;V=N+48|0;Q=N+40|0;g=N+32|0;v=N+24|0;B=N+16|0;o=N+8|0;u=N;h=t&4;F=t&3;A:do{if((w|0)<0)i=0;else{if(0)tR();t=(s|0)==2;e:do{if(t){if(0)L3(93290,24,1,a[15712]|0)|0;i=eU(A,e)|0;C=14}else{switch(s|0){case 1:{i=_p(A,e)|0;if(i|0){M=i;break e}ao(0,93315,u)|0;ao(3,93364,o)|0;C=15;break e}case 3:break;default:{C=15;break e}}if(0)L3(93417,21,1,a[15712]|0)|0;i=qp(A,e)|0;C=14}}while(0);if((C|0)==14)if(!i)C=15;else M=i;do{if((C|0)==15){if(0)L3(93439,26,1,a[15712]|0)|0;if(!(a[A+8>>2]|0)){M=AU(A,e)|0;break}else{M=$p(A,e)|0;break}}}while(0);if(0){D=a[15712]|0;b[B>>3]=+cR();f3(D,93466,B)|0;L3(93478,25,1,D)|0;tR()}e:do{if((e|0)>1&(h|0)!=0)if((rU(A,e,r,l,h,F,t&1)|0)<0){g=0;v=0;i=-1;A=0;B=0;h=0;o=0;u=0;s=0;t=0}else{t=0;while(1){if((t|0)>=(l|0)){Z=0;C=35;break e}s=r+(t<<2)|0;d=1.0;i=0;while(1){if((i|0)==(e|0))break;I=+y(+ +b[(a[s>>2]|0)+(i<<3)>>3]);d=I>d?I:d;i=i+1|0}d=1.0/d;i=0;while(1){if((i|0)==(e|0)){i=0;break}D=(a[s>>2]|0)+(i<<3)|0;b[D>>3]=+b[D>>3]*d;i=i+1|0}while(1){if((i|0)==(e|0))break;I=(+c8()+-.5)*1.0e-06;D=(a[s>>2]|0)+(i<<3)|0;b[D>>3]=+b[D>>3]+I;i=i+1|0}gO(e,a[s>>2]|0);t=t+1|0}}else{Z=Kp(0,e,l,r,f)|0;C=35}}while(0);e:do{if((C|0)==35){if(0){D=a[15712]|0;b[v>>3]=+cR();f3(D,93504,v)|0}if((e|0)==1|(w|0)==0){i=0;break A}if(0){D=a[15712]|0;b[g>>3]=+cR();f3(D,93466,g)|0;L3(90019,26,1,D)|0;tR()}B=l<<2;D=qF(B)|0;v=e<<2;A=U(v,l)|0;Y=qF(A)|0;i=0;while(1){if((i|0)>=(l|0))break;s=Y+((U(i,e)|0)<<2)|0;a[D+(i<<2)>>2]=s;u=r+(i<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;c[s+(t<<2)>>2]=+b[(a[u>>2]|0)+(t<<3)>>3];t=t+1|0}i=i+1|0}i:do{if(!F){o=e+-1|0;i=0;d=0.0;u=0;while(1){if((u|0)>=(o|0))break i;h=e-u|0;s=i;t=1;while(1){i=s+1|0;if((t|0)>=(h|0))break;s=i;d=+c[M+(i<<2)>>2]+d;t=t+1|0}u=u+1|0}}else d=+(e|0)*.5*+(e+-1|0)}while(0);m=(U(e+1|0,e)|0)/2|0;L=(F|0)==2;if(L)pO(m,M);UO(m,M);W=e<<3;s=qF(W)|0;Y6(s|0,0,W|0)|0;z=e+-1|0;i=0;u=0;while(1){if((u|0)>=(z|0)){i=e;t=0;u=0;break}o=e-u|0;E=0.0;t=1;while(1){i=i+1|0;if((t|0)>=(o|0))break;I=+c[M+(i<<2)>>2];G=s+(t+u<<3)|0;b[G>>3]=+b[G>>3]-I;E=E+I;t=t+1|0}G=s+(u<<3)|0;b[G>>3]=+b[G>>3]-E;u=u+1|0}while(1){if((t|0)>=(e|0))break;c[M+(u<<2)>>2]=+b[s+(t<<3)>>3];G=i+u|0;i=i+-1|0;t=t+1|0;u=G}G=qF(B)|0;a[G>>2]=qF(A)|0;i=1;while(1){if((i|0)>=(l|0))break;a[G+(i<<2)>>2]=(a[G>>2]|0)+((U(i,e)|0)<<2);i=i+1|0}o=qF(v)|0;u=qF(v)|0;t=qF(m<<2)|0;if(0){C=a[15712]|0;b[Q>>3]=+cR();f3(C,93466,Q)|0;L3(90046,15,1,C)|0;tR()}C=(Z|0)==0;Z=a[15712]|0;i=0;h=0;I=1797693134862315708145274.0e284;while(1){if(!(h<<24>>24==0&(i|0)<(w|0)))break;Y6(s|0,0,W|0)|0;if(L){xO(m,M,t);g=0;A=0}else{g=0;A=0}while(1){if((g|0)>=(z|0)){h=e;B=0;A=0;break}v=e-g+-1|0;RO(v,0.0,u);h=0;while(1){if((h|0)>=(l|0))break;Q=D+(h<<2)|0;RO(v,+c[(a[Q>>2]|0)+(g<<2)>>2],o);FO(v,o,-1.0,(a[Q>>2]|0)+(g<<2)+4|0);pO(v,o);MO(v,o,u,u);h=h+1|0}TO(v,u);h=0;while(1){if((h|0)>=(v|0))break;B=u+(h<<2)|0;E=+c[B>>2];if(E>=3402823466385288598117041.0e14|E<0.0)c[B>>2]=0.0;h=h+1|0}h=A+1|0;A=g+1|0;i:do{if(L){E=0.0;B=0;while(1){if((B|0)>=(v|0))break i;Q=t+(h<<2)|0;X=+c[Q>>2]*+c[u+(B<<2)>>2];c[Q>>2]=X;Q=s+(A+B<<3)|0;b[Q>>3]=+b[Q>>3]-X;E=E+X;h=h+1|0;B=B+1|0}}else{E=0.0;B=0;while(1){if((B|0)>=(v|0))break i;X=+c[u+(B<<2)>>2];c[t+(h<<2)>>2]=X;Q=s+(A+B<<3)|0;b[Q>>3]=+b[Q>>3]-X;E=E+X;h=h+1|0;B=B+1|0}}}while(0);Q=s+(g<<3)|0;b[Q>>3]=+b[Q>>3]-E;g=A;A=h}while(1){if((B|0)>=(e|0)){h=0;break}c[t+(A<<2)>>2]=+b[s+(B<<3)>>3];Q=h+A|0;h=h+-1|0;B=B+1|0;A=Q}while(1){if((h|0)>=(l|0)){E=0.0;h=0;break}YO(t,e,a[D+(h<<2)>>2]|0,a[G+(h<<2)>>2]|0);h=h+1|0}while(1){if((h|0)>=(l|0))break;E=+NO(e,a[D+(h<<2)>>2]|0,a[G+(h<<2)>>2]|0)+E;h=h+1|0}E=E*2.0+d;h=0;while(1){if((h|0)>=(l|0))break;Q=D+(h<<2)|0;YO(M,e,a[Q>>2]|0,o);E=E-+NO(e,a[Q>>2]|0,o);h=h+1|0}R=I-E;X=+b[23294];h=(E=0.0?R:-R)/I=(l|0))break;v=D+(A<<2)|0;B=a[v>>2]|0;i:do{if(C){if((uS(M,B,a[G+(A<<2)>>2]|0,e,.001,e)|0)<0){g=G;v=M;i=-1;A=Y;B=D;h=G;break e}}else{JO(e,B,o);if((uS(M,o,a[G+(A<<2)>>2]|0,e,.001,e)|0)<0){g=G;v=M;i=-1;A=Y;B=D;h=G;break e}else B=0;while(1){if((B|0)>=(e|0))break i;if((n[(a[(a[f+(B<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)a[(a[v>>2]|0)+(B<<2)>>2]=a[o+(B<<2)>>2];B=B+1|0}}}while(0);A=A+1|0}if(((i|0)%5|0|0)==0&0!=0?(b[V>>3]=E,f3(Z,90371,V)|0,((i+5|0)%50|0|0)==0):0)w6(10,Z)|0;i=i+1|0;I=E}if(!0)h=0;else{X=+fU(D,M,l,e,F);R=+cR();b[J>>3]=X;a[J+8>>2]=i;b[J+16>>3]=R;f3(Z,90062,J)|0;h=0}while(1){if((h|0)>=(l|0)){g=G;v=M;A=Y;B=D;h=G;break e}A=D+(h<<2)|0;v=r+(h<<2)|0;B=0;while(1){if((B|0)>=(e|0))break;b[(a[v>>2]|0)+(B<<3)>>3]=+c[(a[A>>2]|0)+(B<<2)>>2];B=B+1|0}h=h+1|0}}}while(0);L2(A);L2(B);L2(v);if(g|0){L2(a[g>>2]|0);L2(h)}L2(o);L2(u);L2(s);L2(t)}}while(0);k=N;return i|0}function rU(A,e,i,f,n,l,t){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;var s=0,w=0,u=0,o=0.0,h=0,d=0,B=0.0,v=0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+32|0;u=p+24|0;H=p+8|0;D=p+4|0;X=p;N=(e|0)<50?e:50;R=$F(N<<2)|0;Y=e<<3;w=$F(U(Y,N)|0)|0;s=0;while(1){if((s|0)>=(N|0))break;a[R+(s<<2)>>2]=w+((U(s,e)|0)<<3);s=s+1|0}W=N<<1;W=(W|0)>50?W:50;W=(W|0)>(e|0)?e:W;a[u>>2]=0;fP(A,e,W,u,t);aP(a[u>>2]|0,e,W);$O(a[u>>2]|0,W,e,R,N);L2(a[a[u>>2]>>2]|0);L2(a[u>>2]|0);W=e<<2;J=$F(W)|0;s=0;while(1){if((s|0)>=(e|0))break;a[J+(s<<2)>>2]=-1;s=s+1|0}lS(H,e);F=a[A+8>>2]|0;M=(t|0)!=0;if(M)xP(A,e);m=$F(W)|0;V=$F(160)|0;w=$F(e*160|0)|0;L=$F(160)|0;s=0;while(1){if((s|0)==40)break;a[L+(s<<2)>>2]=w+((U(s,e)|0)<<2);s=s+1|0}s=(a8()|0)%(e|0)|0;a[J+(s<<2)>>2]=0;a[V>>2]=s;w=a[L>>2]|0;if(M){pS(s,A,e,w);w=0;u=0}else{rS(s,A,e,w,H);w=0;u=0}while(1){if((u|0)>=(e|0)){d=1;break}z=a[(a[L>>2]|0)+(u<<2)>>2]|0;a[m+(u<<2)>>2]=z;Q=(z|0)>(w|0);s=Q?u:s;w=Q?z:w;u=u+1|0}while(1){if((d|0)==40){s=0;break}a[J+(s<<2)>>2]=d;a[V+(d<<2)>>2]=s;v=L+(d<<2)|0;w=a[v>>2]|0;if(M){pS(s,A,e,w);h=0;w=0}else{rS(s,A,e,w,H);h=0;w=0}while(1){if((h|0)>=(e|0))break;u=m+(h<<2)|0;z=a[u>>2]|0;t=a[(a[v>>2]|0)+(h<<2)>>2]|0;t=(z|0)<(t|0)?z:t;a[u>>2]=t;if((t|0)<=(w|0)){if((t|0)==(w|0)?((a8()|0)%(h+1|0)|0|0)==0:0){w=a[u>>2]|0;s=h}}else{w=t;s=h}h=h+1|0}d=d+1|0}while(1){if((s|0)>=(e|0))break;a[m+(s<<2)>>2]=-1;s=s+1|0}C=$F(W)|0;z=$F(e<<4)|0;I=e+-1|0;Z=I<<2;Q=0;u=0;t=0;w=0;G=0;while(1){if((G|0)>=(e|0))break;s=J+(G<<2)|0;A:do{if((a[s>>2]|0)>-1){v=z+(G<<4)+4|0;a[v>>2]=$F(Z)|0;E=$F(Z)|0;a[z+(G<<4)+8>>2]=E;a[z+(G<<4)>>2]=I;r[z+(G<<4)+12>>0]=1;d=L+(a[s>>2]<<2)|0;s=0;while(1){if((s|0)==(G|0)){h=G;break}a[(a[v>>2]|0)+(s<<2)>>2]=s;a[E+(s<<2)>>2]=a[(a[d>>2]|0)+(s<<2)>>2];s=s+1|0}while(1){s=h+1|0;if((h|0)==(I|0)){s=I;break A}a[(a[v>>2]|0)+(h<<2)>>2]=s;a[E+(h<<2)>>2]=a[(a[d>>2]|0)+(s<<2)>>2];h=s}}else{if((w|0)<40){t=$F(W)|0;u=$F(W)|0;w=e;s=1}else s=0;r[z+(G<<4)+12>>0]=s;a[z+(G<<4)+4>>2]=t;a[z+(G<<4)+8>>2]=u;a[z+(G<<4)>>2]=40;s=0;while(1){if((s|0)==40)break;a[t+(s<<2)>>2]=a[V+(s<<2)>>2];a[u+(s<<2)>>2]=a[(a[L+(s<<2)>>2]|0)+(G<<2)>>2];s=s+1|0}u=u+160|0;t=t+160|0;w=w+-40|0;s=40}}while(0);Q=s+Q|0;G=G+1|0}L2(m);L2(C);if(L|0){L2(a[L>>2]|0);L2(L)}L=$F(e*20|0)|0;h=Q+e<<2;d=$F(h)|0;E=(l|0)==2;h=$F(h)|0;v=0;while(1){if((v|0)>=(e|0))break;a[L+(v*20|0)+4>>2]=d;a[L+(v*20|0)+8>>2]=h;s=(a[z+(v<<4)>>2]|0)+1|0;C=L+(v*20|0)|0;a[C>>2]=s;u=(a[z+(v<<4)+8>>2]|0)+-4|0;t=z+(v<<4)+4|0;A:do{if(E){o=0.0;w=1;while(1){if((w|0)>=(s|0))break A;a[d+(w<<2)>>2]=a[(a[t>>2]|0)+(w+-1<<2)>>2];g=+(a[u+(w<<2)>>2]|0);g=-1.0/(g*g);c[h+(w<<2)>>2]=g;o=o-g;w=w+1|0;s=a[C>>2]|0}}else{o=0.0;w=1;while(1){if((w|0)>=(s|0))break A;a[d+(w<<2)>>2]=a[(a[t>>2]|0)+(w+-1<<2)>>2];g=-1.0/+(a[u+(w<<2)>>2]|0);c[h+(w<<2)>>2]=g;o=o-g;w=w+1|0;s=a[C>>2]|0}}}while(0);a[d>>2]=v;c[h>>2]=o;W=a[C>>2]|0;h=h+(W<<2)|0;d=d+(W<<2)|0;v=v+1|0}m=$F(f<<2)|0;a[m>>2]=$F(U(f<<3,N)|0)|0;s=1;while(1){if((s|0)>=(f|0))break;a[m+(s<<2)>>2]=(a[m>>2]|0)+((U(s,N)|0)<<3);s=s+1|0}A:do{if(n){s=0;while(1){if((s|0)>=(f|0))break;u=m+(s<<2)|0;w=0;while(1){if((w|0)>=(N|0))break;b[(a[u>>2]|0)+(w<<3)>>3]=0.0;w=w+1|0}s=s+1|0}if((f|0)!=2){s=0;while(1){if((s|0)>=(f|0)){s=0;break A}b[(a[m+(s<<2)>>2]|0)+(s<<3)>>3]=1.0;s=s+1|0}}b[a[m>>2]>>3]=1.0;s=m+4|0;if(!((AK(R,N,e,a[s>>2]|0)|0)<<24>>24)){w=a[s>>2]|0;s=0;while(1){if((s|0)>=(N|0))break;b[w+(s<<3)>>3]=0.0;s=s+1|0}b[w+8>>3]=1.0;s=0}else s=0}else{w=0;while(1){if((w|0)>=(f|0)){s=0;break A}u=m+(w<<2)|0;s=0;while(1){if((s|0)>=(N|0))break;g=+(a8()|0)*4.656612875245797e-10;b[(a[u>>2]|0)+(s<<3)>>3]=g;s=s+1|0}w=w+1|0}}}while(0);while(1){if((s|0)>=(f|0))break;yO(R,e,N,a[m+(s<<2)>>2]|0,a[i+(s<<2)>>2]|0);s=s+1|0}a[D>>2]=0;a[X>>2]=0;vO(L,R,e,N,D);dO(R,a[D>>2]|0,N,e,N,X);L2(a[a[D>>2]>>2]|0);L2(a[D>>2]|0);G=$F(Y)|0;Q=$F(N<<3)|0;s=0;w=0;o=+aU(i,z,f,e,l);A:while(1){if((w|0)<50&s<<24>>24==0)I=0;else break;while(1){if((I|0)>=(f|0))break;Z=i+(I<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;h=G+(u<<3)|0;b[h>>3]=0.0;d=(a[z+(u<<4)+8>>2]|0)+-4|0;v=a[L+(u*20|0)+4>>2]|0;E=a[L+(u*20|0)+8>>2]|0;C=L+(u*20|0)|0;B=0.0;t=1;while(1){if((t|0)>=(a[C>>2]|0))break;s=a[v+(t<<2)>>2]|0;g=+jP(i,f,u,s);if(g>1.0e-30){g=-(+c[E+(t<<2)>>2]*+(a[d+(t<<2)>>2]|0))/g;b[h>>3]=g*+b[(a[Z>>2]|0)+(s<<3)>>3]+ +b[h>>3];B=B-g}t=t+1|0}b[h>>3]=+b[h>>3]+ +b[(a[Z>>2]|0)+(u<<3)>>3]*B;u=u+1|0}hO(R,N,e,G,Q);s=m+(I<<2)|0;if(wS(a[X>>2]|0,a[s>>2]|0,Q,N,.001,N,0)|0){w=-1;break A}yO(R,e,N,a[s>>2]|0,a[Z>>2]|0);I=I+1|0}if(!(w&1)){g=+aU(i,z,f,e,l);o=+y(+(g-o))/(g+1.0e-10);s=o<+b[23294]&1;o=g}else s=0;w=w+1|0}L2(Q);L2(G);if(M){TP(A,e,F);s=0}else s=0;while(1){if((s|0)>=(e|0))break;if(r[z+(s<<4)+12>>0]|0){L2(a[z+(s<<4)+4>>2]|0);L2(a[z+(s<<4)+8>>2]|0)}s=s+1|0}L2(z);L2(a[L+4>>2]|0);L2(a[L+8>>2]|0);L2(L);L2(J);L2(V);L2(a[m>>2]|0);L2(m);s=a[X>>2]|0;if(s|0){L2(a[s>>2]|0);L2(a[X>>2]|0)}L2(a[R>>2]|0);L2(R);tS(H);k=p;return w|0}function fU(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,b=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0;h=r+-1|0;k=(f|0)==2;n=0.0;f=0;w=0;while(1){if((w|0)>=(h|0))break;o=r-w|0;u=1;while(1){f=f+1|0;if((u|0)>=(o|0))break;b=u+w|0;l=0.0;t=0;while(1){if((t|0)>=(i|0))break;d=a[A+(t<<2)>>2]|0;s=+c[d+(w<<2)>>2]-+c[d+(b<<2)>>2];l=l+s*s;t=t+1|0}l=+z(+l);s=+c[e+(f<<2)>>2];if(k){l=1.0/+z(+s)-l;l=l*l}else{l=1.0/s-l;l=l*l}u=u+1|0;n=l*s+n}w=w+1|0}return+n}function aU(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0,o=0.0,h=0;A:do{if((f|0)==2){n=0.0;s=0;while(1){if((s|0)>=(r|0))break A;u=a[e+(s<<4)>>2]|0;k=e+(s<<4)+4|0;w=e+(s<<4)+8|0;c=0;while(1){if((c|0)>=(u|0))break;t=a[(a[k>>2]|0)+(c<<2)>>2]|0;if((t|0)>(s|0)){l=0.0;f=0;while(1){if((f|0)>=(i|0))break;h=a[A+(f<<2)>>2]|0;o=+b[h+(s<<3)>>3]-+b[h+(t<<3)>>3];l=o*o+l;f=f+1|0}l=+z(+l);o=+(a[(a[w>>2]|0)+(c<<2)>>2]|0);l=o-l;n=l*l/(o*o)+n}c=c+1|0}s=s+1|0}}else{s=0;n=0.0;while(1){if((s|0)>=(r|0))break A;w=a[e+(s<<4)>>2]|0;u=e+(s<<4)+4|0;k=e+(s<<4)+8|0;c=0;while(1){if((c|0)>=(w|0))break;t=a[(a[u>>2]|0)+(c<<2)>>2]|0;if((t|0)>(s|0)){l=0.0;f=0;while(1){if((f|0)>=(i|0))break;h=a[A+(f<<2)>>2]|0;o=+b[h+(s<<3)>>3]-+b[h+(t<<3)>>3];l=o*o+l;f=f+1|0}l=+z(+l);o=+(a[(a[k>>2]|0)+(c<<2)>>2]|0);l=o-l;n=l*l/o+n}c=c+1|0}s=s+1|0}}}while(0);return+n}function nU(A){A=+A;return+(+z(+A)*A)}function lU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0;n=a[47137]|0;r=0.0;f=0;while(1){if((f|0)>=(n|0))break;l=+b[A+(f<<3)>>3]-+b[e+(f<<3)>>3];b[i+(f<<3)>>3]=l;r=l*l+r;f=f+1|0}return+ +z(+r)}function tU(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0,l=0;l=qF(A<<2)|0;f=0;n=qF(U(A<<3,e)|0)|0;while(1){if((f|0)>=(A|0))break;a[l+(f<<2)>>2]=n;r=0;while(1){if((r|0)>=(e|0))break;b[n+(r<<3)>>3]=i;r=r+1|0}f=f+1|0;n=n+(e<<3)|0}return l|0}function cU(A){A=A|0;if(A|0){L2(a[A>>2]|0);L2(A)}return}function bU(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0;u=k;k=k+16|0;w=vh(A)|0;s=gh(A)|0;c=Yo(A,2,92493,0)|0;A:do{if(!e){b[23294]=+(w|0)*.0001;YF(A,108886,186352);n=po(a[A+60>>2]|0,90100)|0;if(!n)i=.99;else i=+$3(n);b[23296]=i;n=qF((w<<2)+4|0)|0;t=A+16|0;a[(a[t>>2]|0)+152>>2]=n;n=0;i=0.0;l=cd(A)|0;while(1){if(!l)break A;a[(a[(a[t>>2]|0)+152>>2]|0)+(n<<2)>>2]=l;o=a[l+16>>2]|0;a[o+120>>2]=n;a[o+124>>2]=-1;f=+uU(A,l,c)+i;n=n+1|0;i=f;l=bd(A,l)|0}}else{b[23294]=.0001;YF(A,108886,186352);n=0;i=0.0;l=cd(A)|0;while(1){if(!l)break A;a[(a[l+16>>2]|0)+120>>2]=n;f=+uU(A,l,c)+i;n=n+1|0;i=f;l=bd(A,l)|0}}}while(0);n=po(A,90108)|0;if((n|0)!=0?(r[n>>0]|0)!=0:0){i=+b[23294];f=+$3(n);if(!(i>f))i=f}else i=i/+(((s|0)>1?s:1)|0)*+z(+ +(w|0))+1.0;b[23295]=i;if(!(a[47134]|e)){e=tU(w,w,i)|0;o=A+16|0;a[(a[o>>2]|0)+160>>2]=e;e=tU(w,w,1.0)|0;a[(a[o>>2]|0)+164>>2]=e;e=tU(w,a[47137]|0,1.0)|0;a[(a[o>>2]|0)+168>>2]=e;e=kU(w,w,a[47137]|0)|0;a[(a[o>>2]|0)+172>>2]=e}k=u;return w|0}function sU(A,e,i){A|0;e|0;i|0;var r=0,f=0,n=0,l=0,t=0,c=0;0;0;Ah(A,e)|0;A:while(1){if(!c)break;a[c>>2]&3;a[((l|0)==2?c:c+-48|0)+40>>2]|0;a[((l|0)==3?c:c+48|0)+40>>2]|0;do{if((n|0)!=(l|0)){(l|0)==(e|0);if((r|0)!=1){t?n:l;a[i>>2]=f;r+1|0;break}if(!((n|0)==(f|0)&t)?!((n|0)==(e|0)&(l|0)==(f|0)):0){2;break A}else 1}}while(0);eh(A,c,e)|0}return r|0}function wU(A,e,i){A|0;e|0;i|0;var r=0,f=0,n=0,l=0;k;k=k+16|0;l;A+60|0;A:while(1){e:while(1){if(!e)break A;switch(sU(A,e,f)|0){case 0:{5;break e}case 1:{8;break e}default:0}}if((r|0)==5){if((i|0)==(e|0))bd(A,i)|0;Cd(a[n>>2]|0,e)|0;0;continue}else if((r|0)==8){if((i|0)==(e|0))bd(A,i)|0;Cd(a[n>>2]|0,e)|0;a[f>>2]|0;continue}}k=l;return i|0}function uU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0;c=k;k=k+32|0;l=c+8|0;n=c;e=Oo(A,e)|0;r=0.0;while(1){if(!e)break;switch(oU(e,i,n)|0){case 0:{f=+b[n>>3];break}case 2:{a[l>>2]=Vh(A)|0;b[l+8>>3]=1.0;ao(3,90120,l)|0;t=6;break}default:t=6}if((t|0)==6){t=0;b[n>>3]=1.0;f=1.0}b[(a[e+16>>2]|0)+136>>3]=f;e=_o(A,e)|0;r=f+r}k=c;return+r}function kU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0;t=qF((A<<2)+4|0)|0;c=(e<<2)+4|0;s=i<<3;n=0;while(1){if((n|0)>=(A|0))break;l=t+(n<<2)|0;a[l>>2]=qF(c)|0;f=0;while(1){if((f|0)>=(e|0))break;r=qF(s)|0;a[(a[l>>2]|0)+(f<<2)>>2]=r;r=0;while(1){if((r|0)>=(i|0))break;b[(a[(a[l>>2]|0)+(f<<2)>>2]|0)+(r<<3)>>3]=0.0;r=r+1|0}f=f+1|0}a[(a[l>>2]|0)+(f<<2)>>2]=0;n=n+1|0}a[t+(n<<2)>>2]=0;return t|0}function oU(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+8|0;l=c;do{if((e|0)!=0?(f=Uo(A,e)|0,(r[f>>0]|0)!=0):0){a[l>>2]=i;if(((J3(f,101209,l)|0)>=1?(n=+b[i>>3],!(n<0.0)):0)?n!=0.0|(a[47134]|0)!=0:0){A=0;break}a[t>>2]=f;ao(0,90147,t)|0;A=2}else A=1}while(0);k=c;return A|0}function hU(A){A=A|0;return bU(A,0)|0}function dU(A){A=A|0;A=A+16|0;L2(a[(a[A>>2]|0)+152>>2]|0);if(!(a[47134]|0)){cU(a[(a[A>>2]|0)+160>>2]|0);cU(a[(a[A>>2]|0)+164>>2]|0);cU(a[(a[A>>2]|0)+168>>2]|0);BU(a[(a[A>>2]|0)+172>>2]|0);a[(a[A>>2]|0)+172>>2]=0}return}function BU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(A|0){f=0;while(1){n=A+(f<<2)|0;e=a[n>>2]|0;if(!e)break;else r=0;while(1){i=a[e+(r<<2)>>2]|0;if(!i)break;L2(i);r=r+1|0;e=a[n>>2]|0}L2(e);f=f+1|0}L2(A)}return}function vU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+(e|0);e=A+16|0;while(1){if((i|0)>=(a[47137]|0))break;f=+c8()*r;b[(a[(a[e>>2]|0)+132>>2]|0)+(i<<3)>>3]=f;i=i+1|0}return}function gU(A,e){A=A|0;e=e|0;vU(A,e,2);return}function EU(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;r=+(e|0);f=+c8()*r;i=A+16|0;b[a[(a[i>>2]|0)+132>>2]>>3]=f;r=+c8()*r;b[(a[(a[i>>2]|0)+132>>2]|0)+8>>3]=r;if((a[47137]|0)>2)gU(A,e);return}function CU(A,e){A=A|0;e=e|0;var i=0,f=0;f=k;k=k+16|0;i=f;if(0)L3(90165,26,1,a[15712]|0)|0;e=ip(A,e,2)|0;A:do{if((e|0)!=1){if(!(a[46797]|e)){ao(0,90192,i)|0;a[46797]=1}i=A+16|0;e=0;while(1){A=a[(a[(a[i>>2]|0)+152>>2]|0)+(e<<2)>>2]|0;if(!A)break A;if(!(r[(a[A+16>>2]|0)+119>>0]|0))EU(A,1);e=e+1|0}}}while(0);k=f;return}function IU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0.0;h=k;k=k+96|0;o=h+80|0;w=h;if(0){L3(90241,25,1,a[15712]|0)|0;tR()}u=A+16|0;f=a[u>>2]|0;c=a[f+164>>2]|0;f=a[f+160>>2]|0;s=0;while(1){if((s|0)>=(e|0))break;l=f+(s<<2)|0;t=c+(s<<2)|0;r=0;while(1){if((r|0)==(s|0))break;n=+b[(a[l>>2]|0)+(r<<3)>>3];n=1.0/(n*n);i=a[(a[u>>2]|0)+152>>2]|0;i=th(A,a[i+(s<<2)>>2]|0,a[i+(r<<2)>>2]|0,0,0)|0;if(i)n=+b[(a[i+16>>2]|0)+128>>3]*n;b[(a[c+(r<<2)>>2]|0)+(s<<3)>>3]=n;b[(a[t>>2]|0)+(r<<3)>>3]=n;r=r+1|0}s=s+1|0}A=a[47137]|0;r=0;while(1){if((r|0)<(e|0))i=0;else break;while(1){if((i|0)>=(A|0))break;b[(a[(a[(a[u>>2]|0)+168>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=0.0;i=i+1|0}r=r+1|0}l=0;while(1){i=a[(a[(a[u>>2]|0)+152>>2]|0)+(l<<2)>>2]|0;if(!i)break;A=i+16|0;i=0;while(1){if((i|0)>=(e|0))break;A:do{if((l|0)!=(i|0)){n=+lU(a[(a[A>>2]|0)+132>>2]|0,a[(a[(a[(a[(a[u>>2]|0)+152>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+132>>2]|0,w);f=a[47137]|0;n=1.0/n;r=0;while(1){if((r|0)>=(f|0))break A;s=a[u>>2]|0;d=+b[w+(r<<3)>>3];d=(d-+b[(a[(a[s+160>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3]*d*n)*+b[(a[(a[s+164>>2]|0)+(l<<2)>>2]|0)+(i<<3)>>3];b[(a[(a[(a[s+172>>2]|0)+(l<<2)>>2]|0)+(i<<2)>>2]|0)+(r<<3)>>3]=d;s=(a[(a[s+168>>2]|0)+(l<<2)>>2]|0)+(r<<3)|0;b[s>>3]=+b[s>>3]+d;r=r+1|0}}}while(0);i=i+1|0}l=l+1|0}if(0){u=a[15712]|0;b[o>>3]=+cR();f3(u,90267,o)|0}k=h;return}function ZU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0;l=k;k=k+32|0;n=l+24|0;f=l+8|0;r=l;t=+b[23294];b[23216]=t*t;while(1){i=GU(A,e)|0;if(!i)break;QU(A,e,i)}if(!0)e=A+16|0;else{i=a[15712]|0;b[r>>3]=+mU(A,e);f3(i,90277,r)|0;e=A+16|0;c=a[(a[e>>2]|0)+156>>2]|0;r=(c|0)==(a[47136]|0)?90291:195059;t=+cR();a[f>>2]=c;a[f+4>>2]=r;b[f+8>>3]=t;f3(i,90293,f)|0}e=a[(a[e>>2]|0)+156>>2]|0;if((e|0)==(a[47136]|0)){c=Vh(A)|0;a[n>>2]=e;a[n+4>>2]=c;ao(0,90320,n)|0}k=l;return}function GU(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+16|0;h=d;u=(a[46799]|0)+1|0;a[46799]=u;A=a[A+16>>2]|0;if((a[A+156>>2]|0)<(a[47136]|0)){s=a[47137]|0;w=A+152|0;c=A+168|0;A=0;i=0.0;t=0;while(1){if((t|0)>=(e|0))break;f=a[(a[w>>2]|0)+(t<<2)>>2]|0;if((n[(a[f+16>>2]|0)+119>>0]|0)<=1){l=0.0;r=0;while(1){if((r|0)>=(s|0))break;B=+b[(a[(a[c>>2]|0)+(t<<2)>>2]|0)+(r<<3)>>3];l=B*B+l;r=r+1|0}if(l>i){A=f;i=l}}t=t+1|0}if(!(i<+b[23216])){if(0!=0&((u|0)%100|0|0)==0?(o=a[15712]|0,b[h>>3]=+z(+i),f3(o,90371,h)|0,((a[46799]|0)%1e3|0|0)==0):0)w6(10,o)|0}else A=0}else A=0;k=d;return A|0}function QU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u;c=i+16|0;s=a[(a[c>>2]|0)+120>>2]|0;f=a[46798]|0;if(!f){n=a[47137]|0;n=$F(U(n<<3,n)|0)|0}else{n=a[47137]|0;n=eV(f,U(n<<3,n)|0)|0}a[46798]=n;LU(A,e,s,n);l=a[47137]|0;t=A+16|0;f=0;while(1){if((f|0)>=(l|0))break;b[185736+(f<<3)>>3]=-+b[(a[(a[(a[t>>2]|0)+168>>2]|0)+(s<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}VK(n,185816,185736,l);f=0;while(1){if((f|0)>=(a[47137]|0))break;r=+b[23296];r=(1.0-r)*2.0*+c8()+r;l=185816+(f<<3)|0;r=r*+b[l>>3];b[l>>3]=r;l=(a[(a[c>>2]|0)+132>>2]|0)+(f<<3)|0;b[l>>3]=+b[l>>3]+r;f=f+1|0}c=(a[t>>2]|0)+156|0;a[c>>2]=(a[c>>2]|0)+1;WU(A,e,s);if(MR()|0){n=a[47137]|0;r=0.0;f=0;while(1){if((f|0)>=(n|0))break;r=+y(+ +b[185816+(f<<3)>>3])+r;f=f+1|0}r=+z(+r);s=a[15712]|0;a[w>>2]=Vh(i)|0;b[w+8>>3]=r;f3(s,90362,w)|0}k=u;return}function mU(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0.0;h=e+-1|0;u=A+16|0;k=a[47137]|0;n=0;i=0.0;A:while(1){if((n|0)>=(h|0))break;w=a[u>>2]|0;o=a[w+152>>2]|0;t=n+1|0;c=(a[o+(n<<2)>>2]|0)+16|0;s=w+164|0;w=w+160|0;l=t;while(1){if((l|0)>=(e|0)){n=t;continue A}f=(a[o+(l<<2)>>2]|0)+16|0;A=0;r=0.0;while(1){if((A|0)>=(k|0))break;d=+b[(a[(a[c>>2]|0)+132>>2]|0)+(A<<3)>>3]-+b[(a[(a[f>>2]|0)+132>>2]|0)+(A<<3)>>3];A=A+1|0;r=d*d+r}d=+b[(a[(a[w>>2]|0)+(n<<2)>>2]|0)+(l<<3)>>3];d=((+z(+r)*-2.0+d)*d+r)*+b[(a[(a[s>>2]|0)+(n<<2)>>2]|0)+(l<<3)>>3]+i;l=l+1|0;i=d}}return+i}function LU(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0,o=0.0,h=0.0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+80|0;C=I;E=a[A+16>>2]|0;c=a[E+164>>2]|0;s=a[E+160>>2]|0;E=a[E+152>>2]|0;t=a[E+(i<<2)>>2]|0;n=a[47137]|0;A=0;while(1){if((A|0)>=(n|0))break;l=U(n,A)|0;f=0;while(1){if((f|0)==(n|0))break;b[r+(l+f<<3)>>3]=0.0;f=f+1|0}A=A+1|0}g=a[47137]|0;v=t+16|0;B=c+(i<<2)|0;c=s+(i<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;A:do{if((t|0)!=(i|0)){f=(a[E+(t<<2)>>2]|0)+16|0;d=0.0;A=0;while(1){if((A|0)>=(g|0))break;h=+b[(a[(a[v>>2]|0)+132>>2]|0)+(A<<3)>>3]-+b[(a[(a[f>>2]|0)+132>>2]|0)+(A<<3)>>3];b[C+(A<<3)>>3]=h;d=h*h+d;A=A+1|0}w=1.0/+nU(d);l=0;while(1){if((l|0)>=(g|0))break A;f=(a[B>>2]|0)+(t<<3)|0;n=(a[c>>2]|0)+(t<<3)|0;u=+b[C+(l<<3)>>3];A=0;while(1){o=+b[f>>3];h=+b[n>>3];if((A|0)==(l|0))break;s=r+((U(g,A)|0)+l<<3)|0;b[s>>3]=+b[s>>3]+o*w*h*u*+b[C+(A<<3)>>3];A=A+1|0}s=r+((U(g,l)|0)+l<<3)|0;b[s>>3]=(1.0-h*w*(d-u*u))*o+ +b[s>>3];l=l+1|0}}}while(0);t=t+1|0}f=a[47137]|0;l=1;while(1){if((l|0)>=(f|0))break;n=U(f,l)|0;A=0;while(1){if((A|0)==(l|0))break;b[r+(n+A<<3)>>3]=+b[r+((U(f,A)|0)+l<<3)>>3];A=A+1|0}l=l+1|0}k=I;return}function WU(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0.0,o=0.0,h=0,d=0,B=0;s=k;k=k+80|0;c=s;t=A+16|0;f=a[t>>2]|0;n=a[(a[f+152>>2]|0)+(i<<2)>>2]|0;r=a[47137]|0;f=f+168|0;A=0;while(1){if((A|0)>=(r|0))break;b[(a[(a[f>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3]=0.0;A=A+1|0}f=n+16|0;A=0;while(1){if((A|0)>=(e|0))break;A:do{if((A|0)!=(i|0)){l=+lU(a[(a[f>>2]|0)+132>>2]|0,a[(a[(a[(a[(a[t>>2]|0)+152>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+132>>2]|0,c);n=a[47137]|0;l=1.0/l;r=0;while(1){if((r|0)>=(n|0))break A;w=a[t>>2]|0;h=a[w+172>>2]|0;d=(a[(a[h+(i<<2)>>2]|0)+(A<<2)>>2]|0)+(r<<3)|0;u=+b[c+(r<<3)>>3];u=(u-+b[(a[(a[w+160>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3]*u*l)*+b[(a[(a[w+164>>2]|0)+(i<<2)>>2]|0)+(A<<3)>>3];b[d>>3]=u;w=a[w+168>>2]|0;B=(a[w+(i<<2)>>2]|0)+(r<<3)|0;b[B>>3]=+b[B>>3]+u;h=(a[(a[h+(A<<2)>>2]|0)+(i<<2)>>2]|0)+(r<<3)|0;u=+b[h>>3];o=-+b[d>>3];b[h>>3]=o;w=(a[w+(A<<2)>>2]|0)+(r<<3)|0;b[w>>3]=o-u+ +b[w>>3];r=r+1|0}}}while(0);A=A+1|0}k=s;return}function yU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;i=A+16|0;n=a[46800]|0;e=a[(a[i>>2]|0)+124>>2]|0;while(1){if((e|0)<=0)break;l=(e+-1|0)/2|0;t=n+(l<<2)|0;r=a[t>>2]|0;f=r+16|0;if(+b[(a[f>>2]|0)+136>>3]<=+b[(a[i>>2]|0)+136>>3])break;a[t>>2]=A;a[(a[i>>2]|0)+124>>2]=l;a[n+(e<<2)>>2]=r;a[(a[f>>2]|0)+124>>2]=e;e=l}return}function zU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;l=A+16|0;t=a[46801]|0;c=a[46800]|0;n=a[(a[l>>2]|0)+124>>2]|0;while(1){r=n<<1|1;if((r|0)>=(t|0))break;i=r+1|0;if((i|0)<(t|0)){f=a[c+(i<<2)>>2]|0;e=a[c+(r<<2)>>2]|0;if(+b[(a[f+16>>2]|0)+136>>3]<+b[(a[e+16>>2]|0)+136>>3]){r=i;e=f}else s=6}else{e=a[c+(r<<2)>>2]|0;s=6}if((s|0)==6)s=0;i=e+16|0;if(+b[(a[l>>2]|0)+136>>3]<=+b[(a[i>>2]|0)+136>>3])break;a[c+(r<<2)>>2]=A;a[(a[l>>2]|0)+124>>2]=r;a[c+(n<<2)>>2]=e;a[(a[i>>2]|0)+124>>2]=n;n=r}return}function YU(A){A=A|0;var e=0,i=0;e=(a[A+16>>2]|0)+124|0;if((a[e>>2]|0)>=0)vA(90377,90397,643,90405);i=a[46801]|0;a[46801]=i+1;a[e>>2]=i;a[(a[46800]|0)+(i<<2)>>2]=A;if((i|0)>0)yU(A);return}function DU(){var A=0,e=0,i=0,r=0;e=a[46801]|0;if(!e)A=0;else{r=a[46800]|0;A=a[r>>2]|0;i=e+-1|0;a[46801]=i;i=a[r+(i<<2)>>2]|0;a[r>>2]=i;a[(a[i+16>>2]|0)+124>>2]=0;if((e|0)>2)zU(i);a[(a[A+16>>2]|0)+124>>2]=-1}return A|0}function MU(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+16|0;i=r;a[46800]=qF((e<<2)+4|0)|0;if(0){L3(90419,28,1,a[15712]|0)|0;tR()}e=cd(A)|0;while(1){if(!e)break;FU(A,e);e=bd(A,e)|0}if(0){A=a[15712]|0;b[i>>3]=+cR();f3(A,90267,i)|0}L2(a[46800]|0);k=r;return}function FU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0,l=0,t=0,c=0;r=a[(a[A+16>>2]|0)+152>>2]|0;f=+b[23295];i=0;while(1){n=a[r+(i<<2)>>2]|0;if(!n)break;b[(a[n+16>>2]|0)+136>>3]=f;i=i+1|0}a[46802]=e;c=a[e+16>>2]|0;b[c+136>>3]=0.0;a[c+128>>2]=0;YU(e);A:while(1){c=DU()|0;if(!c)break;i=a[46802]|0;t=c+16|0;if((c|0)!=(i|0))VU(A,i,c,+b[(a[t>>2]|0)+136>>3]);l=Ah(A,c)|0;while(1){if(!l)continue A;i=a[l>>2]&3;e=a[((i|0)==3?l:l+48|0)+40>>2]|0;if((e|0)==(c|0))e=a[((i|0)==2?l:l+-48|0)+40>>2]|0;i=a[t>>2]|0;f=+b[(a[l+16>>2]|0)+136>>3]+ +b[i+136>>3];r=a[e+16>>2]|0;n=r+136|0;do{if(+b[n>>3]>f){b[n>>3]=f;if((a[r+124>>2]|0)>-1){yU(e);break}else{a[r+128>>2]=(a[i+128>>2]|0)+1;YU(e);break}}}while(0);l=eh(A,l,c)|0}}return}function VU(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;e=a[(a[e+16>>2]|0)+120>>2]|0;i=a[(a[i+16>>2]|0)+120>>2]|0;A=a[(a[A+16>>2]|0)+160>>2]|0;b[(a[A+(i<<2)>>2]|0)+(e<<3)>>3]=r;b[(a[A+(e<<2)>>2]|0)+(i<<3)>>3]=r;return}function JU(A){A=A|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;NU(A);return}function NU(A){A=A|0;var e=0,i=0,r=0,f=0;e=vh(A)|0;r=qF(e*56|0)|0;e=qF((e<<2)+4|0)|0;f=A+16|0;a[(a[f>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;RH(e);a[(a[e+16>>2]|0)+112>>2]=r+(i*56|0);a[(a[(a[f>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;e=bd(A,e)|0;i=i+1|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;XU(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function XU(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,0.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function RU(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+80|0;s=g+32|0;l=g+24|0;n=g+16|0;t=g;v=g+72|0;o=g+40|0;if(vh(A)|0){JU(A);f=po(A,95738)|0;if(f)if(r[f>>0]|0){e=vd(A,f,0)|0;if(!e){a[n>>2]=f;ao(0,90448,n)|0;ao(3,90488,l)|0;e=0;B=1}else B=0}else{e=0;B=1}else{e=0;B=0}w=Yo(A,1,95738,0)|0;u=(w|0)!=0;f=po(A,140742)|0;if((f|0?r[f>>0]|0:0)?(c=t+8|0,a[s>>2]=t,a[s+4>>2]=c,(J3(f,105503,s)|0)==1):0)b[c>>3]=+b[t>>3];if(vh(A)|0){s=WE(A,v,0)|0;if((a[v>>2]|0)==1){n=(e|0)!=0;do{if(n)i=e;else{if(u?(i=HU(A,w)|0,i|0):0)break;i=0}}while(0);f=NK(A,i)|0;if(!((i|0)!=0|u^1))Vo(f,w,142463)|0;d=(cd(A)|0)+16|0;L2(a[(a[d>>2]|0)+112>>2]|0);a[(a[d>>2]|0)+112>>2]=0;eS(A)|0;Pp(A);e=(B|0)==0|n?e:f}else{bC(A,2,8,o)|0;a[o+12>>2]=0;c=(B|0)==0;t=0;while(1){if((t|0)>=(a[v>>2]|0))break;n=a[s+(t<<2)>>2]|0;i=(e|0)!=0;if(i?(Dd(n,e)|0)!=0:0)f=e;else d=23;do{if((d|0)==23){d=0;if(u?(h=HU(n,w)|0,h|0):0){f=h;break}f=0}}while(0);VE(n)|0;l=NK(n,f)|0;e=c|i?e:l;if(u?(f|0)==0|(f|0)==(e|0):0)Vo(l,w,142463)|0;eS(n)|0;t=t+1|0}d=(cd(A)|0)+16|0;L2(a[(a[d>>2]|0)+112>>2]|0);a[(a[d>>2]|0)+112>>2]=0;cC(a[v>>2]|0,s,A,o)|0;Pp(A)}i=0;while(1){if((i|0)>=(a[v>>2]|0))break;Cd(A,a[s+(i<<2)>>2]|0)|0;i=i+1|0}L2(s)}if(B|0)xo(A,95738,Vh(e)|0)|0;VJ(A)}k=g;return}function HU(A,e){A=A|0;e=e|0;var i=0;i=cd(A)|0;while(1){if(!i){i=0;break}if((gR(Uo(i,e)|0)|0)<<24>>24)break;i=bd(A,i)|0}return i|0}function pU(A){A=A|0;var e=0,i=0;e=cd(A)|0;if(e|0){while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}UU(A)}return}function UU(A){A=A|0;L2(a[(a[A+16>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function xU(A){A=A|0;TU(A);if(!((vh(A)|0)==0?!(a[(a[A+16>>2]|0)+180>>2]|0):0)){A_(A);VJ(A)}return}function TU(A){A=A|0;a[47147]=Yo(A,1,108230,108236)|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;jU(A,0);SU(A);return}function jU(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;l=(e|0)==0;if(l){KU(n);e=n}i=RB(A)|0;while(1){if(!i)break;if(!(Z1(Vh(i)|0,108006,7)|0)){Td(i,137483,280,1)|0;_U(e,i);jU(i,0)}else jU(i,e);i=HB(i)|0}if(l?(r=a[n+8>>2]|0,f=A+16|0,a[(a[f>>2]|0)+180>>2]=r,r|0):0){l=eV(a[n>>2]|0,(r<<2)+4|0)|0;a[(a[f>>2]|0)+184>>2]=l}k=t;return}function SU(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=qF((vh(A)|0)<<2)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;n=A+16|0;a[(a[n>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;Td(e,137447,304,1)|0;a[(a[e+16>>2]|0)+112>>2]=f+(i<<2);a[(a[(a[n>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;PU(e);r=Oo(A,e)|0;while(1){if(!r)break;OU(r);r=_o(A,r)|0}e=bd(A,e)|0;i=i+1|0}return}function PU(A){A=A|0;xo(A,108230,108236)|0;return}function OU(A){A=A|0;Td(A,137460,304,1)|0;return}function KU(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function _U(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function qU(A){A=A|0;var e=0,i=0;e=cd(A)|0;if(e|0){L2(a[(a[e+16>>2]|0)+112>>2]|0);while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}$U(A)}return}function $U(A){A=A|0;L2(a[(a[A+16>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483);return}function Ax(A){A=A|0;var e=0,i=0,r=0;ex(A);ix(A,0);rx(A,0);fx(A,0);e=a[A+16>>2]|0;if(!(a[(a[e+8>>2]|0)+84>>2]|0)){e=f[e+136>>1]&14;if(e<<16>>16)Jp(A,e&65535)|0}else{e=cd(A)|0;while(1){if(!e)break;r=a[e+16>>2]|0;i=a[r+132>>2]|0;b[i>>3]=+b[r+16>>3]*.013888888888888888;b[i+8>>3]=+b[r+24>>3]*.013888888888888888;e=bd(A,e)|0}Rp(A,1)}VJ(A);return}function ex(A){A=A|0;var e=0,i=0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;e=cd(A)|0;while(1){if(!e)break;RH(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;Td(e,137460,176,1)|0;VR(e)|0;e=_o(A,e)|0}i=bd(A,i)|0}return}function ix(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;l=(e|0)==0;if(l){cx(n);e=n}i=RB(A)|0;while(1){if(!i)break;if(!(Z1(Vh(i)|0,108006,7)|0)){Td(i,137483,280,1)|0;JF(i);bx(e,i);ix(i,0)}else ix(i,e);i=HB(i)|0}if(l?(r=a[n+8>>2]|0,f=A+16|0,a[(a[f>>2]|0)+180>>2]=r,r|0):0){l=eV(a[n>>2]|0,(r<<2)+4|0)|0;a[(a[f>>2]|0)+184>>2]=l}k=t;return}function rx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0;p=k;k=k+448|0;Y=p+400|0;z=p+384|0;H=p+344|0;R=p+304|0;X=p+248|0;W=p+192|0;I=p+152|0;Z=p+96|0;u=p+72|0;i=p+64|0;M=p+32|0;F=p;m=p+416|0;g=p+328|0;C=p+288|0;V=p+232|0;J=p+176|0;N=p+136|0;D=p+80|0;w=a[A+60>>2]|0;if(0>1){ax(e);y=a[15712]|0;a[i>>2]=Vh(A)|0;f3(y,90723,i)|0}y=A+16|0;f=e+1|0;i=1;r=0;while(1){n=a[y>>2]|0;if((i|0)>(a[n+180>>2]|0))break;L=a[(a[n+184>>2]|0)+(i<<2)>>2]|0;rx(L,f);i=i+1|0;r=(vh(L)|0)+r|0}o=(vh(A)|0)-r|0;i=a[y>>2]|0;L=(a[i+180>>2]|0)+o|0;E=(L|0)==0;if(E?(a[i+12>>2]|0)==0:0){H=i+16|0;a[H>>2]=0;a[H+4>>2]=0;a[H+8>>2]=0;a[H+12>>2]=0;b[i+40>>3]=18.0;b[i+32>>3]=18.0}else{i=m+16|0;do{if((bC(A,4,4,m)|0)>>>0>=3)if((a[i>>2]|0)==4?(a[m+28>>2]&2|0)!=0:0){r=Yo(w,0,99190,0)|0;i=Yo(w,1,99190,0)|0;if((r|0)!=0|(i|0)!=0){a[m+24>>2]=qF(L<<2)|0;break}else{a[u>>2]=Vh(A)|0;ao(0,90577,u)|0;i=0;r=0;break}}else{i=0;r=0}else{a[i>>2]=3;i=0;r=0}}while(0);G=qF(L<<5)|0;Q=qF(L<<2)|0;B=m+24|0;w=(r|0)!=0;d=0;n=1;while(1){f=a[y>>2]|0;if((n|0)>(a[f+180>>2]|0))break;f=a[(a[f+184>>2]|0)+(n<<2)>>2]|0;v=G+(d<<5)|0;h=(a[f+16>>2]|0)+16|0;a[v>>2]=a[h>>2];a[v+4>>2]=a[h+4>>2];a[v+8>>2]=a[h+8>>2];a[v+12>>2]=a[h+12>>2];a[v+16>>2]=a[h+16>>2];a[v+20>>2]=a[h+20>>2];a[v+24>>2]=a[h+24>>2];a[v+28>>2]=a[h+28>>2];if(w&(a[B>>2]|0)!=0){v=kR(f,r,0,0)|0;a[(a[B>>2]|0)+(d<<2)>>2]=v}a[Q+(d<<2)>>2]=f;d=d+1|0;n=n+1|0}A:do{if((o|0)>0){u=M+16|0;o=M+24|0;h=(i|0)!=0;w=cd(A)|0;r=d;while(1){if(!w)break A;f=a[w+16>>2]|0;n=f+112|0;if(!(a[n>>2]|0)){a[n>>2]=A;a[M>>2]=0;a[M+4>>2]=0;a[M+8>>2]=0;a[M+12>>2]=0;b[u>>3]=+b[f+96>>3]+ +b[f+88>>3];b[o>>3]=+b[f+80>>3];v=G+(r<<5)|0;a[v>>2]=a[M>>2];a[v+4>>2]=a[M+4>>2];a[v+8>>2]=a[M+8>>2];a[v+12>>2]=a[M+12>>2];a[v+16>>2]=a[M+16>>2];a[v+20>>2]=a[M+20>>2];a[v+24>>2]=a[M+24>>2];a[v+28>>2]=a[M+28>>2];if(h&(a[B>>2]|0)!=0){v=kR(w,i,0,0)|0;a[(a[B>>2]|0)+(r<<2)>>2]=v}a[Q+(r<<2)>>2]=w;r=r+1|0}w=bd(A,w)|0}}}while(0);v=rC(L,G,m)|0;i=a[B>>2]|0;if(i|0)L2(i);nx(F,2147483647.0,2147483647.0);B=F+16|0;nx(g,-2147483647.0,-2147483647.0);a[B>>2]=a[g>>2];a[B+4>>2]=a[g+4>>2];a[B+8>>2]=a[g+8>>2];a[B+12>>2]=a[g+12>>2];n=M+16|0;w=M+8|0;u=M+24|0;o=F+8|0;h=F+24|0;d=a[15712]|0;i=0;while(1){if((i|0)>=(L|0))break;t=+(a[v+(i<<3)>>2]|0);s=+(a[v+(i<<3)+4>>2]|0);r=G+(i<<5)|0;a[M>>2]=a[r>>2];a[M+4>>2]=a[r+4>>2];a[M+8>>2]=a[r+8>>2];a[M+12>>2]=a[r+12>>2];a[M+16>>2]=a[r+16>>2];a[M+20>>2]=a[r+20>>2];a[M+24>>2]=a[r+24>>2];a[M+28>>2]=a[r+28>>2];l=+b[M>>3]+t;b[M>>3]=l;t=+b[n>>3]+t;b[n>>3]=t;c=+b[w>>3]+s;b[w>>3]=c;s=+b[u>>3]+s;b[u>>3]=s;b[F>>3]=+b[(+b[F>>3]>3];b[o>>3]=+b[(+b[o>>3]>3];b[B>>3]=+b[(+b[B>>3]>t?F:M)+16>>3];b[h>>3]=+b[(+b[h>>3]>s?F:M)+24>>3];r=a[Q+(i<<2)>>2]|0;f=r+16|0;if((i|0)<(a[(a[y>>2]|0)+180>>2]|0)){g=(a[f>>2]|0)+16|0;a[g>>2]=a[M>>2];a[g+4>>2]=a[M+4>>2];a[g+8>>2]=a[M+8>>2];a[g+12>>2]=a[M+12>>2];a[g+16>>2]=a[M+16>>2];a[g+20>>2]=a[M+20>>2];a[g+24>>2]=a[M+24>>2];a[g+28>>2]=a[M+28>>2];if(0>1){ax(e);a[Z>>2]=Vh(r)|0;b[Z+8>>3]=l;b[Z+16>>3]=c;b[Z+24>>3]=t;b[Z+32>>3]=s;f3(d,90556,Z)|0}}else{g=(a[f>>2]|0)+16|0;a[z>>2]=a[M>>2];a[z+4>>2]=a[M+4>>2];a[z+8>>2]=a[M+8>>2];a[z+12>>2]=a[M+12>>2];a[Y>>2]=a[n>>2];a[Y+4>>2]=a[n+4>>2];a[Y+8>>2]=a[n+8>>2];a[Y+12>>2]=a[n+12>>2];lx(C,z,Y);a[g>>2]=a[C>>2];a[g+4>>2]=a[C+4>>2];a[g+8>>2]=a[C+8>>2];a[g+12>>2]=a[C+12>>2];if(0>1){ax(e);g=Vh(r)|0;f=a[f>>2]|0;c=+b[f+16>>3];s=+b[f+24>>3];a[I>>2]=g;b[I+8>>3]=c;b[I+16>>3]=s;f3(d,90544,I)|0}}i=i+1|0}r=a[y>>2]|0;i=a[r+12>>2]|0;if(i|0){l=+b[i+24>>3];if(E){t=+b[i+32>>3];a[F>>2]=0;a[F+4>>2]=0;a[F+8>>2]=0;a[F+12>>2]=0;b[B>>3]=l;b[h>>3]=t;t=0.0;c=l}else{t=+b[F>>3];c=+b[B>>3]}s=l-(c-t);l=s*.5;if(s>0.0){b[F>>3]=t-l;b[B>>3]=c+l}}if((e|0)>0)l=+((a[m+8>>2]|0)>>>0)*.5;else l=0.0;t=+b[F>>3]-l;b[F>>3]=t;c=+b[B>>3]+l;b[B>>3]=c;s=-l-+b[r+56>>3]+ +b[o>>3];b[o>>3]=s;l=+b[r+88>>3]+l+ +b[h>>3];b[h>>3]=l;if(0>1){ax(e);a[W>>2]=Vh(A)|0;b[W+8>>3]=t;b[W+16>>3]=s;b[W+24>>3]=c;b[W+32>>3]=l;f3(d,90556,W)|0}i=0;while(1){if((i|0)>=(L|0))break;r=a[Q+(i<<2)>>2]|0;f=r+16|0;if((i|0)<(a[(a[y>>2]|0)+180>>2]|0)){W=(a[f>>2]|0)+16|0;a[M>>2]=a[W>>2];a[M+4>>2]=a[W+4>>2];a[M+8>>2]=a[W+8>>2];a[M+12>>2]=a[W+12>>2];a[M+16>>2]=a[W+16>>2];a[M+20>>2]=a[W+20>>2];a[M+24>>2]=a[W+24>>2];a[M+28>>2]=a[W+28>>2];a[z>>2]=a[W>>2];a[z+4>>2]=a[W+4>>2];a[z+8>>2]=a[W+8>>2];a[z+12>>2]=a[W+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(M,z,Y);a[z>>2]=a[n>>2];a[z+4>>2]=a[n+4>>2];a[z+8>>2]=a[n+8>>2];a[z+12>>2]=a[n+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(V,z,Y);a[n>>2]=a[V>>2];a[n+4>>2]=a[V+4>>2];a[n+8>>2]=a[V+8>>2];a[n+12>>2]=a[V+12>>2];W=(a[f>>2]|0)+16|0;a[W>>2]=a[M>>2];a[W+4>>2]=a[M+4>>2];a[W+8>>2]=a[M+8>>2];a[W+12>>2]=a[M+12>>2];a[W+16>>2]=a[M+16>>2];a[W+20>>2]=a[M+20>>2];a[W+24>>2]=a[M+24>>2];a[W+28>>2]=a[M+28>>2];if(0>1){ax(e);W=Vh(r)|0;l=+b[M>>3];t=+b[w>>3];c=+b[n>>3];s=+b[u>>3];a[X>>2]=W;b[X+8>>3]=l;b[X+16>>3]=t;b[X+24>>3]=c;b[X+32>>3]=s;f3(d,90556,X)|0}}else{W=(a[f>>2]|0)+16|0;a[z>>2]=a[W>>2];a[z+4>>2]=a[W+4>>2];a[z+8>>2]=a[W+8>>2];a[z+12>>2]=a[W+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(J,z,Y);a[W>>2]=a[J>>2];a[W+4>>2]=a[J+4>>2];a[W+8>>2]=a[J+8>>2];a[W+12>>2]=a[J+12>>2];if(0>1){ax(e);W=Vh(r)|0;m=a[f>>2]|0;c=+b[m+16>>3];s=+b[m+24>>3];a[R>>2]=W;b[R+8>>3]=c;b[R+16>>3]=s;f3(d,90544,R)|0}}i=i+1|0}a[z>>2]=a[B>>2];a[z+4>>2]=a[B+4>>2];a[z+8>>2]=a[B+8>>2];a[z+12>>2]=a[B+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(N,z,Y);a[B>>2]=a[N>>2];a[B+4>>2]=a[N+4>>2];a[B+8>>2]=a[N+8>>2];a[B+12>>2]=a[N+12>>2];a[z>>2]=a[F>>2];a[z+4>>2]=a[F+4>>2];a[z+8>>2]=a[F+8>>2];a[z+12>>2]=a[F+12>>2];a[Y>>2]=a[F>>2];a[Y+4>>2]=a[F+4>>2];a[Y+8>>2]=a[F+8>>2];a[Y+12>>2]=a[F+12>>2];tx(D,z,Y);a[F>>2]=a[D>>2];a[F+4>>2]=a[D+4>>2];a[F+8>>2]=a[D+8>>2];a[F+12>>2]=a[D+12>>2];R=(a[y>>2]|0)+16|0;a[R>>2]=a[F>>2];a[R+4>>2]=a[F+4>>2];a[R+8>>2]=a[F+8>>2];a[R+12>>2]=a[F+12>>2];a[R+16>>2]=a[F+16>>2];a[R+20>>2]=a[F+20>>2];a[R+24>>2]=a[F+24>>2];a[R+28>>2]=a[F+28>>2];if(0>1){ax(e);R=Vh(A)|0;l=+b[F>>3];t=+b[o>>3];c=+b[B>>3];s=+b[h>>3];a[H>>2]=R;b[H+8>>3]=l;b[H+16>>3]=t;b[H+24>>3]=c;b[H+32>>3]=s;f3(d,90556,H)|0}L2(G);L2(Q);L2(v)}k=p;return}function fx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0,s=0.0,w=0.0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0;v=k;k=k+80|0;B=v+32|0;l=v+8|0;i=v;d=A+16|0;u=a[d>>2]|0;o=+b[u+16>>3];h=+b[u+24>>3];if(0>1){ax(e);u=a[15712]|0;a[i>>2]=Vh(A)|0;f3(u,90529,i)|0}u=(e|0)!=0;A:do{if(u){i=cd(A)|0;r=a[15712]|0;while(1){if(!i)break A;f=i+16|0;n=a[f>>2]|0;if((a[n+112>>2]|0)==(A|0)?(g=n+16|0,b[g>>3]=+b[g>>3]+o,n=n+24|0,b[n>>3]=+b[n>>3]+h,0>1):0){ax(e);g=Vh(i)|0;n=a[f>>2]|0;s=+b[n+16>>3];w=+b[n+24>>3];a[l>>2]=g;b[l+8>>3]=s;b[l+16>>3]=w;f3(r,90544,l)|0}i=bd(A,i)|0}}else r=a[15712]|0}while(0);l=e+1|0;A=1;while(1){i=a[d>>2]|0;if((A|0)>(a[i+180>>2]|0))break;n=a[(a[i+184>>2]|0)+(A<<2)>>2]|0;if(u){f=n+16|0;i=a[f>>2]|0;t=+b[i+16>>3]+o;c=+b[i+24>>3]+h;s=+b[i+32>>3]+o;w=+b[i+40>>3]+h;if(0>1){ax(e);a[B>>2]=Vh(n)|0;b[B+8>>3]=t;b[B+16>>3]=c;b[B+24>>3]=s;b[B+32>>3]=w;f3(r,90556,B)|0;i=a[f>>2]|0}b[i+16>>3]=t;b[i+24>>3]=c;b[i+32>>3]=s;b[i+40>>3]=w}fx(n,l);A=A+1|0}k=v;return}function ax(A){A=A|0;var e=0;e=a[15712]|0;while(1){if((A|0)<=0)break;m3(90574,e)|0;A=A+-1|0}return}function nx(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e;b[A+8>>3]=i;return}function lx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+b[i+8>>3]+ +b[e+8>>3])*.5;b[A>>3]=(+b[i>>3]+ +b[e>>3])*.5;b[A+8>>3]=r;return}function tx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+b[e+8>>3]-+b[i+8>>3];b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=r;return}function cx(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function bx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function sx(A){A=A|0;var e=0;e=cd(A)|0;while(1){if(!e)break;sH(e);e=bd(A,e)|0}wx(A);return}function wx(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;A=1;while(1){r=a[e>>2]|0;i=a[r+184>>2]|0;if((A|0)>(a[r+180>>2]|0))break;r=a[i+(A<<2)>>2]|0;TF(a[(a[r+16>>2]|0)+12>>2]|0);wx(r);A=A+1|0}L2(i);return}function ux(A){A=A|0;var e=0,i=0,r=0;Kd(A,1,137447,304,1);KR(A)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;r=A+16|0;a[(a[r>>2]|0)+152>>2]=e;e=0;i=cd(A)|0;while(1){if(!i)break;kx(i);a[(a[(a[r>>2]|0)+152>>2]|0)+(e<<2)>>2]=i;a[(a[i+16>>2]|0)+120>>2]=e;e=e+1|0;i=bd(A,i)|0}r=Yo(A,2,92493,0)|0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;ox(e,r);e=_o(A,e)|0}i=bd(A,i)|0}hx(A);return}function kx(A){A=A|0;var e=0;FR(A);e=qF((l[(a[(Id(A)|0)+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[A+16>>2]|0)+132>>2]=e;DH(A,a[(a[(Id(A)|0)+16>>2]|0)+116>>2]&1);return}function ox(A,e){A=A|0;e=e|0;var i=0,r=0.0;Td(A,137460,176,1)|0;r=+oR(A,a[47174]|0,1.0,0.0);i=A+16|0;b[(a[i>>2]|0)+128>>3]=r;r=+oR(A,e,+b[1371],0.0);b[(a[i>>2]|0)+136>>3]=r;VR(A)|0;return}function hx(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;d=k;k=k+32|0;h=d+16|0;o=d;s=d+24|0;w=Yo(A,1,102623,0)|0;A:do{if(w|0){u=Yo(A,1,90660,0)|0;l=A+16|0;t=(u|0)==0;c=a[15712]|0;n=0;while(1){i=a[(a[(a[l>>2]|0)+152>>2]|0)+(n<<2)>>2]|0;if(!i)break A;A=Uo(i,w)|0;do{if(r[A>>0]|0){f=i+16|0;e=a[(a[f>>2]|0)+132>>2]|0;r[s>>0]=0;a[o>>2]=e;a[o+4>>2]=e+8;a[o+8>>2]=s;if((J3(A,101749,o)|0)<=1){a[h>>2]=Vh(i)|0;a[h+4>>2]=A;f3(c,90664,h)|0;break}e:do{if(+b[23293]>0.0){A=0;while(1){if((A|0)==2)break e;B=e+(A<<3)|0;b[B>>3]=+b[B>>3]/+b[23293];A=A+1|0}}}while(0);A=a[f>>2]|0;r[A+119>>0]=1;if((r[s>>0]|0)!=33){if(t)break;if(!((gR(Uo(i,u)|0)|0)<<24>>24))break;A=a[f>>2]|0}r[A+119>>0]=3}}while(0);n=n+1|0}}}while(0);k=d;return}function dx(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}Bx(A);return}function Bx(A){A=A|0;vx(A);A=A+16|0;L2(a[(a[A>>2]|0)+152>>2]|0);L2(a[(a[A>>2]|0)+140>>2]|0);return}function vx(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;n=A+16|0;f=1;while(1){r=a[n>>2]|0;e=a[r+184>>2]|0;if((f|0)>(a[r+180>>2]|0))break;r=a[e+(f<<2)>>2]|0;e=r+16|0;TF(a[(a[e>>2]|0)+12>>2]|0);i=a[(a[e>>2]|0)+140>>2]|0;if(i|0){L2(a[i>>2]|0);L2(a[(a[e>>2]|0)+140>>2]|0)}vx(r);f=f+1|0}L2(e);if((Zd(A)|0)!=(A|0))Sd(A,137483)|0;return}function gx(A,e){A=A|0;e=e|0;a[e+4>>2]=Yo(A,0,90716,0)|0;a[e+8>>2]=Yo(A,0,141116,0)|0;a[e+12>>2]=Yo(A,0,141048,0)|0;a[e>>2]=A;a[e+16>>2]=0;a[e+36>>2]=bC(A,2,4,e+20|0)|0;return}function Ex(A){A=A|0;var e=0,i=0;zH(A,2);e=qF(56)|0;i=A+16|0;a[(a[i>>2]|0)+140>>2]=e;e=(kR(A,Yo(A,0,91374,0)|0,2,2)|0)&65535;e=(e&65535)<10?e:10;f[(a[i>>2]|0)+176>>1]=e;a[47137]=e&65535;Cx(A,0,A);jx(A);ux(A);return}function Cx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;s=k;k=k+16|0;c=s;b=(e|0)==0;if(b){Ix(c);e=c}n=i+16|0;r=RB(A)|0;while(1){if(!r)break;if(!(Z1(Vh(r)|0,108006,7)|0)){Td(r,137483,280,1)|0;w=qF(56)|0;o=a[r+16>>2]|0;a[o+140>>2]=w;u=a[n>>2]|0;f[o+176>>1]=f[u+176>>1]|0;a[w+44>>2]=(a[(a[u+140>>2]|0)+44>>2]|0)+1;a[w+48>>2]=i;Zx(e,r);Cx(r,0,r)}else Cx(r,e,i);r=HB(r)|0}if(b?(l=a[c+8>>2]|0,t=A+16|0,a[(a[t>>2]|0)+180>>2]=l,l|0):0){o=eV(a[c>>2]|0,(l<<2)+4|0)|0;a[(a[t>>2]|0)+184>>2]=o}k=s;return}function Ix(A){A=A|0;a[A>>2]=0;a[A+4>>2]=0;a[A+8>>2]=0;return}function Zx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=A+8|0;i=(a[n>>2]|0)+1|0;a[n>>2]=i;r=A+4|0;l=a[r>>2]|0;f=l+10|0;if((i|0)<(l|0))A=a[A>>2]|0;else{a[r>>2]=f;i=eV(a[A>>2]|0,f<<2)|0;a[A>>2]=i;A=i;i=a[n>>2]|0}a[A+(i<<2)>>2]=e;return}function Gx(A){A=A|0;var e=0,i=0;e=k;k=k+64|0;i=e;gx(A,i);Qx(A,i);mx(A);Lx(A,A);Wx(A);k=e;return}function Qx(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0.0,g=0.0,E=0,C=0.0,I=0.0;B=k;k=k+64|0;d=B+48|0;i=B+40|0;u=B+56|0;w=B+52|0;s=B;if(0){h=a[15712]|0;a[i>>2]=Vh(A)|0;f3(h,90723,i)|0}i=cd(A)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+164>>2]=0;i=bd(A,i)|0}o=yx(A,e)|0;h=E_(o,u,w)|0;i=h;while(1){c=i+4|0;f=a[i>>2]|0;if(!f)break;Sx(f,s);i=cd(f)|0;while(1){if(!i)break;n=bd(f,i)|0;l=i+16|0;t=a[l>>2]|0;if(a[t+212>>2]|0){E=zx(i,f)|0;Qx(E,e);E=a[(a[E+16>>2]|0)+140>>2]|0;g=+b[E+24>>3];t=a[l>>2]|0;b[t+32>>3]=g;v=+b[E+32>>3];b[t+40>>3]=v;g=g*36.0;b[t+88>>3]=g;b[t+96>>3]=g;b[t+80>>3]=v*72.0;i=n;continue}if(a[(a[t+112>>2]|0)+8>>2]|0){i=n;continue}Cd(f,i)|0;i=n}if((vh(f)|0)<=1){i=c;continue}if((a[e>>2]|0)==(A|0))Zj(f)|0;nT(f,s);i=c}i=a[u>>2]|0;if((i|0)<=1)if((i|0)==1){xR(a[h>>2]|0);i=0}else i=0;else{if(!(a[w>>2]|0))f=0;else{f=qF(i)|0;r[f>>0]=1;i=a[u>>2]|0}a[e+40>>2]=f;i=pE(i,h,0,e+20|0)|0;L2(f)}Yx(o,a[u>>2]|0,h,i,A,e);L2(i);f=cd(o)|0;while(1){if(!f)break;n=a[f+16>>2]|0;i=a[n+212>>2]|0;if(!i){i=a[(a[n+112>>2]|0)+8>>2]|0;if(i|0){u=a[n+132>>2]|0;E=a[(a[i+16>>2]|0)+132>>2]|0;b[E>>3]=+b[u>>3];b[E+8>>3]=+b[u+8>>3]}}else{u=a[n+132>>2]|0;I=+b[n+32>>3];C=+b[u>>3]-I*.5;E=a[(a[i+16>>2]|0)+140>>2]|0;b[E+8>>3]=C;v=+b[n+40>>3];g=+b[u+8>>3]-v*.5;b[E+16>>3]=g;b[E+24>>3]=I+C;b[E+32>>3]=v+g}f=bd(o,f)|0}E=(a[(a[A+16>>2]|0)+140>>2]|0)+8|0;u=(a[(a[o+16>>2]|0)+140>>2]|0)+8|0;a[E>>2]=a[u>>2];a[E+4>>2]=a[u+4>>2];a[E+8>>2]=a[u+8>>2];a[E+12>>2]=a[u+12>>2];a[E+16>>2]=a[u+16>>2];a[E+20>>2]=a[u+20>>2];a[E+24>>2]=a[u+24>>2];a[E+28>>2]=a[u+28>>2];Dx(o,h);L2(h);if(0){E=a[15712]|0;a[d>>2]=Vh(A)|0;f3(E,90734,d)|0}k=B;return}function mx(A){A=A|0;var e=0,i=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;if(r[i+118>>0]|0){c=a[(a[(a[i+212>>2]|0)+16>>2]|0)+140>>2]|0;t=+b[c+24>>3]-+b[c+8>>3];l=+b[c+32>>3]-+b[c+16>>3];n=t*36.0;f=l*36.0;c=a[i+132>>2]|0;b[c>>3]=t*.5;b[c+8>>3]=l*.5;b[i+32>>3]=t;b[i+40>>3]=l;b[i+96>>3]=n;b[i+88>>3]=n;b[i+80>>3]=l*72.0;i=a[(a[i+12>>2]|0)+44>>2]|0;b[i>>3]=n;b[i+8>>3]=f;l=-n;b[i+16>>3]=l;b[i+24>>3]=f;b[i+32>>3]=l;f=-f;b[i+40>>3]=f;b[i+48>>3]=n;b[i+56>>3]=f}e=bd(A,e)|0}return}function Lx(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,n=0.0,l=0,t=0,c=0.0,s=0,w=0.0,u=0,k=0.0,o=0;l=A+16|0;t=a[(a[l>>2]|0)+140>>2]|0;f=+b[t+8>>3];n=+b[t+16>>3];t=(A|0)!=(e|0);A:do{if(t){i=cd(A)|0;while(1){if(!i){A=1;break A}r=a[i+16>>2]|0;if((a[r+212>>2]|0)==(A|0)){r=a[r+132>>2]|0;b[r>>3]=+b[r>>3]+f;r=r+8|0;b[r>>3]=+b[r>>3]+n}i=bd(A,i)|0}}else A=1}while(0);while(1){i=a[l>>2]|0;if((A|0)>(a[i+180>>2]|0))break;i=a[(a[i+184>>2]|0)+(A<<2)>>2]|0;if(t){r=a[(a[i+16>>2]|0)+140>>2]|0;o=r+8|0;u=r+16|0;s=r+24|0;r=r+32|0;k=+b[u>>3]+n;w=+b[s>>3]+f;c=+b[r>>3]+n;b[o>>3]=+b[o>>3]+f;b[u>>3]=k;b[s>>3]=w;b[r>>3]=c}Lx(i,e);A=A+1|0}return}function Wx(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0;e=A+16|0;A=a[e>>2]|0;i=a[A+140>>2]|0;n=+b[i+16>>3]*72.0;f=+b[i+24>>3]*72.0;r=+b[i+32>>3]*72.0;b[A+16>>3]=+b[i+8>>3]*72.0;b[A+24>>3]=n;b[A+32>>3]=f;b[A+40>>3]=r;A=1;while(1){i=a[e>>2]|0;if((A|0)>(a[i+180>>2]|0))break;Wx(a[(a[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function yx(A,e){A=A|0;e=e|0;var i=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+160|0;B=Z+24|0;v=Z+8|0;n=Z;i=Z+56|0;C=e+16|0;I=a[C>>2]|0;a[C>>2]=I+1;a[B>>2]=I;P4(i,90796,B)|0;if(0>1){I=a[15712]|0;C=Vh(A)|0;a[n>>2]=i;a[n+4>>2]=C;f3(I,90803,n)|0}r[B>>0]=r[18588]|0;r[B+1>>0]=r[18589]|0;r[B+2>>0]=r[18590]|0;r[B+3>>0]=r[18591]|0;I=kh(91156,B,0)|0;Td(I,137483,280,1)|0;E=qF(56)|0;C=I+16|0;u=a[C>>2]|0;a[u+140>>2]=E;E=A+16|0;f[u+176>>1]=f[(a[E>>2]|0)+176>>1]|0;Xx(A,I,92507);Xx(A,I,93112);Xx(A,I,91202);u=e+4|0;o=B+16|0;h=B+8|0;d=B+24|0;t=0;w=1;while(1){i=a[E>>2]|0;if((w|0)>(a[i+180>>2]|0))break;a[B>>2]=a[332];a[B+4>>2]=a[333];a[B+8>>2]=a[334];a[B+12>>2]=a[335];a[B+16>>2]=a[336];a[B+20>>2]=a[337];a[B+24>>2]=a[338];a[B+28>>2]=a[339];n=a[(a[i+184>>2]|0)+(w<<2)>>2]|0;JF(n);l=Rx(I,Vh(n)|0)|0;c=l+16|0;i=a[c>>2]|0;a[i+212>>2]=n;s=t+1|0;a[i+120>>2]=t;if(a[u>>2]|0)Hx(n,l,e,B);i=cd(n)|0;while(1){if(!i)break;a[(a[i+16>>2]|0)+164>>2]=l;i=bd(n,i)|0}i=a[c>>2]|0;if(r[i+119>>0]|0){c=a[i+132>>2]|0;b[c>>3]=(+b[o>>3]+ +b[B>>3])*.5;b[c+8>>3]=(+b[d>>3]+ +b[h>>3])*.5}t=s;w=w+1|0}c=cd(A)|0;while(1){if(!c)break;i=c+16|0;n=a[i>>2]|0;if(!(a[n+164>>2]|0)){l=n+212|0;B=a[l>>2]|0;if(B|0?(B|0)!=(a[(a[(a[E>>2]|0)+140>>2]|0)+48>>2]|0):0){g=18;break}a[l>>2]=A;if(!(r[n+118>>0]|0)){l=Rx(I,Vh(c)|0)|0;n=a[i>>2]|0;a[n+164>>2]=l;l=a[l+16>>2]|0;a[l+120>>2]=t;b[l+32>>3]=+b[n+32>>3];b[l+40>>3]=+b[n+40>>3];b[l+88>>3]=+b[n+88>>3];b[l+96>>3]=+b[n+96>>3];b[l+80>>3]=+b[n+80>>3];a[l+8>>2]=a[n+8>>2];a[l+12>>2]=a[n+12>>2];i=r[n+119>>0]|0;if(i<<24>>24){e=a[n+132>>2]|0;B=a[l+132>>2]|0;b[B>>3]=+b[e>>3];b[B+8>>3]=+b[e+8>>3];r[l+119>>0]=i}a[(a[l+112>>2]|0)+8>>2]=c;i=t+1|0}else i=t}else i=t;c=bd(A,c)|0;t=i}if((g|0)==18){e=Vh(c)|0;B=Vh(A)|0;g=Vh(a[(a[i>>2]|0)+212>>2]|0)|0;a[v>>2]=e;a[v+4>>2]=B;a[v+8>>2]=g;ao(1,90826,v)|0;fe(187212,1)}s=cd(A)|0;while(1){if(!s)break;w=a[(a[s+16>>2]|0)+164>>2]|0;u=w+16|0;l=Oo(A,s)|0;while(1){if(!l)break;i=a[(a[(a[((a[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((i|0)!=(w|0)){if(i>>>0>w>>>0)c=th(I,w,i,0,1)|0;else c=th(I,i,w,0,1)|0;Td(c,137460,176,1)|0;n=a[l+16>>2]|0;g=a[c+16>>2]|0;b[g+136>>3]=+b[n+136>>3];b[g+128>>3]=+b[n+128>>3];i=a[(a[i+16>>2]|0)+112>>2]|0;n=i+4|0;a[n>>2]=(a[n>>2]|0)+1;n=a[(a[u>>2]|0)+112>>2]|0;v=n+4|0;a[v>>2]=(a[v>>2]|0)+1;if(!(a[g+172>>2]|0)){a[i>>2]=(a[i>>2]|0)+1;a[n>>2]=(a[n>>2]|0)+1}px(c,l)}l=_o(A,l)|0}s=bd(A,s)|0}i=a[(a[E>>2]|0)+140>>2]|0;n=a[i>>2]|0;if(n|0){l=qF((a[i+4>>2]<<4)+16|0)|0;a[a[(a[C>>2]|0)+140>>2]>>2]=l;i=0;while(1){if(!(a[n>>2]|0))break;s=a[(a[(a[n+4>>2]|0)+16>>2]|0)+164>>2]|0;if(s){Ux(A,n);w=Rx(I,193772)|0;u=w+16|0;a[(a[u>>2]|0)+120>>2]=t;if(w>>>0>s>>>0)c=th(I,s,w,0,1)|0;else c=th(I,w,s,0,1)|0;Td(c,137460,176,1)|0;g=a[n>>2]|0;v=a[g+16>>2]|0;E=a[c+16>>2]|0;b[E+136>>3]=+b[v+136>>3];b[E+128>>3]=+b[v+128>>3];px(c,g);g=a[(a[u>>2]|0)+112>>2]|0;E=g+4|0;a[E>>2]=(a[E>>2]|0)+1;E=a[(a[s+16>>2]|0)+112>>2]|0;v=E+4|0;a[v>>2]=(a[v>>2]|0)+1;a[g>>2]=(a[g>>2]|0)+1;a[E>>2]=(a[E>>2]|0)+1;a[l+4>>2]=w;b[l+8>>3]=+b[n+8>>3];a[l>>2]=c;i=i+1|0;l=l+16|0;t=t+1|0}n=n+16|0}a[(a[(a[C>>2]|0)+140>>2]|0)+4>>2]=i}k=Z;return I|0}function zx(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=a[A+16>>2]|0;c=a[s+212>>2]|0;s=a[(a[s+112>>2]|0)+4>>2]|0;do{if(s|0){t=qF((s<<4)+16|0)|0;f=Vx(A,e)|0;n=f+8|0;e=0;r=f;while(1){if(!(a[r>>2]|0))break;l=r+24|0;if(!(a[l>>2]|0))i=+b[n>>3]+6.283185307179586;else i=+b[r+32>>3];e=Jx(A,r,t,e,i)|0;r=l}if((e|0)==(s|0)){A=a[(a[c+16>>2]|0)+140>>2]|0;a[A>>2]=t;a[A+4>>2]=s;L2(f);break}else vA(90742,90752,766,90761)}}while(0);return c|0}function Yx(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0.0,t=0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0.0,D=0.0;m=k;k=k+32|0;I=m+16|0;Q=m;s=a[n+8>>2]|0;t=a[n+12>>2]|0;Z=(a[n>>2]|0)==(f|0);G=(e|0)!=0;A:do{if(G){o=a[(a[i>>2]|0)+16>>2]|0;c=+b[o+16>>3];s=~~(c+(c>=0.0?.5:-.5));a[Q>>2]=s;c=+b[o+24>>3];n=~~(c+(c>=0.0?.5:-.5));g=Q+4|0;a[g>>2]=n;c=+b[o+32>>3];w=~~(c+(c>=0.0?.5:-.5));E=Q+8|0;a[E>>2]=w;c=+b[o+40>>3];o=~~(c+(c>=0.0?.5:-.5));C=Q+12|0;a[C>>2]=o;if((e|0)>1){h=a[r>>2]|0;v=a[r+4>>2]|0;s=h+s|0;a[Q>>2]=s;e=v+n|0;a[g>>2]=e;w=h+w|0;a[E>>2]=w;h=I+4|0;d=I+8|0;B=I+12|0;u=r;n=i;v=v+o|0;o=e;while(1){n=n+4|0;t=u+8|0;a[C>>2]=v;e=a[n>>2]|0;if(!e){t=0;d=o;B=v;break A}y=a[e+16>>2]|0;Y=+b[y+16>>3];l=+b[y+24>>3];c=+b[y+32>>3];D=+b[y+40>>3];y=~~(D+(D>=0.0?.5:-.5));a[B>>2]=y;e=a[t>>2]|0;z=a[u+12>>2]|0;W=e+~~(Y+(Y>=0.0?.5:-.5))|0;a[I>>2]=W;L=z+~~(l+(l>=0.0?.5:-.5))|0;a[h>>2]=L;e=e+~~(c+(c>=0.0?.5:-.5))|0;a[d>>2]=e;y=z+y|0;a[B>>2]=y;W=a[((s|0)<(W|0)?Q:I)>>2]|0;a[Q>>2]=W;L=a[((o|0)<(L|0)?Q:I)+4>>2]|0;a[g>>2]=L;e=a[((w|0)>(e|0)?Q:I)+8>>2]|0;a[E>>2]=e;u=t;v=a[((v|0)>(y|0)?Q:I)+12>>2]|0;s=W;o=L;w=e}}else{t=0;d=n;B=o}}else{a[Q>>2]=0;a[Q+4>>2]=0;w=kR(f,s,54,3)|0;a[Q+8>>2]=w;B=kR(f,t,36,3)|0;a[Q+12>>2]=B;t=1;s=0;d=0}}while(0);e=f+16|0;u=a[e>>2]|0;n=a[u+12>>2]|0;if(n){D=+b[n+24>>3];n=s-w+~~(D+(D>=0.0?.5:-.5))|0;if((n|0)>0){n=n>>>1;s=s-n|0;a[Q>>2]=s;w=w+n|0;a[Q+8>>2]=w;n=0}else n=0}else n=t;if(Z|(n|0)!=0){t=0;n=u}else{t=kR(A,a[47144]|0,8,0)|0;n=a[e>>2]|0}h=t-s|0;o=~~(+b[n+56>>3]+ +(t-d|0));a[Q>>2]=0;a[Q+4>>2]=0;u=h+t+w|0;a[Q+8>>2]=u;e=~~(+b[n+88>>3]+ +(t+o|0)+ +(B|0));a[Q+12>>2]=e;A:do{if(G){n=r;e:while(1){w=i+4|0;t=a[i>>2]|0;if(!t)break A;if(!n){s=0;i=h;n=o}else{s=n+8|0;i=(a[n>>2]|0)+h|0;n=(a[n+4>>2]|0)+o|0}c=+(i|0)*.013888888888888888;l=+(n|0)*.013888888888888888;i=cd(t)|0;while(1){if(!i){i=w;n=s;continue e}z=a[(a[i+16>>2]|0)+132>>2]|0;b[z>>3]=+b[z>>3]+c;z=z+8|0;b[z>>3]=+b[z>>3]+l;i=bd(t,i)|0}}}}while(0);z=a[(a[A+16>>2]|0)+140>>2]|0;y=z+8|0;a[y>>2]=0;a[y+4>>2]=0;a[y+8>>2]=0;a[y+12>>2]=0;b[z+24>>3]=+(u|0)*.013888888888888888;b[z+32>>3]=+(e|0)*.013888888888888888;k=m;return}function Dx(A,e){A=A|0;e=e|0;var i=0,r=0;while(1){i=a[e>>2]|0;if(!i)break;Mx(i);Sd(i,137483)|0;e=e+4|0}e=a[a[(a[A+16>>2]|0)+140>>2]>>2]|0;if(e|0)L2(e);Mx(A);Sd(A,137483)|0;i=cd(A)|0;while(1){if(!i)break;r=bd(A,i)|0;e=Oo(A,i)|0;while(1){if(!e)break;L2(a[(a[e+16>>2]|0)+172>>2]|0);Sd(e,137460)|0;e=_o(A,e)|0}Fx(i);i=r}Bh(A)|0;return}function Mx(A){A=A|0;L2(a[(a[A+16>>2]|0)+140>>2]|0);return}function Fx(A){A=A|0;var e=0;e=A+16|0;L2(a[(a[e>>2]|0)+112>>2]|0);L2(a[(a[e>>2]|0)+132>>2]|0);Sd(A,137447)|0;return}function Vx(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0;c=A+16|0;s=a[a[(a[c>>2]|0)+112>>2]>>2]|0;w=qF((s*24|0)+24|0)|0;l=0;t=Ah(e,A)|0;while(1){if(!t)break;f=a[t>>2]&3;r=a[((f|0)==2?t:t+-48|0)+40>>2]|0;if((r|0)==(A|0))r=a[((f|0)==3?t:t+48|0)+40>>2]|0;r=a[(a[r+16>>2]|0)+132>>2]|0;f=a[(a[c>>2]|0)+132>>2]|0;n=+b[r>>3]-+b[f>>3];i=+b[r+8>>3]-+b[f+8>>3];a[w+(l*24|0)>>2]=t;b[w+(l*24|0)+8>>3]=+X(+i,+n);b[w+(l*24|0)+16>>3]=i*i+n*n;l=l+1|0;t=eh(e,t,A)|0}if((l|0)!=(s|0))vA(90775,90752,642,90784);K4(w,s,24,67);A:do{if((s|0)>1){t=s+-1|0;r=0;e:while(1){if((r|0)>=(t|0))break A;n=+b[w+(r*24|0)+8>>3];f=r+1|0;l=f;while(1){if((l|0)>=(s|0))break;if(!(+b[w+(l*24|0)+8>>3]==n))break;l=l+1|0}if((l|0)==(f|0)){r=f;continue}if((l|0)==(s|0))i=3.141592653589793;else i=+b[w+(l*24|0)+8>>3];i=(i-n)/+(l-r|0);i=i>.03490658503988659?.03490658503988659:i;n=0.0;while(1){if((r|0)>=(l|0))continue e;c=w+(r*24|0)+8|0;b[c>>3]=+b[c>>3]+n;n=n+i;r=r+1|0}}}}while(0);return w|0}function Jx(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=+n;var l=0,t=0,c=0,s=0.0,w=0,u=0,k=0,o=0.0,h=0;c=a[e>>2]|0;u=a[c+16>>2]|0;w=f[u+168>>1]|0;k=w<<16>>16;t=a[c>>2]&3;l=a[((t|0)==2?c:c+-48|0)+40>>2]|0;if((l|0)==(A|0))l=a[((t|0)==3?c:c+48|0)+40>>2]|0;o=+b[e+8>>3];n=(n-o)/+(w<<16>>16);n=n>.03490658503988659?.03490658503988659:n;w=l>>>0>A>>>0;s=w?n:-n;e=w?1:-1;c=0;l=a[u+172>>2]|0;t=w?r:r+-1+k|0;n=w?o:n*+(k+-1|0)+o;while(1){if((c|0)>=(k|0))break;u=a[l>>2]|0;a[i+(t<<4)>>2]=u;w=a[u>>2]&3;h=(w|0)==3?u:u+48|0;a[i+(t<<4)+4>>2]=a[((a[(a[(a[h+40>>2]|0)+16>>2]|0)+164>>2]|0)==(A|0)?h:(w|0)==2?u:u+-48|0)+40>>2];b[i+(t<<4)+8>>3]=n;c=c+1|0;l=l+4|0;t=t+e|0;n=n+s}return k+r|0}function Nx(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(i>r))if(!(i>3];i=+b[e+16>>3];if(r>i)A=1;else A=(r>31}else A=-1;else A=1;return A|0}function Xx(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Yo(A,0,i,0)|0;do{if(r|0){A=Uo(A,r)|0;r=Yo(e,0,i,0)|0;if(!r){Yo(e,0,i,A)|0;break}else{Vo(e,r,A)|0;break}}}while(0);return}function Rx(A,e){A=A|0;e=e|0;var i=0,r=0;e=vd(A,e,1)|0;Td(e,137447,304,1)|0;r=qF(32)|0;i=e+16|0;a[(a[i>>2]|0)+112>>2]=r;A=$F((l[(a[A+16>>2]|0)+176>>1]|0)<<3)|0;a[(a[i>>2]|0)+132>>2]=A;return e|0}function Hx(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+80|0;w=h+56|0;s=h+32|0;o=h;u=h+64|0;l=a[i+4>>2]|0;c=Uo(A,l)|0;do{if(r[c>>0]|0){if((a[i>>2]|0)!=(A|0)){i=Uo(pB(A)|0,l)|0;if((i|0)==(c|0))break;if(!(A1(c,i)|0))break}r[u>>0]=0;i=o+8|0;l=o+16|0;t=o+24|0;a[s>>2]=o;a[s+4>>2]=i;a[s+8>>2]=l;a[s+12>>2]=t;a[s+16>>2]=u;if((J3(c,90937,s)|0)<=3){a[w>>2]=Vh(A)|0;a[w+4>>2]=c;ao(0,90955,w)|0;break}n=+b[23293];if(n>0.0){b[o>>3]=+b[o>>3]/n;b[i>>3]=+b[i>>3]/n;b[l>>3]=+b[l>>3]/n;b[t>>3]=+b[t>>3]/n}i=r[u>>0]|0;if(i<<24>>24==33)r[(a[e+16>>2]|0)+119>>0]=3;else r[(a[e+16>>2]|0)+119>>0]=i<<24>>24==63?2:1;a[f>>2]=a[o>>2];a[f+4>>2]=a[o+4>>2];a[f+8>>2]=a[o+8>>2];a[f+12>>2]=a[o+12>>2];a[f+16>>2]=a[o+16>>2];a[f+20>>2]=a[o+20>>2];a[f+24>>2]=a[o+24>>2];a[f+28>>2]=a[o+28>>2]}}while(0);k=h;return}function px(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+16|0;r=a[n>>2]|0;A=f[r+168>>1]|0;r=a[r+172>>2]|0;if(!r){A=A<<16>>16;i=A;A=$F((A<<2)+4|0)|0}else{A=A<<16>>16;i=A;A=eV(r,(A<<2)+4|0)|0}a[A+(i<<2)>>2]=e;e=a[n>>2]|0;a[e+172>>2]=A;e=e+168|0;f[e>>1]=(f[e>>1]|0)+1<<16>>16;return}function Ux(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;t=k;k=k+48|0;l=t+24|0;n=t;r=a[e>>2]|0;i=a[r>>2]&3;f=a[((i|0)==2?r:r+-48|0)+40>>2]|0;i=a[((i|0)==3?r:r+48|0)+40>>2]|0;e=S2(Vh(A)|0)|0;c=S2(Vh(f)|0)|0;c=(e+8+c+(S2(Vh(i)|0)|0)|0)>999;e=Vh(A)|0;if(c){i=Vh(i)|0;c=Vh(f)|0;l=(a[r>>2]|0)>>>4;a[n>>2]=e;a[n+4>>2]=i;a[n+8>>2]=c;c=n+16|0;a[c>>2]=l;a[c+4>>2]=0;P4(193772,90895,n)|0}else{i=a[(a[i+16>>2]|0)+120>>2]|0;c=a[(a[f+16>>2]|0)+120>>2]|0;n=(a[r>>2]|0)>>>4;a[l>>2]=e;a[l+4>>2]=i;a[l+8>>2]=c;c=l+16|0;a[c>>2]=n;a[c+4>>2]=0;P4(193772,90914,l)|0}k=t;return}function xx(A){A=A|0;var e=0,i=0,r=0.0,n=0.0,l=0,t=0,c=0;t=4;l=m2(40)|0;a[l>>2]=0;n=+b[23293];d=0;r=+AA(1,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)!=1){b[23293]=r;d=0;sA(102,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)!=1){l=L6(187212,1,l|0,t|0)|0;t=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){e=W6(a[i>>2]|0,l|0,t|0)|0;if(!e)fe(i|0,B|0);L=B}else e=-1;if((e|0)!=1)e=0;else e=L}else e=L}else e=L;while(1){if(e|0)break;d=0;sA(103,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}d=0;iA(22,A|0)|0;e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}if(f[(a[A+16>>2]|0)+136>>1]&14){d=0;sA(104,A|0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1){e=L;continue}}d=0;wA(22,A|0,0);e=d;d=0;if((e|0)!=0&(B|0)!=0){i=W6(a[e>>2]|0,l|0,t|0)|0;if(!i)fe(e|0,B|0);L=B}else i=-1;if((i|0)==1)e=L;else{c=12;break}}if((c|0)==12)b[23293]=n;L2(l|0);return}function Tx(A){A=A|0;var e=0,i=0,r=0,n=0,l=0,t=0;t=k;k=k+16|0;n=t;i=A+16|0;r=f[(a[i>>2]|0)+136>>1]&14;e=r&65535;if((r&65535)>8){if(r<<16>>16==12){if(Fp(A,22,10)|0){a[47134]=2;l=5}}else l=5;do{if((l|0)==5)if(!(f[(a[i>>2]|0)+136>>1]&1)){Jp(A,e)|0;break}else{ao(0,90998,n)|0;e=2;break}}while(0);a[47134]=0}if((a[47138]|0)<1)Jp(A,e)|0;k=t;return}function jx(A){A=A|0;var e=0.0,i=0.0,r=0;r=k;k=k+16|0;a[46474]=1;a[46475]=1;a[46477]=-1;a[46479]=50;b[23245]=0.0;b[23240]=0.0;b[23241]=1.0;a[46478]=kR(A,Yo(A,0,91061,0)|0,600,0)|0;i=+oR(A,Yo(A,0,91202,0)|0,.3,0.0);b[23242]=i;b[1371]=i;if(-1.0==-1.0)e=+oR(A,Yo(A,0,91069,0)|0,-1.0,0.0);else e=-1.0;b[23243]=e;a[46476]=1;A=ep(A,2,185904)|0;a[46488]=A;if(!A){ao(0,91072,r)|0;a[46476]=2}a[46504]=(U(a[46478]|0,a[46479]|0)|0)/100|0;i=+b[23242];b[23247]=i*i;if(a[46474]|0){e=+b[23245];if(e<=0.0){e=i*3.0;b[23245]=e}b[23246]=e*e}k=r;return}function Sx(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,n=0,l=0,t=0;t=k;k=k+16|0;i=t;n=a[a[(a[A+16>>2]|0)+140>>2]>>2]|0;l=Px(A,e)|0;Ox(i,A,n);r=+b[i>>3];f=+b[i+8>>3];A:do{if(!(a[46474]|0)){e=0;while(1){if((e|0)>=(a[46505]|0))break A;qx(A,+Kx(e),n);e=e+1|0}}else{i=I_(vh(A)|0)|0;L_(i,vh(A)|0);e=0;while(1){if((e|0)>=(a[46505]|0))break;_x(A,+Kx(e),n,i);e=e+1|0}y_(i)}}while(0);A:do{if(r!=0.0|f!=0.0){e=cd(A)|0;while(1){if(!e)break A;n=a[(a[e+16>>2]|0)+132>>2]|0;b[n>>3]=+b[n>>3]+r;n=n+8|0;b[n>>3]=+b[n>>3]+f;e=bd(A,e)|0}}}while(0);if(l|0)$x();k=t;return}function Px(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0,n=0,l=0,t=0;if(+b[23243]==-1.0){l=vh(A)|0;i=+b[23242];b[23243]=+b[23241]*.2*i*+z(+ +(l|0));l=1}else{l=0;i=+b[23242]}n=a[46504]|0;b[e+8>>3]=+Kx(n);b[e+16>>3]=i;b[e+24>>3]=+b[23240];r=a[46478]|0;A=r-n|0;a[e>>2]=A;f=a[46477]|0;do{if((f|0)>-1){if((f|0)<=(n|0)){a[46505]=f;A=0;t=10;break}if((f|0)<=(r|0)){a[46505]=n;A=f-n|0;t=10}}else{a[46505]=n;t=10}}while(0);if((t|0)==10)a[e+32>>2]=A;return l|0}function Ox(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0.0,t=0.0,c=0,s=0.0,w=0.0,u=0,k=0.0,o=0.0,h=0,d=0,B=0.0,v=0.0,g=0,E=0,C=0.0,I=0,Z=0,G=0;E=vh(e)|0;I=a[(a[(a[e+16>>2]|0)+140>>2]|0)+4>>2]|0;g=cd(e)|0;h=0;d=0;n=0;c=0;u=0;while(1){if(!g)break;f=a[g+16>>2]|0;if(!(r[f+119>>0]|0))f=d;else{f=a[f+132>>2]|0;l=+b[f>>3];if(!h){c=~~l;n=~~+b[f+8>>3];u=n;f=c}else{o=+(d|0);B=+b[f+8>>3];v=+(n|0);C=+(c|0);k=+(u|0);u=~~(B>k?B:k);f=~~(lC?l:C)}h=h+1|0}g=bd(e,g)|0;d=f}l=+b[23242]*(+z(+ +(E-I|0))+1.0);B=l*.6;b[23249]=B;b[23248]=B;if((h|0)!=1)if((h|0)>1){v=+(c+d|0)*.5;C=+(u+n|0)*.5;k=+(c-d|0);o=k*1.2;s=+(u-n|0);w=s*1.2;l=l*2.4*B;t=w*o/l;do{if(!(t>=1.0)){if(t>0.0){l=+z(+t)*2.0;t=o/l;b[23248]=t;l=w/l;G=20;break}if(o>0.0){t=k*.6;b[23248]=t;l=l/o*.5;G=20;break}if(w>0.0){t=l/w*.5;b[23248]=t;l=s*.6;G=20}else{l=B;t=B}}else{t=k*.6;b[23248]=t;l=s*.6;G=20}}while(0);if((G|0)==20)b[23249]=l;B=+X(+l,+t);t=t/+D(+B);b[23248]=t;l=l/+M(+B);b[23249]=l}else{v=0.0;C=0.0;t=B;l=B}else{v=+(d|0);C=+(n|0);t=B;l=B}b[23250]=t*t;b[23251]=l*l;if((a[46488]|0)==2)f=a[46476]|0;else{f=z3()|0;f=(ne(0)|0)^f}l8(f);A:do{if(!i){i=cd(e)|0;if(!h)while(1){if(!i)break A;B=+b[23248];B=(+c8()*2.0+-1.0)*B;G=i+16|0;b[a[(a[G>>2]|0)+132>>2]>>3]=B;B=+b[23249];B=(+c8()*2.0+-1.0)*B;b[(a[(a[G>>2]|0)+132>>2]|0)+8>>3]=B;i=bd(e,i)|0}while(1){if(!i)break A;f=i+16|0;n=a[f>>2]|0;if(!(r[n+119>>0]|0)){B=+b[23248];B=(+c8()*2.0+-1.0)*B;b[a[(a[f>>2]|0)+132>>2]>>3]=B;B=+b[23249];B=(+c8()*2.0+-1.0)*B;b[(a[(a[f>>2]|0)+132>>2]|0)+8>>3]=B}else{G=a[n+132>>2]|0;b[G>>3]=+b[G>>3]-v;G=G+8|0;b[G>>3]=+b[G>>3]-C}i=bd(e,i)|0}}else{while(1){if(!(a[i>>2]|0))break;g=i+8|0;B=+D(+ +b[g>>3])*+b[23248]+v;I=a[(a[i+4>>2]|0)+16>>2]|0;E=a[I+132>>2]|0;b[E>>3]=B;b[E+8>>3]=+M(+ +b[g>>3])*+b[23249]+C;r[I+119>>0]=1;i=i+16|0}s=v*.1;w=C*.1;d=cd(e)|0;while(1){if(!d)break A;h=d+16|0;i=a[h>>2]|0;if(!((a[(a[i+112>>2]|0)+8>>2]|0)==0?!(a[i+212>>2]|0):0))G=32;do{if((G|0)==32){G=0;if(r[i+119>>0]|0){I=a[i+132>>2]|0;b[I>>3]=+b[I>>3]-v;I=I+8|0;b[I>>3]=+b[I>>3]-C;break}u=Ah(e,d)|0;i=0;t=0.0;l=0.0;while(1){if(!u)break;c=a[u>>2]&3;f=(c|0)==2?u:u+-48|0;n=a[f+40>>2]|0;c=(c|0)==3?u:u+48|0;do{if((n|0)!=(a[c+40>>2]|0)?(Z=a[(a[((n|0)==(d|0)?c:f)+40>>2]|0)+16>>2]|0,(r[Z+119>>0]|0)!=0):0)if(!i){I=a[Z+132>>2]|0;i=1;t=+b[I>>3];l=+b[I+8>>3];break}else{o=+(i|0);I=a[Z+132>>2]|0;i=i+1|0;B=+(i|0);t=(+b[I>>3]+t*o)/B;l=(+b[I+8>>3]+l*o)/B;break}}while(0);u=eh(e,u,d)|0}do{if((i|0)<=1)if((i|0)==1){f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=t*.98+s;l=l*.9+w;break}else{l=+c8()*6.283185307179586;B=+c8()*.9;o=B*+b[23248]*+D(+l);f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=o;l=+b[23249]*B*+M(+l);break}else{f=a[h>>2]|0;i=a[f+132>>2]|0;b[i>>3]=t}}while(0);b[i+8>>3]=l;r[f+119>>0]=1}}while(0);d=bd(e,d)|0}}}while(0);b[A>>3]=v;b[A+8>>3]=C;return}function Kx(A){A=A|0;var e=0;e=a[46478]|0;return+(+b[23243]*+(e-A|0)/+(e|0))}function _x(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0,n=0,l=0,t=0.0;if(!(e<=0.0)){W_(r);f=cd(A)|0;while(1){if(!f)break;l=a[f+16>>2]|0;n=(a[l+112>>2]|0)+16|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;l=a[l+132>>2]|0;t=+b[23245];n=~~+W(+(+b[l>>3]/t));Y_(r,n,~~+W(+(+b[l+8>>3]/t)),f);f=bd(A,f)|0}n=cd(A)|0;while(1){if(!n)break;f=Oo(A,n)|0;while(1){if(!f)break;l=a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((n|0)!=(l|0))eT(n,l,f);f=_o(A,f)|0}n=bd(A,n)|0}M_(r,23);iT(A,e,i)}return}function qx(A,e,i){A=A|0;e=+e;i=i|0;var r=0,f=0,n=0;if(!(e<=0.0)){r=cd(A)|0;while(1){if(!r)break;n=(a[(a[r+16>>2]|0)+112>>2]|0)+16|0;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=0;a[n+12>>2]=0;r=bd(A,r)|0}n=cd(A)|0;while(1){if(!n)break;else r=n;while(1){r=bd(A,r)|0;if(!r)break;AT(n,r)}r=Oo(A,n)|0;while(1){if(!r)break;f=a[((a[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0;if((n|0)!=(f|0))eT(n,f,r);r=_o(A,r)|0}n=bd(A,n)|0}iT(A,e,i)}return}function $x(){b[23243]=-1.0;return}function AT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0;n=a[(a[e+16>>2]|0)+132>>2]|0;f=a[(a[A+16>>2]|0)+132>>2]|0;i=+b[n>>3]-+b[f>>3];r=+b[n+8>>3]-+b[f+8>>3];rT(A,e,i,r,r*r+i*i);return}function eT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0.0,l=0.0,t=0,c=0;t=e+16|0;c=a[(a[t>>2]|0)+132>>2]|0;A=A+16|0;e=a[(a[A>>2]|0)+132>>2]|0;r=+b[c>>3]-+b[e>>3];f=+b[c+8>>3]-+b[e+8>>3];n=r;l=f;r=r*r;f=f*f;while(1){r=r+f;if(!(r==0.0))break;r=+(5-((a8()|0)%10|0)|0);f=+(5-((a8()|0)%10|0)|0);n=r;l=f;r=r*r;f=f*f}f=+z(+r);e=a[i+16>>2]|0;r=+b[e+128>>3];if(!(a[46475]|0))r=r*f/+b[e+136>>3];else r=(f-+b[e+136>>3])*r/f;n=r*n;c=a[(a[t>>2]|0)+112>>2]|0;t=c+16|0;b[t>>3]=+b[t>>3]-n;l=r*l;c=c+24|0;b[c>>3]=+b[c>>3]-l;c=a[(a[A>>2]|0)+112>>2]|0;t=c+16|0;b[t>>3]=+b[t>>3]+n;c=c+24|0;b[c>>3]=+b[c>>3]+l;return}function iT(A,e,i){A=A|0;e=+e;i=i|0;var f=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0,k=0.0;k=e*e;u=(i|0)==0;w=cd(A)|0;while(1){if(!w)break;s=a[w+16>>2]|0;if(!(r[s+119>>0]&2)){c=a[s+112>>2]|0;f=+b[c+16>>3];l=+b[c+24>>3];n=l*l+f*f;if(n>2]|0;t=+b[i>>3]+f;f=+b[i+8>>3]+l}else{n=e/+z(+n);i=a[s+132>>2]|0;t=+b[i>>3]+n*f;f=+b[i+8>>3]+n*l}do{if(!u){n=+z(+(f*f/+b[23251]+t*t/+b[23250]));if((a[c+8>>2]|0)==0?(a[s+212>>2]|0)==0:0){b[i>>3]=t/n;f=f/n;break}if(!(n>=1.0)){b[i>>3]=t;break}else{b[i>>3]=t*.95/n;f=f*.95/n;break}}else b[i>>3]=t}while(0);b[i+8>>3]=f}w=bd(A,w)|0}return}function rT(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=+r;f=+f;var n=0.0,l=0,t=0;n=i;i=f;while(1){if(!(i==0.0))break;i=+(5-((a8()|0)%10|0)|0);r=+(5-((a8()|0)%10|0)|0);n=i;i=r*r+i*i}if(!(a[46475]|0))i=+b[23247]/i;else{f=+z(+i);i=+b[23247]/(f*i)}t=a[A+16>>2]|0;A=a[t+112>>2]|0;if(((a[A+8>>2]|0)==0?(a[t+212>>2]|0)==0:0)?(l=a[e+16>>2]|0,(a[(a[l+112>>2]|0)+8>>2]|0)==0):0)i=(a[l+212>>2]|0)==0?i*10.0:i;f=i*n;t=a[(a[e+16>>2]|0)+112>>2]|0;e=t+16|0;b[e>>3]=+b[e>>3]+f;n=i*r;t=t+24|0;b[t>>3]=+b[t>>3]+n;t=A+16|0;b[t>>3]=+b[t>>3]-f;t=A+24|0;b[t>>3]=+b[t>>3]-n;return}function fT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;f=a[e+8>>2]|0;n=a[e>>2]|0;r=a[e+4>>2]|0;e=f;while(1){if(!e)break;A=f;while(1){if(!A)break;if((e|0)!=(A|0))AT(a[e>>2]|0,a[A>>2]|0);A=a[A+4>>2]|0}e=a[e+4>>2]|0}l=n+-1|0;A=r+-1|0;aT(i,l,A,f);aT(i,l,r,f);e=r+1|0;aT(i,l,e,f);aT(i,n,A,f);aT(i,n,e,f);n=n+1|0;aT(i,n,A,f);aT(i,n,r,f);aT(i,n,e,f);return 0}function aT(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0.0,l=0.0,t=0,c=0,s=0,w=0;A=F_(A,e,i)|0;if((r|0)!=0&(A|0)!=0){c=A+8|0;do{i=a[r>>2]|0;t=i+16|0;A=c;while(1){A=a[A>>2]|0;if(!A)break;e=a[A>>2]|0;w=a[(a[e+16>>2]|0)+132>>2]|0;s=a[(a[t>>2]|0)+132>>2]|0;f=+b[w>>3]-+b[s>>3];n=+b[w+8>>3]-+b[s+8>>3];l=n*n+f*f;if(l<+b[23246])rT(i,e,f,n,l);A=A+4|0}r=a[r+4>>2]|0}while((r|0)!=0)}return}function nT(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+16|0;n=l;i=po(A,92507)|0;if(0)L3(91116,8,1,a[15712]|0)|0;if(!((i|0)!=0?(r[i>>0]|0)!=0:0))i=91125;f=G1(i,58)|0;do{if(!f)f=0;else{if((f|0)!=(i|0)?((r[i>>0]|0)+-48|0)>>>0>=10:0){f=0;break}t=q3(i)|0;i=f+1|0;f=(t|0)>0?t:0}}while(0);if(0){t=a[15712]|0;a[n>>2]=f;a[n+4>>2]=i;f3(t,91133,n)|0}if(!((f|0)!=0?!(lT(A,e,f)|0):0))AS(A,i)|0;k=l;return}function lT(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0.0,d=0,B=0,v=0;v=k;k=k+64|0;d=v;l=v+40|0;B=vh(A)|0;t=gh(A)|0;qj(l,A);a[46842]=a[l>>2];a[46843]=a[l+4>>2];a[46844]=a[l+8>>2];if(r[187376]|0){c[46842]=+c[46842]*.013888888888888888;c[46843]=+c[46843]*.013888888888888888}f=tT(A)|0;A:do{if(!f)f=0;else{l=d;n=l+40|0;do{a[l>>2]=a[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(n|0));l=d+16|0;h=+b[l>>3];u=+(t|0)*2.0;o=1.0/+(U(B+-1|0,B)|0);n=0;w=h;while(1){if(!((f|0)!=0&(n|0)<(i|0)))break A;cT(B,d);s=+b[23253]*+b[170];b[23254]=s;b[23255]=u*s*o;e=0;while(1){if((e|0)>=(a[46512]|0))break;s=+bT(e);if(s<=0.0)break;f=sT(A,s)|0;if(!f){f=0;break}else e=e+1|0}s=w+h;b[l>>3]=s;n=n+1|0;w=s}}}while(0);k=v;return f|0}function tT(A){A=A|0;var e=0,i=0,r=0,f=0;e=0;f=cd(A)|0;while(1){if(!f)break;else r=f;while(1){i=bd(A,r)|0;if(!i)break;r=i;e=(kT(f,i)|0)+e|0}f=bd(A,f)|0}return e|0}function cT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0;r=+b[e+16>>3];b[171]=r;a[344]=a[e>>2];f=+b[e+8>>3];b[23257]=f;a[46512]=a[e+32>>2];i=+b[e+24>>3];if(i>0.0)b[170]=i;b[23253]=r*r;if(f==0.0)b[23257]=+z(+ +(A|0))*.2*r;return}function bT(A){A=A|0;var e=0;e=a[344]|0;return+(+b[23257]*+(e-A|0)/+(e|0))}function sT(A,e){A=A|0;e=+e;var i=0,f=0,n=0,l=0.0,t=0,c=0.0,s=0.0,w=0.0;i=cd(A)|0;while(1){if(!i)break;t=(a[(a[i+16>>2]|0)+112>>2]|0)+16|0;a[t>>2]=0;a[t+4>>2]=0;a[t+8>>2]=0;a[t+12>>2]=0;i=bd(A,i)|0}i=0;t=cd(A)|0;while(1){if(!t)break;else n=t;while(1){f=bd(A,n)|0;if(!f)break;n=f;i=(wT(t,f)|0)+i|0}f=Oo(A,t)|0;while(1){if(!f)break;uT(t,a[((a[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=_o(A,f)|0}t=bd(A,t)|0}A:do{if(!i)i=0;else{w=e*e;n=cd(A)|0;while(1){if(!n)break A;f=a[n+16>>2]|0;if((r[f+119>>0]|0)!=3){t=a[f+112>>2]|0;c=+b[t+16>>3];l=+b[t+24>>3];s=l*l+c*c;if(s>2]|0;b[f>>3]=+b[f>>3]+c}else{s=+z(+s);f=a[f+132>>2]|0;b[f>>3]=+b[f>>3]+c*e/s;l=l*e/s}t=f+8|0;b[t>>3]=+b[t>>3]+l}n=bd(A,n)|0}}}while(0);return i|0}function wT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0;n=a[(a[e+16>>2]|0)+132>>2]|0;f=a[(a[A+16>>2]|0)+132>>2]|0;i=+b[n>>3]-+b[f>>3];r=+b[n+8>>3]-+b[f+8>>3];return hT(A,e,i,r,r*r+i*i)|0}function uT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0,n=0.0,l=0,t=0.0,c=0.0,s=0,w=0;if(!(kT(A,e)|0)){l=a[e+16>>2]|0;w=a[l+132>>2]|0;f=a[A+16>>2]|0;s=a[f+132>>2]|0;r=+b[w>>3]-+b[s>>3];i=+b[w+8>>3]-+b[s+8>>3];n=+z(+(i*i+r*r));t=+oT(A);t=+oT(e)+t;c=n-t;n=c*c/((+b[171]+t)*n);r=n*r;e=a[l+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]-r;i=n*i;e=e+24|0;b[e>>3]=+b[e>>3]-i;e=a[f+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]+r;e=e+24|0;b[e>>3]=+b[e>>3]+i}return}function kT(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0.0,t=0,s=0;t=a[e+16>>2]|0;s=a[t+132>>2]|0;e=a[A+16>>2]|0;A=a[e+132>>2]|0;n=+b[s>>3]-+b[A>>3];l=+b[s+8>>3]-+b[A+8>>3];l=l<0.0?-l:l;A=(r[187376]|0)==0;i=+b[e+32>>3];if(A){f=+c[46842];i=i*.5*f;f=+b[t+32>>3]*.5*f}else{f=+c[46842];i=i*.5+f;f=+b[t+32>>3]*.5+f}if(!((n<0.0?-n:n)<=f+i))e=0;else{i=+b[e+40>>3];if(A){n=+c[46843];f=i*.5*n;i=+b[t+40>>3]*.5*n}else{n=+c[46843];f=i*.5+n;i=+b[t+40>>3]*.5+n}e=l<=i+f&1}return e|0}function oT(A){A=A|0;var e=0.0,i=0.0;A=a[A+16>>2]|0;e=+b[A+32>>3];if(!(r[187376]|0)){i=e*.5*+c[46842];e=+b[A+40>>3]*.5*+c[46843]}else{i=e*.5+ +c[46842];e=+b[A+40>>3]*.5+ +c[46843]}return+ +z(+(e*e+i*i))}function hT(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=+r;f=+f;var n=0,l=0;while(1){if(!(f==0.0))break;f=+(5-((a8()|0)%10|0)|0);r=+(5-((a8()|0)%10|0)|0);i=f;f=r*r+f*f}n=kT(A,e)|0;f=((n|0)==0?+b[23255]:+b[23254])/f;i=f*i;e=a[(a[e+16>>2]|0)+112>>2]|0;l=e+16|0;b[l>>3]=+b[l>>3]+i;f=f*r;e=e+24|0;b[e>>3]=+b[e>>3]+f;e=a[(a[A+16>>2]|0)+112>>2]|0;A=e+16|0;b[A>>3]=+b[A>>3]-i;e=e+24|0;b[e>>3]=+b[e>>3]-f;return n|0}function dT(A){A=A|0;zH(A,2);f[(a[A+16>>2]|0)+176>>1]=2;a[47137]=2;BT(A);return}function BT(A){A=A|0;var e=0,i=0,r=0,f=0;r=qF((vh(A)|0)<<2)|0;e=qF(((vh(A)|0)<<2)+4|0)|0;f=A+16|0;a[(a[f>>2]|0)+152>>2]=e;e=cd(A)|0;i=0;while(1){if(!e)break;RH(e);a[(a[e+16>>2]|0)+112>>2]=r+(i<<2);a[(a[(a[f>>2]|0)+152>>2]|0)+(i<<2)>>2]=e;e=bd(A,e)|0;i=i+1|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;vT(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function vT(A){A=A|0;var e=0.0;Td(A,137460,176,1)|0;VR(A)|0;e=+oR(A,a[47174]|0,1.0,0.0);b[(a[A+16>>2]|0)+128>>3]=e;return}function gT(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;s=w+4|0;b=w;r[s>>0]=r[18596]|0;r[s+1>>0]=r[18597]|0;r[s+2>>0]=r[18598]|0;r[s+3>>0]=r[18599]|0;s=kh(91156,s,0)|0;Td(s,91164,280,1)|0;a[(a[A+16>>2]|0)+140>>2]=s;i=cd(A)|0;while(1){if(!i)break;f=i+16|0;if(!(a[a[(a[f>>2]|0)+112>>2]>>2]|0)){c=ET(s,Vh(i)|0,i)|0;a[a[(a[f>>2]|0)+112>>2]>>2]=c}i=bd(A,i)|0}f=cd(A)|0;while(1){if(!f)break;i=Oo(A,f)|0;while(1){if(!i)break;l=a[i>>2]&3;n=a[a[(a[(a[((l|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;l=a[a[(a[(a[((l|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((n|0)!=(l|0))Td(th(s,n,l,0,1)|0,137460,176,1)|0;i=_o(A,i)|0}f=bd(A,f)|0}c=WE(s,b,0)|0;f=0;while(1){if((f|0)>=(a[b>>2]|0))break;l=a[c+(f<<2)>>2]|0;i=cd(l)|0;while(1){if(!i)break;n=Oo(A,a[a[(a[i+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!n)break;t=a[a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((i|0)!=(t|0)){t=th(s,i,t,0,1)|0;Td(t,137460,176,1)|0;wh(l,t,1)|0}n=_o(A,n)|0}i=bd(l,i)|0}f=f+1|0}i=cd(s)|0;while(1){if(!i)break;f=Oo(s,i)|0;while(1){if(!f)break;A=qF(8)|0;a[(a[f+16>>2]|0)+120>>2]=A;f=_o(s,f)|0}i=bd(s,i)|0}a[e>>2]=a[b>>2];k=w;return c|0}function ET(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;e=vd(A,e,1)|0;Td(e,137447,304,1)|0;r=qF(40)|0;A=e+16|0;a[(a[A>>2]|0)+112>>2]=r;r=qF(a[47137]<<3)|0;A=a[A>>2]|0;a[A+132>>2]=r;r=a[i+16>>2]|0;b[A+88>>3]=+b[r+88>>3];b[A+96>>3]=+b[r+96>>3];b[A+80>>3]=+b[r+80>>3];a[a[A+112>>2]>>2]=i;return e|0}function CT(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;e=l+32|0;r=l;if(vh(A)|0){n=gT(A,e)|0;f=a[e>>2]|0;e=a[n>>2]|0;if((f|0)==1){Aw(e,A);IT(a[n>>2]|0);eS(A)|0}else{i=a[e+60>>2]|0;bC(A,2,8,r)|0;e=0;while(1){if((e|0)>=(f|0))break;t=a[n+(e<<2)>>2]|0;Aw(t,A);eS(t)|0;e=e+1|0}cC(f,n,i,r)|0;e=0;while(1){if((e|0)>=(f|0))break;IT(a[n+(e<<2)>>2]|0);e=e+1|0}}L2(n)}k=l;return}function IT(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;while(1){if(!e)break;i=a[e+16>>2]|0;r=a[i+132>>2]|0;i=a[(a[(a[a[i+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;b[i>>3]=+b[r>>3];b[i+8>>3]=+b[r+8>>3];e=bd(A,e)|0}return}function ZT(A){A=A|0;if(vh(A)|0){dT(A);CT(A);L2(a[(a[(cd(A)|0)+16>>2]|0)+112>>2]|0);Pp(A);VJ(A)}return}function GT(A){A=A|0;var e=0,i=0,r=0;e=cd(A)|0;if(e|0){r=A+16|0;QT(a[(a[r>>2]|0)+140>>2]|0);while(1){if(!e)break;i=Oo(A,e)|0;while(1){if(!i)break;uH(i);i=_o(A,i)|0}sH(e);e=bd(A,e)|0}L2(a[(a[r>>2]|0)+152>>2]|0);if((Zd(A)|0)!=(A|0))_d(A,0,137483)}return}function QT(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;L2(a[(a[e+16>>2]|0)+120>>2]|0);e=_o(A,e)|0}e=i+16|0;L2(a[(a[e>>2]|0)+112>>2]|0);L2(a[(a[e>>2]|0)+132>>2]|0);i=bd(A,i)|0}Bh(A)|0;return}function mT(A){A=A|0;var e=0,i=0.0,f=0.0,n=0,l=0,t=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+112|0;s=B+40|0;w=B+16|0;d=B+100|0;u=B;l=B+88|0;o=B+56|0;LT(A);n=(a[47137]|0)==2;e=n&1;if(vh(A)|0){h=JT()|0;WT(A,h);Qj(A,w,0)|0;if(n&(a[w>>2]|0)==18){a[h+124>>2]=a[w+8>>2];b[h+144>>3]=+b[w+16>>3];qj(l,A);if(!(r[l+8>>0]|0)){f=.05555555555555555;i=.05555555555555555}else{f=+c[l+4>>2]*.013888888888888888;i=+c[l>>2]*.013888888888888888}b[u>>3]=i;b[u+8>>3]=f;e=0}else a[h+124>>2]=-1;if(0)XT(h);t=WE(A,d,0)|0;if((a[d>>2]|0)==1){a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];yT(A,h,s);if(e|0)Wj(A,w)|0;Pp(A);e=0}else{bC(A,2,8,o)|0;a[o+12>>2]=1;l=(e|0)==0;n=0;while(1){e=a[d>>2]|0;if((n|0)>=(e|0))break;e=a[t+(n<<2)>>2]|0;VE(e)|0;a[s>>2]=a[u>>2];a[s+4>>2]=a[u+4>>2];a[s+8>>2]=a[u+8>>2];a[s+12>>2]=a[u+12>>2];yT(e,h,s);if(!l)Wj(e,w)|0;zH(e,2);Pp(e);n=n+1|0}cC(e,t,A,o)|0;e=0}while(1){if((e|0)>=(a[d>>2]|0))break;Cd(A,a[t+(e<<2)>>2]|0)|0;e=e+1|0}L2(t);NT(h)}VJ(A);k=B;return}function LT(A){A=A|0;var e=0,i=0;zH(A,2);e=kR(A,Yo(A,0,91368,0)|0,2,2)|0;i=(kR(A,Yo(A,0,91374,0)|0,e,2)|0)&65535;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=i;if((l[(a[(Zd(A)|0)+16>>2]|0)+176>>1]|0)<10)i=f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]|0;else i=10;f[(a[(Zd(A)|0)+16>>2]|0)+176>>1]=i;i=i&65535;a[47137]=i;f[(a[(Zd(A)|0)+16>>2]|0)+178>>1]=(e|0)<(i|0)?e:i;MT(A);return}function WT(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+16|0;f=n+8|0;i=n+12|0;r=e+108|0;a[i>>2]=a[r>>2];if((ep(A,2,i)|0)!=2)ao(0,91169,n)|0;a[r>>2]=a[i>>2];b[e+24>>3]=+oR(A,Yo(A,0,91202,0)|0,-1.0,0.0);b[e>>3]=-+oR(A,Yo(A,0,91204,0)|0,1.0001234,0.0);a[e+40>>2]=kR(A,Yo(A,0,91219,0)|0,2147483647,0)|0;a[e+120>>2]=YT(A,Yo(A,0,91226,0)|0)|0;a[e+132>>2]=DT(A,Yo(A,0,91236,0)|0)|0;a[e+136>>2]=0;a[e+112>>2]=(ER(po(A,91245)|0,0)|0)&255;a[e+128>>2]=(ER(po(A,91254)|0,1)|0)&255;b[e+152>>3]=+oR(A,Yo(A,0,91269,0)|0,0.0,-1797693134862315708145274.0e284);i=kR(A,Yo(A,0,91278,0)|0,0,0)|0;A=e+160|0;a[A>>2]=i;if((i|0)>4){a[f>>2]=i;ao(0,91291,f)|0;a[A>>2]=0}k=n;return}function yT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;f=h;w=h+32|0;t=h+28|0;n=h+24|0;o=h+20|0;u=h+16|0;a[n>>2]=0;a[o>>2]=0;a[u>>2]=0;l=e+136|0;r=a[47137]|0;if((a[l>>2]|0)==1)s=Ij(A,r,u)|0;else s=Ij(A,r,0)|0;do{if((a[e+124>>2]|0)>-1)if((a[e+160>>2]|0)>0){a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];c=Cj(A,f,n,o)|0;break}else{a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];c=Cj(A,f,0,0)|0;break}else c=0}while(0);r=zT(A)|0;a[w>>2]=r;switch(a[l>>2]|0){case 1:case 0:{cj(a[47137]|0,s,a[u>>2]|0,e,0,c,r,a[n>>2]|0,a[o>>2]|0,t);break}case 5:{Ej(a[47137]|0,s,r,t);break}case 4:{r=a[u>>2]|0;if(!r)r=Hs(s)|0;else r=uq(r,0)|0;a[u>>2]=r;hj(a[47137]|0,s,r,w,1,200,.001,t);break}default:{}}r=cd(A)|0;while(1){if(!r)break;i=a[47137]|0;n=a[r+16>>2]|0;e=(a[w>>2]|0)+((U(a[n+120>>2]|0,i)|0)<<3)|0;n=n+132|0;f=0;while(1){if((f|0)>=(i|0))break;b[(a[n>>2]|0)+(f<<3)>>3]=+b[e+(f<<3)>>3];f=f+1|0}r=bd(A,r)|0}L2(c);L2(a[w>>2]|0);rq(s);r=a[u>>2]|0;if(r|0)rq(r);r=a[o>>2]|0;if(r|0)L2(r);k=h;return}function zT(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0;t=a[47137]|0;t=qF(U(t<<3,vh(A)|0)|0)|0;A:do{if(Yo(A,1,102623,0)|0){f=cd(A)|0;while(1){if(!f)break A;e=a[f+16>>2]|0;e:do{if(r[e+119>>0]|0){n=a[47137]|0;l=U(n,a[e+120>>2]|0)|0;i=e+132|0;e=0;while(1){if((e|0)>=(n|0))break e;b[t+(l+e<<3)>>3]=+b[(a[i>>2]|0)+(e<<3)>>3];e=e+1|0}}}while(0);f=bd(A,f)|0}}}while(0);return t|0}function YT(A,e){A=A|0;e=e|0;do{if(e){A=Uo(A,e)|0;e=r[A>>0]|0;if((e+-48|0)>>>0<10){A=q3(A)|0;A=(A|0)<5?A:0;break}if(J1(e)|0)if(N1(A,91330)|0)if(N1(A,91339)|0)if(N1(A,135709)|0)if(!(N1(A,91350)|0))A=3;else{A=(N1(A,91361)|0)==0;A=A?4:0}else A=0;else A=1;else A=2;else A=0}else A=0}while(0);return A|0}function DT(A,e){A=A|0;e=e|0;do{if(e){A=Uo(A,e)|0;e=r[A>>0]|0;if((e+-48|0)>>>0<10){A=q3(A)|0;A=A>>>0<3?A:1;break}if(J1(e)|0)if((N1(A,135709)|0)!=0?(N1(A,137308)|0)!=0:0)if(((N1(A,99730)|0)!=0?(N1(A,107652)|0)!=0:0)?(N1(A,107657)|0)!=0:0){A=(N1(A,91325)|0)==0;A=A?2:1}else A=1;else A=0;else A=1}else A=1}while(0);return A|0}function MT(A){A=A|0;var e=0,i=0;e=cd(A)|0;while(1){if(!e)break;RH(e);e=bd(A,e)|0}i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;FT(e);e=_o(A,e)|0}i=bd(A,i)|0}return}function FT(A){A=A|0;Td(A,137460,176,1)|0;VR(A)|0;return}function VT(A){A=A|0;var e=0,i=0;i=cd(A)|0;while(1){if(!i)break;e=Oo(A,i)|0;while(1){if(!e)break;uH(e);e=_o(A,e)|0}sH(i);i=bd(A,i)|0}return}function JT(){var A=0,e=0;A=$F(168)|0;b[A>>3]=-1.0001234;b[A+8>>3]=1.0;a[A+16>>2]=1;b[A+24>>3]=-1.0;b[A+32>>3]=.2;a[A+40>>2]=0;a[A+44>>2]=4;a[A+48>>2]=1;a[A+52>>2]=45;a[A+56>>2]=10;b[A+64>>3]=.6;b[A+72>>3]=.001;a[A+80>>2]=500;b[A+88>>3]=.9;b[A+96>>3]=.1;a[A+104>>2]=1;a[A+108>>2]=123;e=A+112|0;a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[A+128>>2]=1;a[A+132>>2]=3;a[A+136>>2]=0;b[A+144>>3]=-4.0;b[A+152>>3]=0.0;a[A+160>>2]=0;return A|0}function NT(A){A=A|0;L2(A);return}function XT(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0;e=k;k=k+176|0;i=e+160|0;f=e+152|0;n=e+128|0;c=e+112|0;t=e+88|0;s=e+64|0;w=e+56|0;u=e+40|0;h=e+24|0;o=e+16|0;d=e;r=a[15712]|0;L3(91378,27,1,r)|0;l=+b[A+8>>3];b[d>>3]=+b[A>>3];b[d+8>>3]=l;f3(r,91406,d)|0;d=a[A+108>>2]|0;a[o>>2]=a[A+16>>2];a[o+4>>2]=d;f3(r,91457,o)|0;l=+b[A+32>>3];b[h>>3]=+b[A+24>>3];b[h+8>>3]=l;f3(r,91484,h)|0;h=a[A+44>>2]|0;o=a[A+48>>2]|0;a[u>>2]=a[A+40>>2];a[u+4>>2]=h;a[u+8>>2]=o;f3(r,91507,u)|0;u=a[A+56>>2]|0;a[w>>2]=a[A+52>>2];a[w+4>>2]=u;f3(r,91558,w)|0;l=+b[A+72>>3];w=a[A+80>>2]|0;b[s>>3]=+b[A+64>>3];b[s+8>>3]=l;a[s+16>>2]=w;f3(r,91591,s)|0;l=+b[A+96>>3];s=a[A+104>>2]|0;b[t>>3]=+b[A+88>>3];b[t+8>>3]=l;a[t+16>>2]=s;f3(r,91649,t)|0;t=a[A+116>>2]|0;l=+b[A+152>>3];a[c>>2]=a[A+112>>2];a[c+4>>2]=t;b[c+8>>3]=l;f3(r,91695,c)|0;c=a[A+124>>2]|0;t=a[A+128>>2]|0;l=+b[A+144>>3];a[n>>2]=a[17804+(a[A+120>>2]<<2)>>2];a[n+4>>2]=c;a[n+8>>2]=t;b[n+16>>3]=l;f3(r,91748,n)|0;n=a[17848+(a[A+136>>2]<<2)>>2]|0;a[f>>2]=a[17832+(a[A+132>>2]<<2)>>2];a[f+4>>2]=n;f3(r,91813,f)|0;a[i>>2]=a[A+160>>2];f3(r,91843,i)|0;k=e;return}function RT(A){A=A|0;L2(A);return}function HT(A){A=A|0;var e=0;e=$F(184)|0;a[e>>2]=A;a[e+176>>2]=0;return e|0}function pT(A,e){A=A|0;e=+e;var i=0,r=0,f=0;r=a[A>>2]|0;b[A+8+(r<<3)>>3]=e;f=A+176|0;A:do{switch(a[f>>2]|0){case 0:{i=a[A>>2]|0;if((i|0)==20){a[f>>2]=-1;i=19}else{a[f>>2]=1;i=(i|0)>19?20:i+1|0}a[A>>2]=i;break}case 1:{i=a[A>>2]|0;if((i|0)<20?+b[A+8+(r+-1<<3)>>3]>e:0){a[A>>2]=i+1;break A}else{a[A>>2]=i+-1;a[f>>2]=-1;break A}}default:{i=a[A>>2]|0;if((i|0)>0?+b[A+8+(r+1<<3)>>3]>e:0){a[A>>2]=i+-1;break A}else{a[A>>2]=i+1;a[f>>2]=1;break A}}}}while(0);return}function UT(A){A=A|0;return a[A>>2]|0}function xT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0;k=a[A+20>>2]|0;o=a[A+24>>2]|0;w=a[A>>2]|0;u=a[k+(w<<2)>>2]|0;if(!u)r=1.0;else{A=0;r=0.0;A:while(1){if((A|0)>=(w|0))break;t=A+1|0;c=a[k+(t<<2)>>2]|0;s=U(A,e)|0;l=a[k+(A<<2)>>2]|0;while(1){if((l|0)>=(c|0)){A=t;continue A}n=o+(l<<2)|0;A=0;f=0.0;while(1){if((A|0)>=(e|0))break;h=+b[i+(A+s<<3)>>3]-+b[i+((U(a[n>>2]|0,e)|0)<<3)>>3];A=A+1|0;f=h*h+f}l=l+1|0;r=+z(+f)+r}}r=r/+(u|0)}return+r}function TT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+10|0;if((a[i>>2]|0)<=(e|0)){a[i>>2]=r;a[A>>2]=eV(a[A>>2]|0,r<<3)|0}return}function jT(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+10|0;if((a[i>>2]|0)<=(e|0)){a[i>>2]=r;a[A>>2]=eV(a[A>>2]|0,r<<2)|0}return}function ST(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,a=0.0,n=0.0,l=0,t=0,c=0;c=k;k=k+16|0;t=c;l=U(r,e)|0;e=U(i,e)|0;r=0;while(1){if((r|0)==2)break;b[t+(r<<3)>>3]=+b[A+(r+l<<3)>>3]-+b[A+(r+e<<3)>>3];r=r+1|0}n=+b[t>>3];a=+b[t+8>>3];do{if(!((n>=0.0?n:-n)<=(a>=0.0?a:-a)*1.0e-05)){f=+N(+(a/n));if(n>0.0){if(!(a<0.0))break;f=f+6.283185307179586;break}else{if(!(n<0.0))break;f=f+3.141592653589793;break}}else f=a>0.0?1.5707963267948966:4.71238898038469}while(0);k=c;return+f}function PT(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+b[A>>3];i=+b[e>>3];return(r>i?1:(r>31)|0}function OT(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0,w=0.0,u=0,o=0.0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0.0,m=0,L=0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0.0,X=0,R=0,H=0,p=0.0,x=0,T=0.0,j=0,S=0,P=0,O=0,K=0,_=0,q=0,$=0,AA=0.0;q=k;k=k+80|0;_=q+32|0;K=q;o=+b[i>>3];s=i+24|0;w=+b[s>>3];u=i+32|0;t=+b[u>>3];p=+b[i+72>>3];x=a[i+80>>2]|0;T=+b[i+88>>3];h=+b[i+96>>3];j=a[i+104>>2]|0;S=i+56|0;l=a[S>>2]|0;do{if(!((e|0)==0|(x|0)<1)?(P=a[e+4>>2]|0,!((A|0)<1|(P|0)<1)):0){H=a[e>>2]|0;O=HT(l)|0;a[n>>2]=0;if((H|0)!=(P|0)){a[n>>2]=-100;RT(O);a[S>>2]=l;break}X=tq(e,1)|0;R=a[X+20>>2]|0;H=a[X+24>>2]|0;A:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);c=U(P,A)|0;l=0;while(1){if((l|0)>=(c|0))break A;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(w<0.0){w=+xT(X,A,f);b[s>>3]=w}if(t<0.0){b[u>>3]=.2;t=.2}if(o>=0.0){b[i>>3]=-1.0;o=-1.0}N=+Y(+w,+(1.0-o));Q=+Y(+t,+((2.0-o)*.3333333333333333))/w;m=U(P,A<<3)|0;L=$F(m)|0;W=$F(m)|0;y=i+116|0;D=i+64|0;M=a[15712]|0;F=X+8|0;V=K+8|0;J=K+16|0;Z=0;G=0.0;E=h;while(1){y6(L|0,f|0,m|0)|0;C=UT(O)|0;I=P_(A,P,C,f,(a[y>>2]|0)==0?0:r)|0;U_(I,W,f,+b[D>>3],o,N,K,n);s=0;A:while(1){if((s|0)>=(P|0)){h=0.0;c=0;break}u=U(s,A)|0;d=W+(u<<3)|0;B=s+1|0;v=R+(B<<2)|0;c=a[R+(s<<2)>>2]|0;while(1){if((c|0)>=(a[v>>2]|0)){s=B;continue A}g=H+(c<<2)|0;l=a[g>>2]|0;e:do{if((l|0)!=(s|0)){t=+_s(f,A,s,l)*Q;l=0;while(1){if((l|0)>=(A|0))break e;h=t*(+b[f+(l+u<<3)>>3]-+b[f+((U(a[g>>2]|0,A)|0)+l<<3)>>3]);$=d+(l<<3)|0;b[$>>3]=+b[$>>3]-h;l=l+1|0}}}while(0);c=c+1|0}}while(1){if((c|0)>=(P|0))break;s=U(c,A)|0;u=W+(s<<3)|0;t=0.0;l=0;while(1){if((l|0)>=(A|0))break;AA=+b[u+(l<<3)>>3];t=AA*AA+t;l=l+1|0}t=+z(+t);h=t+h;A:do{if(t>0.0){t=1.0/t;l=0;while(1){if((l|0)>=(A|0)){l=0;break A}$=u+(l<<3)|0;b[$>>3]=+b[$>>3]*t;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(A|0))break;$=f+(l+s<<3)|0;b[$>>3]=+b[$>>3]+ +b[u+(l<<3)>>3]*E;l=l+1|0}c=c+1|0}Z=Z+1|0;if(!I){if(0){$=a[F>>2]|0;a[_>>2]=Z;b[_+8>>3]=E;b[_+16>>3]=h;a[_+24>>2]=$;b[_+32>>3]=w;f3(M,92099,_)|0}}else{eq(I);pT(O,+b[V>>3]*.85+ +b[K>>3]+ +b[J>>3]*3.3)}E=+KT(j,E,h,G,T);if(!((Z|0)<(x|0)&E>p))break;else G=h}if(a[i+112>>2]|0)_T(A,X,f);RT(O);a[S>>2]=C;L2(L);if((X|0)!=(e|0))rq(X);L2(W)}}while(0);k=q;return}function KT(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;do{if(A){if(i>=r){e=f*e;break}if(!(r*.95>2]|0;L=a[e+20>>2]|0;v=a[e+24>>2]|0;a[E>>2]=10;a[Q>>2]=10;g=$F(m<<2)|0;f=$F(80)|0;a[Z>>2]=f;r=$F(40)|0;a[G>>2]=r;e=0;while(1){if((e|0)>=(m|0)){w=0;d=f;c=r;u=r;s=f;break}a[g+(e<<2)>>2]=0;e=e+1|0}while(1){if((w|0)>=(m|0))break;e=a[L+(w<<2)>>2]|0;A:do{if((((a[L+(w+1<<2)>>2]|0)-e|0)==1?(a[g+(w<<2)>>2]|0)==0:0)?(C=a[v+(e<<2)>>2]|0,I=g+(C<<2)|0,(a[I>>2]|0)==0):0){a[I>>2]=1;h=L+(C+1<<2)|0;w=0;B=0;n=0.0;o=a[L+(C<<2)>>2]|0;c=u;e=d;while(1){if((o|0)>=(a[h>>2]|0))break;r=v+(o<<2)|0;f=a[r>>2]|0;if(((a[L+(f+1<<2)>>2]|0)-(a[L+(f<<2)>>2]|0)|0)==1){a[g+(f<<2)>>2]=1;jT(G,B,E);n=+_s(i,A,C,a[r>>2]|0)+n;c=a[G>>2]|0;a[c+(B<<2)>>2]=a[r>>2];r=w;f=B+1|0}else{TT(Z,w,Q);t=+ST(i,A,C,a[r>>2]|0);e=a[Z>>2]|0;b[e+(w<<3)>>3]=t;r=w+1|0;f=B;s=e}w=r;B=f;o=o+1|0}t=n/+(B|0);if((w|0)>0){qT(w,s);e=s}n=(B|0)>1?6.283185307179586/+(B+-1|0):0.0;r=0;l=0.0;while(1){if((r|0)>=(B|0)){u=c;f=c;break A}$T(i,A,t,l,C,a[c+(r<<2)>>2]|0);r=r+1|0;l=l+n}}else{r=w;f=c;e=d}}while(0);w=r+1|0;d=e;c=f}L2(g);L2(d);L2(c);k=W;return}function qT(A,e){A=A|0;e=e|0;K4(e,A,8,68);return}function $T(A,e,i,r,f,a){A=A|0;e=e|0;i=+i;r=+r;f=f|0;a=a|0;var n=0.0;n=+D(+r)*i;f=U(f,e)|0;a=U(a,e)|0;b[A+(a<<3)>>3]=n+ +b[A+(f<<3)>>3];r=+M(+r)*i;b[A+(a+1<<3)>>3]=r+ +b[A+(f+1<<3)>>3];return}function Aj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0,u=0,k=0.0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0,m=0.0,L=0.0,W=0,y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0.0,H=0,p=0.0,x=0,T=0,j=0,S=0,P=0.0;k=+b[i>>3];w=i+24|0;s=+b[w>>3];u=i+32|0;c=+b[u>>3];R=+b[i+72>>3];H=a[i+80>>2]|0;p=+b[i+88>>3];d=+b[i+96>>3];x=a[i+104>>2]|0;l=a[i+56>>2]|0;L3(92198,32,1,a[15712]|0)|0;if(!((e|0)==0|(H|0)<1)?(T=a[e>>2]|0,t=a[e+4>>2]|0,!((A|0)<1|(t|0)<1)):0){o=A<<3;j=$F(U(o,t)|0)|0;if((t|0)<(a[i+52>>2]|0)){M=0;F=0;V=0;J=0;N=0;X=0}else{HT(l)|0;J=$F(A*80|0)|0;N=$F(80)|0;X=$F(80)|0;M=X;F=N;V=J}a[n>>2]=0;if((T|0)==(t|0)){W=tq(e,1)|0;y=a[W+20>>2]|0;D=a[W+24>>2]|0;A:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);t=U(T,A)|0;l=0;while(1){if((l|0)>=(t|0))break A;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(s<0.0){s=+xT(W,A,f);b[w>>3]=s}if(c<0.0){b[u>>3]=.2;c=.2}if(k>=0.0){b[i>>3]=-1.0;k=-1.0}m=1.0-k;L=+Y(+s,+m);G=+Y(+c,+((2.0-k)*.3333333333333333))/s;Q=$F(o)|0;g=U(T,o)|0;E=$F(g)|0;C=U(T,A)|0;I=i+116|0;Z=(r|0)!=0;v=k==-1.0;B=0;k=0.0;while(1){l=0;while(1){if((l|0)>=(C|0))break;b[j+(l<<3)>>3]=0.0;l=l+1|0}y6(E|0,f|0,g|0)|0;o=0;while(1){if((o|0)<(T|0))l=0;else{u=0;break}while(1){if((l|0)>=(A|0))break;b[Q+(l<<3)>>3]=0.0;l=l+1|0}u=U(o,A)|0;A:do{if(Z&(a[I>>2]|0)!=0){l=0;while(1){if((l|0)==(T|0)){l=0;break A}e:do{if((l|0)!=(o|0)){s=+Ks(f,A,o,l);n=r+(l<<3)|0;w=U(l,A)|0;c=+Y(+s,+m);c=1.0/(v?s*s:c);t=0;while(1){if((t|0)>=(A|0))break e;h=Q+(t<<3)|0;b[h>>3]=+b[n>>3]*L*(+b[f+(t+u<<3)>>3]-+b[f+(t+w<<3)>>3])*c+ +b[h>>3];t=t+1|0}}}while(0);l=l+1|0}}else{l=0;while(1){if((l|0)==(T|0)){l=0;break A}e:do{if((l|0)!=(o|0)){s=+Ks(f,A,o,l);n=U(l,A)|0;c=+Y(+s,+m);c=1.0/(v?s*s:c);t=0;while(1){if((t|0)>=(A|0))break e;h=Q+(t<<3)|0;b[h>>3]=(+b[f+(t+u<<3)>>3]-+b[f+(t+n<<3)>>3])*L*c+ +b[h>>3];t=t+1|0}}}while(0);l=l+1|0}}}while(0);while(1){if((l|0)>=(A|0))break;h=j+(l+u<<3)|0;b[h>>3]=+b[h>>3]+ +b[Q+(l<<3)>>3];l=l+1|0}o=o+1|0}A:while(1){if((u|0)<(T|0))l=0;else{s=0.0;t=0;break}while(1){if((l|0)>=(A|0))break;b[Q+(l<<3)>>3]=0.0;l=l+1|0}o=u+1|0;n=y+(o<<2)|0;h=U(u,A)|0;t=a[y+(u<<2)>>2]|0;while(1){if((t|0)>=(a[n>>2]|0)){l=0;break}w=D+(t<<2)|0;l=a[w>>2]|0;e:do{if((l|0)!=(u|0)){c=+_s(f,A,u,l)*G;l=0;while(1){if((l|0)>=(A|0))break e;s=c*(+b[f+(l+h<<3)>>3]-+b[f+((U(a[w>>2]|0,A)|0)+l<<3)>>3]);S=Q+(l<<3)|0;b[S>>3]=+b[S>>3]-s;l=l+1|0}}}while(0);t=t+1|0}while(1){if((l|0)>=(A|0)){u=o;continue A}S=j+(l+h<<3)|0;b[S>>3]=+b[S>>3]+ +b[Q+(l<<3)>>3];l=l+1|0}}while(1){if((t|0)>=(T|0))break;n=U(t,A)|0;l=0;while(1){if((l|0)>=(A|0)){c=0.0;l=0;break}b[Q+(l<<3)>>3]=+b[j+(l+n<<3)>>3];l=l+1|0}while(1){if((l|0)>=(A|0))break;P=+b[Q+(l<<3)>>3];c=P*P+c;l=l+1|0}c=+z(+c);s=c+s;A:do{if(c>0.0){c=1.0/c;l=0;while(1){if((l|0)>=(A|0)){l=0;break A}S=Q+(l<<3)|0;b[S>>3]=+b[S>>3]*c;l=l+1|0}}else l=0}while(0);while(1){if((l|0)>=(A|0))break;S=f+(l+n<<3)|0;b[S>>3]=+b[S>>3]+ +b[Q+(l<<3)>>3]*d;l=l+1|0}t=t+1|0}B=B+1|0;d=+KT(x,d,s,k,p);if(!((B|0)<(H|0)&d>R))break;else k=s}if(a[i+112>>2]|0)_T(A,W,f);L2(E);if((W|0)!=(e|0))rq(W);L2(Q)}else a[n>>2]=-100;if(V|0)L2(J);if(F|0)L2(N);if(M|0)L2(X);L2(j)}return}function ej(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0.0,W=0,y=0,D=0.0,M=0.0,F=0,V=0,J=0,N=0,X=0.0,R=0.0,H=0,p=0,x=0,T=0,j=0,S=0.0,P=0,O=0.0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0.0,tA=0;nA=k;k=k+32|0;q=nA+24|0;$=nA+20|0;rA=nA+16|0;fA=nA+12|0;aA=nA+8|0;j=nA;B=+b[i>>3];c=i+24|0;d=+b[c>>3];s=i+32|0;h=+b[s>>3];S=+b[i+72>>3];P=a[i+80>>2]|0;O=+b[i+88>>3];v=+b[i+96>>3];K=a[i+104>>2]|0;a[q>>2]=0;a[$>>2]=10;a[rA>>2]=0;a[fA>>2]=0;a[aA>>2]=0;b[j>>3]=0.0;iA=i+56|0;w=a[iA>>2]|0;if(!((e|0)==0|(P|0)<1)?(_=a[e>>2]|0,l=a[e+4>>2]|0,!((A|0)<1|(l|0)<1)):0){if((l|0)<(a[i+52>>2]|0)){eA=0;AA=0}else{eA=HT(w)|0;a[rA>>2]=$F(A*80|0)|0;a[fA>>2]=$F(80)|0;a[aA>>2]=$F(80)|0;AA=1}a[n>>2]=0;A:do{if((_|0)==(l|0)){u=tq(e,1)|0;H=a[u+20>>2]|0;p=a[u+24>>2]|0;e:do{if(a[i+16>>2]|0){f8(a[i+108>>2]|0);t=U(_,A)|0;l=0;while(1){if((l|0)>=(t|0))break e;b[f+(l<<3)>>3]=+Us();l=l+1|0}}}while(0);if(d<0.0){d=+xT(u,A,f);b[c>>3]=d}if(h<0.0){b[s>>3]=.2;h=.2}if(B>=0.0){b[i>>3]=-1.0;B=-1.0}X=1.0-B;R=+Y(+d,+X);M=+Y(+h,+((2.0-B)*.3333333333333333))/d;F=A<<3;x=$F(F)|0;F=U(_,F)|0;T=$F(F)|0;V=(AA|0)!=0;J=i+116|0;N=i+64|0;W=B==-1.0;y=(r|0)!=0;D=1.0/+(_|0);l=0;m=0;L=0.0;while(1){m=m+1|0;y6(T|0,f|0,F|0)|0;if(V){l=UT(eA)|0;w=l;l=P_(A,_,l,f,(a[J>>2]|0)==0?0:r)|0}g=0.0;B=0.0;E=0;d=0.0;e:while(1){if((E|0)<(_|0))t=0;else break;while(1){if((t|0)>=(A|0))break;b[x+(t<<3)>>3]=0.0;t=t+1|0}G=E+1|0;s=H+(G<<2)|0;Q=U(E,A)|0;c=a[H+(E<<2)>>2]|0;while(1){if((c|0)>=(a[s>>2]|0))break;o=p+(c<<2)|0;t=a[o>>2]|0;i:do{if((t|0)!=(E|0)){h=+_s(f,A,E,t)*M;t=0;while(1){if((t|0)>=(A|0))break i;lA=h*(+b[f+(t+Q<<3)>>3]-+b[f+((U(a[o>>2]|0,A)|0)+t<<3)>>3]);Z=x+(t<<3)|0;b[Z>>3]=+b[Z>>3]-lA;t=t+1|0}}}while(0);c=c+1|0}i:do{if(!V)if(y&(a[J>>2]|0)!=0){t=0;while(1){if((t|0)==(_|0))break i;r:do{if((t|0)!=(E|0)){lA=+Ks(f,A,E,t);s=r+(t<<3)|0;o=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break r;Z=x+(c<<3)|0;b[Z>>3]=+b[s>>3]*R*(+b[f+(c+Q<<3)>>3]-+b[f+(c+o<<3)>>3])*h+ +b[Z>>3];c=c+1|0}}}while(0);t=t+1|0}}else{t=0;while(1){if((t|0)==(_|0))break i;r:do{if((t|0)!=(E|0)){lA=+Ks(f,A,E,t);s=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break r;Z=x+(c<<3)|0;b[Z>>3]=(+b[f+(c+Q<<3)>>3]-+b[f+(c+s<<3)>>3])*R*h+ +b[Z>>3];c=c+1|0}}}while(0);t=t+1|0}}else{p_(l,+b[N>>3],f+(Q<<3)|0,E,q,$,rA,fA,aA,j,n);g=+b[j>>3]+g;Z=a[q>>2]|0;B=B+ +(Z|0);if(a[n>>2]|0){s=x;c=T;l=x;t=T;o=67;break A}s=a[aA>>2]|0;o=a[fA>>2]|0;E=a[rA>>2]|0;t=0;while(1){if((t|0)>=(Z|0))break i;lA=+b[s+(t<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;C=o+(t<<3)|0;I=U(t,A)|0;h=+Y(+lA,+X);h=1.0/(W?lA*lA:h);c=0;while(1){if((c|0)>=(A|0))break;tA=x+(c<<3)|0;b[tA>>3]=+b[C>>3]*R*(+b[f+(c+Q<<3)>>3]-+b[E+(c+I<<3)>>3])*h+ +b[tA>>3];c=c+1|0}t=t+1|0}}}while(0);h=0.0;t=0;while(1){if((t|0)>=(A|0))break;lA=+b[x+(t<<3)>>3];h=lA*lA+h;t=t+1|0}h=+z(+h);d=h+d;i:do{if(h>0.0){h=1.0/h;t=0;while(1){if((t|0)>=(A|0)){t=0;break i}tA=x+(t<<3)|0;b[tA>>3]=+b[tA>>3]*h;t=t+1|0}}else t=0}while(0);while(1){if((t|0)>=(A|0)){E=G;continue e}tA=f+(t+Q<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[x+(t<<3)>>3]*v;t=t+1|0}}if(l|0){eq(l);pT(eA,B*D*5.0+g*D)}v=+KT(K,v,d,L,O);if(!((m|0)<(P|0)&v>S))break;else L=d}if(!(a[i+112>>2]|0)){s=x;c=T;t=T;l=x;o=66}else{_T(A,u,f);s=x;c=T;t=T;l=x;o=66}}else{a[n>>2]=-100;u=e;s=0;c=0;t=0;l=0;o=66}}while(0);if((o|0)==66)if(AA)o=67;if((o|0)==67){RT(eA);a[iA>>2]=w}if(c|0)L2(t);if((u|0)!=(e|0))rq(u);if(s|0)L2(l);l=a[rA>>2]|0;if(l|0)L2(l);l=a[fA>>2]|0;if(l|0)L2(l);l=a[aA>>2]|0;if(l|0)L2(l)}k=nA;return}function ij(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=+l;t=t|0;var c=0,s=0,w=0,u=0,o=0.0,h=0,d=0.0,B=0,v=0.0,g=0.0,E=0.0,C=0,I=0,Z=0.0,G=0,Q=0,m=0.0,L=0,W=0.0,y=0.0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0,O=0,K=0.0,_=0,q=0.0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0,lA=0.0,tA=0;nA=k;k=k+48|0;u=nA+8|0;eA=nA+40|0;iA=nA+36|0;P=nA+32|0;fA=nA+28|0;aA=nA+24|0;O=nA;o=+b[r>>3];h=r+32|0;d=+b[h>>3];K=+b[r+72>>3];_=a[r+80>>2]|0;q=+b[r+88>>3];v=+b[r+96>>3];$=a[r+104>>2]|0;a[eA>>2]=0;a[iA>>2]=10;a[P>>2]=0;a[fA>>2]=0;a[aA>>2]=0;b[O>>3]=0.0;if(!((e|0)==0|(_|0)<1)?(AA=a[e>>2]|0,w=a[e+4>>2]|0,!((A|0)<1|(w|0)<1)):0){if((a[r+132>>2]|0)!=0?(w|0)>=(a[r+52>>2]|0):0){s=$F(A*80|0)|0;a[P>>2]=s;a[fA>>2]=$F(80)|0;a[aA>>2]=$F(80)|0;B=1;c=s}else{B=0;c=0;s=0}a[t>>2]=0;if((AA|0)==(w|0)){S=tq(e,1)|0;if(!i){j=0;c=S}else{j=a[i+28>>2]|0;c=i}T=a[c+24>>2]|0;x=a[c+20>>2]|0;if(l<0.0){y=+rj(AA,x,j);W=+(a[x+(AA<<2)>>2]|0);m=+(AA|0);l=W/(m*m-W)*l/+Y(+y,+(o+1.0));p=a[15712]|0;b[u>>3]=y;b[u+8>>3]=l;f3(p,92231,u)|0}A:do{if(a[r+16>>2]|0){L3(92253,24,1,a[15712]|0)|0;f8(a[r+108>>2]|0);s=U(AA,A)|0;c=0;while(1){if((c|0)>=(s|0))break A;b[n+(c<<3)>>3]=+Us();c=c+1|0}}}while(0);fj(AA,A,n,x,T,j);if(d<0.0)b[h>>3]=.2;if(o>=0.0){b[r>>3]=-1.0;o=-1.0}H=A<<3;R=$F(H)|0;H=U(AA,H)|0;p=$F(H)|0;M=(B|0)!=0;F=r+116|0;V=(j|0)==0;J=r+8|0;N=(f|0)!=0;X=o==-1.0;y=1.0-o;D=r+64|0;c=0;L=0;W=0.0;o=1.0;m=v;A:while(1){L=L+1|0;y6(p|0,n|0,H|0)|0;if(M)c=P_(A,AA,10,n,(a[F>>2]|0)==0?0:f)|0;B=0;v=0.0;e:while(1){if((B|0)<(AA|0))s=0;else break;while(1){if((s|0)>=(A|0))break;b[R+(s<<3)>>3]=0.0;s=s+1|0}Q=B+1|0;h=x+(Q<<2)|0;G=U(B,A)|0;u=a[x+(B<<2)>>2]|0;while(1){if((u|0)>=(a[h>>2]|0))break;i=T+(u<<2)|0;s=a[i>>2]|0;i:do{if((s|0)!=(B|0)){Z=+Ks(n,A,B,s);if(!V)o=+b[j+(u<<3)>>3];d=+b[J>>3];r:do{if(!(d==2.0))if(d==1.0){d=(Z-o)*(1.0/(o*o));g=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;E=d*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*g;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-E;s=s+1|0}}else{d=1.0/+Y(+o,+(d+1.0));g=Z-o;E=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;lA=+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3];lA=d*lA*+Y(+g,+ +b[J>>3])*E;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}else{d=Z-o;d=d*d*(1.0/(o*o*o));g=1.0/Z;s=0;while(1){if((s|0)>=(A|0))break r;lA=d*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*g;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}}while(0);if(N&(a[F>>2]|0)!=0){w=f+(u<<3)|0;d=+Y(+Z,+y);d=1.0/(X?Z*Z:d);s=0;while(1){if((s|0)>=(A|0))break i;lA=+b[w>>3]*l*(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*d;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}else{d=+Y(+Z,+y);d=1.0/(X?Z*Z:d);s=0;while(1){if((s|0)>=(A|0))break i;lA=(+b[n+(s+G<<3)>>3]-+b[n+((U(a[i>>2]|0,A)|0)+s<<3)>>3])*l*d;I=R+(s<<3)|0;b[I>>3]=+b[I>>3]-lA;s=s+1|0}}}}while(0);u=u+1|0}i:do{if(!M)if(N&(a[F>>2]|0)!=0){s=0;while(1){if((s|0)==(AA|0)){d=0.0;s=0;break i}r:do{if((s|0)!=(B|0)){lA=+Ks(n,A,B,s);i=f+(s<<3)|0;u=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break r;I=R+(w<<3)|0;b[I>>3]=+b[i>>3]*l*(+b[n+(w+G<<3)>>3]-+b[n+(w+u<<3)>>3])*d+ +b[I>>3];w=w+1|0}}}while(0);s=s+1|0}}else{s=0;while(1){if((s|0)==(AA|0)){d=0.0;s=0;break i}r:do{if((s|0)!=(B|0)){lA=+Ks(n,A,B,s);i=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break r;I=R+(w<<3)|0;b[I>>3]=(+b[n+(w+G<<3)>>3]-+b[n+(w+i<<3)>>3])*l*d+ +b[I>>3];w=w+1|0}}}while(0);s=s+1|0}}else{p_(c,+b[D>>3],n+(G<<3)|0,B,eA,iA,P,fA,aA,O,t);i=a[eA>>2]|0;if(a[t>>2]|0)break A;u=a[aA>>2]|0;h=a[fA>>2]|0;B=a[P>>2]|0;s=0;while(1){if((s|0)>=(i|0)){d=0.0;s=0;break i}lA=+b[u+(s<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;C=h+(s<<3)|0;I=U(s,A)|0;d=+Y(+lA,+y);d=1.0/(X?lA*lA:d);w=0;while(1){if((w|0)>=(A|0))break;tA=R+(w<<3)|0;b[tA>>3]=+b[C>>3]*l*(+b[n+(w+G<<3)>>3]-+b[B+(w+I<<3)>>3])*d+ +b[tA>>3];w=w+1|0}s=s+1|0}}}while(0);while(1){if((s|0)>=(A|0))break;lA=+b[R+(s<<3)>>3];d=lA*lA+d;s=s+1|0}d=+z(+d);v=d+v;i:do{if(d>0.0){d=1.0/d;s=0;while(1){if((s|0)>=(A|0)){s=0;break i}tA=R+(s<<3)|0;b[tA>>3]=+b[tA>>3]*d;s=s+1|0}}else s=0}while(0);while(1){if((s|0)>=(A|0)){B=Q;continue e}tA=n+(s+G<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[R+(s<<3)>>3]*m;s=s+1|0}}if(c|0)eq(c);m=+KT($,m,v,W,q);if(!((L|0)<(_|0)&m>K)){rA=83;break}else W=v}if((rA|0)==83?a[r+112>>2]|0:0)_T(A,S,n);L2(p);if((S|0)!=(e|0))rq(S);L2(R);c=a[P>>2]|0;s=c}else a[t>>2]=-100;if(s|0)L2(c);c=a[fA>>2]|0;if(c|0)L2(c);c=a[aA>>2]|0;if(c|0)L2(c)}k=nA;return}function rj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0.0;if(!i)r=1.0;else{f=0;r=0.0;A:while(1){if((f|0)>=(A|0))break;n=f+1|0;l=a[e+(n<<2)>>2]|0;f=a[e+(f<<2)>>2]|0;while(1){if((f|0)>=(l|0)){f=n;continue A}t=+b[i+(f<<3)>>3]+r;f=f+1|0;r=t}}r=r/+(a[e+(A<<2)>>2]|0)}return+r}function fj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0.0;E=k;k=k+16|0;g=E;v=(n|0)==0;c=0.0;s=0.0;w=1.0;t=0;A:while(1){if((t|0)>=(A|0))break;d=t+1|0;B=r+(d<<2)|0;h=a[r+(t<<2)>>2]|0;while(1){if((h|0)>=(a[B>>2]|0)){t=d;continue A}l=a[f+(h<<2)>>2]|0;e:do{if((l|0)!=(t|0)){u=+Ks(i,e,t,l);if(!v)w=+b[n+(h<<3)>>3];C=1.0/(w*w);o=w*u*C;u=u*u*C;l=0;while(1){if((l|0)>=(e|0))break e;l=l+1|0;c=c+u;s=s+o}}}while(0);h=h+1|0}}c=s/c;t=U(e,A)|0;l=0;while(1){if((l|0)>=(t|0))break;e=i+(l<<3)|0;b[e>>3]=+b[e>>3]*c;l=l+1|0}i=a[15712]|0;b[g>>3]=c;f3(i,92278,g)|0;k=E;return}function aj(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0.0,u=0.0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0.0,Q=0,m=0,L=0,W=0,y=0.0,D=0,M=0.0,F=0,V=0,J=0,N=0.0,X=0.0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0.0,O=0,K=0.0,_=0,q=0,$=0,AA=0,eA=0,iA=0,rA=0,fA=0,aA=0,nA=0.0,lA=0.0,tA=0;aA=k;k=k+32|0;$=aA+24|0;AA=aA+20|0;eA=aA+16|0;rA=aA+12|0;fA=aA+8|0;S=aA;d=+b[r>>3];o=r+24|0;u=+b[o>>3];h=r+32|0;w=+b[h>>3];P=+b[r+72>>3];O=a[r+80>>2]|0;K=+b[r+88>>3];E=+b[r+96>>3];_=a[r+104>>2]|0;a[$>>2]=0;a[AA>>2]=10;a[eA>>2]=0;a[rA>>2]=0;a[fA>>2]=0;b[S>>3]=0.0;if(!((e|0)==0|(O|0)<1)?(q=a[e>>2]|0,s=a[e+4>>2]|0,!((A|0)<1|(s|0)<1)):0){if((s|0)<(a[r+52>>2]|0)){B=0;t=0;c=0}else{c=$F(A*80|0)|0;a[eA>>2]=c;a[rA>>2]=$F(80)|0;a[fA>>2]=$F(80)|0;B=1;t=c}a[l>>2]=0;if((q|0)==(s|0)){H=tq(e,1)|0;p=a[H+20>>2]|0;x=a[H+24>>2]|0;T=a[i+20>>2]|0;j=a[i+24>>2]|0;R=a[i+28>>2]|0;A:do{if(a[r+16>>2]|0){f8(a[r+108>>2]|0);c=U(q,A)|0;t=0;while(1){if((t|0)>=(c|0))break A;b[n+(t<<3)>>3]=+Us();t=t+1|0}}}while(0);if(u<0.0){u=+xT(H,A,n);b[o>>3]=u}if(w<0.0){b[h>>3]=.2;w=.2}if(d>=0.0){b[r>>3]=-1.0;d=-1.0}N=1.0-d;X=+Y(+u,+N);M=+Y(+w,+((2.0-d)*.3333333333333333))/u;V=A<<3;F=$F(V)|0;V=U(q,V)|0;J=$F(V)|0;L=(B|0)!=0;W=r+116|0;y=M*.2;D=r+64|0;Q=d==-1.0;m=(f|0)!=0;t=0;Z=0;G=0.0;A:while(1){Z=Z+1|0;y6(J|0,n|0,V|0)|0;if(L)t=P_(A,q,10,n,(a[W>>2]|0)==0?0:f)|0;B=0;u=0.0;e:while(1){if((B|0)<(q|0))c=0;else break;while(1){if((c|0)>=(A|0))break;b[F+(c<<3)>>3]=0.0;c=c+1|0}C=B+1|0;i=p+(C<<2)|0;I=U(B,A)|0;s=a[p+(B<<2)>>2]|0;while(1){if((s|0)>=(a[i>>2]|0))break;o=x+(s<<2)|0;c=a[o>>2]|0;i:do{if((c|0)!=(B|0)){w=+_s(n,A,B,c)*M;c=0;while(1){if((c|0)>=(A|0))break i;d=w*(+b[n+(c+I<<3)>>3]-+b[n+((U(a[o>>2]|0,A)|0)+c<<3)>>3]);g=F+(c<<3)|0;b[g>>3]=+b[g>>3]-d;c=c+1|0}}}while(0);s=s+1|0}o=T+(C<<2)|0;i=a[T+(B<<2)>>2]|0;while(1){if((i|0)>=(a[o>>2]|0))break;h=j+(i<<2)|0;c=a[h>>2]|0;i:do{if((c|0)!=(B|0)){w=+Ks(n,A,B,c);s=R+(i<<3)|0;d=1.0/w;c=0;while(1){if((c|0)>=(A|0))break i;lA=+b[s>>3];nA=w-lA;nA=nA*nA*y*(+b[n+(c+I<<3)>>3]-+b[n+((U(a[h>>2]|0,A)|0)+c<<3)>>3])*d;g=F+(c<<3)|0;b[g>>3]=(w>3];c=c+1|0}}}while(0);i=i+1|0}i:do{if(!L)if(m&(a[W>>2]|0)!=0){c=0;while(1){if((c|0)==(q|0)){w=0.0;c=0;break i}r:do{if((c|0)!=(B|0)){lA=+Ks(n,A,B,c);i=f+(c<<3)|0;o=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break r;g=F+(s<<3)|0;b[g>>3]=+b[i>>3]*X*(+b[n+(s+I<<3)>>3]-+b[n+(s+o<<3)>>3])*w+ +b[g>>3];s=s+1|0}}}while(0);c=c+1|0}}else{c=0;while(1){if((c|0)==(q|0)){w=0.0;c=0;break i}r:do{if((c|0)!=(B|0)){lA=+Ks(n,A,B,c);i=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break r;g=F+(s<<3)|0;b[g>>3]=(+b[n+(s+I<<3)>>3]-+b[n+(s+i<<3)>>3])*X*w+ +b[g>>3];s=s+1|0}}}while(0);c=c+1|0}}else{p_(t,+b[D>>3],n+(I<<3)|0,B,$,AA,eA,rA,fA,S,l);i=a[$>>2]|0;if(a[l>>2]|0)break A;o=a[fA>>2]|0;h=a[rA>>2]|0;B=a[eA>>2]|0;c=0;while(1){if((c|0)>=(i|0)){w=0.0;c=0;break i}lA=+b[o+(c<<3)>>3];lA=lA>1.0e-15?lA:1.0e-15;v=h+(c<<3)|0;g=U(c,A)|0;w=+Y(+lA,+N);w=1.0/(Q?lA*lA:w);s=0;while(1){if((s|0)>=(A|0))break;tA=F+(s<<3)|0;b[tA>>3]=+b[v>>3]*X*(+b[n+(s+I<<3)>>3]-+b[B+(s+g<<3)>>3])*w+ +b[tA>>3];s=s+1|0}c=c+1|0}}}while(0);while(1){if((c|0)>=(A|0))break;lA=+b[F+(c<<3)>>3];w=lA*lA+w;c=c+1|0}w=+z(+w);u=w+u;i:do{if(w>0.0){w=1.0/w;c=0;while(1){if((c|0)>=(A|0)){c=0;break i}tA=F+(c<<3)|0;b[tA>>3]=+b[tA>>3]*w;c=c+1|0}}else c=0}while(0);while(1){if((c|0)>=(A|0)){B=C;continue e}tA=n+(c+I<<3)|0;b[tA>>3]=+b[tA>>3]+ +b[F+(c<<3)>>3]*E;c=c+1|0}}if(t|0)eq(t);E=+KT(_,E,u,G,K);if(!((Z|0)<(O|0)&E>P)){iA=70;break}else G=u}if((iA|0)==70?a[r+112>>2]|0:0)_T(A,H,n);L2(J);if((H|0)!=(e|0))rq(H);L2(F);t=a[eA>>2]|0;c=t}else a[l>>2]=-100;if(c|0)L2(t);t=a[rA>>2]|0;if(t|0)L2(t);t=a[fA>>2]|0;if(t|0)L2(t)}k=aA;return}function nj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0;u=a[e+20>>2]|0;k=a[e+24>>2]|0;o=$F(A<<3)|0;w=a[e>>2]|0;c=0;A:while(1){if((c|0)<(w|0))e=0;else break;while(1){if((e|0)>=(A|0))break;b[o+(e<<3)>>3]=0.0;e=e+1|0}s=c+1|0;t=a[u+(s<<2)>>2]|0;l=a[u+(c<<2)>>2]|0;e=0;while(1){if((l|0)>=(t|0))break;r=a[k+(l<<2)>>2]|0;if((r|0)!=(c|0)){n=U(r,A)|0;r=0;while(1){if((r|0)>=(A|0))break;h=o+(r<<3)|0;b[h>>3]=+b[h>>3]+ +b[i+(n+r<<3)>>3];r=r+1|0}e=e+1|0}l=l+1|0}if((e|0)<=0){c=s;continue}f=.5/+(e|0);r=U(c,A)|0;e=0;while(1){if((e|0)>=(A|0)){c=s;continue A}h=i+(e+r<<3)|0;b[h>>3]=+b[o+(e<<3)>>3]*f+ +b[h>>3]*.5;e=e+1|0}}L2(o);return}function lj(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0.0;t=a[A+20>>2]|0;c=a[A+24>>2]|0;l=a[A>>2]|0;b=$F((l<<2)+4|0)|0;A=0;while(1){if((A|0)>(l|0)){i=0;r=0;break}a[b+(A<<2)>>2]=0;A=A+1|0}while(1){if((r|0)>=(l|0))break;f=r+1|0;n=a[t+(f<<2)>>2]|0;A=0;e=a[t+(r<<2)>>2]|0;while(1){if((e|0)>=(n|0))break;A=A+((r|0)!=(a[c+(e<<2)>>2]|0)&1)|0;e=e+1|0}n=b+(A<<2)|0;r=(a[n>>2]|0)+1|0;a[n>>2]=r;i=(i|0)>(r|0)?i:r;r=f}s=+(a[b+4>>2]|0);if(+(i|0)*.8=(n|0)){f=0;break}b[w+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((f|0)>=(e|0)){n=0;break}b[t+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=t+(f<<3)|0;b[s>>3]=+b[s>>3]+ +b[i+(f+l<<3)>>3];f=f+1|0}n=n+1|0}r=1.0/+(A|0);f=0;while(1){if((f|0)>=(e|0)){n=0;break}s=t+(f<<3)|0;b[s>>3]=+b[s>>3]*r;f=f+1|0}while(1){if((n|0)>=(A|0)){l=0;break}l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=i+(f+l<<3)|0;b[s>>3]=+b[s>>3]-+b[t+(f<<3)>>3];f=f+1|0}n=n+1|0}while(1){if((l|0)>=(A|0))break;t=U(l,e)|0;n=0;while(1){if((n|0)>=(e|0))break;c=i+(n+t<<3)|0;s=U(n,e)|0;f=0;while(1){if((f|0)==(e|0))break;o=w+(f+s<<3)|0;b[o>>3]=+b[o>>3]+ +b[i+(f+t<<3)>>3]*+b[c>>3];f=f+1|0}n=n+1|0}l=l+1|0}r=+b[w+8>>3];if(r==0.0)r=0.0;else{h=+b[w>>3];a=+b[w+24>>3];r=-(a-h-+z(+(h*h+r*r*4.0+(h*-2.0+a)*a)))/(r*2.0)}a=+z(+(r*r+1.0));r=r/a;a=1.0/a;f=0;while(1){if((f|0)>=(A|0))break;o=U(f,e)|0;w=i+(o<<3)|0;h=+b[w>>3];o=i+(o+1<<3)|0;d=+b[o>>3];b[w>>3]=d*a+h*r;b[o>>3]=d*r-h*a;f=f+1|0}k=u;return}function cj(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;bj(A,e,i,r,f,a,n,l,t,c);return}function bj(A,e,i,r,f,n,l,t,c,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;var w=0.0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0;N=k;k=k+192|0;M=N+176|0;D=N+168|0;V=N;y6(V|0,r|0,168)|0;a[s>>2]=0;do{if(e|0?(J=a[e+4>>2]|0,!((A|0)<1|(J|0)<1)):0){if((cq(e,0)|0)!=0?(a[e+16>>2]|0)==1:0){if((a[r+136>>2]|0)==1)u=kq(i)|0;else u=i;F=kq(e)|0}else v=5;do{if((v|0)==5)if((a[r+136>>2]|0)==1){F=uq(e,0)|0;u=uq(i,0)|0;break}else{F=Hs(e)|0;u=i;break}}while(0);Y=r+160|0;o=a[Y>>2]|0;if((o|0)==3){if((t|0)>0)v=14}else if((t|0)>0&(o|0)==4)v=14;if((v|0)==14){i=$F(U(A<<3,a[F>>2]|0)|0)|0;J=sj(F,t,c)|0;cj(A,J,0,r,0,0,i,0,0,s);wj(A,F,t,c,l,i);qO(A,F,l,n,a[r+124>>2]|0,+b[r+144>>3],a[Y>>2]|0,t,c);rq(J);L2(i);if((F|0)==(e|0))break;rq(F);break}y=fw(a[r+44>>2]|0,a[r+48>>2]|0)|0;a[y+16>>2]=a[r+40>>2];z=Bw(F,u,f,y)|0;h=Ew(z)|0;if(!(a[h+32>>2]|0))d=l;else d=$F(U(A<<3,a[h+4>>2]|0)|0)|0;o=lj(F)|0;if(+b[r>>3]==-1.0001234)b[r>>3]=(o|0)==0?-1.0:-1.8;E=r+136|0;C=r+24|0;I=r+16|0;Z=r+104|0;G=r+96|0;Q=A<<3;m=r+132|0;L=a[15712]|0;W=r+80|0;while(1){A:do{switch(a[E>>2]|0){case 0:{switch(a[m>>2]|0){case 0:{Aj(A,a[h+8>>2]|0,r,a[h+24>>2]|0,d,s);break A}case 2:{o=h+8|0;v=29;break}case 3:{o=h+8|0;B=a[o>>2]|0;if((a[B>>2]|0)>1e4)if(!0)v=29;else{a[D>>2]=1e4;f3(L,92299,D)|0;v=29}else v=30;break}default:{B=a[h+8>>2]|0;v=30}}if((v|0)==29){OT(A,a[o>>2]|0,r,a[h+24>>2]|0,d,s);break A}else if((v|0)==30){ej(A,B,r,a[h+24>>2]|0,d,s);break A}break}case 1:{b[G>>3]=1.0;a[Z>>2]=1;g=(a[h+28>>2]|0)==0;w=g?.5:.05;a[W>>2]=g?500:100;g=(a[h+32>>2]|0)==0;o=h+8|0;B=h+12|0;v=h+24|0;ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w,s);if(g){a[I>>2]=0;b[G>>3]=.05;a[Z>>2]=0;ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.5,s);ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.125,s);ij(A,a[o>>2]|0,a[B>>2]|0,r,a[v>>2]|0,d,w*.03125,s)}break}default:{}}}while(0);v=a[h+32>>2]|0;if(!v){v=39;break}if(a[s>>2]|0){v=35;break}g=a[h+16>>2]|0;o=a[h+40>>2]|0;if(!(a[v+32>>2]|0))B=l;else B=$F(U(Q,a[v+4>>2]|0)|0)|0;uj(A,a[v+8>>2]|0,g,a[v+20>>2]|0,d,B,o,+b[C>>3]*.001);L2(d);a[I>>2]=0;b[C>>3]=+b[C>>3]*.75;a[Z>>2]=0;b[G>>3]=((a[(a[v+28>>2]|0)+40>>2]|0)+-9|0)>>>0<2?1.0:.1;h=v;d=B}if((v|0)==35)L2(d);else if((v|0)==39){Tw(A,F,r,f,l,s);if(0){a[M>>2]=a[r+124>>2];f3(L,92362,M)|0}if((A|0)==2)tj(J,2,l);w=+b[r+152>>3];if(w!=0.0)kj(J,A,l,w);qO(A,F,l,n,a[r+124>>2]|0,+b[r+144>>3],a[Y>>2]|0,t,c)}y6(r|0,V|0,168)|0;if((F|0)!=(e|0))rq(F);if(!((u|0)==0|(u|0)==(i|0)))rq(u);aw(y);nw(z)}}while(0);k=N;return}function sj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;I=Z;g=a[A+20>>2]|0;E=a[A+24>>2]|0;C=$F(a[A>>2]<<2)|0;r=0;while(1){if((r|0)>=(a[A>>2]|0)){r=0;break}a[C+(r<<2)>>2]=1;r=r+1|0}while(1){if((r|0)>=(e|0)){r=0;i=0;break}a[C+(a[i+(r<<2)>>2]<<2)>>2]=-1;r=r+1|0}while(1){s=a[A>>2]|0;if((i|0)>=(s|0)){i=0;e=0;break}e=C+(i<<2)|0;if((a[e>>2]|0)>0){a[e>>2]=r;r=r+1|0}i=i+1|0}A:while(1){while(1){if((e|0)>=(s|0))break A;if((a[C+(e<<2)>>2]|0)>=0)break;e=e+1|0}c=e+1|0;b=a[g+(c<<2)>>2]|0;t=a[g+(e<<2)>>2]|0;while(1){if((t|0)>=(b|0)){e=c;continue A}f=a[E+(t<<2)>>2]|0;e:do{if((a[C+(f<<2)>>2]|0)>-1)i=i+1|0;else{l=a[g+(f+1<<2)>>2]|0;n=a[g+(f<<2)>>2]|0;while(1){if((n|0)>=(l|0))break e;f=a[E+(n<<2)>>2]|0;if((f|0)!=(e|0))i=((a[C+(f<<2)>>2]|0)>>>31^1)+i|0;n=n+1|0}}}while(0);t=t+1|0}}e=i<<2;if((i|0)>0){d=$F(e)|0;B=$F(e)|0;o=B;h=d}else{o=0;h=0;d=0;B=0}v=a[15712]|0;e=0;f=0;A:while(1){i=a[A>>2]|0;while(1){if((e|0)>=(i|0))break A;u=C+(e<<2)|0;if((a[u>>2]|0)>=0)break;e=e+1|0}s=e+1|0;w=g+(s<<2)|0;b=a[g+(e<<2)>>2]|0;i=f;while(1){if((b|0)>=(a[w>>2]|0)){e=s;f=i;continue A}f=E+(b<<2)|0;n=a[f>>2]|0;e:do{if((a[C+(n<<2)>>2]|0)>-1){a[h+(i<<2)>>2]=a[u>>2];a[o+(i<<2)>>2]=a[C+(a[f>>2]<<2)>>2];i=i+1|0}else{c=g+(n+1<<2)|0;t=a[g+(n<<2)>>2]|0;while(1){if((t|0)>=(a[c>>2]|0))break e;f=E+(t<<2)|0;l=a[f>>2]|0;do{if((l|0)!=(e|0)?(a[C+(l<<2)>>2]|0)>-1:0){a[h+(i<<2)>>2]=a[u>>2];l=i+1|0;a[o+(i<<2)>>2]=a[C+(a[f>>2]<<2)>>2];n=a[u>>2]|0;i=a[C+(a[f>>2]<<2)>>2]|0;if((n|0)!=68)if((i|0)==68)i=68;else{i=l;break}a[I>>2]=n;a[I+4>>2]=i;f3(v,92380,I)|0;i=l}}while(0);t=t+1|0}}}while(0);b=b+1|0}}I=hq(f,r,r,h,o,0,8,8)|0;L2(d);L2(B);L2(C);k=Z;return I|0}function wj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0.0,s=0,w=0,u=0,k=0,o=0,h=0;o=$F(a[e>>2]<<2)|0;l=0;while(1){if((l|0)>=(a[e>>2]|0)){l=0;break}a[o+(l<<2)>>2]=1;l=l+1|0}while(1){if((l|0)>=(i|0)){l=0;s=0;break}t=a[r+(l<<2)>>2]|0;if((t|0)>-1?(t|0)<(a[e>>2]|0):0)a[o+(t<<2)>>2]=-1;l=l+1|0}while(1){u=a[e>>2]|0;if((s|0)>=(u|0)){s=0;break}t=o+(s<<2)|0;if((a[t>>2]|0)>-1){a[t>>2]=l;l=l+1|0}s=s+1|0}while(1){if((s|0)>=(u|0))break;l=a[o+(s<<2)>>2]|0;A:do{if((l|0)>-1){w=U(s,A)|0;t=U(l,A)|0;l=0;while(1){if((l|0)>=(A|0))break A;b[f+(l+w<<3)>>3]=+b[n+(t+l<<3)>>3];l=l+1|0}}}while(0);s=s+1|0}k=e+20|0;n=e+24|0;u=0;while(1){if((u|0)>=(i|0))break;e=a[r+(u<<2)>>2]|0;l=a[k>>2]|0;s=a[l+(e+1<<2)>>2]|0;l=a[l+(e<<2)>>2]|0;w=s-l|0;e=U(e,A)|0;t=0;while(1){if((t|0)>=(A|0))break;b[f+(t+e<<3)>>3]=0.0;t=t+1|0}while(1){if((l|0)<(s|0))t=0;else break;while(1){if((t|0)>=(A|0))break;c=+b[f+((U(a[(a[n>>2]|0)+(l<<2)>>2]|0,A)|0)+t<<3)>>3];h=f+(t+e<<3)|0;b[h>>3]=+b[h>>3]+c;t=t+1|0}l=l+1|0}c=1.0/+(w|0);l=0;while(1){if((l|0)>=(A|0))break;h=f+(l+e<<3)|0;b[h>>3]=+b[h>>3]*c;l=l+1|0}u=u+1|0}L2(o);return}function uj(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=+t;var c=0,s=0,w=0,u=0,o=0,h=0.0;u=k;k=k+16|0;w=u;a[w>>2]=n;zs(i,0,f,0,w,0,A);A:do{if((l+-1|0)>>>0<6){nj(A,e,a[w>>2]|0);c=a[r>>2]|0;s=a[r+20>>2]|0;n=a[r+24>>2]|0;e=0;e:while(1){if((e|0)>=(c|0))break A;l=e+1|0;r=s+(l<<2)|0;e=a[s+(e<<2)>>2]|0;i:while(1){e=e+1|0;if((e|0)>=(a[r>>2]|0)){e=l;continue e}f=n+(e<<2)|0;i=0;while(1){if((i|0)>=(A|0))continue i;h=(+Us()+-.5)*t;o=(a[w>>2]|0)+((U(a[f>>2]|0,A)|0)+i<<3)|0;b[o>>3]=+b[o>>3]+h;i=i+1|0}}}}}while(0);k=u;return}function kj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var f=0,a=0.0,n=0,l=0,t=0,c=0,s=0,w=0.0,u=0.0;c=k;k=k+16|0;t=c;f=0;while(1){if((f|0)>=(e|0)){n=0;break}b[t+(f<<3)>>3]=0.0;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=t+(f<<3)|0;b[s>>3]=+b[s>>3]+ +b[i+(f+l<<3)>>3];f=f+1|0}n=n+1|0}a=1.0/+(A|0);f=0;while(1){if((f|0)>=(e|0)){n=0;break}s=t+(f<<3)|0;b[s>>3]=+b[s>>3]*a;f=f+1|0}while(1){if((n|0)>=(A|0))break;l=U(n,e)|0;f=0;while(1){if((f|0)>=(e|0))break;s=i+(f+l<<3)|0;b[s>>3]=+b[s>>3]-+b[t+(f<<3)>>3];f=f+1|0}n=n+1|0}r=r*-.017453277777777776;a=+D(+r);r=+M(+r);f=0;while(1){if((f|0)>=(A|0))break;s=U(f,e)|0;t=i+(s<<3)|0;w=+b[t>>3];s=i+(s+1<<3)|0;u=+b[s>>3];b[t>>3]=u*r+w*a;b[s>>3]=u*a-w*r;f=f+1|0}k=c;return}function oj(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;l=l|0;var t=0,c=0,s=0,w=0;w=(cq(e,0)|0)==0;t=(a[e+16>>2]|0)==1;if(w)if(t)t=kq(tq(e,0)|0)|0;else c=5;else if(t)t=e;else c=5;if((c|0)==5)t=Hs(e)|0;w=kq(t)|0;a[l>>2]=0;t=a[w>>2]|0;if(!i){$F(U(A<<3,t)|0)|0;re()}s=zw(w,A,0.0,a[i>>2]|0,(r|0)==0?0:2,1)|0;if(!s)a[l>>2]=-1;else{b[s+40>>3]=.1;a[s+24>>2]=5;+Dw(s,A,a[i>>2]|0,f,n);c=U(t,A)|0;r=s+32|0;t=0;while(1){if((t|0)>=(c|0))break;l=(a[i>>2]|0)+(t<<3)|0;b[l>>3]=+b[l>>3]/+b[r>>3];t=t+1|0}Yw(s)}if((w|0)!=(e|0))rq(w);return}function hj(A,e,i,r,f,a,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=+n;l=l|0;oj(A,i,r,f,a,n,l);return}function dj(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=n|0;var l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0.0;E=a[e>>2]|0;C=a[e+20>>2]|0;v=a[e+24>>2]|0;g=a[e+28>>2]|0;if(!(cq(e,0)|0))vA(95795,92387,37,92404);A=$F(56)|0;c=A+20|0;a[c>>2]=0;a[A+24>>2]=2;a[A+12>>2]=0;t=$F(16)|0;a[c>>2]=t;b[t>>3]=r;b[t+8>>3]=f;a[A+16>>2]=105;b[A+40>>3]=.01;a[A+48>>2]=~~+z(+ +(a[e>>2]|0));t=e+8|0;c=A+4|0;a[c>>2]=fq(E,E,(a[t>>2]|0)+E|0,1,1)|0;t=fq(E,E,(a[t>>2]|0)+E|0,1,1)|0;a[A+8>>2]=t;c=a[c>>2]|0;s=a[c+28>>2]|0;w=a[t+28>>2]|0;if((t|0)==0|(c|0)==0){yw(A);A=0}else{u=a[c+20>>2]|0;k=a[c+24>>2]|0;o=a[t+20>>2]|0;h=a[t+24>>2]|0;a[o>>2]=0;a[u>>2]=0;e=0;i=0;while(1){if((e|0)>=(E|0))break;d=e+1|0;B=C+(d<<2)|0;r=0.0;f=0.0;l=a[C+(e<<2)>>2]|0;while(1){if((l|0)>=(a[B>>2]|0))break;n=a[v+(l<<2)>>2]|0;if((n|0)!=(e|0)){I=+b[g+(l<<3)>>3];I=I>=0.0?I:-I;I=I>.01?I:.01;a[k+(i<<2)>>2]=n;a[h+(i<<2)>>2]=n;n=s+(i<<3)|0;b[n>>3]=-1.0;b[w+(i<<3)>>3]=-I;r=+b[n>>3]+r;f=f-I;i=i+1|0}l=l+1|0}a[k+(i<<2)>>2]=e;a[h+(i<<2)>>2]=e;b[s+(i<<3)>>3]=-r;b[w+(i<<3)>>3]=-f;i=i+1|0;a[u+(d<<2)>>2]=i;a[o+(d<<2)>>2]=i;e=d}a[c+8>>2]=i;a[t+8>>2]=i}return A|0}function Bj(A){A=A|0;yw(A);return}function vj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return+ +Mw(A,e,i,r,.001)}function gj(A,e){A=A|0;e=+e;var i=0,r=0,f=0,n=0;if((a[A+16>>2]|0)==1)i=tq(A,0)|0;else i=Hs(A)|0;f=a[i+28>>2]|0;A:do{if(e!=1.0){r=a[i+8>>2]|0;A=0;while(1){if((A|0)>=(r|0))break A;n=f+(A<<3)|0;b[n>>3]=+b[n>>3]*e;A=A+1|0}}}while(0);return i|0}function Ej(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0.0;t=a[e>>2]|0;a[r>>2]=0;c=U(t,A)|0;r=0;while(1){if((r|0)>=(c|0)){r=1;f=1;break}b[i+(r<<3)>>3]=+Us()*100.0;r=r+1|0}while(1){if((f|0)>=(t|0))break;l=U(f,A)|0;n=0;while(1){if((n|0)>=(A|0))break;s=+b[i+(n<<3)>>3]-+b[i+(n+l<<3)>>3];if((s>=0.0?s:-s)>1.0e-16){r=0;f=t;break}else n=n+1|0}f=f+1|0}A:do{if(r|0){f8(1);r=0;while(1){if((r|0)>=(c|0))break A;b[i+(r<<3)>>3]=+Us()*100.0;r=r+1|0}}}while(0);r=gj(e,1.0)|0;if(!(cq(r,0)|0))vA(92430,92387,164,92466);else{c=dj(0,r,0,101.0e5,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,101.0e3,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,1010.0,100.0,0)|0;+vj(c,A,i,300);Bj(c);c=dj(0,r,0,10.1,100.0,0)|0;+vj(c,A,i,300);Bj(c);$s(0.0,0.0,490.0,700.0,a[e>>2]|0,A,i);rq(r);return}}function Cj(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0;c=$F((vh(A)|0)<<4)|0;l=(r|0)!=0;t=e+8|0;n=cd(A)|0;f=0;while(1){if(!n)break;if(l)f=f+((Z1(Vh(n)|0,92481,11)|0)==0&1)|0;w=a[n+16>>2]|0;s=a[w+120>>2]<<1;b[c+(s<<3)>>3]=+b[w+32>>3]*.5+ +b[e>>3];b[c+((s|1)<<3)>>3]=+b[w+40>>3]*.5+ +b[t>>3];n=bd(A,n)|0}if(l&(f|0)!=0){e=$F(f<<2)|0;n=cd(A)|0;f=0;while(1){if(!n)break;if(!(Z1(Vh(n)|0,92481,11)|0)){a[e+(f<<2)>>2]=a[(a[n+16>>2]|0)+120>>2];f=f+1|0}n=bd(A,n)|0}a[r>>2]=e;a[i>>2]=f}return c|0}function Ij(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;G=k;k=k+32|0;C=G+16|0;E=G+8|0;g=G;if(A){I=vh(A)|0;Z=gh(A)|0;e=cd(A)|0;r=0;while(1){if(!e)break;a[(a[e+16>>2]|0)+120>>2]=r;e=bd(A,e)|0;r=r+1|0}d=Z<<2;h=$F(d)|0;d=$F(d)|0;e=Z<<3;B=$F(e)|0;u=Yo(A,2,101541,0)|0;v=(i|0)!=0;if(v){r=Yo(A,2,92493,0)|0;o=qF(e)|0;w=o}else{w=0;r=0;o=0}t=(u|0)==0;c=(r|0)==0;l=cd(A)|0;e=0;while(1){if(!l)break;s=a[(a[l+16>>2]|0)+120>>2]|0;n=Oo(A,l)|0;while(1){if(!n)break;a[h+(e<<2)>>2]=s;a[d+(e<<2)>>2]=a[(a[(a[((a[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+120>>2];if(!t?(Q=Uo(n,u)|0,a[E>>2]=g,(J3(Q,101209,E)|0)==1):0)f=+b[g>>3];else{b[g>>3]=1.0;f=1.0}b[B+(e<<3)>>3]=f;if(!c){Q=Uo(n,r)|0;a[C>>2]=g;if((J3(Q,101209,C)|0)==1)f=+b[g>>3];else{b[g>>3]=1.0;f=1.0}b[w+(e<<3)>>3]=f}n=_o(A,n)|0;e=e+1|0}l=bd(A,l)|0}e=hq(Z,I,I,h,d,B,1,8)|0;if(v)a[i>>2]=hq(Z,I,I,h,d,o,1,8)|0;L2(h);L2(d);L2(B);if(w)L2(o)}else e=0;k=G;return e|0}function Zj(A){A=A|0;var e=0,i=0,r=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0,s=0,w=0,u=0.0,o=0.0;s=k;k=k+16|0;c=s;A:do{if(Gj(A,c)|0){e=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;n=+b[e>>3];r=+b[e+8>>3];e=cd(A)|0;while(1){if(!e)break;f=a[(a[e+16>>2]|0)+132>>2]|0;b[f>>3]=+b[f>>3]-n;f=f+8|0;b[f>>3]=+b[f>>3]-r;e=bd(A,e)|0}e=(n!=0.0|r!=0.0)&1;i=cd(A)|0;while(1){if(!i)break A;f=Oo(A,i)|0;if(f|0)break;i=bd(A,i)|0}w=a[f>>2]&3;i=a[(a[(a[((w|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=a[(a[(a[((w|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;l=+b[f+8>>3];t=+b[f>>3];r=+X(+(+b[i+8>>3]-l),+(+b[i>>3]-t));r=+b[c>>3]-r;b[c>>3]=r;if(r!=0.0){n=+D(+r);r=+M(+r);e=cd(A)|0;while(1){if(!e){e=1;break A}c=a[(a[e+16>>2]|0)+132>>2]|0;o=+b[c>>3]-t;w=c+8|0;u=+b[w>>3]-l;b[c>>3]=o*n+t-u*r;b[w>>3]=o*r+l+u*n;e=bd(A,e)|0}}}else e=0}while(0);k=s;return e|0}function Gj(A,e){A=A|0;e=e|0;var i=0.0,f=0,n=0;n=k;k=k+16|0;f=n;A=po(A,92497)|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0){i=+A8(A,f);if((a[f>>2]|0)==(A|0))if(!((gR(A)|0)<<24>>24)){A=0;break}else i=0.0;while(1){if(!(i>180.0))break;i=i+-360.0}while(1){if(!(i<=-180.0))break;i=i+360.0}b[e>>3]=i*.017453292519943295;A=1}else A=0}while(0);k=n;return A|0}function Qj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=po(A,92507)|0;return mj(A,(r|0)==0?i|0?i:195059:r,e)|0}function mj(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0.0;w=k;k=k+32|0;s=w+16|0;t=w+8|0;l=w;if((e|0)!=0?(r[e>>0]|0)!=0:0){f=17896;while(1){n=a[f+4>>2]|0;if(!n)break;if(!(T1(e,n,a[f+8>>2]|0)|0)){c=6;break}f=f+16|0}if((c|0)==6){if(!(a[f+12>>2]|0)){a[l>>2]=n;ao(0,92515,l)|0;f=17896}l=a[f>>2]|0;a[i>>2]=l;a[i+4>>2]=a[f+12>>2];if((l|0)==18)Lj(A,e+(a[f+8>>2]|0)|0,i)}if(!(a[f+4>>2]|0)){f=ER(e,63)|0;if(f<<24>>24==63){a[t>>2]=e;ao(0,92557,t)|0;f=0}else f=f&255;f=(f|0)==0;a[i>>2]=f&1;f=f?92604:135709;c=15}}else{a[i>>2]=0;f=135709;c=15}if((c|0)==15)a[i+4>>2]=f;if(0){c=a[15712]|0;t=a[i+8>>2]|0;u=+b[i+16>>3];a[s>>2]=a[i+4>>2];a[s+4>>2]=t;b[s+8>>3]=u;f3(c,92612,s)|0}k=w;return i|0}function Lj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;r=k;k=k+16|0;f=r;n=r+4|0;a[f>>2]=n;f=(J3(e,137395,f)|0)>0;e=a[n>>2]|0;a[i+8>>2]=f&(e|0)>-1?e:1e3;b[i+16>>3]=+oR(A,Yo(A,0,92648,0)|0,-4.0,-1.0e10);k=r;return}function Wj(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0;l=k;k=k+16|0;n=l+8|0;f=l;do{if((vh(A)|0)>=2){i=Zj(A)|0;i=(yj(A)|0)+i|0;r=a[e>>2]|0;if(r){if(0){r=a[15712]|0;c=Vh(A)|0;t=a[e+4>>2]|0;a[f>>2]=c;a[f+4>>2]=t;f3(r,92977,f)|0;r=a[e>>2]|0}if(r>>>0>2){switch(r|0){case 3:{r=zS(A,1)|0;break}case 4:{r=zS(A,0)|0;break}case 6:case 5:{r=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{oS(A,r)|0;r=0;break}case 15:{r=zS(A,-1)|0;break}default:{a[n>>2]=a[e+4>>2];ao(0,93e3,n)|0;r=0}}i=r+i|0;break}if(zj(A)|0){Yj();L2(a[46845]|0);a[46845]=0;break}Dj(A);if((a[e>>2]|0)==2)r=Mj()|0;else r=Fj()|0;if(r|0)Vj();Yj();L2(a[46845]|0);a[46845]=0;i=r+i|0}}else i=0}while(0);k=l;return i|0}function yj(A){A=A|0;var e=0,i=0.0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0;s=k;k=k+48|0;l=s+24|0;f=s+16|0;t=s;e=po(A,140742)|0;A:do{if(((e|0)!=0?(c=t+8|0,a[f>>2]=t,a[f+4>>2]=c,r=J3(e,105503,f)|0,(r|0)!=0):0)?(n=+b[t>>3],!(+y(+n)<1.0e-09)):0){if((r|0)!=1){i=+b[c>>3];if(+y(+i)<1.0e-09){e=0;break}}else{b[c>>3]=n;i=n}if(!(i==1.0&n==1.0)){if(0){f=a[15712]|0;b[l>>3]=n;b[l+8>>3]=i;f3(f,93160,l)|0}e=cd(A)|0;while(1){if(!e){e=1;break A}l=a[(a[e+16>>2]|0)+132>>2]|0;b[l>>3]=+b[l>>3]*+b[t>>3];l=l+8|0;b[l>>3]=+b[l>>3]*+b[c>>3];e=bd(A,e)|0}}else e=0}else e=0}while(0);k=s;return e|0}function zj(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0,t=0,s=0,w=0,u=0;w=k;k=k+16|0;t=w;a[46854]=vh(A)|0;nP();a[46869]=$F((a[46854]|0)*96|0)|0;f=cd(A)|0;e=a[46869]|0;qj(t,A);n=+c[t>>2];l=+c[t+4>>2];t=(r[t+8>>0]|0)==0;l=t?l:l*.013888888888888888;n=t?n:n*.013888888888888888;t=t?2:1;i=0;while(1){if((i|0)>=(a[46854]|0)){e=0;break}u=a[(a[f+16>>2]|0)+132>>2]|0;b[e+8>>3]=+b[u>>3];b[e+16>>3]=+b[u+8>>3];if(L5[t&3](e+40|0,f,n,l)|0){s=4;break}a[e+24>>2]=i;a[e+28>>2]=1;a[e>>2]=f;a[e+88>>2]=0;e=e+96|0;i=i+1|0;f=bd(A,f)|0}if((s|0)==4){L2(a[46869]|0);a[46869]=0;e=1}k=w;return e|0}function Yj(){var A=0,e=0;A=a[46869]|0;e=0;while(1){if((e|0)>=(a[46854]|0))break;iK(A+40|0);A=A+96|0;e=e+1|0}eK();MP();L2(a[46869]|0);return}function Dj(A){A=A|0;var e=0,i=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0;u=k;k=k+32|0;s=u+16|0;w=u;o=a[46869]|0;l=+b[o+8>>3];c=+b[o+16>>3];f=a[46854]|0;e=o;i=1;n=+b[o+40>>3]+l;l=+b[o+56>>3]+l;t=+b[o+48>>3]+c;c=+b[o+64>>3]+c;while(1){if((i|0)>=(f|0))break;B=+b[e+104>>3];h=+b[e+112>>3];v=+b[e+136>>3]+B;d=+b[e+144>>3]+h;B=+b[e+152>>3]+B;h=+b[e+160>>3]+h;e=e+96|0;i=i+1|0;n=vl?B:l;t=dc?h:c}e=po(A,93100)|0;if(e|0?r[e>>0]|0:0)b[173]=+$3(e);B=+b[173];v=B*(c-t);B=B*(l-n);b[s>>3]=n-B;b[s+8>>3]=t-v;b[w>>3]=B+l;b[w+8>>3]=v+c;xj(s,w);k=u;return}function Mj(){var A=0,e=0,i=0,r=0;i=k;k=k+16|0;e=i;if(Jj(0)|0){Nj();A=0;do{_j();A=A+1|0}while((Jj(A)|0)!=0);if(!0)A=1;else{r=a[15712]|0;a[e>>2]=A;f3(r,93028,e)|0;A=1}}else A=0;k=i;return A|0}function Fj(){var A=0,e=0,i=0,r=0,f=0,n=0,l=0,t=0;t=k;k=k+16|0;l=t+8|0;n=t;e=Jj(0)|0;if(!e)A=0;else{Nj();Xj(0);JK(0,1);A=0;r=0;i=0;while(1){Hj();i=i+1|0;f=Jj(i)|0;if(!f)break;e=(f|0)<(e|0)?0:r+1|0;a[46846]=1;if(e){pj();A=A+1|0}Xj(1);JK(0,1);r=e;e=f}if(0){f=a[15712]|0;a[n>>2]=i;f3(f,93028,n)|0;a[l>>2]=A;f3(f,93055,l)|0}Uj();A=1}k=t;return A|0}function Vj(){var A=0,e=0,i=0,r=0;i=a[46854]|0;A=a[46869]|0;e=0;while(1){if((e|0)>=(i|0))break;r=a[(a[(a[A>>2]|0)+16>>2]|0)+132>>2]|0;b[r>>3]=+b[A+8>>3];b[r+8>>3]=+b[A+16>>3];A=A+96|0;e=e+1|0}return}function Jj(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+48|0;u=h+24|0;w=h+8|0;o=h;i=a[46869]|0;r=a[46854]|0;e=0;while(1){if((e|0)>=(r|0)){f=0;e=0;break}a[i+(e*96|0)+32>>2]=0;e=e+1|0}A:while(1){if((e|0)>=(r+-1|0))break;s=i+96|0;e=e+1|0;c=i+8|0;b=i+40|0;t=i+32|0;n=s;l=e;while(1){if((l|0)>=(r|0)){i=s;continue A}r=n+8|0;a[w>>2]=a[c>>2];a[w+4>>2]=a[c+4>>2];a[w+8>>2]=a[c+8>>2];a[w+12>>2]=a[c+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];if(!(sK(w,b,u,n+40|0)|0))i=f;else{a[t>>2]=1;a[n+32>>2]=1;i=f+1|0}n=n+96|0;l=l+1|0;f=i;r=a[46854]|0}}if(0>1){u=a[15712]|0;a[o>>2]=A;a[o+4>>2]=f;f3(u,93081,o)|0}k=h;return f|0}function Nj(){var A=0,e=0,i=0,r=0.0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0;Oj();c=a[46848]|0;s=a[46869]|0;A=a[46845]|0;A:while(1){l=A;if(A>>>0>=c>>>0)break;e=A+4|0;if(e>>>0>=c>>>0){A=e;continue}f=a[e>>2]|0;i=a[A>>2]|0;n=+b[i>>3];if(+b[f>>3]!=n){A=e;continue}r=+b[i+8>>3];if(+b[f+8>>3]!=r){A=e;continue}t=A+8|0;f=2;while(1){if(t>>>0>=c>>>0)break;i=a[t>>2]|0;if(!(+b[i>>3]==n)){w=11;break}if(!(+b[i+8>>3]==r)){w=11;break}t=t+4|0;f=f+1|0}if((w|0)==11){w=0;i=a[t>>2]|0;if(+b[i+8>>3]==r){r=(+b[i>>3]-n)/+(f|0);i=(((t>>>0>e>>>0?t:e)+-1+(0-l)|0)>>>2)+1|0;A=1;while(1){if((A|0)==(i|0)){A=t;continue A}l=a[e>>2]|0;b[l>>3]=+b[l>>3]+r*+(A|0);A=A+1|0;e=e+4|0}}}while(1){if(e>>>0>=t>>>0){A=t;continue A}f=a[A>>2]|0;u=a[f+16>>2]|0;l=a[e>>2]|0;i=a[l+16>>2]|0;b[l>>3]=(+b[s+(u*96|0)+56>>3]-+b[s+(u*96|0)+40>>3]+ +b[s+(i*96|0)+56>>3]-+b[s+(i*96|0)+40>>3])*.5+ +b[f>>3];e=e+4|0;A=A+4|0}}return}function Xj(A){A=A|0;var e=0.0,i=0.0,r=0.0,f=0,n=0.0,l=0,t=0,c=0;if(A|0)Oj();l=a[46845]|0;t=a[l>>2]|0;i=+b[t>>3];b[23272]=i;c=a[46854]|0;f=1;n=+b[t>>3];while(1){if((f|0)>=(c|0))break;A=a[l+(f<<2)>>2]|0;e=+b[A>>3];if(e>3]}else{r=e;e=i}f=f+1|0;i=e;n=r>n?r:n}r=+b[t+8>>3];b[23273]=r;b[23275]=+b[(a[l+(c+-1<<2)>>2]|0)+8>>3]-r;b[23274]=n-i;return}function Rj(){var A=0;A=a[46847]|0;if(A>>>0<(a[46848]|0)>>>0){a[46847]=A+4;A=a[A>>2]|0}else A=0;return A|0}function Hj(){var A=0,e=0,i=0;A=a[46869]|0;Tj();i=(a[46846]|0)==0;e=0;while(1){if((e|0)>=(a[46854]|0))break;if(!(i?!(a[A+32>>2]|0):0))jj(A);A=A+96|0;e=e+1|0}return}function pj(){var A=0,e=0,i=0,r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0;A=k;k=k+32|0;i=A+16|0;e=A;t=+b[23268];l=+b[23266];n=+b[23269];f=+b[23267];r=(l-f)*.05;a=(t-n)*.05;b[e>>3]=a+t;b[e+8>>3]=l+r;b[i>>3]=n-a;b[i+8>>3]=f-r;xj(i,e);k=A;return}function Uj(){vP();EP();IK();$S();return}function xj(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,a=0.0;a=+b[A>>3];b[23269]=a;f=+b[e>>3];b[23268]=f;i=+b[A+8>>3];b[23267]=i;r=+b[e+8>>3];b[23266]=r;b[23258]=a;b[23260]=a;b[23262]=f;b[23264]=f;b[23265]=r;b[23261]=r;b[23263]=i;b[23259]=i;return}function Tj(){var A=0,e=0.0,i=0.0,r=0.0,f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0.0;w=a[46869]|0;n=w+8|0;f=+lP(n,186064);r=+lP(n,186080);i=+lP(n,186096);A=1;e=+lP(n,186112);n=w;l=w;t=w;c=w;while(1){s=w+96|0;if((A|0)>=(a[46854]|0))break;h=w+104|0;d=+lP(h,186064);u=d>2]|0;u=c+8|0;e=0.0;i=0.0;r=0.0;c=a[c>>2]|0;while(1){f=a[c>>2]|0;if(!f)break;B=c+8|0;d=f+8|0;a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];h=+Sj(n,l,t);a[n>>2]=a[u>>2];a[n+4>>2]=a[u+4>>2];a[n+8>>2]=a[u+8>>2];a[n+12>>2]=a[u+12>>2];a[l>>2]=a[B>>2];a[l+4>>2]=a[B+4>>2];a[l+8>>2]=a[B+8>>2];a[l+12>>2]=a[B+12>>2];a[t>>2]=a[d>>2];a[t+4>>2]=a[d+4>>2];a[t+8>>2]=a[d+8>>2];a[t+12>>2]=a[d+12>>2];Pj(n,l,t,s,w);e=+b[w>>3]*h+e;i=+b[s>>3]*h+i;r=h+r;c=f}b[A+8>>3]=i/r;b[A+16>>3]=e/r;k=o;return}function Sj(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0;r=+b[e+8>>3];a=+b[i+8>>3];f=+b[A+8>>3];return+(+y(+((a-f)*+b[e>>3]+(r-a)*+b[A>>3]+ +b[i>>3]*(f-r)))*.5)}function Pj(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;b[r>>3]=(+b[e>>3]+ +b[A>>3]+ +b[i>>3])*.3333333333333333;b[f>>3]=(+b[e+8>>3]+ +b[A+8>>3]+ +b[i+8>>3])*.3333333333333333;return}function Oj(){var A=0,e=0,i=0,r=0;A=a[46845]|0;if(!A){A=$F(a[46854]<<2)|0;a[46845]=A;a[46848]=A+(a[46854]<<2)}i=a[46869]|0;MP();r=a[46854]|0;e=0;while(1){if((e|0)>=(r|0))break;a[A>>2]=i+8;a[i+88>>2]=0;a[i+28>>2]=1;i=i+96|0;A=A+4|0;e=e+1|0}K4(a[46845]|0,r,4,69);a[46847]=a[46845];return}function Kj(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=a[A>>2]|0;e=a[e>>2]|0;i=+b[A+8>>3];r=+b[e+8>>3];if(!(ir)){r=+b[A>>3];i=+b[e>>3];if(ri&1}else A=1;else A=-1;return A|0}function _j(){var A=0,e=0,i=0,r=0;i=a[46854]|0;A=0;e=a[46869]|0;while(1){if((A|0)>=(i|0))break;r=e+8|0;b[r>>3]=+b[r>>3]*1.05;r=e+16|0;b[r>>3]=+b[r>>3]*1.05;A=A+1|0;e=e+96|0}return}function qj(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,s=0,w=0.0,u=0.0;s=k;k=k+48|0;t=s;l=s+24|0;i=po(e,93112)|0;if(!((i|0)!=0?($j(i,l,1.0,0.0)|0)!=0:0))f=3;do{if((f|0)==3){e=po(e,93116)|0;if(e|0?$j(e,l,.800000011920929,4.0)|0:0)break;c[l+4>>2]=4.0;c[l>>2]=4.0;r[l+8>>0]=1}}while(0);if(0){f=a[15712]|0;u=+c[l>>2];w=+c[l+4>>2];a[t>>2]=n[l+8>>0];b[t+8>>3]=u;b[t+16>>3]=w;f3(f,93121,t)|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];k=s;return}function $j(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0,h=0.0;u=k;k=k+16|0;s=u;t=u+12|0;b=u+8|0;while(1){n=r[A>>0]|0;l=A+1|0;if(!(Q1(n<<24>>24)|0))break;else A=l}o=n<<24>>24==43;n=e+8|0;r[n>>0]=o&1;a[s>>2]=t;a[s+4>>2]=b;switch(J3(o?l:A,93154,s)|0){case 0:{A=0;break}case 1:{a[b>>2]=a[t>>2];w=5;break}default:w=5}if((w|0)==5){do{if(r[n>>0]|0){if(i>1.0){h=+c[t>>2]/i;c[e>>2]=h>f?f:h;i=+c[b>>2]/i;i=i>f?f:i;break}if(i<1.0){h=+c[t>>2]/i;c[e>>2]=h>2]/i;i=i>2]=a[t>>2];i=+c[b>>2];break}}else{c[e>>2]=+c[t>>2]/i+1.0;i=+c[b>>2]/i+1.0}}while(0);c[e+4>>2]=i;A=1}k=u;return A|0}function AS(A,e){A=A|0;e=e|0;var i=0,r=0;r=k;k=k+32|0;i=r;if((vh(A)|0)<2)A=0;else{mj(A,e,i)|0;A=Wj(A,i)|0}k=r;return A|0}function eS(A){A=A|0;return AS(A,po(A,92507)|0)|0}function iS(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,s=0,w=0.0,u=0.0;s=k;k=k+48|0;t=s;l=s+24|0;i=po(e,93116)|0;if(!((i|0)!=0?($j(i,l,1.0,0.0)|0)!=0:0))f=3;do{if((f|0)==3){e=po(e,93112)|0;if(e|0?$j(e,l,1.25,3.200000047683716)|0:0)break;c[l+4>>2]=3.200000047683716;c[l>>2]=3.200000047683716;r[l+8>>0]=1}}while(0);if(0){f=a[15712]|0;u=+c[l>>2];w=+c[l+4>>2];a[t>>2]=n[l+8>>0];b[t+8>>3]=u;b[t+16>>3]=w;f3(f,93183,t)|0}a[A>>2]=a[l>>2];a[A+4>>2]=a[l+4>>2];a[A+8>>2]=a[l+8>>2];k=s;return}function rS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;u=o;n=0;while(1){if((n|0)>=(i|0))break;a[r+(n<<2)>>2]=-1;n=n+1|0}a[r+(A<<2)>>2]=0;fS(f,A);A:do{if(!(a[e+8>>2]|0)){n=2147483647;e:while(1){if(!((aS(f,u)|0)<<24>>24))break A;t=a[u>>2]|0;n=a[r+(t<<2)>>2]|0;l=e+(t*20|0)|0;t=e+(t*20|0)+4|0;b=n+1|0;A=1;while(1){if((A|0)>=(a[l>>2]|0))continue e;s=a[(a[t>>2]|0)+(A<<2)>>2]|0;w=r+(s<<2)|0;if((a[w>>2]|0)<0){a[w>>2]=b;nS(f,s)|0}A=A+1|0}}}else{n=2147483647;e:while(1){if(!((aS(f,u)|0)<<24>>24))break A;b=a[u>>2]|0;n=a[r+(b<<2)>>2]|0;l=e+(b*20|0)|0;t=e+(b*20|0)+4|0;b=e+(b*20|0)+8|0;A=1;while(1){if((A|0)>=(a[l>>2]|0))continue e;s=a[(a[t>>2]|0)+(A<<2)>>2]|0;w=r+(s<<2)|0;if((a[w>>2]|0)<0){a[w>>2]=n+~~+c[(a[b>>2]|0)+(A<<2)>>2];nS(f,s)|0}A=A+1|0}}}}while(0);A=n+10|0;n=0;while(1){if((n|0)>=(i|0))break;l=r+(n<<2)|0;if((a[l>>2]|0)<0)a[l>>2]=A;n=n+1|0}k=o;return}function fS(A,e){A=A|0;e=e|0;a[a[A>>2]>>2]=e;a[A+12>>2]=0;a[A+8>>2]=1;return}function aS(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=a[i>>2]|0;if((r|0)<(a[A+8>>2]|0)){A=a[A>>2]|0;a[i>>2]=r+1;a[e>>2]=a[A+(r<<2)>>2];A=1}else A=0;return A|0}function nS(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=a[i>>2]|0;if((r|0)<(a[A+4>>2]|0)){A=a[A>>2]|0;a[i>>2]=r+1;a[A+(r<<2)>>2]=e;A=1}else A=0;return A|0}function lS(A,e){A=A|0;e=e|0;a[A>>2]=$F(e<<2)|0;a[A+4>>2]=e;a[A+8>>2]=0;a[A+12>>2]=0;return}function tS(A){A=A|0;L2(a[A>>2]|0);return}function cS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0;if(!0)n=0;else{L3(93216,25,1,a[15712]|0)|0;n=0}while(1){if((n|0)>=(A|0))break;l=e+(n<<2)|0;f=0;r=0.0;while(1){if((f|0)==(A|0))break;if((n|0)!=(f|0))r=+b[(a[l>>2]|0)+(f<<3)>>3]+r;f=f+1|0}b[(a[l>>2]|0)+(n<<3)>>3]=-r;n=n+1|0}return cO(e,i,A+-1|0)|0}function bS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0.0;t=tU(e,e,0.0)|0;c=tU(e,e,0.0)|0;r=cd(A)|0;while(1){if(!r)break;i=Ah(A,r)|0;while(1){if(!i)break;n=a[i>>2]&3;f=(a[a[((n|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;n=(a[a[((n|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(n|0)){s=-1.0/+b[(a[i+16>>2]|0)+136>>3];b[(a[t+(n<<2)>>2]|0)+(f<<3)>>3]=s;b[(a[t+(f<<2)>>2]|0)+(n<<3)>>3]=s}i=eh(A,i,r)|0}r=bd(A,r)|0}l=cS(e,t,c)|0;A:do{if(l|0){f=A+16|0;r=0;while(1){if((r|0)>=(e|0))break A;n=c+(r<<2)|0;i=0;while(1){if((i|0)==(e|0))break;A=a[n>>2]|0;b[(a[(a[(a[f>>2]|0)+160>>2]|0)+(r<<2)>>2]|0)+(i<<3)>>3]=+b[(a[c+(i<<2)>>2]|0)+(i<<3)>>3]+ +b[A+(r<<3)>>3]+ +b[A+(i<<3)>>3]*-2.0;i=i+1|0}r=r+1|0}}}while(0);cU(t);cU(c);return l|0}function sS(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;var n=0.0,l=0.0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;c=B;w=r<<3;u=$F(w)|0;o=$F(w)|0;h=$F(w)|0;b=$F(w)|0;s=$F(w)|0;w=$F(w)|0;mO(r,i,w);gO(r,w);gO(r,e);CO(A,r,e,b);ZO(r,w,b,u);mO(r,u,o);t=a+-1|0;i=0;n=+LO(r,u,u);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+WO(r,u)>f)){i=0;break}CO(A,r,o,h);l=+LO(r,o,h);if(l==0.0){i=0;break}l=n/l;QO(r,o,l,s);GO(r,e,s,e);if((i|0)<(t|0)){QO(r,h,l,h);ZO(r,u,h,u);l=+LO(r,u,u);if(n==0.0){d=7;break}QO(r,o,l/n,o);GO(r,u,o,o);n=l}i=i+1|0}if((d|0)==7){ao(1,93242,c)|0;i=1}L2(u);L2(o);L2(h);L2(b);L2(s);L2(w);k=B;return i|0}function wS(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;n=n|0;var l=0.0,t=0.0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;c=B;u=r<<3;o=$F(u)|0;h=$F(u)|0;b=$F(u)|0;s=$F(u)|0;w=$F(u)|0;u=$F(u)|0;mO(r,i,u);if(n<<24>>24){gO(r,u);gO(r,e)}IO(A,r,e,s);ZO(r,u,s,o);mO(r,o,h);n=a+-1|0;i=0;l=+LO(r,o,o);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+WO(r,o)>f)){i=0;break}IO(A,r,h,b);t=+LO(r,h,b);if(t==0.0){i=0;break}t=l/t;QO(r,h,t,w);GO(r,e,w,e);if((i|0)<(n|0)){QO(r,b,t,b);ZO(r,o,b,o);t=+LO(r,o,o);if(l==0.0){d=9;break}QO(r,h,t/l,h);GO(r,o,h,h);l=t}i=i+1|0}if((d|0)==9){ao(1,93242,c)|0;i=1}L2(o);L2(h);L2(b);L2(s);L2(w);L2(u);k=B;return i|0}function uS(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=a|0;var n=0.0,l=0.0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;c=h;b=r<<2;s=qF(b)|0;w=qF(b)|0;u=qF(b)|0;b=qF(b)|0;zO(r,e);zO(r,i);YO(A,r,e,b);zO(r,b);DO(r,i,b,s);JO(r,s,w);t=a+-1|0;i=0;n=+NO(r,s,s);while(1){if((i|0)>=(a|0)){i=0;break}if(!(+HO(r,s)>f)){i=0;break}zO(r,w);zO(r,e);zO(r,s);YO(A,r,w,u);zO(r,u);l=+NO(r,w,u);if(l==0.0){i=0;break}l=n/l;FO(r,e,l,w);if((i|0)<(t|0)){FO(r,s,-l,u);l=+NO(r,s,s);if(n==0.0){o=7;break}VO(r,w,l/n,w);MO(r,s,w,w);n=l}i=i+1|0}if((o|0)==7){ao(1,93242,c)|0;i=1}L2(s);L2(w);L2(u);L2(b);k=h;return i|0}function kS(A,e,i,r,f,n,l,t,s,w){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;s=s|0;w=+w;var u=0,o=0,h=0.0,d=0,B=0,v=0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0.0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0;N=k;k=k+48|0;z=N+24|0;W=N+16|0;L=N+8|0;m=N;F=N+40|0;V=N+36|0;D=N+32|0;B=l&4;a[F>>2]=0;a[V>>2]=0;A:do{if(a[A+16>>2]|0){o=0;u=0;while(1){if((o|0)>=(e|0))break;v=a[A+(o*20|0)>>2]|0;g=A+(o*20|0)+16|0;d=1;while(1){if((d|0)>=(v|0))break;if(!(u<<24>>24))u=+c[(a[g>>2]|0)+(d<<2)>>2]!=0.0;else u=1;d=d+1|0;u=u&1}o=o+1|0}if(u<<24>>24){G=(B|0)!=0;if(G){d=r+4|0;e:do{if((n|0)>2){u=n+-1|0;if((iU(A,e,i,d,f,u,l,t,15)|0)<0){u=-1;break A}o=r+(u<<2)|0;u=0;while(1){if((u|0)>=(e|0))break e;b[(a[o>>2]|0)+(u<<3)>>3]=+b[(a[d>>2]|0)+(u<<3)>>3];u=u+1|0}}}while(0);Z=a[r>>2]|0;C=a[d>>2]|0;if((KO(A,e,C,e)|0)==0?(Bu(A,e,.01,.1,C,F,V,D)|0)==0:0){I=a[D>>2]|0;if((I|0)<1){u=iU(A,e,i,r,f,n,l,t,s)|0;break}e:do{if(w>0.0){B=a[F>>2]|0;v=a[V>>2]|0;g=I+-1|0;h=0.0;d=0;while(1){if((d|0)>=(I|0))break e;u=a[v+(d<<2)>>2]|0;Q=w-h-+b[C+(a[B+(u<<2)>>2]<<3)>>3]+ +b[C+(a[B+(u+-1<<2)>>2]<<3)>>3];h=(Q<0.0?0.0:Q)+h;if((d|0)<(g|0))o=a[v+(d+1<<2)>>2]|0;else o=e;while(1){if((u|0)>=(o|0))break;M=C+(a[B+(u<<2)>>2]<<3)|0;b[M>>3]=+b[M>>3]+h;u=u+1|0}d=d+1|0}}}while(0);if((n|0)==2?(WK(A,e,C,Z,+b[23294])|0)!=0:0){o=0;u=-1}else J=33}else{o=0;u=-1}}else{Kp(A,e,n,r,f)|0;if(!(Bu(A,e,.01,.1,0,F,V,D)|0))J=33;else{o=0;u=-1}}e:do{if((J|0)==33){if((e|0)==1){u=0;break A}M=$F(a[D>>2]<<2)|0;if(!s){u=0;break A}if(0)tR();switch(t|0){case 2:{if(0)L3(93290,24,1,a[15712]|0)|0;u=eU(A,e)|0;J=46;break}case 1:{u=_p(A,e)|0;if(!u){ao(0,93315,m)|0;ao(3,93364,L)|0;J=47}else Y=u;break}case 3:{if(0)L3(93417,21,1,a[15712]|0)|0;u=qp(A,e)|0;J=46;break}default:J=47}if((J|0)==46)if(!u)J=47;else Y=u;if((J|0)==47){if(0)L3(93439,26,1,a[15712]|0)|0;Y=AU(A,e)|0}if(0){A=a[15712]|0;b[W>>3]=+cR();f3(A,93466,W)|0;L3(93478,25,1,A)|0;tR()}A=e+-1|0;Z=(U(A,e)|0)/2|0;W=Z+e|0;i:do{if(!G){h=1.0;o=0;while(1){if((o|0)>=(n|0))break;d=r+(o<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;Q=+y(+ +b[(a[d>>2]|0)+(u<<3)>>3]);h=Q>h?Q:h;u=u+1|0}o=o+1|0}h=1.0/h;o=0;while(1){if((o|0)>=(n|0))break i;d=r+(o<<2)|0;u=0;while(1){if((u|0)>=(e|0))break;L=(a[d>>2]|0)+(u<<3)|0;b[L>>3]=+b[L>>3]*(10.0*h);u=u+1|0}o=o+1|0}}}while(0);i:do{if(w>0.0){E=+(Z|0);u=0;h=0.0;B=0;r:while(1){if((B|0)>=(A|0))break;v=B+1|0;d=u;o=v;while(1){u=d+1|0;if((o|0)>=(e|0)){B=v;continue r}Q=+jP(r,n,B,o);d=u;h=Q/+c[Y+(u<<2)>>2]+h;o=o+1|0}}h=h/E;u=0;while(1){if((u|0)>=(W|0)){u=0;break i}L=Y+(u<<2)|0;c[L>>2]=+c[L>>2]*h;u=u+1|0}}else u=0}while(0);while(1){if((u|0)>=(n|0))break;gO(e,a[r+(u<<2)>>2]|0);u=u+1|0}o=a[r+4>>2]|0;h=+b[o>>3];u=0;while(1){if((u|0)>=(e|0))break;L=o+(u<<3)|0;b[L>>3]=+b[L>>3]-h;u=u+1|0}g=n<<2;L=$F(g)|0;I=e<<2;C=U(I,n)|0;d=$F(C)|0;u=0;while(1){if((u|0)>=(n|0))break;B=d+((U(u,e)|0)<<2)|0;a[L+(u<<2)>>2]=B;v=r+(u<<2)|0;o=0;while(1){if((o|0)>=(e|0))break;c[B+(o<<2)>>2]=+b[(a[v>>2]|0)+(o<<3)>>3];o=o+1|0}u=u+1|0}E=+(Z|0);if(0){m=a[15712]|0;b[z>>3]=+cR();f3(m,93504,z)|0}pO(W,Y);UO(W,Y);m=$F(e<<3)|0;XO(e,0.0,m);u=0;d=0;while(1){if((d|0)>=(A|0)){u=e;o=0;d=0;break}B=e-d|0;h=0.0;o=1;while(1){u=u+1|0;if((o|0)>=(B|0))break;Q=+c[Y+(u<<2)>>2];z=m+(o+d<<3)|0;b[z>>3]=+b[z>>3]-Q;h=h+Q;o=o+1|0}z=m+(d<<3)|0;b[z>>3]=+b[z>>3]-h;d=d+1|0}while(1){if((o|0)>=(e|0))break;c[Y+(d<<2)>>2]=+b[m+(o<<3)>>3];z=u+d|0;u=u+-1|0;o=o+1|0;d=z}t=$F(g)|0;a[t>>2]=$F(C)|0;u=1;while(1){if((u|0)>=(n|0))break;a[t+(u<<2)>>2]=(a[t>>2]|0)+((U(u,e)|0)<<2);u=u+1|0}G=$F(I)|0;f=$F(I)|0;l=$F(W<<2)|0;o=dK(Y,e)|0;i=CK(Y,e,a[F>>2]|0,a[V>>2]|0,a[D>>2]|0)|0;Z=t+4|0;d=0;Q=1797693134862315708145274.0e284;u=0;while(1){if(!(d<<24>>24==0&(u|0)<(s|0)))break;XO(e,0.0,m);xO(W,Y,l);C=0;v=0;while(1){if((C|0)>=(A|0)){d=0;B=e;v=0;break}I=e-C+-1|0;RO(e,0.0,f);d=0;while(1){if((d|0)>=(n|0))break;D=L+(d<<2)|0;RO(I,+c[(a[D>>2]|0)+(C<<2)>>2],G);FO(I,G,-1.0,(a[D>>2]|0)+(C<<2)+4|0);pO(I,G);MO(I,G,f,f);d=d+1|0}TO(I,f);d=0;while(1){if((d|0)>=(I|0))break;B=f+(d<<2)|0;h=+c[B>>2];if(h>=3402823466385288598117041.0e14|h<0.0)c[B>>2]=0.0;d=d+1|0}g=C+1|0;h=0.0;d=v;B=0;while(1){d=d+1|0;if((B|0)>=(I|0))break;D=l+(d<<2)|0;X=+c[D>>2]*+c[f+(B<<2)>>2];c[D>>2]=X;D=m+(g+B<<3)|0;b[D>>3]=+b[D>>3]-X;h=h+X;B=B+1|0}v=m+(C<<3)|0;b[v>>3]=+b[v>>3]-h;C=g;v=d}while(1){if((d|0)>=(e|0)){d=0;break}c[l+(v<<2)>>2]=+b[m+(d<<3)>>3];D=B+v|0;d=d+1|0;B=B+-1|0;v=D}while(1){if((d|0)>=(n|0)){h=0.0;d=0;break}YO(l,e,a[L+(d<<2)>>2]|0,a[t+(d<<2)>>2]|0);d=d+1|0}while(1){if((d|0)>=(n|0))break;h=+NO(e,a[L+(d<<2)>>2]|0,a[t+(d<<2)>>2]|0)+h;d=d+1|0}h=h*2.0+E;d=0;while(1){if((d|0)>=(n|0))break;D=L+(d<<2)|0;YO(Y,e,a[D>>2]|0,G);h=h-+NO(e,a[D>>2]|0,G);d=d+1|0}X=+y(+(h-Q))/+y(+(Q+1.0e-10));d=((u|0)>1&h>Q|X<+b[23294])&1;B=0;while(1){if((B|0)>=(n|0))break;if((B|0)!=1){if(uS(Y,a[L+(B<<2)>>2]|0,a[t+(B<<2)>>2]|0,e,.001,e)|0){u=-1;break e}}else BK(i,a[Z>>2]|0,L,n,1,15,M,w)|0;B=B+1|0}Q=h;u=u+1|0}L2(M);EK(i);if(L|0){d=0;while(1){if((d|0)>=(n|0))break;v=L+(d<<2)|0;g=r+(d<<2)|0;B=0;while(1){if((B|0)>=(e|0))break;b[(a[g>>2]|0)+(B<<3)>>3]=+c[(a[v>>2]|0)+(B<<2)>>2];B=B+1|0}d=d+1|0}L2(a[L>>2]|0);L2(L)}if(t|0){L2(a[t>>2]|0);L2(t)}L2(G);L2(f);L2(m);L2(Y);L2(l)}}while(0);L2(a[F>>2]|0);L2(a[V>>2]|0);if(o){L2(a[o>>2]|0);L2(o)}}else J=10}else J=10}while(0);if((J|0)==10)u=iU(A,e,i,r,f,n,l,t,s)|0;k=N;return u|0}function oS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+48|0;f=s+24|0;n=s+12|0;i=s;l=vh(A)|0;c=$F(l*48|0)|0;qj(i,A);a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];i=cd(A)|0;r=c;while(1){if(!i)break;a[f>>2]=a[n>>2];a[f+4>>2]=a[n+4>>2];a[f+8>>2]=a[n+8>>2];hS(i,r,f);i=bd(A,i)|0;r=r+48|0}A:do{if(!(dS(c,l)|0))i=0;else{switch(e|0){case 9:{vS(A,c,l,70,1);ES(A,c,l,71,1);i=0;r=c;break}case 10:{ES(A,c,l,71,1);vS(A,c,l,70,1);i=0;r=c;break}case 7:{vS(A,c,l,72,1);ES(A,c,l,71,1);t=9;break}case 8:{t=9;break}case 13:{t=10;break}case 14:{ES(A,c,l,71,0);vS(A,c,l,70,0);i=0;r=c;break}case 12:{ES(A,c,l,73,0);vS(A,c,l,70,0);i=0;r=c;break}default:{vS(A,c,l,72,0);ES(A,c,l,71,0);i=0;r=c}}if((t|0)==9){ES(A,c,l,73,1);vS(A,c,l,70,1);t=10}if((t|0)==10){vS(A,c,l,70,0);ES(A,c,l,71,0);i=0;r=c}while(1){if((i|0)>=(l|0)){i=1;break A}n=a[r+16>>2]|0;t=a[(a[(a[r+20>>2]|0)+16>>2]|0)+132>>2]|0;b[t>>3]=+(a[r+12>>2]|0)*1.3888888888888887e-03;b[t+8>>3]=+(n|0)*1.3888888888888887e-03;i=i+1|0;r=r+48|0}}}while(0);L2(c);k=s;return i|0}function hS(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,s=0.0,w=0.0;f=a[A+16>>2]|0;t=a[f+132>>2]|0;s=+b[t>>3]*720.0;l=~~(s+(s>=0.0?.5:-.5));s=+b[t+8>>3]*720.0;t=~~(s+(s>=0.0?.5:-.5));if(!(r[i+8>>0]|0)){w=+b[f+32>>3]*72.0*(+c[i>>2]*5.0);s=+b[f+40>>3]*72.0*(+c[i+4>>2]*5.0);n=~~(w+(w>=0.0?.5:-.5));f=~~(s+(s>=0.0?.5:-.5))}else{s=+b[f+32>>3]*36.0;w=+b[f+40>>3]*36.0;n=~~((+c[i>>2]+ +(~~(s+(s>=0.0?.5:-.5))|0))*10.0);f=~~((+c[i+4>>2]+ +(~~(w+(w>=0.0?.5:-.5))|0))*10.0)}a[e+12>>2]=l;a[e+16>>2]=t;a[e+20>>2]=A;a[e+32>>2]=l-n;a[e+36>>2]=t-f;a[e+40>>2]=n+l;a[e+44>>2]=f+t;return}function dS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=e+-1|0;i=0;A:while(1){if((i|0)>=(b|0)){A=0;break}c=A+48|0;i=i+1|0;n=A+32|0;l=A+40|0;t=A+36|0;f=A+44|0;A=c;r=i;while(1){if((r|0)>=(e|0)){A=c;continue A}if((((a[n>>2]|0)<=(a[A+40>>2]|0)?(a[A+32>>2]|0)<=(a[l>>2]|0):0)?(a[t>>2]|0)<=(a[A+44>>2]|0):0)?(a[A+36>>2]|0)<=(a[f>>2]|0):0){A=1;break A}A=A+48|0;r=r+1|0}}return A|0}function BS(A,e){A=A|0;e=e|0;if((a[A+36>>2]|0)>(a[e+44>>2]|0))A=0;else A=(a[e+36>>2]|0)<=(a[A+44>>2]|0)&1;return A|0}function vS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=jk(18168,a[4584]|0)|0;n=e;l=0;while(1){if((l|0)>=(i|0))break;a[n+8>>2]=a[n+12>>2];W5[a[t>>2]&63](t,n,1)|0;n=n+48|0;l=l+1|0}if(!f)l=mS(A,t,r,74)|0;else l=QS(t,r,74)|0;JV(l,2,2147483647)|0;n=0;while(1){if((n|0)>=(i|0))break;f=e+12|0;A=a[(a[(a[e+24>>2]|0)+16>>2]|0)+232>>2]|0;r=A-(a[f>>2]|0)|0;a[f>>2]=A;f=e+32|0;a[f>>2]=(a[f>>2]|0)+r;f=e+40|0;a[f>>2]=(a[f>>2]|0)+r;e=e+48|0;n=n+1|0}LS(l);pk(t)|0;return}function gS(A,e){A=A|0;e=e|0;if((a[A+32>>2]|0)>(a[e+40>>2]|0))A=0;else A=(a[e+32>>2]|0)<=(a[A+40>>2]|0)&1;return A|0}function ES(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=jk(18168,a[4584]|0)|0;n=e;l=0;while(1){if((l|0)>=(i|0))break;a[n+8>>2]=a[n+16>>2];W5[a[t>>2]&63](t,n,1)|0;n=n+48|0;l=l+1|0}if(!f)l=mS(A,t,r,75)|0;else l=QS(t,r,75)|0;JV(l,2,2147483647)|0;n=0;while(1){if((n|0)>=(i|0))break;f=e+16|0;A=a[(a[(a[e+24>>2]|0)+16>>2]|0)+232>>2]|0;r=A-(a[f>>2]|0)|0;a[f>>2]=A;f=e+36|0;a[f>>2]=(a[f>>2]|0)+r;f=e+44|0;a[f>>2]=(a[f>>2]|0)+r;e=e+48|0;n=n+1|0}LS(l);pk(t)|0;return}function CS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+32|0;r=e+32|0;if((a[A+36>>2]|0)<=(a[e+44>>2]|0)?(a[e+36>>2]|0)<=(a[A+44>>2]|0):0)if((a[A+40>>2]|0)<(a[r>>2]|0))A=1;else{n=GS(i,r)|0;n=n-(a[e+12>>2]|0)+(a[A+12>>2]|0)|0;e=a[e+16>>2]|0;A=a[A+16>>2]|0;f=(e|0)<(A|0);r=ZS(i,r)|0;A=(n|0)<=(r-(f?A:e)+(f?e:A)|0)&1}else A=0;return A|0}function IS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;i=A+32|0;r=e+32|0;if((a[i>>2]|0)<=(a[e+40>>2]|0)?(a[r>>2]|0)<=(a[A+40>>2]|0):0)if((a[A+44>>2]|0)<(a[e+36>>2]|0))A=1;else{n=ZS(i,r)|0;n=n-(a[e+16>>2]|0)+(a[A+16>>2]|0)|0;e=a[e+12>>2]|0;A=a[A+12>>2]|0;f=(e|0)<(A|0);r=GS(i,r)|0;A=(n|0)<=(r-(f?A:e)+(f?e:A)|0)&1}else A=0;return A|0}function ZS(A,e){A=A|0;e=e|0;return((a[A+12>>2]|0)-(a[A+4>>2]|0)+(a[e+12>>2]|0)-(a[e+4>>2]|0)|0)/2|0|0}function GS(A,e){A=A|0;e=e|0;return((a[A+8>>2]|0)-(a[A>>2]|0)+(a[e+8>>2]|0)-(a[e>>2]|0)|0)/2|0|0}function QS(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+16|0;E=I;r[E>>0]=r[18588]|0;r[E+1>>0]=r[18589]|0;r[E+2>>0]=r[18590]|0;r[E+3>>0]=r[18591]|0;C=kh(93515,E,0)|0;Td(C,137483,280,1)|0;n=xk(A)|0;l=-2147483647;g=0;while(1){if(!n)break;B=a[n+8>>2]|0;v=g+((l|0)!=(B|0)&1)|0;n=a[n>>2]|0;l=B;g=v}B=C+16|0;v=(g<<3)+-4|0;w=0;c=0;n=0;l=0;s=0;d=xk(A)|0;t=-2147483647;while(1){if(!d)break;h=a[d+8>>2]|0;if((t|0)!=(h|0)){o=vd(C,Vh(a[d+20>>2]|0)|0,1)|0;Td(o,137447,304,1)|0;u=o+16|0;n=a[u>>2]|0;a[n+112>>2]=d;if(!l){a[(a[B>>2]|0)+192>>2]=o;w=o}else{a[(a[w+16>>2]|0)+164>>2]=o;w=l}a[n+176>>2]=0;b=c+1|0;t=qF(b<<2)|0;a[(a[u>>2]|0)+172>>2]=t;if(!s){c=b;b=o;s=o;n=o;l=w;t=h}else{t=s+16|0;a[(a[t>>2]|0)+184>>2]=0;c=qF((s|0)==(w|0)?v:g-c<<2)|0;a[(a[t>>2]|0)+180>>2]=c;c=th(C,s,o,0,1)|0;Td(c,137460,176,1)|0;n=a[c+16>>2]|0;f[n+170>>1]=10;a[n+156>>2]=1;n=a[t>>2]|0;l=a[n+180>>2]|0;if(!l)n=$F((a[n+184>>2]<<2)+8|0)|0;else n=eV(l,(a[n+184>>2]<<2)+8|0)|0;s=a[t>>2]|0;a[s+180>>2]=n;s=s+184|0;l=a[s>>2]|0;a[s>>2]=l+1;a[n+(l<<2)>>2]=c;n=a[t>>2]|0;a[(a[n+180>>2]|0)+(a[n+184>>2]<<2)>>2]=0;n=a[u>>2]|0;l=a[n+172>>2]|0;if(!l)n=$F((a[n+176>>2]<<2)+8|0)|0;else n=eV(l,(a[n+176>>2]<<2)+8|0)|0;l=a[u>>2]|0;a[l+172>>2]=n;l=l+176|0;s=a[l>>2]|0;a[l>>2]=s+1;a[n+(s<<2)>>2]=c;c=a[u>>2]|0;a[(a[c+172>>2]|0)+(a[c+176>>2]<<2)>>2]=0;c=b;b=o;s=o;n=o;l=w;t=h}}else{b=n;n=w}a[d+24>>2]=b;w=n;n=b;d=a[d>>2]|0}s=s+16|0;a[(a[s>>2]|0)+184>>2]=0;n=qF(4)|0;a[(a[s>>2]|0)+180>>2]=n;r[E>>0]=r[18588]|0;r[E+1>>0]=r[18589]|0;r[E+2>>0]=r[18590]|0;r[E+3>>0]=r[18591]|0;s=kh(93562,E,0)|0;n=xk(A)|0;while(1){if(!n)break;E=vd(s,Vh(a[n+20>>2]|0)|0,1)|0;Td(E,137447,304,1)|0;a[n+28>>2]=E;a[(a[E+16>>2]|0)+112>>2]=n;n=a[n>>2]|0}n=0;b=xk(A)|0;l=-2147483647;A:while(1){if(!b)break;c=a[b+8>>2]|0;e:do{if((l|0)==(c|0))c=l;else{n=b;while(1){n=a[n>>2]|0;if(!n)break A;if((a[n+8>>2]|0)!=(c|0))break e}}}while(0);t=b+28|0;l=n;while(1){if(!l)break;if(m5[e&127](b,l)|0)th(s,a[t>>2]|0,a[l+28>>2]|0,0,1)|0;l=a[l>>2]|0}b=a[b>>2]|0;l=c}WS(s,C,i);Bh(s)|0;k=I;return C|0}function mS(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;B=k;k=k+16|0;d=B;r[d>>0]=r[18588]|0;r[d+1>>0]=r[18589]|0;r[d+2>>0]=r[18590]|0;r[d+3>>0]=r[18591]|0;d=kh(93515,d,0)|0;Td(d,137483,280,1)|0;b=d+16|0;l=xk(e)|0;t=0;while(1){if(!l)break;c=vd(d,Vh(a[l+20>>2]|0)|0,1)|0;Td(c,137447,304,1)|0;o=c+16|0;w=a[o>>2]|0;a[w+112>>2]=l;a[l+24>>2]=c;a[w+176>>2]=0;w=qF(4)|0;u=a[o>>2]|0;a[u+172>>2]=w;a[u+184>>2]=0;u=qF(4)|0;a[(a[o>>2]|0)+180>>2]=u;if(!t)a[(a[b>>2]|0)+192>>2]=c;else a[(a[t+16>>2]|0)+164>>2]=c;l=a[l>>2]|0;t=c}s=xk(e)|0;A:while(1){if(!s)break;w=s+32|0;u=s+24|0;o=s+20|0;l=s;while(1){l=a[l>>2]|0;if(!l)break;if(m5[i&127](s,l)|0){t=m5[n&127](w,l+32|0)|0;c=th(d,a[u>>2]|0,a[l+24>>2]|0,0,1)|0;Td(c,137460,176,1)|0;if((t|0)>=65536){h=13;break A}b=c+16|0;v=a[b>>2]|0;f[v+170>>1]=t;a[v+156>>2]=1;if(c|0?th(A,a[o>>2]|0,a[l+20>>2]|0,0,0)|0:0)a[(a[b>>2]|0)+156>>2]=100}}s=a[s>>2]|0}if((h|0)==13)vA(93518,93534,254,93547);s=xk(e)|0;while(1){if(!s)break;b=a[s+24>>2]|0;w=b+16|0;b=Oo(d,b)|0;while(1){if(!b)break;l=a[w>>2]|0;t=a[l+180>>2]|0;if(!t)l=$F((a[l+184>>2]<<2)+8|0)|0;else l=eV(t,(a[l+184>>2]<<2)+8|0)|0;t=a[w>>2]|0;a[t+180>>2]=l;t=t+184|0;c=a[t>>2]|0;a[t>>2]=c+1;a[l+(c<<2)>>2]=b;c=a[w>>2]|0;a[(a[c+180>>2]|0)+(a[c+184>>2]<<2)>>2]=0;c=b+-48|0;l=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;t=a[l+172>>2]|0;if(!t)l=$F((a[l+176>>2]<<2)+8|0)|0;else l=eV(t,(a[l+176>>2]<<2)+8|0)|0;a[(a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0)+172>>2]=l;n=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;h=a[n+172>>2]|0;n=n+176|0;v=a[n>>2]|0;a[n>>2]=v+1;a[h+(v<<2)>>2]=b;v=a[(a[((a[b>>2]&3|0)==2?b:c)+40>>2]|0)+16>>2]|0;a[(a[v+172>>2]|0)+(a[v+176>>2]<<2)>>2]=0;b=_o(d,b)|0}s=a[s>>2]|0}k=B;return d|0}function LS(A){A=A|0;var e=0,i=0,r=0,f=0;f=cd(A)|0;while(1){if(!f)break;i=f+16|0;e=a[i>>2]|0;r=a[e+172>>2]|0;if(r){L2(r);e=a[i>>2]|0}e=a[e+180>>2]|0;if(e|0)L2(e);f=bd(A,f)|0}Bh(A)|0;return}function WS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0;b=cd(A)|0;while(1){if(!b)break;u=a[(a[b+16>>2]|0)+112>>2]|0;w=a[u+24>>2]|0;u=u+32|0;k=w+16|0;s=Oo(A,b)|0;while(1){if(!s)break;l=a[(a[(a[((a[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;o=m5[i&127](u,l+32|0)|0;l=a[l+24>>2]|0;t=th(e,w,l,0,1)|0;Td(t,137460,176,1)|0;c=t+16|0;r=a[c>>2]|0;a[r+156>>2]=1;n=f[r+170>>1]|0;if((o|0)>(n&65535|0)){if(!(n<<16>>16)){r=a[k>>2]|0;n=a[r+180>>2]|0;if(!n)r=$F((a[r+184>>2]<<2)+8|0)|0;else r=eV(n,(a[r+184>>2]<<2)+8|0)|0;h=a[k>>2]|0;a[h+180>>2]=r;h=h+184|0;n=a[h>>2]|0;a[h>>2]=n+1;a[r+(n<<2)>>2]=t;r=a[k>>2]|0;a[(a[r+180>>2]|0)+(a[r+184>>2]<<2)>>2]=0;l=l+16|0;r=a[l>>2]|0;n=a[r+172>>2]|0;if(!n)r=$F((a[r+176>>2]<<2)+8|0)|0;else r=eV(n,(a[r+176>>2]<<2)+8|0)|0;n=a[l>>2]|0;a[n+172>>2]=r;n=n+176|0;h=a[n>>2]|0;a[n>>2]=h+1;a[r+(h<<2)>>2]=t;r=a[l>>2]|0;a[(a[r+172>>2]|0)+(a[r+176>>2]<<2)>>2]=0;r=a[c>>2]|0}f[r+170>>1]=o}s=_o(A,s)|0}b=bd(A,b)|0}return}function yS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(a[e>>2]|0)-(a[i>>2]|0)|0}function zS(A,e){A=A|0;e=e|0;var i=0,f=0,n=0.0,l=0.0,t=0.0,s=0.0,w=0.0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0.0,Q=0.0;Z=k;k=k+64|0;g=Z+24|0;B=Z+16|0;d=Z+52|0;h=Z+40|0;v=Z;C=vh(A)|0;I=$F(C*72|0)|0;qj(h,A);t=+c[h>>2];s=+c[h+4>>2];h=(r[h+8>>0]|0)!=0;t=h?t*.013888888888888888:t;s=h?s*.013888888888888888:s;w=t*.5;u=s*.5;i=I;f=cd(A)|0;while(1){if(!f)break;o=a[f+16>>2]|0;n=+b[o+32>>3];if(h){l=+b[o+40>>3]*.5+s;n=n*.5+t}else{l=u*+b[o+40>>3];n=w*n}o=a[o+132>>2]|0;Q=+b[o>>3];b[i>>3]=Q;G=+b[o+8>>3];b[i+8>>3]=G;b[i+16>>3]=Q-n;b[i+24>>3]=G-l;b[i+32>>3]=Q+n;b[i+40>>3]=G+l;b[i+48>>3]=n;b[i+56>>3]=l;a[i+64>>2]=f;i=i+72|0;f=bd(A,f)|0}do{if((e|0)<0){n=+YS(I,C);if(n==0.0){L2(I);i=0;break}if(!0){t=n;l=n;E=19}else{E=a[15712]|0;b[B>>3]=n;f3(E,93565,B)|0;t=n;l=n;E=19}}else{f=DS(I,C,d)|0;i=a[d>>2]|0;if(!i){L2(f);L2(I);i=0;break}if(!e){FS(v,f,i);n=+b[v>>3];l=+b[v+8>>3]}else{l=+MS(f,i);n=l}L2(f);if(!0){t=n;E=19}else{E=a[15712]|0;b[g>>3]=n;b[g+8>>3]=l;f3(E,93579,g)|0;t=n;E=19}}}while(0);if((E|0)==19){i=0;f=I;while(1){if((i|0)>=(C|0))break;E=a[(a[(a[f+64>>2]|0)+16>>2]|0)+132>>2]|0;b[E>>3]=+b[f>>3]*t;b[E+8>>3]=+b[f+8>>3]*l;i=i+1|0;f=f+72|0}L2(I);i=1}k=Z;return i|0}function YS(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0,a=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;i=0.0;r=0;A:while(1){if((r|0)>=(e|0))break;d=A+72|0;r=r+1|0;w=A+16|0;u=A+8|0;k=A+56|0;o=A+48|0;h=A+32|0;c=A+24|0;s=A+40|0;l=r;t=d;while(1){if((l|0)>=(e|0)){A=d;continue A}if(((+b[w>>3]<=+b[t+32>>3]?+b[t+16>>3]<=+b[h>>3]:0)?+b[c>>3]<=+b[t+40>>3]:0)?+b[t+24>>3]<=+b[s>>3]:0){i=0.0;break A}f=+b[A>>3];a=+b[t>>3];if(f==a)n=C;else{n=+y(+(f-a));n=(+b[t+48>>3]+ +b[o>>3])/n}f=+b[u>>3];a=+b[t+8>>3];if(f==a)f=C;else{f=+y(+(f-a));f=(+b[t+56>>3]+ +b[k>>3])/f}n=fi?n:i}}return+i}function DS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,I=0,Z=0,G=0,Q=0;c=$F((e<<4)+16|0)|0;w=0;r=0;u=c;k=e;l=c;A:while(1){if((r|0)>=(e|0))break;G=A+72|0;r=r+1|0;Z=A+16|0;d=A+32|0;B=A+24|0;v=A+40|0;g=A+8|0;E=A+56|0;I=A+48|0;o=r;h=G;s=l;while(1){if((o|0)==(e|0)){A=G;l=s;continue A}if(((+b[Z>>3]<=+b[h+32>>3]?+b[h+16>>3]<=+b[d>>3]:0)?+b[B>>3]<=+b[h+40>>3]:0)?+b[h+24>>3]<=+b[v>>3]:0){l=k+e|0;if((w|0)==(k|0)){c=eV(c,(l<<4)+16|0)|0;u=c;s=c}else l=k;f=+b[A>>3];n=+b[h>>3];if(!(f==n)){f=(+b[h+48>>3]+ +b[I>>3])/+y(+(f-n));if(f<1.0){f=1.0;Q=13}}else{f=C;Q=13}if((Q|0)==13)Q=0;n=+b[g>>3];t=+b[h+8>>3];if(!(n==t)){n=(+b[h+56>>3]+ +b[E>>3])/+y(+(n-t));if(n<1.0){n=1.0;Q=16}}else{n=C;Q=16}if((Q|0)==16)Q=0;w=w+1|0;b[u+(w<<4)>>3]=f;b[u+(w<<4)+8>>3]=n}else l=k;o=o+1|0;h=h+72|0;k=l}}Q=eV(l,(w<<4)+16|0)|0;a[i>>2]=w;return Q|0}function MS(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0,a=0.0,n=0.0;r=1;f=0.0;while(1){i=A+16|0;if((r|0)>(e|0))break;n=+b[i>>3];a=+b[A+24>>3];a=nf?a:f;A=i}return+f}function FS(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,a=0,n=0,l=0.0;b[e>>3]=1.0;b[e+8>>3]=C;K4(e+16|0,i,16,76);n=$F((i<<4)+16|0)|0;b[n+(i<<4)>>3]=+b[e+(i<<4)>>3];a=i;r=1.0;while(1){b[n+(a<<4)+8>>3]=r;f=a+-1|0;if((a|0)<=0){r=C;f=0;a=0;break}b[n+(f<<4)>>3]=+b[e+(f<<4)>>3];l=+b[(+b[e+(a<<4)+8>>3]>r?e:n)+(a<<4)+8>>3];a=f;r=l}while(1){if((a|0)>(i|0))break;l=+b[n+(a<<4)+8>>3]*+b[n+(a<<4)>>3];e=l>3];b[A>>3]=+b[n+(f<<4)>>3];b[A+8>>3]=l;return}else vA(93596,93534,832,93616)}function VS(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3];r=+b[e>>3];if(!(ir)){r=+b[A+8>>3];i=+b[e+8>>3];if(ri&1}else A=1;else A=-1;return A|0}function JS(A,e,i){A=A|0;e=e|0;i=i|0;i=k;k=k+16|0;e=i;a[e>>2]=93631;ao(1,93681,e)|0;k=i;return 0}function NS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=k;k=k+16|0;i=r;a[i>>2]=93631;ao(1,93709,i)|0;k=r;return 0}function XS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;A:do{switch(i|0){case 2:{r=$F(16)|0;f=$F(24)|0;a[f+8>>2]=0;a[f+4>>2]=r;a[f>>2]=2;a[r>>2]=0;a[r+4>>2]=1;i=r+8|0;a[f+16>>2]=i;a[f+20>>2]=0;a[f+12>>2]=2;a[i>>2]=1;a[r+12>>2]=0;break}case 1:{r=$F(4)|0;f=$F(12)|0;a[f+8>>2]=0;a[f+4>>2]=r;a[f>>2]=1;a[r>>2]=0;break}default:{JS(0,0,0)|0;A=(i|0)>0;if(!r){if(!A){f=0;break A}re()}else{if(!A){f=0;break A}re()}}}}while(0);return f|0}function RS(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)L2(e);e=a[A+8>>2]|0;if(e|0)L2(e);L2(A)}return}function HS(A){A=A|0;var e=0;if(A|0){e=a[A+4>>2]|0;if(e|0)L2(e);e=a[A+8>>2]|0;if(e|0)L2(e);e=a[A+16>>2]|0;if(e|0)L2(e);L2(A)}return}function pS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;w=u+8|0;s=u;b=y2(a[46849]|0,i<<2)|0;a[46849]=b;f=0;while(1){if((f|0)>=(i|0))break;a[r+(f<<2)>>2]=2147483647;f=f+1|0}a[r+(A<<2)>>2]=0;n=e+(A*20|0)|0;l=e+(A*20|0)+8|0;t=e+(A*20|0)+4|0;f=1;while(1){if((f|0)>=(a[n>>2]|0))break;a[r+(a[(a[t>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+c[(a[l>>2]|0)+(f<<2)>>2];f=f+1|0}US(w,A,b,r,i);l=-2147483639;while(1){if(!((xS(w,s,a[46849]|0,r)|0)<<24>>24)){f=0;break}f=a[s>>2]|0;A=a[r+(f<<2)>>2]|0;if((A|0)==2147483647){f=0;break}l=e+(f*20|0)|0;t=e+(f*20|0)+4|0;n=e+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(a[l>>2]|0))break;TS(w,a[(a[t>>2]|0)+(f<<2)>>2]|0,A+~~+c[(a[n>>2]|0)+(f<<2)>>2]|0,a[46849]|0,r);f=f+1|0}l=A+10|0}while(1){if((f|0)>=(i|0))break;n=r+(f<<2)|0;if((a[n>>2]|0)==2147483647)a[n>>2]=l;f=f+1|0}jS(w);k=u;return}function US(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;if((f|0)==1)t=0;else t=$F((f<<2)+-4|0)|0;a[A>>2]=t;c=f+-1|0;a[A+4>>2]=c;n=0;l=0;while(1){if((l|0)>=(f|0))break;if((l|0)!=(e|0)){a[t+(n<<2)>>2]=l;a[i+(l<<2)>>2]=n;n=n+1|0}l=l+1|0}n=(c|0)/2|0;while(1){if((n|0)<=-1)break;SS(A,n,i,r);n=n+-1|0}return}function xS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A+4|0;if(!(a[f>>2]|0))A=0;else{n=a[A>>2]|0;a[e>>2]=a[n>>2];e=a[n+((a[f>>2]|0)+-1<<2)>>2]|0;a[n>>2]=e;a[i+(e<<2)>>2]=0;a[f>>2]=(a[f>>2]|0)+-1;SS(A,0,i,r);A=1}return A|0}function TS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;n=f+(e<<2)|0;if((a[n>>2]|0)>(i|0)){c=r+(e<<2)|0;t=a[c>>2]|0;a[n>>2]=i;n=a[A>>2]|0;A=t;while(1){if((A|0)<=0)break;l=A>>>1;t=a[n+(l<<2)>>2]|0;if((a[f+(t<<2)>>2]|0)<=(i|0))break;a[n+(A<<2)>>2]=t;a[r+(t<<2)>>2]=A;A=l}a[n+(A<<2)>>2]=e;a[c>>2]=A}return}function jS(A){A=A|0;A=a[A>>2]|0;if(A|0)L2(A);return}function SS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;t=A+4|0;while(1){f=e<<1;n=f|1;l=a[t>>2]|0;if(!((f|0)<(l|0)?(c=a[A>>2]|0,(a[r+(a[c+(f<<2)>>2]<<2)>>2]|0)<(a[r+(a[c+(e<<2)>>2]<<2)>>2]|0)):0))f=e;if((n|0)<(l|0)){c=a[A>>2]|0;f=(a[r+(a[c+(n<<2)>>2]<<2)>>2]|0)<(a[r+(a[c+(f<<2)>>2]<<2)>>2]|0)?n:f}if((f|0)==(e|0))break;c=a[A>>2]|0;l=c+(f<<2)|0;n=a[l>>2]|0;c=c+(e<<2)|0;a[l>>2]=a[c>>2];a[c>>2]=n;a[i+(a[l>>2]<<2)>>2]=f;a[i+(a[c>>2]<<2)>>2]=e;e=f}return}function PS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0.0,s=0,w=0,u=0,o=0;o=k;k=k+16|0;s=o+8|0;w=o;a[w>>2]=0;u=$F(i<<2)|0;f=0;while(1){if((f|0)>=(i|0))break;c[r+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}c[r+(A<<2)>>2]=0.0;n=a[e+(A*20|0)>>2]|0;l=e+(A*20|0)+8|0;t=e+(A*20|0)+4|0;f=1;while(1){if((f|0)>=(n|0))break;a[r+(a[(a[t>>2]|0)+(f<<2)>>2]<<2)>>2]=a[(a[l>>2]|0)+(f<<2)>>2];f=f+1|0}OS(s,A,u,r,i);A:while(1){if(!((KS(s,w,u,r)|0)<<24>>24))break;f=a[w>>2]|0;b=+c[r+(f<<2)>>2];if(b==3402823466385288598117041.0e14)break;l=e+(f*20|0)|0;t=e+(f*20|0)+4|0;n=e+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(a[l>>2]|0))continue A;_S(s,a[(a[t>>2]|0)+(f<<2)>>2]|0,+c[(a[n>>2]|0)+(f<<2)>>2]+b,u,r);f=f+1|0}}jS(s);L2(u);k=o;return}function OS(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;t=f+-1|0;c=$F(t<<2)|0;a[A>>2]=c;a[A+4>>2]=t;n=0;l=0;while(1){if((l|0)>=(f|0))break;if((l|0)!=(e|0)){a[c+(n<<2)>>2]=l;a[i+(l<<2)>>2]=n;n=n+1|0}l=l+1|0}n=(t|0)/2|0;while(1){if((n|0)<=-1)break;qS(A,n,i,r);n=n+-1|0}return}function KS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=A+4|0;if(!(a[f>>2]|0))A=0;else{n=a[A>>2]|0;a[e>>2]=a[n>>2];e=a[n+((a[f>>2]|0)+-1<<2)>>2]|0;a[n>>2]=e;a[i+(e<<2)>>2]=0;a[f>>2]=(a[f>>2]|0)+-1;qS(A,0,i,r);A=1}return A|0}function _S(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,b=0;n=f+(e<<2)|0;if(!(+c[n>>2]<=i)){b=r+(e<<2)|0;t=a[b>>2]|0;c[n>>2]=i;n=a[A>>2]|0;A=t;while(1){if((A|0)<=0)break;l=A>>>1;t=a[n+(l<<2)>>2]|0;if(!(+c[f+(t<<2)>>2]>i))break;a[n+(A<<2)>>2]=t;a[r+(t<<2)>>2]=A;A=l}a[n+(A<<2)>>2]=e;a[b>>2]=A}return}function qS(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0;t=A+4|0;while(1){f=e<<1;n=f|1;l=a[t>>2]|0;if(!((f|0)<(l|0)?(b=a[A>>2]|0,+c[r+(a[b+(f<<2)>>2]<<2)>>2]<+c[r+(a[b+(e<<2)>>2]<<2)>>2]):0))f=e;if((n|0)<(l|0)?(b=a[A>>2]|0,+c[r+(a[b+(n<<2)>>2]<<2)>>2]<+c[r+(a[b+(f<<2)>>2]<<2)>>2]):0)f=n;if((f|0)==(e|0))break;b=a[A>>2]|0;l=b+(f<<2)|0;n=a[l>>2]|0;b=b+(e<<2)|0;a[l>>2]=a[b>>2];a[b>>2]=n;a[i+(a[l>>2]<<2)>>2]=f;a[i+(a[b>>2]<<2)>>2]=e;e=f}return}function $S(){jO(187400,48);a[46853]=0;return}function AP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0.0,n=0.0,l=0;l=PO(187400)|0;a[l+32>>2]=A;a[l+36>>2]=e;LK(A);LK(e);a[l+24>>2]=0;a[l+28>>2]=0;f=+b[A>>3];n=+b[e>>3]-f;r=+b[A+8>>3];i=+b[e+8>>3]-r;f=i*r+n*f+(i*i+n*n)*.5;e=l+16|0;b[e>>3]=f;if((n>0.0?n:-n)>(i>0.0?i:-i)){b[l>>3]=1.0;r=i/n;i=n;A=l+8|0}else{b[l+8>>3]=1.0;r=n/i;A=l}b[A>>3]=r;b[e>>3]=f/i;e=a[46853]|0;a[l+40>>2]=e;a[46853]=e+1;return l|0}function eP(A){A=A|0;var e=0,i=0,r=0.0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0;s=+b[A>>3];A:do{if(s==1.0){if(!(+b[A+8>>3]>=0.0)){e=a[A+28>>2]|0;i=a[A+24>>2]|0;if(!i)w=9;else w=5}else{e=a[A+24>>2]|0;i=a[A+28>>2]|0;if(!i)w=9;else w=5}do{if((w|0)==5){r=+b[i+8>>3];if(r>+b[23266])break A;f=+b[23267];if(!(r>=f)){l=f;r=+b[A+16>>3]-+b[A+8>>3]*f;break}else{l=r;r=+b[i>>3];break}}else if((w|0)==9){f=+b[23267];l=f;r=+b[A+16>>3]-+b[A+8>>3]*f}}while(0);do{if(e){n=+b[e+8>>3];if(n>3]-+b[A+8>>3]*f;break}else{f=+b[e>>3];break}}else{f=+b[23266];n=f;f=+b[A+16>>3]-+b[A+8>>3]*f}}while(0);t=+b[23268];e=r>t;i=f>t;c=+b[23269];if(!(e&i|r>3]-t)/+b[A+8>>3];r=t}if(r>3]-c)/+b[A+8>>3];r=c}if(i){n=(+b[A+16>>3]-t)/+b[A+8>>3];f=t}if(f>3]-c)/+b[A+8>>3];f=c;w=46}else w=46}}else{i=a[A+28>>2]|0;e=a[A+24>>2]|0;do{if(e){r=+b[e>>3];if(r>+b[23268])break A;n=+b[23269];if(!(r>=n)){l=+b[A+16>>3]-n*s;r=n;break}else{l=+b[e+8>>3];break}}else{n=+b[23269];l=+b[A+16>>3]-n*s;r=n}}while(0);do{if(i){f=+b[i>>3];if(f>3]-s*t;f=t;break}else{n=+b[i+8>>3];break}}else{f=+b[23268];n=+b[A+16>>3]-s*f}}while(0);t=+b[23266];e=l>t;i=n>t;c=+b[23267];if(!(e&i|l>3]-t)/s}if(l>3]-c)/s}if(i){n=t;f=(+b[A+16>>3]-t)/s}if(n>3]-c)/s;w=46}else w=46}}}while(0);if((w|0)==46)iP(A,r,l,f,n);return}function iP(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;var n=0;n=A+32|0;FP(a[n>>2]|0,e,i);FP(a[n>>2]|0,r,f);A=A+36|0;FP(a[A>>2]|0,e,i);FP(a[A>>2]|0,r,f);return}function rP(A,e,i){A=A|0;e=e|0;i=i|0;a[A+24+(e<<2)>>2]=i;LK(i);if(a[A+24+(1-e<<2)>>2]|0){eP(A);mK(a[A+32>>2]|0);mK(a[A+36>>2]|0);OO(A,187400)}return}function fP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;o=k;k=k+16|0;u=o;s=e<<2;l=$F(U(s,i)|0)|0;n=a[r>>2]|0;s=$F(s)|0;w=a[A+8>>2]|0;if(n|0){L2(a[n>>2]|0);L2(n)}b=$F(i<<2)|0;a[r>>2]=b;n=0;while(1){if((n|0)>=(i|0))break;a[b+(n<<2)>>2]=l+((U(n,e)|0)<<2);n=n+1|0}c=(f|0)!=0;if(c)xP(A,e);r=(a8()|0)%(e|0)|0;lS(u,e);n=a[b>>2]|0;if(c){pS(r,A,e,n);f=0;n=0}else{rS(r,A,e,n,u);f=0;n=0}while(1){if((n|0)>=(e|0)){t=1;break}l=a[(a[b>>2]|0)+(n<<2)>>2]|0;a[s+(n<<2)>>2]=l;t=(l|0)>(f|0);f=t?l:f;r=t?n:r;n=n+1|0}while(1){if((t|0)>=(i|0))break;l=b+(t<<2)|0;n=a[l>>2]|0;if(c){pS(r,A,e,n);n=0;f=0}else{rS(r,A,e,n,u);n=0;f=0}while(1){if((n|0)>=(e|0))break;B=s+(n<<2)|0;h=a[B>>2]|0;d=a[(a[l>>2]|0)+(n<<2)>>2]|0;d=(h|0)<(d|0)?h:d;a[B>>2]=d;B=(d|0)>(f|0);h=B?n:r;n=n+1|0;f=B?d:f;r=h}t=t+1|0}L2(s);if(c)TP(A,e,w);k=o;return}function aP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0.0,c=0,b=0;t=1.0/+(e|0);l=0;while(1){if((l|0)>=(i|0))break;c=A+(l<<2)|0;r=0.0;f=0;while(1){if((f|0)>=(e|0))break;r=r+ +(a[(a[c>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=~~(r*t);f=0;while(1){if((f|0)>=(e|0))break;b=(a[c>>2]|0)+(f<<2)|0;a[b>>2]=(a[b>>2]|0)-n;f=f+1|0}l=l+1|0}return}function nP(){a[46855]=~~+z(+ +((a[46854]|0)+4|0));return}function lP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+(r*r+i*i)}function tP(A,e,i){A=A|0;e=e|0;i=i|0;b[A>>3]=+b[e>>3]-+b[i>>3];b[A+8>>3]=+b[e+8>>3]-+b[i+8>>3];return}function cP(A,e,i){A=A|0;e=e|0;i=i|0;b[A>>3]=+b[i>>3]+ +b[e>>3];b[A+8>>3]=+b[i+8>>3]+ +b[e+8>>3];return}function bP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;r=+b[e+8>>3];f=+b[e>>3];return+((+b[i>>3]-f)*(+b[A+8>>3]-r)-(+b[A>>3]-f)*(+b[i+8>>3]-r))}function sP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=k;k=k+48|0;f=r+32|0;n=r+16|0;l=r;a[l>>2]=a[A>>2];a[l+4>>2]=a[A+4>>2];a[l+8>>2]=a[A+8>>2];a[l+12>>2]=a[A+12>>2];a[n>>2]=a[e>>2];a[n+4>>2]=a[e+4>>2];a[n+8>>2]=a[e+8>>2];a[n+12>>2]=a[e+12>>2];a[f>>2]=a[i>>2];a[f+4>>2]=a[i+4>>2];a[f+8>>2]=a[i+8>>2];a[f+12>>2]=a[i+12>>2];i=+bP(l,n,f)>0.0&1;k=r;return i|0}function wP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0,h=0.0;k=+b[A>>3];o=+b[r+8>>3];h=+b[i+8>>3];w=(o-h)*k;u=+b[e>>3];s=+b[r>>3];c=+b[e+8>>3];l=+b[A+8>>3];t=c-l;a=+b[i>>3];n=w+u*(h-o)+t*s+a*(l-c);if(n==0.0)r=0;else{o=(a*(l-o)+w+(h-l)*s)/n;h=-(a*t+((h-c)*k+(l-h)*u))/n;b[f>>3]=o*(u-k)+k;b[f+8>>3]=t*o+l;r=h<=1.0&(h>=0.0&(o>=0.0&o<=1.0))&1}return r|0}function uP(A,e,i){A=A|0;e=e|0;i=+i;var r=0,f=0,n=0.0,l=0;a[A+20>>2]=e;LK(e);l=A+24|0;b[l>>3]=+b[e+8>>3]+i;r=a[46856]|0;r=r+((kP(A)|0)*40|0)|0;while(1){f=r+32|0;r=a[f>>2]|0;if(!r)break;i=+b[l>>3];n=+b[r+24>>3];if(i>n)continue;if(!(i==n))break;if(!(+b[e>>3]>+b[a[r+20>>2]>>3]))break}a[A+32>>2]=r;a[f>>2]=A;a[46857]=(a[46857]|0)+1;return}function kP(A){A=A|0;var e=0.0,i=0,r=0.0;i=a[46858]|0;r=+(i|0);e=(+b[A+24>>3]-+b[23273])/+b[23275]*r;do{if(!(e<0.0))if(!(e>=r)){A=~~e;break}else{A=i+-1|0;break}else A=0}while(0);if((A|0)<(a[46859]|0))a[46859]=A;return A|0}function oP(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;if(a[i>>2]|0){e=a[46856]|0;e=e+((kP(A)|0)*40|0)|0;do{r=e+32|0;e=a[r>>2]|0}while((e|0)!=(A|0));a[r>>2]=a[A+32>>2];a[46857]=(a[46857]|0)+-1;mK(a[i>>2]|0);a[i>>2]=0}return}function hP(){return(a[46857]|0)==0|0}function dP(A){A=A|0;var e=0,i=0,r=0,f=0.0;e=a[46856]|0;i=a[46859]|0;while(1){r=a[e+(i*40|0)+32>>2]|0;if(r|0)break;r=i+1|0;a[46859]=r;i=r}f=+b[r+24>>3];b[A>>3]=+b[a[r+20>>2]>>3];b[A+8>>3]=f;return}function BP(){var A=0,e=0;e=(a[46856]|0)+((a[46859]|0)*40|0)+32|0;A=a[e>>2]|0;a[e>>2]=a[A+32>>2];a[46857]=(a[46857]|0)+-1;return A|0}function vP(){L2(a[46856]|0);a[46856]=0;return}function gP(){var A=0,e=0,i=0;a[46857]=0;a[46859]=0;A=a[46855]|0;e=A<<2;a[46858]=e;i=a[46856]|0;if(!i){i=$F(A*160|0)|0;a[46856]=i;e=a[46858]|0}A=0;while(1){if((A|0)>=(e|0))break;a[i+(A*40|0)+32>>2]=0;A=A+1|0}return}function EP(){jO(187448,40);L2(a[46865]|0);a[46865]=0;return}function CP(){var A=0,e=0,i=0;jO(187448,40);A=a[46855]|0;e=A<<1;a[46866]=e;i=a[46865]|0;if(!i){i=$F(A<<3)|0;a[46865]=i;e=a[46866]|0}A=0;while(1){if((A|0)>=(e|0))break;a[i+(A<<2)>>2]=0;A=A+1|0}a[46860]=IP(0,0)|0;a[46861]=IP(0,0)|0;a[a[46860]>>2]=0;i=a[46861]|0;e=a[46860]|0;a[e+4>>2]=i;a[i>>2]=e;a[(a[46861]|0)+4>>2]=0;i=a[46865]|0;a[i>>2]=a[46860];a[i+((a[46866]|0)+-1<<2)>>2]=a[46861];return}function IP(A,e){A=A|0;e=e|0;var i=0;i=PO(187448)|0;a[i+8>>2]=A;r[i+16>>0]=e;a[i+32>>2]=0;a[i+20>>2]=0;a[i+12>>2]=0;return i|0}function ZP(A,e){A=A|0;e=e|0;var i=0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0.0,w=0.0,u=0.0,k=0,o=0.0,h=0.0;l=a[A+8>>2]|0;c=a[e+8>>2]|0;do{if((!((l|0)==0|(c|0)==0)?(k=a[l+36>>2]|0,i=a[c+36>>2]|0,(k|0)!=(i|0)):0)?(t=+b[l>>3],f=+b[c+8>>3],n=+b[l+8>>3],s=+b[c>>3],w=f*t-s*n,!(w>-1.0e-10&w<1.0e-10)):0){o=+b[l+16>>3];h=+b[c+16>>3];u=(o*f-h*n)/w;t=(h*t-o*s)/w;f=+b[k+8>>3];n=+b[i+8>>3];do{if(f>3]<+b[i>>3]:0){i=k;break}A=e}}while(0);A=r[A+16>>0]|0;if(!(u>=+b[i>>3])){if(A<<24>>24==1){A=0;break}}else if(!(A<<24>>24)){A=0;break}A=ZK()|0;a[A+20>>2]=0;b[A>>3]=u;b[A+8>>3]=t}else A=0}while(0);return A|0}function GP(A,e){A=A|0;e=e|0;var i=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0,s=0.0,w=0,u=0,k=0.0,o=0;u=a[A+8>>2]|0;c=a[u+36>>2]|0;s=+b[e>>3];k=+b[c>>3];w=s>k;o=r[A+16>>0]|0;if(w)if(!(o<<24>>24))A=1;else f=4;else if(o<<24>>24==1)A=0;else f=4;if((f|0)==4){i=+b[u>>3];A:do{if(i==1.0){i=+b[e+8>>3];n=i-+b[c+8>>3];l=s-k;t=+b[u+8>>3];e=t<0.0;do{if(w?t>=0.0:e){if(n>=t*l){A=1;break A}}else{A=t*i+s>+b[u+16>>3];if(e)if(A){A=0;break A}else break;else if(A)break;else{A=0;break A}}}while(0);k=k-+b[a[u+32>>2]>>3];A=t*(l*l-n*n)>3]-s*i;t=+b[e+8>>3]-l;k=s-k;s=l-+b[c+8>>3];A=t*t>s*s+k*k}}while(0);A=(A^o<<24>>24!=0)&1}return A|0}function QP(A,e){A=A|0;e=e|0;a[e>>2]=A;A=A+4|0;a[e+4>>2]=a[A>>2];a[a[A>>2]>>2]=e;a[A>>2]=e;return}function mP(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;f=a[46866]|0;e=~~((+b[A>>3]-+b[23272])/+b[23274]*+(f|0));e=(e|0)>0?e:0;f=(e|0)<(f|0)?e:f+-1|0;e=LP(f)|0;if(!e){i=1;while(1){e=LP(f-i|0)|0;if(e|0)break;e=LP(i+f|0)|0;if(e|0)break;i=i+1|0}a[46867]=(a[46867]|0)+i}a[46868]=(a[46868]|0)+1;r=a[46860]|0;i=a[46861]|0;A:do{if((e|0)==(r|0))n=9;else{if((e|0)!=(i|0)?(GP(e,A)|0)!=0:0){n=9;break}while(1){e=a[e>>2]|0;if((e|0)==(r|0))break A;if(GP(e,A)|0){r=e;break}}}}while(0);if((n|0)==9){while(1){e=a[e+4>>2]|0;if((e|0)==(i|0))break;if(!(GP(e,A)|0))break;else n=9}r=a[e>>2]|0}if((f|0)>0?(f|0)<((a[46866]|0)+-1|0):0){e=(a[46865]|0)+(f<<2)|0;i=a[e>>2]|0;if(i|0){n=i+12|0;a[n>>2]=(a[n>>2]|0)+-1}a[e>>2]=r;n=r+12|0;a[n>>2]=(a[n>>2]|0)+1}return r|0}function LP(A){A=A|0;var e=0,i=0;if((A|0)>-1&(a[46866]|0)>(A|0)?(i=(a[46865]|0)+(A<<2)|0,e=a[i>>2]|0,(e|0)!=0):0){if((a[e+8>>2]|0)==(-2|0)){a[i>>2]=0;A=e+12|0;i=(a[A>>2]|0)+-1|0;a[A>>2]=i;if(!i){OO(e,187448);e=0}else e=0}}else e=0;return e|0}function WP(A){A=A|0;var e=0,i=0;e=A+4|0;i=a[A>>2]|0;a[i+4>>2]=a[e>>2];a[a[e>>2]>>2]=i;a[A+8>>2]=-2;return}function yP(A){A=A|0;return a[A+4>>2]|0}function zP(A){A=A|0;return a[A>>2]|0}function YP(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(!e)A=187672;else A=(r[A+16>>0]|0)==0?e+32|0:e+36|0;return a[A>>2]|0}function DP(A){A=A|0;var e=0;e=a[A+8>>2]|0;if(!e)A=187672;else A=(r[A+16>>0]|0)==0?e+36|0:e+32|0;return a[A>>2]|0}function MP(){jO(187480,24);return}function FP(A,e,i){A=A|0;e=+e;i=+i;var r=0,f=0,n=0,l=0,t=0;t=k;k=k+32|0;l=t;n=(a[46869]|0)+((a[A+16>>2]|0)*96|0)+88|0;f=a[n>>2]|0;b[l+8>>3]=e;b[l+16>>3]=i;r=VP(A,l,f)|0;do{if(r|0){if((r|0)<0){l=PO(187480)|0;b[l+8>>3]=e;b[l+16>>3]=i;a[l>>2]=f;a[n>>2]=l;break}while(1){r=a[f>>2]|0;n=VP(A,l,r)|0;if((n|0)>0)f=r;else break}if(n|0){l=PO(187480)|0;b[l+8>>3]=e;b[l+16>>3]=i;a[f>>2]=l;a[l>>2]=r}}}while(0);k=t;return}function VP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,a=0.0,n=0.0,l=0.0,t=0.0,c=0.0;do{if(i){f=+b[e+8>>3];l=+b[i+8>>3];r=+b[e+16>>3];a=+b[i+16>>3];if(!(f==l&r==a)){c=+b[A>>3];t=f-c;f=+b[A+8>>3];n=r-f;l=l-c;r=a-f;if(!(t>=0.0)){if(l>=0.0){e=1;break}f=r/l;r=n/t;if(rf){e=1;break}e=t>l?-1:1;break}if(!(l<0.0)){e=l>0.0;if(!(t>0.0)){if(e){e=!(n<=0.0)?1:-1;break}if(n0.0?-1:1;break}f=r/l;r=n/t;if(rf){e=1;break}e=t>2]|0;i=A+(i*20|0)+4|0;e=1;A=0;while(1){if((e|0)>=(f|0))break;n=A+((a[r+(a[(a[i>>2]|0)+(e<<2)>>2]<<2)>>2]|0)>0&1)|0;e=e+1|0;A=n}return A|0}function NP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+(e*20|0)|0;e=A+(e*20|0)+4|0;A=1;while(1){if((A|0)>=(a[r>>2]|0))break;a[i+(a[(a[e>>2]|0)+(A<<2)>>2]<<2)>>2]=1;A=A+1|0}return}function XP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+(e*20|0)|0;e=A+(e*20|0)+4|0;A=1;while(1){if((A|0)>=(a[r>>2]|0))break;a[i+(a[(a[e>>2]|0)+(A<<2)>>2]<<2)>>2]=0;A=A+1|0}return}function RP(A,e){A=A|0;e=e|0;if(!(a[A+8>>2]|0))A=pP(A,e)|0;else A=HP(A,e)|0;return A|0}function HP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=e<<2;r=$F(U(f,e)|0)|0;f=$F(f)|0;i=0;while(1){if((i|0)>=(e|0)){i=0;break}a[f+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}while(1){if((i|0)>=(e|0))break;pS(i,A,e,a[f+(i<<2)>>2]|0);i=i+1|0}return f|0}function pP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=k;k=k+16|0;f=l;n=e<<2;r=$F(U(n,e)|0)|0;n=$F(n)|0;i=0;while(1){if((i|0)>=(e|0))break;a[n+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}lS(f,e);i=0;while(1){if((i|0)>=(e|0))break;rS(i,A,e,a[n+(i<<2)>>2]|0,f);i=i+1|0}tS(f);k=l;return n|0}function UP(A,e){A=A|0;e=e|0;var i=0,r=0;r=a[A+8>>2]|0;xP(A,e);i=HP(A,e)|0;TP(A,e,r);return i|0}function xP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,b=0,s=0,w=0,u=0;s=$F(e<<2)|0;i=0;r=0;while(1){if((i|0)>=(e|0))break;b=(a[A+(i*20|0)>>2]|0)+r|0;i=i+1|0;r=b}r=$F(r<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;a[s+(i<<2)>>2]=0;i=i+1|0}f=0;while(1){if((f|0)>=(e|0))break;a[A+(f*20|0)+8>>2]=r;NP(A,f,s);n=A+(f*20|0)|0;l=a[n>>2]|0;t=A+(f*20|0)+4|0;b=l+-2|0;i=1;while(1){if((i|0)>=(l|0))break;w=a[(a[t>>2]|0)+(i<<2)>>2]|0;u=a[A+(w*20|0)>>2]|0;c[r+(i<<2)>>2]=+(b+u-((JP(A,0,w,s)|0)<<1)|0);i=i+1|0}XP(A,f,s);r=r+(a[n>>2]<<2)|0;f=f+1|0}L2(s);return}function TP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+8|0;L2(a[r>>2]|0);a[r>>2]=0;A:do{if(i|0){r=0;while(1){if((r|0)>=(e|0))break A;a[A+(r*20|0)+8>>2]=i;f=i+(a[A+(r*20|0)>>2]<<2)|0;r=r+1|0;i=f}}}while(0);return}function jP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0.0,l=0.0,t=0;f=0;n=0.0;while(1){if((f|0)>=(e|0))break;t=a[A+(f<<2)>>2]|0;l=+b[t+(i<<3)>>3]-+b[t+(r<<3)>>3];f=f+1|0;n=l*l+n}return+ +z(+n)}function SP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((r|0)>(i|0)){a[46873]=A;K4(e+(i<<2)|0,1-i+r|0,4,77)}return}function PP(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,f=0;f=a[46873]|0;r=+c[f+(a[A>>2]<<2)>>2];i=+c[f+(a[e>>2]<<2)>>2];return(ri&1)|0}function OP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;l=k;k=k+16|0;f=l;if((i|0)<(r|0)){KP(A,e,i,r,f);n=a[f>>2]|0;f=n+-1|0;OP(A,e,i,f);n=n+1|0;OP(A,e,n,r);if(!(_P(A,e,i,f)|0))OP(A,e,i,f);if(!(_P(A,e,n,r)|0))OP(A,e,n,r)}k=l;return}function KP(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0.0,w=0,u=0;n=a8()|0;n=e+(((((a8()|0)<<16|n)>>>0)%((1-i+r|0)>>>0)|0)+i<<2)|0;t=a[n>>2]|0;c=e+(i<<2)|0;a[n>>2]=a[c>>2];a[c>>2]=t;s=+b[A+(t<<3)>>3];n=i+1|0;i=r;A:while(1){if((n|0)>=(i|0))break;while(1){if((n|0)>=(i|0))break;if(!(+b[A+(a[e+(n<<2)>>2]<<3)>>3]<=s))break;n=n+1|0}while(1){if((n|0)>=(i|0))continue A;r=e+(i<<2)|0;l=a[r>>2]|0;if(!(+b[A+(l<<3)>>3]>s))break;i=i+-1|0}u=e+(n<<2)|0;w=a[u>>2]|0;a[u>>2]=l;a[r>>2]=w;n=n+1|0;i=i+-1|0}u=n+((+b[A+(a[e+(n<<2)>>2]<<3)>>3]>s)<<31>>31)|0;a[f>>2]=u;u=e+(u<<2)|0;a[c>>2]=a[u>>2];a[u>>2]=t;return}function _P(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=1;while(1){f=i+1|0;if(!((i|0)<(r|0)&(n|0)!=0))break;n=+b[A+(a[e+(i<<2)>>2]<<3)>>3]>+b[A+(a[e+(f<<2)>>2]<<3)>>3]?0:n;i=f}return n|0}function qP(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0.0;I=k;k=k+16|0;E=4;C=m2(40)|0;a[C>>2]=0;v=I;d=0;g=iA(23,e*40|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)!=1){i=0;o=0;while(1){if((i|0)>=(e|0))break;h=(a[(a[A+(i<<2)>>2]|0)+4>>2]|0)+o|0;i=i+1|0;o=h}d=0;h=iA(23,o*24|0)|0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)!=1){i=0;s=0;while(1){if((s|0)>=(e|0))break;w=g+(s*40|0)|0;a[w>>2]=h+(i*24|0);u=A+(s<<2)|0;f=0;n=1797693134862315708145274.0e284;l=-1797693134862315708145274.0e284;t=-1797693134862315708145274.0e284;c=1797693134862315708145274.0e284;while(1){r=a[u>>2]|0;if((f|0)>=(a[r+4>>2]|0))break;r=a[r>>2]|0;G=+b[r+(f<<4)>>3];Z=+b[r+(f<<4)+8>>3];b[h+(i*24|0)>>3]=G;b[h+(i*24|0)+8>>3]=Z;a[h+(i*24|0)+16>>2]=w;a[h+(i*24|0)+20>>2]=0;f=f+1|0;i=i+1|0;n=nG?l:G;t=t>Z?t:Z;c=c>2]=h+((i+-1|0)*24|0);b[g+(s*40|0)+8>>3]=n;b[g+(s*40|0)+16>>3]=c;b[g+(s*40|0)+24>>3]=l;b[g+(s*40|0)+32>>3]=t;s=s+1|0}a[v>>2]=o;a[v+4>>2]=e;C=L6(187496,1,C|0,E|0)|0;E=L;d=0;i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){i=L;u=h;s=h;w=g}else{i=0;u=h;s=h;w=g}}else{i=L;u=0;s=h;w=g}}else{i=L;u=0;s=0;w=0}while(1){if(i|0){d=0;sA(105,g|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}d=0;sA(105,s|0);i=d;d=0;if((i|0)!=0&(B|0)!=0){r=W6(a[i>>2]|0,C|0,E|0)|0;if(!r)fe(i|0,B|0);L=B}else r=-1;if((r|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}else{r=17;break}}d=0;i=rA(78,u|0,v|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}if(!i){d=0;i=aA(24,A|0,e|0,w|0)|0;r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}}d=0;sA(105,g|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h;continue}d=0;sA(105,s|0);r=d;d=0;if((r|0)!=0&(B|0)!=0){f=W6(a[r>>2]|0,C|0,E|0)|0;if(!f)fe(r|0,B|0);L=B}else f=-1;if((f|0)==1){f=w;o=s;h=u;i=L;w=f;s=o;u=h}else{r=24;break}}if((r|0)==17)i=0;else if((r|0)==24)i=(i|0)==0&1;L2(C|0);k=I;return i|0}function $P(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;h=E;u=E+8|0;o=E+4|0;a[e+8>>2]=0;g=$F(a[e>>2]<<2)|0;f=a[e>>2]|0;r=0;while(1){if((r|0)>=(f|0))break;a[g+(r<<2)>>2]=A+(r*24|0);r=r+1|0}K4(g,f,4,79);s=0;n=0;f=0;l=0;A:while(1){if((s|0)>=(a[e>>2]|0)){B=0;i=n;v=l;break}w=g+(s<<2)|0;r=a[w>>2]|0;a[u>>2]=r;A=a[r+16>>2]|0;if((a[A>>2]|0)==(r|0))r=a[A+4>>2]|0;else r=r+-24|0;a[o>>2]=r;b=0;A=n;c=l;while(1){if((b|0)>=2)break;switch(eO(u,o)|0){case-1:{n=0;l=A;while(1){if((n|0)>=(c|0))break;t=iO(a[l>>2]|0,r)|0;if(t|0){B=t;i=A;v=c;break A}n=n+1|0;l=a[l+4>>2]|0}n=$F(12)|0;if(!c){f=0;A=n}else a[f+4>>2]=n;a[n+8>>2]=f;a[n>>2]=r;a[n+4>>2]=0;a[r+20>>2]=n;l=c+1|0;break}case 1:{r=r+20|0;n=a[r>>2]|0;if(!n){d=19;break A}do{if((c|0)!=1){if((n|0)==(A|0)){A=a[A+4>>2]|0;a[A+8>>2]=0;break}if((n|0)==(f|0)){f=a[f+8>>2]|0;a[f+4>>2]=0;break}else{t=n+4|0;l=a[n+8>>2]|0;a[l+4>>2]=a[t>>2];a[(a[t>>2]|0)+8>>2]=l;break}}else{A=0;f=0}}while(0);L2(n);a[r>>2]=0;n=f;l=c+-1|0;break}default:{n=f;l=c}}r=a[w>>2]|0;f=a[r+16>>2]|0;if((r|0)==(a[f+4>>2]|0))f=a[f>>2]|0;else f=r+24|0;a[o>>2]=f;b=b+1|0;f=n;c=l}s=s+1|0;n=A;l=c}if((d|0)==19){ao(1,93727,h)|0;fe(187496,1)}r=0;while(1){if((r|0)>=(v|0))break;d=a[i+4>>2]|0;L2(i);r=r+1|0;i=d}L2(g);k=E;return B|0}function AO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0,E=0.0,C=0.0,I=0.0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,y=0.0;W=k;k=k+48|0;u=W+24|0;w=W+16|0;g=W;r=0;A:while(1){if((r|0)>=(e|0)){r=0;break}G=a[A+(r<<2)>>2]|0;Q=a[G>>2]|0;a[g>>2]=a[Q>>2];a[g+4>>2]=a[Q+4>>2];a[g+8>>2]=a[Q+8>>2];a[g+12>>2]=a[Q+12>>2];Q=r+1|0;m=i+(r*40|0)+8|0;o=i+(r*40|0)+24|0;h=i+(r*40|0)+32|0;n=i+(r*40|0)+16|0;r=Q;while(1){if((r|0)>=(e|0)){r=Q;continue A}l=a[A+(r<<2)>>2]|0;t=+b[m>>3];c=+b[i+(r*40|0)+24>>3];s=!(t<=c);f=+b[i+(r*40|0)+8>>3];if((((!(s|!(t>=f))?(d=+b[n>>3],B=+b[i+(r*40|0)+32>>3],d<=B):0)?(v=+b[i+(r*40|0)+16>>3],d>=v):0)?(y=+b[o>>3],!(!(y<=c)|!(y>=f))):0)?(y=+b[h>>3],!(!(y<=B)|!(y>=v))):0){a[w>>2]=a[l>>2];a[w+4>>2]=a[l+4>>2];a[u>>2]=a[g>>2];a[u+4>>2]=a[g+4>>2];a[u+8>>2]=a[g+8>>2];a[u+12>>2]=a[g+12>>2];if(Dt(w,u)|0){r=1;break A}}else L=11;if((((((L|0)==11?(L=0,E=+b[o>>3],!(!(f<=E)|!(f>=t))):0)?(C=+b[i+(r*40|0)+16>>3],I=+b[h>>3],C<=I):0)?(Z=+b[n>>3],!(!(C>=Z)|(!(c<=E)|s))):0)?(y=+b[i+(r*40|0)+32>>3],!(!(y<=I)|!(y>=Z))):0)?(s=a[l>>2]|0,a[w>>2]=a[G>>2],a[w+4>>2]=a[G+4>>2],a[u>>2]=a[s>>2],a[u+4>>2]=a[s+4>>2],a[u+8>>2]=a[s+8>>2],a[u+12>>2]=a[s+12>>2],Dt(w,u)|0):0){r=1;break A}r=r+1|0}}k=W;return r|0}function eO(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=a[A>>2]|0;A=a[e>>2]|0;i=+b[r>>3]-+b[A>>3];if(!(i!=0.0)){i=+b[r+8>>3]-+b[A+8>>3];if(i==0.0)A=0;else A=i>0.0?1:-1}else A=i>0.0?1:-1;return A|0}function iO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0;s=k;k=k+64|0;n=s+32|0;l=s+24|0;t=s+16|0;c=s;f=s+48|0;rO(A,e,f);i=f+8|0;r=a[i>>2]|0;do{if((r|0)>0)i=0;else{if((r|0)<0){rO(e,A,f);i=a[i>>2]|0;if((i|0)>0){i=0;break}if((i|0)<0)i=3;else{i=a[f>>2]|0;i=fO(e,A,(i|0)>-1?i:0-i|0)|0}if(!(aO(A,e,l,t,i)|0)){i=0;break}}else{i=a[f>>2]|0;if((i|0)==(a[f+4>>2]|0)){i=fO(A,e,0)|0;i=(fO(A,e,(i|0)<=(fO(A,e,1)|0)&1)|0)<<1}else i=fO(A,e,(i|0)>-1?i:0-i|0)|0;if(!(aO(A,e,l,t,i)|0)){i=0;break}}b[c>>3]=+b[l>>3];b[c+8>>3]=+b[t>>3];a[n>>2]=a[c>>2];a[n+4>>2]=a[c+4>>2];a[n+8>>2]=a[c+8>>2];a[n+12>>2]=a[c+12>>2];i=nO(A,e,n)|0}}while(0);k=s;return i|0}function rO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;l=+b[A>>3];t=+b[A+8>>3];r=a[A+16>>2]|0;if((a[r+4>>2]|0)==(A|0)){A=a[r>>2]|0;r=A}else{r=A+24|0;A=A+24|0}n=+b[r>>3]-l;f=+b[A+8>>3]-t;r=a[e+16>>2]|0;if((a[r+4>>2]|0)==(e|0)){A=a[r>>2]|0;r=A}else{r=e+24|0;A=e+24|0}c=+b[r>>3]-l;s=+b[A+8>>3]-t;t=(+b[e+8>>3]-t)*n-(+b[e>>3]-l)*f;e=t==0.0?0:t>0.0?1:-1;a[i>>2]=e;t=s*n-c*f;A=t==0.0?0:t>0.0?1:-1;a[i+4>>2]=A;a[i+8>>2]=U(A,e)|0;return}function fO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;c=+b[A>>3];s=+b[A+8>>3];f=a[A+16>>2]|0;if((a[f+4>>2]|0)==(A|0))A=a[f>>2]|0;else A=A+24|0;t=+b[A>>3];l=+b[A+8>>3];do{if(i){A=a[e+16>>2]|0;if((a[A+4>>2]|0)==(e|0)){e=a[A>>2]|0;break}else{e=e+24|0;break}}}while(0);n=+b[e>>3];r=+b[e+8>>3];if(c==t)if(c==n)e=(tO(s,r,l)|0)!=-1&1;else e=0;else e=tO(c,n,t)|0;return e|0}function aO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,k=0.0,o=0.0;A:do{if((f|0)<1)n=0;else{u=+b[A>>3];o=+b[A+8>>3];n=a[A+16>>2]|0;if((a[n+4>>2]|0)==(A|0))n=a[n>>2]|0;else n=A+24|0;s=+b[n>>3];t=+b[n+8>>3];w=+b[e>>3];k=+b[e+8>>3];n=a[e+16>>2]|0;if((a[n+4>>2]|0)==(e|0))n=a[n>>2]|0;else n=e+24|0;c=+b[n>>3];l=+b[n+8>>3];e:do{switch(f|0){case 3:{if(u==s){b[i>>3]=u;l=(k-l)/(w-c)*(u-c)+l;break e}if(w==c){b[i>>3]=w;l=(o-t)/(u-s)*(w-s)+t;break e}else{c=(k-l)/(w-c);s=(o-t)/(u-s);k=k-c*w;o=o-s*u;l=c-s;b[i>>3]=(o-k)/l;l=(c*o-k*s)/l;break e}}case 2:{if((fO(A,e,0)|0)==-1)if((fO(e,A,1)|0)==-1){f=(fO(e,A,0)|0)==-1;s=f?s:u;c=w;t=f?t:o;l=k}else{s=c;c=w;t=l;l=k}else if((fO(A,e,1)|0)!=-1)if((fO(e,A,0)|0)==-1){c=u;l=o}else{n=0;break A}else{s=w;t=k}b[i>>3]=(c+s)*.5;l=(l+t)*.5;break}case 1:if((k-o)*(u-s)==(w-u)*(o-t)){b[i>>3]=w;l=k;break e}else{b[i>>3]=c;break e}default:{n=1;break A}}}while(0);b[r>>3]=l;n=1}}while(0);return n|0}function nO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;u=+b[A>>3];o=+b[A+8>>3];r=a[A+16>>2]|0;if((a[r+4>>2]|0)==(A|0))r=a[r>>2]|0;else r=A+24|0;s=+b[r>>3];t=+b[r+8>>3];c=+b[e>>3];w=+b[e+8>>3];r=a[e+16>>2]|0;if((a[r+4>>2]|0)==(e|0))r=a[r>>2]|0;else r=e+24|0;l=+b[r>>3];n=+b[r+8>>3];A:do{if(!(u!=s&c!=l)){do{if(u==s){f=+b[i>>3];if(u==f?o==+b[i+8>>3]:0)break;if(!(s==f)){d=18;break A}if(!(t==+b[i+8>>3])){d=18;break A}}}while(0);if(c==l){f=+b[i>>3];if(c==f?w==+b[i+8>>3]:0){r=0;break}if(l==f?n==+b[i+8>>3]:0)r=0;else d=18}else r=0}else d=18}while(0);if((d|0)==18)if(0>1){r=a[15712]|0;o=+b[i+8>>3];b[h>>3]=+b[i>>3];b[h+8>>3]=o;f3(r,93756,h)|0;lO(1,A);lO(2,e);r=1}else r=1;k=B;return r|0}function lO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0.0,w=0.0;c=k;k=k+48|0;t=c;f=a[15712]|0;n=+b[e>>3];l=+b[e+8>>3];i=a[e+16>>2]|0;if((a[i+4>>2]|0)==(e|0)){i=a[i>>2]|0;r=i}else{r=e+24|0;i=e+24|0}w=+b[r>>3];s=+b[i+8>>3];a[t>>2]=A;b[t+8>>3]=n;b[t+16>>3]=l;b[t+24>>3]=w;b[t+32>>3]=s;f3(f,93784,t)|0;k=c;return}function tO(A,e,i){A=+A;e=+e;i=+i;return(A==e|e==i?0:(A>3]=0.0;r=r+1|0}b[f+(A<<3)>>3]=1.0;gu(a[e+(A<<2)>>2]|0,f,i);A=A+1|0}L2(f);f=0;while(1){if((f|0)>=(i|0)){A=1;break A}r=e+(f<<2)|0;A=0;while(1){if((A|0)==(f|0))break;t=(a[r>>2]|0)+(A<<3)|0;l=+b[t>>3];n=(a[e+(A<<2)>>2]|0)+(f<<3)|0;b[t>>3]=+b[n>>3];b[n>>3]=l;A=A+1|0}f=f+1|0}}}while(0);return A|0}function bO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,c=0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0;h=e<<3;o=$F(h)|0;h=$F(h)|0;d=e*30|0;u=(i|0)<(e|0)?i:e;k=e+-1|0;w=(n|0)==0;i=0;l=0;A:while(1){if((l|0)>=(u|0))break;c=a[r+(l<<2)>>2]|0;do{e:do{if(w)i=0;else{i=0;while(1){if((i|0)==(e|0)){i=0;break e}b[c+(i<<3)>>3]=+((a8()|0)%100|0|0);i=i+1|0}}}while(0);while(1){if((i|0)==(l|0))break;n=a[r+(i<<2)>>2]|0;wO(c,0,k,-+sO(n,0,k,c),n);i=i+1|0}t=+uO(c,0,k)}while(t<1.0e-10);kO(c,0,k,1.0/t,c);i=0;do{oO(h,0,k,c);hO(A,e,e,c,o);oO(c,0,k,o);n=0;while(1){if((n|0)==(l|0))break;B=a[r+(n<<2)>>2]|0;wO(c,0,k,-+sO(B,0,k,c),B);n=n+1|0}B=i;i=i+1|0;t=+uO(c,0,k);if(!((B|0)<(d|0)&!(t<1.0e-10)))break A;kO(c,0,k,1.0/t,c);s=+sO(c,0,k,h)}while(+y(+s)<.999);b[f+(l<<3)>>3]=s*t;l=l+1|0}while(1){if((l|0)>=(u|0))break;c=a[r+(l<<2)>>2]|0;n=0;while(1){if((n|0)>=(e|0)){n=0;break}b[c+(n<<3)>>3]=+((a8()|0)%100|0|0);n=n+1|0}while(1){if((n|0)>=(l|0))break;B=a[r+(n<<2)>>2]|0;wO(c,0,k,-+sO(B,0,k,c),B);n=n+1|0}kO(c,0,k,1.0/+uO(c,0,k),c);b[f+(l<<3)>>3]=0.0;l=l+1|0}w=u+-1|0;l=0;while(1){if((l|0)>=(w|0))break;A=f+(l<<3)|0;e=l+1|0;t=+b[A>>3];n=l;c=e;while(1){if((c|0)>=(u|0))break;s=+b[f+(c<<3)>>3];B=t>2]|0);B=r+(n<<2)|0;oO(a[c>>2]|0,0,k,a[B>>2]|0);oO(a[B>>2]|0,0,k,o);b[f+(n<<3)>>3]=+b[A>>3];b[A>>3]=t;l=e}L2(o);L2(h);return(i|0)<=(d|0)|0}function sO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0;a=0.0;f=1-e+i|0;r=r+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!f)break;a=+b[r>>3]*+b[i>>3]+a;f=f+-1|0;r=r+8|0;i=i+8|0}return+a}function wO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0;a=1-e+i|0;f=f+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!a)break;b[i>>3]=+b[i>>3]+ +b[f>>3]*r;a=a+-1|0;f=f+8|0;i=i+8|0}return}function uO(A,e,i){A=A|0;e=e|0;i=i|0;return+ +z(+ +sO(A,e,i,A))}function kO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=f|0;var a=0;a=1-e+i|0;f=f+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!a)break;b[i>>3]=+b[f>>3]*r;a=a+-1|0;f=f+8|0;i=i+8|0}return}function oO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=1-e+i|0;r=r+(e<<3)|0;i=A+(e<<3)|0;while(1){if(!f)break;b[i>>3]=+b[r>>3];f=f+-1|0;r=r+8|0;i=i+8|0}return}function hO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0,c=0;t=0;while(1){if((t|0)>=(e|0))break;c=A+(t<<2)|0;n=0.0;l=0;while(1){if((l|0)>=(i|0))break;n=+b[r+(l<<3)>>3]*+b[(a[c>>2]|0)+(l<<3)>>3]+n;l=l+1|0}b[f+(t<<3)>>3]=n;t=t+1|0}return}function dO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0.0,w=0,u=0,k=0,o=0.0;t=a[n>>2]|0;if(!t){k=i<<2;l=m2(U(k,f)|0)|0;k=m2(k)|0}else{k=i<<2;l=y2(a[t>>2]|0,U(k,f)|0)|0;k=y2(t,k)|0}a[n>>2]=k;t=0;while(1){if((t|0)>=(i|0)){n=0;break}a[k+(t<<2)>>2]=l;t=t+1|0;l=l+(f<<2)|0}while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;u=k+(n<<2)|0;t=0;while(1){if((t|0)<(f|0)){l=0;s=0.0}else break;while(1){if((l|0)>=(r|0))break;o=+b[(a[w>>2]|0)+(l<<3)>>3]*+c[(a[e+(l<<2)>>2]|0)+(t<<2)>>2]+s;l=l+1|0;s=o}c[(a[u>>2]|0)+(t<<2)>>2]=s;t=t+1|0}n=n+1|0}return}function BO(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,s=0.0,w=0,u=0,k=0;t=a[n>>2]|0;if(!t){l=m2(U(i<<3,f)|0)|0;k=m2(i<<2)|0}else{l=y2(a[t>>2]|0,U(i<<3,f)|0)|0;k=y2(t,i<<2)|0}a[n>>2]=k;t=0;while(1){if((t|0)>=(i|0)){n=0;break}a[k+(t<<2)>>2]=l;t=t+1|0;l=l+(f<<3)|0}while(1){if((n|0)>=(i|0))break;w=A+(n<<2)|0;u=k+(n<<2)|0;t=0;while(1){if((t|0)<(f|0)){s=0.0;l=0}else break;while(1){if((l|0)>=(r|0))break;s=+b[(a[w>>2]|0)+(l<<3)>>3]*+c[(a[e+(l<<2)>>2]|0)+(t<<2)>>2]+s;l=l+1|0}b[(a[u>>2]|0)+(t<<3)>>3]=s;t=t+1|0}n=n+1|0}return}function vO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,s=0,w=0,u=0,k=0,o=0,h=0;l=a[f>>2]|0;if(!l){n=m2(U(i*20|0,r)|0)|0;h=m2(i<<2)|0}else{n=y2(a[l>>2]|0,U(i*20|0,r)|0)|0;h=y2(l,i<<2)|0}a[f>>2]=h;l=0;while(1){if((l|0)>=(i|0)){f=0;break}a[h+(l<<2)>>2]=n;l=l+1|0;n=n+(r<<2)|0}while(1){if((f|0)>=(i|0))break;s=a[A+(f*20|0)+4>>2]|0;w=a[A+(f*20|0)+8>>2]|0;u=a[A+(f*20|0)>>2]|0;k=h+(f<<2)|0;n=0;while(1){if((n|0)>=(r|0))break;o=e+(n<<2)|0;t=0.0;l=0;while(1){if((l|0)>=(u|0))break;t=+b[(a[o>>2]|0)+(a[s+(l<<2)>>2]<<3)>>3]*+c[w+(l<<2)>>2]+t;l=l+1|0}c[(a[k>>2]|0)+(n<<2)>>2]=t;n=n+1|0}f=f+1|0}return}function gO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;i=0.0;r=e;f=A;while(1){if(!f)break;i=+b[r>>3]+i;r=r+8|0;f=f+-1|0}i=i/+(A|0);while(1){if(!A)break;b[e>>3]=+b[e>>3]-i;e=e+8|0;A=A+-1|0}return}function EO(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=(A|0))break;b[e+(i<<3)>>3]=+((a8()|0)%500|0|0);i=i+1|0}gO(A,e);return}function CO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,s=0,w=0;l=0;while(1){if((l|0)>=(e|0))break;t=a[A+(l*20|0)>>2]|0;s=A+(l*20|0)+8|0;w=A+(l*20|0)+4|0;f=0.0;n=0;while(1){if((n|0)>=(t|0))break;f=+b[i+(a[(a[w>>2]|0)+(n<<2)>>2]<<3)>>3]*+c[(a[s>>2]|0)+(n<<2)>>2]+f;n=n+1|0}b[r+(l<<3)>>3]=f;l=l+1|0}return}function IO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0;l=0;while(1){if((l|0)>=(e|0))break;t=A+(l<<2)|0;f=0.0;n=0;while(1){if((n|0)==(e|0))break;f=+b[i+(n<<3)>>3]*+c[(a[t>>2]|0)+(n<<2)>>2]+f;n=n+1|0}b[r+(l<<3)>>3]=f;l=l+1|0}return}function ZO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[e+(f<<3)>>3]-+b[i+(f<<3)>>3];f=f+1|0}return}function GO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[i+(f<<3)>>3]+ +b[e+(f<<3)>>3];f=f+1|0}return}function QO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;b[r+(f<<3)>>3]=+b[e+(f<<3)>>3]*i;f=f+1|0}return}function mO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;b[i+(r<<3)>>3]=+b[e+(r<<3)>>3];r=r+1|0}return}function LO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0;r=0.0;f=0;while(1){if((f|0)>=(A|0))break;r=+b[i+(f<<3)>>3]*+b[e+(f<<3)>>3]+r;f=f+1|0}return+r}function WO(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0;i=0;r=-1.e+50;while(1){if((i|0)>=(A|0))break;f=+y(+ +b[e+(i<<3)>>3]);i=i+1|0;r=f>r?f:r}return+r}function yO(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0,t=0;t=0;while(1){if((t|0)<(e|0)){n=0.0;l=0}else break;while(1){if((l|0)>=(i|0))break;n=+b[r+(l<<3)>>3]*+b[(a[A+(l<<2)>>2]|0)+(t<<3)>>3]+n;l=l+1|0}b[f+(t<<3)>>3]=n;t=t+1|0}return}function zO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0;i=0.0;r=e;f=A;while(1){if(!f)break;i=+c[r>>2]+i;r=r+4|0;f=f+-1|0}i=i/+(A|0);while(1){if(!A)break;c[e>>2]=+c[e>>2]-i;e=e+4|0;A=A+-1|0}return}function YO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0,l=0,t=0,b=0,s=0.0,w=0,u=0.0,k=0,o=0.0;f=0;while(1){if((f|0)>=(e|0)){n=0;t=0;w=e;break}c[r+(f<<2)>>2]=0.0;f=f+1|0}while(1){if((t|0)>=(e|0))break;s=+c[i+(t<<2)>>2];b=t+1|0;a=+c[A+(n<<2)>>2]*s;l=b;f=n;while(1){f=f+1|0;if((l|0)==(e|0))break;o=+c[A+(f<<2)>>2];u=+c[i+(l<<2)>>2]*o+a;k=r+(l<<2)|0;c[k>>2]=+c[k>>2]+o*s;a=u;l=l+1|0}k=r+(t<<2)|0;c[k>>2]=+c[k>>2]+a;n=n+w|0;t=b;w=w+-1|0}return}function DO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[e+(f<<2)>>2]-+c[i+(f<<2)>>2];f=f+1|0}return}function MO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[i+(f<<2)>>2]+ +c[e+(f<<2)>>2];f=f+1|0}return}function FO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0,a=0;f=0;while(1){if((f|0)>=(A|0))break;a=e+(f<<2)|0;c[a>>2]=+c[r+(f<<2)>>2]*i+ +c[a>>2];f=f+1|0}return}function VO(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0;f=0;while(1){if((f|0)>=(A|0))break;c[r+(f<<2)>>2]=+c[e+(f<<2)>>2]*i;f=f+1|0}return}function JO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;a[i+(r<<2)>>2]=a[e+(r<<2)>>2];r=r+1|0}return}function NO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0;r=0.0;f=0;while(1){if((f|0)>=(A|0))break;r=r+ +c[i+(f<<2)>>2]*+c[e+(f<<2)>>2];f=f+1|0}return+r}function XO(A,e,i){A=A|0;e=+e;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;b[i+(r<<3)>>3]=e;r=r+1|0}return}function RO(A,e,i){A=A|0;e=+e;i=i|0;var r=0;r=0;while(1){if((r|0)>=(A|0))break;c[i+(r<<2)>>2]=e;r=r+1|0}return}function HO(A,e){A=A|0;e=e|0;var i=0.0,r=0,f=0.0;i=-1000000015047466219876688.0e6;r=0;while(1){if((r|0)>=(A|0))break;f=+y(+ +c[e+(r<<2)>>2]);i=f>i?f:i;r=r+1|0}return+i}function pO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];c[r>>2]=f*f;i=i+1|0}return}function UO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];if(f!=0.0)c[r>>2]=1.0/f;i=i+1|0}return}function xO(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0;r=0;while(1){if((r|0)>=(A|0))break;f=+c[e+(r<<2)>>2];if(f>=0.0)c[i+(r<<2)>>2]=+z(+f);r=r+1|0}return}function TO(A,e){A=A|0;e=e|0;var i=0,r=0,f=0.0;i=0;while(1){if((i|0)>=(A|0))break;r=e+(i<<2)|0;f=+c[r>>2];if(f>0.0)c[r>>2]=1.0/+z(+f);i=i+1|0}return}function jO(A,e){A=A|0;e=e|0;var i=0;a[A>>2]=0;if(e&3)if(!(4%(e>>>0)|0))e=4;else e=U(4/((SO(e)|0)>>>0)|0,e)|0;a[A+8>>2]=e;A=A+4|0;e=a[A>>2]|0;A:do{if(e|0)while(1){if(!e)break A;i=a[e>>2]|0;L2(a[e+4>>2]|0);L2(e);e=i}}while(0);a[A>>2]=0;return}function SO(A){A=A|0;var e=0,i=0;i=4;A:while(1){e=i;while(1){if((e|0)==(A|0))break A;if((e|0)<=(A|0))break;e=e-A|0}i=e;A=A-e|0}return A|0}function PO(A){A=A|0;var e=0,i=0,r=0,f=0;e=a[A>>2]|0;if(!e){i=a[A+8>>2]|0;r=$F(8)|0;f=$F(U(a[46855]|0,i)|0)|0;a[r+4>>2]=f;e=0;while(1){if((e|0)>=(a[46855]|0))break;OO(f+(U(e,i)|0)|0,A);e=e+1|0}e=A+4|0;a[r>>2]=a[e>>2];a[e>>2]=r;e=a[A>>2]|0}a[A>>2]=a[e>>2];return e|0}function OO(A,e){A=A|0;e=e|0;a[A>>2]=a[e>>2];a[e>>2]=A;return}function KO(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,b=0,s=0,w=0;w=qF(e<<3)|0;s=A+8|0;f=a[s>>2]|0;_O(A,e,w);EO(e,i);n=0;l=0;while(1){if((l|0)>=(e|0))break;n=(a[A+(l*20|0)>>2]|0)+n|0;l=l+1|0}n=$F(n<<2)|0;t=0;while(1){if((t|0)>=(e|0))break;a[A+(t*20|0)+8>>2]=n;b=a[A+(t*20|0)>>2]|0;c[n>>2]=+(1-b|0);l=1;while(1){if((l|0)>=(b|0))break;c[n+(l<<2)>>2]=1.0;l=l+1|0}n=n+(b<<2)|0;t=t+1|0}l=sS(A,i,w,e,.001,r)|0;L2(a[s>>2]|0);n=0;while(1){if((n|0)>=(e|0))break;a[A+(n*20|0)+8>>2]=f;f=f+(a[A+(n*20|0)>>2]<<2)|0;n=n+1|0}L2(w);return l>>>31|0}function _O(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0,s=0,w=0;t=A+16|0;n=0;while(1){if((n|0)>=(e|0))break;if(a[t>>2]|0){s=a[A+(n*20|0)>>2]|0;w=A+(n*20|0)+8|0;l=A+(n*20|0)+16|0;r=0.0;f=1;while(1){if((f|0)>=(s|0))break;r=r+ +c[(a[l>>2]|0)+(f<<2)>>2]*+c[(a[w>>2]|0)+(f<<2)>>2];f=f+1|0}b[i+(n<<3)>>3]=r}n=n+1|0}return}function qO(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=+l;t=t|0;c=c|0;A=k;k=k+16|0;if(!(a[46913]|0)){a[46913]=1;ao(1,93820,A)|0}k=A;return}function $O(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0.0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0.0;d=$F(f<<2)|0;l=e<<3;n=0;while(1){if((n|0)>=(f|0))break;a[d+(n<<2)>>2]=$F(l)|0;n=n+1|0}o=$F(f<<3)|0;h=$F(e<<2)|0;n=$F(U(l,e)|0)|0;l=0;while(1){if((l|0)>=(e|0))break;a[h+(l<<2)>>2]=n;n=n+(e<<3)|0;l=l+1|0}c=0;k=1;while(1){if((c|0)>=(e|0))break;s=A+(c<<2)|0;w=h+(c<<2)|0;l=0;while(1){if((l|0)==(k|0))break;u=A+(l<<2)|0;n=0;t=0.0;while(1){if((n|0)>=(i|0))break;B=t+ +(U(a[(a[u>>2]|0)+(n<<2)>>2]|0,a[(a[s>>2]|0)+(n<<2)>>2]|0)|0);n=n+1|0;t=B}b[(a[h+(l<<2)>>2]|0)+(c<<3)>>3]=t;b[(a[w>>2]|0)+(l<<3)>>3]=t;l=l+1|0}c=c+1|0;k=k+1|0}bO(h,e,f,d,o,1)|0;l=0;while(1){if((l|0)>=(f|0)){n=0;break}s=d+(l<<2)|0;w=r+(l<<2)|0;c=0;while(1){if((c|0)<(i|0)){n=0;t=0.0}else break;while(1){if((n|0)>=(e|0))break;B=+b[(a[s>>2]|0)+(n<<3)>>3]*+(a[(a[A+(n<<2)>>2]|0)+(c<<2)>>2]|0)+t;n=n+1|0;t=B}b[(a[w>>2]|0)+(c<<3)>>3]=t;c=c+1|0}l=l+1|0}while(1){if((n|0)>=(f|0))break;L2(a[d+(n<<2)>>2]|0);n=n+1|0}L2(d);L2(o);L2(a[h>>2]|0);L2(h);return}function AK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0;f=k;k=k+32|0;n=f+16|0;c=f+20|0;t=f+12|0;l=f+8|0;a[n>>2]=r;a[t>>2]=0;a[l>>2]=0;lu(a[A>>2]|0,i,i<<2,c);vO(a[c>>2]|0,A,i,e,t);BO(A,a[t>>2]|0,e,i,e,l);L2(a[a[t>>2]>>2]|0);L2(a[t>>2]|0);r=(bO(a[l>>2]|0,e,1,n,f,1)|0)&255;k=f;return r|0}function eK(){a[46914]=0;L2(a[46915]|0);L2(a[46916]|0);L2(a[46917]|0);a[46915]=0;a[46916]=0;a[46917]=0;return}function iK(A){A=A|0;L2(a[A+36>>2]|0);return}function rK(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0;d=k;k=k+80|0;u=d+64|0;h=d+68|0;l=d+48|0;t=d+32|0;c=d+16|0;s=d;w=e+16|0;n=a[w>>2]|0;A:do{if(!(a[n+212>>2]|0))switch(sN(e)|0){case 1:{n=a[w>>2]|0;t=a[n+12>>2]|0;c=a[t+8>>2]|0;a[h>>2]=c;n=a[a[n+8>>2]>>2]|0;switch(r[n>>0]|0){case 98:{if(!(A1(n,108236)|0))o=11;else o=8;break}case 112:{if((A1(n,105721)|0)==0?(fK(a[t+44>>2]|0,c)|0)!=0:0)o=11;else o=8;break}default:o=8}do{if((o|0)==8)if((c|0)<3){a[A+40>>2]=(a[t>>2]|0)==0?0:2;o=17;break}else{n=A+40|0;a[n>>2]=0;break}else if((o|0)==11){n=A+40|0;a[n>>2]=1;if((c|0)<=2)o=17}}while(0);if((o|0)==17){l=aK(e,h,i,f)|0;o=21;break A}l=$F(c<<4)|0;t=t+44|0;if((a[n>>2]|0)==1){o=a[t>>2]|0;B=i;b[l>>3]=+b[o>>3]*.013888888888888888+B;i=f;b[l+8>>3]=+b[o+8>>3]*.013888888888888888+i;b[l+16>>3]=+b[o+16>>3]*.013888888888888888-B;b[l+24>>3]=+b[o+24>>3]*.013888888888888888+i;b[l+32>>3]=+b[o+32>>3]*.013888888888888888-B;b[l+40>>3]=+b[o+40>>3]*.013888888888888888-i;b[l+48>>3]=+b[o+48>>3]*.013888888888888888+B;b[l+56>>3]=+b[o+56>>3]*.013888888888888888-i;o=21;break A}n=0;while(1){if((n|0)>=(c|0)){o=21;break A}o=a[t>>2]|0;g=+b[o+(n<<4)>>3];B=+b[o+(n<<4)+8>>3];v=+z(+(B*B+g*g));b[l+(n<<4)>>3]=(i/v+1.0)*g*.013888888888888888;b[l+(n<<4)+8>>3]=(f/v+1.0)*B*.013888888888888888;n=n+1|0}}case 2:{a[h>>2]=4;o=$F(64)|0;e=a[(a[w>>2]|0)+12>>2]|0;E=+b[e+32>>3];v=+b[e+40>>3];u=~~+b[e+16>>3];e=~~+b[e+24>>3];g=-i;B=-f;nK(l,u,e,g,B);a[o>>2]=a[l>>2];a[o+4>>2]=a[l+4>>2];a[o+8>>2]=a[l+8>>2];a[o+12>>2]=a[l+12>>2];l=o+16|0;w=~~E;nK(t,w,e,i,B);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];l=o+32|0;e=~~v;nK(c,w,e,i,f);a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];l=o+48|0;nK(s,u,e,g,f);a[l>>2]=a[s>>2];a[l+4>>2]=a[s+4>>2];a[l+8>>2]=a[s+8>>2];a[l+12>>2]=a[s+12>>2];a[A+40>>2]=1;l=o;o=21;break A}case 3:{a[A+40>>2]=2;l=aK(e,h,i,f)|0;o=21;break A}default:{a[u>>2]=a[a[(a[w>>2]|0)+8>>2]>>2];ao(1,93883,u)|0;n=1;break A}}else{a[h>>2]=4;g=+b[n+32>>3]*.5+i;E=+b[n+40>>3]*.5+f;a[A+40>>2]=1;l=$F(64)|0;b[l>>3]=g;b[l+8>>3]=E;v=-g;b[l+16>>3]=v;b[l+24>>3]=E;b[l+32>>3]=v;E=-E;b[l+40>>3]=E;b[l+48>>3]=g;b[l+56>>3]=E;o=21}}while(0);if((o|0)==21){a[A+36>>2]=l;n=a[h>>2]|0;a[A+32>>2]=n;lK(l,n,A,A+16|0);if((n|0)>(a[46914]|0)){a[46914]=n;n=0}else n=0}k=d;return n|0}function fK(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;do{if((e|0)==4){i=+b[A+8>>3];e=A+16|0;r=+b[A+24>>3];if(i==r){if(!(+b[A+40>>3]==+b[A+56>>3])){e=0;break}if(!(+b[A>>3]==+b[A+48>>3])){e=0;break}e=+b[e>>3]==+b[A+32>>3];break}if((+b[A>>3]==+b[e>>3]?+b[A+32>>3]==+b[A+48>>3]:0)?i==+b[A+56>>3]:0)e=r==+b[A+40>>3];else e=0}else e=0}while(0);return e&1|0}function aK(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,n=0.0,l=0,t=0,c=0.0,s=0;f=po(A,102705)|0;if(!f)f=0;else f=q3(f)|0;l=(f|0)<3?20:f;t=$F(l<<4)|0;A=A+16|0;n=1.0/+(l|0);f=0;while(1){if((f|0)>=(l|0))break;s=a[A>>2]|0;c=n*+(f|0)*6.283185307179586;b[t+(f<<4)>>3]=(+b[s+32>>3]*.5+i)*+D(+c);b[t+(f<<4)+8>>3]=(+b[s+40>>3]*.5+r)*+M(+c);f=f+1|0}a[e>>2]=l;return t|0}function nK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=+f;b[A>>3]=+(e|0)*.013888888888888888+r;b[A+8>>3]=+(i|0)*.013888888888888888+f;return}function lK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0.0,l=0.0,t=0.0,c=0,s=0.0,w=0.0;t=+b[A>>3];l=+b[A+8>>3];f=1;a=l;n=t;while(1){if((f|0)>=(e|0))break;c=A+16|0;s=+b[c>>3];w=+b[A+24>>3];f=f+1|0;a=w>a?w:a;n=s>n?s:n;l=w>3]=t;b[i+8>>3]=l;b[r>>3]=n;b[r+8>>3]=a;return}function tK(A,e,i,f){A=A|0;e=e|0;i=+i;f=+f;var n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0.0;d=k;k=k+80|0;w=d+64|0;o=d+68|0;l=d+48|0;t=d+32|0;c=d+16|0;s=d;u=e+16|0;n=a[u>>2]|0;A:do{if(!(a[n+212>>2]|0))switch(sN(e)|0){case 1:{s=a[(a[u>>2]|0)+12>>2]|0;w=s+8|0;c=a[w>>2]|0;a[o>>2]=c;e:do{if((c|0)>2){l=$F(c<<4)|0;t=s+44|0;n=0;while(1){if((n|0)>=(c|0))break e;e=a[t>>2]|0;b[l+(n<<4)>>3]=+b[e+(n<<4)>>3]*.013888888888888888;b[l+(n<<4)+8>>3]=+b[e+(n<<4)+8>>3]*.013888888888888888;n=n+1|0}}else l=aK(e,o,0.0,0.0)|0}while(0);n=a[a[(a[u>>2]|0)+8>>2]>>2]|0;switch(r[n>>0]|0){case 98:{if(!(A1(n,108236)|0))n=1;else h=13;break}case 112:{if((A1(n,105721)|0)==0?(fK(l,a[o>>2]|0)|0)!=0:0)n=1;else h=13;break}default:h=13}do{if((h|0)==13){if((a[w>>2]|0)<3?a[s>>2]|0:0){n=2;break}n=0}}while(0);a[A+40>>2]=n;h=20;break A}case 2:{a[o>>2]=4;h=$F(64)|0;u=a[(a[u>>2]|0)+12>>2]|0;v=+b[u+16>>3];E=+b[u+24>>3];g=+b[u+32>>3];B=+b[u+40>>3];cK(l,v,E);a[h>>2]=a[l>>2];a[h+4>>2]=a[l+4>>2];a[h+8>>2]=a[l+8>>2];a[h+12>>2]=a[l+12>>2];l=h+16|0;cK(t,g,E);a[l>>2]=a[t>>2];a[l+4>>2]=a[t+4>>2];a[l+8>>2]=a[t+8>>2];a[l+12>>2]=a[t+12>>2];l=h+32|0;cK(c,g,B);a[l>>2]=a[c>>2];a[l+4>>2]=a[c+4>>2];a[l+8>>2]=a[c+8>>2];a[l+12>>2]=a[c+12>>2];l=h+48|0;cK(s,v,B);a[l>>2]=a[s>>2];a[l+4>>2]=a[s+4>>2];a[l+8>>2]=a[s+8>>2];a[l+12>>2]=a[s+12>>2];a[A+40>>2]=1;l=h;h=20;break A}case 3:{a[A+40>>2]=2;l=aK(e,o,0.0,0.0)|0;h=20;break A}default:{a[w>>2]=a[a[(a[u>>2]|0)+8>>2]>>2];ao(1,93919,w)|0;n=1;break A}}else{a[o>>2]=4;g=+b[n+32>>3]*.5;E=+b[n+40>>3]*.5;a[A+40>>2]=1;l=$F(64)|0;b[l>>3]=g;b[l+8>>3]=E;v=-g;b[l+16>>3]=v;b[l+24>>3]=E;b[l+32>>3]=v;E=-E;b[l+40>>3]=E;b[l+48>>3]=g;b[l+56>>3]=E;h=20}}while(0);if((h|0)==20){n=a[o>>2]|0;if(i!=1.0|f!=1.0)bK(l,n,i,f);a[A+36>>2]=l;a[A+32>>2]=n;lK(l,n,A,A+16|0);if((n|0)>(a[46914]|0)){a[46914]=n;n=0}else n=0}k=d;return n|0}function cK(A,e,i){A=A|0;e=+e;i=+i;b[A>>3]=e*.013888888888888888;b[A+8>>3]=i*.013888888888888888;return}function bK(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var f=0,a=0;f=0;while(1){if((f|0)>=(e|0))break;b[A>>3]=+b[A>>3]*i;a=A+8|0;b[a>>3]=+b[a>>3]*r;A=A+16|0;f=f+1|0}return}function sK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0.0,v=0.0,g=0.0,E=0;d=k;k=k+128|0;u=d+112|0;w=d+96|0;s=d+80|0;f=d+64|0;o=d+48|0;h=d+32|0;t=d+16|0;c=d;a[w>>2]=a[A>>2];a[w+4>>2]=a[A+4>>2];a[w+8>>2]=a[A+8>>2];a[w+12>>2]=a[A+12>>2];a[u>>2]=a[e>>2];a[u+4>>2]=a[e+4>>2];a[u+8>>2]=a[e+8>>2];a[u+12>>2]=a[e+12>>2];cP(o,w,u);n=e+16|0;a[w>>2]=a[A>>2];a[w+4>>2]=a[A+4>>2];a[w+8>>2]=a[A+8>>2];a[w+12>>2]=a[A+12>>2];a[u>>2]=a[n>>2];a[u+4>>2]=a[n+4>>2];a[u+8>>2]=a[n+8>>2];a[u+12>>2]=a[n+12>>2];cP(h,w,u);a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[u>>2]=a[r>>2];a[u+4>>2]=a[r+4>>2];a[u+8>>2]=a[r+8>>2];a[u+12>>2]=a[r+12>>2];cP(t,w,u);l=r+16|0;a[w>>2]=a[i>>2];a[w+4>>2]=a[i+4>>2];a[w+8>>2]=a[i+8>>2];a[w+12>>2]=a[i+12>>2];a[u>>2]=a[l>>2];a[u+4>>2]=a[l+4>>2];a[u+8>>2]=a[l+8>>2];a[u+12>>2]=a[l+12>>2];cP(c,w,u);a[f>>2]=a[o>>2];a[f+4>>2]=a[o+4>>2];a[f+8>>2]=a[o+8>>2];a[f+12>>2]=a[o+12>>2];a[s>>2]=a[h>>2];a[s+4>>2]=a[h+4>>2];a[s+8>>2]=a[h+8>>2];a[s+12>>2]=a[h+12>>2];a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];do{if(wK(f,s,w,u)|0){f=a[e+40>>2]|0;if(f&1|0?a[r+40>>2]&1|0:0){f=1;break}if(f&2|0?a[r+40>>2]&2|0:0){B=+b[n>>3]-+b[e>>3]+ +b[l>>3]-+b[r>>3];v=+b[A>>3]-+b[i>>3];g=+b[A+8>>3]-+b[i+8>>3];f=!(g*g+v*v>B*B*.25);break}f=a[46915]|0;if(!f){a[46915]=$F(a[46914]<<4)|0;l=$F(a[46914]<<4)|0;a[46916]=l;f=a[46915]|0}else l=a[46916]|0;E=a[e+36>>2]|0;e=e+32|0;n=a[e>>2]|0;a[u>>2]=a[A>>2];a[u+4>>2]=a[A+4>>2];a[u+8>>2]=a[A+8>>2];a[u+12>>2]=a[A+12>>2];uK(E,n,u,f);A=a[r+36>>2]|0;n=r+32|0;r=a[n>>2]|0;a[u>>2]=a[i>>2];a[u+4>>2]=a[i+4>>2];a[u+8>>2]=a[i+8>>2];a[u+12>>2]=a[i+12>>2];uK(A,r,u,l);if(!(kK(f,l,a[e>>2]|0,a[n>>2]|0)|0)){f=a[46915]|0;a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];a[w>>2]=a[t>>2];a[w+4>>2]=a[t+4>>2];a[w+8>>2]=a[t+8>>2];a[w+12>>2]=a[t+12>>2];a[u>>2]=a[c>>2];a[u+4>>2]=a[c+4>>2];a[u+8>>2]=a[c+8>>2];a[u+12>>2]=a[c+12>>2];if(oK(s,w,u)|0?(c=a[46916]|0,E=a[n>>2]|0,a[u>>2]=a[f>>2],a[u+4>>2]=a[f+4>>2],a[u+8>>2]=a[f+8>>2],a[u+12>>2]=a[f+12>>2],hK(c,E,u)|0):0){f=1;break}f=a[46916]|0;a[s>>2]=a[f>>2];a[s+4>>2]=a[f+4>>2];a[s+8>>2]=a[f+8>>2];a[s+12>>2]=a[f+12>>2];a[w>>2]=a[o>>2];a[w+4>>2]=a[o+4>>2];a[w+8>>2]=a[o+8>>2];a[w+12>>2]=a[o+12>>2];a[u>>2]=a[h>>2];a[u+4>>2]=a[h+4>>2];a[u+8>>2]=a[h+8>>2];a[u+12>>2]=a[h+12>>2];if(!(oK(s,w,u)|0))f=0;else{h=a[46915]|0;E=a[e>>2]|0;a[u>>2]=a[f>>2];a[u+4>>2]=a[f+4>>2];a[u+8>>2]=a[f+8>>2];a[u+12>>2]=a[f+12>>2];f=(hK(h,E,u)|0)!=0}}else f=1}else f=0}while(0);k=d;return f&1|0}function wK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((+b[A>>3]<=+b[r>>3]?+b[i>>3]<=+b[e>>3]:0)?+b[A+8>>3]<=+b[r+8>>3]:0)A=+b[i+8>>3]<=+b[e+8>>3]&1;else A=0;return A|0}function uK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;a=i+8|0;f=0;while(1){if((f|0)>=(e|0))break;b[r>>3]=+b[i>>3]+ +b[A>>3];b[r+8>>3]=+b[a>>3]+ +b[A+8>>3];f=f+1|0;A=A+16|0;r=r+16|0}return}function kK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0.0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0;Q=k;k=k+112|0;B=Q+96|0;d=Q+80|0;h=Q+64|0;o=Q+48|0;g=Q+32|0;E=Q+16|0;C=Q;I=i+-1|0;Z=r+-1|0;G=i<<1;v=r<<1;f=0;n=0;l=0;t=0;while(1){m=A+(f<<4)|0;L=A+(((I+f|0)%(i|0)|0)<<4)|0;a[d>>2]=a[m>>2];a[d+4>>2]=a[m+4>>2];a[d+8>>2]=a[m+8>>2];a[d+12>>2]=a[m+12>>2];a[B>>2]=a[L>>2];a[B+4>>2]=a[L+4>>2];a[B+8>>2]=a[L+8>>2];a[B+12>>2]=a[L+12>>2];tP(g,d,B);u=e+(n<<4)|0;w=e+(((Z+n|0)%(r|0)|0)<<4)|0;a[d>>2]=a[u>>2];a[d+4>>2]=a[u+4>>2];a[d+8>>2]=a[u+8>>2];a[d+12>>2]=a[u+12>>2];a[B>>2]=a[w>>2];a[B+4>>2]=a[w+4>>2];a[B+8>>2]=a[w+8>>2];a[B+12>>2]=a[w+12>>2];tP(E,d,B);a[h>>2]=a[46540];a[h+4>>2]=a[46541];a[h+8>>2]=a[46542];a[h+12>>2]=a[46543];a[d>>2]=a[g>>2];a[d+4>>2]=a[g+4>>2];a[d+8>>2]=a[g+8>>2];a[d+12>>2]=a[g+12>>2];a[B>>2]=a[E>>2];a[B+4>>2]=a[E+4>>2];a[B+8>>2]=a[E+8>>2];a[B+12>>2]=a[E+12>>2];c=+bP(h,d,B);a[h>>2]=a[L>>2];a[h+4>>2]=a[L+4>>2];a[h+8>>2]=a[L+8>>2];a[h+12>>2]=a[L+12>>2];a[d>>2]=a[m>>2];a[d+4>>2]=a[m+4>>2];a[d+8>>2]=a[m+8>>2];a[d+12>>2]=a[m+12>>2];a[B>>2]=a[u>>2];a[B+4>>2]=a[u+4>>2];a[B+8>>2]=a[u+8>>2];a[B+12>>2]=a[u+12>>2];b=sP(h,d,B)|0;a[h>>2]=a[w>>2];a[h+4>>2]=a[w+4>>2];a[h+8>>2]=a[w+8>>2];a[h+12>>2]=a[w+12>>2];a[d>>2]=a[u>>2];a[d+4>>2]=a[u+4>>2];a[d+8>>2]=a[u+8>>2];a[d+12>>2]=a[u+12>>2];a[B>>2]=a[m>>2];a[B+4>>2]=a[m+4>>2];a[B+8>>2]=a[m+8>>2];a[B+12>>2]=a[m+12>>2];s=sP(h,d,B)|0;a[o>>2]=a[L>>2];a[o+4>>2]=a[L+4>>2];a[o+8>>2]=a[L+8>>2];a[o+12>>2]=a[L+12>>2];a[h>>2]=a[m>>2];a[h+4>>2]=a[m+4>>2];a[h+8>>2]=a[m+8>>2];a[h+12>>2]=a[m+12>>2];a[d>>2]=a[w>>2];a[d+4>>2]=a[w+4>>2];a[d+8>>2]=a[w+8>>2];a[d+12>>2]=a[w+12>>2];a[B>>2]=a[u>>2];a[B+4>>2]=a[u+4>>2];a[B+8>>2]=a[u+8>>2];a[B+12>>2]=a[u+12>>2];if(wP(o,h,d,B,C)|0){f=1;break}w=(b|0)==0;u=(s|0)==0;do{if(c!=0.0|(s|b|0)!=0)if(!(c>=0.0))if(u){f=(f+1|0)%(i|0)|0;l=l+1|0;break}else{n=(n+1|0)%(r|0)|0;t=t+1|0;break}else if(w){n=(n+1|0)%(r|0)|0;t=t+1|0;break}else{f=(f+1|0)%(i|0)|0;l=l+1|0;break}else{f=(f+1|0)%(i|0)|0;l=l+1|0}}while(0);if(!((t|0)<(v|0)&((l|0)<(G|0)&((t|0)<(r|0)|(l|0)<(i|0))))){f=0;break}}k=Q;return f|0}function oK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0;f=+b[A>>3];if((f<=+b[i>>3]?f>=+b[e>>3]:0)?(r=+b[A+8>>3],r<=+b[i+8>>3]):0)A=r>=+b[e+8>>3]&1;else A=0;return A|0}function hK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0,c=0.0,s=0;r=a[46917]|0;if(!r){r=$F(a[46914]<<4)|0;a[46917]=r}l=i+8|0;n=0;while(1){if((n|0)>=(e|0))break;b[r+(n<<4)>>3]=+b[A+(n<<4)>>3]-+b[i>>3];b[r+(n<<4)+8>>3]=+b[A+(n<<4)+8>>3]-+b[l>>3];n=n+1|0}i=e+-1|0;f=0.0;A=0;A:while(1){if((A|0)>=(e|0)){s=19;break}n=(i+A|0)%(e|0)|0;t=+b[r+(A<<4)+8>>3];l=t==0.0;if(l?+b[r+(n<<4)+8>>3]==0.0:0){if(+b[r+(n<<4)>>3]*+b[r+(A<<4)>>3]<0.0){r=1;break}}else s=11;do{if((s|0)==11){s=0;c=+b[r+(n<<4)+8>>3];if(!(t>=0.0)|!(c<=0.0)?!(c>=0.0)|!(t<=0.0):0)break;t=(c*+b[r+(A<<4)>>3]-t*+b[r+(n<<4)>>3])/(c-t);if(t==0.0){r=1;break A}if(t>0.0)if(c==0.0|l){f=f+.5;break}else{f=f+1.0;break}}}while(0);A=A+1|0}if((s|0)==19)r=((~~f|0)%2|0|0)==1&1;return r|0}function dK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;c=$F(e<<2)|0;t=U(e,e)|0;i=$F(t<<2)|0;a[c>>2]=i;RO(t,0.0,i);i=1;while(1){if((i|0)>=(e|0)){i=0;n=0;t=e;break}a[c+(i<<2)>>2]=(a[c>>2]|0)+((U(i,e)|0)<<2);i=i+1|0}while(1){if((n|0)>=(e|0))break;l=c+(n<<2)|0;r=n;f=i;while(1){if((r|0)==(e|0))break;b=a[A+(f<<2)>>2]|0;a[(a[l>>2]|0)+(r<<2)>>2]=b;a[(a[c+(r<<2)>>2]|0)+(n<<2)>>2]=b;r=r+1|0;f=f+1|0}i=i+t|0;n=n+1|0;t=t+-1|0}return c|0}function BK(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=+t;var b=0.0,s=0.0,w=0.0,u=0,k=0,o=0,h=0.0,d=0,B=0.0,v=0,g=0,E=0,C=0,I=0,Z=0.0,G=0,Q=0,m=0,L=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0.0;N=a[i+(f<<2)>>2]|0;m=a[A+4>>2]|0;L=a[A>>2]|0;W=a[A+48>>2]|0;z=a[A+52>>2]|0;Y=a[A+56>>2]|0;A:do{if((n|0)<1)i=0;else{gK(N,m,W,z,Y,t);D=a[A+28>>2]|0;M=a[A+32>>2]|0;F=a[A+36>>2]|0;V=a[A+12>>2]|0;J=a[A+16>>2]|0;f=0;r=0;i=-1;while(1){if((f|0)>=(m|0))break;if((f|0)>=(r|0)){i=i+1|0;if((i|0)==(Y|0)){r=m;i=Y}else r=a[z+(i<<2)>>2]|0}a[J+(a[W+(f<<2)>>2]<<2)>>2]=i;f=f+1|0}G=a[A+40>>2]|0;Q=M+(m+-1<<2)|0;i=0;r=0;while(1){if(r<<24>>24==0&(i|0)<(n|0)){b=-1.0e9;f=0;r=1}else break A;e:while(1){I=f;while(1){if((I|0)>=(m|0))break e;f=a[W+(I<<2)>>2]|0;Z=+c[N+(f<<2)>>2];s=Z;C=I;w=0.0;while(1){c[G+(f<<2)>>2]=w;f=C+1|0;if((f|0)>=(m|0)){E=0;break}s=(a[J+(f<<2)>>2]|0)>(a[J+(C<<2)>>2]|0)?s+t:s;A=a[W+(f<<2)>>2]|0;w=+c[N+(A<<2)>>2];if(+y(+(w-s))>1.0e-09){E=1;break}C=f;w=w-Z;f=A}u=I;while(1){if((u|0)>(C|0)){A=0;k=I;break}k=a[W+(u<<2)>>2]|0;o=a[L+(k<<2)>>2]|0;A=0;s=-+c[e+(k<<2)>>2];while(1){if((A|0)>=(m|0))break;if((A|0)!=(k|0))s=+c[N+(A<<2)>>2]*+c[o+(A<<2)>>2]+s;A=A+1|0}c[D+(k<<2)>>2]=s/-+c[o+(k<<2)>>2]-+c[G+(k<<2)>>2];u=u+1|0}i:while(1){if((k|0)>(C|0)){w=0.0;h=0.0;d=0;break}u=a[J+(a[W+(k<<2)>>2]<<2)>>2]|0;if((u|0)==(Y|0))d=f;else{d=a[z+(u<<2)>>2]|0;d=(f|0)<(d|0)?f:d}o=k;while(1){if((o|0)>=(d|0)){o=k;break}u=a[W+(o<<2)>>2]|0;if(+c[D+(u<<2)>>2]>2]=u;A=A+1|0}o=o+1|0}while(1){if((o|0)>=(d|0))break;u=a[W+(o<<2)>>2]|0;if(+c[D+(u<<2)>>2]==Z){a[V+(A<<2)>>2]=u;A=A+1|0}o=o+1|0}while(1){if((k|0)>=(d|0)){k=d;continue i}u=a[W+(k<<2)>>2]|0;if(+c[D+(u<<2)>>2]>Z){a[V+(A<<2)>>2]=u;A=A+1|0}k=k+1|0}}while(1){if((d|0)>=(A|0))break;k=a[V+(d<<2)>>2]|0;o=a[L+(k<<2)>>2]|0;s=0.0;u=0;while(1){if((u|0)==(d|0))break;s=s-+c[o+(a[V+(u<<2)>>2]<<2)>>2];u=u+1|0}X=s*2.0;g=o+(k<<2)|0;B=+c[g>>2];s=X+w;B=(X*Z+w*h-+c[D+(k<<2)>>2]*B)/(s-B);c[M+(d<<2)>>2]=B;w=s-+c[g>>2];h=B;d=d+1|0}o=(A|0)==(m|0);if(o)c[Q>>2]=Z;g=A+-1|0;w=0.0;h=0.0;k=g;while(1){if((k|0)<=-1)break;d=a[V+(k<<2)>>2]|0;v=a[L+(d<<2)>>2]|0;s=0.0;u=k;while(1){u=u+1|0;if((u|0)>=(A|0))break;s=s-+c[v+(a[V+(u<<2)>>2]<<2)>>2]}s=s*2.0;v=v+(d<<2)|0;X=+c[v>>2];B=s+w;X=(s*Z+w*h-+c[D+(d<<2)>>2]*X)/(B-X);c[F+(k<<2)>>2]=X;w=B-+c[v>>2];h=X;k=k+-1|0}if(o){c[F>>2]=Z;B=0.0;u=-1;o=0}else{B=0.0;u=-1;o=0}while(1){if((A|0)<=(o|0))break;h=+c[F+(o<<2)>>2];if((o|0)>0)s=+c[M+(o+-1<<2)>>2];else s=h;do{if(hZ;if(hB;B=v?X:B;u=v?o:u;o=o+1|0}if((u|0)>-1)break;if(E?(a[J+(a[W+(f<<2)>>2]<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0):0){b=+c[N+(a[V+(g<<2)>>2]<<2)>>2]+t;I=f;continue}b=+c[N+(a[V+(g<<2)>>2]<<2)>>2];I=f}w=+c[F+(u<<2)>>2];if(!u)h=w;else h=+c[M+(u+-1<<2)>>2];if(E){v=a[W+(f<<2)>>2]|0;s=+c[N+(v<<2)>>2];s=((a[J+(v<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0)?s-t:s)-+c[G+(a[V+(g<<2)>>2]<<2)>>2]}else s=1.0e9;s=wb?h:b;do{if(sZ;if(s=(u|0))break;v=a[V+(k<<2)>>2]|0;c[N+(v<<2)>>2]=+c[G+(v<<2)>>2]+s;k=k+1|0}while(1){if((u|0)>=(A|0))break;v=a[V+(u<<2)>>2]|0;c[N+(v<<2)>>2]=+c[G+(v<<2)>>2]+w;u=u+1|0}if(E?(a[J+(a[W+(f<<2)>>2]<<2)>>2]|0)>(a[J+(a[W+(C<<2)>>2]<<2)>>2]|0):0)b=+c[N+(a[V+(g<<2)>>2]<<2)>>2]+t;else b=+c[N+(a[V+(g<<2)>>2]<<2)>>2];A=I;while(1){if((A|0)>(C|0))break;a[W+(A<<2)>>2]=a[V+(A-I<<2)>>2];A=A+1|0}if(r<<24>>24!=0?+y(+(s-Z))<.01:0)r=+y(+(w-Z))<.01;else r=0;r=r&1}zO(m,N);vK(N,W,z,Y,l);i=i+1|0}}}while(0);return i|0}function vK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=0;while(1){if((n|0)>=(r|0))break;a[f+(n<<2)>>2]=a[A+(a[e+((a[i+(n<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];n=n+1|0}return}function gK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0.0,t=0,b=0,s=0,w=0;l=-1.0e9;b=0;t=-1;w=0;while(1){if((w|0)>=(e|0))break;if((w|0)<(b|0))s=b;else{t=t+1|0;if((t|0)==(f|0))b=e;else b=a[r+(t<<2)>>2]|0;if((w|0)>0)l=+c[A+(a[i+(w+-1<<2)>>2]<<2)>>2]+n;else l=-1.0e9;SP(A,i,w,b+-1|0);s=b}b=A+(a[i+(w<<2)>>2]<<2)|0;if(+c[b>>2]>2]=l;b=s;w=w+1|0}return}function EK(A){A=A|0;L2(a[a[A>>2]>>2]|0);L2(a[A>>2]|0);L2(a[A+8>>2]|0);L2(a[A+28>>2]|0);L2(a[A+32>>2]|0);L2(a[A+36>>2]|0);L2(a[A+40>>2]|0);L2(a[A+12>>2]|0);L2(a[A+16>>2]|0);L2(a[A+20>>2]|0);L2(a[A+24>>2]|0);L2(A);return}function CK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=$F(60)|0;a[b>>2]=0;s=b+4|0;a[s>>2]=e;a[b+48>>2]=i;a[b+52>>2]=r;a[b+56>>2]=f;a[b>>2]=dK(A,e)|0;t=e<<2;c=$F(t)|0;a[b+8>>2]=c;l=0;e=0;A=-1;while(1){if((l|0)>=(a[s>>2]|0))break;n=A+1|0;if((l|0)>=(e|0)){e=a[((n|0)==(f|0)?s:r+(n<<2)|0)>>2]|0;A=n}a[c+(a[i+(l<<2)>>2]<<2)>>2]=A;l=l+1|0}a[b+28>>2]=$F(t)|0;a[b+32>>2]=$F(t)|0;a[b+36>>2]=$F(t)|0;a[b+40>>2]=$F(t)|0;a[b+12>>2]=$F(t)|0;a[b+16>>2]=$F(t)|0;a[b+20>>2]=$F(t)|0;a[b+24>>2]=$F(t)|0;return b|0}function IK(){jO(187676,24);a[46922]=0;return}function ZK(){return PO(187676)|0}function GK(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+b[A>>3]-+b[e>>3];r=+b[A+8>>3]-+b[e+8>>3];return+ +z(+(r*r+i*i))}function QK(A){A=A|0;var e=0;e=a[46922]|0;a[A+16>>2]=e;a[46922]=e+1;return}function mK(A){A=A|0;var e=0,i=0;i=A+20|0;e=(a[i>>2]|0)+-1|0;a[i>>2]=e;if(!e)OO(A,187676);return}function LK(A){A=A|0;A=A+20|0;a[A>>2]=(a[A>>2]|0)+1;return}function WK(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;var n=0.0,l=0,t=0,s=0,w=0.0,u=0,o=0.0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;I=k;k=k+16|0;u=I;a[u>>2]=r;h=e<<2;E=$F(h)|0;s=e<<3;C=$F(s)|0;g=RP(A,e)|0;A=0;while(1){if((A|0)>=(e|0))break;t=g+(A<<2)|0;l=0;while(1){if((l|0)==(e|0))break;B=(a[t>>2]|0)+(l<<2)|0;a[B>>2]=a[B>>2]<<8;l=l+1|0}A=A+1|0}if(!i)vA(93952,93960,283,93974);B=$F(s)|0;A=0;while(1){if((A|0)>=(e|0))break;b[B+(A<<3)>>3]=+b[i+(A<<3)>>3];A=A+1|0}yK(B,e);n=0.0;w=0.0;s=1;while(1){if((s|0)>=(e|0))break;l=g+(s<<2)|0;t=i+(s<<3)|0;A=0;while(1){if((A|0)==(s|0))break;Z=a[(a[l>>2]|0)+(A<<2)>>2]|0;d=+b[t>>3]-+b[i+(A<<3)>>3];n=d*d*(1.0/+(U(Z,Z)|0))+n;w=+y(+d)*(1.0/+(Z|0))+w;A=A+1|0}s=s+1|0}d=w/n;A=0;while(1){if((A|0)>=(e|0))break;Z=i+(A<<3)|0;b[Z>>3]=+b[Z>>3]*d;A=A+1|0}zK(e,u,f,i,g);t=$F(U(h,e)|0)|0;l=0;while(1){if((l|0)>=(e|0)){t=1;break}s=t+((U(l,e)|0)<<2)|0;a[E+(l<<2)>>2]=s;u=g+(l<<2)|0;n=0.0;A=0;while(1){if((A|0)==(e|0))break;if((A|0)!=(l|0)){o=+(a[(a[u>>2]|0)+(A<<2)>>2]|0);o=-1.0/(o*o);c[s+(A<<2)>>2]=o;n=n-o}A=A+1|0}c[s+(l<<2)>>2]=n;l=l+1|0}while(1){if((t|0)>=(e|0)){l=0;break}n=+b[i+(t<<3)>>3];l=g+(t<<2)|0;A=0;while(1){if((A|0)==(t|0))break;Z=(a[l>>2]|0)+(A<<2)|0;w=+(a[Z>>2]|0);o=n-+b[i+(A<<3)>>3];o=w*w-o*o;h=~~+z(+o);h=o>0.0?h:0;a[(a[g+(A<<2)>>2]|0)+(t<<2)>>2]=h;a[Z>>2]=h;A=A+1|0}t=t+1|0}while(1){if((l|0)>=(e|0)){h=0;A=0;break}w=+b[r+(l<<3)>>3];s=C+(l<<3)|0;b[s>>3]=0.0;u=g+(l<<2)|0;t=E+(l<<2)|0;A=0;n=0.0;while(1){if((A|0)==(e|0))break;if((A|0)!=(l|0)){o=+c[(a[t>>2]|0)+(A<<2)>>2]*+(a[(a[u>>2]|0)+(A<<2)>>2]|0);n=n+(w>=+b[r+(A<<3)>>3]?-o:o);b[s>>3]=n}A=A+1|0}l=l+1|0}while(1){if(!(A<<24>>24==0&(h|0)<200)){v=42;break}if((wS(E,r,C,e,f,e,1)|0)<0){A=1;break}else{A=1;u=0}while(1){if((u|0)>=(e|0))break;o=+b[r+(u<<3)>>3];t=g+(u<<2)|0;s=E+(u<<2)|0;n=0.0;l=0;while(1){if((l|0)==(e|0))break;do{if((l|0)!=(u|0)){w=+c[(a[s>>2]|0)+(l<<2)>>2]*+(a[(a[t>>2]|0)+(l<<2)>>2]|0);if(!(o>=+b[r+(l<<3)>>3])){n=n+w;break}else{n=n+-w;break}}}while(0);l=l+1|0}l=C+(u<<3)|0;o=+b[l>>3];if(n!=o?+y(+(1.0-n/o))>1.0e-05:0){b[l>>3]=n;A=0}u=u+1|0}h=h+1|0}A:do{if((v|0)==42){n=1.0/d;A=0;while(1){if((A|0)>=(e|0)){A=0;break A}Z=i+(A<<3)|0;b[Z>>3]=+b[Z>>3]*n;Z=r+(A<<3)|0;b[Z>>3]=+b[Z>>3]*n;A=A+1|0}}}while(0);L2(a[g>>2]|0);L2(g);L2(a[E>>2]|0);L2(E);L2(B);L2(C);k=I;return A|0}function yK(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0.0,a=0;i=0;r=0.0;while(1){if((i|0)>=(e|0))break;f=+b[A+(i<<3)>>3]+r;i=i+1|0;r=f}r=r/+(e|0);i=0;while(1){if((i|0)>=(e|0))break;a=A+(i<<3)|0;b[a>>3]=+b[a>>3]-r;i=i+1|0}a=e+-1|0;kO(A,0,a,1.0/+uO(A,0,a),A);return}function zK(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,s=0,w=0;c=YK(f,A)|0;s=$F(8)|0;if(!r){f=0;t=0}else{n=$F(A<<3)|0;f=0;while(1){if((f|0)>=(A|0))break;b[n+(f<<3)>>3]=+b[r+(f<<3)>>3];f=f+1|0}yK(n,A);f=n;t=n}DK(c,A,e,s,f,i);r=0;while(1){if((r|0)==1)break;n=s+(r<<3)|0;l=e+(r<<2)|0;f=0;while(1){if((f|0)>=(A|0))break;i=+z(+ +y(+ +b[n>>3]));w=(a[l>>2]|0)+(f<<3)|0;b[w>>3]=+b[w>>3]*i;f=f+1|0}r=r+1|0}L2(a[c>>2]|0);L2(c);L2(s);L2(t);return}function YK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0,b=0,s=0,w=0,u=0,o=0.0;u=k;k=k+16|0;f=u;w=e<<2;r=$F(U(w,e)|0)|0;w=$F(w)|0;i=0;while(1){if((i|0)>=(e|0))break;a[w+(i<<2)>>2]=r+((U(i,e)|0)<<2);i=i+1|0}s=FK(A,e,f)|0;n=+c[f>>2];r=0;b=1;while(1){if((r|0)>=(e|0))break;f=A+(r<<2)|0;l=s+(r<<2)|0;t=w+(r<<2)|0;i=0;while(1){if((i|0)==(b|0))break;o=+(a[(a[f>>2]|0)+(i<<2)>>2]|0);o=+c[s+(i<<2)>>2]+ +c[l>>2]-o*o-n;c[(a[t>>2]|0)+(i<<2)>>2]=o;c[(a[w+(i<<2)>>2]|0)+(r<<2)>>2]=o;i=i+1|0}r=r+1|0;b=b+1|0}L2(s);k=u;return w|0}function DK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=+n;var l=0,t=0,c=0,s=0,w=0.0,u=0.0,k=0,o=0,h=0,d=0,B=0;d=e<<3;h=$F(d)|0;d=$F(d)|0;u=1.0-n;k=(e|0)<1?e:1;o=e+-1|0;c=(f|0)==0;t=0;A:while(1){if((t|0)>=(k|0))break;s=a[i+(t<<2)>>2]|0;do{l=0;while(1){if((l|0)==(e|0))break;b[s+(l<<3)>>3]=+((a8()|0)%100|0|0);l=l+1|0}if(c)l=0;else{wO(s,0,o,-+sO(f,0,o,s),f);l=0}while(1){if((l|0)==(t|0))break;B=i+(l<<2)|0;w=-+sO(a[B>>2]|0,0,o,s);wO(s,0,o,w,a[B>>2]|0);l=l+1|0}n=+uO(s,0,o)}while(n<1.0e-10);kO(s,0,o,1.0/n,s);do{oO(d,0,o,s);MK(A,e,e,s,h,f);oO(s,0,o,h);l=0;while(1){if((l|0)==(t|0))break;B=i+(l<<2)|0;w=-+sO(a[B>>2]|0,0,o,s);wO(s,0,o,w,a[B>>2]|0);l=l+1|0}n=+uO(s,0,o);if(n<1.0e-10)break A;kO(s,0,o,1.0/n,s);w=+sO(s,0,o,d)}while(+y(+w)>3]=w*n;t=t+1|0}while(1){if((t|0)>=(k|0))break;c=a[i+(t<<2)>>2]|0;l=0;while(1){if((l|0)>=(e|0)){l=0;break}b[c+(l<<3)>>3]=+((a8()|0)%100|0|0);l=l+1|0}while(1){if((l|0)>=(t|0))break;B=i+(l<<2)|0;u=-+sO(a[B>>2]|0,0,o,c);wO(c,0,o,u,a[B>>2]|0);l=l+1|0}kO(c,0,o,1.0/+uO(c,0,o),c);b[r+(t<<3)>>3]=0.0;t=t+1|0}s=k+-1|0;t=0;while(1){if((t|0)>=(s|0))break;A=r+(t<<3)|0;f=t+1|0;n=+b[A>>3];l=t;c=f;while(1){if((c|0)>=(k|0))break;u=+b[r+(c<<3)>>3];B=n>2]|0);B=i+(l<<2)|0;oO(a[e>>2]|0,0,o,a[B>>2]|0);oO(a[B>>2]|0,0,o,h);b[r+(l<<3)>>3]=+b[A>>3];b[A>>3]=n;t=f}L2(h);L2(d);return}function MK(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0.0,s=0,w=0;l=0;while(1){if((l|0)>=(e|0))break;w=A+(l<<2)|0;t=0.0;s=0;while(1){if((s|0)>=(i|0))break;t=+b[r+(s<<3)>>3]*+c[(a[w>>2]|0)+(s<<2)>>2]+t;s=s+1|0}b[f+(l<<3)>>3]=t;l=l+1|0}l=e+-1|0;if(n|0)wO(f,0,l,-+sO(f,0,l,n),n);return}function FK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0.0,n=0,l=0,t=0,b=0.0,s=0,w=0.0;t=$F(e<<2)|0;b=1.0/+(e|0);r=0.0;l=0;while(1){if((l|0)>=(e|0))break;s=A+(l<<2)|0;f=0.0;n=0;while(1){if((n|0)==(e|0))break;w=+(a[(a[s>>2]|0)+(n<<2)>>2]|0);w=w*w;f=w+f;n=n+1|0;r=w+r}c[t+(l<<2)>>2]=b*f;l=l+1|0}c[i>>2]=r/+(U(e,e)|0);return t|0}function VK(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0.0,g=0;h=U(r,r)|0;d=$F(h<<3)|0;B=$F(r<<3)|0;f=0;while(1){if((f|0)>=(r|0))break;b[B+(f<<3)>>3]=+b[i+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(h|0))break;b[d+(f<<3)>>3]=+b[A+(f<<3)>>3];f=f+1|0}o=r+-1|0;n=0;k=0;A:while(1){if((k|0)<(o|0)){a=0.0;f=k}else{s=21;break}while(1){if((f|0)>=(r|0))break;v=+y(+ +b[A+((U(f,r)|0)+k<<3)>>3]);w=v=(r|0))break;s=A+(f+l<<3)|0;v=+b[s>>3];w=A+(f+u<<3)|0;b[s>>3]=+b[w>>3];b[w>>3]=v;f=f+1|0}w=i+(n<<3)|0;v=+b[w>>3];t=i+(k<<3)|0;b[w>>3]=+b[t>>3];b[t>>3]=v;w=k+1|0;c=A+(u+k<<3)|0;f=w;while(1){if((f|0)>=(r|0)){k=w;continue A}s=U(f,r)|0;a=+b[A+(s+k<<3)>>3]/+b[c>>3];l=i+(f<<3)|0;b[l>>3]=+b[l>>3]-+b[t>>3]*a;l=0;while(1){if((l|0)>=(r|0))break;g=A+(l+s<<3)|0;b[g>>3]=+b[g>>3]-+b[A+(l+u<<3)>>3]*a;l=l+1|0}f=f+1|0}}if((s|0)==21){a=+b[A+(h+-1<<3)>>3];if(+y(+a)<1.0e-10)s=33;else{b[e+(o<<3)>>3]=+b[i+(o<<3)>>3]/a;f=0;while(1){if((f|0)>=(o|0)){f=0;break}n=r-f|0;l=n+-2|0;a=+b[i+(l<<3)>>3];t=e+(l<<3)|0;b[t>>3]=a;c=U(l,r)|0;n=n+-1|0;while(1){if((n|0)>=(r|0))break;v=a-+b[e+(n<<3)>>3]*+b[A+(n+c<<3)>>3];b[t>>3]=v;n=n+1|0;a=v}b[t>>3]=a/+b[A+(c+l<<3)>>3];f=f+1|0}while(1){if((f|0)>=(r|0)){f=0;break}b[i+(f<<3)>>3]=+b[B+(f<<3)>>3];f=f+1|0}while(1){if((f|0)>=(h|0))break;b[A+(f<<3)>>3]=+b[d+(f<<3)>>3];f=f+1|0}L2(d);L2(B)}}if((s|0)==33){c6(93989)|0;L2(d);L2(B)}return}function JK(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;B=k;k=k+16|0;d=B;$S();IK();gP();a[46918]=G5[e&3]()|0;CP();h=d+8|0;o=G5[e&3]()|0;i=0.0;f=0.0;A:while(1){w=(o|0)==0;u=o+8|0;while(1){if(!(hP()|0)){dP(d);i=+b[d>>3];f=+b[h>>3]}if(!w){if(hP()|0)break;n=+b[u>>3];if(n>3]>2]|0;QK(t);rP(a[v+8>>2]|0,r[v+16>>0]|0,t);rP(a[E+8>>2]|0,r[E+16>>0]|0,t);WP(v);oP(E);WP(E);E=+b[s+8>>3]>+b[g+8>>3];v=E&1;c=E?g:s;g=AP(c,E?s:g)|0;s=IP(g,v)|0;QP(A,s);rP(g,(v^1)&255,t);mK(t);t=ZP(A,s)|0;if(t|0){oP(A);uP(A,t,+GK(t,c))}A=ZP(s,l)|0;if(!A)continue;uP(s,A,+GK(A,c))}A=mP(o)|0;c=yP(A)|0;l=AP(DP(A)|0,o)|0;s=IP(l,0)|0;QP(A,s);t=ZP(A,s)|0;if(t|0){oP(A);uP(A,t,+GK(t,o))}l=IP(l,1)|0;QP(s,l);A=ZP(l,c)|0;if(A|0)uP(l,A,+GK(A,o));o=G5[e&3]()|0}A=a[46860]|0;while(1){A=yP(A)|0;if((A|0)==(a[46861]|0))break;eP(a[A+8>>2]|0)}k=B;return}function NK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;n=k;k=k+16|0;f=n+8|0;r=n;do{if((vh(A)|0)!=1){XK(A);if(!e)e=RK(A)|0;i=HK(A,e)|0;if(0){l=a[15712]|0;a[r>>2]=Vh(e)|0;a[r+4>>2]=i;f3(l,94005,r)|0}if((i|0)<0){ao(1,94039,f)|0;break}else{pK(A);UK(A,e);xK(A,e);TK(A,i);break}}else{l=a[(a[(cd(A)|0)+16>>2]|0)+132>>2]|0;a[l>>2]=0;a[l+4>>2]=0;a[l+8>>2]=0;a[l+12>>2]=0}}while(0);k=n;return e|0}function XK(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;i=vh(A)|0;i=U(i,i)|0;e=cd(A)|0;while(1){if(!e)break;r=e+16|0;f=a[(a[r>>2]|0)+112>>2]|0;n=f+24|0;a[n>>2]=i;a[n+4>>2]=0;b[f+48>>3]=10.0;f=($K(A,e)|0)==0;r=a[(a[r>>2]|0)+112>>2]|0;a[r>>2]=f?i:0;a[r+4>>2]=f?0:0;e=bd(A,e)|0}return}function RK(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;r=(vh(A)|0)<3;e=cd(A)|0;A:do{if(!r){while(1){if(!e)break;r=a[(a[e+16>>2]|0)+112>>2]|0;if((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)qK(A,e,0);e=bd(A,e)|0}i=0;e=0;r=cd(A)|0;while(1){if(!r)break A;l=a[(a[r+16>>2]|0)+112>>2]|0;n=a[l>>2]|0;l=a[l+4>>2]|0;f=((i|0)<0)<<31>>31;f=l>>>0>f>>>0|(l|0)==(f|0)&n>>>0>i>>>0;i=f?n:i;e=f?r:e;r=bd(A,r)|0}}}while(0);return e|0}function HK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;i=a[(a[e+16>>2]|0)+112>>2]|0;f=i+24|0;r=a[f>>2]|0;a[f>>2]=0;a[f+4>>2]=0;a[i+32>>2]=0;OK(A,e);i=cd(A)|0;r=I6(0,r|0,32)|0;f=L;e=0;while(1){if(!i)break;l=(a[(a[i+16>>2]|0)+112>>2]|0)+24|0;n=a[l>>2]|0;l=a[l+4>>2]|0;if((n|0)==(r|0)&(l|0)==(f|0)){e=-1;break}t=((e|0)<0)<<31>>31;e=l>>>0>t>>>0|(l|0)==(t|0)&n>>>0>e>>>0?n:e;i=bd(A,i)|0}return e|0}function pK(A){A=A|0;var e=0,i=0,r=0,f=0;i=cd(A)|0;while(1){if(!i)break;e=a[(a[i+16>>2]|0)+112>>2]|0;r=e+16|0;A:do{if((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)while(1){r=e+8|0;f=r;f=d6(a[f>>2]|0,a[f+4>>2]|0,1,0)|0;a[r>>2]=f;a[r+4>>2]=L;e=a[e+32>>2]|0;if(!e)break A;e=a[(a[e+16>>2]|0)+112>>2]|0}}while(0);i=bd(A,i)|0}return}function UK(A,e){A=A|0;e=e|0;b[(a[(a[e+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;PK(A,e);return}function xK(A,e){A=A|0;e=e|0;b[(a[(a[e+16>>2]|0)+112>>2]|0)+48>>3]=0.0;SK(A,e);return}function TK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0.0,c=0.0;l=k;k=k+16|0;f=l;n=jK(A,e)|0;if(0){r=a[15712]|0;m3(94095,r)|0;i=0;while(1){if((i|0)>(e|0))break;b[f>>3]=+b[n+(i<<3)>>3];f3(r,94114,f)|0;i=i+1|0}m3(153599,r)|0}i=cd(A)|0;while(1){if(!i)break;f=a[i+16>>2]|0;r=a[f+112>>2]|0;t=+b[n+(a[r+24>>2]<<3)>>3];r=r+48|0;c=+D(+ +b[r>>3])*t;f=a[f+132>>2]|0;b[f>>3]=c;b[f+8>>3]=+M(+ +b[r>>3])*t;i=bd(A,i)|0}L2(n);k=l;return}function jK(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0,l=0.0,t=0,c=0,s=0,w=0;w=k;k=k+16|0;c=w;s=qF((e<<3)+8|0)|0;A=dR(A,Yo(a[A+60>>2]|0,0,101288,0)|0,0)|0;A:do{if(!A){f=1.0;i=0.0;A=1}else{l=0.0;i=0.0;n=1;e:while(1){if((n|0)>(e|0)){f=l;A=n;break A}f=+A8(A,c);if(!(f>0.0)){f=l;A=n;break A}l=f>.02?f:.02;i=l+i;t=n+1|0;b[s+(n<<3)>>3]=i;A=a[c>>2]|0;while(1){n=r[A>>0]|0;if(!(n<<24>>24)){n=t;continue e}if(!(n<<24>>24==58|(Q1(n<<24>>24)|0)!=0)){n=t;continue e}A=A+1|0}}}}while(0);while(1){if((A|0)>(e|0))break;l=i+f;b[s+(A<<3)>>3]=l;A=A+1|0;i=l}k=w;return s|0}function SK(A,e){A=A|0;e=e|0;var i=0,r=0.0,f=0,n=0,l=0,t=0.0;i=a[(a[e+16>>2]|0)+112>>2]|0;if(!(a[i+32>>2]|0))r=0.0;else r=+b[i+48>>3]-+b[i+40>>3]*.5;n=Ah(A,e)|0;while(1){if(!n)break;i=a[n>>2]&3;f=a[((i|0)==3?n:n+48|0)+40>>2]|0;if((f|0)==(e|0))f=a[((i|0)==2?n:n+-48|0)+40>>2]|0;i=a[(a[f+16>>2]|0)+112>>2]|0;if((a[i+32>>2]|0)==(e|0)?(l=i+48|0,!(+b[l>>3]!=10.0)):0){t=+b[i+40>>3];b[l>>3]=t*.5+r;r=t+r;i=i+16|0;if(!((a[i>>2]|0)==0&(a[i+4>>2]|0)==0))SK(A,f)}n=eh(A,n,e)|0}return}function PK(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0.0,l=0,t=0;r=a[(a[e+16>>2]|0)+112>>2]|0;f=r+8|0;n=+b[r+40>>3]/(+((a[f>>2]|0)>>>0)+4294967296.0*+((a[f+4>>2]|0)>>>0));f=Ah(A,e)|0;while(1){if(!f)break;r=a[f>>2]&3;i=a[((r|0)==3?f:f+48|0)+40>>2]|0;if((i|0)==(e|0))i=a[((r|0)==2?f:f+-48|0)+40>>2]|0;r=a[(a[i+16>>2]|0)+112>>2]|0;if(((a[r+32>>2]|0)==(e|0)?(l=r+40|0,!(+b[l>>3]!=0.0)):0)?(t=r+8|0,b[l>>3]=n*(+((a[t>>2]|0)>>>0)+4294967296.0*+((a[t+4>>2]|0)>>>0)),r=r+16|0,!((a[r>>2]|0)==0&(a[r+4>>2]|0)==0)):0)PK(A,i);f=eh(A,f,e)|0}return}function OK(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0;o=k;k=k+16|0;w=o;u=Yo(A,2,101541,0)|0;a[w+4>>2]=0;a[w>>2]=0;KK(w,e);c=(u|0)==0;A:while(1){b=_K(w)|0;if(!b)break;s=b+16|0;l=a[(a[(a[s>>2]|0)+112>>2]|0)+24>>2]|0;n=Ah(A,b)|0;l=d6(0,l|0,0,1)|0;l=I6(l|0,L|0,32)|0;t=L;while(1){if(!n)continue A;if(!((!c?(r[(Uo(n,u)|0)>>0]|0)==48:0)?!(A1(Uo(n,u)|0,138394)|0):0)){e=a[n>>2]&3;i=a[((e|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(b|0))i=a[((e|0)==2?n:n+-48|0)+40>>2]|0;e=a[(a[i+16>>2]|0)+112>>2]|0;f=e+24|0;h=f;d=a[h+4>>2]|0;if(t>>>0>>0|((t|0)==(d|0)?l>>>0<(a[h>>2]|0)>>>0:0)){d=f;a[d>>2]=l;a[d+4>>2]=t;a[e+32>>2]=b;d=(a[(a[s>>2]|0)+112>>2]|0)+16|0;h=d;h=d6(a[h>>2]|0,a[h+4>>2]|0,1,0)|0;a[d>>2]=h;a[d+4>>2]=L;KK(w,i)}}n=eh(A,n,b)|0}}k=o;return}function KK(A,e){A=A|0;e=e|0;var i=0,r=0;i=qF(8)|0;a[i>>2]=e;e=A+4|0;r=a[e>>2]|0;a[((r|0)==0?A:r+4|0)>>2]=i;a[e>>2]=i;return}function _K(A){A=A|0;var e=0,i=0;i=a[A>>2]|0;if(i){e=a[i>>2]|0;a[A>>2]=a[i+4>>2];L2(i);if(!(a[A>>2]|0))a[A+4>>2]=0}else e=0;return e|0}function qK(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0;l=a[a[(a[e+16>>2]|0)+112>>2]>>2]|0;n=Ah(A,e)|0;l=d6(0,l|0,0,1)|0;l=I6(l|0,L|0,32)|0;t=L;while(1){if(!n)break;f=a[n>>2]&3;r=a[((f|0)==3?n:n+48|0)+40>>2]|0;if((r|0)==(e|0))r=a[((f|0)==2?n:n+-48|0)+40>>2]|0;if((r|0)!=(i|0)?(c=a[(a[r+16>>2]|0)+112>>2]|0,f=c,b=a[f+4>>2]|0,t>>>0>>0|((t|0)==(b|0)?l>>>0<(a[f>>2]|0)>>>0:0)):0){b=c;a[b>>2]=l;a[b+4>>2]=t;qK(A,r,e)}n=eh(A,n,e)|0}return}function $K(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;f=0;n=Ah(A,e)|0;while(1){if(!n){i=1;break}r=a[n>>2]&3;i=a[((r|0)==3?n:n+48|0)+40>>2]|0;if((i|0)==(e|0))i=a[((r|0)==2?n:n+-48|0)+40>>2]|0;if((i|0)!=(e|0)){if(f)if((f|0)==(i|0))i=f;else{i=0;break}}else i=f;f=i;n=eh(A,n,e)|0}return i|0}function A_(A){A=A|0;var e=0,i=0,r=0,f=0.0,n=0;e=k;k=k+32|0;r=e;i=Yo(A,1,94122,0)|0;n=Yo(A,0,94122,0)|0;A=e_(A,n,i,Yo(A,0,94127,0)|0)|0;i=A+16|0;f=+z(+(+b[A>>3]+.1));w_(r,0.0,0.0,f,f);a[i>>2]=a[r>>2];a[i+4>>2]=a[r+4>>2];a[i+8>>2]=a[r+8>>2];a[i+12>>2]=a[r+12>>2];a[i+16>>2]=a[r+16>>2];a[i+20>>2]=a[r+20>>2];a[i+24>>2]=a[r+24>>2];a[i+28>>2]=a[r+28>>2];i_(A);r_(A);f_(A);k=e;return}function e_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0.0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0;k=qF(72)|0;a[k+60>>2]=0;a[k+56>>2]=A;c=A+16|0;f=0.0;s=0;l=1;t=0;w=0;while(1){n=a[c>>2]|0;if((l|0)>(a[n+180>>2]|0))break;n=e_(a[(a[n+184>>2]|0)+(l<<2)>>2]|0,e,i,r)|0;f=+b[n>>3]+f;if(t|0)a[t+52>>2]=n;s=s+1|0;l=l+1|0;t=n;w=(w|0)==0?n:w}u=cd(A)|0;n=w;while(1){if(!u)break;l=u+16|0;if(!(a[a[(a[l>>2]|0)+112>>2]>>2]|0)){c=l_(u,i)|0;f=+b[c>>3]+f;if(t|0)a[t+52>>2]=c;a[a[(a[l>>2]|0)+112>>2]>>2]=A;l=s+1|0;t=c;n=(n|0)==0?c:n}else l=s;u=bd(A,u)|0;s=l}a[k+64>>2]=s;if(!s)f=+c_(A,e);else{b[k+8>>3]=f;f=+t_(k,r)}b[k>>3]=f;a[k+48>>2]=n;return k|0}function i_(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0,t=0,c=0,s=0,w=0,u=0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0.0;o=k;k=k+176|0;f=o+144|0;w=o+64|0;c=o+32|0;l=o;u=a[A+64>>2]|0;A:do{if(u|0){s=qF(u<<2)|0;e=A+48|0;r=0;i=e;while(1){i=a[i>>2]|0;if((r|0)>=(u|0))break;a[s+(r<<2)>>2]=i;r=r+1|0;i=i+52|0}K4(s,u,4,80);t=qF(u<<3)|0;i=0;while(1){if((i|0)>=(u|0))break;b[t+(i<<3)>>3]=+b[a[s+(i<<2)>>2]>>3];i=i+1|0}n=+b[A+8>>3];if(+b[A>>3]==n){l=A+16|0;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];a[f+16>>2]=a[l+16>>2];a[f+20>>2]=a[l+20>>2];a[f+24>>2]=a[l+24>>2];a[f+28>>2]=a[l+28>>2];l=b_(u,t,f)|0}else{h=+b[A+40>>3];d=+b[A+32>>3];b[l>>3]=+b[A+16>>3];b[l+8>>3]=+b[A+24>>3];B=h-d;n=(d+h-+z(+(n*4.0+B*B)))*.5;b[l+16>>3]=d-n;b[l+24>>3]=h-n;a[f>>2]=a[l>>2];a[f+4>>2]=a[l+4>>2];a[f+8>>2]=a[l+8>>2];a[f+12>>2]=a[l+12>>2];a[f+16>>2]=a[l+16>>2];a[f+20>>2]=a[l+20>>2];a[f+24>>2]=a[l+24>>2];a[f+28>>2]=a[l+28>>2];l=b_(u,t,f)|0}if(0){f=a[15712]|0;h=+b[A+24>>3];d=+b[A+32>>3];B=+b[A+40>>3];b[c>>3]=+b[A+16>>3];b[c+8>>3]=h;b[c+16>>3]=d;b[c+24>>3]=B;f3(f,94174,c)|0}r=a[15712]|0;i=0;while(1){if((i|0)>=(u|0))break;c=(a[s+(i<<2)>>2]|0)+16|0;f=l+(i<<5)|0;a[c>>2]=a[f>>2];a[c+4>>2]=a[f+4>>2];a[c+8>>2]=a[f+8>>2];a[c+12>>2]=a[f+12>>2];a[c+16>>2]=a[f+16>>2];a[c+20>>2]=a[f+20>>2];a[c+24>>2]=a[f+24>>2];a[c+28>>2]=a[f+28>>2];if(0){n=+b[f>>3];d=+b[l+(i<<5)+16>>3];g=d*.5;h=+b[l+(i<<5)+8>>3];B=+b[l+(i<<5)+24>>3];v=B*.5;b[w>>3]=+b[t+(i<<3)>>3];b[w+8>>3]=n-g;b[w+16>>3]=h-v;b[w+24>>3]=g+n;b[w+32>>3]=v+h;b[w+40>>3]=B*d;b[w+48>>3]=n;b[w+56>>3]=h;b[w+64>>3]=d;b[w+72>>3]=B;f3(r,94191,w)|0}i=i+1|0}L2(s);L2(t);L2(l);i=0;while(1){e=a[e>>2]|0;if((i|0)>=(u|0))break A;if(!(a[e+60>>2]|0))i_(e);e=e+52|0;i=i+1|0}}}while(0);k=o;return}function r_(A){A=A|0;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0,c=0.0,s=0.0;f=k;k=k+48|0;r=f;if(a[A+60>>2]|0){c=+b[A+24>>3];l=+b[A+32>>3];n=+b[A+40>>3];e=a[A+56>>2]|0;i=e+16|0;t=a[i>>2]|0;b[t+16>>3]=+b[A+16>>3];b[t+24>>3]=c;A=a[i>>2]|0;b[A+32>>3]=l*.013888888888888888;b[A+40>>3]=n*.013888888888888888;DH(e,a[(a[(Id(e)|0)+16>>2]|0)+116>>2]&1);a_(e);if(0){t=a[15712]|0;A=Vh(e)|0;i=a[i>>2]|0;s=+b[i+16>>3];n=+b[i+24>>3];l=+b[i+80>>3];c=+b[i+96>>3]+ +b[i+88>>3];a[r>>2]=A;b[r+8>>3]=s;b[r+16>>3]=n;b[r+24>>3]=l;b[r+32>>3]=c;f3(t,94133,r)|0}}else{e=A+48|0;while(1){e=a[e>>2]|0;if(!e)break;r_(e);e=e+52|0}l=+b[A+32>>3];s=+b[A+40>>3];n=+b[A+16>>3]-l*.5;c=+b[A+24>>3]-s*.5;t=a[(a[A+56>>2]|0)+16>>2]|0;b[t+16>>3]=n;b[t+24>>3]=c;b[t+32>>3]=n+l;b[t+40>>3]=c+s}k=f;return}function f_(A){A=A|0;var e=0,i=0,r=0;r=a[A+64>>2]|0;e=A+48|0;i=0;while(1){e=a[e>>2]|0;if((i|0)>=(r|0))break;f_(e);e=e+52|0;i=i+1|0}L2(A);return}function a_(A){A=A|0;var e=0,i=0,f=0,n=0;n=k;k=k+48|0;f=n;e=n+8|0;i=a[47150]|0;if(i|0?(r[(Uo(A,i)|0)>>0]|0)==0:0){b[f>>3]=+b[(a[A+16>>2]|0)+80>>3]*.7;P4(e,94168,f)|0;Vo(A,a[47150]|0,e)|0}FR(A);k=n;return}function n_(A,e){A=A|0;e=e|0;var i=0.0;i=+b[a[A>>2]>>3]-+b[a[e>>2]>>3];return(i<0.0?1:(i>0.0)<<31>>31)|0}function l_(A,e){A=A|0;e=e|0;var i=0;i=qF(72)|0;b[i>>3]=+c_(A,e);a[i+60>>2]=1;a[i+56>>2]=A;return i|0}function t_(A,e){A=A|0;e=e|0;var i=0.0;i=+oR(a[A+56>>2]|0,e,0.0,0.0);if(i==0.0)i=+b[A+8>>3];else{i=+z(+ +b[A+8>>3])+i*2.0;i=i*i}return+i}function c_(A,e){A=A|0;e=e|0;var i=0.0;i=+oR(A,e,1.0,0.0);return+(i==0.0?1.0e3:i*1.0e3)}function b_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0.0,n=0,l=0,t=0.0;l=k;k=k+32|0;n=l;r=0;f=0.0;while(1){if((r|0)>=(A|0))break;t=+b[e+(r<<3)>>3]+f;r=r+1|0;f=t}if(f>+b[i+24>>3]*+b[i+16>>3]+.001)r=0;else{r=qF(A<<5)|0;a[n>>2]=a[i>>2];a[n+4>>2]=a[i+4>>2];a[n+8>>2]=a[i+8>>2];a[n+12>>2]=a[i+12>>2];a[n+16>>2]=a[i+16>>2];a[n+20>>2]=a[i+20>>2];a[n+24>>2]=a[i+24>>2];a[n+28>>2]=a[i+28>>2];s_(A,e,r,0,0.0,1.0,0.0,1.0,n)}k=l;return r|0}function s_(A,e,i,r,f,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=+l;t=+t;c=c|0;var s=0,w=0.0,u=0.0,o=0,h=0.0,d=0.0,B=0.0,v=0.0,g=0,E=0.0,C=0,I=0,Z=0,G=0,Q=0,m=0.0;G=k;k=k+112|0;Z=G+72|0;g=G+40|0;o=G+32|0;s=G;C=c+16|0;h=+b[C>>3];I=c+24|0;d=+b[I>>3];E=+b[c+16+((!(h>3];do{if((A|0)>=1){if(0){Q=a[15712]|0;m=+b[c+8>>3];b[s>>3]=+b[c>>3];b[s+8>>3]=h;b[s+16>>3]=m;b[s+24>>3]=d;f3(Q,94228,s)|0;a[o>>2]=r;f3(Q,94274,o)|0}if(!r){l=+b[e>>3];m=E*E;E=l/m;m=m/l;a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A,e,i,1,l,l,l,E>m?E:m,Z);break}if((A|0)>(r|0)?(v=+b[e+(r<<3)>>3],w=vn?n:v,v=v+l,u=v/E,u=u*u,m=u/B,u=w/u,u=m>u?m:u,u<=t):0){a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A,e,i,r+1|0,w,B,v,u,Z);break}h=l/E;if(0){Q=a[15712]|0;a[g>>2]=r;b[g+8>>3]=l;b[g+16>>3]=E;b[g+24>>3]=h;f3(Q,94299,g)|0}w=+b[C>>3];if(E==w){u=1.0/h;o=c+8|0;w=+b[c>>3]-w*.5;s=0;while(1){if((s|0)>=(r|0))break;b[i+(s<<5)+24>>3]=h;m=+b[e+(s<<3)>>3]*u;b[i+(s<<5)+16>>3]=m;b[i+(s<<5)+8>>3]=(+b[I>>3]-h)*.5+ +b[o>>3];b[i+(s<<5)>>3]=m*.5+w;w=m+w;s=s+1|0}b[o>>3]=+b[o>>3]-h*.5;s=1}else{u=1.0/h;w=+b[I>>3]*.5+ +b[c+8>>3];s=0;while(1){if((s|0)>=(r|0))break;b[i+(s<<5)+16>>3]=h;m=+b[e+(s<<3)>>3]*u;b[i+(s<<5)+24>>3]=m;b[i+(s<<5)>>3]=(h-+b[C>>3])*.5+ +b[c>>3];b[i+(s<<5)+8>>3]=w-m*.5;w=w-m;s=s+1|0}b[c>>3]=+b[c>>3]+h*.5;s=0}Q=c+16+(s<<3)|0;b[Q>>3]=+b[Q>>3]-h;a[Z>>2]=a[c>>2];a[Z+4>>2]=a[c+4>>2];a[Z+8>>2]=a[c+8>>2];a[Z+12>>2]=a[c+12>>2];a[Z+16>>2]=a[c+16>>2];a[Z+20>>2]=a[c+20>>2];a[Z+24>>2]=a[c+24>>2];a[Z+28>>2]=a[c+28>>2];s_(A-r|0,e+(r<<3)|0,i+(r<<5)|0,0,0.0,0.0,0.0,1.0,Z)}}while(0);k=G;return}function w_(A,e,i,r,f){A=A|0;e=+e;i=+i;r=+r;f=+f;b[A>>3]=e;b[A+8>>3]=i;b[A+16>>3]=r;b[A+24>>3]=f;return}function u_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,l=0,t=0,s=0.0,w=0.0,u=0.0,o=0.0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0;W=k;k=k+96|0;L=W+48|0;m=W+24|0;Q=W+16|0;G=W+8|0;g=W+80|0;E=W;C=A+16|0;I=e+4|0;Z=g+4|0;B=cd(A)|0;i=0;r=0;n=0;l=0;while(1){if(!B)break;v=Oo(A,B)|0;h=i;d=l;while(1){if(!v)break;i=(f[(a[v+16>>2]|0)+168>>1]|0)==0;do{if((B|0)==(a[((a[v>>2]&3|0)==2?v:v+-48|0)+40>>2]|0))if(i){l=h;i=d}else{if(!r){i=qF(96)|0;a[i+84>>2]=qF(((vh(A)|0)<<5)+11520|0)|0;r=i}else i=d;Gp(r,v,a[(a[C>>2]|0)+248>>2]|0);l=h}else if(!i){n=k_(v,e)|0;l=n+8|0;if(qP(a[l>>2]|0,a[n>>2]|0)|0){t=Wt(a[l>>2]|0,a[n>>2]|0)|0;if(!t){ao(0,94352,G)|0;l=1;i=d;break}else i=v;while(1){if(!i)break;y=i+16|0;z=(a[y>>2]|0)+144|0;zp(E,i,t,0,a[l>>2]|0,a[n>>2]|0);D=E;Y=a[D+4>>2]|0;a[z>>2]=a[D>>2];a[z+4>>2]=Y;Dp(A,i,a[l>>2]|0,a[n>>2]|0,0);i=a[(a[y>>2]|0)+172>>2]|0}o_(n);l=h;i=d;break}if(!h){qj(g,A);i=sC(A,8,8)|0;ao(0,94436,Q)|0;w=+(i|0);u=+c[e>>2];o=+c[I>>2];if(!(u>=w)&!(o>=w)){s=+c[g>>2];w=+c[Z>>2];if(!(!(s<=u)&!(w<=o))){b[L>>3]=s;b[L+8>>3]=w;b[L+16>>3]=u;b[L+24>>3]=o;ao(3,94552,L)|0}}else{a[m>>2]=i;b[m+8>>3]=u;b[m+16>>3]=o;ao(3,94502,m)|0}l=1;i=d}else{l=h;i=d}}else{l=h;i=d}}while(0);v=_o(A,v)|0;h=l;d=i}B=bd(A,B)|0;i=h;l=d}h_(n);if(r|0){L2(a[r+84>>2]|0);L2(l)}k=W;return i|0}function k_(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+16|0;s=o+4|0;w=o;i=a[A>>2]&3;f=a[((i|0)==2?A:A+-48|0)+40>>2]|0;i=a[((i|0)==3?A:A+48|0)+40>>2]|0;h=f+16|0;l=a[(a[h>>2]|0)+212>>2]|0;a[s>>2]=l;t=i+16|0;n=a[(a[t>>2]|0)+212>>2]|0;a[w>>2]=n;b=qF(12)|0;A=l;c=n;if(r[(a[h>>2]|0)+118>>0]|0){A=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2]|0;a[s>>2]=A;f=l;l=A}if(!(r[(a[t>>2]|0)+118>>0]|0))t=c;else{t=a[(a[(a[c+16>>2]|0)+140>>2]|0)+48>>2]|0;a[w>>2]=t;i=n;n=t}l=a[(a[(a[l+16>>2]|0)+140>>2]|0)+44>>2]|0;n=a[(a[(a[n+16>>2]|0)+140>>2]|0)+44>>2]|0;if((l|0)<=(n|0))if((n|0)>(l|0)){d_(b,n,i,l,w,e);A=a[w>>2]|0;n=A;i=w;u=11}else l=t;else{d_(b,l,f,n,s,e);A=a[s>>2]|0;f=A;n=i;i=s;u=11}while(1){if((u|0)==11){a[i>>2]=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2];i=n;A=a[s>>2]|0;l=a[w>>2]|0}if((A|0)==(l|0))break;B_(b,A,0,f,e);B_(b,l,i,0,e);a[s>>2]=a[(a[(a[A+16>>2]|0)+140>>2]|0)+48>>2];f=A;n=l;i=w;A=l;u=11}B_(b,l,i,f,e);k=o;return b|0}function o_(A){A=A|0;a[A>>2]=0;return}function h_(A){A=A|0;if(A|0){L2(a[A+8>>2]|0);L2(A)}return}function d_(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;t=f;while(1){l=a[t>>2]|0;if((e|0)<=(r|0))break;B_(A,l,i,0,n);e=e+-1|0;t=(a[(a[l+16>>2]|0)+140>>2]|0)+48|0;i=l}a[f>>2]=i;return}function B_(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;l=cd(e)|0;while(1){if(!l)break;t=a[l+16>>2]|0;if(!((l|0)==(f|0)|((l|0)==(i|0)?1:(a[t+212>>2]|0)!=(e|0)))?(r[t+118>>0]|0)==0:0)v_(A,Lp(l,n,0)|0);l=bd(e,l)|0}t=e+16|0;e=1;while(1){l=a[t>>2]|0;if((e|0)>(a[l+180>>2]|0))break;l=a[(a[l+184>>2]|0)+(e<<2)>>2]|0;if(!((l|0)==(i|0)|(l|0)==(f|0)))v_(A,g_(l,n)|0);e=e+1|0}return}function v_(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;r=A+4|0;f=a[r>>2]|0;n=A+8|0;i=a[n>>2]|0;do{if((f|0)==(a[A>>2]|0))if(!i){i=$F(400)|0;a[n>>2]=i;a[r>>2]=100;break}else{a[r>>2]=f<<1;i=eV(i,f<<3)|0;a[n>>2]=i;break}}while(0);n=a[A>>2]|0;a[A>>2]=n+1;a[i+(n<<2)>>2]=e;return}function g_(A,e){A=A|0;e=e|0;var i=0.0,f=0.0,n=0.0,l=0.0,t=0.0,s=0.0,w=0,u=0.0,k=0.0,o=0.0;w=qF(8)|0;A=a[A+16>>2]|0;i=+b[A+16>>3];s=+b[A+24>>3];f=+b[A+32>>3];t=+b[A+40>>3];a[w+4>>2]=4;A=qF(64)|0;a[w>>2]=A;if(!(r[e+8>>0]|0)){o=+c[e>>2];k=+c[e+4>>2];n=(f+i)*.5*(o+-1.0);u=(t+s)*.5*(k+-1.0);l=i*o-n;n=f*o-n;f=t*k-u;i=s*k-u}else{n=+c[e>>2];o=+c[e+4>>2];l=i-n;n=f+n;f=t+o;i=s-o}b[A>>3]=l;b[A+8>>3]=i;b[A+16>>3]=l;b[A+24>>3]=f;b[A+32>>3]=n;b[A+40>>3]=f;b[A+48>>3]=n;b[A+56>>3]=i;return w|0}function E_(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;u=k;k=k+160|0;w=u+16|0;c=u+8|0;n=u;b=u+24|0;s=qF(vh(A)|0)|0;l=A+16|0;f=a[a[(a[l>>2]|0)+140>>2]>>2]|0;A:do{if(!f){n=0;f=0}else{o=Vh(A)|0;t=a[46923]|0;a[n>>2]=o;a[n+4>>2]=t;P4(b,94612,n)|0;t=XB(A,b,1)|0;Td(t,137483,280,1)|0;n=qF(56)|0;a[(a[t+16>>2]|0)+140>>2]=n;a[n>>2]=f;a[n+4>>2]=a[(a[(a[l>>2]|0)+140>>2]|0)+4>>2];while(1){n=a[f+4>>2]|0;if(!n){n=t;f=1;break A}if(!(r[s+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0))C_(A,n,t,s);f=f+16|0}}}while(0);l=0;t=cd(A)|0;while(1){if(!t)break;o=a[t+16>>2]|0;if((r[s+(a[o+120>>2]|0)>>0]|0)==0?(r[o+119>>0]|0)==3:0){if(!n){o=Vh(A)|0;n=(a[46923]|0)+f|0;a[c>>2]=o;a[c+4>>2]=n;P4(b,94612,c)|0;n=XB(A,b,1)|0;Td(n,137483,280,1)|0;o=qF(56)|0;a[(a[n+16>>2]|0)+140>>2]=o;f=f+1|0}C_(A,t,n,s);l=1}t=bd(A,t)|0}if(n|0)VE(n)|0;n=cd(A)|0;while(1){if(!n)break;if(!(r[s+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0)){c=Vh(A)|0;o=(a[46923]|0)+f|0;a[w>>2]=c;a[w+4>>2]=o;P4(b,94620,w)|0;o=XB(A,b,1)|0;Td(o,137483,280,1)|0;c=qF(56)|0;a[(a[o+16>>2]|0)+140>>2]=c;C_(A,n,o,s);VE(o)|0;f=f+1|0}n=bd(A,n)|0}L2(s);a[46923]=(a[46923]|0)+f;if(e|0)a[e>>2]=f;if(i|0)a[i>>2]=l;t=qF((f<<2)+4|0)|0;l=t;n=RB(A)|0;while(1){if(!n)break;a[l>>2]=n;l=l+4|0;n=HB(n)|0;f=f+-1|0}if(!f){a[l>>2]=0;k=u;return t|0}else vA(94628,94639,134,94646);return 0}function C_(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0;r[f+(a[(a[e+16>>2]|0)+120>>2]|0)>>0]=1;kd(i,e,1)|0;t=Ah(A,e)|0;while(1){if(!t)break;l=a[t>>2]&3;n=a[((l|0)==3?t:t+48|0)+40>>2]|0;if((n|0)==(e|0))n=a[((l|0)==2?t:t+-48|0)+40>>2]|0;if(!(r[f+(a[(a[n+16>>2]|0)+120>>2]|0)>>0]|0))C_(A,n,i,f);t=eh(A,t,e)|0}return}function I_(A){A=A|0;var e=0;e=$F(24)|0;a[46924]=e;a[e>>2]=jk(18204,a[4581]|0)|0;a[e+16>>2]=0;a[e+12>>2]=0;a[e+4>>2]=Z_(A)|0;return e|0}function Z_(A){A=A|0;var e=0,i=0;e=$F(16)|0;a[e+12>>2]=0;i=$F(A*20|0)|0;a[e>>2]=i;a[e+8>>2]=i+(A*20|0);a[e+4>>2]=i;return e|0}function G_(A,e,i){A=A|0;e=e|0;i=i|0;i=m_(a[46924]|0)|0;a[i>>2]=a[e>>2];a[i+4>>2]=a[e+4>>2];a[i+8>>2]=0;return i|0}function Q_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(a[e>>2]|0)-(a[i>>2]|0)|0;if(!A)A=(a[e+4>>2]|0)-(a[i+4>>2]|0)|0;return A|0}function m_(A){A=A|0;var e=0,i=0,r=0,f=0;f=A+8|0;A=a[f>>2]|0;e=a[A+4>>2]|0;if((e|0)==(a[A+8>>2]|0)){i=A+12|0;r=a[i>>2]|0;if(!r){A=Z_(((e-(a[A>>2]|0)|0)/20|0)<<1)|0;a[i>>2]=A}else A=r;a[f>>2]=A;e=a[A>>2]|0;a[A+4>>2]=e}a[A+4>>2]=e+20;return e|0}function L_(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+12|0;i=a[f>>2]|0;if((i|0)<(e|0)){r=i<<1;r=(r|0)<(e|0)?e:r;e=A+16|0;i=a[e>>2]|0;if(i|0)L2(i);a[e>>2]=$F(r<<3)|0;a[f>>2]=r}return}function W_(A){A=A|0;var e=0;e=a[A>>2]|0;W5[a[e>>2]&63](e,0,64)|0;a[A+20>>2]=a[A+16>>2];e=a[A+4>>2]|0;a[A+8>>2]=e;a[e+4>>2]=a[e>>2];return}function y_(A){A=A|0;pk(a[A>>2]|0)|0;z_(a[A+4>>2]|0);L2(a[A+16>>2]|0);L2(A);return}function z_(A){A=A|0;var e=0;while(1){if(!A)break;e=a[A+12>>2]|0;L2(a[A>>2]|0);L2(A);A=e}return}function Y_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0;n=k;k=k+32|0;f=n;l=n+12|0;a[l>>2]=e;a[l+4>>2]=i;t=a[A>>2]|0;l=(W5[a[t>>2]&63](t,l,1)|0)+8|0;a[l>>2]=D_(A,r,a[l>>2]|0)|0;if(0>2){t=a[15712]|0;l=Vh(r)|0;a[f>>2]=e;a[f+4>>2]=i;a[f+8>>2]=l;f3(t,94656,f)|0}k=n;return}function D_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=A+20|0;A=a[r>>2]|0;a[r>>2]=A+8;a[A>>2]=e;a[A+4>>2]=i;return A|0}function M_(A,e){A=A|0;e=e|0;$k(a[A>>2]|0,e,A)|0;return}function F_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+32|0;f=r;a[f>>2]=e;a[f+4>>2]=i;i=a[A>>2]|0;i=W5[a[i>>2]&63](i,f,4)|0;k=r;return i|0}function V_(A){A=A|0;L2(a[A+8>>2]|0);L2(A);return}function J_(A){A=A|0;return+ +b[A>>3]}function N_(A){A=A|0;return a[A+8>>2]|0}function X_(A){A=A|0;return~~+b[A+16>>3]|0}function R_(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;e=a[e>>2]|0;if((e|0)>=(a[i>>2]|0)){e=e+10|0;a[i>>2]=e;a[r>>2]=eV(a[r>>2]|0,U(A<<3,e)|0)|0;a[f>>2]=eV(a[f>>2]|0,a[i>>2]<<3)|0;a[n>>2]=eV(a[n>>2]|0,a[i>>2]<<3)|0}return}function H_(A,e,i,r,f,n,l,t,c,s,w){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;w=w|0;var u=0,k=0,o=0,h=0,d=0.0;b[s>>3]=+b[s>>3]+1.0;A:do{if(A|0){h=a[A+16>>2]|0;u=a[A+40>>2]|0;if(u|0)do{R_(h,f,n,l,t,c);if((X_(Zu(u)|0)|0)!=(r|0)){o=N_(Zu(u)|0)|0;k=0;while(1){if((k|0)>=(h|0))break;b[(a[l>>2]|0)+((U(a[f>>2]|0,h)|0)+k<<3)>>3]=+b[o+(k<<3)>>3];k=k+1|0}d=+J_(Zu(u)|0);b[(a[t>>2]|0)+(a[f>>2]<<3)>>3]=d;d=+qs(i,o,h);o=a[f>>2]|0;b[(a[c>>2]|0)+(o<<3)>>3]=d;a[f>>2]=o+1}u=Gu(u)|0}while((u|0)!=0);o=A+36|0;if(a[o>>2]|0){d=+qs(a[A+20>>2]|0,i,h);if(!(+b[A+24>>3]=(k|0))break A;H_(a[(a[o>>2]|0)+(u<<2)>>2]|0,e,i,r,f,n,l,t,c,s,w);u=u+1|0}}R_(h,f,n,l,t,c);k=A+32|0;u=0;while(1){if((u|0)>=(h|0))break;b[(a[l>>2]|0)+((U(a[f>>2]|0,h)|0)+u<<3)>>3]=+b[(a[k>>2]|0)+(u<<3)>>3];u=u+1|0}b[(a[t>>2]|0)+(a[f>>2]<<3)>>3]=+b[A+8>>3];d=+qs(a[k>>2]|0,i,h);t=a[f>>2]|0;b[(a[c>>2]|0)+(t<<3)>>3]=d;a[f>>2]=t+1}}}while(0);return}function p_(A,e,i,r,f,n,l,t,c,s,w){A=A|0;e=+e;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;s=s|0;w=w|0;var u=0;u=a[A+16>>2]|0;b[s>>3]=0.0;a[f>>2]=0;a[w>>2]=0;a[n>>2]=10;if(!(a[l>>2]|0))a[l>>2]=$F(u*80|0)|0;if(!(a[t>>2]|0))a[t>>2]=$F(a[n>>2]<<3)|0;if(!(a[c>>2]|0))a[c>>2]=$F(a[n>>2]<<3)|0;H_(A,e,i,r,f,n,l,t,c,s,w);return}function U_(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=+r;f=+f;n=+n;l=l|0;t=t|0;var c=0,s=0,w=0;w=a[A>>2]|0;s=a[A+16>>2]|0;c=0;while(1){if((c|0)==4)break;b[l+(c<<3)>>3]=0.0;c=c+1|0}a[t>>2]=0;s=U(s,w)|0;c=0;while(1){if((c|0)>=(s|0))break;b[e+(c<<3)>>3]=0.0;c=c+1|0}x_(A,A,i,e,r,f,n,l);T_(A,e,l);r=1.0/+(w|0);c=0;while(1){if((c|0)==4)break;w=l+(c<<3)|0;b[w>>3]=+b[w>>3]*r;c=c+1|0}return}function x_(A,e,i,r,f,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;n=+n;l=+l;t=t|0;var c=0,s=0.0,w=0,u=0.0,k=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0;A:do{if((A|0)!=0&(e|0)!=0){if((a[A>>2]|0)>0?(a[e>>2]|0)>0:0){C=a[A+16>>2]|0;o=a[A+40>>2]|0;E=e+40|0;k=a[E>>2]|0;c=A+32|0;w=e+32|0;d=+qs(a[c>>2]|0,a[w>>2]|0,C);s=+b[A+24>>3];u=+b[e+24>>3];if(u+s>3]=+b[t>>3]+1.0;h=a[c>>2]|0;u=+b[A+8>>3];o=j_(A,C)|0;k=a[w>>2]|0;s=+b[e+8>>3];w=j_(e,C)|0;if(!(d>0.0))vA(94798,94681,191,94764);u=u*l*s;s=+Y(+d,+(1.0-n));s=1.0/(n==-1.0?d*d:s);c=0;while(1){if((c|0)>=(C|0))break A;l=u*(+b[h+(c<<3)>>3]-+b[k+(c<<3)>>3])*s;r=o+(c<<3)|0;b[r>>3]=l+ +b[r>>3];r=w+(c<<3)|0;b[r>>3]=+b[r>>3]-l;c=c+1|0}}w=(o|0)!=0;c=(k|0)!=0;g=(A|0)==(e|0);if(w&c){B=t+8|0;v=n==-1.0;f=1.0-n;w=o;while(1){if(!w)break A;o=N_(Zu(w)|0)|0;d=+J_(Zu(w)|0);h=X_(Zu(w)|0)|0;A=S_(r,h,w,C)|0;d=d*l;k=a[E>>2]|0;while(1){if(!k)break;e=N_(Zu(k)|0)|0;s=+J_(Zu(k)|0);c=X_(Zu(k)|0)|0;t=S_(r,c,k,C)|0;e:do{if(!((h|0)==(c|0)|g&(c|0)<(h|0))){b[B>>3]=+b[B>>3]+1.0;n=+Ks(i,C,h,c);s=d*s;u=+Y(+n,+f);u=1.0/(v?n*n:u);c=0;while(1){if((c|0)>=(C|0))break e;n=s*(+b[o+(c<<3)>>3]-+b[e+(c<<3)>>3])*u;I=A+(c<<3)|0;b[I>>3]=n+ +b[I>>3];I=t+(c<<3)|0;b[I>>3]=+b[I>>3]-n;c=c+1|0}}}while(0);k=Gu(k)|0}w=Gu(w)|0}}if(g){h=1<=(h|0))break A;o=a[(a[k>>2]|0)+(w<<2)>>2]|0;c=w;while(1){if((c|0)==(h|0))break;x_(o,a[(a[k>>2]|0)+(c<<2)>>2]|0,i,r,f,n,l,t);c=c+1|0}w=w+1|0}}if(!(w|!(s>u))){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,e,i,r,f,n,l,t);c=c+1|0}}if(!(c|!(u>s))){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,A,i,r,f,n,l,t);c=c+1|0}}if(!w){k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,e,i,r,f,n,l,t);c=c+1|0}}if(c)vA(138394,94681,273,94764);k=1<=(k|0))break A;x_(a[(a[w>>2]|0)+(c<<2)>>2]|0,A,i,r,f,n,l,t);c=c+1|0}}vA(94739,94681,175,94764)}}while(0);return}function T_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0;r=a[A+40>>2]|0;w=a[A+16>>2]|0;n=+b[A+8>>3];u=j_(A,w)|0;if(!(n>0.0))vA(94673,94681,289,94692);s=i+16|0;b[s>>3]=+b[s>>3]+1.0;A:do{if(!r){s=1<=(s|0))break A;f=a[(a[c>>2]|0)+(A<<2)>>2]|0;if(f|0){if((a[f>>2]|0)<=0)break;t=j_(f,w)|0;l=+b[f+8>>3]*n;r=0;while(1){if((r|0)>=(w|0))break;k=t+(r<<3)|0;b[k>>3]=+b[k>>3]+ +b[u+(r<<3)>>3]*l;r=r+1|0}T_(f,e,i)}A=A+1|0}vA(94728,94681,307,94692)}else{l=1.0/n;while(1){if(!r)break A;f=S_(e,X_(Zu(r)|0)|0,r,w)|0;n=+J_(Zu(r)|0)*l;A=0;while(1){if((A|0)>=(w|0))break;k=f+(A<<3)|0;b[k>>3]=+b[k>>3]+ +b[u+(A<<3)>>3]*n;A=A+1|0}r=Gu(r)|0}}}while(0);return}function j_(A,e){A=A|0;e=e|0;var i=0;i=A+48|0;A=a[i>>2]|0;A:do{if(!A){A=$F(e<<3)|0;a[i>>2]=A;i=0;while(1){if((i|0)>=(e|0))break A;b[A+(i<<3)>>3]=0.0;i=i+1|0}}}while(0);return A|0}function S_(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=a[(Zu(i)|0)+24>>2]|0;if(!f){f=A+((U(r,e)|0)<<3)|0;a[(Zu(i)|0)+24>>2]=f;f=a[(Zu(i)|0)+24>>2]|0}return f|0}function P_(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0.0,t=0,c=0,s=0,w=0,u=0,k=0.0,o=0;w=A<<3;c=$F(w)|0;s=$F(w)|0;w=$F(w)|0;if((c|0)!=0&(s|0)!=0&(w|0)!=0){a=0;while(1){if((a|0)>=(A|0)){a=0;break}b[c+(a<<3)>>3]=+b[r+(a<<3)>>3];a=a+1|0}while(1){if((a|0)>=(A|0)){n=1;break}b[s+(a<<3)>>3]=+b[r+(a<<3)>>3];a=a+1|0}while(1){if((n|0)>=(e|0))break;t=U(n,A)|0;a=0;while(1){if((a|0)>=(A|0))break;u=c+(a<<3)|0;l=+b[u>>3];o=r+(a+t<<3)|0;k=+b[o>>3];b[u>>3]=l>3];l=+b[o>>3];b[u>>3]=k>l?k:l;a=a+1|0}n=n+1|0}l=+b[s>>3]-+b[c>>3];a=0;while(1){if((a|0)>=(A|0))break;o=c+(a<<3)|0;u=s+(a<<3)|0;b[w+(a<<3)>>3]=(+b[u>>3]+ +b[o>>3])*.5;k=+b[u>>3]-+b[o>>3];l=l>k?l:k;a=a+1|0}a=O_(A,w,l==0.0?5.2e-06:l*.52,i)|0;A:do{if(!f){n=0;while(1){if((n|0)>=(e|0))break A;a=K_(a,r+((U(n,A)|0)<<3)|0,1.0,n)|0;n=n+1|0}}else{n=0;while(1){if((n|0)>=(e|0))break A;o=r+((U(n,A)|0)<<3)|0;a=K_(a,o,+b[f+(n<<3)>>3],n)|0;n=n+1|0}}}while(0);L2(c);L2(s);L2(w)}else{L2(c);L2(s);L2(w);a=0}return a|0}function O_(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var f=0,n=0,l=0;n=$F(56)|0;a[n+16>>2]=A;a[n>>2]=0;l=$F(A<<3)|0;a[n+20>>2]=l;f=0;while(1){if((f|0)>=(A|0))break;b[l+(f<<3)>>3]=+b[e+(f<<3)>>3];f=f+1|0}if(i>0.0){b[n+24>>3]=i;b[n+8>>3]=0.0;a[n+32>>2]=0;a[n+36>>2]=0;a[n+40>>2]=0;a[n+44>>2]=r;a[n+48>>2]=0;return n|0}else vA(94896,94681,410,94906);return 0}function K_(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;if(!A)A=0;else __(A,e,i,r,0)|0;return A|0}function __(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0,c=0.0,s=0.0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0;v=A+16|0;d=a[v>>2]|0;B=a[A+44>>2]|0;w=a[A>>2]|0;do{if(!w){a[A>>2]=1;b[A+8>>3]=i;t=$F(d<<3)|0;a[A+32>>2]=t;l=a[v>>2]|0;n=0;while(1){if((n|0)>=(l|0))break;b[t+(n<<3)>>3]=+b[e+(n<<3)>>3];n=n+1|0}n=q_(l,i,e,r)|0;l=A+40|0;if(!(a[l>>2]|0)){a[l>>2]=Eu(n)|0;break}else vA(94807,94681,502,94815)}else{if((B|0)<=(f|0)){if(a[A+36>>2]|0)vA(94881,94681,541,94815);n=w+1|0;a[A>>2]=n;l=A+8|0;b[l>>3]=+b[l>>3]+i;l=A+32|0;c=+(n|0);s=1.0/+(w+2|0);n=0;while(1){if((n|0)>=(d|0))break;h=(a[l>>2]|0)+(n<<3)|0;b[h>>3]=(+b[h>>3]*c+ +b[e+(n<<3)>>3])*s;n=n+1|0}n=q_(d,i,e,r)|0;l=A+40|0;t=a[l>>2]|0;if(!t)vA(94891,94681,547,94815);else{a[l>>2]=Iu(t,n)|0;break}}l=A+8|0;b[l>>3]=+b[l>>3]+i;l=A+32|0;s=+(w|0);c=1.0/+(w+1|0);n=0;while(1){if((n|0)>=(d|0))break;h=(a[l>>2]|0)+(n<<3)|0;b[h>>3]=(+b[h>>3]*s+ +b[e+(n<<3)>>3])*c;n=n+1|0}h=A+36|0;o=1<>2]|0)){a[h>>2]=$F(o<<2)|0;n=0;while(1){if((n|0)>=(o|0))break A;a[(a[h>>2]|0)+(n<<2)>>2]=0;n=n+1|0}}}while(0);u=A+20|0;n=a[u>>2]|0;t=$_(d,n,e)|0;if(!((t|0)<(o|0)&(t|0)>-1))vA(94837,94681,515,94815);l=a[(a[h>>2]|0)+(t<<2)>>2]|0;if(!l){l=Aq(a[v>>2]|0,n,+b[A+24>>3]*.5,B,t)|0;a[(a[h>>2]|0)+(t<<2)>>2]=l;l=a[(a[h>>2]|0)+(t<<2)>>2]|0}k=f+1|0;r=__(l,e,i,r,k)|0;a[(a[h>>2]|0)+(t<<2)>>2]=r;if(!(a[(a[h>>2]|0)+(t<<2)>>2]|0))vA(94860,94681,519,94815);e=A+40|0;n=a[e>>2]|0;do{if(n|0){w=X_(Zu(n)|0)|0;if((a[A>>2]|0)!=1)vA(94871,94681,523,94815);f=N_(Zu(a[e>>2]|0)|0)|0;c=+J_(Zu(a[e>>2]|0)|0);l=a[u>>2]|0;t=$_(d,l,f)|0;if(!((t|0)<(o|0)&(t|0)>-1))vA(94837,94681,527,94815);n=a[(a[h>>2]|0)+(t<<2)>>2]|0;if(!n){n=Aq(a[v>>2]|0,l,+b[A+24>>3]*.5,B,t)|0;a[(a[h>>2]|0)+(t<<2)>>2]=n;n=a[(a[h>>2]|0)+(t<<2)>>2]|0}v=__(n,f,c,w,k)|0;a[(a[h>>2]|0)+(t<<2)>>2]=v;if(!(a[(a[h>>2]|0)+(t<<2)>>2]|0))vA(94860,94681,532,94815);else{Cu(a[e>>2]|0,106);a[e>>2]=0;break}}}while(0);a[A>>2]=(a[A>>2]|0)+1}}while(0);return A|0}function q_(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var f=0,n=0;n=$F(32)|0;b[n>>3]=e;f=$F(A<<3)|0;a[n+8>>2]=f;b[n+16>>3]=+(r|0);r=0;while(1){if((r|0)>=(A|0))break;b[f+(r<<3)>>3]=+b[i+(r<<3)>>3];r=r+1|0}a[n+24>>2]=0;return n|0}function $_(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;f=0;while(1){r=A+-1|0;if((A|0)<=0)break;A=r;f=f<<1|!(+b[i+(r<<3)>>3]-+b[e+(r<<3)>>3]<0.0)&1}return f|0}function Aq(A,e,i,r,f){A=A|0;e=e|0;i=+i;r=r|0;f=f|0;var n=0,l=0,t=0.0;n=O_(A,e,i,r)|0;l=a[n+20>>2]|0;t=-i;r=0;e=f;while(1){if((r|0)>=(A|0))break;f=l+(r<<3)|0;b[f>>3]=+b[f>>3]+((e&1|0)==0?t:i);r=r+1|0;e=(e|0)/2|0}return n|0}function eq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if(A|0){e=a[A+16>>2]|0;L2(a[A+20>>2]|0);L2(a[A+32>>2]|0);L2(a[A+48>>2]|0);n=A+36|0;r=a[n>>2]|0;if(r|0){f=1<=(f|0))break;eq(a[e+(i<<2)>>2]|0);i=i+1|0;e=a[n>>2]|0}L2(e)}Cu(a[A+40>>2]|0,106);L2(A)}return}function iq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0.0,d=0,B=0,v=0;A:do{if(!A)e=0;else{s=a[A+20>>2]|0;w=a[A+24>>2]|0;i=a[A+8>>2]|0;u=a[A>>2]|0;r=a[A+4>>2]|0;l=A+16|0;if((a[A+32>>2]|0)!=1)vA(94919,94943,76,94958);e=fq(r,u,i,a[l>>2]|0,1)|0;a[e+8>>2]=i;k=a[e+20>>2]|0;c=a[e+24>>2]|0;i=0;while(1){if((i|0)>(r|0)){i=0;break}a[k+(i<<2)>>2]=0;i=i+1|0}e:while(1){if((i|0)>=(u|0)){i=0;break}f=i+1|0;n=s+(f<<2)|0;i=a[s+(i<<2)>>2]|0;while(1){if((i|0)>=(a[n>>2]|0)){i=f;continue e}t=k+((a[w+(i<<2)>>2]|0)+1<<2)|0;a[t>>2]=(a[t>>2]|0)+1;i=i+1|0}}while(1){if((i|0)>=(r|0))break;t=i+1|0;n=k+(t<<2)|0;a[n>>2]=(a[n>>2]|0)+(a[k+(i<<2)>>2]|0);i=t}e:do{switch(a[l>>2]|0){case 1:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;h=+b[n+(i<<3)>>3];d=k+(a[d>>2]<<2)|0;o=a[d>>2]|0;a[d>>2]=o+1;b[A+(o<<3)>>3]=h;i=i+1|0}}}case 2:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;v=i<<1;d=k+(a[d>>2]<<2)|0;o=a[d>>2]|0;B=o<<1;b[A+(B<<3)>>3]=+b[n+(v<<3)>>3];b[A+((B|1)<<3)>>3]=+b[n+((v|1)<<3)>>3];a[d>>2]=o+1;i=i+1|0}}}case 4:{n=a[A+28>>2]|0;A=a[e+28>>2]|0;f=0;i:while(1){if((f|0)>=(u|0))break e;l=f+1|0;t=s+(l<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[t>>2]|0)){f=l;continue i}d=w+(i<<2)|0;a[c+(a[k+(a[d>>2]<<2)>>2]<<2)>>2]=f;B=a[n+(i<<2)>>2]|0;d=k+(a[d>>2]<<2)|0;v=a[d>>2]|0;a[d>>2]=v+1;a[A+(v<<2)>>2]=B;i=i+1|0}}}case 8:{f=0;i:while(1){if((f|0)>=(u|0))break e;n=f+1|0;A=s+(n<<2)|0;i=a[s+(f<<2)>>2]|0;while(1){if((i|0)>=(a[A>>2]|0)){f=n;continue i}B=k+(a[w+(i<<2)>>2]<<2)|0;v=a[B>>2]|0;a[B>>2]=v+1;a[c+(v<<2)>>2]=f;i=i+1|0}}}case 16:{rq(e);e=0;break A}default:{rq(e);e=0;break A}}}while(0);while(1){i=r+-1|0;if((r|0)<=0)break;a[k+(r<<2)>>2]=a[k+(i<<2)>>2];r=i}a[k>>2]=0}}while(0);return e|0}function rq(A){A=A|0;var e=0;if(A|0){e=a[A+20>>2]|0;if(e|0)L2(e);e=a[A+24>>2]|0;if(e|0)L2(e);L2(a[A+28>>2]|0);L2(A)}return}function fq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;A=nq(A,e,r,aq(r)|0,f)|0;if((i|0)>0)lq(A,i)|0;return A|0}function aq(A){A=A|0;switch(A|0){case 1:{A=8;break}case 2:{A=16;break}case 4:{A=4;break}case 8:{A=0;break}case 16:{A=0;break}default:A=0}return A|0}function nq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;n=$F(44)|0;a[n>>2]=A;a[n+4>>2]=e;a[n+8>>2]=0;a[n+12>>2]=0;a[n+16>>2]=i;a[n+40>>2]=r;if((f|0)==2)A=0;else A=$F((A<<2)+4|0)|0;a[n+20>>2]=A;a[n+24>>2]=0;a[n+28>>2]=0;a[n+32>>2]=f;a[n+36>>2]=0;return n|0}function lq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0;l=a[A+32>>2]|0;f=A+28|0;a[f>>2]=0;i=e<<2;r=$F(i)|0;if((l|0)!=2){a[A+24>>2]=r;i=a[A+40>>2]|0;if((e|0)!=0&(i|0)>0)n=4}else{a[A+20>>2]=r;a[A+24>>2]=$F(i)|0;i=a[A+40>>2]|0;n=4}if((n|0)==4)a[f>>2]=$F(U(i,e)|0)|0;a[A+12>>2]=e;return A|0}function tq(A,e){A=A|0;e=e|0;if(!(cq(A,e)|0)){e=iq(A)|0;if(!e)e=0;else{A=sq(A,e)|0;rq(e);e=A+36|0;a[e>>2]=a[e>>2]|3;e=A}}else e=bq(A)|0;return e|0}function cq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0.0;if(A){if((a[A+32>>2]|0)!=1)vA(94919,94943,187,95074);B=A+36|0;i=a[B>>2]|0;if((i&2|0)==0?(o=(e|0)!=0,(i&1|0)==0|o^1):0)if((a[A>>2]|0)==(a[A+4>>2]|0)?(v=iq(A)|0,(v|0)!=0):0){c=a[A+20>>2]|0;s=a[A+24>>2]|0;w=a[v+20>>2]|0;u=a[v+24>>2]|0;k=a[A>>2]|0;h=$F(k<<2)|0;e=0;while(1){if((e|0)>=(k|0))break;a[h+(e<<2)>>2]=-1;e=e+1|0}A:do{switch((o?8:a[A+16>>2]|0)|0){case 1:{n=a[A+28>>2]|0;l=a[v+28>>2]|0;e=0;while(1){if((e|0)>(k|0)){i=0;break}if((a[c+(e<<2)>>2]|0)==(a[w+(e<<2)>>2]|0))e=e+1|0;else{e=0;break A}}e:while(1){if((i|0)>=(k|0)){d=54;break A}r=c+(i<<2)|0;f=i+1|0;A=c+(f<<2)|0;e=a[r>>2]|0;while(1){if((e|0)>=(a[A>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}e=a[w+(i<<2)>>2]|0;A=a[w+(f<<2)>>2]|0;i=e;while(1){if((i|0)>=(A|0))break;if((a[h+(a[u+(i<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else i=i+1|0}while(1){if((e|0)>=(A|0)){i=f;continue e}g=+b[l+(e<<3)>>3]-+b[n+(a[h+(a[u+(e<<2)>>2]<<2)>>2]<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}else e=e+1|0}}}case 2:{l=a[A+28>>2]|0;t=a[v+28>>2]|0;e=0;while(1){if((e|0)>(k|0)){i=0;break}if((a[c+(e<<2)>>2]|0)==(a[w+(e<<2)>>2]|0))e=e+1|0;else{e=0;break A}}e:while(1){if((i|0)>=(k|0)){d=54;break A}f=c+(i<<2)|0;n=i+1|0;A=c+(n<<2)|0;e=a[f>>2]|0;while(1){if((e|0)>=(a[A>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}i=a[w+(i<<2)>>2]|0;r=a[w+(n<<2)>>2]|0;e=i;while(1){if((e|0)>=(r|0)){e=i;break}if((a[h+(a[u+(e<<2)>>2]<<2)>>2]|0)<(a[f>>2]|0)){e=0;break A}else e=e+1|0}while(1){if((e|0)>=(r|0)){i=n;continue e}i=e<<1;A=a[h+(a[u+(e<<2)>>2]<<2)>>2]<<1;g=+b[t+(i<<3)>>3]-+b[l+(A<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}g=+b[t+((i|1)<<3)>>3]-+b[l+((A|1)<<3)>>3];if((g>=0.0?g:-g)>1.0e-07){e=0;break A}else e=e+1|0}}}case 4:{f=a[A+28>>2]|0;n=a[v+28>>2]|0;e=0;e:while(1){if((e|0)>=(k|0)){d=54;break A}r=c+(e<<2)|0;l=e+1|0;A=c+(l<<2)|0;i=a[r>>2]|0;while(1){if((i|0)>=(a[A>>2]|0))break;a[h+(a[s+(i<<2)>>2]<<2)>>2]=i;i=i+1|0}e=a[w+(e<<2)>>2]|0;A=a[w+(l<<2)>>2]|0;i=e;while(1){if((i|0)>=(A|0))break;if((a[h+(a[u+(i<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else i=i+1|0}while(1){if((e|0)>=(A|0)){e=l;continue e}if((a[n+(e<<2)>>2]|0)==(a[f+(a[h+(a[u+(e<<2)>>2]<<2)>>2]<<2)>>2]|0))e=e+1|0;else{e=0;break A}}}}case 8:{A=0;e:while(1){if((A|0)>=(k|0)){d=54;break A}r=c+(A<<2)|0;f=A+1|0;i=c+(f<<2)|0;e=a[r>>2]|0;while(1){if((e|0)>=(a[i>>2]|0))break;a[h+(a[s+(e<<2)>>2]<<2)>>2]=e;e=e+1|0}i=a[w+(f<<2)>>2]|0;e=a[w+(A<<2)>>2]|0;while(1){if((e|0)>=(i|0)){A=f;continue e}if((a[h+(a[u+(e<<2)>>2]<<2)>>2]|0)<(a[r>>2]|0)){e=0;break A}else e=e+1|0}}}default:e=0}}while(0);if((d|0)==54){i=a[B>>2]|0;if(o)e=1;else{a[B>>2]=i|2;e=3}a[B>>2]=e|i;e=1}L2(h);rq(v)}else e=0;else e=1}else e=0;return e|0}function bq(A){A=A|0;var e=0,i=0,r=0,f=0;if(!A)e=0;else{r=A+8|0;f=A+40|0;e=wq(a[A>>2]|0,a[A+4>>2]|0,a[r>>2]|0,a[A+16>>2]|0,a[f>>2]|0,a[A+32>>2]|0)|0;i=A+20|0;y6(a[e+20>>2]|0,a[i>>2]|0,(a[A>>2]<<2)+4|0)|0;y6(a[e+24>>2]|0,a[A+24>>2]|0,a[(a[i>>2]|0)+(a[A>>2]<<2)>>2]<<2|0)|0;i=a[A+28>>2]|0;if(i|0)y6(a[e+28>>2]|0,i|0,U(a[r>>2]|0,a[f>>2]|0)|0)|0;a[e+36>>2]=a[A+36>>2];a[e+8>>2]=a[r>>2]}return e|0}function sq(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;o=a[A+20>>2]|0;d=a[A+24>>2]|0;B=a[e+20>>2]|0;v=a[e+24>>2]|0;if(!((A|0)!=0&(e|0)!=0))vA(94981,94943,973,94988);h=a[A+32>>2]|0;if(!((h|0)==1?(h|0)==(a[e+32>>2]|0):0))vA(95005,94943,974,94988);r=A+16|0;i=a[r>>2]|0;if((i|0)!=(a[e+16>>2]|0))vA(95055,94943,975,94988);k=a[A>>2]|0;f=a[A+4>>2]|0;if(((k|0)==(a[e>>2]|0)?(f|0)==(a[e+4>>2]|0):0)?(g=fq(k,f,(a[e+8>>2]|0)+(a[A+8>>2]|0)|0,i,1)|0,g|0):0){w=a[g+20>>2]|0;u=a[g+24>>2]|0;h=$F(f<<2)|0;i=0;while(1){if((i|0)>=(f|0))break;a[h+(i<<2)>>2]=-1;i=i+1|0}a[w>>2]=0;A:do{switch(a[r>>2]|0){case 1:{s=a[A+28>>2]|0;l=a[e+28>>2]|0;t=a[g+28>>2]|0;i=0;f=0;while(1){if((f|0)>=(k|0))break A;c=f+1|0;r=o+(c<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;n=d+(A<<2)|0;a[h+(a[n>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[n>>2];b[t+(i<<3)>>3]=+b[s+(A<<3)>>3];A=A+1|0;i=i+1|0}e=B+(c<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;b[t+(i<<3)>>3]=+b[l+(f<<3)>>3];i=i+1|0}else{r=t+(r<<3)|0;b[r>>3]=+b[r>>3]+ +b[l+(f<<3)>>3]}f=f+1|0}a[w+(c<<2)>>2]=i;f=c}}case 2:{s=a[A+28>>2]|0;c=a[e+28>>2]|0;l=a[g+28>>2]|0;f=0;i=0;while(1){if((f|0)>=(k|0))break A;t=f+1|0;r=o+(t<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;e=d+(A<<2)|0;a[h+(a[e>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[e>>2];e=A<<1;n=i<<1;b[l+(n<<3)>>3]=+b[s+(e<<3)>>3];b[l+((n|1)<<3)>>3]=+b[s+((e|1)<<3)>>3];A=A+1|0;i=i+1|0}e=B+(t<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;A=f<<1;r=i<<1;b[l+(r<<3)>>3]=+b[c+(A<<3)>>3];b[l+((r|1)<<3)>>3]=+b[c+((A|1)<<3)>>3];i=i+1|0}else{A=f<<1;r=r<<1;E=l+(r<<3)|0;b[E>>3]=+b[E>>3]+ +b[c+(A<<3)>>3];r=l+((r|1)<<3)|0;b[r>>3]=+b[r>>3]+ +b[c+((A|1)<<3)>>3]}f=f+1|0}a[w+(t<<2)>>2]=i;f=t}}case 4:{s=a[A+28>>2]|0;l=a[e+28>>2]|0;t=a[g+28>>2]|0;f=0;i=0;while(1){if((f|0)>=(k|0))break A;c=f+1|0;r=o+(c<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;E=d+(A<<2)|0;a[h+(a[E>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[E>>2];a[t+(i<<2)>>2]=a[s+(A<<2)>>2];A=A+1|0;i=i+1|0}e=B+(c<<2)|0;n=w+(f<<2)|0;f=a[B+(f<<2)>>2]|0;while(1){if((f|0)>=(a[e>>2]|0))break;A=a[v+(f<<2)>>2]|0;r=a[h+(A<<2)>>2]|0;if((r|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;a[t+(i<<2)>>2]=a[l+(f<<2)>>2];i=i+1|0}else{E=t+(r<<2)|0;a[E>>2]=(a[E>>2]|0)+(a[l+(f<<2)>>2]|0)}f=f+1|0}a[w+(c<<2)>>2]=i;f=c}}case 8:{i=0;f=0;while(1){if((f|0)>=(k|0))break A;l=f+1|0;r=o+(l<<2)|0;A=a[o+(f<<2)>>2]|0;while(1){if((A|0)>=(a[r>>2]|0))break;E=d+(A<<2)|0;a[h+(a[E>>2]<<2)>>2]=i;a[u+(i<<2)>>2]=a[E>>2];i=i+1|0;A=A+1|0}e=B+(l<<2)|0;n=w+(f<<2)|0;r=a[B+(f<<2)>>2]|0;while(1){if((r|0)>=(a[e>>2]|0))break;A=a[v+(r<<2)>>2]|0;if((a[h+(A<<2)>>2]|0)<(a[n>>2]|0)){a[u+(i<<2)>>2]=A;i=i+1|0}r=r+1|0}a[w+(l<<2)>>2]=i;f=l}}default:i=0}}while(0);a[g+8>>2]=i;L2(h);return g|0}return 0}function wq(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;A=nq(A,e,r,f,a)|0;if((i|0)>0)lq(A,i)|0;return A|0}function uq(A,e){A=A|0;e=e|0;var i=0;if(!(cq(A,e)|0)){e=iq(A)|0;if(!e)e=0;else{i=sq(A,e)|0;rq(e);e=i+36|0;a[e>>2]=a[e>>2]|3;e=i;i=5}}else{e=bq(A)|0;i=5}if((i|0)==5)e=kq(e)|0;return e|0}function kq(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,w=0;A:do{if(!A)A=0;else{c=a[A+20>>2]|0;s=a[A+24>>2]|0;i=a[c>>2]|0;e:do{switch(a[A+16>>2]|0){case 1:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;b[t+(e<<3)>>3]=+b[t+(i<<3)>>3];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 2:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;w=i<<1;r=e<<1;b[t+(r<<3)>>3]=+b[t+(w<<3)>>3];b[t+((r|1)<<3)>>3]=+b[t+((w|1)<<3)>>3];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 4:{t=a[A+28>>2]|0;l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;a[t+(e<<2)>>2]=a[t+(i<<2)>>2];e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}case 8:{l=0;e=0;while(1){if((l|0)>=(a[A>>2]|0))break e;f=l+1|0;n=c+(f<<2)|0;while(1){r=a[n>>2]|0;if((i|0)>=(r|0))break;r=a[s+(i<<2)>>2]|0;if((r|0)!=(l|0)){a[s+(e<<2)>>2]=r;e=e+1|0}i=i+1|0}a[n>>2]=e;l=f;i=r}}default:{A=0;break A}}}while(0);a[A+8>>2]=e}}while(0);return A|0}function oq(A){A=A|0;if((a[A+32>>2]|0)==2)return hq(a[A+8>>2]|0,a[A>>2]|0,a[A+4>>2]|0,a[A+20>>2]|0,a[A+24>>2]|0,a[A+28>>2]|0,a[A+16>>2]|0,a[A+40>>2]|0)|0;else vA(95100,94943,803,95126);return 0}function hq(A,e,i,r,f,a,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;return Ws(A,e,i,r,f,a,n,l,1)|0}function dq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=A+72|0;b=A+352|0;s=A+356|0;w=A+360|0;t=0;A:while(1){l=i-e|0;if((l|0)<=0){i=-1;break}switch(r[c+(n[e>>0]|0)>>0]|0){case 8:case 1:case 0:{u=16;break A}case 5:{if((l|0)<2){i=-2;break A}if(m5[a[b>>2]&127](A,e)|0){u=6;break A}l=t;e=e+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}if(m5[a[s>>2]&127](A,e)|0){u=10;break A}l=t;e=e+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}if(m5[a[w>>2]&127](A,e)|0){u=14;break A}l=t;e=e+4|0;t=l;continue A}case 2:{l=e+1|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=33){k=t;e=l;t=k;continue A}l=e+2|0;if((i-l|0)<=0){i=-1;break A}k=(r[l>>0]|0)==91;t=t+(k&1)|0;e=k?e+3|0:l;continue A}case 4:{l=e+1|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=93){k=t;e=l;t=k;continue A}l=e+2|0;if((i-l|0)<=0){i=-1;break A}if((r[l>>0]|0)!=62){k=t;e=l;t=k;continue A}e=e+3|0;if(!t){u=26;break A}t=t+-1|0;continue A}default:{k=t;e=e+1|0;t=k;continue A}}}if((u|0)==6){a[f>>2]=e;i=0}else if((u|0)==10){a[f>>2]=e;i=0}else if((u|0)==14){a[f>>2]=e;i=0}else if((u|0)==16){a[f>>2]=e;i=0}else if((u|0)==26){a[f>>2]=e;i=42}return i|0}function Bq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>0){s=A+72|0;t=e;A:while(1){if((b-t|0)<=0){c=24;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 3:{c=8;break A}case 2:{c=11;break A}case 10:{c=12;break A}case 9:{c=15;break A}case 21:{c=19;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=1}t=t+l|0}if((c|0)==8)if((t|0)==(e|0)){l=yq(A,e+1|0,i,f)|0;break}else{a[f>>2]=t;l=6;break}else if((c|0)==11){a[f>>2]=t;l=0;break}else if((c|0)==12)if((t|0)==(e|0)){a[f>>2]=e+1;l=7;break}else{a[f>>2]=t;l=6;break}else if((c|0)==15){if((t|0)!=(e|0)){a[f>>2]=t;l=6;break}l=e+1|0;if((b-l|0)<=0){l=-3;break}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break}else if((c|0)==19)if((t|0)==(e|0)){a[f>>2]=e+1;l=39;break}else{a[f>>2]=t;l=6;break}else if((c|0)==24){a[f>>2]=t;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function vq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>0){s=A+72|0;t=e;A:while(1){if((b-t|0)<=0){c=23;break}switch(r[s+(n[t>>0]|0)>>0]|0){case 3:{c=8;break A}case 30:{c=11;break A}case 10:{c=14;break A}case 9:{c=17;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=1}t=t+l|0}if((c|0)==8)if((t|0)==(e|0)){l=yq(A,e+1|0,i,f)|0;break}else{a[f>>2]=t;l=6;break}else if((c|0)==11)if((t|0)==(e|0)){l=zq(A,e+1|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=t;l=6;break}else if((c|0)==14)if((t|0)==(e|0)){a[f>>2]=e+1;l=7;break}else{a[f>>2]=t;l=6;break}else if((c|0)==17){if((t|0)!=(e|0)){a[f>>2]=t;l=6;break}l=e+1|0;if((b-l|0)<=0){l=-3;break}a[f>>2]=(r[s+(n[l>>0]|0)>>0]|0)==10?e+2|0:l;l=7;break}else if((c|0)==23){a[f>>2]=t;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function gq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=6;break}if((a-A|0)<1){A=0;break}if((r[A>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+1|0}if((n|0)==6)A=(A|0)==(i|0)&1;return A|0}function Eq(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A=e;A:while(1){switch(r[f+(n[A>>0]|0)>>0]|0){case 5:{i=2;break}case 6:{i=3;break}case 7:{i=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{i=1;break}default:break A}A=A+i|0}return A-e|0}function Cq(A,e){A=A|0;e=e|0;A=A+72|0;A:while(1){switch(r[A+(n[e>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break A}e=e+1|0}return e|0}function Iq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;s=A+72|0;c=0;b=0;A=1;A:while(1){l=e+1|0;t=r[l>>0]|0;do{switch(r[s+(t&255)>>0]|0){case 5:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+2|0;b=l;c=t;continue A}case 6:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+3|0;b=l;c=t;continue A}case 7:{if(!A)if((b|0)<(i|0)){a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;A=1}else A=1;l=b;t=c;e=e+4|0;b=l;c=t;continue A}case 24:case 22:case 29:{if(A|0){k=A;u=b;t=c;e=l;A=k;b=u;c=t;continue A}if((b|0)>=(i|0)){u=b;k=c;A=1;e=l;b=u;c=k;continue A}a[f+(b<<4)>>2]=l;r[f+(b<<4)+12>>0]=1;u=b;k=c;A=1;e=l;b=u;c=k;continue A}case 12:{if((A|0)!=2){if((b|0)>=(i|0)){k=b;c=12;A=2;e=l;b=k;continue A}a[f+(b<<4)+4>>2]=e+2;k=b;c=12;A=2;e=l;b=k;continue A}if((c|0)!=12){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if((b|0)<(i|0))a[f+(b<<4)+8>>2]=l;c=12;b=b+1|0;A=0;e=l;continue A}case 13:{if((A|0)!=2){if((b|0)>=(i|0)){k=b;c=13;A=2;e=l;b=k;continue A}a[f+(b<<4)+4>>2]=e+2;k=b;c=13;A=2;e=l;b=k;continue A}if((c|0)!=13){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if((b|0)<(i|0))a[f+(b<<4)+8>>2]=l;c=13;b=b+1|0;A=0;e=l;continue A}case 3:{if((b|0)>=(i|0)){t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}r[f+(b<<4)+12>>0]=0;t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}case 21:{switch(A|0){case 1:{u=b;k=c;A=0;e=l;b=u;c=k;continue A}case 2:break;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}if((b|0)>=(i|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}A=f+(b<<4)+12|0;if(!(r[A>>0]|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}if(((t<<24>>24==32?(l|0)!=(a[f+(b<<4)+4>>2]|0):0)?(w=r[e+2>>0]|0,w<<24>>24!=32):0)?(c|0)!=(n[s+(w&255)>>0]|0):0){u=b;k=c;A=2;e=l;b=u;c=k;continue A}r[A>>0]=0;u=b;k=c;A=2;e=l;b=u;c=k;continue A}case 10:case 9:{switch(A|0){case 1:{u=b;k=c;A=0;e=l;b=u;c=k;continue A}case 2:break;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}if((b|0)>=(i|0)){u=b;k=c;A=2;e=l;b=u;c=k;continue A}r[f+(b<<4)+12>>0]=0;u=b;k=c;A=2;e=l;b=u;c=k;continue A}case 17:case 11:if((A|0)==2){u=b;k=c;A=2;e=l;b=u;c=k;continue A}else break A;default:{t=A;u=b;k=c;e=l;A=t;b=u;c=k;continue A}}}while(0)}return b|0}function Zq(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+2|0;i=r[A>>0]|0;A:do{if(i<<24>>24==120){i=e+3|0;A=0;while(1){e:while(1){f=r[i>>0]|0;e=f<<24>>24;if(f<<24>>24==59){f=14;break A}switch(e|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=7;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=8;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=9;break e}default:{}}i=i+1|0}if((f|0)==7){f=0;A=e+-48|A<<4}else if((f|0)==8){f=0;A=(A<<4)+-55+e|0}else if((f|0)==9){f=0;A=(A<<4)+-87+e|0}if((A|0)<1114112)i=i+1|0;else{A=-1;break}}}else{e=A;A=0;while(1){if(i<<24>>24==59){f=14;break A}A=(i<<24>>24)+-48+(A*10|0)|0;if((A|0)>=1114112){A=-1;break A}i=e+1|0;e=i;i=r[i>>0]|0}}}while(0);if((f|0)==14)A=gs(A)|0;return A|0}function Gq(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch(i-e|0){case 2:{if((r[e+1>>0]|0)==116){A=r[e>>0]|0;A=A<<24>>24==108?60:A<<24>>24==103?62:0}else f=14;break}case 3:{if(((r[e>>0]|0)==97?(r[e+1>>0]|0)==109:0)?(r[e+2>>0]|0)==112:0)A=38;else f=14;break}case 4:switch(r[e>>0]|0){case 113:{if((r[e+1>>0]|0)!=117){f=14;break A}if((r[e+2>>0]|0)!=111){f=14;break A}if((r[e+3>>0]|0)==116){A=34;break A}else{f=14;break A}}case 97:{if((r[e+1>>0]|0)!=112){f=14;break A}if((r[e+2>>0]|0)!=111){f=14;break A}if((r[e+3>>0]|0)==115){A=39;break A}else{f=14;break A}}default:{f=14;break A}}default:f=14}}while(0);if((f|0)==14)A=0;return A|0}function Qq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0;l=A+72|0;t=f+4|0;while(1){if((i-e|0)<=0)break;switch(r[l+(n[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:{a[t>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+1|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;A=e+1|0;if((i-A|0)>0)e=(r[l+(n[A>>0]|0)>>0]|0)==10?e+2|0:A;else e=A;a[t>>2]=-1;break}default:e=e+1|0}a[t>>2]=(a[t>>2]|0)+1}return}function mq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0;n=i+-1|0;A=A+72|0;A:while(1){e=e+1|0;if((n-e|0)<=0){e=1;break}i=r[e>>0]|0;switch(r[A+(i&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(i<<24>>24==9){l=7;break A}else continue A;case 22:case 26:{if(i<<24>>24>=0)continue A;break}default:{}}switch(i<<24>>24|0){case 64:case 36:break;default:{l=7;break A}}}if((l|0)==7){a[f>>2]=e;e=0}return e|0}function Lq(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0;t=l;while(1){c=a[e>>2]|0;if((c|0)==(i|0)){A=0;break}b=n[c>>0]|0;A=a[f>>2]|0;if(!(b&128)){if((A|0)==(l|0)){A=2;break}a[e>>2]=c+1;c=r[c>>0]|0;b=a[f>>2]|0;a[f>>2]=b+1;r[b>>0]=c;continue}else{if((t-A|0)<2){A=2;break}a[f>>2]=A+1;r[A>>0]=b>>>6|192;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=b&63|128;a[e>>2]=(a[e>>2]|0)+1;continue}}return A|0}function Wq(A,e,i,r,l){A=A|0;e=e|0;i=i|0;r=r|0;l=l|0;var t=0,c=0;while(1){A=a[e>>2]|0;t=A>>>0>>0;c=a[r>>2]|0;if(!(t&c>>>0>>0))break;a[e>>2]=A+1;t=n[A>>0]|0;c=a[r>>2]|0;a[r>>2]=c+2;f[c>>1]=t}return((c|0)!=(l|0)|t^1?0:2)|0}function yq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;l=b-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{i=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=4;break}case 19:{i=Yq(A,e+1|0,i,f)|0;break A}default:{a[f>>2]=e;i=0;break A}}l=A+328|0;t=A+332|0;c=A+336|0;e=e+i|0;e:while(1){i=b-e|0;if((i|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=18;break e}case 18:{l=29;break e}case 27:case 26:case 25:case 24:case 22:{i=1;break}case 5:{if((i|0)<2){i=-2;break A}if(!(m5[a[l>>2]&127](A,e)|0)){l=21;break e}else i=2;break}case 6:{if((i|0)<3){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=24;break e}else i=3;break}case 7:{if((i|0)<4){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=27;break e}else i=4;break}default:{l=30;break e}}e=e+i|0}if((l|0)==18){a[f>>2]=e;i=0;break}else if((l|0)==21){a[f>>2]=e;i=0;break}else if((l|0)==24){a[f>>2]=e;i=0;break}else if((l|0)==27){a[f>>2]=e;i=0;break}else if((l|0)==29){a[f>>2]=e+1;i=9;break}else if((l|0)==30){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function zq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;e=e+l|0;e:while(1){l=i-e|0;if((l|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=18;break e}case 18:{l=29;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=21;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=24;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,e)|0)){l=27;break e}else l=4;break}default:{l=30;break e}}e=e+l|0}if((l|0)==18){a[f>>2]=e;i=0;break}else if((l|0)==21){a[f>>2]=e;i=0;break}else if((l|0)==24){a[f>>2]=e;i=0;break}else if((l|0)==27){a[f>>2]=e;i=0;break}else if((l|0)==29){a[f>>2]=e+1;i=28;break}else if((l|0)==30){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function Yq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0;t=i;A:do{if((t-e|0)>0){l=r[e>>0]|0;if(l<<24>>24==120){A=Dq(A,e+1|0,i,f)|0;break}i=A+72|0;if((r[i+(l&255)>>0]|0)!=25){a[f>>2]=e;A=0;break}e:while(1){A=e+1|0;if((t-A|0)<=0){A=-1;break A}switch(r[i+(n[A>>0]|0)>>0]|0){case 25:{e=A;break}case 18:{i=8;break e}default:{i=9;break e}}}if((i|0)==8){a[f>>2]=e+2;A=10;break}else if((i|0)==9){a[f>>2]=A;A=0;break}}else A=-1}while(0);return A|0}function Dq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0;A:do{if((i-e|0)>0){A=A+72|0;if((r[A+(n[e>>0]|0)>>0]&-2)<<24>>24!=24){a[f>>2]=e;i=0;break}e:while(1){l=e+1|0;if((i-l|0)<=0){i=-1;break A}switch(r[A+(n[l>>0]|0)>>0]|0){case 24:case 25:{e=l;break}case 18:{A=6;break e}default:{A=7;break e}}}if((A|0)==6){a[f>>2]=e+2;i=10;break}else if((A|0)==7){a[f>>2]=l;i=0;break}}else i=-1}while(0);return i|0}function Mq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;h=i;l=h-e|0;A:do{if((l|0)>0){o=A+72|0;switch(r[o+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;l=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){l=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=2;break}case 6:{if((l|0)<3){l=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=3;break}case 7:{if((l|0)<4){l=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;l=0;break A}else l=4;break}case 16:{l=e+1|0;if((h-l|0)<=0){l=-1;break A}switch(r[o+(n[l>>0]|0)>>0]|0){case 27:{l=Fq(A,e+2|0,i,f)|0;break A}case 20:{l=Vq(e+2|0,i,f)|0;break A}default:{a[f>>2]=l;l=0;break A}}}case 15:{l=Jq(A,e+1|0,i,f)|0;break A}case 17:{l=Nq(A,e+1|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}c=A+328|0;b=A+332|0;s=A+336|0;w=A+340|0;u=A+344|0;k=A+348|0;t=0;l=e+l|0;e:while(1){e=h-l|0;if((e|0)<=0){l=-1;break A}i:do{switch(r[o+(n[l>>0]|0)>>0]|0){case 29:{d=24;break e}case 10:case 9:case 21:{d=50;break e}case 11:{d=64;break e}case 17:break e;case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){l=-2;break A}if(!(m5[a[c>>2]&127](A,l)|0)){d=27;break e}else e=2;break}case 6:{if((e|0)<3){l=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){d=30;break e}else e=3;break}case 7:{if((e|0)<4){l=-2;break A}if(!(m5[a[s>>2]&127](A,l)|0)){d=33;break e}else e=4;break}case 23:{if(t|0){d=35;break e}t=l+1|0;e=h-t|0;if((e|0)<=0){l=-1;break A}switch(r[o+(n[t>>0]|0)>>0]|0){case 29:{d=38;break e}case 24:case 22:{t=1;e=2;break i}case 5:{if((e|0)<2){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){d=42;break e}else{t=1;e=3;break i}}case 6:{if((e|0)<3){l=-2;break A}if(!(m5[a[u>>2]&127](A,t)|0)){d=45;break e}else{t=1;e=4;break i}}case 7:{if((e|0)<4){l=-2;break A}if(!(m5[a[k>>2]&127](A,t)|0)){d=48;break e}else{t=1;e=5;break i}}default:{d=49;break e}}}default:{d=69;break e}}}while(0);l=l+e|0}e:switch(d|0){case 24:{a[f>>2]=l;l=0;break A}case 27:{a[f>>2]=l;l=0;break A}case 30:{a[f>>2]=l;l=0;break A}case 33:{a[f>>2]=l;l=0;break A}case 35:{a[f>>2]=l;l=0;break A}case 38:{a[f>>2]=t;l=0;break A}case 42:{a[f>>2]=t;l=0;break A}case 45:{a[f>>2]=t;l=0;break A}case 48:{a[f>>2]=t;l=0;break A}case 49:{a[f>>2]=t;l=0;break A}case 50:{i:while(1){d=0;t=l+1|0;e=h-t|0;if((e|0)<=0){l=-1;break A}switch(r[o+(n[t>>0]|0)>>0]|0){case 11:{l=t;d=64;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;d=50;break}case 29:{d=52;break i}case 24:case 22:{t=2;break i}case 5:{d=53;break i}case 6:{d=56;break i}case 7:{d=59;break i}default:{d=62;break i}}}if((d|0)==52){a[f>>2]=t;l=0;break A}else if((d|0)==53){if((e|0)<2){l=-2;break A}if(!(m5[a[w>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=3}else if((d|0)==56){if((e|0)<3){l=-2;break A}if(!(m5[a[u>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=4}else if((d|0)==59){if((e|0)<4){l=-2;break A}if(!(m5[a[k>>2]&127](A,t)|0)){a[f>>2]=t;l=0;break A}else t=5}else if((d|0)==62){a[f>>2]=t;l=0;break A}l=Xq(A,l+t|0,i,f)|0;break A}case 69:{a[f>>2]=l;l=0;break A}}if((d|0)==64){a[f>>2]=l+1;l=2;break}t=l+1|0;if((h-t|0)>0)if((r[t>>0]|0)==62){a[f>>2]=l+2;l=4;break}else{a[f>>2]=t;l=0;break}else l=-1}else l=-1}while(0);return l|0}function Fq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;A:do{if((i-e|0)>0){if((r[e>>0]|0)!=45){a[f>>2]=e;i=0;break}l=A+72|0;t=A+352|0;c=A+356|0;b=A+360|0;s=e+1|0;e:while(1){e=i-s|0;if((e|0)<=0){i=-1;break A}switch(r[l+(n[s>>0]|0)>>0]|0){case 8:case 1:case 0:{e=19;break e}case 5:{if((e|0)<2){i=-2;break A}if(m5[a[t>>2]&127](A,s)|0){e=9;break e}s=s+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}if(m5[a[c>>2]&127](A,s)|0){e=13;break e}s=s+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}if(m5[a[b>>2]&127](A,s)|0){e=17;break e}s=s+4|0;continue e}case 27:{e=s+1|0;if((i-e|0)<=0){i=-1;break A}if((r[e>>0]|0)==45){e=22;break e}else{s=e;continue e}}default:{s=s+1|0;continue e}}}if((e|0)==9){a[f>>2]=s;i=0;break}else if((e|0)==13){a[f>>2]=s;i=0;break}else if((e|0)==17){a[f>>2]=s;i=0;break}else if((e|0)==19){a[f>>2]=s;i=0;break}else if((e|0)==22){e=s+2|0;if((i-e|0)<=0){i=-1;break}if((r[e>>0]|0)==62){a[f>>2]=s+3;i=13;break}else{a[f>>2]=e;i=0;break}}}else i=-1}while(0);return i|0}function Vq(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>5){e=0;while(1){if((e|0)>=6){e=8;break}if((r[A>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+1|0}a[i>>2]=A}else e=-1;return e|0}function Jq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;i=u-e|0;A:do{if((i|0)>0){w=A+72|0;switch(r[w+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{i=1;break}case 5:{if((i|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=2;break}case 6:{if((i|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=3;break}case 7:{if((i|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else i=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;i=e+i|0;e:while(1){l=u-i|0;if((l|0)<=0){i=-1;break A}switch(r[w+(n[i>>0]|0)>>0]|0){case 29:{s=17;break e}case 10:case 9:case 21:{s=28;break e}case 15:{s=50;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,i)|0)){s=20;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,i)|0)){s=23;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,i)|0)){s=26;break e}else l=4;break}default:break e}i=i+l|0}if((s|0)==17){a[f>>2]=i;i=0;break}else if((s|0)==20){a[f>>2]=i;i=0;break}else if((s|0)==23){a[f>>2]=i;i=0;break}else if((s|0)==26){a[f>>2]=i;i=0;break}else if((s|0)==28){if(!(Rq(e,i,o)|0)){a[f>>2]=i;i=0;break}t=A+352|0;c=A+356|0;b=A+360|0;l=i+1|0;e:while(1){i=u-l|0;if((i|0)<=0){i=-1;break A}switch(r[w+(n[l>>0]|0)>>0]|0){case 8:case 1:case 0:{s=45;break e}case 5:{if((i|0)<2){i=-2;break A}if(m5[a[t>>2]&127](A,l)|0){s=35;break e}l=l+2|0;continue e}case 6:{if((i|0)<3){i=-2;break A}if(m5[a[c>>2]&127](A,l)|0){s=39;break e}l=l+3|0;continue e}case 7:{if((i|0)<4){i=-2;break A}if(m5[a[b>>2]&127](A,l)|0){s=43;break e}l=l+4|0;continue e}case 15:{i=l+1|0;if((u-i|0)<=0){i=-1;break A}if((r[i>>0]|0)==62){s=48;break e}else{l=i;continue e}}default:{l=l+1|0;continue e}}}if((s|0)==35){a[f>>2]=l;i=0;break}else if((s|0)==39){a[f>>2]=l;i=0;break}else if((s|0)==43){a[f>>2]=l;i=0;break}else if((s|0)==45){a[f>>2]=l;i=0;break}else if((s|0)==48){a[f>>2]=l+2;i=a[o>>2]|0;break}}else if((s|0)==50){if(!(Rq(e,i,o)|0)){a[f>>2]=i;i=0;break}l=i+1|0;if((u-l|0)<=0){i=-1;break}if((r[l>>0]|0)==62){a[f>>2]=i+2;i=a[o>>2]|0;break}else i=l}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function Nq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;l=e+l|0;e:while(1){e=i-l|0;if((e|0)<=0){i=-1;break A}switch(r[s+(n[l>>0]|0)>>0]|0){case 29:{t=17;break e}case 10:case 9:case 21:{t=27;break e}case 11:{t=32;break e}case 23:case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,l)|0)){t=20;break e}else e=2;break}case 6:{if((e|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,l)|0)){t=23;break e}else e=3;break}case 7:{if((e|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){t=26;break e}else e=4;break}default:{t=33;break e}}l=l+e|0}if((t|0)==17){a[f>>2]=l;i=0;break}else if((t|0)==20){a[f>>2]=l;i=0;break}else if((t|0)==23){a[f>>2]=l;i=0;break}else if((t|0)==26){a[f>>2]=l;i=0;break}else if((t|0)==27){e:while(1){e=l+1|0;if((i-e|0)<=0){i=-1;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 10:case 9:case 21:{l=e;t=27;break}case 11:{t=29;break e}default:{t=30;break e}}}if((t|0)==29){a[f>>2]=l+2;i=5;break}else if((t|0)==30){a[f>>2]=e;i=0;break}}else if((t|0)==32){a[f>>2]=l+1;i=5;break}else if((t|0)==33){a[f>>2]=l;i=0;break}}else i=-1}while(0);return i|0}function Xq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;E=Z;a[E>>2]=e;C=i;d=A+72|0;B=A+328|0;v=A+332|0;g=A+336|0;b=A+340|0;s=A+344|0;w=A+348|0;u=A+352|0;o=A+356|0;h=A+360|0;t=0;A:while(1){l=C-e|0;if((l|0)<=0){e=-1;break}e:do{switch(r[d+(n[e>>0]|0)>>0]|0){case 29:{I=4;break A}case 27:case 26:case 25:case 24:case 22:{l=e+1|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 5:{if((l|0)<2){e=-2;break A}if(!(m5[a[B>>2]&127](A,e)|0)){I=8;break A}l=e+2|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 6:{if((l|0)<3){e=-2;break A}if(!(m5[a[v>>2]&127](A,e)|0)){I=12;break A}l=e+3|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 7:{if((l|0)<4){e=-2;break A}if(!(m5[a[g>>2]&127](A,e)|0)){I=16;break A}l=e+4|0;a[E>>2]=l;c=t;e=l;t=c;continue A}case 23:{if(t|0){I=19;break A}l=e+1|0;a[E>>2]=l;t=C-l|0;if((t|0)<=0){e=-1;break A}switch(r[d+(n[l>>0]|0)>>0]|0){case 29:{I=22;break A}case 24:case 22:{c=e+2|0;a[E>>2]=c;t=1;e=c;continue A}case 5:{if((t|0)<2){e=-2;break A}if(!(m5[a[b>>2]&127](A,l)|0)){I=26;break A}c=e+3|0;a[E>>2]=c;t=1;e=c;continue A}case 6:{if((t|0)<3){e=-2;break A}if(!(m5[a[s>>2]&127](A,l)|0)){I=30;break A}c=e+4|0;a[E>>2]=c;t=1;e=c;continue A}case 7:{if((t|0)<4){e=-2;break A}if(!(m5[a[w>>2]&127](A,l)|0)){I=34;break A}c=e+5|0;a[E>>2]=c;t=1;e=c;continue A}default:{I=36;break A}}}case 10:case 9:case 21:while(1){e=e+1|0;a[E>>2]=e;if((C-e|0)<=0){e=-1;break A}switch(r[d+(n[e>>0]|0)>>0]|0){case 14:break e;case 9:case 10:case 21:break;default:{I=39;break A}}}case 14:break;default:{I=92;break A}}}while(0);while(1){l=e+1|0;a[E>>2]=l;if((C-l|0)<=0){e=-1;break A}c=r[d+(n[l>>0]|0)>>0]|0;if((c|1)<<24>>24==13)break;switch(c<<24>>24){case 9:case 10:case 21:{e=l;break}default:{I=43;break A}}}e=e+2|0;a[E>>2]=e;e:while(1){l=C-e|0;if((l|0)<=0){e=-1;break A}t=r[d+(n[e>>0]|0)>>0]|0;if(t<<24>>24==c<<24>>24)break;switch(t<<24>>24){case 8:case 1:case 0:{I=60;break A}case 2:{I=65;break A}case 5:{if((l|0)<2){e=-2;break A}if(m5[a[u>>2]&127](A,e)|0){I=50;break A}t=e+2|0;a[E>>2]=t;e=t;continue e}case 6:{if((l|0)<3){e=-2;break A}if(m5[a[o>>2]&127](A,e)|0){I=54;break A}t=e+3|0;a[E>>2]=t;e=t;continue e}case 7:{if((l|0)<4){e=-2;break A}if(m5[a[h>>2]&127](A,e)|0){I=58;break A}t=e+4|0;a[E>>2]=t;e=t;continue e}case 3:{e=yq(A,e+1|0,i,E)|0;if((e|0)<1){I=63;break A}e=a[E>>2]|0;continue e}default:{t=e+1|0;a[E>>2]=t;e=t;continue e}}}l=e+1|0;a[E>>2]=l;if((C-l|0)<=0){e=-1;break}switch(r[d+(n[l>>0]|0)>>0]|0){case 11:{I=86;break A}case 17:{I=87;break A}case 10:case 9:case 21:{e=l;break}default:{I=69;break A}}e:while(1){l=e+1|0;a[E>>2]=l;t=C-l|0;if((t|0)<=0){e=-1;break A}switch(r[d+(n[l>>0]|0)>>0]|0){case 29:{I=72;break A}case 11:{I=86;break A}case 17:{I=87;break A}case 10:case 9:case 21:{e=l;break}case 24:case 22:{I=73;break e}case 5:{I=74;break e}case 6:{I=78;break e}case 7:{I=82;break e}default:{I=91;break A}}}if((I|0)==73){I=0;e=e+2|0;a[E>>2]=e;t=0;continue}else if((I|0)==74){I=0;if((t|0)<2){e=-2;break}if(!(m5[a[b>>2]&127](A,l)|0)){I=76;break}e=e+3|0;a[E>>2]=e;t=0;continue}else if((I|0)==78){I=0;if((t|0)<3){e=-2;break}if(!(m5[a[s>>2]&127](A,l)|0)){I=80;break}e=e+4|0;a[E>>2]=e;t=0;continue}else if((I|0)==82){I=0;if((t|0)<4){e=-2;break}if(!(m5[a[w>>2]&127](A,l)|0)){I=84;break}e=e+5|0;a[E>>2]=e;t=0;continue}}switch(I|0){case 4:{a[f>>2]=e;e=0;break}case 8:{a[f>>2]=e;e=0;break}case 12:{a[f>>2]=e;e=0;break}case 16:{a[f>>2]=e;e=0;break}case 19:{a[f>>2]=e;e=0;break}case 22:{a[f>>2]=l;e=0;break}case 26:{a[f>>2]=l;e=0;break}case 30:{a[f>>2]=l;e=0;break}case 34:{a[f>>2]=l;e=0;break}case 36:{a[f>>2]=l;e=0;break}case 39:{a[f>>2]=e;e=0;break}case 43:{a[f>>2]=l;e=0;break}case 50:{a[f>>2]=e;e=0;break}case 54:{a[f>>2]=e;e=0;break}case 58:{a[f>>2]=e;e=0;break}case 60:{a[f>>2]=e;e=0;break}case 63:{if(!e){a[f>>2]=a[E>>2];e=0}break}case 65:{a[f>>2]=e;e=0;break}case 69:{a[f>>2]=l;e=0;break}case 72:{a[f>>2]=l;e=0;break}case 76:{a[f>>2]=l;e=0;break}case 80:{a[f>>2]=l;e=0;break}case 84:{a[f>>2]=l;e=0;break}case 86:{a[f>>2]=e+2;e=1;break}case 87:{e=l+1|0;a[E>>2]=e;if((C-e|0)>0)if((r[e>>0]|0)==62){a[f>>2]=l+2;e=3;break}else{a[f>>2]=e;e=0;break}else e=-1;break}case 91:{a[f>>2]=l;e=0;break}case 92:{a[f>>2]=e;e=0;break}}k=Z;return e|0}function Rq(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==3){switch(r[A>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}switch(r[A+1>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}switch(r[A+2>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}while(0);return e|0}function Hq(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;b=e+72|0;s=e+352|0;w=e+356|0;u=e+360|0;A:while(1){t=f-i|0;if((t|0)<=0){f=-1;break}c=r[b+(n[i>>0]|0)>>0]|0;switch(c<<24>>24){case 8:case 1:case 0:{k=16;break A}case 5:{if((t|0)<2){f=-2;break A}if(m5[a[s>>2]&127](e,i)|0){k=6;break A}i=i+2|0;continue A}case 6:{if((t|0)<3){f=-2;break A}if(m5[a[w>>2]&127](e,i)|0){k=10;break A}i=i+3|0;continue A}case 7:{if((t|0)<4){f=-2;break A}if(m5[a[u>>2]&127](e,i)|0){k=14;break A}i=i+4|0;continue A}case 13:case 12:{i=i+1|0;if((c&255|0)==(A|0)){k=18;break A}else continue A}default:{i=i+1|0;continue A}}}A:do{if((k|0)==6){a[l>>2]=i;f=0}else if((k|0)==10){a[l>>2]=i;f=0}else if((k|0)==14){a[l>>2]=i;f=0}else if((k|0)==16){a[l>>2]=i;f=0}else if((k|0)==18)if((f-i|0)>0){a[l>>2]=i;switch(r[b+(n[i>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break A}default:{}}f=0}else f=-27}while(0);return f|0}function pq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;l=i;A:do{if((l-e|0)>0){t=A+72|0;switch(r[t+(n[e>>0]|0)>>0]|0){case 27:{A=Fq(A,e+1|0,i,f)|0;break A}case 20:{a[f>>2]=e+1;A=33;break A}case 24:case 22:{e:while(1){A=e+1|0;i=l-A|0;if((i|0)<=0){A=-1;break A}switch(r[t+(n[A>>0]|0)>>0]|0){case 24:case 22:{e=A;break}case 30:{c=8;break e}case 10:case 9:case 21:break e;default:{c=12;break e}}}if((c|0)==12){a[f>>2]=A;A=0;break A}e:do{if((c|0)==8){if((i|0)<=1){A=-1;break A}switch(r[t+(n[e+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=A;A=0;break A}}while(0);a[f>>2]=A;A=16;break A}default:{a[f>>2]=e;A=0;break A}}}else A=-1}while(0);return A|0}function Uq(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;l=i-e|0;A:do{if((l|0)>0){s=A+72|0;switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{a[f>>2]=e;i=0;break A}case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[A+340>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[A+344>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[A+348>>2]&127](A,e)|0)){a[f>>2]=e;i=0;break A}else l=4;break}default:{a[f>>2]=e;i=0;break A}}t=A+328|0;c=A+332|0;b=A+336|0;e=e+l|0;e:while(1){l=i-e|0;if((l|0)<=0){i=-20;break A}switch(r[s+(n[e>>0]|0)>>0]|0){case 29:{l=17;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=28;break e}case 27:case 26:case 25:case 24:case 22:{l=1;break}case 5:{if((l|0)<2){i=-2;break A}if(!(m5[a[t>>2]&127](A,e)|0)){l=20;break e}else l=2;break}case 6:{if((l|0)<3){i=-2;break A}if(!(m5[a[c>>2]&127](A,e)|0)){l=23;break e}else l=3;break}case 7:{if((l|0)<4){i=-2;break A}if(!(m5[a[b>>2]&127](A,e)|0)){l=26;break e}else l=4;break}default:{l=29;break e}}e=e+l|0}if((l|0)==17){a[f>>2]=e;i=0;break}else if((l|0)==20){a[f>>2]=e;i=0;break}else if((l|0)==23){a[f>>2]=e;i=0;break}else if((l|0)==26){a[f>>2]=e;i=0;break}else if((l|0)==28){a[f>>2]=e;i=20;break}else if((l|0)==29){a[f>>2]=e;i=0;break}}else i=-1}while(0);return i|0}function xq(){return 58220}function Tq(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;t=k;k=k+16|0;n=t;a[n>>2]=i;l=a[e>>2]|0;A=f-(a[r>>2]|0)|0;if((i-l|0)>(A|0)){A=l+A|0;a[n>>2]=A;f=1}else{f=0;A=i}hs(l,n);l=a[n>>2]|0;i=a[e>>2]|0;n=l-i|0;y6(a[r>>2]|0,i|0,n|0)|0;a[e>>2]=(a[e>>2]|0)+n;a[r>>2]=(a[r>>2]|0)+n;k=t;return(f?2:l>>>0>>0&1)|0}function jq(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=A+72|0;b=i;s=l;w=a[e>>2]|0;u=a[n>>2]|0;A:while(1){A=w>>>0>>0;if(!(u>>>0>>0&A)){k=12;break}A=r[w>>0]|0;t=A&255;switch(r[c+t>>0]|0){case 5:{if((b-w|0)<2){A=1;break A}f[u>>1]=(A&31)<<6|r[w+1>>0]&63;w=w+2|0;u=u+2|0;continue A}case 6:{if((b-w|0)<3){A=1;break A}f[u>>1]=(r[w+1>>0]&63)<<6|t<<12|r[w+2>>0]&63;w=w+3|0;u=u+2|0;continue A}case 7:{if((s-u|0)<4){A=2;break A}if((b-w|0)<4){A=1;break A}t=((r[w+1>>0]&63)<<12|(A&7)<<18|(r[w+2>>0]&63)<<6|r[w+3>>0]&63)+-65536|0;f[u>>1]=t>>>10|55296;f[u+2>>1]=t&1023|56320;w=w+4|0;u=u+4|0;continue A}default:{f[u>>1]=A<<24>>24;w=w+1|0;u=u+2|0;continue A}}}if((k|0)==12)A=A?2:0;a[e>>2]=w;a[n>>2]=u;return A|0}function Sq(A,e){A=A|0;e=e|0;A=n[e>>0]|0;e=n[e+1>>0]|0;return 1<<(e&31)&a[56940+(((n[144044+(A>>>2&7)>>0]|0)<<3|A<<1&6|e>>>5&1)<<2)>>2]|0}function Pq(A,e){A=A|0;e=e|0;var i=0;i=n[e+1>>0]|0;A=n[e+2>>0]|0;return 1<<(A&31)&a[56940+(((n[144044+(i>>>2&15|r[e>>0]<<4&255)>>0]|0)<<3|i<<1&6|A>>>5&1)<<2)>>2]|0}function Oq(A,e){A=A|0;e=e|0;return 0}function Kq(A,e){A=A|0;e=e|0;A=n[e>>0]|0;e=n[e+1>>0]|0;return 1<<(e&31)&a[56940+(((n[143788+(A>>>2&7)>>0]|0)<<3|A<<1&6|e>>>5&1)<<2)>>2]|0}function _q(A,e){A=A|0;e=e|0;var i=0;i=n[e+1>>0]|0;A=n[e+2>>0]|0;return 1<<(A&31)&a[56940+(((n[143788+(i>>>2&15|r[e>>0]<<4&255)>>0]|0)<<3|i<<1&6|A>>>5&1)<<2)>>2]|0}function qq(A,e){A=A|0;e=e|0;if((n[e>>0]|0)<194)return 1;else{e=n[e+1>>0]|0;return e>>>7^1|(e&192|0)==192|0}return 0}function $q(A,e){A=A|0;e=e|0;var i=0;A=r[e+2>>0]|0;do{if(A<<24>>24>-1)A=1;else{i=r[e>>0]|0;if(i<<24>>24==-17?(r[e+1>>0]|0)==-65:0)if((A&255)>189){A=1;break}else{A=191;e=-65}else{if((A&255)>191){A=1;break}e=r[e+1>>0]|0;A=e&255;if(i<<24>>24==-32){A=(e&255)<160|(A&192|0)==192;break}}A=(A&128|0)==0?1:i<<24>>24==-19?(e&255)>159:(A&192|0)==192}}while(0);return A&1|0}function A$(A,e){A=A|0;e=e|0;var i=0;i=n[e+3>>0]|0;do{if(!((i&128|0)==0|(i&192|0)==192)?(i=n[e+2>>0]|0,!((i&128|0)==0|(i&192|0)==192)):0){i=r[e>>0]|0;A=r[e+1>>0]|0;e=A&255;if(i<<24>>24==-16){A=(A&255)<144|(e&192|0)==192;break}else{A=(e&128|0)==0?1:i<<24>>24==-12?(A&255)>143:(e&192|0)==192;break}}else A=1}while(0);return A&1|0}function e$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){t=e;w=i-t|0;b=(w&1|0)==0;w=w&-2;s=(w|0)==0;w=b|s?i:e+w|0;if(b|s^1){i=r[e+1>>0]|0;if(!(i<<24>>24)){l=r[e>>0]|0;c=l;l=n[A+72+(l&255)>>0]|0}else{l=r[e>>0]|0;c=l;l=d$(i,l)|0}do{switch(l|0){case 12:{i=W$(12,A,e+2|0,w,f)|0;break A}case 13:{i=W$(13,A,e+2|0,w,f)|0;break A}case 2:{l=e+2|0;if((w-l|0)<=1){i=-1;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;switch(i|0){case 16:{i=y$(A,e+4|0,w,f)|0;break A}case 15:{i=G$(A,e+4|0,w,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;i=29;break A}default:{a[f>>2]=l;i=0;break A}}}case 9:{if((e+2|0)==(w|0)){a[f>>2]=w;i=-15;break A}else t=7;break}case 10:case 21:{t=7;break}case 30:{i=v$(A,e+2|0,w,f)|0;break A}case 35:{a[f>>2]=e+2;i=38;break A}case 20:{a[f>>2]=e+2;i=25;break A}case 4:{l=e+2|0;i=w-l|0;if((i|0)<=1){i=-26;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){if((i|0)<=3){i=-1;break A}if((r[e+5>>0]|0)==0?(r[e+4>>0]|0)==62:0){a[f>>2]=e+6;i=34;break A}}a[f>>2]=l;i=26;break A}case 31:{a[f>>2]=e+2;i=23;break A}case 32:{l=e+2|0;if((w-l|0)<=1){i=-24;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;switch(i|0){case 33:{a[f>>2]=e+4;i=36;break A}case 15:{a[f>>2]=e+4;i=35;break A}case 34:{a[f>>2]=e+4;i=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;i=24;break A}default:{a[f>>2]=l;i=0;break A}}}case 36:{a[f>>2]=e+2;i=21;break A}case 11:{a[f>>2]=e+2;i=17;break A}case 19:{i=z$(A,e+2|0,w,f)|0;break A}case 5:{if((w-t|0)<2){i=-2;break A}a[f>>2]=e;i=0;break A}case 6:{if((w-t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((w-t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 24:case 22:{i=18;t=61;break}case 23:case 27:case 26:case 25:{i=19;t=61;break}case 29:{t=i&255;l=c&255;i=l>>>5;l=1<<(l&31);if(!(l&a[56940+((i|n[143788+t>>0]<<3)<<2)>>2]))if(!(a[56940+((n[144044+t>>0]<<3|i)<<2)>>2]&l))t=64;else{i=19;t=61}else{i=18;t=61}break}default:t=64}}while(0);if((t|0)==7){b=w;A=A+72|0;c=e;e:while(1){t=c;c=c+2|0;if((b-c|0)<=1){t=28;break}i=r[t+3>>0]|0;l=r[c>>0]|0;if(!(i<<24>>24))i=n[A+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 21:continue e;case 9:break;default:{t=27;break e}}if((t+4|0)==(w|0)){t=27;break}}if((t|0)==27){a[f>>2]=c;i=15;break}else if((t|0)==28){a[f>>2]=c;i=15;break}}else if((t|0)==61){s=A+72|0;l=e+2|0;e:while(1){e=i&255;i:while(1){b=w-l|0;if((b|0)<=1){t=104;break e}t=r[l+1>>0]|0;c=r[l>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 5:{t=73;break e}case 6:{t=74;break e}case 7:{t=76;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{t=78;break e}case 34:{t=94;break e}case 33:{t=97;break e}case 15:{t=100;break e}case 29:{b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){t=71;break e}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{b=l+2|0;switch(e&63){case 41:{i=19;l=b;continue e}case 18:break i;default:{l=b;continue i}}}default:{t=103;break e}}l=l+2|0}A=w-b|0;if((A|0)<=1){i=-1;break A}i=r[l+3>>0]|0;t=r[b>>0]|0;if(!(i<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(i,t)|0;switch(c|0){case 5:{t=89;break e}case 6:{t=90;break e}case 7:{t=92;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(i&255)>>0]<<3)<<2)>>2])){t=87;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{i=19;l=b;continue e}}i=41;l=l+4|0}switch(t|0){case 71:{a[f>>2]=l;i=0;break A}case 73:{a[f>>2]=l;i=0;break A}case 74:{if((b|0)<3){i=-2;break A}a[f>>2]=l;i=0;break A}case 76:{if((b|0)<4){i=-2;break A}a[f>>2]=l;i=0;break A}case 78:{a[f>>2]=l;break A}case 87:{a[f>>2]=b;i=0;break A}case 89:{a[f>>2]=b;i=0;break A}case 90:{if((A|0)<3){i=-2;break A}a[f>>2]=b;i=0;break A}case 92:{if((A|0)<4){i=-2;break A}a[f>>2]=b;i=0;break A}case 94:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=32;break A}case 97:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=31;break A}case 100:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=30;break A}case 103:{a[f>>2]=l;i=0;break A}case 104:{i=0-i|0;break A}}}else if((t|0)==64){a[f>>2]=e;i=0;break}}else i=-1}else i=-4}while(0);return i|0}function i$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e+1>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e>>0]|0)>>0]|0;else i=d$(i,r[e>>0]|0)|0;do{switch(i|0){case 2:{i=C$(A,e+2|0,t,f)|0;break A}case 3:{i=B$(A,e+2|0,t,f)|0;break A}case 9:{l=e+2|0;if((t-l|0)<=1){i=-3;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 4:{l=e+2|0;if((t-l|0)<=1){i=-5;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-5;break A}if((r[e+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=i;i=0;break A}else i=t}else i=t;break}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:{l=e+2|0;i=t}}}while(0);c=A+72|0;A=l;e:while(1){e=i-A|0;if((e|0)<=1){l=52;break}l=r[A+1>>0]|0;t=r[A>>0]|0;if(!(l<<24>>24))l=n[c+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{l=50;break e}case 5:{A=A+2|0;continue e}case 6:{if((e|0)<3){l=38;break e}A=A+3|0;continue e}case 7:{if((e|0)<4){l=41;break e}A=A+4|0;continue e}case 4:{if((e|0)<=3){l=50;break e}l=A+2|0;if(r[A+3>>0]|0){A=l;continue e}if((r[l>>0]|0)!=93){A=l;continue e}if((e|0)<=5){l=50;break e}t=A+4|0;if(r[A+5>>0]|0){A=l;continue e}if((r[t>>0]|0)==62){l=49;break e}else{A=l;continue e}}default:{A=A+2|0;continue e}}}if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==41){a[f>>2]=A;i=6;break}else if((l|0)==49){a[f>>2]=t;i=0;break}else if((l|0)==50){a[f>>2]=A;i=6;break}else if((l|0)==52){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function r$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e+1>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e>>0]|0)>>0]|0;else i=d$(i,r[e>>0]|0)|0;switch(i|0){case 4:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}if((r[e+3>>0]|0)==0?(r[l>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-1;break A}if((r[e+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=e+6;i=40;break A}}break}case 9:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}i=r[e+3>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[l>>0]|0)>>0]|0;else i=d$(i,r[l>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;t=i;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;t=i;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;t=i;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:l=e+2|0}c=A+72|0;A=l;e:while(1){e=t-A|0;if((e|0)<=1){l=40;break}i=r[A+1>>0]|0;l=r[A>>0]|0;if(!(i<<24>>24))i=n[c+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 4:{l=38;break e}case 6:{if((e|0)<3){l=35;break e}else i=3;break}case 7:{if((e|0)<4){l=37;break e}else i=4;break}default:i=2}A=A+i|0}if((l|0)==35){a[f>>2]=A;i=6;break}else if((l|0)==37){a[f>>2]=A;i=6;break}else if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==40){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function f$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i-e|0;b=(b&1|0)==0?i:e+(b&-2)|0;c=A+72|0;t=0;i=e;A:while(1){l=b-i|0;if((l|0)<=1){i=-1;break}A=r[i+1>>0]|0;e=r[i>>0]|0;if(!(A<<24>>24))A=n[c+(e&255)>>0]|0;else A=d$(A,e)|0;switch(A|0){case 8:case 1:case 0:{s=12;break A}case 5:{l=t;i=i+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}l=t;i=i+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}l=t;i=i+4|0;t=l;continue A}case 2:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[i+3>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=33){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[i+5>>0]|0){l=t;i=A;t=l;continue A}l=(r[A>>0]|0)==91;t=t+(l&1)|0;i=l?i+6|0:A;continue A}case 4:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[i+3>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=93){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[i+5>>0]|0){l=t;i=A;t=l;continue A}if((r[A>>0]|0)!=62){l=t;i=A;t=l;continue A}i=i+6|0;if(!t){s=26;break A}t=t+-1|0;continue A}default:{l=t;i=i+2|0;t=l;continue A}}}if((s|0)==12){a[f>>2]=i;i=0}else if((s|0)==26){a[f>>2]=i;i=42}return i|0}function a$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=30;break}l=r[c+1>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 2:{t=14;break A}case 10:{t=15;break A}case 9:{t=18;break A}case 21:{t=25;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=B$(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14){a[f>>2]=c;l=0;break}else if((t|0)==15)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==18){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==25)if((c|0)==(e|0)){a[f>>2]=e+2;l=39;break}else{a[f>>2]=c;l=6;break}else if((t|0)==30){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function n$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=29;break}l=r[c+1>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 30:{t=14;break A}case 10:{t=17;break A}case 9:{t=20;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=B$(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14)if((c|0)==(e|0)){l=v$(A,e+2|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=c;l=6;break}else if((t|0)==17)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==20){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==29){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function l$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=7;break}if((a-A|0)<2){A=0;break}if(r[A+1>>0]|0){A=0;break}if((r[A>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+2|0}if((n|0)==7)A=(A|0)==(i|0)&1;return A|0}function t$(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=A+72|0;f=e;A:while(1){A=r[f+1>>0]|0;i=r[f>>0]|0;if(!(A<<24>>24))A=n[a+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 5:{A=2;break}case 6:{A=3;break}case 7:{A=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{A=2;break}default:break A}f=f+A|0}return f-e|0}function c$(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A:while(1){A=r[e+1>>0]|0;i=r[e>>0]|0;if(!(A<<24>>24))A=n[f+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 21:case 9:case 10:break;default:break A}e=e+2|0}return e|0}function b$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=A+72|0;w=0;u=0;A=1;A:while(1){s=e+2|0;t=e+3|0;l=r[t>>0]|0;c=l<<24>>24==0;b=r[s>>0]|0;if(c)l=n[k+(b&255)>>0]|0;else l=d$(l,b)|0;do{switch(l|0){case 5:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 6:{if(A|0){c=A;b=u;s=w;e=t;A=c;u=b;w=s;continue A}if((u|0)>=(i|0)){b=u;s=w;A=1;e=t;u=b;w=s;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;b=u;s=w;A=1;e=t;u=b;w=s;continue A}case 7:{if(!A)if((u|0)<(i|0)){a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;A=1}else A=1;b=u;s=w;e=e+4|0;u=b;w=s;continue A}case 24:case 22:case 29:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 12:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=12;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=12;A=2;e=s;u=b;continue A}if((w|0)!=12){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=12;u=u+1|0;A=0;e=s;continue A}case 13:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=13;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=13;A=2;e=s;u=b;continue A}if((w|0)!=13){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=13;u=u+1|0;A=0;e=s;continue A}case 3:{if((u|0)>=(i|0)){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}case 21:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}t=f+(u<<4)+12|0;if(!(r[t>>0]|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}do{if(c&(s|0)!=(a[f+(u<<4)+4>>2]|0)&b<<24>>24==32){l=r[e+5>>0]|0;A=r[e+4>>0]|0;if(!(l<<24>>24)){if(A<<24>>24==32)break;A=n[k+(A&255)>>0]|0}else A=d$(l,A)|0;if((A|0)!=(w|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}}}while(0);r[t>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 10:case 9:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 17:case 11:if((A|0)==2){c=u;b=w;A=2;e=s;u=c;w=b;continue A}else break A;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}}while(0)}return u|0}function s$(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+4|0;A:do{if((r[e+5>>0]|0)==0?(r[A>>0]|0)==120:0){e=e+6|0;A=0;while(1){e:while(1){if(!(r[e+1>>0]|0)){i=r[e>>0]|0;if(i<<24>>24==59){f=17;break A}i=i<<24>>24;switch(i|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break e}default:{}}}e=e+2|0}if((f|0)==8){f=0;A=i+-48|A<<4}else if((f|0)==9){f=0;A=(A<<4)+-55+i|0}else if((f|0)==10){f=0;A=(A<<4)+-87+i|0}if((A|0)<1114112)e=e+2|0;else{A=-1;break}}}else{i=A;A=0;f=13}}while(0);A:do{if((f|0)==13)while(1){f=0;if(!(r[i+1>>0]|0)){e=r[i>>0]|0;if(e<<24>>24==59){f=17;break A}e=e<<24>>24}else e=-1;A=(A*10|0)+-48+e|0;if((A|0)>=1114112){A=-1;break}else{i=i+2|0;f=13}}}while(0);if((f|0)==17)A=gs(A)|0;return A|0}function w$(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch((i-e|0)/2|0|0){case 2:{if((r[e+3>>0]|0)==0?(r[e+2>>0]|0)==116:0){if(!(r[e+1>>0]|0))A=r[e>>0]|0;else A=-1;A=(A|0)==108?60:(A|0)==103?62:0}else f=27;break}case 3:{if((((((r[e+1>>0]|0)==0?(r[e>>0]|0)==97:0)?(r[e+3>>0]|0)==0:0)?(r[e+2>>0]|0)==109:0)?(r[e+5>>0]|0)==0:0)?(r[e+4>>0]|0)==112:0)A=38;else f=27;break}case 4:{if(!(r[e+1>>0]|0))switch(r[e>>0]|0){case 113:{if(r[e+3>>0]|0){f=27;break A}if((r[e+2>>0]|0)!=117){f=27;break A}if(r[e+5>>0]|0){f=27;break A}if((r[e+4>>0]|0)!=111){f=27;break A}if(r[e+7>>0]|0){f=27;break A}if((r[e+6>>0]|0)==116){A=34;break A}else{f=27;break A}}case 97:{if(r[e+3>>0]|0){f=27;break A}if((r[e+2>>0]|0)!=112){f=27;break A}if(r[e+5>>0]|0){f=27;break A}if((r[e+4>>0]|0)!=111){f=27;break A}if(r[e+7>>0]|0){f=27;break A}if((r[e+6>>0]|0)==115){A=39;break A}else{f=27;break A}}default:{f=27;break A}}else f=27;break}default:f=27}}while(0);if((f|0)==27)A=0;return A|0}function u$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=A+72|0;b=f+4|0;while(1){if((i-e|0)<=1)break;A=r[e+1>>0]|0;l=r[e>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{a[b>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+2|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;t=e+2|0;if((i-t|0)>1){A=r[e+3>>0]|0;l=r[t>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;e=(A|0)==10?e+4|0:t}else e=t;a[b>>2]=-1;break}default:e=e+2|0}a[b>>2]=(a[b>>2]|0)+1}return}function k$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i+-2|0;t=A+72|0;i=e;A:while(1){l=i+2|0;if((c-l|0)<=1){i=1;break}i=r[i+3>>0]|0;A=i<<24>>24==0;e=r[l>>0]|0;if(A)i=n[t+(e&255)>>0]|0;else i=d$(i,e)|0;switch(i|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:{i=l;continue A}case 21:if(A&e<<24>>24==9){b=12;break A}else{i=l;continue A}case 22:case 26:{if(!A){b=12;break A}if(e<<24>>24>=0){i=l;continue A}break}default:if(!A){b=12;break A}}switch(e<<24>>24|0){case 64:case 36:{i=l;break}default:{b=12;break A}}}if((b|0)==12){a[f>>2]=l;i=0}return i|0}function o$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[e>>2]|0;b=c+(i-c&-2)|0;s=b;w=l;A:while(1){if(c>>>0>=b>>>0){A=0;break}t=r[c>>0]|0;A=r[c+1>>0]|0;i=A&255;switch(A<<24>>24){case 0:{if(t<<24>>24>-1){A=a[f>>2]|0;if((A|0)==(l|0)){A=2;break A}a[f>>2]=A+1;r[A>>0]=t;A=c}else u=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{u=7;break}case-37:case-38:case-39:case-40:{A=a[f>>2]|0;if((w-A|0)<4){A=2;break A}if((s-c|0)<4){A=1;break A}k=t&255;t=(i<<2&12|k>>>6)+1|0;a[f>>2]=A+1;r[A>>0]=t>>>2|240;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>2&15|t<<4&48|128;A=c+2|0;t=n[A>>0]|0;i=(k<<4&48|t>>>6|r[c+3>>0]<<2&12|128)&255;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=i;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=t&63|128;break}default:{A=a[f>>2]|0;if((w-A|0)<3){A=2;break A}a[f>>2]=A+1;r[A>>0]=i>>>4|224;k=t&255;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2&60|128;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}}if((u|0)==7){u=0;A=a[f>>2]|0;if((w-A|0)<2){A=2;break}k=t&255;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2|192;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}c=A+2|0}a[e>>2]=c;return A|0}function h$(A,e,i,l,t){A=A|0;e=e|0;i=i|0;l=l|0;t=t|0;var c=0,b=0,s=0;c=a[e>>2]|0;s=i-c&-2;A=c+s|0;if((s|0)>(t-(a[l>>2]|0)|0)){b=A+-2|0;i=(r[b+1>>0]&-8)<<24>>24==-40;s=i&1;A=i?b:A}else s=0;i=c;while(1){c=i>>>0>>0;b=a[l>>2]|0;if(!(c&b>>>0>>0))break;c=((n[i+1>>0]|0)<<8|(n[i>>0]|0))&65535;a[l>>2]=b+2;f[b>>1]=c;b=(a[e>>2]|0)+2|0;a[e>>2]=b;i=b}return((b|0)!=(t|0)|c^1?s:2)|0}function d$(A,e){A=A|0;e=e|0;var i=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((e&255)>253)A=0;else i=4;break}default:i=4}if((i|0)==4)A=29;return A|0}function B$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=i;c=s-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;A=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;A=0;break A}case 6:{if((c|0)<3){A=-2;break A}a[f>>2]=e;A=0;break A}case 7:{if((c|0)<4){A=-2;break A}a[f>>2]=e;A=0;break A}case 19:{A=g$(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;A=0;break A}}b=A+72|0;c=e;e:while(1){t=c+2|0;e=s-t|0;if((e|0)<=1){A=-1;break A}A=r[c+3>>0]|0;l=r[t>>0]|0;if(!(A<<24>>24))i=n[b+(l&255)>>0]|0;else i=d$(A,l)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{c=t;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=l&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(A&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else c=t}if((l|0)==22){a[f>>2]=t;A=0;break}else if((l|0)==23){a[f>>2]=t;A=0;break}else if((l|0)==24){if((e|0)<3){A=-2;break}a[f>>2]=t;A=0;break}else if((l|0)==26){if((e|0)<4){A=-2;break}a[f>>2]=t;A=0;break}else if((l|0)==28){a[f>>2]=c+4;A=9;break}else if((l|0)==29){a[f>>2]=t;A=0;break}}else A=-1}while(0);return A|0}function v$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){b=A+2|0;e=i-b|0;if((e|0)<=1){i=-1;break A}l=r[A+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:{A=b;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else A=b}if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){a[f>>2]=b;i=0;break}else if((l|0)==24){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==26){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==28){a[f>>2]=A+4;i=28;break}else if((l|0)==29){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function g$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;b=i;A:do{if((b-e|0)>1){t=r[e+1>>0]|0;l=r[e>>0]|0;do{if(!(t<<24>>24))if(l<<24>>24==120){l=E$(A,e+2|0,i,f)|0;break A}else{l=n[A+72+(l&255)>>0]|0;break}else l=d$(t,l)|0}while(0);if((l|0)!=25){a[f>>2]=e;l=0;break}c=A+72|0;A=e;e:while(1){t=A+2|0;if((b-t|0)<=1){l=-1;break A}l=r[A+3>>0]|0;i=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(i&255)>>0]|0;else l=d$(l,i)|0;switch(l|0){case 25:{A=t;break}case 18:{i=15;break e}default:{i=16;break e}}}if((i|0)==15){a[f>>2]=A+4;l=10;break}else if((i|0)==16){a[f>>2]=t;l=0;break}}else l=-1}while(0);return l|0}function E$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;A:do{if((i-e|0)>1){l=r[e+1>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e>>0]|0)>>0]|0;else l=d$(l,r[e>>0]|0)|0;if((l&-2|0)!=24){a[f>>2]=e;i=0;break}c=A+72|0;e:while(1){t=e+2|0;if((i-t|0)<=1){i=-1;break A}l=r[e+3>>0]|0;A=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 25:{e=t;break}case 18:{l=13;break e}default:{l=14;break e}}}if((l|0)==13){a[f>>2]=e+4;i=10;break}else if((l|0)==14){a[f>>2]=t;i=0;break}}else i=-1}while(0);return i|0}function C$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=i;c=k-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{w=t&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;l=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;l=0;break A}case 6:{if((c|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 7:{if((c|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 16:{t=e+2|0;if((k-t|0)<=1){l=-1;break A}l=r[e+3>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[t>>0]|0)>>0]|0;else l=d$(l,r[t>>0]|0)|0;switch(l|0){case 27:{l=I$(A,e+4|0,i,f)|0;break A}case 20:{l=Z$(e+4|0,i,f)|0;break A}default:{a[f>>2]=t;l=0;break A}}}case 15:{l=G$(A,e+2|0,i,f)|0;break A}case 17:{l=Q$(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}w=A+72|0;s=0;l=e+2|0;e:while(1){i:while(1){t=k-l|0;if((t|0)<=1){l=-1;break A}c=r[l+1>>0]|0;b=r[l>>0]|0;if(!(c<<24>>24))e=n[w+(b&255)>>0]|0;else e=d$(c,b)|0;switch(e|0){case 5:{u=34;break e}case 6:{u=35;break e}case 7:{u=37;break e}case 10:case 9:case 21:{u=55;break e}case 11:{u=69;break e}case 17:break e;case 23:break i;case 29:{e=b&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(c&255)>>0]<<3)<<2)>>2])){u=32;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{u=75;break e}}l=l+2|0}if(s|0){u=40;break}b=l+2|0;e=k-b|0;if((e|0)<=1){l=-1;break A}s=r[l+3>>0]|0;t=r[b>>0]|0;if(!(s<<24>>24))c=n[w+(t&255)>>0]|0;else c=d$(s,t)|0;switch(c|0){case 5:{u=49;break e}case 6:{u=50;break e}case 7:{u=52;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[143788+(s&255)>>0]<<3)<<2)>>2])){u=47;break e}break}case 24:case 22:break;default:{u=54;break e}}s=1;l=l+4|0}e:switch(u|0){case 32:{a[f>>2]=l;l=0;break A}case 34:{a[f>>2]=l;l=0;break A}case 35:{if((t|0)<3){l=-2;break A}a[f>>2]=l;l=0;break A}case 37:{if((t|0)<4){l=-2;break A}a[f>>2]=l;l=0;break A}case 40:{a[f>>2]=l;l=0;break A}case 47:{a[f>>2]=b;l=0;break A}case 49:{a[f>>2]=b;l=0;break A}case 50:{if((e|0)<3){l=-2;break A}a[f>>2]=b;l=0;break A}case 52:{if((e|0)<4){l=-2;break A}a[f>>2]=b;l=0;break A}case 54:{a[f>>2]=b;l=0;break A}case 55:{i:while(1){u=0;t=l+2|0;c=k-t|0;if((c|0)<=1){l=-1;break A}b=r[l+3>>0]|0;e=r[t>>0]|0;if(!(b<<24>>24))s=n[w+(e&255)>>0]|0;else s=d$(b,e)|0;switch(s|0){case 11:{l=t;u=69;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;u=55;break}case 29:{u=60;break i}case 24:case 22:break i;case 5:{u=63;break i}case 6:{u=64;break i}case 7:{u=66;break i}default:{u=68;break i}}}if((u|0)==60){k=e&255;if(!(1<<(k&31)&a[56940+((k>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=t;l=0;break A}}else if((u|0)==63){a[f>>2]=t;l=0;break A}else if((u|0)==64){if((c|0)<3){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==66){if((c|0)<4){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==68){a[f>>2]=t;l=0;break A}l=m$(A,l+4|0,i,f)|0;break A}case 75:{a[f>>2]=l;l=0;break A}}if((u|0)==69){a[f>>2]=l+2;l=2;break}t=l+2|0;if((k-t|0)>1){if((r[l+3>>0]|0)==0?(r[t>>0]|0)==62:0){a[f>>2]=l+4;l=4;break}a[f>>2]=t;l=0}else l=-1}else l=-1}while(0);return l|0}function I$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i;A:do{if((c-e|0)>1){if((r[e+1>>0]|0)==0?(r[e>>0]|0)==45:0){t=A+72|0;l=e+2|0;e:while(1){e=c-l|0;if((e|0)<=1){i=-1;break A}i=r[l+1>>0]|0;A=r[l>>0]|0;if(!(i<<24>>24))i=n[t+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|0){case 8:case 1:case 0:{b=16;break e}case 5:{l=l+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}l=l+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}l=l+4|0;continue e}case 27:{i=l+2|0;if((c-i|0)<=1){i=-1;break A}if(r[l+3>>0]|0){l=i;continue e}if((r[i>>0]|0)==45)break e;else{l=i;continue e}}default:{l=l+2|0;continue e}}}if((b|0)==16){a[f>>2]=l;i=0;break}i=l+4|0;if((c-i|0)<=1){i=-1;break}if((r[l+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=l+6;i=13;break}a[f>>2]=i;i=0;break}a[f>>2]=e;i=0}else i=-1}while(0);return i|0}function Z$(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>11){e=0;while(1){if((e|0)>=6){e=8;break}if(r[A+1>>0]|0){e=0;break}if((r[A>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+2|0}a[i>>2]=A}else e=-1;return e|0}function G$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;c=u-e|0;A:do{if((c|0)>1){i=r[e+1>>0]|0;if(!(i<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(i,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(i&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;b=e;e:while(1){i=b+2|0;l=u-i|0;if((l|0)<=1){i=-1;break A}t=r[b+3>>0]|0;c=r[i>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 27:case 26:case 25:case 24:case 22:{b=i;continue e}case 5:{w=22;break e}case 6:{w=23;break e}case 7:{w=25;break e}case 10:case 9:case 21:{w=27;break e}case 15:{w=46;break e}case 29:break;default:break e}b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){w=21;break}else b=i}if((w|0)==21){a[f>>2]=i;i=0;break}else if((w|0)==22){a[f>>2]=i;i=0;break}else if((w|0)==23){if((l|0)<3){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==25){if((l|0)<4){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==27){if(!(L$(e,i,o)|0)){a[f>>2]=i;i=0;break}c=b+4|0;e:while(1){t=u-c|0;if((t|0)<=1){i=-1;break A}i=r[c+1>>0]|0;l=r[c>>0]|0;if(!(i<<24>>24))i=n[s+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 8:case 1:case 0:{w=40;break e}case 5:{c=c+2|0;continue e}case 6:{if((t|0)<3){i=-2;break A}c=c+3|0;continue e}case 7:{if((t|0)<4){i=-2;break A}c=c+4|0;continue e}case 15:{i=c+2|0;if((u-i|0)<=1){i=-1;break A}if(r[c+3>>0]|0){c=i;continue e}if((r[i>>0]|0)==62){w=44;break e}else{c=i;continue e}}default:{c=c+2|0;continue e}}}if((w|0)==40){a[f>>2]=c;i=0;break}else if((w|0)==44){a[f>>2]=c+4;i=a[o>>2]|0;break}}else if((w|0)==46){if(!(L$(e,i,o)|0)){a[f>>2]=i;i=0;break}i=b+4|0;if((u-i|0)<=1){i=-1;break}if((r[b+5>>0]|0)==0?(r[i>>0]|0)==62:0){a[f>>2]=b+6;i=a[o>>2]|0;break}}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function Q$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){c=A+2|0;e=i-c|0;if((e|0)<=1){i=-1;break A}l=r[A+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))b=n[s+(t&255)>>0]|0;else b=d$(l,t)|0;switch(b|0){case 23:case 27:case 26:case 25:case 24:case 22:{A=c;continue e}case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 10:case 9:case 21:{l=27;break e}case 11:{l=34;break e}case 29:break;default:{l=35;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}else A=c}if((l|0)==21){a[f>>2]=c;i=0;break}else if((l|0)==22){a[f>>2]=c;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==27){e:while(1){b=c+2|0;if((i-b|0)<=1){i=-1;break A}l=r[c+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 21:{c=b;l=27;break}case 11:{l=32;break e}default:{l=33;break e}}}if((l|0)==32){a[f>>2]=c+4;i=5;break}else if((l|0)==33){a[f>>2]=b;i=0;break}}else if((l|0)==34){a[f>>2]=A+4;i=5;break}else if((l|0)==35){a[f>>2]=c;i=0;break}}else i=-1}while(0);return i|0}function m$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;a[h>>2]=e;d=i;u=A+72|0;l=0;A:while(1){e:while(1){s=d-e|0;if((s|0)<=1){e=-1;break A}t=r[e+1>>0]|0;c=r[e>>0]|0;if(!(t<<24>>24))b=n[u+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{o=11;break A}case 6:{o=12;break A}case 7:{o=14;break A}case 23:{o=16;break e}case 10:case 9:case 21:{o=31;break e}case 14:{o=37;break e}case 29:{w=c&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){o=9;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=89;break A}}w=e+2|0;a[h>>2]=w;e=w}e:do{if((o|0)==16){o=0;if(l|0){o=17;break A}l=e+2|0;a[h>>2]=l;t=l;c=d-t|0;if((c|0)<=1){e=-1;break A}b=r[e+3>>0]|0;s=r[l>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=25;break A}case 6:{o=26;break A}case 7:{o=28;break A}case 24:case 22:{l=1;break e}case 29:break;default:{o=30;break A}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=24;break A}else l=1}else if((o|0)==31)while(1){o=0;t=e+2|0;a[h>>2]=t;c=t;if((d-c|0)<=1){e=-1;break A}e=r[e+3>>0]|0;l=r[t>>0]|0;if(!(e<<24>>24))e=n[u+(l&255)>>0]|0;else e=d$(e,l)|0;switch(e|0){case 14:{e=t;o=37;break e}case 9:case 10:case 21:{e=t;o=31;break}default:{o=36;break A}}}}while(0);e:do{if((o|0)==37){while(1){o=0;c=e+2|0;a[h>>2]=c;b=c;if((d-b|0)<=1){e=-1;break A}l=r[e+3>>0]|0;t=r[c>>0]|0;if(!(l<<24>>24))s=n[u+(t&255)>>0]|0;else s=d$(l,t)|0;if((s|1|0)==13)break;switch(s|0){case 9:case 10:case 21:{e=c;o=37;break}default:{o=43;break A}}}e=e+4|0;a[h>>2]=e;i:while(1){c=d-e|0;if((c|0)<=1){e=-1;break A}l=r[e+1>>0]|0;t=r[e>>0]|0;if(!(l<<24>>24))l=n[u+(t&255)>>0]|0;else l=d$(l,t)|0;if((l|0)==(s|0))break;switch(l|0){case 8:case 1:case 0:{o=56;break A}case 2:{o=61;break A}case 5:{w=e+2|0;a[h>>2]=w;e=w;continue i}case 6:{if((c|0)<3){e=-2;break A}w=e+3|0;a[h>>2]=w;e=w;continue i}case 7:{if((c|0)<4){e=-2;break A}w=e+4|0;a[h>>2]=w;e=w;continue i}case 3:{e=B$(A,e+2|0,i,h)|0;if((e|0)<1){o=59;break A}e=a[h>>2]|0;continue i}default:{w=e+2|0;a[h>>2]=w;e=w;continue i}}}t=e+2|0;a[h>>2]=t;b=t;if((d-b|0)<=1){e=-1;break A}l=r[e+3>>0]|0;c=r[t>>0]|0;if(!(l<<24>>24))l=n[u+(c&255)>>0]|0;else l=d$(l,c)|0;switch(l|0){case 11:{o=81;break A}case 17:{o=82;break A}case 10:case 9:case 21:{e=t;break}default:{o=68;break A}}i:while(1){t=e+2|0;a[h>>2]=t;l=t;c=d-l|0;if((c|0)<=1){e=-1;break A}b=r[e+3>>0]|0;s=r[t>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=76;break A}case 6:{o=77;break A}case 7:{o=79;break A}case 11:{o=81;break A}case 17:{o=82;break A}case 24:case 22:{l=0;break e}case 10:case 9:case 21:{e=t;break}case 29:break i;default:{o=87;break A}}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=75;break A}else l=0}}while(0);e=e+4|0;a[h>>2]=e}switch(o|0){case 9:{a[f>>2]=e;e=0;break}case 11:{a[f>>2]=e;e=0;break}case 12:{if((s|0)<3)e=-2;else{a[f>>2]=e;e=0}break}case 14:{if((s|0)<4)e=-2;else{a[f>>2]=e;e=0}break}case 17:{a[f>>2]=e;e=0;break}case 24:{a[f>>2]=l;e=0;break}case 25:{a[f>>2]=l;e=0;break}case 26:{if((c|0)<3)e=-2;else{a[f>>2]=l;e=0}break}case 28:{if((c|0)<4)e=-2;else{a[f>>2]=l;e=0}break}case 30:{a[f>>2]=t;e=0;break}case 36:{a[f>>2]=c;e=0;break}case 43:{a[f>>2]=b;e=0;break}case 56:{a[f>>2]=e;e=0;break}case 59:{if(!e){a[f>>2]=a[h>>2];e=0}break}case 61:{a[f>>2]=e;e=0;break}case 68:{a[f>>2]=b;e=0;break}case 75:{a[f>>2]=t;e=0;break}case 76:{a[f>>2]=t;e=0;break}case 77:{if((c|0)<3)e=-2;else{a[f>>2]=t;e=0}break}case 79:{if((c|0)<4)e=-2;else{a[f>>2]=t;e=0}break}case 81:{a[f>>2]=e+4;e=1;break}case 82:{l=t+2|0;a[h>>2]=l;e=l;if((d-e|0)>1){if((r[t+3>>0]|0)==0?(r[l>>0]|0)==62:0){a[f>>2]=t+4;e=3;break}a[f>>2]=e;e=0}else e=-1;break}case 87:{a[f>>2]=l;e=0;break}case 89:{a[f>>2]=e;e=0;break}}k=B;return e|0}function L$(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==6?(r[A+1>>0]|0)==0:0){switch(r[A>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}if(!(r[A+3>>0]|0)){switch(r[A+2>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}if(!(r[A+5>>0]|0)){switch(r[A+4>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}else e=1}else e=1}while(0);return e|0}function W$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0;b=e+72|0;A:while(1){e:while(1){c=f-i|0;if((c|0)<=1){i=-1;break A}e=r[i+1>>0]|0;t=r[i>>0]|0;if(!(e<<24>>24))e=n[b+(t&255)>>0]|0;else e=d$(e,t)|0;switch(e|0){case 8:case 1:case 0:{s=10;break A}case 6:{s=9;break e}case 7:{s=19;break e}case 5:{i=i+2|0;continue e}case 13:case 12:{t=i+2|0;if((e|0)==(A|0)){s=12;break A}else{i=t;continue e}}default:{i=i+2|0;continue e}}}if((s|0)==9){s=0;if((c|0)<3){i=-2;break}else{i=i+3|0;continue}}else if((s|0)==19){s=0;if((c|0)<4){i=-2;break}else{i=i+4|0;continue}}}A:do{if((s|0)==10){a[l>>2]=i;i=0}else if((s|0)==12)if((f-t|0)>1){a[l>>2]=t;f=r[i+3>>0]|0;i=r[t>>0]|0;if(!(f<<24>>24))i=n[b+(i&255)>>0]|0;else i=d$(f,i)|0;switch(i|0){case 20:case 30:case 11:case 10:case 9:case 21:{i=27;break A}default:{}}i=0}else i=-27}while(0);return i|0}function y$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;A:do{if((b-e|0)>1){l=r[e+1>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e>>0]|0)>>0]|0;else l=d$(l,r[e>>0]|0)|0;switch(l|0){case 27:{l=I$(A,e+2|0,i,f)|0;break A}case 20:{a[f>>2]=e+2;l=33;break A}case 24:case 22:{c=A+72|0;e:while(1){t=e+2|0;i=b-t|0;if((i|0)<=1){l=-1;break A}l=r[e+3>>0]|0;A=r[t>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 22:{e=t;break}case 30:{s=15;break e}case 10:case 9:case 21:break e;default:{s=22;break e}}}if((s|0)==22){a[f>>2]=t;l=0;break A}e:do{if((s|0)==15){if((i|0)<=3){l=-1;break A}A=r[e+5>>0]|0;l=r[e+4>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=t;l=0;break A}}while(0);a[f>>2]=t;l=16;break A}default:{a[f>>2]=e;l=0;break A}}}else l=-1}while(0);return l|0}function z$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i-e|0;A:do{if((c|0)>1){b=r[e+1>>0]|0;if(!(b<<24>>24)){t=r[e>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}A=A+72|0;b=e;e:while(1){l=b;b=b+2|0;e=i-b|0;if((e|0)<=1){i=-20;break A}l=r[l+3>>0]|0;t=r[b>>0]|0;if(!(l<<24>>24))c=n[A+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:continue e;case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=27;break e}case 29:break;default:{l=28;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}}if((l|0)==21){a[f>>2]=b;i=0;break}else if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==27){a[f>>2]=b;i=20;break}else if((l|0)==28){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function Y$(A,e,i){A=A|0;e=e|0;i=i|0;i=D$(i)|0;if((i|0)==-1)i=0;else{r[A+69>>0]=i;a[A>>2]=67;a[A+4>>2]=68;a[A+48>>2]=31;a[A+72>>2]=e;a[e>>2]=A;i=1}return i|0}function D$(A){A=A|0;var e=0;A:do{if(!A)e=6;else{e=0;while(1){if((e|0)>=6){e=-1;break A}if(o0(A,a[60068+(e<<2)>>2]|0)|0)break A;e=e+1|0}}}while(0);return e|0}function M$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(58948,A,0,e,i,r)|0}function F$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(58948,A,1,e,i,r)|0}function V$(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;Qq(58584,e,i,r);return}function J$(A,e,i,f,n,l){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0;A:do{if(f>>>0>>0){s=a[e+72>>2]|0;t=f+1|0;e:do{if((t|0)==(n|0)){t=r[e+69>>0]|0;if(((t<<24>>24)+-3|0)>>>0<3){t=-1;break A}switch(r[f>>0]|0){case 60:case 0:{t=-1;break A}case-17:case-1:case-2:break;default:break e}if(!((i|0)==1&t<<24>>24==0)){t=-1;break A}}else{b=r[f>>0]|0;t=r[t>>0]|0;c=((b&255)<<8|t&255)&65535;i:do{if(c<<16>>16<-2){if(c<<16>>16>=-257){switch(c<<16>>16){case-257:break;default:break i}if((i|0)==1&(r[e+69>>0]|0)==0)break e;a[l>>2]=f+2;a[s>>2]=a[A+16>>2];t=14;break A}switch(c<<16>>16){case-4165:break;default:break i}if((i|0)==1)switch(r[e+69>>0]|0){case 0:case 3:case 4:case 5:break e;default:{}}t=f+2|0;if((t|0)==(n|0)){t=-1;break A}if((r[t>>0]|0)!=-65)break e;a[l>>2]=f+3;a[s>>2]=a[A+8>>2];t=14;break A}else{if(c<<16>>16<15360){switch(c<<16>>16){case-2:break;default:break i}if((i|0)==1&(r[e+69>>0]|0)==0)break e;a[l>>2]=f+2;a[s>>2]=a[A+20>>2];t=14;break A}switch(c<<16>>16){case 15360:break;default:break i}t=r[e+69>>0]|0;if(t<<24>>24==4){if((i|0)==1)break e}else if((i|0)==1&t<<24>>24==3)break e;t=a[A+20>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}}while(0);if(b<<24>>24){if((i|0)==1|t<<24>>24!=0)break;t=a[A+20>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}if((i|0)==1?(r[e+69>>0]|0)==5:0)break;t=a[A+16>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0;break A}}while(0);t=a[A+(r[e+69>>0]<<2)>>2]|0;a[s>>2]=t;t=y5[a[t+(i<<2)>>2]&127](t,f,n,l)|0}else t=-4}while(0);return t|0}function N$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0;A:do{if(e>>>0>>0){t=e;w=i-t|0;b=(w&1|0)==0;w=w&-2;s=(w|0)==0;w=b|s?i:e+w|0;if(b|s^1){i=r[e>>0]|0;if(!(i<<24>>24)){l=r[e+1>>0]|0;c=l;l=n[A+72+(l&255)>>0]|0}else{l=r[e+1>>0]|0;c=l;l=d$(i,l)|0}do{switch(l|0){case 12:{i=s0(12,A,e+2|0,w,f)|0;break A}case 13:{i=s0(13,A,e+2|0,w,f)|0;break A}case 2:{l=e+2|0;if((w-l|0)<=1){i=-1;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;switch(i|0){case 16:{i=w0(A,e+4|0,w,f)|0;break A}case 15:{i=l0(A,e+4|0,w,f)|0;break A}case 7:case 6:case 5:case 29:case 24:case 22:{a[f>>2]=e;i=29;break A}default:{a[f>>2]=l;i=0;break A}}}case 9:{if((e+2|0)==(w|0)){a[f>>2]=w;i=-15;break A}else t=7;break}case 10:case 21:{t=7;break}case 30:{i=e0(A,e+2|0,w,f)|0;break A}case 35:{a[f>>2]=e+2;i=38;break A}case 20:{a[f>>2]=e+2;i=25;break A}case 4:{l=e+2|0;i=w-l|0;if((i|0)<=1){i=-26;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){if((i|0)<=3){i=-1;break A}if((r[e+4>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=e+6;i=34;break A}}a[f>>2]=l;i=26;break A}case 31:{a[f>>2]=e+2;i=23;break A}case 32:{l=e+2|0;if((w-l|0)<=1){i=-24;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;switch(i|0){case 33:{a[f>>2]=e+4;i=36;break A}case 15:{a[f>>2]=e+4;i=35;break A}case 34:{a[f>>2]=e+4;i=37;break A}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{a[f>>2]=l;i=24;break A}default:{a[f>>2]=l;i=0;break A}}}case 36:{a[f>>2]=e+2;i=21;break A}case 11:{a[f>>2]=e+2;i=17;break A}case 19:{i=u0(A,e+2|0,w,f)|0;break A}case 5:{if((w-t|0)<2){i=-2;break A}a[f>>2]=e;i=0;break A}case 6:{if((w-t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((w-t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 24:case 22:{i=18;t=61;break}case 23:case 27:case 26:case 25:{i=19;t=61;break}case 29:{t=i&255;l=c&255;i=l>>>5;l=1<<(l&31);if(!(l&a[56940+((i|n[143788+t>>0]<<3)<<2)>>2]))if(!(a[56940+((n[144044+t>>0]<<3|i)<<2)>>2]&l))t=64;else{i=19;t=61}else{i=18;t=61}break}default:t=64}}while(0);if((t|0)==7){b=w;A=A+72|0;c=e;e:while(1){t=c;c=c+2|0;if((b-c|0)<=1){t=28;break}i=r[c>>0]|0;l=r[t+3>>0]|0;if(!(i<<24>>24))i=n[A+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 21:continue e;case 9:break;default:{t=27;break e}}if((t+4|0)==(w|0)){t=27;break}}if((t|0)==27){a[f>>2]=c;i=15;break}else if((t|0)==28){a[f>>2]=c;i=15;break}}else if((t|0)==61){s=A+72|0;l=e+2|0;e:while(1){e=i&255;i:while(1){b=w-l|0;if((b|0)<=1){t=104;break e}t=r[l>>0]|0;c=r[l+1>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 5:{t=73;break e}case 6:{t=74;break e}case 7:{t=76;break e}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{t=78;break e}case 34:{t=94;break e}case 33:{t=97;break e}case 15:{t=100;break e}case 29:{b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){t=71;break e}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{b=l+2|0;switch(e&63){case 41:{i=19;l=b;continue e}case 18:break i;default:{l=b;continue i}}}default:{t=103;break e}}l=l+2|0}A=w-b|0;if((A|0)<=1){i=-1;break A}i=r[b>>0]|0;t=r[l+3>>0]|0;if(!(i<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(i,t)|0;switch(c|0){case 5:{t=89;break e}case 6:{t=90;break e}case 7:{t=92;break e}case 29:{e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(i&255)>>0]<<3)<<2)>>2])){t=87;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{i=19;l=b;continue e}}i=41;l=l+4|0}switch(t|0){case 71:{a[f>>2]=l;i=0;break A}case 73:{a[f>>2]=l;i=0;break A}case 74:{if((b|0)<3){i=-2;break A}a[f>>2]=l;i=0;break A}case 76:{if((b|0)<4){i=-2;break A}a[f>>2]=l;i=0;break A}case 78:{a[f>>2]=l;break A}case 87:{a[f>>2]=b;i=0;break A}case 89:{a[f>>2]=b;i=0;break A}case 90:{if((A|0)<3){i=-2;break A}a[f>>2]=b;i=0;break A}case 92:{if((A|0)<4){i=-2;break A}a[f>>2]=b;i=0;break A}case 94:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=32;break A}case 97:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=31;break A}case 100:if((i|0)==19){a[f>>2]=l;i=0;break A}else{a[f>>2]=l+2;i=30;break A}case 103:{a[f>>2]=l;i=0;break A}case 104:{i=0-i|0;break A}}}else if((t|0)==64){a[f>>2]=e;i=0;break}}else i=-1}else i=-4}while(0);return i|0}function X$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+1>>0]|0)>>0]|0;else i=d$(i,r[e+1>>0]|0)|0;do{switch(i|0){case 2:{i=f0(A,e+2|0,t,f)|0;break A}case 3:{i=A0(A,e+2|0,t,f)|0;break A}case 9:{l=e+2|0;if((t-l|0)<=1){i=-3;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 4:{l=e+2|0;if((t-l|0)<=1){i=-5;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-5;break A}if((r[i>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=i;i=0;break A}else i=t}else i=t;break}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:{l=e+2|0;i=t}}}while(0);c=A+72|0;A=l;e:while(1){e=i-A|0;if((e|0)<=1){l=52;break}l=r[A>>0]|0;t=r[A+1>>0]|0;if(!(l<<24>>24))l=n[c+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{l=50;break e}case 5:{A=A+2|0;continue e}case 6:{if((e|0)<3){l=38;break e}A=A+3|0;continue e}case 7:{if((e|0)<4){l=41;break e}A=A+4|0;continue e}case 4:{if((e|0)<=3){l=50;break e}l=A+2|0;if(r[l>>0]|0){A=l;continue e}if((r[A+3>>0]|0)!=93){A=l;continue e}if((e|0)<=5){l=50;break e}t=A+4|0;if(r[t>>0]|0){A=l;continue e}if((r[A+5>>0]|0)==62){l=49;break e}else{A=l;continue e}}default:{A=A+2|0;continue e}}}if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==41){a[f>>2]=A;i=6;break}else if((l|0)==49){a[f>>2]=t;i=0;break}else if((l|0)==50){a[f>>2]=A;i=6;break}else if((l|0)==52){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function R$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;A:do{if(e>>>0>>0){l=e;t=i-l|0;b=(t&1|0)==0;t=t&-2;c=(t|0)==0;t=b|c?i:e+t|0;if(b|c^1){i=r[e>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+1>>0]|0)>>0]|0;else i=d$(i,r[e+1>>0]|0)|0;switch(i|0){case 4:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}if((r[l>>0]|0)==0?(r[e+3>>0]|0)==93:0){i=e+4|0;if((t-i|0)<=1){i=-1;break A}if((r[i>>0]|0)==0?(r[e+5>>0]|0)==62:0){a[f>>2]=e+6;i=40;break A}}break}case 9:{l=e+2|0;if((t-l|0)<=1){i=-1;break A}i=r[l>>0]|0;if(!(i<<24>>24))i=n[A+72+(n[e+3>>0]|0)>>0]|0;else i=d$(i,r[e+3>>0]|0)|0;a[f>>2]=(i|0)==10?e+4|0:l;i=7;break A}case 10:{a[f>>2]=e+2;i=7;break A}case 5:{i=t;if((i-l|0)<2){i=-2;break A}l=e+2|0;t=i;break}case 6:{i=t;if((i-l|0)<3){i=-2;break A}l=e+3|0;t=i;break}case 7:{i=t;if((i-l|0)<4){i=-2;break A}l=e+4|0;t=i;break}case 8:case 1:case 0:{a[f>>2]=e;i=0;break A}default:l=e+2|0}c=A+72|0;A=l;e:while(1){e=t-A|0;if((e|0)<=1){l=40;break}i=r[A>>0]|0;l=r[A+1>>0]|0;if(!(i<<24>>24))i=n[c+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 4:{l=38;break e}case 6:{if((e|0)<3){l=35;break e}else i=3;break}case 7:{if((e|0)<4){l=37;break e}else i=4;break}default:i=2}A=A+i|0}if((l|0)==35){a[f>>2]=A;i=6;break}else if((l|0)==37){a[f>>2]=A;i=6;break}else if((l|0)==38){a[f>>2]=A;i=6;break}else if((l|0)==40){a[f>>2]=A;i=6;break}}else i=-1}else i=-4}while(0);return i|0}function H$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i-e|0;b=(b&1|0)==0?i:e+(b&-2)|0;c=A+72|0;t=0;i=e;A:while(1){l=b-i|0;if((l|0)<=1){i=-1;break}A=r[i>>0]|0;e=r[i+1>>0]|0;if(!(A<<24>>24))A=n[c+(e&255)>>0]|0;else A=d$(A,e)|0;switch(A|0){case 8:case 1:case 0:{s=12;break A}case 5:{l=t;i=i+2|0;t=l;continue A}case 6:{if((l|0)<3){i=-2;break A}l=t;i=i+3|0;t=l;continue A}case 7:{if((l|0)<4){i=-2;break A}l=t;i=i+4|0;t=l;continue A}case 2:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+3>>0]|0)!=33){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}l=(r[i+5>>0]|0)==91;t=t+(l&1)|0;i=l?i+6|0:A;continue A}case 4:{A=i+2|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+3>>0]|0)!=93){l=t;i=A;t=l;continue A}A=i+4|0;if((b-A|0)<=1){i=-1;break A}if(r[A>>0]|0){l=t;i=A;t=l;continue A}if((r[i+5>>0]|0)!=62){l=t;i=A;t=l;continue A}i=i+6|0;if(!t){s=26;break A}t=t+-1|0;continue A}default:{l=t;i=i+2|0;t=l;continue A}}}if((s|0)==12){a[f>>2]=i;i=0}else if((s|0)==26){a[f>>2]=i;i=42}return i|0}function p$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=30;break}l=r[c>>0]|0;t=r[c+1>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 2:{t=14;break A}case 10:{t=15;break A}case 9:{t=18;break A}case 21:{t=25;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=A0(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14){a[f>>2]=c;l=0;break}else if((t|0)==15)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==18){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==25)if((c|0)==(e|0)){a[f>>2]=e+2;l=39;break}else{a[f>>2]=c;l=6;break}else if((t|0)==30){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function U$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;do{if(e>>>0>>0){b=i;if((b-e|0)>1){s=A+72|0;c=e;A:while(1){if((b-c|0)<=1){t=29;break}l=r[c>>0]|0;t=r[c+1>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 3:{t=11;break A}case 30:{t=14;break A}case 10:{t=17;break A}case 9:{t=20;break A}case 5:{l=2;break}case 6:{l=3;break}case 7:{l=4;break}default:l=2}c=c+l|0}if((t|0)==11)if((c|0)==(e|0)){l=A0(A,e+2|0,i,f)|0;break}else{a[f>>2]=c;l=6;break}else if((t|0)==14)if((c|0)==(e|0)){l=e0(A,e+2|0,i,f)|0;l=(l|0)==22?0:l;break}else{a[f>>2]=c;l=6;break}else if((t|0)==17)if((c|0)==(e|0)){a[f>>2]=e+2;l=7;break}else{a[f>>2]=c;l=6;break}else if((t|0)==20){if((c|0)!=(e|0)){a[f>>2]=c;l=6;break}c=e+2|0;if((b-c|0)<=1){l=-3;break}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;a[f>>2]=(l|0)==10?e+4|0:c;l=7;break}else if((t|0)==29){a[f>>2]=c;l=6;break}}else l=-1}else l=-4}while(0);return l|0}function x$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var a=0,n=0;a=i;A=e;while(1){e=r[f>>0]|0;if(!(e<<24>>24)){n=7;break}if((a-A|0)<2){A=0;break}if(r[A>>0]|0){A=0;break}if((r[A+1>>0]|0)!=e<<24>>24){A=0;break}f=f+1|0;A=A+2|0}if((n|0)==7)A=(A|0)==(i|0)&1;return A|0}function T$(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=A+72|0;f=e;A:while(1){A=r[f>>0]|0;i=r[f+1>>0]|0;if(!(A<<24>>24))A=n[a+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 5:{A=2;break}case 6:{A=3;break}case 7:{A=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{A=2;break}default:break A}f=f+A|0}return f-e|0}function j$(A,e){A=A|0;e=e|0;var i=0,f=0;f=A+72|0;A:while(1){A=r[e>>0]|0;i=r[e+1>>0]|0;if(!(A<<24>>24))A=n[f+(i&255)>>0]|0;else A=d$(A,i)|0;switch(A|0){case 21:case 9:case 10:break;default:break A}e=e+2|0}return e|0}function S$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=A+72|0;w=0;u=0;A=1;A:while(1){s=e+2|0;l=r[s>>0]|0;c=l<<24>>24==0;t=e+3|0;b=r[t>>0]|0;if(c)l=n[k+(b&255)>>0]|0;else l=d$(l,b)|0;do{switch(l|0){case 5:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 6:{if(A|0){c=A;b=u;s=w;e=t;A=c;u=b;w=s;continue A}if((u|0)>=(i|0)){b=u;s=w;A=1;e=t;u=b;w=s;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;b=u;s=w;A=1;e=t;u=b;w=s;continue A}case 7:{if(!A)if((u|0)<(i|0)){a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;A=1}else A=1;b=u;s=w;e=e+4|0;u=b;w=s;continue A}case 24:case 22:case 29:{if(A|0){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}if((u|0)>=(i|0)){c=u;b=w;A=1;e=s;u=c;w=b;continue A}a[f+(u<<4)>>2]=s;r[f+(u<<4)+12>>0]=1;c=u;b=w;A=1;e=s;u=c;w=b;continue A}case 12:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=12;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=12;A=2;e=s;u=b;continue A}if((w|0)!=12){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=12;u=u+1|0;A=0;e=s;continue A}case 13:{if((A|0)!=2){if((u|0)>=(i|0)){b=u;w=13;A=2;e=s;u=b;continue A}a[f+(u<<4)+4>>2]=e+4;b=u;w=13;A=2;e=s;u=b;continue A}if((w|0)!=13){c=u;b=w;A=2;e=s;u=c;w=b;continue A}if((u|0)<(i|0))a[f+(u<<4)+8>>2]=s;w=13;u=u+1|0;A=0;e=s;continue A}case 3:{if((u|0)>=(i|0)){t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}case 21:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}t=f+(u<<4)+12|0;if(!(r[t>>0]|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}do{if(c&(s|0)!=(a[f+(u<<4)+4>>2]|0)&b<<24>>24==32){l=r[e+4>>0]|0;A=r[e+5>>0]|0;if(!(l<<24>>24)){if(A<<24>>24==32)break;A=n[k+(A&255)>>0]|0}else A=d$(l,A)|0;if((A|0)!=(w|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}}}while(0);r[t>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 10:case 9:{switch(A|0){case 1:{c=u;b=w;A=0;e=s;u=c;w=b;continue A}case 2:break;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}if((u|0)>=(i|0)){c=u;b=w;A=2;e=s;u=c;w=b;continue A}r[f+(u<<4)+12>>0]=0;c=u;b=w;A=2;e=s;u=c;w=b;continue A}case 17:case 11:if((A|0)==2){c=u;b=w;A=2;e=s;u=c;w=b;continue A}else break A;default:{t=A;c=u;b=w;e=s;A=t;u=c;w=b;continue A}}}while(0)}return u|0}function P$(A,e){A=A|0;e=e|0;var i=0,f=0;A=e+4|0;A:do{if(!(r[A>>0]|0))if((r[e+5>>0]|0)==120){e=e+6|0;A=0;while(1){e:while(1){if(!(r[e>>0]|0)){i=r[e+1>>0]|0;if(i<<24>>24==59){f=18;break A}i=i<<24>>24;switch(i|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break e}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break e}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break e}default:{}}}e=e+2|0}if((f|0)==8)A=i+-48|A<<4;else if((f|0)==9)A=(A<<4)+-55+i|0;else if((f|0)==10)A=(A<<4)+-87+i|0;if((A|0)<1114112)e=e+2|0;else{A=-1;f=19;break}}}else{e=A;A=0;f=13}else{i=A;A=0;e=-1;f=16}}while(0);while(1)if((f|0)==13){if(r[e>>0]|0){i=e;e=-1;f=16;continue}if((r[e+1>>0]|0)==59){f=18;continue}i=e;e=r[e+1>>0]|0;f=16;continue}else if((f|0)==16){A=(A*10|0)+-48+e|0;if((A|0)>=1114112){A=-1;f=19;continue}e=i+2|0;f=13;continue}else if((f|0)==18){A=gs(A)|0;f=19;continue}else if((f|0)==19)return A|0;return 0}function O$(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;A:do{switch((i-e|0)/2|0|0){case 2:{if((r[e+2>>0]|0)==0?(r[e+3>>0]|0)==116:0){if(!(r[e>>0]|0))A=r[e+1>>0]|0;else A=-1;A=(A|0)==108?60:(A|0)==103?62:0}else f=27;break}case 3:{if((((((r[e>>0]|0)==0?(r[e+1>>0]|0)==97:0)?(r[e+2>>0]|0)==0:0)?(r[e+3>>0]|0)==109:0)?(r[e+4>>0]|0)==0:0)?(r[e+5>>0]|0)==112:0)A=38;else f=27;break}case 4:{if(!(r[e>>0]|0))switch(r[e+1>>0]|0){case 113:{if(r[e+2>>0]|0){f=27;break A}if((r[e+3>>0]|0)!=117){f=27;break A}if(r[e+4>>0]|0){f=27;break A}if((r[e+5>>0]|0)!=111){f=27;break A}if(r[e+6>>0]|0){f=27;break A}if((r[e+7>>0]|0)==116){A=34;break A}else{f=27;break A}}case 97:{if(r[e+2>>0]|0){f=27;break A}if((r[e+3>>0]|0)!=112){f=27;break A}if(r[e+4>>0]|0){f=27;break A}if((r[e+5>>0]|0)!=111){f=27;break A}if(r[e+6>>0]|0){f=27;break A}if((r[e+7>>0]|0)==115){A=39;break A}else{f=27;break A}}default:{f=27;break A}}else f=27;break}default:f=27}}while(0);if((f|0)==27)A=0;return A|0}function K$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=A+72|0;b=f+4|0;while(1){if((i-e|0)<=1)break;A=r[e>>0]|0;l=r[e+1>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;switch(A|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{a[b>>2]=-1;a[f>>2]=(a[f>>2]|0)+1;e=e+2|0;break}case 9:{a[f>>2]=(a[f>>2]|0)+1;t=e+2|0;if((i-t|0)>1){A=r[t>>0]|0;l=r[e+3>>0]|0;if(!(A<<24>>24))A=n[c+(l&255)>>0]|0;else A=d$(A,l)|0;e=(A|0)==10?e+4|0:t}else e=t;a[b>>2]=-1;break}default:e=e+2|0}a[b>>2]=(a[b>>2]|0)+1}return}function _$(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i+-2|0;c=A+72|0;A:while(1){l=e+2|0;if((b-l|0)<=1){i=1;break}i=r[l>>0]|0;t=i<<24>>24==0;A=r[e+3>>0]|0;if(t)i=n[c+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|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=l;continue A}case 21:if(t&A<<24>>24==9){s=12;break A}else{e=l;continue A}case 22:case 26:{if(!t){s=12;break A}if(A<<24>>24>=0){e=l;continue A}break}default:if(!t){s=12;break A}}switch(A<<24>>24|0){case 64:case 36:{e=l;break}default:{s=12;break A}}}if((s|0)==12){a[f>>2]=l;i=0}return i|0}function q$(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0;c=a[e>>2]|0;b=c+(i-c&-2)|0;s=b;w=l;A:while(1){if(c>>>0>=b>>>0){A=0;break}t=r[c+1>>0]|0;A=r[c>>0]|0;i=A&255;switch(A<<24>>24){case 0:{if(t<<24>>24>-1){A=a[f>>2]|0;if((A|0)==(l|0)){A=2;break A}a[f>>2]=A+1;r[A>>0]=t;A=c}else u=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{u=7;break}case-37:case-38:case-39:case-40:{A=a[f>>2]|0;if((w-A|0)<4){A=2;break A}if((s-c|0)<4){A=1;break A}k=t&255;t=(i<<2&12|k>>>6)+1|0;a[f>>2]=A+1;r[A>>0]=t>>>2|240;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>2&15|t<<4&48|128;A=c+2|0;t=n[c+3>>0]|0;i=(k<<4&48|t>>>6|r[A>>0]<<2&12|128)&255;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=i;c=a[f>>2]|0;a[f>>2]=c+1;r[c>>0]=t&63|128;break}default:{A=a[f>>2]|0;if((w-A|0)<3){A=2;break A}a[f>>2]=A+1;r[A>>0]=i>>>4|224;k=t&255;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2&60|128;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}}if((u|0)==7){u=0;A=a[f>>2]|0;if((w-A|0)<2){A=2;break}k=t&255;a[f>>2]=A+1;r[A>>0]=k>>>6|i<<2|192;A=a[f>>2]|0;a[f>>2]=A+1;r[A>>0]=k&63|128;A=c}c=A+2|0}a[e>>2]=c;return A|0}function $$(A,e,i,l,t){A=A|0;e=e|0;i=i|0;l=l|0;t=t|0;var c=0,b=0,s=0;c=a[e>>2]|0;s=i-c&-2;A=c+s|0;if((s|0)>(t-(a[l>>2]|0)|0)){b=A+-2|0;i=(r[b>>0]&-8)<<24>>24==-40;s=i&1;A=i?b:A}else s=0;i=c;while(1){c=i>>>0>>0;b=a[l>>2]|0;if(!(c&b>>>0>>0))break;c=((n[i>>0]|0)<<8|(n[i+1>>0]|0))&65535;a[l>>2]=b+2;f[b>>1]=c;b=(a[e>>2]|0)+2|0;a[e>>2]=b;i=b}return((b|0)!=(t|0)|c^1?s:2)|0}function A0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;s=i;c=s-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;A=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;A=0;break A}case 6:{if((c|0)<3){A=-2;break A}a[f>>2]=e;A=0;break A}case 7:{if((c|0)<4){A=-2;break A}a[f>>2]=e;A=0;break A}case 19:{A=i0(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;A=0;break A}}b=A+72|0;c=e;e:while(1){t=c+2|0;e=s-t|0;if((e|0)<=1){A=-1;break A}A=r[t>>0]|0;i=r[c+3>>0]|0;if(!(A<<24>>24))l=n[b+(i&255)>>0]|0;else l=d$(A,i)|0;switch(l|0){case 27:case 26:case 25:case 24:case 22:{c=t;continue e}case 5:{i=23;break e}case 6:{i=24;break e}case 7:{i=26;break e}case 18:{i=28;break e}case 29:break;default:{i=29;break e}}e=i&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(A&255)>>0]|0)<<3)<<2)>>2])){i=22;break}else c=t}if((i|0)==22){a[f>>2]=t;A=0;break}else if((i|0)==23){a[f>>2]=t;A=0;break}else if((i|0)==24){if((e|0)<3){A=-2;break}a[f>>2]=t;A=0;break}else if((i|0)==26){if((e|0)<4){A=-2;break}a[f>>2]=t;A=0;break}else if((i|0)==28){a[f>>2]=c+4;A=9;break}else if((i|0)==29){a[f>>2]=t;A=0;break}}else A=-1}while(0);return A|0}function e0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}case 30:case 9:case 10:case 21:{a[f>>2]=e;i=22;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){b=A+2|0;e=i-b|0;if((e|0)<=1){i=-1;break A}l=r[b>>0]|0;t=r[A+3>>0]|0;if(!(l<<24>>24))c=n[s+(t&255)>>0]|0;else c=d$(l,t)|0;switch(c|0){case 27:case 26:case 25:case 24:case 22:{A=b;continue e}case 5:{l=23;break e}case 6:{l=24;break e}case 7:{l=26;break e}case 18:{l=28;break e}case 29:break;default:{l=29;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=22;break}else A=b}if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){a[f>>2]=b;i=0;break}else if((l|0)==24){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==26){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==28){a[f>>2]=A+4;i=28;break}else if((l|0)==29){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function i0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;b=i;A:do{if((b-e|0)>1){t=r[e>>0]|0;l=r[e+1>>0]|0;do{if(!(t<<24>>24))if(l<<24>>24==120){l=r0(A,e+2|0,i,f)|0;break A}else{l=n[A+72+(l&255)>>0]|0;break}else l=d$(t,l)|0}while(0);if((l|0)!=25){a[f>>2]=e;l=0;break}c=A+72|0;A=e;e:while(1){t=A+2|0;if((b-t|0)<=1){l=-1;break A}l=r[t>>0]|0;i=r[A+3>>0]|0;if(!(l<<24>>24))l=n[c+(i&255)>>0]|0;else l=d$(l,i)|0;switch(l|0){case 25:{A=t;break}case 18:{i=15;break e}default:{i=16;break e}}}if((i|0)==15){a[f>>2]=A+4;l=10;break}else if((i|0)==16){a[f>>2]=t;l=0;break}}else l=-1}while(0);return l|0}function r0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0;A:do{if((i-e|0)>1){l=r[e>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+1>>0]|0)>>0]|0;else l=d$(l,r[e+1>>0]|0)|0;if((l&-2|0)!=24){a[f>>2]=e;i=0;break}c=A+72|0;e:while(1){t=e+2|0;if((i-t|0)<=1){i=-1;break A}l=r[t>>0]|0;A=r[e+3>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 25:{e=t;break}case 18:{l=13;break e}default:{l=14;break e}}}if((l|0)==13){a[f>>2]=e+4;i=10;break}else if((l|0)==14){a[f>>2]=t;i=0;break}}else i=-1}while(0);return i|0}function f0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=i;c=k-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{w=t&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;l=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;l=0;break A}case 6:{if((c|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 7:{if((c|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 16:{t=e+2|0;if((k-t|0)<=1){l=-1;break A}l=r[t>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+3>>0]|0)>>0]|0;else l=d$(l,r[e+3>>0]|0)|0;switch(l|0){case 27:{l=a0(A,e+4|0,i,f)|0;break A}case 20:{l=n0(e+4|0,i,f)|0;break A}default:{a[f>>2]=t;l=0;break A}}}case 15:{l=l0(A,e+2|0,i,f)|0;break A}case 17:{l=t0(A,e+2|0,i,f)|0;break A}default:{a[f>>2]=e;l=0;break A}}w=A+72|0;s=0;l=e+2|0;e:while(1){i:while(1){t=k-l|0;if((t|0)<=1){l=-1;break A}c=r[l>>0]|0;b=r[l+1>>0]|0;if(!(c<<24>>24))e=n[w+(b&255)>>0]|0;else e=d$(c,b)|0;switch(e|0){case 5:{u=34;break e}case 6:{u=35;break e}case 7:{u=37;break e}case 10:case 9:case 21:{u=55;break e}case 11:{u=69;break e}case 17:break e;case 23:break i;case 29:{e=b&255;if(!(1<<(e&31)&a[56940+((e>>>5|n[144044+(c&255)>>0]<<3)<<2)>>2])){u=32;break e}break}case 27:case 26:case 25:case 24:case 22:break;default:{u=75;break e}}l=l+2|0}if(s|0){u=40;break}e=l+2|0;s=k-e|0;if((s|0)<=1){l=-1;break A}t=r[e>>0]|0;c=r[l+3>>0]|0;if(!(t<<24>>24))b=n[w+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{u=49;break e}case 6:{u=50;break e}case 7:{u=52;break e}case 29:{s=c&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(t&255)>>0]<<3)<<2)>>2])){u=47;break e}break}case 24:case 22:break;default:{u=54;break e}}s=1;l=l+4|0}e:switch(u|0){case 32:{a[f>>2]=l;l=0;break A}case 34:{a[f>>2]=l;l=0;break A}case 35:{if((t|0)<3){l=-2;break A}a[f>>2]=l;l=0;break A}case 37:{if((t|0)<4){l=-2;break A}a[f>>2]=l;l=0;break A}case 40:{a[f>>2]=l;l=0;break A}case 47:{a[f>>2]=e;l=0;break A}case 49:{a[f>>2]=e;l=0;break A}case 50:{if((s|0)<3){l=-2;break A}a[f>>2]=e;l=0;break A}case 52:{if((s|0)<4){l=-2;break A}a[f>>2]=e;l=0;break A}case 54:{a[f>>2]=e;l=0;break A}case 55:{i:while(1){u=0;t=l+2|0;c=k-t|0;if((c|0)<=1){l=-1;break A}b=r[t>>0]|0;e=r[l+3>>0]|0;if(!(b<<24>>24))s=n[w+(e&255)>>0]|0;else s=d$(b,e)|0;switch(s|0){case 11:{l=t;u=69;break e}case 17:{l=t;break e}case 10:case 9:case 21:{l=t;u=55;break}case 29:{u=60;break i}case 24:case 22:break i;case 5:{u=63;break i}case 6:{u=64;break i}case 7:{u=66;break i}default:{u=68;break i}}}if((u|0)==60){k=e&255;if(!(1<<(k&31)&a[56940+((k>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){a[f>>2]=t;l=0;break A}}else if((u|0)==63){a[f>>2]=t;l=0;break A}else if((u|0)==64){if((c|0)<3){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==66){if((c|0)<4){l=-2;break A}a[f>>2]=t;l=0;break A}else if((u|0)==68){a[f>>2]=t;l=0;break A}l=c0(A,l+4|0,i,f)|0;break A}case 75:{a[f>>2]=l;l=0;break A}}if((u|0)==69){a[f>>2]=l+2;l=2;break}t=l+2|0;if((k-t|0)>1){if((r[t>>0]|0)==0?(r[l+3>>0]|0)==62:0){a[f>>2]=l+4;l=4;break}a[f>>2]=t;l=0}else l=-1}else l=-1}while(0);return l|0}function a0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i;A:do{if((c-e|0)>1){if((r[e>>0]|0)==0?(r[e+1>>0]|0)==45:0){t=A+72|0;l=e+2|0;e:while(1){e=c-l|0;if((e|0)<=1){i=-1;break A}i=r[l>>0]|0;A=r[l+1>>0]|0;if(!(i<<24>>24))i=n[t+(A&255)>>0]|0;else i=d$(i,A)|0;switch(i|0){case 8:case 1:case 0:{b=16;break e}case 5:{l=l+2|0;continue e}case 6:{if((e|0)<3){i=-2;break A}l=l+3|0;continue e}case 7:{if((e|0)<4){i=-2;break A}l=l+4|0;continue e}case 27:{i=l+2|0;if((c-i|0)<=1){i=-1;break A}if(r[i>>0]|0){l=i;continue e}if((r[l+3>>0]|0)==45)break e;else{l=i;continue e}}default:{l=l+2|0;continue e}}}if((b|0)==16){a[f>>2]=l;i=0;break}i=l+4|0;if((c-i|0)<=1){i=-1;break}if((r[i>>0]|0)==0?(r[l+5>>0]|0)==62:0){a[f>>2]=l+6;i=13;break}a[f>>2]=i;i=0;break}a[f>>2]=e;i=0}else i=-1}while(0);return i|0}function n0(A,e,i){A=A|0;e=e|0;i=i|0;if((e-A|0)>11){e=0;while(1){if((e|0)>=6){e=8;break}if(r[A>>0]|0){e=0;break}if((r[A+1>>0]|0)!=(r[144300+e>>0]|0)){e=0;break}e=e+1|0;A=A+2|0}a[i>>2]=A}else e=-1;return e|0}function l0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;h=k;k=k+16|0;o=h;u=i;t=u-e|0;A:do{if((t|0)>1){c=r[e>>0]|0;if(!(c<<24>>24)){l=r[e+1>>0]|0;i=n[A+72+(l&255)>>0]|0}else{l=r[e+1>>0]|0;i=d$(c,l)|0}switch(i|0){case 29:{s=l&255;if(!(1<<(s&31)&a[56940+((s>>>5|n[143788+(c&255)>>0]<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((t|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((t|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;b=e;e:while(1){i=b+2|0;l=u-i|0;if((l|0)<=1){i=-1;break A}t=r[i>>0]|0;c=r[b+3>>0]|0;if(!(t<<24>>24))A=n[s+(c&255)>>0]|0;else A=d$(t,c)|0;switch(A|0){case 27:case 26:case 25:case 24:case 22:{b=i;continue e}case 5:{w=22;break e}case 6:{w=23;break e}case 7:{w=25;break e}case 10:case 9:case 21:{w=27;break e}case 15:{w=46;break e}case 29:break;default:break e}b=c&255;if(!(1<<(b&31)&a[56940+((b>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){w=21;break}else b=i}if((w|0)==21){a[f>>2]=i;i=0;break}else if((w|0)==22){a[f>>2]=i;i=0;break}else if((w|0)==23){if((l|0)<3){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==25){if((l|0)<4){i=-2;break}a[f>>2]=i;i=0;break}else if((w|0)==27){if(!(b0(e,i,o)|0)){a[f>>2]=i;i=0;break}c=b+4|0;e:while(1){t=u-c|0;if((t|0)<=1){i=-1;break A}i=r[c>>0]|0;l=r[c+1>>0]|0;if(!(i<<24>>24))i=n[s+(l&255)>>0]|0;else i=d$(i,l)|0;switch(i|0){case 8:case 1:case 0:{w=40;break e}case 5:{c=c+2|0;continue e}case 6:{if((t|0)<3){i=-2;break A}c=c+3|0;continue e}case 7:{if((t|0)<4){i=-2;break A}c=c+4|0;continue e}case 15:{i=c+2|0;if((u-i|0)<=1){i=-1;break A}if(r[i>>0]|0){c=i;continue e}if((r[c+3>>0]|0)==62){w=44;break e}else{c=i;continue e}}default:{c=c+2|0;continue e}}}if((w|0)==40){a[f>>2]=c;i=0;break}else if((w|0)==44){a[f>>2]=c+4;i=a[o>>2]|0;break}}else if((w|0)==46){if(!(b0(e,i,o)|0)){a[f>>2]=i;i=0;break}i=b+4|0;if((u-i|0)<=1){i=-1;break}if((r[i>>0]|0)==0?(r[b+5>>0]|0)==62:0){a[f>>2]=b+6;i=a[o>>2]|0;break}}a[f>>2]=i;i=0}else i=-1}while(0);k=h;return i|0}function t0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{s=t&255;if(!(1<<(s&31)&a[56940+((s>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}s=A+72|0;A=e;e:while(1){c=A+2|0;e=i-c|0;if((e|0)<=1){i=-1;break A}l=r[c>>0]|0;t=r[A+3>>0]|0;if(!(l<<24>>24))b=n[s+(t&255)>>0]|0;else b=d$(l,t)|0;switch(b|0){case 23:case 27:case 26:case 25:case 24:case 22:{A=c;continue e}case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 10:case 9:case 21:{l=27;break e}case 11:{l=34;break e}case 29:break;default:{l=35;break e}}e=t&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(l&255)>>0]|0)<<3)<<2)>>2])){l=21;break}else A=c}if((l|0)==21){a[f>>2]=c;i=0;break}else if((l|0)==22){a[f>>2]=c;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=c;i=0;break}else if((l|0)==27){e:while(1){b=c+2|0;if((i-b|0)<=1){i=-1;break A}l=r[b>>0]|0;t=r[c+3>>0]|0;if(!(l<<24>>24))l=n[s+(t&255)>>0]|0;else l=d$(l,t)|0;switch(l|0){case 10:case 9:case 21:{c=b;l=27;break}case 11:{l=32;break e}default:{l=33;break e}}}if((l|0)==32){a[f>>2]=c+4;i=5;break}else if((l|0)==33){a[f>>2]=b;i=0;break}}else if((l|0)==34){a[f>>2]=A+4;i=5;break}else if((l|0)==35){a[f>>2]=c;i=0;break}}else i=-1}while(0);return i|0}function c0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+16|0;h=B;a[h>>2]=e;d=i;u=A+72|0;l=0;A:while(1){e:while(1){s=d-e|0;if((s|0)<=1){e=-1;break A}t=r[e>>0]|0;c=r[e+1>>0]|0;if(!(t<<24>>24))b=n[u+(c&255)>>0]|0;else b=d$(t,c)|0;switch(b|0){case 5:{o=11;break A}case 6:{o=12;break A}case 7:{o=14;break A}case 23:{o=16;break e}case 10:case 9:case 21:{o=31;break e}case 14:{o=37;break e}case 29:{w=c&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[144044+(t&255)>>0]<<3)<<2)>>2])){o=9;break A}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=89;break A}}w=e+2|0;a[h>>2]=w;e=w}e:do{if((o|0)==16){o=0;if(l|0){o=17;break A}l=e+2|0;a[h>>2]=l;t=l;c=d-t|0;if((c|0)<=1){e=-1;break A}b=r[l>>0]|0;s=r[e+3>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=25;break A}case 6:{o=26;break A}case 7:{o=28;break A}case 24:case 22:{l=1;break e}case 29:break;default:{o=30;break A}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=24;break A}else l=1}else if((o|0)==31)while(1){o=0;t=e+2|0;a[h>>2]=t;c=t;if((d-c|0)<=1){e=-1;break A}l=r[t>>0]|0;e=r[e+3>>0]|0;if(!(l<<24>>24))e=n[u+(e&255)>>0]|0;else e=d$(l,e)|0;switch(e|0){case 14:{e=t;o=37;break e}case 9:case 10:case 21:{e=t;o=31;break}default:{o=36;break A}}}}while(0);e:do{if((o|0)==37){while(1){o=0;c=e+2|0;a[h>>2]=c;b=c;if((d-b|0)<=1){e=-1;break A}l=r[c>>0]|0;t=r[e+3>>0]|0;if(!(l<<24>>24))s=n[u+(t&255)>>0]|0;else s=d$(l,t)|0;if((s|1|0)==13)break;switch(s|0){case 9:case 10:case 21:{e=c;o=37;break}default:{o=43;break A}}}e=e+4|0;a[h>>2]=e;i:while(1){c=d-e|0;if((c|0)<=1){e=-1;break A}l=r[e>>0]|0;t=r[e+1>>0]|0;if(!(l<<24>>24))l=n[u+(t&255)>>0]|0;else l=d$(l,t)|0;if((l|0)==(s|0))break;switch(l|0){case 8:case 1:case 0:{o=56;break A}case 2:{o=61;break A}case 5:{w=e+2|0;a[h>>2]=w;e=w;continue i}case 6:{if((c|0)<3){e=-2;break A}w=e+3|0;a[h>>2]=w;e=w;continue i}case 7:{if((c|0)<4){e=-2;break A}w=e+4|0;a[h>>2]=w;e=w;continue i}case 3:{e=A0(A,e+2|0,i,h)|0;if((e|0)<1){o=59;break A}e=a[h>>2]|0;continue i}default:{w=e+2|0;a[h>>2]=w;e=w;continue i}}}t=e+2|0;a[h>>2]=t;b=t;if((d-b|0)<=1){e=-1;break A}l=r[t>>0]|0;c=r[e+3>>0]|0;if(!(l<<24>>24))l=n[u+(c&255)>>0]|0;else l=d$(l,c)|0;switch(l|0){case 11:{o=81;break A}case 17:{o=82;break A}case 10:case 9:case 21:{e=t;break}default:{o=68;break A}}i:while(1){t=e+2|0;a[h>>2]=t;l=t;c=d-l|0;if((c|0)<=1){e=-1;break A}b=r[t>>0]|0;s=r[e+3>>0]|0;if(!(b<<24>>24))w=n[u+(s&255)>>0]|0;else w=d$(b,s)|0;switch(w|0){case 5:{o=76;break A}case 6:{o=77;break A}case 7:{o=79;break A}case 11:{o=81;break A}case 17:{o=82;break A}case 24:case 22:{l=0;break e}case 10:case 9:case 21:{e=t;break}case 29:break i;default:{o=87;break A}}}w=s&255;if(!(1<<(w&31)&a[56940+((w>>>5|n[143788+(b&255)>>0]<<3)<<2)>>2])){o=75;break A}else l=0}}while(0);e=e+4|0;a[h>>2]=e}switch(o|0){case 9:{a[f>>2]=e;e=0;break}case 11:{a[f>>2]=e;e=0;break}case 12:{if((s|0)<3)e=-2;else{a[f>>2]=e;e=0}break}case 14:{if((s|0)<4)e=-2;else{a[f>>2]=e;e=0}break}case 17:{a[f>>2]=e;e=0;break}case 24:{a[f>>2]=l;e=0;break}case 25:{a[f>>2]=l;e=0;break}case 26:{if((c|0)<3)e=-2;else{a[f>>2]=l;e=0}break}case 28:{if((c|0)<4)e=-2;else{a[f>>2]=l;e=0}break}case 30:{a[f>>2]=t;e=0;break}case 36:{a[f>>2]=c;e=0;break}case 43:{a[f>>2]=b;e=0;break}case 56:{a[f>>2]=e;e=0;break}case 59:{if(!e){a[f>>2]=a[h>>2];e=0}break}case 61:{a[f>>2]=e;e=0;break}case 68:{a[f>>2]=b;e=0;break}case 75:{a[f>>2]=t;e=0;break}case 76:{a[f>>2]=t;e=0;break}case 77:{if((c|0)<3)e=-2;else{a[f>>2]=t;e=0}break}case 79:{if((c|0)<4)e=-2;else{a[f>>2]=t;e=0}break}case 81:{a[f>>2]=e+4;e=1;break}case 82:{l=t+2|0;a[h>>2]=l;e=l;if((d-e|0)>1){if((r[l>>0]|0)==0?(r[t+3>>0]|0)==62:0){a[f>>2]=t+4;e=3;break}a[f>>2]=e;e=0}else e=-1;break}case 87:{a[f>>2]=l;e=0;break}case 89:{a[f>>2]=e;e=0;break}}k=B;return e|0}function b0(A,e,i){A=A|0;e=e|0;i=i|0;a[i>>2]=11;A:do{if((e-A|0)==6?(r[A>>0]|0)==0:0){switch(r[A+1>>0]|0){case 120:{e=0;break}case 88:{e=1;break}default:{e=1;break A}}if(!(r[A+2>>0]|0)){switch(r[A+3>>0]|0){case 109:break;case 77:{e=1;break}default:{e=1;break A}}if(!(r[A+4>>0]|0)){switch(r[A+5>>0]|0){case 108:break;case 76:{e=0;break A}default:{e=1;break A}}if(!e){a[i>>2]=12;e=1}else e=0}else e=1}else e=1}else e=1}while(0);return e|0}function s0(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0;b=e+72|0;A:while(1){e:while(1){c=f-i|0;if((c|0)<=1){i=-1;break A}e=r[i>>0]|0;t=r[i+1>>0]|0;if(!(e<<24>>24))t=n[b+(t&255)>>0]|0;else t=d$(e,t)|0;switch(t|0){case 8:case 1:case 0:{s=10;break A}case 6:{s=9;break e}case 7:{s=19;break e}case 5:{i=i+2|0;continue e}case 13:case 12:{e=i+2|0;if((t|0)==(A|0)){s=12;break A}else{i=e;continue e}}default:{i=i+2|0;continue e}}}if((s|0)==9){s=0;if((c|0)<3){i=-2;break}else{i=i+3|0;continue}}else if((s|0)==19){s=0;if((c|0)<4){i=-2;break}else{i=i+4|0;continue}}}A:do{if((s|0)==10){a[l>>2]=i;i=0}else if((s|0)==12)if((f-e|0)>1){a[l>>2]=e;f=r[e>>0]|0;i=r[i+3>>0]|0;if(!(f<<24>>24))i=n[b+(i&255)>>0]|0;else i=d$(f,i)|0;switch(i|0){case 20:case 30:case 11:case 10:case 9:case 21:{i=27;break A}default:{}}i=0}else i=-27}while(0);return i|0}function w0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0,s=0;b=i;A:do{if((b-e|0)>1){l=r[e>>0]|0;if(!(l<<24>>24))l=n[A+72+(n[e+1>>0]|0)>>0]|0;else l=d$(l,r[e+1>>0]|0)|0;switch(l|0){case 27:{l=a0(A,e+2|0,i,f)|0;break A}case 20:{a[f>>2]=e+2;l=33;break A}case 24:case 22:{c=A+72|0;e:while(1){t=e+2|0;i=b-t|0;if((i|0)<=1){l=-1;break A}l=r[t>>0]|0;A=r[e+3>>0]|0;if(!(l<<24>>24))l=n[c+(A&255)>>0]|0;else l=d$(l,A)|0;switch(l|0){case 24:case 22:{e=t;break}case 30:{s=15;break e}case 10:case 9:case 21:break e;default:{s=22;break e}}}if((s|0)==22){a[f>>2]=t;l=0;break A}e:do{if((s|0)==15){if((i|0)<=3){l=-1;break A}A=r[e+4>>0]|0;l=r[e+5>>0]|0;if(!(A<<24>>24))l=n[c+(l&255)>>0]|0;else l=d$(A,l)|0;switch(l|0){case 30:case 10:case 9:case 21:break;default:break e}a[f>>2]=t;l=0;break A}}while(0);a[f>>2]=t;l=16;break A}default:{a[f>>2]=e;l=0;break A}}}else l=-1}while(0);return l|0}function u0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var l=0,t=0,c=0,b=0;c=i-e|0;A:do{if((c|0)>1){b=r[e>>0]|0;if(!(b<<24>>24)){t=r[e+1>>0]|0;l=n[A+72+(t&255)>>0]|0}else{t=r[e+1>>0]|0;l=d$(b,t)|0}switch(l|0){case 29:{c=t&255;if(!(1<<(c&31)&a[56940+((c>>>5|(n[143788+(b&255)>>0]|0)<<3)<<2)>>2])){a[f>>2]=e;i=0;break A}break}case 24:case 22:break;case 5:{a[f>>2]=e;i=0;break A}case 6:{if((c|0)<3){i=-2;break A}a[f>>2]=e;i=0;break A}case 7:{if((c|0)<4){i=-2;break A}a[f>>2]=e;i=0;break A}default:{a[f>>2]=e;i=0;break A}}A=A+72|0;b=e;e:while(1){l=b;b=b+2|0;e=i-b|0;if((e|0)<=1){i=-20;break A}c=r[b>>0]|0;l=r[l+3>>0]|0;if(!(c<<24>>24))t=n[A+(l&255)>>0]|0;else t=d$(c,l)|0;switch(t|0){case 27:case 26:case 25:case 24:case 22:continue e;case 5:{l=22;break e}case 6:{l=23;break e}case 7:{l=25;break e}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{l=27;break e}case 29:break;default:{l=28;break e}}e=l&255;if(!(1<<(e&31)&a[56940+((e>>>5|(n[144044+(c&255)>>0]|0)<<3)<<2)>>2])){l=21;break}}if((l|0)==21){a[f>>2]=b;i=0;break}else if((l|0)==22){a[f>>2]=b;i=0;break}else if((l|0)==23){if((e|0)<3){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==25){if((e|0)<4){i=-2;break}a[f>>2]=b;i=0;break}else if((l|0)==27){a[f>>2]=b;i=20;break}else if((l|0)==28){a[f>>2]=b;i=0;break}}else i=-1}while(0);return i|0}function k0(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0,t=0;while(1){A=a[e>>2]|0;l=A>>>0>>0;t=a[f>>2]|0;if(!(l&t>>>0>>0))break;a[e>>2]=A+1;l=r[A>>0]|0;t=a[f>>2]|0;a[f>>2]=t+1;r[t>>0]=l}return((t|0)!=(n|0)|l^1?0:2)|0}function o0(A,e){A=A|0;e=e|0;var i=0,f=0,a=0,n=0;A:while(1){a=r[A>>0]|0;n=r[e>>0]|0;a=(a+-97&255)<26?(a&255)+224&255:a;switch((a<<24>>24==((n+-97&255)<26?(n&255)+224&255:n)<<24>>24?a<<24>>24==0?2:0:1)&3){case 0:{e=e+1|0;A=A+1|0;break}case 1:{f=3;break A}case 2:{i=1;break A}default:{f=5;break A}}}if((f|0)==3)i=0;return i|0}function h0(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;return B0(39,A,e,i,r,f,a,n,l,t,c)|0}function d0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+144|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+127|0)|0;do{if((a[t>>2]|0)==(i|0)){r[a[n>>2]>>0]=0;if(o0(f,144315)|0?(a[A+64>>2]|0)==2:0)break;A=D$(f)|0;if((A|0)!=-1)A=a[58948+(A<<2)>>2]|0;else A=0}else A=0}while(0);k=l;return A|0}function B0(A,e,i,r,f,n,l,t,c,b,s){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;s=s|0;var w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+16|0;v=E+8|0;h=E+12|0;u=E+4|0;o=E;a[h>>2]=0;a[u>>2]=0;a[o>>2]=0;g=i+64|0;B=a[g>>2]|0;d=r+(B*5|0)|0;a[v>>2]=d;B=f+(0-(B<<1))|0;d=(v0(i,d,B,u,o,h,v)|0)!=0;w=a[u>>2]|0;r=w;A:do{if(d&(w|0)!=0){d=i+24|0;f=a[o>>2]|0;do{if(!(y5[a[d>>2]&127](i,w,f,144340)|0)){if(!e){a[n>>2]=r;r=0;break A}}else{if(l|0)a[l>>2]=a[h>>2];if(!t)r=a[v>>2]|0;else{r=a[v>>2]|0;a[t>>2]=r}if(!(v0(i,r,B,u,o,h,v)|0)){a[n>>2]=a[v>>2];r=0;break A}f=a[u>>2]|0;if(f|0){r=f;w=f;f=a[o>>2]|0;break}if(!e){r=1;break A}a[n>>2]=a[v>>2];r=0;break A}}while(0);if(y5[a[d>>2]&127](i,w,f,144348)|0){f=a[h>>2]|0;r=f;if((((g0(i,f,B)|0)&-33)+-65|0)>>>0>=26){a[n>>2]=r;r=0;break}if(c|0)a[c>>2]=r;r=a[v>>2]|0;if(b|0)a[b>>2]=W5[A&63](i,f,r+(0-(a[g>>2]|0))|0)|0;if(!(v0(i,r,B,u,o,h,v)|0)){a[n>>2]=a[v>>2];r=0;break}r=a[u>>2]|0;if(!r){r=1;break}w=r;f=a[o>>2]|0}if((e|0)!=0|(y5[a[d>>2]&127](i,w,f,144357)|0)==0){a[n>>2]=r;r=0;break}f=a[h>>2]|0;r=a[v>>2]|0;w=f;if(!(y5[a[d>>2]&127](i,f,r+(0-(a[g>>2]|0))|0,107657)|0)){if(!(y5[a[d>>2]&127](i,f,r+(0-(a[g>>2]|0))|0,107649)|0)){a[n>>2]=w;r=0;break}if(s)a[s>>2]=0}else if(s)a[s>>2]=1;while(1){if(!(E0(g0(i,r,B)|0)|0))break;r=r+(a[g>>2]|0)|0}a[v>>2]=r;if((r|0)==(B|0))r=1;else{a[n>>2]=r;r=0}}else{a[n>>2]=a[v>>2];r=0}}while(0);k=E;return r|0}function v0(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0;A:do{if((e|0)!=(i|0)){if(!(E0(g0(A,e,i)|0)|0)){a[l>>2]=e;e=0;break}c=A+64|0;do{e=e+(a[c>>2]|0)|0}while((E0(g0(A,e,i)|0)|0)!=0);if((e|0)==(i|0)){a[r>>2]=0;e=1;break}a[r>>2]=e;e:while(1){t=g0(A,e,i)|0;switch(t|0){case-1:{t=11;break e}case 61:{t=12;break e}default:{}}if(E0(t)|0){t=14;break}e=e+(a[c>>2]|0)|0}if((t|0)==11){a[l>>2]=e;e=0;break}else if((t|0)==12)a[f>>2]=e;else if((t|0)==14){a[f>>2]=e;do{e=e+(a[c>>2]|0)|0;t=g0(A,e,i)|0}while((E0(t)|0)!=0);if((t|0)!=61){a[l>>2]=e;e=0;break}}if((e|0)==(a[r>>2]|0)){a[l>>2]=e;e=0;break}do{e=e+(a[c>>2]|0)|0;t=g0(A,e,i)|0}while((E0(t)|0)!=0);switch(t|0){case 34:case 39:break;default:{a[l>>2]=e;e=0;break A}}f=e+(a[c>>2]|0)|0;a[n>>2]=f;e=t<<24>>24;e:while(1){t=g0(A,f,i)|0;if((t|0)==(e|0)){t=30;break}if((t+-48|0)>>>0>9&((t&-33)+-65|0)>>>0>25)switch(t|0){case 45:case 46:case 95:break;default:{t=28;break e}}f=f+(a[c>>2]|0)|0}if((t|0)==28){a[l>>2]=f;e=0;break}else if((t|0)==30){a[l>>2]=f+(a[c>>2]|0);e=1;break}}else{a[r>>2]=0;e=1}}while(0);return e|0}function g0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+16|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+1|0)|0;k=l;return((a[n>>2]|0)==(f|0)?-1:r[f>>0]|0)|0}function E0(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 C0(){return 60092}function I0(A,e,i){A=A|0;e=e|0;i=i|0;i=D$(i)|0;if((i|0)==-1)i=0;else{r[A+69>>0]=i;a[A>>2]=69;a[A+4>>2]=70;a[A+48>>2]=31;a[A+72>>2]=e;a[e>>2]=A;i=1}return i|0}function Z0(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(60456,A,0,e,i,r)|0}function G0(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return J$(60456,A,1,e,i,r)|0}function Q0(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;return B0(40,A,e,i,r,f,a,n,l,t,c)|0}function m0(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=k;k=k+144|0;t=l+4|0;f=l+8|0;n=l;a[t>>2]=e;a[n>>2]=f;z5[a[A+56>>2]&127](A,t,i,n,f+127|0)|0;do{if((a[t>>2]|0)==(i|0)){r[a[n>>2]>>0]=0;if(o0(f,144315)|0?(a[A+64>>2]|0)==2:0)break;A=D$(f)|0;if((A|0)!=-1)A=a[60456+(A<<2)>>2]|0;else A=0}else A=0}while(0);k=l;return A|0}function L0(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;A=vs(A,e,i,f)|0;if(A|0)r[A+72+58>>0]=23;return A|0}function W0(A){A=A|0;a[A>>2]=15;a[A+16>>2]=1;a[A+12>>2]=0;a[A+20>>2]=0;return}function y0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{a[A>>2]=16;A=0;break}case 12:{a[A>>2]=16;A=1;break}case 11:{a[A>>2]=16;A=55;break}case 13:{a[A>>2]=16;A=56;break}case 14:{A=0;break}case 16:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]<<1)|0,r,144368)|0))n=9;else{a[A>>2]=17;A=3}break}case 29:{a[A>>2]=18;A=2;break}default:n=9}if((n|0)==9)A=M0(A,e)|0;return A|0}function z0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 14:case 15:{A=0;break}case 11:{A=55;break}case 13:{A=56;break}case 16:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]<<1)|0,r,144368)|0))n=7;else{a[A>>2]=17;A=3}break}case 29:{a[A>>2]=18;A=2;break}default:n=7}if((n|0)==7)A=M0(A,e)|0;return A|0}function Y0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 41:case 18:{a[A>>2]=19;A=4;break}default:A=M0(A,e)|0}return A|0}function D0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return 0}function M0(A,e){A=A|0;e=e|0;if((e|0)==28&(a[A+16>>2]|0)==0)A=59;else{a[A>>2]=18;A=-1}return A|0}function F0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=3;break}case 25:{a[A>>2]=20;A=7;break}case 17:{a[A>>2]=21;A=8;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=22;A=3;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=8;else{a[A>>2]=23;A=3}break}default:l=8}}while(0);if((l|0)==8)A=M0(A,e)|0;return A|0}function V0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;A:do{switch(e|0){case-4:case 15:{A=0;break}case 16:{n=f+24|0;l=f+64|0;if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144390)|0){a[A>>2]=24;A=11;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144397)|0){a[A>>2]=25;A=33;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144405)|0){a[A>>2]=26;A=39;break A}if(!(y5[a[n>>2]&127](f,i+(a[l>>2]<<1)|0,r,144413)|0))t=14;else{a[A>>2]=27;A=17}break}case 11:{A=55;break}case 13:{A=56;break}case 28:{A=60;break}case 26:{a[A>>2]=28;A=3;break}default:t=14}}while(0);if((t|0)==14)A=M0(A,e)|0;return A|0}function J0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;f=e+-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:{a[A>>2]=18;A=2;break}default:A=M0(A,e)|0}return A|0}function N0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 27:{a[A>>2]=29;A=5;break}default:A=M0(A,e)|0}return A|0}function X0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 27:{a[A>>2]=22;A=6;break}default:A=M0(A,e)|0}return A|0}function R0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 25:{a[A>>2]=20;A=7;break}case 17:{a[A>>2]=21;A=8;break}default:A=M0(A,e)|0}return A|0}function H0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 22:{a[A>>2]=30;A=11;break}case 18:{a[A>>2]=31;A=9;break}default:A=M0(A,e)|0}return A|0}function p0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 41:case 18:{a[A>>2]=32;A=34;break}default:A=M0(A,e)|0}return A|0}function U0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 41:case 18:{a[A>>2]=33;A=40;break}default:A=M0(A,e)|0}return A|0}function x0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 18:{a[A>>2]=34;A=18;break}default:A=M0(A,e)|0}return A|0}function T0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=3;break}case 17:{a[A>>2]=21;A=8;break}default:A=M0(A,e)|0}return A|0}function j0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=17;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=35;A=17;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=6;else{a[A>>2]=36;A=17}break}default:l=6}}while(0);if((l|0)==6)A=M0(A,e)|0;return A|0}function S0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=37;a[A+8>>2]=17;A=19;break}default:A=M0(A,e)|0}return A|0}function P0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=38;A=21;break}default:A=M0(A,e)|0}return A|0}function O0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=17;break}case 27:{a[A>>2]=37;a[A+8>>2]=17;A=19;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=20;break}default:A=M0(A,e)|0}return A|0}function K0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=a[A+8>>2]|0;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=a[A+8>>2]|0;break}default:A=M0(A,e)|0}return A|0}function _0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 33:{a[A>>2]=40;i=0;break}case 34:{i=A+12|0;r=a[i>>2]|0;if(!r)n=7;else{a[i>>2]=r+-1;i=0}break}case 15:{i=0;break}case 26:{n=7;break}case-4:{if(!(a[A+12>>2]|0))i=0;else n=7;break}default:i=V0(A,e,i,r,f)|0}if((n|0)==7)i=M0(A,e)|0;return i|0}function q0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=0;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144422)|0){a[A>>2]=41;A=0;break A}if(!(y5[a[n>>2]&127](f,i,r,144430)|0))l=6;else{a[A>>2]=42;A=0}break}default:l=6}}while(0);if((l|0)==6)A=M0(A,e)|0;return A|0}function $0(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=0;break}case 25:{a[A>>2]=39;A=A+12|0;a[A>>2]=(a[A>>2]|0)+1;A=0;break}default:A=M0(A,e)|0}return A|0}function A2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=0;break}case 25:{a[A>>2]=39;A=58;break}default:A=M0(A,e)|0}return A|0}function e2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=39;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144437)|0){a[A>>2]=37;a[A+8>>2]=39;A=42;break A}if(!(y5[a[n>>2]&127](f,i,r,144443)|0))l=7;else{a[A>>2]=37;a[A+8>>2]=39;A=41}break}case 23:{a[A>>2]=43;a[A+4>>2]=1;A=44;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function i2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{A=39;break}case 20:{if(!(y5[a[f+24>>2]&127](f,i+(a[f+64>>2]|0)|0,r,144447)|0))n=9;else{a[A>>2]=44;A=43}break}case 23:{a[A+4>>2]=2;a[A>>2]=45;A=44;break}case 41:case 18:{a[A>>2]=46;A=51;break}case 30:{a[A>>2]=46;A=53;break}case 31:{a[A>>2]=46;A=52;break}case 32:{a[A>>2]=46;A=54;break}default:n=9}if((n|0)==9)A=M0(A,e)|0;return A|0}function r2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 24:{a[A>>2]=37;a[A+8>>2]=39;A=45;break}case 36:{a[A>>2]=37;a[A+8>>2]=39;A=46;break}case 21:{a[A>>2]=47;A=39;break}default:A=M0(A,e)|0}return A|0}function f2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 23:{A=A+4|0;a[A>>2]=(a[A>>2]|0)+1;A=44;break}case 41:case 18:{a[A>>2]=46;A=51;break}case 30:{a[A>>2]=46;A=53;break}case 31:{a[A>>2]=46;A=52;break}case 32:{a[A>>2]=46;A=54;break}default:A=M0(A,e)|0}return A|0}function a2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 24:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=45}else A=45;break}case 36:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=46}else A=46;break}case 35:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=47}else A=47;break}case 37:{r=A+4|0;f=(a[r>>2]|0)+-1|0;a[r>>2]=f;if(!f){a[A>>2]=37;a[A+8>>2]=39;A=48}else A=48;break}case 38:{a[A>>2]=45;A=50;break}case 21:{a[A>>2]=45;A=49;break}default:A=M0(A,e)|0}return A|0}function n2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 41:case 18:{a[A>>2]=48;A=51;break}default:A=M0(A,e)|0}return A|0}function l2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=39;break}case 36:{a[A>>2]=37;a[A+8>>2]=39;A=46;break}case 21:{a[A>>2]=47;A=39;break}default:A=M0(A,e)|0}return A|0}function t2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=33;break}case 41:case 18:{a[A>>2]=49;A=22;break}default:A=M0(A,e)|0}return A|0}function c2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;A:do{switch(e|0){case 15:{n=33;break}case 18:{l=f+24|0;n=0;while(1){t=a[l>>2]|0;if((n|0)>=8)break;if(y5[t&127](f,i,r,a[62304+(n<<2)>>2]|0)|0){c=6;break}n=n+1|0}if((c|0)==6){a[A>>2]=50;n=n+23|0;break A}if(!(y5[t&127](f,i,r,144413)|0))c=10;else{a[A>>2]=51;n=33}break}case 23:{a[A>>2]=52;n=33;break}default:c=10}}while(0);if((c|0)==10)n=M0(A,e)|0;return n|0}function b2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0;A:do{switch(e|0){case 15:{A=33;break}case 20:{n=f+24|0;l=f+64|0;if(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144454)|0){a[A>>2]=32;A=35;break A}if(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144462)|0){a[A>>2]=32;A=36;break A}if(!(y5[a[n>>2]&127](f,i+(a[l>>2]|0)|0,r,144471)|0))t=9;else{a[A>>2]=53;A=33}break}case 27:{a[A>>2]=32;A=37;break}default:t=9}}while(0);if((t|0)==9)A=M0(A,e)|0;return A|0}function s2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 23:{a[A>>2]=54;A=33;break}default:A=M0(A,e)|0}return A|0}function w2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 41:case 18:case 19:{a[A>>2]=55;A=31;break}default:A=M0(A,e)|0}return A|0}function u2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 24:{a[A>>2]=50;A=33;break}case 21:{a[A>>2]=52;A=33;break}default:A=M0(A,e)|0}return A|0}function k2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 18:{a[A>>2]=56;A=32;break}default:A=M0(A,e)|0}return A|0}function o2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 24:{a[A>>2]=50;A=33;break}case 21:{a[A>>2]=54;A=33;break}default:A=M0(A,e)|0}return A|0}function h2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=33;break}case 27:{a[A>>2]=32;A=38;break}default:A=M0(A,e)|0}return A|0}function d2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 18:{a[A>>2]=57;A=10;break}default:A=M0(A,e)|0}return A|0}function B2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=11;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=58;A=11;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=7;else{a[A>>2]=59;A=11}break}case 27:{a[A>>2]=37;a[A+8>>2]=11;A=12;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function v2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=60;A=13;break}default:A=M0(A,e)|0}return A|0}function g2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=58;A=14;break}default:A=M0(A,e)|0}return A|0}function E2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0;switch(e|0){case 15:{A=11;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=15;break}case 18:{if(!(y5[a[f+24>>2]&127](f,i,r,144525)|0))n=5;else{a[A>>2]=61;A=11}break}default:n=5}if((n|0)==5)A=M0(A,e)|0;return A|0}function C2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 18:{a[A>>2]=37;a[A+8>>2]=11;A=16;break}default:A=M0(A,e)|0}return A|0}function I2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0;A:do{switch(e|0){case 15:{A=11;break}case 18:{n=f+24|0;if(y5[a[n>>2]&127](f,i,r,144376)|0){a[A>>2]=62;A=11;break A}if(!(y5[a[n>>2]&127](f,i,r,144383)|0))l=7;else{a[A>>2]=63;A=11}break}case 27:{a[A>>2]=37;a[A+8>>2]=11;A=12;break}default:l=7}}while(0);if((l|0)==7)A=M0(A,e)|0;return A|0}function Z2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=64;A=13;break}default:A=M0(A,e)|0}return A|0}function G2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 27:{a[A>>2]=62;A=14;break}default:A=M0(A,e)|0}return A|0}function Q2(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;switch(e|0){case 15:{A=11;break}case 17:{a[A>>2]=a[A+16>>2]|0?20:39;A=15;break}default:A=M0(A,e)|0}return A|0}function m2(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0;I=k;k=k+16|0;o=I;do{if(A>>>0<245){s=A>>>0<11?16:A+11&-8;A=s>>>3;u=a[47519]|0;i=u>>>A;if(i&3|0){e=(i&1^1)+A|0;A=190116+(e<<1<<2)|0;i=A+8|0;r=a[i>>2]|0;f=r+8|0;n=a[f>>2]|0;if((n|0)==(A|0))a[47519]=u&~(1<>2]=A;a[i>>2]=n}C=e<<3;a[r+4>>2]=C|3;C=r+C+4|0;a[C>>2]=a[C>>2]|1;C=f;k=I;return C|0}w=a[47521]|0;if(s>>>0>w>>>0){if(i|0){e=2<>>12&16;e=e>>>t;i=e>>>5&8;e=e>>>i;n=e>>>2&4;e=e>>>n;A=e>>>1&2;e=e>>>A;r=e>>>1&1;r=(i|t|n|A|r)+(e>>>r)|0;e=190116+(r<<1<<2)|0;A=e+8|0;n=a[A>>2]|0;t=n+8|0;i=a[t>>2]|0;if((i|0)==(e|0)){A=u&~(1<>2]=e;a[A>>2]=i;A=u}C=r<<3;l=C-s|0;a[n+4>>2]=s|3;f=n+s|0;a[f+4>>2]=l|1;a[n+C>>2]=l;if(w|0){r=a[47524]|0;e=w>>>3;i=190116+(e<<1<<2)|0;e=1<>2]|0}a[A>>2]=r;a[e+12>>2]=r;a[r+8>>2]=e;a[r+12>>2]=i}a[47521]=l;a[47524]=f;C=t;k=I;return C|0}c=a[47520]|0;if(c){i=(c&0-c)+-1|0;t=i>>>12&16;i=i>>>t;l=i>>>5&8;i=i>>>l;b=i>>>2&4;i=i>>>b;r=i>>>1&2;i=i>>>r;A=i>>>1&1;A=a[190380+((l|t|b|r|A)+(i>>>A)<<2)>>2]|0;i=(a[A+4>>2]&-8)-s|0;r=a[A+16+(((a[A+16>>2]|0)==0&1)<<2)>>2]|0;if(!r){b=A;l=i}else{do{t=(a[r+4>>2]&-8)-s|0;b=t>>>0>>0;i=b?t:i;A=b?r:A;r=a[r+16+(((a[r+16>>2]|0)==0&1)<<2)>>2]|0}while((r|0)!=0);b=A;l=i}t=b+s|0;if(t>>>0>b>>>0){f=a[b+24>>2]|0;e=a[b+12>>2]|0;do{if((e|0)==(b|0)){A=b+20|0;e=a[A>>2]|0;if(!e){A=b+16|0;e=a[A>>2]|0;if(!e){i=0;break}}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0;i=e}else{i=a[b+8>>2]|0;a[i+12>>2]=e;a[e+8>>2]=i;i=e}}while(0);do{if(f|0){e=a[b+28>>2]|0;A=190380+(e<<2)|0;if((b|0)==(a[A>>2]|0)){a[A>>2]=i;if(!i){a[47520]=c&~(1<>2]|0)!=(b|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=f;e=a[b+16>>2]|0;if(e|0){a[i+16>>2]=e;a[e+24>>2]=i}e=a[b+20>>2]|0;if(e|0){a[i+20>>2]=e;a[e+24>>2]=i}}}while(0);if(l>>>0<16){C=l+s|0;a[b+4>>2]=C|3;C=b+C+4|0;a[C>>2]=a[C>>2]|1}else{a[b+4>>2]=s|3;a[t+4>>2]=l|1;a[t+l>>2]=l;if(w|0){r=a[47524]|0;e=w>>>3;i=190116+(e<<1<<2)|0;e=1<>2]|0}a[A>>2]=r;a[e+12>>2]=r;a[r+8>>2]=e;a[r+12>>2]=i}a[47521]=l;a[47524]=t}C=b+8|0;k=I;return C|0}else w=s}else w=s}else w=s}else if(A>>>0<=4294967231){A=A+11|0;s=A&-8;b=a[47520]|0;if(b){r=0-s|0;A=A>>>8;if(A)if(s>>>0>16777215)c=31;else{u=(A+1048320|0)>>>16&8;E=A<>>16&4;E=E<>>16&2;c=14-(w|u|c)+(E<>>15)|0;c=s>>>(c+7|0)&1|c<<1}else c=0;i=a[190380+(c<<2)>>2]|0;A:do{if(!i){i=0;A=0;E=57}else{A=0;t=i;l=s<<((c|0)==31?0:25-(c>>>1)|0);i=0;while(1){f=(a[t+4>>2]&-8)-s|0;if(f>>>0>>0)if(!f){r=0;i=t;A=t;E=61;break A}else{A=t;r=f}f=a[t+20>>2]|0;t=a[t+16+(l>>>31<<2)>>2]|0;i=(f|0)==0|(f|0)==(t|0)?i:f;f=(t|0)==0;if(f){E=57;break}else l=l<<((f^1)&1)}}}while(0);if((E|0)==57){if((i|0)==0&(A|0)==0){A=2<>>12&16;u=u>>>t;l=u>>>5&8;u=u>>>l;c=u>>>2&4;u=u>>>c;w=u>>>1&2;u=u>>>w;i=u>>>1&1;A=0;i=a[190380+((l|t|c|w|i)+(u>>>i)<<2)>>2]|0}if(!i){t=A;l=r}else E=61}if((E|0)==61)while(1){E=0;w=(a[i+4>>2]&-8)-s|0;u=w>>>0>>0;r=u?w:r;A=u?i:A;i=a[i+16+(((a[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=A;l=r;break}else E=61}if((t|0)!=0?l>>>0<((a[47521]|0)-s|0)>>>0:0){n=t+s|0;if(n>>>0<=t>>>0){C=0;k=I;return C|0}f=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){A=t+20|0;e=a[A>>2]|0;if(!e){A=t+16|0;e=a[A>>2]|0;if(!e){e=0;break}}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0}else{C=a[t+8>>2]|0;a[C+12>>2]=e;a[e+8>>2]=C}}while(0);do{if(f){A=a[t+28>>2]|0;i=190380+(A<<2)|0;if((t|0)==(a[i>>2]|0)){a[i>>2]=e;if(!e){r=b&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=e;if(!e){r=b;break}}a[e+24>>2]=f;A=a[t+16>>2]|0;if(A|0){a[e+16>>2]=A;a[A+24>>2]=e}A=a[t+20>>2]|0;if(A){a[e+20>>2]=A;a[A+24>>2]=e;r=b}else r=b}else r=b}while(0);do{if(l>>>0>=16){a[t+4>>2]=s|3;a[n+4>>2]=l|1;a[n+l>>2]=l;e=l>>>3;if(l>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=n;a[e+12>>2]=n;a[n+8>>2]=e;a[n+12>>2]=i;break}e=l>>>8;if(e)if(l>>>0>16777215)e=31;else{E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;e=14-(g|E|e)+(C<>>15)|0;e=l>>>(e+7|0)&1|e<<1}else e=0;i=190380+(e<<2)|0;a[n+28>>2]=e;A=n+16|0;a[A+4>>2]=0;a[A>>2]=0;A=1<>2]=n;a[n+24>>2]=i;a[n+12>>2]=n;a[n+8>>2]=n;break}A=l<<((e|0)==31?0:25-(e>>>1)|0);i=a[i>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(l|0)){E=97;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=96;break}else{A=A<<1;i=e}}if((E|0)==96){a[r>>2]=n;a[n+24>>2]=i;a[n+12>>2]=n;a[n+8>>2]=n;break}else if((E|0)==97){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=n;a[E>>2]=n;a[n+8>>2]=C;a[n+12>>2]=i;a[n+24>>2]=0;break}}else{C=l+s|0;a[t+4>>2]=C|3;C=t+C+4|0;a[C>>2]=a[C>>2]|1}}while(0);C=t+8|0;k=I;return C|0}else w=s}else w=s}else w=-1}while(0);i=a[47521]|0;if(i>>>0>=w>>>0){e=i-w|0;A=a[47524]|0;if(e>>>0>15){C=A+w|0;a[47524]=C;a[47521]=e;a[C+4>>2]=e|1;a[A+i>>2]=e;a[A+4>>2]=w|3}else{a[47521]=0;a[47524]=0;a[A+4>>2]=i|3;C=A+i+4|0;a[C>>2]=a[C>>2]|1}C=A+8|0;k=I;return C|0}t=a[47522]|0;if(t>>>0>w>>>0){g=t-w|0;a[47522]=g;C=a[47525]|0;E=C+w|0;a[47525]=E;a[E+4>>2]=g|1;a[C+4>>2]=w|3;C=C+8|0;k=I;return C|0}if(!(a[47637]|0)){a[47639]=4096;a[47638]=4096;a[47640]=-1;a[47641]=-1;a[47642]=0;a[47630]=0;a[47637]=o&-16^1431655768;A=4096}else A=a[47639]|0;c=w+48|0;b=w+47|0;l=A+b|0;f=0-A|0;s=l&f;if(s>>>0<=w>>>0){C=0;k=I;return C|0}A=a[47629]|0;if(A|0?(u=a[47627]|0,o=u+s|0,o>>>0<=u>>>0|o>>>0>A>>>0):0){C=0;k=I;return C|0}A:do{if(!(a[47630]&4)){i=a[47525]|0;e:do{if(i){r=190524;while(1){A=a[r>>2]|0;if(A>>>0<=i>>>0?(B=r+4|0,(A+(a[B>>2]|0)|0)>>>0>i>>>0):0)break;A=a[r+8>>2]|0;if(!A){E=118;break e}else r=A}e=l-t&f;if(e>>>0<2147483647){A=D6(e|0)|0;if((A|0)==((a[r>>2]|0)+(a[B>>2]|0)|0)){if((A|0)!=(-1|0)){l=e;n=A;E=135;break A}}else{r=A;E=126}}else e=0}else E=118}while(0);do{if((E|0)==118){i=D6(0)|0;if((i|0)!=(-1|0)?(e=i,h=a[47638]|0,d=h+-1|0,e=((d&e|0)==0?0:(d+e&0-h)-e|0)+s|0,h=a[47627]|0,d=e+h|0,e>>>0>w>>>0&e>>>0<2147483647):0){B=a[47629]|0;if(B|0?d>>>0<=h>>>0|d>>>0>B>>>0:0){e=0;break}A=D6(e|0)|0;if((A|0)==(i|0)){l=e;n=i;E=135;break A}else{r=A;E=126}}else e=0}}while(0);do{if((E|0)==126){i=0-e|0;if(!(c>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){e=0;break}else{l=e;n=r;E=135;break A}A=a[47639]|0;A=b-e+A&0-A;if(A>>>0>=2147483647){l=e;n=r;E=135;break A}if((D6(A|0)|0)==(-1|0)){D6(i|0)|0;e=0;break}else{l=A+e|0;n=r;E=135;break A}}}while(0);a[47630]=a[47630]|4;E=133}else{e=0;E=133}}while(0);if(((E|0)==133?s>>>0<2147483647:0)?(n=D6(s|0)|0,B=D6(0)|0,v=B-n|0,g=v>>>0>(w+40|0)>>>0,!((n|0)==(-1|0)|g^1|n>>>0>>0&((n|0)!=(-1|0)&(B|0)!=(-1|0))^1)):0){l=g?v:e;E=135}if((E|0)==135){e=(a[47627]|0)+l|0;a[47627]=e;if(e>>>0>(a[47628]|0)>>>0)a[47628]=e;c=a[47525]|0;do{if(c){e=190524;while(1){A=a[e>>2]|0;i=e+4|0;r=a[i>>2]|0;if((n|0)==(A+r|0)){E=143;break}f=a[e+8>>2]|0;if(!f)break;else e=f}if(((E|0)==143?(a[e+12>>2]&8|0)==0:0)?n>>>0>c>>>0&A>>>0<=c>>>0:0){a[i>>2]=r+l;C=(a[47522]|0)+l|0;g=c+8|0;g=(g&7|0)==0?0:0-g&7;E=c+g|0;g=C-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[c+C+4>>2]=40;a[47526]=a[47641];break}if(n>>>0<(a[47523]|0)>>>0)a[47523]=n;A=n+l|0;e=190524;while(1){if((a[e>>2]|0)==(A|0)){E=151;break}e=a[e+8>>2]|0;if(!e){A=190524;break}}if((E|0)==151)if(!(a[e+12>>2]&8)){a[e>>2]=n;s=e+4|0;a[s>>2]=(a[s>>2]|0)+l;s=n+8|0;s=n+((s&7|0)==0?0:0-s&7)|0;e=A+8|0;e=A+((e&7|0)==0?0:0-e&7)|0;b=s+w|0;t=e-s-w|0;a[s+4>>2]=w|3;do{if((c|0)!=(e|0)){if((a[47524]|0)==(e|0)){C=(a[47521]|0)+t|0;a[47521]=C;a[47524]=b;a[b+4>>2]=C|1;a[b+C>>2]=C;break}A=a[e+4>>2]|0;if((A&3|0)==1){l=A&-8;r=A>>>3;A:do{if(A>>>0<256){A=a[e+8>>2]|0;i=a[e+12>>2]|0;if((i|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=A;break}}else{n=a[e+24>>2]|0;A=a[e+12>>2]|0;do{if((A|0)==(e|0)){r=e+16|0;i=r+4|0;A=a[i>>2]|0;if(!A){A=a[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=a[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=a[r>>2]|0;if(!f)break;else{A=f;i=r}}a[i>>2]=0}else{C=a[e+8>>2]|0;a[C+12>>2]=A;a[A+8>>2]=C}}while(0);if(!n)break;i=a[e+28>>2]|0;r=190380+(i<<2)|0;do{if((a[r>>2]|0)!=(e|0)){a[n+16+(((a[n+16>>2]|0)!=(e|0)&1)<<2)>>2]=A;if(!A)break A}else{a[r>>2]=A;if(A|0)break;a[47520]=a[47520]&~(1<>2]=n;i=e+16|0;r=a[i>>2]|0;if(r|0){a[A+16>>2]=r;a[r+24>>2]=A}i=a[i+4>>2]|0;if(!i)break;a[A+20>>2]=i;a[i+24>>2]=A}}while(0);e=e+l|0;f=l+t|0}else f=t;e=e+4|0;a[e>>2]=a[e>>2]&-2;a[b+4>>2]=f|1;a[b+f>>2]=f;e=f>>>3;if(f>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=b;a[e+12>>2]=b;a[b+8>>2]=e;a[b+12>>2]=i;break}e=f>>>8;do{if(!e)e=0;else{if(f>>>0>16777215){e=31;break}E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;e=14-(g|E|e)+(C<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);r=190380+(e<<2)|0;a[b+28>>2]=e;A=b+16|0;a[A+4>>2]=0;a[A>>2]=0;A=a[47520]|0;i=1<>2]=b;a[b+24>>2]=r;a[b+12>>2]=b;a[b+8>>2]=b;break}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){E=192;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=191;break}else{A=A<<1;i=e}}if((E|0)==191){a[r>>2]=b;a[b+24>>2]=i;a[b+12>>2]=b;a[b+8>>2]=b;break}else if((E|0)==192){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=b;a[E>>2]=b;a[b+8>>2]=C;a[b+12>>2]=i;a[b+24>>2]=0;break}}else{C=(a[47522]|0)+t|0;a[47522]=C;a[47525]=b;a[b+4>>2]=C|1}}while(0);C=s+8|0;k=I;return C|0}else A=190524;while(1){e=a[A>>2]|0;if(e>>>0<=c>>>0?(C=e+(a[A+4>>2]|0)|0,C>>>0>c>>>0):0)break;A=a[A+8>>2]|0}f=C+-47|0;A=f+8|0;A=f+((A&7|0)==0?0:0-A&7)|0;f=c+16|0;A=A>>>0>>0?c:A;e=A+8|0;i=l+-40|0;g=n+8|0;g=(g&7|0)==0?0:0-g&7;E=n+g|0;g=i-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[n+i+4>>2]=40;a[47526]=a[47641];i=A+4|0;a[i>>2]=27;a[e>>2]=a[47631];a[e+4>>2]=a[47632];a[e+8>>2]=a[47633];a[e+12>>2]=a[47634];a[47631]=n;a[47632]=l;a[47634]=0;a[47633]=e;e=A+24|0;do{E=e;e=e+4|0;a[e>>2]=7}while((E+8|0)>>>0>>0);if((A|0)!=(c|0)){n=A-c|0;a[i>>2]=a[i>>2]&-2;a[c+4>>2]=n|1;a[A>>2]=n;e=n>>>3;if(n>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=c;a[e+12>>2]=c;a[c+8>>2]=e;a[c+12>>2]=i;break}e=n>>>8;if(e)if(n>>>0>16777215)i=31;else{E=(e+1048320|0)>>>16&8;C=e<>>16&4;C=C<>>16&2;i=14-(g|E|i)+(C<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;r=190380+(i<<2)|0;a[c+28>>2]=i;a[c+20>>2]=0;a[f>>2]=0;e=a[47520]|0;A=1<>2]=c;a[c+24>>2]=r;a[c+12>>2]=c;a[c+8>>2]=c;break}A=n<<((i|0)==31?0:25-(i>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(n|0)){E=213;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){E=212;break}else{A=A<<1;i=e}}if((E|0)==212){a[r>>2]=c;a[c+24>>2]=i;a[c+12>>2]=c;a[c+8>>2]=c;break}else if((E|0)==213){E=i+8|0;C=a[E>>2]|0;a[C+12>>2]=c;a[E>>2]=c;a[c+8>>2]=C;a[c+12>>2]=i;a[c+24>>2]=0;break}}}else{C=a[47523]|0;if((C|0)==0|n>>>0>>0)a[47523]=n;a[47631]=n;a[47632]=l;a[47634]=0;a[47528]=a[47637];a[47527]=-1;a[47532]=190116;a[47531]=190116;a[47534]=190124;a[47533]=190124;a[47536]=190132;a[47535]=190132;a[47538]=190140;a[47537]=190140;a[47540]=190148;a[47539]=190148;a[47542]=190156;a[47541]=190156;a[47544]=190164;a[47543]=190164;a[47546]=190172;a[47545]=190172;a[47548]=190180;a[47547]=190180;a[47550]=190188;a[47549]=190188;a[47552]=190196;a[47551]=190196;a[47554]=190204;a[47553]=190204;a[47556]=190212;a[47555]=190212;a[47558]=190220;a[47557]=190220;a[47560]=190228;a[47559]=190228;a[47562]=190236;a[47561]=190236;a[47564]=190244;a[47563]=190244;a[47566]=190252;a[47565]=190252;a[47568]=190260;a[47567]=190260;a[47570]=190268;a[47569]=190268;a[47572]=190276;a[47571]=190276;a[47574]=190284;a[47573]=190284;a[47576]=190292;a[47575]=190292;a[47578]=190300;a[47577]=190300;a[47580]=190308;a[47579]=190308;a[47582]=190316;a[47581]=190316;a[47584]=190324;a[47583]=190324;a[47586]=190332;a[47585]=190332;a[47588]=190340;a[47587]=190340;a[47590]=190348;a[47589]=190348;a[47592]=190356;a[47591]=190356;a[47594]=190364;a[47593]=190364;C=l+-40|0;g=n+8|0;g=(g&7|0)==0?0:0-g&7;E=n+g|0;g=C-g|0;a[47525]=E;a[47522]=g;a[E+4>>2]=g|1;a[n+C+4>>2]=40;a[47526]=a[47641]}}while(0);e=a[47522]|0;if(e>>>0>w>>>0){g=e-w|0;a[47522]=g;C=a[47525]|0;E=C+w|0;a[47525]=E;a[E+4>>2]=g|1;a[C+4>>2]=w|3;C=C+8|0;k=I;return C|0}}a[(X2()|0)>>2]=12;C=0;k=I;return C|0}function L2(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0,c=0;if(!A)return;i=A+-8|0;f=a[47523]|0;A=a[A+-4>>2]|0;e=A&-8;c=i+e|0;do{if(!(A&1)){r=a[i>>2]|0;if(!(A&3))return;l=i+(0-r)|0;n=r+e|0;if(l>>>0>>0)return;if((a[47524]|0)==(l|0)){A=c+4|0;e=a[A>>2]|0;if((e&3|0)!=3){t=l;e=n;break}a[47521]=n;a[A>>2]=e&-2;a[l+4>>2]=n|1;a[l+n>>2]=n;return}i=r>>>3;if(r>>>0<256){A=a[l+8>>2]|0;e=a[l+12>>2]|0;if((e|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=e;a[e+8>>2]=A;t=l;e=n;break}}f=a[l+24>>2]|0;A=a[l+12>>2]|0;do{if((A|0)==(l|0)){i=l+16|0;e=i+4|0;A=a[e>>2]|0;if(!A){A=a[i>>2]|0;if(!A){A=0;break}else e=i}while(1){i=A+20|0;r=a[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=a[i>>2]|0;if(!r)break;else{A=r;e=i}}a[e>>2]=0}else{t=a[l+8>>2]|0;a[t+12>>2]=A;a[A+8>>2]=t}}while(0);if(f){e=a[l+28>>2]|0;i=190380+(e<<2)|0;if((a[i>>2]|0)==(l|0)){a[i>>2]=A;if(!A){a[47520]=a[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A){t=l;e=n;break}}a[A+24>>2]=f;e=l+16|0;i=a[e>>2]|0;if(i|0){a[A+16>>2]=i;a[i+24>>2]=A}e=a[e+4>>2]|0;if(e){a[A+20>>2]=e;a[e+24>>2]=A;t=l;e=n}else{t=l;e=n}}else{t=l;e=n}}else{t=i;l=i}}while(0);if(l>>>0>=c>>>0)return;A=c+4|0;r=a[A>>2]|0;if(!(r&1))return;if(!(r&2)){if((a[47525]|0)==(c|0)){c=(a[47522]|0)+e|0;a[47522]=c;a[47525]=t;a[t+4>>2]=c|1;if((t|0)!=(a[47524]|0))return;a[47524]=0;a[47521]=0;return}if((a[47524]|0)==(c|0)){c=(a[47521]|0)+e|0;a[47521]=c;a[47524]=l;a[t+4>>2]=c|1;a[l+c>>2]=c;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){e=a[c+8>>2]|0;A=a[c+12>>2]|0;if((A|0)==(e|0)){a[47519]=a[47519]&~(1<>2]=A;a[A+8>>2]=e;break}}else{n=a[c+24>>2]|0;A=a[c+12>>2]|0;do{if((A|0)==(c|0)){i=c+16|0;e=i+4|0;A=a[e>>2]|0;if(!A){A=a[i>>2]|0;if(!A){i=0;break}else e=i}while(1){i=A+20|0;r=a[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=a[i>>2]|0;if(!r)break;else{A=r;e=i}}a[e>>2]=0;i=A}else{i=a[c+8>>2]|0;a[i+12>>2]=A;a[A+8>>2]=i;i=A}}while(0);if(n|0){A=a[c+28>>2]|0;e=190380+(A<<2)|0;if((a[e>>2]|0)==(c|0)){a[e>>2]=i;if(!i){a[47520]=a[47520]&~(1<>2]|0)!=(c|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=n;A=c+16|0;e=a[A>>2]|0;if(e|0){a[i+16>>2]=e;a[e+24>>2]=i}A=a[A+4>>2]|0;if(A|0){a[i+20>>2]=A;a[A+24>>2]=i}}}}while(0);a[t+4>>2]=f|1;a[l+f>>2]=f;if((t|0)==(a[47524]|0)){a[47521]=f;return}}else{a[A>>2]=r&-2;a[t+4>>2]=e|1;a[l+e>>2]=e;f=e}A=f>>>3;if(f>>>0<256){i=190116+(A<<1<<2)|0;e=a[47519]|0;A=1<>2]|0}a[e>>2]=t;a[A+12>>2]=t;a[t+8>>2]=A;a[t+12>>2]=i;return}A=f>>>8;if(A)if(f>>>0>16777215)A=31;else{l=(A+1048320|0)>>>16&8;c=A<>>16&4;c=c<>>16&2;A=14-(n|l|A)+(c<>>15)|0;A=f>>>(A+7|0)&1|A<<1}else A=0;r=190380+(A<<2)|0;a[t+28>>2]=A;a[t+20>>2]=0;a[t+16>>2]=0;e=a[47520]|0;i=1<>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){A=73;break}r=i+16+(e>>>31<<2)|0;A=a[r>>2]|0;if(!A){A=72;break}else{e=e<<1;i=A}}if((A|0)==72){a[r>>2]=t;a[t+24>>2]=i;a[t+12>>2]=t;a[t+8>>2]=t;break}else if((A|0)==73){l=i+8|0;c=a[l>>2]|0;a[c+12>>2]=t;a[l>>2]=t;a[t+8>>2]=c;a[t+12>>2]=i;a[t+24>>2]=0;break}}else{a[47520]=e|i;a[r>>2]=t;a[t+24>>2]=r;a[t+12>>2]=t;a[t+8>>2]=t}}while(0);c=(a[47527]|0)+-1|0;a[47527]=c;if(!c)A=190532;else return;while(1){A=a[A>>2]|0;if(!A)break;else A=A+8|0}a[47527]=-1;return}function W2(A,e){A=A|0;e=e|0;var i=0;if(A){i=U(e,A)|0;if((e|A)>>>0>65535)i=((i>>>0)/(A>>>0)|0|0)==(e|0)?i:-1}else i=0;A=m2(i)|0;if(!A)return A|0;if(!(a[A+-4>>2]&3))return A|0;Y6(A|0,0,i|0)|0;return A|0}function y2(A,e){A=A|0;e=e|0;var i=0,r=0;if(!A){e=m2(e)|0;return e|0}if(e>>>0>4294967231){a[(X2()|0)>>2]=12;e=0;return e|0}i=z2(A+-8|0,e>>>0<11?16:e+11&-8)|0;if(i|0){e=i+8|0;return e|0}i=m2(e)|0;if(!i){e=0;return e|0}r=a[A+-4>>2]|0;r=(r&-8)-((r&3|0)==0?8:4)|0;y6(i|0,A|0,(r>>>0>>0?r:e)|0)|0;L2(A);e=i;return e|0}function z2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=A+4|0;w=a[s>>2]|0;i=w&-8;t=A+i|0;if(!(w&3)){if(e>>>0<256){A=0;return A|0}if(i>>>0>=(e+4|0)>>>0?(i-e|0)>>>0<=a[47639]<<1>>>0:0)return A|0;A=0;return A|0}if(i>>>0>=e>>>0){i=i-e|0;if(i>>>0<=15)return A|0;b=A+e|0;a[s>>2]=w&1|e|2;a[b+4>>2]=i|3;w=t+4|0;a[w>>2]=a[w>>2]|1;Y2(b,i);return A|0}if((a[47525]|0)==(t|0)){b=(a[47522]|0)+i|0;i=b-e|0;r=A+e|0;if(b>>>0<=e>>>0){A=0;return A|0}a[s>>2]=w&1|e|2;a[r+4>>2]=i|1;a[47525]=r;a[47522]=i;return A|0}if((a[47524]|0)==(t|0)){r=(a[47521]|0)+i|0;if(r>>>0>>0){A=0;return A|0}i=r-e|0;if(i>>>0>15){b=A+e|0;r=A+r|0;a[s>>2]=w&1|e|2;a[b+4>>2]=i|1;a[r>>2]=i;r=r+4|0;a[r>>2]=a[r>>2]&-2;r=b}else{a[s>>2]=w&1|r|2;r=A+r+4|0;a[r>>2]=a[r>>2]|1;r=0;i=0}a[47521]=i;a[47524]=r;return A|0}r=a[t+4>>2]|0;if(r&2|0){A=0;return A|0}c=(r&-8)+i|0;if(c>>>0>>0){A=0;return A|0}b=c-e|0;f=r>>>3;do{if(r>>>0<256){r=a[t+8>>2]|0;i=a[t+12>>2]|0;if((i|0)==(r|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=r;break}}else{l=a[t+24>>2]|0;i=a[t+12>>2]|0;do{if((i|0)==(t|0)){f=t+16|0;r=f+4|0;i=a[r>>2]|0;if(!i){i=a[f>>2]|0;if(!i){f=0;break}else n=f}else n=r;while(1){f=i+20|0;r=a[f>>2]|0;if(r|0){i=r;n=f;continue}r=i+16|0;f=a[r>>2]|0;if(!f)break;else{i=f;n=r}}a[n>>2]=0;f=i}else{f=a[t+8>>2]|0;a[f+12>>2]=i;a[i+8>>2]=f;f=i}}while(0);if(l|0){i=a[t+28>>2]|0;r=190380+(i<<2)|0;if((a[r>>2]|0)==(t|0)){a[r>>2]=f;if(!f){a[47520]=a[47520]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=f;if(!f)break}a[f+24>>2]=l;i=t+16|0;r=a[i>>2]|0;if(r|0){a[f+16>>2]=r;a[r+24>>2]=f}i=a[i+4>>2]|0;if(i|0){a[f+20>>2]=i;a[i+24>>2]=f}}}}while(0);if(b>>>0<16){a[s>>2]=c|w&1|2;w=A+c+4|0;a[w>>2]=a[w>>2]|1;return A|0}else{t=A+e|0;a[s>>2]=w&1|e|2;a[t+4>>2]=b|3;w=A+c+4|0;a[w>>2]=a[w>>2]|1;Y2(t,b);return A|0}return 0}function Y2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;t=A+e|0;i=a[A+4>>2]|0;do{if(!(i&1)){f=a[A>>2]|0;if(!(i&3))return;l=A+(0-f)|0;e=f+e|0;if((a[47524]|0)==(l|0)){A=t+4|0;i=a[A>>2]|0;if((i&3|0)!=3)break;a[47521]=e;a[A>>2]=i&-2;a[l+4>>2]=e|1;a[t>>2]=e;return}r=f>>>3;if(f>>>0<256){A=a[l+8>>2]|0;i=a[l+12>>2]|0;if((i|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=i;a[i+8>>2]=A;break}}n=a[l+24>>2]|0;A=a[l+12>>2]|0;do{if((A|0)==(l|0)){r=l+16|0;i=r+4|0;A=a[i>>2]|0;if(!A){A=a[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;f=a[r>>2]|0;if(f|0){A=f;i=r;continue}r=A+16|0;f=a[r>>2]|0;if(!f)break;else{A=f;i=r}}a[i>>2]=0}else{f=a[l+8>>2]|0;a[f+12>>2]=A;a[A+8>>2]=f}}while(0);if(n){i=a[l+28>>2]|0;r=190380+(i<<2)|0;if((a[r>>2]|0)==(l|0)){a[r>>2]=A;if(!A){a[47520]=a[47520]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=A;if(!A)break}a[A+24>>2]=n;i=l+16|0;r=a[i>>2]|0;if(r|0){a[A+16>>2]=r;a[r+24>>2]=A}i=a[i+4>>2]|0;if(i){a[A+20>>2]=i;a[i+24>>2]=A}}}else l=A}while(0);A=t+4|0;r=a[A>>2]|0;if(!(r&2)){if((a[47525]|0)==(t|0)){t=(a[47522]|0)+e|0;a[47522]=t;a[47525]=l;a[l+4>>2]=t|1;if((l|0)!=(a[47524]|0))return;a[47524]=0;a[47521]=0;return}if((a[47524]|0)==(t|0)){t=(a[47521]|0)+e|0;a[47521]=t;a[47524]=l;a[l+4>>2]=t|1;a[l+t>>2]=t;return}f=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){A=a[t+8>>2]|0;e=a[t+12>>2]|0;if((e|0)==(A|0)){a[47519]=a[47519]&~(1<>2]=e;a[e+8>>2]=A;break}}else{n=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){i=t+16|0;A=i+4|0;e=a[A>>2]|0;if(!e){e=a[i>>2]|0;if(!e){i=0;break}else A=i}while(1){i=e+20|0;r=a[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=a[i>>2]|0;if(!r)break;else{e=r;A=i}}a[A>>2]=0;i=e}else{i=a[t+8>>2]|0;a[i+12>>2]=e;a[e+8>>2]=i;i=e}}while(0);if(n|0){e=a[t+28>>2]|0;A=190380+(e<<2)|0;if((a[A>>2]|0)==(t|0)){a[A>>2]=i;if(!i){a[47520]=a[47520]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=i;if(!i)break}a[i+24>>2]=n;e=t+16|0;A=a[e>>2]|0;if(A|0){a[i+16>>2]=A;a[A+24>>2]=i}e=a[e+4>>2]|0;if(e|0){a[i+20>>2]=e;a[e+24>>2]=i}}}}while(0);a[l+4>>2]=f|1;a[l+f>>2]=f;if((l|0)==(a[47524]|0)){a[47521]=f;return}}else{a[A>>2]=r&-2;a[l+4>>2]=e|1;a[l+e>>2]=e;f=e}e=f>>>3;if(f>>>0<256){i=190116+(e<<1<<2)|0;A=a[47519]|0;e=1<>2]|0}a[A>>2]=l;a[e+12>>2]=l;a[l+8>>2]=e;a[l+12>>2]=i;return}e=f>>>8;if(e)if(f>>>0>16777215)e=31;else{n=(e+1048320|0)>>>16&8;t=e<>>16&4;t=t<>>16&2;e=14-(r|n|e)+(t<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;r=190380+(e<<2)|0;a[l+28>>2]=e;a[l+20>>2]=0;a[l+16>>2]=0;A=a[47520]|0;i=1<>2]=l;a[l+24>>2]=r;a[l+12>>2]=l;a[l+8>>2]=l;return}A=f<<((e|0)==31?0:25-(e>>>1)|0);i=a[r>>2]|0;while(1){if((a[i+4>>2]&-8|0)==(f|0)){e=69;break}r=i+16+(A>>>31<<2)|0;e=a[r>>2]|0;if(!e){e=68;break}else{A=A<<1;i=e}}if((e|0)==68){a[r>>2]=l;a[l+24>>2]=i;a[l+12>>2]=l;a[l+8>>2]=l;return}else if((e|0)==69){n=i+8|0;t=a[n>>2]|0;a[t+12>>2]=l;a[n>>2]=l;a[l+8>>2]=t;a[l+12>>2]=i;a[l+24>>2]=0;return}}function D2(A,e){A=A|0;e=e|0;if(A>>>0<9){e=m2(e)|0;return e|0}else{e=M2(A,e)|0;return e|0}return 0}function M2(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0;A=A>>>0>16?A:16;if(A+-1&A){i=16;while(1)if(i>>>0>>0)i=i<<1;else{A=i;break}}if((-64-A|0)>>>0<=e>>>0){a[(X2()|0)>>2]=12;l=0;return l|0}n=e>>>0<11?16:e+11&-8;i=m2(n+12+A|0)|0;if(!i){l=0;return l|0}f=i+-8|0;do{if(A+-1&i){r=(i+A+-1&0-A)+-8|0;e=f;r=(r-e|0)>>>0>15?r:r+A|0;e=r-e|0;A=i+-4|0;t=a[A>>2]|0;i=(t&-8)-e|0;if(!(t&3)){a[r>>2]=(a[f>>2]|0)+e;a[r+4>>2]=i;A=r;e=r;break}else{t=r+4|0;a[t>>2]=i|a[t>>2]&1|2;i=r+i+4|0;a[i>>2]=a[i>>2]|1;a[A>>2]=e|a[A>>2]&1|2;a[t>>2]=a[t>>2]|1;Y2(f,e);A=r;e=r;break}}else{A=f;e=f}}while(0);A=A+4|0;i=a[A>>2]|0;if(i&3|0?(l=i&-8,l>>>0>(n+16|0)>>>0):0){t=l-n|0;f=e+n|0;a[A>>2]=n|i&1|2;a[f+4>>2]=t|3;l=e+l+4|0;a[l>>2]=a[l>>2]|1;Y2(f,t)}t=e+8|0;return t|0}function F2(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=R2(a[A+60>>2]|0)|0;A=N2(NA(6,i|0)|0)|0;k=e;return A|0}function V2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+32|0;f=b;t=b+16|0;a[t>>2]=e;n=t+4|0;c=A+48|0;s=a[c>>2]|0;a[n>>2]=i-((s|0)!=0&1);l=A+44|0;a[t+8>>2]=a[l>>2];a[t+12>>2]=s;a[f>>2]=a[A+60>>2];a[f+4>>2]=t;a[f+8>>2]=2;f=N2(mA(145,f|0)|0)|0;if((f|0)>=1){t=a[n>>2]|0;if(f>>>0>t>>>0){n=a[l>>2]|0;l=A+4|0;a[l>>2]=n;a[A+8>>2]=n+(f-t);if(!(a[c>>2]|0))f=i;else{a[l>>2]=n+1;r[e+(i+-1)>>0]=r[n>>0]|0;f=i}}}else a[A>>2]=a[A>>2]|f&48^16;k=b;return f|0}function J2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=k;k=k+32|0;n=f;r=f+20|0;a[n>>2]=a[A+60>>2];a[n+4>>2]=0;a[n+8>>2]=e;a[n+12>>2]=r;a[n+16>>2]=i;if((N2(QA(140,n|0)|0)|0)<0){a[r>>2]=-1;A=-1}else A=a[r>>2]|0;k=f;return A|0}function N2(A){A=A|0;if(A>>>0>4294963200){a[(X2()|0)>>2]=0-A;A=-1}return A|0}function X2(){return 190572}function R2(A){A=A|0;return A|0}function H2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0;n=k;k=k+32|0;f=n;a[A+36>>2]=18;if((a[A>>2]&64|0)==0?(a[f>>2]=a[A+60>>2],a[f+4>>2]=21523,a[f+8>>2]=n+16,JA(54,f|0)|0):0)r[A+75>>0]=-1;f=p2(A,e,i)|0;k=n;return f|0}function p2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;w=k;k=k+48|0;b=w+16|0;n=w;f=w+32|0;t=A+28|0;r=a[t>>2]|0;a[f>>2]=r;c=A+20|0;r=(a[c>>2]|0)-r|0;a[f+4>>2]=r;a[f+8>>2]=e;a[f+12>>2]=i;r=r+i|0;l=A+60|0;a[n>>2]=a[l>>2];a[n+4>>2]=f;a[n+8>>2]=2;n=N2(LA(146,n|0)|0)|0;A:do{if((r|0)!=(n|0)){e=2;while(1){if((n|0)<0)break;r=r-n|0;o=a[f+4>>2]|0;u=n>>>0>o>>>0;f=u?f+8|0:f;e=e+(u<<31>>31)|0;o=n-(u?o:0)|0;a[f>>2]=(a[f>>2]|0)+o;u=f+4|0;a[u>>2]=(a[u>>2]|0)-o;a[b>>2]=a[l>>2];a[b+4>>2]=f;a[b+8>>2]=e;n=N2(LA(146,b|0)|0)|0;if((r|0)==(n|0)){s=3;break A}}a[A+16>>2]=0;a[t>>2]=0;a[c>>2]=0;a[A>>2]=a[A>>2]|32;if((e|0)==2)i=0;else i=i-(a[f+4>>2]|0)|0}else s=3}while(0);if((s|0)==3){o=a[A+44>>2]|0;a[A+16>>2]=o+(a[A+48>>2]|0);a[t>>2]=o;a[c>>2]=o}k=w;return i|0}function U2(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=A;a[r+4>>2]=e;e=N2(XA(91,r|0)|0)|0;k=i;return e|0}function x2(){return}function T2(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0;t=k;k=k+32|0;l=t;do{if((n&4095|0)==0&(((n|0)<0)<<31>>31&-4096|0)==0){if(e>>>0>2147483646){a[(X2()|0)>>2]=12;A=-1;break}a[l>>2]=A;a[l+4>>2]=e;a[l+8>>2]=i;a[l+12>>2]=r;a[l+16>>2]=f;a[l+20>>2]=n>>12;A=N2(WA(192,l|0)|0)|0}else{a[(X2()|0)>>2]=22;A=-1}}while(0);k=t;return A|0}function j2(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;f=e&255;A:do{if(!f)A=A+(S2(A)|0)|0;else{if(A&3){i=e&255;do{n=r[A>>0]|0;if(n<<24>>24==0?1:n<<24>>24==i<<24>>24)break A;A=A+1|0}while((A&3|0)!=0)}f=U(f,16843009)|0;i=a[A>>2]|0;e:do{if(!((i&-2139062144^-2139062144)&i+-16843009))do{n=i^f;if((n&-2139062144^-2139062144)&n+-16843009|0)break e;A=A+4|0;i=a[A>>2]|0}while(!((i&-2139062144^-2139062144)&i+-16843009|0))}while(0);i=e&255;while(1){n=r[A>>0]|0;if(n<<24>>24==0?1:n<<24>>24==i<<24>>24)break;else A=A+1|0}}}while(0);return A|0}function S2(A){A=A|0;var e=0,i=0,f=0;f=A;A:do{if(!(f&3))i=4;else{e=f;while(1){if(!(r[A>>0]|0)){A=e;break A}A=A+1|0;e=A;if(!(e&3)){i=4;break}}}}while(0);if((i|0)==4){while(1){e=a[A>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))A=A+4|0;else break}if((e&255)<<24>>24)do{A=A+1|0}while((r[A>>0]|0)!=0)}return A-f|0}function P2(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=k;k=k+48|0;n=l+16|0;f=l;r=l+32|0;if(!(e&4194368))r=0;else{a[r>>2]=i;t=(a[r>>2]|0)+(4-1)&~(4-1);i=a[t>>2]|0;a[r>>2]=t+4;r=i}a[f>>2]=A;a[f+4>>2]=e|32768;a[f+8>>2]=r;r=VA(5,f|0)|0;if(!((e&524288|0)==0|(r|0)<0)){a[n>>2]=r;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0}t=N2(r)|0;k=l;return t|0}function O2(A,e){A=A|0;e=e|0;var i=0,f=0;f=0;while(1){if((n[144531+f>>0]|0)==(A|0)){A=2;break}i=f+1|0;if((i|0)==87){i=144619;f=87;A=5;break}else f=i}if((A|0)==2)if(!f)i=144619;else{i=144619;A=5}if((A|0)==5)while(1){do{A=i;i=i+1|0}while((r[A>>0]|0)!=0);f=f+-1|0;if(!f)break;else A=5}return K2(i,a[e+20>>2]|0)|0}function K2(A,e){A=A|0;e=e|0;return _2(A,e)|0}function _2(A,e){A=A|0;e=e|0;if(!e)e=0;else e=q2(a[e>>2]|0,a[e+4>>2]|0,A)|0;return(e|0?e:A)|0}function q2(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=(a[A>>2]|0)+1794895138|0;l=$2(a[A+8>>2]|0,k)|0;f=$2(a[A+12>>2]|0,k)|0;n=$2(a[A+16>>2]|0,k)|0;A:do{if((l>>>0>>2>>>0?(u=e-(l<<2)|0,f>>>0>>0&n>>>0>>0):0)?((n|f)&3|0)==0:0){u=f>>>2;w=n>>>2;s=0;while(1){c=l>>>1;b=s+c|0;t=b<<1;n=t+u|0;f=$2(a[A+(n<<2)>>2]|0,k)|0;n=$2(a[A+(n+1<<2)>>2]|0,k)|0;if(!(n>>>0>>0&f>>>0<(e-n|0)>>>0)){f=0;break A}if(r[A+(n+f)>>0]|0){f=0;break A}f=A1(i,A+n|0)|0;if(!f)break;f=(f|0)<0;if((l|0)==1){f=0;break A}else{s=f?s:b;l=f?c:l-c|0}}f=t+w|0;n=$2(a[A+(f<<2)>>2]|0,k)|0;f=$2(a[A+(f+1<<2)>>2]|0,k)|0;if(f>>>0>>0&n>>>0<(e-f|0)>>>0)f=(r[A+(f+n)>>0]|0)==0?A+f|0:0;else f=0}else f=0}while(0);return f|0}function $2(A,e){A=A|0;e=e|0;var i=0;i=m6(A|0)|0;return((e|0)==0?A:i)|0}function A1(A,e){A=A|0;e=e|0;var i=0,f=0;i=r[A>>0]|0;f=r[e>>0]|0;if(i<<24>>24==0?1:i<<24>>24!=f<<24>>24)A=f;else{do{A=A+1|0;e=e+1|0;i=r[A>>0]|0;f=r[e>>0]|0}while(!(i<<24>>24==0?1:i<<24>>24!=f<<24>>24));A=f}return(i&255)-(A&255)|0}function e1(A){A=A|0;return O2(A,a[(i1()|0)+188>>2]|0)|0}function i1(){return r1()|0}function r1(){return 62976}function f1(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,f=0.0,a=0.0;a=A*A;r=a*(a*a)*(a*1.58969099521155e-10+-2.5050760253406863e-08)+(a*(a*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);f=a*A;if(!i)A=f*(a*r+-.16666666666666632)+A;else A=A-(f*.16666666666666632+(a*(e*.5-f*r)-e));return+A}function a1(A){A=+A;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;b[w>>3]=A;e=a[w>>2]|0;i=a[w+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;r=-1077;e=a[w>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;a[w>>2]=e;a[w+4>>2]=(f&1048575)+1072079006;s=+b[w>>3]+-1.0;t=s*(s*.5);l=s/(s+2.0);c=l*l;n=c*c;b[w>>3]=s-t;i=a[w+4>>2]|0;a[w>>2]=0;a[w+4>>2]=i;A=+b[w>>3];n=s-A-t+l*(t+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));c=A*1.4426950407214463;t=+(r+(f>>>20)|0);l=c+t;A=l+(c+(t-l)+(n*1.4426950407214463+(n+A)*1.6751713164886512e-10))}return+A}function n1(A,e){A=+A;e=e|0;var i=0,r=0,f=0;b[w>>3]=A;i=a[w>>2]|0;r=a[w+4>>2]|0;f=Z6(i|0,r|0,52)|0;switch(f&2047){case 0:{if(A!=0.0){A=+n1(A*18446744073709551616.0,e);i=(a[e>>2]|0)+-64|0}else i=0;a[e>>2]=i;break}case 2047:break;default:{a[e>>2]=(f&2047)+-1022;a[w>>2]=i;a[w+4>>2]=r&-2146435073|1071644672;A=+b[w>>3]}}return+A}function l1(A,e){A=+A;e=+e;var i=0.0,r=0.0,f=0.0,a=0.0;i=A*A;r=i*i;f=i*.5;a=1.0-f;return+(a+(1.0-a-f+(i*(i*(i*(i*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+r*r*(i*(2.087572321298175e-09-i*1.1359647557788195e-11)+-2.7557314351390663e-07))-A*e)))}function t1(A){A=+A;var e=0,i=0,r=0,f=0,n=0.0,l=0.0,t=0.0,c=0.0,s=0.0;b[w>>3]=A;e=a[w>>2]|0;i=a[w+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;r=-1077;e=a[w>>2]|0;f=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;f=9}}while(0);if((f|0)==9){f=i+614242|0;a[w>>2]=e;a[w+4>>2]=(f&1048575)+1072079006;t=+b[w>>3]+-1.0;l=t*(t*.5);c=t/(t+2.0);s=c*c;n=s*s;b[w>>3]=t-l;i=a[w+4>>2]|0;a[w>>2]=0;a[w+4>>2]=i;A=+b[w>>3];n=t-A-l+c*(l+(n*(n*(n*.15313837699209373+.22222198432149784)+.3999999999940942)+s*(n*(n*(n*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));s=A*.4342944818781689;l=+(r+(f>>>20)|0);c=l*.30102999566361177;t=c+s;A=t+(s+(c-t)+(n*.4342944818781689+(l*3.694239077158931e-13+(n+A)*2.5082946711645275e-11)))}return+A}function c1(A,e){A=+A;e=e|0;var i=0,r=0.0,f=0.0,n=0.0,l=0,t=0.0,c=0,s=0,u=0,o=0,h=0,d=0,B=0.0;d=k;k=k+48|0;c=d+16|0;s=d;b[w>>3]=A;i=a[w>>2]|0;l=a[w+4>>2]|0;u=Z6(i|0,l|0,63)|0;h=l&2147483647;do{if(h>>>0<1074752123)if((l&1048575|0)!=598523){i=(u|0)!=0;if(h>>>0<1073928573)if(i){n=A+1.5707963267341256;t=n+6.077100506506192e-11;b[e>>3]=t;b[e+8>>3]=n-t+6.077100506506192e-11;i=-1;break}else{n=A+-1.5707963267341256;t=n+-6.077100506506192e-11;b[e>>3]=t;b[e+8>>3]=n-t+-6.077100506506192e-11;i=1;break}else if(i){n=A+3.1415926534682512;t=n+1.2154201013012384e-10;b[e>>3]=t;b[e+8>>3]=n-t+1.2154201013012384e-10;i=-2;break}else{n=A+-3.1415926534682512;t=n+-1.2154201013012384e-10;b[e>>3]=t;b[e+8>>3]=n-t+-1.2154201013012384e-10;i=2;break}}else o=21;else{if(h>>>0<1075594812)if(h>>>0<1075183037){if((h|0)==1074977148){o=21;break}if(!u){n=A+-4.712388980202377;t=n+-1.8231301519518578e-10;b[e>>3]=t;b[e+8>>3]=n-t+-1.8231301519518578e-10;i=3;break}else{n=A+4.712388980202377;t=n+1.8231301519518578e-10;b[e>>3]=t;b[e+8>>3]=n-t+1.8231301519518578e-10;i=-3;break}}else{if((h|0)==1075388923){o=21;break}if(!u){n=A+-6.2831853069365025;t=n+-2.430840202602477e-10;b[e>>3]=t;b[e+8>>3]=n-t+-2.430840202602477e-10;i=4;break}else{n=A+6.2831853069365025;t=n+2.430840202602477e-10;b[e>>3]=t;b[e+8>>3]=n-t+2.430840202602477e-10;i=-4;break}}if(h>>>0>=1094263291){if(h>>>0>2146435071){t=A-A;b[e+8>>3]=t;b[e>>3]=t;i=0;break}a[w>>2]=i;a[w+4>>2]=l&1048575|1096810496;A=+b[w>>3];i=0;do{t=+(~~A|0);b[c+(i<<3)>>3]=t;A=(A-t)*16777216.0;i=i+1|0}while((i|0)!=2);b[c+16>>3]=A;if(A==0.0){i=1;while(1)if(+b[c+(i<<3)>>3]==0.0)i=i+-1|0;else break}else i=2;i=b1(c,s,(h>>>20)+-1046|0,i+1|0,1)|0;A=+b[s>>3];if(!u){b[e>>3]=A;b[e+8>>3]=+b[s+8>>3];break}else{b[e>>3]=-A;b[e+8>>3]=-+b[s+8>>3];i=0-i|0;break}}else o=21}}while(0);if((o|0)==21){n=A*.6366197723675814+6755399441055744.0+-6755399441055744.0;i=~~n;r=A-n*1.5707963267341256;f=n*6.077100506506192e-11;A=r-f;b[e>>3]=A;b[w>>3]=A;o=Z6(a[w>>2]|0,a[w+4>>2]|0,52)|0;l=h>>>20;if((l-(o&2047)|0)>16){f=n*6.077100506303966e-11;t=r-f;f=n*2.0222662487959506e-21-(r-t-f);A=t-f;b[e>>3]=A;b[w>>3]=A;h=Z6(a[w>>2]|0,a[w+4>>2]|0,52)|0;B=n*2.0222662487111665e-21;r=t-B;n=n*8.4784276603689e-32-(t-r-B);if((l-(h&2047)|0)>49){A=r-n;b[e>>3]=A;f=n}else r=t}b[e+8>>3]=r-A-f}k=d;return i|0}function b1(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0.0,l=0.0,t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,y=0,z=0,Y=0,D=0,M=0.0;D=k;k=k+560|0;m=D+480|0;G=D+320|0;Y=D+160|0;y=D;L=a[63220+(f<<2)>>2]|0;o=r+-1|0;Z=(i+-3|0)/24|0;Z=(Z|0)>0?Z:0;Q=U(Z,-24)|0;t=i+-24+Q|0;if((L+o|0)>=0){w=L+r|0;c=Z-o|0;s=0;while(1){if((c|0)<0)n=0.0;else n=+(a[63236+(c<<2)>>2]|0);b[G+(s<<3)>>3]=n;s=s+1|0;if((s|0)==(w|0))break;else c=c+1|0}}u=(r|0)>0;w=0;while(1){if(u){s=w+o|0;n=0.0;c=0;do{n=n+ +b[A+(c<<3)>>3]*+b[G+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else n=0.0;b[y+(w<<3)>>3]=n;if((w|0)<(L|0))w=w+1|0;else break}v=(t|0)>0;g=24-t|0;E=23-t|0;C=(r|0)>0;I=(t|0)==0;c=L;A:while(1){n=+b[y+(c<<3)>>3];u=(c|0)>0;if(u){s=c;w=0;while(1){l=+(~~(n*5.9604644775390625e-08)|0);a[m+(w<<2)>>2]=~~(n-l*16777216.0);B=s;s=s+-1|0;n=+b[y+(s<<3)>>3]+l;if((B|0)<=1)break;else w=w+1|0}}n=+s1(n,t);n=n-+W(+(n*.125))*8.0;s=~~n;n=n-+(s|0);do{if(!v)if(!I)if(!(n>=.5)){o=0;B=s;break}else{w=2;z=20;break}else{w=a[m+(c+-1<<2)>>2]>>23;z=19;break}else{B=m+(c+-1<<2)|0;w=a[B>>2]|0;z=w>>g;w=w-(z<>2]=w;w=w>>E;s=z+s|0;z=19}}while(0);if((z|0)==19){z=0;if((w|0)>0)z=20;else{o=w;B=s}}if((z|0)==20){z=0;B=s+1|0;if(u){s=0;d=0;do{o=m+(d<<2)|0;h=a[o>>2]|0;if(!s)if(!h)s=0;else{s=1;u=16777216;z=23}else{u=16777215;z=23}if((z|0)==23){z=0;a[o>>2]=u-h}d=d+1|0}while((d|0)!=(c|0))}else s=0;e:do{if(v){switch(t|0){case 1:{u=8388607;break}case 2:{u=4194303;break}default:break e}d=m+(c+-1<<2)|0;a[d>>2]=a[d>>2]&u}}while(0);if((w|0)==2){n=1.0-n;if(!s)o=2;else{o=2;n=n-+s1(1.0,t)}}else o=w}if(!(n==0.0)){z=42;break}if((c|0)>(L|0)){s=0;w=c;do{w=w+-1|0;s=a[m+(w<<2)>>2]|s}while((w|0)>(L|0));if(s){z=41;break}else s=1}else s=1;while(1)if(!(a[m+(L-s<<2)>>2]|0))s=s+1|0;else break;u=s+c|0;if((s|0)<=0){c=u;continue}while(1){w=c+1|0;s=c+r|0;b[G+(s<<3)>>3]=+(a[63236+(w+Z<<2)>>2]|0);if(C){n=0.0;c=0;do{n=n+ +b[A+(c<<3)>>3]*+b[G+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else n=0.0;b[y+(w<<3)>>3]=n;if((w|0)<(u|0))c=w;else{c=u;continue A}}}if((z|0)==41)while(1){z=0;t=t+-24|0;c=c+-1|0;if(!(a[m+(c<<2)>>2]|0))z=41;else{u=c;break}}else if((z|0)==42){n=+s1(n,0-t|0);if(n>=16777216.0){l=+(~~(n*5.9604644775390625e-08)|0);a[m+(c<<2)>>2]=~~(n-l*16777216.0);t=Q+i|0;c=c+1|0;n=l}a[m+(c<<2)>>2]=~~n;u=c}w=(u|0)>-1;if(w){n=+s1(1.0,t);t=u;while(1){b[y+(t<<3)>>3]=n*+(a[m+(t<<2)>>2]|0);if((t|0)>0){n=n*5.9604644775390625e-08;t=t+-1|0}else break}if(w){c=u;while(1){s=u-c|0;t=0;n=0.0;while(1){n=n+ +b[10904+(t<<3)>>3]*+b[y+(t+c<<3)>>3];if((t|0)>=(L|0)|(t|0)>=(s|0))break;else t=t+1|0}b[Y+(s<<3)>>3]=n;if((c|0)>0)c=c+-1|0;else break}}}switch(f|0){case 0:{if(w){n=0.0;t=u;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else n=0.0;l=(o|0)==0?n:-n;z=73;break}case 2:case 1:{if(w){n=0.0;t=u;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)>0)t=t+-1|0;else break}}else n=0.0;c=(o|0)==0;b[e>>3]=c?n:-n;n=+b[Y>>3]-n;if((u|0)>=1){t=1;while(1){n=n+ +b[Y+(t<<3)>>3];if((t|0)==(u|0))break;else t=t+1|0}}l=c?n:-n;e=e+8|0;z=73;break}case 3:{if((u|0)>0){t=u;n=+b[Y+(u<<3)>>3];do{z=t;t=t+-1|0;y=Y+(t<<3)|0;l=+b[y>>3];M=n;n=l+n;b[Y+(z<<3)>>3]=M+(l-n);b[y>>3]=n}while((z|0)>1);c=(u|0)>1;if(c){t=u;n=+b[Y+(u<<3)>>3];do{z=t;t=t+-1|0;y=Y+(t<<3)|0;M=+b[y>>3];l=n;n=M+n;b[Y+(z<<3)>>3]=l+(M-n);b[y>>3]=n}while((z|0)>2);if(c){t=u;l=0.0;while(1){l=l+ +b[Y+(t<<3)>>3];if((t|0)>2)t=t+-1|0;else break}}else l=0.0}else l=0.0}else l=0.0;n=+b[Y>>3];if(!o){b[e>>3]=n;n=+b[Y+8>>3]}else{b[e>>3]=-n;l=-l;n=-+b[Y+8>>3]}b[e+8>>3]=n;e=e+16|0;z=73;break}default:{}}if((z|0)==73)b[e>>3]=l;k=D;return B&7|0}function s1(A,e){A=+A;e=e|0;var i=0,r=0;if((e|0)<=1023){if((e|0)<-1022){A=A*2.2250738585072014e-308;r=(e|0)<-2044;i=e+2044|0;A=r?A*2.2250738585072014e-308:A;e=r?(i|0)>-1022?i:-1022:e+1022|0}}else{A=A*8988465674311579538646525.0e283;i=(e|0)>2046;r=e+-2046|0;A=i?A*8988465674311579538646525.0e283:A;e=i?(r|0)<1023?r:1023:e+-1023|0}i=G6(e+1023|0,0,52)|0;r=L;a[w>>2]=i;a[w+4>>2]=r;return+(A*+b[w>>3])}function w1(A){A=+A;var e=0,i=0,r=0,f=0.0,n=0.0;b[w>>3]=A;i=a[w+4>>2]|0;e=i&2147483647;do{if(e>>>0>2146435071)A=A+A;else{if(e>>>0<1048576){b[w>>3]=A*18014398509481984.0;i=a[w+4>>2]|0;e=i&2147483647;if(!e)break;else r=696219795}else r=715094163;a[w>>2]=0;a[w+4>>2]=((e>>>0)/3|0)+r|i&-2147483648;f=+b[w>>3];n=f*f*(f/A);b[w>>3]=(n*(n*n)*(n*.14599619288661245+-.758397934778766)+(n*(n*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;i=d6(a[w>>2]|0,a[w+4>>2]|0,-2147483648,0)|0;r=L;a[w>>2]=i&-1073741824;a[w+4>>2]=r;f=+b[w>>3];A=A/(f*f);A=(A-f)/(f+f+A)*f+f}}while(0);return+A}function u1(A,e){A=+A;e=+e;var i=0,r=0;b[w>>3]=A;r=a[w>>2]|0;i=a[w+4>>2]|0;b[w>>3]=e;i=a[w+4>>2]&-2147483648|i&2147483647;a[w>>2]=r;a[w+4>>2]=i;return+ +b[w>>3]}function k1(A,e){A=+A;e=+e;return+ +u1(A,e)}function o1(A,e){A=+A;e=e|0;return+ +s1(A,e)}function h1(A,e){A=+A;e=+e;return+ +d1(A,e)}function d1(A,e){A=+A;e=+e;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,s=0,u=0,k=0,o=0,h=0;b[w>>3]=A;l=a[w>>2]|0;c=a[w+4>>2]|0;b[w>>3]=e;u=a[w>>2]|0;k=a[w+4>>2]|0;r=Z6(l|0,c|0,52)|0;r=r&2047;s=Z6(u|0,k|0,52)|0;s=s&2047;o=c&-2147483648;n=G6(u|0,k|0,1)|0;t=L;A:do{if(!((n|0)==0&(t|0)==0)?(f=B1(e)|0,i=L&2147483647,!((r|0)==2047|(i>>>0>2146435072|(i|0)==2146435072&f>>>0>0))):0){i=G6(l|0,c|0,1)|0;f=L;if(!(f>>>0>t>>>0|(f|0)==(t|0)&i>>>0>n>>>0))return+((i|0)==(n|0)&(f|0)==(t|0)?A*0.0:A);if(!r){i=G6(l|0,c|0,12)|0;f=L;if((f|0)>-1|(f|0)==-1&i>>>0>4294967295){r=0;do{r=r+-1|0;i=G6(i|0,f|0,1)|0;f=L}while((f|0)>-1|(f|0)==-1&i>>>0>4294967295)}else r=0;l=G6(l|0,c|0,1-r|0)|0;n=L}else n=c&1048575|1048576;if(!s){f=G6(u|0,k|0,12)|0;t=L;if((t|0)>-1|(t|0)==-1&f>>>0>4294967295){i=0;do{i=i+-1|0;f=G6(f|0,t|0,1)|0;t=L}while((t|0)>-1|(t|0)==-1&f>>>0>4294967295)}else i=0;u=G6(u|0,k|0,1-i|0)|0;s=i;c=L}else c=k&1048575|1048576;f=B6(l|0,n|0,u|0,c|0)|0;i=L;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;e:do{if((r|0)>(s|0)){while(1){if(t){if((f|0)==0&(i|0)==0)break}else{f=l;i=n}l=G6(f|0,i|0,1)|0;n=L;r=r+-1|0;f=B6(l|0,n|0,u|0,c|0)|0;i=L;t=(i|0)>-1|(i|0)==-1&f>>>0>4294967295;if((r|0)<=(s|0))break e}e=A*0.0;break A}}while(0);if(t){if((f|0)==0&(i|0)==0){e=A*0.0;break}}else{i=n;f=l}if(i>>>0<1048576|(i|0)==1048576&f>>>0<0)do{f=G6(f|0,i|0,1)|0;i=L;r=r+-1|0}while(i>>>0<1048576|(i|0)==1048576&f>>>0<0);if((r|0)>0){k=d6(f|0,i|0,0,-1048576)|0;i=L;r=G6(r|0,0,52)|0;i=i|L;r=k|r}else{r=Z6(f|0,i|0,1-r|0)|0;i=L}a[w>>2]=r;a[w+4>>2]=i|o;e=+b[w>>3]}else h=3}while(0);if((h|0)==3){e=A*e;e=e/e}return+e}function B1(A){A=+A;var e=0;b[w>>3]=A;e=a[w>>2]|0;L=a[w+4>>2]|0;return e|0}function v1(A,e){A=+A;e=+e;var i=0.0,r=0,f=0,n=0,l=0,t=0.0,c=0,s=0,u=0,o=0,h=0,d=0,B=0,v=0;h=k;k=k+32|0;c=h+24|0;s=h+16|0;u=h+8|0;o=h;b[w>>3]=A;v=a[w>>2]|0;n=a[w+4>>2]|0;b[w>>3]=e;r=a[w>>2]|0;n=n&2147483647;f=a[w+4>>2]&2147483647;l=n>>>0>>0|(n|0)==(f|0)&v>>>0>>0;B=l?r:v;d=l?f:n;r=l?v:r;f=l?n:f;n=Z6(B|0,d|0,52)|0;l=Z6(r|0,f|0,52)|0;a[w>>2]=B;a[w+4>>2]=d;A=+b[w>>3];a[w>>2]=r;a[w+4>>2]=f;t=+b[w>>3];do{if((l|0)!=2047){if(!((r|0)==0&(f|0)==0|(n|0)==2047)){if((n-l|0)>64){A=A+t;break}if((n|0)>1533){i=5260135901548373507240989.0e186;e=A*1.90109156629516e-211;A=t*1.90109156629516e-211}else{v=(l|0)<573;i=v?1.90109156629516e-211:1.0;e=v?A*5260135901548373507240989.0e186:A;A=v?t*5260135901548373507240989.0e186:t}g1(c,s,e);g1(u,o,A);A=i*+z(+(+b[o>>3]+ +b[s>>3]+ +b[u>>3]+ +b[c>>3]))}}else A=t}while(0);k=h;return+A}function g1(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,f=0.0;f=i*134217729.0;f=f+(i-f);r=i-f;i=i*i;b[A>>3]=i;b[e>>3]=r*r+(f*f-i+f*2.0*r);return}function E1(A,e,i){A=+A;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0.0,t=0,c=0;t=k;k=k+16|0;n=t;b[w>>3]=A;f=a[w+4>>2]&2147483647;do{if(f>>>0<1072243196)if(f>>>0<1044816030){b[e>>3]=A;b[i>>3]=1.0;break}else{b[e>>3]=+f1(A,0.0,0);b[i>>3]=+l1(A,0.0);break}else{if(f>>>0>2146435071){l=A-A;b[i>>3]=l;b[e>>3]=l;break}f=c1(A,n)|0;c=n+8|0;r=+f1(+b[n>>3],+b[c>>3],1);A=+l1(+b[n>>3],+b[c>>3]);switch(f&3){case 0:{b[e>>3]=r;l=A;break}case 1:{b[e>>3]=A;l=-r;break}case 2:{b[e>>3]=-r;l=-A;break}case 3:{b[e>>3]=-A;l=r;break}default:{}}b[i>>3]=l}}while(0);k=t;return}function C1(A,e){A=+A;e=e|0;return+ +n1(A,e)}function I1(A){A=A|0;if(A>>>0<131072)A=(n[146423+((n[146423+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=0;return A|0}function Z1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;if(!i)f=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))f=0;else while(1){i=i+-1|0;a=r[e>>0]|0;if(!(f<<24>>24==a<<24>>24&((i|0)!=0&a<<24>>24!=0)))break A;A=A+1|0;e=e+1|0;f=r[A>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);f=(f&255)-(n[e>>0]|0)|0}return f|0}function G1(A,e){A=A|0;e=e|0;A=j2(A,e)|0;return((r[A>>0]|0)==(e&255)<<24>>24?A:0)|0}function Q1(A){A=A|0;return((A|0)==32|(A+-9|0)>>>0<5)&1|0}function m1(A,e,i){A=A|0;e=e|0;i=i|0;i=W1(A,e,i,-1,0)|0;return i|0}function L1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=e&255;f=(i|0)!=0;A:do{if(f&(A&3|0)!=0){n=e&255;while(1){if((r[A>>0]|0)==n<<24>>24){t=6;break A}A=A+1|0;i=i+-1|0;f=(i|0)!=0;if(!(f&(A&3|0)!=0)){t=5;break}}}else t=5}while(0);if((t|0)==5)if(f)t=6;else i=0;A:do{if((t|0)==6){n=e&255;if((r[A>>0]|0)!=n<<24>>24){f=U(l,16843009)|0;e:do{if(i>>>0>3)while(1){l=a[A>>2]^f;if((l&-2139062144^-2139062144)&l+-16843009|0)break;A=A+4|0;i=i+-4|0;if(i>>>0<=3){t=11;break e}}else t=11}while(0);if((t|0)==11)if(!i){i=0;break}while(1){if((r[A>>0]|0)==n<<24>>24)break A;A=A+1|0;i=i+-1|0;if(!i){i=0;break}}}}}while(0);return(i|0?A:0)|0}function W1(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+128|0;l=c;a[l>>2]=0;t=l+4|0;a[t>>2]=A;a[l+44>>2]=A;n=l+8|0;a[n>>2]=(A|0)<0?-1:A+2147483647|0;a[l+76>>2]=-1;y1(l,0);i=z1(l,i,1,r,f)|0;if(e|0)a[e>>2]=A+((a[t>>2]|0)+(a[l+108>>2]|0)-(a[n>>2]|0));k=c;return i|0}function y1(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;a[A+104>>2]=e;i=a[A+8>>2]|0;r=a[A+4>>2]|0;f=i-r|0;a[A+108>>2]=f;a[A+100>>2]=(e|0)!=0&(f|0)>(e|0)?r+e|0:i;return}function z1(A,e,i,f,l){A=A|0;e=e|0;i=i|0;f=f|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;A:do{if(e>>>0>36){a[(X2()|0)>>2]=22;l=0;f=0}else{d=A+4|0;h=A+100|0;do{t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0}while((Q1(t)|0)!=0);e:do{switch(t|0){case 43:case 45:{t=((t|0)==45)<<31>>31;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;o=t;t=n[c>>0]|0;break e}else{o=t;t=Y1(A)|0;break e}}default:o=0}}while(0);c=(e|0)==0;do{if((e|16|0)==16&(t|0)==48){t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0;if((t|32|0)!=120)if(c){e=8;u=46;break}else{u=32;break}t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0;if((n[149592+t>>0]|0)>15){f=(a[h>>2]|0)==0;if(!f)a[d>>2]=(a[d>>2]|0)+-1;if(!i){y1(A,0);l=0;f=0;break A}if(f){l=0;f=0;break A}a[d>>2]=(a[d>>2]|0)+-1;l=0;f=0;break A}else{e=16;u=46}}else{e=c?10:e;if(e>>>0>(n[149592+t>>0]|0)>>>0)u=32;else{if(a[h>>2]|0)a[d>>2]=(a[d>>2]|0)+-1;y1(A,0);a[(X2()|0)>>2]=22;l=0;f=0;break A}}}while(0);e:do{if((u|0)==32)if((e|0)==10){e=t+-48|0;if(e>>>0<10){t=0;c=e;do{t=(t*10|0)+c|0;e=a[d>>2]|0;if(e>>>0<(a[h>>2]|0)>>>0){a[d>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;c=e+-48|0}while(c>>>0<10&t>>>0<429496729);i=0}else{e=t;t=0;i=0}b=e+-48|0;if(b>>>0<10){c=e;do{e=h6(t|0,i|0,10,0)|0;s=L;w=((b|0)<0)<<31>>31;k=~w;if(s>>>0>k>>>0|(s|0)==(k|0)&e>>>0>~b>>>0){e=10;u=72;break e}t=d6(e|0,s|0,b|0,w|0)|0;i=L;e=a[d>>2]|0;if(e>>>0<(a[h>>2]|0)>>>0){a[d>>2]=e+1;c=n[e>>0]|0}else c=Y1(A)|0;b=c+-48|0}while(b>>>0<10&(i>>>0<429496729|(i|0)==429496729&t>>>0<2576980378));if(b>>>0>9){c=o;e=i}else{e=10;u=72}}else{c=o;e=i}}else u=46}while(0);e:do{if((u|0)==46){if(!(e+-1&e)){u=r[149848+((e*23|0)>>>5&7)>>0]|0;i=r[149592+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;b=c;do{t=b|t<>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;b=i&255}while(t>>>0<134217728&e>>>0>b>>>0);b=0}else{c=t;b=0;t=0}s=Z6(-1,-1,u|0)|0;w=L;if(e>>>0<=(i&255)>>>0|(w>>>0>>0|(w|0)==(b|0)&s>>>0>>0)){i=b;u=72;break}else c=b;while(1){t=G6(t|0,c|0,u|0)|0;b=L;t=t|i&255;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;if(e>>>0<=(i&255)>>>0|(b>>>0>w>>>0|(b|0)==(w|0)&t>>>0>s>>>0)){i=b;u=72;break e}else c=b}}i=r[149592+t>>0]|0;c=i&255;if(e>>>0>c>>>0){t=0;b=c;do{t=b+(U(t,e)|0)|0;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;b=i&255}while(t>>>0<119304647&e>>>0>b>>>0);b=0}else{c=t;t=0;b=0}if(e>>>0>(i&255)>>>0){u=E6(-1,-1,e|0,0)|0;k=L;w=b;while(1){if(w>>>0>k>>>0|(w|0)==(k|0)&t>>>0>u>>>0){i=w;u=72;break e}b=h6(t|0,w|0,e|0,0)|0;s=L;i=i&255;if(s>>>0>4294967295|(s|0)==-1&b>>>0>~i>>>0){i=w;u=72;break e}t=d6(b|0,s|0,i|0,0)|0;b=L;c=a[d>>2]|0;if(c>>>0<(a[h>>2]|0)>>>0){a[d>>2]=c+1;c=n[c>>0]|0}else c=Y1(A)|0;i=r[149592+c>>0]|0;if(e>>>0<=(i&255)>>>0){i=b;u=72;break}else w=b}}else{i=b;u=72}}}while(0);if((u|0)==72)if(e>>>0>(n[149592+c>>0]|0)>>>0){do{t=a[d>>2]|0;if(t>>>0<(a[h>>2]|0)>>>0){a[d>>2]=t+1;t=n[t>>0]|0}else t=Y1(A)|0}while(e>>>0>(n[149592+t>>0]|0)>>>0);a[(X2()|0)>>2]=34;c=(f&1|0)==0&0==0?o:0;e=l;t=f}else{c=o;e=i}if(a[h>>2]|0)a[d>>2]=(a[d>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(l|0)&t>>>0>>0)){if(!((f&1|0)!=0|0!=0|(c|0)!=0)){a[(X2()|0)>>2]=34;f=d6(f|0,l|0,-1,-1)|0;l=L;break}if(e>>>0>l>>>0|(e|0)==(l|0)&t>>>0>f>>>0){a[(X2()|0)>>2]=34;break}}f=((c|0)<0)<<31>>31;f=B6(t^c|0,e^f|0,c|0,f|0)|0;l=L}}while(0);L=l;return f|0}function Y1(A){A=A|0;var e=0,i=0,f=0,l=0,t=0,c=0;i=A+104|0;l=a[i>>2]|0;if((l|0)!=0?(a[A+108>>2]|0)>=(l|0):0)t=4;else{e=D1(A)|0;if((e|0)>=0){f=a[i>>2]|0;i=A+8|0;if(f){c=a[i>>2]|0;l=a[A+4>>2]|0;i=f-(a[A+108>>2]|0)|0;f=c;if((c-l|0)<(i|0))i=f;else i=l+(i+-1)|0}else{f=a[i>>2]|0;i=f}a[A+100>>2]=i;i=A+4|0;if(!f)i=a[i>>2]|0;else{i=a[i>>2]|0;c=A+108|0;a[c>>2]=f+1-i+(a[c>>2]|0)}i=i+-1|0;if((e|0)!=(n[i>>0]|0|0))r[i>>0]=e}else t=4}if((t|0)==4){a[A+100>>2]=0;e=-1}return e|0}function D1(A){A=A|0;var e=0,i=0;i=k;k=k+16|0;e=i;if((M1(A)|0)==0?(W5[a[A+32>>2]&63](A,e,1)|0)==1:0)A=n[e>>0]|0;else A=-1;k=i;return A|0}function M1(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=A+20|0;i=A+28|0;if((a[e>>2]|0)>>>0>(a[i>>2]|0)>>>0)W5[a[A+36>>2]&63](A,0,0)|0;a[A+16>>2]=0;a[i>>2]=0;a[e>>2]=0;e=a[A>>2]|0;if(!(e&4)){i=(a[A+44>>2]|0)+(a[A+48>>2]|0)|0;a[A+8>>2]=i;a[A+4>>2]=i;e=e<<27>>31}else{a[A>>2]=e|32;e=-1}return e|0}function F1(A){A=A|0;return(A+-48|0)>>>0<10|0}function V1(A){A=A|0;return((A+-48|0)>>>0<10|(J1(A)|0)!=0)&1|0}function J1(A){A=A|0;return((A|32)+-97|0)>>>0<26|0}function N1(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=r[A>>0]|0;A:do{if(!(i<<24>>24))i=0;else{a=i&255;while(1){f=r[e>>0]|0;if(!(f<<24>>24))break A;if(i<<24>>24!=f<<24>>24?(a=X1(a)|0,(a|0)!=(X1(f&255)|0)):0)break A;A=A+1|0;e=e+1|0;i=r[A>>0]|0;if(!(i<<24>>24)){i=0;break}else a=i&255}}}while(0);a=X1(i&255)|0;return a-(X1(n[e>>0]|0)|0)|0}function X1(A){A=A|0;var e=0;e=(R1(A)|0)==0;return(e?A:A|32)|0}function R1(A){A=A|0;return(A+-65|0)>>>0<26|0}function H1(A){A=A|0;return p1(A,0)|0}function p1(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,c=0,b=0,s=0,w=0;b=(e<<1)+-1|0;s=e+-1|0;A:do{if(!((A+-43008|0)>>>0<22272|((A+-11776|0)>>>0<30784|((A+-1536|0)>>>0<2560|(U1(A)|0)==0)))){i=(e|0)!=0;if(i&(A+-4256|0)>>>0<46){if((A|0)>4293)switch(A|0){case 4295:case 4301:break;default:break A}A=A+7264|0;break}if((A+-11520|0)>>>0<38&(i^1)){A=A+-7264|0;break}else i=0;do{t=r[66346+(i<<2)+2>>0]|0;c=t<<24>>24;a=A-(l[66346+(i<<2)>>1]|0)|0;if((a-(s&c)|0)>>>0<(n[66346+(i<<2)+3>>0]|0)>>>0){w=11;break}i=i+1|0}while((i|0)!=61);if((w|0)==11)if(t<<24>>24==1){A=e+A-(a&1)|0;break}else{A=(U(b,c)|0)+A|0;break}t=1-e|0;i=f[65858+(t<<1)>>1]|0;e:do{if(i<<16>>16){a=0;while(1){if((i&65535|0)==(A|0))break;a=a+1|0;i=f[65858+(a<<2)+(t<<1)>>1]|0;if(!(i<<16>>16))break e}A=l[65858+(a<<2)+(e<<1)>>1]|0;break A}}while(0);return((A+-66600+(e*40|0)|0)>>>0<40?A+-40+(e*80|0)|0:A)|0}}while(0);return A|0}function U1(A){A=A|0;if(A>>>0<131072)A=(n[149857+((n[149857+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=A>>>0<196606&1;return A|0}function x1(A){A=A|0;var e=0;e=A;while(1)if(!(a[e>>2]|0))break;else e=e+4|0;return e-A>>2|0}function T1(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0,l=0;if(!i)A=0;else{f=r[A>>0]|0;A:do{if(!(f<<24>>24))A=0;else{l=A;A=f;f=f&255;while(1){i=i+-1|0;a=r[e>>0]|0;if(!((i|0)!=0&a<<24>>24!=0))break A;if(A<<24>>24!=a<<24>>24?(f=X1(f)|0,(f|0)!=(X1(a&255)|0)):0)break A;l=l+1|0;e=e+1|0;f=r[l>>0]|0;if(!(f<<24>>24)){A=0;break}else{A=f;f=f&255}}}}while(0);A=X1(A&255)|0;A=A-(X1(n[e>>0]|0)|0)|0}return A|0}function j1(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 S1(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0;b=k;k=k+16|0;n=b;t=(f|0)==0?190640:f;f=a[t>>2]|0;A:do{if(!e)if(!f)f=0;else c=17;else{l=(A|0)==0?n:A;if(!i)f=-2;else{if(!f){f=r[e>>0]|0;if(f<<24>>24>-1){a[l>>2]=f&255;f=f<<24>>24!=0&1;break}n=(a[a[(_1()|0)+188>>2]>>2]|0)==0;f=r[e>>0]|0;if(n){a[l>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){c=17;break}f=a[62384+(f<<2)>>2]|0;n=i+-1|0;if(n){e=e+1|0;c=11}}else{n=i;c=11}e:do{if((c|0)==11){A=r[e>>0]|0;s=(A&255)>>>3;if((s+-16|s+(f>>26))>>>0>7){c=17;break A}while(1){e=e+1|0;f=(A&255)+-128|f<<6;n=n+-1|0;if((f|0)>=0)break;if(!n)break e;A=r[e>>0]|0;if((A&-64)<<24>>24!=-128){c=17;break A}}a[t>>2]=0;a[l>>2]=f;f=i-n|0;break A}}while(0);a[t>>2]=f;f=-2}}}while(0);if((c|0)==17){a[t>>2]=0;a[(X2()|0)>>2]=84;f=-1}k=b;return f|0}function P1(A,e){A=A|0;e=e|0;if(!A)A=0;else A=O1(A,e,0)|0;return A|0}function O1(A,e,i){A=A|0;e=e|0;i=i|0;do{if(A){if(e>>>0<128){r[A>>0]=e;A=1;break}if(!(a[a[(K1()|0)+188>>2]>>2]|0))if((e&-128|0)==57216){r[A>>0]=e;A=1;break}else{a[(X2()|0)>>2]=84;A=-1;break}if(e>>>0<2048){r[A>>0]=e>>>6|192;r[A+1>>0]=e&63|128;A=2;break}if(e>>>0<55296|(e&-8192|0)==57344){r[A>>0]=e>>>12|224;r[A+1>>0]=e>>>6&63|128;r[A+2>>0]=e&63|128;A=3;break}if((e+-65536|0)>>>0<1048576){r[A>>0]=e>>>18|240;r[A+1>>0]=e>>>12&63|128;r[A+2>>0]=e>>>6&63|128;r[A+3>>0]=e&63|128;A=4;break}else{a[(X2()|0)>>2]=84;A=-1;break}}else A=1}while(0);return A|0}function K1(){return r1()|0}function _1(){return r1()|0}function q1(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0;o=k;k=k+272|0;w=o+8|0;u=o;do{if(!(r[e>>0]|0)){e=PA(152833)|0;if(e|0?r[e>>0]|0:0)break;e=PA(152840+(A*12|0)|0)|0;if(e|0?r[e>>0]|0:0)break;e=PA(152912)|0;if(e|0?r[e>>0]|0:0)break;e=152917}}while(0);i=0;A:do{switch(r[e+i>>0]|0){case 47:case 0:break A;default:{}}i=i+1|0}while(i>>>0<15);f=r[e>>0]|0;if(f<<24>>24!=46?(r[e+i>>0]|0)==0:0)if(f<<24>>24==67)s=15;else{b=e;s=16}else{e=152917;s=15}if((s|0)==15)if(!(r[e+1>>0]|0))s=18;else{b=e;s=16}A:do{if((s|0)==16)if((A1(b,152917)|0)!=0?(A1(b,152925)|0)!=0:0){e=a[47661]|0;if(e|0)do{if(!(A1(b,e+8|0)|0))break A;e=a[e+24>>2]|0}while((e|0)!=0);CA(190648);e=a[47661]|0;e:do{if(e|0){while(1){if(!(A1(b,e+8|0)|0))break;e=a[e+24>>2]|0;if(!e)break e}RA(190648);break A}}while(0);e:do{if(((a[47646]|0)==0?(n=PA(152931)|0,(n|0)!=0):0)?(r[n>>0]|0)!=0:0){t=254-i|0;c=i+1|0;f=n;while(1){l=j2(f,58)|0;e=r[l>>0]|0;n=l-f+((e<<24>>24!=0)<<31>>31)|0;if(n>>>0>>0){y6(w|0,f|0,n|0)|0;f=w+n|0;r[f>>0]=47;y6(f+1|0,b|0,i|0)|0;r[w+(c+n)>>0]=0;f=IA(w|0,u|0)|0;if(f|0)break;e=r[l>>0]|0}f=l+(e<<24>>24!=0&1)|0;if(!(r[f>>0]|0)){s=41;break e}}e=m2(28)|0;if(!e){U2(f,a[u>>2]|0)|0;s=41;break}else{a[e>>2]=f;a[e+4>>2]=a[u>>2];u=e+8|0;y6(u|0,b|0,i|0)|0;r[u+i>>0]=0;a[e+24>>2]=a[47661];a[47661]=e;break}}else s=41}while(0);if((s|0)==41){e=m2(28)|0;if(e){a[e>>2]=a[15584];a[e+4>>2]=a[15585];u=e+8|0;y6(u|0,b|0,i|0)|0;r[u+i>>0]=0;a[e+24>>2]=a[47661];a[47661]=e}}RA(190648);e=(A|0)==0&(e|0)==0?62336:e}else{e=b;s=18}}while(0);do{if((s|0)==18){if((A|0)==0?(r[e+1>>0]|0)==46:0){e=62336;break}e=0}}while(0);k=o;return e|0}function $1(A,e){A=A|0;e=e|0;A4(A,e)|0;return A|0}function A4(A,e){A=A|0;e=e|0;var i=0,f=0;i=e;A:do{if(!((i^A)&3)){if(i&3)do{i=r[e>>0]|0;r[A>>0]=i;if(!(i<<24>>24))break A;e=e+1|0;A=A+1|0}while((e&3|0)!=0);i=a[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){f=A;while(1){e=e+4|0;A=f+4|0;a[f>>2]=i;i=a[e>>2]|0;if((i&-2139062144^-2139062144)&i+-16843009|0)break;else f=A}}f=8}else f=8}while(0);if((f|0)==8){f=r[e>>0]|0;r[A>>0]=f;if(f<<24>>24)do{e=e+1|0;A=A+1|0;f=r[e>>0]|0;r[A>>0]=f}while(f<<24>>24!=0)}return A|0}function e4(A){A=A|0;return((A|0)==32|(A|0)==9)&1|0}function i4(A){A=A|0;if(!A)A=0;else A=(r4(63500,A)|0)!=0&1;return A|0}function r4(A,e){A=A|0;e=e|0;var i=0;if(!e)A=A+((x1(A)|0)<<2)|0;else{while(1){i=a[A>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else A=A+4|0}A=i|0?A:0}return A|0}function f4(A,e){A=A|0;e=e|0;do{switch(e|0){case 1:{A=a4(A)|0;break}case 2:{A=U1(A)|0;break}case 3:{A=n4(A)|0;break}case 4:{A=l4(A)|0;break}case 5:{A=F1(A)|0;break}case 6:{A=t4(A)|0;break}case 7:{A=c4(A)|0;break}case 8:{A=j1(A)|0;break}case 9:{A=I1(A)|0;break}case 10:{A=i4(A)|0;break}case 11:{A=b4(A)|0;break}case 12:{A=s4(A)|0;break}default:A=0}}while(0);return A|0}function a4(A){A=A|0;if(!(F1(A)|0))A=(U1(A)|0)!=0&1;else A=1;return A|0}function n4(A){A=A|0;return e4(A)|0}function l4(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 t4(A){A=A|0;if(!(i4(A)|0))A=(j1(A)|0)!=0&1;else A=0;return A|0}function c4(A){A=A|0;return(H1(A)|0)!=(A|0)|0}function b4(A){A=A|0;return(w4(A)|0)!=(A|0)|0}function s4(A){A=A|0;return((A+-48|0)>>>0<10|((A|32)+-97|0)>>>0<6)&1|0}function w4(A){A=A|0;return p1(A,1)|0}function u4(A){A=A|0;return(A+-97|0)>>>0<26|0}function k4(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+128|0;n=w+124|0;s=w;l=s;t=63588;c=l+124|0;do{a[l>>2]=a[t>>2];l=l+4|0;t=t+4|0}while((l|0)<(c|0));if((e+-1|0)>>>0>2147483646)if(!e){A=n;e=1;b=4}else{a[(X2()|0)>>2]=75;e=-1}else b=4;if((b|0)==4){b=-2-A|0;b=e>>>0>b>>>0?b:e;a[s+48>>2]=b;n=s+20|0;a[n>>2]=A;a[s+44>>2]=A;e=A+b|0;A=s+16|0;a[A>>2]=e;a[s+28>>2]=e;e=o4(s,i,f)|0;if(b){s=a[n>>2]|0;r[s+(((s|0)==(a[A>>2]|0))<<31>>31)>>0]=0}}k=w;return e|0}function o4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+224|0;w=B+120|0;o=B+80|0;h=B;d=B+136|0;f=o;n=f+40|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));a[w>>2]=a[i>>2];if((h4(0,e,w,h,o)|0)<0)i=-1;else{if((a[A+76>>2]|0)>-1)u=d4(A)|0;else u=0;i=a[A>>2]|0;s=i&32;if((r[A+74>>0]|0)<1)a[A>>2]=i&-33;f=A+48|0;if(!(a[f>>2]|0)){n=A+44|0;l=a[n>>2]|0;a[n>>2]=d;t=A+28|0;a[t>>2]=d;c=A+20|0;a[c>>2]=d;a[f>>2]=80;b=A+16|0;a[b>>2]=d+80;i=h4(A,e,w,h,o)|0;if(l){W5[a[A+36>>2]&63](A,0,0)|0;i=(a[c>>2]|0)==0?-1:i;a[n>>2]=l;a[f>>2]=0;a[b>>2]=0;a[t>>2]=0;a[c>>2]=0}}else i=h4(A,e,w,h,o)|0;f=a[A>>2]|0;a[A>>2]=f|s;if(u|0)B4(A);i=(f&32|0)==0?i:-1}k=B;return i|0}function h4(A,e,i,n,l){A=A|0;e=e|0;i=i|0;n=n|0;l=l|0;var t=0,c=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+64|0;W=D+16|0;y=D;Q=D+24|0;z=D+8|0;Y=D+20|0;a[W>>2]=e;I=(A|0)!=0;Z=Q+40|0;G=Z;Q=Q+39|0;m=z+4|0;c=0;t=0;o=0;A:while(1){do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){a[(X2()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);c=r[e>>0]|0;if(!(c<<24>>24)){C=86;break}else s=e;e:while(1){switch(c<<24>>24){case 37:{c=s;C=9;break e}case 0:{c=s;break e}default:{}}E=s+1|0;a[W>>2]=E;c=r[E>>0]|0;s=E}e:do{if((C|0)==9)while(1){C=0;if((r[s+1>>0]|0)!=37)break e;c=c+1|0;s=s+2|0;a[W>>2]=s;if((r[s>>0]|0)==37)C=9;else break}}while(0);c=c-e|0;if(I)v4(A,e,c);if(c|0){e=s;continue}w=s+1|0;c=(r[w>>0]|0)+-48|0;if(c>>>0<10){E=(r[s+2>>0]|0)==36;v=E?c:-1;o=E?1:o;w=E?s+3|0:w}else v=-1;a[W>>2]=w;c=r[w>>0]|0;E=(c<<24>>24)+-32|0;if(E>>>0>31|(1<>24)+-32|s;w=w+1|0;a[W>>2]=w;c=r[w>>0]|0;E=(c<<24>>24)+-32|0}while(!(E>>>0>31|(1<>24==42){u=w+1|0;c=(r[u>>0]|0)+-48|0;if(c>>>0<10?(r[w+2>>0]|0)==36:0){a[l+(c<<2)>>2]=10;c=a[n+((r[u>>0]|0)+-48<<3)>>2]|0;o=1;w=w+3|0}else{if(o|0){t=-1;break}if(I){o=(a[i>>2]|0)+(4-1)&~(4-1);c=a[o>>2]|0;a[i>>2]=o+4;o=0;w=u}else{c=0;o=0;w=u}}a[W>>2]=w;g=(c|0)<0;c=g?0-c|0:c;g=g?s|8192:s}else{c=g4(W)|0;if((c|0)<0){t=-1;break}g=s;w=a[W>>2]|0}do{if((r[w>>0]|0)==46){if((r[w+1>>0]|0)!=42){a[W>>2]=w+1;s=g4(W)|0;w=a[W>>2]|0;break}u=w+2|0;s=(r[u>>0]|0)+-48|0;if(s>>>0<10?(r[w+3>>0]|0)==36:0){a[l+(s<<2)>>2]=10;s=a[n+((r[u>>0]|0)+-48<<3)>>2]|0;w=w+4|0;a[W>>2]=w;break}if(o|0){t=-1;break A}if(I){E=(a[i>>2]|0)+(4-1)&~(4-1);s=a[E>>2]|0;a[i>>2]=E+4}else s=0;a[W>>2]=u;w=u}else s=-1}while(0);B=0;while(1){if(((r[w>>0]|0)+-65|0)>>>0>57){t=-1;break A}E=w+1|0;a[W>>2]=E;u=r[(r[w>>0]|0)+-65+(152944+(B*58|0))>>0]|0;h=u&255;if((h+-1|0)>>>0<8){B=h;w=E}else break}if(!(u<<24>>24)){t=-1;break}d=(v|0)>-1;do{if(u<<24>>24==19)if(d){t=-1;break A}else C=48;else{if(d){a[l+(v<<2)>>2]=h;d=n+(v<<3)|0;v=a[d+4>>2]|0;C=y;a[C>>2]=a[d>>2];a[C+4>>2]=v;C=48;break}if(!I){t=0;break A}E4(y,h,i)}}while(0);if((C|0)==48?(C=0,!I):0){c=0;e=E;continue}w=r[w>>0]|0;w=(B|0)!=0&(w&15|0)==3?w&-33:w;v=g&-65537;g=(g&8192|0)==0?g:v;e:do{switch(w|0){case 110:switch((B&255)<<24>>24){case 0:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 1:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 2:{c=a[y>>2]|0;a[c>>2]=t;a[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=E;continue A}case 3:{f[a[y>>2]>>1]=t;c=0;e=E;continue A}case 4:{r[a[y>>2]>>0]=t;c=0;e=E;continue A}case 6:{a[a[y>>2]>>2]=t;c=0;e=E;continue A}case 7:{c=a[y>>2]|0;a[c>>2]=t;a[c+4>>2]=((t|0)<0)<<31>>31;c=0;e=E;continue A}default:{c=0;e=E;continue A}}case 112:{w=120;s=s>>>0>8?s:8;e=g|8;C=60;break}case 88:case 120:{e=g;C=60;break}case 111:{w=y;e=a[w>>2]|0;w=a[w+4>>2]|0;d=I4(e,w,Z)|0;B=G-d|0;u=0;h=153408;s=(g&8|0)==0|(s|0)>(B|0)?s:B+1|0;B=g;C=66;break}case 105:case 100:{w=y;e=a[w>>2]|0;w=a[w+4>>2]|0;if((w|0)<0){e=B6(0,0,e|0,w|0)|0;w=L;u=y;a[u>>2]=e;a[u+4>>2]=w;u=1;h=153408;C=65;break e}else{u=(g&2049|0)!=0&1;h=(g&2048|0)==0?(g&1|0)==0?153408:153410:153409;C=65;break e}}case 117:{w=y;u=0;h=153408;e=a[w>>2]|0;w=a[w+4>>2]|0;C=65;break}case 99:{r[Q>>0]=a[y>>2];e=Q;u=0;h=153408;d=Z;w=1;s=v;break}case 109:{w=e1(a[(X2()|0)>>2]|0)|0;C=70;break}case 115:{w=a[y>>2]|0;w=w|0?w:153418;C=70;break}case 67:{a[z>>2]=a[y>>2];a[m>>2]=0;a[y>>2]=z;d=-1;w=z;C=74;break}case 83:{e=a[y>>2]|0;if(!s){G4(A,32,c,0,g);e=0;C=83}else{d=s;w=e;C=74}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=Q4(A,+b[y>>3],c,s,g,w)|0;e=E;continue A}default:{u=0;h=153408;d=Z;w=s;s=g}}}while(0);e:do{if((C|0)==60){g=y;v=a[g>>2]|0;g=a[g+4>>2]|0;d=C4(v,g,Z,w&32)|0;h=(e&8|0)==0|(v|0)==0&(g|0)==0;u=h?0:2;h=h?153408:153408+(w>>4)|0;B=e;e=v;w=g;C=66}else if((C|0)==65){d=Z4(e,w,Z)|0;B=g;C=66}else if((C|0)==70){C=0;g=L1(w,0,s)|0;B=(g|0)==0;e=w;u=0;h=153408;d=B?w+s|0:g;w=B?s:g-w|0;s=v}else if((C|0)==74){C=0;h=w;e=0;s=0;while(1){u=a[h>>2]|0;if(!u)break;s=P1(Y,u)|0;if((s|0)<0|s>>>0>(d-e|0)>>>0)break;e=s+e|0;if(d>>>0>e>>>0)h=h+4|0;else break}if((s|0)<0){t=-1;break A}G4(A,32,c,e,g);if(!e){e=0;C=83}else{u=0;while(1){s=a[w>>2]|0;if(!s){C=83;break e}s=P1(Y,s)|0;u=s+u|0;if((u|0)>(e|0)){C=83;break e}v4(A,Y,s);if(u>>>0>=e>>>0){C=83;break}else w=w+4|0}}}}while(0);if((C|0)==66){C=0;w=(e|0)!=0|(w|0)!=0;g=(s|0)!=0|w;w=G-d+((w^1)&1)|0;e=g?d:Z;d=Z;w=g?(s|0)>(w|0)?s:w:s;s=(s|0)>-1?B&-65537:B}else if((C|0)==83){C=0;G4(A,32,c,e,g^8192);c=(c|0)>(e|0)?c:e;e=E;continue}v=d-e|0;B=(w|0)<(v|0)?v:w;g=B+u|0;c=(c|0)<(g|0)?g:c;G4(A,32,c,g,s);v4(A,h,u);G4(A,48,c,g,s^65536);G4(A,48,B,v,0);v4(A,e,v);G4(A,32,c,g,s^8192);e=E}A:do{if((C|0)==86)if(!A)if(o){t=1;while(1){e=a[l+(t<<2)>>2]|0;if(!e)break;E4(n+(t<<3)|0,e,i);e=t+1|0;if((t|0)<9)t=e;else{t=e;break}}if((t|0)<10)while(1){if(a[l+(t<<2)>>2]|0){t=-1;break A}if((t|0)<9)t=t+1|0;else{t=1;break}}else t=1}else t=0}while(0);k=D;return t|0}function d4(A){A=A|0;return 0}function B4(A){A=A|0;return}function v4(A,e,i){A=A|0;e=e|0;i=i|0;if(!(a[A>>2]&32))L4(e,i,A)|0;return}function g4(A){A=A|0;var e=0,i=0,f=0;i=a[A>>2]|0;f=(r[i>>0]|0)+-48|0;if(f>>>0<10){e=0;do{e=f+(e*10|0)|0;i=i+1|0;a[A>>2]=i;f=(r[i>>0]|0)+-48|0}while(f>>>0<10)}else e=0;return e|0}function E4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0.0;A:do{if(e>>>0<=20)do{switch(e|0){case 9:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;a[A>>2]=e;break A}case 10:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;r=A;a[r>>2]=e;a[r+4>>2]=((e|0)<0)<<31>>31;break A}case 11:{r=(a[i>>2]|0)+(4-1)&~(4-1);e=a[r>>2]|0;a[i>>2]=r+4;r=A;a[r>>2]=e;a[r+4>>2]=0;break A}case 12:{r=(a[i>>2]|0)+(8-1)&~(8-1);e=r;f=a[e>>2]|0;e=a[e+4>>2]|0;a[i>>2]=r+8;r=A;a[r>>2]=f;a[r+4>>2]=e;break A}case 13:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;r=(r&65535)<<16>>16;f=A;a[f>>2]=r;a[f+4>>2]=((r|0)<0)<<31>>31;break A}case 14:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;f=A;a[f>>2]=r&65535;a[f+4>>2]=0;break A}case 15:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;r=(r&255)<<24>>24;f=A;a[f>>2]=r;a[f+4>>2]=((r|0)<0)<<31>>31;break A}case 16:{f=(a[i>>2]|0)+(4-1)&~(4-1);r=a[f>>2]|0;a[i>>2]=f+4;f=A;a[f>>2]=r&255;a[f+4>>2]=0;break A}case 17:{f=(a[i>>2]|0)+(8-1)&~(8-1);n=+b[f>>3];a[i>>2]=f+8;b[A>>3]=n;break A}case 18:{f=(a[i>>2]|0)+(8-1)&~(8-1);n=+b[f>>3];a[i>>2]=f+8;b[A>>3]=n;break A}default:break A}}while(0)}while(0);return}function C4(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=n[153456+(A&15)>>0]|0|f;A=Z6(A|0,e|0,4)|0;e=L}while(!((A|0)==0&(e|0)==0));return i|0}function I4(A,e,i){A=A|0;e=e|0;i=i|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=A&7|48;A=Z6(A|0,e|0,3)|0;e=L}while(!((A|0)==0&(e|0)==0));return i|0}function Z4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(e>>>0>0|(e|0)==0&A>>>0>4294967295){while(1){f=C6(A|0,e|0,10,0)|0;i=i+-1|0;r[i>>0]=f&255|48;f=A;A=E6(A|0,e|0,10,0)|0;if(!(e>>>0>9|(e|0)==9&f>>>0>4294967295))break;else e=L}e=A}else e=A;if(e)while(1){i=i+-1|0;r[i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return i|0}function G4(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0;n=k;k=k+256|0;a=n;if((i|0)>(r|0)&(f&73728|0)==0){f=i-r|0;Y6(a|0,e|0,(f>>>0<256?f:256)|0)|0;if(f>>>0>255){e=i-r|0;do{v4(A,a,256);f=f+-256|0}while(f>>>0>255);f=e&255}v4(A,a,f)}k=n;return}function Q4(A,e,i,f,l,t){A=A|0;e=+e;i=i|0;f=f|0;l=l|0;t=t|0;var c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0;D=k;k=k+560|0;s=D+8|0;g=D;Y=D+524|0;z=Y;w=D+512|0;a[g>>2]=0;y=w+12|0;m4(e)|0;if((L|0)<0){e=-e;m=1;Q=153425}else{m=(l&2049|0)!=0&1;Q=(l&2048|0)==0?(l&1|0)==0?153426:153431:153428}m4(e)|0;do{if(0==0&(L&2146435072|0)==2146435072){Y=(t&32|0)!=0;c=m+3|0;G4(A,32,i,c,l&-65537);v4(A,Q,m);v4(A,e!=e|0.0!=0.0?Y?153593:153452:Y?153444:153448,3);G4(A,32,i,c,l^8192)}else{d=+C1(e,g)*2.0;c=d!=0.0;if(c)a[g>>2]=(a[g>>2]|0)+-1;C=t|32;if((C|0)==97){o=t&32;B=(o|0)==0?Q:Q+9|0;h=m|2;c=12-f|0;do{if(!(f>>>0>11|(c|0)==0)){e=8.0;do{c=c+-1|0;e=e*16.0}while((c|0)!=0);if((r[B>>0]|0)==45){e=-(e+(-d-e));break}else{e=d+e-e;break}}else e=d}while(0);b=a[g>>2]|0;c=(b|0)<0?0-b|0:b;c=Z4(c,((c|0)<0)<<31>>31,y)|0;if((c|0)==(y|0)){c=w+11|0;r[c>>0]=48}r[c+-1>>0]=(b>>31&2)+43;u=c+-2|0;r[u>>0]=t+15;s=(f|0)<1;w=(l&8|0)==0;c=Y;do{W=~~e;b=c+1|0;r[c>>0]=o|n[153456+W>>0];e=(e-+(W|0))*16.0;if((b-z|0)==1?!(w&(s&e==0.0)):0){r[b>>0]=46;c=c+2|0}else c=b}while(e!=0.0);if((f|0)!=0?(-2-z+c|0)<(f|0):0){b=c-z|0;c=f+2|0}else{c=c-z|0;b=c}y=y-u|0;z=y+h+c|0;G4(A,32,i,z,l);v4(A,B,h);G4(A,48,i,z,l^65536);v4(A,Y,b);G4(A,48,c-b|0,0,0);v4(A,u,y);G4(A,32,i,z,l^8192);c=z;break}b=(f|0)<0?6:f;if(c){c=(a[g>>2]|0)+-28|0;a[g>>2]=c;e=d*268435456.0}else{e=d;c=a[g>>2]|0}W=(c|0)<0?s:s+288|0;s=W;do{Z=~~e>>>0;a[s>>2]=Z;s=s+4|0;e=(e-+(Z>>>0))*1.0e9}while(e!=0.0);if((c|0)>0){w=W;o=s;while(1){u=(c|0)<29?c:29;c=o+-4|0;if(c>>>0>=w>>>0){s=0;do{I=G6(a[c>>2]|0,0,u|0)|0;I=d6(I|0,L|0,s|0,0)|0;Z=L;E=C6(I|0,Z|0,1e9,0)|0;a[c>>2]=E;s=E6(I|0,Z|0,1e9,0)|0;c=c+-4|0}while(c>>>0>=w>>>0);if(s){w=w+-4|0;a[w>>2]=s}}s=o;while(1){if(s>>>0<=w>>>0)break;c=s+-4|0;if(!(a[c>>2]|0))s=c;else break}c=(a[g>>2]|0)-u|0;a[g>>2]=c;if((c|0)>0)o=s;else break}}else w=W;if((c|0)<0){f=((b+25|0)/9|0)+1|0;v=(C|0)==102;do{B=0-c|0;B=(B|0)<9?B:9;if(w>>>0>>0){u=(1<>>B;h=0;c=w;do{Z=a[c>>2]|0;a[c>>2]=(Z>>>B)+h;h=U(Z&u,o)|0;c=c+4|0}while(c>>>0>>0);c=(a[w>>2]|0)==0?w+4|0:w;if(!h){w=c;c=s}else{a[s>>2]=h;w=c;c=s+4|0}}else{w=(a[w>>2]|0)==0?w+4|0:w;c=s}s=v?W:w;s=(c-s>>2|0)>(f|0)?s+(f<<2)|0:c;c=(a[g>>2]|0)+B|0;a[g>>2]=c}while((c|0)<0);c=w;f=s}else{c=w;f=s}Z=W;if(c>>>0>>0){s=(Z-c>>2)*9|0;u=a[c>>2]|0;if(u>>>0>=10){w=10;do{w=w*10|0;s=s+1|0}while(u>>>0>=w>>>0)}}else s=0;v=(C|0)==103;E=(b|0)!=0;w=b-((C|0)!=102?s:0)+((E&v)<<31>>31)|0;if((w|0)<(((f-Z>>2)*9|0)+-9|0)){w=w+9216|0;B=W+4+(((w|0)/9|0)+-1024<<2)|0;w=(w|0)%9|0;if((w|0)<8){u=10;while(1){u=u*10|0;if((w|0)<7)w=w+1|0;else break}}else u=10;o=a[B>>2]|0;h=(o>>>0)%(u>>>0)|0;w=(B+4|0)==(f|0);if(!(w&(h|0)==0)){d=(((o>>>0)/(u>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;I=(u|0)/2|0;e=h>>>0>>0?.5:w&(h|0)==(I|0)?1.0:1.5;if(m){I=(r[Q>>0]|0)==45;e=I?-e:e;d=I?-d:d}w=o-h|0;a[B>>2]=w;if(d+e!=d){I=w+u|0;a[B>>2]=I;if(I>>>0>999999999){s=B;while(1){w=s+-4|0;a[s>>2]=0;if(w>>>0>>0){c=c+-4|0;a[c>>2]=0}I=(a[w>>2]|0)+1|0;a[w>>2]=I;if(I>>>0>999999999)s=w;else break}}else w=B;s=(Z-c>>2)*9|0;o=a[c>>2]|0;if(o>>>0>=10){u=10;do{u=u*10|0;s=s+1|0}while(o>>>0>=u>>>0)}}else w=B}else w=B;w=w+4|0;w=f>>>0>w>>>0?w:f;I=c}else{w=f;I=c}C=w;while(1){if(C>>>0<=I>>>0){g=0;break}c=C+-4|0;if(!(a[c>>2]|0))C=c;else{g=1;break}}f=0-s|0;do{if(v){c=b+((E^1)&1)|0;if((c|0)>(s|0)&(s|0)>-5){u=t+-1|0;b=c+-1-s|0}else{u=t+-2|0;b=c+-1|0}c=l&8;if(!c){if(g?(G=a[C+-4>>2]|0,(G|0)!=0):0)if(!((G>>>0)%10|0)){w=0;c=10;do{c=c*10|0;w=w+1|0}while(!((G>>>0)%(c>>>0)|0|0))}else w=0;else w=9;c=((C-Z>>2)*9|0)+-9|0;if((u|32|0)==102){B=c-w|0;B=(B|0)>0?B:0;b=(b|0)<(B|0)?b:B;B=0;break}else{B=c+s-w|0;B=(B|0)>0?B:0;b=(b|0)<(B|0)?b:B;B=0;break}}else B=c}else{u=t;B=l&8}}while(0);v=b|B;o=(v|0)!=0&1;h=(u|32|0)==102;if(h){E=0;c=(s|0)>0?s:0}else{c=(s|0)<0?f:s;c=Z4(c,((c|0)<0)<<31>>31,y)|0;w=y;if((w-c|0)<2)do{c=c+-1|0;r[c>>0]=48}while((w-c|0)<2);r[c+-1>>0]=(s>>31&2)+43;c=c+-2|0;r[c>>0]=u;E=c;c=w-c|0}c=m+1+b+o+c|0;G4(A,32,i,c,l);v4(A,Q,m);G4(A,48,i,c,l^65536);if(h){u=I>>>0>W>>>0?W:I;B=Y+9|0;o=B;h=Y+8|0;w=u;do{s=Z4(a[w>>2]|0,0,B)|0;if((w|0)==(u|0)){if((s|0)==(B|0)){r[h>>0]=48;s=h}}else if(s>>>0>Y>>>0){Y6(Y|0,48,s-z|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}v4(A,s,o-s|0);w=w+4|0}while(w>>>0<=W>>>0);if(v|0)v4(A,153472,1);if(w>>>0>>0&(b|0)>0)while(1){s=Z4(a[w>>2]|0,0,B)|0;if(s>>>0>Y>>>0){Y6(Y|0,48,s-z|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}v4(A,s,(b|0)<9?b:9);w=w+4|0;s=b+-9|0;if(!(w>>>0>>0&(b|0)>9)){b=s;break}else b=s}G4(A,48,b+9|0,9,0)}else{v=g?C:I+4|0;if((b|0)>-1){g=Y+9|0;B=(B|0)==0;f=g;o=0-z|0;h=Y+8|0;u=I;do{s=Z4(a[u>>2]|0,0,g)|0;if((s|0)==(g|0)){r[h>>0]=48;s=h}do{if((u|0)==(I|0)){w=s+1|0;v4(A,s,1);if(B&(b|0)<1){s=w;break}v4(A,153472,1);s=w}else{if(s>>>0<=Y>>>0)break;Y6(Y|0,48,s+o|0)|0;do{s=s+-1|0}while(s>>>0>Y>>>0)}}while(0);z=f-s|0;v4(A,s,(b|0)>(z|0)?z:b);b=b-z|0;u=u+4|0}while(u>>>0>>0&(b|0)>-1)}G4(A,48,b+18|0,18,0);v4(A,E,y-E|0)}G4(A,32,i,c,l^8192)}}while(0);k=D;return((c|0)<(i|0)?i:c)|0}function m4(A){A=+A;var e=0;b[w>>3]=A;e=a[w>>2]|0;L=a[w+4>>2]|0;return e|0}function L4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0,c=0;f=i+16|0;n=a[f>>2]|0;if(!n)if(!(W4(i)|0)){n=a[f>>2]|0;l=5}else f=0;else l=5;A:do{if((l|0)==5){c=i+20|0;t=a[c>>2]|0;f=t;if((n-t|0)>>>0>>0){f=W5[a[i+36>>2]&63](i,A,e)|0;break}e:do{if((r[i+75>>0]|0)>-1){t=e;while(1){if(!t){l=0;n=A;break e}n=t+-1|0;if((r[A+n>>0]|0)==10)break;else t=n}f=W5[a[i+36>>2]&63](i,A,t)|0;if(f>>>0>>0)break A;l=t;n=A+t|0;e=e-t|0;f=a[c>>2]|0}else{l=0;n=A}}while(0);y6(f|0,n|0,e|0)|0;a[c>>2]=(a[c>>2]|0)+e;f=l+e|0}}while(0);return f|0}function W4(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=a[A>>2]|0;if(!(e&8)){a[A+8>>2]=0;a[A+4>>2]=0;i=a[A+44>>2]|0;a[A+28>>2]=i;a[A+20>>2]=i;a[A+16>>2]=i+(a[A+48>>2]|0);A=0}else{a[A>>2]=e|32;A=-1}return A|0}function y4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=A+20|0;f=a[r>>2]|0;A=(a[A+16>>2]|0)-f|0;A=A>>>0>i>>>0?i:A;y6(f|0,e|0,A|0)|0;a[r>>2]=(a[r>>2]|0)+A;return i|0}function z4(A){A=A|0;var e=0,i=0,f=0,a=0;f=r[A>>0]|0;e=1;i=153474;a=97;while(1){if(f<<24>>24==a<<24>>24?(A1(A,i)|0)==0:0)break;i=i+6|0;a=r[i>>0]|0;if(!(a<<24>>24)){e=0;break}else e=e+1|0}return e|0}function Y4(A){A=A|0;var e=0;e=(u4(A)|0)==0;return(e?A:A&95)|0}function D4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;l=k;k=k+16|0;n=l;do{if(A>>>0>6)e=0;else{CA(190656);if((A|0)!=6){e=M4(A,e)|0;RA(190656);break}if(!e){e=197132;A=0}else{A=n;i=153547;f=A+16|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));f=0;do{A=j2(e,59)|0;i=A-e|0;if((i|0)<16){y6(n|0,e|0,i|0)|0;r[n+i>>0]=0;e=(r[A>>0]|0)==0?e:A+1|0}M4(f,n)|0;f=f+1|0}while((f|0)!=6);e=197132;A=0}while(1){f=a[190616+(A<<2)>>2]|0;f=f|0?f+8|0:153563;i=S2(f)|0;y6(e|0,f|0,i|0)|0;f=e+i|0;r[f>>0]=59;A=A+1|0;if((A|0)==6)break;else e=e+(i+1)|0}r[f>>0]=0;RA(190656);e=197132}}while(0);k=l;return e|0}function M4(A,e){A=A|0;e=e|0;if(!e)A=a[190616+(A<<2)>>2]|0;else{e=q1(A,e)|0;a[190616+(A<<2)>>2]=e;A=e}return(A|0?A+8|0:153563)|0}function F4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,a=0;A:do{if(!i)A=0;else{while(1){f=r[A>>0]|0;a=r[e>>0]|0;if(f<<24>>24!=a<<24>>24)break;i=i+-1|0;if(!i){A=0;break A}else{A=A+1|0;e=e+1|0}}A=(f&255)-(a&255)|0}}while(0);return A|0}function V4(A){A=A|0;return J4(A)|0}function J4(A){A=A|0;return Q6(A|0)|0}function N4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;if((a[i+76>>2]|0)>-1)w=d4(i)|0;else w=0;f=e+-1|0;if((e|0)<2){u=i+74|0;s=r[u>>0]|0;r[u>>0]=s+255|s;if(w|0)B4(i);if(!f)r[A>>0]=0;else A=0}else{A:do{if(f){b=i+4|0;s=i+8|0;e=A;while(1){l=a[b>>2]|0;k=l;o=(a[s>>2]|0)-k|0;t=L1(l,10,o)|0;c=(t|0)==0;t=c?o:1-k+t|0;t=t>>>0>>0?t:f;y6(e|0,l|0,t|0)|0;l=(a[b>>2]|0)+t|0;a[b>>2]=l;e=e+t|0;t=f-t|0;if(!(c&(t|0)!=0)){u=17;break A}if(l>>>0>=(a[s>>2]|0)>>>0){f=D1(i)|0;if((f|0)<0)break;else c=f}else{a[b>>2]=l+1;c=n[l>>0]|0}f=t+-1|0;l=e+1|0;r[e>>0]=c;if(!((f|0)!=0&(c&255|0)!=10)){e=l;u=17;break A}else e=l}if((e|0)!=(A|0)?(a[i>>2]&16|0)!=0:0)u=17;else A=0}else{e=A;u=17}}while(0);if((u|0)==17)if(!A)A=0;else r[e>>0]=0;if(w)B4(i)}return A|0}function X4(A,e){A=A|0;e=e|0;var i=0;i=r[e>>0]|0;do{if(i<<24>>24){A=G1(A,i<<24>>24)|0;if(A){if(r[e+1>>0]|0)if(r[A+1>>0]|0){if(!(r[e+2>>0]|0)){A=R4(A,e)|0;break}if(r[A+2>>0]|0){if(!(r[e+3>>0]|0)){A=H4(A,e)|0;break}if(r[A+3>>0]|0)if(!(r[e+4>>0]|0)){A=p4(A,e)|0;break}else{A=U4(A,e)|0;break}else A=0}else A=0}else A=0}else A=0}}while(0);return A|0}function R4(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;a=(n[e>>0]|0)<<8|(n[e+1>>0]|0);f=n[A>>0]|0;while(1){e=A+1|0;i=r[e>>0]|0;if(!(i<<24>>24))break;f=f<<8&65280|i&255;if((f|0)==(a|0))break;else A=e}return(i<<24>>24?A:0)|0}function H4(A,e){A=A|0;e=e|0;var i=0,f=0;f=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8;i=A+2|0;e=r[i>>0]|0;A=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(e&255)<<8;if(!((A|0)==(f|0)|e<<24>>24==0))do{i=i+1|0;e=r[i>>0]|0;A=(A|e&255)<<8}while(!((A|0)==(f|0)|e<<24>>24==0));return(e<<24>>24?i+-2|0:0)|0}function p4(A,e){A=A|0;e=e|0;var i=0,f=0;f=(n[e+1>>0]|0)<<16|(n[e>>0]|0)<<24|(n[e+2>>0]|0)<<8|(n[e+3>>0]|0);e=A+3|0;i=r[e>>0]|0;A=(n[A+1>>0]|0)<<16|(n[A>>0]|0)<<24|(n[A+2>>0]|0)<<8|i&255;if(!(i<<24>>24==0|(A|0)==(f|0)))do{e=e+1|0;i=r[e>>0]|0;A=A<<8|i&255}while(!(i<<24>>24==0|(A|0)==(f|0)));return(i<<24>>24?e+-3|0:0)|0}function U4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0;E=k;k=k+1056|0;v=E+1024|0;g=E;a[v>>2]=0;a[v+4>>2]=0;a[v+8>>2]=0;a[v+12>>2]=0;a[v+16>>2]=0;a[v+20>>2]=0;a[v+24>>2]=0;a[v+28>>2]=0;i=r[e>>0]|0;A:do{if(i<<24>>24){B=0;do{if(!(r[A+B>>0]|0)){i=0;break A}d=v+(((i&255)>>>5&255)<<2)|0;a[d>>2]=a[d>>2]|1<<(i&31);B=B+1|0;a[g+((i&255)<<2)>>2]=B;i=r[e+B>>0]|0}while(i<<24>>24!=0);s=B>>>0>1;if(s){f=0;b=-1;n=1;e:while(1){l=1;i=f;while(1){f=n;i:while(1){c=1;while(1){n=r[e+(c+b)>>0]|0;t=r[e+f>>0]|0;if(n<<24>>24!=t<<24>>24)break i;if((c|0)==(l|0))break;c=c+1|0;f=c+i|0;if(f>>>0>=B>>>0){w=l;i=b;break e}}i=l+i|0;f=i+1|0;if(f>>>0>=B>>>0){w=l;i=b;break e}}l=f-b|0;if((n&255)<=(t&255))break;n=f+1|0;if(n>>>0>=B>>>0){w=l;i=b;break e}else i=f}n=i+2|0;if(n>>>0>=B>>>0){w=1;break}else{f=i+1|0;b=i}}if(s){l=0;s=-1;t=1;while(1){f=1;n=l;while(1){l=t;e:while(1){b=1;while(1){t=r[e+(b+s)>>0]|0;c=r[e+l>>0]|0;if(t<<24>>24!=c<<24>>24)break e;if((b|0)==(f|0))break;b=b+1|0;l=b+n|0;if(l>>>0>=B>>>0){t=w;n=s;l=26;break A}}n=f+n|0;l=n+1|0;if(l>>>0>=B>>>0){t=w;n=s;l=26;break A}}f=l-s|0;if((t&255)>=(c&255))break;t=l+1|0;if(t>>>0>=B>>>0){t=w;n=s;l=26;break A}else n=l}t=n+2|0;if(t>>>0>=B>>>0){t=w;f=1;l=26;break}else{l=n+1|0;s=n}}}else{t=w;f=1;n=-1;l=26}}else{t=1;i=-1;f=1;n=-1;l=26}}else{t=1;i=-1;B=0;f=1;n=-1;l=26}}while(0);A:do{if((l|0)==26){h=(n+1|0)>>>0>(i+1|0)>>>0;f=h?f:t;h=h?n:i;d=h+1|0;if(!(F4(e,e+f|0,d)|0))o=B-f|0;else{f=B-h+-1|0;o=0;f=(h>>>0>f>>>0?h:f)+1|0}b=B|63;s=B+-1|0;w=(o|0)!=0;u=B-f|0;i=A;c=0;n=A;while(1){l=i;do{if((n-l|0)>>>0>>0){t=L1(n,0,b)|0;if(t)if((t-l|0)>>>0>>0){i=0;break A}else break;else{t=n+b|0;break}}else t=n}while(0);n=r[i+s>>0]|0;e:do{if(!(1<<(n&31)&a[v+(((n&255)>>>5&255)<<2)>>2])){l=0;n=B}else{n=B-(a[g+((n&255)<<2)>>2]|0)|0;if(n|0){l=0;n=w&(c|0)!=0&n>>>0>>0?u:n;break}n=d>>>0>c>>>0?d:c;l=r[e+n>>0]|0;i:do{if(!(l<<24>>24))n=d;else{while(1){if(l<<24>>24!=(r[i+n>>0]|0))break;n=n+1|0;l=r[e+n>>0]|0;if(!(l<<24>>24)){n=d;break i}}l=0;n=n-h|0;break e}}while(0);while(1){if(n>>>0<=c>>>0)break A;n=n+-1|0;if((r[e+n>>0]|0)!=(r[i+n>>0]|0)){l=o;n=f;break}}}}while(0);i=i+n|0;c=l;n=t}}}while(0);k=E;return i|0}function x4(A,e,i){A=A|0;e=e|0;i=i|0;T4(A,e,i)|0;return A|0}function T4(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;n=e;A:do{if(!((n^A)&3)){f=(i|0)!=0;if(f&(n&3|0)!=0)do{n=r[e>>0]|0;r[A>>0]=n;if(!(n<<24>>24))break A;i=i+-1|0;e=e+1|0;A=A+1|0;f=(i|0)!=0}while(f&(e&3|0)!=0);if(f){if(r[e>>0]|0){e:do{if(i>>>0>3){f=e;while(1){e=a[f>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0){e=f;break e}a[A>>2]=e;i=i+-4|0;e=f+4|0;A=A+4|0;if(i>>>0>3)f=e;else break}}}while(0);l=11}}else i=0}else l=11}while(0);A:do{if((l|0)==11)if(!i)i=0;else while(1){l=r[e>>0]|0;r[A>>0]=l;if(!(l<<24>>24))break A;i=i+-1|0;A=A+1|0;if(!i){i=0;break}else e=e+1|0}}while(0);Y6(A|0,0,i|0)|0;return A|0}function j4(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0;n=k;k=k+32|0;f=n;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=0;i=r[e>>0]|0;do{if(!(i<<24>>24))e=0;else{if(!(r[e+1>>0]|0)){e=A;while(1)if((r[e>>0]|0)==i<<24>>24)e=e+1|0;else break;e=e-A|0;break}do{l=f+(((i&255)>>>5&255)<<2)|0;a[l>>2]=a[l>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;A:do{if(!(i<<24>>24))e=A;else{e=A;do{if(!(a[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)))break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}while(0);e=e-A|0}}while(0);k=n;return e|0}function S4(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;a[i>>2]=R2(A)|0;A=NA(6,i|0)|0;A=N2((A|0)==-4?0:A)|0;k=e;return A|0}function P4(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=O4(A,e,f)|0;k=r;return i|0}function O4(A,e,i){A=A|0;e=e|0;i=i|0;return k4(A,2147483647,e,i)|0}function K4(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+208|0;c=s+8|0;b=s;l=U(i,e)|0;t=b;a[t>>2]=1;a[t+4>>2]=0;A:do{if(l|0){t=0-i|0;a[c+4>>2]=i;a[c>>2]=i;f=2;e=i;n=i;while(1){e=e+i+n|0;a[c+(f<<2)>>2]=e;if(e>>>0>>0){w=n;f=f+1|0;n=e;e=w}else break}n=A+l+t|0;if(n>>>0>A>>>0){l=n;f=1;e=1;do{do{if((e&3|0)!=3){e=f+-1|0;if((a[c+(e<<2)>>2]|0)>>>0<(l-A|0)>>>0)_4(A,i,r,f,c);else $4(A,i,r,b,f,0,c);if((f|0)==1){A3(b,1);f=0;break}else{A3(b,e);f=1;break}}else{_4(A,i,r,f,c);q4(b,2);f=f+2|0}}while(0);e=a[b>>2]|1;a[b>>2]=e;A=A+i|0}while(A>>>0>>0)}else{f=1;e=1}$4(A,i,r,b,f,0,c);n=b+4|0;while(1){if((f|0)==1&(e|0)==1){if(!(a[n>>2]|0))break A}else if((f|0)>=2){A3(b,2);w=f+-2|0;a[b>>2]=a[b>>2]^7;q4(b,1);$4(A+(0-(a[c+(w<<2)>>2]|0))+t|0,i,r,b,f+-1|0,1,c);A3(b,1);e=a[b>>2]|1;a[b>>2]=e;l=A+t|0;$4(l,i,r,b,w,1,c);A=l;f=w;continue}e=e3(b)|0;q4(b,e);A=A+t|0;f=e+f|0;e=a[b>>2]|0}}}while(0);k=s;return}function _4(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+240|0;s=w;a[s>>2]=A;A:do{if((r|0)>1){b=0-e|0;n=A;c=r;r=1;while(1){l=n+b|0;t=c+-2|0;n=l+(0-(a[f+(t<<2)>>2]|0))|0;if((m5[i&127](A,n)|0)>-1?(m5[i&127](A,l)|0)>-1:0)break A;A=r+1|0;r=s+(r<<2)|0;if((m5[i&127](n,l)|0)>-1){a[r>>2]=n;r=c+-1|0}else{a[r>>2]=l;n=l;r=t}if((r|0)<=1){r=A;break A}c=r;r=A;A=a[s>>2]|0}}else r=1}while(0);r3(e,s,r);k=w;return}function q4(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=a[f>>2]|0;a[A>>2]=r;a[f>>2]=0;e=e+-32|0;i=0}else{i=a[f>>2]|0;r=a[A>>2]|0}a[A>>2]=i<<32-e|r>>>e;a[f>>2]=i>>>e;return}function $4(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;var t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0;o=k;k=k+240|0;w=o+232|0;u=o;h=a[r>>2]|0;a[w>>2]=h;c=a[r+4>>2]|0;b=w+4|0;a[b>>2]=c;a[u>>2]=A;A:do{if((h|0)!=1|(c|0)!=0?(s=0-e|0,t=A+(0-(a[l+(f<<2)>>2]|0))|0,(m5[i&127](t,A)|0)>=1):0){r=1;n=(n|0)==0;c=t;while(1){if(n&(f|0)>1){n=A+s|0;t=a[l+(f+-2<<2)>>2]|0;if((m5[i&127](n,c)|0)>-1){t=10;break A}if((m5[i&127](n+(0-t)|0,c)|0)>-1){t=10;break A}}n=r+1|0;a[u+(r<<2)>>2]=c;h=e3(w)|0;q4(w,h);f=h+f|0;if(!((a[w>>2]|0)!=1|(a[b>>2]|0)!=0)){r=n;A=c;t=10;break A}A=c+(0-(a[l+(f<<2)>>2]|0))|0;if((m5[i&127](A,a[u>>2]|0)|0)<1){A=c;r=n;n=0;t=9;break}else{h=c;r=n;n=1;c=A;A=h}}}else{r=1;t=9}}while(0);if((t|0)==9?(n|0)==0:0)t=10;if((t|0)==10){r3(e,u,r);_4(A,e,i,f,l)}k=o;return}function A3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+4|0;if(e>>>0>31){r=a[A>>2]|0;a[f>>2]=r;a[A>>2]=0;e=e+-32|0;i=0}else{i=a[A>>2]|0;r=a[f>>2]|0}a[f>>2]=i>>>(32-e|0)|r<>2]=i<>2]|0)+-1|0)|0;if(!e){e=i3(a[A+4>>2]|0)|0;return((e|0)==0?0:e+32|0)|0}else return e|0;return 0}function i3(A){A=A|0;var e=0;if(A)if(!(A&1)){e=A;A=0;do{A=A+1|0;e=e>>>1}while(!(e&1|0))}else A=0;else A=32;return A|0}function r3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0;l=k;k=k+256|0;r=l;A:do{if((i|0)>=2?(n=e+(i<<2)|0,a[n>>2]=r,A|0):0)while(1){f=A>>>0<256?A:256;y6(r|0,a[e>>2]|0,f|0)|0;r=0;do{t=e+(r<<2)|0;r=r+1|0;y6(a[t>>2]|0,a[e+(r<<2)>>2]|0,f|0)|0;a[t>>2]=(a[t>>2]|0)+f}while((r|0)!=(i|0));A=A-f|0;if(!A)break A;r=a[n>>2]|0}}while(0);k=l;return}function f3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=o4(A,e,f)|0;k=r;return i|0}function a3(A){A=A|0;var e=0,i=0,f=0;f=k;k=k+16|0;i=f;EA(0,i|0)|0;e=0;i=(a[i+4>>2]|0)*65537^(i>>>4)+A;while(1){r[A+e>>0]=(i&15)+65|i<<1&32;e=e+1|0;if((e|0)==6)break;else i=i>>>5}k=f;return A|0}function n3(A,e,i){A=A|0;e=e|0;i=i|0;i=W1(A,e,i,-2147483648,0)|0;return i|0}function l3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;l=k;k=k+32|0;f=l;i=r[e>>0]|0;A:do{if(i<<24>>24!=0?(r[e+1>>0]|0)!=0:0){a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=0;do{t=f+(((i&255)>>>5&255)<<2)|0;a[t>>2]=a[t>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;if(!(i<<24>>24))e=A;else{e=A;do{if(a[f+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)|0)break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}else n=3}while(0);if((n|0)==3)e=j2(A,i<<24>>24)|0;k=l;return e-A|0}function t3(A,e){A=A|0;e=e|0;var i=0;if(!A){A=a[47666]|0;if(!A)A=0;else i=3}else i=3;do{if((i|0)==3){A=A+(j4(A,e)|0)|0;if(!(r[A>>0]|0)){a[47666]=0;A=0;break}e=A+(l3(A,e)|0)|0;a[47666]=e;if(!(r[e>>0]|0)){a[47666]=0;break}else{a[47666]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function c3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;f=e&255;do{if(!i){e=0;break}i=i+-1|0;e=A+i|0}while((r[e>>0]|0)!=f<<24>>24);return e|0}function b3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if(!A){A=a[i>>2]|0;if(!A)A=0;else f=3}else f=3;do{if((f|0)==3){A=A+(j4(A,e)|0)|0;if(!(r[A>>0]|0)){a[i>>2]=0;A=0;break}e=A+(l3(A,e)|0)|0;a[i>>2]=e;if(!(r[e>>0]|0)){a[i>>2]=0;break}else{a[i>>2]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function s3(A){A=A|0;var e=0,i=0;i=(S2(A)|0)+1|0;e=m2(i)|0;if(!e)e=0;else y6(e|0,A|0,i|0)|0;return e|0}function w3(A,e){A=A|0;e=e|0;return c3(A,e,(S2(A)|0)+1|0)|0}function u3(A,e){A=A|0;e=e|0;$1(A+(S2(A)|0)|0,e)|0;return A|0}function k3(A,e){A=A|0;e=e|0;e=A+(l3(A,e)|0)|0;return(r[e>>0]|0?e:0)|0}function o3(A){A=A|0;var e=0;if((a[A+76>>2]|0)>-1){e=(d4(A)|0)==0;A=(a[A>>2]|0)>>>4&1}else A=(a[A>>2]|0)>>>4&1;return A|0}function h3(A){A=A|0;var e=0,i=0,r=0,f=0,n=0;if((a[A+76>>2]|0)>-1)f=d4(A)|0;else f=0;d3(A);n=(a[A>>2]&1|0)!=0;if(!n){r=B3()|0;i=a[A+52>>2]|0;e=A+56|0;if(i|0)a[i+56>>2]=a[e>>2];e=a[e>>2]|0;if(e|0)a[e+52>>2]=i;if((a[r>>2]|0)==(A|0))a[r>>2]=e;v3()}e=g3(A)|0;e=Q5[a[A+12>>2]&63](A)|0|e;i=a[A+92>>2]|0;if(i|0)L2(i);if(n){if(f|0)B4(A)}else L2(A);return e|0}function d3(A){A=A|0;var e=0;if(a[A+68>>2]|0){e=a[A+116>>2]|0;A=A+112|0;if(e|0)a[e+112>>2]=a[A>>2];A=a[A>>2]|0;if(!A)A=(C3()|0)+232|0;else A=A+116|0;a[A>>2]=e}return}function B3(){CA(190668);return 190676}function v3(){RA(190668);return}function g3(A){A=A|0;var e=0,i=0;do{if(A){if((a[A+76>>2]|0)<=-1){e=E3(A)|0;break}i=(d4(A)|0)==0;e=E3(A)|0;if(!i)B4(A)}else{if(!(a[15711]|0))e=0;else e=g3(a[15711]|0)|0;A=a[(B3()|0)>>2]|0;if(A)do{if((a[A+76>>2]|0)>-1)i=d4(A)|0;else i=0;if((a[A+20>>2]|0)>>>0>(a[A+28>>2]|0)>>>0)e=E3(A)|0|e;if(i|0)B4(A);A=a[A+56>>2]|0}while((A|0)!=0);v3()}}while(0);return e|0}function E3(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;e=A+20|0;l=A+28|0;if((a[e>>2]|0)>>>0>(a[l>>2]|0)>>>0?(W5[a[A+36>>2]&63](A,0,0)|0,(a[e>>2]|0)==0):0)A=-1;else{i=A+4|0;r=a[i>>2]|0;f=A+8|0;n=a[f>>2]|0;if(r>>>0>>0)W5[a[A+40>>2]&63](A,r-n|0,1)|0;a[A+16>>2]=0;a[l>>2]=0;a[e>>2]=0;a[f>>2]=0;a[i>>2]=0;A=0}return A|0}function C3(){return r1()|0}function I3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+64|0;w=u+40|0;b=u+24|0;c=u+16|0;n=u;s=u+56|0;f=r[e>>0]|0;if(L1(153580,f<<24>>24,4)|0){i=m2(1156)|0;if(!i)i=0;else{l=i;t=l+124|0;do{a[l>>2]=0;l=l+4|0}while((l|0)<(t|0));if(!(G1(e,43)|0))a[i>>2]=f<<24>>24==114?8:4;if(G1(e,101)|0){a[n>>2]=A;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0;f=r[e>>0]|0}if(f<<24>>24==97){a[c>>2]=A;a[c+4>>2]=3;f=DA(221,c|0)|0;if(!(f&1024)){a[b>>2]=A;a[b+4>>2]=4;a[b+8>>2]=f|1024;DA(221,b|0)|0}e=a[i>>2]|128;a[i>>2]=e}else e=a[i>>2]|0;a[i+60>>2]=A;a[i+44>>2]=i+132;a[i+48>>2]=1024;f=i+75|0;r[f>>0]=-1;if((e&8|0)==0?(a[w>>2]=A,a[w+4>>2]=21523,a[w+8>>2]=s,(JA(54,w|0)|0)==0):0)r[f>>0]=10;a[i+32>>2]=15;a[i+36>>2]=18;a[i+40>>2]=16;a[i+12>>2]=17;if(!(a[47645]|0))a[i+76>>2]=-1;Z3(i)|0}}else{a[(X2()|0)>>2]=22;i=0}k=u;return i|0}function Z3(A){A=A|0;var e=0,i=0;e=B3()|0;a[A+56>>2]=a[e>>2];i=a[e>>2]|0;if(i|0)a[i+52>>2]=A;a[e>>2]=A;v3();return A|0}function G3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,c=0;c=k;k=k+16|0;f=c;A:do{if(!e)A=0;else{do{if(i|0){t=(A|0)==0?f:A;A=r[e>>0]|0;if(A<<24>>24>-1){a[t>>2]=A&255;A=A<<24>>24!=0&1;break A}l=(a[a[(Q3()|0)+188>>2]>>2]|0)==0;A=r[e>>0]|0;if(l){a[t>>2]=A<<24>>24&57343;A=1;break A}A=(A&255)+-194|0;if(A>>>0<=50){f=e+1|0;l=a[62384+(A<<2)>>2]|0;if(i>>>0<4?l&-2147483648>>>((i*6|0)+-6|0)|0:0)break;A=n[f>>0]|0;i=A>>>3;if((i+-16|i+(l>>26))>>>0<=7){A=A+-128|l<<6;if((A|0)>=0){a[t>>2]=A;A=2;break A}f=(n[e+2>>0]|0)+-128|0;if(f>>>0<=63){f=f|A<<6;if((f|0)>=0){a[t>>2]=f;A=3;break A}A=(n[e+3>>0]|0)+-128|0;if(A>>>0<=63){a[t>>2]=A|f<<6;A=4;break A}}}}}}while(0);a[(X2()|0)>>2]=84;A=-1}}while(0);k=c;return A|0}function Q3(){return r1()|0}function m3(A,e){A=A|0;e=e|0;var i=0;i=S2(A)|0;return((L3(A,1,i,e)|0)!=(i|0))<<31>>31|0}function L3(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;f=U(i,e)|0;i=(e|0)==0?0:i;if((a[r+76>>2]|0)>-1){n=(d4(r)|0)==0;A=L4(A,f,r)|0;if(!n)B4(r)}else A=L4(A,f,r)|0;if((A|0)!=(f|0))i=(A>>>0)/(e>>>0)|0;return i|0}function W3(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,t=0,c=0,b=0,s=0;s=k;k=k+16|0;c=s;b=e&255;r[c>>0]=b;f=A+16|0;l=a[f>>2]|0;if(!l)if(!(W4(A)|0)){l=a[f>>2]|0;t=4}else i=-1;else t=4;do{if((t|0)==4){t=A+20|0;f=a[t>>2]|0;if(f>>>0>>0?(i=e&255,(i|0)!=(r[A+75>>0]|0)):0){a[t>>2]=f+1;r[f>>0]=b;break}if((W5[a[A+36>>2]&63](A,c,1)|0)==1)i=n[c>>0]|0;else i=-1}}while(0);k=s;return i|0}function y3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=A;a[f+4>>2]=e;a[f+8>>2]=i;i=N2(MA(3,f|0)|0)|0;k=r;return i|0}function z3(){var A=0,e=0;e=k;k=k+16|0;A=YA(20,e|0)|0;k=e;return A|0}function Y3(A,e){A=A|0;e=e|0;var i=0,f=0,a=0;i=A;f=153565;a=i+15|0;do{r[i>>0]=r[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(a|0));if(!e){r[A+14>>0]=48;r[A+15>>0]=0}else{f=e;i=14;while(1){i=i+1|0;if(f>>>0<10)break;else f=(f>>>0)/10|0}r[A+i>>0]=0;while(1){i=i+-1|0;r[A+i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}}return}function D3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0;n=k;k=k+48|0;f=n+40|0;r=n+8|0;i=n;a[i>>2]=A;a[i+4>>2]=e;i=zA(197,i|0)|0;if((i|0)==-9?(a[r>>2]=A,a[r+4>>2]=1,(DA(221,r|0)|0)>=0):0){Y3(r,A);a[f>>2]=r;a[f+4>>2]=e;e=N2(yA(195,f|0)|0)|0}else e=N2(i)|0;k=n;return e|0}function M3(A,e){A=A|0;e=e|0;var i=0,r=0;i=k;k=k+16|0;r=i;a[r>>2]=A;a[r+4>>2]=e;e=N2(FA(33,r|0)|0)|0;k=i;return e|0}function F3(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0;t=k;k=k+48|0;l=t+32|0;n=t+16|0;i=t;if(L1(153580,r[e>>0]|0,4)|0){f=V3(e)|0;a[i>>2]=A;a[i+4>>2]=f|32768;a[i+8>>2]=438;i=N2(VA(5,i|0)|0)|0;if((i|0)>=0){if(f&524288|0){a[n>>2]=i;a[n+4>>2]=2;a[n+8>>2]=1;DA(221,n|0)|0}A=I3(i,e)|0;if(!A){a[l>>2]=i;NA(6,l|0)|0;A=0}}else A=0}else{a[(X2()|0)>>2]=22;A=0}k=t;return A|0}function V3(A){A=A|0;var e=0,i=0,f=0;i=(G1(A,43)|0)==0;e=r[A>>0]|0;i=i?e<<24>>24!=114&1:2;f=(G1(A,120)|0)==0;i=f?i:i|128;A=(G1(A,101)|0)==0;A=A?i:i|524288;A=e<<24>>24==114?A:A|64;A=e<<24>>24==119?A|512:A;return(e<<24>>24==97?A|1024:A)|0}function J3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=k;k=k+16|0;f=r;a[f>>2]=i;i=N3(A,e,f)|0;k=r;return i|0}function N3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;n=k;k=k+128|0;r=n;f=r;l=f+124|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(l|0));a[r+32>>2]=41;a[r+44>>2]=A;a[r+76>>2]=-1;a[r+84>>2]=A;l=R3(r,e,i)|0;k=n;return l|0}function X3(A,e,i){A=A|0;e=e|0;i=i|0;return P3(A,e,i)|0}function R3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,l=0,t=0,s=0,w=0,u=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0;H=k;k=k+288|0;F=H+8|0;V=H+17|0;J=H;N=H+16|0;if((a[A+76>>2]|0)>-1)R=d4(A)|0;else R=0;f=r[e>>0]|0;A:do{if(f<<24>>24){Q=A+4|0;m=A+100|0;W=A+108|0;y=A+8|0;z=V+10|0;Y=V+33|0;G=F+4|0;D=V+1|0;M=V+1|0;s=e;v=0;e=0;t=0;l=0;e:while(1){i:do{if(!(Q1(f&255)|0)){f=f<<24>>24==37;r:do{if(f){o=s+1|0;w=r[o>>0]|0;f:do{switch(w<<24>>24){case 37:break r;case 42:{Z=0;s=s+2|0;break}default:{f=(w&255)+-48|0;if(f>>>0<10?(r[s+2>>0]|0)==36:0){Z=H3(i,f)|0;s=s+3|0;break f}s=(a[i>>2]|0)+(4-1)&~(4-1);Z=a[s>>2]|0;a[i>>2]=s+4;s=o}}}while(0);f=r[s>>0]|0;w=f&255;if((w+-48|0)>>>0<10){o=0;do{o=(o*10|0)+-48+w|0;s=s+1|0;f=r[s>>0]|0;w=f&255}while((w+-48|0)>>>0<10)}else o=0;f=f<<24>>24==109;I=(Z|0)!=0;t=f?0:t;l=f?0:l;s=f?s+1|0:s;f=I&f;w=s+1|0;switch(r[s>>0]|0){case 104:{C=(r[w>>0]|0)==104;h=C?-2:-1;s=C?s+2|0:w;break}case 108:{C=(r[w>>0]|0)==108;h=C?3:1;s=C?s+2|0:w;break}case 106:{h=3;s=w;break}case 116:case 122:{h=1;s=w;break}case 76:{h=2;s=w;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:{h=0;break}default:{X=135;break e}}B=n[s>>0]|0;g=(B&47|0)==3;B=g?B|32:B;g=g?1:h;d=B&255;switch(d<<24>>24){case 99:{o=(o|0)>1?o:1;C=v;break}case 91:{C=v;break}case 110:{p3(Z,g,v,((v|0)<0)<<31>>31);w=v;break i}default:{y1(A,0);do{w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0}while((Q1(w)|0)!=0);if(!(a[m>>2]|0))w=a[Q>>2]|0;else{w=(a[Q>>2]|0)+-1|0;a[Q>>2]=w}C=(a[W>>2]|0)+v+w-(a[y>>2]|0)|0}}y1(A,o);w=a[Q>>2]|0;h=a[m>>2]|0;if(w>>>0>>0)a[Q>>2]=w+1;else{if((Y1(A)|0)<0){X=135;break e}h=a[m>>2]|0}if(h|0)a[Q>>2]=(a[Q>>2]|0)+-1;f:do{switch(d<<24>>24){case 91:case 99:case 115:{E=(B|0)==99;a:do{if((B|16|0)==115){Y6(D|0,-1,256)|0;r[V>>0]=0;if((B|0)==115){r[Y>>0]=0;r[z>>0]=0;r[z+1>>0]=0;r[z+2>>0]=0;r[z+3>>0]=0;r[z+4>>0]=0}}else{B=s+1|0;w=(r[B>>0]|0)==94;v=w&1;s=w?s+2|0:B;Y6(M|0,w&1|0,256)|0;r[V>>0]=0;w=r[s>>0]|0;switch(w<<24>>24){case 45:{w=46;X=63;break}case 93:{w=94;X=63;break}default:{}}while(1){if((X|0)==63){X=0;r[V+w>>0]=v^1;w=s+1|0;s=w;w=r[w>>0]|0}n:do{switch(w<<24>>24){case 0:{X=135;break e}case 93:break a;case 45:{B=s+1|0;w=r[B>>0]|0;switch(w<<24>>24){case 93:case 0:{w=45;break n}default:{}}s=r[s+-1>>0]|0;if((s&255)<(w&255)){d=(v^1)&255;s=s&255;do{s=s+1|0;r[V+s>>0]=d;w=r[B>>0]|0}while((s|0)<(w&255|0));s=B}else s=B;break}default:{}}}while(0);w=(w&255)+1|0;X=63}}}while(0);w=E?o+1|0:31;B=(g|0)==1;a:do{if(B){if(f){l=m2(w<<2)|0;if(!l){t=0;l=0;f=1;X=135;break e}}else l=Z;a[F>>2]=0;a[G>>2]=0;d=w;t=0;n:while(1){h=(l|0)==0;do{l:while(1){w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0;if(!(r[V+(w+1)>>0]|0))break n;r[N>>0]=w;switch(S1(J,N,1,F)|0){case-1:{t=0;X=135;break e}case-2:break;default:break l}}if(!h){a[l+(t<<2)>>2]=a[J>>2];t=t+1|0}}while(!(f&(t|0)==(d|0)));t=d<<1|1;w=y2(l,t<<2)|0;if(!w){t=0;f=1;X=135;break e}else{g=d;d=t;l=w;t=g}}if(!(U3(F)|0)){t=0;X=135;break e}else{w=t;t=0;d=l}}else{if(f){t=m2(w)|0;if(!t){t=0;l=0;f=1;X=135;break e}else{h=w;l=0}while(1){do{w=a[Q>>2]|0;if(w>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=w+1;w=n[w>>0]|0}else w=Y1(A)|0;if(!(r[V+(w+1)>>0]|0)){w=l;d=0;l=0;break a}r[t+l>>0]=w;l=l+1|0}while((l|0)!=(h|0));l=h<<1|1;w=y2(t,l)|0;if(!w){l=0;f=1;X=135;break e}else{g=h;h=l;t=w;l=g}}}if(!Z){t=h;while(1){l=a[Q>>2]|0;if(l>>>0>>0){a[Q>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!(r[V+(l+1)>>0]|0)){w=0;t=0;d=0;l=0;break a}t=a[m>>2]|0}}else{w=0;t=h;while(1){l=a[Q>>2]|0;if(l>>>0>>0){a[Q>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!(r[V+(l+1)>>0]|0)){t=Z;d=0;l=0;break a}r[Z+w>>0]=l;w=w+1|0;t=a[m>>2]|0}}}}while(0);if(!(a[m>>2]|0))h=a[Q>>2]|0;else{h=(a[Q>>2]|0)+-1|0;a[Q>>2]=h}h=h-(a[y>>2]|0)+(a[W>>2]|0)|0;if(!h){X=137;break e}if(!((h|0)==(o|0)|E^1)){X=137;break e}do{if(f)if(B){a[Z>>2]=d;break}else{a[Z>>2]=t;break}}while(0);if(!E){if(d|0)a[d+(w<<2)>>2]=0;if(!t){t=0;break f}r[t+w>>0]=0}break}case 120:case 88:case 112:{w=16;X=123;break}case 111:{w=8;X=123;break}case 117:case 100:{w=10;X=123;break}case 105:{w=0;X=123;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{u=+x3(A,g,0);if((a[W>>2]|0)==((a[y>>2]|0)-(a[Q>>2]|0)|0)){X=137;break e}if(Z)switch(g|0){case 0:{c[Z>>2]=u;break f}case 1:{b[Z>>3]=u;break f}case 2:{b[Z>>3]=u;break f}default:break f}break}default:{}}}while(0);do{if((X|0)==123){X=0;w=z1(A,w,0,-1,-1)|0;if((a[W>>2]|0)==((a[y>>2]|0)-(a[Q>>2]|0)|0)){X=137;break e}if(I&(B|0)==112){a[Z>>2]=w;break}else{p3(Z,g,w,L);break}}}while(0);e=e+(I&1)|0;w=(a[W>>2]|0)+C+(a[Q>>2]|0)-(a[y>>2]|0)|0;break i}}while(0);s=s+(f&1)|0;y1(A,0);f=a[Q>>2]|0;if(f>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=f+1;f=n[f>>0]|0}else f=Y1(A)|0;if((f|0)!=(n[s>>0]|0)){X=22;break e}w=v+1|0}else{while(1){f=s+1|0;if(!(Q1(n[f>>0]|0)|0))break;else s=f}y1(A,0);do{f=a[Q>>2]|0;if(f>>>0<(a[m>>2]|0)>>>0){a[Q>>2]=f+1;f=n[f>>0]|0}else f=Y1(A)|0}while((Q1(f)|0)!=0);if(!(a[m>>2]|0))f=a[Q>>2]|0;else{f=(a[Q>>2]|0)+-1|0;a[Q>>2]=f}w=(a[W>>2]|0)+v+f-(a[y>>2]|0)|0}}while(0);s=s+1|0;f=r[s>>0]|0;if(!(f<<24>>24))break A;else v=w}if((X|0)==22){if(a[m>>2]|0)a[Q>>2]=(a[Q>>2]|0)+-1;if((e|0)!=0|(f|0)>-1)break;else{f=0;X=136}}else if((X|0)==135){f=f&1;if(!e)X=136}else if((X|0)==137)f=f&1;if((X|0)==136)e=-1;if(f){L2(t);L2(l)}}else e=0}while(0);if(R|0)B4(A);k=H;return e|0}function H3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;r=k;k=k+16|0;i=r;a[i>>2]=a[A>>2];while(1){f=(a[i>>2]|0)+(4-1)&~(4-1);A=a[f>>2]|0;a[i>>2]=f+4;if(e>>>0>1)e=e+-1|0;else break}k=r;return A|0}function p3(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;A:do{if(A|0)switch(e|0){case-2:{r[A>>0]=i;break A}case-1:{f[A>>1]=i;break A}case 0:{a[A>>2]=i;break A}case 1:{a[A>>2]=i;break A}case 3:{e=A;a[e>>2]=i;a[e+4>>2]=n;break A}default:break A}}while(0);return}function U3(A){A=A|0;if(!A)A=1;else A=(a[A>>2]|0)==0&1;return A|0}function x3(A,e,i){A=A|0;e=e|0;i=i|0;var f=0.0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;switch(e|0){case 0:{s=-149;w=24;c=4;break}case 1:{s=-1074;w=53;c=4;break}case 2:{s=-1074;w=53;c=4;break}default:f=0.0}A:do{if((c|0)==4){k=A+4|0;u=A+100|0;do{e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0}while((Q1(e)|0)!=0);e:do{switch(e|0){case 43:case 45:{t=1-(((e|0)==45&1)<<1)|0;e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;l=n[e>>0]|0;break e}else{l=Y1(A)|0;break e}}default:{l=e;t=1}}}while(0);e=0;do{if((l|32|0)!=(r[153584+e>>0]|0))break;do{if(e>>>0<7){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0;break}else{l=Y1(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);e:do{switch(e|0){case 8:break;case 3:{c=23;break}default:{b=(i|0)!=0;if(b&e>>>0>3)if((e|0)==8)break e;else{c=23;break e}i:do{if(!e){e=0;do{if((l|32|0)!=(r[153593+e>>0]|0))break i;do{if(e>>>0<2){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0;break}else{l=Y1(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==40)e=1;else{if(!(a[u>>2]|0)){f=E;break A}a[k>>2]=(a[k>>2]|0)+-1;f=E;break A}while(1){l=a[k>>2]|0;if(l>>>0<(a[u>>2]|0)>>>0){a[k>>2]=l+1;l=n[l>>0]|0}else l=Y1(A)|0;if(!((l+-48|0)>>>0<10|(l+-65|0)>>>0<26)?!((l|0)==95|(l+-97|0)>>>0<26):0)break;e=e+1|0}if((l|0)==41){f=E;break A}l=(a[u>>2]|0)==0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if(!b){a[(X2()|0)>>2]=22;y1(A,0);f=0.0;break A}if(!e){f=E;break A}while(1){e=e+-1|0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if(!e){f=E;break A}}}case 0:{if((l|0)==48){e=a[k>>2]|0;if(e>>>0<(a[u>>2]|0)>>>0){a[k>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|32|0)==120){f=+T3(A,w,s,t,i);break A}if(!(a[u>>2]|0))e=48;else{a[k>>2]=(a[k>>2]|0)+-1;e=48}}else e=l;f=+j3(A,e,w,s,t,i);break A}default:{if(a[u>>2]|0)a[k>>2]=(a[k>>2]|0)+-1;a[(X2()|0)>>2]=22;y1(A,0);f=0.0;break A}}}}}while(0);if((c|0)==23){l=(a[u>>2]|0)==0;if(!l)a[k>>2]=(a[k>>2]|0)+-1;if((i|0)!=0&e>>>0>3)do{if(!l)a[k>>2]=(a[k>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}f=+(t|0)*C}}while(0);return+f}function T3(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var l=0.0,t=0,c=0,b=0.0,s=0,w=0,u=0,k=0.0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=A+4|0;t=a[Z>>2]|0;I=A+100|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0;s=0}else{c=Y1(A)|0;s=0}A:while(1){switch(c|0){case 46:{C=8;break A}case 48:break;default:{B=0;u=0;k=1.0;l=0.0;t=0;w=c;v=s;E=0;g=0;s=0;c=0;break A}}t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0;s=1;continue}else{c=Y1(A)|0;s=1;continue}}if((C|0)==8){t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;c=n[t>>0]|0}else c=Y1(A)|0;if((c|0)==48){s=0;c=0;do{t=a[Z>>2]|0;if(t>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=t+1;w=n[t>>0]|0}else w=Y1(A)|0;s=d6(s|0,c|0,-1,-1)|0;c=L}while((w|0)==48);B=1;u=0;k=1.0;l=0.0;t=0;v=1;E=0;g=0}else{B=1;u=0;k=1.0;l=0.0;t=0;w=c;v=s;E=0;g=0;s=0;c=0}}while(1){h=w+-48|0;o=w|32;if(h>>>0>=10){d=(w|0)==46;if(!(d|(o+-97|0)>>>0<6))break;if(d)if(!B){B=1;b=k;d=v;s=g;c=E;h=g;o=E}else{w=46;break}else C=20}else C=20;if((C|0)==20){C=0;w=(w|0)>57?o+-87|0:h;do{if(!((E|0)<0|(E|0)==0&g>>>0<8))if((E|0)<0|(E|0)==0&g>>>0<14){k=k*.0625;b=k;l=l+k*+(w|0);break}else{v=(u|0)!=0|(w|0)==0;u=v?u:1;b=k;l=v?l:l+k*.5;break}else{b=k;t=w+(t<<4)|0}}while(0);h=d6(g|0,E|0,1,0)|0;d=1;o=L}w=a[Z>>2]|0;if(w>>>0<(a[I>>2]|0)>>>0){a[Z>>2]=w+1;k=b;w=n[w>>0]|0;v=d;E=o;g=h;continue}else{k=b;w=Y1(A)|0;v=d;E=o;g=h;continue}}do{if(!v){t=(a[I>>2]|0)==0;if(!t)a[Z>>2]=(a[Z>>2]|0)+-1;if(f){if(!t)a[Z>>2]=(a[Z>>2]|0)+-1;if(!((B|0)==0|t))a[Z>>2]=(a[Z>>2]|0)+-1}else y1(A,0);l=+(r|0)*0.0}else{o=(B|0)==0;h=o?g:s;o=o?E:c;if((E|0)<0|(E|0)==0&g>>>0<8){s=g;c=E;while(1){t=t<<4;C=s;s=d6(s|0,c|0,1,0)|0;if(!((c|0)<0|(c|0)==0&C>>>0<7)){u=t;break}else c=L}}else u=t;if((w|32|0)==112){c=S3(A,f)|0;t=L;if((c|0)==0&(t|0)==-2147483648){if(!f){y1(A,0);l=0.0;break}if(!(a[I>>2]|0)){c=0;t=0}else{a[Z>>2]=(a[Z>>2]|0)+-1;c=0;t=0}}}else if(!(a[I>>2]|0)){c=0;t=0}else{a[Z>>2]=(a[Z>>2]|0)+-1;c=0;t=0}s=G6(h|0,o|0,2)|0;s=d6(s|0,L|0,-32,-1)|0;s=d6(s|0,L|0,c|0,t|0)|0;t=L;if(!u){l=+(r|0)*0.0;break}Z=0-i|0;f=((Z|0)<0)<<31>>31;if((t|0)>(f|0)|(t|0)==(f|0)&s>>>0>Z>>>0){a[(X2()|0)>>2]=34;l=+(r|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}Z=i+-106|0;f=((Z|0)<0)<<31>>31;if((t|0)<(f|0)|(t|0)==(f|0)&s>>>0>>0){a[(X2()|0)>>2]=34;l=+(r|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((u|0)>-1){c=u;do{Z=!(l>=.5);c=c<<1|(Z^1)&1;l=l+(Z?l:l+-1.0);s=d6(s|0,t|0,-1,-1)|0;t=L}while((c|0)>-1);k=l;w=c}else{k=l;w=u}Z=((e|0)<0)<<31>>31;i=B6(32,0,i|0,((i|0)<0)<<31>>31|0)|0;t=d6(i|0,L|0,s|0,t|0)|0;i=L;if((i|0)<(Z|0)|(i|0)==(Z|0)&t>>>0>>0)if((t|0)>0)C=59;else{c=0;t=84;C=61}else{t=e;C=59}if((C|0)==59)if((t|0)<53){c=t;t=84-t|0;C=61}else{b=0.0;l=+(r|0)}if((C|0)==61){l=+(r|0);b=+k1(+s1(1.0,t),l);t=c}r=(w&1|0)==0&(k!=0.0&(t|0)<32);l=(r?0.0:k)*l+(b+l*+((w+(r&1)|0)>>>0))-b;if(!(l!=0.0))a[(X2()|0)>>2]=34;l=+o1(l,s)}}while(0);return+l}function j3(A,e,i,r,f,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;l=l|0;var t=0.0,c=0.0,b=0,s=0,w=0,u=0,o=0,h=0,d=0.0,B=0.0,v=0.0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,W=0,z=0,Y=0,D=0,M=0,F=0,V=0.0;F=k;k=k+512|0;Y=F;D=r+i|0;M=0-D|0;m=A+4|0;W=A+100|0;b=0;A:while(1){switch(e|0){case 46:{G=6;break A}case 48:break;default:{E=0;o=b;h=0;u=0;break A}}e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0;b=1;continue}else{e=Y1(A)|0;b=1;continue}}if((G|0)==6){e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==48){b=0;e=0;while(1){b=d6(b|0,e|0,-1,-1)|0;u=L;e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;if((e|0)==48)e=u;else{E=1;o=1;h=b;break}}}else{E=1;o=b;h=0;u=0}}a[Y>>2]=0;w=e+-48|0;s=(e|0)==46;A:do{if(s|w>>>0<10){Q=Y+496|0;C=0;b=0;g=0;I=E;Z=o;G=w;o=0;w=0;e:while(1){do{if(s)if(!I){I=1;h=o;u=w}else break e;else{o=d6(o|0,w|0,1,0)|0;w=L;E=(e|0)!=48;if((b|0)>=125){if(!E)break;a[Q>>2]=a[Q>>2]|1;break}s=Y+(b<<2)|0;if(!C)e=G;else e=e+-48+((a[s>>2]|0)*10|0)|0;a[s>>2]=e;C=C+1|0;Z=(C|0)==9;C=Z?0:C;b=b+(Z&1)|0;g=E?o:g;Z=1}}while(0);e=a[m>>2]|0;if(e>>>0<(a[W>>2]|0)>>>0){a[m>>2]=e+1;e=n[e>>0]|0}else e=Y1(A)|0;G=e+-48|0;s=(e|0)==46;if(!(s|G>>>0<10)){E=I;s=Z;G=29;break A}}e=C;s=(Z|0)!=0;G=37}else{C=0;b=0;g=0;s=o;o=0;w=0;G=29}}while(0);do{if((G|0)==29){Q=(E|0)==0;h=Q?o:h;u=Q?w:u;s=(s|0)!=0;if(!(s&(e|32|0)==101))if((e|0)>-1){e=C;G=37;break}else{e=C;G=39;break}s=S3(A,l)|0;e=L;if((s|0)==0&(e|0)==-2147483648){if(!l){y1(A,0);t=0.0;break}if(!(a[W>>2]|0)){s=0;e=0}else{a[m>>2]=(a[m>>2]|0)+-1;s=0;e=0}}Z=d6(s|0,e|0,h|0,u|0)|0;e=C;u=L;G=41}}while(0);if((G|0)==37)if(a[W>>2]|0){a[m>>2]=(a[m>>2]|0)+-1;if(s){Z=h;G=41}else G=40}else G=39;if((G|0)==39)if(s){Z=h;G=41}else G=40;do{if((G|0)==40){a[(X2()|0)>>2]=22;y1(A,0);t=0.0}else if((G|0)==41){s=a[Y>>2]|0;if(!s){t=+(f|0)*0.0;break}if(((w|0)<0|(w|0)==0&o>>>0<10)&((Z|0)==(o|0)&(u|0)==(w|0))?(i|0)>30|(s>>>i|0)==0:0){t=+(f|0)*+(s>>>0);break}A=(r|0)/-2|0;W=((A|0)<0)<<31>>31;if((u|0)>(W|0)|(u|0)==(W|0)&Z>>>0>A>>>0){a[(X2()|0)>>2]=34;t=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}A=r+-106|0;W=((A|0)<0)<<31>>31;if((u|0)<(W|0)|(u|0)==(W|0)&Z>>>0>>0){a[(X2()|0)>>2]=34;t=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(e){if((e|0)<9){w=Y+(b<<2)|0;s=a[w>>2]|0;while(1){s=s*10|0;if((e|0)>=8)break;else e=e+1|0}a[w>>2]=s}b=b+1|0}if((g|0)<9?(g|0)<=(Z|0)&(Z|0)<18:0){if((Z|0)==9){t=+(f|0)*+((a[Y>>2]|0)>>>0);break}if((Z|0)<9){t=+(f|0)*+((a[Y>>2]|0)>>>0)/+(a[63712+(8-Z<<2)>>2]|0);break}A=i+27+(U(Z,-3)|0)|0;e=a[Y>>2]|0;if((A|0)>30|(e>>>A|0)==0){t=+(f|0)*+(e>>>0)*+(a[63712+(Z+-10<<2)>>2]|0);break}}e=(Z|0)%9|0;if(!e){e=0;w=0}else{g=(Z|0)>-1?e:e+9|0;o=a[63712+(8-g<<2)>>2]|0;if(b){h=1e9/(o|0)|0;w=0;u=0;s=Z;e=0;do{m=Y+(e<<2)|0;W=a[m>>2]|0;A=((W>>>0)/(o>>>0)|0)+w|0;a[m>>2]=A;w=U(h,(W>>>0)%(o>>>0)|0)|0;A=(e|0)==(u|0)&(A|0)==0;s=A?s+-9|0:s;u=A?u+1&127:u;e=e+1|0}while((e|0)!=(b|0));if(!w)w=u;else{a[Y+(b<<2)>>2]=w;w=u;b=b+1|0}}else{w=0;b=0;s=Z}e=0;Z=9-g+s|0}A:while(1){g=(Z|0)<18;E=(Z|0)==18;C=Y+(w<<2)|0;while(1){if(!g){if(!E){s=Z;break A}if((a[C>>2]|0)>>>0>=9007199){s=18;break A}}s=0;I=b;b=b+127|0;while(1){u=b&127;o=Y+(u<<2)|0;b=G6(a[o>>2]|0,0,29)|0;b=d6(b|0,L|0,s|0,0)|0;s=L;if(s>>>0>0|(s|0)==0&b>>>0>1e9){h=E6(b|0,s|0,1e9,0)|0;b=C6(b|0,s|0,1e9,0)|0}else h=0;a[o>>2]=b;A=(u|0)==(w|0);I=(b|0)==0&(((u|0)!=(I+127&127|0)|A)^1)?u:I;if(A)break;else{s=h;b=u+-1|0}}e=e+-29|0;if(h|0)break;else b=I}w=w+127&127;b=I+127&127;s=Y+((I+126&127)<<2)|0;if((w|0)==(I|0))a[s>>2]=a[s>>2]|a[Y+(b<<2)>>2];else b=I;a[Y+(w<<2)>>2]=h;Z=Z+9|0}A:while(1){C=b+1&127;I=Y+((b+127&127)<<2)|0;while(1){h=(s|0)==18;E=(s|0)>27?9:1;Z=w;while(1){o=0;while(1){w=o+Z&127;if((w|0)==(b|0)){z=2;G=88;break}w=a[Y+(w<<2)>>2]|0;u=a[63744+(o<<2)>>2]|0;if(w>>>0>>0){z=2;G=88;break}if(w>>>0>u>>>0)break;w=o+1|0;if((o|0)<1)o=w;else{z=w;G=88;break}}if((G|0)==88?(G=0,h&(z|0)==2):0){t=0.0;u=0;break A}e=E+e|0;if((Z|0)==(b|0))Z=b;else break}h=(1<>>E;o=0;w=Z;u=Z;do{m=Y+(u<<2)|0;W=a[m>>2]|0;A=(W>>>E)+o|0;a[m>>2]=A;o=U(W&h,g)|0;A=(u|0)==(w|0)&(A|0)==0;s=A?s+-9|0:s;w=A?w+1&127:w;u=u+1&127}while((u|0)!=(b|0));if(!o)continue;if((C|0)!=(w|0))break;a[I>>2]=a[I>>2]|1}a[Y+(b<<2)>>2]=o;b=C}do{w=u+Z&127;s=b+1&127;if((w|0)==(b|0)){a[Y+(s+-1<<2)>>2]=0;b=s}t=t*1.0e9+ +((a[Y+(w<<2)>>2]|0)>>>0);u=u+1|0}while((u|0)!=2);v=+(f|0);c=t*v;u=e+53|0;o=u-r|0;h=(o|0)<(i|0);w=h?(o|0)>0?o:0:i;if((w|0)<53){V=+k1(+s1(1.0,105-w|0),c);d=+h1(c,+s1(1.0,53-w|0));B=V;t=d;d=V+(c-d)}else{B=0.0;t=0.0;d=c}s=Z+2&127;if((s|0)!=(b|0)){s=a[Y+(s<<2)>>2]|0;do{if(s>>>0>=5e8){if((s|0)!=5e8){t=v*.75+t;break}if((Z+3&127|0)==(b|0)){t=v*.5+t;break}else{t=v*.75+t;break}}else{if((s|0)==0?(Z+3&127|0)==(b|0):0)break;t=v*.25+t}}while(0);if((53-w|0)>1?!(+h1(t,1.0)!=0.0):0)c=t+1.0;else c=t}else c=t;t=d+c-B;do{if((u&2147483647|0)>(-2-D|0)){D=!(+y(+t)>=9007199254740992.0);e=e+((D^1)&1)|0;t=D?t:t*.5;if((e+50|0)<=(M|0)?!(c!=0.0&(h&((w|0)!=(o|0)|D))):0)break;a[(X2()|0)>>2]=34}}while(0);t=+o1(t,e)}}while(0);k=F;return+t}function S3(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,l=0,t=0;l=A+4|0;i=a[l>>2]|0;t=A+100|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0;switch(i|0){case 43:case 45:{r=(i|0)==45&1;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0;if((e|0)!=0&(i+-48|0)>>>0>9?(a[t>>2]|0)!=0:0)a[l>>2]=(a[l>>2]|0)+-1;break}default:r=0}if((i+-48|0)>>>0>9)if(!(a[t>>2]|0)){r=-2147483648;i=0}else{a[l>>2]=(a[l>>2]|0)+-1;r=-2147483648;i=0}else{f=0;do{f=i+-48+(f*10|0)|0;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10&(f|0)<214748364);e=((f|0)<0)<<31>>31;if((i+-48|0)>>>0<10)do{e=h6(f|0,e|0,10,0)|0;f=L;i=d6(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;f=d6(i|0,L|0,e|0,f|0)|0;e=L;i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10&((e|0)<21474836|(e|0)==21474836&f>>>0<2061584302));if((i+-48|0)>>>0<10)do{i=a[l>>2]|0;if(i>>>0<(a[t>>2]|0)>>>0){a[l>>2]=i+1;i=n[i>>0]|0}else i=Y1(A)|0}while((i+-48|0)>>>0<10);if(a[t>>2]|0)a[l>>2]=(a[l>>2]|0)+-1;t=(r|0)!=0;i=B6(0,0,f|0,e|0)|0;r=t?L:e;i=t?i:f}L=r;return i|0}function P3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;r=A+84|0;n=a[r>>2]|0;l=i+256|0;f=L1(n,0,l)|0;f=(f|0)==0?l:f-n|0;i=f>>>0>>0?f:i;y6(e|0,n|0,i|0)|0;a[A+4>>2]=n+i;e=n+f|0;a[A+8>>2]=e;a[r>>2]=e;return i|0}function O3(A,e,i){A=A|0;e=e|0;i=i|0;return K3(A,e,i)|0}function K3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((a[A+76>>2]|0)>-1){r=(d4(A)|0)==0;e=_3(A,e,i)|0;if(!r)B4(A)}else e=_3(A,e,i)|0;return e|0}function _3(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;if((i|0)==1)e=e-(a[A+8>>2]|0)+(a[A+4>>2]|0)|0;r=A+20|0;f=A+28|0;if((a[r>>2]|0)>>>0>(a[f>>2]|0)>>>0?(W5[a[A+36>>2]&63](A,0,0)|0,(a[r>>2]|0)==0):0)e=-1;else{a[A+16>>2]=0;a[f>>2]=0;a[r>>2]=0;if((W5[a[A+40>>2]&63](A,e,i)|0)<0)e=-1;else{a[A+8>>2]=0;a[A+4>>2]=0;a[A>>2]=a[A>>2]&-17;e=0}}return e|0}function q3(A){A=A|0;var e=0,i=0,f=0,a=0,n=0,l=0;while(1){f=r[A>>0]|0;e=f<<24>>24;a=A+1|0;if(!(Q1(e)|0))break;else A=a}switch(e|0){case 45:{A=1;n=5;break}case 43:{A=0;n=5;break}default:{l=0;i=A;A=f}}if((n|0)==5){l=A;i=a;A=r[a>>0]|0}e=(A<<24>>24)+-48|0;if(e>>>0<10){A=0;do{i=i+1|0;A=(A*10|0)-e|0;e=(r[i>>0]|0)+-48|0}while(e>>>0<10)}else A=0;return(l|0?A:0-A|0)|0}function $3(A){A=A|0;return+ +A8(A,0)}function A8(A,e){A=A|0;e=e|0;return+ +e8(A,e,1)}function e8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,f=0,n=0,l=0,t=0;t=k;k=k+128|0;l=t;f=l;n=f+124|0;do{a[f>>2]=0;f=f+4|0}while((f|0)<(n|0));f=l+4|0;a[f>>2]=A;n=l+8|0;a[n>>2]=-1;a[l+44>>2]=A;a[l+76>>2]=-1;y1(l,0);r=+x3(l,i,1);i=(a[f>>2]|0)-(a[n>>2]|0)+(a[l+108>>2]|0)|0;if(e|0)a[e>>2]=i|0?A+i|0:A;k=t;return+r}function i8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var a=0,n=0,l=0;A:do{if(!i)e=0;else{l=e;while(1){n=i>>>1;e=l+(U(n,r)|0)|0;a=m5[f&127](A,e)|0;if(!a)break A;if((i|0)==1){e=0;break A}a=(a|0)<0;i=a?n:i-n|0;if(!i){e=0;break}else l=a?l:e}}}while(0);return e|0}function r8(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;a=A+2|0;r=A+4|0;i=h6((l[e+2>>1]|0)<<16|(l[e>>1]|0)|0,l[e+4>>1]|0|0,(l[a>>1]|0)<<16|(l[A>>1]|0)|0,l[r>>1]|0|0)|0;e=d6(i|0,L|0,l[e+6>>1]|0|0,0)|0;i=L;f[A>>1]=e;A=Z6(e|0,i|0,16)|0;f[a>>1]=A;f[r>>1]=i;L=i&65535;return e|0}function f8(A){A=A|0;var e=0;e=186608;a[e>>2]=A+-1;a[e+4>>2]=0;return}function a8(){var A=0,e=0,i=0;e=186608;e=h6(a[e>>2]|0,a[e+4>>2]|0,1284865837,1481765933)|0;e=d6(e|0,L|0,1,0)|0;A=L;i=186608;a[i>>2]=e;a[i+4>>2]=A;A=Z6(e|0,A|0,33)|0;return A|0}function n8(A){A=A|0;f[96876]=f[32922]|0;f[96877]=f[32923]|0;f[96878]=f[32924]|0;f[32922]=f[A>>1]|0;f[32923]=f[A+2>>1]|0;f[32924]=f[A+4>>1]|0;return 193752}function l8(A){A=A|0;var e=0,i=0;e=k;k=k+16|0;i=e;f[i>>1]=13070;f[i+2>>1]=A;f[i+4>>1]=A>>>16;n8(i)|0;k=e;return}function t8(A){A=A|0;var e=0;e=r8(A,65850)|0;e=G6(e|0,L|0,4)|0;A=L|1072693248;a[w>>2]=e;a[w+4>>2]=A;return+(+b[w>>3]+-1.0)}function c8(){return+ +t8(65844)}function b8(A,e){A=A|0;e=e|0;if(!A)e=W2(1,24)|0;else{a[e>>2]=0;a[e+4>>2]=0;a[e+8>>2]=0;a[e+12>>2]=0;a[e+16>>2]=0;a[e+20>>2]=0}return e|0}function s8(A){A=A|0;var e=0,i=0;e=a[A>>2]|0;if(e|0)do{L2(a[e>>2]|0);i=e;e=a[e+4>>2]|0;L2(i)}while((e|0)!=0);L2(A);return}function w8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0;l=A+16|0;A:do{if(!(a[l>>2]|0)){b=A+12|0;n=a[b>>2]|0;if(n>>>0>>0){do{if(e)if(!i){a[l>>2]=1;e=0;break A}else{l=A+8|0;a[l>>2]=i;n=1024;e=i;break}else{n=f<<3;n=n>>>0>1024?n:1024;c=m2(8)|0;if(!c){a[l>>2]=1;e=0;break A}e=m2(n)|0;a[c>>2]=e;i=e;if(!e){L2(c);a[l>>2]=1;e=0;break A}a[c+4>>2]=0;l=A+4|0;t=a[l>>2]|0;if(t|0)a[t+4>>2]=c;if(!(a[A>>2]|0))a[A>>2]=c;a[l>>2]=c;l=A+8|0;a[l>>2]=i}}while(0);a[b>>2]=n}else{l=A+8|0;e=a[l>>2]|0;i=e}i=i+f&3;i=((i|0)==0?0:4-i|0)+f|0;a[l>>2]=e+i;a[b>>2]=n-i;if(r)Y6(e|0,0,i|0)|0}else e=0}while(0);return e|0}function u8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0;E=k;k=k+48|0;t=E;v=k8()|0;A:do{if(!v)e=12;else{g=b8(0,0)|0;if(!g){o8(v);e=12;break}r=t+8|0;a[r>>2]=0;a[r+4>>2]=0;a[r+8>>2]=0;a[r+12>>2]=0;a[r+16>>2]=0;a[t>>2]=g;a[t+4>>2]=v;a[t+16>>2]=e;a[t+32>>2]=i;r=t+28|0;a[r>>2]=-1;e=h8(t)|0;e:do{if(!e){l=t+20|0;f=a[l>>2]|0;a[A>>2]=f+-1;c=a[t+8>>2]|0;e=a[r>>2]|0;if((e|0)<(f|0)){n=W2(1,68)|0;if(n){d=e>>>31^1;a[n+60>>2]=d;a[n+28>>2]=f;if((i&8|0)==0|(d|0)!=0){e=d8(0,v,c,n)|0;if(e|0){l=0;t=0;f=0;r=0;break}f=a[n+40>>2]|0;if((f|0)>0){e=(f<<2)+4|0;r=m2(e)|0;if(!r){l=0;t=0;e=12;f=0;r=0;break}a[n+32>>2]=r;Y6(r|0,-1,e|0)|0}else r=0;d=W2(f<<1|1,4)|0;a[n+36>>2]=d;if(!d){l=0;t=0;e=12;f=0;r=0;break}e=W2(a[l>>2]|0,12)|0;if(!e){l=0;t=0;e=12;f=0;r=0;break}a[n+16>>2]=e;e=d8(g,v,c,n)|0;if(!e)e=r;else{l=0;t=0;f=0;r=0;break}}else e=0;d=t+24|0;e=B8(g,v,c,d,e)|0;if(!e){e=a[d>>2]|0;a[d>>2]=e+1;e=v8(g,0,0,e)|0;if((e|0)!=0?(B=g8(g,c,e)|0,(B|0)!=0):0){e=E8(g,v,B)|0;if(!e){r=a[d>>2]|0;e=r<<2;o=m2(e)|0;if(o){h=m2(e)|0;if(h){if((r|0)>0)Y6(o|0,0,r<<2|0)|0;C8(B,0,o,0)|0;f=a[d>>2]|0;if((f|0)>0){e=0;r=0;do{a[h+(r<<2)>>2]=e;u=o+(r<<2)|0;e=e+1+(a[u>>2]|0)|0;a[u>>2]=0;r=r+1|0}while((r|0)<(f|0));s=e}else s=0;w=W2(s+1|0,32)|0;if(w){a[n>>2]=w;u=n+4|0;a[u>>2]=s;e=C8(B,w,o,h)|0;if(!e){a[n+20>>2]=0;f=B+24|0;e=a[f>>2]|0;r=0;while(1){r=r+1|0;if((a[e>>2]|0)<=-1)break;else e=e+32|0}b=W2(r,32)|0;if(!b){l=o;t=h;e=12;f=o;r=h}else{a[n+8>>2]=b;r=a[f>>2]|0;f=a[r>>2]|0;if((f|0)>-1){e=0;do{a[b+(e<<5)+8>>2]=w+(a[h+(f<<2)>>2]<<5);a[b+(e<<5)+12>>2]=f;t=b+(e<<5)+16|0;a[t>>2]=0;c=r+12|0;l=a[c>>2]|0;if(l|0){f=0;do{C=f;f=f+1|0}while((a[l+(C<<2)>>2]|0)>-1);f=f<<2;l=m2(f)|0;a[t>>2]=l;if(!l){l=o;t=h;e=12;f=o;r=h;break e}y6(l|0,a[c>>2]|0,f|0)|0}a[b+(e<<5)+20>>2]=a[r+16>>2];e=e+1|0;r=r+32|0;f=a[r>>2]|0}while((f|0)>-1)}else e=0;a[b+(e<<5)+8>>2]=0;a[u>>2]=s;a[n+12>>2]=w+(a[h+(a[a[B+28>>2]>>2]<<2)>>2]<<5);a[n+52>>2]=a[d>>2];a[n+56>>2]=i;s8(g);o8(v);L2(o);L2(h);a[A+4>>2]=n;e=0;break A}}else{l=o;t=h;f=o;r=h}}else{l=o;t=h;e=12;f=o;r=h}}else{l=o;t=h;e=12;f=o;r=0}}else{l=o;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{l=0;t=0;f=0;r=0}}else{l=0;t=0;e=12;f=0;r=0}}else{n=0;l=0;t=0;e=6;f=0;r=0}}else{n=0;l=0;t=0;f=0;r=0}}while(0);s8(g);o8(v);if(l|0)L2(f);if(t|0)L2(r);a[A+4>>2]=n;I8(A)}}while(0);k=E;return e|0}function k8(){var A=0,e=0;A=m2(20)|0;do{if(A){e=m2(2048)|0;a[A+16>>2]=e;if(!e){L2(A);A=0;break}else{a[A>>2]=512;a[A+4>>2]=1024e3;a[A+8>>2]=128;a[A+12>>2]=0;break}}}while(0);return A|0}function o8(A){A=A|0;L2(a[A+16>>2]|0);L2(A);return}function h8(A){A=A|0;var e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0;g=k;k=k+16|0;o=g+4|0;h=g;d=a[A+32>>2]&1;B=A+16|0;i=a[B>>2]|0;v=a[A+4>>2]|0;e=m8(v,0)|0;A:do{if(!e){s=(d|0)!=0;w=A+8|0;u=A+12|0;e=0;b=1;e:while(1){n=0;l=e;f=0;i:while(1){e=r[i>>0]|0;if(s){if(e<<24>>24==40)break;if((l|0)!=0&e<<24>>24==41)c=13;else c=14}else if(e<<24>>24==92)switch(r[i+1>>0]|0){case 40:break i;case 41:{c=13;break}default:c=14}else c=14;if((c|0)==13){c=0;t=v8(a[A>>2]|0,-1,-1,-1)|0;a[w>>2]=t;if(!t){e=12;break A}else t=f}else if((c|0)==14){c=0;e=p8(A,i)|0;if(e|0)break A;t=f;i=a[u>>2]|0}r:while(1){f:while(1){e=r[i>>0]|0;switch(e<<24>>24){case 42:case 92:break;default:{if(!s)break f;switch(e<<24>>24){case 123:case 63:case 43:break;default:break f}}}e=e<<24>>24==92;if(s&e)break;f=i+1|0;if(e)switch(r[f>>0]|0){case 123:case 63:case 43:break;default:break f}i=e?f:i;if((!s?(i|0)==((a[B>>2]|0)+1|0):0)?(r[i+-1>>0]|0)==94:0)break;if((r[i>>0]|0)==123){i=U8(i+1|0,d,o,h)|0;if(!i){c=28;break e}e=a[h>>2]|0;f=a[A>>2]|0;if(!e)e=v8(f,-1,-1,-1)|0;else c=36}else{a[o>>2]=0;a[h>>2]=-1;e=r[i>>0]|0;if(e<<24>>24==43){a[o>>2]=1;e=r[i>>0]|0}if(e<<24>>24==63){a[h>>2]=1;e=1}else e=-1;i=i+1|0;f=a[A>>2]|0;c=36}if((c|0)==36){c=0;e=J8(f,a[w>>2]|0,a[o>>2]|0,e,0)|0}a[w>>2]=e;if(!e){e=12;break A}}e=g8(a[A>>2]|0,n,a[w>>2]|0)|0;f=r[i>>0]|0;f:do{if(s){if(f<<24>>24==124){c=40;break r}if((l|0)!=0&f<<24>>24==41|f<<24>>24==0)c=47;else{n=e;f=t;continue i}}else{switch(f<<24>>24){case 0:{c=47;break f}case 92:break;default:{n=e;f=t;continue i}}switch(r[i+1>>0]|0){case 124:case 41:break;default:{n=e;f=t;continue i}}e=N8(a[A>>2]|0,t,e)|0;if((r[i+1>>0]|0)==124){f=2;break r}if(!l){e=8;break A}i=i+2|0;f=92}}while(0);if((c|0)==47){c=0;e=N8(a[A>>2]|0,t,e)|0;i=f<<24>>24==41?i+1|0:i}e=x8(A,e,L8(v)|0)|0;if(e|0)break A;e=f<<24>>24==0;f=(l|0)<1;if(f&e){c=50;break e}if(f|e){e=8;break A}n=W8(v)|0;l=l+-1|0;t=W8(v)|0}if((c|0)==40){f=1;e=N8(a[A>>2]|0,t,e)|0}n=0;i=i+f|0;f=e}e=Q8(v,f)|0;if(e|0)break A;e=Q8(v,n)|0;if(e|0)break A;e=m8(v,b)|0;if(e|0)break A;e=l+1|0;b=b+1|0;i=s?i+1|0:i+2|0}if((c|0)==28){e=10;break}else if((c|0)==50){a[A+20>>2]=b;e=0;break}}}while(0);k=g;return e|0}function d8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0;I=G8(e)|0;Z=(A|0)==0|(f|0)==0;if(!Z){a[f+48>>2]=0;a[a[f+36>>2]>>2]=-1}l=a[f+28>>2]|0;G=m2((l<<3)+8|0)|0;do{if(!G)n=12;else{a[G>>2]=-1;Q=m2((l<<2)+4|0)|0;if(!Q){L2(G);n=12;break}a[Q>>2]=-1;n=0;while(1)if(n>>>0>l>>>0)break;else n=n+1|0;Q8(e,i)|0;n=m8(e,0)|0;A:do{if((n|0)!=0|(G8(e)|0)<=(I|0)){i=G;u=0;l=0;w=0;s=-1}else{g=f+32|0;E=f+36|0;C=f+16|0;i=G;u=0;l=0;w=0;v=1;s=-1;B=0;while(1){e:do{switch(L8(e)|0){case 6:{t=L8(e)|0;n=0;do{c=i+(n<<2)|0;n=n+1|0}while((a[c>>2]|0)>-1);a[c>>2]=t<<1|1;a[i+(n<<2)>>2]=-1;n=0;while(1)if((a[Q+(n<<2)>>2]|0)>-1)n=n+1|0;else break;a[Q+(n+-1<<2)>>2]=-1;n=0;c=v;t=B;break}case 0:{h=W8(e)|0;d=h+12|0;c=a[d>>2]|0;if((c|0)>-1){n=0;do{t=i+(n<<2)|0;n=n+1|0}while((a[t>>2]|0)>-1);a[t>>2]=c<<1;a[i+(n<<2)>>2]=-1;if(!Z){n=0;while(1)if((a[Q+(n<<2)>>2]|0)>-1)n=n+1|0;else break;t=(a[C>>2]|0)+(c*12|0)+8|0;a[t>>2]=0;if((n|0)>0){n=m2((n<<2)+4|0)|0;if(!n){n=12;c=v;t=B;break e}a[t>>2]=n;t=a[Q>>2]|0;if((t|0)>-1){b=0;c=n;do{a[c>>2]=t;b=b+1|0;t=a[Q+(b<<2)>>2]|0;c=n+(b<<2)|0}while((t|0)>-1);n=c}a[n>>2]=-1}}n=m8(e,a[d>>2]|0)|0;if(n|0){c=v;t=B;break e}n=m8(e,6)|0;if(n|0){c=v;t=B;break e}}i:do{switch(a[h>>2]|0){case 0:{o=a[a[h+4>>2]>>2]|0;if((o|0)>-1|(o|0)==-4?(a[i>>2]|0)>-1:0){if(Z){a[h+20>>2]=1;n=0}else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=B;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;o=v+1|0;k=B;u=u+1|0;w=v}else{o=v;n=0;k=B}break}case 1:{c=a[h+4>>2]|0;b=a[c>>2]|0;c=a[c+4>>2]|0;n=Q8(e,h)|0;if(!n){n=m8(e,5)|0;if(!n){n=Q8(e,c)|0;if(!n){n=m8(e,0)|0;if(!n){t=b+20|0;n=m8(e,(a[t>>2]|0)+v|0)|0;if(!n){if((a[t>>2]|0)>0){t=(a[c+20>>2]|0)>0;n=t?v:-1;t=v+(t&1)|0}else{n=-1;t=v}n=m8(e,n)|0;if(!n){n=m8(e,4)|0;if(!n){n=Q8(e,b)|0;if(!n){o=t;n=m8(e,0)|0;k=B}else{o=t;k=B}}else{o=t;k=B}}else{o=t;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}case 2:{t=a[h+4>>2]|0;if(Z){if((a[i>>2]|0)>-1)n=1;else n=(r[t+12>>0]&1)!=0;n=m8(e,n&1)|0;if(n|0){o=v;k=B;break i}}else{n=m8(e,w)|0;if(n|0){o=v;k=B;break i}n=m8(e,r[t+12>>0]&1)|0;if(n|0){o=v;k=B;break i}}n=Q8(e,h)|0;if(!n){n=m8(e,1)|0;if(!n){n=Q8(e,a[t>>2]|0)|0;if(!n){n=m8(e,0)|0;if(!n){if((a[i>>2]|0)<=-1?(r[t+12>>0]&1)==0:0){o=v;n=0;k=0;break i}if(Z)n=0;else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=(r[t+12>>0]&1)==0?B:1;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;o=v+1|0;k=0;u=u+1|0;w=v}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}case 3:{c=a[h+4>>2]|0;b=a[c>>2]|0;c=a[c+4>>2]|0;t=(a[i>>2]|0)>-1;o=v+1|0;n=m8(e,t?o:v)|0;if(!n){n=m8(e,t?v:w)|0;if(!n){n=Q8(e,i)|0;if(!n){n=m8(e,(a[i>>2]|0)>>>31^1)|0;if(!n){n=Q8(e,h)|0;if(!n){n=Q8(e,c)|0;if(!n){n=Q8(e,b)|0;if(!n){n=m8(e,3)|0;if(!n){n=Q8(e,c)|0;if(!n){n=m8(e,0)|0;if(!n){n=m8(e,2)|0;if(n|0){o=v;k=B;break i}n=Q8(e,b)|0;if(n|0){o=v;k=B;break i}n=m8(e,0)|0;if(n|0){o=v;k=B;break i}if((a[i>>2]|0)>-1){if(Z)n=0;else{n=X8(A,h,w)|0;a[(a[g>>2]|0)+(w<<2)>>2]=B;if((s|0)>-1){c=a[E>>2]|0;t=0;while(1){b=c+(t<<2)|0;k=t+1|0;if((a[b>>2]|0)>-1)t=k;else break}a[b>>2]=w;a[c+(k<<2)>>2]=s;a[c+(t+2<<2)>>2]=-1;l=l+1|0;s=-1}R8(i,f,w)}a[i>>2]=-1;u=u+1|0;w=v;t=o}else{n=0;t=v}v=(a[h+16>>2]|0)>0;o=v?t+2|0:t;k=B;w=v?t+1|0:w}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}}else{o=v;k=B}break}default:{o=v;n=0;k=B}}}while(0);c=a[d>>2]|0;if((c|0)>-1){t=0;do{b=Q+(t<<2)|0;t=t+1|0}while((a[b>>2]|0)>-1);a[b>>2]=c;a[Q+(t<<2)>>2]=-1;c=o;t=k}else{c=o;t=k}break}case 1:{n=W8(e)|0;if(Z){t=a[(a[a[n+4>>2]>>2]|0)+20>>2]|0;a[n+20>>2]=(L8(e)|0)+t;t=0;s=-1}else{h=L8(e)|0;d=L8(e)|0;t=h;s=(h|0)==0?s:d}n=0;c=v;t=Z?B:(t|0)==0&1;break}case 4:{t=L8(e)|0;c=L8(e)|0;n=0;w=(t|0)>-1?t:w;t=B;break}case 5:{n=W8(e)|0;if(Z){c=a[n+4>>2]|0;a[n+20>>2]=(a[(a[c+4>>2]|0)+20>>2]|0)+(a[(a[c>>2]|0)+20>>2]|0);n=0;c=v;t=B}else{n=0;c=v;t=B}break}case 2:{while(1)if((a[i>>2]|0)>-1)i=i+4|0;else{n=0;c=v;t=B;break}break}case 3:{c=W8(e)|0;k=W8(e)|0;n=W8(e)|0;i=L8(e)|0;if(Z){d=a[n+4>>2]|0;B=n+16|0;a[n+20>>2]=(a[(a[d>>2]|0)+20>>2]|0)+i+(a[(a[d+4>>2]|0)+20>>2]|0)+((a[B>>2]|0)>0?2:0);n=B}else n=n+16|0;i=W8(e)|0;t=L8(e)|0;b=L8(e)|0;if((a[n>>2]|0)>0){if(Z)n=0;else{n=H8(A,c,t)|0;a[(a[g>>2]|0)+(t<<2)>>2]=1;if(!n)n=H8(A,k,b)|0;a[(a[g>>2]|0)+(b<<2)>>2]=1}u=u+2|0;c=v;t=1}else{n=0;c=v;t=1}break}default:{n=0;c=v;t=B}}}while(0);if((n|0)!=0|(G8(e)|0)<=(I|0))break A;else{v=c;B=t}}}}while(0);if(!Z?(R8(i,f,w),(s|0)>-1):0){t=a[f+36>>2]|0;i=0;while(1){c=t+(i<<2)|0;b=i+1|0;if((a[c>>2]|0)>-1)i=b;else break}a[c>>2]=w;a[t+(b<<2)>>2]=s;a[t+(i+2<<2)>>2]=-1;l=l+1|0}a[f+48>>2]=u;a[f+40>>2]=u;a[f+44>>2]=l;L2(G);L2(Q)}}while(0);return n|0}function B8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;Z=k;k=k+16|0;v=Z+12|0;I=Z+8|0;g=Z+4|0;E=Z;C=G8(e)|0;a[v>>2]=0;a[I>>2]=0;i=Q8(e,i)|0;A:do{if(!i){i=m8(e,0)|0;if(!i){e:do{if((G8(e)|0)>(C|0)){n=0;t=0;c=0;i:while(1){h=L8(e)|0;d=W8(e)|0;r:do{switch(h|0){case 0:{switch(a[d>>2]|0){case 0:{i=a[d+4>>2]|0;d=a[i>>2]|0;if(!((d|0)>-1|(d|0)==-4)){i=c;break r}d=i+8|0;i=(a[d>>2]|0)+c|0;a[d>>2]=i;if((i|0)<=(a[I>>2]|0)){i=c;break r}a[I>>2]=i;i=c;break r}case 3:{l=a[d+4>>2]|0;i=Q8(e,a[l+4>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;break}case 1:{l=a[d+4>>2]|0;i=Q8(e,a[l+4>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;break}case 2:{l=a[d+4>>2]|0;i=m8(e,c)|0;if(i|0)break e;i=Q8(e,d)|0;if(i|0)break e;i=m8(e,1)|0;if(i|0)break e;i=Q8(e,a[l>>2]|0)|0;if(i|0)break e;i=m8(e,0)|0;if(i|0)break e;if((a[l+4>>2]|0)<=1?(a[l+8>>2]|0)<=1:0)i=c;else{a[v>>2]=0;i=0}t=t+1|0;break r}default:{i=c;break r}}i=m8(e,0)|0;if(!i)i=c;else break e;break}case 1:{o=d+4|0;u=a[o>>2]|0;h=L8(e)|0;a[v>>2]=h;w=u+4|0;c=a[w>>2]|0;if((c|0)<=1)if((a[u+8>>2]|0)>1){a[g>>2]=0;if((c|0)>0)B=30;else{i=h;l=0;B=37}}else i=h;else{a[g>>2]=0;B=30}f:do{if((B|0)==30){i=V8(A,e,a[u>>2]|0,(c|0)>1?1:2,v,f,E,I)|0;if(!i){l=0;b=h;s=1}else{B=34;break i}while(1){i=a[E>>2]|0;if(!l)l=i;else l=g8(A,l,i)|0;if(!l){i=12;B=34;break i}c=a[w>>2]|0;if((s|0)>=(c|0)){i=b;B=37;break f}b=a[v>>2]|0;s=s+1|0;i=V8(A,e,a[u>>2]|0,(s|0)<(c|0)?1:2,v,f,E,I)|0;if(i|0){B=34;break i}}}}while(0);if((B|0)==37){B=0;w=u+8|0;b=a[w>>2]|0;if((b|0)==-1){b=a[v>>2]|0;i=V8(A,e,a[u>>2]|0,0,v,0,g,I)|0;if(i|0)break i;c=J8(A,a[g>>2]|0,0,-1,0)|0;a[g>>2]=c;if(!c){i=12;break i}else i=b}else if((c|0)<(b|0)){b=c;c=0;while(1){s=a[v>>2]|0;i=V8(A,e,a[u>>2]|0,0,v,0,E,I)|0;if(i|0){B=49;break i}if(!c){i=a[E>>2]|0;a[g>>2]=i}else{i=g8(A,a[E>>2]|0,c)|0;a[g>>2]=i}if(!i){i=12;B=49;break i}c=v8(A,-1,-1,-1)|0;if(!c){i=12;B=49;break i}c=N8(A,c,i)|0;a[g>>2]=c;if(!c){i=12;B=49;break i}b=b+1|0;if((b|0)>=(a[w>>2]|0)){i=s;break}}}else c=0;a[v>>2]=i;if(l){if(c){l=g8(A,l,c)|0;B=54}}else{l=c;B=54}if((B|0)==54){B=0;if(!l){i=12;break i}}a[o>>2]=a[l+4>>2];a[d>>2]=a[l>>2]}t=t+-1|0;l=i-h+n|0;if(!t){a[v>>2]=l;n=l;t=0;i=l}else n=l;break}default:i=c}}while(0);if((G8(e)|0)>(C|0))c=i;else{i=0;break e}}break A}else{i=0;n=0}}while(0);C=(a[r>>2]|0)+n|0;I=a[I>>2]|0;a[r>>2]=(I|0)>(C|0)?I:C}}}while(0);k=Z;return i|0}function v8(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;f=w8(A,0,0,1,20)|0;A=F8(A,0,f)|0;if(!A)A=0;else{a[f>>2]=e;a[f+4>>2]=i;a[f+8>>2]=r}return A|0}function g8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=w8(A,0,0,1,8)|0;A=F8(A,1,r)|0;if(!A)i=0;else{a[r>>2]=e;a[r+4>>2]=i;a[A+16>>2]=(a[i+16>>2]|0)+(a[e+16>>2]|0);i=A}}return i|0}function E8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0;u=k;k=k+16|0;c=u+4|0;b=u;s=G8(e)|0;i=Q8(e,i)|0;A:do{if(!i){i=m8(e,0)|0;if(!i)if((G8(e)|0)>(s|0)){e:while(1){l=L8(e)|0;t=W8(e)|0;i:do{switch(l|0){case 0:switch(a[t>>2]|0){case 0:{n=a[t+4>>2]|0;f=a[n>>2]|0;if((f|0)==-4){a[t+8>>2]=0;i=n+8|0;l=y8(A,a[i>>2]|0,0,1114111,0,0,-1)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=y8(A,a[i>>2]|0,0,1114111,0,0,a[n+4>>2]|0)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}i=t+8|0;if((f|0)<0){a[i>>2]=1;l=z8(A)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=z8(A)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}else{a[i>>2]=0;i=n+8|0;r=n+4|0;l=y8(A,a[i>>2]|0,f,a[r>>2]|0,0,0,-1)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=y8(A,a[i>>2]|0,a[n>>2]|0,a[r>>2]|0,a[n+12>>2]|0,a[n+16>>2]|0,-1)|0;a[t+28>>2]=l;if(!l){i=12;break A}else break i}}case 3:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,1)|0;if(i|0)break A;r=t+4|0;i=Q8(e,a[(a[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(i|0)break A;i=Q8(e,a[a[r>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}case 1:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,2)|0;if(i|0)break A;r=t+4|0;i=Q8(e,a[(a[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(i|0)break A;i=Q8(e,a[a[r>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}case 2:{i=Q8(e,t)|0;if(i|0)break A;i=m8(e,3)|0;if(i|0)break A;i=Q8(e,a[a[t+4>>2]>>2]|0)|0;if(i|0)break A;i=m8(e,0)|0;if(!i)break i;else break A}default:break i}case 1:{i=a[t+4>>2]|0;r=a[i>>2]|0;f=i+4|0;n=a[f>>2]|0;if(!(a[r+8>>2]|0))l=(a[n+8>>2]|0)!=0;else l=1;a[t+8>>2]=l&1;l=Y8(A,a[r+24>>2]|0,a[n+24>>2]|0,0,0)|0;a[t+24>>2]=l;if(!l){i=12;break A}l=Y8(A,a[(a[i>>2]|0)+28>>2]|0,a[(a[f>>2]|0)+28>>2]|0,0,0)|0;a[t+28>>2]=l;if(!l){i=12;break A}break}case 3:{l=a[t+4>>2]|0;i=a[l>>2]|0;if(!(a[l+4>>2]|0))r=1;else r=(a[i+8>>2]|0)!=0&1;a[t+8>>2]=r;a[t+24>>2]=a[i+24>>2];a[t+28>>2]=a[i+28>>2];break}case 2:{n=a[t+4>>2]|0;i=a[n>>2]|0;r=i+8|0;if(!(a[r>>2]|0))f=0;else f=(a[(a[n+4>>2]|0)+8>>2]|0)!=0;a[t+8>>2]=f&1;if(a[r>>2]|0){i=D8(e,i,0,0,c)|0;if(i|0)break e;r=m2((a[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}a[r>>2]=-1;a[b>>2]=0;i=D8(e,a[n>>2]|0,r,b,0)|0;if(i|0){w=45;break e}i=n+4|0;l=t+24|0;a[l>>2]=Y8(A,a[(a[i>>2]|0)+24>>2]|0,a[(a[n>>2]|0)+24>>2]|0,r,a[b>>2]|0)|0;L2(r);if(!(a[l>>2]|0)){i=12;break e}else f=i}else{a[t+24>>2]=a[i+24>>2];f=n+4|0}i=a[f>>2]|0;if(a[i+8>>2]|0){i=D8(e,i,0,0,c)|0;if(i|0)break e;r=m2((a[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}a[r>>2]=-1;a[b>>2]=0;i=D8(e,a[f>>2]|0,r,b,0)|0;if(i|0){w=52;break e}t=t+28|0;a[t>>2]=Y8(A,a[(a[n>>2]|0)+28>>2]|0,a[(a[f>>2]|0)+28>>2]|0,r,a[b>>2]|0)|0;L2(r);if(!(a[t>>2]|0)){i=12;break e}}else a[t+28>>2]=a[i+28>>2];break}default:{}}}while(0);if((G8(e)|0)<=(s|0)){i=0;break A}}if((w|0)==45)L2(r);else if((w|0)==52)L2(r)}else i=0}}while(0);k=u;return i|0}function C8(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;A:while(1){switch(a[A>>2]|0){case 2:{A=a[A+4>>2]|0;if((a[A+8>>2]|0)==-1?(l=a[A>>2]|0,l=Z8(a[l+28>>2]|0,a[l+24>>2]|0,e,i,r)|0,(l|0)!=0):0){A=l;break A}break}case 3:{f=a[A+4>>2]|0;A=C8(a[f>>2]|0,e,i,r)|0;if(A|0)break A;A=f+4|0;break}case 1:{f=a[A+4>>2]|0;n=f+4|0;A=Z8(a[(a[f>>2]|0)+28>>2]|0,a[(a[n>>2]|0)+24>>2]|0,e,i,r)|0;if(A|0)break A;A=C8(a[f>>2]|0,e,i,r)|0;if(!A)A=n;else break A;break}default:{A=0;break A}}A=a[A>>2]|0}return A|0}function I8(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0;l=a[A+4>>2]|0;if(l|0){r=l+4|0;A=a[l>>2]|0;if(a[r>>2]|0){i=0;do{if(a[A+(i<<5)+8>>2]|0){e=a[A+(i<<5)+16>>2]|0;if(e){L2(e);A=a[l>>2]|0}e=a[A+(i<<5)+28>>2]|0;if(e){L2(e);A=a[l>>2]|0}}i=i+1|0}while(i>>>0<(a[r>>2]|0)>>>0)}if(A|0)L2(A);i=l+8|0;A=a[i>>2]|0;if(A|0){if(a[A+8>>2]|0){while(1){e=a[A+16>>2]|0;if(e|0)L2(e);if(!(a[A+40>>2]|0))break;else A=A+32|0}A=a[i>>2]|0}L2(A)}f=l+16|0;A=a[f>>2]|0;if(A|0){n=l+28|0;e=a[n>>2]|0;if(e){r=0;do{i=a[A+(r*12|0)+8>>2]|0;if(i){L2(i);e=a[n>>2]|0;A=a[f>>2]|0}r=r+1|0}while(r>>>0>>0)}L2(A)}A=a[l+32>>2]|0;if(A|0)L2(A);A=a[l+20>>2]|0;if(A|0)L2(A);A=a[l+36>>2]|0;if(A|0)L2(A);L2(l)}return}function Z8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0;n=a[A>>2]|0;l=(n|0)>-1;A:do{if(!i)if(l){l=e+32|0;do{if((a[e>>2]|0)>-1?(Z=r+(n<<2)|0,a[Z>>2]=(a[Z>>2]|0)+1,(a[l>>2]|0)>-1):0){n=l;do{Z=r+(a[A>>2]<<2)|0;a[Z>>2]=(a[Z>>2]|0)+1;n=n+32|0}while((a[n>>2]|0)>-1)}A=A+32|0;n=a[A>>2]|0}while((n|0)>-1);n=0}else n=0;else if(l)while(1){l=a[e>>2]|0;e:do{if((l|0)>-1){o=A+4|0;h=A+8|0;d=A+16|0;B=A+20|0;v=A+24|0;g=A+28|0;E=A+12|0;r=-1;n=e;while(1){k=l;while(1){if((k|0)!=(r|0))break;n=n+32|0;l=a[n>>2]|0;if((l|0)>-1)k=l;else break e}s=i+(a[f+(a[A>>2]<<2)>>2]<<5)|0;while(1){l=s+8|0;if(!(a[l>>2]|0))break;else s=s+32|0}a[s+40>>2]=0;a[s>>2]=a[o>>2];a[s+4>>2]=a[h>>2];a[l>>2]=i+(a[f+(k<<2)>>2]<<5);a[s+12>>2]=k;l=a[B>>2]|0;r=a[n+16>>2]|a[d>>2]|(l|0?4:0)|(a[v>>2]|0?8:0);t=s+20|0;a[t>>2]=r;c=a[g>>2]|0;if((c|0)>-1){a[t>>2]=r|256;l=c}a[s+24>>2]=l;r=a[v>>2]|0;if(!r)a[s+28>>2]=0;else{l=0;do{u=l;l=l+1|0}while((a[r+(u<<2)>>2]|0)!=0);l=m2(l<<2)|0;a[s+28>>2]=l;if(!l){n=12;break A}b=a[v>>2]|0;r=a[b>>2]|0;if(r){c=0;t=l;do{a[t>>2]=r;c=c+1|0;r=a[b+(c<<2)>>2]|0;t=l+(c<<2)|0}while((r|0)!=0);l=t}a[l>>2]=0}r=a[E>>2]|0;if(!r)l=0;else{l=0;while(1)if((a[r+(l<<2)>>2]|0)>-1)l=l+1|0;else break}b=n+12|0;t=a[b>>2]|0;if(!t)r=0;else{r=0;while(1)if((a[t+(r<<2)>>2]|0)>-1)r=r+1|0;else break}c=s+16|0;t=a[c>>2]|0;if(t|0)L2(t);a[c>>2]=0;l=r+l|0;if((l|0)>0){u=m2((l<<2)+4|0)|0;a[c>>2]=u;if(!u){n=12;break A}r=a[E>>2]|0;if((r|0)!=0?(C=a[r>>2]|0,(C|0)>-1):0){l=0;t=C;do{a[u+(l<<2)>>2]=t;l=l+1|0;t=a[r+(l<<2)>>2]|0}while((t|0)>-1);w=l}else w=0;c=a[b>>2]|0;if((c|0)!=0?(I=a[c>>2]|0,(I|0)>-1):0){b=(w|0)>0;l=w;t=0;s=I;do{i:do{if(b){r=0;while(1){if((a[u+(r<<2)>>2]|0)==(s|0))break i;r=r+1|0;if((r|0)>=(w|0)){Z=39;break}}}else Z=39}while(0);if((Z|0)==39){Z=0;a[u+(l<<2)>>2]=s;l=l+1|0}t=t+1|0;s=a[c+(t<<2)>>2]|0}while((s|0)>-1)}else l=w;a[u+(l<<2)>>2]=-1}n=n+32|0;l=a[n>>2]|0;if((l|0)<=-1)break;else r=k}}}while(0);A=A+32|0;if((a[A>>2]|0)<=-1){n=0;break}}else n=0}while(0);return n|0}function G8(A){A=A|0;return a[A+12>>2]|0}function Q8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i+4|0;f=i;a[f>>2]=e;a[r>>2]=a[f>>2];e=M8(A,r)|0;k=i;return e|0}function m8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;i=k;k=k+16|0;r=i+4|0;f=i;a[f>>2]=e;a[r>>2]=a[f>>2];e=M8(A,r)|0;k=i;return e|0}function L8(A){A=A|0;var e=0,i=0;e=a[A+16>>2]|0;i=A+12|0;A=(a[i>>2]|0)+-1|0;a[i>>2]=A;return a[e+(A<<2)>>2]|0}function W8(A){A=A|0;var e=0,i=0;e=a[A+16>>2]|0;i=A+12|0;A=(a[i>>2]|0)+-1|0;a[i>>2]=A;return a[e+(A<<2)>>2]|0}function y8(A,e,i,r,f,n,l){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;l=l|0;A=w8(A,0,0,1,64)|0;if(!A)A=0;else{a[A>>2]=e;a[A+4>>2]=i;a[A+8>>2]=r;a[A+20>>2]=f;a[A+24>>2]=n;a[A+28>>2]=l;a[A+32>>2]=-1;a[A+36>>2]=-1;a[A+40>>2]=-1}return A|0}function z8(A){A=A|0;A=w8(A,0,0,1,32)|0;if(!A)A=0;else{a[A>>2]=-1;a[A+4>>2]=-1;a[A+8>>2]=-1}return A|0}function Y8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;k=(r|0)==0;if(k)u=0;else{n=0;while(1)if((a[r+(n<<2)>>2]|0)>-1)n=n+1|0;else{u=n;break}}l=0;while(1)if((a[e+(l<<5)>>2]|0)>-1)l=l+1|0;else{n=0;break}while(1)if((a[i+(n<<5)>>2]|0)>-1)n=n+1|0;else break;n=w8(A,0,0,1,(n+l<<5)+32|0)|0;A:do{if(!n)n=0;else{l=a[e>>2]|0;if((l|0)>-1){w=(u|0)>0;t=0;while(1){a[n+(t<<5)>>2]=l;a[n+(t<<5)+4>>2]=a[e+(t<<5)+4>>2];a[n+(t<<5)+8>>2]=a[e+(t<<5)+8>>2];a[n+(t<<5)+16>>2]=a[e+(t<<5)+16>>2]|f;a[n+(t<<5)+20>>2]=a[e+(t<<5)+20>>2];a[n+(t<<5)+24>>2]=a[e+(t<<5)+24>>2];a[n+(t<<5)+28>>2]=a[e+(t<<5)+28>>2];s=e+(t<<5)+12|0;c=a[s>>2]|0;l=(c|0)==0;if(k&l)l=0;else{if(l)b=0;else{l=0;while(1)if((a[c+(l<<2)>>2]|0)>-1)l=l+1|0;else{b=l;break}}l=w8(A,0,0,0,(b+u<<2)+4|0)|0;if(!l){n=0;break A}if((b|0)>0){s=a[s>>2]|0;c=0;do{a[l+(c<<2)>>2]=a[s+(c<<2)>>2];c=c+1|0}while((c|0)!=(b|0))}else b=0;if(w){c=0;do{a[l+(c+b<<2)>>2]=a[r+(c<<2)>>2];c=c+1|0}while((c|0)!=(u|0));c=u}else c=0;a[l+(c+b<<2)>>2]=-1}a[n+(t<<5)+12>>2]=l;t=t+1|0;l=a[e+(t<<5)>>2]|0;if((l|0)<=-1){u=t;break}}}else u=0;t=a[i>>2]|0;l=n+(u<<5)|0;if((t|0)>-1){w=0;s=u;do{a[l>>2]=t;a[n+(s<<5)+4>>2]=a[i+(w<<5)+4>>2];a[n+(s<<5)+8>>2]=a[i+(w<<5)+8>>2];a[n+(s<<5)+16>>2]=a[i+(w<<5)+16>>2];a[n+(s<<5)+20>>2]=a[i+(w<<5)+20>>2];a[n+(s<<5)+24>>2]=a[i+(w<<5)+24>>2];a[n+(s<<5)+28>>2]=a[i+(w<<5)+28>>2];c=i+(w<<5)+12|0;l=a[c>>2]|0;if(!l)l=0;else{t=0;while(1)if((a[l+(t<<2)>>2]|0)>-1)t=t+1|0;else break;l=w8(A,0,0,0,(t<<2)+4|0)|0;if(!l){n=0;break A}if((t|0)>0){b=a[c>>2]|0;c=0;do{a[l+(c<<2)>>2]=a[b+(c<<2)>>2];c=c+1|0}while((c|0)!=(t|0))}else t=0;a[l+(t<<2)>>2]=-1}a[n+(s<<5)+12>>2]=l;w=w+1|0;t=a[i+(w<<5)>>2]|0;s=w+u|0;l=n+(s<<5)|0}while((t|0)>-1)}a[l>>2]=-1}}while(0);return n|0}function D8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;k=G8(A)|0;o=(f|0)!=0;if(o)a[f>>2]=0;e=Q8(A,e)|0;A:do{if(!e){w=(i|0)==0;s=(r|0)==0;if((G8(A)|0)>(k|0))while(1){e=W8(A)|0;e:do{switch(a[e>>2]|0){case 0:{e=a[e+4>>2]|0;switch(a[e>>2]|0){case-3:break;case-2:{if(s)break e;a[r>>2]=a[r>>2]|a[e+4>>2];break e}default:break e}l=a[e+4>>2]|0;if((l|0)>-1){i:do{if(!w){e=0;while(1){t=i+(e<<2)|0;c=a[t>>2]|0;if((c|0)<=-1)break;if((c|0)==(l|0))break i;else e=e+1|0}a[t>>2]=l;a[i+(e+1<<2)>>2]=-1}}while(0);if(o)a[f>>2]=(a[f>>2]|0)+1}break}case 3:{e=a[e+4>>2]|0;l=a[e>>2]|0;if(a[l+8>>2]|0){b=l;u=6;break e}e=a[e+4>>2]|0;if(a[e+8>>2]|0){b=e;u=6}break}case 1:{e=a[e+4>>2]|0;l=Q8(A,a[e>>2]|0)|0;if(l|0){n=l;break A}b=a[e+4>>2]|0;u=6;break}case 2:{e=a[a[e+4>>2]>>2]|0;if(a[e+8>>2]|0){b=e;u=6}break}default:{}}}while(0);if((u|0)==6?(u=0,n=Q8(A,b)|0,n|0):0)break A;if((G8(A)|0)<=(k|0)){n=0;break A}}else n=0}else n=e}while(0);return n|0}function M8(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+16|0;n=b;i=A+12|0;r=a[i>>2]|0;c=a[A>>2]|0;if((r|0)>=(c|0)){i=a[A+4>>2]|0;if((c|0)<(i|0)?(f=(a[A+8>>2]|0)+c|0,f=(f|0)>(i|0)?i:f,l=A+16|0,t=y2(a[l>>2]|0,f<<2)|0,(t|0)!=0):0){a[A>>2]=f;a[l>>2]=t;a[n>>2]=a[e>>2];M8(A,n)|0;i=0}else i=12}else{a[(a[A+16>>2]|0)+(r<<2)>>2]=a[e>>2];a[i>>2]=(a[i>>2]|0)+1;i=0}k=b;return i|0}function F8(A,e,i){A=A|0;e=e|0;i=i|0;A=w8(A,0,0,1,32)|0;if((i|0)!=0&(A|0)!=0){a[A+4>>2]=i;a[A>>2]=e;a[A+8>>2]=-1;a[A+12>>2]=-1}else A=0;return A|0}function V8(A,e,i,f,n,l,t,c){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;l=l|0;t=t|0;c=c|0;var b=0,s=0,w=0,u=0,k=0,o=0,h=0,d=0;d=G8(e)|0;Q8(e,i)|0;i=m8(e,0)|0;A:do{if(!i){h=(f&1|0)==0;o=(f&2|0)!=0;k=0;s=1;i=t;while(1){if((G8(e)|0)>(d|0))u=i;else{f=k;i=0;break A}e:while(1){i:while(1){switch(L8(e)|0){case 1:{t=7;break i}case 0:{i=W8(e)|0;switch(a[i>>2]|0){case 0:{t=9;break e}case 3:{t=19;break e}case 1:{t=26;break e}case 2:{t=33;break i}default:{}}break}default:{}}if((G8(e)|0)<=(d|0)){f=k;i=0;break A}}if((t|0)==7)i=W8(e)|0;else if((t|0)==33){f=a[i+4>>2]|0;i=Q8(e,a[f>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=J8(A,a[f>>2]|0,a[f+4>>2]|0,a[f+8>>2]|0,r[f+12>>0]&1)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}i=a[i+4>>2]|0}if((G8(e)|0)>(d|0))u=i;else{f=k;i=0;break A}}if((t|0)==9){w=a[i+4>>2]|0;t=a[w+8>>2]|0;f=a[w>>2]|0;i=a[w+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(h|(f|0)!=-3)if((f|0)==-3)if(o&(s|0)!=0){a[l+(i<<2)>>2]=1;f=-3;b=k;s=0}else{f=-3;b=k}else b=k;else{i=-1;f=-1;t=-1;b=k}else{t=(a[n>>2]|0)+t|0;b=k+1|0}i=v8(A,f,i,t)|0;a[u>>2]=i;if(!i)i=12;else{i=a[i+4>>2]|0;a[i+12>>2]=a[w+12>>2];a[i+16>>2]=a[w+16>>2];i=0}if((t|0)>(a[c>>2]|0)){a[c>>2]=t;f=u}else f=u}else if((t|0)==19){t=a[i+4>>2]|0;f=t+4|0;i=N8(A,a[t>>2]|0,a[f>>2]|0)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}w=a[i+4>>2]|0;i=Q8(e,a[f>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=Q8(e,w+4|0)|0;if(i|0){f=k;break A}i=m8(e,1)|0;if(i|0){f=k;break A}i=Q8(e,a[t>>2]|0)|0;if(i|0){f=k;break A}b=k;f=w;i=m8(e,0)|0}else if((t|0)==26){w=a[i+4>>2]|0;t=w+4|0;i=g8(A,a[w>>2]|0,a[t>>2]|0)|0;a[u>>2]=i;if(!i){f=k;i=12;break A}f=a[i+4>>2]|0;a[f>>2]=0;b=f+4|0;a[b>>2]=0;i=Q8(e,a[t>>2]|0)|0;if(i|0){f=k;break A}i=m8(e,0)|0;if(i|0){f=k;break A}i=Q8(e,b)|0;if(i|0){f=k;break A}i=m8(e,1)|0;if(i|0){f=k;break A}i=Q8(e,a[w>>2]|0)|0;if(i|0){f=k;break A}b=k;i=m8(e,0)|0}if(!i){k=b;i=f}else{f=b;break}}}else f=0}while(0);a[n>>2]=(a[n>>2]|0)+f;return i|0}function J8(A,e,i,f,n){A=A|0;e=e|0;i=i|0;f=f|0;n=n|0;var l=0;l=w8(A,0,0,1,16)|0;A=F8(A,2,l)|0;if(!A)A=0;else{a[l>>2]=e;a[l+4>>2]=i;a[l+8>>2]=f;l=l+12|0;r[l>>0]=r[l>>0]&-2|n&1;a[A+16>>2]=a[e+16>>2]}return A|0}function N8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=w8(A,0,0,1,8)|0;A=F8(A,3,r)|0;if((i|0)!=0&(A|0)!=0){a[r>>2]=e;a[r+4>>2]=i;a[A+16>>2]=(a[i+16>>2]|0)+(a[e+16>>2]|0);i=A}else i=0}return i|0}function X8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=w8(A,0,0,0,8)|0;if(((r|0)!=0?(i=v8(A,-3,i,-1)|0,a[r>>2]=i,(i|0)!=0):0)?(f=w8(A,0,0,0,32)|0,a[r+4>>2]=f,(f|0)!=0):0){A=e+4|0;a[f+4>>2]=a[A>>2];a[f>>2]=a[e>>2];a[f+8>>2]=-1;a[f+12>>2]=-1;f=f+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[A>>2]=r;a[e>>2]=1;A=0}else A=12;return A|0}function R8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;f=a[A>>2]|0;if((f|0)>-1){n=a[e+16>>2]|0;r=0;e=f;do{f=e>>>1;a[((e&1|0)==0?n+(f*12|0)|0:n+(f*12|0)+4|0)>>2]=i;r=r+1|0;e=a[A+(r<<2)>>2]|0}while((e|0)>-1)}a[A>>2]=-1;return}function H8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=w8(A,0,0,0,8)|0;if(((r|0)!=0?(i=v8(A,-3,i,-1)|0,a[r+4>>2]=i,(i|0)!=0):0)?(f=w8(A,0,0,0,32)|0,a[r>>2]=f,(f|0)!=0):0){A=e+4|0;a[f+4>>2]=a[A>>2];a[f>>2]=a[e>>2];a[f+8>>2]=-1;a[f+12>>2]=-1;f=f+16|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[A>>2]=r;a[e>>2]=1;A=0}else A=12;return A|0}function p8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0;s=k;k=k+16|0;c=s;t=A+32|0;l=a[t>>2]|0;n=l&1;A:do{switch(r[e>>0]|0){case 91:{i=j8(A,e+1|0)|0;break}case 92:{i=e+1|0;f=S8(i)|0;if(f|0){i=p8(A,f)|0;a[A+12>>2]=e+2;break A}f=r[i>>0]|0;switch(f|0){case 0:{i=5;break A}case 98:{f=v8(a[A>>2]|0,-2,64,-1)|0;break}case 66:{f=v8(a[A>>2]|0,-2,128,-1)|0;break}case 60:{f=v8(a[A>>2]|0,-2,16,-1)|0;break}case 62:{f=v8(a[A>>2]|0,-2,32,-1)|0;break}case 120:{l=e+2|0;t=(r[l>>0]|0)==123;n=t?8:2;l=t?e+3|0:l;i=0;f=0;do{e=P8(r[l+i>>0]|0)|0;if((e|0)<0)break;f=e+(f<<4)|0;i=i+1|0}while((f|0)<1114112&(i|0)<(n|0));i=l+i|0;if(t){if((r[i>>0]|0)!=125){i=9;break A}i=i+1|0}c=a[A>>2]|0;t=A+24|0;b=a[t>>2]|0;a[t>>2]=b+1;f=v8(c,f,f,b)|0;i=i+-1|0;break}case 63:case 43:case 123:if(!n){i=13;break A}else{b=37;break A}case 124:{if(n|0){b=37;break A}i=v8(a[A>>2]|0,-1,-1,-1)|0;b=45;break A}default:{if(!((n|0)==0&(f+-49|0)>>>0<9)){b=37;break A}c=f+-48|0;b=a[A>>2]|0;t=A+24|0;f=a[t>>2]|0;a[t>>2]=f+1;f=v8(b,-4,c,f)|0;b=A+28|0;t=a[b>>2]|0;a[b>>2]=(c|0)<(t|0)?t:c}}e=i+1|0;i=f;b=45;break}case 46:{i=a[A>>2]|0;n=A+24|0;f=a[n>>2]|0;a[n>>2]=f+1;if(l&4){f=v8(i,0,9,f)|0;b=a[A>>2]|0;i=a[n>>2]|0;a[n>>2]=i+1;i=v8(b,11,1114111,i)|0;if((f|0)!=0&(i|0)!=0)i=N8(a[A>>2]|0,f,i)|0;else i=0}else i=v8(i,0,1114111,f)|0;e=e+1|0;b=45;break}case 94:{if((n|0)==0?(a[A+16>>2]|0)!=(e|0):0){i=e;b=37;break A}e=e+1|0;i=v8(a[A>>2]|0,-2,1,-1)|0;b=45;break}case 36:{i=e+1|0;if((n|0)==0?r[i>>0]|0:0){i=e;b=37;break A}e=i;i=v8(a[A>>2]|0,-2,2,-1)|0;b=45;break}case 63:case 43:case 123:case 42:{if(!n){i=e;b=37}else i=13;break}case 124:{if(!n){i=e;b=37}else b=36;break}case 0:{b=36;break}default:{i=e;b=37}}}while(0);if((b|0)==36){i=v8(a[A>>2]|0,-1,-1,-1)|0;b=45}else if((b|0)==37){l=G3(c,i,-1)|0;if((l|0)<0)i=2;else{do{if(a[t>>2]&2){if((b4(a[c>>2]|0)|0)==0?(c4(a[c>>2]|0)|0)==0:0){b=43;break}t=a[A>>2]|0;w=H1(a[c>>2]|0)|0;n=H1(a[c>>2]|0)|0;f=A+24|0;n=v8(t,w,n,a[f>>2]|0)|0;w=a[A>>2]|0;t=w4(a[c>>2]|0)|0;e=w4(a[c>>2]|0)|0;e=v8(w,t,e,a[f>>2]|0)|0;if((n|0)!=0&(e|0)!=0)n=N8(a[A>>2]|0,n,e)|0;else n=0}else b=43}while(0);if((b|0)==43){n=a[c>>2]|0;f=A+24|0;n=v8(a[A>>2]|0,n,n,a[f>>2]|0)|0}a[f>>2]=(a[f>>2]|0)+1;e=i+l|0;i=n;b=45}}if((b|0)==45)if(!i)i=12;else{a[A+8>>2]=i;a[A+12>>2]=e;i=0}k=s;return i|0}function U8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0;c=k;k=k+16|0;t=c+4|0;n=c;A=T8(A,t)|0;if((r[A>>0]|0)==44){A=T8(A+1|0,n)|0;l=a[n>>2]|0;n=a[t>>2]|0}else{t=a[t>>2]|0;a[n>>2]=t;l=t;n=t}do{if(!(n>>>0>255|((l|0)>255|(l|0)>-1&(l|0)<(n|0)))){if(!e)if((r[A>>0]|0)==92)A=A+1|0;else{A=0;break}if((r[A>>0]|0)==125){a[i>>2]=n;a[f>>2]=l;A=A+1|0}else A=0}else A=0}while(0);k=c;return A|0}function x8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0;if((a[e+12>>2]|0)>-1){r=v8(a[A>>2]|0,-1,-1,-1)|0;if((r|0)!=0?(f=g8(a[A>>2]|0,r,e)|0,(f|0)!=0):0){r=a[e+16>>2]|0;a[f+16>>2]=r;n=6}else r=12}else{f=e;r=a[e+16>>2]|0;n=6}if((n|0)==6){a[f+12>>2]=i;a[f+16>>2]=r+1;a[A+8>>2]=f;r=0}return r|0}function T8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0;a[e>>2]=-1;if(((r[A>>0]|0)+-48|0)>>>0<10){a[e>>2]=0;i=A;n=0;f=r[A>>0]|0;while(1){n=(n*10|0)+-48+(f<<24>>24)|0;a[e>>2]=n;A=i+1|0;f=r[A>>0]|0;if((n|0)>255|((f<<24>>24)+-48|0)>>>0>9)break;else i=A}}return A|0}function j8(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0;B=k;k=k+288|0;i=B+264|0;n=B;a[i>>2]=a[A>>2];l=i+8|0;a[l>>2]=0;a[i+12>>2]=32;o=m2(128)|0;d=i+4|0;a[d>>2]=o;if(!o)e=12;else{f=n+4|0;a[f>>2]=0;o=(r[e>>0]|0)==94;a[n>>2]=o&1;e=O8(A,o?e+1|0:e,i,n)|0;A:do{if(!e){o=(a[n>>2]|0)==0;if(!o){K4(a[d>>2]|0,a[l>>2]|0,4,111);e=_8(i)|0;if(!e){e=12;i=0;break}a[e>>2]=1114112;a[e+4>>2]=1114112;a[e+8>>2]=-1;e=a[f>>2]|0;if(e){i=e<<2;f=w8(a[A>>2]|0,0,0,0,i+4|0)|0;if(!f){e=12;i=0;break}y6(f|0,n+8|0,i|0)|0;a[f+(e<<2)>>2]=0}else f=0}else f=0;s=a[l>>2]|0;if((s|0)>0){w=a[d>>2]|0;u=A+24|0;i=0;e=0;b=0;while(1){c=a[w+(b<<2)>>2]|0;n=a[c>>2]|0;l=c+4|0;t=a[l>>2]|0;do{if(!o)if((n|0)>(e|0)){a[c>>2]=e;a[l>>2]=n+-1;e=t+1|0;h=14;break}else{c=t+1|0;e=(c|0)>=(e|0)?c:e;break}else h=14}while(0);if((h|0)==14){h=0;a[c+8>>2]=a[u>>2];a[c+16>>2]=f;c=F8(a[A>>2]|0,0,c)|0;i=N8(a[A>>2]|0,i,c)|0;if(!i){e=12;i=0;break A}}b=b+1|0;if((b|0)>=(s|0)){e=0;break}}}else{e=0;i=0}}else i=0}while(0);L2(a[d>>2]|0);d=A+24|0;a[d>>2]=(a[d>>2]|0)+1;a[A+8>>2]=i}k=B;return e|0}function S8(A){A=A|0;var e=0;e=r[A>>0]|0;A=0;while(1){if((r[63752+(A<<3)>>0]|0)==e<<24>>24)break;A=A+1|0;if((A|0)==12){A=12;break}}return a[63752+(A<<3)+4>>2]|0}function P8(A){A=A|0;var e=0;e=A+-48|0;if(e>>>0<10)return e|0;else{e=A|32;return((e+-97|0)>>>0<6?e+-87|0:-1)|0}return 0}function O8(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0;v=k;k=k+32|0;u=v;h=v+4|0;t=G3(u,e,-1)|0;n=r[e>>0]|0;A:do{if((t|0)>=1){d=f+4|0;w=A+32|0;l=e;c=t;e:while(1){t=(l|0)==(e|0);if(!(t|n<<24>>24!=93)){B=5;break}i:do{if(!(t|n<<24>>24!=45)){switch(r[l+1>>0]|0){case 93:break i;case 45:break;default:{n=11;break A}}if((r[l+2>>0]|0)==93){n=11;break A}}}while(0);i:do{if(n<<24>>24==91){switch(r[l+1>>0]|0){case 61:case 46:{n=3;break A}case 58:break;default:{B=17;break i}}t=l+2|0;n=0;r:while(1){switch(r[t+n>>0]|0){case 0:{B=16;break e}case 58:break r;default:{}}if((n|0)<13)n=n+1|0;else{B=16;break e}}y6(h|0,t|0,n|0)|0;r[h+n>>0]=0;c=z4(h)|0;if(!c){B=16;break e}l=t+(n+2)|0;if((r[t+(n+1)>>0]|0)!=93){B=16;break e}if(!(a[f>>2]|0)){n=1114111;s=0;b=1;B=25}else{n=a[d>>2]|0;if((n|0)>63){n=12;break A}a[d>>2]=n+1;a[f+8+(n<<2)>>2]=c}}else B=17}while(0);if((B|0)==17){B=0;t=a[u>>2]|0;l=l+c|0;if((r[l>>0]|0)==45?(o=l+1|0,(r[o>>0]|0)!=93):0){l=G3(u,o,-1)|0;n=a[u>>2]|0;if((l|0)<1|(t|0)>(n|0)){n=11;break A}c=0;s=t;l=o+l|0;b=0;B=25}else{c=0;n=t;s=t;b=0;B=25}}if((B|0)==25){B=0;t=_8(i)|0;if(!t){n=12;break A}a[t>>2]=s;a[t+4>>2]=n;a[t+12>>2]=c;a[t+8>>2]=-1;if(!(b|(a[w>>2]&2|0)==0)?(q8(i,s,n)|0)!=0:0){n=12;break A}}c=G3(u,l,-1)|0;n=r[l>>0]|0;if((c|0)<1){B=3;break A}}if((B|0)==5){a[A+12>>2]=l+1;n=0;break}else if((B|0)==16){n=4;break}}else B=3}while(0);if((B|0)==3)n=n<<24>>24?2:7;k=v;return n|0}function K8(A,e){A=A|0;e=e|0;return(a[a[A>>2]>>2]|0)-(a[a[e>>2]>>2]|0)|0}function _8(A){A=A|0;var e=0,i=0,r=0,f=0,n=0,l=0,t=0;l=A+8|0;i=a[l>>2]|0;r=A+12|0;f=a[r>>2]|0;if((i|0)>=(f|0))if((f|0)<=32767?(a[r>>2]=f<<1,n=A+4|0,e=y2(a[n>>2]|0,f<<3)|0,(e|0)!=0):0){a[n>>2]=e;i=a[l>>2]|0;t=6}else e=0;else{e=a[A+4>>2]|0;t=6}if((t|0)==6){a[l>>2]=i+1;t=w8(a[A>>2]|0,0,0,1,20)|0;a[e+(i<<2)>>2]=t;e=t}return e|0}function q8(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0,n=0,l=0;A:do{if((e|0)>(i|0))e=0;else while(1){e:do{if(!(c4(e)|0)){if(!(b4(e)|0)){e=e+1|0;break}f=w4(e)|0;r=f;while(1){n=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=n;n=12;break e}if((w4(n)|0)==(r|0))e=n;else{l=f;e=n;n=12;break}}}else{f=H1(e)|0;r=f;while(1){n=e+1|0;r=r+1|0;if((e|0)>=(i|0)){l=f;e=n;n=12;break e}if((H1(n)|0)==(r|0))e=n;else{l=f;e=n;n=12;break}}}}while(0);if((n|0)==12){n=0;f=_8(A)|0;if(!f){e=-1;break A}a[f>>2]=l;a[f+4>>2]=r+-1;a[f+8>>2]=-1}if((e|0)>(i|0)){e=0;break}}}while(0);return e|0}function $8(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;w=k;k=k+16|0;b=w;t=a[A+4>>2]|0;c=t+56|0;l=(a[c>>2]&8|0)==0?i:0;A=a[t+40>>2]|0;if((A|0)>0&(l|0)!=0){A=m2(A<<2)|0;if(!A)A=12;else{n=A;i=A;s=3}}else{n=0;i=0;s=3}if((s|0)==3){if(!(a[t+60>>2]|0))A=e6(t,e,n,f,b)|0;else A=A6(t,e,n,f,b)|0;if(!A)i6(l,r,a[c>>2]|0,t,n,a[b>>2]|0);if(n)L2(i)}k=w;return A|0}function A6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,U=0,x=0,T=0,j=0,S=0;S=k;k=k+16|0;T=S;a[T>>2]=0;u=r&1;U=r&2;x=A+56|0;w=a[x>>2]&4;j=b8(0,0)|0;A:do{if(j){o=w8(j,0,0,0,32)|0;if(!o){s8(j);r=12;break}a[o+24>>2]=0;a[o+28>>2]=0;p=A+40|0;h=a[p>>2]|0;if(h){r=m2(h<<2)|0;if(!r){s=0;b=0;c=r;r=12;t=0;l=0;n=0}else{c=r;t=r;L=6}}else{c=0;t=0;L=6}e:do{if((L|0)==6){r=a[A+28>>2]|0;if(r){r=m2(r<<3)|0;if(!r){s=r;b=0;r=12;l=0;n=0;break}else{s=r;l=r}}else{s=0;l=0}H=A+52|0;r=a[H>>2]|0;if(r){r=m2(r<<2)|0;if(!r){b=r;r=12;n=0;break}else{b=r;n=r}}else{b=0;n=0}V=A+8|0;J=A+12|0;N=(i|0)==0;X=(i|0)!=0;R=A+32|0;F=(w|0)!=0;M=(u|0)==0;B=e;r=1;d=-1;E=-1;w=h;m=0;i:while(1){if((w|0)>0){u=0;do{a[c+(u<<2)>>2]=-1;if(!N){a[i+(u<<2)>>2]=-1;w=a[p>>2]|0}u=u+1|0}while((u|0)<(w|0))}w=a[H>>2]|0;if((w|0)>0)Y6(n|0,0,w<<2|0)|0;Y=r+d|0;r=G3(T,B,4)|0;if((r|0)<1)if((r|0)<0){r=1;break e}else r=1;z=B+r|0;D=a[T>>2]|0;w=a[V>>2]|0;u=w+8|0;if(a[u>>2]|0){C=(Y|0)!=0;I=(m|0)==95;Z=(Y|0)==0;Q=F&(m|0)==10;G=(Y|0)<1&M;g=w;w=0;v=0;B=u;while(1){d=g+20|0;u=a[d>>2]|0;r:do{if(u)if((u&1|0)==0|G|Q){if(u&2|0?(y=a[T>>2]|0,!((y|U|0)==0|F&(y|0)==10)):0){h=v;break}do{if(u&16|0){if(I){h=v;break r}if(a4(m)|0){h=v;break r}u=a[T>>2]|0;if((u|0)==95)break;if(!(a4(u)|0)){h=v;break r}}}while(0);u=a[d>>2]|0;if(u&32){if(I){u=a[T>>2]|0;if((u|0)==95){h=v;break}}else{y=(a4(m)|0)==0;u=a[T>>2]|0;if(y|(u|0)==95){h=v;break}}if(a4(u)|0){h=v;break}u=a[d>>2]|0}h=a[T>>2]|0;do{if((h|0)!=0&(C&(u&64|0)!=0)){if(I)u=1;else{u=(a4(m)|0)!=0;h=a[T>>2]|0}if((h|0)==95)if(u){h=v;break r}else break;else if(u^(a4(h)|0)!=0)break;else{h=v;break r}}}while(0);if(!(a[d>>2]&128)){L=49;break}u=a[T>>2]|0;if(Z|(u|0)==0){h=v;break}if(I)h=1;else{h=(a4(m)|0)!=0;u=a[T>>2]|0}if((u|0)==95)if(h){L=49;break}else{h=v;break}else if(h^(a4(u)|0)!=0){h=v;break}else{L=49;break}}else h=v;else L=49}while(0);do{if((L|0)==49){L=0;if(!v){w=a[g+16>>2]|0;h=a[B>>2]|0;break}h=o+28|0;u=a[h>>2]|0;if(!u){u=w8(j,0,0,0,32)|0;if(!u){L=53;break i}a[u+24>>2]=o;a[u+28>>2]=0;y=w8(j,0,0,0,a[p>>2]<<2)|0;a[u+20>>2]=y;if(!y){L=60;break i}a[h>>2]=u;o=u}else o=u;a[o>>2]=Y;a[o+4>>2]=z;a[o+8>>2]=a[B>>2];a[o+12>>2]=a[g+12>>2];a[o+16>>2]=a[T>>2];if((a[p>>2]|0)>0){h=a[o+20>>2]|0;u=0;do{a[h+(u<<2)>>2]=a[c+(u<<2)>>2];u=u+1|0}while((u|0)<(a[p>>2]|0))}u=a[g+16>>2]|0;if(!u)h=v;else{h=a[u>>2]|0;if((h|0)<=-1){h=v;break}d=a[o+20>>2]|0;do{u=u+4|0;a[d+(h<<2)>>2]=Y;h=a[u>>2]|0}while((h|0)>-1);h=v}}}while(0);B=g+40|0;if(!(a[B>>2]|0))break;else{g=g+32|0;v=h}}if(w){u=a[w>>2]|0;if((u|0)>-1)do{a[c+(u<<2)>>2]=Y;w=w+4|0;u=a[w>>2]|0}while((u|0)>-1)}else w=0;if(!h)L=171;else{B=Y;d=z;C=h;I=w;L=79}}else{w=0;L=171}r:while(1){if((L|0)==79){if((C|0)==(a[J>>2]|0)){if((E|0)>=(B|0)){if(!(X&(E|0)==(B|0))){w=I;L=171;continue}w=a[p>>2]|0;if(!(f6(w,a[R>>2]|0,c,i)|0)){w=I;L=171;continue}}else{if(N){E=B;w=I;L=171;continue}w=a[p>>2]|0}if((w|0)>0)w=0;else{E=B;w=I;L=171;continue}while(1){a[i+(w<<2)>>2]=a[c+(w<<2)>>2];w=w+1|0;if((w|0)>=(a[p>>2]|0)){E=B;w=I;L=171;continue r}}}g=C+8|0;if((a[g>>2]|0)!=0?(a[C+20>>2]&256|0)!=0:0){u=a[C+24>>2]|0;i6(u+1|0,s,a[x>>2]&-9,A,c,B);y=a[s+(u<<3)>>2]|0;u=(a[s+(u<<3)+4>>2]|0)-y|0;if(Z1(e+y|0,d+-1|0,u)|0){w=I;L=171;continue}y=(u|0)==0;w=y&1;h=a[C+12>>2]|0;if(y?a[b+(h<<2)>>2]|0:0){w=I;L=171;continue}a[b+(h<<2)>>2]=w;u=u+-1|0;d=d+u|0;u=u+B|0;h=a[T>>2]|0;w=G3(T,d,4)|0;if((w|0)<1)if((w|0)<0){r=1;break e}else w=1;W=d+w|0;y=w}else{h=a[T>>2]|0;if(!h){w=I;L=171;continue}w=G3(T,d,4)|0;if((w|0)<1)if((w|0)<0){r=1;break e}else w=1;u=B;W=d+w|0;y=w}B=u+r|0;if(!(a[g>>2]|0)){r=y;w=I;L=171;continue}Z=(B|0)!=0;G=(h|0)==95;Q=(B|0)==0;L=F&(h|0)==10;m=(B|0)<1&M;v=0;w=I;while(1){f:do{if((a[C>>2]|0)>>>0<=h>>>0){if((a[C+4>>2]|0)>>>0>>0)break;d=C+20|0;r=a[d>>2]|0;do{if(r|0){if(!((r&1|0)==0|m|L))break f;if(r&2|0?(I=a[T>>2]|0,!((I|U|0)==0|F&(I|0)==10)):0)break f;do{if(r&16|0){if(G)break f;if(a4(h)|0)break f;r=a[T>>2]|0;if((r|0)==95)break;if(!(a4(r)|0))break f}}while(0);r=a[d>>2]|0;if(r&32){if(G){r=a[T>>2]|0;if((r|0)==95)break f}else{I=(a4(h)|0)==0;r=a[T>>2]|0;if(I|(r|0)==95)break f}if(a4(r)|0)break f;r=a[d>>2]|0}u=a[T>>2]|0;do{if((u|0)!=0&(Z&(r&64|0)!=0)){if(G)r=1;else{r=(a4(h)|0)!=0;u=a[T>>2]|0}if((u|0)==95)if(r)break f;else break;else if(r^(a4(u)|0)!=0)break;else break f}}while(0);do{if(a[d>>2]&128|0){r=a[T>>2]|0;if(Q|(r|0)==0)break f;if(G)u=1;else{u=(a4(h)|0)!=0;r=a[T>>2]|0}if((r|0)==95)if(u)break;else break f;else if(u^(a4(r)|0)!=0)break f;else break}}while(0);r=a[d>>2]|0;do{if(r&4){if(a[x>>2]&2|0)break;if(!(f4(h,a[C+24>>2]|0)|0))break f;r=a[d>>2]|0}}while(0);do{if(r&4|0){if(!(a[x>>2]&2))break;I=w4(h)|0;r=C+24|0;if(f4(I,a[r>>2]|0)|0)break;I=H1(h)|0;if(!(f4(I,a[r>>2]|0)|0))break f}}while(0);if(!(a[d>>2]&8))break;if(r6(a[C+28>>2]|0,h,a[x>>2]&2)|0)break f}}while(0);if(!v){v=a[g>>2]|0;w=a[C+16>>2]|0;break}u=o+28|0;r=a[u>>2]|0;if(!r){r=w8(j,0,0,0,32)|0;if(!r){L=145;break i}a[r+24>>2]=o;a[r+28>>2]=0;I=w8(j,0,0,0,a[p>>2]<<2)|0;a[r+20>>2]=I;if(!I){L=152;break i}a[u>>2]=r;o=r}else o=r;a[o>>2]=B;a[o+4>>2]=W;a[o+8>>2]=a[g>>2];a[o+12>>2]=a[C+12>>2];a[o+16>>2]=a[T>>2];if((a[p>>2]|0)>0){u=a[o+20>>2]|0;r=0;do{a[u+(r<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0}while((r|0)<(a[p>>2]|0))}r=a[C+16>>2]|0;if(!r)break;u=a[r>>2]|0;if((u|0)<=-1)break;d=a[o+20>>2]|0;do{a[d+(u<<2)>>2]=B;r=r+4|0;u=a[r>>2]|0}while((u|0)>-1)}}while(0);g=C+40|0;if(!(a[g>>2]|0))break;else C=C+32|0}if(!v){r=y;L=171;continue}if(w){r=a[w>>2]|0;if((r|0)>-1){do{w=w+4|0;a[c+(r<<2)>>2]=B;r=a[w>>2]|0}while((r|0)>-1);h=E;u=W;r=y}else{h=E;u=W;r=y}}else{h=E;u=W;r=y;w=0}}else if((L|0)==171){L=0;d=a[o+24>>2]|0;if(!d)break;v=a[o+8>>2]|0;if(a[v+20>>2]&256|0)a[b+(a[o+12>>2]<<2)>>2]=0;B=a[o>>2]|0;g=a[o+4>>2]|0;a[T>>2]=a[o+16>>2];h=a[p>>2]|0;if((h|0)>0){o=a[o+20>>2]|0;u=0;do{a[c+(u<<2)>>2]=a[o+(u<<2)>>2];u=u+1|0}while((u|0)<(h|0));o=d;h=E;u=g}else{o=d;h=E;u=g}}d=u;E=h;C=v;I=w;L=79}w=(E|0)>-1;if(w|(a[T>>2]|0)==0){L=180;break}a[T>>2]=D;B=z;d=Y;w=a[p>>2]|0;m=D}if((L|0)==53){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==60){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==145){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==152){s8(j);if(c|0)L2(t);if(s|0)L2(l);if(!b){r=12;break A}L2(n);r=12;break A}else if((L|0)==180){a[f>>2]=E;r=(w^1)&1;break}}}while(0);s8(j);if(c|0)L2(t);if(s|0)L2(l);if(b)L2(n)}else r=12}while(0);k=S;return r|0}function e6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,o=0,h=0,d=0,B=0,v=0,g=0,E=0,C=0,I=0,Z=0,G=0,Q=0,m=0,L=0,W=0,y=0,z=0,Y=0,D=0,M=0,F=0,V=0,J=0,N=0,X=0,R=0,H=0,p=0,x=0,T=0,j=0,S=0,P=0;P=k;k=k+16|0;T=P;a[T>>2]=0;b=r&1;H=r&2;p=A+56|0;c=a[p>>2]&4;if(!i)X=0;else X=a[A+40>>2]|0;R=X<<2;t=a[A+52>>2]|0;l=t<<3;n=l+8|0;r=R+12+l+(n+(U(R,t)|0)<<1)|0;j=m2(r)|0;if(!j)r=12;else{Y6(j|0,0,r|0)|0;r=j+R|0;s=r&3;s=r+((s|0)==0?0:4-s|0)|0;r=s+n|0;w=r&3;w=r+((w|0)==0?0:4-w|0)|0;r=w+n|0;N=r&3;N=r+((N|0)==0?0:4-N|0)|0;r=N+l|0;n=r&3;l=(t|0)>0;if(l){r=r+((n|0)==0?0:4-n|0)|0;n=0;while(1){a[w+(n<<3)+4>>2]=r;r=r+R|0;a[s+(n<<3)+4>>2]=r;n=n+1|0;if((n|0)>=(t|0))break;else r=r+R|0}if(l){r=0;do{a[N+(r<<3)>>2]=-1;r=r+1|0}while((r|0)<(t|0))}}r=G3(T,e,4)|0;if((r|0)<1)if((r|0)<0)r=1;else{t=1;S=11}else{t=r;S=11}A:do{if((S|0)==11){J=A+8|0;V=(c|0)!=0;y=(b|0)==0;z=(X|0)>0;Y=A+12|0;D=(X|0)<1;M=A+44|0;F=A+32|0;L=A+36|0;W=(X|0)==0;l=0;E=e+t|0;g=0;c=0;r=-1;n=s;Q=j;I=s;C=w;while(1){if((r|0)<0){A=a[J>>2]|0;b=A+8|0;e:do{if(a[b>>2]|0){o=(g|0)!=0;h=(l|0)==95;d=(g|0)==0;v=V&(l|0)==10;B=(g|0)<1&y;while(1){i:while(1){u=A+12|0;if((a[N+(a[u>>2]<<3)>>2]|0)>=(g|0))break;w=A+20|0;e=a[w>>2]|0;if(!e){S=46;break}r:do{if((e&1|0)==0|B|v){if(e&2|0?(m=a[T>>2]|0,!((m|H|0)==0|V&(m|0)==10)):0)break;do{if(e&16|0){if(h)break r;if(a4(l)|0)break r;e=a[T>>2]|0;if((e|0)==95)break;if(!(a4(e)|0))break r}}while(0);e=a[w>>2]|0;if(e&32){if(h){e=a[T>>2]|0;if((e|0)==95)break}else{m=(a4(l)|0)==0;e=a[T>>2]|0;if(m|(e|0)==95)break}if(a4(e)|0)break;e=a[w>>2]|0}s=a[T>>2]|0;do{if((s|0)!=0&(o&(e&64|0)!=0)){if(h)e=1;else{e=(a4(l)|0)!=0;s=a[T>>2]|0}if((s|0)==95)if(e)break r;else break;else if(e^(a4(s)|0)!=0)break;else break r}}while(0);if(!(a[w>>2]&128)){S=46;break i}e=a[T>>2]|0;if(d|(e|0)==0)break;if(h)s=1;else{s=(a4(l)|0)!=0;e=a[T>>2]|0}if((e|0)==95)if(s){S=46;break i}else break;else if(s^(a4(e)|0)!=0)break;else{S=46;break i}}}while(0);b=A+40|0;if(!(a[b>>2]|0))break e;else A=A+32|0}if((S|0)==46){S=0;a[n>>2]=a[b>>2];if(z)Y6(a[n+4>>2]|0,-1,R|0)|0;b=a[A+16>>2]|0;if(b|0?(x=a[b>>2]|0,(x|0)>-1):0){s=n+4|0;e=x;do{if((e|0)<(X|0))a[(a[s>>2]|0)+(e<<2)>>2]=g;b=b+4|0;e=a[b>>2]|0}while((e|0)>-1)}b=(a[n>>2]|0)!=(a[Y>>2]|0);if(b|D){c=b?c:1;r=b?r:g;b=n+4|0}else{b=n+4|0;c=a[b>>2]|0;r=0;do{a[i+(r<<2)>>2]=a[c+(r<<2)>>2];r=r+1|0}while((r|0)!=(X|0));c=1;r=g}m=a[u>>2]|0;a[N+(m<<3)>>2]=g;a[N+(m<<3)+4>>2]=b;n=n+8|0}b=A+40|0;if(!(a[b>>2]|0))break;else A=A+32|0}}}while(0);a[n>>2]=0;n=a[T>>2]|0;if(!n)break;else l=n}else{if(W)break;l=a[T>>2]|0;if(!((n|0)!=(I|0)&(l|0)!=0))break}m=g+t|0;n=G3(T,E,4)|0;if((n|0)<1)if((n|0)<0){r=1;break A}else t=1;else t=n;G=E+t|0;if((c|0)!=0&(a[M>>2]|0)!=0){if(!(a[I>>2]|0))n=C;else{u=a[L>>2]|0;o=a[u>>2]|0;h=(o|0)>-1;w=I;n=C;do{s=w+4|0;e:do{if(h){b=0;e=o;do{A=a[u+((b|1)<<2)>>2]|0;if((e|0)>=(X|0))break e;c=a[s>>2]|0;if((a[c+(A<<2)>>2]|0)==(a[i+(A<<2)>>2]|0)?(a[c+(e<<2)>>2]|0)<(a[i+(e<<2)>>2]|0):0)break e;b=b+2|0;e=a[u+(b<<2)>>2]|0}while((e|0)>-1);b=s;S=75}else{b=s;c=a[s>>2]|0;S=75}}while(0);if((S|0)==75){S=0;a[n>>2]=a[w>>2];E=n+4|0;Z=a[E>>2]|0;a[E>>2]=c;a[b>>2]=Z;n=n+8|0}w=w+8|0}while((a[w>>2]|0)!=0)}a[n>>2]=0;Z=I;c=0}else{Z=C;C=I}b=a[C>>2]|0;if(!b){b=Q;n=Z}else{d=(m|0)!=0;B=(l|0)==95;v=(m|0)==0;E=V&(l|0)==10;g=(m|0)<1&y;h=C;A=Q;n=Z;while(1){e=b+8|0;if(a[e>>2]|0){o=h+4|0;u=A;w=e;while(1){e:do{if((a[b>>2]|0)>>>0<=l>>>0?(a[b+4>>2]|0)>>>0>=l>>>0:0){s=b+20|0;A=a[s>>2]|0;do{if(A|0){if(!((A&1|0)==0|g|E)){A=u;break e}if(A&2|0?(Q=a[T>>2]|0,!((Q|H|0)==0|V&(Q|0)==10)):0){A=u;break e}do{if(A&16|0){if(B){A=u;break e}if(a4(l)|0){A=u;break e}A=a[T>>2]|0;if((A|0)==95)break;if(!(a4(A)|0)){A=u;break e}}}while(0);A=a[s>>2]|0;if(A&32){if(B){A=a[T>>2]|0;if((A|0)==95){A=u;break e}}else{Q=(a4(l)|0)==0;A=a[T>>2]|0;if(Q|(A|0)==95){A=u;break e}}if(a4(A)|0){A=u;break e}A=a[s>>2]|0}e=a[T>>2]|0;do{if((e|0)!=0&(d&(A&64|0)!=0)){if(B)A=1;else{A=(a4(l)|0)!=0;e=a[T>>2]|0}if((e|0)==95)if(A){A=u;break e}else break;else if(A^(a4(e)|0)!=0)break;else{A=u;break e}}}while(0);do{if(a[s>>2]&128|0){A=a[T>>2]|0;if(v|(A|0)==0){A=u;break e}if(B)e=1;else{e=(a4(l)|0)!=0;A=a[T>>2]|0}if((A|0)==95)if(e)break;else{A=u;break e}else if(e^(a4(A)|0)!=0){A=u;break e}else break}}while(0);A=a[s>>2]|0;do{if(A&4){if(a[p>>2]&2|0)break;if(!(f4(l,a[b+24>>2]|0)|0)){A=u;break e}A=a[s>>2]|0}}while(0);do{if(A&4|0){if(!(a[p>>2]&2))break;Q=w4(l)|0;A=b+24|0;if(f4(Q,a[A>>2]|0)|0)break;Q=H1(l)|0;if(!(f4(Q,a[A>>2]|0)|0)){A=u;break e}}}while(0);if(!(a[s>>2]&8))break;if(r6(a[b+28>>2]|0,l,a[p>>2]&2)|0){A=u;break e}}}while(0);if(z){e=a[o>>2]|0;A=0;do{a[u+(A<<2)>>2]=a[e+(A<<2)>>2];A=A+1|0}while((A|0)!=(X|0))}A=a[b+16>>2]|0;do{if(A|0){e=a[A>>2]|0;if((e|0)<=-1)break;do{if((e|0)<(X|0))a[u+(e<<2)>>2]=m;A=A+4|0;e=a[A>>2]|0}while((e|0)>-1)}}while(0);A=a[b+12>>2]|0;e=N+(A<<3)|0;if((a[e>>2]|0)>=(m|0)){A=a[N+(A<<3)+4>>2]|0;e=a[A>>2]|0;if(!(f6(X,a[F>>2]|0,u,e)|0)){A=u;break}a[A>>2]=u;if((a[w>>2]|0)!=(a[Y>>2]|0)){A=e;break}if(z)r=0;else{c=1;A=e;r=m;break}while(1){a[i+(r<<2)>>2]=a[u+(r<<2)>>2];r=r+1|0;if((r|0)==(X|0)){c=1;A=e;r=m;break e}}}Q=a[w>>2]|0;a[n>>2]=Q;I=n+4|0;s=a[I>>2]|0;a[I>>2]=u;a[e>>2]=m;a[N+(A<<3)+4>>2]=I;do{if((a[Y>>2]|0)==(Q|0)){if((r|0)==-1)if(z)r=0;else{r=m;c=1;break}else{if(!z)break;if((a[u>>2]|0)>(a[i>>2]|0))break;else r=0}do{a[i+(r<<2)>>2]=a[u+(r<<2)>>2];r=r+1|0}while((r|0)<(X|0));r=m;c=1}}while(0);A=s;n=n+8|0}else A=u}while(0);w=b+40|0;if(!(a[w>>2]|0))break;else{b=b+32|0;u=A}}}h=h+8|0;b=a[h>>2]|0;if(!b){b=A;break}}}a[n>>2]=0;E=G;g=m;Q=b;I=Z}a[f>>2]=r;r=r>>>31}}while(0);L2(j)}k=P;return r|0}function i6(A,e,i,r,f,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;n=n|0;var l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0;if((i&8|0)==0&(n|0)>-1?(w=a[r+16>>2]|0,u=a[r+28>>2]|0,s=(A|0)!=0&(u|0)!=0,s):0){b=a[r+48>>2]|0;c=0;do{i=a[w+(c*12|0)>>2]|0;if((i|0)==(b|0))t=n;else t=a[f+(i<<2)>>2]|0;l=e+(c<<3)|0;a[l>>2]=t;i=a[w+(c*12|0)+4>>2]|0;if((i|0)==(b|0))i=n;else i=a[f+(i<<2)>>2]|0;r=e+(c<<3)+4|0;a[r>>2]=i;if((i|0)==-1|(t|0)==-1){a[r>>2]=-1;a[l>>2]=-1}c=c+1|0}while(c>>>0>>0&c>>>0>>0);if(s){i=0;do{t=e+(i<<3)+4|0;c=a[w+(i*12|0)+8>>2]|0;if(c|0?(k=a[c>>2]|0,(k|0)>-1):0){b=e+(i<<3)|0;l=0;f=k;r=a[b>>2]|0;do{if(!((r|0)>=(a[e+(f<<3)>>2]|0)?(a[t>>2]|0)<=(a[e+(f<<3)+4>>2]|0):0)){a[t>>2]=-1;a[b>>2]=-1;r=-1}l=l+1|0;f=a[c+(l<<2)>>2]|0}while((f|0)>-1)}i=i+1|0}while(i>>>0>>0&i>>>0>>0)}else i=0}else i=0;if(i>>>0>>0)Y6(e+(i<<3)|0,-1,A-i<<3|0)|0;return}function r6(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;r=a[A>>2]|0;A:do{if(!r)i=0;else{f=(i|0)==0;i=r;while(1){if(f){if(f4(e,i)|0){i=1;break A}}else{r=H1(e)|0;if(f4(r,a[A>>2]|0)|0){i=1;break A}r=w4(e)|0;if(f4(r,a[A>>2]|0)|0){i=1;break A}}A=A+4|0;i=a[A>>2]|0;if(!i){i=0;break}}}}while(0);return i|0}function f6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0,l=0;A:do{if((A|0)>0){f=0;while(1){l=a[i+(f<<2)>>2]|0;n=a[r+(f<<2)>>2]|0;if(!(a[e+(f<<2)>>2]|0)){if((l|0)<(n|0)){f=1;break A}if((l|0)>(n|0)){f=0;break A}}else{if((l|0)>(n|0)){f=1;break A}if((l|0)<(n|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 a6(A,e,i,f){A=A|0;e=e|0;i=i|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0;b=U(i,e)|0;i=(e|0)==0?0:i;if((a[f+76>>2]|0)>-1)c=d4(f)|0;else c=0;n=f+74|0;l=r[n>>0]|0;r[n>>0]=l+255|l;n=f+4|0;l=a[n>>2]|0;w=(a[f+8>>2]|0)-l|0;t=w>>>0>>0?w:b;if((w|0)>0){y6(A|0,l|0,t|0)|0;a[n>>2]=l+t;n=b-t|0;A=A+t|0}else n=b;A:do{if(!n)s=13;else{t=f+32|0;while(1){if(M1(f)|0)break;l=W5[a[t>>2]&63](f,A,n)|0;if((l+1|0)>>>0<2)break;n=n-l|0;if(!n){s=13;break A}else A=A+l|0}if(c|0)B4(f);i=((b-n|0)>>>0)/(e>>>0)|0}}while(0);if((s|0)==13)if(c)B4(f);return i|0}function n6(A){A=A|0;var e=0;if((a[A+76>>2]|0)>-1){e=(d4(A)|0)==0;A=l6(A)|0}else A=l6(A)|0;return A|0}function l6(A){A=A|0;var e=0;if(!(a[A>>2]&128))e=1;else e=(a[A+20>>2]|0)>>>0>(a[A+28>>2]|0)>>>0?2:1;e=W5[a[A+40>>2]&63](A,0,e)|0;if((e|0)>=0)e=e-(a[A+8>>2]|0)+(a[A+4>>2]|0)+(a[A+20>>2]|0)-(a[A+28>>2]|0)|0;return e|0}function t6(A){A=A|0;(a[A+76>>2]|0)>-1?d4(A)|0:0;return a[A+60>>2]|0}function c6(A){A=A|0;var e=0,i=0,f=0,n=0;f=a[15679]|0;if((a[f+76>>2]|0)>-1)n=d4(f)|0;else n=0;do{if((m3(A,f)|0)<0)A=-1;else{if((r[f+75>>0]|0)!=10?(e=f+20|0,i=a[e>>2]|0,i>>>0<(a[f+16>>2]|0)>>>0):0){a[e>>2]=i+1;r[i>>0]=10;A=0;break}A=(W3(f,10)|0)>>31}}while(0);if(n|0)B4(f);return A|0}function b6(){var A=0,e=0,i=0,f=0,n=0,l=0,t=0,c=0,b=0;b=k;k=k+48|0;t=b+24|0;l=b+16|0;n=b;e=b+28|0;A=e;i=153686;f=A+20|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(f|0));i=e+13|0;A=0;while(1){a3(i)|0;a[n>>2]=e;a[n+4>>2]=32962;a[n+8>>2]=384;f=N2(VA(5,n|0)|0)|0;if((f|0)>-1){c=4;break}if((A|0)<99)A=A+1|0;else{A=0;break}}if((c|0)==4){a[l>>2]=e;GA(10,l|0)|0;A=I3(f,153706)|0;if(!A){a[t>>2]=f;NA(6,t|0)|0;A=0}}k=b;return A|0}function s6(A){A=A|0;var e=0,i=0,r=0;if((a[A+76>>2]|0)>=0?(d4(A)|0)!=0:0){e=A+4|0;i=a[e>>2]|0;if(i>>>0<(a[A+8>>2]|0)>>>0){a[e>>2]=i+1;e=n[i>>0]|0}else e=D1(A)|0}else r=3;do{if((r|0)==3){e=A+4|0;i=a[e>>2]|0;if(i>>>0<(a[A+8>>2]|0)>>>0){a[e>>2]=i+1;e=n[i>>0]|0;break}else{e=D1(A)|0;break}}}while(0);return e|0}function w6(A,e){A=A|0;e=e|0;var i=0,f=0,n=0,l=0,t=0,c=0,b=0;if((a[e+76>>2]|0)>=0?(d4(e)|0)!=0:0){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(t=e+20|0,c=a[t>>2]|0,c>>>0<(a[e+16>>2]|0)>>>0):0){a[t>>2]=c+1;r[c>>0]=f}else i=W3(e,A)|0;B4(e)}else b=3;do{if((b|0)==3){f=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(n=e+20|0,l=a[n>>2]|0,l>>>0<(a[e+16>>2]|0)>>>0):0){a[n>>2]=l+1;r[l>>0]=f;break}i=W3(e,A)|0}}while(0);return i|0}function u6(A){A=A|0;return n6(A)|0}function k6(){}function o6(A,e){A=A|0;e=e|0;var i=0,r=0,f=0,a=0;a=A&65535;f=e&65535;i=U(f,a)|0;r=A>>>16;A=(i>>>16)+(U(f,r)|0)|0;f=e>>>16;e=U(f,a)|0;return(L=(A>>>16)+(U(f,r)|0)+(((A&65535)+e|0)>>>16)|0,A+e<<16|i&65535|0)|0}function h6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,a=0;f=A;a=i;i=o6(f,a)|0;A=L;return(L=(U(e,a)|0)+(U(r,f)|0)+A|A&0,i|0|0)|0}function d6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=A+i>>>0;return(L=e+r+(i>>>0>>0|0)>>>0,i|0)|0}function B6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=e-r-(i>>>0>A>>>0|0)>>>0;return(L=r,A-i>>>0|0)|0}function v6(A){A=A|0;var e=0;e=r[h+(A&255)>>0]|0;if((e|0)<8)return e|0;e=r[h+(A>>8&255)>>0]|0;if((e|0)<8)return e+8|0;e=r[h+(A>>16&255)>>0]|0;if((e|0)<8)return e+16|0;return(r[h+(A>>>24)>>0]|0)+24|0}function g6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;var n=0,l=0,t=0,c=0,b=0,s=0,w=0,u=0,k=0,o=0;s=A;c=e;b=c;l=i;u=r;t=u;if(!b){n=(f|0)!=0;if(!t){if(n){a[f>>2]=(s>>>0)%(l>>>0);a[f+4>>2]=0}u=0;f=(s>>>0)/(l>>>0)>>>0;return(L=u,f)|0}else{if(!n){u=0;f=0;return(L=u,f)|0}a[f>>2]=A|0;a[f+4>>2]=e&0;u=0;f=0;return(L=u,f)|0}}n=(t|0)==0;do{if(l){if(!n){n=(j(t|0)|0)-(j(b|0)|0)|0;if(n>>>0<=31){w=n+1|0;t=31-n|0;e=n-31>>31;l=w;A=s>>>(w>>>0)&e|b<>>(w>>>0)&e;n=0;t=s<>2]=A|0;a[f+4>>2]=c|e&0;u=0;f=0;return(L=u,f)|0}n=l-1|0;if(n&l|0){t=(j(l|0)|0)+33-(j(b|0)|0)|0;o=64-t|0;w=32-t|0;c=w>>31;k=t-32|0;e=k>>31;l=t;A=w-1>>31&b>>>(k>>>0)|(b<>>(t>>>0))&e;e=e&b>>>(t>>>0);n=s<>>(k>>>0))&c|s<>31;break}if(f|0){a[f>>2]=n&s;a[f+4>>2]=0}if((l|0)==1){k=c|e&0;o=A|0|0;return(L=k,o)|0}else{o=v6(l|0)|0;k=b>>>(o>>>0)|0;o=b<<32-o|s>>>(o>>>0)|0;return(L=k,o)|0}}else{if(n){if(f|0){a[f>>2]=(b>>>0)%(l>>>0);a[f+4>>2]=0}k=0;o=(b>>>0)/(l>>>0)>>>0;return(L=k,o)|0}if(!s){if(f|0){a[f>>2]=0;a[f+4>>2]=(b>>>0)%(t>>>0)}k=0;o=(b>>>0)/(t>>>0)>>>0;return(L=k,o)|0}n=t-1|0;if(!(n&t)){if(f|0){a[f>>2]=A|0;a[f+4>>2]=n&b|e&0}k=0;o=b>>>((v6(t|0)|0)>>>0);return(L=k,o)|0}n=(j(t|0)|0)-(j(b|0)|0)|0;if(n>>>0<=30){e=n+1|0;t=31-n|0;l=e;A=b<>>(e>>>0);e=b>>>(e>>>0);n=0;t=s<>2]=A|0;a[f+4>>2]=c|e&0;k=0;o=0;return(L=k,o)|0}}while(0);if(!l){b=t;c=0;t=0}else{w=i|0|0;s=u|r&0;b=d6(w|0,s|0,-1,-1)|0;i=L;c=t;t=0;do{r=c;c=n>>>31|c<<1;n=t|n<<1;r=A<<1|r>>>31|0;u=A>>>31|e<<1|0;B6(b|0,i|0,r|0,u|0)|0;o=L;k=o>>31|((o|0)<0?-1:0)<<1;t=k&1;A=B6(r|0,u|0,k&w|0,(((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1)&s|0)|0;e=L;l=l-1|0}while((l|0)!=0);b=c;c=0}l=0;if(f|0){a[f>>2]=A;a[f+4>>2]=e}k=(n|0)>>>31|(b|l)<<1|(l<<1|n>>>31)&0|c;o=(n<<1|0>>>31)&-2|t;return(L=k,o)|0}function E6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return g6(A,e,i,r,0)|0}function C6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0,n=0;n=k;k=k+16|0;f=n|0;g6(A,e,i,r,f)|0;k=n;return(L=a[f+4>>2]|0,a[f>>2]|0)|0}function I6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e>>i;return A>>>i|(e&(1<>i-32|0}function Z6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e>>>i;return A>>>i|(e&(1<>>i-32|0}function G6(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){L=e<>>32-i;return A<>8&255|0}function m6(A){A=A|0;return(A&255)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>>24|0}function L6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var f=0;v=v+1|0;a[A>>2]=v;while((f|0)<(r|0)){if(!(a[i+(f<<3)>>2]|0)){a[i+(f<<3)>>2]=v;a[i+((f<<3)+4)>>2]=e;a[i+((f<<3)+8)>>2]=0;L=r;return i|0}f=f+1|0}r=r*2|0;i=y2(i|0,8*(r+1|0)|0)|0;i=L6(A|0,e|0,i|0,r|0)|0;L=r;return i|0}function W6(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,f=0;while((f|0)<(i|0)){r=a[e+(f<<3)>>2]|0;if(!r)break;if((r|0)==(A|0))return a[e+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function y6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0;if((i|0)>=8192)return jA(A|0,e|0,i|0)|0;l=A|0;n=A+i|0;if((A&3)==(e&3)){while(A&3){if(!i)return l|0;r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0;i=i-1|0}i=n&-4|0;f=i-64|0;while((A|0)<=(f|0)){a[A>>2]=a[e>>2];a[A+4>>2]=a[e+4>>2];a[A+8>>2]=a[e+8>>2];a[A+12>>2]=a[e+12>>2];a[A+16>>2]=a[e+16>>2];a[A+20>>2]=a[e+20>>2];a[A+24>>2]=a[e+24>>2];a[A+28>>2]=a[e+28>>2];a[A+32>>2]=a[e+32>>2];a[A+36>>2]=a[e+36>>2];a[A+40>>2]=a[e+40>>2];a[A+44>>2]=a[e+44>>2];a[A+48>>2]=a[e+48>>2];a[A+52>>2]=a[e+52>>2];a[A+56>>2]=a[e+56>>2];a[A+60>>2]=a[e+60>>2];A=A+64|0;e=e+64|0}while((A|0)<(i|0)){a[A>>2]=a[e>>2];A=A+4|0;e=e+4|0}}else{i=n-4|0;while((A|0)<(i|0)){r[A>>0]=r[e>>0]|0;r[A+1>>0]=r[e+1>>0]|0;r[A+2>>0]=r[e+2>>0]|0;r[A+3>>0]=r[e+3>>0]|0;A=A+4|0;e=e+4|0}}while((A|0)<(n|0)){r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0}return l|0}function z6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0;if((e|0)<(A|0)&(A|0)<(e+i|0)){f=A;e=e+i|0;A=A+i|0;while((i|0)>0){A=A-1|0;e=e-1|0;i=i-1|0;r[A>>0]=r[e>>0]|0}A=f}else y6(A,e,i)|0;return A|0}function Y6(A,e,i){A=A|0;e=e|0;i=i|0;var f=0,n=0,l=0,t=0;l=A+i|0;e=e&255;if((i|0)>=67){while(A&3){r[A>>0]=e;A=A+1|0}f=l&-4|0;n=f-64|0;t=e|e<<8|e<<16|e<<24;while((A|0)<=(n|0)){a[A>>2]=t;a[A+4>>2]=t;a[A+8>>2]=t;a[A+12>>2]=t;a[A+16>>2]=t;a[A+20>>2]=t;a[A+24>>2]=t;a[A+28>>2]=t;a[A+32>>2]=t;a[A+36>>2]=t;a[A+40>>2]=t;a[A+44>>2]=t;a[A+48>>2]=t;a[A+52>>2]=t;a[A+56>>2]=t;a[A+60>>2]=t;A=A+64|0}while((A|0)<(f|0)){a[A>>2]=t;A=A+4|0}}while((A|0)<(l|0)){r[A>>0]=e;A=A+1|0}return l-i|0}function D6(A){A=A|0;var e=0,i=0;i=A+15&-16|0;e=a[s>>2]|0;A=e+i|0;if((i|0)>0&(A|0)<(e|0)|(A|0)<0){_()|0;ZA(12);return-1}a[s>>2]=A;if((A|0)>(K()|0)?(O()|0)==0:0){a[s>>2]=e;ZA(12);return-1}return e|0}function M6(A){A=A|0;return+C5[A&1]()}function F6(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;return+I5[A&7](+e,+i,+r)}function V6(A,e){A=A|0;e=e|0;return+Z5[A&1](e|0)}function J6(A){A=A|0;return G5[A&3]()|0}function N6(A,e){A=A|0;e=e|0;return Q5[A&63](e|0)|0}function X6(A,e,i){A=A|0;e=e|0;i=i|0;return m5[A&127](e|0,i|0)|0}function R6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=+r;f=+f;return L5[A&3](e|0,i|0,+r,+f)|0}function H6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return W5[A&63](e|0,i|0,r|0)|0}function p6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;return y5[A&127](e|0,i|0,r|0,f|0)|0}function U6(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;return z5[A&127](e|0,i|0,r|0,f|0,a|0)|0}function x6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;return Y5[A&1](e|0,i|0,r|0,f|0,a|0,n|0)|0}function T6(A,e,i,r,f,a,n,l,t,c,b){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;b=b|0;return D5[A&3](e|0,i|0,r|0,f|0,a|0,n|0,l|0,t|0,c|0,b|0)|0}function j6(A){A=A|0;M5[A&15]()}function S6(A,e){A=A|0;e=e|0;F5[A&127](e|0)}function P6(A,e,i){A=A|0;e=e|0;i=i|0;V5[A&63](e|0,i|0)}function O6(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;J5[A&127](e|0,i|0,r|0)}function K6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=+f;a=+a;n=n|0;N5[A&15](e|0,i|0,r|0,+f,+a,n|0)}function _6(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;X5[A&31](e|0,i|0,r|0,f|0)}function q6(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;R5[A&15](e|0,i|0,r|0,f|0,a|0)}function $6(A,e,i,r,f,a,n){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;H5[A&15](e|0,i|0,r|0,f|0,a|0,n|0)}function A5(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;p5[A&0](e|0,i|0,r|0,f|0,a|0,n|0,l|0,t|0,c|0)}function e5(){S(0);return 0.0}function i5(A,e,i){A=+A;e=+e;i=+i;S(1);return 0.0}function r5(A){A=A|0;S(2);return 0.0}function f5(){S(3);return 0}function a5(A){A=A|0;S(4);return 0}function n5(A,e){A=A|0;e=e|0;S(5);return 0}function l5(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;S(6);return 0}function t5(A,e,i){A=A|0;e=e|0;i=i|0;S(7);return 0}function c5(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(8);return 0}function b5(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;S(9);return 0}function s5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;S(10);return 0}function w5(A,e,i,r,f,a,n,l,t,c){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;c=c|0;S(11);return 0}function u5(){S(12)}function k5(A){A=A|0;S(13)}function o5(A,e){A=A|0;e=e|0;S(14)}function h5(A,e,i){A=A|0;e=e|0;i=i|0;S(15)}function d5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=+r;f=+f;a=a|0;S(16)}function B5(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(17)}function v5(A,e,i,r,f){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;S(18)}function g5(A,e,i,r,f,a){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;S(19)}function E5(A,e,i,r,f,a,n,l,t){A=A|0;e=e|0;i=i|0;r=r|0;f=f|0;a=a|0;n=n|0;l=l|0;t=t|0;S(20)}var C5=[e5,cR];var I5=[i5,EM,gM,CM,IM,i5,i5,i5];var Z5=[r5,hR];var G5=[f5,Rj,tV,$V];var Q5=[a5,hW,JL,Qp,mp,Kh,$h,Ge,Qe,dr,Br,vr,gr,Er,Cr,Ir,Zr,F2,OI,hg,ND,HD,Hp,$F,vh,cd,Bh,fV,cV,gh,se,qF,he,de,wc,m2,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5,a5];var m5=[n5,Qh,Oh,Ad,tX,cX,AX,KN,YN,Sl,Pl,Ol,Kl,_l,ql,At,et,it,rt,ft,at,nt,lt,tt,ct,bt,st,wt,ut,kt,ot,ht,dt,Bt,vt,gt,Et,Ct,It,Zt,Eq,Cq,Zq,Sq,Pq,Oq,Kq,_q,qq,$q,A$,T$,j$,P$,t$,c$,s$,kg,mL,oW,xW,gy,Ny,OY,SY,XD,pD,Nx,PT,Kj,BS,gS,CS,IS,GS,ZS,VS,PP,$P,eO,n_,dw,yv,Wv,Lv,EE,bd,eV,ME,KE,TE,jE,SC,m3,w6,rR,dH,po,_a,Oo,_o,we,A1,Zf,jl,tc,cc,y2,Es,Cs,Is,K8,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var L5=[l5,rK,tK,l5];var W5=[t5,Cp,G_,Lk,Vk,Tk,Kk,Ph,qh,sJ,fH,Fa,Gq,O$,w$,V2,J2,H2,p2,y4,ao,Np,u_,fT,AO,jw,Pw,_w,qk,vE,P4,XB,f3,aR,lJ,Gi,ac,Y$,I0,d0,m0,X3,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var y5=[c5,Zp,yS,Q_,yk,Nk,So,xB,Po,uh,Lh,yh,Hh,Rh,ed,ad,ld,eJ,nH,Ai,qe,Kr,Ja,nn,an,Qs,ms,Ls,dq,Bq,vq,gq,Iq,mq,N$,X$,R$,H$,p$,U$,x$,S$,_$,e$,i$,r$,f$,a$,n$,l$,b$,k$,eo,Td,IE,lR,$c,ib,cb,gb,Wb,Fb,Db,Vb,vs,L0,ns,M$,F$,Z0,G0,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5];var z5=[b5,mh,DN,eX,Lq,Wq,Tq,jq,k0,q$,$$,o$,h$,Zs,Gs,y0,z0,Y0,D0,F0,V0,J0,N0,X0,H0,p0,U0,x0,T0,R0,d2,B2,t2,e2,j0,S0,P0,K0,O0,_0,q0,$0,A2,i2,r2,f2,a2,n2,l2,c2,b2,s2,w2,h2,k2,u2,o2,I2,v2,g2,E2,C2,Z2,G2,Q2,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5];var Y5=[s5,Jt];var D5=[w5,h0,Q0,w5];var M5=[u5,tR,aV,nV,lV,sV,wV,uV,Ha,u5,u5,u5,u5,u5,u5,u5];var F5=[k5,$I,AZ,fZ,aZ,nZ,QZ,mZ,_Z,qZ,$Z,AG,eG,iG,rG,oG,hG,vG,gG,EG,CG,IG,ZG,GG,JG,NG,XG,HG,pG,UG,xG,TG,jG,SG,PG,aQ,nQ,lQ,cQ,bQ,sQ,wQ,uQ,kQ,oQ,hQ,dQ,vQ,YQ,DQ,MQ,FQ,jQ,SQ,PQ,KQ,cm,bm,sm,um,km,om,hm,dm,Bm,vm,gm,Em,ym,zm,Ym,Dm,tL,rL,fp,pH,xx,dx,mT,VT,RU,pU,ZT,GT,NH,XH,xU,qU,Ax,sx,zh,wN,yN,kN,uN,qN,JJ,RJ,Gr,yr,Km,UD,Ex,Gx,Tx,L2,V_,vo,ZE,dI,Ra,Bi,ve,iJ,ln,Vt,rc,fc,bc,k5,k5,k5,k5,k5,k5,k5,k5,k5];var V5=[o5,aG,bG,mG,YG,eQ,GQ,HQ,im,mm,Xm,id,MN,bX,iX,_N,LN,WN,nX,lX,Lr,Yr,vJ,to,gE,bV,be,Jl,Ft,nc,lc,sc,uc,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];var J5=[h5,lZ,tZ,sZ,KZ,fG,nG,cG,QG,LG,zG,KG,_G,AQ,gQ,EQ,ZQ,VQ,JQ,RQ,_Q,qQ,em,Cm,Im,Qm,Mm,Fm,Nm,LY,WY,yY,Ip,Wk,Jk,oo,Yh,nd,Hd,TB,sE,aF,AJ,wJ,XJ,aH,tH,$e,_e,Qr,mr,Wr,zr,Dr,Va,Zl,Il,Fo,ch,gd,Od,qd,rV,nR,aJ,ke,Be,Gl,ml,Ll,Vl,Nl,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5];var N5=[d5,NC,XC,RC,HC,pC,UC,xC,TC,d5,d5,d5,d5,d5,d5,d5];var X5=[B5,cZ,lG,WG,RG,qG,tQ,CQ,NQ,$Q,wm,Zm,Vm,$m,qm,_m,Om,Pm,Sm,GZ,jm,Tm,Wh,zN,$N,Qq,K$,u$,K4,ue,oe,V$];var R5=[v5,dG,OG,iQ,BQ,OQ,RD,CE,ge,v5,v5,v5,v5,v5,v5,v5];var H5=[g5,bZ,tG,yG,$G,IQ,XQ,Am,Gm,Jm,Ee,g5,g5,g5,g5,g5];var p5=[E5];return{___errno_location:X2,___muldi3:h6,___udivdi3:E6,___uremdi3:C6,_bitshift64Ashr:I6,_bitshift64Lshr:Z6,_bitshift64Shl:G6,_dtextract:Uk,_free:L2,_htons:V4,_i64Add:d6,_i64Subtract:B6,_llvm_bswap_i16:Q6,_llvm_bswap_i32:m6,_malloc:m2,_memalign:D2,_memcpy:y6,_memmove:z6,_memset:Y6,_realloc:y2,_saveSetjmp:L6,_sbrk:D6,_testSetjmp:W6,_vizCreateFile:_I,_vizLastErrorMessage:KI,_vizRenderFromString:qI,dynCall_d:M6,dynCall_dddd:F6,dynCall_di:V6,dynCall_i:J6,dynCall_ii:N6,dynCall_iii:X6,dynCall_iiidd:R6,dynCall_iiii:H6,dynCall_iiiii:p6,dynCall_iiiiii:U6,dynCall_iiiiiii:x6,dynCall_iiiiiiiiiii:T6,dynCall_v:j6,dynCall_vi:S6,dynCall_vii:P6,dynCall_viii:O6,dynCall_viiiddi:K6,dynCall_viiii:_6,dynCall_viiiii:q6,dynCall_viiiiii:$6,dynCall_viiiiiiiii:A5,establishStackSpace:TI,getTempRet0:PI,runPostSets:k6,setTempRet0:SI,setThrew:jI,stackAlloc:pI,stackRestore:xI,stackSave:UI}}(A.asmGlobalArg,A.asmLibraryArg,B),UA=(A.___errno_location=pA.___errno_location,A.___muldi3=pA.___muldi3,A.___udivdi3=pA.___udivdi3,A.___uremdi3=pA.___uremdi3,A._bitshift64Ashr=pA._bitshift64Ashr,A._bitshift64Lshr=pA._bitshift64Lshr,A._bitshift64Shl=pA._bitshift64Shl,A._dtextract=pA._dtextract,A._free=pA._free),xA=(A._htons=pA._htons,A._i64Add=pA._i64Add,A._i64Subtract=pA._i64Subtract,A._llvm_bswap_i16=pA._llvm_bswap_i16,A._llvm_bswap_i32=pA._llvm_bswap_i32,A._malloc=pA._malloc),TA=A._memalign=pA._memalign,jA=(A._memcpy=pA._memcpy,A._memmove=pA._memmove,A._memset=pA._memset),SA=(A._realloc=pA._realloc,A._saveSetjmp=pA._saveSetjmp,A._sbrk=pA._sbrk,A._testSetjmp=pA._testSetjmp,A._vizCreateFile=pA._vizCreateFile,A._vizLastErrorMessage=pA._vizLastErrorMessage,A._vizRenderFromString=pA._vizRenderFromString,A.establishStackSpace=pA.establishStackSpace,A.getTempRet0=pA.getTempRet0,A.runPostSets=pA.runPostSets,A.setTempRet0=pA.setTempRet0,A.setThrew=pA.setThrew,A.stackAlloc=pA.stackAlloc),PA=A.stackRestore=pA.stackRestore,OA=A.stackSave=pA.stackSave;if(A.dynCall_d=pA.dynCall_d,A.dynCall_dddd=pA.dynCall_dddd,A.dynCall_di=pA.dynCall_di,A.dynCall_i=pA.dynCall_i,A.dynCall_ii=pA.dynCall_ii,A.dynCall_iii=pA.dynCall_iii,A.dynCall_iiidd=pA.dynCall_iiidd,A.dynCall_iiii=pA.dynCall_iiii,A.dynCall_iiiii=pA.dynCall_iiiii,A.dynCall_iiiiii=pA.dynCall_iiiiii,A.dynCall_iiiiiii=pA.dynCall_iiiiiii,A.dynCall_iiiiiiiiiii=pA.dynCall_iiiiiiiiiii,A.dynCall_v=pA.dynCall_v,A.dynCall_vi=pA.dynCall_vi,A.dynCall_vii=pA.dynCall_vii,A.dynCall_viii=pA.dynCall_viii,A.dynCall_viiiddi=pA.dynCall_viiiddi,A.dynCall_viiii=pA.dynCall_viiii,A.dynCall_viiiii=pA.dynCall_viiiii,A.dynCall_viiiiii=pA.dynCall_viiiiii,A.dynCall_viiiiiiiii=pA.dynCall_viiiiiiiii,A.asm=pA,A.ccall=function(e,i,r,f,a){var n=function(e){var i=A["_"+e];return k(i,"Cannot call unknown function "+e+", make sure it is exported"),i}(e),l=[],t=0;if(f)for(var c=0;c0||(function(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)e=A.preRun.shift(),H.unshift(e);var e;R(H)}(),$>0||A.calledRun||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),i()}),1)):i()))}function re(e){throw A.onAbort&&A.onAbort(e),void 0!==e?(A.print(e),A.printErr(e),e=JSON.stringify(e)):e="",u=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(A.then=function(e){if(A.calledRun)e(A);else{var i=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){i&&i(),e(A)}}return A},ee.prototype=new Error,ee.prototype.constructor=ee,eA=function e(){A.calledRun||ie(),A.calledRun||(eA=e)},A.run=ie,A.exit=function(e,i){i&&A.noExitRuntime&&0===e||(A.noExitRuntime||(u=!0,Q=void 0,R(x),A.onExit&&A.onExit(e)),t&&process.exit(e),A.quit(e,new ee(e)))},A.abort=re,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return A.noExitRuntime=!0,ie(),A};function f(A){var e,i=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=void 0===i.format?"svg":i.format,n=void 0===i.engine?"dot":i.engine,l=i.scale,t=i.totalMemory,c=void 0===i.files?[]:i.files,b=void 0===i.images?[]:i.images;for(e=0;e\\n\\n\'});return"png-image-element"==r?f.svgXmlToPngImageElement(a(A,"svg",n,t,c),l):a(A,r,n,t,c)}function a(A,e,i,f,a){var n,l=r({TOTAL_MEMORY:f});for(n=0;n1?window.devicePixelRatio:1);var r=new Image;try{if("object"==typeof fabric&&fabric.loadSVGFromString)fabric.loadSVGFromString(A,(function(A,f){if(0==A.length){if(void 0!==i)return void i(new Error("Error loading SVG with Fabric"));throw new Error("Error loading SVG with Fabric")}var a=document.createElement("canvas");a.width=f.width,a.height=f.height;var n=new fabric.Canvas(a,{enableRetinaScaling:!1}),l=fabric.util.groupSVGElements(A,f);n.add(l).renderAll(),r.src=n.toDataURL({multiplier:e}),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)}));else{var f=new Image;f.onload=function(){var A=document.createElement("canvas");A.width=f.width*e,A.height=f.height*e,A.getContext("2d").drawImage(f,0,0,A.width,A.height),r.src=A.toDataURL("image/png"),r.width=f.width,r.height=f.height,void 0!==i&&i(null,r)},f.onerror=function(A){var e;if(e="error"in A?A.error:new Error("Error loading SVG"),void 0===i)throw e;i(e)},f.src="data:image/svg+xml;base64,"+btoa(encodeURIComponent(A).replace(/%([0-9A-F]{2})/g,(function(A,e){return String.fromCharCode("0x"+e)})))}}catch(A){if(void 0===i)throw A;i(A)}if(void 0===i)return r},f.svgXmlToPngBase64=function(A,e,i){f.svgXmlToPngImageElement(A,e,(function(A,e){A?i(A):i(null,e.src.slice(22))}))},A.exports?A.exports=f:e.Viz=f}(this)},778:()=>{},725:()=>{},966:()=>{}},e={};function i(r){var f=e[r];if(void 0!==f)return f.exports;var a=e[r]={exports:{}};return A[r].call(a.exports,a,a.exports,i),a.exports}i.n=A=>{var e=A&&A.__esModule?()=>A.default:()=>A;return i.d(e,{a:e}),e},i.d=(A,e)=>{for(var r in e)i.o(e,r)&&!i.o(A,r)&&Object.defineProperty(A,r,{enumerable:!0,get:e[r]})},i.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A=i(221),e=i.n(A);const r={bidir:"isBidirectional"};function f(A,e){throw new Error(`Malformed plain output: ${A.slice(e-100,e+100)}`)}function a(A,e){const i=\'"\'===A[e],r=e+Number(i),f=A.indexOf(i?\'"\':" ",r);return{value:A.slice(r,f),end:f+Number(i)}}function n(A,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" ";const r=A.indexOf(i,e);return r3&&void 0!==arguments[3]?arguments[3]:" ";const f=[];let a=i,l=A;for(;l--;){" "===e[a]&&a++;const{value:A,end:i}=n(e,a,r);f.push(A),a=i}return{values:f,end:a}}function t(A,e){const i=e+5,{value:r,end:f}=a(A,i),{values:n,end:t}=l(4,A,f+1),[c,b,s,w]=n;return{vertex:{vertex:{key:r},height:w,left:c,top:b,width:s},end:A.indexOf("\\n",t+1)}}function c(A,e){const i=e+5,{value:f,end:t}=a(A,i),{value:c,end:b}=a(A,t+1),{value:s,end:w}=n(A,b+1),{values:u,end:k}=l(2*s,A,w+1),{value:o,end:h}=a(A,k+1),d=[];for(let A=0;A{const e=r[A];e&&(B[e]=!0)})),{edge:{edge:{from:f,to:c,...B},pathPoints:d},end:A.indexOf("\\n",h+1)}}const b="}",s={nodesep:1.5,rankdir:"LR",ranksep:5,sep:.5,shape:"box",splines:"true"};function w(A){const{nodesep:e,rankdir:i,ranksep:r,sep:f,shape:a,splines:n}={...s,...A};return`digraph G {\\n graph[nodesep=${e.toFixed(3)}, rankdir=${i}, ranksep=${r.toFixed(3)}, sep=${f.toFixed(3)}, splines=${n}];\\n node [shape=${a}, fixedsize=true, label="", color="_", fillcolor="_"];\\n edge [arrowhead=none, arrowtail=none];`}function u(A){const{vertex:e,height:i,width:r}=A;let f="";if("left"in A&&"top"in A){const{left:e,top:i}=A;f=`,pos="${e.toFixed(5)},${i.toFixed(5)}!"`}return`"${e.key}" [height=${i.toFixed(5)},width=${r.toFixed(5)}${f}];`}function k(A,e){const i=arguments.length>2&&void 0!==arguments[2]&&arguments[2]?\' [style="bidir",dir=both]\':"";return Array.isArray(e)?`"${A}"->{ ${e.map((A=>`"${A}"`)).join(" ")} };`:`"${A}"->"${e}"${i};`}let o=function(A){return A.Error="Error",A.LayoutError="LayoutError",A}({}),h=function(A){return A.DotOnly="DotOnly",A.Edges="Edges",A.Positions="Positions",A}({});var d=function(A){return A.Ok="Ok",A.Warn="Warn",A.Error="Error",A}(d||{});const B=.015;function v(A,e){return Math.abs(A-e)/e{if(A.isBidirectional)return void r.push(A);const e=f.get(A.from)||[];e.push(A.to),f.set(A.from,e)}));const a=e.map(u),n=r.map((A=>k(A.from,A.to,!0))),l=[];return f.forEach(((A,e)=>{l.push(k(e,A))})),[w(i)," ",a.join("\\n ")," ",n.join("\\n ")," ",l.join("\\n "),b].join("\\n ")}(i,r,a),{totalMemory:o}=a||{},g={totalMemory:o,engine:A===h.Edges?"neato":"dot",format:"plain"},E=e()(s,g),{edges:C,graph:I,vertices:Z}=function(A){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=[],r=[];let a=0;const{end:b,graph:s}=function(A,e){const i=e+6,{values:[r,f],end:a}=l(2,A,i),{value:t,end:c}=n(A,a+1,"\\n");return{end:c,graph:{height:t,scale:r,width:f}}}(A,a);for(a=b+1;"s"!==A[a];)if("n"!==A[a])if("e"!==A[a])f(A,a);else{if(!e){a=A.indexOf("\\n",a)+1;continue}const{end:r,edge:f}=c(A,a);i.push(f),a=r+1}else{const{end:e,vertex:i}=t(A,a);r.push(i),a=e+1}return{graph:s,vertices:r,edges:e?i:null}}(E,A!==h.Positions),G=function(A,e){const i={};let r;A.forEach((A=>{i[String(A.vertex.key)]=A}));for(let A=0;A1?"vertices":"vertex";return{validity:d.Error,message:`Missing ${A}: ${f.join(", ")}`}}return r||{validity:d.Ok,message:null}}(r,Z);return G.validity===d.Error?{graph:I,edges:C,vertices:Z,layoutError:!0,layoutErrorMessage:G.message}:G.validity===d.Warn?{graph:I,edges:C,vertices:Z,layoutErrorMessage:G.message}:{edges:C,graph:I,vertices:Z}}const E=self;let C;function I(A,e){if(e instanceof ErrorEvent){const{colno:i,error:r,filename:f,lineno:a,message:n}=e;return{colno:i,error:r,errorType:A,filename:f,lineno:a,message:n}}return{message:e.data}}function Z(A,e){const i={type:o.Error,meta:C,errorMessage:I(A,e)};E.postMessage(i)}E.onmessage=function(A){const{edges:e,meta:i,options:r,vertices:f}=A.data;C=i;const{layoutError:a,...n}=g(i.phase,e,f,r),l={meta:i,type:a?o.LayoutError:i.phase,...n};E.postMessage(l),C=null},E.onerror=Z.bind(null,"error"),E.onmessageerror=Z.bind(E,"messageerror")})();',"Worker",void 0,void 0)}})();var r=i.Z;function killWorker(e){const t=e,r=()=>{};t.onmessage=r,t.onmessageerror=r,t.onerror=r,t.terminate()}function findAndRemoveWorker(e,t){for(let r=0;r=0)return a.splice(n,1),{ok:!0,list:a}}return{ok:!1}}class Coordinator{constructor(e){this.currentLayout=void 0,this.nextWorkerId=void 0,this.idleWorkers=void 0,this.busyWorkers=void 0,this.callback=void 0,this._handleVizWorkerError=e=>{const t=e.target,{ok:r}=findAndRemoveWorker([this.busyWorkers,this.idleWorkers],t);r?(console.error("Viz worker onerror"),console.error(e),killWorker(t)):(console.error("Viz worker onerror from unknown viz worker"),console.error(e))},this._handleVizWorkerMessageError=e=>{const t={event:e,currentLayout:this.currentLayout,errorType:"_handleVizWorkerMessageError"};console.error(t)},this._handleVizWorkerMessage=e=>{const t=e.target,r=e.data,{type:a}=r;this._makeWorkerIdle(t);const n=!this.currentLayout||Boolean(r.meta&&r.meta.layoutId!==this.currentLayout.id);a!==EWorkerErrorType.Error?n||(a!==EWorkerErrorType.LayoutError?r.type!==EWorkerPhase.Positions&&r.type!==EWorkerPhase.Edges&&r.type!==EWorkerPhase.DotOnly?console.error(`Unknown worker message type: ${a}`,e):this._processResult(a,r):console.error("layout-error",e)):console.error((n?"(stale) ":"")+"Error from viz.worker",e)},this.callback=e,this.currentLayout=null,this.nextWorkerId=0,this.idleWorkers=[],this.busyWorkers=[]}getLayout(e,t,r,a){this.busyWorkers.forEach(killWorker),this.busyWorkers.length=0;const{edges:n,unmapEdges:i,unmapVertices:o,vertices:l}=convInputs(t,r),s=l.map(vertexToDot);this.currentLayout={id:e,cleaned:{edges:n,vertices:s},options:a||null,input:{edges:t,unmapEdges:i,unmapVertices:o,vertices:r},status:{phase:ECoordinatorPhase.NotStarted}};const c=Boolean(a&&a.useDotEdges)?EWorkerPhase.DotOnly:EWorkerPhase.Positions;this._postWork(c,n,s)}stopAndRelease(){this.idleWorkers.forEach(killWorker),this.idleWorkers.length=0,this.busyWorkers.forEach(killWorker),this.busyWorkers.length=0,this.currentLayout=null}_initWorker(){const e=new r;return e.id=this.nextWorkerId,this.nextWorkerId++,e.onerror=this._handleVizWorkerError,e.onmessageerror=this._handleVizWorkerMessageError,e.onmessage=this._handleVizWorkerMessage,e}_makeWorkerIdle(e){const{ok:t}=findAndRemoveWorker([this.busyWorkers,this.idleWorkers],e);t?this.idleWorkers.push(e):killWorker(e)}_postWork(e,t,r){if(!this.currentLayout)throw new Error("_startWork called without a current layout");const{id:a,options:n,status:i}=this.currentLayout,o=this.idleWorkers.pop()||this._initWorker();this.busyWorkers.push(o),i.phase=e,i.workerId=o.id;const l={options:n,edges:t,vertices:r,meta:{phase:e,layoutId:a,workerId:o.id}};o.postMessage(l)}_processResult(e,t){const r=this.currentLayout;if(!r)return;const{edges:a,graph:n,meta:i,vertices:o}=t,{workerId:l}=i,{cleaned:s,input:c,status:u}=r,{phase:f,workerId:A}=u;if(e!==f||l!==A)return void console.error("Have work results, but in an invalid state");if(!o||!n||e!==EWorkerPhase.Positions&&!a)return void console.error("Have work results, but recieved invalid result data");const d=vertexToPixels.bind(null,n),p=o.map(d),h=c.unmapVertices(p),b=graphToPixels(n);if(e!==EWorkerPhase.Positions&&e!==EWorkerPhase.DotOnly||this.callback({type:ECoordinatorPhase.Positions,layoutId:r.id,graph:b,vertices:h}),a){const e=a.map((e=>edgeToPixels(n,e))),t=c.unmapEdges(e);this.callback({type:ECoordinatorPhase.Done,layoutId:r.id,graph:b,edges:t,vertices:h})}e===EWorkerPhase.Positions&&this._postWork(EWorkerPhase.Edges,s.edges,o)}}class LayoutManager{constructor(e){this.layoutId=void 0,this.coordinator=void 0,this.pendingResult=void 0,this.options=void 0,this._handleUpdate=e=>{const t=this.pendingResult;if(t&&e.layoutId===t.id)if(e.type===ECoordinatorPhase.Positions){const{isPositionsResolved:r,resolvePositions:a}=t;if(r)return void console.warn("Duplicate positiosn update",e);const{graph:n,vertices:i}=e;if(!i||!a)throw new Error("Invalid state");t.isPositionsResolved=!0,a({graph:n,vertices:i,isCancelled:!1})}else{if(e.type!==ECoordinatorPhase.Done)throw new Error("Unrecognized update type");{const{resolveLayout:r}=t,{edges:a,graph:n,vertices:i}=e;if(!a||!i||!r)throw new Error("Invalid state");this.pendingResult=null,r({edges:a,graph:n,vertices:i,isCancelled:!1})}}},this.options=e,this.layoutId=0,this.coordinator=new Coordinator(this._handleUpdate),this.pendingResult=null}getLayout(e,t){this._cancelPending(),this.layoutId++;const r=this.layoutId;this.coordinator.getLayout(r,e,t,this.options),this.pendingResult={id:r,isPositionsResolved:!1};const a=new Promise((e=>{this.pendingResult&&r===this.pendingResult.id&&(this.pendingResult.resolvePositions=e)})),n=new Promise((e=>{this.pendingResult&&r===this.pendingResult.id&&(this.pendingResult.resolveLayout=e)}));return{layout:n,positions:a}}stopAndRelease(){this._cancelPending(),this.coordinator.stopAndRelease()}_cancelPending(){const e=this.pendingResult;e&&(!e.isPositionsResolved&&e.resolvePositions&&(e.resolvePositions({isCancelled:!0}),e.isPositionsResolved=!0),e.resolveLayout&&e.resolveLayout({isCancelled:!0}),this.pendingResult=null)}}const index$G="",index$F="";var Checkbox$2=function(e){function t(r){_default$c(this,t);var a=_default$9(this,e.call(this,r));a.handleChange=function(e){var t=a.props,r=t.disabled,n=t.onChange;r||("checked"in a.props||a.setState({checked:e.target.checked}),n&&n({target:_default$bE({},a.props,{checked:e.target.checked}),stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},nativeEvent:e.nativeEvent}))},a.saveInput=function(e){a.input=e};var n="checked"in r?r.checked:r.defaultChecked;return a.state={checked:n},a}return _default$8(t,e),t.getDerivedStateFromProps=function(e,t){return"checked"in e?_default$bE({},t,{checked:e.checked}):null},t.prototype.focus=function(){this.input.focus()},t.prototype.blur=function(){this.input.blur()},t.prototype.render=function(){var e,t=this.props,r=t.prefixCls,a=t.className,n=t.style,i=t.name,o=t.id,l=t.type,s=t.disabled,c=t.readOnly,u=t.tabIndex,f=t.onClick,A=t.onFocus,d=t.onBlur,p=t.autoFocus,h=t.value,b=_default$d(t,["prefixCls","className","style","name","id","type","disabled","readOnly","tabIndex","onClick","onFocus","onBlur","autoFocus","value"]),g=Object.keys(b).reduce((function(e,t){return"aria-"!==t.substr(0,5)&&"data-"!==t.substr(0,5)&&"role"!==t||(e[t]=b[t]),e}),{}),m=this.state.checked,v=classnamesExports(r,a,((e={})[r+"-checked"]=m,e[r+"-disabled"]=s,e));return React$k.createElement("span",{className:v,style:n},React$k.createElement("input",_default$bE({name:i,id:o,type:l,readOnly:c,disabled:s,tabIndex:u,className:r+"-input",checked:!!m,onClick:f,onFocus:A,onBlur:d,onChange:this.handleChange,autoFocus:p,ref:this.saveInput,value:h},g)),React$k.createElement("span",{className:r+"-inner"}))},t}(reactExports.Component);function _typeof$G(e){return _typeof$G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$G(e)}function _defineProperty$K(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _extends$1E(){return _extends$1E=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r0&&(p=a.getOptions().map((function(e){return reactExports.createElement(Checkbox$1,{prefixCls:f,key:e.value.toString(),disabled:"disabled"in e?e.disabled:n.disabled,value:e.value,checked:-1!==i.value.indexOf(e.value),onChange:e.onChange,className:"".concat(A,"-item")},e.label)})));var h=classNames(A,l);return reactExports.createElement("div",_extends$1D({className:h,style:s},d),p)},a.state={value:e.value||e.defaultValue||[],registeredValues:[]},a}return _createClass$1o(r,[{key:"getChildContext",value:function(){return{checkboxGroup:{toggleOption:this.toggleOption,value:this.state.value,disabled:this.props.disabled,name:this.props.name,registerValue:this.registerValue,cancelValue:this.cancelValue}}}},{key:"shouldComponentUpdate",value:function(e,t){return!shallowequal(this.props,e)||!shallowequal(this.state,t)}},{key:"getOptions",value:function(){return this.props.options.map((function(e){return"string"==typeof e?{label:e,value:e}:e}))}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderGroup)}}],[{key:"getDerivedStateFromProps",value:function(e){return"value"in e?{value:e.value||[]}:null}}]),r}(reactExports.Component);CheckboxGroup.defaultProps={options:[]},CheckboxGroup.propTypes={defaultValue:propTypesExports.array,value:propTypesExports.array,options:propTypesExports.array.isRequired,onChange:propTypesExports.func},CheckboxGroup.childContextTypes={checkboxGroup:propTypesExports.any},polyfill(CheckboxGroup);const Group$1=CheckboxGroup;function _typeof$E(e){return _typeof$E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$E(e)}function _extends$1C(){return _extends$1C=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}(e,["children","color","size","style","width","height"]),f=t.reactIconBase,A=void 0===f?{}:f,d=o||A.size||"1em";return a.default.createElement("svg",r({children:n,fill:"currentColor",preserveAspectRatio:"xMidYMid meet",height:c||d,width:s||d},A,u,{style:r({verticalAlign:"middle",color:i||A.color},A.style||{},l)}))};o.propTypes={color:n.default.string,size:n.default.oneOfType([n.default.string,n.default.number]),width:n.default.oneOfType([n.default.string,n.default.number]),height:n.default.oneOfType([n.default.string,n.default.number]),style:n.default.object},o.contextTypes={reactIconBase:n.default.shape(o.propTypes)},t.default=o,e.exports=t.default}(lib$2,libExports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tt+e),0);if(1===t)return a;const n=Math.max(r,a/t);let i=0,o=0;do{i+=e[o++]}while(i+e[o]=t&&l[l.length-1].widthMath.max(calcWidth(e.slice(n),t-1,Math.max(r,a)),a))))}const calcRects=memoize_1((function(e,t){const r=(Array.isArray(e)?[`${e.length} Operations}`]:e.match(WORD_RX$1)||[e]).map((e=>(t.innerHTML=e,t.getClientRects()[0].width))),a=[];for(let n=1;n<=r.length;n++){const e=calcWidth(r,n),t=n*FONT_SIZE*LINE_HEIGHT;if((!a.length||ee)break}return a}),((e,t)=>`${e}\t${t.style.fontWeight}`)),sq=e=>e**2,diagonal=e=>Math.sqrt(sq(e.height)+sq(e.width));function smallestRadius(e,t){if(!t){let t=diagonal(e[0]),{height:r,width:a}=e[0];for(let n=1;n{t.forEach((t=>{let a,n;const i=e.height+t.height+OP_PADDING_TOP,o=(sq(e.width/2)-sq(t.width/2))/(2*i)+i/2;oi-e.height/2?(a=diagonal(e)/2,n=a-e.height/2):(a=Math.sqrt(sq(t.width/2)+sq(o)),n=a-i+o),(!r||r.radius>a)&&(r={radius:a,svcWidth:e.width,opWidth:t.width,svcMarginTop:n})}))})),!r)throw new Error("Given 0 svcRects and/or 0 opRects");return r}const calcPositioning=memoize_1((function(e,t){return smallestRadius(calcRects(e,_initSvcSpan()),t?calcRects(t,_initOpSpan()):void 0)}),((e,t)=>`${e}\t${t}`)),nodeIcons="",setFocusIcon=jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"DdgNode--SetFocusIcon",width:"100",height:"100",viewBox:"0 0 100 100",children:jsxRuntimeExports.jsxs("g",{children:[jsxRuntimeExports.jsx("path",{d:"M50.0001 -1L61.0557 22.1383H38.9444L50.0001 -1Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M49.9999 99L38.9443 75.8617L61.0556 75.8617L49.9999 99Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M100 49L76.8617 60.0556L76.8617 37.9444L100 49Z",fill:"currentColor"}),jsxRuntimeExports.jsx("path",{d:"M1.57361e-06 49L23.1383 37.9444L23.1383 60.0556L1.57361e-06 49Z",fill:"currentColor"})]})}),BreakableText$1="",WORD_RX=/\W*\w+\W*/g;function BreakableText(e){const{className:t,text:r,wordRegexp:a=WORD_RX}=e;if(!r)return"string"==typeof r?r:null;const n=[];a.exec("");let i=a.exec(r)||[r];for(;i;)n.push(jsxRuntimeExports.jsx("span",{className:t,children:i[0]},`${r}-${n.length}`)),i=a.exec(r);return n}BreakableText.defaultProps={className:"BreakableText",wordRegexp:WORD_RX};var characterMap={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Ấ":"A","Ắ":"A","Ẳ":"A","Ẵ":"A","Ặ":"A","Æ":"AE","Ầ":"A","Ằ":"A","Ȃ":"A","Ç":"C","Ḉ":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ế":"E","Ḗ":"E","Ề":"E","Ḕ":"E","Ḝ":"E","Ȇ":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ḯ":"I","Ȋ":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ố":"O","Ṍ":"O","Ṓ":"O","Ȏ":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ấ":"a","ắ":"a","ẳ":"a","ẵ":"a","ặ":"a","æ":"ae","ầ":"a","ằ":"a","ȃ":"a","ç":"c","ḉ":"c","è":"e","é":"e","ê":"e","ë":"e","ế":"e","ḗ":"e","ề":"e","ḕ":"e","ḝ":"e","ȇ":"e","ì":"i","í":"i","î":"i","ï":"i","ḯ":"i","ȋ":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ố":"o","ṍ":"o","ṓ":"o","ȏ":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","C̆":"C","c̆":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","Ǵ":"G","ĝ":"g","ǵ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ḫ":"H","ḫ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ḱ":"K","ḱ":"k","K̆":"K","k̆":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ḿ":"M","ḿ":"m","M̆":"M","m̆":"m","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","N̆":"N","n̆":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","P̆":"P","p̆":"p","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","R̆":"R","r̆":"r","Ȓ":"R","ȓ":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","Ș":"S","ș":"s","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","ț":"t","Ț":"T","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","T̆":"T","t̆":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ȗ":"U","ȗ":"u","V̆":"V","v̆":"v","Ŵ":"W","ŵ":"w","Ẃ":"W","ẃ":"w","X̆":"X","x̆":"x","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Y̆":"Y","y̆":"y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ứ":"U","ứ":"u","Ṹ":"U","ṹ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o","Þ":"TH","þ":"th","Ṕ":"P","ṕ":"p","Ṥ":"S","ṥ":"s","X́":"X","x́":"x","Ѓ":"Г","ѓ":"г","Ќ":"К","ќ":"к","A̋":"A","a̋":"a","E̋":"E","e̋":"e","I̋":"I","i̋":"i","Ǹ":"N","ǹ":"n","Ồ":"O","ồ":"o","Ṑ":"O","ṑ":"o","Ừ":"U","ừ":"u","Ẁ":"W","ẁ":"w","Ỳ":"Y","ỳ":"y","Ȁ":"A","ȁ":"a","Ȅ":"E","ȅ":"e","Ȉ":"I","ȉ":"i","Ȍ":"O","ȍ":"o","Ȑ":"R","ȑ":"r","Ȕ":"U","ȕ":"u","B̌":"B","b̌":"b","Č̣":"C","č̣":"c","Ê̌":"E","ê̌":"e","F̌":"F","f̌":"f","Ǧ":"G","ǧ":"g","Ȟ":"H","ȟ":"h","J̌":"J","ǰ":"j","Ǩ":"K","ǩ":"k","M̌":"M","m̌":"m","P̌":"P","p̌":"p","Q̌":"Q","q̌":"q","Ř̩":"R","ř̩":"r","Ṧ":"S","ṧ":"s","V̌":"V","v̌":"v","W̌":"W","w̌":"w","X̌":"X","x̌":"x","Y̌":"Y","y̌":"y","A̧":"A","a̧":"a","B̧":"B","b̧":"b","Ḑ":"D","ḑ":"d","Ȩ":"E","ȩ":"e","Ɛ̧":"E","ɛ̧":"e","Ḩ":"H","ḩ":"h","I̧":"I","i̧":"i","Ɨ̧":"I","ɨ̧":"i","M̧":"M","m̧":"m","O̧":"O","o̧":"o","Q̧":"Q","q̧":"q","U̧":"U","u̧":"u","X̧":"X","x̧":"x","Z̧":"Z","z̧":"z"},chars=Object.keys(characterMap).join("|"),allAccents=new RegExp(chars,"g"),firstAccent=new RegExp(chars,""),removeAccents=function(e){return e.replace(allAccents,(function(e){return characterMap[e]}))},hasAccents=function(e){return!!e.match(firstAccent)},removeAccents_1=removeAccents,has=hasAccents,remove$7=removeAccents;removeAccents_1.has=has,removeAccents_1.remove=remove$7;var _typeof$D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_extends$1B=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return e;var a=r.keys,n=r.threshold,i=void 0===n?rankings.MATCHES:n,o=e.reduce((function(e,n,o){var l=getHighestRanking(n,a,t,r),s=l.rankedItem,c=l.rank,u=l.keyIndex,f=l.keyThreshold;return c>=(void 0===f?i:f)&&e.push({rankedItem:s,item:n,rank:c,index:o,keyIndex:u}),e}),[]);return o.sort(sortRankedItems).map((function(e){return e.item}))}function getHighestRanking(e,t,r,a){return t?getAllValuesToRank(e,t).reduce((function(e,t,n){var i=e.rank,o=e.keyIndex,l=e.keyThreshold,s=t.itemValue,c=t.attributes,u=getMatchRanking(s,r,a),f=c.minRanking,A=c.maxRanking,d=c.threshold;return u=rankings.MATCHES?u=f:u>A&&(u=A),u>i&&(i=u,o=n,l=d),{rankedItem:s,rank:i,keyIndex:o,keyThreshold:l}}),{rank:rankings.NO_MATCH,keyIndex:-1,keyThreshold:a.threshold}):{rankedItem:e,rank:getMatchRanking(e,r,a),keyIndex:-1,keyThreshold:a.threshold}}function getMatchRanking(e,t,r){if(e=prepareValueForComparison(e,r),(t=prepareValueForComparison(t,r)).length>e.length)return rankings.NO_MATCH;if(e===t)return rankings.CASE_SENSITIVE_EQUAL;var a=getCaseRanking(e),n=isPartialOfCase(e,t,a),i=isCaseAcronym(e,t,a);return(e=e.toLowerCase())===(t=t.toLowerCase())?rankings.EQUAL+a:0===e.indexOf(t)?rankings.STARTS_WITH+a:-1!==e.indexOf(" "+t)?rankings.WORD_STARTS_WITH+a:n?rankings.STRING_CASE+a:a>0&&i?rankings.STRING_CASE_ACRONYM+a:-1!==e.indexOf(t)?rankings.CONTAINS+a:1===t.length?rankings.NO_MATCH:-1!==getAcronym(e).indexOf(t)?rankings.ACRONYM+a:getClosenessRanking(e,t)}function getAcronym(e){var t="";return e.split(" ").forEach((function(e){e.split("-").forEach((function(e){t+=e.substr(0,1)}))})),t}function getCaseRanking(e){var t=e.toLowerCase()!==e,r=e.indexOf("-")>=0,a=e.indexOf("_")>=0;return t||a||!r?t||!a||r?!t||r||a?caseRankings.NO_CASE:e[0].toUpperCase()===e[0]?caseRankings.PASCAL:caseRankings.CAMEL:caseRankings.SNAKE:caseRankings.KEBAB}function isPartialOfCase(e,t,r){var a=e.toLowerCase().indexOf(t.toLowerCase());switch(r){case caseRankings.SNAKE:return"_"===e[a-1];case caseRankings.KEBAB:return"-"===e[a-1];case caseRankings.PASCAL:case caseRankings.CAMEL:return-1!==a&&e[a]===e[a].toUpperCase();default:return!1}}function isCaseAcronym(e,t,r){var a=null;switch(r){case caseRankings.SNAKE:a="_";break;case caseRankings.KEBAB:a="-";break;case caseRankings.PASCAL:case caseRankings.CAMEL:a=/(?=[A-Z])/;break;default:a=null}var n=e.split(a);return t.toLowerCase().split("").reduce((function(e,t,r){var a=n[r];return e&&a&&a[0].toLowerCase()===t}),!0)}function getClosenessRanking(e,t){var r=0,a=0;function n(e,t,a){for(var n=a;n-1))return rankings.NO_MATCH}return function(e){var a=r/t.length;return rankings.MATCHES+a*(1/e)}(a-i)}function sortRankedItems(e,t){var r=e.rankedItem,a=e.rank,n=e.keyIndex,i=t.rankedItem,o=t.rank,l=t.keyIndex;return a===o?n===l?String(r).localeCompare(i):no?-1:1}function prepareValueForComparison(e,t){return e=""+e,t.keepDiacritics||(e=removeAccents_1(e)),e}function getItemValues(e,t){"object"===(void 0===t?"undefined":_typeof$D(t))&&(t=t.key);var r=void 0;return null!=(r="function"==typeof t?t(e):-1!==t.indexOf(".")?t.split(".").reduce((function(e,t){return e?e[t]:null}),e):e[t])?[].concat(r):null}function getAllValuesToRank(e,t){return t.reduce((function(t,r){var a=getItemValues(e,r);return a&&a.forEach((function(e){t.push({itemValue:e,attributes:getKeyAttributes(r)})})),t}),[])}function getKeyAttributes(e){return"string"==typeof e&&(e={key:e}),_extends$1B({maxRanking:1/0,minRanking:-1/0},e)}matchSorter.rankings=rankings,matchSorter.caseRankings=caseRankings;var iosSearchExports={},iosSearch={get exports(){return iosSearchExports},set exports(e){iosSearchExports=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=t?e.call(null):a.id=requestAnimationFrame(n)}))};return a}var size=-1;function getScrollbarSize(e){if(void 0===e&&(e=!1),-1===size||e){var t=document.createElement("div"),r=t.style;r.width="50px",r.height="50px",r.overflow="scroll",document.body.appendChild(t),size=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return size}var cachedRTLResult=null;function getRTLOffsetType(e){if(void 0===e&&(e=!1),null===cachedRTLResult||e){var t=document.createElement("div"),r=t.style;r.width="50px",r.height="50px",r.overflow="scroll",r.direction="rtl";var a=document.createElement("div"),n=a.style;return n.width="100px",n.height="100px",t.appendChild(a),document.body.appendChild(t),t.scrollLeft>0?cachedRTLResult="positive-descending":(t.scrollLeft=1,cachedRTLResult=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),cachedRTLResult}return cachedRTLResult}var IS_SCROLLING_DEBOUNCE_INTERVAL$1=150,defaultItemKey$1=function(e,t){return e};function createListComponent(e){var t,r=e.getItemOffset,a=e.getEstimatedTotalSize,n=e.getItemSize,i=e.getOffsetForIndexAndAlignment,o=e.getStartIndexForOffset,l=e.getStopIndexForStartIndex,s=e.initInstanceProps,c=e.shouldResetStyleCacheOnItemSizeChange,u=e.validateProps;return t=function(e){function t(t){var a;return(a=e.call(this,t)||this)._instanceProps=s(a.props,_assertThisInitialized$1h(a)),a._outerRef=void 0,a._resetIsScrollingTimeoutId=null,a.state={instance:_assertThisInitialized$1h(a),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof a.props.initialScrollOffset?a.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},a._callOnItemsRendered=void 0,a._callOnItemsRendered=memoizeOne((function(e,t,r,n){return a.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:r,visibleStopIndex:n})})),a._callOnScroll=void 0,a._callOnScroll=memoizeOne((function(e,t,r){return a.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:r})})),a._getItemStyle=void 0,a._getItemStyle=function(e){var t,i=a.props,o=i.direction,l=i.itemSize,s=i.layout,u=a._getItemStyleCache(c&&l,c&&s,c&&o);if(u.hasOwnProperty(e))t=u[e];else{var f=r(a.props,e,a._instanceProps),A=n(a.props,e,a._instanceProps),d="horizontal"===o||"horizontal"===s,p="rtl"===o,h=d?f:0;u[e]=t={position:"absolute",left:p?void 0:h,right:p?h:void 0,top:d?0:f,height:d?"100%":A,width:d?A:"100%"}}return t},a._getItemStyleCache=void 0,a._getItemStyleCache=memoizeOne((function(e,t,r){return{}})),a._onScrollHorizontal=function(e){var t=e.currentTarget,r=t.clientWidth,n=t.scrollLeft,i=t.scrollWidth;a.setState((function(e){if(e.scrollOffset===n)return null;var t=a.props.direction,o=n;if("rtl"===t)switch(getRTLOffsetType()){case"negative":o=-n;break;case"positive-descending":o=i-r-n}return o=Math.max(0,Math.min(o,i-r)),{isScrolling:!0,scrollDirection:e.scrollOffsets.clientWidth?getScrollbarSize():0:s.scrollHeight>s.clientHeight?getScrollbarSize():0}this.scrollTo(i(this.props,e,t,o,this._instanceProps,l))},f.componentDidMount=function(){var e=this.props,t=e.direction,r=e.initialScrollOffset,a=e.layout;if("number"==typeof r&&null!=this._outerRef){var n=this._outerRef;"horizontal"===t||"horizontal"===a?n.scrollLeft=r:n.scrollTop=r}this._callPropsCallbacks()},f.componentDidUpdate=function(){var e=this.props,t=e.direction,r=e.layout,a=this.state,n=a.scrollOffset;if(a.scrollUpdateWasRequested&&null!=this._outerRef){var i=this._outerRef;if("horizontal"===t||"horizontal"===r)if("rtl"===t)switch(getRTLOffsetType()){case"negative":i.scrollLeft=-n;break;case"positive-ascending":i.scrollLeft=n;break;default:var o=i.clientWidth,l=i.scrollWidth;i.scrollLeft=l-o-n}else i.scrollLeft=n;else i.scrollTop=n}this._callPropsCallbacks()},f.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&cancelTimeout(this._resetIsScrollingTimeoutId)},f.render=function(){var e=this.props,t=e.children,r=e.className,n=e.direction,i=e.height,o=e.innerRef,l=e.innerElementType,s=e.innerTagName,c=e.itemCount,u=e.itemData,f=e.itemKey,A=void 0===f?defaultItemKey$1:f,d=e.layout,p=e.outerElementType,h=e.outerTagName,b=e.style,g=e.useIsScrolling,m=e.width,v=this.state.isScrolling,y="horizontal"===n||"horizontal"===d,w=y?this._onScrollHorizontal:this._onScrollVertical,k=this._getRangeToRender(),x=k[0],E=k[1],_=[];if(c>0)for(var C=x;C<=E;C++)_.push(reactExports.createElement(t,{data:u,key:A(C,u),index:C,isScrolling:g?v:void 0,style:this._getItemStyle(C)}));var $=a(this.props,this._instanceProps);return reactExports.createElement(p||h||"div",{className:r,onScroll:w,ref:this._outerRefSetter,style:_extends$2i({position:"relative",height:i,width:m,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:n},b)},reactExports.createElement(l||s||"div",{children:_,ref:o,style:{height:y?"100%":$,pointerEvents:v?"none":void 0,width:y?$:"100%"}}))},f._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],r=e[1],a=e[2],n=e[3];this._callOnItemsRendered(t,r,a,n)}if("function"==typeof this.props.onScroll){var i=this.state,o=i.scrollDirection,l=i.scrollOffset,s=i.scrollUpdateWasRequested;this._callOnScroll(o,l,s)}},f._getRangeToRender=function(){var e=this.props,t=e.itemCount,r=e.overscanCount,a=this.state,n=a.isScrolling,i=a.scrollDirection,s=a.scrollOffset;if(0===t)return[0,0,0,0];var c=o(this.props,s,this._instanceProps),u=l(this.props,c,s,this._instanceProps),f=n&&"backward"!==i?1:Math.max(1,r),A=n&&"forward"!==i?1:Math.max(1,r);return[Math.max(0,c-f),Math.max(0,Math.min(t-1,u+A)),c,u]},t}(reactExports.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}var validateSharedProps$1=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},FixedSizeList=createListComponent({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,r,a,n,i){var o=e.direction,l=e.height,s=e.itemCount,c=e.itemSize,u=e.layout,f=e.width,A="horizontal"===o||"horizontal"===u?f:l,d=Math.max(0,s*c-A),p=Math.min(d,t*c),h=Math.max(0,t*c-A+c+i);switch("smart"===r&&(r=a>=h-A&&a<=p+A?"auto":"center"),r){case"start":return p;case"end":return h;case"center":var b=Math.round(h+(p-h)/2);return bd+Math.floor(A/2)?d:b;default:return a>=h&&a<=p?a:a-1){var n=r[a];return a>0&&(r.splice(a,1),r.unshift(n)),n.value}}return{get:a,put:function(t,n){a(t)||(r.unshift({key:t,value:n}),r.length>e&&r.pop())}}}function singletonCache(e){var t;return{get:function(r){if(t&&e(r,t.key))return t.value},put:function(e,r){t={key:e,value:r}}}}function createCache(e,t){return 1===e?singletonCache(t):lruCache(e,t)}function createEqualsFn(e,t){var r=t?deepEquals(e,t):e;return function(e,t){if(e.length!==t.length)return!1;for(var a=0;a0!==r&&t?e(r)?jsxRuntimeExports.jsx("mark",{children:t},`${t+r}`):t:null)).filter(Boolean);return jsxRuntimeExports.jsx("span",{children:r})}const highlightEvenGroups=toHighlights.bind(null,(e=>e%2==0)),highlightFirstGroup=toHighlights.bind(null,(e=>1===e)),ANY_LAZY="(.*?)",ANY_GREEDY="(.*)";function wordBreak(e){return`(\\b${e}|${e.toUpperCase()})`}function letterClass(e){return`[${e}${e.toUpperCase()}]`}class MatchHighlighter{constructor(e){if(this.query=e,!e)return void(this.matchers=[]);const t=e.toLowerCase(),r=`${t[0].toUpperCase()}${t.slice(1)}`,a=t.split(""),n=`^(${t})`,i=`(\\b${a.map(letterClass).join("")}|${r})`,o=a.map((e=>wordBreak(e))).join(ANY_LAZY),l=`(${t})`,s=a.map((e=>`(${e})`)).join(ANY_LAZY);this.matchers=[[new RegExp(`${n}${ANY_GREEDY}`,"i"),highlightFirstGroup],[new RegExp(`${ANY_LAZY}${i}${ANY_GREEDY}`),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${o}${ANY_GREEDY}`),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${l}${ANY_GREEDY}`,"i"),highlightEvenGroups],[new RegExp(`${ANY_LAZY}${s}${ANY_GREEDY}`,"i"),highlightEvenGroups]]}static make(e){return new MatchHighlighter(e)}highlightMatches(e){if(!e)return e;for(let t=0;t{const{data:e,index:t}=this.props,{options:r,selectedValue:a}=e;return"string"!=typeof a&&a?a.has(r[t]):r[t]===a},this.onClicked=()=>{const{data:e,index:t}=this.props,{addValues:r,multi:a,options:n,removeValues:i,setValue:o}=e,l=n[t];a&&r&&i?this.isSelected()?i([l]):r([l]):o(l)}}render(){const{data:e,index:t,style:r}=this.props,{width:a,...n}=r,{focusedIndex:i,highlightQuery:o,multi:l,options:s}=e,c=this.isSelected(),u=classnamesExports("FilteredList--ListItem",{"is-focused":t===i,"is-selected":c,"is-striped":t%2});return jsxRuntimeExports.jsxs("div",{className:u,style:n,onClick:this.onClicked,role:"switch","aria-checked":t===i?"true":"false",children:[l&&jsxRuntimeExports.jsx(Checkbox$1,{className:"FilteredList--ListItem--Checkbox",checked:c}),highlightMatches(o,s[t])]})}}const index$E="",ITEM_HEIGHT=35,MAX_HEIGHT=375;class FilteredList extends reactExports.PureComponent{constructor(){super(...arguments),this.inputRef=reactExports.createRef(),this.vlistRef=reactExports.createRef(),this.wrapperRef=reactExports.createRef(),this.state={filterText:"",focusedIndex:null,visibleStartIndex:0,visibleStopIndex:0},this.focusInput=()=>{const{current:e}=this.inputRef;e&&e.focus()},this.getFilteredOptions=()=>{const{options:e}=this.props,{filterText:t}=this.state;return t?matchSorter(e,t):e},this.setValue=e=>{this.props.setValue(e),this.setState({filterText:"",focusedIndex:null})},this.onKeyDown=e=>{const{focusedIndex:t}=this.state;switch(e.key){case Key_enum.Key.Escape:{const{cancel:e}=this.props;this.setState({filterText:"",focusedIndex:null}),e&&e();break}case Key_enum.Key.ArrowUp:case Key_enum.Key.ArrowDown:{const{visibleStartIndex:r,visibleStopIndex:a}=this.state;let n;if(null==t)n=e.key===Key_enum.Key.ArrowDown?r:a,this.setState({focusedIndex:n});else{const r=e.key===Key_enum.Key.ArrowDown?1:-1,a=this.getFilteredOptions(),i=t+r;n=i>-1?i%a.length:a.length+i,this.setState({focusedIndex:n})}const i=this.vlistRef.current;i&&(na-1)&&i.scrollToItem(n);break}case Key_enum.Key.Enter:{const e=this.getFilteredOptions();null!==t?this.setValue(e[t]):1===e.length&&this.setValue(e[0]);break}}},this.onListScrolled=debounce_1((e=>{e.scrollUpdateWasRequested||this.setState({focusedIndex:null})}),80),this.onListItemsRendered=debounce_1((e=>{const{visibleStartIndex:t,visibleStopIndex:r}=e;this.setState({visibleStartIndex:t,visibleStopIndex:r})}),80),this.onFilterChanged=e=>{this.setState({filterText:e.target.value,focusedIndex:null})}}componentDidUpdate(){this.focusInput()}isMouseWithin(){const{current:e}=this.wrapperRef;return null!=e&&e.matches(":hover")}getFilteredCheckbox(e){const{addValues:t,removeValues:r,options:a,value:n}=this.props;if(!t||!r)return null;const i="string"!=typeof n&&n?n:new Set([n]);let o=0,l=!1;for(let u=0;u{a?t(e.filter((e=>!i.has(e)))):r(e)},indeterminate:l})})}render(){const{addValues:e,multi:t,options:r,removeValues:a,value:n}=this.props,{filterText:i,focusedIndex:o}=this.state,l=this.getFilteredOptions(),s=t&&this.getFilteredCheckbox(l),c={addValues:e,focusedIndex:o,highlightQuery:i,multi:t,options:l,removeValues:a,selectedValue:n,setValue:this.setValue};return jsxRuntimeExports.jsxs("div",{ref:this.wrapperRef,children:[jsxRuntimeExports.jsxs("div",{className:"FilteredList--filterWrapper",children:[s,jsxRuntimeExports.jsxs("label",{className:"FilteredList--inputWrapper",children:[jsxRuntimeExports.jsx(IoIosSearch,{className:"FilteredList--filterIcon"}),jsxRuntimeExports.jsx("input",{className:"FilteredList--filterInput",placeholder:"Filter...",onChange:this.onFilterChanged,onKeyDown:this.onKeyDown,ref:this.inputRef,type:"text",value:i})]})]}),jsxRuntimeExports.jsx(FixedSizeList,{className:"FilteredList--list u-simple-scrollbars",height:Math.min(r.length*ITEM_HEIGHT,MAX_HEIGHT),itemCount:l.length,itemData:c,itemSize:ITEM_HEIGHT,width:650,overscanCount:25,onItemsRendered:this.onListItemsRendered,onScroll:this.onListScrolled,ref:this.vlistRef,children:ListItem},i)]})}}var androidOpenExports={},androidOpen={get exports(){return androidOpenExports},set exports(e){androidOpenExports=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t{const a=`${e}/${t}`;r[t]=a})),r}NewWindowIcon.defaultProps={isLarge:!1};const PARAMETER_REG_EXP=/#\{([^{}]*)\}/g;function encodedStringSupplant(e,t,r){return e.replace(PARAMETER_REG_EXP,((e,a)=>{const n=r[a],i=null!=n&&t?t(n):n;return null==i?"":`${i}`}))}function stringSupplant(e,t){return encodedStringSupplant(e,null,t)}function getParamNames(e){const t=new Set;return e.replace(PARAMETER_REG_EXP,((e,r)=>(t.add(r),e))),Array.from(t)}const fetchDecoration=memoize(10)((e=>JaegerAPI.fetchDecoration(e))),actionTypes$4=generateActionTypes("@jaeger-ui/PATH_AGNOSTIC_DECORATIONS",["GET_DECORATION"]),getDecorationSchema=memoize_1((e=>{const t=getConfigValue("pathAgnosticDecorations");if(t)return t.find((t=>t.id===e))}));let doneCount,pendingCount,pendingData,pendingPromise,resolve;const _processed=new Map;function getDecoration(e,t,r){const a=_processed.get(e);if(a){const e=a.get(t);if(e){if(e.has(r))return;e.add(r)}else a.set(t,new Set([r]))}else _processed.set(e,new Map([[t,new Set([r])]]));const n=getDecorationSchema(e);if(!n)return;const i=!resolve||!pendingPromise;i&&(pendingPromise=new Promise((e=>{resolve=e}))),pendingCount=pendingCount?pendingCount+1:1;const{summaryUrl:o,opSummaryUrl:l,summaryPath:s,opSummaryPath:c}=n;let u,f,A;return c&&l&&r?(u=fetchDecoration(stringSupplant(l,{service:t,operation:r})),f=stringSupplant(c,{service:t,operation:r}),A=`${e}.withOp.${t}.${r}`):(u=fetchDecoration(stringSupplant(o,{service:t})),f=stringSupplant(s,{service:t}),A=`${e}.withoutOp.${t}`),u.then((e=>get_1$1(e,f,`\`${f}\` not found in response`))).catch((e=>`Unable to fetch decoration: ${e.message||e}`)).then((e=>{if(pendingData||(pendingData={}),set_1(pendingData,A,e),doneCount=doneCount?doneCount+1:1,doneCount===pendingCount){if(!resolve)throw new Error("`resolve` unexpectedly undefined");resolve(pendingData),doneCount=pendingCount=pendingData=pendingPromise=resolve=void 0}})),i?pendingPromise:void 0}const fullActions$4=createActions({[actionTypes$4.GET_DECORATION]:getDecoration}),padActions=fullActions$4.jaegerUi.pathAgnosticDecorations; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use @@ -85,13 +85,13 @@ hooks$1.version="2.29.4",setHookCallback(createLocal),hooks$1.fn=proto$2,hooks$1 Licensed under the MIT License (MIT), see http://jedwatson.github.io/react-select */ -var stringifyValue=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},stringOrNode=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.node]),stringOrNumber=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),instanceId=1,shouldShowValue=function(e,t){var r=e.inputValue,a=e.isPseudoFocused,n=e.isFocused,i=t.onSelectResetsInput;return!r||!i&&!(!n&&a||n&&!a)},shouldShowPlaceholder=function(e,t,r){var a=e.inputValue,n=e.isPseudoFocused,i=e.isFocused,o=t.onSelectResetsInput;return!a||!o&&!r&&!n&&!i},expandValue=function(e,t){var r=void 0===e?"undefined":_typeof$9(e);if("string"!==r&&"number"!==r&&"boolean"!==r)return e;var a=t.options,n=t.valueKey;if(a)for(var i=0;io||if.bottom?c.scrollTop=s.offsetTop+s.clientHeight-c.offsetHeight:u.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,r="object"===(void 0===t?"undefined":_typeof$9(t))?t:this.props;if(r.multi){if("string"==typeof e&&(e=e.split(r.delimiter)),!Array.isArray(e)){if(null==e)return[];e=[e]}return e.map((function(e){return expandValue(e,r)})).filter((function(e){return e}))}var a=expandValue(e,r);return a?[a]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var r=handleRequired(e,this.props.multi);this.setState({required:r})}this.props.simpleValue&&e&&(e=this.props.multi?e.map((function(e){return e[t.props.valueKey]})).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var r=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(r),isOpen:!this.props.closeOnSelect},(function(){t.getValueArray(t.props.value).some((function(r){return r[t.props.valueKey]===e[t.props.valueKey]}))?t.removeValue(e):t.addValue(e)})):this.setState({inputValue:this.handleInputValueChange(r),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},(function(){t.setValue(e)}))}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),r=this._visibleOptions.filter((function(e){return!e.disabled})),a=r.indexOf(e);this.setValue(t.concat(e)),this.props.closeOnSelect&&(r.length-1===a?this.focusOption(r[a-1]):r.length>a&&this.focusOption(r[a+1]))}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,r=this.getValueArray(this.props.value);this.setValue(r.filter((function(r){return r[t.props.valueKey]!==e[t.props.valueKey]}))),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map((function(e,t){return{option:e,index:t}})).filter((function(e){return!e.option.disabled}));if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var r={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(r.inputValue=""),void this.setState(r)}if(t.length){for(var a=-1,n=0;n0?a-=1:a=t.length-1;else if("start"===e)a=0;else if("end"===e)a=t.length-1;else if("page_up"===e){var i=a-this.props.pageSize;a=i<0?0:i}else if("page_down"===e){var o=a+this.props.pageSize;a=o>t.length-1?t.length-1:o}-1===a&&(a=0),this.setState({focusedIndex:t[a].index,focusedOption:t[a].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return React$k.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},React$k.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var r=this,a=this.props.valueRenderer||this.getOptionLabel,n=this.props.valueComponent;if(!e.length)return shouldShowPlaceholder(this.state,this.props,t)?React$k.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map((function(t,o){return React$k.createElement(n,{disabled:r.props.disabled||!1===t.clearableValue,id:r._instancePrefix+"-value-"+o,instancePrefix:r._instancePrefix,key:"value-"+o+"-"+t[r.props.valueKey],onClick:i,onRemove:r.removeValue,placeholder:r.props.placeholder,value:t,values:e},a(t,o),React$k.createElement("span",{className:"Select-aria-only"}," "))})):shouldShowValue(this.state,this.props)?(t&&(i=null),React$k.createElement(n,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},a(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var r,a=this,n=classnamesExports("Select-input",this.props.inputProps.className),i=this.state.isOpen,o=classnamesExports((defineProperty(r={},this._instancePrefix+"-list",i),defineProperty(r,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),r)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var s=_extends$1c({},this.props.inputProps,{"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+i,"aria-haspopup":""+i,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":o,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return a.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(s);if(this.props.disabled||!this.props.searchable){var c=objectWithoutProperties(this.props.inputProps,[]),u=classnamesExports(defineProperty({},this._instancePrefix+"-list",i));return React$k.createElement("div",_extends$1c({},c,{"aria-expanded":i,"aria-owns":u,"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:n,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return a.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?React$k.createElement(_default$3,_extends$1c({id:this.props.id},s,{className:n,minWidth:"5"})):React$k.createElement("div",{className:n,key:"input-wrap",style:{display:"inline-block"}},React$k.createElement("input",_extends$1c({id:this.props.id},s)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,r=this.props.clearRenderer();return React$k.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},r)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,r=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return r?React$k.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},r):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,r=this.props.options||[];if(this.props.filterOptions){var a="function"==typeof this.props.filterOptions?this.props.filterOptions:filterOptions;return a(r,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return r}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,r){return e&&e.length?this.props.menuRenderer({focusedOption:r,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?React$k.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var r=e.map((function(e){return stringifyValue(e[t.props.valueKey])})).join(this.props.delimiter);return React$k.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:r})}return e.map((function(e,r){return React$k.createElement("input",{disabled:t.props.disabled,key:"hidden."+r,name:t.props.name,ref:"value"+r,type:"hidden",value:stringifyValue(e[t.props.valueKey])})}))}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var r=this.props.valueKey,a=this.state.focusedOption||e;if(a&&!a.disabled){var n=-1;if(t.some((function(e,t){var i=e[r]===a[r];return i&&(n=t),i})),-1!==n)return n}for(var i=0;i div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',a=e.head||e.getElementsByTagName("head")[0],n=e.createElement("style");n.id="detectElementResize",n.type="text/css",null!=t&&n.setAttribute("nonce",t),n.styleSheet?n.styleSheet.cssText=r:n.appendChild(e.createTextNode(r)),a.appendChild(n)}}(i),e.__resizeLast__={},e.__resizeListeners__=[],(e.__resizeTriggers__=i.createElement("div")).className="resize-triggers",e.__resizeTriggers__.innerHTML='
',e.appendChild(e.__resizeTriggers__),o(e),e.addEventListener("scroll",l,!0),u&&(e.__resizeTriggers__.__animationListener__=function(t){t.animationName==h&&o(e)},e.__resizeTriggers__.addEventListener(u,e.__resizeTriggers__.__animationListener__))}e.__resizeListeners__.push(n)}},removeResizeListener:function(t,r){if(a)t.detachEvent("onresize",r);else if(t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(r),1),!t.__resizeListeners__.length){t.removeEventListener("scroll",l,!0),t.__resizeTriggers__.__animationListener__&&(t.__resizeTriggers__.removeEventListener(u,t.__resizeTriggers__.__animationListener__),t.__resizeTriggers__.__animationListener__=null);try{t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__)}catch(e){}}}}}Object.defineProperty(detectElementResize,"__esModule",{value:!0}),detectElementResize.default=createDetectElementResize,Object.defineProperty(AutoSizer$2,"__esModule",{value:!0});var _extends2$2=_extends$2a,_extends3$2=_interopRequireDefault$9(_extends2$2),_getPrototypeOf$d=getPrototypeOfExports,_getPrototypeOf2$2=_interopRequireDefault$9(_getPrototypeOf$d),_classCallCheck2$2=classCallCheck$2,_classCallCheck3$2=_interopRequireDefault$9(_classCallCheck2$2),_createClass2$2=createClass$2,_createClass3$2=_interopRequireDefault$9(_createClass2$2),_possibleConstructorReturn2$2=possibleConstructorReturn$2,_possibleConstructorReturn3$2=_interopRequireDefault$9(_possibleConstructorReturn2$2),_inherits2$2=inherits$2,_inherits3$2=_interopRequireDefault$9(_inherits2$2),_react$3=reactExports,React$2=_interopRequireWildcard$3(_react$3),_detectElementResize=detectElementResize,_detectElementResize2=_interopRequireDefault$9(_detectElementResize),_propTypes$4=propTypesExports;function _interopRequireWildcard$3(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault$9(e){return e&&e.__esModule?e:{default:e}}_interopRequireDefault$9(_propTypes$4);var AutoSizer$1=function(e){function t(){var e,r,a,n;(0,_classCallCheck3$2.default)(this,t);for(var i=arguments.length,o=Array(i),l=0;l=0&&s===l&&c())}Object.defineProperty(calculateSizeAndPositionDataAndUpdateScrollOffset$1,"__esModule",{value:!0}),calculateSizeAndPositionDataAndUpdateScrollOffset$1.default=calculateSizeAndPositionDataAndUpdateScrollOffset;var ScalingCellSizeAndPositionManager={},CellSizeAndPositionManager={},types$1={},hasRequiredTypes,hasRequiredCellSizeAndPositionManager;function requireTypes(){if(hasRequiredTypes)return types$1;function e(e){return e&&e.__esModule?e:{default:e}}hasRequiredTypes=1,Object.defineProperty(types$1,"__esModule",{value:!0}),types$1.bpfrpt_proptype_VisibleCellRange=types$1.bpfrpt_proptype_Alignment=types$1.bpfrpt_proptype_OverscanIndicesGetter=types$1.bpfrpt_proptype_OverscanIndices=types$1.bpfrpt_proptype_OverscanIndicesGetterParams=types$1.bpfrpt_proptype_RenderedSection=types$1.bpfrpt_proptype_ScrollbarPresenceChange=types$1.bpfrpt_proptype_Scroll=types$1.bpfrpt_proptype_NoContentRenderer=types$1.bpfrpt_proptype_CellSize=types$1.bpfrpt_proptype_CellSizeGetter=types$1.bpfrpt_proptype_CellRangeRenderer=types$1.bpfrpt_proptype_CellRangeRendererParams=types$1.bpfrpt_proptype_StyleCache=types$1.bpfrpt_proptype_CellCache=types$1.bpfrpt_proptype_CellRenderer=types$1.bpfrpt_proptype_CellRendererParams=types$1.bpfrpt_proptype_CellPosition=void 0,function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e}(reactExports),e(requireScalingCellSizeAndPositionManager()),e(propTypesExports);return types$1.bpfrpt_proptype_CellPosition=null,types$1.bpfrpt_proptype_CellRendererParams=null,types$1.bpfrpt_proptype_CellRenderer=null,types$1.bpfrpt_proptype_CellCache=null,types$1.bpfrpt_proptype_StyleCache=null,types$1.bpfrpt_proptype_CellRangeRendererParams=null,types$1.bpfrpt_proptype_CellRangeRenderer=null,types$1.bpfrpt_proptype_CellSizeGetter=null,types$1.bpfrpt_proptype_CellSize=null,types$1.bpfrpt_proptype_NoContentRenderer=null,types$1.bpfrpt_proptype_Scroll=null,types$1.bpfrpt_proptype_ScrollbarPresenceChange=null,types$1.bpfrpt_proptype_RenderedSection=null,types$1.bpfrpt_proptype_OverscanIndicesGetterParams=null,types$1.bpfrpt_proptype_OverscanIndices=null,types$1.bpfrpt_proptype_OverscanIndicesGetter=null,types$1.bpfrpt_proptype_Alignment=null,types$1.bpfrpt_proptype_VisibleCellRange=null,types$1}function requireCellSizeAndPositionManager(){if(hasRequiredCellSizeAndPositionManager)return CellSizeAndPositionManager;hasRequiredCellSizeAndPositionManager=1,Object.defineProperty(CellSizeAndPositionManager,"__esModule",{value:!0});var e=r(classCallCheck$2),t=r(createClass$2);function r(e){return e&&e.__esModule?e:{default:e}}requireTypes();var a=function(){function r(t){var a=t.cellCount,n=t.cellSizeGetter,i=t.estimatedCellSize;(0,e.default)(this,r),this._cellSizeAndPositionData={},this._lastMeasuredIndex=-1,this._lastBatchedIndex=-1,this._cellSizeGetter=n,this._cellCount=a,this._estimatedCellSize=i}return(0,t.default)(r,[{key:"areOffsetsAdjusted",value:function(){return!1}},{key:"configure",value:function(e){var t=e.cellCount,r=e.estimatedCellSize,a=e.cellSizeGetter;this._cellCount=t,this._estimatedCellSize=r,this._cellSizeGetter=a}},{key:"getCellCount",value:function(){return this._cellCount}},{key:"getEstimatedCellSize",value:function(){return this._estimatedCellSize}},{key:"getLastMeasuredIndex",value:function(){return this._lastMeasuredIndex}},{key:"getOffsetAdjustment",value:function(){return 0}},{key:"getSizeAndPositionOfCell",value:function(e){if(e<0||e>=this._cellCount)throw Error("Requested index "+e+" is outside of range 0.."+this._cellCount);if(e>this._lastMeasuredIndex)for(var t=this.getSizeAndPositionOfLastMeasuredCell(),r=t.offset+t.size,a=this._lastMeasuredIndex+1;a<=e;a++){var n=this._cellSizeGetter({index:a});if(void 0===n||isNaN(n))throw Error("Invalid size returned for cell "+a+" of value "+n);null===n?(this._cellSizeAndPositionData[a]={offset:r,size:0},this._lastBatchedIndex=e):(this._cellSizeAndPositionData[a]={offset:r,size:n},r+=n,this._lastMeasuredIndex=e)}return this._cellSizeAndPositionData[e]}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._lastMeasuredIndex>=0?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}}},{key:"getTotalSize",value:function(){var e=this.getSizeAndPositionOfLastMeasuredCell();return e.offset+e.size+(this._cellCount-this._lastMeasuredIndex-1)*this._estimatedCellSize}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,r=void 0===t?"auto":t,a=e.containerSize,n=e.currentOffset,i=e.targetIndex;if(a<=0)return 0;var o=this.getSizeAndPositionOfCell(i),l=o.offset,s=l-a+o.size,c=void 0;switch(r){case"start":c=l;break;case"end":c=s;break;case"center":c=l-(a-o.size)/2;break;default:c=Math.max(s,Math.min(l,n))}var u=this.getTotalSize();return Math.max(0,Math.min(u-a,c))}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,r=e.offset;if(0===this.getTotalSize())return{};var a=r+t,n=this._findNearestCell(r),i=this.getSizeAndPositionOfCell(n);r=i.offset+i.size;for(var o=n;rr&&(e=a-1)}return t>0?t-1:0}},{key:"_exponentialSearch",value:function(e,t){for(var r=1;e=e?this._binarySearch(r,0,e):this._exponentialSearch(r,e)}}]),r}();return CellSizeAndPositionManager.default=a,CellSizeAndPositionManager}var maxElementSize={};Object.defineProperty(maxElementSize,"__esModule",{value:!0});var DEFAULT_MAX_ELEMENT_SIZE=15e5,CHROME_MAX_ELEMENT_SIZE=16777100,isBrowser=function(){return"undefined"!=typeof window},isChrome=function(){return!!window.chrome&&!!window.chrome.webstore},hasRequiredScalingCellSizeAndPositionManager;function requireScalingCellSizeAndPositionManager(){if(hasRequiredScalingCellSizeAndPositionManager)return ScalingCellSizeAndPositionManager;hasRequiredScalingCellSizeAndPositionManager=1,Object.defineProperty(ScalingCellSizeAndPositionManager,"__esModule",{value:!0});var e=i(objectWithoutProperties$2),t=i(classCallCheck$2),r=i(createClass$2),a=i(requireCellSizeAndPositionManager()),n=maxElementSize;function i(e){return e&&e.__esModule?e:{default:e}}requireTypes();var o=function(){function i(r){var o=r.maxScrollSize,l=void 0===o?(0,n.getMaxElementSize)():o,s=(0,e.default)(r,["maxScrollSize"]);(0,t.default)(this,i),this._cellSizeAndPositionManager=new a.default(s),this._maxScrollSize=l}return(0,r.default)(i,[{key:"areOffsetsAdjusted",value:function(){return this._cellSizeAndPositionManager.getTotalSize()>this._maxScrollSize}},{key:"configure",value:function(e){this._cellSizeAndPositionManager.configure(e)}},{key:"getCellCount",value:function(){return this._cellSizeAndPositionManager.getCellCount()}},{key:"getEstimatedCellSize",value:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()}},{key:"getLastMeasuredIndex",value:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()}},{key:"getOffsetAdjustment",value:function(e){var t=e.containerSize,r=e.offset,a=this._cellSizeAndPositionManager.getTotalSize(),n=this.getTotalSize(),i=this._getOffsetPercentage({containerSize:t,offset:r,totalSize:n});return Math.round(i*(n-a))}},{key:"getSizeAndPositionOfCell",value:function(e){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(e)}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()}},{key:"getTotalSize",value:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,r=void 0===t?"auto":t,a=e.containerSize,n=e.currentOffset,i=e.targetIndex;n=this._safeOffsetToOffset({containerSize:a,offset:n});var o=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({align:r,containerSize:a,currentOffset:n,targetIndex:i});return this._offsetToSafeOffset({containerSize:a,offset:o})}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,r=e.offset;return r=this._safeOffsetToOffset({containerSize:t,offset:r}),this._cellSizeAndPositionManager.getVisibleCellRange({containerSize:t,offset:r})}},{key:"resetCell",value:function(e){this._cellSizeAndPositionManager.resetCell(e)}},{key:"_getOffsetPercentage",value:function(e){var t=e.containerSize,r=e.offset,a=e.totalSize;return a<=t?0:r/(a-t)}},{key:"_offsetToSafeOffset",value:function(e){var t=e.containerSize,r=e.offset,a=this._cellSizeAndPositionManager.getTotalSize(),n=this.getTotalSize();if(a===n)return r;var i=this._getOffsetPercentage({containerSize:t,offset:r,totalSize:a});return Math.round(i*(n-t))}},{key:"_safeOffsetToOffset",value:function(e){var t=e.containerSize,r=e.offset,a=this._cellSizeAndPositionManager.getTotalSize(),n=this.getTotalSize();if(a===n)return r;var i=this._getOffsetPercentage({containerSize:t,offset:r,totalSize:n});return Math.round(i*(a-t))}}]),i}();return ScalingCellSizeAndPositionManager.default=o,ScalingCellSizeAndPositionManager}maxElementSize.getMaxElementSize=function(){return isBrowser()&&isChrome()?CHROME_MAX_ELEMENT_SIZE:DEFAULT_MAX_ELEMENT_SIZE};var createCallbackMemoizer$1={},keysExports$1={},keys$2={get exports(){return keysExports$1},set exports(e){keysExports$1=e}},toObject=require_toObject(),$keys=_objectKeys;_objectSap("keys",(function(){return function(e){return $keys(toObject(e))}}));var keys$1=_coreExports.Object.keys;!function(e){e.exports={default:keys$1,__esModule:!0}}(keys$2),Object.defineProperty(createCallbackMemoizer$1,"__esModule",{value:!0});var _keys=keysExports$1,_keys2=_interopRequireDefault$8(_keys);function _interopRequireDefault$8(e){return e&&e.__esModule?e:{default:e}}function createCallbackMemoizer(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t={};return function(r){var a=r.callback,n=r.indices,i=(0,_keys2.default)(n),o=!e||i.every((function(e){var t=n[e];return Array.isArray(t)?t.length>0:t>=0})),l=i.length!==(0,_keys2.default)(t).length||i.some((function(e){var r=t[e],a=n[e];return Array.isArray(a)?r.join(",")!==a.join(","):r!==a}));t=n,o&&l&&a(n)}}createCallbackMemoizer$1.default=createCallbackMemoizer;var defaultOverscanIndicesGetter$2={};Object.defineProperty(defaultOverscanIndicesGetter$2,"__esModule",{value:!0}),defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_VERTICAL=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_HORIZONTAL=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_FORWARD=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_BACKWARD=void 0,defaultOverscanIndicesGetter$2.default=defaultOverscanIndicesGetter$1,requireTypes(),defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_BACKWARD=-1;var SCROLL_DIRECTION_FORWARD$1=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_FORWARD=1;function defaultOverscanIndicesGetter$1(e){var t=e.cellCount,r=e.overscanCellsCount,a=e.scrollDirection,n=e.startIndex,i=e.stopIndex;return a===SCROLL_DIRECTION_FORWARD$1?{overscanStartIndex:Math.max(0,n),overscanStopIndex:Math.min(t-1,i+r)}:{overscanStartIndex:Math.max(0,n-r),overscanStopIndex:Math.min(t-1,i)}}defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_HORIZONTAL="horizontal",defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_VERTICAL="vertical";var updateScrollIndexHelper$1={};Object.defineProperty(updateScrollIndexHelper$1,"__esModule",{value:!0}),updateScrollIndexHelper$1.default=updateScrollIndexHelper;var _ScalingCellSizeAndPositionManager$1=requireScalingCellSizeAndPositionManager();function _interopRequireDefault$7(e){return e&&e.__esModule?e:{default:e}}function updateScrollIndexHelper(e){var t=e.cellSize,r=e.cellSizeAndPositionManager,a=e.previousCellsCount,n=e.previousCellSize,i=e.previousScrollToAlignment,o=e.previousScrollToIndex,l=e.previousSize,s=e.scrollOffset,c=e.scrollToAlignment,u=e.scrollToIndex,f=e.size,A=e.sizeJustIncreasedFromZero,d=e.updateScrollIndexCallback,p=r.getCellCount(),h=u>=0&&u0&&(fr.getTotalSize()-f&&d(p-1)}_interopRequireDefault$7(_ScalingCellSizeAndPositionManager$1),requireTypes();var defaultCellRangeRenderer$1={};function defaultCellRangeRenderer(e){for(var t=e.cellCache,r=e.cellRenderer,a=e.columnSizeAndPositionManager,n=e.columnStartIndex,i=e.columnStopIndex,o=e.deferredMeasurementCache,l=e.horizontalOffsetAdjustment,s=e.isScrolling,c=e.isScrollingOptOut,u=e.parent,f=e.rowSizeAndPositionManager,A=e.rowStartIndex,d=e.rowStopIndex,p=e.styleCache,h=e.verticalOffsetAdjustment,b=e.visibleColumnIndices,g=e.visibleRowIndices,m=[],v=a.areOffsetsAdjusted()||f.areOffsetsAdjusted(),y=!s&&!v,w=A;w<=d;w++)for(var k=f.getSizeAndPositionOfCell(w),x=n;x<=i;x++){var E=a.getSizeAndPositionOfCell(x),_=x>=b.start&&x<=b.stop&&w>=g.start&&w<=g.stop,C=w+"-"+x,$=void 0;y&&p[C]?$=p[C]:o&&!o.has(w,x)?$={height:"auto",left:0,position:"absolute",top:0,width:"auto"}:($={height:k.size,left:E.offset+l,position:"absolute",top:k.offset+h,width:E.size},p[C]=$);var T={columnIndex:x,isScrolling:s,isVisible:_,key:C,parent:u,rowIndex:w,style:$},O=void 0;!c&&!s||l||h?O=r(T):(t[C]||(t[C]=r(T)),O=t[C]),null!=O&&!1!==O&&m.push(O)}return m}Object.defineProperty(defaultCellRangeRenderer$1,"__esModule",{value:!0}),defaultCellRangeRenderer$1.default=defaultCellRangeRenderer,requireTypes();var scrollbarSizeExports={},scrollbarSize={get exports(){return scrollbarSizeExports},set exports(e){scrollbarSizeExports=e}},interopRequireDefaultExports={},interopRequireDefault={get exports(){return interopRequireDefaultExports},set exports(e){interopRequireDefaultExports=e}};!function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}(interopRequireDefault);var inDOMExports={},inDOM={get exports(){return inDOMExports},set exports(e){inDOMExports=e}},hasRequiredInDOM;function requireInDOM(){return hasRequiredInDOM||(hasRequiredInDOM=1,function(e,t){t.__esModule=!0,t.default=void 0;var r=!("undefined"==typeof window||!window.document||!window.document.createElement);t.default=r,e.exports=t.default}(inDOM,inDOMExports)),inDOMExports}!function(e,t){var r=interopRequireDefaultExports;t.__esModule=!0,t.default=function(e){if((!a&&0!==a||e)&&n.default){var t=document.createElement("div");t.style.position="absolute",t.style.top="-9999px",t.style.width="50px",t.style.height="50px",t.style.overflow="scroll",document.body.appendChild(t),a=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return a};var a,n=r(requireInDOM());e.exports=t.default}(scrollbarSize,scrollbarSizeExports);var requestAnimationTimeout={},promiseExports={},promise$2={get exports(){return promiseExports},set exports(e){promiseExports=e}},_anInstance=function(e,t,r,a){if(!(e instanceof t)||void 0!==a&&a in e)throw TypeError(r+": incorrect invocation!");return e},_forOfExports={},_forOf={get exports(){return _forOfExports},set exports(e){_forOfExports=e}},ctx$2=_ctx,call=_iterCall,isArrayIter=_isArrayIter,anObject$2=_anObject,toLength=_toLength,getIterFn=core_getIteratorMethod,BREAK={},RETURN={},exports$1=_forOf.exports=function(e,t,r,a,n){var i,o,l,s,c=n?function(){return e}:getIterFn(e),u=ctx$2(r,a,t?2:1),f=0;if("function"!=typeof c)throw TypeError(e+" is not iterable!");if(isArrayIter(c)){for(i=toLength(e.length);i>f;f++)if((s=t?u(anObject$2(o=e[f])[0],o[1]):u(e[f]))===BREAK||s===RETURN)return s}else for(l=c.call(e);!(o=l.next()).done;)if((s=call(l,u,o.value,t))===BREAK||s===RETURN)return s};exports$1.BREAK=BREAK,exports$1.RETURN=RETURN;var anObject$1=_anObject,aFunction$2=_aFunction,SPECIES=_wksExports("species"),_speciesConstructor=function(e,t){var r,a=anObject$1(e).constructor;return void 0===a||null==(r=anObject$1(a)[SPECIES])?t:aFunction$2(r)},_invoke=function(e,t,r){var a=void 0===r;switch(t.length){case 0:return a?e():e.call(r);case 1:return a?e(t[0]):e.call(r,t[0]);case 2:return a?e(t[0],t[1]):e.call(r,t[0],t[1]);case 3:return a?e(t[0],t[1],t[2]):e.call(r,t[0],t[1],t[2]);case 4:return a?e(t[0],t[1],t[2],t[3]):e.call(r,t[0],t[1],t[2],t[3])}return e.apply(r,t)},ctx$1=_ctx,invoke=_invoke,html=require_html(),cel=require_domCreate(),global$5=_globalExports,process$3=global$5.process,setTask=global$5.setImmediate,clearTask=global$5.clearImmediate,MessageChannel$1=global$5.MessageChannel,Dispatch=global$5.Dispatch,counter=0,queue={},ONREADYSTATECHANGE="onreadystatechange",defer,channel,port,run=function(){var e=+this;if(queue.hasOwnProperty(e)){var t=queue[e];delete queue[e],t()}},listener=function(e){run.call(e.data)};setTask&&clearTask||(setTask=function(e){for(var t=[],r=1;arguments.length>r;)t.push(arguments[r++]);return queue[++counter]=function(){invoke("function"==typeof e?e:Function(e),t)},defer(counter),counter},clearTask=function(e){delete queue[e]},"process"==_cof(process$3)?defer=function(e){process$3.nextTick(ctx$1(run,e,1))}:Dispatch&&Dispatch.now?defer=function(e){Dispatch.now(ctx$1(run,e,1))}:MessageChannel$1?(channel=new MessageChannel$1,port=channel.port2,channel.port1.onmessage=listener,defer=ctx$1(port.postMessage,port,1)):global$5.addEventListener&&"function"==typeof postMessage&&!global$5.importScripts?(defer=function(e){global$5.postMessage(e+"","*")},global$5.addEventListener("message",listener,!1)):defer=ONREADYSTATECHANGE in cel("script")?function(e){html.appendChild(cel("script"))[ONREADYSTATECHANGE]=function(){html.removeChild(this),run.call(e)}}:function(e){setTimeout(ctx$1(run,e,1),0)});var _task={set:setTask,clear:clearTask},global$4=_globalExports,macrotask=_task.set,Observer=global$4.MutationObserver||global$4.WebKitMutationObserver,process$2=global$4.process,Promise$1=global$4.Promise,isNode$1="process"==_cof(process$2),_microtask=function(){var t,r,a,n=function(){var n,i;for(isNode$1&&(n=process$2.domain)&&n.exit();t;){i=t.fn,t=t.next;try{i()}catch(e){throw t?a():r=void 0,e}}r=void 0,n&&n.enter()};if(isNode$1)a=function(){process$2.nextTick(n)};else if(!Observer||global$4.navigator&&global$4.navigator.standalone)if(Promise$1&&Promise$1.resolve){var i=Promise$1.resolve(void 0);a=function(){i.then(n)}}else a=function(){macrotask.call(global$4,n)};else{var o=!0,l=document.createTextNode("");new Observer(n).observe(l,{characterData:!0}),a=function(){l.data=o=!o}}return function(e){var n={fn:e,next:void 0};r&&(r.next=n),t||(t=n,a()),r=n}},_newPromiseCapability={},aFunction$1=_aFunction;function PromiseCapability(e){var t,r;this.promise=new e((function(e,a){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=a})),this.resolve=aFunction$1(t),this.reject=aFunction$1(r)}_newPromiseCapability.f=function(e){return new PromiseCapability(e)};var _perform=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}},global$3=_globalExports,navigator$1=global$3.navigator,_userAgent=navigator$1&&navigator$1.userAgent||"",anObject=_anObject,isObject$2=_isObject,newPromiseCapability$2=_newPromiseCapability,_promiseResolve=function(e,t){if(anObject(e),isObject$2(t)&&t.constructor===e)return t;var r=newPromiseCapability$2.f(e);return(0,r.resolve)(t),r.promise},_redefineAll,hasRequired_redefineAll,_setSpecies,hasRequired_setSpecies;function require_redefineAll(){if(hasRequired_redefineAll)return _redefineAll;hasRequired_redefineAll=1;var e=_hide;return _redefineAll=function(t,r,a){for(var n in r)a&&t[n]?t[n]=r[n]:e(t,n,r[n]);return t},_redefineAll}function require_setSpecies(){if(hasRequired_setSpecies)return _setSpecies;hasRequired_setSpecies=1;var e=_globalExports,t=_coreExports,r=require_objectDp(),a=require_descriptors(),n=_wksExports("species");return _setSpecies=function(i){var o="function"==typeof t[i]?t[i]:e[i];a&&o&&!o[n]&&r.f(o,n,{configurable:!0,get:function(){return this}})},_setSpecies}var LIBRARY=_library,global$2=_globalExports,ctx=_ctx,classof=_classof,$export$2=_export,isObject$1=_isObject,aFunction=_aFunction,anInstance=_anInstance,forOf=_forOfExports,speciesConstructor$1=_speciesConstructor,task=_task.set,microtask=_microtask(),newPromiseCapabilityModule=_newPromiseCapability,perform$1=_perform,userAgent=_userAgent,promiseResolve$1=_promiseResolve,PROMISE="Promise",TypeError$1=global$2.TypeError,process$1=global$2.process,versions=process$1&&process$1.versions,v8=versions&&versions.v8||"",$Promise=global$2[PROMISE],isNode="process"==classof(process$1),empty$3=function(){},Internal,newGenericPromiseCapability,OwnPromiseCapability,Wrapper,newPromiseCapability$1=newGenericPromiseCapability=newPromiseCapabilityModule.f,USE_NATIVE=!!function(){try{var t=$Promise.resolve(1),r=(t.constructor={})[_wksExports("species")]=function(e){e(empty$3,empty$3)};return(isNode||"function"==typeof PromiseRejectionEvent)&&t.then(empty$3)instanceof r&&0!==v8.indexOf("6.6")&&-1===userAgent.indexOf("Chrome/66")}catch(e){}}(),isThenable=function(e){var t;return!(!isObject$1(e)||"function"!=typeof(t=e.then))&&t},notify=function(t,r){if(!t._n){t._n=!0;var a=t._c;microtask((function(){for(var n=t._v,i=1==t._s,o=0,l=function(r){var a,o,l,s=i?r.ok:r.fail,c=r.resolve,u=r.reject,f=r.domain;try{s?(i||(2==t._h&&onHandleUnhandled(t),t._h=1),!0===s?a=n:(f&&f.enter(),a=s(n),f&&(f.exit(),l=!0)),a===r.promise?u(TypeError$1("Promise-chain cycle")):(o=isThenable(a))?o.call(a,c,u):c(a)):u(n)}catch(e){f&&!l&&f.exit(),u(e)}};a.length>o;)l(a[o++]);t._c=[],t._n=!1,r&&!t._h&&onUnhandled(t)}))}},onUnhandled=function(e){task.call(global$2,(function(){var t,r,a,n=e._v,i=isUnhandled(e);if(i&&(t=perform$1((function(){isNode?process$1.emit("unhandledRejection",n,e):(r=global$2.onunhandledrejection)?r({promise:e,reason:n}):(a=global$2.console)&&a.error&&a.error("Unhandled promise rejection",n)})),e._h=isNode||isUnhandled(e)?2:1),e._a=void 0,i&&t.e)throw t.v}))},isUnhandled=function(e){return 1!==e._h&&0===(e._a||e._c).length},onHandleUnhandled=function(e){task.call(global$2,(function(){var t;isNode?process$1.emit("rejectionHandled",e):(t=global$2.onrejectionhandled)&&t({promise:e,reason:e._v})}))},$reject=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),notify(t,!0))},$resolve=function(t){var r,a=this;if(!a._d){a._d=!0,a=a._w||a;try{if(a===t)throw TypeError$1("Promise can't be resolved itself");(r=isThenable(t))?microtask((function(){var n={_w:a,_d:!1};try{r.call(t,ctx($resolve,n,1),ctx($reject,n,1))}catch(e){$reject.call(n,e)}})):(a._v=t,a._s=1,notify(a,!1))}catch(e){$reject.call({_w:a,_d:!1},e)}}};USE_NATIVE||($Promise=function(e){anInstance(this,$Promise,PROMISE,"_h"),aFunction(e),Internal.call(this);try{e(ctx($resolve,this,1),ctx($reject,this,1))}catch(err){$reject.call(this,err)}},Internal=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},Internal.prototype=require_redefineAll()($Promise.prototype,{then:function(e,t){var r=newPromiseCapability$1(speciesConstructor$1(this,$Promise));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=isNode?process$1.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&¬ify(this,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),OwnPromiseCapability=function(){var e=new Internal;this.promise=e,this.resolve=ctx($resolve,e,1),this.reject=ctx($reject,e,1)},newPromiseCapabilityModule.f=newPromiseCapability$1=function(e){return e===$Promise||e===Wrapper?new OwnPromiseCapability(e):newGenericPromiseCapability(e)}),$export$2($export$2.G+$export$2.W+$export$2.F*!USE_NATIVE,{Promise:$Promise}),_setToStringTag($Promise,PROMISE),require_setSpecies()(PROMISE),Wrapper=_coreExports[PROMISE],$export$2($export$2.S+$export$2.F*!USE_NATIVE,PROMISE,{reject:function(e){var t=newPromiseCapability$1(this);return(0,t.reject)(e),t.promise}}),$export$2($export$2.S+$export$2.F*LIBRARY,PROMISE,{resolve:function(e){return promiseResolve$1(this===Wrapper?$Promise:this,e)}}),$export$2($export$2.S+$export$2.F*!(USE_NATIVE&&require_iterDetect()((function(e){$Promise.all(e).catch(empty$3)}))),PROMISE,{all:function(e){var t=this,r=newPromiseCapability$1(t),a=r.resolve,n=r.reject,i=perform$1((function(){var r=[],i=0,o=1;forOf(e,!1,(function(e){var l=i++,s=!1;r.push(void 0),o++,t.resolve(e).then((function(e){s||(s=!0,r[l]=e,--o||a(r))}),n)})),--o||a(r)}));return i.e&&n(i.v),r.promise},race:function(e){var t=this,r=newPromiseCapability$1(t),a=r.reject,n=perform$1((function(){forOf(e,!1,(function(e){t.resolve(e).then(r.resolve,a)}))}));return n.e&&a(n.v),r.promise}});var $export$1=_export,core=_coreExports,global$1=_globalExports,speciesConstructor=_speciesConstructor,promiseResolve=_promiseResolve;$export$1($export$1.P+$export$1.R,"Promise",{finally:function(e){var t=speciesConstructor(this,core.Promise||global$1.Promise),r="function"==typeof e;return this.then(r?function(r){return promiseResolve(t,e()).then((function(){return r}))}:e,r?function(r){return promiseResolve(t,e()).then((function(){throw r}))}:e)}});var $export=_export,newPromiseCapability=_newPromiseCapability,perform=_perform;$export($export.S,"Promise",{try:function(e){var t=newPromiseCapability.f(this),r=perform(e);return(r.e?t.reject:t.resolve)(r.v),t.promise}});var promise$1=_coreExports.Promise;!function(e){e.exports={default:promise$1,__esModule:!0}}(promise$2);var animationFrame={};Object.defineProperty(animationFrame,"__esModule",{value:!0});var win=void 0;win="undefined"!=typeof window?window:"undefined"!=typeof self?self:{};var request=win.requestAnimationFrame||win.webkitRequestAnimationFrame||win.mozRequestAnimationFrame||win.oRequestAnimationFrame||win.msRequestAnimationFrame||function(e){return win.setTimeout(e,1e3/60)},cancel$1=win.cancelAnimationFrame||win.webkitCancelAnimationFrame||win.mozCancelAnimationFrame||win.oCancelAnimationFrame||win.msCancelAnimationFrame||function(e){win.clearTimeout(e)};animationFrame.raf=request,animationFrame.caf=cancel$1,Object.defineProperty(requestAnimationTimeout,"__esModule",{value:!0}),requestAnimationTimeout.bpfrpt_proptype_AnimationTimeoutId=requestAnimationTimeout.requestAnimationTimeout=requestAnimationTimeout.cancelAnimationTimeout=void 0;var _promise=promiseExports,_promise2=_interopRequireDefault$6(_promise),_animationFrame=animationFrame,_propTypes$3=propTypesExports;function _interopRequireDefault$6(e){return e&&e.__esModule?e:{default:e}}_interopRequireDefault$6(_propTypes$3);var bpfrpt_proptype_AnimationTimeoutId=null;requestAnimationTimeout.cancelAnimationTimeout=function(e){return(0,_animationFrame.caf)(e.id)},requestAnimationTimeout.requestAnimationTimeout=function(e,t){var r=void 0;_promise2.default.resolve().then((function(){r=Date.now()}));var a={id:(0,_animationFrame.raf)((function n(){Date.now()-r>=t?e.call():a.id=(0,_animationFrame.raf)(n)}))};return a},requestAnimationTimeout.bpfrpt_proptype_AnimationTimeoutId=bpfrpt_proptype_AnimationTimeoutId,Object.defineProperty(Grid$3,"__esModule",{value:!0}),Grid$3.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=void 0;var _assign=assignExports,_assign2=_interopRequireDefault$5(_assign),_extends2$1=_extends$2a,_extends3$1=_interopRequireDefault$5(_extends2$1),_getPrototypeOf$c=getPrototypeOfExports,_getPrototypeOf2$1=_interopRequireDefault$5(_getPrototypeOf$c),_classCallCheck2$1=classCallCheck$2,_classCallCheck3$1=_interopRequireDefault$5(_classCallCheck2$1),_createClass2$1=createClass$2,_createClass3$1=_interopRequireDefault$5(_createClass2$1),_possibleConstructorReturn2$1=possibleConstructorReturn$2,_possibleConstructorReturn3$1=_interopRequireDefault$5(_possibleConstructorReturn2$1),_inherits2$1=inherits$2,_inherits3$1=_interopRequireDefault$5(_inherits2$1),_react$2=reactExports,React$1=_interopRequireWildcard$2(_react$2),_classnames$1=classnamesExports,_classnames2$1=_interopRequireDefault$5(_classnames$1),_calculateSizeAndPositionDataAndUpdateScrollOffset=calculateSizeAndPositionDataAndUpdateScrollOffset$1,_calculateSizeAndPositionDataAndUpdateScrollOffset2=_interopRequireDefault$5(_calculateSizeAndPositionDataAndUpdateScrollOffset),_ScalingCellSizeAndPositionManager=requireScalingCellSizeAndPositionManager(),_ScalingCellSizeAndPositionManager2=_interopRequireDefault$5(_ScalingCellSizeAndPositionManager),_createCallbackMemoizer=createCallbackMemoizer$1,_createCallbackMemoizer2=_interopRequireDefault$5(_createCallbackMemoizer),_defaultOverscanIndicesGetter=defaultOverscanIndicesGetter$2,_defaultOverscanIndicesGetter2=_interopRequireDefault$5(_defaultOverscanIndicesGetter),_updateScrollIndexHelper=updateScrollIndexHelper$1,_updateScrollIndexHelper2=_interopRequireDefault$5(_updateScrollIndexHelper),_defaultCellRangeRenderer=defaultCellRangeRenderer$1,_defaultCellRangeRenderer2=_interopRequireDefault$5(_defaultCellRangeRenderer),_scrollbarSize=scrollbarSizeExports,_scrollbarSize2=_interopRequireDefault$5(_scrollbarSize),_reactLifecyclesCompat=require$$16,_requestAnimationTimeout=requestAnimationTimeout;requireTypes();var _propTypes$2=propTypesExports;function _interopRequireWildcard$2(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault$5(e){return e&&e.__esModule?e:{default:e}}_interopRequireDefault$5(_propTypes$2);var DEFAULT_SCROLLING_RESET_TIME_INTERVAL=Grid$3.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=150,SCROLL_POSITION_CHANGE_REASONS={OBSERVED:"observed",REQUESTED:"requested"},renderNull=function(){return null},Grid$2=function(e){function t(e){(0,_classCallCheck3$1.default)(this,t);var r=(0,_possibleConstructorReturn3$1.default)(this,(t.__proto__||(0,_getPrototypeOf2$1.default)(t)).call(this,e));r._onGridRenderedMemoizer=(0,_createCallbackMemoizer2.default)(),r._onScrollMemoizer=(0,_createCallbackMemoizer2.default)(!1),r._deferredInvalidateColumnIndex=null,r._deferredInvalidateRowIndex=null,r._recomputeScrollLeftFlag=!1,r._recomputeScrollTopFlag=!1,r._horizontalScrollBarSize=0,r._verticalScrollBarSize=0,r._scrollbarPresenceChanged=!1,r._renderedColumnStartIndex=0,r._renderedColumnStopIndex=0,r._renderedRowStartIndex=0,r._renderedRowStopIndex=0,r._styleCache={},r._cellCache={},r._debounceScrollEndedCallback=function(){r._disablePointerEventsTimeoutId=null,r.setState({isScrolling:!1,needToResetStyleCache:!1})},r._invokeOnGridRenderedHelper=function(){var e=r.props.onSectionRendered;r._onGridRenderedMemoizer({callback:e,indices:{columnOverscanStartIndex:r._columnStartIndex,columnOverscanStopIndex:r._columnStopIndex,columnStartIndex:r._renderedColumnStartIndex,columnStopIndex:r._renderedColumnStopIndex,rowOverscanStartIndex:r._rowStartIndex,rowOverscanStopIndex:r._rowStopIndex,rowStartIndex:r._renderedRowStartIndex,rowStopIndex:r._renderedRowStopIndex}})},r._setScrollingContainerRef=function(e){r._scrollingContainer=e},r._onScroll=function(e){e.target===r._scrollingContainer&&r.handleScrollEvent(e.target)};var a=new _ScalingCellSizeAndPositionManager2.default({cellCount:e.columnCount,cellSizeGetter:function(r){return t._wrapSizeGetter(e.columnWidth)(r)},estimatedCellSize:t._getEstimatedColumnSize(e)}),n=new _ScalingCellSizeAndPositionManager2.default({cellCount:e.rowCount,cellSizeGetter:function(r){return t._wrapSizeGetter(e.rowHeight)(r)},estimatedCellSize:t._getEstimatedRowSize(e)});return r.state={instanceProps:{columnSizeAndPositionManager:a,rowSizeAndPositionManager:n,prevColumnWidth:e.columnWidth,prevRowHeight:e.rowHeight,prevColumnCount:e.columnCount,prevRowCount:e.rowCount,prevIsScrolling:!0===e.isScrolling,prevScrollToColumn:e.scrollToColumn,prevScrollToRow:e.scrollToRow,scrollbarSize:0,scrollbarSizeMeasured:!1},isScrolling:!1,scrollDirectionHorizontal:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,scrollDirectionVertical:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,scrollLeft:0,scrollTop:0,scrollPositionChangeReason:null,needToResetStyleCache:!1},e.scrollToRow>0&&(r._initialScrollTop=r._getCalculatedScrollTop(e,r.state)),e.scrollToColumn>0&&(r._initialScrollLeft=r._getCalculatedScrollLeft(e,r.state)),r}return(0,_inherits3$1.default)(t,e),(0,_createClass3$1.default)(t,[{key:"getOffsetForCell",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.alignment,r=void 0===t?this.props.scrollToAlignment:t,a=e.columnIndex,n=void 0===a?this.props.scrollToColumn:a,i=e.rowIndex,o=void 0===i?this.props.scrollToRow:i,l=(0,_extends3$1.default)({},this.props,{scrollToAlignment:r,scrollToColumn:n,scrollToRow:o});return{scrollLeft:this._getCalculatedScrollLeft(l),scrollTop:this._getCalculatedScrollTop(l)}}},{key:"getTotalRowsHeight",value:function(){return this.state.instanceProps.rowSizeAndPositionManager.getTotalSize()}},{key:"getTotalColumnsWidth",value:function(){return this.state.instanceProps.columnSizeAndPositionManager.getTotalSize()}},{key:"handleScrollEvent",value:function(e){var t=e.scrollLeft,r=void 0===t?0:t,a=e.scrollTop,n=void 0===a?0:a;if(!(n<0)){this._debounceScrollEnded();var i=this.props,o=i.autoHeight,l=i.autoWidth,s=i.height,c=i.width,u=this.state.instanceProps,f=u.scrollbarSize,A=u.rowSizeAndPositionManager.getTotalSize(),d=u.columnSizeAndPositionManager.getTotalSize(),p=Math.min(Math.max(0,d-c+f),r),h=Math.min(Math.max(0,A-s+f),n);if(this.state.scrollLeft!==p||this.state.scrollTop!==h){var b={isScrolling:!0,scrollDirectionHorizontal:p!==this.state.scrollLeft?p>this.state.scrollLeft?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionHorizontal,scrollDirectionVertical:h!==this.state.scrollTop?h>this.state.scrollTop?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionVertical,scrollPositionChangeReason:SCROLL_POSITION_CHANGE_REASONS.OBSERVED};o||(b.scrollTop=h),l||(b.scrollLeft=p),b.needToResetStyleCache=!1,this.setState(b)}this._invokeOnScrollMemoizer({scrollLeft:p,scrollTop:h,totalColumnsWidth:d,totalRowsHeight:A})}}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,r=e.rowIndex;this._deferredInvalidateColumnIndex="number"==typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,t):t,this._deferredInvalidateRowIndex="number"==typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,r):r}},{key:"measureAllCells",value:function(){var e=this.props,t=e.columnCount,r=e.rowCount,a=this.state.instanceProps;a.columnSizeAndPositionManager.getSizeAndPositionOfCell(t-1),a.rowSizeAndPositionManager.getSizeAndPositionOfCell(r-1)}},{key:"recomputeGridSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,r=void 0===t?0:t,a=e.rowIndex,n=void 0===a?0:a,i=this.props,o=i.scrollToColumn,l=i.scrollToRow,s=this.state.instanceProps;s.columnSizeAndPositionManager.resetCell(r),s.rowSizeAndPositionManager.resetCell(n),this._recomputeScrollLeftFlag=o>=0&&(this.state.scrollDirectionHorizontal===_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD?r<=o:r>=o),this._recomputeScrollTopFlag=l>=0&&(this.state.scrollDirectionVertical===_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD?n<=l:n>=l),this._styleCache={},this._cellCache={},this.forceUpdate()}},{key:"scrollToCell",value:function(e){var t=e.columnIndex,r=e.rowIndex,a=this.props.columnCount,n=this.props;a>1&&void 0!==t&&this._updateScrollLeftForScrollToColumn((0,_extends3$1.default)({},n,{scrollToColumn:t})),void 0!==r&&this._updateScrollTopForScrollToRow((0,_extends3$1.default)({},n,{scrollToRow:r}))}},{key:"componentDidMount",value:function(){var e=this.props,r=e.getScrollbarSize,a=e.height,n=e.scrollLeft,i=e.scrollToColumn,o=e.scrollTop,l=e.scrollToRow,s=e.width,c=this.state.instanceProps;if(this._initialScrollTop=0,this._initialScrollLeft=0,this._handleInvalidatedGridSize(),c.scrollbarSizeMeasured||this.setState((function(e){var t=(0,_extends3$1.default)({},e,{needToResetStyleCache:!1});return t.instanceProps.scrollbarSize=r(),t.instanceProps.scrollbarSizeMeasured=!0,t})),"number"==typeof n&&n>=0||"number"==typeof o&&o>=0){var u=t._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:n,scrollTop:o});u&&(u.needToResetStyleCache=!1,this.setState(u))}this._scrollingContainer&&(this._scrollingContainer.scrollLeft!==this.state.scrollLeft&&(this._scrollingContainer.scrollLeft=this.state.scrollLeft),this._scrollingContainer.scrollTop!==this.state.scrollTop&&(this._scrollingContainer.scrollTop=this.state.scrollTop));var f=a>0&&s>0;i>=0&&f&&this._updateScrollLeftForScrollToColumn(),l>=0&&f&&this._updateScrollTopForScrollToRow(),this._invokeOnGridRenderedHelper(),this._invokeOnScrollMemoizer({scrollLeft:n||0,scrollTop:o||0,totalColumnsWidth:c.columnSizeAndPositionManager.getTotalSize(),totalRowsHeight:c.rowSizeAndPositionManager.getTotalSize()}),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentDidUpdate",value:function(e,t){var r=this,a=this.props,n=a.autoHeight,i=a.autoWidth,o=a.columnCount,l=a.height,s=a.rowCount,c=a.scrollToAlignment,u=a.scrollToColumn,f=a.scrollToRow,A=a.width,d=this.state,p=d.scrollLeft,h=d.scrollPositionChangeReason,b=d.scrollTop,g=d.instanceProps;this._handleInvalidatedGridSize();var m=o>0&&0===e.columnCount||s>0&&0===e.rowCount;h===SCROLL_POSITION_CHANGE_REASONS.REQUESTED&&(!i&&p>=0&&(p!==this._scrollingContainer.scrollLeft||m)&&(this._scrollingContainer.scrollLeft=p),!n&&b>=0&&(b!==this._scrollingContainer.scrollTop||m)&&(this._scrollingContainer.scrollTop=b));var v=(0===e.width||0===e.height)&&l>0&&A>0;if(this._recomputeScrollLeftFlag?(this._recomputeScrollLeftFlag=!1,this._updateScrollLeftForScrollToColumn(this.props)):(0,_updateScrollIndexHelper2.default)({cellSizeAndPositionManager:g.columnSizeAndPositionManager,previousCellsCount:e.columnCount,previousCellSize:e.columnWidth,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToColumn,previousSize:e.width,scrollOffset:p,scrollToAlignment:c,scrollToIndex:u,size:A,sizeJustIncreasedFromZero:v,updateScrollIndexCallback:function(){return r._updateScrollLeftForScrollToColumn(r.props)}}),this._recomputeScrollTopFlag?(this._recomputeScrollTopFlag=!1,this._updateScrollTopForScrollToRow(this.props)):(0,_updateScrollIndexHelper2.default)({cellSizeAndPositionManager:g.rowSizeAndPositionManager,previousCellsCount:e.rowCount,previousCellSize:e.rowHeight,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToRow,previousSize:e.height,scrollOffset:b,scrollToAlignment:c,scrollToIndex:f,size:l,sizeJustIncreasedFromZero:v,updateScrollIndexCallback:function(){return r._updateScrollTopForScrollToRow(r.props)}}),this._invokeOnGridRenderedHelper(),p!==t.scrollLeft||b!==t.scrollTop){var y=g.rowSizeAndPositionManager.getTotalSize(),w=g.columnSizeAndPositionManager.getTotalSize();this._invokeOnScrollMemoizer({scrollLeft:p,scrollTop:b,totalColumnsWidth:w,totalRowsHeight:y})}this._maybeCallOnScrollbarPresenceChange()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&(0,_requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var e=this.props,t=e.autoContainerWidth,r=e.autoHeight,a=e.autoWidth,n=e.className,i=e.containerProps,o=e.containerRole,l=e.containerStyle,s=e.height,c=e.id,u=e.noContentRenderer,f=e.role,A=e.style,d=e.tabIndex,p=e.width,h=this.state,b=h.instanceProps,g=h.needToResetStyleCache,m=this._isScrolling(),v={boxSizing:"border-box",direction:"ltr",height:r?"auto":s,position:"relative",width:a?"auto":p,WebkitOverflowScrolling:"touch",willChange:"transform"};g&&(this._styleCache={}),this.state.isScrolling||this._resetStyleCache(),this._calculateChildrenToRender(this.props,this.state);var y=b.columnSizeAndPositionManager.getTotalSize(),w=b.rowSizeAndPositionManager.getTotalSize(),k=w>s?b.scrollbarSize:0,x=y>p?b.scrollbarSize:0;x===this._horizontalScrollBarSize&&k===this._verticalScrollBarSize||(this._horizontalScrollBarSize=x,this._verticalScrollBarSize=k,this._scrollbarPresenceChanged=!0),v.overflowX=y+k<=p?"hidden":"auto",v.overflowY=w+x<=s?"hidden":"auto";var E=this._childrenToDisplay,_=0===E.length&&s>0&&p>0;return React$1.createElement("div",(0,_extends3$1.default)({ref:this._setScrollingContainerRef},i,{"aria-label":this.props["aria-label"],"aria-readonly":this.props["aria-readonly"],className:(0,_classnames2$1.default)("ReactVirtualized__Grid",n),id:c,onScroll:this._onScroll,role:f,style:(0,_extends3$1.default)({},v,A),tabIndex:d}),E.length>0&&React$1.createElement("div",{className:"ReactVirtualized__Grid__innerScrollContainer",role:o,style:(0,_extends3$1.default)({width:t?"auto":y,height:w,maxWidth:y,maxHeight:w,overflow:"hidden",pointerEvents:m?"none":"",position:"relative"},l)},E),_&&u())}},{key:"_calculateChildrenToRender",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,r=e.cellRenderer,a=e.cellRangeRenderer,n=e.columnCount,i=e.deferredMeasurementCache,o=e.height,l=e.overscanColumnCount,s=e.overscanIndicesGetter,c=e.overscanRowCount,u=e.rowCount,f=e.width,A=e.isScrollingOptOut,d=t.scrollDirectionHorizontal,p=t.scrollDirectionVertical,h=t.instanceProps,b=this._initialScrollTop>0?this._initialScrollTop:t.scrollTop,g=this._initialScrollLeft>0?this._initialScrollLeft:t.scrollLeft,m=this._isScrolling(e,t);if(this._childrenToDisplay=[],o>0&&f>0){var v=h.columnSizeAndPositionManager.getVisibleCellRange({containerSize:f,offset:g}),y=h.rowSizeAndPositionManager.getVisibleCellRange({containerSize:o,offset:b}),w=h.columnSizeAndPositionManager.getOffsetAdjustment({containerSize:f,offset:g}),k=h.rowSizeAndPositionManager.getOffsetAdjustment({containerSize:o,offset:b});this._renderedColumnStartIndex=v.start,this._renderedColumnStopIndex=v.stop,this._renderedRowStartIndex=y.start,this._renderedRowStopIndex=y.stop;var x=s({direction:"horizontal",cellCount:n,overscanCellsCount:l,scrollDirection:d,startIndex:"number"==typeof v.start?v.start:0,stopIndex:"number"==typeof v.stop?v.stop:-1}),E=s({direction:"vertical",cellCount:u,overscanCellsCount:c,scrollDirection:p,startIndex:"number"==typeof y.start?y.start:0,stopIndex:"number"==typeof y.stop?y.stop:-1}),_=x.overscanStartIndex,C=x.overscanStopIndex,$=E.overscanStartIndex,T=E.overscanStopIndex;if(i){if(!i.hasFixedHeight())for(var O=$;O<=T;O++)if(!i.has(O,0)){_=0,C=n-1;break}if(!i.hasFixedWidth())for(var S=_;S<=C;S++)if(!i.has(0,S)){$=0,T=u-1;break}}this._childrenToDisplay=a({cellCache:this._cellCache,cellRenderer:r,columnSizeAndPositionManager:h.columnSizeAndPositionManager,columnStartIndex:_,columnStopIndex:C,deferredMeasurementCache:i,horizontalOffsetAdjustment:w,isScrolling:m,isScrollingOptOut:A,parent:this,rowSizeAndPositionManager:h.rowSizeAndPositionManager,rowStartIndex:$,rowStopIndex:T,scrollLeft:g,scrollTop:b,styleCache:this._styleCache,verticalOffsetAdjustment:k,visibleColumnIndices:v,visibleRowIndices:y}),this._columnStartIndex=_,this._columnStopIndex=C,this._rowStartIndex=$,this._rowStopIndex=T}}},{key:"_debounceScrollEnded",value:function(){var e=this.props.scrollingResetTimeInterval;this._disablePointerEventsTimeoutId&&(0,_requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=(0,_requestAnimationTimeout.requestAnimationTimeout)(this._debounceScrollEndedCallback,e)}},{key:"_handleInvalidatedGridSize",value:function(){if("number"==typeof this._deferredInvalidateColumnIndex&&"number"==typeof this._deferredInvalidateRowIndex){var e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex;this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t})}}},{key:"_invokeOnScrollMemoizer",value:function(e){var t=this,r=e.scrollLeft,a=e.scrollTop,n=e.totalColumnsWidth,i=e.totalRowsHeight;this._onScrollMemoizer({callback:function(e){var r=e.scrollLeft,a=e.scrollTop,o=t.props,l=o.height;(0,o.onScroll)({clientHeight:l,clientWidth:o.width,scrollHeight:i,scrollLeft:r,scrollTop:a,scrollWidth:n})},indices:{scrollLeft:r,scrollTop:a}})}},{key:"_isScrolling",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return Object.hasOwnProperty.call(e,"isScrolling")?Boolean(e.isScrolling):Boolean(t.isScrolling)}},{key:"_maybeCallOnScrollbarPresenceChange",value:function(){if(this._scrollbarPresenceChanged){var e=this.props.onScrollbarPresenceChange;this._scrollbarPresenceChanged=!1,e({horizontal:this._horizontalScrollBarSize>0,size:this.state.instanceProps.scrollbarSize,vertical:this._verticalScrollBarSize>0})}}},{key:"scrollToPosition",value:function(e){var r=e.scrollLeft,a=e.scrollTop,n=t._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:r,scrollTop:a});n&&(n.needToResetStyleCache=!1,this.setState(n))}},{key:"_getCalculatedScrollLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return t._getCalculatedScrollLeft(e,r)}},{key:"_updateScrollLeftForScrollToColumn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,a=t._getScrollLeftForScrollToColumnStateUpdate(e,r);a&&(a.needToResetStyleCache=!1,this.setState(a))}},{key:"_getCalculatedScrollTop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return t._getCalculatedScrollTop(e,r)}},{key:"_resetStyleCache",value:function(){var e=this._styleCache,t=this._cellCache,r=this.props.isScrollingOptOut;this._cellCache={},this._styleCache={};for(var a=this._rowStartIndex;a<=this._rowStopIndex;a++)for(var n=this._columnStartIndex;n<=this._columnStopIndex;n++){var i=a+"-"+n;this._styleCache[i]=e[i],r&&(this._cellCache[i]=t[i])}}},{key:"_updateScrollTopForScrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,a=t._getScrollTopForScrollToRowStateUpdate(e,r);a&&(a.needToResetStyleCache=!1,this.setState(a))}}],[{key:"getDerivedStateFromProps",value:function(e,r){var a={};0===e.columnCount&&0!==r.scrollLeft||0===e.rowCount&&0!==r.scrollTop?(a.scrollLeft=0,a.scrollTop=0):(e.scrollLeft!==r.scrollLeft&&e.scrollToColumn<0||e.scrollTop!==r.scrollTop&&e.scrollToRow<0)&&(0,_assign2.default)(a,t._getScrollToPositionStateUpdate({prevState:r,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}));var n=r.instanceProps;a.needToResetStyleCache=!1,e.columnWidth===n.prevColumnWidth&&e.rowHeight===n.prevRowHeight||(a.needToResetStyleCache=!0),n.columnSizeAndPositionManager.configure({cellCount:e.columnCount,estimatedCellSize:t._getEstimatedColumnSize(e),cellSizeGetter:t._wrapSizeGetter(e.columnWidth)}),n.rowSizeAndPositionManager.configure({cellCount:e.rowCount,estimatedCellSize:t._getEstimatedRowSize(e),cellSizeGetter:t._wrapSizeGetter(e.rowHeight)}),0!==n.prevColumnCount&&0!==n.prevRowCount||(n.prevColumnCount=0,n.prevRowCount=0),e.autoHeight&&!1===e.isScrolling&&!0===n.prevIsScrolling&&(0,_assign2.default)(a,{isScrolling:!1});var i=void 0,o=void 0;return(0,_calculateSizeAndPositionDataAndUpdateScrollOffset2.default)({cellCount:n.prevColumnCount,cellSize:"number"==typeof n.prevColumnWidth?n.prevColumnWidth:null,computeMetadataCallback:function(){return n.columnSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.columnCount,nextCellSize:"number"==typeof e.columnWidth?e.columnWidth:null,nextScrollToIndex:e.scrollToColumn,scrollToIndex:n.prevScrollToColumn,updateScrollOffsetForScrollToIndex:function(){i=t._getScrollLeftForScrollToColumnStateUpdate(e,r)}}),(0,_calculateSizeAndPositionDataAndUpdateScrollOffset2.default)({cellCount:n.prevRowCount,cellSize:"number"==typeof n.prevRowHeight?n.prevRowHeight:null,computeMetadataCallback:function(){return n.rowSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.rowCount,nextCellSize:"number"==typeof e.rowHeight?e.rowHeight:null,nextScrollToIndex:e.scrollToRow,scrollToIndex:n.prevScrollToRow,updateScrollOffsetForScrollToIndex:function(){o=t._getScrollTopForScrollToRowStateUpdate(e,r)}}),n.prevColumnCount=e.columnCount,n.prevColumnWidth=e.columnWidth,n.prevIsScrolling=!0===e.isScrolling,n.prevRowCount=e.rowCount,n.prevRowHeight=e.rowHeight,n.prevScrollToColumn=e.scrollToColumn,n.prevScrollToRow=e.scrollToRow,n.scrollbarSize=e.getScrollbarSize(),void 0===n.scrollbarSize?(n.scrollbarSizeMeasured=!1,n.scrollbarSize=0):n.scrollbarSizeMeasured=!0,a.instanceProps=n,(0,_extends3$1.default)({},a,i,o)}},{key:"_getEstimatedColumnSize",value:function(e){return"number"==typeof e.columnWidth?e.columnWidth:e.estimatedColumnSize}},{key:"_getEstimatedRowSize",value:function(e){return"number"==typeof e.rowHeight?e.rowHeight:e.estimatedRowSize}},{key:"_getScrollToPositionStateUpdate",value:function(e){var t=e.prevState,r=e.scrollLeft,a=e.scrollTop,n={scrollPositionChangeReason:SCROLL_POSITION_CHANGE_REASONS.REQUESTED};return"number"==typeof r&&r>=0&&(n.scrollDirectionHorizontal=r>t.scrollLeft?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD,n.scrollLeft=r),"number"==typeof a&&a>=0&&(n.scrollDirectionVertical=a>t.scrollTop?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD,n.scrollTop=a),"number"==typeof r&&r>=0&&r!==t.scrollLeft||"number"==typeof a&&a>=0&&a!==t.scrollTop?n:null}},{key:"_wrapSizeGetter",value:function(e){return"function"==typeof e?e:function(){return e}}},{key:"_getCalculatedScrollLeft",value:function(e,t){var r=e.columnCount,a=e.height,n=e.scrollToAlignment,i=e.scrollToColumn,o=e.width,l=t.scrollLeft,s=t.instanceProps;if(r>0){var c=r-1,u=i<0?c:Math.min(c,i),f=s.rowSizeAndPositionManager.getTotalSize(),A=s.scrollbarSizeMeasured&&f>a?s.scrollbarSize:0;return s.columnSizeAndPositionManager.getUpdatedOffsetForIndex({align:n,containerSize:o-A,currentOffset:l,targetIndex:u})}return 0}},{key:"_getScrollLeftForScrollToColumnStateUpdate",value:function(e,r){var a=r.scrollLeft,n=t._getCalculatedScrollLeft(e,r);return"number"==typeof n&&n>=0&&a!==n?t._getScrollToPositionStateUpdate({prevState:r,scrollLeft:n,scrollTop:-1}):null}},{key:"_getCalculatedScrollTop",value:function(e,t){var r=e.height,a=e.rowCount,n=e.scrollToAlignment,i=e.scrollToRow,o=e.width,l=t.scrollTop,s=t.instanceProps;if(a>0){var c=a-1,u=i<0?c:Math.min(c,i),f=s.columnSizeAndPositionManager.getTotalSize(),A=s.scrollbarSizeMeasured&&f>o?s.scrollbarSize:0;return s.rowSizeAndPositionManager.getUpdatedOffsetForIndex({align:n,containerSize:r-A,currentOffset:l,targetIndex:u})}return 0}},{key:"_getScrollTopForScrollToRowStateUpdate",value:function(e,r){var a=r.scrollTop,n=t._getCalculatedScrollTop(e,r);return"number"==typeof n&&n>=0&&a!==n?t._getScrollToPositionStateUpdate({prevState:r,scrollLeft:-1,scrollTop:n}):null}}]),t}(React$1.PureComponent);Grid$2.defaultProps={"aria-label":"grid","aria-readonly":!0,autoContainerWidth:!1,autoHeight:!1,autoWidth:!1,cellRangeRenderer:_defaultCellRangeRenderer2.default,containerRole:"rowgroup",containerStyle:{},estimatedColumnSize:100,estimatedRowSize:30,getScrollbarSize:_scrollbarSize2.default,noContentRenderer:renderNull,onScroll:function(){},onScrollbarPresenceChange:function(){},onSectionRendered:function(){},overscanColumnCount:0,overscanIndicesGetter:_defaultOverscanIndicesGetter2.default,overscanRowCount:10,role:"grid",scrollingResetTimeInterval:DEFAULT_SCROLLING_RESET_TIME_INTERVAL,scrollToAlignment:"auto",scrollToColumn:-1,scrollToRow:-1,style:{},tabIndex:0,isScrollingOptOut:!1},Grid$2.propTypes=null,(0,_reactLifecyclesCompat.polyfill)(Grid$2),Grid$3.default=Grid$2;var accessibilityOverscanIndicesGetter={};Object.defineProperty(accessibilityOverscanIndicesGetter,"__esModule",{value:!0}),accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_VERTICAL=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_HORIZONTAL=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD=void 0,accessibilityOverscanIndicesGetter.default=defaultOverscanIndicesGetter,requireTypes(),accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD=-1;var SCROLL_DIRECTION_FORWARD=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD=1;function defaultOverscanIndicesGetter(e){var t=e.cellCount,r=e.overscanCellsCount,a=e.scrollDirection,n=e.startIndex,i=e.stopIndex;return r=Math.max(1,r),a===SCROLL_DIRECTION_FORWARD?{overscanStartIndex:Math.max(0,n-1),overscanStopIndex:Math.min(t-1,i+r)}:{overscanStartIndex:Math.max(0,n-r),overscanStopIndex:Math.min(t-1,i+1)}}accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_HORIZONTAL="horizontal",accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_VERTICAL="vertical",function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bpfrpt_proptype_Scroll=e.bpfrpt_proptype_CellRendererParams=e.bpfrpt_proptype_RenderedSection=e.bpfrpt_proptype_OverscanIndicesGetter=e.bpfrpt_proptype_CellSize=e.bpfrpt_proptype_CellPosition=e.bpfrpt_proptype_Alignment=e.bpfrpt_proptype_NoContentRenderer=e.defaultOverscanIndicesGetter=e.defaultCellRangeRenderer=e.accessibilityOverscanIndicesGetter=e.Grid=e.default=void 0;var t=Grid$3;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o(t).default}}),Object.defineProperty(e,"Grid",{enumerable:!0,get:function(){return o(t).default}});var r=accessibilityOverscanIndicesGetter;Object.defineProperty(e,"accessibilityOverscanIndicesGetter",{enumerable:!0,get:function(){return o(r).default}});var a=defaultCellRangeRenderer$1;Object.defineProperty(e,"defaultCellRangeRenderer",{enumerable:!0,get:function(){return o(a).default}});var n=defaultOverscanIndicesGetter$2;Object.defineProperty(e,"defaultOverscanIndicesGetter",{enumerable:!0,get:function(){return o(n).default}});var i=requireTypes();function o(e){return e&&e.__esModule?e:{default:e}}e.bpfrpt_proptype_NoContentRenderer=i.bpfrpt_proptype_NoContentRenderer,e.bpfrpt_proptype_Alignment=i.bpfrpt_proptype_Alignment,e.bpfrpt_proptype_CellPosition=i.bpfrpt_proptype_CellPosition,e.bpfrpt_proptype_CellSize=i.bpfrpt_proptype_CellSize,e.bpfrpt_proptype_OverscanIndicesGetter=i.bpfrpt_proptype_OverscanIndicesGetter,e.bpfrpt_proptype_RenderedSection=i.bpfrpt_proptype_RenderedSection,e.bpfrpt_proptype_CellRendererParams=i.bpfrpt_proptype_CellRendererParams,e.bpfrpt_proptype_Scroll=i.bpfrpt_proptype_Scroll}(Grid$4);var types={};Object.defineProperty(types,"__esModule",{value:!0}),types.bpfrpt_proptype_Scroll=types.bpfrpt_proptype_RenderedRows=types.bpfrpt_proptype_RowRenderer=types.bpfrpt_proptype_RowRendererParams=void 0;var _react$1=reactExports;_interopRequireWildcard$1(_react$1);var _propTypes$1=propTypesExports;function _interopRequireDefault$4(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard$1(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}_interopRequireDefault$4(_propTypes$1);var bpfrpt_proptype_RowRendererParams=null,bpfrpt_proptype_RowRenderer=null,bpfrpt_proptype_RenderedRows=null,bpfrpt_proptype_Scroll=null;types.bpfrpt_proptype_RowRendererParams=bpfrpt_proptype_RowRendererParams,types.bpfrpt_proptype_RowRenderer=bpfrpt_proptype_RowRenderer,types.bpfrpt_proptype_RenderedRows=bpfrpt_proptype_RenderedRows,types.bpfrpt_proptype_Scroll=bpfrpt_proptype_Scroll,Object.defineProperty(List$2,"__esModule",{value:!0});var _extends2=_extends$2a,_extends3=_interopRequireDefault$3(_extends2),_getOwnPropertyDescriptor=getOwnPropertyDescriptorExports,_getOwnPropertyDescriptor2=_interopRequireDefault$3(_getOwnPropertyDescriptor),_getPrototypeOf$b=getPrototypeOfExports,_getPrototypeOf2=_interopRequireDefault$3(_getPrototypeOf$b),_classCallCheck2=classCallCheck$2,_classCallCheck3=_interopRequireDefault$3(_classCallCheck2),_createClass2=createClass$2,_createClass3=_interopRequireDefault$3(_createClass2),_possibleConstructorReturn2=possibleConstructorReturn$2,_possibleConstructorReturn3=_interopRequireDefault$3(_possibleConstructorReturn2),_inherits2=inherits$2,_inherits3=_interopRequireDefault$3(_inherits2),_Grid=Grid$4,_Grid2=_interopRequireDefault$3(_Grid),_react=reactExports,React=_interopRequireWildcard(_react),_classnames=classnamesExports,_classnames2=_interopRequireDefault$3(_classnames),_propTypes=propTypesExports;function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault$3(e){return e&&e.__esModule?e:{default:e}}_interopRequireDefault$3(_propTypes);var List$1=function(e){function t(){var e,r,a,n;(0,_classCallCheck3.default)(this,t);for(var i=arguments.length,o=Array(i),l=0;l0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,r=void 0===t?0:t,a=e.rowIndex,n=void 0===a?0:a;this.Grid&&this.Grid.recomputeGridSize({rowIndex:n,columnIndex:r})}},{key:"recomputeRowHeights",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.recomputeGridSize({rowIndex:e,columnIndex:0})}},{key:"scrollToPosition",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToPosition({scrollTop:e})}},{key:"scrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:e})}},{key:"render",value:function(){var e=this.props,t=e.className,r=e.noRowsRenderer,a=e.scrollToIndex,n=e.width,i=(0,_classnames2.default)("ReactVirtualized__List",t);return React.createElement(_Grid2.default,(0,_extends3.default)({},this.props,{autoContainerWidth:!0,cellRenderer:this._cellRenderer,className:i,columnWidth:n,columnCount:1,noContentRenderer:r,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,scrollToRow:a}))}}]),t}(React.PureComponent);List$1.defaultProps={autoHeight:!1,estimatedRowSize:30,onScroll:function(){},noRowsRenderer:function(){return null},onRowsRendered:function(){},overscanIndicesGetter:_Grid.accessibilityOverscanIndicesGetter,overscanRowCount:10,scrollToAlignment:"auto",scrollToIndex:-1,style:{}},List$1.propTypes=null,List$2.default=List$1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bpfrpt_proptype_RowRendererParams=e.List=e.default=void 0;var t=List$2;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return a(t).default}}),Object.defineProperty(e,"List",{enumerable:!0,get:function(){return a(t).default}});var r=types;function a(e){return e&&e.__esModule?e:{default:e}}e.bpfrpt_proptype_RowRendererParams=r.bpfrpt_proptype_RowRendererParams}(List$3);const List=getDefaultExportFromCjs(List$3);var VirtualizedSelect=function(e){function t(e,r){_default$c(this,t);var a=_default$9(this,(t.__proto__||_Object$getPrototypeOf(t)).call(this,e,r));return a._renderMenu=a._renderMenu.bind(a),a._optionRenderer=a._optionRenderer.bind(a),a._setListRef=a._setListRef.bind(a),a._setSelectRef=a._setSelectRef.bind(a),a}return _default$8(t,e),_default$b(t,[{key:"recomputeOptionHeights",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._listRef&&this._listRef.recomputeRowHeights(e)}},{key:"focus",value:function(){if(this._selectRef)return this._selectRef.focus()}},{key:"render",value:function(){var e=this._getSelectComponent();return React$k.createElement(e,_default$bE({},this.props,{ref:this._setSelectRef,menuRenderer:this._renderMenu,menuStyle:{overflow:"hidden"}}))}},{key:"_renderMenu",value:function(e){var t=this,r=e.focusedOption,a=e.focusOption,n=e.labelKey,i=e.onSelect,o=e.options;e.selectValue;var l=e.valueArray,s=e.valueKey,c=this.props,u=c.listProps,f=c.optionRenderer,A=o.indexOf(r),d=this._calculateListHeight({options:o}),p=f||this._optionRenderer;function h(e){var t=e.index,c=e.key,u=e.style,f=o[t];return p({focusedOption:r,focusedOptionIndex:A,focusOption:a,key:c,labelKey:n,onSelect:i,option:f,optionIndex:t,options:o,selectValue:i,style:u,valueArray:l,valueKey:s})}return React$k.createElement(AutoSizer,{disableHeight:!0},(function(e){var r=e.width;return React$k.createElement(List,_default$bE({className:"VirtualSelectGrid",height:d,ref:t._setListRef,rowCount:o.length,rowHeight:function(e){var r=e.index;return t._getOptionHeight({option:o[r]})},rowRenderer:h,scrollToIndex:A,width:r},u))}))}},{key:"_calculateListHeight",value:function(e){for(var t=e.options,r=this.props.maxHeight,a=0,n=0;nr)return r}return a}},{key:"_getOptionHeight",value:function(e){var t=e.option,r=this.props.optionHeight;return r instanceof Function?r({option:t}):r}},{key:"_getSelectComponent",value:function(){var e=this.props,t=e.async,r=e.selectComponent;return r||(t?Select$1.Async:Select$1)}},{key:"_optionRenderer",value:function(e){var t=e.focusedOption,r=e.focusOption,a=e.key,n=e.labelKey,i=e.option,o=e.selectValue,l=e.style,s=e.valueArray,c=["VirtualizedSelectOption"];i===t&&c.push("VirtualizedSelectFocusedOption"),i.disabled&&c.push("VirtualizedSelectDisabledOption"),s&&s.indexOf(i)>=0&&c.push("VirtualizedSelectSelectedOption"),i.className&&c.push(i.className);var u=i.disabled?{}:{onClick:function(){return o(i)},onMouseEnter:function(){return r(i)}};return React$k.createElement("div",_default$bE({className:c.join(" "),key:a,style:l,title:i.title},u),i[n])}},{key:"_setListRef",value:function(e){this._listRef=e}},{key:"_setSelectRef",value:function(e){this._selectRef=e}}]),t}(reactExports.Component);VirtualizedSelect.propTypes={async:propTypesExports.bool,listProps:propTypesExports.object,maxHeight:propTypesExports.number,optionHeight:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.func]),optionRenderer:propTypesExports.func,selectComponent:propTypesExports.func},VirtualizedSelect.defaultProps={async:!1,maxHeight:200,optionHeight:35};const reactSelect="",styles$1="",styles="",VirtSelect$1="";function renderOption({focusedOption:e,focusOption:t,key:r,labelKey:a,option:n,selectValue:i,style:o,valueArray:l}){const s=["VirtSelect--option"];n===e&&s.push("is-focused"),n.disabled&&s.push("is-disabled"),l&&l.indexOf(n)>=0&&s.push("is-selected"),n.className&&s.push(n.className);const c=n.disabled?{}:{onClick:()=>i(n),onMouseEnter:()=>t(n)};return jsxRuntimeExports.jsx("div",{className:s.join(" "),style:o,title:n.title,...c,children:n[a]},r)}function renderArrow({isOpen:e}){return jsxRuntimeExports.jsx(Icon$1,{className:"VirtSelect--arrow "+(e?"is-open":""),type:"down"})}function VirtSelect(e){return jsxRuntimeExports.jsx(VirtualizedSelect,{className:"VirtSelect",arrowRenderer:renderArrow,optionRenderer:renderOption,...e})}var baseSlice=_baseSlice;function baseWhile$1(e,t,r,a){for(var n=e.length,i=a?n:-1;(a?i--:++ire));if(1e3===t.ofPrevious)return`${round_1(e/t.microseconds,2)}${t.unit}`;const a=`${Math.floor(e/t.microseconds)}${t.unit}`,n=Math.round(e/r.microseconds%t.ofPrevious),i=`${n}${r.unit}`;return 0===n?a:`${a} ${i}`}function formatRelativeDate(e,t=!1){const r=hooks$1.isMoment(e)?e:hooks$1(e),a=t?"MMMM":"MMM",n=new Date;if(n.getFullYear()!==r.year())return r.format(`${a} D, YYYY`);const i=r.month(),o=r.date(),l=n.getDate();return i===n.getMonth()&&o===l?TODAY:(n.setDate(l-1),i===n.getMonth()&&o===n.getDate()?YESTERDAY:r.format(`${a} D`))}const getSuitableTimeUnit=e=>{if(e<1e3)return"microseconds";const t=hooks$1.duration(e/1e3,"ms");return Object.keys(timeUnitToShortTermMapper).reverse().find((e=>t.as(e)>=1))};function convertTimeUnitToShortTerm(e){if("microseconds"===e)return"μs";const t=timeUnitToShortTermMapper[e];return t||""}function convertToTimeUnit(e,t){return e<1e3?e:hooks$1.duration(e/1e3,"ms").as(t)}function timeConversion(e){if(e<1e3)return`${e}μs`;const t=getSuitableTimeUnit(e);return`${hooks$1.duration(e/1e3,"ms").as(t)}${convertTimeUnitToShortTerm(t)}`}const reduxFormFieldAdapter$1="",noop$4=()=>{};function reduxFormFieldAdapter({AntInputComponent:e,onChangeAdapter:t,isValidatedInput:r=!1}){return function(a){const{input:{onBlur:n,onChange:i,onFocus:o,value:l},children:s,...c}=a,u=!c.meta.active&&Boolean(c.meta.error),f=jsxRuntimeExports.jsx(e,{className:classnamesExports({"is-invalid":u,"AdaptedReduxFormField--isValidatedInput":r}),onBlur:r&&n?n:noop$4,onFocus:r&&o?o:noop$4,onChange:t?e=>i(t(e)):i,value:l,...c,children:s});return r?jsxRuntimeExports.jsx(Popover,{placement:"bottomLeft",visible:u,...c.meta.error,children:f}):f}}const SearchForm$1="",FormItem$2=Form.Item,Option$2=Select.Option,AdaptedInput=reduxFormFieldAdapter({AntInputComponent:Input$1}),AdaptedSelect=reduxFormFieldAdapter({AntInputComponent:Select}),AdaptedVirtualSelect$1=reduxFormFieldAdapter({AntInputComponent:VirtSelect,onChangeAdapter:e=>e?e.value:null}),ValidatedAdaptedInput=reduxFormFieldAdapter({AntInputComponent:Input$1,isValidatedInput:!0});function getUnixTimeStampInMSFromForm({startDate:e,startDateTime:t,endDate:r,endDateTime:a}){const n=`${r} ${a}`;return{start:`${hooks$1(`${e} ${t}`,"YYYY-MM-DD HH:mm").valueOf()}000`,end:`${hooks$1(n,"YYYY-MM-DD HH:mm").valueOf()}000`}}function convTagsLogfmt(e){if(!e)return null;const t=logfmt_parser.parse(e);return Object.keys(t).forEach((e=>{const r=t[e];"string"!=typeof r&&(t[e]=String(r))})),JSON.stringify(t)}function lookbackToTimestamp(e,t){const r=e.substr(-1);return 1e3*hooks$1(t).subtract(parseInt(e,10),r).valueOf()}const lookbackOptions=[{label:"5 Minutes",value:"5m"},{label:"15 Minutes",value:"15m"},{label:"30 Minutes",value:"30m"},{label:"Hour",value:"1h"},{label:"2 Hours",value:"2h"},{label:"3 Hours",value:"3h"},{label:"6 Hours",value:"6h"},{label:"12 Hours",value:"12h"},{label:"24 Hours",value:"24h"},{label:"2 Days",value:"2d"},{label:"3 Days",value:"3d"},{label:"5 Days",value:"5d"},{label:"7 Days",value:"7d"},{label:"2 Weeks",value:"2w"},{label:"3 Weeks",value:"3w"},{label:"4 Weeks",value:"4w"}],optionsWithinMaxLookback=memoizeOne$1((e=>{const t=new Date,r=lookbackToTimestamp(e.value,t),a=new Map,n=lookbackOptions.filter((({value:e})=>{const n=lookbackToTimestamp(e,t);return a.set(e,n),n>=r})),i=n.length-1,o=n[i];return o.label!==e.label&&(a.get(o.value)!==r?n.push(e):n.splice(i,1,e)),n.map((({label:e,value:t})=>jsxRuntimeExports.jsxs(Option$2,{value:t,children:["Last ",e]},t)))})),placeholderDurationFields="e.g. 1.2s, 100ms, 500us";function validateDurationFields(e){if(e)return/\d[\d\\.]*(us|ms|s|m|h)$/.test(e)?void 0:{content:`Please enter a number followed by a duration unit, ${placeholderDurationFields}`,title:"Please match the requested format."}}function convertQueryParamsToFormDates({start:e,end:t}){let r,a,n,i;if(t){const e=parseInt(t,10);n=formatDate(e),i=formatTime(e)}if(e){const t=parseInt(e,10);r=formatDate(t),a=formatTime(t)}return{queryStartDate:r,queryStartDateTime:a,queryEndDate:n,queryEndDateTime:i}}function submitForm(e,t){const{resultsLimit:r,service:a,startDate:n,startDateTime:i,endDate:o,endDateTime:l,operation:s,tags:c,minDuration:u,maxDuration:f,lookback:A}=e;let d,p;if(store_legacy.set("lastSearch",{service:a,operation:s}),"custom"!==A){const e=new Date;d=lookbackToTimestamp(A,e),p=1e3*e}else{const e=getUnixTimeStampInMSFromForm({startDate:n,startDateTime:i,endDate:o,endDateTime:l});d=e.start,p=e.end}trackFormInput(r,s,c,u,f,A,a),t({service:a,operation:s!==DEFAULT_OPERATION?s:void 0,limit:r,lookback:A,start:d,end:p,tags:convTagsLogfmt(c)||void 0,minDuration:u||null,maxDuration:f||null})}class SearchFormImpl extends reactExports.PureComponent{render(){const{handleSubmit:e,invalid:t,searchMaxLookback:r,selectedLookback:a,selectedService:n="-",services:i,submitting:o}=this.props,l=i.find((e=>e.name===n)),s=l&&l.operations||[],c="-"===n||!n,u="custom"===a?(new Date).toTimeString().replace(/^.*?GMT/,"UTC"):null;return jsxRuntimeExports.jsxs(Form,{layout:"vertical",onSubmit:e,children:[jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("span",{children:["Service ",jsxRuntimeExports.jsxs("span",{className:"SearchForm--labelCount",children:["(",i.length,")"]})]}),children:jsxRuntimeExports.jsx(Field,{name:"service",component:AdaptedVirtualSelect$1,placeholder:"Select A Service",props:{disabled:o,clearable:!1,options:i.map((e=>({label:e.name,value:e.name}))),required:!0}})}),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("span",{children:["Operation ",jsxRuntimeExports.jsxs("span",{className:"SearchForm--labelCount",children:["(",s?s.length:0,")"]})]}),children:jsxRuntimeExports.jsx(Field,{name:"operation",component:AdaptedVirtualSelect$1,placeholder:"Select An Operation",props:{clearable:!1,disabled:o||c,options:["all"].concat(s).map((e=>({label:e,value:e,title:e}))),required:!0}})}),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["Tags"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",title:[jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Values should be in the"," ",jsxRuntimeExports.jsx("a",{href:"https://brandur.org/logfmt",rel:"noopener noreferrer",target:"_blank",children:"logfmt"})," ","format."]},"title"),jsxRuntimeExports.jsxs("ul",{className:"SearchForm--tagsHintInfo",children:[jsxRuntimeExports.jsx("li",{children:"Use space for conjunctions"}),jsxRuntimeExports.jsx("li",{children:"Values containing whitespace should be enclosed in quotes"})]},"info")],content:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("code",{className:"SearchForm--tagsHintEg",children:'error=true db.statement="select * from User"'})}),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsx(Field,{name:"tags",component:AdaptedInput,placeholder:"http.status_code=200 error=true",props:{disabled:o}})}),jsxRuntimeExports.jsx(FormItem$2,{label:"Lookback",children:jsxRuntimeExports.jsxs(Field,{name:"lookback",component:AdaptedSelect,props:{disabled:o,defaultValue:"1h"},children:[optionsWithinMaxLookback(r),jsxRuntimeExports.jsx(Option$2,{value:"custom",children:"Custom Time Range"})]})}),"custom"===a&&[jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["Start Time"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",content:jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Times are expressed in ",u]},"title"),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:14,children:jsxRuntimeExports.jsx(Field,{name:"startDate",type:"date",component:AdaptedInput,placeholder:"Start Date",props:{disabled:o}})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:10,children:jsxRuntimeExports.jsx(Field,{name:"startDateTime",type:"time",component:AdaptedInput,props:{disabled:o}})})]})},"start"),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["End Time"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",content:jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Times are expressed in ",u]},"title"),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:14,children:jsxRuntimeExports.jsx(Field,{name:"endDate",type:"date",component:AdaptedInput,placeholder:"End Date",props:{disabled:o}})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:10,children:jsxRuntimeExports.jsx(Field,{name:"endDateTime",type:"time",component:AdaptedInput,props:{disabled:o}})})]})},"end")],jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:12,children:jsxRuntimeExports.jsx(FormItem$2,{label:"Max Duration",children:jsxRuntimeExports.jsx(Field,{name:"maxDuration",component:ValidatedAdaptedInput,placeholder:placeholderDurationFields,props:{disabled:o},validate:validateDurationFields})})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:12,children:jsxRuntimeExports.jsx(FormItem$2,{label:"Min Duration",children:jsxRuntimeExports.jsx(Field,{name:"minDuration",component:ValidatedAdaptedInput,placeholder:placeholderDurationFields,props:{disabled:o},validate:validateDurationFields})})})]}),jsxRuntimeExports.jsx(FormItem$2,{label:"Limit Results",children:jsxRuntimeExports.jsx(Field,{name:"resultsLimit",type:"number",component:AdaptedInput,placeholder:"Limit Results",props:{disabled:o,min:1,max:getConfigValue("search.maxLimit")}})}),jsxRuntimeExports.jsx(Button$2,{htmlType:"submit",className:"SearchForm--submit",disabled:o||c||t,"data-test":SUBMIT_BTN,children:"Find Traces"})]})}}SearchFormImpl.propTypes={handleSubmit:propTypesExports.func.isRequired,invalid:propTypesExports.bool,submitting:propTypesExports.bool,searchMaxLookback:propTypesExports.shape({label:propTypesExports.string.isRequired,value:propTypesExports.string.isRequired}).isRequired,services:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string,operations:propTypesExports.arrayOf(propTypesExports.string)})),selectedService:propTypesExports.string,selectedLookback:propTypesExports.string},SearchFormImpl.defaultProps={invalid:!1,services:[],submitting:!1,selectedService:null,selectedLookback:null};const searchSideBarFormSelector=formValueSelector("searchSideBar");function mapStateToProps$8(e){const{service:t,limit:r,start:a,end:n,operation:i,tag:o,tags:l,maxDuration:s,minDuration:c,lookback:u,traceID:f}=queryString.parse(e.router.location.search),A=1e3*hooks$1().valueOf(),d=formatDate(A),p=formatTime(A),h=store_legacy.get("lastSearch");let b,g;if(h){const{operation:t,service:r}=h;if(r&&"-"!==r&&e.services.services.includes(r)&&(b=r,t&&"-"!==t)){const a=e.services.operationsForService[r];("all"===t||a&&a.includes(t))&&(g=t)}}const{queryStartDate:m,queryStartDateTime:v,queryEndDate:y,queryEndDateTime:w}=convertQueryParamsToFormDates({start:a,end:n});let k,x;if(o){let e,t=function(e,t){const r=t.split(":",2),a=r[0];return!!a&&(e[a]=null==r[1]?"":r[1],!0)};if(Array.isArray(o))e=o.reduce(((e,r)=>(t(e,r),e)),{});else if("string"==typeof o){const r={};e=t(r,o)?r:null}if(e)try{k=stringify_1(e)}catch(_){k="Parse Error"}else k="Parse Error"}if(l){let e;try{e=JSON.parse(l),k=stringify_1(e)}catch(_){k="Parse Error"}}return f&&(x=f instanceof Array?f.join(","):f),{destroyOnUnmount:!1,initialValues:{service:t||b||"-",resultsLimit:r||DEFAULT_LIMIT,lookback:u||DEFAULT_LOOKBACK,startDate:m||d,startDateTime:v||"00:00",endDate:y||d,endDateTime:w||p,operation:i||g||DEFAULT_OPERATION,tags:k,minDuration:c||null,maxDuration:s||null,traceIDs:x||null},searchMaxLookback:get_1$1(e,"config.search.maxLookback"),selectedService:searchSideBarFormSelector(e,"service"),selectedLookback:searchSideBarFormSelector(e,"lookback")}}function mapDispatchToProps$7(e){const{searchTraces:t}=bindActionCreators(jaegerApiActions,e);return{onSubmit:e=>submitForm(e,t)}}const SearchForm=connect$3(mapStateToProps$8,mapDispatchToProps$7)(reduxForm({form:"searchSideBar"})(SearchFormImpl)),CATEGORY_ALT_VIEW$1="jaeger/ux/search-results/alt-view",CATEGORY_CONVERSIONS="jaeger/ux/search-results/conversions";var EAltViewActions=(e=>(e.Ddg="ddg",e.Traces="traces",e))(EAltViewActions||{});function trackAltView(e){trackEvent(CATEGORY_ALT_VIEW$1,e)}function trackConversions(e){trackEvent(CATEGORY_CONVERSIONS,e)}function viewAllDep({ctrlKey:e,metaKey:t}){trackConversions(EAltViewActions.Ddg);const{density:r,operation:a,service:n,showOp:i}=getUrlState$2(window.location.search);window.open(getUrl$4({density:r,operation:a,service:n,showOp:i}),e||t?"_blank":"_self")}function AltViewOptions$2(e){const{onDdgViewClicked:t,traceResultsView:r}=e,a=jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:t,children:r?"Deep Dependency Graph":"Trace Results"});return r||!getConfigValue("deepDependencies.menuEnabled")?a:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[a,jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:viewAllDep,children:"View All Dependencies"})]})}function DownloadResults(e){const{onDownloadResultsClicked:t}=e;return jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:t,children:"Download Results"})}const TraceName$1="";function TraceName(e){const{className:t,error:r,state:a,traceName:n}=e,i=a===fetchedState.ERROR;let o=n||FALLBACK_TRACE_NAME,l="";if(i){l="is-error";let e="";r&&(e="string"==typeof r?r:r.message||String(r)),e||(e="Error: Unknown error"),o=e,o=jsxRuntimeExports.jsx(BreakableText,{text:e})}else if(a===fetchedState.LOADING)o=jsxRuntimeExports.jsx(LoadingIndicator,{small:!0});else{const e=String(n||FALLBACK_TRACE_NAME);o=jsxRuntimeExports.jsx(BreakableText,{text:e})}return jsxRuntimeExports.jsx("span",{className:`TraceName ${l} ${t||""}`,children:o})}const ResultItemTitle$1="",DEFAULT_DURATION_PERCENT=0,stopCheckboxPropagation=e=>e.stopPropagation();class ResultItemTitle extends reactExports.PureComponent{constructor(){super(...arguments),this.toggleComparison=()=>{const{isInDiffCohort:e,toggleComparison:t,traceID:r}=this.props;t(r,e)}}render(){const{disableComparision:e,duration:t,durationPercent:r,error:a,isInDiffCohort:n,linkTo:i,state:o,targetBlank:l,traceID:s,traceName:c}=this.props;let u="div";const f={className:"ResultItemTitle--item ub-flex-auto"};i&&(f.to=i,u=Link$1,l&&(f.target="_blank",f.rel="noopener noreferrer"));const A=o===fetchedState.ERROR,d={className:"ResultItemTitle--item ub-flex-none",checked:!A&&n,disabled:A,onChange:this.toggleComparison,onClick:stopCheckboxPropagation};return jsxRuntimeExports.jsxs("div",{className:"ResultItemTitle",children:[!e&&jsxRuntimeExports.jsx(Checkbox$1,{...d}),jsxRuntimeExports.jsxs(u,{...f,children:[jsxRuntimeExports.jsx("span",{className:"ResultItemTitle--durationBar",style:{width:`${r||DEFAULT_DURATION_PERCENT}%`}}),null!=t&&jsxRuntimeExports.jsx("span",{className:"ub-right ub-relative",children:formatDuration(t)}),jsxRuntimeExports.jsxs("h3",{className:"ResultItemTitle--title",children:[jsxRuntimeExports.jsx(TraceName,{error:a,state:o,traceName:c}),jsxRuntimeExports.jsx("small",{className:"ResultItemTitle--idExcerpt",children:s.slice(0,7)})]})]})]})}}ResultItemTitle.defaultProps={disableComparision:!1,durationPercent:DEFAULT_DURATION_PERCENT,error:void 0,state:void 0,targetBlank:!1};const DiffSelection$1="",CTA_MESSAGE=jsxRuntimeExports.jsx("h2",{className:"ub-m0",children:"Compare traces by selecting result items"});class DiffSelection extends reactExports.PureComponent{render(){const{toggleComparison:e,traces:t}=this.props,r=t.filter((e=>e.state!==fetchedState.ERROR)).map((e=>e.id)),a=r.length>1?getUrl$1({cohort:r}):null,n=jsxRuntimeExports.jsx(Button$2,{className:"ub-right",disabled:r.length<2,htmlType:"button",type:"primary",children:"Compare Traces"});return jsxRuntimeExports.jsxs("div",{className:`DiffSelection ${t.length?"is-non-empty":""} ub-mb3`,children:[t.length>0&&jsxRuntimeExports.jsx("div",{className:"DiffSelection--selectedItems",children:t.map((t=>{const{data:r,error:a,id:n,state:i}=t;return jsxRuntimeExports.jsx(ResultItemTitle,{duration:r&&r.duration,error:a,isInDiffCohort:!0,linkTo:getUrl$6(n),state:i,targetBlank:!0,toggleComparison:e,traceID:n,traceName:r&&r.traceName},n)}))}),jsxRuntimeExports.jsx("div",{className:"DiffSelection--message",children:t.length>0?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[a?jsxRuntimeExports.jsx(Link$1,{to:a,children:n}):n,jsxRuntimeExports.jsxs("h2",{className:"ub-m0",children:[r.length," Selected for comparison"]})]}):CTA_MESSAGE})]})}}const NO_RESULTS="no-results",index$m="",index$l="";function _extends$1b(){return _extends$1b=Object.assign||function(e){for(var t=1;t0?"-".concat(s):s,h=classNames(c,d,"".concat(d,"-").concat(o),(_defineProperty$k(r={},"".concat(d,"-with-text").concat(p),u),_defineProperty$k(r,"".concat(d,"-dashed"),!!f),r));return reactExports.createElement("div",_extends$1b({className:h},A,{role:"separator"}),u&&reactExports.createElement("span",{className:"".concat(d,"-inner-text")},u))}))};const Divider$1=Divider;function _typeof$8(e){return _typeof$8="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$8(e)}function _extends$1a(){return _extends$1a=Object.assign||function(e){for(var t=1;t"error"===e&&(!0===t||"true"===t),trackTraceConversions=()=>trackConversions(EAltViewActions.Traces);class ResultItem extends reactExports.PureComponent{constructor(e,t){super(e,t);const{startTime:r,spans:a}=e.trace,n=hooks$1(r/1e3),i=new Set,o=a.filter((e=>{const t=e.tags.some(isErrorTag);return t&&i.add(e.process.serviceName),t})).length;this.state={numSpans:a.length,timeStr:n.format("h:mm:ss a"),fromNow:n.fromNow(),numErredSpans:o,erroredServices:i}}render(){const{disableComparision:e,durationPercent:t,isInDiffCohort:r,linkTo:a,toggleComparison:n,trace:i}=this.props,{duration:o,services:l,startTime:s,traceName:c,traceID:u}=i;return jsxRuntimeExports.jsxs("div",{className:"ResultItem",onClick:trackTraceConversions,role:"button",children:[jsxRuntimeExports.jsx(ResultItemTitle,{duration:o,durationPercent:t,isInDiffCohort:r,linkTo:a,toggleComparison:n,traceID:u,traceName:c,disableComparision:e}),jsxRuntimeExports.jsx(Link$1,{to:a,children:jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:4,className:"ub-p2",children:[jsxRuntimeExports.jsxs(Tag$1,{className:"ub-m1","data-test":NUM_SPANS,children:[this.state.numSpans," Span",this.state.numSpans>1&&"s"]}),Boolean(this.state.numErredSpans)&&jsxRuntimeExports.jsxs(Tag$1,{className:"ub-m1",color:"red",children:[this.state.numErredSpans," Error",this.state.numErredSpans>1&&"s"]})]}),jsxRuntimeExports.jsx(Col,{span:16,className:"ub-p2",children:jsxRuntimeExports.jsx("ul",{className:"ub-list-reset","data-test":SERVICE_TAGS,children:lodashExports.sortBy(l,(e=>e.name)).map((e=>{const{name:t,numberOfSpans:r}=e;return jsxRuntimeExports.jsx("li",{className:"ub-inline-block ub-m1",children:jsxRuntimeExports.jsxs(Tag$1,{className:"ResultItem--serviceTag",style:{borderLeftColor:colorGenerator.getColorByKey(t)},children:[this.state.erroredServices.has(t)&&jsxRuntimeExports.jsx(IoAlert,{className:"ResultItem--errorIcon"}),t," (",r,")"]})},t)}))})}),jsxRuntimeExports.jsxs(Col,{span:4,className:"ub-p3 ub-tx-right-align",children:[formatRelativeDate(s/1e3),jsxRuntimeExports.jsx(Divider$1,{type:"vertical"}),this.state.timeStr.slice(0,-3)," ",this.state.timeStr.slice(-2),jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("small",{children:this.state.fromNow})]})]})})]})}}function constant$5(e){return function(){return e}}function x$1(e){return e[0]}function y$1(e){return e[1]}function RedBlackTree(){this._=null}function RedBlackNode(e){e.U=e.C=e.L=e.R=e.P=e.N=null}function RedBlackRotateLeft(e,t){var r=t,a=t.R,n=r.U;n?n.L===r?n.L=a:n.R=a:e._=a,a.U=n,r.U=a,r.R=a.L,r.R&&(r.R.U=r),a.L=r}function RedBlackRotateRight(e,t){var r=t,a=t.L,n=r.U;n?n.L===r?n.L=a:n.R=a:e._=a,a.U=n,r.U=a,r.L=a.R,r.L&&(r.L.U=r),a.R=r}function RedBlackFirst(e){for(;e.L;)e=e.L;return e}function createEdge(e,t,r,a){var n=[null,null],i=edges.push(n)-1;return n.left=e,n.right=t,r&&setEdgeEnd(n,e,t,r),a&&setEdgeEnd(n,t,e,a),cells[e.index].halfedges.push(i),cells[t.index].halfedges.push(i),n}function createBorderEdge(e,t,r){var a=[t,r];return a.left=e,a}function setEdgeEnd(e,t,r,a){e[0]||e[1]?e.left===r?e[1]=a:e[0]=a:(e[0]=a,e.left=t,e.right=r)}function clipEdge(e,t,r,a,n){var i,o=e[0],l=e[1],s=o[0],c=o[1],u=0,f=1,A=l[0]-s,d=l[1]-c;if(i=t-s,A||!(i>0)){if(i/=A,A<0){if(i0){if(i>f)return;i>u&&(u=i)}if(i=a-s,A||!(i<0)){if(i/=A,A<0){if(i>f)return;i>u&&(u=i)}else if(A>0){if(i0)){if(i/=d,d<0){if(i0){if(i>f)return;i>u&&(u=i)}if(i=n-c,d||!(i<0)){if(i/=d,d<0){if(i>f)return;i>u&&(u=i)}else if(d>0){if(i0||f<1)||(u>0&&(e[0]=[s+u*A,c+u*d]),f<1&&(e[1]=[s+f*A,c+f*d]),!0)}}}}}function connectEdge(e,t,r,a,n){var i=e[1];if(i)return!0;var o,l,s=e[0],c=e.left,u=e.right,f=c[0],A=c[1],d=u[0],p=u[1],h=(f+d)/2,b=(A+p)/2;if(p===A){if(h=a)return;if(f>d){if(s){if(s[1]>=n)return}else s=[h,r];i=[h,n]}else{if(s){if(s[1]1)if(f>d){if(s){if(s[1]>=n)return}else s=[(r-l)/o,r];i=[(n-l)/o,n]}else{if(s){if(s[1]=a)return}else s=[t,o*t+l];i=[a,o*a+l]}else{if(s){if(s[0]epsilon$2||Math.abs(n[0][1]-n[1][1])>epsilon$2)||delete edges[i]}function createCell(e){return cells[e.index]={site:e,halfedges:[]}}function cellHalfedgeAngle(e,t){var r=e.site,a=t.left,n=t.right;return r===n&&(n=a,a=r),n?Math.atan2(n[1]-a[1],n[0]-a[0]):(r===a?(a=t[1],n=t[0]):(a=t[0],n=t[1]),Math.atan2(a[0]-n[0],n[1]-a[1]))}function cellHalfedgeStart(e,t){return t[+(t.left!==e.site)]}function cellHalfedgeEnd(e,t){return t[+(t.left===e.site)]}function sortCellHalfedges(){for(var e,t,r,a,n=0,i=cells.length;nepsilon$2||Math.abs(h-A)>epsilon$2)&&(s.splice(l,0,edges.push(createBorderEdge(o,d,Math.abs(p-e)epsilon$2?[e,Math.abs(f-e)epsilon$2?[Math.abs(A-a)epsilon$2?[r,Math.abs(f-r)epsilon$2?[Math.abs(A-t)=-epsilon2)){var d=s*s+c*c,p=u*u+f*f,h=(f*d-c*p)/A,b=(s*p-u*d)/A,g=circlePool.pop()||new Circle$3;g.arc=e,g.site=n,g.x=h+o,g.y=(g.cy=b+l)+Math.sqrt(h*h+b*b),e.circle=g;for(var m=null,v=circles._;v;)if(g.yepsilon$2)l=l.L;else{if(!((n=i-rightBreakPoint(l,o))>epsilon$2)){a>-epsilon$2?(t=l.P,r=l):n>-epsilon$2?(t=l,r=l.N):t=r=l;break}if(!l.R){t=l;break}l=l.R}createCell(e);var s=createBeach(e);if(beaches.insert(t,s),t||r){if(t===r)return detachCircle(t),r=createBeach(t.site),beaches.insert(s,r),s.edge=r.edge=createEdge(t.site,s.site),attachCircle(t),void attachCircle(r);if(r){detachCircle(t),detachCircle(r);var c=t.site,u=c[0],f=c[1],A=e[0]-u,d=e[1]-f,p=r.site,h=p[0]-u,b=p[1]-f,g=2*(A*b-d*h),m=A*A+d*d,v=h*h+b*b,y=[(b*m-d*v)/g+u,(A*v-h*m)/g+f];setEdgeEnd(r.edge,c,p,y),s.edge=createEdge(c,e,null,y),r.edge=createEdge(e,p,null,y),attachCircle(t),attachCircle(r)}else s.edge=createEdge(t.site,s.site)}}function leftBreakPoint(e,t){var r=e.site,a=r[0],n=r[1],i=n-t;if(!i)return a;var o=e.P;if(!o)return-1/0;var l=(r=o.site)[0],s=r[1],c=s-t;if(!c)return l;var u=l-a,f=1/i-1/c,A=u/c;return f?(-A+Math.sqrt(A*A-2*f*(u*u/(-2*c)-s+c/2+n-i/2)))/f+a:(a+l)/2}function rightBreakPoint(e,t){var r=e.N;if(r)return leftBreakPoint(r,t);var a=e.site;return a[1]===t?a[0]:1/0}var epsilon$2=1e-6,epsilon2=1e-12,beaches,cells,circles,edges;function triangleArea(e,t,r){return(e[0]-r[0])*(t[1]-e[1])-(e[0]-t[0])*(r[1]-e[1])}function lexicographic(e,t){return t[1]-e[1]||t[0]-e[0]}function Diagram(e,t){var r,a,n,i=e.sort(lexicographic).pop();for(edges=[],cells=new Array(e.length),beaches=new RedBlackTree,circles=new RedBlackTree;;)if(n=firstCircle,i&&(!n||i[1]=l)return null;var s=e-n.site[0],c=t-n.site[1],u=s*s+c*c;do{n=i.cells[a=o],o=null,n.halfedges.forEach((function(r){var a=i.edges[r],l=a.left;if(l!==n.site&&l||(l=a.right)){var s=e-l[0],c=t-l[1],f=s*s+c*c;f>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):(t=reHex6.exec(e))?rgbn(parseInt(t[1],16)):(t=reRgbInteger.exec(e))?new Rgb(t[1],t[2],t[3],1):(t=reRgbPercent.exec(e))?new Rgb(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger.exec(e))?rgba(t[1],t[2],t[3],t[4]):(t=reRgbaPercent.exec(e))?rgba(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,t[4]):named.hasOwnProperty(e)?rgbn(named[e]):"transparent"===e?new Rgb(NaN,NaN,NaN,0):null}function rgbn(e){return new Rgb(e>>16&255,e>>8&255,255&e,1)}function rgba(e,t,r,a){return a<=0&&(e=t=r=NaN),new Rgb(e,t,r,a)}function rgbConvert(e){return e instanceof Color||(e=color(e)),e?new Rgb((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb}function rgb$1(e,t,r,a){return 1===arguments.length?rgbConvert(e):new Rgb(e,t,r,null==a?1:a)}function Rgb(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function hex(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function hsla(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl(e,t,r,a)}function hslConvert(e){if(e instanceof Hsl)return new Hsl(e.h,e.s,e.l,e.opacity);if(e instanceof Color||(e=color(e)),!e)return new Hsl;if(e instanceof Hsl)return e;var t=(e=e.rgb()).r/255,r=e.g/255,a=e.b/255,n=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-n,s=(i+n)/2;return l?(o=t===i?(r-a)/l+6*(r0&&s<1?0:o,new Hsl(o,l,s,e.opacity)}function hsl(e,t,r,a){return 1===arguments.length?hslConvert(e):new Hsl(e,t,r,null==a?1:a)}function Hsl(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function hsl2rgb(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}define(Color,color,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),define(Rgb,rgb$1,extend(Color,{brighter:function(e){return e=null==e?brighter:Math.pow(brighter,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?darker:Math.pow(darker,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)},toString:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}})),define(Hsl,hsl,extend(Color,{brighter:function(e){return e=null==e?brighter:Math.pow(brighter,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?darker:Math.pow(darker,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,n=2*r-a;return new Rgb(hsl2rgb(e>=240?e-240:e+120,n,a),hsl2rgb(e,n,a),hsl2rgb(e<120?e+240:e-120,n,a),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var deg2rad=Math.PI/180,rad2deg=180/Math.PI,K=18,Xn=.96422,Yn=1,Zn=.82521,t0$1=4/29,t1$1=6/29,t2=3*t1$1*t1$1,t3=t1$1*t1$1*t1$1;function labConvert(e){if(e instanceof Lab)return new Lab(e.l,e.a,e.b,e.opacity);if(e instanceof Hcl){if(isNaN(e.h))return new Lab(e.l,0,0,e.opacity);var t=e.h*deg2rad;return new Lab(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}e instanceof Rgb||(e=rgbConvert(e));var r,a,n=rgb2lrgb(e.r),i=rgb2lrgb(e.g),o=rgb2lrgb(e.b),l=xyz2lab((.2225045*n+.7168786*i+.0606169*o)/Yn);return n===i&&i===o?r=a=l:(r=xyz2lab((.4360747*n+.3850649*i+.1430804*o)/Xn),a=xyz2lab((.0139322*n+.0971045*i+.7141733*o)/Zn)),new Lab(116*l-16,500*(r-l),200*(l-a),e.opacity)}function lab(e,t,r,a){return 1===arguments.length?labConvert(e):new Lab(e,t,r,null==a?1:a)}function Lab(e,t,r,a){this.l=+e,this.a=+t,this.b=+r,this.opacity=+a}function xyz2lab(e){return e>t3?Math.pow(e,1/3):e/t2+t0$1}function lab2xyz(e){return e>t1$1?e*e*e:t2*(e-t0$1)}function lrgb2rgb(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function rgb2lrgb(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function hclConvert(e){if(e instanceof Hcl)return new Hcl(e.h,e.c,e.l,e.opacity);if(e instanceof Lab||(e=labConvert(e)),0===e.a&&0===e.b)return new Hcl(NaN,0,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*rad2deg;return new Hcl(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function hcl(e,t,r,a){return 1===arguments.length?hclConvert(e):new Hcl(e,t,r,null==a?1:a)}function Hcl(e,t,r,a){this.h=+e,this.c=+t,this.l=+r,this.opacity=+a}define(Lab,lab,extend(Color,{brighter:function(e){return new Lab(this.l+K*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new Lab(this.l-K*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return new Rgb(lrgb2rgb(3.1338561*(t=Xn*lab2xyz(t))-1.6168667*(e=Yn*lab2xyz(e))-.4906146*(r=Zn*lab2xyz(r))),lrgb2rgb(-.9787684*t+1.9161415*e+.033454*r),lrgb2rgb(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter:function(e){return new Hcl(this.h,this.c,this.l+K*(null==e?1:e),this.opacity)},darker:function(e){return new Hcl(this.h,this.c,this.l-K*(null==e?1:e),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(e){if(e instanceof Cubehelix)return new Cubehelix(e.h,e.s,e.l,e.opacity);e instanceof Rgb||(e=rgbConvert(e));var t=e.r/255,r=e.g/255,a=e.b/255,n=(BC_DA*a+ED*t-EB*r)/(BC_DA+ED-EB),i=a-n,o=(E*(r-n)-C*i)/D,l=Math.sqrt(o*o+i*i)/(E*n*(1-n)),s=l?Math.atan2(o,i)*rad2deg-120:NaN;return new Cubehelix(s<0?s+360:s,l,n,e.opacity)}function cubehelix$1(e,t,r,a){return 1===arguments.length?cubehelixConvert(e):new Cubehelix(e,t,r,null==a?1:a)}function Cubehelix(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function constant$4(e){return function(){return e}}function linear$1(e,t){return function(r){return e+r*t}}function exponential(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}function hue(e,t){var r=t-e;return r?linear$1(e,r>180||r<-180?r-360*Math.round(r/360):r):constant$4(isNaN(e)?t:e)}function gamma(e){return 1==(e=+e)?nogamma:function(t,r){return r-t?exponential(t,r,e):constant$4(isNaN(t)?r:t)}}function nogamma(e,t){var r=t-e;return r?linear$1(e,r):constant$4(isNaN(e)?t:e)}define(Cubehelix,cubehelix$1,extend(Color,{brighter:function(e){return e=null==e?brighter:Math.pow(brighter,e),new Cubehelix(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?darker:Math.pow(darker,e),new Cubehelix(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*deg2rad,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),a=Math.cos(e),n=Math.sin(e);return new Rgb(255*(t+r*(A*a+B*n)),255*(t+r*(C*a+D*n)),255*(t+r*(E*a)),this.opacity)}}));const rgb=function e(t){var r=gamma(t);function a(e,t){var a=r((e=rgb$1(e)).r,(t=rgb$1(t)).r),n=r(e.g,t.g),i=r(e.b,t.b),o=nogamma(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=n(t),e.b=i(t),e.opacity=o(t),e+""}}return a.gamma=e,a}(1);function array$2(e,t){var r,a=t?t.length:0,n=e?Math.min(a,e.length):0,i=new Array(n),o=new Array(a);for(r=0;ri&&(n=t.slice(i,n),l[o]?l[o]+=n:l[++o]=n),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:reinterpolate$1(r,a)})),i=reB.lastIndex;return i10*d&&(n.accumulatedTime=0),0===n.accumulatedTime)return n.animationID=null,void n.startAnimationIfNecessary();var i=(n.accumulatedTime-Math.floor(n.accumulatedTime/d)*d)/d,o=Math.floor(n.accumulatedTime/d),c={},f={},A={},p={};for(var h in t)if(Object.prototype.hasOwnProperty.call(t,h)){var b=t[h];if("number"==typeof b)A[h]=b,p[h]=0,c[h]=b,f[h]=0;else{for(var g=n.state.lastIdealStyle[h],m=n.state.lastIdealVelocity[h],v=0;v10*d&&(n.accumulatedTime=0),0===n.accumulatedTime)return n.animationID=null,void n.startAnimationIfNecessary();for(var i=(n.accumulatedTime-Math.floor(n.accumulatedTime/d)*d)/d,o=Math.floor(n.accumulatedTime/d),c=[],f=[],A=[],p=[],h=0;ha[u])return-1;if(n>i[u]&&sa[u])return 1;if(o>i[u]&&l10*p&&(n.accumulatedTime=0),0===n.accumulatedTime)return n.animationID=null,void n.startAnimationIfNecessary();for(var o=(n.accumulatedTime-Math.floor(n.accumulatedTime/p)*p)/p,s=Math.floor(n.accumulatedTime/p),u=b(n.props.willEnter,n.props.willLeave,n.props.didLeave,n.state.mergedPropsStyles,r,n.state.currentStyles,n.state.currentVelocities,n.state.lastIdealStyles,n.state.lastIdealVelocities),A=u[0],d=u[1],g=u[2],m=u[3],v=u[4],y=0;y=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}var ANIMATION_PROPTYPES=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.shape({stiffness:propTypesExports.number,nonAnimatedProps:propTypesExports.arrayOf(propTypesExports.string),damping:propTypesExports.number}),propTypesExports.bool]),propTypes$b={animatedProps:propTypesExports.arrayOf(propTypesExports.string).isRequired,animation:ANIMATION_PROPTYPES,onStart:propTypesExports.func,onEnd:propTypesExports.func};function getAnimationStyle(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:presets.noWobble;if("string"==typeof e)return presets[e]||presets.noWobble;var t=e.damping,r=e.stiffness;return _extends$18({damping:t||presets.noWobble.damping,stiffness:r||presets.noWobble.stiffness},e)}function extractAnimatedPropValues(e){var t=e.animatedProps,r=_objectWithoutProperties$3(e,["animatedProps"]);return t.reduce((function(e,t){return r.hasOwnProperty(t)&&(e[t]=r[t]),e}),{})}var Animation=function(e){function t(e){_classCallCheck$Q(this,t);var r=_possibleConstructorReturn$Q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r._motionEndHandler=function(){r.props.onEnd&&r.props.onEnd()},r._renderChildren=function(e){var t=e.i,a=r.props.children,n=r._interpolator,i=React$k.Children.only(a),o=n?n(t):n,l=o&&o.data||null;return l&&i.props._data&&(l=l.map((function(e,t){var r=i.props._data[t];return _extends$18({},e,{parent:r.parent,children:r.children})}))),React$k.cloneElement(i,_extends$18({},i.props,o,{data:l||i.props.data||null,_animation:Math.random()}))},r._updateInterpolator(e),r}return _inherits$Q(t,e),_createClass$Q(t,[{key:"componentWillUpdate",value:function(e){this._updateInterpolator(this.props,e),e.onStart&&e.onStart()}},{key:"_updateInterpolator",value:function(e,t){this._interpolator=interpolate(extractAnimatedPropValues(e),t?extractAnimatedPropValues(t):null)}},{key:"render",value:function(){var e=getAnimationStyle(this.props.animation),t={i:spring(1,e)},r=Math.random();return React$k.createElement(Motion,_extends$18({defaultStyle:{i:0},style:t,key:r},{onRest:this._motionEndHandler}),this._renderChildren)}}]),t}(reactExports.PureComponent);Animation.propTypes=propTypes$b,Animation.displayName="Animation";var AnimationPropType=ANIMATION_PROPTYPES;function ascending$2(e,t){return et?1:e>=t?0:NaN}function bisector(e){return 1===e.length&&(e=ascendingComparator(e)),{left:function(t,r,a,n){for(null==a&&(a=0),null==n&&(n=t.length);a>>1;e(t[i],r)<0?a=i+1:n=i}return a},right:function(t,r,a,n){for(null==a&&(a=0),null==n&&(n=t.length);a>>1;e(t[i],r)>0?n=i:a=i+1}return a}}}function ascendingComparator(e){return function(t,r){return ascending$2(e(t),r)}}var ascendingBisect=bisector(ascending$2),bisectRight=ascendingBisect.right;function extent(e,t){var r,a,n,i=e.length,o=-1;if(null==t){for(;++o=r)for(a=n=r;++or&&(a=r),n=r)for(a=n=r;++or&&(a=r),n0)return[e];if((a=t0)for(e=Math.ceil(e/o),t=Math.floor(t/o),i=new Array(n=Math.ceil(t-e+1));++l=0?(i>=e10?10:i>=e5?5:i>=e2?2:1)*Math.pow(10,n):-Math.pow(10,-n)/(i>=e10?10:i>=e5?5:i>=e2?2:1)}function tickStep(e,t,r){var a=Math.abs(t-e)/Math.max(0,r),n=Math.pow(10,Math.floor(Math.log(a)/Math.LN10)),i=a/n;return i>=e10?n*=10:i>=e5?n*=5:i>=e2&&(n*=2),t=r)for(a=r;++ia&&(a=r)}else for(;++i=r)for(a=r;++ia&&(a=r);return a}var prefix="$";function Map$1(){}function map$2(e,t){var r=new Map$1;if(e instanceof Map$1)e.each((function(e,t){r.set(t,e)}));else if(Array.isArray(e)){var a,n=-1,i=e.length;if(null==t)for(;++n=r?1:a(e)}}}function reinterpolateClamp(e){return function(t,r){var a=e(t=+t,r=+r);return function(e){return e<=0?t:e>=1?r:a(e)}}}function bimap(e,t,r,a){var n=e[0],i=e[1],o=t[0],l=t[1];return i2?polymap:bimap,a=n=null,u}function u(t){return(a||(a=r(i,o,s?deinterpolateClamp(e):e,l)))(+t)}return u.invert=function(e){return(n||(n=r(o,i,deinterpolateLinear,s?reinterpolateClamp(t):t)))(+e)},u.domain=function(e){return arguments.length?(i=map$1.call(e,number$1),c()):i.slice()},u.range=function(e){return arguments.length?(o=slice$3.call(e),c()):o.slice()},u.rangeRound=function(e){return o=slice$3.call(e),l=interpolateRound,c()},u.clamp=function(e){return arguments.length?(s=!!e,c()):s},u.interpolate=function(e){return arguments.length?(l=e,c()):l},c()}function formatDecimal(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,a=e.slice(0,r);return[a.length>1?a[0]+a.slice(2):a,+e.slice(r+1)]}function exponent(e){return(e=formatDecimal(Math.abs(e)))?e[1]:NaN}function formatGroup(e,t){return function(r,a){for(var n=r.length,i=[],o=0,l=e[0],s=0;n>0&&l>0&&(s+l+1>a&&(l=Math.max(1,a-s)),i.push(r.substring(n-=l,n+l)),!((s+=l+1)>a));)l=e[o=(o+1)%e.length];return i.reverse().join(t)}}function formatNumerals(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i,prefixExponent;function formatSpecifier(e){return new FormatSpecifier(e)}function FormatSpecifier(e){if(!(t=re.exec(e)))throw new Error("invalid format: "+e);var t;this.fill=t[1]||" ",this.align=t[2]||">",this.sign=t[3]||"-",this.symbol=t[4]||"",this.zero=!!t[5],this.width=t[6]&&+t[6],this.comma=!!t[7],this.precision=t[8]&&+t[8].slice(1),this.trim=!!t[9],this.type=t[10]||""}function formatTrim(e){e:for(var t,r=e.length,a=1,n=-1;a0){if(!+e[a])break e;n=0}}return n>0?e.slice(0,n)+e.slice(t+1):e}function formatPrefixAuto(e,t){var r=formatDecimal(e,t);if(!r)return e+"";var a=r[0],n=r[1],i=n-(prefixExponent=3*Math.max(-8,Math.min(8,Math.floor(n/3))))+1,o=a.length;return i===o?a:i>o?a+new Array(i-o+1).join("0"):i>0?a.slice(0,i)+"."+a.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(e,Math.max(0,t+i-1))[0]}function formatRounded(e,t){var r=formatDecimal(e,t);if(!r)return e+"";var a=r[0],n=r[1];return n<0?"0."+new Array(-n).join("0")+a:a.length>n+1?a.slice(0,n+1)+"."+a.slice(n+1):a+new Array(n-a.length+2).join("0")}formatSpecifier.prototype=FormatSpecifier.prototype,FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const formatTypes={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.round(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return formatRounded(100*e,t)},r:formatRounded,s:formatPrefixAuto,X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function identity$3(e){return e}var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],locale$2,format$1,formatPrefix;function formatLocale$1(e){var t=e.grouping&&e.thousands?formatGroup(e.grouping,e.thousands):identity$3,r=e.currency,a=e.decimal,n=e.numerals?formatNumerals(e.numerals):identity$3,i=e.percent||"%";function o(e){var o=(e=formatSpecifier(e)).fill,l=e.align,s=e.sign,c=e.symbol,u=e.zero,f=e.width,A=e.comma,d=e.precision,p=e.trim,h=e.type;"n"===h?(A=!0,h="g"):formatTypes[h]||(null==d&&(d=12),p=!0,h="g"),(u||"0"===o&&"="===l)&&(u=!0,o="0",l="=");var b="$"===c?r[0]:"#"===c&&/[boxX]/.test(h)?"0"+h.toLowerCase():"",g="$"===c?r[1]:/[%p]/.test(h)?i:"",m=formatTypes[h],v=/[defgprs%]/.test(h);function y(e){var r,i,c,y=b,w=g;if("c"===h)w=m(e)+w,e="";else{var k=(e=+e)<0;if(e=m(Math.abs(e),d),p&&(e=formatTrim(e)),k&&0==+e&&(k=!1),y=(k?"("===s?s:"-":"-"===s||"("===s?"":s)+y,w=("s"===h?prefixes[8+prefixExponent/3]:"")+w+(k&&"("===s?")":""),v)for(r=-1,i=e.length;++r(c=e.charCodeAt(r))||c>57){w=(46===c?a+e.slice(r+1):e.slice(r))+w,e=e.slice(0,r);break}}A&&!u&&(e=t(e,1/0));var x=y.length+e.length+w.length,E=x>1)+y+e+w+E.slice(x);break;default:e=E+y+e+w}return n(e)}return d=null==d?6:/[gprs]/.test(h)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),y.toString=function(){return e+""},y}return{format:o,formatPrefix:function(e,t){var r=o(((e=formatSpecifier(e)).type="f",e)),a=3*Math.max(-8,Math.min(8,Math.floor(exponent(t)/3))),n=Math.pow(10,-a),i=prefixes[8+a/3];return function(e){return r(n*e)+i}}}}function defaultLocale$1(e){return locale$2=formatLocale$1(e),format$1=locale$2.format,formatPrefix=locale$2.formatPrefix,locale$2}function precisionFixed(e){return Math.max(0,-exponent(Math.abs(e)))}function precisionPrefix(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(exponent(t)/3)))-exponent(Math.abs(e)))}function precisionRound(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,exponent(t)-exponent(e))+1}function tickFormat$1(e,t,r){var a,n=e[0],i=e[e.length-1],o=tickStep(n,i,null==t?10:t);switch((r=formatSpecifier(null==r?",f":r)).type){case"s":var l=Math.max(Math.abs(n),Math.abs(i));return null!=r.precision||isNaN(a=precisionPrefix(o,l))||(r.precision=a),formatPrefix(r,l);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(a=precisionRound(o,Math.max(Math.abs(n),Math.abs(i))))||(r.precision=a-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(a=precisionFixed(o))||(r.precision=a-2*("%"===r.type))}return format$1(r)}function linearish(e){var t=e.domain;return e.ticks=function(e){var r=t();return ticks(r[0],r[r.length-1],null==e?10:e)},e.tickFormat=function(e,r){return tickFormat$1(t(),e,r)},e.nice=function(r){null==r&&(r=10);var a,n=t(),i=0,o=n.length-1,l=n[i],s=n[o];return s0?a=tickIncrement(l=Math.floor(l/a)*a,s=Math.ceil(s/a)*a,r):a<0&&(a=tickIncrement(l=Math.ceil(l*a)/a,s=Math.floor(s*a)/a,r)),a>0?(n[i]=Math.floor(l/a)*a,n[o]=Math.ceil(s/a)*a,t(n)):a<0&&(n[i]=Math.ceil(l*a)/a,n[o]=Math.floor(s*a)/a,t(n)),e},e}function linear(){var e=continuous(deinterpolateLinear,reinterpolate$1);return e.copy=function(){return copy$1(e,linear())},linearish(e)}function nice(e,t){var r,a=0,n=(e=e.slice()).length-1,i=e[a],o=e[n];return o0){for(;As)break;h.push(f)}}else for(;A=1;--u)if(!((f=c*u)s)break;h.push(f)}}else h=ticks(A,d,Math.min(d-A,p)).map(n);return i?h.reverse():h},e.tickFormat=function(t,i){if(null==i&&(i=10===r?".0e":","),"function"!=typeof i&&(i=format$1(i)),t===1/0)return i;null==t&&(t=10);var o=Math.max(1,r*t/e.ticks().length);return function(e){var t=e/n(Math.round(a(e)));return t*r0))return l;do{l.push(o=new Date(+r)),t(r,i),e(r)}while(o=t)for(;e(t),!r(t);)t.setTime(t-1)}),(function(e,a){if(e>=e)if(a<0)for(;++a<=0;)for(;t(e,-1),!r(e););else for(;--a>=0;)for(;t(e,1),!r(e););}))},r&&(n.count=function(t,a){return t0.setTime(+t),t1.setTime(+a),e(t0),e(t1),Math.floor(r(t0,t1))},n.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?n.filter(a?function(t){return a(t)%e==0}:function(t){return n.count(0,t)%e==0}):n:null}),n}var millisecond=newInterval((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));millisecond.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?newInterval((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,r){t.setTime(+t+r*e)}),(function(t,r){return(r-t)/e})):millisecond:null},millisecond.range;var durationSecond$1=1e3,durationMinute$1=6e4,durationHour$1=36e5,durationDay$1=864e5,durationWeek$1=6048e5,second=newInterval((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*durationSecond$1)}),(function(e,t){return(t-e)/durationSecond$1}),(function(e){return e.getUTCSeconds()}));second.range;var minute=newInterval((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*durationSecond$1)}),(function(e,t){e.setTime(+e+t*durationMinute$1)}),(function(e,t){return(t-e)/durationMinute$1}),(function(e){return e.getMinutes()}));minute.range;var hour=newInterval((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*durationSecond$1-e.getMinutes()*durationMinute$1)}),(function(e,t){e.setTime(+e+t*durationHour$1)}),(function(e,t){return(t-e)/durationHour$1}),(function(e){return e.getHours()}));hour.range;var day=newInterval((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*durationMinute$1)/durationDay$1}),(function(e){return e.getDate()-1}));function weekday(e){return newInterval((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*durationMinute$1)/durationWeek$1}))}day.range;var sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6);sunday.range,monday.range,tuesday.range,wednesday.range,thursday.range,friday.range,saturday.range;var month=newInterval((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}));month.range;var year=newInterval((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));year.every=function(e){return isFinite(e=Math.floor(e))&&e>0?newInterval((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,r){t.setFullYear(t.getFullYear()+r*e)})):null},year.range;var utcMinute=newInterval((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*durationMinute$1)}),(function(e,t){return(t-e)/durationMinute$1}),(function(e){return e.getUTCMinutes()}));utcMinute.range;var utcHour=newInterval((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*durationHour$1)}),(function(e,t){return(t-e)/durationHour$1}),(function(e){return e.getUTCHours()}));utcHour.range;var utcDay=newInterval((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/durationDay$1}),(function(e){return e.getUTCDate()-1}));function utcWeekday(e){return newInterval((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/durationWeek$1}))}utcDay.range;var utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6);utcSunday.range,utcMonday.range,utcTuesday.range,utcWednesday.range,utcThursday.range,utcFriday.range,utcSaturday.range;var utcMonth=newInterval((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}));utcMonth.range;var utcYear=newInterval((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));function localDate(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function utcDate(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function newYear(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}function formatLocale(e){var t=e.dateTime,r=e.date,a=e.time,n=e.periods,i=e.days,o=e.shortDays,l=e.months,s=e.shortMonths,c=formatRe(n),u=formatLookup(n),f=formatRe(i),A=formatLookup(i),d=formatRe(o),p=formatLookup(o),h=formatRe(l),b=formatLookup(l),g=formatRe(s),m=formatLookup(s),v={a:function(e){return o[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return s[e.getMonth()]},B:function(e){return l[e.getMonth()]},c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:function(e){return n[+(e.getHours()>=12)]},Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},y={a:function(e){return o[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return s[e.getUTCMonth()]},B:function(e){return l[e.getUTCMonth()]},c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:function(e){return n[+(e.getUTCHours()>=12)]},Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},w={a:function(e,t,r){var a=d.exec(t.slice(r));return a?(e.w=p[a[0].toLowerCase()],r+a[0].length):-1},A:function(e,t,r){var a=f.exec(t.slice(r));return a?(e.w=A[a[0].toLowerCase()],r+a[0].length):-1},b:function(e,t,r){var a=g.exec(t.slice(r));return a?(e.m=m[a[0].toLowerCase()],r+a[0].length):-1},B:function(e,t,r){var a=h.exec(t.slice(r));return a?(e.m=b[a[0].toLowerCase()],r+a[0].length):-1},c:function(e,r,a){return E(e,t,r,a)},d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:function(e,t,r){var a=c.exec(t.slice(r));return a?(e.p=u[a[0].toLowerCase()],r+a[0].length):-1},Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:function(e,t,a){return E(e,r,t,a)},X:function(e,t,r){return E(e,a,t,r)},y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};function k(e,t){return function(r){var a,n,i,o=[],l=-1,s=0,c=e.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;"w"in i||(i.w=1),"Z"in i?(n=(a=utcDate(newYear(i.y))).getUTCDay(),a=n>4||0===n?utcMonday.ceil(a):utcMonday(a),a=utcDay.offset(a,7*(i.V-1)),i.y=a.getUTCFullYear(),i.m=a.getUTCMonth(),i.d=a.getUTCDate()+(i.w+6)%7):(n=(a=t(newYear(i.y))).getDay(),a=n>4||0===n?monday.ceil(a):monday(a),a=day.offset(a,7*(i.V-1)),i.y=a.getFullYear(),i.m=a.getMonth(),i.d=a.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),n="Z"in i?utcDate(newYear(i.y)).getUTCDay():t(newYear(i.y)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(n+5)%7:i.w+7*i.U-(n+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,utcDate(i)):t(i)}}function E(e,t,r,a){for(var n,i,o=0,l=t.length,s=r.length;o=s)return-1;if(37===(n=t.charCodeAt(o++))){if(n=t.charAt(o++),!(i=w[n in pads?t.charAt(o++):n])||(a=i(e,r,a))<0)return-1}else if(n!=r.charCodeAt(a++))return-1}return a}return v.x=k(r,v),v.X=k(a,v),v.c=k(t,v),y.x=k(r,y),y.X=k(a,y),y.c=k(t,y),{format:function(e){var t=k(e+="",v);return t.toString=function(){return e},t},parse:function(e){var t=x(e+="",localDate);return t.toString=function(){return e},t},utcFormat:function(e){var t=k(e+="",y);return t.toString=function(){return e},t},utcParse:function(e){var t=x(e,utcDate);return t.toString=function(){return e},t}}}utcYear.every=function(e){return isFinite(e=Math.floor(e))&&e>0?newInterval((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,r){t.setUTCFullYear(t.getUTCFullYear()+r*e)})):null},utcYear.range;var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g,locale$1,timeFormat,utcFormat,utcParse;function pad(e,t,r){var a=e<0?"-":"",n=(a?-e:e)+"",i=n.length;return a+(i68?1900:2e3),r+a[0].length):-1}function parseZone(e,t,r){var a=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return a?(e.Z=a[1]?0:-(a[2]+(a[3]||"00")),r+a[0].length):-1}function parseMonthNumber(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.m=a[0]-1,r+a[0].length):-1}function parseDayOfMonth(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.d=+a[0],r+a[0].length):-1}function parseDayOfYear(e,t,r){var a=numberRe.exec(t.slice(r,r+3));return a?(e.m=0,e.d=+a[0],r+a[0].length):-1}function parseHour24(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.H=+a[0],r+a[0].length):-1}function parseMinutes(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.M=+a[0],r+a[0].length):-1}function parseSeconds(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.S=+a[0],r+a[0].length):-1}function parseMilliseconds(e,t,r){var a=numberRe.exec(t.slice(r,r+3));return a?(e.L=+a[0],r+a[0].length):-1}function parseMicroseconds(e,t,r){var a=numberRe.exec(t.slice(r,r+6));return a?(e.L=Math.floor(a[0]/1e3),r+a[0].length):-1}function parseLiteralPercent(e,t,r){var a=percentRe.exec(t.slice(r,r+1));return a?r+a[0].length:-1}function parseUnixTimestamp(e,t,r){var a=numberRe.exec(t.slice(r));return a?(e.Q=+a[0],r+a[0].length):-1}function parseUnixTimestampSeconds(e,t,r){var a=numberRe.exec(t.slice(r));return a?(e.Q=1e3*+a[0],r+a[0].length):-1}function formatDayOfMonth(e,t){return pad(e.getDate(),t,2)}function formatHour24(e,t){return pad(e.getHours(),t,2)}function formatHour12(e,t){return pad(e.getHours()%12||12,t,2)}function formatDayOfYear(e,t){return pad(1+day.count(year(e),e),t,3)}function formatMilliseconds(e,t){return pad(e.getMilliseconds(),t,3)}function formatMicroseconds(e,t){return formatMilliseconds(e,t)+"000"}function formatMonthNumber(e,t){return pad(e.getMonth()+1,t,2)}function formatMinutes(e,t){return pad(e.getMinutes(),t,2)}function formatSeconds(e,t){return pad(e.getSeconds(),t,2)}function formatWeekdayNumberMonday(e){var t=e.getDay();return 0===t?7:t}function formatWeekNumberSunday(e,t){return pad(sunday.count(year(e),e),t,2)}function formatWeekNumberISO(e,t){var r=e.getDay();return e=r>=4||0===r?thursday(e):thursday.ceil(e),pad(thursday.count(year(e),e)+(4===year(e).getDay()),t,2)}function formatWeekdayNumberSunday(e){return e.getDay()}function formatWeekNumberMonday(e,t){return pad(monday.count(year(e),e),t,2)}function formatYear(e,t){return pad(e.getFullYear()%100,t,2)}function formatFullYear(e,t){return pad(e.getFullYear()%1e4,t,4)}function formatZone(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+pad(t/60|0,"0",2)+pad(t%60,"0",2)}function formatUTCDayOfMonth(e,t){return pad(e.getUTCDate(),t,2)}function formatUTCHour24(e,t){return pad(e.getUTCHours(),t,2)}function formatUTCHour12(e,t){return pad(e.getUTCHours()%12||12,t,2)}function formatUTCDayOfYear(e,t){return pad(1+utcDay.count(utcYear(e),e),t,3)}function formatUTCMilliseconds(e,t){return pad(e.getUTCMilliseconds(),t,3)}function formatUTCMicroseconds(e,t){return formatUTCMilliseconds(e,t)+"000"}function formatUTCMonthNumber(e,t){return pad(e.getUTCMonth()+1,t,2)}function formatUTCMinutes(e,t){return pad(e.getUTCMinutes(),t,2)}function formatUTCSeconds(e,t){return pad(e.getUTCSeconds(),t,2)}function formatUTCWeekdayNumberMonday(e){var t=e.getUTCDay();return 0===t?7:t}function formatUTCWeekNumberSunday(e,t){return pad(utcSunday.count(utcYear(e),e),t,2)}function formatUTCWeekNumberISO(e,t){var r=e.getUTCDay();return e=r>=4||0===r?utcThursday(e):utcThursday.ceil(e),pad(utcThursday.count(utcYear(e),e)+(4===utcYear(e).getUTCDay()),t,2)}function formatUTCWeekdayNumberSunday(e){return e.getUTCDay()}function formatUTCWeekNumberMonday(e,t){return pad(utcMonday.count(utcYear(e),e),t,2)}function formatUTCYear(e,t){return pad(e.getUTCFullYear()%100,t,2)}function formatUTCFullYear(e,t){return pad(e.getUTCFullYear()%1e4,t,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(e){return+e}function formatUnixTimestampSeconds(e){return Math.floor(+e/1e3)}function defaultLocale(e){return locale$1=formatLocale(e),timeFormat=locale$1.format,locale$1.parse,utcFormat=locale$1.utcFormat,utcParse=locale$1.utcParse,locale$1}defaultLocale({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(e){return e.toISOString()}function parseIsoNative(e){var t=new Date(e);return isNaN(t)?null:t}Date.prototype.toISOString||utcFormat(isoSpecifier),+new Date("2000-01-01T00:00:00.000Z")||utcParse(isoSpecifier);var durationSecond=1e3,durationMinute=60*durationSecond,durationHour=60*durationMinute,durationDay=24*durationHour,durationWeek=7*durationDay,durationMonth=30*durationDay,durationYear=365*durationDay;function date(e){return new Date(e)}function number(e){return e instanceof Date?+e:+new Date(+e)}function calendar(e,t,r,a,n,i,o,l,s){var c=continuous(deinterpolateLinear,reinterpolate$1),u=c.invert,f=c.domain,A=s(".%L"),d=s(":%S"),p=s("%I:%M"),h=s("%I %p"),b=s("%a %d"),g=s("%b %d"),m=s("%B"),v=s("%Y"),y=[[o,1,durationSecond],[o,5,5*durationSecond],[o,15,15*durationSecond],[o,30,30*durationSecond],[i,1,durationMinute],[i,5,5*durationMinute],[i,15,15*durationMinute],[i,30,30*durationMinute],[n,1,durationHour],[n,3,3*durationHour],[n,6,6*durationHour],[n,12,12*durationHour],[a,1,durationDay],[a,2,2*durationDay],[r,1,durationWeek],[t,1,durationMonth],[t,3,3*durationMonth],[e,1,durationYear]];function w(l){return(o(l)13||Number(major)>13,isReactDOMSupported=function(){return versionHigherThanThirteen},getDOMNode=function(e){return isReactDOMSupported()?e:e&&e.getDOMNode()},USED_MESSAGES={},HIDDEN_PROCESSES={test:!0,production:!0};function warning$1(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];global.process&&HIDDEN_PROCESSES.production||t&&USED_MESSAGES[e]||(console.warn(e),USED_MESSAGES[e]=!0)}function getUniquePropertyValues(e,t){var r=new Set(e.map(t));return Array.from(r)}function addValueToArray(e,t){var r=[].concat(e);return r[0]>t&&(r[0]=t),r[r.length-1]l-e.padding()*e.step())return e.domain()[e.domain().length-1];var s=Math.floor((t-o-e.padding()*e.step())/e.step());return e.domain()[s]})}function getScaleFnFromScaleObject(e){if(!e)return null;var t=e.type,r=e.domain,a=e.range,n=r[0]===r[1]?0===r[0]?[-1,0]:[-r[0],r[0]]:r;if(t===LITERAL_SCALE_TYPE)return literalScale(a[0]);var i=SCALE_FUNCTIONS[t]().domain(n).range(a);return t===ORDINAL_SCALE_TYPE&&(i.padding(.5),addInvertFunctionToOrdinalScaleObject(i)),i}function getDomainByAccessor(e,t,r,a){var n=e.reduce((function(e,a){var n=t(a),i=r(a);return _isDefined(n)&&e.push(n),_isDefined(i)&&e.push(i),e}),[]);return n.length?a!==ORDINAL_SCALE_TYPE&&a!==CATEGORY_SCALE_TYPE?extent(n):set(n).values():[]}function _createScaleObjectForValue(e,t,r,a,n){return r===LITERAL_SCALE_TYPE?{type:LITERAL_SCALE_TYPE,domain:[],range:[t],distance:0,attr:e,baseValue:void 0,isValue:!0,accessor:a,accessor0:n}:void 0===t?null:{type:CATEGORY_SCALE_TYPE,range:[t],domain:[],distance:0,attr:e,baseValue:void 0,isValue:!0,accessor:a,accessor0:n}}function _createScaleObjectForFunction(e){return{domain:e.domain,range:e.range,type:e.type,distance:e.distance,attr:e.attr,baseValue:e.baseValue,isValue:!1,accessor:e.accessor,accessor0:e.accessor0}}function _collectScaleObjectFromProps(e,t){var r=e[t],a=e["_"+t+"Value"],n=e[t+"Range"],i=e[t+"Distance"],o=void 0===i?0:i,l=e[t+"BaseValue"],s=e[t+"Type"],c=void 0===s?LINEAR_SCALE_TYPE:s,u=e[t+"NoFallBack"],f=e["get"+toTitleCase(t)],A=void 0===f?function(e){return e[t]}:f,d=e["get"+toTitleCase(t)+"0"],p=void 0===d?function(e){return e[t+"0"]}:d,h=e[t+"Domain"];return u||void 0===r?(void 0!==l&&(h=addValueToArray(h,l)),n&&h&&h.length?_createScaleObjectForFunction({domain:h,range:n,type:c,distance:o,attr:t,baseValue:l,accessor:A,accessor0:p}):_createScaleObjectForValue(t,a,e[t+"Type"],A,p)):_createScaleObjectForValue(t,r,e[t+"Type"],A,p)}function _computeLeftDomainAdjustment(e){return e.length>1?(e[1]-e[0])/2:1===e.length?e[0]-.5:0}function _computeRightDomainAdjustment(e){return e.length>1?(e[e.length-1]-e[e.length-2])/2:1===e.length?e[0]-.5:0}function _computeScaleDistance(e,t,r,a){if(e.length>1){var n=Math.max(r,1);return Math.abs(a(e[n])-a(e[n-1]))}return 1===e.length?Math.abs(a(t[1])-a(t[0])):0}function _normalizeValues(e,t,r,a){return a===TIME_SCALE_TYPE&&1===t.length?[r(e[0])].concat(_toConsumableArray$3(t)):t}function _getScaleDistanceAndAdjustedDomain(e,t){var r=t.domain,a=t.type,n=t.accessor,i=t.accessor0,o=_normalizeValues(e,getUniquePropertyValues(e,n),i,a),l=_getSmallestDistanceIndex(o,t),s=[].concat(r);s[0]-=_computeLeftDomainAdjustment(o),s[r.length-1]+=_computeRightDomainAdjustment(o),a===LOG_SCALE_TYPE&&r[0]<=0&&(s[0]=Math.min(r[1]/10,1));var c=_computeScaleDistance(o,s,l,getScaleFnFromScaleObject(_extends$17({},t,{domain:s})));return{domain0:s[0],domainN:s[s.length-1],distance:c}}function _isScaleAdjustmentPossible(e,t){var r=t.attr,a=e._adjustBy,n=void 0===a?[]:a,i=e._adjustWhat;return(void 0===i?[]:i).length&&n.length&&-1!==n.indexOf(r)}function _adjustContinuousScale(e,t){var r=e._allData,a=e._adjustWhat,n=void 0===a?[]:a,i=t.domain.length,o=t.domain,l=o[0],s=o[i-1],c=t.distance;return r.forEach((function(e,r){if(-1!==n.indexOf(r)&&e&&e.length){var a=_getScaleDistanceAndAdjustedDomain(e,t),i=a.domain0,o=a.domainN,u=a.distance;l=Math.min(l,i),s=Math.max(s,o),c=Math.max(c,u)}})),t.domain=[l].concat(_toConsumableArray$3(o.slice(1,-1)),[s]),t.distance=c,t}function _adjustCategoricalScale(e){var t=getScaleFnFromScaleObject(e),r=e.domain,a=e.range;return r.length>1?e.distance=Math.abs(t(r[1])-t(r[0])):e.distance=Math.abs(a[1]-a[0]),e}function getScaleObjectFromProps(e,t){var r=_collectScaleObjectFromProps(e,t);if(!r)return null;if(!_isScaleAdjustmentPossible(e,r))return r;var a=r.type;return a===ORDINAL_SCALE_TYPE||a===CATEGORY_SCALE_TYPE?_adjustCategoricalScale(r):_adjustContinuousScale(e,r)}function getAttributeScale(e,t){return getScaleFnFromScaleObject(getScaleObjectFromProps(e,t))}function _getAttrValue(e,t){return t(e.data?e.data:e)}function _isDefined(e){return void 0!==e}function _padDomain(e,t){if(!e)return e;if(isNaN(parseFloat(e[0]))||isNaN(parseFloat(e[1])))return e;var r=_slicedToArray$2(e,2),a=r[0],n=r[1],i=.01*t*(n-a);return[a-i,n+i]}function getAttributeFunctor(e,t){var r=getScaleObjectFromProps(e,t);if(r){var a=getScaleFnFromScaleObject(r);return function(e){return a(_getAttrValue(e,r.accessor))}}return null}function getAttr0Functor(e,t){var r=getScaleObjectFromProps(e,t);if(r){var a=r.domain,n=r.baseValue,i=void 0===n?a[0]:n,o=getScaleFnFromScaleObject(r);return function(e){var t=_getAttrValue(e,r.accessor0);return o(_isDefined(t)?t:i)}}return null}function getAttributeValue(e,t){var r=getScaleObjectFromProps(e,t);return r?(r.isValue||void 0!==e["_"+t+"Value"]||warning$1("[React-vis] Cannot use data defined "+t+" for this series type. Using fallback value instead."),e["_"+t+"Value"]||r.range[0]):null}function getScalePropTypesByAttribute(e){var t;return _defineProperty$h(t={},"_"+e+"Value",propTypesExports.any),_defineProperty$h(t,e+"Domain",propTypesExports.array),_defineProperty$h(t,"get"+toTitleCase(e),propTypesExports.func),_defineProperty$h(t,"get"+toTitleCase(e)+"0",propTypesExports.func),_defineProperty$h(t,e+"Range",propTypesExports.array),_defineProperty$h(t,e+"Type",propTypesExports.oneOf(Object.keys(SCALE_FUNCTIONS))),_defineProperty$h(t,e+"Distance",propTypesExports.number),_defineProperty$h(t,e+"BaseValue",propTypesExports.any),t}function extractScalePropsFromProps(e,t){var r={};return Object.keys(e).forEach((function(a){var n=t.find((function(e){var t=0===a.indexOf(e),r=0===a.indexOf("_"+e),n=0===a.indexOf("get"+toTitleCase(e));return t||r||n}));n&&(r[a]=e[a])})),r}function getMissingScaleProps(e,t,r){var a={};return r.forEach((function(r){e["get"+toTitleCase(r)]||(a["get"+toTitleCase(r)]=function(e){return e[r]}),e["get"+toTitleCase(r)+"0"]||(a["get"+toTitleCase(r)+"0"]=function(e){return e[r+"0"]}),e[r+"Domain"]||(a[r+"Domain"]=getDomainByAccessor(t,e["get"+toTitleCase(r)]||a["get"+toTitleCase(r)],e["get"+toTitleCase(r)+"0"]||a["get"+toTitleCase(r)+"0"],e[r+"Type"]),e[r+"Padding"]&&(a[r+"Domain"]=_padDomain(a[r+"Domain"],e[r+"Padding"])))})),a}function literalScale(e){function t(t){return void 0===t?e:t}function r(){return t}return t.domain=r,t.range=r,t.unknown=r,t.copy=r,t}function getFontColorFromBackground(e){return e?hsl(e).l>.57?"#222":"#fff":null}function getXYPlotValues(e,t){var r=XYPLOT_ATTR.reduce((function(t,r){var a=e[r+"Domain"],n=e[r+"Range"],i=e[r+"Type"];return a&&n&&i?_extends$17({},t,_defineProperty$h({},r,SCALE_FUNCTIONS[i]().domain(a).range(n))):t}),{});return t.map((function(e){return XYPLOT_ATTR.reduce((function(t,a){if(e.props&&void 0!==e.props[a]){var n=e.props[a],i=r[a],o=i?i(n):n;return _extends$17({},t,_defineProperty$h({},"_"+a+"Value",o))}return t}),{})}))}var OPTIONAL_SCALE_PROPS=["Padding"],OPTIONAL_SCALE_PROPS_REGS=OPTIONAL_SCALE_PROPS.map((function(e){return new RegExp(e+"$","i")}));function getOptionalScaleProps(e){return Object.keys(e).reduce((function(t,r){return OPTIONAL_SCALE_PROPS_REGS.every((function(e){return!r.match(e)}))||(t[r]=e[r]),t}),{})}var _createClass$P=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:[];return!!e&&e.some((function(e){return e.radius&&e.angle}))}function prepareData(e){return seriesHasAngleRadius(e)?e.map((function(e){return _extends$15({},e,{x:e.radius*Math.cos(e.angle),y:e.radius*Math.sin(e.angle)})})):e}function getStackedData(e,t){var r=e.some((function(e){return e&&e.props.stack})),a={};return e.reduce((function(e,n,i){if(!n)return e.push(null),e;var o=n.type.displayName,l=n.props,s=l.data,c=l.cluster,u=void 0===c?"default":c,f=l.stack,A=prepareData(s);if(!t||!A||!A.length||r&&!f)return e.push(A),e;var d=t+"0",p="y"===t?"x":"y";return e.push(A.map((function(e,r){var n,i;a[u]||(a[u]={}),a[u][o]||(a[u][o]={});var l,s=a[u][o][e[p]];if(!s)return a[u][o][e[p]]=(_defineProperty$g(l={},d,e[d]),_defineProperty$g(l,t,e[t]),l),_extends$15({},e);var c=_extends$15({},e,(_defineProperty$g(n={},d,s[t]),_defineProperty$g(n,t,s[t]+e[t]-(e[d]||0)),n));return a[u][o][e[p]]=(_defineProperty$g(i={},d,c[d]),_defineProperty$g(i,t,c[t]),i),c}))),e}),[])}function getSeriesPropsFromChildren(e){var t=[],r=collectSeriesTypesInfo(e),a=0,n=DEFAULT_OPACITY;return e.forEach((function(e){var i=void 0;if(isSeriesChild(e)){var o=r[e.type.displayName],l=DISCRETE_COLOR_RANGE[a%DISCRETE_COLOR_RANGE.length];i=_extends$15({},o,{seriesIndex:a,_colorValue:l,_opacityValue:n}),o.sameTypeIndex++,a++,e.props.cluster&&(i.cluster=e.props.cluster,i.clusters=Array.from(o.clusters),i.sameTypeTotal=i.clusters.length,i.sameTypeIndex=i.clusters.indexOf(e.props.cluster))}t.push(i)})),t}var ANIMATED_SERIES_PROPS=["xRange","xDomain","x","yRange","yDomain","y","colorRange","colorDomain","color","opacityRange","opacityDomain","opacity","strokeRange","strokeDomain","stroke","fillRange","fillDomain","fill","width","height","marginLeft","marginTop","marginRight","marginBottom","data","angleDomain","angleRange","angle","radiusDomain","radiusRange","radius","innerRadiusDomain","innerRadiusRange","innerRadius"];function getStackParams(e){var t=e._stackBy,r=e.valuePosAttr,a=e.cluster,n=e.sameTypeTotal,i=void 0===n?1:n,o=e.sameTypeIndex,l=void 0===o?0:o;return t!==r||a||(i=1,l=0),{sameTypeTotal:i,sameTypeIndex:l}}var pi$2=Math.PI,tau$2=2*pi$2,epsilon$1=1e-6,tauEpsilon=tau$2-epsilon$1;function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function path(){return new Path}function constant$2(e){return function(){return e}}Path.prototype=path.prototype={constructor:Path,moveTo:function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},quadraticCurveTo:function(e,t,r,a){this._+="Q"+ +e+","+ +t+","+(this._x1=+r)+","+(this._y1=+a)},bezierCurveTo:function(e,t,r,a,n,i){this._+="C"+ +e+","+ +t+","+ +r+","+ +a+","+(this._x1=+n)+","+(this._y1=+i)},arcTo:function(e,t,r,a,n){e=+e,t=+t,r=+r,a=+a,n=+n;var i=this._x1,o=this._y1,l=r-e,s=a-t,c=i-e,u=o-t,f=c*c+u*u;if(n<0)throw new Error("negative radius: "+n);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(f>epsilon$1)if(Math.abs(u*l-s*c)>epsilon$1&&n){var A=r-i,d=a-o,p=l*l+s*s,h=A*A+d*d,b=Math.sqrt(p),g=Math.sqrt(f),m=n*Math.tan((pi$2-Math.acos((p+f-h)/(2*b*g)))/2),v=m/g,y=m/b;Math.abs(v-1)>epsilon$1&&(this._+="L"+(e+v*c)+","+(t+v*u)),this._+="A"+n+","+n+",0,0,"+ +(u*A>c*d)+","+(this._x1=e+y*l)+","+(this._y1=t+y*s)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,r,a,n,i){e=+e,t=+t;var o=(r=+r)*Math.cos(a),l=r*Math.sin(a),s=e+o,c=t+l,u=1^i,f=i?a-n:n-a;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+s+","+c:(Math.abs(this._x1-s)>epsilon$1||Math.abs(this._y1-c)>epsilon$1)&&(this._+="L"+s+","+c),r&&(f<0&&(f=f%tau$2+tau$2),f>tauEpsilon?this._+="A"+r+","+r+",0,1,"+u+","+(e-o)+","+(t-l)+"A"+r+","+r+",0,1,"+u+","+(this._x1=s)+","+(this._y1=c):f>epsilon$1&&(this._+="A"+r+","+r+",0,"+ +(f>=pi$2)+","+u+","+(this._x1=e+r*Math.cos(n))+","+(this._y1=t+r*Math.sin(n))))},rect:function(e,t,r,a){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +r+"v"+ +a+"h"+-r+"Z"},toString:function(){return this._}};var abs$2=Math.abs,atan2=Math.atan2,cos=Math.cos,max$1=Math.max,min=Math.min,sin=Math.sin,sqrt$1=Math.sqrt,epsilon=1e-12,pi$1=Math.PI,halfPi=pi$1/2,tau$1=2*pi$1;function acos(e){return e>1?0:e<-1?pi$1:Math.acos(e)}function asin(e){return e>=1?halfPi:e<=-1?-halfPi:Math.asin(e)}function arcInnerRadius(e){return e.innerRadius}function arcOuterRadius(e){return e.outerRadius}function arcStartAngle(e){return e.startAngle}function arcEndAngle(e){return e.endAngle}function arcPadAngle(e){return e&&e.padAngle}function intersect(e,t,r,a,n,i,o,l){var s=r-e,c=a-t,u=o-n,f=l-i,A=f*s-u*c;if(!(A*AS*S+I*I&&(E=C,_=$),{cx:E,cy:_,x01:-u,y01:-f,x11:E*(n/w-1),y11:_*(n/w-1)}}function arcBuilder(){var e=arcInnerRadius,t=arcOuterRadius,r=constant$2(0),a=null,n=arcStartAngle,i=arcEndAngle,o=arcPadAngle,l=null;function s(){var s,c,u=+e.apply(this,arguments),f=+t.apply(this,arguments),A=n.apply(this,arguments)-halfPi,d=i.apply(this,arguments)-halfPi,p=abs$2(d-A),h=d>A;if(l||(l=s=path()),fepsilon)if(p>tau$1-epsilon)l.moveTo(f*cos(A),f*sin(A)),l.arc(0,0,f,A,d,!h),u>epsilon&&(l.moveTo(u*cos(d),u*sin(d)),l.arc(0,0,u,d,A,h));else{var b,g,m=A,v=d,y=A,w=d,k=p,x=p,E=o.apply(this,arguments)/2,_=E>epsilon&&(a?+a.apply(this,arguments):sqrt$1(u*u+f*f)),C=min(abs$2(f-u)/2,+r.apply(this,arguments)),$=C,T=C;if(_>epsilon){var O=asin(_/u*sin(E)),S=asin(_/f*sin(E));(k-=2*O)>epsilon?(y+=O*=h?1:-1,w-=O):(k=0,y=w=(A+d)/2),(x-=2*S)>epsilon?(m+=S*=h?1:-1,v-=S):(x=0,m=v=(A+d)/2)}var I=f*cos(m),M=f*sin(m),B=u*cos(w),R=u*sin(w);if(C>epsilon){var P,L=f*cos(v),D=f*sin(v),z=u*cos(y),F=u*sin(y);if(pepsilon?T>epsilon?(b=cornerTangents(z,F,I,M,f,T,h),g=cornerTangents(L,D,B,R,f,T,h),l.moveTo(b.cx+b.x01,b.cy+b.y01),Tepsilon&&k>epsilon?$>epsilon?(b=cornerTangents(B,R,L,D,u,-$,h),g=cornerTangents(I,M,z,F,u,-$,h),l.lineTo(b.cx+b.x01,b.cy+b.y01),$=u;--f)l.point(b[f],g[f]);l.lineEnd(),l.areaEnd()}h&&(b[c]=+e(A,c,s),g[c]=+r(A,c,s),l.point(t?+t(A,c,s):b[c],a?+a(A,c,s):g[c]))}if(d)return l=null,d+""||null}function c(){return line().defined(n).curve(o).context(i)}return s.x=function(r){return arguments.length?(e="function"==typeof r?r:constant$2(+r),t=null,s):e},s.x0=function(t){return arguments.length?(e="function"==typeof t?t:constant$2(+t),s):e},s.x1=function(e){return arguments.length?(t=null==e?null:"function"==typeof e?e:constant$2(+e),s):t},s.y=function(e){return arguments.length?(r="function"==typeof e?e:constant$2(+e),a=null,s):r},s.y0=function(e){return arguments.length?(r="function"==typeof e?e:constant$2(+e),s):r},s.y1=function(e){return arguments.length?(a=null==e?null:"function"==typeof e?e:constant$2(+e),s):a},s.lineX0=s.lineY0=function(){return c().x(e).y(r)},s.lineY1=function(){return c().x(e).y(a)},s.lineX1=function(){return c().x(t).y(r)},s.defined=function(e){return arguments.length?(n="function"==typeof e?e:constant$2(!!e),s):n},s.curve=function(e){return arguments.length?(o=e,null!=i&&(l=o(i)),s):o},s.context=function(e){return arguments.length?(null==e?i=l=null:l=o(i=e),s):i},s}function descending$1(e,t){return te?1:t>=e?0:NaN}function identity$2(e){return e}function pieBuilder(){var e=identity$2,t=descending$1,r=null,a=constant$2(0),n=constant$2(tau$1),i=constant$2(0);function o(o){var l,s,c,u,f,A=o.length,d=0,p=new Array(A),h=new Array(A),b=+a.apply(this,arguments),g=Math.min(tau$1,Math.max(-tau$1,n.apply(this,arguments)-b)),m=Math.min(Math.abs(g)/A,i.apply(this,arguments)),v=m*(g<0?-1:1);for(l=0;l0&&(d+=f);for(null!=t?p.sort((function(e,r){return t(h[e],h[r])})):null!=r&&p.sort((function(e,t){return r(o[e],o[t])})),l=0,c=d?(g-A*v)/d:0;l0?f*c:0)+v,h[s]={data:o[s],index:l,value:f,startAngle:b,endAngle:u,padAngle:m};return h}return o.value=function(t){return arguments.length?(e="function"==typeof t?t:constant$2(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,r=null,o):t},o.sort=function(e){return arguments.length?(r=e,t=null,o):r},o.startAngle=function(e){return arguments.length?(a="function"==typeof e?e:constant$2(+e),o):a},o.endAngle=function(e){return arguments.length?(n="function"==typeof e?e:constant$2(+e),o):n},o.padAngle=function(e){return arguments.length?(i="function"==typeof e?e:constant$2(+e),o):i},o}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var curveRadialLinear=curveRadial$1(curveLinear);function Radial(e){this._curve=e}function curveRadial$1(e){function t(t){return new Radial(e(t))}return t._curve=e,t}function lineRadial(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(curveRadial$1(e)):t()._curve},e}function lineRadial$1(){return lineRadial(line().curve(curveRadialLinear))}function areaRadial(){var e=area$1().curve(curveRadialLinear),t=e.curve,r=e.lineX0,a=e.lineX1,n=e.lineY0,i=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return lineRadial(r())},delete e.lineX0,e.lineEndAngle=function(){return lineRadial(a())},delete e.lineX1,e.lineInnerRadius=function(){return lineRadial(n())},delete e.lineY0,e.lineOuterRadius=function(){return lineRadial(i())},delete e.lineY1,e.curve=function(e){return arguments.length?t(curveRadial$1(e)):t()._curve},e}function pointRadial(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};var slice$2=Array.prototype.slice;function linkSource(e){return e.source}function linkTarget(e){return e.target}function link(e){var t=linkSource,r=linkTarget,a=x,n=y,i=null;function o(){var o,l=slice$2.call(arguments),s=t.apply(this,l),c=r.apply(this,l);if(i||(i=o=path()),e(i,+a.apply(this,(l[0]=s,l)),+n.apply(this,l),+a.apply(this,(l[0]=c,l)),+n.apply(this,l)),o)return i=null,o+""||null}return o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(e){return arguments.length?(r=e,o):r},o.x=function(e){return arguments.length?(a="function"==typeof e?e:constant$2(+e),o):a},o.y=function(e){return arguments.length?(n="function"==typeof e?e:constant$2(+e),o):n},o.context=function(e){return arguments.length?(i=null==e?null:e,o):i},o}function curveHorizontal(e,t,r,a,n){e.moveTo(t,r),e.bezierCurveTo(t=(t+a)/2,r,t,n,a,n)}function curveVertical(e,t,r,a,n){e.moveTo(t,r),e.bezierCurveTo(t,r=(r+n)/2,a,r,a,n)}function curveRadial(e,t,r,a,n){var i=pointRadial(t,r),o=pointRadial(t,r=(r+n)/2),l=pointRadial(a,r),s=pointRadial(a,n);e.moveTo(i[0],i[1]),e.bezierCurveTo(o[0],o[1],l[0],l[1],s[0],s[1])}function linkHorizontal(){return link(curveHorizontal)}function linkVertical(){return link(curveVertical)}function linkRadial(){var e=link(curveRadial);return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e}const circle$1={draw:function(e,t){var r=Math.sqrt(t/pi$1);e.moveTo(r,0),e.arc(0,0,r,0,tau$1)}},cross={draw:function(e,t){var r=Math.sqrt(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var tan30=Math.sqrt(1/3),tan30_2=2*tan30;const diamond={draw:function(e,t){var r=Math.sqrt(t/tan30_2),a=r*tan30;e.moveTo(0,-r),e.lineTo(a,0),e.lineTo(0,r),e.lineTo(-a,0),e.closePath()}};var ka=.8908130915292852,kr=Math.sin(pi$1/10)/Math.sin(7*pi$1/10),kx=Math.sin(tau$1/10)*kr,ky=-Math.cos(tau$1/10)*kr;const star={draw:function(e,t){var r=Math.sqrt(t*ka),a=kx*r,n=ky*r;e.moveTo(0,-r),e.lineTo(a,n);for(var i=1;i<5;++i){var o=tau$1*i/5,l=Math.cos(o),s=Math.sin(o);e.lineTo(s*r,-l*r),e.lineTo(l*a-s*n,s*a+l*n)}e.closePath()}},square={draw:function(e,t){var r=Math.sqrt(t),a=-r/2;e.rect(a,a,r,r)}};var sqrt3=Math.sqrt(3);const triangle={draw:function(e,t){var r=-Math.sqrt(t/(3*sqrt3));e.moveTo(0,2*r),e.lineTo(-sqrt3*r,-r),e.lineTo(sqrt3*r,-r),e.closePath()}};var c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=3*(k/2+1);const wye={draw:function(e,t){var r=Math.sqrt(t/a),n=r/2,i=r*k,o=n,l=r*k+r,u=-o,f=l;e.moveTo(n,i),e.lineTo(o,l),e.lineTo(u,f),e.lineTo(c*n-s*i,s*n+c*i),e.lineTo(c*o-s*l,s*o+c*l),e.lineTo(c*u-s*f,s*u+c*f),e.lineTo(c*n+s*i,c*i-s*n),e.lineTo(c*o+s*l,c*l-s*o),e.lineTo(c*u+s*f,c*f-s*u),e.closePath()}};var symbols=[circle$1,cross,diamond,square,star,triangle,wye];function symbol(){var e=constant$2(circle$1),t=constant$2(64),r=null;function a(){var a;if(r||(r=a=path()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),a)return r=null,a+""||null}return a.type=function(t){return arguments.length?(e="function"==typeof t?t:constant$2(t),a):e},a.size=function(e){return arguments.length?(t="function"==typeof e?e:constant$2(+e),a):t},a.context=function(e){return arguments.length?(r=null==e?null:e,a):r},a}function noop$3(){}function point$3(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function Basis(e){this._context=e}function basis(e){return new Basis(e)}function BasisClosed(e){this._context=e}function basisClosed(e){return new BasisClosed(e)}function BasisOpen(e){this._context=e}function basisOpen(e){return new BasisOpen(e)}function Bundle(e,t){this._basis=new Basis(e),this._beta=t}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point$3(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point$3(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},BasisClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:point$3(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,a=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,a):this._context.moveTo(r,a);break;case 3:this._point=4;default:point$3(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,r=e.length-1;if(r>0)for(var a,n=e[0],i=t[0],o=e[r]-n,l=t[r]-i,s=-1;++s<=r;)a=s/r,this._basis.point(this._beta*e[s]+(1-this._beta)*(n+a*o),this._beta*t[s]+(1-this._beta)*(i+a*l));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const bundle=function e(t){function r(e){return 1===t?new Basis(e):new Bundle(e,t)}return r.beta=function(t){return e(+t)},r}(.85);function point$2(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function Cardinal(e,t){this._context=e,this._k=(1-t)/6}Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$2(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:point$2(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const cardinal=function e(t){function r(e){return new Cardinal(e,t)}return r.tension=function(t){return e(+t)},r}(0);function CardinalClosed(e,t){this._context=e,this._k=(1-t)/6}CardinalClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:point$2(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const cardinalClosed=function e(t){function r(e){return new CardinalClosed(e,t)}return r.tension=function(t){return e(+t)},r}(0);function CardinalOpen(e,t){this._context=e,this._k=(1-t)/6}CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const cardinalOpen=function e(t){function r(e){return new CardinalOpen(e,t)}return r.tension=function(t){return e(+t)},r}(0);function point$1(e,t,r){var a=e._x1,n=e._y1,i=e._x2,o=e._y2;if(e._l01_a>epsilon){var l=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,s=3*e._l01_a*(e._l01_a+e._l12_a);a=(a*l-e._x0*e._l12_2a+e._x2*e._l01_2a)/s,n=(n*l-e._y0*e._l12_2a+e._y2*e._l01_2a)/s}if(e._l23_a>epsilon){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);i=(i*c+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*c+e._y1*e._l23_2a-r*e._l12_2a)/u}e._context.bezierCurveTo(a,n,i,o,e._x2,e._y2)}function CatmullRom(e,t){this._context=e,this._alpha=t}CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,a=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:point$1(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const catmullRom=function e(t){function r(e){return t?new CatmullRom(e,t):new Cardinal(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function CatmullRomClosed(e,t){this._context=e,this._alpha=t}CatmullRomClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,a=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:point$1(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const catmullRomClosed=function e(t){function r(e){return t?new CatmullRomClosed(e,t):new CardinalClosed(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function CatmullRomOpen(e,t){this._context=e,this._alpha=t}CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,a=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+a*a,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const catmullRomOpen=function e(t){function r(e){return t?new CatmullRomOpen(e,t):new CardinalOpen(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function LinearClosed(e){this._context=e}function linearClosed(e){return new LinearClosed(e)}function sign(e){return e<0?-1:1}function slope3(e,t,r){var a=e._x1-e._x0,n=t-e._x1,i=(e._y1-e._y0)/(a||n<0&&-0),o=(r-e._y1)/(n||a<0&&-0),l=(i*n+o*a)/(a+n);return(sign(i)+sign(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(l))||0}function slope2(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function point(e,t,r){var a=e._x0,n=e._y0,i=e._x1,o=e._y1,l=(i-a)/3;e._context.bezierCurveTo(a+l,n+l*t,i-l,o-l*r,i,o)}function MonotoneX(e){this._context=e}function MonotoneY(e){this._context=new ReflectContext(e)}function ReflectContext(e){this._context=e}function monotoneX(e){return new MonotoneX(e)}function monotoneY(e){return new MonotoneY(e)}function Natural(e){this._context=e}function controlPoints(e){var t,r,a=e.length-1,n=new Array(a),i=new Array(a),o=new Array(a);for(n[0]=0,i[0]=2,o[0]=e[0]+2*e[1],t=1;t=0;--t)n[t]=(o[t]-n[t+1])/i[t];for(i[a-1]=(e[a]+n[a-1])/2,t=0;t1)for(var r,a,n,i=1,o=e[t[0]],l=o.length;i=0;)r[t]=t;return r}function stackValue(e,t){return e[t]}function stack(){var e=constant$2([]),t=none,r=none$1,a=stackValue;function n(n){var i,o,l=e.apply(this,arguments),s=n.length,c=l.length,u=new Array(c);for(i=0;i0){for(var r,a,n,i=0,o=e[0].length;i1)for(var r,a,n,i,o,l,s=0,c=e[t[0]].length;s=0?(a[0]=i,a[1]=i+=n):n<0?(a[1]=o,a[0]=o+=n):a[0]=i}function silhouette(e,t){if((r=e.length)>0){for(var r,a=0,n=e[t[0]],i=n.length;a0&&(a=(r=e[t[0]]).length)>0){for(var r,a,n,i=0,o=1;oi&&(i=t,a=r);return a}function ascending$1(e){var t=e.map(sum);return none(e).sort((function(e,r){return t[e]-t[r]}))}function sum(e){for(var t,r=0,a=-1,n=e.length;++a=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}}this._x=e,this._y=t}};const d3Shape=Object.freeze(Object.defineProperty({__proto__:null,arc:arcBuilder,area:area$1,areaRadial:areaRadial,curveBasis:basis,curveBasisClosed:basisClosed,curveBasisOpen:basisOpen,curveBundle:bundle,curveCardinal:cardinal,curveCardinalClosed:cardinalClosed,curveCardinalOpen:cardinalOpen,curveCatmullRom:catmullRom,curveCatmullRomClosed:catmullRomClosed,curveCatmullRomOpen:catmullRomOpen,curveLinear:curveLinear,curveLinearClosed:linearClosed,curveMonotoneX:monotoneX,curveMonotoneY:monotoneY,curveNatural:natural,curveStep:step,curveStepAfter:stepAfter,curveStepBefore:stepBefore,line:line,lineRadial:lineRadial$1,linkHorizontal:linkHorizontal,linkRadial:linkRadial,linkVertical:linkVertical,pie:pieBuilder,pointRadial:pointRadial,radialArea:areaRadial,radialLine:lineRadial$1,stack:stack,stackOffsetDiverging:diverging,stackOffsetExpand:expand,stackOffsetNone:none$1,stackOffsetSilhouette:silhouette,stackOffsetWiggle:wiggle,stackOrderAppearance:appearance,stackOrderAscending:ascending$1,stackOrderDescending:descending,stackOrderInsideOut:insideOut,stackOrderNone:none,stackOrderReverse:reverse,symbol:symbol,symbolCircle:circle$1,symbolCross:cross,symbolDiamond:diamond,symbolSquare:square,symbolStar:star,symbolTriangle:triangle,symbolWye:wye,symbols:symbols},Symbol.toStringTag,{value:"Module"}));var _createClass$O=function(){function e(e,t){for(var r=0;r300?10:5:20}function getTickValues(e,t,r){return r||(e.ticks?e.ticks(t):e.domain())}function generateFit(e,t){if(e.x===t.x)return{left:e.y,right:t.y,slope:0,offset:e.x};var r=(e.y-t.y)/(e.x-t.x);return{left:e.x,right:t.x,slope:r,offset:e.y-r*e.x}}function generatePoints(e){var t=e.axisStart,r=e.axisEnd,a=e.numberOfTicks,n=e.axisDomain,i=generateFit(t,r),o=i.left,l=i.right,s=i.slope,c=i.offset,u=(l-o)/a,f=linear().domain([o,l]).range(n),A=t.x===r.x;return{slope:A?1/0:s,points:range(o,l+u,u).map((function(e){return A?{y:e,x:s*e+c,text:f(e)}:{x:e,y:s*e+c,text:f(e)}})).slice(0,a+1)}}function getAxisAngle(e,t){return e.x===t.x?t.y>e.y?Math.PI/2:3*Math.PI/2:Math.atan((t.y-e.y)/(t.x-e.x))}var _extends$12=Object.assign||function(e){for(var t=1;tu[1])?e:e.concat([React$k.createElement("circle",_extends$12({cx:0,cy:0,r:a},{key:r,className:"rv-xy-plot__circular-grid-lines__line",style:f}))])}),[]))}}]),t}(reactExports.PureComponent);CircularGridLines.displayName="CircularGridLines",CircularGridLines.propTypes={centerX:propTypesExports.number,centerY:propTypesExports.number,width:propTypesExports.number,height:propTypesExports.number,top:propTypesExports.number,left:propTypesExports.number,rRange:propTypesExports.arrayOf(propTypesExports.number),style:propTypesExports.object,tickValues:propTypesExports.arrayOf(propTypesExports.number),tickTotal:propTypesExports.number,animation:AnimationPropType,marginTop:propTypesExports.number,marginBottom:propTypesExports.number,marginLeft:propTypesExports.number,marginRight:propTypesExports.number,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number},CircularGridLines.defaultProps={centerX:0,centerY:0},CircularGridLines.requiresSVG=!0;var array=Array.prototype,slice$1=array.slice;function ascending(e,t){return e-t}function area(e){for(var t=0,r=e.length,a=e[r-1][1]*e[0][0]-e[r-1][0]*e[0][1];++ta!=d>a&&r<(A-c)*(a-u)/(d-u)+c&&(n=-n)}return n}function segmentContains(e,t,r){var a;return collinear(e,t,r)&&within(e[a=+(e[0]===t[0])],r[a],t[a])}function collinear(e,t,r){return(t[0]-e[0])*(r[1]-e[1])==(r[0]-e[0])*(t[1]-e[1])}function within(e,t,r){return e<=t&&t<=r||r<=t&&t<=e}function noop$2(){}var cases=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function contours(){var e=1,t=1,r=thresholdSturges,a=l;function n(e){var t=r(e);if(Array.isArray(t))t=t.slice().sort(ascending);else{var a=extent(e),n=a[0],o=a[1];t=tickStep(n,o,t),t=range(Math.floor(n/t)*t,Math.floor(o/t)*t,t)}return t.map((function(t){return i(e,t)}))}function i(r,n){var i=[],l=[];return function(r,a,n){var i,l,s,c,u,f,A=new Array,d=new Array;i=l=-1,c=r[0]>=a,cases[c<<1].forEach(p);for(;++i=a,cases[s|c<<1].forEach(p);cases[c<<0].forEach(p);for(;++l=a,u=r[l*e]>=a,cases[c<<1|u<<2].forEach(p);++i=a,f=u,u=r[l*e+i+1]>=a,cases[s|c<<1|u<<2|f<<3].forEach(p);cases[c|u<<3].forEach(p)}i=-1,u=r[l*e]>=a,cases[u<<2].forEach(p);for(;++i=a,cases[u<<2|f<<3].forEach(p);function p(e){var t,r,a=[e[0][0]+i,e[0][1]+l],s=[e[1][0]+i,e[1][1]+l],c=o(a),u=o(s);(t=d[c])?(r=A[u])?(delete d[t.end],delete A[r.start],t===r?(t.ring.push(s),n(t.ring)):A[t.start]=d[r.end]={start:t.start,end:r.end,ring:t.ring.concat(r.ring)}):(delete d[t.end],t.ring.push(s),d[t.end=u]=t):(t=A[u])?(r=d[c])?(delete A[t.start],delete d[r.end],t===r?(t.ring.push(s),n(t.ring)):A[r.start]=d[t.end]={start:r.start,end:t.end,ring:r.ring.concat(t.ring)}):(delete A[t.start],t.ring.unshift(a),A[t.start=c]=t):A[c]=d[u]={start:c,end:u,ring:[a,s]}}cases[u<<3].forEach(p)}(r,n,(function(e){a(e,r,n),area(e)>0?i.push([e]):l.push(e)})),l.forEach((function(e){for(var t,r=0,a=i.length;r0&&o0&&l0&&i>0))throw new Error("invalid size");return e=a,t=i,n},n.thresholds=function(e){return arguments.length?(r="function"==typeof e?e:Array.isArray(e)?constant$1(slice$1.call(e)):constant$1(e),n):r},n.smooth=function(e){return arguments.length?(a=e?l:noop$2,n):a===l},n}function blurX(e,t,r){for(var a=e.width,n=e.height,i=1+(r<<1),o=0;o=r&&(l>=i&&(s-=e.data[l-i+o*a]),t.data[l-r+o*a]=s/Math.min(l+1,a-1+i-l,i))}function blurY(e,t,r){for(var a=e.width,n=e.height,i=1+(r<<1),o=0;o=r&&(l>=i&&(s-=e.data[o+(l-i)*a]),t.data[o+(l-r)*a]=s/Math.min(l+1,n-1+i-l,i))}function defaultX(e){return e[0]}function defaultY(e){return e[1]}function defaultWeight(){return 1}function contourDensity(){var e=defaultX,t=defaultY,r=defaultWeight,a=960,n=500,i=20,o=2,l=3*i,s=a+2*l>>o,c=n+2*l>>o,u=constant$1(20);function f(a){var n=new Float32Array(s*c),f=new Float32Array(s*c);a.forEach((function(a,i,u){var f=+e(a,i,u)+l>>o,A=+t(a,i,u)+l>>o,d=+r(a,i,u);f>=0&&f=0&&A>o),blurY({width:s,height:c,data:f},{width:s,height:c,data:n},i>>o),blurX({width:s,height:c,data:n},{width:s,height:c,data:f},i>>o),blurY({width:s,height:c,data:f},{width:s,height:c,data:n},i>>o),blurX({width:s,height:c,data:n},{width:s,height:c,data:f},i>>o),blurY({width:s,height:c,data:f},{width:s,height:c,data:n},i>>o);var d=u(n);if(!Array.isArray(d)){var p=max$2(n);d=tickStep(0,p,d),(d=range(0,Math.floor(p/d)*d,d)).shift()}return contours().thresholds(d).size([s,c])(n).map(A)}function A(e){return e.value*=Math.pow(2,-2*o),e.coordinates.forEach(d),e}function d(e){e.forEach(p)}function p(e){e.forEach(h)}function h(e){e[0]=e[0]*Math.pow(2,o)-l,e[1]=e[1]*Math.pow(2,o)-l}function b(){return s=a+2*(l=3*i)>>o,c=n+2*l>>o,f}return f.x=function(t){return arguments.length?(e="function"==typeof t?t:constant$1(+t),f):e},f.y=function(e){return arguments.length?(t="function"==typeof e?e:constant$1(+e),f):t},f.weight=function(e){return arguments.length?(r="function"==typeof e?e:constant$1(+e),f):r},f.size=function(e){if(!arguments.length)return[a,n];var t=Math.ceil(e[0]),r=Math.ceil(e[1]);if(!(t>=0||t>=0))throw new Error("invalid size");return a=t,n=r,b()},f.cellSize=function(e){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(e)/Math.LN2),b()},f.thresholds=function(e){return arguments.length?(u="function"==typeof e?e:Array.isArray(e)?constant$1(slice$1.call(e)):constant$1(e),f):u},f.bandwidth=function(e){if(!arguments.length)return Math.sqrt(i*(i+1));if(!((e=+e)>=0))throw new Error("invalid bandwidth");return i=Math.round((Math.sqrt(4*e*e+1)-1)/2),b()},f}function adder(){return new Adder}function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){this.s=this.t=0},add:function(e){add(temp,e,this.t),add(this,temp.s,this.s),this.s?this.t+=temp.t:this.s=temp.t},valueOf:function(){return this.s}};var temp=new Adder;function add(e,t,r){var a=e.s=t+r,n=a-t,i=a-n;e.t=t-i+(r-n)}var pi=Math.PI,tau=2*pi,abs$1=Math.abs,sqrt=Math.sqrt;function noop$1(){}function streamGeometry(e,t){e&&streamGeometryType.hasOwnProperty(e.type)&&streamGeometryType[e.type](e,t)}var streamObjectType={Feature:function(e,t){streamGeometry(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,a=-1,n=r.length;++api?e+Math.round(-e/tau)*tau:e,t]}function identity$1(e){return e}adder(),adder(),adder(),rotationIdentity.invert=rotationIdentity,adder(),adder();var areaSum=adder(),areaRingSum=adder(),x00$2,y00$2,x0$3,y0$3,areaStream={point:noop$1,lineStart:noop$1,lineEnd:noop$1,polygonStart:function(){areaStream.lineStart=areaRingStart,areaStream.lineEnd=areaRingEnd},polygonEnd:function(){areaStream.lineStart=areaStream.lineEnd=areaStream.point=noop$1,areaSum.add(abs$1(areaRingSum)),areaRingSum.reset()},result:function(){var e=areaSum/2;return areaSum.reset(),e}};function areaRingStart(){areaStream.point=areaPointFirst}function areaPointFirst(e,t){areaStream.point=areaPoint,x00$2=x0$3=e,y00$2=y0$3=t}function areaPoint(e,t){areaRingSum.add(y0$3*e-x0$3*t),x0$3=e,y0$3=t}function areaRingEnd(){areaPoint(x00$2,y00$2)}var x0$2=1/0,y0$2=x0$2,x1=-x0$2,y1=x1,boundsStream={point:boundsPoint,lineStart:noop$1,lineEnd:noop$1,polygonStart:noop$1,polygonEnd:noop$1,result:function(){var e=[[x0$2,y0$2],[x1,y1]];return x1=y1=-(y0$2=x0$2=1/0),e}};function boundsPoint(e,t){ex1&&(x1=e),ty1&&(y1=t)}var X0=0,Y0=0,Z0=0,X1=0,Y1=0,Z1=0,X2=0,Y2=0,Z2=0,x00$1,y00$1,x0$1,y0$1,centroidStream={point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart,centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.point=centroidPoint,centroidStream.lineStart=centroidLineStart,centroidStream.lineEnd=centroidLineEnd},result:function(){var e=Z2?[X2/Z2,Y2/Z2]:Z1?[X1/Z1,Y1/Z1]:Z0?[X0/Z0,Y0/Z0]:[NaN,NaN];return X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0,e}};function centroidPoint(e,t){X0+=e,Y0+=t,++Z0}function centroidLineStart(){centroidStream.point=centroidPointFirstLine}function centroidPointFirstLine(e,t){centroidStream.point=centroidPointLine,centroidPoint(x0$1=e,y0$1=t)}function centroidPointLine(e,t){var r=e-x0$1,a=t-y0$1,n=sqrt(r*r+a*a);X1+=n*(x0$1+e)/2,Y1+=n*(y0$1+t)/2,Z1+=n,centroidPoint(x0$1=e,y0$1=t)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidPointFirstRing}function centroidRingEnd(){centroidPointRing(x00$1,y00$1)}function centroidPointFirstRing(e,t){centroidStream.point=centroidPointRing,centroidPoint(x00$1=x0$1=e,y00$1=y0$1=t)}function centroidPointRing(e,t){var r=e-x0$1,a=t-y0$1,n=sqrt(r*r+a*a);X1+=n*(x0$1+e)/2,Y1+=n*(y0$1+t)/2,Z1+=n,X2+=(n=y0$1*e-x0$1*t)*(x0$1+e),Y2+=n*(y0$1+t),Z2+=3*n,centroidPoint(x0$1=e,y0$1=t)}function PathContext(e){this._context=e}PathContext.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,tau)}},result:noop$1};var lengthSum=adder(),lengthRing,x00,y00,x0,y0,lengthStream={point:noop$1,lineStart:function(){lengthStream.point=lengthPointFirst},lineEnd:function(){lengthRing&&lengthPoint(x00,y00),lengthStream.point=noop$1},polygonStart:function(){lengthRing=!0},polygonEnd:function(){lengthRing=null},result:function(){var e=+lengthSum;return lengthSum.reset(),e}};function lengthPointFirst(e,t){lengthStream.point=lengthPoint,x00=x0=e,y00=y0=t}function lengthPoint(e,t){x0-=e,y0-=t,lengthSum.add(sqrt(x0*x0+y0*y0)),x0=e,y0=t}function PathString(){this._string=[]}function circle(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+-2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}function geoPath(e,t){var r,a,n=4.5;function i(e){return e&&("function"==typeof n&&a.pointRadius(+n.apply(this,arguments)),geoStream(e,r(a))),a.result()}return i.area=function(e){return geoStream(e,r(areaStream)),areaStream.result()},i.measure=function(e){return geoStream(e,r(lengthStream)),lengthStream.result()},i.bounds=function(e){return geoStream(e,r(boundsStream)),boundsStream.result()},i.centroid=function(e){return geoStream(e,r(centroidStream)),centroidStream.result()},i.projection=function(t){return arguments.length?(r=null==t?(e=null,identity$1):(e=t).stream,i):e},i.context=function(e){return arguments.length?(a=null==e?(t=null,new PathString):new PathContext(t=e),"function"!=typeof n&&a.pointRadius(n),i):t},i.pointRadius=function(e){return arguments.length?(n="function"==typeof e?e:(a.pointRadius(+e),+e),i):n},i.projection(e).context(t)}function TransformStream(){}function equirectangularRaw(e,t){return[e,t]}PathString.prototype={_radius:4.5,_circle:circle(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push("M",e,",",t),this._point=1;break;case 1:this._string.push("L",e,",",t);break;default:null==this._circle&&(this._circle=circle(this._radius)),this._string.push("M",e,",",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join("");return this._string=[],e}return null}},TransformStream.prototype={constructor:TransformStream,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},equirectangularRaw.invert=equirectangularRaw;var _extends$11=Object.assign||function(e){for(var t=1;to/2?"left":"right":f);return React$k.createElement("div",{className:"rv-crosshair "+r,style:{left:A+"px",top:d+"px"}},React$k.createElement("div",{className:"rv-crosshair__line",style:_extends$10({height:l+"px"},s.line)}),React$k.createElement("div",{className:p},t||React$k.createElement("div",{className:"rv-crosshair__inner__content",style:s.box},React$k.createElement("div",null,this._renderCrosshairTitle(),this._renderCrosshairItems()))))}}],[{key:"defaultProps",get:function(){return{titleFormat:defaultTitleFormat,itemsFormat:defaultItemsFormat,style:{line:{},title:{},box:{}}}}},{key:"propTypes",get:function(){return{className:propTypesExports.string,values:propTypesExports.arrayOf(propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string,propTypesExports.object])),series:propTypesExports.object,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number,marginLeft:propTypesExports.number,marginTop:propTypesExports.number,orientation:propTypesExports.oneOf(["left","right"]),itemsFormat:propTypesExports.func,titleFormat:propTypesExports.func,style:propTypesExports.shape({line:propTypesExports.object,title:propTypesExports.object,box:propTypesExports.object})}}}]),t}(reactExports.PureComponent);Crosshair.displayName="Crosshair";var _createClass$I=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:2,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DEFAULT_STYLE;switch(e){case"diamond":return React$k.createElement("polygon",{style:r,points:"0 0 "+t/2+" "+t/2+" 0 "+t+" "+-t/2+" "+t/2+" 0 0"});case"star":var a=[].concat(_toConsumableArray$2(new Array(5))).map((function(e,r){var a=r/5*Math.PI*2,n=a+Math.PI/10,i=a-Math.PI/10,o=t/2.61;return"\n "+Math.cos(i)*t+" "+Math.sin(i)*t+"\n "+Math.cos(n)*o+" "+Math.sin(n)*o+"\n "})).join(" ");return React$k.createElement("polygon",{points:a,x:"0",y:"0",height:t,width:t,style:r});case"square":return React$k.createElement("rect",{x:""+-t/2,y:""+-t/2,height:t,width:t,style:r});default:return React$k.createElement("circle",{cx:"0",cy:"0",r:t/2,style:r})}}function getInnerComponent(e){var t=e.customComponent,r=e.defaultType,a=e.positionInPixels;e.positionFunctions;var n=e.style,i=e.propsSize,o=t.size,l=_extends$$({},n,t.style||{}),s=t.customComponent;return s||"string"!=typeof r?s?"string"==typeof s?predefinedComponents(s||r,o,l):s(t,a,l):r(t,a,l):predefinedComponents(r,o||i,l)}var CustomSVGSeries=function(e){function t(){return _classCallCheck$I(this,t),_possibleConstructorReturn$I(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits$I(t,e),_createClass$I(t,[{key:"render",value:function(){var e=this,r=this.props,a=r.animation,n=r.className,i=r.customComponent,o=r.data,l=r.innerHeight,s=r.innerWidth,c=r.marginLeft,u=r.marginTop,f=r.style,A=r.size;if(!o||!s||!l)return null;if(a)return React$k.createElement(Animation,_extends$$({},this.props,{animatedProps:ANIMATED_SERIES_PROPS}),React$k.createElement(t,_extends$$({},this.props,{animation:!1})));var d=this._getAttributeFunctor("x"),p=this._getAttributeFunctor("y"),h=o.map((function(t,r){var a={x:d(t),y:p(t)},n=getInnerComponent({customComponent:t,positionInPixels:a,defaultType:i,positionFunctions:{x:d,y:p},style:f,propsSize:A});return React$k.createElement("g",{className:"rv-xy-plot__series--custom-svg",key:"rv-xy-plot__series--custom-svg-"+r,transform:"translate("+a.x+","+a.y+")",onMouseEnter:function(r){return e._valueMouseOverHandler(t,r)},onMouseLeave:function(r){return e._valueMouseOutHandler(t,r)}},n)}));return React$k.createElement("g",{className:predefinedClassName$c+" "+n,transform:"translate("+c+","+u+")"},h)}}]),t}(AbstractSeries);CustomSVGSeries.propTypes={animation:propTypesExports.bool,className:propTypesExports.string,customComponent:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func]),data:propTypesExports.arrayOf(propTypesExports.shape({x:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]).isRequired,y:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]).isRequired})).isRequired,marginLeft:propTypesExports.number,marginTop:propTypesExports.number,style:propTypesExports.object,size:propTypesExports.number,onValueMouseOver:propTypesExports.func,onValueMouseOut:propTypesExports.func},CustomSVGSeries.defaultProps=_extends$$({},AbstractSeries.defaultProps,{animation:!1,customComponent:"circle",style:{},size:2});var _extends$_=Object.assign||function(e){for(var t=1;t1){var h=u-d,b=d+(um*m+v*v&&(d=b+(1&A?1:-1)/2,A=g)}var y=d+"-"+A,w=n[y];w?w.push(c):(i.push(w=n[y]=[c]),w.x=(d+(1&A)/2)*t,w.y=A*r)}return i}function u(e){var t=0,r=0;return angles.map((function(a){var n=Math.sin(a)*e,i=-Math.cos(a)*e,o=n-t,l=i-r;return t=n,r=i,[o,l]}))}return c.hexagon=function(t){return"m"+u(null==t?e:+t).join("l")+"z"},c.centers=function(){for(var l=[],s=Math.round(n/r),c=Math.round(a/t),u=s*r;uc),d=o&&(tf);return a&&n?A||d:a?A:!n||d}},{key:"_convertAreaToCoordinates",value:function(e){var t=this.props,r=t.enableX,a=t.enableY,n=t.marginLeft,i=t.marginTop,o=getAttributeScale(this.props,"x"),l=getAttributeScale(this.props,"y");return r&&a?{bottom:l.invert(e.bottom),left:o.invert(e.left-n),right:o.invert(e.right-n),top:l.invert(e.top)}:a?{bottom:l.invert(e.bottom-i),top:l.invert(e.top-i)}:r?{left:o.invert(e.left-n),right:o.invert(e.right-n)}:{}}},{key:"startBrushing",value:function(e){var t=this,r=this.props,a=r.onBrushStart,n=r.onDragStart,i=r.drag,o=this.state.dragArea,l=getLocs(e.nativeEvent),s=l.xLoc,c=l.yLoc,u=function(e,r){var a={bottom:c,left:s,right:s,top:c};t.setState({dragging:e,brushArea:o&&!r?o:a,brushing:!e,startLocX:s,startLocY:c})},f=this._clickedOutsideDrag(s,c);if(i&&!o||!i||f)return u(!1,f),void(a&&a(e));i&&o&&(u(!0,f),n&&n(e))}},{key:"stopBrushing",value:function(e){var t=this.state,r=t.brushing,a=t.dragging,n=t.brushArea;if(r||a){var i=this.props,o=i.onBrushEnd,l=i.onDragEnd,s=i.drag,c=Math.abs(n.right-n.left)<5,u=Math.abs(n.top-n.bottom)<5||c;this.setState({brushing:!1,dragging:!1,brushArea:s?n:{top:0,right:0,bottom:0,left:0},startLocX:0,startLocY:0,dragArea:s&&!u&&n}),r&&o&&o(u?null:this._convertAreaToCoordinates(n)),s&&l&&l(u?null:this._convertAreaToCoordinates(n))}}},{key:"onBrush",value:function(e){var t=this.props,r=t.onBrush,a=t.onDrag,n=t.drag,i=this.state,o=i.brushing,l=i.dragging,s=getLocs(e.nativeEvent),c=s.xLoc,u=s.yLoc;if(o){var f=this._getDrawArea(c,u);this.setState({brushArea:f}),r&&r(this._convertAreaToCoordinates(f))}if(n&&l){var A=this._getDragArea(c,u);this.setState({brushArea:A}),a&&a(this._convertAreaToCoordinates(A))}}},{key:"render",value:function(){var e=this,t=this.props,r=t.color,a=t.className,n=t.highlightHeight,i=t.highlightWidth,o=t.highlightX,l=t.highlightY,s=t.innerWidth,c=t.innerHeight,u=t.marginLeft,f=t.marginRight,A=t.marginTop,d=t.marginBottom,p=t.opacity,h=this.state.brushArea,b=h.left,g=h.right,m=h.top,v=h.bottom,y=0;o&&(y=getAttributeScale(this.props,"x")(o));var w=0;l&&(w=getAttributeScale(this.props,"y")(l));var k=i||u+f+s,x=n||A+d+c;return React$k.createElement("g",{transform:"translate("+y+", "+w+")",className:a+" rv-highlight-container"},React$k.createElement("rect",{className:"rv-mouse-target",fill:"black",opacity:"0",x:"0",y:"0",width:Math.max(k,0),height:Math.max(x,0),onMouseDown:function(t){return e.startBrushing(t)},onMouseMove:function(t){return e.onBrush(t)},onMouseUp:function(t){return e.stopBrushing(t)},onMouseLeave:function(t){return e.stopBrushing(t)},onTouchEnd:function(t){t.preventDefault(),e.stopBrushing(t)},onTouchCancel:function(t){t.preventDefault(),e.stopBrushing(t)},onContextMenu:function(e){return e.preventDefault()},onContextMenuCapture:function(e){return e.preventDefault()}}),React$k.createElement("rect",{className:"rv-highlight",pointerEvents:"none",opacity:p,fill:r,x:b,y:m,width:Math.min(Math.max(0,g-b),k),height:Math.min(Math.max(0,v-m),x)}))}}]),t}(AbstractSeries);Highlight.displayName="HighlightOverlay",Highlight.defaultProps={color:"rgb(77, 182, 172)",className:"",enableX:!0,enableY:!0,opacity:.3},Highlight.propTypes=_extends$V({},AbstractSeries.propTypes,{enableX:propTypesExports.bool,enableY:propTypesExports.bool,highlightHeight:propTypesExports.number,highlightWidth:propTypesExports.number,highlightX:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),highlightY:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),onBrushStart:propTypesExports.func,onDragStart:propTypesExports.func,onBrush:propTypesExports.func,onDrag:propTypesExports.func,onBrushEnd:propTypesExports.func,onDragEnd:propTypesExports.func});var _extends$U=Object.assign||function(e){for(var t=1;ta/2?ALIGN.LEFT:ALIGN.RIGHT),s===ALIGN.AUTO&&(c.vertical=t>n/2?ALIGN.TOP:ALIGN.BOTTOM),c}},{key:"_getAlignClassNames",value:function(e){var t=this.props.orientation;return(t?"rv-hint--orientation-"+t:"")+" rv-hint--horizontalAlign-"+e.horizontal+"\n rv-hint--verticalAlign-"+e.vertical}},{key:"_getAlignStyle",value:function(e,t,r){return _extends$U({},this._getXCSS(e.horizontal,t),this._getYCSS(e.vertical,r))}},{key:"_getCSSBottom",value:function(e){if(null==e)return{bottom:0};var t=this.props,r=t.innerHeight;return{bottom:t.marginBottom+r-e}}},{key:"_getCSSLeft",value:function(e){return null==e?{left:0}:{left:this.props.marginLeft+e}}},{key:"_getCSSRight",value:function(e){if(null==e)return{right:0};var t=this.props,r=t.innerWidth;return{right:t.marginRight+r-e}}},{key:"_getCSSTop",value:function(e){return null==e?{top:0}:{top:this.props.marginTop+e}}},{key:"_getPositionInfo",value:function(){var e=this.props,t=e.value,r=e.getAlignStyle,a=getAttributeFunctor(this.props,"x")(t),n=getAttributeFunctor(this.props,"y")(t),i=this._getAlign(a,n);return{position:r?r(i,a,n):this._getAlignStyle(i,a,n),positionClassName:this._getAlignClassNames(i)}}},{key:"_getXCSS",value:function(e,t){switch(e){case ALIGN.LEFT_EDGE:return this._getCSSLeft(null);case ALIGN.RIGHT_EDGE:return this._getCSSRight(null);case ALIGN.LEFT:return this._getCSSRight(t);case ALIGN.RIGHT:default:return this._getCSSLeft(t)}}},{key:"_getYCSS",value:function(e,t){switch(e){case ALIGN.TOP_EDGE:return this._getCSSTop(null);case ALIGN.BOTTOM_EDGE:return this._getCSSBottom(null);case ALIGN.BOTTOM:return this._getCSSTop(t);case ALIGN.TOP:default:return this._getCSSBottom(t)}}},{key:"_mapOrientationToAlign",value:function(e){switch(e){case ORIENTATION.BOTTOM_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.BOTTOM};case ORIENTATION.BOTTOM_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.BOTTOM};case ORIENTATION.TOP_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.TOP};case ORIENTATION.TOP_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.TOP}}}},{key:"render",value:function(){var e=this.props,t=e.value,r=e.format,a=e.children,n=e.style,i=e.className,o=this._getPositionInfo(),l=o.position,s=o.positionClassName;return React$k.createElement("div",{className:"rv-hint "+s+" "+i,style:_extends$U({},n,l,{position:"absolute"})},a||React$k.createElement("div",{className:"rv-hint__content",style:n.content},r(t).map((function(e,t){return React$k.createElement("div",{key:"rv-hint"+t,style:n.row},React$k.createElement("span",{className:"rv-hint__title",style:n.title},e.title),": ",React$k.createElement("span",{className:"rv-hint__value",style:n.value},e.value))}))))}}],[{key:"defaultProps",get:function(){return{format:defaultFormat,align:{horizontal:ALIGN.AUTO,vertical:ALIGN.AUTO},style:{}}}},{key:"propTypes",get:function(){return{marginTop:propTypesExports.number,marginLeft:propTypesExports.number,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number,scales:propTypesExports.object,value:propTypesExports.object,format:propTypesExports.func,style:propTypesExports.object,className:propTypesExports.string,align:propTypesExports.shape({horizontal:propTypesExports.oneOf([ALIGN.AUTO,ALIGN.LEFT,ALIGN.RIGHT,ALIGN.LEFT_EDGE,ALIGN.RIGHT_EDGE]),vertical:propTypesExports.oneOf([ALIGN.AUTO,ALIGN.BOTTOM,ALIGN.TOP,ALIGN.BOTTOM_EDGE,ALIGN.TOP_EDGE])}),getAlignStyle:propTypesExports.func,orientation:propTypesExports.oneOf([ORIENTATION.BOTTOM_LEFT,ORIENTATION.BOTTOM_RIGHT,ORIENTATION.TOP_LEFT,ORIENTATION.TOP_RIGHT])}}}]),t}(reactExports.PureComponent);Hint.displayName="Hint",Hint.ORIENTATION=ORIENTATION,Hint.ALIGN=ALIGN;var _extends$T=Object.assign||function(e){for(var t=1;ty;if(!k&&!x)return null;var E=_extends$x({opacity:n?n(t):DEFAULT_OPACITY,stroke:o&&o(t),strokeWidth:l||DEFAULT_STROKE_WIDTH},s),_=a/2,C={x1:b+h,y1:g,x2:m,y2:g,style:E},$={x1:b-h,y1:g,x2:v,y2:g,style:E},T={x1:m,y1:g-_,x2:m,y2:g+_,style:E},O={x1:v,y1:g-_,x2:v,y2:g+_,style:E},S={x1:b,y1:g-h,x2:b,y2:y,style:E},I={x1:b,y1:g+h,x2:b,y2:w,style:E},M={x1:b-_,y1:y,x2:b+_,y2:y,style:E},B={x1:b-_,y1:w,x2:b+_,y2:w,style:E};return React$k.createElement("g",{className:"mark-whiskers",key:r,onClick:function(e){return c(t,e)},onContextMenu:function(e){return A(t,e)},onMouseOver:function(e){return f(t,e)},onMouseOut:function(e){return u(t,e)}},k?React$k.createElement("g",{className:"x-whiskers"},React$k.createElement("line",C),React$k.createElement("line",$),React$k.createElement("line",T),React$k.createElement("line",O)):null,x?React$k.createElement("g",{className:"y-whiskers"},React$k.createElement("line",S),React$k.createElement("line",I),React$k.createElement("line",M),React$k.createElement("line",B)):null)}},WhiskerSeries=function(e){function t(){return _classCallCheck$h(this,t),_possibleConstructorReturn$h(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits$h(t,e),_createClass$h(t,[{key:"render",value:function(){var e=this.props,r=e.animation,a=e.className,n=e.crossBarWidth,i=e.data,o=e.marginLeft,l=e.marginTop,s=e.strokeWidth,c=e.style;if(!i)return null;if(r)return React$k.createElement(Animation,_extends$x({},this.props,{animatedProps:ANIMATED_SERIES_PROPS}),React$k.createElement(t,_extends$x({},this.props,{animation:null})));var u={crossBarWidth:n,opacityFunctor:this._getAttributeFunctor("opacity"),sizeFunctor:this._getAttributeFunctor("size"),strokeFunctor:this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color"),strokeWidth:s,style:c,xFunctor:this._getAttributeFunctor("x"),yFunctor:this._getAttributeFunctor("y"),valueClickHandler:this._valueClickHandler,valueRightClickHandler:this._valueRightClickHandler,valueMouseOverHandler:this._valueMouseOverHandler,valueMouseOutHandler:this._valueMouseOutHandler};return React$k.createElement("g",{className:predefinedClassName$2+" "+a,transform:"translate("+o+","+l+")"},i.map(renderWhiskerMark(u)))}}]),t}(AbstractSeries);WhiskerSeries.displayName="WhiskerSeries",WhiskerSeries.propTypes=_extends$x({},AbstractSeries.propTypes,{strokeWidth:propTypesExports.number}),WhiskerSeries.defaultProps=_extends$x({},AbstractSeries.defaultProps,{crossBarWidth:DEFAULT_CROSS_BAR_WIDTH,size:0,strokeWidth:DEFAULT_STROKE_WIDTH});var deepEqualExports={},deepEqual$1={get exports(){return deepEqualExports},set exports(e){deepEqualExports=e}},keysExports={},keys={get exports(){return keysExports},set exports(e){keysExports=e}};!function(e,t){function r(e){var t=[];for(var r in e)t.push(r);return t}(e.exports="function"==typeof Object.keys?Object.keys:r).shim=r}(keys);var is_argumentsExports={},is_arguments={get exports(){return is_argumentsExports},set exports(e){is_argumentsExports=e}};!function(e,t){var r="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();function a(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function n(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,"callee")&&!Object.prototype.propertyIsEnumerable.call(e,"callee")||!1}(t=e.exports=r?a:n).supported=a,t.unsupported=n}(is_arguments,is_argumentsExports);var pSlice=Array.prototype.slice,objectKeys=keysExports,isArguments=is_argumentsExports,deepEqual=deepEqual$1.exports=function(e,t,r){return r||(r={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||"object"!=typeof e&&"object"!=typeof t?r.strict?e===t:e==t:objEquiv(e,t,r))};function isUndefinedOrNull(e){return null==e}function isBuffer(e){return!(!e||"object"!=typeof e||"number"!=typeof e.length)&&("function"==typeof e.copy&&"function"==typeof e.slice&&!(e.length>0&&"number"!=typeof e[0]))}function objEquiv(t,r,a){var n,i;if(isUndefinedOrNull(t)||isUndefinedOrNull(r))return!1;if(t.prototype!==r.prototype)return!1;if(isArguments(t))return!!isArguments(r)&&(t=pSlice.call(t),r=pSlice.call(r),deepEqual(t,r,a));if(isBuffer(t)){if(!isBuffer(r))return!1;if(t.length!==r.length)return!1;for(n=0;n=0;n--)if(o[n]!=l[n])return!1;for(n=o.length-1;n>=0;n--)if(i=o[n],!deepEqual(t[i],r[i],a))return!1;return typeof t==typeof r}var _extends$w=Object.assign||function(e){for(var t=1;tMAX_DRAWS&&clearInterval(i),n+=1):clearInterval(i)}),1)}function drawLayers(e,t,r,a,n){e.clearRect(0,0,r,t),a.forEach((function(t){var r=t.interpolator,a=t.newProps,i=t.animation?r?r(n/MAX_DRAWS):r:function(){return{}};t.renderLayer(_extends$v({},a,i),e)}))}function buildLayers(e,t){return e.map((function(e,r){var a=t[r]?t[r].props:{},n=e.props,i=interpolate(extractAnimatedPropValues(_extends$v({},a,{animatedProps:ANIMATED_SERIES_PROPS})),n?extractAnimatedPropValues(_extends$v({},n,{animatedProps:ANIMATED_SERIES_PROPS})):null);return{renderLayer:e.type.renderLayer,newProps:e.props,animation:e.props.animation,interpolator:i}}))}var CanvasWrapper=function(e){function t(){return _classCallCheck$g(this,t),_possibleConstructorReturn$g(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits$g(t,e),_createClass$g(t,[{key:"componentDidMount",value:function(){var e=this.canvas.getContext("2d");if(e){var t=this.props.pixelRatio;e&&(e.scale(t,t),this.drawChildren(null,this.props,e))}}},{key:"componentDidUpdate",value:function(e){this.drawChildren(e,this.props,this.canvas.getContext("2d"))}},{key:"drawChildren",value:function(e,t,r){var a=t.children,n=t.innerHeight,i=t.innerWidth,o=t.marginBottom,l=t.marginLeft,s=t.marginRight,c=t.marginTop;if(r){var u=a.find((function(e){return e.props.animation})),f=n+c+o,A=i+l+s,d=buildLayers(t.children,e?e.children:[]);u?engageDrawLoop(r,f,A,d):drawLayers(r,f,A,d)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.innerHeight,a=t.innerWidth,n=t.marginBottom,i=t.marginLeft,o=t.marginRight,l=t.marginTop,s=t.pixelRatio,c=r+l+n,u=a+i+o;return React$k.createElement("div",{style:{left:0,top:0},className:"rv-xy-canvas"},React$k.createElement("canvas",{className:"rv-xy-canvas-element",height:c*s,width:u*s,style:{height:c+"px",width:u+"px"},ref:function(t){return e.canvas=t}}),this.props.children)}}],[{key:"defaultProps",get:function(){return{pixelRatio:window&&window.devicePixelRatio||1}}}]),t}(reactExports.Component);CanvasWrapper.displayName="CanvasWrapper",CanvasWrapper.propTypes={marginBottom:propTypesExports.number.isRequired,marginLeft:propTypesExports.number.isRequired,marginRight:propTypesExports.number.isRequired,marginTop:propTypesExports.number.isRequired,innerHeight:propTypesExports.number.isRequired,innerWidth:propTypesExports.number.isRequired,pixelRatio:propTypesExports.number.isRequired};var _createClass$f=function(){function e(e,t){for(var r=0;r-1,v=m?VERTICAL_CLASS_NAME:HORIZONTAL_CLASS_NAME,y=c,w=b;if(f){var k=getAttributeScale(a,n);m?y=k(0):w=u+k(0)}return React$k.createElement("g",{transform:"translate("+y+","+w+")",className:predefinedClassName$1+" "+v+" "+i,style:p},!l&&React$k.createElement(AxisLine,{height:o,width:g,orientation:A,style:_extends$q({},p,p.line)}),!s&&React$k.createElement(AxisTicks,_extends$q({},a,{style:_extends$q({},p,p.ticks)})),h?React$k.createElement(AxisTitle,{position:d,title:h,height:o,width:g,style:_extends$q({},p,p.title),orientation:A}):null)}}]),t}(reactExports.PureComponent);Axis.displayName="Axis",Axis.propTypes=propTypes$3,Axis.defaultProps=defaultProps$3,Axis.requiresSVG=!0;var _extends$p=Object.assign||function(e){for(var t=1;tl.max)&&(c=!1),{x:i,y:o}})),f=predefinedClassName+"-line",A={animation:t,className:c?f:f+" "+predefinedClassName+"-line-unselected",key:i+"-polygon",data:u,color:e.color||a[i%a.length],style:_extends$k({},o.lines,e.style||{})};return c||(A.style=_extends$k({},A.style,o.deselectedLineStyle)),l?React$k.createElement(LineMarkSeries,A):React$k.createElement(LineSeries,A)}))}var ParallelCoordinates=function(e){function t(){var e,r,a;_classCallCheck$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=0;)t+=r[a].value;else t=1;e.value=t}function node_count(){return this.eachAfter(count)}function node_each(e){var t,r,a,n,i=this,o=[i];do{for(t=o.reverse(),o=[];i=t.pop();)if(e(i),r=i.children)for(a=0,n=r.length;a=0;--r)n.push(t[r]);return this}function node_eachAfter(e){for(var t,r,a,n=this,i=[n],o=[];n=i.pop();)if(o.push(n),t=n.children)for(r=0,a=t.length;r=0;)r+=a[n].value;t.value=r}))}function node_sort(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))}function node_path(e){for(var t=this,r=leastCommonAncestor(t,e),a=[t];t!==r;)t=t.parent,a.push(t);for(var n=a.length;e!==r;)a.splice(n,0,e),e=e.parent;return a}function leastCommonAncestor(e,t){if(e===t)return e;var r=e.ancestors(),a=t.ancestors(),n=null;for(e=r.pop(),t=a.pop();e===t;)n=e,e=r.pop(),t=a.pop();return n}function node_ancestors(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function node_descendants(){var e=[];return this.each((function(t){e.push(t)})),e}function node_leaves(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e}function node_links(){var e=this,t=[];return e.each((function(r){r!==e&&t.push({source:r.parent,target:r})})),t}function hierarchy(e,t){var r,a,n,i,o,l=new Node$1(e),s=+e.value&&(l.value=e.value),c=[l];for(null==t&&(t=defaultChildren);r=c.pop();)if(s&&(r.value=+r.data.value),(n=t(r.data))&&(o=n.length))for(r.children=new Array(o),i=o-1;i>=0;--i)c.push(a=r.children[i]=new Node$1(n[i])),a.parent=r,a.depth=r.depth+1;return l.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function defaultChildren(e){return e.children}function copyData(e){e.data=e.data.data}function computeHeight(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function Node$1(e){this.data=e,this.depth=this.height=0,this.parent=null}ParallelCoordinates.displayName="ParallelCoordinates",ParallelCoordinates.propTypes={animation:AnimationPropType,brushing:propTypesExports.bool,className:propTypesExports.string,colorType:propTypesExports.string,colorRange:propTypesExports.arrayOf(propTypesExports.string),data:propTypesExports.arrayOf(propTypesExports.object).isRequired,domains:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string.isRequired,domain:propTypesExports.arrayOf(propTypesExports.number).isRequired,tickFormat:propTypesExports.func})).isRequired,height:propTypesExports.number.isRequired,margin:MarginPropType,style:propTypesExports.shape({axes:propTypesExports.object,labels:propTypesExports.object,lines:propTypesExports.object}),showMarks:propTypesExports.bool,tickFormat:propTypesExports.func,width:propTypesExports.number.isRequired},ParallelCoordinates.defaultProps={className:"",colorType:"category",colorRange:DISCRETE_COLOR_RANGE,style:{axes:{line:{},ticks:{},text:{}},labels:{fontSize:10,textAnchor:"middle"},lines:{strokeWidth:1,strokeOpacity:1},deselectedLineStyle:{strokeOpacity:.1}},tickFormat:DEFAULT_FORMAT},format$1(".2r"),propTypesExports.string,propTypesExports.string,propTypesExports.arrayOf(propTypesExports.string),propTypesExports.arrayOf(propTypesExports.object).isRequired,propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string.isRequired,domain:propTypesExports.arrayOf(propTypesExports.number).isRequired,tickFormat:propTypesExports.func})).isRequired,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.number,propTypesExports.shape({axes:propTypesExports.object,labels:propTypesExports.object,polygons:propTypesExports.object}),propTypesExports.func,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.string,propTypesExports.string,propTypesExports.arrayOf(propTypesExports.shape({angle:propTypesExports.number,className:propTypesExports.string,label:propTypesExports.string,radius:propTypesExports.number,style:propTypesExports.object})).isRequired,propTypesExports.func,propTypesExports.func,propTypesExports.oneOfType([propTypesExports.func,propTypesExports.number]),propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.object,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.bool,propTypesExports.object,propTypesExports.func,propTypesExports.number.isRequired,DISCRETE_COLOR_RANGE[1],propTypesExports.oneOf(["justify","left","right","center"]),propTypesExports.string,propTypesExports.bool,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.number,propTypesExports.number,propTypesExports.arrayOf(propTypesExports.shape({source:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.object]).isRequired,target:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.object]).isRequired})).isRequired,propTypesExports.number,propTypesExports.arrayOf(propTypesExports.object).isRequired,propTypesExports.number,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.shape({links:propTypesExports.object,rects:propTypesExports.object,labels:propTypesExports.object}),propTypesExports.number.isRequired,Node$1.prototype=hierarchy.prototype={constructor:Node$1,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy};var slice=Array.prototype.slice;function shuffle(e){for(var t,r,a=e.length;a;)r=Math.random()*a--|0,t=e[a],e[a]=e[r],e[r]=t;return e}function enclose(e){for(var t,r,a=0,n=(e=shuffle(slice.call(e))).length,i=[];a0&&r*r>a*a+n*n}function enclosesWeakAll(e,t){for(var r=0;r(o*=o)?(a=(c+o-n)/(2*c),i=Math.sqrt(Math.max(0,o/c-a*a)),r.x=e.x-a*l-i*s,r.y=e.y-a*s+i*l):(a=(c+n-o)/(2*c),i=Math.sqrt(Math.max(0,n/c-a*a)),r.x=t.x+a*l-i*s,r.y=t.y+a*s+i*l)):(r.x=t.x+r.r,r.y=t.y)}function intersects(e,t){var r=e.r+t.r-1e-6,a=t.x-e.x,n=t.y-e.y;return r>0&&r*r>a*a+n*n}function score(e){var t=e._,r=e.next._,a=t.r+r.r,n=(t.x*r.r+r.x*t.r)/a,i=(t.y*r.r+r.y*t.r)/a;return n*n+i*i}function Node(e){this._=e,this.next=null,this.previous=null}function packEnclose(e){if(!(n=e.length))return 0;var t,r,a,n,i,o,l,s,c,u,f;if((t=e[0]).x=0,t.y=0,!(n>1))return t.r;if(r=e[1],t.x=-r.r,r.x=t.r,r.y=0,!(n>2))return t.r+r.r;place(r,t,a=e[2]),t=new Node(t),r=new Node(r),a=new Node(a),t.next=a.previous=r,r.next=t.previous=a,a.next=r.previous=t;e:for(l=3;lA&&(A=l),b=u*u*h,(d=Math.max(A/b,b/f))>p){u-=l;break}p=d}g.push(o={value:u,dice:s1?t:1)},r}(phi);function treemap(){var e=treemapSquarify,t=!1,r=1,a=1,n=[0],i=constantZero,o=constantZero,l=constantZero,s=constantZero,c=constantZero;function u(e){return e.x0=e.y0=0,e.x1=r,e.y1=a,e.eachBefore(f),n=[0],t&&e.eachBefore(roundNode),e}function f(t){var r=n[t.depth],a=t.x0+r,u=t.y0+r,f=t.x1-r,A=t.y1-r;f=r-1){var u=l[t];return u.x0=n,u.y0=i,u.x1=o,void(u.y1=s)}var f=c[t],A=a/2+f,d=t+1,p=r-1;for(;d>>1;c[h]s-i){var m=(n*g+o*b)/a;e(t,d,b,n,i,m,s),e(d,r,g,m,i,o,s)}else{var v=(i*g+s*b)/a;e(t,d,b,n,i,o,v),e(d,r,g,n,v,o,s)}}(0,s,e.value,t,r,a,n)}function treemapSliceDice(e,t,r,a,n){(1&e.depth?treemapSlice:treemapDice)(e,t,r,a,n)}const treemapResquarify=function e(t){function r(e,r,a,n,i){if((o=e._squarify)&&o.ratio===t)for(var o,l,s,c,u,f=-1,A=o.length,d=e.value;++f1?t:1)},r}(phi);propTypesExports.func,propTypesExports.func,propTypesExports.string,propTypesExports.string,propTypesExports.object.isRequired,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.number.isRequired,propTypesExports.oneOfType([propTypesExports.func,propTypesExports.number]);var _extends$j=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}function _classCallCheck$9(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$9(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$9(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var CONTAINER_REF="container",resizeSubscribers=[],DEBOUNCE_DURATION=100,timeoutId=null;function debounceEmitResize(){window_1.clearTimeout(timeoutId),timeoutId=window_1.setTimeout(emitResize,DEBOUNCE_DURATION)}function emitResize(){resizeSubscribers.forEach((function(e){return e()}))}function subscribeToDebouncedResize(e){return resizeSubscribers.push(e),1===resizeSubscribers.length&&window_1.addEventListener("resize",debounceEmitResize),function(){removeSubscriber(e),0===resizeSubscribers.length&&(window_1.clearTimeout(timeoutId),window_1.removeEventListener("resize",debounceEmitResize))}}function removeSubscriber(e){var t=resizeSubscribers.indexOf(e);t>-1&&resizeSubscribers.splice(t,1)}function getDisplayName(e){return e.displayName||e.name||"Component"}function makeFlexible(e,t,r){var a=function(a){function n(e){_classCallCheck$9(this,n);var t=_possibleConstructorReturn$9(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t._onResize=function(){var e=getDOMNode(t[CONTAINER_REF]),r=e.offsetHeight,a=e.offsetWidth,n=t.state.height===r?{}:{height:r},i=t.state.width===a?{}:{width:a};t.setState(_extends$f({},n,i))},t.state={height:0,width:0},t}return _inherits$9(n,a),_createClass$9(n,null,[{key:"propTypes",get:function(){var t=e.propTypes;return t.height,t.width,_objectWithoutProperties$2(t,["height","width"])}}]),_createClass$9(n,[{key:"componentDidMount",value:function(){this._onResize(),this.cancelSubscription=subscribeToDebouncedResize(this._onResize)}},{key:"componentWillReceiveProps",value:function(){this._onResize()}},{key:"componentWillUnmount",value:function(){this.cancelSubscription()}},{key:"render",value:function(){var a=this,n=this.state,i=n.height,o=n.width,l=_extends$f({},this.props,{animation:0===i&&0===o?null:this.props.animation}),s=_extends$f({},r?{height:i}:{},t?{width:o}:{});return React$k.createElement("div",{ref:function(e){return a[CONTAINER_REF]=e},style:{width:"100%",height:"100%"}},React$k.createElement(e,_extends$f({},s,l)))}}]),n}(React$k.Component);return a.displayName="Flexible"+getDisplayName(e),a}function makeHeightFlexible(e){return makeFlexible(e,!1,!0)}function makeVisFlexible(e){return makeFlexible(e,!0,!0)}function makeWidthFlexible(e){return makeFlexible(e,!0,!1)}makeWidthFlexible(XYPlot),makeHeightFlexible(XYPlot),makeVisFlexible(XYPlot);var hasOwnProperty$1=Object.prototype.hasOwnProperty;function is(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function shallowEqual(e,t){if(is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var n=0;n{function e(){l.current&&c(o(l.current))}return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]),jsxRuntimeExports.jsx("div",{className:"TraceResultsScatterPlot",ref:l,children:s&&jsxRuntimeExports.jsxs(XYPlot,{margin:{left:50},width:s,colorType:"literal",height:200,children:[jsxRuntimeExports.jsx(XAxis,{title:"Time",tickTotal:4,tickFormat:e=>hooks$1(e/ONE_MILLISECOND).format("hh:mm:ss a")}),jsxRuntimeExports.jsx(YAxis,{title:"Duration",tickTotal:3,tickFormat:e=>formatDuration(e)}),jsxRuntimeExports.jsx(MarkSeries,{sizeRange:[3,10],opacity:.5,onValueClick:r,onValueMouseOver:n,onValueMouseOut:i,data:t}),a&&jsxRuntimeExports.jsx(Hint,{value:a,children:jsxRuntimeExports.jsx("h4",{className:"scatter-plot-hint",children:a.name||FALLBACK_TRACE_NAME})})]})})}const valueShape=propTypesExports.shape({x:propTypesExports.number,y:propTypesExports.number,traceID:propTypesExports.string,size:propTypesExports.number,name:propTypesExports.string});ScatterPlotImpl.propTypes={data:propTypesExports.arrayOf(valueShape).isRequired,overValue:valueShape,onValueClick:propTypesExports.func.isRequired,onValueOut:propTypesExports.func.isRequired,onValueOver:propTypesExports.func.isRequired,calculateContainerWidth:propTypesExports.func},ScatterPlotImpl.defaultProps={overValue:null,calculateContainerWidth:e=>e.clientWidth};const ScatterPlot=compose(withState("overValue","setOverValue",null),withProps((({setOverValue:e})=>({onValueOver:t=>e(t),onValueOut:()=>e(null)}))))(ScatterPlotImpl);var object_hashExports={},object_hash={get exports(){return object_hashExports},set exports(e){object_hashExports=e}};!function(e,t){e.exports=function e(t,r,a){function n(o,l){if(!r[o]){if(!t[o]){var s="function"==typeof commonjsRequire&&commonjsRequire;if(!l&&s)return s(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}l=r[o]={exports:{}},t[o][0].call(l.exports,(function(e){return n(t[o][1][e]||e)}),l,l.exports,e,t,r,a)}return r[o].exports}for(var i="function"==typeof commonjsRequire&&commonjsRequire,o=0;o>16),s((65280&a)>>8),s(255&a);return 2==n?s(255&(a=c(e.charAt(r))<<2|c(e.charAt(r+1))>>4)):1==n&&(s((a=c(e.charAt(r))<<10|c(e.charAt(r+1))<<4|c(e.charAt(r+2))>>2)>>8&255),s(255&a)),i},e.fromByteArray=function(e){var t,r,a,n,i=e.length%3,o="";function l(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,a=e.length-i;t>18&63)+l(n>>12&63)+l(n>>6&63)+l(63&n);switch(i){case 1:o=(o+=l((r=e[e.length-1])>>2))+l(r<<4&63)+"==";break;case 2:o=(o=(o+=l((r=(e[e.length-2]<<8)+e[e.length-1])>>10))+l(r>>4&63))+l(r<<2&63)+"="}return o}}(void 0===r?this.base64js={}:r)}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(e,t,r){(function(t,a,n,i,o,l,s,c,u){var f=e("base64-js"),A=e("ieee754");function n(e,t,r){if(!(this instanceof n))return new n(e,t,r);var a,i,o,l,s=typeof e;if("base64"===t&&"string"==s)for(e=(l=e).trim?l.trim():l.replace(/^\s+|\s+$/g,"");e.length%4!=0;)e+="=";if("number"==s)a=S(e);else if("string"==s)a=n.byteLength(e,t);else{if("object"!=s)throw new Error("First argument needs to be a number, array or string.");a=S(e.length)}if(n._useTypedArrays?i=n._augment(new Uint8Array(a)):((i=this).length=a,i._isBuffer=!0),n._useTypedArrays&&"number"==typeof e.byteLength)i._set(e);else if(I(l=e)||n.isBuffer(l)||l&&"object"==typeof l&&"number"==typeof l.length)for(o=0;o>8,r%=256,a.push(r),a.push(t);return a}(t),e,r,a)}function h(e,t,r){var a="";r=Math.min(e.length,r);for(var n=t;n>>0)):(t+1>>0),n}function m(e,t,r,a){if(a||(N("boolean"==typeof r,"missing or invalid endian"),N(null!=t,"missing offset"),N(t+1>>8*(a?i:1-i)}function x(e,t,r,a,n){if(n||(N(null!=t,"missing value"),N("boolean"==typeof a,"missing or invalid endian"),N(null!=r,"missing offset"),N(r+3>>8*(a?i:3-i)&255}function E(e,t,r,a,n){n||(N(null!=t,"missing value"),N("boolean"==typeof a,"missing or invalid endian"),N(null!=r,"missing offset"),N(r+1this.length&&(a=this.length);var i=(a=e.length-t=this.length))return this[e]},n.prototype.readUInt16LE=function(e,t){return b(this,e,!0,t)},n.prototype.readUInt16BE=function(e,t){return b(this,e,!1,t)},n.prototype.readUInt32LE=function(e,t){return g(this,e,!0,t)},n.prototype.readUInt32BE=function(e,t){return g(this,e,!1,t)},n.prototype.readInt8=function(e,t){if(t||(N(null!=e,"missing offset"),N(e=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},n.prototype.readInt16LE=function(e,t){return m(this,e,!0,t)},n.prototype.readInt16BE=function(e,t){return m(this,e,!1,t)},n.prototype.readInt32LE=function(e,t){return v(this,e,!0,t)},n.prototype.readInt32BE=function(e,t){return v(this,e,!1,t)},n.prototype.readFloatLE=function(e,t){return y(this,e,!0,t)},n.prototype.readFloatBE=function(e,t){return y(this,e,!1,t)},n.prototype.readDoubleLE=function(e,t){return w(this,e,!0,t)},n.prototype.readDoubleBE=function(e,t){return w(this,e,!1,t)},n.prototype.writeUInt8=function(e,t,r){r||(N(null!=e,"missing value"),N(null!=t,"missing offset"),N(t=this.length||(this[t]=e)},n.prototype.writeUInt16LE=function(e,t,r){k(this,e,t,!0,r)},n.prototype.writeUInt16BE=function(e,t,r){k(this,e,t,!1,r)},n.prototype.writeUInt32LE=function(e,t,r){x(this,e,t,!0,r)},n.prototype.writeUInt32BE=function(e,t,r){x(this,e,t,!1,r)},n.prototype.writeInt8=function(e,t,r){r||(N(null!=e,"missing value"),N(null!=t,"missing offset"),N(t=this.length||(0<=e?this.writeUInt8(e,t,r):this.writeUInt8(255+e+1,t,r))},n.prototype.writeInt16LE=function(e,t,r){E(this,e,t,!0,r)},n.prototype.writeInt16BE=function(e,t,r){E(this,e,t,!1,r)},n.prototype.writeInt32LE=function(e,t,r){_(this,e,t,!0,r)},n.prototype.writeInt32BE=function(e,t,r){_(this,e,t,!1,r)},n.prototype.writeFloatLE=function(e,t,r){C(this,e,t,!0,r)},n.prototype.writeFloatBE=function(e,t,r){C(this,e,t,!1,r)},n.prototype.writeDoubleLE=function(e,t,r){$(this,e,t,!0,r)},n.prototype.writeDoubleBE=function(e,t,r){$(this,e,t,!1,r)},n.prototype.fill=function(e,t,r){if(t=t||0,r=r||this.length,N("number"==typeof(e="string"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),"value is not a number"),N(t<=r,"end < start"),r!==t&&0!==this.length){N(0<=t&&t"},n.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(n._useTypedArrays)return new n(this).buffer;for(var e=new Uint8Array(this.length),t=0,r=e.length;t=t.length||n>=e.length);n++)t[n+r]=e[n];return n}function L(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function D(e,t){N("number"==typeof e,"cannot write a non-number as a number"),N(0<=e,"specified a negative value for writing an unsigned value"),N(e<=t,"value is larger than maximum value for type"),N(Math.floor(e)===e,"value has a fractional component")}function z(e,t,r){N("number"==typeof e,"cannot write a non-number as a number"),N(e<=t,"value larger than maximum allowed value"),N(r<=e,"value smaller than minimum allowed value"),N(Math.floor(e)===e,"value has a fractional component")}function F(e,t,r){N("number"==typeof e,"cannot write a non-number as a number"),N(e<=t,"value larger than maximum allowed value"),N(r<=e,"value smaller than minimum allowed value")}function N(e,t){if(!e)throw new Error(t||"Failed assertion")}n._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=T.get,e.set=T.set,e.write=T.write,e.toString=T.toString,e.toLocaleString=T.toString,e.toJSON=T.toJSON,e.copy=T.copy,e.slice=T.slice,e.readUInt8=T.readUInt8,e.readUInt16LE=T.readUInt16LE,e.readUInt16BE=T.readUInt16BE,e.readUInt32LE=T.readUInt32LE,e.readUInt32BE=T.readUInt32BE,e.readInt8=T.readInt8,e.readInt16LE=T.readInt16LE,e.readInt16BE=T.readInt16BE,e.readInt32LE=T.readInt32LE,e.readInt32BE=T.readInt32BE,e.readFloatLE=T.readFloatLE,e.readFloatBE=T.readFloatBE,e.readDoubleLE=T.readDoubleLE,e.readDoubleBE=T.readDoubleBE,e.writeUInt8=T.writeUInt8,e.writeUInt16LE=T.writeUInt16LE,e.writeUInt16BE=T.writeUInt16BE,e.writeUInt32LE=T.writeUInt32LE,e.writeUInt32BE=T.writeUInt32BE,e.writeInt8=T.writeInt8,e.writeInt16LE=T.writeInt16LE,e.writeInt16BE=T.writeInt16BE,e.writeInt32LE=T.writeInt32LE,e.writeInt32BE=T.writeInt32BE,e.writeFloatLE=T.writeFloatLE,e.writeFloatBE=T.writeFloatBE,e.writeDoubleLE=T.writeDoubleLE,e.writeDoubleBE=T.writeDoubleBE,e.fill=T.fill,e.inspect=T.inspect,e.toArrayBuffer=T.toArrayBuffer,e}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(e,t,r){(function(r,a,n,i,o,l,s,c,u){n=e("buffer").Buffer;var f=4,A=new n(f);A.fill(0),t.exports={hash:function(e,t,r,a){for(var i=t(function(e,t){e.length%f!=0&&(r=e.length+(f-e.length%f),e=n.concat([e,A],r));for(var r,a=[],i=t?e.readInt32BE:e.readInt32LE,o=0;oh?t=e(t):t.length>5]|=128<>>9<<4)]=t;for(var r=1732584193,a=-271733879,n=-1732584194,i=271733878,o=0;o>>32-n,r)}function p(e,t,r,a,n,i,o){return d(t&r|~t&a,e,t,n,i,o)}function h(e,t,r,a,n,i,o){return d(t&a|r&~a,e,t,n,i,o)}function b(e,t,r,a,n,i,o){return d(t^r^a,e,t,n,i,o)}function g(e,t,r,a,n,i,o){return d(r^(t|~a),e,t,n,i,o)}function m(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}t.exports=function(e){return f.hash(e,A,16)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(e,t,r){(function(e,r,a,n,i,o,l,s,c){t.exports=function(e){for(var t,r=new Array(e),a=0;a>>((3&a)<<3)&255;return r}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(e,t,r){(function(r,a,n,i,o,l,s,c,u){var f=e("./helpers");function A(e,t){e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var r,a,n,i=Array(80),o=1732584193,l=-271733879,s=-1732584194,c=271733878,u=-1009589776,f=0;f>16)+(t>>16)+(r>>16)<<16|65535&r}function p(e,t){return e<>>32-t}t.exports=function(e){return f.hash(e,A,20,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(e,t,r){(function(r,a,n,i,o,l,s,c,u){function f(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function A(e,t){var r,a=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),n=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),i=new Array(64);e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var o,l,s=0;s>>t|e<<32-t},h=function(e,t){return e>>>t};t.exports=function(e){return d.hash(e,A,32,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(e,t,r){(function(e,t,a,n,i,o,l,s,c){r.read=function(e,t,r,a,n){var i,o,l=8*n-a-1,s=(1<>1,u=-7,f=r?n-1:0,A=r?-1:1;for(n=e[t+f],f+=A,i=n&(1<<-u)-1,n>>=-u,u+=l;0>=-u,u+=a;0>1,f=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,A=a?0:i-1,d=a?1:-1;for(i=t<0||0===t&&1/t<0?1:0,t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-o))<1&&(o--,a*=2),2<=(t+=1<=o+u?f/a:f*Math.pow(2,1-u))*a&&(o++,a/=2),c<=o+u?(l=0,o=c):1<=o+u?(l=(t*a-1)*Math.pow(2,n),o+=u):(l=t*Math.pow(2,u-1)*Math.pow(2,n),o=0));8<=n;e[r+A]=255&l,A+=d,l/=256,n-=8);for(o=o<`${e}\v${t}`;function group(e){const t={};return e.forEach((({key:e,value:r})=>{t[e]||(t[e]=[]),t[e].push(r)})),t}function transformDdgData({dependencies:e},{service:t,operation:r}){const a=new Map,n=new Map,i=new Map,o=[],l=e.sort((({path:e},{path:t})=>{let r=i.get(e);r||(r=e.map(stringifyEntry).join(),i.set(e,r));let a=i.get(t);return a||(a=t.map(stringifyEntry).join(),i.set(t,a)),r>a?1:r{o.push(i.get(e)||e.map(stringifyEntry).join());const{exemplar_trace_id:s}=group(l),c={focalIdx:-1,members:[],traceIDs:s};if(c.members=e.map((({operation:e,service:n},i)=>{let o=a.get(n);o||(o={name:n,operations:new Map},a.set(n,o));let l=o.operations.get(e);l||(l={name:e,service:o,pathElems:[]},o.operations.set(e,l)),-1!==c.focalIdx||n!==t||null!=r&&e!==r||(c.focalIdx=i);const s=new PathElem({path:c,operation:l,memberIdx:i});return l.pathElems.push(s),s})),-1===c.focalIdx)throw new Error("A payload path lacked the focalNode");return c.members.forEach((e=>{const t=n.get(e.distance);t?t.push(e):n.set(e.distance,[e])})),c}));let s,c,u=0,f=1;const A=[];function d(e){e.visibilityIdx=A.length,A.push(e)}do{s=n.get(u--),c=n.get(f++),s&&s.forEach(d),c&&c.forEach(d)}while(s||c);return{paths:l,hash:objectHash(o).slice(0,16),distanceToPathElems:n,services:a,visIdxToPathElem:A}}const transformDdgData$1=memoizeOne$1(transformDdgData);class TreeNode{static iterFunction(e,t=0){return r=>e(r.value,r,t)}static searchFunction(e){return"function"==typeof e?e:(t,r)=>e instanceof TreeNode?r===e:t===e}constructor(e,t=[]){this.value=e,this.children=t}get depth(){return this.children.reduce(((e,t)=>Math.max(t.depth+1,e)),1)}get size(){let e=0;return this.walk((()=>e++)),e}addChild(e){return this.children.push(e instanceof TreeNode?e:new TreeNode(e)),this}find(e){if(TreeNode.iterFunction(TreeNode.searchFunction(e))(this))return this;for(let t=0;t{const n=a.concat([e]);if(t(e))return n;for(let t=0;t=0;)r.push({node:t.children[i],depth:a}),i--}}paths(e){const t=[];t.push({node:this,childIndex:0});for(;t.length;){const{node:r,childIndex:a}=t[t.length-1];if(r.children.length>=a+1)t[t.length-1].childIndex++,t.push({node:r.children[a],childIndex:0});else{if(0===r.children.length){e(t.map((e=>e.node.value)))}t.pop()}}return[]}}const TREE_ROOT_ID="__root__";function getTraceSpanIdsAsTree(e){const t=new Map(e.spans.map((e=>[e.spanID,new TreeNode(e.spanID)]))),r=new Map(e.spans.map((e=>[e.spanID,e]))),a=new TreeNode(TREE_ROOT_ID);e.spans.forEach((e=>{const r=t.get(e.spanID);if(Array.isArray(e.references)&&e.references.length){const{refType:n,spanID:i}=e.references[0];if("CHILD_OF"!==n&&"FOLLOWS_FROM"!==n)throw new Error(`Unrecognized ref type: ${n}`);(t.get(i)||a).children.push(r)}else a.children.push(r)}));const n=(e,t)=>{const a=r.get(e.value),n=r.get(t.value);return+(a.startTime>n.startTime)||+(a.startTime===n.startTime)-1};return e.spans.forEach((e=>{const r=t.get(e.spanID);r.children.length>1&&r.children.sort(n)})),a.children.sort(n),a}const isKindServer=e=>e.tags.find((({key:e,value:t})=>"span.kind"===e&&"server"===t));function transformTracesToPaths(e,t,r){const a=new Map;Object.values(e).forEach((({data:e})=>{if(e){const n=new Map,{traceID:i}=e;e.spans.forEach((e=>n.set(e.spanID,e)));getTraceSpanIdsAsTree(e).paths((o=>{const l=o.reduce(((e,t)=>{if(t===TREE_ROOT_ID)return e;const r=n.get(t);if(!r)throw new Error(`Ancestor spanID ${t} not found in trace ${i}`);return(0===e.length||e[e.length-1].processID!==r.processID||isKindServer(r))&&e.push(r),e}),[]),s=l.map((({processID:t,operationName:r})=>({service:e.processes[t].serviceName,operation:r})));if(s.some((({service:e,operation:a})=>e===t&&(!r||a===r)))){const e=s.map((e=>`${e.operation}:${e.service}`)).join("/"),t=a.get(e);t?t.attributes.push({key:"exemplar_trace_id",value:i}):a.set(e,{path:s,attributes:[{key:"exemplar_trace_id",value:i}]})}}))}}));return{dependencies:Array.from(a.values())}}const transformTracesToPaths$1=memoizeOne$1(transformTracesToPaths),svcOp=memoizeOne$1(((e,t)=>({service:e,operation:t})));function mapStateToProps$7(e,t){const r=getUrlState$2(t.location.search),{density:a,operation:n,service:i,showOp:o}=r,l=void 0!==o?o:void 0!==n;let s,c;if(i){const t=transformTracesToPaths$1(e.trace.traces,i,n);s={model:transformDdgData$1(t,svcOp(i,n)),state:fetchedState.DONE,viewModifiers:new Map},c=makeGraph(s.model,l,a)}return{graph:c,graphState:s,showOp:l,urlState:sanitizeUrlState(r,get_1$1(s,"model.hash")),...extractUiFindFromState(e)}}class TracesDdgImpl extends reactExports.PureComponent{render(){const{location:e}=this.props,t=queryString.parse(e.search),{end:r,start:a,limit:n,lookback:i,maxDuration:o,minDuration:l,view:s}=t,c={end:r,start:a,limit:n,lookback:i,maxDuration:o,minDuration:l,view:s};return jsxRuntimeExports.jsx(DeepDependencyGraphPageImpl,{baseUrl:ROUTE_PATH$2,extraUrlArgs:c,showSvcOpsHeader:!1,...this.props})}}const SearchResultsDDG=connect$3(mapStateToProps$7)(TracesDdgImpl),MOST_RECENT="MOST_RECENT",LONGEST_FIRST="LONGEST_FIRST",SHORTEST_FIRST="SHORTEST_FIRST",MOST_SPANS="MOST_SPANS",LEAST_SPANS="LEAST_SPANS";var baseFlatten=_baseFlatten,map=map_1;function flatMap(e,t){return baseFlatten(map(e,t),1)}var flatMap_1=flatMap;function getStrings(e){return"string"==typeof e?e:flatMap_1(e,getStrings)}const VALUE_ENABLED="1",VERSION_0="v0",STATE_PARAMS_V0={searchHideGraph:"uiSearchHideGraph",timeline:{collapseTitle:"uiTimelineCollapseTitle",hideMinimap:"uiTimelineHideMinimap",hideSummary:"uiTimelineHideSummary"}},PARAM_KEYS_V0=getStrings(STATE_PARAMS_V0);function getEmbeddedState(e){const{uiEmbed:t,...r}=queryString.parse(e);return t!==VERSION_0?null:{version:VERSION_0,searchHideGraph:r[STATE_PARAMS_V0.searchHideGraph]===VALUE_ENABLED,timeline:{collapseTitle:r[STATE_PARAMS_V0.timeline.collapseTitle]===VALUE_ENABLED,hideMinimap:r[STATE_PARAMS_V0.timeline.hideMinimap]===VALUE_ENABLED,hideSummary:r[STATE_PARAMS_V0.timeline.hideSummary]===VALUE_ENABLED}}}function stripEmbeddedState(e){const{uiEmbed:t,...r}=e;return t===VERSION_0&&PARAM_KEYS_V0.forEach(Reflect.deleteProperty.bind(null,r)),r}const index$k="",Option$1=Select.Option;function SelectSortImpl(){return jsxRuntimeExports.jsxs("label",{children:["Sort:"," ",jsxRuntimeExports.jsxs(Field,{name:"sortBy",component:reduxFormFieldAdapter({AntInputComponent:Select}),children:[jsxRuntimeExports.jsx(Option$1,{value:MOST_RECENT,children:"Most Recent"}),jsxRuntimeExports.jsx(Option$1,{value:LONGEST_FIRST,children:"Longest First"}),jsxRuntimeExports.jsx(Option$1,{value:SHORTEST_FIRST,children:"Shortest First"}),jsxRuntimeExports.jsx(Option$1,{value:MOST_SPANS,children:"Most Spans"}),jsxRuntimeExports.jsx(Option$1,{value:LEAST_SPANS,children:"Least Spans"})]})]})}const SelectSort=reduxForm({form:"traceResultsSort",initialValues:{sortBy:MOST_RECENT}})(SelectSortImpl),sortFormSelector=formValueSelector("traceResultsSort");class UnconnectedSearchResults extends reactExports.PureComponent{constructor(){super(...arguments),this.toggleComparison=(e,t)=>{const{cohortAddTrace:r,cohortRemoveTrace:a}=this.props;t?a(e):r(e)},this.onDdgViewClicked=()=>{const{location:e,history:t}=this.props,r=queryString.parse(e.search),a=r.view&&"ddg"===r.view?EAltViewActions.Traces:EAltViewActions.Ddg;trackAltView(a),t.push(getUrl$2({...r,view:a}))},this.onDownloadResultsClicked=()=>{const e=createBlob(this.props.rawTraces),t=document.createElement("a");t.href=URL.createObjectURL(e),t.download=`traces-${Date.now()}.json`,document.body.appendChild(t),t.click(),URL.revokeObjectURL(t.href),t.remove()}}render(){const{diffCohort:e,disableComparisons:t,goToTrace:r,hideGraph:a,history:n,loading:i,location:o,maxTraceDuration:l,queryOfResults:s,showStandaloneLink:c,skipMessage:u,spanLinks:f,traces:A}=this.props,d="ddg"!==queryString.parse(o.search).view,p=!t&&jsxRuntimeExports.jsx(DiffSelection,{toggleComparison:this.toggleComparison,traces:e});if(i)return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[e.length>0&&p,jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0})]});if(!Array.isArray(A)||!A.length)return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[e.length>0&&p,!u&&jsxRuntimeExports.jsx("div",{className:"u-simple-card","data-test":NO_RESULTS,children:"No trace results. Try another query."})]});const h=new Set(e.map((e=>e.id))),b=s?getUrl$2(stripEmbeddedState(s)):getUrl$2(),g=({key:e,value:t})=>"error"===e&&(!0===t||"true"===t);return jsxRuntimeExports.jsxs("div",{className:"SearchResults",children:[jsxRuntimeExports.jsxs("div",{className:"SearchResults--header",children:[!a&&d&&jsxRuntimeExports.jsx("div",{className:"ub-p3 SearchResults--headerScatterPlot",children:jsxRuntimeExports.jsx(ScatterPlot,{data:A.map((e=>({x:e.startTime,y:e.duration,traceID:e.traceID,size:e.spans.length,name:e.traceName,color:e.spans.some((e=>e.tags.some(g)))?"red":"#12939A"}))),onValueClick:e=>{r(e.traceID)}})}),jsxRuntimeExports.jsxs("div",{className:"SearchResults--headerOverview",children:[jsxRuntimeExports.jsxs("h2",{className:"ub-m0 u-flex-1",children:[A.length," Trace",A.length>1&&"s"]}),d&&jsxRuntimeExports.jsx(SelectSort,{}),d&&jsxRuntimeExports.jsx(DownloadResults,{onDownloadResultsClicked:this.onDownloadResultsClicked}),jsxRuntimeExports.jsx(AltViewOptions$2,{traceResultsView:d,onDdgViewClicked:this.onDdgViewClicked}),c&&jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-ml3",to:b,target:"_blank",rel:"noopener noreferrer",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})]})]}),!d&&jsxRuntimeExports.jsx("div",{className:"SearchResults--ddg-container",children:jsxRuntimeExports.jsx(SearchResultsDDG,{location:o,history:n})}),d&&p,d&&jsxRuntimeExports.jsx("ul",{className:"ub-list-reset",children:A.map((e=>jsxRuntimeExports.jsx("li",{className:"ub-my3",children:jsxRuntimeExports.jsx(ResultItem,{durationPercent:getPercentageOfDuration(e.duration,l),isInDiffCohort:h.has(e.traceID),linkTo:getLocation(e.traceID,{fromSearch:b},f&&(f[e.traceID]||f[e.traceID.replace(/^0*/,"")])),toggleComparison:this.toggleComparison,trace:e,disableComparision:t})},e.traceID)))})]})}}function createBlob(e){return new Blob([`{"data":${JSON.stringify(e)}}`],{type:"application/json"})}UnconnectedSearchResults.defaultProps={skipMessage:!1,spanLinks:void 0,queryOfResults:void 0};const SearchResults=withRouter$1(UnconnectedSearchResults);function readJsonFile(e){return new Promise(((t,r)=>{const a=new FileReader;a.onload=()=>{if("string"==typeof a.result)try{t(JSON.parse(a.result))}catch(error){r(new Error(`Error parsing JSON: ${error.message}`))}else r(new Error("Invalid result type"))},a.onerror=()=>{const e=a.error?`: ${String(a.error)}`:"";r(new Error(`Error reading the JSON file${e}`))},a.onabort=()=>{r(new Error("Reading the JSON file has been aborted"))};try{a.readAsText(e.file)}catch(error){r(new Error(`Error reading the JSON file: ${error.message}`))}}))}const loadJsonTraces=createAction("@FILE_READER_API/LOAD_JSON",(e=>readJsonFile(e)),(e=>({fileList:e}))),fileReaderActions=Object.freeze(Object.defineProperty({__proto__:null,loadJsonTraces:loadJsonTraces},Symbol.toStringTag,{value:"Module"}));function guardReducer(e){return function(t,{payload:r}){return r?e(t,r):t}}function guardReducerWithMeta(e){return function(t,r){return r.payload&&r.meta?e(t,r):t}}function newInitialState$1(){return{cohort:[],a:null,b:null}}const actionTypes$2=generateActionTypes("@jaeger-ui/trace-diff",["COHORT_ADD_TRACE","COHORT_REMOVE_TRACE","DIFF_SET_A","DIFF_SET_B","FORCE_STATE"]),fullActions$2=createActions({[actionTypes$2.COHORT_ADD_TRACE]:e=>({traceID:e}),[actionTypes$2.COHORT_REMOVE_TRACE]:e=>({traceID:e}),[actionTypes$2.DIFF_SET_A]:e=>({traceID:e}),[actionTypes$2.DIFF_SET_B]:e=>({traceID:e}),[actionTypes$2.FORCE_STATE]:e=>({newState:e})}),actions$3=fullActions$2.jaegerUi.traceDiff;function cohortAddTrace(e,{traceID:t}){if(e.cohort.indexOf(t)>=0)return e;const r=e.cohort.slice();return r.push(t),{...e,cohort:r}}function cohortRemoveTrace(e,{traceID:t}){const r=e.cohort.indexOf(t);if(r<0)return e;const a=e.cohort.slice();a.splice(r,1);const n=e.a===t?null:e.a,i=e.b===t?null:e.b;return{...e,a:n,b:i,cohort:a}}function diffSetA(e,{traceID:t}){return{...e,a:t}}function diffSetB(e,{traceID:t}){return{...e,b:t}}function forceState(e,{newState:t}){return t}const traceDiff=handleActions({[actionTypes$2.COHORT_ADD_TRACE]:guardReducer(cohortAddTrace),[actionTypes$2.COHORT_REMOVE_TRACE]:guardReducer(cohortRemoveTrace),[actionTypes$2.DIFF_SET_A]:guardReducer(diffSetA),[actionTypes$2.DIFF_SET_B]:guardReducer(diffSetB),[actionTypes$2.FORCE_STATE]:guardReducer(forceState)},newInitialState$1()),comparators={[MOST_RECENT]:(e,t)=>+(t.startTime>e.startTime)||+(e.startTime===t.startTime)-1,[SHORTEST_FIRST]:(e,t)=>+(e.duration>t.duration)||+(e.duration===t.duration)-1,[LONGEST_FIRST]:(e,t)=>+(t.duration>e.duration)||+(e.duration===t.duration)-1,[MOST_SPANS]:(e,t)=>+(t.spans.length>e.spans.length)||+(e.spans.length===t.spans.length)-1,[LEAST_SPANS]:(e,t)=>+(e.spans.length>t.spans.length)||+(e.spans.length===t.spans.length)-1};function sortTraces(e,t){const r=comparators[t]||comparators[LONGEST_FIRST];e.sort(r)}const getStaticAssetPath=e=>isString$6(window.staticPath)?new URL(e,window.staticPath).href:e,index$j="",index$i="";function getError(e,t){var r="cannot "+e.method+" "+e.action+" "+t.status+"'",a=new Error(r);return a.status=t.status,a.method=e.method,a.url=e.action,a}function getBody(t){var r=t.responseText||t.response;if(!r)return r;try{return JSON.parse(r)}catch(e){return r}}function upload(e){var t=new XMLHttpRequest;e.onProgress&&t.upload&&(t.upload.onprogress=function(t){t.total>0&&(t.percent=t.loaded/t.total*100),e.onProgress(t)});var r=new FormData;e.data&&Object.keys(e.data).forEach((function(t){var a=e.data[t];Array.isArray(a)?a.forEach((function(e){r.append(t+"[]",e)})):r.append(t,e.data[t])})),r.append(e.filename,e.file),t.onerror=function(t){e.onError(t)},t.onload=function(){if(t.status<200||t.status>=300)return e.onError(getError(e,t),getBody(t));e.onSuccess(getBody(t),t)},t.open(e.method,e.action,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);var a=e.headers||{};for(var n in null!==a["X-Requested-With"]&&t.setRequestHeader("X-Requested-With","XMLHttpRequest"),a)a.hasOwnProperty(n)&&null!==a[n]&&t.setRequestHeader(n,a[n]);return t.send(r),{abort:function(){t.abort()}}}var now$1=+new Date,index$h=0;function uid(){return"rc-upload-"+now$1+"-"+ ++index$h}function endsWith(e,t){return-1!==e.indexOf(t,e.length-t.length)}const attrAccept=function(e,t){if(e&&t){var r=Array.isArray(t)?t:t.split(","),a=e.name||"",n=e.type||"",i=n.replace(/\/.*$/,"");return r.some((function(e){var t=e.trim();return"."===t.charAt(0)?endsWith(a.toLowerCase(),t.toLowerCase()):/\/\*$/.test(t)?i===t.replace(/\/.*$/,""):n===t}))}return!0};function loopFiles(e,t){var r=e.createReader(),a=[];!function e(){r.readEntries((function(r){var n=Array.prototype.slice.apply(r);a=a.concat(n),!n.length?t(a):e()}))}()}var traverseFileTree=function(e,t,r){var a=function e(a,n){n=n||"",a.isFile?a.file((function(e){r(e)&&(a.fullPath&&!e.webkitRelativePath&&(Object.defineProperties(e,{webkitRelativePath:{writable:!0}}),e.webkitRelativePath=a.fullPath.replace(/^\//,""),Object.defineProperties(e,{webkitRelativePath:{writable:!1}})),t([e]))})):a.isDirectory&&loopFiles(a,(function(t){t.forEach((function(t){e(t,""+n+a.name+"/")}))}))},n=!0,i=!1,o=void 0;try{for(var l,s=e[Symbol.iterator]();!(n=(l=s.next()).done);n=!0){a(l.value.webkitGetAsEntry())}}catch(err){i=!0,o=err}finally{try{!n&&s.return&&s.return()}finally{if(i)throw o}}},AjaxUploader=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;odocument.domain="'+e+'";",r=''}return'\n \n \n \n \n \n '+t+'\n \n \n
\n \n '+r+'\n \n
\n \n \n '}},{key:"initIframeSrc",value:function(){this.domain&&(this.getIframeNode().src="javascript:void((function(){\n var d = document;\n d.open();\n d.domain='"+this.domain+"';\n d.write('');\n d.close();\n })())")}},{key:"initIframe",value:function(){var t=this.getIframeNode(),r=t.contentWindow,a=void 0;this.domain=this.domain||"",this.initIframeSrc();try{a=r.document}catch(e){this.domain=document.domain,this.initIframeSrc(),a=(r=t.contentWindow).document}a.open("text/html","replace"),a.write(this.getIframeHTML(this.domain)),a.close(),this.getFormInputNode().onchange=this.onChange}},{key:"endUpload",value:function(){this.state.uploading&&(this.file={},this.state.uploading=!1,this.setState({uploading:!1}),this.initIframe())}},{key:"startUpload",value:function(){this.state.uploading||(this.state.uploading=!0,this.setState({uploading:!0}))}},{key:"updateIframeWH",value:function(){var e=ReactDOM.findDOMNode(this),t=this.getIframeNode();t.style.height=e.offsetHeight+"px",t.style.width=e.offsetWidth+"px"}},{key:"abort",value:function(e){if(e){var t=e;e&&e.uid&&(t=e.uid),t===this.file.uid&&this.endUpload()}else this.endUpload()}},{key:"post",value:function(e){var t=this,r=this.getFormNode(),a=this.getFormDataNode(),n=this.props.data,i=this.props.onStart;"function"==typeof n&&(n=n(e));var o=document.createDocumentFragment();for(var l in n)if(n.hasOwnProperty(l)){var s=document.createElement("input");s.setAttribute("name",l),s.value=n[l],o.appendChild(s)}a.appendChild(o),new Promise((function(r){var a=t.props.action;if("function"==typeof a)return r(a(e));r(a)})).then((function(t){r.setAttribute("action",t),r.submit(),a.innerHTML="",i(e)}))}},{key:"render",value:function(){var e,t=this.props,r=t.component,a=t.disabled,n=t.className,i=t.prefixCls,o=t.children,l=t.style,s=_default$bE({},IFRAME_STYLE,{display:this.state.uploading||a?"none":""}),c=classnamesExports((_default$e(e={},i,!0),_default$e(e,i+"-disabled",a),_default$e(e,n,n),e));return React$k.createElement(r,{className:c,style:_default$bE({position:"relative",zIndex:0},l)},React$k.createElement("iframe",{ref:this.saveIframe,onLoad:this.onLoad,style:s}),o)}}]),r}(reactExports.Component);function empty$2(){}IframeUploader.propTypes={component:propTypesExports.string,style:propTypesExports.object,disabled:propTypesExports.bool,prefixCls:propTypesExports.string,className:propTypesExports.string,accept:propTypesExports.string,onStart:propTypesExports.func,multiple:propTypesExports.bool,children:propTypesExports.any,data:propTypesExports.oneOfType([propTypesExports.object,propTypesExports.func]),action:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func]),name:propTypesExports.string};var Upload$2=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=.98||(r+=e,(e-=.01)<.001&&(e=.001)),r}}function getFileItem(e,t){var r=void 0!==e.uid?"uid":"name";return t.filter((function(t){return t[r]===e[r]}))[0]}function removeFileItem(e,t){var r=void 0!==e.uid?"uid":"name",a=t.filter((function(t){return t[r]!==e[r]}));return a.length===t.length?null:a}var extname=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split("/"),t=e[e.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(t)||[""])[0]},isImageFileType=function(e){return!!e&&0===e.indexOf("image/")},isImageUrl=function(e){if(isImageFileType(e.type))return!0;var t=e.thumbUrl||e.url,r=extname(t);return!(!/^data:image\//.test(t)&&!/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(r))||!/^data:/.test(t)&&!r},MEASURE_SIZE=200;function previewImage(e){return new Promise((function(t){if(isImageFileType(e.type)){var r=document.createElement("canvas");r.width=MEASURE_SIZE,r.height=MEASURE_SIZE,r.style.cssText="position: fixed; left: 0; top: 0; width: ".concat(MEASURE_SIZE,"px; height: ").concat(MEASURE_SIZE,"px; z-index: 9999; display: none;"),document.body.appendChild(r);var a=r.getContext("2d"),n=new Image;n.onload=function(){var e=n.width,i=n.height,o=MEASURE_SIZE,l=MEASURE_SIZE,s=0,c=0;e100?100:e}function _extends$d(){return _extends$d=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose$1(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function _classCallCheck$7(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$7(e,t){for(var r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function _classCallCheck$6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$6(e,t){for(var r=0;r4&&void 0!==arguments[4]?arguments[4]:0,i=50-a/2,o=0,l=-i,s=0,c=-2*i;switch(arguments.length>5?arguments[5]:void 0){case"left":o=-i,l=0,s=2*i,c=0;break;case"right":o=i,l=0,s=-2*i,c=0;break;case"bottom":l=i,c=2*i}var u="M 50,50 m ".concat(o,",").concat(l,"\n a ").concat(i,",").concat(i," 0 1 1 ").concat(s,",").concat(-c,"\n a ").concat(i,",").concat(i," 0 1 1 ").concat(-s,",").concat(c),f=2*Math.PI*i;return{pathString:u,pathStyle:{stroke:r,strokeDasharray:"".concat(t/100*(f-n),"px ").concat(f,"px"),strokeDashoffset:"-".concat(n/2+e/100*(f-n),"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s"}}}var Circle$2=function(e){_inherits$6(r,e);var t=_createSuper$6(r);function r(){var e;return _classCallCheck$6(this,r),_defineProperty$7(_assertThisInitialized$6(e=t.call(this)),"paths",{}),_defineProperty$7(_assertThisInitialized$6(e),"gradientId",0),e.gradientId=gradientSeed,gradientSeed+=1,e}return _createClass$6(r,[{key:"getStokeList",value:function(){var e=this,t=this.props,r=t.prefixCls,a=t.percent,n=t.strokeColor,i=t.strokeWidth,o=t.strokeLinecap,l=t.gapDegree,s=t.gapPosition,c=toArray(a),u=toArray(n),f=0;return c.map((function(t,a){var n=u[a]||u[u.length-1],c="[object Object]"===Object.prototype.toString.call(n)?"url(#".concat(r,"-gradient-").concat(e.gradientId,")"):"",A=getPathStyles(f,t,n,i,l,s),d=A.pathString,p=A.pathStyle;return f+=t,React$k.createElement("path",{key:a,className:"".concat(r,"-circle-path"),d:d,stroke:c,strokeLinecap:o,strokeWidth:i,opacity:0===t?0:1,fillOpacity:"0",style:p,ref:function(t){e.paths[a]=t}})}))}},{key:"render",value:function(){var e=this.props,t=e.prefixCls,r=e.strokeWidth,a=e.trailWidth,n=e.gapDegree,i=e.gapPosition,o=e.trailColor,l=e.strokeLinecap,s=e.style,c=e.className,u=e.strokeColor,f=_objectWithoutProperties(e,["prefixCls","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor"]),A=getPathStyles(0,100,o,r,n,i),d=A.pathString,p=A.pathStyle;delete f.percent;var h=toArray(u).find((function(e){return"[object Object]"===Object.prototype.toString.call(e)}));return React$k.createElement("svg",_extends$b({className:"".concat(t,"-circle ").concat(c),viewBox:"0 0 100 100",style:s},f),h&&React$k.createElement("defs",null,React$k.createElement("linearGradient",{id:"".concat(t,"-gradient-").concat(this.gradientId),x1:"100%",y1:"0%",x2:"0%",y2:"0%"},Object.keys(h).sort((function(e,t){return stripPercentToNumber(e)-stripPercentToNumber(t)})).map((function(e,t){return React$k.createElement("stop",{key:t,offset:e,stopColor:h[e]})})))),React$k.createElement("path",{className:"".concat(t,"-circle-trail"),d:d,stroke:o,strokeLinecap:l,strokeWidth:a||r,fillOpacity:"0",style:p}),this.getStokeList().reverse())}}]),r}(reactExports.Component);Circle$2.propTypes=_objectSpread(_objectSpread({},propTypes),{},{gapPosition:propTypesExports.oneOf(["top","bottom","left","right"])}),Circle$2.defaultProps=_objectSpread(_objectSpread({},defaultProps),{},{gapPosition:"top"});const RCCircle=enhancer(Circle$2);function _defineProperty$6(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var statusColorMap={normal:"#108ee9",exception:"#ff5500",success:"#87d068"};function getPercentage(e){var t=e.percent,r=e.successPercent,a=validProgress(t);if(!r)return a;var n=validProgress(r);return[r,validProgress(a-n)]}function getStrokeColor(e){var t=e.progressStatus,r=e.successPercent,a=e.strokeColor||statusColorMap[t];return r?[statusColorMap.success,a]:a}var Circle=function(e){var t=e.prefixCls,r=e.width,a=e.strokeWidth,n=e.trailColor,i=e.strokeLinecap,o=e.gapPosition,l=e.gapDegree,s=e.type,c=e.children,u=r||120,f={width:u,height:u,fontSize:.15*u+6},A=a||6,d=o||"dashboard"===s&&"bottom"||"top",p=l||("dashboard"===s?75:void 0),h=getStrokeColor(e),b="[object Object]"===Object.prototype.toString.call(h),g=classNames("".concat(t,"-inner"),_defineProperty$6({},"".concat(t,"-circle-gradient"),b));return reactExports.createElement("div",{className:g,style:f},reactExports.createElement(RCCircle,{percent:getPercentage(e),strokeWidth:A,trailWidth:A,strokeColor:h,strokeLinecap:i,trailColor:n,prefixCls:t,gapDegree:p,gapPosition:d}),c)};const Circle$1=Circle;function _typeof$6(e){return _typeof$6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$6(e)}function _defineProperty$5(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _extends$a(){return _extends$a=Object.assign||function(e){for(var t=1;t=100?"success":e||"normal"}},{key:"renderProcessInfo",value:function(e,t){var r,a=this.props,n=a.showInfo,i=a.format,o=a.type,l=a.percent,s=a.successPercent;if(!n)return null;var c="circle"===o||"dashboard"===o?"":"-circle";return i||"exception"!==t&&"success"!==t?r=(i||function(e){return"".concat(e,"%")})(validProgress(l),validProgress(s)):"exception"===t?r=reactExports.createElement(Icon$1,{type:"close".concat(c),theme:"line"===o?"filled":"outlined"}):"success"===t&&(r=reactExports.createElement(Icon$1,{type:"check".concat(c),theme:"line"===o?"filled":"outlined"})),reactExports.createElement("span",{className:"".concat(e,"-text"),title:"string"==typeof r?r:void 0},r)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderProgress)}}]),r}(reactExports.Component);function _typeof$5(e){return _typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$5(e)}function _defineProperty$4(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _extends$9(){return _extends$9=Object.assign||function(e){for(var t=1;t{const t=["id","origin","swVersion","extensionId","platform","vscode-resource-base-authority","parentOrigin"],r={};return Object.keys(e).forEach((a=>{t.includes(a)||(r[a]=e[a])})),r};class SearchTracePageImpl extends reactExports.Component{constructor(...e){super(...e),_defineProperty3(this,"goToTrace",(e=>{const{queryOfResults:t}=this.props,r=t?getUrl$2(stripEmbeddedState(t)):getUrl$2();this.props.history.push(getLocation(e,{fromSearch:r}))}))}componentDidMount(){const{diffCohort:e,fetchMultipleTraces:t,fetchServiceOperations:r,fetchServices:a,isHomepage:n,queryOfResults:i,searchTraces:o,urlQueryParams:l}=this.props;n||!l||isSameQuery(l,i)||o(l);const s=e.filter((e=>null==e.state)).map((e=>e.id));s.length&&t(s),a();let{service:c}=store_legacy.get("lastSearch")||{};l&&l.service&&(c=l.service),c&&"-"!==c&&r(c)}render(){const{cohortAddTrace:e,cohortRemoveTrace:t,diffCohort:r,embedded:a,errors:n,isHomepage:i,loadingServices:o,loadingTraces:l,maxTraceDuration:s,services:c,traceResults:u,traceResultsToDownload:f,queryOfResults:A,loadJsonTraces:d,urlQueryParams:p}=this.props,h=u&&u.length>0,b=n&&!l,g=i&&!h&&!l&&!n;return jsxRuntimeExports.jsxs(Row,{className:"SearchTracePage--row",children:[!a&&jsxRuntimeExports.jsx(Col,{span:6,className:"SearchTracePage--column",children:jsxRuntimeExports.jsx("div",{className:"SearchTracePage--find",children:jsxRuntimeExports.jsxs(Tabs,{size:"large",children:[jsxRuntimeExports.jsx(TabPane,{tab:"Search",children:!o&&c?jsxRuntimeExports.jsx(SearchForm,{services:c}):jsxRuntimeExports.jsx(LoadingIndicator,{})},"searchForm"),jsxRuntimeExports.jsx(TabPane,{tab:"Upload",children:jsxRuntimeExports.jsx(FileLoader,{loadJsonTraces:e=>{d(e)}})},"fileLoader")]})})}),jsxRuntimeExports.jsxs(Col,{span:a?24:18,className:"SearchTracePage--column",children:[b&&jsxRuntimeExports.jsxs("div",{className:"js-test-error-message",children:[jsxRuntimeExports.jsx("h2",{children:"There was an error querying for traces:"}),n.map((e=>jsxRuntimeExports.jsx(ErrorMessage,{error:e},e.message)))]}),!b&&jsxRuntimeExports.jsx(SearchResults,{cohortAddTrace:e,cohortRemoveTrace:t,diffCohort:r,disableComparisons:a,goToTrace:this.goToTrace,hideGraph:a&&a.searchHideGraph,loading:l,maxTraceDuration:s,queryOfResults:A,showStandaloneLink:Boolean(a),skipMessage:i,spanLinks:p&&p.spanLinks,traces:u,rawTraces:f}),g&&jsxRuntimeExports.jsx("img",{className:"SearchTracePage--logo js-test-logo",alt:"presentation",src:logoUrl,width:"400"})]})]})}}SearchTracePageImpl.propTypes={isHomepage:propTypesExports.bool,traceResults:propTypesExports.array,traceResultsToDownload:propTypesExports.array,diffCohort:propTypesExports.array,cohortAddTrace:propTypesExports.func,cohortRemoveTrace:propTypesExports.func,embedded:propTypesExports.shape({searchHideGraph:propTypesExports.bool}),maxTraceDuration:propTypesExports.number,loadingServices:propTypesExports.bool,loadingTraces:propTypesExports.bool,urlQueryParams:propTypesExports.shape({service:propTypesExports.string,limit:propTypesExports.string}),queryOfResults:propTypesExports.shape({service:propTypesExports.string,limit:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number])}),services:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string,operations:propTypesExports.arrayOf(propTypesExports.string)})),searchTraces:propTypesExports.func,history:propTypesExports.shape({push:propTypesExports.func}),fetchMultipleTraces:propTypesExports.func,fetchServiceOperations:propTypesExports.func,fetchServices:propTypesExports.func,errors:propTypesExports.arrayOf(propTypesExports.shape({message:propTypesExports.string})),loadJsonTraces:propTypesExports.func};const stateTraceXformer=memoizeOne$1((e=>{const{traces:t,rawTraces:r,search:a}=e,{query:n,results:i,state:o,error:l}=a,s=o===fetchedState.LOADING,c=i.map((e=>t[e].data)),u=Math.max.apply(null,c.map((e=>e.duration)));return{traces:c,rawTraces:r,maxDuration:u,traceError:l,loadingTraces:s,query:n}})),stateTraceDiffXformer=memoizeOne$1(((e,t)=>{const{traces:r}=e,{cohort:a}=t;return a.map((e=>r[e]||{id:e}))})),sortedTracesXformer=memoizeOne$1(((e,t)=>{const r=e.slice();return sortTraces(r,t),r})),stateServicesXformer=memoizeOne$1((e=>{const{loading:t,services:r,operationsForService:a,error:n}=e;return{loadingServices:t,services:r&&r.map((e=>({name:e,operations:a[e]||[]}))),serviceError:n}}));function mapStateToProps$6(e){const{embedded:t,router:r,services:a,traceDiff:n}=e,i=getUrlState(r.location.search),o=sanitizeQueryParams(i),l=!Object.keys(i).length,{query:s,traces:c,rawTraces:u,maxDuration:f,traceError:A,loadingTraces:d}=stateTraceXformer(e.trace),p=stateTraceDiffXformer(e.trace,n),{loadingServices:h,services:b,serviceError:g}=stateServicesXformer(a),m=[];A&&m.push(A),g&&m.push(g);const v=sortFormSelector(e,"sortBy");return{queryOfResults:s,diffCohort:p,embedded:t,isHomepage:l,loadingServices:h,loadingTraces:d,services:b,traceResults:sortedTracesXformer(c,v),traceResultsToDownload:u,errors:m.length?m:null,maxTraceDuration:f,sortTracesBy:v,urlQueryParams:Object.keys(o).length>0?o:null}}function mapDispatchToProps$6(e){const{fetchMultipleTraces:t,fetchServiceOperations:r,fetchServices:a,searchTraces:n}=bindActionCreators(jaegerApiActions,e),{loadJsonTraces:i}=bindActionCreators(fileReaderActions,e),{cohortAddTrace:o,cohortRemoveTrace:l}=bindActionCreators(actions$3,e);return{cohortAddTrace:o,cohortRemoveTrace:l,fetchMultipleTraces:t,fetchServiceOperations:r,fetchServices:a,searchTraces:n,loadJsonTraces:i}}const SearchTracePage=connect$3(mapStateToProps$6,mapDispatchToProps$6)(SearchTracePageImpl),EmphasizedNode$1="";class EmphasizedNode extends reactExports.PureComponent{render(){const{height:e,width:t}=this.props;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode--contrast is-non-scaling",vectorEffect:"non-scaling-stroke",width:t,height:e}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode--contrast is-scaling",width:t,height:e}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode is-non-scaling",vectorEffect:"non-scaling-stroke",width:t,height:e}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode is-scaling",width:t,height:e})]})}}var toggleSelection=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],a=0;a{this.setState({hasCopied:!0}),copyToClipboard(this.props.copyText)},this.handleTooltipVisibilityChange=e=>{!e&&this.state.hasCopied&&this.setState({hasCopied:!1})}}render(){return jsxRuntimeExports.jsx(Tooltip$1,{arrowPointAtCenter:!0,mouseLeaveDelay:.5,onVisibleChange:this.handleTooltipVisibilityChange,placement:this.props.placement,title:this.state.hasCopied?"Copied":this.props.tooltipTitle,children:jsxRuntimeExports.jsx(Button$2,{className:classnamesExports(this.props.className,"CopyIcon"),htmlType:"button",icon:this.props.icon,onClick:this.handleClick})})}}CopyIcon.defaultProps={className:void 0,icon:"copy",placement:"left"};const renderNode$1="",abs=Math.abs,max=Math.max;class DiffNode extends reactExports.PureComponent{render(){const{a:e,b:t,operation:r,service:a}=this.props,n=e===t,i=classnamesExports({"is-same":n,"is-changed":!n,"is-more":t>e&&e>0,"is-added":0===e,"is-less":e>t&&t>0,"is-removed":0===t}),o=e0||"client"!==l||!s)return;const{operation:c}=o;0===c.indexOf(s)&&c.slice(-a.length)===a&&(e.service=s)}function skipClient(e,t){const{parentID:r,service:a,tags:n}=e,i=null!=r&&t.get(r);if(!i)return;const o=n[SPAN_KIND],l=i.tags[SPAN_KIND],s=i.tags[PEER_SERVICE]||"";"server"===o&&"client"===l&&1===i.children.size&&(i.skipToChild=0===i.operation.indexOf(a)||0===s.indexOf(a))}function fixHttpOperation(e,t){const{parentID:r,operation:a,service:n,tags:i}=e,o=null!=r&&t.get(r);if(!o)return;const l=i[SPAN_KIND],s=i[HTTP_METHOD];if("server"!==l||a!==s)return;const c=o.tags[PEER_SERVICE]||"";if(0===o.operation.indexOf(n)||0===c.indexOf(n)){const t=new RegExp(`^${n}(::)?`),r=o.operation.replace(t,"");e.operation=`${s} ${r}`}}function skipAnnotationSpans(e,t){const{children:r,parentID:a,span:n}=e;if(1!==r.size||0!==n.tags.length)return;const i=null!=a&&t.get(a),o=[...r][0],l=null!=o&&t.get(o);i&&l&&(e.skipToChild=i.span.processID===n.processID)}function skipClientSpans(e,t){const{children:r,parentID:a,span:n,tags:i}=e;if(1!==r.size||"client"!==i[SPAN_KIND])return;const o=null!=a&&t.get(a),l=[...r][0],s=null!=l&&t.get(l);o&&s&&(e.skipToChild="client"===s.tags[SPAN_KIND]&&o.span.processID===n.processID)}function denseTransforms(e,t){fixLeafService(e,t),skipClient(e,t),fixHttpOperation(e,t),skipAnnotationSpans(e,t),skipClientSpans(e,t)}function convSpans(e){const t=new Map,r=new Set,a=[];return e.forEach((e=>{const{spanID:n,operationName:i,process:o,references:l,tags:s}=e;a.push(n);const{serviceName:c}=o,u=s.reduce(((e,t)=>{const{key:r,value:a}=t;return e[r]=a,e}),{});let f=null;if(l&&l.length){const{refType:e,spanID:t}=l[0];"CHILD_OF"!==e&&"FOLLOWS_FROM"!==e?console.warn(`Unrecognized ref type: ${e}`):f=t}const A={id:n,operation:i,parentID:f,service:c,span:e,tags:u,children:new Set,skipToChild:!1},d=f&&t.get(f);d?d.children.add(n):r.add(n),t.set(n,A)})),{ids:a,map:t,roots:r}}function makeDense(e,t){e.forEach((e=>{const r=t.get(e);r&&denseTransforms(r,t)}))}class DenseTrace{constructor(e){this.trace=e;const{ids:t,map:r,roots:a}=convSpans(e.spans);makeDense(t,r),this.rootIDs=a,this.denseSpansMap=r}}function ancestralPathParentOrLeaf(e,t){const{children:r,operation:a,service:n}=e,i=`${n}\t${a}${r.size?"":"\t__LEAF__"}`;return t?`${t}\v${i}`:i}class TraceDag{static newFromTrace(e,t=ancestralPathParentOrLeaf){const r=new TraceDag,{denseSpansMap:a,rootIDs:n}=new DenseTrace(e);function i(e,n){if(!e)return void console.warn("Missing dense span");const{children:o,operation:l,service:s,skipToChild:c}=e;let u;if(c)u=n;else{u=t(e,n);(r.getNode(u)||r.addNode(u,n,{operation:l,service:s,members:[]})).members.push(e)}o.forEach((e=>i(a.get(e),u)))}return n.forEach((e=>i(a.get(e),null))),r}static diff(e,t){const r=new TraceDag;return new Set([...e.nodesMap.keys(),...t.nodesMap.keys()]).forEach((function(a){const n=e.nodesMap.get(a),i=t.nodesMap.get(a),o=n&&n.parentID||i&&i.parentID||null,l=[...n?n.members:[],...i?i.members:[]];r.addNode(a,o,{members:l,a:n?n.members:null,b:i?i.members:null,operation:n&&n.operation||i&&i.operation||"__UNSET__",service:n&&n.service||i&&i.service||"__UNSET__"})})),r}constructor(){this.nodesMap=new Map,this.rootIDs=new Set}hasNode(e){return this.nodesMap.has(e)}getNode(e){return this.nodesMap.get(e)}mustGetNode(e){const t=this.getNode(e);if(!t)throw new Error(`Node not found: ${JSON.stringify(e)}`);return t}addNode(e,t,r){if(this.hasNode(e))throw new Error(`Node already added: ${JSON.stringify(e)}`);const a={...r,id:e,parentID:t,children:new Set};if(this.nodesMap.set(e,a),t){const r=this.nodesMap.get(t);r&&r.children.add(e)}else this.rootIDs.add(e);return a}}function filterSpans(e,t){if(!t)return null;const r=[],a=[],n=e.match(/"[^"]+"|[^\s]+/g),i=n?n.map((e=>e.replace(/"(.*)"/,"$1"))):[];i.filter(Boolean).forEach((e=>{"-"===e[0]?a.push(e.substr(1).toLowerCase()):r.push(e.toLowerCase())}));const o=(e,t)=>e.some((e=>t.toLowerCase().includes(e))),l=e=>!!e&&e.some((e=>!o(a,e.key)&&(o(r,e.key)||o(r,e.value.toString())))),s=new Set(t.filter((e=>o(r,e.operationName)||o(r,e.process.serviceName)||l(e.tags)||null!==e.logs&&e.logs.some((e=>l(e.fields)))||l(e.process.tags)||r.some((t=>t.replace(/^0*/,"")===e.spanID.replace(/^0*/,""))))).map((e=>e.spanID)));return s}function getUiFindVertexKeysFn(e,t){if(!e)return new Set;const r=new Set;return t.forEach((({key:t,data:{members:a}})=>{get_1$1(filterSpans(e,map_1(a,"span")),"size")&&r.add(t)})),r}const getUiFindVertexKeys=memoizeOne$1(getUiFindVertexKeysFn);function getEdgesAndVerticesFn(e,t){const r=TraceDag.newFromTrace(e),a=TraceDag.newFromTrace(t);return convPlexus(TraceDag.diff(r,a).nodesMap)}const getEdgesAndVertices=memoizeOne$1(getEdgesAndVerticesFn),TraceDiffGraph$1="",{classNameIsSmall:classNameIsSmall$1,scaleOpacity:scaleOpacity$1,scaleStrokeOpacity:scaleStrokeOpacity$1}=Digraph.propsFactories;class UnconnectedTraceDiffGraph extends reactExports.PureComponent{constructor(){super(...arguments),this.layoutManager=new LayoutManager({useDotEdges:!0,splines:"polyline"}),this.cacheAs=defaultScope.makeScope()}componentWillUnmount(){this.layoutManager.stopAndRelease()}render(){const{a:e,b:t,uiFind:r=""}=this.props;if(!e||!t)return jsxRuntimeExports.jsx("h1",{className:"u-mt-vast u-tx-muted ub-tx-center",children:"At least two Traces are needed"});if(e.error||t.error)return jsxRuntimeExports.jsxs("div",{className:"TraceDiffGraph--errorsWrapper",children:[e.error&&jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-my4",error:e.error,messageClassName:"TraceDiffGraph--errorMessage"}),t.error&&jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-my4",error:t.error,messageClassName:"TraceDiffGraph--errorMessage"})]});if(e.state===fetchedState.LOADING||t.state===fetchedState.LOADING)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});const a=e.data,n=t.data;if(!a||!n)return jsxRuntimeExports.jsx("div",{className:"TraceDiffGraph--graphWrapper"});const{edges:i,vertices:o}=getEdgesAndVertices(a,n),l=getUiFindVertexKeys(r,o),s=classnamesExports("TraceDiffGraph--dag",{"is-uiFind-mode":r}),c={className:"TraceDiffGraph--uiFind",suffix:r.length?String(l.size):void 0};return jsxRuntimeExports.jsxs("div",{className:"TraceDiffGraph--graphWrapper",children:[jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,className:s,minimapClassName:"u-miniMap",layoutManager:this.layoutManager,measurableNodesKey:"nodes",layers:[{key:"emphasis-nodes",layerType:"svg",renderNode:getNodeEmphasisRenderer(l)},{key:"edges",layerType:"svg",edges:!0,defs:[{localId:"arrow"}],markerEndId:"arrow",setOnContainer:this.cacheAs("edges/container",[scaleOpacity$1,scaleStrokeOpacity$1,{stroke:"#444"}])},{renderNode:renderNode,key:"nodes",measurable:!0,layerType:"html"}],setOnGraph:classNameIsSmall$1,edges:i,vertices:o},`${e.id} vs ${t.id}`),jsxRuntimeExports.jsx(UiFindInput,{inputProps:c})]})}}const TraceDiffGraph=connect$3(extractUiFindFromState)(UnconnectedTraceDiffGraph);function stopPropagation$1(e){e.stopPropagation()}function TraceTimelineLink({traceID:e}){return jsxRuntimeExports.jsx("a",{href:getUrl$6(e),onClick:stopPropagation$1,rel:"noopener noreferrer",target:"_blank",children:jsxRuntimeExports.jsx(NewWindowIcon,{})})}function RelativeDate(e){const{value:t,includeTime:r,fullMonthName:a}=e,n=hooks$1.isMoment(t)?t:hooks$1(t);return`${formatRelativeDate(n,Boolean(a))}${r?`, ${n.format("h:mm:ss a")}`:""}`}const CohortTable$1="",{Column:Column$1}=Table$1,defaultRowSelection={hideDefaultSelections:!0,type:"radio"},NEED_MORE_TRACES_MESSAGE=jsxRuntimeExports.jsx("h3",{className:"CohortTable--needMoreMsg",children:"Enter a Trace ID or perform a search and select from the results."},"msg");class CohortTable extends reactExports.PureComponent{constructor(){super(...arguments),this.getCheckboxProps=e=>{const{current:t,selection:r}=this.props,{id:a,state:n}=e;return n===fetchedState.ERROR||a in r&&a!==t?{disabled:!0}:{}}}render(){const{cohort:e,current:t,selection:r,selectTrace:a}=this.props,n={...defaultRowSelection,getCheckboxProps:this.getCheckboxProps,onChange:e=>a(e[0]),selectedRowKeys:t?[t]:[]};return[jsxRuntimeExports.jsxs(Table$1,{size:"middle",dataSource:e,rowKey:"id",pagination:!1,rowSelection:n,children:[jsxRuntimeExports.jsx(Column$1,{title:"",dataIndex:"id",render:e=>jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:e&&e.slice(0,7)})},"traceID"),jsxRuntimeExports.jsx(Column$1,{title:"Service & Operation",sortOrder:"descend",dataIndex:"data.traceName",render:(e,t)=>{const{data:a,error:n,id:i,state:o}=t,{traceName:l}=a||{},{label:s}=r[i]||{};return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[null!=s&&jsxRuntimeExports.jsx(Tag$1,{className:"ub-bold",color:"#139999",children:s},"lbl"),jsxRuntimeExports.jsx(TraceName,{className:"CohortTable--traceName",error:n,state:o,traceName:l},"name")]})}},"traceName"),jsxRuntimeExports.jsx(Column$1,{title:"Date",dataIndex:"data.startTime",render:(e,t)=>t.state===fetchedState.DONE&&jsxRuntimeExports.jsx(RelativeDate,{fullMonthName:!0,includeTime:!0,value:e/1e3})},"startTime"),jsxRuntimeExports.jsx(Column$1,{title:"Duration",dataIndex:"data.duration",render:(e,t)=>t.state===fetchedState.DONE&&formatDuration(e)},"duration"),jsxRuntimeExports.jsx(Column$1,{title:"Spans",dataIndex:"data.spans.length"},"spans"),jsxRuntimeExports.jsx(Column$1,{className:"ub-tx-center",dataIndex:"data.traceID",render:e=>jsxRuntimeExports.jsx(TraceTimelineLink,{traceID:e})},"link")]},"table"),e.length<2&&NEED_MORE_TRACES_MESSAGE]}}const TraceHeader$1="";function EmptyAttrs(){return jsxRuntimeExports.jsx("ul",{className:"TraecDiffHeader--traceAttributes",children:jsxRuntimeExports.jsx("li",{className:"TraecDiffHeader--traceAttr",children:" "})})}function Attrs(e){const{startTime:t,duration:r,totalSpans:a}=e;return jsxRuntimeExports.jsxs("ul",{className:"TraecDiffHeader--traceAttributes",children:[jsxRuntimeExports.jsx("li",{className:"TraecDiffHeader--traceAttr",children:jsxRuntimeExports.jsx("strong",{children:jsxRuntimeExports.jsx(RelativeDate,{value:(t||0)/1e3,includeTime:!0,fullMonthName:!0})})}),jsxRuntimeExports.jsxs("li",{className:"TraecDiffHeader--traceAttr",children:[jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Duration: "}),jsxRuntimeExports.jsx("strong",{children:formatDuration(r||0)})]}),jsxRuntimeExports.jsxs("li",{className:"TraecDiffHeader--traceAttr",children:[jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Spans: "})," ",jsxRuntimeExports.jsx("strong",{children:a||0})]})]})}function TraceHeader(e){const{duration:t,error:r,startTime:a,state:n,traceID:i,totalSpans:o,traceName:l}=e,s=n===fetchedState.DONE?Attrs:EmptyAttrs;return jsxRuntimeExports.jsxs("div",{className:"TraecDiffHeader--traceHeader",children:[jsxRuntimeExports.jsxs("h1",{className:"TraecDiffHeader--traceTitle",children:[jsxRuntimeExports.jsx("span",{children:i?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(TraceName,{traceName:l,error:r,state:n},"name")," ",jsxRuntimeExports.jsx("small",{className:"u-tx-muted ub-pr2",children:i.slice(0,7)},"id"),jsxRuntimeExports.jsx(TraceTimelineLink,{traceID:i})]}):jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Select a Trace..."})}),jsxRuntimeExports.jsx(IoChevronDown,{className:"TraecDiffHeader--traceTitleChevron"})]}),jsxRuntimeExports.jsx(s,{startTime:a,duration:t,totalSpans:o})]})}TraceHeader.defaultProps={error:void 0};const{Search:Search$1}=Input$1;function TraceIdInput(e){const{selectTrace:t}=e;return jsxRuntimeExports.jsx(Search$1,{addonBefore:"Select by Trace ID",enterButton:!0,onSearch:t})}const TraceDiffHeader$1="";class TraceDiffHeader extends reactExports.PureComponent{constructor(e){super(e),this.state={tableVisible:null},this._toggleTableA=this._toggleTable.bind(this,"a"),this._toggleTableB=this._toggleTable.bind(this,"b"),this._diffSetA=this._diffSetTrace.bind(this,"a"),this._diffSetB=this._diffSetTrace.bind(this,"b")}_toggleTable(e,t){const r=t?e:null;this.setState({tableVisible:r})}_diffSetTrace(e,t){"a"===e?this.props.diffSetA(t):this.props.diffSetB(t),this.setState({tableVisible:null})}render(){const{a:e,b:t,cohort:r}=this.props,{tableVisible:a}=this.state,{data:n,id:i,state:o,error:l}=e||{},{data:s,id:c,state:u,error:f}=t||{},A={};i&&(A[i]={label:"A"}),c&&(A[c]={label:"B"});const d=jsxRuntimeExports.jsx(CohortTable,{cohort:r,current:i,selectTrace:this._diffSetA,selection:A}),p=jsxRuntimeExports.jsx(CohortTable,{cohort:r,current:c,selectTrace:this._diffSetB,selection:A});return jsxRuntimeExports.jsxs("header",{className:"TraecDiffHeader",children:[jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem-darkened",children:jsxRuntimeExports.jsx("h1",{className:"ub-m0",children:"A"})}),jsxRuntimeExports.jsx(Popover,{overlayClassName:"TraceDiffHeader--popover",trigger:"click",placement:"bottomLeft",title:jsxRuntimeExports.jsx(TraceIdInput,{selectTrace:this._diffSetA}),content:d,visible:"a"===a,onVisibleChange:this._toggleTableA,children:jsxRuntimeExports.jsx("div",{className:"ub-flex u-flex-1",children:jsxRuntimeExports.jsx(TraceHeader,{duration:n&&n.duration,error:l,startTime:n&&n.startTime,state:o,totalSpans:n&&n.spans&&n.spans.length,traceID:i,traceName:n&&n.traceName})})}),jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem",children:jsxRuntimeExports.jsx("h2",{className:"u-tx-muted ub-mx3 ub-my0",children:"VS"})}),jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem-darkened",children:jsxRuntimeExports.jsx("h1",{className:"ub-m0",children:"B"})}),jsxRuntimeExports.jsx(Popover,{overlayClassName:"TraceDiffHeader--popover",trigger:"click",placement:"bottomLeft",title:jsxRuntimeExports.jsx(TraceIdInput,{selectTrace:this._diffSetB}),content:p,visible:"b"===a,onVisibleChange:this._toggleTableB,children:jsxRuntimeExports.jsx("div",{className:"ub-flex u-flex-1",children:jsxRuntimeExports.jsx(TraceHeader,{duration:s&&s.duration,error:f,startTime:s&&s.startTime,state:u,totalSpans:s&&s.spans&&s.spans.length,traceID:c,traceName:s&&s.traceName})})})]})}}function pluckTruthy(e){const t=[];for(let r=0;r!s.has(e)));c&&r(e)}class TraceDiffImpl extends reactExports.PureComponent{constructor(){super(...arguments),this.state={graphTopOffset:TOP_NAV_HEIGHT},this.headerWrapperElm=null,this.headerWrapperRef=e=>{this.headerWrapperElm=e,this.setGraphTopOffset()},this.diffSetA=e=>{const t=e.toLowerCase();this.diffSetUrl({newA:t})},this.diffSetB=e=>{const t=e.toLowerCase();this.diffSetUrl({newB:t})}}componentDidMount(){this.processProps()}componentDidUpdate(){this.setGraphTopOffset(),this.processProps()}setGraphTopOffset(){if(this.headerWrapperElm){const e=TOP_NAV_HEIGHT+this.headerWrapperElm.clientHeight;this.state.graphTopOffset!==e&&this.setState({graphTopOffset:e})}else this.setState({graphTopOffset:TOP_NAV_HEIGHT})}processProps(){const{a:e,b:t,cohort:r,fetchMultipleTraces:a,forceState:n,tracesData:i,traceDiffState:o}=this.props;syncStates({a:e,b:t,cohort:r},o,n);const l=r.map((e=>i.get(e)||{id:e,state:null})),s=l.filter((e=>null==e.state)).map((e=>e.id));s.length&&a(s)}diffSetUrl(e){const{newA:t,newB:r}=e,{a:a,b:n,cohort:i,history:o}=this.props,l=getUrl$1({a:t||a,b:r||n,cohort:i});o.push(l)}render(){const{a:e,b:t,cohort:r,tracesData:a}=this.props,{graphTopOffset:n}=this.state,i=e?a.get(e)||{id:e}:null,o=t?a.get(t)||{id:t}:null,l=r.map((e=>a.get(e)||{id:e}));return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{ref:this.headerWrapperRef,children:jsxRuntimeExports.jsx(TraceDiffHeader,{a:i,b:o,cohort:l,diffSetA:this.diffSetA,diffSetB:this.diffSetB},"header")},"header"),jsxRuntimeExports.jsx("div",{className:"TraceDiff--graphWrapper",style:{top:n},children:jsxRuntimeExports.jsx(TraceDiffGraph,{a:i,b:o})},"graph")]})}}function mapStateToProps$5(e,t){const{a:r,b:a}=t.match.params,{cohort:n=[]}=queryString.parse(e.router.location.search),i=new Set(pluckTruthy([r,a].concat(n))),o=Array.from(i),{traces:l}=e.trace,s=o.map((e=>[e,l[e]||{id:e,state:null}]));return{a:r,b:a,cohort:o,tracesData:new Map(s),traceDiffState:e.traceDiff}}function mapDispatchToProps$5(e){const{fetchMultipleTraces:t}=bindActionCreators(jaegerApiActions,e),{forceState:r}=bindActionCreators(actions$3,e);return{fetchMultipleTraces:t,forceState:r}}const TraceDiff=connect$3(mapStateToProps$5,mapDispatchToProps$5)(TraceDiffImpl);function baseClamp$1(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}var _baseClamp=baseClamp$1,baseClamp=_baseClamp,toNumber=toNumber_1;function clamp(e,t,r){return void 0===r&&(r=t,t=void 0),void 0!==r&&(r=(r=toNumber(r))==r?r:0),void 0!==t&&(t=(t=toNumber(t))==t?t:0),baseClamp(toNumber(e),t,r)}var clamp_1=clamp;const index$f="";var Notice=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=r&&(e.updateKey=o[0].updateKey||o[0].key,o.shift()),o.push(e)),{notices:o}}))},a.remove=function(e){a.setState((function(t){return{notices:t.notices.filter((function(t){return t.key!==e}))}}))},_default$9(a,r)}return _default$8(t,e),_default$b(t,[{key:"getTransitionName",value:function(){var e=this.props,t=e.transitionName;return!t&&e.animation&&(t=e.prefixCls+"-"+e.animation),t}},{key:"render",value:function(){var e,t=this,r=this.props,a=this.state.notices,n=a.map((function(e,n){var i=Boolean(n===a.length-1&&e.updateKey),o=e.updateKey?e.updateKey:e.key,l=createChainedFunction(t.remove.bind(t,e.key),e.onClose);return React$k.createElement(Notice,_default$bE({prefixCls:r.prefixCls},e,{key:o,update:i,onClose:l,onClick:e.onClick,closeIcon:r.closeIcon}),e.content)})),i=(_default$e(e={},r.prefixCls,1),_default$e(e,r.className,!!r.className),e);return React$k.createElement("div",{className:classnamesExports(i),style:r.style},React$k.createElement(Animate$1,{transitionName:this.getTransitionName()},n))}}]),t}(reactExports.Component);function _extends$6(){return _extends$6=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:defaultTop,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:defaultBottom;switch(e){case"topLeft":t={left:0,top:r,bottom:"auto"};break;case"topRight":t={right:0,top:r,bottom:"auto"};break;case"bottomLeft":t={left:0,top:"auto",bottom:a};break;default:t={right:0,top:"auto",bottom:a}}return t}function getNotificationInstance(e,t){var r=e.prefixCls,a=e.placement,n=void 0===a?defaultPlacement:a,i=e.getContainer,o=void 0===i?defaultGetContainer:i,l=e.top,s=e.bottom,c=e.closeIcon,u=void 0===c?defaultCloseIcon:c,f="".concat(r,"-").concat(n);if(notificationInstance[f])t(notificationInstance[f]);else{var A=reactExports.createElement("span",{className:"".concat(r,"-close-x")},u||reactExports.createElement(Icon$1,{className:"".concat(r,"-close-icon"),type:"close"}));Notification.newInstance({prefixCls:r,className:"".concat(r,"-").concat(n),style:getPlacementStyle(n,l,s),getContainer:o,closeIcon:A},(function(e){notificationInstance[f]=e,t(e)}))}}var typeToIcon={success:"check-circle-o",info:"info-circle-o",error:"close-circle-o",warning:"exclamation-circle-o"};function notice(e){var t=e.prefixCls||"ant-notification",r="".concat(t,"-notice"),a=void 0===e.duration?defaultDuration:e.duration,n=null;if(e.icon)n=reactExports.createElement("span",{className:"".concat(r,"-icon")},e.icon);else if(e.type){var i=typeToIcon[e.type];n=reactExports.createElement(Icon$1,{className:"".concat(r,"-icon ").concat(r,"-icon-").concat(e.type),type:i})}var o=!e.description&&n?reactExports.createElement("span",{className:"".concat(r,"-message-single-line-auto-margin")}):null;getNotificationInstance({prefixCls:t,placement:e.placement,top:e.top,bottom:e.bottom,getContainer:e.getContainer,closeIcon:e.closeIcon},(function(t){t.notice({content:reactExports.createElement("div",{className:n?"".concat(r,"-with-icon"):""},n,reactExports.createElement("div",{className:"".concat(r,"-message")},o,e.message),reactExports.createElement("div",{className:"".concat(r,"-description")},e.description),e.btn?reactExports.createElement("span",{className:"".concat(r,"-btn")},e.btn):null),duration:a,closable:!0,onClose:e.onClose,onClick:e.onClick,key:e.key,style:e.style||{},className:e.className})}))}var api={open:notice,close:function(e){Object.keys(notificationInstance).forEach((function(t){return notificationInstance[t].removeNotice(e)}))},config:setNotificationConfig,destroy:function(){Object.keys(notificationInstance).forEach((function(e){notificationInstance[e].destroy(),delete notificationInstance[e]}))}};["success","info","warning","error"].forEach((function(e){api[e]=function(t){return api.open(_extends$6(_extends$6({},t),{type:e}))}})),api.warn=api.warning;const notification=api,index$e="";function getNextNotifiedState(e){const{archivedState:t}=e;return t?t.isLoading?"ENotifiedState.Progress":t.isAcknowledged?null:"ENotifiedState.Outcome":null}function updateNotification(e,t,r){if(e===t)return;if(e&¬ification.close(e),"ENotifiedState.Progress"===t)return void notification.info({key:"ENotifiedState.Progress",description:null,duration:0,icon:jsxRuntimeExports.jsx(Icon$1,{type:"loading"}),message:"Archiving trace..."});const{acknowledge:a,archivedState:n}=r;if("ENotifiedState.Outcome"===t)if(n&&n.error){const{error:e}=n;notification.warn({key:"ENotifiedState.Outcome",className:"ArchiveNotifier--errorNotification",message:jsxRuntimeExports.jsx(Message,{error:e,wrap:!0}),description:jsxRuntimeExports.jsx(Details,{error:e,wrap:!0}),duration:null,icon:jsxRuntimeExports.jsx(Icon$1,{type:"clock-circle-o",className:"ArchiveNotifier--errorIcon"}),onClose:a})}else{if(!n||!n.isArchived)throw new Error("Unexpected condition");notification.success({key:"ENotifiedState.Outcome",description:null,duration:null,icon:jsxRuntimeExports.jsx(Icon$1,{type:"clock-circle-o",className:"ArchiveNotifier--doneIcon"}),message:"This trace has been archived.",onClose:a})}}function processProps(e,t){const r=getNextNotifiedState(t);return updateNotification(e,r,t),r}class ArchiveNotifier extends reactExports.PureComponent{constructor(e){super(e);const t=processProps(null,e);this.state={notifiedState:t}}static getDerivedStateFromProps(e,t){return{notifiedState:processProps(t.notifiedState,e)}}componentWillUnmount(){const{notifiedState:e}=this.state;e&¬ification.close(e)}render(){return null}}const initialState$4={},actionTypes$1=generateActionTypes("@jaeger-ui/archive-trace",["ACKNOWLEDGE"]),fullActions$1=createActions({[actionTypes$1.ACKNOWLEDGE]:e=>e}),actions$2={...fullActions$1.jaegerUi.archiveTrace,archiveTrace:archiveTrace};function acknowledge(e,{payload:t}){const r="string"==typeof t?t:null;if(!r)throw new Error("Invalid state, missing traceID for archive acknowledge");const a=e[r];if(a&&a.isLoading)return e;const n={...a,isAcknowledged:!0};return{...e,[r]:n}}function archiveStarted(e,{meta:t}){return{...e,[t.id]:{isLoading:!0}}}function archiveDone(e,{meta:t}){return{...e,[t.id]:{isArchived:!0,isAcknowledged:!1}}}function archiveErred(e,{meta:t,payload:r}){if(!r)throw new Error("Invalid state, missing API error details");const a={error:r,isArchived:!1,isError:!0,isAcknowledged:!1};return{...e,[t.id]:a}}const archive=handleActions({[actionTypes$1.ACKNOWLEDGE]:acknowledge,[`${archiveTrace}_PENDING`]:archiveStarted,[`${archiveTrace}_FULFILLED`]:archiveDone,[`${archiveTrace}_REJECTED`]:archiveErred},initialState$4),CATEGORY_FILTER="jaeger/ux/trace/filter",CATEGORY_MATCH_INTERACTIONS="jaeger/ux/trace/match-interactions",CATEGORY_RANGE="jaeger/ux/trace/range",ACTION_FOCUS="focus",ACTION_NEXT="next",ACTION_PREV="previous",ACTION_RANGE_REFRAME="reframe",ACTION_RANGE_SHIFT="shift",trackFilter=getTrackFilter(CATEGORY_FILTER);function trackFocusMatches(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_FOCUS)}function trackNextMatch(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_NEXT)}function trackPrevMatch(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_PREV)}function getRangeAction(e,t){const[r,a]=e,[n,i]=t;if(r===n||a===i)return ACTION_RANGE_SHIFT;return(r-n).toPrecision(7)===(a-i).toPrecision(7)?ACTION_RANGE_SHIFT:ACTION_RANGE_REFRAME}function trackRange(e,t,r){const a=getRangeAction(t,r);trackEvent(CATEGORY_RANGE,a,e)}var CombokeysExports={},Combokeys$1={get exports(){return CombokeysExports},set exports(e){CombokeysExports=e}},bind=function(e,t,r){return e=e instanceof Array?e:[e],this.bindMultiple(e,t,r),this},bindMultiple=function(e,t,r){for(var a=0;a-1)return!1;var r=t.tagName.toLowerCase();return"input"===r||"select"===r||"textarea"===r||t.isContentEditable},isModifier,hasRequiredIsModifier;function requireIsModifier(){return hasRequiredIsModifier||(hasRequiredIsModifier=1,isModifier=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}),isModifier}var handleKey=function(e,t,r){var a,n,i,o,l=this,s={},c=0,u=!1;for(a=l.getMatches(e,t,r),n=0;n1?i.bindSequence(e,l,t,r):(o=i.getKeyInfo(e,r),i.callbacks[o.key]=i.callbacks[o.key]||[],i.getMatches(o.key,o.modifiers,{type:o.action},a,e,n),i.callbacks[o.key][a?"unshift":"push"]({callback:t,modifiers:o.modifiers,action:o.action,seq:a,level:n,combo:e}))},keysFromString,hasRequiredKeysFromString,specialAliases,hasRequiredSpecialAliases,shiftMap,hasRequiredShiftMap;function requireKeysFromString(){return hasRequiredKeysFromString?keysFromString:(hasRequiredKeysFromString=1,keysFromString=function(e){return"+"===e?["+"]:e.split("+")})}function requireSpecialAliases(){return hasRequiredSpecialAliases?specialAliases:(hasRequiredSpecialAliases=1,specialAliases={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"})}function requireShiftMap(){return hasRequiredShiftMap?shiftMap:(hasRequiredShiftMap=1,shiftMap={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"})}var getKeyInfo=function(e,t){var r,a,n,i,o,l,s=[];for(r=requireKeysFromString()(e),i=requireSpecialAliases(),o=requireShiftMap(),l=requireIsModifier(),n=0;n95&&r<112||e.hasOwnProperty(r)&&(t.REVERSE_MAP[e[r]]=r);return t.REVERSE_MAP},modifiersMatch,hasRequiredModifiersMatch;function requireModifiersMatch(){return hasRequiredModifiersMatch?modifiersMatch:(hasRequiredModifiersMatch=1,modifiersMatch=function(e,t){return e.sort().join(",")===t.sort().join(",")})}var getMatches=function(e,t,r,a,n,i){var o,l,s,c,u=this,f=[],A=r.type;"keypress"!==A||r.code&&"Arrow"===r.code.slice(0,5)||(u.callbacks["any-character"]||[]).forEach((function(e){f.push(e)}));if(!u.callbacks[e])return f;for(s=requireIsModifier(),"keyup"===A&&s(e)&&(t=[e]),o=0;o{const a=e[r];a&&t.bind(keyboardMappings[r].binding,a)}))}function reset(){getInstance().reset()}var tweenFunctions={linear:function(e,t,r,a){return(r-t)*e/a+t},easeInQuad:function(e,t,r,a){return(r-t)*(e/=a)*e+t},easeOutQuad:function(e,t,r,a){return-(r-t)*(e/=a)*(e-2)+t},easeInOutQuad:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t},easeInCubic:function(e,t,r,a){return(r-t)*(e/=a)*e*e+t},easeOutCubic:function(e,t,r,a){return(r-t)*((e=e/a-1)*e*e+1)+t},easeInOutCubic:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?n/2*e*e*e+t:n/2*((e-=2)*e*e+2)+t},easeInQuart:function(e,t,r,a){return(r-t)*(e/=a)*e*e*e+t},easeOutQuart:function(e,t,r,a){return-(r-t)*((e=e/a-1)*e*e*e-1)+t},easeInOutQuart:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?n/2*e*e*e*e+t:-n/2*((e-=2)*e*e*e-2)+t},easeInQuint:function(e,t,r,a){return(r-t)*(e/=a)*e*e*e*e+t},easeOutQuint:function(e,t,r,a){return(r-t)*((e=e/a-1)*e*e*e*e+1)+t},easeInOutQuint:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?n/2*e*e*e*e*e+t:n/2*((e-=2)*e*e*e*e+2)+t},easeInSine:function(e,t,r,a){var n=r-t;return-n*Math.cos(e/a*(Math.PI/2))+n+t},easeOutSine:function(e,t,r,a){return(r-t)*Math.sin(e/a*(Math.PI/2))+t},easeInOutSine:function(e,t,r,a){return-(r-t)/2*(Math.cos(Math.PI*e/a)-1)+t},easeInExpo:function(e,t,r,a){return 0==e?t:(r-t)*Math.pow(2,10*(e/a-1))+t},easeOutExpo:function(e,t,r,a){var n=r-t;return e==a?t+n:n*(1-Math.pow(2,-10*e/a))+t},easeInOutExpo:function(e,t,r,a){var n=r-t;return 0===e?t:e===a?t+n:(e/=a/2)<1?n/2*Math.pow(2,10*(e-1))+t:n/2*(2-Math.pow(2,-10*--e))+t},easeInCirc:function(e,t,r,a){return-(r-t)*(Math.sqrt(1-(e/=a)*e)-1)+t},easeOutCirc:function(e,t,r,a){return(r-t)*Math.sqrt(1-(e=e/a-1)*e)+t},easeInOutCirc:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?-n/2*(Math.sqrt(1-e*e)-1)+t:n/2*(Math.sqrt(1-(e-=2)*e)+1)+t},easeInElastic:function(e,t,r,a){var n,i,o,l=r-t;return o=1.70158,0===e?t:1==(e/=a)?t+l:((i=0)||(i=.3*a),(n=l){this.timeoutID=void 0,this.requestID=void 0;const e=Object.freeze(this.getCurrent());this.callbackUpdate&&this.callbackUpdate(e),this.callbackComplete&&e.done&&this.callbackComplete(e),e.done?(this.callbackComplete=void 0,this.callbackUpdate=void 0):this.requestID=window.requestAnimationFrame(this._frameCallback)},this.startTime=Date.now()+(a||0),this.duration=e,this.from=t,this.to=r,n||i?(this.callbackComplete=i,this.callbackUpdate=n,a?(this.timeoutID=window.setTimeout(this._frameCallback,a),this.requestID=void 0):(this.requestID=window.requestAnimationFrame(this._frameCallback),this.timeoutID=void 0)):(this.callbackComplete=void 0,this.callbackUpdate=void 0,this.timeoutID=void 0,this.requestID=void 0)}cancel(){null!=this.timeoutID&&(clearTimeout(this.timeoutID),this.timeoutID=void 0),null!=this.requestID&&(window.cancelAnimationFrame(this.requestID),this.requestID=void 0),this.callbackComplete=void 0,this.callbackUpdate=void 0}getCurrent(){const e=Date.now()-this.startTime;return e<=0?{done:!1,value:this.from}:e>=this.duration?{done:!0,value:this.to}:{done:!1,value:tweenFunctions_1.easeOutQuint(e,this.from,this.to,this.duration)}}}const DURATION_MS=350;let lastTween;function _onTweenUpdate({done:e,value:t}){window.scrollTo(window.scrollX,t),e&&(lastTween=void 0)}function scrollBy(e,t=!1){const{scrollY:r}=window;let a=r;if(t&&lastTween){(lastTween.to("CHILD_OF"===e.refType||"FOLLOWS_FROM"===e.refType)&&(n=e.spanID,a.add(n),t.has(n));for(;Array.isArray(i)&&i.length;){const e=i.some(o);if(e)return{isHidden:e,parentIDs:a};if(!n)break;const t=r.get(n);n=void 0,i=t&&t.references}return{parentIDs:a,isHidden:!1}}class ScrollManager{constructor(e,t){this.setAccessors=e=>{this._accessors=e},this.scrollPageDown=()=>{this._scroller&&this._accessors&&this._scroller.scrollBy(.95*this._accessors.getViewHeight(),!0)},this.scrollPageUp=()=>{this._scroller&&this._accessors&&this._scroller.scrollBy(-.95*this._accessors.getViewHeight(),!0)},this.scrollToNextVisibleSpan=()=>{this._scrollToVisibleSpan(1)},this.scrollToPrevVisibleSpan=()=>{this._scrollToVisibleSpan(-1)},this.scrollToFirstVisibleSpan=()=>{this._scrollToVisibleSpan(1,0)},this._trace=e,this._scroller=t,this._accessors=void 0}_scrollPast(e,t){const r=this._accessors;if(!r)throw new Error("Accessors not set");const a=t<0,n=r.getRowPosition(e);if(!n)return void console.warn("Invalid row index");let{y:i}=n;const o=r.getViewHeight();a||(i+=n.height,i-=o),i+=.5*t*o,this._scroller.scrollTo(i)}_scrollToVisibleSpan(e,t){const r=this._accessors;if(!r)throw new Error("Accessors not set");if(!this._trace)return;const{duration:a,spans:n,startTime:i}=this._trace,o=e<0;let l;l=null!=t?t:o?r.getTopRowIndexVisible():r.getBottomRowIndexVisible();const s=r.mapRowIndexToSpanIndex(l);if(0===s&&o||s===n.length-1&&!o)return;let c=s;0!==s&&s!==n.length-1&&(c-=e);const[u,f]=r.getViewRange(),A=0!==u||1!==f,d=A?i+a*u:NaN,p=A?i+a*f:NaN,h=r.getSearchedSpanIDs(),b=r.getCollapsedChildren(),g=b?new Set(b):null,m=g?new Map(n.map((e=>[e.spanID,e]))):new Map,v=e<0?-1:n.length;let y;for(let k=c+e;k!==v;k+=e){const e=n[k],{duration:t,spanID:r,startTime:a}=e;if((!A||!(a>p||a+tg.add(e)));continue}}y=k;break}}if((!y||y===v)&&(y=v-e,g)){let e;do{const{isHidden:t,parentIDs:r}=isSpanHidden(n[y],g,m);t&&(r.forEach((e=>g.add(e))),y--),e=t}while(e)}const w=r.mapSpanIndexToRowIndex(y);this._scrollPast(w,e)}setTrace(e){this._trace=e}destroy(){this._trace=void 0,this._scroller=void 0,this._accessors=void 0}}class SubRange{constructor(e,t){this.low=e,this.high=t,this.length=1+t-e}overlaps(e){return e.low<=this.high&&this.low<=e.high}touches(e){return e.low<=this.high+1&&this.low-1<=e.high}covers(e){return this.low<=e.low&&e.high<=this.high}isInside(e){return e.lowe+t.length),0)}add(e,t){const r=e=>{let t=0;for(;t{let t=0;for(;t{let t=0;for(;t{let r=t.low;for(;r<=t.high;)e.push(r),r++;return e}),[])}subranges(){return this.ranges.map((e=>({low:e.low,high:e.high,length:1+e.high-e.low})))}}var lib=DRange;let parentChildOfMap;function isError(e){if(e){const t=e.find((e=>"error"===e.key));if(t)return t.value}return!1}function mapFollowsFrom(e,t){return e.map((e=>{let r=!0;if("number"==typeof e.to){r=t[e.to].members.some((e=>e.span.references&&e.span.references.some((e=>"CHILD_OF"===e.refType))))}return{...e,followsFrom:!r}}))}function getChildOfSpans(e,t){return parentChildOfMap||(parentChildOfMap={},t.spans.forEach((e=>{if(e.references){const t=e.references.filter((e=>"CHILD_OF"===e.refType)).map((e=>e.spanID));t.forEach((t=>{parentChildOfMap[t]=parentChildOfMap[t]||[],parentChildOfMap[t].push(e)}))}}))),parentChildOfMap[e]||[]}function getChildOfDrange(e,t){const r=new lib;return getChildOfSpans(e,t).forEach((e=>{r.add(e.startTime,e.startTime+(e.duration<=0?0:e.duration-1))})),r}function calculateTraceDag(e){const t=TraceDag.newFromTrace(e),r=new TraceDag;return t.nodesMap.forEach((t=>{const a=t.members.reduce(((e,t)=>e+t.span.duration),0),n=t.members.reduce(((e,t)=>e+isError(t.span.tags)?1:0),0),i=t.members.reduce(((t,r)=>t+new lib(r.span.startTime,r.span.startTime+r.span.duration).intersect(getChildOfDrange(r.span.spanID,e)).length),0),o=a-i;r.addNode(t.id,t.parentID,{...t,count:t.members.length,errors:n,time:a,percent:100/e.duration*a,selfTime:o,percentSelfTime:100/a*o})})),r}function calculateTraceDagEV(e){const t=calculateTraceDag(e),r=[...t.nodesMap.values()],a=convPlexus(t.nodesMap),n=mapFollowsFrom(a.edges,r);return{...a,edges:n}}const index$d="";function _extends$5(){return _extends$5=Object.assign||function(e){for(var t=1;t{this.setState({showHelp:!0})},this.closeSidebar=()=>{this.setState({showHelp:!1})},this.state={showHelp:!1,mode:MODE_SERVICE},this.layoutManager=new LayoutManager({totalMemory:e.traceGraphConfig?.layoutManagerMemory,useDotEdges:!0,splines:"polyline"})}componentWillUnmount(){this.layoutManager.stopAndRelease()}toggleNodeMode(e){this.setState({mode:e})}render(){const{ev:e,headerHeight:t,uiFind:r,uiFindVertexKeys:a}=this.props,{showHelp:n,mode:i}=this.state;if(!e)return jsxRuntimeExports.jsx("h1",{className:"u-mt-vast u-tx-muted ub-tx-center",children:"No trace found"});const o=classnamesExports("TraceGraph--graphWrapper",{"is-uiFind-mode":r});return jsxRuntimeExports.jsxs("div",{className:o,style:{paddingTop:t+47},children:[jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,className:"TraceGraph--dag",minimapClassName:"u-miniMap",layoutManager:this.layoutManager,measurableNodesKey:"nodes",layers:[{key:"node-find-emphasis",layerType:"svg",renderNode:getNodeFindEmphasisRenderer(a)},{key:"edges",edges:!0,layerType:"svg",defs:[{localId:"arrow"}],markerEndId:"arrow",setOnContainer:[scaleOpacity,scaleStrokeOpacity],setOnEdge:setOnEdgePath},{key:"nodes-borders",layerType:"svg",setOnContainer:scaleStrokeOpacity,renderNode:renderNodeVectorBorder},{key:"nodes",layerType:"html",measurable:!0,renderNode:defaultScope(`trace-graph/nodes/render/${i}`,getNodeRenderer(i))}],setOnGraph:classNameIsSmall,edges:e.edges,vertices:e.vertices}),jsxRuntimeExports.jsx("a",{className:"TraceGraph--experimental",href:"https://github.com/jaegertracing/jaeger-ui/issues/293",target:"_blank",rel:"noopener noreferrer",children:"Experimental"}),jsxRuntimeExports.jsxs("div",{className:"TraceGraph--sidebar-container",children:[jsxRuntimeExports.jsxs("ul",{className:"TraceGraph--menu",children:[jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Icon$1,{type:"question-circle",onClick:this.showHelp})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Service",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-service",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_SERVICE),children:"S"})})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Time",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-time",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_TIME),children:"T"})})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Selftime",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-selftime",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_SELFTIME),children:"ST"})})})]}),n&&jsxRuntimeExports.jsx(Card,{title:"Help",bordered:!1,extra:jsxRuntimeExports.jsx("a",{onClick:this.closeSidebar,role:"button",children:jsxRuntimeExports.jsx(Icon$1,{type:"close"})}),children:HELP_CONTENT})]})]})}}TraceGraph.defaultProps={ev:null};const OPEN="open",CLOSE="close";function getToggleValue(e){return e?CLOSE:OPEN}const CATEGORY_ALT_VIEW="jaeger/ux/trace/alt-view",CATEGORY_SLIM_HEADER="jaeger/ux/trace/slim-header",ACTION_GANTT="gantt",ACTION_GRAPH="graph",ACTION_JSON="json",ACTION_RAW_JSON="rawJson",ACTION_STATISTICS="traceStatistics",ACTION_TRACE_SPANS_VIEW="tracesSpansView",trackGanttView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_GANTT),trackGraphView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_GRAPH),trackJsonView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_JSON),trackRawJsonView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_RAW_JSON),trackStatisticsView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_STATISTICS),trackTraceSpansView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_TRACE_SPANS_VIEW),trackSlimHeaderToggle=e=>trackEvent(CATEGORY_SLIM_HEADER,getToggleValue(e));var baseExtremum=_baseExtremum,baseGt=_baseGt,baseIteratee$1=_baseIteratee;function maxBy(e,t){return e&&e.length?baseExtremum(e,baseIteratee$1(t),baseGt):void 0}var maxBy_1=maxBy,valuesExports=requireValues();const _values=getDefaultExportFromCjs(valuesExports);var androidArrowBackExports={},androidArrowBack={get exports(){return androidArrowBackExports},set exports(e){androidArrowBackExports=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t(e.TraceTimelineViewer="TraceTimelineViewer",e.TraceGraph="TraceGraph",e.TraceStatistics="TraceStatistics",e.TraceSpansView="TraceSpansView",e.TraceFlamegraph="TraceFlamegraph",e))(ETraceViewType||{});const MENU_ITEMS=[{viewType:ETraceViewType.TraceTimelineViewer,label:"Trace Timeline"},{viewType:ETraceViewType.TraceGraph,label:"Trace Graph"},{viewType:ETraceViewType.TraceStatistics,label:"Trace Statistics"},{viewType:ETraceViewType.TraceSpansView,label:"Trace Spans Table"},{viewType:ETraceViewType.TraceFlamegraph,label:"Trace Flamegraph"}];function AltViewOptions(e){const{onTraceViewChange:t,viewType:r,traceID:a}=e,n=jsxRuntimeExports.jsxs(Menu,{children:[MENU_ITEMS.filter((e=>e.viewType!==r)).map((e=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{onClick:()=>(e=>{e===ETraceViewType.TraceTimelineViewer?trackGanttView():e===ETraceViewType.TraceGraph?trackGraphView():e===ETraceViewType.TraceStatistics?trackStatisticsView():e===ETraceViewType.TraceSpansView&&trackTraceSpansView(),t(e)})(e.viewType),role:"button",children:e.label})},e.viewType))),jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{href:`${window.apiBaseUrl}/api/traces/${a}?prettyPrint=true`,rel:"noopener noreferrer",target:"_blank",onClick:trackJsonView,children:"Trace JSON"})}),jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{href:`${window.apiBaseUrl}/api/traces/${a}?raw=true&prettyPrint=true`,rel:"noopener noreferrer",target:"_blank",onClick:trackRawJsonView,children:"Trace JSON (unadjusted)"})})]}),i=MENU_ITEMS.find((e=>e.viewType===r)),o=i?i.label:"Alternate Views";return jsxRuntimeExports.jsx(Dropdown,{overlay:n,children:jsxRuntimeExports.jsxs(Button$2,{className:"AltViewOptions",children:[`${o} `,jsxRuntimeExports.jsx(Icon$1,{type:"down"})]})})}const CATEGORY="jaeger/ux/trace/kbd-modal",track$1=trackEvent.bind(null,CATEGORY,OPEN),KeyboardShortcutsHelp$1="",{Column:Column}=Table$1,SYMBOL_CONV={up:"↑",right:"→",down:"↓",left:"←",shift:"⇧"},ODD_ROW_CLASS="KeyboardShortcutsHelp--oddRow";function convertKeys(e){return(Array.isArray(e)?e:[e]).map((e=>e.split("+").map((e=>SYMBOL_CONV[e]||e.toUpperCase()))))}const padLeft=e=>jsxRuntimeExports.jsx("span",{className:"ub-pl4",children:e}),padRight=e=>jsxRuntimeExports.jsx("span",{className:"ub-pr4",children:e}),getRowClass=(e,t)=>t%2>0?ODD_ROW_CLASS:"";let kbdTable=null;function getHelpModal(){if(kbdTable)return kbdTable;const e=[];return Object.keys(keyboardMappings).forEach((t=>{const{binding:r,label:a}=keyboardMappings[t],n=convertKeys(r);e.push(...n.map((e=>({key:String(e),kbds:jsxRuntimeExports.jsx("kbd",{children:e.join(" ")}),description:a}))))})),kbdTable=jsxRuntimeExports.jsxs(Table$1,{className:"KeyboardShortcutsHelp--table u-simple-scrollbars",dataSource:e,size:"middle",pagination:!1,showHeader:!1,rowClassName:getRowClass,children:[jsxRuntimeExports.jsx(Column,{title:"Description",dataIndex:"description",render:padLeft},"description"),jsxRuntimeExports.jsx(Column,{title:"Key(s)",dataIndex:"kbds",align:"right",render:padRight},"kbds")]}),kbdTable}class KeyboardShortcutsHelp extends reactExports.PureComponent{constructor(){super(...arguments),this.state={visible:!1},this.onCtaClicked=()=>{track$1(),this.setState({visible:!0})},this.onCloserClicked=()=>this.setState({visible:!1})}render(){const{className:e}=this.props;return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$2,{className:e,htmlType:"button",onClick:this.onCtaClicked,children:jsxRuntimeExports.jsx("span",{className:"KeyboardShortcutsHelp--cta",children:"⌘"})}),jsxRuntimeExports.jsx(Modal,{title:"Keyboard Shortcuts",visible:this.state.visible,onOk:this.onCloserClicked,onCancel:this.onCloserClicked,cancelButtonProps:{style:{display:"none"}},bodyStyle:{padding:0},children:getHelpModal()})]})}}const BG_COLOR="#fff",ITEM_ALPHA=.8,MIN_ITEM_HEIGHT=2,MAX_TOTAL_HEIGHT=200,MIN_ITEM_WIDTH=10,MIN_TOTAL_HEIGHT=60,MAX_ITEM_HEIGHT=6;function renderIntoCanvas(e,t,r,a){const n=new Map,i=t.lengthcolorGenerator.getRgbColorByKey(e);class CanvasSpanGraph extends reactExports.PureComponent{constructor(e){super(e),this._setCanvasRef=e=>{this._canvasElm=e},this._canvasElm=void 0}componentDidMount(){this._draw()}componentDidUpdate(){this._draw()}_draw(){if(this._canvasElm){const{valueWidth:e,items:t}=this.props;renderIntoCanvas(this._canvasElm,t,e,getColor)}}render(){return jsxRuntimeExports.jsx("canvas",{className:"CanvasSpanGraph",ref:this._setCanvasRef})}}const TickLabels$1="";function TickLabels(e){const{numTicks:t,duration:r}=e,a=[];for(let n=0;n{this._root=e},this._getDraggingBounds=e=>{if(!this._root)throw new Error("invalid state");const{left:t,width:r}=this._root.getBoundingClientRect(),[a,n]=this.props.viewRange.time.current;let i=1,o=0;return e===dragTypes.SHIFT_START?i=n:e===dragTypes.SHIFT_END&&(o=a),{clientXLeft:t,maxValue:i,minValue:o,width:r}},this._handleReframeMouseMove=({value:e})=>{this.props.updateNextViewRangeTime({cursor:e})},this._handleReframeMouseLeave=()=>{this.props.updateNextViewRangeTime({cursor:null})},this._handleReframeDragUpdate=({value:e})=>{const t=e,{time:r}=this.props.viewRange,a={reframe:{anchor:r.reframe?r.reframe.anchor:t,shift:t}};this.props.updateNextViewRangeTime(a)},this._handleReframeDragEnd=({manager:e,value:t})=>{const{time:r}=this.props.viewRange,a=r.reframe?r.reframe.anchor:t,[n,i]=t{const t=e===EUpdateTypes.MouseEnter;this.setState({preventCursorLine:t})},this._handleScrubberDragUpdate=({event:e,tag:t,type:r,value:a})=>{r===EUpdateTypes.DragStart&&e.stopPropagation(),t===dragTypes.SHIFT_START?this.props.updateNextViewRangeTime({shiftStart:a}):t===dragTypes.SHIFT_END&&this.props.updateNextViewRangeTime({shiftEnd:a})},this._handleScrubberDragEnd=({manager:e,tag:t,value:r})=>{const[a,n]=this.props.viewRange.time.current;let i;if(t===dragTypes.SHIFT_START)i=[r,n];else{if(t!==dragTypes.SHIFT_END)throw new Error("bad state");i=[a,r]}e.resetBounds(),this.setState({preventCursorLine:!1}),this.props.updateViewRangeTime(i[0],i[1],"minimap")},this._resetTimeZoomClickHandler=()=>{this.props.updateViewRangeTime(0,1)},this._draggerReframe=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleReframeDragEnd,onDragMove:this._handleReframeDragUpdate,onDragStart:this._handleReframeDragUpdate,onMouseMove:this._handleReframeMouseMove,onMouseLeave:this._handleReframeMouseLeave,tag:dragTypes.REFRAME}),this._draggerStart=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleScrubberDragEnd,onDragMove:this._handleScrubberDragUpdate,onDragStart:this._handleScrubberDragUpdate,onMouseEnter:this._handleScrubberEnterLeave,onMouseLeave:this._handleScrubberEnterLeave,tag:dragTypes.SHIFT_START}),this._draggerEnd=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleScrubberDragEnd,onDragMove:this._handleScrubberDragUpdate,onDragStart:this._handleScrubberDragUpdate,onMouseEnter:this._handleScrubberEnterLeave,onMouseLeave:this._handleScrubberEnterLeave,tag:dragTypes.SHIFT_END}),this._root=void 0,this.state={preventCursorLine:!1}}componentWillUnmount(){this._draggerReframe.dispose(),this._draggerEnd.dispose(),this._draggerStart.dispose()}_getMarkers(e,t,r){const a=getNextViewLayout$1(e,t),n=classnamesExports({isShiftDrag:r,isReframeDrag:!r});return[jsxRuntimeExports.jsx("rect",{className:`ViewingLayer--draggedShift ${n}`,x:a.x,y:"0",width:a.width,height:this.props.height-2},"fill"),jsxRuntimeExports.jsx("rect",{className:`ViewingLayer--draggedEdge ${n}`,x:a.leadingX,y:"0",width:"1",height:this.props.height-2},"edge")]}render(){const{height:e,viewRange:t,numTicks:r}=this.props,{preventCursorLine:a}=this.state,{current:n,cursor:i,shiftStart:o,shiftEnd:l,reframe:s}=t.time,c=null!=o||null!=l||null!=s,[u,f]=n;let A=0;u&&(A=100*u);let d,p=100;return f&&(p=100-100*f),c||null==i||a||(d=100*i+"%"),jsxRuntimeExports.jsxs("div",{"aria-hidden":!0,className:"ViewingLayer",style:{height:e},children:[(0!==u||1!==f)&&jsxRuntimeExports.jsx(Button$2,{onClick:this._resetTimeZoomClickHandler,className:"ViewingLayer--resetZoom",htmlType:"button",children:"Reset Selection"}),jsxRuntimeExports.jsxs("svg",{height:e,className:"ViewingLayer--graph",ref:this._setRoot,onMouseDown:this._draggerReframe.handleMouseDown,onMouseLeave:this._draggerReframe.handleMouseLeave,onMouseMove:this._draggerReframe.handleMouseMove,children:[A>0&&jsxRuntimeExports.jsx("rect",{x:0,y:0,height:"100%",width:`${A}%`,className:"ViewingLayer--inactive"}),p>0&&jsxRuntimeExports.jsx("rect",{x:100-p+"%",y:0,height:"100%",width:`${p}%`,className:"ViewingLayer--inactive"}),jsxRuntimeExports.jsx(GraphTicks,{numTicks:r}),d&&jsxRuntimeExports.jsx("line",{className:"ViewingLayer--cursorGuide",x1:d,y1:"0",x2:d,y2:e-2,strokeWidth:"1"}),null!=o&&this._getMarkers(u,o,!0),null!=l&&this._getMarkers(f,l,!0),jsxRuntimeExports.jsx(Scrubber,{isDragging:null!=o,onMouseDown:this._draggerStart.handleMouseDown,onMouseEnter:this._draggerStart.handleMouseEnter,onMouseLeave:this._draggerStart.handleMouseLeave,position:u||0}),jsxRuntimeExports.jsx(Scrubber,{isDragging:null!=l,position:f||1,onMouseDown:this._draggerEnd.handleMouseDown,onMouseEnter:this._draggerEnd.handleMouseEnter,onMouseLeave:this._draggerEnd.handleMouseLeave}),null!=s&&this._getMarkers(s.anchor,s.shift,!1)]}),c&&jsxRuntimeExports.jsx("div",{className:"ViewingLayer--fullOverlay"})]})}}const DEFAULT_HEIGHT=60,TIMELINE_TICK_INTERVAL=4;function getItem(e){return{valueOffset:e.relativeStartTime,valueWidth:e.duration,serviceName:e.process.serviceName}}function getItems(e){return e.spans.map(getItem)}const memoizedGetItems=memoizeOne$1(getItems);class SpanGraph extends reactExports.PureComponent{render(){const{height:e,trace:t,viewRange:r,updateNextViewRangeTime:a,updateViewRangeTime:n}=this.props;if(!t)return jsxRuntimeExports.jsx("div",{});const i=memoizedGetItems(t);return jsxRuntimeExports.jsxs("div",{className:"ub-pb2 ub-px2",children:[jsxRuntimeExports.jsx(TickLabels,{numTicks:TIMELINE_TICK_INTERVAL,duration:t.duration}),jsxRuntimeExports.jsxs("div",{className:"ub-relative",children:[jsxRuntimeExports.jsx(CanvasSpanGraph,{valueWidth:t.duration,items:i}),jsxRuntimeExports.jsx(ViewingLayer,{viewRange:r,numTicks:TIMELINE_TICK_INTERVAL,height:e||DEFAULT_HEIGHT,updateViewRangeTime:n,updateNextViewRangeTime:a})]})]})}}SpanGraph.defaultProps={height:DEFAULT_HEIGHT};const IN_TRACE_SEARCH="in-trace-search",TracePageSearchBar$1="";function TracePageSearchBarFn(e){const{clearSearch:t,focusUiFindMatches:r,forwardedRef:a,navigable:n,nextResult:i,prevResult:o,resultCount:l,textFilter:s}=e,c=s?jsxRuntimeExports.jsx("span",{className:"TracePageSearchBar--count",children:l}):null,u=classnamesExports("TracePageSearchBar--btn",{"is-disabled":!s}),f={"data-test":IN_TRACE_SEARCH,className:"TracePageSearchBar--bar ub-flex-auto",name:"search",suffix:c};return jsxRuntimeExports.jsx("div",{className:"TracePageSearchBar",children:jsxRuntimeExports.jsxs(Input$1.Group,{className:"ub-justify-end",compact:!0,style:{display:"flex"},children:[jsxRuntimeExports.jsx(UiFindInput,{inputProps:f,forwardedRef:a,trackFindFunction:trackFilter}),n&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$2,{className:classnamesExports(u,"TracePageSearchBar--locateBtn"),disabled:!s,htmlType:"button",onClick:r,children:jsxRuntimeExports.jsx(IoAndroidLocate,{})}),jsxRuntimeExports.jsx(Button$2,{className:u,disabled:!s,htmlType:"button",icon:"up",onClick:o}),jsxRuntimeExports.jsx(Button$2,{className:u,disabled:!s,htmlType:"button",icon:"down",onClick:i})]}),jsxRuntimeExports.jsx(Button$2,{className:u,disabled:!s,htmlType:"button",icon:"close",onClick:t})]})})}const TracePageSearchBar=reactExports.forwardRef(((e,t)=>jsxRuntimeExports.jsx(TracePageSearchBarFn,{...e,forwardedRef:t}))),LabeledList$1="";function LabeledList(e){const{className:t,dividerClassName:r,items:a}=e;return jsxRuntimeExports.jsx("ul",{className:`LabeledList ${t||""}`,children:a.map((({key:e,label:t,value:n},i)=>{const o=ie)));for(let a=0;at===e[a].traceID&&r.has(n))))continue;if(!t){t=e[a];continue}const n=e[a].references&&e[a].references.length||0,i=t.references&&t.references.length||0;(ne.length?e[0].traceID:0));var baseUniq=_baseUniq;function uniq(e){return e&&e.length?baseUniq(e):[]}var uniq_1=uniq;function getParent(e){const t=e.references?e.references.find((e=>"CHILD_OF"===e.refType)):null;return t?t.span:null}function processTemplate(e,t){if("string"!=typeof e){if(e&&Array.isArray(e.parameters)&&"function"==typeof e.template)return e;throw new Error("Invalid template")}return{parameters:getParamNames(e),template:encodedStringSupplant.bind(null,e,t)}}function createTestFunction(e){if("string"==typeof e)return t=>t===e;if(Array.isArray(e))return t=>e.indexOf(t)>-1;if(e instanceof RegExp)return t=>e.test(t);if("function"==typeof e)return e;if(null==e)return()=>!0;throw new Error(`Invalid value: ${e}`)}const identity=e=>e;function processLinkPattern(e){try{const t=processTemplate(e.url,encodeURIComponent),r=processTemplate(e.text,identity);return{object:e,type:createTestFunction(e.type),key:createTestFunction(e.key),value:createTestFunction(e.value),url:t,text:r,parameters:uniq_1(t.parameters.concat(r.parameters))}}catch(error){return console.error(`Ignoring invalid link pattern: ${error}`,e),null}}function getParameterInArray(e,t){if(t)return t.find((t=>t.key===e))}function getParameterInAncestor(e,t){let r=t;for(;r;){const t=getParameterInArray(e,r.tags)||getParameterInArray(e,r.process.tags);if(t)return t;r=getParent(r)}}const getValidTraceKeys=memoize(10)((e=>{const t=Object.keys(e).filter((t=>"string"==typeof e[t]||"number"==typeof e[t]));return t}));function getParameterInTrace(e,t){if(t){const r=e;if(getValidTraceKeys(t).includes(r))return{key:r,value:t[r]}}}function callTemplate(e,t){return e.template(t)}function computeTraceLink(e,t){const r=[];return e.filter((e=>e.type("traces"))).forEach((e=>{const a={};e.parameters.every((e=>{const r=getParameterInTrace(e,t);return!!r&&(a[e]=r.value,!0)}))&&r.push({url:callTemplate(e.url,a),text:callTemplate(e.text,a)})})),r}function computeLinks(e,t,r,a,n){const i=r[a];let o="logs";const l=t.process.tags===r;l&&(o="process");t.tags===r&&(o="tags");const s=[];return e.forEach((e=>{if(e.type(o)&&e.key(i.key)&&e.value(i.value)){const a={};e.parameters.every((s=>{let c;return s.startsWith("trace.")?c=getParameterInTrace(s.split("trace.")[1],n):(c=getParameterInArray(s,r),c||l||(c=getParameterInAncestor(s,t))),c?(a[s]=c.value,!0):(console.warn(`Skipping link pattern, missing parameter ${s} for key ${i.key} in ${o}.`,e.object),!1)}))&&s.push({url:callTemplate(e.url,a),text:callTemplate(e.text,a)})}})),s}function createGetLinks(e,t){return(r,a,n,i)=>{if(0===e.length)return[];const o=a[n];let l=t.get(o);return l||(l=computeLinks(e,r,a,n,i),t.set(o,l)),l}}const processedLinks=(getConfigValue("linkPatterns")||[]).map(processLinkPattern).filter(Boolean),getTraceLinks=memoize(10)((e=>e?computeTraceLink(processedLinks,e):[])),getLinks=createGetLinks(processedLinks,new WeakMap),TracePageHeader$1="",LinkValue$1=e=>jsxRuntimeExports.jsxs("a",{href:e.href,title:e.title,target:"_blank",rel:"noopener noreferrer",className:e.className,children:[e.children," ",jsxRuntimeExports.jsx(NewWindowIcon,{})]}),linkValueList$1=e=>jsxRuntimeExports.jsx(Menu,{children:e.map((({text:e,url:t},r)=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(LinkValue$1,{href:t,children:e})},`${t}-${r}`)))});function ExternalLinks(e){const{links:t}=e;return 1===t.length?jsxRuntimeExports.jsx(LinkValue$1,{href:t[0].url,title:t[0].text,className:"TracePageHeader--back"}):jsxRuntimeExports.jsx(Dropdown,{overlay:linkValueList$1(t),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsx("a",{className:"TracePageHeader--back",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})})}var buttonGroup={},configProvider={},localeProvider={};const require$$2$1=getAugmentedNamespace(moment);var interopDefault={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.default||e}}(interopDefault);var locale={},_default$2={},en_USExports$1={},en_US$4={get exports(){return en_USExports$1},set exports(e){en_USExports$1=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages"},e.exports=t.default}(en_US$4,en_USExports$1);var en_US$3={},en_USExports={},en_US$2={get exports(){return en_USExports},set exports(e){en_USExports=e}};!function(e,t){t.__esModule=!0,t.default={today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},e.exports=t.default}(en_US$2,en_USExports);var en_US$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t={placeholder:"Select time"};e.default=t}(en_US$1),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a(en_USExports),r=a(en_US$1);function a(e){return e&&e.__esModule?e:{default:e}}function n(){return n=Object.assign||function(e){for(var t=1;t{const t=reactExports.useContext(ZoomContext);return jsxRuntimeExports.jsxs(ButtonGroup,{className:e.className,children:[jsxRuntimeExports.jsx(Button$2,{onClick:()=>{t?.zoomOut()},htmlType:"button",icon:"zoom-out"}),jsxRuntimeExports.jsx(Button$2,{onClick:()=>{t?.zoomIn()},htmlType:"button",icon:"zoom-in"})]})},addActionPrefix=(e,t,r)=>{const a={};return Object.entries(t).forEach((([t,n])=>{a[t]=`${e}${isString$6(r)?r:"/"}${n}`})),a},actions$1={GO_TO_SPAN:"GO_TO_SPAN",GET_SPANS_DATA:"GET_SPANS_DATA",SET_SPANS_DATA:"SET_SPANS_DATA",CLEAR:"CLEAR"},GLOBAL_ACTION_PREFIX="GLOBAL",globalActions=addActionPrefix(GLOBAL_ACTION_PREFIX,{CHANGE_SCOPE:"CHANGE_SCOPE",OPEN_URL_IN_DEFAULT_BROWSER:"OPEN_URL_IN_DEFAULT_BROWSER"}),HEADER_ITEMS=[{key:"timestamp",label:"Trace Start",renderer:e=>{const t=formatDatetime(e.startTime),r=t.match(/^(.+)(\.\d+)$/);return r?jsxRuntimeExports.jsxs("span",{className:"TracePageHeader--overviewItem--value",children:[r[1],jsxRuntimeExports.jsx("span",{className:"TracePageHeader--overviewItem--valueDetail",children:r[2]})]}):t}},{key:"duration",label:"Duration",renderer:e=>formatDuration(e.duration)},{key:"service-count",label:"Services",renderer:e=>new Set(_values(e.processes).map((e=>e.serviceName))).size},{key:"depth",label:"Depth",renderer:e=>get_1$1(maxBy_1(e.spans,"depth"),"depth",0)+1},{key:"span-count",label:"Total Spans",renderer:e=>e.spans.length}];function TracePageHeaderFn(e){const{canCollapse:t,clearSearch:r,focusUiFindMatches:a,forwardedRef:n,hideMap:i,hideSummary:o,linkToStandalone:l,nextResult:s,onArchiveClicked:c,onSlimViewClicked:u,onTraceViewChange:f,prevResult:A,resultCount:d,showArchiveButton:p,showShortcutsHelp:h,showStandaloneLink:b,showViewOptions:g,slimView:m,textFilter:v,toSearch:y,trace:w,viewType:k,updateNextViewRangeTime:x,updateViewRangeTime:E,viewRange:_}=e;if(!w)return null;const C=getTraceLinks(w),$=!o&&!m&&HEADER_ITEMS.map((e=>{const{renderer:t,...r}=e;return{...r,value:t(w)}})),T=jsxRuntimeExports.jsxs("h1",{className:"TracePageHeader--title "+(t?"is-collapsible":""),children:[jsxRuntimeExports.jsx(TraceName,{traceName:getTraceName(w.spans)})," ",jsxRuntimeExports.jsx("small",{className:"u-tx-muted",children:w.traceID.slice(0,7)})]});return jsxRuntimeExports.jsxs("header",{className:"TracePageHeader",children:[jsxRuntimeExports.jsxs("div",{className:"TracePageHeader--titleRow",children:[y&&jsxRuntimeExports.jsx(Link$1,{className:"TracePageHeader--back",to:y,children:jsxRuntimeExports.jsx(IoAndroidArrowBack,{})}),C&&C.length>0&&jsxRuntimeExports.jsx(ExternalLinks,{links:C}),t?jsxRuntimeExports.jsxs("a",{className:"TracePageHeader--titleLink",onClick:u,role:"switch","aria-checked":!m,children:[jsxRuntimeExports.jsx(MdKeyboardArrowRight,{className:"TracePageHeader--detailToggle "+(m?"":"is-expanded")}),T]}):T,jsxRuntimeExports.jsx(TracePageSearchBar,{clearSearch:r,focusUiFindMatches:a,nextResult:s,prevResult:A,ref:n,resultCount:d,textFilter:v,navigable:k===ETraceViewType.TraceTimelineViewer}),h&&jsxRuntimeExports.jsx(KeyboardShortcutsHelp,{className:"ub-m2"}),g&&jsxRuntimeExports.jsx(AltViewOptions,{onTraceViewChange:f,traceID:w.traceID,viewType:k}),p&&jsxRuntimeExports.jsxs(Button$2,{className:"ub-mr2 ub-flex ub-items-center",htmlType:"button",onClick:c,children:[jsxRuntimeExports.jsx(IoIosFilingOutline,{className:"TracePageHeader--archiveIcon"}),"Archive Trace"]}),window.enableZoomControls&&jsxRuntimeExports.jsx(ZoomControls,{className:"TracePageHeader--zoomControls"}),b&&"JetBrains"===window.platform?jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-mx2",to:"#",onClick:e=>{e.preventDefault(),window.sendMessageToDigma({action:globalActions.OPEN_URL_IN_DEFAULT_BROWSER,payload:{url:`${window.apiBaseUrl}${window.location.pathname}${window.location.search}`}})},children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})}):jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-mx2",to:l,target:"_blank",rel:"noopener noreferrer",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})]}),$&&jsxRuntimeExports.jsx(LabeledList,{className:"TracePageHeader--overviewItems",items:$}),!i&&!m&&jsxRuntimeExports.jsx(SpanGraph,{trace:w,viewRange:_,updateNextViewRangeTime:x,updateViewRangeTime:E})]})}const TracePageHeader=reactExports.forwardRef(((e,t)=>jsxRuntimeExports.jsx(TracePageHeaderFn,{...e,forwardedRef:t})));class DetailState{constructor(e){const{isTagsOpen:t,isProcessOpen:r,isReferencesOpen:a,isWarningsOpen:n,logs:i}=e||{};this.isTagsOpen=Boolean(t),this.isProcessOpen=Boolean(r),this.isReferencesOpen=Boolean(a),this.isWarningsOpen=Boolean(n),this.logs={isOpen:Boolean(i&&i.isOpen),openedItems:i&&i.openedItems?new Set(i.openedItems):new Set}}toggleTags(){const e=new DetailState(this);return e.isTagsOpen=!this.isTagsOpen,e}toggleProcess(){const e=new DetailState(this);return e.isProcessOpen=!this.isProcessOpen,e}toggleReferences(){const e=new DetailState(this);return e.isReferencesOpen=!this.isReferencesOpen,e}toggleWarnings(){const e=new DetailState(this);return e.isWarningsOpen=!this.isWarningsOpen,e}toggleLogs(){const e=new DetailState(this);return e.logs.isOpen=!this.logs.isOpen,e}toggleLogItem(e){const t=new DetailState(this);return t.logs.openedItems.has(e)?t.logs.openedItems.delete(e):t.logs.openedItems.add(e),t}}function getFirstAncestor(e){return get_1$1(find_1(e.references,(({span:e,refType:t})=>e&&e.spanID&&("CHILD_OF"===t||"FOLLOWS_FROM"===t))),"span")}function spanAncestorIds(e){const t=[];if(!e)return t;let r=getFirstAncestor(e);for(;r;)t.push(r.spanID),r=getFirstAncestor(r);return t}function shouldDisableCollapse(e,t){const r=e.filter((e=>e.hasChildren));return r.length===t.size}function newInitialState(){return{childrenHiddenIDs:new Set,detailStates:new Map,hoverIndentGuideIds:new Set,shouldScrollToFirstUiFindMatch:!1,spanNameColumnWidth:parseFloat(localStorage.getItem("spanNameColumnWidth")||"0.25"),traceID:null}}const actionTypes=generateActionTypes("@jaeger-ui/trace-timeline-viewer",["ADD_HOVER_INDENT_GUIDE_ID","CHILDREN_TOGGLE","CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH","COLLAPSE_ALL","COLLAPSE_ONE","DETAIL_TOGGLE","DETAIL_TAGS_TOGGLE","DETAIL_PROCESS_TOGGLE","DETAIL_LOGS_TOGGLE","DETAIL_LOG_ITEM_TOGGLE","DETAIL_WARNINGS_TOGGLE","DETAIL_REFERENCES_TOGGLE","EXPAND_ALL","EXPAND_ONE","FOCUS_UI_FIND_MATCHES","REMOVE_HOVER_INDENT_GUIDE_ID","SET_SPAN_NAME_COLUMN_WIDTH","SET_TRACE"]),fullActions=createActions({[actionTypes.ADD_HOVER_INDENT_GUIDE_ID]:e=>({spanID:e}),[actionTypes.CHILDREN_TOGGLE]:e=>({spanID:e}),[actionTypes.CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH]:()=>({}),[actionTypes.COLLAPSE_ALL]:e=>({spans:e}),[actionTypes.COLLAPSE_ONE]:e=>({spans:e}),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:(e,t)=>({logItem:t,spanID:e}),[actionTypes.DETAIL_LOGS_TOGGLE]:e=>({spanID:e}),[actionTypes.EXPAND_ALL]:()=>({}),[actionTypes.EXPAND_ONE]:e=>({spans:e}),[actionTypes.DETAIL_PROCESS_TOGGLE]:e=>({spanID:e}),[actionTypes.DETAIL_WARNINGS_TOGGLE]:e=>({spanID:e}),[actionTypes.DETAIL_REFERENCES_TOGGLE]:e=>({spanID:e}),[actionTypes.DETAIL_TAGS_TOGGLE]:e=>({spanID:e}),[actionTypes.DETAIL_TOGGLE]:e=>({spanID:e}),[actionTypes.FOCUS_UI_FIND_MATCHES]:(e,t,r)=>({trace:e,uiFind:t,allowHide:r}),[actionTypes.REMOVE_HOVER_INDENT_GUIDE_ID]:e=>({spanID:e}),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:e=>({width:e}),[actionTypes.SET_TRACE]:(e,t)=>({trace:e,uiFind:t})}),actions=fullActions.jaegerUi.traceTimelineViewer;function calculateFocusedFindRowStates(e,t,r=!0){const a=new Map,n=new Set,i=new Map;let o=!1;t.forEach((e=>{a.set(e.spanID,e),r&&n.add(e.spanID)}));const l=filterSpans(e,t);return l&&l.size&&(l.forEach((e=>{const t=a.get(e);i.set(e,new DetailState),spanAncestorIds(t).forEach((e=>n.delete(e)))})),o=!0),{childrenHiddenIDs:n,detailStates:i,shouldScrollToFirstUiFindMatch:o}}function focusUiFindMatches(e,{uiFind:t,trace:r,allowHide:a}){return t?{...e,...calculateFocusedFindRowStates(t,r.spans,a)}:e}function clearShouldScrollToFirstUiFindMatch(e){return e.shouldScrollToFirstUiFindMatch?{...e,shouldScrollToFirstUiFindMatch:!1}:e}function setTrace(e,{uiFind:t,trace:r}){const{traceID:a,spans:n}=r;if(a===e.traceID)return e;const{spanNameColumnWidth:i}=e;return Object.assign({...newInitialState(),spanNameColumnWidth:i,traceID:a},t?calculateFocusedFindRowStates(t,n,!1):null)}function setColumnWidth(e,{width:t}){return localStorage.setItem("spanNameColumnWidth",t.toString()),{...e,spanNameColumnWidth:t}}function childrenToggle(e,{spanID:t}){const r=new Set(e.childrenHiddenIDs);return r.has(t)?r.delete(t):r.add(t),{...e,childrenHiddenIDs:r}}function expandAll(e){return{...e,childrenHiddenIDs:new Set}}function collapseAll(e,{spans:t}){if(shouldDisableCollapse(t,e.childrenHiddenIDs))return e;const r=t.reduce(((e,t)=>(t.hasChildren&&e.add(t.spanID),e)),new Set);return{...e,childrenHiddenIDs:r}}function collapseOne(e,{spans:t}){if(shouldDisableCollapse(t,e.childrenHiddenIDs))return e;let r;const a=t.reduce(((e,t)=>(r&&t.depth<=r.depth?(e.add(r.spanID),t.hasChildren&&(r=t)):t.hasChildren&&!e.has(t.spanID)&&(r=t),e)),new Set(e.childrenHiddenIDs));return r&&a.add(r.spanID),{...e,childrenHiddenIDs:a}}function expandOne(e,{spans:t}){if(0===e.childrenHiddenIDs.size)return e;let r=-1,a=!0;const n=t.reduce(((e,t)=>(t.depth<=r&&(a=!0),a&&e.has(t.spanID)&&(e.delete(t.spanID),a=!1,r=t.depth),e)),new Set(e.childrenHiddenIDs));return{...e,childrenHiddenIDs:n}}function detailToggle(e,{spanID:t}){const r=new Map(e.detailStates);return r.has(t)?r.delete(t):r.set(t,new DetailState),{...e,detailStates:r}}function detailSubsectionToggle(e,t,{spanID:r}){const a=t.detailStates.get(r);if(!a)return t;let n;n="tags"===e?a.toggleTags():"process"===e?a.toggleProcess():"warnings"===e?a.toggleWarnings():"references"===e?a.toggleReferences():a.toggleLogs();const i=new Map(t.detailStates);return i.set(r,n),{...t,detailStates:i}}const detailTagsToggle=detailSubsectionToggle.bind(null,"tags"),detailProcessToggle=detailSubsectionToggle.bind(null,"process"),detailLogsToggle=detailSubsectionToggle.bind(null,"logs"),detailWarningsToggle=detailSubsectionToggle.bind(null,"warnings"),detailReferencesToggle=detailSubsectionToggle.bind(null,"references");function detailLogItemToggle(e,{spanID:t,logItem:r}){const a=e.detailStates.get(t);if(!a)return e;const n=a.toggleLogItem(r),i=new Map(e.detailStates);return i.set(t,n),{...e,detailStates:i}}function addHoverIndentGuideId(e,{spanID:t}){const r=new Set(e.hoverIndentGuideIds);return r.add(t),{...e,hoverIndentGuideIds:r}}function removeHoverIndentGuideId(e,{spanID:t}){const r=new Set(e.hoverIndentGuideIds);return r.delete(t),{...e,hoverIndentGuideIds:r}}const traceTimeline=handleActions({[actionTypes.ADD_HOVER_INDENT_GUIDE_ID]:guardReducer(addHoverIndentGuideId),[actionTypes.CHILDREN_TOGGLE]:guardReducer(childrenToggle),[actionTypes.CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH]:guardReducer(clearShouldScrollToFirstUiFindMatch),[actionTypes.COLLAPSE_ALL]:guardReducer(collapseAll),[actionTypes.COLLAPSE_ONE]:guardReducer(collapseOne),[actionTypes.DETAIL_LOGS_TOGGLE]:guardReducer(detailLogsToggle),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:guardReducer(detailLogItemToggle),[actionTypes.DETAIL_PROCESS_TOGGLE]:guardReducer(detailProcessToggle),[actionTypes.DETAIL_WARNINGS_TOGGLE]:guardReducer(detailWarningsToggle),[actionTypes.DETAIL_REFERENCES_TOGGLE]:guardReducer(detailReferencesToggle),[actionTypes.DETAIL_TAGS_TOGGLE]:guardReducer(detailTagsToggle),[actionTypes.DETAIL_TOGGLE]:guardReducer(detailToggle),[actionTypes.EXPAND_ALL]:guardReducer(expandAll),[actionTypes.EXPAND_ONE]:guardReducer(expandOne),[actionTypes.FOCUS_UI_FIND_MATCHES]:guardReducer(focusUiFindMatches),[actionTypes.REMOVE_HOVER_INDENT_GUIDE_ID]:guardReducer(removeHoverIndentGuideId),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:guardReducer(setColumnWidth),[actionTypes.SET_TRACE]:guardReducer(setTrace)},newInitialState()),TimelineCollapser$1="";function getTitle(e){return jsxRuntimeExports.jsx("span",{className:"TimelineCollapser--tooltipTitle",children:e})}class TimelineCollapser extends React$k.PureComponent{constructor(e){super(e),this.getContainer=()=>this.containerRef.current||document.createElement("div"),this.containerRef=React$k.createRef()}render(){const{onExpandAll:e,onExpandOne:t,onCollapseAll:r,onCollapseOne:a}=this.props;return jsxRuntimeExports.jsxs("div",{className:"TimelineCollapser",ref:this.containerRef,children:[jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Expand +1"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"right",onClick:t,className:"TimelineCollapser--btn-expand"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Collapse +1"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"right",onClick:a,className:"TimelineCollapser--btn"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Expand All"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"double-right",onClick:e,className:"TimelineCollapser--btn-expand"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Collapse All"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"double-right",onClick:r,className:"TimelineCollapser--btn"})})]})}}const TimelineViewingLayer$1="";function isOutOfView(e){return Reflect.has(e,"isOutOfView")}function mapFromViewSubRange(e,t,r){return e+r*(t-e)}function mapToViewSubRange(e,t,r){return(r-e)/(t-e)}function getNextViewLayout(e,t){let[r,a]=e=1||a<=0?{isOutOfView:!0}:(r<0&&(r=0),a>1&&(a=1),{isDraggingLeft:e>t,left:100*r+"%",width:100*(a-r)+"%"})}function getMarkers(e,t,r,a,n){const i=getNextViewLayout(mapToViewSubRange(e,t,r),mapToViewSubRange(e,t,a));if(isOutOfView(i))return null;const{isDraggingLeft:o,left:l,width:s}=i,c=classnamesExports({isDraggingLeft:o,isDraggingRight:!o,isReframeDrag:!n,isShiftDrag:n});return jsxRuntimeExports.jsx("div",{className:`TimelineViewingLayer--dragged ${c}`,style:{left:l,width:s}})}class TimelineViewingLayer extends reactExports.PureComponent{constructor(e){super(e),this._getDraggingBounds=()=>{const e=this._root.current;if(!e)throw new Error("Component must be mounted in order to determine DraggableBounds");const{left:t,width:r}=e.getBoundingClientRect();return{clientXLeft:t,width:r}},this._handleReframeMouseMove=({value:e})=>{const[t,r]=this.props.viewRangeTime.current,a=mapFromViewSubRange(t,r,e);this.props.updateNextViewRangeTime({cursor:a})},this._handleReframeMouseLeave=()=>{this.props.updateNextViewRangeTime({cursor:void 0})},this._getAnchorAndShift=e=>{const{current:t,reframe:r}=this.props.viewRangeTime,[a,n]=t,i=mapFromViewSubRange(a,n,e);return{anchor:r?r.anchor:i,shift:i}},this._handleReframeDragUpdate=({value:e})=>{const{anchor:t,shift:r}=this._getAnchorAndShift(e),a={reframe:{anchor:t,shift:r}};this.props.updateNextViewRangeTime(a)},this._handleReframeDragEnd=({manager:e,value:t})=>{const{anchor:r,shift:a}=this._getAnchorAndShift(t),[n,i]=a=o&&r<=l&&(s=100*mapToViewSubRange(o,l,r)+"%"),jsxRuntimeExports.jsxs("div",{"aria-hidden":!0,className:"TimelineViewingLayer",ref:this._root,onMouseDown:this._draggerReframe.handleMouseDown,onMouseLeave:this._draggerReframe.handleMouseLeave,onMouseMove:this._draggerReframe.handleMouseMove,children:[null!=s&&jsxRuntimeExports.jsx("div",{className:"TimelineViewingLayer--cursorGuide",style:{left:s}}),null!=a&&getMarkers(o,l,a.anchor,a.shift,!1),null!=n&&getMarkers(o,l,l,n,!0),null!=i&&getMarkers(o,l,o,i,!0)]})}}function createViewedBoundsFunc(e){const{min:t,max:r,viewStart:a,viewEnd:n}=e,i=r-t,o=t+a*i,l=r-(1-n)*i-o;return(e,t)=>({start:(e-o)/l,end:(t-o)/l})}function spanHasTag(e,t,r){return!(!Array.isArray(r.tags)||!r.tags.length)&&r.tags.some((r=>r.key===e&&r.value===t))}const isClientSpan=spanHasTag.bind(null,"span.kind","client"),isServerSpan=spanHasTag.bind(null,"span.kind","server"),isErrorBool=spanHasTag.bind(null,"error",!0),isErrorStr=spanHasTag.bind(null,"error","true"),isErrorSpan=e=>isErrorBool(e)||isErrorStr(e);function spanContainsErredSpan(e,t){const{depth:r}=e[t];let a=t+1;for(;ar;a++)if(isErrorSpan(e[a]))return!0;return!1}function findServerChildSpan(e){if(e.length<=1||!isClientSpan(e[0]))return!1;const t=e[0].depth+1;let r=1;for(;re.tags.some((({key:e,value:t})=>"span.kind"===e&&"client"===t)),Ticks$1="";function Ticks(e){const{endTime:t,numTicks:r,showLabels:a,startTime:n}=e;let i;if(a){i=[];const e=(t||0)-(n||0);for(let t=0;t=1?"isEndAnchor":""),children:i[l]})},e))}return jsxRuntimeExports.jsx("div",{className:"Ticks",children:o})}Ticks.defaultProps={endTime:null,showLabels:null,startTime:null};const TimelineRow$1="";function TimelineRow(e){const{children:t,className:r="",...a}=e;return jsxRuntimeExports.jsx("div",{className:`flex-row ${r}`,...a,children:t})}function TimelineRowCell(e){const{children:t,className:r="",width:a,style:n,...i}=e,o=100*a+"%",l={...n,flexBasis:o,maxWidth:o};return jsxRuntimeExports.jsx("div",{className:`ub-relative ${r}`,style:l,...i,children:t})}TimelineRow.defaultProps={className:""},TimelineRowCell.defaultProps={className:"",style:{}},TimelineRow.Cell=TimelineRowCell;const TimelineHeaderRow="";class ActionDispatcher{constructor(){this.actions={}}addActionListener(e,t){this.actions[e]?this.actions[e].push(t):this.actions[e]=[t]}removeActionListener(e,t){this.actions[e]&&(this.actions[e]=this.actions[e].filter((e=>e!==t))),0===this.actions[e].length&&delete this.actions[e]}dispatch(e,t,r,a){this.actions[t]&&this.actions[t].forEach((t=>t(r,e,a)))}}const dispatcher=new ActionDispatcher,state={pendingOperationsCount:0,spans:{}},updateState=(e,t)=>{switch(e){case actions$1.GET_SPANS_DATA:state.pendingOperationsCount++;break;case actions$1.SET_SPANS_DATA:state.spans=t,state.pendingOperationsCount--;break;case actions$1.CLEAR:state.spans={},state.pendingOperationsCount--}};let SpanDetailRow$2=class extends reactExports.PureComponent{constructor(e){super(e),this._updateIsLoading=this._updateIsLoading.bind(this),this.state={isLoading:Boolean(state.pendingOperationsCount)}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateIsLoading)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateIsLoading)}_updateIsLoading(){this.setState({isLoading:!1})}render(){const{duration:e,nameColumnWidth:t,numTicks:r,onCollapseAll:a,onCollapseOne:n,onColummWidthChange:i,onExpandAll:o,onExpandOne:l,updateViewRangeTime:s,updateNextViewRangeTime:c,viewRangeTime:u}=this.props,[f,A]=u.current;return jsxRuntimeExports.jsxs(TimelineRow,{className:"TimelineHeaderRow",children:[jsxRuntimeExports.jsxs(TimelineRow.Cell,{className:"ub-flex ub-px2",width:t,children:[jsxRuntimeExports.jsx("h3",{className:"TimelineHeaderRow--title",children:"Service & Operation"}),this.state.isLoading&&jsxRuntimeExports.jsxs("div",{className:"ub-flex TimelineHeaderRow--loading",children:[jsxRuntimeExports.jsx(LoadingIndicator,{className:"is-medium"}),jsxRuntimeExports.jsx("span",{className:"TimelineHeaderRow--loading-text",children:"Loading data..."})]}),jsxRuntimeExports.jsx(TimelineCollapser,{onCollapseAll:a,onExpandAll:o,onCollapseOne:n,onExpandOne:l})]}),jsxRuntimeExports.jsxs(TimelineRow.Cell,{width:1-t,children:[jsxRuntimeExports.jsx(TimelineViewingLayer,{boundsInvalidator:t,updateNextViewRangeTime:c,updateViewRangeTime:s,viewRangeTime:u}),jsxRuntimeExports.jsx(Ticks,{numTicks:r,startTime:f*e,endTime:A*e,showLabels:!0})]}),jsxRuntimeExports.jsx(VerticalResizer,{position:t,onChange:i,min:.15,max:.85})]})}};class Positions{constructor(e){this.ys=[],this.heights=[],this.bufferLen=e,this.dataLen=-1,this.lastI=-1}profileData(e){e!==this.dataLen&&(this.dataLen=e,this.ys.length=e,this.heights.length=e,this.lastI>=e&&(this.lastI=e-1))}calcHeights(e,t,r){null!=r&&(this.lastI=r);let a=e+this.bufferLen;if(a<=this.lastI)return;a>=this.heights.length&&(a=this.heights.length-1);let n=this.lastI;for(-1===this.lastI&&(n=0,this.ys[0]=0);n<=a;){const e=this.heights[n]=t(n);this.ys[n+1]=this.ys[n]+e,n++}this.lastI=a}calcYs(e,t){for(;(null==this.ys[this.lastI]||e>this.ys[this.lastI])&&this.lastIthis.lastI)return void this.calcHeights(r,t);const a=t(r);if(a===this.heights[r])return;const n=a-this.heights[r];for(this.heights[r]=a;++r<=this.lastI;)this.ys[r]+=n;null!=this.ys[this.lastI+1]&&(this.ys[this.lastI+1]+=n)}findFloorIndex(e,t){this.calcYs(e,t);let r,a=0,n=this.lastI;if(this.ys.length<2||ethis.ys[n])return n;for(;athis.ys[r]){if(e<=this.ys[r+1])return r;a=r}else{if(!(e=this.ys[r-1])return r-1;n=r}throw new Error(`unable to find floor index for y=${e}`)}getRowPosition(e,t){return this.confirmHeight(e,t),{height:this.heights[e],y:this.ys[e]}}getEstimatedHeight(){const e=this.ys[this.lastI]+this.heights[this.lastI];return this.lastI>=this.dataLen-1?0|e:e/(this.lastI+1)*this.heights.length|0}}const DEFAULT_INITIAL_DRAW=300;class ListView extends reactExports.Component{constructor(e){super(e),this.getViewHeight=()=>this._viewHeight,this.getBottomVisibleIndex=()=>{const e=this._scrollTop+this._viewHeight;return this._yPositions.findFloorIndex(e,this._getHeight)},this.getTopVisibleIndex=()=>this._yPositions.findFloorIndex(this._scrollTop,this._getHeight),this.getRowPosition=e=>this._yPositions.getRowPosition(e,this._getHeight),this._onScroll=()=>{this._isScrolledOrResized||(this._isScrolledOrResized=!0,window.requestAnimationFrame(this._positionList))},this._positionList=()=>{if(this._isScrolledOrResized=!1,!this._wrapperElm)return;this._calcViewIndexes();const e=this.props.viewBufferMin>this._startIndex?0:this._startIndex-this.props.viewBufferMin,t=this.props.viewBufferMinthis._endIndexDrawn)&&this.forceUpdate()},this._initWrapper=e=>{this._wrapperElm=e,!this.props.windowScroller&&e&&(this._viewHeight=e.clientHeight)},this._initItemHolder=e=>{this._itemHolderElm=e,this._scanItemHeights()},this._scanItemHeights=()=>{const e=this.props.getIndexFromKey;if(!this._itemHolderElm)return;let t=null,r=null,a=!1;const n=this._itemHolderElm.childNodes,i=n.length;for(let o=0;o{const t=this.props.getKeyFromIndex(e),r=this._knownHeights.get(t);return null!=r&&r==r?r:this.props.itemHeightGetter(e,t)},this._yPositions=new Positions(200),this._knownHeights=new Map,this._startIndexDrawn=2**20,this._endIndexDrawn=-1048576,this._startIndex=0,this._endIndex=0,this._viewHeight=-1,this._scrollTop=-1,this._isScrolledOrResized=!1,this._htmlTopOffset=-1,this._windowScrollListenerAdded=!1,this._htmlElm=document.documentElement,this._wrapperElm=void 0,this._itemHolderElm=void 0}componentDidMount(){if(this.props.windowScroller){if(this._wrapperElm){const{top:e}=this._wrapperElm.getBoundingClientRect();this._htmlTopOffset=e+this._htmlElm.scrollTop}window.addEventListener("scroll",this._onScroll),this._windowScrollListenerAdded=!0}}componentDidUpdate(){this._itemHolderElm&&this._scanItemHeights()}componentWillUnmount(){this._windowScrollListenerAdded&&window.removeEventListener("scroll",this._onScroll)}_isViewChanged(){if(!this._wrapperElm)return!1;const e=this.props.windowScroller,t=e?this._htmlElm.clientHeight:this._wrapperElm.clientHeight,r=e?this._htmlElm.scrollTop:this._wrapperElm.scrollTop;return t!==this._viewHeight||r!==this._scrollTop}_calcViewIndexes(){if(this.props.windowScroller)this._viewHeight=window.innerHeight-this._htmlTopOffset,this._scrollTop=window.scrollY;else{if(!this._wrapperElm)return this._viewHeight=-1,this._startIndex=0,void(this._endIndex=0);this._viewHeight=this._wrapperElm.clientHeight,this._scrollTop=this._wrapperElm.scrollTop}const e=this._scrollTop,t=this._scrollTop+this._viewHeight;this._startIndex=this._yPositions.findFloorIndex(e,this._getHeight),this._endIndex=this._yPositions.findFloorIndex(t,this._getHeight)}render(){const{dataLength:e,getKeyFromIndex:t,initialDraw:r=DEFAULT_INITIAL_DRAW,itemRenderer:a,viewBuffer:n,viewBufferMin:i}=this.props,o=this._getHeight,l=[];let s,c;if(this._yPositions.profileData(e),this._wrapperElm){this._isViewChanged()&&this._calcViewIndexes();const t=i>this._startIndex?0:this._startIndex-i,r=ithis._endIndexDrawn?(s=n>this._startIndex?0:this._startIndex-n,c=this._endIndex+n,c>=e&&(c=e-1)):(s=this._startIndexDrawn,c=this._endIndexDrawn>e-1?e-1:this._endIndexDrawn)}else s=0,c=(rn(t.spanID),className:a,...i,children:r}):jsxRuntimeExports.jsx("a",{href:getUrl$6(t.traceID,t.spanID),target:"_blank",rel:"noopener noreferrer",className:a,...i,children:r})}class ReferencesButton extends React$k.PureComponent{constructor(){super(...arguments),this.referencesList=e=>jsxRuntimeExports.jsx(Menu,{children:e.map((e=>{const{span:t,spanID:r}=e;return jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsxs(ReferenceLink,{reference:e,focusSpan:this.props.focusSpan,className:"ReferencesButton--TraceRefLink",children:[t?`${t.process.serviceName}:${t.operationName} - ${e.spanID}`:`(another trace) - ${e.spanID}`,!t&&jsxRuntimeExports.jsx(NewWindowIcon,{})]})},`${r}`)}))})}render(){const{references:e,children:t,tooltipText:r,focusSpan:a}=this.props,n={arrowPointAtCenter:!0,mouseLeaveDelay:.5,placement:"bottom",title:r,overlayClassName:"ReferencesButton--tooltip"};if(e.length>1)return jsxRuntimeExports.jsx(Tooltip$1,{...n,children:jsxRuntimeExports.jsx(Dropdown,{overlay:this.referencesList(e),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsx("a",{className:"ReferencesButton-MultiParent",children:t})})});const i=e[0];return jsxRuntimeExports.jsx(Tooltip$1,{...n,children:jsxRuntimeExports.jsx(ReferenceLink,{reference:i,focusSpan:a,className:"ReferencesButton-MultiParent",children:t})})}}var iosArrowDownExports={},iosArrowDown={get exports(){return iosArrowDownExports},set exports(e){iosArrowDownExports=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t{e.relatedTarget instanceof HTMLSpanElement&&get_1$1(e,"relatedTarget.dataset.ancestorId")===t||this.props.removeHoverIndentGuideId(t)},this.handleMouseEnter=(e,t)=>{e.relatedTarget instanceof HTMLSpanElement&&get_1$1(e,"relatedTarget.dataset.ancestorId")===t||this.props.addHoverIndentGuideId(t)},this.ancestorIds=spanAncestorIds(e.span),this.ancestorIds.push("root"),this.ancestorIds.reverse()}render(){const{childrenVisible:e,onClick:t,showChildrenIcon:r,span:a}=this.props,{hasChildren:n,spanID:i}=a,o=n?{onClick:t,role:"switch","aria-checked":e}:null,l=r&&n&&(e?jsxRuntimeExports.jsx(IoIosArrowDown,{}):jsxRuntimeExports.jsx(IoChevronRight,{}));return jsxRuntimeExports.jsxs("span",{className:"SpanTreeOffset "+(n?"is-parent":""),...o,children:[this.ancestorIds.map((e=>jsxRuntimeExports.jsx("span",{className:classnamesExports("SpanTreeOffset--indentGuide",{"is-active":this.props.hoverIndentGuideIds.has(e)}),"data-ancestor-id":e,onMouseEnter:t=>this.handleMouseEnter(t,e),onMouseLeave:t=>this.handleMouseLeave(t,e)},e))),l&&jsxRuntimeExports.jsx("span",{className:"SpanTreeOffset--iconWrapper",onMouseEnter:e=>this.handleMouseEnter(e,i),onMouseLeave:e=>this.handleMouseLeave(e,i),children:l})]})}}function mapStateToProps$4(e){const{hoverIndentGuideIds:t}=e.traceTimeline;return{hoverIndentGuideIds:t}}function mapDispatchToProps$4(e){const{addHoverIndentGuideId:t,removeHoverIndentGuideId:r}=bindActionCreators(actions,e);return{addHoverIndentGuideId:t,removeHoverIndentGuideId:r}}UnconnectedSpanTreeOffset.defaultProps={childrenVisible:!1,onClick:void 0,showChildrenIcon:!0};const SpanTreeOffset=connect$3(mapStateToProps$4,mapDispatchToProps$4)(UnconnectedSpanTreeOffset);function arrayAggregator$1(e,t,r,a){for(var n=-1,i=null==e?0:e.length;++n/g,">")}var jsonMarkup=function(e,t){var r="",a=Stylize(t),n=function(e,t,a,n){if(!e.length)return t+" "+a;var i=t+"\n";return r+=INDENT,e.forEach((function(t,a){i+=r+n(t)+(a"+function e(t){if(void 0===t)return"";switch(type$1(t)){case"boolean":return""+t+"";case"number":return""+t+"";case"date":return'"'+escape$1(t.toISOString())+'"';case"null":return"null";case"string":return""'+escape$1(t.replace(/\n/g,"\n"+r))+'"';case"link":return""
'+escape$1(t)+'"';case"array":return n(t,"[","]",e);case"object":var i=Object.keys(t).filter((function(e){return void 0!==t[e]}));return n(i,"{","}",(function(r){return""'+r+'": '+e(t[r])}))}return""}(e)+""};const KeyValuesTable$1="",jsonObjectOrArrayStartRegex=/^(\[|\{)/;function tryParseJson(e){try{return jsonObjectOrArrayStartRegex.test(e)?JSON.parse(e):e}catch(_){return e}}function shouldDisplayAsStringList(e){return e.startsWith("http.request.header.")||e.startsWith("http.response.header.")}const stringListMarkup=e=>jsxRuntimeExports.jsx("div",{className:"json-markup",children:e.map(((e,t)=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[t>0&&", ",jsxRuntimeExports.jsx("span",{className:"json-markup-string",children:e})]})))}),stringMarkup=e=>jsxRuntimeExports.jsx("div",{className:"json-markup",children:jsxRuntimeExports.jsx("span",{className:"json-markup-string",children:e})});function _jsonMarkup(e){const t={__html:jsonMarkup(e)};return jsxRuntimeExports.jsx("div",{dangerouslySetInnerHTML:t})}function formatValue$1(e,t){let r,a=t;return"string"==typeof t&&(a=tryParseJson(t)),r="string"==typeof a?stringMarkup(a):Array.isArray(a)&&shouldDisplayAsStringList(e)?stringListMarkup(a):_jsonMarkup(a),jsxRuntimeExports.jsx("div",{className:"ub-inline-block",children:r})}const LinkValue=e=>jsxRuntimeExports.jsxs("a",{href:e.href,title:e.title,target:"_blank",rel:"noopener noreferrer",children:[e.children," ",jsxRuntimeExports.jsx(Icon$1,{className:"KeyValueTable--linkIcon",type:"export"})]});LinkValue.defaultProps={title:""};const linkValueList=e=>jsxRuntimeExports.jsx(Menu,{children:e.map((({text:e,url:t},r)=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(LinkValue,{href:t,children:e})},`${t}-${r}`)))});function KeyValuesTable(e){const{data:t,linksGetter:r}=e;return jsxRuntimeExports.jsx("div",{className:"KeyValueTable u-simple-scrollbars",children:jsxRuntimeExports.jsx("table",{className:"u-width-100",children:jsxRuntimeExports.jsx("tbody",{className:"KeyValueTable--body",children:t.map(((e,a)=>{const n=formatValue$1(e.key,e.value),i=r?r(t,a):null;let o;return o=i&&1===i.length?jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(LinkValue,{href:i[0].url,title:i[0].text,children:n})}):i&&i.length>1?jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(Dropdown,{overlay:linkValueList(i),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsxs("a",{children:[n," ",jsxRuntimeExports.jsx(Icon$1,{className:"KeyValueTable--linkIcon",type:"profile"})]})})}):n,jsxRuntimeExports.jsxs("tr",{className:"KeyValueTable--row",children:[jsxRuntimeExports.jsx("td",{className:"KeyValueTable--keyColumn",children:e.key}),jsxRuntimeExports.jsx("td",{children:o}),jsxRuntimeExports.jsx("td",{className:"KeyValueTable--copyColumn",children:jsxRuntimeExports.jsx(CopyIcon,{className:"KeyValueTable--copyIcon",copyText:JSON.stringify(e,null,2),tooltipTitle:"Copy JSON"})})]},`${e.key}-${a}`)}))})})})}const AccordianKeyValues$1="";function KeyValuesSummary(e){const{data:t}=e;return Array.isArray(t)&&t.length?jsxRuntimeExports.jsx("ul",{className:"AccordianKeyValues--summary",children:t.map(((e,t)=>jsxRuntimeExports.jsxs("li",{className:"AccordianKeyValues--summaryItem",children:[jsxRuntimeExports.jsx("span",{className:"AccordianKeyValues--summaryLabel",children:e.key}),jsxRuntimeExports.jsx("span",{className:"AccordianKeyValues--summaryDelim",children:"="}),String(e.value)]},`${e.key}-${t}`)))}):null}function AccordianKeyValues(e){const{className:t,data:r,highContrast:a,interactive:n,isOpen:i,label:o,linksGetter:l,onToggle:s}=e,c=!Array.isArray(r)||!r.length,u=classnamesExports("u-align-icon",{"AccordianKeyValues--emptyIcon":c});let f=null,A=null;return n&&(f=i?jsxRuntimeExports.jsx(IoIosArrowDown,{className:u}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:u}),A={"aria-checked":i,onClick:c?null:s,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:classnamesExports(t,"u-tx-ellipsis"),children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianKeyValues--header",{"is-empty":c,"is-high-contrast":a}),...A,children:[f,jsxRuntimeExports.jsxs("strong",{"data-test":LABEL,children:[o,i||":"]}),!i&&jsxRuntimeExports.jsx(KeyValuesSummary,{data:r})]}),i&&jsxRuntimeExports.jsx(KeyValuesTable,{data:r,linksGetter:l})]})}KeyValuesSummary.defaultProps={data:null},AccordianKeyValues.defaultProps={className:null,highContrast:!1,interactive:!0,onToggle:null};const AccordianLogs$1="";function AccordianLogs(e){const{interactive:t,isOpen:r,linksGetter:a,logs:n,openedItems:i,onItemToggle:o,onToggle:l,timestamp:s}=e;let c=null,u="span",f=null;return t&&(c=r?jsxRuntimeExports.jsx(IoIosArrowDown,{className:"u-align-icon"}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:"u-align-icon"}),u="a",f={"aria-checked":r,onClick:l,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:"AccordianLogs",children:[jsxRuntimeExports.jsxs(u,{className:classnamesExports("AccordianLogs--header",{"is-open":r}),...f,children:[c," ",jsxRuntimeExports.jsx("strong",{children:"Logs"})," (",n.length,")"]}),r&&jsxRuntimeExports.jsxs("div",{className:"AccordianLogs--content",children:[_sortBy(n,"timestamp").map(((e,r)=>jsxRuntimeExports.jsx(AccordianKeyValues,{className:ro(e):null},`${e.timestamp}-${r}`))),jsxRuntimeExports.jsx("small",{className:"AccordianLogs--footer",children:"Log timestamps are relative to the start time of the full trace."})]})]})}AccordianLogs.defaultProps={interactive:!0,linksGetter:void 0,onItemToggle:void 0,onToggle:void 0,openedItems:void 0};const SpanBar$2="";function toPercent(e){return`${(100*e).toFixed(1)}%`}function SpanBar(e){const{viewEnd:t,viewStart:r,getViewedBounds:a,color:n,label:i,hintSide:o,onClick:l,setLongLabel:s,setShortLabel:c,rpc:u,traceStartTime:f,span:A}=e,d=groupBy_1(A.logs,(e=>{const t=a(e.timestamp,e.timestamp).start;return toPercent(Math.round(500*t)/500)}));return jsxRuntimeExports.jsxs("div",{className:"SpanBar--wrapper",onClick:l,onMouseOut:c,onMouseOver:s,"aria-hidden":!0,children:[jsxRuntimeExports.jsx("div",{"aria-label":i,className:"SpanBar--bar",style:{background:n,left:toPercent(r),width:toPercent(t-r)},children:jsxRuntimeExports.jsx("div",{className:`SpanBar--label is-${o}`,children:i})}),jsxRuntimeExports.jsx("div",{children:Object.keys(d).map((e=>jsxRuntimeExports.jsx(Popover,{arrowPointAtCenter:!0,overlayClassName:"SpanBar--logHint",placement:"topLeft",content:jsxRuntimeExports.jsx(AccordianLogs,{interactive:!1,isOpen:!0,logs:d[e],timestamp:f}),children:jsxRuntimeExports.jsx("div",{className:"SpanBar--logMarker",style:{left:e}})},e)))}),u&&jsxRuntimeExports.jsx("div",{className:"SpanBar--rpc",style:{background:u.color,left:toPercent(u.viewStart),width:toPercent(u.viewEnd-u.viewStart)}})]})}const SpanBar$1=compose(withState("label","setLabel",(e=>e.shortLabel)),withProps((({setLabel:e,shortLabel:t,longLabel:r})=>({setLongLabel:()=>e(r),setShortLabel:()=>e(t)}))),onlyUpdateForKeys(["label","rpc","viewStart","viewEnd"]))(SpanBar),LightBulbIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 12 12",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M4.125 10.875h3.75M3.689 7.828a3.727 3.727 0 0 1-1.439-2.93c-.01-2.034 1.627-3.726 3.66-3.773a3.75 3.75 0 0 1 2.406 6.698 1.134 1.134 0 0 0-.441.896V9a.375.375 0 0 1-.375.375h-3A.375.375 0 0 1 4.125 9v-.281a1.144 1.144 0 0 0-.436-.89v0Z"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M6.38 2.662a2.245 2.245 0 0 1 1.837 1.833"})]})},LightBulbIcon=React$k.memo(LightBulbIconComponent),AlarmClockIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"m6.33 5-2 2m13.34 0-2-2M7 15.67 5.67 17M15 15.67 16.33 17M11 9v2.67L12.33 13M11 17a5.33 5.33 0 1 0 0-10.67A5.33 5.33 0 0 0 11 17Z"})})},AlarmClockIcon=React$k.memo(AlarmClockIconComponent),BottleneckIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",d:"M15.13 4.25 12.5 8v5.63l2.63 4.12m-8.25 0L9.5 14V8.37L6.87 4.25m8.63 10.5A5.53 5.53 0 0 0 17 11c0-1.42-.56-2.73-1.5-3.75m-9 0A5.53 5.53 0 0 0 5 11c0 1.42.56 2.73 1.5 3.75"})})},BottleneckIcon=React$k.memo(BottleneckIconComponent),MeterHighIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M5.94 11c0-2.7 2.2-4.9 4.9-4.9M14 7.85 10.84 11m.7 0a.7.7 0 1 1-1.4 0 .7.7 0 0 1 1.4 0Z"})]})},MeterHighIcon=React$k.memo(MeterHighIconComponent),MeterLowIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M15.9 11c0-2.7-2.2-4.9-4.9-4.9M7.85 7.85 11 11m-.7 0a.7.7 0 1 0 1.4 0 .7.7 0 0 0-1.4 0Z"})]})},MeterLowIcon=React$k.memo(MeterLowIconComponent),MeterMediumIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 6.04V11m.76 0a.76.76 0 1 1-1.52 0 .76.76 0 0 1 1.52 0Z"})]})},MeterMediumIcon=React$k.memo(MeterMediumIconComponent),SQLDatabaseIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M16 5.8c0 .994-2.239 1.8-5 1.8s-5-.806-5-1.8m10 0c0-.994-2.239-1.8-5-1.8s-5 .806-5 1.8m10 0V9M6 5.8v6M16 9c0 .996-2.222 1.8-5 1.8S6 9.996 6 9m10 0v5.2M6 15.933c.261.198.578.305.904.306.542 0 1.025-.184 1.025-.796 0-.98-1.929-.55-1.929-1.469 0-.49.362-.795.904-.795.326 0 .643.108.904.306m5.585-.306v3.078H15.5m-5-.185c.71 0 1.286-.648 1.286-1.447S11.21 13.18 10.5 13.18c-.71 0-1.286.647-1.286 1.446 0 .799.576 1.447 1.286 1.447Zm.322-.965L11.5 16.5"})})},SQLDatabaseIcon=React$k.memo(SQLDatabaseIconComponent),ScalesIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5.077v11.846m-1.615 0h3.23M6.154 8.308l9.692-2.154M4 13.692c0 1.192 1.346 1.616 2.154 1.616.808 0 2.154-.424 2.154-1.616L6.154 8.308 4 13.692Zm9.692-2.153c0 1.19 1.347 1.615 2.154 1.615.808 0 2.154-.424 2.154-1.615l-2.154-5.385-2.154 5.385Z"})})},ScalesIcon=React$k.memo(ScalesIconComponent),SineIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M4 11c7-13.86 7 13.86 14 0"})})},SineIcon=React$k.memo(SineIconComponent),SnailIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",d:"M3.92 16.2h10.52c.98 0 1.78-.8 1.78-1.79v-.39c0-.77.63-1.4 1.4-1.4v0c.54 0 .98-.44.98-.98v-.2c0-.66-.54-1.2-1.2-1.2v0c-1.17 0-2.22.76-2.6 1.87l-.54 1.62c0 .02-.02.01-.02 0v-2.6a4.85 4.85 0 0 0-4.86-4.85h-.3a3.97 3.97 0 0 0-3.97 3.96v.67a3.3 3.3 0 0 0 3.3 3.3h1c1.13 0 2.05-.91 2.05-2.05v-1.02c0-1.15-.93-2.09-2.08-2.09h-.1c-.77 0-1.4.63-1.4 1.4v0c0 .76.63 1.38 1.4 1.38h.2"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",d:"M19 7.86c-.53-.13-1.67.16-1.98 2.38m.39-3.96c-.53-.14-1.98 1.58-1.59 4.36"})]})},SnailIcon=React$k.memo(SnailIconComponent),SpotIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M11.7 5a6.01 6.01 0 0 1 5.14 5.38M10.14 5A6.01 6.01 0 0 0 5 10.38m5.13 6.72A6.01 6.01 0 0 1 5 11.72m6.7 5.38a6.01 6.01 0 0 0 5.14-5.38m-5.89 1.58a2.37 2.37 0 1 0 0-4.74 2.37 2.37 0 0 0 0 4.74Z"})})},SpotIcon=React$k.memo(SpotIconComponent),WarningCircleIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".82",d:"M11 7.73v4.47m0 1.8v.22M17 11a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z"})})},WarningCircleIcon=React$k.memo(WarningCircleIconComponent);var InsightType=(e=>(e.TopErrorFlows="TopErrorFlows",e.HotSpot="HotSpot",e.Errors="Errors",e.SlowEndpoint="SlowEndpoint",e.LowUsage="LowUsage",e.NormalUsage="NormalUsage",e.HighUsage="HighUsage",e.EndpointBottleneck="EndpointBottleneck",e.EndpointSpanNPlusOne="EndpointSpanNPlusOne",e.SpanUsages="SpanUsages",e.SpaNPlusOne="SpaNPlusOne",e.SpanEndpointBottleneck="SpanEndpointBottleneck",e.SpanDurations="SpanDurations",e.SpanScaling="SpanScaling",e.SpanDurationBreakdown="SpanDurationBreakdown",e.EndpointBreakdown="EndpointBreakdown",e.EndpointSessionInView="EndpointSessionInView",e.EndpointChattyApi="EndpointChattyApi",e.EndpointChattyApiV2="EndpointChattyApiV2",e.EndpointHighNumberOfQueries="EndpointHighNumberOfQueries",e.SpanNexus="SpanNexus",e.SpanQueryOptimization="SpanQueryOptimization",e.EndpointQueryOptimization="EndpointQueryOptimization",e.EndpointQueryOptimizationV2="EndpointQueryOptimizationV2",e.EndpointSlowdownSource="EndpointSlowdownSource",e))(InsightType||{});const ClockWithTicksIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{fill:r,d:"M16.9984 11.5048A6.0096 6.0096 0 0 1 13.07 16.636a6.0095 6.0095 0 0 1-6.3096-1.3964 6.0102 6.0102 0 0 1 3.7348-10.238.4634.4634 0 0 1 .0762.9236 5.0867 5.0867 0 1 0 5.5034 5.5034.4636.4636 0 0 1 .4999-.4237.4634.4634 0 0 1 .4237.4999Zm-6.4651-3.7325v3.2326a.462.462 0 0 0 .4618.4618h3.2326a.4618.4618 0 1 0 0-.9236h-2.7708V7.7723a.4619.4619 0 0 0-.9236 0Zm2.309-1.3853a.6926.6926 0 1 0 0-1.3852.6926.6926 0 0 0 0 1.3852Zm2.0781 1.3853a.6925.6925 0 0 0 .6793-.8278.693.693 0 0 0-.5442-.5442.6926.6926 0 1 0-.1351 1.372Zm1.3853 2.0781a.6928.6928 0 0 0 .1352-1.372.6926.6926 0 1 0-.1352 1.372Z"})})},ClockWithTicksIcon=React$k.memo(ClockWithTicksIconComponent),PieChartIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{fill:r,d:"M11.722 3.005a1.231 1.231 0 0 0-1.338 1.226v3.128a1.22 1.22 0 0 0 1.02 1.213 2.462 2.462 0 1 1-2.866 2.557c-.032-.632.098-1.154.384-1.558a1.22 1.22 0 0 0-.13-1.575L6.668 5.822a1.23 1.23 0 0 0-1.818.084 7.97 7.97 0 0 0 .534 10.79A7.942 7.942 0 0 0 10.999 19h.115a8.023 8.023 0 0 0 7.885-7.886c.058-4.177-3.139-7.739-7.277-8.11ZM5.793 6.688l2.124 2.168v.005a3.33 3.33 0 0 0-.576 1.524H4.258a6.702 6.702 0 0 1 1.535-3.697ZM4.26 11.615h3.1a3.692 3.692 0 0 0 3.025 3.027v3.1a6.77 6.77 0 0 1-6.125-6.127Zm11.52 4.165a6.727 6.727 0 0 1-4.164 1.96v-3.098a3.693 3.693 0 0 0 0-7.283V4.23c3.501.314 6.205 3.329 6.154 6.865a6.727 6.727 0 0 1-1.99 4.684Z"})})},PieChartIcon=React$k.memo(PieChartIconComponent),getInsightTypeInfo=e=>({[InsightType.Errors]:{icon:WarningCircleIcon,label:"Errors"},[InsightType.HotSpot]:{icon:SpotIcon,label:"Error Hotspot"},[InsightType.SlowEndpoint]:{icon:SnailIcon,label:"Slow Endpoint"},[InsightType.LowUsage]:{icon:MeterLowIcon,label:"Endpoint Low Traffic"},[InsightType.NormalUsage]:{icon:MeterMediumIcon,label:"Endpoint Normal Level of Traffic"},[InsightType.HighUsage]:{icon:MeterHighIcon,label:"Endpoint High Traffic"},[InsightType.EndpointBottleneck]:{icon:BottleneckIcon,label:"Bottleneck"},[InsightType.EndpointSpanNPlusOne]:{icon:SQLDatabaseIcon,label:"Suspected N+1"},[InsightType.SpaNPlusOne]:{icon:SQLDatabaseIcon,label:"Suspected N+1"},[InsightType.SpanEndpointBottleneck]:{icon:BottleneckIcon,label:"Bottleneck"},[InsightType.SpanScaling]:{icon:ScalesIcon,label:"Scaling Issue Found"},[InsightType.SpanUsages]:{icon:SineIcon,label:"Top Usage"},[InsightType.SpanDurations]:{icon:AlarmClockIcon,label:"Duration"},[InsightType.SpanDurationBreakdown]:{icon:ClockWithTicksIcon,label:"Duration Breakdown"},[InsightType.EndpointSlowdownSource]:{icon:SnailIcon,label:"Duration Slowdown Source Detected"},[InsightType.EndpointBreakdown]:{icon:PieChartIcon,label:"Request Breakdown"},[InsightType.EndpointSessionInView]:{icon:SQLDatabaseIcon,label:"Session in View Query Detected"},[InsightType.EndpointChattyApiV2]:{icon:SQLDatabaseIcon,label:"Excessive API Calls Detected"},[InsightType.EndpointHighNumberOfQueries]:{icon:SQLDatabaseIcon,label:"High number of queries"},[InsightType.SpanNexus]:{icon:BottleneckIcon,label:"Code Nexus Point"},[InsightType.SpanQueryOptimization]:{icon:SQLDatabaseIcon,label:"Inefficient Query"},[InsightType.EndpointQueryOptimizationV2]:{icon:SQLDatabaseIcon,label:"Inefficient Query"}}[e]),getInsightImportanceColor=e=>{if(0!==e)return e<3?"#e00036":e<5?"#e06c00":e<7?"#e8b500":"#1dc693"},getInsightTypeOrderPriority=e=>({[InsightType.HotSpot]:1,[InsightType.Errors]:2,[InsightType.TopErrorFlows]:3,[InsightType.EndpointBreakdown]:5,[InsightType.HighUsage]:10,[InsightType.SlowEndpoint]:20,[InsightType.EndpointSlowdownSource]:25,[InsightType.LowUsage]:30,[InsightType.EndpointBottleneck]:40,[InsightType.NormalUsage]:50,[InsightType.EndpointSpanNPlusOne]:55,[InsightType.EndpointSessionInView]:56,[InsightType.EndpointChattyApiV2]:57,[InsightType.EndpointHighNumberOfQueries]:58,[InsightType.EndpointQueryOptimizationV2]:59,[InsightType.SpanDurations]:60,[InsightType.SpanUsages]:61,[InsightType.SpanScaling]:63,[InsightType.SpaNPlusOne]:65,[InsightType.SpanEndpointBottleneck]:67,[InsightType.SpanDurationBreakdown]:68,[InsightType.SpanNexus]:69,[InsightType.SpanQueryOptimization]:70}[e]||1/0),SpanBarRow$1="";class SpanBarRow extends reactExports.PureComponent{constructor(e){super(e),this._detailToggle=()=>{this.props.onDetailToggled(this.props.span.spanID)},this._childrenToggle=()=>{this.props.onChildrenToggled(this.props.span.spanID)},this._updateSpanInfo=this._updateSpanInfo.bind(this);const t=state.spans[e.span.spanID];this.state={insights:t?t.insights:[]}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}_updateSpanInfo(e){const t=e[this.props.span.spanID];this.setState({insights:t?t.insights:[]})}render(){const{className:e,color:t,columnDivision:r,isChildrenExpanded:a,isDetailExpanded:n,isMatchingFilter:i,numTicks:o,rpc:l,noInstrumentedServer:s,showErrorIcon:c,getViewedBounds:u,traceStartTime:f,span:A,focusSpan:d}=this.props,{duration:p,hasChildren:h,operationName:b,process:{serviceName:g}}=A,m=formatDuration(p),v=u(A.startTime,A.startTime+A.duration),y=v.start,w=v.end,k=`${g}::${b}`;let x,E;y>1-w?(x=`${k} | ${m}`,E="left"):(x=`${m} | ${k}`,E="right");const _=this.state.insights.length>0?this.state.insights.reduce(((e,t)=>e.importance1&&jsxRuntimeExports.jsx(ReferencesButton,{references:A.references,tooltipText:"Contains multiple references",focusSpan:d,children:jsxRuntimeExports.jsx(IoNetwork,{})}),A.subsidiarilyReferencedBy&&A.subsidiarilyReferencedBy.length>0&&jsxRuntimeExports.jsx(ReferencesButton,{references:A.subsidiarilyReferencedBy,tooltipText:"This span is referenced by "+(1===A.subsidiarilyReferencedBy.length?"another span":"multiple other spans"),focusSpan:d,children:jsxRuntimeExports.jsx(MdFileUpload,{})})]})}),jsxRuntimeExports.jsxs(TimelineRow.Cell,{className:"span-view",style:{cursor:"pointer"},width:1-r,onClick:this._detailToggle,children:[jsxRuntimeExports.jsx(Ticks,{numTicks:o}),jsxRuntimeExports.jsx(SpanBar$1,{rpc:l,viewStart:y,viewEnd:w,getViewedBounds:u,color:t,shortLabel:m,longLabel:x,hintSide:E,traceStartTime:f,span:A})]})]})}}SpanBarRow.defaultProps={className:"",rpc:null};const AccordianReferences$1="";function References(e){const{data:t,focusSpan:r}=e;return jsxRuntimeExports.jsx("div",{className:"ReferencesList u-simple-scrollbars",children:jsxRuntimeExports.jsx("ul",{className:"ReferencesList--List",children:t.map((e=>jsxRuntimeExports.jsx("li",{className:"ReferencesList--Item",children:jsxRuntimeExports.jsx(ReferenceLink,{reference:e,focusSpan:r,children:jsxRuntimeExports.jsxs("span",{className:"ReferencesList--itemContent",children:[e.span?jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx("span",{className:"span-svc-name",children:e.span.process.serviceName}),jsxRuntimeExports.jsx("small",{className:"endpoint-name",children:e.span.operationName})]}):jsxRuntimeExports.jsx("span",{className:"span-svc-name",children:"< span in another trace >"}),jsxRuntimeExports.jsxs("small",{className:"SpanReference--debugInfo",children:[jsxRuntimeExports.jsx("span",{className:"SpanReference--debugLabel","data-label":"Reference Type:",children:e.refType}),jsxRuntimeExports.jsx("span",{className:"SpanReference--debugLabel","data-label":"SpanID:",children:e.spanID})]})]})})},`${e.spanID}`)))})})}class AccordianReferences extends reactExports.PureComponent{render(){const{data:e,highContrast:t,interactive:r,isOpen:a,onToggle:n,focusSpan:i}=this.props,o=!Array.isArray(e)||!e.length,l=classnamesExports("u-align-icon",{"AccordianKReferences--emptyIcon":o});let s=null,c=null;return r&&(s=a?jsxRuntimeExports.jsx(IoIosArrowDown,{className:l}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:l}),c={"aria-checked":a,onClick:o?null:n,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:"AccordianReferences",children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianReferences--header","AccordianReferences--header",{"is-empty":o,"is-high-contrast":t,"is-open":a}),...c,children:[s,jsxRuntimeExports.jsx("strong",{children:jsxRuntimeExports.jsx("span",{className:"AccordianReferences--label",children:"References"})})," ","(",e.length,")"]}),a&&jsxRuntimeExports.jsx(References,{data:e,focusSpan:i})]})}}AccordianReferences.defaultProps={highContrast:!1,interactive:!0,onToggle:null};const TextList$1="";function TextList(e){const{data:t}=e;return jsxRuntimeExports.jsx("div",{className:"TextList u-simple-scrollbars",children:jsxRuntimeExports.jsx("ul",{className:"TextList--List ",children:t.map(((e,t)=>jsxRuntimeExports.jsx("li",{children:e},`${t}`)))})})}const AccordianText$1="";function AccordianText(e){const{className:t,data:r,headerClassName:a,highContrast:n,interactive:i,isOpen:o,label:l,onToggle:s}=e,c=!Array.isArray(r)||!r.length,u=classnamesExports("u-align-icon",{"AccordianKeyValues--emptyIcon":c});let f=null,A=null;return i&&(f=o?jsxRuntimeExports.jsx(IoIosArrowDown,{className:u}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:u}),A={"aria-checked":o,onClick:c?null:s,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:t||"",children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianText--header",a,{"is-empty":c,"is-high-contrast":n,"is-open":o}),...A,children:[f," ",jsxRuntimeExports.jsx("strong",{children:l})," (",r.length,")"]}),o&&jsxRuntimeExports.jsx(TextList,{data:r})]})}AccordianText.defaultProps={className:null,highContrast:!1,interactive:!0,onToggle:null};const InsightIcon=e=>{const t=getInsightTypeInfo(e.insight.type);return t?jsxRuntimeExports.jsx(t.icon,{color:getInsightImportanceColor(e.insight.importance),size:e.size}):null},index$c="",getIconColor=(e,t)=>e?"#49494d":t?"#dadada":"#b9c2eb",Button=e=>{const[t,r]=reactExports.useState(!1),a=reactExports.useCallback((()=>r(!0)),[]);reactExports.useEffect((()=>{const e=()=>{r(!1)};return window.addEventListener("mouseup",e),()=>{window.removeEventListener("mouseup",e)}}),[]);return jsxRuntimeExports.jsx("button",{type:"button",className:"Button",onClick:t=>{e.onClick&&e.onClick(t)},disabled:e.disabled,onMouseDown:a,children:jsxRuntimeExports.jsxs("span",{className:"Button__content",children:[e.icon&&jsxRuntimeExports.jsx(e.icon.component,{size:e.icon.size,color:e.icon.color||getIconColor(Boolean(e.disabled),t)}),jsxRuntimeExports.jsx("span",{children:e.children})]})})},CrosshairIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 12 12",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6a4 4 0 0 1-4 4m4-4a4 4 0 0 0-4-4m4 4H7.87M6 10a4 4 0 0 1-4-4m4 4V7.88M2 6a4 4 0 0 1 4-4M2 6h2.13M6 2v2.13"})})},CrosshairIcon=React$k.memo(CrosshairIconComponent),getSpanDataForDigma=(e,t=!1)=>{const r={environment:"digma.environment",...t?{environmentId:"digma.environment.id"}:{}},a=Object.entries({instrumentationLibrary:"otel.library.name",function:"code.function",namespace:"code.namespace",spanCodeObjectId:"digma.span.code.object.id",methodCodeObjectId:"digma.method.code.object.id"}).reduce(((t,[r,a])=>{const n=e.tags.find((e=>e.key===a));return n?{...t,[r]:n.value}:t}),{}),n=Object.entries(r).reduce(((t,[r,a])=>{const n=e.process.tags.find((e=>e.key===a));return n?{...t,[r]:n.value}:t}),{});return{...a,...n,id:e.spanID,name:e.operationName,serviceName:e.process.serviceName}},index$b="";class SpanDetail extends React$k.Component{constructor(e){super(e),this._updateSpanInfo=this._updateSpanInfo.bind(this),this._handleCodeButtonClick=this._handleCodeButtonClick.bind(this),this._handleSpanNameLinkClick=this._handleSpanNameLinkClick.bind(this);const t=state.spans[e.span.spanID];this.state={hasCodeLocation:Boolean(t&&t.hasCodeLocation),insights:t?this._sortInsightsByImportance(t.insights):[]}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}_sortInsightsByImportance(e){return[...e].sort(((e,t)=>e.importance-t.importance||getInsightTypeOrderPriority(e.type)-getInsightTypeOrderPriority(t.type)))}_updateSpanInfo(e){const t=e[this.props.span.spanID];this.setState({hasCodeLocation:Boolean(t&&t.hasCodeLocation),insights:t?this._sortInsightsByImportance(t.insights):[]})}_handleCodeButtonClick(){const e=getSpanDataForDigma(this.props.span);window.sendMessageToDigma({action:actions$1.GO_TO_SPAN,payload:e})}_handleSpanNameLinkClick(){const e=getSpanDataForDigma(this.props.span,!0);e.spanCodeObjectId&&window.sendMessageToDigma({action:globalActions.CHANGE_SCOPE,payload:{span:{spanCodeObjectId:e.spanCodeObjectId},environmentId:e.environmentId,context:{event:"JAEGER/SPAN_LINK_CLICKED"}}})}render(){const{detailState:e,linksGetter:t,logItemToggle:r,logsToggle:a,processToggle:n,span:i,tagsToggle:o,traceStartTime:l,warningsToggle:s,referencesToggle:c,focusSpan:u}=this.props,{isTagsOpen:f,isProcessOpen:A,logs:d,isWarningsOpen:p,isReferencesOpen:h}=e,{operationName:b,process:g,duration:m,relativeStartTime:v,spanID:y,logs:w,tags:k,warnings:x,references:E}=i,_=[{key:"svc",label:"Service:",value:g.serviceName},{key:"duration",label:"Duration:",value:formatDuration(m)},{key:"start",label:"Start Time:",value:formatDuration(v)}],C=`${window.location.origin}${window.location.pathname}?uiFind=${y}`,$=getSpanDataForDigma(this.props.span).instrumentationLibrary;return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{className:"SpanDetail--header",children:[jsxRuntimeExports.jsxs("div",{className:"ub-flex ub-items-center",children:[$&&this.state.insights.length>0?jsxRuntimeExports.jsx(Link$1,{to:"#",onClick:this._handleSpanNameLinkClick,className:"SpanDetail--operationNameLink ub-flex-auto ub-m0",children:b}):jsxRuntimeExports.jsx("h2",{className:"SpanDetail--operationNameTitle ub-flex-auto ub-m0",children:b}),jsxRuntimeExports.jsx("div",{className:"SpanDetail--insights",children:this.state.insights.map((e=>{const t=getInsightTypeInfo(e.type);return t?jsxRuntimeExports.jsx(Tooltip$1,{title:t.label,children:jsxRuntimeExports.jsx("span",{className:"SpanDetail--insightIconContainer",children:jsxRuntimeExports.jsx(InsightIcon,{insight:e,size:20})})},e.type):null}))})]}),jsxRuntimeExports.jsx(LabeledList,{dividerClassName:"SpanDetail--divider",items:_})]}),jsxRuntimeExports.jsx(Divider$1,{className:"SpanDetail--divider ub-my1"}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(AccordianKeyValues,{data:k,label:"Tags",linksGetter:t,isOpen:f,onToggle:()=>o(y)}),g.tags&&jsxRuntimeExports.jsx(AccordianKeyValues,{className:"ub-mb1",data:g.tags,label:"Process",linksGetter:t,isOpen:A,onToggle:()=>n(y)})]}),w&&w.length>0&&jsxRuntimeExports.jsx(AccordianLogs,{linksGetter:t,logs:w,isOpen:d.isOpen,openedItems:d.openedItems,onToggle:()=>a(y),onItemToggle:e=>r(y,e),timestamp:l}),x&&x.length>0&&jsxRuntimeExports.jsx(AccordianText,{className:"AccordianWarnings",headerClassName:"AccordianWarnings--header",label:jsxRuntimeExports.jsx("span",{className:"AccordianWarnings--label",children:"Warnings"}),data:x,isOpen:p,onToggle:()=>s(y)}),E&&E.length>0&&(E.length>1||"CHILD_OF"!==E[0].refType)&&jsxRuntimeExports.jsx(AccordianReferences,{data:E,isOpen:h,onToggle:()=>c(y),focusSpan:u}),jsxRuntimeExports.jsxs("div",{className:"SpanDetail--code",children:[jsxRuntimeExports.jsxs("small",{className:"SpanDetail--debugInfo",children:[jsxRuntimeExports.jsx("span",{className:"SpanDetail--debugLabel","data-label":"SpanID:"})," ",y,jsxRuntimeExports.jsx(CopyIcon,{copyText:C,icon:"link",placement:"topRight",tooltipTitle:"Copy deep link to this span"})]}),this.state.hasCodeLocation&&jsxRuntimeExports.jsx(Button,{onClick:this._handleCodeButtonClick,icon:{component:CrosshairIcon,size:18},children:"Code"})]})]})]})}}const SpanDetailRow$1="";class SpanDetailRow extends React$k.PureComponent{constructor(){super(...arguments),this._detailToggle=()=>{this.props.onDetailToggled(this.props.span.spanID)},this._linksGetter=(e,t)=>{const{linksGetter:r,span:a}=this.props;return r(a,e,t)}}render(){const{color:e,columnDivision:t,detailState:r,logItemToggle:a,logsToggle:n,processToggle:i,referencesToggle:o,warningsToggle:l,span:s,tagsToggle:c,traceStartTime:u,focusSpan:f}=this.props;return jsxRuntimeExports.jsxs(TimelineRow,{className:"detail-row",children:[jsxRuntimeExports.jsxs(TimelineRow.Cell,{width:t,children:[jsxRuntimeExports.jsx(SpanTreeOffset,{span:s,showChildrenIcon:!1}),jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsx("span",{className:"detail-row-expanded-accent","aria-checked":"true",onClick:this._detailToggle,role:"switch",style:{borderColor:e}})})]}),jsxRuntimeExports.jsx(TimelineRow.Cell,{width:1-t,children:jsxRuntimeExports.jsx("div",{className:"detail-info-wrapper",style:{borderTopColor:e},children:jsxRuntimeExports.jsx(SpanDetail,{detailState:r,linksGetter:this._linksGetter,logItemToggle:a,logsToggle:n,processToggle:i,referencesToggle:o,warningsToggle:l,span:s,tagsToggle:c,traceStartTime:u,focusSpan:f})})})]})}}const VirtualizedTraceView$1="",DEFAULT_HEIGHTS={bar:28,detail:161,detailWithLogs:197},NUM_TICKS$1=5;function generateRowStates(e,t,r){if(!e)return[];let a=null;const n=[];for(let i=0;i=a?c=!0:a=null),c||(t.has(l)&&(a=s+1),n.push({span:o,isDetail:!1,spanIndex:i}),r.has(l)&&n.push({span:o,isDetail:!0,spanIndex:i}))}return n}function generateRowStatesFromTrace(e,t,r){return e?generateRowStates(e.spans,t,r):[]}function getCssClasses(e){const[t,r]=e;return classnamesExports({"clipping-left":t>0,"clipping-right":r<1})}const memoizedGenerateRowStates=memoizeOne$1(generateRowStatesFromTrace),memoizedViewBoundsFunc=memoizeOne$1(createViewedBoundsFunc,isEqual_1),memoizedGetCssClasses=memoizeOne$1(getCssClasses,isEqual_1);class VirtualizedTraceViewImpl extends reactExports.Component{constructor(e){super(e),this.focusSpan=e=>{const{trace:t,focusUiFindMatches:r,location:a,history:n}=this.props;t&&(updateUiFind({location:a,history:n,uiFind:e}),r(t,e,!1))},this.getViewRange=()=>this.props.currentViewRangeTime,this.getSearchedSpanIDs=()=>this.props.findMatchesIDs,this.getCollapsedChildren=()=>this.props.childrenHiddenIDs,this.mapRowIndexToSpanIndex=e=>this.getRowStates()[e].spanIndex,this.mapSpanIndexToRowIndex=e=>{const t=this.getRowStates().length;for(let r=0;r{const t=this.listView!==e;this.listView=e,e&&t&&this.props.registerAccessors(this.getAccessors())},this.getKeyFromIndex=e=>{const{isDetail:t,span:r}=this.getRowStates()[e];return`${r.spanID}--${t?"detail":"bar"}`},this.getIndexFromKey=e=>{const t=e.split("--"),r=t[0],a="detail"===t[1],n=this.getRowStates().length;for(let i=0;i{const{span:t,isDetail:r}=this.getRowStates()[e];return r?Array.isArray(t.logs)&&t.logs.length?DEFAULT_HEIGHTS.detailWithLogs:DEFAULT_HEIGHTS.detail:DEFAULT_HEIGHTS.bar},this.linksGetter=(e,t,r)=>{const{trace:a}=this.props;return getLinks(e,t,r,a)},this.renderRow=(e,t,r,a)=>{const{isDetail:n,span:i,spanIndex:o}=this.getRowStates()[r];return n?this.renderSpanDetailRow(i,e,t,a):this.renderSpanBarRow(i,o,e,t,a)};const{setTrace:t,trace:r,uiFind:a}=e;t(r,a)}shouldComponentUpdate(e){const t=Object.keys(e);for(let r=0;re.key===PEER_SERVICE));let w=null;return!e.hasChildren&&y&&isKindClient(e)&&(w={serviceName:y.value,color:colorGenerator.getColorByKey(y.value)}),jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--row",style:a,...n,children:jsxRuntimeExports.jsx(SpanBarRow,{className:this.getClippingCssClasses(),color:p,columnDivision:A,isChildrenExpanded:!h,isDetailExpanded:b,isMatchingFilter:g,numTicks:NUM_TICKS$1,onDetailToggled:u,onChildrenToggled:s,rpc:v,noInstrumentedServer:w,showErrorIcon:m,getViewedBounds:this.getViewedBounds(),traceStartTime:d.startTime,span:e,focusSpan:this.focusSpan})},r)}renderSpanDetailRow(e,t,r,a){const{spanID:n}=e,{serviceName:i}=e.process,{detailLogItemToggle:o,detailLogsToggle:l,detailProcessToggle:s,detailReferencesToggle:c,detailWarningsToggle:u,detailStates:f,detailTagsToggle:A,detailToggle:d,spanNameColumnWidth:p,trace:h}=this.props,b=f.get(n);if(!h||!b)return null;const g=colorGenerator.getColorByKey(i);return jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--row",style:{...r,zIndex:1},...a,children:jsxRuntimeExports.jsx(SpanDetailRow,{color:g,columnDivision:p,onDetailToggled:d,detailState:b,linksGetter:this.linksGetter,logItemToggle:o,logsToggle:l,processToggle:s,referencesToggle:c,warningsToggle:u,span:e,tagsToggle:A,traceStartTime:h.startTime,focusSpan:this.focusSpan})},t)}render(){return jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--spans",children:jsxRuntimeExports.jsx(ListView,{ref:this.setListView,dataLength:this.getRowStates().length,itemHeightGetter:this.getRowHeight,itemRenderer:this.renderRow,viewBuffer:300,viewBufferMin:100,itemsWrapperClassName:"VirtualizedTraceView--rowsWrapper",getKeyFromIndex:this.getKeyFromIndex,getIndexFromKey:this.getIndexFromKey,windowScroller:!0})})}}function mapStateToProps$3(e){return{...extractUiFindFromState(e),...e.traceTimeline}}function mapDispatchToProps$3(e){return bindActionCreators(actions,e)}const VirtualizedTraceView=withRouter$1(connect$3(mapStateToProps$3,mapDispatchToProps$3)(VirtualizedTraceViewImpl)),index$a="",NUM_TICKS=5;class TraceTimelineViewerImpl extends React$k.PureComponent{constructor(){super(...arguments),this.collapseAll=()=>{this.props.collapseAll(this.props.trace.spans)},this.collapseOne=()=>{this.props.collapseOne(this.props.trace.spans)},this.expandAll=()=>{this.props.expandAll()},this.expandOne=()=>{this.props.expandOne(this.props.trace.spans)}}componentDidMount(){merge({collapseAll:this.collapseAll,expandAll:this.expandAll,collapseOne:this.collapseOne,expandOne:this.expandOne})}render(){const{setSpanNameColumnWidth:e,updateNextViewRangeTime:t,updateViewRangeTime:r,viewRange:a,...n}=this.props,{spanNameColumnWidth:i,trace:o}=n;return jsxRuntimeExports.jsxs("div",{className:"TraceTimelineViewer",children:[jsxRuntimeExports.jsx(SpanDetailRow$2,{duration:o.duration,nameColumnWidth:i,numTicks:NUM_TICKS,onCollapseAll:this.collapseAll,onCollapseOne:this.collapseOne,onColummWidthChange:e,onExpandAll:this.expandAll,onExpandOne:this.expandOne,viewRangeTime:a.time,updateNextViewRangeTime:t,updateViewRangeTime:r}),jsxRuntimeExports.jsx(VirtualizedTraceView,{...n,currentViewRangeTime:a.time.current})]})}}function mapStateToProps$2(e){return{spanNameColumnWidth:e.traceTimeline.spanNameColumnWidth}}function mapDispatchToProps$2(e){const{setSpanNameColumnWidth:t,expandAll:r,expandOne:a,collapseAll:n,collapseOne:i}=bindActionCreators(actions,e);return{setSpanNameColumnWidth:t,expandAll:r,expandOne:a,collapseAll:n,collapseOne:i}}const TraceTimelineViewer=connect$3(mapStateToProps$2,mapDispatchToProps$2)(TraceTimelineViewerImpl),index$9="",HeaderTable$1="";function HeaderTable(e){const t={opacity:e.sortIndex===e.index?1:.2},r=e.sortAsc&&e.sortIndex===e.index?"up":"down";return jsxRuntimeExports.jsxs("th",{className:"HeaderTable--th",children:[e.element.title,jsxRuntimeExports.jsx("button",{type:"submit",className:"HeaderTable--sortButton",onClick:()=>e.sortClick(e.index),children:jsxRuntimeExports.jsx(Icon$1,{style:t,type:r})})]})}const MainTableData$1="";class MainTableData extends reactExports.Component{constructor(e){super(e);const t=this.props.values.map((e=>({uid:lodashExports.uniqueId("id"),value:e})));this.state={element:t}}render(){const e={background:this.props.colorToPercent,borderColor:this.props.colorToPercent,cursor:"default"},t={background:this.props.searchColor,borderColor:this.props.searchColor,cursor:"default"},r={color:"rgb(153,153,153)",fontStyle:"italic"},a={borderLeft:"4px solid transparent",paddingLeft:"0.6em",borderColor:this.props.color},n="undefined";let i,o;this.props.type===n?(null!==this.props.valueNameSelector2&&"undefined"!==this.props.type&&(e.cursor="pointer"),i=e):"transparent"===this.props.searchColor?(null!==this.props.valueNameSelector2&&(e.cursor="pointer"),i=e):(null!==this.props.valueNameSelector2&&(e.cursor="pointer"),i=t),o=""!==this.props.color?a:"undefined"===this.props.type?r:void 0;const l="sql"===this.props.valueNameSelector1&&this.props.type!==n?()=>this.props.togglePopup(this.props.name):void 0;return jsxRuntimeExports.jsxs("tr",{className:"MainTableData--tr",onClick:()=>this.props.clickColumn(this.props.name),style:i,children:[jsxRuntimeExports.jsx("td",{className:"MainTableData--td",children:jsxRuntimeExports.jsx("a",{role:"button",onClick:l,style:{color:"inherit"},children:jsxRuntimeExports.jsx("label",{title:this.props.name,className:"MainTableData--label",style:o,children:this.props.name})})}),this.state.element.map(((e,t)=>jsxRuntimeExports.jsxs("td",{className:"MainTableData--td",children:[" ",this.props.columnsArray[t+1].isDecimal?e.value.toFixed(2):e.value,this.props.columnsArray[t+1].suffix]},e.uid)))]})}}const DetailTableData$1="";class DetailTableData extends reactExports.Component{constructor(e){super(e);const t=this.props.values.map((e=>({uid:lodashExports.uniqueId("id"),value:e})));this.state={element:t}}render(){const e={background:this.props.colorToPercent,borderColor:this.props.colorToPercent,color:"rgb(153,153,153)",fontStyle:"italic"},t={background:this.props.colorToPercent,borderColor:this.props.colorToPercent},r={background:this.props.searchColor,borderColor:this.props.searchColor},a="undefined";let n;n=this.props.type===a?e:"rgb(248,248,248)"===this.props.searchColor?t:r;const i={borderColor:this.props.color},o={borderColor:this.props.color,marginLeft:"12px"};let l;l="Service Name"===this.props.valueNameSelector2?o:i;const s="sql"===this.props.valueNameSelector2&&this.props.type!==a?()=>this.props.togglePopup(this.props.name):void 0;return jsxRuntimeExports.jsxs("tr",{className:"DetailTableData--tr",style:n,children:[jsxRuntimeExports.jsx("td",{className:"DetailTableData--td",children:jsxRuntimeExports.jsx("a",{role:"button",onClick:s,style:{color:"inherit"},children:jsxRuntimeExports.jsx("label",{title:this.props.name,className:"DetailTableData--serviceBorder",style:l,children:this.props.name})})}),this.state.element.map(((e,t)=>jsxRuntimeExports.jsxs("td",{className:"DetailTableData--td",children:[this.props.columnsArray[t+1].isDecimal?Number(e.value).toFixed(2):e.value,this.props.columnsArray[t+1].suffix]},e.uid)))]})}}const serviceName$1="Service Name",operationName$1="Operation Name";function getValueTagIsPicked(e,t,r){const a=t.spans;let n=[];for(let l=0;l=r[i].relativeStartTime){if(e+a0){c=o.duration;const e=getLowestStartTime(o.allOverlay);s=e.lowestStartTime,i=e.duration}}while(o.allOverlay.length>1);i=o.duration+c;for(let f=0;ft.duration&&(n.min=t.duration),n.max=e[0].relativeStartTime+e[0].duration?t.duration-e[0].duration:e[0].relativeStartTime-t.relativeStartTime;else{for(let r=0;r=e[r].relativeStartTime&&(l=!0,s.push(e[t]),s.push(e[r]));if(s=[...new Set(s)],o||l)if(o&&l)if(lodashExports.isEmpty(lodashExports.xor(s,c))){const r=lodashExports.minBy(c,(function(e){return e.relativeStartTime})),a=lodashExports.difference(e,c);i=r.relativeStartTime-t.relativeStartTime;for(let e=0;en.relativeStartTime&&(o[e].duration-=o[e].relativeStartTime+o[e].duration-n.relativeStartTime,o[e].duration<0&&(o[e].duration=0));i=onlyOverlay(o,a,i,t);const l=t.relativeStartTime+t.duration-n.relativeStartTime;i=Math.max(0,i-l)}else if(o){i=c[0].relativeStartTime-t.relativeStartTime;for(let t=0;ti&&(n.selfMin=i),n.selfMaxe.process.serviceName)).map(((e,t)=>({key:t}))).uniq().value();for(let t=0;te.operationName)).map(((e,t)=>({key:t}))).uniq().value();for(let t=0;t0)for(let e=0;ei?1:0:ni?-1:0}))}function sortTable(e,t,r){const a=[],n=[];for(let o=0;oe.parentElement===i[o].parentElement)).groupBy((e=>e.parentElement)).map((e=>({parentElement:t,groupedArry:e}))).value()[0].groupedArry;if(sortByKey(e,t,r),e.length>0){let t=0;for(let r=0;re.closePopup(""),children:["close"," "]})]})})}const columnsArray=[{title:"Name",attribute:"name",suffix:"",isDecimal:!1},{title:"Count",attribute:"count",suffix:"",isDecimal:!1},{title:"Total",attribute:"total",suffix:"ms",isDecimal:!0},{title:"Avg",attribute:"avg",suffix:"ms",isDecimal:!0},{title:"Min",attribute:"min",suffix:"ms",isDecimal:!0},{title:"Max",attribute:"max",suffix:"ms",isDecimal:!0},{title:"ST Total",attribute:"selfTotal",suffix:"ms",isDecimal:!0},{title:"ST Avg",attribute:"selfAvg",suffix:"ms",isDecimal:!0},{title:"ST Min",attribute:"selfMin",suffix:"ms",isDecimal:!0},{title:"ST Max",attribute:"selfMax",suffix:"ms",isDecimal:!0},{title:"ST in Duration",attribute:"percent",suffix:"%",isDecimal:!0}];class TraceStatistics extends reactExports.Component{constructor(e){super(e),this.sortTableWithOthers=(e,t,r)=>{let a=-1,n=-1,i=!1,o=[];const l=[];let s;for(s=0;s{const a=t,n="rgb(255,243,215)",i="rgb(248,248,248)";for(let o=0;o({...t,tableValue:e})))}handler(e,t,r,a){this.setState((n=>({...n,tableValue:this.searchInTable(this.props.uiFindVertexKeys,this.sortTableWithOthers(e,1,!1),this.props.uiFind),sortIndex:1,sortAsc:!1,valueNameSelector1:r,valueNameSelector2:a,wholeTable:t})))}togglePopup(e){const t=this.state.showPopup;this.setState((r=>({...r,showPopup:!t,popupContent:e})))}sortClick(e){const{tableValue:t,sortIndex:r,sortAsc:a}=this.state;r!==e?this.setState((r=>({...r,sortIndex:e,sortAsc:!1,tableValue:this.sortTableWithOthers(t,e,!1)}))):this.setState((r=>({...r,sortAsc:!a,tableValue:this.sortTableWithOthers(t,e,!a)})))}clickColumn(e){if(null!==this.state.valueNameSelector2){let t=!0;const r=this.state.tableValue;let a=[];for(let n=0;n{const{count:t,total:r,avg:a,min:n,max:i,selfTotal:o,selfAvg:l,selfMin:s,selfMax:c,percent:u,color:f,searchColor:A,colorToPercent:d}=e,p=[t,r,a,n,i,o,l,s,c,u],h=lodashExports.uniqueId("id");return e.isDetail?jsxRuntimeExports.jsx(DetailTableData,{type:e.type,name:e.name,searchColor:A,values:p,columnsArray:columnsArray,color:f,togglePopup:this.togglePopup,valueNameSelector2:this.state.valueNameSelector2,colorToPercent:d},h):jsxRuntimeExports.jsx(MainTableData,{type:e.type,name:e.name,searchColor:A,values:p,columnsArray:columnsArray,togglePopup:this.togglePopup,valueNameSelector1:this.state.valueNameSelector1,valueNameSelector2:this.state.valueNameSelector2,color:f,clickColumn:this.clickColumn,colorToPercent:d},h)}))}renderTableHead(){const{sortAsc:e,sortIndex:t}=this.state;return jsxRuntimeExports.jsx("tr",{children:columnsArray.map(((r,a)=>jsxRuntimeExports.jsx(HeaderTable,{element:r,sortIndex:t,index:a,sortClick:this.sortClick,sortAsc:e},r.title)))})}render(){return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"title--TraceStatistics",children:" Trace Statistics"}),jsxRuntimeExports.jsx(TraceStatisticsHeader,{trace:this.props.trace,tableValue:this.state.tableValue,wholeTable:this.state.wholeTable,handler:this.handler}),this.state.showPopup?jsxRuntimeExports.jsx(PopupSql,{closePopup:this.togglePopup,popupContent:this.state.popupContent}):null,jsxRuntimeExports.jsx("table",{className:"test1893",children:jsxRuntimeExports.jsxs("tbody",{className:"DetailTraceTableTbody--TraceStatistics",children:[this.renderTableHead(),this.renderTableData()]})})]})}}var FormItem$1={};const require$$4=getAugmentedNamespace(Animate$2),require$$5=getAugmentedNamespace(es$4);var row={},RowContext={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=(0,((t=libExports$3)&&t.__esModule?t:{default:t}).default)({});e.default=r}(RowContext);var type={};Object.defineProperty(type,"__esModule",{value:!0}),type.tupleNum=type.tuple=void 0;var tuple=function(){for(var e=arguments.length,t=new Array(e),r=0;r0?{marginLeft:v[0]/-2,marginRight:v[0]/-2}:{}),v[1]>0?{marginTop:v[1]/-2,marginBottom:v[1]/-2}:{}),h),k=d({},g);return delete k.gutter,r.createElement(o.default.Provider,{value:{gutter:v}},r.createElement("div",d({},k,{className:y,style:w}),b))},e}return t=u,n=[{key:"componentDidMount",value:function(){var e=this;this.token=s.default.subscribe((function(t){var r=e.props.gutter;("object"===A(r)||Array.isArray(r)&&("object"===A(r[0])||"object"===A(r[1])))&&e.setState({screens:t})}))}},{key:"componentWillUnmount",value:function(){s.default.unsubscribe(this.token)}},{key:"getGutter",value:function(){var e=[0,0],t=this.props.gutter,r=this.state.screens;return(Array.isArray(t)?t:[t,0]).forEach((function(t,a){if("object"===A(t))for(var n=0;n0?{paddingLeft:t[0]/2,paddingRight:t[0]/2}:{}),t[1]>0?{paddingTop:t[1]/2,paddingBottom:t[1]/2}:{}),a)),r.createElement("div",f({},y,{style:a,className:x}),v)}))},e}return t=c,(a=[{key:"render",value:function(){return r.createElement(o.ConfigConsumer,null,this.renderCol)}}])&&d(t.prototype,a),l&&d(t,l),c}(r.Component);t.default=v,v.propTypes={span:a.number,order:a.number,offset:a.number,push:a.number,pull:a.number,className:a.string,children:a.node,xs:m,sm:m,md:m,lg:m,xl:m,xxl:m}}(col);var icon={};const require$$2=getAugmentedNamespace(index_es),require$$3=getAugmentedNamespace(es$3);var IconFont={},hasRequiredIconFont;function requireIconFont(){return hasRequiredIconFont||(hasRequiredIconFont=1,function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.scriptUrl,r=e.extraCommonProps,i=void 0===r?{}:r;if("undefined"!=typeof document&&"undefined"!=typeof window&&"function"==typeof document.createElement&&"string"==typeof t&&t.length&&!s.has(t)){var c=document.createElement("script");c.setAttribute("src",t),c.setAttribute("data-namespace",t),s.add(t),document.body.appendChild(c)}var u=function(e){var t=e.type,r=e.children,s=l(e,["type","children"]),c=null;return e.type&&(c=a.createElement("use",{xlinkHref:"#".concat(t)})),r&&(c=r),a.createElement(n.default,o({},i,s),c)};return u.displayName="Iconfont",u};var r,a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==t(e)&&"function"!=typeof e)return{default:e};var r=i();if(r&&r.has(e))return r.get(e);var a={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var l=n?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(a,o,l):a[o]=e[o]}a.default=e,r&&r.set(e,a);return a}(reactExports),n=(r=requireIcon())&&r.__esModule?r:{default:r};function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function o(){return o=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);re.length)&&(t=e.length);for(var r=0,a=new Array(t);r0));i++){var o=n[i];(!o.type||o.type!==g&&"FormItem"!==o.type.displayName)&&o.props&&(p.FIELD_META_PROP in o.props?a.push(o):o.props.children&&(a=a.concat(this.getControls(o.props.children,t))))}return a}},{key:"getOnlyControl",value:function(){var e=this.getControls(this.props.children,!1)[0];return void 0!==e?e:null}},{key:"getChildProp",value:function(e){var t=this.getOnlyControl();return t&&t.props&&t.props[e]}},{key:"getId",value:function(){return this.getChildProp("id")}},{key:"getMeta",value:function(){return this.getChildProp(p.FIELD_META_PROP)}},{key:"getField",value:function(){return this.getChildProp(p.FIELD_DATA_PROP)}},{key:"getValidateStatus",value:function(){if(!this.getOnlyControl())return"";var e=this.getField();if(e.validating)return"validating";if(e.errors)return"error";var t="value"in e?e.value:this.getMeta().initialValue;return null!=t&&""!==t?"success":""}},{key:"isRequired",value:function(){var e=this.props.required;return void 0!==e?e:!!this.getOnlyControl()&&((this.getMeta()||{}).validate||[]).filter((function(e){return!!e.rules})).some((function(e){return e.rules.some((function(e){return e.required}))}))}},{key:"renderHelp",value:function(e){var t=this.getHelpMessage(),a=t?r.createElement("div",{className:"".concat(e,"-explain"),key:"help"},t):null;return a&&(this.helpShow=!!a),r.createElement(o.default,{transitionName:"show-help",component:"",transitionAppear:!0,key:"help",onEnd:this.onHelpAnimEnd},a)}},{key:"renderExtra",value:function(e){var t=this.props.extra;return t?r.createElement("div",{className:"".concat(e,"-extra")},t):null}},{key:"renderValidateWrapper",value:function(e,t,a,n){var o=this.props,l=this.getOnlyControl,s=void 0===o.validateStatus&&l?this.getValidateStatus():o.validateStatus,c="".concat(e,"-item-control");s&&(c=(0,i.default)("".concat(e,"-item-control"),{"has-feedback":s&&o.hasFeedback,"has-success":"success"===s,"has-warning":"warning"===s,"has-error":"error"===s,"is-validating":"validating"===s}));var f="";switch(s){case"success":f="check-circle";break;case"warning":f="exclamation-circle";break;case"error":f="close-circle";break;case"validating":f="loading";break;default:f=""}var A=o.hasFeedback&&f?r.createElement("span",{className:"".concat(e,"-item-children-icon")},r.createElement(u.default,{type:f,theme:"loading"===f?"outlined":"filled"})):null;return r.createElement("div",{className:c},r.createElement("span",{className:"".concat(e,"-item-children")},t,A),a,n)}},{key:"renderWrapper",value:function(e,t){var a=this;return r.createElement(h.default.Consumer,{key:"wrapper"},(function(n){var o=n.wrapperCol,l=n.vertical,s=a.props.wrapperCol,u=("wrapperCol"in a.props?s:o)||{},f=(0,i.default)("".concat(e,"-item-control-wrapper"),u.className);return r.createElement(h.default.Provider,{value:{vertical:l}},r.createElement(c.default,y({},u,{className:f}),t))}))}},{key:"renderLabel",value:function(e){var t=this;return r.createElement(h.default.Consumer,{key:"label"},(function(a){var n,o=a.vertical,l=a.labelAlign,s=a.labelCol,u=a.colon,f=t.props,A=f.label,d=f.labelCol,p=f.labelAlign,h=f.colon,b=f.id,g=f.htmlFor,m=t.isRequired(),v=("labelCol"in t.props?d:s)||{},k="labelAlign"in t.props?p:l,x="".concat(e,"-item-label"),E=(0,i.default)(x,"left"===k&&"".concat(x,"-left"),v.className),_=A,C=!0===h||!1!==u&&!1!==h;C&&!o&&"string"==typeof A&&""!==A.trim()&&(_=A.replace(/[::]\s*$/,""));var $=(0,i.default)((w(n={},"".concat(e,"-item-required"),m),w(n,"".concat(e,"-item-no-colon"),!C),n));return A?r.createElement(c.default,y({},v,{className:E}),r.createElement("label",{htmlFor:g||b||t.getId(),className:$,title:"string"==typeof A?A:"",onClick:t.onLabelClick},_)):null}))}},{key:"renderChildren",value:function(e){var t=this.props.children;return[this.renderLabel(e),this.renderWrapper(e,this.renderValidateWrapper(e,t,this.renderHelp(e),this.renderExtra(e)))]}},{key:"render",value:function(){return r.createElement(f.ConfigConsumer,null,this.renderFormItem)}}],n&&k(t.prototype,n),d&&k(t,d),g}(r.Component);t.default=S,S.defaultProps={hasFeedback:!1},S.propTypes={prefixCls:n.string,label:n.oneOfType([n.string,n.node]),labelCol:n.object,help:n.oneOfType([n.node,n.bool]),validateStatus:n.oneOf(O),hasFeedback:n.bool,wrapperCol:n.object,className:n.string,id:n.string,children:n.node,colon:n.bool}}(FormItem$1);const FormItem=getDefaultExportFromCjs(FormItem$1),index$8="",Option=Select.Option;function getNestedProperty(e,t){return e.split(".").reduce(((e,t)=>e?e[t]:null),t)}class TraceSpanView extends reactExports.Component{constructor(e,t){super(e,t);const r=new Set,a=new Set,n=new Map;this.props.trace.spans.forEach((e=>{r.add(e.process.serviceName),a.add(e.operationName);const t=n.get(e.process.serviceName)||[];t.push(e.operationName),n.set(e.process.serviceName,t)})),this.state={searchText:"",searchedColumn:"",data:this.props.trace.spans,serviceNamesList:[...r],operationNamesList:[...a],serviceNameOperationsMap:n,filteredData:this.props.trace.spans,filtered:{},selectedServiceName:[],selectedOperationName:[]},this.handleResetFilter=this.handleResetFilter.bind(this),this.uniqueOperationNameOptions=this.uniqueOperationNameOptions.bind(this)}handleResetFilter(){this.setState((e=>({selectedServiceName:[],selectedOperationName:[],filteredData:e.data})))}uniqueOperationNameOptions(){let e=[];const t=this.state.serviceNameOperationsMap;return this.state.filtered["process.serviceName"]?this.state.filtered["process.serviceName"].forEach((r=>{e=e.concat(t.get(r)||[])})):e=this.state.operationNamesList,[...new Set(e)]}onFilteredChangeCustom(e,t){const r=this.state.filtered;r[t]=e;const a=this.state.data.filter((e=>{let t;return Object.keys(r).every((a=>{if(r[a].length){const n=getNestedProperty(a,e);t=r[a].includes(n)}else t=!0;return t})),t}));this.setState((e=>({...e,filtered:r,filteredData:a})))}render(){const e=[{title:"Service Name",dataIndex:"process.serviceName",width:"25%"},{title:"Operation",dataIndex:"operationName",width:"25%"},{title:"ID",dataIndex:"spanID",render:(e,t)=>jsxRuntimeExports.jsx("a",{href:prefixUrl(`/trace/${t.traceID}?uiFind=${e}`),target:"_blank",rel:"noopener noreferrer",children:e})},{title:"Duration",dataIndex:"duration",sorter:(e,t)=>e.duration-t.duration,render:e=>timeConversion(parseInt(e,10))},{title:"Start Time",dataIndex:"startTime",sorter:(e,t)=>e.startTime-t.startTime,render:e=>hooks$1(e/1e3).format("DD MMM YYYY hh:mm A")}];return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"title--TraceSpanView",children:" Trace Tabular View"}),jsxRuntimeExports.jsxs(Row,{type:"flex",style:{marginTop:"8px"},children:[jsxRuntimeExports.jsx(Col,{span:7,children:jsxRuntimeExports.jsx(FormItem,{label:"Service Name",labelCol:{span:6},wrapperCol:{span:18},className:"serviceNameDD",children:jsxRuntimeExports.jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",style:{width:"100%"},maxTagCount:4,value:this.state.selectedServiceName,maxTagPlaceholder:`+ ${this.state.selectedServiceName.length-4} Selected`,placeholder:"Please Select Service ",onChange:e=>{this.setState((t=>({...t,selectedServiceName:e}))),this.onFilteredChangeCustom(e,"process.serviceName")},children:this.state.serviceNamesList.map((e=>jsxRuntimeExports.jsxs(Option,{children:[e," "]},e)))})})}),jsxRuntimeExports.jsx(Col,{span:9,children:jsxRuntimeExports.jsx(FormItem,{label:"Operation Name",labelCol:{span:6},wrapperCol:{span:18},className:"operationNameDD",children:jsxRuntimeExports.jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",style:{width:"100%"},maxTagCount:4,value:this.state.selectedOperationName,maxTagPlaceholder:`+ ${this.state.selectedOperationName.length-4} Selected`,placeholder:"Please Select Operation",onChange:e=>{this.setState((t=>({...t,selectedOperationName:e}))),this.onFilteredChangeCustom(e,"operationName")},children:this.uniqueOperationNameOptions().map((e=>jsxRuntimeExports.jsxs(Option,{children:[e," "]},e)))})})}),jsxRuntimeExports.jsx(Col,{span:2,push:6,children:jsxRuntimeExports.jsx(FormItem,{className:"reset-filter",children:jsxRuntimeExports.jsx(Button$2,{type:"primary",htmlType:"button",onClick:this.handleResetFilter,children:"Reset Filters"})})})]}),jsxRuntimeExports.jsx(Table$1,{className:"span-table span-view-table",columns:e,dataSource:this.state.filteredData,pagination:{total:this.state.filteredData.length,pageSizeOptions:["10","20","50","100"],showSizeChanger:!0,showQuickJumper:!0},rowKey:"spanID"})]})}}var distExports={},dist={get exports(){return distExports},set exports(e){distExports=e}};!function(t,r){var n,o=Object.defineProperty,l=Object.defineProperties,c=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,p=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,m=(e,t,r)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,v=(e,t)=>{for(var r in t||(t={}))p.call(t,r)&&m(e,r,t[r]);if(A)for(var r of A(t))h.call(t,r)&&m(e,r,t[r]);return e},y=(e,t)=>l(e,c(t)),w=(e,t)=>{var r={};for(var a in e)p.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&A)for(var a of A(e))t.indexOf(a)<0&&h.call(e,a)&&(r[a]=e[a]);return r},k=(e,t,r)=>new Promise(((a,n)=>{var i=e=>{try{l(r.next(e))}catch(Z){n(Z)}},o=e=>{try{l(r.throw(e))}catch(Z){n(Z)}},l=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,o);l((r=r.apply(e,t)).next())}));n=(t,r)=>(()=>{var n={899:(e,t)=>{t.DF={prefix:"fas",iconName:"align-left",icon:[448,512,[],"f036","M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},t.el=t.DF},459:(e,t)=>{t.DF={prefix:"fas",iconName:"bars",icon:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},t.xi=t.DF},971:(e,t)=>{t.DF={prefix:"fas",iconName:"columns",icon:[512,512,[],"f0db","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"]},t.rW=t.DF},42:(e,t)=>{t.DF={prefix:"fas",iconName:"compress-alt",icon:[448,512,[],"f422","M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z"]},t.V9=t.DF},682:(e,t)=>{t.DF={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},t.kZ=t.DF},438:(e,t)=>{t.DF={prefix:"fas",iconName:"highlighter",icon:[544,512,[],"f591","M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"]},t.Y6=t.DF},384:(e,t)=>{t.DF={prefix:"fas",iconName:"icicles",icon:[512,512,[],"f7ad","M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z"]},t.$P=t.DF},687:(e,t)=>{t.DF={prefix:"fas",iconName:"link",icon:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"]},t.nN=t.DF},646:(e,t)=>{t.DF={prefix:"fas",iconName:"list-ul",icon:[512,512,[],"f0ca","M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},t.gf=t.DF},247:(e,t)=>{t.DF={prefix:"fas",iconName:"redo",icon:[512,512,[],"f01e","M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"]},t.XS=t.DF},769:(e,t)=>{t.DF={prefix:"fas",iconName:"table",icon:[512,512,[],"f0ce","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"]},t.B3=t.DF},692:(e,t)=>{t.DF={prefix:"fas",iconName:"undo",icon:[512,512,[],"f0e2","M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"]},t.X7=t.DF},779:(e,t)=>{var r; +var stringifyValue=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},stringOrNode=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.node]),stringOrNumber=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),instanceId=1,shouldShowValue=function(e,t){var r=e.inputValue,a=e.isPseudoFocused,n=e.isFocused,i=t.onSelectResetsInput;return!r||!i&&!(!n&&a||n&&!a)},shouldShowPlaceholder=function(e,t,r){var a=e.inputValue,n=e.isPseudoFocused,i=e.isFocused,o=t.onSelectResetsInput;return!a||!o&&!r&&!n&&!i},expandValue=function(e,t){var r=void 0===e?"undefined":_typeof$9(e);if("string"!==r&&"number"!==r&&"boolean"!==r)return e;var a=t.options,n=t.valueKey;if(a)for(var i=0;io||if.bottom?c.scrollTop=s.offsetTop+s.clientHeight-c.offsetHeight:u.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,r="object"===(void 0===t?"undefined":_typeof$9(t))?t:this.props;if(r.multi){if("string"==typeof e&&(e=e.split(r.delimiter)),!Array.isArray(e)){if(null==e)return[];e=[e]}return e.map((function(e){return expandValue(e,r)})).filter((function(e){return e}))}var a=expandValue(e,r);return a?[a]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var r=handleRequired(e,this.props.multi);this.setState({required:r})}this.props.simpleValue&&e&&(e=this.props.multi?e.map((function(e){return e[t.props.valueKey]})).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var r=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(r),isOpen:!this.props.closeOnSelect},(function(){t.getValueArray(t.props.value).some((function(r){return r[t.props.valueKey]===e[t.props.valueKey]}))?t.removeValue(e):t.addValue(e)})):this.setState({inputValue:this.handleInputValueChange(r),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},(function(){t.setValue(e)}))}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),r=this._visibleOptions.filter((function(e){return!e.disabled})),a=r.indexOf(e);this.setValue(t.concat(e)),this.props.closeOnSelect&&(r.length-1===a?this.focusOption(r[a-1]):r.length>a&&this.focusOption(r[a+1]))}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,r=this.getValueArray(this.props.value);this.setValue(r.filter((function(r){return r[t.props.valueKey]!==e[t.props.valueKey]}))),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map((function(e,t){return{option:e,index:t}})).filter((function(e){return!e.option.disabled}));if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var r={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(r.inputValue=""),void this.setState(r)}if(t.length){for(var a=-1,n=0;n0?a-=1:a=t.length-1;else if("start"===e)a=0;else if("end"===e)a=t.length-1;else if("page_up"===e){var i=a-this.props.pageSize;a=i<0?0:i}else if("page_down"===e){var o=a+this.props.pageSize;a=o>t.length-1?t.length-1:o}-1===a&&(a=0),this.setState({focusedIndex:t[a].index,focusedOption:t[a].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return React$k.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},React$k.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var r=this,a=this.props.valueRenderer||this.getOptionLabel,n=this.props.valueComponent;if(!e.length)return shouldShowPlaceholder(this.state,this.props,t)?React$k.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map((function(t,o){return React$k.createElement(n,{disabled:r.props.disabled||!1===t.clearableValue,id:r._instancePrefix+"-value-"+o,instancePrefix:r._instancePrefix,key:"value-"+o+"-"+t[r.props.valueKey],onClick:i,onRemove:r.removeValue,placeholder:r.props.placeholder,value:t,values:e},a(t,o),React$k.createElement("span",{className:"Select-aria-only"}," "))})):shouldShowValue(this.state,this.props)?(t&&(i=null),React$k.createElement(n,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},a(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var r,a=this,n=classnamesExports("Select-input",this.props.inputProps.className),i=this.state.isOpen,o=classnamesExports((defineProperty(r={},this._instancePrefix+"-list",i),defineProperty(r,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),r)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var s=_extends$1c({},this.props.inputProps,{"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+i,"aria-haspopup":""+i,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":o,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return a.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(s);if(this.props.disabled||!this.props.searchable){var c=objectWithoutProperties(this.props.inputProps,[]),u=classnamesExports(defineProperty({},this._instancePrefix+"-list",i));return React$k.createElement("div",_extends$1c({},c,{"aria-expanded":i,"aria-owns":u,"aria-activedescendant":i?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:n,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return a.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?React$k.createElement(_default$3,_extends$1c({id:this.props.id},s,{className:n,minWidth:"5"})):React$k.createElement("div",{className:n,key:"input-wrap",style:{display:"inline-block"}},React$k.createElement("input",_extends$1c({id:this.props.id},s)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,r=this.props.clearRenderer();return React$k.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},r)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,r=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return r?React$k.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},r):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,r=this.props.options||[];if(this.props.filterOptions){var a="function"==typeof this.props.filterOptions?this.props.filterOptions:filterOptions;return a(r,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return r}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,r){return e&&e.length?this.props.menuRenderer({focusedOption:r,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?React$k.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var r=e.map((function(e){return stringifyValue(e[t.props.valueKey])})).join(this.props.delimiter);return React$k.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:r})}return e.map((function(e,r){return React$k.createElement("input",{disabled:t.props.disabled,key:"hidden."+r,name:t.props.name,ref:"value"+r,type:"hidden",value:stringifyValue(e[t.props.valueKey])})}))}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var r=this.props.valueKey,a=this.state.focusedOption||e;if(a&&!a.disabled){var n=-1;if(t.some((function(e,t){var i=e[r]===a[r];return i&&(n=t),i})),-1!==n)return n}for(var i=0;i div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',a=e.head||e.getElementsByTagName("head")[0],n=e.createElement("style");n.id="detectElementResize",n.type="text/css",null!=t&&n.setAttribute("nonce",t),n.styleSheet?n.styleSheet.cssText=r:n.appendChild(e.createTextNode(r)),a.appendChild(n)}}(i),e.__resizeLast__={},e.__resizeListeners__=[],(e.__resizeTriggers__=i.createElement("div")).className="resize-triggers",e.__resizeTriggers__.innerHTML='
',e.appendChild(e.__resizeTriggers__),o(e),e.addEventListener("scroll",l,!0),u&&(e.__resizeTriggers__.__animationListener__=function(t){t.animationName==h&&o(e)},e.__resizeTriggers__.addEventListener(u,e.__resizeTriggers__.__animationListener__))}e.__resizeListeners__.push(n)}},removeResizeListener:function(t,r){if(a)t.detachEvent("onresize",r);else if(t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(r),1),!t.__resizeListeners__.length){t.removeEventListener("scroll",l,!0),t.__resizeTriggers__.__animationListener__&&(t.__resizeTriggers__.removeEventListener(u,t.__resizeTriggers__.__animationListener__),t.__resizeTriggers__.__animationListener__=null);try{t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__)}catch(e){}}}}}Object.defineProperty(detectElementResize,"__esModule",{value:!0}),detectElementResize.default=createDetectElementResize,Object.defineProperty(AutoSizer$2,"__esModule",{value:!0});var _extends2$2=_extends$2a,_extends3$2=_interopRequireDefault$9(_extends2$2),_getPrototypeOf$d=getPrototypeOfExports,_getPrototypeOf2$2=_interopRequireDefault$9(_getPrototypeOf$d),_classCallCheck2$2=classCallCheck$2,_classCallCheck3$2=_interopRequireDefault$9(_classCallCheck2$2),_createClass2$2=createClass$2,_createClass3$2=_interopRequireDefault$9(_createClass2$2),_possibleConstructorReturn2$2=possibleConstructorReturn$2,_possibleConstructorReturn3$2=_interopRequireDefault$9(_possibleConstructorReturn2$2),_inherits2$2=inherits$2,_inherits3$2=_interopRequireDefault$9(_inherits2$2),_react$3=reactExports,React$2=_interopRequireWildcard$3(_react$3),_detectElementResize=detectElementResize,_detectElementResize2=_interopRequireDefault$9(_detectElementResize),_propTypes$4=propTypesExports;function _interopRequireWildcard$3(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault$9(e){return e&&e.__esModule?e:{default:e}}_interopRequireDefault$9(_propTypes$4);var AutoSizer$1=function(e){function t(){var e,r,a,n;(0,_classCallCheck3$2.default)(this,t);for(var i=arguments.length,o=Array(i),l=0;l=0&&s===l&&c())}Object.defineProperty(calculateSizeAndPositionDataAndUpdateScrollOffset$1,"__esModule",{value:!0}),calculateSizeAndPositionDataAndUpdateScrollOffset$1.default=calculateSizeAndPositionDataAndUpdateScrollOffset;var ScalingCellSizeAndPositionManager={},CellSizeAndPositionManager={},types$1={},hasRequiredTypes,hasRequiredCellSizeAndPositionManager;function requireTypes(){if(hasRequiredTypes)return types$1;function e(e){return e&&e.__esModule?e:{default:e}}hasRequiredTypes=1,Object.defineProperty(types$1,"__esModule",{value:!0}),types$1.bpfrpt_proptype_VisibleCellRange=types$1.bpfrpt_proptype_Alignment=types$1.bpfrpt_proptype_OverscanIndicesGetter=types$1.bpfrpt_proptype_OverscanIndices=types$1.bpfrpt_proptype_OverscanIndicesGetterParams=types$1.bpfrpt_proptype_RenderedSection=types$1.bpfrpt_proptype_ScrollbarPresenceChange=types$1.bpfrpt_proptype_Scroll=types$1.bpfrpt_proptype_NoContentRenderer=types$1.bpfrpt_proptype_CellSize=types$1.bpfrpt_proptype_CellSizeGetter=types$1.bpfrpt_proptype_CellRangeRenderer=types$1.bpfrpt_proptype_CellRangeRendererParams=types$1.bpfrpt_proptype_StyleCache=types$1.bpfrpt_proptype_CellCache=types$1.bpfrpt_proptype_CellRenderer=types$1.bpfrpt_proptype_CellRendererParams=types$1.bpfrpt_proptype_CellPosition=void 0,function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e}(reactExports),e(requireScalingCellSizeAndPositionManager()),e(propTypesExports);return types$1.bpfrpt_proptype_CellPosition=null,types$1.bpfrpt_proptype_CellRendererParams=null,types$1.bpfrpt_proptype_CellRenderer=null,types$1.bpfrpt_proptype_CellCache=null,types$1.bpfrpt_proptype_StyleCache=null,types$1.bpfrpt_proptype_CellRangeRendererParams=null,types$1.bpfrpt_proptype_CellRangeRenderer=null,types$1.bpfrpt_proptype_CellSizeGetter=null,types$1.bpfrpt_proptype_CellSize=null,types$1.bpfrpt_proptype_NoContentRenderer=null,types$1.bpfrpt_proptype_Scroll=null,types$1.bpfrpt_proptype_ScrollbarPresenceChange=null,types$1.bpfrpt_proptype_RenderedSection=null,types$1.bpfrpt_proptype_OverscanIndicesGetterParams=null,types$1.bpfrpt_proptype_OverscanIndices=null,types$1.bpfrpt_proptype_OverscanIndicesGetter=null,types$1.bpfrpt_proptype_Alignment=null,types$1.bpfrpt_proptype_VisibleCellRange=null,types$1}function requireCellSizeAndPositionManager(){if(hasRequiredCellSizeAndPositionManager)return CellSizeAndPositionManager;hasRequiredCellSizeAndPositionManager=1,Object.defineProperty(CellSizeAndPositionManager,"__esModule",{value:!0});var e=r(classCallCheck$2),t=r(createClass$2);function r(e){return e&&e.__esModule?e:{default:e}}requireTypes();var a=function(){function r(t){var a=t.cellCount,n=t.cellSizeGetter,i=t.estimatedCellSize;(0,e.default)(this,r),this._cellSizeAndPositionData={},this._lastMeasuredIndex=-1,this._lastBatchedIndex=-1,this._cellSizeGetter=n,this._cellCount=a,this._estimatedCellSize=i}return(0,t.default)(r,[{key:"areOffsetsAdjusted",value:function(){return!1}},{key:"configure",value:function(e){var t=e.cellCount,r=e.estimatedCellSize,a=e.cellSizeGetter;this._cellCount=t,this._estimatedCellSize=r,this._cellSizeGetter=a}},{key:"getCellCount",value:function(){return this._cellCount}},{key:"getEstimatedCellSize",value:function(){return this._estimatedCellSize}},{key:"getLastMeasuredIndex",value:function(){return this._lastMeasuredIndex}},{key:"getOffsetAdjustment",value:function(){return 0}},{key:"getSizeAndPositionOfCell",value:function(e){if(e<0||e>=this._cellCount)throw Error("Requested index "+e+" is outside of range 0.."+this._cellCount);if(e>this._lastMeasuredIndex)for(var t=this.getSizeAndPositionOfLastMeasuredCell(),r=t.offset+t.size,a=this._lastMeasuredIndex+1;a<=e;a++){var n=this._cellSizeGetter({index:a});if(void 0===n||isNaN(n))throw Error("Invalid size returned for cell "+a+" of value "+n);null===n?(this._cellSizeAndPositionData[a]={offset:r,size:0},this._lastBatchedIndex=e):(this._cellSizeAndPositionData[a]={offset:r,size:n},r+=n,this._lastMeasuredIndex=e)}return this._cellSizeAndPositionData[e]}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._lastMeasuredIndex>=0?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}}},{key:"getTotalSize",value:function(){var e=this.getSizeAndPositionOfLastMeasuredCell();return e.offset+e.size+(this._cellCount-this._lastMeasuredIndex-1)*this._estimatedCellSize}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,r=void 0===t?"auto":t,a=e.containerSize,n=e.currentOffset,i=e.targetIndex;if(a<=0)return 0;var o=this.getSizeAndPositionOfCell(i),l=o.offset,s=l-a+o.size,c=void 0;switch(r){case"start":c=l;break;case"end":c=s;break;case"center":c=l-(a-o.size)/2;break;default:c=Math.max(s,Math.min(l,n))}var u=this.getTotalSize();return Math.max(0,Math.min(u-a,c))}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,r=e.offset;if(0===this.getTotalSize())return{};var a=r+t,n=this._findNearestCell(r),i=this.getSizeAndPositionOfCell(n);r=i.offset+i.size;for(var o=n;rr&&(e=a-1)}return t>0?t-1:0}},{key:"_exponentialSearch",value:function(e,t){for(var r=1;e=e?this._binarySearch(r,0,e):this._exponentialSearch(r,e)}}]),r}();return CellSizeAndPositionManager.default=a,CellSizeAndPositionManager}var maxElementSize={};Object.defineProperty(maxElementSize,"__esModule",{value:!0});var DEFAULT_MAX_ELEMENT_SIZE=15e5,CHROME_MAX_ELEMENT_SIZE=16777100,isBrowser=function(){return"undefined"!=typeof window},isChrome=function(){return!!window.chrome&&!!window.chrome.webstore},hasRequiredScalingCellSizeAndPositionManager;function requireScalingCellSizeAndPositionManager(){if(hasRequiredScalingCellSizeAndPositionManager)return ScalingCellSizeAndPositionManager;hasRequiredScalingCellSizeAndPositionManager=1,Object.defineProperty(ScalingCellSizeAndPositionManager,"__esModule",{value:!0});var e=i(objectWithoutProperties$2),t=i(classCallCheck$2),r=i(createClass$2),a=i(requireCellSizeAndPositionManager()),n=maxElementSize;function i(e){return e&&e.__esModule?e:{default:e}}requireTypes();var o=function(){function i(r){var o=r.maxScrollSize,l=void 0===o?(0,n.getMaxElementSize)():o,s=(0,e.default)(r,["maxScrollSize"]);(0,t.default)(this,i),this._cellSizeAndPositionManager=new a.default(s),this._maxScrollSize=l}return(0,r.default)(i,[{key:"areOffsetsAdjusted",value:function(){return this._cellSizeAndPositionManager.getTotalSize()>this._maxScrollSize}},{key:"configure",value:function(e){this._cellSizeAndPositionManager.configure(e)}},{key:"getCellCount",value:function(){return this._cellSizeAndPositionManager.getCellCount()}},{key:"getEstimatedCellSize",value:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()}},{key:"getLastMeasuredIndex",value:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()}},{key:"getOffsetAdjustment",value:function(e){var t=e.containerSize,r=e.offset,a=this._cellSizeAndPositionManager.getTotalSize(),n=this.getTotalSize(),i=this._getOffsetPercentage({containerSize:t,offset:r,totalSize:n});return Math.round(i*(n-a))}},{key:"getSizeAndPositionOfCell",value:function(e){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(e)}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()}},{key:"getTotalSize",value:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,r=void 0===t?"auto":t,a=e.containerSize,n=e.currentOffset,i=e.targetIndex;n=this._safeOffsetToOffset({containerSize:a,offset:n});var o=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({align:r,containerSize:a,currentOffset:n,targetIndex:i});return this._offsetToSafeOffset({containerSize:a,offset:o})}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,r=e.offset;return r=this._safeOffsetToOffset({containerSize:t,offset:r}),this._cellSizeAndPositionManager.getVisibleCellRange({containerSize:t,offset:r})}},{key:"resetCell",value:function(e){this._cellSizeAndPositionManager.resetCell(e)}},{key:"_getOffsetPercentage",value:function(e){var t=e.containerSize,r=e.offset,a=e.totalSize;return a<=t?0:r/(a-t)}},{key:"_offsetToSafeOffset",value:function(e){var t=e.containerSize,r=e.offset,a=this._cellSizeAndPositionManager.getTotalSize(),n=this.getTotalSize();if(a===n)return r;var i=this._getOffsetPercentage({containerSize:t,offset:r,totalSize:a});return Math.round(i*(n-t))}},{key:"_safeOffsetToOffset",value:function(e){var t=e.containerSize,r=e.offset,a=this._cellSizeAndPositionManager.getTotalSize(),n=this.getTotalSize();if(a===n)return r;var i=this._getOffsetPercentage({containerSize:t,offset:r,totalSize:n});return Math.round(i*(a-t))}}]),i}();return ScalingCellSizeAndPositionManager.default=o,ScalingCellSizeAndPositionManager}maxElementSize.getMaxElementSize=function(){return isBrowser()&&isChrome()?CHROME_MAX_ELEMENT_SIZE:DEFAULT_MAX_ELEMENT_SIZE};var createCallbackMemoizer$1={},keysExports$1={},keys$2={get exports(){return keysExports$1},set exports(e){keysExports$1=e}},toObject=require_toObject(),$keys=_objectKeys;_objectSap("keys",(function(){return function(e){return $keys(toObject(e))}}));var keys$1=_coreExports.Object.keys;!function(e){e.exports={default:keys$1,__esModule:!0}}(keys$2),Object.defineProperty(createCallbackMemoizer$1,"__esModule",{value:!0});var _keys=keysExports$1,_keys2=_interopRequireDefault$8(_keys);function _interopRequireDefault$8(e){return e&&e.__esModule?e:{default:e}}function createCallbackMemoizer(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t={};return function(r){var a=r.callback,n=r.indices,i=(0,_keys2.default)(n),o=!e||i.every((function(e){var t=n[e];return Array.isArray(t)?t.length>0:t>=0})),l=i.length!==(0,_keys2.default)(t).length||i.some((function(e){var r=t[e],a=n[e];return Array.isArray(a)?r.join(",")!==a.join(","):r!==a}));t=n,o&&l&&a(n)}}createCallbackMemoizer$1.default=createCallbackMemoizer;var defaultOverscanIndicesGetter$2={};Object.defineProperty(defaultOverscanIndicesGetter$2,"__esModule",{value:!0}),defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_VERTICAL=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_HORIZONTAL=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_FORWARD=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_BACKWARD=void 0,defaultOverscanIndicesGetter$2.default=defaultOverscanIndicesGetter$1,requireTypes(),defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_BACKWARD=-1;var SCROLL_DIRECTION_FORWARD$1=defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_FORWARD=1;function defaultOverscanIndicesGetter$1(e){var t=e.cellCount,r=e.overscanCellsCount,a=e.scrollDirection,n=e.startIndex,i=e.stopIndex;return a===SCROLL_DIRECTION_FORWARD$1?{overscanStartIndex:Math.max(0,n),overscanStopIndex:Math.min(t-1,i+r)}:{overscanStartIndex:Math.max(0,n-r),overscanStopIndex:Math.min(t-1,i)}}defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_HORIZONTAL="horizontal",defaultOverscanIndicesGetter$2.SCROLL_DIRECTION_VERTICAL="vertical";var updateScrollIndexHelper$1={};Object.defineProperty(updateScrollIndexHelper$1,"__esModule",{value:!0}),updateScrollIndexHelper$1.default=updateScrollIndexHelper;var _ScalingCellSizeAndPositionManager$1=requireScalingCellSizeAndPositionManager();function _interopRequireDefault$7(e){return e&&e.__esModule?e:{default:e}}function updateScrollIndexHelper(e){var t=e.cellSize,r=e.cellSizeAndPositionManager,a=e.previousCellsCount,n=e.previousCellSize,i=e.previousScrollToAlignment,o=e.previousScrollToIndex,l=e.previousSize,s=e.scrollOffset,c=e.scrollToAlignment,u=e.scrollToIndex,f=e.size,A=e.sizeJustIncreasedFromZero,d=e.updateScrollIndexCallback,p=r.getCellCount(),h=u>=0&&u0&&(fr.getTotalSize()-f&&d(p-1)}_interopRequireDefault$7(_ScalingCellSizeAndPositionManager$1),requireTypes();var defaultCellRangeRenderer$1={};function defaultCellRangeRenderer(e){for(var t=e.cellCache,r=e.cellRenderer,a=e.columnSizeAndPositionManager,n=e.columnStartIndex,i=e.columnStopIndex,o=e.deferredMeasurementCache,l=e.horizontalOffsetAdjustment,s=e.isScrolling,c=e.isScrollingOptOut,u=e.parent,f=e.rowSizeAndPositionManager,A=e.rowStartIndex,d=e.rowStopIndex,p=e.styleCache,h=e.verticalOffsetAdjustment,b=e.visibleColumnIndices,g=e.visibleRowIndices,m=[],v=a.areOffsetsAdjusted()||f.areOffsetsAdjusted(),y=!s&&!v,w=A;w<=d;w++)for(var k=f.getSizeAndPositionOfCell(w),x=n;x<=i;x++){var E=a.getSizeAndPositionOfCell(x),_=x>=b.start&&x<=b.stop&&w>=g.start&&w<=g.stop,C=w+"-"+x,$=void 0;y&&p[C]?$=p[C]:o&&!o.has(w,x)?$={height:"auto",left:0,position:"absolute",top:0,width:"auto"}:($={height:k.size,left:E.offset+l,position:"absolute",top:k.offset+h,width:E.size},p[C]=$);var T={columnIndex:x,isScrolling:s,isVisible:_,key:C,parent:u,rowIndex:w,style:$},O=void 0;!c&&!s||l||h?O=r(T):(t[C]||(t[C]=r(T)),O=t[C]),null!=O&&!1!==O&&m.push(O)}return m}Object.defineProperty(defaultCellRangeRenderer$1,"__esModule",{value:!0}),defaultCellRangeRenderer$1.default=defaultCellRangeRenderer,requireTypes();var scrollbarSizeExports={},scrollbarSize={get exports(){return scrollbarSizeExports},set exports(e){scrollbarSizeExports=e}},interopRequireDefaultExports={},interopRequireDefault={get exports(){return interopRequireDefaultExports},set exports(e){interopRequireDefaultExports=e}};!function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}(interopRequireDefault);var inDOMExports={},inDOM={get exports(){return inDOMExports},set exports(e){inDOMExports=e}},hasRequiredInDOM;function requireInDOM(){return hasRequiredInDOM||(hasRequiredInDOM=1,function(e,t){t.__esModule=!0,t.default=void 0;var r=!("undefined"==typeof window||!window.document||!window.document.createElement);t.default=r,e.exports=t.default}(inDOM,inDOMExports)),inDOMExports}!function(e,t){var r=interopRequireDefaultExports;t.__esModule=!0,t.default=function(e){if((!a&&0!==a||e)&&n.default){var t=document.createElement("div");t.style.position="absolute",t.style.top="-9999px",t.style.width="50px",t.style.height="50px",t.style.overflow="scroll",document.body.appendChild(t),a=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return a};var a,n=r(requireInDOM());e.exports=t.default}(scrollbarSize,scrollbarSizeExports);var requestAnimationTimeout={},promiseExports={},promise$2={get exports(){return promiseExports},set exports(e){promiseExports=e}},_anInstance=function(e,t,r,a){if(!(e instanceof t)||void 0!==a&&a in e)throw TypeError(r+": incorrect invocation!");return e},_forOfExports={},_forOf={get exports(){return _forOfExports},set exports(e){_forOfExports=e}},ctx$2=_ctx,call=_iterCall,isArrayIter=_isArrayIter,anObject$2=_anObject,toLength=_toLength,getIterFn=core_getIteratorMethod,BREAK={},RETURN={},exports$1=_forOf.exports=function(e,t,r,a,n){var i,o,l,s,c=n?function(){return e}:getIterFn(e),u=ctx$2(r,a,t?2:1),f=0;if("function"!=typeof c)throw TypeError(e+" is not iterable!");if(isArrayIter(c)){for(i=toLength(e.length);i>f;f++)if((s=t?u(anObject$2(o=e[f])[0],o[1]):u(e[f]))===BREAK||s===RETURN)return s}else for(l=c.call(e);!(o=l.next()).done;)if((s=call(l,u,o.value,t))===BREAK||s===RETURN)return s};exports$1.BREAK=BREAK,exports$1.RETURN=RETURN;var anObject$1=_anObject,aFunction$2=_aFunction,SPECIES=_wksExports("species"),_speciesConstructor=function(e,t){var r,a=anObject$1(e).constructor;return void 0===a||null==(r=anObject$1(a)[SPECIES])?t:aFunction$2(r)},_invoke=function(e,t,r){var a=void 0===r;switch(t.length){case 0:return a?e():e.call(r);case 1:return a?e(t[0]):e.call(r,t[0]);case 2:return a?e(t[0],t[1]):e.call(r,t[0],t[1]);case 3:return a?e(t[0],t[1],t[2]):e.call(r,t[0],t[1],t[2]);case 4:return a?e(t[0],t[1],t[2],t[3]):e.call(r,t[0],t[1],t[2],t[3])}return e.apply(r,t)},ctx$1=_ctx,invoke=_invoke,html=require_html(),cel=require_domCreate(),global$5=_globalExports,process$3=global$5.process,setTask=global$5.setImmediate,clearTask=global$5.clearImmediate,MessageChannel$1=global$5.MessageChannel,Dispatch=global$5.Dispatch,counter=0,queue={},ONREADYSTATECHANGE="onreadystatechange",defer,channel,port,run=function(){var e=+this;if(queue.hasOwnProperty(e)){var t=queue[e];delete queue[e],t()}},listener=function(e){run.call(e.data)};setTask&&clearTask||(setTask=function(e){for(var t=[],r=1;arguments.length>r;)t.push(arguments[r++]);return queue[++counter]=function(){invoke("function"==typeof e?e:Function(e),t)},defer(counter),counter},clearTask=function(e){delete queue[e]},"process"==_cof(process$3)?defer=function(e){process$3.nextTick(ctx$1(run,e,1))}:Dispatch&&Dispatch.now?defer=function(e){Dispatch.now(ctx$1(run,e,1))}:MessageChannel$1?(channel=new MessageChannel$1,port=channel.port2,channel.port1.onmessage=listener,defer=ctx$1(port.postMessage,port,1)):global$5.addEventListener&&"function"==typeof postMessage&&!global$5.importScripts?(defer=function(e){global$5.postMessage(e+"","*")},global$5.addEventListener("message",listener,!1)):defer=ONREADYSTATECHANGE in cel("script")?function(e){html.appendChild(cel("script"))[ONREADYSTATECHANGE]=function(){html.removeChild(this),run.call(e)}}:function(e){setTimeout(ctx$1(run,e,1),0)});var _task={set:setTask,clear:clearTask},global$4=_globalExports,macrotask=_task.set,Observer=global$4.MutationObserver||global$4.WebKitMutationObserver,process$2=global$4.process,Promise$1=global$4.Promise,isNode$1="process"==_cof(process$2),_microtask=function(){var t,r,a,n=function(){var n,i;for(isNode$1&&(n=process$2.domain)&&n.exit();t;){i=t.fn,t=t.next;try{i()}catch(e){throw t?a():r=void 0,e}}r=void 0,n&&n.enter()};if(isNode$1)a=function(){process$2.nextTick(n)};else if(!Observer||global$4.navigator&&global$4.navigator.standalone)if(Promise$1&&Promise$1.resolve){var i=Promise$1.resolve(void 0);a=function(){i.then(n)}}else a=function(){macrotask.call(global$4,n)};else{var o=!0,l=document.createTextNode("");new Observer(n).observe(l,{characterData:!0}),a=function(){l.data=o=!o}}return function(e){var n={fn:e,next:void 0};r&&(r.next=n),t||(t=n,a()),r=n}},_newPromiseCapability={},aFunction$1=_aFunction;function PromiseCapability(e){var t,r;this.promise=new e((function(e,a){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=a})),this.resolve=aFunction$1(t),this.reject=aFunction$1(r)}_newPromiseCapability.f=function(e){return new PromiseCapability(e)};var _perform=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}},global$3=_globalExports,navigator$1=global$3.navigator,_userAgent=navigator$1&&navigator$1.userAgent||"",anObject=_anObject,isObject$2=_isObject,newPromiseCapability$2=_newPromiseCapability,_promiseResolve=function(e,t){if(anObject(e),isObject$2(t)&&t.constructor===e)return t;var r=newPromiseCapability$2.f(e);return(0,r.resolve)(t),r.promise},_redefineAll,hasRequired_redefineAll,_setSpecies,hasRequired_setSpecies;function require_redefineAll(){if(hasRequired_redefineAll)return _redefineAll;hasRequired_redefineAll=1;var e=_hide;return _redefineAll=function(t,r,a){for(var n in r)a&&t[n]?t[n]=r[n]:e(t,n,r[n]);return t},_redefineAll}function require_setSpecies(){if(hasRequired_setSpecies)return _setSpecies;hasRequired_setSpecies=1;var e=_globalExports,t=_coreExports,r=require_objectDp(),a=require_descriptors(),n=_wksExports("species");return _setSpecies=function(i){var o="function"==typeof t[i]?t[i]:e[i];a&&o&&!o[n]&&r.f(o,n,{configurable:!0,get:function(){return this}})},_setSpecies}var LIBRARY=_library,global$2=_globalExports,ctx=_ctx,classof=_classof,$export$2=_export,isObject$1=_isObject,aFunction=_aFunction,anInstance=_anInstance,forOf=_forOfExports,speciesConstructor$1=_speciesConstructor,task=_task.set,microtask=_microtask(),newPromiseCapabilityModule=_newPromiseCapability,perform$1=_perform,userAgent=_userAgent,promiseResolve$1=_promiseResolve,PROMISE="Promise",TypeError$1=global$2.TypeError,process$1=global$2.process,versions=process$1&&process$1.versions,v8=versions&&versions.v8||"",$Promise=global$2[PROMISE],isNode="process"==classof(process$1),empty$3=function(){},Internal,newGenericPromiseCapability,OwnPromiseCapability,Wrapper,newPromiseCapability$1=newGenericPromiseCapability=newPromiseCapabilityModule.f,USE_NATIVE=!!function(){try{var t=$Promise.resolve(1),r=(t.constructor={})[_wksExports("species")]=function(e){e(empty$3,empty$3)};return(isNode||"function"==typeof PromiseRejectionEvent)&&t.then(empty$3)instanceof r&&0!==v8.indexOf("6.6")&&-1===userAgent.indexOf("Chrome/66")}catch(e){}}(),isThenable=function(e){var t;return!(!isObject$1(e)||"function"!=typeof(t=e.then))&&t},notify=function(t,r){if(!t._n){t._n=!0;var a=t._c;microtask((function(){for(var n=t._v,i=1==t._s,o=0,l=function(r){var a,o,l,s=i?r.ok:r.fail,c=r.resolve,u=r.reject,f=r.domain;try{s?(i||(2==t._h&&onHandleUnhandled(t),t._h=1),!0===s?a=n:(f&&f.enter(),a=s(n),f&&(f.exit(),l=!0)),a===r.promise?u(TypeError$1("Promise-chain cycle")):(o=isThenable(a))?o.call(a,c,u):c(a)):u(n)}catch(e){f&&!l&&f.exit(),u(e)}};a.length>o;)l(a[o++]);t._c=[],t._n=!1,r&&!t._h&&onUnhandled(t)}))}},onUnhandled=function(e){task.call(global$2,(function(){var t,r,a,n=e._v,i=isUnhandled(e);if(i&&(t=perform$1((function(){isNode?process$1.emit("unhandledRejection",n,e):(r=global$2.onunhandledrejection)?r({promise:e,reason:n}):(a=global$2.console)&&a.error&&a.error("Unhandled promise rejection",n)})),e._h=isNode||isUnhandled(e)?2:1),e._a=void 0,i&&t.e)throw t.v}))},isUnhandled=function(e){return 1!==e._h&&0===(e._a||e._c).length},onHandleUnhandled=function(e){task.call(global$2,(function(){var t;isNode?process$1.emit("rejectionHandled",e):(t=global$2.onrejectionhandled)&&t({promise:e,reason:e._v})}))},$reject=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),notify(t,!0))},$resolve=function(t){var r,a=this;if(!a._d){a._d=!0,a=a._w||a;try{if(a===t)throw TypeError$1("Promise can't be resolved itself");(r=isThenable(t))?microtask((function(){var n={_w:a,_d:!1};try{r.call(t,ctx($resolve,n,1),ctx($reject,n,1))}catch(e){$reject.call(n,e)}})):(a._v=t,a._s=1,notify(a,!1))}catch(e){$reject.call({_w:a,_d:!1},e)}}};USE_NATIVE||($Promise=function(e){anInstance(this,$Promise,PROMISE,"_h"),aFunction(e),Internal.call(this);try{e(ctx($resolve,this,1),ctx($reject,this,1))}catch(err){$reject.call(this,err)}},Internal=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},Internal.prototype=require_redefineAll()($Promise.prototype,{then:function(e,t){var r=newPromiseCapability$1(speciesConstructor$1(this,$Promise));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=isNode?process$1.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&¬ify(this,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),OwnPromiseCapability=function(){var e=new Internal;this.promise=e,this.resolve=ctx($resolve,e,1),this.reject=ctx($reject,e,1)},newPromiseCapabilityModule.f=newPromiseCapability$1=function(e){return e===$Promise||e===Wrapper?new OwnPromiseCapability(e):newGenericPromiseCapability(e)}),$export$2($export$2.G+$export$2.W+$export$2.F*!USE_NATIVE,{Promise:$Promise}),_setToStringTag($Promise,PROMISE),require_setSpecies()(PROMISE),Wrapper=_coreExports[PROMISE],$export$2($export$2.S+$export$2.F*!USE_NATIVE,PROMISE,{reject:function(e){var t=newPromiseCapability$1(this);return(0,t.reject)(e),t.promise}}),$export$2($export$2.S+$export$2.F*LIBRARY,PROMISE,{resolve:function(e){return promiseResolve$1(this===Wrapper?$Promise:this,e)}}),$export$2($export$2.S+$export$2.F*!(USE_NATIVE&&require_iterDetect()((function(e){$Promise.all(e).catch(empty$3)}))),PROMISE,{all:function(e){var t=this,r=newPromiseCapability$1(t),a=r.resolve,n=r.reject,i=perform$1((function(){var r=[],i=0,o=1;forOf(e,!1,(function(e){var l=i++,s=!1;r.push(void 0),o++,t.resolve(e).then((function(e){s||(s=!0,r[l]=e,--o||a(r))}),n)})),--o||a(r)}));return i.e&&n(i.v),r.promise},race:function(e){var t=this,r=newPromiseCapability$1(t),a=r.reject,n=perform$1((function(){forOf(e,!1,(function(e){t.resolve(e).then(r.resolve,a)}))}));return n.e&&a(n.v),r.promise}});var $export$1=_export,core=_coreExports,global$1=_globalExports,speciesConstructor=_speciesConstructor,promiseResolve=_promiseResolve;$export$1($export$1.P+$export$1.R,"Promise",{finally:function(e){var t=speciesConstructor(this,core.Promise||global$1.Promise),r="function"==typeof e;return this.then(r?function(r){return promiseResolve(t,e()).then((function(){return r}))}:e,r?function(r){return promiseResolve(t,e()).then((function(){throw r}))}:e)}});var $export=_export,newPromiseCapability=_newPromiseCapability,perform=_perform;$export($export.S,"Promise",{try:function(e){var t=newPromiseCapability.f(this),r=perform(e);return(r.e?t.reject:t.resolve)(r.v),t.promise}});var promise$1=_coreExports.Promise;!function(e){e.exports={default:promise$1,__esModule:!0}}(promise$2);var animationFrame={};Object.defineProperty(animationFrame,"__esModule",{value:!0});var win=void 0;win="undefined"!=typeof window?window:"undefined"!=typeof self?self:{};var request=win.requestAnimationFrame||win.webkitRequestAnimationFrame||win.mozRequestAnimationFrame||win.oRequestAnimationFrame||win.msRequestAnimationFrame||function(e){return win.setTimeout(e,1e3/60)},cancel$1=win.cancelAnimationFrame||win.webkitCancelAnimationFrame||win.mozCancelAnimationFrame||win.oCancelAnimationFrame||win.msCancelAnimationFrame||function(e){win.clearTimeout(e)};animationFrame.raf=request,animationFrame.caf=cancel$1,Object.defineProperty(requestAnimationTimeout,"__esModule",{value:!0}),requestAnimationTimeout.bpfrpt_proptype_AnimationTimeoutId=requestAnimationTimeout.requestAnimationTimeout=requestAnimationTimeout.cancelAnimationTimeout=void 0;var _promise=promiseExports,_promise2=_interopRequireDefault$6(_promise),_animationFrame=animationFrame,_propTypes$3=propTypesExports;function _interopRequireDefault$6(e){return e&&e.__esModule?e:{default:e}}_interopRequireDefault$6(_propTypes$3);var bpfrpt_proptype_AnimationTimeoutId=null;requestAnimationTimeout.cancelAnimationTimeout=function(e){return(0,_animationFrame.caf)(e.id)},requestAnimationTimeout.requestAnimationTimeout=function(e,t){var r=void 0;_promise2.default.resolve().then((function(){r=Date.now()}));var a={id:(0,_animationFrame.raf)((function n(){Date.now()-r>=t?e.call():a.id=(0,_animationFrame.raf)(n)}))};return a},requestAnimationTimeout.bpfrpt_proptype_AnimationTimeoutId=bpfrpt_proptype_AnimationTimeoutId,Object.defineProperty(Grid$3,"__esModule",{value:!0}),Grid$3.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=void 0;var _assign=assignExports,_assign2=_interopRequireDefault$5(_assign),_extends2$1=_extends$2a,_extends3$1=_interopRequireDefault$5(_extends2$1),_getPrototypeOf$c=getPrototypeOfExports,_getPrototypeOf2$1=_interopRequireDefault$5(_getPrototypeOf$c),_classCallCheck2$1=classCallCheck$2,_classCallCheck3$1=_interopRequireDefault$5(_classCallCheck2$1),_createClass2$1=createClass$2,_createClass3$1=_interopRequireDefault$5(_createClass2$1),_possibleConstructorReturn2$1=possibleConstructorReturn$2,_possibleConstructorReturn3$1=_interopRequireDefault$5(_possibleConstructorReturn2$1),_inherits2$1=inherits$2,_inherits3$1=_interopRequireDefault$5(_inherits2$1),_react$2=reactExports,React$1=_interopRequireWildcard$2(_react$2),_classnames$1=classnamesExports,_classnames2$1=_interopRequireDefault$5(_classnames$1),_calculateSizeAndPositionDataAndUpdateScrollOffset=calculateSizeAndPositionDataAndUpdateScrollOffset$1,_calculateSizeAndPositionDataAndUpdateScrollOffset2=_interopRequireDefault$5(_calculateSizeAndPositionDataAndUpdateScrollOffset),_ScalingCellSizeAndPositionManager=requireScalingCellSizeAndPositionManager(),_ScalingCellSizeAndPositionManager2=_interopRequireDefault$5(_ScalingCellSizeAndPositionManager),_createCallbackMemoizer=createCallbackMemoizer$1,_createCallbackMemoizer2=_interopRequireDefault$5(_createCallbackMemoizer),_defaultOverscanIndicesGetter=defaultOverscanIndicesGetter$2,_defaultOverscanIndicesGetter2=_interopRequireDefault$5(_defaultOverscanIndicesGetter),_updateScrollIndexHelper=updateScrollIndexHelper$1,_updateScrollIndexHelper2=_interopRequireDefault$5(_updateScrollIndexHelper),_defaultCellRangeRenderer=defaultCellRangeRenderer$1,_defaultCellRangeRenderer2=_interopRequireDefault$5(_defaultCellRangeRenderer),_scrollbarSize=scrollbarSizeExports,_scrollbarSize2=_interopRequireDefault$5(_scrollbarSize),_reactLifecyclesCompat=require$$16,_requestAnimationTimeout=requestAnimationTimeout;requireTypes();var _propTypes$2=propTypesExports;function _interopRequireWildcard$2(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault$5(e){return e&&e.__esModule?e:{default:e}}_interopRequireDefault$5(_propTypes$2);var DEFAULT_SCROLLING_RESET_TIME_INTERVAL=Grid$3.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=150,SCROLL_POSITION_CHANGE_REASONS={OBSERVED:"observed",REQUESTED:"requested"},renderNull=function(){return null},Grid$2=function(e){function t(e){(0,_classCallCheck3$1.default)(this,t);var r=(0,_possibleConstructorReturn3$1.default)(this,(t.__proto__||(0,_getPrototypeOf2$1.default)(t)).call(this,e));r._onGridRenderedMemoizer=(0,_createCallbackMemoizer2.default)(),r._onScrollMemoizer=(0,_createCallbackMemoizer2.default)(!1),r._deferredInvalidateColumnIndex=null,r._deferredInvalidateRowIndex=null,r._recomputeScrollLeftFlag=!1,r._recomputeScrollTopFlag=!1,r._horizontalScrollBarSize=0,r._verticalScrollBarSize=0,r._scrollbarPresenceChanged=!1,r._renderedColumnStartIndex=0,r._renderedColumnStopIndex=0,r._renderedRowStartIndex=0,r._renderedRowStopIndex=0,r._styleCache={},r._cellCache={},r._debounceScrollEndedCallback=function(){r._disablePointerEventsTimeoutId=null,r.setState({isScrolling:!1,needToResetStyleCache:!1})},r._invokeOnGridRenderedHelper=function(){var e=r.props.onSectionRendered;r._onGridRenderedMemoizer({callback:e,indices:{columnOverscanStartIndex:r._columnStartIndex,columnOverscanStopIndex:r._columnStopIndex,columnStartIndex:r._renderedColumnStartIndex,columnStopIndex:r._renderedColumnStopIndex,rowOverscanStartIndex:r._rowStartIndex,rowOverscanStopIndex:r._rowStopIndex,rowStartIndex:r._renderedRowStartIndex,rowStopIndex:r._renderedRowStopIndex}})},r._setScrollingContainerRef=function(e){r._scrollingContainer=e},r._onScroll=function(e){e.target===r._scrollingContainer&&r.handleScrollEvent(e.target)};var a=new _ScalingCellSizeAndPositionManager2.default({cellCount:e.columnCount,cellSizeGetter:function(r){return t._wrapSizeGetter(e.columnWidth)(r)},estimatedCellSize:t._getEstimatedColumnSize(e)}),n=new _ScalingCellSizeAndPositionManager2.default({cellCount:e.rowCount,cellSizeGetter:function(r){return t._wrapSizeGetter(e.rowHeight)(r)},estimatedCellSize:t._getEstimatedRowSize(e)});return r.state={instanceProps:{columnSizeAndPositionManager:a,rowSizeAndPositionManager:n,prevColumnWidth:e.columnWidth,prevRowHeight:e.rowHeight,prevColumnCount:e.columnCount,prevRowCount:e.rowCount,prevIsScrolling:!0===e.isScrolling,prevScrollToColumn:e.scrollToColumn,prevScrollToRow:e.scrollToRow,scrollbarSize:0,scrollbarSizeMeasured:!1},isScrolling:!1,scrollDirectionHorizontal:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,scrollDirectionVertical:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,scrollLeft:0,scrollTop:0,scrollPositionChangeReason:null,needToResetStyleCache:!1},e.scrollToRow>0&&(r._initialScrollTop=r._getCalculatedScrollTop(e,r.state)),e.scrollToColumn>0&&(r._initialScrollLeft=r._getCalculatedScrollLeft(e,r.state)),r}return(0,_inherits3$1.default)(t,e),(0,_createClass3$1.default)(t,[{key:"getOffsetForCell",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.alignment,r=void 0===t?this.props.scrollToAlignment:t,a=e.columnIndex,n=void 0===a?this.props.scrollToColumn:a,i=e.rowIndex,o=void 0===i?this.props.scrollToRow:i,l=(0,_extends3$1.default)({},this.props,{scrollToAlignment:r,scrollToColumn:n,scrollToRow:o});return{scrollLeft:this._getCalculatedScrollLeft(l),scrollTop:this._getCalculatedScrollTop(l)}}},{key:"getTotalRowsHeight",value:function(){return this.state.instanceProps.rowSizeAndPositionManager.getTotalSize()}},{key:"getTotalColumnsWidth",value:function(){return this.state.instanceProps.columnSizeAndPositionManager.getTotalSize()}},{key:"handleScrollEvent",value:function(e){var t=e.scrollLeft,r=void 0===t?0:t,a=e.scrollTop,n=void 0===a?0:a;if(!(n<0)){this._debounceScrollEnded();var i=this.props,o=i.autoHeight,l=i.autoWidth,s=i.height,c=i.width,u=this.state.instanceProps,f=u.scrollbarSize,A=u.rowSizeAndPositionManager.getTotalSize(),d=u.columnSizeAndPositionManager.getTotalSize(),p=Math.min(Math.max(0,d-c+f),r),h=Math.min(Math.max(0,A-s+f),n);if(this.state.scrollLeft!==p||this.state.scrollTop!==h){var b={isScrolling:!0,scrollDirectionHorizontal:p!==this.state.scrollLeft?p>this.state.scrollLeft?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionHorizontal,scrollDirectionVertical:h!==this.state.scrollTop?h>this.state.scrollTop?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionVertical,scrollPositionChangeReason:SCROLL_POSITION_CHANGE_REASONS.OBSERVED};o||(b.scrollTop=h),l||(b.scrollLeft=p),b.needToResetStyleCache=!1,this.setState(b)}this._invokeOnScrollMemoizer({scrollLeft:p,scrollTop:h,totalColumnsWidth:d,totalRowsHeight:A})}}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,r=e.rowIndex;this._deferredInvalidateColumnIndex="number"==typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,t):t,this._deferredInvalidateRowIndex="number"==typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,r):r}},{key:"measureAllCells",value:function(){var e=this.props,t=e.columnCount,r=e.rowCount,a=this.state.instanceProps;a.columnSizeAndPositionManager.getSizeAndPositionOfCell(t-1),a.rowSizeAndPositionManager.getSizeAndPositionOfCell(r-1)}},{key:"recomputeGridSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,r=void 0===t?0:t,a=e.rowIndex,n=void 0===a?0:a,i=this.props,o=i.scrollToColumn,l=i.scrollToRow,s=this.state.instanceProps;s.columnSizeAndPositionManager.resetCell(r),s.rowSizeAndPositionManager.resetCell(n),this._recomputeScrollLeftFlag=o>=0&&(this.state.scrollDirectionHorizontal===_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD?r<=o:r>=o),this._recomputeScrollTopFlag=l>=0&&(this.state.scrollDirectionVertical===_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD?n<=l:n>=l),this._styleCache={},this._cellCache={},this.forceUpdate()}},{key:"scrollToCell",value:function(e){var t=e.columnIndex,r=e.rowIndex,a=this.props.columnCount,n=this.props;a>1&&void 0!==t&&this._updateScrollLeftForScrollToColumn((0,_extends3$1.default)({},n,{scrollToColumn:t})),void 0!==r&&this._updateScrollTopForScrollToRow((0,_extends3$1.default)({},n,{scrollToRow:r}))}},{key:"componentDidMount",value:function(){var e=this.props,r=e.getScrollbarSize,a=e.height,n=e.scrollLeft,i=e.scrollToColumn,o=e.scrollTop,l=e.scrollToRow,s=e.width,c=this.state.instanceProps;if(this._initialScrollTop=0,this._initialScrollLeft=0,this._handleInvalidatedGridSize(),c.scrollbarSizeMeasured||this.setState((function(e){var t=(0,_extends3$1.default)({},e,{needToResetStyleCache:!1});return t.instanceProps.scrollbarSize=r(),t.instanceProps.scrollbarSizeMeasured=!0,t})),"number"==typeof n&&n>=0||"number"==typeof o&&o>=0){var u=t._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:n,scrollTop:o});u&&(u.needToResetStyleCache=!1,this.setState(u))}this._scrollingContainer&&(this._scrollingContainer.scrollLeft!==this.state.scrollLeft&&(this._scrollingContainer.scrollLeft=this.state.scrollLeft),this._scrollingContainer.scrollTop!==this.state.scrollTop&&(this._scrollingContainer.scrollTop=this.state.scrollTop));var f=a>0&&s>0;i>=0&&f&&this._updateScrollLeftForScrollToColumn(),l>=0&&f&&this._updateScrollTopForScrollToRow(),this._invokeOnGridRenderedHelper(),this._invokeOnScrollMemoizer({scrollLeft:n||0,scrollTop:o||0,totalColumnsWidth:c.columnSizeAndPositionManager.getTotalSize(),totalRowsHeight:c.rowSizeAndPositionManager.getTotalSize()}),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentDidUpdate",value:function(e,t){var r=this,a=this.props,n=a.autoHeight,i=a.autoWidth,o=a.columnCount,l=a.height,s=a.rowCount,c=a.scrollToAlignment,u=a.scrollToColumn,f=a.scrollToRow,A=a.width,d=this.state,p=d.scrollLeft,h=d.scrollPositionChangeReason,b=d.scrollTop,g=d.instanceProps;this._handleInvalidatedGridSize();var m=o>0&&0===e.columnCount||s>0&&0===e.rowCount;h===SCROLL_POSITION_CHANGE_REASONS.REQUESTED&&(!i&&p>=0&&(p!==this._scrollingContainer.scrollLeft||m)&&(this._scrollingContainer.scrollLeft=p),!n&&b>=0&&(b!==this._scrollingContainer.scrollTop||m)&&(this._scrollingContainer.scrollTop=b));var v=(0===e.width||0===e.height)&&l>0&&A>0;if(this._recomputeScrollLeftFlag?(this._recomputeScrollLeftFlag=!1,this._updateScrollLeftForScrollToColumn(this.props)):(0,_updateScrollIndexHelper2.default)({cellSizeAndPositionManager:g.columnSizeAndPositionManager,previousCellsCount:e.columnCount,previousCellSize:e.columnWidth,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToColumn,previousSize:e.width,scrollOffset:p,scrollToAlignment:c,scrollToIndex:u,size:A,sizeJustIncreasedFromZero:v,updateScrollIndexCallback:function(){return r._updateScrollLeftForScrollToColumn(r.props)}}),this._recomputeScrollTopFlag?(this._recomputeScrollTopFlag=!1,this._updateScrollTopForScrollToRow(this.props)):(0,_updateScrollIndexHelper2.default)({cellSizeAndPositionManager:g.rowSizeAndPositionManager,previousCellsCount:e.rowCount,previousCellSize:e.rowHeight,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToRow,previousSize:e.height,scrollOffset:b,scrollToAlignment:c,scrollToIndex:f,size:l,sizeJustIncreasedFromZero:v,updateScrollIndexCallback:function(){return r._updateScrollTopForScrollToRow(r.props)}}),this._invokeOnGridRenderedHelper(),p!==t.scrollLeft||b!==t.scrollTop){var y=g.rowSizeAndPositionManager.getTotalSize(),w=g.columnSizeAndPositionManager.getTotalSize();this._invokeOnScrollMemoizer({scrollLeft:p,scrollTop:b,totalColumnsWidth:w,totalRowsHeight:y})}this._maybeCallOnScrollbarPresenceChange()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&(0,_requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId)}},{key:"render",value:function(){var e=this.props,t=e.autoContainerWidth,r=e.autoHeight,a=e.autoWidth,n=e.className,i=e.containerProps,o=e.containerRole,l=e.containerStyle,s=e.height,c=e.id,u=e.noContentRenderer,f=e.role,A=e.style,d=e.tabIndex,p=e.width,h=this.state,b=h.instanceProps,g=h.needToResetStyleCache,m=this._isScrolling(),v={boxSizing:"border-box",direction:"ltr",height:r?"auto":s,position:"relative",width:a?"auto":p,WebkitOverflowScrolling:"touch",willChange:"transform"};g&&(this._styleCache={}),this.state.isScrolling||this._resetStyleCache(),this._calculateChildrenToRender(this.props,this.state);var y=b.columnSizeAndPositionManager.getTotalSize(),w=b.rowSizeAndPositionManager.getTotalSize(),k=w>s?b.scrollbarSize:0,x=y>p?b.scrollbarSize:0;x===this._horizontalScrollBarSize&&k===this._verticalScrollBarSize||(this._horizontalScrollBarSize=x,this._verticalScrollBarSize=k,this._scrollbarPresenceChanged=!0),v.overflowX=y+k<=p?"hidden":"auto",v.overflowY=w+x<=s?"hidden":"auto";var E=this._childrenToDisplay,_=0===E.length&&s>0&&p>0;return React$1.createElement("div",(0,_extends3$1.default)({ref:this._setScrollingContainerRef},i,{"aria-label":this.props["aria-label"],"aria-readonly":this.props["aria-readonly"],className:(0,_classnames2$1.default)("ReactVirtualized__Grid",n),id:c,onScroll:this._onScroll,role:f,style:(0,_extends3$1.default)({},v,A),tabIndex:d}),E.length>0&&React$1.createElement("div",{className:"ReactVirtualized__Grid__innerScrollContainer",role:o,style:(0,_extends3$1.default)({width:t?"auto":y,height:w,maxWidth:y,maxHeight:w,overflow:"hidden",pointerEvents:m?"none":"",position:"relative"},l)},E),_&&u())}},{key:"_calculateChildrenToRender",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,r=e.cellRenderer,a=e.cellRangeRenderer,n=e.columnCount,i=e.deferredMeasurementCache,o=e.height,l=e.overscanColumnCount,s=e.overscanIndicesGetter,c=e.overscanRowCount,u=e.rowCount,f=e.width,A=e.isScrollingOptOut,d=t.scrollDirectionHorizontal,p=t.scrollDirectionVertical,h=t.instanceProps,b=this._initialScrollTop>0?this._initialScrollTop:t.scrollTop,g=this._initialScrollLeft>0?this._initialScrollLeft:t.scrollLeft,m=this._isScrolling(e,t);if(this._childrenToDisplay=[],o>0&&f>0){var v=h.columnSizeAndPositionManager.getVisibleCellRange({containerSize:f,offset:g}),y=h.rowSizeAndPositionManager.getVisibleCellRange({containerSize:o,offset:b}),w=h.columnSizeAndPositionManager.getOffsetAdjustment({containerSize:f,offset:g}),k=h.rowSizeAndPositionManager.getOffsetAdjustment({containerSize:o,offset:b});this._renderedColumnStartIndex=v.start,this._renderedColumnStopIndex=v.stop,this._renderedRowStartIndex=y.start,this._renderedRowStopIndex=y.stop;var x=s({direction:"horizontal",cellCount:n,overscanCellsCount:l,scrollDirection:d,startIndex:"number"==typeof v.start?v.start:0,stopIndex:"number"==typeof v.stop?v.stop:-1}),E=s({direction:"vertical",cellCount:u,overscanCellsCount:c,scrollDirection:p,startIndex:"number"==typeof y.start?y.start:0,stopIndex:"number"==typeof y.stop?y.stop:-1}),_=x.overscanStartIndex,C=x.overscanStopIndex,$=E.overscanStartIndex,T=E.overscanStopIndex;if(i){if(!i.hasFixedHeight())for(var O=$;O<=T;O++)if(!i.has(O,0)){_=0,C=n-1;break}if(!i.hasFixedWidth())for(var S=_;S<=C;S++)if(!i.has(0,S)){$=0,T=u-1;break}}this._childrenToDisplay=a({cellCache:this._cellCache,cellRenderer:r,columnSizeAndPositionManager:h.columnSizeAndPositionManager,columnStartIndex:_,columnStopIndex:C,deferredMeasurementCache:i,horizontalOffsetAdjustment:w,isScrolling:m,isScrollingOptOut:A,parent:this,rowSizeAndPositionManager:h.rowSizeAndPositionManager,rowStartIndex:$,rowStopIndex:T,scrollLeft:g,scrollTop:b,styleCache:this._styleCache,verticalOffsetAdjustment:k,visibleColumnIndices:v,visibleRowIndices:y}),this._columnStartIndex=_,this._columnStopIndex=C,this._rowStartIndex=$,this._rowStopIndex=T}}},{key:"_debounceScrollEnded",value:function(){var e=this.props.scrollingResetTimeInterval;this._disablePointerEventsTimeoutId&&(0,_requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=(0,_requestAnimationTimeout.requestAnimationTimeout)(this._debounceScrollEndedCallback,e)}},{key:"_handleInvalidatedGridSize",value:function(){if("number"==typeof this._deferredInvalidateColumnIndex&&"number"==typeof this._deferredInvalidateRowIndex){var e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex;this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t})}}},{key:"_invokeOnScrollMemoizer",value:function(e){var t=this,r=e.scrollLeft,a=e.scrollTop,n=e.totalColumnsWidth,i=e.totalRowsHeight;this._onScrollMemoizer({callback:function(e){var r=e.scrollLeft,a=e.scrollTop,o=t.props,l=o.height;(0,o.onScroll)({clientHeight:l,clientWidth:o.width,scrollHeight:i,scrollLeft:r,scrollTop:a,scrollWidth:n})},indices:{scrollLeft:r,scrollTop:a}})}},{key:"_isScrolling",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return Object.hasOwnProperty.call(e,"isScrolling")?Boolean(e.isScrolling):Boolean(t.isScrolling)}},{key:"_maybeCallOnScrollbarPresenceChange",value:function(){if(this._scrollbarPresenceChanged){var e=this.props.onScrollbarPresenceChange;this._scrollbarPresenceChanged=!1,e({horizontal:this._horizontalScrollBarSize>0,size:this.state.instanceProps.scrollbarSize,vertical:this._verticalScrollBarSize>0})}}},{key:"scrollToPosition",value:function(e){var r=e.scrollLeft,a=e.scrollTop,n=t._getScrollToPositionStateUpdate({prevState:this.state,scrollLeft:r,scrollTop:a});n&&(n.needToResetStyleCache=!1,this.setState(n))}},{key:"_getCalculatedScrollLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return t._getCalculatedScrollLeft(e,r)}},{key:"_updateScrollLeftForScrollToColumn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,a=t._getScrollLeftForScrollToColumnStateUpdate(e,r);a&&(a.needToResetStyleCache=!1,this.setState(a))}},{key:"_getCalculatedScrollTop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return t._getCalculatedScrollTop(e,r)}},{key:"_resetStyleCache",value:function(){var e=this._styleCache,t=this._cellCache,r=this.props.isScrollingOptOut;this._cellCache={},this._styleCache={};for(var a=this._rowStartIndex;a<=this._rowStopIndex;a++)for(var n=this._columnStartIndex;n<=this._columnStopIndex;n++){var i=a+"-"+n;this._styleCache[i]=e[i],r&&(this._cellCache[i]=t[i])}}},{key:"_updateScrollTopForScrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,a=t._getScrollTopForScrollToRowStateUpdate(e,r);a&&(a.needToResetStyleCache=!1,this.setState(a))}}],[{key:"getDerivedStateFromProps",value:function(e,r){var a={};0===e.columnCount&&0!==r.scrollLeft||0===e.rowCount&&0!==r.scrollTop?(a.scrollLeft=0,a.scrollTop=0):(e.scrollLeft!==r.scrollLeft&&e.scrollToColumn<0||e.scrollTop!==r.scrollTop&&e.scrollToRow<0)&&(0,_assign2.default)(a,t._getScrollToPositionStateUpdate({prevState:r,scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}));var n=r.instanceProps;a.needToResetStyleCache=!1,e.columnWidth===n.prevColumnWidth&&e.rowHeight===n.prevRowHeight||(a.needToResetStyleCache=!0),n.columnSizeAndPositionManager.configure({cellCount:e.columnCount,estimatedCellSize:t._getEstimatedColumnSize(e),cellSizeGetter:t._wrapSizeGetter(e.columnWidth)}),n.rowSizeAndPositionManager.configure({cellCount:e.rowCount,estimatedCellSize:t._getEstimatedRowSize(e),cellSizeGetter:t._wrapSizeGetter(e.rowHeight)}),0!==n.prevColumnCount&&0!==n.prevRowCount||(n.prevColumnCount=0,n.prevRowCount=0),e.autoHeight&&!1===e.isScrolling&&!0===n.prevIsScrolling&&(0,_assign2.default)(a,{isScrolling:!1});var i=void 0,o=void 0;return(0,_calculateSizeAndPositionDataAndUpdateScrollOffset2.default)({cellCount:n.prevColumnCount,cellSize:"number"==typeof n.prevColumnWidth?n.prevColumnWidth:null,computeMetadataCallback:function(){return n.columnSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.columnCount,nextCellSize:"number"==typeof e.columnWidth?e.columnWidth:null,nextScrollToIndex:e.scrollToColumn,scrollToIndex:n.prevScrollToColumn,updateScrollOffsetForScrollToIndex:function(){i=t._getScrollLeftForScrollToColumnStateUpdate(e,r)}}),(0,_calculateSizeAndPositionDataAndUpdateScrollOffset2.default)({cellCount:n.prevRowCount,cellSize:"number"==typeof n.prevRowHeight?n.prevRowHeight:null,computeMetadataCallback:function(){return n.rowSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.rowCount,nextCellSize:"number"==typeof e.rowHeight?e.rowHeight:null,nextScrollToIndex:e.scrollToRow,scrollToIndex:n.prevScrollToRow,updateScrollOffsetForScrollToIndex:function(){o=t._getScrollTopForScrollToRowStateUpdate(e,r)}}),n.prevColumnCount=e.columnCount,n.prevColumnWidth=e.columnWidth,n.prevIsScrolling=!0===e.isScrolling,n.prevRowCount=e.rowCount,n.prevRowHeight=e.rowHeight,n.prevScrollToColumn=e.scrollToColumn,n.prevScrollToRow=e.scrollToRow,n.scrollbarSize=e.getScrollbarSize(),void 0===n.scrollbarSize?(n.scrollbarSizeMeasured=!1,n.scrollbarSize=0):n.scrollbarSizeMeasured=!0,a.instanceProps=n,(0,_extends3$1.default)({},a,i,o)}},{key:"_getEstimatedColumnSize",value:function(e){return"number"==typeof e.columnWidth?e.columnWidth:e.estimatedColumnSize}},{key:"_getEstimatedRowSize",value:function(e){return"number"==typeof e.rowHeight?e.rowHeight:e.estimatedRowSize}},{key:"_getScrollToPositionStateUpdate",value:function(e){var t=e.prevState,r=e.scrollLeft,a=e.scrollTop,n={scrollPositionChangeReason:SCROLL_POSITION_CHANGE_REASONS.REQUESTED};return"number"==typeof r&&r>=0&&(n.scrollDirectionHorizontal=r>t.scrollLeft?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD,n.scrollLeft=r),"number"==typeof a&&a>=0&&(n.scrollDirectionVertical=a>t.scrollTop?_defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD:_defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD,n.scrollTop=a),"number"==typeof r&&r>=0&&r!==t.scrollLeft||"number"==typeof a&&a>=0&&a!==t.scrollTop?n:null}},{key:"_wrapSizeGetter",value:function(e){return"function"==typeof e?e:function(){return e}}},{key:"_getCalculatedScrollLeft",value:function(e,t){var r=e.columnCount,a=e.height,n=e.scrollToAlignment,i=e.scrollToColumn,o=e.width,l=t.scrollLeft,s=t.instanceProps;if(r>0){var c=r-1,u=i<0?c:Math.min(c,i),f=s.rowSizeAndPositionManager.getTotalSize(),A=s.scrollbarSizeMeasured&&f>a?s.scrollbarSize:0;return s.columnSizeAndPositionManager.getUpdatedOffsetForIndex({align:n,containerSize:o-A,currentOffset:l,targetIndex:u})}return 0}},{key:"_getScrollLeftForScrollToColumnStateUpdate",value:function(e,r){var a=r.scrollLeft,n=t._getCalculatedScrollLeft(e,r);return"number"==typeof n&&n>=0&&a!==n?t._getScrollToPositionStateUpdate({prevState:r,scrollLeft:n,scrollTop:-1}):null}},{key:"_getCalculatedScrollTop",value:function(e,t){var r=e.height,a=e.rowCount,n=e.scrollToAlignment,i=e.scrollToRow,o=e.width,l=t.scrollTop,s=t.instanceProps;if(a>0){var c=a-1,u=i<0?c:Math.min(c,i),f=s.columnSizeAndPositionManager.getTotalSize(),A=s.scrollbarSizeMeasured&&f>o?s.scrollbarSize:0;return s.rowSizeAndPositionManager.getUpdatedOffsetForIndex({align:n,containerSize:r-A,currentOffset:l,targetIndex:u})}return 0}},{key:"_getScrollTopForScrollToRowStateUpdate",value:function(e,r){var a=r.scrollTop,n=t._getCalculatedScrollTop(e,r);return"number"==typeof n&&n>=0&&a!==n?t._getScrollToPositionStateUpdate({prevState:r,scrollLeft:-1,scrollTop:n}):null}}]),t}(React$1.PureComponent);Grid$2.defaultProps={"aria-label":"grid","aria-readonly":!0,autoContainerWidth:!1,autoHeight:!1,autoWidth:!1,cellRangeRenderer:_defaultCellRangeRenderer2.default,containerRole:"rowgroup",containerStyle:{},estimatedColumnSize:100,estimatedRowSize:30,getScrollbarSize:_scrollbarSize2.default,noContentRenderer:renderNull,onScroll:function(){},onScrollbarPresenceChange:function(){},onSectionRendered:function(){},overscanColumnCount:0,overscanIndicesGetter:_defaultOverscanIndicesGetter2.default,overscanRowCount:10,role:"grid",scrollingResetTimeInterval:DEFAULT_SCROLLING_RESET_TIME_INTERVAL,scrollToAlignment:"auto",scrollToColumn:-1,scrollToRow:-1,style:{},tabIndex:0,isScrollingOptOut:!1},Grid$2.propTypes=null,(0,_reactLifecyclesCompat.polyfill)(Grid$2),Grid$3.default=Grid$2;var accessibilityOverscanIndicesGetter={};Object.defineProperty(accessibilityOverscanIndicesGetter,"__esModule",{value:!0}),accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_VERTICAL=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_HORIZONTAL=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD=void 0,accessibilityOverscanIndicesGetter.default=defaultOverscanIndicesGetter,requireTypes(),accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD=-1;var SCROLL_DIRECTION_FORWARD=accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD=1;function defaultOverscanIndicesGetter(e){var t=e.cellCount,r=e.overscanCellsCount,a=e.scrollDirection,n=e.startIndex,i=e.stopIndex;return r=Math.max(1,r),a===SCROLL_DIRECTION_FORWARD?{overscanStartIndex:Math.max(0,n-1),overscanStopIndex:Math.min(t-1,i+r)}:{overscanStartIndex:Math.max(0,n-r),overscanStopIndex:Math.min(t-1,i+1)}}accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_HORIZONTAL="horizontal",accessibilityOverscanIndicesGetter.SCROLL_DIRECTION_VERTICAL="vertical",function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bpfrpt_proptype_Scroll=e.bpfrpt_proptype_CellRendererParams=e.bpfrpt_proptype_RenderedSection=e.bpfrpt_proptype_OverscanIndicesGetter=e.bpfrpt_proptype_CellSize=e.bpfrpt_proptype_CellPosition=e.bpfrpt_proptype_Alignment=e.bpfrpt_proptype_NoContentRenderer=e.defaultOverscanIndicesGetter=e.defaultCellRangeRenderer=e.accessibilityOverscanIndicesGetter=e.Grid=e.default=void 0;var t=Grid$3;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o(t).default}}),Object.defineProperty(e,"Grid",{enumerable:!0,get:function(){return o(t).default}});var r=accessibilityOverscanIndicesGetter;Object.defineProperty(e,"accessibilityOverscanIndicesGetter",{enumerable:!0,get:function(){return o(r).default}});var a=defaultCellRangeRenderer$1;Object.defineProperty(e,"defaultCellRangeRenderer",{enumerable:!0,get:function(){return o(a).default}});var n=defaultOverscanIndicesGetter$2;Object.defineProperty(e,"defaultOverscanIndicesGetter",{enumerable:!0,get:function(){return o(n).default}});var i=requireTypes();function o(e){return e&&e.__esModule?e:{default:e}}e.bpfrpt_proptype_NoContentRenderer=i.bpfrpt_proptype_NoContentRenderer,e.bpfrpt_proptype_Alignment=i.bpfrpt_proptype_Alignment,e.bpfrpt_proptype_CellPosition=i.bpfrpt_proptype_CellPosition,e.bpfrpt_proptype_CellSize=i.bpfrpt_proptype_CellSize,e.bpfrpt_proptype_OverscanIndicesGetter=i.bpfrpt_proptype_OverscanIndicesGetter,e.bpfrpt_proptype_RenderedSection=i.bpfrpt_proptype_RenderedSection,e.bpfrpt_proptype_CellRendererParams=i.bpfrpt_proptype_CellRendererParams,e.bpfrpt_proptype_Scroll=i.bpfrpt_proptype_Scroll}(Grid$4);var types={};Object.defineProperty(types,"__esModule",{value:!0}),types.bpfrpt_proptype_Scroll=types.bpfrpt_proptype_RenderedRows=types.bpfrpt_proptype_RowRenderer=types.bpfrpt_proptype_RowRendererParams=void 0;var _react$1=reactExports;_interopRequireWildcard$1(_react$1);var _propTypes$1=propTypesExports;function _interopRequireDefault$4(e){return e&&e.__esModule?e:{default:e}}function _interopRequireWildcard$1(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}_interopRequireDefault$4(_propTypes$1);var bpfrpt_proptype_RowRendererParams=null,bpfrpt_proptype_RowRenderer=null,bpfrpt_proptype_RenderedRows=null,bpfrpt_proptype_Scroll=null;types.bpfrpt_proptype_RowRendererParams=bpfrpt_proptype_RowRendererParams,types.bpfrpt_proptype_RowRenderer=bpfrpt_proptype_RowRenderer,types.bpfrpt_proptype_RenderedRows=bpfrpt_proptype_RenderedRows,types.bpfrpt_proptype_Scroll=bpfrpt_proptype_Scroll,Object.defineProperty(List$2,"__esModule",{value:!0});var _extends2=_extends$2a,_extends3=_interopRequireDefault$3(_extends2),_getOwnPropertyDescriptor=getOwnPropertyDescriptorExports,_getOwnPropertyDescriptor2=_interopRequireDefault$3(_getOwnPropertyDescriptor),_getPrototypeOf$b=getPrototypeOfExports,_getPrototypeOf2=_interopRequireDefault$3(_getPrototypeOf$b),_classCallCheck2=classCallCheck$2,_classCallCheck3=_interopRequireDefault$3(_classCallCheck2),_createClass2=createClass$2,_createClass3=_interopRequireDefault$3(_createClass2),_possibleConstructorReturn2=possibleConstructorReturn$2,_possibleConstructorReturn3=_interopRequireDefault$3(_possibleConstructorReturn2),_inherits2=inherits$2,_inherits3=_interopRequireDefault$3(_inherits2),_Grid=Grid$4,_Grid2=_interopRequireDefault$3(_Grid),_react=reactExports,React=_interopRequireWildcard(_react),_classnames=classnamesExports,_classnames2=_interopRequireDefault$3(_classnames),_propTypes=propTypesExports;function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault$3(e){return e&&e.__esModule?e:{default:e}}_interopRequireDefault$3(_propTypes);var List$1=function(e){function t(){var e,r,a,n;(0,_classCallCheck3.default)(this,t);for(var i=arguments.length,o=Array(i),l=0;l0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,r=void 0===t?0:t,a=e.rowIndex,n=void 0===a?0:a;this.Grid&&this.Grid.recomputeGridSize({rowIndex:n,columnIndex:r})}},{key:"recomputeRowHeights",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.recomputeGridSize({rowIndex:e,columnIndex:0})}},{key:"scrollToPosition",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToPosition({scrollTop:e})}},{key:"scrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:e})}},{key:"render",value:function(){var e=this.props,t=e.className,r=e.noRowsRenderer,a=e.scrollToIndex,n=e.width,i=(0,_classnames2.default)("ReactVirtualized__List",t);return React.createElement(_Grid2.default,(0,_extends3.default)({},this.props,{autoContainerWidth:!0,cellRenderer:this._cellRenderer,className:i,columnWidth:n,columnCount:1,noContentRenderer:r,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,scrollToRow:a}))}}]),t}(React.PureComponent);List$1.defaultProps={autoHeight:!1,estimatedRowSize:30,onScroll:function(){},noRowsRenderer:function(){return null},onRowsRendered:function(){},overscanIndicesGetter:_Grid.accessibilityOverscanIndicesGetter,overscanRowCount:10,scrollToAlignment:"auto",scrollToIndex:-1,style:{}},List$1.propTypes=null,List$2.default=List$1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bpfrpt_proptype_RowRendererParams=e.List=e.default=void 0;var t=List$2;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return a(t).default}}),Object.defineProperty(e,"List",{enumerable:!0,get:function(){return a(t).default}});var r=types;function a(e){return e&&e.__esModule?e:{default:e}}e.bpfrpt_proptype_RowRendererParams=r.bpfrpt_proptype_RowRendererParams}(List$3);const List=getDefaultExportFromCjs(List$3);var VirtualizedSelect=function(e){function t(e,r){_default$c(this,t);var a=_default$9(this,(t.__proto__||_Object$getPrototypeOf(t)).call(this,e,r));return a._renderMenu=a._renderMenu.bind(a),a._optionRenderer=a._optionRenderer.bind(a),a._setListRef=a._setListRef.bind(a),a._setSelectRef=a._setSelectRef.bind(a),a}return _default$8(t,e),_default$b(t,[{key:"recomputeOptionHeights",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._listRef&&this._listRef.recomputeRowHeights(e)}},{key:"focus",value:function(){if(this._selectRef)return this._selectRef.focus()}},{key:"render",value:function(){var e=this._getSelectComponent();return React$k.createElement(e,_default$bE({},this.props,{ref:this._setSelectRef,menuRenderer:this._renderMenu,menuStyle:{overflow:"hidden"}}))}},{key:"_renderMenu",value:function(e){var t=this,r=e.focusedOption,a=e.focusOption,n=e.labelKey,i=e.onSelect,o=e.options;e.selectValue;var l=e.valueArray,s=e.valueKey,c=this.props,u=c.listProps,f=c.optionRenderer,A=o.indexOf(r),d=this._calculateListHeight({options:o}),p=f||this._optionRenderer;function h(e){var t=e.index,c=e.key,u=e.style,f=o[t];return p({focusedOption:r,focusedOptionIndex:A,focusOption:a,key:c,labelKey:n,onSelect:i,option:f,optionIndex:t,options:o,selectValue:i,style:u,valueArray:l,valueKey:s})}return React$k.createElement(AutoSizer,{disableHeight:!0},(function(e){var r=e.width;return React$k.createElement(List,_default$bE({className:"VirtualSelectGrid",height:d,ref:t._setListRef,rowCount:o.length,rowHeight:function(e){var r=e.index;return t._getOptionHeight({option:o[r]})},rowRenderer:h,scrollToIndex:A,width:r},u))}))}},{key:"_calculateListHeight",value:function(e){for(var t=e.options,r=this.props.maxHeight,a=0,n=0;nr)return r}return a}},{key:"_getOptionHeight",value:function(e){var t=e.option,r=this.props.optionHeight;return r instanceof Function?r({option:t}):r}},{key:"_getSelectComponent",value:function(){var e=this.props,t=e.async,r=e.selectComponent;return r||(t?Select$1.Async:Select$1)}},{key:"_optionRenderer",value:function(e){var t=e.focusedOption,r=e.focusOption,a=e.key,n=e.labelKey,i=e.option,o=e.selectValue,l=e.style,s=e.valueArray,c=["VirtualizedSelectOption"];i===t&&c.push("VirtualizedSelectFocusedOption"),i.disabled&&c.push("VirtualizedSelectDisabledOption"),s&&s.indexOf(i)>=0&&c.push("VirtualizedSelectSelectedOption"),i.className&&c.push(i.className);var u=i.disabled?{}:{onClick:function(){return o(i)},onMouseEnter:function(){return r(i)}};return React$k.createElement("div",_default$bE({className:c.join(" "),key:a,style:l,title:i.title},u),i[n])}},{key:"_setListRef",value:function(e){this._listRef=e}},{key:"_setSelectRef",value:function(e){this._selectRef=e}}]),t}(reactExports.Component);VirtualizedSelect.propTypes={async:propTypesExports.bool,listProps:propTypesExports.object,maxHeight:propTypesExports.number,optionHeight:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.func]),optionRenderer:propTypesExports.func,selectComponent:propTypesExports.func},VirtualizedSelect.defaultProps={async:!1,maxHeight:200,optionHeight:35};const reactSelect="",styles$1="",styles="",VirtSelect$1="";function renderOption({focusedOption:e,focusOption:t,key:r,labelKey:a,option:n,selectValue:i,style:o,valueArray:l}){const s=["VirtSelect--option"];n===e&&s.push("is-focused"),n.disabled&&s.push("is-disabled"),l&&l.indexOf(n)>=0&&s.push("is-selected"),n.className&&s.push(n.className);const c=n.disabled?{}:{onClick:()=>i(n),onMouseEnter:()=>t(n)};return jsxRuntimeExports.jsx("div",{className:s.join(" "),style:o,title:n.title,...c,children:n[a]},r)}function renderArrow({isOpen:e}){return jsxRuntimeExports.jsx(Icon$1,{className:"VirtSelect--arrow "+(e?"is-open":""),type:"down"})}function VirtSelect(e){return jsxRuntimeExports.jsx(VirtualizedSelect,{className:"VirtSelect",arrowRenderer:renderArrow,optionRenderer:renderOption,...e})}var baseSlice=_baseSlice;function baseWhile$1(e,t,r,a){for(var n=e.length,i=a?n:-1;(a?i--:++ire));if(1e3===t.ofPrevious)return`${round_1(e/t.microseconds,2)}${t.unit}`;const a=`${Math.floor(e/t.microseconds)}${t.unit}`,n=Math.round(e/r.microseconds%t.ofPrevious),i=`${n}${r.unit}`;return 0===n?a:`${a} ${i}`}function formatRelativeDate(e,t=!1){const r=hooks$1.isMoment(e)?e:hooks$1(e),a=t?"MMMM":"MMM",n=new Date;if(n.getFullYear()!==r.year())return r.format(`${a} D, YYYY`);const i=r.month(),o=r.date(),l=n.getDate();return i===n.getMonth()&&o===l?TODAY:(n.setDate(l-1),i===n.getMonth()&&o===n.getDate()?YESTERDAY:r.format(`${a} D`))}const getSuitableTimeUnit=e=>{if(e<1e3)return"microseconds";const t=hooks$1.duration(e/1e3,"ms");return Object.keys(timeUnitToShortTermMapper).reverse().find((e=>t.as(e)>=1))};function convertTimeUnitToShortTerm(e){if("microseconds"===e)return"μs";const t=timeUnitToShortTermMapper[e];return t||""}function convertToTimeUnit(e,t){return e<1e3?e:hooks$1.duration(e/1e3,"ms").as(t)}function timeConversion(e){if(e<1e3)return`${e}μs`;const t=getSuitableTimeUnit(e);return`${hooks$1.duration(e/1e3,"ms").as(t)}${convertTimeUnitToShortTerm(t)}`}const reduxFormFieldAdapter$1="",noop$4=()=>{};function reduxFormFieldAdapter({AntInputComponent:e,onChangeAdapter:t,isValidatedInput:r=!1}){return function(a){const{input:{onBlur:n,onChange:i,onFocus:o,value:l},children:s,...c}=a,u=!c.meta.active&&Boolean(c.meta.error),f=jsxRuntimeExports.jsx(e,{className:classnamesExports({"is-invalid":u,"AdaptedReduxFormField--isValidatedInput":r}),onBlur:r&&n?n:noop$4,onFocus:r&&o?o:noop$4,onChange:t?e=>i(t(e)):i,value:l,...c,children:s});return r?jsxRuntimeExports.jsx(Popover,{placement:"bottomLeft",visible:u,...c.meta.error,children:f}):f}}const SearchForm$1="",FormItem$2=Form.Item,Option$2=Select.Option,AdaptedInput=reduxFormFieldAdapter({AntInputComponent:Input$1}),AdaptedSelect=reduxFormFieldAdapter({AntInputComponent:Select}),AdaptedVirtualSelect$1=reduxFormFieldAdapter({AntInputComponent:VirtSelect,onChangeAdapter:e=>e?e.value:null}),ValidatedAdaptedInput=reduxFormFieldAdapter({AntInputComponent:Input$1,isValidatedInput:!0});function getUnixTimeStampInMSFromForm({startDate:e,startDateTime:t,endDate:r,endDateTime:a}){const n=`${r} ${a}`;return{start:`${hooks$1(`${e} ${t}`,"YYYY-MM-DD HH:mm").valueOf()}000`,end:`${hooks$1(n,"YYYY-MM-DD HH:mm").valueOf()}000`}}function convTagsLogfmt(e){if(!e)return null;const t=logfmt_parser.parse(e);return Object.keys(t).forEach((e=>{const r=t[e];"string"!=typeof r&&(t[e]=String(r))})),JSON.stringify(t)}function lookbackToTimestamp(e,t){const r=e.substr(-1);return 1e3*hooks$1(t).subtract(parseInt(e,10),r).valueOf()}const lookbackOptions=[{label:"5 Minutes",value:"5m"},{label:"15 Minutes",value:"15m"},{label:"30 Minutes",value:"30m"},{label:"Hour",value:"1h"},{label:"2 Hours",value:"2h"},{label:"3 Hours",value:"3h"},{label:"6 Hours",value:"6h"},{label:"12 Hours",value:"12h"},{label:"24 Hours",value:"24h"},{label:"2 Days",value:"2d"},{label:"3 Days",value:"3d"},{label:"5 Days",value:"5d"},{label:"7 Days",value:"7d"},{label:"2 Weeks",value:"2w"},{label:"3 Weeks",value:"3w"},{label:"4 Weeks",value:"4w"}],optionsWithinMaxLookback=memoizeOne$1((e=>{const t=new Date,r=lookbackToTimestamp(e.value,t),a=new Map,n=lookbackOptions.filter((({value:e})=>{const n=lookbackToTimestamp(e,t);return a.set(e,n),n>=r})),i=n.length-1,o=n[i];return o.label!==e.label&&(a.get(o.value)!==r?n.push(e):n.splice(i,1,e)),n.map((({label:e,value:t})=>jsxRuntimeExports.jsxs(Option$2,{value:t,children:["Last ",e]},t)))})),placeholderDurationFields="e.g. 1.2s, 100ms, 500us";function validateDurationFields(e){if(e)return/\d[\d\\.]*(us|ms|s|m|h)$/.test(e)?void 0:{content:`Please enter a number followed by a duration unit, ${placeholderDurationFields}`,title:"Please match the requested format."}}function convertQueryParamsToFormDates({start:e,end:t}){let r,a,n,i;if(t){const e=parseInt(t,10);n=formatDate(e),i=formatTime(e)}if(e){const t=parseInt(e,10);r=formatDate(t),a=formatTime(t)}return{queryStartDate:r,queryStartDateTime:a,queryEndDate:n,queryEndDateTime:i}}function submitForm(e,t){const{resultsLimit:r,service:a,startDate:n,startDateTime:i,endDate:o,endDateTime:l,operation:s,tags:c,minDuration:u,maxDuration:f,lookback:A}=e;let d,p;if(store_legacy.set("lastSearch",{service:a,operation:s}),"custom"!==A){const e=new Date;d=lookbackToTimestamp(A,e),p=1e3*e}else{const e=getUnixTimeStampInMSFromForm({startDate:n,startDateTime:i,endDate:o,endDateTime:l});d=e.start,p=e.end}trackFormInput(r,s,c,u,f,A,a),t({service:a,operation:s!==DEFAULT_OPERATION?s:void 0,limit:r,lookback:A,start:d,end:p,tags:convTagsLogfmt(c)||void 0,minDuration:u||null,maxDuration:f||null})}class SearchFormImpl extends reactExports.PureComponent{render(){const{handleSubmit:e,invalid:t,searchMaxLookback:r,selectedLookback:a,selectedService:n="-",services:i,submitting:o}=this.props,l=i.find((e=>e.name===n)),s=l&&l.operations||[],c="-"===n||!n,u="custom"===a?(new Date).toTimeString().replace(/^.*?GMT/,"UTC"):null;return jsxRuntimeExports.jsxs(Form,{layout:"vertical",onSubmit:e,children:[jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("span",{children:["Service ",jsxRuntimeExports.jsxs("span",{className:"SearchForm--labelCount",children:["(",i.length,")"]})]}),children:jsxRuntimeExports.jsx(Field,{name:"service",component:AdaptedVirtualSelect$1,placeholder:"Select A Service",props:{disabled:o,clearable:!1,options:i.map((e=>({label:e.name,value:e.name}))),required:!0}})}),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("span",{children:["Operation ",jsxRuntimeExports.jsxs("span",{className:"SearchForm--labelCount",children:["(",s?s.length:0,")"]})]}),children:jsxRuntimeExports.jsx(Field,{name:"operation",component:AdaptedVirtualSelect$1,placeholder:"Select An Operation",props:{clearable:!1,disabled:o||c,options:["all"].concat(s).map((e=>({label:e,value:e,title:e}))),required:!0}})}),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["Tags"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",title:[jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Values should be in the"," ",jsxRuntimeExports.jsx("a",{href:"https://brandur.org/logfmt",rel:"noopener noreferrer",target:"_blank",children:"logfmt"})," ","format."]},"title"),jsxRuntimeExports.jsxs("ul",{className:"SearchForm--tagsHintInfo",children:[jsxRuntimeExports.jsx("li",{children:"Use space for conjunctions"}),jsxRuntimeExports.jsx("li",{children:"Values containing whitespace should be enclosed in quotes"})]},"info")],content:jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx("code",{className:"SearchForm--tagsHintEg",children:'error=true db.statement="select * from User"'})}),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsx(Field,{name:"tags",component:AdaptedInput,placeholder:"http.status_code=200 error=true",props:{disabled:o}})}),jsxRuntimeExports.jsx(FormItem$2,{label:"Lookback",children:jsxRuntimeExports.jsxs(Field,{name:"lookback",component:AdaptedSelect,props:{disabled:o,defaultValue:"1h"},children:[optionsWithinMaxLookback(r),jsxRuntimeExports.jsx(Option$2,{value:"custom",children:"Custom Time Range"})]})}),"custom"===a&&[jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["Start Time"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",content:jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Times are expressed in ",u]},"title"),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:14,children:jsxRuntimeExports.jsx(Field,{name:"startDate",type:"date",component:AdaptedInput,placeholder:"Start Date",props:{disabled:o}})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:10,children:jsxRuntimeExports.jsx(Field,{name:"startDateTime",type:"time",component:AdaptedInput,props:{disabled:o}})})]})},"start"),jsxRuntimeExports.jsx(FormItem$2,{label:jsxRuntimeExports.jsxs("div",{children:["End Time"," ",jsxRuntimeExports.jsx(Popover,{placement:"topLeft",trigger:"click",content:jsxRuntimeExports.jsxs("h3",{className:"SearchForm--tagsHintTitle",children:["Times are expressed in ",u]},"title"),children:jsxRuntimeExports.jsx(IoHelp,{className:"SearchForm--hintTrigger"})})]}),children:jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:14,children:jsxRuntimeExports.jsx(Field,{name:"endDate",type:"date",component:AdaptedInput,placeholder:"End Date",props:{disabled:o}})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:10,children:jsxRuntimeExports.jsx(Field,{name:"endDateTime",type:"time",component:AdaptedInput,props:{disabled:o}})})]})},"end")],jsxRuntimeExports.jsxs(Row,{gutter:16,children:[jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:12,children:jsxRuntimeExports.jsx(FormItem$2,{label:"Max Duration",children:jsxRuntimeExports.jsx(Field,{name:"maxDuration",component:ValidatedAdaptedInput,placeholder:placeholderDurationFields,props:{disabled:o},validate:validateDurationFields})})}),jsxRuntimeExports.jsx(Col,{className:"gutter-row",span:12,children:jsxRuntimeExports.jsx(FormItem$2,{label:"Min Duration",children:jsxRuntimeExports.jsx(Field,{name:"minDuration",component:ValidatedAdaptedInput,placeholder:placeholderDurationFields,props:{disabled:o},validate:validateDurationFields})})})]}),jsxRuntimeExports.jsx(FormItem$2,{label:"Limit Results",children:jsxRuntimeExports.jsx(Field,{name:"resultsLimit",type:"number",component:AdaptedInput,placeholder:"Limit Results",props:{disabled:o,min:1,max:getConfigValue("search.maxLimit")}})}),jsxRuntimeExports.jsx(Button$2,{htmlType:"submit",className:"SearchForm--submit",disabled:o||c||t,"data-test":SUBMIT_BTN,children:"Find Traces"})]})}}SearchFormImpl.propTypes={handleSubmit:propTypesExports.func.isRequired,invalid:propTypesExports.bool,submitting:propTypesExports.bool,searchMaxLookback:propTypesExports.shape({label:propTypesExports.string.isRequired,value:propTypesExports.string.isRequired}).isRequired,services:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string,operations:propTypesExports.arrayOf(propTypesExports.string)})),selectedService:propTypesExports.string,selectedLookback:propTypesExports.string},SearchFormImpl.defaultProps={invalid:!1,services:[],submitting:!1,selectedService:null,selectedLookback:null};const searchSideBarFormSelector=formValueSelector("searchSideBar");function mapStateToProps$8(e){const{service:t,limit:r,start:a,end:n,operation:i,tag:o,tags:l,maxDuration:s,minDuration:c,lookback:u,traceID:f}=queryString.parse(e.router.location.search),A=1e3*hooks$1().valueOf(),d=formatDate(A),p=formatTime(A),h=store_legacy.get("lastSearch");let b,g;if(h){const{operation:t,service:r}=h;if(r&&"-"!==r&&e.services.services.includes(r)&&(b=r,t&&"-"!==t)){const a=e.services.operationsForService[r];("all"===t||a&&a.includes(t))&&(g=t)}}const{queryStartDate:m,queryStartDateTime:v,queryEndDate:y,queryEndDateTime:w}=convertQueryParamsToFormDates({start:a,end:n});let k,x;if(o){let e,t=function(e,t){const r=t.split(":",2),a=r[0];return!!a&&(e[a]=null==r[1]?"":r[1],!0)};if(Array.isArray(o))e=o.reduce(((e,r)=>(t(e,r),e)),{});else if("string"==typeof o){const r={};e=t(r,o)?r:null}if(e)try{k=stringify_1(e)}catch(_){k="Parse Error"}else k="Parse Error"}if(l){let e;try{e=JSON.parse(l),k=stringify_1(e)}catch(_){k="Parse Error"}}return f&&(x=f instanceof Array?f.join(","):f),{destroyOnUnmount:!1,initialValues:{service:t||b||"-",resultsLimit:r||DEFAULT_LIMIT,lookback:u||DEFAULT_LOOKBACK,startDate:m||d,startDateTime:v||"00:00",endDate:y||d,endDateTime:w||p,operation:i||g||DEFAULT_OPERATION,tags:k,minDuration:c||null,maxDuration:s||null,traceIDs:x||null},searchMaxLookback:get_1$1(e,"config.search.maxLookback"),selectedService:searchSideBarFormSelector(e,"service"),selectedLookback:searchSideBarFormSelector(e,"lookback")}}function mapDispatchToProps$7(e){const{searchTraces:t}=bindActionCreators(jaegerApiActions,e);return{onSubmit:e=>submitForm(e,t)}}const SearchForm=connect$3(mapStateToProps$8,mapDispatchToProps$7)(reduxForm({form:"searchSideBar"})(SearchFormImpl)),CATEGORY_ALT_VIEW$1="jaeger/ux/search-results/alt-view",CATEGORY_CONVERSIONS="jaeger/ux/search-results/conversions";var EAltViewActions=(e=>(e.Ddg="ddg",e.Traces="traces",e))(EAltViewActions||{});function trackAltView(e){trackEvent(CATEGORY_ALT_VIEW$1,e)}function trackConversions(e){trackEvent(CATEGORY_CONVERSIONS,e)}function viewAllDep({ctrlKey:e,metaKey:t}){trackConversions(EAltViewActions.Ddg);const{density:r,operation:a,service:n,showOp:i}=getUrlState$2(window.location.search);window.open(getUrl$4({density:r,operation:a,service:n,showOp:i}),e||t?"_blank":"_self")}function AltViewOptions$2(e){const{onDdgViewClicked:t,traceResultsView:r}=e,a=jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:t,children:r?"Deep Dependency Graph":"Trace Results"});return r||!getConfigValue("deepDependencies.menuEnabled")?a:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[a,jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:viewAllDep,children:"View All Dependencies"})]})}function DownloadResults(e){const{onDownloadResultsClicked:t}=e;return jsxRuntimeExports.jsx(Button$2,{className:"ub-ml2",htmlType:"button",onClick:t,children:"Download Results"})}const TraceName$1="";function TraceName(e){const{className:t,error:r,state:a,traceName:n}=e,i=a===fetchedState.ERROR;let o=n||FALLBACK_TRACE_NAME,l="";if(i){l="is-error";let e="";r&&(e="string"==typeof r?r:r.message||String(r)),e||(e="Error: Unknown error"),o=e,o=jsxRuntimeExports.jsx(BreakableText,{text:e})}else if(a===fetchedState.LOADING)o=jsxRuntimeExports.jsx(LoadingIndicator,{small:!0});else{const e=String(n||FALLBACK_TRACE_NAME);o=jsxRuntimeExports.jsx(BreakableText,{text:e})}return jsxRuntimeExports.jsx("span",{className:`TraceName ${l} ${t||""}`,children:o})}const ResultItemTitle$1="",DEFAULT_DURATION_PERCENT=0,stopCheckboxPropagation=e=>e.stopPropagation();class ResultItemTitle extends reactExports.PureComponent{constructor(){super(...arguments),this.toggleComparison=()=>{const{isInDiffCohort:e,toggleComparison:t,traceID:r}=this.props;t(r,e)}}render(){const{disableComparision:e,duration:t,durationPercent:r,error:a,isInDiffCohort:n,linkTo:i,state:o,targetBlank:l,traceID:s,traceName:c}=this.props;let u="div";const f={className:"ResultItemTitle--item ub-flex-auto"};i&&(f.to=i,u=Link$1,l&&(f.target="_blank",f.rel="noopener noreferrer"));const A=o===fetchedState.ERROR,d={className:"ResultItemTitle--item ub-flex-none",checked:!A&&n,disabled:A,onChange:this.toggleComparison,onClick:stopCheckboxPropagation};return jsxRuntimeExports.jsxs("div",{className:"ResultItemTitle",children:[!e&&jsxRuntimeExports.jsx(Checkbox$1,{...d}),jsxRuntimeExports.jsxs(u,{...f,children:[jsxRuntimeExports.jsx("span",{className:"ResultItemTitle--durationBar",style:{width:`${r||DEFAULT_DURATION_PERCENT}%`}}),null!=t&&jsxRuntimeExports.jsx("span",{className:"ub-right ub-relative",children:formatDuration(t)}),jsxRuntimeExports.jsxs("h3",{className:"ResultItemTitle--title",children:[jsxRuntimeExports.jsx(TraceName,{error:a,state:o,traceName:c}),jsxRuntimeExports.jsx("small",{className:"ResultItemTitle--idExcerpt",children:s.slice(0,7)})]})]})]})}}ResultItemTitle.defaultProps={disableComparision:!1,durationPercent:DEFAULT_DURATION_PERCENT,error:void 0,state:void 0,targetBlank:!1};const DiffSelection$1="",CTA_MESSAGE=jsxRuntimeExports.jsx("h2",{className:"ub-m0",children:"Compare traces by selecting result items"});class DiffSelection extends reactExports.PureComponent{render(){const{toggleComparison:e,traces:t}=this.props,r=t.filter((e=>e.state!==fetchedState.ERROR)).map((e=>e.id)),a=r.length>1?getUrl$1({cohort:r}):null,n=jsxRuntimeExports.jsx(Button$2,{className:"ub-right",disabled:r.length<2,htmlType:"button",type:"primary",children:"Compare Traces"});return jsxRuntimeExports.jsxs("div",{className:`DiffSelection ${t.length?"is-non-empty":""} ub-mb3`,children:[t.length>0&&jsxRuntimeExports.jsx("div",{className:"DiffSelection--selectedItems",children:t.map((t=>{const{data:r,error:a,id:n,state:i}=t;return jsxRuntimeExports.jsx(ResultItemTitle,{duration:r&&r.duration,error:a,isInDiffCohort:!0,linkTo:getUrl$6(n),state:i,targetBlank:!0,toggleComparison:e,traceID:n,traceName:r&&r.traceName},n)}))}),jsxRuntimeExports.jsx("div",{className:"DiffSelection--message",children:t.length>0?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[a?jsxRuntimeExports.jsx(Link$1,{to:a,children:n}):n,jsxRuntimeExports.jsxs("h2",{className:"ub-m0",children:[r.length," Selected for comparison"]})]}):CTA_MESSAGE})]})}}const NO_RESULTS="no-results",index$m="",index$l="";function _extends$1b(){return _extends$1b=Object.assign||function(e){for(var t=1;t0?"-".concat(s):s,h=classNames(c,d,"".concat(d,"-").concat(o),(_defineProperty$k(r={},"".concat(d,"-with-text").concat(p),u),_defineProperty$k(r,"".concat(d,"-dashed"),!!f),r));return reactExports.createElement("div",_extends$1b({className:h},A,{role:"separator"}),u&&reactExports.createElement("span",{className:"".concat(d,"-inner-text")},u))}))};const Divider$1=Divider;function _typeof$8(e){return _typeof$8="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$8(e)}function _extends$1a(){return _extends$1a=Object.assign||function(e){for(var t=1;t"error"===e&&(!0===t||"true"===t),trackTraceConversions=()=>trackConversions(EAltViewActions.Traces);class ResultItem extends reactExports.PureComponent{constructor(e,t){super(e,t);const{startTime:r,spans:a}=e.trace,n=hooks$1(r/1e3),i=new Set,o=a.filter((e=>{const t=e.tags.some(isErrorTag);return t&&i.add(e.process.serviceName),t})).length;this.state={numSpans:a.length,timeStr:n.format("h:mm:ss a"),fromNow:n.fromNow(),numErredSpans:o,erroredServices:i}}render(){const{disableComparision:e,durationPercent:t,isInDiffCohort:r,linkTo:a,toggleComparison:n,trace:i}=this.props,{duration:o,services:l,startTime:s,traceName:c,traceID:u}=i;return jsxRuntimeExports.jsxs("div",{className:"ResultItem",onClick:trackTraceConversions,role:"button",children:[jsxRuntimeExports.jsx(ResultItemTitle,{duration:o,durationPercent:t,isInDiffCohort:r,linkTo:a,toggleComparison:n,traceID:u,traceName:c,disableComparision:e}),jsxRuntimeExports.jsx(Link$1,{to:a,children:jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:4,className:"ub-p2",children:[jsxRuntimeExports.jsxs(Tag$1,{className:"ub-m1","data-test":NUM_SPANS,children:[this.state.numSpans," Span",this.state.numSpans>1&&"s"]}),Boolean(this.state.numErredSpans)&&jsxRuntimeExports.jsxs(Tag$1,{className:"ub-m1",color:"red",children:[this.state.numErredSpans," Error",this.state.numErredSpans>1&&"s"]})]}),jsxRuntimeExports.jsx(Col,{span:16,className:"ub-p2",children:jsxRuntimeExports.jsx("ul",{className:"ub-list-reset","data-test":SERVICE_TAGS,children:lodashExports.sortBy(l,(e=>e.name)).map((e=>{const{name:t,numberOfSpans:r}=e;return jsxRuntimeExports.jsx("li",{className:"ub-inline-block ub-m1",children:jsxRuntimeExports.jsxs(Tag$1,{className:"ResultItem--serviceTag",style:{borderLeftColor:colorGenerator.getColorByKey(t)},children:[this.state.erroredServices.has(t)&&jsxRuntimeExports.jsx(IoAlert,{className:"ResultItem--errorIcon"}),t," (",r,")"]})},t)}))})}),jsxRuntimeExports.jsxs(Col,{span:4,className:"ub-p3 ub-tx-right-align",children:[formatRelativeDate(s/1e3),jsxRuntimeExports.jsx(Divider$1,{type:"vertical"}),this.state.timeStr.slice(0,-3)," ",this.state.timeStr.slice(-2),jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("small",{children:this.state.fromNow})]})]})})]})}}function constant$5(e){return function(){return e}}function x$1(e){return e[0]}function y$1(e){return e[1]}function RedBlackTree(){this._=null}function RedBlackNode(e){e.U=e.C=e.L=e.R=e.P=e.N=null}function RedBlackRotateLeft(e,t){var r=t,a=t.R,n=r.U;n?n.L===r?n.L=a:n.R=a:e._=a,a.U=n,r.U=a,r.R=a.L,r.R&&(r.R.U=r),a.L=r}function RedBlackRotateRight(e,t){var r=t,a=t.L,n=r.U;n?n.L===r?n.L=a:n.R=a:e._=a,a.U=n,r.U=a,r.L=a.R,r.L&&(r.L.U=r),a.R=r}function RedBlackFirst(e){for(;e.L;)e=e.L;return e}function createEdge(e,t,r,a){var n=[null,null],i=edges.push(n)-1;return n.left=e,n.right=t,r&&setEdgeEnd(n,e,t,r),a&&setEdgeEnd(n,t,e,a),cells[e.index].halfedges.push(i),cells[t.index].halfedges.push(i),n}function createBorderEdge(e,t,r){var a=[t,r];return a.left=e,a}function setEdgeEnd(e,t,r,a){e[0]||e[1]?e.left===r?e[1]=a:e[0]=a:(e[0]=a,e.left=t,e.right=r)}function clipEdge(e,t,r,a,n){var i,o=e[0],l=e[1],s=o[0],c=o[1],u=0,f=1,A=l[0]-s,d=l[1]-c;if(i=t-s,A||!(i>0)){if(i/=A,A<0){if(i0){if(i>f)return;i>u&&(u=i)}if(i=a-s,A||!(i<0)){if(i/=A,A<0){if(i>f)return;i>u&&(u=i)}else if(A>0){if(i0)){if(i/=d,d<0){if(i0){if(i>f)return;i>u&&(u=i)}if(i=n-c,d||!(i<0)){if(i/=d,d<0){if(i>f)return;i>u&&(u=i)}else if(d>0){if(i0||f<1)||(u>0&&(e[0]=[s+u*A,c+u*d]),f<1&&(e[1]=[s+f*A,c+f*d]),!0)}}}}}function connectEdge(e,t,r,a,n){var i=e[1];if(i)return!0;var o,l,s=e[0],c=e.left,u=e.right,f=c[0],A=c[1],d=u[0],p=u[1],h=(f+d)/2,b=(A+p)/2;if(p===A){if(h=a)return;if(f>d){if(s){if(s[1]>=n)return}else s=[h,r];i=[h,n]}else{if(s){if(s[1]1)if(f>d){if(s){if(s[1]>=n)return}else s=[(r-l)/o,r];i=[(n-l)/o,n]}else{if(s){if(s[1]=a)return}else s=[t,o*t+l];i=[a,o*a+l]}else{if(s){if(s[0]epsilon$2||Math.abs(n[0][1]-n[1][1])>epsilon$2)||delete edges[i]}function createCell(e){return cells[e.index]={site:e,halfedges:[]}}function cellHalfedgeAngle(e,t){var r=e.site,a=t.left,n=t.right;return r===n&&(n=a,a=r),n?Math.atan2(n[1]-a[1],n[0]-a[0]):(r===a?(a=t[1],n=t[0]):(a=t[0],n=t[1]),Math.atan2(a[0]-n[0],n[1]-a[1]))}function cellHalfedgeStart(e,t){return t[+(t.left!==e.site)]}function cellHalfedgeEnd(e,t){return t[+(t.left===e.site)]}function sortCellHalfedges(){for(var e,t,r,a,n=0,i=cells.length;nepsilon$2||Math.abs(h-A)>epsilon$2)&&(s.splice(l,0,edges.push(createBorderEdge(o,d,Math.abs(p-e)epsilon$2?[e,Math.abs(f-e)epsilon$2?[Math.abs(A-a)epsilon$2?[r,Math.abs(f-r)epsilon$2?[Math.abs(A-t)=-epsilon2)){var d=s*s+c*c,p=u*u+f*f,h=(f*d-c*p)/A,b=(s*p-u*d)/A,g=circlePool.pop()||new Circle$3;g.arc=e,g.site=n,g.x=h+o,g.y=(g.cy=b+l)+Math.sqrt(h*h+b*b),e.circle=g;for(var m=null,v=circles._;v;)if(g.yepsilon$2)l=l.L;else{if(!((n=i-rightBreakPoint(l,o))>epsilon$2)){a>-epsilon$2?(t=l.P,r=l):n>-epsilon$2?(t=l,r=l.N):t=r=l;break}if(!l.R){t=l;break}l=l.R}createCell(e);var s=createBeach(e);if(beaches.insert(t,s),t||r){if(t===r)return detachCircle(t),r=createBeach(t.site),beaches.insert(s,r),s.edge=r.edge=createEdge(t.site,s.site),attachCircle(t),void attachCircle(r);if(r){detachCircle(t),detachCircle(r);var c=t.site,u=c[0],f=c[1],A=e[0]-u,d=e[1]-f,p=r.site,h=p[0]-u,b=p[1]-f,g=2*(A*b-d*h),m=A*A+d*d,v=h*h+b*b,y=[(b*m-d*v)/g+u,(A*v-h*m)/g+f];setEdgeEnd(r.edge,c,p,y),s.edge=createEdge(c,e,null,y),r.edge=createEdge(e,p,null,y),attachCircle(t),attachCircle(r)}else s.edge=createEdge(t.site,s.site)}}function leftBreakPoint(e,t){var r=e.site,a=r[0],n=r[1],i=n-t;if(!i)return a;var o=e.P;if(!o)return-1/0;var l=(r=o.site)[0],s=r[1],c=s-t;if(!c)return l;var u=l-a,f=1/i-1/c,A=u/c;return f?(-A+Math.sqrt(A*A-2*f*(u*u/(-2*c)-s+c/2+n-i/2)))/f+a:(a+l)/2}function rightBreakPoint(e,t){var r=e.N;if(r)return leftBreakPoint(r,t);var a=e.site;return a[1]===t?a[0]:1/0}var epsilon$2=1e-6,epsilon2=1e-12,beaches,cells,circles,edges;function triangleArea(e,t,r){return(e[0]-r[0])*(t[1]-e[1])-(e[0]-t[0])*(r[1]-e[1])}function lexicographic(e,t){return t[1]-e[1]||t[0]-e[0]}function Diagram(e,t){var r,a,n,i=e.sort(lexicographic).pop();for(edges=[],cells=new Array(e.length),beaches=new RedBlackTree,circles=new RedBlackTree;;)if(n=firstCircle,i&&(!n||i[1]=l)return null;var s=e-n.site[0],c=t-n.site[1],u=s*s+c*c;do{n=i.cells[a=o],o=null,n.halfedges.forEach((function(r){var a=i.edges[r],l=a.left;if(l!==n.site&&l||(l=a.right)){var s=e-l[0],c=t-l[1],f=s*s+c*c;f>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):(t=reHex6.exec(e))?rgbn(parseInt(t[1],16)):(t=reRgbInteger.exec(e))?new Rgb(t[1],t[2],t[3],1):(t=reRgbPercent.exec(e))?new Rgb(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=reRgbaInteger.exec(e))?rgba(t[1],t[2],t[3],t[4]):(t=reRgbaPercent.exec(e))?rgba(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=reHslPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,1):(t=reHslaPercent.exec(e))?hsla(t[1],t[2]/100,t[3]/100,t[4]):named.hasOwnProperty(e)?rgbn(named[e]):"transparent"===e?new Rgb(NaN,NaN,NaN,0):null}function rgbn(e){return new Rgb(e>>16&255,e>>8&255,255&e,1)}function rgba(e,t,r,a){return a<=0&&(e=t=r=NaN),new Rgb(e,t,r,a)}function rgbConvert(e){return e instanceof Color||(e=color(e)),e?new Rgb((e=e.rgb()).r,e.g,e.b,e.opacity):new Rgb}function rgb$1(e,t,r,a){return 1===arguments.length?rgbConvert(e):new Rgb(e,t,r,null==a?1:a)}function Rgb(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function hex(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function hsla(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl(e,t,r,a)}function hslConvert(e){if(e instanceof Hsl)return new Hsl(e.h,e.s,e.l,e.opacity);if(e instanceof Color||(e=color(e)),!e)return new Hsl;if(e instanceof Hsl)return e;var t=(e=e.rgb()).r/255,r=e.g/255,a=e.b/255,n=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-n,s=(i+n)/2;return l?(o=t===i?(r-a)/l+6*(r0&&s<1?0:o,new Hsl(o,l,s,e.opacity)}function hsl(e,t,r,a){return 1===arguments.length?hslConvert(e):new Hsl(e,t,r,null==a?1:a)}function Hsl(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function hsl2rgb(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}define(Color,color,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),define(Rgb,rgb$1,extend(Color,{brighter:function(e){return e=null==e?brighter:Math.pow(brighter,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?darker:Math.pow(darker,e),new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)},toString:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}})),define(Hsl,hsl,extend(Color,{brighter:function(e){return e=null==e?brighter:Math.pow(brighter,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?darker:Math.pow(darker,e),new Hsl(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,n=2*r-a;return new Rgb(hsl2rgb(e>=240?e-240:e+120,n,a),hsl2rgb(e,n,a),hsl2rgb(e<120?e+240:e-120,n,a),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var deg2rad=Math.PI/180,rad2deg=180/Math.PI,K=18,Xn=.96422,Yn=1,Zn=.82521,t0$1=4/29,t1$1=6/29,t2=3*t1$1*t1$1,t3=t1$1*t1$1*t1$1;function labConvert(e){if(e instanceof Lab)return new Lab(e.l,e.a,e.b,e.opacity);if(e instanceof Hcl){if(isNaN(e.h))return new Lab(e.l,0,0,e.opacity);var t=e.h*deg2rad;return new Lab(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}e instanceof Rgb||(e=rgbConvert(e));var r,a,n=rgb2lrgb(e.r),i=rgb2lrgb(e.g),o=rgb2lrgb(e.b),l=xyz2lab((.2225045*n+.7168786*i+.0606169*o)/Yn);return n===i&&i===o?r=a=l:(r=xyz2lab((.4360747*n+.3850649*i+.1430804*o)/Xn),a=xyz2lab((.0139322*n+.0971045*i+.7141733*o)/Zn)),new Lab(116*l-16,500*(r-l),200*(l-a),e.opacity)}function lab(e,t,r,a){return 1===arguments.length?labConvert(e):new Lab(e,t,r,null==a?1:a)}function Lab(e,t,r,a){this.l=+e,this.a=+t,this.b=+r,this.opacity=+a}function xyz2lab(e){return e>t3?Math.pow(e,1/3):e/t2+t0$1}function lab2xyz(e){return e>t1$1?e*e*e:t2*(e-t0$1)}function lrgb2rgb(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function rgb2lrgb(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function hclConvert(e){if(e instanceof Hcl)return new Hcl(e.h,e.c,e.l,e.opacity);if(e instanceof Lab||(e=labConvert(e)),0===e.a&&0===e.b)return new Hcl(NaN,0,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*rad2deg;return new Hcl(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function hcl(e,t,r,a){return 1===arguments.length?hclConvert(e):new Hcl(e,t,r,null==a?1:a)}function Hcl(e,t,r,a){this.h=+e,this.c=+t,this.l=+r,this.opacity=+a}define(Lab,lab,extend(Color,{brighter:function(e){return new Lab(this.l+K*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new Lab(this.l-K*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return new Rgb(lrgb2rgb(3.1338561*(t=Xn*lab2xyz(t))-1.6168667*(e=Yn*lab2xyz(e))-.4906146*(r=Zn*lab2xyz(r))),lrgb2rgb(-.9787684*t+1.9161415*e+.033454*r),lrgb2rgb(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter:function(e){return new Hcl(this.h,this.c,this.l+K*(null==e?1:e),this.opacity)},darker:function(e){return new Hcl(this.h,this.c,this.l-K*(null==e?1:e),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(e){if(e instanceof Cubehelix)return new Cubehelix(e.h,e.s,e.l,e.opacity);e instanceof Rgb||(e=rgbConvert(e));var t=e.r/255,r=e.g/255,a=e.b/255,n=(BC_DA*a+ED*t-EB*r)/(BC_DA+ED-EB),i=a-n,o=(E*(r-n)-C*i)/D,l=Math.sqrt(o*o+i*i)/(E*n*(1-n)),s=l?Math.atan2(o,i)*rad2deg-120:NaN;return new Cubehelix(s<0?s+360:s,l,n,e.opacity)}function cubehelix$1(e,t,r,a){return 1===arguments.length?cubehelixConvert(e):new Cubehelix(e,t,r,null==a?1:a)}function Cubehelix(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function constant$4(e){return function(){return e}}function linear$1(e,t){return function(r){return e+r*t}}function exponential(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}function hue(e,t){var r=t-e;return r?linear$1(e,r>180||r<-180?r-360*Math.round(r/360):r):constant$4(isNaN(e)?t:e)}function gamma(e){return 1==(e=+e)?nogamma:function(t,r){return r-t?exponential(t,r,e):constant$4(isNaN(t)?r:t)}}function nogamma(e,t){var r=t-e;return r?linear$1(e,r):constant$4(isNaN(e)?t:e)}define(Cubehelix,cubehelix$1,extend(Color,{brighter:function(e){return e=null==e?brighter:Math.pow(brighter,e),new Cubehelix(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?darker:Math.pow(darker,e),new Cubehelix(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*deg2rad,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),a=Math.cos(e),n=Math.sin(e);return new Rgb(255*(t+r*(A*a+B*n)),255*(t+r*(C*a+D*n)),255*(t+r*(E*a)),this.opacity)}}));const rgb=function e(t){var r=gamma(t);function a(e,t){var a=r((e=rgb$1(e)).r,(t=rgb$1(t)).r),n=r(e.g,t.g),i=r(e.b,t.b),o=nogamma(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=n(t),e.b=i(t),e.opacity=o(t),e+""}}return a.gamma=e,a}(1);function array$2(e,t){var r,a=t?t.length:0,n=e?Math.min(a,e.length):0,i=new Array(n),o=new Array(a);for(r=0;ri&&(n=t.slice(i,n),l[o]?l[o]+=n:l[++o]=n),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:reinterpolate$1(r,a)})),i=reB.lastIndex;return i10*d&&(n.accumulatedTime=0),0===n.accumulatedTime)return n.animationID=null,void n.startAnimationIfNecessary();var i=(n.accumulatedTime-Math.floor(n.accumulatedTime/d)*d)/d,o=Math.floor(n.accumulatedTime/d),c={},f={},A={},p={};for(var h in t)if(Object.prototype.hasOwnProperty.call(t,h)){var b=t[h];if("number"==typeof b)A[h]=b,p[h]=0,c[h]=b,f[h]=0;else{for(var g=n.state.lastIdealStyle[h],m=n.state.lastIdealVelocity[h],v=0;v10*d&&(n.accumulatedTime=0),0===n.accumulatedTime)return n.animationID=null,void n.startAnimationIfNecessary();for(var i=(n.accumulatedTime-Math.floor(n.accumulatedTime/d)*d)/d,o=Math.floor(n.accumulatedTime/d),c=[],f=[],A=[],p=[],h=0;ha[u])return-1;if(n>i[u]&&sa[u])return 1;if(o>i[u]&&l10*p&&(n.accumulatedTime=0),0===n.accumulatedTime)return n.animationID=null,void n.startAnimationIfNecessary();for(var o=(n.accumulatedTime-Math.floor(n.accumulatedTime/p)*p)/p,s=Math.floor(n.accumulatedTime/p),u=b(n.props.willEnter,n.props.willLeave,n.props.didLeave,n.state.mergedPropsStyles,r,n.state.currentStyles,n.state.currentVelocities,n.state.lastIdealStyles,n.state.lastIdealVelocities),A=u[0],d=u[1],g=u[2],m=u[3],v=u[4],y=0;y=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}var ANIMATION_PROPTYPES=propTypesExports.oneOfType([propTypesExports.string,propTypesExports.shape({stiffness:propTypesExports.number,nonAnimatedProps:propTypesExports.arrayOf(propTypesExports.string),damping:propTypesExports.number}),propTypesExports.bool]),propTypes$b={animatedProps:propTypesExports.arrayOf(propTypesExports.string).isRequired,animation:ANIMATION_PROPTYPES,onStart:propTypesExports.func,onEnd:propTypesExports.func};function getAnimationStyle(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:presets.noWobble;if("string"==typeof e)return presets[e]||presets.noWobble;var t=e.damping,r=e.stiffness;return _extends$18({damping:t||presets.noWobble.damping,stiffness:r||presets.noWobble.stiffness},e)}function extractAnimatedPropValues(e){var t=e.animatedProps,r=_objectWithoutProperties$3(e,["animatedProps"]);return t.reduce((function(e,t){return r.hasOwnProperty(t)&&(e[t]=r[t]),e}),{})}var Animation=function(e){function t(e){_classCallCheck$Q(this,t);var r=_possibleConstructorReturn$Q(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r._motionEndHandler=function(){r.props.onEnd&&r.props.onEnd()},r._renderChildren=function(e){var t=e.i,a=r.props.children,n=r._interpolator,i=React$k.Children.only(a),o=n?n(t):n,l=o&&o.data||null;return l&&i.props._data&&(l=l.map((function(e,t){var r=i.props._data[t];return _extends$18({},e,{parent:r.parent,children:r.children})}))),React$k.cloneElement(i,_extends$18({},i.props,o,{data:l||i.props.data||null,_animation:Math.random()}))},r._updateInterpolator(e),r}return _inherits$Q(t,e),_createClass$Q(t,[{key:"componentWillUpdate",value:function(e){this._updateInterpolator(this.props,e),e.onStart&&e.onStart()}},{key:"_updateInterpolator",value:function(e,t){this._interpolator=interpolate(extractAnimatedPropValues(e),t?extractAnimatedPropValues(t):null)}},{key:"render",value:function(){var e=getAnimationStyle(this.props.animation),t={i:spring(1,e)},r=Math.random();return React$k.createElement(Motion,_extends$18({defaultStyle:{i:0},style:t,key:r},{onRest:this._motionEndHandler}),this._renderChildren)}}]),t}(reactExports.PureComponent);Animation.propTypes=propTypes$b,Animation.displayName="Animation";var AnimationPropType=ANIMATION_PROPTYPES;function ascending$2(e,t){return et?1:e>=t?0:NaN}function bisector(e){return 1===e.length&&(e=ascendingComparator(e)),{left:function(t,r,a,n){for(null==a&&(a=0),null==n&&(n=t.length);a>>1;e(t[i],r)<0?a=i+1:n=i}return a},right:function(t,r,a,n){for(null==a&&(a=0),null==n&&(n=t.length);a>>1;e(t[i],r)>0?n=i:a=i+1}return a}}}function ascendingComparator(e){return function(t,r){return ascending$2(e(t),r)}}var ascendingBisect=bisector(ascending$2),bisectRight=ascendingBisect.right;function extent(e,t){var r,a,n,i=e.length,o=-1;if(null==t){for(;++o=r)for(a=n=r;++or&&(a=r),n=r)for(a=n=r;++or&&(a=r),n0)return[e];if((a=t0)for(e=Math.ceil(e/o),t=Math.floor(t/o),i=new Array(n=Math.ceil(t-e+1));++l=0?(i>=e10?10:i>=e5?5:i>=e2?2:1)*Math.pow(10,n):-Math.pow(10,-n)/(i>=e10?10:i>=e5?5:i>=e2?2:1)}function tickStep(e,t,r){var a=Math.abs(t-e)/Math.max(0,r),n=Math.pow(10,Math.floor(Math.log(a)/Math.LN10)),i=a/n;return i>=e10?n*=10:i>=e5?n*=5:i>=e2&&(n*=2),t=r)for(a=r;++ia&&(a=r)}else for(;++i=r)for(a=r;++ia&&(a=r);return a}var prefix="$";function Map$1(){}function map$2(e,t){var r=new Map$1;if(e instanceof Map$1)e.each((function(e,t){r.set(t,e)}));else if(Array.isArray(e)){var a,n=-1,i=e.length;if(null==t)for(;++n=r?1:a(e)}}}function reinterpolateClamp(e){return function(t,r){var a=e(t=+t,r=+r);return function(e){return e<=0?t:e>=1?r:a(e)}}}function bimap(e,t,r,a){var n=e[0],i=e[1],o=t[0],l=t[1];return i2?polymap:bimap,a=n=null,u}function u(t){return(a||(a=r(i,o,s?deinterpolateClamp(e):e,l)))(+t)}return u.invert=function(e){return(n||(n=r(o,i,deinterpolateLinear,s?reinterpolateClamp(t):t)))(+e)},u.domain=function(e){return arguments.length?(i=map$1.call(e,number$1),c()):i.slice()},u.range=function(e){return arguments.length?(o=slice$3.call(e),c()):o.slice()},u.rangeRound=function(e){return o=slice$3.call(e),l=interpolateRound,c()},u.clamp=function(e){return arguments.length?(s=!!e,c()):s},u.interpolate=function(e){return arguments.length?(l=e,c()):l},c()}function formatDecimal(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,a=e.slice(0,r);return[a.length>1?a[0]+a.slice(2):a,+e.slice(r+1)]}function exponent(e){return(e=formatDecimal(Math.abs(e)))?e[1]:NaN}function formatGroup(e,t){return function(r,a){for(var n=r.length,i=[],o=0,l=e[0],s=0;n>0&&l>0&&(s+l+1>a&&(l=Math.max(1,a-s)),i.push(r.substring(n-=l,n+l)),!((s+=l+1)>a));)l=e[o=(o+1)%e.length];return i.reverse().join(t)}}function formatNumerals(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i,prefixExponent;function formatSpecifier(e){return new FormatSpecifier(e)}function FormatSpecifier(e){if(!(t=re.exec(e)))throw new Error("invalid format: "+e);var t;this.fill=t[1]||" ",this.align=t[2]||">",this.sign=t[3]||"-",this.symbol=t[4]||"",this.zero=!!t[5],this.width=t[6]&&+t[6],this.comma=!!t[7],this.precision=t[8]&&+t[8].slice(1),this.trim=!!t[9],this.type=t[10]||""}function formatTrim(e){e:for(var t,r=e.length,a=1,n=-1;a0){if(!+e[a])break e;n=0}}return n>0?e.slice(0,n)+e.slice(t+1):e}function formatPrefixAuto(e,t){var r=formatDecimal(e,t);if(!r)return e+"";var a=r[0],n=r[1],i=n-(prefixExponent=3*Math.max(-8,Math.min(8,Math.floor(n/3))))+1,o=a.length;return i===o?a:i>o?a+new Array(i-o+1).join("0"):i>0?a.slice(0,i)+"."+a.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(e,Math.max(0,t+i-1))[0]}function formatRounded(e,t){var r=formatDecimal(e,t);if(!r)return e+"";var a=r[0],n=r[1];return n<0?"0."+new Array(-n).join("0")+a:a.length>n+1?a.slice(0,n+1)+"."+a.slice(n+1):a+new Array(n-a.length+2).join("0")}formatSpecifier.prototype=FormatSpecifier.prototype,FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const formatTypes={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.round(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return formatRounded(100*e,t)},r:formatRounded,s:formatPrefixAuto,X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function identity$3(e){return e}var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],locale$2,format$1,formatPrefix;function formatLocale$1(e){var t=e.grouping&&e.thousands?formatGroup(e.grouping,e.thousands):identity$3,r=e.currency,a=e.decimal,n=e.numerals?formatNumerals(e.numerals):identity$3,i=e.percent||"%";function o(e){var o=(e=formatSpecifier(e)).fill,l=e.align,s=e.sign,c=e.symbol,u=e.zero,f=e.width,A=e.comma,d=e.precision,p=e.trim,h=e.type;"n"===h?(A=!0,h="g"):formatTypes[h]||(null==d&&(d=12),p=!0,h="g"),(u||"0"===o&&"="===l)&&(u=!0,o="0",l="=");var b="$"===c?r[0]:"#"===c&&/[boxX]/.test(h)?"0"+h.toLowerCase():"",g="$"===c?r[1]:/[%p]/.test(h)?i:"",m=formatTypes[h],v=/[defgprs%]/.test(h);function y(e){var r,i,c,y=b,w=g;if("c"===h)w=m(e)+w,e="";else{var k=(e=+e)<0;if(e=m(Math.abs(e),d),p&&(e=formatTrim(e)),k&&0==+e&&(k=!1),y=(k?"("===s?s:"-":"-"===s||"("===s?"":s)+y,w=("s"===h?prefixes[8+prefixExponent/3]:"")+w+(k&&"("===s?")":""),v)for(r=-1,i=e.length;++r(c=e.charCodeAt(r))||c>57){w=(46===c?a+e.slice(r+1):e.slice(r))+w,e=e.slice(0,r);break}}A&&!u&&(e=t(e,1/0));var x=y.length+e.length+w.length,E=x>1)+y+e+w+E.slice(x);break;default:e=E+y+e+w}return n(e)}return d=null==d?6:/[gprs]/.test(h)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),y.toString=function(){return e+""},y}return{format:o,formatPrefix:function(e,t){var r=o(((e=formatSpecifier(e)).type="f",e)),a=3*Math.max(-8,Math.min(8,Math.floor(exponent(t)/3))),n=Math.pow(10,-a),i=prefixes[8+a/3];return function(e){return r(n*e)+i}}}}function defaultLocale$1(e){return locale$2=formatLocale$1(e),format$1=locale$2.format,formatPrefix=locale$2.formatPrefix,locale$2}function precisionFixed(e){return Math.max(0,-exponent(Math.abs(e)))}function precisionPrefix(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(exponent(t)/3)))-exponent(Math.abs(e)))}function precisionRound(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,exponent(t)-exponent(e))+1}function tickFormat$1(e,t,r){var a,n=e[0],i=e[e.length-1],o=tickStep(n,i,null==t?10:t);switch((r=formatSpecifier(null==r?",f":r)).type){case"s":var l=Math.max(Math.abs(n),Math.abs(i));return null!=r.precision||isNaN(a=precisionPrefix(o,l))||(r.precision=a),formatPrefix(r,l);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(a=precisionRound(o,Math.max(Math.abs(n),Math.abs(i))))||(r.precision=a-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(a=precisionFixed(o))||(r.precision=a-2*("%"===r.type))}return format$1(r)}function linearish(e){var t=e.domain;return e.ticks=function(e){var r=t();return ticks(r[0],r[r.length-1],null==e?10:e)},e.tickFormat=function(e,r){return tickFormat$1(t(),e,r)},e.nice=function(r){null==r&&(r=10);var a,n=t(),i=0,o=n.length-1,l=n[i],s=n[o];return s0?a=tickIncrement(l=Math.floor(l/a)*a,s=Math.ceil(s/a)*a,r):a<0&&(a=tickIncrement(l=Math.ceil(l*a)/a,s=Math.floor(s*a)/a,r)),a>0?(n[i]=Math.floor(l/a)*a,n[o]=Math.ceil(s/a)*a,t(n)):a<0&&(n[i]=Math.ceil(l*a)/a,n[o]=Math.floor(s*a)/a,t(n)),e},e}function linear(){var e=continuous(deinterpolateLinear,reinterpolate$1);return e.copy=function(){return copy$1(e,linear())},linearish(e)}function nice(e,t){var r,a=0,n=(e=e.slice()).length-1,i=e[a],o=e[n];return o0){for(;As)break;h.push(f)}}else for(;A=1;--u)if(!((f=c*u)s)break;h.push(f)}}else h=ticks(A,d,Math.min(d-A,p)).map(n);return i?h.reverse():h},e.tickFormat=function(t,i){if(null==i&&(i=10===r?".0e":","),"function"!=typeof i&&(i=format$1(i)),t===1/0)return i;null==t&&(t=10);var o=Math.max(1,r*t/e.ticks().length);return function(e){var t=e/n(Math.round(a(e)));return t*r0))return l;do{l.push(o=new Date(+r)),t(r,i),e(r)}while(o=t)for(;e(t),!r(t);)t.setTime(t-1)}),(function(e,a){if(e>=e)if(a<0)for(;++a<=0;)for(;t(e,-1),!r(e););else for(;--a>=0;)for(;t(e,1),!r(e););}))},r&&(n.count=function(t,a){return t0.setTime(+t),t1.setTime(+a),e(t0),e(t1),Math.floor(r(t0,t1))},n.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?n.filter(a?function(t){return a(t)%e==0}:function(t){return n.count(0,t)%e==0}):n:null}),n}var millisecond=newInterval((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));millisecond.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?newInterval((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,r){t.setTime(+t+r*e)}),(function(t,r){return(r-t)/e})):millisecond:null},millisecond.range;var durationSecond$1=1e3,durationMinute$1=6e4,durationHour$1=36e5,durationDay$1=864e5,durationWeek$1=6048e5,second=newInterval((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*durationSecond$1)}),(function(e,t){return(t-e)/durationSecond$1}),(function(e){return e.getUTCSeconds()}));second.range;var minute=newInterval((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*durationSecond$1)}),(function(e,t){e.setTime(+e+t*durationMinute$1)}),(function(e,t){return(t-e)/durationMinute$1}),(function(e){return e.getMinutes()}));minute.range;var hour=newInterval((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*durationSecond$1-e.getMinutes()*durationMinute$1)}),(function(e,t){e.setTime(+e+t*durationHour$1)}),(function(e,t){return(t-e)/durationHour$1}),(function(e){return e.getHours()}));hour.range;var day=newInterval((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*durationMinute$1)/durationDay$1}),(function(e){return e.getDate()-1}));function weekday(e){return newInterval((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*durationMinute$1)/durationWeek$1}))}day.range;var sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6);sunday.range,monday.range,tuesday.range,wednesday.range,thursday.range,friday.range,saturday.range;var month=newInterval((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}));month.range;var year=newInterval((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));year.every=function(e){return isFinite(e=Math.floor(e))&&e>0?newInterval((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,r){t.setFullYear(t.getFullYear()+r*e)})):null},year.range;var utcMinute=newInterval((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*durationMinute$1)}),(function(e,t){return(t-e)/durationMinute$1}),(function(e){return e.getUTCMinutes()}));utcMinute.range;var utcHour=newInterval((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*durationHour$1)}),(function(e,t){return(t-e)/durationHour$1}),(function(e){return e.getUTCHours()}));utcHour.range;var utcDay=newInterval((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/durationDay$1}),(function(e){return e.getUTCDate()-1}));function utcWeekday(e){return newInterval((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/durationWeek$1}))}utcDay.range;var utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6);utcSunday.range,utcMonday.range,utcTuesday.range,utcWednesday.range,utcThursday.range,utcFriday.range,utcSaturday.range;var utcMonth=newInterval((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}));utcMonth.range;var utcYear=newInterval((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));function localDate(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function utcDate(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function newYear(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}function formatLocale(e){var t=e.dateTime,r=e.date,a=e.time,n=e.periods,i=e.days,o=e.shortDays,l=e.months,s=e.shortMonths,c=formatRe(n),u=formatLookup(n),f=formatRe(i),A=formatLookup(i),d=formatRe(o),p=formatLookup(o),h=formatRe(l),b=formatLookup(l),g=formatRe(s),m=formatLookup(s),v={a:function(e){return o[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return s[e.getMonth()]},B:function(e){return l[e.getMonth()]},c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:function(e){return n[+(e.getHours()>=12)]},Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},y={a:function(e){return o[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return s[e.getUTCMonth()]},B:function(e){return l[e.getUTCMonth()]},c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:function(e){return n[+(e.getUTCHours()>=12)]},Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},w={a:function(e,t,r){var a=d.exec(t.slice(r));return a?(e.w=p[a[0].toLowerCase()],r+a[0].length):-1},A:function(e,t,r){var a=f.exec(t.slice(r));return a?(e.w=A[a[0].toLowerCase()],r+a[0].length):-1},b:function(e,t,r){var a=g.exec(t.slice(r));return a?(e.m=m[a[0].toLowerCase()],r+a[0].length):-1},B:function(e,t,r){var a=h.exec(t.slice(r));return a?(e.m=b[a[0].toLowerCase()],r+a[0].length):-1},c:function(e,r,a){return E(e,t,r,a)},d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:function(e,t,r){var a=c.exec(t.slice(r));return a?(e.p=u[a[0].toLowerCase()],r+a[0].length):-1},Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:function(e,t,a){return E(e,r,t,a)},X:function(e,t,r){return E(e,a,t,r)},y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};function k(e,t){return function(r){var a,n,i,o=[],l=-1,s=0,c=e.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;"w"in i||(i.w=1),"Z"in i?(n=(a=utcDate(newYear(i.y))).getUTCDay(),a=n>4||0===n?utcMonday.ceil(a):utcMonday(a),a=utcDay.offset(a,7*(i.V-1)),i.y=a.getUTCFullYear(),i.m=a.getUTCMonth(),i.d=a.getUTCDate()+(i.w+6)%7):(n=(a=t(newYear(i.y))).getDay(),a=n>4||0===n?monday.ceil(a):monday(a),a=day.offset(a,7*(i.V-1)),i.y=a.getFullYear(),i.m=a.getMonth(),i.d=a.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),n="Z"in i?utcDate(newYear(i.y)).getUTCDay():t(newYear(i.y)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(n+5)%7:i.w+7*i.U-(n+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,utcDate(i)):t(i)}}function E(e,t,r,a){for(var n,i,o=0,l=t.length,s=r.length;o=s)return-1;if(37===(n=t.charCodeAt(o++))){if(n=t.charAt(o++),!(i=w[n in pads?t.charAt(o++):n])||(a=i(e,r,a))<0)return-1}else if(n!=r.charCodeAt(a++))return-1}return a}return v.x=k(r,v),v.X=k(a,v),v.c=k(t,v),y.x=k(r,y),y.X=k(a,y),y.c=k(t,y),{format:function(e){var t=k(e+="",v);return t.toString=function(){return e},t},parse:function(e){var t=x(e+="",localDate);return t.toString=function(){return e},t},utcFormat:function(e){var t=k(e+="",y);return t.toString=function(){return e},t},utcParse:function(e){var t=x(e,utcDate);return t.toString=function(){return e},t}}}utcYear.every=function(e){return isFinite(e=Math.floor(e))&&e>0?newInterval((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,r){t.setUTCFullYear(t.getUTCFullYear()+r*e)})):null},utcYear.range;var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g,locale$1,timeFormat,utcFormat,utcParse;function pad(e,t,r){var a=e<0?"-":"",n=(a?-e:e)+"",i=n.length;return a+(i68?1900:2e3),r+a[0].length):-1}function parseZone(e,t,r){var a=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return a?(e.Z=a[1]?0:-(a[2]+(a[3]||"00")),r+a[0].length):-1}function parseMonthNumber(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.m=a[0]-1,r+a[0].length):-1}function parseDayOfMonth(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.d=+a[0],r+a[0].length):-1}function parseDayOfYear(e,t,r){var a=numberRe.exec(t.slice(r,r+3));return a?(e.m=0,e.d=+a[0],r+a[0].length):-1}function parseHour24(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.H=+a[0],r+a[0].length):-1}function parseMinutes(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.M=+a[0],r+a[0].length):-1}function parseSeconds(e,t,r){var a=numberRe.exec(t.slice(r,r+2));return a?(e.S=+a[0],r+a[0].length):-1}function parseMilliseconds(e,t,r){var a=numberRe.exec(t.slice(r,r+3));return a?(e.L=+a[0],r+a[0].length):-1}function parseMicroseconds(e,t,r){var a=numberRe.exec(t.slice(r,r+6));return a?(e.L=Math.floor(a[0]/1e3),r+a[0].length):-1}function parseLiteralPercent(e,t,r){var a=percentRe.exec(t.slice(r,r+1));return a?r+a[0].length:-1}function parseUnixTimestamp(e,t,r){var a=numberRe.exec(t.slice(r));return a?(e.Q=+a[0],r+a[0].length):-1}function parseUnixTimestampSeconds(e,t,r){var a=numberRe.exec(t.slice(r));return a?(e.Q=1e3*+a[0],r+a[0].length):-1}function formatDayOfMonth(e,t){return pad(e.getDate(),t,2)}function formatHour24(e,t){return pad(e.getHours(),t,2)}function formatHour12(e,t){return pad(e.getHours()%12||12,t,2)}function formatDayOfYear(e,t){return pad(1+day.count(year(e),e),t,3)}function formatMilliseconds(e,t){return pad(e.getMilliseconds(),t,3)}function formatMicroseconds(e,t){return formatMilliseconds(e,t)+"000"}function formatMonthNumber(e,t){return pad(e.getMonth()+1,t,2)}function formatMinutes(e,t){return pad(e.getMinutes(),t,2)}function formatSeconds(e,t){return pad(e.getSeconds(),t,2)}function formatWeekdayNumberMonday(e){var t=e.getDay();return 0===t?7:t}function formatWeekNumberSunday(e,t){return pad(sunday.count(year(e),e),t,2)}function formatWeekNumberISO(e,t){var r=e.getDay();return e=r>=4||0===r?thursday(e):thursday.ceil(e),pad(thursday.count(year(e),e)+(4===year(e).getDay()),t,2)}function formatWeekdayNumberSunday(e){return e.getDay()}function formatWeekNumberMonday(e,t){return pad(monday.count(year(e),e),t,2)}function formatYear(e,t){return pad(e.getFullYear()%100,t,2)}function formatFullYear(e,t){return pad(e.getFullYear()%1e4,t,4)}function formatZone(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+pad(t/60|0,"0",2)+pad(t%60,"0",2)}function formatUTCDayOfMonth(e,t){return pad(e.getUTCDate(),t,2)}function formatUTCHour24(e,t){return pad(e.getUTCHours(),t,2)}function formatUTCHour12(e,t){return pad(e.getUTCHours()%12||12,t,2)}function formatUTCDayOfYear(e,t){return pad(1+utcDay.count(utcYear(e),e),t,3)}function formatUTCMilliseconds(e,t){return pad(e.getUTCMilliseconds(),t,3)}function formatUTCMicroseconds(e,t){return formatUTCMilliseconds(e,t)+"000"}function formatUTCMonthNumber(e,t){return pad(e.getUTCMonth()+1,t,2)}function formatUTCMinutes(e,t){return pad(e.getUTCMinutes(),t,2)}function formatUTCSeconds(e,t){return pad(e.getUTCSeconds(),t,2)}function formatUTCWeekdayNumberMonday(e){var t=e.getUTCDay();return 0===t?7:t}function formatUTCWeekNumberSunday(e,t){return pad(utcSunday.count(utcYear(e),e),t,2)}function formatUTCWeekNumberISO(e,t){var r=e.getUTCDay();return e=r>=4||0===r?utcThursday(e):utcThursday.ceil(e),pad(utcThursday.count(utcYear(e),e)+(4===utcYear(e).getUTCDay()),t,2)}function formatUTCWeekdayNumberSunday(e){return e.getUTCDay()}function formatUTCWeekNumberMonday(e,t){return pad(utcMonday.count(utcYear(e),e),t,2)}function formatUTCYear(e,t){return pad(e.getUTCFullYear()%100,t,2)}function formatUTCFullYear(e,t){return pad(e.getUTCFullYear()%1e4,t,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(e){return+e}function formatUnixTimestampSeconds(e){return Math.floor(+e/1e3)}function defaultLocale(e){return locale$1=formatLocale(e),timeFormat=locale$1.format,locale$1.parse,utcFormat=locale$1.utcFormat,utcParse=locale$1.utcParse,locale$1}defaultLocale({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(e){return e.toISOString()}function parseIsoNative(e){var t=new Date(e);return isNaN(t)?null:t}Date.prototype.toISOString||utcFormat(isoSpecifier),+new Date("2000-01-01T00:00:00.000Z")||utcParse(isoSpecifier);var durationSecond=1e3,durationMinute=60*durationSecond,durationHour=60*durationMinute,durationDay=24*durationHour,durationWeek=7*durationDay,durationMonth=30*durationDay,durationYear=365*durationDay;function date(e){return new Date(e)}function number(e){return e instanceof Date?+e:+new Date(+e)}function calendar(e,t,r,a,n,i,o,l,s){var c=continuous(deinterpolateLinear,reinterpolate$1),u=c.invert,f=c.domain,A=s(".%L"),d=s(":%S"),p=s("%I:%M"),h=s("%I %p"),b=s("%a %d"),g=s("%b %d"),m=s("%B"),v=s("%Y"),y=[[o,1,durationSecond],[o,5,5*durationSecond],[o,15,15*durationSecond],[o,30,30*durationSecond],[i,1,durationMinute],[i,5,5*durationMinute],[i,15,15*durationMinute],[i,30,30*durationMinute],[n,1,durationHour],[n,3,3*durationHour],[n,6,6*durationHour],[n,12,12*durationHour],[a,1,durationDay],[a,2,2*durationDay],[r,1,durationWeek],[t,1,durationMonth],[t,3,3*durationMonth],[e,1,durationYear]];function w(l){return(o(l)13||Number(major)>13,isReactDOMSupported=function(){return versionHigherThanThirteen},getDOMNode=function(e){return isReactDOMSupported()?e:e&&e.getDOMNode()},USED_MESSAGES={},HIDDEN_PROCESSES={test:!0,production:!0};function warning$1(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];global.process&&HIDDEN_PROCESSES.production||t&&USED_MESSAGES[e]||(console.warn(e),USED_MESSAGES[e]=!0)}function getUniquePropertyValues(e,t){var r=new Set(e.map(t));return Array.from(r)}function addValueToArray(e,t){var r=[].concat(e);return r[0]>t&&(r[0]=t),r[r.length-1]l-e.padding()*e.step())return e.domain()[e.domain().length-1];var s=Math.floor((t-o-e.padding()*e.step())/e.step());return e.domain()[s]})}function getScaleFnFromScaleObject(e){if(!e)return null;var t=e.type,r=e.domain,a=e.range,n=r[0]===r[1]?0===r[0]?[-1,0]:[-r[0],r[0]]:r;if(t===LITERAL_SCALE_TYPE)return literalScale(a[0]);var i=SCALE_FUNCTIONS[t]().domain(n).range(a);return t===ORDINAL_SCALE_TYPE&&(i.padding(.5),addInvertFunctionToOrdinalScaleObject(i)),i}function getDomainByAccessor(e,t,r,a){var n=e.reduce((function(e,a){var n=t(a),i=r(a);return _isDefined(n)&&e.push(n),_isDefined(i)&&e.push(i),e}),[]);return n.length?a!==ORDINAL_SCALE_TYPE&&a!==CATEGORY_SCALE_TYPE?extent(n):set(n).values():[]}function _createScaleObjectForValue(e,t,r,a,n){return r===LITERAL_SCALE_TYPE?{type:LITERAL_SCALE_TYPE,domain:[],range:[t],distance:0,attr:e,baseValue:void 0,isValue:!0,accessor:a,accessor0:n}:void 0===t?null:{type:CATEGORY_SCALE_TYPE,range:[t],domain:[],distance:0,attr:e,baseValue:void 0,isValue:!0,accessor:a,accessor0:n}}function _createScaleObjectForFunction(e){return{domain:e.domain,range:e.range,type:e.type,distance:e.distance,attr:e.attr,baseValue:e.baseValue,isValue:!1,accessor:e.accessor,accessor0:e.accessor0}}function _collectScaleObjectFromProps(e,t){var r=e[t],a=e["_"+t+"Value"],n=e[t+"Range"],i=e[t+"Distance"],o=void 0===i?0:i,l=e[t+"BaseValue"],s=e[t+"Type"],c=void 0===s?LINEAR_SCALE_TYPE:s,u=e[t+"NoFallBack"],f=e["get"+toTitleCase(t)],A=void 0===f?function(e){return e[t]}:f,d=e["get"+toTitleCase(t)+"0"],p=void 0===d?function(e){return e[t+"0"]}:d,h=e[t+"Domain"];return u||void 0===r?(void 0!==l&&(h=addValueToArray(h,l)),n&&h&&h.length?_createScaleObjectForFunction({domain:h,range:n,type:c,distance:o,attr:t,baseValue:l,accessor:A,accessor0:p}):_createScaleObjectForValue(t,a,e[t+"Type"],A,p)):_createScaleObjectForValue(t,r,e[t+"Type"],A,p)}function _computeLeftDomainAdjustment(e){return e.length>1?(e[1]-e[0])/2:1===e.length?e[0]-.5:0}function _computeRightDomainAdjustment(e){return e.length>1?(e[e.length-1]-e[e.length-2])/2:1===e.length?e[0]-.5:0}function _computeScaleDistance(e,t,r,a){if(e.length>1){var n=Math.max(r,1);return Math.abs(a(e[n])-a(e[n-1]))}return 1===e.length?Math.abs(a(t[1])-a(t[0])):0}function _normalizeValues(e,t,r,a){return a===TIME_SCALE_TYPE&&1===t.length?[r(e[0])].concat(_toConsumableArray$3(t)):t}function _getScaleDistanceAndAdjustedDomain(e,t){var r=t.domain,a=t.type,n=t.accessor,i=t.accessor0,o=_normalizeValues(e,getUniquePropertyValues(e,n),i,a),l=_getSmallestDistanceIndex(o,t),s=[].concat(r);s[0]-=_computeLeftDomainAdjustment(o),s[r.length-1]+=_computeRightDomainAdjustment(o),a===LOG_SCALE_TYPE&&r[0]<=0&&(s[0]=Math.min(r[1]/10,1));var c=_computeScaleDistance(o,s,l,getScaleFnFromScaleObject(_extends$17({},t,{domain:s})));return{domain0:s[0],domainN:s[s.length-1],distance:c}}function _isScaleAdjustmentPossible(e,t){var r=t.attr,a=e._adjustBy,n=void 0===a?[]:a,i=e._adjustWhat;return(void 0===i?[]:i).length&&n.length&&-1!==n.indexOf(r)}function _adjustContinuousScale(e,t){var r=e._allData,a=e._adjustWhat,n=void 0===a?[]:a,i=t.domain.length,o=t.domain,l=o[0],s=o[i-1],c=t.distance;return r.forEach((function(e,r){if(-1!==n.indexOf(r)&&e&&e.length){var a=_getScaleDistanceAndAdjustedDomain(e,t),i=a.domain0,o=a.domainN,u=a.distance;l=Math.min(l,i),s=Math.max(s,o),c=Math.max(c,u)}})),t.domain=[l].concat(_toConsumableArray$3(o.slice(1,-1)),[s]),t.distance=c,t}function _adjustCategoricalScale(e){var t=getScaleFnFromScaleObject(e),r=e.domain,a=e.range;return r.length>1?e.distance=Math.abs(t(r[1])-t(r[0])):e.distance=Math.abs(a[1]-a[0]),e}function getScaleObjectFromProps(e,t){var r=_collectScaleObjectFromProps(e,t);if(!r)return null;if(!_isScaleAdjustmentPossible(e,r))return r;var a=r.type;return a===ORDINAL_SCALE_TYPE||a===CATEGORY_SCALE_TYPE?_adjustCategoricalScale(r):_adjustContinuousScale(e,r)}function getAttributeScale(e,t){return getScaleFnFromScaleObject(getScaleObjectFromProps(e,t))}function _getAttrValue(e,t){return t(e.data?e.data:e)}function _isDefined(e){return void 0!==e}function _padDomain(e,t){if(!e)return e;if(isNaN(parseFloat(e[0]))||isNaN(parseFloat(e[1])))return e;var r=_slicedToArray$2(e,2),a=r[0],n=r[1],i=.01*t*(n-a);return[a-i,n+i]}function getAttributeFunctor(e,t){var r=getScaleObjectFromProps(e,t);if(r){var a=getScaleFnFromScaleObject(r);return function(e){return a(_getAttrValue(e,r.accessor))}}return null}function getAttr0Functor(e,t){var r=getScaleObjectFromProps(e,t);if(r){var a=r.domain,n=r.baseValue,i=void 0===n?a[0]:n,o=getScaleFnFromScaleObject(r);return function(e){var t=_getAttrValue(e,r.accessor0);return o(_isDefined(t)?t:i)}}return null}function getAttributeValue(e,t){var r=getScaleObjectFromProps(e,t);return r?(r.isValue||void 0!==e["_"+t+"Value"]||warning$1("[React-vis] Cannot use data defined "+t+" for this series type. Using fallback value instead."),e["_"+t+"Value"]||r.range[0]):null}function getScalePropTypesByAttribute(e){var t;return _defineProperty$h(t={},"_"+e+"Value",propTypesExports.any),_defineProperty$h(t,e+"Domain",propTypesExports.array),_defineProperty$h(t,"get"+toTitleCase(e),propTypesExports.func),_defineProperty$h(t,"get"+toTitleCase(e)+"0",propTypesExports.func),_defineProperty$h(t,e+"Range",propTypesExports.array),_defineProperty$h(t,e+"Type",propTypesExports.oneOf(Object.keys(SCALE_FUNCTIONS))),_defineProperty$h(t,e+"Distance",propTypesExports.number),_defineProperty$h(t,e+"BaseValue",propTypesExports.any),t}function extractScalePropsFromProps(e,t){var r={};return Object.keys(e).forEach((function(a){var n=t.find((function(e){var t=0===a.indexOf(e),r=0===a.indexOf("_"+e),n=0===a.indexOf("get"+toTitleCase(e));return t||r||n}));n&&(r[a]=e[a])})),r}function getMissingScaleProps(e,t,r){var a={};return r.forEach((function(r){e["get"+toTitleCase(r)]||(a["get"+toTitleCase(r)]=function(e){return e[r]}),e["get"+toTitleCase(r)+"0"]||(a["get"+toTitleCase(r)+"0"]=function(e){return e[r+"0"]}),e[r+"Domain"]||(a[r+"Domain"]=getDomainByAccessor(t,e["get"+toTitleCase(r)]||a["get"+toTitleCase(r)],e["get"+toTitleCase(r)+"0"]||a["get"+toTitleCase(r)+"0"],e[r+"Type"]),e[r+"Padding"]&&(a[r+"Domain"]=_padDomain(a[r+"Domain"],e[r+"Padding"])))})),a}function literalScale(e){function t(t){return void 0===t?e:t}function r(){return t}return t.domain=r,t.range=r,t.unknown=r,t.copy=r,t}function getFontColorFromBackground(e){return e?hsl(e).l>.57?"#222":"#fff":null}function getXYPlotValues(e,t){var r=XYPLOT_ATTR.reduce((function(t,r){var a=e[r+"Domain"],n=e[r+"Range"],i=e[r+"Type"];return a&&n&&i?_extends$17({},t,_defineProperty$h({},r,SCALE_FUNCTIONS[i]().domain(a).range(n))):t}),{});return t.map((function(e){return XYPLOT_ATTR.reduce((function(t,a){if(e.props&&void 0!==e.props[a]){var n=e.props[a],i=r[a],o=i?i(n):n;return _extends$17({},t,_defineProperty$h({},"_"+a+"Value",o))}return t}),{})}))}var OPTIONAL_SCALE_PROPS=["Padding"],OPTIONAL_SCALE_PROPS_REGS=OPTIONAL_SCALE_PROPS.map((function(e){return new RegExp(e+"$","i")}));function getOptionalScaleProps(e){return Object.keys(e).reduce((function(t,r){return OPTIONAL_SCALE_PROPS_REGS.every((function(e){return!r.match(e)}))||(t[r]=e[r]),t}),{})}var _createClass$P=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:[];return!!e&&e.some((function(e){return e.radius&&e.angle}))}function prepareData(e){return seriesHasAngleRadius(e)?e.map((function(e){return _extends$15({},e,{x:e.radius*Math.cos(e.angle),y:e.radius*Math.sin(e.angle)})})):e}function getStackedData(e,t){var r=e.some((function(e){return e&&e.props.stack})),a={};return e.reduce((function(e,n,i){if(!n)return e.push(null),e;var o=n.type.displayName,l=n.props,s=l.data,c=l.cluster,u=void 0===c?"default":c,f=l.stack,A=prepareData(s);if(!t||!A||!A.length||r&&!f)return e.push(A),e;var d=t+"0",p="y"===t?"x":"y";return e.push(A.map((function(e,r){var n,i;a[u]||(a[u]={}),a[u][o]||(a[u][o]={});var l,s=a[u][o][e[p]];if(!s)return a[u][o][e[p]]=(_defineProperty$g(l={},d,e[d]),_defineProperty$g(l,t,e[t]),l),_extends$15({},e);var c=_extends$15({},e,(_defineProperty$g(n={},d,s[t]),_defineProperty$g(n,t,s[t]+e[t]-(e[d]||0)),n));return a[u][o][e[p]]=(_defineProperty$g(i={},d,c[d]),_defineProperty$g(i,t,c[t]),i),c}))),e}),[])}function getSeriesPropsFromChildren(e){var t=[],r=collectSeriesTypesInfo(e),a=0,n=DEFAULT_OPACITY;return e.forEach((function(e){var i=void 0;if(isSeriesChild(e)){var o=r[e.type.displayName],l=DISCRETE_COLOR_RANGE[a%DISCRETE_COLOR_RANGE.length];i=_extends$15({},o,{seriesIndex:a,_colorValue:l,_opacityValue:n}),o.sameTypeIndex++,a++,e.props.cluster&&(i.cluster=e.props.cluster,i.clusters=Array.from(o.clusters),i.sameTypeTotal=i.clusters.length,i.sameTypeIndex=i.clusters.indexOf(e.props.cluster))}t.push(i)})),t}var ANIMATED_SERIES_PROPS=["xRange","xDomain","x","yRange","yDomain","y","colorRange","colorDomain","color","opacityRange","opacityDomain","opacity","strokeRange","strokeDomain","stroke","fillRange","fillDomain","fill","width","height","marginLeft","marginTop","marginRight","marginBottom","data","angleDomain","angleRange","angle","radiusDomain","radiusRange","radius","innerRadiusDomain","innerRadiusRange","innerRadius"];function getStackParams(e){var t=e._stackBy,r=e.valuePosAttr,a=e.cluster,n=e.sameTypeTotal,i=void 0===n?1:n,o=e.sameTypeIndex,l=void 0===o?0:o;return t!==r||a||(i=1,l=0),{sameTypeTotal:i,sameTypeIndex:l}}var pi$2=Math.PI,tau$2=2*pi$2,epsilon$1=1e-6,tauEpsilon=tau$2-epsilon$1;function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function path(){return new Path}function constant$2(e){return function(){return e}}Path.prototype=path.prototype={constructor:Path,moveTo:function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},quadraticCurveTo:function(e,t,r,a){this._+="Q"+ +e+","+ +t+","+(this._x1=+r)+","+(this._y1=+a)},bezierCurveTo:function(e,t,r,a,n,i){this._+="C"+ +e+","+ +t+","+ +r+","+ +a+","+(this._x1=+n)+","+(this._y1=+i)},arcTo:function(e,t,r,a,n){e=+e,t=+t,r=+r,a=+a,n=+n;var i=this._x1,o=this._y1,l=r-e,s=a-t,c=i-e,u=o-t,f=c*c+u*u;if(n<0)throw new Error("negative radius: "+n);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(f>epsilon$1)if(Math.abs(u*l-s*c)>epsilon$1&&n){var A=r-i,d=a-o,p=l*l+s*s,h=A*A+d*d,b=Math.sqrt(p),g=Math.sqrt(f),m=n*Math.tan((pi$2-Math.acos((p+f-h)/(2*b*g)))/2),v=m/g,y=m/b;Math.abs(v-1)>epsilon$1&&(this._+="L"+(e+v*c)+","+(t+v*u)),this._+="A"+n+","+n+",0,0,"+ +(u*A>c*d)+","+(this._x1=e+y*l)+","+(this._y1=t+y*s)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,r,a,n,i){e=+e,t=+t;var o=(r=+r)*Math.cos(a),l=r*Math.sin(a),s=e+o,c=t+l,u=1^i,f=i?a-n:n-a;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+s+","+c:(Math.abs(this._x1-s)>epsilon$1||Math.abs(this._y1-c)>epsilon$1)&&(this._+="L"+s+","+c),r&&(f<0&&(f=f%tau$2+tau$2),f>tauEpsilon?this._+="A"+r+","+r+",0,1,"+u+","+(e-o)+","+(t-l)+"A"+r+","+r+",0,1,"+u+","+(this._x1=s)+","+(this._y1=c):f>epsilon$1&&(this._+="A"+r+","+r+",0,"+ +(f>=pi$2)+","+u+","+(this._x1=e+r*Math.cos(n))+","+(this._y1=t+r*Math.sin(n))))},rect:function(e,t,r,a){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +r+"v"+ +a+"h"+-r+"Z"},toString:function(){return this._}};var abs$2=Math.abs,atan2=Math.atan2,cos=Math.cos,max$1=Math.max,min=Math.min,sin=Math.sin,sqrt$1=Math.sqrt,epsilon=1e-12,pi$1=Math.PI,halfPi=pi$1/2,tau$1=2*pi$1;function acos(e){return e>1?0:e<-1?pi$1:Math.acos(e)}function asin(e){return e>=1?halfPi:e<=-1?-halfPi:Math.asin(e)}function arcInnerRadius(e){return e.innerRadius}function arcOuterRadius(e){return e.outerRadius}function arcStartAngle(e){return e.startAngle}function arcEndAngle(e){return e.endAngle}function arcPadAngle(e){return e&&e.padAngle}function intersect(e,t,r,a,n,i,o,l){var s=r-e,c=a-t,u=o-n,f=l-i,A=f*s-u*c;if(!(A*AS*S+I*I&&(E=C,_=$),{cx:E,cy:_,x01:-u,y01:-f,x11:E*(n/w-1),y11:_*(n/w-1)}}function arcBuilder(){var e=arcInnerRadius,t=arcOuterRadius,r=constant$2(0),a=null,n=arcStartAngle,i=arcEndAngle,o=arcPadAngle,l=null;function s(){var s,c,u=+e.apply(this,arguments),f=+t.apply(this,arguments),A=n.apply(this,arguments)-halfPi,d=i.apply(this,arguments)-halfPi,p=abs$2(d-A),h=d>A;if(l||(l=s=path()),fepsilon)if(p>tau$1-epsilon)l.moveTo(f*cos(A),f*sin(A)),l.arc(0,0,f,A,d,!h),u>epsilon&&(l.moveTo(u*cos(d),u*sin(d)),l.arc(0,0,u,d,A,h));else{var b,g,m=A,v=d,y=A,w=d,k=p,x=p,E=o.apply(this,arguments)/2,_=E>epsilon&&(a?+a.apply(this,arguments):sqrt$1(u*u+f*f)),C=min(abs$2(f-u)/2,+r.apply(this,arguments)),$=C,T=C;if(_>epsilon){var O=asin(_/u*sin(E)),S=asin(_/f*sin(E));(k-=2*O)>epsilon?(y+=O*=h?1:-1,w-=O):(k=0,y=w=(A+d)/2),(x-=2*S)>epsilon?(m+=S*=h?1:-1,v-=S):(x=0,m=v=(A+d)/2)}var I=f*cos(m),M=f*sin(m),B=u*cos(w),R=u*sin(w);if(C>epsilon){var P,L=f*cos(v),D=f*sin(v),z=u*cos(y),F=u*sin(y);if(pepsilon?T>epsilon?(b=cornerTangents(z,F,I,M,f,T,h),g=cornerTangents(L,D,B,R,f,T,h),l.moveTo(b.cx+b.x01,b.cy+b.y01),Tepsilon&&k>epsilon?$>epsilon?(b=cornerTangents(B,R,L,D,u,-$,h),g=cornerTangents(I,M,z,F,u,-$,h),l.lineTo(b.cx+b.x01,b.cy+b.y01),$=u;--f)l.point(b[f],g[f]);l.lineEnd(),l.areaEnd()}h&&(b[c]=+e(A,c,s),g[c]=+r(A,c,s),l.point(t?+t(A,c,s):b[c],a?+a(A,c,s):g[c]))}if(d)return l=null,d+""||null}function c(){return line().defined(n).curve(o).context(i)}return s.x=function(r){return arguments.length?(e="function"==typeof r?r:constant$2(+r),t=null,s):e},s.x0=function(t){return arguments.length?(e="function"==typeof t?t:constant$2(+t),s):e},s.x1=function(e){return arguments.length?(t=null==e?null:"function"==typeof e?e:constant$2(+e),s):t},s.y=function(e){return arguments.length?(r="function"==typeof e?e:constant$2(+e),a=null,s):r},s.y0=function(e){return arguments.length?(r="function"==typeof e?e:constant$2(+e),s):r},s.y1=function(e){return arguments.length?(a=null==e?null:"function"==typeof e?e:constant$2(+e),s):a},s.lineX0=s.lineY0=function(){return c().x(e).y(r)},s.lineY1=function(){return c().x(e).y(a)},s.lineX1=function(){return c().x(t).y(r)},s.defined=function(e){return arguments.length?(n="function"==typeof e?e:constant$2(!!e),s):n},s.curve=function(e){return arguments.length?(o=e,null!=i&&(l=o(i)),s):o},s.context=function(e){return arguments.length?(null==e?i=l=null:l=o(i=e),s):i},s}function descending$1(e,t){return te?1:t>=e?0:NaN}function identity$2(e){return e}function pieBuilder(){var e=identity$2,t=descending$1,r=null,a=constant$2(0),n=constant$2(tau$1),i=constant$2(0);function o(o){var l,s,c,u,f,A=o.length,d=0,p=new Array(A),h=new Array(A),b=+a.apply(this,arguments),g=Math.min(tau$1,Math.max(-tau$1,n.apply(this,arguments)-b)),m=Math.min(Math.abs(g)/A,i.apply(this,arguments)),v=m*(g<0?-1:1);for(l=0;l0&&(d+=f);for(null!=t?p.sort((function(e,r){return t(h[e],h[r])})):null!=r&&p.sort((function(e,t){return r(o[e],o[t])})),l=0,c=d?(g-A*v)/d:0;l0?f*c:0)+v,h[s]={data:o[s],index:l,value:f,startAngle:b,endAngle:u,padAngle:m};return h}return o.value=function(t){return arguments.length?(e="function"==typeof t?t:constant$2(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,r=null,o):t},o.sort=function(e){return arguments.length?(r=e,t=null,o):r},o.startAngle=function(e){return arguments.length?(a="function"==typeof e?e:constant$2(+e),o):a},o.endAngle=function(e){return arguments.length?(n="function"==typeof e?e:constant$2(+e),o):n},o.padAngle=function(e){return arguments.length?(i="function"==typeof e?e:constant$2(+e),o):i},o}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var curveRadialLinear=curveRadial$1(curveLinear);function Radial(e){this._curve=e}function curveRadial$1(e){function t(t){return new Radial(e(t))}return t._curve=e,t}function lineRadial(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(curveRadial$1(e)):t()._curve},e}function lineRadial$1(){return lineRadial(line().curve(curveRadialLinear))}function areaRadial(){var e=area$1().curve(curveRadialLinear),t=e.curve,r=e.lineX0,a=e.lineX1,n=e.lineY0,i=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return lineRadial(r())},delete e.lineX0,e.lineEndAngle=function(){return lineRadial(a())},delete e.lineX1,e.lineInnerRadius=function(){return lineRadial(n())},delete e.lineY0,e.lineOuterRadius=function(){return lineRadial(i())},delete e.lineY1,e.curve=function(e){return arguments.length?t(curveRadial$1(e)):t()._curve},e}function pointRadial(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};var slice$2=Array.prototype.slice;function linkSource(e){return e.source}function linkTarget(e){return e.target}function link(e){var t=linkSource,r=linkTarget,a=x,n=y,i=null;function o(){var o,l=slice$2.call(arguments),s=t.apply(this,l),c=r.apply(this,l);if(i||(i=o=path()),e(i,+a.apply(this,(l[0]=s,l)),+n.apply(this,l),+a.apply(this,(l[0]=c,l)),+n.apply(this,l)),o)return i=null,o+""||null}return o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(e){return arguments.length?(r=e,o):r},o.x=function(e){return arguments.length?(a="function"==typeof e?e:constant$2(+e),o):a},o.y=function(e){return arguments.length?(n="function"==typeof e?e:constant$2(+e),o):n},o.context=function(e){return arguments.length?(i=null==e?null:e,o):i},o}function curveHorizontal(e,t,r,a,n){e.moveTo(t,r),e.bezierCurveTo(t=(t+a)/2,r,t,n,a,n)}function curveVertical(e,t,r,a,n){e.moveTo(t,r),e.bezierCurveTo(t,r=(r+n)/2,a,r,a,n)}function curveRadial(e,t,r,a,n){var i=pointRadial(t,r),o=pointRadial(t,r=(r+n)/2),l=pointRadial(a,r),s=pointRadial(a,n);e.moveTo(i[0],i[1]),e.bezierCurveTo(o[0],o[1],l[0],l[1],s[0],s[1])}function linkHorizontal(){return link(curveHorizontal)}function linkVertical(){return link(curveVertical)}function linkRadial(){var e=link(curveRadial);return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e}const circle$1={draw:function(e,t){var r=Math.sqrt(t/pi$1);e.moveTo(r,0),e.arc(0,0,r,0,tau$1)}},cross={draw:function(e,t){var r=Math.sqrt(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var tan30=Math.sqrt(1/3),tan30_2=2*tan30;const diamond={draw:function(e,t){var r=Math.sqrt(t/tan30_2),a=r*tan30;e.moveTo(0,-r),e.lineTo(a,0),e.lineTo(0,r),e.lineTo(-a,0),e.closePath()}};var ka=.8908130915292852,kr=Math.sin(pi$1/10)/Math.sin(7*pi$1/10),kx=Math.sin(tau$1/10)*kr,ky=-Math.cos(tau$1/10)*kr;const star={draw:function(e,t){var r=Math.sqrt(t*ka),a=kx*r,n=ky*r;e.moveTo(0,-r),e.lineTo(a,n);for(var i=1;i<5;++i){var o=tau$1*i/5,l=Math.cos(o),s=Math.sin(o);e.lineTo(s*r,-l*r),e.lineTo(l*a-s*n,s*a+l*n)}e.closePath()}},square={draw:function(e,t){var r=Math.sqrt(t),a=-r/2;e.rect(a,a,r,r)}};var sqrt3=Math.sqrt(3);const triangle={draw:function(e,t){var r=-Math.sqrt(t/(3*sqrt3));e.moveTo(0,2*r),e.lineTo(-sqrt3*r,-r),e.lineTo(sqrt3*r,-r),e.closePath()}};var c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=3*(k/2+1);const wye={draw:function(e,t){var r=Math.sqrt(t/a),n=r/2,i=r*k,o=n,l=r*k+r,u=-o,f=l;e.moveTo(n,i),e.lineTo(o,l),e.lineTo(u,f),e.lineTo(c*n-s*i,s*n+c*i),e.lineTo(c*o-s*l,s*o+c*l),e.lineTo(c*u-s*f,s*u+c*f),e.lineTo(c*n+s*i,c*i-s*n),e.lineTo(c*o+s*l,c*l-s*o),e.lineTo(c*u+s*f,c*f-s*u),e.closePath()}};var symbols=[circle$1,cross,diamond,square,star,triangle,wye];function symbol(){var e=constant$2(circle$1),t=constant$2(64),r=null;function a(){var a;if(r||(r=a=path()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),a)return r=null,a+""||null}return a.type=function(t){return arguments.length?(e="function"==typeof t?t:constant$2(t),a):e},a.size=function(e){return arguments.length?(t="function"==typeof e?e:constant$2(+e),a):t},a.context=function(e){return arguments.length?(r=null==e?null:e,a):r},a}function noop$3(){}function point$3(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function Basis(e){this._context=e}function basis(e){return new Basis(e)}function BasisClosed(e){this._context=e}function basisClosed(e){return new BasisClosed(e)}function BasisOpen(e){this._context=e}function basisOpen(e){return new BasisOpen(e)}function Bundle(e,t){this._basis=new Basis(e),this._beta=t}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point$3(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point$3(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},BasisClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:point$3(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,a=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,a):this._context.moveTo(r,a);break;case 3:this._point=4;default:point$3(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,r=e.length-1;if(r>0)for(var a,n=e[0],i=t[0],o=e[r]-n,l=t[r]-i,s=-1;++s<=r;)a=s/r,this._basis.point(this._beta*e[s]+(1-this._beta)*(n+a*o),this._beta*t[s]+(1-this._beta)*(i+a*l));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const bundle=function e(t){function r(e){return 1===t?new Basis(e):new Bundle(e,t)}return r.beta=function(t){return e(+t)},r}(.85);function point$2(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function Cardinal(e,t){this._context=e,this._k=(1-t)/6}Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$2(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:point$2(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const cardinal=function e(t){function r(e){return new Cardinal(e,t)}return r.tension=function(t){return e(+t)},r}(0);function CardinalClosed(e,t){this._context=e,this._k=(1-t)/6}CardinalClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:point$2(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const cardinalClosed=function e(t){function r(e){return new CardinalClosed(e,t)}return r.tension=function(t){return e(+t)},r}(0);function CardinalOpen(e,t){this._context=e,this._k=(1-t)/6}CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const cardinalOpen=function e(t){function r(e){return new CardinalOpen(e,t)}return r.tension=function(t){return e(+t)},r}(0);function point$1(e,t,r){var a=e._x1,n=e._y1,i=e._x2,o=e._y2;if(e._l01_a>epsilon){var l=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,s=3*e._l01_a*(e._l01_a+e._l12_a);a=(a*l-e._x0*e._l12_2a+e._x2*e._l01_2a)/s,n=(n*l-e._y0*e._l12_2a+e._y2*e._l01_2a)/s}if(e._l23_a>epsilon){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);i=(i*c+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*c+e._y1*e._l23_2a-r*e._l12_2a)/u}e._context.bezierCurveTo(a,n,i,o,e._x2,e._y2)}function CatmullRom(e,t){this._context=e,this._alpha=t}CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,a=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:point$1(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const catmullRom=function e(t){function r(e){return t?new CatmullRom(e,t):new Cardinal(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function CatmullRomClosed(e,t){this._context=e,this._alpha=t}CatmullRomClosed.prototype={areaStart:noop$3,areaEnd:noop$3,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,a=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:point$1(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const catmullRomClosed=function e(t){function r(e){return t?new CatmullRomClosed(e,t):new CardinalClosed(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function CatmullRomOpen(e,t){this._context=e,this._alpha=t}CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,a=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+a*a,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const catmullRomOpen=function e(t){function r(e){return t?new CatmullRomOpen(e,t):new CardinalOpen(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function LinearClosed(e){this._context=e}function linearClosed(e){return new LinearClosed(e)}function sign(e){return e<0?-1:1}function slope3(e,t,r){var a=e._x1-e._x0,n=t-e._x1,i=(e._y1-e._y0)/(a||n<0&&-0),o=(r-e._y1)/(n||a<0&&-0),l=(i*n+o*a)/(a+n);return(sign(i)+sign(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(l))||0}function slope2(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function point(e,t,r){var a=e._x0,n=e._y0,i=e._x1,o=e._y1,l=(i-a)/3;e._context.bezierCurveTo(a+l,n+l*t,i-l,o-l*r,i,o)}function MonotoneX(e){this._context=e}function MonotoneY(e){this._context=new ReflectContext(e)}function ReflectContext(e){this._context=e}function monotoneX(e){return new MonotoneX(e)}function monotoneY(e){return new MonotoneY(e)}function Natural(e){this._context=e}function controlPoints(e){var t,r,a=e.length-1,n=new Array(a),i=new Array(a),o=new Array(a);for(n[0]=0,i[0]=2,o[0]=e[0]+2*e[1],t=1;t=0;--t)n[t]=(o[t]-n[t+1])/i[t];for(i[a-1]=(e[a]+n[a-1])/2,t=0;t1)for(var r,a,n,i=1,o=e[t[0]],l=o.length;i=0;)r[t]=t;return r}function stackValue(e,t){return e[t]}function stack(){var e=constant$2([]),t=none,r=none$1,a=stackValue;function n(n){var i,o,l=e.apply(this,arguments),s=n.length,c=l.length,u=new Array(c);for(i=0;i0){for(var r,a,n,i=0,o=e[0].length;i1)for(var r,a,n,i,o,l,s=0,c=e[t[0]].length;s=0?(a[0]=i,a[1]=i+=n):n<0?(a[1]=o,a[0]=o+=n):a[0]=i}function silhouette(e,t){if((r=e.length)>0){for(var r,a=0,n=e[t[0]],i=n.length;a0&&(a=(r=e[t[0]]).length)>0){for(var r,a,n,i=0,o=1;oi&&(i=t,a=r);return a}function ascending$1(e){var t=e.map(sum);return none(e).sort((function(e,r){return t[e]-t[r]}))}function sum(e){for(var t,r=0,a=-1,n=e.length;++a=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}}this._x=e,this._y=t}};const d3Shape=Object.freeze(Object.defineProperty({__proto__:null,arc:arcBuilder,area:area$1,areaRadial:areaRadial,curveBasis:basis,curveBasisClosed:basisClosed,curveBasisOpen:basisOpen,curveBundle:bundle,curveCardinal:cardinal,curveCardinalClosed:cardinalClosed,curveCardinalOpen:cardinalOpen,curveCatmullRom:catmullRom,curveCatmullRomClosed:catmullRomClosed,curveCatmullRomOpen:catmullRomOpen,curveLinear:curveLinear,curveLinearClosed:linearClosed,curveMonotoneX:monotoneX,curveMonotoneY:monotoneY,curveNatural:natural,curveStep:step,curveStepAfter:stepAfter,curveStepBefore:stepBefore,line:line,lineRadial:lineRadial$1,linkHorizontal:linkHorizontal,linkRadial:linkRadial,linkVertical:linkVertical,pie:pieBuilder,pointRadial:pointRadial,radialArea:areaRadial,radialLine:lineRadial$1,stack:stack,stackOffsetDiverging:diverging,stackOffsetExpand:expand,stackOffsetNone:none$1,stackOffsetSilhouette:silhouette,stackOffsetWiggle:wiggle,stackOrderAppearance:appearance,stackOrderAscending:ascending$1,stackOrderDescending:descending,stackOrderInsideOut:insideOut,stackOrderNone:none,stackOrderReverse:reverse,symbol:symbol,symbolCircle:circle$1,symbolCross:cross,symbolDiamond:diamond,symbolSquare:square,symbolStar:star,symbolTriangle:triangle,symbolWye:wye,symbols:symbols},Symbol.toStringTag,{value:"Module"}));var _createClass$O=function(){function e(e,t){for(var r=0;r300?10:5:20}function getTickValues(e,t,r){return r||(e.ticks?e.ticks(t):e.domain())}function generateFit(e,t){if(e.x===t.x)return{left:e.y,right:t.y,slope:0,offset:e.x};var r=(e.y-t.y)/(e.x-t.x);return{left:e.x,right:t.x,slope:r,offset:e.y-r*e.x}}function generatePoints(e){var t=e.axisStart,r=e.axisEnd,a=e.numberOfTicks,n=e.axisDomain,i=generateFit(t,r),o=i.left,l=i.right,s=i.slope,c=i.offset,u=(l-o)/a,f=linear().domain([o,l]).range(n),A=t.x===r.x;return{slope:A?1/0:s,points:range(o,l+u,u).map((function(e){return A?{y:e,x:s*e+c,text:f(e)}:{x:e,y:s*e+c,text:f(e)}})).slice(0,a+1)}}function getAxisAngle(e,t){return e.x===t.x?t.y>e.y?Math.PI/2:3*Math.PI/2:Math.atan((t.y-e.y)/(t.x-e.x))}var _extends$12=Object.assign||function(e){for(var t=1;tu[1])?e:e.concat([React$k.createElement("circle",_extends$12({cx:0,cy:0,r:a},{key:r,className:"rv-xy-plot__circular-grid-lines__line",style:f}))])}),[]))}}]),t}(reactExports.PureComponent);CircularGridLines.displayName="CircularGridLines",CircularGridLines.propTypes={centerX:propTypesExports.number,centerY:propTypesExports.number,width:propTypesExports.number,height:propTypesExports.number,top:propTypesExports.number,left:propTypesExports.number,rRange:propTypesExports.arrayOf(propTypesExports.number),style:propTypesExports.object,tickValues:propTypesExports.arrayOf(propTypesExports.number),tickTotal:propTypesExports.number,animation:AnimationPropType,marginTop:propTypesExports.number,marginBottom:propTypesExports.number,marginLeft:propTypesExports.number,marginRight:propTypesExports.number,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number},CircularGridLines.defaultProps={centerX:0,centerY:0},CircularGridLines.requiresSVG=!0;var array=Array.prototype,slice$1=array.slice;function ascending(e,t){return e-t}function area(e){for(var t=0,r=e.length,a=e[r-1][1]*e[0][0]-e[r-1][0]*e[0][1];++ta!=d>a&&r<(A-c)*(a-u)/(d-u)+c&&(n=-n)}return n}function segmentContains(e,t,r){var a;return collinear(e,t,r)&&within(e[a=+(e[0]===t[0])],r[a],t[a])}function collinear(e,t,r){return(t[0]-e[0])*(r[1]-e[1])==(r[0]-e[0])*(t[1]-e[1])}function within(e,t,r){return e<=t&&t<=r||r<=t&&t<=e}function noop$2(){}var cases=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function contours(){var e=1,t=1,r=thresholdSturges,a=l;function n(e){var t=r(e);if(Array.isArray(t))t=t.slice().sort(ascending);else{var a=extent(e),n=a[0],o=a[1];t=tickStep(n,o,t),t=range(Math.floor(n/t)*t,Math.floor(o/t)*t,t)}return t.map((function(t){return i(e,t)}))}function i(r,n){var i=[],l=[];return function(r,a,n){var i,l,s,c,u,f,A=new Array,d=new Array;i=l=-1,c=r[0]>=a,cases[c<<1].forEach(p);for(;++i=a,cases[s|c<<1].forEach(p);cases[c<<0].forEach(p);for(;++l=a,u=r[l*e]>=a,cases[c<<1|u<<2].forEach(p);++i=a,f=u,u=r[l*e+i+1]>=a,cases[s|c<<1|u<<2|f<<3].forEach(p);cases[c|u<<3].forEach(p)}i=-1,u=r[l*e]>=a,cases[u<<2].forEach(p);for(;++i=a,cases[u<<2|f<<3].forEach(p);function p(e){var t,r,a=[e[0][0]+i,e[0][1]+l],s=[e[1][0]+i,e[1][1]+l],c=o(a),u=o(s);(t=d[c])?(r=A[u])?(delete d[t.end],delete A[r.start],t===r?(t.ring.push(s),n(t.ring)):A[t.start]=d[r.end]={start:t.start,end:r.end,ring:t.ring.concat(r.ring)}):(delete d[t.end],t.ring.push(s),d[t.end=u]=t):(t=A[u])?(r=d[c])?(delete A[t.start],delete d[r.end],t===r?(t.ring.push(s),n(t.ring)):A[r.start]=d[t.end]={start:r.start,end:t.end,ring:r.ring.concat(t.ring)}):(delete A[t.start],t.ring.unshift(a),A[t.start=c]=t):A[c]=d[u]={start:c,end:u,ring:[a,s]}}cases[u<<3].forEach(p)}(r,n,(function(e){a(e,r,n),area(e)>0?i.push([e]):l.push(e)})),l.forEach((function(e){for(var t,r=0,a=i.length;r0&&o0&&l0&&i>0))throw new Error("invalid size");return e=a,t=i,n},n.thresholds=function(e){return arguments.length?(r="function"==typeof e?e:Array.isArray(e)?constant$1(slice$1.call(e)):constant$1(e),n):r},n.smooth=function(e){return arguments.length?(a=e?l:noop$2,n):a===l},n}function blurX(e,t,r){for(var a=e.width,n=e.height,i=1+(r<<1),o=0;o=r&&(l>=i&&(s-=e.data[l-i+o*a]),t.data[l-r+o*a]=s/Math.min(l+1,a-1+i-l,i))}function blurY(e,t,r){for(var a=e.width,n=e.height,i=1+(r<<1),o=0;o=r&&(l>=i&&(s-=e.data[o+(l-i)*a]),t.data[o+(l-r)*a]=s/Math.min(l+1,n-1+i-l,i))}function defaultX(e){return e[0]}function defaultY(e){return e[1]}function defaultWeight(){return 1}function contourDensity(){var e=defaultX,t=defaultY,r=defaultWeight,a=960,n=500,i=20,o=2,l=3*i,s=a+2*l>>o,c=n+2*l>>o,u=constant$1(20);function f(a){var n=new Float32Array(s*c),f=new Float32Array(s*c);a.forEach((function(a,i,u){var f=+e(a,i,u)+l>>o,A=+t(a,i,u)+l>>o,d=+r(a,i,u);f>=0&&f=0&&A>o),blurY({width:s,height:c,data:f},{width:s,height:c,data:n},i>>o),blurX({width:s,height:c,data:n},{width:s,height:c,data:f},i>>o),blurY({width:s,height:c,data:f},{width:s,height:c,data:n},i>>o),blurX({width:s,height:c,data:n},{width:s,height:c,data:f},i>>o),blurY({width:s,height:c,data:f},{width:s,height:c,data:n},i>>o);var d=u(n);if(!Array.isArray(d)){var p=max$2(n);d=tickStep(0,p,d),(d=range(0,Math.floor(p/d)*d,d)).shift()}return contours().thresholds(d).size([s,c])(n).map(A)}function A(e){return e.value*=Math.pow(2,-2*o),e.coordinates.forEach(d),e}function d(e){e.forEach(p)}function p(e){e.forEach(h)}function h(e){e[0]=e[0]*Math.pow(2,o)-l,e[1]=e[1]*Math.pow(2,o)-l}function b(){return s=a+2*(l=3*i)>>o,c=n+2*l>>o,f}return f.x=function(t){return arguments.length?(e="function"==typeof t?t:constant$1(+t),f):e},f.y=function(e){return arguments.length?(t="function"==typeof e?e:constant$1(+e),f):t},f.weight=function(e){return arguments.length?(r="function"==typeof e?e:constant$1(+e),f):r},f.size=function(e){if(!arguments.length)return[a,n];var t=Math.ceil(e[0]),r=Math.ceil(e[1]);if(!(t>=0||t>=0))throw new Error("invalid size");return a=t,n=r,b()},f.cellSize=function(e){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(e)/Math.LN2),b()},f.thresholds=function(e){return arguments.length?(u="function"==typeof e?e:Array.isArray(e)?constant$1(slice$1.call(e)):constant$1(e),f):u},f.bandwidth=function(e){if(!arguments.length)return Math.sqrt(i*(i+1));if(!((e=+e)>=0))throw new Error("invalid bandwidth");return i=Math.round((Math.sqrt(4*e*e+1)-1)/2),b()},f}function adder(){return new Adder}function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){this.s=this.t=0},add:function(e){add(temp,e,this.t),add(this,temp.s,this.s),this.s?this.t+=temp.t:this.s=temp.t},valueOf:function(){return this.s}};var temp=new Adder;function add(e,t,r){var a=e.s=t+r,n=a-t,i=a-n;e.t=t-i+(r-n)}var pi=Math.PI,tau=2*pi,abs$1=Math.abs,sqrt=Math.sqrt;function noop$1(){}function streamGeometry(e,t){e&&streamGeometryType.hasOwnProperty(e.type)&&streamGeometryType[e.type](e,t)}var streamObjectType={Feature:function(e,t){streamGeometry(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,a=-1,n=r.length;++api?e+Math.round(-e/tau)*tau:e,t]}function identity$1(e){return e}adder(),adder(),adder(),rotationIdentity.invert=rotationIdentity,adder(),adder();var areaSum=adder(),areaRingSum=adder(),x00$2,y00$2,x0$3,y0$3,areaStream={point:noop$1,lineStart:noop$1,lineEnd:noop$1,polygonStart:function(){areaStream.lineStart=areaRingStart,areaStream.lineEnd=areaRingEnd},polygonEnd:function(){areaStream.lineStart=areaStream.lineEnd=areaStream.point=noop$1,areaSum.add(abs$1(areaRingSum)),areaRingSum.reset()},result:function(){var e=areaSum/2;return areaSum.reset(),e}};function areaRingStart(){areaStream.point=areaPointFirst}function areaPointFirst(e,t){areaStream.point=areaPoint,x00$2=x0$3=e,y00$2=y0$3=t}function areaPoint(e,t){areaRingSum.add(y0$3*e-x0$3*t),x0$3=e,y0$3=t}function areaRingEnd(){areaPoint(x00$2,y00$2)}var x0$2=1/0,y0$2=x0$2,x1=-x0$2,y1=x1,boundsStream={point:boundsPoint,lineStart:noop$1,lineEnd:noop$1,polygonStart:noop$1,polygonEnd:noop$1,result:function(){var e=[[x0$2,y0$2],[x1,y1]];return x1=y1=-(y0$2=x0$2=1/0),e}};function boundsPoint(e,t){ex1&&(x1=e),ty1&&(y1=t)}var X0=0,Y0=0,Z0=0,X1=0,Y1=0,Z1=0,X2=0,Y2=0,Z2=0,x00$1,y00$1,x0$1,y0$1,centroidStream={point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart,centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.point=centroidPoint,centroidStream.lineStart=centroidLineStart,centroidStream.lineEnd=centroidLineEnd},result:function(){var e=Z2?[X2/Z2,Y2/Z2]:Z1?[X1/Z1,Y1/Z1]:Z0?[X0/Z0,Y0/Z0]:[NaN,NaN];return X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0,e}};function centroidPoint(e,t){X0+=e,Y0+=t,++Z0}function centroidLineStart(){centroidStream.point=centroidPointFirstLine}function centroidPointFirstLine(e,t){centroidStream.point=centroidPointLine,centroidPoint(x0$1=e,y0$1=t)}function centroidPointLine(e,t){var r=e-x0$1,a=t-y0$1,n=sqrt(r*r+a*a);X1+=n*(x0$1+e)/2,Y1+=n*(y0$1+t)/2,Z1+=n,centroidPoint(x0$1=e,y0$1=t)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidPointFirstRing}function centroidRingEnd(){centroidPointRing(x00$1,y00$1)}function centroidPointFirstRing(e,t){centroidStream.point=centroidPointRing,centroidPoint(x00$1=x0$1=e,y00$1=y0$1=t)}function centroidPointRing(e,t){var r=e-x0$1,a=t-y0$1,n=sqrt(r*r+a*a);X1+=n*(x0$1+e)/2,Y1+=n*(y0$1+t)/2,Z1+=n,X2+=(n=y0$1*e-x0$1*t)*(x0$1+e),Y2+=n*(y0$1+t),Z2+=3*n,centroidPoint(x0$1=e,y0$1=t)}function PathContext(e){this._context=e}PathContext.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,tau)}},result:noop$1};var lengthSum=adder(),lengthRing,x00,y00,x0,y0,lengthStream={point:noop$1,lineStart:function(){lengthStream.point=lengthPointFirst},lineEnd:function(){lengthRing&&lengthPoint(x00,y00),lengthStream.point=noop$1},polygonStart:function(){lengthRing=!0},polygonEnd:function(){lengthRing=null},result:function(){var e=+lengthSum;return lengthSum.reset(),e}};function lengthPointFirst(e,t){lengthStream.point=lengthPoint,x00=x0=e,y00=y0=t}function lengthPoint(e,t){x0-=e,y0-=t,lengthSum.add(sqrt(x0*x0+y0*y0)),x0=e,y0=t}function PathString(){this._string=[]}function circle(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+-2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}function geoPath(e,t){var r,a,n=4.5;function i(e){return e&&("function"==typeof n&&a.pointRadius(+n.apply(this,arguments)),geoStream(e,r(a))),a.result()}return i.area=function(e){return geoStream(e,r(areaStream)),areaStream.result()},i.measure=function(e){return geoStream(e,r(lengthStream)),lengthStream.result()},i.bounds=function(e){return geoStream(e,r(boundsStream)),boundsStream.result()},i.centroid=function(e){return geoStream(e,r(centroidStream)),centroidStream.result()},i.projection=function(t){return arguments.length?(r=null==t?(e=null,identity$1):(e=t).stream,i):e},i.context=function(e){return arguments.length?(a=null==e?(t=null,new PathString):new PathContext(t=e),"function"!=typeof n&&a.pointRadius(n),i):t},i.pointRadius=function(e){return arguments.length?(n="function"==typeof e?e:(a.pointRadius(+e),+e),i):n},i.projection(e).context(t)}function TransformStream(){}function equirectangularRaw(e,t){return[e,t]}PathString.prototype={_radius:4.5,_circle:circle(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push("M",e,",",t),this._point=1;break;case 1:this._string.push("L",e,",",t);break;default:null==this._circle&&(this._circle=circle(this._radius)),this._string.push("M",e,",",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join("");return this._string=[],e}return null}},TransformStream.prototype={constructor:TransformStream,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},equirectangularRaw.invert=equirectangularRaw;var _extends$11=Object.assign||function(e){for(var t=1;to/2?"left":"right":f);return React$k.createElement("div",{className:"rv-crosshair "+r,style:{left:A+"px",top:d+"px"}},React$k.createElement("div",{className:"rv-crosshair__line",style:_extends$10({height:l+"px"},s.line)}),React$k.createElement("div",{className:p},t||React$k.createElement("div",{className:"rv-crosshair__inner__content",style:s.box},React$k.createElement("div",null,this._renderCrosshairTitle(),this._renderCrosshairItems()))))}}],[{key:"defaultProps",get:function(){return{titleFormat:defaultTitleFormat,itemsFormat:defaultItemsFormat,style:{line:{},title:{},box:{}}}}},{key:"propTypes",get:function(){return{className:propTypesExports.string,values:propTypesExports.arrayOf(propTypesExports.oneOfType([propTypesExports.number,propTypesExports.string,propTypesExports.object])),series:propTypesExports.object,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number,marginLeft:propTypesExports.number,marginTop:propTypesExports.number,orientation:propTypesExports.oneOf(["left","right"]),itemsFormat:propTypesExports.func,titleFormat:propTypesExports.func,style:propTypesExports.shape({line:propTypesExports.object,title:propTypesExports.object,box:propTypesExports.object})}}}]),t}(reactExports.PureComponent);Crosshair.displayName="Crosshair";var _createClass$I=function(){function e(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:2,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DEFAULT_STYLE;switch(e){case"diamond":return React$k.createElement("polygon",{style:r,points:"0 0 "+t/2+" "+t/2+" 0 "+t+" "+-t/2+" "+t/2+" 0 0"});case"star":var a=[].concat(_toConsumableArray$2(new Array(5))).map((function(e,r){var a=r/5*Math.PI*2,n=a+Math.PI/10,i=a-Math.PI/10,o=t/2.61;return"\n "+Math.cos(i)*t+" "+Math.sin(i)*t+"\n "+Math.cos(n)*o+" "+Math.sin(n)*o+"\n "})).join(" ");return React$k.createElement("polygon",{points:a,x:"0",y:"0",height:t,width:t,style:r});case"square":return React$k.createElement("rect",{x:""+-t/2,y:""+-t/2,height:t,width:t,style:r});default:return React$k.createElement("circle",{cx:"0",cy:"0",r:t/2,style:r})}}function getInnerComponent(e){var t=e.customComponent,r=e.defaultType,a=e.positionInPixels;e.positionFunctions;var n=e.style,i=e.propsSize,o=t.size,l=_extends$$({},n,t.style||{}),s=t.customComponent;return s||"string"!=typeof r?s?"string"==typeof s?predefinedComponents(s||r,o,l):s(t,a,l):r(t,a,l):predefinedComponents(r,o||i,l)}var CustomSVGSeries=function(e){function t(){return _classCallCheck$I(this,t),_possibleConstructorReturn$I(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits$I(t,e),_createClass$I(t,[{key:"render",value:function(){var e=this,r=this.props,a=r.animation,n=r.className,i=r.customComponent,o=r.data,l=r.innerHeight,s=r.innerWidth,c=r.marginLeft,u=r.marginTop,f=r.style,A=r.size;if(!o||!s||!l)return null;if(a)return React$k.createElement(Animation,_extends$$({},this.props,{animatedProps:ANIMATED_SERIES_PROPS}),React$k.createElement(t,_extends$$({},this.props,{animation:!1})));var d=this._getAttributeFunctor("x"),p=this._getAttributeFunctor("y"),h=o.map((function(t,r){var a={x:d(t),y:p(t)},n=getInnerComponent({customComponent:t,positionInPixels:a,defaultType:i,positionFunctions:{x:d,y:p},style:f,propsSize:A});return React$k.createElement("g",{className:"rv-xy-plot__series--custom-svg",key:"rv-xy-plot__series--custom-svg-"+r,transform:"translate("+a.x+","+a.y+")",onMouseEnter:function(r){return e._valueMouseOverHandler(t,r)},onMouseLeave:function(r){return e._valueMouseOutHandler(t,r)}},n)}));return React$k.createElement("g",{className:predefinedClassName$c+" "+n,transform:"translate("+c+","+u+")"},h)}}]),t}(AbstractSeries);CustomSVGSeries.propTypes={animation:propTypesExports.bool,className:propTypesExports.string,customComponent:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func]),data:propTypesExports.arrayOf(propTypesExports.shape({x:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]).isRequired,y:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]).isRequired})).isRequired,marginLeft:propTypesExports.number,marginTop:propTypesExports.number,style:propTypesExports.object,size:propTypesExports.number,onValueMouseOver:propTypesExports.func,onValueMouseOut:propTypesExports.func},CustomSVGSeries.defaultProps=_extends$$({},AbstractSeries.defaultProps,{animation:!1,customComponent:"circle",style:{},size:2});var _extends$_=Object.assign||function(e){for(var t=1;t1){var h=u-d,b=d+(um*m+v*v&&(d=b+(1&A?1:-1)/2,A=g)}var y=d+"-"+A,w=n[y];w?w.push(c):(i.push(w=n[y]=[c]),w.x=(d+(1&A)/2)*t,w.y=A*r)}return i}function u(e){var t=0,r=0;return angles.map((function(a){var n=Math.sin(a)*e,i=-Math.cos(a)*e,o=n-t,l=i-r;return t=n,r=i,[o,l]}))}return c.hexagon=function(t){return"m"+u(null==t?e:+t).join("l")+"z"},c.centers=function(){for(var l=[],s=Math.round(n/r),c=Math.round(a/t),u=s*r;uc),d=o&&(tf);return a&&n?A||d:a?A:!n||d}},{key:"_convertAreaToCoordinates",value:function(e){var t=this.props,r=t.enableX,a=t.enableY,n=t.marginLeft,i=t.marginTop,o=getAttributeScale(this.props,"x"),l=getAttributeScale(this.props,"y");return r&&a?{bottom:l.invert(e.bottom),left:o.invert(e.left-n),right:o.invert(e.right-n),top:l.invert(e.top)}:a?{bottom:l.invert(e.bottom-i),top:l.invert(e.top-i)}:r?{left:o.invert(e.left-n),right:o.invert(e.right-n)}:{}}},{key:"startBrushing",value:function(e){var t=this,r=this.props,a=r.onBrushStart,n=r.onDragStart,i=r.drag,o=this.state.dragArea,l=getLocs(e.nativeEvent),s=l.xLoc,c=l.yLoc,u=function(e,r){var a={bottom:c,left:s,right:s,top:c};t.setState({dragging:e,brushArea:o&&!r?o:a,brushing:!e,startLocX:s,startLocY:c})},f=this._clickedOutsideDrag(s,c);if(i&&!o||!i||f)return u(!1,f),void(a&&a(e));i&&o&&(u(!0,f),n&&n(e))}},{key:"stopBrushing",value:function(e){var t=this.state,r=t.brushing,a=t.dragging,n=t.brushArea;if(r||a){var i=this.props,o=i.onBrushEnd,l=i.onDragEnd,s=i.drag,c=Math.abs(n.right-n.left)<5,u=Math.abs(n.top-n.bottom)<5||c;this.setState({brushing:!1,dragging:!1,brushArea:s?n:{top:0,right:0,bottom:0,left:0},startLocX:0,startLocY:0,dragArea:s&&!u&&n}),r&&o&&o(u?null:this._convertAreaToCoordinates(n)),s&&l&&l(u?null:this._convertAreaToCoordinates(n))}}},{key:"onBrush",value:function(e){var t=this.props,r=t.onBrush,a=t.onDrag,n=t.drag,i=this.state,o=i.brushing,l=i.dragging,s=getLocs(e.nativeEvent),c=s.xLoc,u=s.yLoc;if(o){var f=this._getDrawArea(c,u);this.setState({brushArea:f}),r&&r(this._convertAreaToCoordinates(f))}if(n&&l){var A=this._getDragArea(c,u);this.setState({brushArea:A}),a&&a(this._convertAreaToCoordinates(A))}}},{key:"render",value:function(){var e=this,t=this.props,r=t.color,a=t.className,n=t.highlightHeight,i=t.highlightWidth,o=t.highlightX,l=t.highlightY,s=t.innerWidth,c=t.innerHeight,u=t.marginLeft,f=t.marginRight,A=t.marginTop,d=t.marginBottom,p=t.opacity,h=this.state.brushArea,b=h.left,g=h.right,m=h.top,v=h.bottom,y=0;o&&(y=getAttributeScale(this.props,"x")(o));var w=0;l&&(w=getAttributeScale(this.props,"y")(l));var k=i||u+f+s,x=n||A+d+c;return React$k.createElement("g",{transform:"translate("+y+", "+w+")",className:a+" rv-highlight-container"},React$k.createElement("rect",{className:"rv-mouse-target",fill:"black",opacity:"0",x:"0",y:"0",width:Math.max(k,0),height:Math.max(x,0),onMouseDown:function(t){return e.startBrushing(t)},onMouseMove:function(t){return e.onBrush(t)},onMouseUp:function(t){return e.stopBrushing(t)},onMouseLeave:function(t){return e.stopBrushing(t)},onTouchEnd:function(t){t.preventDefault(),e.stopBrushing(t)},onTouchCancel:function(t){t.preventDefault(),e.stopBrushing(t)},onContextMenu:function(e){return e.preventDefault()},onContextMenuCapture:function(e){return e.preventDefault()}}),React$k.createElement("rect",{className:"rv-highlight",pointerEvents:"none",opacity:p,fill:r,x:b,y:m,width:Math.min(Math.max(0,g-b),k),height:Math.min(Math.max(0,v-m),x)}))}}]),t}(AbstractSeries);Highlight.displayName="HighlightOverlay",Highlight.defaultProps={color:"rgb(77, 182, 172)",className:"",enableX:!0,enableY:!0,opacity:.3},Highlight.propTypes=_extends$V({},AbstractSeries.propTypes,{enableX:propTypesExports.bool,enableY:propTypesExports.bool,highlightHeight:propTypesExports.number,highlightWidth:propTypesExports.number,highlightX:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),highlightY:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number]),onBrushStart:propTypesExports.func,onDragStart:propTypesExports.func,onBrush:propTypesExports.func,onDrag:propTypesExports.func,onBrushEnd:propTypesExports.func,onDragEnd:propTypesExports.func});var _extends$U=Object.assign||function(e){for(var t=1;ta/2?ALIGN.LEFT:ALIGN.RIGHT),s===ALIGN.AUTO&&(c.vertical=t>n/2?ALIGN.TOP:ALIGN.BOTTOM),c}},{key:"_getAlignClassNames",value:function(e){var t=this.props.orientation;return(t?"rv-hint--orientation-"+t:"")+" rv-hint--horizontalAlign-"+e.horizontal+"\n rv-hint--verticalAlign-"+e.vertical}},{key:"_getAlignStyle",value:function(e,t,r){return _extends$U({},this._getXCSS(e.horizontal,t),this._getYCSS(e.vertical,r))}},{key:"_getCSSBottom",value:function(e){if(null==e)return{bottom:0};var t=this.props,r=t.innerHeight;return{bottom:t.marginBottom+r-e}}},{key:"_getCSSLeft",value:function(e){return null==e?{left:0}:{left:this.props.marginLeft+e}}},{key:"_getCSSRight",value:function(e){if(null==e)return{right:0};var t=this.props,r=t.innerWidth;return{right:t.marginRight+r-e}}},{key:"_getCSSTop",value:function(e){return null==e?{top:0}:{top:this.props.marginTop+e}}},{key:"_getPositionInfo",value:function(){var e=this.props,t=e.value,r=e.getAlignStyle,a=getAttributeFunctor(this.props,"x")(t),n=getAttributeFunctor(this.props,"y")(t),i=this._getAlign(a,n);return{position:r?r(i,a,n):this._getAlignStyle(i,a,n),positionClassName:this._getAlignClassNames(i)}}},{key:"_getXCSS",value:function(e,t){switch(e){case ALIGN.LEFT_EDGE:return this._getCSSLeft(null);case ALIGN.RIGHT_EDGE:return this._getCSSRight(null);case ALIGN.LEFT:return this._getCSSRight(t);case ALIGN.RIGHT:default:return this._getCSSLeft(t)}}},{key:"_getYCSS",value:function(e,t){switch(e){case ALIGN.TOP_EDGE:return this._getCSSTop(null);case ALIGN.BOTTOM_EDGE:return this._getCSSBottom(null);case ALIGN.BOTTOM:return this._getCSSTop(t);case ALIGN.TOP:default:return this._getCSSBottom(t)}}},{key:"_mapOrientationToAlign",value:function(e){switch(e){case ORIENTATION.BOTTOM_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.BOTTOM};case ORIENTATION.BOTTOM_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.BOTTOM};case ORIENTATION.TOP_LEFT:return{horizontal:ALIGN.LEFT,vertical:ALIGN.TOP};case ORIENTATION.TOP_RIGHT:return{horizontal:ALIGN.RIGHT,vertical:ALIGN.TOP}}}},{key:"render",value:function(){var e=this.props,t=e.value,r=e.format,a=e.children,n=e.style,i=e.className,o=this._getPositionInfo(),l=o.position,s=o.positionClassName;return React$k.createElement("div",{className:"rv-hint "+s+" "+i,style:_extends$U({},n,l,{position:"absolute"})},a||React$k.createElement("div",{className:"rv-hint__content",style:n.content},r(t).map((function(e,t){return React$k.createElement("div",{key:"rv-hint"+t,style:n.row},React$k.createElement("span",{className:"rv-hint__title",style:n.title},e.title),": ",React$k.createElement("span",{className:"rv-hint__value",style:n.value},e.value))}))))}}],[{key:"defaultProps",get:function(){return{format:defaultFormat,align:{horizontal:ALIGN.AUTO,vertical:ALIGN.AUTO},style:{}}}},{key:"propTypes",get:function(){return{marginTop:propTypesExports.number,marginLeft:propTypesExports.number,innerWidth:propTypesExports.number,innerHeight:propTypesExports.number,scales:propTypesExports.object,value:propTypesExports.object,format:propTypesExports.func,style:propTypesExports.object,className:propTypesExports.string,align:propTypesExports.shape({horizontal:propTypesExports.oneOf([ALIGN.AUTO,ALIGN.LEFT,ALIGN.RIGHT,ALIGN.LEFT_EDGE,ALIGN.RIGHT_EDGE]),vertical:propTypesExports.oneOf([ALIGN.AUTO,ALIGN.BOTTOM,ALIGN.TOP,ALIGN.BOTTOM_EDGE,ALIGN.TOP_EDGE])}),getAlignStyle:propTypesExports.func,orientation:propTypesExports.oneOf([ORIENTATION.BOTTOM_LEFT,ORIENTATION.BOTTOM_RIGHT,ORIENTATION.TOP_LEFT,ORIENTATION.TOP_RIGHT])}}}]),t}(reactExports.PureComponent);Hint.displayName="Hint",Hint.ORIENTATION=ORIENTATION,Hint.ALIGN=ALIGN;var _extends$T=Object.assign||function(e){for(var t=1;ty;if(!k&&!x)return null;var E=_extends$x({opacity:n?n(t):DEFAULT_OPACITY,stroke:o&&o(t),strokeWidth:l||DEFAULT_STROKE_WIDTH},s),_=a/2,C={x1:b+h,y1:g,x2:m,y2:g,style:E},$={x1:b-h,y1:g,x2:v,y2:g,style:E},T={x1:m,y1:g-_,x2:m,y2:g+_,style:E},O={x1:v,y1:g-_,x2:v,y2:g+_,style:E},S={x1:b,y1:g-h,x2:b,y2:y,style:E},I={x1:b,y1:g+h,x2:b,y2:w,style:E},M={x1:b-_,y1:y,x2:b+_,y2:y,style:E},B={x1:b-_,y1:w,x2:b+_,y2:w,style:E};return React$k.createElement("g",{className:"mark-whiskers",key:r,onClick:function(e){return c(t,e)},onContextMenu:function(e){return A(t,e)},onMouseOver:function(e){return f(t,e)},onMouseOut:function(e){return u(t,e)}},k?React$k.createElement("g",{className:"x-whiskers"},React$k.createElement("line",C),React$k.createElement("line",$),React$k.createElement("line",T),React$k.createElement("line",O)):null,x?React$k.createElement("g",{className:"y-whiskers"},React$k.createElement("line",S),React$k.createElement("line",I),React$k.createElement("line",M),React$k.createElement("line",B)):null)}},WhiskerSeries=function(e){function t(){return _classCallCheck$h(this,t),_possibleConstructorReturn$h(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits$h(t,e),_createClass$h(t,[{key:"render",value:function(){var e=this.props,r=e.animation,a=e.className,n=e.crossBarWidth,i=e.data,o=e.marginLeft,l=e.marginTop,s=e.strokeWidth,c=e.style;if(!i)return null;if(r)return React$k.createElement(Animation,_extends$x({},this.props,{animatedProps:ANIMATED_SERIES_PROPS}),React$k.createElement(t,_extends$x({},this.props,{animation:null})));var u={crossBarWidth:n,opacityFunctor:this._getAttributeFunctor("opacity"),sizeFunctor:this._getAttributeFunctor("size"),strokeFunctor:this._getAttributeFunctor("stroke")||this._getAttributeFunctor("color"),strokeWidth:s,style:c,xFunctor:this._getAttributeFunctor("x"),yFunctor:this._getAttributeFunctor("y"),valueClickHandler:this._valueClickHandler,valueRightClickHandler:this._valueRightClickHandler,valueMouseOverHandler:this._valueMouseOverHandler,valueMouseOutHandler:this._valueMouseOutHandler};return React$k.createElement("g",{className:predefinedClassName$2+" "+a,transform:"translate("+o+","+l+")"},i.map(renderWhiskerMark(u)))}}]),t}(AbstractSeries);WhiskerSeries.displayName="WhiskerSeries",WhiskerSeries.propTypes=_extends$x({},AbstractSeries.propTypes,{strokeWidth:propTypesExports.number}),WhiskerSeries.defaultProps=_extends$x({},AbstractSeries.defaultProps,{crossBarWidth:DEFAULT_CROSS_BAR_WIDTH,size:0,strokeWidth:DEFAULT_STROKE_WIDTH});var deepEqualExports={},deepEqual$1={get exports(){return deepEqualExports},set exports(e){deepEqualExports=e}},keysExports={},keys={get exports(){return keysExports},set exports(e){keysExports=e}};!function(e,t){function r(e){var t=[];for(var r in e)t.push(r);return t}(e.exports="function"==typeof Object.keys?Object.keys:r).shim=r}(keys);var is_argumentsExports={},is_arguments={get exports(){return is_argumentsExports},set exports(e){is_argumentsExports=e}};!function(e,t){var r="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();function a(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function n(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,"callee")&&!Object.prototype.propertyIsEnumerable.call(e,"callee")||!1}(t=e.exports=r?a:n).supported=a,t.unsupported=n}(is_arguments,is_argumentsExports);var pSlice=Array.prototype.slice,objectKeys=keysExports,isArguments=is_argumentsExports,deepEqual=deepEqual$1.exports=function(e,t,r){return r||(r={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||"object"!=typeof e&&"object"!=typeof t?r.strict?e===t:e==t:objEquiv(e,t,r))};function isUndefinedOrNull(e){return null==e}function isBuffer(e){return!(!e||"object"!=typeof e||"number"!=typeof e.length)&&("function"==typeof e.copy&&"function"==typeof e.slice&&!(e.length>0&&"number"!=typeof e[0]))}function objEquiv(t,r,a){var n,i;if(isUndefinedOrNull(t)||isUndefinedOrNull(r))return!1;if(t.prototype!==r.prototype)return!1;if(isArguments(t))return!!isArguments(r)&&(t=pSlice.call(t),r=pSlice.call(r),deepEqual(t,r,a));if(isBuffer(t)){if(!isBuffer(r))return!1;if(t.length!==r.length)return!1;for(n=0;n=0;n--)if(o[n]!=l[n])return!1;for(n=o.length-1;n>=0;n--)if(i=o[n],!deepEqual(t[i],r[i],a))return!1;return typeof t==typeof r}var _extends$w=Object.assign||function(e){for(var t=1;tMAX_DRAWS&&clearInterval(i),n+=1):clearInterval(i)}),1)}function drawLayers(e,t,r,a,n){e.clearRect(0,0,r,t),a.forEach((function(t){var r=t.interpolator,a=t.newProps,i=t.animation?r?r(n/MAX_DRAWS):r:function(){return{}};t.renderLayer(_extends$v({},a,i),e)}))}function buildLayers(e,t){return e.map((function(e,r){var a=t[r]?t[r].props:{},n=e.props,i=interpolate(extractAnimatedPropValues(_extends$v({},a,{animatedProps:ANIMATED_SERIES_PROPS})),n?extractAnimatedPropValues(_extends$v({},n,{animatedProps:ANIMATED_SERIES_PROPS})):null);return{renderLayer:e.type.renderLayer,newProps:e.props,animation:e.props.animation,interpolator:i}}))}var CanvasWrapper=function(e){function t(){return _classCallCheck$g(this,t),_possibleConstructorReturn$g(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits$g(t,e),_createClass$g(t,[{key:"componentDidMount",value:function(){var e=this.canvas.getContext("2d");if(e){var t=this.props.pixelRatio;e&&(e.scale(t,t),this.drawChildren(null,this.props,e))}}},{key:"componentDidUpdate",value:function(e){this.drawChildren(e,this.props,this.canvas.getContext("2d"))}},{key:"drawChildren",value:function(e,t,r){var a=t.children,n=t.innerHeight,i=t.innerWidth,o=t.marginBottom,l=t.marginLeft,s=t.marginRight,c=t.marginTop;if(r){var u=a.find((function(e){return e.props.animation})),f=n+c+o,A=i+l+s,d=buildLayers(t.children,e?e.children:[]);u?engageDrawLoop(r,f,A,d):drawLayers(r,f,A,d)}}},{key:"render",value:function(){var e=this,t=this.props,r=t.innerHeight,a=t.innerWidth,n=t.marginBottom,i=t.marginLeft,o=t.marginRight,l=t.marginTop,s=t.pixelRatio,c=r+l+n,u=a+i+o;return React$k.createElement("div",{style:{left:0,top:0},className:"rv-xy-canvas"},React$k.createElement("canvas",{className:"rv-xy-canvas-element",height:c*s,width:u*s,style:{height:c+"px",width:u+"px"},ref:function(t){return e.canvas=t}}),this.props.children)}}],[{key:"defaultProps",get:function(){return{pixelRatio:window&&window.devicePixelRatio||1}}}]),t}(reactExports.Component);CanvasWrapper.displayName="CanvasWrapper",CanvasWrapper.propTypes={marginBottom:propTypesExports.number.isRequired,marginLeft:propTypesExports.number.isRequired,marginRight:propTypesExports.number.isRequired,marginTop:propTypesExports.number.isRequired,innerHeight:propTypesExports.number.isRequired,innerWidth:propTypesExports.number.isRequired,pixelRatio:propTypesExports.number.isRequired};var _createClass$f=function(){function e(e,t){for(var r=0;r-1,v=m?VERTICAL_CLASS_NAME:HORIZONTAL_CLASS_NAME,y=c,w=b;if(f){var k=getAttributeScale(a,n);m?y=k(0):w=u+k(0)}return React$k.createElement("g",{transform:"translate("+y+","+w+")",className:predefinedClassName$1+" "+v+" "+i,style:p},!l&&React$k.createElement(AxisLine,{height:o,width:g,orientation:A,style:_extends$q({},p,p.line)}),!s&&React$k.createElement(AxisTicks,_extends$q({},a,{style:_extends$q({},p,p.ticks)})),h?React$k.createElement(AxisTitle,{position:d,title:h,height:o,width:g,style:_extends$q({},p,p.title),orientation:A}):null)}}]),t}(reactExports.PureComponent);Axis.displayName="Axis",Axis.propTypes=propTypes$3,Axis.defaultProps=defaultProps$3,Axis.requiresSVG=!0;var _extends$p=Object.assign||function(e){for(var t=1;tl.max)&&(c=!1),{x:i,y:o}})),f=predefinedClassName+"-line",A={animation:t,className:c?f:f+" "+predefinedClassName+"-line-unselected",key:i+"-polygon",data:u,color:e.color||a[i%a.length],style:_extends$k({},o.lines,e.style||{})};return c||(A.style=_extends$k({},A.style,o.deselectedLineStyle)),l?React$k.createElement(LineMarkSeries,A):React$k.createElement(LineSeries,A)}))}var ParallelCoordinates=function(e){function t(){var e,r,a;_classCallCheck$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=0;)t+=r[a].value;else t=1;e.value=t}function node_count(){return this.eachAfter(count)}function node_each(e){var t,r,a,n,i=this,o=[i];do{for(t=o.reverse(),o=[];i=t.pop();)if(e(i),r=i.children)for(a=0,n=r.length;a=0;--r)n.push(t[r]);return this}function node_eachAfter(e){for(var t,r,a,n=this,i=[n],o=[];n=i.pop();)if(o.push(n),t=n.children)for(r=0,a=t.length;r=0;)r+=a[n].value;t.value=r}))}function node_sort(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))}function node_path(e){for(var t=this,r=leastCommonAncestor(t,e),a=[t];t!==r;)t=t.parent,a.push(t);for(var n=a.length;e!==r;)a.splice(n,0,e),e=e.parent;return a}function leastCommonAncestor(e,t){if(e===t)return e;var r=e.ancestors(),a=t.ancestors(),n=null;for(e=r.pop(),t=a.pop();e===t;)n=e,e=r.pop(),t=a.pop();return n}function node_ancestors(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function node_descendants(){var e=[];return this.each((function(t){e.push(t)})),e}function node_leaves(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e}function node_links(){var e=this,t=[];return e.each((function(r){r!==e&&t.push({source:r.parent,target:r})})),t}function hierarchy(e,t){var r,a,n,i,o,l=new Node$1(e),s=+e.value&&(l.value=e.value),c=[l];for(null==t&&(t=defaultChildren);r=c.pop();)if(s&&(r.value=+r.data.value),(n=t(r.data))&&(o=n.length))for(r.children=new Array(o),i=o-1;i>=0;--i)c.push(a=r.children[i]=new Node$1(n[i])),a.parent=r,a.depth=r.depth+1;return l.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function defaultChildren(e){return e.children}function copyData(e){e.data=e.data.data}function computeHeight(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function Node$1(e){this.data=e,this.depth=this.height=0,this.parent=null}ParallelCoordinates.displayName="ParallelCoordinates",ParallelCoordinates.propTypes={animation:AnimationPropType,brushing:propTypesExports.bool,className:propTypesExports.string,colorType:propTypesExports.string,colorRange:propTypesExports.arrayOf(propTypesExports.string),data:propTypesExports.arrayOf(propTypesExports.object).isRequired,domains:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string.isRequired,domain:propTypesExports.arrayOf(propTypesExports.number).isRequired,tickFormat:propTypesExports.func})).isRequired,height:propTypesExports.number.isRequired,margin:MarginPropType,style:propTypesExports.shape({axes:propTypesExports.object,labels:propTypesExports.object,lines:propTypesExports.object}),showMarks:propTypesExports.bool,tickFormat:propTypesExports.func,width:propTypesExports.number.isRequired},ParallelCoordinates.defaultProps={className:"",colorType:"category",colorRange:DISCRETE_COLOR_RANGE,style:{axes:{line:{},ticks:{},text:{}},labels:{fontSize:10,textAnchor:"middle"},lines:{strokeWidth:1,strokeOpacity:1},deselectedLineStyle:{strokeOpacity:.1}},tickFormat:DEFAULT_FORMAT},format$1(".2r"),propTypesExports.string,propTypesExports.string,propTypesExports.arrayOf(propTypesExports.string),propTypesExports.arrayOf(propTypesExports.object).isRequired,propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string.isRequired,domain:propTypesExports.arrayOf(propTypesExports.number).isRequired,tickFormat:propTypesExports.func})).isRequired,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.number,propTypesExports.shape({axes:propTypesExports.object,labels:propTypesExports.object,polygons:propTypesExports.object}),propTypesExports.func,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.string,propTypesExports.string,propTypesExports.arrayOf(propTypesExports.shape({angle:propTypesExports.number,className:propTypesExports.string,label:propTypesExports.string,radius:propTypesExports.number,style:propTypesExports.object})).isRequired,propTypesExports.func,propTypesExports.func,propTypesExports.oneOfType([propTypesExports.func,propTypesExports.number]),propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.object,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.bool,propTypesExports.object,propTypesExports.func,propTypesExports.number.isRequired,DISCRETE_COLOR_RANGE[1],propTypesExports.oneOf(["justify","left","right","center"]),propTypesExports.string,propTypesExports.bool,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.number,propTypesExports.number,propTypesExports.arrayOf(propTypesExports.shape({source:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.object]).isRequired,target:propTypesExports.oneOfType([propTypesExports.number,propTypesExports.object]).isRequired})).isRequired,propTypesExports.number,propTypesExports.arrayOf(propTypesExports.object).isRequired,propTypesExports.number,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.shape({links:propTypesExports.object,rects:propTypesExports.object,labels:propTypesExports.object}),propTypesExports.number.isRequired,Node$1.prototype=hierarchy.prototype={constructor:Node$1,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy};var slice=Array.prototype.slice;function shuffle(e){for(var t,r,a=e.length;a;)r=Math.random()*a--|0,t=e[a],e[a]=e[r],e[r]=t;return e}function enclose(e){for(var t,r,a=0,n=(e=shuffle(slice.call(e))).length,i=[];a0&&r*r>a*a+n*n}function enclosesWeakAll(e,t){for(var r=0;r(o*=o)?(a=(c+o-n)/(2*c),i=Math.sqrt(Math.max(0,o/c-a*a)),r.x=e.x-a*l-i*s,r.y=e.y-a*s+i*l):(a=(c+n-o)/(2*c),i=Math.sqrt(Math.max(0,n/c-a*a)),r.x=t.x+a*l-i*s,r.y=t.y+a*s+i*l)):(r.x=t.x+r.r,r.y=t.y)}function intersects(e,t){var r=e.r+t.r-1e-6,a=t.x-e.x,n=t.y-e.y;return r>0&&r*r>a*a+n*n}function score(e){var t=e._,r=e.next._,a=t.r+r.r,n=(t.x*r.r+r.x*t.r)/a,i=(t.y*r.r+r.y*t.r)/a;return n*n+i*i}function Node(e){this._=e,this.next=null,this.previous=null}function packEnclose(e){if(!(n=e.length))return 0;var t,r,a,n,i,o,l,s,c,u,f;if((t=e[0]).x=0,t.y=0,!(n>1))return t.r;if(r=e[1],t.x=-r.r,r.x=t.r,r.y=0,!(n>2))return t.r+r.r;place(r,t,a=e[2]),t=new Node(t),r=new Node(r),a=new Node(a),t.next=a.previous=r,r.next=t.previous=a,a.next=r.previous=t;e:for(l=3;lA&&(A=l),b=u*u*h,(d=Math.max(A/b,b/f))>p){u-=l;break}p=d}g.push(o={value:u,dice:s1?t:1)},r}(phi);function treemap(){var e=treemapSquarify,t=!1,r=1,a=1,n=[0],i=constantZero,o=constantZero,l=constantZero,s=constantZero,c=constantZero;function u(e){return e.x0=e.y0=0,e.x1=r,e.y1=a,e.eachBefore(f),n=[0],t&&e.eachBefore(roundNode),e}function f(t){var r=n[t.depth],a=t.x0+r,u=t.y0+r,f=t.x1-r,A=t.y1-r;f=r-1){var u=l[t];return u.x0=n,u.y0=i,u.x1=o,void(u.y1=s)}var f=c[t],A=a/2+f,d=t+1,p=r-1;for(;d>>1;c[h]s-i){var m=(n*g+o*b)/a;e(t,d,b,n,i,m,s),e(d,r,g,m,i,o,s)}else{var v=(i*g+s*b)/a;e(t,d,b,n,i,o,v),e(d,r,g,n,v,o,s)}}(0,s,e.value,t,r,a,n)}function treemapSliceDice(e,t,r,a,n){(1&e.depth?treemapSlice:treemapDice)(e,t,r,a,n)}const treemapResquarify=function e(t){function r(e,r,a,n,i){if((o=e._squarify)&&o.ratio===t)for(var o,l,s,c,u,f=-1,A=o.length,d=e.value;++f1?t:1)},r}(phi);propTypesExports.func,propTypesExports.func,propTypesExports.string,propTypesExports.string,propTypesExports.object.isRequired,propTypesExports.number.isRequired,propTypesExports.bool,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.func,propTypesExports.number.isRequired,propTypesExports.oneOfType([propTypesExports.func,propTypesExports.number]);var _extends$j=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r}function _classCallCheck$9(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn$9(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits$9(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var CONTAINER_REF="container",resizeSubscribers=[],DEBOUNCE_DURATION=100,timeoutId=null;function debounceEmitResize(){window_1.clearTimeout(timeoutId),timeoutId=window_1.setTimeout(emitResize,DEBOUNCE_DURATION)}function emitResize(){resizeSubscribers.forEach((function(e){return e()}))}function subscribeToDebouncedResize(e){return resizeSubscribers.push(e),1===resizeSubscribers.length&&window_1.addEventListener("resize",debounceEmitResize),function(){removeSubscriber(e),0===resizeSubscribers.length&&(window_1.clearTimeout(timeoutId),window_1.removeEventListener("resize",debounceEmitResize))}}function removeSubscriber(e){var t=resizeSubscribers.indexOf(e);t>-1&&resizeSubscribers.splice(t,1)}function getDisplayName(e){return e.displayName||e.name||"Component"}function makeFlexible(e,t,r){var a=function(a){function n(e){_classCallCheck$9(this,n);var t=_possibleConstructorReturn$9(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t._onResize=function(){var e=getDOMNode(t[CONTAINER_REF]),r=e.offsetHeight,a=e.offsetWidth,n=t.state.height===r?{}:{height:r},i=t.state.width===a?{}:{width:a};t.setState(_extends$f({},n,i))},t.state={height:0,width:0},t}return _inherits$9(n,a),_createClass$9(n,null,[{key:"propTypes",get:function(){var t=e.propTypes;return t.height,t.width,_objectWithoutProperties$2(t,["height","width"])}}]),_createClass$9(n,[{key:"componentDidMount",value:function(){this._onResize(),this.cancelSubscription=subscribeToDebouncedResize(this._onResize)}},{key:"componentWillReceiveProps",value:function(){this._onResize()}},{key:"componentWillUnmount",value:function(){this.cancelSubscription()}},{key:"render",value:function(){var a=this,n=this.state,i=n.height,o=n.width,l=_extends$f({},this.props,{animation:0===i&&0===o?null:this.props.animation}),s=_extends$f({},r?{height:i}:{},t?{width:o}:{});return React$k.createElement("div",{ref:function(e){return a[CONTAINER_REF]=e},style:{width:"100%",height:"100%"}},React$k.createElement(e,_extends$f({},s,l)))}}]),n}(React$k.Component);return a.displayName="Flexible"+getDisplayName(e),a}function makeHeightFlexible(e){return makeFlexible(e,!1,!0)}function makeVisFlexible(e){return makeFlexible(e,!0,!0)}function makeWidthFlexible(e){return makeFlexible(e,!0,!1)}makeWidthFlexible(XYPlot),makeHeightFlexible(XYPlot),makeVisFlexible(XYPlot);var hasOwnProperty$1=Object.prototype.hasOwnProperty;function is(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function shallowEqual(e,t){if(is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var n=0;n{function e(){l.current&&c(o(l.current))}return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]),jsxRuntimeExports.jsx("div",{className:"TraceResultsScatterPlot",ref:l,children:s&&jsxRuntimeExports.jsxs(XYPlot,{margin:{left:50},width:s,colorType:"literal",height:200,children:[jsxRuntimeExports.jsx(XAxis,{title:"Time",tickTotal:4,tickFormat:e=>hooks$1(e/ONE_MILLISECOND).format("hh:mm:ss a")}),jsxRuntimeExports.jsx(YAxis,{title:"Duration",tickTotal:3,tickFormat:e=>formatDuration(e)}),jsxRuntimeExports.jsx(MarkSeries,{sizeRange:[3,10],opacity:.5,onValueClick:r,onValueMouseOver:n,onValueMouseOut:i,data:t}),a&&jsxRuntimeExports.jsx(Hint,{value:a,children:jsxRuntimeExports.jsx("h4",{className:"scatter-plot-hint",children:a.name||FALLBACK_TRACE_NAME})})]})})}const valueShape=propTypesExports.shape({x:propTypesExports.number,y:propTypesExports.number,traceID:propTypesExports.string,size:propTypesExports.number,name:propTypesExports.string});ScatterPlotImpl.propTypes={data:propTypesExports.arrayOf(valueShape).isRequired,overValue:valueShape,onValueClick:propTypesExports.func.isRequired,onValueOut:propTypesExports.func.isRequired,onValueOver:propTypesExports.func.isRequired,calculateContainerWidth:propTypesExports.func},ScatterPlotImpl.defaultProps={overValue:null,calculateContainerWidth:e=>e.clientWidth};const ScatterPlot=compose(withState("overValue","setOverValue",null),withProps((({setOverValue:e})=>({onValueOver:t=>e(t),onValueOut:()=>e(null)}))))(ScatterPlotImpl);var object_hashExports={},object_hash={get exports(){return object_hashExports},set exports(e){object_hashExports=e}};!function(e,t){e.exports=function e(t,r,a){function n(o,l){if(!r[o]){if(!t[o]){var s="function"==typeof commonjsRequire&&commonjsRequire;if(!l&&s)return s(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}l=r[o]={exports:{}},t[o][0].call(l.exports,(function(e){return n(t[o][1][e]||e)}),l,l.exports,e,t,r,a)}return r[o].exports}for(var i="function"==typeof commonjsRequire&&commonjsRequire,o=0;o>16),s((65280&a)>>8),s(255&a);return 2==n?s(255&(a=c(e.charAt(r))<<2|c(e.charAt(r+1))>>4)):1==n&&(s((a=c(e.charAt(r))<<10|c(e.charAt(r+1))<<4|c(e.charAt(r+2))>>2)>>8&255),s(255&a)),i},e.fromByteArray=function(e){var t,r,a,n,i=e.length%3,o="";function l(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,a=e.length-i;t>18&63)+l(n>>12&63)+l(n>>6&63)+l(63&n);switch(i){case 1:o=(o+=l((r=e[e.length-1])>>2))+l(r<<4&63)+"==";break;case 2:o=(o=(o+=l((r=(e[e.length-2]<<8)+e[e.length-1])>>10))+l(r>>4&63))+l(r<<2&63)+"="}return o}}(void 0===r?this.base64js={}:r)}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(e,t,r){(function(t,a,n,i,o,l,s,c,u){var f=e("base64-js"),A=e("ieee754");function n(e,t,r){if(!(this instanceof n))return new n(e,t,r);var a,i,o,l,s=typeof e;if("base64"===t&&"string"==s)for(e=(l=e).trim?l.trim():l.replace(/^\s+|\s+$/g,"");e.length%4!=0;)e+="=";if("number"==s)a=S(e);else if("string"==s)a=n.byteLength(e,t);else{if("object"!=s)throw new Error("First argument needs to be a number, array or string.");a=S(e.length)}if(n._useTypedArrays?i=n._augment(new Uint8Array(a)):((i=this).length=a,i._isBuffer=!0),n._useTypedArrays&&"number"==typeof e.byteLength)i._set(e);else if(I(l=e)||n.isBuffer(l)||l&&"object"==typeof l&&"number"==typeof l.length)for(o=0;o>8,r%=256,a.push(r),a.push(t);return a}(t),e,r,a)}function h(e,t,r){var a="";r=Math.min(e.length,r);for(var n=t;n>>0)):(t+1>>0),n}function m(e,t,r,a){if(a||(N("boolean"==typeof r,"missing or invalid endian"),N(null!=t,"missing offset"),N(t+1>>8*(a?i:1-i)}function x(e,t,r,a,n){if(n||(N(null!=t,"missing value"),N("boolean"==typeof a,"missing or invalid endian"),N(null!=r,"missing offset"),N(r+3>>8*(a?i:3-i)&255}function E(e,t,r,a,n){n||(N(null!=t,"missing value"),N("boolean"==typeof a,"missing or invalid endian"),N(null!=r,"missing offset"),N(r+1this.length&&(a=this.length);var i=(a=e.length-t=this.length))return this[e]},n.prototype.readUInt16LE=function(e,t){return b(this,e,!0,t)},n.prototype.readUInt16BE=function(e,t){return b(this,e,!1,t)},n.prototype.readUInt32LE=function(e,t){return g(this,e,!0,t)},n.prototype.readUInt32BE=function(e,t){return g(this,e,!1,t)},n.prototype.readInt8=function(e,t){if(t||(N(null!=e,"missing offset"),N(e=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},n.prototype.readInt16LE=function(e,t){return m(this,e,!0,t)},n.prototype.readInt16BE=function(e,t){return m(this,e,!1,t)},n.prototype.readInt32LE=function(e,t){return v(this,e,!0,t)},n.prototype.readInt32BE=function(e,t){return v(this,e,!1,t)},n.prototype.readFloatLE=function(e,t){return y(this,e,!0,t)},n.prototype.readFloatBE=function(e,t){return y(this,e,!1,t)},n.prototype.readDoubleLE=function(e,t){return w(this,e,!0,t)},n.prototype.readDoubleBE=function(e,t){return w(this,e,!1,t)},n.prototype.writeUInt8=function(e,t,r){r||(N(null!=e,"missing value"),N(null!=t,"missing offset"),N(t=this.length||(this[t]=e)},n.prototype.writeUInt16LE=function(e,t,r){k(this,e,t,!0,r)},n.prototype.writeUInt16BE=function(e,t,r){k(this,e,t,!1,r)},n.prototype.writeUInt32LE=function(e,t,r){x(this,e,t,!0,r)},n.prototype.writeUInt32BE=function(e,t,r){x(this,e,t,!1,r)},n.prototype.writeInt8=function(e,t,r){r||(N(null!=e,"missing value"),N(null!=t,"missing offset"),N(t=this.length||(0<=e?this.writeUInt8(e,t,r):this.writeUInt8(255+e+1,t,r))},n.prototype.writeInt16LE=function(e,t,r){E(this,e,t,!0,r)},n.prototype.writeInt16BE=function(e,t,r){E(this,e,t,!1,r)},n.prototype.writeInt32LE=function(e,t,r){_(this,e,t,!0,r)},n.prototype.writeInt32BE=function(e,t,r){_(this,e,t,!1,r)},n.prototype.writeFloatLE=function(e,t,r){C(this,e,t,!0,r)},n.prototype.writeFloatBE=function(e,t,r){C(this,e,t,!1,r)},n.prototype.writeDoubleLE=function(e,t,r){$(this,e,t,!0,r)},n.prototype.writeDoubleBE=function(e,t,r){$(this,e,t,!1,r)},n.prototype.fill=function(e,t,r){if(t=t||0,r=r||this.length,N("number"==typeof(e="string"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),"value is not a number"),N(t<=r,"end < start"),r!==t&&0!==this.length){N(0<=t&&t"},n.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(n._useTypedArrays)return new n(this).buffer;for(var e=new Uint8Array(this.length),t=0,r=e.length;t=t.length||n>=e.length);n++)t[n+r]=e[n];return n}function L(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function D(e,t){N("number"==typeof e,"cannot write a non-number as a number"),N(0<=e,"specified a negative value for writing an unsigned value"),N(e<=t,"value is larger than maximum value for type"),N(Math.floor(e)===e,"value has a fractional component")}function z(e,t,r){N("number"==typeof e,"cannot write a non-number as a number"),N(e<=t,"value larger than maximum allowed value"),N(r<=e,"value smaller than minimum allowed value"),N(Math.floor(e)===e,"value has a fractional component")}function F(e,t,r){N("number"==typeof e,"cannot write a non-number as a number"),N(e<=t,"value larger than maximum allowed value"),N(r<=e,"value smaller than minimum allowed value")}function N(e,t){if(!e)throw new Error(t||"Failed assertion")}n._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=T.get,e.set=T.set,e.write=T.write,e.toString=T.toString,e.toLocaleString=T.toString,e.toJSON=T.toJSON,e.copy=T.copy,e.slice=T.slice,e.readUInt8=T.readUInt8,e.readUInt16LE=T.readUInt16LE,e.readUInt16BE=T.readUInt16BE,e.readUInt32LE=T.readUInt32LE,e.readUInt32BE=T.readUInt32BE,e.readInt8=T.readInt8,e.readInt16LE=T.readInt16LE,e.readInt16BE=T.readInt16BE,e.readInt32LE=T.readInt32LE,e.readInt32BE=T.readInt32BE,e.readFloatLE=T.readFloatLE,e.readFloatBE=T.readFloatBE,e.readDoubleLE=T.readDoubleLE,e.readDoubleBE=T.readDoubleBE,e.writeUInt8=T.writeUInt8,e.writeUInt16LE=T.writeUInt16LE,e.writeUInt16BE=T.writeUInt16BE,e.writeUInt32LE=T.writeUInt32LE,e.writeUInt32BE=T.writeUInt32BE,e.writeInt8=T.writeInt8,e.writeInt16LE=T.writeInt16LE,e.writeInt16BE=T.writeInt16BE,e.writeInt32LE=T.writeInt32LE,e.writeInt32BE=T.writeInt32BE,e.writeFloatLE=T.writeFloatLE,e.writeFloatBE=T.writeFloatBE,e.writeDoubleLE=T.writeDoubleLE,e.writeDoubleBE=T.writeDoubleBE,e.fill=T.fill,e.inspect=T.inspect,e.toArrayBuffer=T.toArrayBuffer,e}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(e,t,r){(function(r,a,n,i,o,l,s,c,u){n=e("buffer").Buffer;var f=4,A=new n(f);A.fill(0),t.exports={hash:function(e,t,r,a){for(var i=t(function(e,t){e.length%f!=0&&(r=e.length+(f-e.length%f),e=n.concat([e,A],r));for(var r,a=[],i=t?e.readInt32BE:e.readInt32LE,o=0;oh?t=e(t):t.length>5]|=128<>>9<<4)]=t;for(var r=1732584193,a=-271733879,n=-1732584194,i=271733878,o=0;o>>32-n,r)}function p(e,t,r,a,n,i,o){return d(t&r|~t&a,e,t,n,i,o)}function h(e,t,r,a,n,i,o){return d(t&a|r&~a,e,t,n,i,o)}function b(e,t,r,a,n,i,o){return d(t^r^a,e,t,n,i,o)}function g(e,t,r,a,n,i,o){return d(r^(t|~a),e,t,n,i,o)}function m(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}t.exports=function(e){return f.hash(e,A,16)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(e,t,r){(function(e,r,a,n,i,o,l,s,c){t.exports=function(e){for(var t,r=new Array(e),a=0;a>>((3&a)<<3)&255;return r}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(e,t,r){(function(r,a,n,i,o,l,s,c,u){var f=e("./helpers");function A(e,t){e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var r,a,n,i=Array(80),o=1732584193,l=-271733879,s=-1732584194,c=271733878,u=-1009589776,f=0;f>16)+(t>>16)+(r>>16)<<16|65535&r}function p(e,t){return e<>>32-t}t.exports=function(e){return f.hash(e,A,20,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(e,t,r){(function(r,a,n,i,o,l,s,c,u){function f(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function A(e,t){var r,a=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),n=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),i=new Array(64);e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var o,l,s=0;s>>t|e<<32-t},h=function(e,t){return e>>>t};t.exports=function(e){return d.hash(e,A,32,!0)}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(e,t,r){(function(e,t,a,n,i,o,l,s,c){r.read=function(e,t,r,a,n){var i,o,l=8*n-a-1,s=(1<>1,u=-7,f=r?n-1:0,A=r?-1:1;for(n=e[t+f],f+=A,i=n&(1<<-u)-1,n>>=-u,u+=l;0>=-u,u+=a;0>1,f=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,A=a?0:i-1,d=a?1:-1;for(i=t<0||0===t&&1/t<0?1:0,t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-o))<1&&(o--,a*=2),2<=(t+=1<=o+u?f/a:f*Math.pow(2,1-u))*a&&(o++,a/=2),c<=o+u?(l=0,o=c):1<=o+u?(l=(t*a-1)*Math.pow(2,n),o+=u):(l=t*Math.pow(2,u-1)*Math.pow(2,n),o=0));8<=n;e[r+A]=255&l,A+=d,l/=256,n-=8);for(o=o<`${e}\v${t}`;function group(e){const t={};return e.forEach((({key:e,value:r})=>{t[e]||(t[e]=[]),t[e].push(r)})),t}function transformDdgData({dependencies:e},{service:t,operation:r}){const a=new Map,n=new Map,i=new Map,o=[],l=e.sort((({path:e},{path:t})=>{let r=i.get(e);r||(r=e.map(stringifyEntry).join(),i.set(e,r));let a=i.get(t);return a||(a=t.map(stringifyEntry).join(),i.set(t,a)),r>a?1:r{o.push(i.get(e)||e.map(stringifyEntry).join());const{exemplar_trace_id:s}=group(l),c={focalIdx:-1,members:[],traceIDs:s};if(c.members=e.map((({operation:e,service:n},i)=>{let o=a.get(n);o||(o={name:n,operations:new Map},a.set(n,o));let l=o.operations.get(e);l||(l={name:e,service:o,pathElems:[]},o.operations.set(e,l)),-1!==c.focalIdx||n!==t||null!=r&&e!==r||(c.focalIdx=i);const s=new PathElem({path:c,operation:l,memberIdx:i});return l.pathElems.push(s),s})),-1===c.focalIdx)throw new Error("A payload path lacked the focalNode");return c.members.forEach((e=>{const t=n.get(e.distance);t?t.push(e):n.set(e.distance,[e])})),c}));let s,c,u=0,f=1;const A=[];function d(e){e.visibilityIdx=A.length,A.push(e)}do{s=n.get(u--),c=n.get(f++),s&&s.forEach(d),c&&c.forEach(d)}while(s||c);return{paths:l,hash:objectHash(o).slice(0,16),distanceToPathElems:n,services:a,visIdxToPathElem:A}}const transformDdgData$1=memoizeOne$1(transformDdgData);class TreeNode{static iterFunction(e,t=0){return r=>e(r.value,r,t)}static searchFunction(e){return"function"==typeof e?e:(t,r)=>e instanceof TreeNode?r===e:t===e}constructor(e,t=[]){this.value=e,this.children=t}get depth(){return this.children.reduce(((e,t)=>Math.max(t.depth+1,e)),1)}get size(){let e=0;return this.walk((()=>e++)),e}addChild(e){return this.children.push(e instanceof TreeNode?e:new TreeNode(e)),this}find(e){if(TreeNode.iterFunction(TreeNode.searchFunction(e))(this))return this;for(let t=0;t{const n=a.concat([e]);if(t(e))return n;for(let t=0;t=0;)r.push({node:t.children[i],depth:a}),i--}}paths(e){const t=[];t.push({node:this,childIndex:0});for(;t.length;){const{node:r,childIndex:a}=t[t.length-1];if(r.children.length>=a+1)t[t.length-1].childIndex++,t.push({node:r.children[a],childIndex:0});else{if(0===r.children.length){e(t.map((e=>e.node.value)))}t.pop()}}return[]}}const TREE_ROOT_ID="__root__";function getTraceSpanIdsAsTree(e){const t=new Map(e.spans.map((e=>[e.spanID,new TreeNode(e.spanID)]))),r=new Map(e.spans.map((e=>[e.spanID,e]))),a=new TreeNode(TREE_ROOT_ID);e.spans.forEach((e=>{const r=t.get(e.spanID);if(Array.isArray(e.references)&&e.references.length){const{refType:n,spanID:i}=e.references[0];if("CHILD_OF"!==n&&"FOLLOWS_FROM"!==n)throw new Error(`Unrecognized ref type: ${n}`);(t.get(i)||a).children.push(r)}else a.children.push(r)}));const n=(e,t)=>{const a=r.get(e.value),n=r.get(t.value);return+(a.startTime>n.startTime)||+(a.startTime===n.startTime)-1};return e.spans.forEach((e=>{const r=t.get(e.spanID);r.children.length>1&&r.children.sort(n)})),a.children.sort(n),a}const isKindServer=e=>e.tags.find((({key:e,value:t})=>"span.kind"===e&&"server"===t));function transformTracesToPaths(e,t,r){const a=new Map;Object.values(e).forEach((({data:e})=>{if(e){const n=new Map,{traceID:i}=e;e.spans.forEach((e=>n.set(e.spanID,e)));getTraceSpanIdsAsTree(e).paths((o=>{const l=o.reduce(((e,t)=>{if(t===TREE_ROOT_ID)return e;const r=n.get(t);if(!r)throw new Error(`Ancestor spanID ${t} not found in trace ${i}`);return(0===e.length||e[e.length-1].processID!==r.processID||isKindServer(r))&&e.push(r),e}),[]),s=l.map((({processID:t,operationName:r})=>({service:e.processes[t].serviceName,operation:r})));if(s.some((({service:e,operation:a})=>e===t&&(!r||a===r)))){const e=s.map((e=>`${e.operation}:${e.service}`)).join("/"),t=a.get(e);t?t.attributes.push({key:"exemplar_trace_id",value:i}):a.set(e,{path:s,attributes:[{key:"exemplar_trace_id",value:i}]})}}))}}));return{dependencies:Array.from(a.values())}}const transformTracesToPaths$1=memoizeOne$1(transformTracesToPaths),svcOp=memoizeOne$1(((e,t)=>({service:e,operation:t})));function mapStateToProps$7(e,t){const r=getUrlState$2(t.location.search),{density:a,operation:n,service:i,showOp:o}=r,l=void 0!==o?o:void 0!==n;let s,c;if(i){const t=transformTracesToPaths$1(e.trace.traces,i,n);s={model:transformDdgData$1(t,svcOp(i,n)),state:fetchedState.DONE,viewModifiers:new Map},c=makeGraph(s.model,l,a)}return{graph:c,graphState:s,showOp:l,urlState:sanitizeUrlState(r,get_1$1(s,"model.hash")),...extractUiFindFromState(e)}}class TracesDdgImpl extends reactExports.PureComponent{render(){const{location:e}=this.props,t=queryString.parse(e.search),{end:r,start:a,limit:n,lookback:i,maxDuration:o,minDuration:l,view:s}=t,c={end:r,start:a,limit:n,lookback:i,maxDuration:o,minDuration:l,view:s};return jsxRuntimeExports.jsx(DeepDependencyGraphPageImpl,{baseUrl:ROUTE_PATH$2,extraUrlArgs:c,showSvcOpsHeader:!1,...this.props})}}const SearchResultsDDG=connect$3(mapStateToProps$7)(TracesDdgImpl),MOST_RECENT="MOST_RECENT",LONGEST_FIRST="LONGEST_FIRST",SHORTEST_FIRST="SHORTEST_FIRST",MOST_SPANS="MOST_SPANS",LEAST_SPANS="LEAST_SPANS";var baseFlatten=_baseFlatten,map=map_1;function flatMap(e,t){return baseFlatten(map(e,t),1)}var flatMap_1=flatMap;function getStrings(e){return"string"==typeof e?e:flatMap_1(e,getStrings)}const VALUE_ENABLED="1",VERSION_0="v0",STATE_PARAMS_V0={searchHideGraph:"uiSearchHideGraph",timeline:{collapseTitle:"uiTimelineCollapseTitle",hideMinimap:"uiTimelineHideMinimap",hideSummary:"uiTimelineHideSummary"}},PARAM_KEYS_V0=getStrings(STATE_PARAMS_V0);function getEmbeddedState(e){const{uiEmbed:t,...r}=queryString.parse(e);return t!==VERSION_0?null:{version:VERSION_0,searchHideGraph:r[STATE_PARAMS_V0.searchHideGraph]===VALUE_ENABLED,timeline:{collapseTitle:r[STATE_PARAMS_V0.timeline.collapseTitle]===VALUE_ENABLED,hideMinimap:r[STATE_PARAMS_V0.timeline.hideMinimap]===VALUE_ENABLED,hideSummary:r[STATE_PARAMS_V0.timeline.hideSummary]===VALUE_ENABLED}}}function stripEmbeddedState(e){const{uiEmbed:t,...r}=e;return t===VERSION_0&&PARAM_KEYS_V0.forEach(Reflect.deleteProperty.bind(null,r)),r}const index$k="",Option$1=Select.Option;function SelectSortImpl(){return jsxRuntimeExports.jsxs("label",{children:["Sort:"," ",jsxRuntimeExports.jsxs(Field,{name:"sortBy",component:reduxFormFieldAdapter({AntInputComponent:Select}),children:[jsxRuntimeExports.jsx(Option$1,{value:MOST_RECENT,children:"Most Recent"}),jsxRuntimeExports.jsx(Option$1,{value:LONGEST_FIRST,children:"Longest First"}),jsxRuntimeExports.jsx(Option$1,{value:SHORTEST_FIRST,children:"Shortest First"}),jsxRuntimeExports.jsx(Option$1,{value:MOST_SPANS,children:"Most Spans"}),jsxRuntimeExports.jsx(Option$1,{value:LEAST_SPANS,children:"Least Spans"})]})]})}const SelectSort=reduxForm({form:"traceResultsSort",initialValues:{sortBy:MOST_RECENT}})(SelectSortImpl),sortFormSelector=formValueSelector("traceResultsSort");class UnconnectedSearchResults extends reactExports.PureComponent{constructor(){super(...arguments),this.toggleComparison=(e,t)=>{const{cohortAddTrace:r,cohortRemoveTrace:a}=this.props;t?a(e):r(e)},this.onDdgViewClicked=()=>{const{location:e,history:t}=this.props,r=queryString.parse(e.search),a=r.view&&"ddg"===r.view?EAltViewActions.Traces:EAltViewActions.Ddg;trackAltView(a),t.push(getUrl$2({...r,view:a}))},this.onDownloadResultsClicked=()=>{const e=createBlob(this.props.rawTraces),t=document.createElement("a");t.href=URL.createObjectURL(e),t.download=`traces-${Date.now()}.json`,document.body.appendChild(t),t.click(),URL.revokeObjectURL(t.href),t.remove()}}render(){const{diffCohort:e,disableComparisons:t,goToTrace:r,hideGraph:a,history:n,loading:i,location:o,maxTraceDuration:l,queryOfResults:s,showStandaloneLink:c,skipMessage:u,spanLinks:f,traces:A}=this.props,d="ddg"!==queryString.parse(o.search).view,p=!t&&jsxRuntimeExports.jsx(DiffSelection,{toggleComparison:this.toggleComparison,traces:e});if(i)return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[e.length>0&&p,jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0})]});if(!Array.isArray(A)||!A.length)return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[e.length>0&&p,!u&&jsxRuntimeExports.jsx("div",{className:"u-simple-card","data-test":NO_RESULTS,children:"No trace results. Try another query."})]});const h=new Set(e.map((e=>e.id))),b=s?getUrl$2(stripEmbeddedState(s)):getUrl$2(),g=({key:e,value:t})=>"error"===e&&(!0===t||"true"===t);return jsxRuntimeExports.jsxs("div",{className:"SearchResults",children:[jsxRuntimeExports.jsxs("div",{className:"SearchResults--header",children:[!a&&d&&jsxRuntimeExports.jsx("div",{className:"ub-p3 SearchResults--headerScatterPlot",children:jsxRuntimeExports.jsx(ScatterPlot,{data:A.map((e=>({x:e.startTime,y:e.duration,traceID:e.traceID,size:e.spans.length,name:e.traceName,color:e.spans.some((e=>e.tags.some(g)))?"red":"#12939A"}))),onValueClick:e=>{r(e.traceID)}})}),jsxRuntimeExports.jsxs("div",{className:"SearchResults--headerOverview",children:[jsxRuntimeExports.jsxs("h2",{className:"ub-m0 u-flex-1",children:[A.length," Trace",A.length>1&&"s"]}),d&&jsxRuntimeExports.jsx(SelectSort,{}),d&&jsxRuntimeExports.jsx(DownloadResults,{onDownloadResultsClicked:this.onDownloadResultsClicked}),jsxRuntimeExports.jsx(AltViewOptions$2,{traceResultsView:d,onDdgViewClicked:this.onDdgViewClicked}),c&&jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-ml3",to:b,target:"_blank",rel:"noopener noreferrer",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})]})]}),!d&&jsxRuntimeExports.jsx("div",{className:"SearchResults--ddg-container",children:jsxRuntimeExports.jsx(SearchResultsDDG,{location:o,history:n})}),d&&p,d&&jsxRuntimeExports.jsx("ul",{className:"ub-list-reset",children:A.map((e=>jsxRuntimeExports.jsx("li",{className:"ub-my3",children:jsxRuntimeExports.jsx(ResultItem,{durationPercent:getPercentageOfDuration(e.duration,l),isInDiffCohort:h.has(e.traceID),linkTo:getLocation(e.traceID,{fromSearch:b},f&&(f[e.traceID]||f[e.traceID.replace(/^0*/,"")])),toggleComparison:this.toggleComparison,trace:e,disableComparision:t})},e.traceID)))})]})}}function createBlob(e){return new Blob([`{"data":${JSON.stringify(e)}}`],{type:"application/json"})}UnconnectedSearchResults.defaultProps={skipMessage:!1,spanLinks:void 0,queryOfResults:void 0};const SearchResults=withRouter$1(UnconnectedSearchResults);function readJsonFile(e){return new Promise(((t,r)=>{const a=new FileReader;a.onload=()=>{if("string"==typeof a.result)try{t(JSON.parse(a.result))}catch(error){r(new Error(`Error parsing JSON: ${error.message}`))}else r(new Error("Invalid result type"))},a.onerror=()=>{const e=a.error?`: ${String(a.error)}`:"";r(new Error(`Error reading the JSON file${e}`))},a.onabort=()=>{r(new Error("Reading the JSON file has been aborted"))};try{a.readAsText(e.file)}catch(error){r(new Error(`Error reading the JSON file: ${error.message}`))}}))}const loadJsonTraces=createAction("@FILE_READER_API/LOAD_JSON",(e=>readJsonFile(e)),(e=>({fileList:e}))),fileReaderActions=Object.freeze(Object.defineProperty({__proto__:null,loadJsonTraces:loadJsonTraces},Symbol.toStringTag,{value:"Module"}));function guardReducer(e){return function(t,{payload:r}){return r?e(t,r):t}}function guardReducerWithMeta(e){return function(t,r){return r.payload&&r.meta?e(t,r):t}}function newInitialState$1(){return{cohort:[],a:null,b:null}}const actionTypes$2=generateActionTypes("@jaeger-ui/trace-diff",["COHORT_ADD_TRACE","COHORT_REMOVE_TRACE","DIFF_SET_A","DIFF_SET_B","FORCE_STATE"]),fullActions$2=createActions({[actionTypes$2.COHORT_ADD_TRACE]:e=>({traceID:e}),[actionTypes$2.COHORT_REMOVE_TRACE]:e=>({traceID:e}),[actionTypes$2.DIFF_SET_A]:e=>({traceID:e}),[actionTypes$2.DIFF_SET_B]:e=>({traceID:e}),[actionTypes$2.FORCE_STATE]:e=>({newState:e})}),actions$3=fullActions$2.jaegerUi.traceDiff;function cohortAddTrace(e,{traceID:t}){if(e.cohort.indexOf(t)>=0)return e;const r=e.cohort.slice();return r.push(t),{...e,cohort:r}}function cohortRemoveTrace(e,{traceID:t}){const r=e.cohort.indexOf(t);if(r<0)return e;const a=e.cohort.slice();a.splice(r,1);const n=e.a===t?null:e.a,i=e.b===t?null:e.b;return{...e,a:n,b:i,cohort:a}}function diffSetA(e,{traceID:t}){return{...e,a:t}}function diffSetB(e,{traceID:t}){return{...e,b:t}}function forceState(e,{newState:t}){return t}const traceDiff=handleActions({[actionTypes$2.COHORT_ADD_TRACE]:guardReducer(cohortAddTrace),[actionTypes$2.COHORT_REMOVE_TRACE]:guardReducer(cohortRemoveTrace),[actionTypes$2.DIFF_SET_A]:guardReducer(diffSetA),[actionTypes$2.DIFF_SET_B]:guardReducer(diffSetB),[actionTypes$2.FORCE_STATE]:guardReducer(forceState)},newInitialState$1()),comparators={[MOST_RECENT]:(e,t)=>+(t.startTime>e.startTime)||+(e.startTime===t.startTime)-1,[SHORTEST_FIRST]:(e,t)=>+(e.duration>t.duration)||+(e.duration===t.duration)-1,[LONGEST_FIRST]:(e,t)=>+(t.duration>e.duration)||+(e.duration===t.duration)-1,[MOST_SPANS]:(e,t)=>+(t.spans.length>e.spans.length)||+(e.spans.length===t.spans.length)-1,[LEAST_SPANS]:(e,t)=>+(e.spans.length>t.spans.length)||+(e.spans.length===t.spans.length)-1};function sortTraces(e,t){const r=comparators[t]||comparators[LONGEST_FIRST];e.sort(r)}const getStaticAssetPath=e=>isString$6(window.staticPath)?new URL(e,window.staticPath).href:e,index$j="",index$i="";function getError(e,t){var r="cannot "+e.method+" "+e.action+" "+t.status+"'",a=new Error(r);return a.status=t.status,a.method=e.method,a.url=e.action,a}function getBody(t){var r=t.responseText||t.response;if(!r)return r;try{return JSON.parse(r)}catch(e){return r}}function upload(e){var t=new XMLHttpRequest;e.onProgress&&t.upload&&(t.upload.onprogress=function(t){t.total>0&&(t.percent=t.loaded/t.total*100),e.onProgress(t)});var r=new FormData;e.data&&Object.keys(e.data).forEach((function(t){var a=e.data[t];Array.isArray(a)?a.forEach((function(e){r.append(t+"[]",e)})):r.append(t,e.data[t])})),r.append(e.filename,e.file),t.onerror=function(t){e.onError(t)},t.onload=function(){if(t.status<200||t.status>=300)return e.onError(getError(e,t),getBody(t));e.onSuccess(getBody(t),t)},t.open(e.method,e.action,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);var a=e.headers||{};for(var n in null!==a["X-Requested-With"]&&t.setRequestHeader("X-Requested-With","XMLHttpRequest"),a)a.hasOwnProperty(n)&&null!==a[n]&&t.setRequestHeader(n,a[n]);return t.send(r),{abort:function(){t.abort()}}}var now$1=+new Date,index$h=0;function uid(){return"rc-upload-"+now$1+"-"+ ++index$h}function endsWith(e,t){return-1!==e.indexOf(t,e.length-t.length)}const attrAccept=function(e,t){if(e&&t){var r=Array.isArray(t)?t:t.split(","),a=e.name||"",n=e.type||"",i=n.replace(/\/.*$/,"");return r.some((function(e){var t=e.trim();return"."===t.charAt(0)?endsWith(a.toLowerCase(),t.toLowerCase()):/\/\*$/.test(t)?i===t.replace(/\/.*$/,""):n===t}))}return!0};function loopFiles(e,t){var r=e.createReader(),a=[];!function e(){r.readEntries((function(r){var n=Array.prototype.slice.apply(r);a=a.concat(n),!n.length?t(a):e()}))}()}var traverseFileTree=function(e,t,r){var a=function e(a,n){n=n||"",a.isFile?a.file((function(e){r(e)&&(a.fullPath&&!e.webkitRelativePath&&(Object.defineProperties(e,{webkitRelativePath:{writable:!0}}),e.webkitRelativePath=a.fullPath.replace(/^\//,""),Object.defineProperties(e,{webkitRelativePath:{writable:!1}})),t([e]))})):a.isDirectory&&loopFiles(a,(function(t){t.forEach((function(t){e(t,""+n+a.name+"/")}))}))},n=!0,i=!1,o=void 0;try{for(var l,s=e[Symbol.iterator]();!(n=(l=s.next()).done);n=!0){a(l.value.webkitGetAsEntry())}}catch(err){i=!0,o=err}finally{try{!n&&s.return&&s.return()}finally{if(i)throw o}}},AjaxUploader=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;odocument.domain="'+e+'";",r=''}return'\n \n \n \n \n \n '+t+'\n \n \n
\n \n '+r+'\n \n
\n \n \n '}},{key:"initIframeSrc",value:function(){this.domain&&(this.getIframeNode().src="javascript:void((function(){\n var d = document;\n d.open();\n d.domain='"+this.domain+"';\n d.write('');\n d.close();\n })())")}},{key:"initIframe",value:function(){var t=this.getIframeNode(),r=t.contentWindow,a=void 0;this.domain=this.domain||"",this.initIframeSrc();try{a=r.document}catch(e){this.domain=document.domain,this.initIframeSrc(),a=(r=t.contentWindow).document}a.open("text/html","replace"),a.write(this.getIframeHTML(this.domain)),a.close(),this.getFormInputNode().onchange=this.onChange}},{key:"endUpload",value:function(){this.state.uploading&&(this.file={},this.state.uploading=!1,this.setState({uploading:!1}),this.initIframe())}},{key:"startUpload",value:function(){this.state.uploading||(this.state.uploading=!0,this.setState({uploading:!0}))}},{key:"updateIframeWH",value:function(){var e=ReactDOM.findDOMNode(this),t=this.getIframeNode();t.style.height=e.offsetHeight+"px",t.style.width=e.offsetWidth+"px"}},{key:"abort",value:function(e){if(e){var t=e;e&&e.uid&&(t=e.uid),t===this.file.uid&&this.endUpload()}else this.endUpload()}},{key:"post",value:function(e){var t=this,r=this.getFormNode(),a=this.getFormDataNode(),n=this.props.data,i=this.props.onStart;"function"==typeof n&&(n=n(e));var o=document.createDocumentFragment();for(var l in n)if(n.hasOwnProperty(l)){var s=document.createElement("input");s.setAttribute("name",l),s.value=n[l],o.appendChild(s)}a.appendChild(o),new Promise((function(r){var a=t.props.action;if("function"==typeof a)return r(a(e));r(a)})).then((function(t){r.setAttribute("action",t),r.submit(),a.innerHTML="",i(e)}))}},{key:"render",value:function(){var e,t=this.props,r=t.component,a=t.disabled,n=t.className,i=t.prefixCls,o=t.children,l=t.style,s=_default$bE({},IFRAME_STYLE,{display:this.state.uploading||a?"none":""}),c=classnamesExports((_default$e(e={},i,!0),_default$e(e,i+"-disabled",a),_default$e(e,n,n),e));return React$k.createElement(r,{className:c,style:_default$bE({position:"relative",zIndex:0},l)},React$k.createElement("iframe",{ref:this.saveIframe,onLoad:this.onLoad,style:s}),o)}}]),r}(reactExports.Component);function empty$2(){}IframeUploader.propTypes={component:propTypesExports.string,style:propTypesExports.object,disabled:propTypesExports.bool,prefixCls:propTypesExports.string,className:propTypesExports.string,accept:propTypesExports.string,onStart:propTypesExports.func,multiple:propTypesExports.bool,children:propTypesExports.any,data:propTypesExports.oneOfType([propTypesExports.object,propTypesExports.func]),action:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.func]),name:propTypesExports.string};var Upload$2=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=.98||(r+=e,(e-=.01)<.001&&(e=.001)),r}}function getFileItem(e,t){var r=void 0!==e.uid?"uid":"name";return t.filter((function(t){return t[r]===e[r]}))[0]}function removeFileItem(e,t){var r=void 0!==e.uid?"uid":"name",a=t.filter((function(t){return t[r]!==e[r]}));return a.length===t.length?null:a}var extname=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split("/"),t=e[e.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(t)||[""])[0]},isImageFileType=function(e){return!!e&&0===e.indexOf("image/")},isImageUrl=function(e){if(isImageFileType(e.type))return!0;var t=e.thumbUrl||e.url,r=extname(t);return!(!/^data:image\//.test(t)&&!/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(r))||!/^data:/.test(t)&&!r},MEASURE_SIZE=200;function previewImage(e){return new Promise((function(t){if(isImageFileType(e.type)){var r=document.createElement("canvas");r.width=MEASURE_SIZE,r.height=MEASURE_SIZE,r.style.cssText="position: fixed; left: 0; top: 0; width: ".concat(MEASURE_SIZE,"px; height: ").concat(MEASURE_SIZE,"px; z-index: 9999; display: none;"),document.body.appendChild(r);var a=r.getContext("2d"),n=new Image;n.onload=function(){var e=n.width,i=n.height,o=MEASURE_SIZE,l=MEASURE_SIZE,s=0,c=0;e100?100:e}function _extends$d(){return _extends$d=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose$1(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function _classCallCheck$7(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$7(e,t){for(var r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0||(n[r]=e[r]);return n}function _classCallCheck$6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$6(e,t){for(var r=0;r4&&void 0!==arguments[4]?arguments[4]:0,i=50-a/2,o=0,l=-i,s=0,c=-2*i;switch(arguments.length>5?arguments[5]:void 0){case"left":o=-i,l=0,s=2*i,c=0;break;case"right":o=i,l=0,s=-2*i,c=0;break;case"bottom":l=i,c=2*i}var u="M 50,50 m ".concat(o,",").concat(l,"\n a ").concat(i,",").concat(i," 0 1 1 ").concat(s,",").concat(-c,"\n a ").concat(i,",").concat(i," 0 1 1 ").concat(-s,",").concat(c),f=2*Math.PI*i;return{pathString:u,pathStyle:{stroke:r,strokeDasharray:"".concat(t/100*(f-n),"px ").concat(f,"px"),strokeDashoffset:"-".concat(n/2+e/100*(f-n),"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s"}}}var Circle$2=function(e){_inherits$6(r,e);var t=_createSuper$6(r);function r(){var e;return _classCallCheck$6(this,r),_defineProperty$7(_assertThisInitialized$6(e=t.call(this)),"paths",{}),_defineProperty$7(_assertThisInitialized$6(e),"gradientId",0),e.gradientId=gradientSeed,gradientSeed+=1,e}return _createClass$6(r,[{key:"getStokeList",value:function(){var e=this,t=this.props,r=t.prefixCls,a=t.percent,n=t.strokeColor,i=t.strokeWidth,o=t.strokeLinecap,l=t.gapDegree,s=t.gapPosition,c=toArray(a),u=toArray(n),f=0;return c.map((function(t,a){var n=u[a]||u[u.length-1],c="[object Object]"===Object.prototype.toString.call(n)?"url(#".concat(r,"-gradient-").concat(e.gradientId,")"):"",A=getPathStyles(f,t,n,i,l,s),d=A.pathString,p=A.pathStyle;return f+=t,React$k.createElement("path",{key:a,className:"".concat(r,"-circle-path"),d:d,stroke:c,strokeLinecap:o,strokeWidth:i,opacity:0===t?0:1,fillOpacity:"0",style:p,ref:function(t){e.paths[a]=t}})}))}},{key:"render",value:function(){var e=this.props,t=e.prefixCls,r=e.strokeWidth,a=e.trailWidth,n=e.gapDegree,i=e.gapPosition,o=e.trailColor,l=e.strokeLinecap,s=e.style,c=e.className,u=e.strokeColor,f=_objectWithoutProperties(e,["prefixCls","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor"]),A=getPathStyles(0,100,o,r,n,i),d=A.pathString,p=A.pathStyle;delete f.percent;var h=toArray(u).find((function(e){return"[object Object]"===Object.prototype.toString.call(e)}));return React$k.createElement("svg",_extends$b({className:"".concat(t,"-circle ").concat(c),viewBox:"0 0 100 100",style:s},f),h&&React$k.createElement("defs",null,React$k.createElement("linearGradient",{id:"".concat(t,"-gradient-").concat(this.gradientId),x1:"100%",y1:"0%",x2:"0%",y2:"0%"},Object.keys(h).sort((function(e,t){return stripPercentToNumber(e)-stripPercentToNumber(t)})).map((function(e,t){return React$k.createElement("stop",{key:t,offset:e,stopColor:h[e]})})))),React$k.createElement("path",{className:"".concat(t,"-circle-trail"),d:d,stroke:o,strokeLinecap:l,strokeWidth:a||r,fillOpacity:"0",style:p}),this.getStokeList().reverse())}}]),r}(reactExports.Component);Circle$2.propTypes=_objectSpread(_objectSpread({},propTypes),{},{gapPosition:propTypesExports.oneOf(["top","bottom","left","right"])}),Circle$2.defaultProps=_objectSpread(_objectSpread({},defaultProps),{},{gapPosition:"top"});const RCCircle=enhancer(Circle$2);function _defineProperty$6(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var statusColorMap={normal:"#108ee9",exception:"#ff5500",success:"#87d068"};function getPercentage(e){var t=e.percent,r=e.successPercent,a=validProgress(t);if(!r)return a;var n=validProgress(r);return[r,validProgress(a-n)]}function getStrokeColor(e){var t=e.progressStatus,r=e.successPercent,a=e.strokeColor||statusColorMap[t];return r?[statusColorMap.success,a]:a}var Circle=function(e){var t=e.prefixCls,r=e.width,a=e.strokeWidth,n=e.trailColor,i=e.strokeLinecap,o=e.gapPosition,l=e.gapDegree,s=e.type,c=e.children,u=r||120,f={width:u,height:u,fontSize:.15*u+6},A=a||6,d=o||"dashboard"===s&&"bottom"||"top",p=l||("dashboard"===s?75:void 0),h=getStrokeColor(e),b="[object Object]"===Object.prototype.toString.call(h),g=classNames("".concat(t,"-inner"),_defineProperty$6({},"".concat(t,"-circle-gradient"),b));return reactExports.createElement("div",{className:g,style:f},reactExports.createElement(RCCircle,{percent:getPercentage(e),strokeWidth:A,trailWidth:A,strokeColor:h,strokeLinecap:i,trailColor:n,prefixCls:t,gapDegree:p,gapPosition:d}),c)};const Circle$1=Circle;function _typeof$6(e){return _typeof$6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$6(e)}function _defineProperty$5(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _extends$a(){return _extends$a=Object.assign||function(e){for(var t=1;t=100?"success":e||"normal"}},{key:"renderProcessInfo",value:function(e,t){var r,a=this.props,n=a.showInfo,i=a.format,o=a.type,l=a.percent,s=a.successPercent;if(!n)return null;var c="circle"===o||"dashboard"===o?"":"-circle";return i||"exception"!==t&&"success"!==t?r=(i||function(e){return"".concat(e,"%")})(validProgress(l),validProgress(s)):"exception"===t?r=reactExports.createElement(Icon$1,{type:"close".concat(c),theme:"line"===o?"filled":"outlined"}):"success"===t&&(r=reactExports.createElement(Icon$1,{type:"check".concat(c),theme:"line"===o?"filled":"outlined"})),reactExports.createElement("span",{className:"".concat(e,"-text"),title:"string"==typeof r?r:void 0},r)}},{key:"render",value:function(){return reactExports.createElement(ConfigConsumer,null,this.renderProgress)}}]),r}(reactExports.Component);function _typeof$5(e){return _typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$5(e)}function _defineProperty$4(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _extends$9(){return _extends$9=Object.assign||function(e){for(var t=1;t{const t=["id","origin","swVersion","extensionId","platform","vscode-resource-base-authority","parentOrigin"],r={};return Object.keys(e).forEach((a=>{t.includes(a)||(r[a]=e[a])})),r};class SearchTracePageImpl extends reactExports.Component{constructor(...e){super(...e),_defineProperty3(this,"goToTrace",(e=>{const{queryOfResults:t}=this.props,r=t?getUrl$2(stripEmbeddedState(t)):getUrl$2();this.props.history.push(getLocation(e,{fromSearch:r}))}))}componentDidMount(){const{diffCohort:e,fetchMultipleTraces:t,fetchServiceOperations:r,fetchServices:a,isHomepage:n,queryOfResults:i,searchTraces:o,urlQueryParams:l}=this.props;n||!l||isSameQuery(l,i)||o(l);const s=e.filter((e=>null==e.state)).map((e=>e.id));s.length&&t(s),a();let{service:c}=store_legacy.get("lastSearch")||{};l&&l.service&&(c=l.service),c&&"-"!==c&&r(c)}render(){const{cohortAddTrace:e,cohortRemoveTrace:t,diffCohort:r,embedded:a,errors:n,isHomepage:i,loadingServices:o,loadingTraces:l,maxTraceDuration:s,services:c,traceResults:u,traceResultsToDownload:f,queryOfResults:A,loadJsonTraces:d,urlQueryParams:p}=this.props,h=u&&u.length>0,b=n&&!l,g=i&&!h&&!l&&!n;return jsxRuntimeExports.jsxs(Row,{className:"SearchTracePage--row",children:[!a&&jsxRuntimeExports.jsx(Col,{span:6,className:"SearchTracePage--column",children:jsxRuntimeExports.jsx("div",{className:"SearchTracePage--find",children:jsxRuntimeExports.jsxs(Tabs,{size:"large",children:[jsxRuntimeExports.jsx(TabPane,{tab:"Search",children:!o&&c?jsxRuntimeExports.jsx(SearchForm,{services:c}):jsxRuntimeExports.jsx(LoadingIndicator,{})},"searchForm"),jsxRuntimeExports.jsx(TabPane,{tab:"Upload",children:jsxRuntimeExports.jsx(FileLoader,{loadJsonTraces:e=>{d(e)}})},"fileLoader")]})})}),jsxRuntimeExports.jsxs(Col,{span:a?24:18,className:"SearchTracePage--column",children:[b&&jsxRuntimeExports.jsxs("div",{className:"js-test-error-message",children:[jsxRuntimeExports.jsx("h2",{children:"There was an error querying for traces:"}),n.map((e=>jsxRuntimeExports.jsx(ErrorMessage,{error:e},e.message)))]}),!b&&jsxRuntimeExports.jsx(SearchResults,{cohortAddTrace:e,cohortRemoveTrace:t,diffCohort:r,disableComparisons:a,goToTrace:this.goToTrace,hideGraph:a&&a.searchHideGraph,loading:l,maxTraceDuration:s,queryOfResults:A,showStandaloneLink:Boolean(a),skipMessage:i,spanLinks:p&&p.spanLinks,traces:u,rawTraces:f}),g&&jsxRuntimeExports.jsx("img",{className:"SearchTracePage--logo js-test-logo",alt:"presentation",src:logoUrl,width:"400"})]})]})}}SearchTracePageImpl.propTypes={isHomepage:propTypesExports.bool,traceResults:propTypesExports.array,traceResultsToDownload:propTypesExports.array,diffCohort:propTypesExports.array,cohortAddTrace:propTypesExports.func,cohortRemoveTrace:propTypesExports.func,embedded:propTypesExports.shape({searchHideGraph:propTypesExports.bool}),maxTraceDuration:propTypesExports.number,loadingServices:propTypesExports.bool,loadingTraces:propTypesExports.bool,urlQueryParams:propTypesExports.shape({service:propTypesExports.string,limit:propTypesExports.string}),queryOfResults:propTypesExports.shape({service:propTypesExports.string,limit:propTypesExports.oneOfType([propTypesExports.string,propTypesExports.number])}),services:propTypesExports.arrayOf(propTypesExports.shape({name:propTypesExports.string,operations:propTypesExports.arrayOf(propTypesExports.string)})),searchTraces:propTypesExports.func,history:propTypesExports.shape({push:propTypesExports.func}),fetchMultipleTraces:propTypesExports.func,fetchServiceOperations:propTypesExports.func,fetchServices:propTypesExports.func,errors:propTypesExports.arrayOf(propTypesExports.shape({message:propTypesExports.string})),loadJsonTraces:propTypesExports.func};const stateTraceXformer=memoizeOne$1((e=>{const{traces:t,rawTraces:r,search:a}=e,{query:n,results:i,state:o,error:l}=a,s=o===fetchedState.LOADING,c=i.map((e=>t[e].data)),u=Math.max.apply(null,c.map((e=>e.duration)));return{traces:c,rawTraces:r,maxDuration:u,traceError:l,loadingTraces:s,query:n}})),stateTraceDiffXformer=memoizeOne$1(((e,t)=>{const{traces:r}=e,{cohort:a}=t;return a.map((e=>r[e]||{id:e}))})),sortedTracesXformer=memoizeOne$1(((e,t)=>{const r=e.slice();return sortTraces(r,t),r})),stateServicesXformer=memoizeOne$1((e=>{const{loading:t,services:r,operationsForService:a,error:n}=e;return{loadingServices:t,services:r&&r.map((e=>({name:e,operations:a[e]||[]}))),serviceError:n}}));function mapStateToProps$6(e){const{embedded:t,router:r,services:a,traceDiff:n}=e,i=getUrlState(r.location.search),o=sanitizeQueryParams(i),l=!Object.keys(i).length,{query:s,traces:c,rawTraces:u,maxDuration:f,traceError:A,loadingTraces:d}=stateTraceXformer(e.trace),p=stateTraceDiffXformer(e.trace,n),{loadingServices:h,services:b,serviceError:g}=stateServicesXformer(a),m=[];A&&m.push(A),g&&m.push(g);const v=sortFormSelector(e,"sortBy");return{queryOfResults:s,diffCohort:p,embedded:t,isHomepage:l,loadingServices:h,loadingTraces:d,services:b,traceResults:sortedTracesXformer(c,v),traceResultsToDownload:u,errors:m.length?m:null,maxTraceDuration:f,sortTracesBy:v,urlQueryParams:Object.keys(o).length>0?o:null}}function mapDispatchToProps$6(e){const{fetchMultipleTraces:t,fetchServiceOperations:r,fetchServices:a,searchTraces:n}=bindActionCreators(jaegerApiActions,e),{loadJsonTraces:i}=bindActionCreators(fileReaderActions,e),{cohortAddTrace:o,cohortRemoveTrace:l}=bindActionCreators(actions$3,e);return{cohortAddTrace:o,cohortRemoveTrace:l,fetchMultipleTraces:t,fetchServiceOperations:r,fetchServices:a,searchTraces:n,loadJsonTraces:i}}const SearchTracePage=connect$3(mapStateToProps$6,mapDispatchToProps$6)(SearchTracePageImpl),EmphasizedNode$1="";class EmphasizedNode extends reactExports.PureComponent{render(){const{height:e,width:t}=this.props;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode--contrast is-non-scaling",vectorEffect:"non-scaling-stroke",width:t,height:e}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode--contrast is-scaling",width:t,height:e}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode is-non-scaling",vectorEffect:"non-scaling-stroke",width:t,height:e}),jsxRuntimeExports.jsx("rect",{className:"EmphasizedNode is-scaling",width:t,height:e})]})}}var toggleSelection=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],a=0;a{this.setState({hasCopied:!0}),copyToClipboard(this.props.copyText)},this.handleTooltipVisibilityChange=e=>{!e&&this.state.hasCopied&&this.setState({hasCopied:!1})}}render(){return jsxRuntimeExports.jsx(Tooltip$1,{arrowPointAtCenter:!0,mouseLeaveDelay:.5,onVisibleChange:this.handleTooltipVisibilityChange,placement:this.props.placement,title:this.state.hasCopied?"Copied":this.props.tooltipTitle,children:jsxRuntimeExports.jsx(Button$2,{className:classnamesExports(this.props.className,"CopyIcon"),htmlType:"button",icon:this.props.icon,onClick:this.handleClick})})}}CopyIcon.defaultProps={className:void 0,icon:"copy",placement:"left"};const renderNode$1="",abs=Math.abs,max=Math.max;class DiffNode extends reactExports.PureComponent{render(){const{a:e,b:t,operation:r,service:a}=this.props,n=e===t,i=classnamesExports({"is-same":n,"is-changed":!n,"is-more":t>e&&e>0,"is-added":0===e,"is-less":e>t&&t>0,"is-removed":0===t}),o=e0||"client"!==l||!s)return;const{operation:c}=o;0===c.indexOf(s)&&c.slice(-a.length)===a&&(e.service=s)}function skipClient(e,t){const{parentID:r,service:a,tags:n}=e,i=null!=r&&t.get(r);if(!i)return;const o=n[SPAN_KIND],l=i.tags[SPAN_KIND],s=i.tags[PEER_SERVICE]||"";"server"===o&&"client"===l&&1===i.children.size&&(i.skipToChild=0===i.operation.indexOf(a)||0===s.indexOf(a))}function fixHttpOperation(e,t){const{parentID:r,operation:a,service:n,tags:i}=e,o=null!=r&&t.get(r);if(!o)return;const l=i[SPAN_KIND],s=i[HTTP_METHOD];if("server"!==l||a!==s)return;const c=o.tags[PEER_SERVICE]||"";if(0===o.operation.indexOf(n)||0===c.indexOf(n)){const t=new RegExp(`^${n}(::)?`),r=o.operation.replace(t,"");e.operation=`${s} ${r}`}}function skipAnnotationSpans(e,t){const{children:r,parentID:a,span:n}=e;if(1!==r.size||0!==n.tags.length)return;const i=null!=a&&t.get(a),o=[...r][0],l=null!=o&&t.get(o);i&&l&&(e.skipToChild=i.span.processID===n.processID)}function skipClientSpans(e,t){const{children:r,parentID:a,span:n,tags:i}=e;if(1!==r.size||"client"!==i[SPAN_KIND])return;const o=null!=a&&t.get(a),l=[...r][0],s=null!=l&&t.get(l);o&&s&&(e.skipToChild="client"===s.tags[SPAN_KIND]&&o.span.processID===n.processID)}function denseTransforms(e,t){fixLeafService(e,t),skipClient(e,t),fixHttpOperation(e,t),skipAnnotationSpans(e,t),skipClientSpans(e,t)}function convSpans(e){const t=new Map,r=new Set,a=[];return e.forEach((e=>{const{spanID:n,operationName:i,process:o,references:l,tags:s}=e;a.push(n);const{serviceName:c}=o,u=s.reduce(((e,t)=>{const{key:r,value:a}=t;return e[r]=a,e}),{});let f=null;if(l&&l.length){const{refType:e,spanID:t}=l[0];"CHILD_OF"!==e&&"FOLLOWS_FROM"!==e?console.warn(`Unrecognized ref type: ${e}`):f=t}const A={id:n,operation:i,parentID:f,service:c,span:e,tags:u,children:new Set,skipToChild:!1},d=f&&t.get(f);d?d.children.add(n):r.add(n),t.set(n,A)})),{ids:a,map:t,roots:r}}function makeDense(e,t){e.forEach((e=>{const r=t.get(e);r&&denseTransforms(r,t)}))}class DenseTrace{constructor(e){this.trace=e;const{ids:t,map:r,roots:a}=convSpans(e.spans);makeDense(t,r),this.rootIDs=a,this.denseSpansMap=r}}function ancestralPathParentOrLeaf(e,t){const{children:r,operation:a,service:n}=e,i=`${n}\t${a}${r.size?"":"\t__LEAF__"}`;return t?`${t}\v${i}`:i}class TraceDag{static newFromTrace(e,t=ancestralPathParentOrLeaf){const r=new TraceDag,{denseSpansMap:a,rootIDs:n}=new DenseTrace(e);function i(e,n){if(!e)return void console.warn("Missing dense span");const{children:o,operation:l,service:s,skipToChild:c}=e;let u;if(c)u=n;else{u=t(e,n);(r.getNode(u)||r.addNode(u,n,{operation:l,service:s,members:[]})).members.push(e)}o.forEach((e=>i(a.get(e),u)))}return n.forEach((e=>i(a.get(e),null))),r}static diff(e,t){const r=new TraceDag;return new Set([...e.nodesMap.keys(),...t.nodesMap.keys()]).forEach((function(a){const n=e.nodesMap.get(a),i=t.nodesMap.get(a),o=n&&n.parentID||i&&i.parentID||null,l=[...n?n.members:[],...i?i.members:[]];r.addNode(a,o,{members:l,a:n?n.members:null,b:i?i.members:null,operation:n&&n.operation||i&&i.operation||"__UNSET__",service:n&&n.service||i&&i.service||"__UNSET__"})})),r}constructor(){this.nodesMap=new Map,this.rootIDs=new Set}hasNode(e){return this.nodesMap.has(e)}getNode(e){return this.nodesMap.get(e)}mustGetNode(e){const t=this.getNode(e);if(!t)throw new Error(`Node not found: ${JSON.stringify(e)}`);return t}addNode(e,t,r){if(this.hasNode(e))throw new Error(`Node already added: ${JSON.stringify(e)}`);const a={...r,id:e,parentID:t,children:new Set};if(this.nodesMap.set(e,a),t){const r=this.nodesMap.get(t);r&&r.children.add(e)}else this.rootIDs.add(e);return a}}function filterSpans(e,t){if(!t)return null;const r=[],a=[],n=e.match(/"[^"]+"|[^\s]+/g),i=n?n.map((e=>e.replace(/"(.*)"/,"$1"))):[];i.filter(Boolean).forEach((e=>{"-"===e[0]?a.push(e.substr(1).toLowerCase()):r.push(e.toLowerCase())}));const o=(e,t)=>e.some((e=>t.toLowerCase().includes(e))),l=e=>!!e&&e.some((e=>!o(a,e.key)&&(o(r,e.key)||o(r,e.value.toString())))),s=new Set(t.filter((e=>o(r,e.operationName)||o(r,e.process.serviceName)||l(e.tags)||null!==e.logs&&e.logs.some((e=>l(e.fields)))||l(e.process.tags)||r.some((t=>t.replace(/^0*/,"")===e.spanID.replace(/^0*/,""))))).map((e=>e.spanID)));return s}function getUiFindVertexKeysFn(e,t){if(!e)return new Set;const r=new Set;return t.forEach((({key:t,data:{members:a}})=>{get_1$1(filterSpans(e,map_1(a,"span")),"size")&&r.add(t)})),r}const getUiFindVertexKeys=memoizeOne$1(getUiFindVertexKeysFn);function getEdgesAndVerticesFn(e,t){const r=TraceDag.newFromTrace(e),a=TraceDag.newFromTrace(t);return convPlexus(TraceDag.diff(r,a).nodesMap)}const getEdgesAndVertices=memoizeOne$1(getEdgesAndVerticesFn),TraceDiffGraph$1="",{classNameIsSmall:classNameIsSmall$1,scaleOpacity:scaleOpacity$1,scaleStrokeOpacity:scaleStrokeOpacity$1}=Digraph.propsFactories;class UnconnectedTraceDiffGraph extends reactExports.PureComponent{constructor(){super(...arguments),this.layoutManager=new LayoutManager({useDotEdges:!0,splines:"polyline"}),this.cacheAs=defaultScope.makeScope()}componentWillUnmount(){this.layoutManager.stopAndRelease()}render(){const{a:e,b:t,uiFind:r=""}=this.props;if(!e||!t)return jsxRuntimeExports.jsx("h1",{className:"u-mt-vast u-tx-muted ub-tx-center",children:"At least two Traces are needed"});if(e.error||t.error)return jsxRuntimeExports.jsxs("div",{className:"TraceDiffGraph--errorsWrapper",children:[e.error&&jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-my4",error:e.error,messageClassName:"TraceDiffGraph--errorMessage"}),t.error&&jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-my4",error:t.error,messageClassName:"TraceDiffGraph--errorMessage"})]});if(e.state===fetchedState.LOADING||t.state===fetchedState.LOADING)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});const a=e.data,n=t.data;if(!a||!n)return jsxRuntimeExports.jsx("div",{className:"TraceDiffGraph--graphWrapper"});const{edges:i,vertices:o}=getEdgesAndVertices(a,n),l=getUiFindVertexKeys(r,o),s=classnamesExports("TraceDiffGraph--dag",{"is-uiFind-mode":r}),c={className:"TraceDiffGraph--uiFind",suffix:r.length?String(l.size):void 0};return jsxRuntimeExports.jsxs("div",{className:"TraceDiffGraph--graphWrapper",children:[jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,className:s,minimapClassName:"u-miniMap",layoutManager:this.layoutManager,measurableNodesKey:"nodes",layers:[{key:"emphasis-nodes",layerType:"svg",renderNode:getNodeEmphasisRenderer(l)},{key:"edges",layerType:"svg",edges:!0,defs:[{localId:"arrow"}],markerEndId:"arrow",setOnContainer:this.cacheAs("edges/container",[scaleOpacity$1,scaleStrokeOpacity$1,{stroke:"#444"}])},{renderNode:renderNode,key:"nodes",measurable:!0,layerType:"html"}],setOnGraph:classNameIsSmall$1,edges:i,vertices:o},`${e.id} vs ${t.id}`),jsxRuntimeExports.jsx(UiFindInput,{inputProps:c})]})}}const TraceDiffGraph=connect$3(extractUiFindFromState)(UnconnectedTraceDiffGraph);function stopPropagation$1(e){e.stopPropagation()}function TraceTimelineLink({traceID:e}){return jsxRuntimeExports.jsx("a",{href:getUrl$6(e),onClick:stopPropagation$1,rel:"noopener noreferrer",target:"_blank",children:jsxRuntimeExports.jsx(NewWindowIcon,{})})}function RelativeDate(e){const{value:t,includeTime:r,fullMonthName:a}=e,n=hooks$1.isMoment(t)?t:hooks$1(t);return`${formatRelativeDate(n,Boolean(a))}${r?`, ${n.format("h:mm:ss a")}`:""}`}const CohortTable$1="",{Column:Column$1}=Table$1,defaultRowSelection={hideDefaultSelections:!0,type:"radio"},NEED_MORE_TRACES_MESSAGE=jsxRuntimeExports.jsx("h3",{className:"CohortTable--needMoreMsg",children:"Enter a Trace ID or perform a search and select from the results."},"msg");class CohortTable extends reactExports.PureComponent{constructor(){super(...arguments),this.getCheckboxProps=e=>{const{current:t,selection:r}=this.props,{id:a,state:n}=e;return n===fetchedState.ERROR||a in r&&a!==t?{disabled:!0}:{}}}render(){const{cohort:e,current:t,selection:r,selectTrace:a}=this.props,n={...defaultRowSelection,getCheckboxProps:this.getCheckboxProps,onChange:e=>a(e[0]),selectedRowKeys:t?[t]:[]};return[jsxRuntimeExports.jsxs(Table$1,{size:"middle",dataSource:e,rowKey:"id",pagination:!1,rowSelection:n,children:[jsxRuntimeExports.jsx(Column$1,{title:"",dataIndex:"id",render:e=>jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:e&&e.slice(0,7)})},"traceID"),jsxRuntimeExports.jsx(Column$1,{title:"Service & Operation",sortOrder:"descend",dataIndex:"data.traceName",render:(e,t)=>{const{data:a,error:n,id:i,state:o}=t,{traceName:l}=a||{},{label:s}=r[i]||{};return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[null!=s&&jsxRuntimeExports.jsx(Tag$1,{className:"ub-bold",color:"#139999",children:s},"lbl"),jsxRuntimeExports.jsx(TraceName,{className:"CohortTable--traceName",error:n,state:o,traceName:l},"name")]})}},"traceName"),jsxRuntimeExports.jsx(Column$1,{title:"Date",dataIndex:"data.startTime",render:(e,t)=>t.state===fetchedState.DONE&&jsxRuntimeExports.jsx(RelativeDate,{fullMonthName:!0,includeTime:!0,value:e/1e3})},"startTime"),jsxRuntimeExports.jsx(Column$1,{title:"Duration",dataIndex:"data.duration",render:(e,t)=>t.state===fetchedState.DONE&&formatDuration(e)},"duration"),jsxRuntimeExports.jsx(Column$1,{title:"Spans",dataIndex:"data.spans.length"},"spans"),jsxRuntimeExports.jsx(Column$1,{className:"ub-tx-center",dataIndex:"data.traceID",render:e=>jsxRuntimeExports.jsx(TraceTimelineLink,{traceID:e})},"link")]},"table"),e.length<2&&NEED_MORE_TRACES_MESSAGE]}}const TraceHeader$1="";function EmptyAttrs(){return jsxRuntimeExports.jsx("ul",{className:"TraecDiffHeader--traceAttributes",children:jsxRuntimeExports.jsx("li",{className:"TraecDiffHeader--traceAttr",children:" "})})}function Attrs(e){const{startTime:t,duration:r,totalSpans:a}=e;return jsxRuntimeExports.jsxs("ul",{className:"TraecDiffHeader--traceAttributes",children:[jsxRuntimeExports.jsx("li",{className:"TraecDiffHeader--traceAttr",children:jsxRuntimeExports.jsx("strong",{children:jsxRuntimeExports.jsx(RelativeDate,{value:(t||0)/1e3,includeTime:!0,fullMonthName:!0})})}),jsxRuntimeExports.jsxs("li",{className:"TraecDiffHeader--traceAttr",children:[jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Duration: "}),jsxRuntimeExports.jsx("strong",{children:formatDuration(r||0)})]}),jsxRuntimeExports.jsxs("li",{className:"TraecDiffHeader--traceAttr",children:[jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Spans: "})," ",jsxRuntimeExports.jsx("strong",{children:a||0})]})]})}function TraceHeader(e){const{duration:t,error:r,startTime:a,state:n,traceID:i,totalSpans:o,traceName:l}=e,s=n===fetchedState.DONE?Attrs:EmptyAttrs;return jsxRuntimeExports.jsxs("div",{className:"TraecDiffHeader--traceHeader",children:[jsxRuntimeExports.jsxs("h1",{className:"TraecDiffHeader--traceTitle",children:[jsxRuntimeExports.jsx("span",{children:i?jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(TraceName,{traceName:l,error:r,state:n},"name")," ",jsxRuntimeExports.jsx("small",{className:"u-tx-muted ub-pr2",children:i.slice(0,7)},"id"),jsxRuntimeExports.jsx(TraceTimelineLink,{traceID:i})]}):jsxRuntimeExports.jsx("span",{className:"u-tx-muted",children:"Select a Trace..."})}),jsxRuntimeExports.jsx(IoChevronDown,{className:"TraecDiffHeader--traceTitleChevron"})]}),jsxRuntimeExports.jsx(s,{startTime:a,duration:t,totalSpans:o})]})}TraceHeader.defaultProps={error:void 0};const{Search:Search$1}=Input$1;function TraceIdInput(e){const{selectTrace:t}=e;return jsxRuntimeExports.jsx(Search$1,{addonBefore:"Select by Trace ID",enterButton:!0,onSearch:t})}const TraceDiffHeader$1="";class TraceDiffHeader extends reactExports.PureComponent{constructor(e){super(e),this.state={tableVisible:null},this._toggleTableA=this._toggleTable.bind(this,"a"),this._toggleTableB=this._toggleTable.bind(this,"b"),this._diffSetA=this._diffSetTrace.bind(this,"a"),this._diffSetB=this._diffSetTrace.bind(this,"b")}_toggleTable(e,t){const r=t?e:null;this.setState({tableVisible:r})}_diffSetTrace(e,t){"a"===e?this.props.diffSetA(t):this.props.diffSetB(t),this.setState({tableVisible:null})}render(){const{a:e,b:t,cohort:r}=this.props,{tableVisible:a}=this.state,{data:n,id:i,state:o,error:l}=e||{},{data:s,id:c,state:u,error:f}=t||{},A={};i&&(A[i]={label:"A"}),c&&(A[c]={label:"B"});const d=jsxRuntimeExports.jsx(CohortTable,{cohort:r,current:i,selectTrace:this._diffSetA,selection:A}),p=jsxRuntimeExports.jsx(CohortTable,{cohort:r,current:c,selectTrace:this._diffSetB,selection:A});return jsxRuntimeExports.jsxs("header",{className:"TraecDiffHeader",children:[jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem-darkened",children:jsxRuntimeExports.jsx("h1",{className:"ub-m0",children:"A"})}),jsxRuntimeExports.jsx(Popover,{overlayClassName:"TraceDiffHeader--popover",trigger:"click",placement:"bottomLeft",title:jsxRuntimeExports.jsx(TraceIdInput,{selectTrace:this._diffSetA}),content:d,visible:"a"===a,onVisibleChange:this._toggleTableA,children:jsxRuntimeExports.jsx("div",{className:"ub-flex u-flex-1",children:jsxRuntimeExports.jsx(TraceHeader,{duration:n&&n.duration,error:l,startTime:n&&n.startTime,state:o,totalSpans:n&&n.spans&&n.spans.length,traceID:i,traceName:n&&n.traceName})})}),jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem",children:jsxRuntimeExports.jsx("h2",{className:"u-tx-muted ub-mx3 ub-my0",children:"VS"})}),jsxRuntimeExports.jsx("div",{className:"TraecDiffHeader--labelItem-darkened",children:jsxRuntimeExports.jsx("h1",{className:"ub-m0",children:"B"})}),jsxRuntimeExports.jsx(Popover,{overlayClassName:"TraceDiffHeader--popover",trigger:"click",placement:"bottomLeft",title:jsxRuntimeExports.jsx(TraceIdInput,{selectTrace:this._diffSetB}),content:p,visible:"b"===a,onVisibleChange:this._toggleTableB,children:jsxRuntimeExports.jsx("div",{className:"ub-flex u-flex-1",children:jsxRuntimeExports.jsx(TraceHeader,{duration:s&&s.duration,error:f,startTime:s&&s.startTime,state:u,totalSpans:s&&s.spans&&s.spans.length,traceID:c,traceName:s&&s.traceName})})})]})}}function pluckTruthy(e){const t=[];for(let r=0;r!s.has(e)));c&&r(e)}class TraceDiffImpl extends reactExports.PureComponent{constructor(){super(...arguments),this.state={graphTopOffset:TOP_NAV_HEIGHT},this.headerWrapperElm=null,this.headerWrapperRef=e=>{this.headerWrapperElm=e,this.setGraphTopOffset()},this.diffSetA=e=>{const t=e.toLowerCase();this.diffSetUrl({newA:t})},this.diffSetB=e=>{const t=e.toLowerCase();this.diffSetUrl({newB:t})}}componentDidMount(){this.processProps()}componentDidUpdate(){this.setGraphTopOffset(),this.processProps()}setGraphTopOffset(){if(this.headerWrapperElm){const e=TOP_NAV_HEIGHT+this.headerWrapperElm.clientHeight;this.state.graphTopOffset!==e&&this.setState({graphTopOffset:e})}else this.setState({graphTopOffset:TOP_NAV_HEIGHT})}processProps(){const{a:e,b:t,cohort:r,fetchMultipleTraces:a,forceState:n,tracesData:i,traceDiffState:o}=this.props;syncStates({a:e,b:t,cohort:r},o,n);const l=r.map((e=>i.get(e)||{id:e,state:null})),s=l.filter((e=>null==e.state)).map((e=>e.id));s.length&&a(s)}diffSetUrl(e){const{newA:t,newB:r}=e,{a:a,b:n,cohort:i,history:o}=this.props,l=getUrl$1({a:t||a,b:r||n,cohort:i});o.push(l)}render(){const{a:e,b:t,cohort:r,tracesData:a}=this.props,{graphTopOffset:n}=this.state,i=e?a.get(e)||{id:e}:null,o=t?a.get(t)||{id:t}:null,l=r.map((e=>a.get(e)||{id:e}));return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{ref:this.headerWrapperRef,children:jsxRuntimeExports.jsx(TraceDiffHeader,{a:i,b:o,cohort:l,diffSetA:this.diffSetA,diffSetB:this.diffSetB},"header")},"header"),jsxRuntimeExports.jsx("div",{className:"TraceDiff--graphWrapper",style:{top:n},children:jsxRuntimeExports.jsx(TraceDiffGraph,{a:i,b:o})},"graph")]})}}function mapStateToProps$5(e,t){const{a:r,b:a}=t.match.params,{cohort:n=[]}=queryString.parse(e.router.location.search),i=new Set(pluckTruthy([r,a].concat(n))),o=Array.from(i),{traces:l}=e.trace,s=o.map((e=>[e,l[e]||{id:e,state:null}]));return{a:r,b:a,cohort:o,tracesData:new Map(s),traceDiffState:e.traceDiff}}function mapDispatchToProps$5(e){const{fetchMultipleTraces:t}=bindActionCreators(jaegerApiActions,e),{forceState:r}=bindActionCreators(actions$3,e);return{fetchMultipleTraces:t,forceState:r}}const TraceDiff=connect$3(mapStateToProps$5,mapDispatchToProps$5)(TraceDiffImpl);function baseClamp$1(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}var _baseClamp=baseClamp$1,baseClamp=_baseClamp,toNumber=toNumber_1;function clamp(e,t,r){return void 0===r&&(r=t,t=void 0),void 0!==r&&(r=(r=toNumber(r))==r?r:0),void 0!==t&&(t=(t=toNumber(t))==t?t:0),baseClamp(toNumber(e),t,r)}var clamp_1=clamp;const index$f="";var Notice=function(e){function t(){var e,r,a;_default$c(this,t);for(var n=arguments.length,i=Array(n),o=0;o=r&&(e.updateKey=o[0].updateKey||o[0].key,o.shift()),o.push(e)),{notices:o}}))},a.remove=function(e){a.setState((function(t){return{notices:t.notices.filter((function(t){return t.key!==e}))}}))},_default$9(a,r)}return _default$8(t,e),_default$b(t,[{key:"getTransitionName",value:function(){var e=this.props,t=e.transitionName;return!t&&e.animation&&(t=e.prefixCls+"-"+e.animation),t}},{key:"render",value:function(){var e,t=this,r=this.props,a=this.state.notices,n=a.map((function(e,n){var i=Boolean(n===a.length-1&&e.updateKey),o=e.updateKey?e.updateKey:e.key,l=createChainedFunction(t.remove.bind(t,e.key),e.onClose);return React$k.createElement(Notice,_default$bE({prefixCls:r.prefixCls},e,{key:o,update:i,onClose:l,onClick:e.onClick,closeIcon:r.closeIcon}),e.content)})),i=(_default$e(e={},r.prefixCls,1),_default$e(e,r.className,!!r.className),e);return React$k.createElement("div",{className:classnamesExports(i),style:r.style},React$k.createElement(Animate$1,{transitionName:this.getTransitionName()},n))}}]),t}(reactExports.Component);function _extends$6(){return _extends$6=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:defaultTop,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:defaultBottom;switch(e){case"topLeft":t={left:0,top:r,bottom:"auto"};break;case"topRight":t={right:0,top:r,bottom:"auto"};break;case"bottomLeft":t={left:0,top:"auto",bottom:a};break;default:t={right:0,top:"auto",bottom:a}}return t}function getNotificationInstance(e,t){var r=e.prefixCls,a=e.placement,n=void 0===a?defaultPlacement:a,i=e.getContainer,o=void 0===i?defaultGetContainer:i,l=e.top,s=e.bottom,c=e.closeIcon,u=void 0===c?defaultCloseIcon:c,f="".concat(r,"-").concat(n);if(notificationInstance[f])t(notificationInstance[f]);else{var A=reactExports.createElement("span",{className:"".concat(r,"-close-x")},u||reactExports.createElement(Icon$1,{className:"".concat(r,"-close-icon"),type:"close"}));Notification.newInstance({prefixCls:r,className:"".concat(r,"-").concat(n),style:getPlacementStyle(n,l,s),getContainer:o,closeIcon:A},(function(e){notificationInstance[f]=e,t(e)}))}}var typeToIcon={success:"check-circle-o",info:"info-circle-o",error:"close-circle-o",warning:"exclamation-circle-o"};function notice(e){var t=e.prefixCls||"ant-notification",r="".concat(t,"-notice"),a=void 0===e.duration?defaultDuration:e.duration,n=null;if(e.icon)n=reactExports.createElement("span",{className:"".concat(r,"-icon")},e.icon);else if(e.type){var i=typeToIcon[e.type];n=reactExports.createElement(Icon$1,{className:"".concat(r,"-icon ").concat(r,"-icon-").concat(e.type),type:i})}var o=!e.description&&n?reactExports.createElement("span",{className:"".concat(r,"-message-single-line-auto-margin")}):null;getNotificationInstance({prefixCls:t,placement:e.placement,top:e.top,bottom:e.bottom,getContainer:e.getContainer,closeIcon:e.closeIcon},(function(t){t.notice({content:reactExports.createElement("div",{className:n?"".concat(r,"-with-icon"):""},n,reactExports.createElement("div",{className:"".concat(r,"-message")},o,e.message),reactExports.createElement("div",{className:"".concat(r,"-description")},e.description),e.btn?reactExports.createElement("span",{className:"".concat(r,"-btn")},e.btn):null),duration:a,closable:!0,onClose:e.onClose,onClick:e.onClick,key:e.key,style:e.style||{},className:e.className})}))}var api={open:notice,close:function(e){Object.keys(notificationInstance).forEach((function(t){return notificationInstance[t].removeNotice(e)}))},config:setNotificationConfig,destroy:function(){Object.keys(notificationInstance).forEach((function(e){notificationInstance[e].destroy(),delete notificationInstance[e]}))}};["success","info","warning","error"].forEach((function(e){api[e]=function(t){return api.open(_extends$6(_extends$6({},t),{type:e}))}})),api.warn=api.warning;const notification=api,index$e="";function getNextNotifiedState(e){const{archivedState:t}=e;return t?t.isLoading?"ENotifiedState.Progress":t.isAcknowledged?null:"ENotifiedState.Outcome":null}function updateNotification(e,t,r){if(e===t)return;if(e&¬ification.close(e),"ENotifiedState.Progress"===t)return void notification.info({key:"ENotifiedState.Progress",description:null,duration:0,icon:jsxRuntimeExports.jsx(Icon$1,{type:"loading"}),message:"Archiving trace..."});const{acknowledge:a,archivedState:n}=r;if("ENotifiedState.Outcome"===t)if(n&&n.error){const{error:e}=n;notification.warn({key:"ENotifiedState.Outcome",className:"ArchiveNotifier--errorNotification",message:jsxRuntimeExports.jsx(Message,{error:e,wrap:!0}),description:jsxRuntimeExports.jsx(Details,{error:e,wrap:!0}),duration:null,icon:jsxRuntimeExports.jsx(Icon$1,{type:"clock-circle-o",className:"ArchiveNotifier--errorIcon"}),onClose:a})}else{if(!n||!n.isArchived)throw new Error("Unexpected condition");notification.success({key:"ENotifiedState.Outcome",description:null,duration:null,icon:jsxRuntimeExports.jsx(Icon$1,{type:"clock-circle-o",className:"ArchiveNotifier--doneIcon"}),message:"This trace has been archived.",onClose:a})}}function processProps(e,t){const r=getNextNotifiedState(t);return updateNotification(e,r,t),r}class ArchiveNotifier extends reactExports.PureComponent{constructor(e){super(e);const t=processProps(null,e);this.state={notifiedState:t}}static getDerivedStateFromProps(e,t){return{notifiedState:processProps(t.notifiedState,e)}}componentWillUnmount(){const{notifiedState:e}=this.state;e&¬ification.close(e)}render(){return null}}const initialState$4={},actionTypes$1=generateActionTypes("@jaeger-ui/archive-trace",["ACKNOWLEDGE"]),fullActions$1=createActions({[actionTypes$1.ACKNOWLEDGE]:e=>e}),actions$2={...fullActions$1.jaegerUi.archiveTrace,archiveTrace:archiveTrace};function acknowledge(e,{payload:t}){const r="string"==typeof t?t:null;if(!r)throw new Error("Invalid state, missing traceID for archive acknowledge");const a=e[r];if(a&&a.isLoading)return e;const n={...a,isAcknowledged:!0};return{...e,[r]:n}}function archiveStarted(e,{meta:t}){return{...e,[t.id]:{isLoading:!0}}}function archiveDone(e,{meta:t}){return{...e,[t.id]:{isArchived:!0,isAcknowledged:!1}}}function archiveErred(e,{meta:t,payload:r}){if(!r)throw new Error("Invalid state, missing API error details");const a={error:r,isArchived:!1,isError:!0,isAcknowledged:!1};return{...e,[t.id]:a}}const archive=handleActions({[actionTypes$1.ACKNOWLEDGE]:acknowledge,[`${archiveTrace}_PENDING`]:archiveStarted,[`${archiveTrace}_FULFILLED`]:archiveDone,[`${archiveTrace}_REJECTED`]:archiveErred},initialState$4),CATEGORY_FILTER="jaeger/ux/trace/filter",CATEGORY_MATCH_INTERACTIONS="jaeger/ux/trace/match-interactions",CATEGORY_RANGE="jaeger/ux/trace/range",ACTION_FOCUS="focus",ACTION_NEXT="next",ACTION_PREV="previous",ACTION_RANGE_REFRAME="reframe",ACTION_RANGE_SHIFT="shift",trackFilter=getTrackFilter(CATEGORY_FILTER);function trackFocusMatches(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_FOCUS)}function trackNextMatch(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_NEXT)}function trackPrevMatch(){trackEvent(CATEGORY_MATCH_INTERACTIONS,ACTION_PREV)}function getRangeAction(e,t){const[r,a]=e,[n,i]=t;if(r===n||a===i)return ACTION_RANGE_SHIFT;return(r-n).toPrecision(7)===(a-i).toPrecision(7)?ACTION_RANGE_SHIFT:ACTION_RANGE_REFRAME}function trackRange(e,t,r){const a=getRangeAction(t,r);trackEvent(CATEGORY_RANGE,a,e)}var CombokeysExports={},Combokeys$1={get exports(){return CombokeysExports},set exports(e){CombokeysExports=e}},bind=function(e,t,r){return e=e instanceof Array?e:[e],this.bindMultiple(e,t,r),this},bindMultiple=function(e,t,r){for(var a=0;a-1)return!1;var r=t.tagName.toLowerCase();return"input"===r||"select"===r||"textarea"===r||t.isContentEditable},isModifier,hasRequiredIsModifier;function requireIsModifier(){return hasRequiredIsModifier||(hasRequiredIsModifier=1,isModifier=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}),isModifier}var handleKey=function(e,t,r){var a,n,i,o,l=this,s={},c=0,u=!1;for(a=l.getMatches(e,t,r),n=0;n1?i.bindSequence(e,l,t,r):(o=i.getKeyInfo(e,r),i.callbacks[o.key]=i.callbacks[o.key]||[],i.getMatches(o.key,o.modifiers,{type:o.action},a,e,n),i.callbacks[o.key][a?"unshift":"push"]({callback:t,modifiers:o.modifiers,action:o.action,seq:a,level:n,combo:e}))},keysFromString,hasRequiredKeysFromString,specialAliases,hasRequiredSpecialAliases,shiftMap,hasRequiredShiftMap;function requireKeysFromString(){return hasRequiredKeysFromString?keysFromString:(hasRequiredKeysFromString=1,keysFromString=function(e){return"+"===e?["+"]:e.split("+")})}function requireSpecialAliases(){return hasRequiredSpecialAliases?specialAliases:(hasRequiredSpecialAliases=1,specialAliases={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"})}function requireShiftMap(){return hasRequiredShiftMap?shiftMap:(hasRequiredShiftMap=1,shiftMap={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"})}var getKeyInfo=function(e,t){var r,a,n,i,o,l,s=[];for(r=requireKeysFromString()(e),i=requireSpecialAliases(),o=requireShiftMap(),l=requireIsModifier(),n=0;n95&&r<112||e.hasOwnProperty(r)&&(t.REVERSE_MAP[e[r]]=r);return t.REVERSE_MAP},modifiersMatch,hasRequiredModifiersMatch;function requireModifiersMatch(){return hasRequiredModifiersMatch?modifiersMatch:(hasRequiredModifiersMatch=1,modifiersMatch=function(e,t){return e.sort().join(",")===t.sort().join(",")})}var getMatches=function(e,t,r,a,n,i){var o,l,s,c,u=this,f=[],A=r.type;"keypress"!==A||r.code&&"Arrow"===r.code.slice(0,5)||(u.callbacks["any-character"]||[]).forEach((function(e){f.push(e)}));if(!u.callbacks[e])return f;for(s=requireIsModifier(),"keyup"===A&&s(e)&&(t=[e]),o=0;o{const a=e[r];a&&t.bind(keyboardMappings[r].binding,a)}))}function reset(){getInstance().reset()}var tweenFunctions={linear:function(e,t,r,a){return(r-t)*e/a+t},easeInQuad:function(e,t,r,a){return(r-t)*(e/=a)*e+t},easeOutQuad:function(e,t,r,a){return-(r-t)*(e/=a)*(e-2)+t},easeInOutQuad:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t},easeInCubic:function(e,t,r,a){return(r-t)*(e/=a)*e*e+t},easeOutCubic:function(e,t,r,a){return(r-t)*((e=e/a-1)*e*e+1)+t},easeInOutCubic:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?n/2*e*e*e+t:n/2*((e-=2)*e*e+2)+t},easeInQuart:function(e,t,r,a){return(r-t)*(e/=a)*e*e*e+t},easeOutQuart:function(e,t,r,a){return-(r-t)*((e=e/a-1)*e*e*e-1)+t},easeInOutQuart:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?n/2*e*e*e*e+t:-n/2*((e-=2)*e*e*e-2)+t},easeInQuint:function(e,t,r,a){return(r-t)*(e/=a)*e*e*e*e+t},easeOutQuint:function(e,t,r,a){return(r-t)*((e=e/a-1)*e*e*e*e+1)+t},easeInOutQuint:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?n/2*e*e*e*e*e+t:n/2*((e-=2)*e*e*e*e+2)+t},easeInSine:function(e,t,r,a){var n=r-t;return-n*Math.cos(e/a*(Math.PI/2))+n+t},easeOutSine:function(e,t,r,a){return(r-t)*Math.sin(e/a*(Math.PI/2))+t},easeInOutSine:function(e,t,r,a){return-(r-t)/2*(Math.cos(Math.PI*e/a)-1)+t},easeInExpo:function(e,t,r,a){return 0==e?t:(r-t)*Math.pow(2,10*(e/a-1))+t},easeOutExpo:function(e,t,r,a){var n=r-t;return e==a?t+n:n*(1-Math.pow(2,-10*e/a))+t},easeInOutExpo:function(e,t,r,a){var n=r-t;return 0===e?t:e===a?t+n:(e/=a/2)<1?n/2*Math.pow(2,10*(e-1))+t:n/2*(2-Math.pow(2,-10*--e))+t},easeInCirc:function(e,t,r,a){return-(r-t)*(Math.sqrt(1-(e/=a)*e)-1)+t},easeOutCirc:function(e,t,r,a){return(r-t)*Math.sqrt(1-(e=e/a-1)*e)+t},easeInOutCirc:function(e,t,r,a){var n=r-t;return(e/=a/2)<1?-n/2*(Math.sqrt(1-e*e)-1)+t:n/2*(Math.sqrt(1-(e-=2)*e)+1)+t},easeInElastic:function(e,t,r,a){var n,i,o,l=r-t;return o=1.70158,0===e?t:1==(e/=a)?t+l:((i=0)||(i=.3*a),(n=l){this.timeoutID=void 0,this.requestID=void 0;const e=Object.freeze(this.getCurrent());this.callbackUpdate&&this.callbackUpdate(e),this.callbackComplete&&e.done&&this.callbackComplete(e),e.done?(this.callbackComplete=void 0,this.callbackUpdate=void 0):this.requestID=window.requestAnimationFrame(this._frameCallback)},this.startTime=Date.now()+(a||0),this.duration=e,this.from=t,this.to=r,n||i?(this.callbackComplete=i,this.callbackUpdate=n,a?(this.timeoutID=window.setTimeout(this._frameCallback,a),this.requestID=void 0):(this.requestID=window.requestAnimationFrame(this._frameCallback),this.timeoutID=void 0)):(this.callbackComplete=void 0,this.callbackUpdate=void 0,this.timeoutID=void 0,this.requestID=void 0)}cancel(){null!=this.timeoutID&&(clearTimeout(this.timeoutID),this.timeoutID=void 0),null!=this.requestID&&(window.cancelAnimationFrame(this.requestID),this.requestID=void 0),this.callbackComplete=void 0,this.callbackUpdate=void 0}getCurrent(){const e=Date.now()-this.startTime;return e<=0?{done:!1,value:this.from}:e>=this.duration?{done:!0,value:this.to}:{done:!1,value:tweenFunctions_1.easeOutQuint(e,this.from,this.to,this.duration)}}}const DURATION_MS=350;let lastTween;function _onTweenUpdate({done:e,value:t}){window.scrollTo(window.scrollX,t),e&&(lastTween=void 0)}function scrollBy(e,t=!1){const{scrollY:r}=window;let a=r;if(t&&lastTween){(lastTween.to("CHILD_OF"===e.refType||"FOLLOWS_FROM"===e.refType)&&(n=e.spanID,a.add(n),t.has(n));for(;Array.isArray(i)&&i.length;){const e=i.some(o);if(e)return{isHidden:e,parentIDs:a};if(!n)break;const t=r.get(n);n=void 0,i=t&&t.references}return{parentIDs:a,isHidden:!1}}class ScrollManager{constructor(e,t){this.setAccessors=e=>{this._accessors=e},this.scrollPageDown=()=>{this._scroller&&this._accessors&&this._scroller.scrollBy(.95*this._accessors.getViewHeight(),!0)},this.scrollPageUp=()=>{this._scroller&&this._accessors&&this._scroller.scrollBy(-.95*this._accessors.getViewHeight(),!0)},this.scrollToNextVisibleSpan=()=>{this._scrollToVisibleSpan(1)},this.scrollToPrevVisibleSpan=()=>{this._scrollToVisibleSpan(-1)},this.scrollToFirstVisibleSpan=()=>{this._scrollToVisibleSpan(1,0)},this._trace=e,this._scroller=t,this._accessors=void 0}_scrollPast(e,t){const r=this._accessors;if(!r)throw new Error("Accessors not set");const a=t<0,n=r.getRowPosition(e);if(!n)return void console.warn("Invalid row index");let{y:i}=n;const o=r.getViewHeight();a||(i+=n.height,i-=o),i+=.5*t*o,this._scroller.scrollTo(i)}_scrollToVisibleSpan(e,t){const r=this._accessors;if(!r)throw new Error("Accessors not set");if(!this._trace)return;const{duration:a,spans:n,startTime:i}=this._trace,o=e<0;let l;l=null!=t?t:o?r.getTopRowIndexVisible():r.getBottomRowIndexVisible();const s=r.mapRowIndexToSpanIndex(l);if(0===s&&o||s===n.length-1&&!o)return;let c=s;0!==s&&s!==n.length-1&&(c-=e);const[u,f]=r.getViewRange(),A=0!==u||1!==f,d=A?i+a*u:NaN,p=A?i+a*f:NaN,h=r.getSearchedSpanIDs(),b=r.getCollapsedChildren(),g=b?new Set(b):null,m=g?new Map(n.map((e=>[e.spanID,e]))):new Map,v=e<0?-1:n.length;let y;for(let k=c+e;k!==v;k+=e){const e=n[k],{duration:t,spanID:r,startTime:a}=e;if((!A||!(a>p||a+tg.add(e)));continue}}y=k;break}}if((!y||y===v)&&(y=v-e,g)){let e;do{const{isHidden:t,parentIDs:r}=isSpanHidden(n[y],g,m);t&&(r.forEach((e=>g.add(e))),y--),e=t}while(e)}const w=r.mapSpanIndexToRowIndex(y);this._scrollPast(w,e)}setTrace(e){this._trace=e}destroy(){this._trace=void 0,this._scroller=void 0,this._accessors=void 0}}class SubRange{constructor(e,t){this.low=e,this.high=t,this.length=1+t-e}overlaps(e){return e.low<=this.high&&this.low<=e.high}touches(e){return e.low<=this.high+1&&this.low-1<=e.high}covers(e){return this.low<=e.low&&e.high<=this.high}isInside(e){return e.lowe+t.length),0)}add(e,t){const r=e=>{let t=0;for(;t{let t=0;for(;t{let t=0;for(;t{let r=t.low;for(;r<=t.high;)e.push(r),r++;return e}),[])}subranges(){return this.ranges.map((e=>({low:e.low,high:e.high,length:1+e.high-e.low})))}}var lib=DRange;let parentChildOfMap;function isError(e){if(e){const t=e.find((e=>"error"===e.key));if(t)return t.value}return!1}function mapFollowsFrom(e,t){return e.map((e=>{let r=!0;if("number"==typeof e.to){r=t[e.to].members.some((e=>e.span.references&&e.span.references.some((e=>"CHILD_OF"===e.refType))))}return{...e,followsFrom:!r}}))}function getChildOfSpans(e,t){return parentChildOfMap||(parentChildOfMap={},t.spans.forEach((e=>{if(e.references){const t=e.references.filter((e=>"CHILD_OF"===e.refType)).map((e=>e.spanID));t.forEach((t=>{parentChildOfMap[t]=parentChildOfMap[t]||[],parentChildOfMap[t].push(e)}))}}))),parentChildOfMap[e]||[]}function getChildOfDrange(e,t){const r=new lib;return getChildOfSpans(e,t).forEach((e=>{r.add(e.startTime,e.startTime+(e.duration<=0?0:e.duration-1))})),r}function calculateTraceDag(e){const t=TraceDag.newFromTrace(e),r=new TraceDag;return t.nodesMap.forEach((t=>{const a=t.members.reduce(((e,t)=>e+t.span.duration),0),n=t.members.reduce(((e,t)=>e+isError(t.span.tags)?1:0),0),i=t.members.reduce(((t,r)=>t+new lib(r.span.startTime,r.span.startTime+r.span.duration).intersect(getChildOfDrange(r.span.spanID,e)).length),0),o=a-i;r.addNode(t.id,t.parentID,{...t,count:t.members.length,errors:n,time:a,percent:100/e.duration*a,selfTime:o,percentSelfTime:100/a*o})})),r}function calculateTraceDagEV(e){const t=calculateTraceDag(e),r=[...t.nodesMap.values()],a=convPlexus(t.nodesMap),n=mapFollowsFrom(a.edges,r);return{...a,edges:n}}const index$d="";function _extends$5(){return _extends$5=Object.assign||function(e){for(var t=1;t{this.setState({showHelp:!0})},this.closeSidebar=()=>{this.setState({showHelp:!1})},this.state={showHelp:!1,mode:MODE_SERVICE},this.layoutManager=new LayoutManager({totalMemory:e.traceGraphConfig?.layoutManagerMemory,useDotEdges:!0,splines:"polyline"})}componentWillUnmount(){this.layoutManager.stopAndRelease()}toggleNodeMode(e){this.setState({mode:e})}render(){const{ev:e,headerHeight:t,uiFind:r,uiFindVertexKeys:a}=this.props,{showHelp:n,mode:i}=this.state;if(!e)return jsxRuntimeExports.jsx("h1",{className:"u-mt-vast u-tx-muted ub-tx-center",children:"No trace found"});const o=classnamesExports("TraceGraph--graphWrapper",{"is-uiFind-mode":r});return jsxRuntimeExports.jsxs("div",{className:o,style:{paddingTop:t+47},children:[jsxRuntimeExports.jsx(Digraph,{minimap:!0,zoom:!0,className:"TraceGraph--dag",minimapClassName:"u-miniMap",layoutManager:this.layoutManager,measurableNodesKey:"nodes",layers:[{key:"node-find-emphasis",layerType:"svg",renderNode:getNodeFindEmphasisRenderer(a)},{key:"edges",edges:!0,layerType:"svg",defs:[{localId:"arrow"}],markerEndId:"arrow",setOnContainer:[scaleOpacity,scaleStrokeOpacity],setOnEdge:setOnEdgePath},{key:"nodes-borders",layerType:"svg",setOnContainer:scaleStrokeOpacity,renderNode:renderNodeVectorBorder},{key:"nodes",layerType:"html",measurable:!0,renderNode:defaultScope(`trace-graph/nodes/render/${i}`,getNodeRenderer(i))}],setOnGraph:classNameIsSmall,edges:e.edges,vertices:e.vertices}),jsxRuntimeExports.jsx("a",{className:"TraceGraph--experimental",href:"https://github.com/jaegertracing/jaeger-ui/issues/293",target:"_blank",rel:"noopener noreferrer",children:"Experimental"}),jsxRuntimeExports.jsxs("div",{className:"TraceGraph--sidebar-container",children:[jsxRuntimeExports.jsxs("ul",{className:"TraceGraph--menu",children:[jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Icon$1,{type:"question-circle",onClick:this.showHelp})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Service",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-service",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_SERVICE),children:"S"})})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Time",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-time",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_TIME),children:"T"})})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx(Tooltip$1,{placement:"left",title:"Selftime",children:jsxRuntimeExports.jsx(Button$2,{className:"TraceGraph--btn-selftime",htmlType:"button",shape:"circle",size:"small",onClick:()=>this.toggleNodeMode(MODE_SELFTIME),children:"ST"})})})]}),n&&jsxRuntimeExports.jsx(Card,{title:"Help",bordered:!1,extra:jsxRuntimeExports.jsx("a",{onClick:this.closeSidebar,role:"button",children:jsxRuntimeExports.jsx(Icon$1,{type:"close"})}),children:HELP_CONTENT})]})]})}}TraceGraph.defaultProps={ev:null};const OPEN="open",CLOSE="close";function getToggleValue(e){return e?CLOSE:OPEN}const CATEGORY_ALT_VIEW="jaeger/ux/trace/alt-view",CATEGORY_SLIM_HEADER="jaeger/ux/trace/slim-header",ACTION_GANTT="gantt",ACTION_GRAPH="graph",ACTION_JSON="json",ACTION_RAW_JSON="rawJson",ACTION_STATISTICS="traceStatistics",ACTION_TRACE_SPANS_VIEW="tracesSpansView",trackGanttView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_GANTT),trackGraphView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_GRAPH),trackJsonView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_JSON),trackRawJsonView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_RAW_JSON),trackStatisticsView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_STATISTICS),trackTraceSpansView=()=>trackEvent(CATEGORY_ALT_VIEW,ACTION_TRACE_SPANS_VIEW),trackSlimHeaderToggle=e=>trackEvent(CATEGORY_SLIM_HEADER,getToggleValue(e));var baseExtremum=_baseExtremum,baseGt=_baseGt,baseIteratee$1=_baseIteratee;function maxBy(e,t){return e&&e.length?baseExtremum(e,baseIteratee$1(t),baseGt):void 0}var maxBy_1=maxBy,valuesExports=requireValues();const _values=getDefaultExportFromCjs(valuesExports);var androidArrowBackExports={},androidArrowBack={get exports(){return androidArrowBackExports},set exports(e){androidArrowBackExports=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t(e.TraceTimelineViewer="TraceTimelineViewer",e.TraceGraph="TraceGraph",e.TraceStatistics="TraceStatistics",e.TraceSpansView="TraceSpansView",e.TraceFlamegraph="TraceFlamegraph",e))(ETraceViewType||{});const MENU_ITEMS=[{viewType:ETraceViewType.TraceTimelineViewer,label:"Trace Timeline"},{viewType:ETraceViewType.TraceGraph,label:"Trace Graph"},{viewType:ETraceViewType.TraceStatistics,label:"Trace Statistics"},{viewType:ETraceViewType.TraceSpansView,label:"Trace Spans Table"},{viewType:ETraceViewType.TraceFlamegraph,label:"Trace Flamegraph"}];function AltViewOptions(e){const{onTraceViewChange:t,viewType:r,traceID:a}=e,n=MENU_ITEMS.find((e=>e.viewType===r)),i=n?n.label:"Alternate Views";return jsxRuntimeExports.jsx(Dropdown,{overlay:()=>{const e=window.baseUrl??window.apiBaseUrl;return jsxRuntimeExports.jsxs(Menu,{children:[MENU_ITEMS.filter((e=>e.viewType!==r)).map((e=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{onClick:()=>(e=>{e===ETraceViewType.TraceTimelineViewer?trackGanttView():e===ETraceViewType.TraceGraph?trackGraphView():e===ETraceViewType.TraceStatistics?trackStatisticsView():e===ETraceViewType.TraceSpansView&&trackTraceSpansView(),t(e)})(e.viewType),role:"button",children:e.label})},e.viewType))),jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{href:`${e}/api/traces/${a}?prettyPrint=true`,rel:"noopener noreferrer",target:"_blank",onClick:trackJsonView,children:"Trace JSON"})}),jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx("a",{href:`${e}/api/traces/${a}?raw=true&prettyPrint=true`,rel:"noopener noreferrer",target:"_blank",onClick:trackRawJsonView,children:"Trace JSON (unadjusted)"})})]})},children:jsxRuntimeExports.jsxs(Button$2,{className:"AltViewOptions",children:[`${i} `,jsxRuntimeExports.jsx(Icon$1,{type:"down"})]})})}const CATEGORY="jaeger/ux/trace/kbd-modal",track$1=trackEvent.bind(null,CATEGORY,OPEN),KeyboardShortcutsHelp$1="",{Column:Column}=Table$1,SYMBOL_CONV={up:"↑",right:"→",down:"↓",left:"←",shift:"⇧"},ODD_ROW_CLASS="KeyboardShortcutsHelp--oddRow";function convertKeys(e){return(Array.isArray(e)?e:[e]).map((e=>e.split("+").map((e=>SYMBOL_CONV[e]||e.toUpperCase()))))}const padLeft=e=>jsxRuntimeExports.jsx("span",{className:"ub-pl4",children:e}),padRight=e=>jsxRuntimeExports.jsx("span",{className:"ub-pr4",children:e}),getRowClass=(e,t)=>t%2>0?ODD_ROW_CLASS:"";let kbdTable=null;function getHelpModal(){if(kbdTable)return kbdTable;const e=[];return Object.keys(keyboardMappings).forEach((t=>{const{binding:r,label:a}=keyboardMappings[t],n=convertKeys(r);e.push(...n.map((e=>({key:String(e),kbds:jsxRuntimeExports.jsx("kbd",{children:e.join(" ")}),description:a}))))})),kbdTable=jsxRuntimeExports.jsxs(Table$1,{className:"KeyboardShortcutsHelp--table u-simple-scrollbars",dataSource:e,size:"middle",pagination:!1,showHeader:!1,rowClassName:getRowClass,children:[jsxRuntimeExports.jsx(Column,{title:"Description",dataIndex:"description",render:padLeft},"description"),jsxRuntimeExports.jsx(Column,{title:"Key(s)",dataIndex:"kbds",align:"right",render:padRight},"kbds")]}),kbdTable}class KeyboardShortcutsHelp extends reactExports.PureComponent{constructor(){super(...arguments),this.state={visible:!1},this.onCtaClicked=()=>{track$1(),this.setState({visible:!0})},this.onCloserClicked=()=>this.setState({visible:!1})}render(){const{className:e}=this.props;return jsxRuntimeExports.jsxs(reactExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$2,{className:e,htmlType:"button",onClick:this.onCtaClicked,children:jsxRuntimeExports.jsx("span",{className:"KeyboardShortcutsHelp--cta",children:"⌘"})}),jsxRuntimeExports.jsx(Modal,{title:"Keyboard Shortcuts",visible:this.state.visible,onOk:this.onCloserClicked,onCancel:this.onCloserClicked,cancelButtonProps:{style:{display:"none"}},bodyStyle:{padding:0},children:getHelpModal()})]})}}const BG_COLOR="#fff",ITEM_ALPHA=.8,MIN_ITEM_HEIGHT=2,MAX_TOTAL_HEIGHT=200,MIN_ITEM_WIDTH=10,MIN_TOTAL_HEIGHT=60,MAX_ITEM_HEIGHT=6;function renderIntoCanvas(e,t,r,a){const n=new Map,i=t.lengthcolorGenerator.getRgbColorByKey(e);class CanvasSpanGraph extends reactExports.PureComponent{constructor(e){super(e),this._setCanvasRef=e=>{this._canvasElm=e},this._canvasElm=void 0}componentDidMount(){this._draw()}componentDidUpdate(){this._draw()}_draw(){if(this._canvasElm){const{valueWidth:e,items:t}=this.props;renderIntoCanvas(this._canvasElm,t,e,getColor)}}render(){return jsxRuntimeExports.jsx("canvas",{className:"CanvasSpanGraph",ref:this._setCanvasRef})}}const TickLabels$1="";function TickLabels(e){const{numTicks:t,duration:r}=e,a=[];for(let n=0;n{this._root=e},this._getDraggingBounds=e=>{if(!this._root)throw new Error("invalid state");const{left:t,width:r}=this._root.getBoundingClientRect(),[a,n]=this.props.viewRange.time.current;let i=1,o=0;return e===dragTypes.SHIFT_START?i=n:e===dragTypes.SHIFT_END&&(o=a),{clientXLeft:t,maxValue:i,minValue:o,width:r}},this._handleReframeMouseMove=({value:e})=>{this.props.updateNextViewRangeTime({cursor:e})},this._handleReframeMouseLeave=()=>{this.props.updateNextViewRangeTime({cursor:null})},this._handleReframeDragUpdate=({value:e})=>{const t=e,{time:r}=this.props.viewRange,a={reframe:{anchor:r.reframe?r.reframe.anchor:t,shift:t}};this.props.updateNextViewRangeTime(a)},this._handleReframeDragEnd=({manager:e,value:t})=>{const{time:r}=this.props.viewRange,a=r.reframe?r.reframe.anchor:t,[n,i]=t{const t=e===EUpdateTypes.MouseEnter;this.setState({preventCursorLine:t})},this._handleScrubberDragUpdate=({event:e,tag:t,type:r,value:a})=>{r===EUpdateTypes.DragStart&&e.stopPropagation(),t===dragTypes.SHIFT_START?this.props.updateNextViewRangeTime({shiftStart:a}):t===dragTypes.SHIFT_END&&this.props.updateNextViewRangeTime({shiftEnd:a})},this._handleScrubberDragEnd=({manager:e,tag:t,value:r})=>{const[a,n]=this.props.viewRange.time.current;let i;if(t===dragTypes.SHIFT_START)i=[r,n];else{if(t!==dragTypes.SHIFT_END)throw new Error("bad state");i=[a,r]}e.resetBounds(),this.setState({preventCursorLine:!1}),this.props.updateViewRangeTime(i[0],i[1],"minimap")},this._resetTimeZoomClickHandler=()=>{this.props.updateViewRangeTime(0,1)},this._draggerReframe=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleReframeDragEnd,onDragMove:this._handleReframeDragUpdate,onDragStart:this._handleReframeDragUpdate,onMouseMove:this._handleReframeMouseMove,onMouseLeave:this._handleReframeMouseLeave,tag:dragTypes.REFRAME}),this._draggerStart=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleScrubberDragEnd,onDragMove:this._handleScrubberDragUpdate,onDragStart:this._handleScrubberDragUpdate,onMouseEnter:this._handleScrubberEnterLeave,onMouseLeave:this._handleScrubberEnterLeave,tag:dragTypes.SHIFT_START}),this._draggerEnd=new DraggableManager({getBounds:this._getDraggingBounds,onDragEnd:this._handleScrubberDragEnd,onDragMove:this._handleScrubberDragUpdate,onDragStart:this._handleScrubberDragUpdate,onMouseEnter:this._handleScrubberEnterLeave,onMouseLeave:this._handleScrubberEnterLeave,tag:dragTypes.SHIFT_END}),this._root=void 0,this.state={preventCursorLine:!1}}componentWillUnmount(){this._draggerReframe.dispose(),this._draggerEnd.dispose(),this._draggerStart.dispose()}_getMarkers(e,t,r){const a=getNextViewLayout$1(e,t),n=classnamesExports({isShiftDrag:r,isReframeDrag:!r});return[jsxRuntimeExports.jsx("rect",{className:`ViewingLayer--draggedShift ${n}`,x:a.x,y:"0",width:a.width,height:this.props.height-2},"fill"),jsxRuntimeExports.jsx("rect",{className:`ViewingLayer--draggedEdge ${n}`,x:a.leadingX,y:"0",width:"1",height:this.props.height-2},"edge")]}render(){const{height:e,viewRange:t,numTicks:r}=this.props,{preventCursorLine:a}=this.state,{current:n,cursor:i,shiftStart:o,shiftEnd:l,reframe:s}=t.time,c=null!=o||null!=l||null!=s,[u,f]=n;let A=0;u&&(A=100*u);let d,p=100;return f&&(p=100-100*f),c||null==i||a||(d=100*i+"%"),jsxRuntimeExports.jsxs("div",{"aria-hidden":!0,className:"ViewingLayer",style:{height:e},children:[(0!==u||1!==f)&&jsxRuntimeExports.jsx(Button$2,{onClick:this._resetTimeZoomClickHandler,className:"ViewingLayer--resetZoom",htmlType:"button",children:"Reset Selection"}),jsxRuntimeExports.jsxs("svg",{height:e,className:"ViewingLayer--graph",ref:this._setRoot,onMouseDown:this._draggerReframe.handleMouseDown,onMouseLeave:this._draggerReframe.handleMouseLeave,onMouseMove:this._draggerReframe.handleMouseMove,children:[A>0&&jsxRuntimeExports.jsx("rect",{x:0,y:0,height:"100%",width:`${A}%`,className:"ViewingLayer--inactive"}),p>0&&jsxRuntimeExports.jsx("rect",{x:100-p+"%",y:0,height:"100%",width:`${p}%`,className:"ViewingLayer--inactive"}),jsxRuntimeExports.jsx(GraphTicks,{numTicks:r}),d&&jsxRuntimeExports.jsx("line",{className:"ViewingLayer--cursorGuide",x1:d,y1:"0",x2:d,y2:e-2,strokeWidth:"1"}),null!=o&&this._getMarkers(u,o,!0),null!=l&&this._getMarkers(f,l,!0),jsxRuntimeExports.jsx(Scrubber,{isDragging:null!=o,onMouseDown:this._draggerStart.handleMouseDown,onMouseEnter:this._draggerStart.handleMouseEnter,onMouseLeave:this._draggerStart.handleMouseLeave,position:u||0}),jsxRuntimeExports.jsx(Scrubber,{isDragging:null!=l,position:f||1,onMouseDown:this._draggerEnd.handleMouseDown,onMouseEnter:this._draggerEnd.handleMouseEnter,onMouseLeave:this._draggerEnd.handleMouseLeave}),null!=s&&this._getMarkers(s.anchor,s.shift,!1)]}),c&&jsxRuntimeExports.jsx("div",{className:"ViewingLayer--fullOverlay"})]})}}const DEFAULT_HEIGHT=60,TIMELINE_TICK_INTERVAL=4;function getItem(e){return{valueOffset:e.relativeStartTime,valueWidth:e.duration,serviceName:e.process.serviceName}}function getItems(e){return e.spans.map(getItem)}const memoizedGetItems=memoizeOne$1(getItems);class SpanGraph extends reactExports.PureComponent{render(){const{height:e,trace:t,viewRange:r,updateNextViewRangeTime:a,updateViewRangeTime:n}=this.props;if(!t)return jsxRuntimeExports.jsx("div",{});const i=memoizedGetItems(t);return jsxRuntimeExports.jsxs("div",{className:"ub-pb2 ub-px2",children:[jsxRuntimeExports.jsx(TickLabels,{numTicks:TIMELINE_TICK_INTERVAL,duration:t.duration}),jsxRuntimeExports.jsxs("div",{className:"ub-relative",children:[jsxRuntimeExports.jsx(CanvasSpanGraph,{valueWidth:t.duration,items:i}),jsxRuntimeExports.jsx(ViewingLayer,{viewRange:r,numTicks:TIMELINE_TICK_INTERVAL,height:e||DEFAULT_HEIGHT,updateViewRangeTime:n,updateNextViewRangeTime:a})]})]})}}SpanGraph.defaultProps={height:DEFAULT_HEIGHT};const IN_TRACE_SEARCH="in-trace-search",TracePageSearchBar$1="";function TracePageSearchBarFn(e){const{clearSearch:t,focusUiFindMatches:r,forwardedRef:a,navigable:n,nextResult:i,prevResult:o,resultCount:l,textFilter:s}=e,c=s?jsxRuntimeExports.jsx("span",{className:"TracePageSearchBar--count",children:l}):null,u=classnamesExports("TracePageSearchBar--btn",{"is-disabled":!s}),f={"data-test":IN_TRACE_SEARCH,className:"TracePageSearchBar--bar ub-flex-auto",name:"search",suffix:c};return jsxRuntimeExports.jsx("div",{className:"TracePageSearchBar",children:jsxRuntimeExports.jsxs(Input$1.Group,{className:"ub-justify-end",compact:!0,style:{display:"flex"},children:[jsxRuntimeExports.jsx(UiFindInput,{inputProps:f,forwardedRef:a,trackFindFunction:trackFilter}),n&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$2,{className:classnamesExports(u,"TracePageSearchBar--locateBtn"),disabled:!s,htmlType:"button",onClick:r,children:jsxRuntimeExports.jsx(IoAndroidLocate,{})}),jsxRuntimeExports.jsx(Button$2,{className:u,disabled:!s,htmlType:"button",icon:"up",onClick:o}),jsxRuntimeExports.jsx(Button$2,{className:u,disabled:!s,htmlType:"button",icon:"down",onClick:i})]}),jsxRuntimeExports.jsx(Button$2,{className:u,disabled:!s,htmlType:"button",icon:"close",onClick:t})]})})}const TracePageSearchBar=reactExports.forwardRef(((e,t)=>jsxRuntimeExports.jsx(TracePageSearchBarFn,{...e,forwardedRef:t}))),LabeledList$1="";function LabeledList(e){const{className:t,dividerClassName:r,items:a}=e;return jsxRuntimeExports.jsx("ul",{className:`LabeledList ${t||""}`,children:a.map((({key:e,label:t,value:n},i)=>{const o=ie)));for(let a=0;at===e[a].traceID&&r.has(n))))continue;if(!t){t=e[a];continue}const n=e[a].references&&e[a].references.length||0,i=t.references&&t.references.length||0;(ne.length?e[0].traceID:0));var baseUniq=_baseUniq;function uniq(e){return e&&e.length?baseUniq(e):[]}var uniq_1=uniq;function getParent(e){const t=e.references?e.references.find((e=>"CHILD_OF"===e.refType)):null;return t?t.span:null}function processTemplate(e,t){if("string"!=typeof e){if(e&&Array.isArray(e.parameters)&&"function"==typeof e.template)return e;throw new Error("Invalid template")}return{parameters:getParamNames(e),template:encodedStringSupplant.bind(null,e,t)}}function createTestFunction(e){if("string"==typeof e)return t=>t===e;if(Array.isArray(e))return t=>e.indexOf(t)>-1;if(e instanceof RegExp)return t=>e.test(t);if("function"==typeof e)return e;if(null==e)return()=>!0;throw new Error(`Invalid value: ${e}`)}const identity=e=>e;function processLinkPattern(e){try{const t=processTemplate(e.url,encodeURIComponent),r=processTemplate(e.text,identity);return{object:e,type:createTestFunction(e.type),key:createTestFunction(e.key),value:createTestFunction(e.value),url:t,text:r,parameters:uniq_1(t.parameters.concat(r.parameters))}}catch(error){return console.error(`Ignoring invalid link pattern: ${error}`,e),null}}function getParameterInArray(e,t){if(t)return t.find((t=>t.key===e))}function getParameterInAncestor(e,t){let r=t;for(;r;){const t=getParameterInArray(e,r.tags)||getParameterInArray(e,r.process.tags);if(t)return t;r=getParent(r)}}const getValidTraceKeys=memoize(10)((e=>{const t=Object.keys(e).filter((t=>"string"==typeof e[t]||"number"==typeof e[t]));return t}));function getParameterInTrace(e,t){if(t){const r=e;if(getValidTraceKeys(t).includes(r))return{key:r,value:t[r]}}}function callTemplate(e,t){return e.template(t)}function computeTraceLink(e,t){const r=[];return e.filter((e=>e.type("traces"))).forEach((e=>{const a={};e.parameters.every((e=>{const r=getParameterInTrace(e,t);return!!r&&(a[e]=r.value,!0)}))&&r.push({url:callTemplate(e.url,a),text:callTemplate(e.text,a)})})),r}function computeLinks(e,t,r,a,n){const i=r[a];let o="logs";const l=t.process.tags===r;l&&(o="process");t.tags===r&&(o="tags");const s=[];return e.forEach((e=>{if(e.type(o)&&e.key(i.key)&&e.value(i.value)){const a={};e.parameters.every((s=>{let c;return s.startsWith("trace.")?c=getParameterInTrace(s.split("trace.")[1],n):(c=getParameterInArray(s,r),c||l||(c=getParameterInAncestor(s,t))),c?(a[s]=c.value,!0):(console.warn(`Skipping link pattern, missing parameter ${s} for key ${i.key} in ${o}.`,e.object),!1)}))&&s.push({url:callTemplate(e.url,a),text:callTemplate(e.text,a)})}})),s}function createGetLinks(e,t){return(r,a,n,i)=>{if(0===e.length)return[];const o=a[n];let l=t.get(o);return l||(l=computeLinks(e,r,a,n,i),t.set(o,l)),l}}const processedLinks=(getConfigValue("linkPatterns")||[]).map(processLinkPattern).filter(Boolean),getTraceLinks=memoize(10)((e=>e?computeTraceLink(processedLinks,e):[])),getLinks=createGetLinks(processedLinks,new WeakMap),TracePageHeader$1="",LinkValue$1=e=>jsxRuntimeExports.jsxs("a",{href:e.href,title:e.title,target:"_blank",rel:"noopener noreferrer",className:e.className,children:[e.children," ",jsxRuntimeExports.jsx(NewWindowIcon,{})]}),linkValueList$1=e=>jsxRuntimeExports.jsx(Menu,{children:e.map((({text:e,url:t},r)=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(LinkValue$1,{href:t,children:e})},`${t}-${r}`)))});function ExternalLinks(e){const{links:t}=e;return 1===t.length?jsxRuntimeExports.jsx(LinkValue$1,{href:t[0].url,title:t[0].text,className:"TracePageHeader--back"}):jsxRuntimeExports.jsx(Dropdown,{overlay:linkValueList$1(t),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsx("a",{className:"TracePageHeader--back",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})})}var buttonGroup={},configProvider={},localeProvider={};const require$$2$1=getAugmentedNamespace(moment);var interopDefault={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){return e.default||e}}(interopDefault);var locale={},_default$2={},en_USExports$1={},en_US$4={get exports(){return en_USExports$1},set exports(e){en_USExports$1=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages"},e.exports=t.default}(en_US$4,en_USExports$1);var en_US$3={},en_USExports={},en_US$2={get exports(){return en_USExports},set exports(e){en_USExports=e}};!function(e,t){t.__esModule=!0,t.default={today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},e.exports=t.default}(en_US$2,en_USExports);var en_US$1={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t={placeholder:"Select time"};e.default=t}(en_US$1),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a(en_USExports),r=a(en_US$1);function a(e){return e&&e.__esModule?e:{default:e}}function n(){return n=Object.assign||function(e){for(var t=1;t{const t=reactExports.useContext(ZoomContext);return jsxRuntimeExports.jsxs(ButtonGroup,{className:e.className,children:[jsxRuntimeExports.jsx(Button$2,{onClick:()=>{t?.zoomOut()},htmlType:"button",icon:"zoom-out"}),jsxRuntimeExports.jsx(Button$2,{onClick:()=>{t?.zoomIn()},htmlType:"button",icon:"zoom-in"})]})},addActionPrefix=(e,t,r)=>{const a={};return Object.entries(t).forEach((([t,n])=>{a[t]=`${e}${isString$6(r)?r:"/"}${n}`})),a},actions$1={GO_TO_SPAN:"GO_TO_SPAN",GET_SPANS_DATA:"GET_SPANS_DATA",SET_SPANS_DATA:"SET_SPANS_DATA",CLEAR:"CLEAR"},GLOBAL_ACTION_PREFIX="GLOBAL",globalActions=addActionPrefix(GLOBAL_ACTION_PREFIX,{CHANGE_SCOPE:"CHANGE_SCOPE",OPEN_URL_IN_DEFAULT_BROWSER:"OPEN_URL_IN_DEFAULT_BROWSER"}),HEADER_ITEMS=[{key:"timestamp",label:"Trace Start",renderer:e=>{const t=formatDatetime(e.startTime),r=t.match(/^(.+)(\.\d+)$/);return r?jsxRuntimeExports.jsxs("span",{className:"TracePageHeader--overviewItem--value",children:[r[1],jsxRuntimeExports.jsx("span",{className:"TracePageHeader--overviewItem--valueDetail",children:r[2]})]}):t}},{key:"duration",label:"Duration",renderer:e=>formatDuration(e.duration)},{key:"service-count",label:"Services",renderer:e=>new Set(_values(e.processes).map((e=>e.serviceName))).size},{key:"depth",label:"Depth",renderer:e=>get_1$1(maxBy_1(e.spans,"depth"),"depth",0)+1},{key:"span-count",label:"Total Spans",renderer:e=>e.spans.length}];function TracePageHeaderFn(e){const{canCollapse:t,clearSearch:r,focusUiFindMatches:a,forwardedRef:n,hideMap:i,hideSummary:o,linkToStandalone:l,nextResult:s,onArchiveClicked:c,onSlimViewClicked:u,onTraceViewChange:f,prevResult:A,resultCount:d,showArchiveButton:p,showShortcutsHelp:h,showStandaloneLink:b,showViewOptions:g,slimView:m,textFilter:v,toSearch:y,trace:w,viewType:k,updateNextViewRangeTime:x,updateViewRangeTime:E,viewRange:_}=e;if(!w)return null;const C=getTraceLinks(w),$=!o&&!m&&HEADER_ITEMS.map((e=>{const{renderer:t,...r}=e;return{...r,value:t(w)}})),T=jsxRuntimeExports.jsxs("h1",{className:"TracePageHeader--title "+(t?"is-collapsible":""),children:[jsxRuntimeExports.jsx(TraceName,{traceName:getTraceName(w.spans)})," ",jsxRuntimeExports.jsx("small",{className:"u-tx-muted",children:w.traceID.slice(0,7)})]});return jsxRuntimeExports.jsxs("header",{className:"TracePageHeader",children:[jsxRuntimeExports.jsxs("div",{className:"TracePageHeader--titleRow",children:[y&&jsxRuntimeExports.jsx(Link$1,{className:"TracePageHeader--back",to:y,children:jsxRuntimeExports.jsx(IoAndroidArrowBack,{})}),C&&C.length>0&&jsxRuntimeExports.jsx(ExternalLinks,{links:C}),t?jsxRuntimeExports.jsxs("a",{className:"TracePageHeader--titleLink",onClick:u,role:"switch","aria-checked":!m,children:[jsxRuntimeExports.jsx(MdKeyboardArrowRight,{className:"TracePageHeader--detailToggle "+(m?"":"is-expanded")}),T]}):T,jsxRuntimeExports.jsx(TracePageSearchBar,{clearSearch:r,focusUiFindMatches:a,nextResult:s,prevResult:A,ref:n,resultCount:d,textFilter:v,navigable:k===ETraceViewType.TraceTimelineViewer}),h&&jsxRuntimeExports.jsx(KeyboardShortcutsHelp,{className:"ub-m2"}),g&&jsxRuntimeExports.jsx(AltViewOptions,{onTraceViewChange:f,traceID:w.traceID,viewType:k}),p&&jsxRuntimeExports.jsxs(Button$2,{className:"ub-mr2 ub-flex ub-items-center",htmlType:"button",onClick:c,children:[jsxRuntimeExports.jsx(IoIosFilingOutline,{className:"TracePageHeader--archiveIcon"}),"Archive Trace"]}),window.enableZoomControls&&jsxRuntimeExports.jsx(ZoomControls,{className:"TracePageHeader--zoomControls"}),b&&"JetBrains"===window.platform?jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-mx2",to:"#",onClick:e=>{const t=window.baseUrl??window.apiBaseUrl;e.preventDefault(),window.sendMessageToDigma({action:globalActions.OPEN_URL_IN_DEFAULT_BROWSER,payload:{url:`${t}${window.location.pathname}${window.location.search}`}})},children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})}):jsxRuntimeExports.jsx(Link$1,{className:"u-tx-inherit ub-nowrap ub-mx2",to:l,target:"_blank",rel:"noopener noreferrer",children:jsxRuntimeExports.jsx(NewWindowIcon,{isLarge:!0})})]}),$&&jsxRuntimeExports.jsx(LabeledList,{className:"TracePageHeader--overviewItems",items:$}),!i&&!m&&jsxRuntimeExports.jsx(SpanGraph,{trace:w,viewRange:_,updateNextViewRangeTime:x,updateViewRangeTime:E})]})}const TracePageHeader=reactExports.forwardRef(((e,t)=>jsxRuntimeExports.jsx(TracePageHeaderFn,{...e,forwardedRef:t})));class DetailState{constructor(e){const{isTagsOpen:t,isProcessOpen:r,isReferencesOpen:a,isWarningsOpen:n,logs:i}=e||{};this.isTagsOpen=Boolean(t),this.isProcessOpen=Boolean(r),this.isReferencesOpen=Boolean(a),this.isWarningsOpen=Boolean(n),this.logs={isOpen:Boolean(i&&i.isOpen),openedItems:i&&i.openedItems?new Set(i.openedItems):new Set}}toggleTags(){const e=new DetailState(this);return e.isTagsOpen=!this.isTagsOpen,e}toggleProcess(){const e=new DetailState(this);return e.isProcessOpen=!this.isProcessOpen,e}toggleReferences(){const e=new DetailState(this);return e.isReferencesOpen=!this.isReferencesOpen,e}toggleWarnings(){const e=new DetailState(this);return e.isWarningsOpen=!this.isWarningsOpen,e}toggleLogs(){const e=new DetailState(this);return e.logs.isOpen=!this.logs.isOpen,e}toggleLogItem(e){const t=new DetailState(this);return t.logs.openedItems.has(e)?t.logs.openedItems.delete(e):t.logs.openedItems.add(e),t}}function getFirstAncestor(e){return get_1$1(find_1(e.references,(({span:e,refType:t})=>e&&e.spanID&&("CHILD_OF"===t||"FOLLOWS_FROM"===t))),"span")}function spanAncestorIds(e){const t=[];if(!e)return t;let r=getFirstAncestor(e);for(;r;)t.push(r.spanID),r=getFirstAncestor(r);return t}function shouldDisableCollapse(e,t){const r=e.filter((e=>e.hasChildren));return r.length===t.size}function newInitialState(){return{childrenHiddenIDs:new Set,detailStates:new Map,hoverIndentGuideIds:new Set,shouldScrollToFirstUiFindMatch:!1,spanNameColumnWidth:parseFloat(localStorage.getItem("spanNameColumnWidth")||"0.25"),traceID:null}}const actionTypes=generateActionTypes("@jaeger-ui/trace-timeline-viewer",["ADD_HOVER_INDENT_GUIDE_ID","CHILDREN_TOGGLE","CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH","COLLAPSE_ALL","COLLAPSE_ONE","DETAIL_TOGGLE","DETAIL_TAGS_TOGGLE","DETAIL_PROCESS_TOGGLE","DETAIL_LOGS_TOGGLE","DETAIL_LOG_ITEM_TOGGLE","DETAIL_WARNINGS_TOGGLE","DETAIL_REFERENCES_TOGGLE","EXPAND_ALL","EXPAND_ONE","FOCUS_UI_FIND_MATCHES","REMOVE_HOVER_INDENT_GUIDE_ID","SET_SPAN_NAME_COLUMN_WIDTH","SET_TRACE"]),fullActions=createActions({[actionTypes.ADD_HOVER_INDENT_GUIDE_ID]:e=>({spanID:e}),[actionTypes.CHILDREN_TOGGLE]:e=>({spanID:e}),[actionTypes.CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH]:()=>({}),[actionTypes.COLLAPSE_ALL]:e=>({spans:e}),[actionTypes.COLLAPSE_ONE]:e=>({spans:e}),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:(e,t)=>({logItem:t,spanID:e}),[actionTypes.DETAIL_LOGS_TOGGLE]:e=>({spanID:e}),[actionTypes.EXPAND_ALL]:()=>({}),[actionTypes.EXPAND_ONE]:e=>({spans:e}),[actionTypes.DETAIL_PROCESS_TOGGLE]:e=>({spanID:e}),[actionTypes.DETAIL_WARNINGS_TOGGLE]:e=>({spanID:e}),[actionTypes.DETAIL_REFERENCES_TOGGLE]:e=>({spanID:e}),[actionTypes.DETAIL_TAGS_TOGGLE]:e=>({spanID:e}),[actionTypes.DETAIL_TOGGLE]:e=>({spanID:e}),[actionTypes.FOCUS_UI_FIND_MATCHES]:(e,t,r)=>({trace:e,uiFind:t,allowHide:r}),[actionTypes.REMOVE_HOVER_INDENT_GUIDE_ID]:e=>({spanID:e}),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:e=>({width:e}),[actionTypes.SET_TRACE]:(e,t)=>({trace:e,uiFind:t})}),actions=fullActions.jaegerUi.traceTimelineViewer;function calculateFocusedFindRowStates(e,t,r=!0){const a=new Map,n=new Set,i=new Map;let o=!1;t.forEach((e=>{a.set(e.spanID,e),r&&n.add(e.spanID)}));const l=filterSpans(e,t);return l&&l.size&&(l.forEach((e=>{const t=a.get(e);i.set(e,new DetailState),spanAncestorIds(t).forEach((e=>n.delete(e)))})),o=!0),{childrenHiddenIDs:n,detailStates:i,shouldScrollToFirstUiFindMatch:o}}function focusUiFindMatches(e,{uiFind:t,trace:r,allowHide:a}){return t?{...e,...calculateFocusedFindRowStates(t,r.spans,a)}:e}function clearShouldScrollToFirstUiFindMatch(e){return e.shouldScrollToFirstUiFindMatch?{...e,shouldScrollToFirstUiFindMatch:!1}:e}function setTrace(e,{uiFind:t,trace:r}){const{traceID:a,spans:n}=r;if(a===e.traceID)return e;const{spanNameColumnWidth:i}=e;return Object.assign({...newInitialState(),spanNameColumnWidth:i,traceID:a},t?calculateFocusedFindRowStates(t,n,!1):null)}function setColumnWidth(e,{width:t}){return localStorage.setItem("spanNameColumnWidth",t.toString()),{...e,spanNameColumnWidth:t}}function childrenToggle(e,{spanID:t}){const r=new Set(e.childrenHiddenIDs);return r.has(t)?r.delete(t):r.add(t),{...e,childrenHiddenIDs:r}}function expandAll(e){return{...e,childrenHiddenIDs:new Set}}function collapseAll(e,{spans:t}){if(shouldDisableCollapse(t,e.childrenHiddenIDs))return e;const r=t.reduce(((e,t)=>(t.hasChildren&&e.add(t.spanID),e)),new Set);return{...e,childrenHiddenIDs:r}}function collapseOne(e,{spans:t}){if(shouldDisableCollapse(t,e.childrenHiddenIDs))return e;let r;const a=t.reduce(((e,t)=>(r&&t.depth<=r.depth?(e.add(r.spanID),t.hasChildren&&(r=t)):t.hasChildren&&!e.has(t.spanID)&&(r=t),e)),new Set(e.childrenHiddenIDs));return r&&a.add(r.spanID),{...e,childrenHiddenIDs:a}}function expandOne(e,{spans:t}){if(0===e.childrenHiddenIDs.size)return e;let r=-1,a=!0;const n=t.reduce(((e,t)=>(t.depth<=r&&(a=!0),a&&e.has(t.spanID)&&(e.delete(t.spanID),a=!1,r=t.depth),e)),new Set(e.childrenHiddenIDs));return{...e,childrenHiddenIDs:n}}function detailToggle(e,{spanID:t}){const r=new Map(e.detailStates);return r.has(t)?r.delete(t):r.set(t,new DetailState),{...e,detailStates:r}}function detailSubsectionToggle(e,t,{spanID:r}){const a=t.detailStates.get(r);if(!a)return t;let n;n="tags"===e?a.toggleTags():"process"===e?a.toggleProcess():"warnings"===e?a.toggleWarnings():"references"===e?a.toggleReferences():a.toggleLogs();const i=new Map(t.detailStates);return i.set(r,n),{...t,detailStates:i}}const detailTagsToggle=detailSubsectionToggle.bind(null,"tags"),detailProcessToggle=detailSubsectionToggle.bind(null,"process"),detailLogsToggle=detailSubsectionToggle.bind(null,"logs"),detailWarningsToggle=detailSubsectionToggle.bind(null,"warnings"),detailReferencesToggle=detailSubsectionToggle.bind(null,"references");function detailLogItemToggle(e,{spanID:t,logItem:r}){const a=e.detailStates.get(t);if(!a)return e;const n=a.toggleLogItem(r),i=new Map(e.detailStates);return i.set(t,n),{...e,detailStates:i}}function addHoverIndentGuideId(e,{spanID:t}){const r=new Set(e.hoverIndentGuideIds);return r.add(t),{...e,hoverIndentGuideIds:r}}function removeHoverIndentGuideId(e,{spanID:t}){const r=new Set(e.hoverIndentGuideIds);return r.delete(t),{...e,hoverIndentGuideIds:r}}const traceTimeline=handleActions({[actionTypes.ADD_HOVER_INDENT_GUIDE_ID]:guardReducer(addHoverIndentGuideId),[actionTypes.CHILDREN_TOGGLE]:guardReducer(childrenToggle),[actionTypes.CLEAR_SHOULD_SCROLL_TO_FIRST_UI_FIND_MATCH]:guardReducer(clearShouldScrollToFirstUiFindMatch),[actionTypes.COLLAPSE_ALL]:guardReducer(collapseAll),[actionTypes.COLLAPSE_ONE]:guardReducer(collapseOne),[actionTypes.DETAIL_LOGS_TOGGLE]:guardReducer(detailLogsToggle),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:guardReducer(detailLogItemToggle),[actionTypes.DETAIL_PROCESS_TOGGLE]:guardReducer(detailProcessToggle),[actionTypes.DETAIL_WARNINGS_TOGGLE]:guardReducer(detailWarningsToggle),[actionTypes.DETAIL_REFERENCES_TOGGLE]:guardReducer(detailReferencesToggle),[actionTypes.DETAIL_TAGS_TOGGLE]:guardReducer(detailTagsToggle),[actionTypes.DETAIL_TOGGLE]:guardReducer(detailToggle),[actionTypes.EXPAND_ALL]:guardReducer(expandAll),[actionTypes.EXPAND_ONE]:guardReducer(expandOne),[actionTypes.FOCUS_UI_FIND_MATCHES]:guardReducer(focusUiFindMatches),[actionTypes.REMOVE_HOVER_INDENT_GUIDE_ID]:guardReducer(removeHoverIndentGuideId),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:guardReducer(setColumnWidth),[actionTypes.SET_TRACE]:guardReducer(setTrace)},newInitialState()),TimelineCollapser$1="";function getTitle(e){return jsxRuntimeExports.jsx("span",{className:"TimelineCollapser--tooltipTitle",children:e})}class TimelineCollapser extends React$k.PureComponent{constructor(e){super(e),this.getContainer=()=>this.containerRef.current||document.createElement("div"),this.containerRef=React$k.createRef()}render(){const{onExpandAll:e,onExpandOne:t,onCollapseAll:r,onCollapseOne:a}=this.props;return jsxRuntimeExports.jsxs("div",{className:"TimelineCollapser",ref:this.containerRef,children:[jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Expand +1"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"right",onClick:t,className:"TimelineCollapser--btn-expand"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Collapse +1"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"right",onClick:a,className:"TimelineCollapser--btn"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Expand All"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"double-right",onClick:e,className:"TimelineCollapser--btn-expand"})}),jsxRuntimeExports.jsx(Tooltip$1,{title:getTitle("Collapse All"),getPopupContainer:this.getContainer,children:jsxRuntimeExports.jsx(Icon$1,{type:"double-right",onClick:r,className:"TimelineCollapser--btn"})})]})}}const TimelineViewingLayer$1="";function isOutOfView(e){return Reflect.has(e,"isOutOfView")}function mapFromViewSubRange(e,t,r){return e+r*(t-e)}function mapToViewSubRange(e,t,r){return(r-e)/(t-e)}function getNextViewLayout(e,t){let[r,a]=e=1||a<=0?{isOutOfView:!0}:(r<0&&(r=0),a>1&&(a=1),{isDraggingLeft:e>t,left:100*r+"%",width:100*(a-r)+"%"})}function getMarkers(e,t,r,a,n){const i=getNextViewLayout(mapToViewSubRange(e,t,r),mapToViewSubRange(e,t,a));if(isOutOfView(i))return null;const{isDraggingLeft:o,left:l,width:s}=i,c=classnamesExports({isDraggingLeft:o,isDraggingRight:!o,isReframeDrag:!n,isShiftDrag:n});return jsxRuntimeExports.jsx("div",{className:`TimelineViewingLayer--dragged ${c}`,style:{left:l,width:s}})}class TimelineViewingLayer extends reactExports.PureComponent{constructor(e){super(e),this._getDraggingBounds=()=>{const e=this._root.current;if(!e)throw new Error("Component must be mounted in order to determine DraggableBounds");const{left:t,width:r}=e.getBoundingClientRect();return{clientXLeft:t,width:r}},this._handleReframeMouseMove=({value:e})=>{const[t,r]=this.props.viewRangeTime.current,a=mapFromViewSubRange(t,r,e);this.props.updateNextViewRangeTime({cursor:a})},this._handleReframeMouseLeave=()=>{this.props.updateNextViewRangeTime({cursor:void 0})},this._getAnchorAndShift=e=>{const{current:t,reframe:r}=this.props.viewRangeTime,[a,n]=t,i=mapFromViewSubRange(a,n,e);return{anchor:r?r.anchor:i,shift:i}},this._handleReframeDragUpdate=({value:e})=>{const{anchor:t,shift:r}=this._getAnchorAndShift(e),a={reframe:{anchor:t,shift:r}};this.props.updateNextViewRangeTime(a)},this._handleReframeDragEnd=({manager:e,value:t})=>{const{anchor:r,shift:a}=this._getAnchorAndShift(t),[n,i]=a=o&&r<=l&&(s=100*mapToViewSubRange(o,l,r)+"%"),jsxRuntimeExports.jsxs("div",{"aria-hidden":!0,className:"TimelineViewingLayer",ref:this._root,onMouseDown:this._draggerReframe.handleMouseDown,onMouseLeave:this._draggerReframe.handleMouseLeave,onMouseMove:this._draggerReframe.handleMouseMove,children:[null!=s&&jsxRuntimeExports.jsx("div",{className:"TimelineViewingLayer--cursorGuide",style:{left:s}}),null!=a&&getMarkers(o,l,a.anchor,a.shift,!1),null!=n&&getMarkers(o,l,l,n,!0),null!=i&&getMarkers(o,l,o,i,!0)]})}}function createViewedBoundsFunc(e){const{min:t,max:r,viewStart:a,viewEnd:n}=e,i=r-t,o=t+a*i,l=r-(1-n)*i-o;return(e,t)=>({start:(e-o)/l,end:(t-o)/l})}function spanHasTag(e,t,r){return!(!Array.isArray(r.tags)||!r.tags.length)&&r.tags.some((r=>r.key===e&&r.value===t))}const isClientSpan=spanHasTag.bind(null,"span.kind","client"),isServerSpan=spanHasTag.bind(null,"span.kind","server"),isErrorBool=spanHasTag.bind(null,"error",!0),isErrorStr=spanHasTag.bind(null,"error","true"),isErrorSpan=e=>isErrorBool(e)||isErrorStr(e);function spanContainsErredSpan(e,t){const{depth:r}=e[t];let a=t+1;for(;ar;a++)if(isErrorSpan(e[a]))return!0;return!1}function findServerChildSpan(e){if(e.length<=1||!isClientSpan(e[0]))return!1;const t=e[0].depth+1;let r=1;for(;re.tags.some((({key:e,value:t})=>"span.kind"===e&&"client"===t)),Ticks$1="";function Ticks(e){const{endTime:t,numTicks:r,showLabels:a,startTime:n}=e;let i;if(a){i=[];const e=(t||0)-(n||0);for(let t=0;t=1?"isEndAnchor":""),children:i[l]})},e))}return jsxRuntimeExports.jsx("div",{className:"Ticks",children:o})}Ticks.defaultProps={endTime:null,showLabels:null,startTime:null};const TimelineRow$1="";function TimelineRow(e){const{children:t,className:r="",...a}=e;return jsxRuntimeExports.jsx("div",{className:`flex-row ${r}`,...a,children:t})}function TimelineRowCell(e){const{children:t,className:r="",width:a,style:n,...i}=e,o=100*a+"%",l={...n,flexBasis:o,maxWidth:o};return jsxRuntimeExports.jsx("div",{className:`ub-relative ${r}`,style:l,...i,children:t})}TimelineRow.defaultProps={className:""},TimelineRowCell.defaultProps={className:"",style:{}},TimelineRow.Cell=TimelineRowCell;const TimelineHeaderRow="";class ActionDispatcher{constructor(){this.actions={}}addActionListener(e,t){this.actions[e]?this.actions[e].push(t):this.actions[e]=[t]}removeActionListener(e,t){this.actions[e]&&(this.actions[e]=this.actions[e].filter((e=>e!==t))),0===this.actions[e].length&&delete this.actions[e]}dispatch(e,t,r,a){this.actions[t]&&this.actions[t].forEach((t=>t(r,e,a)))}}const dispatcher=new ActionDispatcher,state={pendingOperationsCount:0,spans:{}},updateState=(e,t)=>{switch(e){case actions$1.GET_SPANS_DATA:state.pendingOperationsCount++;break;case actions$1.SET_SPANS_DATA:state.spans=t,state.pendingOperationsCount--;break;case actions$1.CLEAR:state.spans={},state.pendingOperationsCount--}};let SpanDetailRow$2=class extends reactExports.PureComponent{constructor(e){super(e),this._updateIsLoading=this._updateIsLoading.bind(this),this.state={isLoading:Boolean(state.pendingOperationsCount)}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateIsLoading)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateIsLoading)}_updateIsLoading(){this.setState({isLoading:!1})}render(){const{duration:e,nameColumnWidth:t,numTicks:r,onCollapseAll:a,onCollapseOne:n,onColummWidthChange:i,onExpandAll:o,onExpandOne:l,updateViewRangeTime:s,updateNextViewRangeTime:c,viewRangeTime:u}=this.props,[f,A]=u.current;return jsxRuntimeExports.jsxs(TimelineRow,{className:"TimelineHeaderRow",children:[jsxRuntimeExports.jsxs(TimelineRow.Cell,{className:"ub-flex ub-px2",width:t,children:[jsxRuntimeExports.jsx("h3",{className:"TimelineHeaderRow--title",children:"Service & Operation"}),this.state.isLoading&&jsxRuntimeExports.jsxs("div",{className:"ub-flex TimelineHeaderRow--loading",children:[jsxRuntimeExports.jsx(LoadingIndicator,{className:"is-medium"}),jsxRuntimeExports.jsx("span",{className:"TimelineHeaderRow--loading-text",children:"Loading data..."})]}),jsxRuntimeExports.jsx(TimelineCollapser,{onCollapseAll:a,onExpandAll:o,onCollapseOne:n,onExpandOne:l})]}),jsxRuntimeExports.jsxs(TimelineRow.Cell,{width:1-t,children:[jsxRuntimeExports.jsx(TimelineViewingLayer,{boundsInvalidator:t,updateNextViewRangeTime:c,updateViewRangeTime:s,viewRangeTime:u}),jsxRuntimeExports.jsx(Ticks,{numTicks:r,startTime:f*e,endTime:A*e,showLabels:!0})]}),jsxRuntimeExports.jsx(VerticalResizer,{position:t,onChange:i,min:.15,max:.85})]})}};class Positions{constructor(e){this.ys=[],this.heights=[],this.bufferLen=e,this.dataLen=-1,this.lastI=-1}profileData(e){e!==this.dataLen&&(this.dataLen=e,this.ys.length=e,this.heights.length=e,this.lastI>=e&&(this.lastI=e-1))}calcHeights(e,t,r){null!=r&&(this.lastI=r);let a=e+this.bufferLen;if(a<=this.lastI)return;a>=this.heights.length&&(a=this.heights.length-1);let n=this.lastI;for(-1===this.lastI&&(n=0,this.ys[0]=0);n<=a;){const e=this.heights[n]=t(n);this.ys[n+1]=this.ys[n]+e,n++}this.lastI=a}calcYs(e,t){for(;(null==this.ys[this.lastI]||e>this.ys[this.lastI])&&this.lastIthis.lastI)return void this.calcHeights(r,t);const a=t(r);if(a===this.heights[r])return;const n=a-this.heights[r];for(this.heights[r]=a;++r<=this.lastI;)this.ys[r]+=n;null!=this.ys[this.lastI+1]&&(this.ys[this.lastI+1]+=n)}findFloorIndex(e,t){this.calcYs(e,t);let r,a=0,n=this.lastI;if(this.ys.length<2||ethis.ys[n])return n;for(;athis.ys[r]){if(e<=this.ys[r+1])return r;a=r}else{if(!(e=this.ys[r-1])return r-1;n=r}throw new Error(`unable to find floor index for y=${e}`)}getRowPosition(e,t){return this.confirmHeight(e,t),{height:this.heights[e],y:this.ys[e]}}getEstimatedHeight(){const e=this.ys[this.lastI]+this.heights[this.lastI];return this.lastI>=this.dataLen-1?0|e:e/(this.lastI+1)*this.heights.length|0}}const DEFAULT_INITIAL_DRAW=300;class ListView extends reactExports.Component{constructor(e){super(e),this.getViewHeight=()=>this._viewHeight,this.getBottomVisibleIndex=()=>{const e=this._scrollTop+this._viewHeight;return this._yPositions.findFloorIndex(e,this._getHeight)},this.getTopVisibleIndex=()=>this._yPositions.findFloorIndex(this._scrollTop,this._getHeight),this.getRowPosition=e=>this._yPositions.getRowPosition(e,this._getHeight),this._onScroll=()=>{this._isScrolledOrResized||(this._isScrolledOrResized=!0,window.requestAnimationFrame(this._positionList))},this._positionList=()=>{if(this._isScrolledOrResized=!1,!this._wrapperElm)return;this._calcViewIndexes();const e=this.props.viewBufferMin>this._startIndex?0:this._startIndex-this.props.viewBufferMin,t=this.props.viewBufferMinthis._endIndexDrawn)&&this.forceUpdate()},this._initWrapper=e=>{this._wrapperElm=e,!this.props.windowScroller&&e&&(this._viewHeight=e.clientHeight)},this._initItemHolder=e=>{this._itemHolderElm=e,this._scanItemHeights()},this._scanItemHeights=()=>{const e=this.props.getIndexFromKey;if(!this._itemHolderElm)return;let t=null,r=null,a=!1;const n=this._itemHolderElm.childNodes,i=n.length;for(let o=0;o{const t=this.props.getKeyFromIndex(e),r=this._knownHeights.get(t);return null!=r&&r==r?r:this.props.itemHeightGetter(e,t)},this._yPositions=new Positions(200),this._knownHeights=new Map,this._startIndexDrawn=2**20,this._endIndexDrawn=-1048576,this._startIndex=0,this._endIndex=0,this._viewHeight=-1,this._scrollTop=-1,this._isScrolledOrResized=!1,this._htmlTopOffset=-1,this._windowScrollListenerAdded=!1,this._htmlElm=document.documentElement,this._wrapperElm=void 0,this._itemHolderElm=void 0}componentDidMount(){if(this.props.windowScroller){if(this._wrapperElm){const{top:e}=this._wrapperElm.getBoundingClientRect();this._htmlTopOffset=e+this._htmlElm.scrollTop}window.addEventListener("scroll",this._onScroll),this._windowScrollListenerAdded=!0}}componentDidUpdate(){this._itemHolderElm&&this._scanItemHeights()}componentWillUnmount(){this._windowScrollListenerAdded&&window.removeEventListener("scroll",this._onScroll)}_isViewChanged(){if(!this._wrapperElm)return!1;const e=this.props.windowScroller,t=e?this._htmlElm.clientHeight:this._wrapperElm.clientHeight,r=e?this._htmlElm.scrollTop:this._wrapperElm.scrollTop;return t!==this._viewHeight||r!==this._scrollTop}_calcViewIndexes(){if(this.props.windowScroller)this._viewHeight=window.innerHeight-this._htmlTopOffset,this._scrollTop=window.scrollY;else{if(!this._wrapperElm)return this._viewHeight=-1,this._startIndex=0,void(this._endIndex=0);this._viewHeight=this._wrapperElm.clientHeight,this._scrollTop=this._wrapperElm.scrollTop}const e=this._scrollTop,t=this._scrollTop+this._viewHeight;this._startIndex=this._yPositions.findFloorIndex(e,this._getHeight),this._endIndex=this._yPositions.findFloorIndex(t,this._getHeight)}render(){const{dataLength:e,getKeyFromIndex:t,initialDraw:r=DEFAULT_INITIAL_DRAW,itemRenderer:a,viewBuffer:n,viewBufferMin:i}=this.props,o=this._getHeight,l=[];let s,c;if(this._yPositions.profileData(e),this._wrapperElm){this._isViewChanged()&&this._calcViewIndexes();const t=i>this._startIndex?0:this._startIndex-i,r=ithis._endIndexDrawn?(s=n>this._startIndex?0:this._startIndex-n,c=this._endIndex+n,c>=e&&(c=e-1)):(s=this._startIndexDrawn,c=this._endIndexDrawn>e-1?e-1:this._endIndexDrawn)}else s=0,c=(rn(t.spanID),className:a,...i,children:r}):jsxRuntimeExports.jsx("a",{href:getUrl$6(t.traceID,t.spanID),target:"_blank",rel:"noopener noreferrer",className:a,...i,children:r})}class ReferencesButton extends React$k.PureComponent{constructor(){super(...arguments),this.referencesList=e=>jsxRuntimeExports.jsx(Menu,{children:e.map((e=>{const{span:t,spanID:r}=e;return jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsxs(ReferenceLink,{reference:e,focusSpan:this.props.focusSpan,className:"ReferencesButton--TraceRefLink",children:[t?`${t.process.serviceName}:${t.operationName} - ${e.spanID}`:`(another trace) - ${e.spanID}`,!t&&jsxRuntimeExports.jsx(NewWindowIcon,{})]})},`${r}`)}))})}render(){const{references:e,children:t,tooltipText:r,focusSpan:a}=this.props,n={arrowPointAtCenter:!0,mouseLeaveDelay:.5,placement:"bottom",title:r,overlayClassName:"ReferencesButton--tooltip"};if(e.length>1)return jsxRuntimeExports.jsx(Tooltip$1,{...n,children:jsxRuntimeExports.jsx(Dropdown,{overlay:this.referencesList(e),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsx("a",{className:"ReferencesButton-MultiParent",children:t})})});const i=e[0];return jsxRuntimeExports.jsx(Tooltip$1,{...n,children:jsxRuntimeExports.jsx(ReferenceLink,{reference:i,focusSpan:a,className:"ReferencesButton-MultiParent",children:t})})}}var iosArrowDownExports={},iosArrowDown={get exports(){return iosArrowDownExports},set exports(e){iosArrowDownExports=e}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t{e.relatedTarget instanceof HTMLSpanElement&&get_1$1(e,"relatedTarget.dataset.ancestorId")===t||this.props.removeHoverIndentGuideId(t)},this.handleMouseEnter=(e,t)=>{e.relatedTarget instanceof HTMLSpanElement&&get_1$1(e,"relatedTarget.dataset.ancestorId")===t||this.props.addHoverIndentGuideId(t)},this.ancestorIds=spanAncestorIds(e.span),this.ancestorIds.push("root"),this.ancestorIds.reverse()}render(){const{childrenVisible:e,onClick:t,showChildrenIcon:r,span:a}=this.props,{hasChildren:n,spanID:i}=a,o=n?{onClick:t,role:"switch","aria-checked":e}:null,l=r&&n&&(e?jsxRuntimeExports.jsx(IoIosArrowDown,{}):jsxRuntimeExports.jsx(IoChevronRight,{}));return jsxRuntimeExports.jsxs("span",{className:"SpanTreeOffset "+(n?"is-parent":""),...o,children:[this.ancestorIds.map((e=>jsxRuntimeExports.jsx("span",{className:classnamesExports("SpanTreeOffset--indentGuide",{"is-active":this.props.hoverIndentGuideIds.has(e)}),"data-ancestor-id":e,onMouseEnter:t=>this.handleMouseEnter(t,e),onMouseLeave:t=>this.handleMouseLeave(t,e)},e))),l&&jsxRuntimeExports.jsx("span",{className:"SpanTreeOffset--iconWrapper",onMouseEnter:e=>this.handleMouseEnter(e,i),onMouseLeave:e=>this.handleMouseLeave(e,i),children:l})]})}}function mapStateToProps$4(e){const{hoverIndentGuideIds:t}=e.traceTimeline;return{hoverIndentGuideIds:t}}function mapDispatchToProps$4(e){const{addHoverIndentGuideId:t,removeHoverIndentGuideId:r}=bindActionCreators(actions,e);return{addHoverIndentGuideId:t,removeHoverIndentGuideId:r}}UnconnectedSpanTreeOffset.defaultProps={childrenVisible:!1,onClick:void 0,showChildrenIcon:!0};const SpanTreeOffset=connect$3(mapStateToProps$4,mapDispatchToProps$4)(UnconnectedSpanTreeOffset);function arrayAggregator$1(e,t,r,a){for(var n=-1,i=null==e?0:e.length;++n/g,">")}var jsonMarkup=function(e,t){var r="",a=Stylize(t),n=function(e,t,a,n){if(!e.length)return t+" "+a;var i=t+"\n";return r+=INDENT,e.forEach((function(t,a){i+=r+n(t)+(a"+function e(t){if(void 0===t)return"";switch(type$1(t)){case"boolean":return""+t+"";case"number":return""+t+"";case"date":return'"'+escape$1(t.toISOString())+'"';case"null":return"null";case"string":return""'+escape$1(t.replace(/\n/g,"\n"+r))+'"';case"link":return""'+escape$1(t)+'"';case"array":return n(t,"[","]",e);case"object":var i=Object.keys(t).filter((function(e){return void 0!==t[e]}));return n(i,"{","}",(function(r){return""'+r+'": '+e(t[r])}))}return""}(e)+""};const KeyValuesTable$1="",jsonObjectOrArrayStartRegex=/^(\[|\{)/;function tryParseJson(e){try{return jsonObjectOrArrayStartRegex.test(e)?JSON.parse(e):e}catch(_){return e}}function shouldDisplayAsStringList(e){return e.startsWith("http.request.header.")||e.startsWith("http.response.header.")}const stringListMarkup=e=>jsxRuntimeExports.jsx("div",{className:"json-markup",children:e.map(((e,t)=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[t>0&&", ",jsxRuntimeExports.jsx("span",{className:"json-markup-string",children:e})]})))}),stringMarkup=e=>jsxRuntimeExports.jsx("div",{className:"json-markup",children:jsxRuntimeExports.jsx("span",{className:"json-markup-string",children:e})});function _jsonMarkup(e){const t={__html:jsonMarkup(e)};return jsxRuntimeExports.jsx("div",{dangerouslySetInnerHTML:t})}function formatValue$1(e,t){let r,a=t;return"string"==typeof t&&(a=tryParseJson(t)),r="string"==typeof a?stringMarkup(a):Array.isArray(a)&&shouldDisplayAsStringList(e)?stringListMarkup(a):_jsonMarkup(a),jsxRuntimeExports.jsx("div",{className:"ub-inline-block",children:r})}const LinkValue=e=>jsxRuntimeExports.jsxs("a",{href:e.href,title:e.title,target:"_blank",rel:"noopener noreferrer",children:[e.children," ",jsxRuntimeExports.jsx(Icon$1,{className:"KeyValueTable--linkIcon",type:"export"})]});LinkValue.defaultProps={title:""};const linkValueList=e=>jsxRuntimeExports.jsx(Menu,{children:e.map((({text:e,url:t},r)=>jsxRuntimeExports.jsx(Menu.Item,{children:jsxRuntimeExports.jsx(LinkValue,{href:t,children:e})},`${t}-${r}`)))});function KeyValuesTable(e){const{data:t,linksGetter:r}=e;return jsxRuntimeExports.jsx("div",{className:"KeyValueTable u-simple-scrollbars",children:jsxRuntimeExports.jsx("table",{className:"u-width-100",children:jsxRuntimeExports.jsx("tbody",{className:"KeyValueTable--body",children:t.map(((e,a)=>{const n=formatValue$1(e.key,e.value),i=r?r(t,a):null;let o;return o=i&&1===i.length?jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(LinkValue,{href:i[0].url,title:i[0].text,children:n})}):i&&i.length>1?jsxRuntimeExports.jsx("div",{children:jsxRuntimeExports.jsx(Dropdown,{overlay:linkValueList(i),placement:"bottomRight",trigger:["click"],children:jsxRuntimeExports.jsxs("a",{children:[n," ",jsxRuntimeExports.jsx(Icon$1,{className:"KeyValueTable--linkIcon",type:"profile"})]})})}):n,jsxRuntimeExports.jsxs("tr",{className:"KeyValueTable--row",children:[jsxRuntimeExports.jsx("td",{className:"KeyValueTable--keyColumn",children:e.key}),jsxRuntimeExports.jsx("td",{children:o}),jsxRuntimeExports.jsx("td",{className:"KeyValueTable--copyColumn",children:jsxRuntimeExports.jsx(CopyIcon,{className:"KeyValueTable--copyIcon",copyText:JSON.stringify(e,null,2),tooltipTitle:"Copy JSON"})})]},`${e.key}-${a}`)}))})})})}const AccordianKeyValues$1="";function KeyValuesSummary(e){const{data:t}=e;return Array.isArray(t)&&t.length?jsxRuntimeExports.jsx("ul",{className:"AccordianKeyValues--summary",children:t.map(((e,t)=>jsxRuntimeExports.jsxs("li",{className:"AccordianKeyValues--summaryItem",children:[jsxRuntimeExports.jsx("span",{className:"AccordianKeyValues--summaryLabel",children:e.key}),jsxRuntimeExports.jsx("span",{className:"AccordianKeyValues--summaryDelim",children:"="}),String(e.value)]},`${e.key}-${t}`)))}):null}function AccordianKeyValues(e){const{className:t,data:r,highContrast:a,interactive:n,isOpen:i,label:o,linksGetter:l,onToggle:s}=e,c=!Array.isArray(r)||!r.length,u=classnamesExports("u-align-icon",{"AccordianKeyValues--emptyIcon":c});let f=null,A=null;return n&&(f=i?jsxRuntimeExports.jsx(IoIosArrowDown,{className:u}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:u}),A={"aria-checked":i,onClick:c?null:s,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:classnamesExports(t,"u-tx-ellipsis"),children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianKeyValues--header",{"is-empty":c,"is-high-contrast":a}),...A,children:[f,jsxRuntimeExports.jsxs("strong",{"data-test":LABEL,children:[o,i||":"]}),!i&&jsxRuntimeExports.jsx(KeyValuesSummary,{data:r})]}),i&&jsxRuntimeExports.jsx(KeyValuesTable,{data:r,linksGetter:l})]})}KeyValuesSummary.defaultProps={data:null},AccordianKeyValues.defaultProps={className:null,highContrast:!1,interactive:!0,onToggle:null};const AccordianLogs$1="";function AccordianLogs(e){const{interactive:t,isOpen:r,linksGetter:a,logs:n,openedItems:i,onItemToggle:o,onToggle:l,timestamp:s}=e;let c=null,u="span",f=null;return t&&(c=r?jsxRuntimeExports.jsx(IoIosArrowDown,{className:"u-align-icon"}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:"u-align-icon"}),u="a",f={"aria-checked":r,onClick:l,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:"AccordianLogs",children:[jsxRuntimeExports.jsxs(u,{className:classnamesExports("AccordianLogs--header",{"is-open":r}),...f,children:[c," ",jsxRuntimeExports.jsx("strong",{children:"Logs"})," (",n.length,")"]}),r&&jsxRuntimeExports.jsxs("div",{className:"AccordianLogs--content",children:[_sortBy(n,"timestamp").map(((e,r)=>jsxRuntimeExports.jsx(AccordianKeyValues,{className:ro(e):null},`${e.timestamp}-${r}`))),jsxRuntimeExports.jsx("small",{className:"AccordianLogs--footer",children:"Log timestamps are relative to the start time of the full trace."})]})]})}AccordianLogs.defaultProps={interactive:!0,linksGetter:void 0,onItemToggle:void 0,onToggle:void 0,openedItems:void 0};const SpanBar$2="";function toPercent(e){return`${(100*e).toFixed(1)}%`}function SpanBar(e){const{viewEnd:t,viewStart:r,getViewedBounds:a,color:n,label:i,hintSide:o,onClick:l,setLongLabel:s,setShortLabel:c,rpc:u,traceStartTime:f,span:A}=e,d=groupBy_1(A.logs,(e=>{const t=a(e.timestamp,e.timestamp).start;return toPercent(Math.round(500*t)/500)}));return jsxRuntimeExports.jsxs("div",{className:"SpanBar--wrapper",onClick:l,onMouseOut:c,onMouseOver:s,"aria-hidden":!0,children:[jsxRuntimeExports.jsx("div",{"aria-label":i,className:"SpanBar--bar",style:{background:n,left:toPercent(r),width:toPercent(t-r)},children:jsxRuntimeExports.jsx("div",{className:`SpanBar--label is-${o}`,children:i})}),jsxRuntimeExports.jsx("div",{children:Object.keys(d).map((e=>jsxRuntimeExports.jsx(Popover,{arrowPointAtCenter:!0,overlayClassName:"SpanBar--logHint",placement:"topLeft",content:jsxRuntimeExports.jsx(AccordianLogs,{interactive:!1,isOpen:!0,logs:d[e],timestamp:f}),children:jsxRuntimeExports.jsx("div",{className:"SpanBar--logMarker",style:{left:e}})},e)))}),u&&jsxRuntimeExports.jsx("div",{className:"SpanBar--rpc",style:{background:u.color,left:toPercent(u.viewStart),width:toPercent(u.viewEnd-u.viewStart)}})]})}const SpanBar$1=compose(withState("label","setLabel",(e=>e.shortLabel)),withProps((({setLabel:e,shortLabel:t,longLabel:r})=>({setLongLabel:()=>e(r),setShortLabel:()=>e(t)}))),onlyUpdateForKeys(["label","rpc","viewStart","viewEnd"]))(SpanBar),LightBulbIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 12 12",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M4.125 10.875h3.75M3.689 7.828a3.727 3.727 0 0 1-1.439-2.93c-.01-2.034 1.627-3.726 3.66-3.773a3.75 3.75 0 0 1 2.406 6.698 1.134 1.134 0 0 0-.441.896V9a.375.375 0 0 1-.375.375h-3A.375.375 0 0 1 4.125 9v-.281a1.144 1.144 0 0 0-.436-.89v0Z"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M6.38 2.662a2.245 2.245 0 0 1 1.837 1.833"})]})},LightBulbIcon=React$k.memo(LightBulbIconComponent),AlarmClockIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"m6.33 5-2 2m13.34 0-2-2M7 15.67 5.67 17M15 15.67 16.33 17M11 9v2.67L12.33 13M11 17a5.33 5.33 0 1 0 0-10.67A5.33 5.33 0 0 0 11 17Z"})})},AlarmClockIcon=React$k.memo(AlarmClockIconComponent),BottleneckIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",d:"M15.13 4.25 12.5 8v5.63l2.63 4.12m-8.25 0L9.5 14V8.37L6.87 4.25m8.63 10.5A5.53 5.53 0 0 0 17 11c0-1.42-.56-2.73-1.5-3.75m-9 0A5.53 5.53 0 0 0 5 11c0 1.42.56 2.73 1.5 3.75"})})},BottleneckIcon=React$k.memo(BottleneckIconComponent),MeterHighIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M5.94 11c0-2.7 2.2-4.9 4.9-4.9M14 7.85 10.84 11m.7 0a.7.7 0 1 1-1.4 0 .7.7 0 0 1 1.4 0Z"})]})},MeterHighIcon=React$k.memo(MeterHighIconComponent),MeterLowIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M15.9 11c0-2.7-2.2-4.9-4.9-4.9M7.85 7.85 11 11m-.7 0a.7.7 0 1 0 1.4 0 .7.7 0 0 0-1.4 0Z"})]})},MeterLowIcon=React$k.memo(MeterLowIconComponent),MeterMediumIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".95",d:"M11 6.04V11m.76 0a.76.76 0 1 1-1.52 0 .76.76 0 0 1 1.52 0Z"})]})},MeterMediumIcon=React$k.memo(MeterMediumIconComponent),SQLDatabaseIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M16 5.8c0 .994-2.239 1.8-5 1.8s-5-.806-5-1.8m10 0c0-.994-2.239-1.8-5-1.8s-5 .806-5 1.8m10 0V9M6 5.8v6M16 9c0 .996-2.222 1.8-5 1.8S6 9.996 6 9m10 0v5.2M6 15.933c.261.198.578.305.904.306.542 0 1.025-.184 1.025-.796 0-.98-1.929-.55-1.929-1.469 0-.49.362-.795.904-.795.326 0 .643.108.904.306m5.585-.306v3.078H15.5m-5-.185c.71 0 1.286-.648 1.286-1.447S11.21 13.18 10.5 13.18c-.71 0-1.286.647-1.286 1.446 0 .799.576 1.447 1.286 1.447Zm.322-.965L11.5 16.5"})})},SQLDatabaseIcon=React$k.memo(SQLDatabaseIconComponent),ScalesIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5.077v11.846m-1.615 0h3.23M6.154 8.308l9.692-2.154M4 13.692c0 1.192 1.346 1.616 2.154 1.616.808 0 2.154-.424 2.154-1.616L6.154 8.308 4 13.692Zm9.692-2.153c0 1.19 1.347 1.615 2.154 1.615.808 0 2.154-.424 2.154-1.615l-2.154-5.385-2.154 5.385Z"})})},ScalesIcon=React$k.memo(ScalesIconComponent),SineIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M4 11c7-13.86 7 13.86 14 0"})})},SineIcon=React$k.memo(SineIconComponent),SnailIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:[jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",d:"M3.92 16.2h10.52c.98 0 1.78-.8 1.78-1.79v-.39c0-.77.63-1.4 1.4-1.4v0c.54 0 .98-.44.98-.98v-.2c0-.66-.54-1.2-1.2-1.2v0c-1.17 0-2.22.76-2.6 1.87l-.54 1.62c0 .02-.02.01-.02 0v-2.6a4.85 4.85 0 0 0-4.86-4.85h-.3a3.97 3.97 0 0 0-3.97 3.96v.67a3.3 3.3 0 0 0 3.3 3.3h1c1.13 0 2.05-.91 2.05-2.05v-1.02c0-1.15-.93-2.09-2.08-2.09h-.1c-.77 0-1.4.63-1.4 1.4v0c0 .76.63 1.38 1.4 1.38h.2"}),jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",d:"M19 7.86c-.53-.13-1.67.16-1.98 2.38m.39-3.96c-.53-.14-1.98 1.58-1.59 4.36"})]})},SnailIcon=React$k.memo(SnailIconComponent),SpotIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M11.7 5a6.01 6.01 0 0 1 5.14 5.38M10.14 5A6.01 6.01 0 0 0 5 10.38m5.13 6.72A6.01 6.01 0 0 1 5 11.72m6.7 5.38a6.01 6.01 0 0 0 5.14-5.38m-5.89 1.58a2.37 2.37 0 1 0 0-4.74 2.37 2.37 0 0 0 0 4.74Z"})})},SpotIcon=React$k.memo(SpotIconComponent),WarningCircleIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:".82",d:"M11 7.73v4.47m0 1.8v.22M17 11a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z"})})},WarningCircleIcon=React$k.memo(WarningCircleIconComponent);var InsightType=(e=>(e.TopErrorFlows="TopErrorFlows",e.HotSpot="HotSpot",e.Errors="Errors",e.SlowEndpoint="SlowEndpoint",e.LowUsage="LowUsage",e.NormalUsage="NormalUsage",e.HighUsage="HighUsage",e.EndpointBottleneck="EndpointBottleneck",e.EndpointSpanNPlusOne="EndpointSpanNPlusOne",e.SpanUsages="SpanUsages",e.SpaNPlusOne="SpaNPlusOne",e.SpanEndpointBottleneck="SpanEndpointBottleneck",e.SpanDurations="SpanDurations",e.SpanScaling="SpanScaling",e.SpanDurationBreakdown="SpanDurationBreakdown",e.EndpointBreakdown="EndpointBreakdown",e.EndpointSessionInView="EndpointSessionInView",e.EndpointChattyApi="EndpointChattyApi",e.EndpointChattyApiV2="EndpointChattyApiV2",e.EndpointHighNumberOfQueries="EndpointHighNumberOfQueries",e.SpanNexus="SpanNexus",e.SpanQueryOptimization="SpanQueryOptimization",e.EndpointQueryOptimization="EndpointQueryOptimization",e.EndpointQueryOptimizationV2="EndpointQueryOptimizationV2",e.EndpointSlowdownSource="EndpointSlowdownSource",e))(InsightType||{});const ClockWithTicksIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{fill:r,d:"M16.9984 11.5048A6.0096 6.0096 0 0 1 13.07 16.636a6.0095 6.0095 0 0 1-6.3096-1.3964 6.0102 6.0102 0 0 1 3.7348-10.238.4634.4634 0 0 1 .0762.9236 5.0867 5.0867 0 1 0 5.5034 5.5034.4636.4636 0 0 1 .4999-.4237.4634.4634 0 0 1 .4237.4999Zm-6.4651-3.7325v3.2326a.462.462 0 0 0 .4618.4618h3.2326a.4618.4618 0 1 0 0-.9236h-2.7708V7.7723a.4619.4619 0 0 0-.9236 0Zm2.309-1.3853a.6926.6926 0 1 0 0-1.3852.6926.6926 0 0 0 0 1.3852Zm2.0781 1.3853a.6925.6925 0 0 0 .6793-.8278.693.693 0 0 0-.5442-.5442.6926.6926 0 1 0-.1351 1.372Zm1.3853 2.0781a.6928.6928 0 0 0 .1352-1.372.6926.6926 0 1 0-.1352 1.372Z"})})},ClockWithTicksIcon=React$k.memo(ClockWithTicksIconComponent),PieChartIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{width:t,height:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 22",children:jsxRuntimeExports.jsx("path",{fill:r,d:"M11.722 3.005a1.231 1.231 0 0 0-1.338 1.226v3.128a1.22 1.22 0 0 0 1.02 1.213 2.462 2.462 0 1 1-2.866 2.557c-.032-.632.098-1.154.384-1.558a1.22 1.22 0 0 0-.13-1.575L6.668 5.822a1.23 1.23 0 0 0-1.818.084 7.97 7.97 0 0 0 .534 10.79A7.942 7.942 0 0 0 10.999 19h.115a8.023 8.023 0 0 0 7.885-7.886c.058-4.177-3.139-7.739-7.277-8.11ZM5.793 6.688l2.124 2.168v.005a3.33 3.33 0 0 0-.576 1.524H4.258a6.702 6.702 0 0 1 1.535-3.697ZM4.26 11.615h3.1a3.692 3.692 0 0 0 3.025 3.027v3.1a6.77 6.77 0 0 1-6.125-6.127Zm11.52 4.165a6.727 6.727 0 0 1-4.164 1.96v-3.098a3.693 3.693 0 0 0 0-7.283V4.23c3.501.314 6.205 3.329 6.154 6.865a6.727 6.727 0 0 1-1.99 4.684Z"})})},PieChartIcon=React$k.memo(PieChartIconComponent),getInsightTypeInfo=e=>({[InsightType.Errors]:{icon:WarningCircleIcon,label:"Errors"},[InsightType.HotSpot]:{icon:SpotIcon,label:"Error Hotspot"},[InsightType.SlowEndpoint]:{icon:SnailIcon,label:"Slow Endpoint"},[InsightType.LowUsage]:{icon:MeterLowIcon,label:"Endpoint Low Traffic"},[InsightType.NormalUsage]:{icon:MeterMediumIcon,label:"Endpoint Normal Level of Traffic"},[InsightType.HighUsage]:{icon:MeterHighIcon,label:"Endpoint High Traffic"},[InsightType.EndpointBottleneck]:{icon:BottleneckIcon,label:"Bottleneck"},[InsightType.EndpointSpanNPlusOne]:{icon:SQLDatabaseIcon,label:"Suspected N+1"},[InsightType.SpaNPlusOne]:{icon:SQLDatabaseIcon,label:"Suspected N+1"},[InsightType.SpanEndpointBottleneck]:{icon:BottleneckIcon,label:"Bottleneck"},[InsightType.SpanScaling]:{icon:ScalesIcon,label:"Scaling Issue Found"},[InsightType.SpanUsages]:{icon:SineIcon,label:"Top Usage"},[InsightType.SpanDurations]:{icon:AlarmClockIcon,label:"Duration"},[InsightType.SpanDurationBreakdown]:{icon:ClockWithTicksIcon,label:"Duration Breakdown"},[InsightType.EndpointSlowdownSource]:{icon:SnailIcon,label:"Duration Slowdown Source Detected"},[InsightType.EndpointBreakdown]:{icon:PieChartIcon,label:"Request Breakdown"},[InsightType.EndpointSessionInView]:{icon:SQLDatabaseIcon,label:"Session in View Query Detected"},[InsightType.EndpointChattyApiV2]:{icon:SQLDatabaseIcon,label:"Excessive API Calls Detected"},[InsightType.EndpointHighNumberOfQueries]:{icon:SQLDatabaseIcon,label:"High number of queries"},[InsightType.SpanNexus]:{icon:BottleneckIcon,label:"Code Nexus Point"},[InsightType.SpanQueryOptimization]:{icon:SQLDatabaseIcon,label:"Inefficient Query"},[InsightType.EndpointQueryOptimizationV2]:{icon:SQLDatabaseIcon,label:"Inefficient Query"}}[e]),getInsightImportanceColor=e=>{if(0!==e)return e<3?"#e00036":e<5?"#e06c00":e<7?"#e8b500":"#1dc693"},getInsightTypeOrderPriority=e=>({[InsightType.HotSpot]:1,[InsightType.Errors]:2,[InsightType.TopErrorFlows]:3,[InsightType.EndpointBreakdown]:5,[InsightType.HighUsage]:10,[InsightType.SlowEndpoint]:20,[InsightType.EndpointSlowdownSource]:25,[InsightType.LowUsage]:30,[InsightType.EndpointBottleneck]:40,[InsightType.NormalUsage]:50,[InsightType.EndpointSpanNPlusOne]:55,[InsightType.EndpointSessionInView]:56,[InsightType.EndpointChattyApiV2]:57,[InsightType.EndpointHighNumberOfQueries]:58,[InsightType.EndpointQueryOptimizationV2]:59,[InsightType.SpanDurations]:60,[InsightType.SpanUsages]:61,[InsightType.SpanScaling]:63,[InsightType.SpaNPlusOne]:65,[InsightType.SpanEndpointBottleneck]:67,[InsightType.SpanDurationBreakdown]:68,[InsightType.SpanNexus]:69,[InsightType.SpanQueryOptimization]:70}[e]||1/0),SpanBarRow$1="";class SpanBarRow extends reactExports.PureComponent{constructor(e){super(e),this._detailToggle=()=>{this.props.onDetailToggled(this.props.span.spanID)},this._childrenToggle=()=>{this.props.onChildrenToggled(this.props.span.spanID)},this._updateSpanInfo=this._updateSpanInfo.bind(this);const t=state.spans[e.span.spanID];this.state={insights:t?t.insights:[]}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}_updateSpanInfo(e){const t=e[this.props.span.spanID];this.setState({insights:t?t.insights:[]})}render(){const{className:e,color:t,columnDivision:r,isChildrenExpanded:a,isDetailExpanded:n,isMatchingFilter:i,numTicks:o,rpc:l,noInstrumentedServer:s,showErrorIcon:c,getViewedBounds:u,traceStartTime:f,span:A,focusSpan:d}=this.props,{duration:p,hasChildren:h,operationName:b,process:{serviceName:g}}=A,m=formatDuration(p),v=u(A.startTime,A.startTime+A.duration),y=v.start,w=v.end,k=`${g}::${b}`;let x,E;y>1-w?(x=`${k} | ${m}`,E="left"):(x=`${m} | ${k}`,E="right");const _=this.state.insights.length>0?this.state.insights.reduce(((e,t)=>e.importance1&&jsxRuntimeExports.jsx(ReferencesButton,{references:A.references,tooltipText:"Contains multiple references",focusSpan:d,children:jsxRuntimeExports.jsx(IoNetwork,{})}),A.subsidiarilyReferencedBy&&A.subsidiarilyReferencedBy.length>0&&jsxRuntimeExports.jsx(ReferencesButton,{references:A.subsidiarilyReferencedBy,tooltipText:"This span is referenced by "+(1===A.subsidiarilyReferencedBy.length?"another span":"multiple other spans"),focusSpan:d,children:jsxRuntimeExports.jsx(MdFileUpload,{})})]})}),jsxRuntimeExports.jsxs(TimelineRow.Cell,{className:"span-view",style:{cursor:"pointer"},width:1-r,onClick:this._detailToggle,children:[jsxRuntimeExports.jsx(Ticks,{numTicks:o}),jsxRuntimeExports.jsx(SpanBar$1,{rpc:l,viewStart:y,viewEnd:w,getViewedBounds:u,color:t,shortLabel:m,longLabel:x,hintSide:E,traceStartTime:f,span:A})]})]})}}SpanBarRow.defaultProps={className:"",rpc:null};const AccordianReferences$1="";function References(e){const{data:t,focusSpan:r}=e;return jsxRuntimeExports.jsx("div",{className:"ReferencesList u-simple-scrollbars",children:jsxRuntimeExports.jsx("ul",{className:"ReferencesList--List",children:t.map((e=>jsxRuntimeExports.jsx("li",{className:"ReferencesList--Item",children:jsxRuntimeExports.jsx(ReferenceLink,{reference:e,focusSpan:r,children:jsxRuntimeExports.jsxs("span",{className:"ReferencesList--itemContent",children:[e.span?jsxRuntimeExports.jsxs("span",{children:[jsxRuntimeExports.jsx("span",{className:"span-svc-name",children:e.span.process.serviceName}),jsxRuntimeExports.jsx("small",{className:"endpoint-name",children:e.span.operationName})]}):jsxRuntimeExports.jsx("span",{className:"span-svc-name",children:"< span in another trace >"}),jsxRuntimeExports.jsxs("small",{className:"SpanReference--debugInfo",children:[jsxRuntimeExports.jsx("span",{className:"SpanReference--debugLabel","data-label":"Reference Type:",children:e.refType}),jsxRuntimeExports.jsx("span",{className:"SpanReference--debugLabel","data-label":"SpanID:",children:e.spanID})]})]})})},`${e.spanID}`)))})})}class AccordianReferences extends reactExports.PureComponent{render(){const{data:e,highContrast:t,interactive:r,isOpen:a,onToggle:n,focusSpan:i}=this.props,o=!Array.isArray(e)||!e.length,l=classnamesExports("u-align-icon",{"AccordianKReferences--emptyIcon":o});let s=null,c=null;return r&&(s=a?jsxRuntimeExports.jsx(IoIosArrowDown,{className:l}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:l}),c={"aria-checked":a,onClick:o?null:n,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:"AccordianReferences",children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianReferences--header","AccordianReferences--header",{"is-empty":o,"is-high-contrast":t,"is-open":a}),...c,children:[s,jsxRuntimeExports.jsx("strong",{children:jsxRuntimeExports.jsx("span",{className:"AccordianReferences--label",children:"References"})})," ","(",e.length,")"]}),a&&jsxRuntimeExports.jsx(References,{data:e,focusSpan:i})]})}}AccordianReferences.defaultProps={highContrast:!1,interactive:!0,onToggle:null};const TextList$1="";function TextList(e){const{data:t}=e;return jsxRuntimeExports.jsx("div",{className:"TextList u-simple-scrollbars",children:jsxRuntimeExports.jsx("ul",{className:"TextList--List ",children:t.map(((e,t)=>jsxRuntimeExports.jsx("li",{children:e},`${t}`)))})})}const AccordianText$1="";function AccordianText(e){const{className:t,data:r,headerClassName:a,highContrast:n,interactive:i,isOpen:o,label:l,onToggle:s}=e,c=!Array.isArray(r)||!r.length,u=classnamesExports("u-align-icon",{"AccordianKeyValues--emptyIcon":c});let f=null,A=null;return i&&(f=o?jsxRuntimeExports.jsx(IoIosArrowDown,{className:u}):jsxRuntimeExports.jsx(IoIosArrowRight,{className:u}),A={"aria-checked":o,onClick:c?null:s,role:"switch"}),jsxRuntimeExports.jsxs("div",{className:t||"",children:[jsxRuntimeExports.jsxs("div",{className:classnamesExports("AccordianText--header",a,{"is-empty":c,"is-high-contrast":n,"is-open":o}),...A,children:[f," ",jsxRuntimeExports.jsx("strong",{children:l})," (",r.length,")"]}),o&&jsxRuntimeExports.jsx(TextList,{data:r})]})}AccordianText.defaultProps={className:null,highContrast:!1,interactive:!0,onToggle:null};const InsightIcon=e=>{const t=getInsightTypeInfo(e.insight.type);return t?jsxRuntimeExports.jsx(t.icon,{color:getInsightImportanceColor(e.insight.importance),size:e.size}):null},index$c="",getIconColor=(e,t)=>e?"#49494d":t?"#dadada":"#b9c2eb",Button=e=>{const[t,r]=reactExports.useState(!1),a=reactExports.useCallback((()=>r(!0)),[]);reactExports.useEffect((()=>{const e=()=>{r(!1)};return window.addEventListener("mouseup",e),()=>{window.removeEventListener("mouseup",e)}}),[]);return jsxRuntimeExports.jsx("button",{type:"button",className:"Button",onClick:t=>{e.onClick&&e.onClick(t)},disabled:e.disabled,onMouseDown:a,children:jsxRuntimeExports.jsxs("span",{className:"Button__content",children:[e.icon&&jsxRuntimeExports.jsx(e.icon.component,{size:e.icon.size,color:e.icon.color||getIconColor(Boolean(e.disabled),t)}),jsxRuntimeExports.jsx("span",{children:e.children})]})})},CrosshairIconComponent=e=>{const{size:t,color:r}=useIconProps(e);return jsxRuntimeExports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:"none",viewBox:"0 0 12 12",children:jsxRuntimeExports.jsx("path",{stroke:r,strokeLinecap:"round",strokeLinejoin:"round",d:"M10 6a4 4 0 0 1-4 4m4-4a4 4 0 0 0-4-4m4 4H7.87M6 10a4 4 0 0 1-4-4m4 4V7.88M2 6a4 4 0 0 1 4-4M2 6h2.13M6 2v2.13"})})},CrosshairIcon=React$k.memo(CrosshairIconComponent),getSpanDataForDigma=(e,t=!1)=>{const r={environment:"digma.environment",...t?{environmentId:"digma.environment.id"}:{}},a=Object.entries({instrumentationLibrary:"otel.library.name",function:"code.function",namespace:"code.namespace",spanCodeObjectId:"digma.span.code.object.id",methodCodeObjectId:"digma.method.code.object.id"}).reduce(((t,[r,a])=>{const n=e.tags.find((e=>e.key===a));return n?{...t,[r]:n.value}:t}),{}),n=Object.entries(r).reduce(((t,[r,a])=>{const n=e.process.tags.find((e=>e.key===a));return n?{...t,[r]:n.value}:t}),{});return{...a,...n,id:e.spanID,name:e.operationName,serviceName:e.process.serviceName}},index$b="";class SpanDetail extends React$k.Component{constructor(e){super(e),this._updateSpanInfo=this._updateSpanInfo.bind(this),this._handleCodeButtonClick=this._handleCodeButtonClick.bind(this),this._handleSpanNameLinkClick=this._handleSpanNameLinkClick.bind(this);const t=state.spans[e.span.spanID];this.state={hasCodeLocation:Boolean(t&&t.hasCodeLocation),insights:t?this._sortInsightsByImportance(t.insights):[]}}componentDidMount(){dispatcher.addActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}componentWillUnmount(){dispatcher.removeActionListener(actions$1.SET_SPANS_DATA,this._updateSpanInfo)}_sortInsightsByImportance(e){return[...e].sort(((e,t)=>e.importance-t.importance||getInsightTypeOrderPriority(e.type)-getInsightTypeOrderPriority(t.type)))}_updateSpanInfo(e){const t=e[this.props.span.spanID];this.setState({hasCodeLocation:Boolean(t&&t.hasCodeLocation),insights:t?this._sortInsightsByImportance(t.insights):[]})}_handleCodeButtonClick(){const e=getSpanDataForDigma(this.props.span);window.sendMessageToDigma({action:actions$1.GO_TO_SPAN,payload:e})}_handleSpanNameLinkClick(){const e=getSpanDataForDigma(this.props.span,!0);e.spanCodeObjectId&&window.sendMessageToDigma({action:globalActions.CHANGE_SCOPE,payload:{span:{spanCodeObjectId:e.spanCodeObjectId},environmentId:e.environmentId,context:{event:"JAEGER/SPAN_LINK_CLICKED"}}})}render(){const{detailState:e,linksGetter:t,logItemToggle:r,logsToggle:a,processToggle:n,span:i,tagsToggle:o,traceStartTime:l,warningsToggle:s,referencesToggle:c,focusSpan:u}=this.props,{isTagsOpen:f,isProcessOpen:A,logs:d,isWarningsOpen:p,isReferencesOpen:h}=e,{operationName:b,process:g,duration:m,relativeStartTime:v,spanID:y,logs:w,tags:k,warnings:x,references:E}=i,_=[{key:"svc",label:"Service:",value:g.serviceName},{key:"duration",label:"Duration:",value:formatDuration(m)},{key:"start",label:"Start Time:",value:formatDuration(v)}],C=`${window.location.origin}${window.location.pathname}?uiFind=${y}`,$=getSpanDataForDigma(this.props.span).instrumentationLibrary;return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{className:"SpanDetail--header",children:[jsxRuntimeExports.jsxs("div",{className:"ub-flex ub-items-center",children:[$&&this.state.insights.length>0?jsxRuntimeExports.jsx(Link$1,{to:"#",onClick:this._handleSpanNameLinkClick,className:"SpanDetail--operationNameLink ub-flex-auto ub-m0",children:b}):jsxRuntimeExports.jsx("h2",{className:"SpanDetail--operationNameTitle ub-flex-auto ub-m0",children:b}),jsxRuntimeExports.jsx("div",{className:"SpanDetail--insights",children:this.state.insights.map((e=>{const t=getInsightTypeInfo(e.type);return t?jsxRuntimeExports.jsx(Tooltip$1,{title:t.label,children:jsxRuntimeExports.jsx("span",{className:"SpanDetail--insightIconContainer",children:jsxRuntimeExports.jsx(InsightIcon,{insight:e,size:20})})},e.type):null}))})]}),jsxRuntimeExports.jsx(LabeledList,{dividerClassName:"SpanDetail--divider",items:_})]}),jsxRuntimeExports.jsx(Divider$1,{className:"SpanDetail--divider ub-my1"}),jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(AccordianKeyValues,{data:k,label:"Tags",linksGetter:t,isOpen:f,onToggle:()=>o(y)}),g.tags&&jsxRuntimeExports.jsx(AccordianKeyValues,{className:"ub-mb1",data:g.tags,label:"Process",linksGetter:t,isOpen:A,onToggle:()=>n(y)})]}),w&&w.length>0&&jsxRuntimeExports.jsx(AccordianLogs,{linksGetter:t,logs:w,isOpen:d.isOpen,openedItems:d.openedItems,onToggle:()=>a(y),onItemToggle:e=>r(y,e),timestamp:l}),x&&x.length>0&&jsxRuntimeExports.jsx(AccordianText,{className:"AccordianWarnings",headerClassName:"AccordianWarnings--header",label:jsxRuntimeExports.jsx("span",{className:"AccordianWarnings--label",children:"Warnings"}),data:x,isOpen:p,onToggle:()=>s(y)}),E&&E.length>0&&(E.length>1||"CHILD_OF"!==E[0].refType)&&jsxRuntimeExports.jsx(AccordianReferences,{data:E,isOpen:h,onToggle:()=>c(y),focusSpan:u}),jsxRuntimeExports.jsxs("div",{className:"SpanDetail--code",children:[jsxRuntimeExports.jsxs("small",{className:"SpanDetail--debugInfo",children:[jsxRuntimeExports.jsx("span",{className:"SpanDetail--debugLabel","data-label":"SpanID:"})," ",y,jsxRuntimeExports.jsx(CopyIcon,{copyText:C,icon:"link",placement:"topRight",tooltipTitle:"Copy deep link to this span"})]}),this.state.hasCodeLocation&&jsxRuntimeExports.jsx(Button,{onClick:this._handleCodeButtonClick,icon:{component:CrosshairIcon,size:18},children:"Code"})]})]})]})}}const SpanDetailRow$1="";class SpanDetailRow extends React$k.PureComponent{constructor(){super(...arguments),this._detailToggle=()=>{this.props.onDetailToggled(this.props.span.spanID)},this._linksGetter=(e,t)=>{const{linksGetter:r,span:a}=this.props;return r(a,e,t)}}render(){const{color:e,columnDivision:t,detailState:r,logItemToggle:a,logsToggle:n,processToggle:i,referencesToggle:o,warningsToggle:l,span:s,tagsToggle:c,traceStartTime:u,focusSpan:f}=this.props;return jsxRuntimeExports.jsxs(TimelineRow,{className:"detail-row",children:[jsxRuntimeExports.jsxs(TimelineRow.Cell,{width:t,children:[jsxRuntimeExports.jsx(SpanTreeOffset,{span:s,showChildrenIcon:!1}),jsxRuntimeExports.jsx("span",{children:jsxRuntimeExports.jsx("span",{className:"detail-row-expanded-accent","aria-checked":"true",onClick:this._detailToggle,role:"switch",style:{borderColor:e}})})]}),jsxRuntimeExports.jsx(TimelineRow.Cell,{width:1-t,children:jsxRuntimeExports.jsx("div",{className:"detail-info-wrapper",style:{borderTopColor:e},children:jsxRuntimeExports.jsx(SpanDetail,{detailState:r,linksGetter:this._linksGetter,logItemToggle:a,logsToggle:n,processToggle:i,referencesToggle:o,warningsToggle:l,span:s,tagsToggle:c,traceStartTime:u,focusSpan:f})})})]})}}const VirtualizedTraceView$1="",DEFAULT_HEIGHTS={bar:28,detail:161,detailWithLogs:197},NUM_TICKS$1=5;function generateRowStates(e,t,r){if(!e)return[];let a=null;const n=[];for(let i=0;i=a?c=!0:a=null),c||(t.has(l)&&(a=s+1),n.push({span:o,isDetail:!1,spanIndex:i}),r.has(l)&&n.push({span:o,isDetail:!0,spanIndex:i}))}return n}function generateRowStatesFromTrace(e,t,r){return e?generateRowStates(e.spans,t,r):[]}function getCssClasses(e){const[t,r]=e;return classnamesExports({"clipping-left":t>0,"clipping-right":r<1})}const memoizedGenerateRowStates=memoizeOne$1(generateRowStatesFromTrace),memoizedViewBoundsFunc=memoizeOne$1(createViewedBoundsFunc,isEqual_1),memoizedGetCssClasses=memoizeOne$1(getCssClasses,isEqual_1);class VirtualizedTraceViewImpl extends reactExports.Component{constructor(e){super(e),this.focusSpan=e=>{const{trace:t,focusUiFindMatches:r,location:a,history:n}=this.props;t&&(updateUiFind({location:a,history:n,uiFind:e}),r(t,e,!1))},this.getViewRange=()=>this.props.currentViewRangeTime,this.getSearchedSpanIDs=()=>this.props.findMatchesIDs,this.getCollapsedChildren=()=>this.props.childrenHiddenIDs,this.mapRowIndexToSpanIndex=e=>this.getRowStates()[e].spanIndex,this.mapSpanIndexToRowIndex=e=>{const t=this.getRowStates().length;for(let r=0;r{const t=this.listView!==e;this.listView=e,e&&t&&this.props.registerAccessors(this.getAccessors())},this.getKeyFromIndex=e=>{const{isDetail:t,span:r}=this.getRowStates()[e];return`${r.spanID}--${t?"detail":"bar"}`},this.getIndexFromKey=e=>{const t=e.split("--"),r=t[0],a="detail"===t[1],n=this.getRowStates().length;for(let i=0;i{const{span:t,isDetail:r}=this.getRowStates()[e];return r?Array.isArray(t.logs)&&t.logs.length?DEFAULT_HEIGHTS.detailWithLogs:DEFAULT_HEIGHTS.detail:DEFAULT_HEIGHTS.bar},this.linksGetter=(e,t,r)=>{const{trace:a}=this.props;return getLinks(e,t,r,a)},this.renderRow=(e,t,r,a)=>{const{isDetail:n,span:i,spanIndex:o}=this.getRowStates()[r];return n?this.renderSpanDetailRow(i,e,t,a):this.renderSpanBarRow(i,o,e,t,a)};const{setTrace:t,trace:r,uiFind:a}=e;t(r,a)}shouldComponentUpdate(e){const t=Object.keys(e);for(let r=0;re.key===PEER_SERVICE));let w=null;return!e.hasChildren&&y&&isKindClient(e)&&(w={serviceName:y.value,color:colorGenerator.getColorByKey(y.value)}),jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--row",style:a,...n,children:jsxRuntimeExports.jsx(SpanBarRow,{className:this.getClippingCssClasses(),color:p,columnDivision:A,isChildrenExpanded:!h,isDetailExpanded:b,isMatchingFilter:g,numTicks:NUM_TICKS$1,onDetailToggled:u,onChildrenToggled:s,rpc:v,noInstrumentedServer:w,showErrorIcon:m,getViewedBounds:this.getViewedBounds(),traceStartTime:d.startTime,span:e,focusSpan:this.focusSpan})},r)}renderSpanDetailRow(e,t,r,a){const{spanID:n}=e,{serviceName:i}=e.process,{detailLogItemToggle:o,detailLogsToggle:l,detailProcessToggle:s,detailReferencesToggle:c,detailWarningsToggle:u,detailStates:f,detailTagsToggle:A,detailToggle:d,spanNameColumnWidth:p,trace:h}=this.props,b=f.get(n);if(!h||!b)return null;const g=colorGenerator.getColorByKey(i);return jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--row",style:{...r,zIndex:1},...a,children:jsxRuntimeExports.jsx(SpanDetailRow,{color:g,columnDivision:p,onDetailToggled:d,detailState:b,linksGetter:this.linksGetter,logItemToggle:o,logsToggle:l,processToggle:s,referencesToggle:c,warningsToggle:u,span:e,tagsToggle:A,traceStartTime:h.startTime,focusSpan:this.focusSpan})},t)}render(){return jsxRuntimeExports.jsx("div",{className:"VirtualizedTraceView--spans",children:jsxRuntimeExports.jsx(ListView,{ref:this.setListView,dataLength:this.getRowStates().length,itemHeightGetter:this.getRowHeight,itemRenderer:this.renderRow,viewBuffer:300,viewBufferMin:100,itemsWrapperClassName:"VirtualizedTraceView--rowsWrapper",getKeyFromIndex:this.getKeyFromIndex,getIndexFromKey:this.getIndexFromKey,windowScroller:!0})})}}function mapStateToProps$3(e){return{...extractUiFindFromState(e),...e.traceTimeline}}function mapDispatchToProps$3(e){return bindActionCreators(actions,e)}const VirtualizedTraceView=withRouter$1(connect$3(mapStateToProps$3,mapDispatchToProps$3)(VirtualizedTraceViewImpl)),index$a="",NUM_TICKS=5;class TraceTimelineViewerImpl extends React$k.PureComponent{constructor(){super(...arguments),this.collapseAll=()=>{this.props.collapseAll(this.props.trace.spans)},this.collapseOne=()=>{this.props.collapseOne(this.props.trace.spans)},this.expandAll=()=>{this.props.expandAll()},this.expandOne=()=>{this.props.expandOne(this.props.trace.spans)}}componentDidMount(){merge({collapseAll:this.collapseAll,expandAll:this.expandAll,collapseOne:this.collapseOne,expandOne:this.expandOne})}render(){const{setSpanNameColumnWidth:e,updateNextViewRangeTime:t,updateViewRangeTime:r,viewRange:a,...n}=this.props,{spanNameColumnWidth:i,trace:o}=n;return jsxRuntimeExports.jsxs("div",{className:"TraceTimelineViewer",children:[jsxRuntimeExports.jsx(SpanDetailRow$2,{duration:o.duration,nameColumnWidth:i,numTicks:NUM_TICKS,onCollapseAll:this.collapseAll,onCollapseOne:this.collapseOne,onColummWidthChange:e,onExpandAll:this.expandAll,onExpandOne:this.expandOne,viewRangeTime:a.time,updateNextViewRangeTime:t,updateViewRangeTime:r}),jsxRuntimeExports.jsx(VirtualizedTraceView,{...n,currentViewRangeTime:a.time.current})]})}}function mapStateToProps$2(e){return{spanNameColumnWidth:e.traceTimeline.spanNameColumnWidth}}function mapDispatchToProps$2(e){const{setSpanNameColumnWidth:t,expandAll:r,expandOne:a,collapseAll:n,collapseOne:i}=bindActionCreators(actions,e);return{setSpanNameColumnWidth:t,expandAll:r,expandOne:a,collapseAll:n,collapseOne:i}}const TraceTimelineViewer=connect$3(mapStateToProps$2,mapDispatchToProps$2)(TraceTimelineViewerImpl),index$9="",HeaderTable$1="";function HeaderTable(e){const t={opacity:e.sortIndex===e.index?1:.2},r=e.sortAsc&&e.sortIndex===e.index?"up":"down";return jsxRuntimeExports.jsxs("th",{className:"HeaderTable--th",children:[e.element.title,jsxRuntimeExports.jsx("button",{type:"submit",className:"HeaderTable--sortButton",onClick:()=>e.sortClick(e.index),children:jsxRuntimeExports.jsx(Icon$1,{style:t,type:r})})]})}const MainTableData$1="";class MainTableData extends reactExports.Component{constructor(e){super(e);const t=this.props.values.map((e=>({uid:lodashExports.uniqueId("id"),value:e})));this.state={element:t}}render(){const e={background:this.props.colorToPercent,borderColor:this.props.colorToPercent,cursor:"default"},t={background:this.props.searchColor,borderColor:this.props.searchColor,cursor:"default"},r={color:"rgb(153,153,153)",fontStyle:"italic"},a={borderLeft:"4px solid transparent",paddingLeft:"0.6em",borderColor:this.props.color},n="undefined";let i,o;this.props.type===n?(null!==this.props.valueNameSelector2&&"undefined"!==this.props.type&&(e.cursor="pointer"),i=e):"transparent"===this.props.searchColor?(null!==this.props.valueNameSelector2&&(e.cursor="pointer"),i=e):(null!==this.props.valueNameSelector2&&(e.cursor="pointer"),i=t),o=""!==this.props.color?a:"undefined"===this.props.type?r:void 0;const l="sql"===this.props.valueNameSelector1&&this.props.type!==n?()=>this.props.togglePopup(this.props.name):void 0;return jsxRuntimeExports.jsxs("tr",{className:"MainTableData--tr",onClick:()=>this.props.clickColumn(this.props.name),style:i,children:[jsxRuntimeExports.jsx("td",{className:"MainTableData--td",children:jsxRuntimeExports.jsx("a",{role:"button",onClick:l,style:{color:"inherit"},children:jsxRuntimeExports.jsx("label",{title:this.props.name,className:"MainTableData--label",style:o,children:this.props.name})})}),this.state.element.map(((e,t)=>jsxRuntimeExports.jsxs("td",{className:"MainTableData--td",children:[" ",this.props.columnsArray[t+1].isDecimal?e.value.toFixed(2):e.value,this.props.columnsArray[t+1].suffix]},e.uid)))]})}}const DetailTableData$1="";class DetailTableData extends reactExports.Component{constructor(e){super(e);const t=this.props.values.map((e=>({uid:lodashExports.uniqueId("id"),value:e})));this.state={element:t}}render(){const e={background:this.props.colorToPercent,borderColor:this.props.colorToPercent,color:"rgb(153,153,153)",fontStyle:"italic"},t={background:this.props.colorToPercent,borderColor:this.props.colorToPercent},r={background:this.props.searchColor,borderColor:this.props.searchColor},a="undefined";let n;n=this.props.type===a?e:"rgb(248,248,248)"===this.props.searchColor?t:r;const i={borderColor:this.props.color},o={borderColor:this.props.color,marginLeft:"12px"};let l;l="Service Name"===this.props.valueNameSelector2?o:i;const s="sql"===this.props.valueNameSelector2&&this.props.type!==a?()=>this.props.togglePopup(this.props.name):void 0;return jsxRuntimeExports.jsxs("tr",{className:"DetailTableData--tr",style:n,children:[jsxRuntimeExports.jsx("td",{className:"DetailTableData--td",children:jsxRuntimeExports.jsx("a",{role:"button",onClick:s,style:{color:"inherit"},children:jsxRuntimeExports.jsx("label",{title:this.props.name,className:"DetailTableData--serviceBorder",style:l,children:this.props.name})})}),this.state.element.map(((e,t)=>jsxRuntimeExports.jsxs("td",{className:"DetailTableData--td",children:[this.props.columnsArray[t+1].isDecimal?Number(e.value).toFixed(2):e.value,this.props.columnsArray[t+1].suffix]},e.uid)))]})}}const serviceName$1="Service Name",operationName$1="Operation Name";function getValueTagIsPicked(e,t,r){const a=t.spans;let n=[];for(let l=0;l=r[i].relativeStartTime){if(e+a0){c=o.duration;const e=getLowestStartTime(o.allOverlay);s=e.lowestStartTime,i=e.duration}}while(o.allOverlay.length>1);i=o.duration+c;for(let f=0;ft.duration&&(n.min=t.duration),n.max=e[0].relativeStartTime+e[0].duration?t.duration-e[0].duration:e[0].relativeStartTime-t.relativeStartTime;else{for(let r=0;r=e[r].relativeStartTime&&(l=!0,s.push(e[t]),s.push(e[r]));if(s=[...new Set(s)],o||l)if(o&&l)if(lodashExports.isEmpty(lodashExports.xor(s,c))){const r=lodashExports.minBy(c,(function(e){return e.relativeStartTime})),a=lodashExports.difference(e,c);i=r.relativeStartTime-t.relativeStartTime;for(let e=0;en.relativeStartTime&&(o[e].duration-=o[e].relativeStartTime+o[e].duration-n.relativeStartTime,o[e].duration<0&&(o[e].duration=0));i=onlyOverlay(o,a,i,t);const l=t.relativeStartTime+t.duration-n.relativeStartTime;i=Math.max(0,i-l)}else if(o){i=c[0].relativeStartTime-t.relativeStartTime;for(let t=0;ti&&(n.selfMin=i),n.selfMaxe.process.serviceName)).map(((e,t)=>({key:t}))).uniq().value();for(let t=0;te.operationName)).map(((e,t)=>({key:t}))).uniq().value();for(let t=0;t0)for(let e=0;ei?1:0:ni?-1:0}))}function sortTable(e,t,r){const a=[],n=[];for(let o=0;oe.parentElement===i[o].parentElement)).groupBy((e=>e.parentElement)).map((e=>({parentElement:t,groupedArry:e}))).value()[0].groupedArry;if(sortByKey(e,t,r),e.length>0){let t=0;for(let r=0;re.closePopup(""),children:["close"," "]})]})})}const columnsArray=[{title:"Name",attribute:"name",suffix:"",isDecimal:!1},{title:"Count",attribute:"count",suffix:"",isDecimal:!1},{title:"Total",attribute:"total",suffix:"ms",isDecimal:!0},{title:"Avg",attribute:"avg",suffix:"ms",isDecimal:!0},{title:"Min",attribute:"min",suffix:"ms",isDecimal:!0},{title:"Max",attribute:"max",suffix:"ms",isDecimal:!0},{title:"ST Total",attribute:"selfTotal",suffix:"ms",isDecimal:!0},{title:"ST Avg",attribute:"selfAvg",suffix:"ms",isDecimal:!0},{title:"ST Min",attribute:"selfMin",suffix:"ms",isDecimal:!0},{title:"ST Max",attribute:"selfMax",suffix:"ms",isDecimal:!0},{title:"ST in Duration",attribute:"percent",suffix:"%",isDecimal:!0}];class TraceStatistics extends reactExports.Component{constructor(e){super(e),this.sortTableWithOthers=(e,t,r)=>{let a=-1,n=-1,i=!1,o=[];const l=[];let s;for(s=0;s{const a=t,n="rgb(255,243,215)",i="rgb(248,248,248)";for(let o=0;o({...t,tableValue:e})))}handler(e,t,r,a){this.setState((n=>({...n,tableValue:this.searchInTable(this.props.uiFindVertexKeys,this.sortTableWithOthers(e,1,!1),this.props.uiFind),sortIndex:1,sortAsc:!1,valueNameSelector1:r,valueNameSelector2:a,wholeTable:t})))}togglePopup(e){const t=this.state.showPopup;this.setState((r=>({...r,showPopup:!t,popupContent:e})))}sortClick(e){const{tableValue:t,sortIndex:r,sortAsc:a}=this.state;r!==e?this.setState((r=>({...r,sortIndex:e,sortAsc:!1,tableValue:this.sortTableWithOthers(t,e,!1)}))):this.setState((r=>({...r,sortAsc:!a,tableValue:this.sortTableWithOthers(t,e,!a)})))}clickColumn(e){if(null!==this.state.valueNameSelector2){let t=!0;const r=this.state.tableValue;let a=[];for(let n=0;n{const{count:t,total:r,avg:a,min:n,max:i,selfTotal:o,selfAvg:l,selfMin:s,selfMax:c,percent:u,color:f,searchColor:A,colorToPercent:d}=e,p=[t,r,a,n,i,o,l,s,c,u],h=lodashExports.uniqueId("id");return e.isDetail?jsxRuntimeExports.jsx(DetailTableData,{type:e.type,name:e.name,searchColor:A,values:p,columnsArray:columnsArray,color:f,togglePopup:this.togglePopup,valueNameSelector2:this.state.valueNameSelector2,colorToPercent:d},h):jsxRuntimeExports.jsx(MainTableData,{type:e.type,name:e.name,searchColor:A,values:p,columnsArray:columnsArray,togglePopup:this.togglePopup,valueNameSelector1:this.state.valueNameSelector1,valueNameSelector2:this.state.valueNameSelector2,color:f,clickColumn:this.clickColumn,colorToPercent:d},h)}))}renderTableHead(){const{sortAsc:e,sortIndex:t}=this.state;return jsxRuntimeExports.jsx("tr",{children:columnsArray.map(((r,a)=>jsxRuntimeExports.jsx(HeaderTable,{element:r,sortIndex:t,index:a,sortClick:this.sortClick,sortAsc:e},r.title)))})}render(){return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"title--TraceStatistics",children:" Trace Statistics"}),jsxRuntimeExports.jsx(TraceStatisticsHeader,{trace:this.props.trace,tableValue:this.state.tableValue,wholeTable:this.state.wholeTable,handler:this.handler}),this.state.showPopup?jsxRuntimeExports.jsx(PopupSql,{closePopup:this.togglePopup,popupContent:this.state.popupContent}):null,jsxRuntimeExports.jsx("table",{className:"test1893",children:jsxRuntimeExports.jsxs("tbody",{className:"DetailTraceTableTbody--TraceStatistics",children:[this.renderTableHead(),this.renderTableData()]})})]})}}var FormItem$1={};const require$$4=getAugmentedNamespace(Animate$2),require$$5=getAugmentedNamespace(es$4);var row={},RowContext={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=(0,((t=libExports$3)&&t.__esModule?t:{default:t}).default)({});e.default=r}(RowContext);var type={};Object.defineProperty(type,"__esModule",{value:!0}),type.tupleNum=type.tuple=void 0;var tuple=function(){for(var e=arguments.length,t=new Array(e),r=0;r0?{marginLeft:v[0]/-2,marginRight:v[0]/-2}:{}),v[1]>0?{marginTop:v[1]/-2,marginBottom:v[1]/-2}:{}),h),k=d({},g);return delete k.gutter,r.createElement(o.default.Provider,{value:{gutter:v}},r.createElement("div",d({},k,{className:y,style:w}),b))},e}return t=u,n=[{key:"componentDidMount",value:function(){var e=this;this.token=s.default.subscribe((function(t){var r=e.props.gutter;("object"===A(r)||Array.isArray(r)&&("object"===A(r[0])||"object"===A(r[1])))&&e.setState({screens:t})}))}},{key:"componentWillUnmount",value:function(){s.default.unsubscribe(this.token)}},{key:"getGutter",value:function(){var e=[0,0],t=this.props.gutter,r=this.state.screens;return(Array.isArray(t)?t:[t,0]).forEach((function(t,a){if("object"===A(t))for(var n=0;n0?{paddingLeft:t[0]/2,paddingRight:t[0]/2}:{}),t[1]>0?{paddingTop:t[1]/2,paddingBottom:t[1]/2}:{}),a)),r.createElement("div",f({},y,{style:a,className:x}),v)}))},e}return t=c,(a=[{key:"render",value:function(){return r.createElement(o.ConfigConsumer,null,this.renderCol)}}])&&d(t.prototype,a),l&&d(t,l),c}(r.Component);t.default=v,v.propTypes={span:a.number,order:a.number,offset:a.number,push:a.number,pull:a.number,className:a.string,children:a.node,xs:m,sm:m,md:m,lg:m,xl:m,xxl:m}}(col);var icon={};const require$$2=getAugmentedNamespace(index_es),require$$3=getAugmentedNamespace(es$3);var IconFont={},hasRequiredIconFont;function requireIconFont(){return hasRequiredIconFont||(hasRequiredIconFont=1,function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.scriptUrl,r=e.extraCommonProps,i=void 0===r?{}:r;if("undefined"!=typeof document&&"undefined"!=typeof window&&"function"==typeof document.createElement&&"string"==typeof t&&t.length&&!s.has(t)){var c=document.createElement("script");c.setAttribute("src",t),c.setAttribute("data-namespace",t),s.add(t),document.body.appendChild(c)}var u=function(e){var t=e.type,r=e.children,s=l(e,["type","children"]),c=null;return e.type&&(c=a.createElement("use",{xlinkHref:"#".concat(t)})),r&&(c=r),a.createElement(n.default,o({},i,s),c)};return u.displayName="Iconfont",u};var r,a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==t(e)&&"function"!=typeof e)return{default:e};var r=i();if(r&&r.has(e))return r.get(e);var a={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var l=n?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(a,o,l):a[o]=e[o]}a.default=e,r&&r.set(e,a);return a}(reactExports),n=(r=requireIcon())&&r.__esModule?r:{default:r};function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function o(){return o=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);re.length)&&(t=e.length);for(var r=0,a=new Array(t);r0));i++){var o=n[i];(!o.type||o.type!==g&&"FormItem"!==o.type.displayName)&&o.props&&(p.FIELD_META_PROP in o.props?a.push(o):o.props.children&&(a=a.concat(this.getControls(o.props.children,t))))}return a}},{key:"getOnlyControl",value:function(){var e=this.getControls(this.props.children,!1)[0];return void 0!==e?e:null}},{key:"getChildProp",value:function(e){var t=this.getOnlyControl();return t&&t.props&&t.props[e]}},{key:"getId",value:function(){return this.getChildProp("id")}},{key:"getMeta",value:function(){return this.getChildProp(p.FIELD_META_PROP)}},{key:"getField",value:function(){return this.getChildProp(p.FIELD_DATA_PROP)}},{key:"getValidateStatus",value:function(){if(!this.getOnlyControl())return"";var e=this.getField();if(e.validating)return"validating";if(e.errors)return"error";var t="value"in e?e.value:this.getMeta().initialValue;return null!=t&&""!==t?"success":""}},{key:"isRequired",value:function(){var e=this.props.required;return void 0!==e?e:!!this.getOnlyControl()&&((this.getMeta()||{}).validate||[]).filter((function(e){return!!e.rules})).some((function(e){return e.rules.some((function(e){return e.required}))}))}},{key:"renderHelp",value:function(e){var t=this.getHelpMessage(),a=t?r.createElement("div",{className:"".concat(e,"-explain"),key:"help"},t):null;return a&&(this.helpShow=!!a),r.createElement(o.default,{transitionName:"show-help",component:"",transitionAppear:!0,key:"help",onEnd:this.onHelpAnimEnd},a)}},{key:"renderExtra",value:function(e){var t=this.props.extra;return t?r.createElement("div",{className:"".concat(e,"-extra")},t):null}},{key:"renderValidateWrapper",value:function(e,t,a,n){var o=this.props,l=this.getOnlyControl,s=void 0===o.validateStatus&&l?this.getValidateStatus():o.validateStatus,c="".concat(e,"-item-control");s&&(c=(0,i.default)("".concat(e,"-item-control"),{"has-feedback":s&&o.hasFeedback,"has-success":"success"===s,"has-warning":"warning"===s,"has-error":"error"===s,"is-validating":"validating"===s}));var f="";switch(s){case"success":f="check-circle";break;case"warning":f="exclamation-circle";break;case"error":f="close-circle";break;case"validating":f="loading";break;default:f=""}var A=o.hasFeedback&&f?r.createElement("span",{className:"".concat(e,"-item-children-icon")},r.createElement(u.default,{type:f,theme:"loading"===f?"outlined":"filled"})):null;return r.createElement("div",{className:c},r.createElement("span",{className:"".concat(e,"-item-children")},t,A),a,n)}},{key:"renderWrapper",value:function(e,t){var a=this;return r.createElement(h.default.Consumer,{key:"wrapper"},(function(n){var o=n.wrapperCol,l=n.vertical,s=a.props.wrapperCol,u=("wrapperCol"in a.props?s:o)||{},f=(0,i.default)("".concat(e,"-item-control-wrapper"),u.className);return r.createElement(h.default.Provider,{value:{vertical:l}},r.createElement(c.default,y({},u,{className:f}),t))}))}},{key:"renderLabel",value:function(e){var t=this;return r.createElement(h.default.Consumer,{key:"label"},(function(a){var n,o=a.vertical,l=a.labelAlign,s=a.labelCol,u=a.colon,f=t.props,A=f.label,d=f.labelCol,p=f.labelAlign,h=f.colon,b=f.id,g=f.htmlFor,m=t.isRequired(),v=("labelCol"in t.props?d:s)||{},k="labelAlign"in t.props?p:l,x="".concat(e,"-item-label"),E=(0,i.default)(x,"left"===k&&"".concat(x,"-left"),v.className),_=A,C=!0===h||!1!==u&&!1!==h;C&&!o&&"string"==typeof A&&""!==A.trim()&&(_=A.replace(/[::]\s*$/,""));var $=(0,i.default)((w(n={},"".concat(e,"-item-required"),m),w(n,"".concat(e,"-item-no-colon"),!C),n));return A?r.createElement(c.default,y({},v,{className:E}),r.createElement("label",{htmlFor:g||b||t.getId(),className:$,title:"string"==typeof A?A:"",onClick:t.onLabelClick},_)):null}))}},{key:"renderChildren",value:function(e){var t=this.props.children;return[this.renderLabel(e),this.renderWrapper(e,this.renderValidateWrapper(e,t,this.renderHelp(e),this.renderExtra(e)))]}},{key:"render",value:function(){return r.createElement(f.ConfigConsumer,null,this.renderFormItem)}}],n&&k(t.prototype,n),d&&k(t,d),g}(r.Component);t.default=S,S.defaultProps={hasFeedback:!1},S.propTypes={prefixCls:n.string,label:n.oneOfType([n.string,n.node]),labelCol:n.object,help:n.oneOfType([n.node,n.bool]),validateStatus:n.oneOf(O),hasFeedback:n.bool,wrapperCol:n.object,className:n.string,id:n.string,children:n.node,colon:n.bool}}(FormItem$1);const FormItem=getDefaultExportFromCjs(FormItem$1),index$8="",Option=Select.Option;function getNestedProperty(e,t){return e.split(".").reduce(((e,t)=>e?e[t]:null),t)}class TraceSpanView extends reactExports.Component{constructor(e,t){super(e,t);const r=new Set,a=new Set,n=new Map;this.props.trace.spans.forEach((e=>{r.add(e.process.serviceName),a.add(e.operationName);const t=n.get(e.process.serviceName)||[];t.push(e.operationName),n.set(e.process.serviceName,t)})),this.state={searchText:"",searchedColumn:"",data:this.props.trace.spans,serviceNamesList:[...r],operationNamesList:[...a],serviceNameOperationsMap:n,filteredData:this.props.trace.spans,filtered:{},selectedServiceName:[],selectedOperationName:[]},this.handleResetFilter=this.handleResetFilter.bind(this),this.uniqueOperationNameOptions=this.uniqueOperationNameOptions.bind(this)}handleResetFilter(){this.setState((e=>({selectedServiceName:[],selectedOperationName:[],filteredData:e.data})))}uniqueOperationNameOptions(){let e=[];const t=this.state.serviceNameOperationsMap;return this.state.filtered["process.serviceName"]?this.state.filtered["process.serviceName"].forEach((r=>{e=e.concat(t.get(r)||[])})):e=this.state.operationNamesList,[...new Set(e)]}onFilteredChangeCustom(e,t){const r=this.state.filtered;r[t]=e;const a=this.state.data.filter((e=>{let t;return Object.keys(r).every((a=>{if(r[a].length){const n=getNestedProperty(a,e);t=r[a].includes(n)}else t=!0;return t})),t}));this.setState((e=>({...e,filtered:r,filteredData:a})))}render(){const e=[{title:"Service Name",dataIndex:"process.serviceName",width:"25%"},{title:"Operation",dataIndex:"operationName",width:"25%"},{title:"ID",dataIndex:"spanID",render:(e,t)=>jsxRuntimeExports.jsx("a",{href:prefixUrl(`/trace/${t.traceID}?uiFind=${e}`),target:"_blank",rel:"noopener noreferrer",children:e})},{title:"Duration",dataIndex:"duration",sorter:(e,t)=>e.duration-t.duration,render:e=>timeConversion(parseInt(e,10))},{title:"Start Time",dataIndex:"startTime",sorter:(e,t)=>e.startTime-t.startTime,render:e=>hooks$1(e/1e3).format("DD MMM YYYY hh:mm A")}];return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("h3",{className:"title--TraceSpanView",children:" Trace Tabular View"}),jsxRuntimeExports.jsxs(Row,{type:"flex",style:{marginTop:"8px"},children:[jsxRuntimeExports.jsx(Col,{span:7,children:jsxRuntimeExports.jsx(FormItem,{label:"Service Name",labelCol:{span:6},wrapperCol:{span:18},className:"serviceNameDD",children:jsxRuntimeExports.jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",style:{width:"100%"},maxTagCount:4,value:this.state.selectedServiceName,maxTagPlaceholder:`+ ${this.state.selectedServiceName.length-4} Selected`,placeholder:"Please Select Service ",onChange:e=>{this.setState((t=>({...t,selectedServiceName:e}))),this.onFilteredChangeCustom(e,"process.serviceName")},children:this.state.serviceNamesList.map((e=>jsxRuntimeExports.jsxs(Option,{children:[e," "]},e)))})})}),jsxRuntimeExports.jsx(Col,{span:9,children:jsxRuntimeExports.jsx(FormItem,{label:"Operation Name",labelCol:{span:6},wrapperCol:{span:18},className:"operationNameDD",children:jsxRuntimeExports.jsx(Select,{allowClear:!0,showSearch:!0,mode:"multiple",style:{width:"100%"},maxTagCount:4,value:this.state.selectedOperationName,maxTagPlaceholder:`+ ${this.state.selectedOperationName.length-4} Selected`,placeholder:"Please Select Operation",onChange:e=>{this.setState((t=>({...t,selectedOperationName:e}))),this.onFilteredChangeCustom(e,"operationName")},children:this.uniqueOperationNameOptions().map((e=>jsxRuntimeExports.jsxs(Option,{children:[e," "]},e)))})})}),jsxRuntimeExports.jsx(Col,{span:2,push:6,children:jsxRuntimeExports.jsx(FormItem,{className:"reset-filter",children:jsxRuntimeExports.jsx(Button$2,{type:"primary",htmlType:"button",onClick:this.handleResetFilter,children:"Reset Filters"})})})]}),jsxRuntimeExports.jsx(Table$1,{className:"span-table span-view-table",columns:e,dataSource:this.state.filteredData,pagination:{total:this.state.filteredData.length,pageSizeOptions:["10","20","50","100"],showSizeChanger:!0,showQuickJumper:!0},rowKey:"spanID"})]})}}var distExports={},dist={get exports(){return distExports},set exports(e){distExports=e}};!function(t,r){var n,o=Object.defineProperty,l=Object.defineProperties,c=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,p=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,m=(e,t,r)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,v=(e,t)=>{for(var r in t||(t={}))p.call(t,r)&&m(e,r,t[r]);if(A)for(var r of A(t))h.call(t,r)&&m(e,r,t[r]);return e},y=(e,t)=>l(e,c(t)),w=(e,t)=>{var r={};for(var a in e)p.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&A)for(var a of A(e))t.indexOf(a)<0&&h.call(e,a)&&(r[a]=e[a]);return r},k=(e,t,r)=>new Promise(((a,n)=>{var i=e=>{try{l(r.next(e))}catch(Z){n(Z)}},o=e=>{try{l(r.throw(e))}catch(Z){n(Z)}},l=e=>e.done?a(e.value):Promise.resolve(e.value).then(i,o);l((r=r.apply(e,t)).next())}));n=(t,r)=>(()=>{var n={899:(e,t)=>{t.DF={prefix:"fas",iconName:"align-left",icon:[448,512,[],"f036","M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},t.el=t.DF},459:(e,t)=>{t.DF={prefix:"fas",iconName:"bars",icon:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},t.xi=t.DF},971:(e,t)=>{t.DF={prefix:"fas",iconName:"columns",icon:[512,512,[],"f0db","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"]},t.rW=t.DF},42:(e,t)=>{t.DF={prefix:"fas",iconName:"compress-alt",icon:[448,512,[],"f422","M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z"]},t.V9=t.DF},682:(e,t)=>{t.DF={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},t.kZ=t.DF},438:(e,t)=>{t.DF={prefix:"fas",iconName:"highlighter",icon:[544,512,[],"f591","M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"]},t.Y6=t.DF},384:(e,t)=>{t.DF={prefix:"fas",iconName:"icicles",icon:[512,512,[],"f7ad","M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z"]},t.$P=t.DF},687:(e,t)=>{t.DF={prefix:"fas",iconName:"link",icon:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"]},t.nN=t.DF},646:(e,t)=>{t.DF={prefix:"fas",iconName:"list-ul",icon:[512,512,[],"f0ca","M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},t.gf=t.DF},247:(e,t)=>{t.DF={prefix:"fas",iconName:"redo",icon:[512,512,[],"f01e","M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"]},t.XS=t.DF},769:(e,t)=>{t.DF={prefix:"fas",iconName:"table",icon:[512,512,[],"f0ce","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"]},t.B3=t.DF},692:(e,t)=>{t.DF={prefix:"fas",iconName:"undo",icon:[512,512,[],"f0e2","M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"]},t.X7=t.DF},779:(e,t)=>{var r; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames - */!function(){var a={}.hasOwnProperty;function n(){for(var e=[],t=0;t{var a=r(351),n={};for(var i in a)a.hasOwnProperty(i)&&(n[a[i]]=i);var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var l in o)if(o.hasOwnProperty(l)){if(!("channels"in o[l]))throw new Error("missing channels property: "+l);if(!("labels"in o[l]))throw new Error("missing channel labels property: "+l);if(o[l].labels.length!==o[l].channels)throw new Error("channel and label counts mismatch: "+l);var s=o[l].channels,c=o[l].labels;delete o[l].channels,delete o[l].labels,Object.defineProperty(o[l],"channels",{value:s}),Object.defineProperty(o[l],"labels",{value:c})}function u(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}o.rgb.hsl=function(e){var t,r,a=e[0]/255,n=e[1]/255,i=e[2]/255,o=Math.min(a,n,i),l=Math.max(a,n,i),s=l-o;return l===o?t=0:a===l?t=(n-i)/s:n===l?t=2+(i-a)/s:i===l&&(t=4+(a-n)/s),(t=Math.min(60*t,360))<0&&(t+=360),r=(o+l)/2,[t,100*(l===o?0:r<=.5?s/(l+o):s/(2-l-o)),100*r]},o.rgb.hsv=function(e){var t,r,a,n,i,o=e[0]/255,l=e[1]/255,s=e[2]/255,c=Math.max(o,l,s),u=c-Math.min(o,l,s),f=function(e){return(c-e)/6/u+.5};return 0===u?n=i=0:(i=u/c,t=f(o),r=f(l),a=f(s),o===c?n=a-r:l===c?n=.3333333333333333+t-a:s===c&&(n=.6666666666666666+r-t),n<0?n+=1:n>1&&(n-=1)),[360*n,100*i,100*c]},o.rgb.hwb=function(e){var t=e[0],r=e[1],a=e[2];return[o.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(r,a))*100,100*(a=1-.00392156862745098*Math.max(t,Math.max(r,a)))]},o.rgb.cmyk=function(e){var t,r=e[0]/255,a=e[1]/255,n=e[2]/255;return[100*((1-r-(t=Math.min(1-r,1-a,1-n)))/(1-t)||0),100*((1-a-t)/(1-t)||0),100*((1-n-t)/(1-t)||0),100*t]},o.rgb.keyword=function(e){var t=n[e];if(t)return t;var r,i=1/0;for(var o in a)if(a.hasOwnProperty(o)){var l=u(e,a[o]);l.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)+.1805*(a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92)),100*(.2126*t+.7152*r+.0722*a),100*(.0193*t+.1192*r+.9505*a)]},o.rgb.lab=function(e){var t=o.rgb.xyz(e),r=t[0],a=t[1],n=t[2];return a/=100,n/=108.883,r=(r/=95.047)>.008856?Math.pow(r,.3333333333333333):7.787*r+.13793103448275862,[116*(a=a>.008856?Math.pow(a,.3333333333333333):7.787*a+.13793103448275862)-16,500*(r-a),200*(a-(n=n>.008856?Math.pow(n,.3333333333333333):7.787*n+.13793103448275862))]},o.hsl.rgb=function(e){var t,r,a,n,i,o=e[0]/360,l=e[1]/100,s=e[2]/100;if(0===l)return[i=255*s,i,i];t=2*s-(r=s<.5?s*(1+l):s+l-s*l),n=[0,0,0];for(var c=0;c<3;c++)(a=o+.3333333333333333*-(c-1))<0&&a++,a>1&&a--,i=6*a<1?t+6*(r-t)*a:2*a<1?r:3*a<2?t+(r-t)*(.6666666666666666-a)*6:t,n[c]=255*i;return n},o.hsl.hsv=function(e){var t=e[0],r=e[1]/100,a=e[2]/100,n=r,i=Math.max(a,.01);return r*=(a*=2)<=1?a:2-a,n*=i<=1?i:2-i,[t,100*(0===a?2*n/(i+n):2*r/(a+r)),(a+r)/2*100]},o.hsv.rgb=function(e){var t=e[0]/60,r=e[1]/100,a=e[2]/100,n=Math.floor(t)%6,i=t-Math.floor(t),o=255*a*(1-r),l=255*a*(1-r*i),s=255*a*(1-r*(1-i));switch(a*=255,n){case 0:return[a,s,o];case 1:return[l,a,o];case 2:return[o,a,s];case 3:return[o,l,a];case 4:return[s,o,a];case 5:return[a,o,l]}},o.hsv.hsl=function(e){var t,r,a,n=e[0],i=e[1]/100,o=e[2]/100,l=Math.max(o,.01);return a=(2-i)*o,r=i*l,[n,100*(r=(r/=(t=(2-i)*l)<=1?t:2-t)||0),100*(a/=2)]},o.hwb.rgb=function(e){var t,r,a,n,i,o,l,s=e[0]/360,c=e[1]/100,u=e[2]/100,f=c+u;switch(f>1&&(c/=f,u/=f),a=6*s-(t=Math.floor(6*s)),0!=(1&t)&&(a=1-a),n=c+a*((r=1-u)-c),t){default:case 6:case 0:i=r,o=n,l=c;break;case 1:i=n,o=r,l=c;break;case 2:i=c,o=r,l=n;break;case 3:i=c,o=n,l=r;break;case 4:i=n,o=c,l=r;break;case 5:i=r,o=c,l=n}return[255*i,255*o,255*l]},o.cmyk.rgb=function(e){var t=e[0]/100,r=e[1]/100,a=e[2]/100,n=e[3]/100;return[255*(1-Math.min(1,t*(1-n)+n)),255*(1-Math.min(1,r*(1-n)+n)),255*(1-Math.min(1,a*(1-n)+n))]},o.xyz.rgb=function(e){var t,r,a,n=e[0]/100,i=e[1]/100,o=e[2]/100;return r=-.9689*n+1.8758*i+.0415*o,a=.0557*n+-.204*i+1.057*o,t=(t=3.2406*n+-1.5372*i+-.4986*o)>.0031308?1.055*Math.pow(t,.4166666666666667)-.055:12.92*t,r=r>.0031308?1.055*Math.pow(r,.4166666666666667)-.055:12.92*r,a=a>.0031308?1.055*Math.pow(a,.4166666666666667)-.055:12.92*a,[255*(t=Math.min(Math.max(0,t),1)),255*(r=Math.min(Math.max(0,r),1)),255*(a=Math.min(Math.max(0,a),1))]},o.xyz.lab=function(e){var t=e[0],r=e[1],a=e[2];return r/=100,a/=108.883,t=(t/=95.047)>.008856?Math.pow(t,.3333333333333333):7.787*t+.13793103448275862,[116*(r=r>.008856?Math.pow(r,.3333333333333333):7.787*r+.13793103448275862)-16,500*(t-r),200*(r-(a=a>.008856?Math.pow(a,.3333333333333333):7.787*a+.13793103448275862))]},o.lab.xyz=function(e){var t,r,a,n=e[0];t=e[1]/500+(r=(n+16)/116),a=r-e[2]/200;var i=Math.pow(r,3),o=Math.pow(t,3),l=Math.pow(a,3);return r=i>.008856?i:(r-.13793103448275862)/7.787,t=o>.008856?o:(t-.13793103448275862)/7.787,a=l>.008856?l:(a-.13793103448275862)/7.787,[t*=95.047,r*=100,a*=108.883]},o.lab.lch=function(e){var t,r=e[0],a=e[1],n=e[2];return(t=360*Math.atan2(n,a)/2/Math.PI)<0&&(t+=360),[r,Math.sqrt(a*a+n*n),t]},o.lch.lab=function(e){var t,r=e[0],a=e[1];return t=e[2]/360*2*Math.PI,[r,a*Math.cos(t),a*Math.sin(t)]},o.rgb.ansi16=function(e){var t=e[0],r=e[1],a=e[2],n=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];if(0===(n=Math.round(n/50)))return 30;var i=30+(Math.round(a/255)<<2|Math.round(r/255)<<1|Math.round(t/255));return 2===n&&(i+=60),i},o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])},o.rgb.ansi256=function(e){var t=e[0],r=e[1],a=e[2];return t===r&&r===a?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(a/255*5)},o.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var r=.5*(1+~~(e>50));return[(1&t)*r*255,(t>>1&1)*r*255,(t>>2&1)*r*255]},o.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var r;return e-=16,[Math.floor(e/36)/5*255,Math.floor((r=e%36)/6)/5*255,r%6/5*255]},o.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},o.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var r=t[0];3===t[0].length&&(r=r.split("").map((function(e){return e+e})).join(""));var a=parseInt(r,16);return[a>>16&255,a>>8&255,255&a]},o.rgb.hcg=function(e){var t,r=e[0]/255,a=e[1]/255,n=e[2]/255,i=Math.max(Math.max(r,a),n),o=Math.min(Math.min(r,a),n),l=i-o;return t=l<=0?0:i===r?(a-n)/l%6:i===a?2+(n-r)/l:4+(r-a)/l+4,t/=6,[360*(t%=1),100*l,100*(l<1?o/(1-l):0)]},o.hsl.hcg=function(e){var t=e[1]/100,r=e[2]/100,a=1,n=0;return(a=r<.5?2*t*r:2*t*(1-r))<1&&(n=(r-.5*a)/(1-a)),[e[0],100*a,100*n]},o.hsv.hcg=function(e){var t=e[1]/100,r=e[2]/100,a=t*r,n=0;return a<1&&(n=(r-a)/(1-a)),[e[0],100*a,100*n]},o.hcg.rgb=function(e){var t=e[0]/360,r=e[1]/100,a=e[2]/100;if(0===r)return[255*a,255*a,255*a];var n,i=[0,0,0],o=t%1*6,l=o%1,s=1-l;switch(Math.floor(o)){case 0:i[0]=1,i[1]=l,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=l;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=l,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return n=(1-r)*a,[255*(r*i[0]+n),255*(r*i[1]+n),255*(r*i[2]+n)]},o.hcg.hsv=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t),a=0;return r>0&&(a=t/r),[e[0],100*a,100*r]},o.hcg.hsl=function(e){var t=e[1]/100,r=e[2]/100*(1-t)+.5*t,a=0;return r>0&&r<.5?a=t/(2*r):r>=.5&&r<1&&(a=t/(2*(1-r))),[e[0],100*a,100*r]},o.hcg.hwb=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t);return[e[0],100*(r-t),100*(1-r)]},o.hwb.hcg=function(e){var t=e[1]/100,r=1-e[2]/100,a=r-t,n=0;return a<1&&(n=(r-a)/(1-a)),[e[0],100*a,100*n]},o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]},o.gray.hwb=function(e){return[0,100,e[0]]},o.gray.cmyk=function(e){return[0,0,0,e[0]]},o.gray.lab=function(e){return[e[0],0,0]},o.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r},o.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},841:(e,t,r)=>{var a=r(959),n=r(325),i={};Object.keys(a).forEach((function(e){i[e]={},Object.defineProperty(i[e],"channels",{value:a[e].channels}),Object.defineProperty(i[e],"labels",{value:a[e].labels});var t=n(e);Object.keys(t).forEach((function(r){var a=t[r];i[e][r]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var r=e(t);if("object"==typeof r)for(var a=r.length,n=0;n1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(a)}))})),e.exports=i},351:e=>{e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},325:(e,t,r)=>{var a=r(959);function n(e){var t=function(){for(var e={},t=Object.keys(a),r=t.length,n=0;n{e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},804:(e,t,r)=>{var a=r(103),n=r(47),i=Object.hasOwnProperty,o={};for(var l in a)i.call(a,l)&&(o[a[l]]=l);var s=e.exports={to:{},get:{}};function c(e,t,r){return Math.min(Math.max(t,e),r)}function u(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}s.get=function(e){var t,r;switch(e.substring(0,3).toLowerCase()){case"hsl":t=s.get.hsl(e),r="hsl";break;case"hwb":t=s.get.hwb(e),r="hwb";break;default:t=s.get.rgb(e),r="rgb"}return t?{model:r,value:t}:null},s.get.rgb=function(e){if(!e)return null;var t,r,n,o=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(n=t[2],t=t[1],r=0;r<3;r++){var l=2*r;o[r]=parseInt(t.slice(l,l+2),16)}n&&(o[3]=parseInt(n,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(n=(t=t[1])[3],r=0;r<3;r++)o[r]=parseInt(t[r]+t[r],16);n&&(o[3]=parseInt(n+n,16)/255)}else if(t=e.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(r=0;r<3;r++)o[r]=parseInt(t[r+1],0);t[4]&&(t[5]?o[3]=.01*parseFloat(t[4]):o[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(t=e.match(/^(\w+)$/))?"transparent"===t[1]?[0,0,0,0]:i.call(a,t[1])?((o=a[t[1]])[3]=1,o):null:null;for(r=0;r<3;r++)o[r]=Math.round(2.55*parseFloat(t[r+1]));t[4]&&(t[5]?o[3]=.01*parseFloat(t[4]):o[3]=parseFloat(t[4]))}for(r=0;r<3;r++)o[r]=c(o[r],0,255);return o[3]=c(o[3],0,1),o},s.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var r=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,c(parseFloat(t[2]),0,100),c(parseFloat(t[3]),0,100),c(isNaN(r)?1:r,0,1)]}return null},s.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var r=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,c(parseFloat(t[2]),0,100),c(parseFloat(t[3]),0,100),c(isNaN(r)?1:r,0,1)]}return null},s.to.hex=function(){var e=n(arguments);return"#"+u(e[0])+u(e[1])+u(e[2])+(e[3]<1?u(Math.round(255*e[3])):"")},s.to.rgb=function(){var e=n(arguments);return e.length<4||1===e[3]?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"},s.to.rgb.percent=function(){var e=n(arguments),t=Math.round(e[0]/255*100),r=Math.round(e[1]/255*100),a=Math.round(e[2]/255*100);return e.length<4||1===e[3]?"rgb("+t+"%, "+r+"%, "+a+"%)":"rgba("+t+"%, "+r+"%, "+a+"%, "+e[3]+")"},s.to.hsl=function(){var e=n(arguments);return e.length<4||1===e[3]?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},s.to.hwb=function(){var e=n(arguments),t="";return e.length>=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},s.to.keyword=function(e){return o[e.slice(0,3)]}},346:(e,t,r)=>{var a=r(804),n=r(841),i=[].slice,o=["keyword","gray","hex"],l={};Object.keys(n).forEach((function(e){l[i.call(n[e].labels).sort().join("")]=e}));var s={};function c(e,t){if(!(this instanceof c))return new c(e,t);if(t&&t in o&&(t=null),t&&!(t in n))throw new Error("Unknown model: "+t);var r,u;if(null==e)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof c)this.model=e.model,this.color=e.color.slice(),this.valpha=e.valpha;else if("string"==typeof e){var f=a.get(e);if(null===f)throw new Error("Unable to parse color from string: "+e);this.model=f.model,u=n[this.model].channels,this.color=f.value.slice(0,u),this.valpha="number"==typeof f.value[u]?f.value[u]:1}else if(e.length){this.model=t||"rgb",u=n[this.model].channels;var d=i.call(e,0,u);this.color=A(d,u),this.valpha="number"==typeof e[u]?e[u]:1}else if("number"==typeof e)e&=16777215,this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;var p=Object.keys(e);"alpha"in e&&(p.splice(p.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);var h=p.sort().join("");if(!(h in l))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=l[h];var b=n[this.model].labels,g=[];for(r=0;rr?(t+.05)/(r+.05):(r+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},isDark:function(){var e=this.rgb().color;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},isLight:function(){return!this.isDark()},negate:function(){for(var e=this.rgb(),t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten:function(e){var t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken:function(e){var t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate:function(e){var t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate:function(e){var t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten:function(e){var t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken:function(e){var t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale:function(){var e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return c.rgb(t,t,t)},fade:function(e){return this.alpha(this.valpha-this.valpha*e)},opaquer:function(e){return this.alpha(this.valpha+this.valpha*e)},rotate:function(e){var t=this.hsl(),r=t.color[0];return r=(r=(r+e)%360)<0?360+r:r,t.color[0]=r,t},mix:function(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);var r=e.rgb(),a=this.rgb(),n=void 0===t?.5:t,i=2*n-1,o=r.alpha()-a.alpha(),l=((i*o==-1?i:(i+o)/(1+i*o))+1)/2,s=1-l;return c.rgb(l*r.red()+s*a.red(),l*r.green()+s*a.green(),l*r.blue()+s*a.blue(),r.alpha()*n+a.alpha()*(1-n))}},Object.keys(n).forEach((function(e){if(-1===o.indexOf(e)){var t=n[e].channels;c.prototype[e]=function(){if(this.model===e)return new c(this);if(arguments.length)return new c(arguments,e);var r="number"==typeof arguments[t]?t:this.valpha;return new c(function(e){return Array.isArray(e)?e:[e]}(n[this.model][e].raw(this.color)).concat(r),e)},c[e]=function(r){return"number"==typeof r&&(r=A(i.call(arguments),t)),new c(r,e)}}})),e.exports=c},594:(e,t,r)=>{var a=NaN,n="[object Symbol]",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,s=/^0o[0-7]+$/i,c=parseInt,u="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,f="object"==typeof self&&self&&self.Object===Object&&self,A=u||f||Function("return this")(),d=Object.prototype.toString,p=Math.max,h=Math.min,b=function(){return A.Date.now()};function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function m(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&d.call(e)==n}(e))return a;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var r=l.test(e);return r||s.test(e)?c(e.slice(2),r?2:8):o.test(e)?a:+e}e.exports=function(e,t,r){var a,n,i,o,l,s,c=0,u=!1,f=!1,A=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function d(t){var r=a,i=n;return a=n=void 0,c=t,o=e.apply(i,r)}function v(e){var r=e-s;return void 0===s||r>=t||r<0||f&&e-c>=i}function y(){var e=b();if(v(e))return w(e);l=setTimeout(y,function(e){var r=t-(e-s);return f?h(r,i-(e-c)):r}(e))}function w(e){return l=void 0,A&&a?d(e):(a=n=void 0,o)}function k(){var e=b(),r=v(e);if(a=arguments,n=this,s=e,r){if(void 0===l)return function(e){return c=e,l=setTimeout(y,t),u?d(e):o}(s);if(f)return l=setTimeout(y,t),d(s)}return void 0===l&&(l=setTimeout(y,t)),o}return t=m(t)||0,g(r)&&(u=!!r.leading,i=(f="maxWait"in r)?p(m(r.maxWait)||0,t):i,A="trailing"in r?!!r.trailing:A),k.cancel=function(){void 0!==l&&clearTimeout(l),c=0,a=s=n=l=void 0},k.flush=function(){return void 0===l?o:w(b())},k}},572:(e,t,r)=>{e=r.nmd(e);var a="__lodash_hash_undefined__",n=1,i=2,o=1/0,l=9007199254740991,c="[object Arguments]",u="[object Array]",A="[object Boolean]",d="[object Date]",p="[object Error]",h="[object Function]",g="[object GeneratorFunction]",m="[object Map]",v="[object Number]",y="[object Object]",w="[object Promise]",k="[object RegExp]",x="[object Set]",E="[object String]",_="[object Symbol]",C="[object WeakMap]",$="[object ArrayBuffer]",T="[object DataView]",O=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,I=/^\./,M=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B=/\\(\\)?/g,R=/^\[object .+?Constructor\]$/,P=/^(?:0|[1-9]\d*)$/,L={};L["[object Float32Array]"]=L["[object Float64Array]"]=L["[object Int8Array]"]=L["[object Int16Array]"]=L["[object Int32Array]"]=L["[object Uint8Array]"]=L["[object Uint8ClampedArray]"]=L["[object Uint16Array]"]=L["[object Uint32Array]"]=!0,L[c]=L[u]=L[$]=L[A]=L[T]=L[d]=L[p]=L[h]=L[m]=L[v]=L[y]=L[k]=L[x]=L[E]=L[C]=!1;var D="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,z="object"==typeof self&&self&&self.Object===Object&&self,F=D||z||Function("return this")(),N=t&&!t.nodeType&&t,j=N&&e&&!e.nodeType&&e,V=j&&j.exports===N&&D.process,G=function(){try{return V&&V.binding("util")}catch(s){}}(),H=G&&G.isTypedArray;function W(e,t,r,a){for(var n=-1,i=e?e.length:0;++n-1},_e.prototype.set=function(e,t){var r=this.__data__,a=Se(r,e);return a<0?r.push([e,t]):r[a][1]=t,this},Ce.prototype.clear=function(){this.__data__={hash:new Ee,map:new(fe||_e),string:new Ee}},Ce.prototype.delete=function(e){return Ve(this,e).delete(e)},Ce.prototype.get=function(e){return Ve(this,e).get(e)},Ce.prototype.has=function(e){return Ve(this,e).has(e)},Ce.prototype.set=function(e,t){return Ve(this,e).set(e,t),this},$e.prototype.add=$e.prototype.push=function(e){return this.__data__.set(e,a),this},$e.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.clear=function(){this.__data__=new _e},Te.prototype.delete=function(e){return this.__data__.delete(e)},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var r=this.__data__;if(r instanceof _e){var a=r.__data__;if(!fe||a.length<199)return a.push([e,t]),this;r=this.__data__=new Ce(a)}return r.set(e,t),this};var Me=function(e,t){return function(r,a){if(null==r)return r;if(!at(r))return e(r,a);for(var n=r.length,i=t?n:-1,o=Object(r);(t?i--:++ic))return!1;var f=l.get(e);if(f&&l.get(t))return f==t;var A=-1,d=!0,p=o&n?new $e:void 0;for(l.set(e,t),l.set(t,e);++A-1&&e%1==0&&e-1&&e%1==0&&e<=l}function ot(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function lt(e){return!!e&&"object"==typeof e}function st(e){return"symbol"==typeof e||lt(e)&&ae.call(e)==_}var ct=H?function(e){return function(t){return e(t)}}(H):function(e){return lt(e)&&it(e.length)&&!!L[ae.call(e)]};function ut(e){return at(e)?Oe(e):Fe(e)}function ft(e){return e}e.exports=Xe},343:(e,t,r)=>{e=r.nmd(e);var a="__lodash_hash_undefined__",n=1,i=2,o=1/0,l=9007199254740991,c="[object Arguments]",u="[object Array]",A="[object Boolean]",p="[object Date]",h="[object Error]",b="[object Function]",g="[object GeneratorFunction]",m="[object Map]",v="[object Number]",y="[object Object]",w="[object Promise]",k="[object RegExp]",x="[object Set]",E="[object String]",_="[object Symbol]",C="[object WeakMap]",$="[object ArrayBuffer]",T="[object DataView]",O=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,I=/^\./,M=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B=/\\(\\)?/g,R=/^\[object .+?Constructor\]$/,P=/^(?:0|[1-9]\d*)$/,L={};L["[object Float32Array]"]=L["[object Float64Array]"]=L["[object Int8Array]"]=L["[object Int16Array]"]=L["[object Int32Array]"]=L["[object Uint8Array]"]=L["[object Uint8ClampedArray]"]=L["[object Uint16Array]"]=L["[object Uint32Array]"]=!0,L[c]=L[u]=L[$]=L[A]=L[T]=L[p]=L[h]=L[b]=L[m]=L[v]=L[y]=L[k]=L[x]=L[E]=L[C]=!1;var D="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,z="object"==typeof self&&self&&self.Object===Object&&self,F=D||z||Function("return this")(),N=t&&!t.nodeType&&t,j=N&&e&&!e.nodeType&&e,V=j&&j.exports===N&&D.process,G=function(){try{return V&&V.binding("util")}catch(d){}}(),H=G&&G.isTypedArray;function W(e,t){for(var r=-1,a=e?e.length:0,n=Array(a);++r-1},_e.prototype.set=function(e,t){var r=this.__data__,a=Se(r,e);return a<0?r.push([e,t]):r[a][1]=t,this},Ce.prototype.clear=function(){this.__data__={hash:new Ee,map:new(fe||_e),string:new Ee}},Ce.prototype.delete=function(e){return Ve(this,e).delete(e)},Ce.prototype.get=function(e){return Ve(this,e).get(e)},Ce.prototype.has=function(e){return Ve(this,e).has(e)},Ce.prototype.set=function(e,t){return Ve(this,e).set(e,t),this},$e.prototype.add=$e.prototype.push=function(e){return this.__data__.set(e,a),this},$e.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.clear=function(){this.__data__=new _e},Te.prototype.delete=function(e){return this.__data__.delete(e)},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var r=this.__data__;if(r instanceof _e){var a=r.__data__;if(!fe||a.length<199)return a.push([e,t]),this;r=this.__data__=new Ce(a)}return r.set(e,t),this};var Ie=function(e,t){return function(r,a){if(null==r)return r;if(!rt(r))return e(r,a);for(var n=r.length,i=t?n:-1,o=Object(r);(t?i--:++ic))return!1;var f=l.get(e);if(f&&l.get(t))return f==t;var A=-1,d=!0,p=o&n?new $e:void 0;for(l.set(e,t),l.set(t,e);++A-1&&e%1==0&&e-1&&e%1==0&&e<=l}function it(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ot(e){return!!e&&"object"==typeof e}function lt(e){return"symbol"==typeof e||ot(e)&&ae.call(e)==_}var st=H?function(e){return function(t){return e(t)}}(H):function(e){return ot(e)&&nt(e.length)&&!!L[ae.call(e)]};function ct(e){return rt(e)?Oe(e):ze(e)}function ut(e){return e}e.exports=function(e,t){return(tt(e)?W:Fe)(e,De(t))}},262:(e,t,r)=>{var a=r(586);function n(){}function i(){}i.resetWarningCache=n,e.exports=function(){function e(e,t,r,n,i,o){if(o!==a){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:n};return r.PropTypes=r,r}},980:(e,t,r)=>{e.exports=r(262)()},586:e=>{e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},129:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DebounceInput=void 0;var a=i(r(156)),n=i(r(594));function i(e){return e&&e.__esModule?e:{default:e}}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function l(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0)&&(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function c(e){for(var t=1;t=r?a.notify(e):t.length>n.length&&a.notify(c(c({},e),{},{target:c(c({},e.target),{},{value:""})}))}))})),h(d(a),"onKeyDown",(function(e){"Enter"===e.key&&a.forceNotify(e);var t=a.props.onKeyDown;t&&(e.persist(),t(e))})),h(d(a),"onBlur",(function(e){a.forceNotify(e);var t=a.props.onBlur;t&&(e.persist(),t(e))})),h(d(a),"createNotifier",(function(e){if(e<0)a.notify=function(){return null};else if(0===e)a.notify=a.doNotify;else{var t=(0,n.default)((function(e){a.isDebouncing=!1,a.doNotify(e)}),e);a.notify=function(e){a.isDebouncing=!0,t(e)},a.flush=function(){return t.flush()},a.cancel=function(){a.isDebouncing=!1,t.cancel()}}})),h(d(a),"doNotify",(function(){a.props.onChange.apply(void 0,arguments)})),h(d(a),"forceNotify",(function(e){var t=a.props.debounceTimeout;if(a.isDebouncing||!(t>0)){a.cancel&&a.cancel();var r=a.state.value,n=a.props.minLength;r.length>=n?a.doNotify(e):a.doNotify(c(c({},e),{},{target:c(c({},e.target),{},{value:r})}))}})),a.isDebouncing=!1,a.state={value:void 0===e.value||null===e.value?"":e.value};var i=a.props.debounceTimeout;return a.createNotifier(i),a}return function(e,t,r){t&&u(e.prototype,t),r&&u(e,r)}(r,[{key:"componentDidUpdate",value:function(e){if(!this.isDebouncing){var t=this.props,r=t.value,a=t.debounceTimeout,n=e.debounceTimeout,i=e.value,o=this.state.value;void 0!==r&&i!==r&&o!==r&&this.setState({value:r}),a!==n&&this.createNotifier(a)}}},{key:"componentWillUnmount",value:function(){this.flush&&this.flush()}},{key:"render",value:function(){var e=this.props,t=e.element;e.onChange,e.value,e.minLength,e.debounceTimeout;var r,n,i=e.forceNotifyByEnter,o=e.forceNotifyOnBlur,s=e.onKeyDown,u=e.onBlur,f=e.inputRef,A=l(e,["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"]),d=this.state.value;r=i?{onKeyDown:this.onKeyDown}:s?{onKeyDown:s}:{},n=o?{onBlur:this.onBlur}:u?{onBlur:u}:{};var p=f?{ref:f}:{};return a.default.createElement(t,c(c(c(c({},A),{},{onChange:this.onChange,value:d},r),n),p))}}]),r}(a.default.PureComponent);t.DebounceInput=b,h(b,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},912:(e,t,r)=>{var a=r(129).DebounceInput;a.DebounceInput=a,e.exports=a},424:(e,t,r)=>{function a(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var n=a(r(156)),i=a(r(980));function o(e){return"fast"===e?600:"slow"===e?900:750}var l=function(e){var t=e.color,r=e.speed,a=e.gap,i=e.thickness,l=e.size,s=function(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(r[a]=e[a]);return r}(e,["color","speed","gap","thickness","size"]);return n.createElement("svg",Object.assign({},{height:l,width:l},s,{style:{animationDuration:o(r)+"ms"},className:"__react-svg-spinner_circle",role:"img","aria-labelledby":"title desc",viewBox:"0 0 32 32"}),n.createElement("title",{id:"title"},"Circle loading spinner"),n.createElement("desc",{id:"desc"},'Image of a partial circle indicating "loading."'),n.createElement("style",{dangerouslySetInnerHTML:{__html:"\n .__react-svg-spinner_circle{\n transition-property: transform;\n animation-name: __react-svg-spinner_infinite-spin;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n }\n @keyframes __react-svg-spinner_infinite-spin {\n from {transform: rotate(0deg)}\n to {transform: rotate(360deg)}\n }\n "}}),n.createElement("circle",{role:"presentation",cx:16,cy:16,r:14-i/2,stroke:t,fill:"none",strokeWidth:i,strokeDasharray:2*Math.PI*(11-a),strokeLinecap:"round"}))};l.propTypes={color:i.string,thickness:i.oneOf([1,2,3,4,5,6,7,8]).isRequired,gap:i.oneOf([1,2,3,4,5]).isRequired,speed:i.oneOf(["fast","slow"]),size:i.string.isRequired},l.defaultProps={color:"rgba(0,0,0,0.4)",gap:4,thickness:4,size:"1em"},e.exports=l},47:(e,t,r)=>{var a=r(905),n=Array.prototype.concat,i=Array.prototype.slice,o=e.exports=function(e){for(var t=[],r=0,o=e.length;r{e.exports=function(e){return!(!e||"string"==typeof e)&&(e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&"String"!==e.constructor.name))}},156:e=>{e.exports=t},111:e=>{e.exports=r}},o={};function l(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e](r,r.exports,l),r.loaded=!0,r.exports}l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var r in t)l.o(t,r)&&!l.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(_){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var c={};return(()=>{l.r(c),l.d(c,{Box:()=>o,DefaultPalette:()=>$s,Flamegraph:()=>sn,FlamegraphRenderer:()=>vf,convertJaegerTraceToProfile:()=>Ef,diffTwoProfiles:()=>If});var t=l(156),r=l.n(t);const n={box:"CymgObeW6VZutKnn+knV0w==",padding:"_27LlhV46s9ZMTAMouwXorw=="};function o(e){const{children:t,noPadding:a,className:i=""}=e,o=a?"":n.padding;return r().createElement("div",{className:`${n.box} ${o} ${i}`},t)}const s=Symbol("BrandTag"),f=new class{constructor(e){this[s]=e}}("unit"),A=e=>null==e;function d(e,t){return void 0!==t?e(t):e}const p="Ok",h="Err";class b{constructor(e){this.repr=e}static ok(e){return A(e)?new b(["Ok",f]):new b(["Ok",e])}static err(e){return A(e)?new b(["Err",f]):new b(["Err",e])}get variant(){return this.repr[0]}get value(){if(this.repr[0]===h)throw new Error("Cannot get the value of Err");return this.repr[1]}get error(){if(this.repr[0]===p)throw new Error("Cannot get the error of Ok");return this.repr[1]}get isOk(){return this.repr[0]===p}get isErr(){return this.repr[0]===h}map(e){return function(e,t){return d((t=>t.isOk?m(e(t.value)):t),t)}(e,this)}mapOr(e,t){return function(e,t,r){function a(t,r){return r.isOk?t(r.value):e}function n(e,t){return void 0!==t?a(e,t):t=>a(e,t)}return void 0===t?n:void 0===r?n(t):n(t,r)}(e,t,this)}mapOrElse(e,t){return E(e,t,this)}match(e){return function(e,t){return d((t=>E(e.Err,e.Ok,t)),t)}(e,this)}mapErr(e){return function(e,t){return d((t=>t.isOk?t:x(e(t.error))),t)}(e,this)}or(e){return function(e,t){return d((t=>t.isOk?m(t.value):e),t)}(e,this)}orElse(e){return function(e,t){return d((t=>t.isOk?m(t.value):e(t.error)),t)}(e,this)}and(e){return function(e,t){return d((t=>t.isOk?e:x(t.error)),t)}(e,this)}andThen(e){return function(e,t){return d((t=>t.isOk?e(t.value):x(t.error)),t)}(e,this)}unwrapOr(e){return function(e,t){return d((t=>t.isOk?t.value:e),t)}(e,this)}unwrapOrElse(e){return function(e,t){return d((t=>t.isOk?t.value:e(t.error)),t)}(e,this)}toMaybe(){return function(e){return e.isOk?F.just(e.value):F.nothing()}(this)}toString(){return _(this)}toJSON(){return $(this)}equals(e){return function(e,t){return void 0!==t?t.match({Err:()=>e.isErr,Ok:t=>e.isOk&&e.value===t}):t=>t.match({Err:()=>e.isErr,Ok:t=>e.isOk&&e.value===t})}(e,this)}ap(e){return function(e,t){return d((t=>t.andThen((t=>e.map((e=>e(t)))))),t)}(this,e)}}const m=b.ok,x=b.err;function E(e,t,r){function a(t,r){return r.isOk?t(r.value):e(r.error)}function n(e,t){return void 0!==t?a(e,t):t=>a(e,t)}return void 0===t?n:void 0===r?n(t):n(t,r)}const _=e=>{const t=(e.isOk?e.value:e.error).toString();return`${e.variant.toString()}(${t})`},$=e=>e.isOk?{variant:e.variant,value:e.value}:{variant:e.variant,error:e.error},T=b,O="Just",S="Nothing";let I;class M{constructor(e){if(A(e))return this.repr=[S],I||(I=this),I;this.repr=[O,e]}static of(e){return new M(e)}static just(e){if(A(e))throw new Error(`attempted to call "just" with ${e}`);return new M(e)}static nothing(e){return new M}get variant(){return this.repr[0]}get value(){if(this.repr[0]===S)throw new Error("Cannot get the value of `Nothing`");return this.repr[1]}get isJust(){return this.repr[0]===O}get isNothing(){return this.repr[0]===S}map(e){return function(e,t){return d((t=>t.isJust?B(e(t.value)):R()),t)}(e,this)}mapOr(e,t){return function(e,t,r){function a(t,r){return r.isJust?t(r.value):e}function n(e,t){return void 0!==t?a(e,t):t=>a(e,t)}return void 0===t?n:void 0===r?n(t):n(t,r)}(e,t,this)}mapOrElse(e,t){return P(e,t,this)}match(e){return function(e,t){return d((t=>P(e.Nothing,e.Just,t)),t)}(e,this)}or(e){return function(e,t){const r=t=>t.isJust?t:e;return void 0!==t?r(t):r}(e,this)}orElse(e){return function(e,t){return d((t=>t.isJust?t:e()),t)}(e,this)}and(e){return function(e,t){return d((t=>t.isJust?e:R()),t)}(e,this)}andThen(e){return L(e,this)}unwrapOr(e){return function(e,t){return d((t=>t.isJust?t.value:e),t)}(e,this)}unwrapOrElse(e){return function(e,t){return d((t=>t.isJust?t.value:e()),t)}(e,this)}toOkOrErr(e){return function(e,t){const r=t=>t.isJust?T.ok(t.value):T.err(e);return void 0!==t?r(t):r}(e,this)}toOkOrElseErr(e){return function(e,t){return d((t=>t.isJust?T.ok(t.value):T.err(e())),t)}(e,this)}toString(){return function(e){const t=e.isJust?`(${e.value.toString()})`:"";return`${e.variant}${t}`}(this)}toJSON(){return function(e){return e.isJust?{variant:e.variant,value:D(e.value)?e.value.toJSON():e.value}:{variant:e.variant}}(this)}equals(e){return function(e,t){return d((t=>t.match({Just:t=>e.isJust&&e.value===t,Nothing:()=>e.isNothing})),t)}(e,this)}ap(e){return function(e,t){return d((t=>t.andThen((t=>e.map((e=>e(t)))))),t)}(this,e)}get(e){return function(e,t){return d(L(function(e,t){return d((t=>z.of(t[e])),t)}(e)),t)}(e,this)}}const B=M.just,R=M.nothing;function P(e,t,r){function a(t,r){return r.isJust?t(r.value):e()}function n(e,t){return void 0!==t?a(e,t):t=>a(e,t)}return void 0===t?n:void 0===r?n(t):n(t,r)}function L(e,t){const r=t=>t.isJust?e(t.value):R();return void 0!==t?r(t):r}function D(e){return e instanceof z}const z=M,F=z;var N;!function(e){e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const r of e)t[r]=r;return t},e.getValidEnumValues=t=>{const r=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),a={};for(const e of r)a[e]=t[e];return e.objectValues(a)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},e.find=(e,t)=>{for(const r of e)if(t(r))return r},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)}}(N||(N={}));const j=N.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),V=e=>{switch(typeof e){case"undefined":return j.undefined;case"string":return j.string;case"number":return isNaN(e)?j.nan:j.number;case"boolean":return j.boolean;case"function":return j.function;case"bigint":return j.bigint;case"object":return Array.isArray(e)?j.array:null===e?j.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?j.promise:"undefined"!=typeof Map&&e instanceof Map?j.map:"undefined"!=typeof Set&&e instanceof Set?j.set:"undefined"!=typeof Date&&e instanceof Date?j.date:j.object;default:return j.unknown}},G=N.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of"]);class H extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},r={_errors:[]},a=e=>{for(const n of e.issues)if("invalid_union"===n.code)n.unionErrors.map(a);else if("invalid_return_type"===n.code)a(n.returnTypeError);else if("invalid_arguments"===n.code)a(n.argumentsError);else if(0===n.path.length)r._errors.push(t(n));else{let e=r,a=0;for(;ae.message)){const t={},r=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):r.push(e(a));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}H.create=e=>new H(e);const W=(e,t)=>{let r;switch(e.code){case G.invalid_type:r=e.received===j.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case G.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected)}`;break;case G.unrecognized_keys:r=`Unrecognized key(s) in object: ${N.joinValues(e.keys,", ")}`;break;case G.invalid_union:r="Invalid input";break;case G.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${N.joinValues(e.options)}`;break;case G.invalid_enum_value:r=`Invalid enum value. Expected ${N.joinValues(e.options)}, received '${e.received}'`;break;case G.invalid_arguments:r="Invalid function arguments";break;case G.invalid_return_type:r="Invalid function return type";break;case G.invalid_date:r="Invalid date";break;case G.invalid_string:r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case G.too_small:r="array"===e.type?`Array must contain ${e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be greater than ${e.inclusive?"or equal to ":""}${e.minimum}`:"Invalid input";break;case G.too_big:r="array"===e.type?`Array must contain ${e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be less than ${e.inclusive?"or equal to ":""}${e.maximum}`:"Invalid input";break;case G.custom:r="Invalid input";break;case G.invalid_intersection_types:r="Intersection results could not be merged";break;case G.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;default:r=t.defaultError,N.assertNever(e)}return{message:r}};let Z=W;const Y=e=>{const{data:t,path:r,errorMaps:a,issueData:n}=e,i=[...r,...n.path||[]],o=y(v({},n),{path:i});let l="";const s=a.filter((e=>!!e)).slice().reverse();for(const c of s)l=c(o,{data:t,defaultError:l}).message;return y(v({},n),{path:i,message:n.message||l})};function Q(e,t){const r=Y({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,Z,W].filter((e=>!!e))});e.common.issues.push(r)}class U{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const r=[];for(const a of t){if("aborted"===a.status)return q;"dirty"===a.status&&e.dirty(),r.push(a.value)}return{status:e.value,value:r}}static mergeObjectAsync(e,t){return k(this,null,(function*(){const r=[];for(const e of t)r.push({key:yield e.key,value:yield e.value});return U.mergeObjectSync(e,r)}))}static mergeObjectSync(e,t){const r={};for(const a of t){const{key:t,value:n}=a;if("aborted"===t.status||"aborted"===n.status)return q;"dirty"===t.status&&e.dirty(),"dirty"===n.status&&e.dirty(),(void 0!==n.value||a.alwaysSet)&&(r[t.value]=n.value)}return{status:e.value,value:r}}}const q=Object.freeze({status:"aborted"}),J=e=>({status:"valid",value:e}),X=e=>"aborted"===e.status,K=e=>"dirty"===e.status,ee=e=>"valid"===e.status,te=e=>void 0!==typeof Promise&&e instanceof Promise;var re;!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(re||(re={}));class ae{constructor(e,t,r,a){this.parent=e,this.data=t,this._path=r,this._key=a}get path(){return this._path.concat(this._key)}}const ne=(e,t)=>{if(ee(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,error:new H(e.common.issues)}};function ie(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:a,description:n}=e;if(t&&(r||a))throw new Error('Can\'t use "invalid" or "required" in conjunction with custom error map.');return t?{errorMap:t,description:n}:{errorMap:(t,r)=>"invalid_type"!==t.code?{message:r.defaultError}:void 0===r.data&&a?{message:a}:e.invalid_type_error?{message:e.invalid_type_error}:{message:r.defaultError},description:n}}class oe{constructor(e){this.spa=this.safeParseAsync,this.superRefine=this._refinement,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.default=this.default.bind(this),this.describe=this.describe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return V(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:V(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new U,ctx:{common:e.parent.common,data:e.data,parsedType:V(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(te(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const a={common:{issues:[],async:null!==(r=null==t?void 0:t.async)&&void 0!==r&&r,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:V(e)},n=this._parseSync({data:e,path:a.path,parent:a});return ne(a,n)}parseAsync(e,t){return k(this,null,(function*(){const r=yield this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}))}safeParseAsync(e,t){return k(this,null,(function*(){const r={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:V(e)},a=this._parse({data:e,path:[],parent:r}),n=yield te(a)?a:Promise.resolve(a);return ne(r,n)}))}refine(e,t){return this._refinement(((r,a)=>{const n=e(r),i=()=>a.addIssue(v({code:G.custom},(e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t)(r)));return"undefined"!=typeof Promise&&n instanceof Promise?n.then((e=>!!e||(i(),!1))):!!n||(i(),!1)}))}refinement(e,t){return this._refinement(((r,a)=>!!e(r)||(a.addIssue("function"==typeof t?t(r,a):t),!1)))}_refinement(e){return new je({schema:this,typeName:Qe.ZodEffects,effect:{type:"refinement",refinement:e}})}optional(){return Ve.create(this)}nullable(){return Ge.create(this)}nullish(){return this.optional().nullable()}array(){return ke.create(this)}promise(){return Ne.create(this)}or(e){return $e.create([this,e])}and(e){return Se.create(this,e)}transform(e){return new je({schema:this,typeName:Qe.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new He({innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:Qe.ZodDefault})}describe(e){return new(0,this.constructor)(y(v({},this._def),{description:e}))}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const le=/^c[^\s-]{8,}$/i,se=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,ce=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;class ue extends oe{constructor(){super(...arguments),this._regex=(e,t,r)=>this.refinement((t=>e.test(t)),v({validation:t,code:G.invalid_string},re.errToObj(r))),this.nonempty=e=>this.min(1,re.errToObj(e)),this.trim=()=>new ue(y(v({},this._def),{checks:[...this._def.checks,{kind:"trim"}]}))}_parse(e){if(this._getType(e)!==j.string){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.string,received:t.parsedType}),q}const t=new U;let r;for(const n of this._def.checks)if("min"===n.kind)e.data.lengthn.value&&(r=this._getOrReturnCtx(e,r),Q(r,{code:G.too_big,maximum:n.value,type:"string",inclusive:!0,message:n.message}),t.dirty());else if("email"===n.kind)ce.test(e.data)||(r=this._getOrReturnCtx(e,r),Q(r,{validation:"email",code:G.invalid_string,message:n.message}),t.dirty());else if("uuid"===n.kind)se.test(e.data)||(r=this._getOrReturnCtx(e,r),Q(r,{validation:"uuid",code:G.invalid_string,message:n.message}),t.dirty());else if("cuid"===n.kind)le.test(e.data)||(r=this._getOrReturnCtx(e,r),Q(r,{validation:"cuid",code:G.invalid_string,message:n.message}),t.dirty());else if("url"===n.kind)try{new URL(e.data)}catch(a){r=this._getOrReturnCtx(e,r),Q(r,{validation:"url",code:G.invalid_string,message:n.message}),t.dirty()}else"regex"===n.kind?(n.regex.lastIndex=0,n.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),Q(r,{validation:"regex",code:G.invalid_string,message:n.message}),t.dirty())):"trim"===n.kind?e.data=e.data.trim():N.assertNever(n);return{status:t.value,value:e.data}}_addCheck(e){return new ue(y(v({},this._def),{checks:[...this._def.checks,e]}))}email(e){return this._addCheck(v({kind:"email"},re.errToObj(e)))}url(e){return this._addCheck(v({kind:"url"},re.errToObj(e)))}uuid(e){return this._addCheck(v({kind:"uuid"},re.errToObj(e)))}cuid(e){return this._addCheck(v({kind:"cuid"},re.errToObj(e)))}regex(e,t){return this._addCheck(v({kind:"regex",regex:e},re.errToObj(t)))}min(e,t){return this._addCheck(v({kind:"min",value:e},re.errToObj(t)))}max(e,t){return this._addCheck(v({kind:"max",value:e},re.errToObj(t)))}length(e,t){return this.min(e,t).max(e,t)}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get minLength(){let e=-1/0;return this._def.checks.map((t=>{"min"===t.kind&&(null===e||t.value>e)&&(e=t.value)})),e}get maxLength(){let e=null;return this._def.checks.map((t=>{"max"===t.kind&&(null===e||t.valuea?r:a;return parseInt(e.toFixed(n).replace(".",""))%parseInt(t.toFixed(n).replace(".",""))/Math.pow(10,n)}ue.create=e=>new ue(v({checks:[],typeName:Qe.ZodString},ie(e)));class Ae extends oe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._getType(e)!==j.number){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.number,received:t.parsedType}),q}let t;const r=new U;for(const a of this._def.checks)"int"===a.kind?N.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),Q(t,{code:G.invalid_type,expected:"integer",received:"float",message:a.message}),r.dirty()):"min"===a.kind?(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),Q(t,{code:G.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,message:a.message}),r.dirty()):"multipleOf"===a.kind?0!==fe(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),Q(t,{code:G.not_multiple_of,multipleOf:a.value,message:a.message}),r.dirty()):N.assertNever(a);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,re.toString(t))}gt(e,t){return this.setLimit("min",e,!1,re.toString(t))}lte(e,t){return this.setLimit("max",e,!0,re.toString(t))}lt(e,t){return this.setLimit("max",e,!1,re.toString(t))}setLimit(e,t,r,a){return new Ae(y(v({},this._def),{checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:re.toString(a)}]}))}_addCheck(e){return new Ae(y(v({},this._def),{checks:[...this._def.checks,e]}))}int(e){return this._addCheck({kind:"int",message:re.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:re.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:re.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:re.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:re.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:re.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind))}}Ae.create=e=>new Ae(v({checks:[],typeName:Qe.ZodNumber},ie(e)));class de extends oe{_parse(e){if(this._getType(e)!==j.bigint){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.bigint,received:t.parsedType}),q}return J(e.data)}}de.create=e=>new de(v({typeName:Qe.ZodBigInt},ie(e)));class pe extends oe{_parse(e){if(this._getType(e)!==j.boolean){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.boolean,received:t.parsedType}),q}return J(e.data)}}pe.create=e=>new pe(v({typeName:Qe.ZodBoolean},ie(e)));class he extends oe{_parse(e){if(this._getType(e)!==j.date){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.date,received:t.parsedType}),q}return isNaN(e.data.getTime())?(Q(this._getOrReturnCtx(e),{code:G.invalid_date}),q):{status:"valid",value:new Date(e.data.getTime())}}}he.create=e=>new he(v({typeName:Qe.ZodDate},ie(e)));class be extends oe{_parse(e){if(this._getType(e)!==j.undefined){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.undefined,received:t.parsedType}),q}return J(e.data)}}be.create=e=>new be(v({typeName:Qe.ZodUndefined},ie(e)));class ge extends oe{_parse(e){if(this._getType(e)!==j.null){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.null,received:t.parsedType}),q}return J(e.data)}}ge.create=e=>new ge(v({typeName:Qe.ZodNull},ie(e)));class me extends oe{constructor(){super(...arguments),this._any=!0}_parse(e){return J(e.data)}}me.create=e=>new me(v({typeName:Qe.ZodAny},ie(e)));class ve extends oe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return J(e.data)}}ve.create=e=>new ve(v({typeName:Qe.ZodUnknown},ie(e)));class ye extends oe{_parse(e){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.never,received:t.parsedType}),q}}ye.create=e=>new ye(v({typeName:Qe.ZodNever},ie(e)));class we extends oe{_parse(e){if(this._getType(e)!==j.undefined){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.void,received:t.parsedType}),q}return J(e.data)}}we.create=e=>new we(v({typeName:Qe.ZodVoid},ie(e)));class ke extends oe{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),a=this._def;if(t.parsedType!==j.array)return Q(t,{code:G.invalid_type,expected:j.array,received:t.parsedType}),q;if(null!==a.minLength&&t.data.lengtha.maxLength.value&&(Q(t,{code:G.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,message:a.maxLength.message}),r.dirty()),t.common.async)return Promise.all(t.data.map(((e,r)=>a.type._parseAsync(new ae(t,e,t.path,r))))).then((e=>U.mergeArray(r,e)));const n=t.data.map(((e,r)=>a.type._parseSync(new ae(t,e,t.path,r))));return U.mergeArray(r,n)}get element(){return this._def.type}min(e,t){return new ke(y(v({},this._def),{minLength:{value:e,message:re.toString(t)}}))}max(e,t){return new ke(y(v({},this._def),{maxLength:{value:e,message:re.toString(t)}}))}length(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}var xe;ke.create=(e,t)=>new ke(v({type:e,minLength:null,maxLength:null,typeName:Qe.ZodArray},ie(t))),function(e){e.mergeShapes=(e,t)=>v(v({},e),t)}(xe||(xe={}));const Ee=e=>t=>new Ce(y(v({},e),{shape:()=>v(v({},e.shape()),t)}));function _e(e){if(e instanceof Ce){const t={};for(const r in e.shape){const a=e.shape[r];t[r]=Ve.create(_e(a))}return new Ce(y(v({},e._def),{shape:()=>t}))}return e instanceof ke?ke.create(_e(e.element)):e instanceof Ve?Ve.create(_e(e.unwrap())):e instanceof Ge?Ge.create(_e(e.unwrap())):e instanceof Ie?Ie.create(e.items.map((e=>_e(e)))):e}class Ce extends oe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=Ee(this._def),this.extend=Ee(this._def)}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=N.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==j.object){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.object,received:t.parsedType}),q}const{status:t,ctx:r}=this._processInputParams(e),{shape:a,keys:n}=this._getCached(),i=[];for(const l in r.data)n.includes(l)||i.push(l);const o=[];for(const l of n){const e=a[l],t=r.data[l];o.push({key:{status:"valid",value:l},value:e._parse(new ae(r,t,r.path,l)),alwaysSet:l in r.data})}if(this._def.catchall instanceof ye){const e=this._def.unknownKeys;if("passthrough"===e)for(const t of i)o.push({key:{status:"valid",value:t},value:{status:"valid",value:r.data[t]}});else if("strict"===e)i.length>0&&(Q(r,{code:G.unrecognized_keys,keys:i}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of i){const a=r.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new ae(r,a,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then((()=>k(this,null,(function*(){const e=[];for(const t of o){const r=yield t.key;e.push({key:r,value:yield t.value,alwaysSet:t.alwaysSet})}return e})))).then((e=>U.mergeObjectSync(t,e))):U.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return re.errToObj,new Ce(v(y(v({},this._def),{unknownKeys:"strict"}),void 0!==e?{errorMap:(t,r)=>{var a,n,i,o;const l=null!==(i=null===(n=(a=this._def).errorMap)||void 0===n?void 0:n.call(a,t,r).message)&&void 0!==i?i:r.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=re.errToObj(e).message)&&void 0!==o?o:l}:{message:l}}}:{}))}strip(){return new Ce(y(v({},this._def),{unknownKeys:"strip"}))}passthrough(){return new Ce(y(v({},this._def),{unknownKeys:"passthrough"}))}setKey(e,t){return this.augment({[e]:t})}merge(e){return new Ce({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>xe.mergeShapes(this._def.shape(),e._def.shape()),typeName:Qe.ZodObject})}catchall(e){return new Ce(y(v({},this._def),{catchall:e}))}pick(e){const t={};return N.objectKeys(e).map((e=>{this.shape[e]&&(t[e]=this.shape[e])})),new Ce(y(v({},this._def),{shape:()=>t}))}omit(e){const t={};return N.objectKeys(this.shape).map((r=>{-1===N.objectKeys(e).indexOf(r)&&(t[r]=this.shape[r])})),new Ce(y(v({},this._def),{shape:()=>t}))}deepPartial(){return _e(this)}partial(e){const t={};if(e)return N.objectKeys(this.shape).map((r=>{-1===N.objectKeys(e).indexOf(r)?t[r]=this.shape[r]:t[r]=this.shape[r].optional()})),new Ce(y(v({},this._def),{shape:()=>t}));for(const r in this.shape){const e=this.shape[r];t[r]=e.optional()}return new Ce(y(v({},this._def),{shape:()=>t}))}required(){const e={};for(const t in this.shape){let r=this.shape[t];for(;r instanceof Ve;)r=r._def.innerType;e[t]=r}return new Ce(y(v({},this._def),{shape:()=>e}))}}Ce.create=(e,t)=>new Ce(v({shape:()=>e,unknownKeys:"strip",catchall:ye.create(),typeName:Qe.ZodObject},ie(t))),Ce.strictCreate=(e,t)=>new Ce(v({shape:()=>e,unknownKeys:"strict",catchall:ye.create(),typeName:Qe.ZodObject},ie(t))),Ce.lazycreate=(e,t)=>new Ce(v({shape:e,unknownKeys:"strip",catchall:ye.create(),typeName:Qe.ZodObject},ie(t)));class $e extends oe{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map((e=>k(this,null,(function*(){const r=y(v({},t),{common:y(v({},t.common),{issues:[]}),parent:null});return{result:yield e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}}))))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const a of e)if("dirty"===a.result.status)return t.common.issues.push(...a.ctx.common.issues),a.result;const r=e.map((e=>new H(e.ctx.common.issues)));return Q(t,{code:G.invalid_union,unionErrors:r}),q}));{let e;const a=[];for(const i of r){const r=y(v({},t),{common:y(v({},t.common),{issues:[]}),parent:null}),n=i._parseSync({data:t.data,path:t.path,parent:r});if("valid"===n.status)return n;"dirty"===n.status&&!e&&(e={result:n,ctx:r}),r.common.issues.length&&a.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const n=a.map((e=>new H(e)));return Q(t,{code:G.invalid_union,unionErrors:n}),q}}get options(){return this._def.options}}$e.create=(e,t)=>new $e(v({options:e,typeName:Qe.ZodUnion},ie(t)));class Te extends oe{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==j.object)return Q(t,{code:G.invalid_type,expected:j.object,received:t.parsedType}),q;const r=this.discriminator,a=t.data[r],n=this.options.get(a);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(Q(t,{code:G.invalid_union_discriminator,options:this.validDiscriminatorValues,path:[r]}),q)}get discriminator(){return this._def.discriminator}get validDiscriminatorValues(){return Array.from(this.options.keys())}get options(){return this._def.options}static create(e,t,r){const a=new Map;try{t.forEach((t=>{const r=t.shape[e].value;a.set(r,t)}))}catch(i){throw new Error("The discriminator value could not be extracted from all the provided schemas")}if(a.size!==t.length)throw new Error("Some of the discriminator values are not unique");return new Te(v({typeName:Qe.ZodDiscriminatedUnion,discriminator:e,options:a},ie(r)))}}function Oe(e,t){const r=V(e),a=V(t);if(e===t)return{valid:!0,data:e};if(r===j.object&&a===j.object){const r=N.objectKeys(t),a=N.objectKeys(e).filter((e=>-1!==r.indexOf(e))),n=v(v({},e),t);for(const i of a){const r=Oe(e[i],t[i]);if(!r.valid)return{valid:!1};n[i]=r.data}return{valid:!0,data:n}}if(r===j.array&&a===j.array){if(e.length!==t.length)return{valid:!1};const r=[];for(let a=0;a{if(X(e)||X(a))return q;const n=Oe(e.value,a.value);return n.valid?((K(e)||K(a))&&t.dirty(),{status:t.value,value:n.data}):(Q(r,{code:G.invalid_intersection_types}),q)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then((([e,t])=>a(e,t))):a(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Se.create=(e,t,r)=>new Se(v({left:e,right:t,typeName:Qe.ZodIntersection},ie(r)));class Ie extends oe{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==j.array)return Q(r,{code:G.invalid_type,expected:j.array,received:r.parsedType}),q;if(r.data.lengththis._def.items.length&&(Q(r,{code:G.too_big,maximum:this._def.items.length,inclusive:!0,type:"array"}),t.dirty());const a=r.data.map(((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new ae(r,e,r.path,t)):null})).filter((e=>!!e));return r.common.async?Promise.all(a).then((e=>U.mergeArray(t,e))):U.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new Ie(y(v({},this._def),{rest:e}))}}Ie.create=(e,t)=>new Ie(v({items:e,typeName:Qe.ZodTuple,rest:null},ie(t)));class Me extends oe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==j.object)return Q(r,{code:G.invalid_type,expected:j.object,received:r.parsedType}),q;const a=[],n=this._def.keyType,i=this._def.valueType;for(const o in r.data)a.push({key:n._parse(new ae(r,o,r.path,o)),value:i._parse(new ae(r,r.data[o],r.path,o))});return r.common.async?U.mergeObjectAsync(t,a):U.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,r){return new Me(t instanceof oe?v({keyType:e,valueType:t,typeName:Qe.ZodRecord},ie(r)):v({keyType:ue.create(),valueType:e,typeName:Qe.ZodRecord},ie(t)))}}class Be extends oe{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==j.map)return Q(r,{code:G.invalid_type,expected:j.map,received:r.parsedType}),q;const a=this._def.keyType,n=this._def.valueType,i=[...r.data.entries()].map((([e,t],i)=>({key:a._parse(new ae(r,e,r.path,[i,"key"])),value:n._parse(new ae(r,t,r.path,[i,"value"]))})));if(r.common.async){const e=new Map;return Promise.resolve().then((()=>k(this,null,(function*(){for(const r of i){const a=yield r.key,n=yield r.value;if("aborted"===a.status||"aborted"===n.status)return q;("dirty"===a.status||"dirty"===n.status)&&t.dirty(),e.set(a.value,n.value)}return{status:t.value,value:e}}))))}{const e=new Map;for(const r of i){const a=r.key,n=r.value;if("aborted"===a.status||"aborted"===n.status)return q;("dirty"===a.status||"dirty"===n.status)&&t.dirty(),e.set(a.value,n.value)}return{status:t.value,value:e}}}}Be.create=(e,t,r)=>new Be(v({valueType:t,keyType:e,typeName:Qe.ZodMap},ie(r)));class Re extends oe{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==j.set)return Q(r,{code:G.invalid_type,expected:j.set,received:r.parsedType}),q;const a=this._def;null!==a.minSize&&r.data.sizea.maxSize.value&&(Q(r,{code:G.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,message:a.maxSize.message}),t.dirty());const n=this._def.valueType;function i(e){const r=new Set;for(const a of e){if("aborted"===a.status)return q;"dirty"===a.status&&t.dirty(),r.add(a.value)}return{status:t.value,value:r}}const o=[...r.data.values()].map(((e,t)=>n._parse(new ae(r,e,r.path,t))));return r.common.async?Promise.all(o).then((e=>i(e))):i(o)}min(e,t){return new Re(y(v({},this._def),{minSize:{value:e,message:re.toString(t)}}))}max(e,t){return new Re(y(v({},this._def),{maxSize:{value:e,message:re.toString(t)}}))}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Re.create=(e,t)=>new Re(v({valueType:e,minSize:null,maxSize:null,typeName:Qe.ZodSet},ie(t)));class Pe extends oe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==j.function)return Q(t,{code:G.invalid_type,expected:j.function,received:t.parsedType}),q;function r(e,r){return Y({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Z,W].filter((e=>!!e)),issueData:{code:G.invalid_arguments,argumentsError:r}})}function a(e,r){return Y({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Z,W].filter((e=>!!e)),issueData:{code:G.invalid_return_type,returnTypeError:r}})}const n={errorMap:t.common.contextualErrorMap},i=t.data;return this._def.returns instanceof Ne?J(((...e)=>k(this,null,(function*(){const t=new H([]),o=yield this._def.args.parseAsync(e,n).catch((a=>{throw t.addIssue(r(e,a)),t})),l=yield i(...o);return yield this._def.returns._def.type.parseAsync(l,n).catch((e=>{throw t.addIssue(a(l,e)),t}))})))):J(((...e)=>{const t=this._def.args.safeParse(e,n);if(!t.success)throw new H([r(e,t.error)]);const o=i(...t.data),l=this._def.returns.safeParse(o,n);if(!l.success)throw new H([a(o,l.error)]);return l.data}))}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Pe(y(v({},this._def),{args:Ie.create(e).rest(ve.create())}))}returns(e){return new Pe(y(v({},this._def),{returns:e}))}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}}Pe.create=(e,t,r)=>new Pe(v({args:e?e.rest(ve.create()):Ie.create([]).rest(ve.create()),returns:t||ve.create(),typeName:Qe.ZodFunction},ie(r)));class Le extends oe{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Le.create=(e,t)=>new Le(v({getter:e,typeName:Qe.ZodLazy},ie(t)));class De extends oe{_parse(e){return e.data!==this._def.value?(Q(this._getOrReturnCtx(e),{code:G.invalid_literal,expected:this._def.value}),q):{status:"valid",value:e.data}}get value(){return this._def.value}}De.create=(e,t)=>new De(v({value:e,typeName:Qe.ZodLiteral},ie(t)));class ze extends oe{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),r=this._def.values;return Q(t,{expected:N.joinValues(r),received:t.parsedType,code:G.invalid_type}),q}if(-1===this._def.values.indexOf(e.data)){const t=this._getOrReturnCtx(e),r=this._def.values;return Q(t,{received:t.data,code:G.invalid_enum_value,options:r}),q}return J(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}}ze.create=function(e,t){return new ze(v({values:e,typeName:Qe.ZodEnum},ie(t)))};class Fe extends oe{_parse(e){const t=N.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==j.string&&r.parsedType!==j.number){const e=N.objectValues(t);return Q(r,{expected:N.joinValues(e),received:r.parsedType,code:G.invalid_type}),q}if(-1===t.indexOf(e.data)){const e=N.objectValues(t);return Q(r,{received:r.data,code:G.invalid_enum_value,options:e}),q}return J(e.data)}get enum(){return this._def.values}}Fe.create=(e,t)=>new Fe(v({values:e,typeName:Qe.ZodNativeEnum},ie(t)));class Ne extends oe{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==j.promise&&!1===t.common.async)return Q(t,{code:G.invalid_type,expected:j.promise,received:t.parsedType}),q;const r=t.parsedType===j.promise?t.data:Promise.resolve(t.data);return J(r.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Ne.create=(e,t)=>new Ne(v({type:e,typeName:Qe.ZodPromise},ie(t)));class je extends oe{innerType(){return this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e),a=this._def.effect||null;if("preprocess"===a.type){const e=a.transform(r.data);return r.common.async?Promise.resolve(e).then((e=>this._def.schema._parseAsync({data:e,path:r.path,parent:r}))):this._def.schema._parseSync({data:e,path:r.path,parent:r})}const n={addIssue:e=>{Q(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(n.addIssue=n.addIssue.bind(n),"refinement"===a.type){const e=e=>{const t=a.refinement(e,n);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===r.common.async){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===a.status?q:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((r=>"aborted"===r.status?q:("dirty"===r.status&&t.dirty(),e(r.value).then((()=>({status:t.value,value:r.value}))))))}if("transform"===a.type){if(!1===r.common.async){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ee(e))return e;const i=a.transform(e.value,n);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:i}}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>ee(e)?Promise.resolve(a.transform(e.value,n)).then((e=>({status:t.value,value:e}))):e))}N.assertNever(a)}}je.create=(e,t,r)=>new je(v({schema:e,typeName:Qe.ZodEffects,effect:t},ie(r))),je.createWithPreprocess=(e,t,r)=>new je(v({schema:t,effect:{type:"preprocess",transform:e},typeName:Qe.ZodEffects},ie(r)));class Ve extends oe{_parse(e){return this._getType(e)===j.undefined?J(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ve.create=(e,t)=>new Ve(v({innerType:e,typeName:Qe.ZodOptional},ie(t)));class Ge extends oe{_parse(e){return this._getType(e)===j.null?J(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ge.create=(e,t)=>new Ge(v({innerType:e,typeName:Qe.ZodNullable},ie(t)));class He extends oe{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;return t.parsedType===j.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}He.create=(e,t)=>new Ve(v({innerType:e,typeName:Qe.ZodOptional},ie(t)));class We extends oe{_parse(e){if(this._getType(e)!==j.nan){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.nan,received:t.parsedType}),q}return{status:"valid",value:e.data}}}We.create=e=>new We(v({typeName:Qe.ZodNaN},ie(e)));const Ze=(e,t={},r)=>e?me.create().superRefine(((a,n)=>{if(!e(a)){const e="function"==typeof t?t(a):t,i="string"==typeof e?{message:e}:e;n.addIssue(y(v({code:"custom"},i),{fatal:r}))}})):me.create(),Ye={object:Ce.lazycreate};var Qe;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodPromise="ZodPromise"}(Qe||(Qe={}));const Ue=ue.create,qe=Ae.create,Je=We.create,Xe=de.create,Ke=pe.create,et=he.create,tt=be.create,rt=ge.create,at=me.create,nt=ve.create,it=ye.create,ot=we.create,lt=ke.create,st=Ce.create,ct=Ce.strictCreate,ut=$e.create,ft=Te.create,At=Se.create,dt=Ie.create,pt=Me.create,ht=Be.create,bt=Re.create,gt=Pe.create,mt=Le.create,vt=De.create,yt=ze.create,wt=Fe.create,kt=Ne.create,xt=je.create,Et=Ve.create,_t=Ge.create,Ct=je.createWithPreprocess;var $t=Object.freeze({__proto__:null,getParsedType:V,ZodParsedType:j,makeIssue:Y,EMPTY_PATH:[],addIssueToContext:Q,ParseStatus:U,INVALID:q,DIRTY:e=>({status:"dirty",value:e}),OK:J,isAborted:X,isDirty:K,isValid:ee,isAsync:te,ZodType:oe,ZodString:ue,ZodNumber:Ae,ZodBigInt:de,ZodBoolean:pe,ZodDate:he,ZodUndefined:be,ZodNull:ge,ZodAny:me,ZodUnknown:ve,ZodNever:ye,ZodVoid:we,ZodArray:ke,get objectUtil(){return xe},ZodObject:Ce,ZodUnion:$e,ZodDiscriminatedUnion:Te,ZodIntersection:Se,ZodTuple:Ie,ZodRecord:Me,ZodMap:Be,ZodSet:Re,ZodFunction:Pe,ZodLazy:Le,ZodLiteral:De,ZodEnum:ze,ZodNativeEnum:Fe,ZodPromise:Ne,ZodEffects:je,ZodTransformer:je,ZodOptional:Ve,ZodNullable:Ge,ZodDefault:He,ZodNaN:We,custom:Ze,Schema:oe,ZodSchema:oe,late:Ye,get ZodFirstPartyTypeKind(){return Qe},any:at,array:lt,bigint:Xe,boolean:Ke,date:et,discriminatedUnion:ft,effect:xt,enum:yt,function:gt,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Ze((t=>t instanceof e),t,!0),intersection:At,lazy:mt,literal:vt,map:ht,nan:Je,nativeEnum:wt,never:it,null:rt,nullable:_t,number:qe,object:st,oboolean:()=>Ke().optional(),onumber:()=>qe().optional(),optional:Et,ostring:()=>Ue().optional(),preprocess:Ct,promise:kt,record:pt,set:bt,strictObject:ct,string:Ue,transformer:xt,tuple:dt,undefined:tt,union:ut,unknown:nt,void:ot,ZodIssueCode:G,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:H,defaultErrorMap:W,get overrideErrorMap(){return Z},setErrorMap:e=>{Z=e}});const Tt=["dotnetspy","ebpfspy","gospy","phpspy","pyspy","rbspy","nodespy","javaspy","pyroscope-rs","scrape","tracing","unknown"],Ot=$t.preprocess((e=>e&&Tt.includes(e)?e:"unknown"),$t.enum(Tt).default("unknown")),St=$t.object({names:$t.array($t.preprocess((e=>e||"unknown"),$t.string().min(1))),levels:$t.array($t.array($t.number())),numTicks:$t.number(),maxSelf:$t.number()}),It=["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples"],Mt=$t.preprocess((e=>"string"==typeof e&&It.includes(e)?e:""),$t.enum(["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples",""])),Bt=$t.object({appName:$t.string().optional(),name:$t.string().optional(),startTime:$t.number().optional(),endTime:$t.number().optional(),query:$t.string().optional(),maxNodes:$t.number().optional(),format:$t.enum(["single","double"]),sampleRate:$t.number(),spyName:Ot,units:Mt});$t.object({version:$t.number().min(1).max(1).default(1),flamebearer:St,metadata:Bt,leftTicks:$t.number().optional(),rightTicks:$t.number().optional()});const Rt={format:"single",jStep:4,jName:3,getBarOffset:(e,t)=>e[t],getBarTotal:(e,t)=>e[t+1],getBarTotalDiff:(e,t)=>0,getBarSelf:(e,t)=>e[t+2],getBarSelfDiff:(e,t)=>0,getBarName:(e,t)=>e[t+3]},Pt={format:"double",jStep:7,jName:6,getBarOffset:(e,t)=>e[t]+e[t+3],getBarTotal:(e,t)=>e[t+4]+e[t+1],getBarTotalLeft:(e,t)=>e[t+1],getBarTotalRght:(e,t)=>e[t+4],getBarTotalDiff:(e,t)=>e[t+4]-e[t+1],getBarSelf:(e,t)=>e[t+5]+e[t+2],getBarSelfLeft:(e,t)=>e[t+2],getBarSelfRght:(e,t)=>e[t+5],getBarSelfDiff:(e,t)=>e[t+5]-e[t+2],getBarName:(e,t)=>e[t+6]};function Lt(e){switch(e){case"single":return Rt;case"double":return Pt;default:throw new Error(`Unsupported type: '${e}'`)}}const Dt=$t.object({refType:$t.string(),traceID:$t.string(),spanID:$t.string()}),zt=$t.object({key:$t.string(),type:$t.string(),value:$t.union([$t.boolean(),$t.number(),$t.string()])}),Ft=$t.object({traceID:$t.string(),spanID:$t.string(),flags:$t.string(),operationName:$t.string(),references:$t.array(Dt),startTime:$t.number(),duration:$t.number(),tags:$t.array(zt),logs:$t.object({timestamp:$t.number(),fields:$t.array(zt)}),processID:$t.string(),warnings:$t.any()}),Nt=$t.object({serviceName:$t.string(),tags:$t.array(zt)});$t.object({traceID:$t.string(),spans:$t.array(Ft),processes:$t.record(Nt),warnings:$t.any()});const jt=$t.object({watermark:$t.object({}).optional(),startTime:$t.number(),samples:$t.array($t.number()),durationDelta:$t.number()});$t.record($t.string(),jt);const Vt=22,Gt=5,Ht=Vt-.5;function Wt(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}function Zt(e){return`${Yt(e)}%`}function Yt(e){return Math.round(1e4*e)/100}function Qt(e,t,r){switch(r){case"samples":return new Ut(e/t);case"objects":case"goroutines":case"lock_samples":return new Jt(e);case"bytes":return new Xt(e);case"lock_nanoseconds":return new qt(e);case"trace_samples":return new Ut(e/t,"",!0);default:return console.warn(`Unsupported unit: '${r}'. Defaulting to ''`),new Ut(e/t," ")}}class Ut{constructor(e,t,r){this.divider=1,this.enableSubsecondPrecision=!1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],this.units="",r&&(this.enableSubsecondPrecision=r,this.durations=[[1e3,"ms"],[1e3,"second"],...this.durations],this.suffix="μs",e*=1e6),this.units=t||"";for(let a=0;a=t[0]))break;this.divider*=t[0],e/=t[0],this.suffix=t[1]}}format(e,t){this.enableSubsecondPrecision&&(t/=1e6);const r=e/t/this.divider;let a=r.toFixed(2);return 0===r?a="0.00":(r>=0&&r<.01||r<=0&&r>-.01)&&(a="< 0.01"),`${a} ${this.units||`${this.suffix}${1===r||2===this.suffix.length?"":"s"}`}`}}class qt{constructor(e){this.divider=1,this.multiplier=1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],e/=1e9;for(let t=0;t=r[0]))break;this.divider*=r[0],e/=r[0],this.suffix=r[1]}}format(e){const t=e/1e9/this.divider;let r=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(r="< 0.01"),`${r} ${this.suffix}${1===t?"":"s"}`}}class Jt{constructor(e){this.divider=1,this.suffix="",this.objects=[[1e3,"K"],[1e3,"M"],[1e3,"G"],[1e3,"T"],[1e3,"P"]];for(let t=0;t=r[0]))break;this.divider*=r[0],e/=r[0],this.suffix=r[1]}}format(e){const t=e/this.divider;let r=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(r="< 0.01"),`${r} ${this.suffix}`}}class Xt{constructor(e){this.divider=1,this.suffix="bytes",this.bytes=[[1024,"KB"],[1024,"MB"],[1024,"GB"],[1024,"TB"],[1024,"PB"]];for(let t=0;t=r[0]))break;{this.divider*=r[0],e/=r[0];const t=r[1];t?this.suffix=t:(console.warn("Could not calculate suffix"),this.suffix="")}}}format(e){const t=e/this.divider;let r=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(r="< 0.01"),`${r} ${this.suffix}`}}const Kt="TAIL",er="HEAD",tr=3;function rr({mode:e,charSize:t,rectWidth:r,fullText:a,shortText:n}){if(e===Kt){if(t*a.length<=r)return{mode:e,text:a,marginLeft:tr};const i=t*n.length;return i<=r?{mode:e,text:n,marginLeft:tr}:{mode:e,text:n,marginLeft:-(i-r+tr)}}return{mode:e,text:a,marginLeft:tr}}function ar(e){return e===Kt?{direction:"rtl",overflow:"hidden",textOverflow:"ellipsis"}:{overflow:"hidden",textOverflow:"ellipsis"}}var nr=l(346),ir=l.n(nr),or=Math.sqrt(50),lr=Math.sqrt(10),sr=Math.sqrt(2);function cr(e,t,r){var a=(t-e)/Math.max(0,r),n=Math.floor(Math.log(a)/Math.LN10),i=a/Math.pow(10,n);return n>=0?(i>=or?10:i>=lr?5:i>=sr?2:1)*Math.pow(10,n):-Math.pow(10,-n)/(i>=or?10:i>=lr?5:i>=sr?2:1)}function ur(e,t){return null==e||null==t?NaN:et?1:e>=t?0:NaN}function fr(e){let t=e,r=e,a=e;function n(e,t,n=0,i=e.length){if(n>>1;a(e[r],t)<0?n=r+1:i=r}while(ne(t)-r,r=ur,a=(t,r)=>ur(e(t),r)),{left:n,center:function(e,r,a=0,i=e.length){const o=n(e,r,a,i-1);return o>a&&t(e[o-1],r)>-t(e[o],r)?o-1:o},right:function(e,t,n=0,i=e.length){if(n>>1;a(e[r],t)<=0?n=r+1:i=r}while(n>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?Rr(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?Rr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=xr.exec(e))?new Lr(t[1],t[2],t[3],1):(t=Er.exec(e))?new Lr(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=_r.exec(e))?Rr(t[1],t[2],t[3],t[4]):(t=Cr.exec(e))?Rr(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=$r.exec(e))?Nr(t[1],t[2]/100,t[3]/100,1):(t=Tr.exec(e))?Nr(t[1],t[2]/100,t[3]/100,t[4]):Or.hasOwnProperty(e)?Br(Or[e]):"transparent"===e?new Lr(NaN,NaN,NaN,0):null}function Br(e){return new Lr(e>>16&255,e>>8&255,255&e,1)}function Rr(e,t,r,a){return a<=0&&(e=t=r=NaN),new Lr(e,t,r,a)}function Pr(e,t,r,a){return 1===arguments.length?function(e){return e instanceof br||(e=Mr(e)),e?new Lr((e=e.rgb()).r,e.g,e.b,e.opacity):new Lr}(e):new Lr(e,t,r,null==a?1:a)}function Lr(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function Dr(){return"#"+Fr(this.r)+Fr(this.g)+Fr(this.b)}function zr(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function Fr(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function Nr(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Vr(e,t,r,a)}function jr(e){if(e instanceof Vr)return new Vr(e.h,e.s,e.l,e.opacity);if(e instanceof br||(e=Mr(e)),!e)return new Vr;if(e instanceof Vr)return e;var t=(e=e.rgb()).r/255,r=e.g/255,a=e.b/255,n=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-n,s=(i+n)/2;return l?(o=t===i?(r-a)/l+6*(r0&&s<1?0:o,new Vr(o,l,s,e.opacity)}function Vr(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function Gr(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}pr(br,Mr,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:Sr,formatHex:Sr,formatHsl:function(){return jr(this).formatHsl()},formatRgb:Ir,toString:Ir}),pr(Lr,Pr,hr(br,{brighter:function(e){return e=null==e?mr:Math.pow(mr,e),new Lr(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?gr:Math.pow(gr,e),new Lr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Dr,formatHex:Dr,formatRgb:zr,toString:zr})),pr(Vr,(function(e,t,r,a){return 1===arguments.length?jr(e):new Vr(e,t,r,null==a?1:a)}),hr(br,{brighter:function(e){return e=null==e?mr:Math.pow(mr,e),new Vr(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?gr:Math.pow(gr,e),new Vr(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,n=2*r-a;return new Lr(Gr(e>=240?e-240:e+120,n,a),Gr(e,n,a),Gr(e<120?e+240:e-120,n,a),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));const Hr=e=>()=>e;function Wr(e){return 1==(e=+e)?Zr:function(t,r){return r-t?function(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}(t,r,e):Hr(isNaN(t)?r:t)}}function Zr(e,t){var r=t-e;return r?function(e,t){return function(r){return e+r*t}}(e,r):Hr(isNaN(e)?t:e)}const Yr=function e(t){var r=Wr(t);function a(e,t){var a=r((e=Pr(e)).r,(t=Pr(t)).r),n=r(e.g,t.g),i=r(e.b,t.b),o=Zr(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=n(t),e.b=i(t),e.opacity=o(t),e+""}}return a.gamma=e,a}(1);function Qr(e,t){var r,a=t?t.length:0,n=e?Math.min(a,e.length):0,i=new Array(n),o=new Array(a);for(r=0;ri&&(n=t.slice(i,n),l[o]?l[o]+=n:l[++o]=n),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:qr(r,a)})),i=Kr.lastIndex;return it&&(r=e,e=t,t=r),function(r){return Math.max(e,Math.min(t,r))}}(o[0],o[e-1])),a=e>2?ca:sa,n=i=null,f}function f(t){return null==t||isNaN(t=+t)?r:(n||(n=a(o.map(e),l,s)))(e(c(t)))}return f.invert=function(r){return c(t((i||(i=a(l,o.map(e),qr)))(r)))},f.domain=function(e){return arguments.length?(o=Array.from(e,na),u()):o.slice()},f.range=function(e){return arguments.length?(l=Array.from(e),u()):l.slice()},f.rangeRound=function(e){return l=Array.from(e),s=aa,u()},f.clamp=function(e){return arguments.length?(c=!!e||oa,u()):c!==oa},f.interpolate=function(e){return arguments.length?(s=e,u()):s},f.unknown=function(e){return arguments.length?(r=e,f):r},function(r,a){return e=r,t=a,u()}}function fa(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var Aa,da=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function pa(e){if(!(t=da.exec(e)))throw new Error("invalid format: "+e);var t;return new ha({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function ha(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function ba(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,a=e.slice(0,r);return[a.length>1?a[0]+a.slice(2):a,+e.slice(r+1)]}function ga(e){return(e=ba(Math.abs(e)))?e[1]:NaN}function ma(e,t){var r=ba(e,t);if(!r)return e+"";var a=r[0],n=r[1];return n<0?"0."+new Array(-n).join("0")+a:a.length>n+1?a.slice(0,n+1)+"."+a.slice(n+1):a+new Array(n-a.length+2).join("0")}pa.prototype=ha.prototype,ha.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const va={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ma(100*e,t),r:ma,s:function(e,t){var r=ba(e,t);if(!r)return e+"";var a=r[0],n=r[1],i=n-(Aa=3*Math.max(-8,Math.min(8,Math.floor(n/3))))+1,o=a.length;return i===o?a:i>o?a+new Array(i-o+1).join("0"):i>0?a.slice(0,i)+"."+a.slice(i):"0."+new Array(1-i).join("0")+ba(e,Math.max(0,t+i-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function ya(e){return e}var wa,ka,xa,Ea=Array.prototype.map,_a=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Ca(e){var t=void 0===e.grouping||void 0===e.thousands?ya:function(e,t){return function(r,a){for(var n=r.length,i=[],o=0,l=e[0],s=0;n>0&&l>0&&(s+l+1>a&&(l=Math.max(1,a-s)),i.push(r.substring(n-=l,n+l)),!((s+=l+1)>a));)l=e[o=(o+1)%e.length];return i.reverse().join(t)}}(Ea.call(e.grouping,Number),e.thousands+""),r=void 0===e.currency?"":e.currency[0]+"",a=void 0===e.currency?"":e.currency[1]+"",n=void 0===e.decimal?".":e.decimal+"",i=void 0===e.numerals?ya:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(Ea.call(e.numerals,String)),o=void 0===e.percent?"%":e.percent+"",l=void 0===e.minus?"−":e.minus+"",s=void 0===e.nan?"NaN":e.nan+"";function c(e){var c=(e=pa(e)).fill,u=e.align,f=e.sign,A=e.symbol,d=e.zero,p=e.width,h=e.comma,b=e.precision,g=e.trim,m=e.type;"n"===m?(h=!0,m="g"):va[m]||(void 0===b&&(b=12),g=!0,m="g"),(d||"0"===c&&"="===u)&&(d=!0,c="0",u="=");var v="$"===A?r:"#"===A&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",y="$"===A?a:/[%p]/.test(m)?o:"",w=va[m],k=/[defgprs%]/.test(m);function x(e){var r,a,o,A=v,x=y;if("c"===m)x=w(e)+x,e="";else{var E=(e=+e)<0||1/e<0;if(e=isNaN(e)?s:w(Math.abs(e),b),g&&(e=function(e){e:for(var t,r=e.length,a=1,n=-1;a0&&(n=0)}return n>0?e.slice(0,n)+e.slice(t+1):e}(e)),E&&0==+e&&"+"!==f&&(E=!1),A=(E?"("===f?f:l:"-"===f||"("===f?"":f)+A,x=("s"===m?_a[8+Aa/3]:"")+x+(E&&"("===f?")":""),k)for(r=-1,a=e.length;++r(o=e.charCodeAt(r))||o>57){x=(46===o?n+e.slice(r+1):e.slice(r))+x,e=e.slice(0,r);break}}h&&!d&&(e=t(e,1/0));var _=A.length+e.length+x.length,C=_>1)+A+e+x+C.slice(_);break;default:e=C+A+e+x}return i(e)}return b=void 0===b?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),x.toString=function(){return e+""},x}return{format:c,formatPrefix:function(e,t){var r=c(((e=pa(e)).type="f",e)),a=3*Math.max(-8,Math.min(8,Math.floor(ga(t)/3))),n=Math.pow(10,-a),i=_a[8+a/3];return function(e){return r(n*e)+i}}}}function $a(e,t,r,a){var n,i=function(e,t,r){var a=Math.abs(t-e)/Math.max(0,r),n=Math.pow(10,Math.floor(Math.log(a)/Math.LN10)),i=a/n;return i>=or?n*=10:i>=lr?n*=5:i>=sr&&(n*=2),t0)return[e];if((a=t0){let r=Math.round(e/o),a=Math.round(t/o);for(r*ot&&--a,i=new Array(n=a-r+1);++lt&&--a,i=new Array(n=a-r+1);++l0;){if((n=cr(s,c,r))===a)return i[o]=s,i[l]=c,t(i);if(n>0)s=Math.floor(s/n)*n,c=Math.ceil(c/n)*n;else{if(!(n<0))break;s=Math.ceil(s*n)/n,c=Math.floor(c*n)/n}a=n}return e},e}function Oa(){var e=ua()(oa,oa);return e.copy=function(){return function(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}(e,Oa())},fa.apply(e,arguments),Ta(e)}!function(e){wa=Ca(e),ka=wa.format,xa=wa.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});const Sa=ir().rgb(148,142,142);function Ia(e,t){return ir().rgb(e,e,e).alpha(t)}function Ma(e,t){if(0===t.length)return t;const r=function(e){switch(e){case"dotnetspy":return/^(?.+)\.(.+)\.(.+)\(.*\)$/;case"ebpfspy":case"unknown":return/^(?.+)$/;case"gospy":case"scrape":return/^(?.*?\/.*?\.|.*?\.|.+)(?.*)$/;case"phpspy":return/^(?(.*\/)*)(?.*\.php+)(?.*)$/;case"pyspy":return/^(?(.*\/)*)(?.*\.py+)(?.*)$/;case"rbspy":return/^(?(.*\/)*)(?.*\.rb+)(?.*)$/;case"nodespy":return/^(\.\/node_modules\/)?(?[^/]*)(?.*\.?(jsx?|tsx?)?):(?.*):(?.*)$/;case"tracing":return/^(?.+?):.*$/;case"javaspy":return/^(?.+\/)(?.+\.)(?.+)$/;case"pyroscope-rs":return/^(?[^::]+)/}return/^(?.+)$/}(e),a=t.match(r);return a&&a.groups?a.groups.packageName||"":t}function Ba(e,t){const r=function(e,t=0){let r,a,n,i,o,l,s,c;for(r=3&e.length,a=e.length-r,n=t,o=3432918353,l=461845907,c=0;c>>16)*o&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(65535&s)*l+(((s>>>16)*l&65535)<<16)&4294967295,n^=s,n=n<<13|n>>>19,i=5*(65535&n)+((5*(n>>>16)&65535)<<16)&4294967295,n=27492+(65535&i)+((58964+(i>>>16)&65535)<<16);switch(s=0,r){case 3:s^=(255&e.charCodeAt(c+2))<<16;case 2:s^=(255&e.charCodeAt(c+1))<<8;case 1:s^=255&e.charCodeAt(c);default:s=(65535&s)*o+(((s>>>16)*o&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(65535&s)*l+(((s>>>16)*l&65535)<<16)&4294967295,n^=s}return n^=e.length,n^=n>>>16,n=2246822507*(65535&n)+((2246822507*(n>>>16)&65535)<<16)&4294967295,n^=n>>>13,n=3266489909*(65535&n)+((3266489909*(n>>>16)&65535)<<16)&4294967295,n^=n>>>16,n>>>0}(t,0)%e.colors.length;return e.colors[r]||(console.warn("Could not calculate color. Defaulting to the first one"),e.colors[0])}function Ra(e){const{goodColor:t,neutralColor:r,badColor:a}=e,n=Oa().domain([-100,0,100]).range([t.rgb().toString(),r.rgb().toString(),a.rgb().toString()]);return e=>ir()(n(e).toString())}function Pa(e,t){return t.toLowerCase().includes(e.toLowerCase())}ir().rgb(200,0,0),ir().rgb(0,170,0),ir()("#48CE73");var La=Object.defineProperty,Da=Object.defineProperties,za=Object.getOwnPropertyDescriptors,Fa=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,ja=Object.prototype.propertyIsEnumerable,Va=(e,t,r)=>t in e?La(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ga=(e,t)=>{for(var r in t||(t={}))Na.call(t,r)&&Va(e,r,t[r]);if(Fa)for(var r of Fa(t))ja.call(t,r)&&Va(e,r,t[r]);return e},Ha=(e,t)=>Da(e,za(t));function Wa(e){const{canvas:t,fitMode:r,units:a,tickToX:n,levels:i,palette:o}=e,{numTicks:l,sampleRate:s,pxPerTick:c}=e,{rangeMin:u,rangeMax:f}=e,{focusedNode:A,zoom:d}=e,p=function(e){return e.clientWidth||e.width}(t);if(t.width=p,u>=f)throw new Error("'rangeMin' should be strictly smaller than 'rangeMax'");const{format:h}=e,b=Lt(h),g=t.getContext("2d");if(!g)throw new Error("Could not get ctx");const m=d.mapOrElse((()=>0),(e=>e.i)),v=Qt(l,s,a),y=A.isJust,w=A.mapOrElse((()=>0),(e=>e.i)),k=Vt*(i.length-w)+(y?Ht:0);t.height=k,devicePixelRatio>1&&(t.width*=2,t.height*=2,g.scale(2,2));const{names:x}=e;if(y){const e=l*c;g.beginPath(),g.rect(0,0,l*c,Ht),g.fillStyle=Ia(200,1).rgb().string(),g.fill();const t=A.mapOrElse((()=>"total"),(e=>`total (${e.i-1} level(s) collapsed)`));g.textBaseline="middle",g.font="400 11.5px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace";const a=rr({mode:r,charSize:g.measureText("a").width,rectWidth:e,fullText:t,shortText:t}),n=0,i=0,o=Ht;g.save(),g.clip(),g.fillStyle="black";const s=Math.round(Math.max(n,0));g.fillText(a.text,s+a.marginLeft,i+o/2+1),g.restore()}for(let E=0;E0,w=Ja(a+b.jName,t,x,e.highlightQuery);let k=b.getBarTotal(t,a);const _=k*c<=Gt;if(_)for(;a{const r={level:t,j:a,i:E+A.mapOrElse((()=>0),(e=>e.i)),names:x,collapsed:_,selectedLevel:m,highlightModeOn:p,isHighlighted:w,spyName:$,palette:o};switch(h){case"single":return Ua(Ga({},r));case"double":return qa(Ha(Ga({},r),{leftTicks:e.leftTicks,rightTicks:e.rightTicks}));default:throw new Error(`Unsupported format: ${h}`)}})();if(g.beginPath(),g.rect(u,f,C,d),g.fillStyle=T.string(),g.fill(),_||C<20)continue;const O=Za(x,a,h,t),S=Ya(O,k,l,s,v);g.textBaseline="middle",g.font="400 11.5px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace";const I=rr({mode:r,charSize:g.measureText("a").width,rectWidth:C,fullText:S,shortText:O});g.save(),g.clip(),g.fillStyle="black";const M=Math.round(Math.max(u,0));g.fillText(I.text,M+I.marginLeft,f+d/2+1),g.restore()}}}function Za(e,t,r,a){let n=a[t+Lt(r).jName];return void 0===n&&(n=-1),e[n]||(console.warn("Could not find function name for",{j:t,format:r,level:a,names:e}),"")}function Ya(e,t,r,a,n){return`${e} (${Zt(t/r)}, ${n.format(t,a)})`}function Qa({collapsed:e,highlightModeOn:t,isHighlighted:r}){return e||t&&!r?Ia(200,.66):null}function Ua(e){const t=Qa(e);if(t)return t;const r=Lt("single"),a=e.selectedLevel>e.i?.33:1;let n=e.level[e.j+r.jName];void 0===n&&(console.warn("Could nto find level",{l:e.j,jName:r.jName,level:e.level}),n=-1);const i=e.names[n]||"",o=Ma(e.spyName,i)||"";return Ba(e.palette,o).alpha(a)}function qa(e){const t=Qa(e);if(t)return t;const r=e.selectedLevel>e.i?.33:1,{leftRatio:a,rightRatio:n}=function(e,t,r,a){const n=Pt;return r&&a?{leftRatio:n.getBarTotalLeft(e,t)/r,rightRatio:n.getBarTotalRght(e,t)/a}:(console.error("Properties 'rightTicks' and 'leftTicks' are required. Can't calculate ratio."),{leftRatio:0,rightRatio:0})}(e.level,e.j,e.leftTicks,e.rightTicks),i=Yt(a),o=Yt(n);return function(e,t,r){const a=function(e,t){if(e===t)return 0;if(0===e)return 100;const r=(t-e)/e*100;return r>100?100:r<-100?-100:r}(t,r);return Ra(e)(a)}(e.palette,i,o).alpha(r)}function Ja(e,t,r,a){const n=t[e];if(!n)return!1;const i=r[n];return!!i&&Pa(a,i)}var Xa=Object.defineProperty,Ka=Object.defineProperties,en=Object.getOwnPropertyDescriptors,tn=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,an=Object.prototype.propertyIsEnumerable,nn=(e,t,r)=>t in e?Xa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t)=>{for(var r in t||(t={}))rn.call(t,r)&&nn(e,r,t[r]);if(tn)for(var r of tn(t))an.call(t,r)&&nn(e,r,t[r]);return e},ln=(e,t)=>Ka(e,en(t));class sn{constructor(e,t,r,a,n,i,o){if(this.flamebearer=e,this.canvas=t,this.focusedNode=r,this.fitMode=a,this.highlightQuery=n,this.zoom=i,this.palette=o,this.tickToX=e=>{const{rangeMin:t}=this.getRange();return(e-this.flamebearer.numTicks*t)*this.pxPerTick()},this.xyToBarPosition=e=>{const{ff:t}=this,{i:r,j:a}=this.xyToBarIndex(e.x,e.y),n=this.focusedNode.mapOrElse((()=>0),(e=>e.i<0?0:e.i-1)),i=this.flamebearer.levels[r];if(!i)throw new Error(`Could not find level: '${r}'`);const o=Math.max(this.tickToX(t.getBarOffset(i,a)),0);return{x:o,y:Math.max((r-n)*Vt,0),width:Math.min(this.tickToX(t.getBarOffset(i,a)+t.getBarTotal(i,a))-o,this.getCanvasWidth())}},this.xyToBarData=e=>{const{i:t,j:r}=this.xyToBarIndex(e.x,e.y),a=this.flamebearer.levels[t];if(!a)throw new Error(`Could not find level: '${t}'`);switch(this.flamebearer.format){case"single":{const e=Rt;return{format:"single",name:this.flamebearer.names[e.getBarName(a,r)],self:e.getBarSelf(a,r),offset:e.getBarOffset(a,r),total:e.getBarTotal(a,r)}}case"double":{const e=Pt;return{format:"double",barTotal:e.getBarTotal(a,r),totalLeft:e.getBarTotalLeft(a,r),totalRight:e.getBarTotalRght(a,r),totalDiff:e.getBarTotalDiff(a,r),name:this.flamebearer.names[e.getBarName(a,r)]}}default:throw new Error("Unsupported type")}},this.isWithinBounds=(e,t)=>{if(e<0||e>this.getCanvasWidth())return!1;try{const{i:r,j:a}=this.xyToBarIndex(e,t);if(-1===a||-1===r)return!1}catch(g){return!1}return!0},this.zoom=i,this.focusedNode=r,this.flamebearer=e,this.canvas=t,this.highlightQuery=n,this.ff=Lt(e.format),this.palette=o,r.isJust&&i.isJust&&i.value.i{const r=this.flamebearer.levels[t.i];if(!r)throw new Error(`Could not find level: '${t.i}'`);return{rangeMin:e.getBarOffset(r,t.j)/this.flamebearer.numTicks,rangeMax:(e.getBarOffset(r,t.j)+e.getBarTotal(r,t.j))/this.flamebearer.numTicks}},r=t=>{const r=this.flamebearer.levels[t.i];if(!r)throw new Error(`Could not find level: '${t.i}'`);return{rangeMin:e.getBarOffset(r,t.j)/this.flamebearer.numTicks,rangeMax:(e.getBarOffset(r,t.j)+e.getBarTotal(r,t.j))/this.flamebearer.numTicks}},{zoom:a,focusedNode:n}=this;return a.match({Just:e=>n.match({Just:a=>{const n=r(a),i=t(e);return n.rangeMax-n.rangeMint(e)}),Nothing:()=>n.match({Just:e=>r(e),Nothing:()=>({rangeMin:0,rangeMax:1})})})}getCanvasWidth(){return this.canvas.clientWidth||this.canvas.width}isFocused(){return this.focusedNode.isJust}binarySearchLevel(e,t){const{ff:r}=this;let a=0,n=t.length-r.jStep;for(;a<=n;){const i=r.jStep*(a/r.jStep+n/r.jStep>>1),o=this.tickToX(r.getBarOffset(t,i)),l=this.tickToX(r.getBarOffset(t,i)+r.getBarTotal(t,i));if(o<=e&&l>=e)return l-o>Gt?i:-1;o>e?n=i-r.jStep:a=i+r.jStep}return-1}xyToBarIndex(e,t){if(e<0||t<0)throw new Error(`x and y must be bigger than 0. x = ${e}, y = ${t}`);if(this.isFocused()&&t<=Ht)return{i:0,j:0};const r=this.isFocused()?t-Ht:t,a=this.focusedNode.mapOrElse((()=>0),(e=>e.i<=0?0:e.i)),n=this.zoom.match({Just:()=>this.focusedNode.match({Just:()=>a,Nothing:()=>0}),Nothing:()=>this.focusedNode.match({Just:()=>a,Nothing:()=>0})}),i=Math.floor(r/Vt)+n;if(i>=0&&i{const{i:a,j:n}=this.xyToBarIndex(e,t),i=this.xyToBarPosition(r),o=this.xyToBarData(r);return on(on({i:a,j:n},i),o)}))}}function cn(e){var t,r,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{var a=r(351),n={};for(var i in a)a.hasOwnProperty(i)&&(n[a[i]]=i);var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var l in o)if(o.hasOwnProperty(l)){if(!("channels"in o[l]))throw new Error("missing channels property: "+l);if(!("labels"in o[l]))throw new Error("missing channel labels property: "+l);if(o[l].labels.length!==o[l].channels)throw new Error("channel and label counts mismatch: "+l);var s=o[l].channels,c=o[l].labels;delete o[l].channels,delete o[l].labels,Object.defineProperty(o[l],"channels",{value:s}),Object.defineProperty(o[l],"labels",{value:c})}function u(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}o.rgb.hsl=function(e){var t,r,a=e[0]/255,n=e[1]/255,i=e[2]/255,o=Math.min(a,n,i),l=Math.max(a,n,i),s=l-o;return l===o?t=0:a===l?t=(n-i)/s:n===l?t=2+(i-a)/s:i===l&&(t=4+(a-n)/s),(t=Math.min(60*t,360))<0&&(t+=360),r=(o+l)/2,[t,100*(l===o?0:r<=.5?s/(l+o):s/(2-l-o)),100*r]},o.rgb.hsv=function(e){var t,r,a,n,i,o=e[0]/255,l=e[1]/255,s=e[2]/255,c=Math.max(o,l,s),u=c-Math.min(o,l,s),f=function(e){return(c-e)/6/u+.5};return 0===u?n=i=0:(i=u/c,t=f(o),r=f(l),a=f(s),o===c?n=a-r:l===c?n=.3333333333333333+t-a:s===c&&(n=.6666666666666666+r-t),n<0?n+=1:n>1&&(n-=1)),[360*n,100*i,100*c]},o.rgb.hwb=function(e){var t=e[0],r=e[1],a=e[2];return[o.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(r,a))*100,100*(a=1-.00392156862745098*Math.max(t,Math.max(r,a)))]},o.rgb.cmyk=function(e){var t,r=e[0]/255,a=e[1]/255,n=e[2]/255;return[100*((1-r-(t=Math.min(1-r,1-a,1-n)))/(1-t)||0),100*((1-a-t)/(1-t)||0),100*((1-n-t)/(1-t)||0),100*t]},o.rgb.keyword=function(e){var t=n[e];if(t)return t;var r,i=1/0;for(var o in a)if(a.hasOwnProperty(o)){var l=u(e,a[o]);l.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)+.1805*(a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92)),100*(.2126*t+.7152*r+.0722*a),100*(.0193*t+.1192*r+.9505*a)]},o.rgb.lab=function(e){var t=o.rgb.xyz(e),r=t[0],a=t[1],n=t[2];return a/=100,n/=108.883,r=(r/=95.047)>.008856?Math.pow(r,.3333333333333333):7.787*r+.13793103448275862,[116*(a=a>.008856?Math.pow(a,.3333333333333333):7.787*a+.13793103448275862)-16,500*(r-a),200*(a-(n=n>.008856?Math.pow(n,.3333333333333333):7.787*n+.13793103448275862))]},o.hsl.rgb=function(e){var t,r,a,n,i,o=e[0]/360,l=e[1]/100,s=e[2]/100;if(0===l)return[i=255*s,i,i];t=2*s-(r=s<.5?s*(1+l):s+l-s*l),n=[0,0,0];for(var c=0;c<3;c++)(a=o+.3333333333333333*-(c-1))<0&&a++,a>1&&a--,i=6*a<1?t+6*(r-t)*a:2*a<1?r:3*a<2?t+(r-t)*(.6666666666666666-a)*6:t,n[c]=255*i;return n},o.hsl.hsv=function(e){var t=e[0],r=e[1]/100,a=e[2]/100,n=r,i=Math.max(a,.01);return r*=(a*=2)<=1?a:2-a,n*=i<=1?i:2-i,[t,100*(0===a?2*n/(i+n):2*r/(a+r)),(a+r)/2*100]},o.hsv.rgb=function(e){var t=e[0]/60,r=e[1]/100,a=e[2]/100,n=Math.floor(t)%6,i=t-Math.floor(t),o=255*a*(1-r),l=255*a*(1-r*i),s=255*a*(1-r*(1-i));switch(a*=255,n){case 0:return[a,s,o];case 1:return[l,a,o];case 2:return[o,a,s];case 3:return[o,l,a];case 4:return[s,o,a];case 5:return[a,o,l]}},o.hsv.hsl=function(e){var t,r,a,n=e[0],i=e[1]/100,o=e[2]/100,l=Math.max(o,.01);return a=(2-i)*o,r=i*l,[n,100*(r=(r/=(t=(2-i)*l)<=1?t:2-t)||0),100*(a/=2)]},o.hwb.rgb=function(e){var t,r,a,n,i,o,l,s=e[0]/360,c=e[1]/100,u=e[2]/100,f=c+u;switch(f>1&&(c/=f,u/=f),a=6*s-(t=Math.floor(6*s)),0!=(1&t)&&(a=1-a),n=c+a*((r=1-u)-c),t){default:case 6:case 0:i=r,o=n,l=c;break;case 1:i=n,o=r,l=c;break;case 2:i=c,o=r,l=n;break;case 3:i=c,o=n,l=r;break;case 4:i=n,o=c,l=r;break;case 5:i=r,o=c,l=n}return[255*i,255*o,255*l]},o.cmyk.rgb=function(e){var t=e[0]/100,r=e[1]/100,a=e[2]/100,n=e[3]/100;return[255*(1-Math.min(1,t*(1-n)+n)),255*(1-Math.min(1,r*(1-n)+n)),255*(1-Math.min(1,a*(1-n)+n))]},o.xyz.rgb=function(e){var t,r,a,n=e[0]/100,i=e[1]/100,o=e[2]/100;return r=-.9689*n+1.8758*i+.0415*o,a=.0557*n+-.204*i+1.057*o,t=(t=3.2406*n+-1.5372*i+-.4986*o)>.0031308?1.055*Math.pow(t,.4166666666666667)-.055:12.92*t,r=r>.0031308?1.055*Math.pow(r,.4166666666666667)-.055:12.92*r,a=a>.0031308?1.055*Math.pow(a,.4166666666666667)-.055:12.92*a,[255*(t=Math.min(Math.max(0,t),1)),255*(r=Math.min(Math.max(0,r),1)),255*(a=Math.min(Math.max(0,a),1))]},o.xyz.lab=function(e){var t=e[0],r=e[1],a=e[2];return r/=100,a/=108.883,t=(t/=95.047)>.008856?Math.pow(t,.3333333333333333):7.787*t+.13793103448275862,[116*(r=r>.008856?Math.pow(r,.3333333333333333):7.787*r+.13793103448275862)-16,500*(t-r),200*(r-(a=a>.008856?Math.pow(a,.3333333333333333):7.787*a+.13793103448275862))]},o.lab.xyz=function(e){var t,r,a,n=e[0];t=e[1]/500+(r=(n+16)/116),a=r-e[2]/200;var i=Math.pow(r,3),o=Math.pow(t,3),l=Math.pow(a,3);return r=i>.008856?i:(r-.13793103448275862)/7.787,t=o>.008856?o:(t-.13793103448275862)/7.787,a=l>.008856?l:(a-.13793103448275862)/7.787,[t*=95.047,r*=100,a*=108.883]},o.lab.lch=function(e){var t,r=e[0],a=e[1],n=e[2];return(t=360*Math.atan2(n,a)/2/Math.PI)<0&&(t+=360),[r,Math.sqrt(a*a+n*n),t]},o.lch.lab=function(e){var t,r=e[0],a=e[1];return t=e[2]/360*2*Math.PI,[r,a*Math.cos(t),a*Math.sin(t)]},o.rgb.ansi16=function(e){var t=e[0],r=e[1],a=e[2],n=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];if(0===(n=Math.round(n/50)))return 30;var i=30+(Math.round(a/255)<<2|Math.round(r/255)<<1|Math.round(t/255));return 2===n&&(i+=60),i},o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])},o.rgb.ansi256=function(e){var t=e[0],r=e[1],a=e[2];return t===r&&r===a?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(a/255*5)},o.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var r=.5*(1+~~(e>50));return[(1&t)*r*255,(t>>1&1)*r*255,(t>>2&1)*r*255]},o.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var r;return e-=16,[Math.floor(e/36)/5*255,Math.floor((r=e%36)/6)/5*255,r%6/5*255]},o.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},o.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var r=t[0];3===t[0].length&&(r=r.split("").map((function(e){return e+e})).join(""));var a=parseInt(r,16);return[a>>16&255,a>>8&255,255&a]},o.rgb.hcg=function(e){var t,r=e[0]/255,a=e[1]/255,n=e[2]/255,i=Math.max(Math.max(r,a),n),o=Math.min(Math.min(r,a),n),l=i-o;return t=l<=0?0:i===r?(a-n)/l%6:i===a?2+(n-r)/l:4+(r-a)/l+4,t/=6,[360*(t%=1),100*l,100*(l<1?o/(1-l):0)]},o.hsl.hcg=function(e){var t=e[1]/100,r=e[2]/100,a=1,n=0;return(a=r<.5?2*t*r:2*t*(1-r))<1&&(n=(r-.5*a)/(1-a)),[e[0],100*a,100*n]},o.hsv.hcg=function(e){var t=e[1]/100,r=e[2]/100,a=t*r,n=0;return a<1&&(n=(r-a)/(1-a)),[e[0],100*a,100*n]},o.hcg.rgb=function(e){var t=e[0]/360,r=e[1]/100,a=e[2]/100;if(0===r)return[255*a,255*a,255*a];var n,i=[0,0,0],o=t%1*6,l=o%1,s=1-l;switch(Math.floor(o)){case 0:i[0]=1,i[1]=l,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=l;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=l,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return n=(1-r)*a,[255*(r*i[0]+n),255*(r*i[1]+n),255*(r*i[2]+n)]},o.hcg.hsv=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t),a=0;return r>0&&(a=t/r),[e[0],100*a,100*r]},o.hcg.hsl=function(e){var t=e[1]/100,r=e[2]/100*(1-t)+.5*t,a=0;return r>0&&r<.5?a=t/(2*r):r>=.5&&r<1&&(a=t/(2*(1-r))),[e[0],100*a,100*r]},o.hcg.hwb=function(e){var t=e[1]/100,r=t+e[2]/100*(1-t);return[e[0],100*(r-t),100*(1-r)]},o.hwb.hcg=function(e){var t=e[1]/100,r=1-e[2]/100,a=r-t,n=0;return a<1&&(n=(r-a)/(1-a)),[e[0],100*a,100*n]},o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]},o.gray.hwb=function(e){return[0,100,e[0]]},o.gray.cmyk=function(e){return[0,0,0,e[0]]},o.gray.lab=function(e){return[e[0],0,0]},o.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r},o.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},841:(e,t,r)=>{var a=r(959),n=r(325),i={};Object.keys(a).forEach((function(e){i[e]={},Object.defineProperty(i[e],"channels",{value:a[e].channels}),Object.defineProperty(i[e],"labels",{value:a[e].labels});var t=n(e);Object.keys(t).forEach((function(r){var a=t[r];i[e][r]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var r=e(t);if("object"==typeof r)for(var a=r.length,n=0;n1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(a)}))})),e.exports=i},351:e=>{e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},325:(e,t,r)=>{var a=r(959);function n(e){var t=function(){for(var e={},t=Object.keys(a),r=t.length,n=0;n{e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},804:(e,t,r)=>{var a=r(103),n=r(47),i=Object.hasOwnProperty,o={};for(var l in a)i.call(a,l)&&(o[a[l]]=l);var s=e.exports={to:{},get:{}};function c(e,t,r){return Math.min(Math.max(t,e),r)}function u(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}s.get=function(e){var t,r;switch(e.substring(0,3).toLowerCase()){case"hsl":t=s.get.hsl(e),r="hsl";break;case"hwb":t=s.get.hwb(e),r="hwb";break;default:t=s.get.rgb(e),r="rgb"}return t?{model:r,value:t}:null},s.get.rgb=function(e){if(!e)return null;var t,r,n,o=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(n=t[2],t=t[1],r=0;r<3;r++){var l=2*r;o[r]=parseInt(t.slice(l,l+2),16)}n&&(o[3]=parseInt(n,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(n=(t=t[1])[3],r=0;r<3;r++)o[r]=parseInt(t[r]+t[r],16);n&&(o[3]=parseInt(n+n,16)/255)}else if(t=e.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(r=0;r<3;r++)o[r]=parseInt(t[r+1],0);t[4]&&(t[5]?o[3]=.01*parseFloat(t[4]):o[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(t=e.match(/^(\w+)$/))?"transparent"===t[1]?[0,0,0,0]:i.call(a,t[1])?((o=a[t[1]])[3]=1,o):null:null;for(r=0;r<3;r++)o[r]=Math.round(2.55*parseFloat(t[r+1]));t[4]&&(t[5]?o[3]=.01*parseFloat(t[4]):o[3]=parseFloat(t[4]))}for(r=0;r<3;r++)o[r]=c(o[r],0,255);return o[3]=c(o[3],0,1),o},s.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var r=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,c(parseFloat(t[2]),0,100),c(parseFloat(t[3]),0,100),c(isNaN(r)?1:r,0,1)]}return null},s.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var r=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,c(parseFloat(t[2]),0,100),c(parseFloat(t[3]),0,100),c(isNaN(r)?1:r,0,1)]}return null},s.to.hex=function(){var e=n(arguments);return"#"+u(e[0])+u(e[1])+u(e[2])+(e[3]<1?u(Math.round(255*e[3])):"")},s.to.rgb=function(){var e=n(arguments);return e.length<4||1===e[3]?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"},s.to.rgb.percent=function(){var e=n(arguments),t=Math.round(e[0]/255*100),r=Math.round(e[1]/255*100),a=Math.round(e[2]/255*100);return e.length<4||1===e[3]?"rgb("+t+"%, "+r+"%, "+a+"%)":"rgba("+t+"%, "+r+"%, "+a+"%, "+e[3]+")"},s.to.hsl=function(){var e=n(arguments);return e.length<4||1===e[3]?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},s.to.hwb=function(){var e=n(arguments),t="";return e.length>=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},s.to.keyword=function(e){return o[e.slice(0,3)]}},346:(e,t,r)=>{var a=r(804),n=r(841),i=[].slice,o=["keyword","gray","hex"],l={};Object.keys(n).forEach((function(e){l[i.call(n[e].labels).sort().join("")]=e}));var s={};function c(e,t){if(!(this instanceof c))return new c(e,t);if(t&&t in o&&(t=null),t&&!(t in n))throw new Error("Unknown model: "+t);var r,u;if(null==e)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof c)this.model=e.model,this.color=e.color.slice(),this.valpha=e.valpha;else if("string"==typeof e){var f=a.get(e);if(null===f)throw new Error("Unable to parse color from string: "+e);this.model=f.model,u=n[this.model].channels,this.color=f.value.slice(0,u),this.valpha="number"==typeof f.value[u]?f.value[u]:1}else if(e.length){this.model=t||"rgb",u=n[this.model].channels;var d=i.call(e,0,u);this.color=A(d,u),this.valpha="number"==typeof e[u]?e[u]:1}else if("number"==typeof e)e&=16777215,this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;var p=Object.keys(e);"alpha"in e&&(p.splice(p.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);var h=p.sort().join("");if(!(h in l))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=l[h];var b=n[this.model].labels,g=[];for(r=0;rr?(t+.05)/(r+.05):(r+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},isDark:function(){var e=this.rgb().color;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},isLight:function(){return!this.isDark()},negate:function(){for(var e=this.rgb(),t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten:function(e){var t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken:function(e){var t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate:function(e){var t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate:function(e){var t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten:function(e){var t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken:function(e){var t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale:function(){var e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return c.rgb(t,t,t)},fade:function(e){return this.alpha(this.valpha-this.valpha*e)},opaquer:function(e){return this.alpha(this.valpha+this.valpha*e)},rotate:function(e){var t=this.hsl(),r=t.color[0];return r=(r=(r+e)%360)<0?360+r:r,t.color[0]=r,t},mix:function(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);var r=e.rgb(),a=this.rgb(),n=void 0===t?.5:t,i=2*n-1,o=r.alpha()-a.alpha(),l=((i*o==-1?i:(i+o)/(1+i*o))+1)/2,s=1-l;return c.rgb(l*r.red()+s*a.red(),l*r.green()+s*a.green(),l*r.blue()+s*a.blue(),r.alpha()*n+a.alpha()*(1-n))}},Object.keys(n).forEach((function(e){if(-1===o.indexOf(e)){var t=n[e].channels;c.prototype[e]=function(){if(this.model===e)return new c(this);if(arguments.length)return new c(arguments,e);var r="number"==typeof arguments[t]?t:this.valpha;return new c(function(e){return Array.isArray(e)?e:[e]}(n[this.model][e].raw(this.color)).concat(r),e)},c[e]=function(r){return"number"==typeof r&&(r=A(i.call(arguments),t)),new c(r,e)}}})),e.exports=c},594:(e,t,r)=>{var a=NaN,n="[object Symbol]",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,s=/^0o[0-7]+$/i,c=parseInt,u="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,f="object"==typeof self&&self&&self.Object===Object&&self,A=u||f||Function("return this")(),d=Object.prototype.toString,p=Math.max,h=Math.min,b=function(){return A.Date.now()};function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function m(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&d.call(e)==n}(e))return a;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var r=l.test(e);return r||s.test(e)?c(e.slice(2),r?2:8):o.test(e)?a:+e}e.exports=function(e,t,r){var a,n,i,o,l,s,c=0,u=!1,f=!1,A=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function d(t){var r=a,i=n;return a=n=void 0,c=t,o=e.apply(i,r)}function v(e){var r=e-s;return void 0===s||r>=t||r<0||f&&e-c>=i}function y(){var e=b();if(v(e))return w(e);l=setTimeout(y,function(e){var r=t-(e-s);return f?h(r,i-(e-c)):r}(e))}function w(e){return l=void 0,A&&a?d(e):(a=n=void 0,o)}function k(){var e=b(),r=v(e);if(a=arguments,n=this,s=e,r){if(void 0===l)return function(e){return c=e,l=setTimeout(y,t),u?d(e):o}(s);if(f)return l=setTimeout(y,t),d(s)}return void 0===l&&(l=setTimeout(y,t)),o}return t=m(t)||0,g(r)&&(u=!!r.leading,i=(f="maxWait"in r)?p(m(r.maxWait)||0,t):i,A="trailing"in r?!!r.trailing:A),k.cancel=function(){void 0!==l&&clearTimeout(l),c=0,a=s=n=l=void 0},k.flush=function(){return void 0===l?o:w(b())},k}},572:(e,t,r)=>{e=r.nmd(e);var a="__lodash_hash_undefined__",n=1,i=2,o=1/0,l=9007199254740991,c="[object Arguments]",u="[object Array]",A="[object Boolean]",d="[object Date]",p="[object Error]",h="[object Function]",g="[object GeneratorFunction]",m="[object Map]",v="[object Number]",y="[object Object]",w="[object Promise]",k="[object RegExp]",x="[object Set]",E="[object String]",_="[object Symbol]",C="[object WeakMap]",$="[object ArrayBuffer]",T="[object DataView]",O=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,I=/^\./,M=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B=/\\(\\)?/g,R=/^\[object .+?Constructor\]$/,P=/^(?:0|[1-9]\d*)$/,L={};L["[object Float32Array]"]=L["[object Float64Array]"]=L["[object Int8Array]"]=L["[object Int16Array]"]=L["[object Int32Array]"]=L["[object Uint8Array]"]=L["[object Uint8ClampedArray]"]=L["[object Uint16Array]"]=L["[object Uint32Array]"]=!0,L[c]=L[u]=L[$]=L[A]=L[T]=L[d]=L[p]=L[h]=L[m]=L[v]=L[y]=L[k]=L[x]=L[E]=L[C]=!1;var D="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,z="object"==typeof self&&self&&self.Object===Object&&self,F=D||z||Function("return this")(),N=t&&!t.nodeType&&t,j=N&&e&&!e.nodeType&&e,V=j&&j.exports===N&&D.process,G=function(){try{return V&&V.binding("util")}catch(s){}}(),H=G&&G.isTypedArray;function W(e,t,r,a){for(var n=-1,i=e?e.length:0;++n-1},_e.prototype.set=function(e,t){var r=this.__data__,a=Se(r,e);return a<0?r.push([e,t]):r[a][1]=t,this},Ce.prototype.clear=function(){this.__data__={hash:new Ee,map:new(fe||_e),string:new Ee}},Ce.prototype.delete=function(e){return Ve(this,e).delete(e)},Ce.prototype.get=function(e){return Ve(this,e).get(e)},Ce.prototype.has=function(e){return Ve(this,e).has(e)},Ce.prototype.set=function(e,t){return Ve(this,e).set(e,t),this},$e.prototype.add=$e.prototype.push=function(e){return this.__data__.set(e,a),this},$e.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.clear=function(){this.__data__=new _e},Te.prototype.delete=function(e){return this.__data__.delete(e)},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var r=this.__data__;if(r instanceof _e){var a=r.__data__;if(!fe||a.length<199)return a.push([e,t]),this;r=this.__data__=new Ce(a)}return r.set(e,t),this};var Me=function(e,t){return function(r,a){if(null==r)return r;if(!at(r))return e(r,a);for(var n=r.length,i=t?n:-1,o=Object(r);(t?i--:++ic))return!1;var f=l.get(e);if(f&&l.get(t))return f==t;var A=-1,d=!0,p=o&n?new $e:void 0;for(l.set(e,t),l.set(t,e);++A-1&&e%1==0&&e-1&&e%1==0&&e<=l}function ot(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function lt(e){return!!e&&"object"==typeof e}function st(e){return"symbol"==typeof e||lt(e)&&ae.call(e)==_}var ct=H?function(e){return function(t){return e(t)}}(H):function(e){return lt(e)&&it(e.length)&&!!L[ae.call(e)]};function ut(e){return at(e)?Oe(e):Fe(e)}function ft(e){return e}e.exports=Je},343:(e,t,r)=>{e=r.nmd(e);var a="__lodash_hash_undefined__",n=1,i=2,o=1/0,l=9007199254740991,c="[object Arguments]",u="[object Array]",A="[object Boolean]",p="[object Date]",h="[object Error]",b="[object Function]",g="[object GeneratorFunction]",m="[object Map]",v="[object Number]",y="[object Object]",w="[object Promise]",k="[object RegExp]",x="[object Set]",E="[object String]",_="[object Symbol]",C="[object WeakMap]",$="[object ArrayBuffer]",T="[object DataView]",O=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,I=/^\./,M=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B=/\\(\\)?/g,R=/^\[object .+?Constructor\]$/,P=/^(?:0|[1-9]\d*)$/,L={};L["[object Float32Array]"]=L["[object Float64Array]"]=L["[object Int8Array]"]=L["[object Int16Array]"]=L["[object Int32Array]"]=L["[object Uint8Array]"]=L["[object Uint8ClampedArray]"]=L["[object Uint16Array]"]=L["[object Uint32Array]"]=!0,L[c]=L[u]=L[$]=L[A]=L[T]=L[p]=L[h]=L[b]=L[m]=L[v]=L[y]=L[k]=L[x]=L[E]=L[C]=!1;var D="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,z="object"==typeof self&&self&&self.Object===Object&&self,F=D||z||Function("return this")(),N=t&&!t.nodeType&&t,j=N&&e&&!e.nodeType&&e,V=j&&j.exports===N&&D.process,G=function(){try{return V&&V.binding("util")}catch(d){}}(),H=G&&G.isTypedArray;function W(e,t){for(var r=-1,a=e?e.length:0,n=Array(a);++r-1},_e.prototype.set=function(e,t){var r=this.__data__,a=Se(r,e);return a<0?r.push([e,t]):r[a][1]=t,this},Ce.prototype.clear=function(){this.__data__={hash:new Ee,map:new(fe||_e),string:new Ee}},Ce.prototype.delete=function(e){return Ve(this,e).delete(e)},Ce.prototype.get=function(e){return Ve(this,e).get(e)},Ce.prototype.has=function(e){return Ve(this,e).has(e)},Ce.prototype.set=function(e,t){return Ve(this,e).set(e,t),this},$e.prototype.add=$e.prototype.push=function(e){return this.__data__.set(e,a),this},$e.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.clear=function(){this.__data__=new _e},Te.prototype.delete=function(e){return this.__data__.delete(e)},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var r=this.__data__;if(r instanceof _e){var a=r.__data__;if(!fe||a.length<199)return a.push([e,t]),this;r=this.__data__=new Ce(a)}return r.set(e,t),this};var Ie=function(e,t){return function(r,a){if(null==r)return r;if(!rt(r))return e(r,a);for(var n=r.length,i=t?n:-1,o=Object(r);(t?i--:++ic))return!1;var f=l.get(e);if(f&&l.get(t))return f==t;var A=-1,d=!0,p=o&n?new $e:void 0;for(l.set(e,t),l.set(t,e);++A-1&&e%1==0&&e-1&&e%1==0&&e<=l}function it(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ot(e){return!!e&&"object"==typeof e}function lt(e){return"symbol"==typeof e||ot(e)&&ae.call(e)==_}var st=H?function(e){return function(t){return e(t)}}(H):function(e){return ot(e)&&nt(e.length)&&!!L[ae.call(e)]};function ct(e){return rt(e)?Oe(e):ze(e)}function ut(e){return e}e.exports=function(e,t){return(tt(e)?W:Fe)(e,De(t))}},262:(e,t,r)=>{var a=r(586);function n(){}function i(){}i.resetWarningCache=n,e.exports=function(){function e(e,t,r,n,i,o){if(o!==a){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:n};return r.PropTypes=r,r}},980:(e,t,r)=>{e.exports=r(262)()},586:e=>{e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},129:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DebounceInput=void 0;var a=i(r(156)),n=i(r(594));function i(e){return e&&e.__esModule?e:{default:e}}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function l(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0)&&(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function c(e){for(var t=1;t=r?a.notify(e):t.length>n.length&&a.notify(c(c({},e),{},{target:c(c({},e.target),{},{value:""})}))}))})),h(d(a),"onKeyDown",(function(e){"Enter"===e.key&&a.forceNotify(e);var t=a.props.onKeyDown;t&&(e.persist(),t(e))})),h(d(a),"onBlur",(function(e){a.forceNotify(e);var t=a.props.onBlur;t&&(e.persist(),t(e))})),h(d(a),"createNotifier",(function(e){if(e<0)a.notify=function(){return null};else if(0===e)a.notify=a.doNotify;else{var t=(0,n.default)((function(e){a.isDebouncing=!1,a.doNotify(e)}),e);a.notify=function(e){a.isDebouncing=!0,t(e)},a.flush=function(){return t.flush()},a.cancel=function(){a.isDebouncing=!1,t.cancel()}}})),h(d(a),"doNotify",(function(){a.props.onChange.apply(void 0,arguments)})),h(d(a),"forceNotify",(function(e){var t=a.props.debounceTimeout;if(a.isDebouncing||!(t>0)){a.cancel&&a.cancel();var r=a.state.value,n=a.props.minLength;r.length>=n?a.doNotify(e):a.doNotify(c(c({},e),{},{target:c(c({},e.target),{},{value:r})}))}})),a.isDebouncing=!1,a.state={value:void 0===e.value||null===e.value?"":e.value};var i=a.props.debounceTimeout;return a.createNotifier(i),a}return function(e,t,r){t&&u(e.prototype,t),r&&u(e,r)}(r,[{key:"componentDidUpdate",value:function(e){if(!this.isDebouncing){var t=this.props,r=t.value,a=t.debounceTimeout,n=e.debounceTimeout,i=e.value,o=this.state.value;void 0!==r&&i!==r&&o!==r&&this.setState({value:r}),a!==n&&this.createNotifier(a)}}},{key:"componentWillUnmount",value:function(){this.flush&&this.flush()}},{key:"render",value:function(){var e=this.props,t=e.element;e.onChange,e.value,e.minLength,e.debounceTimeout;var r,n,i=e.forceNotifyByEnter,o=e.forceNotifyOnBlur,s=e.onKeyDown,u=e.onBlur,f=e.inputRef,A=l(e,["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"]),d=this.state.value;r=i?{onKeyDown:this.onKeyDown}:s?{onKeyDown:s}:{},n=o?{onBlur:this.onBlur}:u?{onBlur:u}:{};var p=f?{ref:f}:{};return a.default.createElement(t,c(c(c(c({},A),{},{onChange:this.onChange,value:d},r),n),p))}}]),r}(a.default.PureComponent);t.DebounceInput=b,h(b,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},912:(e,t,r)=>{var a=r(129).DebounceInput;a.DebounceInput=a,e.exports=a},424:(e,t,r)=>{function a(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var n=a(r(156)),i=a(r(980));function o(e){return"fast"===e?600:"slow"===e?900:750}var l=function(e){var t=e.color,r=e.speed,a=e.gap,i=e.thickness,l=e.size,s=function(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(r[a]=e[a]);return r}(e,["color","speed","gap","thickness","size"]);return n.createElement("svg",Object.assign({},{height:l,width:l},s,{style:{animationDuration:o(r)+"ms"},className:"__react-svg-spinner_circle",role:"img","aria-labelledby":"title desc",viewBox:"0 0 32 32"}),n.createElement("title",{id:"title"},"Circle loading spinner"),n.createElement("desc",{id:"desc"},'Image of a partial circle indicating "loading."'),n.createElement("style",{dangerouslySetInnerHTML:{__html:"\n .__react-svg-spinner_circle{\n transition-property: transform;\n animation-name: __react-svg-spinner_infinite-spin;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n }\n @keyframes __react-svg-spinner_infinite-spin {\n from {transform: rotate(0deg)}\n to {transform: rotate(360deg)}\n }\n "}}),n.createElement("circle",{role:"presentation",cx:16,cy:16,r:14-i/2,stroke:t,fill:"none",strokeWidth:i,strokeDasharray:2*Math.PI*(11-a),strokeLinecap:"round"}))};l.propTypes={color:i.string,thickness:i.oneOf([1,2,3,4,5,6,7,8]).isRequired,gap:i.oneOf([1,2,3,4,5]).isRequired,speed:i.oneOf(["fast","slow"]),size:i.string.isRequired},l.defaultProps={color:"rgba(0,0,0,0.4)",gap:4,thickness:4,size:"1em"},e.exports=l},47:(e,t,r)=>{var a=r(905),n=Array.prototype.concat,i=Array.prototype.slice,o=e.exports=function(e){for(var t=[],r=0,o=e.length;r{e.exports=function(e){return!(!e||"string"==typeof e)&&(e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&"String"!==e.constructor.name))}},156:e=>{e.exports=t},111:e=>{e.exports=r}},o={};function l(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e](r,r.exports,l),r.loaded=!0,r.exports}l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var r in t)l.o(t,r)&&!l.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(_){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var c={};return(()=>{l.r(c),l.d(c,{Box:()=>o,DefaultPalette:()=>$s,Flamegraph:()=>sn,FlamegraphRenderer:()=>vf,convertJaegerTraceToProfile:()=>Ef,diffTwoProfiles:()=>If});var t=l(156),r=l.n(t);const n={box:"CymgObeW6VZutKnn+knV0w==",padding:"_27LlhV46s9ZMTAMouwXorw=="};function o(e){const{children:t,noPadding:a,className:i=""}=e,o=a?"":n.padding;return r().createElement("div",{className:`${n.box} ${o} ${i}`},t)}const s=Symbol("BrandTag"),f=new class{constructor(e){this[s]=e}}("unit"),A=e=>null==e;function d(e,t){return void 0!==t?e(t):e}const p="Ok",h="Err";class b{constructor(e){this.repr=e}static ok(e){return A(e)?new b(["Ok",f]):new b(["Ok",e])}static err(e){return A(e)?new b(["Err",f]):new b(["Err",e])}get variant(){return this.repr[0]}get value(){if(this.repr[0]===h)throw new Error("Cannot get the value of Err");return this.repr[1]}get error(){if(this.repr[0]===p)throw new Error("Cannot get the error of Ok");return this.repr[1]}get isOk(){return this.repr[0]===p}get isErr(){return this.repr[0]===h}map(e){return function(e,t){return d((t=>t.isOk?m(e(t.value)):t),t)}(e,this)}mapOr(e,t){return function(e,t,r){function a(t,r){return r.isOk?t(r.value):e}function n(e,t){return void 0!==t?a(e,t):t=>a(e,t)}return void 0===t?n:void 0===r?n(t):n(t,r)}(e,t,this)}mapOrElse(e,t){return E(e,t,this)}match(e){return function(e,t){return d((t=>E(e.Err,e.Ok,t)),t)}(e,this)}mapErr(e){return function(e,t){return d((t=>t.isOk?t:x(e(t.error))),t)}(e,this)}or(e){return function(e,t){return d((t=>t.isOk?m(t.value):e),t)}(e,this)}orElse(e){return function(e,t){return d((t=>t.isOk?m(t.value):e(t.error)),t)}(e,this)}and(e){return function(e,t){return d((t=>t.isOk?e:x(t.error)),t)}(e,this)}andThen(e){return function(e,t){return d((t=>t.isOk?e(t.value):x(t.error)),t)}(e,this)}unwrapOr(e){return function(e,t){return d((t=>t.isOk?t.value:e),t)}(e,this)}unwrapOrElse(e){return function(e,t){return d((t=>t.isOk?t.value:e(t.error)),t)}(e,this)}toMaybe(){return function(e){return e.isOk?F.just(e.value):F.nothing()}(this)}toString(){return _(this)}toJSON(){return $(this)}equals(e){return function(e,t){return void 0!==t?t.match({Err:()=>e.isErr,Ok:t=>e.isOk&&e.value===t}):t=>t.match({Err:()=>e.isErr,Ok:t=>e.isOk&&e.value===t})}(e,this)}ap(e){return function(e,t){return d((t=>t.andThen((t=>e.map((e=>e(t)))))),t)}(this,e)}}const m=b.ok,x=b.err;function E(e,t,r){function a(t,r){return r.isOk?t(r.value):e(r.error)}function n(e,t){return void 0!==t?a(e,t):t=>a(e,t)}return void 0===t?n:void 0===r?n(t):n(t,r)}const _=e=>{const t=(e.isOk?e.value:e.error).toString();return`${e.variant.toString()}(${t})`},$=e=>e.isOk?{variant:e.variant,value:e.value}:{variant:e.variant,error:e.error},T=b,O="Just",S="Nothing";let I;class M{constructor(e){if(A(e))return this.repr=[S],I||(I=this),I;this.repr=[O,e]}static of(e){return new M(e)}static just(e){if(A(e))throw new Error(`attempted to call "just" with ${e}`);return new M(e)}static nothing(e){return new M}get variant(){return this.repr[0]}get value(){if(this.repr[0]===S)throw new Error("Cannot get the value of `Nothing`");return this.repr[1]}get isJust(){return this.repr[0]===O}get isNothing(){return this.repr[0]===S}map(e){return function(e,t){return d((t=>t.isJust?B(e(t.value)):R()),t)}(e,this)}mapOr(e,t){return function(e,t,r){function a(t,r){return r.isJust?t(r.value):e}function n(e,t){return void 0!==t?a(e,t):t=>a(e,t)}return void 0===t?n:void 0===r?n(t):n(t,r)}(e,t,this)}mapOrElse(e,t){return P(e,t,this)}match(e){return function(e,t){return d((t=>P(e.Nothing,e.Just,t)),t)}(e,this)}or(e){return function(e,t){const r=t=>t.isJust?t:e;return void 0!==t?r(t):r}(e,this)}orElse(e){return function(e,t){return d((t=>t.isJust?t:e()),t)}(e,this)}and(e){return function(e,t){return d((t=>t.isJust?e:R()),t)}(e,this)}andThen(e){return L(e,this)}unwrapOr(e){return function(e,t){return d((t=>t.isJust?t.value:e),t)}(e,this)}unwrapOrElse(e){return function(e,t){return d((t=>t.isJust?t.value:e()),t)}(e,this)}toOkOrErr(e){return function(e,t){const r=t=>t.isJust?T.ok(t.value):T.err(e);return void 0!==t?r(t):r}(e,this)}toOkOrElseErr(e){return function(e,t){return d((t=>t.isJust?T.ok(t.value):T.err(e())),t)}(e,this)}toString(){return function(e){const t=e.isJust?`(${e.value.toString()})`:"";return`${e.variant}${t}`}(this)}toJSON(){return function(e){return e.isJust?{variant:e.variant,value:D(e.value)?e.value.toJSON():e.value}:{variant:e.variant}}(this)}equals(e){return function(e,t){return d((t=>t.match({Just:t=>e.isJust&&e.value===t,Nothing:()=>e.isNothing})),t)}(e,this)}ap(e){return function(e,t){return d((t=>t.andThen((t=>e.map((e=>e(t)))))),t)}(this,e)}get(e){return function(e,t){return d(L(function(e,t){return d((t=>z.of(t[e])),t)}(e)),t)}(e,this)}}const B=M.just,R=M.nothing;function P(e,t,r){function a(t,r){return r.isJust?t(r.value):e()}function n(e,t){return void 0!==t?a(e,t):t=>a(e,t)}return void 0===t?n:void 0===r?n(t):n(t,r)}function L(e,t){const r=t=>t.isJust?e(t.value):R();return void 0!==t?r(t):r}function D(e){return e instanceof z}const z=M,F=z;var N;!function(e){e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const r of e)t[r]=r;return t},e.getValidEnumValues=t=>{const r=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),a={};for(const e of r)a[e]=t[e];return e.objectValues(a)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},e.find=(e,t)=>{for(const r of e)if(t(r))return r},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)}}(N||(N={}));const j=N.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),V=e=>{switch(typeof e){case"undefined":return j.undefined;case"string":return j.string;case"number":return isNaN(e)?j.nan:j.number;case"boolean":return j.boolean;case"function":return j.function;case"bigint":return j.bigint;case"object":return Array.isArray(e)?j.array:null===e?j.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?j.promise:"undefined"!=typeof Map&&e instanceof Map?j.map:"undefined"!=typeof Set&&e instanceof Set?j.set:"undefined"!=typeof Date&&e instanceof Date?j.date:j.object;default:return j.unknown}},G=N.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of"]);class H extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},r={_errors:[]},a=e=>{for(const n of e.issues)if("invalid_union"===n.code)n.unionErrors.map(a);else if("invalid_return_type"===n.code)a(n.returnTypeError);else if("invalid_arguments"===n.code)a(n.argumentsError);else if(0===n.path.length)r._errors.push(t(n));else{let e=r,a=0;for(;ae.message)){const t={},r=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):r.push(e(a));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}H.create=e=>new H(e);const W=(e,t)=>{let r;switch(e.code){case G.invalid_type:r=e.received===j.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case G.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected)}`;break;case G.unrecognized_keys:r=`Unrecognized key(s) in object: ${N.joinValues(e.keys,", ")}`;break;case G.invalid_union:r="Invalid input";break;case G.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${N.joinValues(e.options)}`;break;case G.invalid_enum_value:r=`Invalid enum value. Expected ${N.joinValues(e.options)}, received '${e.received}'`;break;case G.invalid_arguments:r="Invalid function arguments";break;case G.invalid_return_type:r="Invalid function return type";break;case G.invalid_date:r="Invalid date";break;case G.invalid_string:r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case G.too_small:r="array"===e.type?`Array must contain ${e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be greater than ${e.inclusive?"or equal to ":""}${e.minimum}`:"Invalid input";break;case G.too_big:r="array"===e.type?`Array must contain ${e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be less than ${e.inclusive?"or equal to ":""}${e.maximum}`:"Invalid input";break;case G.custom:r="Invalid input";break;case G.invalid_intersection_types:r="Intersection results could not be merged";break;case G.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;default:r=t.defaultError,N.assertNever(e)}return{message:r}};let Z=W;const Y=e=>{const{data:t,path:r,errorMaps:a,issueData:n}=e,i=[...r,...n.path||[]],o=y(v({},n),{path:i});let l="";const s=a.filter((e=>!!e)).slice().reverse();for(const c of s)l=c(o,{data:t,defaultError:l}).message;return y(v({},n),{path:i,message:n.message||l})};function Q(e,t){const r=Y({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,Z,W].filter((e=>!!e))});e.common.issues.push(r)}class U{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const r=[];for(const a of t){if("aborted"===a.status)return q;"dirty"===a.status&&e.dirty(),r.push(a.value)}return{status:e.value,value:r}}static mergeObjectAsync(e,t){return k(this,null,(function*(){const r=[];for(const e of t)r.push({key:yield e.key,value:yield e.value});return U.mergeObjectSync(e,r)}))}static mergeObjectSync(e,t){const r={};for(const a of t){const{key:t,value:n}=a;if("aborted"===t.status||"aborted"===n.status)return q;"dirty"===t.status&&e.dirty(),"dirty"===n.status&&e.dirty(),(void 0!==n.value||a.alwaysSet)&&(r[t.value]=n.value)}return{status:e.value,value:r}}}const q=Object.freeze({status:"aborted"}),X=e=>({status:"valid",value:e}),J=e=>"aborted"===e.status,K=e=>"dirty"===e.status,ee=e=>"valid"===e.status,te=e=>void 0!==typeof Promise&&e instanceof Promise;var re;!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(re||(re={}));class ae{constructor(e,t,r,a){this.parent=e,this.data=t,this._path=r,this._key=a}get path(){return this._path.concat(this._key)}}const ne=(e,t)=>{if(ee(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,error:new H(e.common.issues)}};function ie(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:a,description:n}=e;if(t&&(r||a))throw new Error('Can\'t use "invalid" or "required" in conjunction with custom error map.');return t?{errorMap:t,description:n}:{errorMap:(t,r)=>"invalid_type"!==t.code?{message:r.defaultError}:void 0===r.data&&a?{message:a}:e.invalid_type_error?{message:e.invalid_type_error}:{message:r.defaultError},description:n}}class oe{constructor(e){this.spa=this.safeParseAsync,this.superRefine=this._refinement,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.default=this.default.bind(this),this.describe=this.describe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return V(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:V(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new U,ctx:{common:e.parent.common,data:e.data,parsedType:V(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(te(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const a={common:{issues:[],async:null!==(r=null==t?void 0:t.async)&&void 0!==r&&r,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:V(e)},n=this._parseSync({data:e,path:a.path,parent:a});return ne(a,n)}parseAsync(e,t){return k(this,null,(function*(){const r=yield this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}))}safeParseAsync(e,t){return k(this,null,(function*(){const r={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:V(e)},a=this._parse({data:e,path:[],parent:r}),n=yield te(a)?a:Promise.resolve(a);return ne(r,n)}))}refine(e,t){return this._refinement(((r,a)=>{const n=e(r),i=()=>a.addIssue(v({code:G.custom},(e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t)(r)));return"undefined"!=typeof Promise&&n instanceof Promise?n.then((e=>!!e||(i(),!1))):!!n||(i(),!1)}))}refinement(e,t){return this._refinement(((r,a)=>!!e(r)||(a.addIssue("function"==typeof t?t(r,a):t),!1)))}_refinement(e){return new je({schema:this,typeName:Qe.ZodEffects,effect:{type:"refinement",refinement:e}})}optional(){return Ve.create(this)}nullable(){return Ge.create(this)}nullish(){return this.optional().nullable()}array(){return ke.create(this)}promise(){return Ne.create(this)}or(e){return $e.create([this,e])}and(e){return Se.create(this,e)}transform(e){return new je({schema:this,typeName:Qe.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new He({innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:Qe.ZodDefault})}describe(e){return new(0,this.constructor)(y(v({},this._def),{description:e}))}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const le=/^c[^\s-]{8,}$/i,se=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,ce=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;class ue extends oe{constructor(){super(...arguments),this._regex=(e,t,r)=>this.refinement((t=>e.test(t)),v({validation:t,code:G.invalid_string},re.errToObj(r))),this.nonempty=e=>this.min(1,re.errToObj(e)),this.trim=()=>new ue(y(v({},this._def),{checks:[...this._def.checks,{kind:"trim"}]}))}_parse(e){if(this._getType(e)!==j.string){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.string,received:t.parsedType}),q}const t=new U;let r;for(const n of this._def.checks)if("min"===n.kind)e.data.lengthn.value&&(r=this._getOrReturnCtx(e,r),Q(r,{code:G.too_big,maximum:n.value,type:"string",inclusive:!0,message:n.message}),t.dirty());else if("email"===n.kind)ce.test(e.data)||(r=this._getOrReturnCtx(e,r),Q(r,{validation:"email",code:G.invalid_string,message:n.message}),t.dirty());else if("uuid"===n.kind)se.test(e.data)||(r=this._getOrReturnCtx(e,r),Q(r,{validation:"uuid",code:G.invalid_string,message:n.message}),t.dirty());else if("cuid"===n.kind)le.test(e.data)||(r=this._getOrReturnCtx(e,r),Q(r,{validation:"cuid",code:G.invalid_string,message:n.message}),t.dirty());else if("url"===n.kind)try{new URL(e.data)}catch(a){r=this._getOrReturnCtx(e,r),Q(r,{validation:"url",code:G.invalid_string,message:n.message}),t.dirty()}else"regex"===n.kind?(n.regex.lastIndex=0,n.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),Q(r,{validation:"regex",code:G.invalid_string,message:n.message}),t.dirty())):"trim"===n.kind?e.data=e.data.trim():N.assertNever(n);return{status:t.value,value:e.data}}_addCheck(e){return new ue(y(v({},this._def),{checks:[...this._def.checks,e]}))}email(e){return this._addCheck(v({kind:"email"},re.errToObj(e)))}url(e){return this._addCheck(v({kind:"url"},re.errToObj(e)))}uuid(e){return this._addCheck(v({kind:"uuid"},re.errToObj(e)))}cuid(e){return this._addCheck(v({kind:"cuid"},re.errToObj(e)))}regex(e,t){return this._addCheck(v({kind:"regex",regex:e},re.errToObj(t)))}min(e,t){return this._addCheck(v({kind:"min",value:e},re.errToObj(t)))}max(e,t){return this._addCheck(v({kind:"max",value:e},re.errToObj(t)))}length(e,t){return this.min(e,t).max(e,t)}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get minLength(){let e=-1/0;return this._def.checks.map((t=>{"min"===t.kind&&(null===e||t.value>e)&&(e=t.value)})),e}get maxLength(){let e=null;return this._def.checks.map((t=>{"max"===t.kind&&(null===e||t.valuea?r:a;return parseInt(e.toFixed(n).replace(".",""))%parseInt(t.toFixed(n).replace(".",""))/Math.pow(10,n)}ue.create=e=>new ue(v({checks:[],typeName:Qe.ZodString},ie(e)));class Ae extends oe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._getType(e)!==j.number){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.number,received:t.parsedType}),q}let t;const r=new U;for(const a of this._def.checks)"int"===a.kind?N.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),Q(t,{code:G.invalid_type,expected:"integer",received:"float",message:a.message}),r.dirty()):"min"===a.kind?(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),Q(t,{code:G.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,message:a.message}),r.dirty()):"multipleOf"===a.kind?0!==fe(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),Q(t,{code:G.not_multiple_of,multipleOf:a.value,message:a.message}),r.dirty()):N.assertNever(a);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,re.toString(t))}gt(e,t){return this.setLimit("min",e,!1,re.toString(t))}lte(e,t){return this.setLimit("max",e,!0,re.toString(t))}lt(e,t){return this.setLimit("max",e,!1,re.toString(t))}setLimit(e,t,r,a){return new Ae(y(v({},this._def),{checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:re.toString(a)}]}))}_addCheck(e){return new Ae(y(v({},this._def),{checks:[...this._def.checks,e]}))}int(e){return this._addCheck({kind:"int",message:re.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:re.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:re.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:re.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:re.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:re.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind))}}Ae.create=e=>new Ae(v({checks:[],typeName:Qe.ZodNumber},ie(e)));class de extends oe{_parse(e){if(this._getType(e)!==j.bigint){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.bigint,received:t.parsedType}),q}return X(e.data)}}de.create=e=>new de(v({typeName:Qe.ZodBigInt},ie(e)));class pe extends oe{_parse(e){if(this._getType(e)!==j.boolean){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.boolean,received:t.parsedType}),q}return X(e.data)}}pe.create=e=>new pe(v({typeName:Qe.ZodBoolean},ie(e)));class he extends oe{_parse(e){if(this._getType(e)!==j.date){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.date,received:t.parsedType}),q}return isNaN(e.data.getTime())?(Q(this._getOrReturnCtx(e),{code:G.invalid_date}),q):{status:"valid",value:new Date(e.data.getTime())}}}he.create=e=>new he(v({typeName:Qe.ZodDate},ie(e)));class be extends oe{_parse(e){if(this._getType(e)!==j.undefined){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.undefined,received:t.parsedType}),q}return X(e.data)}}be.create=e=>new be(v({typeName:Qe.ZodUndefined},ie(e)));class ge extends oe{_parse(e){if(this._getType(e)!==j.null){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.null,received:t.parsedType}),q}return X(e.data)}}ge.create=e=>new ge(v({typeName:Qe.ZodNull},ie(e)));class me extends oe{constructor(){super(...arguments),this._any=!0}_parse(e){return X(e.data)}}me.create=e=>new me(v({typeName:Qe.ZodAny},ie(e)));class ve extends oe{constructor(){super(...arguments),this._unknown=!0}_parse(e){return X(e.data)}}ve.create=e=>new ve(v({typeName:Qe.ZodUnknown},ie(e)));class ye extends oe{_parse(e){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.never,received:t.parsedType}),q}}ye.create=e=>new ye(v({typeName:Qe.ZodNever},ie(e)));class we extends oe{_parse(e){if(this._getType(e)!==j.undefined){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.void,received:t.parsedType}),q}return X(e.data)}}we.create=e=>new we(v({typeName:Qe.ZodVoid},ie(e)));class ke extends oe{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),a=this._def;if(t.parsedType!==j.array)return Q(t,{code:G.invalid_type,expected:j.array,received:t.parsedType}),q;if(null!==a.minLength&&t.data.lengtha.maxLength.value&&(Q(t,{code:G.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,message:a.maxLength.message}),r.dirty()),t.common.async)return Promise.all(t.data.map(((e,r)=>a.type._parseAsync(new ae(t,e,t.path,r))))).then((e=>U.mergeArray(r,e)));const n=t.data.map(((e,r)=>a.type._parseSync(new ae(t,e,t.path,r))));return U.mergeArray(r,n)}get element(){return this._def.type}min(e,t){return new ke(y(v({},this._def),{minLength:{value:e,message:re.toString(t)}}))}max(e,t){return new ke(y(v({},this._def),{maxLength:{value:e,message:re.toString(t)}}))}length(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}var xe;ke.create=(e,t)=>new ke(v({type:e,minLength:null,maxLength:null,typeName:Qe.ZodArray},ie(t))),function(e){e.mergeShapes=(e,t)=>v(v({},e),t)}(xe||(xe={}));const Ee=e=>t=>new Ce(y(v({},e),{shape:()=>v(v({},e.shape()),t)}));function _e(e){if(e instanceof Ce){const t={};for(const r in e.shape){const a=e.shape[r];t[r]=Ve.create(_e(a))}return new Ce(y(v({},e._def),{shape:()=>t}))}return e instanceof ke?ke.create(_e(e.element)):e instanceof Ve?Ve.create(_e(e.unwrap())):e instanceof Ge?Ge.create(_e(e.unwrap())):e instanceof Ie?Ie.create(e.items.map((e=>_e(e)))):e}class Ce extends oe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=Ee(this._def),this.extend=Ee(this._def)}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=N.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==j.object){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.object,received:t.parsedType}),q}const{status:t,ctx:r}=this._processInputParams(e),{shape:a,keys:n}=this._getCached(),i=[];for(const l in r.data)n.includes(l)||i.push(l);const o=[];for(const l of n){const e=a[l],t=r.data[l];o.push({key:{status:"valid",value:l},value:e._parse(new ae(r,t,r.path,l)),alwaysSet:l in r.data})}if(this._def.catchall instanceof ye){const e=this._def.unknownKeys;if("passthrough"===e)for(const t of i)o.push({key:{status:"valid",value:t},value:{status:"valid",value:r.data[t]}});else if("strict"===e)i.length>0&&(Q(r,{code:G.unrecognized_keys,keys:i}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of i){const a=r.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new ae(r,a,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then((()=>k(this,null,(function*(){const e=[];for(const t of o){const r=yield t.key;e.push({key:r,value:yield t.value,alwaysSet:t.alwaysSet})}return e})))).then((e=>U.mergeObjectSync(t,e))):U.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return re.errToObj,new Ce(v(y(v({},this._def),{unknownKeys:"strict"}),void 0!==e?{errorMap:(t,r)=>{var a,n,i,o;const l=null!==(i=null===(n=(a=this._def).errorMap)||void 0===n?void 0:n.call(a,t,r).message)&&void 0!==i?i:r.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=re.errToObj(e).message)&&void 0!==o?o:l}:{message:l}}}:{}))}strip(){return new Ce(y(v({},this._def),{unknownKeys:"strip"}))}passthrough(){return new Ce(y(v({},this._def),{unknownKeys:"passthrough"}))}setKey(e,t){return this.augment({[e]:t})}merge(e){return new Ce({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>xe.mergeShapes(this._def.shape(),e._def.shape()),typeName:Qe.ZodObject})}catchall(e){return new Ce(y(v({},this._def),{catchall:e}))}pick(e){const t={};return N.objectKeys(e).map((e=>{this.shape[e]&&(t[e]=this.shape[e])})),new Ce(y(v({},this._def),{shape:()=>t}))}omit(e){const t={};return N.objectKeys(this.shape).map((r=>{-1===N.objectKeys(e).indexOf(r)&&(t[r]=this.shape[r])})),new Ce(y(v({},this._def),{shape:()=>t}))}deepPartial(){return _e(this)}partial(e){const t={};if(e)return N.objectKeys(this.shape).map((r=>{-1===N.objectKeys(e).indexOf(r)?t[r]=this.shape[r]:t[r]=this.shape[r].optional()})),new Ce(y(v({},this._def),{shape:()=>t}));for(const r in this.shape){const e=this.shape[r];t[r]=e.optional()}return new Ce(y(v({},this._def),{shape:()=>t}))}required(){const e={};for(const t in this.shape){let r=this.shape[t];for(;r instanceof Ve;)r=r._def.innerType;e[t]=r}return new Ce(y(v({},this._def),{shape:()=>e}))}}Ce.create=(e,t)=>new Ce(v({shape:()=>e,unknownKeys:"strip",catchall:ye.create(),typeName:Qe.ZodObject},ie(t))),Ce.strictCreate=(e,t)=>new Ce(v({shape:()=>e,unknownKeys:"strict",catchall:ye.create(),typeName:Qe.ZodObject},ie(t))),Ce.lazycreate=(e,t)=>new Ce(v({shape:e,unknownKeys:"strip",catchall:ye.create(),typeName:Qe.ZodObject},ie(t)));class $e extends oe{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map((e=>k(this,null,(function*(){const r=y(v({},t),{common:y(v({},t.common),{issues:[]}),parent:null});return{result:yield e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}}))))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const a of e)if("dirty"===a.result.status)return t.common.issues.push(...a.ctx.common.issues),a.result;const r=e.map((e=>new H(e.ctx.common.issues)));return Q(t,{code:G.invalid_union,unionErrors:r}),q}));{let e;const a=[];for(const i of r){const r=y(v({},t),{common:y(v({},t.common),{issues:[]}),parent:null}),n=i._parseSync({data:t.data,path:t.path,parent:r});if("valid"===n.status)return n;"dirty"===n.status&&!e&&(e={result:n,ctx:r}),r.common.issues.length&&a.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const n=a.map((e=>new H(e)));return Q(t,{code:G.invalid_union,unionErrors:n}),q}}get options(){return this._def.options}}$e.create=(e,t)=>new $e(v({options:e,typeName:Qe.ZodUnion},ie(t)));class Te extends oe{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==j.object)return Q(t,{code:G.invalid_type,expected:j.object,received:t.parsedType}),q;const r=this.discriminator,a=t.data[r],n=this.options.get(a);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(Q(t,{code:G.invalid_union_discriminator,options:this.validDiscriminatorValues,path:[r]}),q)}get discriminator(){return this._def.discriminator}get validDiscriminatorValues(){return Array.from(this.options.keys())}get options(){return this._def.options}static create(e,t,r){const a=new Map;try{t.forEach((t=>{const r=t.shape[e].value;a.set(r,t)}))}catch(i){throw new Error("The discriminator value could not be extracted from all the provided schemas")}if(a.size!==t.length)throw new Error("Some of the discriminator values are not unique");return new Te(v({typeName:Qe.ZodDiscriminatedUnion,discriminator:e,options:a},ie(r)))}}function Oe(e,t){const r=V(e),a=V(t);if(e===t)return{valid:!0,data:e};if(r===j.object&&a===j.object){const r=N.objectKeys(t),a=N.objectKeys(e).filter((e=>-1!==r.indexOf(e))),n=v(v({},e),t);for(const i of a){const r=Oe(e[i],t[i]);if(!r.valid)return{valid:!1};n[i]=r.data}return{valid:!0,data:n}}if(r===j.array&&a===j.array){if(e.length!==t.length)return{valid:!1};const r=[];for(let a=0;a{if(J(e)||J(a))return q;const n=Oe(e.value,a.value);return n.valid?((K(e)||K(a))&&t.dirty(),{status:t.value,value:n.data}):(Q(r,{code:G.invalid_intersection_types}),q)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then((([e,t])=>a(e,t))):a(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Se.create=(e,t,r)=>new Se(v({left:e,right:t,typeName:Qe.ZodIntersection},ie(r)));class Ie extends oe{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==j.array)return Q(r,{code:G.invalid_type,expected:j.array,received:r.parsedType}),q;if(r.data.lengththis._def.items.length&&(Q(r,{code:G.too_big,maximum:this._def.items.length,inclusive:!0,type:"array"}),t.dirty());const a=r.data.map(((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new ae(r,e,r.path,t)):null})).filter((e=>!!e));return r.common.async?Promise.all(a).then((e=>U.mergeArray(t,e))):U.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new Ie(y(v({},this._def),{rest:e}))}}Ie.create=(e,t)=>new Ie(v({items:e,typeName:Qe.ZodTuple,rest:null},ie(t)));class Me extends oe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==j.object)return Q(r,{code:G.invalid_type,expected:j.object,received:r.parsedType}),q;const a=[],n=this._def.keyType,i=this._def.valueType;for(const o in r.data)a.push({key:n._parse(new ae(r,o,r.path,o)),value:i._parse(new ae(r,r.data[o],r.path,o))});return r.common.async?U.mergeObjectAsync(t,a):U.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,r){return new Me(t instanceof oe?v({keyType:e,valueType:t,typeName:Qe.ZodRecord},ie(r)):v({keyType:ue.create(),valueType:e,typeName:Qe.ZodRecord},ie(t)))}}class Be extends oe{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==j.map)return Q(r,{code:G.invalid_type,expected:j.map,received:r.parsedType}),q;const a=this._def.keyType,n=this._def.valueType,i=[...r.data.entries()].map((([e,t],i)=>({key:a._parse(new ae(r,e,r.path,[i,"key"])),value:n._parse(new ae(r,t,r.path,[i,"value"]))})));if(r.common.async){const e=new Map;return Promise.resolve().then((()=>k(this,null,(function*(){for(const r of i){const a=yield r.key,n=yield r.value;if("aborted"===a.status||"aborted"===n.status)return q;("dirty"===a.status||"dirty"===n.status)&&t.dirty(),e.set(a.value,n.value)}return{status:t.value,value:e}}))))}{const e=new Map;for(const r of i){const a=r.key,n=r.value;if("aborted"===a.status||"aborted"===n.status)return q;("dirty"===a.status||"dirty"===n.status)&&t.dirty(),e.set(a.value,n.value)}return{status:t.value,value:e}}}}Be.create=(e,t,r)=>new Be(v({valueType:t,keyType:e,typeName:Qe.ZodMap},ie(r)));class Re extends oe{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==j.set)return Q(r,{code:G.invalid_type,expected:j.set,received:r.parsedType}),q;const a=this._def;null!==a.minSize&&r.data.sizea.maxSize.value&&(Q(r,{code:G.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,message:a.maxSize.message}),t.dirty());const n=this._def.valueType;function i(e){const r=new Set;for(const a of e){if("aborted"===a.status)return q;"dirty"===a.status&&t.dirty(),r.add(a.value)}return{status:t.value,value:r}}const o=[...r.data.values()].map(((e,t)=>n._parse(new ae(r,e,r.path,t))));return r.common.async?Promise.all(o).then((e=>i(e))):i(o)}min(e,t){return new Re(y(v({},this._def),{minSize:{value:e,message:re.toString(t)}}))}max(e,t){return new Re(y(v({},this._def),{maxSize:{value:e,message:re.toString(t)}}))}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Re.create=(e,t)=>new Re(v({valueType:e,minSize:null,maxSize:null,typeName:Qe.ZodSet},ie(t)));class Pe extends oe{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==j.function)return Q(t,{code:G.invalid_type,expected:j.function,received:t.parsedType}),q;function r(e,r){return Y({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Z,W].filter((e=>!!e)),issueData:{code:G.invalid_arguments,argumentsError:r}})}function a(e,r){return Y({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Z,W].filter((e=>!!e)),issueData:{code:G.invalid_return_type,returnTypeError:r}})}const n={errorMap:t.common.contextualErrorMap},i=t.data;return this._def.returns instanceof Ne?X(((...e)=>k(this,null,(function*(){const t=new H([]),o=yield this._def.args.parseAsync(e,n).catch((a=>{throw t.addIssue(r(e,a)),t})),l=yield i(...o);return yield this._def.returns._def.type.parseAsync(l,n).catch((e=>{throw t.addIssue(a(l,e)),t}))})))):X(((...e)=>{const t=this._def.args.safeParse(e,n);if(!t.success)throw new H([r(e,t.error)]);const o=i(...t.data),l=this._def.returns.safeParse(o,n);if(!l.success)throw new H([a(o,l.error)]);return l.data}))}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Pe(y(v({},this._def),{args:Ie.create(e).rest(ve.create())}))}returns(e){return new Pe(y(v({},this._def),{returns:e}))}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}}Pe.create=(e,t,r)=>new Pe(v({args:e?e.rest(ve.create()):Ie.create([]).rest(ve.create()),returns:t||ve.create(),typeName:Qe.ZodFunction},ie(r)));class Le extends oe{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Le.create=(e,t)=>new Le(v({getter:e,typeName:Qe.ZodLazy},ie(t)));class De extends oe{_parse(e){return e.data!==this._def.value?(Q(this._getOrReturnCtx(e),{code:G.invalid_literal,expected:this._def.value}),q):{status:"valid",value:e.data}}get value(){return this._def.value}}De.create=(e,t)=>new De(v({value:e,typeName:Qe.ZodLiteral},ie(t)));class ze extends oe{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),r=this._def.values;return Q(t,{expected:N.joinValues(r),received:t.parsedType,code:G.invalid_type}),q}if(-1===this._def.values.indexOf(e.data)){const t=this._getOrReturnCtx(e),r=this._def.values;return Q(t,{received:t.data,code:G.invalid_enum_value,options:r}),q}return X(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}}ze.create=function(e,t){return new ze(v({values:e,typeName:Qe.ZodEnum},ie(t)))};class Fe extends oe{_parse(e){const t=N.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==j.string&&r.parsedType!==j.number){const e=N.objectValues(t);return Q(r,{expected:N.joinValues(e),received:r.parsedType,code:G.invalid_type}),q}if(-1===t.indexOf(e.data)){const e=N.objectValues(t);return Q(r,{received:r.data,code:G.invalid_enum_value,options:e}),q}return X(e.data)}get enum(){return this._def.values}}Fe.create=(e,t)=>new Fe(v({values:e,typeName:Qe.ZodNativeEnum},ie(t)));class Ne extends oe{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==j.promise&&!1===t.common.async)return Q(t,{code:G.invalid_type,expected:j.promise,received:t.parsedType}),q;const r=t.parsedType===j.promise?t.data:Promise.resolve(t.data);return X(r.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Ne.create=(e,t)=>new Ne(v({type:e,typeName:Qe.ZodPromise},ie(t)));class je extends oe{innerType(){return this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e),a=this._def.effect||null;if("preprocess"===a.type){const e=a.transform(r.data);return r.common.async?Promise.resolve(e).then((e=>this._def.schema._parseAsync({data:e,path:r.path,parent:r}))):this._def.schema._parseSync({data:e,path:r.path,parent:r})}const n={addIssue:e=>{Q(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(n.addIssue=n.addIssue.bind(n),"refinement"===a.type){const e=e=>{const t=a.refinement(e,n);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===r.common.async){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===a.status?q:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((r=>"aborted"===r.status?q:("dirty"===r.status&&t.dirty(),e(r.value).then((()=>({status:t.value,value:r.value}))))))}if("transform"===a.type){if(!1===r.common.async){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ee(e))return e;const i=a.transform(e.value,n);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:i}}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>ee(e)?Promise.resolve(a.transform(e.value,n)).then((e=>({status:t.value,value:e}))):e))}N.assertNever(a)}}je.create=(e,t,r)=>new je(v({schema:e,typeName:Qe.ZodEffects,effect:t},ie(r))),je.createWithPreprocess=(e,t,r)=>new je(v({schema:t,effect:{type:"preprocess",transform:e},typeName:Qe.ZodEffects},ie(r)));class Ve extends oe{_parse(e){return this._getType(e)===j.undefined?X(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ve.create=(e,t)=>new Ve(v({innerType:e,typeName:Qe.ZodOptional},ie(t)));class Ge extends oe{_parse(e){return this._getType(e)===j.null?X(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ge.create=(e,t)=>new Ge(v({innerType:e,typeName:Qe.ZodNullable},ie(t)));class He extends oe{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;return t.parsedType===j.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}He.create=(e,t)=>new Ve(v({innerType:e,typeName:Qe.ZodOptional},ie(t)));class We extends oe{_parse(e){if(this._getType(e)!==j.nan){const t=this._getOrReturnCtx(e);return Q(t,{code:G.invalid_type,expected:j.nan,received:t.parsedType}),q}return{status:"valid",value:e.data}}}We.create=e=>new We(v({typeName:Qe.ZodNaN},ie(e)));const Ze=(e,t={},r)=>e?me.create().superRefine(((a,n)=>{if(!e(a)){const e="function"==typeof t?t(a):t,i="string"==typeof e?{message:e}:e;n.addIssue(y(v({code:"custom"},i),{fatal:r}))}})):me.create(),Ye={object:Ce.lazycreate};var Qe;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodPromise="ZodPromise"}(Qe||(Qe={}));const Ue=ue.create,qe=Ae.create,Xe=We.create,Je=de.create,Ke=pe.create,et=he.create,tt=be.create,rt=ge.create,at=me.create,nt=ve.create,it=ye.create,ot=we.create,lt=ke.create,st=Ce.create,ct=Ce.strictCreate,ut=$e.create,ft=Te.create,At=Se.create,dt=Ie.create,pt=Me.create,ht=Be.create,bt=Re.create,gt=Pe.create,mt=Le.create,vt=De.create,yt=ze.create,wt=Fe.create,kt=Ne.create,xt=je.create,Et=Ve.create,_t=Ge.create,Ct=je.createWithPreprocess;var $t=Object.freeze({__proto__:null,getParsedType:V,ZodParsedType:j,makeIssue:Y,EMPTY_PATH:[],addIssueToContext:Q,ParseStatus:U,INVALID:q,DIRTY:e=>({status:"dirty",value:e}),OK:X,isAborted:J,isDirty:K,isValid:ee,isAsync:te,ZodType:oe,ZodString:ue,ZodNumber:Ae,ZodBigInt:de,ZodBoolean:pe,ZodDate:he,ZodUndefined:be,ZodNull:ge,ZodAny:me,ZodUnknown:ve,ZodNever:ye,ZodVoid:we,ZodArray:ke,get objectUtil(){return xe},ZodObject:Ce,ZodUnion:$e,ZodDiscriminatedUnion:Te,ZodIntersection:Se,ZodTuple:Ie,ZodRecord:Me,ZodMap:Be,ZodSet:Re,ZodFunction:Pe,ZodLazy:Le,ZodLiteral:De,ZodEnum:ze,ZodNativeEnum:Fe,ZodPromise:Ne,ZodEffects:je,ZodTransformer:je,ZodOptional:Ve,ZodNullable:Ge,ZodDefault:He,ZodNaN:We,custom:Ze,Schema:oe,ZodSchema:oe,late:Ye,get ZodFirstPartyTypeKind(){return Qe},any:at,array:lt,bigint:Je,boolean:Ke,date:et,discriminatedUnion:ft,effect:xt,enum:yt,function:gt,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Ze((t=>t instanceof e),t,!0),intersection:At,lazy:mt,literal:vt,map:ht,nan:Xe,nativeEnum:wt,never:it,null:rt,nullable:_t,number:qe,object:st,oboolean:()=>Ke().optional(),onumber:()=>qe().optional(),optional:Et,ostring:()=>Ue().optional(),preprocess:Ct,promise:kt,record:pt,set:bt,strictObject:ct,string:Ue,transformer:xt,tuple:dt,undefined:tt,union:ut,unknown:nt,void:ot,ZodIssueCode:G,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:H,defaultErrorMap:W,get overrideErrorMap(){return Z},setErrorMap:e=>{Z=e}});const Tt=["dotnetspy","ebpfspy","gospy","phpspy","pyspy","rbspy","nodespy","javaspy","pyroscope-rs","scrape","tracing","unknown"],Ot=$t.preprocess((e=>e&&Tt.includes(e)?e:"unknown"),$t.enum(Tt).default("unknown")),St=$t.object({names:$t.array($t.preprocess((e=>e||"unknown"),$t.string().min(1))),levels:$t.array($t.array($t.number())),numTicks:$t.number(),maxSelf:$t.number()}),It=["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples"],Mt=$t.preprocess((e=>"string"==typeof e&&It.includes(e)?e:""),$t.enum(["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples",""])),Bt=$t.object({appName:$t.string().optional(),name:$t.string().optional(),startTime:$t.number().optional(),endTime:$t.number().optional(),query:$t.string().optional(),maxNodes:$t.number().optional(),format:$t.enum(["single","double"]),sampleRate:$t.number(),spyName:Ot,units:Mt});$t.object({version:$t.number().min(1).max(1).default(1),flamebearer:St,metadata:Bt,leftTicks:$t.number().optional(),rightTicks:$t.number().optional()});const Rt={format:"single",jStep:4,jName:3,getBarOffset:(e,t)=>e[t],getBarTotal:(e,t)=>e[t+1],getBarTotalDiff:(e,t)=>0,getBarSelf:(e,t)=>e[t+2],getBarSelfDiff:(e,t)=>0,getBarName:(e,t)=>e[t+3]},Pt={format:"double",jStep:7,jName:6,getBarOffset:(e,t)=>e[t]+e[t+3],getBarTotal:(e,t)=>e[t+4]+e[t+1],getBarTotalLeft:(e,t)=>e[t+1],getBarTotalRght:(e,t)=>e[t+4],getBarTotalDiff:(e,t)=>e[t+4]-e[t+1],getBarSelf:(e,t)=>e[t+5]+e[t+2],getBarSelfLeft:(e,t)=>e[t+2],getBarSelfRght:(e,t)=>e[t+5],getBarSelfDiff:(e,t)=>e[t+5]-e[t+2],getBarName:(e,t)=>e[t+6]};function Lt(e){switch(e){case"single":return Rt;case"double":return Pt;default:throw new Error(`Unsupported type: '${e}'`)}}const Dt=$t.object({refType:$t.string(),traceID:$t.string(),spanID:$t.string()}),zt=$t.object({key:$t.string(),type:$t.string(),value:$t.union([$t.boolean(),$t.number(),$t.string()])}),Ft=$t.object({traceID:$t.string(),spanID:$t.string(),flags:$t.string(),operationName:$t.string(),references:$t.array(Dt),startTime:$t.number(),duration:$t.number(),tags:$t.array(zt),logs:$t.object({timestamp:$t.number(),fields:$t.array(zt)}),processID:$t.string(),warnings:$t.any()}),Nt=$t.object({serviceName:$t.string(),tags:$t.array(zt)});$t.object({traceID:$t.string(),spans:$t.array(Ft),processes:$t.record(Nt),warnings:$t.any()});const jt=$t.object({watermark:$t.object({}).optional(),startTime:$t.number(),samples:$t.array($t.number()),durationDelta:$t.number()});$t.record($t.string(),jt);const Vt=22,Gt=5,Ht=Vt-.5;function Wt(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}function Zt(e){return`${Yt(e)}%`}function Yt(e){return Math.round(1e4*e)/100}function Qt(e,t,r){switch(r){case"samples":return new Ut(e/t);case"objects":case"goroutines":case"lock_samples":return new Xt(e);case"bytes":return new Jt(e);case"lock_nanoseconds":return new qt(e);case"trace_samples":return new Ut(e/t,"",!0);default:return console.warn(`Unsupported unit: '${r}'. Defaulting to ''`),new Ut(e/t," ")}}class Ut{constructor(e,t,r){this.divider=1,this.enableSubsecondPrecision=!1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],this.units="",r&&(this.enableSubsecondPrecision=r,this.durations=[[1e3,"ms"],[1e3,"second"],...this.durations],this.suffix="μs",e*=1e6),this.units=t||"";for(let a=0;a=t[0]))break;this.divider*=t[0],e/=t[0],this.suffix=t[1]}}format(e,t){this.enableSubsecondPrecision&&(t/=1e6);const r=e/t/this.divider;let a=r.toFixed(2);return 0===r?a="0.00":(r>=0&&r<.01||r<=0&&r>-.01)&&(a="< 0.01"),`${a} ${this.units||`${this.suffix}${1===r||2===this.suffix.length?"":"s"}`}`}}class qt{constructor(e){this.divider=1,this.multiplier=1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],e/=1e9;for(let t=0;t=r[0]))break;this.divider*=r[0],e/=r[0],this.suffix=r[1]}}format(e){const t=e/1e9/this.divider;let r=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(r="< 0.01"),`${r} ${this.suffix}${1===t?"":"s"}`}}class Xt{constructor(e){this.divider=1,this.suffix="",this.objects=[[1e3,"K"],[1e3,"M"],[1e3,"G"],[1e3,"T"],[1e3,"P"]];for(let t=0;t=r[0]))break;this.divider*=r[0],e/=r[0],this.suffix=r[1]}}format(e){const t=e/this.divider;let r=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(r="< 0.01"),`${r} ${this.suffix}`}}class Jt{constructor(e){this.divider=1,this.suffix="bytes",this.bytes=[[1024,"KB"],[1024,"MB"],[1024,"GB"],[1024,"TB"],[1024,"PB"]];for(let t=0;t=r[0]))break;{this.divider*=r[0],e/=r[0];const t=r[1];t?this.suffix=t:(console.warn("Could not calculate suffix"),this.suffix="")}}}format(e){const t=e/this.divider;let r=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(r="< 0.01"),`${r} ${this.suffix}`}}const Kt="TAIL",er="HEAD",tr=3;function rr({mode:e,charSize:t,rectWidth:r,fullText:a,shortText:n}){if(e===Kt){if(t*a.length<=r)return{mode:e,text:a,marginLeft:tr};const i=t*n.length;return i<=r?{mode:e,text:n,marginLeft:tr}:{mode:e,text:n,marginLeft:-(i-r+tr)}}return{mode:e,text:a,marginLeft:tr}}function ar(e){return e===Kt?{direction:"rtl",overflow:"hidden",textOverflow:"ellipsis"}:{overflow:"hidden",textOverflow:"ellipsis"}}var nr=l(346),ir=l.n(nr),or=Math.sqrt(50),lr=Math.sqrt(10),sr=Math.sqrt(2);function cr(e,t,r){var a=(t-e)/Math.max(0,r),n=Math.floor(Math.log(a)/Math.LN10),i=a/Math.pow(10,n);return n>=0?(i>=or?10:i>=lr?5:i>=sr?2:1)*Math.pow(10,n):-Math.pow(10,-n)/(i>=or?10:i>=lr?5:i>=sr?2:1)}function ur(e,t){return null==e||null==t?NaN:et?1:e>=t?0:NaN}function fr(e){let t=e,r=e,a=e;function n(e,t,n=0,i=e.length){if(n>>1;a(e[r],t)<0?n=r+1:i=r}while(ne(t)-r,r=ur,a=(t,r)=>ur(e(t),r)),{left:n,center:function(e,r,a=0,i=e.length){const o=n(e,r,a,i-1);return o>a&&t(e[o-1],r)>-t(e[o],r)?o-1:o},right:function(e,t,n=0,i=e.length){if(n>>1;a(e[r],t)<=0?n=r+1:i=r}while(n>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?Rr(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?Rr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=xr.exec(e))?new Lr(t[1],t[2],t[3],1):(t=Er.exec(e))?new Lr(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=_r.exec(e))?Rr(t[1],t[2],t[3],t[4]):(t=Cr.exec(e))?Rr(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=$r.exec(e))?Nr(t[1],t[2]/100,t[3]/100,1):(t=Tr.exec(e))?Nr(t[1],t[2]/100,t[3]/100,t[4]):Or.hasOwnProperty(e)?Br(Or[e]):"transparent"===e?new Lr(NaN,NaN,NaN,0):null}function Br(e){return new Lr(e>>16&255,e>>8&255,255&e,1)}function Rr(e,t,r,a){return a<=0&&(e=t=r=NaN),new Lr(e,t,r,a)}function Pr(e,t,r,a){return 1===arguments.length?function(e){return e instanceof br||(e=Mr(e)),e?new Lr((e=e.rgb()).r,e.g,e.b,e.opacity):new Lr}(e):new Lr(e,t,r,null==a?1:a)}function Lr(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function Dr(){return"#"+Fr(this.r)+Fr(this.g)+Fr(this.b)}function zr(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function Fr(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function Nr(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Vr(e,t,r,a)}function jr(e){if(e instanceof Vr)return new Vr(e.h,e.s,e.l,e.opacity);if(e instanceof br||(e=Mr(e)),!e)return new Vr;if(e instanceof Vr)return e;var t=(e=e.rgb()).r/255,r=e.g/255,a=e.b/255,n=Math.min(t,r,a),i=Math.max(t,r,a),o=NaN,l=i-n,s=(i+n)/2;return l?(o=t===i?(r-a)/l+6*(r0&&s<1?0:o,new Vr(o,l,s,e.opacity)}function Vr(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function Gr(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}pr(br,Mr,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:Sr,formatHex:Sr,formatHsl:function(){return jr(this).formatHsl()},formatRgb:Ir,toString:Ir}),pr(Lr,Pr,hr(br,{brighter:function(e){return e=null==e?mr:Math.pow(mr,e),new Lr(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?gr:Math.pow(gr,e),new Lr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Dr,formatHex:Dr,formatRgb:zr,toString:zr})),pr(Vr,(function(e,t,r,a){return 1===arguments.length?jr(e):new Vr(e,t,r,null==a?1:a)}),hr(br,{brighter:function(e){return e=null==e?mr:Math.pow(mr,e),new Vr(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?gr:Math.pow(gr,e),new Vr(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,n=2*r-a;return new Lr(Gr(e>=240?e-240:e+120,n,a),Gr(e,n,a),Gr(e<120?e+240:e-120,n,a),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));const Hr=e=>()=>e;function Wr(e){return 1==(e=+e)?Zr:function(t,r){return r-t?function(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(a){return Math.pow(e+a*t,r)}}(t,r,e):Hr(isNaN(t)?r:t)}}function Zr(e,t){var r=t-e;return r?function(e,t){return function(r){return e+r*t}}(e,r):Hr(isNaN(e)?t:e)}const Yr=function e(t){var r=Wr(t);function a(e,t){var a=r((e=Pr(e)).r,(t=Pr(t)).r),n=r(e.g,t.g),i=r(e.b,t.b),o=Zr(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=n(t),e.b=i(t),e.opacity=o(t),e+""}}return a.gamma=e,a}(1);function Qr(e,t){var r,a=t?t.length:0,n=e?Math.min(a,e.length):0,i=new Array(n),o=new Array(a);for(r=0;ri&&(n=t.slice(i,n),l[o]?l[o]+=n:l[++o]=n),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:qr(r,a)})),i=Kr.lastIndex;return it&&(r=e,e=t,t=r),function(r){return Math.max(e,Math.min(t,r))}}(o[0],o[e-1])),a=e>2?ca:sa,n=i=null,f}function f(t){return null==t||isNaN(t=+t)?r:(n||(n=a(o.map(e),l,s)))(e(c(t)))}return f.invert=function(r){return c(t((i||(i=a(l,o.map(e),qr)))(r)))},f.domain=function(e){return arguments.length?(o=Array.from(e,na),u()):o.slice()},f.range=function(e){return arguments.length?(l=Array.from(e),u()):l.slice()},f.rangeRound=function(e){return l=Array.from(e),s=aa,u()},f.clamp=function(e){return arguments.length?(c=!!e||oa,u()):c!==oa},f.interpolate=function(e){return arguments.length?(s=e,u()):s},f.unknown=function(e){return arguments.length?(r=e,f):r},function(r,a){return e=r,t=a,u()}}function fa(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var Aa,da=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function pa(e){if(!(t=da.exec(e)))throw new Error("invalid format: "+e);var t;return new ha({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function ha(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function ba(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,a=e.slice(0,r);return[a.length>1?a[0]+a.slice(2):a,+e.slice(r+1)]}function ga(e){return(e=ba(Math.abs(e)))?e[1]:NaN}function ma(e,t){var r=ba(e,t);if(!r)return e+"";var a=r[0],n=r[1];return n<0?"0."+new Array(-n).join("0")+a:a.length>n+1?a.slice(0,n+1)+"."+a.slice(n+1):a+new Array(n-a.length+2).join("0")}pa.prototype=ha.prototype,ha.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const va={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ma(100*e,t),r:ma,s:function(e,t){var r=ba(e,t);if(!r)return e+"";var a=r[0],n=r[1],i=n-(Aa=3*Math.max(-8,Math.min(8,Math.floor(n/3))))+1,o=a.length;return i===o?a:i>o?a+new Array(i-o+1).join("0"):i>0?a.slice(0,i)+"."+a.slice(i):"0."+new Array(1-i).join("0")+ba(e,Math.max(0,t+i-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function ya(e){return e}var wa,ka,xa,Ea=Array.prototype.map,_a=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Ca(e){var t=void 0===e.grouping||void 0===e.thousands?ya:function(e,t){return function(r,a){for(var n=r.length,i=[],o=0,l=e[0],s=0;n>0&&l>0&&(s+l+1>a&&(l=Math.max(1,a-s)),i.push(r.substring(n-=l,n+l)),!((s+=l+1)>a));)l=e[o=(o+1)%e.length];return i.reverse().join(t)}}(Ea.call(e.grouping,Number),e.thousands+""),r=void 0===e.currency?"":e.currency[0]+"",a=void 0===e.currency?"":e.currency[1]+"",n=void 0===e.decimal?".":e.decimal+"",i=void 0===e.numerals?ya:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(Ea.call(e.numerals,String)),o=void 0===e.percent?"%":e.percent+"",l=void 0===e.minus?"−":e.minus+"",s=void 0===e.nan?"NaN":e.nan+"";function c(e){var c=(e=pa(e)).fill,u=e.align,f=e.sign,A=e.symbol,d=e.zero,p=e.width,h=e.comma,b=e.precision,g=e.trim,m=e.type;"n"===m?(h=!0,m="g"):va[m]||(void 0===b&&(b=12),g=!0,m="g"),(d||"0"===c&&"="===u)&&(d=!0,c="0",u="=");var v="$"===A?r:"#"===A&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",y="$"===A?a:/[%p]/.test(m)?o:"",w=va[m],k=/[defgprs%]/.test(m);function x(e){var r,a,o,A=v,x=y;if("c"===m)x=w(e)+x,e="";else{var E=(e=+e)<0||1/e<0;if(e=isNaN(e)?s:w(Math.abs(e),b),g&&(e=function(e){e:for(var t,r=e.length,a=1,n=-1;a0&&(n=0)}return n>0?e.slice(0,n)+e.slice(t+1):e}(e)),E&&0==+e&&"+"!==f&&(E=!1),A=(E?"("===f?f:l:"-"===f||"("===f?"":f)+A,x=("s"===m?_a[8+Aa/3]:"")+x+(E&&"("===f?")":""),k)for(r=-1,a=e.length;++r(o=e.charCodeAt(r))||o>57){x=(46===o?n+e.slice(r+1):e.slice(r))+x,e=e.slice(0,r);break}}h&&!d&&(e=t(e,1/0));var _=A.length+e.length+x.length,C=_>1)+A+e+x+C.slice(_);break;default:e=C+A+e+x}return i(e)}return b=void 0===b?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),x.toString=function(){return e+""},x}return{format:c,formatPrefix:function(e,t){var r=c(((e=pa(e)).type="f",e)),a=3*Math.max(-8,Math.min(8,Math.floor(ga(t)/3))),n=Math.pow(10,-a),i=_a[8+a/3];return function(e){return r(n*e)+i}}}}function $a(e,t,r,a){var n,i=function(e,t,r){var a=Math.abs(t-e)/Math.max(0,r),n=Math.pow(10,Math.floor(Math.log(a)/Math.LN10)),i=a/n;return i>=or?n*=10:i>=lr?n*=5:i>=sr&&(n*=2),t0)return[e];if((a=t0){let r=Math.round(e/o),a=Math.round(t/o);for(r*ot&&--a,i=new Array(n=a-r+1);++lt&&--a,i=new Array(n=a-r+1);++l0;){if((n=cr(s,c,r))===a)return i[o]=s,i[l]=c,t(i);if(n>0)s=Math.floor(s/n)*n,c=Math.ceil(c/n)*n;else{if(!(n<0))break;s=Math.ceil(s*n)/n,c=Math.floor(c*n)/n}a=n}return e},e}function Oa(){var e=ua()(oa,oa);return e.copy=function(){return function(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}(e,Oa())},fa.apply(e,arguments),Ta(e)}!function(e){wa=Ca(e),ka=wa.format,xa=wa.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});const Sa=ir().rgb(148,142,142);function Ia(e,t){return ir().rgb(e,e,e).alpha(t)}function Ma(e,t){if(0===t.length)return t;const r=function(e){switch(e){case"dotnetspy":return/^(?.+)\.(.+)\.(.+)\(.*\)$/;case"ebpfspy":case"unknown":return/^(?.+)$/;case"gospy":case"scrape":return/^(?.*?\/.*?\.|.*?\.|.+)(?.*)$/;case"phpspy":return/^(?(.*\/)*)(?.*\.php+)(?.*)$/;case"pyspy":return/^(?(.*\/)*)(?.*\.py+)(?.*)$/;case"rbspy":return/^(?(.*\/)*)(?.*\.rb+)(?.*)$/;case"nodespy":return/^(\.\/node_modules\/)?(?[^/]*)(?.*\.?(jsx?|tsx?)?):(?.*):(?.*)$/;case"tracing":return/^(?.+?):.*$/;case"javaspy":return/^(?.+\/)(?.+\.)(?.+)$/;case"pyroscope-rs":return/^(?[^::]+)/}return/^(?.+)$/}(e),a=t.match(r);return a&&a.groups?a.groups.packageName||"":t}function Ba(e,t){const r=function(e,t=0){let r,a,n,i,o,l,s,c;for(r=3&e.length,a=e.length-r,n=t,o=3432918353,l=461845907,c=0;c>>16)*o&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(65535&s)*l+(((s>>>16)*l&65535)<<16)&4294967295,n^=s,n=n<<13|n>>>19,i=5*(65535&n)+((5*(n>>>16)&65535)<<16)&4294967295,n=27492+(65535&i)+((58964+(i>>>16)&65535)<<16);switch(s=0,r){case 3:s^=(255&e.charCodeAt(c+2))<<16;case 2:s^=(255&e.charCodeAt(c+1))<<8;case 1:s^=255&e.charCodeAt(c);default:s=(65535&s)*o+(((s>>>16)*o&65535)<<16)&4294967295,s=s<<15|s>>>17,s=(65535&s)*l+(((s>>>16)*l&65535)<<16)&4294967295,n^=s}return n^=e.length,n^=n>>>16,n=2246822507*(65535&n)+((2246822507*(n>>>16)&65535)<<16)&4294967295,n^=n>>>13,n=3266489909*(65535&n)+((3266489909*(n>>>16)&65535)<<16)&4294967295,n^=n>>>16,n>>>0}(t,0)%e.colors.length;return e.colors[r]||(console.warn("Could not calculate color. Defaulting to the first one"),e.colors[0])}function Ra(e){const{goodColor:t,neutralColor:r,badColor:a}=e,n=Oa().domain([-100,0,100]).range([t.rgb().toString(),r.rgb().toString(),a.rgb().toString()]);return e=>ir()(n(e).toString())}function Pa(e,t){return t.toLowerCase().includes(e.toLowerCase())}ir().rgb(200,0,0),ir().rgb(0,170,0),ir()("#48CE73");var La=Object.defineProperty,Da=Object.defineProperties,za=Object.getOwnPropertyDescriptors,Fa=Object.getOwnPropertySymbols,Na=Object.prototype.hasOwnProperty,ja=Object.prototype.propertyIsEnumerable,Va=(e,t,r)=>t in e?La(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ga=(e,t)=>{for(var r in t||(t={}))Na.call(t,r)&&Va(e,r,t[r]);if(Fa)for(var r of Fa(t))ja.call(t,r)&&Va(e,r,t[r]);return e},Ha=(e,t)=>Da(e,za(t));function Wa(e){const{canvas:t,fitMode:r,units:a,tickToX:n,levels:i,palette:o}=e,{numTicks:l,sampleRate:s,pxPerTick:c}=e,{rangeMin:u,rangeMax:f}=e,{focusedNode:A,zoom:d}=e,p=function(e){return e.clientWidth||e.width}(t);if(t.width=p,u>=f)throw new Error("'rangeMin' should be strictly smaller than 'rangeMax'");const{format:h}=e,b=Lt(h),g=t.getContext("2d");if(!g)throw new Error("Could not get ctx");const m=d.mapOrElse((()=>0),(e=>e.i)),v=Qt(l,s,a),y=A.isJust,w=A.mapOrElse((()=>0),(e=>e.i)),k=Vt*(i.length-w)+(y?Ht:0);t.height=k,devicePixelRatio>1&&(t.width*=2,t.height*=2,g.scale(2,2));const{names:x}=e;if(y){const e=l*c;g.beginPath(),g.rect(0,0,l*c,Ht),g.fillStyle=Ia(200,1).rgb().string(),g.fill();const t=A.mapOrElse((()=>"total"),(e=>`total (${e.i-1} level(s) collapsed)`));g.textBaseline="middle",g.font="400 11.5px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace";const a=rr({mode:r,charSize:g.measureText("a").width,rectWidth:e,fullText:t,shortText:t}),n=0,i=0,o=Ht;g.save(),g.clip(),g.fillStyle="black";const s=Math.round(Math.max(n,0));g.fillText(a.text,s+a.marginLeft,i+o/2+1),g.restore()}for(let E=0;E0,w=Xa(a+b.jName,t,x,e.highlightQuery);let k=b.getBarTotal(t,a);const _=k*c<=Gt;if(_)for(;a{const r={level:t,j:a,i:E+A.mapOrElse((()=>0),(e=>e.i)),names:x,collapsed:_,selectedLevel:m,highlightModeOn:p,isHighlighted:w,spyName:$,palette:o};switch(h){case"single":return Ua(Ga({},r));case"double":return qa(Ha(Ga({},r),{leftTicks:e.leftTicks,rightTicks:e.rightTicks}));default:throw new Error(`Unsupported format: ${h}`)}})();if(g.beginPath(),g.rect(u,f,C,d),g.fillStyle=T.string(),g.fill(),_||C<20)continue;const O=Za(x,a,h,t),S=Ya(O,k,l,s,v);g.textBaseline="middle",g.font="400 11.5px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace";const I=rr({mode:r,charSize:g.measureText("a").width,rectWidth:C,fullText:S,shortText:O});g.save(),g.clip(),g.fillStyle="black";const M=Math.round(Math.max(u,0));g.fillText(I.text,M+I.marginLeft,f+d/2+1),g.restore()}}}function Za(e,t,r,a){let n=a[t+Lt(r).jName];return void 0===n&&(n=-1),e[n]||(console.warn("Could not find function name for",{j:t,format:r,level:a,names:e}),"")}function Ya(e,t,r,a,n){return`${e} (${Zt(t/r)}, ${n.format(t,a)})`}function Qa({collapsed:e,highlightModeOn:t,isHighlighted:r}){return e||t&&!r?Ia(200,.66):null}function Ua(e){const t=Qa(e);if(t)return t;const r=Lt("single"),a=e.selectedLevel>e.i?.33:1;let n=e.level[e.j+r.jName];void 0===n&&(console.warn("Could nto find level",{l:e.j,jName:r.jName,level:e.level}),n=-1);const i=e.names[n]||"",o=Ma(e.spyName,i)||"";return Ba(e.palette,o).alpha(a)}function qa(e){const t=Qa(e);if(t)return t;const r=e.selectedLevel>e.i?.33:1,{leftRatio:a,rightRatio:n}=function(e,t,r,a){const n=Pt;return r&&a?{leftRatio:n.getBarTotalLeft(e,t)/r,rightRatio:n.getBarTotalRght(e,t)/a}:(console.error("Properties 'rightTicks' and 'leftTicks' are required. Can't calculate ratio."),{leftRatio:0,rightRatio:0})}(e.level,e.j,e.leftTicks,e.rightTicks),i=Yt(a),o=Yt(n);return function(e,t,r){const a=function(e,t){if(e===t)return 0;if(0===e)return 100;const r=(t-e)/e*100;return r>100?100:r<-100?-100:r}(t,r);return Ra(e)(a)}(e.palette,i,o).alpha(r)}function Xa(e,t,r,a){const n=t[e];if(!n)return!1;const i=r[n];return!!i&&Pa(a,i)}var Ja=Object.defineProperty,Ka=Object.defineProperties,en=Object.getOwnPropertyDescriptors,tn=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,an=Object.prototype.propertyIsEnumerable,nn=(e,t,r)=>t in e?Ja(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t)=>{for(var r in t||(t={}))rn.call(t,r)&&nn(e,r,t[r]);if(tn)for(var r of tn(t))an.call(t,r)&&nn(e,r,t[r]);return e},ln=(e,t)=>Ka(e,en(t));class sn{constructor(e,t,r,a,n,i,o){if(this.flamebearer=e,this.canvas=t,this.focusedNode=r,this.fitMode=a,this.highlightQuery=n,this.zoom=i,this.palette=o,this.tickToX=e=>{const{rangeMin:t}=this.getRange();return(e-this.flamebearer.numTicks*t)*this.pxPerTick()},this.xyToBarPosition=e=>{const{ff:t}=this,{i:r,j:a}=this.xyToBarIndex(e.x,e.y),n=this.focusedNode.mapOrElse((()=>0),(e=>e.i<0?0:e.i-1)),i=this.flamebearer.levels[r];if(!i)throw new Error(`Could not find level: '${r}'`);const o=Math.max(this.tickToX(t.getBarOffset(i,a)),0);return{x:o,y:Math.max((r-n)*Vt,0),width:Math.min(this.tickToX(t.getBarOffset(i,a)+t.getBarTotal(i,a))-o,this.getCanvasWidth())}},this.xyToBarData=e=>{const{i:t,j:r}=this.xyToBarIndex(e.x,e.y),a=this.flamebearer.levels[t];if(!a)throw new Error(`Could not find level: '${t}'`);switch(this.flamebearer.format){case"single":{const e=Rt;return{format:"single",name:this.flamebearer.names[e.getBarName(a,r)],self:e.getBarSelf(a,r),offset:e.getBarOffset(a,r),total:e.getBarTotal(a,r)}}case"double":{const e=Pt;return{format:"double",barTotal:e.getBarTotal(a,r),totalLeft:e.getBarTotalLeft(a,r),totalRight:e.getBarTotalRght(a,r),totalDiff:e.getBarTotalDiff(a,r),name:this.flamebearer.names[e.getBarName(a,r)]}}default:throw new Error("Unsupported type")}},this.isWithinBounds=(e,t)=>{if(e<0||e>this.getCanvasWidth())return!1;try{const{i:r,j:a}=this.xyToBarIndex(e,t);if(-1===a||-1===r)return!1}catch(g){return!1}return!0},this.zoom=i,this.focusedNode=r,this.flamebearer=e,this.canvas=t,this.highlightQuery=n,this.ff=Lt(e.format),this.palette=o,r.isJust&&i.isJust&&i.value.i{const r=this.flamebearer.levels[t.i];if(!r)throw new Error(`Could not find level: '${t.i}'`);return{rangeMin:e.getBarOffset(r,t.j)/this.flamebearer.numTicks,rangeMax:(e.getBarOffset(r,t.j)+e.getBarTotal(r,t.j))/this.flamebearer.numTicks}},r=t=>{const r=this.flamebearer.levels[t.i];if(!r)throw new Error(`Could not find level: '${t.i}'`);return{rangeMin:e.getBarOffset(r,t.j)/this.flamebearer.numTicks,rangeMax:(e.getBarOffset(r,t.j)+e.getBarTotal(r,t.j))/this.flamebearer.numTicks}},{zoom:a,focusedNode:n}=this;return a.match({Just:e=>n.match({Just:a=>{const n=r(a),i=t(e);return n.rangeMax-n.rangeMint(e)}),Nothing:()=>n.match({Just:e=>r(e),Nothing:()=>({rangeMin:0,rangeMax:1})})})}getCanvasWidth(){return this.canvas.clientWidth||this.canvas.width}isFocused(){return this.focusedNode.isJust}binarySearchLevel(e,t){const{ff:r}=this;let a=0,n=t.length-r.jStep;for(;a<=n;){const i=r.jStep*(a/r.jStep+n/r.jStep>>1),o=this.tickToX(r.getBarOffset(t,i)),l=this.tickToX(r.getBarOffset(t,i)+r.getBarTotal(t,i));if(o<=e&&l>=e)return l-o>Gt?i:-1;o>e?n=i-r.jStep:a=i+r.jStep}return-1}xyToBarIndex(e,t){if(e<0||t<0)throw new Error(`x and y must be bigger than 0. x = ${e}, y = ${t}`);if(this.isFocused()&&t<=Ht)return{i:0,j:0};const r=this.isFocused()?t-Ht:t,a=this.focusedNode.mapOrElse((()=>0),(e=>e.i<=0?0:e.i)),n=this.zoom.match({Just:()=>this.focusedNode.match({Just:()=>a,Nothing:()=>0}),Nothing:()=>this.focusedNode.match({Just:()=>a,Nothing:()=>0})}),i=Math.floor(r/Vt)+n;if(i>=0&&i{const{i:a,j:n}=this.xyToBarIndex(e,t),i=this.xyToBarPosition(r),o=this.xyToBarData(r);return on(on({i:a,j:n},i),o)}))}}function cn(e){var t,r,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t0;)t+=oi[62*Math.random()|0];return t}function si(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ci(e){return Object.keys(e||{}).reduce((function(t,r){return t+"".concat(r,": ").concat(e[r],";")}),"")}function ui(e){return e.size!==ii.size||e.x!==ii.x||e.y!==ii.y||e.rotate!==ii.rotate||e.flipX||e.flipY}function fi(e){var t=e.transform,r=e.containerWidth,a=e.iconWidth,n={transform:"translate(".concat(r/2," 256)")},i="translate(".concat(32*t.x,", ").concat(32*t.y,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)");return{outer:n,inner:{transform:"".concat(i," ").concat(o," ").concat(l)},path:{transform:"translate(".concat(a/2*-1," -256)")}}}var Ai={x:0,y:0,width:"100%",height:"100%"};function di(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function pi(e){return"g"===e.tag?e.children:[e]}function hi(e){var t=e.icons,r=t.main,a=t.mask,n=e.prefix,i=e.iconName,o=e.transform,l=e.symbol,s=e.title,c=e.maskId,u=e.titleId,f=e.extra,A=e.watchable,d=void 0!==A&&A,p=a.found?a:r,h=p.width,b=p.height,g="fak"===n,m=g?"":"fa-w-".concat(Math.ceil(h/b*16)),v=[Rn.replacementClass,i?"".concat(Rn.familyPrefix,"-").concat(i):"",m].filter((function(e){return-1===f.classes.indexOf(e)})).filter((function(e){return""!==e||!!e})).concat(f.classes).join(" "),y={children:[],attributes:pn({},f.attributes,{"data-prefix":n,"data-icon":i,class:v,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(h," ").concat(b)})},w=g&&!~f.classes.indexOf("fa-fw")?{width:"".concat(h/b*16*.0625,"em")}:{};d&&(y.attributes["data-fa-i2svg"]=""),s&&y.children.push({tag:"title",attributes:{id:y.attributes["aria-labelledby"]||"title-".concat(u||li())},children:[s]});var k=pn({},y,{prefix:n,iconName:i,main:r,mask:a,maskId:c,transform:o,symbol:l,styles:pn({},w,f.styles)}),x=a.found&&r.found?function(e){var t=e.children,r=e.attributes,a=e.main,n=e.mask,i=e.maskId,o=e.transform,l=a.width,s=a.icon,c=n.width,u=n.icon,f=fi({transform:o,containerWidth:c,iconWidth:l}),A={tag:"rect",attributes:pn({},Ai,{fill:"white"})},d=s.children?{children:s.children.map(di)}:{},p={tag:"g",attributes:pn({},f.inner),children:[di(pn({tag:s.tag,attributes:pn({},s.attributes,f.path)},d))]},h={tag:"g",attributes:pn({},f.outer),children:[p]},b="mask-".concat(i||li()),g="clip-".concat(i||li()),m={tag:"mask",attributes:pn({},Ai,{id:b,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[A,h]},v={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:pi(u)},m]};return t.push(v,{tag:"rect",attributes:pn({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(b,")")},Ai)}),{children:t,attributes:r}}(k):function(e){var t=e.children,r=e.attributes,a=e.main,n=e.transform,i=ci(e.styles);if(i.length>0&&(r.style=i),ui(n)){var o=fi({transform:n,containerWidth:a.width,iconWidth:a.width});t.push({tag:"g",attributes:pn({},o.outer),children:[{tag:"g",attributes:pn({},o.inner),children:[{tag:a.icon.tag,children:a.icon.children,attributes:pn({},a.icon.attributes,o.path)}]}]})}else t.push(a.icon);return{children:t,attributes:r}}(k),E=x.children,_=x.attributes;return k.children=E,k.attributes=_,l?function(e){var t=e.prefix,r=e.iconName,a=e.children,n=e.attributes,i=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:pn({},n,{id:!0===i?"".concat(t,"-").concat(Rn.familyPrefix,"-").concat(r):i}),children:a}]}]}(k):function(e){var t=e.children,r=e.main,a=e.mask,n=e.attributes,i=e.styles,o=e.transform;if(ui(o)&&r.found&&!a.found){var l={x:r.width/r.height/2,y:.5};n.style=ci(pn({},i,{"transform-origin":"".concat(l.x+o.x/16,"em ").concat(l.y+o.y/16,"em")}))}return[{tag:"svg",attributes:n,children:t}]}(k)}Rn.measurePerformance&&En&&En.mark&&En.measure;var bi=function(e,t,r,a){var n,i,o,l=Object.keys(e),s=l.length,c=void 0!==a?function(e,t){return function(r,a,n,i){return e.call(t,r,a,n,i)}}(t,a):t;for(void 0===r?(n=1,o=e[l[0]]):(n=0,o=r);n2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,a=void 0!==r&&r,n=Object.keys(t).reduce((function(e,r){var a=t[r];return a.icon?e[a.iconName]=a.icon:e[r]=a,e}),{});"function"!=typeof Ln.hooks.addPack||a?Ln.styles[e]=pn({},Ln.styles[e]||{},n):Ln.hooks.addPack(e,n),"fas"===e&&gi("fa",t)}var mi=Ln.styles,vi=Ln.shims,yi=function(){var e=function(e){return bi(mi,(function(t,r,a){return t[a]=bi(r,e,{}),t}),{})};e((function(e,t,r){return t[3]&&(e[t[3]]=r),e})),e((function(e,t,r){var a=t[2];return e[r]=r,a.forEach((function(t){e[t]=r})),e}));var t="far"in mi;bi(vi,(function(e,r){var a=r[0],n=r[1],i=r[2];return"far"===n&&!t&&(n="fas"),e[a]={prefix:n,iconName:i},e}),{})};function wi(e,t,r){if(e&&e[t]&&e[t][r])return{prefix:t,iconName:r,icon:e[t][r]}}function ki(e){var t=e.tag,r=e.attributes,a=void 0===r?{}:r,n=e.children,i=void 0===n?[]:n;return"string"==typeof e?si(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,r){return t+"".concat(r,'="').concat(si(e[r]),'" ')}),"").trim()}(a),">").concat(i.map(ki).join(""),"")}function xi(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}yi(),Ln.styles,xi.prototype=Object.create(Error.prototype),xi.prototype.constructor=xi;var Ei={fill:"currentColor"},_i={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};pn({},Ei,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"});var Ci=pn({},_i,{attributeName:"opacity"});function $i(e){var t=e[0],r=e[1],a=hn(e.slice(4),1)[0];return{found:!0,width:t,height:r,icon:Array.isArray(a)?{tag:"g",attributes:{class:"".concat(Rn.familyPrefix,"-").concat(On)},children:[{tag:"path",attributes:{class:"".concat(Rn.familyPrefix,"-").concat(In),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(Rn.familyPrefix,"-").concat(Sn),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}}}}pn({},Ei,{cx:"256",cy:"364",r:"28"}),pn({},_i,{attributeName:"r",values:"28;14;28;28;14;28;"}),pn({},Ci,{values:"1;0;1;1;0;1;"}),pn({},Ei,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),pn({},Ci,{values:"1;0;0;0;0;1;"}),pn({},Ei,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),pn({},Ci,{values:"0;0;1;1;0;0;"}),Ln.styles,Ln.styles;var Ti='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}',Oi=function(){function e(){(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this.definitions={}}return function(e,t,r){t&&An(e.prototype,t),r&&An(e,r)}(e,[{key:"add",value:function(){for(var e=this,t=arguments.length,r=new Array(t),a=0;a-1;n--){var i=r[n],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(a=i)}xn.head.insertBefore(t,a)}}(function(){var e=$n,t=Tn,r=Rn.familyPrefix,a=Rn.replacementClass,n=Ti;if(r!==e||a!==t){var i=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),l=new RegExp("\\.".concat(t),"g");n=n.replace(i,".".concat(r,"-")).replace(o,"--".concat(r,"-")).replace(l,".".concat(a))}return n}()),Bi=!0)}function Ii(e){var t=e.prefix,r=void 0===t?"fa":t,a=e.iconName;if(a)return wi(Mi.definitions,r,a)||wi(Ln.styles,r,a)}var Mi=new Oi,Bi=!1,Ri={transform:function(e){return function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var r=t.toLowerCase().split("-"),a=r[0],n=r.slice(1).join("-");if(a&&"h"===n)return e.flipX=!0,e;if(a&&"v"===n)return e.flipY=!0,e;if(n=parseFloat(n),isNaN(n))return e;switch(a){case"grow":e.size=e.size+n;break;case"shrink":e.size=e.size-n;break;case"left":e.x=e.x-n;break;case"right":e.x=e.x+n;break;case"up":e.y=e.y-n;break;case"down":e.y=e.y+n;break;case"rotate":e.rotate=e.rotate+n}return e}),t):t}(e)}},Pi=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=(t||{}).icon?t:Ii(t||{}),n=r.mask;return n&&(n=(n||{}).icon?n:Ii(n||{})),e(a,pn({},r,{mask:n}))}}((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.transform,a=void 0===r?ii:r,n=t.symbol,i=void 0!==n&&n,o=t.mask,l=void 0===o?null:o,s=t.maskId,c=void 0===s?null:s,u=t.title,f=void 0===u?null:u,A=t.titleId,d=void 0===A?null:A,p=t.classes,h=void 0===p?[]:p,b=t.attributes,g=void 0===b?{}:b,m=t.styles,v=void 0===m?{}:m;if(e){var y=e.prefix,w=e.iconName,k=e.icon;return function(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return ki(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(_n){var t=xn.createElement("div");return t.innerHTML=e.html,t.children}}}),e}(pn({type:"icon"},e),(function(){return Si(),Rn.autoA11y&&(f?g["aria-labelledby"]="".concat(Rn.replacementClass,"-title-").concat(d||li()):(g["aria-hidden"]="true",g.focusable="false")),hi({icons:{main:$i(k),mask:l?$i(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:y,iconName:w,transform:pn({},ii,a),symbol:i,title:f,maskId:c,titleId:d,extra:{attributes:g,styles:v,classes:h}})}))}})),Li=l(980),Di=l.n(Li);function zi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function Fi(e){for(var t=1;t=0)&&(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function Gi(e){return function(e){if(Array.isArray(e))return Hi(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Hi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Hi(e,t)}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hi(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r0||!Array.isArray(t)&&t?ji({},e,t):{}}var qi=["forwardedRef"];function Ji(e){var t=e.forwardedRef,r=Vi(e,qi),a=r.icon,n=r.mask,i=r.symbol,o=r.className,l=r.title,s=r.titleId,c=Qi(a),u=Ui("classes",[].concat(Gi(function(e){var t,r=e.beat,a=e.fade,n=e.flash,i=e.spin,o=e.spinPulse,l=e.spinReverse,s=e.pulse,c=e.fixedWidth,u=e.inverse,f=e.border,A=e.listItem,d=e.flip,p=e.size,h=e.rotation,b=e.pull,g=(ji(t={"fa-beat":r,"fa-fade":a,"fa-flash":n,"fa-spin":i,"fa-spin-reverse":l,"fa-spin-pulse":o,"fa-pulse":s,"fa-fw":c,"fa-inverse":u,"fa-border":f,"fa-li":A,"fa-flip-horizontal":"horizontal"===d||"both"===d,"fa-flip-vertical":"vertical"===d||"both"===d},"fa-".concat(p),null!=p),ji(t,"fa-rotate-".concat(h),null!=h&&0!==h),ji(t,"fa-pull-".concat(b),null!=b),ji(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(g).map((function(e){return g[e]?e:null})).filter((function(e){return e}))}(r)),Gi(o.split(" ")))),f=Ui("transform","string"==typeof r.transform?Ri.transform(r.transform):r.transform),A=Ui("mask",Qi(n)),d=Pi(c,Fi(Fi(Fi(Fi({},u),f),A),{},{symbol:i,title:l,titleId:s}));if(!d)return function(){var e;!Yi&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",c),null;var p=d.abstract,h={ref:t};return Object.keys(r).forEach((function(e){Ji.defaultProps.hasOwnProperty(e)||(h[e]=r[e])})),Xi(p[0],h)}Ji.displayName="FontAwesomeIcon",Ji.propTypes={beat:Di().bool,border:Di().bool,className:Di().string,fade:Di().bool,flash:Di().bool,mask:Di().oneOfType([Di().object,Di().array,Di().string]),fixedWidth:Di().bool,inverse:Di().bool,flip:Di().oneOf(["horizontal","vertical","both"]),icon:Di().oneOfType([Di().object,Di().array,Di().string]),listItem:Di().bool,pull:Di().oneOf(["right","left"]),pulse:Di().bool,rotation:Di().oneOf([0,90,180,270]),size:Di().oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:Di().bool,spinPulse:Di().bool,spinReverse:Di().bool,symbol:Di().oneOfType([Di().bool,Di().string]),title:Di().string,transform:Di().oneOfType([Di().string,Di().object]),swapOpacity:Di().bool},Ji.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var Xi=function e(t,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof r)return r;var n=(r.children||[]).map((function(r){return e(t,r)})),i=Object.keys(r.attributes||{}).reduce((function(e,t){var a=r.attributes[t];switch(t){case"class":e.attrs.className=a,delete r.attributes.class;break;case"style":e.attrs.style=function(e){return e.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var r=t.indexOf(":"),a=Wi(t.slice(0,r)),n=t.slice(r+1).trim();return a.startsWith("webkit")?e[function(e){return e.charAt(0).toUpperCase()+e.slice(1)}(a)]=n:e[a]=n,e}),{})}(a);break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=a:e.attrs[Wi(t)]=a}return e}),{attrs:{}}),o=a.style,l=void 0===o?{}:o,s=Vi(a,Zi);return i.attrs.style=Fi(Fi({},i.attrs.style),l),t.apply(void 0,[r.tag,Fi(Fi({},i.attrs),s)].concat(Gi(n)))}.bind(null,r().createElement),Ki=l(247),eo=l(682),to=l(438),ro=l(42),ao=l(111),no=l.n(ao);const io="rc-menu",oo="item",lo=r().createContext({}),so=r().createContext({}),co=r().createContext({}),uo=r().createContext({}),fo=r().createContext({}),Ao=r().createContext({}),po=Object.freeze({ENTER:"Enter",ESC:"Escape",SPACE:" ",HOME:"Home",END:"End",LEFT:"ArrowLeft",RIGHT:"ArrowRight",UP:"ArrowUp",DOWN:"ArrowDown"}),ho=Object.freeze({RESET:"HOVER_INDEX_RESET",SET:"HOVER_INDEX_SET",UNSET:"HOVER_INDEX_UNSET",INCREASE:"HOVER_INDEX_INCREASE",DECREASE:"HOVER_INDEX_DECREASE",FIRST:"HOVER_INDEX_FIRST",LAST:"HOVER_INDEX_LAST"}),bo=Object.freeze({OPEN:"SUBMENU_OPEN",CLOSE:"SUBMENU_CLOSE"}),go=Object.freeze({CLICK:"click",CANCEL:"cancel",BLUR:"blur",SCROLL:"scroll"}),mo=ao.unstable_batchedUpdates||(e=>e()),vo=(e,t)=>t?Object.defineProperty(e,"_reactMenu",{value:t,writable:!1}):e,yo=e=>e&&e._reactMenu,wo=(e,...t)=>"function"==typeof e?e(...t):e,ko=(e,t)=>{const r={};for(const a of Object.keys(e)){const n=e[a],i=t[a];let o;o="function"==typeof i?e=>{i(e),n(e)}:n,r[a]=o}return r},xo=({block:e,element:r,modifiers:a,className:n,externalModifiers:i})=>(0,t.useMemo)((()=>{const t=r?`${e}__${r}`:e;let o=t;for(const e of Object.keys(a||{})){const r=a[e];r&&(o+=` ${t}--`,o+=!0===r?e:`${e}-${r}`)}let l="function"==typeof n?n(i||a):n;return"string"==typeof l&&(l=l.trim(),l&&(o+=` ${l}`)),o}),[e,r,a,n,i]),Eo=e=>e&&"object"==typeof e,_o=e=>"$"===e.charAt(0)?e.slice(1):e,Co=(e,r)=>(0,t.useMemo)((()=>{if("function"==typeof e)return e(r);if(!Eo(e))return;if(!r)return e;const t={};for(const a of Object.keys(e)){const n=e[a];if(Eo(n)){const e=r[_o(a)];if("string"==typeof e)for(const r of Object.keys(n)){const a=n[r];Eo(a)?_o(r)===e&&Object.assign(t,a):t[r]=a}else e&&Object.assign(t,n)}else t[a]=n}return t}),[e,r]),$o=e=>{for(;e&&e!==document.body;){const{overflow:t,overflowX:r,overflowY:a}=getComputedStyle(e);if(/auto|scroll|overlay|hidden/.test(t+a+r))return e;e=e.parentNode}return window},To=(e,t,r=1e-4)=>Math.abs(e-t)!!t&&!!r.includes(yo(t.type)),So=(e,t=0)=>{let a=t,n=!1;const i=["MenuDivider","MenuGroup","MenuHeader","MenuItem","FocusableItem","MenuRadioGroup","SubMenu"];return{items:r().Children.map(e,(e=>{if(!Oo(0,e,i))return null;switch(yo(e.type)){case"MenuDivider":case"MenuHeader":return e;case"MenuRadioGroup":{const t=["MenuItem"],n={type:"radio"},i=r().Children.map(e.props.children,(e=>Oo(0,e,t)?e.props.disabled?r().cloneElement(e,n):r().cloneElement(e,y(v({},n),{index:a++})):null));return r().cloneElement(e,{children:i})}case"MenuGroup":{const{items:t,endIndex:i,descendOverflow:o}=So(e.props.children,a);a=i;const l=Boolean(e.props.takeOverflow);return n=n||o||l,r().cloneElement(e,{children:t})}default:return e.props.disabled?e:r().cloneElement(e,{index:a++})}})),endIndex:a,descendOverflow:n}},Io=e=>({[e?`${e}ClassName`:"className"]:Di().oneOfType([Di().string,Di().func]),[e?`${e}Styles`:"styles"]:Di().oneOfType([Di().object,Di().func])}),Mo=y(v(v({},Io()),Io("arrow")),{"aria-label":Di().string,arrow:Di().bool,offsetX:Di().number,offsetY:Di().number,align:Di().oneOf(["start","center","end"]),direction:Di().oneOf(["left","right","top","bottom"]),position:Di().oneOf(["auto","anchor","initial"]),overflow:Di().oneOf(["auto","visible","hidden"]),children:Di().node.isRequired}),Bo=y(v({},Mo),{id:Di().oneOfType([Di().string,Di().number]),animation:Di().bool,debugging:Di().bool,boundingBoxRef:Di().object,boundingBoxPadding:Di().string,reposition:Di().oneOf(["auto","initial"]),repositionFlag:Di().oneOfType([Di().string,Di().number]),viewScroll:Di().oneOf(["auto","close","initial"]),submenuOpenDelay:Di().number,submenuCloseDelay:Di().number,portal:Di().bool,theming:Di().string,onItemClick:Di().func,onClick:Di().func}),Ro={offsetX:0,offsetY:0,align:"start",direction:"bottom",position:"auto",overflow:"visible"},Po=y(v({},Ro),{animation:!0,reposition:"auto",viewScroll:"initial",submenuOpenDelay:300,submenuCloseDelay:150}),Lo=(e,r,a)=>{const[n,i]=(0,t.useState)(!1),o=(0,t.useMemo)((()=>[po.SPACE,po.ENTER,...a?[a]:[]]),[a]),l=(0,t.useCallback)((()=>i(!1)),[]);return{isActive:n,onPointerDown:(0,t.useCallback)((()=>{r||i(!0)}),[r]),onPointerUp:l,onPointerLeave:l,onKeyDown:(0,t.useCallback)((t=>{e&&!r&&o.includes(t.key)&&i(!0)}),[e,r,o]),onKeyUp:(0,t.useCallback)((e=>{o.includes(e.key)&&i(!1)}),[o]),onBlur:(0,t.useCallback)((e=>{e.currentTarget.contains(e.relatedTarget)||i(!1)}),[])}},Do=(e,r)=>{const a=(0,t.useRef)(null),{submenuCloseDelay:n}=(0,t.useContext)(Ao),{isParentOpen:i,hoverIndex:o,isSubmenuOpen:l,dispatch:s}=(0,t.useContext)(lo),c=o===r,u=(0,t.useRef)(),f=(0,t.useCallback)((()=>{e||s({type:ho.SET,index:r})}),[e,s,r]),A=(0,t.useCallback)((e=>{e.currentTarget.contains(e.relatedTarget)||s({type:ho.UNSET,index:r})}),[s,r]),d=(0,t.useCallback)((()=>{l?u.current=setTimeout(f,n):f()}),[l,n,f]),p=(0,t.useCallback)(((e,t)=>{u.current&&clearTimeout(u.current),t||s({type:ho.UNSET,index:r})}),[s,r]);return(0,t.useEffect)((()=>()=>clearTimeout(u.current)),[]),(0,t.useEffect)((()=>{c&&i&&a.current&&a.current.focus()}),[c,i]),{ref:a,isHovering:c,setHover:f,onBlur:A,onMouseEnter:d,onMouseLeave:p}},zo=(e,r)=>{const a=(0,t.useRef)(r);(0,t.useEffect)((()=>{a.current!==r&&wo(e,{open:r}),a.current=r}),[e,r])},Fo=Object.freeze({INITIAL:"initial",FIRST:"first",LAST:"last"}),No=Object.freeze({UNMOUNTED:0,CLOSED:1,OPEN:2}),jo=Object.freeze({OPEN:0,CLOSE:1,TOGGLE:2}),Vo=(e=!0)=>{const[r,a]=(0,t.useState)({position:Fo.INITIAL}),[n,i]=(0,t.useReducer)((function(t,{type:r}){switch(r){case jo.OPEN:return No.OPEN;case jo.CLOSE:return t===No.OPEN?e?No.CLOSED:No.UNMOUNTED:t;case jo.TOGGLE:return t===No.OPEN?e?No.CLOSED:No.UNMOUNTED:No.OPEN;default:throw new Error("menuStateReducer: unknown action type")}}),No.UNMOUNTED);return{isMounted:n!==No.UNMOUNTED,isOpen:n===No.OPEN,menuItemFocus:r,openMenu:(0,t.useCallback)(((e=Fo.INITIAL)=>{a({position:e}),i({type:jo.OPEN})}),[]),closeMenu:(0,t.useCallback)((()=>i({type:jo.CLOSE})),[]),toggleMenu:(0,t.useCallback)(((e=Fo.INITIAL)=>{a({position:e}),i({type:jo.TOGGLE})}),[])}},Go="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect,Ho=vo(r().memo(r().forwardRef((function(e,a){var n=e,{className:i,styles:o,isOpen:l,disabled:s,children:c}=n,u=w(n,["className","styles","isOpen","disabled","children"]);const f=(0,t.useMemo)((()=>Object.freeze({open:l})),[l]);return r().createElement("button",Object.assign({"aria-haspopup":"true","aria-expanded":l,"aria-disabled":s||void 0,disabled:s},u,{ref:a,className:xo({block:"rc-menu-button",modifiers:f,className:i}),style:Co(o,f)}),c)}))),"MenuButton");Ho.propTypes=y(v({},Io()),{isOpen:Di().bool,disabled:Di().bool,children:Di().node.isRequired,onClick:Di().func,onKeyDown:Di().func});const Wo=vo(r().memo((function(e){var a=e,{ariaLabel:n,className:i,styles:o,arrowClassName:l,arrowStyles:s,anchorPoint:c,anchorRef:u,containerRef:f,arrow:A,align:d,direction:p,position:h,overflow:b,repositionFlag:g,captureFocus:m=!0,isOpen:k,isDisabled:x,menuItemFocus:E,offsetX:_,offsetY:C,children:$,onClose:T}=a,O=w(a,["ariaLabel","className","styles","arrowClassName","arrowStyles","anchorPoint","anchorRef","containerRef","arrow","align","direction","position","overflow","repositionFlag","captureFocus","isOpen","isDisabled","menuItemFocus","offsetX","offsetY","children","onClose"]);const[S,I]=(0,t.useState)({x:0,y:0}),[M,B]=(0,t.useState)({}),[R,P]=(0,t.useState)(),[L,D]=(0,t.useState)(!1),[z,F]=(0,t.useState)(p),{animation:N,boundingBoxRef:j,boundingBoxPadding:V,rootMenuRef:G,rootAnchorRef:H,scrollingRef:W,anchorScrollingRef:Z,reposition:Y,viewScroll:Q}=(0,t.useContext)(fo),U=(0,t.useRef)(null),q=(0,t.useRef)(null),J=(0,t.useRef)(0),X=(0,t.useRef)(k),K=(0,t.useRef)({width:0,height:0}),ee=(0,t.useRef)((()=>{})),te=(0,t.useRef)(!1),re=(0,t.useContext)(so).reposSubmenu||g,[ae,ne]=(0,t.useReducer)((e=>e+1),1),[{hoverIndex:ie,openSubmenuCount:oe},le]=(0,t.useReducer)((function({hoverIndex:e,openSubmenuCount:t},r){return{hoverIndex:se(e,r),openSubmenuCount:Zo(t,r)}}),{hoverIndex:-1,openSubmenuCount:0});function se(e,{type:t,index:r}){switch(t){case ho.RESET:return-1;case ho.SET:return r;case ho.UNSET:return e===r?-1:e;case ho.DECREASE:{let t=e;return t--,t<0&&(t=J.current-1),t}case ho.INCREASE:{let t=e;return t++,t>=J.current&&(t=0),t}case ho.FIRST:return J.current>0?0:-1;case ho.LAST:return J.current>0?J.current-1:-1;default:return e}}const ce=(0,t.useMemo)((()=>{const{items:e,endIndex:t,descendOverflow:r}=So($);return J.current=t,te.current=r,e}),[$]),ue=(0,t.useCallback)((()=>{const e=U.current.getBoundingClientRect(),t=f.current.getBoundingClientRect(),r=W.current===window?{left:0,top:0,right:document.documentElement.clientWidth,bottom:window.innerHeight}:W.current.getBoundingClientRect(),a=(e=>{if("string"!=typeof e)return{top:0,right:0,bottom:0,left:0};const t=e.trim().split(/\s+/,4).map(parseFloat),r=isNaN(t[0])?0:t[0],a=isNaN(t[1])?r:t[1];return{top:r,right:a,bottom:isNaN(t[2])?r:t[2],left:isNaN(t[3])?a:t[3]}})(V),n=e=>e+t.left-r.left-a.left,i=n=>n+t.left+e.width-r.right+a.right,o=e=>e+t.top-r.top-a.top,l=n=>n+t.top+e.height-r.bottom+a.bottom;return{menuRect:e,containerRect:t,getLeftOverflow:n,getRightOverflow:i,getTopOverflow:o,getBottomOverflow:l,confineHorizontally:e=>{let t=n(e);if(t<0)e-=t;else{const r=i(e);r>0&&(t=n(e-=r),t<0&&(e-=t))}return e},confineVertically:e=>{let t=o(e);if(t<0)e-=t;else{const r=l(e);r>0&&(t=o(e-=r),t<0&&(e-=t))}return e}}}),[f,W,V]),fe=(0,t.useCallback)(((e,t,r,a)=>{let n=t.left-r.left-e+t.width/2;const i=1.25*q.current.offsetWidth;return n=Math.max(i,n),n=Math.min(n,a.width-i),n}),[]),Ae=(0,t.useCallback)(((e,t,r,a)=>{let n=t.top-r.top-e+t.height/2;const i=1.25*q.current.offsetHeight;return n=Math.max(i,n),n=Math.min(n,a.height-i),n}),[]),de=(0,t.useCallback)((({anchorRect:e,containerRect:t,menuRect:r},{placeLeftorRightY:a,placeLeftX:n,placeRightX:i},{getLeftOverflow:o,getRightOverflow:l,confineHorizontally:s,confineVertically:c})=>{let u,f,d,b=p,g=a;return"initial"!==h&&(g=c(g),"anchor"===h&&(g=Math.min(g,e.bottom-t.top),g=Math.max(g,e.top-t.top-r.height))),"left"===b?(u=n,"initial"!==h&&(f=o(u),f<0&&(d=l(i),(d<=0||-f>d)&&(u=i,b="right")))):(u=i,"initial"!==h&&(d=l(u),d>0&&(f=o(n),(f>=0||-f{let u,f,d,b="top"===p?"top":"bottom",g=a;return"initial"!==h&&(g=s(g),"anchor"===h&&(g=Math.min(g,e.right-t.left),g=Math.max(g,e.left-t.left-r.width))),"top"===b?(u=n,"initial"!==h&&(f=o(u),f<0&&(d=l(i),(d<=0||-f>d)&&(u=i,b="bottom")))):(u=i,"initial"!==h&&(d=l(u),d>0&&(f=o(n),(f>=0||-f{const r=e,{menuRect:a,containerRect:n}=r,i=w(r,["menuRect","containerRect"]);let o=_,l=C;A&&("left"===p||"right"===p?o+=q.current.offsetWidth:l+=q.current.offsetHeight);const s=t.current.getBoundingClientRect(),c=s.left-n.left-a.width-o,u=s.right-n.left+o,f=s.top-n.top-a.height-l,h=s.bottom-n.top+l;let b,g;"end"===d?(b=s.right-n.left-a.width,g=s.bottom-n.top-a.height):"center"===d?(b=s.left-n.left-(a.width-s.width)/2,g=s.top-n.top-(a.height-s.height)/2):(b=s.left-n.left,g=s.top-n.top),b+=o,g+=l;const m={anchorRect:s,containerRect:n,menuRect:a},v={placeLeftX:c,placeRightX:u,placeLeftorRightY:g,placeTopY:f,placeBottomY:h,placeToporBottomX:b};switch(p){case"left":case"right":return de(m,v,i);default:return pe(m,v,i)}}),[A,d,p,_,C,de,pe]),be=(0,t.useCallback)(((e,t)=>{const{menuRect:r,containerRect:a,getLeftOverflow:n,getRightOverflow:i,getTopOverflow:o,getBottomOverflow:l,confineHorizontally:s,confineVertically:c}=e;let u,f;u=t.x-a.left,f=t.y-a.top;const A=i(u);if(A>0){const e=u-r.width,t=n(e);(t>=0||-t0){const e=f-r.height,t=o(e);(t>=0||-t{if(!f.current)return;W.current||(W.current=j?j.current:$o(G.current));const e=ue(),{menuRect:t}=e;let r={computedDirection:"bottom"};c?r=be(e,c):u&&(r=he(e,u));let{arrowX:a,arrowY:n,x:i,y:o,computedDirection:l}=r,s=t.height;if("visible"!==b){const{getTopOverflow:t,getBottomOverflow:r}=e;let a,n;const i=K.current.height,l=r(o);if(l>0||To(l,0)&&To(s,i))a=s-l,n=l;else{const e=t(o);(e<0||To(e,0)&&To(s,i))&&(a=s+e,n=0-e,a>=0&&(o-=e))}a>=0?(s=a,P({height:a,overflowAmt:n})):P()}A&&B({x:a,y:n}),I({x:i,y:o}),F(l),K.current={width:t.width,height:s}}),[A,c,u,f,j,G,W,b,ue,he,be]);Go((()=>{k&&(ge(),X.current&&ne()),ee.current=ge}),[k,ge,re]),Go((()=>{R&&!te.current&&(U.current.scrollTop=0)}),[R]),Go((()=>{N&&(k?D(!1):k!==X.current&&D(!0)),X.current=k}),[N,k]),(0,t.useEffect)((()=>{if(!k)return;!Z.current&&H&&H.current.tagName&&(Z.current=$o(H.current));const e=W.current,t=e&&e.addEventListener?e:window,r=Z.current||t;let a=Q;if(r!==t&&"initial"===a&&(a="auto"),"initial"===a)return;"auto"===a&&"visible"!==b&&(a="close");const n=()=>{"auto"===a?mo(ge):wo(T,{reason:go.SCROLL})},i=r!==t&&"initial"!==Q?[r,t]:[r];return i.forEach((e=>e.addEventListener("scroll",n))),()=>i.forEach((e=>e.removeEventListener("scroll",n)))}),[H,Z,W,k,b,T,Q,ge]),(0,t.useEffect)((()=>{if("function"!=typeof ResizeObserver||"initial"===Y)return;const e=new ResizeObserver((([e])=>{const{borderBoxSize:t,target:r}=e;let a,n;if(t){const{inlineSize:e,blockSize:r}=t[0]||t;a=e,n=r}else{const e=r.getBoundingClientRect();a=e.width,n=e.height}0===a||0===n||To(a,K.current.width,1)&&To(n,K.current.height,1)||mo((()=>{ee.current(),ne()}))})),t=U.current;return e.observe(t,{box:"border-box"}),()=>e.unobserve(t)}),[Y]),(0,t.useEffect)((()=>{k||(le({type:ho.RESET}),N||P());const e=setTimeout((()=>{!k||!U.current||U.current.contains(document.activeElement)||(m&&U.current.focus(),E.position===Fo.FIRST?le({type:ho.FIRST}):E.position===Fo.LAST&&le({type:ho.LAST}))}),N?170:100);return()=>clearTimeout(e)}),[N,m,k,E]);const me=oe>0,ve=(0,t.useMemo)((()=>({isParentOpen:k,hoverIndex:ie,isSubmenuOpen:me,dispatch:le})),[k,ie,me]);let ye,we;R&&(te.current?we=R.overflowAmt:ye=R.height);const ke=(0,t.useMemo)((()=>({reposSubmenu:ae,overflow:b,overflowAmt:we})),[ae,b,we]),xe=ye>=0?{maxHeight:ye,overflow:b}:void 0,Ee=(0,t.useMemo)((()=>({open:k,closing:L,animation:N,dir:N&&z})),[k,L,N,z]),_e=(0,t.useMemo)((()=>Object.freeze(y(v({},Ee),{dir:z}))),[Ee,z]),Ce=(0,t.useMemo)((()=>Object.freeze({dir:z})),[z]),$e=xo({block:io,element:"arrow",modifiers:Ce,className:l}),Te=Co(s,Ce),Oe=ko({onKeyDown:e=>{let t=!1;switch(e.key){case po.HOME:le({type:ho.FIRST}),t=!0;break;case po.END:le({type:ho.LAST}),t=!0;break;case po.UP:le({type:ho.DECREASE}),t=!0;break;case po.DOWN:le({type:ho.INCREASE}),t=!0;break;case po.SPACE:e.target&&e.target.className.includes(io)&&e.preventDefault()}t&&(e.preventDefault(),e.stopPropagation())},onAnimationEnd:()=>{L&&(D(!1),P())}},O);return r().createElement("ul",Object.assign({role:"menu",tabIndex:"-1","aria-disabled":x||void 0,"aria-label":n},O,Oe,{ref:U,className:xo({block:io,modifiers:Ee,className:i,externalModifiers:_e}),style:y(v(v({},Co(o,_e)),xe),{left:`${S.x}px`,top:`${S.y}px`})}),A&&r().createElement("div",{className:$e,style:y(v({},Te),{left:M.x&&`${M.x}px`,top:M.y&&`${M.y}px`}),ref:q}),r().createElement(so.Provider,{value:ke},r().createElement(lo.Provider,{value:ve},ce)))})),"MenuList");function Zo(e,{type:t}){switch(t){case bo.OPEN:return e+1;case bo.CLOSE:return Math.max(e-1,0);default:return e}}const Yo=(e,{id:a,animation:n,boundingBoxRef:i,boundingBoxPadding:o,debugging:l,reposition:s,submenuOpenDelay:c,submenuCloseDelay:u,viewScroll:f,portal:A,theming:d,isMounted:p,onItemClick:h,onClick:b,onClose:g,skipClick:m})=>{const v=(0,t.useRef)(null),y=(0,t.useRef)(null),w=(0,t.useRef)(null),{anchorRef:k,isOpen:x}=e,E=(0,t.useMemo)((()=>({animation:n,boundingBoxRef:i,boundingBoxPadding:o,rootMenuRef:v,rootAnchorRef:k,scrollingRef:y,anchorScrollingRef:w,reposition:s,viewScroll:f})),[n,k,i,o,s,f]),_=(0,t.useMemo)((()=>({debugging:l,submenuOpenDelay:c,submenuCloseDelay:u})),[l,c,u]),C=(0,t.useMemo)((()=>({handleClick(e,t,r){t||wo(h||b,e);let a=e.keepOpen;void 0===a&&(a=r&&e.key===po.SPACE),a||wo(g,{value:e.value,key:e.key,reason:go.CLICK})},handleClose(e){wo(g,{key:e,reason:go.CLICK})}})),[h,b,g]),$=(0,t.useMemo)((()=>({theme:d})),[d]),T=r().createElement("div",{id:a,className:xo({block:"rc-menu-container",modifiers:$}),ref:v,onKeyDown:({key:e})=>{e===po.ESC&&wo(g,{key:e,reason:go.CANCEL})},onBlur:e=>{x&&!e.currentTarget.contains(e.relatedTarget||document.activeElement)&&!l&&(wo(g,{reason:go.BLUR}),m&&(m.current=!0,setTimeout((()=>m.current=!1),300)))}},p&&r().createElement(fo.Provider,{value:E},r().createElement(Ao.Provider,{value:_},r().createElement(co.Provider,{value:C},r().createElement(Wo,Object.assign({},e,{containerRef:v,onClose:g}))))));return A?no().createPortal(T,document.body):T},Qo=r().memo((function(e){var a=e,{"aria-label":n,id:i,animation:o,boundingBoxRef:l,boundingBoxPadding:s,captureFocus:c,debugging:u,reposition:f,viewScroll:A,keepMounted:d,menuButton:p,portal:h,submenuOpenDelay:b,submenuCloseDelay:g,theming:m,onItemClick:k,onClick:x,onChange:E}=a,_=w(a,["aria-label","id","animation","boundingBoxRef","boundingBoxPadding","captureFocus","debugging","reposition","viewScroll","keepMounted","menuButton","portal","submenuOpenDelay","submenuCloseDelay","theming","onItemClick","onClick","onChange"]);const{isMounted:C,isOpen:$,menuItemFocus:T,openMenu:O,closeMenu:S}=Vo(d),I=(0,t.useRef)(!1),M=(0,t.useRef)(null),B=(0,t.useMemo)((()=>wo(p,{open:$})),[p,$]);if(!B)throw new Error("Menu requires a menuButton prop.");const R=(0,t.useCallback)((e=>{S(),e.key&&M.current.focus()}),[S]),P=(0,t.useCallback)((e=>{I.current||O(0===e.detail?Fo.FIRST:Fo.INITIAL)}),[O]),L=(0,t.useCallback)((e=>{let t=!1;switch(e.key){case po.UP:O(Fo.LAST),t=!0;break;case po.DOWN:O(Fo.FIRST),t=!0}t&&e.preventDefault()}),[O]),D=(0,t.useMemo)((()=>{const e=v({ref:M},ko({onClick:P,onKeyDown:L},B.props));return"MenuButton"===yo(B.type)&&(e.isOpen=$),r().cloneElement(B,e)}),[B,$,P,L]),z=Yo(y(v({},_),{ariaLabel:n||("string"==typeof B.props.children?B.props.children:"Menu"),anchorRef:M,isOpen:$,menuItemFocus:T}),{id:i,animation:o,boundingBoxRef:l,boundingBoxPadding:s,debugging:u,reposition:f,submenuOpenDelay:b,submenuCloseDelay:g,viewScroll:A,portal:h,theming:m,isMounted:C,onItemClick:k,onClick:x,onClose:R,skipClick:I});return zo(E,$),r().createElement(r().Fragment,null,D,z)}));Qo.propTypes=y(v({},Bo),{keepMounted:Di().bool,menuButton:Di().oneOfType([Di().element,Di().func]).isRequired,onChange:Di().func}),Qo.defaultProps=y(v({},Po),{keepMounted:!0});const Uo=r().memo((function(e){var t=e,{"aria-label":r,id:a,animation:n,boundingBoxRef:i,boundingBoxPadding:o,debugging:l,reposition:s,submenuOpenDelay:c,submenuCloseDelay:u,viewScroll:f,portal:A,theming:d,isMounted:p,onItemClick:h,onClick:b,onClose:g}=t,m=w(t,["aria-label","id","animation","boundingBoxRef","boundingBoxPadding","debugging","reposition","submenuOpenDelay","submenuCloseDelay","viewScroll","portal","theming","isMounted","onItemClick","onClick","onClose"]);return Yo(y(v({},m),{ariaLabel:r||"Menu"}),{id:a,animation:n,boundingBoxRef:i,boundingBoxPadding:o,debugging:l,reposition:s,submenuOpenDelay:c,submenuCloseDelay:u,viewScroll:f,portal:A,theming:d,isMounted:p,onItemClick:h,onClick:b,onClose:g})}));Uo.propTypes=y(v({},Bo),{anchorPoint:Di().exact({x:Di().number,y:Di().number}),anchorRef:Di().object,captureFocus:Di().bool,isOpen:Di().bool,isMounted:Di().bool,menuItemFocus:Di().exact({position:Di().string}),onClose:Di().func}),Uo.defaultProps=y(v({},Po),{captureFocus:!0,isOpen:!1,isMounted:!0,menuItemFocus:{position:Fo.INITIAL}});const qo=vo(r().memo((function(e){var a=e,{"aria-label":n,itemClassName:i,itemStyles:o,disabled:l,keepMounted:s,label:c,index:u,onChange:f,captureFocus:A,repositionFlag:d}=a,p=w(a,["aria-label","itemClassName","itemStyles","disabled","keepMounted","label","index","onChange","captureFocus","repositionFlag"]);const{isMounted:h,isOpen:b,menuItemFocus:g,openMenu:m,closeMenu:v}=Vo(s),{isParentOpen:y,hoverIndex:k,isSubmenuOpen:x,dispatch:E}=(0,t.useContext)(lo),{debugging:_,submenuOpenDelay:C,submenuCloseDelay:$}=(0,t.useContext)(Ao),T=k===u,O=Boolean(l),S=Lo(T,O,po.RIGHT),{isActive:I,onKeyUp:M}=S,B=w(S,["isActive","onKeyUp"]),R=(0,t.useRef)(null),P=(0,t.useRef)(null),L=(0,t.useRef)(),D=(0,t.useCallback)((()=>{v(),P.current.focus()}),[v]),z=e=>{E({type:ho.SET,index:u}),L.current=setTimeout(m,Math.max(e,0))};(0,t.useEffect)((()=>()=>clearTimeout(L.current)),[]),(0,t.useEffect)((()=>{T&&y?P.current.focus():v()}),[T,y,v]),(0,t.useEffect)((()=>{E({type:b?bo.OPEN:bo.CLOSE})}),[E,b]),zo(f,b);const F=(0,t.useMemo)((()=>Object.freeze({open:b,hover:T,active:I,disabled:O})),[b,T,I,O]);return r().createElement("li",{className:xo({block:io,element:"submenu"}),role:"presentation",ref:R,onKeyDown:e=>{let t=!1;switch(e.key){case po.LEFT:b&&(D(),t=!0);break;case po.RIGHT:b||(t=!0)}t&&(e.preventDefault(),e.stopPropagation())},onBlur:e=>{if(_)return;const t=e.relatedTarget||document.activeElement;e.currentTarget.contains(t)||(v(),E({type:ho.UNSET,index:u}))}},r().createElement("div",Object.assign({className:xo({block:io,element:oo,modifiers:F,className:i}),style:Co(o,F),role:"menuitem","aria-haspopup":"true","aria-expanded":b,"aria-disabled":O||void 0,tabIndex:T&&!b?0:-1,ref:P,onMouseEnter:()=>{O||b||(x?L.current=setTimeout((()=>z(C-$)),$):z(C))},onMouseLeave:()=>{clearTimeout(L.current),b||E({type:ho.UNSET,index:u})},onMouseDown:()=>!T&&E({type:ho.SET,index:u}),onClick:()=>{O||(clearTimeout(L.current),m())},onKeyUp:e=>{if(I)switch(M(e),e.key){case po.SPACE:case po.ENTER:case po.RIGHT:m(Fo.FIRST)}}},B),(0,t.useMemo)((()=>wo(c,F)),[c,F])),h&&r().createElement(Wo,Object.assign({},p,{ariaLabel:n||("string"==typeof c?c:"Submenu"),anchorRef:P,containerRef:R,isOpen:b,isDisabled:O,menuItemFocus:g})))})),"SubMenu");qo.propTypes=y(v(v({},Mo),Io("item")),{disabled:Di().bool,keepMounted:Di().bool,label:Di().oneOfType([Di().node,Di().func]).isRequired,onChange:Di().func}),qo.defaultProps=y(v({},Ro),{direction:"right",keepMounted:!0});const Jo=vo(r().memo((function(e){var a=e,{className:n,styles:i,value:o,href:l,type:s,checked:c,disabled:u,index:f,children:A,onClick:d}=a,p=w(a,["className","styles","value","href","type","checked","disabled","index","children","onClick"]);const h=Boolean(u),{ref:b,isHovering:g,setHover:m,onBlur:k,onMouseEnter:x,onMouseLeave:E}=Do(h,f),_=(0,t.useContext)(co),C=(0,t.useContext)(uo),$=Lo(g,h),{isActive:T,onKeyUp:O,onBlur:S}=$,I=w($,["isActive","onKeyUp","onBlur"]),M="radio"===s,B="checkbox"===s,R=Boolean(l)&&!h&&!M&&!B,P=M?C.value===o:!!B&&Boolean(c),L=e=>{if(h)return;let t=!1;const r={value:o,syntheticEvent:e};void 0!==e.key&&(r.key=e.key),M&&(r.name=C.name,wo(C.onChange,r)),r.checked=!!B&&!P,t=!1===wo(d,r),_.handleClick(r,t,B||M)},D=(0,t.useMemo)((()=>Object.freeze({type:s,disabled:h,hover:g,active:T,checked:P,anchor:R})),[s,h,g,T,P,R]),z=ko(y(v({},I),{onMouseEnter:x,onMouseLeave:E,onMouseDown:m,onKeyUp:e=>{if(T)switch(O(e),e.key){case po.SPACE:case po.ENTER:R?b.current.click():L(e)}},onBlur:e=>{S(e),k(e)},onClick:L}),p),F=y(v(v({role:M?"menuitemradio":B?"menuitemcheckbox":"menuitem","aria-checked":M||B?P:void 0,"aria-disabled":h||void 0,tabIndex:g?0:-1},p),z),{ref:b,className:xo({block:io,element:oo,modifiers:D,className:n}),style:Co(i,D)}),N=(0,t.useMemo)((()=>wo(A,D)),[A,D]);return R?r().createElement("li",{role:"presentation"},r().createElement("a",Object.assign({},F,{href:l}),N)):r().createElement("li",F,N)})),"MenuItem");Jo.propTypes=y(v({},Io()),{value:Di().any,href:Di().string,type:Di().oneOf(["checkbox","radio"]),checked:Di().bool,disabled:Di().bool,children:Di().oneOfType([Di().node,Di().func]).isRequired,onClick:Di().func});const Xo=vo(r().memo((function(e){var a=e,{className:n,styles:i,disabled:o,index:l,children:s}=a,c=w(a,["className","styles","disabled","index","children"]);const u=Boolean(o),{ref:f,isHovering:A,setHover:d,onBlur:p,onMouseEnter:h,onMouseLeave:b}=Do(u,l),{handleClose:g}=(0,t.useContext)(co),m=(0,t.useMemo)((()=>Object.freeze({disabled:u,hover:A,focusable:!0})),[u,A]),k=(0,t.useMemo)((()=>wo(s,y(v({},m),{ref:f,closeMenu:g}))),[f,s,m,g]),x=ko({onMouseEnter:h,onMouseLeave:e=>b(e,!0),onFocus:d,onBlur:p},c);return r().createElement("li",Object.assign({"aria-disabled":u||void 0,role:"menuitem",tabIndex:"-1"},c,x,{className:xo({block:io,element:oo,modifiers:m,className:n}),style:Co(i,m)}),k)})),"FocusableItem");Xo.propTypes=y(v({},Io()),{disabled:Di().bool,children:Di().func.isRequired});const Ko=vo(r().memo((function(e){var t=e,{className:a,styles:n}=t,i=w(t,["className","styles"]);return r().createElement("li",Object.assign({role:"separator"},i,{className:xo({block:io,element:"divider",className:a}),style:Co(n)}))})),"MenuDivider");Ko.propTypes=v({},Io());const el=vo(r().memo((function(e){var t=e,{className:a,styles:n}=t,i=w(t,["className","styles"]);return r().createElement("li",Object.assign({role:"presentation"},i,{className:xo({block:io,element:"header",className:a}),style:Co(n)}))})),"MenuHeader");el.propTypes=v({},Io());const tl=vo(r().memo((function(e){var a=e,{className:n,styles:i,takeOverflow:o}=a,l=w(a,["className","styles","takeOverflow"]);const s=(0,t.useRef)(null),[c,u]=(0,t.useState)(),{overflow:f,overflowAmt:A}=(0,t.useContext)(so);return Go((()=>{let e;o&&A>=0&&(e=s.current.getBoundingClientRect().height-A,e<0&&(e=0)),u(e>=0?{maxHeight:e,overflow:f}:void 0)}),[o,f,A]),Go((()=>{c&&(s.current.scrollTop=0)}),[c]),r().createElement("div",Object.assign({ref:s},l,{className:xo({block:io,element:"group",className:n}),style:v(v({},Co(i)),c)}))})),"MenuGroup");tl.propTypes=y(v({},Io()),{takeOverflow:Di().bool});const rl=vo(r().memo((function(e){var a=e,{"aria-label":n,className:i,styles:o,name:l,value:s,children:c,onChange:u}=a,f=w(a,["aria-label","className","styles","name","value","children","onChange"]);const A=(0,t.useMemo)((()=>({name:l,value:s,onChange:u})),[l,s,u]);return r().createElement("li",{role:"presentation"},r().createElement("ul",Object.assign({role:"group","aria-label":n||l||"Radio group"},f,{className:xo({block:io,element:"radio-group",className:i}),style:Co(o)}),r().createElement(uo.Provider,{value:A},c)))})),"MenuRadioGroup");rl.propTypes=y(v({},Io()),{"aria-label":Di().string,name:Di().string,value:Di().any,children:Di().node.isRequired,onChange:Di().func});var al,nl=[],il="ResizeObserver loop completed with undelivered notifications.";!function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(al||(al={}));var ol,ll=function(e){return Object.freeze(e)},sl=function(e,t){this.inlineSize=e,this.blockSize=t,ll(this)},cl=function(){function e(e,t,r,a){return this.x=e,this.y=t,this.width=r,this.height=a,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ll(this)}return e.prototype.toJSON=function(){var e=this;return{x:e.x,y:e.y,top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),ul=function(e){return e instanceof SVGElement&&"getBBox"in e},fl=function(e){if(ul(e)){var t=e.getBBox(),r=t.width,a=t.height;return!r&&!a}var n=e,i=n.offsetWidth,o=n.offsetHeight;return!(i||o||e.getClientRects().length)},Al=function(e){var t,r;if(e instanceof Element)return!0;var a=null===(r=null===(t=e)||void 0===t?void 0:t.ownerDocument)||void 0===r?void 0:r.defaultView;return!!(a&&e instanceof a.Element)},dl="undefined"!=typeof window?window:{},pl=new WeakMap,hl=/auto|scroll/,bl=/^tb|vertical/,gl=/msie|trident/i.test(dl.navigator&&dl.navigator.userAgent),ml=function(e){return parseFloat(e||"0")},vl=function(e,t,r){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===r&&(r=!1),new sl((r?t:e)||0,(r?e:t)||0)},yl=ll({devicePixelContentBoxSize:vl(),borderBoxSize:vl(),contentBoxSize:vl(),contentRect:new cl(0,0,0,0)}),wl=function(e,t){if(void 0===t&&(t=!1),pl.has(e)&&!t)return pl.get(e);if(fl(e))return pl.set(e,yl),yl;var r=getComputedStyle(e),a=ul(e)&&e.ownerSVGElement&&e.getBBox(),n=!gl&&"border-box"===r.boxSizing,i=bl.test(r.writingMode||""),o=!a&&hl.test(r.overflowY||""),l=!a&&hl.test(r.overflowX||""),s=a?0:ml(r.paddingTop),c=a?0:ml(r.paddingRight),u=a?0:ml(r.paddingBottom),f=a?0:ml(r.paddingLeft),A=a?0:ml(r.borderTopWidth),d=a?0:ml(r.borderRightWidth),p=a?0:ml(r.borderBottomWidth),h=f+c,b=s+u,g=(a?0:ml(r.borderLeftWidth))+d,m=A+p,v=l?e.offsetHeight-m-e.clientHeight:0,y=o?e.offsetWidth-g-e.clientWidth:0,w=n?h+g:0,k=n?b+m:0,x=a?a.width:ml(r.width)-w-y,E=a?a.height:ml(r.height)-k-v,_=x+h+y+g,C=E+b+v+m,$=ll({devicePixelContentBoxSize:vl(Math.round(x*devicePixelRatio),Math.round(E*devicePixelRatio),i),borderBoxSize:vl(_,C,i),contentBoxSize:vl(x,E,i),contentRect:new cl(f,s,x,E)});return pl.set(e,$),$},kl=function(e,t,r){var a=wl(e,r),n=a.borderBoxSize,i=a.contentBoxSize,o=a.devicePixelContentBoxSize;switch(t){case al.DEVICE_PIXEL_CONTENT_BOX:return o;case al.BORDER_BOX:return n;default:return i}},xl=function(e){var t=wl(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=ll([t.borderBoxSize]),this.contentBoxSize=ll([t.contentBoxSize]),this.devicePixelContentBoxSize=ll([t.devicePixelContentBoxSize])},El=function(e){if(fl(e))return 1/0;for(var t=0,r=e.parentNode;r;)t+=1,r=r.parentNode;return t},_l=function(){var e=1/0,t=[];nl.forEach((function(r){if(0!==r.activeTargets.length){var a=[];r.activeTargets.forEach((function(t){var r=new xl(t.target),n=El(t.target);a.push(r),t.lastReportedSize=kl(t.target,t.observedBox),ne?t.activeTargets.push(r):t.skippedTargets.push(r))}))}))},$l=function(){var e=0;for(Cl(e);nl.some((function(e){return e.activeTargets.length>0}));)e=_l(),Cl(e);return nl.some((function(e){return e.skippedTargets.length>0}))&&function(){var e;"function"==typeof ErrorEvent?e=new ErrorEvent("error",{message:il}):((e=document.createEvent("Event")).initEvent("error",!1,!1),e.message=il),window.dispatchEvent(e)}(),e>0},Tl=[],Ol=function(e){if(!ol){var t=0,r=document.createTextNode("");new MutationObserver((function(){return Tl.splice(0).forEach((function(e){return e()}))})).observe(r,{characterData:!0}),ol=function(){r.textContent=""+(t?t--:t++)}}Tl.push(e),ol()},Sl=0,Il={attributes:!0,characterData:!0,childList:!0,subtree:!0},Ml=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Bl=function(e){return void 0===e&&(e=0),Date.now()+e},Rl=!1,Pl=function(){function e(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return e.prototype.run=function(e){var t=this;if(void 0===e&&(e=250),!Rl){Rl=!0;var r=Bl(e);!function(e){Ol((function(){requestAnimationFrame(e)}))}((function(){var a=!1;try{a=$l()}finally{if(Rl=!1,e=r-Bl(),!Sl)return;a?t.run(1e3):e>0?t.run(e):t.start()}}))}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var e=this,t=function(){return e.observer&&e.observer.observe(document.body,Il)};document.body?t():dl.addEventListener("DOMContentLoaded",t)},e.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Ml.forEach((function(t){return dl.addEventListener(t,e.listener,!0)})))},e.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),Ml.forEach((function(t){return dl.removeEventListener(t,e.listener,!0)})),this.stopped=!0)},e}(),Ll=new Pl,Dl=function(e){!Sl&&e>0&&Ll.start(),!(Sl+=e)&&Ll.stop()},zl=function(){function e(e,t){this.target=e,this.observedBox=t||al.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var e=kl(this.target,this.observedBox,!0);return function(e){return!ul(e)&&!function(e){switch(e.tagName){case"INPUT":if("image"!==e.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(e)&&"inline"===getComputedStyle(e).display}(this.target)&&(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},e}(),Fl=function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t},Nl=new WeakMap,jl=function(e,t){for(var r=0;r=0&&(n&&nl.splice(nl.indexOf(r),1),r.observationTargets.splice(a,1),Dl(-1))},e.disconnect=function(e){var t=this,r=Nl.get(e);r.observationTargets.slice().forEach((function(r){return t.unobserve(e,r.target)})),r.activeTargets.splice(0,r.activeTargets.length)},e}(),Gl=function(){function e(e){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof e)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Vl.connect(this,e)}return e.prototype.observe=function(e,t){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Al(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Vl.observe(this,e,t)},e.prototype.unobserve=function(e){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Al(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Vl.unobserve(this,e)},e.prototype.disconnect=function(){Vl.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}();const Hl=r()["undefined"!=typeof document&&void 0!==document.createElement?"useLayoutEffect":"useEffect"],Wl=function(e){var t=[],r=null,a=function(){for(var a=arguments.length,n=new Array(a),i=0;iQl||(Ql=function(){const e=new Map,t=new Zl(Wl(((t,r)=>{for(let a=0;ae(t[a],r)))}})));return{observer:t,subscribe(r,a){var n;t.observe(r);const i=null!==(n=e.get(r))&&void 0!==n?n:[];i.push(a),e.set(r,i)},unsubscribe(r,a){var n;const i=null!==(n=e.get(r))&&void 0!==n?n:[];if(1===i.length)return t.unobserve(r),void e.delete(r);const o=i.indexOf(a);-1!==o&&i.splice(o,1),e.set(r,i)}}}()),ql=function(e,r){const a=Ul(),n=(e=>{const r=t.useRef(e);return t.useEffect((()=>{r.current=e})),r})(r);return Hl((()=>{let t=!1;const r=e&&"current"in e?e.current:e;if(!r)return Yl;function i(e,r){t||n.current(e,r)}return a.subscribe(r,i),()=>{t=!0,a.unsubscribe(r,i)}}),[e,a,n]),a.observer};var Jl=l(594),Xl=l.n(Jl);const Kl="OblL49alHyHyc9eQg8j4nA==",es={highlight:"rnaOpSl6-Al2+GT07ZkG5Q=="};var ts=Object.defineProperty,rs=Object.defineProperties,as=Object.getOwnPropertyDescriptors,ns=Object.getOwnPropertySymbols,is=Object.prototype.hasOwnProperty,os=Object.prototype.propertyIsEnumerable,ls=(e,t,r)=>t in e?ts(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ss=(e,t)=>{for(var r in t||(t={}))is.call(t,r)&&ls(e,r,t[r]);if(ns)for(var r of ns(t))os.call(t,r)&&ls(e,r,t[r]);return e},cs=(e,t)=>rs(e,as(t));function us(e){const{canvasRef:t,barHeight:a,xyToHighlightData:n,zoom:i}=e,[o,l]=r().useState({height:"0px",visibility:"hidden"});r().useEffect((()=>{l({height:"0px",visibility:"hidden"})}),[i]);const s=e=>{const t=n(e.offsetX,e.offsetY);if(t.isJust){const e=t.value;l(ss({visibility:"visible",height:`${a}px`},e))}else c()},c=()=>{l(cs(ss({},o),{visibility:"hidden"}))};return r().useEffect((()=>{const e=t.current;return e?(e.addEventListener("mousemove",s),e.addEventListener("mouseout",c),()=>{e.removeEventListener("mousemove",s),e.removeEventListener("mouseout",c)}):()=>{}}),[t.current,s,c]),r().createElement("div",{className:es.highlight,style:o,"data-testid":"flamegraph-highlight"})}const fs={highlightContextMenu:"_2aEs2ORKQVtdd+CAuIWrcA=="};var As=Object.defineProperty,ds=Object.getOwnPropertySymbols,ps=Object.prototype.hasOwnProperty,hs=Object.prototype.propertyIsEnumerable,bs=(e,t,r)=>t in e?As(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gs=(e,t)=>{for(var r in t||(t={}))ps.call(t,r)&&bs(e,r,t[r]);if(ds)for(var r of ds(t))hs.call(t,r)&&bs(e,r,t[r]);return e};const ms={height:"0px",visibility:"hidden"};function vs(e){const{node:t,barHeight:a}=e,[n,i]=r().useState(ms);return r().useEffect((()=>{t.match({Nothing:()=>i(ms),Just:e=>i(gs({visibility:"visible",height:`${a}px`},e))})}),[t]),r().createElement("div",{className:fs.highlightContextMenu,style:n,"data-testid":"flamegraph-highlight-contextmenu"})}var ys=Object.defineProperty,ws=Object.defineProperties,ks=Object.getOwnPropertyDescriptors,xs=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,_s=Object.prototype.propertyIsEnumerable,Cs=(e,t,r)=>t in e?ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const $s={name:"Default",goodColor:ir().rgb(0,170,0),neutralColor:ir().rgb(148,142,142),badColor:ir().rgb(200,0,0),colors:[ir().hsl(24,69,60),ir().hsl(34,65,65),ir().hsl(194,52,61),ir().hsl(163,45,55),ir().hsl(211,48,60),ir().hsl(246,40,65),ir().hsl(305,63,79),ir().hsl(47,100,73),ir().rgb(183,219,171),ir().rgb(244,213,152),ir().rgb(78,146,249),ir().rgb(249,186,143),ir().rgb(242,145,145),ir().rgb(130,181,216),ir().rgb(229,168,226),ir().rgb(174,162,224),ir().rgb(154,196,138),ir().rgb(242,201,109),ir().rgb(101,197,219),ir().rgb(249,147,78),ir().rgb(234,100,96),ir().rgb(81,149,206),ir().rgb(214,131,206),ir().rgb(128,110,183)]},Ts=((e,t)=>ws(e,ks(t)))(((e,t)=>{for(var r in t||(t={}))Es.call(t,r)&&Cs(e,r,t[r]);if(xs)for(var r of xs(t))_s.call(t,r)&&Cs(e,r,t[r]);return e})({},$s),{name:"Color Blind",goodColor:ir().rgb(26,133,255),neutralColor:ir().rgb(148,142,142),badColor:ir().rgb(220,50,32)});function Os(){return r().createElement("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 30 30"},r().createElement("defs",null),r().createElement("path",{style:{fill:"#7d7d7f"},d:"M5,19.56c0,5.22,3.54,9.44,7.92,9.44h3.17c4.37,0,7.92-4.23,7.92-9.44v-7.56H5v7.56Z"}),r().createElement("path",{style:{fill:"#7d7d7f"},d:"M14,1h-.82c-4.52,0-8.18,3.73-8.18,8.33v1.67H14V1Z"}),r().createElement("path",{d:"M15.82,1h-.82V11h9v-1.67c0-4.6-3.66-8.33-8.18-8.33Z"}))}function Ss(){return r().createElement("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 30 30"},r().createElement("defs",null),r().createElement("path",{style:{fill:"#7d7d7f"},d:"M24,19.56c0,5.22-3.54,9.44-7.92,9.44h-3.17c-4.37,0-7.92-4.23-7.92-9.44v-7.56H24v7.56Z"}),r().createElement("path",{style:{fill:"#7d7d7f"},d:"M15,1h.82c4.52,0,8.18,3.73,8.18,8.33v1.67H15V1Z"}),r().createElement("path",{d:"M13.18,1h.82V11H5v-1.67c0-4.6,3.66-8.33,8.18-8.33Z"}))}const Is={tooltip:"EitWfLJlRhB605WKBhJqJA==",flamegraphDiffTooltip:"JDNfewH9FpPntx5Wu1nQjw==",tooltipName:"OYP-AU7HdIz-U3S15iaSMQ==",functionName:"wx9q4ZorgH1vtYtZv7yIAg==",tooltipTable:"+0L0FytvTTAXpH3pPg1wZw==",clickInfo:"_8y0K87bqdGd-mxDZz+YoPg=="};function Ms({shouldShowFooter:e=!0,shouldShowTitle:a=!0,dataSourceRef:n,clickInfoSide:i,setTooltipContent:o}){const l=(0,t.useRef)(null),[s,c]=r().useState({title:{text:"",diff:{text:"",color:""}},tooltipData:[]}),[u,f]=(0,t.useState)(),A=()=>{f({visibility:"hidden"}),c({title:{text:"",diff:{text:"",color:""}},tooltipData:[]})},d=(0,t.useCallback)((e=>{if(!l||!l.current)throw new Error("Missing tooltipElement");const t=Math.min(e.clientX+12,window.innerWidth-l.current.clientWidth-20),r={top:e.clientY+20,left:t,visibility:"visible"};o(c,A,e),f(r)}),[l,o]);return(0,t.useEffect)((()=>{const e=n.current;return e?(e.addEventListener("mousemove",d),e.addEventListener("mouseout",A),()=>{e.removeEventListener("mousemove",d),e.removeEventListener("mouseout",A)}):()=>{}}),[n.current,d]),r().createElement("div",{"data-testid":"tooltip",className:un(Is.tooltip,{[Is.flamegraphDiffTooltip]:s.tooltipData.length>1}),style:u,ref:l},s.tooltipData.length>0&&r().createElement(r().Fragment,null,a&&r().createElement("div",{className:Is.tooltipName,"data-testid":"tooltip-title"},s.title.text),r().createElement("div",{className:Is.functionName,"data-testid":"tooltip-function-name"},s.title.text),s.title.diff.text.length>0?r().createElement(Rs,{data:s.tooltipData,diff:s.title.diff}):r().createElement(Rs,{data:s.tooltipData}),e&&r().createElement(Ps,{clickInfoSide:i})))}const Bs={objects:{percent:"% of objects in RAM",formattedValue:"Objects in RAM",total:"% of total RAM"},goroutines:{percent:"% of goroutines",formattedValue:"Goroutines",total:"% of total goroutines"},bytes:{percent:"% of RAM",formattedValue:"RAM",total:"% of total bytes"},samples:{percent:"Share of CPU",formattedValue:"CPU Time",total:"% of total CPU"},lock_nanoseconds:{percent:"% of Time spent",formattedValue:"Time",total:"% of total seconds"},lock_samples:{percent:"% of contended locks",formattedValue:"Contended locks",total:"% of total locks"},trace_samples:{percent:"% of time",formattedValue:"Samples",total:"% of total samples"},"":{percent:"Percentage",formattedValue:"Units",total:"% of total units"}};function Rs({data:e,diff:t}){const[a,n]=e;if(!a)return null;let i;switch(a.tooltipType){case"flamegraph":i=()=>r().createElement(r().Fragment,null,n&&r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null),r().createElement("th",null,"Baseline"),r().createElement("th",null,"Comparison"),r().createElement("th",null,"Diff"))),r().createElement("tbody",null,r().createElement("tr",null,r().createElement("td",null,Bs[a.units].percent,":"),r().createElement("td",null,a.percent),n&&r().createElement(r().Fragment,null,r().createElement("td",null,n.percent),r().createElement("td",null,t&&r().createElement("span",{"data-testid":"tooltip-diff",style:{color:t.color}},t.text)))),r().createElement("tr",null,r().createElement("td",null,Bs[a.units].formattedValue,":"),r().createElement("td",null,a.formattedValue),n&&r().createElement(r().Fragment,null,r().createElement("td",null,n.formattedValue),r().createElement("td",null))),r().createElement("tr",null,r().createElement("td",null,"Samples:"),r().createElement("td",null,a.samples),n&&r().createElement(r().Fragment,null,r().createElement("td",null,n.samples),r().createElement("td",null)))));break;case"table":i=()=>r().createElement(r().Fragment,null,r().createElement("thead",null,r().createElement("tr",null,r().createElement("td",null),r().createElement("td",null,"Self (",Bs[a.units].total,")"),r().createElement("td",null,"Total (",Bs[a.units].total,")"))),r().createElement("tbody",null,r().createElement("tr",null,r().createElement("td",null,Bs[a.units].formattedValue,":"),r().createElement("td",null,a.self),r().createElement("td",null,a.total))));break;default:i=()=>null}return r().createElement("table",{"data-testid":"tooltip-table",className:un(Is.tooltipTable,{[Is[`${a.tooltipType}${n?"Diff":""}`]]:a.tooltipType})},i())}function Ps({clickInfoSide:e}){let t;switch(e){case"right":t=r().createElement(r().Fragment,null,r().createElement(Os,null),r().createElement("span",null,"Right click for more node viewing options"));break;case"left":t=r().createElement(r().Fragment,null,r().createElement(Ss,null),r().createElement("span",null,"Click to highlight node in flamegraph"));break;default:t=r().createElement(r().Fragment,null)}return r().createElement("div",{"data-testid":"tooltip-footer",className:Is.clickInfo},t)}function Ls(e){const{format:a,canvasRef:n,xyToData:i,numTicks:o,sampleRate:l,units:s,leftTicks:c,rightTicks:u,palette:f}=e,A=(0,t.useCallback)(((e,t,r)=>{const n=Qt(o,l,s),A=i(r.offsetX,r.offsetY);let d;if(A.isJust)switch(d=A.value,d.format){case"single":{const t={percent:Zt(d.total/o),samples:"trace_samples"===s?"":Wt(d.total),units:s,formattedValue:n.format(d.total,l),tooltipType:"flamegraph"};e({title:{text:d.name,diff:{text:"",color:""}},tooltipData:[t]});break}case"double":{if("single"===a)throw new Error("props format is 'single' but it has been mapped to 'double'");const t=function({formatter:e,sampleRate:t,totalLeft:r,leftTicks:a,totalRight:n,rightTicks:i,title:o,units:l},s=$s){const c=r/a,u=n/i,f=Yt(c),A=Yt(u),d={percent:`${f}%`,samples:Wt(r),units:l,formattedValue:e.format(r,t),tooltipType:"flamegraph"},p={percent:`${A}%`,samples:Wt(n),units:l,formattedValue:e.format(n,t),tooltipType:"flamegraph"},h=function(e,t){return(t-e)/e*100}(f,A);let b="";h>0?b=s.badColor.rgb().string():h<0&&(b=s.goodColor.rgb().string());let g="";return r?n?h>0?g=`(+${h.toFixed(2)}%)`:h<0&&(g=`(${h.toFixed(2)}%)`):g="(removed)":g="(new)",{title:{text:o,diff:{text:g,color:b}},tooltipData:[d,p]}}({formatter:n,sampleRate:l,totalLeft:d.totalLeft,leftTicks:c,totalRight:d.totalRight,rightTicks:u,title:d.name,units:s},f);e({title:t.title,tooltipData:t.tooltipData});break}default:throw new Error("Unsupported format:'")}else t()}),[o,l,s,c,u,f]);return r().createElement(Ms,{dataSourceRef:n,clickInfoSide:"right",setTooltipContent:A})}const Ds={dummy:"_8jsg5CgIlsOOE89k5kk7iA=="};var zs=Object.getOwnPropertySymbols,Fs=Object.prototype.hasOwnProperty,Ns=Object.prototype.propertyIsEnumerable,js=(e,t)=>{var r={};for(var a in e)Fs.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&zs)for(var a of zs(e))t.indexOf(a)<0&&Ns.call(e,a)&&(r[a]=e[a]);return r};function Vs(e){const t=Vo(!1),{openMenu:a,closeMenu:n}=t,i=js(t,["openMenu","closeMenu"]),[o,l]=r().useState({x:0,y:0}),{canvasRef:s}=e,[c,u]=r().useState([]),{xyToMenuItems:f,onClose:A,onOpen:d}=e;return r().useEffect((()=>{n();const e=s.current;if(!e)return()=>{};const t=e=>{e.preventDefault();const t=f(e.offsetX,e.offsetY);u(t);const r=e.clientX,n=e.clientY+20;l({x:r,y:n}),a(),d(e.offsetX,e.offsetY)};return e.addEventListener("contextmenu",t),()=>{e.removeEventListener("contextmenu",t)}}),[f]),r().createElement(Uo,{className:Ds.dummy,menuItemFocus:i.menuItemFocus,isMounted:i.isMounted,isOpen:i.isOpen,anchorPoint:o,onClose:()=>{n(),A()}},c)}const Gs={logoLink:"HqveVyKaVoFyC4vstbKG5g=="};function Hs(){return r().createElement("a",{className:Gs.logoLink,href:"https://github.com/pyroscope-io/pyroscope/",target:"_blank",rel:"noreferrer"},[r().createElement("svg",{width:"22px",height:"22px",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},r().createElement("defs",null,r().createElement("radialGradient",{cx:"49.4236252%",cy:"92.6627823%",fx:"49.4236252%",fy:"92.6627823%",r:"195.066755%",gradientTransform:"translate(0.494236,0.926628),scale(1.000000,0.735610),rotate(-90.000000),translate(-0.494236,-0.926628)",id:"radialGradient-1"},r().createElement("stop",{stopColor:"#FFB90C",offset:"0%"}),r().createElement("stop",{stopColor:"#F9243A",offset:"38.390924%"}),r().createElement("stop",{stopColor:"#F9243A",offset:"50.5405%"}),r().createElement("stop",{stopColor:"#B51424",offset:"73.98091%"}),r().createElement("stop",{stopColor:"#B51424",offset:"100%"}))),r().createElement("g",{id:"Artboard",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},r().createElement("g",{id:"fire-part",transform:"translate(148.516736, 0.000000)",fillRule:"nonzero"},r().createElement("g",{id:"whole-thing",transform:"translate(363.983264, 495.000000) scale(-1, 1) rotate(-180.000000) translate(-363.983264, -495.000000) translate(0.483264, 0.000000)"},r().createElement("g",{id:"g70",transform:"translate(-0.000091, 0.685815)",fill:"url(#radialGradient-1)"},r().createElement("path",{d:"M65.3646667,571.739321 L65.4492471,571.698868 C19.5139147,505.999969 -5.32464048,424.477859 1.04305801,336.877516 L1.04305801,336.877516 C14.0321963,158.179446 159.192462,13.7596653 338.059844,1.5917266 L338.059844,1.5917266 C419.418369,-3.93888015 495.500283,17.3823334 558.456522,57.4611191 L558.456522,57.4611191 L481.301947,162.097965 C437.516468,136.521928 399.367671,129.590556 363.486536,130.155994 L363.486536,130.155994 C234.497143,130.155994 129.556988,235.032238 129.556988,363.946998 L129.556988,363.946998 C129.556988,492.865683 234.497143,597.738003 363.486536,597.738003 L363.486536,597.738003 C492.483783,597.738003 597.427864,492.865683 597.427864,363.946998 L597.427864,363.946998 C597.41276,304.634864 581.39383,255.677522 530.630465,199.668053 L607.770843,95.1329436 C680.936847,161.576603 726.932594,257.364176 726.932594,363.946998 L726.932594,363.946998 C726.932594,458.031616 691.13483,543.75602 632.416071,608.271816 L632.416071,608.271816 L632.416071,608.275741 L533.597728,748.122808 L428.601388,617.203806 L434.703262,646.563419 C459.453008,765.59222 433.664131,889.543925 363.49439,988.853335 L363.49439,988.853335 L65.3646667,571.723019 L65.3646667,571.739321 Z",id:"path84"})),r().createElement("g",{id:"blue",transform:"translate(191.447039, 191.331780)"},r().createElement("g",{id:"g88",transform:"translate(-0.000063, 0.685930)"},r().createElement("g",{id:"g94",transform:"translate(0.177296, 0.699054)",fill:"#3EC1D3"},r().createElement("path",{d:"M171.862466,343.697728 C77.0961324,343.697728 -0.00497405932,266.647602 -0.00497405932,171.934957 C-0.00497405932,77.2182874 77.0961324,0.168162396 171.862466,0.168162396 C266.632828,0.168162396 343.741988,77.2182874 343.741988,171.934957 C343.741988,266.647602 266.632828,343.697728 171.862466,343.697728",id:"path96"})),r().createElement("g",{id:"g98",transform:"translate(29.362379, 172.629585)",fill:"#FFFFFF"},r().createElement("path",{d:"M22.8397982,0 L0.671669409,0 C0.671669409,78.2496309 64.380874,141.920035 142.678189,141.920035 L142.678189,119.765407 C76.6007327,119.765407 22.8397982,66.0372141 22.8397982,0",id:"path100"})))))))),r().createElement("span",null,"Pyroscope")])}const Ws={flamegraphHeader:"F5gLmM2HlBS6Lh2eA+TOLA==",row:"-11Zgjyiq3PJ2gS11OZevw==",flamegraphTitle:"Jw-yvX-dsWn+UNQdvsw+FQ==",buttons:"X-KASulGPmT7oMsRdlQqnA=="};var Zs=l(779),Ys=l.n(Zs);const Qs="PETh3MyDcaGQCI1Nw0+g+g==",Us="A3ypFowL4h2Jv2vkSIjs6Q==",qs="h-tSfWrzSrCEL9uo2nsHtA==";function Js(e){const{palette:t,showMode:a}=e,n=function(e){switch(e){case"large":return[-100,-80,-60,-40,-20,-10,0,10,20,40,60,80,100];case"small":return[-100,-40,-20,0,20,40,100];default:throw new Error(`Unsupported ${e}`)}}(a),i=Ra(t);return r().createElement("div",{"data-testid":"flamegraph-legend",className:`${Qs} ${Us}`},n.map((e=>r().createElement("div",{key:e,className:qs,style:{backgroundColor:i(e).rgb().toString()}},e>0?"+":"",e,"%"))))}function Xs(){return r().createElement("svg",{version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",width:"12px",height:"12px",viewBox:"0 0 405.272 405.272"},r().createElement("g",null,r().createElement("path",{d:"M393.401,124.425L179.603,338.208c-15.832,15.835-41.514,15.835-57.361,0L11.878,227.836\n\n\t\tc-15.838-15.835-15.838-41.52,0-57.358c15.841-15.841,41.521-15.841,57.355-0.006l81.698,81.699L336.037,67.064\n\n\t\tc15.841-15.841,41.523-15.829,57.358,0C409.23,82.902,409.23,108.578,393.401,124.425z"})))}const Ks={dropdownMenu:"J678hvn1r+E07yCv8bQwPQ==",dropdownMenuButton:"tKAw4h6chUOdq3FlfFl3Iw=="};var ec=Object.getOwnPropertySymbols,tc=Object.prototype.hasOwnProperty,rc=Object.prototype.propertyIsEnumerable,ac=(e,t)=>{var r={};for(var a in e)tc.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&ec)for(var a of ec(e))t.indexOf(a)<0&&rc.call(e,a)&&(r[a]=e[a]);return r};function nc(e){var t=e,{id:a,children:n,className:i,disabled:o,value:l,label:s,onItemClick:c,overflow:u,position:f,direction:A,align:d,viewScroll:p,arrow:h,offsetX:b,offsetY:g,menuButtonClassName:m="",ariaLabel:v}=t,y=ac(t,["id","children","className","disabled","value","label","onItemClick","overflow","position","direction","align","viewScroll","arrow","offsetX","offsetY","menuButtonClassName","ariaLabel"]);const w=y.menuButton||r().createElement(oc,{"aria-label":v,className:`${Ks.dropdownMenuButton} ${m}`,disabled:o,type:"button"},l||s);return r().createElement(Qo,{id:a,"aria-label":v,className:Ys()(i,Ks.dropdownMenu),"data-testid":y["data-testid"],onItemClick:c,overflow:u,position:f,direction:A,align:d,viewScroll:p,arrow:h,offsetX:b,offsetY:g,menuButton:w},r().createElement(el,null,s),n)}const ic=Jo,oc=Ho,lc="_6c8KIUK3wkkAS+zkvzR6PQ==",sc="-ufQfGGUIgxKWexx4vHnlw==",cc="ZmNLcnPdS72h63urXHirRw==",uc="v0fu72DcFs5hE2iPZcxYbA==",fc=[$s,Ts],Ac=e=>{const{palette:t=$s,onChange:a}=e,n=r().useRef(null),i=dc(n);return r().createElement(r().Fragment,null,r().createElement("div",{className:uc,role:"heading","aria-level":2},r().createElement("p",{style:{color:t.goodColor.rgb().string()}},"(-) Removed"),r().createElement("p",{style:{color:t.badColor.rgb().string()}},"Added (+)")),r().createElement("div",{ref:n,className:sc},r().createElement(nc,{label:"Select a palette",menuButton:r().createElement(oc,{className:Ys()(Ks.dropdownMenuButton,lc)},r().createElement(Js,{palette:t,showMode:i})),onItemClick:e=>a(e.value)},fc.map((e=>r().createElement(ic,{key:e.name,value:e},r().createElement("div",null,r().createElement("label",null,e.name),r().createElement("div",{className:cc},r().createElement(Js,{palette:e,showMode:i}),e===t?r().createElement(Xs,null):null))))))))},dc=e=>{const[t,a]=r().useState("large"),n=e=>e<481?"small":"large";return r().useLayoutEffect((()=>{if(e.current){const{width:t}=e.current.getBoundingClientRect();a(n(t))}}),[e.current]),ql(e,(e=>{a(n(e.contentRect.width))})),t};function pc(e){const{format:t,units:a,ExportData:n=r().createElement(r().Fragment,null),palette:i,setPalette:o,toolbarVisible:l}=e,s={objects:"number of objects in RAM per function",goroutines:"number of goroutines",bytes:"amount of RAM per function",samples:"CPU time per function",lock_nanoseconds:"time spent waiting on locks per function",lock_samples:"number of contended locks per function",trace_samples:"aggregated span duration","":""},c=l?(()=>{switch(t){case"single":return r().createElement("div",null,r().createElement("div",{className:`${Ws.row} ${Ws.flamegraphTitle}`,role:"heading","aria-level":2},s[a]&&r().createElement(r().Fragment,null,"Frame width represents ",s[a])));case"double":return r().createElement(r().Fragment,null,r().createElement(Ac,{palette:i,onChange:o}));default:throw new Error(`unexpected format ${t}`)}})():null;return r().createElement("div",{className:Ws.flamegraphHeader},r().createElement("div",null,c),n?r().createElement("div",{className:Ws.buttons},n):r().createElement(r().Fragment,null))}const hc="sQhkbo9-hkp-QcidoRJEzQ==";function bc(e){const a=r().useRef(null),n=(0,t.useRef)(),[i,o]=r().useState(z.nothing()),{flamebearer:l,focusedNode:s,fitMode:c,highlightQuery:u,zoom:f,toolbarVisible:A,showCredit:d,setActiveItem:p,selectedItem:h}=e,{onZoom:b,onReset:g,isDirty:m,onFocusOnNode:v}=e,{ExportData:y}=e,{"data-testid":w}=e,{palette:k,setPalette:x}=e,E=(0,t.useCallback)(Xl()((()=>{T()}),50),[]);ql(a,(()=>{n&&E()}));const _=(e,t)=>I().xyToBar(e,t).map((e=>({left:S().offsetLeft+e.x,top:S().offsetTop+e.y,width:e.width}))),C=(0,t.useCallback)(((e,t)=>{const a=m(),n=I().xyToBar(e,t),i=n.isJust?n.value.name:"";return[r().createElement(Jo,{key:"reset",disabled:!a,onClick:g},r().createElement(Ji,{icon:Ki.XS}),"Reset View"),(()=>{const e=n.mapOrElse((()=>!1),(()=>!0)),t=n.mapOrElse((()=>()=>{}),(e=>v.bind(null,e.i,e.j)));return r().createElement(Jo,{key:"focus",disabled:!e,onClick:t},r().createElement(Ji,{icon:ro.V9}),"Collapse nodes above")})(),r().createElement(Jo,{key:"copy",onClick:()=>{!navigator.clipboard||navigator.clipboard.writeText(i)}},r().createElement(Ji,{icon:eo.kZ}),"Copy function name"),(()=>{const e=h.isJust&&h.value===i?"Clear highlight":"Highlight similar nodes";return r().createElement(Jo,{key:"highlight-similar-nodes",onClick:()=>{p({name:i})}},r().createElement(Ji,{icon:to.Y6}),e)})()]}),[n,h]),$=()=>{if(a.current){const e=new sn(l,a.current,s,c,u,f,k);n.current=e}};r().useEffect((()=>{$(),T()}),[k]),r().useEffect((()=>{$(),T()}),[a.current,l,s,c,u,f]);const T=()=>{var e,t,r;null==(e=null==a?void 0:a.current)||e.setAttribute("data-state","rendering"),null==(t=null==n?void 0:n.current)||t.render(),null==(r=null==a?void 0:a.current)||r.setAttribute("data-state","rendered")},O=!l||l&&l.names.length<=1,S=()=>{if(!a.current)throw new Error("Missing canvas");return a.current},I=()=>{if(!n.current)throw new Error("Missing canvas");return n.current};return r().createElement("div",{"data-testid":"flamegraph-view",className:un(hc,{"vertical-orientation":"double"===l.format})},r().createElement(pc,{format:l.format,units:l.units,ExportData:y,palette:k,setPalette:x,toolbarVisible:A}),r().createElement("div",{"data-testid":w,style:{opacity:O?0:1}},r().createElement("canvas",{height:"0","data-testid":"flamegraph-canvas","data-highlightquery":u,className:un("flamegraph-canvas",Kl),ref:a,onClick:e=>{const t=I().xyToBar(e.nativeEvent.offsetX,e.nativeEvent.offsetY);t.match({Nothing:()=>{},Just:e=>{f.match({Nothing:()=>{b(t)},Just:r=>{e.i===r.i&&e.j===r.j?b(z.nothing()):b(t)}})}})}})),d?r().createElement(Hs,null):"",n&&a&&r().createElement(us,{barHeight:Vt,canvasRef:a,zoom:f,xyToHighlightData:_}),n&&r().createElement(vs,{barHeight:Vt,node:i}),n&&r().createElement(Ls,{format:l.format,canvasRef:a,xyToData:(e,t)=>I().xyToBar(e,t),numTicks:l.numTicks,sampleRate:l.sampleRate,leftTicks:"double"===l.format?l.leftTicks:0,rightTicks:"double"===l.format?l.rightTicks:0,units:l.units,palette:k}),n&&a&&r().createElement(Vs,{canvasRef:a,xyToMenuItems:C,onClose:()=>{o(z.nothing())},onOpen:(e,t)=>{o(_(e,t))}}))}const gc={table:"lEpSh-rOmaE5zcLKRPK0zg==",sortable:"EgDtrXnincRVPXTb58YV7g==",sortArrow:"K8lX8n2m68NgdYq1vXrGQA==",asc:"kf05VUyDM4gEXaiYchZLDQ==",desc:"SwVSTFb7+JtI0Ter5socwQ==",isRowSelected:"+NsZxUzwZfmKMTT3UeTBug==",isRowDisabled:"Jhqi+nxb2FEJkOLMACjE0A==",loadingSpinner:"uqa4BHuGVRjAsdPIyEz8KQ=="};var mc=l(424),vc=l.n(mc);function yc({className:e}){return r().createElement("span",{role:"progressbar",className:e},r().createElement(vc(),{color:"rgba(255,255,255,0.6)",size:"20px"}))}var wc=Object.defineProperty,kc=Object.defineProperties,xc=Object.getOwnPropertyDescriptors,Ec=Object.getOwnPropertySymbols,_c=Object.prototype.hasOwnProperty,Cc=Object.prototype.propertyIsEnumerable,$c=(e,t,r)=>t in e?wc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Tc=(e,t)=>{for(var r in t||(t={}))_c.call(t,r)&&$c(e,r,t[r]);if(Ec)for(var r of Ec(t))Cc.call(t,r)&&$c(e,r,t[r]);return e},Oc=(e,t)=>kc(e,xc(t)),Sc=(e,t)=>{var r={};for(var a in e)_c.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&Ec)for(var a of Ec(e))t.indexOf(a)<0&&Cc.call(e,a)&&(r[a]=e[a]);return r};const Ic=e=>{const r=e.filter((e=>null==e?void 0:e.default))[0]||e[0],[a,n]=(0,t.useState)(r.name),[i,o]=(0,t.useState)("desc");return{sortBy:a,sortByDirection:i,updateSortParams:e=>{let t=i;t=a===e?"asc"===t?"desc":"asc":"desc",n(e),o(t)}}},Mc=function({sortByDirection:e,sortBy:t,updateSortParams:a,table:n,tableBodyRef:i,className:o,isLoading:l}){var s;const c=e&&t&&a;return l?r().createElement("div",{className:gc.loadingSpinner},r().createElement(yc,null)):r().createElement("table",{className:un(gc.table,{[o||""]:o}),"data-testid":"table-ui"},r().createElement("thead",null,r().createElement("tr",null,n.headRow.map(((i,o)=>{var l=i,{sortable:s,label:u,name:f}=l,A=Sc(l,["sortable","label","name"]);return s&&"not-filled"!==n.type&&c?r().createElement("th",Oc(Tc({},A),{key:o,className:gc.sortable,onClick:()=>a(f)}),u,r().createElement("span",{className:un(gc.sortArrow,{[gc[e]]:t===f})})):r().createElement("th",Tc({key:o},A),u)})))),r().createElement("tbody",{ref:i},"not-filled"===n.type?r().createElement("tr",{className:null==n?void 0:n.bodyClassName},r().createElement("td",{colSpan:n.headRow.length},n.value)):null==(s=n.bodyRows)?void 0:s.map((e=>{var t=e,{cells:a,isRowSelected:n,isRowDisabled:i,className:o}=t,l=Sc(t,["cells","isRowSelected","isRowDisabled","className"]);const s=Math.random();return r().createElement("tr",Oc(Tc({key:s},l),{className:un(o,{[gc.isRowSelected]:n,[gc.isRowDisabled]:i})}),a&&a.map(((e,t)=>{var a=e,{style:n,value:i}=a,o=Sc(a,["style","value"]);return r().createElement("td",Tc({key:s+t,style:n},o),i)})))}))))};function Bc({numTicks:e,sampleRate:a,units:n,tableBodyRef:i}){const o=Qt(e,a,n),l=o.format(e,a),s=(0,t.useCallback)(((e,t,r)=>{var i;const s=null==(i=r.target.closest("tr"))?void 0:i.dataset.row;if(!s)return void t();const[c,u,f]=s.split(";"),A=o.format(parseInt(u,10),a),d=o.format(parseInt(f,10),a),p=l.split(" "),h="<"===p[0]?p[1]:p[0],b=A.split(" "),g="<"===b[0]?b[1]:b[0],m=d.split(" "),v="<"===m[0]?m[1]:m[0];e({title:{text:c,diff:{text:"",color:""}},tooltipData:[{units:n,self:`${A}(${(parseFloat(g)/parseFloat(h)*100).toFixed(2)}%)`,total:`${d}(${(parseFloat(v)/parseFloat(h)*100).toFixed(2)}%)`,tooltipType:"table"}]})}),[i,e,o,a]);return r().createElement(Ms,{dataSourceRef:i,shouldShowTitle:!1,clickInfoSide:"left",setTooltipContent:s})}var Rc=Object.defineProperty,Pc=Object.defineProperties,Lc=Object.getOwnPropertyDescriptors,Dc=Object.getOwnPropertySymbols,zc=Object.prototype.hasOwnProperty,Fc=Object.prototype.propertyIsEnumerable,Nc=(e,t,r)=>t in e?Rc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jc=(e,t)=>{for(var r in t||(t={}))zc.call(t,r)&&Nc(e,r,t[r]);if(Dc)for(var r of Dc(t))Fc.call(t,r)&&Nc(e,r,t[r]);return e},Vc=(e,t)=>Pc(e,Lc(t));const Gc=e=>e||0;function Hc(e,t,r,a){const n=t;return n.type="single",n.self=Gc(n.self)+e.getBarSelf(r,a),n.total=Gc(n.total)+e.getBarTotal(r,a),n}function Wc(e,t,r,a){const n=t;return n.type="double",n.self=Gc(n.self)+e.getBarSelf(r,a),n.total=Gc(n.total)+e.getBarTotal(r,a),n.selfLeft=Gc(n.selfLeft)+e.getBarSelfLeft(r,a),n.selfRght=Gc(n.selfRght)+e.getBarSelfRght(r,a),n.selfDiff=Gc(n.selfDiff)+e.getBarSelfDiff(r,a),n.totalLeft=Gc(n.totalLeft)+e.getBarTotalLeft(r,a),n.totalRght=Gc(n.totalRght)+e.getBarTotalRght(r,a),n.totalDiff=Gc(n.totalDiff)+e.getBarTotalDiff(r,a),n}function Zc(e){return Math.min(0,e)}function Yc(e,t,r){const a=148-e/t*148,n=r.alpha(1);return{backgroundImage:`linear-gradient(${n}, ${n})`,backgroundPosition:`-${a}px 0px`,backgroundRepeat:"no-repeat"}}function Qc(e,t,r,a,n,i){const o=148-Math.min(t,r)/a*148,l=148-Math.max(t,r)/a*148,s=n.alpha(1),c=r({diff:[e.name,e.selfDiff,e.totalDiff],self:[e.name,e.selfLeft,e.selfRght],total:[e.name,e.totalLeft,e.totalRght]}))({name:{sortable:1,name:"name",label:"Location"},selfLeft:{sortable:1,name:"selfLeft",label:"Self (Left)",default:!0},selfRght:{sortable:1,name:"selfRght",label:"Self (Right)"},selfDiff:{sortable:1,name:"selfDiff",label:"Self (Diff)",default:!0},totalLeft:{sortable:1,name:"totalLeft",label:"Total (Left)",default:!0},totalRght:{sortable:1,name:"totalRght",label:"Total (Right)"},totalDiff:{sortable:1,name:"totalDiff",label:"Total (Diff)"}});function Jc({tableBodyRef:e,flamebearer:t,viewDiff:a,fitMode:n,handleTableItemClick:i,highlightQuery:o,selectedItem:l,palette:s}){const c=a?qc[a]:Uc,u=Ic(c),f=jc({headRow:c},Xc({flamebearer:t,sortBy:u.sortBy,sortByDirection:u.sortByDirection,viewDiff:a,fitMode:n,handleTableItemClick:i,highlightQuery:o,palette:s,selectedItem:l}));return r().createElement(Mc,Vc(jc({},u),{tableBodyRef:e,table:f,className:"flamegraph-table"}))}const Xc=({flamebearer:e,sortBy:t,sortByDirection:a,viewDiff:n,fitMode:i,handleTableItemClick:o,highlightQuery:l,palette:s,selectedItem:c})=>{const{numTicks:u,maxSelf:f,sampleRate:A,spyName:d,units:p}=e,h=function(e){if(!e)return[];const{names:t,levels:r,format:a}=e,n="double"!==a?Rt:Pt,i={};for(let o=0;o"},"single"===a?Hc(Rt,i[o],e,r):Wc(Pt,i[o],e,r)}}return Object.values(i)}(e).sort(((e,t)=>t.total-e.total)),b="asc"===a?1:-1;let g;g="name"===t?h.sort(((e,r)=>b*e[t].localeCompare(r[t]))):h.sort(((e,r)=>b*(e[t]-r[t])));const m=Qt(u,A,p),v=e=>!!c.isJust&&e===c.value,y=(e,t)=>r().createElement("button",{className:"table-item-button"},r().createElement("span",{className:"color-reference",style:t}),r().createElement("div",{className:"symbol-name",style:ar(i)},e.name)),w=(()=>{switch(n){case"self":return(e,t,a)=>({type:"self",isRowSelected:v(e.name),onClick:()=>o(e),cells:[{value:y(e,a)},{style:Qc(s,e.selfLeft,e.selfRght,f,t,"L"),value:r().createElement("span",{title:m.format(e.selfLeft,A)},m.format(e.selfLeft,A))},{style:Qc(s,e.selfLeft,e.selfRght,f,t,"R"),value:r().createElement("span",{title:m.format(e.selfRght,A)},m.format(e.selfRght,A))}]});case"total":return(e,t,a)=>({type:"total",isRowSelected:v(e.name),onClick:()=>o(e),cells:[{value:y(e,a)},{style:Qc(s,e.totalLeft,e.totalRght,u/2,t,"L"),value:r().createElement("span",{title:m.format(e.totalLeft,A)},m.format(e.totalLeft,A))},{style:Qc(s,e.totalLeft,e.totalRght,u/2,t,"R"),value:r().createElement("span",{title:m.format(e.totalRght,A)},m.format(e.totalRght,A))}]});case"diff":return(e,t,a)=>({type:"diff",isRowSelected:v(e.name),onClick:()=>o(e),cells:[{value:y(e,a)},{style:Qc(s,e.selfLeft,e.selfRght,f,Sa),value:r().createElement("span",{title:m.format(e.selfDiff,A)},m.format(e.selfDiff,A))},{style:Qc(s,e.totalLeft,e.totalRght,u/2,t),value:r().createElement("span",{title:m.format(e.totalDiff,A)},m.format(e.totalDiff,A))}]});default:return()=>({type:"unsupported"})}})(),k=g.filter((e=>!l||Pa(l,e.name))).reduce(((e,t)=>{const r=Ma(d,t.name),a=n?Sa:Ba(s,r),i={backgroundColor:a.rgb().toString()};if("double"===t.type){const r=w(t,a,i);return"unsupported"===r.type||e.push(r),e}return e.push(((e,t,r)=>({"data-row":`${e.name};${e.self};${e.total};${e.type}`,isRowSelected:v(e.name),onClick:()=>o(e),cells:[{value:y(e,r)},{value:m.format(e.self,A),style:Yc(e.self,f,t)},{value:m.format(e.total,A),style:Yc(e.total,u,t)}]}))(t,a,i)),e}),[]);return k.length>0?{bodyRows:k,type:"filled"}:{value:r().createElement("div",{className:"unsupported-format"},"Unsupported"),type:"not-filled"}};function Kc({flamebearer:e,viewDiff:a,fitMode:n,handleTableItemClick:i,highlightQuery:o,palette:l,selectedItem:s}){const c=(0,t.useRef)(null);return r().createElement(r().Fragment,null,r().createElement(Jc,{tableBodyRef:c,flamebearer:e,viewDiff:a,fitMode:n,highlightQuery:o,handleTableItemClick:i,palette:l,selectedItem:s}),r().createElement(Bc,{tableBodyRef:c,numTicks:e.numTicks,sampleRate:e.sampleRate,units:e.units}))}var eu=l(899),tu=l(459),ru=l(971),au=l(384),nu=l(646),iu=l(769),ou=l(692);const lu={button:"D8639n1+pFnktQbfHEdhiQ==",iconWithText:"iUJrf0Zra72Ylrkdwe4m3g==",default:"HsSMSsZ6IvGC0zvef-oyEg==",primary:"uRSawyfmnPCTMB2RaexM7Q==",secondary:"uLhy-1n6bQNSjQ8XlHT5hA==",danger:"Zcv+sg60tkrHTHSCxMwOCA==",grouped:"h-JyltywHaflsNfDj7ETjw=="};var su=Object.getOwnPropertySymbols,cu=Object.prototype.hasOwnProperty,uu=Object.prototype.propertyIsEnumerable,fu=(e,t)=>{var r={};for(var a in e)cu.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&su)for(var a of su(e))t.indexOf(a)<0&&uu.call(e,a)&&(r[a]=e[a]);return r};function Au(e){var t=e,{disabled:a=!1,kind:n="default",type:i="button",icon:o,children:l,grouped:s,onClick:c,id:u,className:f}=t,A=fu(t,["disabled","kind","type","icon","children","grouped","onClick","id","className"]);return r().createElement("button",{id:u,type:i,"data-testid":A["data-testid"],disabled:a,onClick:c,"aria-label":A["aria-label"],className:`${lu.button} ${s?lu.grouped:""} ${du(n)} ${f}`},o?r().createElement(Ji,{icon:o,className:l?lu.iconWithText:""}):null,l)}function du(e){switch(e){case"default":return lu.default;case"primary":return lu.primary;case"secondary":return lu.secondary;case"danger":return lu.danger;default:throw Error(`Unsupported kind ${e}`)}}const pu={select:"OqcAa70--BCY73rHYPrNmg=="};function hu({ariaLabel:e,className:t,value:a,onChange:n,children:i,name:o,id:l,disabled:s}){return r().createElement("select",{id:l,disabled:s||!1,name:o,"aria-label":e,className:`${pu.select} ${t||""}`,value:a,onChange:n},i)}var bu=l(687),gu=l(912);const mu="m7PZEM-Vxkue2eKuRu3yZQ==",vu=r().forwardRef((({testId:e,className:t,type:a,name:n,placeholder:i,minLength:o=0,debounceTimeout:l=100,onChange:s,value:c,htmlId:u},f)=>r().createElement(gu.DebounceInput,{inputRef:f,"data-testid":e,className:`${mu} ${t||""}`,type:a,name:n,placeholder:i,minLength:o,debounceTimeout:l,onChange:s,value:c,id:u}))),yu={tooltip:"izIbNRLbF9xJDKe-4AJ+JQ==",left:"zT3KmMrzKP41T7FMS0SJtw==",right:"Xl2deKCyOq2flu8vgSgbjA==",bottom:"uG9bli7m866SO8q5AjDy3A==",top:"-bV6ZtBg6DRt5-1XGDZXSw==",visible:"sxcNNSa167Ke4esKRMThTw=="},wu=({title:e,visible:t,className:a,placement:n})=>{var i;return r().createElement("div",{onClick:e=>e.stopPropagation(),className:`${yu.tooltip} ${t?yu.visible:""} ${null==(i=yu)?void 0:i[n]} ${a||""} `,role:"tooltip"},e)},ku="_1tNAjeMOzQp8uOuaYq+Hlg==",xu="Oa7YSy+wTDaxwMXZB4v5Gw==",Eu="jaKSuzEc2kMgsQY1Ei1zIQ==",_u="bMvkv+pO8CFQYIzcx9hNPw==",Cu="tgQzYT5gJmC8BxJWeVbhNg==",$u="EXyIVsmmjw+Gmj5qWe4lFA==",Tu="bzaIPy4-2topIZ9a1V0log==",Ou="ZX3TafJkUlq6K5k390H1nw==",Su="dSO0qFp27L959Gj33bDomw==",Iu=({onHighlightChange:e,showMode:a,highlightQuery:n,sharedQuery:i})=>{const o=(e=>{const r=(0,t.useRef)();return(0,t.useEffect)((()=>{r.current=e})),r.current})(null==i?void 0:i.syncEnabled),[l,s]=(0,t.useState)(!1);(0,t.useEffect)((()=>{"string"==typeof(null==i?void 0:i.searchQuery)&&(i.syncEnabled&&e(i.searchQuery),!i.syncEnabled&&o&&o!==(null==i?void 0:i.id)&&e(""))}),[null==i?void 0:i.searchQuery,null==i?void 0:i.syncEnabled]);const c=(0,t.useMemo)((()=>i&&i.syncEnabled?i.searchQuery||"":n),[i,n]),u=(0,t.useMemo)((()=>`${i?_u:xu} ${"small"===a?Cu:""} ${(null==i?void 0:i.syncEnabled)?Eu:""}`),[i,a]);return r().createElement("div",{className:ku},r().createElement(vu,{testId:"flamegraph-search",className:u,type:"search",name:"flamegraph-search",placeholder:"Search…",minLength:2,debounceTimeout:100,onChange:t=>{e(t.target.value),i&&i.syncEnabled&&i.onQueryChange(t.target.value)},value:c}),i?r().createElement("button",{className:i.syncEnabled?Su:Ou,onClick:()=>{const t=!(null==i?void 0:i.syncEnabled)&&(null==i?void 0:i.id);null==i||i.toggleSync(t),t?null==i||i.onQueryChange(n):(e(n),null==i||i.onQueryChange(""))},onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1)},r().createElement(Ji,{className:`${i.syncEnabled?Tu:$u}`,icon:bu.nN}),r().createElement(wu,{placement:"top",visible:l,title:i.syncEnabled?"Unsync search bars":"Sync search bars"})):null)},Mu="YA6yFCiTuhT9605JIjPYsA==",Bu="cgRZhc4M4hYARCOdbJigOA==",Ru="X3FRWBEqbFJ2BneRkbVfsA==",Pu="hLxcZfkuovRKDwfNBljW1A==",Lu="_7IQU1MziDWeX+DyRDdXHYg==",Du=r().memo((({view:e,viewDiff:t,handleSearchChange:a,highlightQuery:n,isFlamegraphDirty:i,reset:o,updateFitMode:l,fitMode:s,updateView:c,updateViewDiff:u,selectedNode:f,onFocusOnSubtree:A,flamegraphType:d,disableChangingDisplay:p=!1,sharedQuery:h})=>{const b=r().useRef(null),g=(e=>{const[t,a]=r().useState("large"),n=e=>e<900?"small":"large";return r().useLayoutEffect((()=>{if(e.current){const{width:t}=e.current.getBoundingClientRect();a(n(t))}}),[e.current]),ql(e,(e=>{a(n(e.contentRect.width))})),t})(b);return r().createElement("div",{role:"toolbar",ref:b,"data-mode":g},r().createElement("div",{className:Mu},r().createElement(Iu,{showMode:g,onHighlightChange:a,highlightQuery:n,sharedQuery:h}),"double"===d&&r().createElement(ju,{showMode:g,viewDiff:t,updateViewDiff:u}),r().createElement("div",{className:Bu}),r().createElement(Nu,{showMode:g,fitMode:s,updateFitMode:l}),r().createElement(Fu,{showMode:g,isFlamegraphDirty:i,reset:o}),r().createElement(zu,{showMode:g,selectedNode:f,onFocusOnSubtree:A}),!p&&r().createElement(Vu,{showMode:g,view:e,updateView:c})))}));function zu({onFocusOnSubtree:e,selectedNode:t,showMode:a}){let n="";switch(a){case"small":n="Collapse";break;case"large":n="Collapse nodes above";break;default:throw new Error("Wrong mode")}const i=t.mapOr((()=>{}),(t=>()=>e(t.i,t.j)));return r().createElement(Au,{disabled:!t.isJust,onClick:i,icon:ro.V9},n)}function Fu({isFlamegraphDirty:e,reset:t,showMode:a}){let n="";switch(a){case"small":n="Reset";break;case"large":n="Reset View";break;default:throw new Error("Wrong mode")}return r().createElement(r().Fragment,null,r().createElement(Au,{id:"reset","data-testid":"reset-view",disabled:!e,onClick:t,icon:ou.X7},n))}function Nu({fitMode:e,updateFitMode:t,showMode:a}){let n={label:"",[er]:"",[Kt]:""},i="";switch(a){case"small":n={label:"Fit",[er]:"Head",[Kt]:"Tail"},i=Pu;break;case"large":n={label:"Prefer to Fit",[er]:"Head first",[Kt]:"Tail first"},i=Lu;break;default:throw new Error("Wrong mode")}const o=[er,Kt].map((t=>r().createElement(ic,{key:t,value:t},r().createElement("div",{className:Ru,"data-testid":t},n[t],e===t?r().createElement(Xs,null):null))));return r().createElement(nc,{label:n.label,ariaLabel:"Fit Mode",value:n[e],onItemClick:e=>t(e.value),menuButtonClassName:i},o)}function ju({viewDiff:e,updateViewDiff:t,showMode:a}){if(!e)return null;const n=r().createElement(hu,{name:"viewDiff",ariaLabel:"view-diff",value:e,onChange:e=>{t(e.target.value)}},r().createElement("option",{value:"self"},"Self"),r().createElement("option",{value:"total"},"Total"),r().createElement("option",{value:"diff"},"Diff")),i=t=>e===t?"primary":"default",o=r().createElement(r().Fragment,null,r().createElement(Au,{grouped:!0,icon:nu.gf,kind:i("self"),onClick:()=>t("self")},"Self"),r().createElement(Au,{grouped:!0,icon:tu.xi,kind:i("total"),onClick:()=>t("total")},"Total"),r().createElement(Au,{grouped:!0,icon:eu.el,kind:i("diff"),onClick:()=>t("diff")},"Diff"));return r().createElement("div",{className:"btn-group viz-switch","data-testid":"diff-view"},(()=>{switch(a){case"small":return n;case"large":return o;default:throw new Error(`Invalid option: '${a}'`)}})())}function Vu({view:e,updateView:t,showMode:a}){const n=r().createElement(hu,{ariaLabel:"view",name:"view",value:e,onChange:e=>{t(e.target.value)}},r().createElement("option",{value:"table"},"Table"),r().createElement("option",{value:"both"},"Both"),r().createElement("option",{value:"flamegraph"},"Flame")),i=t=>e===t?"primary":"default",o=r().createElement(r().Fragment,null,r().createElement(Au,{grouped:!0,kind:i("table"),icon:iu.B3,onClick:()=>t("table")},"Table"),r().createElement(Au,{grouped:!0,kind:i("both"),icon:ru.rW,onClick:()=>t("both")},"Both"),r().createElement(Au,{grouped:!0,kind:i("flamegraph"),icon:au.$P,onClick:()=>t("flamegraph")},"Flamegraph"));return r().createElement("div",{className:"btn-group viz-switch"},(()=>{switch(a){case"small":return n;case"large":return o;default:throw new Error(`Invalid option: '${a}'`)}})())}const Gu=Du,Hu="uf0fDCR2p7mFe03meuOCpw==";function Wu(){return r().createElement("div",{"data-testid":"no-profiling-data",className:Hu},r().createElement("span",null,"No profiling data available for this application / time range."))}const Zu={flamegraphContainer:"dp4rYndtkn5OL137gNcXFw==",createdBy:"Sg8G+XWf37nf2z2mq0UlZA==",horizontal:"Fa+QibGLT2PTOlQu9kZ42w==",vertical:"_1fK+ZP5KAHBMI34rObiBpA==",panesWrapper:"UiDrEFZwwNI6mFmaWDftKw==",tablePane:"rcGeWTV5hY5txTEQvQenVg=="};var Yu=["styles"];function Qu(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0)&&(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function Uu(){return Uu=Object.assign||function(e){for(var t=1;tt in e?Ku(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lf=(e,t)=>{for(var r in t||(t={}))af.call(t,r)&&of(e,r,t[r]);if(rf)for(var r of rf(t))nf.call(t,r)&&of(e,r,t[r]);return e},sf=(e,t)=>ef(e,tf(t));function cf(e){if(e.profile&&e.flamebearer&&console.warn("'profile' and 'flamebearer' properties are mutually exclusive. Please use profile if possible."),e.profile){const t=function(e){const t=JSON.parse(JSON.stringify(e));return t.flamebearer.levels=Xu(t.metadata.format,t.flamebearer.levels),t}(JSON.parse(JSON.stringify(e.profile)));return lf(lf(lf({},t),t.flamebearer),t.metadata)}return e.flamebearer?e.flamebearer:{format:"single",names:[],units:"",levels:[[]],spyName:"unknown",numTicks:0,sampleRate:0,maxSelf:0}}class uf extends r().Component{constructor(e){super(e),this.resetFlamegraphState={focusedNode:z.nothing(),zoom:z.nothing()},this.initialFlamegraphState=this.resetFlamegraphState,this.calcNewConfigs=(e,t)=>{const r=this.state.flamegraphConfigs,a=(e,t,r)=>{const a=(e,t,r)=>e.names[Lt(e.format).getBarName(e.levels[t],r)];if(r.isNothing)return!0;try{const n=a(e,r.value.i,r.value.j);return n===a(t,r.value.i,r.value.j)}catch(C){return!1}};return a(e,t,this.state.flamegraphConfigs.zoom)||(r.zoom=this.resetFlamegraphState.zoom),a(e,t,this.state.flamegraphConfigs.focusedNode)||(r.focusedNode=this.resetFlamegraphState.focusedNode),r},this.onSearchChange=e=>{this.setState({searchQuery:e})},this.isSameFlamebearer=(e,t)=>JSON.stringify(e)===JSON.stringify(t),this.onReset=()=>{this.setState(sf(lf({},this.state),{flamegraphConfigs:lf(lf({},this.state.flamegraphConfigs),this.initialFlamegraphState)}))},this.onFlamegraphZoom=e=>{e.isJust&&0===e.value.i&&0===e.value.j?this.onReset():this.setState(sf(lf({},this.state),{flamegraphConfigs:sf(lf({},this.state.flamegraphConfigs),{zoom:e})}))},this.onFocusOnNode=(e,t)=>{if(0===e&&0===t)return void this.onReset();let r=lf({},this.state.flamegraphConfigs);const{zoom:a}=this.state.flamegraphConfigs;a.isJust&&a.value.i<=e&&(r=sf(lf({},r),{zoom:this.initialFlamegraphState.zoom})),this.setState(sf(lf({},this.state),{flamegraphConfigs:sf(lf({},r),{focusedNode:z.just({i:e,j:t})})}))},this.setActiveItem=e=>{const{name:t}=e;this.state.selectedItem.isJust&&t===this.state.selectedItem.value?this.setState({selectedItem:z.nothing()}):this.setState({selectedItem:z.just(t)})},this.getHighlightQuery=()=>this.state.selectedItem.isJust?this.state.selectedItem.value:this.state.searchQuery,this.updateViewDiff=e=>{this.setState({viewDiff:e})},this.updateView=e=>{this.setState({view:e})},this.updateFlamegraphDirtiness=()=>{const e=this.isDirty();this.setState({isFlamegraphDirty:e})},this.updateFitMode=e=>{this.setState({fitMode:e})},this.isDirty=()=>JSON.stringify(this.initialFlamegraphState)!==JSON.stringify(this.state.flamegraphConfigs),this.render=()=>{var e;const t=r().createElement("div",{key:"table-pane",className:un(Zu.tablePane,"vertical"===this.state.panesOrientation?Zu.vertical:Zu.horizontal)},r().createElement(Kc,{"data-testid":"table-view",flamebearer:this.state.flamebearer,viewDiff:"double"===(null==(e=this.state.flamebearer)?void 0:e.format)&&this.state.viewDiff,fitMode:this.state.fitMode,highlightQuery:this.state.searchQuery,selectedItem:this.state.selectedItem,handleTableItemClick:this.setActiveItem,palette:this.state.palette})),a=this.shouldShowToolbar(),n=r().createElement(bc,{key:"flamegraph-pane",showCredit:this.props.showCredit,flamebearer:this.state.flamebearer,ExportData:this.props.ExportData||r().createElement(r().Fragment,null),highlightQuery:this.getHighlightQuery(),setActiveItem:this.setActiveItem,selectedItem:this.state.selectedItem,fitMode:this.state.fitMode,zoom:this.state.flamegraphConfigs.zoom,focusedNode:this.state.flamegraphConfigs.focusedNode,onZoom:this.onFlamegraphZoom,onFocusOnNode:this.onFocusOnNode,onReset:this.onReset,isDirty:this.isDirty,palette:this.state.palette,toolbarVisible:a,setPalette:e=>this.setState({palette:e})}),i=!this.state.flamebearer||this.state.flamebearer.names.length<=1,o=function(e,t,r){switch(e){case"table":return[r];case"flamegraph":return[t];case"both":return[r,t];default:throw new Error(`Invalid view '${e}'`)}}(this.state.view,n,t);return r().createElement("div",{"data-flamegraph-color-mode":this.props.colorMode||"dark"},r().createElement("div",null,a&&r().createElement(Gu,{sharedQuery:this.props.sharedQuery,disableChangingDisplay:!!this.props.onlyDisplay,flamegraphType:this.state.flamebearer.format,view:this.state.view,viewDiff:this.state.viewDiff,handleSearchChange:this.onSearchChange,reset:this.onReset,updateView:this.updateView,updateViewDiff:this.updateViewDiff,updateFitMode:this.updateFitMode,fitMode:this.state.fitMode,isFlamegraphDirty:this.state.isFlamegraphDirty,selectedNode:this.state.flamegraphConfigs.zoom,highlightQuery:this.state.searchQuery,onFocusOnSubtree:this.onFocusOnNode}),this.props.children,r().createElement("div",{className:`${Zu.flamegraphContainer} ${un("vertical"===this.state.panesOrientation?Zu.vertical:Zu.horizontal,Zu[this.state.panesOrientation],Zu.panesWrapper)}`},i?r().createElement(Wu,null):o.map((e=>e)))),this.props.showPyroscopeLogo&&r().createElement("div",{className:Zu.createdBy},"Created by",r().createElement("a",{href:"https://twitter.com/PyroscopeIO",rel:"noreferrer",target:"_blank"},r().createElement(qu,{width:"30",height:"30"}),"@PyroscopeIO")))},this.state={isFlamegraphDirty:!1,view:this.props.onlyDisplay?this.props.onlyDisplay:"both",viewDiff:"diff",fitMode:"HEAD",flamebearer:cf(e),panesOrientation:e.panesOrientation?e.panesOrientation:"horizontal",searchQuery:"",selectedItem:z.nothing(),flamegraphConfigs:this.initialFlamegraphState,palette:$s}}componentDidUpdate(e,t){const r=cf(e),a=cf(this.props);if(this.isSameFlamebearer(r,a))t.flamegraphConfigs!==this.state.flamegraphConfigs&&this.updateFlamegraphDirtiness();else{const e=this.calcNewConfigs(r,a);this.setState({flamebearer:a,flamegraphConfigs:lf(lf({},this.state.flamegraphConfigs),e),selectedItem:z.nothing()})}}shouldShowToolbar(){return void 0===this.props.showToolbar||this.props.showToolbar}}uf.defaultProps={showCredit:!0};const ff=uf;var Af=Object.defineProperty,df=Object.getOwnPropertySymbols,pf=Object.prototype.hasOwnProperty,hf=Object.prototype.propertyIsEnumerable,bf=(e,t,r)=>t in e?Af(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gf=(e,t)=>{for(var r in t||(t={}))pf.call(t,r)&&bf(e,r,t[r]);if(df)for(var r of df(t))hf.call(t,r)&&bf(e,r,t[r]);return e};const mf={showPyroscopeLogo:!1},vf=e=>r().createElement("pyro-flamegraph",{is:"span"},r().createElement(ff,gf(gf({},e),mf)));var yf=l(572),wf=l.n(yf),kf=l(343),xf=l.n(kf);function Ef(e){const t={numTicks:0,maxSelf:0,names:[],levels:[]},r={},a={children:[]};return e.spans.forEach((e=>{e.children=[],r[e.spanID]=e})),e.spans.forEach((e=>{let t=a;e.references&&e.references.length>0&&(t=r[e.references[0].spanID]||a),t.children.push(e)})),function e(t,r){(t.children||[]).forEach((t=>e(t)));let a=0;const n=wf()(t.children||[],(e=>e.operationName));t.children=xf()(n,(e=>{const t=e[0];for(let r=1;r{i+=r(e,n+1,i)})),a.total}(a,0,0),t.levels=Ju("single",t.levels),{version:1,flamebearer:t,metadata:{format:"single",units:"trace_samples",spyName:"tracing",sampleRate:1e6}}}var _f=Object.defineProperty,Cf=Object.getOwnPropertySymbols,$f=Object.prototype.hasOwnProperty,Tf=Object.prototype.propertyIsEnumerable,Of=(e,t,r)=>t in e?_f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Sf=(e,t)=>{for(var r in t||(t={}))$f.call(t,r)&&Of(e,r,t[r]);if(Cf)for(var r of Cf(t))Tf.call(t,r)&&Of(e,r,t[r]);return e};function If(e,t){e.flamebearer.levels=Xu("single",e.flamebearer.levels),t.flamebearer.levels=Xu("single",t.flamebearer.levels);const r=function(e,t){const r={format:"double",numTicks:e.numTicks+t.numTicks,leftTicks:e.numTicks,rightTicks:t.numTicks,maxSelf:100,sampleRate:e.sampleRate,names:[],levels:[],units:e.units,spyName:e.spyName},a=function(e,t){const r={},a={};let n;return[e,t].forEach(((e,t)=>{var i,o;for(let l=0;l=i&&f{var o;const{name:l,children:s,self:c,total:u}=e;r.names.push(l),(o=r.levels)[t]||(o[t]=[]),r.maxSelf=Math.max(r.maxSelf,c[0]||0,c[1]||0),r.levels[t]=r.levels[t].concat([a,u[0]||0,c[0]||0,i,u[1]||0,c[1]||0,r.names.length-1]);for(let r=0;r{const t=e&&e.data?distExports.convertJaegerTraceToProfile(e.data):null;return jsxRuntimeExports.jsx("div",{className:"Flamegraph-wrapper",children:jsxRuntimeExports.jsx(distExports.FlamegraphRenderer,{colorMode:"light",profile:t})})},index$5="",VIEW_MIN_RANGE=.01,VIEW_CHANGE_BASE=.005,VIEW_CHANGE_FAST=.05,shortcutConfig={panLeft:[-VIEW_CHANGE_BASE,-VIEW_CHANGE_BASE],panLeftFast:[-VIEW_CHANGE_FAST,-VIEW_CHANGE_FAST],panRight:[VIEW_CHANGE_BASE,VIEW_CHANGE_BASE],panRightFast:[VIEW_CHANGE_FAST,VIEW_CHANGE_FAST],zoomIn:[VIEW_CHANGE_BASE,-VIEW_CHANGE_BASE],zoomInFast:[VIEW_CHANGE_FAST,-VIEW_CHANGE_FAST],zoomOut:[-VIEW_CHANGE_BASE,VIEW_CHANGE_BASE],zoomOutFast:[-VIEW_CHANGE_FAST,VIEW_CHANGE_FAST]};function makeShortcutCallbacks(e){return mapValues_1(shortcutConfig,(function([t,r]){return function(a){a.preventDefault(),e(t,r)}}))}class TracePageImpl extends reactExports.PureComponent{constructor(e){super(e),this.setHeaderHeight=e=>{this._headerElm=e,e?this.state.headerHeight!==e.clientHeight&&this.setState({headerHeight:e.clientHeight}):this.state.headerHeight&&this.setState({headerHeight:null})},this.clearSearch=()=>{const{history:e,location:t}=this.props;updateUiFind({history:e,location:t,trackFindFunction:trackFilter}),this._searchBar.current&&this._searchBar.current.blur()},this.focusOnSearchBar=()=>{this._searchBar.current&&this._searchBar.current.focus()},this.updateViewRangeTime=(e,t,r)=>{r&&trackRange(r,[e,t],this.state.viewRange.time.current);const a={current:[e,t]};this.setState((e=>({viewRange:{...e.viewRange,time:a}})))},this.updateNextViewRangeTime=e=>{this.setState((t=>{const r={...t.viewRange.time,...e};return{viewRange:{...t.viewRange,time:r}}}))},this.toggleSlimView=()=>{const{slimView:e}=this.state;trackSlimHeaderToggle(!e),this.setState({slimView:!e})},this.setTraceView=e=>{this.props.trace&&this.props.trace.data&&e===ETraceViewType.TraceGraph&&(this.traceDagEV=calculateTraceDagEV(this.props.trace.data)),this.setState({viewType:e})},this.archiveTrace=()=>{const{id:e,archiveTrace:t}=this.props;t(e)},this.acknowledgeArchive=()=>{const{id:e,acknowledgeArchive:t}=this.props;t(e)},this.focusUiFindMatches=()=>{const{trace:e,focusUiFindMatches:t,uiFind:r}=this.props;e&&e.data&&(trackFocusMatches(),t(e.data,r))},this.nextResult=()=>{trackNextMatch(),this._scrollManager.scrollToNextVisibleSpan()},this.prevResult=()=>{trackPrevMatch(),this._scrollManager.scrollToPrevVisibleSpan()};const{embedded:t,trace:r}=e;this.state={headerHeight:null,slimView:Boolean(t&&t.timeline.collapseTitle),viewType:ETraceViewType.TraceTimelineViewer,viewRange:{time:{current:[0,1]}}},this._headerElm=null,this._filterSpans=memoize_1(filterSpans,(e=>`${e} ${get_1$1(this.props.trace,"traceID")} ${get_1$1(this.props.trace,"data.spans.length")}`)),this._scrollManager=new ScrollManager(r&&r.data,{scrollBy:scrollBy,scrollTo:scrollTo}),this._searchBar=reactExports.createRef(),reset()}componentDidMount(){const e=this.props.trace;if(e&&e.data&&this.getSpansWithResolvedLocations(e.data),this.ensureTraceFetched(),this.updateViewRangeTime(0,1),!this._scrollManager)throw new Error("Invalid state - scrollManager is unset");const{scrollPageDown:t,scrollPageUp:r,scrollToNextVisibleSpan:a,scrollToPrevVisibleSpan:n}=this._scrollManager,i=makeShortcutCallbacks(((e,t)=>this._adjustViewRange(e,t,"kbd")));i.scrollPageDown=t,i.scrollPageUp=r,i.scrollToNextVisibleSpan=a,i.scrollToPrevVisibleSpan=n,i.clearSearch=this.clearSearch,i.searchSpans=this.focusOnSearchBar,merge(i)}componentDidUpdate({id:e,trace:t}){const{id:r,trace:a}=this.props;a&&a!==t&&a.data&&a.state&&a.state===fetchedState.DONE&&this.getSpansWithResolvedLocations(a.data),this._scrollManager.setTrace(a&&a.data),this.setHeaderHeight(this._headerElm),a?e!==r&&(this.updateViewRangeTime(0,1),this.clearSearch()):this.ensureTraceFetched()}componentWillUnmount(){reset(),cancel(),this._scrollManager.destroy(),this._scrollManager=new ScrollManager(void 0,{scrollBy:scrollBy,scrollTo:scrollTo}),window.sendMessageToDigma({action:actions$1.CLEAR})}getSpansWithResolvedLocations(e){window.sendMessageToDigma({action:actions$1.GET_SPANS_DATA,payload:{spans:e.spans.map((e=>getSpanDataForDigma(e))).filter((e=>e.instrumentationLibrary))}})}_adjustViewRange(e,t,r){const[a,n]=this.state.viewRange.time.current;let i=clamp_1(a+e,0,.99),o=clamp_1(n+t,.01,1);if(o-i0&&t>0)o=i+VIEW_MIN_RANGE;else{const e=a+(n-a)/2;i=e-VIEW_MIN_RANGE/2,o=e+VIEW_MIN_RANGE/2}this.updateViewRangeTime(i,o,r)}ensureTraceFetched(){const{fetchTrace:e,location:t,trace:r,id:a}=this.props;if(!r)return void e(a);const{history:n}=this.props;a&&a!==a.toLowerCase()&&n.replace(getLocation(a.toLowerCase(),t.state))}render(){const{archiveEnabled:e,archiveTraceState:t,embedded:r,id:a,uiFind:n,trace:i,traceGraphConfig:o,location:{state:l}}=this.props,{slimView:s,viewType:c,headerHeight:u,viewRange:f}=this.state;if(!i||i.state===fetchedState.LOADING)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});const{data:A}=i;if(i.state===fetchedState.ERROR||!A)return jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-m3",error:i.error||"Unknown error"});let d,p,h=0;n&&(c===ETraceViewType.TraceGraph?(d=getUiFindVertexKeys(n,get_1$1(this.traceDagEV,"vertices",[])),h=d?d.size:0):(p=this._filterSpans(n,get_1$1(i,"data.spans")),h=p?p.size:0));const b=Boolean(r),g={focusUiFindMatches:this.focusUiFindMatches,slimView:s,textFilter:n,viewType:c,viewRange:f,canCollapse:!r||!r.timeline.hideSummary||!r.timeline.hideMinimap,clearSearch:this.clearSearch,hideMap:Boolean(c!==ETraceViewType.TraceTimelineViewer||r&&r.timeline.hideMinimap),hideSummary:Boolean(r&&r.timeline.hideSummary),linkToStandalone:getUrl$6(a),nextResult:this.nextResult,onArchiveClicked:this.archiveTrace,onSlimViewClicked:this.toggleSlimView,onTraceViewChange:this.setTraceView,prevResult:this.prevResult,ref:this._searchBar,resultCount:h,showArchiveButton:!b&&e,showShortcutsHelp:!b,showStandaloneLink:b,showViewOptions:!0,toSearch:l&&l.fromSearch||null,trace:A,updateNextViewRangeTime:this.updateNextViewRangeTime,updateViewRangeTime:this.updateViewRangeTime};let m;return ETraceViewType.TraceTimelineViewer===c&&u?m=jsxRuntimeExports.jsx(TraceTimelineViewer,{registerAccessors:this._scrollManager.setAccessors,scrollToFirstVisibleSpan:this._scrollManager.scrollToFirstVisibleSpan,findMatchesIDs:p,trace:A,updateNextViewRangeTime:this.updateNextViewRangeTime,updateViewRangeTime:this.updateViewRangeTime,viewRange:f}):ETraceViewType.TraceGraph===c&&u?m=jsxRuntimeExports.jsx(TraceGraph,{headerHeight:u,ev:this.traceDagEV,uiFind:n,uiFindVertexKeys:d,traceGraphConfig:o}):ETraceViewType.TraceStatistics===c&&u?m=jsxRuntimeExports.jsx(TraceStatistics,{trace:A,uiFindVertexKeys:p,uiFind:n}):ETraceViewType.TraceSpansView===c&&u?m=jsxRuntimeExports.jsx(TraceSpanView,{trace:A,uiFindVertexKeys:p,uiFind:n}):ETraceViewType.TraceFlamegraph===c&&u&&(m=jsxRuntimeExports.jsx(TraceFlamegraph,{trace:i})),jsxRuntimeExports.jsxs("div",{children:[e&&jsxRuntimeExports.jsx(ArchiveNotifier,{acknowledge:this.acknowledgeArchive,archivedState:t}),jsxRuntimeExports.jsx("div",{className:"Tracepage--headerSection",ref:this.setHeaderHeight,children:jsxRuntimeExports.jsx(TracePageHeader,{...g})}),u?jsxRuntimeExports.jsx("section",{style:{paddingTop:u},children:m}):null]})}}function mapStateToProps$1(e,t){const{id:r}=t.match.params,{archive:a,config:n,embedded:i,router:o}=e,{traces:l}=e.trace,s=r?l[r]:null,c=r?a[r]:null,u=Boolean(n.archiveEnabled),{state:f}=o.location,A=f&&f.fromSearch||null,{traceGraph:d}=n;return{...extractUiFindFromState(e),archiveEnabled:u,archiveTraceState:c,embedded:i,id:r,searchUrl:A,trace:s,traceGraphConfig:d}}function mapDispatchToProps$1(e){const{fetchTrace:t}=bindActionCreators(jaegerApiActions,e),{archiveTrace:r,acknowledge:a}=bindActionCreators(actions$2,e),{focusUiFindMatches:n}=bindActionCreators(actions,e);return{acknowledgeArchive:a,archiveTrace:r,fetchTrace:t,focusUiFindMatches:n}}const TracePage=connect$3(mapStateToProps$1,mapDispatchToProps$1)(TracePageImpl),index$4="";function getDataOrAriaProps(e){return Object.keys(e).reduce((function(t,r){return"data-"!==r.substr(0,5)&&"aria-"!==r.substr(0,5)&&"role"!==r||"data-__"===r.substr(0,7)||(t[r]=e[r]),t}),{})}function _typeof$1(e){return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}function _extends$1(){return _extends$1=Object.assign||function(e){for(var t=1;t{const t=new Date(e),r=t.getHours().toString(),a=t.getMinutes().toString();return`${1===r.length?`0${r}`:r}:${1===a.length?`0${a}`:a}`};class ServiceGraphImpl extends reactExports.PureComponent{constructor(){super(...arguments),this.height=242,this.colors=["#DCA3D2","#EA9977","#869ADD"],this.state={crosshairValues:[]}}getData(){const{metricsData:e}=this.props;return null===e?[]:Array.isArray(e)?e:[e]}renderLines(){const{metricsData:e,color:t}=this.props;if(e){const e=[];let r=0;return this.getData().forEach(((a,n)=>{e.push(jsxRuntimeExports.jsx(AreaSeries,{data:a.metricPoints?a.metricPoints:[],getNull:e=>null!==e.y,onNearestX:(e,{index:t})=>{this.setState({crosshairValues:this.getData().map((e=>({...e.metricPoints[t],label:e.quantile})))})},opacity:.1,color:[t||this.colors[n]]},r++)),e.push(jsxRuntimeExports.jsx(LineSeries,{getNull:e=>null!==e.y,data:a.metricPoints?a.metricPoints:[],color:[t||this.colors[n]]},r++))})),e}return[]}generatePlaceholder(e){const{width:t}=this.props;return jsxRuntimeExports.jsx("div",{className:"center-placeholder",style:{width:t,height:this.height-74},children:e})}render(){const{width:e,yDomain:t,showHorizontalLines:r,showLegend:a,loading:n,metricsData:i,marginClassName:o,name:l,error:s,yAxisTickFormat:c,xDomain:u}=this.props;let f=this.generatePlaceholder(jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0}));const A=this.generatePlaceholder("No Data"),d=this.generatePlaceholder("Couldn’t fetch data"),p=jsxRuntimeExports.jsxs(XYPlot,{margin:{bottom:25},onMouseLeave:()=>this.setState({crosshairValues:[]}),width:e,height:this.height-74,xDomain:u,yDomain:t,children:[r?jsxRuntimeExports.jsx(HorizontalGridLines,{}):null,jsxRuntimeExports.jsx(XAxis,{tickFormat:tickFormat,tickTotal:Math.floor(e/60)}),jsxRuntimeExports.jsx(YAxis,{tickFormat:c}),this.renderLines(),jsxRuntimeExports.jsx(Crosshair,{values:this.state.crosshairValues,children:jsxRuntimeExports.jsxs("div",{className:"crosshair-value",children:[this.state.crosshairValues[0]&&`${new Date(this.state.crosshairValues[0].x).toLocaleDateString()} ${new Date(this.state.crosshairValues[0].x).toLocaleTimeString()}`,this.state.crosshairValues.reverse().map((e=>a?jsxRuntimeExports.jsxs("div",{children:["P",100*e.label,": ",e.y]},e.label):jsxRuntimeExports.jsx("div",{children:e.y},e.label)))]})}),a?jsxRuntimeExports.jsx(DiscreteColorLegend,{className:"legend-label",orientation:"horizontal",items:this.getData().map(((e,t)=>({color:this.colors[t],title:100*e.quantile+"th"}))).reverse()}):null]});return!n&&u.length>0&&(f=null===i?A:p),s&&(f=d),jsxRuntimeExports.jsxs("div",{className:`graph-container ${o}`,style:{height:this.height},children:[jsxRuntimeExports.jsx("h3",{className:"graph-header",children:l}),f]})}}const opsGraph="";class OperationsGraph extends reactExports.PureComponent{static generatePlaceholder(e){return jsxRuntimeExports.jsx("div",{className:"ops-graph-placeholder",children:e})}render(){const{dataPoints:e,yDomain:t,color:r,error:a}=this.props;if(a)return OperationsGraph.generatePlaceholder("Couldn’t fetch data");if(0===e.length)return OperationsGraph.generatePlaceholder("No Data");const n={};return t&&(n.yDomain=t),jsxRuntimeExports.jsx("div",{className:"ops-container",children:jsxRuntimeExports.jsxs(XYPlot,{margin:{left:0,right:0,bottom:1,top:2},width:100,height:15,children:[jsxRuntimeExports.jsx(AreaSeries,{className:"area-series-example ops-graph-style",curve:"curveLinear",color:r,data:e,...n}),jsxRuntimeExports.jsx(LineSeries,{className:"area-elevated-line-series",color:r,data:e,...n})]})})}}const index$3="",SPM_CATEGORY_BASE$1="jaeger/ux/trace/spm",CATEGORY_VIEW_TRACES=`${SPM_CATEGORY_BASE$1}/view-traces`,CATEGORY_SORT_OPERATIONS=`${SPM_CATEGORY_BASE$1}/sort-operations`,trackViewTraces=e=>trackEvent(CATEGORY_VIEW_TRACES,e),trackSortOperations=e=>trackEvent(CATEGORY_SORT_OPERATIONS,e),tableTitles=new Map([["name","Name"],["latency","P95 Latency"],["requests","Request rate"],["errRates","Error rate"],["impact","Impact"]]);function formatValue(e){return e<.1?"< 0.1":`${e.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]}`}function formatTimeValue(e){const t=getSuitableTimeUnit(e);return`${formatValue(convertToTimeUnit(e,t))}${convertTimeUnitToShortTerm(t)}`}class OperationTableDetails extends reactExports.PureComponent{constructor(){super(...arguments),this.state={hoveredRowKey:-1,tableSorting:{order:"descend",columnKey:"impact"}}}render(){const{loading:e,error:t}=this.props;if(e)return jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0});if(t.opsCalls&&t.opsErrors&&t.opsLatencies)return jsxRuntimeExports.jsx("div",{className:"ops-table-error-placeholder",children:"Couldn’t fetch data"});const r=[{title:tableTitles.get("name"),className:"header-item",dataIndex:"name",key:"name",sorter:(e,t)=>e.name.localeCompare(t.name)},{title:tableTitles.get("latency"),className:"header-item",dataIndex:"latency",key:"latency",sorter:(e,t)=>e.latency-t.latency,render:(e,r)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:r.dataPoints.service_operation_latencies,color:"#869ADD",error:t.opsLatencies}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:"number"==typeof e&&r.dataPoints.service_operation_latencies.length>0?formatTimeValue(1e3*e):""})]})},{title:tableTitles.get("requests"),className:"header-item",dataIndex:"requests",key:"requests",sorter:(e,t)=>e.requests-t.requests,render:(e,r)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:r.dataPoints.service_operation_call_rate,color:"#4795BA",error:t.opsCalls}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:"number"==typeof e&&r.dataPoints.service_operation_call_rate.length>0?`${formatValue(e)} req/s`:""})]})},{title:tableTitles.get("errRates"),className:"header-item",dataIndex:"errRates",key:"errRates",sorter:(e,t)=>e.errRates-t.errRates,render:(e,r)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:r.dataPoints.service_operation_error_rate,color:"#CD513A",yDomain:[0,1],error:t.opsErrors}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:"number"==typeof e&&r.dataPoints.service_operation_error_rate.length>0?`${formatValue(100*e)}%`:""})]})},{title:jsxRuntimeExports.jsx("div",{style:{paddingTop:1},children:jsxRuntimeExports.jsxs("span",{style:{float:"left",color:"#459798"},children:[tableTitles.get("impact"),"  ",jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"impact-tooltip",placement:"top",title:"The result of multiplying avg. duration and requests per minute, showing the most used and slowest endpoints",children:jsxRuntimeExports.jsx(Icon$1,{type:"info-circle"})})]})}),className:"header-item",dataIndex:"impact",key:"impact",defaultSortOrder:"descend",sorter:(e,t)=>e.impact-t.impact,render:(e,t)=>{let r=null;if(this.state.hoveredRowKey===t.key){const{endTime:e,lookback:a,serviceName:n}=this.props;r=jsxRuntimeExports.jsx(Button$2,{href:prefixUrl(`/search?end=${e}000&limit=20&lookback=${a/36e5}h&maxDuration&minDuration&operation=${encodeURIComponent(t.name)}&service=${n}&start=${e-a}000`),target:"blank",onClick:()=>trackViewTraces(t.name),children:"View traces"})}return{children:jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(Progress,{className:"impact",percent:100*e,strokeLinecap:"square",strokeColor:"#459798",showInfo:!1}),jsxRuntimeExports.jsx("div",{className:"view-trace-button",children:r})]})}}}];return jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsx(Table$1,{rowClassName:()=>"table-row",columns:r,dataSource:this.props.data,pagination:{defaultPageSize:20,showSizeChanger:!0,pageSizeOptions:["20","50","100"]},onRow:()=>({onMouseEnter:e=>{this.setState({hoveredRowKey:parseInt(e.currentTarget.getAttribute("data-row-key"),10)})},onMouseLeave:()=>{this.setState({hoveredRowKey:-1})}}),onChange:(e,t,{columnKey:r,order:a})=>{if(!isEqual_1({columnKey:r,order:a},this.state.tableSorting)){const e=tableTitles.get(r||this.state.tableSorting.columnKey);trackSortOperations(e),this.setState({tableSorting:{columnKey:r,order:a}})}}})})}}const index$2="",monitorImg=""+new URL("monitor-9000dba4.png",module.meta.url).href,monitorImgUrl=getStaticAssetPath(monitorImg);class MonitorATMEmptyState extends reactExports.PureComponent{constructor(e){super(e),this.config=getConfigValue("monitor.emptyState")}render(){return jsxRuntimeExports.jsxs(Col,{children:[jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsx(Col,{span:8,offset:8,children:jsxRuntimeExports.jsx("img",{className:"monitor-preview-image-empty-state",alt:"jaeger-monitor-tab-preview",src:monitorImgUrl})})}),jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsxs(Col,{span:6,offset:9,className:"center-empty-state",children:[this.config.mainTitle&&jsxRuntimeExports.jsx("h2",{className:"main-title-empty-state",children:this.config.mainTitle}),this.config.subTitle&&jsxRuntimeExports.jsx("h3",{className:"sub-title-empty-state",children:this.config.subTitle}),this.config.description&&jsxRuntimeExports.jsx("h4",{className:"description-empty-state",children:this.config.description}),this.config.button&&this.config.button.text&&jsxRuntimeExports.jsx(Button$2,{className:"button-empty-state",onClick:()=>this.config.button&&this.config.button.onClick&&this.config.button.onClick(),children:this.config.button.text}),this.config.alert&&jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsx(Col,{span:20,offset:2,children:jsxRuntimeExports.jsx(Alert,{message:this.config.alert.message,type:this.config.alert.type,showIcon:!0})})})]})})]})}}const index$1="",SPM_CATEGORY_BASE="jaeger/ux/trace/spm",CATEGORY_VIEW_ALL_TRACES=`${SPM_CATEGORY_BASE}/view-all-traces`,CATEGORY_SELECT_SERVICE=`${SPM_CATEGORY_BASE}/select-service`,CATEGORY_SELECT_TIMEFRAME=`${SPM_CATEGORY_BASE}/select-timeframe`,CATEGORY_SEARCH_OPERATION=`${SPM_CATEGORY_BASE}/search-operation`,trackViewAllTraces=()=>trackEvent(CATEGORY_VIEW_ALL_TRACES,"click"),trackSelectService=e=>trackEvent(CATEGORY_SELECT_SERVICE,e),trackSelectTimeframe=e=>trackEvent(CATEGORY_SELECT_TIMEFRAME,e),trackSearchOperation=e=>trackEvent(CATEGORY_SEARCH_OPERATION,e),trackSearchOperationDebounced=debounce_1((e=>trackSearchOperation(e)),1e3),Search=Input$1.Search,AdaptedVirtualSelect=reduxFormFieldAdapter({AntInputComponent:VirtSelect,onChangeAdapter:e=>e?e.value:null}),serviceFormSelector=formValueSelector("serviceForm"),oneHourInMilliSeconds=36e5,oneMinuteInMilliSeconds=6e4,timeFrameOptions=[{label:"Last 5 minutes",value:5*oneMinuteInMilliSeconds},{label:"Last 15 minutes",value:15*oneMinuteInMilliSeconds},{label:"Last 30 minutes",value:30*oneMinuteInMilliSeconds},{label:"Last Hour",value:oneHourInMilliSeconds},{label:"Last 2 hours",value:2*oneHourInMilliSeconds},{label:"Last 6 hours",value:6*oneHourInMilliSeconds},{label:"Last 12 hours",value:12*oneHourInMilliSeconds},{label:"Last 24 hours",value:24*oneHourInMilliSeconds},{label:"Last 2 days",value:48*oneHourInMilliSeconds}],getLoopbackInterval=e=>{if(void 0===e)return"";const t=timeFrameOptions.find((t=>t.value===e));return void 0===t?"":t.label.toLowerCase()},calcDisplayTimeUnit=e=>{let t=0;if(e&&Array.isArray(e)){const r=e.map((e=>e.max));t=Math.max(...r)}else e&&(t=e.max);return getSuitableTimeUnit(1e3*t)},yAxisTickFormat=(e,t)=>convertToTimeUnit(1e3*e,t),convertServiceErrorRateToPercentages=e=>{if(!e)return null;const t=e.metricPoints.map((e=>({...e,y:100*e.y})));return{...e,metricPoints:t}};class MonitorATMServicesViewImpl extends reactExports.PureComponent{constructor(e){super(e),this.serviceSelectorValue="",this.endTime=Date.now(),this.state={graphWidth:300,serviceOpsMetrics:void 0,searchOps:"",graphXDomain:[]},this.graphDivWrapper=reactExports.createRef(),this.docsLink=getConfigValue("monitor.docsLink")}componentDidMount(){const{fetchServices:e,services:t}=this.props;e(),0!==t.length&&this.fetchMetrics(),window.addEventListener("resize",this.updateDimensions.bind(this)),this.updateDimensions.apply(this),this.calcGraphXDomain()}componentDidUpdate(e){const{selectedService:t,selectedTimeFrame:r,services:a}=this.props;e.selectedService!==t||e.selectedTimeFrame!==r?this.fetchMetrics():isEqual_1(e.services,a)||this.fetchMetrics(),e.selectedTimeFrame!==this.props.selectedTimeFrame&&this.calcGraphXDomain()}componentWillUnmount(){window.removeEventListener("resize",this.updateDimensions.bind(this))}calcGraphXDomain(){const e=Date.now();this.setState({graphXDomain:[e-this.props.selectedTimeFrame,e]})}updateDimensions(){this.graphDivWrapper.current&&this.setState({graphWidth:this.graphDivWrapper.current.offsetWidth-24})}fetchMetrics(){const{selectedService:e,selectedTimeFrame:t,fetchAllServiceMetrics:r,fetchAggregatedServiceMetrics:a,services:n}=this.props,i=e||n[0];if(i){this.endTime=Date.now(),store_legacy.set("lastAtmSearchTimeframe",t),store_legacy.set("lastAtmSearchService",this.getSelectedService());const e={quantile:.95,endTs:this.endTime,lookback:t,step:6e4,ratePer:6e5};r(i,e),a(i,e),this.setState({serviceOpsMetrics:void 0,searchOps:""})}}getSelectedService(){const{selectedService:e,services:t}=this.props;return e||store_legacy.get("lastAtmSearchService")||t[0]}render(){const{services:e,metrics:t,selectedTimeFrame:r,servicesLoading:a}=this.props,n=t.serviceMetrics?t.serviceMetrics.service_latencies:null,i=calcDisplayTimeUnit(n),o=t.serviceMetrics?t.serviceMetrics.service_error_rate:null;return a?jsxRuntimeExports.jsx(LoadingIndicator,{vcentered:!0,centered:!0}):!1===t.isATMActivated?jsxRuntimeExports.jsx(MonitorATMEmptyState,{}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[isEmpty_1(t&&t.serviceMetrics&&t.serviceMetrics.service_latencies)&&jsxRuntimeExports.jsx(Alert,{message:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["No data yet! Please see these",jsxRuntimeExports.jsx(Link$1,{to:{pathname:this.docsLink},target:"_blank",children:" instructions "}),"on how to set up your span metrics."]}),type:"warning",showIcon:!0}),jsxRuntimeExports.jsxs("div",{className:"service-view-container",children:[jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsxs(Col,{span:6,children:[jsxRuntimeExports.jsx("h2",{className:"service-selector-header",children:"Choose service"}),jsxRuntimeExports.jsx(Field,{onChange:(e,t)=>trackSelectService(t),name:"service",component:AdaptedVirtualSelect,placeholder:"Select A Service",props:{className:"select-a-service-input",value:this.getSelectedService(),disabled:t.operationMetricsLoading,clearable:!1,options:e.map((e=>({label:e,value:e}))),required:!0}})]})}),jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsx(Col,{span:16,children:jsxRuntimeExports.jsxs("p",{className:"operations-metrics-text",children:['Aggregation of all "',this.getSelectedService(),'" metrics in selected timeframe.'," ",jsxRuntimeExports.jsx("a",{href:prefixUrl(`/search?end=${Date.now()}000&limit=20&lookback=${r/36e5}h&maxDuration&minDuration&service=${this.getSelectedService()}&start=${Date.now()-r}000`),target:"blank",onClick:trackViewAllTraces,children:"View all traces"})]})}),jsxRuntimeExports.jsx(Col,{span:8,className:"timeframe-selector",children:jsxRuntimeExports.jsx(Field,{name:"timeframe",component:AdaptedVirtualSelect,placeholder:"Select A Timeframe",onChange:(e,t)=>{const{label:r}=timeFrameOptions.find((e=>e.value===t));trackSelectTimeframe(r)},props:{className:"select-a-timeframe-input",defaultValue:timeFrameOptions[3],value:r,disabled:t.operationMetricsLoading,clearable:!1,options:timeFrameOptions,required:!0}})})]}),jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:8,children:[jsxRuntimeExports.jsx("div",{ref:this.graphDivWrapper}),jsxRuntimeExports.jsx(ServiceGraphImpl,{error:t.serviceError.service_latencies_50&&t.serviceError.service_latencies_75&&t.serviceError.service_latencies_95,loading:t.loading,name:`Latency (${convertTimeUnitToShortTerm(i)})`,width:this.state.graphWidth,metricsData:n,showLegend:!0,marginClassName:"latency-margins",showHorizontalLines:!0,yAxisTickFormat:e=>yAxisTickFormat(e,i),xDomain:this.state.graphXDomain},"latency")]}),jsxRuntimeExports.jsx(Col,{span:8,children:jsxRuntimeExports.jsx(ServiceGraphImpl,{error:t.serviceError.service_error_rate,loading:t.loading,name:"Error rate (%)",width:this.state.graphWidth,metricsData:convertServiceErrorRateToPercentages(o),marginClassName:"error-rate-margins",color:"#CD513A",yDomain:[0,100],xDomain:this.state.graphXDomain},"errRate")}),jsxRuntimeExports.jsx(Col,{span:8,children:jsxRuntimeExports.jsx(ServiceGraphImpl,{loading:t.loading,error:t.serviceError.service_call_rate,name:"Request rate (req/s)",width:this.state.graphWidth,metricsData:t.serviceMetrics?t.serviceMetrics.service_call_rate:null,showHorizontalLines:!0,color:"#4795BA",marginClassName:"request-margins",xDomain:this.state.graphXDomain},"requests")})]}),jsxRuntimeExports.jsxs(Row,{className:"operation-table-block",children:[jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:16,children:[jsxRuntimeExports.jsxs("h2",{className:"table-header",children:["Operations metrics under ",this.getSelectedService()]})," ",jsxRuntimeExports.jsxs("span",{className:"over-the-last",children:["Over the ",getLoopbackInterval(r)]})]}),jsxRuntimeExports.jsx(Col,{span:8,className:"select-operation-column",children:jsxRuntimeExports.jsx(Search,{placeholder:"Search operation",className:"select-operation-input",value:this.state.searchOps,disabled:!0===t.operationMetricsLoading||void 0===t.serviceOpsMetrics,onChange:e=>{const r=t.serviceOpsMetrics.filter((({name:t})=>t.toLowerCase().includes(e.target.value.toLowerCase())));this.setState({searchOps:e.target.value,serviceOpsMetrics:r}),trackSearchOperationDebounced(e.target.value)}})})]}),jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsx(OperationTableDetails,{loading:t.operationMetricsLoading,error:t.opsError,data:void 0===this.state.serviceOpsMetrics?t.serviceOpsMetrics:this.state.serviceOpsMetrics,endTime:this.endTime,lookback:r,serviceName:this.getSelectedService()})})]})]})]})}}function mapStateToProps(e){const{services:t,metrics:r}=e;return{services:t.services||[],servicesLoading:t.loading,metrics:r,selectedService:serviceFormSelector(e,"service")||store_legacy.get("lastAtmSearchService"),selectedTimeFrame:serviceFormSelector(e,"timeframe")||store_legacy.get("lastAtmSearchTimeframe")||oneHourInMilliSeconds}}function mapDispatchToProps(e){const{fetchServices:t,fetchAllServiceMetrics:r,fetchAggregatedServiceMetrics:a}=bindActionCreators(jaegerApiActions,e);return{fetchServices:t,fetchAllServiceMetrics:r,fetchAggregatedServiceMetrics:a}}const MonitorATMServicesView=connect$3(mapStateToProps,mapDispatchToProps)(reduxForm({form:"serviceForm"})(MonitorATMServicesViewImpl)),MonitorATMPage=()=>jsxRuntimeExports.jsx(MonitorATMServicesView,{});function reduceConfig(e){return void 0===e?getConfig():e}const initialState$3={dependencies:[],loading:!1,error:null};function fetchStarted$2(e){return{...e,loading:!0}}function fetchDepsDone(e,{payload:t}){return{...e,dependencies:t.data,loading:!1}}function fetchDepsErred(e,{payload:t}){return{...e,error:t,dependencies:[],loading:!1}}const dependencies=handleActions({[`${fetchDependencies}_PENDING`]:fetchStarted$2,[`${fetchDependencies}_FULFILLED`]:fetchDepsDone,[`${fetchDependencies}_REJECTED`]:fetchDepsErred},initialState$3);function addViewModifier(e,t){const{visibilityIndices:r,viewModifier:a}=t,n=getStateEntryKey(t),i=e[n];if(!i||i.state!==fetchedState.DONE)return console.warn("Cannot set view modifiers for unloaded Deep Dependency Graph"),e;const o=new Map(i.viewModifiers);return r.forEach((e=>{o.set(e,(o.get(e)||0)|a)})),{...e,[n]:{...i,viewModifiers:o}}}function viewModifierRemoval(e,t){const{visibilityIndices:r,viewModifier:a}=t,n=getStateEntryKey(t),i=e[n];if(!i||i.state!==fetchedState.DONE)return console.warn("Cannot change view modifiers for unloaded Deep Dependency Graph"),e;const o=new Map(i.viewModifiers);return(r||Array.from(o.keys())).forEach((e=>{const t=a?(o.get(e)||0)&~a:EViewModifier.None;t===EViewModifier.None?o.delete(e):o.set(e,t)})),{...e,[n]:{...i,viewModifiers:o}}}function fetchDeepDependencyGraphStarted(e,{meta:t}){const{query:r}=t;return{...e,[getStateEntryKey(r)]:{state:fetchedState.LOADING}}}function fetchDeepDependencyGraphDone(e,{meta:t,payload:r}){const{query:a}=t,{service:n,operation:i}=a;return{...e,[getStateEntryKey(a)]:{model:transformDdgData$1(r,{service:n,operation:i}),state:fetchedState.DONE,viewModifiers:new Map}}}function fetchDeepDependencyGraphErred(e,{meta:t,payload:r}){const{query:a}=t;return{...e,[getStateEntryKey(a)]:{error:r,state:fetchedState.ERROR}}}const ddg=handleActions({[`${fetchDeepDependencyGraph}_PENDING`]:fetchDeepDependencyGraphStarted,[`${fetchDeepDependencyGraph}_FULFILLED`]:guardReducerWithMeta(fetchDeepDependencyGraphDone),[`${fetchDeepDependencyGraph}_REJECTED`]:guardReducerWithMeta(fetchDeepDependencyGraphErred),[actionTypes$3.ADD_VIEW_MODIFIER]:guardReducer(addViewModifier),[actionTypes$3.CLEAR_VIEW_MODIFIERS_FROM_INDICES]:guardReducer(viewModifierRemoval),[actionTypes$3.REMOVE_VIEW_MODIFIER]:guardReducer(viewModifierRemoval),[actionTypes$3.REMOVE_VIEW_MODIFIER_FROM_INDICES]:guardReducer(viewModifierRemoval)},{});function getDecorationDone(e,t){return t?Object.keys(t).reduce(((e,r)=>{const{withOp:a,withoutOp:n}=t[r],i=[];n&&Object.keys(n).forEach((e=>{const t=n[e];"number"==typeof t&&i.push(t)}));const o=[];if(a&&Object.keys(a).forEach((e=>{Object.keys(a[e]).forEach((t=>{const r=a[e][t];"number"==typeof r&&o.push(r)}))})),e[r]){const{withOpMax:t,withoutOpMax:l}=e[r];"number"==typeof t&&o.push(t),"number"==typeof l&&i.push(l);const s=Math.max(...o),c=Math.max(...i);return{...e,[r]:{withOp:a?Object.keys(a).reduce(((e,t)=>({...e,[t]:Object.assign({},e[t],a[t])})),e[r].withOp||{}):e[r].withOp,withOpMax:s,withoutOp:n?Object.assign({},e[r].withoutOp,n):e[r].withoutOp,withoutOpMax:c}}}const l=Math.max(...o),s=Math.max(...i);return{...e,[r]:{withOp:a,withOpMax:l,withoutOp:n,withoutOpMax:s}}}),e):e}const pathAgnosticDecorations=handleActions({[`${actionTypes$4.GET_DECORATION}_FULFILLED`]:guardReducer(getDecorationDone)},{});function embeddedConfig(e){if(void 0===e){let e=get_1$1(window,"location.search");const t=new URLSearchParams(e);return"boolean"==typeof window.embeddedMode&&window.embeddedMode&&!t.get("uiEmbed")&&(t.set("uiEmbed",VERSION_0),e=t.toString()),e?getEmbeddedState(e):null}return e}function localeStringComparator(e,t){return e.localeCompare(t)}const initialState$2={error:null,loading:!1,operationsForService:{},serverOpsForService:{},services:null};function fetchStarted$1(e){return{...e,loading:!0}}function fetchServicesDone(e,{payload:t}){const r=t.data||[];return r.sort(localeStringComparator),{...e,services:r,error:null,loading:!1}}function fetchServicesErred(e,{payload:t}){return{...e,error:t,loading:!1,services:[]}}function fetchServerOpsStarted(e,{meta:{serviceName:t}}){const r={...e.operationsForService,[t]:[]};return{...e,serverOpsForService:r}}function fetchServerOpsDone(e,{meta:{serviceName:t},payload:{data:r}}){if(!Array.isArray(r))return e;const a={...e.operationsForService,[t]:r.map((({name:e})=>e)).sort(localeStringComparator)};return{...e,serverOpsForService:a}}function fetchOpsStarted(e,{meta:{serviceName:t}}){const r={...e.operationsForService,[t]:[]};return{...e,operationsForService:r}}function fetchOpsDone(e,{meta:t,payload:r}){const{data:a}=r;Array.isArray(a)&&a.sort(localeStringComparator);const n={...e.operationsForService,[t.serviceName]:a||[]};return{...e,operationsForService:n}}const services=handleActions({[`${fetchServices}_PENDING`]:fetchStarted$1,[`${fetchServices}_FULFILLED`]:fetchServicesDone,[`${fetchServices}_REJECTED`]:fetchServicesErred,[`${fetchServiceServerOps}_PENDING`]:fetchServerOpsStarted,[`${fetchServiceServerOps}_FULFILLED`]:fetchServerOpsDone,[`${fetchServiceOperations}_PENDING`]:fetchOpsStarted,[`${fetchServiceOperations}_FULFILLED`]:fetchOpsDone},initialState$2),initialState$1={serviceError:{service_latencies_50:null,service_latencies_75:null,service_latencies_95:null,service_call_rate:null,service_error_rate:null},opsError:{opsLatencies:null,opsCalls:null,opsErrors:null},isATMActivated:null,loading:!1,operationMetricsLoading:null,serviceMetrics:null,serviceOpsMetrics:void 0};function fetchStarted(e){return{...e,serviceError:initialState$1.serviceError,loading:!0}}function fetchServiceMetricsDone(t,{payload:r}){const a={service_latencies:null,service_call_rate:null,service_error_rate:null},n={service_latencies_50:null,service_latencies_75:null,service_latencies_95:null,service_call_rate:null,service_error_rate:null};let i=!0;return r&&r.forEach(((t,r)=>{if("fulfilled"===t.status){const r=t.value;if(r.metrics[0]){let t=0;const n={serviceName:r.metrics[0].labels[0].value,quantile:r.quantile,max:0,metricPoints:r.metrics[0].metricPoints.map((r=>{let a;try{a=parseFloat(r.gaugeValue.doubleValue.toFixed(2)),t=a>t?a:t}catch(e){a=null}return{x:new Date(r.timestamp).getTime(),y:a}}))};n.max=t,"service_latencies"===r.name?(null===a[r.name]&&(a[r.name]=[]),a[r.name].push(n)):a[r.name]=n}}else switch("object"==typeof t.reason&&501===t.reason.httpStatus&&(i=!1),r){case 0:n.service_latencies_50=t.reason;break;case 1:n.service_latencies_75=t.reason;break;case 2:n.service_latencies_95=t.reason;break;case 3:n.service_call_rate=t.reason;break;case 4:n.service_error_rate=t.reason}})),{...t,serviceMetrics:a,serviceError:n,loading:!1,isATMActivated:i}}function fetchOpsMetricsStarted(e){return{...e,opsError:initialState$1.opsError,operationMetricsLoading:!0}}function fetchOpsMetricsDone(t,{payload:r}){const a={opsLatencies:null,opsCalls:null,opsErrors:null};let n,i=null;if(r){r.forEach(((t,r)=>{if("fulfilled"===t.status){const r=t.value;r.metrics.forEach((t=>{null===i&&(i={});let a=null;const n={service_operation_latencies:0,service_operation_call_rate:0,service_operation_error_rate:0};t.labels.forEach((e=>{"operation"===e.name&&(a=e.value)})),a&&(void 0===i[a]&&(i[a]={name:a,metricPoints:{service_operation_latencies:[],service_operation_call_rate:[],service_operation_error_rate:[],avg:{service_operation_latencies:null,service_operation_call_rate:null,service_operation_error_rate:null}}}),i[a].metricPoints[r.name]=t.metricPoints.map((t=>{let a;try{a=parseFloat(t.gaugeValue.doubleValue.toFixed(2)),n[r.name]+=a}catch(e){a=null}return{x:new Date(t.timestamp).getTime(),y:a}})),i[a].metricPoints.avg[r.name]=t.metricPoints.length>0?parseFloat((n[r.name]/t.metricPoints.length).toFixed(2)):null)}))}else switch(r){case 0:a.opsLatencies=t.reason;break;case 1:a.opsCalls=t.reason;break;case 2:a.opsErrors=t.reason}}));const t={min:0,max:0};i&&(n=Object.keys(i).map(((e,r)=>{let a=0;return null!==i[e].metricPoints.avg.service_operation_latencies&&null!==i[e].metricPoints.avg.service_operation_call_rate&&(a=i[e].metricPoints.avg.service_operation_latencies*i[e].metricPoints.avg.service_operation_call_rate/100),0===r?(t.max=a,t.min=a):(t.max=t.maxa?a:t.min),{key:r,name:i[e].name,latency:i[e].metricPoints.avg.service_operation_latencies||0,requests:i[e].metricPoints.avg.service_operation_call_rate||0,errRates:i[e].metricPoints.avg.service_operation_error_rate||0,impact:a,dataPoints:i[e].metricPoints}})),n&&1===n.length?n.forEach(((e,t)=>{n[t].impact=1})):n&&n.length>1&&n.forEach(((e,r)=>{t.max-t.min==0?n[r].impact=0:n[r].impact=(e.impact-t.min)/(t.max-t.min)})))}return{...t,serviceOpsMetrics:n,opsError:a,operationMetricsLoading:!1}}const metrics=handleActions({[`${fetchAllServiceMetrics}_PENDING`]:fetchStarted,[`${fetchAllServiceMetrics}_FULFILLED`]:fetchServiceMetricsDone,[`${fetchAggregatedServiceMetrics}_PENDING`]:fetchOpsMetricsStarted,[`${fetchAggregatedServiceMetrics}_FULFILLED`]:fetchOpsMetricsDone},initialState$1);function deduplicateTags(e){const t=new Map,r=e.reduce(((e,r)=>(e.some((e=>e.key===r.key&&e.value===r.value))?t.set(`${r.key}:${r.value}`,`Duplicate tag "${r.key}:${r.value}"`):e.push(r),e)),[]);return{tags:r,warnings:Array.from(t.values())}}function orderTags(e,t){const r=e.slice(),a=(t||[]).map((e=>e.toLowerCase()));return r.sort(((e,t)=>{const r=e.key.toLowerCase(),n=t.key.toLowerCase();for(let i=0;in?1:rBoolean(e.startTime)));const o=e.spans.length;for(let f=0;fr&&(r=o+l);const u=n.get(c);null!=u?(console.warn(`Dupe spanID, ${u+1} x ${c}`,t,i.get(c)),isEqual_1(t,i.get(c))&&console.warn("\t two spans with same ID have `isEqual(...) === true`"),n.set(c,u+1),c=`${c}_${u}`,t.spanID=c):n.set(c,1),t.process=e.processes[s],i.set(c,t)}const l=getTraceSpanIdsAsTree(e),s=[],c={};l.walk(((e,r,n=0)=>{if("__root__"===e)return;const o=i.get(e);if(!o)return;const{serviceName:l}=o.process;c[l]=(c[l]||0)+1,o.relativeStartTime=o.startTime-a,o.depth=n-1,o.hasChildren=r.children.length>0,o.warnings=o.warnings||[],o.tags=o.tags||[],o.references=o.references||[];const u=deduplicateTags(o.tags);o.tags=orderTags(u.tags,getConfigValue("topTagPrefixes")),o.warnings=o.warnings.concat(u.warnings),o.references.forEach(((r,a)=>{const n=i.get(r.spanID);n&&(r.span=n,a>0&&(n.subsidiarilyReferencedBy=n.subsidiarilyReferencedBy||[],n.subsidiarilyReferencedBy.push({spanID:e,traceID:t,span:o,refType:r.refType})))})),s.push(o)}));const u=getTraceName(s);return{services:Object.keys(c).map((e=>({name:e,numberOfSpans:c[e]}))),spans:s,traceID:t,traceName:u,processes:e.processes,duration:r-a,startTime:a,endTime:r}}const initialState={traces:{},search:{query:null,results:[]}};function fetchTraceStarted(e,{meta:t}){const{id:r}=t,a={...e.traces,[r]:{id:r,state:fetchedState.LOADING}};return{...e,traces:a}}function fetchTraceDone(e,{meta:t,payload:r}){const{id:a}=t,n=transformTraceData(r.data[0]);let i;i=n?{data:n,id:a,state:fetchedState.DONE}:{id:a,state:fetchedState.ERROR,error:new Error("Invalid trace data recieved.")};const o={...e.traces,[a]:i};return{...e,traces:o}}function fetchTraceErred(e,{meta:t,payload:r}){const{id:a}=t,n={id:a,error:r,state:fetchedState.ERROR},i={...e.traces,[a]:n};return{...e,traces:i}}function fetchMultipleTracesStarted(e,{meta:t}){const{ids:r}=t,a={...e.traces};return r.forEach((e=>{a[e]={id:e,state:fetchedState.LOADING}})),{...e,traces:a}}function fetchMultipleTracesDone(e,{payload:t}){const r={...e.traces};return t.data.forEach((e=>{const t=transformTraceData(e);r[t.traceID]={data:t,id:t.traceID,state:fetchedState.DONE}})),t.errors&&t.errors.forEach((e=>{const{msg:t,traceID:a}=e,n=new Error(`Error: ${t} - ${a}`);r[a]={error:n,id:a,state:fetchedState.ERROR}})),{...e,traces:r}}function fetchMultipleTracesErred(e,{meta:t,payload:r}){const{ids:a}=t,n={...e.traces},i=r;return a.forEach((e=>{n[e]={error:i,id:e,state:fetchedState.ERROR}})),{...e,traces:n}}function fetchSearchStarted(e,{meta:t}){const{query:r}=t;return{...e,search:{query:r,results:[],state:fetchedState.LOADING}}}function searchDone(e,{meta:t,payload:r}){if(!isEqual_1(e.search.query,t.query))return e;const a=r.data,n=a.map(transformTraceData),i={},o=[];for(let c=0;c0&&void 0!==arguments[0]?arguments[0]:{},t=e.promiseTypeSuffixes||defaultTypes,r=e.promiseTypeDelimiter||"_";return function(e){var a=e.dispatch;return function(e){return function(n){var i=void 0,o=void 0;if(!n.payload)return e(n);var l=n.payload;if(isPromise(l))i=l;else if(isPromise(l.promise))i=l.promise,o=l.data;else{if("function"!=typeof l&&"function"!=typeof l.promise)return e(n);if(i=l.promise?l.promise():l(),o=l.promise?l.data:void 0,!isPromise(i))return e(_extends({},n,{payload:i}))}var s=n.type,c=n.meta,u=_slicedToArray(t,3),f=u[0],A=u[1],d=u[2],p=function(e,t){return _extends({type:[s,t?d:A].join(r)},null==e?{}:{payload:e},void 0!==c?{meta:c}:{},t?{error:!0}:{})};return e(_extends({type:[s,f].join(r)},void 0!==o?{payload:o}:{},void 0!==c?{meta:c}:{})),i.then((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=p(e,!1);return a(t),{value:e,action:t}}),(function(e){var t=p(e,!0);throw a(t),e}))}}}}const ACTION_RESIZE="resize",ACTION_COLLAPSE_ALL="collapse-all",ACTION_COLLAPSE_ONE="collapse-one",ACTION_EXPAND_ALL="expand-all",ACTION_EXPAND_ONE="expand-one",CATEGORY_BASE="jaeger/ux/trace/timeline",CATEGORY_COLUMN=`${CATEGORY_BASE}/column`,CATEGORY_EXPAND_COLLAPSE=`${CATEGORY_BASE}/expand-collapse`,CATEGORY_LOGS=`${CATEGORY_BASE}/logs`,CATEGORY_LOGS_ITEM=`${CATEGORY_BASE}/logs/item`,CATEGORY_PARENT=`${CATEGORY_BASE}/parent`,CATEGORY_PROCESS=`${CATEGORY_BASE}/process`,CATEGORY_ROW=`${CATEGORY_BASE}/row`,CATEGORY_TAGS=`${CATEGORY_BASE}/tags`;function getDetail(e,{payload:t}){return t?e.getState().traceTimeline.detailStates.get(t.spanID):void 0}function trackDetailState(e,t,r){const a=getDetail(e,t);a&&r(a)}function trackParent(e,{payload:t}){if(!t)return;const r=e.getState(),a=r.traceTimeline.traceID;if(!a)return;const{spanID:n}=t,i=r.traceTimeline.childrenHiddenIDs.has(n),o=r.trace.traces[a]||r.trace.traces[a.replace(/^0*/,"")];if(!o||!o.data)return;const l=o.data.spans.find((e=>e.spanID===n));l&&trackEvent(CATEGORY_PARENT,getToggleValue(!i),l.depth)}function trackLogsItem(e,t){const r=getDetail(e,t),{payload:a}=t;if(!r||!a||!("logItem"in a))return;const{logItem:n}=a,i=Boolean(r.logs.openedItems.has(n));trackEvent(CATEGORY_LOGS_ITEM,getToggleValue(i))}const trackColumnWidth=(e,{payload:t})=>t&&trackEvent(CATEGORY_COLUMN,ACTION_RESIZE,Math.round(1e3*t.width)),trackDetailRow=e=>trackEvent(CATEGORY_ROW,getToggleValue(e)),trackLogs=e=>trackEvent(CATEGORY_LOGS,getToggleValue(e.logs.isOpen)),trackProcess=e=>trackEvent(CATEGORY_PROCESS,getToggleValue(e.isProcessOpen)),trackTags=e=>trackEvent(CATEGORY_TAGS,getToggleValue(e.isTagsOpen)),hooks={[actionTypes.CHILDREN_TOGGLE]:trackParent,[actionTypes.DETAIL_TOGGLE]:(e,t)=>trackDetailRow(Boolean(getDetail(e,t))),[actionTypes.DETAIL_TAGS_TOGGLE]:(e,t)=>trackDetailState(e,t,trackTags),[actionTypes.DETAIL_PROCESS_TOGGLE]:(e,t)=>trackDetailState(e,t,trackProcess),[actionTypes.DETAIL_LOGS_TOGGLE]:(e,t)=>trackDetailState(e,t,trackLogs)},middlewareHooks$1={...hooks,[actionTypes.COLLAPSE_ALL]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_COLLAPSE_ALL),[actionTypes.COLLAPSE_ONE]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_COLLAPSE_ONE),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:trackLogsItem,[actionTypes.EXPAND_ALL]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_EXPAND_ALL),[actionTypes.EXPAND_ONE]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_EXPAND_ONE),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:trackColumnWidth},middlewareHooks={...middlewareHooks$1,...middlewareHooks$2};function trackingMiddleware(e){return function(t){return function(r){const{type:a}=r;return"function"==typeof middlewareHooks[a]&&middlewareHooks[a](e,r),t(r)}}}const track=isWaEnabled?trackingMiddleware:void 0,loadOperationsForServiceMiddleware=e=>t=>r=>("@@redux-form/CHANGE"===r.type&&"searchSideBar"===r.meta.form&&"service"===r.meta.field&&"-"!==r.payload&&(e.dispatch(fetchServiceOperations(r.payload)),e.dispatch(change("searchSideBar","operation","all"))),t(r)),historyUpdateMiddleware=e=>t=>r=>{if(r.type===String(searchTraces)){const t=getUrl$2(r.meta.query);e.dispatch(replace(t))}return t(r)},promise=promiseMiddleware(),jaegerMiddlewares=Object.freeze(Object.defineProperty({__proto__:null,historyUpdateMiddleware:historyUpdateMiddleware,loadOperationsForServiceMiddleware:loadOperationsForServiceMiddleware,promise:promise,trackMiddleware:track},Symbol.toStringTag,{value:"Module"}));function configureStore(e){return createStore$2(combineReducers({...jaegerReducers,archive:archive,traceDiff:traceDiff,traceTimeline:traceTimeline,router:routerReducer}),compose$1(applyMiddleware(...Object.keys(jaegerMiddlewares).map((e=>jaegerMiddlewares[e])).filter(Boolean),routerMiddleware(e)),(e=>e)))}function processScripts(){const e=getConfigValue("scripts");e&&e.forEach((e=>{if("inline"===e.type){const t=document.createTextNode(e.text),r=document.createElement("script");r.append(t),document.body.appendChild(r)}}))}const MIN_ZOOM_LEVEL=.7,MAX_ZOOM_LEVEL=1.5,ZOOM_FACTOR=.1;class ZoomManager{constructor(){this.updateStyles=()=>{document.body.style.zoom=this.zoomLevel},this.zoomIn=()=>{this.zoomLevel=Math.min(this.zoomLevel+ZOOM_FACTOR,MAX_ZOOM_LEVEL),this.updateStyles()},this.zoomOut=()=>{this.zoomLevel=Math.max(this.zoomLevel-ZOOM_FACTOR,MIN_ZOOM_LEVEL),this.updateStyles()},this.zoomLevel="number"==typeof document.body.style.zoom?document.body.style.zoom:1}}const vars="",utils="",index="",history=_default$bF();class JaegerUIApp extends reactExports.Component{constructor(e){super(e),this.store=configureStore(history),JaegerAPI.apiRoot=DEFAULT_API_ROOT,processScripts(),this.zoomManager=new ZoomManager,this._handleZoomKeyboardShortcuts=this._handleZoomKeyboardShortcuts.bind(this)}componentDidMount(){document.addEventListener("keydown",this._handleZoomKeyboardShortcuts)}componentWillUnmount(){document.removeEventListener("keydown",this._handleZoomKeyboardShortcuts)}_handleZoomKeyboardShortcuts(e){if(window.enableZoomControls&&(e.metaKey||e.ctrlKey))switch(e.key){case"-":this.zoomManager.zoomOut();break;case"=":this.zoomManager.zoomIn()}}render(){if(isString$6(window.initialRoutePath)&&window.initialRoutePath){const e=window.initialRoutePath;window.initialRoutePath="",history.push(e)}return jsxRuntimeExports.jsx(Provider$3,{store:this.store,children:jsxRuntimeExports.jsx(ConnectedRouter,{history:history,children:jsxRuntimeExports.jsx(ZoomContext.Provider,{value:this.zoomManager,children:jsxRuntimeExports.jsx(Page,{children:jsxRuntimeExports.jsxs(Switch$1,{children:[jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$2,component:SearchTracePage}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$1,component:TraceDiff}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$6,component:TracePage}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$5,component:DependencyGraph}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$4,component:DeepDependencies}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$3,component:QualityMetrics}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH,component:MonitorATMPage}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:"/",to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:prefixUrl(),to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:prefixUrl("/"),to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Route$1,{component:NotFound})]})})})})})}}var LOG_LEVEL=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.NONE=4]="NONE",e))(LOG_LEVEL||{});class Logger{constructor(e,t=!0,r=!0){this.minLogLevel=e,this.showTimeStamp=t,this.showLogLevel=r}getTimestampTag(){return hooks$1(new Date).format("HH:mm:ss")}getLogLevelTag(){return LOG_LEVEL[this.minLogLevel]}getFormattedMessage(e,t){this.showLogLevel&&e.unshift(this.getLogLevelTag()),this.showTimeStamp&&e.unshift(this.getTimestampTag());const r=e.map((e=>`[${e}]`)).join("");return`${r}: ${t}`}setLogLevel(e){this.minLogLevel=e}log(e,t,r,...a){const n=this.getFormattedMessage(t,r);if(!(this.minLogLevel>e))switch(e){case LOG_LEVEL.DEBUG:console.debug(n,...a);break;case LOG_LEVEL.INFO:console.info(n,...a);break;case LOG_LEVEL.WARN:console.warn(n,...a);break;case LOG_LEVEL.ERROR:console.error(n,...a)}}debug(e,...t){this.log(LOG_LEVEL.DEBUG,[],e,...t)}info(e,...t){this.log(LOG_LEVEL.INFO,[],e,...t)}warn(e,...t){this.log(LOG_LEVEL.WARN,[],e,...t)}error(e,...t){this.log(LOG_LEVEL.ERROR,[],e,...t)}}const logger=new Logger(!0===window.isLoggingEnabled?LOG_LEVEL.DEBUG:LOG_LEVEL.NONE),isNull=e=>null===e,isObject=e=>"object"==typeof e&&!isNull(e),isDigmaMessageEvent=e=>isObject(e.data)&&"digma"===e.data.type,OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: blue; font-weight: bold",FAILED_OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: red; font-weight: bold",INCOMING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: green; font-weight: bold",initializeDigmaMessageListener=e=>{const t=t=>{isDigmaMessageEvent(t)&&(logger.debug(`Message received: %c${t.data.action}\n%cRaw message: %O`,INCOMING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,t.data),updateState(t.data.action,t.data.payload),e.dispatch(t.timeStamp,t.data.action,t.data.payload))};return window.addEventListener("message",t),()=>{window.removeEventListener("message",t)}},sendMessage=e=>{switch(logger.debug(`Message to send: ${e.action}\nRaw message: %O`,e),updateState(e.action,e.payload),window.platform){case"VS Code":window.sendMessageToVSCode&&(window.sendMessageToVSCode(e),logger.debug(`Message has been successfully sent to VS Code: %c${e.action}\n%cRaw message: %O`,OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,e));break;case"JetBrains":if(window.cefQuery)return window.cefQuery({request:JSON.stringify(e),onSuccess(t){logger.debug(`Message has been successfully handled by JCEF: %c${e.action}\n%cRaw message: %O\nResponse: %O`,OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,e,t)},onFailure(t,r){logger.error(`Failed to handle the message by JCEF: %c${e.action}\n%cRaw message: %O\n%cError code: %d\nError message: %s`,FAILED_OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,t,r)}});break;default:window.parent!==window&&window.parent.postMessage(e,"*")}},cancelMessage=e=>{window.cefQueryCancel&&window.cefQueryCancel(e)},flexbox="",layout="",margin="",padding="",position="",typography="",UI_ROOT_ID="jaeger-ui-root",root=createRoot(document.getElementById(UI_ROOT_ID));initializeDigmaMessageListener(dispatcher),window.sendMessageToDigma=sendMessage,window.cancelMessageToDigma=cancelMessage,"object"==typeof context$2&&null!==context$2?context$2.context((()=>{root.render(jsxRuntimeExports.jsx(BrowserRouter$1,{children:jsxRuntimeExports.jsx(JaegerUIApp,{})}))})):root.render(jsxRuntimeExports.jsx(BrowserRouter$1,{children:jsxRuntimeExports.jsx(JaegerUIApp,{})}))}}}))})(); + */function fn(e){return fn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fn(e)}function An(e,t){for(var r=0;r0;)t+=oi[62*Math.random()|0];return t}function si(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ci(e){return Object.keys(e||{}).reduce((function(t,r){return t+"".concat(r,": ").concat(e[r],";")}),"")}function ui(e){return e.size!==ii.size||e.x!==ii.x||e.y!==ii.y||e.rotate!==ii.rotate||e.flipX||e.flipY}function fi(e){var t=e.transform,r=e.containerWidth,a=e.iconWidth,n={transform:"translate(".concat(r/2," 256)")},i="translate(".concat(32*t.x,", ").concat(32*t.y,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)");return{outer:n,inner:{transform:"".concat(i," ").concat(o," ").concat(l)},path:{transform:"translate(".concat(a/2*-1," -256)")}}}var Ai={x:0,y:0,width:"100%",height:"100%"};function di(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function pi(e){return"g"===e.tag?e.children:[e]}function hi(e){var t=e.icons,r=t.main,a=t.mask,n=e.prefix,i=e.iconName,o=e.transform,l=e.symbol,s=e.title,c=e.maskId,u=e.titleId,f=e.extra,A=e.watchable,d=void 0!==A&&A,p=a.found?a:r,h=p.width,b=p.height,g="fak"===n,m=g?"":"fa-w-".concat(Math.ceil(h/b*16)),v=[Rn.replacementClass,i?"".concat(Rn.familyPrefix,"-").concat(i):"",m].filter((function(e){return-1===f.classes.indexOf(e)})).filter((function(e){return""!==e||!!e})).concat(f.classes).join(" "),y={children:[],attributes:pn({},f.attributes,{"data-prefix":n,"data-icon":i,class:v,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(h," ").concat(b)})},w=g&&!~f.classes.indexOf("fa-fw")?{width:"".concat(h/b*16*.0625,"em")}:{};d&&(y.attributes["data-fa-i2svg"]=""),s&&y.children.push({tag:"title",attributes:{id:y.attributes["aria-labelledby"]||"title-".concat(u||li())},children:[s]});var k=pn({},y,{prefix:n,iconName:i,main:r,mask:a,maskId:c,transform:o,symbol:l,styles:pn({},w,f.styles)}),x=a.found&&r.found?function(e){var t=e.children,r=e.attributes,a=e.main,n=e.mask,i=e.maskId,o=e.transform,l=a.width,s=a.icon,c=n.width,u=n.icon,f=fi({transform:o,containerWidth:c,iconWidth:l}),A={tag:"rect",attributes:pn({},Ai,{fill:"white"})},d=s.children?{children:s.children.map(di)}:{},p={tag:"g",attributes:pn({},f.inner),children:[di(pn({tag:s.tag,attributes:pn({},s.attributes,f.path)},d))]},h={tag:"g",attributes:pn({},f.outer),children:[p]},b="mask-".concat(i||li()),g="clip-".concat(i||li()),m={tag:"mask",attributes:pn({},Ai,{id:b,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[A,h]},v={tag:"defs",children:[{tag:"clipPath",attributes:{id:g},children:pi(u)},m]};return t.push(v,{tag:"rect",attributes:pn({fill:"currentColor","clip-path":"url(#".concat(g,")"),mask:"url(#".concat(b,")")},Ai)}),{children:t,attributes:r}}(k):function(e){var t=e.children,r=e.attributes,a=e.main,n=e.transform,i=ci(e.styles);if(i.length>0&&(r.style=i),ui(n)){var o=fi({transform:n,containerWidth:a.width,iconWidth:a.width});t.push({tag:"g",attributes:pn({},o.outer),children:[{tag:"g",attributes:pn({},o.inner),children:[{tag:a.icon.tag,children:a.icon.children,attributes:pn({},a.icon.attributes,o.path)}]}]})}else t.push(a.icon);return{children:t,attributes:r}}(k),E=x.children,_=x.attributes;return k.children=E,k.attributes=_,l?function(e){var t=e.prefix,r=e.iconName,a=e.children,n=e.attributes,i=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:pn({},n,{id:!0===i?"".concat(t,"-").concat(Rn.familyPrefix,"-").concat(r):i}),children:a}]}]}(k):function(e){var t=e.children,r=e.main,a=e.mask,n=e.attributes,i=e.styles,o=e.transform;if(ui(o)&&r.found&&!a.found){var l={x:r.width/r.height/2,y:.5};n.style=ci(pn({},i,{"transform-origin":"".concat(l.x+o.x/16,"em ").concat(l.y+o.y/16,"em")}))}return[{tag:"svg",attributes:n,children:t}]}(k)}Rn.measurePerformance&&En&&En.mark&&En.measure;var bi=function(e,t,r,a){var n,i,o,l=Object.keys(e),s=l.length,c=void 0!==a?function(e,t){return function(r,a,n,i){return e.call(t,r,a,n,i)}}(t,a):t;for(void 0===r?(n=1,o=e[l[0]]):(n=0,o=r);n2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,a=void 0!==r&&r,n=Object.keys(t).reduce((function(e,r){var a=t[r];return a.icon?e[a.iconName]=a.icon:e[r]=a,e}),{});"function"!=typeof Ln.hooks.addPack||a?Ln.styles[e]=pn({},Ln.styles[e]||{},n):Ln.hooks.addPack(e,n),"fas"===e&&gi("fa",t)}var mi=Ln.styles,vi=Ln.shims,yi=function(){var e=function(e){return bi(mi,(function(t,r,a){return t[a]=bi(r,e,{}),t}),{})};e((function(e,t,r){return t[3]&&(e[t[3]]=r),e})),e((function(e,t,r){var a=t[2];return e[r]=r,a.forEach((function(t){e[t]=r})),e}));var t="far"in mi;bi(vi,(function(e,r){var a=r[0],n=r[1],i=r[2];return"far"===n&&!t&&(n="fas"),e[a]={prefix:n,iconName:i},e}),{})};function wi(e,t,r){if(e&&e[t]&&e[t][r])return{prefix:t,iconName:r,icon:e[t][r]}}function ki(e){var t=e.tag,r=e.attributes,a=void 0===r?{}:r,n=e.children,i=void 0===n?[]:n;return"string"==typeof e?si(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,r){return t+"".concat(r,'="').concat(si(e[r]),'" ')}),"").trim()}(a),">").concat(i.map(ki).join(""),"")}function xi(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}yi(),Ln.styles,xi.prototype=Object.create(Error.prototype),xi.prototype.constructor=xi;var Ei={fill:"currentColor"},_i={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};pn({},Ei,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"});var Ci=pn({},_i,{attributeName:"opacity"});function $i(e){var t=e[0],r=e[1],a=hn(e.slice(4),1)[0];return{found:!0,width:t,height:r,icon:Array.isArray(a)?{tag:"g",attributes:{class:"".concat(Rn.familyPrefix,"-").concat(On)},children:[{tag:"path",attributes:{class:"".concat(Rn.familyPrefix,"-").concat(In),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(Rn.familyPrefix,"-").concat(Sn),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}}}}pn({},Ei,{cx:"256",cy:"364",r:"28"}),pn({},_i,{attributeName:"r",values:"28;14;28;28;14;28;"}),pn({},Ci,{values:"1;0;1;1;0;1;"}),pn({},Ei,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),pn({},Ci,{values:"1;0;0;0;0;1;"}),pn({},Ei,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),pn({},Ci,{values:"0;0;1;1;0;0;"}),Ln.styles,Ln.styles;var Ti='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}',Oi=function(){function e(){(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this.definitions={}}return function(e,t,r){t&&An(e.prototype,t),r&&An(e,r)}(e,[{key:"add",value:function(){for(var e=this,t=arguments.length,r=new Array(t),a=0;a-1;n--){var i=r[n],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(a=i)}xn.head.insertBefore(t,a)}}(function(){var e=$n,t=Tn,r=Rn.familyPrefix,a=Rn.replacementClass,n=Ti;if(r!==e||a!==t){var i=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),l=new RegExp("\\.".concat(t),"g");n=n.replace(i,".".concat(r,"-")).replace(o,"--".concat(r,"-")).replace(l,".".concat(a))}return n}()),Bi=!0)}function Ii(e){var t=e.prefix,r=void 0===t?"fa":t,a=e.iconName;if(a)return wi(Mi.definitions,r,a)||wi(Ln.styles,r,a)}var Mi=new Oi,Bi=!1,Ri={transform:function(e){return function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var r=t.toLowerCase().split("-"),a=r[0],n=r.slice(1).join("-");if(a&&"h"===n)return e.flipX=!0,e;if(a&&"v"===n)return e.flipY=!0,e;if(n=parseFloat(n),isNaN(n))return e;switch(a){case"grow":e.size=e.size+n;break;case"shrink":e.size=e.size-n;break;case"left":e.x=e.x-n;break;case"right":e.x=e.x+n;break;case"up":e.y=e.y-n;break;case"down":e.y=e.y+n;break;case"rotate":e.rotate=e.rotate+n}return e}),t):t}(e)}},Pi=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=(t||{}).icon?t:Ii(t||{}),n=r.mask;return n&&(n=(n||{}).icon?n:Ii(n||{})),e(a,pn({},r,{mask:n}))}}((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.transform,a=void 0===r?ii:r,n=t.symbol,i=void 0!==n&&n,o=t.mask,l=void 0===o?null:o,s=t.maskId,c=void 0===s?null:s,u=t.title,f=void 0===u?null:u,A=t.titleId,d=void 0===A?null:A,p=t.classes,h=void 0===p?[]:p,b=t.attributes,g=void 0===b?{}:b,m=t.styles,v=void 0===m?{}:m;if(e){var y=e.prefix,w=e.iconName,k=e.icon;return function(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return ki(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(_n){var t=xn.createElement("div");return t.innerHTML=e.html,t.children}}}),e}(pn({type:"icon"},e),(function(){return Si(),Rn.autoA11y&&(f?g["aria-labelledby"]="".concat(Rn.replacementClass,"-title-").concat(d||li()):(g["aria-hidden"]="true",g.focusable="false")),hi({icons:{main:$i(k),mask:l?$i(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:y,iconName:w,transform:pn({},ii,a),symbol:i,title:f,maskId:c,titleId:d,extra:{attributes:g,styles:v,classes:h}})}))}})),Li=l(980),Di=l.n(Li);function zi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function Fi(e){for(var t=1;t=0)&&(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function Gi(e){return function(e){if(Array.isArray(e))return Hi(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Hi(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Hi(e,t)}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hi(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r0||!Array.isArray(t)&&t?ji({},e,t):{}}var qi=["forwardedRef"];function Xi(e){var t=e.forwardedRef,r=Vi(e,qi),a=r.icon,n=r.mask,i=r.symbol,o=r.className,l=r.title,s=r.titleId,c=Qi(a),u=Ui("classes",[].concat(Gi(function(e){var t,r=e.beat,a=e.fade,n=e.flash,i=e.spin,o=e.spinPulse,l=e.spinReverse,s=e.pulse,c=e.fixedWidth,u=e.inverse,f=e.border,A=e.listItem,d=e.flip,p=e.size,h=e.rotation,b=e.pull,g=(ji(t={"fa-beat":r,"fa-fade":a,"fa-flash":n,"fa-spin":i,"fa-spin-reverse":l,"fa-spin-pulse":o,"fa-pulse":s,"fa-fw":c,"fa-inverse":u,"fa-border":f,"fa-li":A,"fa-flip-horizontal":"horizontal"===d||"both"===d,"fa-flip-vertical":"vertical"===d||"both"===d},"fa-".concat(p),null!=p),ji(t,"fa-rotate-".concat(h),null!=h&&0!==h),ji(t,"fa-pull-".concat(b),null!=b),ji(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(g).map((function(e){return g[e]?e:null})).filter((function(e){return e}))}(r)),Gi(o.split(" ")))),f=Ui("transform","string"==typeof r.transform?Ri.transform(r.transform):r.transform),A=Ui("mask",Qi(n)),d=Pi(c,Fi(Fi(Fi(Fi({},u),f),A),{},{symbol:i,title:l,titleId:s}));if(!d)return function(){var e;!Yi&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",c),null;var p=d.abstract,h={ref:t};return Object.keys(r).forEach((function(e){Xi.defaultProps.hasOwnProperty(e)||(h[e]=r[e])})),Ji(p[0],h)}Xi.displayName="FontAwesomeIcon",Xi.propTypes={beat:Di().bool,border:Di().bool,className:Di().string,fade:Di().bool,flash:Di().bool,mask:Di().oneOfType([Di().object,Di().array,Di().string]),fixedWidth:Di().bool,inverse:Di().bool,flip:Di().oneOf(["horizontal","vertical","both"]),icon:Di().oneOfType([Di().object,Di().array,Di().string]),listItem:Di().bool,pull:Di().oneOf(["right","left"]),pulse:Di().bool,rotation:Di().oneOf([0,90,180,270]),size:Di().oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:Di().bool,spinPulse:Di().bool,spinReverse:Di().bool,symbol:Di().oneOfType([Di().bool,Di().string]),title:Di().string,transform:Di().oneOfType([Di().string,Di().object]),swapOpacity:Di().bool},Xi.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var Ji=function e(t,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof r)return r;var n=(r.children||[]).map((function(r){return e(t,r)})),i=Object.keys(r.attributes||{}).reduce((function(e,t){var a=r.attributes[t];switch(t){case"class":e.attrs.className=a,delete r.attributes.class;break;case"style":e.attrs.style=function(e){return e.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var r=t.indexOf(":"),a=Wi(t.slice(0,r)),n=t.slice(r+1).trim();return a.startsWith("webkit")?e[function(e){return e.charAt(0).toUpperCase()+e.slice(1)}(a)]=n:e[a]=n,e}),{})}(a);break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=a:e.attrs[Wi(t)]=a}return e}),{attrs:{}}),o=a.style,l=void 0===o?{}:o,s=Vi(a,Zi);return i.attrs.style=Fi(Fi({},i.attrs.style),l),t.apply(void 0,[r.tag,Fi(Fi({},i.attrs),s)].concat(Gi(n)))}.bind(null,r().createElement),Ki=l(247),eo=l(682),to=l(438),ro=l(42),ao=l(111),no=l.n(ao);const io="rc-menu",oo="item",lo=r().createContext({}),so=r().createContext({}),co=r().createContext({}),uo=r().createContext({}),fo=r().createContext({}),Ao=r().createContext({}),po=Object.freeze({ENTER:"Enter",ESC:"Escape",SPACE:" ",HOME:"Home",END:"End",LEFT:"ArrowLeft",RIGHT:"ArrowRight",UP:"ArrowUp",DOWN:"ArrowDown"}),ho=Object.freeze({RESET:"HOVER_INDEX_RESET",SET:"HOVER_INDEX_SET",UNSET:"HOVER_INDEX_UNSET",INCREASE:"HOVER_INDEX_INCREASE",DECREASE:"HOVER_INDEX_DECREASE",FIRST:"HOVER_INDEX_FIRST",LAST:"HOVER_INDEX_LAST"}),bo=Object.freeze({OPEN:"SUBMENU_OPEN",CLOSE:"SUBMENU_CLOSE"}),go=Object.freeze({CLICK:"click",CANCEL:"cancel",BLUR:"blur",SCROLL:"scroll"}),mo=ao.unstable_batchedUpdates||(e=>e()),vo=(e,t)=>t?Object.defineProperty(e,"_reactMenu",{value:t,writable:!1}):e,yo=e=>e&&e._reactMenu,wo=(e,...t)=>"function"==typeof e?e(...t):e,ko=(e,t)=>{const r={};for(const a of Object.keys(e)){const n=e[a],i=t[a];let o;o="function"==typeof i?e=>{i(e),n(e)}:n,r[a]=o}return r},xo=({block:e,element:r,modifiers:a,className:n,externalModifiers:i})=>(0,t.useMemo)((()=>{const t=r?`${e}__${r}`:e;let o=t;for(const e of Object.keys(a||{})){const r=a[e];r&&(o+=` ${t}--`,o+=!0===r?e:`${e}-${r}`)}let l="function"==typeof n?n(i||a):n;return"string"==typeof l&&(l=l.trim(),l&&(o+=` ${l}`)),o}),[e,r,a,n,i]),Eo=e=>e&&"object"==typeof e,_o=e=>"$"===e.charAt(0)?e.slice(1):e,Co=(e,r)=>(0,t.useMemo)((()=>{if("function"==typeof e)return e(r);if(!Eo(e))return;if(!r)return e;const t={};for(const a of Object.keys(e)){const n=e[a];if(Eo(n)){const e=r[_o(a)];if("string"==typeof e)for(const r of Object.keys(n)){const a=n[r];Eo(a)?_o(r)===e&&Object.assign(t,a):t[r]=a}else e&&Object.assign(t,n)}else t[a]=n}return t}),[e,r]),$o=e=>{for(;e&&e!==document.body;){const{overflow:t,overflowX:r,overflowY:a}=getComputedStyle(e);if(/auto|scroll|overlay|hidden/.test(t+a+r))return e;e=e.parentNode}return window},To=(e,t,r=1e-4)=>Math.abs(e-t)!!t&&!!r.includes(yo(t.type)),So=(e,t=0)=>{let a=t,n=!1;const i=["MenuDivider","MenuGroup","MenuHeader","MenuItem","FocusableItem","MenuRadioGroup","SubMenu"];return{items:r().Children.map(e,(e=>{if(!Oo(0,e,i))return null;switch(yo(e.type)){case"MenuDivider":case"MenuHeader":return e;case"MenuRadioGroup":{const t=["MenuItem"],n={type:"radio"},i=r().Children.map(e.props.children,(e=>Oo(0,e,t)?e.props.disabled?r().cloneElement(e,n):r().cloneElement(e,y(v({},n),{index:a++})):null));return r().cloneElement(e,{children:i})}case"MenuGroup":{const{items:t,endIndex:i,descendOverflow:o}=So(e.props.children,a);a=i;const l=Boolean(e.props.takeOverflow);return n=n||o||l,r().cloneElement(e,{children:t})}default:return e.props.disabled?e:r().cloneElement(e,{index:a++})}})),endIndex:a,descendOverflow:n}},Io=e=>({[e?`${e}ClassName`:"className"]:Di().oneOfType([Di().string,Di().func]),[e?`${e}Styles`:"styles"]:Di().oneOfType([Di().object,Di().func])}),Mo=y(v(v({},Io()),Io("arrow")),{"aria-label":Di().string,arrow:Di().bool,offsetX:Di().number,offsetY:Di().number,align:Di().oneOf(["start","center","end"]),direction:Di().oneOf(["left","right","top","bottom"]),position:Di().oneOf(["auto","anchor","initial"]),overflow:Di().oneOf(["auto","visible","hidden"]),children:Di().node.isRequired}),Bo=y(v({},Mo),{id:Di().oneOfType([Di().string,Di().number]),animation:Di().bool,debugging:Di().bool,boundingBoxRef:Di().object,boundingBoxPadding:Di().string,reposition:Di().oneOf(["auto","initial"]),repositionFlag:Di().oneOfType([Di().string,Di().number]),viewScroll:Di().oneOf(["auto","close","initial"]),submenuOpenDelay:Di().number,submenuCloseDelay:Di().number,portal:Di().bool,theming:Di().string,onItemClick:Di().func,onClick:Di().func}),Ro={offsetX:0,offsetY:0,align:"start",direction:"bottom",position:"auto",overflow:"visible"},Po=y(v({},Ro),{animation:!0,reposition:"auto",viewScroll:"initial",submenuOpenDelay:300,submenuCloseDelay:150}),Lo=(e,r,a)=>{const[n,i]=(0,t.useState)(!1),o=(0,t.useMemo)((()=>[po.SPACE,po.ENTER,...a?[a]:[]]),[a]),l=(0,t.useCallback)((()=>i(!1)),[]);return{isActive:n,onPointerDown:(0,t.useCallback)((()=>{r||i(!0)}),[r]),onPointerUp:l,onPointerLeave:l,onKeyDown:(0,t.useCallback)((t=>{e&&!r&&o.includes(t.key)&&i(!0)}),[e,r,o]),onKeyUp:(0,t.useCallback)((e=>{o.includes(e.key)&&i(!1)}),[o]),onBlur:(0,t.useCallback)((e=>{e.currentTarget.contains(e.relatedTarget)||i(!1)}),[])}},Do=(e,r)=>{const a=(0,t.useRef)(null),{submenuCloseDelay:n}=(0,t.useContext)(Ao),{isParentOpen:i,hoverIndex:o,isSubmenuOpen:l,dispatch:s}=(0,t.useContext)(lo),c=o===r,u=(0,t.useRef)(),f=(0,t.useCallback)((()=>{e||s({type:ho.SET,index:r})}),[e,s,r]),A=(0,t.useCallback)((e=>{e.currentTarget.contains(e.relatedTarget)||s({type:ho.UNSET,index:r})}),[s,r]),d=(0,t.useCallback)((()=>{l?u.current=setTimeout(f,n):f()}),[l,n,f]),p=(0,t.useCallback)(((e,t)=>{u.current&&clearTimeout(u.current),t||s({type:ho.UNSET,index:r})}),[s,r]);return(0,t.useEffect)((()=>()=>clearTimeout(u.current)),[]),(0,t.useEffect)((()=>{c&&i&&a.current&&a.current.focus()}),[c,i]),{ref:a,isHovering:c,setHover:f,onBlur:A,onMouseEnter:d,onMouseLeave:p}},zo=(e,r)=>{const a=(0,t.useRef)(r);(0,t.useEffect)((()=>{a.current!==r&&wo(e,{open:r}),a.current=r}),[e,r])},Fo=Object.freeze({INITIAL:"initial",FIRST:"first",LAST:"last"}),No=Object.freeze({UNMOUNTED:0,CLOSED:1,OPEN:2}),jo=Object.freeze({OPEN:0,CLOSE:1,TOGGLE:2}),Vo=(e=!0)=>{const[r,a]=(0,t.useState)({position:Fo.INITIAL}),[n,i]=(0,t.useReducer)((function(t,{type:r}){switch(r){case jo.OPEN:return No.OPEN;case jo.CLOSE:return t===No.OPEN?e?No.CLOSED:No.UNMOUNTED:t;case jo.TOGGLE:return t===No.OPEN?e?No.CLOSED:No.UNMOUNTED:No.OPEN;default:throw new Error("menuStateReducer: unknown action type")}}),No.UNMOUNTED);return{isMounted:n!==No.UNMOUNTED,isOpen:n===No.OPEN,menuItemFocus:r,openMenu:(0,t.useCallback)(((e=Fo.INITIAL)=>{a({position:e}),i({type:jo.OPEN})}),[]),closeMenu:(0,t.useCallback)((()=>i({type:jo.CLOSE})),[]),toggleMenu:(0,t.useCallback)(((e=Fo.INITIAL)=>{a({position:e}),i({type:jo.TOGGLE})}),[])}},Go="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t.useLayoutEffect:t.useEffect,Ho=vo(r().memo(r().forwardRef((function(e,a){var n=e,{className:i,styles:o,isOpen:l,disabled:s,children:c}=n,u=w(n,["className","styles","isOpen","disabled","children"]);const f=(0,t.useMemo)((()=>Object.freeze({open:l})),[l]);return r().createElement("button",Object.assign({"aria-haspopup":"true","aria-expanded":l,"aria-disabled":s||void 0,disabled:s},u,{ref:a,className:xo({block:"rc-menu-button",modifiers:f,className:i}),style:Co(o,f)}),c)}))),"MenuButton");Ho.propTypes=y(v({},Io()),{isOpen:Di().bool,disabled:Di().bool,children:Di().node.isRequired,onClick:Di().func,onKeyDown:Di().func});const Wo=vo(r().memo((function(e){var a=e,{ariaLabel:n,className:i,styles:o,arrowClassName:l,arrowStyles:s,anchorPoint:c,anchorRef:u,containerRef:f,arrow:A,align:d,direction:p,position:h,overflow:b,repositionFlag:g,captureFocus:m=!0,isOpen:k,isDisabled:x,menuItemFocus:E,offsetX:_,offsetY:C,children:$,onClose:T}=a,O=w(a,["ariaLabel","className","styles","arrowClassName","arrowStyles","anchorPoint","anchorRef","containerRef","arrow","align","direction","position","overflow","repositionFlag","captureFocus","isOpen","isDisabled","menuItemFocus","offsetX","offsetY","children","onClose"]);const[S,I]=(0,t.useState)({x:0,y:0}),[M,B]=(0,t.useState)({}),[R,P]=(0,t.useState)(),[L,D]=(0,t.useState)(!1),[z,F]=(0,t.useState)(p),{animation:N,boundingBoxRef:j,boundingBoxPadding:V,rootMenuRef:G,rootAnchorRef:H,scrollingRef:W,anchorScrollingRef:Z,reposition:Y,viewScroll:Q}=(0,t.useContext)(fo),U=(0,t.useRef)(null),q=(0,t.useRef)(null),X=(0,t.useRef)(0),J=(0,t.useRef)(k),K=(0,t.useRef)({width:0,height:0}),ee=(0,t.useRef)((()=>{})),te=(0,t.useRef)(!1),re=(0,t.useContext)(so).reposSubmenu||g,[ae,ne]=(0,t.useReducer)((e=>e+1),1),[{hoverIndex:ie,openSubmenuCount:oe},le]=(0,t.useReducer)((function({hoverIndex:e,openSubmenuCount:t},r){return{hoverIndex:se(e,r),openSubmenuCount:Zo(t,r)}}),{hoverIndex:-1,openSubmenuCount:0});function se(e,{type:t,index:r}){switch(t){case ho.RESET:return-1;case ho.SET:return r;case ho.UNSET:return e===r?-1:e;case ho.DECREASE:{let t=e;return t--,t<0&&(t=X.current-1),t}case ho.INCREASE:{let t=e;return t++,t>=X.current&&(t=0),t}case ho.FIRST:return X.current>0?0:-1;case ho.LAST:return X.current>0?X.current-1:-1;default:return e}}const ce=(0,t.useMemo)((()=>{const{items:e,endIndex:t,descendOverflow:r}=So($);return X.current=t,te.current=r,e}),[$]),ue=(0,t.useCallback)((()=>{const e=U.current.getBoundingClientRect(),t=f.current.getBoundingClientRect(),r=W.current===window?{left:0,top:0,right:document.documentElement.clientWidth,bottom:window.innerHeight}:W.current.getBoundingClientRect(),a=(e=>{if("string"!=typeof e)return{top:0,right:0,bottom:0,left:0};const t=e.trim().split(/\s+/,4).map(parseFloat),r=isNaN(t[0])?0:t[0],a=isNaN(t[1])?r:t[1];return{top:r,right:a,bottom:isNaN(t[2])?r:t[2],left:isNaN(t[3])?a:t[3]}})(V),n=e=>e+t.left-r.left-a.left,i=n=>n+t.left+e.width-r.right+a.right,o=e=>e+t.top-r.top-a.top,l=n=>n+t.top+e.height-r.bottom+a.bottom;return{menuRect:e,containerRect:t,getLeftOverflow:n,getRightOverflow:i,getTopOverflow:o,getBottomOverflow:l,confineHorizontally:e=>{let t=n(e);if(t<0)e-=t;else{const r=i(e);r>0&&(t=n(e-=r),t<0&&(e-=t))}return e},confineVertically:e=>{let t=o(e);if(t<0)e-=t;else{const r=l(e);r>0&&(t=o(e-=r),t<0&&(e-=t))}return e}}}),[f,W,V]),fe=(0,t.useCallback)(((e,t,r,a)=>{let n=t.left-r.left-e+t.width/2;const i=1.25*q.current.offsetWidth;return n=Math.max(i,n),n=Math.min(n,a.width-i),n}),[]),Ae=(0,t.useCallback)(((e,t,r,a)=>{let n=t.top-r.top-e+t.height/2;const i=1.25*q.current.offsetHeight;return n=Math.max(i,n),n=Math.min(n,a.height-i),n}),[]),de=(0,t.useCallback)((({anchorRect:e,containerRect:t,menuRect:r},{placeLeftorRightY:a,placeLeftX:n,placeRightX:i},{getLeftOverflow:o,getRightOverflow:l,confineHorizontally:s,confineVertically:c})=>{let u,f,d,b=p,g=a;return"initial"!==h&&(g=c(g),"anchor"===h&&(g=Math.min(g,e.bottom-t.top),g=Math.max(g,e.top-t.top-r.height))),"left"===b?(u=n,"initial"!==h&&(f=o(u),f<0&&(d=l(i),(d<=0||-f>d)&&(u=i,b="right")))):(u=i,"initial"!==h&&(d=l(u),d>0&&(f=o(n),(f>=0||-f{let u,f,d,b="top"===p?"top":"bottom",g=a;return"initial"!==h&&(g=s(g),"anchor"===h&&(g=Math.min(g,e.right-t.left),g=Math.max(g,e.left-t.left-r.width))),"top"===b?(u=n,"initial"!==h&&(f=o(u),f<0&&(d=l(i),(d<=0||-f>d)&&(u=i,b="bottom")))):(u=i,"initial"!==h&&(d=l(u),d>0&&(f=o(n),(f>=0||-f{const r=e,{menuRect:a,containerRect:n}=r,i=w(r,["menuRect","containerRect"]);let o=_,l=C;A&&("left"===p||"right"===p?o+=q.current.offsetWidth:l+=q.current.offsetHeight);const s=t.current.getBoundingClientRect(),c=s.left-n.left-a.width-o,u=s.right-n.left+o,f=s.top-n.top-a.height-l,h=s.bottom-n.top+l;let b,g;"end"===d?(b=s.right-n.left-a.width,g=s.bottom-n.top-a.height):"center"===d?(b=s.left-n.left-(a.width-s.width)/2,g=s.top-n.top-(a.height-s.height)/2):(b=s.left-n.left,g=s.top-n.top),b+=o,g+=l;const m={anchorRect:s,containerRect:n,menuRect:a},v={placeLeftX:c,placeRightX:u,placeLeftorRightY:g,placeTopY:f,placeBottomY:h,placeToporBottomX:b};switch(p){case"left":case"right":return de(m,v,i);default:return pe(m,v,i)}}),[A,d,p,_,C,de,pe]),be=(0,t.useCallback)(((e,t)=>{const{menuRect:r,containerRect:a,getLeftOverflow:n,getRightOverflow:i,getTopOverflow:o,getBottomOverflow:l,confineHorizontally:s,confineVertically:c}=e;let u,f;u=t.x-a.left,f=t.y-a.top;const A=i(u);if(A>0){const e=u-r.width,t=n(e);(t>=0||-t0){const e=f-r.height,t=o(e);(t>=0||-t{if(!f.current)return;W.current||(W.current=j?j.current:$o(G.current));const e=ue(),{menuRect:t}=e;let r={computedDirection:"bottom"};c?r=be(e,c):u&&(r=he(e,u));let{arrowX:a,arrowY:n,x:i,y:o,computedDirection:l}=r,s=t.height;if("visible"!==b){const{getTopOverflow:t,getBottomOverflow:r}=e;let a,n;const i=K.current.height,l=r(o);if(l>0||To(l,0)&&To(s,i))a=s-l,n=l;else{const e=t(o);(e<0||To(e,0)&&To(s,i))&&(a=s+e,n=0-e,a>=0&&(o-=e))}a>=0?(s=a,P({height:a,overflowAmt:n})):P()}A&&B({x:a,y:n}),I({x:i,y:o}),F(l),K.current={width:t.width,height:s}}),[A,c,u,f,j,G,W,b,ue,he,be]);Go((()=>{k&&(ge(),J.current&&ne()),ee.current=ge}),[k,ge,re]),Go((()=>{R&&!te.current&&(U.current.scrollTop=0)}),[R]),Go((()=>{N&&(k?D(!1):k!==J.current&&D(!0)),J.current=k}),[N,k]),(0,t.useEffect)((()=>{if(!k)return;!Z.current&&H&&H.current.tagName&&(Z.current=$o(H.current));const e=W.current,t=e&&e.addEventListener?e:window,r=Z.current||t;let a=Q;if(r!==t&&"initial"===a&&(a="auto"),"initial"===a)return;"auto"===a&&"visible"!==b&&(a="close");const n=()=>{"auto"===a?mo(ge):wo(T,{reason:go.SCROLL})},i=r!==t&&"initial"!==Q?[r,t]:[r];return i.forEach((e=>e.addEventListener("scroll",n))),()=>i.forEach((e=>e.removeEventListener("scroll",n)))}),[H,Z,W,k,b,T,Q,ge]),(0,t.useEffect)((()=>{if("function"!=typeof ResizeObserver||"initial"===Y)return;const e=new ResizeObserver((([e])=>{const{borderBoxSize:t,target:r}=e;let a,n;if(t){const{inlineSize:e,blockSize:r}=t[0]||t;a=e,n=r}else{const e=r.getBoundingClientRect();a=e.width,n=e.height}0===a||0===n||To(a,K.current.width,1)&&To(n,K.current.height,1)||mo((()=>{ee.current(),ne()}))})),t=U.current;return e.observe(t,{box:"border-box"}),()=>e.unobserve(t)}),[Y]),(0,t.useEffect)((()=>{k||(le({type:ho.RESET}),N||P());const e=setTimeout((()=>{!k||!U.current||U.current.contains(document.activeElement)||(m&&U.current.focus(),E.position===Fo.FIRST?le({type:ho.FIRST}):E.position===Fo.LAST&&le({type:ho.LAST}))}),N?170:100);return()=>clearTimeout(e)}),[N,m,k,E]);const me=oe>0,ve=(0,t.useMemo)((()=>({isParentOpen:k,hoverIndex:ie,isSubmenuOpen:me,dispatch:le})),[k,ie,me]);let ye,we;R&&(te.current?we=R.overflowAmt:ye=R.height);const ke=(0,t.useMemo)((()=>({reposSubmenu:ae,overflow:b,overflowAmt:we})),[ae,b,we]),xe=ye>=0?{maxHeight:ye,overflow:b}:void 0,Ee=(0,t.useMemo)((()=>({open:k,closing:L,animation:N,dir:N&&z})),[k,L,N,z]),_e=(0,t.useMemo)((()=>Object.freeze(y(v({},Ee),{dir:z}))),[Ee,z]),Ce=(0,t.useMemo)((()=>Object.freeze({dir:z})),[z]),$e=xo({block:io,element:"arrow",modifiers:Ce,className:l}),Te=Co(s,Ce),Oe=ko({onKeyDown:e=>{let t=!1;switch(e.key){case po.HOME:le({type:ho.FIRST}),t=!0;break;case po.END:le({type:ho.LAST}),t=!0;break;case po.UP:le({type:ho.DECREASE}),t=!0;break;case po.DOWN:le({type:ho.INCREASE}),t=!0;break;case po.SPACE:e.target&&e.target.className.includes(io)&&e.preventDefault()}t&&(e.preventDefault(),e.stopPropagation())},onAnimationEnd:()=>{L&&(D(!1),P())}},O);return r().createElement("ul",Object.assign({role:"menu",tabIndex:"-1","aria-disabled":x||void 0,"aria-label":n},O,Oe,{ref:U,className:xo({block:io,modifiers:Ee,className:i,externalModifiers:_e}),style:y(v(v({},Co(o,_e)),xe),{left:`${S.x}px`,top:`${S.y}px`})}),A&&r().createElement("div",{className:$e,style:y(v({},Te),{left:M.x&&`${M.x}px`,top:M.y&&`${M.y}px`}),ref:q}),r().createElement(so.Provider,{value:ke},r().createElement(lo.Provider,{value:ve},ce)))})),"MenuList");function Zo(e,{type:t}){switch(t){case bo.OPEN:return e+1;case bo.CLOSE:return Math.max(e-1,0);default:return e}}const Yo=(e,{id:a,animation:n,boundingBoxRef:i,boundingBoxPadding:o,debugging:l,reposition:s,submenuOpenDelay:c,submenuCloseDelay:u,viewScroll:f,portal:A,theming:d,isMounted:p,onItemClick:h,onClick:b,onClose:g,skipClick:m})=>{const v=(0,t.useRef)(null),y=(0,t.useRef)(null),w=(0,t.useRef)(null),{anchorRef:k,isOpen:x}=e,E=(0,t.useMemo)((()=>({animation:n,boundingBoxRef:i,boundingBoxPadding:o,rootMenuRef:v,rootAnchorRef:k,scrollingRef:y,anchorScrollingRef:w,reposition:s,viewScroll:f})),[n,k,i,o,s,f]),_=(0,t.useMemo)((()=>({debugging:l,submenuOpenDelay:c,submenuCloseDelay:u})),[l,c,u]),C=(0,t.useMemo)((()=>({handleClick(e,t,r){t||wo(h||b,e);let a=e.keepOpen;void 0===a&&(a=r&&e.key===po.SPACE),a||wo(g,{value:e.value,key:e.key,reason:go.CLICK})},handleClose(e){wo(g,{key:e,reason:go.CLICK})}})),[h,b,g]),$=(0,t.useMemo)((()=>({theme:d})),[d]),T=r().createElement("div",{id:a,className:xo({block:"rc-menu-container",modifiers:$}),ref:v,onKeyDown:({key:e})=>{e===po.ESC&&wo(g,{key:e,reason:go.CANCEL})},onBlur:e=>{x&&!e.currentTarget.contains(e.relatedTarget||document.activeElement)&&!l&&(wo(g,{reason:go.BLUR}),m&&(m.current=!0,setTimeout((()=>m.current=!1),300)))}},p&&r().createElement(fo.Provider,{value:E},r().createElement(Ao.Provider,{value:_},r().createElement(co.Provider,{value:C},r().createElement(Wo,Object.assign({},e,{containerRef:v,onClose:g}))))));return A?no().createPortal(T,document.body):T},Qo=r().memo((function(e){var a=e,{"aria-label":n,id:i,animation:o,boundingBoxRef:l,boundingBoxPadding:s,captureFocus:c,debugging:u,reposition:f,viewScroll:A,keepMounted:d,menuButton:p,portal:h,submenuOpenDelay:b,submenuCloseDelay:g,theming:m,onItemClick:k,onClick:x,onChange:E}=a,_=w(a,["aria-label","id","animation","boundingBoxRef","boundingBoxPadding","captureFocus","debugging","reposition","viewScroll","keepMounted","menuButton","portal","submenuOpenDelay","submenuCloseDelay","theming","onItemClick","onClick","onChange"]);const{isMounted:C,isOpen:$,menuItemFocus:T,openMenu:O,closeMenu:S}=Vo(d),I=(0,t.useRef)(!1),M=(0,t.useRef)(null),B=(0,t.useMemo)((()=>wo(p,{open:$})),[p,$]);if(!B)throw new Error("Menu requires a menuButton prop.");const R=(0,t.useCallback)((e=>{S(),e.key&&M.current.focus()}),[S]),P=(0,t.useCallback)((e=>{I.current||O(0===e.detail?Fo.FIRST:Fo.INITIAL)}),[O]),L=(0,t.useCallback)((e=>{let t=!1;switch(e.key){case po.UP:O(Fo.LAST),t=!0;break;case po.DOWN:O(Fo.FIRST),t=!0}t&&e.preventDefault()}),[O]),D=(0,t.useMemo)((()=>{const e=v({ref:M},ko({onClick:P,onKeyDown:L},B.props));return"MenuButton"===yo(B.type)&&(e.isOpen=$),r().cloneElement(B,e)}),[B,$,P,L]),z=Yo(y(v({},_),{ariaLabel:n||("string"==typeof B.props.children?B.props.children:"Menu"),anchorRef:M,isOpen:$,menuItemFocus:T}),{id:i,animation:o,boundingBoxRef:l,boundingBoxPadding:s,debugging:u,reposition:f,submenuOpenDelay:b,submenuCloseDelay:g,viewScroll:A,portal:h,theming:m,isMounted:C,onItemClick:k,onClick:x,onClose:R,skipClick:I});return zo(E,$),r().createElement(r().Fragment,null,D,z)}));Qo.propTypes=y(v({},Bo),{keepMounted:Di().bool,menuButton:Di().oneOfType([Di().element,Di().func]).isRequired,onChange:Di().func}),Qo.defaultProps=y(v({},Po),{keepMounted:!0});const Uo=r().memo((function(e){var t=e,{"aria-label":r,id:a,animation:n,boundingBoxRef:i,boundingBoxPadding:o,debugging:l,reposition:s,submenuOpenDelay:c,submenuCloseDelay:u,viewScroll:f,portal:A,theming:d,isMounted:p,onItemClick:h,onClick:b,onClose:g}=t,m=w(t,["aria-label","id","animation","boundingBoxRef","boundingBoxPadding","debugging","reposition","submenuOpenDelay","submenuCloseDelay","viewScroll","portal","theming","isMounted","onItemClick","onClick","onClose"]);return Yo(y(v({},m),{ariaLabel:r||"Menu"}),{id:a,animation:n,boundingBoxRef:i,boundingBoxPadding:o,debugging:l,reposition:s,submenuOpenDelay:c,submenuCloseDelay:u,viewScroll:f,portal:A,theming:d,isMounted:p,onItemClick:h,onClick:b,onClose:g})}));Uo.propTypes=y(v({},Bo),{anchorPoint:Di().exact({x:Di().number,y:Di().number}),anchorRef:Di().object,captureFocus:Di().bool,isOpen:Di().bool,isMounted:Di().bool,menuItemFocus:Di().exact({position:Di().string}),onClose:Di().func}),Uo.defaultProps=y(v({},Po),{captureFocus:!0,isOpen:!1,isMounted:!0,menuItemFocus:{position:Fo.INITIAL}});const qo=vo(r().memo((function(e){var a=e,{"aria-label":n,itemClassName:i,itemStyles:o,disabled:l,keepMounted:s,label:c,index:u,onChange:f,captureFocus:A,repositionFlag:d}=a,p=w(a,["aria-label","itemClassName","itemStyles","disabled","keepMounted","label","index","onChange","captureFocus","repositionFlag"]);const{isMounted:h,isOpen:b,menuItemFocus:g,openMenu:m,closeMenu:v}=Vo(s),{isParentOpen:y,hoverIndex:k,isSubmenuOpen:x,dispatch:E}=(0,t.useContext)(lo),{debugging:_,submenuOpenDelay:C,submenuCloseDelay:$}=(0,t.useContext)(Ao),T=k===u,O=Boolean(l),S=Lo(T,O,po.RIGHT),{isActive:I,onKeyUp:M}=S,B=w(S,["isActive","onKeyUp"]),R=(0,t.useRef)(null),P=(0,t.useRef)(null),L=(0,t.useRef)(),D=(0,t.useCallback)((()=>{v(),P.current.focus()}),[v]),z=e=>{E({type:ho.SET,index:u}),L.current=setTimeout(m,Math.max(e,0))};(0,t.useEffect)((()=>()=>clearTimeout(L.current)),[]),(0,t.useEffect)((()=>{T&&y?P.current.focus():v()}),[T,y,v]),(0,t.useEffect)((()=>{E({type:b?bo.OPEN:bo.CLOSE})}),[E,b]),zo(f,b);const F=(0,t.useMemo)((()=>Object.freeze({open:b,hover:T,active:I,disabled:O})),[b,T,I,O]);return r().createElement("li",{className:xo({block:io,element:"submenu"}),role:"presentation",ref:R,onKeyDown:e=>{let t=!1;switch(e.key){case po.LEFT:b&&(D(),t=!0);break;case po.RIGHT:b||(t=!0)}t&&(e.preventDefault(),e.stopPropagation())},onBlur:e=>{if(_)return;const t=e.relatedTarget||document.activeElement;e.currentTarget.contains(t)||(v(),E({type:ho.UNSET,index:u}))}},r().createElement("div",Object.assign({className:xo({block:io,element:oo,modifiers:F,className:i}),style:Co(o,F),role:"menuitem","aria-haspopup":"true","aria-expanded":b,"aria-disabled":O||void 0,tabIndex:T&&!b?0:-1,ref:P,onMouseEnter:()=>{O||b||(x?L.current=setTimeout((()=>z(C-$)),$):z(C))},onMouseLeave:()=>{clearTimeout(L.current),b||E({type:ho.UNSET,index:u})},onMouseDown:()=>!T&&E({type:ho.SET,index:u}),onClick:()=>{O||(clearTimeout(L.current),m())},onKeyUp:e=>{if(I)switch(M(e),e.key){case po.SPACE:case po.ENTER:case po.RIGHT:m(Fo.FIRST)}}},B),(0,t.useMemo)((()=>wo(c,F)),[c,F])),h&&r().createElement(Wo,Object.assign({},p,{ariaLabel:n||("string"==typeof c?c:"Submenu"),anchorRef:P,containerRef:R,isOpen:b,isDisabled:O,menuItemFocus:g})))})),"SubMenu");qo.propTypes=y(v(v({},Mo),Io("item")),{disabled:Di().bool,keepMounted:Di().bool,label:Di().oneOfType([Di().node,Di().func]).isRequired,onChange:Di().func}),qo.defaultProps=y(v({},Ro),{direction:"right",keepMounted:!0});const Xo=vo(r().memo((function(e){var a=e,{className:n,styles:i,value:o,href:l,type:s,checked:c,disabled:u,index:f,children:A,onClick:d}=a,p=w(a,["className","styles","value","href","type","checked","disabled","index","children","onClick"]);const h=Boolean(u),{ref:b,isHovering:g,setHover:m,onBlur:k,onMouseEnter:x,onMouseLeave:E}=Do(h,f),_=(0,t.useContext)(co),C=(0,t.useContext)(uo),$=Lo(g,h),{isActive:T,onKeyUp:O,onBlur:S}=$,I=w($,["isActive","onKeyUp","onBlur"]),M="radio"===s,B="checkbox"===s,R=Boolean(l)&&!h&&!M&&!B,P=M?C.value===o:!!B&&Boolean(c),L=e=>{if(h)return;let t=!1;const r={value:o,syntheticEvent:e};void 0!==e.key&&(r.key=e.key),M&&(r.name=C.name,wo(C.onChange,r)),r.checked=!!B&&!P,t=!1===wo(d,r),_.handleClick(r,t,B||M)},D=(0,t.useMemo)((()=>Object.freeze({type:s,disabled:h,hover:g,active:T,checked:P,anchor:R})),[s,h,g,T,P,R]),z=ko(y(v({},I),{onMouseEnter:x,onMouseLeave:E,onMouseDown:m,onKeyUp:e=>{if(T)switch(O(e),e.key){case po.SPACE:case po.ENTER:R?b.current.click():L(e)}},onBlur:e=>{S(e),k(e)},onClick:L}),p),F=y(v(v({role:M?"menuitemradio":B?"menuitemcheckbox":"menuitem","aria-checked":M||B?P:void 0,"aria-disabled":h||void 0,tabIndex:g?0:-1},p),z),{ref:b,className:xo({block:io,element:oo,modifiers:D,className:n}),style:Co(i,D)}),N=(0,t.useMemo)((()=>wo(A,D)),[A,D]);return R?r().createElement("li",{role:"presentation"},r().createElement("a",Object.assign({},F,{href:l}),N)):r().createElement("li",F,N)})),"MenuItem");Xo.propTypes=y(v({},Io()),{value:Di().any,href:Di().string,type:Di().oneOf(["checkbox","radio"]),checked:Di().bool,disabled:Di().bool,children:Di().oneOfType([Di().node,Di().func]).isRequired,onClick:Di().func});const Jo=vo(r().memo((function(e){var a=e,{className:n,styles:i,disabled:o,index:l,children:s}=a,c=w(a,["className","styles","disabled","index","children"]);const u=Boolean(o),{ref:f,isHovering:A,setHover:d,onBlur:p,onMouseEnter:h,onMouseLeave:b}=Do(u,l),{handleClose:g}=(0,t.useContext)(co),m=(0,t.useMemo)((()=>Object.freeze({disabled:u,hover:A,focusable:!0})),[u,A]),k=(0,t.useMemo)((()=>wo(s,y(v({},m),{ref:f,closeMenu:g}))),[f,s,m,g]),x=ko({onMouseEnter:h,onMouseLeave:e=>b(e,!0),onFocus:d,onBlur:p},c);return r().createElement("li",Object.assign({"aria-disabled":u||void 0,role:"menuitem",tabIndex:"-1"},c,x,{className:xo({block:io,element:oo,modifiers:m,className:n}),style:Co(i,m)}),k)})),"FocusableItem");Jo.propTypes=y(v({},Io()),{disabled:Di().bool,children:Di().func.isRequired});const Ko=vo(r().memo((function(e){var t=e,{className:a,styles:n}=t,i=w(t,["className","styles"]);return r().createElement("li",Object.assign({role:"separator"},i,{className:xo({block:io,element:"divider",className:a}),style:Co(n)}))})),"MenuDivider");Ko.propTypes=v({},Io());const el=vo(r().memo((function(e){var t=e,{className:a,styles:n}=t,i=w(t,["className","styles"]);return r().createElement("li",Object.assign({role:"presentation"},i,{className:xo({block:io,element:"header",className:a}),style:Co(n)}))})),"MenuHeader");el.propTypes=v({},Io());const tl=vo(r().memo((function(e){var a=e,{className:n,styles:i,takeOverflow:o}=a,l=w(a,["className","styles","takeOverflow"]);const s=(0,t.useRef)(null),[c,u]=(0,t.useState)(),{overflow:f,overflowAmt:A}=(0,t.useContext)(so);return Go((()=>{let e;o&&A>=0&&(e=s.current.getBoundingClientRect().height-A,e<0&&(e=0)),u(e>=0?{maxHeight:e,overflow:f}:void 0)}),[o,f,A]),Go((()=>{c&&(s.current.scrollTop=0)}),[c]),r().createElement("div",Object.assign({ref:s},l,{className:xo({block:io,element:"group",className:n}),style:v(v({},Co(i)),c)}))})),"MenuGroup");tl.propTypes=y(v({},Io()),{takeOverflow:Di().bool});const rl=vo(r().memo((function(e){var a=e,{"aria-label":n,className:i,styles:o,name:l,value:s,children:c,onChange:u}=a,f=w(a,["aria-label","className","styles","name","value","children","onChange"]);const A=(0,t.useMemo)((()=>({name:l,value:s,onChange:u})),[l,s,u]);return r().createElement("li",{role:"presentation"},r().createElement("ul",Object.assign({role:"group","aria-label":n||l||"Radio group"},f,{className:xo({block:io,element:"radio-group",className:i}),style:Co(o)}),r().createElement(uo.Provider,{value:A},c)))})),"MenuRadioGroup");rl.propTypes=y(v({},Io()),{"aria-label":Di().string,name:Di().string,value:Di().any,children:Di().node.isRequired,onChange:Di().func});var al,nl=[],il="ResizeObserver loop completed with undelivered notifications.";!function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(al||(al={}));var ol,ll=function(e){return Object.freeze(e)},sl=function(e,t){this.inlineSize=e,this.blockSize=t,ll(this)},cl=function(){function e(e,t,r,a){return this.x=e,this.y=t,this.width=r,this.height=a,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ll(this)}return e.prototype.toJSON=function(){var e=this;return{x:e.x,y:e.y,top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),ul=function(e){return e instanceof SVGElement&&"getBBox"in e},fl=function(e){if(ul(e)){var t=e.getBBox(),r=t.width,a=t.height;return!r&&!a}var n=e,i=n.offsetWidth,o=n.offsetHeight;return!(i||o||e.getClientRects().length)},Al=function(e){var t,r;if(e instanceof Element)return!0;var a=null===(r=null===(t=e)||void 0===t?void 0:t.ownerDocument)||void 0===r?void 0:r.defaultView;return!!(a&&e instanceof a.Element)},dl="undefined"!=typeof window?window:{},pl=new WeakMap,hl=/auto|scroll/,bl=/^tb|vertical/,gl=/msie|trident/i.test(dl.navigator&&dl.navigator.userAgent),ml=function(e){return parseFloat(e||"0")},vl=function(e,t,r){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===r&&(r=!1),new sl((r?t:e)||0,(r?e:t)||0)},yl=ll({devicePixelContentBoxSize:vl(),borderBoxSize:vl(),contentBoxSize:vl(),contentRect:new cl(0,0,0,0)}),wl=function(e,t){if(void 0===t&&(t=!1),pl.has(e)&&!t)return pl.get(e);if(fl(e))return pl.set(e,yl),yl;var r=getComputedStyle(e),a=ul(e)&&e.ownerSVGElement&&e.getBBox(),n=!gl&&"border-box"===r.boxSizing,i=bl.test(r.writingMode||""),o=!a&&hl.test(r.overflowY||""),l=!a&&hl.test(r.overflowX||""),s=a?0:ml(r.paddingTop),c=a?0:ml(r.paddingRight),u=a?0:ml(r.paddingBottom),f=a?0:ml(r.paddingLeft),A=a?0:ml(r.borderTopWidth),d=a?0:ml(r.borderRightWidth),p=a?0:ml(r.borderBottomWidth),h=f+c,b=s+u,g=(a?0:ml(r.borderLeftWidth))+d,m=A+p,v=l?e.offsetHeight-m-e.clientHeight:0,y=o?e.offsetWidth-g-e.clientWidth:0,w=n?h+g:0,k=n?b+m:0,x=a?a.width:ml(r.width)-w-y,E=a?a.height:ml(r.height)-k-v,_=x+h+y+g,C=E+b+v+m,$=ll({devicePixelContentBoxSize:vl(Math.round(x*devicePixelRatio),Math.round(E*devicePixelRatio),i),borderBoxSize:vl(_,C,i),contentBoxSize:vl(x,E,i),contentRect:new cl(f,s,x,E)});return pl.set(e,$),$},kl=function(e,t,r){var a=wl(e,r),n=a.borderBoxSize,i=a.contentBoxSize,o=a.devicePixelContentBoxSize;switch(t){case al.DEVICE_PIXEL_CONTENT_BOX:return o;case al.BORDER_BOX:return n;default:return i}},xl=function(e){var t=wl(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=ll([t.borderBoxSize]),this.contentBoxSize=ll([t.contentBoxSize]),this.devicePixelContentBoxSize=ll([t.devicePixelContentBoxSize])},El=function(e){if(fl(e))return 1/0;for(var t=0,r=e.parentNode;r;)t+=1,r=r.parentNode;return t},_l=function(){var e=1/0,t=[];nl.forEach((function(r){if(0!==r.activeTargets.length){var a=[];r.activeTargets.forEach((function(t){var r=new xl(t.target),n=El(t.target);a.push(r),t.lastReportedSize=kl(t.target,t.observedBox),ne?t.activeTargets.push(r):t.skippedTargets.push(r))}))}))},$l=function(){var e=0;for(Cl(e);nl.some((function(e){return e.activeTargets.length>0}));)e=_l(),Cl(e);return nl.some((function(e){return e.skippedTargets.length>0}))&&function(){var e;"function"==typeof ErrorEvent?e=new ErrorEvent("error",{message:il}):((e=document.createEvent("Event")).initEvent("error",!1,!1),e.message=il),window.dispatchEvent(e)}(),e>0},Tl=[],Ol=function(e){if(!ol){var t=0,r=document.createTextNode("");new MutationObserver((function(){return Tl.splice(0).forEach((function(e){return e()}))})).observe(r,{characterData:!0}),ol=function(){r.textContent=""+(t?t--:t++)}}Tl.push(e),ol()},Sl=0,Il={attributes:!0,characterData:!0,childList:!0,subtree:!0},Ml=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],Bl=function(e){return void 0===e&&(e=0),Date.now()+e},Rl=!1,Pl=function(){function e(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return e.prototype.run=function(e){var t=this;if(void 0===e&&(e=250),!Rl){Rl=!0;var r=Bl(e);!function(e){Ol((function(){requestAnimationFrame(e)}))}((function(){var a=!1;try{a=$l()}finally{if(Rl=!1,e=r-Bl(),!Sl)return;a?t.run(1e3):e>0?t.run(e):t.start()}}))}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var e=this,t=function(){return e.observer&&e.observer.observe(document.body,Il)};document.body?t():dl.addEventListener("DOMContentLoaded",t)},e.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Ml.forEach((function(t){return dl.addEventListener(t,e.listener,!0)})))},e.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),Ml.forEach((function(t){return dl.removeEventListener(t,e.listener,!0)})),this.stopped=!0)},e}(),Ll=new Pl,Dl=function(e){!Sl&&e>0&&Ll.start(),!(Sl+=e)&&Ll.stop()},zl=function(){function e(e,t){this.target=e,this.observedBox=t||al.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var e=kl(this.target,this.observedBox,!0);return function(e){return!ul(e)&&!function(e){switch(e.tagName){case"INPUT":if("image"!==e.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(e)&&"inline"===getComputedStyle(e).display}(this.target)&&(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},e}(),Fl=function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t},Nl=new WeakMap,jl=function(e,t){for(var r=0;r=0&&(n&&nl.splice(nl.indexOf(r),1),r.observationTargets.splice(a,1),Dl(-1))},e.disconnect=function(e){var t=this,r=Nl.get(e);r.observationTargets.slice().forEach((function(r){return t.unobserve(e,r.target)})),r.activeTargets.splice(0,r.activeTargets.length)},e}(),Gl=function(){function e(e){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof e)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Vl.connect(this,e)}return e.prototype.observe=function(e,t){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Al(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Vl.observe(this,e,t)},e.prototype.unobserve=function(e){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Al(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Vl.unobserve(this,e)},e.prototype.disconnect=function(){Vl.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}();const Hl=r()["undefined"!=typeof document&&void 0!==document.createElement?"useLayoutEffect":"useEffect"],Wl=function(e){var t=[],r=null,a=function(){for(var a=arguments.length,n=new Array(a),i=0;iQl||(Ql=function(){const e=new Map,t=new Zl(Wl(((t,r)=>{for(let a=0;ae(t[a],r)))}})));return{observer:t,subscribe(r,a){var n;t.observe(r);const i=null!==(n=e.get(r))&&void 0!==n?n:[];i.push(a),e.set(r,i)},unsubscribe(r,a){var n;const i=null!==(n=e.get(r))&&void 0!==n?n:[];if(1===i.length)return t.unobserve(r),void e.delete(r);const o=i.indexOf(a);-1!==o&&i.splice(o,1),e.set(r,i)}}}()),ql=function(e,r){const a=Ul(),n=(e=>{const r=t.useRef(e);return t.useEffect((()=>{r.current=e})),r})(r);return Hl((()=>{let t=!1;const r=e&&"current"in e?e.current:e;if(!r)return Yl;function i(e,r){t||n.current(e,r)}return a.subscribe(r,i),()=>{t=!0,a.unsubscribe(r,i)}}),[e,a,n]),a.observer};var Xl=l(594),Jl=l.n(Xl);const Kl="OblL49alHyHyc9eQg8j4nA==",es={highlight:"rnaOpSl6-Al2+GT07ZkG5Q=="};var ts=Object.defineProperty,rs=Object.defineProperties,as=Object.getOwnPropertyDescriptors,ns=Object.getOwnPropertySymbols,is=Object.prototype.hasOwnProperty,os=Object.prototype.propertyIsEnumerable,ls=(e,t,r)=>t in e?ts(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ss=(e,t)=>{for(var r in t||(t={}))is.call(t,r)&&ls(e,r,t[r]);if(ns)for(var r of ns(t))os.call(t,r)&&ls(e,r,t[r]);return e},cs=(e,t)=>rs(e,as(t));function us(e){const{canvasRef:t,barHeight:a,xyToHighlightData:n,zoom:i}=e,[o,l]=r().useState({height:"0px",visibility:"hidden"});r().useEffect((()=>{l({height:"0px",visibility:"hidden"})}),[i]);const s=e=>{const t=n(e.offsetX,e.offsetY);if(t.isJust){const e=t.value;l(ss({visibility:"visible",height:`${a}px`},e))}else c()},c=()=>{l(cs(ss({},o),{visibility:"hidden"}))};return r().useEffect((()=>{const e=t.current;return e?(e.addEventListener("mousemove",s),e.addEventListener("mouseout",c),()=>{e.removeEventListener("mousemove",s),e.removeEventListener("mouseout",c)}):()=>{}}),[t.current,s,c]),r().createElement("div",{className:es.highlight,style:o,"data-testid":"flamegraph-highlight"})}const fs={highlightContextMenu:"_2aEs2ORKQVtdd+CAuIWrcA=="};var As=Object.defineProperty,ds=Object.getOwnPropertySymbols,ps=Object.prototype.hasOwnProperty,hs=Object.prototype.propertyIsEnumerable,bs=(e,t,r)=>t in e?As(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gs=(e,t)=>{for(var r in t||(t={}))ps.call(t,r)&&bs(e,r,t[r]);if(ds)for(var r of ds(t))hs.call(t,r)&&bs(e,r,t[r]);return e};const ms={height:"0px",visibility:"hidden"};function vs(e){const{node:t,barHeight:a}=e,[n,i]=r().useState(ms);return r().useEffect((()=>{t.match({Nothing:()=>i(ms),Just:e=>i(gs({visibility:"visible",height:`${a}px`},e))})}),[t]),r().createElement("div",{className:fs.highlightContextMenu,style:n,"data-testid":"flamegraph-highlight-contextmenu"})}var ys=Object.defineProperty,ws=Object.defineProperties,ks=Object.getOwnPropertyDescriptors,xs=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,_s=Object.prototype.propertyIsEnumerable,Cs=(e,t,r)=>t in e?ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const $s={name:"Default",goodColor:ir().rgb(0,170,0),neutralColor:ir().rgb(148,142,142),badColor:ir().rgb(200,0,0),colors:[ir().hsl(24,69,60),ir().hsl(34,65,65),ir().hsl(194,52,61),ir().hsl(163,45,55),ir().hsl(211,48,60),ir().hsl(246,40,65),ir().hsl(305,63,79),ir().hsl(47,100,73),ir().rgb(183,219,171),ir().rgb(244,213,152),ir().rgb(78,146,249),ir().rgb(249,186,143),ir().rgb(242,145,145),ir().rgb(130,181,216),ir().rgb(229,168,226),ir().rgb(174,162,224),ir().rgb(154,196,138),ir().rgb(242,201,109),ir().rgb(101,197,219),ir().rgb(249,147,78),ir().rgb(234,100,96),ir().rgb(81,149,206),ir().rgb(214,131,206),ir().rgb(128,110,183)]},Ts=((e,t)=>ws(e,ks(t)))(((e,t)=>{for(var r in t||(t={}))Es.call(t,r)&&Cs(e,r,t[r]);if(xs)for(var r of xs(t))_s.call(t,r)&&Cs(e,r,t[r]);return e})({},$s),{name:"Color Blind",goodColor:ir().rgb(26,133,255),neutralColor:ir().rgb(148,142,142),badColor:ir().rgb(220,50,32)});function Os(){return r().createElement("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 30 30"},r().createElement("defs",null),r().createElement("path",{style:{fill:"#7d7d7f"},d:"M5,19.56c0,5.22,3.54,9.44,7.92,9.44h3.17c4.37,0,7.92-4.23,7.92-9.44v-7.56H5v7.56Z"}),r().createElement("path",{style:{fill:"#7d7d7f"},d:"M14,1h-.82c-4.52,0-8.18,3.73-8.18,8.33v1.67H14V1Z"}),r().createElement("path",{d:"M15.82,1h-.82V11h9v-1.67c0-4.6-3.66-8.33-8.18-8.33Z"}))}function Ss(){return r().createElement("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 30 30"},r().createElement("defs",null),r().createElement("path",{style:{fill:"#7d7d7f"},d:"M24,19.56c0,5.22-3.54,9.44-7.92,9.44h-3.17c-4.37,0-7.92-4.23-7.92-9.44v-7.56H24v7.56Z"}),r().createElement("path",{style:{fill:"#7d7d7f"},d:"M15,1h.82c4.52,0,8.18,3.73,8.18,8.33v1.67H15V1Z"}),r().createElement("path",{d:"M13.18,1h.82V11H5v-1.67c0-4.6,3.66-8.33,8.18-8.33Z"}))}const Is={tooltip:"EitWfLJlRhB605WKBhJqJA==",flamegraphDiffTooltip:"JDNfewH9FpPntx5Wu1nQjw==",tooltipName:"OYP-AU7HdIz-U3S15iaSMQ==",functionName:"wx9q4ZorgH1vtYtZv7yIAg==",tooltipTable:"+0L0FytvTTAXpH3pPg1wZw==",clickInfo:"_8y0K87bqdGd-mxDZz+YoPg=="};function Ms({shouldShowFooter:e=!0,shouldShowTitle:a=!0,dataSourceRef:n,clickInfoSide:i,setTooltipContent:o}){const l=(0,t.useRef)(null),[s,c]=r().useState({title:{text:"",diff:{text:"",color:""}},tooltipData:[]}),[u,f]=(0,t.useState)(),A=()=>{f({visibility:"hidden"}),c({title:{text:"",diff:{text:"",color:""}},tooltipData:[]})},d=(0,t.useCallback)((e=>{if(!l||!l.current)throw new Error("Missing tooltipElement");const t=Math.min(e.clientX+12,window.innerWidth-l.current.clientWidth-20),r={top:e.clientY+20,left:t,visibility:"visible"};o(c,A,e),f(r)}),[l,o]);return(0,t.useEffect)((()=>{const e=n.current;return e?(e.addEventListener("mousemove",d),e.addEventListener("mouseout",A),()=>{e.removeEventListener("mousemove",d),e.removeEventListener("mouseout",A)}):()=>{}}),[n.current,d]),r().createElement("div",{"data-testid":"tooltip",className:un(Is.tooltip,{[Is.flamegraphDiffTooltip]:s.tooltipData.length>1}),style:u,ref:l},s.tooltipData.length>0&&r().createElement(r().Fragment,null,a&&r().createElement("div",{className:Is.tooltipName,"data-testid":"tooltip-title"},s.title.text),r().createElement("div",{className:Is.functionName,"data-testid":"tooltip-function-name"},s.title.text),s.title.diff.text.length>0?r().createElement(Rs,{data:s.tooltipData,diff:s.title.diff}):r().createElement(Rs,{data:s.tooltipData}),e&&r().createElement(Ps,{clickInfoSide:i})))}const Bs={objects:{percent:"% of objects in RAM",formattedValue:"Objects in RAM",total:"% of total RAM"},goroutines:{percent:"% of goroutines",formattedValue:"Goroutines",total:"% of total goroutines"},bytes:{percent:"% of RAM",formattedValue:"RAM",total:"% of total bytes"},samples:{percent:"Share of CPU",formattedValue:"CPU Time",total:"% of total CPU"},lock_nanoseconds:{percent:"% of Time spent",formattedValue:"Time",total:"% of total seconds"},lock_samples:{percent:"% of contended locks",formattedValue:"Contended locks",total:"% of total locks"},trace_samples:{percent:"% of time",formattedValue:"Samples",total:"% of total samples"},"":{percent:"Percentage",formattedValue:"Units",total:"% of total units"}};function Rs({data:e,diff:t}){const[a,n]=e;if(!a)return null;let i;switch(a.tooltipType){case"flamegraph":i=()=>r().createElement(r().Fragment,null,n&&r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null),r().createElement("th",null,"Baseline"),r().createElement("th",null,"Comparison"),r().createElement("th",null,"Diff"))),r().createElement("tbody",null,r().createElement("tr",null,r().createElement("td",null,Bs[a.units].percent,":"),r().createElement("td",null,a.percent),n&&r().createElement(r().Fragment,null,r().createElement("td",null,n.percent),r().createElement("td",null,t&&r().createElement("span",{"data-testid":"tooltip-diff",style:{color:t.color}},t.text)))),r().createElement("tr",null,r().createElement("td",null,Bs[a.units].formattedValue,":"),r().createElement("td",null,a.formattedValue),n&&r().createElement(r().Fragment,null,r().createElement("td",null,n.formattedValue),r().createElement("td",null))),r().createElement("tr",null,r().createElement("td",null,"Samples:"),r().createElement("td",null,a.samples),n&&r().createElement(r().Fragment,null,r().createElement("td",null,n.samples),r().createElement("td",null)))));break;case"table":i=()=>r().createElement(r().Fragment,null,r().createElement("thead",null,r().createElement("tr",null,r().createElement("td",null),r().createElement("td",null,"Self (",Bs[a.units].total,")"),r().createElement("td",null,"Total (",Bs[a.units].total,")"))),r().createElement("tbody",null,r().createElement("tr",null,r().createElement("td",null,Bs[a.units].formattedValue,":"),r().createElement("td",null,a.self),r().createElement("td",null,a.total))));break;default:i=()=>null}return r().createElement("table",{"data-testid":"tooltip-table",className:un(Is.tooltipTable,{[Is[`${a.tooltipType}${n?"Diff":""}`]]:a.tooltipType})},i())}function Ps({clickInfoSide:e}){let t;switch(e){case"right":t=r().createElement(r().Fragment,null,r().createElement(Os,null),r().createElement("span",null,"Right click for more node viewing options"));break;case"left":t=r().createElement(r().Fragment,null,r().createElement(Ss,null),r().createElement("span",null,"Click to highlight node in flamegraph"));break;default:t=r().createElement(r().Fragment,null)}return r().createElement("div",{"data-testid":"tooltip-footer",className:Is.clickInfo},t)}function Ls(e){const{format:a,canvasRef:n,xyToData:i,numTicks:o,sampleRate:l,units:s,leftTicks:c,rightTicks:u,palette:f}=e,A=(0,t.useCallback)(((e,t,r)=>{const n=Qt(o,l,s),A=i(r.offsetX,r.offsetY);let d;if(A.isJust)switch(d=A.value,d.format){case"single":{const t={percent:Zt(d.total/o),samples:"trace_samples"===s?"":Wt(d.total),units:s,formattedValue:n.format(d.total,l),tooltipType:"flamegraph"};e({title:{text:d.name,diff:{text:"",color:""}},tooltipData:[t]});break}case"double":{if("single"===a)throw new Error("props format is 'single' but it has been mapped to 'double'");const t=function({formatter:e,sampleRate:t,totalLeft:r,leftTicks:a,totalRight:n,rightTicks:i,title:o,units:l},s=$s){const c=r/a,u=n/i,f=Yt(c),A=Yt(u),d={percent:`${f}%`,samples:Wt(r),units:l,formattedValue:e.format(r,t),tooltipType:"flamegraph"},p={percent:`${A}%`,samples:Wt(n),units:l,formattedValue:e.format(n,t),tooltipType:"flamegraph"},h=function(e,t){return(t-e)/e*100}(f,A);let b="";h>0?b=s.badColor.rgb().string():h<0&&(b=s.goodColor.rgb().string());let g="";return r?n?h>0?g=`(+${h.toFixed(2)}%)`:h<0&&(g=`(${h.toFixed(2)}%)`):g="(removed)":g="(new)",{title:{text:o,diff:{text:g,color:b}},tooltipData:[d,p]}}({formatter:n,sampleRate:l,totalLeft:d.totalLeft,leftTicks:c,totalRight:d.totalRight,rightTicks:u,title:d.name,units:s},f);e({title:t.title,tooltipData:t.tooltipData});break}default:throw new Error("Unsupported format:'")}else t()}),[o,l,s,c,u,f]);return r().createElement(Ms,{dataSourceRef:n,clickInfoSide:"right",setTooltipContent:A})}const Ds={dummy:"_8jsg5CgIlsOOE89k5kk7iA=="};var zs=Object.getOwnPropertySymbols,Fs=Object.prototype.hasOwnProperty,Ns=Object.prototype.propertyIsEnumerable,js=(e,t)=>{var r={};for(var a in e)Fs.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&zs)for(var a of zs(e))t.indexOf(a)<0&&Ns.call(e,a)&&(r[a]=e[a]);return r};function Vs(e){const t=Vo(!1),{openMenu:a,closeMenu:n}=t,i=js(t,["openMenu","closeMenu"]),[o,l]=r().useState({x:0,y:0}),{canvasRef:s}=e,[c,u]=r().useState([]),{xyToMenuItems:f,onClose:A,onOpen:d}=e;return r().useEffect((()=>{n();const e=s.current;if(!e)return()=>{};const t=e=>{e.preventDefault();const t=f(e.offsetX,e.offsetY);u(t);const r=e.clientX,n=e.clientY+20;l({x:r,y:n}),a(),d(e.offsetX,e.offsetY)};return e.addEventListener("contextmenu",t),()=>{e.removeEventListener("contextmenu",t)}}),[f]),r().createElement(Uo,{className:Ds.dummy,menuItemFocus:i.menuItemFocus,isMounted:i.isMounted,isOpen:i.isOpen,anchorPoint:o,onClose:()=>{n(),A()}},c)}const Gs={logoLink:"HqveVyKaVoFyC4vstbKG5g=="};function Hs(){return r().createElement("a",{className:Gs.logoLink,href:"https://github.com/pyroscope-io/pyroscope/",target:"_blank",rel:"noreferrer"},[r().createElement("svg",{width:"22px",height:"22px",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},r().createElement("defs",null,r().createElement("radialGradient",{cx:"49.4236252%",cy:"92.6627823%",fx:"49.4236252%",fy:"92.6627823%",r:"195.066755%",gradientTransform:"translate(0.494236,0.926628),scale(1.000000,0.735610),rotate(-90.000000),translate(-0.494236,-0.926628)",id:"radialGradient-1"},r().createElement("stop",{stopColor:"#FFB90C",offset:"0%"}),r().createElement("stop",{stopColor:"#F9243A",offset:"38.390924%"}),r().createElement("stop",{stopColor:"#F9243A",offset:"50.5405%"}),r().createElement("stop",{stopColor:"#B51424",offset:"73.98091%"}),r().createElement("stop",{stopColor:"#B51424",offset:"100%"}))),r().createElement("g",{id:"Artboard",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},r().createElement("g",{id:"fire-part",transform:"translate(148.516736, 0.000000)",fillRule:"nonzero"},r().createElement("g",{id:"whole-thing",transform:"translate(363.983264, 495.000000) scale(-1, 1) rotate(-180.000000) translate(-363.983264, -495.000000) translate(0.483264, 0.000000)"},r().createElement("g",{id:"g70",transform:"translate(-0.000091, 0.685815)",fill:"url(#radialGradient-1)"},r().createElement("path",{d:"M65.3646667,571.739321 L65.4492471,571.698868 C19.5139147,505.999969 -5.32464048,424.477859 1.04305801,336.877516 L1.04305801,336.877516 C14.0321963,158.179446 159.192462,13.7596653 338.059844,1.5917266 L338.059844,1.5917266 C419.418369,-3.93888015 495.500283,17.3823334 558.456522,57.4611191 L558.456522,57.4611191 L481.301947,162.097965 C437.516468,136.521928 399.367671,129.590556 363.486536,130.155994 L363.486536,130.155994 C234.497143,130.155994 129.556988,235.032238 129.556988,363.946998 L129.556988,363.946998 C129.556988,492.865683 234.497143,597.738003 363.486536,597.738003 L363.486536,597.738003 C492.483783,597.738003 597.427864,492.865683 597.427864,363.946998 L597.427864,363.946998 C597.41276,304.634864 581.39383,255.677522 530.630465,199.668053 L607.770843,95.1329436 C680.936847,161.576603 726.932594,257.364176 726.932594,363.946998 L726.932594,363.946998 C726.932594,458.031616 691.13483,543.75602 632.416071,608.271816 L632.416071,608.271816 L632.416071,608.275741 L533.597728,748.122808 L428.601388,617.203806 L434.703262,646.563419 C459.453008,765.59222 433.664131,889.543925 363.49439,988.853335 L363.49439,988.853335 L65.3646667,571.723019 L65.3646667,571.739321 Z",id:"path84"})),r().createElement("g",{id:"blue",transform:"translate(191.447039, 191.331780)"},r().createElement("g",{id:"g88",transform:"translate(-0.000063, 0.685930)"},r().createElement("g",{id:"g94",transform:"translate(0.177296, 0.699054)",fill:"#3EC1D3"},r().createElement("path",{d:"M171.862466,343.697728 C77.0961324,343.697728 -0.00497405932,266.647602 -0.00497405932,171.934957 C-0.00497405932,77.2182874 77.0961324,0.168162396 171.862466,0.168162396 C266.632828,0.168162396 343.741988,77.2182874 343.741988,171.934957 C343.741988,266.647602 266.632828,343.697728 171.862466,343.697728",id:"path96"})),r().createElement("g",{id:"g98",transform:"translate(29.362379, 172.629585)",fill:"#FFFFFF"},r().createElement("path",{d:"M22.8397982,0 L0.671669409,0 C0.671669409,78.2496309 64.380874,141.920035 142.678189,141.920035 L142.678189,119.765407 C76.6007327,119.765407 22.8397982,66.0372141 22.8397982,0",id:"path100"})))))))),r().createElement("span",null,"Pyroscope")])}const Ws={flamegraphHeader:"F5gLmM2HlBS6Lh2eA+TOLA==",row:"-11Zgjyiq3PJ2gS11OZevw==",flamegraphTitle:"Jw-yvX-dsWn+UNQdvsw+FQ==",buttons:"X-KASulGPmT7oMsRdlQqnA=="};var Zs=l(779),Ys=l.n(Zs);const Qs="PETh3MyDcaGQCI1Nw0+g+g==",Us="A3ypFowL4h2Jv2vkSIjs6Q==",qs="h-tSfWrzSrCEL9uo2nsHtA==";function Xs(e){const{palette:t,showMode:a}=e,n=function(e){switch(e){case"large":return[-100,-80,-60,-40,-20,-10,0,10,20,40,60,80,100];case"small":return[-100,-40,-20,0,20,40,100];default:throw new Error(`Unsupported ${e}`)}}(a),i=Ra(t);return r().createElement("div",{"data-testid":"flamegraph-legend",className:`${Qs} ${Us}`},n.map((e=>r().createElement("div",{key:e,className:qs,style:{backgroundColor:i(e).rgb().toString()}},e>0?"+":"",e,"%"))))}function Js(){return r().createElement("svg",{version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",width:"12px",height:"12px",viewBox:"0 0 405.272 405.272"},r().createElement("g",null,r().createElement("path",{d:"M393.401,124.425L179.603,338.208c-15.832,15.835-41.514,15.835-57.361,0L11.878,227.836\n\n\t\tc-15.838-15.835-15.838-41.52,0-57.358c15.841-15.841,41.521-15.841,57.355-0.006l81.698,81.699L336.037,67.064\n\n\t\tc15.841-15.841,41.523-15.829,57.358,0C409.23,82.902,409.23,108.578,393.401,124.425z"})))}const Ks={dropdownMenu:"J678hvn1r+E07yCv8bQwPQ==",dropdownMenuButton:"tKAw4h6chUOdq3FlfFl3Iw=="};var ec=Object.getOwnPropertySymbols,tc=Object.prototype.hasOwnProperty,rc=Object.prototype.propertyIsEnumerable,ac=(e,t)=>{var r={};for(var a in e)tc.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&ec)for(var a of ec(e))t.indexOf(a)<0&&rc.call(e,a)&&(r[a]=e[a]);return r};function nc(e){var t=e,{id:a,children:n,className:i,disabled:o,value:l,label:s,onItemClick:c,overflow:u,position:f,direction:A,align:d,viewScroll:p,arrow:h,offsetX:b,offsetY:g,menuButtonClassName:m="",ariaLabel:v}=t,y=ac(t,["id","children","className","disabled","value","label","onItemClick","overflow","position","direction","align","viewScroll","arrow","offsetX","offsetY","menuButtonClassName","ariaLabel"]);const w=y.menuButton||r().createElement(oc,{"aria-label":v,className:`${Ks.dropdownMenuButton} ${m}`,disabled:o,type:"button"},l||s);return r().createElement(Qo,{id:a,"aria-label":v,className:Ys()(i,Ks.dropdownMenu),"data-testid":y["data-testid"],onItemClick:c,overflow:u,position:f,direction:A,align:d,viewScroll:p,arrow:h,offsetX:b,offsetY:g,menuButton:w},r().createElement(el,null,s),n)}const ic=Xo,oc=Ho,lc="_6c8KIUK3wkkAS+zkvzR6PQ==",sc="-ufQfGGUIgxKWexx4vHnlw==",cc="ZmNLcnPdS72h63urXHirRw==",uc="v0fu72DcFs5hE2iPZcxYbA==",fc=[$s,Ts],Ac=e=>{const{palette:t=$s,onChange:a}=e,n=r().useRef(null),i=dc(n);return r().createElement(r().Fragment,null,r().createElement("div",{className:uc,role:"heading","aria-level":2},r().createElement("p",{style:{color:t.goodColor.rgb().string()}},"(-) Removed"),r().createElement("p",{style:{color:t.badColor.rgb().string()}},"Added (+)")),r().createElement("div",{ref:n,className:sc},r().createElement(nc,{label:"Select a palette",menuButton:r().createElement(oc,{className:Ys()(Ks.dropdownMenuButton,lc)},r().createElement(Xs,{palette:t,showMode:i})),onItemClick:e=>a(e.value)},fc.map((e=>r().createElement(ic,{key:e.name,value:e},r().createElement("div",null,r().createElement("label",null,e.name),r().createElement("div",{className:cc},r().createElement(Xs,{palette:e,showMode:i}),e===t?r().createElement(Js,null):null))))))))},dc=e=>{const[t,a]=r().useState("large"),n=e=>e<481?"small":"large";return r().useLayoutEffect((()=>{if(e.current){const{width:t}=e.current.getBoundingClientRect();a(n(t))}}),[e.current]),ql(e,(e=>{a(n(e.contentRect.width))})),t};function pc(e){const{format:t,units:a,ExportData:n=r().createElement(r().Fragment,null),palette:i,setPalette:o,toolbarVisible:l}=e,s={objects:"number of objects in RAM per function",goroutines:"number of goroutines",bytes:"amount of RAM per function",samples:"CPU time per function",lock_nanoseconds:"time spent waiting on locks per function",lock_samples:"number of contended locks per function",trace_samples:"aggregated span duration","":""},c=l?(()=>{switch(t){case"single":return r().createElement("div",null,r().createElement("div",{className:`${Ws.row} ${Ws.flamegraphTitle}`,role:"heading","aria-level":2},s[a]&&r().createElement(r().Fragment,null,"Frame width represents ",s[a])));case"double":return r().createElement(r().Fragment,null,r().createElement(Ac,{palette:i,onChange:o}));default:throw new Error(`unexpected format ${t}`)}})():null;return r().createElement("div",{className:Ws.flamegraphHeader},r().createElement("div",null,c),n?r().createElement("div",{className:Ws.buttons},n):r().createElement(r().Fragment,null))}const hc="sQhkbo9-hkp-QcidoRJEzQ==";function bc(e){const a=r().useRef(null),n=(0,t.useRef)(),[i,o]=r().useState(z.nothing()),{flamebearer:l,focusedNode:s,fitMode:c,highlightQuery:u,zoom:f,toolbarVisible:A,showCredit:d,setActiveItem:p,selectedItem:h}=e,{onZoom:b,onReset:g,isDirty:m,onFocusOnNode:v}=e,{ExportData:y}=e,{"data-testid":w}=e,{palette:k,setPalette:x}=e,E=(0,t.useCallback)(Jl()((()=>{T()}),50),[]);ql(a,(()=>{n&&E()}));const _=(e,t)=>I().xyToBar(e,t).map((e=>({left:S().offsetLeft+e.x,top:S().offsetTop+e.y,width:e.width}))),C=(0,t.useCallback)(((e,t)=>{const a=m(),n=I().xyToBar(e,t),i=n.isJust?n.value.name:"";return[r().createElement(Xo,{key:"reset",disabled:!a,onClick:g},r().createElement(Xi,{icon:Ki.XS}),"Reset View"),(()=>{const e=n.mapOrElse((()=>!1),(()=>!0)),t=n.mapOrElse((()=>()=>{}),(e=>v.bind(null,e.i,e.j)));return r().createElement(Xo,{key:"focus",disabled:!e,onClick:t},r().createElement(Xi,{icon:ro.V9}),"Collapse nodes above")})(),r().createElement(Xo,{key:"copy",onClick:()=>{!navigator.clipboard||navigator.clipboard.writeText(i)}},r().createElement(Xi,{icon:eo.kZ}),"Copy function name"),(()=>{const e=h.isJust&&h.value===i?"Clear highlight":"Highlight similar nodes";return r().createElement(Xo,{key:"highlight-similar-nodes",onClick:()=>{p({name:i})}},r().createElement(Xi,{icon:to.Y6}),e)})()]}),[n,h]),$=()=>{if(a.current){const e=new sn(l,a.current,s,c,u,f,k);n.current=e}};r().useEffect((()=>{$(),T()}),[k]),r().useEffect((()=>{$(),T()}),[a.current,l,s,c,u,f]);const T=()=>{var e,t,r;null==(e=null==a?void 0:a.current)||e.setAttribute("data-state","rendering"),null==(t=null==n?void 0:n.current)||t.render(),null==(r=null==a?void 0:a.current)||r.setAttribute("data-state","rendered")},O=!l||l&&l.names.length<=1,S=()=>{if(!a.current)throw new Error("Missing canvas");return a.current},I=()=>{if(!n.current)throw new Error("Missing canvas");return n.current};return r().createElement("div",{"data-testid":"flamegraph-view",className:un(hc,{"vertical-orientation":"double"===l.format})},r().createElement(pc,{format:l.format,units:l.units,ExportData:y,palette:k,setPalette:x,toolbarVisible:A}),r().createElement("div",{"data-testid":w,style:{opacity:O?0:1}},r().createElement("canvas",{height:"0","data-testid":"flamegraph-canvas","data-highlightquery":u,className:un("flamegraph-canvas",Kl),ref:a,onClick:e=>{const t=I().xyToBar(e.nativeEvent.offsetX,e.nativeEvent.offsetY);t.match({Nothing:()=>{},Just:e=>{f.match({Nothing:()=>{b(t)},Just:r=>{e.i===r.i&&e.j===r.j?b(z.nothing()):b(t)}})}})}})),d?r().createElement(Hs,null):"",n&&a&&r().createElement(us,{barHeight:Vt,canvasRef:a,zoom:f,xyToHighlightData:_}),n&&r().createElement(vs,{barHeight:Vt,node:i}),n&&r().createElement(Ls,{format:l.format,canvasRef:a,xyToData:(e,t)=>I().xyToBar(e,t),numTicks:l.numTicks,sampleRate:l.sampleRate,leftTicks:"double"===l.format?l.leftTicks:0,rightTicks:"double"===l.format?l.rightTicks:0,units:l.units,palette:k}),n&&a&&r().createElement(Vs,{canvasRef:a,xyToMenuItems:C,onClose:()=>{o(z.nothing())},onOpen:(e,t)=>{o(_(e,t))}}))}const gc={table:"lEpSh-rOmaE5zcLKRPK0zg==",sortable:"EgDtrXnincRVPXTb58YV7g==",sortArrow:"K8lX8n2m68NgdYq1vXrGQA==",asc:"kf05VUyDM4gEXaiYchZLDQ==",desc:"SwVSTFb7+JtI0Ter5socwQ==",isRowSelected:"+NsZxUzwZfmKMTT3UeTBug==",isRowDisabled:"Jhqi+nxb2FEJkOLMACjE0A==",loadingSpinner:"uqa4BHuGVRjAsdPIyEz8KQ=="};var mc=l(424),vc=l.n(mc);function yc({className:e}){return r().createElement("span",{role:"progressbar",className:e},r().createElement(vc(),{color:"rgba(255,255,255,0.6)",size:"20px"}))}var wc=Object.defineProperty,kc=Object.defineProperties,xc=Object.getOwnPropertyDescriptors,Ec=Object.getOwnPropertySymbols,_c=Object.prototype.hasOwnProperty,Cc=Object.prototype.propertyIsEnumerable,$c=(e,t,r)=>t in e?wc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Tc=(e,t)=>{for(var r in t||(t={}))_c.call(t,r)&&$c(e,r,t[r]);if(Ec)for(var r of Ec(t))Cc.call(t,r)&&$c(e,r,t[r]);return e},Oc=(e,t)=>kc(e,xc(t)),Sc=(e,t)=>{var r={};for(var a in e)_c.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&Ec)for(var a of Ec(e))t.indexOf(a)<0&&Cc.call(e,a)&&(r[a]=e[a]);return r};const Ic=e=>{const r=e.filter((e=>null==e?void 0:e.default))[0]||e[0],[a,n]=(0,t.useState)(r.name),[i,o]=(0,t.useState)("desc");return{sortBy:a,sortByDirection:i,updateSortParams:e=>{let t=i;t=a===e?"asc"===t?"desc":"asc":"desc",n(e),o(t)}}},Mc=function({sortByDirection:e,sortBy:t,updateSortParams:a,table:n,tableBodyRef:i,className:o,isLoading:l}){var s;const c=e&&t&&a;return l?r().createElement("div",{className:gc.loadingSpinner},r().createElement(yc,null)):r().createElement("table",{className:un(gc.table,{[o||""]:o}),"data-testid":"table-ui"},r().createElement("thead",null,r().createElement("tr",null,n.headRow.map(((i,o)=>{var l=i,{sortable:s,label:u,name:f}=l,A=Sc(l,["sortable","label","name"]);return s&&"not-filled"!==n.type&&c?r().createElement("th",Oc(Tc({},A),{key:o,className:gc.sortable,onClick:()=>a(f)}),u,r().createElement("span",{className:un(gc.sortArrow,{[gc[e]]:t===f})})):r().createElement("th",Tc({key:o},A),u)})))),r().createElement("tbody",{ref:i},"not-filled"===n.type?r().createElement("tr",{className:null==n?void 0:n.bodyClassName},r().createElement("td",{colSpan:n.headRow.length},n.value)):null==(s=n.bodyRows)?void 0:s.map((e=>{var t=e,{cells:a,isRowSelected:n,isRowDisabled:i,className:o}=t,l=Sc(t,["cells","isRowSelected","isRowDisabled","className"]);const s=Math.random();return r().createElement("tr",Oc(Tc({key:s},l),{className:un(o,{[gc.isRowSelected]:n,[gc.isRowDisabled]:i})}),a&&a.map(((e,t)=>{var a=e,{style:n,value:i}=a,o=Sc(a,["style","value"]);return r().createElement("td",Tc({key:s+t,style:n},o),i)})))}))))};function Bc({numTicks:e,sampleRate:a,units:n,tableBodyRef:i}){const o=Qt(e,a,n),l=o.format(e,a),s=(0,t.useCallback)(((e,t,r)=>{var i;const s=null==(i=r.target.closest("tr"))?void 0:i.dataset.row;if(!s)return void t();const[c,u,f]=s.split(";"),A=o.format(parseInt(u,10),a),d=o.format(parseInt(f,10),a),p=l.split(" "),h="<"===p[0]?p[1]:p[0],b=A.split(" "),g="<"===b[0]?b[1]:b[0],m=d.split(" "),v="<"===m[0]?m[1]:m[0];e({title:{text:c,diff:{text:"",color:""}},tooltipData:[{units:n,self:`${A}(${(parseFloat(g)/parseFloat(h)*100).toFixed(2)}%)`,total:`${d}(${(parseFloat(v)/parseFloat(h)*100).toFixed(2)}%)`,tooltipType:"table"}]})}),[i,e,o,a]);return r().createElement(Ms,{dataSourceRef:i,shouldShowTitle:!1,clickInfoSide:"left",setTooltipContent:s})}var Rc=Object.defineProperty,Pc=Object.defineProperties,Lc=Object.getOwnPropertyDescriptors,Dc=Object.getOwnPropertySymbols,zc=Object.prototype.hasOwnProperty,Fc=Object.prototype.propertyIsEnumerable,Nc=(e,t,r)=>t in e?Rc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jc=(e,t)=>{for(var r in t||(t={}))zc.call(t,r)&&Nc(e,r,t[r]);if(Dc)for(var r of Dc(t))Fc.call(t,r)&&Nc(e,r,t[r]);return e},Vc=(e,t)=>Pc(e,Lc(t));const Gc=e=>e||0;function Hc(e,t,r,a){const n=t;return n.type="single",n.self=Gc(n.self)+e.getBarSelf(r,a),n.total=Gc(n.total)+e.getBarTotal(r,a),n}function Wc(e,t,r,a){const n=t;return n.type="double",n.self=Gc(n.self)+e.getBarSelf(r,a),n.total=Gc(n.total)+e.getBarTotal(r,a),n.selfLeft=Gc(n.selfLeft)+e.getBarSelfLeft(r,a),n.selfRght=Gc(n.selfRght)+e.getBarSelfRght(r,a),n.selfDiff=Gc(n.selfDiff)+e.getBarSelfDiff(r,a),n.totalLeft=Gc(n.totalLeft)+e.getBarTotalLeft(r,a),n.totalRght=Gc(n.totalRght)+e.getBarTotalRght(r,a),n.totalDiff=Gc(n.totalDiff)+e.getBarTotalDiff(r,a),n}function Zc(e){return Math.min(0,e)}function Yc(e,t,r){const a=148-e/t*148,n=r.alpha(1);return{backgroundImage:`linear-gradient(${n}, ${n})`,backgroundPosition:`-${a}px 0px`,backgroundRepeat:"no-repeat"}}function Qc(e,t,r,a,n,i){const o=148-Math.min(t,r)/a*148,l=148-Math.max(t,r)/a*148,s=n.alpha(1),c=r({diff:[e.name,e.selfDiff,e.totalDiff],self:[e.name,e.selfLeft,e.selfRght],total:[e.name,e.totalLeft,e.totalRght]}))({name:{sortable:1,name:"name",label:"Location"},selfLeft:{sortable:1,name:"selfLeft",label:"Self (Left)",default:!0},selfRght:{sortable:1,name:"selfRght",label:"Self (Right)"},selfDiff:{sortable:1,name:"selfDiff",label:"Self (Diff)",default:!0},totalLeft:{sortable:1,name:"totalLeft",label:"Total (Left)",default:!0},totalRght:{sortable:1,name:"totalRght",label:"Total (Right)"},totalDiff:{sortable:1,name:"totalDiff",label:"Total (Diff)"}});function Xc({tableBodyRef:e,flamebearer:t,viewDiff:a,fitMode:n,handleTableItemClick:i,highlightQuery:o,selectedItem:l,palette:s}){const c=a?qc[a]:Uc,u=Ic(c),f=jc({headRow:c},Jc({flamebearer:t,sortBy:u.sortBy,sortByDirection:u.sortByDirection,viewDiff:a,fitMode:n,handleTableItemClick:i,highlightQuery:o,palette:s,selectedItem:l}));return r().createElement(Mc,Vc(jc({},u),{tableBodyRef:e,table:f,className:"flamegraph-table"}))}const Jc=({flamebearer:e,sortBy:t,sortByDirection:a,viewDiff:n,fitMode:i,handleTableItemClick:o,highlightQuery:l,palette:s,selectedItem:c})=>{const{numTicks:u,maxSelf:f,sampleRate:A,spyName:d,units:p}=e,h=function(e){if(!e)return[];const{names:t,levels:r,format:a}=e,n="double"!==a?Rt:Pt,i={};for(let o=0;o"},"single"===a?Hc(Rt,i[o],e,r):Wc(Pt,i[o],e,r)}}return Object.values(i)}(e).sort(((e,t)=>t.total-e.total)),b="asc"===a?1:-1;let g;g="name"===t?h.sort(((e,r)=>b*e[t].localeCompare(r[t]))):h.sort(((e,r)=>b*(e[t]-r[t])));const m=Qt(u,A,p),v=e=>!!c.isJust&&e===c.value,y=(e,t)=>r().createElement("button",{className:"table-item-button"},r().createElement("span",{className:"color-reference",style:t}),r().createElement("div",{className:"symbol-name",style:ar(i)},e.name)),w=(()=>{switch(n){case"self":return(e,t,a)=>({type:"self",isRowSelected:v(e.name),onClick:()=>o(e),cells:[{value:y(e,a)},{style:Qc(s,e.selfLeft,e.selfRght,f,t,"L"),value:r().createElement("span",{title:m.format(e.selfLeft,A)},m.format(e.selfLeft,A))},{style:Qc(s,e.selfLeft,e.selfRght,f,t,"R"),value:r().createElement("span",{title:m.format(e.selfRght,A)},m.format(e.selfRght,A))}]});case"total":return(e,t,a)=>({type:"total",isRowSelected:v(e.name),onClick:()=>o(e),cells:[{value:y(e,a)},{style:Qc(s,e.totalLeft,e.totalRght,u/2,t,"L"),value:r().createElement("span",{title:m.format(e.totalLeft,A)},m.format(e.totalLeft,A))},{style:Qc(s,e.totalLeft,e.totalRght,u/2,t,"R"),value:r().createElement("span",{title:m.format(e.totalRght,A)},m.format(e.totalRght,A))}]});case"diff":return(e,t,a)=>({type:"diff",isRowSelected:v(e.name),onClick:()=>o(e),cells:[{value:y(e,a)},{style:Qc(s,e.selfLeft,e.selfRght,f,Sa),value:r().createElement("span",{title:m.format(e.selfDiff,A)},m.format(e.selfDiff,A))},{style:Qc(s,e.totalLeft,e.totalRght,u/2,t),value:r().createElement("span",{title:m.format(e.totalDiff,A)},m.format(e.totalDiff,A))}]});default:return()=>({type:"unsupported"})}})(),k=g.filter((e=>!l||Pa(l,e.name))).reduce(((e,t)=>{const r=Ma(d,t.name),a=n?Sa:Ba(s,r),i={backgroundColor:a.rgb().toString()};if("double"===t.type){const r=w(t,a,i);return"unsupported"===r.type||e.push(r),e}return e.push(((e,t,r)=>({"data-row":`${e.name};${e.self};${e.total};${e.type}`,isRowSelected:v(e.name),onClick:()=>o(e),cells:[{value:y(e,r)},{value:m.format(e.self,A),style:Yc(e.self,f,t)},{value:m.format(e.total,A),style:Yc(e.total,u,t)}]}))(t,a,i)),e}),[]);return k.length>0?{bodyRows:k,type:"filled"}:{value:r().createElement("div",{className:"unsupported-format"},"Unsupported"),type:"not-filled"}};function Kc({flamebearer:e,viewDiff:a,fitMode:n,handleTableItemClick:i,highlightQuery:o,palette:l,selectedItem:s}){const c=(0,t.useRef)(null);return r().createElement(r().Fragment,null,r().createElement(Xc,{tableBodyRef:c,flamebearer:e,viewDiff:a,fitMode:n,highlightQuery:o,handleTableItemClick:i,palette:l,selectedItem:s}),r().createElement(Bc,{tableBodyRef:c,numTicks:e.numTicks,sampleRate:e.sampleRate,units:e.units}))}var eu=l(899),tu=l(459),ru=l(971),au=l(384),nu=l(646),iu=l(769),ou=l(692);const lu={button:"D8639n1+pFnktQbfHEdhiQ==",iconWithText:"iUJrf0Zra72Ylrkdwe4m3g==",default:"HsSMSsZ6IvGC0zvef-oyEg==",primary:"uRSawyfmnPCTMB2RaexM7Q==",secondary:"uLhy-1n6bQNSjQ8XlHT5hA==",danger:"Zcv+sg60tkrHTHSCxMwOCA==",grouped:"h-JyltywHaflsNfDj7ETjw=="};var su=Object.getOwnPropertySymbols,cu=Object.prototype.hasOwnProperty,uu=Object.prototype.propertyIsEnumerable,fu=(e,t)=>{var r={};for(var a in e)cu.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&su)for(var a of su(e))t.indexOf(a)<0&&uu.call(e,a)&&(r[a]=e[a]);return r};function Au(e){var t=e,{disabled:a=!1,kind:n="default",type:i="button",icon:o,children:l,grouped:s,onClick:c,id:u,className:f}=t,A=fu(t,["disabled","kind","type","icon","children","grouped","onClick","id","className"]);return r().createElement("button",{id:u,type:i,"data-testid":A["data-testid"],disabled:a,onClick:c,"aria-label":A["aria-label"],className:`${lu.button} ${s?lu.grouped:""} ${du(n)} ${f}`},o?r().createElement(Xi,{icon:o,className:l?lu.iconWithText:""}):null,l)}function du(e){switch(e){case"default":return lu.default;case"primary":return lu.primary;case"secondary":return lu.secondary;case"danger":return lu.danger;default:throw Error(`Unsupported kind ${e}`)}}const pu={select:"OqcAa70--BCY73rHYPrNmg=="};function hu({ariaLabel:e,className:t,value:a,onChange:n,children:i,name:o,id:l,disabled:s}){return r().createElement("select",{id:l,disabled:s||!1,name:o,"aria-label":e,className:`${pu.select} ${t||""}`,value:a,onChange:n},i)}var bu=l(687),gu=l(912);const mu="m7PZEM-Vxkue2eKuRu3yZQ==",vu=r().forwardRef((({testId:e,className:t,type:a,name:n,placeholder:i,minLength:o=0,debounceTimeout:l=100,onChange:s,value:c,htmlId:u},f)=>r().createElement(gu.DebounceInput,{inputRef:f,"data-testid":e,className:`${mu} ${t||""}`,type:a,name:n,placeholder:i,minLength:o,debounceTimeout:l,onChange:s,value:c,id:u}))),yu={tooltip:"izIbNRLbF9xJDKe-4AJ+JQ==",left:"zT3KmMrzKP41T7FMS0SJtw==",right:"Xl2deKCyOq2flu8vgSgbjA==",bottom:"uG9bli7m866SO8q5AjDy3A==",top:"-bV6ZtBg6DRt5-1XGDZXSw==",visible:"sxcNNSa167Ke4esKRMThTw=="},wu=({title:e,visible:t,className:a,placement:n})=>{var i;return r().createElement("div",{onClick:e=>e.stopPropagation(),className:`${yu.tooltip} ${t?yu.visible:""} ${null==(i=yu)?void 0:i[n]} ${a||""} `,role:"tooltip"},e)},ku="_1tNAjeMOzQp8uOuaYq+Hlg==",xu="Oa7YSy+wTDaxwMXZB4v5Gw==",Eu="jaKSuzEc2kMgsQY1Ei1zIQ==",_u="bMvkv+pO8CFQYIzcx9hNPw==",Cu="tgQzYT5gJmC8BxJWeVbhNg==",$u="EXyIVsmmjw+Gmj5qWe4lFA==",Tu="bzaIPy4-2topIZ9a1V0log==",Ou="ZX3TafJkUlq6K5k390H1nw==",Su="dSO0qFp27L959Gj33bDomw==",Iu=({onHighlightChange:e,showMode:a,highlightQuery:n,sharedQuery:i})=>{const o=(e=>{const r=(0,t.useRef)();return(0,t.useEffect)((()=>{r.current=e})),r.current})(null==i?void 0:i.syncEnabled),[l,s]=(0,t.useState)(!1);(0,t.useEffect)((()=>{"string"==typeof(null==i?void 0:i.searchQuery)&&(i.syncEnabled&&e(i.searchQuery),!i.syncEnabled&&o&&o!==(null==i?void 0:i.id)&&e(""))}),[null==i?void 0:i.searchQuery,null==i?void 0:i.syncEnabled]);const c=(0,t.useMemo)((()=>i&&i.syncEnabled?i.searchQuery||"":n),[i,n]),u=(0,t.useMemo)((()=>`${i?_u:xu} ${"small"===a?Cu:""} ${(null==i?void 0:i.syncEnabled)?Eu:""}`),[i,a]);return r().createElement("div",{className:ku},r().createElement(vu,{testId:"flamegraph-search",className:u,type:"search",name:"flamegraph-search",placeholder:"Search…",minLength:2,debounceTimeout:100,onChange:t=>{e(t.target.value),i&&i.syncEnabled&&i.onQueryChange(t.target.value)},value:c}),i?r().createElement("button",{className:i.syncEnabled?Su:Ou,onClick:()=>{const t=!(null==i?void 0:i.syncEnabled)&&(null==i?void 0:i.id);null==i||i.toggleSync(t),t?null==i||i.onQueryChange(n):(e(n),null==i||i.onQueryChange(""))},onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1)},r().createElement(Xi,{className:`${i.syncEnabled?Tu:$u}`,icon:bu.nN}),r().createElement(wu,{placement:"top",visible:l,title:i.syncEnabled?"Unsync search bars":"Sync search bars"})):null)},Mu="YA6yFCiTuhT9605JIjPYsA==",Bu="cgRZhc4M4hYARCOdbJigOA==",Ru="X3FRWBEqbFJ2BneRkbVfsA==",Pu="hLxcZfkuovRKDwfNBljW1A==",Lu="_7IQU1MziDWeX+DyRDdXHYg==",Du=r().memo((({view:e,viewDiff:t,handleSearchChange:a,highlightQuery:n,isFlamegraphDirty:i,reset:o,updateFitMode:l,fitMode:s,updateView:c,updateViewDiff:u,selectedNode:f,onFocusOnSubtree:A,flamegraphType:d,disableChangingDisplay:p=!1,sharedQuery:h})=>{const b=r().useRef(null),g=(e=>{const[t,a]=r().useState("large"),n=e=>e<900?"small":"large";return r().useLayoutEffect((()=>{if(e.current){const{width:t}=e.current.getBoundingClientRect();a(n(t))}}),[e.current]),ql(e,(e=>{a(n(e.contentRect.width))})),t})(b);return r().createElement("div",{role:"toolbar",ref:b,"data-mode":g},r().createElement("div",{className:Mu},r().createElement(Iu,{showMode:g,onHighlightChange:a,highlightQuery:n,sharedQuery:h}),"double"===d&&r().createElement(ju,{showMode:g,viewDiff:t,updateViewDiff:u}),r().createElement("div",{className:Bu}),r().createElement(Nu,{showMode:g,fitMode:s,updateFitMode:l}),r().createElement(Fu,{showMode:g,isFlamegraphDirty:i,reset:o}),r().createElement(zu,{showMode:g,selectedNode:f,onFocusOnSubtree:A}),!p&&r().createElement(Vu,{showMode:g,view:e,updateView:c})))}));function zu({onFocusOnSubtree:e,selectedNode:t,showMode:a}){let n="";switch(a){case"small":n="Collapse";break;case"large":n="Collapse nodes above";break;default:throw new Error("Wrong mode")}const i=t.mapOr((()=>{}),(t=>()=>e(t.i,t.j)));return r().createElement(Au,{disabled:!t.isJust,onClick:i,icon:ro.V9},n)}function Fu({isFlamegraphDirty:e,reset:t,showMode:a}){let n="";switch(a){case"small":n="Reset";break;case"large":n="Reset View";break;default:throw new Error("Wrong mode")}return r().createElement(r().Fragment,null,r().createElement(Au,{id:"reset","data-testid":"reset-view",disabled:!e,onClick:t,icon:ou.X7},n))}function Nu({fitMode:e,updateFitMode:t,showMode:a}){let n={label:"",[er]:"",[Kt]:""},i="";switch(a){case"small":n={label:"Fit",[er]:"Head",[Kt]:"Tail"},i=Pu;break;case"large":n={label:"Prefer to Fit",[er]:"Head first",[Kt]:"Tail first"},i=Lu;break;default:throw new Error("Wrong mode")}const o=[er,Kt].map((t=>r().createElement(ic,{key:t,value:t},r().createElement("div",{className:Ru,"data-testid":t},n[t],e===t?r().createElement(Js,null):null))));return r().createElement(nc,{label:n.label,ariaLabel:"Fit Mode",value:n[e],onItemClick:e=>t(e.value),menuButtonClassName:i},o)}function ju({viewDiff:e,updateViewDiff:t,showMode:a}){if(!e)return null;const n=r().createElement(hu,{name:"viewDiff",ariaLabel:"view-diff",value:e,onChange:e=>{t(e.target.value)}},r().createElement("option",{value:"self"},"Self"),r().createElement("option",{value:"total"},"Total"),r().createElement("option",{value:"diff"},"Diff")),i=t=>e===t?"primary":"default",o=r().createElement(r().Fragment,null,r().createElement(Au,{grouped:!0,icon:nu.gf,kind:i("self"),onClick:()=>t("self")},"Self"),r().createElement(Au,{grouped:!0,icon:tu.xi,kind:i("total"),onClick:()=>t("total")},"Total"),r().createElement(Au,{grouped:!0,icon:eu.el,kind:i("diff"),onClick:()=>t("diff")},"Diff"));return r().createElement("div",{className:"btn-group viz-switch","data-testid":"diff-view"},(()=>{switch(a){case"small":return n;case"large":return o;default:throw new Error(`Invalid option: '${a}'`)}})())}function Vu({view:e,updateView:t,showMode:a}){const n=r().createElement(hu,{ariaLabel:"view",name:"view",value:e,onChange:e=>{t(e.target.value)}},r().createElement("option",{value:"table"},"Table"),r().createElement("option",{value:"both"},"Both"),r().createElement("option",{value:"flamegraph"},"Flame")),i=t=>e===t?"primary":"default",o=r().createElement(r().Fragment,null,r().createElement(Au,{grouped:!0,kind:i("table"),icon:iu.B3,onClick:()=>t("table")},"Table"),r().createElement(Au,{grouped:!0,kind:i("both"),icon:ru.rW,onClick:()=>t("both")},"Both"),r().createElement(Au,{grouped:!0,kind:i("flamegraph"),icon:au.$P,onClick:()=>t("flamegraph")},"Flamegraph"));return r().createElement("div",{className:"btn-group viz-switch"},(()=>{switch(a){case"small":return n;case"large":return o;default:throw new Error(`Invalid option: '${a}'`)}})())}const Gu=Du,Hu="uf0fDCR2p7mFe03meuOCpw==";function Wu(){return r().createElement("div",{"data-testid":"no-profiling-data",className:Hu},r().createElement("span",null,"No profiling data available for this application / time range."))}const Zu={flamegraphContainer:"dp4rYndtkn5OL137gNcXFw==",createdBy:"Sg8G+XWf37nf2z2mq0UlZA==",horizontal:"Fa+QibGLT2PTOlQu9kZ42w==",vertical:"_1fK+ZP5KAHBMI34rObiBpA==",panesWrapper:"UiDrEFZwwNI6mFmaWDftKw==",tablePane:"rcGeWTV5hY5txTEQvQenVg=="};var Yu=["styles"];function Qu(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a=0)&&(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}function Uu(){return Uu=Object.assign||function(e){for(var t=1;tt in e?Ku(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lf=(e,t)=>{for(var r in t||(t={}))af.call(t,r)&&of(e,r,t[r]);if(rf)for(var r of rf(t))nf.call(t,r)&&of(e,r,t[r]);return e},sf=(e,t)=>ef(e,tf(t));function cf(e){if(e.profile&&e.flamebearer&&console.warn("'profile' and 'flamebearer' properties are mutually exclusive. Please use profile if possible."),e.profile){const t=function(e){const t=JSON.parse(JSON.stringify(e));return t.flamebearer.levels=Ju(t.metadata.format,t.flamebearer.levels),t}(JSON.parse(JSON.stringify(e.profile)));return lf(lf(lf({},t),t.flamebearer),t.metadata)}return e.flamebearer?e.flamebearer:{format:"single",names:[],units:"",levels:[[]],spyName:"unknown",numTicks:0,sampleRate:0,maxSelf:0}}class uf extends r().Component{constructor(e){super(e),this.resetFlamegraphState={focusedNode:z.nothing(),zoom:z.nothing()},this.initialFlamegraphState=this.resetFlamegraphState,this.calcNewConfigs=(e,t)=>{const r=this.state.flamegraphConfigs,a=(e,t,r)=>{const a=(e,t,r)=>e.names[Lt(e.format).getBarName(e.levels[t],r)];if(r.isNothing)return!0;try{const n=a(e,r.value.i,r.value.j);return n===a(t,r.value.i,r.value.j)}catch(C){return!1}};return a(e,t,this.state.flamegraphConfigs.zoom)||(r.zoom=this.resetFlamegraphState.zoom),a(e,t,this.state.flamegraphConfigs.focusedNode)||(r.focusedNode=this.resetFlamegraphState.focusedNode),r},this.onSearchChange=e=>{this.setState({searchQuery:e})},this.isSameFlamebearer=(e,t)=>JSON.stringify(e)===JSON.stringify(t),this.onReset=()=>{this.setState(sf(lf({},this.state),{flamegraphConfigs:lf(lf({},this.state.flamegraphConfigs),this.initialFlamegraphState)}))},this.onFlamegraphZoom=e=>{e.isJust&&0===e.value.i&&0===e.value.j?this.onReset():this.setState(sf(lf({},this.state),{flamegraphConfigs:sf(lf({},this.state.flamegraphConfigs),{zoom:e})}))},this.onFocusOnNode=(e,t)=>{if(0===e&&0===t)return void this.onReset();let r=lf({},this.state.flamegraphConfigs);const{zoom:a}=this.state.flamegraphConfigs;a.isJust&&a.value.i<=e&&(r=sf(lf({},r),{zoom:this.initialFlamegraphState.zoom})),this.setState(sf(lf({},this.state),{flamegraphConfigs:sf(lf({},r),{focusedNode:z.just({i:e,j:t})})}))},this.setActiveItem=e=>{const{name:t}=e;this.state.selectedItem.isJust&&t===this.state.selectedItem.value?this.setState({selectedItem:z.nothing()}):this.setState({selectedItem:z.just(t)})},this.getHighlightQuery=()=>this.state.selectedItem.isJust?this.state.selectedItem.value:this.state.searchQuery,this.updateViewDiff=e=>{this.setState({viewDiff:e})},this.updateView=e=>{this.setState({view:e})},this.updateFlamegraphDirtiness=()=>{const e=this.isDirty();this.setState({isFlamegraphDirty:e})},this.updateFitMode=e=>{this.setState({fitMode:e})},this.isDirty=()=>JSON.stringify(this.initialFlamegraphState)!==JSON.stringify(this.state.flamegraphConfigs),this.render=()=>{var e;const t=r().createElement("div",{key:"table-pane",className:un(Zu.tablePane,"vertical"===this.state.panesOrientation?Zu.vertical:Zu.horizontal)},r().createElement(Kc,{"data-testid":"table-view",flamebearer:this.state.flamebearer,viewDiff:"double"===(null==(e=this.state.flamebearer)?void 0:e.format)&&this.state.viewDiff,fitMode:this.state.fitMode,highlightQuery:this.state.searchQuery,selectedItem:this.state.selectedItem,handleTableItemClick:this.setActiveItem,palette:this.state.palette})),a=this.shouldShowToolbar(),n=r().createElement(bc,{key:"flamegraph-pane",showCredit:this.props.showCredit,flamebearer:this.state.flamebearer,ExportData:this.props.ExportData||r().createElement(r().Fragment,null),highlightQuery:this.getHighlightQuery(),setActiveItem:this.setActiveItem,selectedItem:this.state.selectedItem,fitMode:this.state.fitMode,zoom:this.state.flamegraphConfigs.zoom,focusedNode:this.state.flamegraphConfigs.focusedNode,onZoom:this.onFlamegraphZoom,onFocusOnNode:this.onFocusOnNode,onReset:this.onReset,isDirty:this.isDirty,palette:this.state.palette,toolbarVisible:a,setPalette:e=>this.setState({palette:e})}),i=!this.state.flamebearer||this.state.flamebearer.names.length<=1,o=function(e,t,r){switch(e){case"table":return[r];case"flamegraph":return[t];case"both":return[r,t];default:throw new Error(`Invalid view '${e}'`)}}(this.state.view,n,t);return r().createElement("div",{"data-flamegraph-color-mode":this.props.colorMode||"dark"},r().createElement("div",null,a&&r().createElement(Gu,{sharedQuery:this.props.sharedQuery,disableChangingDisplay:!!this.props.onlyDisplay,flamegraphType:this.state.flamebearer.format,view:this.state.view,viewDiff:this.state.viewDiff,handleSearchChange:this.onSearchChange,reset:this.onReset,updateView:this.updateView,updateViewDiff:this.updateViewDiff,updateFitMode:this.updateFitMode,fitMode:this.state.fitMode,isFlamegraphDirty:this.state.isFlamegraphDirty,selectedNode:this.state.flamegraphConfigs.zoom,highlightQuery:this.state.searchQuery,onFocusOnSubtree:this.onFocusOnNode}),this.props.children,r().createElement("div",{className:`${Zu.flamegraphContainer} ${un("vertical"===this.state.panesOrientation?Zu.vertical:Zu.horizontal,Zu[this.state.panesOrientation],Zu.panesWrapper)}`},i?r().createElement(Wu,null):o.map((e=>e)))),this.props.showPyroscopeLogo&&r().createElement("div",{className:Zu.createdBy},"Created by",r().createElement("a",{href:"https://twitter.com/PyroscopeIO",rel:"noreferrer",target:"_blank"},r().createElement(qu,{width:"30",height:"30"}),"@PyroscopeIO")))},this.state={isFlamegraphDirty:!1,view:this.props.onlyDisplay?this.props.onlyDisplay:"both",viewDiff:"diff",fitMode:"HEAD",flamebearer:cf(e),panesOrientation:e.panesOrientation?e.panesOrientation:"horizontal",searchQuery:"",selectedItem:z.nothing(),flamegraphConfigs:this.initialFlamegraphState,palette:$s}}componentDidUpdate(e,t){const r=cf(e),a=cf(this.props);if(this.isSameFlamebearer(r,a))t.flamegraphConfigs!==this.state.flamegraphConfigs&&this.updateFlamegraphDirtiness();else{const e=this.calcNewConfigs(r,a);this.setState({flamebearer:a,flamegraphConfigs:lf(lf({},this.state.flamegraphConfigs),e),selectedItem:z.nothing()})}}shouldShowToolbar(){return void 0===this.props.showToolbar||this.props.showToolbar}}uf.defaultProps={showCredit:!0};const ff=uf;var Af=Object.defineProperty,df=Object.getOwnPropertySymbols,pf=Object.prototype.hasOwnProperty,hf=Object.prototype.propertyIsEnumerable,bf=(e,t,r)=>t in e?Af(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gf=(e,t)=>{for(var r in t||(t={}))pf.call(t,r)&&bf(e,r,t[r]);if(df)for(var r of df(t))hf.call(t,r)&&bf(e,r,t[r]);return e};const mf={showPyroscopeLogo:!1},vf=e=>r().createElement("pyro-flamegraph",{is:"span"},r().createElement(ff,gf(gf({},e),mf)));var yf=l(572),wf=l.n(yf),kf=l(343),xf=l.n(kf);function Ef(e){const t={numTicks:0,maxSelf:0,names:[],levels:[]},r={},a={children:[]};return e.spans.forEach((e=>{e.children=[],r[e.spanID]=e})),e.spans.forEach((e=>{let t=a;e.references&&e.references.length>0&&(t=r[e.references[0].spanID]||a),t.children.push(e)})),function e(t,r){(t.children||[]).forEach((t=>e(t)));let a=0;const n=wf()(t.children||[],(e=>e.operationName));t.children=xf()(n,(e=>{const t=e[0];for(let r=1;r{i+=r(e,n+1,i)})),a.total}(a,0,0),t.levels=Xu("single",t.levels),{version:1,flamebearer:t,metadata:{format:"single",units:"trace_samples",spyName:"tracing",sampleRate:1e6}}}var _f=Object.defineProperty,Cf=Object.getOwnPropertySymbols,$f=Object.prototype.hasOwnProperty,Tf=Object.prototype.propertyIsEnumerable,Of=(e,t,r)=>t in e?_f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Sf=(e,t)=>{for(var r in t||(t={}))$f.call(t,r)&&Of(e,r,t[r]);if(Cf)for(var r of Cf(t))Tf.call(t,r)&&Of(e,r,t[r]);return e};function If(e,t){e.flamebearer.levels=Ju("single",e.flamebearer.levels),t.flamebearer.levels=Ju("single",t.flamebearer.levels);const r=function(e,t){const r={format:"double",numTicks:e.numTicks+t.numTicks,leftTicks:e.numTicks,rightTicks:t.numTicks,maxSelf:100,sampleRate:e.sampleRate,names:[],levels:[],units:e.units,spyName:e.spyName},a=function(e,t){const r={},a={};let n;return[e,t].forEach(((e,t)=>{var i,o;for(let l=0;l=i&&f{var o;const{name:l,children:s,self:c,total:u}=e;r.names.push(l),(o=r.levels)[t]||(o[t]=[]),r.maxSelf=Math.max(r.maxSelf,c[0]||0,c[1]||0),r.levels[t]=r.levels[t].concat([a,u[0]||0,c[0]||0,i,u[1]||0,c[1]||0,r.names.length-1]);for(let r=0;r{const t=e&&e.data?distExports.convertJaegerTraceToProfile(e.data):null;return jsxRuntimeExports.jsx("div",{className:"Flamegraph-wrapper",children:jsxRuntimeExports.jsx(distExports.FlamegraphRenderer,{colorMode:"light",profile:t})})},index$5="",VIEW_MIN_RANGE=.01,VIEW_CHANGE_BASE=.005,VIEW_CHANGE_FAST=.05,shortcutConfig={panLeft:[-VIEW_CHANGE_BASE,-VIEW_CHANGE_BASE],panLeftFast:[-VIEW_CHANGE_FAST,-VIEW_CHANGE_FAST],panRight:[VIEW_CHANGE_BASE,VIEW_CHANGE_BASE],panRightFast:[VIEW_CHANGE_FAST,VIEW_CHANGE_FAST],zoomIn:[VIEW_CHANGE_BASE,-VIEW_CHANGE_BASE],zoomInFast:[VIEW_CHANGE_FAST,-VIEW_CHANGE_FAST],zoomOut:[-VIEW_CHANGE_BASE,VIEW_CHANGE_BASE],zoomOutFast:[-VIEW_CHANGE_FAST,VIEW_CHANGE_FAST]};function makeShortcutCallbacks(e){return mapValues_1(shortcutConfig,(function([t,r]){return function(a){a.preventDefault(),e(t,r)}}))}class TracePageImpl extends reactExports.PureComponent{constructor(e){super(e),this.setHeaderHeight=e=>{this._headerElm=e,e?this.state.headerHeight!==e.clientHeight&&this.setState({headerHeight:e.clientHeight}):this.state.headerHeight&&this.setState({headerHeight:null})},this.clearSearch=()=>{const{history:e,location:t}=this.props;updateUiFind({history:e,location:t,trackFindFunction:trackFilter}),this._searchBar.current&&this._searchBar.current.blur()},this.focusOnSearchBar=()=>{this._searchBar.current&&this._searchBar.current.focus()},this.updateViewRangeTime=(e,t,r)=>{r&&trackRange(r,[e,t],this.state.viewRange.time.current);const a={current:[e,t]};this.setState((e=>({viewRange:{...e.viewRange,time:a}})))},this.updateNextViewRangeTime=e=>{this.setState((t=>{const r={...t.viewRange.time,...e};return{viewRange:{...t.viewRange,time:r}}}))},this.toggleSlimView=()=>{const{slimView:e}=this.state;trackSlimHeaderToggle(!e),this.setState({slimView:!e})},this.setTraceView=e=>{this.props.trace&&this.props.trace.data&&e===ETraceViewType.TraceGraph&&(this.traceDagEV=calculateTraceDagEV(this.props.trace.data)),this.setState({viewType:e})},this.archiveTrace=()=>{const{id:e,archiveTrace:t}=this.props;t(e)},this.acknowledgeArchive=()=>{const{id:e,acknowledgeArchive:t}=this.props;t(e)},this.focusUiFindMatches=()=>{const{trace:e,focusUiFindMatches:t,uiFind:r}=this.props;e&&e.data&&(trackFocusMatches(),t(e.data,r))},this.nextResult=()=>{trackNextMatch(),this._scrollManager.scrollToNextVisibleSpan()},this.prevResult=()=>{trackPrevMatch(),this._scrollManager.scrollToPrevVisibleSpan()};const{embedded:t,trace:r}=e;this.state={headerHeight:null,slimView:Boolean(t&&t.timeline.collapseTitle),viewType:ETraceViewType.TraceTimelineViewer,viewRange:{time:{current:[0,1]}}},this._headerElm=null,this._filterSpans=memoize_1(filterSpans,(e=>`${e} ${get_1$1(this.props.trace,"traceID")} ${get_1$1(this.props.trace,"data.spans.length")}`)),this._scrollManager=new ScrollManager(r&&r.data,{scrollBy:scrollBy,scrollTo:scrollTo}),this._searchBar=reactExports.createRef(),reset()}componentDidMount(){const e=this.props.trace;if(e&&e.data&&this.getSpansWithResolvedLocations(e.data),this.ensureTraceFetched(),this.updateViewRangeTime(0,1),!this._scrollManager)throw new Error("Invalid state - scrollManager is unset");const{scrollPageDown:t,scrollPageUp:r,scrollToNextVisibleSpan:a,scrollToPrevVisibleSpan:n}=this._scrollManager,i=makeShortcutCallbacks(((e,t)=>this._adjustViewRange(e,t,"kbd")));i.scrollPageDown=t,i.scrollPageUp=r,i.scrollToNextVisibleSpan=a,i.scrollToPrevVisibleSpan=n,i.clearSearch=this.clearSearch,i.searchSpans=this.focusOnSearchBar,merge(i)}componentDidUpdate({id:e,trace:t}){const{id:r,trace:a}=this.props;a&&a!==t&&a.data&&a.state&&a.state===fetchedState.DONE&&this.getSpansWithResolvedLocations(a.data),this._scrollManager.setTrace(a&&a.data),this.setHeaderHeight(this._headerElm),a?e!==r&&(this.updateViewRangeTime(0,1),this.clearSearch()):this.ensureTraceFetched()}componentWillUnmount(){reset(),cancel(),this._scrollManager.destroy(),this._scrollManager=new ScrollManager(void 0,{scrollBy:scrollBy,scrollTo:scrollTo}),window.sendMessageToDigma({action:actions$1.CLEAR})}getSpansWithResolvedLocations(e){window.sendMessageToDigma({action:actions$1.GET_SPANS_DATA,payload:{spans:e.spans.map((e=>getSpanDataForDigma(e))).filter((e=>e.instrumentationLibrary))}})}_adjustViewRange(e,t,r){const[a,n]=this.state.viewRange.time.current;let i=clamp_1(a+e,0,.99),o=clamp_1(n+t,.01,1);if(o-i0&&t>0)o=i+VIEW_MIN_RANGE;else{const e=a+(n-a)/2;i=e-VIEW_MIN_RANGE/2,o=e+VIEW_MIN_RANGE/2}this.updateViewRangeTime(i,o,r)}ensureTraceFetched(){const{fetchTrace:e,location:t,trace:r,id:a}=this.props;if(!r)return void e(a);const{history:n}=this.props;a&&a!==a.toLowerCase()&&n.replace(getLocation(a.toLowerCase(),t.state))}render(){const{archiveEnabled:e,archiveTraceState:t,embedded:r,id:a,uiFind:n,trace:i,traceGraphConfig:o,location:{state:l}}=this.props,{slimView:s,viewType:c,headerHeight:u,viewRange:f}=this.state;if(!i||i.state===fetchedState.LOADING)return jsxRuntimeExports.jsx(LoadingIndicator,{className:"u-mt-vast",centered:!0});const{data:A}=i;if(i.state===fetchedState.ERROR||!A)return jsxRuntimeExports.jsx(ErrorMessage,{className:"ub-m3",error:i.error||"Unknown error"});let d,p,h=0;n&&(c===ETraceViewType.TraceGraph?(d=getUiFindVertexKeys(n,get_1$1(this.traceDagEV,"vertices",[])),h=d?d.size:0):(p=this._filterSpans(n,get_1$1(i,"data.spans")),h=p?p.size:0));const b=Boolean(r),g={focusUiFindMatches:this.focusUiFindMatches,slimView:s,textFilter:n,viewType:c,viewRange:f,canCollapse:!r||!r.timeline.hideSummary||!r.timeline.hideMinimap,clearSearch:this.clearSearch,hideMap:Boolean(c!==ETraceViewType.TraceTimelineViewer||r&&r.timeline.hideMinimap),hideSummary:Boolean(r&&r.timeline.hideSummary),linkToStandalone:getUrl$6(a),nextResult:this.nextResult,onArchiveClicked:this.archiveTrace,onSlimViewClicked:this.toggleSlimView,onTraceViewChange:this.setTraceView,prevResult:this.prevResult,ref:this._searchBar,resultCount:h,showArchiveButton:!b&&e,showShortcutsHelp:!b,showStandaloneLink:b,showViewOptions:!0,toSearch:l&&l.fromSearch||null,trace:A,updateNextViewRangeTime:this.updateNextViewRangeTime,updateViewRangeTime:this.updateViewRangeTime};let m;return ETraceViewType.TraceTimelineViewer===c&&u?m=jsxRuntimeExports.jsx(TraceTimelineViewer,{registerAccessors:this._scrollManager.setAccessors,scrollToFirstVisibleSpan:this._scrollManager.scrollToFirstVisibleSpan,findMatchesIDs:p,trace:A,updateNextViewRangeTime:this.updateNextViewRangeTime,updateViewRangeTime:this.updateViewRangeTime,viewRange:f}):ETraceViewType.TraceGraph===c&&u?m=jsxRuntimeExports.jsx(TraceGraph,{headerHeight:u,ev:this.traceDagEV,uiFind:n,uiFindVertexKeys:d,traceGraphConfig:o}):ETraceViewType.TraceStatistics===c&&u?m=jsxRuntimeExports.jsx(TraceStatistics,{trace:A,uiFindVertexKeys:p,uiFind:n}):ETraceViewType.TraceSpansView===c&&u?m=jsxRuntimeExports.jsx(TraceSpanView,{trace:A,uiFindVertexKeys:p,uiFind:n}):ETraceViewType.TraceFlamegraph===c&&u&&(m=jsxRuntimeExports.jsx(TraceFlamegraph,{trace:i})),jsxRuntimeExports.jsxs("div",{children:[e&&jsxRuntimeExports.jsx(ArchiveNotifier,{acknowledge:this.acknowledgeArchive,archivedState:t}),jsxRuntimeExports.jsx("div",{className:"Tracepage--headerSection",ref:this.setHeaderHeight,children:jsxRuntimeExports.jsx(TracePageHeader,{...g})}),u?jsxRuntimeExports.jsx("section",{style:{paddingTop:u},children:m}):null]})}}function mapStateToProps$1(e,t){const{id:r}=t.match.params,{archive:a,config:n,embedded:i,router:o}=e,{traces:l}=e.trace,s=r?l[r]:null,c=r?a[r]:null,u=Boolean(n.archiveEnabled),{state:f}=o.location,A=f&&f.fromSearch||null,{traceGraph:d}=n;return{...extractUiFindFromState(e),archiveEnabled:u,archiveTraceState:c,embedded:i,id:r,searchUrl:A,trace:s,traceGraphConfig:d}}function mapDispatchToProps$1(e){const{fetchTrace:t}=bindActionCreators(jaegerApiActions,e),{archiveTrace:r,acknowledge:a}=bindActionCreators(actions$2,e),{focusUiFindMatches:n}=bindActionCreators(actions,e);return{acknowledgeArchive:a,archiveTrace:r,fetchTrace:t,focusUiFindMatches:n}}const TracePage=connect$3(mapStateToProps$1,mapDispatchToProps$1)(TracePageImpl),index$4="";function getDataOrAriaProps(e){return Object.keys(e).reduce((function(t,r){return"data-"!==r.substr(0,5)&&"aria-"!==r.substr(0,5)&&"role"!==r||"data-__"===r.substr(0,7)||(t[r]=e[r]),t}),{})}function _typeof$1(e){return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}function _extends$1(){return _extends$1=Object.assign||function(e){for(var t=1;t{const t=new Date(e),r=t.getHours().toString(),a=t.getMinutes().toString();return`${1===r.length?`0${r}`:r}:${1===a.length?`0${a}`:a}`};class ServiceGraphImpl extends reactExports.PureComponent{constructor(){super(...arguments),this.height=242,this.colors=["#DCA3D2","#EA9977","#869ADD"],this.state={crosshairValues:[]}}getData(){const{metricsData:e}=this.props;return null===e?[]:Array.isArray(e)?e:[e]}renderLines(){const{metricsData:e,color:t}=this.props;if(e){const e=[];let r=0;return this.getData().forEach(((a,n)=>{e.push(jsxRuntimeExports.jsx(AreaSeries,{data:a.metricPoints?a.metricPoints:[],getNull:e=>null!==e.y,onNearestX:(e,{index:t})=>{this.setState({crosshairValues:this.getData().map((e=>({...e.metricPoints[t],label:e.quantile})))})},opacity:.1,color:[t||this.colors[n]]},r++)),e.push(jsxRuntimeExports.jsx(LineSeries,{getNull:e=>null!==e.y,data:a.metricPoints?a.metricPoints:[],color:[t||this.colors[n]]},r++))})),e}return[]}generatePlaceholder(e){const{width:t}=this.props;return jsxRuntimeExports.jsx("div",{className:"center-placeholder",style:{width:t,height:this.height-74},children:e})}render(){const{width:e,yDomain:t,showHorizontalLines:r,showLegend:a,loading:n,metricsData:i,marginClassName:o,name:l,error:s,yAxisTickFormat:c,xDomain:u}=this.props;let f=this.generatePlaceholder(jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0}));const A=this.generatePlaceholder("No Data"),d=this.generatePlaceholder("Couldn’t fetch data"),p=jsxRuntimeExports.jsxs(XYPlot,{margin:{bottom:25},onMouseLeave:()=>this.setState({crosshairValues:[]}),width:e,height:this.height-74,xDomain:u,yDomain:t,children:[r?jsxRuntimeExports.jsx(HorizontalGridLines,{}):null,jsxRuntimeExports.jsx(XAxis,{tickFormat:tickFormat,tickTotal:Math.floor(e/60)}),jsxRuntimeExports.jsx(YAxis,{tickFormat:c}),this.renderLines(),jsxRuntimeExports.jsx(Crosshair,{values:this.state.crosshairValues,children:jsxRuntimeExports.jsxs("div",{className:"crosshair-value",children:[this.state.crosshairValues[0]&&`${new Date(this.state.crosshairValues[0].x).toLocaleDateString()} ${new Date(this.state.crosshairValues[0].x).toLocaleTimeString()}`,this.state.crosshairValues.reverse().map((e=>a?jsxRuntimeExports.jsxs("div",{children:["P",100*e.label,": ",e.y]},e.label):jsxRuntimeExports.jsx("div",{children:e.y},e.label)))]})}),a?jsxRuntimeExports.jsx(DiscreteColorLegend,{className:"legend-label",orientation:"horizontal",items:this.getData().map(((e,t)=>({color:this.colors[t],title:100*e.quantile+"th"}))).reverse()}):null]});return!n&&u.length>0&&(f=null===i?A:p),s&&(f=d),jsxRuntimeExports.jsxs("div",{className:`graph-container ${o}`,style:{height:this.height},children:[jsxRuntimeExports.jsx("h3",{className:"graph-header",children:l}),f]})}}const opsGraph="";class OperationsGraph extends reactExports.PureComponent{static generatePlaceholder(e){return jsxRuntimeExports.jsx("div",{className:"ops-graph-placeholder",children:e})}render(){const{dataPoints:e,yDomain:t,color:r,error:a}=this.props;if(a)return OperationsGraph.generatePlaceholder("Couldn’t fetch data");if(0===e.length)return OperationsGraph.generatePlaceholder("No Data");const n={};return t&&(n.yDomain=t),jsxRuntimeExports.jsx("div",{className:"ops-container",children:jsxRuntimeExports.jsxs(XYPlot,{margin:{left:0,right:0,bottom:1,top:2},width:100,height:15,children:[jsxRuntimeExports.jsx(AreaSeries,{className:"area-series-example ops-graph-style",curve:"curveLinear",color:r,data:e,...n}),jsxRuntimeExports.jsx(LineSeries,{className:"area-elevated-line-series",color:r,data:e,...n})]})})}}const index$3="",SPM_CATEGORY_BASE$1="jaeger/ux/trace/spm",CATEGORY_VIEW_TRACES=`${SPM_CATEGORY_BASE$1}/view-traces`,CATEGORY_SORT_OPERATIONS=`${SPM_CATEGORY_BASE$1}/sort-operations`,trackViewTraces=e=>trackEvent(CATEGORY_VIEW_TRACES,e),trackSortOperations=e=>trackEvent(CATEGORY_SORT_OPERATIONS,e),tableTitles=new Map([["name","Name"],["latency","P95 Latency"],["requests","Request rate"],["errRates","Error rate"],["impact","Impact"]]);function formatValue(e){return e<.1?"< 0.1":`${e.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]}`}function formatTimeValue(e){const t=getSuitableTimeUnit(e);return`${formatValue(convertToTimeUnit(e,t))}${convertTimeUnitToShortTerm(t)}`}class OperationTableDetails extends reactExports.PureComponent{constructor(){super(...arguments),this.state={hoveredRowKey:-1,tableSorting:{order:"descend",columnKey:"impact"}}}render(){const{loading:e,error:t}=this.props;if(e)return jsxRuntimeExports.jsx(LoadingIndicator,{centered:!0});if(t.opsCalls&&t.opsErrors&&t.opsLatencies)return jsxRuntimeExports.jsx("div",{className:"ops-table-error-placeholder",children:"Couldn’t fetch data"});const r=[{title:tableTitles.get("name"),className:"header-item",dataIndex:"name",key:"name",sorter:(e,t)=>e.name.localeCompare(t.name)},{title:tableTitles.get("latency"),className:"header-item",dataIndex:"latency",key:"latency",sorter:(e,t)=>e.latency-t.latency,render:(e,r)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:r.dataPoints.service_operation_latencies,color:"#869ADD",error:t.opsLatencies}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:"number"==typeof e&&r.dataPoints.service_operation_latencies.length>0?formatTimeValue(1e3*e):""})]})},{title:tableTitles.get("requests"),className:"header-item",dataIndex:"requests",key:"requests",sorter:(e,t)=>e.requests-t.requests,render:(e,r)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:r.dataPoints.service_operation_call_rate,color:"#4795BA",error:t.opsCalls}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:"number"==typeof e&&r.dataPoints.service_operation_call_rate.length>0?`${formatValue(e)} req/s`:""})]})},{title:tableTitles.get("errRates"),className:"header-item",dataIndex:"errRates",key:"errRates",sorter:(e,t)=>e.errRates-t.errRates,render:(e,r)=>jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(OperationsGraph,{dataPoints:r.dataPoints.service_operation_error_rate,color:"#CD513A",yDomain:[0,1],error:t.opsErrors}),jsxRuntimeExports.jsx("div",{className:"table-graph-avg",children:"number"==typeof e&&r.dataPoints.service_operation_error_rate.length>0?`${formatValue(100*e)}%`:""})]})},{title:jsxRuntimeExports.jsx("div",{style:{paddingTop:1},children:jsxRuntimeExports.jsxs("span",{style:{float:"left",color:"#459798"},children:[tableTitles.get("impact"),"  ",jsxRuntimeExports.jsx(Tooltip$1,{overlayClassName:"impact-tooltip",placement:"top",title:"The result of multiplying avg. duration and requests per minute, showing the most used and slowest endpoints",children:jsxRuntimeExports.jsx(Icon$1,{type:"info-circle"})})]})}),className:"header-item",dataIndex:"impact",key:"impact",defaultSortOrder:"descend",sorter:(e,t)=>e.impact-t.impact,render:(e,t)=>{let r=null;if(this.state.hoveredRowKey===t.key){const{endTime:e,lookback:a,serviceName:n}=this.props;r=jsxRuntimeExports.jsx(Button$2,{href:prefixUrl(`/search?end=${e}000&limit=20&lookback=${a/36e5}h&maxDuration&minDuration&operation=${encodeURIComponent(t.name)}&service=${n}&start=${e-a}000`),target:"blank",onClick:()=>trackViewTraces(t.name),children:"View traces"})}return{children:jsxRuntimeExports.jsxs("div",{className:"column-container",children:[jsxRuntimeExports.jsx(Progress,{className:"impact",percent:100*e,strokeLinecap:"square",strokeColor:"#459798",showInfo:!1}),jsxRuntimeExports.jsx("div",{className:"view-trace-button",children:r})]})}}}];return jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsx(Table$1,{rowClassName:()=>"table-row",columns:r,dataSource:this.props.data,pagination:{defaultPageSize:20,showSizeChanger:!0,pageSizeOptions:["20","50","100"]},onRow:()=>({onMouseEnter:e=>{this.setState({hoveredRowKey:parseInt(e.currentTarget.getAttribute("data-row-key"),10)})},onMouseLeave:()=>{this.setState({hoveredRowKey:-1})}}),onChange:(e,t,{columnKey:r,order:a})=>{if(!isEqual_1({columnKey:r,order:a},this.state.tableSorting)){const e=tableTitles.get(r||this.state.tableSorting.columnKey);trackSortOperations(e),this.setState({tableSorting:{columnKey:r,order:a}})}}})})}}const index$2="",monitorImg=""+new URL("monitor-9000dba4.png",module.meta.url).href,monitorImgUrl=getStaticAssetPath(monitorImg);class MonitorATMEmptyState extends reactExports.PureComponent{constructor(e){super(e),this.config=getConfigValue("monitor.emptyState")}render(){return jsxRuntimeExports.jsxs(Col,{children:[jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsx(Col,{span:8,offset:8,children:jsxRuntimeExports.jsx("img",{className:"monitor-preview-image-empty-state",alt:"jaeger-monitor-tab-preview",src:monitorImgUrl})})}),jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsxs(Col,{span:6,offset:9,className:"center-empty-state",children:[this.config.mainTitle&&jsxRuntimeExports.jsx("h2",{className:"main-title-empty-state",children:this.config.mainTitle}),this.config.subTitle&&jsxRuntimeExports.jsx("h3",{className:"sub-title-empty-state",children:this.config.subTitle}),this.config.description&&jsxRuntimeExports.jsx("h4",{className:"description-empty-state",children:this.config.description}),this.config.button&&this.config.button.text&&jsxRuntimeExports.jsx(Button$2,{className:"button-empty-state",onClick:()=>this.config.button&&this.config.button.onClick&&this.config.button.onClick(),children:this.config.button.text}),this.config.alert&&jsxRuntimeExports.jsx(Row,{justify:"center",children:jsxRuntimeExports.jsx(Col,{span:20,offset:2,children:jsxRuntimeExports.jsx(Alert,{message:this.config.alert.message,type:this.config.alert.type,showIcon:!0})})})]})})]})}}const index$1="",SPM_CATEGORY_BASE="jaeger/ux/trace/spm",CATEGORY_VIEW_ALL_TRACES=`${SPM_CATEGORY_BASE}/view-all-traces`,CATEGORY_SELECT_SERVICE=`${SPM_CATEGORY_BASE}/select-service`,CATEGORY_SELECT_TIMEFRAME=`${SPM_CATEGORY_BASE}/select-timeframe`,CATEGORY_SEARCH_OPERATION=`${SPM_CATEGORY_BASE}/search-operation`,trackViewAllTraces=()=>trackEvent(CATEGORY_VIEW_ALL_TRACES,"click"),trackSelectService=e=>trackEvent(CATEGORY_SELECT_SERVICE,e),trackSelectTimeframe=e=>trackEvent(CATEGORY_SELECT_TIMEFRAME,e),trackSearchOperation=e=>trackEvent(CATEGORY_SEARCH_OPERATION,e),trackSearchOperationDebounced=debounce_1((e=>trackSearchOperation(e)),1e3),Search=Input$1.Search,AdaptedVirtualSelect=reduxFormFieldAdapter({AntInputComponent:VirtSelect,onChangeAdapter:e=>e?e.value:null}),serviceFormSelector=formValueSelector("serviceForm"),oneHourInMilliSeconds=36e5,oneMinuteInMilliSeconds=6e4,timeFrameOptions=[{label:"Last 5 minutes",value:5*oneMinuteInMilliSeconds},{label:"Last 15 minutes",value:15*oneMinuteInMilliSeconds},{label:"Last 30 minutes",value:30*oneMinuteInMilliSeconds},{label:"Last Hour",value:oneHourInMilliSeconds},{label:"Last 2 hours",value:2*oneHourInMilliSeconds},{label:"Last 6 hours",value:6*oneHourInMilliSeconds},{label:"Last 12 hours",value:12*oneHourInMilliSeconds},{label:"Last 24 hours",value:24*oneHourInMilliSeconds},{label:"Last 2 days",value:48*oneHourInMilliSeconds}],getLoopbackInterval=e=>{if(void 0===e)return"";const t=timeFrameOptions.find((t=>t.value===e));return void 0===t?"":t.label.toLowerCase()},calcDisplayTimeUnit=e=>{let t=0;if(e&&Array.isArray(e)){const r=e.map((e=>e.max));t=Math.max(...r)}else e&&(t=e.max);return getSuitableTimeUnit(1e3*t)},yAxisTickFormat=(e,t)=>convertToTimeUnit(1e3*e,t),convertServiceErrorRateToPercentages=e=>{if(!e)return null;const t=e.metricPoints.map((e=>({...e,y:100*e.y})));return{...e,metricPoints:t}};class MonitorATMServicesViewImpl extends reactExports.PureComponent{constructor(e){super(e),this.serviceSelectorValue="",this.endTime=Date.now(),this.state={graphWidth:300,serviceOpsMetrics:void 0,searchOps:"",graphXDomain:[]},this.graphDivWrapper=reactExports.createRef(),this.docsLink=getConfigValue("monitor.docsLink")}componentDidMount(){const{fetchServices:e,services:t}=this.props;e(),0!==t.length&&this.fetchMetrics(),window.addEventListener("resize",this.updateDimensions.bind(this)),this.updateDimensions.apply(this),this.calcGraphXDomain()}componentDidUpdate(e){const{selectedService:t,selectedTimeFrame:r,services:a}=this.props;e.selectedService!==t||e.selectedTimeFrame!==r?this.fetchMetrics():isEqual_1(e.services,a)||this.fetchMetrics(),e.selectedTimeFrame!==this.props.selectedTimeFrame&&this.calcGraphXDomain()}componentWillUnmount(){window.removeEventListener("resize",this.updateDimensions.bind(this))}calcGraphXDomain(){const e=Date.now();this.setState({graphXDomain:[e-this.props.selectedTimeFrame,e]})}updateDimensions(){this.graphDivWrapper.current&&this.setState({graphWidth:this.graphDivWrapper.current.offsetWidth-24})}fetchMetrics(){const{selectedService:e,selectedTimeFrame:t,fetchAllServiceMetrics:r,fetchAggregatedServiceMetrics:a,services:n}=this.props,i=e||n[0];if(i){this.endTime=Date.now(),store_legacy.set("lastAtmSearchTimeframe",t),store_legacy.set("lastAtmSearchService",this.getSelectedService());const e={quantile:.95,endTs:this.endTime,lookback:t,step:6e4,ratePer:6e5};r(i,e),a(i,e),this.setState({serviceOpsMetrics:void 0,searchOps:""})}}getSelectedService(){const{selectedService:e,services:t}=this.props;return e||store_legacy.get("lastAtmSearchService")||t[0]}render(){const{services:e,metrics:t,selectedTimeFrame:r,servicesLoading:a}=this.props,n=t.serviceMetrics?t.serviceMetrics.service_latencies:null,i=calcDisplayTimeUnit(n),o=t.serviceMetrics?t.serviceMetrics.service_error_rate:null;return a?jsxRuntimeExports.jsx(LoadingIndicator,{vcentered:!0,centered:!0}):!1===t.isATMActivated?jsxRuntimeExports.jsx(MonitorATMEmptyState,{}):jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[isEmpty_1(t&&t.serviceMetrics&&t.serviceMetrics.service_latencies)&&jsxRuntimeExports.jsx(Alert,{message:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:["No data yet! Please see these",jsxRuntimeExports.jsx(Link$1,{to:{pathname:this.docsLink},target:"_blank",children:" instructions "}),"on how to set up your span metrics."]}),type:"warning",showIcon:!0}),jsxRuntimeExports.jsxs("div",{className:"service-view-container",children:[jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsxs(Col,{span:6,children:[jsxRuntimeExports.jsx("h2",{className:"service-selector-header",children:"Choose service"}),jsxRuntimeExports.jsx(Field,{onChange:(e,t)=>trackSelectService(t),name:"service",component:AdaptedVirtualSelect,placeholder:"Select A Service",props:{className:"select-a-service-input",value:this.getSelectedService(),disabled:t.operationMetricsLoading,clearable:!1,options:e.map((e=>({label:e,value:e}))),required:!0}})]})}),jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsx(Col,{span:16,children:jsxRuntimeExports.jsxs("p",{className:"operations-metrics-text",children:['Aggregation of all "',this.getSelectedService(),'" metrics in selected timeframe.'," ",jsxRuntimeExports.jsx("a",{href:prefixUrl(`/search?end=${Date.now()}000&limit=20&lookback=${r/36e5}h&maxDuration&minDuration&service=${this.getSelectedService()}&start=${Date.now()-r}000`),target:"blank",onClick:trackViewAllTraces,children:"View all traces"})]})}),jsxRuntimeExports.jsx(Col,{span:8,className:"timeframe-selector",children:jsxRuntimeExports.jsx(Field,{name:"timeframe",component:AdaptedVirtualSelect,placeholder:"Select A Timeframe",onChange:(e,t)=>{const{label:r}=timeFrameOptions.find((e=>e.value===t));trackSelectTimeframe(r)},props:{className:"select-a-timeframe-input",defaultValue:timeFrameOptions[3],value:r,disabled:t.operationMetricsLoading,clearable:!1,options:timeFrameOptions,required:!0}})})]}),jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:8,children:[jsxRuntimeExports.jsx("div",{ref:this.graphDivWrapper}),jsxRuntimeExports.jsx(ServiceGraphImpl,{error:t.serviceError.service_latencies_50&&t.serviceError.service_latencies_75&&t.serviceError.service_latencies_95,loading:t.loading,name:`Latency (${convertTimeUnitToShortTerm(i)})`,width:this.state.graphWidth,metricsData:n,showLegend:!0,marginClassName:"latency-margins",showHorizontalLines:!0,yAxisTickFormat:e=>yAxisTickFormat(e,i),xDomain:this.state.graphXDomain},"latency")]}),jsxRuntimeExports.jsx(Col,{span:8,children:jsxRuntimeExports.jsx(ServiceGraphImpl,{error:t.serviceError.service_error_rate,loading:t.loading,name:"Error rate (%)",width:this.state.graphWidth,metricsData:convertServiceErrorRateToPercentages(o),marginClassName:"error-rate-margins",color:"#CD513A",yDomain:[0,100],xDomain:this.state.graphXDomain},"errRate")}),jsxRuntimeExports.jsx(Col,{span:8,children:jsxRuntimeExports.jsx(ServiceGraphImpl,{loading:t.loading,error:t.serviceError.service_call_rate,name:"Request rate (req/s)",width:this.state.graphWidth,metricsData:t.serviceMetrics?t.serviceMetrics.service_call_rate:null,showHorizontalLines:!0,color:"#4795BA",marginClassName:"request-margins",xDomain:this.state.graphXDomain},"requests")})]}),jsxRuntimeExports.jsxs(Row,{className:"operation-table-block",children:[jsxRuntimeExports.jsxs(Row,{children:[jsxRuntimeExports.jsxs(Col,{span:16,children:[jsxRuntimeExports.jsxs("h2",{className:"table-header",children:["Operations metrics under ",this.getSelectedService()]})," ",jsxRuntimeExports.jsxs("span",{className:"over-the-last",children:["Over the ",getLoopbackInterval(r)]})]}),jsxRuntimeExports.jsx(Col,{span:8,className:"select-operation-column",children:jsxRuntimeExports.jsx(Search,{placeholder:"Search operation",className:"select-operation-input",value:this.state.searchOps,disabled:!0===t.operationMetricsLoading||void 0===t.serviceOpsMetrics,onChange:e=>{const r=t.serviceOpsMetrics.filter((({name:t})=>t.toLowerCase().includes(e.target.value.toLowerCase())));this.setState({searchOps:e.target.value,serviceOpsMetrics:r}),trackSearchOperationDebounced(e.target.value)}})})]}),jsxRuntimeExports.jsx(Row,{children:jsxRuntimeExports.jsx(OperationTableDetails,{loading:t.operationMetricsLoading,error:t.opsError,data:void 0===this.state.serviceOpsMetrics?t.serviceOpsMetrics:this.state.serviceOpsMetrics,endTime:this.endTime,lookback:r,serviceName:this.getSelectedService()})})]})]})]})}}function mapStateToProps(e){const{services:t,metrics:r}=e;return{services:t.services||[],servicesLoading:t.loading,metrics:r,selectedService:serviceFormSelector(e,"service")||store_legacy.get("lastAtmSearchService"),selectedTimeFrame:serviceFormSelector(e,"timeframe")||store_legacy.get("lastAtmSearchTimeframe")||oneHourInMilliSeconds}}function mapDispatchToProps(e){const{fetchServices:t,fetchAllServiceMetrics:r,fetchAggregatedServiceMetrics:a}=bindActionCreators(jaegerApiActions,e);return{fetchServices:t,fetchAllServiceMetrics:r,fetchAggregatedServiceMetrics:a}}const MonitorATMServicesView=connect$3(mapStateToProps,mapDispatchToProps)(reduxForm({form:"serviceForm"})(MonitorATMServicesViewImpl)),MonitorATMPage=()=>jsxRuntimeExports.jsx(MonitorATMServicesView,{});function reduceConfig(e){return void 0===e?getConfig():e}const initialState$3={dependencies:[],loading:!1,error:null};function fetchStarted$2(e){return{...e,loading:!0}}function fetchDepsDone(e,{payload:t}){return{...e,dependencies:t.data,loading:!1}}function fetchDepsErred(e,{payload:t}){return{...e,error:t,dependencies:[],loading:!1}}const dependencies=handleActions({[`${fetchDependencies}_PENDING`]:fetchStarted$2,[`${fetchDependencies}_FULFILLED`]:fetchDepsDone,[`${fetchDependencies}_REJECTED`]:fetchDepsErred},initialState$3);function addViewModifier(e,t){const{visibilityIndices:r,viewModifier:a}=t,n=getStateEntryKey(t),i=e[n];if(!i||i.state!==fetchedState.DONE)return console.warn("Cannot set view modifiers for unloaded Deep Dependency Graph"),e;const o=new Map(i.viewModifiers);return r.forEach((e=>{o.set(e,(o.get(e)||0)|a)})),{...e,[n]:{...i,viewModifiers:o}}}function viewModifierRemoval(e,t){const{visibilityIndices:r,viewModifier:a}=t,n=getStateEntryKey(t),i=e[n];if(!i||i.state!==fetchedState.DONE)return console.warn("Cannot change view modifiers for unloaded Deep Dependency Graph"),e;const o=new Map(i.viewModifiers);return(r||Array.from(o.keys())).forEach((e=>{const t=a?(o.get(e)||0)&~a:EViewModifier.None;t===EViewModifier.None?o.delete(e):o.set(e,t)})),{...e,[n]:{...i,viewModifiers:o}}}function fetchDeepDependencyGraphStarted(e,{meta:t}){const{query:r}=t;return{...e,[getStateEntryKey(r)]:{state:fetchedState.LOADING}}}function fetchDeepDependencyGraphDone(e,{meta:t,payload:r}){const{query:a}=t,{service:n,operation:i}=a;return{...e,[getStateEntryKey(a)]:{model:transformDdgData$1(r,{service:n,operation:i}),state:fetchedState.DONE,viewModifiers:new Map}}}function fetchDeepDependencyGraphErred(e,{meta:t,payload:r}){const{query:a}=t;return{...e,[getStateEntryKey(a)]:{error:r,state:fetchedState.ERROR}}}const ddg=handleActions({[`${fetchDeepDependencyGraph}_PENDING`]:fetchDeepDependencyGraphStarted,[`${fetchDeepDependencyGraph}_FULFILLED`]:guardReducerWithMeta(fetchDeepDependencyGraphDone),[`${fetchDeepDependencyGraph}_REJECTED`]:guardReducerWithMeta(fetchDeepDependencyGraphErred),[actionTypes$3.ADD_VIEW_MODIFIER]:guardReducer(addViewModifier),[actionTypes$3.CLEAR_VIEW_MODIFIERS_FROM_INDICES]:guardReducer(viewModifierRemoval),[actionTypes$3.REMOVE_VIEW_MODIFIER]:guardReducer(viewModifierRemoval),[actionTypes$3.REMOVE_VIEW_MODIFIER_FROM_INDICES]:guardReducer(viewModifierRemoval)},{});function getDecorationDone(e,t){return t?Object.keys(t).reduce(((e,r)=>{const{withOp:a,withoutOp:n}=t[r],i=[];n&&Object.keys(n).forEach((e=>{const t=n[e];"number"==typeof t&&i.push(t)}));const o=[];if(a&&Object.keys(a).forEach((e=>{Object.keys(a[e]).forEach((t=>{const r=a[e][t];"number"==typeof r&&o.push(r)}))})),e[r]){const{withOpMax:t,withoutOpMax:l}=e[r];"number"==typeof t&&o.push(t),"number"==typeof l&&i.push(l);const s=Math.max(...o),c=Math.max(...i);return{...e,[r]:{withOp:a?Object.keys(a).reduce(((e,t)=>({...e,[t]:Object.assign({},e[t],a[t])})),e[r].withOp||{}):e[r].withOp,withOpMax:s,withoutOp:n?Object.assign({},e[r].withoutOp,n):e[r].withoutOp,withoutOpMax:c}}}const l=Math.max(...o),s=Math.max(...i);return{...e,[r]:{withOp:a,withOpMax:l,withoutOp:n,withoutOpMax:s}}}),e):e}const pathAgnosticDecorations=handleActions({[`${actionTypes$4.GET_DECORATION}_FULFILLED`]:guardReducer(getDecorationDone)},{});function embeddedConfig(e){if(void 0===e){let e=get_1$1(window,"location.search");const t=new URLSearchParams(e);return"boolean"==typeof window.embeddedMode&&window.embeddedMode&&!t.get("uiEmbed")&&(t.set("uiEmbed",VERSION_0),e=t.toString()),e?getEmbeddedState(e):null}return e}function localeStringComparator(e,t){return e.localeCompare(t)}const initialState$2={error:null,loading:!1,operationsForService:{},serverOpsForService:{},services:null};function fetchStarted$1(e){return{...e,loading:!0}}function fetchServicesDone(e,{payload:t}){const r=t.data||[];return r.sort(localeStringComparator),{...e,services:r,error:null,loading:!1}}function fetchServicesErred(e,{payload:t}){return{...e,error:t,loading:!1,services:[]}}function fetchServerOpsStarted(e,{meta:{serviceName:t}}){const r={...e.operationsForService,[t]:[]};return{...e,serverOpsForService:r}}function fetchServerOpsDone(e,{meta:{serviceName:t},payload:{data:r}}){if(!Array.isArray(r))return e;const a={...e.operationsForService,[t]:r.map((({name:e})=>e)).sort(localeStringComparator)};return{...e,serverOpsForService:a}}function fetchOpsStarted(e,{meta:{serviceName:t}}){const r={...e.operationsForService,[t]:[]};return{...e,operationsForService:r}}function fetchOpsDone(e,{meta:t,payload:r}){const{data:a}=r;Array.isArray(a)&&a.sort(localeStringComparator);const n={...e.operationsForService,[t.serviceName]:a||[]};return{...e,operationsForService:n}}const services=handleActions({[`${fetchServices}_PENDING`]:fetchStarted$1,[`${fetchServices}_FULFILLED`]:fetchServicesDone,[`${fetchServices}_REJECTED`]:fetchServicesErred,[`${fetchServiceServerOps}_PENDING`]:fetchServerOpsStarted,[`${fetchServiceServerOps}_FULFILLED`]:fetchServerOpsDone,[`${fetchServiceOperations}_PENDING`]:fetchOpsStarted,[`${fetchServiceOperations}_FULFILLED`]:fetchOpsDone},initialState$2),initialState$1={serviceError:{service_latencies_50:null,service_latencies_75:null,service_latencies_95:null,service_call_rate:null,service_error_rate:null},opsError:{opsLatencies:null,opsCalls:null,opsErrors:null},isATMActivated:null,loading:!1,operationMetricsLoading:null,serviceMetrics:null,serviceOpsMetrics:void 0};function fetchStarted(e){return{...e,serviceError:initialState$1.serviceError,loading:!0}}function fetchServiceMetricsDone(t,{payload:r}){const a={service_latencies:null,service_call_rate:null,service_error_rate:null},n={service_latencies_50:null,service_latencies_75:null,service_latencies_95:null,service_call_rate:null,service_error_rate:null};let i=!0;return r&&r.forEach(((t,r)=>{if("fulfilled"===t.status){const r=t.value;if(r.metrics[0]){let t=0;const n={serviceName:r.metrics[0].labels[0].value,quantile:r.quantile,max:0,metricPoints:r.metrics[0].metricPoints.map((r=>{let a;try{a=parseFloat(r.gaugeValue.doubleValue.toFixed(2)),t=a>t?a:t}catch(e){a=null}return{x:new Date(r.timestamp).getTime(),y:a}}))};n.max=t,"service_latencies"===r.name?(null===a[r.name]&&(a[r.name]=[]),a[r.name].push(n)):a[r.name]=n}}else switch("object"==typeof t.reason&&501===t.reason.httpStatus&&(i=!1),r){case 0:n.service_latencies_50=t.reason;break;case 1:n.service_latencies_75=t.reason;break;case 2:n.service_latencies_95=t.reason;break;case 3:n.service_call_rate=t.reason;break;case 4:n.service_error_rate=t.reason}})),{...t,serviceMetrics:a,serviceError:n,loading:!1,isATMActivated:i}}function fetchOpsMetricsStarted(e){return{...e,opsError:initialState$1.opsError,operationMetricsLoading:!0}}function fetchOpsMetricsDone(t,{payload:r}){const a={opsLatencies:null,opsCalls:null,opsErrors:null};let n,i=null;if(r){r.forEach(((t,r)=>{if("fulfilled"===t.status){const r=t.value;r.metrics.forEach((t=>{null===i&&(i={});let a=null;const n={service_operation_latencies:0,service_operation_call_rate:0,service_operation_error_rate:0};t.labels.forEach((e=>{"operation"===e.name&&(a=e.value)})),a&&(void 0===i[a]&&(i[a]={name:a,metricPoints:{service_operation_latencies:[],service_operation_call_rate:[],service_operation_error_rate:[],avg:{service_operation_latencies:null,service_operation_call_rate:null,service_operation_error_rate:null}}}),i[a].metricPoints[r.name]=t.metricPoints.map((t=>{let a;try{a=parseFloat(t.gaugeValue.doubleValue.toFixed(2)),n[r.name]+=a}catch(e){a=null}return{x:new Date(t.timestamp).getTime(),y:a}})),i[a].metricPoints.avg[r.name]=t.metricPoints.length>0?parseFloat((n[r.name]/t.metricPoints.length).toFixed(2)):null)}))}else switch(r){case 0:a.opsLatencies=t.reason;break;case 1:a.opsCalls=t.reason;break;case 2:a.opsErrors=t.reason}}));const t={min:0,max:0};i&&(n=Object.keys(i).map(((e,r)=>{let a=0;return null!==i[e].metricPoints.avg.service_operation_latencies&&null!==i[e].metricPoints.avg.service_operation_call_rate&&(a=i[e].metricPoints.avg.service_operation_latencies*i[e].metricPoints.avg.service_operation_call_rate/100),0===r?(t.max=a,t.min=a):(t.max=t.maxa?a:t.min),{key:r,name:i[e].name,latency:i[e].metricPoints.avg.service_operation_latencies||0,requests:i[e].metricPoints.avg.service_operation_call_rate||0,errRates:i[e].metricPoints.avg.service_operation_error_rate||0,impact:a,dataPoints:i[e].metricPoints}})),n&&1===n.length?n.forEach(((e,t)=>{n[t].impact=1})):n&&n.length>1&&n.forEach(((e,r)=>{t.max-t.min==0?n[r].impact=0:n[r].impact=(e.impact-t.min)/(t.max-t.min)})))}return{...t,serviceOpsMetrics:n,opsError:a,operationMetricsLoading:!1}}const metrics=handleActions({[`${fetchAllServiceMetrics}_PENDING`]:fetchStarted,[`${fetchAllServiceMetrics}_FULFILLED`]:fetchServiceMetricsDone,[`${fetchAggregatedServiceMetrics}_PENDING`]:fetchOpsMetricsStarted,[`${fetchAggregatedServiceMetrics}_FULFILLED`]:fetchOpsMetricsDone},initialState$1);function deduplicateTags(e){const t=new Map,r=e.reduce(((e,r)=>(e.some((e=>e.key===r.key&&e.value===r.value))?t.set(`${r.key}:${r.value}`,`Duplicate tag "${r.key}:${r.value}"`):e.push(r),e)),[]);return{tags:r,warnings:Array.from(t.values())}}function orderTags(e,t){const r=e.slice(),a=(t||[]).map((e=>e.toLowerCase()));return r.sort(((e,t)=>{const r=e.key.toLowerCase(),n=t.key.toLowerCase();for(let i=0;in?1:rBoolean(e.startTime)));const o=e.spans.length;for(let f=0;fr&&(r=o+l);const u=n.get(c);null!=u?(console.warn(`Dupe spanID, ${u+1} x ${c}`,t,i.get(c)),isEqual_1(t,i.get(c))&&console.warn("\t two spans with same ID have `isEqual(...) === true`"),n.set(c,u+1),c=`${c}_${u}`,t.spanID=c):n.set(c,1),t.process=e.processes[s],i.set(c,t)}const l=getTraceSpanIdsAsTree(e),s=[],c={};l.walk(((e,r,n=0)=>{if("__root__"===e)return;const o=i.get(e);if(!o)return;const{serviceName:l}=o.process;c[l]=(c[l]||0)+1,o.relativeStartTime=o.startTime-a,o.depth=n-1,o.hasChildren=r.children.length>0,o.warnings=o.warnings||[],o.tags=o.tags||[],o.references=o.references||[];const u=deduplicateTags(o.tags);o.tags=orderTags(u.tags,getConfigValue("topTagPrefixes")),o.warnings=o.warnings.concat(u.warnings),o.references.forEach(((r,a)=>{const n=i.get(r.spanID);n&&(r.span=n,a>0&&(n.subsidiarilyReferencedBy=n.subsidiarilyReferencedBy||[],n.subsidiarilyReferencedBy.push({spanID:e,traceID:t,span:o,refType:r.refType})))})),s.push(o)}));const u=getTraceName(s);return{services:Object.keys(c).map((e=>({name:e,numberOfSpans:c[e]}))),spans:s,traceID:t,traceName:u,processes:e.processes,duration:r-a,startTime:a,endTime:r}}const initialState={traces:{},search:{query:null,results:[]}};function fetchTraceStarted(e,{meta:t}){const{id:r}=t,a={...e.traces,[r]:{id:r,state:fetchedState.LOADING}};return{...e,traces:a}}function fetchTraceDone(e,{meta:t,payload:r}){const{id:a}=t,n=transformTraceData(r.data[0]);let i;i=n?{data:n,id:a,state:fetchedState.DONE}:{id:a,state:fetchedState.ERROR,error:new Error("Invalid trace data recieved.")};const o={...e.traces,[a]:i};return{...e,traces:o}}function fetchTraceErred(e,{meta:t,payload:r}){const{id:a}=t,n={id:a,error:r,state:fetchedState.ERROR},i={...e.traces,[a]:n};return{...e,traces:i}}function fetchMultipleTracesStarted(e,{meta:t}){const{ids:r}=t,a={...e.traces};return r.forEach((e=>{a[e]={id:e,state:fetchedState.LOADING}})),{...e,traces:a}}function fetchMultipleTracesDone(e,{payload:t}){const r={...e.traces};return t.data.forEach((e=>{const t=transformTraceData(e);r[t.traceID]={data:t,id:t.traceID,state:fetchedState.DONE}})),t.errors&&t.errors.forEach((e=>{const{msg:t,traceID:a}=e,n=new Error(`Error: ${t} - ${a}`);r[a]={error:n,id:a,state:fetchedState.ERROR}})),{...e,traces:r}}function fetchMultipleTracesErred(e,{meta:t,payload:r}){const{ids:a}=t,n={...e.traces},i=r;return a.forEach((e=>{n[e]={error:i,id:e,state:fetchedState.ERROR}})),{...e,traces:n}}function fetchSearchStarted(e,{meta:t}){const{query:r}=t;return{...e,search:{query:r,results:[],state:fetchedState.LOADING}}}function searchDone(e,{meta:t,payload:r}){if(!isEqual_1(e.search.query,t.query))return e;const a=r.data,n=a.map(transformTraceData),i={},o=[];for(let c=0;c0&&void 0!==arguments[0]?arguments[0]:{},t=e.promiseTypeSuffixes||defaultTypes,r=e.promiseTypeDelimiter||"_";return function(e){var a=e.dispatch;return function(e){return function(n){var i=void 0,o=void 0;if(!n.payload)return e(n);var l=n.payload;if(isPromise(l))i=l;else if(isPromise(l.promise))i=l.promise,o=l.data;else{if("function"!=typeof l&&"function"!=typeof l.promise)return e(n);if(i=l.promise?l.promise():l(),o=l.promise?l.data:void 0,!isPromise(i))return e(_extends({},n,{payload:i}))}var s=n.type,c=n.meta,u=_slicedToArray(t,3),f=u[0],A=u[1],d=u[2],p=function(e,t){return _extends({type:[s,t?d:A].join(r)},null==e?{}:{payload:e},void 0!==c?{meta:c}:{},t?{error:!0}:{})};return e(_extends({type:[s,f].join(r)},void 0!==o?{payload:o}:{},void 0!==c?{meta:c}:{})),i.then((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=p(e,!1);return a(t),{value:e,action:t}}),(function(e){var t=p(e,!0);throw a(t),e}))}}}}const ACTION_RESIZE="resize",ACTION_COLLAPSE_ALL="collapse-all",ACTION_COLLAPSE_ONE="collapse-one",ACTION_EXPAND_ALL="expand-all",ACTION_EXPAND_ONE="expand-one",CATEGORY_BASE="jaeger/ux/trace/timeline",CATEGORY_COLUMN=`${CATEGORY_BASE}/column`,CATEGORY_EXPAND_COLLAPSE=`${CATEGORY_BASE}/expand-collapse`,CATEGORY_LOGS=`${CATEGORY_BASE}/logs`,CATEGORY_LOGS_ITEM=`${CATEGORY_BASE}/logs/item`,CATEGORY_PARENT=`${CATEGORY_BASE}/parent`,CATEGORY_PROCESS=`${CATEGORY_BASE}/process`,CATEGORY_ROW=`${CATEGORY_BASE}/row`,CATEGORY_TAGS=`${CATEGORY_BASE}/tags`;function getDetail(e,{payload:t}){return t?e.getState().traceTimeline.detailStates.get(t.spanID):void 0}function trackDetailState(e,t,r){const a=getDetail(e,t);a&&r(a)}function trackParent(e,{payload:t}){if(!t)return;const r=e.getState(),a=r.traceTimeline.traceID;if(!a)return;const{spanID:n}=t,i=r.traceTimeline.childrenHiddenIDs.has(n),o=r.trace.traces[a]||r.trace.traces[a.replace(/^0*/,"")];if(!o||!o.data)return;const l=o.data.spans.find((e=>e.spanID===n));l&&trackEvent(CATEGORY_PARENT,getToggleValue(!i),l.depth)}function trackLogsItem(e,t){const r=getDetail(e,t),{payload:a}=t;if(!r||!a||!("logItem"in a))return;const{logItem:n}=a,i=Boolean(r.logs.openedItems.has(n));trackEvent(CATEGORY_LOGS_ITEM,getToggleValue(i))}const trackColumnWidth=(e,{payload:t})=>t&&trackEvent(CATEGORY_COLUMN,ACTION_RESIZE,Math.round(1e3*t.width)),trackDetailRow=e=>trackEvent(CATEGORY_ROW,getToggleValue(e)),trackLogs=e=>trackEvent(CATEGORY_LOGS,getToggleValue(e.logs.isOpen)),trackProcess=e=>trackEvent(CATEGORY_PROCESS,getToggleValue(e.isProcessOpen)),trackTags=e=>trackEvent(CATEGORY_TAGS,getToggleValue(e.isTagsOpen)),hooks={[actionTypes.CHILDREN_TOGGLE]:trackParent,[actionTypes.DETAIL_TOGGLE]:(e,t)=>trackDetailRow(Boolean(getDetail(e,t))),[actionTypes.DETAIL_TAGS_TOGGLE]:(e,t)=>trackDetailState(e,t,trackTags),[actionTypes.DETAIL_PROCESS_TOGGLE]:(e,t)=>trackDetailState(e,t,trackProcess),[actionTypes.DETAIL_LOGS_TOGGLE]:(e,t)=>trackDetailState(e,t,trackLogs)},middlewareHooks$1={...hooks,[actionTypes.COLLAPSE_ALL]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_COLLAPSE_ALL),[actionTypes.COLLAPSE_ONE]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_COLLAPSE_ONE),[actionTypes.DETAIL_LOG_ITEM_TOGGLE]:trackLogsItem,[actionTypes.EXPAND_ALL]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_EXPAND_ALL),[actionTypes.EXPAND_ONE]:()=>trackEvent(CATEGORY_EXPAND_COLLAPSE,ACTION_EXPAND_ONE),[actionTypes.SET_SPAN_NAME_COLUMN_WIDTH]:trackColumnWidth},middlewareHooks={...middlewareHooks$1,...middlewareHooks$2};function trackingMiddleware(e){return function(t){return function(r){const{type:a}=r;return"function"==typeof middlewareHooks[a]&&middlewareHooks[a](e,r),t(r)}}}const track=isWaEnabled?trackingMiddleware:void 0,loadOperationsForServiceMiddleware=e=>t=>r=>("@@redux-form/CHANGE"===r.type&&"searchSideBar"===r.meta.form&&"service"===r.meta.field&&"-"!==r.payload&&(e.dispatch(fetchServiceOperations(r.payload)),e.dispatch(change("searchSideBar","operation","all"))),t(r)),historyUpdateMiddleware=e=>t=>r=>{if(r.type===String(searchTraces)){const t=getUrl$2(r.meta.query);e.dispatch(replace(t))}return t(r)},promise=promiseMiddleware(),jaegerMiddlewares=Object.freeze(Object.defineProperty({__proto__:null,historyUpdateMiddleware:historyUpdateMiddleware,loadOperationsForServiceMiddleware:loadOperationsForServiceMiddleware,promise:promise,trackMiddleware:track},Symbol.toStringTag,{value:"Module"}));function configureStore(e){return createStore$2(combineReducers({...jaegerReducers,archive:archive,traceDiff:traceDiff,traceTimeline:traceTimeline,router:routerReducer}),compose$1(applyMiddleware(...Object.keys(jaegerMiddlewares).map((e=>jaegerMiddlewares[e])).filter(Boolean),routerMiddleware(e)),(e=>e)))}function processScripts(){const e=getConfigValue("scripts");e&&e.forEach((e=>{if("inline"===e.type){const t=document.createTextNode(e.text),r=document.createElement("script");r.append(t),document.body.appendChild(r)}}))}const MIN_ZOOM_LEVEL=.7,MAX_ZOOM_LEVEL=1.5,ZOOM_FACTOR=.1;class ZoomManager{constructor(){this.updateStyles=()=>{document.body.style.zoom=this.zoomLevel},this.zoomIn=()=>{this.zoomLevel=Math.min(this.zoomLevel+ZOOM_FACTOR,MAX_ZOOM_LEVEL),this.updateStyles()},this.zoomOut=()=>{this.zoomLevel=Math.max(this.zoomLevel-ZOOM_FACTOR,MIN_ZOOM_LEVEL),this.updateStyles()},this.zoomLevel="number"==typeof document.body.style.zoom?document.body.style.zoom:1}}const vars="",utils="",index="",history=_default$bF();class JaegerUIApp extends reactExports.Component{constructor(e){super(e),this.store=configureStore(history),JaegerAPI.apiRoot=DEFAULT_API_ROOT,processScripts(),this.zoomManager=new ZoomManager,this._handleZoomKeyboardShortcuts=this._handleZoomKeyboardShortcuts.bind(this)}componentDidMount(){document.addEventListener("keydown",this._handleZoomKeyboardShortcuts)}componentWillUnmount(){document.removeEventListener("keydown",this._handleZoomKeyboardShortcuts)}_handleZoomKeyboardShortcuts(e){if(window.enableZoomControls&&(e.metaKey||e.ctrlKey))switch(e.key){case"-":this.zoomManager.zoomOut();break;case"=":this.zoomManager.zoomIn()}}render(){if(isString$6(window.initialRoutePath)&&window.initialRoutePath){const e=window.initialRoutePath;window.initialRoutePath="",history.push(e)}return jsxRuntimeExports.jsx(Provider$3,{store:this.store,children:jsxRuntimeExports.jsx(ConnectedRouter,{history:history,children:jsxRuntimeExports.jsx(ZoomContext.Provider,{value:this.zoomManager,children:jsxRuntimeExports.jsx(Page,{children:jsxRuntimeExports.jsxs(Switch$1,{children:[jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$2,component:SearchTracePage}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$1,component:TraceDiff}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$6,component:TracePage}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$5,component:DependencyGraph}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$4,component:DeepDependencies}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH$3,component:QualityMetrics}),jsxRuntimeExports.jsx(Route$1,{path:ROUTE_PATH,component:MonitorATMPage}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:"/",to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:prefixUrl(),to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Redirect$1,{exact:!0,path:prefixUrl("/"),to:ROUTE_PATH$2}),jsxRuntimeExports.jsx(Route$1,{component:NotFound})]})})})})})}}var LOG_LEVEL=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.NONE=4]="NONE",e))(LOG_LEVEL||{});class Logger{constructor(e,t=!0,r=!0){this.minLogLevel=e,this.showTimeStamp=t,this.showLogLevel=r}getTimestampTag(){return hooks$1(new Date).format("HH:mm:ss")}getLogLevelTag(){return LOG_LEVEL[this.minLogLevel]}getFormattedMessage(e,t){this.showLogLevel&&e.unshift(this.getLogLevelTag()),this.showTimeStamp&&e.unshift(this.getTimestampTag());const r=e.map((e=>`[${e}]`)).join("");return`${r}: ${t}`}setLogLevel(e){this.minLogLevel=e}log(e,t,r,...a){const n=this.getFormattedMessage(t,r);if(!(this.minLogLevel>e))switch(e){case LOG_LEVEL.DEBUG:console.debug(n,...a);break;case LOG_LEVEL.INFO:console.info(n,...a);break;case LOG_LEVEL.WARN:console.warn(n,...a);break;case LOG_LEVEL.ERROR:console.error(n,...a)}}debug(e,...t){this.log(LOG_LEVEL.DEBUG,[],e,...t)}info(e,...t){this.log(LOG_LEVEL.INFO,[],e,...t)}warn(e,...t){this.log(LOG_LEVEL.WARN,[],e,...t)}error(e,...t){this.log(LOG_LEVEL.ERROR,[],e,...t)}}const logger=new Logger(!0===window.isLoggingEnabled?LOG_LEVEL.DEBUG:LOG_LEVEL.NONE),isNull=e=>null===e,isObject=e=>"object"==typeof e&&!isNull(e),isDigmaMessageEvent=e=>isObject(e.data)&&"digma"===e.data.type,OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: blue; font-weight: bold",FAILED_OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: red; font-weight: bold",INCOMING_MESSAGE_ACTION_ID_CONSOLE_STYLE="color: green; font-weight: bold",initializeDigmaMessageListener=e=>{const t=t=>{isDigmaMessageEvent(t)&&(logger.debug(`Message received: %c${t.data.action}\n%cRaw message: %O`,INCOMING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,t.data),updateState(t.data.action,t.data.payload),e.dispatch(t.timeStamp,t.data.action,t.data.payload))};return window.addEventListener("message",t),()=>{window.removeEventListener("message",t)}},sendMessage=e=>{switch(logger.debug(`Message to send: ${e.action}\nRaw message: %O`,e),updateState(e.action,e.payload),window.platform){case"VS Code":window.sendMessageToVSCode&&(window.sendMessageToVSCode(e),logger.debug(`Message has been successfully sent to VS Code: %c${e.action}\n%cRaw message: %O`,OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,e));break;case"JetBrains":if(window.cefQuery)return window.cefQuery({request:JSON.stringify(e),onSuccess(t){logger.debug(`Message has been successfully handled by JCEF: %c${e.action}\n%cRaw message: %O\nResponse: %O`,OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,e,t)},onFailure(t,r){logger.error(`Failed to handle the message by JCEF: %c${e.action}\n%cRaw message: %O\n%cError code: %d\nError message: %s`,FAILED_OUTGOING_MESSAGE_ACTION_ID_CONSOLE_STYLE,null,t,r)}});break;default:window.parent!==window&&window.parent.postMessage(e,"*")}},cancelMessage=e=>{window.cefQueryCancel&&window.cefQueryCancel(e)},flexbox="",layout="",margin="",padding="",position="",typography="",UI_ROOT_ID="jaeger-ui-root",root=createRoot(document.getElementById(UI_ROOT_ID));initializeDigmaMessageListener(dispatcher),window.sendMessageToDigma=sendMessage,window.cancelMessageToDigma=cancelMessage,"object"==typeof context$2&&null!==context$2?context$2.context((()=>{root.render(jsxRuntimeExports.jsx(BrowserRouter$1,{children:jsxRuntimeExports.jsx(JaegerUIApp,{})}))})):root.render(jsxRuntimeExports.jsx(BrowserRouter$1,{children:jsxRuntimeExports.jsx(JaegerUIApp,{})}))}}}))})();